diff --git a/.github/dockerfiles/Dockerfile.clang b/.github/dockerfiles/Dockerfile.clang index 66a50ef68f85..2fe7f110d354 100644 --- a/.github/dockerfiles/Dockerfile.clang +++ b/.github/dockerfiles/Dockerfile.clang @@ -9,7 +9,7 @@ ENV MAKEFLAGS=$MAKEFLAGS \ ERL_TOP=/buildroot/otp \ PATH=/otp/bin:/buildroot/otp/bin:$PATH -RUN sudo apt-get install -y clang +RUN sudo apt-get update && sudo apt-get install -y clang ARG ARCHIVE=./otp.tar.gz COPY $ARCHIVE /buildroot/otp.tar.gz diff --git a/.github/dockerfiles/Dockerfile.ubuntu-base b/.github/dockerfiles/Dockerfile.ubuntu-base index 4457d62a1fed..b583ed61760d 100644 --- a/.github/dockerfiles/Dockerfile.ubuntu-base +++ b/.github/dockerfiles/Dockerfile.ubuntu-base @@ -66,11 +66,12 @@ RUN apt-get install -y git curl && \ ARG EXTRA_LIBS="erlang erlang-doc" RUN apt-get install -y \ unixodbc odbc-postgresql postgresql ssh openssh-server groff-base gdb \ - tinyproxy bind9 nsd expect vsftpd python emacs nano vim \ - linux-tools-common linux-tools-generic linux-tools-`uname -r` jq \ + tinyproxy knot ldnsutils expect vsftpd python emacs nano vim \ + linux-tools-common linux-tools-generic jq \ xvfb libgl1-mesa-dri && \ for lib in ${EXTRA_LIBS}; do apt-get install -y ${lib}; done && \ if [ ! -f /etc/apache2/apache2.conf ]; then apt-get install -y apache2; fi +RUN apt-get install -y linux-tools-$(uname -r) || true ## We use tmux to test terminals RUN apt-get install -y libevent-dev libutf8proc-dev && \ diff --git a/.github/dockerfiles/init.sh b/.github/dockerfiles/init.sh index af19cc097f58..3033e3351d03 100755 --- a/.github/dockerfiles/init.sh +++ b/.github/dockerfiles/init.sh @@ -10,7 +10,8 @@ sudo /usr/sbin/sshd sudo service postgresql start -sudo -E bash -c "apt-get update && apt-get install -y linux-tools-common linux-tools-generic linux-tools-`uname -r`" +sudo -E bash -c "apt-get update && apt-get install -y linux-tools-common linux-tools-generic" +sudo -E bash -c "apt-get install -y linux-tools-$(uname-r)" || true sudo bash -c "Xvfb :99 -ac -screen 0 1920x1080x24 -nolisten tcp" & export DISPLAY=:99 diff --git a/.github/scripts/build-base-image.sh b/.github/scripts/build-base-image.sh index 7069ef391a00..5836efc30bd4 100755 --- a/.github/scripts/build-base-image.sh +++ b/.github/scripts/build-base-image.sh @@ -12,6 +12,10 @@ esac if [ -z "${BASE_TAG}" ]; then BASE_TAG=$(grep "ARG BASE=" ".github/dockerfiles/Dockerfile.${2}" | head -1 | tr '=' ' ' | awk '{print $3}') + ## If this script is used on pre 25 releases + if [ -z "${BASE_TAG}" ]; then + BASE_TAG=$(grep "FROM " ".github/dockerfiles/Dockerfile.${2}" | head -1 | awk '{print $2}') + fi fi case "${BASE_TAG}" in diff --git a/.github/scripts/restore-from-prebuilt.sh b/.github/scripts/restore-from-prebuilt.sh index 6e620bf558e4..9fff27c28379 100755 --- a/.github/scripts/restore-from-prebuilt.sh +++ b/.github/scripts/restore-from-prebuilt.sh @@ -33,7 +33,7 @@ if [ -z "${CONFIGURE}" ] || [ "${CONFIGURE}" = "false" ]; then fi ## If bootstrap has been changed, we do not use the cached .beam files -EXCLUDE_BOOTSTRAP="" +EXCLUDE_BOOTSTRAP=() if [ "${BOOTSTRAP}" = "true" ]; then find "${CACHE_DIR}/otp/lib" -name "*.beam" -exec rm -f {} \; else diff --git a/.github/scripts/sync-github-prs.es b/.github/scripts/sync-github-prs.es index 6560ae5e020e..b501376d8a4b 100755 --- a/.github/scripts/sync-github-prs.es +++ b/.github/scripts/sync-github-prs.es @@ -5,9 +5,14 @@ %% into the Target folder. It tries its best to not create too large %% files so that gh will still be happy with us when this is published to %% gh pages +-module('sync-github-prs'). -mode(compile). main([Repo, Target]) -> + + io:format("Updating PRs in ~ts, current PRs are: ~p~n", + [Target, filelib:wildcard(filename:join(Target,"*"))]), + AllOpenPrs = ghapi("gh api --paginate -X GET /repos/"++Repo++"/pulls -f state=open"), %% Download all updates, there really should not be any to download as they %% are updated when a PR is updated, but we do it anyways just to be safe. @@ -26,7 +31,10 @@ main([Repo, Target]) -> false -> cmd("rm -rf " ++ filename:join(Target,PRNo)) end - end, AllPrs); + end, AllPrs), + + purge_prs(Target); + main([Repo, Target, PRNo]) -> handle_prs(Repo, Target, [ghapi("gh api /repos/"++Repo++"/pulls/"++PRNo)]). @@ -68,6 +76,9 @@ handle_pr(_Repo, Target, io:format("Checking for ~ts~n", [filename:join(PRDir, Ident)]), case file:read_file_info(filename:join(PRDir, Ident)) of {error, enoent} -> + io:format("Did not find ~ts. Files in dir are: ~p~n", + [filename:join(PRDir, Ident), + filelib:wildcard(filename:join(PRDir, "*"))]), cmd("rm -rf "++PRDir), ok = file:make_dir(PRDir), ok = file:write_file(filename:join(PRDir,Ident), integer_to_list(Number)), @@ -154,6 +165,30 @@ purge_suite(SuiteFilePath) -> end, filelib:wildcard(filename:join(SuiteDir,"*.html"))) end. +%% If we have more the 10 GB of PR data we need to remove some otherwise +%% github actions will not work them. So we purge the largest files until we +%% reach the 10 GB limit. +purge_prs(Target) -> + %% Start by deleting all data from common_test test runs as they are huge. + os:cmd("rm -rf "++Target++"*/ct_logs/ct_run*/*common_test_test*/run*/log_private/ct_run*"), + Files = string:split(cmd("find " ++ Target ++ " -type f -a -name \! suite.log.html -exec du -a {} \+"),"\n",all), + SortedFiles = + lists:sort(fun([A|_]=As,[B|_]=Bs) -> + binary_to_integer(A) >= binary_to_integer(B) + end, [string:split(F,"\t") || F <- Files, F =/= <<>>]), + purge_prs(SortedFiles, Target, get_directory_size(Target)). +purge_prs(Files, Target, Size) when Size > 10_000_000_000 -> + {H,T} = lists:split(10, Files), + [file:write_file(File, io_lib:format("Large file (~p bytes) truncated", [Sz])) + || [Sz, File] <- H], + purge_prs(T, Target, get_directory_size(Target)); +purge_prs(_, _, _) -> + ok. + +get_directory_size(Dir) -> + binary_to_integer(hd(string:split(cmd("du -b --max-depth=0 " ++ Dir),"\t"))). + + ghapi(CMD) -> decode(cmd(CMD)). diff --git a/.github/scripts/sync-github-releases.sh b/.github/scripts/sync-github-releases.sh index b71d5b54a4eb..c5c6f97ed6d8 100755 --- a/.github/scripts/sync-github-releases.sh +++ b/.github/scripts/sync-github-releases.sh @@ -211,37 +211,40 @@ if [ ${UPLOADED} = true ]; then fi ## If no assets were uploaded, we try to build one instead -if [ ${UPLOADED} = false ] && [ ${#MISSING_PREBUILD[0]} != 0 ]; then - name="${MISSING_PREBUILD[0]}" - stripped_name=$(_strip_name "${name}") - git clone https://github.com/erlang/otp -b "${name}" otp_src - if [ -f otp_src/.github/scripts/init-pre-release.sh ]; then - (cd otp_src && ERL_TOP=$(pwd) .github/scripts/init-pre-release.sh) - else - (cd otp_src && ERL_TOP=$(pwd) ../.github/scripts/init-pre-release.sh) - fi - case ${stripped_name} in - 23.**) - ## The 32-bit dockerfile build the doc chunks which we want - ## to include in VSN >= 23. - docker build -t otp --build-arg ARCHIVE=otp_src/otp_src.tar.gz \ - -f otp_src/.github/dockerfiles/Dockerfile.32-bit . - ;; - *) - docker build -t otp --build-arg ARCHIVE=otp_src/otp_src.tar.gz \ - -f otp_src/.github/dockerfiles/Dockerfile.64-bit . - ;; - esac - docker run -v "$PWD":/github otp \ - "/github/scripts/build-otp-tar -o /github/otp_clean_src.tar.gz /github/otp_src.tar.gz -b /buildroot/otp/ /buildroot/otp.tar.gz" - .github/scripts/release-docs.sh - .github/scripts/create-artifacts.sh downloads "${name}" - - ## Delete any artifacts that we should not upload - for artifact in dowloads/*; do - if ! echo "${RI[@]}" | grep "${artifact}" 2> /dev/null > /dev/null; then - rm -f "downloads/${artifact}" +if [ ${UPLOADED} = false ]; then + for name in "${MISSING_PREBUILD[@]}"; do + stripped_name=$(_strip_name "${name}") + release=$(echo "${stripped_name}" | awk -F. '{print $1}') + if [[ $release < 24 ]]; then + ## Releases before 24 are no longer supported and are a bit different + ## from 24+ so I've removed support for them + echo "Skipping old release ${name}" + continue; + fi + echo "Building pre-build and docs for ${name}" + git clone https://github.com/erlang/otp -b "${name}" otp_src + if [ -f otp_src/.github/scripts/init-pre-release.sh ]; then + (cd otp_src && ERL_TOP=$(pwd) .github/scripts/init-pre-release.sh) + else + (cd otp_src && ERL_TOP=$(pwd) ../.github/scripts/init-pre-release.sh) fi + (cd otp_src && BASE_USE_CACHE=false GITHUB_OUTPUT=.tmp ../.github/scripts/build-base-image.sh maint-${release} 64-bit) + docker build -t otp --build-arg ARCHIVE=otp_src/otp_src.tar.gz \ + -f otp_src/.github/dockerfiles/Dockerfile.64-bit . + docker run -v "$PWD":/github otp \ + "/github/scripts/build-otp-tar -o /github/otp_clean_src.tar.gz /github/otp_src.tar.gz -b /buildroot/otp/ /buildroot/otp.tar.gz" + .github/scripts/release-docs.sh + .github/scripts/create-artifacts.sh downloads "${name}" + + ## Delete any artifacts that we should not upload + for artifact in dowloads/*; do + if ! echo "${RI[@]}" | grep "${artifact}" 2> /dev/null > /dev/null; then + rm -f "downloads/${artifact}" + fi + done + _upload_artifacts "${name}" + + ## We only update one release per call to sync-github-releases + break done - _upload_artifacts "${name}" fi diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index ddb0b2036115..fb3ef35df663 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -299,7 +299,12 @@ jobs: export ERTS_SKIP_DEPEND=true eval `./otp_build env_win32 x64` ./otp_build configure - if cat erts/CONF_INFO || cat lib/*/CONF_INFO || cat lib/*/SKIP || cat lib/SKIP-APPLICATIONS; then exit 1; fi + if cat erts/CONF_INFO || + grep -v "Static linking with OpenSSL 3.0" lib/*/CONF_INFO || + cat lib/*/SKIP || + cat lib/SKIP-APPLICATIONS; then + exit 1 + fi ./otp_build boot -a ./otp_build release -a cp /mnt/c/opt/local64/pgm/wxWidgets-${{ env.WXWIDGETS_VERSION }}/3rdparty/webview2/runtimes/win-x64/native/WebView2Loader.dll $ERL_TOP/release/win32/erts-*/bin/ @@ -384,6 +389,14 @@ jobs: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Cleanup GH Runner + run: | + ## Delete large files from runner to get more disk space + ## See https://github.com/actions/runner-images/issues/2840 + sudo rm -rf /usr/share/dotnet + sudo rm -rf /opt/ghc + sudo rm -rf "/usr/local/share/boost" + sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Cache BASE image uses: actions/cache@v3 if: matrix.type == 'clang' @@ -582,6 +595,7 @@ jobs: -e TEST_NEEDS_RELEASE=true -e "RELEASE_ROOT=/buildroot/otp/Erlang ∅⊤℞" \ -e EXTRA_ARGS="-ct_hooks cth_surefire [{path,\"/buildroot/otp/$DIR/make_test_dir/${{ matrix.type }}_junit.xml\"}]" \ -v "$PWD/make_test_dir:/buildroot/otp/$DIR/make_test_dir" \ + -v "$PWD/scripts:/buildroot/otp/scripts" \ otp "make TYPE=${TYPE} && make ${APP}_test TYPE=${TYPE}" ## Rename os_mon to debug for debug build if [ "$APP" != "${{ matrix.type }}" ]; then diff --git a/.github/workflows/sync-github-releases.yaml b/.github/workflows/sync-github-releases.yaml index 40dc72f6849d..86073c0b0085 100644 --- a/.github/workflows/sync-github-releases.yaml +++ b/.github/workflows/sync-github-releases.yaml @@ -32,12 +32,12 @@ jobs: concurrency: erlang.github.io-deploy runs-on: ubuntu-20.04 steps: + - uses: actions/checkout@v3 - uses: actions/checkout@v3 with: token: ${{ secrets.ERLANG_TOKEN }} repository: 'erlang/erlang.github.io' path: erlang.github.io - - uses: actions/checkout@v3 - name: Update PRs env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0d7588d35c88..120a14ae8a6c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -154,7 +154,7 @@ If you want to change the setting only for the Erlang mode, you can use a hook l ### After you have submitted your pull request * Follow the discussion following your pull request, answer questions, discuss and implement -changes requested by reviewers. +changes requested by reviewers. Smaller changes should be squashed into their associated commits. * If your pull requests introduces new public functions, they need to be tagged with the OTP release in which they _will_ appear in the `since` tag in the functions' documentation. diff --git a/HOWTO/DTRACE.md b/HOWTO/DTRACE.md index 28712dab8842..b60c66d8a066 100644 --- a/HOWTO/DTRACE.md +++ b/HOWTO/DTRACE.md @@ -52,5 +52,5 @@ DTrace probe specifications Probe specifications can be found in `erts/emulator/beam/erlang_dtrace.d`, and a few example scripts can be found under `lib/runtime_tools/examples/`. - [1]: http://www.erlang.org/euc/08/ + [1]: https://erlang.org/euc/08/ [$ERL_TOP/HOWTO/SYSTEMTAP.md]: SYSTEMTAP.md diff --git a/bootstrap/bin/no_dot_erlang.boot b/bootstrap/bin/no_dot_erlang.boot index 40560ceae327..dd3b4c71434e 100644 Binary files a/bootstrap/bin/no_dot_erlang.boot and b/bootstrap/bin/no_dot_erlang.boot differ diff --git a/bootstrap/bin/start.boot b/bootstrap/bin/start.boot index 40560ceae327..dd3b4c71434e 100644 Binary files a/bootstrap/bin/start.boot and b/bootstrap/bin/start.boot differ diff --git a/bootstrap/bin/start_clean.boot b/bootstrap/bin/start_clean.boot index 40560ceae327..dd3b4c71434e 100644 Binary files a/bootstrap/bin/start_clean.boot and b/bootstrap/bin/start_clean.boot differ diff --git a/bootstrap/lib/compiler/ebin/beam_asm.beam b/bootstrap/lib/compiler/ebin/beam_asm.beam index e867a09433b3..839895e082f6 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_asm.beam and b/bootstrap/lib/compiler/ebin/beam_asm.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_block.beam b/bootstrap/lib/compiler/ebin/beam_block.beam index 6691ba95f84c..adf08ad7208d 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_block.beam and b/bootstrap/lib/compiler/ebin/beam_block.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_bounds.beam b/bootstrap/lib/compiler/ebin/beam_bounds.beam index 8fa383080ab0..b1f8941affc5 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_bounds.beam and b/bootstrap/lib/compiler/ebin/beam_bounds.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_call_types.beam b/bootstrap/lib/compiler/ebin/beam_call_types.beam index d0447aa58297..17630a8432af 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_call_types.beam and b/bootstrap/lib/compiler/ebin/beam_call_types.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_clean.beam b/bootstrap/lib/compiler/ebin/beam_clean.beam index b15e63e20681..2379115a48db 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_clean.beam and b/bootstrap/lib/compiler/ebin/beam_clean.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_core_to_ssa.beam b/bootstrap/lib/compiler/ebin/beam_core_to_ssa.beam new file mode 100644 index 000000000000..f1d1b936ec02 Binary files /dev/null and b/bootstrap/lib/compiler/ebin/beam_core_to_ssa.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_disasm.beam b/bootstrap/lib/compiler/ebin/beam_disasm.beam index 342207cade8a..886851b0869e 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_disasm.beam and b/bootstrap/lib/compiler/ebin/beam_disasm.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_jump.beam b/bootstrap/lib/compiler/ebin/beam_jump.beam index a3ec46fb9899..558708951245 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_jump.beam and b/bootstrap/lib/compiler/ebin/beam_jump.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_kernel_to_ssa.beam b/bootstrap/lib/compiler/ebin/beam_kernel_to_ssa.beam deleted file mode 100644 index aa94d58c9330..000000000000 Binary files a/bootstrap/lib/compiler/ebin/beam_kernel_to_ssa.beam and /dev/null differ diff --git a/bootstrap/lib/compiler/ebin/beam_listing.beam b/bootstrap/lib/compiler/ebin/beam_listing.beam index b2c3a859b027..357d13347bd7 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_listing.beam and b/bootstrap/lib/compiler/ebin/beam_listing.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_opcodes.beam b/bootstrap/lib/compiler/ebin/beam_opcodes.beam index 3479f1b6f9b1..0dd64db55bee 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_opcodes.beam and b/bootstrap/lib/compiler/ebin/beam_opcodes.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa.beam b/bootstrap/lib/compiler/ebin/beam_ssa.beam index d035afa51794..7e6428c9502f 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa.beam and b/bootstrap/lib/compiler/ebin/beam_ssa.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_alias.beam b/bootstrap/lib/compiler/ebin/beam_ssa_alias.beam index 6b596a5dd8f1..ece709f981ad 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_alias.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_alias.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_bc_size.beam b/bootstrap/lib/compiler/ebin/beam_ssa_bc_size.beam index bd51e1ee7995..8014e3e24139 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_bc_size.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_bc_size.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_bool.beam b/bootstrap/lib/compiler/ebin/beam_ssa_bool.beam index fafa184c9523..7a547bf973bc 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_bool.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_bool.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_bsm.beam b/bootstrap/lib/compiler/ebin/beam_ssa_bsm.beam index 248c6936a496..6e9ba7c86271 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_bsm.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_bsm.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_check.beam b/bootstrap/lib/compiler/ebin/beam_ssa_check.beam index a325f0795fef..5c40632483bc 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_check.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_check.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_codegen.beam b/bootstrap/lib/compiler/ebin/beam_ssa_codegen.beam index 2356f5fe9aa4..716d6fd15994 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_codegen.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_codegen.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_dead.beam b/bootstrap/lib/compiler/ebin/beam_ssa_dead.beam index 9f66da455f0d..9848bf4dec91 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_dead.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_dead.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_lint.beam b/bootstrap/lib/compiler/ebin/beam_ssa_lint.beam index fbbe42f4c75f..1fbd08ded684 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_lint.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_lint.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_opt.beam b/bootstrap/lib/compiler/ebin/beam_ssa_opt.beam index 3a8cdbc27385..7c2373ee650a 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_opt.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_opt.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_pp.beam b/bootstrap/lib/compiler/ebin/beam_ssa_pp.beam index bd09f8bd51e3..c8ac4a4d2f15 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_pp.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_pp.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_pre_codegen.beam b/bootstrap/lib/compiler/ebin/beam_ssa_pre_codegen.beam index 25455929a622..38c4825dcff8 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_pre_codegen.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_pre_codegen.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_private_append.beam b/bootstrap/lib/compiler/ebin/beam_ssa_private_append.beam index 7b90707e9e19..b9300babe64e 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_private_append.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_private_append.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_recv.beam b/bootstrap/lib/compiler/ebin/beam_ssa_recv.beam index 23459e448de7..749b65147ff8 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_recv.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_recv.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_throw.beam b/bootstrap/lib/compiler/ebin/beam_ssa_throw.beam index 121154129f1a..1cc337d72f1d 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_throw.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_throw.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_ssa_type.beam b/bootstrap/lib/compiler/ebin/beam_ssa_type.beam index af9c0d86d914..6b4fb20d84ba 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_ssa_type.beam and b/bootstrap/lib/compiler/ebin/beam_ssa_type.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_types.beam b/bootstrap/lib/compiler/ebin/beam_types.beam index 577c4afeb8cb..7199eb4a8891 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_types.beam and b/bootstrap/lib/compiler/ebin/beam_types.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_utils.beam b/bootstrap/lib/compiler/ebin/beam_utils.beam index 76edd9e837fa..79f0668de39f 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_utils.beam and b/bootstrap/lib/compiler/ebin/beam_utils.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_validator.beam b/bootstrap/lib/compiler/ebin/beam_validator.beam index 53f0ccec2c75..d0b4f226abcb 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_validator.beam and b/bootstrap/lib/compiler/ebin/beam_validator.beam differ diff --git a/bootstrap/lib/compiler/ebin/beam_z.beam b/bootstrap/lib/compiler/ebin/beam_z.beam index 2350b5e3c041..f08a7d0a33e8 100644 Binary files a/bootstrap/lib/compiler/ebin/beam_z.beam and b/bootstrap/lib/compiler/ebin/beam_z.beam differ diff --git a/bootstrap/lib/compiler/ebin/cerl.beam b/bootstrap/lib/compiler/ebin/cerl.beam index a493542a76d5..3636ba7dcde5 100644 Binary files a/bootstrap/lib/compiler/ebin/cerl.beam and b/bootstrap/lib/compiler/ebin/cerl.beam differ diff --git a/bootstrap/lib/compiler/ebin/cerl_inline.beam b/bootstrap/lib/compiler/ebin/cerl_inline.beam index b56d907bf848..fa0a9763e627 100644 Binary files a/bootstrap/lib/compiler/ebin/cerl_inline.beam and b/bootstrap/lib/compiler/ebin/cerl_inline.beam differ diff --git a/bootstrap/lib/compiler/ebin/cerl_trees.beam b/bootstrap/lib/compiler/ebin/cerl_trees.beam index e25e3c7e8112..961ede5c2078 100644 Binary files a/bootstrap/lib/compiler/ebin/cerl_trees.beam and b/bootstrap/lib/compiler/ebin/cerl_trees.beam differ diff --git a/bootstrap/lib/compiler/ebin/compile.beam b/bootstrap/lib/compiler/ebin/compile.beam index 23fcc0a4f948..89d9948223d8 100644 Binary files a/bootstrap/lib/compiler/ebin/compile.beam and b/bootstrap/lib/compiler/ebin/compile.beam differ diff --git a/bootstrap/lib/compiler/ebin/compiler.app b/bootstrap/lib/compiler/ebin/compiler.app index ea2723742d17..b4051ad3a770 100644 --- a/bootstrap/lib/compiler/ebin/compiler.app +++ b/bootstrap/lib/compiler/ebin/compiler.app @@ -1,7 +1,7 @@ % This is an -*- erlang -*- file. %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2022. All Rights Reserved. +%% Copyright Ericsson AB 1997-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ {application, compiler, [{description, "ERTS CXC 138 10"}, - {vsn, "8.2.2"}, + {vsn, "8.3.2"}, {modules, [ beam_a, beam_asm, @@ -27,24 +27,27 @@ beam_block, beam_call_types, beam_clean, + beam_core_to_ssa, beam_dict, beam_digraph, beam_disasm, beam_flatten, beam_jump, - beam_kernel_to_ssa, beam_listing, beam_opcodes, beam_ssa, + beam_ssa_alias, beam_ssa_bc_size, beam_ssa_bool, beam_ssa_bsm, + beam_ssa_check, beam_ssa_codegen, beam_ssa_dead, beam_ssa_lint, beam_ssa_opt, beam_ssa_pp, beam_ssa_pre_codegen, + beam_ssa_private_append, beam_ssa_recv, beam_ssa_share, beam_ssa_throw, @@ -74,12 +77,10 @@ sys_core_prepare, sys_messages, sys_pre_attributes, - v3_core, - v3_kernel, - v3_kernel_pp + v3_core ]}, {registered, []}, {applications, [kernel, stdlib]}, {env, []}, - {runtime_dependencies, ["stdlib-4.0","kernel-8.4","erts-13.0", + {runtime_dependencies, ["stdlib-5.0","kernel-8.4","erts-13.0", "crypto-5.1"]}]}. diff --git a/bootstrap/lib/compiler/ebin/core_pp.beam b/bootstrap/lib/compiler/ebin/core_pp.beam index 44236ea7432c..0ea9976936b0 100644 Binary files a/bootstrap/lib/compiler/ebin/core_pp.beam and b/bootstrap/lib/compiler/ebin/core_pp.beam differ diff --git a/bootstrap/lib/compiler/ebin/core_scan.beam b/bootstrap/lib/compiler/ebin/core_scan.beam index f8e0ba5e343b..d49ba4c3f4d3 100644 Binary files a/bootstrap/lib/compiler/ebin/core_scan.beam and b/bootstrap/lib/compiler/ebin/core_scan.beam differ diff --git a/bootstrap/lib/compiler/ebin/erl_bifs.beam b/bootstrap/lib/compiler/ebin/erl_bifs.beam index ab5659364f6b..b17e57fbeeb3 100644 Binary files a/bootstrap/lib/compiler/ebin/erl_bifs.beam and b/bootstrap/lib/compiler/ebin/erl_bifs.beam differ diff --git a/bootstrap/lib/compiler/ebin/rec_env.beam b/bootstrap/lib/compiler/ebin/rec_env.beam index 32f463d79399..bddf8e7b775c 100644 Binary files a/bootstrap/lib/compiler/ebin/rec_env.beam and b/bootstrap/lib/compiler/ebin/rec_env.beam differ diff --git a/bootstrap/lib/compiler/ebin/sys_core_fold.beam b/bootstrap/lib/compiler/ebin/sys_core_fold.beam index 84f3c133ad33..d2f73af14933 100644 Binary files a/bootstrap/lib/compiler/ebin/sys_core_fold.beam and b/bootstrap/lib/compiler/ebin/sys_core_fold.beam differ diff --git a/bootstrap/lib/compiler/ebin/sys_core_inline.beam b/bootstrap/lib/compiler/ebin/sys_core_inline.beam index 9311b2b0806e..5ecd606b9f84 100644 Binary files a/bootstrap/lib/compiler/ebin/sys_core_inline.beam and b/bootstrap/lib/compiler/ebin/sys_core_inline.beam differ diff --git a/bootstrap/lib/compiler/ebin/sys_messages.beam b/bootstrap/lib/compiler/ebin/sys_messages.beam index e9a2d9480efc..d9c4f68a401e 100644 Binary files a/bootstrap/lib/compiler/ebin/sys_messages.beam and b/bootstrap/lib/compiler/ebin/sys_messages.beam differ diff --git a/bootstrap/lib/compiler/ebin/v3_core.beam b/bootstrap/lib/compiler/ebin/v3_core.beam index 8480cb89dac5..06d32b178c8b 100644 Binary files a/bootstrap/lib/compiler/ebin/v3_core.beam and b/bootstrap/lib/compiler/ebin/v3_core.beam differ diff --git a/bootstrap/lib/compiler/ebin/v3_kernel.beam b/bootstrap/lib/compiler/ebin/v3_kernel.beam deleted file mode 100644 index 55f97f87599a..000000000000 Binary files a/bootstrap/lib/compiler/ebin/v3_kernel.beam and /dev/null differ diff --git a/bootstrap/lib/compiler/ebin/v3_kernel_pp.beam b/bootstrap/lib/compiler/ebin/v3_kernel_pp.beam deleted file mode 100644 index c651e3f1105d..000000000000 Binary files a/bootstrap/lib/compiler/ebin/v3_kernel_pp.beam and /dev/null differ diff --git a/bootstrap/lib/kernel/ebin/application.beam b/bootstrap/lib/kernel/ebin/application.beam index 981ab53cb7bb..0c3060a15586 100644 Binary files a/bootstrap/lib/kernel/ebin/application.beam and b/bootstrap/lib/kernel/ebin/application.beam differ diff --git a/bootstrap/lib/kernel/ebin/application_controller.beam b/bootstrap/lib/kernel/ebin/application_controller.beam index d98f199dbbed..6ea3ba586419 100644 Binary files a/bootstrap/lib/kernel/ebin/application_controller.beam and b/bootstrap/lib/kernel/ebin/application_controller.beam differ diff --git a/bootstrap/lib/kernel/ebin/auth.beam b/bootstrap/lib/kernel/ebin/auth.beam index 4b92dd5f894a..737f355ba6a3 100644 Binary files a/bootstrap/lib/kernel/ebin/auth.beam and b/bootstrap/lib/kernel/ebin/auth.beam differ diff --git a/bootstrap/lib/kernel/ebin/code.beam b/bootstrap/lib/kernel/ebin/code.beam index 33387493ae79..b084b941e5ff 100644 Binary files a/bootstrap/lib/kernel/ebin/code.beam and b/bootstrap/lib/kernel/ebin/code.beam differ diff --git a/bootstrap/lib/kernel/ebin/disk_log.beam b/bootstrap/lib/kernel/ebin/disk_log.beam index 8be37cdf2636..5af893b557ed 100644 Binary files a/bootstrap/lib/kernel/ebin/disk_log.beam and b/bootstrap/lib/kernel/ebin/disk_log.beam differ diff --git a/bootstrap/lib/kernel/ebin/disk_log_1.beam b/bootstrap/lib/kernel/ebin/disk_log_1.beam index 0f1a6fc16d2e..bc729535f4c3 100644 Binary files a/bootstrap/lib/kernel/ebin/disk_log_1.beam and b/bootstrap/lib/kernel/ebin/disk_log_1.beam differ diff --git a/bootstrap/lib/kernel/ebin/disk_log_sup.beam b/bootstrap/lib/kernel/ebin/disk_log_sup.beam index b76cae08a7c4..f01e61cbddf0 100644 Binary files a/bootstrap/lib/kernel/ebin/disk_log_sup.beam and b/bootstrap/lib/kernel/ebin/disk_log_sup.beam differ diff --git a/bootstrap/lib/kernel/ebin/dist_ac.beam b/bootstrap/lib/kernel/ebin/dist_ac.beam index a1c60611a93a..44e4bb784c33 100644 Binary files a/bootstrap/lib/kernel/ebin/dist_ac.beam and b/bootstrap/lib/kernel/ebin/dist_ac.beam differ diff --git a/bootstrap/lib/kernel/ebin/dist_util.beam b/bootstrap/lib/kernel/ebin/dist_util.beam index 625e480c1d9e..abb099c0ca01 100644 Binary files a/bootstrap/lib/kernel/ebin/dist_util.beam and b/bootstrap/lib/kernel/ebin/dist_util.beam differ diff --git a/bootstrap/lib/kernel/ebin/erl_erts_errors.beam b/bootstrap/lib/kernel/ebin/erl_erts_errors.beam index cd95535e0676..e7adb3aa8158 100644 Binary files a/bootstrap/lib/kernel/ebin/erl_erts_errors.beam and b/bootstrap/lib/kernel/ebin/erl_erts_errors.beam differ diff --git a/bootstrap/lib/kernel/ebin/erl_signal_handler.beam b/bootstrap/lib/kernel/ebin/erl_signal_handler.beam index 580524d38683..7ec0998d0c24 100644 Binary files a/bootstrap/lib/kernel/ebin/erl_signal_handler.beam and b/bootstrap/lib/kernel/ebin/erl_signal_handler.beam differ diff --git a/bootstrap/lib/kernel/ebin/erpc.beam b/bootstrap/lib/kernel/ebin/erpc.beam index 728b1586ba2e..3b6e2ac31c48 100644 Binary files a/bootstrap/lib/kernel/ebin/erpc.beam and b/bootstrap/lib/kernel/ebin/erpc.beam differ diff --git a/bootstrap/lib/kernel/ebin/error_logger.beam b/bootstrap/lib/kernel/ebin/error_logger.beam index 585416223ad9..1918cade1ea5 100644 Binary files a/bootstrap/lib/kernel/ebin/error_logger.beam and b/bootstrap/lib/kernel/ebin/error_logger.beam differ diff --git a/bootstrap/lib/kernel/ebin/erts_debug.beam b/bootstrap/lib/kernel/ebin/erts_debug.beam index 57d0012d5571..560ba7b86517 100644 Binary files a/bootstrap/lib/kernel/ebin/erts_debug.beam and b/bootstrap/lib/kernel/ebin/erts_debug.beam differ diff --git a/bootstrap/lib/kernel/ebin/file.beam b/bootstrap/lib/kernel/ebin/file.beam index 0fa22193897d..f1699210418c 100644 Binary files a/bootstrap/lib/kernel/ebin/file.beam and b/bootstrap/lib/kernel/ebin/file.beam differ diff --git a/bootstrap/lib/kernel/ebin/file_io_server.beam b/bootstrap/lib/kernel/ebin/file_io_server.beam index ee3974e592ec..14650d9d049b 100644 Binary files a/bootstrap/lib/kernel/ebin/file_io_server.beam and b/bootstrap/lib/kernel/ebin/file_io_server.beam differ diff --git a/bootstrap/lib/kernel/ebin/gen_tcp_socket.beam b/bootstrap/lib/kernel/ebin/gen_tcp_socket.beam index b8b179afabe7..85fcde7e9ae9 100644 Binary files a/bootstrap/lib/kernel/ebin/gen_tcp_socket.beam and b/bootstrap/lib/kernel/ebin/gen_tcp_socket.beam differ diff --git a/bootstrap/lib/kernel/ebin/gen_udp_socket.beam b/bootstrap/lib/kernel/ebin/gen_udp_socket.beam index 21724c40d6b3..26a60ca6491a 100644 Binary files a/bootstrap/lib/kernel/ebin/gen_udp_socket.beam and b/bootstrap/lib/kernel/ebin/gen_udp_socket.beam differ diff --git a/bootstrap/lib/kernel/ebin/global.beam b/bootstrap/lib/kernel/ebin/global.beam index 2d716875db79..cbd5ec5a3f66 100644 Binary files a/bootstrap/lib/kernel/ebin/global.beam and b/bootstrap/lib/kernel/ebin/global.beam differ diff --git a/bootstrap/lib/kernel/ebin/global_group.beam b/bootstrap/lib/kernel/ebin/global_group.beam index 6433e5dceaba..29bbb5d0a4fd 100644 Binary files a/bootstrap/lib/kernel/ebin/global_group.beam and b/bootstrap/lib/kernel/ebin/global_group.beam differ diff --git a/bootstrap/lib/kernel/ebin/group.beam b/bootstrap/lib/kernel/ebin/group.beam index 73c53767c409..9aa0049d6470 100644 Binary files a/bootstrap/lib/kernel/ebin/group.beam and b/bootstrap/lib/kernel/ebin/group.beam differ diff --git a/bootstrap/lib/kernel/ebin/group_history.beam b/bootstrap/lib/kernel/ebin/group_history.beam index 480c0ac288ed..3e10fcb018a4 100644 Binary files a/bootstrap/lib/kernel/ebin/group_history.beam and b/bootstrap/lib/kernel/ebin/group_history.beam differ diff --git a/bootstrap/lib/kernel/ebin/inet.beam b/bootstrap/lib/kernel/ebin/inet.beam index 0ec9cebcd297..9f1bfdee7b49 100644 Binary files a/bootstrap/lib/kernel/ebin/inet.beam and b/bootstrap/lib/kernel/ebin/inet.beam differ diff --git a/bootstrap/lib/kernel/ebin/inet6_tcp.beam b/bootstrap/lib/kernel/ebin/inet6_tcp.beam index 8028e8a12b15..7e5d64136566 100644 Binary files a/bootstrap/lib/kernel/ebin/inet6_tcp.beam and b/bootstrap/lib/kernel/ebin/inet6_tcp.beam differ diff --git a/bootstrap/lib/kernel/ebin/inet6_tcp_dist.beam b/bootstrap/lib/kernel/ebin/inet6_tcp_dist.beam index 5f9df1a4d373..4fe0ae27508b 100644 Binary files a/bootstrap/lib/kernel/ebin/inet6_tcp_dist.beam and b/bootstrap/lib/kernel/ebin/inet6_tcp_dist.beam differ diff --git a/bootstrap/lib/kernel/ebin/inet6_udp.beam b/bootstrap/lib/kernel/ebin/inet6_udp.beam index 63b9b5f1eeb4..20ec8ff7f250 100644 Binary files a/bootstrap/lib/kernel/ebin/inet6_udp.beam and b/bootstrap/lib/kernel/ebin/inet6_udp.beam differ diff --git a/bootstrap/lib/kernel/ebin/inet_db.beam b/bootstrap/lib/kernel/ebin/inet_db.beam index 5682e597d280..0aef4f4ac188 100644 Binary files a/bootstrap/lib/kernel/ebin/inet_db.beam and b/bootstrap/lib/kernel/ebin/inet_db.beam differ diff --git a/bootstrap/lib/kernel/ebin/inet_dns.beam b/bootstrap/lib/kernel/ebin/inet_dns.beam index 4dc91fa511dd..69b85c1263c5 100644 Binary files a/bootstrap/lib/kernel/ebin/inet_dns.beam and b/bootstrap/lib/kernel/ebin/inet_dns.beam differ diff --git a/bootstrap/lib/kernel/ebin/inet_dns_tsig.beam b/bootstrap/lib/kernel/ebin/inet_dns_tsig.beam new file mode 100644 index 000000000000..5582f9621d29 Binary files /dev/null and b/bootstrap/lib/kernel/ebin/inet_dns_tsig.beam differ diff --git a/bootstrap/lib/kernel/ebin/inet_epmd_dist.beam b/bootstrap/lib/kernel/ebin/inet_epmd_dist.beam index 2389b4543cb3..1c0e8711df6c 100644 Binary files a/bootstrap/lib/kernel/ebin/inet_epmd_dist.beam and b/bootstrap/lib/kernel/ebin/inet_epmd_dist.beam differ diff --git a/bootstrap/lib/kernel/ebin/inet_epmd_socket.beam b/bootstrap/lib/kernel/ebin/inet_epmd_socket.beam index e5f40ed4d462..c0605befc040 100644 Binary files a/bootstrap/lib/kernel/ebin/inet_epmd_socket.beam and b/bootstrap/lib/kernel/ebin/inet_epmd_socket.beam differ diff --git a/bootstrap/lib/kernel/ebin/inet_parse.beam b/bootstrap/lib/kernel/ebin/inet_parse.beam index 2f87733a0d77..ce17b43ad3ad 100644 Binary files a/bootstrap/lib/kernel/ebin/inet_parse.beam and b/bootstrap/lib/kernel/ebin/inet_parse.beam differ diff --git a/bootstrap/lib/kernel/ebin/inet_res.beam b/bootstrap/lib/kernel/ebin/inet_res.beam index 6a537bbbe915..ac35d0548543 100644 Binary files a/bootstrap/lib/kernel/ebin/inet_res.beam and b/bootstrap/lib/kernel/ebin/inet_res.beam differ diff --git a/bootstrap/lib/kernel/ebin/inet_tcp.beam b/bootstrap/lib/kernel/ebin/inet_tcp.beam index 681c66f40fa9..22e43499dd57 100644 Binary files a/bootstrap/lib/kernel/ebin/inet_tcp.beam and b/bootstrap/lib/kernel/ebin/inet_tcp.beam differ diff --git a/bootstrap/lib/kernel/ebin/inet_udp.beam b/bootstrap/lib/kernel/ebin/inet_udp.beam index 51ff7c2b54a4..866a601a7a07 100644 Binary files a/bootstrap/lib/kernel/ebin/inet_udp.beam and b/bootstrap/lib/kernel/ebin/inet_udp.beam differ diff --git a/bootstrap/lib/kernel/ebin/kernel.app b/bootstrap/lib/kernel/ebin/kernel.app index ce100930fb0f..75824623afec 100644 --- a/bootstrap/lib/kernel/ebin/kernel.app +++ b/bootstrap/lib/kernel/ebin/kernel.app @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1996-2022. All Rights Reserved. +%% Copyright Ericsson AB 1996-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -22,7 +22,7 @@ {application, kernel, [ {description, "ERTS CXC 138 10"}, - {vsn, "8.5.2"}, + {vsn, "9.0.2"}, {modules, [application, application_controller, application_master, @@ -55,6 +55,8 @@ inet6_udp, inet6_sctp, inet_config, + inet_epmd_dist, + inet_epmd_socket, inet_hosts, inet_gethost_native, inet_tcp_dist, @@ -102,6 +104,7 @@ inet, inet_db, inet_dns, + inet_dns_tsig, inet_parse, inet_res, inet_tcp, @@ -158,7 +161,7 @@ {shell_docs_ansi,auto} ]}, {mod, {kernel, []}}, - {runtime_dependencies, ["erts-@OTP-18248@", "stdlib-@OTP-17932@", + {runtime_dependencies, ["erts-14.0", "stdlib-5.0", "sasl-3.0", "crypto-5.0"]} ] }. diff --git a/bootstrap/lib/kernel/ebin/local_tcp.beam b/bootstrap/lib/kernel/ebin/local_tcp.beam index 0c81fe3f94e2..0903b8b65533 100644 Binary files a/bootstrap/lib/kernel/ebin/local_tcp.beam and b/bootstrap/lib/kernel/ebin/local_tcp.beam differ diff --git a/bootstrap/lib/kernel/ebin/local_udp.beam b/bootstrap/lib/kernel/ebin/local_udp.beam index 647413b3c907..4991233152fa 100644 Binary files a/bootstrap/lib/kernel/ebin/local_udp.beam and b/bootstrap/lib/kernel/ebin/local_udp.beam differ diff --git a/bootstrap/lib/kernel/ebin/logger_olp.beam b/bootstrap/lib/kernel/ebin/logger_olp.beam index f6b3d9add4c5..360ec62c5461 100644 Binary files a/bootstrap/lib/kernel/ebin/logger_olp.beam and b/bootstrap/lib/kernel/ebin/logger_olp.beam differ diff --git a/bootstrap/lib/kernel/ebin/logger_sup.beam b/bootstrap/lib/kernel/ebin/logger_sup.beam index 1acbd3ab7a23..370f83585987 100644 Binary files a/bootstrap/lib/kernel/ebin/logger_sup.beam and b/bootstrap/lib/kernel/ebin/logger_sup.beam differ diff --git a/bootstrap/lib/kernel/ebin/net_kernel.beam b/bootstrap/lib/kernel/ebin/net_kernel.beam index d21cab3e2a77..c68df327fecb 100644 Binary files a/bootstrap/lib/kernel/ebin/net_kernel.beam and b/bootstrap/lib/kernel/ebin/net_kernel.beam differ diff --git a/bootstrap/lib/kernel/ebin/pg2.beam b/bootstrap/lib/kernel/ebin/pg2.beam index a9533af680d7..328834b2aee0 100644 Binary files a/bootstrap/lib/kernel/ebin/pg2.beam and b/bootstrap/lib/kernel/ebin/pg2.beam differ diff --git a/bootstrap/lib/kernel/ebin/prim_tty.beam b/bootstrap/lib/kernel/ebin/prim_tty.beam index 24237adab26c..8dc61eb60db7 100644 Binary files a/bootstrap/lib/kernel/ebin/prim_tty.beam and b/bootstrap/lib/kernel/ebin/prim_tty.beam differ diff --git a/bootstrap/lib/kernel/ebin/raw_file_io_deflate.beam b/bootstrap/lib/kernel/ebin/raw_file_io_deflate.beam index 8d4bb23f4dfb..b7a5aceeb989 100644 Binary files a/bootstrap/lib/kernel/ebin/raw_file_io_deflate.beam and b/bootstrap/lib/kernel/ebin/raw_file_io_deflate.beam differ diff --git a/bootstrap/lib/kernel/ebin/socket.beam b/bootstrap/lib/kernel/ebin/socket.beam index 0122be0f93f1..4b1063641985 100644 Binary files a/bootstrap/lib/kernel/ebin/socket.beam and b/bootstrap/lib/kernel/ebin/socket.beam differ diff --git a/bootstrap/lib/kernel/ebin/user_drv.beam b/bootstrap/lib/kernel/ebin/user_drv.beam index 6ddb0fd0ba16..f2d93bf66090 100644 Binary files a/bootstrap/lib/kernel/ebin/user_drv.beam and b/bootstrap/lib/kernel/ebin/user_drv.beam differ diff --git a/bootstrap/lib/kernel/ebin/user_sup.beam b/bootstrap/lib/kernel/ebin/user_sup.beam index 1d4afba0dc37..3081f19f25d7 100644 Binary files a/bootstrap/lib/kernel/ebin/user_sup.beam and b/bootstrap/lib/kernel/ebin/user_sup.beam differ diff --git a/bootstrap/lib/stdlib/ebin/argparse.beam b/bootstrap/lib/stdlib/ebin/argparse.beam new file mode 100644 index 000000000000..60e604be6560 Binary files /dev/null and b/bootstrap/lib/stdlib/ebin/argparse.beam differ diff --git a/bootstrap/lib/stdlib/ebin/array.beam b/bootstrap/lib/stdlib/ebin/array.beam index b1eafbbac344..a7f4d46321ec 100644 Binary files a/bootstrap/lib/stdlib/ebin/array.beam and b/bootstrap/lib/stdlib/ebin/array.beam differ diff --git a/bootstrap/lib/stdlib/ebin/base64.beam b/bootstrap/lib/stdlib/ebin/base64.beam index 2c1152c8cfdb..739abd7f1a0b 100644 Binary files a/bootstrap/lib/stdlib/ebin/base64.beam and b/bootstrap/lib/stdlib/ebin/base64.beam differ diff --git a/bootstrap/lib/stdlib/ebin/beam_lib.beam b/bootstrap/lib/stdlib/ebin/beam_lib.beam index 54d339ca093f..47213e9243a6 100644 Binary files a/bootstrap/lib/stdlib/ebin/beam_lib.beam and b/bootstrap/lib/stdlib/ebin/beam_lib.beam differ diff --git a/bootstrap/lib/stdlib/ebin/binary.beam b/bootstrap/lib/stdlib/ebin/binary.beam index 7df0975cf221..fddd1185aa2c 100644 Binary files a/bootstrap/lib/stdlib/ebin/binary.beam and b/bootstrap/lib/stdlib/ebin/binary.beam differ diff --git a/bootstrap/lib/stdlib/ebin/calendar.beam b/bootstrap/lib/stdlib/ebin/calendar.beam index 6158eb9dc055..4b4146bde255 100644 Binary files a/bootstrap/lib/stdlib/ebin/calendar.beam and b/bootstrap/lib/stdlib/ebin/calendar.beam differ diff --git a/bootstrap/lib/stdlib/ebin/dets.beam b/bootstrap/lib/stdlib/ebin/dets.beam index 336e92f1678e..dfadde9f9ad2 100644 Binary files a/bootstrap/lib/stdlib/ebin/dets.beam and b/bootstrap/lib/stdlib/ebin/dets.beam differ diff --git a/bootstrap/lib/stdlib/ebin/dets_sup.beam b/bootstrap/lib/stdlib/ebin/dets_sup.beam index 660f51eba42e..40f72e0db8b6 100644 Binary files a/bootstrap/lib/stdlib/ebin/dets_sup.beam and b/bootstrap/lib/stdlib/ebin/dets_sup.beam differ diff --git a/bootstrap/lib/stdlib/ebin/dets_utils.beam b/bootstrap/lib/stdlib/ebin/dets_utils.beam index ffdffb9fc5b8..2f3a6c697500 100644 Binary files a/bootstrap/lib/stdlib/ebin/dets_utils.beam and b/bootstrap/lib/stdlib/ebin/dets_utils.beam differ diff --git a/bootstrap/lib/stdlib/ebin/dets_v9.beam b/bootstrap/lib/stdlib/ebin/dets_v9.beam index 5658793668b0..6b2fa21094af 100644 Binary files a/bootstrap/lib/stdlib/ebin/dets_v9.beam and b/bootstrap/lib/stdlib/ebin/dets_v9.beam differ diff --git a/bootstrap/lib/stdlib/ebin/dict.beam b/bootstrap/lib/stdlib/ebin/dict.beam index c74b71395c5f..82e1601a2256 100644 Binary files a/bootstrap/lib/stdlib/ebin/dict.beam and b/bootstrap/lib/stdlib/ebin/dict.beam differ diff --git a/bootstrap/lib/stdlib/ebin/edlin.beam b/bootstrap/lib/stdlib/ebin/edlin.beam index 325ecf45ef91..77eb241b7666 100644 Binary files a/bootstrap/lib/stdlib/ebin/edlin.beam and b/bootstrap/lib/stdlib/ebin/edlin.beam differ diff --git a/bootstrap/lib/stdlib/ebin/edlin_expand.beam b/bootstrap/lib/stdlib/ebin/edlin_expand.beam index bf7d093eed48..4dc492ac30f0 100644 Binary files a/bootstrap/lib/stdlib/ebin/edlin_expand.beam and b/bootstrap/lib/stdlib/ebin/edlin_expand.beam differ diff --git a/bootstrap/lib/stdlib/ebin/edlin_type_suggestion.beam b/bootstrap/lib/stdlib/ebin/edlin_type_suggestion.beam index dd4a8101a0d9..50670265b620 100644 Binary files a/bootstrap/lib/stdlib/ebin/edlin_type_suggestion.beam and b/bootstrap/lib/stdlib/ebin/edlin_type_suggestion.beam differ diff --git a/bootstrap/lib/stdlib/ebin/epp.beam b/bootstrap/lib/stdlib/ebin/epp.beam index 3f73e6073d3d..6bd7f3c49955 100644 Binary files a/bootstrap/lib/stdlib/ebin/epp.beam and b/bootstrap/lib/stdlib/ebin/epp.beam differ diff --git a/bootstrap/lib/stdlib/ebin/erl_error.beam b/bootstrap/lib/stdlib/ebin/erl_error.beam index 669c81ad346b..1413e771bc85 100644 Binary files a/bootstrap/lib/stdlib/ebin/erl_error.beam and b/bootstrap/lib/stdlib/ebin/erl_error.beam differ diff --git a/bootstrap/lib/stdlib/ebin/erl_eval.beam b/bootstrap/lib/stdlib/ebin/erl_eval.beam index 6fb1f52f0f7f..687077d2f19e 100644 Binary files a/bootstrap/lib/stdlib/ebin/erl_eval.beam and b/bootstrap/lib/stdlib/ebin/erl_eval.beam differ diff --git a/bootstrap/lib/stdlib/ebin/erl_expand_records.beam b/bootstrap/lib/stdlib/ebin/erl_expand_records.beam index 7dc206622203..800aafd15a55 100644 Binary files a/bootstrap/lib/stdlib/ebin/erl_expand_records.beam and b/bootstrap/lib/stdlib/ebin/erl_expand_records.beam differ diff --git a/bootstrap/lib/stdlib/ebin/erl_features.beam b/bootstrap/lib/stdlib/ebin/erl_features.beam index bfe48d8ea501..5c4fcc7e56de 100644 Binary files a/bootstrap/lib/stdlib/ebin/erl_features.beam and b/bootstrap/lib/stdlib/ebin/erl_features.beam differ diff --git a/bootstrap/lib/stdlib/ebin/erl_lint.beam b/bootstrap/lib/stdlib/ebin/erl_lint.beam index 11dc39d2f9f4..ef28003119cf 100644 Binary files a/bootstrap/lib/stdlib/ebin/erl_lint.beam and b/bootstrap/lib/stdlib/ebin/erl_lint.beam differ diff --git a/bootstrap/lib/stdlib/ebin/erl_parse.beam b/bootstrap/lib/stdlib/ebin/erl_parse.beam index d726d48afd3c..6a9ee05ecba1 100644 Binary files a/bootstrap/lib/stdlib/ebin/erl_parse.beam and b/bootstrap/lib/stdlib/ebin/erl_parse.beam differ diff --git a/bootstrap/lib/stdlib/ebin/erl_posix_msg.beam b/bootstrap/lib/stdlib/ebin/erl_posix_msg.beam index 9ad008f367d8..a5911d48a760 100644 Binary files a/bootstrap/lib/stdlib/ebin/erl_posix_msg.beam and b/bootstrap/lib/stdlib/ebin/erl_posix_msg.beam differ diff --git a/bootstrap/lib/stdlib/ebin/erl_pp.beam b/bootstrap/lib/stdlib/ebin/erl_pp.beam index 51867008bc83..cf61971647b6 100644 Binary files a/bootstrap/lib/stdlib/ebin/erl_pp.beam and b/bootstrap/lib/stdlib/ebin/erl_pp.beam differ diff --git a/bootstrap/lib/stdlib/ebin/erl_scan.beam b/bootstrap/lib/stdlib/ebin/erl_scan.beam index b2c13060bac5..73c643f2a943 100644 Binary files a/bootstrap/lib/stdlib/ebin/erl_scan.beam and b/bootstrap/lib/stdlib/ebin/erl_scan.beam differ diff --git a/bootstrap/lib/stdlib/ebin/erl_tar.beam b/bootstrap/lib/stdlib/ebin/erl_tar.beam index c3f25effd175..d6dc91e2b178 100644 Binary files a/bootstrap/lib/stdlib/ebin/erl_tar.beam and b/bootstrap/lib/stdlib/ebin/erl_tar.beam differ diff --git a/bootstrap/lib/stdlib/ebin/error_logger_file_h.beam b/bootstrap/lib/stdlib/ebin/error_logger_file_h.beam index 49a74b38f8a4..116de48fc14b 100644 Binary files a/bootstrap/lib/stdlib/ebin/error_logger_file_h.beam and b/bootstrap/lib/stdlib/ebin/error_logger_file_h.beam differ diff --git a/bootstrap/lib/stdlib/ebin/error_logger_tty_h.beam b/bootstrap/lib/stdlib/ebin/error_logger_tty_h.beam index dc153e80ba5f..5ce851a50da0 100644 Binary files a/bootstrap/lib/stdlib/ebin/error_logger_tty_h.beam and b/bootstrap/lib/stdlib/ebin/error_logger_tty_h.beam differ diff --git a/bootstrap/lib/stdlib/ebin/escript.beam b/bootstrap/lib/stdlib/ebin/escript.beam index 09d8ade15dee..eff3d1007517 100644 Binary files a/bootstrap/lib/stdlib/ebin/escript.beam and b/bootstrap/lib/stdlib/ebin/escript.beam differ diff --git a/bootstrap/lib/stdlib/ebin/ets.beam b/bootstrap/lib/stdlib/ebin/ets.beam index bf443282ed0d..520a94ed2529 100644 Binary files a/bootstrap/lib/stdlib/ebin/ets.beam and b/bootstrap/lib/stdlib/ebin/ets.beam differ diff --git a/bootstrap/lib/stdlib/ebin/eval_bits.beam b/bootstrap/lib/stdlib/ebin/eval_bits.beam index ed90371d2777..bee87bda6231 100644 Binary files a/bootstrap/lib/stdlib/ebin/eval_bits.beam and b/bootstrap/lib/stdlib/ebin/eval_bits.beam differ diff --git a/bootstrap/lib/stdlib/ebin/file_sorter.beam b/bootstrap/lib/stdlib/ebin/file_sorter.beam index 2153273c8686..6abf0e6f176d 100644 Binary files a/bootstrap/lib/stdlib/ebin/file_sorter.beam and b/bootstrap/lib/stdlib/ebin/file_sorter.beam differ diff --git a/bootstrap/lib/stdlib/ebin/filelib.beam b/bootstrap/lib/stdlib/ebin/filelib.beam index 7b1cb086fe9c..7c7c78657299 100644 Binary files a/bootstrap/lib/stdlib/ebin/filelib.beam and b/bootstrap/lib/stdlib/ebin/filelib.beam differ diff --git a/bootstrap/lib/stdlib/ebin/filename.beam b/bootstrap/lib/stdlib/ebin/filename.beam index 5a8488525820..fd7b8462faf9 100644 Binary files a/bootstrap/lib/stdlib/ebin/filename.beam and b/bootstrap/lib/stdlib/ebin/filename.beam differ diff --git a/bootstrap/lib/stdlib/ebin/gb_sets.beam b/bootstrap/lib/stdlib/ebin/gb_sets.beam index 8f0b0baf3770..752ca8a0623d 100644 Binary files a/bootstrap/lib/stdlib/ebin/gb_sets.beam and b/bootstrap/lib/stdlib/ebin/gb_sets.beam differ diff --git a/bootstrap/lib/stdlib/ebin/gen_event.beam b/bootstrap/lib/stdlib/ebin/gen_event.beam index dc5a14ce289f..488cc3cda05a 100644 Binary files a/bootstrap/lib/stdlib/ebin/gen_event.beam and b/bootstrap/lib/stdlib/ebin/gen_event.beam differ diff --git a/bootstrap/lib/stdlib/ebin/gen_server.beam b/bootstrap/lib/stdlib/ebin/gen_server.beam index d092b484661a..9a945d429798 100644 Binary files a/bootstrap/lib/stdlib/ebin/gen_server.beam and b/bootstrap/lib/stdlib/ebin/gen_server.beam differ diff --git a/bootstrap/lib/stdlib/ebin/gen_statem.beam b/bootstrap/lib/stdlib/ebin/gen_statem.beam index 62aafddf7322..79d16206a955 100644 Binary files a/bootstrap/lib/stdlib/ebin/gen_statem.beam and b/bootstrap/lib/stdlib/ebin/gen_statem.beam differ diff --git a/bootstrap/lib/stdlib/ebin/io.beam b/bootstrap/lib/stdlib/ebin/io.beam index 497d7c6446cc..54ec0643e9a8 100644 Binary files a/bootstrap/lib/stdlib/ebin/io.beam and b/bootstrap/lib/stdlib/ebin/io.beam differ diff --git a/bootstrap/lib/stdlib/ebin/io_lib.beam b/bootstrap/lib/stdlib/ebin/io_lib.beam index 8fac910ca5c4..dd52de69cd11 100644 Binary files a/bootstrap/lib/stdlib/ebin/io_lib.beam and b/bootstrap/lib/stdlib/ebin/io_lib.beam differ diff --git a/bootstrap/lib/stdlib/ebin/io_lib_format.beam b/bootstrap/lib/stdlib/ebin/io_lib_format.beam index fed1429264b2..1bdb58f05d6a 100644 Binary files a/bootstrap/lib/stdlib/ebin/io_lib_format.beam and b/bootstrap/lib/stdlib/ebin/io_lib_format.beam differ diff --git a/bootstrap/lib/stdlib/ebin/io_lib_pretty.beam b/bootstrap/lib/stdlib/ebin/io_lib_pretty.beam index 89a22cb1d739..bd00bdf28bdd 100644 Binary files a/bootstrap/lib/stdlib/ebin/io_lib_pretty.beam and b/bootstrap/lib/stdlib/ebin/io_lib_pretty.beam differ diff --git a/bootstrap/lib/stdlib/ebin/log_mf_h.beam b/bootstrap/lib/stdlib/ebin/log_mf_h.beam index 57badfc8f064..cb17921718ba 100644 Binary files a/bootstrap/lib/stdlib/ebin/log_mf_h.beam and b/bootstrap/lib/stdlib/ebin/log_mf_h.beam differ diff --git a/bootstrap/lib/stdlib/ebin/math.beam b/bootstrap/lib/stdlib/ebin/math.beam index 36d9d4b0688b..ea095e4874c4 100644 Binary files a/bootstrap/lib/stdlib/ebin/math.beam and b/bootstrap/lib/stdlib/ebin/math.beam differ diff --git a/bootstrap/lib/stdlib/ebin/ms_transform.beam b/bootstrap/lib/stdlib/ebin/ms_transform.beam index 8e69c195a10d..a573237fe867 100644 Binary files a/bootstrap/lib/stdlib/ebin/ms_transform.beam and b/bootstrap/lib/stdlib/ebin/ms_transform.beam differ diff --git a/bootstrap/lib/stdlib/ebin/orddict.beam b/bootstrap/lib/stdlib/ebin/orddict.beam index eae3adc34682..211c5c2470ca 100644 Binary files a/bootstrap/lib/stdlib/ebin/orddict.beam and b/bootstrap/lib/stdlib/ebin/orddict.beam differ diff --git a/bootstrap/lib/stdlib/ebin/ordsets.beam b/bootstrap/lib/stdlib/ebin/ordsets.beam index c9eba0a35ab6..81cc1bf7b700 100644 Binary files a/bootstrap/lib/stdlib/ebin/ordsets.beam and b/bootstrap/lib/stdlib/ebin/ordsets.beam differ diff --git a/bootstrap/lib/stdlib/ebin/otp_internal.beam b/bootstrap/lib/stdlib/ebin/otp_internal.beam index 40096448288b..56dde7a46acf 100644 Binary files a/bootstrap/lib/stdlib/ebin/otp_internal.beam and b/bootstrap/lib/stdlib/ebin/otp_internal.beam differ diff --git a/bootstrap/lib/stdlib/ebin/peer.beam b/bootstrap/lib/stdlib/ebin/peer.beam index c48ae89fa6d3..240b10bd773b 100644 Binary files a/bootstrap/lib/stdlib/ebin/peer.beam and b/bootstrap/lib/stdlib/ebin/peer.beam differ diff --git a/bootstrap/lib/stdlib/ebin/proc_lib.beam b/bootstrap/lib/stdlib/ebin/proc_lib.beam index 3aa850b24122..16ad2ff56269 100644 Binary files a/bootstrap/lib/stdlib/ebin/proc_lib.beam and b/bootstrap/lib/stdlib/ebin/proc_lib.beam differ diff --git a/bootstrap/lib/stdlib/ebin/qlc.beam b/bootstrap/lib/stdlib/ebin/qlc.beam index 48713b270bdc..1971e80a6b8f 100644 Binary files a/bootstrap/lib/stdlib/ebin/qlc.beam and b/bootstrap/lib/stdlib/ebin/qlc.beam differ diff --git a/bootstrap/lib/stdlib/ebin/qlc_pt.beam b/bootstrap/lib/stdlib/ebin/qlc_pt.beam index 39e3bc11622d..656f664fae68 100644 Binary files a/bootstrap/lib/stdlib/ebin/qlc_pt.beam and b/bootstrap/lib/stdlib/ebin/qlc_pt.beam differ diff --git a/bootstrap/lib/stdlib/ebin/rand.beam b/bootstrap/lib/stdlib/ebin/rand.beam index bbb3a4eb5ce7..d673616b05a1 100644 Binary files a/bootstrap/lib/stdlib/ebin/rand.beam and b/bootstrap/lib/stdlib/ebin/rand.beam differ diff --git a/bootstrap/lib/stdlib/ebin/re.beam b/bootstrap/lib/stdlib/ebin/re.beam index 3358a74b0ca2..9454a3d93ab3 100644 Binary files a/bootstrap/lib/stdlib/ebin/re.beam and b/bootstrap/lib/stdlib/ebin/re.beam differ diff --git a/bootstrap/lib/stdlib/ebin/sets.beam b/bootstrap/lib/stdlib/ebin/sets.beam index 8f324170b22f..db78456335d3 100644 Binary files a/bootstrap/lib/stdlib/ebin/sets.beam and b/bootstrap/lib/stdlib/ebin/sets.beam differ diff --git a/bootstrap/lib/stdlib/ebin/shell.beam b/bootstrap/lib/stdlib/ebin/shell.beam index 5975ad2f7caf..78fa66ad43b2 100644 Binary files a/bootstrap/lib/stdlib/ebin/shell.beam and b/bootstrap/lib/stdlib/ebin/shell.beam differ diff --git a/bootstrap/lib/stdlib/ebin/shell_docs.beam b/bootstrap/lib/stdlib/ebin/shell_docs.beam index 22dfcb2e60eb..03cf17791b51 100644 Binary files a/bootstrap/lib/stdlib/ebin/shell_docs.beam and b/bootstrap/lib/stdlib/ebin/shell_docs.beam differ diff --git a/bootstrap/lib/stdlib/ebin/slave.beam b/bootstrap/lib/stdlib/ebin/slave.beam index d497fcf133c1..9b0337a887fa 100644 Binary files a/bootstrap/lib/stdlib/ebin/slave.beam and b/bootstrap/lib/stdlib/ebin/slave.beam differ diff --git a/bootstrap/lib/stdlib/ebin/sofs.beam b/bootstrap/lib/stdlib/ebin/sofs.beam index d4c4383f7678..10c3eb52e28a 100644 Binary files a/bootstrap/lib/stdlib/ebin/sofs.beam and b/bootstrap/lib/stdlib/ebin/sofs.beam differ diff --git a/bootstrap/lib/stdlib/ebin/stdlib.app b/bootstrap/lib/stdlib/ebin/stdlib.app index 36d2e9b55286..c947f9b04782 100644 --- a/bootstrap/lib/stdlib/ebin/stdlib.app +++ b/bootstrap/lib/stdlib/ebin/stdlib.app @@ -2,7 +2,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1996-2022. All Rights Reserved. +%% Copyright Ericsson AB 1996-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -20,8 +20,9 @@ %% {application, stdlib, [{description, "ERTS CXC 138 10"}, - {vsn, "4.2"}, - {modules, [array, + {vsn, "5.0.2"}, + {modules, [argparse, + array, base64, beam_lib, binary, @@ -114,6 +115,6 @@ dets]}, {applications, [kernel]}, {env, []}, - {runtime_dependencies, ["sasl-3.0","kernel-@OTP-17932@","erts-13.1","crypto-4.5", + {runtime_dependencies, ["sasl-3.0","kernel-9.0","erts-13.1","crypto-4.5", "compiler-5.0"]} ]}. diff --git a/bootstrap/lib/stdlib/ebin/string.beam b/bootstrap/lib/stdlib/ebin/string.beam index 29ab628073d4..b5da368090a7 100644 Binary files a/bootstrap/lib/stdlib/ebin/string.beam and b/bootstrap/lib/stdlib/ebin/string.beam differ diff --git a/bootstrap/lib/stdlib/ebin/supervisor.beam b/bootstrap/lib/stdlib/ebin/supervisor.beam index f35c6998f001..ff9960f6f3bc 100644 Binary files a/bootstrap/lib/stdlib/ebin/supervisor.beam and b/bootstrap/lib/stdlib/ebin/supervisor.beam differ diff --git a/bootstrap/lib/stdlib/ebin/sys.beam b/bootstrap/lib/stdlib/ebin/sys.beam index 91977cab8807..b731ba01a34a 100644 Binary files a/bootstrap/lib/stdlib/ebin/sys.beam and b/bootstrap/lib/stdlib/ebin/sys.beam differ diff --git a/bootstrap/lib/stdlib/ebin/timer.beam b/bootstrap/lib/stdlib/ebin/timer.beam index 39dd41690a7f..522c327fec81 100644 Binary files a/bootstrap/lib/stdlib/ebin/timer.beam and b/bootstrap/lib/stdlib/ebin/timer.beam differ diff --git a/bootstrap/lib/stdlib/ebin/unicode.beam b/bootstrap/lib/stdlib/ebin/unicode.beam index 461df9d3360a..c0e6c956514f 100644 Binary files a/bootstrap/lib/stdlib/ebin/unicode.beam and b/bootstrap/lib/stdlib/ebin/unicode.beam differ diff --git a/bootstrap/lib/stdlib/ebin/uri_string.beam b/bootstrap/lib/stdlib/ebin/uri_string.beam index 7222c9345590..25dfa07af141 100644 Binary files a/bootstrap/lib/stdlib/ebin/uri_string.beam and b/bootstrap/lib/stdlib/ebin/uri_string.beam differ diff --git a/bootstrap/lib/stdlib/ebin/win32reg.beam b/bootstrap/lib/stdlib/ebin/win32reg.beam index fa17c2ce1b44..e405313a7ca8 100644 Binary files a/bootstrap/lib/stdlib/ebin/win32reg.beam and b/bootstrap/lib/stdlib/ebin/win32reg.beam differ diff --git a/bootstrap/lib/stdlib/ebin/zip.beam b/bootstrap/lib/stdlib/ebin/zip.beam index d66c584415da..d1ee1a010c93 100644 Binary files a/bootstrap/lib/stdlib/ebin/zip.beam and b/bootstrap/lib/stdlib/ebin/zip.beam differ diff --git a/erts/configure b/erts/configure index a09c84ff098a..7ade76d84c66 100755 --- a/erts/configure +++ b/erts/configure @@ -24677,45 +24677,14 @@ then : # https://undeadly.org/cgi?action=article;sid=20180310000858 enable_native_stack=no ;; #( - win32*) : - - # Windows never messes with the stack, so it's safe by default. - enable_native_stack=yes - ;; #( *) : - # Use the native stack if we can safely redirect OS signals to a - # different stack. - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for safe signal delivery" >&5 -printf %s "checking for safe signal delivery... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ -#if defined(__APPLE__) && defined(__MACH__) && !defined(__DARWIN__) - #define __DARWIN__ 1 - #endif - #if !(defined(__GLIBC__) || defined(__DARWIN__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__sun__)) - #error "Unknown libc. Assume musl, which does not allow safe signals" - #endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } - enable_native_stack=yes -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, disabling native stack in JIT" >&5 -printf "%s\n" "no, disabling native stack in JIT" >&6; } - enable_native_stack=no - -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + # Windows never messes with the stack under any circumstances (and RSP + # can safely be used as a general-purpose register). + # + # On other platforms we'll wrangle sigaltstack(2) to let signals execute + # on an alternate stack. + enable_native_stack=yes ;; esac diff --git a/erts/configure.ac b/erts/configure.ac index 540cc4b3cba4..a63d391fb331 100644 --- a/erts/configure.ac +++ b/erts/configure.ac @@ -2951,24 +2951,13 @@ AS_IF([test ${enable_jit} != no], # https://undeadly.org/cgi?action=article;sid=20180310000858 enable_native_stack=no ], - [win32*], [ - # Windows never messes with the stack, so it's safe by default. + # Windows never messes with the stack under any circumstances (and RSP + # can safely be used as a general-purpose register). + # + # On other platforms we'll wrangle sigaltstack(2) to let signals execute + # on an alternate stack. enable_native_stack=yes - ], - [ - # Use the native stack if we can safely redirect OS signals to a - # different stack. - AC_MSG_CHECKING([for safe signal delivery]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[#if defined(__APPLE__) && defined(__MACH__) && !defined(__DARWIN__) - #define __DARWIN__ 1 - #endif - #if !(defined(__GLIBC__) || defined(__DARWIN__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__sun__)) - #error "Unknown libc. Assume musl, which does not allow safe signals" - #endif]])],[AC_MSG_RESULT([yes]) - enable_native_stack=yes],[AC_MSG_RESULT([no, disabling native stack in JIT]) - enable_native_stack=no - ]) ]) case "$JIT_ARCH" in diff --git a/erts/doc/src/absform.xml b/erts/doc/src/absform.xml index d5c27bb200a7..61840a99fb71 100644 --- a/erts/doc/src/absform.xml +++ b/erts/doc/src/absform.xml @@ -449,7 +449,7 @@

If E is a maybe expression maybe B else Ec_1 ; ... ; Ec_k end, where B is a body and each Ec_i is an else clause then Rep(E) = - {'maybe',ANNO,Rep(B),{'else',ANNO,[Rep(Ec_1), ..., Rep(Tc_k)]}}.

+ {'maybe',ANNO,Rep(B),{'else',ANNO,[Rep(Ec_1), ..., Rep(Ec_k)]}}.

If E is nil, [], then Rep(E) = {nil,ANNO}.

diff --git a/erts/doc/src/erl_cmd.xml b/erts/doc/src/erl_cmd.xml index f6a36ecffd89..5bd565b80cc6 100644 --- a/erts/doc/src/erl_cmd.xml +++ b/erts/doc/src/erl_cmd.xml @@ -627,6 +627,17 @@ $ erl \ slave node on a remote host; see slave(3).

+ (init + flag) + +

Makes call the specified function. + defaults to . + The function is assumed to be of arity 1, taking the list + as argument, or an empty list + if no arguments are passed. All further arguments occurring after + this option are passed to the specified function as strings. + See init(3).

+
(init flag) @@ -1131,7 +1142,7 @@ $ erl \ however, be changed in the future. The actual value chosen can be checked by calling erlang:system_info(process_limit).

-

The default value is 262144

+

The default value is 1048576

diff --git a/erts/doc/src/erl_dist_protocol.xml b/erts/doc/src/erl_dist_protocol.xml index 389e967f5fa1..2baaf5f3d25e 100644 --- a/erts/doc/src/erl_dist_protocol.xml +++ b/erts/doc/src/erl_dist_protocol.xml @@ -585,8 +585,8 @@ io:format("old/unused name ~ts at port ~p, fd = ~p ~n", gen_challenge() returns a random 32-bit integer used as a challenge.

-

A digest is a (16 bytes) MD5 hash of the challenge (as text) - concatenated with the cookie (as text). Below, the function +

A digest is a (16 bytes) MD5 hash of the cookie (as text) + concatenated with the challenge (as text). Below, the function gen_digest(Challenge, Cookie) generates a digest as described above.

diff --git a/erts/doc/src/erl_nif.xml b/erts/doc/src/erl_nif.xml index befe19863080..4d31879c6a1f 100644 --- a/erts/doc/src/erl_nif.xml +++ b/erts/doc/src/erl_nif.xml @@ -1358,7 +1358,7 @@ typedef struct { int enif_dynamic_resource_call(ErlNifEnv* caller_env, - ERL_NIF_MODULE rt_module, ERL_NIF_MODULE rt_name, ERL_NIF_TERM resource, + ERL_NIF_TERM rt_module, ERL_NIF_TERM rt_name, ERL_NIF_TERM resource, void* call_data) Call a resource in another module. diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml index 76d69ee82a82..345e8f000a22 100644 --- a/erts/doc/src/erlang.xml +++ b/erts/doc/src/erlang.xml @@ -2915,8 +2915,23 @@ uncompiled code with the same arity are mapped to the same list by groups have a group leader. All I/O from the group is channeled to the group leader. When a new process is spawned, it gets the same group leader as the spawning - process. Initially, at system startup, init is both - its own group leader and the group leader of all processes.

+ process.

+

Initially, at system startup, init is both + its own group leader and the group leader of all processes. + During the boot of a system the group leader for processes + will be changed depending on the need of the system. Some examples + where this is done are:

+ + When an application is started, the top supervisor of that + application will have its group leader set to the application + master. See + application:start/2 for more details. + When running tests, both common_test and + eunit set the + group leader in order to capture any I/O from the testcase. + The interactive shell + sets the group leader to intercept I/O. +
@@ -6404,7 +6419,7 @@ receive_replies(ReqId, N, Acc) ->

Used by a process to redefine the error handler for undefined function calls and undefined registered - processes. Inexperienced users are not to use this flag, + processes. Use this flag with substantial caution, as code auto-loading depends on the correct operation of the error handling module.

Returns the old value of the flag.

@@ -9979,7 +9994,7 @@ Metadata = #{ pid => pid(), - + System info overview.

Returns information about the current system. @@ -10002,6 +10017,7 @@ Metadata = #{ pid => pid(),

cpu_topology, logical_processors, + cpu_quota, update_cpu_info

@@ -10071,6 +10087,7 @@ Metadata = #{ pid => pid(), Distribution Information

+ async_dist, creation, delayed_node_table_gc, dist, @@ -10265,8 +10282,9 @@ Metadata = #{ pid => pid(), - - + + + Information about the CPU topology of the system. @@ -10427,16 +10445,16 @@ Metadata = #{ pid => pid(), - - - - - - - - - + + + + + + + + Information about the default process heap settings. @@ -10549,12 +10567,12 @@ Metadata = #{ pid => pid(), - - - - - - + + + + + + Information about various system limits. @@ -10627,15 +10645,15 @@ Metadata = #{ pid => pid(), - - - - - - - - + + + + + + + Information about system time. @@ -10855,20 +10873,20 @@ Metadata = #{ pid => pid(), - - - - - - - - - - - - - + + + + + + + + + + + + Information about system schedulers. @@ -11155,14 +11173,14 @@ Metadata = #{ pid => pid(), - - - - - - + + + + Information about erlang distribution. @@ -11252,72 +11270,74 @@ Metadata = #{ pid => pid(), - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Information about the system. diff --git a/erts/doc/src/erts_alloc.xml b/erts/doc/src/erts_alloc.xml index 914c936095c2..5d2a74fc27bd 100644 --- a/erts/doc/src/erts_alloc.xml +++ b/erts/doc/src/erts_alloc.xml @@ -576,7 +576,7 @@ instrument module to inspect this information.

-

The runtime overhead is one word per allocation when enabled. This +

The runtime overhead is two words per allocation when enabled. This may change at any time in the future.

The default is true for binary_alloc and diff --git a/erts/doc/src/escript_cmd.xml b/erts/doc/src/escript_cmd.xml index bb2a86798ad8..745d3fe6e82c 100644 --- a/erts/doc/src/escript_cmd.xml +++ b/erts/doc/src/escript_cmd.xml @@ -119,10 +119,8 @@ $ escript factorial 5 I/O-server, however, must be set explicitly as follows:

io:setopts([{encoding, latin1}]) -

The default encoding of the I/O-server for standard_io - is unicode if its supported, as the script runs in a - non-interactive terminal. - (see section +

The default encoding of the I/O-server for standard_io + is unicode if its supported. (see section Summary of Options) in the STDLIB User's Guide.

@@ -185,15 +183,16 @@ halt(1). 127.

Both the module declaration and the export declaration of the main/1 function are optional.

-

By default, the script will be interpreted. You can force - it to be compiled by including the following line somewhere - in the script file:

+

By default, the script will be compiled by the Erlang compiler.

+

It is possible to force it to be interpreted by including + the following line somewhere in the script file:

--mode(compile).
-

Execution of interpreted code is slower than compiled code. - If much of the execution takes place in interpreted code, it - can be worthwhile to compile it, although the compilation - itself takes a little while.

+-mode(interpret). +

Execution of interpreted code is slower than compiled code, + and some language constructs will not work, but there is no + requirement for the Erlang compiler application to be available.

+

Before the Erlang/OTP 27 the script would be + interpreted by default.

As mentioned earlier, a script can contains precompiled beam code. In a precompiled script, the interpretation of the script header is diff --git a/erts/doc/src/init.xml b/erts/doc/src/init.xml index 2d6b22a82620..0c358ba8c777 100644 --- a/erts/doc/src/init.xml +++ b/erts/doc/src/init.xml @@ -310,6 +310,28 @@ BF get_plain_arguments/0.

+ -S Mod [Func [Arg1, Arg2, ...]] + +

Evaluates the specified function call during system + initialization. Func defaults to start. If no + arguments are provided, the function is assumed to be of arity + 0. Otherwise it is assumed to be of arity 1, taking the list + [Arg1,Arg2,...] as argument. All arguments are passed + as strings. If an exception is raised, Erlang stops with an + error message.

+

Example:

+
+          % erl -S httpd serve --port 8080 /var/www/html
+

This starts the Erlang runtime system and evaluates + the function httpd:serve(["--port", "8080", "/var/www/html"]). + All arguments up to the end of the command line will be passed + to the called function.

+

The function is executed sequentially in an initialization + process, which then terminates normally and passes control to + the user. This means that a -S call that does not + return blocks further processing; to avoid this, use + some variant of spawn in such cases.

+
-run Mod [Func [Arg1, Arg2, ...]]

Evaluates the specified function call during system @@ -333,6 +355,10 @@ foo:bar(["baz", "1", "2"]). the user. This means that a -run call that does not return blocks further processing; to avoid this, use some variant of spawn in such cases.

+

This flag will not forward arguments beginning with + a hyphen (-) to the specified function, as these will be + interpreted as flags to the runtime. If the function uses + flags in this form, it is advised to use -S instead.

-s Mod [Func [Arg1, Arg2, ...]] @@ -359,6 +385,12 @@ foo:bar([baz, '1', '2']). some variant of spawn in such cases.

Because of the limited length of atoms, it is recommended to use -run instead.

+

This flag will not forward arguments beginning with + a hyphen (-) to the specified function, as these will be + interpreted as flags to the runtime. If the function uses + flags in this form, it is advised to use -S instead, + with the additional caveat that arguments are passed as strings + instead of atoms.

diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml index c9316d644c35..384d15b3a716 100644 --- a/erts/doc/src/notes.xml +++ b/erts/doc/src/notes.xml @@ -31,6 +31,119 @@

This document describes the changes made to the ERTS application.

+
Erts 14.0.2 + +
Fixed Bugs and Malfunctions + + +

+ Fix using the IME (Input Method Editor) to enter text in + cmd.exe and powershell.exe on Windows.

+

+ Own Id: OTP-18630 Aux Id: PR-7275 GH-7029

+
+ +

+ Multiple socket:accept calls issue. When making multiple + accept calls, only the last call is active.

+

+ Own Id: OTP-18635 Aux Id: #7328

+
+ +

+ Fix the shell to ignore terminal delay when the terminal + capabilities report that they should be used.

+

+ Own Id: OTP-18636 Aux Id: PR-7352 GH-7308

+
+ +

+ Fix "oldshell" to echo characters while typing on + Windows.

+

+ Own Id: OTP-18637 Aux Id: PR-7359 GH-7324

+
+ +

+ On Windows, a call to the function socket:close, when + there are waiting active calls to read, write or accept + functions, could hang.

+

+ Own Id: OTP-18646

+
+ +

+ Fix issues when reading or configuring standard_io + on Windows when erl.exe is started using -noshell + flag.

+

+ Own Id: OTP-18649 Aux Id: GH-7261 PR-7400

+
+ +

The following functions are now much faster when given + a long list or binary:

+ erlang:list_to_integer/1 + erlang:binary_to_integer/1 + erlang:binary_to_integer/2 + erlang:list_to_integer/2 + string:to_integer/1 +

+ Own Id: OTP-18659 Aux Id: PR-7426

+
+ +

On AArch64 (ARM64), equality and non-equality tests + with literal bitstrings could succeed when they should + fail and vice versa.

+

+ Own Id: OTP-18663 Aux Id: GH-7433, PR-7437

+
+
+
+ +
+ +
Erts 14.0.1 + +
Fixed Bugs and Malfunctions + + +

+ Build of the socket nif failed on Solaris 11.

+

+ Own Id: OTP-18585 Aux Id: OTP-18029

+
+ +

Fixed two reduction-counting bugs relating to + binaries.

+

+ Own Id: OTP-18587

+
+ +

Constructing a binary segment not aligned with a byte + boundary, with a size not fitting in 31 bits, and with a + value not fitting in a 64-bit word could crash the + runtime system.

+

+ Own Id: OTP-18597

+
+ +

When a binary construction failed because of bad size + for a segment, the error information was not always + correct.

+

+ Own Id: OTP-18602 Aux Id: GH-7282

+
+ +

Fixed a crash when calling a fun that was defined in a + module that had been upgraded.

+

+ Own Id: OTP-18621 Aux Id: GH-7288

+
+
+
+ +
+
Erts 14.0
Fixed Bugs and Malfunctions @@ -595,6 +708,74 @@
+
Erts 13.2.2.2 + +
Fixed Bugs and Malfunctions + + +

+ Multiple socket:accept calls issue. When making multiple + accept calls, only the last call is active.

+

+ Own Id: OTP-18635 Aux Id: #7328

+
+ +

The following functions are now much faster when given + a long list or binary:

+ erlang:list_to_integer/1 + erlang:binary_to_integer/1 + erlang:binary_to_integer/2 + erlang:list_to_integer/2 + string:to_integer/1 +

+ Own Id: OTP-18659 Aux Id: PR-7426

+
+
+
+ +
+ +
Erts 13.2.2.1 + +
Fixed Bugs and Malfunctions + + +

Fixed a crash during tracing on certain platforms that + cannot use the machine stack for Erlang code (mainly + OpenBSD and Linux with musl).

+

+ Own Id: OTP-18561

+
+ +

Constructing a binary segment not aligned with a byte + boundary, with a size not fitting in 31 bits, and with a + value not fitting in a 64-bit word could crash the + runtime system.

+

+ Own Id: OTP-18597

+
+
+
+ + +
Improvements and New Features + + +

+ Further robustify implementation of large maps (> 32 + keys). Keys that happen to have same internal 32-bit hash + values are now put in collision nodes which are traversed + with linear search. This removes the demand for the + internal hash function when salted to eventually produce + different hashes for all possible pairs of unequal terms.

+

+ Own Id: OTP-18569

+
+
+
+ +
+
Erts 13.2.2
Fixed Bugs and Malfunctions @@ -2052,6 +2233,87 @@
+
Erts 12.3.2.13 + +
Fixed Bugs and Malfunctions + + +

The following functions are now much faster when given + a long list or binary:

+ erlang:list_to_integer/1 + erlang:binary_to_integer/1 + erlang:binary_to_integer/2 + erlang:list_to_integer/2 + string:to_integer/1 +

+ Own Id: OTP-18659 Aux Id: PR-7426

+
+
+
+ +
+ +
Erts 12.3.2.12 + +
Fixed Bugs and Malfunctions + + +

In rare circumstances, bit syntax matching of an + invalid code point for a utf32 would crash the + runtime system.

+

+ Own Id: OTP-18560

+
+ +

+ If a runtime system which was starting the distribution + already had existing pids, ports, or references referring + to a node with the same nodename/creation pair that the + runtime system was about to use, these already existing + pids, ports, or references would not work as expected in + various situations after the node had gone alive. This + could only occur if the runtime system was communicated + such pids, ports, or references prior to the distribution + was started. That is, it was extremely unlikely to happen + unless the distribution was started dynamically and was + even then very unlikely to happen. The runtime system now + checks for already existing pids, ports, and references + with the same nodename/creation pair that it is about to + use. If such are found another creation will be chosen in + order to avoid these issues.

+

+ Own Id: OTP-18570 Aux Id: PR-7190

+
+ +

Constructing a binary segment not aligned with a byte + boundary, with a size not fitting in 31 bits, and with a + value not fitting in a 64-bit word could crash the + runtime system.

+

+ Own Id: OTP-18597

+
+
+
+ + +
Improvements and New Features + + +

+ Further robustify implementation of large maps (> 32 + keys). Keys that happen to have same internal 32-bit hash + values are now put in collision nodes which are traversed + with linear search. This removes the demand for the + internal hash function when salted to eventually produce + different hashes for all possible pairs of unequal terms.

+

+ Own Id: OTP-18569

+
+
+
+ +
+
Erts 12.3.2.11
Fixed Bugs and Malfunctions @@ -4043,6 +4305,77 @@
+
Erts 11.2.2.18 + +
Fixed Bugs and Malfunctions + + +

+ Fix list_to_atom/1 for negative code points. Could + either return with a positive code point or fail with an + incorrect exception.

+

+ Own Id: OTP-18321

+
+ +

+ A race condition which was very rarely triggered could + cause the signal queue of a process to become + inconsistent causing the runtime system to crash.

+

+ Own Id: OTP-18388 Aux Id: OTP-17462, PR-6662

+
+ +

+ process_info(Pid, status) when Pid /= + self() could return an erroneous result.

+

+ Own Id: OTP-18421 Aux Id: PR-6806

+
+ +

In rare circumstances, when a process exceeded its + allowed heap size set by option max_heap_size, it + would not be killed as it should be, but instead enter a + kind of zombie state it would never get out of.

+

+ Own Id: OTP-18463 Aux Id: PR-6858

+
+ +

+ Implementations of the call() + driver callback that returned a faulty encoded result + could cause a memory leak and could cause invalid data on + the heap of the processes calling erlang:port_call/3.

+

+ Own Id: OTP-18525 Aux Id: PR-7049

+
+ +

+ If a runtime system which was starting the distribution + already had existing pids, ports, or references referring + to a node with the same nodename/creation pair that the + runtime system was about to use, these already existing + pids, ports, or references would not work as expected in + various situations after the node had gone alive. This + could only occur if the runtime system was communicated + such pids, ports, or references prior to the distribution + was started. That is, it was extremely unlikely to happen + unless the distribution was started dynamically and was + even then very unlikely to happen. The runtime system now + checks for already existing pids, ports, and references + with the same nodename/creation pair that it is about to + use. If such are found another creation will be chosen in + order to avoid these issues.

+

+ Own Id: OTP-18570 Aux Id: PR-7190

+
+
+
+ +
+
Erts 11.2.2.17
Fixed Bugs and Malfunctions diff --git a/erts/doc/src/tty.xml b/erts/doc/src/tty.xml index 7670b293cde2..0d0827d81c37 100644 --- a/erts/doc/src/tty.xml +++ b/erts/doc/src/tty.xml @@ -71,8 +71,10 @@ erl f simultaneously. Home and End represent the keys with the same name on the keyboard. - Left and Right represent the corresponding arrow - keys. + Left, Right, Up and Down represent + the corresponding arrow keys. + When a function has multiple possible key sequences they are + listed on individual lines in the Key Sequence column. @@ -185,6 +187,30 @@ erlC-]Insert matching closing bracket + + C-Up
M-Up
+ Navigate one row up when editing multiple lines +
+ + C-Down
M-Down
+ Navigate one row down when editing multiple lines +
+ + M-Enter + Insert a new line at cursor + + + M-<
M-S-Up
+ Navigate to the start of the current expression +
+ + M->
M-S-Down
+ Navigate to the end of the current expression +
+ + M-c + Clear current expression + tty Text Editing
diff --git a/erts/emulator/Makefile.in b/erts/emulator/Makefile.in index 5451bdf804ea..c0f0fc1cd467 100644 --- a/erts/emulator/Makefile.in +++ b/erts/emulator/Makefile.in @@ -242,9 +242,6 @@ VOID_EMULATOR = endif OPSYS=@OPSYS@ -ifeq ($(OPSYS),darwin) -LDFLAGS += -sectcreate __TEXT __info_plist "$(ERL_TOP)/erts/etc/darwin/Info.plist" -endif sol2CFLAGS= linuxCFLAGS= @@ -584,7 +581,6 @@ $(TTF_DIR)/beam_warm.h \ $(TTF_DIR)/beam_hot.h \ $(TTF_DIR)/beam_opcodes.c \ $(TTF_DIR)/beam_opcodes.h \ -$(TTF_DIR)/beam_transform.c \ : $(TTF_DIR)/OPCODES-GENERATED $(TTF_DIR)/OPCODES-GENERATED: $(OPCODE_TABLES) utils/beam_makeops $(gen_verbose)LANG=C $(PERL) utils/beam_makeops \ @@ -1013,8 +1009,6 @@ COMMON_OBJS = \ $(OBJDIR)/beam_load.o \ $(OBJDIR)/beam_opcodes.o \ $(OBJDIR)/beam_ranges.o \ - $(OBJDIR)/beam_transform.o \ - $(OBJDIR)/beam_transform_engine.o \ $(OBJDIR)/beam_transform_helpers.o \ $(OBJDIR)/code_ix.o diff --git a/erts/emulator/beam/beam_bif_load.c b/erts/emulator/beam/beam_bif_load.c index 148a848cf519..a4fc8632c631 100644 --- a/erts/emulator/beam/beam_bif_load.c +++ b/erts/emulator/beam/beam_bif_load.c @@ -1948,21 +1948,14 @@ BIF_RETTYPE erts_internal_purge_module_2(BIF_ALIST_2) purge_state.module = BIF_ARG_1; erts_mtx_unlock(&purge_state.mtx); - /* Because fun calls always land in the latest instance, there - * is no need to set up purge markers if there's current code - * for this module. */ - if (!modp->curr.code_hdr) { - /* Set up "pending purge" markers for the funs in this - * module. Processes trying to call these funs will be - * suspended _before_ calling them, which will then either - * crash or succeed when resumed after the purge finishes - * or is aborted. - * - * This guarantees that we won't get any more direct - * references into the code while checking for such - * funs. */ - erts_fun_purge_prepare(&modp->old); - } + /* Set up "pending purge" markers for the funs in this module. + * Processes trying to call these funs will be suspended + * _before_ calling them, which will then either crash or + * succeed when resumed after the purge finishes or is aborted. + * + * This guarantees that we won't get any more direct references + * into the code while checking for such funs. */ + erts_fun_purge_prepare(&modp->old); res = am_true; } diff --git a/erts/emulator/beam/beam_bp.c b/erts/emulator/beam/beam_bp.c index 559a417128c4..c55ab0930b1d 100644 --- a/erts/emulator/beam/beam_bp.c +++ b/erts/emulator/beam/beam_bp.c @@ -693,7 +693,6 @@ erts_clear_mtrace_break(BpFunctions* f) void erts_clear_debug_break(BpFunctions* f) { - ERTS_LC_ASSERT(erts_thr_progress_is_blocking()); clear_break(f, ERTS_BPF_DEBUG); } diff --git a/erts/emulator/beam/beam_common.c b/erts/emulator/beam/beam_common.c index 6eb97fc8649b..f278ca770774 100644 --- a/erts/emulator/beam/beam_common.c +++ b/erts/emulator/beam/beam_common.c @@ -555,10 +555,6 @@ handle_error(Process* c_p, ErtsCodePtr pc, Eterm* reg, #else /* To avoid keeping stale references. */ c_p->stop[0] = NIL; -#endif -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - /* No longer safe to use this position */ - erts_msgq_recv_marker_clear(c_p, erts_old_recv_marker_id); #endif c_p->ftrace = NIL; return new_pc; @@ -1729,8 +1725,9 @@ call_fun(Process* p, /* Current process. */ code_ix = erts_active_code_ix(); code_ptr = (funp->entry.disp)->addresses[code_ix]; - if (ERTS_LIKELY(code_ptr != beam_unloaded_fun && funp->arity == arity)) { - for (int i = 0, num_free = funp->num_free; i < num_free; i++) { + if (ERTS_LIKELY(code_ptr != beam_unloaded_fun && + fun_arity(funp) == arity)) { + for (int i = 0, num_free = fun_num_free(funp); i < num_free; i++) { reg[i + arity] = funp->env[i]; } @@ -1769,7 +1766,7 @@ call_fun(Process* p, /* Current process. */ } } - if (funp->arity != arity) { + if (fun_arity(funp) != arity) { /* There is a fun defined, but the call has the wrong arity. */ Eterm *hp = HAlloc(p, 3); p->freason = EXC_BADARITY; @@ -1869,7 +1866,7 @@ is_function2(Eterm Term, Uint arity) { if (is_any_fun(Term)) { ErlFunThing *funp = (ErlFunThing*)fun_val(Term); - return funp->arity == arity; + return fun_arity(funp) == arity; } return 0; @@ -1877,7 +1874,7 @@ is_function2(Eterm Term, Uint arity) Eterm get_map_element(Eterm map, Eterm key) { - Uint32 hx; + erts_ihash_t hx; const Eterm *vs; if (is_flatmap(map)) { flatmap_t *mp; @@ -1910,7 +1907,7 @@ Eterm get_map_element(Eterm map, Eterm key) return vs ? *vs : THE_NON_VALUE; } -Eterm get_map_element_hash(Eterm map, Eterm key, Uint32 hx) +Eterm get_map_element_hash(Eterm map, Eterm key, erts_ihash_t hx) { const Eterm *vs; @@ -2082,7 +2079,7 @@ erts_gc_update_map_assoc(Process* p, Eterm* reg, Uint live, map = reg[live]; if (is_not_flatmap(map)) { - Uint32 hx; + erts_ihash_t hx; Eterm val; ASSERT(is_hashmap(map)); @@ -2325,7 +2322,7 @@ erts_gc_update_map_exact(Process* p, Eterm* reg, Uint live, map = reg[live]; if (is_not_flatmap(map)) { - Uint32 hx; + erts_ihash_t hx; Eterm val; /* apparently the compiler does not emit is_map instructions, diff --git a/erts/emulator/beam/beam_common.h b/erts/emulator/beam/beam_common.h index 0349d488ac44..3c93d580a650 100644 --- a/erts/emulator/beam/beam_common.h +++ b/erts/emulator/beam/beam_common.h @@ -111,7 +111,6 @@ do { \ #define x(N) reg[N] #define y(N) E[N] -#define r(N) x(N) #define Q(N) (N*sizeof(Eterm *)) #define l(N) (freg[N].fd) @@ -268,7 +267,7 @@ Eterm erts_gc_update_map_assoc(Process* p, Eterm* reg, Uint live, Eterm erts_gc_update_map_exact(Process* p, Eterm* reg, Uint live, Uint n, const Eterm* data); Eterm get_map_element(Eterm map, Eterm key); -Eterm get_map_element_hash(Eterm map, Eterm key, Uint32 hx); +Eterm get_map_element_hash(Eterm map, Eterm key, erts_ihash_t hx); int raw_raise(Eterm stacktrace, Eterm exc_class, Eterm value, Process *c_p); void erts_sanitize_freason(Process* c_p, Eterm exc); Eterm add_stacktrace(Process* c_p, Eterm Value, Eterm exc); diff --git a/erts/emulator/beam/beam_debug.c b/erts/emulator/beam/beam_debug.c index 3819de701fca..42d5ff57a892 100644 --- a/erts/emulator/beam/beam_debug.c +++ b/erts/emulator/beam/beam_debug.c @@ -122,40 +122,112 @@ erts_debug_copy_shared_2(BIF_ALIST_2) BIF_RET(copy); } +/* Protected by code modification permission */ +static struct { + ErtsCodeBarrier barrier; + Process* process; + + BpFunctions f; + int enable; + int stage; +} finish_debug_bp; + +static void debug_bp_finisher(void *ignored) +{ + Process* p = finish_debug_bp.process; + + ERTS_LC_ASSERT(erts_has_code_mod_permission()); + + (void)ignored; + + /* Code barriers are issued before each of the stages below. */ + switch (finish_debug_bp.stage++) { + case 0: + /* Breakpoints need to be installed before they are committed, and + * committed before they are uninstalled. */ + if (finish_debug_bp.enable) { + erts_install_breakpoints(&finish_debug_bp.f); + } else { + erts_commit_staged_bp(); + } + break; + case 1: + if (!finish_debug_bp.enable) { + erts_uninstall_breakpoints(&finish_debug_bp.f); + } else { + erts_commit_staged_bp(); + } + break; + case 2: + /* Now all breakpoints have either been inserted or removed. For all + * updated breakpoints, copy the active breakpoint data to the staged + * breakpoint data to make them equal (simplifying for the next time + * breakpoints are to be updated). If any breakpoints have been totally + * disabled, deallocate their GenericBp structs. */ + erts_consolidate_local_bp_data(&finish_debug_bp.f); + erts_bp_free_matched_functions(&finish_debug_bp.f); + break; + case 3: + /* All schedulers have run a code barrier (or will as soon as they + * awaken) after updating all breakpoints, it's safe to return now. */ +#ifdef DEBUG + finish_debug_bp.process = NULL; +#endif + + erts_release_code_mod_permission(); + + erts_proc_lock(p, ERTS_PROC_LOCK_STATUS); + + if (!ERTS_PROC_IS_EXITING(p)) { + erts_resume(p, ERTS_PROC_LOCK_STATUS); + } + + erts_proc_unlock(p, ERTS_PROC_LOCK_STATUS); + erts_proc_dec_refc(p); + + return; + } + + erts_schedule_code_barrier(&finish_debug_bp.barrier, + debug_bp_finisher, NULL); +} + BIF_RETTYPE erts_debug_breakpoint_2(BIF_ALIST_2) { - Process* p = BIF_P; - Eterm MFA = BIF_ARG_1; - Eterm boolean = BIF_ARG_2; - Eterm* tp; + const Eterm mfa_pattern = BIF_ARG_1, enable = BIF_ARG_2; + int i, specified; ErtsCodeMFA mfa; - int i; - int specified = 0; - Eterm res; - BpFunctions f; + Eterm *tp; - if (boolean != am_true && boolean != am_false) - goto error; + if (enable != am_true && enable != am_false) { + BIF_ERROR(BIF_P, BADARG); + } - if (is_not_tuple(MFA)) { - goto error; + if (is_not_tuple(mfa_pattern)) { + BIF_ERROR(BIF_P, BADARG); } - tp = tuple_val(MFA); + + tp = tuple_val(mfa_pattern); if (*tp != make_arityval(3)) { - goto error; + BIF_ERROR(BIF_P, BADARG); } + if (!is_atom(tp[1]) || !is_atom(tp[2]) || - (!is_small(tp[3]) && tp[3] != am_Underscore)) { - goto error; + (!is_small(tp[3]) && tp[3] != am_Underscore)) { + BIF_ERROR(BIF_P, BADARG); } - for (i = 0; i < 3 && tp[i+1] != am_Underscore; i++, specified++) { - /* Empty loop body */ + + for (i = 0, specified = 0; + i < 3 && tp[i+1] != am_Underscore; + i++, specified++) { + /* Empty loop body */ } + for (i = specified; i < 3; i++) { - if (tp[i+1] != am_Underscore) { - goto error; - } + if (tp[i+1] != am_Underscore) { + BIF_ERROR(BIF_P, BADARG); + } } mfa.module = tp[1]; @@ -166,38 +238,31 @@ erts_debug_breakpoint_2(BIF_ALIST_2) } if (!erts_try_seize_code_mod_permission(BIF_P)) { - ERTS_BIF_YIELD2(BIF_TRAP_EXPORT(BIF_erts_debug_breakpoint_2), - BIF_P, BIF_ARG_1, BIF_ARG_2); + ERTS_BIF_YIELD2(BIF_TRAP_EXPORT(BIF_erts_debug_breakpoint_2), + BIF_P, BIF_ARG_1, BIF_ARG_2); } - erts_proc_unlock(p, ERTS_PROC_LOCK_MAIN); - erts_thr_progress_block(); + erts_bp_match_functions(&finish_debug_bp.f, &mfa, specified); + + ASSERT(finish_debug_bp.f.matched >= 0); + ASSERT(finish_debug_bp.process == NULL); + finish_debug_bp.enable = (enable == am_true); + finish_debug_bp.process = BIF_P; + finish_debug_bp.stage = 0; - erts_bp_match_functions(&f, &mfa, specified); - if (boolean == am_true) { - erts_set_debug_break(&f); - erts_install_breakpoints(&f); - erts_commit_staged_bp(); + if (finish_debug_bp.enable) { + erts_set_debug_break(&finish_debug_bp.f); } else { - erts_clear_debug_break(&f); - erts_commit_staged_bp(); - erts_uninstall_breakpoints(&f); + erts_clear_debug_break(&finish_debug_bp.f); } - erts_consolidate_local_bp_data(&f); - res = make_small(f.matched); - erts_bp_free_matched_functions(&f); - - erts_blocking_code_barrier(); - - erts_thr_progress_unblock(); - erts_proc_lock(p, ERTS_PROC_LOCK_MAIN); - - erts_release_code_mod_permission(); - - return res; - error: - BIF_ERROR(p, BADARG); + /* Adding/removing breakpoints requires multiple code barriers. Suspend + * ourselves and continue in an aux job. */ + erts_schedule_code_barrier(&finish_debug_bp.barrier, + debug_bp_finisher, NULL); + erts_proc_inc_refc(BIF_P); + erts_suspend(BIF_P, ERTS_PROC_LOCK_MAIN, NULL); + ERTS_BIF_YIELD_RETURN(BIF_P, make_small(finish_debug_bp.f.matched)); } #if 0 /* Kept for conveninence when hard debugging. */ diff --git a/erts/emulator/beam/beam_file.c b/erts/emulator/beam/beam_file.c index d210d0fc16b4..ede07f36ef62 100644 --- a/erts/emulator/beam/beam_file.c +++ b/erts/emulator/beam/beam_file.c @@ -595,6 +595,8 @@ static void init_fallback_type_table(BeamFile *beam) { types->fallback = 1; types->entries[0].type_union = BEAM_TYPE_ANY; + types->entries[0].metadata_flags = 0; + types->entries[0].size_unit = 1; types->entries[0].min = MAX_SMALL + 1; types->entries[0].max = MIN_SMALL - 1; } diff --git a/erts/emulator/beam/beam_load.c b/erts/emulator/beam/beam_load.c index d0510850234a..12304f635416 100644 --- a/erts/emulator/beam/beam_load.c +++ b/erts/emulator/beam/beam_load.c @@ -188,6 +188,26 @@ erts_prepare_loading(Binary* magic, Process *c_p, Eterm group_leader, " (Use of opcode %d; this emulator supports " "only up to %d.)", stp->beam.code.max_opcode, MAX_GENERIC_OPCODE); + } else if (stp->beam.code.max_opcode < genop_swap_2) { + /* + * This BEAM file was produced by OTP 22 or earlier. + * + * We know that because OTP 23/24/25/26 artifically set the + * highest used op code to the op code for the `swap` + * instruction introduced in OTP 23. (OTP 27 artificially sets + * the highest op code to `make_fun3` introduced in OTP 24.) + * + * Old BEAM files produced by OTP R12 and earlier may be + * incompatible with the current runtime system. We used to + * reject such BEAM files using transformation rules that + * specifically targeted the known problematic constructs, but + * rejecting them this way is much easier. + */ + BeamLoadError0(stp, + "This BEAM file was compiled for an old version of " + "the runtime system.\n" + " To fix this, please re-compile this module with " + "Erlang/OTP 24 or later.\n"); } if (!load_code(stp)) { @@ -417,7 +437,7 @@ static int load_code(LoaderState* stp) do_transform: ASSERT(stp->genop != NULL); - if (gen_opc[stp->genop->op].transform != -1) { + if (gen_opc[stp->genop->op].transform) { if (stp->genop->next == NULL) { /* * Simple heuristic: Most transformations requires @@ -556,8 +576,6 @@ static int load_code(LoaderState* stp) * error message. */ switch (stp->genop->op) { - case genop_too_old_compiler_0: - BeamLoadError0(stp, PLEASE_RECOMPILE); case genop_unsupported_guard_bif_3: { Eterm Mod = (Eterm) stp->genop->a[0].val; diff --git a/erts/emulator/beam/beam_transform_engine.c b/erts/emulator/beam/beam_transform_engine.c deleted file mode 100644 index 3ce934a48c78..000000000000 --- a/erts/emulator/beam/beam_transform_engine.c +++ /dev/null @@ -1,442 +0,0 @@ -/* - * %CopyrightBegin% - * - * Copyright Ericsson AB 2020-2022. All Rights Reserved. - * - * 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. - * - * %CopyrightEnd% - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include "sys.h" -#include "erl_vm.h" -#include "export.h" -#include "bif.h" -#include "beam_load.h" - -int -erts_transform_engine(LoaderState* st) -{ - Uint op; - int ap; /* Current argument. */ - const Uint* restart; /* Where to restart if current match fails. */ - BeamOpArg var[TE_MAX_VARS]; /* Buffer for variables. */ - BeamOpArg* rest_args = NULL; - int num_rest_args = 0; - int i; /* General index. */ - Uint mask; - BeamOp* instr; - BeamOp* first = st->genop; - BeamOp* keep = NULL; - const Uint* pc; - static Uint restart_fail[1] = {TOP_fail}; - - ASSERT(gen_opc[first->op].transform != -1); - restart = op_transform + gen_opc[first->op].transform; - - restart: - ASSERT(restart != NULL); - pc = restart; - ASSERT(*pc < NUM_TOPS); /* Valid instruction? */ - instr = first; - -#ifdef DEBUG - restart = NULL; -#endif - ap = 0; - for (;;) { - op = *pc++; - - switch (op) { - case TOP_next_instr: - instr = instr->next; - ap = 0; - if (instr == NULL) { - /* - * We'll need at least one more instruction to decide whether - * this combination matches or not. - */ - return TE_SHORT_WINDOW; - } - if (*pc++ != instr->op) - goto restart; - break; - case TOP_is_type: - mask = *pc++; - - ASSERT(ap < instr->arity); - ASSERT(instr->a[ap].type < BEAM_NUM_TAGS); - if (((1 << instr->a[ap].type) & mask) == 0) - goto restart; - break; -#if defined(TOP_is_type_next_arg) - case TOP_is_type_next_arg: - mask = *pc++; - ASSERT(ap < instr->arity); - ASSERT(instr->a[ap].type < BEAM_NUM_TAGS); - if (((1 << instr->a[ap].type) & mask) == 0) - goto restart; - ap++; - break; -#endif - case TOP_pred: - i = *pc++; - i = erts_beam_eval_predicate((unsigned) i, st, var, rest_args); - if (i == 0) - goto restart; - break; -#if defined(TOP_is_eq) - case TOP_is_eq: - ASSERT(ap < instr->arity); - if (*pc++ != instr->a[ap].val) - goto restart; - break; -#endif - case TOP_is_type_eq: - mask = *pc++; - - ASSERT(ap < instr->arity); - ASSERT(instr->a[ap].type < BEAM_NUM_TAGS); - if (((1 << instr->a[ap].type) & mask) == 0) - goto restart; - if (*pc++ != instr->a[ap].val) - goto restart; - break; -#if defined(TOP_is_type_eq_next_arg) - case TOP_is_type_eq_next_arg: - mask = *pc++; - ASSERT(ap < instr->arity); - ASSERT(instr->a[ap].type < BEAM_NUM_TAGS); - if (((1 << instr->a[ap].type) & mask) == 0) - goto restart; - if (*pc++ != instr->a[ap].val) - goto restart; - ap++; - break; -#endif -#if defined(TOP_is_bif) - case TOP_is_bif: - { - int bif_number = *pc++; - - /* - * In debug build, the type must be 'u'. - * In a real build, don't match. (I.e. retain the original - * call instruction, this will work, but it will be a - * slight performance loss.) - */ - - ASSERT(instr->a[ap].type == TAG_u); - if (instr->a[ap].type != TAG_u) - goto restart; - - /* - * In debug build, the assertion will catch invalid indexes - * immediately. In a real build, the loader will issue - * an diagnostic later when the instruction is loaded. - */ - - i = instr->a[ap].val; - ASSERT(i < st->beam.imports.count); - if (i >= st->beam.imports.count) { - goto restart; - } else { - BifEntry *entry = st->bif_imports[i]; - - if (!entry) { - /* Not a BIF */ - goto restart; - } - - if (bif_number >= 0 && entry != &bif_table[bif_number]) { - /* Specific BIF not a match. */ - goto restart; - } - } - } - break; -#endif -#if defined(TOP_is_not_bif) - case TOP_is_not_bif: - { - pc++; - i = instr->a[ap].val; - - /* - * In debug build, the type must be 'u'. - */ - ASSERT(instr->a[ap].type == TAG_u); - if (instr->a[ap].type != TAG_u) { - goto restart; - } else if (i < st->beam.imports.count) { - BeamFile_ImportEntry *import; - - if (st->bif_imports[i]) { - goto restart; - } - - /* erlang:apply/2,3 are strange. They exist as (dummy) BIFs - * so that they are included in the export table before - * the erlang module is loaded. They also exist in the - * erlang module as functions. When used in code, a special - * Beam instruction is used. - * - * Below we recognize erlang:apply/2,3 as special. This is - * necessary because after setting a trace pattern on - * them, you can no longer see from the export entry that - * they are special. */ - import = &st->beam.imports.entries[i]; - - if (import->module == am_erlang) { - if (import->function == am_apply) { - if (import->arity == 2 || import->arity == 3) { - goto restart; - } - } - } - - } - } - break; - -#endif -#if defined(TOP_is_func) - case TOP_is_func: - { - Eterm mod = *pc++; - Eterm func = *pc++; - int arity = *pc++; - - ASSERT(instr->a[ap].type == TAG_u); - if (instr->a[ap].type != TAG_u) { - goto restart; - } - i = instr->a[ap].val; - ASSERT(i < st->beam.imports.count); - { - BeamFile_ImportEntry *import; - - if (i >= st->beam.imports.count) { - goto restart; - } - - import = &st->beam.imports.entries[i]; - - if (import->module != mod) { - goto restart; - } - if (import->function != func) { - goto restart; - } - if (import->arity != arity) { - goto restart; - } - } - } - break; -#endif - case TOP_set_var_next_arg: - ASSERT(ap < instr->arity); - i = *pc++; - ASSERT(i < TE_MAX_VARS); - var[i].type = instr->a[ap].type; - var[i].val = instr->a[ap].val; - ap++; - break; -#if defined(TOP_is_type_set_var_next_arg) - case TOP_is_type_set_var_next_arg: - mask = pc[0]; - i = pc[1]; - ASSERT(i < TE_MAX_VARS); - ASSERT(ap < instr->arity); - ASSERT(instr->a[ap].type < BEAM_NUM_TAGS); - if (((1 << instr->a[ap].type) & mask) == 0) - goto restart; - ASSERT(i < TE_MAX_VARS); - var[i] = instr->a[ap]; - ap++; - pc += 2; - break; -#endif -#if defined(TOP_is_type_eq_set_var_next_arg) - case TOP_is_type_eq_set_var_next_arg: - { - Eterm val; - mask = pc[0]; - val = pc[1]; - i = pc[2]; - ASSERT(i < TE_MAX_VARS); - ASSERT(ap < instr->arity); - ASSERT(instr->a[ap].type < BEAM_NUM_TAGS); - if (((1 << instr->a[ap].type) & mask) == 0) - goto restart; - if (val != instr->a[ap].val) - goto restart; - ASSERT(i < TE_MAX_VARS); - var[i] = instr->a[ap]; - ap++; - pc += 3; - } - break; -#endif -#if defined(TOP_rest_args) - case TOP_rest_args: - { - int formal_arity = gen_opc[instr->op].arity; - num_rest_args = instr->arity - formal_arity; - rest_args = instr->a + formal_arity; - } - break; -#endif - case TOP_next_arg: - ap++; - break; - case TOP_commit: - instr = instr->next; /* The next_instr was optimized away. */ - keep = instr; - break; -#if defined(TOP_commit_new_instr) - case TOP_commit_new_instr: - /* - * Reuse the last instruction on the left side instead of - * allocating a new instruction. Note that this is not - * safe if TOP_rest_args has been executed; therefore, - * this combined instruction is never used when that is - * the case. - */ - ASSERT(instr->a == instr->def_args); - keep = instr; - instr->op = op = *pc++; - instr->arity = gen_opc[op].arity; - ap = 0; - break; -#endif -#if defined(TOP_keep) - case TOP_keep: - /* Keep the current instruction unchanged. */ - keep = instr; - break; -#endif -#if defined(TOP_call_end) - case TOP_call_end: - { - BeamOp** lastp; - BeamOp* new_instr; - - i = *pc++; - new_instr = erts_beam_execute_transform((unsigned) i, st, var, rest_args); - if (new_instr == NULL) { - goto restart; - } - - lastp = &new_instr; - while (*lastp != NULL) { - lastp = &((*lastp)->next); - } - - keep = instr->next; /* The next_instr was optimized away. */ - *lastp = keep; - instr = new_instr; - } - /* FALLTHROUGH */ -#endif - case TOP_end: - st->genop = instr; - while (first != keep) { - BeamOp* next = first->next; - beamopallocator_free_op(&st->op_allocator, first); - first = next; - } - - return TE_OK; - /* - * Note that the instructions are generated in reverse order. - */ - case TOP_new_instr: - { - BeamOp* new_instr = beamopallocator_new_op(&st->op_allocator); - new_instr->next = instr; - instr = new_instr; - instr->op = op = *pc++; - instr->arity = gen_opc[op].arity; - ap = 0; - } - break; -#ifdef TOP_rename - case TOP_rename: - instr->op = op = *pc++; - instr->arity = gen_opc[op].arity; - return TE_OK; -#endif - case TOP_store_val_next_arg: - instr->a[ap].type = pc[0]; - instr->a[ap].val = pc[1]; - ap++; - pc += 2; - break; - case TOP_store_var_next_arg: - i = *pc++; - ASSERT(i < TE_MAX_VARS); - instr->a[ap].type = var[i].type; - instr->a[ap].val = var[i].val; - ap++; - break; -#if defined(TOP_store_rest_args) - case TOP_store_rest_args: - { - ASSERT(instr->a == instr->def_args); - instr->arity = instr->arity + num_rest_args; - instr->a = erts_alloc(ERTS_ALC_T_LOADER_TMP, - instr->arity * sizeof(BeamOpArg)); - sys_memcpy(instr->a, instr->def_args, ap*sizeof(BeamOpArg)); - sys_memcpy(instr->a+ap, rest_args, num_rest_args*sizeof(BeamOpArg)); - ap += num_rest_args; - } - break; -#endif - case TOP_try_me_else: - restart = pc + 1; - restart += *pc++; - ASSERT(*pc < NUM_TOPS); /* Valid instruction? */ - break; - case TOP_try_me_else_fail: - restart = restart_fail; - break; - case TOP_fail: - return TE_FAIL; -#if defined(TOP_skip_unless) - case TOP_skip_unless: - /* - * Note that the caller of transform_engine() guarantees that - * there is always a second instruction available. - */ - ASSERT(instr); - if (instr->next->op != pc[0]) { - /* The second instruction is wrong. Skip ahead. */ - pc += pc[1] + 2; - ASSERT(*pc < NUM_TOPS); /* Valid instruction? */ - } else { - /* Correct second instruction. */ - pc += 2; - } - break; -#endif - default: - ASSERT(0); - } - } -} diff --git a/erts/emulator/beam/bif.c b/erts/emulator/beam/bif.c index 80eb26015354..f7594691e06a 100644 --- a/erts/emulator/beam/bif.c +++ b/erts/emulator/beam/bif.c @@ -3346,85 +3346,6 @@ BIF_RETTYPE integer_to_list_2(BIF_ALIST_2) /**********************************************************************/ -/* - * Converts a list of ascii base10 digits to an integer fully or partially. - * Returns result and the remaining tail. - * On error returns: {error,not_a_list}, or {error, no_integer} - */ - -BIF_RETTYPE string_list_to_integer_1(BIF_ALIST_1) -{ - Eterm res; - Eterm tail; - Eterm *hp; - /* must be a list */ - switch (erts_list_to_integer(BIF_P, BIF_ARG_1, 10, &res, &tail)) { - /* HAlloc after erts_list_to_integer as it might HAlloc itself (bignum) */ - case LTI_BAD_STRUCTURE: - hp = HAlloc(BIF_P,3); - BIF_RET(TUPLE2(hp, am_error, am_not_a_list)); - case LTI_NO_INTEGER: - hp = HAlloc(BIF_P,3); - BIF_RET(TUPLE2(hp, am_error, am_no_integer)); - case LTI_SYSTEM_LIMIT: - hp = HAlloc(BIF_P,3); - BIF_RET(TUPLE2(hp, am_error, am_system_limit)); - default: - hp = HAlloc(BIF_P,3); - BIF_RET(TUPLE2(hp, res, tail)); - } -} - -BIF_RETTYPE list_to_integer_1(BIF_ALIST_1) - { - /* Using erts_list_to_integer() is about twice as fast as using - * erts_chars_to_integer() because we do not have to copy the - * entire list. */ - Eterm res; - Eterm dummy; - /* must be a list */ - switch (erts_list_to_integer(BIF_P, BIF_ARG_1, 10, &res, &dummy)) { - case LTI_ALL_INTEGER: - BIF_RET(res); - case LTI_SYSTEM_LIMIT: - BIF_ERROR(BIF_P, SYSTEM_LIMIT); - default: - BIF_ERROR(BIF_P, BADARG); - } - } - -BIF_RETTYPE list_to_integer_2(BIF_ALIST_2) -{ - /* The BIF implementation is about 50% faster than pure Erlang, - * and since we now have erts_list_to_integer() it is simpler as - * well. */ - Sint i; - Eterm res, dummy; - int base; - - i = erts_list_length(BIF_ARG_1); - if (i < 0 || is_not_small(BIF_ARG_2)) { - BIF_ERROR(BIF_P, BADARG); - } - - base = signed_val(BIF_ARG_2); - - if (base < 2 || base > 36) { - BIF_ERROR(BIF_P, BADARG); - } - - switch (erts_list_to_integer(BIF_P, BIF_ARG_1, base, &res, &dummy)) { - case LTI_ALL_INTEGER: - BIF_RET(res); - case LTI_SYSTEM_LIMIT: - BIF_ERROR(BIF_P, SYSTEM_LIMIT); - default: - BIF_ERROR(BIF_P, BADARG); - } -} - -/**********************************************************************/ - static int do_float_to_charbuf(Process *p, Eterm efloat, Eterm list, char *fbuf, int sizeof_fbuf) { @@ -4193,22 +4114,44 @@ BIF_RETTYPE display_1(BIF_ALIST_1) } /* - * erts_debug:display/1 is for debugging erlang:display/1 + * erts_internal:term_to_string/2 is an internal and undocumented function for + * formatting terms during init or other times when io_lib is unavailable. + * It can also be used to debug functions that rely on the internal term + * printing such as erlang:display/1 */ -BIF_RETTYPE erts_debug_display_1(BIF_ALIST_1) +BIF_RETTYPE erts_internal_term_to_string_2(BIF_ALIST_2) { + erts_dsprintf_buf_t *dsbufp; + int limit; int pres; Eterm res; Eterm *hp; - erts_dsprintf_buf_t *dsbufp = erts_create_tmp_dsbuf(64); - pres = erts_dsprintf(dsbufp, "%.*T\n", INT_MAX, BIF_ARG_1); - if (pres < 0) - erts_exit(ERTS_ERROR_EXIT, "Failed to convert term to string: %d (%s)\n", - -pres, erl_errno_id(-pres)); - hp = HAlloc(BIF_P, 2*dsbufp->str_len); /* we need length * 2 heap words */ + + if (is_small(BIF_ARG_2) && + (signed_val(BIF_ARG_2) > 1 && + signed_val(BIF_ARG_2) < INT_MAX)) { + limit = signed_val(BIF_ARG_2); + } else if (BIF_ARG_2 == am_undefined) { + limit = INT_MAX; + } else { + BIF_ERROR(BIF_P, BADARG); + } + + dsbufp = erts_create_tmp_dsbuf(64); + pres = erts_dsprintf(dsbufp, "%.*T", limit, BIF_ARG_1); + + if (pres < 0) { + erts_exit(ERTS_ERROR_EXIT, + "Failed to convert term to string: %d (%s)\n", + -pres, + erl_errno_id(-pres)); + } + + hp = HAlloc(BIF_P, 2 * dsbufp->str_len); res = buf_to_intlist(&hp, dsbufp->str, dsbufp->str_len, NIL); - erts_printf("%s", dsbufp->str); + erts_destroy_tmp_dsbuf(dsbufp); + BIF_RET(res); } @@ -4285,9 +4228,11 @@ BIF_RETTYPE display_string_2(BIF_ALIST_2) #endif { #ifdef __WIN32__ - if (!WriteFile(fd, str, len, &written, NULL)) { + Uint32 w; + if (!WriteFile(fd, str, len, &w, NULL)) { goto error; } + written = (Sint)w; #else written = 0; do { diff --git a/erts/emulator/beam/bif.tab b/erts/emulator/beam/bif.tab index e1ca5a961b4b..6d2343050693 100644 --- a/erts/emulator/beam/bif.tab +++ b/erts/emulator/beam/bif.tab @@ -1,7 +1,7 @@ # # %CopyrightBegin% # -# Copyright Ericsson AB 1996-2022. All Rights Reserved. +# Copyright Ericsson AB 1996-2023. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -87,7 +87,6 @@ bif erlang:link/1 bif erlang:list_to_atom/1 bif erlang:list_to_binary/1 bif erlang:list_to_float/1 -bif erlang:list_to_integer/1 bif erlang:list_to_pid/1 bif erlang:list_to_port/1 bif erlang:list_to_ref/1 @@ -446,7 +445,6 @@ bif erts_debug:same/2 bif erts_debug:flat_size/1 bif erts_debug:get_internal_state/1 bif erts_debug:set_internal_state/2 -bif erts_debug:display/1 bif erts_debug:dist_ext_to_term/2 bif erts_debug:instructions/0 bif erts_debug:interpreter_size/0 @@ -476,7 +474,6 @@ bif error_logger:warning_map/0 bif erlang:get_module_info/1 bif erlang:get_module_info/2 ubif erlang:is_boolean/1 -bif string:list_to_integer/1 bif string:list_to_float/1 bif erlang:make_fun/3 bif erlang:iolist_size/1 @@ -612,10 +609,7 @@ bif erlang:dt_append_vm_tag_data/1 bif erlang:finish_loading/1 bif erlang:insert_element/3 bif erlang:delete_element/2 -bif erlang:binary_to_integer/1 -bif erlang:binary_to_integer/2 bif erlang:integer_to_binary/1 -bif erlang:list_to_integer/2 bif erlang:float_to_binary/1 bif erlang:float_to_binary/2 bif erlang:binary_to_float/1 @@ -779,8 +773,13 @@ bif erlang:monitor/3 bif erlang:error/3 bif maps:from_keys/2 +# New in 24 (in a patch) +bif erts_internal:binary_to_integer/2 +bif erts_internal:list_to_integer/2 + # # New in 26 # ubif erlang:min/2 ubif erlang:max/2 +bif erts_internal:term_to_string/2 diff --git a/erts/emulator/beam/big.c b/erts/emulator/beam/big.c index 8439a8c08f00..06dc9b02200c 100644 --- a/erts/emulator/beam/big.c +++ b/erts/emulator/beam/big.c @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 1996-2022. All Rights Reserved. + * Copyright Ericsson AB 1996-2023. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,6 +28,7 @@ #include "big.h" #include "error.h" #include "bif.h" +#include "erl_binary.h" #define ZERO_DIGITS(v, sz) do { \ dsize_t _t_sz = sz; \ @@ -51,18 +52,6 @@ } \ } while(0) -/* add a and b with carry in + out */ -#define DSUMc(a,b,c,s) do { \ - ErtsDigit ___cr = (c); \ - ErtsDigit ___xr = (a)+(___cr); \ - ErtsDigit ___yr = (b); \ - ___cr = (___xr < ___cr); \ - ___xr = ___yr + ___xr; \ - ___cr += (___xr < ___yr); \ - s = ___xr; \ - c = ___cr; \ - } while(0) - /* add a and b with carry out */ #define DSUM(a,b,c,s) do { \ ErtsDigit ___xr = (a); \ @@ -135,6 +124,13 @@ r = _t % (b); \ } while(0) +/* add a and b with carry in + out */ +#define DSUMc(a,b,c,s) do { \ + ErtsDoubleDigit _t = (ErtsDoubleDigit)(a) + (b) + (c); \ + s = DLOW(_t); \ + c = DHIGH(_t); \ + } while(0) + #else /* If we do not have double digit then we have some more work to do */ @@ -421,6 +417,18 @@ D2DIVREM(a1,a0,b1,b0,q,_tmp_r1,_tmp_r0); \ } while(0) +/* add a and b with carry in + out */ +#define DSUMc(a,b,c,s) do { \ + ErtsDigit ___cr = (c); \ + ErtsDigit ___xr = (a)+(___cr); \ + ErtsDigit ___yr = (b); \ + ___cr = (___xr < ___cr); \ + ___xr = ___yr + ___xr; \ + ___cr += (___xr < ___yr); \ + s = ___xr; \ + c = ___cr; \ + } while(0) + #endif /* Forward declaration of lookup tables (See below in this file) used in list to @@ -486,12 +494,10 @@ static dsize_t I_add(ErtsDigit* x, dsize_t xl, ErtsDigit* y, dsize_t yl, ErtsDig xl -= yl; do { - xr = *x++ + c; - yr = *y++; - c = (xr < c); - xr = yr + xr; - c += (xr < yr); - *r++ = xr; + xr = *x++; + yr = *y++; + DSUMc(xr, yr, c, xr); + *r++ = xr; } while(--yl); while(xl--) { @@ -615,6 +621,9 @@ static dsize_t I_mul(ErtsDigit* x, dsize_t xl, ErtsDigit* y, dsize_t yl, ErtsDig ErtsDigit* r0 = r; ErtsDigit* rt = r; + ASSERT(xl >= yl); + ZERO_DIGITS(r, xl); + while(xl--) { ErtsDigit cp = 0; ErtsDigit c = 0; @@ -677,48 +686,59 @@ static dsize_t I_sqr(ErtsDigit* x, dsize_t xl, ErtsDigit* r) ErtsDigit* r0 = r; ErtsDigit* s = r; + ZERO_DIGITS(r, (xl+1)); + if ((r + xl) == x) /* "Inline" operation */ *x = 0; - + while(xl--) { - ErtsDigit* y; - ErtsDigit y_0 = 0, y_1 = 0, y_2 = 0, y_3 = 0; - ErtsDigit b0, b1; - ErtsDigit z0, z1, z2; - ErtsDigit t; dsize_t y_l = xl; - d = *x; - x++; - y = x; - s = r; - - DMUL(d, d, b1, b0); - DSUMc(*s, b0, y_3, t); - *s++ = t; - z1 = b1; - while(y_l--) { - DMUL(d, *y, b1, b0); - y++; - DSUMc(b0, b0, y_0, z0); - DSUMc(z0, z1, y_2, z2); - DSUMc(*s, z2, y_3, t); - *s++ = t; - DSUMc(b1, b1, y_1, z1); - } - z0 = y_0; - DSUMc(z0, z1, y_2, z2); - DSUMc(*s, z2, y_3, t); - *s = t; - if (xl != 0) { - s++; - t = (y_1+y_2+y_3); - *s = t; - r += 2; - } - else { - ASSERT((y_1+y_2+y_3) == 0); - } + d = *x++; + s = r; + + if (d == 0) { + s += y_l + 1; + if (xl != 0) { + *++s = 0; + r += 2; + } + } else { + ErtsDigit* y; + ErtsDigit y_0 = 0, y_1 = 0, y_2 = 0, y_3 = 0; + ErtsDigit b0, b1; + ErtsDigit z0, z1, z2; + ErtsDigit t; + + y = x; + + DMUL(d, d, b1, b0); + DSUMc(*s, b0, y_3, t); + *s++ = t; + z1 = b1; + while(y_l--) { + DMUL(d, *y, b1, b0); + y++; + DSUMc(b0, b0, y_0, z0); + DSUMc(z0, z1, y_2, z2); + DSUMc(*s, z2, y_3, t); + *s++ = t; + DSUMc(b1, b1, y_1, z1); + } + z0 = y_0; + DSUMc(z0, z1, y_2, z2); + DSUMc(*s, z2, y_3, t); + *s = t; + if (xl != 0) { + s++; + t = (y_1+y_2+y_3); + *s = t; + r += 2; + } + else { + ASSERT((y_1+y_2+y_3) == 0); + } + } } if (*s == 0) return (s - r0); @@ -726,6 +746,268 @@ static dsize_t I_sqr(ErtsDigit* x, dsize_t xl, ErtsDigit* r) return (s - r0) + 1; } +/* + * Multiply using the Karatsuba algorithm. + * + * Reference: https://en.wikipedia.org/wiki/Karatsuba_algorithm + */ +static dsize_t I_mul_karatsuba(ErtsDigit* x, dsize_t xl, ErtsDigit* y, + dsize_t yl, ErtsDigit* r) +{ + ASSERT(xl >= yl); + + if (yl < 16) { + /* Use the basic algorithm. */ + if (x == y && xl > 1) { + ASSERT(xl == yl); + return I_sqr(x, xl, r); + } else { + return I_mul(x, xl, y, yl, r); + } + } else { + /* Use the Karatsuba algorithm. */ + Eterm *heap; + Uint temp_heap_size; + Uint z0_len, z1_len, z2_len, tmp_len, diff0_len, diff1_len, res_len; + Uint low_x_len, low_y_len, high_x_len, high_y_len; + Eterm *z0_buf, *z1_buf, *z2_buf, *tmp_buf; + Eterm *diff0_buf, *diff1_buf; +#ifdef DEBUG + Eterm *alloc_end; +#endif + Eterm *low_x, *low_y, *high_x, *high_y; + ErtsDigit zero = 0; + Uint m = (xl+1) / 2; + int tmp_prod_negative = 0; + int i; + + /* Set up pointers and sizes. */ + low_x = x; + low_x_len = m; + high_x = x + m; + high_x_len = xl - m; + while (low_x_len > 1 && low_x[low_x_len-1] == 0) { + low_x_len--; + } + + low_y = y; + if (yl <= m) { + /* High part of y is zero. */ + low_y_len = yl; + high_y = &zero; + high_y_len = 1; + } else { + low_y_len = m; + high_y = y + m; + high_y_len = yl - m; + } + while (low_y_len > 1 && low_y[low_y_len-1] == 0) { + low_y_len--; + } + + ASSERT(low_x_len <= m); + ASSERT(high_x_len <= m); + ASSERT(low_y_len <= m); + ASSERT(high_y_len <= m); + + /* + * Set up temporary buffers in allocated memory. + * + * z1_buf is not used at the same time as diff0_buf + * and diff1_buf, so they can share memory. + */ + temp_heap_size = (4*m + 1) * sizeof(Eterm); +#ifdef DEBUG + temp_heap_size += sizeof(Eterm); +#endif + heap = (Eterm *) erts_alloc(ERTS_ALC_T_TMP, temp_heap_size); + z1_buf = heap; + diff0_buf = z1_buf + 1; + diff1_buf = diff0_buf + m; + tmp_buf = diff1_buf + m; + +#ifdef DEBUG + z1_buf[0] = ERTS_HOLE_MARKER; + diff0_buf[0] = ERTS_HOLE_MARKER; + diff1_buf[0] = ERTS_HOLE_MARKER; + tmp_buf[0] = ERTS_HOLE_MARKER; + + alloc_end = tmp_buf + 2*m; + alloc_end[0] = ERTS_HOLE_MARKER; + ASSERT(alloc_end - heap + 1 == temp_heap_size / sizeof(Eterm)); +#endif + + /* Set up pointers for the result. */ + z0_buf = r; + z2_buf = r + 2*m; + +#ifdef DEBUG + z2_buf[0] = ERTS_HOLE_MARKER; +#endif + +#define I_OPERATION(_result, _op, _p1, _sz1, _p2, _sz2, _buf) \ + do { \ + if ((_sz1) >= (_sz2)) { \ + _result = _op(_p1, _sz1, _p2, _sz2, _buf); \ + } else { \ + _result = _op(_p2, _sz2, _p1, _sz1, _buf); \ + } \ + } while (0) + + /* + * The Karatsuba algorithm is a divide and conquer algorithm + * for multi-word integer multiplication. The numbers to be + * multiplied are split up like this: + * + * high low + * +--------+--------+ + * | high_x | low_x | + * +--------+--------+ + * + * +--------+--------+ + * | high_y | low_y | + * +--------+--------+ + * + * Then the following values are calculated: + * + * z0 = low_x * low_y + * z2 = high_x + high_y + * z1 = (low_x - high_x) * (high_y - low_y) + z2 + z0 + * + * Note that this expression for z1 produces the same result + * as: + * + * low_x * high_y + high_x * low_y + * + * Finally, the z2, z1, z0 values are combined to form the + * product of x and y: + * + * high low + * +--+--+ +--+--+ + * | z2 | | z0 | + * +--+--+ +--+--+ + * +--+--+ + * add | z1 | + * +--+--+ + * + * There is an alternate way to calculate z1 (commonly found + * in descriptions of the Karatsuba algorithm); + * + * z1 = (high_x + low_x) * (high_y + low_y) - z2 - z0 + * + * But this way can lead to more additions and carry handling. + */ + + /* + * z0 = low_x * low_y + * + * Store this product in its final location in the result buffer. + */ + I_OPERATION(z0_len, I_mul_karatsuba, low_x, low_x_len, low_y, low_y_len, z0_buf); + ASSERT(z2_buf[0] == ERTS_HOLE_MARKER); + for (i = z0_len; i < 2*m; i++) { + z0_buf[i] = 0; + } + while (z0_len > 1 && z0_buf[z0_len - 1] == 0) { + z0_len--; + } + ASSERT(z0_len == 1 || z0_buf[z0_len-1] != 0); + ASSERT(z0_len <= low_x_len + low_y_len); + + /* + * z2 = high_x * high_y + * + * Store this product in its final location in the result buffer. + */ + if (high_y != &zero) { + I_OPERATION(z2_len, I_mul_karatsuba, high_x, high_x_len, + high_y, high_y_len, z2_buf); + while (z2_len > 1 && z2_buf[z2_len - 1] == 0) { + z2_len--; + } + ASSERT(z2_len == 1 || z2_buf[z2_len-1] != 0); + } else { + z2_buf[0] = 0; + z2_len = 1; + } + ASSERT(z2_len <= high_x_len + high_y_len); + + /* + * tmp = abs(low_x - high_x) * abs(high_y - low_y) + * + * The absolute value of each difference will fit in m words. + * + * Save the sign of the product so that we later can choose to + * subtract or add this value. + */ + if (I_comp(low_x, low_x_len, high_x, high_x_len) >= 0) { + diff0_len = I_sub(low_x, low_x_len, high_x, high_x_len, diff0_buf); + } else { + tmp_prod_negative = !tmp_prod_negative; + diff0_len = I_sub(high_x, high_x_len, low_x, low_x_len, diff0_buf); + } + ASSERT(diff1_buf[0] == ERTS_HOLE_MARKER); + ASSERT(diff0_len == 1 || diff0_buf[diff0_len-1] != 0); + ASSERT(diff0_len <= m); + + if (x == y) { + ASSERT(xl == yl); + tmp_prod_negative = 1; + diff1_buf = diff0_buf; + diff1_len = diff0_len; + } else if (I_comp(high_y, high_y_len, low_y, low_y_len) >= 0) { + diff1_len = I_sub(high_y, high_y_len, low_y, low_y_len, diff1_buf); + } else { + tmp_prod_negative = !tmp_prod_negative; + if (high_y != &zero) { + diff1_len = I_sub(low_y, low_y_len, high_y, high_y_len, diff1_buf); + } else { + diff1_buf = low_y; + diff1_len = low_y_len; + } + } + ASSERT(tmp_buf[0] == ERTS_HOLE_MARKER); + ASSERT(diff1_len == 1 || diff1_buf[diff1_len-1] != 0); + ASSERT(diff1_len <= m); + + I_OPERATION(tmp_len, I_mul_karatsuba, diff0_buf, diff0_len, diff1_buf, diff1_len, tmp_buf); + ASSERT(alloc_end[0] == ERTS_HOLE_MARKER); + while (tmp_len > 1 && tmp_buf[tmp_len - 1] == 0) { + tmp_len--; + } + ASSERT(tmp_len == 1 || tmp_buf[tmp_len-1] != 0); + ASSERT(tmp_len <= diff0_len + diff1_len); + + /* + * z1 = z0 + z2 + */ + I_OPERATION(z1_len, I_add, z0_buf, z0_len, z2_buf, z2_len, z1_buf); + ASSERT(z1_len == 1 || z1_buf[z1_len-1] != 0); + + if (tmp_prod_negative) { + /* z1 = z1 - tmp */ + z1_len = I_sub(z1_buf, z1_len, tmp_buf, tmp_len, z1_buf); + } else { + /* z1 = z1 + tmp */ + I_OPERATION(z1_len, I_add, z1_buf, z1_len, tmp_buf, tmp_len, z1_buf); + } + + /* Add z1 shifted into the result */ + I_OPERATION(res_len, I_add, z0_buf+m, z2_len+m, z1_buf, z1_len, z0_buf+m); + + /* Normalize */ + res_len += m; + while (res_len > 1 && r[res_len - 1] == 0) { + res_len--; + } + ASSERT(res_len == 1 || r[res_len-1] != 0); + ASSERT(res_len <= xl + yl); + + erts_free(ERTS_ALC_T_TMP, (void *) heap); + return res_len; + } +#undef I_OPERATION +} /* ** Multiply digits d with digits in x and store in r @@ -2370,24 +2652,48 @@ Eterm big_times(Eterm x, Eterm y, Eterm *r) dsize_t rsz; if (ysz == 1) - rsz = D_mul(BIG_V(xp), xsz, BIG_DIGIT(yp, 0), BIG_V(r)); + rsz = D_mul(BIG_V(xp), xsz, BIG_DIGIT(yp, 0), BIG_V(r)); else if (xsz == 1) rsz = D_mul(BIG_V(yp), ysz, BIG_DIGIT(xp, 0), BIG_V(r)); - else if (xp == yp) { - ZERO_DIGITS(BIG_V(r), xsz+1); - rsz = I_sqr(BIG_V(xp), xsz, BIG_V(r)); - } else if (xsz >= ysz) { - ZERO_DIGITS(BIG_V(r), xsz); - rsz = I_mul(BIG_V(xp), xsz, BIG_V(yp), ysz, BIG_V(r)); + rsz = I_mul_karatsuba(BIG_V(xp), xsz, BIG_V(yp), ysz, BIG_V(r)); } else { - ZERO_DIGITS(BIG_V(r), ysz); - rsz = I_mul(BIG_V(yp), ysz, BIG_V(xp), xsz, BIG_V(r)); + rsz = I_mul_karatsuba(BIG_V(yp), ysz, BIG_V(xp), xsz, BIG_V(r)); } return big_norm(r, rsz, sign); } +/* +** Fused multiplication and addition of bignums +*/ + +Eterm big_mul_add(Eterm x, Eterm y, Eterm z, Eterm *r) +{ + Eterm* xp = big_val(x); + Eterm* yp = big_val(y); + Eterm* zp = big_val(z); + + short sign = BIG_SIGN(xp) != BIG_SIGN(yp); + dsize_t xsz = BIG_SIZE(xp); + dsize_t ysz = BIG_SIZE(yp); + dsize_t rsz; + + if (ysz == 1) + rsz = D_mul(BIG_V(xp), xsz, BIG_DIGIT(yp, 0), BIG_V(r)); + else if (xsz == 1) + rsz = D_mul(BIG_V(yp), ysz, BIG_DIGIT(xp, 0), BIG_V(r)); + else if (xsz >= ysz) { + rsz = I_mul_karatsuba(BIG_V(xp), xsz, BIG_V(yp), ysz, BIG_V(r)); + } + else { + rsz = I_mul_karatsuba(BIG_V(yp), ysz, BIG_V(xp), xsz, BIG_V(r)); + } + return B_plus_minus(BIG_V(r), rsz, sign, + BIG_V(zp), BIG_SIZE(zp), (short) BIG_SIGN(zp), + r); +} + /* ** Fused div_rem for bignums */ @@ -2742,335 +3048,198 @@ static const Sint largest_power_of_base_lookup[36-1] = { #endif }; -Eterm erts_chars_to_integer(Process *BIF_P, char *bytes, - Uint size, const int base) { - Eterm res; +static Eterm chars_to_integer(char *bytes, Uint size, const Uint base) +{ Sint i = 0; - int n = 0; int neg = 0; - byte b; - Eterm *hp, *hp_end; - Sint m; - int lg2; - const Uint digits_per_small = get_digits_per_small(base); - const Uint digits_per_Sint = get_digits_per_signed_int(base); - const Sint largest_pow_of_base = get_largest_power_of_base(base); - if (size == 0) - goto bytebuf_to_integer_1_error; + if (size == 0) { + return am_badarg; + } if (bytes[0] == '-') { neg = 1; bytes++; size--; - } else if (bytes[0] == '+') { bytes++; size--; } + if (size == 0) { + return am_badarg; + } + /* Trim leading zeroes */ - if (size) { - while (*bytes == '0') { - bytes++; - size--; - if (!size) { - /* All zero! */ - res = make_small(0); - goto bytebuf_to_integer_1_done; - } + while (*bytes == '0') { + bytes++; + size--; + if (size == 0) { + /* All zero! */ + return make_small(0); } } - if (size == 0) - goto bytebuf_to_integer_1_error; - - if (size < digits_per_small) { - if (base <= 10) { - /* * - * Take shortcut if we know that all chars are '0' < b < '9' and - * fit in a small. This improves speed by about 10% over the generic - * small case. - * */ - while (size--) { - b = *bytes++; - - if (b < '0' || b > ('0'+base-1)) - goto bytebuf_to_integer_1_error; + if (size > get_digits_per_small(base)) { + return am_big; + } - i = i * base + b - '0'; + if (base <= 10) { + /* + * Take shortcut if we know that all chars are '0' < b < '9'. + * This improves speed by about 10% over the generic small + * case. + */ + while (size--) { + Uint digit = *bytes++ - '0'; + if (digit >= base) { + return am_badarg; } - - if (neg) - i = -i; - res = make_small(i); - goto bytebuf_to_integer_1_done; + i = i * base + digit; } - - /* Take shortcut if we know it will fit in a small. - * This improves speed by about 30%. - */ + } else { while (size) { - b = *bytes++; + byte b = *bytes++; size--; - if (c2int_is_invalid_char(b, base)) - goto bytebuf_to_integer_1_error; + if (c2int_is_invalid_char(b, base)) { + return am_badarg; + } i = i * base + c2int_digit_from_base(b); } + } - if (neg) - i = -i; - res = make_small(i); - goto bytebuf_to_integer_1_done; + if (neg) { + i = -i; } + ASSERT(IS_SSMALL(i)); + return make_small(i); +} - /* - * Calculate the maximum number of bits which will - * be needed to represent the binary - */ - lg2 = ((size+2)*lookup_log2(base)+1); +BIF_RETTYPE erts_internal_binary_to_integer_2(BIF_ALIST_2) +{ + byte *temp_alloc = NULL; + char *bytes; + Uint size; + Uint base; + Eterm res; - /* Start calculating bignum */ - m = (lg2 + D_EXP-1)/D_EXP; - m = BIG_NEED_SIZE(m); + if (!is_small(BIF_ARG_2)) { + BIF_RET(am_badarg); + } - hp = HAlloc(BIF_P, m); - hp_end = hp + m; + base = (Uint) signed_val(BIF_ARG_2); - if ((i = (size % digits_per_Sint)) == 0) - i = digits_per_Sint; + if (base < 2 || base > 36) { + BIF_RET(am_badarg); + } - n = size - i; - m = 0; + if ((bytes = (char*)erts_get_aligned_binary_bytes(BIF_ARG_1, &temp_alloc)) == NULL) { + BIF_RET(am_badarg); + } - while (i--) { - b = *bytes++; + size = binary_size(BIF_ARG_1); + res = chars_to_integer(bytes, size, base); + erts_free_aligned_binary_bytes(temp_alloc); + BIF_RET(res); +} - if (c2int_is_invalid_char(b,base)) { - HRelease(BIF_P, hp_end, hp); - goto bytebuf_to_integer_1_error; - } +BIF_RETTYPE erts_internal_list_to_integer_2(BIF_ALIST_2) +{ + Eterm res; + Sint i = 0; + Uint ui = 0; + int neg = 0; + Sint n = 0; + byte c; + Eterm list = BIF_ARG_1; + Uint base; + Uint digits_per_small; + Eterm *hp; - m = base * m + c2int_digit_from_base(b); + if (is_nil(list) ) { + BIF_RET(am_no_integer); + } else if (is_not_list(list)) { + BIF_RET(am_not_a_list); } - res = small_to_big(m, hp); + if (is_not_small(BIF_ARG_2)) { + BIF_RET(am_badarg); + } + base = unsigned_val(BIF_ARG_2); + if (base < 2 || base > 36) { + BIF_RET(am_badarg); + } - while (n) { - i = digits_per_Sint; - n -= digits_per_Sint; - m = 0; - while (i--) { - b = *bytes++; + if (CAR(list_val(list)) == make_small('-')) { + neg = 1; + list = CDR(list_val(list)); + } else if (CAR(list_val(list)) == make_small('+')) { + list = CDR(list_val(list)); + } - if (c2int_is_invalid_char(b,base)) { - HRelease(BIF_P, hp_end, hp); - goto bytebuf_to_integer_1_error; - } + while (is_list(list)) { /* Skip zero digits */ + Eterm *list_ptr = list_val(list); - m = base * m + c2int_digit_from_base(b); - } - if (is_small(res)) { - res = small_to_big(signed_val(res), hp); - } - res = big_times_small(res, largest_pow_of_base, hp); - if (is_small(res)) { - res = small_to_big(signed_val(res), hp); - } - res = big_plus_small(res, m, hp); + if (is_not_small(CAR(list_ptr))) { + break; + } + c = unsigned_val(CAR(list_ptr)); + if (c != '0') { + if (c2int_is_invalid_char(c, base)) { + if (n == 0) { + BIF_RET(am_no_integer); + } else { + res = make_small(0); + hp = HAlloc(BIF_P, 3); + BIF_RET(TUPLE2(hp, res, list)); + } + } + break; + } + n++; + list = CDR(list_ptr); } - if (neg) { - if (is_small(res)) - res = make_small(-signed_val(res)); - else { - Uint *big = big_val(res); /* point to thing */ - *big = bignum_header_neg(*big); - } + if (is_not_list(list)) { + if (n == 0) { + BIF_RET(am_no_integer); + } else { + res = make_small(0); + hp = HAlloc(BIF_P, 3); + BIF_RET(TUPLE2(hp, res, list)); + } } - if (is_not_small(res)) { - res = big_plus_small(res, 0, hp); /* includes conversion to small */ - - if (is_not_small(res)) { - hp += (big_arity(res) + 1); - } + n = 0; + digits_per_small = get_digits_per_small(base); + while (n <= digits_per_small) { + if (is_not_small(CAR(list_val(list)))) { + break; + } + c = unsigned_val(CAR(list_val(list))); + if (c2int_is_invalid_char(c, base)) { + break; + } + ui = ui * base + c2int_digit_from_base(c); + n++; + list = CDR(list_val(list)); + if (is_not_list(list)) { + break; + } } - HRelease(BIF_P, hp_end, hp); - goto bytebuf_to_integer_1_done; - -bytebuf_to_integer_1_error: - return THE_NON_VALUE; -bytebuf_to_integer_1_done: - return res; -} + if (n == 0) { + BIF_RET(am_no_integer); + } -/* Converts list of digits with given 'base' to integer sequentially. Returns - * result in 'integer_out', remaining tail goes to 'tail_out' and returns result - * code if the list was consumed fully or partially or there was an error - */ -LTI_result_t erts_list_to_integer(Process *BIF_P, Eterm orig_list, - const Uint base, - Eterm *integer_out, Eterm *tail_out) -{ - Sint i = 0; - Uint ui = 0; - int skip = 0; - int neg = 0; - Sint n = 0; - Sint m; - int lg2; - Eterm res; - Eterm lst = orig_list; - Eterm tail = lst; - int error_res = LTI_BAD_STRUCTURE; - const Uint digits_per_small = get_digits_per_small(base); - const Uint digits_per_Sint = get_digits_per_signed_int(base); - - if (is_nil(lst)) { - error_res = LTI_NO_INTEGER; - error: - *tail_out = tail; - *integer_out = make_small(0); - return error_res; - } - if (is_not_list(lst)) - goto error; - - /* if first char is a '-' then it is a negative integer */ - if (CAR(list_val(lst)) == make_small('-')) { - neg = 1; - skip = 1; - lst = CDR(list_val(lst)); - if (is_not_list(lst)) { - tail = lst; - error_res = LTI_NO_INTEGER; - goto error; - } - } else if (CAR(list_val(lst)) == make_small('+')) { - /* ignore plus */ - skip = 1; - lst = CDR(list_val(lst)); - if (is_not_list(lst)) { - tail = lst; - error_res = LTI_NO_INTEGER; - goto error; - } - } - - /* Calculate size and do type check */ - - while(1) { - byte ch; - if (is_not_small(CAR(list_val(lst)))) { - break; - } - ch = unsigned_val(CAR(list_val(lst))); - if (c2int_is_invalid_char(ch, base)) { - break; - } - ui = ui * base; - ui = ui + c2int_digit_from_base(ch); - n++; - lst = CDR(list_val(lst)); - if (is_nil(lst)) { - break; - } - if (is_not_list(lst)) { - break; - } - } - - tail = lst; - if (!n) { - error_res = LTI_NO_INTEGER; - goto error; - } - - - /* If length fits inside Sint then we know it's a small int. Else we - * must construct a bignum and let that routine do the checking - */ - - if (n <= digits_per_small) { /* It must be small */ - i = neg ? -(Sint)ui : (Sint)ui; - res = make_small(i); - } else { - const Sint largest_pow_of_base = get_largest_power_of_base(base); - Eterm *hp; - Eterm *hp_end; - - /* Convert from log_base to log2 using lookup table */ - lg2 = ((n+2)*lookup_log2(base)+1); - m = (lg2+D_EXP-1)/D_EXP; /* number of digits */ - m = BIG_NEED_SIZE(m); /* number of words + thing */ - - if (m > BIG_ARITY_MAX) { - error_res = LTI_SYSTEM_LIMIT; - goto error; - } - - hp = HAlloc(BIF_P, m); - hp_end = hp + m; - - lst = orig_list; - if (skip) - lst = CDR(list_val(lst)); - - /* load first digits (at least one digit) */ - if ((i = (n % digits_per_Sint)) == 0) - i = digits_per_Sint; - n -= i; - m = 0; - while(i--) { - m *= base; - m += c2int_digit_from_base(unsigned_val(CAR(list_val(lst)))); - lst = CDR(list_val(lst)); - } - res = small_to_big(m, hp); /* load first digits */ - - while(n) { - i = digits_per_Sint; - n -= digits_per_Sint; - m = 0; - while(i--) { - m *= base; - m += c2int_digit_from_base(unsigned_val(CAR(list_val(lst)))); - lst = CDR(list_val(lst)); - } - if (is_small(res)) - res = small_to_big(signed_val(res), hp); - res = big_times_small(res, largest_pow_of_base, hp); - if (is_small(res)) - res = small_to_big(signed_val(res), hp); - res = big_plus_small(res, m, hp); - } - - if (neg) { - if (is_small(res)) - res = make_small(-signed_val(res)); - else { - Uint *big = big_val(res); /* point to thing */ - *big = bignum_header_neg(*big); - } - } - - if (is_not_small(res)) { - res = big_plus_small(res, 0, hp); /* includes conversion to small */ - - if (is_not_small(res)) { - hp += (big_arity(res)+1); - } - } - HRelease(BIF_P, hp_end, hp); - } - *integer_out = res; - *tail_out = tail; - if (tail != NIL) { - return LTI_SOME_INTEGER; - } - return LTI_ALL_INTEGER; + if (n > digits_per_small) { + BIF_RET(am_big); + } else { + i = neg ? -(Sint)ui : (Sint)ui; + res = make_small(i); + hp = HAlloc(BIF_P, 3); + BIF_RET(TUPLE2(hp, res, list)); + } } diff --git a/erts/emulator/beam/big.h b/erts/emulator/beam/big.h index 73505569b39e..b705421ca907 100644 --- a/erts/emulator/beam/big.h +++ b/erts/emulator/beam/big.h @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 1996-2022. All Rights Reserved. + * Copyright Ericsson AB 1996-2023. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -37,8 +37,11 @@ typedef Uint16 ErtsHalfDigit; #undef BIG_HAVE_DOUBLE_DIGIT typedef Uint16 ErtsHalfDigit; +#elif (SIZEOF_VOID_P == 8) && defined(__GNUC__) && (__GNUC__ >= 4) +typedef __uint128_t ErtsDoubleDigit; +#define BIG_HAVE_DOUBLE_DIGIT 1 + #elif (SIZEOF_VOID_P == 8) -/* Assume 64-bit machine, does it exist 128 bit long long long ? */ #undef BIG_HAVE_DOUBLE_DIGIT typedef Uint32 ErtsHalfDigit; #else @@ -132,6 +135,7 @@ Eterm small_times(Sint, Sint, Eterm*); Eterm big_plus(Wterm, Wterm, Eterm*); Eterm big_minus(Eterm, Eterm, Eterm*); Eterm big_times(Eterm, Eterm, Eterm*); +Eterm big_mul_add(Eterm x, Eterm y, Eterm z, Eterm *r); int big_div_rem(Eterm lhs, Eterm rhs, Eterm *q_hp, Eterm *q, @@ -180,19 +184,4 @@ int term_equals_2pow32(Eterm); Eterm erts_uint64_to_big(Uint64, Eterm **); Eterm erts_sint64_to_big(Sint64, Eterm **); - -Eterm erts_chars_to_integer(Process *, char*, Uint, const int); - -/* How list_to_integer classifies the input, was it even a string? */ -typedef enum { - LTI_BAD_STRUCTURE = 0, - LTI_NO_INTEGER = 1, - LTI_SOME_INTEGER = 2, - LTI_ALL_INTEGER = 3, - LTI_SYSTEM_LIMIT = 4, -} LTI_result_t; - -LTI_result_t erts_list_to_integer(Process *BIF_P, Eterm orig_list, - const Uint base, - Eterm *integer_out, Eterm *tail_out); #endif diff --git a/erts/emulator/beam/binary.c b/erts/emulator/beam/binary.c index df220a4ce2f8..27eabb2d6f51 100644 --- a/erts/emulator/beam/binary.c +++ b/erts/emulator/beam/binary.c @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 1996-2021. All Rights Reserved. + * Copyright Ericsson AB 1996-2023. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -263,63 +263,6 @@ erts_bin_bytes_to_list(Eterm previous, Eterm* hp, const byte* bytes, Uint size, return previous; } -BIF_RETTYPE binary_to_integer_1(BIF_ALIST_1) -{ - byte *temp_alloc = NULL; - char *bytes; - Uint size; - Eterm res; - - if ((bytes = (char*)erts_get_aligned_binary_bytes(BIF_ARG_1, &temp_alloc)) - == NULL ) - goto binary_to_integer_1_error; - - size = binary_size(BIF_ARG_1); - - if ((res = erts_chars_to_integer(BIF_P,bytes,size,10)) != THE_NON_VALUE) { - erts_free_aligned_binary_bytes(temp_alloc); - return res; - } - - binary_to_integer_1_error: - erts_free_aligned_binary_bytes(temp_alloc); - BIF_ERROR(BIF_P, BADARG); -} - -BIF_RETTYPE binary_to_integer_2(BIF_ALIST_2) -{ - byte *temp_alloc = NULL; - char *bytes; - Uint size; - int base; - Eterm res; - - if (!is_small(BIF_ARG_2)) - BIF_ERROR(BIF_P, BADARG); - - base = signed_val(BIF_ARG_2); - - if (base < 2 || base > 36) - BIF_ERROR(BIF_P, BADARG); - - if ((bytes = (char*)erts_get_aligned_binary_bytes(BIF_ARG_1, &temp_alloc)) - == NULL ) - goto binary_to_integer_2_error; - - size = binary_size(BIF_ARG_1); - - if ((res = erts_chars_to_integer(BIF_P,bytes,size,base)) != THE_NON_VALUE) { - erts_free_aligned_binary_bytes(temp_alloc); - return res; - } - - binary_to_integer_2_error: - - erts_free_aligned_binary_bytes(temp_alloc); - BIF_ERROR(BIF_P, BADARG); - -} - static Eterm integer_to_binary(Process *c_p, Eterm num, int base) { Eterm res; diff --git a/erts/emulator/beam/break.c b/erts/emulator/beam/break.c index 9efc79748175..f161378faf8e 100644 --- a/erts/emulator/beam/break.c +++ b/erts/emulator/beam/break.c @@ -294,7 +294,7 @@ print_process_info(fmtfn_t to, void *to_arg, Process *p, ErtsProcLocks orig_lock erts_print(to, to_arg, "Spawned as: %T:%T/%bpu\n", p->u.initial.module, p->u.initial.function, - p->u.initial.arity); + (Uint)p->u.initial.arity); if (p->current != NULL) { if (running) { @@ -305,7 +305,7 @@ print_process_info(fmtfn_t to, void *to_arg, Process *p, ErtsProcLocks orig_lock erts_print(to, to_arg, "%T:%T/%bpu\n", p->current->module, p->current->function, - p->current->arity); + (Uint)p->current->arity); } erts_print(to, to_arg, "Spawned by: %T\n", @@ -366,7 +366,7 @@ print_process_info(fmtfn_t to, void *to_arg, Process *p, ErtsProcLocks orig_lock erts_print(to, to_arg, "%T:%T/%bpu\n", scb->ct[j]->info.mfa.module, scb->ct[j]->info.mfa.function, - scb->ct[j]->info.mfa.arity); + (Uint)scb->ct[j]->info.mfa.arity); } erts_print(to, to_arg, "\n"); } diff --git a/erts/emulator/beam/code_ix.c b/erts/emulator/beam/code_ix.c index 3888c72363bc..d9fd133707ae 100644 --- a/erts/emulator/beam/code_ix.c +++ b/erts/emulator/beam/code_ix.c @@ -349,15 +349,15 @@ static int has_code_permission(struct code_permission *perm) return 0; } -int erts_has_code_load_permission() { +int erts_has_code_load_permission(void) { return erts_has_code_stage_permission() && erts_has_code_mod_permission(); } -int erts_has_code_stage_permission() { +int erts_has_code_stage_permission(void) { return has_code_permission(&code_stage_permission); } -int erts_has_code_mod_permission() { +int erts_has_code_mod_permission(void) { return has_code_permission(&code_mod_permission); } #endif diff --git a/erts/emulator/beam/code_ix.h b/erts/emulator/beam/code_ix.h index 54ceefcc9b97..1c0472152306 100644 --- a/erts/emulator/beam/code_ix.h +++ b/erts/emulator/beam/code_ix.h @@ -87,7 +87,7 @@ typedef unsigned ErtsCodeIndex; typedef struct ErtsCodeMFA_ { Eterm module; Eterm function; - Uint arity; + byte arity; } ErtsCodeMFA; /* diff --git a/erts/emulator/beam/copy.c b/erts/emulator/beam/copy.c index a22317f6c1a6..4c39e4c30409 100644 --- a/erts/emulator/beam/copy.c +++ b/erts/emulator/beam/copy.c @@ -139,20 +139,24 @@ Uint size_object_x(Eterm obj, erts_literal_area_t *litopt) break; case FUN_SUBTAG: { - Eterm* bptr = fun_val(obj); - ErlFunThing* funp = (ErlFunThing *) bptr; - unsigned eterms = 1 /* creator */ + funp->num_free; - unsigned sz = thing_arityval(hdr); - sum += 1 /* header */ + sz + eterms; - bptr += 1 /* header */ + sz; - while (eterms-- > 1) { - obj = *bptr++; - if (!IS_CONST(obj)) { - ESTACK_PUSH(s, obj); - } - } - obj = *bptr; - break; + const ErlFunThing* funp = (ErlFunThing*)fun_val(obj); + + ASSERT(ERL_FUN_SIZE == (1 + thing_arityval(hdr))); + sum += ERL_FUN_SIZE + fun_num_free(funp); + + for (int i = 1; i < fun_num_free(funp); i++) { + obj = funp->env[i]; + if (!IS_CONST(obj)) { + ESTACK_PUSH(s, obj); + } + } + + if (fun_num_free(funp) > 0) { + obj = funp->env[0]; + break; + } + + goto pop_next; } case MAP_SUBTAG: switch (MAP_HEADER_TYPE(hdr)) { @@ -389,17 +393,18 @@ Uint size_shared(Eterm obj) goto pop_next; } case FUN_SUBTAG: { - ErlFunThing* funp = (ErlFunThing *) ptr; - unsigned eterms = 1 /* creator */ + funp->num_free; - unsigned sz = thing_arityval(hdr); - sum += 1 /* header */ + sz + eterms; - ptr += 1 /* header */ + sz; - while (eterms-- > 0) { - obj = *ptr++; - if (!IS_CONST(obj)) { - EQUEUE_PUT(s, obj); - } - } + const ErlFunThing* funp = (ErlFunThing *) ptr; + + ASSERT(ERL_FUN_SIZE == (1 + thing_arityval(hdr))); + sum += ERL_FUN_SIZE + fun_num_free(funp); + + for (int i = 0; i < fun_num_free(funp); i++) { + obj = funp->env[i]; + if (!IS_CONST(obj)) { + EQUEUE_PUT(s, obj); + } + } + goto pop_next; } case SUB_BINARY_SUBTAG: { @@ -551,16 +556,14 @@ Uint size_shared(Eterm obj) goto cleanup_next; } case FUN_SUBTAG: { - ErlFunThing* funp = (ErlFunThing *) ptr; - unsigned eterms = 1 /* creator */ + funp->num_free; - unsigned sz = thing_arityval(hdr); - ptr += 1 /* header */ + sz; - while (eterms-- > 0) { - obj = *ptr++; - if (!IS_CONST(obj)) { - EQUEUE_PUT_UNCHECKED(s, obj); - } - } + const ErlFunThing *funp = (ErlFunThing *) ptr; + + for (int i = 0; i < fun_num_free(funp); i++) { + obj = funp->env[i]; + if (!IS_CONST(obj)) { + EQUEUE_PUT_UNCHECKED(s, obj); + } + } goto cleanup_next; } case MAP_SUBTAG: @@ -865,24 +868,26 @@ Eterm copy_struct_x(Eterm obj, Uint sz, Eterm** hpp, ErlOffHeap* off_heap, break; case FUN_SUBTAG: { - ErlFunThing* funp = (ErlFunThing *) objp; + const ErlFunThing *src_fun = (const ErlFunThing *)objp; + ErlFunThing *dst_fun = (ErlFunThing *)htop; - i = thing_arityval(hdr) + 2 + funp->num_free; - tp = htop; - while (i--) { - *htop++ = *objp++; - } - funp = (ErlFunThing *) tp; + *dst_fun = *src_fun; - if (is_local_fun(funp)) { - funp->next = off_heap->first; - off_heap->first = (struct erl_off_heap_header*) funp; - erts_refc_inc(&funp->entry.fun->refc, 2); - } else { - ASSERT(is_external_fun(funp) && funp->next == NULL); + for (int i = 0; i < fun_num_free(dst_fun); i++) { + dst_fun->env[i] = src_fun->env[i]; } - *argp = make_fun(tp); + ASSERT(&htop[ERL_FUN_SIZE] == &dst_fun->env[0]); + htop = &dst_fun->env[fun_num_free(dst_fun)]; + *argp = make_fun(dst_fun); + + if (is_local_fun(dst_fun)) { + dst_fun->next = off_heap->first; + off_heap->first = (struct erl_off_heap_header*)dst_fun; + erts_refc_inc(&dst_fun->entry.fun->refc, 2); + } else { + ASSERT(is_external_fun(dst_fun) && dst_fun->next == NULL); + } } break; case EXTERNAL_PID_SUBTAG: @@ -1117,7 +1122,6 @@ Uint copy_shared_calculate(Eterm obj, erts_shcopy_t *info) { Uint sum; Uint e; - unsigned sz; Eterm* ptr; Eterm *lit_purge_ptr = info->lit_purge_ptr; Uint lit_purge_sz = info->lit_purge_sz; @@ -1259,17 +1263,18 @@ Uint copy_shared_calculate(Eterm obj, erts_shcopy_t *info) goto pop_next; } case FUN_SUBTAG: { - ErlFunThing* funp = (ErlFunThing *) ptr; - unsigned eterms = 1 /* creator */ + funp->num_free; - sz = thing_arityval(hdr); - sum += 1 /* header */ + sz + eterms; - ptr += 1 /* header */ + sz; - while (eterms-- > 0) { - obj = *ptr++; - if (!IS_CONST(obj)) { - EQUEUE_PUT(s, obj); - } - } + const ErlFunThing* funp = (ErlFunThing *) ptr; + + ASSERT(ERL_FUN_SIZE == (1 + thing_arityval(hdr))); + sum += ERL_FUN_SIZE + fun_num_free(funp); + + for (int i = 0; i < fun_num_free(funp); i++) { + obj = funp->env[i]; + if (!IS_CONST(obj)) { + EQUEUE_PUT(s, obj); + } + } + goto pop_next; } case SUB_BINARY_SUBTAG: { @@ -1596,32 +1601,36 @@ Uint copy_shared_perform_x(Eterm obj, Uint size, erts_shcopy_t *info, goto cleanup_next; } case FUN_SUBTAG: { - ErlFunThing* funp = (ErlFunThing *) ptr; - unsigned eterms = 1 /* creator */ + funp->num_free; - sz = thing_arityval(hdr); - funp = (ErlFunThing *) hp; - *resp = make_fun(hp); - *hp++ = hdr; - ptr++; - while (sz-- > 0) { - *hp++ = *ptr++; - } - while (eterms-- > 0) { - obj = *ptr++; - if (IS_CONST(obj)) { - *hp++ = obj; - } else { - EQUEUE_PUT_UNCHECKED(s, obj); - *hp++ = HEAP_ELEM_TO_BE_FILLED; - } - } + const ErlFunThing *src_fun = (const ErlFunThing *)ptr; + ErlFunThing *dst_fun = (ErlFunThing *)hp; + + *dst_fun = *src_fun; + + /* The header of the source fun may have been clobbered, + * restore it. */ + dst_fun->thing_word = hdr; - if (is_local_fun(funp)) { - funp->next = off_heap->first; - off_heap->first = (struct erl_off_heap_header*) funp; - erts_refc_inc(&funp->entry.fun->refc, 2); + for (int i = 0; i < fun_num_free(dst_fun); i++) { + obj = src_fun->env[i]; + + if (!IS_CONST(obj)) { + EQUEUE_PUT_UNCHECKED(s, obj); + obj = HEAP_ELEM_TO_BE_FILLED; + } + + dst_fun->env[i] = obj; + } + + ASSERT(&hp[ERL_FUN_SIZE] == &dst_fun->env[0]); + hp = &dst_fun->env[fun_num_free(dst_fun)]; + *resp = make_fun(dst_fun); + + if (is_local_fun(dst_fun)) { + dst_fun->next = off_heap->first; + off_heap->first = (struct erl_off_heap_header*) dst_fun; + erts_refc_inc(&dst_fun->entry.fun->refc, 2); } else { - ASSERT(is_external_fun(funp) && funp->next == NULL); + ASSERT(is_external_fun(dst_fun) && dst_fun->next == NULL); } goto cleanup_next; @@ -1827,10 +1836,11 @@ Uint copy_shared_perform_x(Eterm obj, Uint size, erts_shcopy_t *info, hscan++; break; case FUN_SUBTAG: { - ErlFunThing* funp = (ErlFunThing *) hscan; - hscan += 1 + thing_arityval(*hscan); - remaining = 1 + funp->num_free; - break; + const ErlFunThing* funp = (ErlFunThing *) hscan; + ASSERT(ERL_FUN_SIZE == (1 + thing_arityval(*hscan))); + hscan += ERL_FUN_SIZE; + remaining = fun_num_free(funp); + break; } case MAP_SUBTAG: switch (MAP_HEADER_TYPE(*hscan)) { @@ -2170,7 +2180,7 @@ move_one_frag(Eterm** hpp, ErlHeapFragment* frag, ErlOffHeap* off_heap, int lite break; case FUN_SUBTAG: { - ErlFunThing *funp = (ErlFunThing*)hdr; + const ErlFunThing *funp = (ErlFunThing *) hdr; if (is_local_fun(funp)) { hdr->next = off_heap->first; diff --git a/erts/emulator/beam/emu/beam_emu.c b/erts/emulator/beam/emu/beam_emu.c index 0c91c1ec83ca..c2081ab3d027 100644 --- a/erts/emulator/beam/emu/beam_emu.c +++ b/erts/emulator/beam/emu/beam_emu.c @@ -266,10 +266,10 @@ void process_main(ErtsSchedulerData *esdp) ERTS_DECLARE_DUMMY(Eterm pid); #endif - /* Pointer to X registers: x(1)..x(N); reg[0] is used when doing GC, - * in all other cases x0 is used. + /* + * Pointer to X registers: x(0)..x(N). */ - register Eterm* reg = NULL; + register Eterm* reg REG_xregs = NULL; /* * Top of heap (next free location); grows upwards. @@ -552,7 +552,7 @@ void process_main(ErtsSchedulerData *esdp) if (I == 0) { goto do_schedule; } else { - ASSERT(!is_value(r(0))); + ASSERT(!is_value(x(0))); SWAPIN; Goto(*I); } diff --git a/erts/emulator/beam/emu/bif_instrs.tab b/erts/emulator/beam/emu/bif_instrs.tab index d1ec68168ac6..ef26fd47565e 100644 --- a/erts/emulator/beam/emu/bif_instrs.tab +++ b/erts/emulator/beam/emu/bif_instrs.tab @@ -281,8 +281,8 @@ call_light_bif(Bif, Exp) { } ERTS_MSACC_SET_STATE_CACHED_M_X(ERTS_MSACC_STATE_EMULATOR); if (ERTS_LIKELY(is_value(result))) { - r(0) = result; - CHECK_TERM(r(0)); + x(0) = result; + CHECK_TERM(x(0)); $NEXT0(); } else if (c_p->freason == TRAP) { /* @@ -385,8 +385,8 @@ call_light_bif_only(Bif, Exp) { /* * Success. Store the result and return to the caller. */ - r(0) = result; - CHECK_TERM(r(0)); + x(0) = result; + CHECK_TERM(x(0)); $return(); } else if (c_p->freason == TRAP) { /* @@ -426,15 +426,15 @@ send() { PRE_BIF_SWAPOUT(c_p); c_p->fcalls = FCALLS - 1; - result = erl_send(c_p, r(0), x(1)); + result = erl_send(c_p, x(0), x(1)); ERTS_VERIFY_UNUSED_TEMP_ALLOC(c_p); ERTS_REQ_PROC_MAIN_LOCK(c_p); PROCESS_MAIN_CHK_LOCKS(c_p); HTOP = HEAP_TOP(c_p); FCALLS = c_p->fcalls; if (ERTS_LIKELY(is_value(result))) { - r(0) = result; - CHECK_TERM(r(0)); + x(0) = result; + CHECK_TERM(x(0)); } else if (c_p->freason == TRAP) { $SAVE_CONTINUATION_POINTER($NEXT_INSTRUCTION); SET_I(c_p->i); @@ -605,8 +605,8 @@ nif_bif.epilogue() { FCALLS = c_p->fcalls; ERTS_DBG_CHK_REDS(c_p, FCALLS); if (ERTS_LIKELY(is_value(nif_bif_result))) { - r(0) = nif_bif_result; - CHECK_TERM(r(0)); + x(0) = nif_bif_result; + CHECK_TERM(x(0)); $RETURN(); Goto(*I); } else if (c_p->freason == TRAP) { @@ -632,13 +632,13 @@ i_load_nif() { Eterm result; PRE_BIF_SWAPOUT(c_p); - result = erts_load_nif(c_p, I, r(0), r(1)); + result = erts_load_nif(c_p, I, x(0), x(1)); erts_release_code_mod_permission(); ERTS_REQ_PROC_MAIN_LOCK(c_p); SWAPIN; if (ERTS_LIKELY(is_value(result))) { - r(0) = result; + x(0) = result; $NEXT0(); } else { static ErtsCodeMFA mfa = {am_erlang, am_load_nif, 2}; diff --git a/erts/emulator/beam/emu/bs_instrs.tab b/erts/emulator/beam/emu/bs_instrs.tab index a42c2eb331a0..9a1360c26e8b 100644 --- a/erts/emulator/beam/emu/bs_instrs.tab +++ b/erts/emulator/beam/emu/bs_instrs.tab @@ -738,7 +738,7 @@ i_bs_private_append(Fail, Unit, Size, Src, Dst) { bs_init_writable() { HEAVY_SWAPOUT; - r(0) = erts_bs_init_writable(c_p, r(0)); + x(0) = erts_bs_init_writable(c_p, x(0)); HEAVY_SWAPIN; } diff --git a/erts/emulator/beam/emu/emu_load.c b/erts/emulator/beam/emu/emu_load.c index 8395a87076aa..3821b797e6d5 100644 --- a/erts/emulator/beam/emu/emu_load.c +++ b/erts/emulator/beam/emu/emu_load.c @@ -665,15 +665,14 @@ void beam_load_finalize_code(LoaderState* stp, struct erl_module_instance* inst_ literal = beamfile_get_literal(&stp->beam, stp->lambda_literals[i]); funp = (ErlFunThing *)fun_val(literal); - ASSERT(funp->creator == am_external); funp->entry.fun = fun_entry; funp->next = literal_area->off_heap; literal_area->off_heap = (struct erl_off_heap_header *)funp; - ASSERT(erts_init_process_id != ERTS_INVALID_PID); - funp->creator = erts_init_process_id; + ASSERT(funp->thing_word & (1 << FUN_HEADER_EXTERNAL_OFFS)); + funp->thing_word &= ~(1 << FUN_HEADER_EXTERNAL_OFFS); erts_refc_inc(&fun_entry->refc, 2); } diff --git a/erts/emulator/beam/emu/generators.tab b/erts/emulator/beam/emu/generators.tab index 1f20a19ecc9e..ec633e9da599 100644 --- a/erts/emulator/beam/emu/generators.tab +++ b/erts/emulator/beam/emu/generators.tab @@ -805,7 +805,7 @@ INIT_YREGS(S, N) { BeamOp* init; $NewBeamOp($S, init); - $BeamOpNameArity(init, init, 1); + $BeamOpNameArity(init, i_init, 1); init->a[0] = Yregs[i]; *p = init; p = &init->next; @@ -825,7 +825,7 @@ gen.allocate(Ns, Live, N, Yregs) { * At least half of the Y registers need explicit * initialization. It will be cheaper to zero all Y registers. */ - $BeamOpNameArity(alloc, allocate_zero, 2); + $BeamOpNameArity(alloc, i_allocate_zero, 2); } else { $BeamOpNameArity(alloc, allocate, 2); p = &alloc->next; @@ -848,7 +848,7 @@ gen.allocate_heap(Ns, Nh, Live, N, Yregs) { * At least half of the Y registers need explicit * initialization. It will be cheaper to zero all Y registers. */ - $BeamOpNameArity(alloc, allocate_heap_zero, 3); + $BeamOpNameArity(alloc, i_allocate_heap_zero, 3); } else { $BeamOpNameArity(alloc, allocate_heap, 3); p = &alloc->next; @@ -1100,7 +1100,7 @@ gen.bs_match(Fail, Ctx, N, List) { ASSERT(List[src+3].type == TAG_u); ASSERT(List[src+4].type == TAG_u); size = List[src+3].val * List[src+4].val; - words_needed = heap_bin_size((size + 7) / 8); + words_needed = erts_extracted_binary_size(size); break; case am_integer: ASSERT(List[src+3].type == TAG_u); diff --git a/erts/emulator/beam/emu/instrs.tab b/erts/emulator/beam/emu/instrs.tab index 88e6da9bf159..14e49939e540 100644 --- a/erts/emulator/beam/emu/instrs.tab +++ b/erts/emulator/beam/emu/instrs.tab @@ -39,7 +39,7 @@ allocate_init(NeedStack, Live, Y) { make_blank($Y); } -allocate_zero(NeedStack, Live) { +i_allocate_zero(NeedStack, Live) { Eterm* ptr; int i = $NeedStack; $AH(i, 0, $Live); @@ -48,7 +48,7 @@ allocate_zero(NeedStack, Live) { } } -allocate_heap_zero(NeedStack, NeedHeap, Live) { +i_allocate_heap_zero(NeedStack, NeedHeap, Live) { Eterm* ptr; int i = $NeedStack; $AH(i, $NeedHeap, $Live); @@ -311,7 +311,7 @@ apply_last(Arity, Deallocate) { APPLY_FUN(Next) { HEAVY_SWAPOUT; - $Next = apply_fun(c_p, r(0), x(1), reg); + $Next = apply_fun(c_p, x(0), x(1), reg); HEAVY_SWAPIN; if (ERTS_UNLIKELY(next == NULL)) { @@ -378,7 +378,7 @@ return() { //| -no_next DTRACE_RETURN_FROM_PC(c_p, I); $RETURN(); - CHECK_TERM(r(0)); + CHECK_TERM(x(0)); HEAP_SPACE_VERIFIED(0); $DISPATCH_RETURN(); @@ -501,18 +501,18 @@ fast_element_group.execute(Fail, Index, Dst) { $BIF_ERROR_ARITY_2($Fail, BIF_element_2, make_small($Index), fast_element_tuple); } -init(Y) { +i_init(Y) { make_blank($Y); } -init_seq3(Y1) { +i_init_seq3(Y1) { Eterm* dst = &$Y1; make_blank(dst[0]); make_blank(dst[1]); make_blank(dst[2]); } -init_seq4(Y1) { +i_init_seq4(Y1) { Eterm* dst = &$Y1; make_blank(dst[0]); make_blank(dst[1]); @@ -520,7 +520,7 @@ init_seq4(Y1) { make_blank(dst[3]); } -init_seq5(Y1) { +i_init_seq5(Y1) { Eterm* dst = &$Y1; make_blank(dst[0]); make_blank(dst[1]); @@ -529,12 +529,12 @@ init_seq5(Y1) { make_blank(dst[4]); } -init2(Y1, Y2) { +i_init2(Y1, Y2) { make_blank($Y1); make_blank($Y2); } -init3(Y1, Y2, Y3) { +i_init3(Y1, Y2, Y3) { make_blank($Y1); make_blank($Y2); make_blank($Y3); @@ -1129,11 +1129,11 @@ catch_end(Y) { * x3 = Exception class */ $try_end($Y); - if (is_non_value(r(0))) { + if (is_non_value(x(0))) { ASSERT(c_p->fvalue == NIL); ASSERT(c_p->ftrace == NIL); if (x(3) == am_throw) { - r(0) = x(1); + x(0) = x(1); } else { if (x(3) == am_error) { SWAPOUT; @@ -1150,11 +1150,11 @@ catch_end(Y) { SWAPIN; $MAYBE_EXIT_AFTER_GC(); } - r(0) = TUPLE2(HTOP, am_EXIT, x(1)); + x(0) = TUPLE2(HTOP, am_EXIT, x(1)); HTOP += 3; } } - CHECK_TERM(r(0)); + CHECK_TERM(x(0)); } try_end(Y) { @@ -1164,10 +1164,10 @@ try_end(Y) { try_case(Y) { $try_end($Y); - ASSERT(is_non_value(r(0))); + ASSERT(is_non_value(x(0))); ASSERT(c_p->fvalue == NIL); ASSERT(c_p->ftrace == NIL); - r(0) = x(3); + x(0) = x(3); } try_case_end(Src) { diff --git a/erts/emulator/beam/emu/map_instrs.tab b/erts/emulator/beam/emu/map_instrs.tab index 9cd64662f859..9afc8a22261e 100644 --- a/erts/emulator/beam/emu/map_instrs.tab +++ b/erts/emulator/beam/emu/map_instrs.tab @@ -104,7 +104,7 @@ i_get_map_elements(Fail, Src, N) { $FAIL($Fail); } else { const Eterm *v; - Uint32 hx; + erts_ihash_t hx; ASSERT(is_hashmap(map)); while(n--) { hx = fs[2]; diff --git a/erts/emulator/beam/emu/msg_instrs.tab b/erts/emulator/beam/emu/msg_instrs.tab index dce164cb957c..00c7291257c6 100644 --- a/erts/emulator/beam/emu/msg_instrs.tab +++ b/erts/emulator/beam/emu/msg_instrs.tab @@ -19,55 +19,6 @@ // %CopyrightEnd% // -// /* -// * Skeleton for receive statement: -// * -// * recv_mark L1 Optional -// * call make_ref/monitor Optional -// * ... -// * recv_set L1 Optional -// * L1: <-------------------+ -// * <-----------+ | -// * | | -// * loop_rec L2 ------+---+ | -// * ... | | | -// * remove_message | | | -// * jump L3 | | | -// * ... | | | -// * loop_rec_end L1 --+ | | -// * L2: <---------------+ | -// * wait L1 -------------------+ or wait_timeout -// * timeout -// * -// * L3: Code after receive... -// * -// */ - -i_recv_mark() { - /* - * OLD INSTRUCTION: This instruction is to be removed - * in OTP 26. - * - * Save the current end of message queue - */ - /* inlined here... */ - erts_msgq_recv_marker_insert_bind(c_p, erts_old_recv_marker_id); -} - -i_recv_set() { - /* - * OLD INSTRUCTION: This instruction is to be removed - * in OTP 26. - * - * If previously saved recv mark, set save pointer to it - */ - /* inlined here... */ - erts_msgq_recv_marker_set_save(c_p, erts_old_recv_marker_id); - SET_I($NEXT_INSTRUCTION); - goto loop_rec_top__; - //| -no_next -} - recv_marker_reserve(Dst) { SWAPOUT; @@ -98,9 +49,6 @@ i_loop_rec(Dest) { ErtsMessage* msgp; - /* Entry point from recv_set */ - loop_rec_top__: - /* * We need to disable GC while matching messages * in the queue. This since messages with data outside @@ -188,7 +136,7 @@ i_loop_rec(Dest) { ASSERT(msgp == erts_msgq_peek_msg(c_p)); ASSERT(ERTS_SIG_IS_INTERNAL_MSG(msgp)); - r(0) = ERL_MESSAGE_TERM(msgp); + x(0) = ERL_MESSAGE_TERM(msgp); } remove_message() { diff --git a/erts/emulator/beam/emu/ops.tab b/erts/emulator/beam/emu/ops.tab index 7c4447d1450d..4d227cc89ba8 100644 --- a/erts/emulator/beam/emu/ops.tab +++ b/erts/emulator/beam/emu/ops.tab @@ -32,34 +32,7 @@ FORBIDDEN_TYPES=h # instruction transformations; thus, they never occur in BEAM files. # -# The too_old_compiler/0 instruction is specially handled in beam_load.c -# to produce a user-friendly message informing the user that the module -# needs to be re-compiled with a modern compiler. - -too_old_compiler/0 -too_old_compiler | never() => _ - -# In R9C and earlier, the loader used to insert special instructions inside -# the module_info/0,1 functions. (In R10B and later, the compiler inserts -# an explicit call to an undocumented BIF, so that no loader trickery is -# necessary.) Since the instructions don't work correctly in R12B, simply -# refuse to load the module. - -func_info M=a a==am_module_info A=u==0 | label L | move n x==0 => - too_old_compiler -func_info M=a a==am_module_info A=u==1 | label L | move n x==0 => - too_old_compiler - -# The undocumented and unsupported guard BIF is_constant/1 was removed -# in R13. The is_constant/2 operation is marked as obsolete in genop.tab, -# so the loader will automatically generate a too_old_compiler message -# it is used, but we need to handle the is_constant/1 BIF specially here. - -bif1 Fail u$func:erlang:is_constant/1 Src Dst => too_old_compiler - -# -# All the other instructions. -# +func_info a a u | never() => _ %cold label L @@ -135,10 +108,10 @@ init_yregs N Yregs=* => allocate t t? allocate_heap t I t? -allocate_zero t t? -allocate_heap_zero t I t? +i_allocate_zero t t? +i_allocate_heap_zero t I t? -init y +i_init y # This instruction when a BIF is called tail-recursively when # there is a stack frame. @@ -153,21 +126,21 @@ i_trim t test_heap I t? allocate_heap S u==0 R => allocate S R -allocate_heap_zero S u==0 R => allocate_zero S R +i_allocate_heap_zero S u==0 R => i_allocate_zero S R -init Y1 | init Y2 | init Y3 | succ(Y1,Y2) | succ(Y2,Y3) => init_seq3 Y1 -init_seq3 Y1 | init Y4 | succ3(Y1,Y4) => init_seq4 Y1 -init_seq4 Y1 | init Y5 | succ4(Y1,Y5) => init_seq5 Y1 +i_init Y1 | i_init Y2 | i_init Y3 | succ(Y1,Y2) | succ(Y2,Y3) => i_init_seq3 Y1 +i_init_seq3 Y1 | i_init Y4 | succ3(Y1,Y4) => i_init_seq4 Y1 +i_init_seq4 Y1 | i_init Y5 | succ4(Y1,Y5) => i_init_seq5 Y1 -init_seq3 y -init_seq4 y -init_seq5 y +i_init_seq3 y +i_init_seq4 y +i_init_seq5 y -init Y1 | init Y2 | init Y3 => init3 Y1 Y2 Y3 -init Y1 | init Y2 => init2 Y1 Y2 +i_init Y1 | i_init Y2 | i_init Y3 => i_init3 Y1 Y2 Y3 +i_init Y1 | i_init Y2 => i_init2 Y1 Y2 -init2 y y -init3 y y y +i_init2 y y +i_init3 y y y # Selecting values. @@ -391,7 +364,7 @@ move SD=y D=x | move Src=x SDOther=y | equal(SD, SDOther) | distinct(D, Src) => move_shift Src SD D -move SD=y D=x | init SDOther | +move SD=y D=x | i_init SDOther | equal(SD, SDOther) => move_shift n SD D @@ -848,9 +821,9 @@ cold_is_function2 f? x x %hot hot_is_function2 f? S t -# Allocating & initializing. -allocate Need Regs | init Y => allocate_init Need Regs Y -init Y1 | init Y2 => init2 Y1 Y2 +# Allocating & i_initializing. +allocate Need Regs | i_init Y => allocate_init Need Regs Y +i_init Y1 | i_init Y2 => i_init2 Y1 Y2 allocate_init t t? y @@ -1013,7 +986,7 @@ bif1 Fail=f Bif S1 Dst => i_bif1 S1 Fail Bif Dst bif2 p Bif S1 S2 Dst => i_bif2_body S2 S1 Bif Dst bif2 Fail=f Bif S1 S2 Dst => i_bif2 S2 S1 Fail Bif Dst -i_get_hash c I d +i_get_hash c W d i_get s d self xy @@ -1083,11 +1056,8 @@ call_fun2 Tag Arity Func => call_fun2(Tag, Arity, Func) # # A fun with an empty environment can be converted to a literal. -# As a further optimization, the we try to move the fun to its -# final destination directly. +# -make_fun2 OldIndex=u => - make_fun2(OldIndex) make_fun3 OldIndex=u Dst=d NumFree=u Env=* => make_fun3(OldIndex, Dst, NumFree, Env) @@ -1497,13 +1467,6 @@ i_fmul l l l i_fdiv l l l i_fnegate l l -# -# FPE signals were disabled in OTP 21 and we don't intend to ever -# enable them again. -# -fclearerror => _ -fcheckerror p => _ - %hot # @@ -1573,7 +1536,7 @@ i_get_map_elements f? s I * i_get_map_element_hash Fail Src=c Key Hash Dst => move Src x | i_get_map_element_hash Fail x Key Hash Dst -i_get_map_element_hash f? xy c I xy +i_get_map_element_hash f? xy c W xy i_get_map_element Fail Src=c Key Dst => move Src x | i_get_map_element Fail x Key Dst @@ -1690,16 +1653,6 @@ i_int_bnot Fail Src=c Dst => move Src x | i_int_bnot Fail x Dst i_int_bnot j? S d -# -# Old guard BIFs that creates heap fragments are no longer allowed. -# -bif1 Fail u$bif:erlang:length/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:size/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:abs/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:float/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:round/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:trunc/1 s d => too_old_compiler - # # Handle the length/1 guard BIF specially to make it trappable. # @@ -1737,19 +1690,6 @@ unsupported_guard_bif A B C | never() => _ # on_load -# -# R14A. -# -# Superseded in OTP 24 by 'recv_marker_reserve' and friends. -# - -recv_mark f => i_recv_mark -i_recv_mark - -recv_set Fail | label Lbl | loop_rec Lf Reg => - i_recv_set | label Lbl | loop_rec Lf Reg -i_recv_set - # # OTP 21. # @@ -1769,7 +1709,7 @@ raw_raise move C=aiq X=x==1 => move_x1 C move C=aiq X=x==2 => move_x2 C -move n D=y => init D +move n D=y => i_init D move_x1 c move_x2 c diff --git a/erts/emulator/beam/emu/trace_instrs.tab b/erts/emulator/beam/emu/trace_instrs.tab index 9b0b377ed77c..14ac98a31151 100644 --- a/erts/emulator/beam/emu/trace_instrs.tab +++ b/erts/emulator/beam/emu/trace_instrs.tab @@ -24,7 +24,7 @@ return_trace() { SWAPOUT; /* Needed for shared heap */ ERTS_UNREQ_PROC_MAIN_LOCK(c_p); - erts_trace_return(c_p, mfa, r(0), ERTS_TRACER_FROM_ETERM(E+2)/* tracer */); + erts_trace_return(c_p, mfa, x(0), ERTS_TRACER_FROM_ETERM(E+2)/* tracer */); ERTS_REQ_PROC_MAIN_LOCK(c_p); SWAPIN; E += 1 + BEAM_RETURN_TRACE_FRAME_SZ; @@ -135,10 +135,10 @@ i_perf_counter() { ts = erts_sys_perf_counter(); if (IS_SSMALL(ts)) { - r(0) = make_small((Sint)ts); + x(0) = make_small((Sint)ts); } else { $GC_TEST(0, ERTS_SINT64_HEAP_SIZE(ts), 0); - r(0) = make_big(HTOP); + x(0) = make_big(HTOP); #if defined(ARCH_32) if (ts >= (((Uint64) 1) << 32)) { *HTOP = make_pos_bignum_header(2); diff --git a/erts/emulator/beam/erl_alloc.c b/erts/emulator/beam/erl_alloc.c index a344b585aeef..703d7bdc2881 100644 --- a/erts/emulator/beam/erl_alloc.c +++ b/erts/emulator/beam/erl_alloc.c @@ -1381,7 +1381,35 @@ handle_au_arg(struct au_init *auip, auip->init.util.acful = 0; } } else if (has_prefix("atags", sub_param)) { - auip->init.util.atags = get_bool_value(sub_param + 5, argv, ip); + char *param_end = &sub_param[5]; + char *value; + + value = get_value(param_end, argv, ip); + + if (sys_strcmp(value, "true") == 0) { + auip->init.util.atags = 1; + } else if (sys_strcmp(value, "false") == 0) { + auip->init.util.atags = 0; + } else if (sys_strcmp(value, "code") == 0) { + /* Undocumented option for point-of-origin tracking: overrides + * per-pid/port tracking in favor of tracking which Erlang code + * led to the allocation (best effort, but pretty accurate + * under the JIT). */ + auip->init.util.atags = 2; + +#if !defined(BEAMASM) + if (!erts_alcu_enable_code_atags) { + erts_fprintf(stderr, + "WARNING: The experimental +Matags code " + "flag is inaccurate under the interpreter. " + "Consider running with the JIT instead\n"); + } +#endif + + erts_alcu_enable_code_atags = 1; + } else { + bad_value(sub_param, param_end, value); + } } else goto bad_switch; @@ -2613,11 +2641,6 @@ erts_allocated_areas(fmtfn_t *print_to_p, void *print_to_arg, void *proc) values[i].ui[0] = erts_node_table_size(); i++; - values[i].arity = 2; - values[i].name = "bits_bufs_size"; - values[i].ui[0] = erts_bits_bufs_size(); - i++; - values[i].arity = 2; values[i].name = "bif_timer"; values[i].ui[0] = erts_bif_timer_memory_size(); diff --git a/erts/emulator/beam/erl_alloc.types b/erts/emulator/beam/erl_alloc.types index 24ba019075e6..2c38600dad8f 100644 --- a/erts/emulator/beam/erl_alloc.types +++ b/erts/emulator/beam/erl_alloc.types @@ -289,7 +289,7 @@ type MAP_TRAP SHORT_LIVED PROCESSES map_bif_trap_state type ENVIRONMENT SYSTEM SYSTEM environment -type PERSISTENT_TERM LONG_LIVED CODE persisten_term +type PERSISTENT_TERM LONG_LIVED CODE persistent_term type PERSISTENT_LOCK_Q SHORT_LIVED SYSTEM persistent_lock_q type PERSISTENT_TERM_TMP SHORT_LIVED SYSTEM persistent_term_tmp_table diff --git a/erts/emulator/beam/erl_alloc_util.c b/erts/emulator/beam/erl_alloc_util.c index be5705c63750..b041b7b8eb89 100644 --- a/erts/emulator/beam/erl_alloc_util.c +++ b/erts/emulator/beam/erl_alloc_util.c @@ -154,30 +154,42 @@ MBC after allocating first block, with allocation tagging enabled: /* Allocation tags ... * * These are added to the footer of every block when enabled. Currently they - * consist of the allocation type and an atom identifying the allocating - * driver/nif (or 'system' if that can't be determined), but the format is not - * supposed to be set in stone. + * consist of the allocation type, an atom identifying the allocating + * driver/nif (or 'system' if that can't be determined), and a pid/port/CP but + * the format is not supposed to be set in stone. * - * The packing scheme requires that the atom values are small enough to fit - * into a word with ERTS_ALC_N_BITS to spare. Users must check for overflow - * before MAKE_ATAG(). */ + * The packing scheme requires that the atom values identifying the allocating + * driver/NIF are small enough to fit into a word with ERTS_ALC_N_BITS to + * spare, falling back to a known-safe value if it does not. */ -typedef UWord alcu_atag_t; - -#define MAKE_ATAG(IdAtom, TypeNum) \ - (ASSERT((TypeNum) >= ERTS_ALC_N_MIN && (TypeNum) <= ERTS_ALC_N_MAX), \ - ASSERT(atom_val(IdAtom) <= MAX_ATAG_ATOM_ID), \ - (atom_val(IdAtom) << ERTS_ALC_N_BITS) | (TypeNum)) +typedef struct { + UWord packed; /* Packed identifying entity (atom) and allocator type. */ + Eterm term; +} alcu_atag_t; -#define ATAG_ID(AT) (make_atom((AT) >> ERTS_ALC_N_BITS)) -#define ATAG_TYPE(AT) ((AT) & ERTS_ALC_N_MASK) +#define ATAG_PACKED_ID(P) (make_atom((P) >> ERTS_ALC_N_BITS)) +#define ATAG_PACKED_TYPE(P) ((P) & ERTS_ALC_N_MASK) #define MAX_ATAG_ATOM_ID (ERTS_UWORD_MAX >> ERTS_ALC_N_BITS) #define DBG_IS_VALID_ATAG(AT) \ - (ATAG_TYPE(AT) >= ERTS_ALC_N_MIN && \ - ATAG_TYPE(AT) <= ERTS_ALC_N_MAX && \ - ATAG_ID(AT) <= MAX_ATAG_ATOM_ID) + (ATAG_PACKED_TYPE((AT)->packed) >= ERTS_ALC_N_MIN && \ + ATAG_PACKED_TYPE((AT)->packed) <= ERTS_ALC_N_MAX && \ + ATAG_PACKED_ID((AT)->packed) <= MAX_ATAG_ATOM_ID && \ + (is_non_value((AT)->term) || is_immed((AT)->term) || is_CP(((AT)->term)))) + +/* Note that we fall back to 'system' if we can't pack the driver/NIF name into + * the tag. This may be a bit misleading but we've made no promises that the + * information is complete. + * + * This can only happen on 32-bit emulators when a new driver/NIF has been + * loaded after 16 million atoms have been used, and supporting that fringe + * case is not worth an extra word. 64-bit emulators are unaffected since the + * atom cache limits atom indexes to 32 bits. */ +#define PACK_ATAG_ID_TYPE(Id, TypeNum) \ + (ASSERT((TypeNum) >= ERTS_ALC_N_MIN && (TypeNum) <= ERTS_ALC_N_MAX), \ + ((atom_val((atom_val(Id) <= MAX_ATAG_ATOM_ID) ? (Id) : (am_system)) \ + << ERTS_ALC_N_BITS)) | (TypeNum)) /* Blocks ... */ @@ -195,12 +207,7 @@ typedef UWord alcu_atag_t; #define BLK_HAS_ATAG(B) \ (!!((B)->bhdr & ATAG_BLK_HDR_FLG)) -#define GET_BLK_ATAG(B) \ - (ASSERT(BLK_HAS_ATAG(B)), \ - ((alcu_atag_t *) (((char *) (B)) + (BLK_SZ(B))))[-1]) -#define SET_BLK_ATAG(B, T) \ - ((B)->bhdr |= ATAG_BLK_HDR_FLG, \ - ((alcu_atag_t *) (((char *) (B)) + (BLK_SZ(B))))[-1] = (T)) +#define BLK_ATAG(B) (&((alcu_atag_t*)(((char*)(B)) + (BLK_SZ(B))))[-1]) #define BLK_ATAG_SZ(AP) ((AP)->atags ? sizeof(alcu_atag_t) : 0) @@ -788,15 +795,26 @@ static void destroy_carrier(Allctr_t *, Block_t *, Carrier_t **); static void mbc_free(Allctr_t *allctr, ErtsAlcType_t type, void *p, Carrier_t **busy_pcrr_pp); static void dealloc_block(Allctr_t *, ErtsAlcType_t, Uint32, void *, ErtsAlcFixList_t *); -static alcu_atag_t determine_alloc_tag(Allctr_t *allocator, ErtsAlcType_t type) +int ERTS_WRITE_UNLIKELY(erts_alcu_enable_code_atags); + +static void set_alloc_tag(Allctr_t *allctr, void *p, ErtsAlcType_t type) { ErtsSchedulerData *esdp; + alcu_atag_t *alloc_tag; + Block_t *block; Eterm id; - ERTS_CT_ASSERT(_unchecked_atom_val(am_system) <= MAX_ATAG_ATOM_ID); - ASSERT(allocator->atags); + ASSERT(p != NULL); esdp = erts_get_scheduler_data(); + + block = UMEM2BLK(p); + block->bhdr |= ATAG_BLK_HDR_FLG; + + ERTS_CT_ASSERT(sizeof(alcu_atag_t) == sizeof(UWord[2])); + alloc_tag = BLK_ATAG(block); + + alloc_tag->term = THE_NON_VALUE; id = am_system; if (esdp) { @@ -808,40 +826,29 @@ static alcu_atag_t determine_alloc_tag(Allctr_t *allocator, ErtsAlcType_t type) if (mod) { id = make_atom(mod->module); } - } else if (esdp->current_port) { + } + + /* Current port has precedence since both `current_port` and + * `current_process` are set during immediate driver calls. */ + if (esdp->current_port) { Port *p = esdp->current_port; + id = (p->drv_ptr)->name_atom; - } + alloc_tag->term = p->common.id; + } else if (esdp->current_process) { + Process *p = esdp->current_process; - /* We fall back to 'system' if we can't pack the driver/NIF name into - * the tag. This may be a bit misleading but we've made no promises - * that the information is complete. - * - * This can only happen on 32-bit emulators when a new driver/NIF has - * been loaded *after* 16 million atoms have been used, and supporting - * that fringe case is not worth an extra word. 64-bit emulators are - * unaffected since the atom cache limits atom indexes to 32 bits. */ - if(MAX_ATOM_TABLE_SIZE > MAX_ATAG_ATOM_ID) { - if (atom_val(id) > MAX_ATAG_ATOM_ID) { - id = am_system; + if (allctr->atags > 1) { + ASSERT(erts_alcu_enable_code_atags); + alloc_tag->term = make_cp(p->i); + } else { + alloc_tag->term = p->common.id; } } } - return MAKE_ATAG(id, ERTS_ALC_T2N(type)); -} - -static void set_alloc_tag(Allctr_t *allocator, void *p, alcu_atag_t tag) -{ - Block_t *block; - - ASSERT(DBG_IS_VALID_ATAG(tag)); - ASSERT(allocator->atags && p); - (void)allocator; - - block = UMEM2BLK(p); - - SET_BLK_ATAG(block, tag); + alloc_tag->packed = PACK_ATAG_ID_TYPE(id, ERTS_ALC_T2N(type)); + ASSERT(DBG_IS_VALID_ATAG(alloc_tag)); } /* internal data... */ @@ -6003,7 +6010,7 @@ void *erts_alcu_alloc(ErtsAlcType_t type, void *extra, Uint size) res = do_erts_alcu_alloc(type, allctr, size); if (allctr->atags && res) { - set_alloc_tag(allctr, res, determine_alloc_tag(allctr, type)); + set_alloc_tag(allctr, res, type); } DEBUG_CHECK_ALIGNMENT(res); @@ -6017,19 +6024,14 @@ void * erts_alcu_alloc_ts(ErtsAlcType_t type, void *extra, Uint size) { Allctr_t *allctr = (Allctr_t *) extra; - alcu_atag_t tag = 0; void *res; - if (allctr->atags) { - tag = determine_alloc_tag(allctr, type); - } - erts_mtx_lock(&allctr->mutex); res = do_erts_alcu_alloc(type, allctr, size); if (allctr->atags && res) { - set_alloc_tag(allctr, res, tag); + set_alloc_tag(allctr, res, type); } erts_mtx_unlock(&allctr->mutex); @@ -6045,7 +6047,6 @@ erts_alcu_alloc_thr_spec(ErtsAlcType_t type, void *extra, Uint size) { ErtsAllocatorThrSpec_t *tspec = (ErtsAllocatorThrSpec_t *) extra; int ix; - alcu_atag_t tag = 0; Allctr_t *allctr; void *res; @@ -6055,21 +6056,19 @@ erts_alcu_alloc_thr_spec(ErtsAlcType_t type, void *extra, Uint size) allctr = tspec->allctr[ix]; - if (allctr->atags) { - tag = determine_alloc_tag(allctr, type); + if (allctr->thread_safe) { + erts_mtx_lock(&allctr->mutex); } - if (allctr->thread_safe) - erts_mtx_lock(&allctr->mutex); - res = do_erts_alcu_alloc(type, allctr, size); if (allctr->atags && res) { - set_alloc_tag(allctr, res, tag); + set_alloc_tag(allctr, res, type); } - if (allctr->thread_safe) - erts_mtx_unlock(&allctr->mutex); + if (allctr->thread_safe) { + erts_mtx_unlock(&allctr->mutex); + } DEBUG_CHECK_ALIGNMENT(res); @@ -6080,15 +6079,10 @@ void * erts_alcu_alloc_thr_pref(ErtsAlcType_t type, void *extra, Uint size) { Allctr_t *pref_allctr; - alcu_atag_t tag = 0; void *res; pref_allctr = get_pref_allctr(extra); - if (pref_allctr->atags) { - tag = determine_alloc_tag(pref_allctr, type); - } - if (pref_allctr->thread_safe) erts_mtx_lock(&pref_allctr->mutex); @@ -6105,11 +6099,12 @@ erts_alcu_alloc_thr_pref(ErtsAlcType_t type, void *extra, Uint size) } if (pref_allctr->atags && res) { - set_alloc_tag(pref_allctr, res, tag); + set_alloc_tag(pref_allctr, res, type); } - if (pref_allctr->thread_safe) - erts_mtx_unlock(&pref_allctr->mutex); + if (pref_allctr->thread_safe) { + erts_mtx_unlock(&pref_allctr->mutex); + } DEBUG_CHECK_ALIGNMENT(res); @@ -6347,12 +6342,12 @@ erts_alcu_realloc(ErtsAlcType_t type, void *extra, void *p, Uint size) res = do_erts_alcu_realloc(type, allctr, p, size, 0, NULL); - DEBUG_CHECK_ALIGNMENT(res); - if (allctr->atags && res) { - set_alloc_tag(allctr, res, determine_alloc_tag(allctr, type)); + set_alloc_tag(allctr, res, type); } + DEBUG_CHECK_ALIGNMENT(res); + return res; } @@ -6377,12 +6372,12 @@ erts_alcu_realloc_mv(ErtsAlcType_t type, void *extra, void *p, Uint size) do_erts_alcu_free(type, allctr, p, NULL); } - DEBUG_CHECK_ALIGNMENT(res); - if (allctr->atags && res) { - set_alloc_tag(allctr, res, determine_alloc_tag(allctr, type)); + set_alloc_tag(allctr, res, type); } + DEBUG_CHECK_ALIGNMENT(res); + return res; } @@ -6391,19 +6386,14 @@ void * erts_alcu_realloc_ts(ErtsAlcType_t type, void *extra, void *ptr, Uint size) { Allctr_t *allctr = (Allctr_t *) extra; - alcu_atag_t tag = 0; void *res; - if (allctr->atags) { - tag = determine_alloc_tag(allctr, type); - } - erts_mtx_lock(&allctr->mutex); res = do_erts_alcu_realloc(type, allctr, ptr, size, 0, NULL); if (allctr->atags && res) { - set_alloc_tag(allctr, res, tag); + set_alloc_tag(allctr, res, type); } erts_mtx_unlock(&allctr->mutex); @@ -6417,13 +6407,8 @@ void * erts_alcu_realloc_mv_ts(ErtsAlcType_t type, void *extra, void *p, Uint size) { Allctr_t *allctr = (Allctr_t *) extra; - alcu_atag_t tag = 0; void *res; - if (allctr->atags) { - tag = determine_alloc_tag(allctr, type); - } - erts_mtx_lock(&allctr->mutex); res = do_erts_alcu_alloc(type, allctr, size); if (!res) @@ -6441,7 +6426,7 @@ erts_alcu_realloc_mv_ts(ErtsAlcType_t type, void *extra, void *p, Uint size) } if (allctr->atags && res) { - set_alloc_tag(allctr, res, tag); + set_alloc_tag(allctr, res, type); } erts_mtx_unlock(&allctr->mutex); @@ -6454,11 +6439,10 @@ erts_alcu_realloc_mv_ts(ErtsAlcType_t type, void *extra, void *p, Uint size) void * erts_alcu_realloc_thr_spec(ErtsAlcType_t type, void *extra, - void *ptr, Uint size) + void *ptr, Uint size) { ErtsAllocatorThrSpec_t *tspec = (ErtsAllocatorThrSpec_t *) extra; int ix; - alcu_atag_t tag = 0; Allctr_t *allctr; void *res; @@ -6468,21 +6452,19 @@ erts_alcu_realloc_thr_spec(ErtsAlcType_t type, void *extra, allctr = tspec->allctr[ix]; - if (allctr->atags) { - tag = determine_alloc_tag(allctr, type); + if (allctr->thread_safe) { + erts_mtx_lock(&allctr->mutex); } - if (allctr->thread_safe) - erts_mtx_lock(&allctr->mutex); - res = do_erts_alcu_realloc(type, allctr, ptr, size, 0, NULL); if (allctr->atags && res) { - set_alloc_tag(allctr, res, tag); + set_alloc_tag(allctr, res, type); } - if (allctr->thread_safe) - erts_mtx_unlock(&allctr->mutex); + if (allctr->thread_safe) { + erts_mtx_unlock(&allctr->mutex); + } DEBUG_CHECK_ALIGNMENT(res); @@ -6491,11 +6473,10 @@ erts_alcu_realloc_thr_spec(ErtsAlcType_t type, void *extra, void * erts_alcu_realloc_mv_thr_spec(ErtsAlcType_t type, void *extra, - void *ptr, Uint size) + void *ptr, Uint size) { ErtsAllocatorThrSpec_t *tspec = (ErtsAllocatorThrSpec_t *) extra; int ix; - alcu_atag_t tag = 0; Allctr_t *allctr; void *res; @@ -6505,10 +6486,6 @@ erts_alcu_realloc_mv_thr_spec(ErtsAlcType_t type, void *extra, allctr = tspec->allctr[ix]; - if (allctr->atags) { - tag = determine_alloc_tag(allctr, type); - } - if (allctr->thread_safe) erts_mtx_lock(&allctr->mutex); @@ -6529,11 +6506,12 @@ erts_alcu_realloc_mv_thr_spec(ErtsAlcType_t type, void *extra, } if (allctr->atags && res) { - set_alloc_tag(allctr, res, tag); + set_alloc_tag(allctr, res, type); } - if (allctr->thread_safe) + if (allctr->thread_safe) { erts_mtx_unlock(&allctr->mutex); + } DEBUG_CHECK_ALIGNMENT(res); @@ -6542,22 +6520,18 @@ erts_alcu_realloc_mv_thr_spec(ErtsAlcType_t type, void *extra, static ERTS_INLINE void * realloc_thr_pref(ErtsAlcType_t type, Allctr_t *pref_allctr, void *p, Uint size, - int force_move) + int force_move) { void *res; Allctr_t *used_allctr; UWord old_user_size; Carrier_t *busy_pcrr_p; - alcu_atag_t tag = 0; int retried; - if (pref_allctr->atags) { - tag = determine_alloc_tag(pref_allctr, type); + if (pref_allctr->thread_safe) { + erts_mtx_lock(&pref_allctr->mutex); } - if (pref_allctr->thread_safe) - erts_mtx_lock(&pref_allctr->mutex); - ASSERT(pref_allctr->dd.use); ERTS_ALCU_HANDLE_DD_IN_OP(pref_allctr, 1); retried = 0; @@ -6570,6 +6544,7 @@ realloc_thr_pref(ErtsAlcType_t type, Allctr_t *pref_allctr, void *p, Uint size, if (!force_move && used_allctr == pref_allctr) { ERTS_ALCU_DBG_CHK_THR_ACCESS(used_allctr); + res = do_erts_alcu_realloc(type, used_allctr, p, @@ -6577,29 +6552,33 @@ realloc_thr_pref(ErtsAlcType_t type, Allctr_t *pref_allctr, void *p, Uint size, 0, &busy_pcrr_p); clear_busy_pool_carrier(used_allctr, busy_pcrr_p); + if (!res && !retried && ERTS_ALCU_HANDLE_DD_IN_OP(pref_allctr, 1)) { /* Cleaned up a bit more; try one more time... */ retried = 1; goto restart; } - if (pref_allctr->atags && res) { - set_alloc_tag(pref_allctr, res, tag); + if (pref_allctr->atags) { + set_alloc_tag(pref_allctr, res, type); } - if (pref_allctr->thread_safe) - erts_mtx_unlock(&pref_allctr->mutex); + if (pref_allctr->thread_safe) { + erts_mtx_unlock(&pref_allctr->mutex); + } } else { res = do_erts_alcu_alloc(type, pref_allctr, size); - if (!res) + + if (!res) { goto unlock_ts_return; - else { + } else { if (pref_allctr->atags) { - set_alloc_tag(pref_allctr, res, tag); + set_alloc_tag(pref_allctr, res, type); } - DEBUG_CHECK_ALIGNMENT(res); + DEBUG_CHECK_ALIGNMENT(res); + if (used_allctr != pref_allctr) { if (pref_allctr->thread_safe) @@ -6647,7 +6626,7 @@ erts_alcu_realloc_thr_pref(ErtsAlcType_t type, void *extra, void *p, Uint size) void * erts_alcu_realloc_mv_thr_pref(ErtsAlcType_t type, void *extra, - void *p, Uint size) + void *p, Uint size) { if (p) { Allctr_t *pref_allctr = get_pref_allctr(extra); @@ -7507,17 +7486,21 @@ void erts_alcu_blockscan_init(ErtsAuxWorkData *awdp) /* ------------------------------------------------------------------------- */ -static ERTS_INLINE int u64_log2(Uint64 v) +static ERTS_INLINE int get_hist_slot(Uint64 v) { - static const int log2_tab64[64] = { - 63, 0, 58, 1, 59, 47, 53, 2, - 60, 39, 48, 27, 54, 33, 42, 3, - 61, 51, 37, 40, 49, 18, 28, 20, - 55, 30, 34, 11, 43, 14, 22, 4, - 62, 57, 46, 52, 38, 26, 32, 41, - 50, 36, 17, 19, 29, 10, 13, 21, - 56, 45, 25, 31, 35, 16, 9, 12, - 44, 24, 15, 8, 23, 7, 6, 5}; +#if ERTS_AT_LEAST_GCC_VSN__(3, 4, 0) || __has_builtin(__builtin_clzl) + return v ? (64 - __builtin_clzl(v)) : 0; +#else + static const int hist_slot_tab[64] = { + 0x40, 0x01, 0x3b, 0x02, 0x3c, 0x30, 0x36, 0x03, + 0x3d, 0x28, 0x31, 0x1c, 0x37, 0x22, 0x2b, 0x04, + 0x3e, 0x34, 0x26, 0x29, 0x32, 0x13, 0x1d, 0x15, + 0x38, 0x1f, 0x23, 0x0c, 0x2c, 0x0f, 0x17, 0x05, + 0x3f, 0x3a, 0x2f, 0x35, 0x27, 0x1b, 0x21, 0x2a, + 0x33, 0x25, 0x12, 0x14, 0x1e, 0x0b, 0x0e, 0x16, + 0x39, 0x2e, 0x1a, 0x20, 0x24, 0x11, 0x0a, 0x0d, + 0x2d, 0x19, 0x10, 0x09, 0x18, 0x08, 0x07, 0x06 + }; v |= v >> 1; v |= v >> 2; @@ -7526,42 +7509,76 @@ static ERTS_INLINE int u64_log2(Uint64 v) v |= v >> 16; v |= v >> 32; - return log2_tab64[((Uint64)((v - (v >> 1))*0x07EDD5E59A4E28C2)) >> 58]; + return hist_slot_tab[((Uint64)((v - (v >> 1)) * 0x07EDD5E59A4E28C2)) >> 58]; +#endif } /* ------------------------------------------------------------------------- */ +typedef struct { + UWord packed; + union { + ErtsCodeMFA mfa; + Eterm term; + } u; +} hist_key_t; + typedef struct hist_tree__ { - struct hist_tree__ *parent; + UWord parent; /* Parent pointer and flag bits. */ struct hist_tree__ *left; struct hist_tree__ *right; - int is_red; - - alcu_atag_t tag; + hist_key_t key; UWord histogram[1]; } hist_tree_t; +static int hist_tag_is_lt(const hist_key_t *lhs, const hist_key_t *rhs) { + return (lhs->packed < rhs->packed) || + (lhs->u.mfa.module < rhs->u.mfa.module) || + (lhs->u.mfa.function < rhs->u.mfa.function) || + (lhs->u.mfa.arity < rhs->u.mfa.arity); +} + +static int hist_tag_is_eq(const hist_key_t *lhs, const hist_key_t *rhs) { + return (lhs->packed == rhs->packed) && + (lhs->u.mfa.module == rhs->u.mfa.module) && + (lhs->u.mfa.function == rhs->u.mfa.function) && + (lhs->u.mfa.arity == rhs->u.mfa.arity); +} + +#define ERTS_AHIST_FLG_RED (((UWord) 1) << 0) +#define ERTS_AHIST_FLG_MASK ERTS_AHIST_FLG_RED + #define ERTS_RBT_PREFIX hist_tree #define ERTS_RBT_T hist_tree_t -#define ERTS_RBT_KEY_T UWord +#define ERTS_RBT_KEY_T const hist_key_t* #define ERTS_RBT_FLAGS_T int #define ERTS_RBT_INIT_EMPTY_TNODE(T) ((void)0) -#define ERTS_RBT_IS_RED(T) ((T)->is_red) -#define ERTS_RBT_SET_RED(T) ((T)->is_red = 1) +#define ERTS_RBT_IS_RED(T) ((T)->parent & ERTS_AHIST_FLG_RED) +#define ERTS_RBT_SET_RED(T) ((T)->parent |= ERTS_AHIST_FLG_RED) #define ERTS_RBT_IS_BLACK(T) (!ERTS_RBT_IS_RED(T)) -#define ERTS_RBT_SET_BLACK(T) ((T)->is_red = 0) -#define ERTS_RBT_GET_FLAGS(T) ((T)->is_red) -#define ERTS_RBT_SET_FLAGS(T, F) ((T)->is_red = F) -#define ERTS_RBT_GET_PARENT(T) ((T)->parent) -#define ERTS_RBT_SET_PARENT(T, P) ((T)->parent = P) +#define ERTS_RBT_SET_BLACK(T) ((T)->parent &= ~ERTS_AHIST_FLG_RED) +#define ERTS_RBT_GET_FLAGS(T) ((T)->parent & ERTS_AHIST_FLG_MASK) +#define ERTS_RBT_SET_FLAGS(T, F) \ + do { \ + ASSERT((((UWord)(F)) & ~ERTS_AHIST_FLG_MASK) == 0); \ + (T)->parent |= (UWord)(F); \ + } while(0) +#define ERTS_RBT_GET_PARENT(T) \ + ((hist_tree_t*)((T)->parent & ~ERTS_AHIST_FLG_MASK)) +#define ERTS_RBT_SET_PARENT(T, P) \ + do { \ + ASSERT((((UWord)(P)) & ERTS_AHIST_FLG_MASK) == 0); \ + (T)->parent &= ERTS_AHIST_FLG_MASK; \ + (T)->parent |= (UWord)(P); \ + } while(0) #define ERTS_RBT_GET_RIGHT(T) ((T)->right) #define ERTS_RBT_SET_RIGHT(T, R) ((T)->right = (R)) #define ERTS_RBT_GET_LEFT(T) ((T)->left) #define ERTS_RBT_SET_LEFT(T, L) ((T)->left = (L)) -#define ERTS_RBT_GET_KEY(T) ((T)->tag) -#define ERTS_RBT_IS_LT(KX, KY) (KX < KY) -#define ERTS_RBT_IS_EQ(KX, KY) (KX == KY) +#define ERTS_RBT_GET_KEY(T) (&(T)->key) +#define ERTS_RBT_IS_LT(KX, KY) hist_tag_is_lt((KX), (KY)) +#define ERTS_RBT_IS_EQ(KX, KY) hist_tag_is_eq((KX), (KY)) #define ERTS_RBT_WANT_FOREACH_DESTROY_YIELDING #define ERTS_RBT_WANT_FOREACH_DESTROY #define ERTS_RBT_WANT_INSERT @@ -7570,6 +7587,12 @@ typedef struct hist_tree__ { #include "erl_rbtree.h" +enum { + GATHER_AHIST_FLAG_PER_PID = (1 << 0), + GATHER_AHIST_FLAG_PER_PORT = (1 << 1), + GATHER_AHIST_FLAG_PER_MFA = (1 << 2), +}; + typedef struct { blockscan_t common; @@ -7583,6 +7606,8 @@ typedef struct { UWord hist_slot_start; int hist_slot_count; + int flags; + UWord unscanned_size; ErtsHeapFactory msg_factory; @@ -7590,30 +7615,53 @@ typedef struct { Eterm result_list; } gather_ahist_t; -static void gather_ahist_update(gather_ahist_t *state, UWord tag, UWord size) +static void gather_ahist_update(gather_ahist_t *state, + const alcu_atag_t *tag, + UWord size) { + hist_key_t key = { .packed = tag->packed, + .u = { .mfa.module = THE_NON_VALUE, /* aliases u.term */ + .mfa.function = THE_NON_VALUE, + .mfa.arity = 0 } }; hist_tree_t *hist_node; - UWord size_interval; int hist_slot; - hist_node = hist_tree_rbt_lookup(state->hist_tree, tag); + if (is_value(tag->term)) { + if ((is_internal_pid(tag->term) && + (state->flags & GATHER_AHIST_FLAG_PER_PID)) || + (is_internal_port(tag->term) && + (state->flags & GATHER_AHIST_FLAG_PER_PORT))) { + key.u.term = tag->term; + } else if (is_CP(tag->term)) { + const ErtsCodeMFA *mfa; + + ASSERT(erts_alcu_enable_code_atags); + mfa = erts_find_function_from_pc(cp_val(tag->term)); + + if (mfa && (state->flags & GATHER_AHIST_FLAG_PER_MFA)) { + key.u.mfa = *mfa; + } else if (mfa) { + key.u.mfa.module = mfa->module; + } + } + } + + hist_node = hist_tree_rbt_lookup(state->hist_tree, &key); if (hist_node == NULL) { /* Plain calloc is intentional. */ - hist_node = (hist_tree_t*)calloc(1, sizeof(hist_tree_t) + - (state->hist_slot_count - 1) * - sizeof(hist_node->histogram[0])); - hist_node->tag = tag; + hist_node = (hist_tree_t*)calloc(1, + sizeof(hist_tree_t) + + (state->hist_slot_count - 1) * + sizeof(hist_node->histogram[0])); + hist_node->key = key; hist_tree_rbt_insert(&state->hist_tree, hist_node); state->hist_count++; } - size_interval = (size / state->hist_slot_start); - size_interval = u64_log2(size_interval + 1); - - hist_slot = MIN(size_interval, state->hist_slot_count - 1); - + hist_slot = MIN(get_hist_slot(size / state->hist_slot_start), + state->hist_slot_count - 1); hist_node->histogram[hist_slot]++; } @@ -7629,12 +7677,11 @@ static int gather_ahist_scan(Allctr_t *allocator, blocks_scanned = 1; if (IS_SB_CARRIER(carrier)) { - alcu_atag_t tag; block = SBC2BLK(allocator, carrier); if (BLK_HAS_ATAG(block)) { - tag = GET_BLK_ATAG(block); + const alcu_atag_t *tag = BLK_ATAG(block); ASSERT(DBG_IS_VALID_ATAG(tag)); @@ -7651,7 +7698,7 @@ static int gather_ahist_scan(Allctr_t *allocator, UWord block_size = MBC_BLK_SZ(block); if (IS_ALLOCED_BLK(block) && BLK_HAS_ATAG(block)) { - alcu_atag_t tag = GET_BLK_ATAG(block); + const alcu_atag_t *tag = BLK_ATAG(block); ASSERT(DBG_IS_VALID_ATAG(tag)); @@ -7679,17 +7726,26 @@ static int gather_ahist_append_result(hist_tree_t *node, void *arg, Sint reds) { gather_ahist_t *state = (gather_ahist_t*)arg; - Eterm histogram_tuple, tag_tuple; + Eterm histogram_tuple, tag_tuple, identity; + int heap_size; Eterm *hp; int ix; ASSERT(state->building_result); - hp = erts_produce_heap(&state->msg_factory, - 7 + state->hist_slot_count + - (state->hist_slot_count == 0 ? -1 : 0), - 0); + /* Histogram. */ + heap_size = state->hist_slot_count + (state->hist_slot_count == 0 ? -1 : 0); + + /* 3-tuple plus cons cell. */ + heap_size += 7; + + if (is_value(node->key.u.mfa.function)) { + /* 3-tuple for MFA. */ + heap_size += 4; + } + + hp = erts_produce_heap(&state->msg_factory, heap_size, 0); if (state->hist_slot_count == 0) { histogram_tuple = erts_get_global_literal(ERTS_LIT_EMPTY_TUPLE); } else { @@ -7703,9 +7759,23 @@ static int gather_ahist_append_result(hist_tree_t *node, void *arg, Sint reds) hp += 1 + state->hist_slot_count; } + if (is_value(node->key.u.mfa.function)) { + hp[0] = make_arityval(3); + hp[1] = node->key.u.mfa.module; + hp[2] = node->key.u.mfa.function; + hp[3] = make_small(node->key.u.mfa.arity); + + identity = make_tuple(hp); + hp += 4; + } else if (is_value(node->key.u.term)) { + identity = node->key.u.term; + } else { + identity = ATAG_PACKED_ID(node->key.packed); + } + hp[0] = make_arityval(3); - hp[1] = ATAG_ID(node->tag); - hp[2] = alloc_type_atoms[ATAG_TYPE(node->tag)]; + hp[1] = identity; + hp[2] = alloc_type_atoms[ATAG_PACKED_TYPE(node->key.packed)]; hp[3] = histogram_tuple; tag_tuple = make_tuple(hp); @@ -7809,7 +7879,8 @@ static void gather_ahist_abort(void *arg) int erts_alcu_gather_alloc_histograms(Process *p, int allocator_num, int aux_work_tid, int hist_width, - UWord hist_start, Eterm ref) + UWord hist_start, int flags, + Eterm ref) { gather_ahist_t *gather_state; blockscan_t *scanner; @@ -7827,6 +7898,8 @@ int erts_alcu_gather_alloc_histograms(Process *p, int allocator_num, /* Plain calloc is intentional. */ gather_state = (gather_ahist_t*)calloc(1, sizeof(gather_ahist_t)); + gather_state->flags = flags; + scanner = &gather_state->common; scanner->abort = gather_ahist_abort; @@ -7925,13 +7998,10 @@ static int gather_cinfo_scan(Allctr_t *allocator, scanned_bytes += block_size; if (IS_FREE_BLK(block)) { - UWord size_interval; int hist_slot; - size_interval = (block_size / state->hist_slot_start); - size_interval = u64_log2(size_interval + 1); - - hist_slot = MIN(size_interval, state->hist_slot_count - 1); + hist_slot = get_hist_slot(block_size / state->hist_slot_start); + hist_slot = MIN(hist_slot + 1, state->hist_slot_count - 1); node->free_histogram[hist_slot]++; } @@ -8135,7 +8205,7 @@ static void gather_cinfo_abort(void *arg) int erts_alcu_gather_carrier_info(struct process *p, int allocator_num, int aux_work_tid, int hist_width, - UWord hist_start, Eterm ref) + UWord hist_start, int flags, Eterm ref) { gather_cinfo_t *gather_state; blockscan_t *scanner; @@ -8155,6 +8225,8 @@ int erts_alcu_gather_carrier_info(struct process *p, int allocator_num, gather_state = (gather_cinfo_t*)calloc(1, sizeof(gather_cinfo_t)); scanner = &gather_state->common; + (void)flags; + scanner->abort = gather_cinfo_abort; scanner->scan = gather_cinfo_scan; scanner->finish = gather_cinfo_finish; diff --git a/erts/emulator/beam/erl_alloc_util.h b/erts/emulator/beam/erl_alloc_util.h index 84d215e0f08f..3719ae90e9c5 100644 --- a/erts/emulator/beam/erl_alloc_util.h +++ b/erts/emulator/beam/erl_alloc_util.h @@ -179,6 +179,8 @@ typedef struct { #endif +extern int erts_alcu_enable_code_atags; + void * erts_alcu_alloc(ErtsAlcType_t, void *, Uint); void * erts_alcu_realloc(ErtsAlcType_t, void *, void *, Uint); void * erts_alcu_realloc_mv(ErtsAlcType_t, void *, void *, Uint); @@ -244,7 +246,8 @@ int erts_alcu_try_set_dyn_param(Allctr_t*, Eterm param, Uint value); * for. */ int erts_alcu_gather_alloc_histograms(struct process *p, int allocator_num, int sched_id, int hist_width, - UWord hist_start, Eterm ref); + UWord hist_start, int flags, + Eterm ref); /* Gathers per-carrier info from the given allocator number (ERTS_ALC_A_*) and * scheduler id. An id of 0 means the global instance will be used. @@ -253,7 +256,8 @@ int erts_alcu_gather_alloc_histograms(struct process *p, int allocator_num, * for. */ int erts_alcu_gather_carrier_info(struct process *p, int allocator_num, int sched_id, int hist_width, - UWord hist_start, Eterm ref); + UWord hist_start, int flags, + Eterm ref); struct alcu_blockscan; diff --git a/erts/emulator/beam/erl_arith.c b/erts/emulator/beam/erl_arith.c index 404e98c6b779..88223778daf0 100644 --- a/erts/emulator/beam/erl_arith.c +++ b/erts/emulator/beam/erl_arith.c @@ -790,8 +790,16 @@ erts_mixed_times(Process* p, Eterm arg1, Eterm arg2) do_big: need_heap = BIG_NEED_SIZE(sz); +#ifdef DEBUG + need_heap++; +#endif hp = HeapFragOnlyAlloc(p, need_heap); + +#ifdef DEBUG + hp[need_heap-1] = ERTS_HOLE_MARKER; +#endif res = big_times(arg1, arg2, hp); + ASSERT(hp[need_heap-1] == ERTS_HOLE_MARKER); /* * Note that the result must be big in this case, since @@ -859,6 +867,98 @@ erts_mixed_times(Process* p, Eterm arg1, Eterm arg2) } } +Eterm +erts_mul_add(Process* p, Eterm arg1, Eterm arg2, Eterm arg3, Eterm* pp) +{ + Eterm tmp_big1[2]; + Eterm tmp_big2[2]; + Eterm tmp_big3[2]; + Eterm hdr; + Eterm res; + Eterm big_arg1, big_arg2, big_arg3; + dsize_t sz1, sz2, sz3, sz; + int need_heap; + Eterm* hp; + Eterm product; + + big_arg1 = arg1; + big_arg2 = arg2; + big_arg3 = arg3; + switch (big_arg1 & _TAG_PRIMARY_MASK) { + case TAG_PRIMARY_IMMED1: + if (is_not_small(big_arg1)) { + break; + } + big_arg1 = small_to_big(signed_val(big_arg1), tmp_big1); + /* Fall through */ + case TAG_PRIMARY_BOXED: + hdr = *boxed_val(big_arg1); + switch ((hdr & _TAG_HEADER_MASK) >> _TAG_PRIMARY_SIZE) { + case (_TAG_HEADER_POS_BIG >> _TAG_PRIMARY_SIZE): + case (_TAG_HEADER_NEG_BIG >> _TAG_PRIMARY_SIZE): + switch (big_arg2 & _TAG_PRIMARY_MASK) { + case TAG_PRIMARY_IMMED1: + if (is_not_small(big_arg2)) { + break; + } + big_arg2 = small_to_big(signed_val(big_arg2), tmp_big2); + /* Fall through */ + case TAG_PRIMARY_BOXED: + hdr = *boxed_val(big_arg2); + switch ((hdr & _TAG_HEADER_MASK) >> _TAG_PRIMARY_SIZE) { + case (_TAG_HEADER_POS_BIG >> _TAG_PRIMARY_SIZE): + case (_TAG_HEADER_NEG_BIG >> _TAG_PRIMARY_SIZE): + switch (big_arg3 & _TAG_PRIMARY_MASK) { + case TAG_PRIMARY_IMMED1: + if (is_not_small(big_arg3)) { + break; + } + big_arg3 = small_to_big(signed_val(big_arg3), tmp_big3); + /* Fall through */ + case TAG_PRIMARY_BOXED: + hdr = *boxed_val(big_arg3); + switch ((hdr & _TAG_HEADER_MASK) >> _TAG_PRIMARY_SIZE) { + case (_TAG_HEADER_POS_BIG >> _TAG_PRIMARY_SIZE): + case (_TAG_HEADER_NEG_BIG >> _TAG_PRIMARY_SIZE): + sz1 = big_size(big_arg1); + sz2 = big_size(big_arg2); + sz3 = big_size(big_arg3); + sz = sz1 + sz2; + sz = MAX(sz, sz3) + 1; + need_heap = BIG_NEED_SIZE(sz); +#ifdef DEBUG + need_heap++; +#endif + hp = HeapFragOnlyAlloc(p, need_heap); + +#ifdef DEBUG + hp[need_heap-1] = ERTS_HOLE_MARKER; +#endif + res = big_mul_add(big_arg1, big_arg2, big_arg3, hp); + ASSERT(hp[need_heap-1] == ERTS_HOLE_MARKER); + maybe_shrink(p, hp, res, need_heap); + if (is_nil(res)) { + p->freason = SYSTEM_LIMIT; + return THE_NON_VALUE; + } + return res; + } + } + } + } + } + } + + /* At least one of the arguments is a float or invalid. */ + product = erts_mixed_times(p, arg1, arg2); + *pp = product; + if (is_non_value(product)) { + return product; + } else { + return erts_mixed_plus(p, product, arg3); + } +} + Eterm erts_mixed_div(Process* p, Eterm arg1, Eterm arg2) { diff --git a/erts/emulator/beam/erl_bif_binary.c b/erts/emulator/beam/erl_bif_binary.c index 884cf792db20..cac5f8bab9cf 100644 --- a/erts/emulator/beam/erl_bif_binary.c +++ b/erts/emulator/beam/erl_bif_binary.c @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 2010-2021. All Rights Reserved. + * Copyright Ericsson AB 2010-2023. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -646,7 +646,7 @@ static BFReturn ac_find_first_match(BinaryFindContext *ctx, byte *haystack) register Uint reds = *reductions; while (i < len) { - if (--reds == 0) { + if (reds == 0) { state->q = q; state->pos = i; state->len = len; @@ -655,6 +655,8 @@ static BFReturn ac_find_first_match(BinaryFindContext *ctx, byte *haystack) return BF_RESTART; } + reds--; + while (q->g[haystack[i]] == NULL && q->h != q) { q = q->h; } @@ -844,23 +846,22 @@ static BFReturn bm_find_first_match(BinaryFindContext *ctx, byte *haystack) Sint mem_read = len - needle_last - j; if (mem_read <= 0) { - return BF_NOT_FOUND; + return BF_NOT_FOUND; } - mem_read = MIN(mem_read, reds * MC_LOOP_FACTOR); + + /* Save at least one reduction for the loop below. */ + mem_read = MIN(mem_read, 1 + (reds - 1) * MC_LOOP_FACTOR); ASSERT(mem_read > 0); pos_pointer = memchr(&haystack[j + needle_last], needle[needle_last], mem_read); if (pos_pointer == NULL) { - reds -= mem_read / MC_LOOP_FACTOR; - j += mem_read; + reds -= mem_read / MC_LOOP_FACTOR; + j += mem_read; } else { - reds -= (pos_pointer - &haystack[j]) / MC_LOOP_FACTOR; - j = pos_pointer - haystack - needle_last; + reds -= (pos_pointer - &haystack[j]) / MC_LOOP_FACTOR; + j = pos_pointer - haystack - needle_last; } - // Ensure we have at least one reduction before entering the loop - ++reds; - for(;;) { if (j > len - blen) { *reductions = reds; @@ -934,7 +935,8 @@ static BFReturn bm_find_all_non_overlapping(BinaryFindContext *ctx, byte *haysta if(mem_read <= 0) { goto done; } - mem_read = MIN(mem_read, reds * MC_LOOP_FACTOR); + /* Save at least one reduction for the loop below. */ + mem_read = MIN(mem_read, 1 + (reds - 1) * MC_LOOP_FACTOR); ASSERT(mem_read > 0); pos_pointer = memchr(&haystack[j + needle_last], needle[needle_last], mem_read); if (pos_pointer == NULL) { @@ -944,8 +946,6 @@ static BFReturn bm_find_all_non_overlapping(BinaryFindContext *ctx, byte *haysta reds -= (pos_pointer - &haystack[j]) / MC_LOOP_FACTOR; j = pos_pointer - haystack - needle_last; } - // Ensure we have at least one reduction when resuming the loop - ++reds; } if (j > len - blen) { goto done; @@ -1463,7 +1463,6 @@ static BFReturn do_binary_find(Process *p, Eterm subject, BinaryFindContext **ct } erts_free_aligned_binary_bytes(temp_alloc); *res_term = THE_NON_VALUE; - BUMP_ALL_REDS(p); return BF_RESTART; } else { *res_term = ctx->found(p, subject, &ctx); @@ -1474,7 +1473,6 @@ static BFReturn do_binary_find(Process *p, Eterm subject, BinaryFindContext **ct if (is_first_call) { erts_set_gc_state(p, 0); } - BUMP_ALL_REDS(p); return BF_RESTART; } if (ctx->search->done != NULL) { @@ -1494,7 +1492,6 @@ static BFReturn do_binary_find(Process *p, Eterm subject, BinaryFindContext **ct if (is_first_call) { erts_set_gc_state(p, 0); } - BUMP_ALL_REDS(p); return BF_RESTART; } if (ctx->search->done != NULL) { @@ -1538,10 +1535,6 @@ binary_match(Process *p, Eterm arg1, Eterm arg2, Eterm arg3, Uint flags) if (parse_match_opts_list(arg3, arg1, &(ctx->hsstart), &(ctx->hsend))) { goto badarg; } - if (ctx->hsend == 0) { - result = do_match_not_found_result(p, arg1, &ctx); - BIF_RET(result); - } if (maybe_binary_match_compile(ctx, arg2, &pat_bin) != BF_OK) { goto badarg; } @@ -1555,6 +1548,7 @@ binary_match(Process *p, Eterm arg1, Eterm arg2, Eterm arg3, Uint flags) case BF_OK: BIF_RET(result); case BF_RESTART: + BUMP_ALL_REDS(p); ASSERT(result == THE_NON_VALUE && ctx->trap_term != result && ctx->pat_term != result); BIF_TRAP3(&binary_find_trap_export, p, arg1, ctx->trap_term, ctx->pat_term); default: @@ -1599,10 +1593,6 @@ binary_split(Process *p, Eterm arg1, Eterm arg2, Eterm arg3) if (parse_split_opts_list(arg3, arg1, &(ctx->hsstart), &(ctx->hsend), &(ctx->flags))) { goto badarg; } - if (ctx->hsend == 0) { - result = do_split_not_found_result(p, arg1, &ctx); - BIF_RET(result); - } if (maybe_binary_match_compile(ctx, arg2, &pat_bin) != BF_OK) { goto badarg; } @@ -1616,6 +1606,7 @@ binary_split(Process *p, Eterm arg1, Eterm arg2, Eterm arg3) case BF_OK: BIF_RET(result); case BF_RESTART: + BUMP_ALL_REDS(p); ASSERT(result == THE_NON_VALUE && ctx->trap_term != result && ctx->pat_term != result); BIF_TRAP3(&binary_find_trap_export, p, arg1, ctx->trap_term, ctx->pat_term); default: diff --git a/erts/emulator/beam/erl_bif_info.c b/erts/emulator/beam/erl_bif_info.c index 4ba368ec7c6d..7deec8f329c3 100644 --- a/erts/emulator/beam/erl_bif_info.c +++ b/erts/emulator/beam/erl_bif_info.c @@ -173,7 +173,7 @@ erts_bld_bin_list(Uint **hpp, Uint *szp, ErlOffHeap* oh, Eterm tail) union erl_off_heap_ptr u; Eterm res = tail; Eterm tuple; - struct erts_tmp_aligned_offheap tmp; + union erts_tmp_aligned_offheap tmp; for (u.hdr = oh->first; u.hdr; u.hdr = u.hdr->next) { erts_align_offheap(&u, &tmp); @@ -3360,6 +3360,11 @@ BIF_RETTYPE system_info_1(BIF_ALIST_1) #endif } else if (ERTS_IS_ATOM_STR("system_logger", BIF_ARG_1)) { BIF_RET(erts_get_system_logger()); + } else if (ERTS_IS_ATOM_STR("max_integer", BIF_ARG_1)) { + Eterm *hp = HAlloc(BIF_P, BIG_ARITY_MAX+1); + hp[0] = make_pos_bignum_header(BIG_ARITY_MAX); + sys_memset(hp + 1, 0xff, BIG_ARITY_MAX*sizeof(Eterm)); + BIF_RET(make_big(hp)); } BIF_ERROR(BIF_P, BADARG); @@ -3674,7 +3679,7 @@ fun_info_2(BIF_ALIST_2) hp = HAlloc(p, 3); break; case am_pid: - val = is_local_fun(funp) ? funp->creator : am_undefined; + val = is_local_fun(funp) ? erts_init_process_id : am_undefined; hp = HAlloc(p, 3); break; case am_module: @@ -3702,7 +3707,7 @@ fun_info_2(BIF_ALIST_2) break; case am_env: { - Uint num_free = funp->num_free; + Uint num_free = fun_num_free(funp); int i; hp = HAlloc(p, 3 + 2 * num_free); @@ -3724,7 +3729,7 @@ fun_info_2(BIF_ALIST_2) hp = HAlloc(p, 3); break; case am_arity: - val = make_small(funp->arity); + val = make_small(fun_arity(funp)); hp = HAlloc(p, 3); break; case am_name: @@ -3763,7 +3768,7 @@ fun_info_mfa_1(BIF_ALIST_1) BIF_RET(TUPLE3(hp, funp->entry.fun->module, NIL, - make_small(funp->arity))); + make_small(fun_arity(funp)))); } } else { ASSERT(is_external_fun(funp) && funp->next == NULL); @@ -3773,7 +3778,7 @@ fun_info_mfa_1(BIF_ALIST_1) BIF_RET(TUPLE3(hp, mfa->module, mfa->function, - make_small(funp->arity))); + make_small(fun_arity(funp)))); } BIF_ERROR(p, BADARG); @@ -4527,7 +4532,7 @@ BIF_RETTYPE erts_debug_get_internal_state_1(BIF_ALIST_1) BIF_RET(erts_debug_reader_groups_map(BIF_P, (int) groups)); } else if (ERTS_IS_ATOM_STR("internal_hash", tp[1])) { - Uint hash = (Uint) make_internal_hash(tp[2], 0); + Uint hash = (Uint) erts_internal_hash(tp[2]); Uint hsz = 0; Eterm* hp; erts_bld_uint(NULL, &hsz, hash); @@ -5346,16 +5351,19 @@ erts_get_ethread_info(Process *c_p) static BIF_RETTYPE gather_histograms_helper(Process * c_p, Eterm arg_tuple, - int gather(Process *, int, int, int, UWord, Eterm)) + int gather(Process *, int, int, int, UWord, int, Eterm)) { SWord hist_start, hist_width, aux_work_tid; int msg_count, alloc_num; Eterm *args; + int flags; - /* This is an internal BIF, so the error checking is mostly left to erlang - * code. */ + /* This is an internal BIF so the error checking is mostly left to erlang + * code, we'll just make sure we won't crash the emulator outright. */ + if (!is_tuple_arity(arg_tuple, 6)) { + BIF_ERROR(c_p, BADARG); + } - ASSERT(is_tuple_arity(arg_tuple, 5)); args = tuple_val(arg_tuple); for (alloc_num = ERTS_ALC_A_MIN; alloc_num <= ERTS_ALC_A_MAX; alloc_num++) { @@ -5371,12 +5379,14 @@ gather_histograms_helper(Process * c_p, Eterm arg_tuple, aux_work_tid = signed_val(args[2]); hist_width = signed_val(args[3]); hist_start = signed_val(args[4]); + flags = signed_val(args[5]); if (aux_work_tid < 0 || erts_no_aux_work_threads <= aux_work_tid) { BIF_ERROR(c_p, BADARG); } - msg_count = gather(c_p, alloc_num, aux_work_tid, hist_width, hist_start, args[5]); + msg_count = gather(c_p, alloc_num, aux_work_tid, hist_width, hist_start, + flags, args[6]); BIF_RET(make_small(msg_count)); } diff --git a/erts/emulator/beam/erl_bif_op.c b/erts/emulator/beam/erl_bif_op.c index 7113d9e8902f..60243bcc2309 100644 --- a/erts/emulator/beam/erl_bif_op.c +++ b/erts/emulator/beam/erl_bif_op.c @@ -254,7 +254,7 @@ Eterm erl_is_function(Process* p, Eterm arg1, Eterm arg2) if (is_any_fun(arg1)) { ErlFunThing* funp = (ErlFunThing *) fun_val(arg1); - if (funp->arity == (Uint) arity) { + if (fun_arity(funp) == (Uint) arity) { BIF_RET(am_true); } } diff --git a/erts/emulator/beam/erl_bif_persistent.c b/erts/emulator/beam/erl_bif_persistent.c index 08e15f55d693..e811e96e49de 100644 --- a/erts/emulator/beam/erl_bif_persistent.c +++ b/erts/emulator/beam/erl_bif_persistent.c @@ -971,8 +971,8 @@ cleanup_trap_data(Binary *bp) static Uint lookup(HashTable* hash_table, Eterm key, Eterm *bucket) { + erts_ihash_t idx = erts_internal_hash(key); Uint mask = hash_table->mask; - Uint32 idx = make_internal_hash(key, 0); Eterm term; while (1) { diff --git a/erts/emulator/beam/erl_bif_trace.c b/erts/emulator/beam/erl_bif_trace.c index 9f79607d9748..9e6e14f6fd03 100644 --- a/erts/emulator/beam/erl_bif_trace.c +++ b/erts/emulator/beam/erl_bif_trace.c @@ -837,7 +837,7 @@ Eterm trace_info_2(BIF_ALIST_2) } static Eterm -build_trace_flags_term(Eterm **hpp, Uint *szp, Uint trace_flags) +build_trace_flags_term(Eterm **hpp, Uint *szp, Uint32 trace_flags) { #define ERTS_TFLAG__(F, FN) \ @@ -955,7 +955,7 @@ static Eterm trace_info_pid(Process* p, Eterm pid_spec, Eterm key) { Eterm tracer; - Uint trace_flags = am_false; + Uint32 trace_flags = 0; Eterm* hp; if (pid_spec == am_new || pid_spec == am_new_processes) { diff --git a/erts/emulator/beam/erl_bits.c b/erts/emulator/beam/erl_bits.c index 8b6698b6ae9d..d2a0b2700784 100644 --- a/erts/emulator/beam/erl_bits.c +++ b/erts/emulator/beam/erl_bits.c @@ -83,46 +83,6 @@ static byte get_bit(byte b, size_t a_offs); #define GROW_PROC_BIN_SIZE(size) \ (((size) > (1ull << 24)) ? 1.2*(size) : 2*(size)) -/* the state resides in the current process' scheduler data */ - -#define byte_buf (ErlBitsState.byte_buf_) -#define byte_buf_len (ErlBitsState.byte_buf_len_) - -static erts_atomic_t bits_bufs_size; - -Uint -erts_bits_bufs_size(void) -{ - return (Uint) erts_atomic_read_nob(&bits_bufs_size); -} - -void -erts_bits_init_state(ERL_BITS_PROTO_0) -{ - byte_buf_len = 1; - byte_buf = erts_alloc(ERTS_ALC_T_BITS_BUF, byte_buf_len); - - erts_bin_offset = 0; -} - -void -erts_bits_destroy_state(ERL_BITS_PROTO_0) -{ - erts_free(ERTS_ALC_T_BITS_BUF, byte_buf); -} - -void -erts_init_bits(void) -{ - ERTS_CT_ASSERT(offsetof(Binary,orig_bytes) % 8 == 0); - ERTS_CT_ASSERT(offsetof(ErtsMagicBinary,u.aligned.data) % 8 == 0); - ERTS_CT_ASSERT(offsetof(ErtsBinary,driver.binary.orig_bytes) - == offsetof(Binary,orig_bytes)); - - erts_atomic_init_nob(&bits_bufs_size, 0); - /* erl_process.c calls erts_bits_init_state() on all state instances */ -} - /***************************************************************** *** *** New matching binaries functions @@ -614,6 +574,33 @@ erts_bs_get_binary_all_2(Process *p, ErlBinMatchBuffer* mb) } \ } while(0) +static void +fmt_small(byte *buf, Uint num_bytes, Eterm arg, Uint num_bits, Uint flags) +{ + Uint bit_offset; + Sint val; + + ASSERT(is_small(arg)); + ASSERT(num_bits != 0); /* Tested by caller */ + + bit_offset = BIT_OFFSET(num_bits); + val = signed_val(arg); + + if (flags & BSF_LITTLE) { /* Little endian */ + num_bytes--; + COPY_VAL(buf, 1, val, num_bytes); + *buf = bit_offset ? (val << (8-bit_offset)) : val; + } else { /* Big endian */ + buf += num_bytes - 1; + if (bit_offset) { + *buf-- = val << (8-bit_offset); + num_bytes--; + val >>= bit_offset; + } + COPY_VAL(buf, -1, val, num_bytes); + } +} + /* calculate a - *cp (carry) (store result in b), *cp is updated! */ #define SUBc(a, cp, b) do { \ byte __x = (a); \ @@ -621,177 +608,150 @@ erts_bs_get_binary_all_2(Process *p, ErlBinMatchBuffer* mb) (*cp) = (__y > __x); \ *(b) = ~__y; \ } while(0) - -static int -fmt_int(byte *buf, Uint sz, Eterm val, Uint size, Uint flags) + +static void +fmt_big(byte *buf, Uint num_bytes, Eterm val, Uint num_bits, Uint flags) { unsigned long offs; + int sign; + Uint ds; + ErtsDigit* dp; + int n; - offs = BIT_OFFSET(size); - if (is_small(val)) { - Sint v = signed_val(val); - - ASSERT(size != 0); /* Tested by caller */ - if (flags & BSF_LITTLE) { /* Little endian */ - sz--; - COPY_VAL(buf,1,v,sz); - *buf = offs ? ((v << (8-offs)) & 0xff) : (v & 0xff); - } else { /* Big endian */ - buf += (sz - 1); - if (offs) { - *buf-- = (v << (8-offs)) & 0xff; - sz--; - v >>= offs; - } - COPY_VAL(buf,-1,v,sz); - } - } else if (is_big(val)) { - int sign = big_sign(val); - Uint ds = big_size(val)*sizeof(ErtsDigit); /* number of digits bytes */ - ErtsDigit* dp = big_v(val); - int n = MIN(sz,ds); + ASSERT(is_big(val)); - if (size == 0) { - return 0; - } - if (flags & BSF_LITTLE) { - sz -= n; /* pad with this amount */ - if (sign) { - int c = 1; - while(n >= sizeof(ErtsDigit)) { - ErtsDigit d = *dp++; - int i; - for(i = 0; i < sizeof(ErtsDigit); ++i) { - SUBc((d&0xff), &c, buf); - buf++; - d >>= 8; - } - n -= sizeof(ErtsDigit); - } - if (n) { - ErtsDigit d = *dp; - do { - SUBc((d&0xff), &c, buf); - buf++; - d >>= 8; - } while (--n > 0); - } - /* pad */ - while(sz--) { - SUBc(0, &c, buf); - buf++; - } - } - else { - while(n >= sizeof(ErtsDigit)) { - ErtsDigit d = *dp++; - int i; - for(i = 0; i < sizeof(ErtsDigit); ++i) { - *buf++ = (d & 0xff); - d >>= 8; - } - n -= sizeof(ErtsDigit); - } - if (n) { - ErtsDigit d = *dp; - do { - *buf++ = (d & 0xff); - d >>= 8; - } while (--n > 0); - } - /* pad */ - while(sz) { - *buf++ = 0; - sz--; - } - } - /* adjust MSB!!! */ - if (offs) { - buf--; - *buf <<= (8 - offs); - } - } - else { /* BIG ENDIAN */ - ErtsDigit acc = 0; - ErtsDigit d; - - buf += (sz - 1); /* end of buffer */ - sz -= n; /* pad with this amount */ - offs = offs ? (8-offs) : 0; /* shift offset */ - - if (sign) { /* SIGNED */ - int c = 1; - - while (n >= sizeof(ErtsDigit)) { - int i; - - d = *dp++; - acc |= d << offs; - SUBc((acc&0xff), &c, buf); - buf--; - acc = d >> (8-offs); - for (i = 0; i < sizeof(ErtsDigit)-1; ++i) { - SUBc((acc&0xff), &c, buf); - buf--; - acc >>= 8; - } - n -= sizeof(ErtsDigit); - } - if (n) { - acc |= ((ErtsDigit)*dp << offs); - do { - SUBc((acc & 0xff), &c, buf); - buf--; - acc >>= 8; - } while (--n > 0); - } - /* pad */ - while(sz--) { - SUBc((acc & 0xff), &c, buf); - buf--; - acc >>= 8; - } - } - else { /* UNSIGNED */ - while (n >= sizeof(ErtsDigit)) { - int i; - - d = *dp++; - acc |= d << offs; - *buf-- = acc; - acc = d >> (8-offs); - for (i = 0; i < sizeof(ErtsDigit)-1; ++i) { - *buf-- = acc; - acc >>= 8; - } - n -= sizeof(ErtsDigit); - } - if (n) { - acc |= ((ErtsDigit)*dp << offs); - do { - *buf-- = acc & 0xff; - acc >>= 8; - } while (--n > 0); - } - while (sz--) { - *buf-- = acc & 0xff; - acc >>= 8; - } - } - } - } else { /* Neither small nor big */ - return -1; + if (num_bits == 0) { + return; } - return 0; -} -static void -ERTS_INLINE need_byte_buf(ERL_BITS_PROTO_1(int need)) -{ - if (byte_buf_len < need) { - erts_atomic_add_nob(&bits_bufs_size, need - byte_buf_len); - byte_buf_len = need; - byte_buf = erts_realloc(ERTS_ALC_T_BITS_BUF, byte_buf, byte_buf_len); + sign = big_sign(val); + ds = big_size(val)*sizeof(ErtsDigit); /* number of digits bytes */ + dp = big_v(val); + n = MIN(num_bytes, ds); + + offs = BIT_OFFSET(num_bits); + if (flags & BSF_LITTLE) { + num_bytes -= n; /* pad with this amount */ + if (sign) { /* negative */ + int c = 1; + while (n >= sizeof(ErtsDigit)) { + ErtsDigit d = *dp++; + int i; + for (i = 0; i < sizeof(ErtsDigit); i++) { + SUBc(d & 0xff, &c, buf); + buf++; + d >>= 8; + } + n -= sizeof(ErtsDigit); + } + if (n) { + ErtsDigit d = *dp; + do { + SUBc(d & 0xff, &c, buf); + buf++; + d >>= 8; + } while (--n > 0); + } + /* pad */ + while (num_bytes--) { + SUBc(0, &c, buf); + buf++; + } + } else { /* positive */ + while (n >= sizeof(ErtsDigit)) { + ErtsDigit d = *dp++; + int i; + for(i = 0; i < sizeof(ErtsDigit); i++) { + *buf++ = d; + d >>= 8; + } + n -= sizeof(ErtsDigit); + } + if (n) { + ErtsDigit d = *dp; + do { + *buf++ = d; + d >>= 8; + } while (--n > 0); + } + /* pad */ + while (num_bytes) { + *buf++ = 0; + num_bytes--; + } + } + + /* adjust MSB */ + if (offs) { + buf--; + *buf <<= (8 - offs); + } + } else { /* BIG ENDIAN */ + ErtsDigit acc = 0; + ErtsDigit d; + + buf += num_bytes - 1; /* end of buffer */ + num_bytes -= n; /* pad with this amount */ + offs = offs ? (8-offs) : 0; /* shift offset */ + + if (sign) { /* negative bignum */ + int c = 1; + + while (n >= sizeof(ErtsDigit)) { + int i; + + d = *dp++; + acc |= d << offs; + SUBc(acc & 0xff, &c, buf); + buf--; + acc = d >> (8-offs); + for (i = 0; i < sizeof(ErtsDigit)-1; i++) { + SUBc(acc & 0xff, &c, buf); + buf--; + acc >>= 8; + } + n -= sizeof(ErtsDigit); + } + if (n) { + acc |= ((ErtsDigit)*dp << offs); + do { + SUBc(acc & 0xff, &c, buf); + buf--; + acc >>= 8; + } while (--n > 0); + } + /* pad */ + while (num_bytes--) { + SUBc(acc & 0xff, &c, buf); + buf--; + acc >>= 8; + } + } else { /* positive bignum */ + while (n >= sizeof(ErtsDigit)) { + int i; + + d = *dp++; + acc |= d << offs; + *buf-- = acc; + acc = d >> (8-offs); + for (i = 0; i < sizeof(ErtsDigit)-1; i++) { + *buf-- = acc; + acc >>= 8; + } + n -= sizeof(ErtsDigit); + } + if (n) { + acc |= (*dp << offs); + do { + *buf-- = acc; + acc >>= 8; + } while (--n > 0); + } + while (num_bytes--) { + *buf-- = acc; + acc >>= 8; + } + } } } @@ -812,25 +772,80 @@ erts_new_bs_put_integer(ERL_BITS_PROTO_3(Eterm arg, Uint num_bits, unsigned flag } else if (bit_offset + num_bits <= 8) { /* * All bits are in the same byte. - */ + */ iptr = erts_current_bin+BYTE_OFFSET(bin_offset); b = *iptr & (0xff << rbits); - b |= (signed_val(arg) & ((1 << num_bits)-1)) << (8-bit_offset-num_bits); + b |= (signed_val(arg) & ((1 << num_bits)-1)) << (rbits-num_bits); *iptr = b; } else if (bit_offset == 0) { /* * More than one bit, starting at a byte boundary. - * That will be quite efficiently handled by fmt_int(). - * - * (We know that fmt_int() can't fail here.) */ - (void) fmt_int(erts_current_bin+BYTE_OFFSET(bin_offset), - NBYTES(num_bits), arg, num_bits, flags); + iptr = erts_current_bin + BYTE_OFFSET(bin_offset); + fmt_small(iptr, NBYTES(num_bits), arg, num_bits, flags); } else if (flags & BSF_LITTLE) { - /* - * Can't handle unaligned little-endian in a simple way. - */ - goto unaligned; + /* + * Little endian small in more than one byte, not + * aligned on a byte boundary. + */ + Sint val = signed_val(arg); + Uint rshift = bit_offset; + Uint lshift = rbits; + Uint lmask = MAKE_MASK(rbits); + Uint count = (num_bits - rbits) / 8; + Uint bits, bits1; + + iptr = erts_current_bin+BYTE_OFFSET(bin_offset); + + if (BIT_OFFSET(num_bits) == 0) { + bits = val; + bits1 = bits >> rshift; + *iptr = MASK_BITS(bits1, *iptr, lmask); + iptr++; + val >>= 8; + + while (count--) { + bits1 = bits << lshift; + bits = val & 0xff; + *iptr++ = bits1 | (bits >> rshift); + val >>= 8; + } + + *iptr = bits << lshift; + } else { + Sint num_bytes = NBYTES(num_bits) - 1; + Uint deoffs = BIT_OFFSET(bit_offset + num_bits); + + if (num_bytes-- > 0) { + bits = val; + } else { + bits = (val << (8 - BIT_OFFSET(num_bits))); + } + bits1 = bits >> rshift; + *iptr = MASK_BITS(bits1, *iptr, lmask); + iptr++; + val >>= 8; + + while (count--) { + bits1 = bits << lshift; + if (num_bytes-- > 0) { + bits = val & 0xff; + } else { + bits = (val << (8 - BIT_OFFSET(num_bits))) & 0xff; + } + *iptr++ = bits1 | (bits >> rshift); + val >>= 8; + } + + if (deoffs) { + bits1 = bits << lshift; + if (rshift < deoffs) { + bits = (val << (8 - BIT_OFFSET(num_bits))) & 0xff; + bits1 |= bits >> rshift; + } + *iptr = bits1; + } + } } else { /* Big endian */ /* * Big-endian, more than one byte, but not aligned on a byte boundary. @@ -857,34 +872,76 @@ erts_new_bs_put_integer(ERL_BITS_PROTO_3(Eterm arg, Uint num_bits, unsigned flag } *iptr++ = b; - /* fmt_int() can't fail here. */ - (void) fmt_int(iptr, NBYTES(num_bits-rbits), arg, - num_bits-rbits, flags); + fmt_small(iptr, NBYTES(num_bits-rbits), arg, num_bits-rbits, flags); } - } else if (bit_offset == 0) { + } else if (is_big(arg) && bit_offset == 0) { /* * Big number, aligned on a byte boundary. We can format the * integer directly into the binary. */ - if (fmt_int(erts_current_bin+BYTE_OFFSET(bin_offset), - NBYTES(num_bits), arg, num_bits, flags) < 0) { - return 0; - } + fmt_big(erts_current_bin+BYTE_OFFSET(bin_offset), + NBYTES(num_bits), arg, num_bits, flags); + } else if (is_big(arg) && bit_offset + num_bits <= 8) { + /* + * All bits are in the same byte. + */ + Uint rbits = 8 - bit_offset; + Sint sign = big_sign(arg); + ErtsDigit* dp = big_v(arg); + Uint val = sign ? -*dp : *dp; + + iptr = erts_current_bin+BYTE_OFFSET(bin_offset); + b = *iptr & (0xff << rbits); + b |= (val & ((1 << num_bits)-1)) << (rbits-num_bits); + *iptr = b; + } else if (is_big(arg)) { + /* + * Big number, not aligned on a byte boundary. + */ + Uint rshift = bit_offset; + Uint lshift = 8 - bit_offset; + Uint deoffs = BIT_OFFSET(bit_offset + num_bits); + Uint lmask = MAKE_MASK(8 - bit_offset); + Uint rmask = (deoffs) ? (MAKE_MASK(deoffs)<<(8-deoffs)) : 0; + Uint count = (num_bits - lshift) / 8; + Uint bits, bits1; + + ASSERT(num_bits - lshift >= 0); + + /* + * Format the integer byte-aligned using the binary itself as + * a temporary buffer. + */ + iptr = erts_current_bin + BYTE_OFFSET(bin_offset); + b = *iptr; + fmt_big(iptr, NBYTES(num_bits), arg, num_bits, flags); + + /* + * Now restore the overwritten bits of the first byte and + * shift everything to the right. + */ + bits = *iptr; + bits1 = bits >> rshift; + *iptr = MASK_BITS(bits1, b, lmask); + iptr++; + + while (count--) { + bits1 = bits << lshift; + bits = *iptr; + *iptr++ = bits1 | (bits >> rshift); + } + + if (rmask) { + bits1 = bits << lshift; + if ((rmask << rshift) & 0xff) { + bits = *iptr; + bits1 |= (bits >> rshift); + } + *iptr = MASK_BITS(bits1, *iptr, rmask); + } } else { - unaligned: - /* - * Big number or small little-endian number, not byte-aligned, - * or not a number at all. - * - * We must format the number into a temporary buffer, and then - * copy that into the binary. - */ - need_byte_buf(ERL_BITS_ARGS_1(NBYTES(num_bits))); - iptr = byte_buf; - if (fmt_int(iptr, NBYTES(num_bits), arg, num_bits, flags) < 0) { - return 0; - } - erts_copy_bits(iptr, 0, 1, erts_current_bin, bin_offset, 1, num_bits); + /* Not an integer. */ + return 0; } erts_bin_offset = bin_offset + num_bits; return 1; @@ -2162,13 +2219,13 @@ erts_cmp_bits(byte* a_ptr, size_t a_offs, byte* b_ptr, size_t b_offs, size_t siz void -erts_copy_bits(byte* src, /* Base pointer to source. */ - size_t soffs, /* Bit offset for source relative to src. */ - int sdir, /* Direction: 1 (forward) or -1 (backward). */ - byte* dst, /* Base pointer to destination. */ - size_t doffs, /* Bit offset for destination relative to dst. */ - int ddir, /* Direction: 1 (forward) or -1 (backward). */ - size_t n) /* Number of bits to copy. */ +erts_copy_bits(const byte* src, /* Base pointer to source. */ + size_t soffs, /* Bit offset for source relative to src. */ + int sdir, /* Direction: 1 (forward) or -1 (backward). */ + byte* dst, /* Base pointer to destination. */ + size_t doffs, /* Bit offset for destination relative to dst. */ + int ddir, /* Direction: 1 (forward) or -1 (backward). */ + size_t n) /* Number of bits to copy. */ { Uint lmask; Uint rmask; @@ -2288,6 +2345,22 @@ erts_copy_bits(byte* src, /* Base pointer to source. */ } } +/* + * Calculate sufficient heap space for a binary extracted by + * erts_extract_sub_binary(). + */ +Uint erts_extracted_binary_size(Uint bit_size) +{ + Uint byte_size = BYTE_OFFSET(bit_size); + ERTS_CT_ASSERT(ERL_SUB_BIN_SIZE <= ERL_ONHEAP_BIN_LIMIT); + + if (BIT_OFFSET(bit_size) == 0 && byte_size <= ERL_ONHEAP_BIN_LIMIT) { + return heap_bin_size(byte_size); + } else { + return ERL_SUB_BIN_SIZE; + } +} + Eterm erts_extract_sub_binary(Eterm **hp, Eterm base_bin, byte *base_data, Uint bit_offset, Uint bit_size) { diff --git a/erts/emulator/beam/erl_bits.h b/erts/emulator/beam/erl_bits.h index 1d95536a68ff..eeab9ba7bfda 100644 --- a/erts/emulator/beam/erl_bits.h +++ b/erts/emulator/beam/erl_bits.h @@ -50,12 +50,6 @@ typedef struct erl_bin_match_buffer { } ErlBinMatchBuffer; struct erl_bits_state { - /* - * Temporary buffer sometimes used by erts_new_bs_put_integer(). - */ - byte *byte_buf_; - int byte_buf_len_; - /* * Pointer to the beginning of the current binary. */ @@ -127,11 +121,6 @@ typedef struct erl_bin_match_struct{ } \ } while (0) -void erts_init_bits(void); /* Initialization once. */ -void erts_bits_init_state(ERL_BITS_PROTO_0); -void erts_bits_destroy_state(ERL_BITS_PROTO_0); - - /* * NBYTES(x) returns the number of bytes needed to store x bits. */ @@ -177,7 +166,6 @@ int erts_new_bs_put_binary_all(Process *c_p, Eterm Bin, Uint unit); Eterm erts_new_bs_put_float(Process *c_p, Eterm Float, Uint num_bits, int flags); void erts_new_bs_put_string(ERL_BITS_PROTO_2(byte* iptr, Uint num_bytes)); -Uint erts_bits_bufs_size(void); Uint32 erts_bs_get_unaligned_uint32(ErlBinMatchBuffer* mb); Eterm erts_bs_get_utf8(ErlBinMatchBuffer* mb); Eterm erts_bs_get_utf16(ErlBinMatchBuffer* mb, Uint flags); @@ -192,20 +180,31 @@ Eterm erts_bs_init_writable(Process* p, Eterm sz); /* * Common utilities. */ -void erts_copy_bits(byte* src, size_t soffs, int sdir, - byte* dst, size_t doffs,int ddir, size_t n); +void erts_copy_bits(const byte* src, size_t soffs, int sdir, + byte* dst, size_t doffs, int ddir, size_t n); int erts_cmp_bits(byte* a_ptr, size_t a_offs, byte* b_ptr, size_t b_offs, size_t size); +/* + * Calculate the heap space for a binary extracted by + * erts_extract_sub_binary(). + */ +Uint erts_extracted_binary_size(Uint bit_size); /* Extracts a region from base_bin as a sub-binary or heap binary, whichever * is the most appropriate. * - * The caller must ensure that there's enough free space at *hp */ + * The caller must ensure that there's enough free space at *hp by using + * erts_extracted_binary_size(). + * */ Eterm erts_extract_sub_binary(Eterm **hp, Eterm base_bin, byte *base_data, Uint bit_offset, Uint num_bits); -/* Pessimistic estimate of the words required for erts_extract_sub_binary */ -#define EXTRACT_SUB_BIN_HEAP_NEED (heap_bin_size(ERL_ONHEAP_BIN_LIMIT)) +/* + * Conservative estimate of the number of words required for + * erts_extract_sub_binary() when the number of bits is unknown. + */ +#define EXTRACT_SUB_BIN_HEAP_NEED \ + (MAX(ERL_SUB_BIN_SIZE, heap_bin_size(ERL_ONHEAP_BIN_LIMIT))) /* * Flags for bs_create_bin / bs_get_* / bs_put_* / bs_init* instructions. diff --git a/erts/emulator/beam/erl_db_hash.c b/erts/emulator/beam/erl_db_hash.c index fa8a8c15ec27..05ee2d1be548 100644 --- a/erts/emulator/beam/erl_db_hash.c +++ b/erts/emulator/beam/erl_db_hash.c @@ -188,7 +188,7 @@ DEC_NITEMS(DbTableHash* DB, DbTableHashLockAndCounter* LCK_CTR, HashValue HASH) #define BUCKET(tb, i) SEGTAB(tb)[SLOT_IX_TO_SEG_IX(i)]->buckets[(i) & EXT_SEGSZ_MASK] #ifdef DEBUG -# define DBG_BUCKET_INACTIVE ((HashDbTerm*)0xdead5107) +# define DBG_BUCKET_INACTIVE ((HashDbTerm*)(UWord)0xdead5107) #endif @@ -276,7 +276,7 @@ static ERTS_INLINE int is_pseudo_deleted(HashDbTerm* p) /* optimised version of make_hash (normal case? atomic key) */ #define MAKE_HASH(term) \ ((is_atom(term) ? (atom_tab(atom_val(term))->slot.bucket.hvalue) : \ - make_internal_hash(term, 0)) & MAX_HASH_MASK) + erts_internal_hash(term)) & MAX_HASH_MASK) # define GET_LOCK_MASK(NUMBER_OF_LOCKS) ((NUMBER_OF_LOCKS)-1) diff --git a/erts/emulator/beam/erl_db_util.c b/erts/emulator/beam/erl_db_util.c index af5aa09a5c70..29a3912a3b7c 100644 --- a/erts/emulator/beam/erl_db_util.c +++ b/erts/emulator/beam/erl_db_util.c @@ -3287,9 +3287,7 @@ void db_free_term(DbTable *tb, void* basep, Uint offset) size = db_alloced_size_comp(db); } else { - ErlOffHeap tmp_oh; - tmp_oh.first = db->first_oh; - erts_cleanup_offheap(&tmp_oh); + erts_cleanup_offheap_list(db->first_oh); size = offset + offsetof(DbTerm,tpl) + db->size*sizeof(Eterm); } erts_db_free(ERTS_ALC_T_DB_TERM, tb, basep, size); @@ -3315,9 +3313,7 @@ void db_free_term_no_tab(int compress, void* basep, Uint offset) size = db_alloced_size_comp(db); } else { - ErlOffHeap tmp_oh; - tmp_oh.first = db->first_oh; - erts_cleanup_offheap(&tmp_oh); + erts_cleanup_offheap_list(db->first_oh); size = offset + offsetof(DbTerm,tpl) + db->size*sizeof(Eterm); } erts_db_free(ERTS_ALC_T_DB_TERM, NULL, basep, size); @@ -3472,9 +3468,7 @@ void* db_store_term(DbTableCommon *tb, DbTerm* old, Uint offset, Eterm obj) if (old != 0) { basep = ((byte*) old) - offset; - tmp_offheap.first = old->first_oh; - erts_cleanup_offheap(&tmp_offheap); - old->first_oh = tmp_offheap.first; + erts_cleanup_offheap_list(old->first_oh); if (size == old->size) { newp = old; } @@ -3729,12 +3723,12 @@ static Uint db_element_size(DbTerm *obj, Eterm* tpl, Uint pos) { } /* Our own "cleanup_offheap" - * as refc-binaries may be unaligned in compressed terms + * as ProcBin and ErtsMRefThing may be unaligned in compressed terms */ void db_cleanup_offheap_comp(DbTerm* obj) { union erl_off_heap_ptr u; - struct erts_tmp_aligned_offheap tmp; + union erts_tmp_aligned_offheap tmp; for (u.hdr = obj->first_oh; u.hdr; u.hdr = u.hdr->next) { erts_align_offheap(&u, &tmp); @@ -6024,9 +6018,7 @@ DbTerm* db_alloc_tmp_uncompressed(DbTableCommon* tb, DbTerm* org) void db_free_tmp_uncompressed(DbTerm* obj) { - ErlOffHeap off_heap; - off_heap.first = obj->first_oh; - erts_cleanup_offheap(&off_heap); + erts_cleanup_offheap_list(obj->first_oh); #ifdef DEBUG_CLONE ASSERT(obj->debug_clone == NULL); #endif diff --git a/erts/emulator/beam/erl_db_util.h b/erts/emulator/beam/erl_db_util.h index e77ca4771cda..12e0228d6a6a 100644 --- a/erts/emulator/beam/erl_db_util.h +++ b/erts/emulator/beam/erl_db_util.h @@ -577,14 +577,15 @@ ERTS_GLB_INLINE Binary *erts_db_get_match_prog_binary_unchecked(Eterm term); /** @brief Ensure off-heap header is word aligned, make a temporary copy if * not. Needed when inspecting ETS off-heap lists that may contain unaligned - * ProcBins if table is 'compressed'. + * ProcBin and ErtsMRefThing if table is 'compressed'. */ -struct erts_tmp_aligned_offheap +union erts_tmp_aligned_offheap { ProcBin proc_bin; + ErtsMRefThing mref_thing; }; ERTS_GLB_INLINE void erts_align_offheap(union erl_off_heap_ptr*, - struct erts_tmp_aligned_offheap* tmp); + union erts_tmp_aligned_offheap* tmp); #if ERTS_GLB_INLINE_INCL_FUNC_DEF @@ -620,20 +621,27 @@ erts_db_get_match_prog_binary(Eterm term) ERTS_GLB_INLINE void erts_align_offheap(union erl_off_heap_ptr* ohp, - struct erts_tmp_aligned_offheap* tmp) + union erts_tmp_aligned_offheap* tmp) { if ((UWord)ohp->voidp % sizeof(UWord) != 0) { /* - * ETS store word unaligned ProcBins in its compressed format. - * Make a temporary aligned copy. + * ETS store word unaligned ProcBin and ErtsMRefThing in its compressed + * format. Make a temporary aligned copy. * * Warning, must pass (void*)-variable to memcpy. Otherwise it will * cause Bus error on Sparc due to false compile time assumptions * about word aligned memory (type cast is not enough). */ - sys_memcpy(tmp, ohp->voidp, sizeof(*tmp)); - ASSERT(tmp->proc_bin.thing_word == HEADER_PROC_BIN); - ohp->pb = &tmp->proc_bin; + sys_memcpy(tmp, ohp->voidp, sizeof(Eterm)); /* thing_word */ + if (tmp->proc_bin.thing_word == HEADER_PROC_BIN) { + sys_memcpy(tmp, ohp->voidp, sizeof(tmp->proc_bin)); + ohp->pb = &tmp->proc_bin; + } + else { + sys_memcpy(tmp, ohp->voidp, sizeof(tmp->mref_thing)); + ASSERT(is_magic_ref_thing(&tmp->mref_thing)); + ohp->mref = &tmp->mref_thing; + } } } diff --git a/erts/emulator/beam/erl_fun.c b/erts/emulator/beam/erl_fun.c index ae6116ec19c3..6c51b57b57ed 100644 --- a/erts/emulator/beam/erl_fun.c +++ b/erts/emulator/beam/erl_fun.c @@ -304,12 +304,9 @@ ErlFunThing *erts_new_export_fun_thing(Eterm **hpp, Export *exp, int arity) funp = (ErlFunThing*)(*hpp); *hpp += ERL_FUN_SIZE; - funp->thing_word = HEADER_FUN; - funp->next = NULL; + funp->thing_word = MAKE_FUN_HEADER(arity, 0, 1); funp->entry.exp = exp; - funp->num_free = 0; - funp->creator = am_external; - funp->arity = arity; + funp->next = NULL; #ifdef DEBUG { @@ -330,13 +327,11 @@ ErlFunThing *erts_new_local_fun_thing(Process *p, ErlFunEntry *fe, p->htop += ERL_FUN_SIZE + num_free; erts_refc_inc(&fe->refc, 2); - funp->thing_word = HEADER_FUN; + funp->thing_word = MAKE_FUN_HEADER(arity, num_free, 0); + funp->entry.fun = fe; + funp->next = MSO(p).first; MSO(p).first = (struct erl_off_heap_header*) funp; - funp->entry.fun = fe; - funp->num_free = num_free; - funp->creator = p->common.id; - funp->arity = arity; #ifdef DEBUG { @@ -345,7 +340,7 @@ ErlFunThing *erts_new_local_fun_thing(Process *p, ErlFunEntry *fe, * sanity-check the arity at this point. If the fun is called while in * this state, the `error_handler` module will take care of it. */ const ErtsCodeMFA *mfa = erts_get_fun_mfa(fe, erts_active_code_ix()); - ASSERT(!mfa || funp->arity == mfa->arity - num_free); + ASSERT(!mfa || fun_arity(funp) == mfa->arity - num_free); ASSERT(arity == fe->arity); } #endif diff --git a/erts/emulator/beam/erl_fun.h b/erts/emulator/beam/erl_fun.h index 4c9ff5cda1fe..82a944d4a75f 100644 --- a/erts/emulator/beam/erl_fun.h +++ b/erts/emulator/beam/erl_fun.h @@ -51,7 +51,9 @@ typedef struct erl_fun_entry { * environment. */ typedef struct erl_fun_thing { - Eterm thing_word; /* Subtag FUN_SUBTAG. */ + /* The header contains FUN_SUBTAG, arity, number of free variables, and + * whether this is an external fun. */ + Eterm thing_word; union { /* Both `ErlFunEntry` and `Export` begin with an `ErtsDispatchable`, so @@ -59,26 +61,29 @@ typedef struct erl_fun_thing { * pointer to improve performance. */ ErtsDispatchable *disp; - /* Pointer to function entry, valid iff `creator != am_external`.*/ + /* Pointer to function entry, valid iff the external bit is clear.*/ ErlFunEntry *fun; - /* Pointer to export entry, valid iff `creator == am_external`.*/ + /* Pointer to export entry, valid iff the external bit is set.*/ Export *exp; } entry; /* Next off-heap object, must be NULL when this is an external fun. */ struct erl_off_heap_header *next; - byte arity; /* The _apparent_ arity of the fun. */ - byte num_free; /* Number of free variables (in env). */ - - /* -- The following may be compound Erlang terms ---------------------- */ - Eterm creator; /* Pid of creator process (contains node). */ - Eterm env[]; /* Environment (free variables). */ + /* Environment (free variables), may be compound terms. */ + Eterm env[]; } ErlFunThing; -#define is_local_fun(FunThing) ((FunThing)->creator != am_external) -#define is_external_fun(FunThing) ((FunThing)->creator == am_external) +#define is_external_fun(FunThing) \ + (!!(((FunThing)->thing_word >> FUN_HEADER_EXTERNAL_OFFS) & 1)) +#define is_local_fun(FunThing) \ + (!(is_external_fun(FunThing))) + +#define fun_arity(FunThing) \ + (((FunThing)->thing_word >> FUN_HEADER_ARITY_OFFS) & 0xFF) +#define fun_num_free(FunThing) \ + (((FunThing)->thing_word >> FUN_HEADER_NUM_FREE_OFFS) & 0xFF) /* ERL_FUN_SIZE does _not_ include space for the environment which is a * C99-style flexible array */ diff --git a/erts/emulator/beam/erl_gc.h b/erts/emulator/beam/erl_gc.h index c1760562c950..3556ad11687e 100644 --- a/erts/emulator/beam/erl_gc.h +++ b/erts/emulator/beam/erl_gc.h @@ -82,7 +82,7 @@ ERTS_GLB_INLINE Eterm* move_boxed(Eterm *ERTS_RESTRICT ptr, Eterm hdr, Eterm **h if (is_flatmap_header(hdr)) nelts+=flatmap_get_size(ptr) + 1; else nelts += hashmap_bitcount(MAP_HEADER_VAL(hdr)); break; - case FUN_SUBTAG: nelts+=((ErlFunThing*)(ptr))->num_free+1; break; + case FUN_SUBTAG: nelts+=fun_num_free((ErlFunThing*)(ptr)); break; } gval = make_boxed(htop); *orig = gval; diff --git a/erts/emulator/beam/erl_init.c b/erts/emulator/beam/erl_init.c index 7df1e6a841bc..5f42548ca29d 100644 --- a/erts/emulator/beam/erl_init.c +++ b/erts/emulator/beam/erl_init.c @@ -343,7 +343,6 @@ erl_init(int ncpu, BIN_VH_MIN_SIZE = erts_next_heap_size(BIN_VH_MIN_SIZE, 0); erts_init_trace(); - erts_init_bits(); erts_code_ix_init(); erts_init_fun_table(); init_atom_table(); diff --git a/erts/emulator/beam/erl_map.c b/erts/emulator/beam/erl_map.c index 337567406b01..9ea9d8edb3b1 100644 --- a/erts/emulator/beam/erl_map.c +++ b/erts/emulator/beam/erl_map.c @@ -77,12 +77,14 @@ /* for hashmap_from_list/1 */ typedef struct { - Uint32 hx; - Uint32 skip; + erts_ihash_t hx; + Uint skip; Uint i; Eterm val; } hxnode_t; +/* Reverses the path element/slot order of `hash` */ +static ERTS_INLINE erts_ihash_t swizzle_map_hash(erts_ihash_t hash); static Eterm flatmap_merge(Process *p, Eterm nodeA, Eterm nodeB); static BIF_RETTYPE map_merge_mixed(Process *p, Eterm flat, Eterm tree, int swap_args); @@ -92,7 +94,7 @@ static BIF_RETTYPE hashmap_merge(Process *p, Eterm nodeA, Eterm nodeB, int swap_ static Export hashmap_merge_trap_export; static BIF_RETTYPE maps_merge_trap_1(BIF_ALIST_1); static Uint hashmap_subtree_size(Eterm node); -static Eterm hashmap_delete(Process *p, Uint32 hx, Eterm key, Eterm node, Eterm *value); +static Eterm hashmap_delete(Process *p, erts_ihash_t hx, Eterm key, Eterm node, Eterm *value); static Eterm flatmap_from_validated_list(Process *p, Eterm list, Eterm fill_value, Uint size); static Eterm hashmap_from_unsorted_array(ErtsHeapFactory*, hxnode_t *hxns, Uint n, int reject_dupkeys, ErtsAlcType_t temp_memory_allocator); static Eterm hashmap_from_sorted_unique_array(ErtsHeapFactory*, hxnode_t *hxns, Uint n, ErtsAlcType_t temp_memory_allocator); @@ -101,18 +103,12 @@ static Eterm hashmap_info(Process *p, Eterm node); static Eterm hashmap_bld_tuple_uint(Uint **hpp, Uint *szp, Uint n, Uint nums[]); static int hxnodecmp(const void* a, const void* b); static int hxnodecmpkey(const void* a, const void* b); -#define swizzle32(D,S) \ - do { \ - (D) = ((S) & 0x0000000f) << 28 | ((S) & 0x000000f0) << 20 \ - | ((S) & 0x00000f00) << 12 | ((S) & 0x0000f000) << 4 \ - | ((S) & 0x000f0000) >> 4 | ((S) & 0x00f00000) >> 12 \ - | ((S) & 0x0f000000) >> 20 | ((S) & 0xf0000000) >> 28; \ - } while(0) #define cdepth(V1,V2) (hashmap_clz((V1) ^ (V2)) >> 2) -#define maskval(V,L) (((V) >> ((7 - (L))*4)) & 0xf) +#define maskval(V,L) (((V) >> (((HAMT_MAX_LEVEL - 1) - (L)) * 4)) & 0xF) #define DBG_PRINT(X) /*erts_printf X*/ #define HALLOC_EXTRA 200 + /* ******************************* * ** Yielding C Fun (YCF) Note ** * ******************************* @@ -191,7 +187,7 @@ erts_map_size(Eterm map) const Eterm * erts_maps_get(Eterm key, Eterm map) { - Uint32 hx; + erts_ihash_t hx; if (is_flatmap(map)) { Eterm *ks, *vs; flatmap_t *mp; @@ -495,8 +491,8 @@ static Eterm hashmap_from_validated_list(Process *p, Eterm res; Eterm key; Eterm value; - Uint32 sw; - Uint32 hx; + erts_ihash_t sw; + erts_ihash_t hx; Uint ix = 0; hxnode_t *hxns; ErtsHeapFactory *factory; @@ -528,7 +524,7 @@ static Eterm hashmap_from_validated_list(Process *p, value = kv[2]; } hx = hashmap_restore_hash(0,key); - swizzle32(sw,hx); + sw = swizzle_map_hash(hx); hxns[ix].hx = sw; hxns[ix].val = CONS(hp, key, value); hp += 2; hxns[ix].skip = 1; /* will be reassigned in from_array */ @@ -649,7 +645,7 @@ BIF_RETTYPE maps_from_keys_2(BIF_ALIST_2) { Eterm erts_hashmap_from_array(ErtsHeapFactory* factory, Eterm *leafs, Uint n, int reject_dupkeys) { - Uint32 sw, hx; + erts_ihash_t sw, hx; Uint ix; hxnode_t *hxns; Eterm res; @@ -659,7 +655,7 @@ Eterm erts_hashmap_from_array(ErtsHeapFactory* factory, Eterm *leafs, Uint n, for (ix = 0; ix < n; ix++) { hx = hashmap_make_hash(*leafs); - swizzle32(sw,hx); + sw = swizzle_map_hash(hx); hxns[ix].hx = sw; hxns[ix].val = make_list(leafs); hxns[ix].skip = 1; @@ -734,7 +730,7 @@ Eterm erts_map_from_ks_and_vs(ErtsHeapFactory *factory, Eterm *ks, Eterm *vs, Ui Eterm erts_hashmap_from_ks_and_vs_extra(ErtsHeapFactory *factory, Eterm *ks, Eterm *vs, Uint n, Eterm key, Eterm value) { - Uint32 sw, hx; + erts_ihash_t sw, hx; Uint i,sz; hxnode_t *hxns; Eterm *hp, res; @@ -748,7 +744,7 @@ Eterm erts_hashmap_from_ks_and_vs_extra(ErtsHeapFactory *factory, for(i = 0; i < n; i++) { hx = hashmap_make_hash(ks[i]); - swizzle32(sw,hx); + sw = swizzle_map_hash(hx); hxns[i].hx = sw; hxns[i].val = CONS(hp, ks[i], vs[i]); hp += 2; hxns[i].skip = 1; /* will be reassigned in from_array */ @@ -757,7 +753,7 @@ Eterm erts_hashmap_from_ks_and_vs_extra(ErtsHeapFactory *factory, if (key != THE_NON_VALUE) { hx = hashmap_make_hash(key); - swizzle32(sw,hx); + sw = swizzle_map_hash(hx); hxns[i].hx = sw; hxns[i].val = CONS(hp, key, value); hp += 2; hxns[i].skip = 1; @@ -839,23 +835,26 @@ static Eterm hashmap_from_unsorted_array(ErtsHeapFactory* factory, } if (cx > 1) { - /* recursive decompose array */ - res = hashmap_from_sorted_unique_array(factory, hxns, cx, + /* recursive decompose array */ + res = hashmap_from_sorted_unique_array(factory, hxns, cx, temp_memory_allocator); } else { - Eterm *hp; + Eterm slot; + Eterm *hp; - /* we only have one item, either because n was 1 or - * because we hade multiples of the same key. - * - * hash value has been swizzled, need to drag it down to get the - * correct slot. */ + /* We only have one item, either because n was 1 or because we have + * multiples of the same key. + * + * As the hash value has been swizzled, we need to drag it down to get + * the correct slot. */ + slot = hxns[0].hx >> ((HAMT_MAX_LEVEL - 1) * 4); + ASSERT(slot < 16); - hp = erts_produce_heap(factory, HAMT_HEAD_BITMAP_SZ(1), 0); - hp[0] = MAP_HEADER_HAMT_HEAD_BITMAP(1 << ((hxns[0].hx >> 0x1c) & 0xf)); - hp[1] = 1; - hp[2] = hxns[0].val; - res = make_hashmap(hp); + hp = erts_produce_heap(factory, HAMT_HEAD_BITMAP_SZ(1), 0); + hp[0] = MAP_HEADER_HAMT_HEAD_BITMAP(1 << slot); + hp[1] = 1; + hp[2] = hxns[0].val; + res = make_hashmap(hp); } return res; @@ -943,9 +942,9 @@ static Eterm hashmap_from_chunked_array(ErtsHeapFactory *factory, hxnode_t *hxns Uint dc; Uint slot; Uint elems; - Uint32 v; - Uint32 vp; - Uint32 vn; + erts_ihash_t v; + erts_ihash_t vp; + erts_ihash_t vn; Uint32 hdr; Uint bp; Uint sz; @@ -978,7 +977,7 @@ static Eterm hashmap_from_chunked_array(ErtsHeapFactory *factory, hxnode_t *hxns if (n == 1) { res = hxns[0].val; v = hxns[0].hx; - for (d = 7; d > 0; d--) { + for (d = HAMT_MAX_LEVEL-1; d > 0; d--) { slot = maskval(v,d); hp = erts_produce_heap(factory, HAMT_NODE_BITMAP_SZ(1), HALLOC_EXTRA); hp[0] = MAP_HEADER_HAMT_NODE_BITMAP(1 << slot); @@ -1015,7 +1014,7 @@ static Eterm hashmap_from_chunked_array(ErtsHeapFactory *factory, hxnode_t *hxns res = hxns[ix].val; if (hxns[ix].skip > 1) { - dc = 7; + dc = HAMT_MAX_LEVEL - 1; /* build collision nodes */ while (dc > d) { hp = erts_produce_heap(factory, HAMT_NODE_BITMAP_SZ(1), HALLOC_EXTRA); @@ -1045,7 +1044,7 @@ static Eterm hashmap_from_chunked_array(ErtsHeapFactory *factory, hxnode_t *hxns if (hxns[ix].skip > 1) { int wat = (d > dn) ? d : dn; - dc = 7; + dc = HAMT_MAX_LEVEL - 1; /* build collision nodes */ while (dc > wat) { hp = erts_produce_heap(factory, HAMT_NODE_BITMAP_SZ(1), HALLOC_EXTRA); @@ -1114,7 +1113,7 @@ static Eterm hashmap_from_chunked_array(ErtsHeapFactory *factory, hxnode_t *hxns res = hxns[ix].val; if (hxns[ix].skip > 1) { - dc = 7; + dc = HAMT_MAX_LEVEL - 1; /* build collision nodes */ while (dc > dn) { hp = erts_produce_heap(factory, HAMT_NODE_BITMAP_SZ(1), HALLOC_EXTRA); @@ -1400,7 +1399,7 @@ static Eterm flatmap_merge(Process *p, Eterm map1, Eterm map2) { /* Reshape map to a hashmap if the map exceeds the limit */ if (n > MAP_SMALL_MAP_LIMIT) { - Uint32 hx,sw; + erts_ihash_t hx,sw; Uint i; Eterm res; hxnode_t *hxns; @@ -1415,7 +1414,7 @@ static Eterm flatmap_merge(Process *p, Eterm map1, Eterm map2) { for (i = 0; i < n; i++) { hx = hashmap_make_hash(ks[i]); - swizzle32(sw,hx); + sw = swizzle_map_hash(hx); hxns[i].hx = sw; hxns[i].val = CONS(hp, ks[i], vs[i]); hp += 2; hxns[i].skip = 1; @@ -1440,7 +1439,7 @@ static Eterm map_merge_mixed(Process *p, Eterm flat, Eterm tree, int swap_args) flatmap_t *mp; Uint n, i; hxnode_t *hxns; - Uint32 sw, hx; + erts_ihash_t sw, hx; ErtsHeapFactory factory; /* convert flat to tree */ @@ -1461,7 +1460,7 @@ static Eterm map_merge_mixed(Process *p, Eterm flat, Eterm tree, int swap_args) for (i = 0; i < n; i++) { hx = hashmap_make_hash(ks[i]); - swizzle32(sw,hx); + sw = swizzle_map_hash(hx); hxns[i].hx = sw; hxns[i].val = CONS(hp, ks[i], vs[i]); hp += 2; hxns[i].skip = 1; @@ -1574,7 +1573,7 @@ static BIF_RETTYPE hashmap_merge(Process *p, Eterm map_A, Eterm map_B, PSTACK_DECLARE(s, 4); HashmapMergeContext local_ctx; struct HashmapMergePStackType* sp; - Uint32 hx; + erts_ihash_t hx; Eterm res = THE_NON_VALUE; Eterm hdrA, hdrB; Eterm *hp, *nhp; @@ -1875,29 +1874,35 @@ static Uint hashmap_subtree_size(Eterm node) { return size; } - -static int hash_cmp(Uint32 ha, Uint32 hb) +static int hash_cmp(erts_ihash_t ha, erts_ihash_t hb) { - int i; - for (i=0; i<8; i++) { - int cmp = (int)(ha & 0xF) - (int)(hb & 0xF); - if (cmp) - return cmp; - ha >>= 4; - hb >>= 4; + for (int i = 0; i < HAMT_MAX_LEVEL; i++) { + int cmp = (int)(ha & 0xF) - (int)(hb & 0xF); + + if (cmp) { + return cmp; + } + + ha >>= 4; + hb >>= 4; } + return 0; } int hashmap_key_hash_cmp(Eterm* ap, Eterm* bp) { if (ap && bp) { - Uint32 ha, hb; - ASSERT(CMP_TERM(CAR(ap), CAR(bp)) != 0); + erts_ihash_t ha, hb; + + ASSERT(CMP_TERM(CAR(ap), CAR(bp)) != 0); + ha = hashmap_make_hash(CAR(ap)); hb = hashmap_make_hash(CAR(bp)); + return hash_cmp(ha, hb); } + ASSERT(ap || bp); return ap ? -1 : 1; } @@ -1949,7 +1954,7 @@ BIF_RETTYPE maps_remove_2(BIF_ALIST_2) { */ int erts_maps_take(Process *p, Eterm key, Eterm map, Eterm *res, Eterm *value) { - Uint32 hx; + erts_ihash_t hx; Eterm ret; if (is_flatmap(map)) { Sint n; @@ -2041,7 +2046,7 @@ int erts_maps_take(Process *p, Eterm key, Eterm map, } int erts_maps_update(Process *p, Eterm key, Eterm value, Eterm map, Eterm *res) { - Uint32 hx; + erts_ihash_t hx; if (is_flatmap(map)) { Sint n,i; Eterm* hp,*shp; @@ -2110,7 +2115,7 @@ int erts_maps_update(Process *p, Eterm key, Eterm value, Eterm map, Eterm *res) } Eterm erts_maps_put(Process *p, Eterm key, Eterm value, Eterm map) { - Uint32 hx; + erts_ihash_t hx; Eterm res; if (is_flatmap(map)) { Sint n,i; @@ -2427,7 +2432,7 @@ Eterm* hashmap_iterator_prev(ErtsWStack* s) { } const Eterm * -erts_hashmap_get(Uint32 hx, Eterm key, Eterm node) +erts_hashmap_get(erts_ihash_t hx, Eterm key, Eterm node) { Eterm *ptr, hdr; Uint ix, lvl = 0; @@ -2469,6 +2474,7 @@ erts_hashmap_get(Uint32 hx, Eterm key, Eterm node) } while (!is_arity_value(hdr)); /* collision node */ + ASSERT(lvl == HAMT_MAX_LEVEL); ix = arityval(hdr); ASSERT(ix > 1); do { @@ -2479,7 +2485,7 @@ erts_hashmap_get(Uint32 hx, Eterm key, Eterm node) return NULL; } -Eterm erts_hashmap_insert(Process *p, Uint32 hx, Eterm key, Eterm value, +Eterm erts_hashmap_insert(Process *p, erts_ihash_t hx, Eterm key, Eterm value, Eterm map, int is_update) { Uint size, upsz; Eterm *hp, res = THE_NON_VALUE; @@ -2508,13 +2514,14 @@ Eterm erts_hashmap_insert(Process *p, Uint32 hx, Eterm key, Eterm value, } -int erts_hashmap_insert_down(Uint32 hx, Eterm key, Eterm value, Eterm node, Uint *sz, +int erts_hashmap_insert_down(erts_ihash_t hx, Eterm key, Eterm value, Eterm node, Uint *sz, Uint *update_size, ErtsEStack *sp, int is_update) { Eterm *ptr; Eterm hdr, ckey; - Uint32 ix, cix, bp, hval, chx; + Uint32 ix, cix, bp, hval; Uint slot, lvl = 0, clvl; Uint size = 0, n = 0; + erts_ihash_t chx; *update_size = 1; @@ -2609,7 +2616,7 @@ int erts_hashmap_insert_down(Uint32 hx, Eterm key, Eterm value, Eterm node, Uint ckey = CAR(kv); c = CMP_TERM(key, ckey); if (c == 0) { - if (CDR(ptr) == value) { + if (CDR(kv) == value) { *sz = 0; return 1; } @@ -2881,7 +2888,7 @@ static Eterm hashmap_values(Process* p, Eterm node) { } #endif /* INCLUDE_YCF_TRANSFORMED_ONLY_FUNCTIONS */ -static Eterm hashmap_delete(Process *p, Uint32 hx, Eterm key, +static Eterm hashmap_delete(Process *p, erts_ihash_t hx, Eterm key, Eterm map, Eterm *value) { Eterm *hp = NULL, *nhp = NULL, *hp_end = NULL; Eterm *ptr; @@ -2961,6 +2968,7 @@ static Eterm hashmap_delete(Process *p, Uint32 hx, Eterm key, goto not_found; default: /* collision node */ ERTS_ASSERT(is_arity_value(hdr)); + ASSERT(lvl == HAMT_MAX_LEVEL); n = arityval(hdr); ASSERT(n >= 2); for (slot = 0; slot < n; slot++) { @@ -3521,6 +3529,7 @@ static Eterm hashmap_info(Process *p, Eterm node) { break; default: /* collision node */ ERTS_ASSERT(is_arity_value(hdr)); + ASSERT(clvl == HAMT_MAX_LEVEL); ncollision++; sz = arityval(hdr); ASSERT(sz >= 2); @@ -4025,30 +4034,86 @@ BIF_RETTYPE erts_internal_map_next_3(BIF_ALIST_3) { } } -/* implementation of builtin emulations */ +/* Implementation of builtin emulations */ + +#if defined(ARCH_64) && (ERTS_AT_LEAST_GCC_VSN__(5, 1, 0) || \ + __has_builtin(__builtin_bswap64)) +# define hashmap_byte_swap(N) __builtin_bswap64((Uint64)(N)) +#elif defined(ARCH_32) && (ERTS_AT_LEAST_GCC_VSN__(5, 1, 0) || \ + __has_builtin(__builtin_bswap32)) +# define hashmap_byte_swap(N) __builtin_bswap32((Uint32)(N)) +#elif defined(_MSC_VER) && _MSC_VER >= 1900 +/* UCRT intrinsics are spread throughout the ordinary C headers, strangely + * enough. */ +# include + +# if defined(ARCH_64) +# define hashmap_byte_swap(N) _byteswap_uint64((Uint64)(N)) +# elif defined(ARCH_32) +# define hashmap_byte_swap(N) _byteswap_ulong((Uint32)(N)) +# endif +#else +/* No byte-swap intrinsic available. Fall back to C and hope that the compiler + * turns it into something efficient. */ +static ERTS_INLINE erts_ihash_t hashmap_byte_swap(erts_ihash_t hash) { + erts_ihash_t result = 0; + + for (int i = 0; i < sizeof(hash); i++) { + ERTS_CT_ASSERT(CHAR_BIT == 8); + result |= (((hash) >> i * 8) & 0xFF) << ((sizeof(hash) - i - 1) * 8); + } + + return result; +} +#endif + +static ERTS_INLINE erts_ihash_t swizzle_map_hash(erts_ihash_t hash) { + const erts_ihash_t mask = (erts_ihash_t)0xF0F0F0F0F0F0F0F0ull; + erts_ihash_t result; + + /* ABCDEFGH -> GHEFCDAB */ + result = hashmap_byte_swap(hash); + + /* GHEFCDAB -> HGFEDCBA */ + return ((result & mask)) >> 4 | ((result & (mask >> 4)) << 4); +} -#if !ERTS_AT_LEAST_GCC_VSN__(3, 4, 0) /* Count leading zeros emulation */ -Uint32 hashmap_clz(Uint32 x) { - Uint32 y; +#ifndef hashmap_clz +erts_ihash_t hashmap_clz(erts_ihash_t x) { + erts_ihash_t y; + +#if defined(ARCH_64) + int n = 64; + + y = x >> 32; if (y != 0) { n = n - 32; x = y; } +#elif defined(ARCH_32) int n = 32; - y = x >>16; if (y != 0) {n = n -16; x = y;} - y = x >> 8; if (y != 0) {n = n - 8; x = y;} - y = x >> 4; if (y != 0) {n = n - 4; x = y;} - y = x >> 2; if (y != 0) {n = n - 2; x = y;} - y = x >> 1; if (y != 0) return n - 2; +#endif + + y = x >> 16; if (y != 0) { n = n - 16; x = y; } + y = x >> 8; if (y != 0) { n = n - 8; x = y; } + y = x >> 4; if (y != 0) { n = n - 4; x = y; } + y = x >> 2; if (y != 0) { n = n - 2; x = y; } + y = x >> 1; if (y != 0) { return n - 2; } + return n - x; } - -const Uint32 SK5 = 0x55555555, SK3 = 0x33333333; -const Uint32 SKF0 = 0xF0F0F0F, SKFF = 0xFF00FF; +#endif /* CTPOP emulation */ -Uint32 hashmap_bitcount(Uint32 x) { - x -= ((x >> 1 ) & SK5); - x = (x & SK3 ) + ((x >> 2 ) & SK3 ); - x = (x & SKF0) + ((x >> 4 ) & SKF0); - x += x >> 8; - return (x + (x >> 16)) & 0x3F; +#ifndef hashmap_bitcount +erts_ihash_t hashmap_bitcount(erts_ihash_t x) { + const erts_ihash_t SK55 = (erts_ihash_t)0x5555555555555555ull; + const erts_ihash_t SK33 = (erts_ihash_t)0x3333333333333333ull; + const erts_ihash_t SK0F = (erts_ihash_t)0x0F0F0F0F0F0F0F0Full; + const erts_ihash_t SK01 = (erts_ihash_t)0x0101010101010101ull; + + x -= ((x >> 1) & SK55); + x = (x & SK33) + ((x >> 2) & SK33); + x = ((x + (x >> 4)) & SK0F); + x *= SK01; + + return x >> (sizeof(erts_ihash_t) - 1) * CHAR_BIT; } #endif diff --git a/erts/emulator/beam/erl_map.h b/erts/emulator/beam/erl_map.h index f046ae2093db..27415a639ebb 100644 --- a/erts/emulator/beam/erl_map.h +++ b/erts/emulator/beam/erl_map.h @@ -23,14 +23,31 @@ #define __ERL_MAP_H__ #include "sys.h" +#include "erl_term_hashing.h" /* intrinsic wrappers */ -#if ERTS_AT_LEAST_GCC_VSN__(3, 4, 0) -#define hashmap_clz(x) ((Uint32) __builtin_clz((unsigned int)(x))) -#define hashmap_bitcount(x) ((Uint32) __builtin_popcount((unsigned int) (x))) +#if ERTS_AT_LEAST_GCC_VSN__(3, 4, 0) || __has_builtin(__builtin_clz) +# if defined(ARCH_64) +# define hashmap_clz(x) \ + ((erts_ihash_t)__builtin_clzl((erts_ihash_t)(x))) +# elif defined(ARCH_32) +# define hashmap_clz(x) \ + ((erts_ihash_t)__builtin_clz((erts_ihash_t)(x))) +# endif #else -Uint32 hashmap_clz(Uint32 x); -Uint32 hashmap_bitcount(Uint32 x); +erts_ihash_t hashmap_clz(erts_ihash_t x); +#endif + +#if ERTS_AT_LEAST_GCC_VSN__(3, 4, 0) || __has_builtin(__builtin_popcount) +# if defined(ARCH_64) +# define hashmap_bitcount(x) \ + ((erts_ihash_t)__builtin_popcountl((erts_ihash_t)(x))) +# elif defined(ARCH_32) +# define hashmap_bitcount(x) \ + ((erts_ihash_t)__builtin_popcount((erts_ihash_t)(x))) +# endif +#else +erts_ihash_t hashmap_bitcount(erts_ihash_t x); #endif /* MAP */ @@ -56,10 +73,10 @@ typedef struct flatmap_s { /* the head-node is a bitmap or array with an untagged size */ #define hashmap_size(x) (((hashmap_head_t*) hashmap_val(x))->size) -#define hashmap_make_hash(Key) make_map_hash(Key) +#define hashmap_make_hash(Key) erts_map_hash(Key) #define hashmap_restore_hash(Lvl, Key) \ - (ASSERT(Lvl < 8), \ + (ASSERT(Lvl < HAMT_MAX_LEVEL), \ hashmap_make_hash(Key) >> (4*(Lvl))) #define hashmap_shift_hash(Hx, Lvl, Key) \ @@ -85,9 +102,9 @@ int erts_maps_update(Process *p, Eterm key, Eterm value, Eterm map, Eterm *re int erts_maps_remove(Process *p, Eterm key, Eterm map, Eterm *res); int erts_maps_take(Process *p, Eterm key, Eterm map, Eterm *res, Eterm *value); -Eterm erts_hashmap_insert(Process *p, Uint32 hx, Eterm key, Eterm value, +Eterm erts_hashmap_insert(Process *p, erts_ihash_t hx, Eterm key, Eterm value, Eterm node, int is_update); -int erts_hashmap_insert_down(Uint32 hx, Eterm key, Eterm value, Eterm node, Uint *sz, +int erts_hashmap_insert_down(erts_ihash_t hx, Eterm key, Eterm value, Eterm node, Uint *sz, Uint *upsz, struct ErtsEStack_ *sp, int is_update); Eterm erts_hashmap_insert_up(Eterm *hp, Eterm key, Eterm value, Uint upsz, struct ErtsEStack_ *sp); @@ -110,7 +127,7 @@ Eterm erts_hashmap_from_ks_and_vs_extra(ErtsHeapFactory *factory, const Eterm *erts_maps_get(Eterm key, Eterm map); -const Eterm *erts_hashmap_get(Uint32 hx, Eterm key, Eterm map); +const Eterm *erts_hashmap_get(erts_ihash_t hx, Eterm key, Eterm map); Sint erts_map_size(Eterm map); @@ -191,9 +208,9 @@ typedef struct hashmap_head_s { #define HAMT_SUBTAG_HEAD_BITMAP ((MAP_HEADER_TAG_HAMT_HEAD_BITMAP << _HEADER_ARITY_OFFS) | MAP_SUBTAG) #define HAMT_SUBTAG_HEAD_FLATMAP ((MAP_HEADER_TAG_FLATMAP_HEAD << _HEADER_ARITY_OFFS) | MAP_SUBTAG) -#define hashmap_index(hash) (((Uint32)hash) & 0xf) +#define hashmap_index(hash) ((hash) & 0xf) -#define HAMT_MAX_LEVEL 8 +#define HAMT_MAX_LEVEL ((sizeof(erts_ihash_t) * CHAR_BIT) / 4) /* hashmap heap size: [one cons cell + one list term in parent node] per key diff --git a/erts/emulator/beam/erl_message.h b/erts/emulator/beam/erl_message.h index 449aa927689c..cb4d4dff9805 100644 --- a/erts/emulator/beam/erl_message.h +++ b/erts/emulator/beam/erl_message.h @@ -306,9 +306,6 @@ typedef struct { signed char used_ix; signed char unused; signed char pending_set_save_ix; -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - signed char old_recv_marker_ix; -#endif } ErtsRecvMarkerBlock; /* Size of default message buffer (erl_message.c) */ diff --git a/erts/emulator/beam/erl_nif.c b/erts/emulator/beam/erl_nif.c index a9661dc78032..119138eaab28 100644 --- a/erts/emulator/beam/erl_nif.c +++ b/erts/emulator/beam/erl_nif.c @@ -1535,7 +1535,7 @@ ErlNifUInt64 enif_hash(ErlNifHash type, Eterm term, ErlNifUInt64 salt) { switch (type) { case ERL_NIF_INTERNAL_HASH: - return make_internal_hash(term, (Uint32) salt); + return erts_internal_salted_hash(term, (erts_ihash_t)salt); case ERL_NIF_PHASH2: /* It appears that make_hash2 doesn't always react to seasoning * as well as it should. Therefore, let's make it ignore the salt diff --git a/erts/emulator/beam/erl_node_tables.c b/erts/emulator/beam/erl_node_tables.c index dac24d0310bc..c31d26aaf11f 100644 --- a/erts/emulator/beam/erl_node_tables.c +++ b/erts/emulator/beam/erl_node_tables.c @@ -1527,7 +1527,7 @@ static void insert_offheap(ErlOffHeap *oh, int type, Eterm id) { union erl_off_heap_ptr u; - struct erts_tmp_aligned_offheap tmp; + union erts_tmp_aligned_offheap tmp; struct insert_offheap2_arg a; a.type = BIN_REF; diff --git a/erts/emulator/beam/erl_proc_sig_queue.c b/erts/emulator/beam/erl_proc_sig_queue.c index ee1d345fb371..a750f20f2c6e 100644 --- a/erts/emulator/beam/erl_proc_sig_queue.c +++ b/erts/emulator/beam/erl_proc_sig_queue.c @@ -67,26 +67,12 @@ Process *ERTS_WRITE_UNLIKELY(erts_dirty_process_signal_handler); Process *ERTS_WRITE_UNLIKELY(erts_dirty_process_signal_handler_high); Process *ERTS_WRITE_UNLIKELY(erts_dirty_process_signal_handler_max); -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS -Eterm erts_old_recv_marker_id; -#endif - void erts_proc_sig_queue_init(void) { ERTS_CT_ASSERT(ERTS_SIG_Q_OP_MASK > ERTS_SIG_Q_OP_MAX); ERTS_CT_ASSERT(ERTS_SIG_Q_OP_MSGQ_LEN_OFFS_MARK > ERTS_SIG_Q_OP_MAX); ERTS_CT_ASSERT(ERTS_SIG_Q_TYPE_MASK >= ERTS_SIG_Q_TYPE_MAX); - -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - { - Eterm *hp = erts_alloc(ERTS_ALC_T_LITERAL, - ERTS_REF_THING_SIZE*sizeof(Eterm)); - erts_old_recv_marker_id = erts_make_ref_in_buffer(hp); - erts_set_literal_tag(&erts_old_recv_marker_id, hp, ERTS_REF_THING_SIZE); - } -#endif - } typedef struct { @@ -3417,12 +3403,6 @@ recv_marker_deallocate(Process *c_p, ErtsRecvMarker *markp) ASSERT(blkp->unused > 0); blkp->unused--; } -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - else if (blkp->ref[ix] == erts_old_recv_marker_id) { - ASSERT(blkp->old_recv_marker_ix == ix); - blkp->old_recv_marker_ix = -1; - } -#endif blkp->marker[pix].next_ix = nix; blkp->marker[nix].prev_ix = pix; @@ -3517,13 +3497,6 @@ recv_marker_alloc_block(Process *c_p, ErtsRecvMarkerBlock **blkpp, markp->next_ix = markp->prev_ix = 0; blkp->used_ix = 0; -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - if (*uniqp == erts_old_recv_marker_id) - blkp->old_recv_marker_ix = 0; - else - blkp->old_recv_marker_ix = -1; -#endif - /* Put the rest in a free list in the ref words... */ blkp->free_ix = 1; for (ix = 1; ix < ERTS_RECV_MARKER_BLOCK_SIZE; ix++) { @@ -3687,13 +3660,6 @@ recv_marker_alloc(Process *c_p, ErtsRecvMarkerBlock **blkpp, blkp->ref[ix] = recv_marker_uniq(c_p, uniqp); -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - if (*uniqp == erts_old_recv_marker_id) { - ASSERT(blkp->old_recv_marker_ix == -1); - blkp->old_recv_marker_ix = ix; - } -#endif - ERTS_HDBG_CHK_RECV_MRKS(c_p); return markp; @@ -8301,9 +8267,7 @@ erl_proc_sig_hdbg_chk_recv_marker_block(Process *c_p) { int ix, used, unused, free; ErtsRecvMarkerBlock *blkp = c_p->sig_qs.recv_mrk_blk; -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - int old_recv_marker = 0; -#endif + if (!blkp) return; @@ -8322,13 +8286,6 @@ erl_proc_sig_hdbg_chk_recv_marker_block(Process *c_p) || ref == am_undefined || is_nil(ref)); -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - if (ref == erts_old_recv_marker_id) { - ERTS_ASSERT(blkp->old_recv_marker_ix == ix); - old_recv_marker++; - } -#endif - if (ref == am_undefined) unused++; @@ -8686,7 +8643,7 @@ erts_proc_sig_queue_try_enqueue_to_buffer(Eterm from, /* Use the sender id to hash to an outer signal queue buffer. This * guarantees that all signals from the same process are ordered in * send order. */ - slot = make_internal_hash(from, 0) % + slot = erts_internal_hash(from) % ERTS_PROC_SIG_INQ_BUFFERED_NR_OF_BUFFERS; buffer = &buffers->slots[slot]; nonempty_slots_before = 1; diff --git a/erts/emulator/beam/erl_proc_sig_queue.h b/erts/emulator/beam/erl_proc_sig_queue.h index 60c7af5e66d1..f8045a2812ee 100644 --- a/erts/emulator/beam/erl_proc_sig_queue.h +++ b/erts/emulator/beam/erl_proc_sig_queue.h @@ -200,10 +200,6 @@ typedef struct { #define ERTS_SIG_HANDLE_REDS_MAX_PREFERED (CONTEXT_REDS/40) -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS -extern Eterm erts_old_recv_marker_id; -#endif - #ifdef ERTS_PROC_SIG_HARD_DEBUG # define ERTS_HDBG_CHECK_SIGNAL_IN_QUEUE(P) \ ERTS_HDBG_CHECK_SIGNAL_IN_QUEUE__((P), "") @@ -1894,25 +1890,6 @@ erts_proc_notify_new_sig(Process* rp, erts_aint32_t state, } \ } while (0) -#undef ERTS_PROC_SIG_RECV_MARK_CLEAR_OLD_MARK__ -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - -#define ERTS_PROC_SIG_RECV_MARK_CLEAR_OLD_MARK__(BLKP) \ - do { \ - if ((BLKP)->old_recv_marker_ix >= 0) { \ - int ix__ = (BLKP)->old_recv_marker_ix; \ - ASSERT((BLKP)->ref[ix__] == erts_old_recv_marker_id); \ - ASSERT((BLKP)->marker[ix__].in_sigq); \ - ASSERT(!(BLKP)->marker[ix__].set_save); \ - (BLKP)->unused++; \ - (BLKP)->ref[ix__] = am_undefined; \ - (BLKP)->marker[ix__].pass = ERTS_RECV_MARKER_PASS_MAX; \ - (BLKP)->old_recv_marker_ix = -1; \ - } \ - } while (0) - -#endif - ERTS_GLB_INLINE int erts_msgq_eq_recv_mark_id__(Eterm term1, Eterm term2) { @@ -1994,13 +1971,6 @@ erts_msgq_recv_marker_clear(Process *c_p, Eterm id) if (!blkp) return; - -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - if (id == erts_old_recv_marker_id) { - ERTS_PROC_SIG_RECV_MARK_CLEAR_OLD_MARK__(blkp); - return; - } -#endif for (ix = 0; ix < ERTS_RECV_MARKER_BLOCK_SIZE; ix++) { if (erts_msgq_eq_recv_mark_id__(blkp->ref[ix], id)) { @@ -2030,9 +2000,6 @@ ERTS_GLB_INLINE void erts_msgq_recv_marker_bind(Process *c_p, Eterm bind_id) { ASSERT(!(c_p->sig_qs.flags & FS_HANDLING_SIGS)); -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - ASSERT(bind_id != erts_old_recv_marker_id); -#endif if (is_small(insert_id) || is_big(insert_id)) { ErtsRecvMarkerBlock *blkp = c_p->sig_qs.recv_mrk_blk; @@ -2061,12 +2028,6 @@ erts_msgq_recv_marker_insert_bind(Process *c_p, Eterm id) { ASSERT(!(c_p->sig_qs.flags & FS_HANDLING_SIGS)); if (is_internal_ref(id)) { -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - ErtsRecvMarkerBlock *blkp = c_p->sig_qs.recv_mrk_blk; - if (blkp && erts_old_recv_marker_id == id) - ERTS_PROC_SIG_RECV_MARK_CLEAR_OLD_MARK__(blkp); -#endif - erts_proc_sig_queue_lock(c_p); erts_proc_sig_fetch(c_p); erts_proc_unlock(c_p, ERTS_PROC_LOCK_MSGQ); @@ -2131,9 +2092,6 @@ erts_msgq_set_save_first(Process *c_p) ASSERT(!(c_p->sig_qs.flags & FS_HANDLING_SIGS)); if (blkp) { ERTS_PROC_SIG_RECV_MARK_CLEAR_PENDING_SET_SAVE__(blkp); -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - ERTS_PROC_SIG_RECV_MARK_CLEAR_OLD_MARK__(blkp); -#endif } /* diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c index 7a89df49e054..92cda704b991 100644 --- a/erts/emulator/beam/erl_process.c +++ b/erts/emulator/beam/erl_process.c @@ -5889,8 +5889,6 @@ init_scheduler_registers(ErtsSchedulerData* esdp) { registers = erts_alloc_permanent_cache_aligned(ERTS_ALC_T_BEAM_REGISTER, sizeof(ErtsSchedulerRegisters)); - - erts_bits_init_state(®isters->aux_regs.d.erl_bits_state); } esdp->registers = registers; diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h index a0fe781bb17f..cbd6634c4a6c 100644 --- a/erts/emulator/beam/erl_process.h +++ b/erts/emulator/beam/erl_process.h @@ -78,7 +78,7 @@ typedef struct process Process; #define ERTS_MAX_NO_OF_DIRTY_CPU_SCHEDULERS ERTS_MAX_NO_OF_SCHEDULERS #define ERTS_MAX_NO_OF_DIRTY_IO_SCHEDULERS ERTS_MAX_NO_OF_SCHEDULERS -#define ERTS_DEFAULT_MAX_PROCESSES (1 << 18) +#define ERTS_DEFAULT_MAX_PROCESSES (1 << 20) #define ERTS_HEAP_ALLOC(Type, Size) \ erts_alloc((Type), (Size)) @@ -1007,11 +1007,11 @@ typedef struct ErtsProcSysTaskQs_ ErtsProcSysTaskQs; struct process { ErtsPTabElementCommon common; /* *Need* to be first in struct */ - /* Place fields that are frequently used from loaded BEAMASM - * instructions near the beginning of this struct so that a - * shorter instruction can be used to access them. - */ + /* Place fields that are frequently used from BEAMASM instructions near the + * beginning of this struct so that a shorter instruction can be used to + * access them. */ + /* These are paired to exploit the STP instruction in the ARM JIT. */ Eterm *htop; /* Heap top */ Eterm *stop; /* Stack top */ @@ -1019,64 +1019,63 @@ struct process { Eterm *frame_pointer; /* Frame pointer */ #endif - Sint fcalls; /* Number of reductions left to execute. - * Only valid for the current process. - */ - Uint freason; /* Reason for detected failure */ - Eterm fvalue; /* Exit & Throw value (failure reason) */ + /* These are paired to exploit the STP instruction in the ARM JIT. */ + Uint freason; /* Reason for detected failure. */ + Eterm fvalue; /* Exit & Throw value (failure reason) */ + + Sint32 fcalls; /* Number of reductions left to execute. + * Only valid for the current process while it + * is executing. */ + + Uint32 flags; /* Trap exit, etc */ /* End of frequently used fields by BEAMASM code. */ - Eterm* heap; /* Heap start */ - Eterm* hend; /* Heap end */ + Uint32 rcount; /* Suspend count */ + byte schedule_count; /* Times left to reschedule a low prio process */ + + /* Saved x registers. */ + byte arity; /* Number of live argument registers (only + * valid when process is *not* running). */ + byte max_arg_reg; /* Maximum number of argument registers + * available. */ + Eterm* arg_reg; /* Pointer to argument registers. */ + Eterm def_arg_reg[6]; /* Default array for argument registers. */ + + Eterm* heap; /* Heap start */ + Eterm* hend; /* Heap end */ Eterm* abandoned_heap; - Uint heap_sz; /* Size of heap in words */ + Uint heap_sz; /* Size of heap in words */ Uint min_heap_size; /* Minimum size of heap (in words). */ Uint min_vheap_size; /* Minimum size of virtual heap (in words). */ Uint max_heap_size; /* Maximum size of heap (in words). */ - /* - * Saved x registers. - */ - Uint arity; /* Number of live argument registers (only valid - * when process is *not* running). - */ - Eterm* arg_reg; /* Pointer to argument registers. */ - unsigned max_arg_reg; /* Maximum number of argument registers available. */ - Eterm def_arg_reg[6]; /* Default array for argument registers. */ - ErtsCodePtr i; /* Program counter. */ - Sint catches; /* Number of catches on stack */ - Uint32 rcount; /* suspend count */ - int schedule_count; /* Times left to reschedule a low prio process */ - Uint reds; /* No of reductions for this process */ - Uint32 flags; /* Trap exit, etc */ - Eterm group_leader; /* Pid in charge (can be boxed) */ - Eterm ftrace; /* Latest exception stack trace dump */ + Sint catches; /* Number of catches on stack */ + Uint reds; /* No of reductions for this process */ + Eterm group_leader; /* Pid in charge (can be boxed) */ + Eterm ftrace; /* Latest exception stack trace dump */ - Process *next; /* Pointer to next process in run queue */ + Process *next; /* Pointer to next process in run queue */ - Sint64 uniq; /* Used for process unique integer */ + Sint64 uniq; /* Used for process unique integer */ ErtsSignalPrivQueues sig_qs; /* Signal queues */ - ErtsBifTimers *bif_timers; /* Bif timers aiming at this process */ + ErtsBifTimers *bif_timers; /* Bif timers aiming at this process */ - ProcDict *dictionary; /* Process dictionary, may be NULL */ + ProcDict *dictionary; /* Process dictionary, may be NULL */ Uint seq_trace_clock; Uint seq_trace_lastcnt; Eterm seq_trace_token; /* Sequential trace token (tuple size 5 see below) */ -#ifdef USE_VM_PROBES - Eterm dt_utag; /* Place to store the dynamic trace user tag */ - Uint dt_utag_flags; /* flag field for the dt_utag */ -#endif union { struct process *real_proc; - void *terminate; - ErtsCodeMFA initial; /* Initial module(0), function(1), arity(2), + void *terminate; + ErtsCodeMFA initial; /* Initial module(0), function(1), arity(2), often used instead of pointer to funcinfo instruction. */ } u; + const ErtsCodeMFA* current; /* Current Erlang function, part of the * funcinfo: * @@ -1089,7 +1088,7 @@ struct process { /* * Information mainly for post-mortem use (erl crash dump). */ - Eterm parent; /* Pid of process that created this process. */ + Eterm parent; /* Pid of process that created this process. */ Uint32 static_flags; /* Flags that do *not* change */ @@ -1097,12 +1096,12 @@ struct process { * architectures, have gone to. */ + Uint16 gen_gcs; /* Number of (minor) generational GCs. */ + Uint16 max_gen_gcs; /* Max minor gen GCs before fullsweep. */ Eterm *high_water; Eterm *old_hend; /* Heap pointers for generational GC. */ Eterm *old_htop; Eterm *old_heap; - Uint16 gen_gcs; /* Number of (minor) generational GCs. */ - Uint16 max_gen_gcs; /* Max minor gen GCs before fullsweep. */ ErlOffHeap off_heap; /* Off-heap data updated by copy_struct(). */ struct erl_off_heap_header* wrt_bins; /* Writable binaries */ ErlHeapFragment* mbuf; /* Pointer to heap fragment list */ @@ -1128,6 +1127,11 @@ struct process { ErtsSchedulerData *scheduler_data; erts_atomic_t run_queue; +#ifdef USE_VM_PROBES + Eterm dt_utag; /* Place to store the dynamic trace user tag */ + Uint dt_utag_flags; /* flag field for the dt_utag */ +#endif + #ifdef CHECK_FOR_HOLES Eterm* last_htop; /* No need to scan the heap below this point. */ ErlHeapFragment* last_mbuf; /* No need to scan beyond this mbuf. */ diff --git a/erts/emulator/beam/erl_process_dict.c b/erts/emulator/beam/erl_process_dict.c index 4ffaf35edc73..b2027fe207d7 100644 --- a/erts/emulator/beam/erl_process_dict.c +++ b/erts/emulator/beam/erl_process_dict.c @@ -53,11 +53,11 @@ /* Hash utility macros */ #define HASH_RANGE(PDict) ((PDict)->usedSlots) -#define MAKE_HASH(Term) \ - ((is_small(Term)) ? (Uint32) unsigned_val(Term) : \ - ((is_atom(Term)) ? \ - (Uint32) atom_val(Term) : \ - make_internal_hash(Term, 0))) +#define MAKE_HASH(Term) \ + ((is_small(Term)) ? (erts_ihash_t) unsigned_val(Term) : \ + ((is_atom(Term)) ? \ + (erts_ihash_t) atom_val(Term) : \ + erts_internal_hash(Term))) #define PD_SZ2BYTES(Sz) (sizeof(ProcDict) + ((Sz) - 1)*sizeof(Eterm)) @@ -103,7 +103,7 @@ static void grow(Process *p); static void array_shrink(ProcDict **ppd, unsigned int need); static void ensure_array_size(ProcDict**, unsigned int size); -static unsigned int pd_hash_value_to_ix(ProcDict *pdict, Uint32 hx); +static unsigned int pd_hash_value_to_ix(ProcDict *pdict, erts_ihash_t hx); static unsigned int next_array_size(unsigned int need); /* @@ -441,12 +441,12 @@ static void pd_hash_erase_all(Process *p) } } -Uint32 erts_pd_make_hx(Eterm key) +erts_ihash_t erts_pd_make_hx(Eterm key) { return MAKE_HASH(key); } -Eterm erts_pd_hash_get_with_hx(Process *p, Uint32 hx, Eterm id) +Eterm erts_pd_hash_get_with_hx(Process *p, erts_ihash_t hx, Eterm id) { unsigned int hval; ProcDict *pd = p->dictionary; @@ -1003,7 +1003,7 @@ static void ensure_array_size(ProcDict **ppdict, unsigned int size) ** Basic utilities */ -static unsigned int pd_hash_value_to_ix(ProcDict *pdict, Uint32 hx) +static unsigned int pd_hash_value_to_ix(ProcDict *pdict, erts_ihash_t hx) { Uint high; diff --git a/erts/emulator/beam/erl_process_dict.h b/erts/emulator/beam/erl_process_dict.h index 3ff2354f9161..a79de56fafcb 100644 --- a/erts/emulator/beam/erl_process_dict.h +++ b/erts/emulator/beam/erl_process_dict.h @@ -20,7 +20,9 @@ #ifndef _ERL_PROCESS_DICT_H #define _ERL_PROCESS_DICT_H + #include "sys.h" +#include "erl_term_hashing.h" typedef struct proc_dict { unsigned int sizeMask; @@ -43,7 +45,8 @@ void erts_deep_dictionary_dump(fmtfn_t to, void *to_arg, Eterm erts_dictionary_copy(ErtsHeapFactory *hfact, ProcDict *pd, Uint reserve_size); Eterm erts_pd_hash_get(struct process *p, Eterm id); -Uint32 erts_pd_make_hx(Eterm key); -Eterm erts_pd_hash_get_with_hx(Process *p, Uint32 hx, Eterm id); + +erts_ihash_t erts_pd_make_hx(Eterm key); +Eterm erts_pd_hash_get_with_hx(Process *p, erts_ihash_t hx, Eterm id); #endif diff --git a/erts/emulator/beam/erl_process_dump.c b/erts/emulator/beam/erl_process_dump.c index 9fa5969b5ea6..7fb3e0ded287 100644 --- a/erts/emulator/beam/erl_process_dump.c +++ b/erts/emulator/beam/erl_process_dump.c @@ -729,7 +729,7 @@ dump_externally(fmtfn_t to, void *to_arg, Eterm term) * The crashdump_viewer does not allow inspection of them anyway. */ ErlFunThing* funp = (ErlFunThing *) fun_val(term); - Uint num_free = funp->num_free; + Uint num_free = fun_num_free(funp); Uint i; for (i = 0; i < num_free; i++) { @@ -1035,8 +1035,7 @@ dump_module_literals(fmtfn_t to, void *to_arg, ErtsLiteralArea* lit_area) size = 1 + header_arity(w); switch (w & _HEADER_SUBTAG_MASK) { case FUN_SUBTAG: - ASSERT(((ErlFunThing*)(htop))->num_free == 0); - size += 1; + ASSERT(fun_num_free((ErlFunThing*)(htop)) == 0); break; case MAP_SUBTAG: if (is_flatmap_header(w)) { diff --git a/erts/emulator/beam/erl_ptab.h b/erts/emulator/beam/erl_ptab.h index a95b81162af9..3c9edd546059 100644 --- a/erts/emulator/beam/erl_ptab.h +++ b/erts/emulator/beam/erl_ptab.h @@ -59,8 +59,6 @@ typedef struct { erts_atomic_t atmc; Sint sint; } refc; - ErtsTracer tracer; - Uint trace_flags; erts_atomic_t timer; union { /* --- While being alive --- */ @@ -78,6 +76,8 @@ typedef struct { /* --- While being released --- */ ErtsThrPrgrLaterOp release; } u; + ErtsTracer tracer; + Uint32 trace_flags; } ErtsPTabElementCommon; typedef struct ErtsPTabDeletedElement_ ErtsPTabDeletedElement; diff --git a/erts/emulator/beam/erl_term.c b/erts/emulator/beam/erl_term.c index 65f7d0f28041..99b8fdb8f209 100644 --- a/erts/emulator/beam/erl_term.c +++ b/erts/emulator/beam/erl_term.c @@ -144,7 +144,7 @@ ET_DEFINE_CHECKED(struct erl_node_*,external_port_node,Wterm,is_external_port); ET_DEFINE_CHECKED(Uint,external_ref_data_words,Wterm,is_external_ref); ET_DEFINE_CHECKED(Uint32*,external_ref_data,Wterm,is_external_ref); ET_DEFINE_CHECKED(struct erl_node_*,external_ref_node,Eterm,is_external_ref); -ET_DEFINE_CHECKED(Uint,external_thing_data_words,ExternalThing*,is_thing_ptr); +ET_DEFINE_CHECKED(Uint,external_thing_data_words,const ExternalThing*,is_thing_ptr); ET_DEFINE_CHECKED(Eterm,make_cp,ErtsCodePtr,_is_legal_cp); ET_DEFINE_CHECKED(ErtsCodePtr,cp_val,Eterm,is_CP); diff --git a/erts/emulator/beam/erl_term.h b/erts/emulator/beam/erl_term.h index 03211a6acd75..b2432b6806c1 100644 --- a/erts/emulator/beam/erl_term.h +++ b/erts/emulator/beam/erl_term.h @@ -299,8 +299,10 @@ _ET_DECLARE_CHECKED(Uint,atom_val,Eterm) /* header (arityval or thing) access methods */ #define _make_header(sz,tag) ((Uint)(((Uint)(sz) << _HEADER_ARITY_OFFS) + (tag))) #define is_header(x) (((x) & _TAG_PRIMARY_MASK) == TAG_PRIMARY_HEADER) -#define _unchecked_header_arity(x) \ - (is_map_header(x) ? MAP_HEADER_ARITY(x) : ((x) >> _HEADER_ARITY_OFFS)) +#define _unchecked_header_arity(x) \ + (is_map_header(x) ? MAP_HEADER_ARITY(x) : \ + (is_fun_header(x) ? (ERL_FUN_SIZE - 1) : \ + ((x) >> _HEADER_ARITY_OFFS))) _ET_DECLARE_CHECKED(Uint,header_arity,Eterm) #define header_arity(x) _ET_APPLY(header_arity,(x)) @@ -386,9 +388,35 @@ _ET_DECLARE_CHECKED(Eterm*,binary_val,Wterm) /* process binaries stuff (special case of binaries) */ #define HEADER_PROC_BIN _make_header(PROC_BIN_SIZE-1,_TAG_HEADER_REFC_BIN) -/* fun objects */ -#define HEADER_FUN _make_header(ERL_FUN_SIZE-2,_TAG_HEADER_FUN) -#define is_fun_header(x) ((x) == HEADER_FUN) +/* Fun objects. + * + * These have a special tag scheme to make the representation as compact as + * possible. For normal headers, we have: + * + * aaaaaaaaaaaaaaaa aaaaaaaaaatttt00 arity:26, tag:4 + * + * Since the arity and number of free variables are both limited to 255, and we + * only need one bit to signify whether the fun is local or external, we can + * fit all of that information in the header word. + * + * 0000000effffffff aaaaaaaa00010100 external:1, free:8, arity:8 + * + * Note that the lowest byte contains only the function subtag, and the next + * byte after that contains only the arity. This lets us combine the type + * and/or arity check into a single comparison without masking, by using 8- or + * 16-bit operations on the header word. */ + +#define FUN_HEADER_ARITY_OFFS (_HEADER_ARITY_OFFS + 2) +#define FUN_HEADER_NUM_FREE_OFFS (FUN_HEADER_ARITY_OFFS + 8) +#define FUN_HEADER_EXTERNAL_OFFS (FUN_HEADER_NUM_FREE_OFFS + 8) + +#define MAKE_FUN_HEADER(Arity, NumFree, External) \ + (_TAG_HEADER_FUN | \ + (((Arity)) << FUN_HEADER_ARITY_OFFS) | \ + (((NumFree)) << FUN_HEADER_NUM_FREE_OFFS) | \ + ((!!(External)) << FUN_HEADER_EXTERNAL_OFFS)) + +#define is_fun_header(x) (((x) & _HEADER_SUBTAG_MASK) == FUN_SUBTAG) #define make_fun(x) make_boxed((Eterm*)(x)) #define is_any_fun(x) (is_boxed((x)) && is_fun_header(*boxed_val((x)))) #define is_not_any_fun(x) (!is_any_fun((x))) @@ -409,7 +437,12 @@ _ET_DECLARE_CHECKED(Eterm,bignum_header_neg,Eterm) #define _unchecked_bignum_header_arity(x) _unchecked_header_arity((x)) _ET_DECLARE_CHECKED(Uint,bignum_header_arity,Eterm) #define bignum_header_arity(x) _ET_APPLY(bignum_header_arity,(x)) -#define BIG_ARITY_MAX ((1 << 19)-1) + +#if defined(ARCH_64) +# define BIG_ARITY_MAX ((1 << 16)-1) +#else +# define BIG_ARITY_MAX ((1 << 17)-1) +#endif #define make_big(x) make_boxed((x)) #define is_big(x) (is_boxed((x)) && _is_bignum_header(*boxed_val((x)))) #define is_not_big(x) (!is_big((x))) @@ -954,12 +987,12 @@ typedef union { #define is_ordinary_ref_thing(x) \ ((*((Eterm *)(x)) == ERTS_REF_THING_HEADER) \ - & (((ErtsRefThing *) (x))->o.marker == ERTS_ORDINARY_REF_MARKER)) + && (((ErtsRefThing *) (x))->o.marker == ERTS_ORDINARY_REF_MARKER)) /* the _with_hdr variant usable when header word may be broken (copy_shared) */ #define is_magic_ref_thing_with_hdr(PTR,HDR) \ (((HDR) == ERTS_REF_THING_HEADER) \ - & (((ErtsRefThing *) (PTR))->o.marker != ERTS_ORDINARY_REF_MARKER)) + && (((ErtsRefThing *) (PTR))->o.marker != ERTS_ORDINARY_REF_MARKER)) #else /* Ordinary and magic references of different sizes... */ @@ -1168,7 +1201,7 @@ _ET_DECLARE_CHECKED(Eterm*,external_val,Wterm) #define _unchecked_external_thing_data_words(thing) \ (_unchecked_thing_arityval((thing)->header) + (1 - EXTERNAL_THING_HEAD_SIZE)) -_ET_DECLARE_CHECKED(Uint,external_thing_data_words,ExternalThing*) +_ET_DECLARE_CHECKED(Uint,external_thing_data_words,const ExternalThing*) #define external_thing_data_words(thing) _ET_APPLY(external_thing_data_words,(thing)) #define _unchecked_external_data_words(x) \ diff --git a/erts/emulator/beam/erl_term_hashing.c b/erts/emulator/beam/erl_term_hashing.c index 848757c2f266..7aa10c9a85be 100644 --- a/erts/emulator/beam/erl_term_hashing.c +++ b/erts/emulator/beam/erl_term_hashing.c @@ -32,14 +32,6 @@ #include "erl_binary.h" #include "erl_bits.h" -#ifdef ERL_INTERNAL_HASH_CRC32C -# if defined(__x86_64__) -# include -# elif defined(__aarch64__) -# include -# endif -#endif - /* *\ * * \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ @@ -239,7 +231,7 @@ Uint32 make_hash(Eterm term_arg) if (is_local_fun(funp)) { ErlFunEntry* fe = funp->entry.fun; - Uint num_free = funp->num_free; + Uint num_free = fun_num_free(funp); hash = hash * FUNNY_NUMBER10 + num_free; hash = hash*FUNNY_NUMBER1 + @@ -1168,7 +1160,7 @@ make_hash2_helper(Eterm term_param, const int can_trap, Eterm* state_mref_write_ if (is_local_fun(funp)) { ErlFunEntry* fe = funp->entry.fun; ErtsMakeHash2Context_FUN_SUBTAG ctx = { - .num_free = funp->num_free, + .num_free = fun_num_free(funp), .bptr = NULL}; UINT32_HASH_2 @@ -1532,6 +1524,16 @@ make_hash2_helper(Eterm term_param, const int can_trap, Eterm* state_mref_write_ #undef TRAP_LOCATION_NO_CTX } +#undef HASH_MAP_TAIL +#undef HASH_MAP_PAIR + +#undef UINT32_HASH_2 +#undef UINT32_HASH +#undef SINT32_HASH + +#undef HCONST +#undef MIX + Uint32 make_hash2(Eterm term) { @@ -1559,124 +1561,256 @@ trapping_make_hash2(Eterm term, Eterm* state_mref_write_back, Process* p) * hashmap implementation that now uses collision nodes at the bottom of * the HAMT when all hash bits are exhausted. * - */ + * The underlying hash primitive is the public-domain `MurmurHash3` by Austin + * Appleby, which has been modified to work incrementally over our terms rather + * than plain byte arrays. It provides a decent 128-bit hash with good + * performance on most hardware, only narrowly losing to variants that use + * specialized instructions (e.g. SHA3 or AES) that are much harder to + * maintain. + * + * Note that we only implement the 64-bit variant of MurmurHash and skip the + * 32-bit optimized version, as the difference in performance appears to be + * modest on the most popular 32-bit platform (ARM). It should not be terribly + * difficult to adapt this for both versions if that becomes a problem. */ + +enum { + IHASH_TYPE_IMMEDIATE = 1, + IHASH_TYPE_ARRAY_ELEMENT, + IHASH_TYPE_CAR, + IHASH_TYPE_CDR, + IHASH_TYPE_STRING, + IHASH_TYPE_TUPLE, + IHASH_TYPE_FLATMAP, + IHASH_TYPE_HASHMAP_HEAD_ARRAY, + IHASH_TYPE_HASHMAP_HEAD_BITMAP, + IHASH_TYPE_HASHMAP_NODE, + IHASH_TYPE_BINARY, + IHASH_TYPE_LOCAL_FUN, + IHASH_TYPE_EXTERNAL_FUN, + IHASH_TYPE_NEG_BIGNUM, + IHASH_TYPE_POS_BIGNUM, + IHASH_TYPE_LOCAL_REF, + IHASH_TYPE_EXTERNAL_REF, + IHASH_TYPE_EXTERNAL_PID, + IHASH_TYPE_EXTERNAL_PORT, + IHASH_TYPE_FLOAT +}; + +#define IHASH_CAR_MARKER (_make_header(1,_TAG_HEADER_REF)) +#define IHASH_CDR_MARKER (_make_header(2,_TAG_HEADER_REF)) + +#define ROTL64(x, y) (x << y) | (x >> (64 - y)); + +static const Uint64 IHASH_C1 = 0x87C37B91114253D5ull; +static const Uint64 IHASH_C2 = 0x4CF5AD432745937Full; + +#define IHASH_MIX_ALPHA(Expr) \ + do { \ + Uint64 expr = (Uint64)(Expr); \ + expr *= IHASH_C1; \ + expr = ROTL64(expr, 31); \ + expr *= IHASH_C2; \ + hash_alpha ^= expr; \ + hash_alpha = ROTL64(hash_alpha, 27) \ + hash_alpha += hash_beta; \ + hash_alpha = hash_alpha * 5 + 0x52DCE729ull; \ + hash_ticks += 1; \ + } while(0) + +#define IHASH_MIX_ALPHA_2F32(Expr1, Expr2) \ + IHASH_MIX_ALPHA((Uint64)(Expr1) | ((Uint64)(Expr2) << 32)) + +#define IHASH_MIX_BETA(Expr) \ + do { \ + Uint64 expr = (Uint64)(Expr); \ + expr *= IHASH_C2; \ + expr = ROTL64(expr, 33); \ + expr *= IHASH_C1; \ + hash_beta ^= expr; \ + hash_beta = ROTL64(hash_beta, 31); \ + hash_beta += hash_alpha; \ + hash_beta = hash_beta * 5 + 0x38495AB5ull; \ + hash_ticks += 1; \ + } while(0) + +#define IHASH_MIX_BETA_2F32(Expr1, Expr2) \ + IHASH_MIX_BETA((Uint64)(Expr1) | ((Uint64)(Expr2) << 32)) + +#ifdef ARCH_64 +# define IHASH_MIX_IMMEDIATE(term) \ + do { \ + IHASH_MIX_ALPHA(IHASH_TYPE_IMMEDIATE); \ + IHASH_MIX_BETA(term); \ + } while(0) +#else +# define IHASH_MIX_IMMEDIATE(term) \ + IHASH_MIX_ALPHA_2F32(IHASH_TYPE_IMMEDIATE, term); +#endif -/* Use a better mixing function if available. */ -#if defined(ERL_INTERNAL_HASH_CRC32C) -# undef MIX -# if defined(__x86_64__) -# define MIX(a,b,c) \ - do { \ - Uint32 initial_hash = c; \ - c = __builtin_ia32_crc32si(c, a); \ - c = __builtin_ia32_crc32si(c + initial_hash, b); \ - } while(0) -# elif defined(__aarch64__) -# define MIX(a,b,c) \ - do { \ - Uint32 initial_hash = c; \ - c = __crc32cw(c, a); \ - c = __crc32cw(c + initial_hash, b); \ - } while(0) -# else -# error "No suitable CRC32 intrinsic available." -# endif +/* Pushes a term to the stack, optionally handling it up-front if it's an + * immediate to speed up `{atom(), immed()}` keys in maps. We hash the presence + * of non-immediates to ensure that terms with a different internal order hash + * differently. + * + * Take for example `{a,{},b,{}}` and `{{},a,{},b}`. This will be processed in + * the order `a,b,{},{}` in both cases as the non-immediates are deferred. If + * we don't hash the order of the terms, they will always hash equally. */ +#define IHASH_PUSH_TERM(stack, term) \ + do { \ + if (ERTS_LIKELY(is_immed(term))) { \ + IHASH_MIX_IMMEDIATE(term); \ + } else { \ + IHASH_MIX_ALPHA(IHASH_TYPE_ARRAY_ELEMENT); \ + ESTACK_PUSH(stack, (term)); \ + } \ + } while(0) + +/* Endian-agnostic 64-bit read. This helps the compiler generate optimized code + * in a hot loop where the data is unlikely to be properly aligned, saving us + * from having to wrangle that manually. */ +static ERTS_FORCE_INLINE +Uint64 read_u64(const byte *data) { + Uint64 value = 0; + + for (int i = 0; i < sizeof(Uint64); i++) { +#ifdef WORDS_BIGENDIAN + value = ((Uint64)data[i]) | (value << CHAR_BIT); +#else + value |= ((Uint64)data[i]) << (i * CHAR_BIT); #endif + } -#define CONST_HASH(AConst) \ - do { /* Lightweight mixing of constant (type info) */ \ - hash ^= AConst; \ - hash = (hash << 17) ^ (hash >> (32-17)); \ - } while (0) + return value; +} -/* - * Start with salt, 32-bit prime number, to avoid getting same hash as phash2 - * which can cause bad hashing in distributed ETS tables for example. - */ -#define INTERNAL_HASH_SALT 3432918353U +static Uint64 ihash_mix64(Uint64 input) +{ + Uint64 hash = input; + + hash ^= hash >> 33; + hash *= 0xFF51AFD7ED558CCDull; + hash ^= hash >> 33; + hash *= 0xC4CEB9FE1A85EC53ull; + hash ^= hash >> 33; + + /* Inverse, if needed for testing. The constants are the modular inverse of + * the ones above (over 1 << 64). + * + * hash ^= hash >> 33; + * hash *= 0x9CB4B2F8129337DBull; + * hash ^= hash >> 33; + * hash *= 0x4F74430C22A54005ull; + * hash ^= hash >> 33; */ -Uint32 -make_internal_hash(Eterm term, Uint32 salt) + return hash; +} + +static erts_ihash_t +make_internal_hash(Eterm term, erts_ihash_t salt) { - Uint32 hash = salt ^ INTERNAL_HASH_SALT; + Uint64 hash_alpha, hash_beta; + Uint hash_ticks; - /* Optimization. Simple cases before declaration of estack. */ - if (primary_tag(term) == TAG_PRIMARY_IMMED1) { - #if ERTS_SIZEOF_ETERM == 8 - UINT32_HASH_2((Uint32)term, (Uint32)(term >> 32), HCONST); - #elif ERTS_SIZEOF_ETERM == 4 - UINT32_HASH(term, HCONST); - #else - # error "No you don't" - #endif - return hash; - } - { - Eterm tmp; DECLARE_ESTACK(s); + hash_alpha = (Uint64)salt; + hash_beta = (Uint64)salt; + hash_ticks = 0; + for (;;) { switch (primary_tag(term)) { case TAG_PRIMARY_LIST: { - int c = 0; - Uint32 sh = 0; - Eterm* ptr = list_val(term); - while (is_byte(*ptr)) { - /* Optimization for strings. */ - sh = (sh << 8) + unsigned_val(*ptr); - if (c == 3) { - UINT32_HASH(sh, HCONST_4); - c = sh = 0; - } else { - c++; - } - term = CDR(ptr); - if (is_not_list(term)) + const Eterm *cell; + UWord value = 0; + int bytes = 0; + + /* Optimization for strings. */ + while (is_list(term)) { + cell = list_val(term); + + if (!is_byte(CAR(cell))) { break; - ptr = list_val(term); + } + + value = (value << 8) | unsigned_val(CAR(cell)); + bytes++; + + if ((bytes % 4) == 0) { + IHASH_MIX_ALPHA_2F32(IHASH_TYPE_STRING | (bytes << 8), + value); + value = 0; + bytes = 0; + } + + term = CDR(cell); + } + + if (bytes > 0) { + IHASH_MIX_ALPHA_2F32(IHASH_TYPE_STRING | (bytes << 8), value); } - if (c > 0) - UINT32_HASH_2(sh, (Uint32)c, HCONST_22); if (is_list(term)) { - tmp = CDR(ptr); - CONST_HASH(HCONST_17); /* Hash CAR in cons cell */ - ESTACK_PUSH(s, tmp); - if (is_not_list(tmp)) { - ESTACK_PUSH(s, HASH_CDR); + Eterm head, tail; + + cell = list_val(term); + head = CAR(cell); + tail = CDR(cell); + + if (is_immed(head)) { + IHASH_MIX_ALPHA_2F32(IHASH_TYPE_IMMEDIATE, IHASH_TYPE_CAR); + IHASH_MIX_BETA(head); + + if (is_not_list(tail)) { + IHASH_MIX_ALPHA(IHASH_TYPE_CDR); + } + + term = tail; + } else { + ESTACK_PUSH(s, tail); + if (is_not_list(tail)) { + ESTACK_PUSH(s, IHASH_CDR_MARKER); + } + + IHASH_MIX_ALPHA(IHASH_TYPE_CAR); + term = head; } - term = CAR(ptr); } + + continue; } break; case TAG_PRIMARY_BOXED: { Eterm hdr = *boxed_val(term); ASSERT(is_header(hdr)); + switch (hdr & _TAG_HEADER_MASK) { case ARITYVAL_SUBTAG: { - int i; - int arity = header_arity(hdr); - Eterm* elem = tuple_val(term); - UINT32_HASH(arity, HCONST_9); - if (arity == 0) /* Empty tuple */ - goto pop_next; - for (i = arity; ; i--) { - term = elem[i]; - if (i == 1) - break; - ESTACK_PUSH(s, term); + const Eterm *elements = &tuple_val(term)[0]; + const int arity = header_arity(hdr); + + IHASH_MIX_ALPHA(IHASH_TYPE_TUPLE); + IHASH_MIX_BETA(arity); + + if (arity > 0) { + for (int i = 1; i < arity; i++) { + IHASH_PUSH_TERM(s, elements[i]); + } + + term = elements[arity]; + continue; } + + goto pop_next; } break; case MAP_SUBTAG: { - Eterm* ptr = boxed_val(term) + 1; + const Eterm *elements = &boxed_val(term)[1]; Uint size; - int i; /* * We rely on key-value iteration order being constant @@ -1685,79 +1819,113 @@ make_internal_hash(Eterm term, Uint32 salt) switch (hdr & _HEADER_MAP_SUBTAG_MASK) { case HAMT_SUBTAG_HEAD_FLATMAP: { - flatmap_t *mp = (flatmap_t *)flatmap_val(term); - Eterm *ks = flatmap_get_keys(mp); - Eterm *vs = flatmap_get_values(mp); - size = flatmap_get_size(mp); - UINT32_HASH(size, HCONST_16); - if (size == 0) - goto pop_next; + const flatmap_t *mp = (const flatmap_t *)flatmap_val(term); + const Eterm *ks = flatmap_get_keys(mp); + const Eterm *vs = flatmap_get_values(mp); + size = flatmap_get_size(mp); + + IHASH_MIX_ALPHA(IHASH_TYPE_FLATMAP); + IHASH_MIX_BETA(size); + + if (size > 0) { + for (int i = 0; i < size - 1; i++) { + IHASH_PUSH_TERM(s, vs[i]); + IHASH_PUSH_TERM(s, ks[i]); + } - for (i = size - 1; i >= 0; i--) { - ESTACK_PUSH(s, vs[i]); - ESTACK_PUSH(s, ks[i]); + IHASH_PUSH_TERM(s, vs[size - 1]); + term = ks[size - 1]; + continue; } + goto pop_next; } case HAMT_SUBTAG_HEAD_ARRAY: + size = *elements++; + + IHASH_MIX_ALPHA(IHASH_TYPE_HASHMAP_HEAD_ARRAY); + IHASH_MIX_BETA(size); + + if (size == 0) { + goto pop_next; + } + break; case HAMT_SUBTAG_HEAD_BITMAP: - size = *ptr++; - UINT32_HASH(size, HCONST_16); - if (size == 0) + size = *elements++; + + IHASH_MIX_ALPHA(IHASH_TYPE_HASHMAP_HEAD_BITMAP); + IHASH_MIX_BETA(size); + + if (size == 0) { goto pop_next; + } + break; + case HAMT_SUBTAG_NODE_BITMAP: + IHASH_MIX_ALPHA(IHASH_TYPE_HASHMAP_NODE); + break; } + switch (hdr & _HEADER_MAP_SUBTAG_MASK) { case HAMT_SUBTAG_HEAD_ARRAY: - i = 16; + size = 16; break; case HAMT_SUBTAG_HEAD_BITMAP: case HAMT_SUBTAG_NODE_BITMAP: - i = hashmap_bitcount(MAP_HEADER_VAL(hdr)); + size = hashmap_bitcount(MAP_HEADER_VAL(hdr)); break; default: erts_exit(ERTS_ERROR_EXIT, "bad header"); } - while (i) { - if (is_list(*ptr)) { - Eterm* cons = list_val(*ptr); - ESTACK_PUSH(s, CDR(cons)); - ESTACK_PUSH(s, CAR(cons)); - } - else { - ASSERT(is_boxed(*ptr)); - /* no special treatment of collision nodes needed, - hash them as the tuples they are */ - ESTACK_PUSH(s, *ptr); + + for (int i = 0; i < size; i++) { + if (is_list(elements[i])) { + /* [Key | Value] */ + const Eterm *cons = list_val(elements[i]); + IHASH_PUSH_TERM(s, CDR(cons)); + IHASH_PUSH_TERM(s, CAR(cons)); + } else { + /* Child or collision node. We don't need to treat the + * latter in any special way, and can hash them as the + * tuples they are. */ + ASSERT(is_boxed(elements[i])); + ESTACK_PUSH(s, elements[i]); } - i--; ptr++; } + goto pop_next; } break; case FUN_SUBTAG: { - ErlFunThing* funp = (ErlFunThing *) fun_val(term); + const ErlFunThing *funp = (const ErlFunThing*)fun_val(term); if (is_local_fun(funp)) { - ErlFunEntry* fe = funp->entry.fun; - Uint num_free = funp->num_free; - UINT32_HASH_2(num_free, fe->module, HCONST_20); - UINT32_HASH_2(fe->index, fe->old_uniq, HCONST_21); - if (num_free == 0) { - goto pop_next; - } else { - Eterm* bptr = funp->env + num_free - 1; - while (num_free-- > 1) { - term = *bptr--; - ESTACK_PUSH(s, term); + const ErlFunEntry *fe = funp->entry.fun; + Uint num_free = fun_num_free(funp); + + IHASH_MIX_ALPHA_2F32(IHASH_TYPE_LOCAL_FUN, num_free); + IHASH_MIX_BETA_2F32(fe->index, fe->old_uniq); + + IHASH_MIX_ALPHA(IHASH_TYPE_IMMEDIATE); + IHASH_MIX_BETA(fe->module); + + if (num_free > 0) { + for (int i = 0; i < num_free - 1; i++) { + IHASH_PUSH_TERM(s, funp->env[i]); } - term = *bptr; + + term = funp->env[num_free - 1]; + continue; } + + goto pop_next; } else { ASSERT(is_external_fun(funp) && funp->next == NULL); /* Assumes Export entries never move */ - POINTER_HASH(funp->entry.exp, HCONST_14); + IHASH_MIX_ALPHA(IHASH_TYPE_EXTERNAL_FUN); + IHASH_MIX_BETA((UWord)funp->entry.exp); + goto pop_next; } } @@ -1766,249 +1934,303 @@ make_internal_hash(Eterm term, Uint32 salt) case HEAP_BINARY_SUBTAG: case SUB_BINARY_SUBTAG: { - byte* bptr; - Uint sz = binary_size(term); - Uint32 con = HCONST_13 + hash; - Uint bitoffs; - Uint bitsize; + Uint bit_offset, bit_size, byte_size; + const byte *data; + + ERTS_GET_BINARY_BYTES(term, data, bit_offset, bit_size); + byte_size = binary_size(term); + + IHASH_MIX_ALPHA_2F32(IHASH_TYPE_BINARY, bit_size); + IHASH_MIX_BETA(byte_size); + + if (byte_size > 0 || bit_size > 0) { + const byte *bytes = data; + Uint64 value; + Uint it; + + if (ERTS_UNLIKELY(bit_offset != 0)) { + byte *tmp = (byte*)erts_alloc(ERTS_ALC_T_TMP, + byte_size + (bit_size != 0)); + erts_copy_bits(data, bit_offset, 1, tmp, 0, 1, + byte_size * 8 + bit_size); + bytes = tmp; + } - ERTS_GET_BINARY_BYTES(term, bptr, bitoffs, bitsize); - if (sz == 0 && bitsize == 0) { - hash = con; - } else { - if (bitoffs == 0) { - hash = block_hash(bptr, sz, con); - if (bitsize > 0) { - UINT32_HASH_2(bitsize, (bptr[sz] >> (8 - bitsize)), - HCONST_15); + for (it = 0; + (it + sizeof(Uint64[2])) <= byte_size; + it += sizeof(Uint64[2])) { + IHASH_MIX_ALPHA(read_u64(&bytes[it])); + IHASH_MIX_BETA(read_u64(&bytes[it + sizeof(Uint64)])); + } + + value = 0; + switch(byte_size % sizeof(Uint64[2])) + { + case 15: value ^= ((Uint64)bytes[it + 14]) << 0x30; + case 14: value ^= ((Uint64)bytes[it + 13]) << 0x28; + case 13: value ^= ((Uint64)bytes[it + 12]) << 0x20; + case 12: value ^= ((Uint64)bytes[it + 11]) << 0x18; + case 11: value ^= ((Uint64)bytes[it + 10]) << 0x10; + case 10: value ^= ((Uint64)bytes[it + 9]) << 0x08; + case 9: value ^= ((Uint64)bytes[it + 8]) << 0x00; + { + value *= IHASH_C2; + value = ROTL64(value, 33); + value *= IHASH_C1; + hash_beta ^= value; + value = 0; + /* !! FALL THROUGH !! */ } - } else { - byte* buf = (byte *) erts_alloc(ERTS_ALC_T_TMP, - sz + (bitsize != 0)); - erts_copy_bits(bptr, bitoffs, 1, buf, 0, 1, sz*8+bitsize); - hash = block_hash(buf, sz, con); - if (bitsize > 0) { - UINT32_HASH_2(bitsize, (buf[sz] >> (8 - bitsize)), - HCONST_15); + case 8: value ^= ((Uint64)bytes[it + 7]) << 0x38; + case 7: value ^= ((Uint64)bytes[it + 6]) << 0x30; + case 6: value ^= ((Uint64)bytes[it + 5]) << 0x28; + case 5: value ^= ((Uint64)bytes[it + 4]) << 0x20; + case 4: value ^= ((Uint64)bytes[it + 3]) << 0x18; + case 3: value ^= ((Uint64)bytes[it + 2]) << 0x10; + case 2: value ^= ((Uint64)bytes[it + 1]) << 0x08; + case 1: value ^= ((Uint64)bytes[it + 0]) << 0x00; + { + value *= IHASH_C1; + value = ROTL64(value, 31); + value *= IHASH_C2; + hash_alpha ^= value; + break; } - erts_free(ERTS_ALC_T_TMP, (void *) buf); + }; + + if (bit_size > 0) { + IHASH_MIX_ALPHA(bytes[byte_size] >> (8 - bit_size)); + } + + if (bytes != data) { + erts_free(ERTS_ALC_T_TMP, (void *)bytes); } } + goto pop_next; } break; case POS_BIG_SUBTAG: case NEG_BIG_SUBTAG: { - Eterm* ptr = big_val(term); - Uint i = 0; - Uint n = BIG_SIZE(ptr); - Uint32 con = BIG_SIGN(ptr) ? HCONST_10 : HCONST_11; -#if D_EXP == 16 - do { - Uint32 x, y; - x = i < n ? BIG_DIGIT(ptr, i++) : 0; - x += (Uint32)(i < n ? BIG_DIGIT(ptr, i++) : 0) << 16; - y = i < n ? BIG_DIGIT(ptr, i++) : 0; - y += (Uint32)(i < n ? BIG_DIGIT(ptr, i++) : 0) << 16; - UINT32_HASH_2(x, y, con); - } while (i < n); -#elif D_EXP == 32 - do { - Uint32 x, y; - x = i < n ? BIG_DIGIT(ptr, i++) : 0; - y = i < n ? BIG_DIGIT(ptr, i++) : 0; - UINT32_HASH_2(x, y, con); - } while (i < n); -#elif D_EXP == 64 - do { - Uint t; - Uint32 x, y; - ASSERT(i < n); - t = BIG_DIGIT(ptr, i++); - x = t & 0xffffffff; - y = t >> 32; - UINT32_HASH_2(x, y, con); - } while (i < n); -#else -#error "unsupported D_EXP size" -#endif + const Eterm *ptr = big_val(term); + int i, n; + + /* `n` must fit in a signed int. */ + ERTS_CT_ASSERT((1ull << 31) > (Uint64)BIG_ARITY_MAX); + n = BIG_SIZE(ptr); + ASSERT(n < BIG_ARITY_MAX); + + IHASH_MIX_ALPHA_2F32((BIG_SIGN(ptr) ? + IHASH_TYPE_NEG_BIGNUM : + IHASH_TYPE_POS_BIGNUM), + n); + + for (i = 0; (i + 2) <= n; i += 2) { + IHASH_MIX_ALPHA(BIG_DIGIT(ptr, i+0)); + IHASH_MIX_BETA(BIG_DIGIT(ptr, i+1)); + } + + if (i < n) { + IHASH_MIX_BETA(BIG_DIGIT(ptr, i)); + } + goto pop_next; } break; case REF_SUBTAG: { Uint32 *numbers = internal_ref_numbers(term); ASSERT(internal_ref_no_numbers(term) >= 3); - UINT32_HASH(numbers[0], HCONST_7); - UINT32_HASH_2(numbers[1], numbers[2], HCONST_8); + + IHASH_MIX_ALPHA_2F32(IHASH_TYPE_LOCAL_REF, numbers[0]); + IHASH_MIX_BETA_2F32(numbers[1], numbers[2]); + if (is_internal_pid_ref(term)) { #ifdef ARCH_64 ASSERT(internal_ref_no_numbers(term) == 5); - UINT32_HASH_2(numbers[3], numbers[4], HCONST_9); + IHASH_MIX_ALPHA_2F32(numbers[3], numbers[4]); #else ASSERT(internal_ref_no_numbers(term) == 4); - UINT32_HASH(numbers[3], HCONST_9); + IHASH_MIX_ALPHA(numbers[3]); #endif } + goto pop_next; } case EXTERNAL_REF_SUBTAG: { - ExternalThing* thing = external_thing_ptr(term); - Uint n = external_thing_ref_no_numbers(thing); - Uint32 *numbers = external_thing_ref_numbers(thing); + const ExternalThing* thing = external_thing_ptr(term); + const Uint32 *numbers; + int i, n; /* Can contain 0 to 5 32-bit numbers... */ + n = external_thing_ref_no_numbers(thing); + numbers = external_thing_ref_numbers(thing); + ASSERT(n <= 5); - /* See limitation #2 */ - switch (n) { - case 5: { - Uint32 num4 = numbers[4]; - if (0) { - case 4: - num4 = 0; - /* Fall through... */ - } - UINT32_HASH_2(numbers[3], num4, HCONST_9); - /* Fall through... */ - } - case 3: { - Uint32 num2 = numbers[2]; - if (0) { - case 2: - num2 = 0; - /* Fall through... */ - } - UINT32_HASH_2(numbers[1], num2, HCONST_8); - /* Fall through... */ + IHASH_MIX_ALPHA_2F32(IHASH_TYPE_EXTERNAL_REF, n); + + for (i = 0; (i + 2) <= n; i += 2) { + IHASH_MIX_BETA_2F32(numbers[i], numbers[i + 1]); } - case 1: -#ifdef ARCH_64 - POINTER_HASH(thing->node, HCONST_7); - UINT32_HASH(numbers[0], HCONST_7); -#else - UINT32_HASH_2(thing->node, numbers[0], HCONST_7); -#endif - break; - case 0: - POINTER_HASH(thing->node, HCONST_7); - break; - default: - ASSERT(!"Invalid amount of external reference numbers"); - break; + + if (i < n) { + IHASH_MIX_BETA(numbers[i]); } + + IHASH_MIX_ALPHA((UWord)thing->node); goto pop_next; } case EXTERNAL_PID_SUBTAG: { - ExternalThing* thing = external_thing_ptr(term); + const ExternalThing *thing = external_thing_ptr(term); /* See limitation #2 */ - POINTER_HASH(thing->node, HCONST_5); - UINT32_HASH_2(thing->data.pid.num, thing->data.pid.ser, HCONST_5); + IHASH_MIX_ALPHA(IHASH_TYPE_EXTERNAL_PID); + IHASH_MIX_BETA((UWord)thing->node); + IHASH_MIX_ALPHA_2F32(thing->data.pid.num, thing->data.pid.ser); goto pop_next; } case EXTERNAL_PORT_SUBTAG: { - ExternalThing* thing = external_thing_ptr(term); + const ExternalThing *thing = external_thing_ptr(term); /* See limitation #2 */ - POINTER_HASH(thing->node, HCONST_6); - UINT32_HASH_2(thing->data.ui32[0], thing->data.ui32[1], HCONST_6); + IHASH_MIX_ALPHA(IHASH_TYPE_EXTERNAL_PORT); + IHASH_MIX_BETA((UWord)thing->node); +#ifdef ARCH_64 + IHASH_MIX_ALPHA(thing->data.port.id); +#else + IHASH_MIX_ALPHA_2F32(thing->data.port.low, + thing->data.port.high); +#endif goto pop_next; } case FLOAT_SUBTAG: { FloatDef ff; + GET_DOUBLE(term, ff); + if (ff.fd == 0.0f) { /* ensure positive 0.0 */ ff.fd = erts_get_positive_zero_float(); } - UINT32_HASH_2(ff.fw[0], ff.fw[1], HCONST_12); + + IHASH_MIX_ALPHA(IHASH_TYPE_FLOAT); + IHASH_MIX_BETA_2F32(ff.fw[0], ff.fw[1]); + goto pop_next; } default: - erts_exit(ERTS_ERROR_EXIT, "Invalid tag in make_internal_hash(0x%X, %lu)\n", term, salt); + erts_exit(ERTS_ERROR_EXIT, + "Invalid tag in make_internal_hash(0x%X, _, %i)\n", + term); } } break; case TAG_PRIMARY_IMMED1: - #if ERTS_SIZEOF_ETERM == 8 - UINT32_HASH_2((Uint32)term, (Uint32)(term >> 32), HCONST); - #else - UINT32_HASH(term, HCONST); - #endif + IHASH_MIX_IMMEDIATE(term); goto pop_next; default: - erts_exit(ERTS_ERROR_EXIT, "Invalid tag in make_internal_hash(0x%X, %lu)\n", term, salt); + erts_exit(ERTS_ERROR_EXIT, + "Invalid tag in make_internal_hash(0x%X, _, %i)\n", + term); pop_next: if (ESTACK_ISEMPTY(s)) { DESTROY_ESTACK(s); - return hash; + hash_alpha ^= hash_ticks; + hash_beta ^= hash_ticks; + + hash_alpha += hash_beta; + hash_beta += hash_alpha; + + hash_alpha = ihash_mix64(hash_alpha); + hash_beta = ihash_mix64(hash_beta); + + hash_alpha += hash_beta; + hash_beta += hash_alpha; + + return (erts_ihash_t)(hash_alpha ^ hash_beta); } term = ESTACK_POP(s); switch (term) { - case HASH_CDR: - CONST_HASH(HCONST_18); /* Hash CDR i cons cell */ - goto pop_next; - default: - break; + case IHASH_CAR_MARKER: + /* Hash CAR in cons cell */ + IHASH_MIX_BETA(IHASH_TYPE_CAR); + term = ESTACK_POP(s); + continue; + case IHASH_CDR_MARKER: + /* Hash CDR in cons cell */ + IHASH_MIX_BETA(IHASH_TYPE_CDR); + term = ESTACK_POP(s); + continue; } } } - } - } #ifdef DBG_HASHMAP_COLLISION_BONANZA -Uint32 erts_dbg_hashmap_collision_bonanza(Uint32 hash, Eterm key) +erts_ihash_t erts_dbg_hashmap_collision_bonanza(erts_ihash_t hash, Eterm key) { -/*{ - static Uint32 hashvec[7] = { - 0x02345678, - 0x12345678, - 0xe2345678, - 0xf2345678, - 0x12abcdef, - 0x13abcdef, - 0xcafebabe - }; - hash = hashvec[hash % (sizeof(hashvec) / sizeof(hashvec[0]))]; - }*/ - const Uint32 bad_hash = (hash & 0x12482481) * 1442968193; - const Uint32 bad_bits = hash % 67; - if (bad_bits < 32) { + /* Keep only 8 bits to ensure a high collision rate (1/256). */ + erts_ihash_t bad_hash = (hash & 0x12482481u); + erts_ihash_t bad_bits; + + switch (sizeof(erts_ihash_t) * CHAR_BIT) { + case 64: + bad_hash *= UWORD_CONSTANT(11400714819323198485); + bad_hash ^= (bad_hash >> 31); + bad_bits = hash % 137; + break; + case 32: + bad_hash *= UWORD_CONSTANT(2654435769); + bad_hash ^= (bad_hash >> 15); + bad_bits = hash % 67; + break; + default: + ASSERT(!"Unknown sizeof(erts_ihash_t)"); + } + + (void)key; + + if (bad_bits < (sizeof(erts_ihash_t) * CHAR_BIT)) { /* Mix in a number of high good bits to get "randomly" close - to the collision nodes */ - const Uint32 bad_mask = (1 << bad_bits) - 1; - return (hash & ~bad_mask) | (bad_hash & bad_mask); + * to the collision nodes */ + const erts_ihash_t bad_mask = (1 << bad_bits) - 1; + bad_hash = (hash & ~bad_mask) | (bad_hash & bad_mask); } + return bad_hash; } #endif -/* Term hash function for hashmaps */ -Uint32 make_map_hash(Eterm key) { - Uint32 hash; +erts_ihash_t erts_internal_salted_hash(Eterm term, erts_ihash_t salt) { + if (ERTS_LIKELY(is_immed(term))) { + /* Fast path for immediates. The vast majority of calls land here. */ + return ihash_mix64(term + salt); + } + + return make_internal_hash(term, salt); +} + +erts_ihash_t erts_internal_hash(Eterm term) { + if (ERTS_LIKELY(is_immed(term))) { + return ihash_mix64(term); + } - hash = make_internal_hash(key, 0); + return make_internal_hash(term, 0); +} + +/* Term hash function for hashmaps, identical to erts_internal_hash except in + * certain debug configurations that weaken the hash. */ +erts_ihash_t erts_map_hash(Eterm key) { + erts_ihash_t hash = erts_internal_hash(key); #ifdef DBG_HASHMAP_COLLISION_BONANZA hash = erts_dbg_hashmap_collision_bonanza(hash, key); #endif + return hash; } - -#undef CONST_HASH -#undef HASH_MAP_TAIL -#undef HASH_MAP_PAIR -#undef HASH_CDR - -#undef UINT32_HASH_2 -#undef UINT32_HASH -#undef SINT32_HASH - -#undef HCONST -#undef MIX diff --git a/erts/emulator/beam/erl_term_hashing.h b/erts/emulator/beam/erl_term_hashing.h index 8a898b7c52f1..dacd944d4d22 100644 --- a/erts/emulator/beam/erl_term_hashing.h +++ b/erts/emulator/beam/erl_term_hashing.h @@ -24,11 +24,25 @@ #include "sys.h" #include "erl_drv_nif.h" -#if (defined(__aarch64__) && defined(__ARM_FEATURE_CRC32)) || \ - (defined(__x86_64__) && defined(__SSE4_2__)) -# define ERL_INTERNAL_HASH_CRC32C +/* Internal hash routines that can be changed at will. */ + +typedef UWord erts_ihash_t; + +erts_ihash_t erts_internal_salted_hash(Eterm term, erts_ihash_t salt); +erts_ihash_t erts_internal_hash(Eterm term); +erts_ihash_t erts_map_hash(Eterm term); + +#ifdef DEBUG +# define DBG_HASHMAP_COLLISION_BONANZA +#endif + +#ifdef DBG_HASHMAP_COLLISION_BONANZA +erts_ihash_t erts_dbg_hashmap_collision_bonanza(erts_ihash_t hash, Eterm key); #endif +/* Portable hash routines whose results should be bug-compatible across + * versions. */ + typedef struct { Uint32 a,b,c; } ErtsBlockHashHelperCtx; @@ -52,14 +66,7 @@ typedef struct { Uint32 make_hash2(Eterm); Uint32 trapping_make_hash2(Eterm, Eterm*, struct process*); Uint32 make_hash(Eterm); -Uint32 make_internal_hash(Eterm, Uint32 salt); -#ifdef DEBUG -# define DBG_HASHMAP_COLLISION_BONANZA -#endif -#ifdef DBG_HASHMAP_COLLISION_BONANZA -Uint32 erts_dbg_hashmap_collision_bonanza(Uint32 hash, Eterm key); -#endif -Uint32 make_map_hash(Eterm key); + void erts_block_hash_init(ErtsBlockHashState *state, const byte *ptr, Uint len, @@ -75,5 +82,4 @@ int erts_iov_block_hash(Uint32 *hashp, Uint *sizep, ErtsIovBlockHashState *state); - #endif diff --git a/erts/emulator/beam/erl_trace.c b/erts/emulator/beam/erl_trace.c index 2dd6c99d4c8c..4a3e017fdc96 100644 --- a/erts/emulator/beam/erl_trace.c +++ b/erts/emulator/beam/erl_trace.c @@ -66,9 +66,9 @@ Export exp_send, exp_receive, exp_timeout; static ErtsTracer system_seq_tracer; -static Uint default_proc_trace_flags; +static Uint32 default_proc_trace_flags; static ErtsTracer default_proc_tracer; -static Uint default_port_trace_flags; +static Uint32 default_port_trace_flags; static ErtsTracer default_port_tracer; static Eterm system_monitor; @@ -485,8 +485,8 @@ erts_get_system_seq_tracer(void) } static ERTS_INLINE void -get_default_tracing(Uint *flagsp, ErtsTracer *tracerp, - Uint *default_trace_flags, +get_default_tracing(Uint32 *flagsp, ErtsTracer *tracerp, + Uint32 *default_trace_flags, ErtsTracer *default_tracer) { if (!(*default_trace_flags & TRACEE_FLAGS)) @@ -531,9 +531,9 @@ get_default_tracing(Uint *flagsp, ErtsTracer *tracerp, } static ERTS_INLINE void -erts_change_default_tracing(int setflags, Uint flags, +erts_change_default_tracing(int setflags, Uint32 flags, const ErtsTracer tracer, - Uint *default_trace_flags, + Uint32 *default_trace_flags, ErtsTracer *default_tracer) { if (setflags) @@ -547,31 +547,31 @@ erts_change_default_tracing(int setflags, Uint flags, } void -erts_change_default_proc_tracing(int setflags, Uint flagsp, +erts_change_default_proc_tracing(int setflags, Uint32 flags, const ErtsTracer tracer) { erts_rwmtx_rwlock(&sys_trace_rwmtx); erts_change_default_tracing( - setflags, flagsp, tracer, + setflags, flags, tracer, &default_proc_trace_flags, &default_proc_tracer); erts_rwmtx_rwunlock(&sys_trace_rwmtx); } void -erts_change_default_port_tracing(int setflags, Uint flagsp, +erts_change_default_port_tracing(int setflags, Uint32 flags, const ErtsTracer tracer) { erts_rwmtx_rwlock(&sys_trace_rwmtx); erts_change_default_tracing( - setflags, flagsp, tracer, + setflags, flags, tracer, &default_port_trace_flags, &default_port_tracer); erts_rwmtx_rwunlock(&sys_trace_rwmtx); } void -erts_get_default_proc_tracing(Uint *flagsp, ErtsTracer *tracerp) +erts_get_default_proc_tracing(Uint32 *flagsp, ErtsTracer *tracerp) { erts_rwmtx_rlock(&sys_trace_rwmtx); *tracerp = erts_tracer_nil; /* initialize */ @@ -583,7 +583,7 @@ erts_get_default_proc_tracing(Uint *flagsp, ErtsTracer *tracerp) } void -erts_get_default_port_tracing(Uint *flagsp, ErtsTracer *tracerp) +erts_get_default_port_tracing(Uint32 *flagsp, ErtsTracer *tracerp) { erts_rwmtx_rlock(&sys_trace_rwmtx); *tracerp = erts_tracer_nil; /* initialize */ @@ -976,7 +976,8 @@ erts_trace_return(Process* p, ErtsCodeMFA *mfa, { Eterm* hp; Eterm mfa_tuple; - Uint meta_flags, *tracee_flags; + Uint32 meta_flags; + Uint32 *tracee_flags; ASSERT(tracer); if (ERTS_TRACER_COMPARE(*tracer, erts_tracer_true)) { @@ -1031,7 +1032,8 @@ erts_trace_exception(Process* p, ErtsCodeMFA *mfa, Eterm class, Eterm value, { Eterm* hp; Eterm mfa_tuple, cv; - Uint meta_flags, *tracee_flags; + Uint32 meta_flags; + Uint32 *tracee_flags; ASSERT(tracer); if (ERTS_TRACER_COMPARE(*tracer, erts_tracer_true)) { @@ -1097,7 +1099,8 @@ erts_call_trace(Process* p, ErtsCodeInfo *info, Binary *match_spec, int i; Uint32 return_flags; Eterm pam_result = am_true; - Uint meta_flags, *tracee_flags; + Uint32 meta_flags; + Uint32 *tracee_flags; ErtsTracerNif *tnif = NULL; Eterm transformed_args[MAX_ARG]; ErtsTracer pre_ms_tracer = erts_tracer_nil; @@ -3130,7 +3133,7 @@ static int tracer_cmp_fun(void* a, void* b) static HashValue tracer_hash_fun(void* obj) { - return make_internal_hash(((ErtsTracerNif*)obj)->module, 0); + return erts_internal_hash(((ErtsTracerNif*)obj)->module); } static void *tracer_alloc_fun(void* tmpl) diff --git a/erts/emulator/beam/erl_trace.h b/erts/emulator/beam/erl_trace.h index e67011e46b3d..3701c4390dec 100644 --- a/erts/emulator/beam/erl_trace.h +++ b/erts/emulator/beam/erl_trace.h @@ -77,12 +77,12 @@ ErtsTracer erts_set_system_seq_tracer(Process *c_p, ErtsProcLocks c_p_locks, ErtsTracer new_); ErtsTracer erts_get_system_seq_tracer(void); -void erts_change_default_proc_tracing(int setflags, Uint flagsp, +void erts_change_default_proc_tracing(int setflags, Uint32 flags, const ErtsTracer tracerp); -void erts_get_default_proc_tracing(Uint *flagsp, ErtsTracer *tracerp); -void erts_change_default_port_tracing(int setflags, Uint flagsp, +void erts_get_default_proc_tracing(Uint32 *flagsp, ErtsTracer *tracerp); +void erts_change_default_port_tracing(int setflags, Uint32 flags, const ErtsTracer tracerp); -void erts_get_default_port_tracing(Uint *flagsp, ErtsTracer *tracerp); +void erts_get_default_port_tracing(Uint32 *flagsp, ErtsTracer *tracerp); void erts_set_system_monitor(Eterm monitor); Eterm erts_get_system_monitor(void); int erts_is_tracer_valid(Process* p); diff --git a/erts/emulator/beam/external.c b/erts/emulator/beam/external.c index 081ce23e4933..5381e7d127f6 100644 --- a/erts/emulator/beam/external.c +++ b/erts/emulator/beam/external.c @@ -3534,6 +3534,20 @@ enc_term_int(TTBEncodeContext* ctx, ErtsAtomCacheMap *acmp, Eterm obj, byte* ep, goto ref_common; case REF_DEF: + if ((dflags & DFLAG_ETS_COMPRESSED) && is_internal_magic_ref(obj)) { + ErtsMRefThing tmp; + ErtsMRefThing *mrtp = (ErtsMRefThing *) internal_ref_val(obj); + + erts_refc_inc(&mrtp->mb->intern.refc, 2); + + *ep++ = MAGIC_REF_INTERNAL_REF; + sys_memcpy(&tmp, mrtp, sizeof(ErtsMRefThing)); + tmp.next = *off_heap; + sys_memcpy(ep, &tmp, sizeof(ErtsMRefThing)); + *off_heap = (struct erl_off_heap_header*) ep; + ep += sizeof(ErtsMRefThing); + break; + } *ep++ = NEWER_REFERENCE_EXT; @@ -3882,20 +3896,20 @@ enc_term_int(TTBEncodeContext* ctx, ErtsAtomCacheMap *acmp, Eterm obj, byte* ep, WSTACK_PUSH2(s, ENC_PATCH_FUN_SIZE, (UWord) ep); /* Position for patching in size */ ep += 4; - *ep = funp->arity; + *ep = fun_arity(funp); ep += 1; sys_memcpy(ep, fe->uniq, 16); ep += 16; put_int32(fe->index, ep); ep += 4; - put_int32((Uint32)funp->num_free, ep); + put_int32((Uint32)fun_num_free(funp), ep); ep += 4; ep = enc_atom(acmp, fe->module, ep, dflags); ep = enc_term(acmp, make_small(fe->old_index), ep, dflags, off_heap); ep = enc_term(acmp, make_small(fe->old_uniq), ep, dflags, off_heap); - ep = enc_pid(acmp, funp->creator, ep, dflags); + ep = enc_pid(acmp, erts_init_process_id, ep, dflags); - for (ei = funp->num_free-1; ei >= 0; ei--) { + for (ei = fun_num_free(funp)-1; ei >= 0; ei--) { WSTACK_PUSH2(s, ENC_TERM, (UWord) funp->env[ei]); } } else { @@ -4735,7 +4749,7 @@ dec_term(ErtsDistExternal *edep, } case BINARY_EXT: { - Uint32 nu = get_uint32(ep); + Uint nu = get_uint32(ep); ep += 4; ASSERT(IS_BINARY_SIZE_OK(nu)); @@ -4801,7 +4815,7 @@ dec_term(ErtsDistExternal *edep, Eterm bin; ErlSubBin* sb; Uint bitsize; - Uint32 nu = get_uint32(ep); + Uint nu = get_uint32(ep); ASSERT(IS_BINARY_SIZE_OK(nu)); @@ -4979,8 +4993,7 @@ dec_term(ErtsDistExternal *edep, ep += 4; hp += ERL_FUN_SIZE; hp += num_free; - funp->thing_word = HEADER_FUN; - funp->num_free = num_free; + funp->thing_word = MAKE_FUN_HEADER(arity, num_free, 0); *objp = make_fun(funp); /* Module */ @@ -5006,6 +5019,15 @@ dec_term(ErtsDistExternal *edep, } old_uniq = unsigned_val(temp); + /* Creator pid, discarded */ + if ((ep = dec_term(edep, factory, ep, &temp, NULL, + internal_nc)) == NULL) { + goto error; + } + if (!is_pid(temp)) { + goto error; + } + /* * It is safe to link the fun into the fun list only when * no more validity tests can fail. @@ -5016,7 +5038,6 @@ dec_term(ErtsDistExternal *edep, funp->entry.fun = erts_put_fun_entry2(module, old_uniq, old_index, uniq, index, arity); - funp->arity = arity; hp = factory->hp; /* Environment */ @@ -5024,9 +5045,6 @@ dec_term(ErtsDistExternal *edep, funp->env[i] = (Eterm) next; next = funp->env + i; } - /* Creator */ - funp->creator = (Eterm) next; - next = &(funp->creator); break; } case ATOM_INTERNAL_REF2: @@ -5096,6 +5114,19 @@ dec_term(ErtsDistExternal *edep, *objp = make_binary(sub); break; } + case MAGIC_REF_INTERNAL_REF: + { + ErtsMRefThing* mrtp = (ErtsMRefThing*) hp; + sys_memcpy(mrtp, ep, sizeof(ErtsMRefThing)); + ep += sizeof(ErtsMRefThing); + erts_refc_inc(&mrtp->mb->intern.refc, 2); + hp += ERTS_MAGIC_REF_THING_SIZE; + mrtp->next = factory->off_heap->first; + factory->off_heap->first = (struct erl_off_heap_header*)mrtp; + *objp = make_internal_ref(mrtp); + ASSERT(is_internal_magic_ref(*objp)); + break; + } case LOCAL_EXT: internal_nc = !0; @@ -5372,20 +5403,24 @@ encode_size_struct_int(TTBSizeContext* ctx, ErtsAtomCacheMap *acmp, Eterm obj, result += (1 + 2 + nlen + 4 + 4*i); break; } - case REF_DEF: { - int nlen; - i = internal_ref_no_numbers(obj); - if (dflags & (DFLAG_ETS_COMPRESSED|DFLAG_LOCAL_EXT)) { - nlen = 1; + case REF_DEF: + if ((dflags & DFLAG_ETS_COMPRESSED) && is_internal_magic_ref(obj)) { + result += 1 + sizeof(ErtsMRefThing); } else { - nlen = encode_atom_size(acmp, - internal_ref_node_name(obj), - dflags); + int nlen; + i = internal_ref_no_numbers(obj); + if (dflags & (DFLAG_ETS_COMPRESSED|DFLAG_LOCAL_EXT)) { + nlen = 1; + } + else { + nlen = encode_atom_size(acmp, + internal_ref_node_name(obj), + dflags); + } + result += (1 + 2 + nlen + 4 + 4*i); } - result += (1 + 2 + nlen + 4 + 4*i); - break; - } + break; case EXTERNAL_PORT_DEF: { int nlen = encode_atom_size(acmp, external_port_node_name(obj), @@ -5586,14 +5621,14 @@ encode_size_struct_int(TTBSizeContext* ctx, ErtsAtomCacheMap *acmp, Eterm obj, if (is_local_fun(funp)) { result += 20+1+1+4; /* New ID + Tag */ result += 4; /* Length field (number of free variables */ - result += encode_pid_size(acmp, funp->creator, dflags); + result += encode_pid_size(acmp, erts_init_process_id, dflags); result += encode_atom_size(acmp, funp->entry.fun->module, dflags); result += 2 * (1+4); /* Index, Uniq */ - if (funp->num_free > 1) { + if (fun_num_free(funp) > 1) { WSTACK_PUSH2(s, (UWord) (funp->env + 1), - (UWord) TERM_ARRAY_OP(funp->num_free-1)); + (UWord) TERM_ARRAY_OP(fun_num_free(funp)-1)); } - if (funp->num_free != 0) { + if (fun_num_free(funp) != 0) { obj = funp->env[0]; continue; /* big loop */ } @@ -6029,7 +6064,12 @@ decoded_size(const byte *ep, const byte* endp, int internal_tags, B2TContext* ct SKIP(2+sizeof(ProcBin)); heap_size += PROC_BIN_SIZE + ERL_SUB_BIN_SIZE; break; - CHKSIZE(1); + case MAGIC_REF_INTERNAL_REF: + if (!internal_tags) + goto error; + SKIP(sizeof(ErtsMRefThing)); + heap_size += ERTS_MAGIC_REF_THING_SIZE; + break; case LOCAL_EXT: /* * Currently the hash is 4 bytes large... diff --git a/erts/emulator/beam/external.h b/erts/emulator/beam/external.h index bd97164d82df..ce27423ff6ae 100644 --- a/erts/emulator/beam/external.h +++ b/erts/emulator/beam/external.h @@ -68,6 +68,7 @@ #define ATOM_INTERNAL_REF3 'K' #define BINARY_INTERNAL_REF 'J' #define BIT_BINARY_INTERNAL_REF 'L' +#define MAGIC_REF_INTERNAL_REF 'N' #define COMPRESSED 'P' #if 0 diff --git a/erts/emulator/beam/generators.tab b/erts/emulator/beam/generators.tab index a737228c444f..0a0d1562f04c 100644 --- a/erts/emulator/beam/generators.tab +++ b/erts/emulator/beam/generators.tab @@ -318,12 +318,9 @@ MakeLiteralLambda(Op, Index, DstType, DstVal) { * created by the user. We also disable deduplication to prevent it * from colliding with other placeholder lambdas of the same arity. */ funp = (ErlFunThing*)tmp_hp; - funp->thing_word = HEADER_FUN; + funp->thing_word = MAKE_FUN_HEADER(entry->arity, 0, 1); funp->entry.exp = NULL; funp->next = NULL; - funp->arity = entry->arity; - funp->num_free = 0; - funp->creator = am_external; literal = beamfile_add_literal(&S->beam, make_fun(tmp_hp), 0); S->lambda_literals[$Index] = literal; @@ -338,61 +335,6 @@ MakeLiteralLambda(Op, Index, DstType, DstVal) { ($Op)->a[1].val = $DstVal; } -gen.make_fun2(Idx) { - BeamOp* op; - BeamOp* th; - - $NewBeamOp(S, op); - - if (Idx.val >= S->beam.lambdas.count) { - $BeamOpNameArity(op, i_lambda_error, 1); - op->a[0].type = TAG_o; - op->a[0].val = 0; - return op; - } else { - BeamFile_LambdaEntry *entry = &S->beam.lambdas.entries[Idx.val]; - unsigned num_free = entry->num_free; - unsigned arity = entry->arity; - int i; - - /* Literal lambdas are all owned by the init process as a workaround - * for all local funs needing a creator pid. Skip the optimization if - * this module is being loaded before said process has started - * (just preloaded modules, really). */ - if (num_free == 0 && erts_init_process_id != ERTS_INVALID_PID) { - $MakeLiteralLambda(op, Idx.val, TAG_x, 0); - return op; - } - - $NewBeamOp(S, th); - - $BeamOpNameArity(th, test_heap, 2); - th->a[0].type = TAG_u; - th->a[0].val = ERL_FUN_SIZE + num_free; - th->a[1].type = TAG_u; - th->a[1].val = num_free; - th->next = op; - - $BeamOpNameArity(op, i_make_fun3, 4); - $BeamOpArity(op, 4 + num_free); - op->a[0].type = TAG_u; - op->a[0].val = Idx.val; - op->a[1].type = TAG_x; - op->a[1].val = 0; - op->a[2].type = TAG_u; - op->a[2].val = arity - num_free; - op->a[3].type = TAG_u; - op->a[3].val = num_free; - - for (i = 0; i < num_free; i++) { - op->a[i+4].type = TAG_x; - op->a[i+4].val = i; - } - - return th; - } -} - gen.make_fun3(Idx, Dst, NumFree, Env) { BeamOp* op; diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h index 3170cebe951b..7f8e54b949b1 100644 --- a/erts/emulator/beam/global.h +++ b/erts/emulator/beam/global.h @@ -734,8 +734,8 @@ do { \ typedef struct ErtsPStack_ { byte* pstart; - int offs; /* "stack pointer" as byte offset from pstart */ - int size; /* allocated size in bytes */ + SWord offs; /* "stack pointer" as byte offset from pstart */ + SWord size; /* allocated size in bytes */ ErtsAlcType_t alloc_type; }ErtsPStack; @@ -746,7 +746,7 @@ void erl_grow_pstack(ErtsPStack* s, void* default_pstack, unsigned need_bytes); #define PSTACK_DECLARE(s, DEF_PSTACK_SIZE) \ PSTACK_TYPE PSTK_DEF_STACK(s)[DEF_PSTACK_SIZE]; \ ErtsPStack s = { (byte*)PSTK_DEF_STACK(s), /* pstart */ \ - -(int)sizeof(PSTACK_TYPE), /* offs */ \ + -(SWord)sizeof(PSTACK_TYPE), /* offs */ \ DEF_PSTACK_SIZE*sizeof(PSTACK_TYPE), /* size */ \ ERTS_ALC_T_ESTACK /* alloc_type */ \ } @@ -1598,6 +1598,7 @@ Eterm erts_unary_minus(Process* p, Eterm arg1); Eterm erts_mixed_plus(Process* p, Eterm arg1, Eterm arg2); Eterm erts_mixed_minus(Process* p, Eterm arg1, Eterm arg2); Eterm erts_mixed_times(Process* p, Eterm arg1, Eterm arg2); +Eterm erts_mul_add(Process* p, Eterm arg1, Eterm arg2, Eterm arg3, Eterm* pp); Eterm erts_mixed_div(Process* p, Eterm arg1, Eterm arg2); int erts_int_div_rem(Process* p, Eterm arg1, Eterm arg2, Eterm *q, Eterm *r); diff --git a/erts/emulator/beam/jit/arm/beam_asm.hpp b/erts/emulator/beam/jit/arm/beam_asm.hpp index 8ef609f4b2aa..38f1c6875f07 100644 --- a/erts/emulator/beam/jit/arm/beam_asm.hpp +++ b/erts/emulator/beam/jit/arm/beam_asm.hpp @@ -81,7 +81,7 @@ struct BeamAssembler : public BeamAssemblerCommon { const arm::Gp E = a64::x20; const arm::Gp c_p = a64::x21; - const arm::Gp FCALLS = a64::x22; + const arm::Gp FCALLS = a64::w22; const arm::Gp HTOP = a64::x23; /* Local copy of the active code index. @@ -686,13 +686,23 @@ struct BeamAssembler : public BeamAssemblerCommon { a.cmp(SUPER_TMP, imm(TAG_PRIMARY_IMMED1)); } + arm::Gp follow_size(const arm::Gp ®, const arm::Gp &size) { + ASSERT(reg.isGpX()); + + if (size.isGpW()) { + return reg.w(); + } + + return reg; + } + template void mov_imm(arm::Gp to, T value) { static_assert(std::is_integral::value || std::is_pointer::value); if (value) { a.mov(to, imm(value)); } else { - a.mov(to, ZERO); + a.mov(to, follow_size(ZERO, to)); } } @@ -716,8 +726,10 @@ struct BeamAssembler : public BeamAssemblerCommon { a.sub(to, src, imm(val & 0xFFF000)); } } else { - mov_imm(SUPER_TMP, val); - a.sub(to, src, SUPER_TMP); + arm::Gp super_tmp = follow_size(SUPER_TMP, to); + + mov_imm(super_tmp, val); + a.sub(to, src, super_tmp); } } @@ -736,8 +748,10 @@ struct BeamAssembler : public BeamAssemblerCommon { a.add(to, src, imm(val & 0xFFF000)); } } else { - mov_imm(SUPER_TMP, val); - a.add(to, src, SUPER_TMP); + arm::Gp super_tmp = follow_size(SUPER_TMP, to); + + mov_imm(super_tmp, val); + a.add(to, src, super_tmp); } } @@ -747,8 +761,10 @@ struct BeamAssembler : public BeamAssemblerCommon { } else if (Support::isUInt12(-val)) { a.adds(to, src, imm(-val)); } else { - mov_imm(SUPER_TMP, val); - a.subs(to, src, SUPER_TMP); + arm::Gp super_tmp = follow_size(SUPER_TMP, to); + + mov_imm(super_tmp, val); + a.subs(to, src, super_tmp); } } @@ -757,13 +773,11 @@ struct BeamAssembler : public BeamAssemblerCommon { a.cmp(src, imm(val)); } else if (Support::isUInt12(-val)) { a.cmn(src, imm(-val)); - } else if (src.isGpW()) { - mov_imm(SUPER_TMP.w(), val); - a.cmp(src, SUPER_TMP.w()); } else { - ERTS_ASSERT(src.isGpX()); - mov_imm(SUPER_TMP, val); - a.cmp(src, SUPER_TMP); + arm::Gp super_tmp = follow_size(SUPER_TMP, src); + + mov_imm(super_tmp, val); + a.cmp(src, super_tmp); } } @@ -1077,8 +1091,7 @@ class BeamModuleAssembler : public BeamAssembler, arm::Mem emit_fixed_apply(const ArgWord &arity, bool includeI); arm::Gp emit_call_fun(bool skip_box_test = false, - bool skip_fun_test = false, - bool skip_arity_test = false); + bool skip_header_test = false); void emit_is_boxed(Label Fail, arm::Gp Src) { BeamAssembler::emit_is_boxed(Fail, Src); @@ -1115,6 +1128,15 @@ class BeamModuleAssembler : public BeamAssembler, const a64::Gp rhs_reg, const Label next); + void emit_div_rem_literal(Sint divisor, + const ArgSource &Dividend, + arm::Gp dividend, + arm::Gp quotient, + arm::Gp remainder, + const Label &generic, + bool need_div, + bool need_rem); + void emit_div_rem(const ArgLabel &Fail, const ArgSource &LHS, const ArgSource &RHS, diff --git a/erts/emulator/beam/jit/arm/beam_asm_global.cpp b/erts/emulator/beam/jit/arm/beam_asm_global.cpp index a4d20a9356dd..1ec8ffa51aa9 100644 --- a/erts/emulator/beam/jit/arm/beam_asm_global.cpp +++ b/erts/emulator/beam/jit/arm/beam_asm_global.cpp @@ -115,9 +115,9 @@ void BeamGlobalAssembler::emit_garbage_collect() { /* ARG2 is already loaded. */ load_x_reg_array(ARG3); /* ARG4 (live registers) is already loaded. */ - a.mov(ARG5, FCALLS); + a.mov(ARG5.w(), FCALLS); runtime_call<5>(erts_garbage_collect_nobump); - a.sub(FCALLS, FCALLS, ARG1); + a.sub(FCALLS, FCALLS, ARG1.w()); emit_leave_runtime(); emit_leave_runtime_frame(); diff --git a/erts/emulator/beam/jit/arm/beam_asm_global.hpp.pl b/erts/emulator/beam/jit/arm/beam_asm_global.hpp.pl index b2478bd56d5c..93b239ddbdb7 100644 --- a/erts/emulator/beam/jit/arm/beam_asm_global.hpp.pl +++ b/erts/emulator/beam/jit/arm/beam_asm_global.hpp.pl @@ -92,12 +92,16 @@ i_loop_rec_shared i_test_yield_shared i_bxor_body_shared + int128_to_big_shared int_div_rem_body_shared int_div_rem_guard_shared - internal_hash_helper is_in_range_shared is_ge_lt_shared minus_body_shared + mul_add_body_shared + mul_add_guard_shared + mul_body_shared + mul_guard_shared new_map_shared update_map_assoc_shared unloaded_fun @@ -107,8 +111,6 @@ raise_exception raise_exception_shared store_unaligned - times_body_shared - times_guard_shared unary_minus_body_shared update_map_exact_guard_shared update_map_exact_body_shared @@ -194,6 +196,7 @@ sub gen_list { void emit_bif_element_helper(Label fail); void emit_bif_tuple_size_helper(Label fail); + void emit_internal_hash_helper(); void emit_flatmap_get_element(); void emit_hashmap_get_element(); diff --git a/erts/emulator/beam/jit/arm/beam_asm_module.cpp b/erts/emulator/beam/jit/arm/beam_asm_module.cpp index 57f5746a8c42..276a560ca961 100644 --- a/erts/emulator/beam/jit/arm/beam_asm_module.cpp +++ b/erts/emulator/beam/jit/arm/beam_asm_module.cpp @@ -315,6 +315,7 @@ void BeamGlobalAssembler::emit_i_func_info_shared() { /* a64::x30 now points 4 bytes into the ErtsCodeInfo struct for the * function. Put the address of the MFA into ARG1. */ a.add(ARG1, a64::x30, offsetof(ErtsCodeInfo, mfa) - 4); + mov_imm(TMP1, EXC_FUNCTION_CLAUSE); a.str(TMP1, arm::Mem(c_p, offsetof(Process, freason))); a.str(ARG1, arm::Mem(c_p, offsetof(Process, current))); @@ -329,7 +330,7 @@ void BeamModuleAssembler::emit_i_func_info(const ArgWord &Label, const ArgAtom &Module, const ArgAtom &Function, const ArgWord &Arity) { - ErtsCodeInfo info; + ErtsCodeInfo info = {}; /* `op_i_func_info_IaaI` is used in various places in the emulator, so this * label is always encoded as a word, even though the signature ought to @@ -339,7 +340,6 @@ void BeamModuleAssembler::emit_i_func_info(const ArgWord &Label, info.mfa.module = Module.get(); info.mfa.function = Function.get(); info.mfa.arity = Arity.get(); - info.gen_bp = NULL; comment("%T:%T/%d", info.mfa.module, info.mfa.function, info.mfa.arity); @@ -395,7 +395,7 @@ void BeamModuleAssembler::bind_veneer_target(const Label &target) { ASSERT(veneer.target == target); if (!code.isLabelBound(veneer.anchor)) { - ASSERT(a.offset() <= veneer.latestOffset); + ASSERT((ssize_t)a.offset() <= veneer.latestOffset); a.bind(veneer.anchor); /* TODO: remove from pending stubs? */ diff --git a/erts/emulator/beam/jit/arm/generators.tab b/erts/emulator/beam/jit/arm/generators.tab index 2ae1582d4bb5..9e0a686ea697 100644 --- a/erts/emulator/beam/jit/arm/generators.tab +++ b/erts/emulator/beam/jit/arm/generators.tab @@ -343,31 +343,6 @@ gen.skip_utf16(Fail, Ms, Flags) { return op; } -gen.allocate_heap_zero(Ns, Nh, Live) { - BeamOp* alloc; - BeamOp* init; - int i; - - $NewBeamOp(S, alloc); - $NewBeamOp(S, init); - - $BeamOpNameArity(alloc, allocate_heap, 3); - alloc->a[0] = Ns; - alloc->a[1] = Nh; - alloc->a[2] = Live; - alloc->next = init; - - $BeamOpNameArity(init, init_yregs, 1); - $BeamOpArity(init, Ns.val+1); - init->a[0] = Ns; - for (i = 0; i < Ns.val; i++) { - init->a[i+1].type = TAG_y; - init->a[i+1].val = i; - } - - return alloc; -} - gen.jump_tab(Src, Fail, Size, Rest) { Sint min, max; Sint i; diff --git a/erts/emulator/beam/jit/arm/instr_arith.cpp b/erts/emulator/beam/jit/arm/instr_arith.cpp index 1fbec6dbb23a..dbdb05b86abe 100644 --- a/erts/emulator/beam/jit/arm/instr_arith.cpp +++ b/erts/emulator/beam/jit/arm/instr_arith.cpp @@ -82,9 +82,15 @@ void BeamModuleAssembler::emit_are_both_small(const ArgSource &LHS, a.and_(TMP1, lhs_reg, rhs_reg); emit_is_boxed(next, TMP1); } else { - ERTS_CT_ASSERT(_TAG_IMMED1_SMALL == _TAG_IMMED1_MASK); - a.and_(TMP1, lhs_reg, rhs_reg); - a.and_(TMP1, TMP1, imm(_TAG_IMMED1_MASK)); + if (always_small(RHS)) { + a.and_(TMP1, lhs_reg, imm(_TAG_IMMED1_MASK)); + } else if (always_small(LHS)) { + a.and_(TMP1, rhs_reg, imm(_TAG_IMMED1_MASK)); + } else { + ERTS_CT_ASSERT(_TAG_IMMED1_SMALL == _TAG_IMMED1_MASK); + a.and_(TMP1, lhs_reg, rhs_reg); + a.and_(TMP1, TMP1, imm(_TAG_IMMED1_MASK)); + } a.cmp(TMP1, imm(_TAG_IMMED1_SMALL)); a.b_eq(next); } @@ -376,45 +382,35 @@ void BeamModuleAssembler::emit_i_minus(const ArgLabel &Fail, mov_arg(Dst, ARG1); } -/* ARG2 = LHS - * ARG3 = RHS +/* + * Create a bignum from a the 128-bit product of two smalls shifted + * left _TAG_IMMED1_SIZE bits. * - * The result is returned in ARG1 (set to THE_NON_VALUE if - * the call failed). + * ARG1 = low 64 bits + * TMP2 = high 64 bits + * + * The result is returned in ARG1. */ -void BeamGlobalAssembler::emit_times_guard_shared() { - Label generic = a.newLabel(); +void BeamGlobalAssembler::emit_int128_to_big_shared() { + Label positive = a.newLabel(); - /* Speculatively untag and multiply. */ - a.and_(TMP1, ARG2, imm(~_TAG_IMMED1_MASK)); - a.asr(TMP2, ARG3, imm(_TAG_IMMED1_SIZE)); - a.mul(TMP3, TMP1, TMP2); - a.smulh(TMP4, TMP1, TMP2); - - /* Check that both operands are small integers. */ - ERTS_CT_ASSERT(_TAG_IMMED1_SMALL == _TAG_IMMED1_MASK); - a.and_(TMP1, ARG2, ARG3); - a.and_(TMP1, TMP1, imm(_TAG_IMMED1_MASK)); - a.cmp(TMP1, imm(_TAG_IMMED1_SMALL)); - a.b_ne(generic); + a.extr(ARG3, TMP2, ARG1, imm(_TAG_IMMED1_SIZE)); + a.asr(ARG4, TMP2, imm(_TAG_IMMED1_SIZE)); - /* The high 65 bits of result will all be the same if no overflow - * occurred. Another way to say that is that the sign bit of the - * low 64 bits repeated 64 times must be equal to the high 64 bits - * of the product. */ - a.cmp(TMP4, TMP3, arm::asr(63)); - a.b_ne(generic); + a.mov(ARG1, c_p); - a.orr(ARG1, TMP3, imm(_TAG_IMMED1_SMALL)); - a.ret(a64::x30); + a.cmp(ARG4, imm(0)); + a.cset(ARG2, arm::CondCode::kMI); - a.bind(generic); + a.b_pl(positive); + a.negs(ARG3, ARG3); + a.ngc(ARG4, ARG4); + a.bind(positive); emit_enter_runtime_frame(); emit_enter_runtime(); - a.mov(ARG1, c_p); - runtime_call<3>(erts_mixed_times); + runtime_call<4>(beam_jit_int128_to_big); emit_leave_runtime(); emit_leave_runtime_frame(); @@ -422,111 +418,295 @@ void BeamGlobalAssembler::emit_times_guard_shared() { a.ret(a64::x30); } -/* ARG2 = LHS - * ARG3 = RHS +/* ARG2 = Src1 + * ARG3 = Src2 + * ARG4 = Src4 * * The result is returned in ARG1. */ -void BeamGlobalAssembler::emit_times_body_shared() { - Label generic = a.newLabel(), error = a.newLabel(); +void BeamGlobalAssembler::emit_mul_add_body_shared() { + Label mul_only = a.newLabel(), error = a.newLabel(), + mul_error = a.newLabel(), do_error = a.newLabel(); - /* Speculatively untag and multiply. */ - a.and_(TMP1, ARG2, imm(~_TAG_IMMED1_MASK)); - a.asr(TMP2, ARG3, imm(_TAG_IMMED1_SIZE)); - a.mul(TMP3, TMP1, TMP2); - a.smulh(TMP4, TMP1, TMP2); + emit_enter_runtime_frame(); + emit_enter_runtime(); - /* Check that both operands are integers. */ - ERTS_CT_ASSERT(_TAG_IMMED1_SMALL == _TAG_IMMED1_MASK); - a.and_(TMP1, ARG2, ARG3); - a.and_(TMP1, TMP1, imm(_TAG_IMMED1_MASK)); - a.cmp(TMP1, imm(_TAG_IMMED1_SMALL)); - a.b_ne(generic); + /* Save original arguments. */ + a.stp(ARG2, ARG3, TMP_MEM1q); + a.mov(ARG1, c_p); + a.cmp(ARG4, imm(make_small(0))); + a.b_eq(mul_only); + a.str(ARG4, TMP_MEM4q); - /* The high 65 bits of result will all be the same if no overflow - * occurred. Another way to say that is that the sign bit of the - * low 64 bits repeated 64 times must be equal to the high 64 bits - * of the product. */ - a.cmp(TMP4, TMP3, arm::asr(63)); - a.b_ne(generic); + lea(ARG5, TMP_MEM3q); + runtime_call<5>(erts_mul_add); - a.orr(ARG1, TMP3, imm(_TAG_IMMED1_SMALL)); + emit_leave_runtime(); + emit_leave_runtime_frame(); + + emit_branch_if_not_value(ARG1, error); a.ret(a64::x30); - a.bind(generic); + a.bind(mul_only); + { + runtime_call<3>(erts_mixed_times); - /* Save original arguments for the error path. */ - a.stp(ARG2, ARG3, TMP_MEM1q); + emit_leave_runtime(); + emit_leave_runtime_frame(); + + emit_branch_if_not_value(ARG1, mul_error); + a.ret(a64::x30); + } + + a.bind(error); + { + static const ErtsCodeMFA mul_mfa = {am_erlang, am_Times, 2}; + static const ErtsCodeMFA add_mfa = {am_erlang, am_Plus, 2}; + + a.ldp(XREG0, XREG1, TMP_MEM3q); + mov_imm(ARG4, &add_mfa); + emit_branch_if_value(XREG0, do_error); + + a.bind(mul_error); + a.ldp(XREG0, XREG1, TMP_MEM1q); + mov_imm(ARG4, &mul_mfa); + + a.bind(do_error); + a.b(labels[raise_exception]); + } +} + +/* ARG2 = Src1 + * ARG3 = Src2 + * ARG4 = Src4 + * + * The result is returned in ARG1 (set to THE_NON_VALUE if + * the call failed). + */ +void BeamGlobalAssembler::emit_mul_add_guard_shared() { + Label mul_failed = a.newLabel(); + + a.str(ARG4, TMP_MEM1q); emit_enter_runtime_frame(); emit_enter_runtime(); a.mov(ARG1, c_p); runtime_call<3>(erts_mixed_times); + emit_branch_if_not_value(ARG1, mul_failed); + a.ldr(ARG3, TMP_MEM1q); + a.mov(ARG2, ARG1); + a.mov(ARG1, c_p); + runtime_call<3>(erts_mixed_plus); + + a.bind(mul_failed); emit_leave_runtime(); emit_leave_runtime_frame(); - emit_branch_if_not_value(ARG1, error); - a.ret(a64::x30); +} - a.bind(error); - { - static const ErtsCodeMFA bif_mfa = {am_erlang, am_Times, 2}; +/* ARG2 = Src1 + * ARG3 = Src2 + * + * The result is returned in ARG1. + */ +void BeamGlobalAssembler::emit_mul_body_shared() { + mov_imm(ARG4, make_small(0)); + a.b(labels[mul_add_body_shared]); +} - /* Place the original arguments in x-registers. */ - a.ldp(XREG0, XREG1, TMP_MEM1q); - mov_imm(ARG4, &bif_mfa); - a.b(labels[raise_exception]); - } +/* ARG2 = Src1 + * ARG3 = Src2 + * + * The result is returned in ARG1 (set to THE_NON_VALUE if + * the call failed). + */ +void BeamGlobalAssembler::emit_mul_guard_shared() { + mov_imm(ARG4, make_small(0)); + a.b(labels[mul_add_guard_shared]); } -void BeamModuleAssembler::emit_i_times(const ArgLabel &Fail, - const ArgWord &Live, - const ArgSource &LHS, - const ArgSource &RHS, - const ArgRegister &Dst) { - bool is_small_result = is_product_small_if_args_are_small(LHS, RHS); +void BeamModuleAssembler::emit_i_mul_add(const ArgLabel &Fail, + const ArgSource &Src1, + const ArgSource &Src2, + const ArgSource &Src3, + const ArgSource &Src4, + const ArgRegister &Dst) { + bool is_product_small = is_product_small_if_args_are_small(Src1, Src2); + bool is_sum_small = is_sum_small_if_args_are_small(Src3, Src4); + bool is_increment_zero = + Src4.isSmall() && Src4.as().getSigned() == 0; + Sint factor = 0; + int left_shift = -1; + + if (is_increment_zero) { + comment("(adding zero)"); + } - if (always_small(LHS) && always_small(RHS) && is_small_result) { + if (Src2.isSmall()) { + factor = Src2.as().getSigned(); + if (Support::isPowerOf2(factor)) { + left_shift = Support::ctz(factor); + } + } + + if (always_small(Src1) && Src2.isSmall() && always_small(Src4) && + is_product_small && is_sum_small) { auto dst = init_destination(Dst, ARG1); - comment("multiplication without overflow check"); - if (RHS.isSmall()) { - auto lhs = load_source(LHS, ARG2); - Sint factor = RHS.as().getSigned(); + auto [src1, src4] = load_sources(Src1, ARG2, Src4, ARG3); + + comment("multiplication and addition without overflow check"); + a.and_(TMP1, src1.reg, imm(~_TAG_IMMED1_MASK)); + if (left_shift > 0) { + comment("optimized multiplication by replacing with left " + "shift"); + a.add(dst.reg, src4.reg, TMP1, arm::lsl(left_shift)); + } else { + mov_imm(TMP2, factor); + a.madd(dst.reg, TMP1, TMP2, src4.reg); + } + flush_var(dst); + } else { + Label small = a.newLabel(); + Label store_result = a.newLabel(); + auto [src1, src2] = load_sources(Src1, ARG2, Src2, ARG3); + auto src4 = load_source(ArgXRegister(0), XREG0); - a.and_(TMP1, lhs.reg, imm(~_TAG_IMMED1_MASK)); - if (Support::isPowerOf2(factor)) { - int trailing_bits = Support::ctz(factor); - comment("optimized multiplication by replacing with left " - "shift"); - a.lsl(TMP1, TMP1, imm(trailing_bits)); + if (!is_increment_zero) { + src4 = load_source(Src4, ARG4); + } + + if (always_small(Src1) && always_small(Src2) && always_small(Src4)) { + comment("skipped test for small operands since they are always " + "small"); + } else { + if (always_small(Src4)) { + emit_are_both_small(Src1, src1.reg, Src2, src2.reg, small); + } else if (always_small(Src2)) { + emit_are_both_small(Src1, src1.reg, Src4, src4.reg, small); + } else { + ASSERT(!is_increment_zero); + ERTS_CT_ASSERT(_TAG_IMMED1_SMALL == _TAG_IMMED1_MASK); + a.and_(TMP1, src1.reg, src2.reg); + a.and_(TMP1, TMP1, src4.reg); + if (always_one_of( + Src1) && + always_one_of( + Src2) && + always_one_of( + Src4)) { + emit_is_boxed(small, TMP1); + } else { + a.and_(TMP1, TMP1, imm(_TAG_IMMED1_MASK)); + a.cmp(TMP1, imm(_TAG_IMMED1_SMALL)); + a.b_eq(small); + } + } + + mov_var(ARG2, src1); + mov_var(ARG3, src2); + + if (Fail.get() != 0) { + if (is_increment_zero) { + fragment_call(ga->get_mul_guard_shared()); + } else { + mov_var(ARG4, src4); + fragment_call(ga->get_mul_add_guard_shared()); + } + emit_branch_if_not_value(ARG1, + resolve_beam_label(Fail, dispUnknown)); } else { - mov_imm(TMP2, factor); - a.mul(TMP1, TMP1, TMP2); + if (is_increment_zero) { + fragment_call(ga->get_mul_body_shared()); + } else { + mov_var(ARG4, src4); + fragment_call(ga->get_mul_add_body_shared()); + } } + + a.b(store_result); + } + + a.bind(small); + if (is_increment_zero) { + comment("multiply smalls"); } else { - auto [lhs, rhs] = load_sources(LHS, ARG2, RHS, ARG3); - a.and_(TMP1, lhs.reg, imm(~_TAG_IMMED1_MASK)); - a.asr(TMP2, rhs.reg, imm(_TAG_IMMED1_SIZE)); - a.mul(TMP1, TMP1, TMP2); + comment("multiply and add smalls"); } - a.orr(dst.reg, TMP1, imm(_TAG_IMMED1_SMALL)); - flush_var(dst); - } else { - auto [lhs, rhs] = load_sources(LHS, ARG2, RHS, ARG3); - mov_var(ARG2, lhs); - mov_var(ARG3, rhs); - if (Fail.get() != 0) { - fragment_call(ga->get_times_guard_shared()); - emit_branch_if_not_value(ARG1, - resolve_beam_label(Fail, dispUnknown)); + if (is_product_small && is_sum_small) { + arm::Gp increment_reg; + + a.and_(TMP3, src1.reg, imm(~_TAG_IMMED1_MASK)); + + if (is_increment_zero) { + mov_imm(TMP1, make_small(0)); + increment_reg = TMP1; + } else { + increment_reg = src4.reg; + } + + if (left_shift > 0) { + comment("optimized multiplication by replacing with left " + "shift"); + a.add(ARG1, increment_reg, TMP3, arm::lsl(left_shift)); + } else { + a.asr(TMP4, src2.reg, imm(_TAG_IMMED1_SIZE)); + a.madd(ARG1, TMP3, TMP4, increment_reg); + } + + comment("skipped test for small result"); } else { - fragment_call(ga->get_times_body_shared()); + auto min_increment = std::get<0>(getClampedRange(Src4)); + + a.and_(TMP3, src1.reg, imm(~_TAG_IMMED1_MASK)); + if (left_shift == 0) { + comment("optimized multiplication by one"); + a.mov(ARG1, TMP3); + a.asr(TMP2, TMP3, imm(63)); + } else if (left_shift > 0) { + comment("optimized multiplication by replacing with left " + "shift"); + a.lsl(ARG1, TMP3, imm(left_shift)); + a.asr(TMP2, TMP3, imm(64 - left_shift)); + } else { + ASSERT(left_shift == -1); + a.asr(TMP4, src2.reg, imm(_TAG_IMMED1_SIZE)); + a.mul(ARG1, TMP3, TMP4); + a.smulh(TMP2, TMP3, TMP4); + } + + if (is_increment_zero) { + a.add(ARG1, ARG1, imm(_TAG_IMMED1_SMALL)); + } else { + arm::Gp sign_reg; + + if (min_increment > 0) { + sign_reg = ZERO; + } else { + sign_reg = TMP3; + a.asr(sign_reg, src4.reg, imm(63)); + } + + a.adds(ARG1, ARG1, src4.reg); + a.adc(TMP2, TMP2, sign_reg); + } + + comment("test whether the result fits in a small"); + /* The high 65 bits of result will all be the same if no + * overflow occurred. Another way to say that is that the + * sign bit of the low 64 bits repeated 64 times must be + * equal to the high 64 bits of the result. */ + a.asr(TMP3, ARG1, imm(SMALL_BITS + _TAG_IMMED1_SIZE - 1)); + a.cmp(TMP2, TMP3); + a.b_eq(store_result); + + fragment_call(ga->get_int128_to_big_shared()); } + a.bind(store_result); mov_arg(Dst, ARG1); } } @@ -673,6 +853,97 @@ void BeamGlobalAssembler::emit_int_div_rem_body_shared() { } } +void BeamModuleAssembler::emit_div_rem_literal(Sint divisor, + const ArgSource &Dividend, + arm::Gp dividend, + arm::Gp quotient, + arm::Gp remainder, + const Label &generic, + bool need_div, + bool need_rem) { + arm::Gp small_tag = TMP6; + bool small_dividend = !generic.isValid(); + + ASSERT(divisor != (Sint)0); + + if (!small_dividend) { + a.and_(small_tag, dividend, imm(_TAG_IMMED1_MASK)); + a.cmp(small_tag, imm(_TAG_IMMED1_SMALL)); + a.b_ne(generic); + } + + if (Support::isPowerOf2(divisor)) { + arm::Gp original_dividend = dividend; + int shift = Support::ctz(divisor); + + if (need_div && small_dividend) { + mov_imm(small_tag, _TAG_IMMED1_SMALL); + } + + ERTS_CT_ASSERT(_TAG_IMMED1_SMALL == _TAG_IMMED1_MASK); + if (std::get<0>(getClampedRange(Dividend)) >= 0) { + /* Positive dividend. */ + if (need_div) { + comment("optimized div by replacing with right shift"); + if (need_rem && quotient == dividend) { + original_dividend = TMP5; + a.mov(original_dividend, dividend); + } + a.orr(quotient, small_tag, dividend, arm::lsr(shift)); + } + if (need_rem) { + auto mask = Support::lsbMask(shift + _TAG_IMMED1_SIZE); + comment("optimized rem by replacing with masking"); + a.and_(remainder, original_dividend, imm(mask)); + } + } else { + /* Negative dividend. */ + if (need_div) { + comment("optimized div by replacing with right shift"); + } + if (divisor == 2) { + ERTS_CT_ASSERT(_TAG_IMMED1_SMALL == _TAG_IMMED1_MASK); + a.add(TMP3, dividend, dividend, arm::lsr(63)); + } else { + add(TMP1, dividend, (divisor - 1) << _TAG_IMMED1_SIZE); + a.cmp(dividend, imm(0)); + a.csel(TMP3, TMP1, dividend, imm(arm::CondCode::kLT)); + } + if (need_div) { + if (need_rem && quotient == dividend) { + original_dividend = TMP5; + a.mov(original_dividend, dividend); + } + a.orr(quotient, small_tag, TMP3, arm::asr(shift)); + } + if (need_rem) { + Uint mask = (Uint)-1 << (shift + _TAG_IMMED1_SIZE); + comment("optimized rem by replacing with subtraction"); + a.and_(TMP1, TMP3, imm(mask)); + a.sub(remainder, original_dividend, TMP1); + } + } + } else { + a.asr(TMP1, dividend, imm(_TAG_IMMED1_SIZE)); + mov_imm(TMP2, divisor); + a.sdiv(quotient, TMP1, TMP2); + if (need_rem) { + a.msub(remainder, quotient, TMP2, TMP1); + } + + if (small_dividend) { + mov_imm(small_tag, _TAG_IMMED1_SMALL); + } + const arm::Shift tagShift = arm::lsl(_TAG_IMMED1_SIZE); + if (need_div) { + a.orr(quotient, small_tag, quotient, tagShift); + } + if (need_rem) { + a.orr(remainder, small_tag, remainder, tagShift); + } + } +} + void BeamModuleAssembler::emit_div_rem(const ArgLabel &Fail, const ArgSource &LHS, const ArgSource &RHS, @@ -685,47 +956,26 @@ void BeamModuleAssembler::emit_div_rem(const ArgLabel &Fail, if (RHS.isSmall()) { divisor = RHS.as().getSigned(); + if (divisor == -1) { + divisor = 0; + } } - if (always_small(LHS) && divisor != (Sint)0 && divisor != (Sint)-1) { + if (always_small(LHS) && divisor != 0) { auto lhs = load_source(LHS, ARG3); auto quotient = init_destination(Quotient, ARG1); auto remainder = init_destination(Remainder, ARG2); + Label invalidLabel; /* Intentionally not initialized */ comment("skipped test for smalls operands and overflow"); - if (Support::isPowerOf2(divisor) && - std::get<0>(getClampedRange(LHS)) >= 0) { - int trailing_bits = Support::ctz(divisor); - if (need_div) { - comment("optimized div by replacing with right shift"); - ERTS_CT_ASSERT(_TAG_IMMED1_SMALL == _TAG_IMMED1_MASK); - a.lsr(quotient.reg, lhs.reg, imm(trailing_bits)); - a.orr(quotient.reg, quotient.reg, imm(_TAG_IMMED1_SMALL)); - } - if (need_rem) { - comment("optimized rem by replacing with masking"); - auto mask = Support::lsbMask(trailing_bits + - _TAG_IMMED1_SIZE); - a.and_(remainder.reg, lhs.reg, imm(mask)); - } - } else { - a.asr(TMP1, lhs.reg, imm(_TAG_IMMED1_SIZE)); - mov_imm(TMP2, divisor); - a.sdiv(quotient.reg, TMP1, TMP2); - if (need_rem) { - a.msub(remainder.reg, quotient.reg, TMP2, TMP1); - } - - mov_imm(TMP3, _TAG_IMMED1_SMALL); - const arm::Shift tagShift = arm::lsl(_TAG_IMMED1_SIZE); - if (need_div) { - a.orr(quotient.reg, TMP3, quotient.reg, tagShift); - } - if (need_rem) { - a.orr(remainder.reg, TMP3, remainder.reg, tagShift); - } - } - + emit_div_rem_literal(divisor, + LHS, + lhs.reg, + quotient.reg, + remainder.reg, + invalidLabel, + need_div, + need_rem); if (need_div) { flush_var(quotient); } @@ -733,11 +983,24 @@ void BeamModuleAssembler::emit_div_rem(const ArgLabel &Fail, flush_var(remainder); } } else { + Label generic = a.newLabel(), done = a.newLabel(); auto [lhs, rhs] = load_sources(LHS, ARG2, RHS, ARG3); + if (divisor != (Sint)0) { + emit_div_rem_literal(divisor, + LHS, + lhs.reg, + ARG1, + ARG2, + generic, + need_div, + need_rem); + a.b(done); + } + + a.bind(generic); mov_var(ARG2, lhs); mov_var(ARG3, rhs); - if (Fail.get() != 0) { fragment_call(ga->get_int_div_rem_guard_shared()); a.b_eq(resolve_beam_label(Fail, disp1MB)); @@ -746,6 +1009,7 @@ void BeamModuleAssembler::emit_div_rem(const ArgLabel &Fail, fragment_call(ga->get_int_div_rem_body_shared()); } + a.bind(done); if (need_div) { mov_arg(Quotient, ARG1); } @@ -1221,34 +1485,62 @@ void BeamModuleAssembler::emit_i_bsr(const ArgLabel &Fail, if (RHS.isSmall()) { Sint shift = RHS.as().getSigned(); - if (shift >= 0 && shift < SMALL_BITS - 1) { + if (shift >= 0) { + arm::Gp small_tag = TMP1; if (always_small(LHS)) { comment("skipped test for small left operand because it is " "always small"); need_generic = false; + mov_imm(small_tag, _TAG_IMMED1_SMALL); } else if (always_one_of(LHS)) { comment("simplified test for small operand since it is a " "number"); emit_is_not_boxed(generic, lhs.reg); + mov_imm(small_tag, _TAG_IMMED1_SMALL); } else { - a.and_(TMP1, lhs.reg, imm(_TAG_IMMED1_MASK)); - a.cmp(TMP1, imm(_TAG_IMMED1_SMALL)); + a.and_(small_tag, lhs.reg, imm(_TAG_IMMED1_MASK)); + a.cmp(small_tag, imm(_TAG_IMMED1_SMALL)); a.b_ne(generic); } /* We don't need to clear the mask after shifting because * _TAG_IMMED1_SMALL will set all the bits anyway. */ ERTS_CT_ASSERT(_TAG_IMMED1_MASK == _TAG_IMMED1_SMALL); - a.asr(TMP1, lhs.reg, imm(shift)); - a.orr(dst.reg, TMP1, imm(_TAG_IMMED1_SMALL)); + shift = std::min(shift, 63); + a.orr(dst.reg, small_tag, lhs.reg, arm::asr(shift)); if (need_generic) { a.b(next); } } else { - /* Constant shift is negative or too big to fit the `asr` - * instruction; fall back to the generic path. */ + /* Constant shift is negative; fall back to the generic + * path. */ } + } else { + auto rhs = load_source(RHS, ARG3); + + /* Ensure that both operands are small and that the shift + * count is positive. */ + ERTS_CT_ASSERT(_TAG_IMMED1_SMALL == _TAG_IMMED1_MASK); + a.ands(TMP1, rhs.reg, imm((1ull << 63) | _TAG_IMMED1_MASK)); + a.and_(TMP1, lhs.reg, TMP1); + a.ccmp(TMP1, + imm(_TAG_IMMED1_SMALL), + imm(NZCV::kNone), + arm::CondCode::kPL); + a.b_ne(generic); + + /* Calculate shift count. */ + a.asr(TMP1, rhs.reg, imm(_TAG_IMMED1_SIZE)); + mov_imm(TMP2, 63); + a.cmp(TMP1, TMP2); + a.csel(TMP1, TMP1, TMP2, imm(arm::CondCode::kLE)); + + /* Shift right. */ + ERTS_CT_ASSERT(_TAG_IMMED1_MASK == _TAG_IMMED1_SMALL); + a.asr(dst.reg, lhs.reg, TMP1); + a.orr(dst.reg, dst.reg, imm(_TAG_IMMED1_SMALL)); + a.b(next); } a.bind(generic); diff --git a/erts/emulator/beam/jit/arm/instr_bif.cpp b/erts/emulator/beam/jit/arm/instr_bif.cpp index d12ea50cef3e..b210bfada9d3 100644 --- a/erts/emulator/beam/jit/arm/instr_bif.cpp +++ b/erts/emulator/beam/jit/arm/instr_bif.cpp @@ -254,7 +254,7 @@ void BeamGlobalAssembler::emit_i_length_common(Label fail, int state_size) { a.add(ARG2, ARG2, imm(state_size)); a.str(ZERO, arm::Mem(c_p, offsetof(Process, current))); - a.str(ARG2, arm::Mem(c_p, offsetof(Process, arity))); + a.strb(ARG2.w(), arm::Mem(c_p, offsetof(Process, arity))); /* We'll find our way back through the entry address (ARG3). */ a.b(labels[context_switch_simplified]); @@ -360,9 +360,6 @@ static Eterm debug_call_light_bif(Process *c_p, * ARG8 = BIF pointer */ void BeamGlobalAssembler::emit_call_light_bif_shared() { - /* We use the HTOP, FCALLS, and XREG1 registers as they are not - * used on the runtime-stack and are caller save. */ - arm::Mem entry_mem = TMP_MEM1q, export_mem = TMP_MEM2q, mbuf_mem = TMP_MEM3q; @@ -539,7 +536,7 @@ void BeamGlobalAssembler::emit_call_light_bif_shared() { a.ldr(ARG2, mbuf_mem); load_x_reg_array(ARG4); a.ldr(ARG5, export_mem); - a.ldr(ARG5, arm::Mem(ARG5, offsetof(Export, info.mfa.arity))); + a.ldrb(ARG5.w(), arm::Mem(ARG5, offsetof(Export, info.mfa.arity))); runtime_call<5>(erts_gc_after_bif_call_lhf); emit_leave_runtime 0) { - auto max = std::min(std::get<1>(getClampedRange(seg.size)), - Sint((ERL_ONHEAP_BIN_LIMIT + 1) * 8)); - estimated_num_bits += max * seg.unit; + if ((seg.unit % 8) == 0) { + auto max = std::min(std::get<1>(getClampedRange(seg.size)), + Sint((ERL_ONHEAP_BIN_LIMIT + 1) * 8)); + estimated_num_bits += max * seg.unit; + } else { + /* May create a non-binary bitstring in some cases, suppress + * creation of heap binary. */ + estimated_num_bits += (ERL_ONHEAP_BIN_LIMIT + 1) * 8; + } } else { switch (seg.type) { case am_utf8: @@ -3700,7 +3706,7 @@ static std::vector opt_bsm_segments( } break; case BsmSegment::action::GET_BINARY: - heap_need += heap_bin_size((seg.size + 7) / 8); + heap_need += erts_extracted_binary_size(seg.size); break; case BsmSegment::action::GET_TAIL: heap_need += EXTRACT_SUB_BIN_HEAP_NEED; diff --git a/erts/emulator/beam/jit/arm/instr_call.cpp b/erts/emulator/beam/jit/arm/instr_call.cpp index 8f755df54bc4..faf8c59db794 100644 --- a/erts/emulator/beam/jit/arm/instr_call.cpp +++ b/erts/emulator/beam/jit/arm/instr_call.cpp @@ -29,7 +29,7 @@ void BeamGlobalAssembler::emit_dispatch_return() { a.mov(ARG3, a64::x30); a.str(ZERO, arm::Mem(c_p, offsetof(Process, current))); mov_imm(TMP1, 1); - a.str(TMP1, arm::Mem(c_p, offsetof(Process, arity))); + a.strb(TMP1.w(), arm::Mem(c_p, offsetof(Process, arity))); a.b(labels[context_switch_simplified]); } @@ -41,6 +41,11 @@ void BeamModuleAssembler::emit_return() { emit_validate(ArgVal(ArgVal::Word, 1)); #endif + if (erts_alcu_enable_code_atags) { + /* See emit_i_test_yield. */ + a.str(a64::x30, arm::Mem(c_p, offsetof(Process, i))); + } + /* The reduction test is kept in module code because moving it to a shared * fragment caused major performance regressions in dialyzer. */ a.subs(FCALLS, FCALLS, imm(1)); diff --git a/erts/emulator/beam/jit/arm/instr_common.cpp b/erts/emulator/beam/jit/arm/instr_common.cpp index e4e50712ccdd..4c540a4d1e43 100644 --- a/erts/emulator/beam/jit/arm/instr_common.cpp +++ b/erts/emulator/beam/jit/arm/instr_common.cpp @@ -78,8 +78,8 @@ void BeamModuleAssembler::emit_error(int reason) { void BeamModuleAssembler::emit_error(int reason, const ArgSource &Src) { auto src = load_source(Src, TMP2); - ERTS_CT_ASSERT_FIELD_PAIR(Process, freason, fvalue); mov_imm(TMP1, reason); + ERTS_CT_ASSERT_FIELD_PAIR(Process, freason, fvalue); a.stp(TMP1, src.reg, arm::Mem(c_p, offsetof(Process, freason))); emit_raise_exception(); } @@ -240,7 +240,7 @@ void BeamModuleAssembler::emit_normal_exit() { mov_imm(TMP1, EXC_NORMAL); a.str(TMP1, arm::Mem(c_p, offsetof(Process, freason))); - a.str(ZERO, arm::Mem(c_p, offsetof(Process, arity))); + a.strb(ZERO.w(), arm::Mem(c_p, offsetof(Process, arity))); a.mov(ARG1, c_p); mov_imm(ARG2, am_normal); runtime_call<2>(erts_do_exit_process); @@ -414,11 +414,6 @@ void BeamModuleAssembler::emit_get_two_tuple_elements(const ArgSource &Src, flush_vars(dst1, dst2); } -void BeamModuleAssembler::emit_init(const ArgYRegister &Y) { - mov_imm(TMP1, NIL); - a.str(TMP1, getArgRef(Y)); -} - void BeamModuleAssembler::emit_init_yregs(const ArgWord &Size, const Span &args) { unsigned count = Size.get(); @@ -1015,8 +1010,8 @@ void BeamModuleAssembler::emit_is_function(const ArgLabel &Fail, comment("skipped header test since we know it's a fun when boxed"); } else { arm::Gp boxed_ptr = emit_ptr_val(TMP1, src.reg); - a.ldur(TMP1, emit_boxed_val(boxed_ptr)); - a.cmp(TMP1, imm(HEADER_FUN)); + a.ldurb(TMP1.w(), emit_boxed_val(boxed_ptr)); + a.cmp(TMP1, imm(FUN_SUBTAG)); a.b_ne(resolve_beam_label(Fail, disp1MB)); } } @@ -1058,16 +1053,9 @@ void BeamModuleAssembler::emit_is_function2(const ArgLabel &Fail, arm::Gp boxed_ptr = emit_ptr_val(TMP1, src.reg); - if (masked_types(Src) == BeamTypeId::Fun) { - comment("skipped header test since we know it's a fun when boxed"); - } else { - a.ldur(TMP2, emit_boxed_val(boxed_ptr)); - a.cmp(TMP2, imm(HEADER_FUN)); - a.b_ne(resolve_beam_label(Fail, disp1MB)); - } - - a.ldurb(TMP2.w(), emit_boxed_val(boxed_ptr, offsetof(ErlFunThing, arity))); - emit_branch_if_ne(TMP2, arity, resolve_beam_label(Fail, dispUnknown)); + a.ldurh(TMP2.w(), emit_boxed_val(boxed_ptr)); + cmp(TMP2, MAKE_FUN_HEADER(arity, 0, 0) & 0xFFFF); + a.b_ne(resolve_beam_label(Fail, disp1MB)); } void BeamModuleAssembler::emit_is_integer(const ArgLabel &Fail, @@ -1416,8 +1404,12 @@ void BeamModuleAssembler::emit_is_eq_exact(const ArgLabel &Fail, bool is_empty_binary = false; if (exact_type(X) && Y.isLiteral()) { - Eterm literal = beamfile_get_literal(beam, Y.as().get()); - is_empty_binary = is_binary(literal) && binary_size(literal) == 0; + auto unit = getSizeUnit(X); + if (unit != 0 && std::gcd(unit, 8) == 8) { + Eterm literal = + beamfile_get_literal(beam, Y.as().get()); + is_empty_binary = is_binary(literal) && binary_size(literal) == 0; + } } if (is_empty_binary) { @@ -2387,8 +2379,8 @@ void BeamModuleAssembler::emit_try_end(const ArgYRegister &CatchTag) { a.ldr(TMP1, arm::Mem(c_p, offsetof(Process, catches))); a.sub(TMP1, TMP1, imm(1)); a.str(TMP1, arm::Mem(c_p, offsetof(Process, catches))); - - emit_init(CatchTag); + mov_imm(TMP1, NIL); + a.str(TMP1, getArgRef(CatchTag)); } void BeamModuleAssembler::emit_try_case(const ArgYRegister &CatchTag) { @@ -2481,7 +2473,8 @@ void BeamModuleAssembler::emit_raw_raise() { } #define TEST_YIELD_RETURN_OFFSET \ - (BEAM_ASM_FUNC_PROLOGUE_SIZE + sizeof(Uint32[3])) + (BEAM_ASM_FUNC_PROLOGUE_SIZE + sizeof(Uint32[3]) + \ + (erts_alcu_enable_code_atags ? sizeof(Uint32) : 0)) /* ARG3 = current_label */ void BeamGlobalAssembler::emit_i_test_yield_shared() { @@ -2489,8 +2482,8 @@ void BeamGlobalAssembler::emit_i_test_yield_shared() { a.add(ARG3, ARG3, imm(TEST_YIELD_RETURN_OFFSET)); a.str(ARG2, arm::Mem(c_p, offsetof(Process, current))); - a.ldr(ARG2, arm::Mem(ARG2, offsetof(ErtsCodeMFA, arity))); - a.str(ARG2, arm::Mem(c_p, offsetof(Process, arity))); + a.ldr(ARG2.w(), arm::Mem(ARG2, offsetof(ErtsCodeMFA, arity))); + a.strb(ARG2.w(), arm::Mem(c_p, offsetof(Process, arity))); a.b(labels[context_switch_simplified]); } @@ -2502,6 +2495,16 @@ void BeamModuleAssembler::emit_i_test_yield() { BEAM_ASM_FUNC_PROLOGUE_SIZE); a.adr(ARG3, current_label); + + if (erts_alcu_enable_code_atags) { + /* The point-of-origin allocation tags are vastly improved when the + * instruction pointer is updated frequently. This has a relatively low + * impact on performance but there's little point in doing this unless + * the user has requested it -- it's an undocumented feature for + * now. */ + a.str(ARG3, arm::Mem(c_p, offsetof(Process, i))); + } + a.subs(FCALLS, FCALLS, imm(1)); a.b_le(resolve_fragment(ga->get_i_test_yield_shared(), disp1MB)); diff --git a/erts/emulator/beam/jit/arm/instr_fun.cpp b/erts/emulator/beam/jit/arm/instr_fun.cpp index f2e0792f26d0..fd6bce467c0d 100644 --- a/erts/emulator/beam/jit/arm/instr_fun.cpp +++ b/erts/emulator/beam/jit/arm/instr_fun.cpp @@ -25,7 +25,7 @@ * Keep in mind that this runs in the limbo between caller and callee. It must * not clobber LR (x30). * - * ARG3 = arity + * ARG3 = lower 16 bits of expected header, containing FUN_SUBTAG and arity * ARG4 = fun thing * ARG5 = address of the call_fun instruction that got us here. Note that we * can't use LR (x30) for this because tail calls point elsewhere. */ @@ -40,7 +40,8 @@ void BeamGlobalAssembler::emit_unloaded_fun() { a.mov(ARG1, c_p); load_x_reg_array(ARG2); - /* ARG3 and ARG4 have already been set. */ + a.lsr(ARG3, ARG3, imm(FUN_HEADER_ARITY_OFFS)); + /* ARG4 has already been set. */ runtime_call<4>(beam_jit_handle_unloaded_fun); emit_leave_runtime(beam_jit_build_argument_list); emit_leave_runtime(); @@ -126,8 +127,8 @@ void BeamGlobalAssembler::emit_handle_call_fun_error() { } a.mov(TMP1, imm(EXC_BADARITY)); - a.str(TMP1, arm::Mem(c_p, offsetof(Process, freason))); - a.str(ARG1, arm::Mem(c_p, offsetof(Process, fvalue))); + ERTS_CT_ASSERT_FIELD_PAIR(Process, freason, fvalue); + a.stp(TMP1, ARG1, arm::Mem(c_p, offsetof(Process, freason))); a.ldr(ARG2, TMP_MEM2q); mov_imm(ARG4, nullptr); @@ -206,7 +207,7 @@ void BeamModuleAssembler::emit_i_make_fun3(const ArgLambda &Lambda, const ssize_t num_free = NumFree.get(); ssize_t i; - ASSERT(num_free == env.size()); + ASSERT(num_free == (ssize_t)env.size()); a.mov(ARG1, c_p); mov_arg(ARG2, Lambda); @@ -312,6 +313,11 @@ void BeamGlobalAssembler::emit_apply_fun_shared() { a.bind(finished); { + /* Make the lower 16 bits of ARG3 equal those of the header word of all + * funs with the same arity. */ + a.lsl(ARG3, ARG3, imm(FUN_HEADER_ARITY_OFFS)); + a.add(ARG3, ARG3, imm(FUN_SUBTAG)); + emit_leave_runtime(); a.ret(a64::x30); } @@ -334,67 +340,56 @@ void BeamModuleAssembler::emit_i_apply_fun_only() { } /* Assumes that: - * ARG3 = arity + * ARG3 = lower 16 bits of expected header, containing FUN_SUBTAG and arity * ARG4 = fun thing */ arm::Gp BeamModuleAssembler::emit_call_fun(bool skip_box_test, - bool skip_fun_test, - bool skip_arity_test) { - const bool never_fails = skip_box_test && skip_fun_test && skip_arity_test; + bool skip_header_test) { + const bool can_fail = !(skip_box_test && skip_header_test); Label next = a.newLabel(); /* Speculatively untag the ErlFunThing. */ emit_untag_ptr(TMP2, ARG4); - if (!never_fails) { - /* Load the error fragment into TMP3 so we can CSEL ourselves there on + if (can_fail) { + /* Load the error fragment into TMP1 so that we'll land there on any * error. */ - a.adr(TMP3, resolve_fragment(ga->get_handle_call_fun_error(), disp1MB)); + a.adr(TMP1, resolve_fragment(ga->get_handle_call_fun_error(), disp1MB)); } /* The `handle_call_fun_error` and `unloaded_fun` fragments expect current - * PC in ARG5. */ + * PC in ARG5. Note that the latter requires that we do this even if we + * know the call never fails. */ a.adr(ARG5, next); - if (!skip_box_test) { + if (skip_box_test) { + comment("skipped box test since source is always boxed"); + } else { /* As emit_is_boxed(), but explicitly sets ZF so we can rely on that * for error checking in `next`. */ a.tst(ARG4, imm(_TAG_PRIMARY_MASK - TAG_PRIMARY_BOXED)); a.b_ne(next); - } else { - comment("skipped box test since source is always boxed"); } - if (!skip_fun_test) { + if (skip_header_test) { + comment("skipped fun/arity test since source is always a fun of the " + "right arity when boxed"); + a.ldr(ARG1, arm::Mem(TMP2, offsetof(ErlFunThing, entry))); + } else { /* Load header word and `ErlFunThing->entry`. We can safely do this * before testing the header because boxed terms are guaranteed to be * at least two words long. */ ERTS_CT_ASSERT_FIELD_PAIR(ErlFunThing, thing_word, entry); - a.ldp(TMP1, ARG1, arm::Mem(TMP2)); + a.ldp(TMP2, ARG1, arm::Mem(TMP2)); - a.cmp(TMP1, imm(HEADER_FUN)); + /* Combined fun type and arity test. */ + a.cmp(ARG3, TMP2, arm::uxth(0)); a.b_ne(next); - } else { - comment("skipped fun test since source is always a fun when boxed"); - a.ldr(ARG1, arm::Mem(TMP2, offsetof(ErlFunThing, entry))); - } - - if (!skip_arity_test) { - a.ldrb(TMP2.w(), arm::Mem(TMP2, offsetof(ErlFunThing, arity))); - a.cmp(TMP2, ARG3); - } else { - comment("skipped arity test since source always has right arity"); } a.ldr(TMP1, emit_setup_dispatchable_call(ARG1)); - /* Assumes that ZF is set on success and clear on error, overwriting our - * destination with the error fragment's address. */ a.bind(next); - if (!never_fails) { - a.csel(TMP1, TMP1, TMP3, imm(arm::CondCode::kEQ)); - } - return TMP1; } @@ -404,12 +399,15 @@ void BeamModuleAssembler::emit_i_call_fun2(const ArgVal &Tag, mov_arg(ARG4, Func); if (Tag.isAtom()) { - mov_imm(ARG3, Arity.get()); + /* Make the lower 16 bits of ARG3 equal those of the header word of all + * funs with the same arity. */ + mov_imm(ARG3, MAKE_FUN_HEADER(Arity.get(), 0, 0) & 0xFFFF); - auto target = emit_call_fun( - always_one_of(Func), - masked_types(Func) == BeamTypeId::Fun, - Tag.as().get() == am_safe); + ASSERT(Tag.as().get() != am_safe || + exact_type(Func)); + auto target = + emit_call_fun(always_one_of(Func), + Tag.as().get() == am_safe); erlang_call(target); } else { @@ -425,12 +423,15 @@ void BeamModuleAssembler::emit_i_call_fun2_last(const ArgVal &Tag, mov_arg(ARG4, Func); if (Tag.isAtom()) { - mov_imm(ARG3, Arity.get()); - - auto target = emit_call_fun( - always_one_of(Func), - masked_types(Func) == BeamTypeId::Fun, - Tag.as().get() == am_safe); + /* Make the lower 16 bits of ARG3 equal those of the header word of all + * funs with the same arity. */ + mov_imm(ARG3, MAKE_FUN_HEADER(Arity.get(), 0, 0) & 0xFFFF); + + ASSERT(Tag.as().get() != am_safe || + exact_type(Func)); + auto target = + emit_call_fun(always_one_of(Func), + Tag.as().get() == am_safe); emit_deallocate(Deallocate); emit_leave_erlang_frame(); diff --git a/erts/emulator/beam/jit/arm/instr_guard_bifs.cpp b/erts/emulator/beam/jit/arm/instr_guard_bifs.cpp index c24ca4831f08..3077c8df84b2 100644 --- a/erts/emulator/beam/jit/arm/instr_guard_bifs.cpp +++ b/erts/emulator/beam/jit/arm/instr_guard_bifs.cpp @@ -833,8 +833,8 @@ void BeamModuleAssembler::emit_bif_is_map_key(const ArgWord &Bif, void BeamGlobalAssembler::emit_handle_map_get_badmap() { static ErtsCodeMFA mfa = {am_erlang, am_map_get, 2}; mov_imm(TMP1, BADMAP); - a.str(TMP1, arm::Mem(c_p, offsetof(Process, freason))); - a.str(ARG1, arm::Mem(c_p, offsetof(Process, fvalue))); + ERTS_CT_ASSERT_FIELD_PAIR(Process, freason, fvalue); + a.stp(TMP1, ARG1, arm::Mem(c_p, offsetof(Process, freason))); a.mov(XREG0, ARG2); a.mov(XREG1, ARG1); mov_imm(ARG4, &mfa); @@ -844,8 +844,8 @@ void BeamGlobalAssembler::emit_handle_map_get_badmap() { void BeamGlobalAssembler::emit_handle_map_get_badkey() { static ErtsCodeMFA mfa = {am_erlang, am_map_get, 2}; mov_imm(TMP1, BADKEY); - a.str(TMP1, arm::Mem(c_p, offsetof(Process, freason))); - a.str(ARG2, arm::Mem(c_p, offsetof(Process, fvalue))); + ERTS_CT_ASSERT_FIELD_PAIR(Process, freason, fvalue); + a.stp(TMP1, ARG2, arm::Mem(c_p, offsetof(Process, freason))); a.mov(XREG0, ARG2); a.mov(XREG1, ARG1); mov_imm(ARG4, &mfa); @@ -939,8 +939,8 @@ void BeamModuleAssembler::emit_bif_map_get(const ArgLabel &Fail, void BeamGlobalAssembler::emit_handle_map_size_error() { static ErtsCodeMFA mfa = {am_erlang, am_map_size, 1}; mov_imm(TMP1, BADMAP); - a.str(TMP1, arm::Mem(c_p, offsetof(Process, freason))); - a.str(XREG0, arm::Mem(c_p, offsetof(Process, fvalue))); + ERTS_CT_ASSERT_FIELD_PAIR(Process, freason, fvalue); + a.stp(TMP1, XREG0, arm::Mem(c_p, offsetof(Process, freason))); mov_imm(ARG4, &mfa); a.b(labels[raise_exception]); } diff --git a/erts/emulator/beam/jit/arm/instr_map.cpp b/erts/emulator/beam/jit/arm/instr_map.cpp index 8d7ad6f45f8d..daecdb80ef62 100644 --- a/erts/emulator/beam/jit/arm/instr_map.cpp +++ b/erts/emulator/beam/jit/arm/instr_map.cpp @@ -29,58 +29,32 @@ extern "C" #include "beam_common.h" } -static const Uint32 INTERNAL_HASH_SALT = 3432918353; -static const Uint32 HCONST = 0x9E3779B9; - -/* ARG6 = lower 32 - * ARG7 = upper 32 - * - * Helper function for calculating the internal hash of keys before looking - * them up in a map. +/* ARG2 = term * - * This is essentially just a manual expansion of the `UINT32_HASH_2` macro. - * Whenever the internal hash algorithm is updated, this and all of its users - * must follow suit. + * Helper for calculating the internal hash of keys before looking them up in a + * map. This is a manual expansion of `erts_internal_hash`, and all changes to + * that function must be mirrored here. * - * Result is returned in ARG3. All arguments are clobbered. */ + * Result in ARG3. Clobbers TMP1. */ void BeamGlobalAssembler::emit_internal_hash_helper() { - a64::Gp hash = ARG3.w(), lower = ARG6.w(), upper = ARG7.w(), - constant = ARG8.w(); - - mov_imm(hash, INTERNAL_HASH_SALT); - mov_imm(constant, HCONST); - - a.add(lower, lower, constant); - a.add(upper, upper, constant); - -#if defined(ERL_INTERNAL_HASH_CRC32C) - a.crc32cw(lower, hash, lower); - a.add(hash, hash, lower); - a.crc32cw(hash, hash, upper); -#else - using rounds = - std::initializer_list>; - for (const auto &round : rounds{{lower, upper, hash, 13}, - {upper, hash, lower, -8}, - {hash, lower, upper, 13}, - {lower, upper, hash, 12}, - {upper, hash, lower, -16}, - {hash, lower, upper, 5}, - {lower, upper, hash, 3}, - {upper, hash, lower, -10}, - {hash, lower, upper, 15}}) { - const auto &[r_a, r_b, r_c, shift] = round; - - a.sub(r_a, r_a, r_b); - a.sub(r_a, r_a, r_c); - - if (shift > 0) { - a.eor(r_a, r_a, r_c, arm::lsr(shift)); - } else { - a.eor(r_a, r_a, r_c, arm::lsl(-shift)); - } - } -#endif + a64::Gp key = ARG2, key_hash = ARG3; + + /* key_hash = key ^ (key >> 33); */ + a.eor(key_hash, key, key, arm::lsr(33)); + + /* key_hash *= 0xFF51AFD7ED558CCDull */ + mov_imm(TMP1, 0xFF51AFD7ED558CCDull); + a.mul(key_hash, key_hash, TMP1); + + /* key_hash ^= key_hash >> 33; */ + a.eor(key_hash, key_hash, key_hash, arm::lsr(33)); + + /* key_hash *= 0xC4CEB9FE1A85EC53ull */ + mov_imm(TMP1, 0xC4CEB9FE1A85EC53ull); + a.mul(key_hash, key_hash, TMP1); + + /* key_hash ^= key_hash >> 33; */ + a.eor(key_hash, key_hash, key_hash, arm::lsr(33)); #ifdef DBG_HASHMAP_COLLISION_BONANZA emit_enter_runtime_frame(); @@ -99,8 +73,6 @@ void BeamGlobalAssembler::emit_internal_hash_helper() { emit_leave_runtime(); emit_leave_runtime_frame(); #endif - - a.ret(a64::x30); } /* ARG1 = untagged hash map root @@ -171,7 +143,7 @@ void BeamGlobalAssembler::emit_hashmap_get_element() { * word. */ a.ldr(header_val, arm::Mem(node).post(sizeof(Eterm))); - /* After 8 nodes we've run out of the 32 bits we started with + /* After 8/16 nodes we've run out of the hash bits we've started with * and we end up in a collision node. */ a.cmp(depth, imm(HAMT_MAX_LEVEL)); a.b_ne(node_loop); @@ -375,15 +347,9 @@ void BeamGlobalAssembler::emit_i_get_map_element_shared() { a.bind(hashmap); { - emit_enter_runtime_frame(); - - /* Calculate the internal hash of ARG2 before diving into the HAMT. */ - a.mov(ARG6.w(), ARG2.w()); - a.lsr(ARG7, ARG2, imm(32)); - a.bl(labels[internal_hash_helper]); - - emit_leave_runtime_frame(); - + /* Calculate the internal hash of the key before diving into the + * HAMT. */ + emit_internal_hash_helper(); emit_hashmap_get_element(); } } @@ -527,7 +493,6 @@ void BeamGlobalAssembler::emit_i_get_map_element_hash_shared() { a.and_(TMP1, ARG4, imm(_HEADER_MAP_SUBTAG_MASK)); a.cmp(TMP1, imm(HAMT_SUBTAG_HEAD_FLATMAP)); a.b_ne(hashmap); - emit_flatmap_get_element(); a.bind(hashmap); diff --git a/erts/emulator/beam/jit/arm/instr_msg.cpp b/erts/emulator/beam/jit/arm/instr_msg.cpp index dd99af59c2c4..b927aca68699 100644 --- a/erts/emulator/beam/jit/arm/instr_msg.cpp +++ b/erts/emulator/beam/jit/arm/instr_msg.cpp @@ -30,50 +30,6 @@ extern "C" #endif } -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - -static void recv_mark(Process *p) { - /* inlined here... */ - erts_msgq_recv_marker_insert_bind(p, erts_old_recv_marker_id); -} - -static void recv_mark_set(Process *p) { - /* inlined here... */ - erts_msgq_recv_marker_set_save(p, erts_old_recv_marker_id); -} - -void BeamModuleAssembler::emit_i_recv_mark() { - /* - * OLD INSTRUCTION: This instruction is to be removed - * in OTP 26. - * - * Save the current end of message queue - */ - emit_enter_runtime(); - - a.mov(ARG1, c_p); - runtime_call<1>(recv_mark); - - emit_leave_runtime(); -} - -void BeamModuleAssembler::emit_i_recv_set() { - /* - * OLD INSTRUCTION: This instruction is to be removed - * in OTP 26. - * - * If previously saved recv mark, set save pointer to it - */ - emit_enter_runtime(); - - a.mov(ARG1, c_p); - runtime_call<1>(recv_mark_set); - - emit_leave_runtime(); -} - -#endif /* ERTS_SUPPORT_OLD_RECV_MARK_INSTRS */ - void BeamModuleAssembler::emit_recv_marker_reserve(const ArgRegister &Dst) { emit_enter_runtime(); @@ -180,7 +136,7 @@ void BeamGlobalAssembler::emit_i_loop_rec_shared() { a.str(ZERO, message_ptr); a.mov(ARG1, c_p); - a.mov(ARG2, FCALLS); + a.mov(ARG2.w(), FCALLS); mov_imm(ARG3, 0); lea(ARG4, message_ptr); lea(ARG5, get_out); @@ -198,7 +154,7 @@ void BeamGlobalAssembler::emit_i_loop_rec_shared() { * index. */ emit_leave_runtime(0); - a.sub(FCALLS, FCALLS, ARG1); + a.sub(FCALLS, FCALLS, ARG1.w()); /* Need to spill message_ptr to ARG1 as check_is_distributed uses it. */ a.ldr(ARG1, message_ptr); @@ -227,7 +183,7 @@ void BeamGlobalAssembler::emit_i_loop_rec_shared() { a.ldr(TMP1.w(), flags); a.and_(TMP1, TMP1, imm(~F_DELAY_GC)); a.str(TMP1.w(), flags); - a.str(ZERO, arm::Mem(c_p, offsetof(Process, arity))); + a.strb(ZERO.w(), arm::Mem(c_p, offsetof(Process, arity))); a.str(ZERO, arm::Mem(c_p, offsetof(Process, current))); a.b(labels[do_schedule]); @@ -282,10 +238,10 @@ void BeamModuleAssembler::emit_remove_message() { emit_enter_runtime(); a.mov(ARG1, c_p); - a.mov(ARG2, FCALLS); + a.mov(ARG2.w(), FCALLS); a.mov(ARG5, active_code_ix); runtime_call<5>(beam_jit_remove_message); - a.mov(FCALLS, ARG1); + a.mov(FCALLS, ARG1.w()); emit_leave_runtime(); } diff --git a/erts/emulator/beam/jit/arm/ops.tab b/erts/emulator/beam/jit/arm/ops.tab index 6d27a18c2db4..b0c79d3e2c25 100644 --- a/erts/emulator/beam/jit/arm/ops.tab +++ b/erts/emulator/beam/jit/arm/ops.tab @@ -32,32 +32,7 @@ FORBIDDEN_TYPES=hQ # instruction transformations; thus, they never occur in BEAM files. # -# The too_old_compiler/0 instruction is specially handled in beam_load.c -# to produce a user-friendly message informing the user that the module -# needs to be re-compiled with a modern compiler. - -too_old_compiler/0 -too_old_compiler | never() => _ - -# In R9C and earlier, the loader used to insert special instructions inside -# the module_info/0,1 functions. (In R10B and later, the compiler inserts -# an explicit call to an undocumented BIF, so that no loader trickery is -# necessary.) Since the instructions don't work correctly in R12B, simply -# refuse to load the module. - -func_info M=a a==am_module_info A=u==0 | label L | move n x==0 => too_old_compiler -func_info M=a a==am_module_info A=u==1 | label L | move n x==0 => too_old_compiler - -# The undocumented and unsupported guard BIF is_constant/1 was removed -# in R13. The is_constant/2 operation is marked as obsolete in genop.tab, -# so the loader will automatically generate a too_old_compiler message -# it is used, but we need to handle the is_constant/1 BIF specially here. - -bif1 Fail u$func:erlang:is_constant/1 Src Dst => too_old_compiler - -# -# All the other instructions. -# +func_info a a u | never() => _ %cold # An unaligned label. The address of an unaligned label must never be saved @@ -116,16 +91,10 @@ allocate_heap t I t deallocate t -init y - trim t t test_heap I t -# Translate instructions generated by a compiler before OTP 24. -allocate_zero Ns Live => allocate_heap_zero Ns u Live -allocate_heap_zero Ns Nh Live => allocate_heap_zero(Ns, Nh, Live) - init_yregs I * # Selecting values. @@ -786,7 +755,7 @@ nofail_bif2 S1=d S2 Bif Dst | is_ne_exact_bif(Bif) => bif_is_ne_exact S1 S2 Dst nofail_bif2 S1 S2 Bif Dst | is_ge_bif(Bif) => bif_is_ge S1 S2 Dst nofail_bif2 S1 S2 Bif Dst | is_lt_bif(Bif) => bif_is_lt S1 S2 Dst -i_get_hash c I d +i_get_hash c W d i_get s d self d @@ -845,11 +814,8 @@ i_call_fun2_last aF t S t # # A fun with an empty environment can be converted to a literal. -# As a further optimization, the we try to move the fun to its -# final destination directly. +# -make_fun2 OldIndex=u => - make_fun2(OldIndex) make_fun3 OldIndex=u Dst=d NumFree=u Env=* => make_fun3(OldIndex, Dst, NumFree, Env) @@ -888,7 +854,7 @@ int_func_start Func_Label Func_Line M F A | func_line Func_Line | aligned_label Func_Label u=8 | i_func_info Func_Label M F A | - aligned_label Entry_Label u=8 | + aligned_label Entry_Label u=4 | i_breakpoint_trampoline | line Entry_Line | call_bif_mfa M F A @@ -899,7 +865,7 @@ int_func_start Func_Label Func_Line M F A | func_line Func_Line | aligned_label Func_Label u=8 | i_func_info Func_Label M F A | - aligned_label Entry_Label u=8 | + aligned_label Entry_Label u=4 | i_breakpoint_trampoline | line Entry_Line | i_test_yield @@ -1217,9 +1183,6 @@ i_fmul l l l i_fdiv l l l i_fnegate l l -fclearerror => _ -fcheckerror p => _ - %hot # @@ -1283,7 +1246,7 @@ i_get_map_elements f s I * i_get_map_element_hash Fail Src=c Key Hash Dst => move Src x | i_get_map_element_hash Fail x Key Hash Dst -i_get_map_element_hash f S c I S +i_get_map_element_hash f S c W S i_get_map_element Fail Src=c Key Dst => move Src x | i_get_map_element Fail x Key Dst @@ -1293,6 +1256,23 @@ i_get_map_element f S S S # Arithmetic instructions. # +gc_bif2 Fail1 Live1 u$bif:erlang:stimes/2 S1 S2 Dst1 | + gc_bif2 Fail2 Live2 u$bif:erlang:splus/2 S3 S4 Dst2 | + equal(Dst1, S3) | + equal(Dst1, Dst2) | + equal(Fail1, Fail2) => + i_mul_add Fail1 S1 S2 S3 S4 Dst1 + +gc_bif2 Fail1 Live1 u$bif:erlang:stimes/2 S1 S2 Dst1 | + gc_bif2 Fail2 Live2 u$bif:erlang:splus/2 S3 S4 Dst2 | + equal(Dst1, S4) | + equal(Dst1, Dst2) | + equal(Fail1, Fail2) => + i_mul_add Fail1 S1 S2 S4 S3 Dst1 + +gc_bif2 Fail Live u$bif:erlang:stimes/2 S1 S2 Dst => + i_mul_add Fail S1 S2 Dst i Dst + gc_bif2 Fail Live u$bif:erlang:splus/2 Src1 Src2 Dst => i_plus Fail Live Src1 Src2 Dst @@ -1302,9 +1282,6 @@ gc_bif1 Fail Live u$bif:erlang:sminus/1 Src Dst => gc_bif2 Fail Live u$bif:erlang:sminus/2 Src1 Src2 Dst => i_minus Fail Live Src1 Src2 Dst -gc_bif2 Fail Live u$bif:erlang:stimes/2 S1 S2 Dst => - i_times Fail Live S1 S2 Dst - gc_bif2 Fail Live u$bif:erlang:div/2 S1 S2 Dst => i_m_div Fail Live S1 S2 Dst @@ -1369,10 +1346,11 @@ gc_bif2 Fail Live u$bif:erlang:bsr/2 S1 S2 Dst => gc_bif2 Fail Live u$bif:erlang:bsl/2 S1 S2 Dst => i_bsl Fail Live S1 S2 Dst +i_mul_add j s s s s d + i_plus j I s s d i_unary_minus j I s d i_minus j I s s d -i_times j I s s d i_m_div j I s s d @@ -1390,16 +1368,6 @@ i_bnot j I s d i_bsr j I s s d i_bsl j I s s d -# -# Old guard BIFs that creates heap fragments are no longer allowed. -# -bif1 Fail u$bif:erlang:length/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:size/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:abs/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:float/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:round/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:trunc/1 s d => too_old_compiler - # # Handle the length/1 guard BIF specially to make it trappable. # @@ -1437,19 +1405,6 @@ unsupported_guard_bif A B C | never() => _ # on_load -# -# R14A. -# -# Superseded in OTP 24 by 'recv_marker_reserve' and friends. -# - -recv_mark f => i_recv_mark -i_recv_mark - -recv_set Fail | label Lbl | loop_rec Lf Reg => - i_recv_set | label Lbl | loop_rec Lf Reg -i_recv_set - # # OTP 21. # @@ -1457,15 +1412,6 @@ i_recv_set build_stacktrace raw_raise -# -# Specialized move instructions. Since they don't require a second -# instruction, we have intentionally placed them after any other -# transformation rules that starts with a move instruction in order to -# produce better code for the transformation engine. -# - -move n D=y => init D - # # OTP 24 # diff --git a/erts/emulator/beam/jit/arm/process_main.cpp b/erts/emulator/beam/jit/arm/process_main.cpp index 8b7ddfa17dee..f8a081df11ca 100644 --- a/erts/emulator/beam/jit/arm/process_main.cpp +++ b/erts/emulator/beam/jit/arm/process_main.cpp @@ -28,6 +28,8 @@ extern "C" #include "export.h" } +#undef x + #if defined(DEBUG) || defined(ERTS_ENABLE_LOCK_CHECK) static Process *erts_debug_schedule(ErtsSchedulerData *esdp, Process *c_p, @@ -70,9 +72,6 @@ void BeamGlobalAssembler::emit_process_main() { a.mov(scheduler_registers, a64::sp); - load_erl_bits_state(ARG1); - runtime_call<1>(erts_bits_init_state); - /* Save the initial SP of the thread so that we can verify that it * doesn't grow. */ #ifdef JIT_HARD_DEBUG @@ -93,7 +92,7 @@ void BeamGlobalAssembler::emit_process_main() { { /* Figure out reds_used. def_arg_reg[5] = REDS_IN */ a.ldr(TMP1, arm::Mem(c_p, offsetof(Process, def_arg_reg[5]))); - a.sub(ARG3, TMP1, FCALLS); + a.sub(ARG3.w(), TMP1.w(), FCALLS); a.b(schedule_next); } @@ -106,10 +105,10 @@ void BeamGlobalAssembler::emit_process_main() { { Sint arity_offset = offsetof(ErtsCodeMFA, arity) - sizeof(ErtsCodeMFA); - a.ldur(TMP1, arm::Mem(ARG3, arity_offset)); - a.str(TMP1, arm::Mem(c_p, offsetof(Process, arity))); + a.ldur(TMP1.w(), arm::Mem(ARG3, arity_offset)); + a.strb(TMP1.w(), arm::Mem(c_p, offsetof(Process, arity))); - a.sub(TMP1, ARG3, imm((Uint)sizeof(ErtsCodeMFA))); + a.sub(TMP1, ARG3, imm(sizeof(ErtsCodeMFA))); a.str(TMP1, arm::Mem(c_p, offsetof(Process, current))); /* !! Fall through !! */ @@ -139,7 +138,7 @@ void BeamGlobalAssembler::emit_process_main() { a.adr(TMP1, labels[process_exit]); a.str(TMP1, arm::Mem(c_p, offsetof(Process, i))); - a.str(ZERO, arm::Mem(c_p, offsetof(Process, arity))); + a.strb(ZERO.w(), arm::Mem(c_p, offsetof(Process, arity))); a.str(ZERO, arm::Mem(c_p, offsetof(Process, current))); a.b(do_schedule_local); } @@ -147,8 +146,8 @@ void BeamGlobalAssembler::emit_process_main() { a.bind(not_exiting); /* Figure out reds_used. def_arg_reg[5] = REDS_IN */ - a.ldr(TMP1, arm::Mem(c_p, offsetof(Process, def_arg_reg[5]))); - a.sub(FCALLS, TMP1, FCALLS); + a.ldr(TMP1.w(), arm::Mem(c_p, offsetof(Process, def_arg_reg[5]))); + a.sub(FCALLS, TMP1.w(), FCALLS); comment("Copy out X registers"); a.mov(ARG1, c_p); @@ -156,7 +155,7 @@ void BeamGlobalAssembler::emit_process_main() { runtime_call<2>(copy_out_registers); /* Restore reds_used from FCALLS */ - a.mov(ARG3, FCALLS); + a.mov(ARG3.w(), FCALLS); /* !! Fall through !! */ } @@ -223,10 +222,10 @@ void BeamGlobalAssembler::emit_process_main() { /* Setup reduction counting */ a.ldr(FCALLS, arm::Mem(c_p, offsetof(Process, fcalls))); - a.str(FCALLS, arm::Mem(c_p, offsetof(Process, def_arg_reg[5]))); + a.str(FCALLS.x(), arm::Mem(c_p, offsetof(Process, def_arg_reg[5]))); #ifdef DEBUG - a.str(FCALLS, a64::Mem(c_p, offsetof(Process, debug_reds_in))); + a.str(FCALLS.x(), a64::Mem(c_p, offsetof(Process, debug_reds_in))); #endif comment("check whether save calls is on"); diff --git a/erts/emulator/beam/jit/asm_load.c b/erts/emulator/beam/jit/asm_load.c index 023f08405162..93a5971a21ee 100644 --- a/erts/emulator/beam/jit/asm_load.c +++ b/erts/emulator/beam/jit/asm_load.c @@ -997,15 +997,14 @@ void beam_load_finalize_code(LoaderState *stp, literal = beamfile_get_literal(&stp->beam, stp->lambda_literals[i]); funp = (ErlFunThing *)fun_val(literal); - ASSERT(funp->creator == am_external); funp->entry.fun = fun_entry; funp->next = literal_area->off_heap; literal_area->off_heap = (struct erl_off_heap_header *)funp; - ASSERT(erts_init_process_id != ERTS_INVALID_PID); - funp->creator = erts_init_process_id; + ASSERT(funp->thing_word & (1 << FUN_HEADER_EXTERNAL_OFFS)); + funp->thing_word &= ~(1 << FUN_HEADER_EXTERNAL_OFFS); erts_refc_inc(&fun_entry->refc, 2); } diff --git a/erts/emulator/beam/jit/beam_jit_common.cpp b/erts/emulator/beam/jit/beam_jit_common.cpp index 3200f75407c2..8e78e2cf1656 100644 --- a/erts/emulator/beam/jit/beam_jit_common.cpp +++ b/erts/emulator/beam/jit/beam_jit_common.cpp @@ -744,8 +744,8 @@ Uint beam_jit_get_map_elements(Eterm map, ASSERT(is_hashmap(map)); while (n--) { + erts_ihash_t hx; const Eterm *v; - Uint32 hx; hx = fs[2]; ASSERT(hx == hashmap_make_hash(fs[0])); @@ -1087,6 +1087,24 @@ Sint beam_jit_bs_bit_size(Eterm term) { return (Sint)-1; } +Eterm beam_jit_int128_to_big(Process *p, Uint sign, Uint low, Uint high) { + Eterm *hp; + Uint arity; + + arity = high ? 2 : 1; + hp = HeapFragOnlyAlloc(p, BIG_NEED_SIZE(arity)); + if (sign) { + hp[0] = make_neg_bignum_header(arity); + } else { + hp[0] = make_pos_bignum_header(arity); + } + BIG_DIGIT(hp, 0) = low; + if (arity == 2) { + BIG_DIGIT(hp, 1) = high; + } + return make_big(hp); +} + ErtsMessage *beam_jit_decode_dist(Process *c_p, ErtsMessage *msgp) { if (!erts_proc_sig_decode_dist(c_p, ERTS_PROC_LOCK_MAIN, msgp, 0)) { /* @@ -1106,11 +1124,11 @@ ErtsMessage *beam_jit_decode_dist(Process *c_p, ErtsMessage *msgp) { } /* Remove a (matched) message from the message queue. */ -Sint beam_jit_remove_message(Process *c_p, - Sint FCALLS, - Eterm *HTOP, - Eterm *E, - Uint32 active_code_ix) { +Sint32 beam_jit_remove_message(Process *c_p, + Sint32 FCALLS, + Eterm *HTOP, + Eterm *E, + Uint32 active_code_ix) { ErtsMessage *msgp; ERTS_CHK_MBUF_SZ(c_p); diff --git a/erts/emulator/beam/jit/beam_jit_common.hpp b/erts/emulator/beam/jit/beam_jit_common.hpp index c7b9f0ade02a..adc8dba98154 100644 --- a/erts/emulator/beam/jit/beam_jit_common.hpp +++ b/erts/emulator/beam/jit/beam_jit_common.hpp @@ -243,6 +243,7 @@ struct BeamModuleAssemblerCommon { return BeamTypeId::Tuple; default: ERTS_ASSERT(!"tag_val_def error"); + return BeamTypeId::None; /* Avoid warning */ } } @@ -616,11 +617,11 @@ Eterm beam_jit_bs_get_integer(Process *c_p, Uint Live); ErtsMessage *beam_jit_decode_dist(Process *c_p, ErtsMessage *msgp); -Sint beam_jit_remove_message(Process *c_p, - Sint FCALLS, - Eterm *HTOP, - Eterm *E, - Uint32 active_code_ix); +Sint32 beam_jit_remove_message(Process *c_p, + Sint32 FCALLS, + Eterm *HTOP, + Eterm *E, + Uint32 active_code_ix); void beam_jit_bs_construct_fail_info(Process *c_p, Uint packed_error_info, @@ -628,6 +629,8 @@ void beam_jit_bs_construct_fail_info(Process *c_p, Eterm arg1); Sint beam_jit_bs_bit_size(Eterm term); +Eterm beam_jit_int128_to_big(Process *p, Uint sign, Uint low, Uint high); + void beam_jit_take_receive_lock(Process *c_p); void beam_jit_wait_locked(Process *c_p, ErtsCodePtr cp); void beam_jit_wait_unlocked(Process *c_p, ErtsCodePtr cp); diff --git a/erts/emulator/beam/jit/beam_jit_main.cpp b/erts/emulator/beam/jit/beam_jit_main.cpp index 0cd732039f5c..7692e4b2d938 100644 --- a/erts/emulator/beam/jit/beam_jit_main.cpp +++ b/erts/emulator/beam/jit/beam_jit_main.cpp @@ -76,6 +76,32 @@ static BeamGlobalAssembler *bga; static BeamModuleAssembler *bma; static CpuInfo cpuinfo; +#if defined(__aarch64__) && !(defined(WIN32) || defined(__APPLE__)) && \ + defined(__GNUC__) && defined(ERTS_THR_INSTRUCTION_BARRIER) && \ + ETHR_HAVE_GCC_ASM_ARM_IC_IVAU_INSTRUCTION && \ + ETHR_HAVE_GCC_ASM_ARM_DC_CVAU_INSTRUCTION +# define BEAMASM_MANUAL_ICACHE_FLUSHING +#endif + +#ifdef BEAMASM_MANUAL_ICACHE_FLUSHING +static UWord min_icache_line_size; +static UWord min_dcache_line_size; +#endif + +static void init_cache_info() { +#if defined(__aarch64__) && defined(BEAMASM_MANUAL_ICACHE_FLUSHING) + UWord ctr_el0; + + /* DC/IC operate on a cache line basis, so we need to step according to the + * _smallest_ data and instruction cache line size. + * + * Query the "Cache Type Register" MSR to find out what they are. */ + __asm__ __volatile__("mrs %0, ctr_el0\n" : "=r"(ctr_el0)); + min_dcache_line_size = (4 << ((ctr_el0 >> 16) & 0xF)); + min_icache_line_size = (4 << (ctr_el0 & 0xF)); +#endif +} + /* * Enter all BIFs into the export table. * @@ -257,6 +283,7 @@ void beamasm_init() { #endif beamasm_metadata_early_init(); + init_cache_info(); /* * Ensure that commonly used fields in the PCB can be accessed with @@ -268,6 +295,7 @@ void beamasm_init() { ERTS_CT_ASSERT(offsetof(Process, fcalls) < 128); ERTS_CT_ASSERT(offsetof(Process, freason) < 128); ERTS_CT_ASSERT(offsetof(Process, fvalue) < 128); + ERTS_CT_ASSERT(offsetof(Process, flags) < 128); #ifdef ERLANG_FRAME_POINTERS ERTS_CT_ASSERT(offsetof(Process, frame_pointer) < 128); @@ -420,25 +448,38 @@ extern "C" #elif defined(__aarch64__) && defined(__APPLE__) /* Issues full memory/instruction barriers on all threads for us. */ sys_icache_invalidate((char *)address, size); -#elif defined(__aarch64__) && defined(__GNUC__) && \ - defined(ERTS_THR_INSTRUCTION_BARRIER) && \ - ETHR_HAVE_GCC_ASM_ARM_IC_IVAU_INSTRUCTION && \ - ETHR_HAVE_GCC_ASM_ARM_DC_CVAU_INSTRUCTION - /* Note that we do not issue any barriers here, whether instruction or - * memory. This is on purpose as we must issue those on all schedulers +#elif defined(__aarch64__) && defined(BEAMASM_MANUAL_ICACHE_FLUSHING) + /* Note that we do not issue an instruction synchronization barrier + * here. This is on purpose as we must issue those on all schedulers * and not just the calling thread, and the chances of us forgetting to - * do that is much higher if we issue them here. */ - UWord start = reinterpret_cast(address); - UWord end = start + size; + * do that is much higher if we issue one here. */ + UWord start, end, stride; - ETHR_COMPILER_BARRIER; + start = reinterpret_cast(address); + end = start + size; - for (UWord i = start & ~ERTS_CACHE_LINE_MASK; i < end; - i += ERTS_CACHE_LINE_SIZE) { - __asm__ __volatile__("dc cvau, %0\n" - "ic ivau, %0\n" ::"r"(i) - :); + stride = min_dcache_line_size; + for (UWord i = start & ~(stride - 1); i < end; i += stride) { + __asm__ __volatile__("dc cvau, %0\n" ::"r"(i) :); } + + /* We need a special memory barrier between clearing dcache and icache, + * or there's a chance that the icache on another core is invalidated + * before the dcache, which can then be repopulated with stale data. */ + __asm__ __volatile__("dsb ish\n" ::: "memory"); + + stride = min_icache_line_size; + for (UWord i = start & ~(stride - 1); i < end; i += stride) { + __asm__ __volatile__("ic ivau, %0\n" ::"r"(i) :); + } + + /* Ensures that all cores clear their instruction cache before moving + * on. The usual full memory barrier (`dmb sy`) executed by the thread + * progress mechanism is not sufficient for this. + * + * Note that this barrier need not be executed on other cores, it's + * enough for them to issue an instruction synchronization barrier. */ + __asm__ __volatile__("dsb ish\n" ::: "memory"); #elif (defined(__x86_64__) || defined(_M_X64)) && \ defined(ERTS_THR_INSTRUCTION_BARRIER) /* We don't need to invalidate cache on this platform, but since we diff --git a/erts/emulator/beam/jit/x86/beam_asm.hpp b/erts/emulator/beam/jit/x86/beam_asm.hpp index c7f085ee622e..8163ceec0668 100644 --- a/erts/emulator/beam/jit/x86/beam_asm.hpp +++ b/erts/emulator/beam/jit/x86/beam_asm.hpp @@ -93,7 +93,7 @@ struct BeamAssembler : public BeamAssemblerCommon { #endif const x86::Gp c_p = x86::r13; - const x86::Gp FCALLS = x86::r14; + const x86::Gp FCALLS = x86::r14d; const x86::Gp HTOP = x86::r15; /* Local copy of the active code index. @@ -690,7 +690,7 @@ struct BeamAssembler : public BeamAssemblerCommon { } if (Spec & Update::eReductions) { - a.mov(x86::qword_ptr(c_p, offsetof(Process, fcalls)), FCALLS); + a.mov(x86::dword_ptr(c_p, offsetof(Process, fcalls)), FCALLS); } #ifdef NATIVE_ERLANG_STACK @@ -747,7 +747,7 @@ struct BeamAssembler : public BeamAssemblerCommon { } if (Spec & Update::eReductions) { - a.mov(FCALLS, x86::qword_ptr(c_p, offsetof(Process, fcalls))); + a.mov(FCALLS, x86::dword_ptr(c_p, offsetof(Process, fcalls))); } if (Spec & Update::eCodeIndex) { @@ -1196,8 +1196,7 @@ class BeamModuleAssembler : public BeamAssembler, x86::Mem emit_fixed_apply(const ArgWord &arity, bool includeI); x86::Gp emit_call_fun(bool skip_box_test = false, - bool skip_fun_test = false, - bool skip_arity_test = false); + bool skip_header_test = false); void emit_is_boxed(Label Fail, x86::Gp Src, Distance dist = dLong) { BeamAssembler::emit_is_boxed(Fail, Src, dist); diff --git a/erts/emulator/beam/jit/x86/beam_asm_global.cpp b/erts/emulator/beam/jit/x86/beam_asm_global.cpp index 7fdfddf27621..3c689639e0b7 100644 --- a/erts/emulator/beam/jit/x86/beam_asm_global.cpp +++ b/erts/emulator/beam/jit/x86/beam_asm_global.cpp @@ -125,9 +125,9 @@ void BeamGlobalAssembler::emit_garbage_collect() { a.mov(ARG1, c_p); load_x_reg_array(ARG3); - a.mov(ARG5, FCALLS); + a.mov(ARG5d, FCALLS); runtime_call<5>(erts_garbage_collect_nobump); - a.sub(FCALLS, RET); + a.sub(FCALLS, RETd); emit_leave_runtime(); diff --git a/erts/emulator/beam/jit/x86/beam_asm_global.hpp.pl b/erts/emulator/beam/jit/x86/beam_asm_global.hpp.pl index af16da1eeede..9782bbb2269e 100755 --- a/erts/emulator/beam/jit/x86/beam_asm_global.hpp.pl +++ b/erts/emulator/beam/jit/x86/beam_asm_global.hpp.pl @@ -88,9 +88,12 @@ int_div_rem_guard_shared is_in_range_shared is_ge_lt_shared - internal_hash_helper minus_body_shared minus_guard_shared + mul_add_body_shared + mul_add_guard_shared + mul_body_shared + mul_guard_shared new_map_shared plus_body_shared plus_guard_shared @@ -99,8 +102,6 @@ raise_exception raise_exception_shared store_unaligned - times_body_shared - times_guard_shared unary_minus_body_shared unary_minus_guard_shared unloaded_fun @@ -184,6 +185,7 @@ sub gen_list { x86::Mem emit_i_length_common(Label fail, int state_size); + void emit_internal_hash_helper(); void emit_flatmap_get_element(); void emit_hashmap_get_element(); diff --git a/erts/emulator/beam/jit/x86/beam_asm_module.cpp b/erts/emulator/beam/jit/x86/beam_asm_module.cpp index bc8a11e15ebc..7eb4e2d6be4e 100644 --- a/erts/emulator/beam/jit/x86/beam_asm_module.cpp +++ b/erts/emulator/beam/jit/x86/beam_asm_module.cpp @@ -285,7 +285,8 @@ void BeamGlobalAssembler::emit_i_func_info_shared() { a.add(ARG1, imm(offsetof(ErtsCodeInfo, mfa))); - a.mov(x86::qword_ptr(c_p, offsetof(Process, freason)), EXC_FUNCTION_CLAUSE); + a.mov(x86::qword_ptr(c_p, offsetof(Process, freason)), + imm(EXC_FUNCTION_CLAUSE)); a.mov(x86::qword_ptr(c_p, offsetof(Process, current)), ARG1); mov_imm(ARG2, 0); @@ -297,7 +298,7 @@ void BeamModuleAssembler::emit_i_func_info(const ArgWord &Label, const ArgAtom &Module, const ArgAtom &Function, const ArgWord &Arity) { - ErtsCodeInfo info; + ErtsCodeInfo info = {}; /* `op_i_func_info_IaaI` is used in various places in the emulator, so this * label is always encoded as a word, even though the signature ought to @@ -307,7 +308,6 @@ void BeamModuleAssembler::emit_i_func_info(const ArgWord &Label, info.mfa.module = Module.get(); info.mfa.function = Function.get(); info.mfa.arity = Arity.get(); - info.gen_bp = NULL; comment("%T:%T/%d", info.mfa.module, info.mfa.function, info.mfa.arity); diff --git a/erts/emulator/beam/jit/x86/generators.tab b/erts/emulator/beam/jit/x86/generators.tab index 007344d17d1c..84ac8da3fced 100644 --- a/erts/emulator/beam/jit/x86/generators.tab +++ b/erts/emulator/beam/jit/x86/generators.tab @@ -433,31 +433,6 @@ gen.combine_conses(Len, Dst, Hd) { return cons; } -gen.allocate_heap_zero(Ns, Nh, Live) { - BeamOp* alloc; - BeamOp* init; - int i; - - $NewBeamOp(S, alloc); - $NewBeamOp(S, init); - - $BeamOpNameArity(alloc, allocate_heap, 3); - alloc->a[0] = Ns; - alloc->a[1] = Nh; - alloc->a[2] = Live; - alloc->next = init; - - $BeamOpNameArity(init, init_yregs, 1); - $BeamOpArity(init, Ns.val+1); - init->a[0] = Ns; - for (i = 0; i < Ns.val; i++) { - init->a[i+1].type = TAG_y; - init->a[i+1].val = i; - } - - return alloc; -} - gen.func_end(Func_Label, Entry_Label) { BeamOp *op = NULL; diff --git a/erts/emulator/beam/jit/x86/instr_arith.cpp b/erts/emulator/beam/jit/x86/instr_arith.cpp index 888f3109f165..35976cc048d7 100644 --- a/erts/emulator/beam/jit/x86/instr_arith.cpp +++ b/erts/emulator/beam/jit/x86/instr_arith.cpp @@ -652,10 +652,10 @@ void BeamModuleAssembler::emit_div_rem(const ArgLabel &Fail, divisor = RHS.as().getSigned(); } - if (divisor != (Sint)0 && divisor != (Sint)-1) { + mov_arg(x86::rax, LHS); + + if (divisor != 0 && divisor != -1) { /* There is no possibility of overflow. */ - a.mov(ARG6, imm(divisor)); - mov_arg(x86::rax, LHS); if (always_small(LHS)) { comment("skipped test for small dividend since it is always small"); need_generic = false; @@ -672,10 +672,9 @@ void BeamModuleAssembler::emit_div_rem(const ArgLabel &Fail, a.short_().jne(generic_div); } - /* Sign-extend and divide. The result is implicitly placed in - * RAX and the remainder in RDX (ARG3). */ if (Support::isPowerOf2(divisor) && std::get<0>(getClampedRange(LHS)) >= 0) { + /* Unsigned integer division. */ int trailing_bits = Support::ctz(divisor); if (need_rem) { @@ -692,8 +691,52 @@ void BeamModuleAssembler::emit_div_rem(const ArgLabel &Fail, a.shr(x86::rax, imm(trailing_bits)); a.or_(x86::rax, imm(_TAG_IMMED1_SMALL)); } + } else if (Support::isPowerOf2(divisor)) { + /* Signed integer division. */ + int shift = Support::ctz(divisor); + Sint offset = (divisor - 1) << _TAG_IMMED1_SIZE; + + if (need_rem) { + a.mov(x86::rdx, x86::rax); + ASSERT(x86::rdx != ARG1); + } + + if (need_div) { + comment("optimized div by replacing with right shift"); + } + + if (divisor == 2) { + ERTS_CT_ASSERT(_TAG_IMMED1_SMALL == _TAG_IMMED1_MASK); + a.mov(ARG1, x86::rax); + a.shr(ARG1, imm(63)); + a.add(x86::rax, ARG1); + } else { + if (Support::isInt32(offset)) { + a.lea(ARG1, x86::qword_ptr(x86::rax, offset)); + } else { + a.mov(ARG1, offset); + a.add(ARG1, x86::rax); + } + a.test(x86::rax, x86::rax); + a.cmovs(x86::rax, ARG1); + } + + if (need_rem) { + Uint mask = (Uint)-1 << (shift + _TAG_IMMED1_SIZE); + comment("optimized rem by replacing with subtraction"); + mov_imm(ARG1, mask); + a.and_(ARG1, x86::rax); + a.sub(x86::rdx, ARG1); + } + + if (need_div) { + ERTS_CT_ASSERT(_TAG_IMMED1_SMALL == _TAG_IMMED1_MASK); + a.sar(x86::rax, imm(shift)); + a.or_(x86::rax, imm(_TAG_IMMED1_SMALL)); + } } else { comment("divide with inlined code"); + a.mov(ARG6, imm(divisor)); a.sar(x86::rax, imm(_TAG_IMMED1_SIZE)); a.cqo(); a.idiv(ARG6); @@ -723,7 +766,7 @@ void BeamModuleAssembler::emit_div_rem(const ArgLabel &Fail, a.bind(generic_div); if (need_generic) { mov_arg(ARG4, RHS); /* Done first as mov_arg may clobber ARG1 */ - mov_arg(ARG1, LHS); + a.mov(ARG1, x86::rax); if (Fail.get() != 0) { safe_fragment_call(ga->get_int_div_rem_guard_shared()); @@ -823,16 +866,32 @@ void BeamModuleAssembler::emit_i_m_div(const ArgLabel &Fail, mov_arg(Dst, RET); } -/* ARG2 = LHS, ARG3 (!) = RHS +/* ARG2 = Src1 + * ARG3 = Src2 + * ARG4 = Increment * * Result is returned in RET, error is indicated by ZF. */ -void BeamGlobalAssembler::emit_times_guard_shared() { +void BeamGlobalAssembler::emit_mul_add_guard_shared() { + Label done = a.newLabel(); + emit_enter_frame(); emit_enter_runtime(); + a.mov(TMP_MEM1q, ARG4); + a.mov(ARG1, c_p); runtime_call<3>(erts_mixed_times); + emit_test_the_non_value(RET); + a.short_().je(done); + + a.mov(ARG3, TMP_MEM1q); + a.mov(ARG2, RET); + a.mov(ARG1, c_p); + a.cmp(ARG3, imm(make_small(0))); + a.short_().je(done); + runtime_call<3>(erts_mixed_plus); + a.bind(done); emit_leave_runtime(); emit_leave_frame(); @@ -841,13 +900,14 @@ void BeamGlobalAssembler::emit_times_guard_shared() { a.ret(); } -/* ARG2 = LHS, ARG3 (!) = RHS +/* ARG2 = Src1 + * ARG3 = Src2 + * ARG4 = Increment * * Result is returned in RET. */ -void BeamGlobalAssembler::emit_times_body_shared() { - static const ErtsCodeMFA bif_mfa = {am_erlang, am_Times, 2}; - - Label error = a.newLabel(); +void BeamGlobalAssembler::emit_mul_add_body_shared() { + Label mul_only = a.newLabel(), error = a.newLabel(), + mul_error = a.newLabel(), do_error = a.newLabel(); emit_enter_frame(); emit_enter_runtime(); @@ -855,61 +915,166 @@ void BeamGlobalAssembler::emit_times_body_shared() { /* Save original arguments for the error path. */ a.mov(TMP_MEM1q, ARG2); a.mov(TMP_MEM2q, ARG3); - a.mov(ARG1, c_p); - runtime_call<3>(erts_mixed_times); + a.cmp(ARG4, imm(make_small(0))); + a.short_().je(mul_only); + a.mov(TMP_MEM4q, ARG4); + + a.lea(ARG5, TMP_MEM3q); + runtime_call<5>(erts_mul_add); emit_leave_runtime(); emit_leave_frame(); emit_test_the_non_value(RET); a.short_().je(error); + a.ret(); + a.bind(mul_only); + { + runtime_call<3>(erts_mixed_times); + + emit_leave_runtime(); + emit_leave_frame(); + + emit_test_the_non_value(RET); + a.short_().je(mul_error); + + a.ret(); + } + a.bind(error); { - /* Place the original arguments in x-registers. */ + static const ErtsCodeMFA mul_mfa = {am_erlang, am_Times, 2}; + static const ErtsCodeMFA add_mfa = {am_erlang, am_Plus, 2}; + + a.mov(ARG1, TMP_MEM3q); + a.mov(ARG2, TMP_MEM4q); + mov_imm(ARG4, &add_mfa); + emit_test_the_non_value(ARG1); + a.short_().jne(do_error); + + a.bind(mul_error); a.mov(ARG1, TMP_MEM1q); a.mov(ARG2, TMP_MEM2q); + mov_imm(ARG4, &mul_mfa); + + a.bind(do_error); a.mov(getXRef(0), ARG1); a.mov(getXRef(1), ARG2); - - a.mov(ARG4, imm(&bif_mfa)); a.jmp(labels[raise_exception]); } } -void BeamModuleAssembler::emit_i_times(const ArgLabel &Fail, - const ArgSource &LHS, - const ArgSource &RHS, - const ArgRegister &Dst) { - bool small_result = is_product_small_if_args_are_small(LHS, RHS); +/* ARG2 = Src1 + * ARG3 = Src2 + * + * The result is returned in RET. + */ +void BeamGlobalAssembler::emit_mul_body_shared() { + mov_imm(ARG4, make_small(0)); + a.jmp(labels[mul_add_body_shared]); +} - if (always_small(LHS) && always_small(RHS) && small_result) { - comment("multiplication without overflow check"); - if (RHS.isSmall()) { - Sint factor = RHS.as().getSigned(); +/* ARG2 = Src1 + * ARG3 = Src2 + * + * Result is returned in RET, error is indicated by ZF. + */ +void BeamGlobalAssembler::emit_mul_guard_shared() { + mov_imm(ARG4, make_small(0)); + a.jmp(labels[mul_add_guard_shared]); +} + +void BeamModuleAssembler::emit_i_mul_add(const ArgLabel &Fail, + const ArgSource &Src1, + const ArgSource &Src2, + const ArgSource &Src3, + const ArgSource &Src4, + const ArgRegister &Dst) { + bool is_product_small = is_product_small_if_args_are_small(Src1, Src2); + bool is_sum_small = is_sum_small_if_args_are_small(Src3, Src4); + bool is_increment_zero = + Src4.isSmall() && Src4.as().getSigned() == 0; + Sint factor = 0; + int left_shift = -1; + + if (is_increment_zero) { + comment("(adding zero)"); + } + + if (Src2.isSmall()) { + factor = Src2.as().getSigned(); + if (Support::isPowerOf2(factor)) { + left_shift = Support::ctz(factor); + } + } + + if (always_small(Src1) && Src2.isSmall() && Src4.isSmall() && + is_product_small && is_sum_small) { + x86::Mem p; + Sint increment = Src4.as().get(); + increment -= factor * _TAG_IMMED1_SMALL; + + switch (factor) { + case 2: + p = ptr(RET, RET, 0, increment); + break; + case 3: + p = ptr(RET, RET, 1, increment); + break; + case 4: + p = ptr(x86::Gp(), RET, 2, increment); + break; + case 5: + p = ptr(RET, RET, 2, increment); + break; + case 8: + p = ptr(x86::Gp(), RET, 3, increment); + break; + case 9: + p = ptr(RET, RET, 3, increment); + break; + } + + if (Support::isInt32(increment) && p.hasIndex()) { + comment("optimizing multiplication and addition using LEA"); + mov_arg(RET, Src1); + a.lea(RET, p); + mov_arg(Dst, RET); + return; + } + } - mov_arg(RET, LHS); + if (always_small(Src1) && Src2.isSmall() && always_small(Src4) && + is_product_small && is_sum_small) { + comment("multiplication and addition without overflow check"); + if (Src2.isSmall()) { + mov_arg(RET, Src1); a.and_(RET, imm(~_TAG_IMMED1_MASK)); if (Support::isPowerOf2(factor)) { - int trailing_bits = Support::ctz(factor); comment("optimized multiplication by replacing with left " "shift"); - a.shl(RET, imm(trailing_bits)); + a.shl(RET, imm(left_shift)); } else { mov_imm(ARG2, factor); a.imul(RET, ARG2); } } else { - mov_arg(RET, LHS); - mov_arg(ARG2, RHS); + mov_arg(RET, Src1); + mov_arg(ARG2, Src2); a.and_(RET, imm(~_TAG_IMMED1_MASK)); a.sar(ARG2, imm(_TAG_IMMED1_SIZE)); a.imul(RET, ARG2); } - a.or_(RET, imm(_TAG_IMMED1_SMALL)); + if (is_increment_zero) { + a.or_(RET, imm(_TAG_IMMED1_SMALL)); + } else { + mov_arg(ARG2, Src4); + a.add(RET, ARG2); + } mov_arg(Dst, RET); return; @@ -917,39 +1082,81 @@ void BeamModuleAssembler::emit_i_times(const ArgLabel &Fail, Label next = a.newLabel(), mixed = a.newLabel(); - mov_arg(ARG2, LHS); /* Used by erts_mixed_times in this slot */ - mov_arg(ARG3, RHS); /* Used by erts_mixed_times in this slot */ + mov_arg(ARG2, Src1); + mov_arg(ARG3, Src2); + if (!is_increment_zero) { + mov_arg(ARG4, Src4); + } - if (RHS.isSmall()) { - Sint val = RHS.as().getSigned(); - emit_is_small(mixed, LHS, ARG2); + if (Src2.isSmall()) { + Sint val = Src2.as().getSigned(); + emit_are_both_small(mixed, Src1, ARG2, Src4, ARG4); a.mov(RET, ARG2); - a.mov(ARG4, imm(val)); + mov_imm(ARG5, val); } else { - emit_are_both_small(mixed, LHS, ARG2, RHS, ARG3); + if (is_increment_zero) { + emit_are_both_small(mixed, Src1, ARG2, Src2, ARG3); + } else if (always_small(Src1)) { + emit_are_both_small(mixed, Src2, ARG3, Src4, ARG4); + } else { + a.mov(RETd, ARG2.r32()); + a.and_(RETd, ARG3.r32()); + a.and_(RETd, ARG4.r32()); + if (always_one_of( + Src1) && + always_one_of( + Src2) && + always_one_of( + Src4)) { + emit_is_not_boxed(mixed, RET); + } else { + a.and_(RETb, imm(_TAG_IMMED1_MASK)); + a.cmp(RETb, imm(_TAG_IMMED1_SMALL)); + a.short_().jne(mixed); + } + } a.mov(RET, ARG2); - a.mov(ARG4, ARG3); - a.sar(ARG4, imm(_TAG_IMMED1_SIZE)); + a.mov(ARG5, ARG3); + a.sar(ARG5, imm(_TAG_IMMED1_SIZE)); } a.and_(RET, imm(~_TAG_IMMED1_MASK)); - a.imul(RET, ARG4); - if (small_result) { - comment("skipped overflow check because the result is always small"); + a.imul(RET, ARG5); + if (is_product_small) { + comment("skipped overflow check because product is always small"); } else { a.short_().jo(mixed); } - a.or_(RET, imm(_TAG_IMMED1_SMALL)); + + if (is_increment_zero) { + a.or_(RET, imm(_TAG_IMMED1_SMALL)); + } else { + a.add(RET, ARG4); + if (is_sum_small) { + comment("skipped overflow check because sum is always small"); + } else { + a.short_().jo(mixed); + } + } + a.short_().jmp(next); /* Call mixed multiplication. */ a.bind(mixed); { if (Fail.get() != 0) { - safe_fragment_call(ga->get_times_guard_shared()); + if (is_increment_zero) { + safe_fragment_call(ga->get_mul_guard_shared()); + } else { + safe_fragment_call(ga->get_mul_add_guard_shared()); + } a.je(resolve_beam_label(Fail)); } else { - safe_fragment_call(ga->get_times_body_shared()); + if (is_increment_zero) { + safe_fragment_call(ga->get_mul_body_shared()); + } else { + safe_fragment_call(ga->get_mul_add_body_shared()); + } } } @@ -1305,13 +1512,14 @@ void BeamModuleAssembler::emit_i_bsr(const ArgSource &LHS, const ArgRegister &Dst) { Label generic = a.newLabel(), next = a.newLabel(); bool need_generic = true; + bool need_register_load = true; mov_arg(ARG2, LHS); if (RHS.isSmall()) { Sint shift = RHS.as().getSigned(); - if (shift >= 0 && shift < SMALL_BITS - 1) { + if (shift >= 0) { if (always_small(LHS)) { comment("skipped test for small left operand because it is " "always small"); @@ -1325,6 +1533,7 @@ void BeamModuleAssembler::emit_i_bsr(const ArgSource &LHS, /* We don't need to clear the mask after shifting because * _TAG_IMMED1_SMALL will set all the bits anyway. */ ERTS_CT_ASSERT(_TAG_IMMED1_MASK == _TAG_IMMED1_SMALL); + shift = std::min(shift, 63); a.sar(RET, imm(shift)); a.or_(RET, imm(_TAG_IMMED1_SMALL)); @@ -1332,14 +1541,33 @@ void BeamModuleAssembler::emit_i_bsr(const ArgSource &LHS, a.short_().jmp(next); } } else { - /* Constant shift is negative or too big to fit the `sar` - * instruction, fall back to the generic path. */ + /* Constant shift is negative; fall back to the generic + * path. */ } + } else if (hasCpuFeature(CpuFeatures::X86::kBMI2)) { + mov_arg(RET, RHS); + need_register_load = false; + + emit_are_both_small(generic, LHS, ARG2, RHS, RET); + + a.mov(ARG1, RET); + a.sar(ARG1, imm(_TAG_IMMED1_SIZE)); + a.js(generic); + + mov_imm(RET, 63); + a.cmp(ARG1, RET); + a.cmova(ARG1, RET); + + a.sarx(RET, ARG2, ARG1); + a.or_(RET, imm(_TAG_IMMED1_SMALL)); + a.short_().jmp(next); } a.bind(generic); if (need_generic) { - mov_arg(RET, RHS); + if (need_register_load) { + mov_arg(RET, RHS); + } if (Fail.get() != 0) { safe_fragment_call(ga->get_i_bsr_guard_shared()); diff --git a/erts/emulator/beam/jit/x86/instr_bif.cpp b/erts/emulator/beam/jit/x86/instr_bif.cpp index 46a514fd348d..96227eacdd26 100644 --- a/erts/emulator/beam/jit/x86/instr_bif.cpp +++ b/erts/emulator/beam/jit/x86/instr_bif.cpp @@ -285,7 +285,7 @@ x86::Mem BeamGlobalAssembler::emit_i_length_common(Label fail, int state_size) { a.add(x86::rsp, imm(sizeof(UWord))); a.mov(x86::qword_ptr(c_p, offsetof(Process, current)), imm(0)); - a.mov(x86::qword_ptr(c_p, offsetof(Process, arity)), ARG2); + a.mov(x86::byte_ptr(c_p, offsetof(Process, arity)), ARG2.r8()); a.jmp(labels[context_switch_simplified]); } @@ -572,7 +572,8 @@ void BeamGlobalAssembler::emit_call_light_bif_shared() { { a.mov(ARG2, mbuf_mem); a.mov(ARG5, export_mem); - a.mov(ARG5, x86::qword_ptr(ARG5, offsetof(Export, info.mfa.arity))); + a.movzx(ARG5d, + x86::byte_ptr(ARG5, offsetof(Export, info.mfa.arity))); emit_enter_runtime(); @@ -609,9 +610,9 @@ void BeamGlobalAssembler::emit_call_light_bif_shared() { a.bind(yield); { - a.mov(ARG2, x86::qword_ptr(ARG4, offsetof(Export, info.mfa.arity))); + a.movzx(ARG2d, x86::byte_ptr(ARG4, offsetof(Export, info.mfa.arity))); a.lea(ARG4, x86::qword_ptr(ARG4, offsetof(Export, info.mfa))); - a.mov(x86::qword_ptr(c_p, offsetof(Process, arity)), ARG2); + a.mov(x86::byte_ptr(c_p, offsetof(Process, arity)), ARG2.r8()); a.mov(x86::qword_ptr(c_p, offsetof(Process, current)), ARG4); /* We'll find our way back through ARG3 (entry address). */ @@ -692,10 +693,21 @@ void BeamGlobalAssembler::emit_bif_nif_epilogue(void) { emit_leave_frame(); #ifdef NATIVE_ERLANG_STACK + if (erts_alcu_enable_code_atags) { + /* See emit_i_test_yield. */ + a.mov(RET, x86::qword_ptr(E)); + a.mov(x86::qword_ptr(c_p, offsetof(Process, i)), RET); + } + a.ret(); #else a.mov(RET, getCPRef()); a.mov(getCPRef(), imm(NIL)); + + if (erts_alcu_enable_code_atags) { + a.mov(x86::qword_ptr(c_p, offsetof(Process, i)), RET); + } + a.jmp(RET); #endif @@ -706,14 +718,14 @@ void BeamGlobalAssembler::emit_bif_nif_epilogue(void) { comment("yield"); comment("test trap to hibernate"); - a.mov(ARG1, x86::qword_ptr(c_p, offsetof(Process, flags))); - a.mov(ARG2, ARG1); - a.and_(ARG2, imm(F_HIBERNATE_SCHED)); + a.mov(ARG1d, x86::dword_ptr(c_p, offsetof(Process, flags))); + a.mov(ARG2d, ARG1d); + a.and_(ARG2d, imm(F_HIBERNATE_SCHED)); a.short_().je(trap); comment("do hibernate trap"); - a.and_(ARG1, imm(~F_HIBERNATE_SCHED)); - a.mov(x86::qword_ptr(c_p, offsetof(Process, flags)), ARG1); + a.and_(ARG1d, imm(~F_HIBERNATE_SCHED)); + a.mov(x86::dword_ptr(c_p, offsetof(Process, flags)), ARG1d); a.jmp(labels[do_schedule]); } @@ -759,8 +771,8 @@ void BeamGlobalAssembler::emit_call_bif_shared(void) { a.mov(x86::qword_ptr(c_p, offsetof(Process, current)), ARG2); /* `call_bif` wants arity in ARG5. */ - a.mov(ARG5, x86::qword_ptr(ARG2, offsetof(ErtsCodeMFA, arity))); - a.mov(x86::qword_ptr(c_p, offsetof(Process, arity)), ARG5); + a.movzx(ARG5d, x86::byte_ptr(ARG2, offsetof(ErtsCodeMFA, arity))); + a.mov(x86::byte_ptr(c_p, offsetof(Process, arity)), ARG5.r8()); a.mov(x86::qword_ptr(c_p, offsetof(Process, i)), ARG3); /* The corresponding leave can be found in the epilogue. */ @@ -954,6 +966,11 @@ void BeamGlobalAssembler::emit_dispatch_nif(void) { void BeamGlobalAssembler::emit_call_nif_yield_helper() { Label yield = a.newLabel(); + if (erts_alcu_enable_code_atags) { + /* See emit_i_test_yield. */ + a.mov(x86::qword_ptr(c_p, offsetof(Process, i)), ARG3); + } + a.dec(FCALLS); a.short_().jl(yield); a.jmp(labels[call_nif_shared]); @@ -963,8 +980,8 @@ void BeamGlobalAssembler::emit_call_nif_yield_helper() { int mfa_offset = -(int)sizeof(ErtsCodeMFA); int arity_offset = mfa_offset + (int)offsetof(ErtsCodeMFA, arity); - a.mov(ARG1, x86::qword_ptr(ARG3, arity_offset)); - a.mov(x86::qword_ptr(c_p, offsetof(Process, arity)), ARG1); + a.movzx(ARG1d, x86::byte_ptr(ARG3, arity_offset)); + a.mov(x86::byte_ptr(c_p, offsetof(Process, arity)), ARG1.r8()); a.lea(ARG1, x86::qword_ptr(ARG3, mfa_offset)); a.mov(x86::qword_ptr(c_p, offsetof(Process, current)), ARG1); diff --git a/erts/emulator/beam/jit/x86/instr_bs.cpp b/erts/emulator/beam/jit/x86/instr_bs.cpp index 36e95df57c0e..a4c801d43d7b 100644 --- a/erts/emulator/beam/jit/x86/instr_bs.cpp +++ b/erts/emulator/beam/jit/x86/instr_bs.cpp @@ -2444,7 +2444,12 @@ void BeamModuleAssembler::emit_i_bs_create_bin(const ArgLabel &Fail, if (seg.effectiveSize < 0 && seg.type != am_append && seg.type != am_private_append) { - sizeReg = FCALLS; + /* We need a callee-save register for the size. We'll pick the + * active code index register because it's not used in any capacity + * here. Note that we have to spill it since `save_calls` may be + * enabled and we'll lose that information if we blindly re-read + * the index. */ + sizeReg = active_code_ix; need_error_handler = true; } @@ -2515,6 +2520,11 @@ void BeamModuleAssembler::emit_i_bs_create_bin(const ArgLabel &Fail, error = a.newLabel(); a.bind(error); bs_maybe_leave_runtime(runtime_entered); + + if (sizeReg.isValid()) { + a.mov(sizeReg, TMP_MEM5q); + } + comment("handle error"); if (Fail.get() != 0) { a.jmp(resolve_beam_label(Fail)); @@ -2531,6 +2541,7 @@ void BeamModuleAssembler::emit_i_bs_create_bin(const ArgLabel &Fail, * word. */ if (sizeReg.isValid()) { comment("calculate sizes"); + a.mov(TMP_MEM5q, sizeReg); mov_imm(sizeReg, num_bits); } @@ -2608,9 +2619,11 @@ void BeamModuleAssembler::emit_i_bs_create_bin(const ArgLabel &Fail, bool can_fail = true; comment("size binary/integer/float/string"); - if (std::get<0>(getClampedRange(seg.size)) >= 0) { - /* Can't fail if size is always positive. */ - can_fail = false; + if (always_small(seg.size)) { + auto min = std::get<0>(getClampedRange(seg.size)); + if (min >= 0) { + can_fail = false; + } } if (can_fail && Fail.get() == 0) { @@ -3318,6 +3331,11 @@ void BeamModuleAssembler::emit_i_bs_create_bin(const ArgLabel &Fail, } bs_maybe_leave_runtime(runtime_entered); + + if (sizeReg.isValid()) { + a.mov(sizeReg, TMP_MEM5q); + } + comment("done"); a.mov(RET, TMP_MEM1q); mov_arg(Dst, RET); @@ -3811,7 +3829,7 @@ static std::vector opt_bsm_segments( } break; case BsmSegment::action::GET_BINARY: - heap_need += heap_bin_size((seg.size + 7) / 8); + heap_need += erts_extracted_binary_size(seg.size); break; case BsmSegment::action::GET_TAIL: heap_need += EXTRACT_SUB_BIN_HEAP_NEED; diff --git a/erts/emulator/beam/jit/x86/instr_call.cpp b/erts/emulator/beam/jit/x86/instr_call.cpp index 367e10e29451..41afede364a9 100644 --- a/erts/emulator/beam/jit/x86/instr_call.cpp +++ b/erts/emulator/beam/jit/x86/instr_call.cpp @@ -33,8 +33,8 @@ void BeamGlobalAssembler::emit_dispatch_return() { /* ARG3 already contains the place to jump to. */ #endif - a.mov(x86::qword_ptr(c_p, offsetof(Process, current)), 0); - a.mov(x86::qword_ptr(c_p, offsetof(Process, arity)), 1); + a.mov(x86::qword_ptr(c_p, offsetof(Process, current)), imm(0)); + a.mov(x86::byte_ptr(c_p, offsetof(Process, arity)), imm(1)); a.jmp(labels[context_switch_simplified]); } @@ -51,6 +51,14 @@ void BeamModuleAssembler::emit_return() { a.mov(getCPRef(), imm(NIL)); #endif + if (erts_alcu_enable_code_atags) { + /* See emit_i_test_yield. */ +#if defined(NATIVE_ERLANG_STACK) + a.mov(ARG3, x86::qword_ptr(E)); +#endif + a.mov(x86::qword_ptr(c_p, offsetof(Process, i)), ARG3); + } + /* The reduction test is kept in module code because moving it to a shared * fragment caused major performance regressions in dialyzer. */ a.dec(FCALLS); diff --git a/erts/emulator/beam/jit/x86/instr_common.cpp b/erts/emulator/beam/jit/x86/instr_common.cpp index 99e67c40b2fc..9d5614f73aa1 100644 --- a/erts/emulator/beam/jit/x86/instr_common.cpp +++ b/erts/emulator/beam/jit/x86/instr_common.cpp @@ -270,7 +270,7 @@ void BeamModuleAssembler::emit_normal_exit() { emit_proc_lc_unrequire(); a.mov(x86::qword_ptr(c_p, offsetof(Process, freason)), imm(EXC_NORMAL)); - a.mov(x86::qword_ptr(c_p, offsetof(Process, arity)), imm(0)); + a.mov(x86::byte_ptr(c_p, offsetof(Process, arity)), imm(0)); a.mov(ARG1, c_p); mov_imm(ARG2, am_normal); runtime_call<2>(erts_do_exit_process); @@ -527,10 +527,6 @@ void BeamModuleAssembler::emit_get_two_tuple_elements(const ArgSource &Src, } } -void BeamModuleAssembler::emit_init(const ArgYRegister &Dst) { - mov_arg(Dst, NIL); -} - void BeamModuleAssembler::emit_init_yregs(const ArgWord &Size, const Span &args) { unsigned count = Size.get(); @@ -1009,8 +1005,7 @@ void BeamModuleAssembler::emit_is_function(const ArgLabel &Fail, comment("skipped header test since we know it's a fun when boxed"); } else { x86::Gp boxed_ptr = emit_ptr_val(RET, RET); - a.mov(RETd, emit_boxed_val(boxed_ptr, 0, sizeof(Uint32))); - a.cmp(RET, imm(HEADER_FUN)); + a.cmp(emit_boxed_val(boxed_ptr, 0, sizeof(byte)), imm(FUN_SUBTAG)); a.jne(resolve_beam_label(Fail)); } } @@ -1048,16 +1043,10 @@ void BeamModuleAssembler::emit_is_function2(const ArgLabel &Fail, x86::Gp boxed_ptr = emit_ptr_val(ARG1, ARG1); - if (masked_types(Src) == BeamTypeId::Fun) { - comment("skipped header test since we know it's a fun when boxed"); - } else { - a.mov(RETd, emit_boxed_val(boxed_ptr, 0, sizeof(Uint32))); - a.cmp(RETd, imm(HEADER_FUN)); - a.jne(resolve_beam_label(Fail)); - } - - a.cmp(emit_boxed_val(boxed_ptr, offsetof(ErlFunThing, arity), sizeof(byte)), - imm(arity)); + /* Combined header word and arity check: both the tag and arity live in the + * lowest 16 bits. */ + a.cmp(emit_boxed_val(boxed_ptr, 0, sizeof(Uint16)), + imm(MAKE_FUN_HEADER(arity, 0, 0) & 0xFFFF)); a.jne(resolve_beam_label(Fail)); } @@ -2403,7 +2392,7 @@ void BeamModuleAssembler::emit_catch_end(const ArgYRegister &CatchTag) { void BeamModuleAssembler::emit_try_end(const ArgYRegister &CatchTag) { a.dec(x86::qword_ptr(c_p, offsetof(Process, catches))); - emit_init(CatchTag); + mov_arg(CatchTag, NIL); } void BeamModuleAssembler::emit_try_case(const ArgYRegister &CatchTag) { @@ -2486,8 +2475,9 @@ void BeamModuleAssembler::emit_raw_raise() { } #define TEST_YIELD_RETURN_OFFSET \ - (BEAM_ASM_FUNC_PROLOGUE_SIZE + 16 + \ - (erts_frame_layout == ERTS_FRAME_LAYOUT_FP_RA ? 4 : 0)) + (BEAM_ASM_FUNC_PROLOGUE_SIZE + 16u + \ + (erts_frame_layout == ERTS_FRAME_LAYOUT_FP_RA ? 4u : 0u) + \ + (erts_alcu_enable_code_atags ? 8u : 0u)) /* ARG3 = return address, current_label + TEST_YIELD_RETURN_OFFSET */ void BeamGlobalAssembler::emit_i_test_yield_shared() { @@ -2495,8 +2485,8 @@ void BeamGlobalAssembler::emit_i_test_yield_shared() { a.lea(ARG2, x86::qword_ptr(ARG3, mfa_offset)); a.mov(x86::qword_ptr(c_p, offsetof(Process, current)), ARG2); - a.mov(ARG2, x86::qword_ptr(ARG2, offsetof(ErtsCodeMFA, arity))); - a.mov(x86::qword_ptr(c_p, offsetof(Process, arity)), ARG2); + a.movzx(ARG2d, x86::byte_ptr(ARG2, offsetof(ErtsCodeMFA, arity))); + a.mov(x86::byte_ptr(c_p, offsetof(Process, arity)), ARG2.r8()); a.jmp(labels[context_switch_simplified]); } @@ -2510,8 +2500,19 @@ void BeamModuleAssembler::emit_i_test_yield() { emit_enter_frame(); a.lea(ARG3, x86::qword_ptr(current_label, TEST_YIELD_RETURN_OFFSET)); + + if (erts_alcu_enable_code_atags) { + /* The point-of-origin allocation tags are vastly improved when the + * instruction pointer is updated frequently. This has a relatively low + * impact on performance but there's little point in doing this unless + * the user has requested it -- it's an undocumented feature for + * now. */ + a.mov(x86::qword_ptr(c_p, offsetof(Process, i)), ARG3); + } + a.dec(FCALLS); a.long_().jle(resolve_fragment(ga->get_i_test_yield_shared())); + a.align(AlignMode::kCode, 4); ASSERT((a.offset() - code.labelOffsetFromBase(current_label)) == TEST_YIELD_RETURN_OFFSET); diff --git a/erts/emulator/beam/jit/x86/instr_fun.cpp b/erts/emulator/beam/jit/x86/instr_fun.cpp index 903ecef49b8d..e0413977c2c4 100644 --- a/erts/emulator/beam/jit/x86/instr_fun.cpp +++ b/erts/emulator/beam/jit/x86/instr_fun.cpp @@ -22,7 +22,7 @@ /* Calls to functions that are being purged (but haven't finished) land here. * - * ARG3 = arity + * ARG3 = lower 16 bits of expected header, containing FUN_SUBTAG and arity * ARG4 = fun thing * ARG5 = current PC */ void BeamGlobalAssembler::emit_unloaded_fun() { @@ -36,7 +36,8 @@ void BeamGlobalAssembler::emit_unloaded_fun() { a.mov(ARG1, c_p); load_x_reg_array(ARG2); - /* ARG3 and ARG4 have already been set. */ + a.shr(ARG3, imm(FUN_HEADER_ARITY_OFFS)); + /* ARG4 has already been set. */ runtime_call<4>(beam_jit_handle_unloaded_fun); emit_leave_runtime(beam_jit_build_argument_list); emit_leave_runtime(); @@ -285,6 +285,11 @@ void BeamGlobalAssembler::emit_apply_fun_shared() { a.bind(finished); + /* Make the lower 16 bits of ARG3 equal those of the header word of all + * funs with the same arity. */ + a.shl(ARG3, imm(FUN_HEADER_ARITY_OFFS)); + a.or_(ARG3, imm(FUN_SUBTAG)); + emit_leave_frame(); a.ret(); } @@ -311,63 +316,49 @@ void BeamModuleAssembler::emit_i_apply_fun_only() { } /* Assumes that: - * ARG3 = arity + * ARG3 = lower 16 bits of expected header, containing FUN_SUBTAG and arity * ARG4 = fun thing */ x86::Gp BeamModuleAssembler::emit_call_fun(bool skip_box_test, - bool skip_fun_test, - bool skip_arity_test) { - const bool never_fails = skip_box_test && skip_fun_test && skip_arity_test; + bool skip_header_test) { + const bool can_fail = !(skip_box_test && skip_header_test); Label next = a.newLabel(); /* Speculatively strip the literal tag when needed. */ x86::Gp fun_thing = emit_ptr_val(RET, ARG4); - if (!never_fails) { - /* Load the error fragment into ARG2 so we can CMOV ourselves there on + if (can_fail) { + /* Load the error fragment into ARG1 so that we'll land there on any * error. */ - a.mov(ARG2, ga->get_handle_call_fun_error()); + a.mov(ARG1, ga->get_handle_call_fun_error()); } /* The `handle_call_fun_error` and `unloaded_fun` fragments expect current - * PC in ARG5. */ + * PC in ARG5. Note that the latter requires that we do this even if we + * know the call never fails. */ a.lea(ARG5, x86::qword_ptr(next)); - if (!skip_box_test) { + if (skip_box_test) { + comment("skipped box test since source is always boxed"); + } else { /* As emit_is_boxed(), but explicitly sets ZF so we can rely on that * for error checking in `next`. */ a.test(ARG4d, imm(_TAG_PRIMARY_MASK - TAG_PRIMARY_BOXED)); a.short_().jne(next); - } else { - comment("skipped box test since source is always boxed"); } - if (skip_fun_test) { - comment("skipped fun test since source is always a fun when boxed"); + if (skip_header_test) { + comment("skipped fun/arity test since source is always a fun of the " + "right arity when boxed"); } else { - a.cmp(emit_boxed_val(fun_thing), imm(HEADER_FUN)); + a.cmp(emit_boxed_val(fun_thing, 0, sizeof(Uint16)), ARG3.r16()); a.short_().jne(next); } - if (skip_arity_test) { - comment("skipped arity test since source always has right arity"); - } else { - a.cmp(emit_boxed_val(fun_thing, - offsetof(ErlFunThing, arity), - sizeof(byte)), - ARG3.r8()); - } - a.mov(RET, emit_boxed_val(fun_thing, offsetof(ErlFunThing, entry))); a.mov(ARG1, emit_setup_dispatchable_call(RET)); a.bind(next); - if (!never_fails) { - /* Assumes that ZF is set on success and clear on error, overwriting - * our destination with the error fragment's address. */ - a.cmovne(ARG1, ARG2); - } - return ARG1; } @@ -377,12 +368,15 @@ void BeamModuleAssembler::emit_i_call_fun2(const ArgVal &Tag, mov_arg(ARG4, Func); if (Tag.isImmed()) { - mov_imm(ARG3, Arity.get()); + /* Make the lower 16 bits of ARG3 equal those of the header word of all + * funs with the same arity. */ + mov_imm(ARG3, MAKE_FUN_HEADER(Arity.get(), 0, 0) & 0xFFFF); - auto target = emit_call_fun( - always_one_of(Func), - masked_types(Func) == BeamTypeId::Fun, - Tag.as().get() == am_safe); + ASSERT(Tag.as().get() != am_safe || + exact_type(Func)); + auto target = + emit_call_fun(always_one_of(Func), + Tag.as().get() == am_safe); erlang_call(target, ARG6); } else { @@ -398,12 +392,15 @@ void BeamModuleAssembler::emit_i_call_fun2_last(const ArgVal &Tag, mov_arg(ARG4, Func); if (Tag.isImmed()) { - mov_imm(ARG3, Arity.get()); - - auto target = emit_call_fun( - always_one_of(Func), - masked_types(Func) == BeamTypeId::Fun, - Tag.as().get() == am_safe); + /* Make the lower 16 bits of ARG3 equal those of the header word of all + * funs with the same arity. */ + mov_imm(ARG3, MAKE_FUN_HEADER(Arity.get(), 0, 0) & 0xFFFF); + + ASSERT(Tag.as().get() != am_safe || + exact_type(Func)); + auto target = + emit_call_fun(always_one_of(Func), + Tag.as().get() == am_safe); emit_deallocate(Deallocate); emit_leave_frame(); diff --git a/erts/emulator/beam/jit/x86/instr_map.cpp b/erts/emulator/beam/jit/x86/instr_map.cpp index 5f89077ba655..18eb9eb50a48 100644 --- a/erts/emulator/beam/jit/x86/instr_map.cpp +++ b/erts/emulator/beam/jit/x86/instr_map.cpp @@ -29,63 +29,55 @@ extern "C" #include "beam_common.h" } -static const Uint32 INTERNAL_HASH_SALT = 3432918353; -static const Uint32 HCONST = 0x9E3779B9; - -/* - * ARG4 = lower 32 - * ARG5 = upper 32 +/* ARG2 = term * - * Helper function for calculating the internal hash of keys before looking - * them up in a map. + * Helper for calculating the internal hash of keys before looking them up in a + * map. This is a manual expansion of `erts_internal_hash`, and all changes to + * that function must be mirrored here. * - * This is essentially just a manual expansion of the `UINT32_HASH_2` macro. - * Whenever the internal hash algorithm is updated, this and all of its users - * must follow suit. - * - * Result is returned in ARG3. */ + * Result in ARG3. */ void BeamGlobalAssembler::emit_internal_hash_helper() { - x86::Gp hash = ARG3d, lower = ARG4d, upper = ARG5d; - - a.mov(hash, imm(INTERNAL_HASH_SALT)); - a.add(lower, imm(HCONST)); - a.add(upper, imm(HCONST)); - -#if defined(ERL_INTERNAL_HASH_CRC32C) - a.mov(ARG6d, hash); - a.crc32(hash, lower); - a.add(hash, ARG6d); - a.crc32(hash, upper); -#else - using rounds = - std::initializer_list>; - for (const auto &round : rounds{{lower, upper, hash, 13}, - {upper, hash, lower, -8}, - {hash, lower, upper, 13}, - {lower, upper, hash, 12}, - {upper, hash, lower, -16}, - {hash, lower, upper, 5}, - {lower, upper, hash, 3}, - {upper, hash, lower, -10}, - {hash, lower, upper, 15}}) { - const auto &[r_a, r_b, r_c, shift] = round; - - a.sub(r_a, r_b); - a.sub(r_a, r_c); - - /* We have no use for the type constant anymore, reuse its register for - * the `a ^= r_c << shift` expression. */ - a.mov(ARG6d, r_c); - - if (shift > 0) { - a.shr(ARG6d, imm(shift)); - } else { - a.shl(ARG6d, imm(-shift)); - } + x86::Gp key = ARG2, key_hash = ARG3; - a.xor_(r_a, ARG6d); + /* Unsigned multiplication instructions on x86 either use RDX as an + * implicit source or clobber it. Sigh. */ + if (key == x86::rdx) { + a.mov(TMP_MEM1q, x86::rdx); + } else { + ASSERT(key_hash == x86::rdx); + } + + /* key_hash = key ^ (key >> 33); */ + a.mov(ARG4, ARG2); + a.shr(ARG4, imm(33)); + a.mov(x86::rdx, ARG2); + a.xor_(x86::rdx, ARG4); + + /* `RDX * ARG6` storing a 128 bit result in ARG4:RDX. We only want the + * lower 64 bits in RDX. + * + * key_hash *= 0xFF51AFD7ED558CCDull */ + mov_imm(ARG6, 0xFF51AFD7ED558CCDull); + a.mulx(ARG4, x86::rdx, ARG6); + + /* key_hash ^= key_hash >> 33; */ + a.mov(ARG4, x86::rdx); + a.shr(ARG4, imm(33)); + a.xor_(x86::rdx, ARG4); + + /* key_hash *= 0xC4CEB9FE1A85EC53ull */ + mov_imm(ARG6, 0xC4CEB9FE1A85EC53ull); + a.mulx(ARG4, x86::rdx, ARG6); + + /* key_hash ^= key_hash >> 33; */ + a.mov(ARG4, x86::rdx); + a.shr(ARG4, imm(33)); + a.xor_(x86::rdx, ARG4); + + if (key == x86::rdx) { + a.mov(key_hash, x86::rdx); + a.mov(key, TMP_MEM1q); } -#endif #ifdef DBG_HASHMAP_COLLISION_BONANZA a.mov(TMP_MEM1q, ARG1); @@ -97,14 +89,12 @@ void BeamGlobalAssembler::emit_internal_hash_helper() { runtime_call<2>(erts_dbg_hashmap_collision_bonanza); emit_leave_runtime(); - a.mov(ARG3d, RETd); + a.mov(ARG3, RET); a.mov(ARG1, TMP_MEM1q); a.mov(ARG2, TMP_MEM2q); a.mov(RET, TMP_MEM3q); #endif - - a.ret(); } /* ARG1 = hash map root, ARG2 = key, ARG3 = key hash, RETd = node header @@ -113,7 +103,7 @@ void BeamGlobalAssembler::emit_internal_hash_helper() { void BeamGlobalAssembler::emit_hashmap_get_element() { Label node_loop = a.newLabel(); - x86::Gp node = ARG1, key = ARG2, key_hash = ARG3d, header_val = RETd, + x86::Gp node = ARG1, key = ARG2, key_hash = ARG3, header_val = RETd, index = ARG4d, depth = ARG5d; const int header_shift = @@ -131,7 +121,7 @@ void BeamGlobalAssembler::emit_hashmap_get_element() { /* Find out which child we should follow, and shift the hash for the * next round. */ - a.mov(index, key_hash); + a.mov(index, key_hash.r32()); a.and_(index, imm(0xF)); a.shr(key_hash, imm(4)); a.inc(depth); @@ -171,7 +161,7 @@ void BeamGlobalAssembler::emit_hashmap_get_element() { /* Nope, we have to search another node. */ a.mov(header_val, emit_boxed_val(node, 0, sizeof(Uint32))); - /* After 8 nodes we've run out of the 32 bits we started with + /* After 8/16 nodes we've run out of the hash bits we've started with * and we end up in a collision node. */ a.test(depth, imm(HAMT_MAX_LEVEL - 1)); a.short_().jnz(node_loop); @@ -375,9 +365,11 @@ void BeamGlobalAssembler::emit_i_get_map_element_shared() { a.bind(generic); { + emit_enter_frame(); emit_enter_runtime(); runtime_call<2>(get_map_element); emit_leave_runtime(); + emit_leave_frame(); emit_test_the_non_value(RET); @@ -390,13 +382,9 @@ void BeamGlobalAssembler::emit_i_get_map_element_shared() { a.bind(hashmap); { - /* Calculate the internal hash of ARG2 before diving into the HAMT. */ - a.mov(ARG5, ARG2); - a.shr(ARG5, imm(32)); - a.mov(ARG4d, ARG2d); - - a.call(labels[internal_hash_helper]); - + /* Calculate the internal hash of the key before diving into the + * HAMT. */ + emit_internal_hash_helper(); emit_hashmap_get_element(); } } diff --git a/erts/emulator/beam/jit/x86/instr_msg.cpp b/erts/emulator/beam/jit/x86/instr_msg.cpp index d015d3b71baf..74765a3c7a6a 100644 --- a/erts/emulator/beam/jit/x86/instr_msg.cpp +++ b/erts/emulator/beam/jit/x86/instr_msg.cpp @@ -30,50 +30,6 @@ extern "C" #endif } -#ifdef ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - -static void recv_mark(Process *p) { - /* inlined here... */ - erts_msgq_recv_marker_insert_bind(p, erts_old_recv_marker_id); -} - -static void recv_mark_set(Process *p) { - /* inlined here... */ - erts_msgq_recv_marker_set_save(p, erts_old_recv_marker_id); -} - -void BeamModuleAssembler::emit_i_recv_mark() { - /* - * OLD INSTRUCTION: This instruction is to be removed - * in OTP 26. - * - * Save the current end of message queue - */ - emit_enter_runtime(); - - a.mov(ARG1, c_p); - runtime_call<1>(recv_mark); - - emit_leave_runtime(); -} - -void BeamModuleAssembler::emit_i_recv_set() { - /* - * OLD INSTRUCTION: This instruction is to be removed - * in OTP 26. - * - * If previously saved recv mark, set save pointer to it - */ - emit_enter_runtime(); - - a.mov(ARG1, c_p); - runtime_call<1>(recv_mark_set); - - emit_leave_runtime(); -} - -#endif /* ERTS_SUPPORT_OLD_RECV_MARK_INSTRS */ - void BeamModuleAssembler::emit_recv_marker_reserve(const ArgRegister &Dst) { emit_enter_runtime(); @@ -187,7 +143,7 @@ void BeamGlobalAssembler::emit_i_loop_rec_shared() { a.mov(message_ptr, imm(0)); a.mov(ARG1, c_p); - a.mov(ARG2, FCALLS); + a.mov(ARG2d, FCALLS); mov_imm(ARG3, 0); a.lea(ARG4, message_ptr); a.lea(ARG5, get_out); @@ -205,7 +161,7 @@ void BeamGlobalAssembler::emit_i_loop_rec_shared() { * index. */ emit_leave_runtime(); - a.sub(FCALLS, RET); + a.sub(FCALLS, RETd); /* Need to spill message_ptr to ARG1 as check_is_distributed uses it */ a.mov(ARG1, message_ptr); @@ -232,7 +188,7 @@ void BeamGlobalAssembler::emit_i_loop_rec_shared() { /* We either ran out of reductions or received an exit signal; schedule * ourselves out. The yield address (`c_p->i`) was set on ingress. */ a.and_(x86::dword_ptr(c_p, offsetof(Process, flags)), imm(~F_DELAY_GC)); - a.mov(x86::qword_ptr(c_p, offsetof(Process, arity)), imm(0)); + a.mov(x86::byte_ptr(c_p, offsetof(Process, arity)), imm(0)); a.mov(x86::qword_ptr(c_p, offsetof(Process, current)), imm(0)); emit_unwind_frame(); @@ -294,10 +250,10 @@ void BeamModuleAssembler::emit_remove_message() { emit_enter_runtime(); a.mov(ARG1, c_p); - a.mov(ARG2, FCALLS); + a.mov(ARG2d, FCALLS); a.mov(ARG5, active_code_ix); runtime_call<5>(beam_jit_remove_message); - a.mov(FCALLS, RET); + a.mov(FCALLS, RETd); emit_leave_runtime(); } diff --git a/erts/emulator/beam/jit/x86/instr_trace.cpp b/erts/emulator/beam/jit/x86/instr_trace.cpp index f6d7937f4e95..16f7721624ec 100644 --- a/erts/emulator/beam/jit/x86/instr_trace.cpp +++ b/erts/emulator/beam/jit/x86/instr_trace.cpp @@ -240,9 +240,8 @@ void BeamModuleAssembler::emit_i_hibernate() { a.test(RET, RET); a.je(error); - a.mov(ARG1, x86::qword_ptr(c_p, offsetof(Process, flags))); - a.and_(ARG1, imm(~F_HIBERNATE_SCHED)); - a.mov(x86::qword_ptr(c_p, offsetof(Process, flags)), ARG1); + a.and_(x86::dword_ptr(c_p, offsetof(Process, flags)), + imm(~F_HIBERNATE_SCHED)); a.jmp(resolve_fragment(ga->get_do_schedule())); a.bind(error); diff --git a/erts/emulator/beam/jit/x86/ops.tab b/erts/emulator/beam/jit/x86/ops.tab index ef57021d837b..bbc231311801 100644 --- a/erts/emulator/beam/jit/x86/ops.tab +++ b/erts/emulator/beam/jit/x86/ops.tab @@ -32,34 +32,7 @@ FORBIDDEN_TYPES=hQ # instruction transformations; thus, they never occur in BEAM files. # -# The too_old_compiler/0 instruction is specially handled in beam_load.c -# to produce a user-friendly message informing the user that the module -# needs to be re-compiled with a modern compiler. - -too_old_compiler/0 -too_old_compiler | never() => _ - -# In R9C and earlier, the loader used to insert special instructions inside -# the module_info/0,1 functions. (In R10B and later, the compiler inserts -# an explicit call to an undocumented BIF, so that no loader trickery is -# necessary.) Since the instructions don't work correctly in R12B, simply -# refuse to load the module. - -func_info M=a a==am_module_info A=u==0 | label L | move n x==0 => - too_old_compiler -func_info M=a a==am_module_info A=u==1 | label L | move n x==0 => - too_old_compiler - -# The undocumented and unsupported guard BIF is_constant/1 was removed -# in R13. The is_constant/2 operation is marked as obsolete in genop.tab, -# so the loader will automatically generate a too_old_compiler message -# it is used, but we need to handle the is_constant/1 BIF specially here. - -bif1 Fail u$func:erlang:is_constant/1 Src Dst => too_old_compiler - -# -# All the other instructions. -# +func_info a a u | never() => _ %cold # An unaligned label. The address of an unaligned label must never be saved @@ -118,18 +91,12 @@ allocate_heap t I t deallocate t -init y - trim N Remaining => i_trim N i_trim t test_heap I t -# Translate instructions generated by a compiler before OTP 24. -allocate_zero Ns Live => allocate_heap_zero Ns u Live -allocate_heap_zero Ns Nh Live => allocate_heap_zero(Ns, Nh, Live) - init_yregs I * # Selecting values. @@ -751,7 +718,7 @@ nofail_bif2 S1=d S2 Bif Dst | is_ne_exact_bif(Bif) => bif_is_ne_exact S1 S2 Dst nofail_bif2 S1 S2 Bif Dst | is_ge_bif(Bif) => bif_is_ge S1 S2 Dst nofail_bif2 S1 S2 Bif Dst | is_lt_bif(Bif) => bif_is_lt S1 S2 Dst -i_get_hash c I d +i_get_hash c W d i_get s d self d @@ -804,13 +771,8 @@ i_call_fun2_last aF t S t # # A fun with an empty environment can be converted to a literal. -# As a further optimization, the we try to move the fun to its -# final destination directly. # -make_fun2 OldIndex=u => - make_fun2(OldIndex) - make_fun3 OldIndex=u Dst=d NumFree=u Env=* => make_fun3(OldIndex, Dst, NumFree, Env) @@ -848,7 +810,7 @@ int_func_start Func_Label Func_Line M F A | func_line Func_Line | aligned_label Func_Label u=8 | i_func_info Func_Label M F A | - aligned_label Entry_Label u=8 | + aligned_label Entry_Label u=4 | i_breakpoint_trampoline | line Entry_Line | call_bif_mfa M F A @@ -858,7 +820,7 @@ int_func_start Func_Label Func_Line M F A | func_line Func_Line | aligned_label Func_Label u=8 | i_func_info Func_Label M F A | - aligned_label Entry_Label u=8 | + aligned_label Entry_Label u=4 | i_breakpoint_trampoline | line Entry_Line | i_test_yield @@ -1177,9 +1139,6 @@ i_fmul l l l i_fdiv l l l i_fnegate l l -fclearerror => _ -fcheckerror p => _ - %hot # @@ -1244,7 +1203,7 @@ i_get_map_elements f s I * i_get_map_element_hash Fail Src=c Key Hash Dst => move Src x | i_get_map_element_hash Fail x Key Hash Dst -i_get_map_element_hash f S c I S +i_get_map_element_hash f S c W S i_get_map_element Fail Src=c Key Dst => move Src x | i_get_map_element Fail x Key Dst @@ -1270,12 +1229,26 @@ gc_bif2 Fail Live u$bif:erlang:sminus/2 S1 S2 Dst => # Arithmetic instructions. # -gen_plus Fail Live S1 S2 Dst => i_plus S1 S2 Fail Dst +gc_bif2 Fail1 Live1 u$bif:erlang:stimes/2 S1 S2 Dst1 | + gc_bif2 Fail2 Live2 u$bif:erlang:splus/2 S3 S4 Dst2 | + equal(Dst1, S3) | + equal(Dst1, Dst2) | + equal(Fail1, Fail2) => + i_mul_add Fail1 S1 S2 S3 S4 Dst1 -gen_minus Fail Live S1 S2 Dst => i_minus S1 S2 Fail Dst +gc_bif2 Fail1 Live1 u$bif:erlang:stimes/2 S1 S2 Dst1 | + gc_bif2 Fail2 Live2 u$bif:erlang:splus/2 S3 S4 Dst2 | + equal(Dst1, S4) | + equal(Dst1, Dst2) | + equal(Fail1, Fail2) => + i_mul_add Fail1 S1 S2 S4 S3 Dst1 gc_bif2 Fail Live u$bif:erlang:stimes/2 S1 S2 Dst => - i_times Fail S1 S2 Dst + i_mul_add Fail S1 S2 Dst i Dst + +gen_plus Fail Live S1 S2 Dst => i_plus S1 S2 Fail Dst + +gen_minus Fail Live S1 S2 Dst => i_minus S1 S2 Fail Dst gc_bif2 Fail Live u$bif:erlang:div/2 S1 S2 Dst => i_m_div Fail S1 S2 Dst @@ -1345,7 +1318,7 @@ i_minus s s j d i_unary_minus s j d -i_times j s s d +i_mul_add j s s s s d i_m_div j s s d @@ -1363,16 +1336,6 @@ i_bxor j s s d i_bnot j s d -# -# Old guard BIFs that creates heap fragments are no longer allowed. -# -bif1 Fail u$bif:erlang:length/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:size/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:abs/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:float/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:round/1 s d => too_old_compiler -bif1 Fail u$bif:erlang:trunc/1 s d => too_old_compiler - # # Handle the length/1 guard BIF specially to make it trappable. # @@ -1410,19 +1373,6 @@ unsupported_guard_bif A B C | never() => _ # on_load -# -# R14A. -# -# Superseded in OTP 24 by 'recv_marker_reserve' and friends. -# - -recv_mark f => i_recv_mark -i_recv_mark - -recv_set Fail | label Lbl | loop_rec Lf Reg => - i_recv_set | label Lbl | loop_rec Lf Reg -i_recv_set - # # OTP 21. # @@ -1430,15 +1380,6 @@ i_recv_set build_stacktrace raw_raise -# -# Specialized move instructions. Since they don't require a second -# instruction, we have intentionally placed them after any other -# transformation rules that starts with a move instruction in order to -# produce better code for the transformation engine. -# - -move n D=y => init D - # # OTP 24 # diff --git a/erts/emulator/beam/jit/x86/process_main.cpp b/erts/emulator/beam/jit/x86/process_main.cpp index 210aecb0c2f9..d975f0f11630 100644 --- a/erts/emulator/beam/jit/x86/process_main.cpp +++ b/erts/emulator/beam/jit/x86/process_main.cpp @@ -75,9 +75,6 @@ void BeamGlobalAssembler::emit_process_main() { x86::qword_ptr(x86::rsp, offsetof(ErtsSchedulerRegisters, x_reg_array.d))); - load_erl_bits_state(ARG1); - runtime_call<1>(erts_bits_init_state); - #if defined(DEBUG) && defined(NATIVE_ERLANG_STACK) /* Save stack bounds so they can be tested without clobbering anything. */ runtime_call<0>(erts_get_stacklimit); @@ -119,7 +116,7 @@ void BeamGlobalAssembler::emit_process_main() { { /* Figure out reds_used. def_arg_reg[5] = REDS_IN */ a.mov(ARG3, x86::qword_ptr(c_p, offsetof(Process, def_arg_reg[5]))); - a.sub(ARG3, FCALLS); + a.sub(ARG3d, FCALLS); a.jmp(schedule_next); } @@ -129,8 +126,8 @@ void BeamGlobalAssembler::emit_process_main() { { Sint arity_offset = offsetof(ErtsCodeMFA, arity) - sizeof(ErtsCodeMFA); - a.mov(ARG1, x86::qword_ptr(ARG3, arity_offset)); - a.mov(x86::qword_ptr(c_p, offsetof(Process, arity)), ARG1); + a.movzx(ARG1d, x86::byte_ptr(ARG3, arity_offset)); + a.mov(x86::byte_ptr(c_p, offsetof(Process, arity)), ARG1.r8()); a.lea(ARG1, x86::qword_ptr(ARG3, -(Sint)sizeof(ErtsCodeMFA))); a.mov(x86::qword_ptr(c_p, offsetof(Process, current)), ARG1); @@ -182,7 +179,7 @@ void BeamGlobalAssembler::emit_process_main() { a.lea(ARG1, x86::qword_ptr(labels[process_exit])); a.mov(x86::qword_ptr(c_p, offsetof(Process, i)), ARG1); - a.mov(x86::qword_ptr(c_p, offsetof(Process, arity)), imm(0)); + a.mov(x86::byte_ptr(c_p, offsetof(Process, arity)), imm(0)); a.mov(x86::qword_ptr(c_p, offsetof(Process, current)), imm(0)); a.jmp(do_schedule_local); } @@ -190,17 +187,17 @@ void BeamGlobalAssembler::emit_process_main() { /* Figure out reds_used. def_arg_reg[5] = REDS_IN */ a.mov(ARG3, x86::qword_ptr(c_p, offsetof(Process, def_arg_reg[5]))); - a.sub(ARG3, FCALLS); + a.sub(ARG3d, FCALLS); /* Spill reds_used to FCALLS as we no longer need that value */ - a.mov(FCALLS, ARG3); + a.mov(FCALLS, ARG3d); a.mov(ARG1, c_p); load_x_reg_array(ARG2); runtime_call<2>(copy_out_registers); /* Restore reds_used from FCALLS */ - a.mov(ARG3, FCALLS); + a.mov(ARG3d, FCALLS); /* !! Fall through !! */ } @@ -274,11 +271,13 @@ void BeamGlobalAssembler::emit_process_main() { runtime_call<2>(copy_in_registers); /* Setup reduction counting */ - a.mov(FCALLS, x86::qword_ptr(c_p, offsetof(Process, fcalls))); - a.mov(x86::qword_ptr(c_p, offsetof(Process, def_arg_reg[5])), FCALLS); + a.mov(FCALLS, x86::dword_ptr(c_p, offsetof(Process, fcalls))); + a.mov(x86::qword_ptr(c_p, offsetof(Process, def_arg_reg[5])), + FCALLS.r64()); #ifdef DEBUG - a.mov(x86::qword_ptr(c_p, offsetof(Process, debug_reds_in)), FCALLS); + a.mov(x86::qword_ptr(c_p, offsetof(Process, debug_reds_in)), + FCALLS.r64()); #endif /* Check whether save calls is on */ diff --git a/erts/emulator/beam/sys.h b/erts/emulator/beam/sys.h index c96fd618d2cb..9699bbf2ec0d 100644 --- a/erts/emulator/beam/sys.h +++ b/erts/emulator/beam/sys.h @@ -21,8 +21,6 @@ #ifndef __SYS_H__ #define __SYS_H__ -#define ERTS_SUPPORT_OLD_RECV_MARK_INSTRS - #if !defined(__GNUC__) || defined(__e2k__) # define ERTS_AT_LEAST_GCC_VSN__(MAJ, MIN, PL) 0 #elif !defined(__GNUC_MINOR__) @@ -245,6 +243,7 @@ typedef ERTS_SYS_FD_TYPE ErtsSysFdType; __decl_noreturn void __noreturn erl_assert_error(const char* expr, const char *func, const char* file, int line); +#undef ASSERT #ifdef DEBUG # define ASSERT(e) ERTS_ASSERT(e) #else diff --git a/erts/emulator/beam/utils.c b/erts/emulator/beam/utils.c index 8e2b13136b4c..208675f86514 100644 --- a/erts/emulator/beam/utils.c +++ b/erts/emulator/beam/utils.c @@ -1220,6 +1220,10 @@ int eq(Eterm a, Eterm b) f1 = (ErlFunThing *) fun_val(a); f2 = (ErlFunThing *) fun_val(b); + if (f1->thing_word != f2->thing_word) { + goto not_equal; + } + if (is_local_fun(f1) && is_local_fun(f2)) { ErlFunEntry *fe1, *fe2; @@ -1228,12 +1232,11 @@ int eq(Eterm a, Eterm b) if (fe1->module != fe2->module || fe1->index != fe2->index || - fe1->old_uniq != fe2->old_uniq || - f1->num_free != f2->num_free) { + fe1->old_uniq != fe2->old_uniq) { goto not_equal; } - if ((sz = f1->num_free) == 0) { + if ((sz = fun_num_free(f1)) == 0) { goto pop_next; } @@ -2057,13 +2060,14 @@ Sint erts_cmp_compound(Eterm a, Eterm b, int exact, int eq_only) RETURN_NEQ(diff); } - diff = f1->num_free - f2->num_free; + diff = fun_num_free(f1) - fun_num_free(f2); if (diff != 0) { RETURN_NEQ(diff); } - i = f1->num_free; + i = fun_num_free(f1); if (i == 0) goto pop_next; + aa = f1->env; bb = f2->env; goto term_array; diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c index 329c48172ccd..73cee97aa005 100644 --- a/erts/emulator/drivers/common/inet_drv.c +++ b/erts/emulator/drivers/common/inet_drv.c @@ -9159,8 +9159,8 @@ static ErlDrvSSizeT inet_fill_opts(inet_descriptor* desc, case UDP_OPT_MULTICAST_IF: { - int mif = 0; - unsigned int mifSz = sizeof(mif); + int mif = 0; + unsigned int mifSz = sizeof(mif); *ptr++ = opt; /* We use up the 4 (value) places for the domain/family @@ -9181,7 +9181,8 @@ static ErlDrvSSizeT inet_fill_opts(inet_descriptor* desc, } if (IS_SOCKET_ERROR(sock_getopt(desc->s, proto, type, - &mif, &mifSz))) { + (void *) &mif, + (void *) &mifSz))) { TRUNCATE_TO(0,ptr); continue; } @@ -12855,12 +12856,8 @@ static void tcp_inet_event(ErlDrvData e, ErlDrvEvent event) static int tcp_inet_input(tcp_descriptor* desc, HANDLE event) { int ret = 0; -#ifdef DEBUG - long port = (long) desc->inet.port; /* Used after driver_exit() */ -#endif ASSERT(!INET_IGNORED(INETP(desc))); - DEBUGF(("tcp_inet_input(%p) {s=%d\r\n", port, desc->inet.s)); - /* XXX fprintf(stderr,"tcp_inet_input(%p) {s=%d}\r\n",(long) desc->inet.port, desc->inet.s); */ + DEBUGF(("tcp_inet_input(%p) {s=%d\r\n", desc->inet.port, desc->inet.s)); if (desc->inet.state == INET_STATE_ACCEPTING) { SOCKET s; unsigned int len; @@ -12998,10 +12995,10 @@ static int tcp_inet_input(tcp_descriptor* desc, HANDLE event) /* maybe a close op from connection attempt?? */ sock_select(INETP(desc),FD_ACCEPT,0); DEBUGF(("tcp_inet_input(%p): s=%d bad state: %04x\r\n", - port, desc->inet.s, desc->inet.state)); + desc->inet.port, desc->inet.s, desc->inet.state)); } done: - DEBUGF(("tcp_inet_input(%p) }\r\n", port)); + DEBUGF(("tcp_inet_input(%p) }\r\n", desc->inet.port)); return ret; } diff --git a/erts/emulator/internal_doc/BeamAsm.md b/erts/emulator/internal_doc/BeamAsm.md index 4df4634d2d93..8417210be508 100644 --- a/erts/emulator/internal_doc/BeamAsm.md +++ b/erts/emulator/internal_doc/BeamAsm.md @@ -302,9 +302,11 @@ The files are: ## Linux perf support -perf can also be instrumented using BeamAsm symbols to provide more information. As with -gdb, only the currently executing function will show up in the stack trace, which means -that perf provides functionality similar to that of [eprof](https://erlang.org/doc/man/eprof.html). +The JIT can provide symbols to the Linux profiler `perf`, making it possible to +profile Erlang code with it. Depending on the mode used, `perf` will provide +functionality similar to [eprof](https://erlang.org/doc/man/eprof.html) or +[fprof](https://erlang.org/doc/man/fprof.html) but with much lower (and +configurable) overhead. You can run perf on BeamAsm like this: @@ -319,9 +321,10 @@ and then look at the results using `perf report` as you normally would with perf. Frame pointers are enabled when the `+JPperf true` option is passed, so you can -use `perf record --call-graph=fp` to get more context. This will give you -accurate call graphs for pure Erlang code, but in rare cases it fails to track -transitions from Erlang to C code and back. [`perf record --call-graph=lbr`](https://lwn.net/Articles/680985/) +use `perf record --call-graph=fp` to get more context, making the results +similar to that of `fprof`. This will give you accurate call graphs for pure +Erlang code, but in rare cases it fails to track transitions from Erlang to C +code and back. [`perf record --call-graph=lbr`](https://lwn.net/Articles/680985/) may work better in those cases, but it's worse at tracking in general. For example, you can run perf to analyze dialyzer building a PLT like this: @@ -332,7 +335,8 @@ For example, you can run perf to analyze dialyzer building a PLT like this: sasl runtime_tools snmp ssl tftp wx xmerl tools The above code is run using `+S 1` to make the perf output easier to understand. -If you then run `perf report -f --no-children` you may get something similar to this: +If you then run `perf report -f --no-children` you may get something similar to +this: ![Linux Perf report: dialyzer PLT build](figures/perf-beamasm.png) @@ -430,6 +434,32 @@ compiler options to tell `perf` where to find the source code. > and in `~/.debug/tmp/`. So make sure to cleanup in those directories from time to > time or you may run out of inodes. +### Inspecting perf data on another host + +Sometimes it's not possible or desirable to inspect a recording on the target +machine, which gets a bit tricky because `perf report` relies on having all +symbols available. + +To inspect recordings on another machine, you can use the `perf archive` +command to bundle all the required symbols into an archive. This requires that +the recording is made with the `-k mono` flag and that it has been processed +with `perf inject --jit`: + + perf inject --jit -i perf.data -o perf.jitted.data + perf archive perf.jitted.data + +Once you have the archive, move it together with the processed recording to +the host you wish to inspect the recording on, and extract the archive to +`~/.debug`. You can then use `perf report -i perf.jitted.data` as usual. + +If you get an error message along the lines of: + + perf: 'archive' is not a perf-command. See 'perf --help'. + +Then your `perf` version is too old, and you should use +[this bash script](https://github.com/torvalds/linux/blob/master/tools/perf/perf-archive.sh) +instead. + ### perf tips and tricks You can do a lot of neat things with `perf`. Below is a list of some of the options @@ -439,10 +469,6 @@ we have found useful: Do not include the accumulation of all children in a call. * `perf report --call-graph callee` Show the callee rather than the caller when expanding a function call. -* `perf archive` - Create an archive with all the artifacts needed to inspect the data - on another host. In early version of perf this command does not work, - instead you can use [this bash script](https://github.com/torvalds/linux/blob/master/tools/perf/perf-archive.sh). * `perf report` gives "failed to process sample" and/or "failed to process type: 68" This probably means that you are running a bugged version of perf. We have seen this when running Ubuntu 18.04 with kernel version 4. If you update diff --git a/erts/emulator/internal_doc/beam_makeops.md b/erts/emulator/internal_doc/beam_makeops.md index 563ad200f746..9c127517dc34 100644 --- a/erts/emulator/internal_doc/beam_makeops.md +++ b/erts/emulator/internal_doc/beam_makeops.md @@ -379,16 +379,12 @@ Give the option `-emulator` to produce output files for the emulator. The following output files will be generated in the output directory. * `beam_opcodes.c` - Defines static data used by the loader -(`beam_load.c`). Data about generic instructions, specific -instructions (including how to pack their operands), and -transformation rules are all part of this file. +(`beam_load.c`), providing information about generic and specific +instructions, as well as all C code for the transformation rules. * `beam_opcodes.h` - Miscellaneous preprocessor definitions, mainly used by `beam_load.c` but also by `beam_{hot,warm,cold}.h`. -* `beam_transform.c` - Implementation of guard constraints and generators -called from transformation rules. - For the traditional BEAM interpreter, the following files are also generated: diff --git a/erts/emulator/nifs/common/prim_net_nif.c b/erts/emulator/nifs/common/prim_net_nif.c index b023a8e481ea..af40256d0635 100644 --- a/erts/emulator/nifs/common/prim_net_nif.c +++ b/erts/emulator/nifs/common/prim_net_nif.c @@ -121,17 +121,19 @@ ERL_NIF_INIT(prim_net, net_funcs, on_load, NULL, NULL, NULL) #include /* NEED VC 6.0 or higher */ /* Visual studio 2008+: NTDDI_VERSION needs to be set for iphlpapi.h - * to define the right structures. It needs to be set to WINXP (or LONGHORN) - * for IPV6 to work and it's set lower by default, so we need to change it. + * to define the right structures. + * It needs to be set higher for IPV6 to work and it's set lower by default, + * so we need to change it. */ #ifdef HAVE_SDKDDKVER_H # include # ifdef NTDDI_VERSION # undef NTDDI_VERSION # endif -# define NTDDI_VERSION NTDDI_WINXP +# define NTDDI_VERSION NTDDI_WIN10_RS2 #endif #include +#include #undef WANT_NONBLOCKING #include "sys.h" diff --git a/erts/emulator/nifs/common/prim_socket_int.h b/erts/emulator/nifs/common/prim_socket_int.h index 9f753bf80b5e..2d48874e2787 100644 --- a/erts/emulator/nifs/common/prim_socket_int.h +++ b/erts/emulator/nifs/common/prim_socket_int.h @@ -850,4 +850,14 @@ extern int esock_close_socket(ErlNifEnv* env, ESockDescriptor* descP, BOOLEAN_T unlock); + +/* *** 'ioctl' functions *** + */ +extern ERL_NIF_TERM esock_encode_ioctl_ivalue(ErlNifEnv* env, + ESockDescriptor* descP, + int ivalue); +extern ERL_NIF_TERM esock_encode_ioctl_bvalue(ErlNifEnv* env, + ESockDescriptor* descP, + int bvalue); + #endif // PRIM_SOCKET_INT_H__ diff --git a/erts/emulator/nifs/common/prim_socket_nif.c b/erts/emulator/nifs/common/prim_socket_nif.c index 9d6755387d61..b80f7bea5f6f 100644 --- a/erts/emulator/nifs/common/prim_socket_nif.c +++ b/erts/emulator/nifs/common/prim_socket_nif.c @@ -35,7 +35,8 @@ * esock_dbg_printf("DEMONP", "[%d] %s: %T\r\n", * descP->sock, slogan, * esock_make_monitor_term(env, &mon)); - * + * ESOCK_PRINTF("foobar: %d\r\n", foo); + * ESOCK_EPRINTF("foobar: %d\r\n", foo); */ #define STATIC_ERLANG_NIF 1 @@ -140,17 +141,19 @@ ERL_NIF_INIT(prim_socket, esock_funcs, on_load, NULL, NULL, NULL) #include /* Visual studio 2008+: NTDDI_VERSION needs to be set for iphlpapi.h - * to define the right structures. It needs to be set to WINXP (or LONGHORN) - * for IPV6 to work and it's set lower by default, so we need to change it. + * to define the right structures. + * It needs to be set higher for IPV6 to work and it's set lower by default, + * so we need to change it. */ #ifdef HAVE_SDKDDKVER_H # include # ifdef NTDDI_VERSION # undef NTDDI_VERSION # endif -# define NTDDI_VERSION NTDDI_WINXP +# define NTDDI_VERSION NTDDI_WIN10_RS2 #endif #include +#include #undef WANT_NONBLOCKING #include "sys.h" @@ -452,7 +455,11 @@ static void (*esock_sctp_freepaddrs)(struct sockaddr *addrs) = NULL; #define ESOCK_RECV_BUFFER_COUNT_DEFAULT 0 -#define ESOCK_RECV_BUFFER_SIZE_DEFAULT 8192 +#if defined(__WIN32__) +#define ESOCK_RECV_BUFFER_SIZE_DEFAULT (32*1024) +#else +#define ESOCK_RECV_BUFFER_SIZE_DEFAULT (8*1024) +#endif #define ESOCK_RECV_CTRL_BUFFER_SIZE_DEFAULT 1024 #define ESOCK_SEND_CTRL_BUFFER_SIZE_DEFAULT 1024 @@ -1401,6 +1408,17 @@ static ERL_NIF_TERM esock_setopt_so_bindtodevice(ErlNifEnv* env, ERL_NIF_TERM eVal); #endif +#if defined(SO_BSP_STATE) +static ERL_NIF_TERM esock_getopt_bsp_state(ErlNifEnv* env, + ESockDescriptor* descP, + int level, + int opt); +static ERL_NIF_TERM esock_encode_bsp_state_socket_address(ErlNifEnv* env, + SOCKET_ADDRESS* addr); +static ERL_NIF_TERM esock_encode_bsp_state_type(ErlNifEnv* env, int type); +static ERL_NIF_TERM esock_encode_bsp_state_protocol(ErlNifEnv* env, int proto); +#endif + #if defined(SO_LINGER) static ERL_NIF_TERM esock_setopt_linger(ErlNifEnv* env, @@ -1945,13 +1963,22 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(bindtodevice); \ GLOBAL_ATOM_DECL(block_source); \ GLOBAL_ATOM_DECL(broadcast); \ + GLOBAL_ATOM_DECL(bsp_state); \ GLOBAL_ATOM_DECL(busy_poll); \ + GLOBAL_ATOM_DECL(bytes_in); \ + GLOBAL_ATOM_DECL(bytes_in_flight); \ + GLOBAL_ATOM_DECL(bytes_out); \ + GLOBAL_ATOM_DECL(bytes_reordered); \ + GLOBAL_ATOM_DECL(bytes_retrans); \ GLOBAL_ATOM_DECL(cancel); \ + GLOBAL_ATOM_DECL(cancelled); \ GLOBAL_ATOM_DECL(cantconfig); \ GLOBAL_ATOM_DECL(chaos); \ GLOBAL_ATOM_DECL(checksum); \ GLOBAL_ATOM_DECL(close); \ GLOBAL_ATOM_DECL(closed); \ + GLOBAL_ATOM_DECL(close_wait); \ + GLOBAL_ATOM_DECL(closing); \ GLOBAL_ATOM_DECL(cmsg_cloexec); \ GLOBAL_ATOM_DECL(command); \ GLOBAL_ATOM_DECL(completion); \ @@ -1961,12 +1988,14 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(connect); \ GLOBAL_ATOM_DECL(connected); \ GLOBAL_ATOM_DECL(connecting); \ + GLOBAL_ATOM_DECL(connection_time); \ GLOBAL_ATOM_DECL(context); \ GLOBAL_ATOM_DECL(cork); \ GLOBAL_ATOM_DECL(counters); \ GLOBAL_ATOM_DECL(credentials); \ GLOBAL_ATOM_DECL(ctrl); \ GLOBAL_ATOM_DECL(ctrunc); \ + GLOBAL_ATOM_DECL(cwnd); \ GLOBAL_ATOM_DECL(data); \ GLOBAL_ATOM_DECL(data_size); \ GLOBAL_ATOM_DECL(debug); \ @@ -1985,6 +2014,7 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(drop_source_membership); \ GLOBAL_ATOM_DECL(dstopts); \ GLOBAL_ATOM_DECL(dup); \ + GLOBAL_ATOM_DECL(dup_acks_in); \ GLOBAL_ATOM_DECL(dying); \ GLOBAL_ATOM_DECL(dynamic); \ GLOBAL_ATOM_DECL(echo); \ @@ -1997,14 +2027,19 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(errqueue); \ GLOBAL_ATOM_DECL(esp_network_level); \ GLOBAL_ATOM_DECL(esp_trans_level); \ + GLOBAL_ATOM_DECL(established); \ GLOBAL_ATOM_DECL(ether); \ GLOBAL_ATOM_DECL(eui64); \ GLOBAL_ATOM_DECL(events); \ + GLOBAL_ATOM_DECL(exclusiveaddruse); \ GLOBAL_ATOM_DECL(explicit_eor); \ GLOBAL_ATOM_DECL(faith); \ GLOBAL_ATOM_DECL(false); \ GLOBAL_ATOM_DECL(family); \ GLOBAL_ATOM_DECL(fastroute); \ + GLOBAL_ATOM_DECL(fast_retrans); \ + GLOBAL_ATOM_DECL(fin_wait_1); \ + GLOBAL_ATOM_DECL(fin_wait_2); \ GLOBAL_ATOM_DECL(flags); \ GLOBAL_ATOM_DECL(flowinfo); \ GLOBAL_ATOM_DECL(fragment_interleave); \ @@ -2037,6 +2072,7 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(ip); \ GLOBAL_ATOM_DECL(ipcomp_level); \ GLOBAL_ATOM_DECL(ipip); \ + GLOBAL_ATOM_DECL(iplevel); \ GLOBAL_ATOM_DECL(ipv6); \ GLOBAL_ATOM_DECL(irq); \ GLOBAL_ATOM_DECL(i_want_mapped_v4_addr); \ @@ -2047,13 +2083,15 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(keepintvl); \ GLOBAL_ATOM_DECL(kernel); \ GLOBAL_ATOM_DECL(knowsepoch); \ + GLOBAL_ATOM_DECL(last_ack); \ GLOBAL_ATOM_DECL(leave_group); \ GLOBAL_ATOM_DECL(level); \ GLOBAL_ATOM_DECL(linger); \ GLOBAL_ATOM_DECL(link); \ - GLOBAL_ATOM_DECL(link0); \ - GLOBAL_ATOM_DECL(link1); \ - GLOBAL_ATOM_DECL(link2); \ + GLOBAL_ATOM_DECL(link0); \ + GLOBAL_ATOM_DECL(link1); \ + GLOBAL_ATOM_DECL(link2); \ + GLOBAL_ATOM_DECL(listen); \ GLOBAL_ATOM_DECL(local); \ GLOBAL_ATOM_DECL(localtlk); \ GLOBAL_ATOM_DECL(local_auth_chunks); \ @@ -2062,17 +2100,22 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(lower_up); \ GLOBAL_ATOM_DECL(mark); \ GLOBAL_ATOM_DECL(master); \ + GLOBAL_ATOM_DECL(max); \ GLOBAL_ATOM_DECL(maxburst); \ + GLOBAL_ATOM_DECL(maxdg); \ GLOBAL_ATOM_DECL(maxseg); \ + GLOBAL_ATOM_DECL(max_msg_size); \ GLOBAL_ATOM_DECL(md5sig); \ GLOBAL_ATOM_DECL(mem_end); \ GLOBAL_ATOM_DECL(mem_start); \ GLOBAL_ATOM_DECL(metricom); \ GLOBAL_ATOM_DECL(mincost); \ GLOBAL_ATOM_DECL(minttl); \ + GLOBAL_ATOM_DECL(min_rtt); \ GLOBAL_ATOM_DECL(monitor); \ GLOBAL_ATOM_DECL(more); \ GLOBAL_ATOM_DECL(msfilter); \ + GLOBAL_ATOM_DECL(mss); \ GLOBAL_ATOM_DECL(mtu); \ GLOBAL_ATOM_DECL(mtu_discover); \ GLOBAL_ATOM_DECL(multicast); \ @@ -2105,7 +2148,9 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(num_unexpected_writes); \ GLOBAL_ATOM_DECL(num_unknown_cmds); \ GLOBAL_ATOM_DECL(oactive); \ + GLOBAL_ATOM_DECL(off); \ GLOBAL_ATOM_DECL(ok); \ + GLOBAL_ATOM_DECL(on); \ GLOBAL_ATOM_DECL(oob); \ GLOBAL_ATOM_DECL(oobinline); \ GLOBAL_ATOM_DECL(options); \ @@ -2141,6 +2186,8 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(rcvbufforce); \ GLOBAL_ATOM_DECL(rcvlowat); \ GLOBAL_ATOM_DECL(rcvtimeo); \ + GLOBAL_ATOM_DECL(rcv_buf); \ + GLOBAL_ATOM_DECL(rcv_wnd); \ GLOBAL_ATOM_DECL(rdm); \ GLOBAL_ATOM_DECL(read_byte); \ GLOBAL_ATOM_DECL(read_fails); \ @@ -2167,9 +2214,11 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(reuseaddr); \ GLOBAL_ATOM_DECL(reuseport); \ GLOBAL_ATOM_DECL(rights); \ + GLOBAL_ATOM_DECL(rm); \ GLOBAL_ATOM_DECL(router_alert); \ GLOBAL_ATOM_DECL(rthdr); \ GLOBAL_ATOM_DECL(rtoinfo); \ + GLOBAL_ATOM_DECL(rtt); \ GLOBAL_ATOM_DECL(running); \ GLOBAL_ATOM_DECL(rxq_ovfl); \ GLOBAL_ATOM_DECL(scope_id); \ @@ -2201,6 +2250,7 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(sndbufforce); \ GLOBAL_ATOM_DECL(sndlowat); \ GLOBAL_ATOM_DECL(sndtimeo); \ + GLOBAL_ATOM_DECL(snd_wnd); \ GLOBAL_ATOM_DECL(sockaddr); \ GLOBAL_ATOM_DECL(socket); \ GLOBAL_ATOM_DECL(spec_dst); \ @@ -2209,6 +2259,9 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(status); \ GLOBAL_ATOM_DECL(stream); \ GLOBAL_ATOM_DECL(syncnt); \ + GLOBAL_ATOM_DECL(syn_rcvd); \ + GLOBAL_ATOM_DECL(syn_retrans); \ + GLOBAL_ATOM_DECL(syn_sent); \ GLOBAL_ATOM_DECL(tclass); \ GLOBAL_ATOM_DECL(tcp); \ GLOBAL_ATOM_DECL(throughput); \ @@ -2216,6 +2269,9 @@ static const struct in6_addr in6addr_loopback = GLOBAL_ATOM_DECL(tos); \ GLOBAL_ATOM_DECL(transparent); \ GLOBAL_ATOM_DECL(timeout); \ + GLOBAL_ATOM_DECL(timeout_episodes); \ + GLOBAL_ATOM_DECL(timestamp_enabled); \ + GLOBAL_ATOM_DECL(time_wait); \ GLOBAL_ATOM_DECL(true); \ GLOBAL_ATOM_DECL(trunc); \ GLOBAL_ATOM_DECL(ttl); \ @@ -2275,6 +2331,7 @@ ERL_NIF_TERM esock_atom_socket_tag; // This has a "special" name ('$socket') LOCAL_ATOM_DECL(adm_prohibited); \ LOCAL_ATOM_DECL(association); \ LOCAL_ATOM_DECL(assoc_id); \ + LOCAL_ATOM_DECL(atmark); \ LOCAL_ATOM_DECL(authentication); \ LOCAL_ATOM_DECL(boolean); \ LOCAL_ATOM_DECL(bound); \ @@ -2324,6 +2381,7 @@ ERL_NIF_TERM esock_atom_socket_tag; // This has a "special" name ('$socket') LOCAL_ATOM_DECL(io_backend); \ LOCAL_ATOM_DECL(io_num_threads); \ LOCAL_ATOM_DECL(listening); \ + LOCAL_ATOM_DECL(local_addr); \ LOCAL_ATOM_DECL(local_rwnd); \ LOCAL_ATOM_DECL(map); \ LOCAL_ATOM_DECL(max); \ @@ -2344,6 +2402,9 @@ ERL_NIF_TERM esock_atom_socket_tag; // This has a "special" name ('$socket') LOCAL_ATOM_DECL(none); \ LOCAL_ATOM_DECL(noroute); \ LOCAL_ATOM_DECL(not_neighbour); \ + LOCAL_ATOM_DECL(nread); \ + LOCAL_ATOM_DECL(nspace); \ + LOCAL_ATOM_DECL(nwrite); \ LOCAL_ATOM_DECL(null); \ LOCAL_ATOM_DECL(num_acceptors); \ LOCAL_ATOM_DECL(num_cnt_bits); \ @@ -2378,6 +2439,9 @@ ERL_NIF_TERM esock_atom_socket_tag; // This has a "special" name ('$socket') LOCAL_ATOM_DECL(port_unreach); \ LOCAL_ATOM_DECL(probe); \ LOCAL_ATOM_DECL(protocols); \ + LOCAL_ATOM_DECL(rcvall); \ + LOCAL_ATOM_DECL(rcvall_igmpmcast); \ + LOCAL_ATOM_DECL(rcvall_mcast); \ LOCAL_ATOM_DECL(rcvctrlbuf); \ LOCAL_ATOM_DECL(read); \ LOCAL_ATOM_DECL(read_pkg_max); \ @@ -2386,6 +2450,7 @@ ERL_NIF_TERM esock_atom_socket_tag; // This has a "special" name ('$socket') LOCAL_ATOM_DECL(registry); \ LOCAL_ATOM_DECL(reject_route); \ LOCAL_ATOM_DECL(remote); \ + LOCAL_ATOM_DECL(remote_addr); \ LOCAL_ATOM_DECL(rstates); \ LOCAL_ATOM_DECL(selected); \ LOCAL_ATOM_DECL(sender_dry); \ @@ -2404,6 +2469,7 @@ ERL_NIF_TERM esock_atom_socket_tag; // This has a "special" name ('$socket') LOCAL_ATOM_DECL(socket_level); \ LOCAL_ATOM_DECL(socket_option); \ LOCAL_ATOM_DECL(sourceaddr); \ + LOCAL_ATOM_DECL(tcp_info); \ LOCAL_ATOM_DECL(time_exceeded); \ LOCAL_ATOM_DECL(true); \ LOCAL_ATOM_DECL(txstatus); \ @@ -2675,6 +2741,17 @@ static struct ESockOpt optLevelSocket[] = {0, NULL, NULL, &esock_atom_busy_poll}, + { +#ifdef SO_BSP_STATE + SO_BSP_STATE, + NULL, esock_getopt_bsp_state, +#else + 0, NULL, NULL, +#endif + &esock_atom_bsp_state}, + + {0, NULL, NULL, &esock_atom_busy_poll}, + { #ifdef SO_DEBUG SO_DEBUG, @@ -2705,13 +2782,22 @@ static struct ESockOpt optLevelSocket[] = {0, NULL, NULL, &esock_atom_error}, { -#ifdef SO_KEEPALIVE - SO_KEEPALIVE, +#ifdef SO_EXCLUSIVEADDRUSE + SO_EXCLUSIVEADDRUSE, esock_setopt_bool_opt, esock_getopt_bool_opt, #else 0, NULL, NULL, #endif - &esock_atom_keepalive}, + &esock_atom_exclusiveaddruse}, + + { +#ifdef SO_KEEPALIVE + SO_KEEPALIVE, + esock_setopt_bool_opt, esock_getopt_bool_opt, +#else + 0, NULL, NULL, +#endif + &esock_atom_keepalive}, { #ifdef SO_LINGER @@ -2724,6 +2810,24 @@ static struct ESockOpt optLevelSocket[] = {0, NULL, NULL, &esock_atom_mark}, + { +#ifdef SO_MAXDG + SO_MAXDG, + NULL, esock_getopt_int_opt, +#else + 0, NULL, NULL, +#endif + &esock_atom_maxdg}, + + { +#ifdef SO_MAX_MSG_SIZE + SO_MAX_MSG_SIZE, + NULL, esock_getopt_int_opt, +#else + 0, NULL, NULL, +#endif + &esock_atom_max_msg_size}, + { #ifdef SO_OOBINLINE SO_OOBINLINE, @@ -3541,9 +3645,33 @@ static struct ESockOpt optLevelTCP[] = &esock_atom_cork}, {0, NULL, NULL, &esock_atom_info}, - {0, NULL, NULL, &esock_atom_keepcnt}, - {0, NULL, NULL, &esock_atom_keepidle}, - {0, NULL, NULL, &esock_atom_keepintvl}, + + { +#ifdef TCP_KEEPCNT + TCP_KEEPCNT, + esock_setopt_int_opt, esock_getopt_int_opt, +#else + 0, NULL, NULL, +#endif + &esock_atom_keepcnt}, + + { +#ifdef TCP_KEEPIDLE + TCP_KEEPIDLE, + esock_setopt_int_opt, esock_getopt_int_opt, +#else + 0, NULL, NULL, +#endif + &esock_atom_keepidle}, + + { +#ifdef TCP_KEEPINTVL + TCP_KEEPINTVL, + esock_setopt_int_opt, esock_getopt_int_opt, +#else + 0, NULL, NULL, +#endif + &esock_atom_keepintvl}, { #ifdef TCP_MAXSEG @@ -3566,7 +3694,14 @@ static struct ESockOpt optLevelTCP[] = &esock_atom_nodelay}, {0, NULL, NULL, &esock_atom_noopt}, - {0, NULL, NULL, &esock_atom_nopush}, + { +#ifdef TCP_NOPUSH + TCP_NOPUSH, + esock_setopt_bool_opt, esock_getopt_bool_opt, +#else + 0, NULL, NULL, +#endif + &esock_atom_nopush}, {0, NULL, NULL, &esock_atom_syncnt}, {0, NULL, NULL, &esock_atom_user_timeout} @@ -4678,9 +4813,9 @@ ERL_NIF_TERM esock_supports_protocols(ErlNifEnv* env) */ protocols = - MKC(env, - MKT2(env, MKL1(env, esock_atom_ip), MKI(env, protoIP)), - protocols); + MKC(env, + MKT2(env, MKL1(env, esock_atom_ip), MKI(env, protoIP)), + protocols); #ifdef HAVE_IPV6 protocols = @@ -4695,9 +4830,16 @@ ERL_NIF_TERM esock_supports_protocols(ErlNifEnv* env) protocols); protocols = - MKC(env, - MKT2(env, MKL1(env, esock_atom_udp), MKI(env, IPPROTO_UDP)), - protocols); + MKC(env, + MKT2(env, MKL1(env, esock_atom_udp), MKI(env, IPPROTO_UDP)), + protocols); + +#ifdef IPPROTO_RM + protocols = + MKC(env, + MKT2(env, MKL1(env, esock_atom_rm), MKI(env, IPPROTO_RM)), + protocols); +#endif #ifdef HAVE_SCTP protocols = @@ -4706,11 +4848,15 @@ ERL_NIF_TERM esock_supports_protocols(ErlNifEnv* env) protocols); #endif + protocols = + MKC(env, + MKT2(env, MKL1(env, esock_atom_igmp), MKI(env, IPPROTO_IGMP)), + protocols); + return protocols; } - static ERL_NIF_TERM esock_supports_ioctl_requests(ErlNifEnv* env) { @@ -4719,6 +4865,26 @@ ERL_NIF_TERM esock_supports_ioctl_requests(ErlNifEnv* env) requests = MKEL(env); /* --- GET REQUESTS --- */ +#if defined(SIOCGIFCONF) + requests = MKC(env, MKT2(env, atom_gifconf, MKUL(env, SIOCGIFCONF)), requests); +#endif + +#if defined(FIONREAD) + requests = MKC(env, MKT2(env, atom_nread, MKUL(env, FIONREAD)), requests); +#endif + +#if defined(FIONWRITE) + requests = MKC(env, MKT2(env, atom_nwrite, MKUL(env, FIONWRITE)), requests); +#endif + +#if defined(FIONSPACE) + requests = MKC(env, MKT2(env, atom_nspace, MKUL(env, FIONSPACE)), requests); +#endif + +#if defined(SIOCATMARK) + requests = MKC(env, MKT2(env, atom_atmark, MKUL(env, SIOCATMARK)), requests); +#endif + #if defined(SIOCGIFNAME) requests = MKC(env, MKT2(env, atom_gifname, MKUL(env, SIOCGIFNAME)), requests); #endif @@ -4763,8 +4929,8 @@ ERL_NIF_TERM esock_supports_ioctl_requests(ErlNifEnv* env) requests = MKC(env, MKT2(env, atom_giftxqlen, MKUL(env, SIOCGIFTXQLEN)), requests); #endif -#if defined(SIOCGIFCONF) - requests = MKC(env, MKT2(env, atom_gifconf, MKUL(env, SIOCGIFCONF)), requests); +#if defined(SIO_TCP_INFO) + requests = MKC(env, MKT2(env, atom_tcp_info, MKUL(env, SIO_TCP_INFO)), requests); #endif /* --- SET REQUESTS --- */ @@ -4792,6 +4958,18 @@ ERL_NIF_TERM esock_supports_ioctl_requests(ErlNifEnv* env) requests = MKC(env, MKT2(env, atom_siftxqlen, MKUL(env, SIOCSIFTXQLEN)), requests); #endif +#if defined(SIO_RCVALL) + requests = MKC(env, MKT2(env, atom_rcvall, MKUL(env, SIO_RCVALL)), requests); +#endif + +#if defined(SIO_RCVALL_IGMPMCAST) + requests = MKC(env, MKT2(env, atom_rcvall_igmpmcast, MKUL(env, SIO_RCVALL_IGMPMCAST)), requests); +#endif + +#if defined(SIO_RCVALL_MCAST) + requests = MKC(env, MKT2(env, atom_rcvall_mcast, MKUL(env, SIO_RCVALL_MCAST)), requests); +#endif + return requests; } @@ -7027,15 +7205,15 @@ ERL_NIF_TERM esock_setopt(ErlNifEnv* env, MLOCK(descP->writeMtx); SSDBG( descP, - ("SOCKET", "esock_setopt {%d} -> entry with" - "\r\n level: %d" - "\r\n opt: %d" - "\r\n eVal: %T" + ("SOCKET", "esock_setopt(%d) -> entry with" + "\r\n level: %d" + "\r\n opt: %d" + "\r\n eVal: %T" "\r\n", descP->sock, level, opt, eVal) ); if (! IS_OPEN(descP->writeState)) { SSDBG( descP, - ("SOCKET", "esock_setopt {%d} -> done closed\r\n", + ("SOCKET", "esock_setopt(%d) -> done closed\r\n", descP->sock) ); MUNLOCK(descP->writeMtx); @@ -7050,7 +7228,7 @@ ERL_NIF_TERM esock_setopt(ErlNifEnv* env, SSDBG( descP, ("SOCKET", - "esock_setopt {%d} -> unknown option\r\n", + "esock_setopt(%d) -> unknown option\r\n", descP->sock) ); } else if (optP->setopt == NULL) { @@ -7059,7 +7237,7 @@ ERL_NIF_TERM esock_setopt(ErlNifEnv* env, SSDBG( descP, ("SOCKET", - "esock_setopt {%d} -> opt not settable\r\n", + "esock_setopt(%d) -> opt not settable\r\n", descP->sock) ); } else { @@ -7067,7 +7245,7 @@ ERL_NIF_TERM esock_setopt(ErlNifEnv* env, result = (optP->setopt)(env, descP, level, opt, eVal); SSDBG( descP, - ("SOCKET", "esock_setopt {%d} -> done when" + ("SOCKET", "esock_setopt(%d) -> done when" "\r\n result: %T" "\r\n", descP->sock, result) ); } @@ -7102,13 +7280,20 @@ ERL_NIF_TERM esock_setopt_linger(ErlNifEnv* env, BOOLEAN_T onOff; struct linger val; + SSDBG( descP, + ("SOCKET", "esock_setopt_linger(%d) -> entry with" + "\r\n level: %d" + "\r\n opt: %d" + "\r\n eVal: %T" + "\r\n", descP->sock, level, opt, eVal) ); + sys_memzero(&val, sizeof(val)); if ((! GET_MAP_VAL(env, eVal, atom_onoff, &eOnOff)) || (! GET_MAP_VAL(env, eVal, esock_atom_linger, &eLinger))) { if (COMPARE(eVal, esock_atom_abort) == 0) { - val.l_onoff = 1; + val.l_onoff = 1; val.l_linger = 0; return esock_setopt_level_opt(env, descP, level, opt, &val, sizeof(val)); @@ -7123,6 +7308,12 @@ ERL_NIF_TERM esock_setopt_linger(ErlNifEnv* env, } val.l_onoff = onOff ? 1 : 0; + SSDBG( descP, + ("SOCKET", "esock_setopt_linger(%d) -> entry with" + "\r\n val.l_onoff: %d" + "\r\n val.l_linger: %d" + "\r\n", descP->sock, val.l_onoff, val.l_linger) ); + return esock_setopt_level_opt(env, descP, level, opt, &val, sizeof(val)); } @@ -8825,6 +9016,185 @@ ERL_NIF_TERM esock_getopt_so_bindtodevice(ErlNifEnv* env, #endif +#if defined(SO_BSP_STATE) +/* We need to allocate *all* of the memory used by the CSADDR_INFO + * structure. *Including* the 'sockaddr' structures pointed to by + * LocalAddr and RemoteAddr (lpSockaddr in SOCKET_ADDRESS). + * The '2*' is just to "dead sure" that we have enough... + */ +static +ERL_NIF_TERM esock_getopt_bsp_state(ErlNifEnv* env, + ESockDescriptor* descP, + int level, + int opt) +{ + ERL_NIF_TERM result; + SOCKOPTLEN_T valSz = 2*(sizeof(CSADDR_INFO) + 2*sizeof(SOCKADDR)); + CSADDR_INFO* valP = MALLOC(valSz); + int res; + + SSDBG( descP, + ("SOCKET", "esock_getopt_bsp_state(%d) -> entry\r\n", descP->sock) ); + + sys_memzero((void *) valP, valSz); + +#ifdef __WIN32__ + res = sock_getopt(descP->sock, level, opt, (char*) valP, &valSz); +#else + res = sock_getopt(descP->sock, level, opt, valP, &valSz); +#endif + + if (res != 0) { + int save_errno = sock_errno(); + ERL_NIF_TERM reason = ENO2T(env, save_errno); + + SSDBG( descP, + ("SOCKET", "esock_getopt_bsp_state(%d) -> error: " + "\r\n %T" + "\r\n", descP->sock, reason) ); + + result = esock_make_error(env, reason); + + } else if (valSz > 0) { + ERL_NIF_TERM + la = esock_encode_bsp_state_socket_address(env, &valP->LocalAddr), + ra = esock_encode_bsp_state_socket_address(env, &valP->RemoteAddr), + type = esock_encode_bsp_state_type(env, valP->iSocketType), + proto = esock_encode_bsp_state_protocol(env, valP->iProtocol), + keys[] = {atom_local_addr, atom_remote_addr, esock_atom_type, esock_atom_protocol}, + vals[] = {la, ra, type, proto}, + bspState; + size_t numKeys = NUM(keys); + + SSDBG( descP, + ("SOCKET", "esock_getopt_bsp_state(%d) -> values encoded:" + "\r\n la: %T" + "\r\n ra: %T" + "\r\n type: %T" + "\r\n proto: %T" + "\r\n", descP->sock, + la, ra, type, proto) ); + + ESOCK_ASSERT( numKeys == NUM(vals) ); + ESOCK_ASSERT( MKMA(env, keys, vals, numKeys, &bspState) ); + + SSDBG( descP, + ("SOCKET", "esock_getopt_bsp_state(%d) -> " + "\r\n BSP State: %T" + "\r\n", descP->sock, bspState) ); + + result = esock_make_ok2(env, bspState); + } else { + result = esock_make_ok2(env, esock_atom_undefined); + } + + FREE( valP ); + + SSDBG( descP, + ("SOCKET", "esock_getopt_bsp_state(%d) -> done when" + "\r\n result: %T" + "\r\n", descP->sock, result) ); + + return result; +} + + +static +ERL_NIF_TERM esock_encode_bsp_state_socket_address(ErlNifEnv* env, + SOCKET_ADDRESS* addr) +{ + ERL_NIF_TERM eaddr; + + if (addr == NULL) + return esock_atom_undefined; + + if ((addr->lpSockaddr == NULL) || + (addr->iSockaddrLength == 0)) + return esock_atom_undefined; + + esock_encode_sockaddr(env, + (ESockAddress*) addr->lpSockaddr, + addr->iSockaddrLength, + &eaddr); + + return eaddr; +} + + +static +ERL_NIF_TERM esock_encode_bsp_state_type(ErlNifEnv* env, int type) +{ + ERL_NIF_TERM etype; + + switch (type) { + case SOCK_STREAM: + etype = esock_atom_stream; + break; + + case SOCK_DGRAM: + etype = esock_atom_dgram; + break; + + case SOCK_RDM: + etype = esock_atom_rdm; + break; + + case SOCK_SEQPACKET: + etype = esock_atom_seqpacket; + break; + + default: + etype = MKI(env, type); + break; + } + + return etype; +} + + +static +ERL_NIF_TERM esock_encode_bsp_state_protocol(ErlNifEnv* env, int proto) +{ + ERL_NIF_TERM eproto; + + switch (proto) { + case IPPROTO_TCP: + eproto = esock_atom_tcp; + break; + + case IPPROTO_UDP: + eproto = esock_atom_udp; + break; + + /* + * In Wista and later the IPPROTO_PGM constant is defined in the + * Ws2def.h header file to the same value as the IPPROTO_RM constant + * defined in the Wsrm.h header file. + * => So we use IPPROTO_PGM also but translate to rm... + * + */ +#if defined(IPPROTO_RM) || defined(IPPROTO_PGM) +#if defined(IPPROTO_RM) + case IPPROTO_RM: +#else if defined(IPPROTO_PGM) + case IPPROTO_PGM: +#endif + eproto = esock_atom_rm; + break; +#endif + + default: + eproto = MKI(env, proto); + break; + } + + return eproto; +} + +#endif + + + #if defined(SO_DOMAIN) static ERL_NIF_TERM esock_getopt_sock_domain(ErlNifEnv* env, @@ -8879,9 +9249,24 @@ ERL_NIF_TERM esock_getopt_linger(ErlNifEnv* env, linger; size_t numKeys = NUM(keys); + SSDBG( descP, + ("SOCKET", "esock_getopt_linger(%d) -> " + "\r\n val.l_onoff: %d" + "\r\n lOnOff: %T" + "\r\n val.l_linger: %d" + "\r\n lSecs: %T" + "\r\n", descP->sock, + val.l_onoff, lOnOff, + val.l_linger, lSecs) ); + ESOCK_ASSERT( numKeys == NUM(vals) ); ESOCK_ASSERT( MKMA(env, keys, vals, numKeys, &linger) ); + SSDBG( descP, + ("SOCKET", "esock_getopt_linger(%d) -> " + "\r\n linger: %T" + "\r\n", descP->sock, linger) ); + result = esock_make_ok2(env, linger); } @@ -9800,8 +10185,8 @@ ERL_NIF_TERM esock_peername(ErlNifEnv* env, return esock_make_error_closed(env); SSDBG( descP, - ("SOCKET", "esock_peername {%d} -> open - try get peername\r\n", - descP->sock) ); + ("SOCKET", "esock_peername {%d} -> open - try get peername (%d)\r\n", + descP->sock, sz) ); sys_memzero((char*) saP, sz); if (sock_peer(descP->sock, (struct sockaddr*) saP, &sz) < 0) { @@ -9811,8 +10196,8 @@ ERL_NIF_TERM esock_peername(ErlNifEnv* env, SSDBG( descP, ("SOCKET", "esock_peername {%d} -> " - "got peername - try decode\r\n", - descP->sock) ); + "got peername (%d) - try decode\r\n", + descP->sock, sz) ); esock_encode_sockaddr(env, saP, (SOCKLEN_T) sz, &esa); @@ -12769,6 +13154,39 @@ BOOLEAN_T esock_monitor_eq(const ESockMonitor* monP, +/* + * Misc ioctl utility functions. + */ +extern +ERL_NIF_TERM esock_encode_ioctl_ivalue(ErlNifEnv* env, + ESockDescriptor* descP, + int ivalue) +{ + ERL_NIF_TERM eivalue = MKI(env, ivalue); + + SSDBG( descP, ("SOCKET", "esock_encode_ioctl_ivalue -> done with" + "\r\n iValue: %T (%d)" + "\r\n", eivalue, ivalue) ); + + return esock_make_ok2(env, eivalue); +} + + +extern +ERL_NIF_TERM esock_encode_ioctl_bvalue(ErlNifEnv* env, + ESockDescriptor* descP, + int bvalue) +{ + ERL_NIF_TERM ebvalue = ((bvalue) ? esock_atom_true : esock_atom_false); + + SSDBG( descP, ("SOCKET", "esock_encode_ioctl_bvalue -> done with" + "\r\n bValue: %T (%d)" + "\r\n", ebvalue, bvalue) ); + + return esock_make_ok2(env, ebvalue); +} + + /* ---------------------------------------------------------------------- * C a l l b a c k F u n c t i o n s * ---------------------------------------------------------------------- @@ -13295,8 +13713,8 @@ int on_load(ErlNifEnv* env, void** priv_data, ERL_NIF_TERM load_info) io_backend.getopt_native = esock_getopt_native; io_backend.getopt_otp = esock_getopt_otp; - io_backend.ioctl_2 = NULL; - io_backend.ioctl_3 = NULL; + io_backend.ioctl_2 = esaio_ioctl2; + io_backend.ioctl_3 = esaio_ioctl3; io_backend.ioctl_4 = NULL; io_backend.dtor = esaio_dtor; diff --git a/erts/emulator/nifs/common/prim_tty_nif.c b/erts/emulator/nifs/common/prim_tty_nif.c index 7328ec894e92..84c42f444b89 100644 --- a/erts/emulator/nifs/common/prim_tty_nif.c +++ b/erts/emulator/nifs/common/prim_tty_nif.c @@ -42,16 +42,15 @@ #include #include #ifdef HAVE_TERMCAP - #include - #include - #include +#include +#include #endif #ifndef __WIN32__ - #include - #include +#include +#include #endif #ifdef HAVE_SYS_UIO_H - #include +#include #endif #if defined IOV_MAX @@ -79,10 +78,15 @@ typedef struct { #ifdef __WIN32__ HANDLE ofd; HANDLE ifd; + HANDLE ifdOverlapped; DWORD dwOriginalOutMode; DWORD dwOriginalInMode; DWORD dwOutMode; DWORD dwInMode; + + /* Fields to handle the threaded reader */ + OVERLAPPED overlapped; + ErlNifBinary overlappedBuffer; #else int ofd; /* stdout */ int ifd; /* stdin */ @@ -90,9 +94,6 @@ typedef struct { ErlNifPid self; ErlNifPid reader; int tty; /* if the tty is initialized */ -#ifdef THREADED_READER - ErlNifTid reader_tid; -#endif #ifndef __WIN32__ int signal[2]; /* Pipe used for signal (winch + cont) notifications */ #endif @@ -102,6 +103,15 @@ typedef struct { #endif } TTYResource; +// #define HARD_DEBUG +#ifdef HARD_DEBUG +static FILE *logFile = NULL; + +#define debug(fmt, ...) do { if (logFile) { erts_fprintf(logFile, fmt, __VA_ARGS__); fflush(logFile); } } while(0) +#else +#define debug(...) do { } while(0) +#endif + static ErlNifResourceType *tty_rt; /* The NIFs: */ @@ -112,6 +122,7 @@ static ERL_NIF_TERM tty_set_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM arg static ERL_NIF_TERM setlocale_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); static ERL_NIF_TERM tty_select_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); static ERL_NIF_TERM tty_write_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); +static ERL_NIF_TERM tty_encoding_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); static ERL_NIF_TERM tty_read_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); static ERL_NIF_TERM isprint_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); static ERL_NIF_TERM wcwidth_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); @@ -135,6 +146,7 @@ static ErlNifFunc nif_funcs[] = { {"tty_select", 3, tty_select_nif}, {"tty_window_size", 1, tty_window_size_nif}, {"write_nif", 2, tty_write_nif, ERL_NIF_DIRTY_JOB_IO_BOUND}, + {"tty_encoding", 1, tty_encoding_nif}, {"read_nif", 2, tty_read_nif, ERL_NIF_DIRTY_JOB_IO_BOUND}, {"isprint", 1, isprint_nif}, {"wcwidth", 1, wcwidth_nif}, @@ -144,6 +156,7 @@ static ErlNifFunc nif_funcs[] = { {"tgetnum_nif", 1, tty_tgetnum_nif}, {"tgetflag_nif", 1, tty_tgetflag_nif}, {"tgetstr_nif", 1, tty_tgetstr_nif}, + {"tgoto_nif", 1, tty_tgoto_nif}, {"tgoto_nif", 2, tty_tgoto_nif}, {"tgoto_nif", 3, tty_tgoto_nif} }; @@ -155,19 +168,21 @@ static void unload(ErlNifEnv* env, void* priv_data); ERL_NIF_INIT(prim_tty, nif_funcs, load, NULL, upgrade, unload) -#define ATOMS \ - ATOM_DECL(canon); \ - ATOM_DECL(echo); \ - ATOM_DECL(ebadf); \ - ATOM_DECL(undefined); \ - ATOM_DECL(error); \ - ATOM_DECL(true); \ - ATOM_DECL(ok); \ - ATOM_DECL(input); \ - ATOM_DECL(false); \ - ATOM_DECL(stdin); \ - ATOM_DECL(stdout); \ - ATOM_DECL(stderr); \ +#define ATOMS \ + ATOM_DECL(canon); \ + ATOM_DECL(echo); \ + ATOM_DECL(ebadf); \ + ATOM_DECL(undefined); \ + ATOM_DECL(error); \ + ATOM_DECL(true); \ + ATOM_DECL(stdout); \ + ATOM_DECL(ok); \ + ATOM_DECL(input); \ + ATOM_DECL(false); \ + ATOM_DECL(stdin); \ + ATOM_DECL(stdout); \ + ATOM_DECL(stderr); \ + ATOM_DECL(select); \ ATOM_DECL(sig); @@ -212,6 +227,7 @@ static int tty_get_fd(ErlNifEnv *env, ERL_NIF_TERM atom, int *fd) { static ERL_NIF_TERM isatty_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) { int fd; + if (tty_get_fd(env, argv[0], &fd)) { if (isatty(fd)) { return atom_true; @@ -221,9 +237,23 @@ static ERL_NIF_TERM isatty_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv return atom_ebadf; } } + return enif_make_badarg(env); } +static ERL_NIF_TERM tty_encoding_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) { +#ifdef __WIN32__ + TTYResource *tty; + if (!enif_get_resource(env, argv[0], tty_rt, (void **)&tty)) + return enif_make_badarg(env); + if (tty->tty) + return enif_make_tuple2(env, enif_make_atom(env, "utf16"), + enif_make_atom(env, "little")); +#endif + return enif_make_atom(env, "utf8"); +} + + static ERL_NIF_TERM isprint_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) { int i; if (enif_get_int(env, argv[0], &i)) { @@ -308,6 +338,10 @@ static ERL_NIF_TERM tty_write_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM a #else for (int i = 0; i < iovec->iovcnt; i++) { ssize_t written; +#ifdef HARD_DEBUG + for (int y = 0; y < iovec->iov[i].iov_len; y++) + debug("Write %u\r\n",iovec->iov[i].iov_base[y]); +#endif BOOL r = WriteFile(tty->ofd, iovec->iov[i].iov_base, iovec->iov[i].iov_len, &written, NULL); if (!r) { @@ -348,69 +382,212 @@ static ERL_NIF_TERM tty_read_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar ErlNifBinary bin; ERL_NIF_TERM res_term; ssize_t res = 0; +#ifdef __WIN32__ + HANDLE select_event; +#else + int select_event; +#endif if (!enif_get_resource(env, argv[0], tty_rt, (void **)&tty)) return enif_make_badarg(env); + select_event = tty->ifd; + #ifdef __WIN32__ - if (tty->dwInMode) { - ssize_t inputs_read, num_characters = 0; - wchar_t *characters = NULL; - INPUT_RECORD inputs[128]; - if (!ReadConsoleInputW(tty->ifd, inputs, sizeof(inputs)/sizeof(*inputs), - &inputs_read)) { - return make_errno_error(env, "ReadConsoleInput"); - } - for (int i = 0; i < inputs_read; i++) { - if (inputs[i].EventType == KEY_EVENT) { - if (inputs[i].Event.KeyEvent.bKeyDown && - inputs[i].Event.KeyEvent.uChar.UnicodeChar < 256 && - inputs[i].Event.KeyEvent.uChar.UnicodeChar != 0) { - num_characters++; - } - if (!inputs[i].Event.KeyEvent.bKeyDown && - inputs[i].Event.KeyEvent.uChar.UnicodeChar > 255 && - inputs[i].Event.KeyEvent.uChar.UnicodeChar != 0) { - num_characters++; - } + debug("tty_read_nif(%T, %T, %T)\r\n",argv[0],argv[1],argv[2]); + /** + * We have three different read scenarios we need to deal with + * using different approaches. + * + * ### New Shell + * + * Here characters need to be delivered as they are typed and we + * also need to handle terminal resize events. So we use ReadConsoleInputW + * to read. + * + * ### Input is a terminal, but there is no shell, or old shell + * + * Here we should operate in "line mode", that is characters should only + * be delivered when the user hits enter. Therefore we cannot use + * ReadConsoleInputW, and we also cannot use ReadFile in synchronous mode + * as it will block until a complete line is done. So we use the + * OVERLAPPED support of ReadFile to read data. + * + * From this mode it is important to be able to upgrade to a "New Shell" + * terminal. + * + * Unfortunately it does not seem like unicode works at all when in this + * mode. At least when I try it, all unicode characters are translated to + * "?". Maybe it could be solved by using ReadConsoleW? + * + * ### Input is an anonymous pipe + * + * Since ReadConsoleInputW and OVERLAPPED ReadFile do not work on pipes + * we use blocking ReadFile calls to read from pipes. On pipes the ReadFile + * call will not block until a full line is complete, so this is safe to do. + * + **/ + if (GetFileType(tty->ifd) == FILE_TYPE_CHAR) { + if (tty->ifdOverlapped == INVALID_HANDLE_VALUE) { + /* Input is a terminal and we are in "new shell" mode */ + + ssize_t inputs_read, num_characters = 0; + wchar_t *characters = NULL; + INPUT_RECORD inputs[128]; + + ASSERT(tty->tty); + + if (!ReadConsoleInputW(tty->ifd, inputs, sizeof(inputs)/sizeof(*inputs), + &inputs_read)) { + return make_errno_error(env, "ReadConsoleInput"); } - } - enif_alloc_binary(num_characters * sizeof(wchar_t), &bin); - characters = (wchar_t*)bin.data; - for (int i = 0; i < inputs_read; i++) { - switch (inputs[i].EventType) - { - case KEY_EVENT: - if (inputs[i].Event.KeyEvent.bKeyDown && - inputs[i].Event.KeyEvent.uChar.UnicodeChar < 256 && - inputs[i].Event.KeyEvent.uChar.UnicodeChar != 0) { - characters[res++] = inputs[i].Event.KeyEvent.uChar.UnicodeChar; + + /** + * Reading keyevents using ReadConsoleInput is a bit fragile as + * different consoles and different input modes cause events to + * be triggered in different ways. I've so far identified four + * different input methods that work slightly differently and + * two classes of consoles that also work slightly differently. + * + * The input methods are: + * - Normal key presses + * - Microsoft IME + * - Pasting into console + * - Using ALT+ modifiers + * + * ### Normal key presses + * + * When typing normally both key down and up events are sent with + * the typed character. If typing a Unicode character (for instance if + * you are using a keyboard with Cyrillic layout), that character also + * is sent as both key up and key down. This behavior is the same on all + * consoles. + * + * ### Microsoft IME + * + * When typing Japanese, Chinese and many other languages it is common to + * use a "Input Method Editor". Basically what it does is that if you type + * "sushi" using the Japanese IME it convert that to "すし". All characters + * typed using IME end up as only keydown events on cmd.exe and powershell, + * while in Windows Terminal and Alacritty both keydown and keyup events + * are sent. + * + * ### Pasting into console + * + * When text pasting into the console, any ascii text pasted ends up as both + * keydown and keyup events. Any non-ascii text pasted seem to be sent using + * a keydown event with UnicodeChar set to 0 and then immediately followed by a + * keyup event with the non-ascii text. + * + * ### Using ALT+ modifiers + * + * A very old way of inputting Unicode characters on Windows is to press + * the left alt key and then some numbers on the number pad. For instance + * you can type ALT+1 to write a ☺. When doing this first a keydown + * with 0 is sent and then some events later a keyup with the character + * is sent. This behavior seems to only work on cmd.exe and powershell. + * + * + * So to summarize: + * - Normal presses -- Always keydown and keyup events + * - IME -- Always keydown, sometimes keyup + * - Pasting -- Always keydown=0 directly followed by keyup=value + * - ALT+ -- Sometimes keydown=0 followed eventually by keyup=value + * + * So in order to read characters we should always read the keydown event, + * except when it is 0, then we should read the adjacent keyup event. + * This covers all modes and consoles except ALT+. If we want ALT+ to work + * we probably have to use PeekConsoleInput to make sure the correct events + * are available and inspect the state of the key event somehow. + **/ + + for (int i = 0; i < inputs_read; i++) { + if (inputs[i].EventType == KEY_EVENT) { + if (inputs[i].Event.KeyEvent.bKeyDown) { + if (inputs[i].Event.KeyEvent.uChar.UnicodeChar != 0) { + num_characters++; + } else if (i + 1 < inputs_read && !inputs[i+1].Event.KeyEvent.bKeyDown) { + num_characters++; + } + } } - if (!inputs[i].Event.KeyEvent.bKeyDown && - inputs[i].Event.KeyEvent.uChar.UnicodeChar > 255 && - inputs[i].Event.KeyEvent.uChar.UnicodeChar != 0) { - characters[res++] = inputs[i].Event.KeyEvent.uChar.UnicodeChar; + } + enif_alloc_binary(num_characters * sizeof(wchar_t), &bin); + characters = (wchar_t*)bin.data; + for (int i = 0; i < inputs_read; i++) { + switch (inputs[i].EventType) + { + case KEY_EVENT: + if (inputs[i].Event.KeyEvent.bKeyDown) { + if (inputs[i].Event.KeyEvent.uChar.UnicodeChar != 0) { + debug("Read %u\r\n",inputs[i].Event.KeyEvent.uChar.UnicodeChar); + characters[res++] = inputs[i].Event.KeyEvent.uChar.UnicodeChar; + } else if (i + 1 < inputs_read && !inputs[i+1].Event.KeyEvent.bKeyDown) { + debug("Read %u\r\n",inputs[i+1].Event.KeyEvent.uChar.UnicodeChar); + characters[res++] = inputs[i+1].Event.KeyEvent.uChar.UnicodeChar; + } + } + break; + case WINDOW_BUFFER_SIZE_EVENT: + enif_send(env, &tty->self, NULL, + enif_make_tuple2( + env, enif_make_atom(env, "resize"), + enif_make_tuple2( + env, + enif_make_int(env, inputs[i].Event.WindowBufferSizeEvent.dwSize.Y), + enif_make_int(env, inputs[i].Event.WindowBufferSizeEvent.dwSize.X)))); + break; + case MENU_EVENT: + case FOCUS_EVENT: + /* Should be ignored according to + https://docs.microsoft.com/en-us/windows/console/input-record-str */ + break; + default: + fprintf(stderr,"Unknown event: %d\r\n", inputs[i].EventType); + break; } - break; - case WINDOW_BUFFER_SIZE_EVENT: - enif_send(env, &tty->self, NULL, - enif_make_tuple2(env, enif_make_atom(env, "resize"), - enif_make_tuple2(env, - enif_make_int(env, inputs[i].Event.WindowBufferSizeEvent.dwSize.Y), - enif_make_int(env, inputs[i].Event.WindowBufferSizeEvent.dwSize.X)))); - break; - case MENU_EVENT: - case FOCUS_EVENT: - /* Should be ignored according to - https://docs.microsoft.com/en-us/windows/console/input-record-str */ - break; - default: - fprintf(stderr,"Unknown event: %d\r\n", inputs[i].EventType); - break; } + res *= sizeof(wchar_t); + } else { + /* Input is a terminal and we are in "noshell" or "oldshell" mode */ + DWORD bytesRead = 0; + debug("GetOverlapped on %d\r\n", tty->ifdOverlapped); + if (!GetOverlappedResult(tty->ifdOverlapped, &tty->overlapped, &bytesRead, TRUE)) { + if (GetLastError() == ERROR_OPERATION_ABORTED && tty->tty) { + /* The overlapped operation was cancels by CancelIo because + we are upgrading to "newshell". So we close the handles + involved with the overlapped io and select on the stdin + handle. From now on we use ReadConsoleInputW to get + input. */ + CloseHandle(tty->ifdOverlapped); + CloseHandle(tty->overlapped.hEvent); + tty->ifdOverlapped = INVALID_HANDLE_VALUE; + enif_select(env, tty->ifd, ERL_NIF_SELECT_READ, tty, NULL, argv[1]); + /* Return {error,aborted} to signal that the encoding has changed . */ + return make_error(env, enif_make_atom(env, "aborted")); + } + return make_errno_error(env, "GetOverlappedResult"); + } + if (bytesRead == 0) { + return make_error(env, enif_make_atom(env, "closed")); + } + debug("Read %d bytes\r\n", bytesRead); +#ifdef HARD_DEBUG + for (int i = 0; i < bytesRead; i++) + debug("Read %u\r\n", tty->overlappedBuffer.data[i]); +#endif + bin = tty->overlappedBuffer; + res = bytesRead; + enif_alloc_binary(1024, &tty->overlappedBuffer); + if (!ReadFile(tty->ifdOverlapped, tty->overlappedBuffer.data, + tty->overlappedBuffer.size, NULL, &tty->overlapped)) { + if (GetLastError() != ERROR_IO_PENDING) + return make_errno_error(env, "ReadFile"); + } + select_event = tty->overlapped.hEvent; } - res *= sizeof(wchar_t); } else { + /* Input is not a terminal */ DWORD bytesTransferred; enif_alloc_binary(1024, &bin); if (ReadFile(tty->ifd, bin.data, bin.size, @@ -442,7 +619,8 @@ static ERL_NIF_TERM tty_read_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar return make_error(env, enif_make_atom(env, "closed")); } #endif - enif_select(env, tty->ifd, ERL_NIF_SELECT_READ, tty, NULL, argv[1]); + debug("select on %d\r\n",select_event); + enif_select(env, select_event, ERL_NIF_SELECT_READ, tty, NULL, argv[1]); if (res == bin.size) { res_term = enif_make_binary(env, &bin); } else if (res < bin.size / 2) { @@ -531,11 +709,12 @@ static ERL_NIF_TERM tty_tgetstr_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM /* tgetstr seems to use a lot of stack buffer space, so buff needs to be relatively "small" */ char *str = NULL; - char buff[BUFSIZ] = {0}; + char buff_area[BUFSIZ] = {0}; + char *buff = (char*)buff_area; if (!enif_inspect_iolist_as_binary(env, argv[0], &TERM)) return enif_make_badarg(env); - str = tgetstr((char*)TERM.data, (char**)&buff); + str = tgetstr((char*)TERM.data, &buff); if (!str) return atom_false; enif_alloc_binary(strlen(str), &ret); memcpy(ret.data, str, strlen(str)); @@ -563,28 +742,26 @@ static int tty_puts_putc(int c) { static ERL_NIF_TERM tty_tgoto_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) { #ifdef HAVE_TERMCAP ErlNifBinary TERM; + ERL_NIF_TERM ret; char *ent; - int value1, value2 = 0; + int value1 = 0, value2 = 0; + unsigned char *buff; + if (!enif_inspect_iolist_as_binary(env, argv[0], &TERM) || - !enif_get_int(env, argv[1], &value1)) + (argc > 1 && !enif_get_int(env, argv[1], &value1)) || + (argc > 2 && !enif_get_int(env, argv[2], &value2)) + ) return enif_make_badarg(env); - if (argc == 2) { - ent = tgoto((char*)TERM.data, 0, value1); - } else { - ASSERT(argc == 3); - ent = tgoto((char*)TERM.data, value1, value2); - } + ent = tgoto((char*)TERM.data, value1, value2); if (!ent) return make_errno_error(env, "tgoto"); tputs_buffer_index = 0; - if (tputs(ent, 1, tty_puts_putc)) { - return make_errno_error(env, "tputs"); - } else { - ERL_NIF_TERM ret; - unsigned char *buff = enif_make_new_binary(env, tputs_buffer_index, &ret); - memcpy(buff, tputs_buffer, tputs_buffer_index); - return enif_make_tuple2(env, atom_ok, ret); - } + (void)tputs(ent, 1, tty_puts_putc); /* tputs only fails if ent is null, + which is cannot be. */ + + buff = enif_make_new_binary(env, tputs_buffer_index, &ret); + memcpy(buff, tputs_buffer, tputs_buffer_index); + return enif_make_tuple2(env, atom_ok, ret); #else return make_enotsup(env); #endif @@ -599,6 +776,9 @@ static ERL_NIF_TERM tty_create_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM tty->ifd = 0; tty->ofd = 1; #else +#ifdef HARD_DEBUG + logFile = fopen("tty.log","w+"); +#endif tty->ifd = GetStdHandle(STD_INPUT_HANDLE); if (tty->ifd == INVALID_HANDLE_VALUE || tty->ifd == NULL) { tty->ifd = CreateFile("nul", GENERIC_READ, 0, @@ -625,6 +805,7 @@ static ERL_NIF_TERM tty_create_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM return make_errno_error(env, "SetConsoleMode"); } } + tty->ifdOverlapped = INVALID_HANDLE_VALUE; #endif tty_term = enif_make_resource(env, tty); @@ -643,6 +824,8 @@ static ERL_NIF_TERM tty_init_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar TTYResource *tty; int fd; + debug("tty_init_nif(%T,%T,%T)\r\n", argv[0], argv[1], argv[2]); + if (argc != 3 || !tty_get_fd(env, argv[1], &fd) || !enif_is_map(env, argv[2])) { @@ -721,8 +904,8 @@ static ERL_NIF_TERM tty_init_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar } #else - /* fprintf(stderr, "origOutMode: %x origInMode: %x\r\n", */ - /* tty->dwOriginalOutMode, tty->dwOriginalInMode); */ + debug("origOutMode: %x origInMode: %x\r\n", + tty->dwOriginalOutMode, tty->dwOriginalInMode); /* If we cannot disable NEWLINE_AUTO_RETURN we continue anyway as things work */ if (SetConsoleMode(tty->ofd, tty->dwOutMode | DISABLE_NEWLINE_AUTO_RETURN)) { @@ -736,6 +919,15 @@ static ERL_NIF_TERM tty_init_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar return make_errno_error(env, "SetConsoleMode"); } + /* If we are changing from "-noshell" to a shell we + need to cancel any outstanding async io. This + will cause the enif_select to trigger which allows + us to do more cleanup in tty_read_nif. */ + if (tty->ifdOverlapped != INVALID_HANDLE_VALUE) { + debug("CancelIo on %d\r\n", tty->ifdOverlapped); + CancelIoEx(tty->ifdOverlapped, &tty->overlapped); + } + #endif /* __WIN32__ */ tty->tty = 1; @@ -798,12 +990,12 @@ static ERL_NIF_TERM tty_window_size_nif(ErlNifEnv* env, int argc, const ERL_NIF_ return make_enotsup(env); } return enif_make_tuple2( - env, atom_ok, - enif_make_tuple2( - env, - enif_make_int(env, width), - enif_make_int(env, height) - )); + env, atom_ok, + enif_make_tuple2( + env, + enif_make_int(env, width), + enif_make_int(env, height) + )); } #ifndef __WIN32__ @@ -860,75 +1052,12 @@ static ERL_NIF_TERM tty_read_signal_nif(ErlNifEnv* env, int argc, const ERL_NIF_ #endif } -#ifdef THREADED_READED -struct tty_reader_init { - ErlNifEnv *env; - ERL_NIF_TERM tty; -}; - -#define TTY_READER_BUF_SIZE 1024 - -static void *tty_reader_thread(void *args) { - struct tty_reader_init *tty_reader_init = (struct tty_reader_init*)args; - TTYResource *tty; - ErlNifBinary binary; - ErlNifEnv *env = NULL; - ERL_NIF_TERM data[10]; - int cnt = 0; - - enif_alloc_binary(TTY_READER_BUF_SIZE, &binary); - - enif_get_resource(tty_reader_init->env, tty_reader_init->tty, tty_rt, (void **)&tty); - - SET_BLOCKING(tty->ifd); - - while(true) { - ssize_t i = read(tty->ifd, binary.data, TTY_READER_BUF_SIZE); - /* fprintf(stderr,"Read: %ld bytes from %d\r\n", i, tty->ifd); */ - if (i < 0) { - int saved_errno = errno; - if (env) { - ERL_NIF_TERM msg = enif_make_list_from_array(env, data, cnt); - enif_send(env, &tty->self, NULL, enif_make_tuple2(env, atom_input, msg)); - cnt = 0; - env = NULL; - } - if (saved_errno != EAGAIN) { - env = enif_alloc_env(); - errno = saved_errno; - enif_send(env, &tty->self, NULL, make_errno_error(env, "read")); - break; - } - } else { - if (!env) { - env = enif_alloc_env(); - } - enif_realloc_binary(&binary, i); - data[cnt++] = enif_make_binary(env, &binary); - if (cnt == 10 || i != TTY_READER_BUF_SIZE) { - ERL_NIF_TERM msg = enif_make_list_from_array(env, data, cnt); - enif_send(env, &tty->self, NULL, enif_make_tuple2(env, atom_input, msg)); - cnt = 0; - env = NULL; - } - enif_alloc_binary(TTY_READER_BUF_SIZE, &binary); - } - } - - enif_free_env(tty_reader_init->env); - enif_free(tty_reader_init); - return (void*)0; -} - -#endif - static ERL_NIF_TERM tty_select_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) { TTYResource *tty; -#ifdef THREADED_READER - struct tty_reader_init *tty_reader_init; -#endif #ifndef __WIN32__ extern int using_oldshell; /* set this to let the rest of erts know */ +#else + struct tty_reader *tty_reader; #endif if (!enif_get_resource(env, argv[0], tty_rt, (void **)&tty)) return enif_make_badarg(env); @@ -946,27 +1075,30 @@ static ERL_NIF_TERM tty_select_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM using_oldshell = 0; -#endif - enif_select(env, tty->ifd, ERL_NIF_SELECT_READ, tty, NULL, argv[2]); +#else + if (tty->tty || GetFileType(tty->ifd) != FILE_TYPE_CHAR) { + debug("Select on %d\r\n", tty->ifd); + enif_select(env, tty->ifd, ERL_NIF_SELECT_READ, tty, NULL, argv[2]); + } else { + tty->ifdOverlapped = CreateFile("CONIN$", GENERIC_READ, FILE_SHARE_READ, NULL, + OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL); + enif_alloc_binary(1024, &tty->overlappedBuffer); + tty->overlapped.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); + debug("Calling ReadFile on %d\r\n", tty->ifdOverlapped); + if (!ReadFile(tty->ifdOverlapped, tty->overlappedBuffer.data, tty->overlappedBuffer.size, NULL, &tty->overlapped)) { + if (GetLastError() != ERROR_IO_PENDING) { + return make_errno_error(env, "ReadFile"); + } + } + debug("Select on %d\r\n", tty->overlapped.hEvent); + enif_select(env, tty->overlapped.hEvent, ERL_NIF_SELECT_READ, tty, NULL, argv[2]); + } +#endif enif_self(env, &tty->reader); enif_monitor_process(env, tty, &tty->reader, NULL); -#ifdef THREADED_READER - - tty_reader_init = enif_alloc(sizeof(struct tty_reader_init)); - tty_reader_init->env = enif_alloc_env(); - tty_reader_init->tty = enif_make_copy(tty_reader_init->env, argv[0]); - - if (enif_thread_create( - "stdin_reader", - &tty->reader_tid, - tty_reader_thread, tty_reader_init, NULL)) { - enif_free(tty_reader_init); - return make_errno_error(env, "enif_thread_create"); - } -#endif return atom_ok; } @@ -1003,10 +1135,10 @@ static void load_resources(ErlNifEnv* env, ErlNifResourceFlags rt_flags) { tty_monitor_down}; #define ATOM_DECL(A) atom_##A = enif_make_atom(env, #A) -ATOMS + ATOMS #undef ATOM_DECL - tty_rt = enif_open_resource_type_x(env, "tty", &rt, rt_flags, NULL); + tty_rt = enif_open_resource_type_x(env, "tty", &rt, rt_flags, NULL); } static int load(ErlNifEnv* env, void** priv_data, ERL_NIF_TERM load_info) @@ -1022,13 +1154,13 @@ static void unload(ErlNifEnv* env, void* priv_data) } static int upgrade(ErlNifEnv* env, void** priv_data, void** old_priv_data, - ERL_NIF_TERM load_info) + ERL_NIF_TERM load_info) { if (*old_priv_data != NULL) { - return -1; /* Don't know how to do that */ + return -1; /* Don't know how to do that */ } if (*priv_data != NULL) { - return -1; /* Don't know how to do that */ + return -1; /* Don't know how to do that */ } *priv_data = NULL; load_resources(env, ERL_NIF_RT_TAKEOVER); diff --git a/erts/emulator/nifs/common/socket_asyncio.h b/erts/emulator/nifs/common/socket_asyncio.h index 059ee2bf082b..365e0895f050 100644 --- a/erts/emulator/nifs/common/socket_asyncio.h +++ b/erts/emulator/nifs/common/socket_asyncio.h @@ -155,6 +155,25 @@ extern ERL_NIF_TERM esaio_cancel_recv(ErlNifEnv* env, ERL_NIF_TERM sockRef, ERL_NIF_TERM opRef); +extern ERL_NIF_TERM esaio_ioctl3(ErlNifEnv* env, + ESockDescriptor* descP, + unsigned long req, + ERL_NIF_TERM arg); +extern ERL_NIF_TERM esaio_ioctl2(ErlNifEnv* env, + ESockDescriptor* descP, + unsigned long req); +/* +extern ERL_NIF_TERM esaio_ioctl3(ErlNifEnv* env, + ESockDescriptor* descP, + unsigned long req, + ERL_NIF_TERM arg); +extern ERL_NIF_TERM esaio_ioctl4(ErlNifEnv* env, + ESockDescriptor* descP, + unsigned long req, + ERL_NIF_TERM ename, + ERL_NIF_TERM eval); +*/ + extern void esaio_dtor(ErlNifEnv* env, ESockDescriptor* descP); extern void esaio_stop(ErlNifEnv* env, diff --git a/erts/emulator/nifs/common/socket_int.h b/erts/emulator/nifs/common/socket_int.h index 9c3381f975ae..a9df0d311d98 100644 --- a/erts/emulator/nifs/common/socket_int.h +++ b/erts/emulator/nifs/common/socket_int.h @@ -41,18 +41,27 @@ #endif #include #include /* NEED VC 6.0 or higher */ + /* Visual studio 2008+: NTDDI_VERSION needs to be set for iphlpapi.h - * to define the right structures. It needs to be set to WINXP (or LONGHORN) - * for IPV6 to work and it's set lower by default, so we need to change it. + * to define the right structures. + * It needs to be set higher for IPV6 to work and it's set lower by default, + * so we need to change it. */ #ifdef HAVE_SDKDDKVER_H # include # ifdef NTDDI_VERSION # undef NTDDI_VERSION # endif -# define NTDDI_VERSION NTDDI_WINXP +# define NTDDI_VERSION NTDDI_WIN10_RS2 #endif #include +#include + +/* Since we can't get configure to work properly on Windows... */ +#if defined(AF_UNIX) +#include +#define HAVE_STRUCT_SOCKADDR_UN_SUN_PATH 1 +#endif #else /* !__WIN32__ */ @@ -232,13 +241,22 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(bindtodevice); \ GLOBAL_ATOM_DEF(block_source); \ GLOBAL_ATOM_DEF(broadcast); \ + GLOBAL_ATOM_DEF(bsp_state); \ GLOBAL_ATOM_DEF(busy_poll); \ + GLOBAL_ATOM_DEF(bytes_in); \ + GLOBAL_ATOM_DEF(bytes_in_flight); \ + GLOBAL_ATOM_DEF(bytes_out); \ + GLOBAL_ATOM_DEF(bytes_reordered); \ + GLOBAL_ATOM_DEF(bytes_retrans); \ GLOBAL_ATOM_DEF(cancel); \ + GLOBAL_ATOM_DEF(cancelled); \ GLOBAL_ATOM_DEF(cantconfig); \ GLOBAL_ATOM_DEF(chaos); \ GLOBAL_ATOM_DEF(checksum); \ GLOBAL_ATOM_DEF(close); \ GLOBAL_ATOM_DEF(closed); \ + GLOBAL_ATOM_DEF(close_wait); \ + GLOBAL_ATOM_DEF(closing); \ GLOBAL_ATOM_DEF(cmsg_cloexec); \ GLOBAL_ATOM_DEF(command); \ GLOBAL_ATOM_DEF(completion); \ @@ -248,12 +266,14 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(connect); \ GLOBAL_ATOM_DEF(connected); \ GLOBAL_ATOM_DEF(connecting); \ + GLOBAL_ATOM_DEF(connection_time); \ GLOBAL_ATOM_DEF(context); \ GLOBAL_ATOM_DEF(cork); \ GLOBAL_ATOM_DEF(counters); \ GLOBAL_ATOM_DEF(credentials); \ GLOBAL_ATOM_DEF(ctrl); \ GLOBAL_ATOM_DEF(ctrunc); \ + GLOBAL_ATOM_DEF(cwnd); \ GLOBAL_ATOM_DEF(data); \ GLOBAL_ATOM_DEF(data_size); \ GLOBAL_ATOM_DEF(debug); \ @@ -272,6 +292,7 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(drop_source_membership); \ GLOBAL_ATOM_DEF(dstopts); \ GLOBAL_ATOM_DEF(dup); \ + GLOBAL_ATOM_DEF(dup_acks_in); \ GLOBAL_ATOM_DEF(dying); \ GLOBAL_ATOM_DEF(dynamic); \ GLOBAL_ATOM_DEF(echo); \ @@ -284,14 +305,19 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(errqueue); \ GLOBAL_ATOM_DEF(esp_network_level); \ GLOBAL_ATOM_DEF(esp_trans_level); \ + GLOBAL_ATOM_DEF(established); \ GLOBAL_ATOM_DEF(ether); \ GLOBAL_ATOM_DEF(eui64); \ GLOBAL_ATOM_DEF(events); \ + GLOBAL_ATOM_DEF(exclusiveaddruse); \ GLOBAL_ATOM_DEF(explicit_eor); \ GLOBAL_ATOM_DEF(faith); \ GLOBAL_ATOM_DEF(false); \ GLOBAL_ATOM_DEF(family); \ GLOBAL_ATOM_DEF(fastroute); \ + GLOBAL_ATOM_DEF(fast_retrans); \ + GLOBAL_ATOM_DEF(fin_wait_1); \ + GLOBAL_ATOM_DEF(fin_wait_2); \ GLOBAL_ATOM_DEF(flags); \ GLOBAL_ATOM_DEF(flowinfo); \ GLOBAL_ATOM_DEF(fragment_interleave); \ @@ -324,6 +350,7 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(ip); \ GLOBAL_ATOM_DEF(ipcomp_level); \ GLOBAL_ATOM_DEF(ipip); \ + GLOBAL_ATOM_DEF(iplevel); \ GLOBAL_ATOM_DEF(ipv6); \ GLOBAL_ATOM_DEF(irq); \ GLOBAL_ATOM_DEF(i_want_mapped_v4_addr); \ @@ -334,6 +361,7 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(keepintvl); \ GLOBAL_ATOM_DEF(kernel); \ GLOBAL_ATOM_DEF(knowsepoch); \ + GLOBAL_ATOM_DEF(last_ack); \ GLOBAL_ATOM_DEF(leave_group); \ GLOBAL_ATOM_DEF(level); \ GLOBAL_ATOM_DEF(linger); \ @@ -341,6 +369,7 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(link0); \ GLOBAL_ATOM_DEF(link1); \ GLOBAL_ATOM_DEF(link2); \ + GLOBAL_ATOM_DEF(listen); \ GLOBAL_ATOM_DEF(local); \ GLOBAL_ATOM_DEF(localtlk); \ GLOBAL_ATOM_DEF(local_auth_chunks); \ @@ -349,17 +378,22 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(lower_up); \ GLOBAL_ATOM_DEF(mark); \ GLOBAL_ATOM_DEF(master); \ + GLOBAL_ATOM_DEF(max); \ GLOBAL_ATOM_DEF(maxburst); \ + GLOBAL_ATOM_DEF(maxdg); \ GLOBAL_ATOM_DEF(maxseg); \ + GLOBAL_ATOM_DEF(max_msg_size); \ GLOBAL_ATOM_DEF(md5sig); \ GLOBAL_ATOM_DEF(mem_end); \ GLOBAL_ATOM_DEF(mem_start); \ GLOBAL_ATOM_DEF(metricom); \ GLOBAL_ATOM_DEF(mincost); \ GLOBAL_ATOM_DEF(minttl); \ + GLOBAL_ATOM_DEF(min_rtt); \ GLOBAL_ATOM_DEF(monitor); \ GLOBAL_ATOM_DEF(more); \ GLOBAL_ATOM_DEF(msfilter); \ + GLOBAL_ATOM_DEF(mss); \ GLOBAL_ATOM_DEF(mtu); \ GLOBAL_ATOM_DEF(mtu_discover); \ GLOBAL_ATOM_DEF(multicast); \ @@ -392,7 +426,9 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(num_unexpected_writes); \ GLOBAL_ATOM_DEF(num_unknown_cmds); \ GLOBAL_ATOM_DEF(oactive); \ + GLOBAL_ATOM_DEF(off); \ GLOBAL_ATOM_DEF(ok); \ + GLOBAL_ATOM_DEF(on); \ GLOBAL_ATOM_DEF(oob); \ GLOBAL_ATOM_DEF(oobinline); \ GLOBAL_ATOM_DEF(options); \ @@ -428,6 +464,8 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(rcvbufforce); \ GLOBAL_ATOM_DEF(rcvlowat); \ GLOBAL_ATOM_DEF(rcvtimeo); \ + GLOBAL_ATOM_DEF(rcv_buf); \ + GLOBAL_ATOM_DEF(rcv_wnd); \ GLOBAL_ATOM_DEF(rdm); \ GLOBAL_ATOM_DEF(read_byte); \ GLOBAL_ATOM_DEF(read_fails); \ @@ -454,9 +492,11 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(reuseaddr); \ GLOBAL_ATOM_DEF(reuseport); \ GLOBAL_ATOM_DEF(rights); \ + GLOBAL_ATOM_DEF(rm); \ GLOBAL_ATOM_DEF(router_alert); \ GLOBAL_ATOM_DEF(rthdr); \ GLOBAL_ATOM_DEF(rtoinfo); \ + GLOBAL_ATOM_DEF(rtt); \ GLOBAL_ATOM_DEF(running); \ GLOBAL_ATOM_DEF(rxq_ovfl); \ GLOBAL_ATOM_DEF(scope_id); \ @@ -488,6 +528,7 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(sndbufforce); \ GLOBAL_ATOM_DEF(sndlowat); \ GLOBAL_ATOM_DEF(sndtimeo); \ + GLOBAL_ATOM_DEF(snd_wnd); \ GLOBAL_ATOM_DEF(sockaddr); \ GLOBAL_ATOM_DEF(socket); \ GLOBAL_ATOM_DEF(socket_tag); \ @@ -497,6 +538,9 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(staticarp); \ GLOBAL_ATOM_DEF(stream); \ GLOBAL_ATOM_DEF(syncnt); \ + GLOBAL_ATOM_DEF(syn_rcvd); \ + GLOBAL_ATOM_DEF(syn_retrans); \ + GLOBAL_ATOM_DEF(syn_sent); \ GLOBAL_ATOM_DEF(tclass); \ GLOBAL_ATOM_DEF(tcp); \ GLOBAL_ATOM_DEF(throughput); \ @@ -504,6 +548,9 @@ typedef long ssize_t; GLOBAL_ATOM_DEF(tos); \ GLOBAL_ATOM_DEF(transparent); \ GLOBAL_ATOM_DEF(timeout); \ + GLOBAL_ATOM_DEF(timeout_episodes); \ + GLOBAL_ATOM_DEF(timestamp_enabled); \ + GLOBAL_ATOM_DEF(time_wait); \ GLOBAL_ATOM_DEF(true); \ GLOBAL_ATOM_DEF(trunc); \ GLOBAL_ATOM_DEF(ttl); \ @@ -604,7 +651,10 @@ GLOBAL_ERROR_REASON_ATOM_DEFS; #define COMPARE(A, B) enif_compare((A), (B)) #define COMPARE_PIDS(P1, P2) enif_compare_pids((P1), (P2)) -#define IS_ZERO(R) (COMPARE((R), esock_atom_zero) == 0) +#define IS_IDENTICAL(A, B) enif_is_identical((A), (B)) +#define IS_ZERO(T) (COMPARE((T), esock_atom_zero) == 0) +#define IS_UNDEFINED(T) IS_IDENTICAL((T), esock_atom_undefined) +#define IS_OK(T) IS_IDENTICAL((T), esock_atom_ok) #define IS_ATOM(E, TE) enif_is_atom((E), (TE)) #define IS_BIN(E, TE) enif_is_binary((E), (TE)) @@ -637,7 +687,7 @@ GLOBAL_ERROR_REASON_ATOM_DEFS; #define GET_MAP_VAL(E, M, K, V) enif_get_map_value((E), (M), (K), (V)) #define ALLOC_BIN(SZ, BP) enif_alloc_binary((SZ), (BP)) -#define REALLOC_BIN(SZ, BP) enif_realloc_binary((SZ), (BP)) +#define REALLOC_BIN(BP, SZ) enif_realloc_binary((BP), (SZ)) #define FREE_BIN(BP) enif_release_binary((BP)) #define FREE_IOVEC(IV) enif_free_iovec((IV)) diff --git a/erts/emulator/nifs/common/socket_util.c b/erts/emulator/nifs/common/socket_util.c index a1c3e7eddcfb..9f961ecff2cd 100644 --- a/erts/emulator/nifs/common/socket_util.c +++ b/erts/emulator/nifs/common/socket_util.c @@ -1040,10 +1040,11 @@ void esock_encode_sockaddr_un(ErlNifEnv* env, size_t n, m; UDBG( ("SUTIL", "esock_encode_sockaddr_un -> entry with" - "\r\n. addrLen: %d" + "\r\n addrLen: %d" "\r\n", addrLen) ); n = sockAddrP->sun_path - (char *)sockAddrP; // offsetof + if (addrLen >= n) { n = addrLen - n; // sun_path length if (255 < n) { @@ -1055,6 +1056,7 @@ void esock_encode_sockaddr_un(ErlNifEnv* env, unsigned char *path; m = esock_strnlen(sockAddrP->sun_path, n); + #ifdef __linux__ /* Assume that the address is a zero terminated string, * except when the first byte is \0 i.e the string length is 0, @@ -1067,6 +1069,8 @@ void esock_encode_sockaddr_un(ErlNifEnv* env, } #endif + UDBG( ("SUTIL", "esock_encode_sockaddr_un -> m: %d\r\n", m) ); + /* And finally build the 'path' attribute */ path = enif_make_new_binary(env, m, &ePath); ESOCK_ASSERT( path != NULL ); @@ -2377,12 +2381,53 @@ ERL_NIF_TERM esock_errno_to_term(ErlNifEnv* env, int err) break; #endif +#if defined(ERROR_NETNAME_DELETED) + case ERROR_NETNAME_DELETED: + return MKA(env, "netname_deleted"); + break; +#endif + +#if defined(ERROR_TOO_MANY_CMDS) + /* The network command limit has been reached */ + case ERROR_TOO_MANY_CMDS: + return MKA(env, "too_many_cmds"); + break; +#endif + +#if defined(ERROR_DUP_NAME) + /* Not connected because a duplicate name exists on the network */ + case ERROR_DUP_NAME: + return MKA(env, "duplicate_name"); + break; +#endif + #if defined(ERROR_MORE_DATA) + /* + * https://stackoverflow.com/questions/31883438/sockets-using-getqueuedcompletionstatus-and-error-more-data + */ case ERROR_MORE_DATA: return MKA(env, "more_data"); break; #endif +#if defined(ERROR_NOT_FOUND) + case ERROR_NOT_FOUND: + return MKA(env, "not_found"); + break; +#endif + +#if defined(ERROR_NETWORK_UNREACHABLE) + case ERROR_NETWORK_UNREACHABLE: + return MKA(env, "network_unreachable"); + break; +#endif + +#if defined(ERROR_PORT_UNREACHABLE) + case ERROR_PORT_UNREACHABLE: + return MKA(env, "port_unreachable"); + break; +#endif + default: { char* str = erl_errno_id(err); diff --git a/erts/emulator/nifs/unix/unix_socket_syncio.c b/erts/emulator/nifs/unix/unix_socket_syncio.c index 644400aeb5e0..332d72b59968 100644 --- a/erts/emulator/nifs/unix/unix_socket_syncio.c +++ b/erts/emulator/nifs/unix/unix_socket_syncio.c @@ -31,6 +31,16 @@ #ifdef ESOCK_ENABLE +/* If we HAVE_SCTP_H and Solaris, we need to define the following in + * order to get SCTP working: + */ +#if (defined(HAVE_SCTP_H) && defined(__sun) && defined(__SVR4)) +#define SOLARIS10 1 +/* WARNING: This is not quite correct, it may also be Solaris 11! */ +#define _XPG4_2 +#define __EXTENSIONS__ +#endif + #ifdef HAVE_SENDFILE #if defined(__linux__) || (defined(__sun) && defined(__SVR4)) #include @@ -419,6 +429,45 @@ static ERL_NIF_TERM recvmsg_check_msg(ErlNifEnv* env, static ERL_NIF_TERM essio_ioctl_gifconf(ErlNifEnv* env, ESockDescriptor* descP); +/* esock_ioctl_fionread */ +#if defined(FIONREAD) +#define IOCTL_FIONREAD_FUNC2_DEF IOCTL_GET_FUNC2_DEF(fionread) +#else +#define IOCTL_FIONREAD_FUNC2_DEF +#endif + +/* esock_ioctl_fionwrite */ +#if defined(FIONWRITE) +#define IOCTL_FIONWRITE_FUNC2_DEF IOCTL_GET_FUNC2_DEF(fionwrite) +#else +#define IOCTL_FIONWRITE_FUNC2_DEF +#endif + +/* esock_ioctl_fionspace */ +#if defined(FIONSPACE) +#define IOCTL_FIONSPACE_FUNC2_DEF IOCTL_GET_FUNC2_DEF(fionspace) +#else +#define IOCTL_FIONSPACE_FUNC2_DEF +#endif + +/* esock_ioctl_siocatmark */ +#if defined(SIOCATMARK) +#define IOCTL_SIOCATMARK_FUNC2_DEF IOCTL_GET_FUNC2_DEF(siocatmark) +#else +#define IOCTL_SIOCATMARK_FUNC2_DEF +#endif + +#define IOCTL_GET_FUNCS2_DEF \ + IOCTL_FIONREAD_FUNC2_DEF; \ + IOCTL_FIONWRITE_FUNC2_DEF; \ + IOCTL_FIONSPACE_FUNC2_DEF; \ + IOCTL_SIOCATMARK_FUNC2_DEF; +#define IOCTL_GET_FUNC2_DEF(F) \ + static ERL_NIF_TERM essio_ioctl_##F(ErlNifEnv* env, \ + ESockDescriptor* descP) +IOCTL_GET_FUNCS2_DEF +#undef IOCTL_GET_FUNC2_DEF + #if defined(SIOCGIFNAME) static ERL_NIF_TERM essio_ioctl_gifname(ErlNifEnv* env, ESockDescriptor* descP, @@ -427,91 +476,91 @@ static ERL_NIF_TERM essio_ioctl_gifname(ErlNifEnv* env, /* esock_ioctl_gifindex */ #if defined(SIOCGIFINDEX) -#define IOCTL_GIFINDEX_FUNC_DEF IOCTL_GET_FUNC_DEF(gifindex) +#define IOCTL_GIFINDEX_FUNC3_DEF IOCTL_GET_FUNC3_DEF(gifindex) #else -#define IOCTL_GIFINDEX_FUNC_DEF +#define IOCTL_GIFINDEX_FUNC3_DEF #endif /* esock_ioctl_gifflags */ #if defined(SIOCGIFFLAGS) -#define IOCTL_GIFFLAGS_FUNC_DEF IOCTL_GET_FUNC_DEF(gifflags) +#define IOCTL_GIFFLAGS_FUNC3_DEF IOCTL_GET_FUNC3_DEF(gifflags) #else -#define IOCTL_GIFFLAGS_FUNC_DEF +#define IOCTL_GIFFLAGS_FUNC3_DEF #endif /* esock_ioctl_gifaddr */ #if defined(SIOCGIFADDR) -#define IOCTL_GIFADDR_FUNC_DEF IOCTL_GET_FUNC_DEF(gifaddr) +#define IOCTL_GIFADDR_FUNC3_DEF IOCTL_GET_FUNC3_DEF(gifaddr) #else -#define IOCTL_GIFADDR_FUNC_DEF +#define IOCTL_GIFADDR_FUNC3_DEF #endif /* esock_ioctl_gifdstaddr */ #if defined(SIOCGIFDSTADDR) -#define IOCTL_GIFDSTADDR_FUNC_DEF IOCTL_GET_FUNC_DEF(gifdstaddr) +#define IOCTL_GIFDSTADDR_FUNC3_DEF IOCTL_GET_FUNC3_DEF(gifdstaddr) #else -#define IOCTL_GIFDSTADDR_FUNC_DEF +#define IOCTL_GIFDSTADDR_FUNC3_DEF #endif /* esock_ioctl_gifbrdaddr */ #if defined(SIOCGIFBRDADDR) -#define IOCTL_GIFBRDADDR_FUNC_DEF IOCTL_GET_FUNC_DEF(gifbrdaddr) +#define IOCTL_GIFBRDADDR_FUNC3_DEF IOCTL_GET_FUNC3_DEF(gifbrdaddr) #else -#define IOCTL_GIFBRDADDR_FUNC_DEF +#define IOCTL_GIFBRDADDR_FUNC3_DEF #endif /* esock_ioctl_gifnetmask */ #if defined(SIOCGIFNETMASK) -#define IOCTL_GIFNETMASK_FUNC_DEF IOCTL_GET_FUNC_DEF(gifnetmask) +#define IOCTL_GIFNETMASK_FUNC3_DEF IOCTL_GET_FUNC3_DEF(gifnetmask) #else -#define IOCTL_GIFNETMASK_FUNC_DEF +#define IOCTL_GIFNETMASK_FUNC3_DEF #endif /* esock_ioctl_gifmtu */ #if defined(SIOCGIFMTU) -#define IOCTL_GIFMTU_FUNC_DEF IOCTL_GET_FUNC_DEF(gifmtu) +#define IOCTL_GIFMTU_FUNC3_DEF IOCTL_GET_FUNC3_DEF(gifmtu) #else -#define IOCTL_GIFMTU_FUNC_DEF +#define IOCTL_GIFMTU_FUNC3_DEF #endif /* esock_ioctl_gifhwaddr */ #if defined(SIOCGIFHWADDR) && defined(ESOCK_USE_HWADDR) -#define IOCTL_GIFHWADDR_FUNC_DEF IOCTL_GET_FUNC_DEF(gifhwaddr) +#define IOCTL_GIFHWADDR_FUNC3_DEF IOCTL_GET_FUNC3_DEF(gifhwaddr) #else -#define IOCTL_GIFHWADDR_FUNC_DEF +#define IOCTL_GIFHWADDR_FUNC3_DEF #endif /* esock_ioctl_gifmap */ #if defined(SIOCGIFMAP) && defined(ESOCK_USE_IFMAP) -#define IOCTL_GIFMAP_FUNC_DEF IOCTL_GET_FUNC_DEF(gifmap) +#define IOCTL_GIFMAP_FUNC3_DEF IOCTL_GET_FUNC3_DEF(gifmap) #else -#define IOCTL_GIFMAP_FUNC_DEF +#define IOCTL_GIFMAP_FUNC3_DEF #endif /* esock_ioctl_giftxqlen */ #if defined(SIOCGIFTXQLEN) -#define IOCTL_GIFTXQLEN_FUNC_DEF IOCTL_GET_FUNC_DEF(giftxqlen) +#define IOCTL_GIFTXQLEN_FUNC3_DEF IOCTL_GET_FUNC3_DEF(giftxqlen) #else -#define IOCTL_GIFTXQLEN_FUNC_DEF +#define IOCTL_GIFTXQLEN_FUNC3_DEF #endif -#define IOCTL_GET_FUNCS_DEF \ - IOCTL_GIFINDEX_FUNC_DEF; \ - IOCTL_GIFFLAGS_FUNC_DEF; \ - IOCTL_GIFADDR_FUNC_DEF; \ - IOCTL_GIFDSTADDR_FUNC_DEF; \ - IOCTL_GIFBRDADDR_FUNC_DEF; \ - IOCTL_GIFNETMASK_FUNC_DEF; \ - IOCTL_GIFMTU_FUNC_DEF; \ - IOCTL_GIFHWADDR_FUNC_DEF; \ - IOCTL_GIFMAP_FUNC_DEF; \ - IOCTL_GIFTXQLEN_FUNC_DEF; -#define IOCTL_GET_FUNC_DEF(F) \ - static ERL_NIF_TERM essio_ioctl_##F(ErlNifEnv* env, \ - ESockDescriptor* descP, \ - ERL_NIF_TERM ename) -IOCTL_GET_FUNCS_DEF -#undef IOCTL_GET_FUNC_DEF +#define IOCTL_GET_FUNCS3_DEF \ + IOCTL_GIFINDEX_FUNC3_DEF; \ + IOCTL_GIFFLAGS_FUNC3_DEF; \ + IOCTL_GIFADDR_FUNC3_DEF; \ + IOCTL_GIFDSTADDR_FUNC3_DEF; \ + IOCTL_GIFBRDADDR_FUNC3_DEF; \ + IOCTL_GIFNETMASK_FUNC3_DEF; \ + IOCTL_GIFMTU_FUNC3_DEF; \ + IOCTL_GIFHWADDR_FUNC3_DEF; \ + IOCTL_GIFMAP_FUNC3_DEF; \ + IOCTL_GIFTXQLEN_FUNC3_DEF; +#define IOCTL_GET_FUNC3_DEF(F) \ + static ERL_NIF_TERM essio_ioctl_##F(ErlNifEnv* env, \ + ESockDescriptor* descP, \ + ERL_NIF_TERM ename) +IOCTL_GET_FUNCS3_DEF +#undef IOCTL_GET_FUNC3_DEF /* esock_ioctl_sifflags */ #if defined(SIOCSIFFLAGS) @@ -640,6 +689,9 @@ static BOOLEAN_T decode_ioctl_ivalue(ErlNifEnv* env, static ERL_NIF_TERM encode_ioctl_ivalue(ErlNifEnv* env, ESockDescriptor* descP, int ivalue); +static ERL_NIF_TERM encode_ioctl_bvalue(ErlNifEnv* env, + ESockDescriptor* descP, + int bvalue); /* @@ -1449,8 +1501,8 @@ ERL_NIF_TERM essio_accept(ErlNifEnv* env, * "current process", push the requester onto the (acceptor) queue. */ - SSDBG( descP, ("UNIX-ESSIO", "essio_accept_accepting -> check: " - "is caller current acceptor:" + SSDBG( descP, ("UNIX-ESSIO", "essio_accept_accepting -> " + "check: is caller current acceptor:" "\r\n Caller: %T" "\r\n Current: %T" "\r\n Current Mon: %T" @@ -1463,7 +1515,8 @@ ERL_NIF_TERM essio_accept(ErlNifEnv* env, SSDBG( descP, ("UNIX-ESSIO", - "essio_accept_accepting {%d} -> current acceptor" + "essio_accept_accepting {%d} -> " + "current acceptor - try again" "\r\n", descP->sock) ); return essio_accept_accepting_current(env, descP, sockRef, accRef); @@ -1664,10 +1717,10 @@ static ERL_NIF_TERM essio_accept_accepting_current_error(ErlNifEnv* env, ESockDescriptor* descP, ERL_NIF_TERM sockRef, - ERL_NIF_TERM opRef, + ERL_NIF_TERM accRef, int save_errno) { - ERL_NIF_TERM res, reason; + ERL_NIF_TERM res, reason; if (save_errno == ERRNO_BLOCK || save_errno == EAGAIN) { @@ -1678,21 +1731,55 @@ ERL_NIF_TERM essio_accept_accepting_current_error(ErlNifEnv* env, SSDBG( descP, ("UNIX-ESSIO", - "essio_accept_accepting_current_error {%d} -> " + "essio_accept_accepting_current_error(%d) -> " "would block: try again\r\n", descP->sock) ); ESOCK_CNT_INC(env, descP, sockRef, esock_atom_acc_waits, &descP->accWaits, 1); - res = essio_accept_busy_retry(env, descP, sockRef, opRef, - &descP->currentAcceptor.pid); + + /* Maybe cancel "current" select */ + SSDBG( descP, + ("UNIX-ESSIO", + "essio_accept_accepting_current_error(%d) -> " + "cancel current select" + "\r\n", descP->sock) ); + res = esock_cancel_read_select(env, descP, descP->currentAcceptor.ref); + + if (IS_OK(res)) { + + SSDBG( descP, + ("UNIX-ESSIO", + "essio_accept_accepting_current_error(%d) -> " + "send abort message" + "\r\n", descP->sock) ); + esock_send_abort_msg(env, descP, sockRef, + &descP->currentAcceptor, + esock_atom_cancelled); + /* We need a new env, + * since sending the abort message uses up the old */ + descP->currentAcceptor.env = esock_alloc_env("current acceptor"); + + /* And update the currentr acceptor ref (handle) */ + descP->currentAcceptor.ref = + CP_TERM(descP->currentAcceptor.env, accRef); + + /* And finally - retry */ + SSDBG( descP, + ("UNIX-ESSIO", + "essio_accept_accepting_current_error(%d) -> " + "try new select" + "\r\n", descP->sock) ); + res = essio_accept_busy_retry(env, descP, sockRef, accRef, + &descP->currentAcceptor.pid); + } } else { ESockRequestor req; SSDBG( descP, ("UNIX-ESSIO", - "essio_accept_accepting_current_error {%d} -> " + "essio_accept_accepting_current_error(%d) -> " "error: %d\r\n", descP->sock, save_errno) ); ESOCK_CNT_INC(env, descP, sockRef, @@ -1708,7 +1795,7 @@ ERL_NIF_TERM essio_accept_accepting_current_error(ErlNifEnv* env, while (esock_acceptor_pop(env, descP, &req)) { SSDBG( descP, ("UNIX-ESSIO", - "essio_accept_accepting_current_error {%d} -> abort %T\r\n", + "essio_accept_accepting_current_error(%d) -> abort %T\r\n", descP->sock, req.pid) ); esock_send_abort_msg(env, descP, sockRef, &req, reason); @@ -1787,8 +1874,10 @@ ERL_NIF_TERM essio_accept_busy_retry(ErlNifEnv* env, MKT2(env, esock_atom_select_read, MKI(env, sres))); } else { + descP->readState |= (ESOCK_STATE_ACCEPTING | ESOCK_STATE_SELECTED); + res = esock_atom_select; } @@ -2769,21 +2858,10 @@ ERL_NIF_TERM recvfrom_check_result(ErlNifEnv* env, fromAddrP, fromAddrLen, &eSockAddr); - if (read == bufP->size) { - - data = MKBIN(env, bufP); - - } else { - - /* +++ We got a chunk of data but +++ - * +++ since we did not fill the +++ - * +++ buffer, we must split it +++ - * +++ into a sub-binary. +++ - */ - - data = MKBIN(env, bufP); - data = MKSBIN(env, data, 0, read); + if (read != bufP->size) { + ESOCK_ASSERT( REALLOC_BIN(bufP, read) ); } + data = MKBIN(env, bufP); ESOCK_CNT_INC(env, descP, sockRef, esock_atom_read_pkg, &descP->readPkgCnt, 1); @@ -3754,8 +3832,32 @@ ERL_NIF_TERM essio_ioctl2(ErlNifEnv* env, #if defined(SIOCGIFCONF) case SIOCGIFCONF: - return essio_ioctl_gifconf(env, descP); - break; + return essio_ioctl_gifconf(env, descP); + break; +#endif + +#if defined(FIONREAD) + case FIONREAD: + return essio_ioctl_fionread(env, descP); + break; +#endif + +#if defined(FIONWRITE) + case FIONWRITE: + return essio_ioctl_fionwrite(env, descP); + break; +#endif + +#if defined(FIONSPACE) + case FIONSPACE: + return essio_ioctl_fionspace(env, descP); + break; +#endif + +#if defined(SIOCATMARK) + case SIOCATMARK: + return essio_ioctl_siocatmark(env, descP); + break; #endif default: @@ -3964,111 +4066,276 @@ ERL_NIF_TERM essio_ioctl4(ErlNifEnv* env, * */ +static +ERL_NIF_TERM essio_ioctl_gifconf(ErlNifEnv* env, + ESockDescriptor* descP) +{ + struct ifconf ifc; + int ifc_len = 0; + int buflen = 100 * sizeof(struct ifreq); + char *buf = MALLOC(buflen); + ERL_NIF_TERM result; + + SSDBG( descP, + ("UNIX-ESSIO", "essio_ioctl_gifconf {%d} -> entry\r\n", descP->sock) ); + + for (;;) { + ifc.ifc_len = buflen; + ifc.ifc_buf = buf; + if (ioctl(descP->sock, SIOCGIFCONF, (char *) &ifc) < 0) { + int saveErrno = sock_errno(); + + SSDBG( descP, + ("UNIX-ESSIO", "essio_ioctl_gifconf {%d} -> failure: " + "\r\n errno: %d (%s)" + "\r\n", descP->sock, saveErrno, erl_errno_id(saveErrno)) ); + + if (saveErrno != EINVAL || ifc_len) { + ERL_NIF_TERM reason = MKA(env, erl_errno_id(saveErrno)); + FREE(buf); + return esock_make_error(env, reason); + } + } else { + if (ifc.ifc_len == ifc_len) break; /* buf large enough */ + ifc_len = ifc.ifc_len; + } + buflen += 10 * sizeof(struct ifreq); + buf = (char *) REALLOC(buf, buflen); + } + + result = encode_ioctl_ifconf(env, descP, &ifc); + + FREE(ifc.ifc_buf); + + return result; +} + +/* + static + ERL_NIF_TERM essio_ioctl_fionread(ErlNifEnv* env, + ESockDescriptor* descP) + { + int n = 0; + ERL_NIF_TERM result; + + SSDBG( descP, + ("UNIX-ESSIO", + "essio_ioctl_fionread(%d) -> entry\r\n", descP->sock) ); + + if (ioctl(descP->sock, FIONREAD, (char *) &n) < 0) { + ERL_NIF_TERM reason; + int saveErrno = sock_errno(); + + SSDBG( descP, + ("UNIX-ESSIO", "essio_ioctl_fionread(%d) -> failure: " + "\r\n errno: %d (%s)" + "\r\n", descP->sock, saveErrno, erl_errno_id(saveErrno)) ); + + reason = MKA(env, erl_errno_id(saveErrno)); + + result = esock_make_error(env, reason); + } else { + + result = encode_ioctl_ivalue(env, descP, n); + + } + + SSDBG( descP, + ("UNIX-ESSIO", + "essio_ioctl_fionread(%d) -> done with: " + "\r\n result: %T" + "\r\n", descP->sock, result) ); + + return result; + } +*/ + +/* *** essio_ioctl_fionread *** */ +#if defined(FIONREAD) +#define IOCTL_FIONREAD_FUNC2_DECL \ + IOCTL_GET_REQUEST2_DECL(fionread, FIONREAD, ivalue) +#else +#define IOCTL_FIONREAD_FUNC2_DECL +#endif + +/* *** essio_ioctl_fionwrite *** */ +#if defined(FIONWRITE) +#define IOCTL_FIONWRITE_FUNC2_DECL \ + IOCTL_GET_REQUEST2_DECL(fionwrite, FIONWRITE, ivalue) +#else +#define IOCTL_FIONWRITE_FUNC2_DECL +#endif + +/* *** essio_ioctl_fionspace *** */ +#if defined(FIONSPACE) +#define IOCTL_FIONSPACE_FUNC2_DECL \ + IOCTL_GET_REQUEST2_DECL(fionspace, FIONSPACE, ivalue) +#else +#define IOCTL_FIONSPACE_FUNC2_DECL +#endif + +/* *** essio_ioctl_siocatmark *** */ +#if defined(SIOCATMARK) +#define IOCTL_SIOCATMARK_FUNC2_DECL \ + IOCTL_GET_REQUEST2_DECL(siocatmark, SIOCATMARK, bvalue) +#else +#define IOCTL_FIONSPACE_FUNC2_DECL +#endif + +#define IOCTL_GET_FUNCS2 \ + IOCTL_FIONREAD_FUNC2_DECL \ + IOCTL_FIONWRITE_FUNC2_DECL \ + IOCTL_FIONSPACE_FUNC2_DECL \ + IOCTL_SIOCATMARK_FUNC2_DECL + +#define IOCTL_GET_REQUEST2_DECL(OR, R, EF) \ + static \ + ERL_NIF_TERM essio_ioctl_##OR(ErlNifEnv* env, \ + ESockDescriptor* descP) \ + { \ + ERL_NIF_TERM result; \ + int n = 0; \ + \ + SSDBG( descP, \ + ("UNIX-ESSIO", "essio_ioctl_" #OR "(%d) -> entry" \ + "\r\n", descP->sock) ); \ + \ + if (ioctl(descP->sock, R, &n) < 0) { \ + int saveErrno = sock_errno(); \ + ERL_NIF_TERM reason = MKA(env, erl_errno_id(saveErrno)); \ + \ + SSDBG( descP, \ + ("UNIX-ESSIO", "essio_ioctl_" #OR "(%d) -> failure: " \ + "\r\n reason: %T (%d)" \ + "\r\n", descP->sock, reason, saveErrno) ); \ + \ + result = esock_make_error(env, reason); \ + \ + } else { \ + SSDBG( descP, \ + ("UNIX-ESSIO", "essio_ioctl_" #OR "(%d) -> encode value\r\n", \ + descP->sock) ); \ + result = encode_ioctl_##EF(env, descP, n); \ + } \ + \ + SSDBG( descP, \ + ("UNIX-ESSIO", \ + "essio_ioctl_" #OR "(%d) -> done with: " \ + "\r\n result: %T" \ + "\r\n", descP->sock, result) ); \ + \ + return result; \ + \ + } +IOCTL_GET_FUNCS2 +#undef IOCTL_GET_FUNCS2 + + /* *** essio_ioctl_gifindex *** */ #if defined(SIOCGIFINDEX) #if defined(ESOCK_USE_IFINDEX) -#define IOCTL_GIFINDEX_FUNC_DECL \ - IOCTL_GET_REQUEST_DECL(gifindex, SIOCGIFINDEX, ivalue, ifreq.ifr_ifindex) +#define IOCTL_GIFINDEX_FUNC3_DECL \ + IOCTL_GET_REQUEST3_DECL(gifindex, SIOCGIFINDEX, ivalue, ifreq.ifr_ifindex) #elif defined(ESOCK_USE_INDEX) -#define IOCTL_GIFINDEX_FUNC_DECL \ - IOCTL_GET_REQUEST_DECL(gifindex, SIOCGIFINDEX, ivalue, ifreq.ifr_index) +#define IOCTL_GIFINDEX_FUNC3_DECL \ + IOCTL_GET_REQUEST3_DECL(gifindex, SIOCGIFINDEX, ivalue, ifreq.ifr_index) #else -#define IOCTL_GIFINDEX_FUNC_DECL +#define IOCTL_GIFINDEX_FUNC3_DECL #endif #else -#define IOCTL_GIFINDEX_FUNC_DECL +#define IOCTL_GIFINDEX_FUNC3_DECL #endif /* *** essio_ioctl_gifflags *** */ #if defined(SIOCGIFFLAGS) -#define IOCTL_GIFFLAGS_FUNC_DECL \ - IOCTL_GET_REQUEST_DECL(gifflags, SIOCGIFFLAGS, flags, ifreq.ifr_flags) +#define IOCTL_GIFFLAGS_FUNC3_DECL \ + IOCTL_GET_REQUEST3_DECL(gifflags, SIOCGIFFLAGS, flags, ifreq.ifr_flags) #else -#define IOCTL_GIFFLAGS_FUNC_DECL +#define IOCTL_GIFFLAGS_FUNC3_DECL #endif /* *** essio_ioctl_gifaddr *** */ #if defined(SIOCGIFADDR) -#define IOCTL_GIFADDR_FUNC_DECL \ - IOCTL_GET_REQUEST_DECL(gifaddr, SIOCGIFADDR, ifraddr, &ifreq.ifr_addr) +#define IOCTL_GIFADDR_FUNC3_DECL \ + IOCTL_GET_REQUEST3_DECL(gifaddr, SIOCGIFADDR, ifraddr, &ifreq.ifr_addr) #else -#define IOCTL_GIFADDR_FUNC_DECL +#define IOCTL_GIFADDR_FUNC3_DECL #endif /* *** essio_ioctl_gifdstaddr *** */ #if defined(SIOCGIFDSTADDR) -#define IOCTL_GIFDSTADDR_FUNC_DECL \ - IOCTL_GET_REQUEST_DECL(gifdstaddr, SIOCGIFDSTADDR, ifraddr, &ifreq.ifr_dstaddr) +#define IOCTL_GIFDSTADDR_FUNC3_DECL \ + IOCTL_GET_REQUEST3_DECL(gifdstaddr, SIOCGIFDSTADDR, ifraddr, &ifreq.ifr_dstaddr) #else -#define IOCTL_GIFDSTADDR_FUNC_DECL +#define IOCTL_GIFDSTADDR_FUNC3_DECL #endif /* *** essio_ioctl_gifbrdaddr *** */ #if defined(SIOCGIFBRDADDR) -#define IOCTL_GIFBRDADDR_FUNC_DECL \ - IOCTL_GET_REQUEST_DECL(gifbrdaddr, SIOCGIFBRDADDR, ifraddr, &ifreq.ifr_broadaddr) +#define IOCTL_GIFBRDADDR_FUNC3_DECL \ + IOCTL_GET_REQUEST3_DECL(gifbrdaddr, SIOCGIFBRDADDR, ifraddr, &ifreq.ifr_broadaddr) #else -#define IOCTL_GIFBRDADDR_FUNC_DECL +#define IOCTL_GIFBRDADDR_FUNC3_DECL #endif /* *** essio_ioctl_gifnetmask *** */ #if defined(SIOCGIFNETMASK) #ifdef __linux__ -#define IOCTL_GIFNETMASK_FUNC_DECL \ - IOCTL_GET_REQUEST_DECL(gifnetmask, SIOCGIFNETMASK, ifraddr, &ifreq.ifr_netmask) +#define IOCTL_GIFNETMASK_FUNC3_DECL \ + IOCTL_GET_REQUEST3_DECL(gifnetmask, SIOCGIFNETMASK, ifraddr, &ifreq.ifr_netmask) #else -#define IOCTL_GIFNETMASK_FUNC_DECL \ - IOCTL_GET_REQUEST_DECL(gifnetmask, SIOCGIFNETMASK, ifraddr, &ifreq.ifr_addr) +#define IOCTL_GIFNETMASK_FUNC3_DECL \ + IOCTL_GET_REQUEST3_DECL(gifnetmask, SIOCGIFNETMASK, ifraddr, &ifreq.ifr_addr) #endif #else -#define IOCTL_GIFNETMASK_FUNC_DECL +#define IOCTL_GIFNETMASK_FUNC3_DECL #endif /* *** essio_ioctl_gifmtu *** */ #if defined(SIOCGIFMTU) -#define IOCTL_GIFMTU_FUNC_DECL \ - IOCTL_GET_REQUEST_DECL(gifmtu, SIOCGIFMTU, ivalue, ifreq.ifr_mtu) +#define IOCTL_GIFMTU_FUNC3_DECL \ + IOCTL_GET_REQUEST3_DECL(gifmtu, SIOCGIFMTU, ivalue, ifreq.ifr_mtu) #else -#define IOCTL_GIFMTU_FUNC_DECL +#define IOCTL_GIFMTU_FUNC3_DECL #endif /* *** essio_ioctl_gifhwaddr *** */ #if defined(SIOCGIFHWADDR) && defined(ESOCK_USE_HWADDR) -#define IOCTL_GIFHWADDR_FUNC_DECL \ - IOCTL_GET_REQUEST_DECL(gifhwaddr, SIOCGIFHWADDR, hwaddr, &ifreq.ifr_hwaddr) +#define IOCTL_GIFHWADDR_FUNC3_DECL \ + IOCTL_GET_REQUEST3_DECL(gifhwaddr, SIOCGIFHWADDR, hwaddr, &ifreq.ifr_hwaddr) #else -#define IOCTL_GIFHWADDR_FUNC_DECL +#define IOCTL_GIFHWADDR_FUNC3_DECL #endif /* *** essio_ioctl_gifmap *** */ #if defined(SIOCGIFMAP) && defined(ESOCK_USE_IFMAP) -#define IOCTL_GIFMAP_FUNC_DECL \ - IOCTL_GET_REQUEST_DECL(gifmap, SIOCGIFMAP, ifrmap, &ifreq.ifr_map) +#define IOCTL_GIFMAP_FUNC3_DECL \ + IOCTL_GET_REQUEST3_DECL(gifmap, SIOCGIFMAP, ifrmap, &ifreq.ifr_map) #else -#define IOCTL_GIFMAP_FUNC_DECL +#define IOCTL_GIFMAP_FUNC3_DECL #endif /* *** essio_ioctl_giftxqlen *** */ #if defined(SIOCGIFTXQLEN) -#define IOCTL_GIFTXQLEN_FUNC_DECL \ - IOCTL_GET_REQUEST_DECL(giftxqlen, SIOCGIFTXQLEN, ivalue, ifreq.ifr_qlen) +#define IOCTL_GIFTXQLEN_FUNC3_DECL \ + IOCTL_GET_REQUEST3_DECL(giftxqlen, SIOCGIFTXQLEN, ivalue, ifreq.ifr_qlen) #else -#define IOCTL_GIFTXQLEN_FUNC_DECL +#define IOCTL_GIFTXQLEN_FUNC3_DECL #endif -#define IOCTL_GET_FUNCS \ - IOCTL_GIFINDEX_FUNC_DECL \ - IOCTL_GIFFLAGS_FUNC_DECL \ - IOCTL_GIFADDR_FUNC_DECL \ - IOCTL_GIFDSTADDR_FUNC_DECL \ - IOCTL_GIFBRDADDR_FUNC_DECL \ - IOCTL_GIFNETMASK_FUNC_DECL \ - IOCTL_GIFMTU_FUNC_DECL \ - IOCTL_GIFHWADDR_FUNC_DECL \ - IOCTL_GIFMAP_FUNC_DECL \ - IOCTL_GIFTXQLEN_FUNC_DECL - -#define IOCTL_GET_REQUEST_DECL(OR, R, EF, UV) \ +#define IOCTL_GET_FUNCS3 \ + IOCTL_GIFINDEX_FUNC3_DECL \ + IOCTL_GIFFLAGS_FUNC3_DECL \ + IOCTL_GIFADDR_FUNC3_DECL \ + IOCTL_GIFDSTADDR_FUNC3_DECL \ + IOCTL_GIFBRDADDR_FUNC3_DECL \ + IOCTL_GIFNETMASK_FUNC3_DECL \ + IOCTL_GIFMTU_FUNC3_DECL \ + IOCTL_GIFHWADDR_FUNC3_DECL \ + IOCTL_GIFMAP_FUNC3_DECL \ + IOCTL_GIFTXQLEN_FUNC3_DECL + +#define IOCTL_GET_REQUEST3_DECL(OR, R, EF, UV) \ static \ ERL_NIF_TERM essio_ioctl_##OR(ErlNifEnv* env, \ ESockDescriptor* descP, \ @@ -4120,61 +4387,16 @@ ERL_NIF_TERM essio_ioctl4(ErlNifEnv* env, return result; \ \ } -IOCTL_GET_FUNCS -#undef IOCTL_GET_FUNCS +IOCTL_GET_FUNCS3 +#undef IOCTL_GET_FUNCS3 /* =========================================================================== - * The "rest" of the implemented (ioctl) get requests + * The "rest" of the implemented (ioctl) get requests(3) * - * These (get) requests could not be 'generated' by the macros above. + * These (get) requests could not be 'generated' by the (simple) macros above. */ -static -ERL_NIF_TERM essio_ioctl_gifconf(ErlNifEnv* env, - ESockDescriptor* descP) -{ - struct ifconf ifc; - int ifc_len = 0; - int buflen = 100 * sizeof(struct ifreq); - char *buf = MALLOC(buflen); - ERL_NIF_TERM result; - - SSDBG( descP, - ("UNIX-ESSIO", "essio_ioctl_gifconf {%d} -> entry\r\n", descP->sock) ); - - for (;;) { - ifc.ifc_len = buflen; - ifc.ifc_buf = buf; - if (ioctl(descP->sock, SIOCGIFCONF, (char *) &ifc) < 0) { - int saveErrno = sock_errno(); - - SSDBG( descP, - ("UNIX-ESSIO", "essio_ioctl_gifconf {%d} -> failure: " - "\r\n errno: %d (%s)" - "\r\n", descP->sock, saveErrno, erl_errno_id(saveErrno)) ); - - if (saveErrno != EINVAL || ifc_len) { - ERL_NIF_TERM reason = MKA(env, erl_errno_id(saveErrno)); - FREE(buf); - return esock_make_error(env, reason); - } - } else { - if (ifc.ifc_len == ifc_len) break; /* buf large enough */ - ifc_len = ifc.ifc_len; - } - buflen += 10 * sizeof(struct ifreq); - buf = (char *) REALLOC(buf, buflen); - } - - result = encode_ioctl_ifconf(env, descP, &ifc); - - FREE(ifc.ifc_buf); - - return result; -} - - #if defined(SIOCGIFNAME) static ERL_NIF_TERM essio_ioctl_gifname(ErlNifEnv* env, @@ -4796,13 +5018,15 @@ ERL_NIF_TERM encode_ioctl_ivalue(ErlNifEnv* env, ESockDescriptor* descP, int ivalue) { - ERL_NIF_TERM eivalue = MKI(env, ivalue); - - SSDBG( descP, ("UNIX-ESSIO", "encode_ioctl_ivalue -> done with" - "\r\n iValue: %T (%d)" - "\r\n", eivalue, ivalue) ); + return esock_encode_ioctl_ivalue(env, descP, ivalue); +} - return esock_make_ok2(env, eivalue);; +static +ERL_NIF_TERM encode_ioctl_bvalue(ErlNifEnv* env, + ESockDescriptor* descP, + int bvalue) +{ + return esock_encode_ioctl_bvalue(env, descP, bvalue); } static @@ -7019,8 +7243,8 @@ ERL_NIF_TERM recv_check_partial_done(ErlNifEnv* env, /* This transfers "ownership" of the *allocated* binary to an * erlang term (no need for an explicit free). */ + ESOCK_ASSERT( REALLOC_BIN(bufP, read) ); data = MKBIN(env, bufP); - data = MKSBIN(env, data, 0, read); SSDBG( descP, ("UNIX-ESSIO", "recv_check_partial_done(%T) {%d} -> [%ld] done\r\n", @@ -7069,8 +7293,8 @@ ERL_NIF_TERM recv_check_partial_part(ErlNifEnv* env, ERL_NIF_TERM data; descP->readState |= ESOCK_STATE_SELECTED; + ESOCK_ASSERT( REALLOC_BIN(bufP, read) ); data = MKBIN(env, bufP); - data = MKSBIN(env, data, 0, read); res = MKT2(env, esock_atom_select, data); } diff --git a/erts/emulator/nifs/win32/win_socket_asyncio.c b/erts/emulator/nifs/win32/win_socket_asyncio.c index b7d1f424fde2..9d7b3cd71a99 100644 --- a/erts/emulator/nifs/win32/win_socket_asyncio.c +++ b/erts/emulator/nifs/win32/win_socket_asyncio.c @@ -121,6 +121,8 @@ #define ERRNO_BLOCK WSAEWOULDBLOCK +#define ESAIO_RECVFROM_MIN_BUFSZ 0x8000 + /* ======================================================================== * * Socket wrappers * @@ -135,6 +137,10 @@ #define sock_connect_O(s, a, al, sent, o) \ ctrl.connect((s), (struct sockaddr*) (a), (al), NULL, 0, (sent), (o)) #define sock_errno() WSAGetLastError() +#define sock_ioctl1(s, cc, b) \ + ioctlsocket((s), (cc), (b)) +#define sock_ioctl2(s, cc, ib, ibs, ob, obs, br) \ + WSAIoctl((s), (cc), (ib), (ibs), (ob), (obs), (br), NULL, NULL) // #define sock_listen(s, b) listen((s), (b)) // #define sock_name(s, addr, len) getsockname((s), (addr), (len)) #define sock_open(domain, type, proto) socket((domain), (type), (proto)) @@ -641,6 +647,48 @@ static ERL_NIF_TERM recvmsg_check_fail(ErlNifEnv* env, int saveErrno, ERL_NIF_TERM sockRef); +#if defined(FIONREAD) +static ERL_NIF_TERM esaio_ioctl_fionread(ErlNifEnv* env, + ESockDescriptor* descP); +#endif +#if defined(SIOCATMARK) +static ERL_NIF_TERM esaio_ioctl_siocatmark(ErlNifEnv* env, + ESockDescriptor* descP); +#endif + +#if defined(SIO_TCP_INFO) +static ERL_NIF_TERM esaio_ioctl_tcp_info(ErlNifEnv* env, + ESockDescriptor* descP, + ERL_NIF_TERM eversion); +static ERL_NIF_TERM encode_tcp_info_v0(ErlNifEnv* env, + TCP_INFO_v0* infoP); +#if defined(HAVE_TCP_INFO_V1) +static ERL_NIF_TERM encode_tcp_info_v1(ErlNifEnv* env, + TCP_INFO_v1* infoP); +#endif +static ERL_NIF_TERM encode_tcp_state(ErlNifEnv* env, + TCPSTATE state); +#endif + +#if defined(SIO_RCVALL) +static ERL_NIF_TERM esaio_ioctl_rcvall(ErlNifEnv* env, + ESockDescriptor* descP, + ERL_NIF_TERM evalue); +#endif + +#if defined(SIO_RCVALL_IGMPMCAST) +static ERL_NIF_TERM esaio_ioctl_rcvall_igmpmcast(ErlNifEnv* env, + ESockDescriptor* descP, + ERL_NIF_TERM evalue); +#endif + +#if defined(SIO_RCVALL_MCAST) +static ERL_NIF_TERM esaio_ioctl_rcvall_mcast(ErlNifEnv* env, + ESockDescriptor* descP, + ERL_NIF_TERM evalue); +#endif + + static void* esaio_completion_main(void* threadDataP); static BOOLEAN_T esaio_completion_terminate(ESAIOThreadData* dataP, OVERLAPPED* ovl); @@ -2069,7 +2117,7 @@ ERL_NIF_TERM esaio_accept(ErlNifEnv* env, opP->caller = caller; /* Create the accepting socket - * domain - should be AF_INET | AF_INET6 (sould we make sure?) + * domain - should be AF_INET | AF_INET6 | AF_LOCAL (sould we make sure?) * type - should be SOCK_STREAM | SOCK_SEQPACKET (should we make sure?) * protocol - should be IPPROTO_TCP | IPPROTO_SCTP (should we make sure?) * See check above! @@ -2116,6 +2164,9 @@ ERL_NIF_TERM esaio_accept(ErlNifEnv* env, case AF_INET6: addrSz = sizeof(struct sockaddr_in6) + 16; break; + case AF_LOCAL: + addrSz = sizeof(struct sockaddr_un) + 16; + break; default: return esock_make_error_invalid(env, esock_atom_domain); break; @@ -2228,7 +2279,7 @@ ERL_NIF_TERM accept_check_pending(ErlNifEnv* env, esock_atom_acc_waits, &descP->accWaits, 1); if (descP->acceptorsQ.first == NULL) - descP->readState |= ESOCK_STATE_ACCEPTING; + descP->readState |= (ESOCK_STATE_ACCEPTING | ESOCK_STATE_SELECTED); /* Will be picked up by the (worker) threads when the event comes */ esock_acceptor_push(env, descP, caller, accRef, opP); @@ -3852,20 +3903,23 @@ ERL_NIF_TERM recv_check_ok(ErlNifEnv* env, if (read == opP->data.recv.buf.size) { - /* This transfers "ownership" of the *allocated* binary to an - * erlang term (no need for an explicit free). - */ - data = MKBIN(env, &opP->data.recv.buf); - + SSDBG( descP, + ("WIN-ESAIO", + "recv_check_ok(%T, %d) -> complete success" + "\r\n", sockRef, descP->sock) ); } else { - /* This transfers "ownership" of the *allocated* binary to an - * erlang term (no need for an explicit free). - */ - data = MKBIN(env, &opP->data.recv.buf); - data = MKSBIN(env, data, 0, read); + SSDBG( descP, + ("WIN-ESAIO", + "recv_check_ok(%T, %d) -> partial (%d) success" + "\r\n", sockRef, descP->sock, read) ); + ESOCK_ASSERT( REALLOC_BIN(&opP->data.recv.buf, read) ); } + /* This transfers "ownership" of the *allocated* binary to an + * erlang term (no need for an explicit free). + */ + data = MKBIN(env, &opP->data.recv.buf); ESOCK_CNT_INC(env, descP, sockRef, esock_atom_read_pkg, &descP->readPkgCnt, 1); @@ -3876,7 +3930,6 @@ ERL_NIF_TERM recv_check_ok(ErlNifEnv* env, if (read > descP->readPkgMax) descP->readPkgMax = read; - result = esock_make_ok2(env, data); } @@ -3954,10 +4007,9 @@ ERL_NIF_TERM recv_check_ok(ErlNifEnv* env, } SSDBG( descP, - ("WIN-ESAIO", "recv_check_ok(%T) {%d} -> done with" - "\r\n result: %T" + ("WIN-ESAIO", "recv_check_ok(%T) {%d} -> done" "\r\n", - sockRef, descP->sock, result) ); + sockRef, descP->sock) ); return result; } @@ -4075,6 +4127,8 @@ ERL_NIF_TERM esaio_recvfrom(ErlNifEnv* env, DWORD f = flags; size_t bufSz = (len != 0 ? len : descP->rBufSz); + if (bufSz < ESAIO_RECVFROM_MIN_BUFSZ) bufSz = ESAIO_RECVFROM_MIN_BUFSZ; + SSDBG( descP, ("WIN-ESAIO", "essio_recvfrom {%d} -> entry with" "\r\n bufSz: %d" "\r\n", descP->sock, bufSz) ); @@ -4263,18 +4317,13 @@ ERL_NIF_TERM recvfrom_check_ok(ErlNifEnv* env, opP->data.recvfrom.addrLen, &eSockAddr); - if (read == opP->data.recvfrom.buf.size) { - /* This transfers "ownership" of the *allocated* binary to an - * erlang term (no need for an explicit free). - */ - data = MKBIN(env, &opP->data.recvfrom.buf); - } else { - /* This transfers "ownership" of the *allocated* binary to an - * erlang term (no need for an explicit free). - */ - data = MKBIN(env, &opP->data.recvfrom.buf); - data = MKSBIN(env, data, 0, read); + if (read != opP->data.recvfrom.buf.size) { + ESOCK_ASSERT( REALLOC_BIN(&opP->data.recvfrom.buf, read) ); } + /* This transfers "ownership" of the *allocated* binary to an + * erlang term (no need for an explicit free). + */ + data = MKBIN(env, &opP->data.recvfrom.buf); ESOCK_CNT_INC(env, descP, sockRef, esock_atom_read_pkg, &descP->readPkgCnt, 1); @@ -4813,7 +4862,12 @@ extern ERL_NIF_TERM esaio_close(ErlNifEnv* env, ESockDescriptor* descP) { - if (! IS_OPEN(descP->readState)) { + SSDBG( descP, + ("WIN-ESAIO", + "esaio_close(%d) -> begin closing\r\n", + descP->sock) ); + + if (! IS_OPEN(descP->readState)) { /* A bit of cheeting; maybe not closed yet - do we need a queue? */ return esock_make_error_closed(env); } @@ -4887,12 +4941,14 @@ BOOLEAN_T do_stop(ErlNifEnv* env, * (will result in OPERATION_ABORTED for the threads). */ if (! CancelIoEx((HANDLE) descP->sock, NULL) ) { - int save_errno = sock_errno(); + int save_errno = sock_errno(); + ERL_NIF_TERM ereason = ENO2T(env, save_errno); SSDBG( descP, ("WIN-ESAIO", - "do_stop {%d} -> cancel I/O failed: %s (%d)\r\n", - descP->sock, erl_errno_id(save_errno), save_errno) ); + "do_stop {%d} -> cancel I/O failed: " + "\r\n %T\r\n", + descP->sock, ereason) ); /* Only issue an error message for errors *other* than * 'not found' (since 'not found' means there is no active @@ -4902,10 +4958,9 @@ BOOLEAN_T do_stop(ErlNifEnv* env, if (save_errno != ERROR_NOT_FOUND) esock_error_msg("Failed cancel outstanding I/O operations:" "\r\n Socket: " SOCKET_FORMAT_STR - "\r\n Reason: %s (%d)" + "\r\n Reason: %T" "\r\n", - descP->sock, - erl_errno_id(save_errno), save_errno); + descP->sock, ereason); ret = FALSE; @@ -5385,208 +5440,920 @@ ERL_NIF_TERM esaio_cancel_recv(ErlNifEnv* env, -/* ==================================================================== +/* ======================================================================== + * IOCTL with three args (socket, request "key" and one argument) * - * The "worker" thread of the I/O Completion Port thread pool. - * Shall each thread have its own environment? + * The type and value of 'arg' depend on the request, + * which we have not yet "analyzed". * - * ==================================================================== + * Request arg arg type + * ------- ------- -------- + * tcp_info version integer() + * rcvall command atom() (off | on | iplevel) */ - -static -void* esaio_completion_main(void* threadDataP) +extern +ERL_NIF_TERM esaio_ioctl3(ErlNifEnv* env, + ESockDescriptor* descP, + unsigned long req, + ERL_NIF_TERM arg) { - char envName[64]; /* Used for building the (env-) name */ - BOOLEAN_T done = FALSE; - ESAIOThreadData* dataP = (ESAIOThreadData*) threadDataP; - ESockDescriptor* descP = NULL; - ESAIOOperation* opP; - OVERLAPPED* olP; - BOOL res; - DWORD numBytes, flags = 0; - int save_errno; - - SGDBG( ("WIN-ESAIO", "esaio_completion_main -> entry\r\n") ); + switch (req) { - dataP->state = ESAIO_THREAD_STATE_INITIATING; + /* These are *get* requests */ - sprintf(envName, "esaio-completion-main[%d]", dataP->id); - dataP->env = esock_alloc_env(envName); +#if defined(SIO_TCP_INFO) + case SIO_TCP_INFO: + return esaio_ioctl_tcp_info(env, descP, arg); + break; +#endif - dataP->state = ESAIO_THREAD_STATE_OPERATIONAL; + /* These are *set* requests */ - SGDBG( ("WIN-ESAIO", "esaio_completion_main -> initiated\r\n") ); +#if defined(SIO_RCVALL) + case SIO_RCVALL: + return esaio_ioctl_rcvall(env, descP, arg); + break; +#endif - while (!done) { - /* - * If this function *fails*, return value FALSE, the (out-) arguments: - * - lpNumberOfBytes (numBytes) - * - lpCompletionKey (descP) - * - lpOverlapped (olP) - * *can* contain particular value combinations as follows: - * - * * If *lpOverlapped is NULL, the function did not dequeue a - * completion packet from the completion port. - * In this case, the function does not store information in the - * variables pointed to by the lpNumberOfBytes and lpCompletionKey - * parameters, and their values are indeterminate. - * - * * If *lpOverlapped is not NULL and the function dequeues a - * completion packet for a failed I/O operation from the - * completion port, the function stores information about the - * failed operation in the variables pointed to by lpNumberOfBytes, - * lpCompletionKey, and lpOverlapped. - * To get extended error information, call GetLastError. - * - */ +#if defined(SIO_RCVALL_IGMPMCAST) + case SIO_RCVALL_IGMPMCAST: + return esaio_ioctl_rcvall_igmpmcast(env, descP, arg); + break; +#endif - SGDBG( ("WIN-ESAIO", - "esaio_completion_main -> [%d] try dequeue packet\r\n", - dataP->cnt) ); +#if defined(SIO_RCVALL_MCAST) + case SIO_RCVALL_MCAST: + return esaio_ioctl_rcvall_mcast(env, descP, arg); + break; +#endif - res = GetQueuedCompletionStatus(ctrl.cport, - &numBytes, - (PULONG_PTR) &descP, - &olP, - INFINITE); - save_errno = NO_ERROR; - if (!res) { + default: + return esock_make_error(env, esock_atom_enotsup); + break; + } - save_errno = sock_errno(); // Details +} - if (olP == NULL) { - /* First alt. - * What shall we do here? Quit? Try again? - */ - - SGDBG( ("WIN-ESAIO", - "esaio_completion_main -> [failure 1]" - "\r\n %s (%d)" - "\r\n", erl_errno_id(save_errno), save_errno) ); - dataP->state = ESAIO_THREAD_STATE_TERMINATING; - dataP->error = ESAIO_THREAD_ERROR_GET; - opP = NULL; - done = TRUE; - break; +#if defined(SIO_TCP_INFO) +static +ERL_NIF_TERM esaio_ioctl_tcp_info(ErlNifEnv* env, + ESockDescriptor* descP, + ERL_NIF_TERM eversion) +{ + DWORD ndata = 0; // We do not actually use this + ERL_NIF_TERM result; + int res; + int version; + + SSDBG( descP, ("WIN-ESAIO", "esaio_ioctl_tcp_info(%d) -> entry with" + "\r\n (e)version: %T" + "\r\n", descP->sock, eversion) ); + + if (!GET_INT(env, eversion, &version)) + return enif_make_badarg(env); - } else { + switch (version) { + case 0: + { + TCP_INFO_v0 info; - /* Second alt. - * Dequeued a complete packet for a *failed* I/O operation. - */ + sys_memzero((char *) &info, sizeof(info)); + res = sock_ioctl2(descP->sock, SIO_TCP_INFO, + &version, sizeof(version), + &info, sizeof(info), &ndata); + (void) ndata; + if (res != 0) { + int save_errno = sock_errno(); + ERL_NIF_TERM reason = ENO2T(env, save_errno); - SGDBG( ("WIN-ESAIO", - "esaio_completion_main -> [failure 2] " - "\r\n %s (%d)" - "\r\n", erl_errno_id(save_errno), save_errno) ); + SSDBG( descP, + ("WIN-ESAIO", "esaio_ioctl_tcp_info(%d,v0) -> failure: " + "\r\n reason: %T" + "\r\n", descP->sock, reason) ); - opP = CONTAINING_RECORD(olP, ESAIOOperation, ol); - esaio_completion_inc(dataP); + result = esock_make_error(env, reason); + } else { + ERL_NIF_TERM einfo = encode_tcp_info_v0(env, &info); + + result = esock_make_ok2(env, einfo); } - } else { - opP = CONTAINING_RECORD(olP, ESAIOOperation, ol); - esaio_completion_inc(dataP); + } + break; - SGDBG( ("WIN-ESAIO", "esaio_completion_main -> success\r\n") ); +#if defined(HAVE_TCP_INFO_V1) + case 1: + { + TCP_INFO_v1 info; - } /* if (!res) */ + sys_memzero((char *) &info, sizeof(info)); + res = sock_ioctl2(descP->sock, SIO_TCP_INFO, + &version, sizeof(version), + &info, sizeof(info), &ndata); + (void) ndata; + if (res != 0) { + int save_errno = sock_errno(); + ERL_NIF_TERM reason = ENO2T(env, save_errno); - dataP->latest = opP->tag; + SSDBG( descP, + ("WIN-ESAIO", "esaio_ioctl_tcp_info(%d,v1) -> failure: " + "\r\n reason: %T" + "\r\n", descP->sock, reason) ); - switch (opP->tag) { - case ESAIO_OP_TERMINATE: - SGDBG( ("WIN-ESAIO", - "esaio_completion_main -> received terminate cmd\r\n") ); - done = esaio_completion_terminate(dataP, (OVERLAPPED*) opP); - break; + result = esock_make_error(env, reason); - case ESAIO_OP_CONNECT: - SGDBG( ("WIN-ESAIO", - "esaio_completion_main -> received connect cmd\r\n") ); - done = esaio_completion_connect(dataP, descP, (OVERLAPPED*) opP, - opP->env, &opP->caller, - &opP->data.connect, - save_errno); - break; + } else { + ERL_NIF_TERM einfo = encode_tcp_info_v1(env, &info); - case ESAIO_OP_ACCEPT: - SGDBG( ("WIN-ESAIO", - "esaio_completion_main -> received accept cmd\r\n") ); - done = esaio_completion_accept(dataP, descP, (OVERLAPPED*) opP, - opP->env, &opP->caller, - &opP->data.accept, - save_errno); - break; + result = esock_make_ok2(env, einfo); + } + } + break; +#endif - case ESAIO_OP_SEND: - SGDBG( ("WIN-ESAIO", - "esaio_completion_main -> received send cmd\r\n") ); - done = esaio_completion_send(dataP, descP, (OVERLAPPED*) opP, - opP->env, &opP->caller, - &opP->data.send, - save_errno); - break; + default: + return enif_make_badarg(env); + } - case ESAIO_OP_SENDTO: - SGDBG( ("WIN-ESAIO", - "esaio_completion_main -> received sendto cmd\r\n") ); - done = esaio_completion_sendto(dataP, descP, (OVERLAPPED*) opP, - opP->env, &opP->caller, - &opP->data.sendto, - save_errno); - break; + SSDBG( descP, + ("UNIX-ESSIO", "essio_ioctl_tcp_info(%d) -> done with" + "\r\n result: %T" + "\r\n", + descP->sock, result) ); + + return result; - case ESAIO_OP_SENDMSG: - SGDBG( ("WIN-ESAIO", - "esaio_completion_main -> received sendmsg cmd\r\n") ); - done = esaio_completion_sendmsg(dataP, descP, (OVERLAPPED*) opP, - opP->env, &opP->caller, - &opP->data.sendmsg, - save_errno); - break; +} +#endif - case ESAIO_OP_RECV: - SGDBG( ("WIN-ESAIO", - "esaio_completion_main -> received recv cmd\r\n") ); - done = esaio_completion_recv(dataP, descP, (OVERLAPPED*) opP, - opP->env, &opP->caller, - &opP->data.recv, - save_errno); - break; - case ESAIO_OP_RECVFROM: - SGDBG( ("WIN-ESAIO", - "esaio_completion_main -> received recvfrom cmd\r\n") ); - done = esaio_completion_recvfrom(dataP, descP, (OVERLAPPED*) opP, - opP->env, &opP->caller, - &opP->data.recvfrom, - save_errno); - break; +/* + typedef struct _TCP_INFO_v0 { + TCPSTATE State; + ULONG Mss; + ULONG64 ConnectionTimeMs; + BOOLEAN TimestampsEnabled; + ULONG RttUs; + ULONG MinRttUs; + ULONG BytesInFlight; + ULONG Cwnd; + ULONG SndWnd; + ULONG RcvWnd; + ULONG RcvBuf; + ULONG64 BytesOut; + ULONG64 BytesIn; + ULONG BytesReordered; + ULONG BytesRetrans; + ULONG FastRetrans; + ULONG DupAcksIn; + ULONG TimeoutEpisodes; + UCHAR SynRetrans; + } TCP_INFO_v0, *PTCP_INFO_v0; + * + typedef enum _TCPSTATE { + TCPSTATE_CLOSED, + TCPSTATE_LISTEN, + TCPSTATE_SYN_SENT, + TCPSTATE_SYN_RCVD, + TCPSTATE_ESTABLISHED, + TCPSTATE_FIN_WAIT_1, + TCPSTATE_FIN_WAIT_2, + TCPSTATE_CLOSE_WAIT, + TCPSTATE_CLOSING, + TCPSTATE_LAST_ACK, + TCPSTATE_TIME_WAIT, + TCPSTATE_MAX + } TCPSTATE; + */ +#if defined(SIO_TCP_INFO) +static +ERL_NIF_TERM encode_tcp_info_v0(ErlNifEnv* env, TCP_INFO_v0* infoP) +{ + ERL_NIF_TERM einfo; + ERL_NIF_TERM keys[] = {esock_atom_state, + esock_atom_mss, + esock_atom_connection_time, + esock_atom_timestamp_enabled, + esock_atom_rtt, + esock_atom_min_rtt, + esock_atom_bytes_in_flight, + esock_atom_cwnd, + esock_atom_snd_wnd, + esock_atom_rcv_wnd, + esock_atom_rcv_buf, + esock_atom_bytes_out, + esock_atom_bytes_in, + esock_atom_bytes_reordered, + esock_atom_bytes_retrans, + esock_atom_fast_retrans, + esock_atom_dup_acks_in, + esock_atom_timeout_episodes, + esock_atom_syn_retrans}; + ERL_NIF_TERM vals[] = {encode_tcp_state(env, infoP->State), + MKUL(env, infoP->Mss), + MKUI64(env, infoP->ConnectionTimeMs), + infoP->TimestampsEnabled ? esock_atom_true : esock_atom_false, + MKUL(env, infoP->RttUs), + MKUL(env, infoP->MinRttUs), + MKUL(env, infoP->BytesInFlight), + MKUL(env, infoP->Cwnd), + MKUL(env, infoP->SndWnd), + MKUL(env, infoP->RcvWnd), + MKUL(env, infoP->RcvBuf), + MKUI64(env, infoP->BytesOut), + MKUI64(env, infoP->BytesIn), + MKUL(env, infoP->BytesReordered), + MKUL(env, infoP->BytesRetrans), + MKUL(env, infoP->FastRetrans), + MKUL(env, infoP->DupAcksIn), + MKUL(env, infoP->TimeoutEpisodes), + MKUI(env, infoP->SynRetrans)}; + unsigned int numKeys = NUM(keys); + unsigned int numVals = NUM(vals); + + ESOCK_ASSERT( numKeys == numVals ); + ESOCK_ASSERT( MKMA(env, keys, vals, numKeys, &einfo) ); + + return einfo; +} +#endif - case ESAIO_OP_RECVMSG: - SGDBG( ("WIN-ESAIO", - "esaio_completion_main -> received recvmsg cmd\r\n") ); - done = esaio_completion_recvmsg(dataP, descP, (OVERLAPPED*) opP, - opP->env, &opP->caller, - &opP->data.recvmsg, - save_errno); - break; - default: - SGDBG( ("WIN-ESAIO", - "esaio_completion_main -> received unknown cmd: " - "\r\n %d" - "\r\n", - opP->tag) ); - done = esaio_completion_unknown(dataP, descP, (OVERLAPPED*) opP, - numBytes, save_errno); - break; +/* + typedef struct _TCP_INFO_v1 { + TCPSTATE State; + ULONG Mss; + ULONG64 ConnectionTimeMs; + BOOLEAN TimestampsEnabled; + ULONG RttUs; + ULONG MinRttUs; + ULONG BytesInFlight; + ULONG Cwnd; + ULONG SndWnd; + ULONG RcvWnd; + ULONG RcvBuf; + ULONG64 BytesOut; + ULONG64 BytesIn; + ULONG BytesReordered; + ULONG BytesRetrans; + ULONG FastRetrans; + ULONG DupAcksIn; + ULONG TimeoutEpisodes; + UCHAR SynRetrans; + ULONG SndLimTransRwin; + ULONG SndLimTimeRwin; + ULONG64 SndLimBytesRwin; + ULONG SndLimTransCwnd; + ULONG SndLimTimeCwnd; + ULONG64 SndLimBytesCwnd; + ULONG SndLimTransSnd; + ULONG SndLimTimeSnd; + ULONG64 SndLimBytesSnd; + } TCP_INFO_v1, *PTCP_INFO_v1; + */ +#if defined(SIO_TCP_INFO) && defined(HAVE_TCP_INFO_V1) +static +ERL_NIF_TERM encode_tcp_info_v1(ErlNifEnv* env, TCP_INFO_v1* infoP) +{ + ERL_NIF_TERM einfo; + ERL_NIF_TERM keys[] = {esock_atom_state, + esock_atom_mss, + esock_atom_connection_time, + esock_atom_timestamp_enabled, + esock_atom_rtt, + esock_atom_min_rtt, + esock_atom_bytes_in_flight, + esock_atom_cwnd, + esock_atom_snd_wnd, + esock_atom_rcv_wnd, + esock_atom_rcv_buf, + esock_atom_bytes_out, + esock_atom_bytes_in, + esock_atom_bytes_reordered, + esock_atom_bytes_retrans, + esock_atom_fast_retrans, + esock_atom_dup_acks_in, + esock_atom_timeout_episodes, + esock_atom_syn_retrans, + esock_atom_syn_lim_trans_rwin, + esock_atom_syn_lim_time_rwin, + esock_atom_syn_lim_bytes_rwin, + esock_atom_syn_lim_trans_cwnd, + esock_atom_syn_lim_time_cwnd, + esock_atom_syn_lim_bytes_cwnd, + esock_atom_syn_lim_trans_snd, + esock_atom_syn_lim_time_snd, + esock_atom_syn_lim_bytes_snd}; + ERL_NIF_TERM vals[] = {encode_tcp_state(env, infoP->State), + MKUL(env, infoP->Mss), + MKUI64(end, infoP->ConnectionTimeMs), + infoP->TimestampsEnabled ? esock_atom_true : esock_atom_false, + MKUL(env, infoP->RttUs), + MKUL(env, infoP->MinRttUs), + MKUL(env, infoP->BytesInFlight), + MKUL(env, infoP->Cwnd), + MKUL(env, infoP->SndWnd), + MKUL(env, infoP->RcvWnd), + MKUL(env, infoP->RcvBuf), + MKUI64(env, infoP->BytesOut), + MKUI64(env, infoP->BytesIn), + MKUL(env, infoP->BytesReordered), + MKUL(env, infoP->BytesRetrans), + MKUL(env, infoP->FastRetrans), + MKUL(env, infoP->DupAcksIn), + MKUL(env, infoP->TimeoutEpisodes), + MKUI(env, infoP->SynRetrans), + MKUL(env, infoP->SndLimTransRwin), + MKUL(env, infoP->SndLimTimeRwin), + MKUI64(env, infoP->SndLimBytesRwin), + MKUL(env, infoP->SndLimTransCwnd), + MKUL(env, infoP->SndLimTimeCwnd), + MKUI64(env, infoP->SndLimBytesCwnd), + MKUL(env, infoP->SndLimTransSnd), + MKUL(env, infoP->SndLimTimeSnd), + MKUI64(env, infoP->SndLimBytesSnd)}; + unsigned int numKeys = NUM(keys); + unsigned int numVals = NUM(vals); + + ESOCK_ASSERT( numKeys == numVals ); + ESOCK_ASSERT( MKMA(env, keys, vals, numKeys, &einfo) ); + + return einfo; +} +#endif - } + + +#if defined(SIO_TCP_INFO) +static +ERL_NIF_TERM encode_tcp_state(ErlNifEnv* env, TCPSTATE state) +{ + ERL_NIF_TERM estate; + + switch (state) { + case TCPSTATE_CLOSED: + estate = esock_atom_closed; + break; + case TCPSTATE_LISTEN: + estate = esock_atom_listen; + break; + case TCPSTATE_SYN_SENT: + estate = esock_atom_syn_sent; + break; + case TCPSTATE_SYN_RCVD: + estate = esock_atom_syn_rcvd; + break; + case TCPSTATE_ESTABLISHED: + estate = esock_atom_established; + break; + case TCPSTATE_FIN_WAIT_1: + estate = esock_atom_fin_wait_1; + break; + case TCPSTATE_FIN_WAIT_2: + estate = esock_atom_fin_wait_2; + break; + case TCPSTATE_CLOSE_WAIT: + estate = esock_atom_close_wait; + break; + case TCPSTATE_CLOSING: + estate = esock_atom_closing; + break; + case TCPSTATE_LAST_ACK: + estate = esock_atom_last_ack; + break; + case TCPSTATE_TIME_WAIT: + estate = esock_atom_time_wait; + break; + case TCPSTATE_MAX: + estate = esock_atom_max; + break; + default: + estate = MKI(env, state); + break; + } + + return estate; +} +#endif + + +#if defined(SIO_RCVALL) +static +ERL_NIF_TERM esaio_ioctl_rcvall(ErlNifEnv* env, + ESockDescriptor* descP, + ERL_NIF_TERM evalue) +{ + DWORD ndata = 0; // We do not actually use this + ERL_NIF_TERM result; + int value, res; + + SSDBG( descP, ("WIN-ESAIO", "esaio_ioctl_rcvall(%d) -> entry with" + "\r\n (e)value: %T" + "\r\n", descP->sock, evalue) ); + + if (! IS_ATOM(env, evalue)) + return enif_make_badarg(env); + + if (COMPARE(evalue, esock_atom_off) == 0) { + value = RCVALL_OFF; + } else if (COMPARE(evalue, esock_atom_on) == 0) { + value = RCVALL_ON; + } else if (COMPARE(evalue, esock_atom_iplevel) == 0) { + value = RCVALL_IPLEVEL; + } else { + return enif_make_badarg(env); + } + + res = sock_ioctl2(descP->sock, SIO_RCVALL, + &value, sizeof(value), + NULL, 0, &ndata); + (void) ndata; + + if (res != 0) { + int save_errno = sock_errno(); + ERL_NIF_TERM reason = ENO2T(env, save_errno); + + SSDBG( descP, + ("WIN-ESAIO", "esaio_ioctl_rcvall(%d) -> failure: " + "\r\n reason: %T" + "\r\n", descP->sock, reason) ); + + result = esock_make_error(env, reason); + + } else { + + result = esock_atom_ok; + + } + + SSDBG( descP, + ("WIN-ESAIO", "esaio_ioctl_rcvall(%d) -> done with" + "\r\n result: %T" + "\r\n", + descP->sock, result) ); + + return result; + +} +#endif + + + +#if defined(SIO_RCVALL_IGMPMCAST) +static +ERL_NIF_TERM esaio_ioctl_rcvall_igmpmcast(ErlNifEnv* env, + ESockDescriptor* descP, + ERL_NIF_TERM evalue) +{ + DWORD ndata = 0; // We do not actually use this + ERL_NIF_TERM result; + int value, res; + + SSDBG( descP, ("WIN-ESAIO", "esaio_ioctl_rcvall_igmpmcast(%d) -> entry with" + "\r\n (e)value: %T" + "\r\n", descP->sock, evalue) ); + + if (! IS_ATOM(env, evalue)) + return enif_make_badarg(env); + + if (COMPARE(evalue, esock_atom_off) == 0) { + value = RCVALL_OFF; + } else if (COMPARE(evalue, esock_atom_on) == 0) { + value = RCVALL_ON; + } else { + return enif_make_badarg(env); + } + + res = sock_ioctl2(descP->sock, SIO_RCVALL_IGMPMCAST, + &value, sizeof(value), + NULL, 0, &ndata); + (void) ndata; + + if (res != 0) { + int save_errno = sock_errno(); + ERL_NIF_TERM reason = ENO2T(env, save_errno); + + SSDBG( descP, + ("WIN-ESAIO", "esaio_ioctl_rcvall_igmpmcast(%d) -> failure: " + "\r\n reason: %T" + "\r\n", descP->sock, reason) ); + + result = esock_make_error(env, reason); + + } else { + + result = esock_atom_ok; + + } + + SSDBG( descP, + ("WIN-ESAIO", "esaio_ioctl_rcvall_igmpmcast(%d) -> done with" + "\r\n result: %T" + "\r\n", + descP->sock, result) ); + + return result; + +} +#endif + + + +#if defined(SIO_RCVALL_MCAST) +/* + * We should really have a common function for this, + * since igmpmcast and mcast is basically identical. + */ +static +ERL_NIF_TERM esaio_ioctl_rcvall_mcast(ErlNifEnv* env, + ESockDescriptor* descP, + ERL_NIF_TERM evalue) +{ + DWORD ndata = 0; // We do not actually use this + ERL_NIF_TERM result; + int value, res; + + SSDBG( descP, ("WIN-ESAIO", "esaio_ioctl_rcvall_mcast(%d) -> entry with" + "\r\n (e)value: %T" + "\r\n", descP->sock, evalue) ); + + if (! IS_ATOM(env, evalue)) + return enif_make_badarg(env); + + if (COMPARE(evalue, esock_atom_off) == 0) { + value = RCVALL_OFF; + } else if (COMPARE(evalue, esock_atom_on) == 0) { + value = RCVALL_ON; + } else { + return enif_make_badarg(env); + } + + res = sock_ioctl2(descP->sock, SIO_RCVALL_MCAST, + &value, sizeof(value), + NULL, 0, &ndata); + (void) ndata; + + if (res != 0) { + int save_errno = sock_errno(); + ERL_NIF_TERM reason = ENO2T(env, save_errno); + + SSDBG( descP, + ("WIN-ESAIO", "esaio_ioctl_rcvall_mcast(%d) -> failure: " + "\r\n reason: %T" + "\r\n", descP->sock, reason) ); + + result = esock_make_error(env, reason); + + } else { + + result = esock_atom_ok; + + } + + SSDBG( descP, + ("WIN-ESAIO", "esaio_ioctl_rcvall_mcast(%d) -> done with" + "\r\n result: %T" + "\r\n", + descP->sock, result) ); + + return result; + +} +#endif + + + +/* ======================================================================== + * IOCTL with two args (socket and request "key") + * + */ +extern +ERL_NIF_TERM esaio_ioctl2(ErlNifEnv* env, + ESockDescriptor* descP, + unsigned long req) +{ + switch (req) { + +#if defined(FIONREAD) + case FIONREAD: + return esaio_ioctl_fionread(env, descP); + break; +#endif + +#if defined(SIOCATMARK) + case SIOCATMARK: + return esaio_ioctl_siocatmark(env, descP); + break; +#endif + + default: + return esock_make_error(env, esock_atom_enotsup); + break; + } + +} + + +#if defined(FIONREAD) +static +ERL_NIF_TERM esaio_ioctl_fionread(ErlNifEnv* env, + ESockDescriptor* descP) +{ + u_long n = 0; + DWORD ndata = 0; // We do not actually use this + int res; + ERL_NIF_TERM result; + + SSDBG( descP, + ("WIN-ESAIO", "esaio_ioctl_fionread(%d) -> entry\r\n", descP->sock) ); + + res = sock_ioctl2(descP->sock, FIONREAD, NULL, 0, &n, sizeof(n), &ndata); + (void) ndata; + + if (res != 0) { + int save_errno = sock_errno(); + ERL_NIF_TERM reason = ENO2T(env, save_errno); + + SSDBG( descP, + ("WIN-ESAIO", "esaio_ioctl_fionread(%d) -> failure: " + "\r\n reason: %T" + "\r\n", descP->sock, reason) ); + + result = esock_make_error(env, reason); + + } else { + + result = esock_encode_ioctl_ivalue(env, descP, n); + + } + + SSDBG( descP, + ("WIN-ESAIO", + "esaio_ioctl_fionread(%d) -> done with: " + "\r\n result: %T" + "\r\n", descP->sock, result) ); + + return result; +} +#endif + + +/* For a stream socket that has been configured for inline reception of any + * OOB data (SO_OOBINLINE), tests if there is any OOB data waiting to be read. + * Returns TRUE if there data waiting to be read, FALSE otherwise. + */ +#if defined(SIOCATMARK) +static +ERL_NIF_TERM esaio_ioctl_siocatmark(ErlNifEnv* env, + ESockDescriptor* descP) +{ + int b = 0; + DWORD ndata = 0; // We do not actually use this + int res; + ERL_NIF_TERM result; + + SSDBG( descP, + ("WIN-ESAIO", "esaio_ioctl_siocatmark(%d) -> entry\r\n", + descP->sock) ); + + res = sock_ioctl2(descP->sock, SIOCATMARK, NULL, 0, &b, sizeof(b), &ndata); + (void) ndata; + + if (res != 0) { + int save_errno = sock_errno(); + ERL_NIF_TERM reason = ENO2T(env, save_errno); + + SSDBG( descP, + ("WIN-ESAIO", "esaio_ioctl_siocatmark(%d) -> failure: " + "\r\n reason: %T" + "\r\n", descP->sock, reason) ); + + result = esock_make_error(env, reason); + + } else { + + result = esock_encode_ioctl_bvalue(env, descP, b); + + } + + SSDBG( descP, + ("WIN-ESAIO", + "esaio_ioctl_siocatmark(%d) -> done with: " + "\r\n result: %T" + "\r\n", descP->sock, result) ); + + return result; +} +#endif + + + + +/* ==================================================================== + * + * The "worker" thread of the I/O Completion Port thread pool. + * Shall each thread have its own environment? + * + * ==================================================================== + */ + +static +void* esaio_completion_main(void* threadDataP) +{ + char envName[64]; /* Used for building the (env-) name */ + BOOLEAN_T done = FALSE; + ESAIOThreadData* dataP = (ESAIOThreadData*) threadDataP; + ESockDescriptor* descP = NULL; + ESAIOOperation* opP; + OVERLAPPED* olP; + BOOL res; + DWORD numBytes, flags = 0; + int save_errno; + + SGDBG( ("WIN-ESAIO", "esaio_completion_main -> entry\r\n") ); + + dataP->state = ESAIO_THREAD_STATE_INITIATING; + + sprintf(envName, "esaio-completion-main[%d]", dataP->id); + dataP->env = esock_alloc_env(envName); + + dataP->state = ESAIO_THREAD_STATE_OPERATIONAL; + + SGDBG( ("WIN-ESAIO", "esaio_completion_main -> initiated\r\n") ); + + while (!done) { + /* + * If this function *fails*, return value FALSE, the (out-) arguments: + * - lpNumberOfBytes (numBytes) + * - lpCompletionKey (descP) + * - lpOverlapped (olP) + * *can* contain particular value combinations as follows: + * + * * If *lpOverlapped is NULL, the function did not dequeue a + * completion packet from the completion port. + * In this case, the function does not store information in the + * variables pointed to by the lpNumberOfBytes and lpCompletionKey + * parameters, and their values are indeterminate. + * + * * If *lpOverlapped is not NULL and the function dequeues a + * completion packet for a failed I/O operation from the + * completion port, the function stores information about the + * failed operation in the variables pointed to by lpNumberOfBytes, + * lpCompletionKey, and lpOverlapped. + * To get extended error information, call GetLastError. + * + */ + + SGDBG( ("WIN-ESAIO", + "esaio_completion_main -> [%d] try dequeue packet\r\n", + dataP->cnt) ); + + res = GetQueuedCompletionStatus(ctrl.cport, + &numBytes, + (PULONG_PTR) &descP, + &olP, + INFINITE); + save_errno = NO_ERROR; + + if (!res) { + + save_errno = sock_errno(); // Details + + if (olP == NULL) { + + /* First alt. + * What shall we do here? Quit? Try again? + */ + + SGDBG( ("WIN-ESAIO", + "esaio_completion_main -> [failure 1]" + "\r\n %s (%d)" + "\r\n", erl_errno_id(save_errno), save_errno) ); + + dataP->state = ESAIO_THREAD_STATE_TERMINATING; + dataP->error = ESAIO_THREAD_ERROR_GET; + opP = NULL; + done = TRUE; + break; + + } else { + + /* Second alt. + * Dequeued a complete packet for a *failed* I/O operation. + */ + + SGDBG( ("WIN-ESAIO", + "esaio_completion_main -> [failure 2] " + "\r\n %s (%d)" + "\r\n", erl_errno_id(save_errno), save_errno) ); + + opP = CONTAINING_RECORD(olP, ESAIOOperation, ol); + esaio_completion_inc(dataP); + + } + } else { + opP = CONTAINING_RECORD(olP, ESAIOOperation, ol); + esaio_completion_inc(dataP); + + SGDBG( ("WIN-ESAIO", "esaio_completion_main -> success\r\n") ); + + } /* if (!res) */ + + dataP->latest = opP->tag; + + switch (opP->tag) { + case ESAIO_OP_TERMINATE: + SGDBG( ("WIN-ESAIO", + "esaio_completion_main -> received terminate cmd\r\n") ); + done = esaio_completion_terminate(dataP, (OVERLAPPED*) opP); + break; + + case ESAIO_OP_CONNECT: + SGDBG( ("WIN-ESAIO", + "esaio_completion_main -> received connect cmd\r\n") ); + done = esaio_completion_connect(dataP, descP, (OVERLAPPED*) opP, + opP->env, &opP->caller, + &opP->data.connect, + save_errno); + break; + + case ESAIO_OP_ACCEPT: + SGDBG( ("WIN-ESAIO", + "esaio_completion_main -> received accept cmd\r\n") ); + done = esaio_completion_accept(dataP, descP, (OVERLAPPED*) opP, + opP->env, &opP->caller, + &opP->data.accept, + save_errno); + break; + + case ESAIO_OP_SEND: + SGDBG( ("WIN-ESAIO", + "esaio_completion_main -> received send cmd\r\n") ); + done = esaio_completion_send(dataP, descP, (OVERLAPPED*) opP, + opP->env, &opP->caller, + &opP->data.send, + save_errno); + break; + + case ESAIO_OP_SENDTO: + SGDBG( ("WIN-ESAIO", + "esaio_completion_main -> received sendto cmd\r\n") ); + done = esaio_completion_sendto(dataP, descP, (OVERLAPPED*) opP, + opP->env, &opP->caller, + &opP->data.sendto, + save_errno); + break; + + case ESAIO_OP_SENDMSG: + SGDBG( ("WIN-ESAIO", + "esaio_completion_main -> received sendmsg cmd\r\n") ); + done = esaio_completion_sendmsg(dataP, descP, (OVERLAPPED*) opP, + opP->env, &opP->caller, + &opP->data.sendmsg, + save_errno); + break; + + case ESAIO_OP_RECV: + SGDBG( ("WIN-ESAIO", + "esaio_completion_main -> received recv cmd\r\n") ); + done = esaio_completion_recv(dataP, descP, (OVERLAPPED*) opP, + opP->env, &opP->caller, + &opP->data.recv, + save_errno); + break; + + case ESAIO_OP_RECVFROM: + SGDBG( ("WIN-ESAIO", + "esaio_completion_main -> received recvfrom cmd\r\n") ); + done = esaio_completion_recvfrom(dataP, descP, (OVERLAPPED*) opP, + opP->env, &opP->caller, + &opP->data.recvfrom, + save_errno); + break; + + case ESAIO_OP_RECVMSG: + SGDBG( ("WIN-ESAIO", + "esaio_completion_main -> received recvmsg cmd\r\n") ); + done = esaio_completion_recvmsg(dataP, descP, (OVERLAPPED*) opP, + opP->env, &opP->caller, + &opP->data.recvmsg, + save_errno); + break; + + default: + SGDBG( ("WIN-ESAIO", + "esaio_completion_main -> received unknown cmd: " + "\r\n %d" + "\r\n", + opP->tag) ); + done = esaio_completion_unknown(dataP, descP, (OVERLAPPED*) opP, + numBytes, save_errno); + break; + + } FREE(opP); @@ -6111,8 +6878,9 @@ void esaio_completion_accept_success(ErlNifEnv* env, "maybe (%s) update (read) state (ox%X)\r\n", descP->sock, B2S((descP->acceptorsQ.first == NULL)), descP->readState) ); - if (descP->acceptorsQ.first == NULL) - descP->readState &= ~ESOCK_STATE_SELECTED; + if (descP->acceptorsQ.first == NULL) { + descP->readState &= ~(ESOCK_STATE_ACCEPTING | ESOCK_STATE_SELECTED); + } } @@ -6134,6 +6902,12 @@ void esaio_completion_accept_aborted(ErlNifEnv* env, { ESockRequestor req; + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_accept_aborted(%d) -> " + "try get request" + "\r\n", descP->sock) ); + if (esock_acceptor_get(env, descP, &opDataP->accRef, opCaller, @@ -6141,32 +6915,55 @@ void esaio_completion_accept_aborted(ErlNifEnv* env, ERL_NIF_TERM reason = esock_atom_closed; + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_accept_aborted(%d) -> " + "send abort message to %T" + "\r\n", descP->sock, req.pid) ); + /* Inform the user waiting for a reply */ esock_send_abort_msg(env, descP, opDataP->lSockRef, &req, reason); - /* The socket not being open (assumed closing), - * means we are in the closing phase... + } + + /* The socket not being open (assumed closing), + * means we are in the closing phase... + */ + + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_accept_aborted(%d) -> " + "maybe send close message => " + "\r\n is socket (read) open: %s" + "\r\n", + descP->sock, B2S((IS_OPEN(descP->readState)))) ); + + if (! IS_OPEN(descP->readState)) { + + /* We can only send the 'close' message to the closer + * when all requests has been processed! */ - if (! IS_OPEN(descP->readState)) { - /* We can only send the 'close' message to the closer - * when all requests has been processed! - */ + /* Check "our" queue */ + if (descP->acceptorsQ.first == NULL) { - /* Check "our" queue */ - if (descP->acceptorsQ.first == NULL) { + /* Check "other" queue(s) and if there is a closer pid */ + if ((descP->readersQ.first == NULL) && + (descP->writersQ.first == NULL)) { - /* Check "other" queue(s) and if there is a closer pid */ - if ((descP->readersQ.first == NULL) && - (descP->writersQ.first == NULL)) { + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_accept_aborted(%d) -> " + "all queues are empty => " + "\r\n send close message" + "\r\n", + descP->sock) ); - esaio_stop(env, descP); + esaio_stop(env, descP); - } } } - } /* *Maybe* update socket (read) state @@ -6175,11 +6972,11 @@ void esaio_completion_accept_aborted(ErlNifEnv* env, SSDBG( descP, ("WIN-ESAIO", "esaio_completion_accept_aborted(%d) -> " - "maybe (%s) update (read) state (ox%X)\r\n", + "maybe (%s) update (read) state (0x%X)\r\n", descP->sock, B2S((descP->acceptorsQ.first == NULL)), descP->readState) ); if (descP->acceptorsQ.first == NULL) { - descP->readState &= ~ESOCK_STATE_SELECTED; + descP->readState &= ~(ESOCK_STATE_ACCEPTING | ESOCK_STATE_SELECTED); } } @@ -6225,7 +7022,7 @@ void esaio_completion_accept_failure(ErlNifEnv* env, descP->sock, B2S((descP->acceptorsQ.first == NULL)), descP->readState) ); if (descP->acceptorsQ.first == NULL) { - descP->readState &= ~ESOCK_STATE_SELECTED; + descP->readState &= ~(ESOCK_STATE_ACCEPTING | ESOCK_STATE_SELECTED); } } @@ -6613,6 +7410,12 @@ void esaio_completion_send_aborted(ErlNifEnv* env, { ESockRequestor req; + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_send_aborted(%d) -> " + "try get request" + "\r\n", descP->sock) ); + if (esock_writer_get(env, descP, &opDataP->sendRef, opCaller, @@ -6620,32 +7423,55 @@ void esaio_completion_send_aborted(ErlNifEnv* env, ERL_NIF_TERM reason = esock_atom_closed; + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_send_aborted(%d) -> " + "send abort message to %T" + "\r\n", descP->sock, req.pid) ); + /* Inform the user waiting for a reply */ esock_send_abort_msg(env, descP, opDataP->sockRef, &req, reason); - /* The socket not being open (assumed closing), - * means we are in the closing phase... + } + + /* The socket not being open (assumed closing), + * means we are in the closing phase... + */ + + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_send_aborted(%d) -> " + "maybe send close message => " + "\r\n is socket (write) open: %s" + "\r\n", + descP->sock, B2S((IS_OPEN(descP->writeState)))) ); + + if (! IS_OPEN(descP->writeState)) { + + /* We can only send the 'close' message to the closer + * when all requests has been processed! */ - if (! IS_OPEN(descP->writeState)) { - /* We can only send the 'close' message to the closer - * when all requests has been processed! - */ + /* Check "our" queue */ + if (descP->writersQ.first == NULL) { - /* Check "our" queue */ - if (descP->writersQ.first == NULL) { + /* Check "other" queue(s) and if there is a closer pid */ + if ((descP->readersQ.first == NULL) && + (descP->acceptorsQ.first == NULL)) { - /* Check "other" queue(s) and if there is a closer pid */ - if ((descP->readersQ.first == NULL) && - (descP->acceptorsQ.first == NULL)) { + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_send_aborted(%d) -> " + "all queues are empty => " + "\r\n send close message" + "\r\n", + descP->sock) ); - esaio_stop(env, descP); + esaio_stop(env, descP); - } } } - } /* *Maybe* update socket (write) state @@ -6654,7 +7480,7 @@ void esaio_completion_send_aborted(ErlNifEnv* env, SSDBG( descP, ("WIN-ESAIO", "esaio_completion_send_aborted(%d) -> " - "maybe (%s) update (write) state (ox%X)\r\n", + "maybe (%s) update (write) state (0x%X)\r\n", descP->sock, B2S((descP->writersQ.first == NULL)), descP->writeState) ); if (descP->writersQ.first == NULL) { @@ -7100,6 +7926,12 @@ void esaio_completion_sendto_aborted(ErlNifEnv* env, { ESockRequestor req; + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_sendto_aborted(%d) -> " + "try get request" + "\r\n", descP->sock) ); + if (esock_writer_get(env, descP, &opDataP->sendRef, opCaller, @@ -7107,32 +7939,55 @@ void esaio_completion_sendto_aborted(ErlNifEnv* env, ERL_NIF_TERM reason = esock_atom_closed; + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_sendto_aborted(%d) -> " + "send abort message to %T" + "\r\n", descP->sock, req.pid) ); + /* Inform the user waiting for a reply */ esock_send_abort_msg(env, descP, opDataP->sockRef, &req, reason); - /* The socket not being open (assumed closing), - * means we are in the closing phase... + } + + /* The socket not being open (assumed closing), + * means we are in the closing phase... + */ + + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_sendto_aborted(%d) -> " + "maybe send close message => " + "\r\n is socket (write) open: %s" + "\r\n", + descP->sock, B2S((IS_OPEN(descP->writeState)))) ); + + if (! IS_OPEN(descP->writeState)) { + + /* We can only send the 'close' message to the closer + * when all requests has been processed! */ - if (! IS_OPEN(descP->writeState)) { - /* We can only send the 'close' message to the closer - * when all requests has been processed! - */ + /* Check "our" queue */ + if (descP->writersQ.first == NULL) { - /* Check "our" queue */ - if (descP->writersQ.first == NULL) { + /* Check "other" queue(s) and if there is a closer pid */ + if ((descP->readersQ.first == NULL) && + (descP->acceptorsQ.first == NULL)) { - /* Check "other" queue(s) and if there is a closer pid */ - if ((descP->readersQ.first == NULL) && - (descP->acceptorsQ.first == NULL)) { + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_sendto_aborted(%d) -> " + "all queues are empty => " + "\r\n send close message" + "\r\n", + descP->sock) ); - esaio_stop(env, descP); + esaio_stop(env, descP); - } } } - } /* *Maybe* update socket (write) state @@ -7141,7 +7996,7 @@ void esaio_completion_sendto_aborted(ErlNifEnv* env, SSDBG( descP, ("WIN-ESAIO", "esaio_completion_sendto_aborted(%d) -> " - "maybe (%s) update (write) state (ox%X)\r\n", + "maybe (%s) update (write) state (0x%X)\r\n", descP->sock, B2S((descP->writersQ.first == NULL)), descP->writeState) ); if (descP->writersQ.first == NULL) { @@ -7402,6 +8257,12 @@ void esaio_completion_sendmsg_aborted(ErlNifEnv* env, { ESockRequestor req; + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_sendmsg_aborted(%d) -> " + "try get request" + "\r\n", descP->sock) ); + if (esock_writer_get(env, descP, &opDataP->sendRef, opCaller, @@ -7409,32 +8270,55 @@ void esaio_completion_sendmsg_aborted(ErlNifEnv* env, ERL_NIF_TERM reason = esock_atom_closed; + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_sendmsg_aborted(%d) -> " + "send abort message to %T" + "\r\n", descP->sock, req.pid) ); + /* Inform the user waiting for a reply */ esock_send_abort_msg(env, descP, opDataP->sockRef, &req, reason); - /* The socket not being open (assumed closing), - * means we are in the closing phase... + } + + /* The socket not being open (assumed closing), + * means we are in the closing phase... + */ + + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_sendmsg_aborted(%d) -> " + "maybe send close message => " + "\r\n is socket (write) open: %s" + "\r\n", + descP->sock, B2S((IS_OPEN(descP->writeState)))) ); + + if (! IS_OPEN(descP->writeState)) { + + /* We can only send the 'close' message to the closer + * when all requests has been processed! */ - if (! IS_OPEN(descP->writeState)) { - /* We can only send the 'close' message to the closer - * when all requests has been processed! - */ + /* Check "our" queue */ + if (descP->writersQ.first == NULL) { - /* Check "our" queue */ - if (descP->writersQ.first == NULL) { + /* Check "other" queue(s) and if there is a closer pid */ + if ((descP->readersQ.first == NULL) && + (descP->acceptorsQ.first == NULL)) { - /* Check "other" queue(s) and if there is a closer pid */ - if ((descP->readersQ.first == NULL) && - (descP->acceptorsQ.first == NULL)) { + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_sendmsg_aborted(%d) -> " + "all queues are empty => " + "\r\n send close message" + "\r\n", + descP->sock) ); - esaio_stop(env, descP); + esaio_stop(env, descP); - } } } - } /* *Maybe* update socket (write) state @@ -7443,7 +8327,7 @@ void esaio_completion_sendmsg_aborted(ErlNifEnv* env, SSDBG( descP, ("WIN-ESAIO", "esaio_completion_sendmsg_aborted(%d) -> " - "maybe (%s) update (write) state (ox%X)\r\n", + "maybe (%s) update (write) state (0x%X)\r\n", descP->sock, B2S((descP->writersQ.first == NULL)), descP->writeState) ); if (descP->writersQ.first == NULL) { @@ -7557,8 +8441,8 @@ BOOLEAN_T esaio_completion_recv(ESAIOThreadData* dataP, SSDBG( descP, ("WIN-ESAIO", "esaio_completion_recv(%d) -> entry with" - "\r\n error: %s (%d)" - "\r\n", descP->sock, erl_errno_id(error), error) ); + "\r\n error: %T" + "\r\n", descP->sock, ENO2T(env, error)) ); switch (error) { case NO_ERROR: @@ -7660,7 +8544,7 @@ void esaio_completion_recv_success(ErlNifEnv* env, SSDBG( descP, ("WIN-ESAIO", "esaio_completion_recv_success(%d) -> " - "maybe (%s) update (read) state (ox%X)\r\n", + "maybe (%s) update (read) state (0x%X)\r\n", descP->sock, B2S((descP->readersQ.first == NULL)), descP->readState) ); if (descP->readersQ.first == NULL) { @@ -7687,6 +8571,12 @@ void esaio_completion_recv_aborted(ErlNifEnv* env, { ESockRequestor req; + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_recv_aborted(%d) -> " + "try get request" + "\r\n", descP->sock) ); + if (esock_reader_get(env, descP, &opDataP->recvRef, opCaller, @@ -7694,29 +8584,53 @@ void esaio_completion_recv_aborted(ErlNifEnv* env, ERL_NIF_TERM reason = esock_atom_closed; + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_recv_aborted(%d) -> " + "send abort message to %T" + "\r\n", descP->sock, req.pid) ); + /* Inform the user waiting for a reply */ esock_send_abort_msg(env, descP, opDataP->sockRef, &req, reason); - /* The socket not being open (assumed closing), - * means we are in the closing phase... + } + + /* The socket not being open (assumed closing), + * means we are in the closing phase... + */ + + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_recv_aborted(%d) -> " + "maybe send close message => " + "\r\n is socket (read) open: %s" + "\r\n", + descP->sock, B2S((IS_OPEN(descP->readState)))) ); + + if (! IS_OPEN(descP->readState)) { + + /* We can only send the 'close' message to the closer + * when all requests has been processed! */ - if (! IS_OPEN(descP->readState)) { - /* We can only send the 'close' message to the closer - * when all requests has been processed! - */ + /* Check "our" queue */ + if (descP->readersQ.first == NULL) { - /* Check "our" queue */ - if (descP->readersQ.first == NULL) { + /* Check "other" queue(s) and if there is a closer pid */ + if ((descP->writersQ.first == NULL) && + (descP->acceptorsQ.first == NULL)) { - /* Check "other" queue(s) and if there is a closer pid */ - if ((descP->writersQ.first == NULL) && - (descP->acceptorsQ.first == NULL)) { + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_recv_aborted(%d) -> " + "all queues are empty => " + "\r\n send close message" + "\r\n", + descP->sock) ); - esaio_stop(env, descP); + esaio_stop(env, descP); - } } } } @@ -7729,7 +8643,7 @@ void esaio_completion_recv_aborted(ErlNifEnv* env, SSDBG( descP, ("WIN-ESAIO", "esaio_completion_recv_aborted(%d) -> " - "maybe (%s) update (read) state (ox%X)\r\n", + "maybe (%s) update (read) state (0x%X)\r\n", descP->sock, B2S((descP->readersQ.first == NULL)), descP->readState) ); if (descP->readersQ.first == NULL) { @@ -8081,11 +8995,11 @@ ERL_NIF_TERM esaio_completion_recv_partial_done(ErlNifEnv* env, if (read > descP->readPkgMax) descP->readPkgMax = read; + ESOCK_ASSERT( REALLOC_BIN(&opDataP->buf, read) ); /* This transfers "ownership" of the *allocated* binary to an * erlang term (no need for an explicit free). */ data = MKBIN(opEnv, &opDataP->buf); - data = MKSBIN(opEnv, data, 0, read); (void) flags; @@ -8396,7 +9310,7 @@ void esaio_completion_recvfrom_more_data(ErlNifEnv* env, if (IS_OPEN(descP->readState)) { /* We do not actually need to call this function * since we already know its 'more_data', but just - * get the same format... + * to get the same format... */ ERL_NIF_TERM reason = MKT2(env, esock_atom_completion_status, @@ -8466,6 +9380,12 @@ void esaio_completion_recvfrom_aborted(ErlNifEnv* env, { ESockRequestor req; + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_recvfrom_aborted(%d) -> " + "try get request" + "\r\n", descP->sock) ); + if (esock_reader_get(env, descP, &opDataP->recvRef, opCaller, @@ -8473,29 +9393,53 @@ void esaio_completion_recvfrom_aborted(ErlNifEnv* env, ERL_NIF_TERM reason = esock_atom_closed; + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_recvfrom_aborted(%d) -> " + "send abort message to %T" + "\r\n", descP->sock, req.pid) ); + /* Inform the user waiting for a reply */ esock_send_abort_msg(env, descP, opDataP->sockRef, &req, reason); - /* The socket not being open (assumed closing), - * means we are in the closing phase... + } + + /* The socket not being open (assumed closing), + * means we are in the closing phase... + */ + + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_recvfrom_aborted(%d) -> " + "maybe send close message => " + "\r\n is socket (read) open: %s" + "\r\n", + descP->sock, B2S((IS_OPEN(descP->readState)))) ); + + if (! IS_OPEN(descP->readState)) { + + /* We can only send the 'close' message to the closer + * when all requests has been processed! */ - if (! IS_OPEN(descP->readState)) { - /* We can only send the 'close' message to the closer - * when all requests has been processed! - */ + /* Check "our" queue */ + if (descP->readersQ.first == NULL) { - /* Check "our" queue */ - if (descP->readersQ.first == NULL) { + /* Check "other" queue(s) and if there is a closer pid */ + if ((descP->writersQ.first == NULL) && + (descP->acceptorsQ.first == NULL)) { - /* Check "other" queue(s) and if there is a closer pid */ - if ((descP->writersQ.first == NULL) && - (descP->acceptorsQ.first == NULL)) { + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_recvfrom_aborted(%d) -> " + "all queues are empty => " + "\r\n send close message" + "\r\n", + descP->sock) ); - esaio_stop(env, descP); + esaio_stop(env, descP); - } } } } @@ -8508,7 +9452,7 @@ void esaio_completion_recvfrom_aborted(ErlNifEnv* env, SSDBG( descP, ("WIN-ESAIO", "esaio_completion_recvfrom_aborted(%d) -> " - "maybe (%s) update (read) state (ox%X)\r\n", + "maybe (%s) update (read) state (0x%X)\r\n", descP->sock, B2S((descP->readersQ.first == NULL)), descP->readState) ); if (descP->readersQ.first == NULL) { @@ -8659,7 +9603,7 @@ void esaio_completion_recvfrom_completed(ErlNifEnv* env, "\r\n CompletionInfo: %T" "\r\n", MKPID(env, opCaller), completionInfo) ); - /* Send a 'send' completion message */ + /* Send a 'recvfrom' completion message */ esaio_send_completion_msg(env, // Send env descP, // Descriptor opCaller, // Msg destination @@ -8793,11 +9737,11 @@ ERL_NIF_TERM esaio_completion_recvfrom_partial(ErlNifEnv* env, opDataP->addrLen, &eSockAddr); + ESOCK_ASSERT( REALLOC_BIN(&opDataP->buf, read) ); /* This transfers "ownership" of the *allocated* binary to an * erlang term (no need for an explicit free). */ data = MKBIN(opEnv, &opDataP->buf); - data = MKSBIN(opEnv, data, 0, read); /* We ignore the flags *for now*. * Needs to be passed up eventually! @@ -9007,6 +9951,12 @@ void esaio_completion_recvmsg_aborted(ErlNifEnv* env, { ESockRequestor req; + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_recvmsg_aborted(%d) -> " + "try get request" + "\r\n", descP->sock) ); + if (esock_reader_get(env, descP, &opDataP->recvRef, opCaller, @@ -9014,32 +9964,55 @@ void esaio_completion_recvmsg_aborted(ErlNifEnv* env, ERL_NIF_TERM reason = esock_atom_closed; + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_recvmsg_aborted(%d) -> " + "send abort message to %T" + "\r\n", descP->sock, req.pid) ); + /* Inform the user waiting for a reply */ esock_send_abort_msg(env, descP, opDataP->sockRef, &req, reason); - /* The socket not being open (assumed closing), - * means we are in the closing phase... + } + + /* The socket not being open (assumed closing), + * means we are in the closing phase... + */ + + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_recvmsg_aborted(%d) -> " + "maybe send close message => " + "\r\n is socket (read) open: %s" + "\r\n", + descP->sock, B2S((IS_OPEN(descP->readState)))) ); + + if (! IS_OPEN(descP->readState)) { + + /* We can only send the 'close' message to the closer + * when all requests has been processed! */ - if (! IS_OPEN(descP->readState)) { - /* We can only send the 'close' message to the closer - * when all requests has been processed! - */ + /* Check "our" queue */ + if (descP->readersQ.first == NULL) { - /* Check "our" queue */ - if (descP->readersQ.first == NULL) { + /* Check "other" queue(s) and if there is a closer pid */ + if ((descP->writersQ.first == NULL) && + (descP->acceptorsQ.first == NULL)) { - /* Check "other" queue(s) and if there is a closer pid */ - if ((descP->writersQ.first == NULL) && - (descP->acceptorsQ.first == NULL)) { + SSDBG( descP, + ("WIN-ESAIO", + "esaio_completion_recvmsg_aborted(%d) -> " + "all queues are empty => " + "\r\n send close message" + "\r\n", + descP->sock) ); - esaio_stop(env, descP); + esaio_stop(env, descP); - } } } - } FREE_BIN( &opDataP->data[0] ); @@ -9051,7 +10024,7 @@ void esaio_completion_recvmsg_aborted(ErlNifEnv* env, SSDBG( descP, ("WIN-ESAIO", "esaio_completion_recvmsg_aborted(%d) -> " - "maybe (%s) update (read) state (ox%X)\r\n", + "maybe (%s) update (read) state (0x%X)\r\n", descP->sock, B2S((descP->readersQ.first == NULL)), descP->readState) ); if (descP->readersQ.first == NULL) { @@ -9556,8 +10529,12 @@ void esaio_stop(ErlNifEnv* env, * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ - if (! IS_PID_UNDEF(&descP->closerPid)) { - /* We have a waiting closer process after nif_close() + if ( !IS_PID_UNDEF(&descP->closerPid) && + (descP->closeEnv != NULL) ) { + + /* We will only send this message if the user was made to + * wait (async close). In that case we have en env! + * We have a waiting closer process after nif_close() * - send message to trigger nif_finalize_close() */ diff --git a/erts/emulator/sys/unix/erl_main.c b/erts/emulator/sys/unix/erl_main.c index 972b93a505ba..05af1e6f0260 100644 --- a/erts/emulator/sys/unix/erl_main.c +++ b/erts/emulator/sys/unix/erl_main.c @@ -27,6 +27,9 @@ int main(int argc, char **argv) { + /* Must be done before we have a chance to spawn any scheduler threads. */ + sys_init_signal_stack(); + erl_start(argc, argv); return 0; } diff --git a/erts/emulator/sys/unix/sys.c b/erts/emulator/sys/unix/sys.c index 210d7a55432f..4f3656c3cbe4 100644 --- a/erts/emulator/sys/unix/sys.c +++ b/erts/emulator/sys/unix/sys.c @@ -256,9 +256,6 @@ erts_sys_pre_init(void) /* After creation in parent */ eid.thread_create_parent_func = thr_create_cleanup, - /* Must be done really early. */ - sys_init_signal_stack(); - #ifdef ERTS_ENABLE_LOCK_COUNT erts_lcnt_pre_thr_init(); #endif @@ -341,12 +338,27 @@ erl_sys_init(void) SIGFUNC sys_signal(int sig, SIGFUNC func) { struct sigaction act, oact; + int extra_flags = 0; sigemptyset(&act.sa_mask); - act.sa_flags = 0; + +#if (defined(BEAMASM) && defined(NATIVE_ERLANG_STACK)) + /* The JIT assumes that signals don't execute on the current stack (as our + * Erlang process stacks may be too small to execute a signal handler). + * + * Make sure the SA_ONSTACK flag is set when needed so that signals execute + * on their own signal-specific stack. */ + if (func != SIG_DFL && func != SIG_IGN) { + extra_flags |= SA_ONSTACK; + } +#endif + + act.sa_flags = extra_flags; act.sa_handler = func; + sigaction(sig, &act, &oact); - return(oact.sa_handler); + + return oact.sa_handler; } #undef sigprocmask diff --git a/erts/emulator/sys/unix/sys_signal_stack.c b/erts/emulator/sys/unix/sys_signal_stack.c index 3bd7d98a8937..03da93373c27 100644 --- a/erts/emulator/sys/unix/sys_signal_stack.c +++ b/erts/emulator/sys/unix/sys_signal_stack.c @@ -31,12 +31,40 @@ * have room for the Unix signal handler. * * There is a way to redirect signal handlers to an "alternate" signal stack by - * using the SA_ONSTACK flag with the sigaction() library call. Unfortunately, - * this has to be specified explicitly for each signal, and it is difficult to + * using the SA_ONSTACK flag with the sigaction(2) system call. Unfortunately, + * this has to be specified explicitly for each signal, and it is impossible to * enforce given the presence of libraries. * - * Our solution is to override the C library's signal handler setup procedure - * with our own which enforces the SA_ONSTACK flag. + * We used to attempt to override the C library's signal handler setup + * procedure with our own that added the SA_ONSTACK flag, but it only worked + * with `GNU libc` which is not always the current libc. As many of our users + * liked to run docker images with `Alpine` which uses `musl` instead, they got + * needlessly bad performance without knowing it. + * + * Instead, we now explicitly add SA_ONSTACK to our own uses of sigaction(2) + * and ignore the library problem altogether because: + * + * 1. We don't care about this problem on non-scheduler threads: if a library + * wants to fiddle around with signals on its own threads then it doesn't + * affect us. + * 2. We don't care about this problem when executing on the runtime stack: + * if a NIF or driver uses signals in a creative manner locally during a + * call, then that's fine as long as they restore them before returning to + * Erlang code. + * + * A NIF or driver that doesn't do this is misbehaving to begin with and + * we can't shield ourselves against that. + * 3. If a library that we're statically linked to messes around with signals + * in the initialization phase (think C++ constructors of static objects), + * all of it will happen before `main` runs and we'll set things straight + * in `sys_init_signal_stack`. + * + * If a dynamically linked library does the same, the same restrictions as + * ordinary NIF/driver calls apply to the initialization phase and the + * library must restore the signals before returning. + * + * If any threads are created in either of these phases, they're still not + * scheduler threads so we don't have to care then either. */ #ifdef HAVE_CONFIG_H @@ -53,206 +81,10 @@ #if (defined(BEAMASM) && defined(NATIVE_ERLANG_STACK)) -#if defined(__GLIBC__) && __GLIBC__ == 2 && (__GLIBC_MINOR__ >= 3) -/* - * __libc_sigaction() is the core routine. - * Without libpthread, sigaction() and __sigaction() are both aliases - * for __libc_sigaction(). - * libpthread redefines __sigaction() as a non-trivial wrapper around - * __libc_sigaction(), and makes sigaction() an alias for __sigaction(). - * glibc has internal calls to both sigaction() and __sigaction(). - * - * Overriding __libc_sigaction() would be ideal, but doing so breaks - * libpthread (threads hang). - * - * Overriding __sigaction(), using dlsym RTLD_NEXT to find glibc's - * version of __sigaction(), works with glibc-2.2.4 and 2.2.5. - * Unfortunately, this solution doesn't work with earlier versions, - * including glibc-2.2.2 and glibc-2.1.92 (2.2 despite its name): - * 2.2.2 SIGSEGVs in dlsym RTLD_NEXT (known glibc bug), and 2.1.92 - * SIGSEGVs inexplicably in two test cases in the HiPE test suite. - * - * Instead we only override sigaction() and call __sigaction() - * directly. This should work for HiPE/x86 as long as only the Posix - * signal interface is used, i.e. there are no calls to simulated - * old BSD or SysV interfaces. - * glibc's internal calls to __sigaction() appear to be mostly safe. - * sys_init_signal_stack() fixes some unsafe ones, e.g. the SIGPROF handler. - */ -#ifndef __USE_GNU -# define __USE_GNU /* to un-hide RTLD_NEXT */ -#endif -#define NEXT_SIGACTION "__sigaction" -#define LIBC_SIGACTION __sigaction -#define OVERRIDE_SIGACTION -#endif /* glibc >= 2.3 */ - -/* Is there no standard identifier for Darwin/MacOSX ? */ -#if defined(__APPLE__) && defined(__MACH__) && !defined(__DARWIN__) -#define __DARWIN__ 1 -#endif - -#if defined(__DARWIN__) -/* - * Assumes Mac OS X >= 10.3 (dlsym operations not available in 10.2 and - * earlier). - * - * The code below assumes that is part of the main image (earlier - * in the load order than libSystem and certainly before any dylib - * that might use sigaction) -- a standard RTLD_NEXT caveat. - * - * _sigaction lives in /usr/lib/libSystem.B.dylib and can be found - * with the standard dlsym(RTLD_NEXT) call. The proviso on Mac OS X - * being that the symbol for dlsym doesn't include a leading '_'. - * - * The other _sigaction, _sigaction_no_bind I don't understand the purpose - * of and don't modify. - */ -#define NEXT_SIGACTION "sigaction" -#define LIBC_SIGACTION _sigaction -#undef OVERRIDE_SIGACTION -#define _NSIG NSIG -#endif /* __DARWIN__ */ - -#if defined(__sun__) -/* - * Assume Solaris/x86 2.8. - * There is a number of sigaction() procedures in libc: - * * sigaction(): weak reference to _sigaction(). - * * _sigaction(): apparently a simple wrapper around __sigaction(). - * * __sigaction(): apparently the procedure doing the actual system call. - * * _libc_sigaction(): apparently some thread-related wrapper, which ends - * up calling __sigaction(). - * The threads library redefines sigaction() and _sigaction() to its - * own wrapper, which checks for and restricts access to threads-related - * signals. The wrapper appears to eventually call libc's __sigaction(). - * - * We catch and override _sigaction() since overriding __sigaction() - * causes fatal errors in some cases. - * - * When linked with thread support, there are calls to sigaction() before - * our init routine has had a chance to find _sigaction()'s address. - * This forces us to initialise at the first call. - */ -#define NEXT_SIGACTION "_sigaction" -#define LIBC_SIGACTION _sigaction -#define OVERRIDE_SIGACTION -#define _NSIG NSIG -#endif /* __sun__ */ - -#if defined(__FreeBSD__) -/* - * This is a copy of Darwin code for FreeBSD. - * CAVEAT: detailed semantics are not verified yet. - */ -#define NEXT_SIGACTION "sigaction" -#define LIBC_SIGACTION _sigaction -#undef OVERRIDE_SIGACTION -#define _NSIG NSIG -#endif /* __FreeBSD__ */ - -#if defined(__NetBSD__) -/* - * Note: This is only stub code to allow the build to succeed. - * Whether this actually provides the needed overrides for safe - * signal delivery or not is unknown. - */ -#undef NEXT_SIGACTION -#undef OVERRIDE_SIGACTION -#endif /* __NetBSD__ */ - -#if !(defined(__GLIBC__) || defined(__DARWIN__) || defined(__NetBSD__) || \ - defined(__FreeBSD__) || defined(__sun__)) -/* - * Unknown libc -- assume musl, which does not allow safe signals - */ -#error "beamasm requires a libc that can guarantee that sigaltstack works" -#endif /* !(__GLIBC__ || __DARWIN__ || __NetBSD__ || __FreeBSD__ || \ - * __sun__) \ - */ - -#if defined(NEXT_SIGACTION) -/* - * Initialize a function pointer to the libc core sigaction routine, - * to be used by our wrappers. - */ -#include - -static int (*next_sigaction)(int, const struct sigaction *, struct sigaction *); - -static void do_init(void) { - next_sigaction = dlsym(RTLD_NEXT, NEXT_SIGACTION); - - if (next_sigaction != 0) { - return; - } - - perror("dlsym"); - abort(); -} - -#define INIT() \ - do { \ - if (!next_sigaction) \ - do_init(); \ - } while (0) -#else /* !defined(NEXT_SIGACTION) */ -#define INIT() \ - do { \ - } while (0) -#endif /* !defined(NEXT_SIGACTION) */ - -#if defined(NEXT_SIGACTION) -/* - * This is our wrapper for sigaction(). sigaction() can be called before - * sys_init_signal_stack() has been executed, especially when threads support - * has been linked with the executable. Therefore, we must initialise - * next_sigaction() dynamically, the first time it's needed. - */ -static int my_sigaction(int signum, - const struct sigaction *act, - struct sigaction *oldact) { - struct sigaction newact; - - INIT(); - - if (act && act->sa_handler != SIG_DFL && act->sa_handler != SIG_IGN && - !(act->sa_flags & SA_ONSTACK)) { - newact = *act; - newact.sa_flags |= SA_ONSTACK; - act = &newact; - } - return next_sigaction(signum, act, oldact); -} -#endif - -#if defined(LIBC_SIGACTION) - -/* - * This overrides the C library's core sigaction() procedure, catching - * all its internal calls. - */ -extern int LIBC_SIGACTION(int, const struct sigaction *, struct sigaction *); - -int LIBC_SIGACTION(int signum, - const struct sigaction *act, - struct sigaction *oldact) { - return my_sigaction(signum, act, oldact); -} - -#endif - -#if defined(OVERRIDE_SIGACTION) - -/* - * This catches the application's own sigaction() calls. - */ -int sigaction(int signum, - const struct sigaction *act, - struct sigaction *oldact) { - return my_sigaction(signum, act, oldact); -} - +#if defined(NSIG) +# define HIGHEST_SIGNAL NSIG +#elif defined(_NSIG) +# define HIGHEST_SIGNAL _NSIG #endif /* @@ -287,11 +119,9 @@ void sys_init_signal_stack(void) { struct sigaction sa; int i; - INIT(); - sys_thread_init_signal_stack(); - for (i = 1; i < _NSIG; ++i) { + for (i = 1; i < HIGHEST_SIGNAL; ++i) { if (sigaction(i, NULL, &sa)) { /* This will fail with EINVAL on Solaris if 'i' is one of the thread library's private signals. We DO catch the initial diff --git a/erts/emulator/test/Makefile b/erts/emulator/test/Makefile index 21add610bb02..4681317e63f8 100644 --- a/erts/emulator/test/Makefile +++ b/erts/emulator/test/Makefile @@ -159,6 +159,14 @@ R25= \ bs_match_misc \ bs_utf +STRIPPED_TYPES= \ + bs_bincomp \ + bs_construct \ + bs_match_bin \ + bs_match_int \ + bs_match_tail \ + bs_match_misc \ + bs_utf NATIVE= hibernate @@ -171,6 +179,9 @@ NATIVE_ERL_FILES= $(NATIVE_MODULES:%=%.erl) R25_MODULES= $(R25:%=%_r25_SUITE) R25_ERL_FILES= $(R25_MODULES:%=%.erl) +STRIPPED_TYPES_MODULES= $(STRIPPED_TYPES:%=%_stripped_types_SUITE) +STRIPPED_TYPES_ERL_FILES= $(STRIPPED_TYPES_MODULES:%=%.erl) + ERL_FILES= $(MODULES:%=%.erl) TARGET_FILES = $(MODULES:%=$(EBIN)/%.$(EMULATOR)) @@ -203,7 +214,7 @@ ERL_COMPILE_FLAGS := $(filter-out +deterministic,$($(ERL_COMPILE_FLAGS))) # ---------------------------------------------------- make_emakefile: $(NO_OPT_ERL_FILES) $(NATIVE_ERL_FILES) \ - $(KERNEL_ERL_FILES) $(R25_ERL_FILES) + $(KERNEL_ERL_FILES) $(R25_ERL_FILES) $(STRIPPED_TYPES_ERL_FILES) $(ERL_TOP)/make/make_emakefile $(ERL_COMPILE_FLAGS) +compressed -o$(EBIN) \ $(MODULES) $(KERNEL_MODULES) >> $(EMAKEFILE) $(ERL_TOP)/make/make_emakefile +no_copt +no_postopt +no_ssa_opt +no_bsm_opt \ @@ -212,6 +223,8 @@ make_emakefile: $(NO_OPT_ERL_FILES) $(NATIVE_ERL_FILES) \ -o$(EBIN) $(NATIVE_MODULES) >> $(EMAKEFILE) $(ERL_TOP)/make/make_emakefile +r25 \ $(ERL_COMPILE_FLAGS) -o$(EBIN) $(R25_MODULES) >> $(EMAKEFILE) + $(ERL_TOP)/make/make_emakefile +strip_types \ + $(ERL_COMPILE_FLAGS) -o$(EBIN) $(STRIPPED_TYPES_MODULES) >> $(EMAKEFILE) tests debug opt: make_emakefile @@ -239,6 +252,9 @@ targets: $(TARGET_FILES) %_r25_SUITE.erl: %_SUITE.erl sed -e 's;-module($(basename $<));-module($(basename $@));' $< > $@ +%_stripped_types_SUITE.erl: %_SUITE.erl + sed -e 's;-module($(basename $<));-module($(basename $@));' $< > $@ + # ---------------------------------------------------- # Release Target # ---------------------------------------------------- @@ -254,6 +270,7 @@ release_tests_spec: make_emakefile $(INSTALL_DATA) $(NATIVE_ERL_FILES) "$(RELSYSDIR)" $(INSTALL_DATA) $(KERNEL_ERL_FILES) "$(RELSYSDIR)" $(INSTALL_DATA) $(R25_ERL_FILES) "$(RELSYSDIR)" + $(INSTALL_DATA) $(STRIPPED_TYPES_ERL_FILES) "$(RELSYSDIR)" chmod -R u+w "$(RELSYSDIR)" tar cf - *_SUITE_data property_test | (cd "$(RELSYSDIR)"; tar xf -) diff --git a/erts/emulator/test/beam_literals_SUITE_data/unoptimized_literal_tests.S b/erts/emulator/test/beam_literals_SUITE_data/unoptimized_literal_tests.S index b5b1f4a09c34..b169e802a51b 100644 --- a/erts/emulator/test/beam_literals_SUITE_data/unoptimized_literal_tests.S +++ b/erts/emulator/test/beam_literals_SUITE_data/unoptimized_literal_tests.S @@ -62,7 +62,7 @@ {line,[{location,"unoptimized_literal_tests.erl",7}]}. {func_info,{atom,unoptimized_literal_tests},{atom,test},0}. {label,2}. - {allocate_zero,0,0}. + {allocate,0,0}. {move,{literal,[{is_boolean,42}]},{x,1}}. {move,{literal,"~p\n"},{x,0}}. {line,[{location,"unoptimized_literal_tests.erl",10}]}. diff --git a/erts/emulator/test/big_SUITE.erl b/erts/emulator/test/big_SUITE.erl index 3b9b9e598950..635abc880087 100644 --- a/erts/emulator/test/big_SUITE.erl +++ b/erts/emulator/test/big_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2018. All Rights Reserved. +%% Copyright Ericsson AB 1997-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -22,10 +22,12 @@ -export([all/0, suite/0, groups/0]). --export([t_div/1, eq_28/1, eq_32/1, eq_big/1, eq_math/1, big_literals/1, - borders/1, negative/1, big_float_1/1, big_float_2/1, +-export([t_div/1, eq_28/1, eq_32/1, eq_big/1, eq_math/1, eq_big_mul_div/1, + big_literals/1, borders/1, negative/1, karatsuba/1, + big_float_1/1, big_float_2/1, bxor_2pow/1, band_2pow/1, - shift_limit_1/1, powmod/1, system_limit/1, toobig/1, otp_6692/1]). + shift_limit_1/1, powmod/1, system_limit/1, toobig/1, otp_6692/1, + properties/1]). %% Internal exports. -export([eval/1]). @@ -41,10 +43,12 @@ suite() -> {timetrap, {minutes, 3}}]. all() -> - [t_div, eq_28, eq_32, eq_big, eq_math, big_literals, - borders, negative, {group, big_float}, shift_limit_1, + [t_div, eq_28, eq_32, eq_big, eq_math, eq_big_mul_div, + big_literals, borders, negative, karatsuba, + {group, big_float}, shift_limit_1, bxor_2pow, band_2pow, - powmod, system_limit, toobig, otp_6692]. + powmod, system_limit, toobig, otp_6692, + properties]. groups() -> [{big_float, [], [big_float_1, big_float_2]}]. @@ -61,36 +65,43 @@ groups() -> %% lcm(Q, R) %% eq_28(Config) when is_list(Config) -> - TestFile = test_file(Config, "eq_28.dat"), + TestFile = test_file(Config, ?FUNCTION_NAME), test(TestFile). eq_32(Config) when is_list(Config) -> - TestFile = test_file(Config, "eq_32.dat"), + TestFile = test_file(Config, ?FUNCTION_NAME), test(TestFile). eq_big(Config) when is_list(Config) -> - TestFile = test_file(Config, "eq_big.dat"), + TestFile = test_file(Config, ?FUNCTION_NAME), test(TestFile). eq_math(Config) when is_list(Config) -> - TestFile = test_file(Config, "eq_math.dat"), + TestFile = test_file(Config, ?FUNCTION_NAME), test(TestFile). +eq_big_mul_div(Config) when is_list(Config) -> + TestFile = test_file(Config, ?FUNCTION_NAME), + test(TestFile). %% Tests border cases between small/big. borders(Config) when is_list(Config) -> - TestFile = test_file(Config, "borders.dat"), + TestFile = test_file(Config, ?FUNCTION_NAME), test(TestFile). negative(Config) when is_list(Config) -> - TestFile = test_file(Config, "negative.dat"), + TestFile = test_file(Config, ?FUNCTION_NAME), test(TestFile). - + +karatsuba(Config) when is_list(Config) -> + TestFile = test_file(Config, ?FUNCTION_NAME), + test(TestFile). + %% Find test file test_file(Config, Name) -> DataDir = proplists:get_value(data_dir, Config), - filename:join(DataDir, Name). + filename:join(DataDir, Name) ++ ".dat". %% %% @@ -166,6 +177,7 @@ eval({op,_,Op,A0}, LFH) -> eval({op,_,Op,A0,B0}, LFH) -> [A,B] = eval_list([A0,B0], LFH), Res = eval_op(Op, A, B), + ok = eval_op_guard(Op, A, B, Res), erlang:garbage_collect(), Res; eval({integer,_,I}, _) -> @@ -196,6 +208,18 @@ eval_op('bxor', A, B) -> A bxor B; eval_op('bsl', A, B) -> A bsl B; eval_op('bsr', A, B) -> A bsr B. +eval_op_guard('-', A, B, Res) when Res =:= A - B -> ok; +eval_op_guard('+', A, B, Res) when Res =:= A + B -> ok; +eval_op_guard('*', A, B, Res) when Res =:= A * B -> ok; +eval_op_guard('div', A, B, Res) when Res =:= A div B -> ok; +eval_op_guard('rem', A, B, Res) when Res =:= A rem B -> ok; +eval_op_guard('band', A, B, Res) when Res =:= A band B -> ok; +eval_op_guard('bor', A, B, Res) when Res =:= A bor B -> ok; +eval_op_guard('bxor', A, B, Res) when Res =:= A bxor B -> ok; +eval_op_guard('bsl', A, B, Res) when Res =:= A bsl B -> ok; +eval_op_guard('bsr', A, B, Res) when Res =:= A bsr B -> ok; +eval_op_guard(Op, A, B, Res) -> {error,{Op,A,B,Res}}. + test_squaring(I) -> %% Multiplying an integer by itself is specially optimized, so we %% should take special care to test squaring. The optimization @@ -365,11 +389,7 @@ system_limit(Config) when is_list(Config) -> ok. maxbig() -> - %% We assume that the maximum arity is (1 bsl 19) - 1. - Ws = erlang:system_info(wordsize), - (((1 bsl ((16777184 * (Ws div 4))-1)) - 1) bsl 1) + 1. - -id(I) -> I. + erlang:system_info(max_integer). toobig(Config) when is_list(Config) -> {'EXIT',{{badmatch,_},_}} = (catch toobig()), @@ -507,3 +527,75 @@ band_2pow_2(A, B) -> %% Implement band without band my_band(A, B) -> bnot ((bnot A) bor (bnot B)). + +properties(_Config) -> + rand_seed(), + _ = [begin + A = id(rand_int()), + B = id(rand_int()), + C = id(rand_int()), + io:format("~.36#\n~.36#\n~.36#\n", [A,B,C]), + test_properties(A, B, C) + end || _ <- lists:seq(1, 1000)], + ok. + +test_properties(A, B, C) -> + SquaredA = id(A * A), + SquaredB = id(B * B), + + P = id(A * B), + P = id(B * A), + A = id(P div B), + B = id(P div A), + A = SquaredA div A, + B = SquaredB div B, + 0 = P rem A, + 0 = P rem B, + + Sum = id(A + B), + Sum = id(B + A), + A = id(Sum - B), + B = id(Sum - A), + 0 = Sum - A - B, + C = id(A + B + C) - Sum, + + PS = id(A * B + C), + PS = P + C, + ok = test_mul_add_guard(A, B, C, PS), + + NegA = id(-A), + A = -NegA, + NegB = id(-B), + B = -NegB, + + Diff = id(A - B), + Diff = -id(B - A), + Diff = id(A + NegB), + Diff = -id(NegA + B), + + SquaredSum = id(Sum * Sum), + SquaredSum = Sum * id(A + B), + SquaredSum = SquaredA + SquaredB + 2*P, + + SumTimesDiff = id(Sum * Diff), + SumTimesDiff = SquaredA - SquaredB, + + ok. + +test_mul_add_guard(A, B, C, Res) when Res =:= A * B + C -> ok. + +rand_int() -> + Sz = max(floor(rand:normal() * 512 + 256), 7), + <> = rand:bytes(Sz), + Int. + +%%% +%%% Common utilities. +%%% + +rand_seed() -> + rand:seed(default), + io:format("\n*** rand:export_seed() = ~w\n\n", [rand:export_seed()]), + ok. + +id(I) -> I. diff --git a/erts/emulator/test/big_SUITE_data/eq_big_mul_div.dat b/erts/emulator/test/big_SUITE_data/eq_big_mul_div.dat new file mode 100644 index 000000000000..0e470a56c49c --- /dev/null +++ b/erts/emulator/test/big_SUITE_data/eq_big_mul_div.dat @@ -0,0 +1,3000 @@ +36#DFVIS8KC3V3BOPKXXG3I1JHUDADDCM56EWBJ4MBSRUWPKA5ICA1LTCVALKEGBH87CLLWW2WAOIAP1DRMZGLETT0PPMX4Z3DZJ5ISVQSG7MGTXBY4D4P73D16EX59F35V7UX9E2C5VEVGL0EP8AJPK2VHM5WV44SUA9HSUEQKULBNYMEZAXWOF9XA39Y3IC6RFSI = 36#ALRFY59NSDM6L5F43VBMV9ODP9Q43XR5H4O2SBPT97J53RNF82UWNEM8P8FVDV6J69KB15Q7Y6GK0DJA02QM4N08MZP616WYWOMAMAQ2ZUFWVLNONF7XRM0D67MG09S58OPCOBEWM8WZ2OYVPY8ZAPMAHVFY4N2AM84SGYMG440E72H6T84LU07DVCH33BSCWAIH56DJ62ATY5DLUIJR5EU8F023DD5JUTXSOJA5USIJ925S6B4Y4CQAIH9V0UXCZOLG7A79HD677LLFUNOBMEPOX7PPN1QR89ZI9C3LFEE53V1BFJJ2JJ960XD9RZ5EC49SKIHJQ8BGMI div 36#SEI324M9L57VB1KP9Q0AD2T8MLDGY2SAAPEH5BRIFSAD58ZMSRIL9L0CKYWKRUBWPRYZHMD1M6X6G8ZY26JZ6LMIB910B4EXAVGCJIZTHNU5SLPDK0K8B962LJL7LVL8ULEVZL2AMIL. +36#DU7YJWCRZYVR820FPXL7BK6SAA0P2Q3BR0VOK31MA7D0NDUE4KY7XPWTWD5YJZIUSPYBGNC4TJJR4FFGZPQMT4V0P7ZB7FJSRZCLN2NQ268DAUP53MOXMHR34O58D1V04SCCVTJDPAU15YBQ03NXCILZ8DUHO2RMRXHFEDBG9X1375QN2397CSA78HNECZMCFYD3SX0REWBJBFDUSH1IRXEOA7OJZ3AGZU517ZWHWQ8SRC4THJNMAKO68Z1ZZ13EVWUBN9I6OJPI1KKIDNZ7F0UKIV3A4HASFFC9CLJNIDS8FBP5BXZLBP51WH8MH0BBQ8AT594ZIHNFJIG8SEH3KLFKANT3RSM1HJBU7AOQ60SPBV4S1AR7OVCBFRARUCLS1N6A3LJNZA0UY9JMY3OVLTWWIVY1AC05XTJFL0MNJP8PNX2R3430UV3AGC7N3UFNN992N2ARV9UYJ77WSDVM68QVNTZOEKSYEE4LOAHPVYW8SPN0UR8HBT4Q7OX01SNMP5KX6KF5362QULZBOPNDOTG9GEVDEJPB2B93V4CAUDN0VTJ05DYT3004WGPXHVFCQEGLW1SYLLXQGBZPESASCA4UJJBL6UEDT05S21V99LCHG9BSX4FVKNGDAX7YNJF1VM469QXSUKNL6Q7RHYJAAPQKP4UXNX6882SSJR12YC0XV1LHRW508UCZRMZ6LKG0YDJWO2P0Q2C0OO479PWS47ZNL5QYW6OZ72NK79E5FPS98AXRLHBG3R19OTJVDO9Y1S8USG3NK8N6V0GRJW0XYV6LKXMIC3ERGI647WF5SM4LX28JUCFYVQOA0PCRX8066CF4QZIJJB7NJXQA = -36#1LMOXPGWRRKIUJV8T05Y96L9JSJ383ZJF76QI3SRVFSEXULIGIJ16VQR4QYB9OB29EKG7IKR0EX607MW45J7JB8B073ECX2W3PSTMLBDFLRC8Q74MXSYXFZ1HG0Y4O61JGNVSOE6464XOQDKX7VIYWVSTB8J5YOR4TD2D35ULJ4HAHGUXQT310RWFKROD9FZXIU5PFSGYS6K04KLMZA1DIRL5MBOZW8JKP7QSJH8WZVRA88NLY148RMENO9D22LE7M24YALXE3RJY2O88D99KN6ZRBD67XBTVRA4T2N9C5SUPR9UKW2MEYD4742CJUPBRGBPX836QG9OIA04KSXVW3OBSSN7OI0V1ALBWLRTWFNXDJ05J81OTGTXFTLQR57KVOQJX88F11KSWXHQEKTAJ6N6FLL1IUOH7WJEKB046M3YTV925C80MG2I4G9TM3IOKGX42L1XHXFAK93GA76PDRIOCJ8QDRA6DM00WYONPSP3EM813VBC2D4EZWC25LDVDEOI9YCNV5CLVBWPB9QD3HRMLSQQSTV48IP8LT6WQKFTPXVA4RLIFOQUZJWFYBI633OSSGWJNX8FKQ4GC1IXRAHWR7VC93YB9EXYOP4Y80C5RLNY9TWVJUCXJLMF5PVL8NR7TNJH4KFZ1QF7U0D2IO74QLAOO3768QF605QH41NSK7ZIK0E2SYBB7XESGEZALQ84U07WH9O475C9B9QW4A9G7JHDE7VTICDKBZV9ADD0AQI0M880ZIWN5JWHVKG54CEORRPHJD6LI87KU4AYF9XPV4FB4PLIJNUIB95D275N74B3F9DFDTJOMJ7D1ZMX7ZCNT857ZJ36LFH6SQVW7PPFPBXR2PWBGXMGEHYD705JKNFHZY5NOMXOIUODTDJG7YQ4OMRMHH8MNBNFYB63O6QSHS3CQ71O1R1WHB6ZH3Z8S div -36#45WSY4BUY3KD1GJCW0VC0EOZBHQZZD6OQWH26UH2AUBNJ9ZC4O8VU5SJ616P2PLKF6GUH3KITXE1GFUOIA8XJYNBPG97A. +-36#C7E1S0S57HXFA4BL1L554LPTZ786ZKKCRJ9SE9DEF1RC30JXDDIYDH4Z44QWFYQ5RX12UBXSF32LUSV956TFI6V4D3Q6YUN57XA3I7EUWIBRDMBC5SA3BEWQY82SVRJWFLDZTNRG57UUQW8J1DEL47ZKEL7MH75SQB9QC8MG58UQ6Q76XLVO6ZZF9E5KZDV7NDRUPAXEIJ8CCUAKMU26VVOFHSV5UT9DVY1O0PANJSO8PHU1JRCIVQ70822SLBH3LHB6BOADJEKV114VALE90BTV2M34K6L08FLSBL3HOIPZ1Y7L2MBCSSR6SVAWJS9BOCRFR4560H14YG1Z3247D4ZWQ4M8BHQC0G05ZYP4HYIDTDEJMCN2D5N7LZOQ8RDA8HU1PTTNZ9R2GG1H7Z199DZOJPN8CWKAZZV8702EJ3S3KRZLH1BI5HAZK5P628UQNBV94GJHZJDVTGWTTE0VWIL2HI8IDC38ZTB7HAJW5RRUQPHJ8DFE3QYDHGNCIHFH4LOVZYWQB6LHEUXHJRIJUKQD4VC0LYB8GBK55EB8Z5TDHY40TNH8B869UBEI1XJ5TMT4GKWVONNM4BSFEXPYBK42HPX0TK1MLZEQOCJHM6CP0IPV17016VLDB571YKUXDO2V6AIPUJ68YDRVQQGIRA8I1SPCSWDK90DDU0JZL6KUT0Q0MDB5MINVEKAY5TVMBDKFXPXW6AEORAESW1QW1R40AGZSLZWDGMQT1R13IGCS124I3QH0HO5TF5XFI45P8PITTW7K6T7Y5EHEDB8A3PQWIE3773ITODROG2OO0O9K6IF1OVCNR9CNV83AFYSQTEP3WXJINVCCX6VZE420HKI4QTE59CVF6CKEEBT3CPFH3KREL39CKRFZ7THRUVNG3IV5GB27WNJAASMZ3ZS45RXBDDE7FNBTOOFBGIJE8VWFQ6IUI83V47KRT3R5R9XK3D2R = -36#9BPK1S359EOTEW8VL0SUCPZZ9RO2DUZO7IV9RHLCPE8RJAV3LISV183VND6VIERMAKBEOJ3PW6KTW6RUV4ZPM6XTZY7ZAGBZB2XJNVUNIWRG6IQMDNJ6H5SSM96DOCAWJSMCH9HTNHD6J4ZMIYX7KD75AYMJG4UGRUKMXD47MI1N3U426NAWSAIMALO2QD074JSZ8WYE1ET4LX4U957P3DNYSH61AN2LF5J8VKLVFDCPL56FH4B3ZOVVZVZD7YKN3MLGY7UDNN5SIZ7AFOPUQAAWH88BC4MI79SXM2RA8LEX9Z519MLEV7RV90C6XBPLAFJ2179PPPGTE8TUP019H3IYETN06ZTO96W0T6HFEP7856BHQEXB0WOOVFFWAO8JZ2XEJ8AXU9XWRIR1MT4TI2CRKD1UD6237VVY7MF8QGYASX6P4S7LUSPITROVZRABOJXEYRSB7CDI13K8FJ10LYGAF1LHI25MOES5D7DLRVEGV8QUWIVW2YJY2W1LKYN2IWCLBY8PWUT6T59971TJ5ORDZ9RZA1IKJG0MMKPUNG3005W0A5V0OGRB8A8FXCE4O2M9Q327J3LZKFL846R2R21GUNY576INCSP6BEJKRX177UQL8G4O9DA1OMLADYRLIK01GYMWXWGWFIZ3IXQ2GL7EG2BT27A4A5C4OROK13WVGUGJ3CBH6F0UG6150C8QABKZ6LTOVWS0QOKQ8CYEDE1FUNQT2X8E796G0BT919AVTAOGIV6YX3XTGO5KDOE8B0ZKCNQMAIUEXIT2G5EZE0IQDNLUSY019IVTOPYE0EEDBPLY2YPTKQV5OHM9CKBGVVYYSX7X0G7V5MNUNVVU7U5ZA6MP3V8ZUMCD998LB9I9O8UK118LTGRLW45JMR9IU3RXZW8GU03G413CAN5BJ251KQ320LKVSTDF9QCSWQC2YEA2KDVOBZO7OB4RXLT65QO9NKDEZUC9X01H9OGFIOSP5WQDXQGD5YRW3996GT1SM6QUOHNTZ8XF7W5NY9NF0CAS6F0HFX0VXWA5QG7SAQNJ76S980DYIZUHQZQUUIVDTJMX64LZFCBC7ATNOSGCUPVL6EBB901J66CINRCI7Q7C0XFXY2RV0W4XT398Q99GD9IW0TXD1DCNLRKKMBEY56PQI div 36#RI6UULM1SHJQRB7735CPJ85WE4I6B3GS74HRPQQU4NDFFDRG2MXXVXMPYSQOMNE6JQNRRE8NZOG61P2SHMG0H4FZ3SJI26K7OM7VN8XAEF6AUULVZDSUKT889PPWLHPM19X0DL3NTSFXKAXYONP1VJNYQMVKS6GE0MDNX6TTVV2DCBIM7640A85Y9K9R2RXXQ. +-36#117O5JGWMKQG1MPZ0UKBR4WZ98H0SQ30L4UMV7EN7Y1QW504CLDXCUCV74ST951WIIS9VYAG87HPKRABKVXON9YHKDU4T0AS8PKBUWZ02521SV0USVV3MM4TFPSOVWZ7JKP8O1INO35C4VR24Q653DCN4IN36YMHW4OTOE1N05YIP568KWHRNL1QACH3XV2YN7ZQGT2HE31ZFF2QOH0HWFLAJ1XJFT69BGFKOKL1Y40N9JPUH8C1YMKJG71WYF2R6KG1VGJWEM26U40Z0THA8KMUPU05TM8Y2U9FXHWVG6PO108I75I8MNCJ5422IHO4V2R03U8Q9YH3FORREJKTUHY8R0VE6UGGWZNQPVPVHTE2GUKWR8DDN4EPWIM9K3FVBQH00Z6L49U7WWJB7H7R5IAFXGCFLFQUXJTX1TLQ6NXC5Z1LYZWE3QRW5Y0WU8XOTTHIOJCF0PK6KZYPNXTWI2H1MH68PN364MQUJIWYJEQMHYT7C11X7I1GTYI1T0T6SUNC52LX3TBTH9WSV5FOFCTMHRQ8K03HCDT = 36#LG4U83SWBF3151AXKLSOE1UKRA78U3G68VWTUBCB4H8T0AF7NS04FGLKA95ZTBTCPWXF9V68R2UG9P9DIHJLQ1DVU61VJ91J9I0P79S5UCVVCUKGLPEUBH97AYZWJGL3V0SBP8HT6ID6C7PAQ2AD25F8LMGC45P6LXJVGK5JCR4884VXCFWU0PMJ32VIWS52KZB7VKSGR44BBBG34VGAK9WFNMW3A378OZWC14AXIK7YE3QJYTRJLUD6XH9PN7VDSU7PSBB80QZI4Y950MWFPTP9CZYVLEUV0LC7BNRAMV04223ORPT1WYVPPCLBQVD27UZ9CRESQPLSJSHKWIJGDAQPWVVBW7WJ3WEK1WWNDJDQA4A9XVDCDF9NBYP46Y42G4PVJ5KCT3OSZ8K4OO9008SSESMP4SKRYGQW9QXN66036IYIHGQX2RMD1SO1ETCG4893GEP2BTE1J41P9Y428OW8Z7X7MAJRB6GWQYNUJGRLXK8Y6ODM1A1M4IDDGC42FPMSIH5E48YZ254CBB5TWOY5STUIY57UVB7CW61VSLD5JVGU794O6S2TKC0PBE4UOAX3Q36Z0WNQN48UR2G div -36#KQYPLFCM4HEZRG8NKCFJXYZUZKUKBHGZZ7DUCYO1EBAKD0008. +-36#JQYSAWMGF1I9ARMLP5U9BU4UTYY70ZQ23E6NYB8G70KVF4H1GCGD7Y43RWPJINS5IP49K2QV40W29R5NQ5AOYZPM7Z60KNKB2OHSJMHU0CBDHRANOBFYWZCEQD7MCE22AOO68KQBAQQPR4AOFK2131UG3YL5G5I58S6FV0H9V2OZ34NPWXU8ENYDWDUVCE2ZSW9Q51LLRANHMNKYZMH91HOAF84WA8I3QO87405N88BKJU12TMHFLTL89A6FF17VYOXOF34VNK4ZU66D1FGJA67IHKSQ34DR3T7J4V7I9OQHK3FSI25GUZMCU5YGJSWV56QD80M0EV2UJ2AUOLMRRHBE1PB3RC8X0BKB956MMRJBW5JVJNT0K5U37A7UGVCVY5JD7934M6O35INYJDDWXRBBCILIOJMVUEJ307GQK9GV5UPM9X5TVNASC04W1TB6A3KT9BOGG0NO0VM1L8RSZQQVEIGY8XLOHQBWZ4T09F8PCNREE30JC5U3POOGCKDDJJ7N1BG5C5D1LPEAUUK5VAOA810VSO10SLESLBK3A74CZUTIGPY6GG0QUEUIP5QDS5PB7S4Y877WSNTJUML2I1GA = 36#78C5EIPGRK0PQ22A1GS2BG9FRIN9URVWGKAVSAWJYWZDFAPO97XHD42SMHYMYC7TV6EATTKE2E477W3C7DZXJN2MIBW94X21BIAB3W4JTAUDLJAYKBAXNBENTMUQ8A19LNLSHGBQ2APC4JCXUMT30R6ZREBOBZCSTD696LPO0QI2QK3A9LTCZI730EXRVNB87S8GUE6GNNT6ZFFUB71P3ERJETT1XQ5WBR318DKIKE88T89O6LAAA1LWHMT2GCP33QXRQHVFZ4X828N33OHW25TGVWK1VI6FJK2NCR14MMLN2UNFXI7ZTPN36J0GG6DI1I7MB6EPCQD41XYDPCTLBSGJ5JQNYFWRWII0YYTPM6S9JTJ9U9LNU41N41XB77DLOFE3NHBJO55X8H51US18BBQ9W30NAOOY7E4C7PF4P9UMW4EQPF9WKLANO9FDNF61KRODOCQ8T0HOZ0E32PD6DT0RO9LS03DSTHYY049FXRVLZNO1O24H57DXG5RL1RQ56LY0B6JQDST5AX5R9KQEUSJ8EU3B5ZE2B1VNY7Q * (-36#2QBARPE87VC7ETD3EQIEKRXRC8UJO8EPC2V6I7YI0ESGZ8SGTZ). +-36#EFW446JJETUK26QAEA9TM6RM8UM1FGRYNRN02XVDK7ZMYTZDP7SS6EDSJR1QHNSSQCH5RT43N9TMQH7A3MKYTMMMVML5MYABDPQCZ99F90KYMGK6HK2RWYVTL2PWGX41DD1193XZ1585UZJ1L9TIKKD44KPEN1LP8MVRB56745FPCBSP38U7E55QEEFZSAWKWHCD1GUZGZI2ISHAENGTP2U920OXSKW8JSPHZNA5WEJL9DMU96M7QNFZUKWZQV027LTYWJFCOKMWCFFMHOKO4N9U1D9QHJ1O03LF5EVSLTUQOT0C4J7PFCTV3A3U7DL14IJLLL1LMZFOZJC0U3GG0EVQIC7N5RS0S8CANM5BRH17W0XHHA6K1JFEHS9MG8DCK5S1VL65Z = 36#KW9CPTE20RGPS06NJ2VGF08P37JY82UGIQG19GF8IT7WZ3RA68K80K4ZOGY86VAG2M2EG4FPLECE4K85WRTY4HRPWR9SP8K2PXF4NWKY79MI81YDX0T532O6NFWQ1L8POC73UVXSQHA45VC9PHM6D1DMVC6PNRPOJAVS6PTULFHL2ICF68KO6VGTWXY1DG2BZUL2F0ZSVVSLWFU21GUBVOBVA4F7QZRDJZ8TYHQCA361A1AQ3HYUB2ZQ9TBZAZEC7XI8TNJLBC2RT6BPIGVLKYQXVHBEKMQEBYMHXMMWHRI0P7L7NIZCGNHODY6HE9YT6GTWMXSREABICPRUYCCLN962DZYZC230CJ0MEEAU3DREPEDFJWVHSMX08H3YLWR4HEHDIQ0CWHOGI4RCKGLJ4OX49A9V76MLV5Z70U0QRUUHYZSB37M47QT256C9QOSTWU7EUQ2L768TALORA7YZ6PT015N9LT7DOINUSCC2FESZ5W3N88HDRNQSPXQU2ZLJI31M1IJ5L6MJLKI9SB0Z9EPHP69CFMVGFR4OJAJXJ5MMGAOX21A76FIXVUOZN5BDEN6N68159S2HZBDBQCN35YXXM5KVGVD9B4O05DHCHXTP6AZ4ATFDH9Y34XPU03HLZ74MCH8M9905UWZEF4M9C17V1145Q04QREE7IGXQEVOMVLG20331NMH4DFK9IUZTWQV5YQ424UOTW8U0F7X7CP3SJTCCR3K993N13160SXU5N2XIYOCBKNDI4N1UU2T3EL4HXXQ0BX39A7MYZHPRULZSCVRH4YZ61ZP95GZZAYBNDHO177NQ0R9M8TC0IFU6LGPY4WWR4AUAQLPY89PM div -36#1G392SPYWC8LQHMSJAWHLHEF7SPBVOOCLRCCPB9Y0NFITVGUWCKL765K3JE1BFPZ9N8IOOG0OHV7GMJS4QK4MTA9MTMH2EFG1ACWZTCCOSWGKPTCKDGGGK495VT7G3HOPZPY14WLAXMRNFQ5Z18HXX3LZ7F455SUXFHWQHY4G544AZL10RUVZMUJWZTZM1ZEOMZ238L8U2B5UWNDWTK9SJXO3G7AXYEFTAI1AODU1YGBFBTT1RWMFFB7Q7JL66A3O2RDDLASZ9OB4L00I5SW539XJ3R45DGTFVNKUPOCKQLONGRQJR5NH68ZE0VBGXB9IDK4VRE767Q6TLCCEV4MZZ0VGKYASBYSZ3B3XOG9MNXWZXRYKUIH3UK6TGZO8ATPR0OPWWXC6LG71E62OEQH504MD50VRKX2C506WC8VVDWUURJV05AEKX4A3T8L7QLN2D1PN9OKFSME. +36#M7VXTLDEFD04ISJJAPCFTMS18WWZ1LTXNIXP664C9NQH3H8UXA50R5TGEBY5NB9DVWMUVXZONUWWAUP7PW76B6R6LOOUFCZVDAGWXYOTKUO8AJ3G2XXUNJBY4HASF0H8U7DRQ9YJVM6JUYI15R8W8JQTOOSRRGQLRRF5N01KHLFF2HO0J7D3CYL8T7QRJQQ9JTPH7ZIAB0WGU5828CN2Y29V3QHWRMY7QE5VX172NIF6O0HOWAWFIS9T93FZEYLY0EVPXU2E3KCSGA6MBZMZF6KCHBOUWV1JB4Q0ZO804AZF79RMGMDEMEAK15PGFIRYKP6H1SOXTS66B20GFLTNRC3SKVHQM895GDOU6USLUZVC1CRS0DSHJWQQY0W0CL8FJE9GB52AE2LTZY11IGU5BS8RV1YZO9UGZ7UEFPIQ731P4X3RFL0JJDS8WCUSSMD8ZQ2MPYCB6ABI2EUBQ2SSC3S = 36#16HSV1K8TK57A76CMUVYNOR3CILJ0CFRLIZ5CRPZVXEXHXUCORC27GU8VD3I96L52C4WKBX9GHWX9T3SRJI2K8XLIQGAUG7RWDX3BH2WC8AOTV61HKASGZ2JNPCG3YWZ82FN6AIIIGJCQH6I9DOEODHWFI14QL7W * 36#ITN0KN3MEA2T6RA8VG9466Q0WR7NN44LZUDZZ9LTHUX7JTTGBS1T6YCY4ZB4BP8A5IH7G94WC4MYJX1ZO94S986QANREW1K1QK6FN635M4LF3AST5GFBMDCO2MH115G1OBNNTQJSIOH2VWQHP6LQCA79KFEX9JZUYAUA2NEZ7MJ7X5S44RV52I6K9TTX7ZVG26QNN0EZUB7UG92577KCGYBJ12YD5D8VOOGGH7AQYXI2GYV3YW9VVLUWA6ZTY0N3R0ZNH566262VML8ILAWPWS19MR2S83F0PN4EV4GS53IYP1EW5EC6HML2. +-36#F00OLS1YHGL01RAXMY5WXYI8ETXWVCWU0W0YA4V055DXHKKGB419AU2P2NM4KHYPGS4NARI15YKJHAR5FVFTUVOBUJ1UYAIN576344MH8MG22SMP3DJLA3MYW0WTI6IKWRDYWOKYD7EKIPX4UJC3N3VPLW66T3RJXGS94VWTVKQ5IUT2IS2M6JX6WSX8M1P6ZDLQAXQ6WFZGHKTJRGG0ZF8WLKP2II79X6XUQQ6T3GKX6OSRM02A40R1DWDHNT1FNK8E7310RECTVSE2CV9J6MMP80JKCJB7T9OVXLRBUFCASU7RTD5YQTBICNAI3BB0FO5NVRXXQUB31TU75S58MNA7OO34KIWQ5ZRB1BGBNLZO843OYSET45YNRO8Y3J4XRF5F = -36#6G86182FS1HCEZEKA6L2BPET49MVWDJ9EL4STU2122O3120KVFXMC34K8RBMGCYVIORJR218Q3ILJ1DL9YDZJYCWEQW7S7FTMT8LAZXG88RKT0P0FSFSBQMWC9HPOY3QCUPP15ICAIVNX * 36#2BPPKXXHOTUOM3M99SM2W981SX22YXF8Z5EVJGUDBLV2DAL6OLV9MMF14AI287A0HE1J2XUPWG936449QKTYVNM8A12DX91VQXEJGQQTZTCGCW0JN7WRG5GWZGC4AG30T6AYM9FJ6MPBTYZ5SP94H80JOCPCSHR7FPW052QKYAE3LO488GDH5P5K7FFE7FP2RYHM9V1L7SCWRTNPMXFDEX586PETCODJAKQ7WMBPY8CY5GVCA4417KU7. +-36#1IKAH0PLS3I38HCRAX52GFOO398E3HSFXIR434C85HQOGL65FI = -36#E1I6QGQ6S5QDZP0IZ8YNB9XR8YEJQSWMQ0N21I248Y4CFZ61HSNVHINFD24UPHVUT5WIHNID7HAJ8HP225IOO2216PCYQVY104A6PDVFCLWWJ6F86ERIKRAPIG0SKTNT70Z90MB9VIRLBWWW5F6NEMOXWICG4YZ3SRQ72LPMB90XEFUYXL84LAZXPS9449333WH55G42LR0TH2SVI7I77JX49AADP5DN3ZN7HWWZO0F29KL54G6IEBGY65XOYMCTTYOPMTXBTNIVV2DNPXR6Y63H9MCJWRGEDLDWIVV6D7P7MYBVTRKEOVHDYIPA6PGYZ3V1ZCUL4YQCPG137I div 36#99ISUCX5Q8M7XPQQZ25SQKV9C52828U7N5CW8NH49EEEOE6AVD4DUYPGA2RMWREGGT1DCUA2PM7JJNKW23J3BFVC4JZI4BBNB3ZP8JCWCAU4BVOQ9UCJJ5RADHMH3O8TLZDZ8JBHEXBECY45OZQB537GW01S13ZDOIMDCTEL2NJKPK48RYNFYS9100R6RI8B4RDVVOKCCB160W9UFRKACUFPEZPVXVFQPV69UMMPVMXK2WUEHPPNB0TTZFOYYHX3BCPG64SK5Q5G2SP0T490L8EDNVC01P9KX. +-36#4ZLPMU515R4DJMTKINP9SFN6N4PTJUBL4PBJ76P2JYLZ5UA2KER = -36#7QJ11XRQIW98XNVF9N378AWSFKRMTCWBAWR8S19MZV6S7R4PZXDZ4I21DON7LXA67L2IJGOOIIVUN3IA4XJRSUJ516MER6LLA6II div 36#1JTU59T7PWDKDBFLJE5W7PD85UJRHWU6UK9MQ4U0AEEG0CVR6M. +-36#W3WRE8YKHH5U0KUMTC4GN148KCURTAMOFB4M667EENKZQGQ4ZT7W5J286XU8BEJSGXW795VNXGK3JZJ5TBJ9SWRRJREY03VG1KCHRRZ4ZTQ6LRNQFXJLISIRWEDBJ1F4CD0IQ9CK26OJNBD14QGP44VS1BVKSDJ5P82ZM9BWGZL7KW54OXPZRMVN9GKF1I6P04RCC842MSGN2RFTFTF18QTC24O8T2DX2OECLJ7FAI3N9WE10V004QY67H0SZWDK9EZSQ1TSK7F0850QN4471PCDC134Z754Y63M737YLPG9FNCGXZZFDE0883VIJV1NOBJ8A71YK3E3O5LCRLKEXY6WIHCDVUSV1OSCNQ9OE6TPE037BGU9242W3O1FGHJLDYKSFVTN6T0TNS7FH20DEP0516OSAVNHRC6P0PJRY0TVUI8UQSLPIXWQS8QOND5AEAW4GB6ULH9BYD0830BJI3NIH6WBQ0272AVTUNSJ73OLF7NMCTIK5NKOTN61SEKDF8PM58BVPIP86PBWWK4L9KIZ116XNTTNQ175T6K6BMNY2DE26TH068XFM18LIZI06E9BLNS6GNTUNIFVV5E5S0CSN9DJZQN53MYJ0K2HMJGA0OZX1XHEC4K5T79MZH0DH4UFTJP43FXEFO3FZ881BR60FXHNSHD24BK6S5S8Y6 = 36#1SBYP4N33K6QCFVRQ60SAN20TJ0D3VLPFBNC4RRXMWV8PLWJ1TGCRDPM6Z4Z7REMU13PCIHDI2BPBUYAPF0EXFF0GR9298HJRXH7CZCZM0LT1LUQN91QCAQULWNXQEU1ULD2HDVS5OIY3SVIZ7P3HAY2XQY7LUP0VJ5DC54DHXWCL899EZNOGU3UKV0SJQEJO581LIK1VUNOML92GVRQ8F37IT1PXU1SRGT3ZLTHUADC59NA12JRE4O5EBJY7UA2FBOB28G7JX3MZJBABJ3J66MKQD4MM94HKM9BF7U7F7OB6J7DHBEIPGINO9365MHET72KGLLCDZHRP9F0MQPUXO9W08A86AKPGBE38MBFLJNY7TANJONTIB4RNUOQJJK1OXT32RFFZZ92GEFAQX0RQBHPUBQH1HJB522B2MZUAI0IGYXYW3HLYV1IQFEZ5YQ57FI8R954OUDDXJK9GQKSE0QWNWOOVRC900AYS1PQSO9HA0BA92Q5F6IR1PSP56NO3JLUP4ST9CBPIAUHHPMWPH9N7XNWASK1YCAVU5DVCS2AU20RREIL031RCG6VTN8A7WNILGMCICDHSHAUA869I447Q4CSPQ25PQH5QKJP3NOAV9WD3CJFAXVA77ZEG65V5OSKJN23HL6DU35J81UL81DE775XK53WT8M6ZBNQ6Q64S697SWKYLDEGKO6FOQ7DD55GQONVG55HABLNRMO5AAOURVNU div -36#204N96XWH9616YSI8YM9AMG85X7R277EVV6WQFDGIBZ4B4KQNN. +36#WGVIWLDH20ZZLHSRWYCUT8LIYN3NTVFXTKHYVYBYPDNR518CCABMI7E6HNLSJSNVNH36LM27LKDU5LV2V1SR3242ETSN310L9 = 36#26Z0INVGCGPLLSCVAZ9RNDKYXV6PO9XCH1OTGGE1IHEPTCYYHX * 36#ESU4L6ML35VJP2LRHQ8GPN203CP7DP3MJB2VPDR1Q5VKP7AX. +36#G3FHTLOFQN2FG92B7PCFRSXV9GW4EUBOYW6CT3U65AM85X6NDY6JSE9IFWXACCJJCL73GWY0NVK31JISHN5UK0QW05JIEQXI6Y0VKP59NOZIRG8NIV5WK9K9HBKMLF58O5HI36VZ4D6TZITM8YYUYY0D6V04SJDPBNSUM3HP45CC9LKNSG8HYHGU7HOFUDF5YB5XD0UX2MNEN0F4HLRZ74YQ7R0PQCK4B5WIFRMI1COQ33EWCK4I3HP14UHG3NVWBYEU5CVE6LTC2166CLF21Y3VGP92WSJQ6CNU0W7WWDFDJ9YM93A7BE0RRVW9WD73UFVMZK3RGFUCMRGF4ELO5A9CDMIZDNFMSCY2KYTVJ4ABRYWPU4FVT1CNBF18066JOC1FLE99SZ7IAMKYWQ930OTLOT = 36#84BT0Q7QP1GQJ6RU0I4GD8BRE3EKVQFU9EBBY3QAWE6PBO6T28C8U6KY44GM4J4THBOXPL2E0PY29SU9FJN2W6CEQC3V2G6JE3NE33JBPUDY7BSLWA1UASS9KNULG5PBX9HO72GINRY1Y1ZZ0VNOSBZIKA2VUTVSWYZ1LVZD8FQPJ7CYWSEZ06E6FJGQO048XR37S9PBQK0JV4NDUHCGKBGC2NWUF2DV1DE4ACVT8NXCJGHYANPD75CZ1SN154RGRMX1B3X9JEPCLU2EGTE90WC0W7CS9Z7X0FPEC1BJCEWH20ROSOA8VW7XSDQY35EXBWUV0R54LU48KEB7VPX57LXGLP9GOCEY085WJXBBKGWJHOEHOHMTHWW4RGCK3A30UD8LN95ZQGJP8D1CCFMDI7BAVYJWTPBLKGDXJLG20ZITR0CKHR573SU68X7MG8KWITLTC27VFLB4UY15CYUUDDBPQFWQ1FPX5LR4NNFQXY1XUYXP5UQFOQFUAB3JHE7U48HH3UH7P57CAIGSFQZ5DKPNMOJ3ZBG6HN894C8A0M2L8U686RTISE1FA84YJP4FGRYWT03LCDUCCKK17QPINPZ6C22MJLHJWKM7SCYMM6JQX2QP8YNIK74F25YLS5A0OIC66SB9Y6XIG6TR69MEPBCYHQH88V3SM6DMBV0FIS1HFTHYTP11COVL3L8WY2FQ4B7XXX div 36#I5UDN1ECCW5PI6P7QOJM54QS002JBY67X5C7TT7RKRUBNP2BWNRTYVRBLSGN046CM8K9E9P6MN6YBMX10XV5JDV3JLW5OA2TWXXWWNDLM2G9PIC57EZJHUXNPO8D7ANULCUMH7TS0LRGLJQCBFXMHY0XDWVS50KF9SGRPL20YSDEFH5T10LXJRGYI3796JSX778KMHH498QUP7IPI831CC9DIU8FOQCBM95QANP3V5H86K49W76B98E26PQ3WKXIIDZ295Y6Z98FQHYG84H5IPFGQDTXNOAJL4ZPC24QXODL. +36#11CO5A3KTHPPE4LZ2OHQUDO4GSN278N37FIWG0NKBZYPKPKWW0HRUW8JGUX6LQSTX1QDLV4749V6CKZX5BXJ84CEWLGV1QLJYB75BOM6KUMINK1BFACUX4HOUM78GZDX8LQSL41DQICPTS3YW9V0FZIP9OYSQ46JKBK021A14D39DHI4FFHM1UPGLQ8IQ084OJ4O8S7ZZ1DGLQUKS3502W0WG374DWAOGGAGFOQASQTC6FX65OI8YJKRPA2YWM27VP5LN4SZW8HFBHDZKQHIB8VSIA10IRRRO8EKDCSAKI5QMBIDBQMQMTUF0JMNPMQK7DWK8UAORLM070WX9NE3T5A0PFZIELEWR10YXIK4S494DZG01JFWOVIA5FPUCSCGVSVOHFDOL5FVCV1SCCSV9O = 36#3CWHKNFV2GBG5OQ84UC5GC400ZYPMG0PHV5ZUPEQWC3MXZGE5X5T2QGC3VOJ03CMQ0PIG9ISM5812RAVY7SG7VXEL2B3MKNNPKIVSQVJ1T2TZC0UFEE5UCJUHVCG6CHZ6S3JB8T10EBG00C8PUDIJ3Z4EF2RI2V6UWEW6548PBZ4BQ5MG1GMHNB5RN29N5VATDVGDY1SJWGQNIER80HZ8R3LBGMQVP45MMIJUV6D6SSP96CSRSXOYJOZXCSHJG5PEKS9OCJKZIONPIJY1ZP93P01LK7UGTXCUK2HLTZE16282R3K9N847RJEU2G0ER5E37IKOSD9TT1ASXAABDGVNSA9MS64QB9M9YG0FW96EIOFTDF40LBCDOOZH3DBRCNBDE4L9OM94UMYM81BG418051O3AL1BMJG3JUHVSUWL4IM6BLA2P1HFFFPTRJPH4WHNETBL1SAHUFHMTGKYG2BVHRZIIIZ0XKEZ6OECHLZT7ZO div 36#38IY5E5SP11X9RTITVXYXTZ6BOZVESWB2KPDWOYTSWG1GHD7ZB58KE4TOKQGIKV0J40R1GZKFAX432KG4H49UGV. +-36#2F1EXLA3R81GU7VP79SKMJPXA8YK452YQKURX6036MQSPON9I2SI7UQH4L9WZM623U1 = 36#8AS9GIQ1Q2MEW8PNW27EQXXPAAJ2CEEXTKCOJE4Z320UQLAWR8T8XNK2XNSJ882LYQ3TUQYJKH1QIB85VG4QAN0LBQATHNUFF1ZM8E8IVVCO2XE7V9K div -36#3FKUVJQ3LR59NSO9QAUXDJY465A2V1FSY6K5MKLBHQ2QS58LK. +36#3WI4JS0P5YVR7B44WCS04TAYHVKFTWCX9NJXU6J1QCWAVDK3H2QW1B7KHJX2RY4OWF9T8FY4PNTJWIFDYBXGNMV1XCVJWUUWCSV5M5IG18JNGJDZLLFAU9U21OMSZW2FHROY5JM6X2KXX0LGU25XH4M6HKQOCC0OCBNX3UH53517FXT9DGE4QK1P0X5A9KX3T5Z17OIJ5CJDB8XMVN4XPCA9AOCSHTBDP7YD6WMRE66UES7SY662RQH9XFTHBRF8Q0WM7Y4ZKMP0AYMJ0G39TX3BYUV0RMNUM31FWYBHAPDKPCVD7PMMIFW7AYHY05M88PFOFPEVBTF1PFI5ZF13V5SLHMZCCUVL8PTI0LOXAPCW8L96PT8LIXAFQPX1O64EY6ZSNP5IY51DW5LGJN37Q0RVIA09G77DMPJB6N9KHWOS14KBJB6ED1KC46X86O9XH0UMPOJDPY731689BAVVJYZ0ZE3B1POO2R0JYMZG5K61GHQTUVRHDS4NHEXPS1VEJ09R2ATWYQPRYSU5JJ92JGBBDQZ8QU8WE25PV2063T5ZNM8XEVZQITI3UK9ZXCS6KJM4Y5JCFTVAK9A2I2SW36E9HXUZPE4A4EW4N0EX83A5Y3E8BKPJF9DI4Z1Q7G0HM3BZWIE9P59ZX2PXOY115XNGEDJQ0BQO1FMGMZI26LWI7T817P6TKC2HLPQ9W3S423ZG37W9P9ILMEK4UIMX4GT8YCNIR7JGHH697PZEP5FIVD2NUZPAKLUNVM64QTMY9KOQ9GJRTB0RH845D8YGPA7G21A6PMM7SZ9EJ0UMLV6V1DG277C2GS234ZWI0B1WDQF0CZTB6U0NBAG19NA7GALQ8Z1WES50N4E3670VM4FI29JS6JZVH0BB54ZD160P9MJXY5V0AMVBYK50DIGHVM8CH9WX83O643VRIJVJUT2JGCZDYOIWZSZUDHGJ8M8Q83ZFNBPZY4MX6SVHYUK6I2RW328ZWQ49LL96FHZURZDLZI2T6RXMO5UUZLYOZ1MRIDMEOJKB3ZPHD0Q30P2H1OU039FCG5KNRVNB = 36#18J80FL07XVX9NCR36B7V8R5OL7QO1HI9H5LYCK59TNTWD26D45FPZ2B7FX7INB7UMSVZ35HFZFVY87440TF65GKOSAHT05HBKW2NTVX0RDSP6APYWCL38P45FIYRG8W4DYOQQKWOU10WFQC63OVH0CTBGSZR2KP0N472UE0SCB9ALRIGXP5U77FKFXNXV7PSXH8K8V69ROTZF4MVBJX6X7EZUMCIBDKU77IICCUL687XU3R4ASIOLQERRL7R10L781RX909T00QBDRLOFUIEA8MGJN7SUEGKI1VVRS1BB3DNAAVLFB572Q9D3AJ1103QDQY2EO7Y2DUZ1C6XU09T22K1OCN6I21ULXPOS5D396R7FI00SCX9VUB2BKE4RTLC9AC3YDE8MU299TN2IR3MW84Q6WZ9IIHBJOWMWS3XBNA6IBS3X2BXJXJPFJWGCNLY26GFNTM1EYQENDEK7LU8XL5FBBARMXO7KXTRVYPCUOB9TJZY8CFGDXUXE0J8DLBNZ5WYQCSW33TTFIQQ698J4JZQA6DU2I8J4QTNHTGI2D925LSE9ZAMUEK02TYJGN6REVLTWXNWJ2FOE0QYFZCW9A92MOQINEEOUNMZJD4VENLV1GD44AC8UL2NBOVT360N3HA4MD7HD60TWYEPU7H0JW310J2W0VLSNJHYAZ5CVPG2QO25FJF4ZXD8ELTV3OHA9UYY83GUTSR0CL63XD69RE8YF50PBEOQ1KWMI0IO8EM80CJ38L2X4G0SLO6I3FEZBV5QWAKHDKV12WNP46XVM7X1E8R2WM9Q03TU2J7QX42MPOAN5PUXEAKIEGB128AU6YFQHJ6K4LABGR7116MQNL82LWMQL07WJQ4F767YQRBCR2HYLR2TGCO55FWUSSTNKIFW6ZE36QUCQWVUKFI6008FT2X3E203WT3UMJ0IF2AJO6B0YJ0KSVRBDWHCQW6JIJSUF2ME309CQOKJCY2WPKIA8SKXZKOCBSNLS4LHVLRDXQGKGJMUIF2B3B271YE9ZJO16GRWR0O02NQ5Q1LBPFV8PRT10NV2QQXQ26GFQUADMYAO9VFP2PX93J12XHNPJI8GA00FSWFDQZUIMB2ARB72X8328V6BZOUXTB7FWOCL78T083FRW0LEUOGW57CJA3YGTVTGC7KGDJ12DGEWP9E1FIDA1ZSY6FRP5GRYVFSFMOWAVJH2VEETEFLAIIWB3MOOCK210XKC55KXQJ3ARQKMY9QZG22RC3FJSV1F8NYZCK45G31KR7XX4JVEU7RO0043QUNR3X129Q0ZDDJRABE8FYYBHFYUC1KOFZ2JPSI7JKJ1LAQO4E9PP9MGO5YR1R1DLTFV3Z0H47XFY1AFLH35PTF89Y5RBFXH0WSGJ1MFFU53VPJYICKI3GJH5221XH44DFSVTMFGYORBQT17WBPH7YAUSWGHF7L98ZZPAAICKVUV4ATUY2LG66NNFRZ4P8Z6B83LEKJ0280UR7DBH2BJEVCCHYC1T84I1HF5KG4NDHUINDDZ35B8HUL5Q0W2PI19QLJZ4AUD4OJJS5V1824C5SOOZ32GS1RHW83K0E8C2OK14446X24QH9A28VSNGEWAUI2D4PZGDIR5JDQLEUFQVSZUGYZ45F8FMHXZM81ESP9YAKE1LNKMASUGWHTNW4WJV5M6P5Y2XVG7CFYFKSXKVKOR8F30VTN8X5AWF6C9ZIG40WB2FKLD6M4PWDLJSPIKBAA9EQPP7WIL76FFD6UZYRDA64O0JAQKKOQKA300TGOTXQRFOMSE5N6A9KDVPO71N0FUN0PHGMLN div 36#BES2P1YRQHQ0AO6KKUK9TSLDB7A4R4GMFD0NP6QTKZVX4T3N2QQ9WPCKNYOL3QLTUJ3ZHGJZEZN5IOB6T7XV9EWPCC66A1MYVPK7CG8UK6GRVV8AL7GSPTGAA27L9V7CFQOUMMZF1B1CF4SQH6WN1L6MW1MLDXM2F4UOMWGPNKC2XAJJ041GVSU7UJ6O31UXS8ABT03NCBREK02DJYB40786KEUFD4ASOB2JUR58YVD6NJZDSKYH7QEVBEZAYJQPKV3EOV13X6PRMU1D06OQ2PI5KK40O2HZI0UBAC7AP8GVK7TELH0OT4W0XRSQ67UXWGQQK18IS6HLYYZWX4E2K3MMAXM2WE1SS8ALXR72KIMOI80G5SEGOFT1S8G6JM92KM5IXINA16UDGHO7H6KRL8XPLYKG0QONYTH1TN1PW4R43DY4FFFLIV5MBQQMX2JK27TBS7KCE4EMMGOOUSF6DH2XE9Q2164T0AHA2Y9EY4FACB7J7F7DU6WNQ7GGUWEAH92K3RE7OAS6A04FM5C926HMOZD2HAZH5LIBWMZ3UH186OBZ1LBXGV9QAFTMLPK3NYEOE1V4YXEDC8P3W3FCGRWFA01UK1D72VKG5TX2RHMGZME6CHDZK6UIBVYZTL9EET5FOGFJX17QX35K26JNVQABND6A0UT21F581093Z3RAAS5KF2NT207T3M3A6XEK7Z03USWWWLV3CUHP1HSCGHOA1AKDHKEALUHD2OHMIUALP. +-36#A72ATVTRLSPYG8TYB4UXDX9MW5U1HQGU2UA66QRN8JDTVY35P92AUZO8AA2G3MENZM3Y0XE8NQQQA4X5OBO8L5159F8SLSQAM27EL0I42VS0LXPBEDRXA3FK1BC2HSAYHWBH8T57XGGNR4KMYD6KROT2R3X7EMNHGSPO58YKD8MP2W8LEP2GNFR5DZDAUL1OU97ECHYLOFTPZPG8UKUVJJJG1GMXFK6ODSBRYQ9WU0KFAT0Y21E0P4Q2APDRLOZBO0CYCBDX3FCRJ4IWXWGJIR6ZQUPGUUX88H2AVZQATT8OELGCE4BURCO0EG2OWS3QRG205SVLWLZHO148ZG1H9DF8H4D36SD6A7R647R6EVZVJ4I8N7PXBIOOKZHKLHMCACOXEMIQHTOTNNGAQP5QXKBCPR8HRIZ71KKQBNZ5NXY0OTVYI21BGB8QNBCRQQXAEYPIYTVCU7OO7DS2G39HX6LCA5SY4TB6FHPTP2OLOK6I7AMQI5V8Z0HGEF8HJ57J02NWLRWGNF5WBZ9E4YVEMH55YEY7U05E9OI02MT95M0AKUP9V261V55ML60I8LW0VZI25H5CS89HAS6SEF0RE8LW66FMA1SKX85OZ2VYJBTUD8MI28ZPRPMYKKGHPWTTGPEBQ3NG2P0XJVFPGYDYDIZR4BZRY7O0PDXK0FLU52TUW9E34ZRR13OAGQZOXBKA9F6F2D5VA05CPNBYNL4IJTQAWPXMELA5T3YSWP33AP7JEV25O7QBF3AABS0X1YFHDIJQOHYL8V48LY955QH0ZKI59W8YRQMI7Q9XZ6RJZQMPZ4WGQRYPELDJQ170HFHPJFOHP8W10BNS7PACBYR3HCJ2LTP3Z9WZ9BH4NNGI6VD5IA4K217DTBF8U78QTDCWZBJX5HTNPYATHWKEAEFCM5MSSMCAE3EEKAUWUQR3DUYFDYLDBSZHZI58GBR29O1AD44XH66O4E6DS2YMG7WQXY8DO2S3SZBBWG1YAB7IER1G2475Q55KWQBNELZ0NX5SF6IXXLRTRSAFBB7GS01OZ76IAIRJ32XSDWHAX3GCVEZZVZO2YZTUEIUE5ELE60VGB0U28512RF7KTE1ISOJ2RT2X90NK4TM5X32L8DK48BCJW605B7JCMUVN1MY5XZ16GZIZMBKV5H13SL45VNKXK7G21SQY41I28E4Z28YH3I9P6GZ07F8JEY6DPMMZK8PPH2F066UE2UI1KTI5DOJT2P1IGFCDO3YYMKDNZY399M8GM9FY69DMUMHKASMJJ1CZTC7WFBNXB2MIE9MO7A3NGKSK9L56ALKEU0TYIZOBAQZ57MPLG7QGY94QD9WXX31PNGK94ELVOIFAPES2OVSAEN2HZWA6Q690QU5EGWGQQW5QF8ZRX8KR8NUTC7B3TG79ZTOXCTIMQFB4K40S91TUYENYHHCSV9GQST8FS0IKQW15ZTWF8GIWNJASG3V31VEG82K2BEE0LOQJJDFWR5D = -36#CQNORAO6Y5BX58094HCVGUBOA412LP73FS80XXLG8NCFWSAZ65Z9CTNDDN3YSTZMAQIRZY93O8DXLNRBBSHF9YHVJVK2BBT9OTKXPC999W3XBNPGTCF71HZUYIQSH1LI5S5S9ZAJ5QRPVVGPQIAUF8J8J7UVB7Z4MG7UK6I4B0RP8QQLG5UCNVWP71NMBVYZMH5FJEWHJB6Y9LAXIX9C10U37Q4QI7ZDPUORPWVACTYNB6WS94YAGT877EO0SNUSBF66T02XAVT1CAU04Q3KDNLDO3G1VUCUPOWEJXQ5V72UC3ZH2VO8KDCGR6RK3SI2CWPKBA44CLDRHHA568XV11UEUHJ15CC32HKG3VX9E46E190IVV8OP2MGVPSEK22KIF88UXBI90CPCD64J9SYJ69ZH20Y3NMMQOB3PHGUTUV3TYUR7JMD2ATJIJ09JCABK5F4LKDIWTJNXAI4WXP44G88RAZ28H36J19KAE7GK1WDJ1HHGL2C5U64L3BY1XOHB79MGF44DPOAY2XAK464N1LFWKHTUUVHFSXYGKZ4B1DZGOG4079W563NRQRY4OZFKWJY9NJ9XB7HIKMSBV9JYOWHC5FM8QRGV0D1SKU2FL4AN2VDEHIAEMEWI8FFKOUKQ9XLXK0C8RIA6UBV8WG40W4MHHB95EULXX4OFUQNCO9O682SB25NFLWSN67H61IVDWQ9CLPXPOFNBKSL1WDJHWEXJ8GWBHY146CP45WW62T2N7G4O3O2JTQ4ND1VR4LDKDSWUBINQF5HSGW1VNGLBUBQGHM82786U3X5VTLBXBXD8SUKANV7CLRG19O56ERJHUJZRYTXMKY7OP2SFFMIZTOVVEJ8M7PQB8WRU69UJ0MIWSY8YSIO7HO88EPM8Q08POJ2X61PCHVYDWM0WDYHJTOEEMF5B3M3XADLSCOOCCITQIXADTUGJ0HLYE5IQAA7KO4VEP77BMXS3OF4UEH * 36#ST6SE7EK2F5PAL5H47EYBOC9Q4ATHAIQZAB75DDTMRXM0DE0RU61CQNUAAXDYKXPX7X3NF1I88X7TG8J0SGR5PRW1LV1OHTY7R3HKUIXM41N12WBC4BW9UQXBQW9P893OMJ9XCC50FG1AG8RKF969JU0WYA6QY1K2O05TMEGHWF0D9UN4S19V0Y7H15SOVXG81FEHXY8NYN300WV1VCBEC84XPGQKTC2VST2S6CGHO5BCWOMECR2FTF64UFJYW63KIKH7JC64SXJG7D33N5QPXRK81Z0N68RNADC7MT3CR0MB9XP4GL9KAGJZMWS4CB8R0ZONAQT76MOJLTRY08MYHNBP39LNUW57NGMT5F59S78P6PHPR33BDRV968P2MXH3MDQ5Q9H2TXWPTK24RPTV9ZED3BDXXUEW009LDEDZ4Z9NHH4D6JCCR99UEPOI5CH15C0HA9QOZCPPAB459EPTOCRMY3RBQY15ZIZPH0EES01LGZYIW155QXJWDSVK7D5. +36#QW9ICBF6U0QPNYWFIKZJ4QL8PPUJHCKEROY432Q31U1LFXWWO4XN10AZZRVSZVY5L9KA7MM3UQ0MSFR2HDWT71 = 36#DOFA1FA4Z5ZP54K6TDR70YOSVKSNP3KFAZUAWEYKDJ6DLFT0MVLGLXGRM2QO30140QAEVCQ4OO33Z568D0AMNP30AJGPZSU6IO867C25HQSAV6GSMS5O4KZU41ZVHAAXI36H30VVKV4T3M4OVWVPRM90DW4170722JUC878DUIHQ40GAJDHEXAES5BXN1FFFHPUR4EIOO48I7N5G3QUT63MYW1U9K729FHB1ZO4GOYI6XQP291Y9WHQ0JJMDECOMV80KR2CQAGA35S9UPGPGWVG7MKOVOZK45Q2RIW1Z div 36#IB3KFZJF01F6L9CKGW7BQ6GUYUOUODKWH1CSKK0BGINYKTGLGUL333KYAOKQAM014SK4EX15NAALDA14XUHNFXNGEI4V3RSL89KXI5G4K89X4FA0IHY8NTFLHHVDUXYD3X2MKV62KNFZDNS4QQP2PAZ618Q78X24W5WEPKFI0EI92B7Q6XU7J0UOY9RS42WX7C71LJNMN67NGVIY8Z. +36#9SEXVR97I984USXP1M3B7DDVF0ZOF457GG1988U7YEA1A9PMSQFVWQ034XYSU2TO65PQU7WDYYUYUAURDV3OI5JWNE9T05WSMGBBKL3ML0PSK5S1MJM4AODWZZPXRPF7PE93Q895IUHEIISOCNMXZ4FL25U1UQ2CVURRGARGIB4IBYOOH5K7CLR2PQMPDJRTQERYDC8MZBFRQ16XV1KH8HCLRPXJED6OUY3CFI2IVGL9L3LFUR3EU29SQRPH9ZPEPFBXTSSHRMY1OWBG9VJVNSWA9PXU4BL6OH7F3L2HWFZYH80JEL8WGZE1OZY9EG1OBYU73472GH99IGGN96UGGFONDI2VI7XLX9G5J2U4IZUD6J79QK6W6RNINIMM7YW2I3QRU4UDAS7Q59FO37WXL90JJZGITP7LNNCL707071B3VK9ZO6FBVV6I9J5VNJH0WWRT13IKEM2WQSOFA69U0OJ2ABQ5OWKEU5YHASJZJFLMLP2Z7FDJTDHHINLOJDZRNXLFXIHINXH81K0WKE9ZOMEDLBWZWEWWUN99B0VD6RLZ24LK0BMXCRZ6NC6SQ1JK = -36#QOF105LSWLGICU5IH03FVTQMGVCSZ4R0DO63FHCUNI1BH49VJNV0NCUNJ1DL5W6XU8SCQDVJZDP6U0S0QN009M * (-36#D7JXCEIJCNH1TE1QG614WZIJQ1LUDEDH4M8Y50ADOX0TPL5PDW3X776HS1RFE143LCALPZPJCHWNKG0L9B3OVD2HRFWVYTSTSCVOKY58QIRY0NGTA866HWMYUXNL22S9AIPAY7P4R3S2MIJDP8KVEYH5E70YTUN4G557RP0M4V0ZC6M0FSSARZTJRH1JX9Z1M5OQYJCISW9YWL1XBIKINM2IN17L5V38LVCCYVVN1IG0V7D367OEB0NUOB1B9G1ISLV0BP5SJYWEQXAPXE6W6VWTU6TJIY1N57AU73F6KADDWPO8OMX3Z1II2ZUXR4MDK5AAVE9K1I9ODHUD7EUY51J97U2P8B2T42R3T7TMH4LJGMINS803TS3XLVEO4AYRIYGCOYKCNB085DRI2QY2AXDQO9Q9AFFYPWQT4OPI2BQPA4UZCAA9YW4FOEGEB05TPKFFM4KP3FR03NSAYEF7IQZNKCOBJARD4QDEJVGIIW). +36#4L776FJ64HWLIBPWZ84DMW0QHP1RMIUKIFAP9TYRIIJ4OUVDPIEWGCZK7QGD4NZN19HBX9E6BWAD7FA6LV71ZQBLRYVRUYAWZVVCVF7EY84EBLD1FJZQDGBY1KIUXWOFZ08CN0EJP7K27G4DNES38VT4M4HHL6ZFXGIAY540U8U21DJEFZCGOO0AS1CNLPMSQIY8IDDW5V4HST44HXD7BW5M08QKVB4WXZAX0HQZHI6F75M5G5YCXWBVFF1V9NS5DIVYMM7V7INKYWB03HGCPN8AVNJRZQQ4X96XP73UC1Z99QSU7I83868WL6J7LG241RBADYOKYZUXE9YNYF0EW8ID4Y9SNU2RIDUHQCRS62JP54N4DTONZ7PITG7AP19LKXDIXDUTHLC0JXG0MDJ9UFBWIGG4J6GS442EE67RKG39MN35JK7V1CVFMJ39PXNADR8CRRP0KSBRE0G1C3A4PB9OAW1X2Z1M4T3NJJQC022SAMTRIRBJHLHA8TE3SHS9CC1R53JIRUKWCCV2ZNZEALHLSLHY9YXQTGHHWWJI514T7UPCCUVSYFVXSJS5TNPLUV3RY1MY6OD95W3XVGYEC5PWF8HG21PESYHIG4KBWWC8BUG0XF2HXJSXBU11B0FXWAK5M4NQ7TJWLYT7N9NDP3OQSPH87QARQR8MIN6ZZGHYK6M55N4CDL08AL0YC9U7EB9525MO9JECR68SAQPA63AF9Q3QGW591D2QY729UGKH11PCYZR0EXONCFLC7VZMRXO2OB8RRX7K1KCJZXH2D05MHGZIDOBFQ0KN0BM4ECQ07ZYTQSIXXNCYPMVY7AXK172DOHNYZ0ZNE6DHD1NM1JODJ2MGI7MT0NMA0RGHQMS8ERORR9RD3QDNR2F = -36#4PGWFRN5X6P7MJXKTHC2UIVJCEI1V03GO555VXAVPF3JOTVSVNWF8IASIN10UEOK1KH3ZKGVSQU67ZZNF5JUWD5Q4SKFSZS1VG0FOM3BS1D13VE1E54S5X093JP0J4TFJAW6V8IPUN58XDBB9DSP3UJNUSU4O49FMUD0O9O8DZSTNQ9GCMLII7C6LRQ4X000XIMFK8QMXRYWM6GZZNANU56SSB534B8K50STUS0FCFBT8NS47OFSEIHYUECZCKTDUCZGVG39A9JK0YLPGEVA67M1NXM68WNZLFUIVZJMCIEVWZCS9UBCEX18U1YJQ1KCEYX1SF0YGFIBUNJZMK6PRRASU7Q8411SB309G97H5I6ZNG0EQ4BR67APUZ2HC31940Z6T91HIXIY5BFCQ6UF * (-36#Z3CKZAJLBSSQLBRJHXUSFNET8PI3F8M97SGHDE7SBBZLJXN1GPE3OTXJY8QOZ80AYWHO750LNECD8CPXPVHE5P82K257U564G82BAQ09I82KDYJNBFAADJDD3C1RG9UBLYAO3PLVDFFZLXXD03HEUP4RKKTN8BTDXYZK18GWNXLCH5RBFTLPRTJ4NGSXSP7E8NI6HZKK9GIUPSC5U5ZHNOICK0Z6N9THZRWDMSP4XUMMP6BAI5C8WLHX9XP7XIVVUL1WV6IEXPTATSGPJ2IQRLKO7MZLQMK667MCE5LG0QOI17E7QW8U5L6VB7G4S6EP0SBMI99XGLUUQ85B494ZBDX06BOI85VOKE5IZJ8F0EL03M0K0KN332T58DXF8JWE67A1O00NIAE1CXDO5AX0WP6QLEQPBEOCUHNSMYEMWG35N6AUU2DY066MFEOQG02R3NI7BD5TYHBL3HE1R53D6QGJU6212Z3WJOLJJHD). +-36#1QKA01P17TUM5SD0UG8G6KUK2EUVIYAU95NOS9C6G80EZBBURPJGGKW7FA6V2NNOAE20PMED5SR3P9R9FXDK8FFYL7EJS8V7XR81OBDHR1OVCDH8YXEGHT9PE6DZXBZROKDNZMAKR0GH5BLJ8U2571VBBHZ7SJLXZVJL5VBK42LKJX5RAGCZP61RA3G4Z2SG28G03DZXYMTIOVOE4NU7OGCHFIGIDQW40PZI = -36#2Q8CGYT87DKO1VY57GUQH27GCRPHQNXGYNFDHBVKZ32PHTR83H6CRLWF14K91KCVRHXOR1B4I4CNMERETQCP9RER3IDBDKH8QMVSFR8X2QXN2EHTRIE02USYVRM7WL7LZKRGNLFI00IL4WIE2763REZ7XJFC8YCZ92GCSM9P06R87WD2T4SJFX5R3ZKPHTZXLQRWSRLLL3U6YAH8PCMGQ55CMV1T6V8L0LI1U3COHEJAOCUBPESU7MRNJH4VQOPWOKRUO2HSYN8AT11XV8FSSUYZO8UC8J1DUKELUJ66VEC9TFTSR3O8V8GC9XHHZHWD3ES0C0ALW4VD76HC2F3LVQLFOPCFZSTUPYQGPE7O3A3B0B6P3RQDBDHUVULZN2TW8LZCKPFW7RDXIVPHS6P7LSZB61WFZ4MZNVOFDF72IHB9Z9VWYGUABXUSZ1S82ZZ0NHQHB7MWZ843AXBSS8EJHI08YQDHP14P1HM2XG7ZULJMJCU26INTMNKBHAY5VSOCTXBEP8E2QFL894Y1KT65FLI89RW43XI9ZV4QXWLMVKKC28QHAP7D3E2LOJTDHTB79LALKXOCYE75ROHMV58IJ4AHSYCFKUCZL2UIURWJC8WZ1VIBSHVDW761W3LF3UZYKZKE3VJK3BCAZTNDEB18Q6A0UF432VM5EHCDGRZ6HDWZKMH12UWS6DS7WO3XFQGDX882M966TR0VK7GIJCPUR8MUN251FQIIGLPOA97IZ768VGFZXQNH1ENE4QE1ZNWXGT96OXWV9GPG4Z8AHSZE4P5UUSSLGN10 div 36#1KIVINTLMLGXUZ5C4L28PQ57JU61X5I03YDWV4VCNK3ZZQY3CQ6V079EWGKD1TI8QPIZDGY593LSGT37YFI8UJQUWS9H24LM9IWB945Q375M9UG82DCHD7440QUGITKWK2XP78AJXRQMHB1Z35QJGWTU1U6NI9ULNIRWAY74HN1KZ8F6BNUCGQPCZ8TTCBYEEWYZAAK626VGXBQFYUFWX1I7ZL4J5XXM3W8LANY4WVOF4JJJOKS97AD8ABVHBZOBNPTLPN9GKVUIF0GPV2MGPHA7JLPLQOV57KNO7JGRBEXVPRMIEIBSO1Z8O1FQAFI77D5DLD1LB3Q4UZZX5ANRQ1BB0NG3FELLQ2CUM9F6G3UYNJDVGEYKIYL93PO3X2VCK33M3FNDZ8RFNF2CTINW8C10TJ6ARSEH88XK3UEMT58O9VPD5UDALLSHMBYJ7E9K9OI4JNTQ5OOJ9INKDLZDXCC7NJOOHUOMZNJU3IZAX9HCMWEM10XTDFAPZ2NMJK4FAE4LRG54PIQM7XSST8D06BXCK9JCCSCOBSCA85UH88T1K68ZSMJEJZOD3GBTY. +36#12GCR54ALKGWP2ZRMFAV73CU02KYY1UAAV29E55GWHODOZ9RI3YILQYIUFZ3APLRPZH = -36#CFBK33BCTVQ4I9X5UAV1CTE0IALE9Y8YY4JADAUPTGCFPK5TBUHLCO4L53ZP23GEZ4NSRZTO3V1AQ5L2UJ9NUFXCX60Y5F7ZOZ6TKHS516RRB48S6Y6GUZALIIE9LC7MTWIFKPM4V6LGQ3AP0OVKRZE81KWNE2PG009HZPVP6AIF4994DFQET8R079H09HVXF2KULHMX8MO5B1JI3EMMECAXUENL5PE44PSJDYVB7MJB2U51YDIADBRJQ0K4HDV4JR9MLL0S5IMOYDV949E1L0BXR0L8AXYX9YLIH6HFI884RYDC7W7SHMOUE5NV8EITZ1MBGZE7ZGK80KKQBY92QQ39AREKYJY16W3X4OG66YQE89KK0W5319W3CLNQX3YXAY8JPV82HNS42 div -36#BMRRU26BUB8TSY9GKWVN1Y5LR0MWKMCR8D51UW23FDS1YCESF3EKU4TSCQIT3A3M5L3NAE0FLMAFLVNC2MGHSFYREJU7P76UAPLALDNVIAULVE3YG6UZGYZKE48RW42W8AESZ5LWLW67J7QIAAMPTKGD6GA2L5BDEZONYNDGQZYNWGV6J90P3TS4QLIOECWVVCC2Y21NZOV7099ZXA86L3ARMSZDV6KJB8Z4OPWIV13NQ5MR195S3P9HQSKEZF10I5QRLI5I5IVYTSXMRYPMKQQ0WUJSU5DWCE5JV83UXPLY8Y9MT8ALPAP6LR8Q0AUGXJGDJ34CKEY. +-36#7BW08BXHFIFOYJSRD9WXKKQ5IP25LXDVUO0JXAFL7BRUQZWII6IJFAH3U8O6C0G7ISUQXFNCKIM6RR2TFCVDLTKMMXHQV4VRGRANUPHHWOVZJQS1ZNNJMAWUSO6BY7AFGI6D39XXKUJKBVJXRR4OCIFM7L2HD8LNPERH7FSMIGFM3DZNL9L9R8U9SZKFQCD6JUHOZBRHO7SP22V9N6TT4FW0WYBYOEVB86BZG5K6VBSYORCXYJE6J04C82XIEX4SEEWPR06TIU79APDJ41T7TE7WC5M3JPQ66CML8FZCD4IBKI0P0BLSQEHCO15GT6GA4S1QB2GMH28XPC9XD6BAYLH167F4PJALIF56H4IG69SR4DS60UHWSVI4G91JWO2G0UJHKZR2LHDWSRN5OJYCVY66QV12TWN0M78OAON2FO810VYH8MHNN0CMHEUUCGCOUG57160NWO682ZEPGNBUHM7JGP6XIGADF120U408Z2IL7V0VP4DCA2YUA9TD6N2814N5YV7HVZF51QCUZB47HQFG2H1UQ2SP5RGJJM9TY8FLVVUW6WDGGV83I4ICUZ67ML8TWAW2SKHV2CZWO66JEWQNSG8ETPNP45BCTQXINED69F5NVPHWL1ZZQZ2ROYNECKQ950KGKDFZYJ0S5EYF5D4ZMKR2JJ4FWX1A8U7W36NL7F497WH89FJ0XUEXD9M6561VGOWS3X9YSPE998K36T4T4LWPMY0Y525OUKBH6J2F8FJLH51ROUWZ310CEMV02GVLF9IMCW4V0KA69NNABRMXPUMWP3PVYRGX5CXWBGLC2LJP1Q9Y0C413M3Y7G3M5L86AUC3FB40VDT5JYIO3FJ7JH01U1DDAAPLD758FMQ2XWXHBNVSI3P2YEF28885F1AD7O6IFSUUVPVU76TJ74B3FO5FK6WCG2QSQR27EJGA1UJJ89637O6KHP2F38BN8J8AF5Q2X3PM76M2E5ZACOLFKC1JYYBM8OVPNCAM = -36#24NIV25XZ4EZIAZD2UP1YLZI0BD3VQJEW3JETRV0TS6VVRN3PJA9S5YEZLGUTHC6UI1AGXPDU7CLA36M05YOR9P5F1IWWMS399HRGOEZ4NLVAJYTS3FN0U8UQ5C2L4SK8D6G9X6ZTMJVJPGQHQG0HR1V4M81405RG9POZBEUYHTZVZVZK9D33M1PVFWL6QETVNU2U9ZXOH8U00B0MROIV690IVE2YCNN4FA5NQHD0MEW3U72RTDJ4NZ2JVXO1CUCJ6XX0ZNHP6O825INEKB31NDOCQ5MCXF0MHV3M * 36#3FXN46AHK3O777LIQG9D7IZNFMX1HCF20PABR7Z2LF80CZNSRRPQAAXQGK7S7ZM69MYHKUN5E3PT2I8ORE2FY5Q4W0JNWF4F47KQVT99ZKGXY37S93B6TSZJG2E5ISO74GPKJKVGKK0MVBR28X2TFYHYRIPNLNLY5SUNJAZGP2FSY5T8VWP7SOBEUNWRA2VFZB546LOLQRAAUVL5ZF2VY6NWYEEMGZC714JS2VLR1FVZF8JAZEIT2ODVI83QHNXIHTNP0NGQRF0GVKXB97HTMVLUWVYD8GWLRICPVBQ4J4VM7P7N1F3NSUW4O16V2DK4X2UW1Z0E6Q3M3LWBB0DOQM8RO924J6QUPEAI5EG26KBSBKR86YM5NMCNJGZ7UHYOJJSW21B6MEZASRD14A0IRDEJ7KZZLG1N5BF3PXC0R9RHCV36FX9UXZQAR7Z1YYS9PUQVV5L6WX9NT80HENDMMTAW4W4MORXXZWWCF9XH97RWJKDMNOIH1Q1GV5W7G49AXEPIY7G915HX6GM65PLKLBWWS4ABHO2PQVNHB38H5W0HTI4N9NS6B9IVFOIBM367DTIT5V15BWSMUYWZ71SAP1YFGNVNZ4G1YRSXYV8NL37LO4UWGPI5UV85K8FINX1CDHFRTQ32UA3LWW6F7I5P28WQ53UDSBLK0AR076QJB9G9KG88X726MXTR4X1Q591OU2HJ. +-36#1DNH3NHMNVMJVEKLKSNAYBKNFPB151KCNHMI3GDJ0VSYRW83WZ = -36#2VIHWB34N2EA6NQIHDWI6VG1B4TU3LC7WORN8ZURKW7O8N7NB9R4MCCTMZN7LSS2K2FO91BL4S8NTN4S7KNTMRACGD2VLU8UQFF div 36#231VMHDTO6BK7S8LN67MXNAF3GT8E8LB45O7WSZRYGNQRFP4TL. +-36#P2H83J06CX2QXUEUNT1AE7NU7BII6CJZXSRD8E5HVDULUAFCS8N2S3PMHXT6LZG2JX3IISY4DYZ6HB4O7E6X95FQKNJFCG2YS9X32209I26JQVBZ93L6KK7LNKIKQONMF4G67TVN5BNKX6LT0DT6UJ3CX4DE4KF0DMB1E7BY8SKKZPRBZGPR0UQAAX41PCES7XJB2AZ7VJJSC04UA8JR93L5RX8AGOQ9O90XF47F9VK62QS6K3CKBMYMGDRFNPSJICZ4RB506ZHUUATLOPI1WYXP7G8BZRTSX32CR5J3VBJSJ2ANSTXKZC3YUT5724R7YHF9ZG3AHQNGZR2OJI2XV99IXXYXYNQB6DLQALEFZQ6BDGAJ78A3T2IC18DODNK8X55IUPSY6NWP6X0ME6NLL38JV7X2SLYLQWI8PCZ310714PY = -36#19W8S5YIR7LYP1HS6DG8EHULZ38061UQO779VGHOI384EV7SBQKAZNN8RHXUNMTH6FWJROEPAYMUZY3ZQSWLGV0CAMPAYCNLNSY6FPQILLDTO4O639LISE2X297RM8FG0EVBZ7OZZ5O7IDVPBQ3HLMZE54FRH6ZYIHVZMPF8BXQBNLQ7KBKCXSQYYOI1THZLJ95H71MS962H4QKIMRNGH2HKYMNTTWO3BV47NE9YQLYTXGNPTIVR4C7BLLGBAFXHRFSG84JXFFN7GYLGRLFIBHZ6YLYACSP39CA4MB7PBI8PQ5LX62TNCUGUDKXQEF36PZTX5Z4R96778Y57EUEUNG09FYCPPZPA3N2EAC1139IDHDI2DKUVXMTSO7G7A0ANY395A6S80F68PMH3VMPHQKWZMFTRQNSS00TO5UAPATSA5SP6KLEBWZ4OT3XUGECEE79PT4YBTHUGMCZ4KVEGE6IS9GV6B6NF9V51H12JOKBSOLL1206WTEU6GK0O3VHYJK7YMG6JIQQCDA9A7ETRHLG48L8J6SYQRTF0G764HXL3SLS0SBIJ1BEUOD12DH6YRYC9V0HSB4LPCPE4MPPYF6YGYQP7W478G8UWGKBIPL0WXRE4SR2WPSJHUFEFX4RL0MMA5OPQPCXLRUDGEXDK7YXZJK9AQ8SP4LXJ245DYIMT8RJKPEPQEBQYIJGBV8VP0I1LH5DX2BC41I7X2 div 36#1TWP3LUYWJLLACACESWVIQ6HAE2VG4TUW1S0QP7SCESNX5TMWAQQTI735P8BVDFRWTYQFYM1YPT6REXMDE3LE6426CFF1Z88BY0MWTB4Z4PCXM2FIVUZXWC58ANR9PPVS62ZWW6N81O5L3BNOAGD2XBS49LW9O19FVHJC2NUCQ4U771WOHXR64CGVFHFOFXU6X0XZXQ1XM4NOGVWBY0NVT1D4R7X7382BOVZVPORV0GDLH1BZVQJG7BV7HSXPE4WJDW83IA45LXQ07CL7XKYQQYIIDRAY12O6H. +36#F5EZ6XUTKQTN3GGNUYQKGJD21SK8PCOYSKCE8VWSN9EF83U37UN99RZ001DQP7M1TCXWJ3A2SW2R3ECTBWZB0CMUF4VM3HBVJE = 36#947GD35SJDQEHP8ZQKOO0UAACYLFIQ12C3HSWLYI1R9KYUAGQ * 36#1NTP5PUUJX26E018G2UZ3XOCPEIE8JEPE3VLUIJO31LZ7CWGRD. +36#3OKAABHYUWEMP6NKPYSQ26PEI6XNTB9VATQZQM9C9ERXL8M4I0Q6FGSSNPS1ZE6QUD2LVDZN74TAS07FD35D8H8U47JMODVOE7ZEGPTTFYRP2VPE8PVCW7VY7JQDPJG8ZG261HWSKMV8TKUU19COATA77X9WM2C0IX35ZEODE7C9D1H2YV4P6J47U9LGUOUJMSH6FSHI8OUE5MA4UI0W23OINPOLK4P4EI8Y364T5SJ3ZE450P4D001N7MQ01T0CZBFRVZYDYA2AK1M5GHLY53FV6J6XKZPQS95TP7SLP6M1FJP78NRK5OMHQZ04BDUY70Q60KBW58PWBZN924LS2N57YGHQ49ZKP1FQXXDXUYKR4EDSKV1MLQ2NYM6Z2DYHD8LYQK4AS3BR770EUEPT3RQRJ92GFCUI0QHMJDODUND4CWHAUIKF1MIQXEU705VGNPJF6TF5KMMZD2U5QJV5H8LUAEXZBMTPXE0GU7YO2VOX5F9HPJPA3D7ZL0I4LQ4L = -36#1AX5WT6NNHPX1D33IQ5DF1C8O6AQRHH8PEYLPBN0TG9O4NYAB0HG6D1PU4996G34B43Y9JY66D58RSCOCNU8ENCTSEZUD5ZPZ9JG1AKHQ6Y6YCYGKKK46KL8VI3O14U00XVZQMF094SX5XFJCM32URWCZZ2B7HTRG5M02GCLJ5P1DX5Q18WO47PC8A8EKL7YK96WLKD58M6OFHGM2KDAYLKETDKA4UJ8YJ3KELL5F830XLXGVWMQ8RW033TTFZBA2HAZRDFEXP87K1RYRFXSLYVDG9T2J6KESSPP2OGVR6LTUSC2SRVYY055F066V2UMXZQ14G0V2VFSBFHA5L1U61AYPBV74MS27M10YFF8CWA5R6HFQQR2LVRFQXRFOAYESY85ARXH6ZJCQ0VOK4A2AYCBYEDNTPOT0NK1LUQTLWZ03GRW0YRA59S3L58JU66TBNP09LWPB44IFIA3OD1JE7YD5YNEP52MX8VB3AAH7MTZ1J9NZ11ZJZLHQARXUSWOA0UVQUM5SZUXUW3C9JAMOT81IGYHIK9GPS6JY6UNF0IIS7ZCCRV5H3TTESUODE2CPWGVEWG36FUN8O34C3587E72PBJTXRCQOQ8WFOADUHXUCD00TVKBXAMRWMKSOD2TTUDA8O3M135JYMT8L7ILNSQZX5BSGV9NWQ7XLYEYKQMZX1YL3US1L div -36#CQQ0W67NYCY9XECM4OPQ3M22B3SLSC6YIE70EC0V4KH0GUNLV0EPTMSDIZTOXXUAY2L5X7VYFG19XNHTRHMCZ9GTAOFU3HNVL6RHP8NQLU8XVGA6JOZDHTFWK0HK76IAG3ZR2GS7J5QYWPPBW2UHMI6FGV8QY3IECQ2TH05G6NX9NF29XQZ51. +36#1T982PTGSEWSFTKRTVAYGFOV1D5MZVLM1GR63Z44L528W26484MDZVZVD3UM8KDUVLJYN32EIBASF8BJQCSAYW7R9L6L4K2CQ1Q9CB8SNSNI1GE7JS1TS6VBL66U1IIA402VH3E52PGR21WA13LLDOELYW1NOVRHYCSNWLOU2QOQR8P6QMMM7Y2BYZ13O834ARSU87JMLB5TW7MQ4B3N9ZZ5KN9RIOJCT2VE73SBUW577D2OW7IW7I9Y0ZAQ20T3ODXI3QUABHMUNOZWSI36OFU6IAACMHFMMHA8RICSZSSOXLF78RWFC4S5H3O99MEGZSVC2I70SNZZBNJ5CJEBJLHG98X3AAY40AK7HRY2KKENIK73Y7L7VDS43F8511SJMMKE2PSXZKUDWCQTZN80QCFVSXH72T46CG3LCB0K6EL7HU9FBI9K = -36#E47DX7YY3HPA28P2FGKETFWE1MUH8XRUYK0QHK79S5U5HI9IMF0WSX9D80WL46KMLK8XOMF74DREVVP1D09QXADFTDB1WHT1SUC85F16KWUD537KZDX84O14D4UAOWZWTL5STBWN70AKWU06E3UIDY8OP1MLU91X4QA7G2A01X1VLGH0B1X7J5K4K1O9BPJ0TRAM4D2G53AM0IF6M319YQF1FD547U8ILAG16U63EVGNYT8LTMLJB2DZ6G3CW5URY0GIT70HF5YFH945OFIUF62RKFR3F8ZMLM9K1C88L98AXGDAPPJLW * (-36#4MEVKGMIQPKBHHZWXM072CCYOCEHT1KHBPK1J8PDK97X5JKQ6YT4LUJ89KDAUQVJCPU5TXBGTQJQAW87AR9U5JE7RCONHD04KLIVQG1K8YDZG5NX59Q9Q2MBQ2GY5AM). +36#6BH21ORCO79779D4A4VP29VU0CQ962MU9LNL1EHGMWZUIELXMUA9I1OMAUDL55D1QLKM4XCJGSJGPB3FNTOOLD64IBYM6XFIXRADA70ZIWJJNND03SS5F5HMZ7KW398MYEK3IDU6GTFX8EXPYE22F1WDK06VGZMIDGD4DXVYGAPBO94J9TODNY6MWJ9II8Y2048IL07KH1ANXXUKA07JUFEQK4N36WGEFQICNOBM56KDPX9WRE9ICWQTRLSJ3AEPVB9CUCIP28HHO6FG9G6JIFFUIM5UCQ5M9JBW1CQ8VG2G5FDGJ06UFE1K2RD6Z0O53FP9JQ21AAQBOQSQU79779DC2IRAVHJ14L4IX5FSVXCEQBEKZG22Y4OEFH0JGSAK56TJLTCESL7K8Q17T4GAJLP2RALBCN370PT93J25NIFSNT2AXTDFQ3TC42JLK5VRQH74 = -36#12XDBR2O8YX7280FLBFYKC1G6MW66O808GGTSIC7FGUGE2AYQXIV5XMS9D7O7GL0YMQSGAPIUBE8MRZ3VJ0YJ78Z5ZUAAJVR63YV1FL85FZT09C5RA4A3EFGZXNDJE58XQZTK3G4791VKVPB6E1WLIJW0F04DSERF98HWIXZ7DKTOCOHZ1T6SB49G76WFO4QH9YUO3D34DUTD51YSWGQ7DTYG74MB3BF2F5F721MF4SBB9XW22ATVB4P0EZUXJURB1EQM1R6S55T0N5QR8IFTDQRRZG24RFQRPVGAYQ8OZ6WJ14XAH63DS7Y8D74DVVVF3MDEAOUM5CITXA46AUMYUP9ZRIPESFTDMB6QHATJF98TEJYS6YCEXKKNV24CPV8VINNMIPO5974RV4CCNII52FXF05J7TSOD849X2N27FRY9Z3VUIKRF5JTYGV4PE9CHHGSQINXBWB8EINQY0IRGYLV0YM6V73TCT30RC3G34IGEQGYMODF42RKPWI2LSWC7CEVW92U8EZ9L9NMC83CBYVVIY89Z4 div -36#65S3XZ7ZLTNH2BLKMVBO26N9EFEHX9R52IK8RHO0BUW3Y62IPWX02MOJ0CERNF385KA1GIZCLGCPF5CXBH7WY1V7VS. +36#J930XQ0Q0V9JU7OFMYM1TD41G6SKH0M6KKJGOVVFUZKOHXGJ2ROYMX629CHN4XTHGJL7AZNIMD0QWIW90T9UWPMDKWG0YRAK28GW5YPO24YFA4RJV73X8CAM3X3NXJM52PWR1HOZWMY = -36#2P1MY1JGVFTQJME0MJB7K1QYD40K8C20TD9VOYAYPYMHLSJB3Z * (-36#753U1N07FU0UKKKEQSMIA7E9EDKDXSSIA7OKZ7BWNS5A7KGU1SSK0G18IMU0954LWO2HRNXG6CDBURPQ7JZJR4O1L2). +36#2IQC280VILCV7OHD5RC2VTQ9ZH6LXK3NKEE69BS2RL1J5FOR9603YD802MTMF5UK5288QKUMDNRJU4A41GW2ICZIE2ZIF42ASSADJ8R4BVG8RI98PKTLTNH83OZU3F35TDXT7KGX1PSXS05G3GU9ZO = -36#1WW18JGTFBCT0XC83VODW4Z2EP3F6RLEOJGNMLI0NXW6ZSX3KJ1X2HIG17SA95LXXPLZJJ2HHR8QV0AWN6J6ZZ4AON51FF8HZH9F5E8IML02FDAV0O5VAY51GTUCLI2BREFNELXTQ73FORB97W6BYY71L5H6PK1T8ULJ29EESHZ1B7DNSBUNHVVB8EU9B352EDNR3UY3Q1FHWB0JYCK86P47SZ9EONU7FMYPGNEAHKLF9I5R3A4SRHNA3E34WTN9ZPVZ23BEQ2K61IYALZVG1LG5OT9LKBDC2SKYFRGB8BQAIU0JSFV8QVEKK1N0RUSI6W98KVTD3RMF1G1K23HPBUPK3XSG2RYMYMKMMOVJUN5CAJKXEJSK6NLGU2D8UKYQ84TS9G0EA229L5Y7MJOKFBC7B0890NHO7IQTTZ9RBMJ6CJ9ZTLWEEXLA2MOCFBWF841LWUDW79C1N55XIGZNWISX1COQ7OUB1GHRHK9YM29095LQOGS5M24J4AXRRRZD7P39W545RCXNY8N94QC8ZXLR8VW4OT4FPOZVKFAR7NDXOT7ZZ2I0W34IVLW4R1BYXG8OZODL36ELTD5C1SFGETGOYJTGNOIJOH5I704KGUBBAO7LIDF0A4K77VYXPD2JA4ZMHM4AW5NHNLG4J7AH173PRUHMVQXZV42J0F6YSY4BPC7LMWL8GYYCFNQ58IKOO div -36#RC0K6DNB1VZY9GROERJ9R8N7LE8KDHRQZQ8PQFMG3P0GIH36DN2Z8UF5ELHLD0Q0YX606GFAE7M1AP0U2QT29Q0GRVVGICFUJF2BC8F7E01RX7CWZ2632YEMAMFW6ZOO19Y6DZXTIGPP3I7SZ4QR2LSPOKGBGHR0OI2UT59S8BD3QDOSDP771ZDCYW45WZUR6UVBZRJ6MLFGFZ7EDYMBYH032NK2SDSIH3YEDX7I10PMPCC8HE8LDJ9KMDGEOUJZW6ZQT6N80PIQE945MQN7A9AC371X8EPF0INT151UW5NZBR28C1VEDNUMIEI4M9717LYK282HILPWUGASTC996DH1DD5TOVLHJMF3B8I0NNTOV1RPCQW081M5YGGUI7LZKFZI7IQJG1R0GNIV5IVPMSHVDL3PRL3IZBPZ09P1EDRGEAMNRJJ0FPLIKEHY6QDXLF6T095WTHOZK8LASSEQJYA6601JHMPXV14DKA0IC11IDOTE31US7UV5J4HWVA6VDHVIYSIDTEZQTJLF34KVTOIOJZQU334PU2UTXCMNQLY. +36#S6UOZCK1H3MNSM11CTW67DO50KGGL5F3K59WWK6LZHIMJAW9FVBL7CK9PLH491XE5T5IB35VLM87LDXXEA2F763DVSKNO4DH0EE0GOOKBFAVWQ4P9ORMAT3SD8ANM19J4209IW31J7OFO39JDFVO9N8R0B25MORU8ZV3U1B2M8C222SUVJSE52T2V2A8EFPM02GPOOXYJYCUH09CZUGQWCWVUMD1B4RY0WRSJ5CL6PI9MN3Q3NIG3LV1R2MQQKAAK240ZIXS96O2Y8ZA1IJ9ZZ042WLPLEFE9K1OT6K0VGTNNM29CE0QRXYV641YP2QZU234T640L39WPPAAL3JJ4TDUCY0VLKJBRARBB3PEJLP19LO5XKKK4G0YTA4F0YMWP6UX2PMSG7VY01974FY76WZFKGNWZ4COPO3HUYKWKZ8YS78KZ1XJ37ZLT26ZD0LXJ1F5KRAEKGKRZ4COBQJTO2IILJV9QWW2M5YL0W2YPN9CQJ15UACJWLW2BGN0RG2X8KMPAGTVW77UV0OTJCYSNJUARPZCPGKVMTH0XES9K23IVEPRXD3U3NRE0ZX1DURJM5W3YFVGA6Z2VGW93H5YBBR0ZCIJLSHL5H0S7GGB8 = 36#1PHAPLTJ35IH3Q5UIQKDAXE6M6TVYYVW4V3H0KDK2NVPJHF5BT2HZGZOBBSHXECBHNNLJ0FVU2QYLCRHRK52JNN7I8RK62UEDFCV379SMXKEGL8KIB9CHD7LJGI9NVF7TPXNBDSTI3IANLS4FBDSIW8VT9IQZK70FFZMV7DM66GW6UIZ7341NQ97GYA2YT9I9X8OP1ZF31VR4TVXNMOP0OBJ4672R87N6FLXDUA215GN8WFCHK9G3JMP1N6I4B0DAQ7ZTB87C7GM1HL17Y62STFSS06W53LQD9YJUC3GW6L7CB2LK9BEJRCT1JW9DQ523U1WBQPMYKFN082W81OH0LOWIAJ2F3F81U3VMFV8LVMR5TULW6ZN3PMJLVH2IEN9JR9PIM9MQWBQ6AI0EZ801EGBY66AJEJVLGN568OK2ZCUBM02UL7R31QPWCYAP6XIXXAEAX98Y5J5GGHFLZJ89343VHCAXS9AI7KNKCQ52CMD986FIFYX5YKE5W0VZ14ZLIFIEBMZHA3QYTN6FHN0OBHZ2BVKYZ2PSO5EWQG6Q1OI8ZTEO87NFIXRHNPW0DA55EOCTK46BIT8Z9L6UEE9RIYQ74W77ZMDM1MAETEO0SK3B7IISIZG0XTA7CTXS6R557CVNCDO4L8K1TGE5LKN7ASSSOK div 36#26IGBLPRAW1CIPAB1877FUDNPK4XF5FA8HN3I1MMGQOM2STA4P. +-36#244GPS9HHTLX6JB7PRC7X41K8GRC9RFNCSCASI0S2BHGHREN9CQ8KAMU3YWC1P53JX9LAWK0HOFVL6PV3LE79YZ8GGFA8FAJ1HUQCHF6445PFAASVADA5QTFUQ1UMZMIUONU5404FRON13P0UHBUUDIYE21UVPQDXADKR14MZKOJIJIO6LGN9U5AYKWBD9SQ6WFM6UOYWT1N8Z6O2LA2JRZGS8YT7MI2CRTB1RMP77HWOJ1UMABI97NF32EVWX3SHEZ1D8H19N20EJKFTJQXTM11BSQW2HS0IQGHONK430MXS3IBN0TQIQSVDB612BZYYHP5W5H4IFC9SA3EV6OAGVFBCMT = 36#3YAE1Z6RS7AX6CT5U7R87KE7Q3W7OVQEK9OAZ2P37AVKLQVCA40JQ6XBW23HXHH5KAEKK9X821KYVVY7LLY5BE8714WGLCFHNC12I03EMEZYDSKOYLOMW2WYCOEEYNTFJR4VBKIA1GTSUOKQIDJU0VH80FG917NNTJ8XQ20JCBBLXPJA1S6R81VOWXQ72WQRAF0RR4J552JXJLFCZQK88BLJIOJAT1ZMCCI3SLOEHOY9FRI2UVPPAUJSRTDFXDYWCM3S3BRJ1PPBPFJ74WKQ1DL6SNWS0Q1QBG44GNQVABC4NCHCKEXKJJLFJVUYR83YV6J3WFQFVNWRHHYVMFGBI8TNLEX4YKILYD6VY8Q5KGWHRYRDRO1F8NY2W9G7C2KHNAUPZPTE6J8FDFR0YUMJDHIWXZPVUSQTHXY8QJF90A870XMM8DQJIV0SE43GS5993AA18K11VNK0V7G80WLNGS42E9HUHRIGNC03K4X0FHR68OYKAMNCR8P7W9IC40OPM53FY8AQZISCODE7X65OY1QBL0VPFQ0P53NAHRDTTZEDH0TNC7J4O70VUYPUG69UYMDZHPCZTS8KPVW5X0BV83LV39RA2T98LEQ8JZEPHNH3INMZQHRRNKF04WME2XHKXQTKJXP15BRST8OBHDCC1ATT4WR9I1KBCLKX7GAWD6R0VKL7WTCCZ3JW9SWMOZAVRRD6P90DIOIS8WYONOMBTK9S3O9A3OZLRLN1U234BY2JJRLTCRTM53RZ7HWURDDY86UNXAU7BA7XQMEGCEI1KOPNBLGP93TV2KMKEB7E39R2EMWQIWD6HIGSXUSZHHOAPFT83CFV8WS8ZZR3YIY2Z41Q7PD01XYDFYIFWCCZVO8MVDGCBE11PQIJ670F98BD6NC05MHUOOJLIOFHRJDHW480HTCBENAF32HFRWMZQTZB42PMC4HEHKXWK9J5 div -36#1VAFXT0RAHU4JA5NANFOL2J98P7BR4QPLTV1SHO1JER9O7GG69T8EML4XX27XBEEXXTRIXZ05MWJHJHNJU37OU3JOMKFEVP3J55338HIXJBOU3S17MNCZXLI2UQ0LL10J40VR30GJEU6ROD6ZFA88R08ANJW7Y2ZEJT0TBUIG1RZTSWOFJEXF0BOIZKTSBR6M83D8NDISO05GB75EEJ6R8U734JAZFYQJLDCQLUC8EY2VLJO9S6CZ7KUN3NSQH49K2I6KEK1ZOVZ8OOLSP94MOJ86V2O3DMR0JJ3HIJGGLLO61RNF59WSX6XG50FMH09UJJBJI6I4N0QLYLAUGEHHJXH2JQCYD4NI1DBSRIUUNUIUNJ4R82A5PHLX4UIVR8SCCTQJW2P74YSSR5WDKQNP6175K3TQ9U8N94ZX2FQOA19W16DOFDCCKM66RITTU4Q00U2ZW49MZS38MSL70PILYXKXKGDFA7NXVM7GOZO5HGQVHTO047K032LUCPO4QB4YHSSOG0MKERA4QRFULRT2CONOJQ2W7HSZ397UI38UTE4SLL6ZUJABY2SXCI2ZCVWC3571070020K7SGABLAU20YAHBMJ3LWMHP. +-36#FMKHK511BXPVTBT69GDE2Q4VH5CZ7DU2KDRK5LO2ERJ72EKMYQS59D4ACRMUQDVKU7NCWBSGFSHXWNT93AIOE1UB7VQKPDVTT9WMPHH25KB806TG245V25GT9PJTZ7B5CICHZVU6G0CEH3KLL73R32SVWXGHFVA6H5VWTEZJFH5IHZ35M2JTBPBDAUUHQ1GD2CEG17O2KJL31UQ9D8NYW79BAHN4N37QE9PQDKCSTECVBZQZ1LG9MMR13864XD9QEM0LT214XGV7C5QR4Z4P1H6ZRLFEW381N03TEJGH4JHCIMR03LW9ITMNYTS0CDWCZ27UN3CAU = -36#AJT3P714KLDEZ1LKGH5TK0KMK620O1HKF0QH5H5CCV0KZQSPFLQVZ265E1X35W5MXQU8G3FBEF1QI7HBKMC4TONFABVIN59HUNA7RS2611W2EZVZJZLJPQQ0LEKZMU248HG3X0ATJXIGB9UDV76SKJU0EQUO2639V7CNSKFOXGH97KF2ETUUYWVQS39NHIE1UXNU44AQKSMD4NE6IKZKRXLG79MVVCFZPLRY668OFF2LMAOC10R1J08GRDVILJZ6LY1OZAWLNJAF1IH8AGTJ09BB * 36#1HBMHGATICEXMF0RK8GNQ3KO28KTRXKIEBAR32JN4QBR55EHL6. +36#11G56FRQ9RGQXYC4AKZKOE93TCT440MFPN22T5GGK6QW0Y3THDPN9SSAYML3GQQV27DMDG7EY35OPVBA40XOMMR63YKDGQ9MTLC3KJUAXMVIOCMYT5SK4FS6T7B7NFNAW0T2LGEEUZWGPKNVU3ORYTIHAA6G2JTR9G3UUHLPC3EPNV8MVZT22MWLYJDLHHPUAWMSCSH1B6B3053MS6G262E4B9BX0170C877WC50IC18GNUTHC3R91513OB4E4CM96FBBLUG6IH79B2TB2GTNI4QXO6MLHL9Z6MWMBJTFRUJAYH8VFLFHAQSR5HF8NH9N3D6D317C55L1Y0OQ6NC9ZFQ79U7CEA9HBT86GZC06E0Z7DYPRNE3BOFC01C2Q9TKC8P4V0MGJU1VTYKGQHST313N9U04URTLM393FT1886MG2JQEI90OSGIORQEI18PSPPNW578059M8IIVDHC6W86UUUGTPPTYR0FS0FSQ1T35EW598SGFOZQ976KA0LOLTCA59MMQOLD5O8JQ9BM1RLRFB30AXLSU67MX8PNRSQ77CHEK6ND27WXFBEFASNS8PK9BEF3TXGJ7WXIX2HBZA7ALKMXRPW5JZ65LUVWNHM13NQZ0KF1C75RXJRMBTR8AOTOPJ52CY58KK3WH87EXP1GAJLCF3DB7G448W8XJDF3V9F89IGWSL2ILO6A4XRE9PCIQ9SBSXYRTGD2F5D3JWWUNMKK19SX4K1UN2XPMZKLEZ1MS5QQ3NSNLN3UGP1ANMD56Y617EPSF7R48KHOJYRG17ZDW1ST79RMBJY5VDUNZ2XK8Z2Q6W34F28L6ETRWR40XH2AS2GFRU5HT9G07SXHX8W3GELBT0KLOGW8OL5PVTUQ78FD740YW93VUTMOIG27VXT1VWE3PVP8Y4N6MKK2TP4F0W74E3JIKAMZN0HIA49V09MRJAEQSN2OYWHEJ6QBOD96ZB6O7100KJQKZY327E4HLHS34WIM1LVAOCP74GIN6UJ4ATRW90ABGT0JNRYMF0HGYBQ86U7U0P63768OSEOHZ0P27DPB7PIRZ6HO5Y5N0NEOY881JRK04DW4YJ2S5I0DG6FZYYZXFSPAV643NSRU1P0PC0V081360RWWBZ3IXHZKNM80TQ0BXE4K5VGP7IVWFO65HXX9LZH7DPTG2C6DODXEYK5Z8AM45T36IME4MKEPUHVYN58SLX83GKOSGK0DK5RU7A62GQ66XGXHHQ41WG0IEJZ6TRCDBP6LUQOMGSG3D086X90ZQP0UOU3H8FDLQF15IXJR1XAAMUJDS2NPQ87UQRVL0XC5AND36MGDRPPDZ9S8N86IFJNQ8VQGHQ5W32CQM6YU2OMNI3WKNE76RW4U3X02XRKK48ABOK56MV4P5MKENQ17UF5CEKT1WZNII60IWBLYBMYTR3SJ35EWZYEJM4IH5U3F4ZQPPH3XQ8DY8 = 36#36PPBWZZFDFLFREF0VE5TLDCCUGI2MJ6ADADTK9FZ3S97A4408RUD6Y607DOSK56G9SJK6OC10IHYV82D4BIVH2YELTC1U1DUR3BXQCZ9S013MLRIZXA6746CG0QVJUL19CL36DRP1LH0PPAL9UGP8ZVZPA5Y0RT0NMUGLO3XIE12LKTFDK4CVQD3EPG6SHTRAL1F2FPI9TK1ULQWB7H3UQ4Z0612IDPHIQ6NOJN3T1Z48L5E45ZZFZOCTLMU16VBHAAZJE211KTV152X69CXYUXDTWEBF7VB2GGENTBC6QMTZIKA3RCCZ85IM2GG918N1RYSJQ2K4FIN6OVGYJ6YV62YEPQQO5OFB5ONE4BM7DW5ZUSMYRA2V5PMPN03SYBUJ9O1VSCRBC9X4QB3H6DF7CNCCS399VHWQULWPKP86PYKVRUWHMX5GYUK5S697WYRVU6FHLS57UZWD1CP91WAYY93HB46YC0PJ58AJIS31RLRXY5BEHDCZ2ILC7ED5X16OW4LIZDGR0IB6AJ4SAFO4QC9VI8LKGD0G4YXBLIPQI1E1IQE84Z0Z75X7MIGYX13I5Z4CKLV2VQ8FW4Q0U6ANEK7DCS255BHX2PMLK6GO9B2V8DAUZ0PSTF00OYHHECZMPADABL2CGK8PENUK049WZJMLJW768HPLCK0WKBHGURLKYKJ8TNAGVBO1D8Y3PN4GD54C8VFX8245B2CDOWP6BEJCFIDEW3RRAELVNM99P6L4DZPR65O2R70MYLW5CVCAXLYPIM5MD84FACUGCVLFZ48FABH09QJBBRR1LZRBTHKW5W2XF4JV1I64SJ47Q1SLUS0EL20XT8GDZ364HFKOBV9SUKUOPQAI79GWVKIVWXNLZQU4BACWOI9QNB13J02A6BNAYMRLZFZ7S6RQU70B6EW2VP0PNLGJVZIIAZQKU2R8YXQR2N19D25GKC08VMBUMNT0PSPUZD0TY99RZM8XULFDJUA086WBX5DMK2K5N8LLWH3YLIFJKRFKWD3VHDPWNVULOHDRVCZ7H74MRFB8TADMIN9CNXI74UTZ4M3P0F7I6SKYN53M4QNIO04K4CGZDYZYWPR6ZZEPC1NYYEQMAIWUHMM456YUKCNT5HDZZNHN1FS4UOM97QOA3DR6WZ81D3UCPLS3J1MQSXSGD3EOYOL7OEKGHFM1VCNZPNABXKOMKB7F65S95WZZ3NFJLA8WL8G35AZVL5GYEVJGWULMT91CTY307HU2SWA1EIPUNEGSP9BAZ8YQK2U4ZCYH1M9BX821SL3O7XLZVA4V8WS4YJ0DNZ86XY1THAHGVX2DIXYKUL3NGMBPTG9RJT59L5NMZDS64PKZ0LST7GP4J3BA59DRR5WOBU3NJQFFF7V2V63VNKHWTL8B02K0HHV5OZS0I2AYHK11EA4LR64W38CQQC4QR4MNPNSV3MAOUQKJH8QVJ9JR0EADIT8H6658NMMAB4SB5QTQPZ6RZILOPBEZL0V5FE3HHOR5HGG div 36#329Z2611680VLIJI8P6S8U2Q2AMWUW078YPC0FTIFSXL384VDT. +36#AJPXCQMJ2T62ZDSB6KB2FWAZX9REMUAYG13BJZO41KACX3KV7J6T9IH1U8IWN5T69A3HV8B0DUKH5BUO00157ZTL6WBC2RKX8EGGO7Y9MIZF6IZOCORHHY0T6FJN9066YTNC787LZHX04EJEUTA3M3RWF48A0TZHM9Z7ZFQD95TDRKCQS0I09WO65S2TAA9EG8YTYPXL7769I879XDOE1KA9HTIJXLIZXY0G2L8E99GNG0VWRUV9PCHAUQY1FWM05DJYO61Y6ZD9GYKW6VC = 36#1IHQJEBCMXNC2DT0SM7TNKNUJOPM0KRIQQSLIDN03X7ZZEQ9NG * 36#6YUVW4WPHH1359M6YSZHP8Z6ARIQ931D4SQ811QE694FACFSBIBOR2K5GPR6RE1Q8A5C2SMUHET4V06X5JAEX9G9VG3H242UAPA3NJSPZQW8H00R35LTP89O5LIZ5CTQVUM5DA6FN7P4UU83AOZ5XT1CCNVBRHW069GAG7TUT771CT64XH93V75F2XSNOGRZ4DAJZXF0IZ0CK9ULZW55ISMPVFAD4MYLCU. +36#EVGONASFECXUV86N8356PK026PXNFAP3P8R5DH14JOBRQCUHS = -36#199FBJSOD472TFP7KNGTBK3VNJ55GWM67V2VSQ46G3943FOVACLMGL4TIYD6H260IE5C0KY1CC2H4D1OIFH8RO942NUWSWT5HDS div -36#31JR3OGLOTGYFPNZ4X9GPRE3AEXXJC8UNBQB6B575VX4GFJK7A. +36#13TG9ETUMY9XMSYULPWWNPHFBF5HCGLKL2MHDCTK573X0M52UX3W0R1F8FKYBY0N80WJ9DUWMCGCWOA34WU07H8JD5KXQBS3WJR2ODSLNLYLXV72NXSIO51FJ5QFFRZGA = -36#JIFHNFB1GRIHY30KSYUS4SMM2ILZ15BWTY6IK1VWSYUNOFO3DJFZQEX7OGTINB4NWFTDW6CHT1W1ITY * (-36#21GR1OMYOJKDE8HVVC3C8WJGPQC4E3G9KVJD0EZ8OBSW3R046V). +36#13GJVH3L5GIFPNDR60FF9MKUM6JF7SY92NJUGZ0V1ZZXI3YVGPKWHJ0ZMF6MPJBSAQ6HGFGHARMRBITK58XCK9WP6XO9 = -36#GDUG5ZTI3C4RCD9QTUAFVUB2MU0KL8BHH4L8WSMOWLMLE9XN4VZCVMOHZCUPJQGHVAIYOO36EAOT1DISIFYOBR4PHEHFULMVUC7MT1DG66TWKBJ07IZXXAV3AKM8FKD966VH7FX779Z0 div -36#EY4N3HZ1FJWSGZYDA2MMHRZVRXZPMFQSDGY4BEF56FZKNB3MK. +-36#2IVNFJ52GER6SPFNY13LJBWLEJWTSNXL0M7BTX8ZE5GR7W1V5GSTAB7F7V2Y6UP1IPKJ9HK9MWN34UTD5T7LNP4DANR9X075DZHDCEOWP1NL6SUTCCMQHDZYCT3VSPSE7L562CGGG0CE9ERA8ZF85PM9J8GBR3GJ8HVESXPDYI2DPWNLN1EM9SP41M4U2RHA0W33YPS4F4OL76FCIKB7IS6YQSY3L7CYURKSQGDNT2W79DINM7F9TFKZVS8U8UJX2OYZWK3V31VX7HZKMF44AEIJV9PTWQCUE9Z9SJFJWN6IO3ZQOFO0I47RTXKLQ0SKH43O4S1NKZ2OCZS7P3R34YUIC8T7MYMCL2FHY2B3P6FKE9K1ISKU0B77O8ITU69M3T575KSU7BYFKPE5PPUQKRJKU78YM5P8V9CMSE9FF52S1M7RHU3O7Q9R1KEDMK81LGYTERB3TS4NE4HYQ9CKEGOPH6B8K7UFF1S2SD1RAZTK8QWL14SC3IXZTAWNHTBA4K7ZL6UB9DT1EY8DILKSU8AV9XG9OC024ZQJ5PF1CYZ3TIDP08P3SLGSCBNMXMQ0475KPS = 36#A6BP15THTX9OJSQ34WA609222N6K4VOZNY5M5VMRUP0NOGIYMBRWFHQSEB8KTUBLSSEEMYHDOUH9IR1EVA3544N55UXJ51IGGI8EL96J3XBK65X95AHT7RLWDY20OTM9S9KV3JZK4GDLI0H8VTDV69IQY9QUS43RQCVUQ7REUF3NAZL68XCFAWDWUW80UP9MZ7NC0YAL9CCY8JCJBOLLXBBM99TE9JWHMOH8C105OSYSEUQ5ZX2CMLX904R6I6AGQMDN8FVE8R9FN9DW4VQ2NFCOO11HKYK9V4Y * (-36#8XIL6BZS7KLKFQJR1W8NQQ9P9UIT91GQWG8GAMYDDO4N2CX3YSBSYAHX2A7MV2BPVC5WM3SZ1RSGOCG9IYJ2B4GH86HGAI9J1D3991HMVH2HZU73EGR8GCDPZWN5AAW0J7VYWBWKUY2TMI1VXYNGNJS0NJVEV3RBPYW7TLZL500X39SGSMYOONGC4IW3XN26609V5T5GWA7Z2R6DIOWBALVGZAIGA1J8TZE9FQYNDX4W4Y74TVKF39FONKPU21JOSGJ6AOACPI2AUF8N8SXO0FEK0MC3XA4DZF4). +-36#MZTP3F10Z9ZTJ1YEPDSOVAL555L7N9251TC5QBNQ0TZC8LMWBF7S1H0PN1GGXZUDWC44NZ0FZEJXYBFQD8H2GTICKRXVICKE0KAYV0LQV9KC69YF5LQGRTN7JRTPQDRXKZRT9OLS1CHQ8UFJJN5GQRLHG1JTV9ACUDJ1OLCOLV1ITUHVSFRSEO133U4I878Q0Q7A7VRXI09PSPI2KNAJXUEAL045H3UMRDLGVIC16AZKVLMUP58EAKHNBAJCWZTSMY3SXE48IACZ2JXQYEEEZS1PSDGPCJU0N2R6QO0BMMJ7J2D9DB2SCVX1HWMN5VQXRANH5AXYASGFNK6K07VV4YTUWLLAKSD9O0L2ZR6CJQMTNE20ADN9MMZU18TS82UWVEUH10P7HV6TJB793U8HIYAD3O1C3E3Z7KN6CZFTJ69I4UAM30JC6Q09EGCPC0UANT7W977ZMXK3EN9DS1AUF73CSEP95ZJKD1N34GZ7DW2XL5F7OMWSHW5KBGHIGL88P08KR3UG34TLBG16QO7E3WYN4MKW0QVBS42RVXXHHEW4ABJHT5BLM2V2G0ZR9J8NSFV8GC6458TYW3PTI17SUOUM40HIHRAU2FOBNDXVGR2VY1OCFDZ6ELWO5U7URPZZE1NXYAF4TRDMHDA9B5C1F24I6V6GW237EB1617KJXWRAGFZVB2B2ZAXWNFROAW3ZXOUIO28YIKIVNR9J8OJ33UB8QQ546GBTVQGUR9UJL5JSJKC6PJFIB04LUIZBSISWRRMUSSVFKO73BOMCJ8FMJE5H4VPZ7PLN74BD89FKWP73GL2ENHAPAXRO2700ACIVI5I80R33PVC7E4DI8JGQKEZT1FG1SX1TPIIPQGXL4QZMQAFNRRE8YEAT3BMVT1OVTH6QXTVN02AKMRZ3OZ47NMYHGGLW6QJ75293KGW6NVH9OTCCFYVYZ4FM28P9LXN43HFANJ5KUI3BZH7TA9FKQ80YC2PJUI972ENJFROQNEGRG1YC3XBI60C53C26NTQ8BUJPHTNYS4Z10CP691WLBKRTNXUD7T2ZR46BQ0TD5K28MAIPMLNN1UMNSCB6T35BGQ4KIW9BGD0UJVXWFVSCZS97LT5WU46ZNIJ6MK4IIAV7OML9J5GH15PUU6PC9ZZYLL3ADY95PBDTZAOBVQ8N46D97SIEHL196GFWGLJERJANYXJ8PZ4XJWATVRG89OY67CI1QFFRNFA0ILCDFGRNRERL859CQ8YL50EOBT2RXQOIVXLTM2TPSC4L09K8TN7R466HJYB5IWW88H5TUDREEQGWCFSEP80XRGOYUC5I6J4PATY7AY6QMC84I5Y2VHEQK4MFBFA551N7G = -36#9N4JM6NHUG601M5H9DMPGDFV5CAFCCZ60QH6O12PLUNFGJP7UT2MEFP8K3LK3LQ56JWPHFPIZGRHLR9ZARO3SHAR5A1DXRBXCXY9I8PFYM7XC6X8JSSPG9PP0RP3OWCF7S0NQ4ZWKMOT2RSSUI908R3K0VDC6EH8RVVQZ15Q0S9FK5YFW6ILADST3TKSAJ615ZXJQK6ZKWLG15LPSJ10WAA0JW39A7I3D8ZX6MO9IYA0ZDD7IP695BU1B08CLFLTMLZ22U0E3ZCRK0LV7NQQFZ21OPNVGX2FWAPGPI6L9R66AANLQ22W2PKVUVLC4U2NV2O1D8AM1ID8JY8M23CJGR6D17N5FE576DDM35L34G7OLUWSAIGWKGUS8MZGKXGQ2AQ82I5KMV75RQKI6OZTZ781K9AHVO0EHCD4G26YQ2TCT4WA41DZJ5KSS7F4HPKHXANUJB587GLATE9QIQCNV15GIXUURCNDIXPMXAUD55FRV17MM1N8DZMO5HT40SXNHA5KGL9JSR60P32PLATNNTMT29KHELULHLS8SQ60M2GTIT080DMBNOH8UUAYFBL8H0I8WKG9UWLNVUCY6IGQANKHZX2S9YSNNM8BJIBA3ZK7BRYLFLNOSUACQRV427T30HNH1GT0LE089RXNWWND0O78CLZ6N0F5MDF5OAZHWYUKJRH5SXG8WMFU0NUSTYN6W9SXR64HZJ5M78VYY8X3G7W4NE6RZJJ9EB7HEPRJQH2S5KCK3DP62FWAQAM87RZWHHDMQWBQ8CGD1MOTZ24OP0B0GC32EOP8BJAI0NGOJS6K7WNHNI0NF4S6XR5ZS5AB7L9LOX0MLPEE09OIRSRJ5G9LX0Q3JJDI4CE4OA29DBP7LC4MLGUSBSMFGJ46URCUZB99JRXOKWZVCTNZV65FRJ6U31MY1PM5SNK4JH1V7HEEAX5RA4YRT8PMY22F6PVYORTSZVWECVT0KGEBXF23SW0MCK4WLAZ9WFTS4TRX6PRKD1NAW8J9BN1TX70ANRLF8Z33ZAY9DKA3JLOHTK12MPJDVXJ08J3H56DDAY7T31Z71Q59YUT6YB3JUTRN2DCZLFU7TTCRD4OWPQWO36TBLCQDE1N3H73MRUL7FGWSKDFK8N3XTKKSPRETAWKKN8U162NNBA3LDD7B5669QALIKM8DAUG1JTY1BNK8ZGJSQ76W3SP2WDAQCEH0EHX5D06KAZK4YRW6D2BBFMOK12PFX5VVRU563BU06MCZBEUU7E1BH6B6VFEJNAUONIJVP05Q9I5R4EAOSVGFNPM5CPAAWOBKB2I4G4D8U0TZCXPJAWT5JX0D4VY6N372TB7WFR3L50SFX96TEEQ3DG0Z8L660D1DIKCV3HPXTT8ZG125NU876XFVSNOHX67CLV8AD75U6AGWXHQH2CKWS2Y0TM86M6G0YPB1WHO2DZG8ZHVWY6L20W3ZDWLKQMQHIQ97KR5L24ROP9W0OOWEKUFVWZPN58SYZ9YRF8 div 36#F3FY2ACNX14OXWUH0BGYNWLJ9NVDV9MCBDUSXKLAY961YRCY92O5JARNJSVWIX3PQPRUNEH7KDM78DF5GP9AAP39ZV7MWGCP07D50GLBUREFJ293RQGD3B00T3NBCB6AWUT395W3X6A6KLGXN. +-36#AJT3P714KLDEZ1LKGH5TK0KMK620O1HKF0QH5H5CCV0KZQSPFLQVZ265E1X35W5MXQU8G3FBEF1QI7HBKMC4TONFABVIN59HUNA7RS2611W2EZVZJZLJPQQ0LEKZMU248HG3X0ATJXIGB9UDV76SKJU0EQUO2639V7CNSKFOXGH97KF2ETUUYWVQS39NHIE1UXNU44AQKSMD4NE6IKZKRXLG79MVVCFZPLRY668OFF2LMAOC10R1J08GRDVILJZ6LY1OZAWLNJAF1IH8AGTJ09BB = -36#FMKHK511BXPVTBT69GDE2Q4VH5CZ7DU2KDRK5LO2ERJ72EKMYQS59D4ACRMUQDVKU7NCWBSGFSHXWNT93AIOE1UB7VQKPDVTT9WMPHH25KB806TG245V25GT9PJTZ7B5CICHZVU6G0CEH3KLL73R32SVWXGHFVA6H5VWTEZJFH5IHZ35M2JTBPBDAUUHQ1GD2CEG17O2KJL31UQ9D8NYW79BAHN4N37QE9PQDKCSTECVBZQZ1LG9MMR13864XD9QEM0LT214XGV7C5QR4Z4P1H6ZRLFEW381N03TEJGH4JHCIMR03LW9ITMNYTS0CDWCZ27UN3CAU div 36#1HBMHGATICEXMF0RK8GNQ3KO28KTRXKIEBAR32JN4QBR55EHL6. +36#26RFBJXWRAI69WW3M7WWKK6QL4WRZEDMX35C19SGN7U8SA2XWZIT5JNKVBIJ2K736HRT1O1074CIL3XUIYB1TB7QXD3LFHAJ = -36#YIH2EJ2PUYDDFE3V0PZI0ZP41MW8CCHCFR054QRFM63OU5OU9W3TR9HG2PL8MPJHW9UI9SR15W3P9QOA7KN4BMWYU8SDNI2FSFO29EEDSRL91YRGZZSH0E75WYBILPEJPKLV0E9NBU2Y42ECJLTQ83TA8MZCFJ9O4R2PJBBK8QPAZJNTM7UVZA41ZP5G50OZHYXVSRV3L72E2IW902WPMQR6XXVKVVX0CIDLFYVKONL1P9DGUPUV1RC0F0JWLCGBY5XWT2JXEV96YJY6PJ3KH div -36#FRWI5L514EK9UGIKS6KQGESB41COL29T314JMY1K949YIDGNBOOBZK9URFQB2QSY24EIVPZAG1W6OAEHCA6DJ5QWOHVNCO0ABG14DSAPZRCLC0J0H7U3N0T7QH1SYQJRQHZI72E7WOE1U7XOX6VM0JM216D4Q7NXUCN0BMKR4N02N0C62H1SCZ. +36#GDZOWFM6D4ZCBKX4LAPLAC7K1IX01CT9C80C4TAWWZT0NW8AEAOD7ER8L1I720RDEJXLS2WADAUR8ICXEUW6LJ77FNL69I8JKIE5CR5HBQDQUVSQYU5KWDN6DGYJ37XMPQAW7GWKFW835WWR614DRXZQMLW64ZVZZT32CQJS0D4VU6I1X7RLCAX6NQKP = 36#8MD522MZJMPD0XBL8QXU2TQDE3WOGF5UWU4EG6NBYUL3HGEO2MAVZCZ681ZJB17R7S6ZDTG4UGJ91QZA7SJS3WUSIJMCIV04IRVQDBN8JDUGA216IEXWVPB7FT4C8FLQXA62X0EB8JH * 36#1WFN6M2U4TT1RTPGBPG9VO0HGZATYF4GEF7MP26YCGCSX9JT4T. +-36#FPNK7RNEMAVOHJC18508ELQP185ZHRR1807FH1M1N6979SL8RHI08WTP00UBFNFTHM8HNQZ5QN518I54MFVZ5LO7E497HJWBBGRQMYN1IAFH2KC6R4GIUD8YB4XRXO5A1M6SON6SWSTWJRBL9UUJ6SASG4FPBST967AJAO2Z1Y1RPYR7TZ8PAKSKYKX6BBHRRRTY7W3W17OBEMFBP2PIHB8KTNCB4XX941T0T5FN4VZ0UVKQFRSUE799QLIVF5906CXL24PS48N94H33I0E8MCY1KFP8DVGQTRQDMK9MWCD0IUUX08FXTEZMDLETR6J8MVS25XF4GXQ2HX8MQEYUE3GPDUPJKTV53AJ1D7JI78WU4WVKSEQ5ITHRFU8FY95JHQEKJU7X9LBBDXY8CO3J9IHH0QYTZU9GK914CFG69U0 = -36#GYTFQEYRZHO2D9SHPEVUQZOIEM30UPJCHJU9OPBD1R6RRPY662XG822KQ1HK8FW091FL8B9BGNA65TPCQTMGBQAWX0Y2N4D43A2BZQOON0GJHMUN10G4N8P0707VJ7ZA40G4H1PY97PVZRBXHNAPDB2LGCBONH2WMFPJL66SRKRN0IB82ONKZVAQ15XISJGUU14V7N8OE2OE1ERY67N1Z2DKBKG45CUKDR1NWTLFHHVC868W78BMQAQI2BL2RXXDLZTDEPAS4FRD0VF5Y3AUNJULS467QTC5OOJ20VP38PSS63UQC3NM94MDSP2P2E9H1PWRP5K5M327ZE4ONV7MMMODDPUAWO0BE4AYPDEXZ934Y5I2U232JOCQFDR76WEZQJ15T2U0R4BVJMO2W52I30XJXPGT8XL62JMO0NGWKE2M9KW8DQIOO62C5HILD7POPHCYBSP97YRFNJH7SZP3D85HWNC0 div 36#12VH4K8F0QLMAWI3SYDCTAYKTRGFWI9I8BCE4WWFZFTHWAXJUS. +-36#1NZHLMY01M5HRW3ZTH7KI9740YCE93LQN9H9U5B7R0L57KHTTTCMRJW2JFQ3RP2A7ICYJLZCHMDJJ3LJNK01474676ESSEGMP0SQ5KW69D6U9BODZ1SOT551DEAJLI9J2OGNLVRTWB7Q4Y65CDBGOTCC6H2SIU847CAKOXKDK4BV9XME0GY093I6GFMI4G0K6IRPP807K0WIF0JCL6RCL81HWK3TTY3O73ZMC4LNEMMQQNDTTIRWLGU7MDXK6RH0CD2T8L54NNV20V0519NULO0DRYC2K7AVFEJW3ESO7M50I1SRCR5674YCAAIR6OE6ON5A77T6C3KEW8HG8U9P0KUIXEZ5WOUHFOB0S6RFIFHY9DGJ32B81BV1R560K1OYABXQHW631UXDCN4A2ZS2FYGSJHG0QMKY42GV73854IHXX1TCXF9Y1GRQCOSJKOWD0VG70JYKD5VW6MMROMQCQRB0QDYRBMA9SY21AV9RBXFNPP6R3TCOXGWVMB7V4B8Z7NULA9CQSEAD7AG76Z9PCWJ6SMXLHOZPKAKYK1UKEH1B6PBJ7IP7EWO61PUTV016FMALY07W67PB5UBPVX5EK8TDC36235RRDSLTL5S1QTQLGJWVU2O7YA5UWCAPR0EP8UAX7Z8JLGI0OGYX0VEMUXI8W8E7ZLQ5YEY4HRF5IS5YMSDG1ZTC6G7KD10KYXKN0HHREWFVH16LV1WFYEPCZENKSPSUCA0QSMFVRWVJPXR09BXTBVA1PU3PDK7OOY27BEB0KMYG2V8EK0ATKB4CK3NPHACVNYERPFHIMYGN0ANGQU9Y7FGTVR = 36#2C0151O610MQVR9YAACHMGUY0ID2WW8ECABIPH98X9ZGQEM3S3KMRACODI1LBKX1FN077NVYU4XQ7Z1JG1745NGJWHAMT4H14RY21XCSGV0OHDQHI0RBL2YAVJ764VYS2MR3ALW7N7GXT2DOY02AR4UFHV6TGZ900GNAZ28SUQUCS4B29RGBEXNZ3LCT9QPSBVQ2T32NUBXG7ABXTR2MPLJEVM4SZJOE6ES2S6SOP6JMCGRYS9KRLLCLHQYHU4XULP25F6OJU1AR9YRIA8AUTM85Z2OIQTBCMUGG253T1NQCRQ18312B6MEO1MI3RX056D11P7ZAGCSCAE5U8S60FTJ37EGVAVVP9G05SATPZXMQBZDFS621AD545U4JP8L33IAEQEF9T5UUU4QJCCLR153UL6PY28UKW22M080X3XM45PQNU9ZRVW082YQVPEF529ZPO8L7D6FAGCIUKW60L10IG07L9JTUSULRG5XK08H6K9ZF65C7KB9FL9G3F0Q3OTNBT880F11YV9JI3GT8Q0VQNKIBBPAA3DM0BES3EX2AA518YBZZZK0FQIDTXSWIIHTHFD7U3YW476YALF4DZ259LLT8SE6CNSDHDT3SF1XV2FSDVM9TZONBZF9MYD0U7F4VS9ZSYJGY7MB83IOZ6AFUYKEM0PVS9DOJ4XEZOUU7JBFKZRR2AIMF3GMNPYIY2BSG82LRE42DJZO1VCEXTO4KF7Y1YPTVPJURH3HCVLH3AONDXZMCLR5W59W4ANPAO1PQZAAV7AKULW7U2VULDV0MD4ZNKIC07A2GJCKEHEX4Z6CO6ILCFCCBQKHLYUWPEGPBNOQT3HZNF7VK9TZ7BBCUADKZBD20AIXN69B7HYUIDB2ZYP4JV09MB0KINC8CGSXFO5EK7CL17BFHA8QHNRPEIIUK5ISDJDEVQRT66UBMTA3DND1CK024CH75YX09H1T7M322AJK5OGYPLLPGZXIZN23GWUQIODNAP9ACPZ6MQ1OK04EZ1JY262L9G679U0AQCBJMV8K6C3Z8WV61A7X8U7RJ23O9WIN7GUEMC67Q4ZCOR7Y1Q74EPWLDG1TWYWB3N3ZF4PXQHQNZD3W0MBHGID13QQKVLVDDP9ZLBMJLVL6BEMXC4Z5JY8VCKGHVCE44CE7AYXUJGMGEY0FS44SC4H0S6FOTK320G7PM86UV94FYQUEJYWKE18J4Z52Q5L7790Y1JPG6N45RFXAQTC9K6751ALMWGJUN2YJEN2Y3ERZ3H0H87R7MWW1EGPWW2PPED89HDJATKRFVV8SPWOJ1MVWROJAVSGTLBYQYTD7SVS1Y6T38836PX2FQ1Q81I1YMRXYPZA6C4KDFJHPVPP2MYQPMXJ41OXUTQDQ0B98PVNDDE5BF0WD7U64RYT0SUR3T90YEVOXMDMTS3QO5P2QRBMZ063RVU5BKBKHSQGVVMK656UP3X424ATB9J6RW4FVIQ48JNJ8UNNMBVZZUKF601PN0KWQ4T0BQ52B03AKAXJDOSWG1VQAORWIM7ZXLQWOBVCWXG05SRIQ2SPLZR2BTOO7CVSA580SG7E2UWMCQXWLSI div -36#1EEUJJSSE5W90MV0FC9XWZDL5Z1HR5ULEJ9WG9XCMLBBAJ8OJW8SWQ7J08ERE9HWZO054K7L5OU2OIUHCU4FWRRTSZE64UY46UEES20DO4IASMGHALU1SDPL10LFKTZYIE91KZ6TDTM2CNAE2TDZ82XMVCT4NVWW706RBIEW4GC0YXRGXGLNT8TQO9WWHXWFXEBPQ6XXNP3K3WOU7CAKC5LO9PU3K2SBILY2YAEF9JEJM7ZMGY9UCWJCTAI3TKMSF3ZXH3Y8FCSEF8JVM2ZT1AN411S6WBFHA837L9XN95WH3XH2NR3HC4GS72OXMH75ZZKAFONCU9R36LM34P5KXDPYG2FUSIWBMIJOXIEI7QZWESRJDQPNQ1OMOUMKPQUSCTQG6N7G6KE4F4QKCJXN57VIQE8DTJVRQG36S92067M62KVUUV7OYTFMFK5V45Q8RJ4B7K677FRKPR6ADXX49BU6E7KYWNEZKMXCHEDWZU0GDZM1F1LYF3WTIC7HFJ04AB0ZT5MR4V5OBAOQ45RNQ22UFJPGBINSWSQP6EKCYEZCN2EX2DY9U1L79C77F1VLR6E23A0FIM33VQ46WFUJCO9LNPIIWPBVU5FYZARY87WVSSLOD1C5IDQRZGXNYNJLKGANMQXMX5C8YJ6P5FZI0NOT6LVITO17U0XMKQMH0FMG4VQP514XKCBX4MRAFGJQI4PXFHQDBY44Q04YCC5LKD12OXSXER97V8QW3RV0T5LY9JQI00RNKP19P5I6. +-36#1U9QU2MKPYFXM8O73XEKYTMZ71H5UWEO7UBW7NE3C40QYNYPPHQ4AARZKHCGQWDX4D50N9Q4YGYNG8NB2GNYD85735LROJ5GTM1DAOD24AFY7MISXQK82WKLQYJ2FADLGZI3O3TEQBRGH9GQ3O8EZ15W54VIJX6QDDPTAYF5ZF13YWZC81J81QD0Q6133YKFMU4ZFQ8ILWEIZ34CVV8NQS0T0QZIZP7YDI67X9QSJ0YBTGM2J9OIG4G0RBWPSB3BO9WTKA6PWFKDCWONDHIERQT9W35VSRIWHR049KVENS5HEKOG4MM94IXROAPCUGDCENZO4G5JHJFCDCJB9S3B8ROR1A9MATU8Y65SPDLWQC5GK6SWTM4WTOBDJBH8ZH72TS2VV5P5K8CD46SV4SCTFO4JJQXF7YDFJUJKSP39S5LE7GTLD4GM8HRKRFB738F242U562UFZPCYO41TBMKF9IH7XRY3FDSMBA9G = -36#1UG12BIS008TYHCC0Q750IEHRQNW5W5T64LO9DLU0Z6LXN5M6CFOCAMSOA24YR8LWJMJN2ZBIT70SW11ECAJSPPKDYOEHCHGS64RYTFG2NU9CPT7ZSE74A80OW0Z1XQ7HPOK4S5QYICEQY8RXM3S24813NZ17RANDFK0VVD8QB0FGO5VFSVC493VUXF0J82TYFN93IE24Y15VMBBV45G11QIWUFN1VB0X14VM5T50FZ750ANY1JMHS5PX5OWC97O1ZK6N5P2S14B6MA5IOLVL093AE98X3G85A9LIVRI354RPGTAC5VT3YSXM68IUL9IWW35TZ7KPY0RQ4H68UO09I5DNORTI90JVME077XVZS8GYUMDE81FQN2MR1O5DL3N686NFVK21UGP2CAC2HIPFDQTMYRLF4FPIO2WLFS6GDG9HB4M7YNEHXSP334GK0578VN0WON27O6FQRLRZR7XJB98ZDNTG5RGI7SZF0XF11CK1CNR71XANKZEB62KPL9YCFKWSW6W0O2IEF8LE3JNJCK816L8EMXYOSDS573K4IT7CI37A14IR1N8R756AWED6QHC9ZECAUVDDQIEIQUOUBVWJQ05S05JE56DH28IE2QFLVX7DZMC3NJ6Q4GNKQB5XXQA48ORPMRVNAU8AY65OI38BNO2H3AYRXJ72KM2FBZY34UC8T77VKM2NV6CPW4M8X91V464TWWSXG0CTF1AB5HNK41ZQ2C9339X0757VORA8G4N6DB5Q9R52G69U2X2ZZ7TNDKAHUCN1MRG div 36#103EW64SANZIRZT8WF2YIB59M7PBS4XEDPVIRL629WK6U874TC1B1D8W7827JZQO79ZIM7YN63N0T3UO0YN9KLT3MV30KH3NMRHJM2LDRJN3HMCEIGIJNU9CEC4M778SFO4BUCHBH9EQVD8D27MOOZOKDZCSTCXQSO78VVRNOJTKWLI2NY8BGNWJ43KLBJKN5FPABSG9WBW9Y08GV399P7DKJUCSMWGBT1IRXT0GCF5F3UP6N5MJM33DRGTAMOWF81WQXFK4ZOQVJKK03HVMI3HEAF6YR5ANAEEV9XIVEH1MJ. +36#2DWHBTHC4Z7R4YYQUMNQA5H6YVU45Z5RXEFU29UI9Y06BW0D0LLFDBOIKCVVR33EMFDHB588KREUK6SF72YZTSD6EO2T3OQT1NUKEM1ASS1A79UD0AZ7VB6MR1Z01HV7838NL1EWZFSPGFTHMSQ5MZOU795TGEOIKAYO5XBAWWNHK8XCP1EG2X784SR1G8TWEN3PSLDSOC5RAJMBJW2H0T8BAN1RJVZY4QX8NQPAQ0M = -36#4JI6MXMEW7ER993BDJTQGPGW1027G3BBSGY9EDDV4HPMG60UXECPTY97KHRUG93KVJ2HFKBK5PO6UCBMLDACT9JQUSFDOB7OKFHFC25VN717NGFKUSB696HX9SUP9TASI9KESG7AYGXHF6TL2IMG3W8SN8QKF1ZWQCLFA0A32YFRDIFN7BJ7QNLIKT297RADBWN1GAI6BS764XFRCMKAKGYAQVM1SSYBMXAOQBAEDP6QVKPA6Q417ZW9TQP2LOYGJQJ63GMON5ISRQP2CS80VF7F2LM6 div -36#1WISCUW80ECURS5RBCV1WQ0STJBXXL53HUTDL8RTCZKFKNKO5X. +-36#AFIW19JOK77W4THZT775U6AZ2YH25RJYK3ZULEFTIECU1ITUAWJ1Q5DGFQA7EE964W8S49ABWR55PBWGE7JOB1TWNJYQLBIV89XBXB69V8LIIZ9CS4RUGW5OMHWTIWKT330BT0HLWQNLDMCQGV1OMN2TAX3NEY9HA9QUU3FUTDHY8J3A2FYL1XU3DZ0FLX9DXKGJB5PYP55TIF65K71NTCHDVVS7NNSOVDA6G8RAWS9UAIK10FIEC2Y5QN5PTGEI1H7R2N567KWWJSPHUXSTDPMJNJ3CKVZH4JNH141Y0WUV3S9VUMWI2KUVH0LGVGTGHPS2LYDN7CLR396CQ1KAY9UEGZ39MWW = -36#2MP49P6DUKIHOLCTLY0WLKXXZDD6K37H1Y75J3KAWU0FC4W9DDU6V1B2UYUL6W4CPX7L6ZSJFVBI10Q23Q3CAMQHD732Z9TXM2LIQ8XSRJKT4F676S5HQOI6UHVZSFDEMFC6ISZGTBE12MUVDOQ9NEGP0TW435REI4RU5GEPFVCY7MR602HHA4O75RADC88O4SW42I1R82GZZVJQ5XPKDQHKNGCW4TOQFE0ENMDEBK4HUB1IB1QBLF3MSAQNGW6L5HGQWW8YH8PAJ7ZBF3KJS4OTA68YDDWHQDFNUMLC54TRI5EKXM081Q27RE1SYNMOC5JQ7GR0WVS4W7V60O21V4RWQS9OD1SASURU52FNKO0RQ9ZEA1WO9C757CGOPZINHN73IVRQ5J0PKTQ8 div 36#92TG8KY0ATW3RUTR53QE19E7Q3BMCINGYKAJ09S7O1T9GM2UY. +-36#29TIX1688VU5RBK2GW4YD6AG0ALGLOGC4UUGAX9HHMRELUW3MW = 36#3BTVMJ03EJME2286OCDG9BKCX50C3BLFQR969L9C1R3WRHVSP9UX7IZJBFNF9P2TYTA76UXOJ3QVBDGPI2PA1AQXSP83N5O7Y1H99TVH18IRNBI95B9U08FSE74R83YJSC8TAPWDRZYHM453APKHP9CF8858CCVATKXOW3W71NG7JYRU565I6VU7K9U65EJXK4273SSG4T51T5U0QCWAA89X6KP6NLNBSAS5FB6LPMTB3JJZG2QBSSUOBERCE7K7S7C7ZIF3NS9TPEBGYDE95TH7YMZB9GW3W1JWEOGR33ZYPCEV8CVZ35UCHNO8YPUBWN77E9IVUZUSP4Q9CKCZ6OPKA6AUMKF8166IMBMK9LGIDP47JLGCKFVKLB9GLUY807B53GSQOVR93ZQ03W1PWK4ZBRZ0756PC div -36#1GQ26TOUKUM89DJWDPQPJAT575XV4E3WDYXIZPZ9DW4SC9SXWXKJZ5AEYY2ZYJGLVGV9G4T7MLK9AEOKVD9V1OVY59ONQZWCTZX0BLCMGZZOQ1DDPPT6FN9YMAYAOATMB2BER5Q8SM2TZOD2S48W79SD24JE9PBWT50POJBPLZF2J1GNJGTGV2F947C8GCXCYED2WE4DI8O9SYCHITHRZQ2ISS8JTIT2G45BQ4HB3X8PY6XYC7CU1LWKSAEITM1OBFU9A3I6XK4OYNBD2WI19FSPJ4N6KR10WKUIAMT1UAVKLR7LDH3ZU7F8UI0MOSMPRAP83AD2EJGH8W71NUKY7GE0OSYCSH3YDA3OGO4M9ECAF7A6. +36#4HUYRJN7YIAIHJJ5B89OZ7UP5GXCVZ0TB5PM0190R3UG1N1J5S4SJO7P = 36#8WT2UFCZMNMUELZS3JME48LT9YMPI55M2QLJA3MIDS8558SHNB1F4JN5LJHXX8U4X032F55V22MAC1ROJ2LJQ1YLAJX8N8ALF8908BOIJ div 36#1ZCOGFGFXC9FGJ7O51HHM5TFIFNE9PILAARQIKS4Y48EMIW8KV. +36#13SIK7GQK47CVPJWT2JIZV69HK4CCYQIGCEPPFGJF4JCELYPDJM8FFAQRGI6K272PQVS5UPCE7Y0EB8GKLQLJPW7VUYE0QYWAFIDCG86FLN4UV8M11FOOL6J21F0DGTGLI7XRJ4GJBDMA0JVS03977A7J14H2142YPBMJ70DWWWTXL1C = -36#O6ESBT6X08IATTM5JJQP9625R24C3C002E6HOQ0235FY9NU5C * (-36#1N8Y3MSU2N7JBU5WHMYRMMMK1AMRMQ6ZDFEK6GCATMEKNVKMEGARYKARHL67RD8LGBR80W98H5ZYTOR9YR24MUSNAXX3CCV01PA4YUXQI2ITZ1VLL2UJWKFFI3RBBUY). +36#7P6HE062PNXG0RFVV4XWJ6MGL15ZAD049HJBMJO5FO7E22PBID9TQOXQU830EJ5CFX736X20D0JTAB4NDK9P0BLF8GS3OBZLISDCD2RY8BQJPCLMHT8IAL06NTA1J7GCB45ZBVLIW122TH8CBVRMN3N3GXCH2HD82AO8D0ZPK1B4MSS8VCXZ2WEQQW9HCVRV2DJONXEN7UWQQOQ6U14SX2DB9QWYI0IRBVYYNWJ5G12EIVTZRYI03YMK0UL8Z7IXMBO3FWMEJ8PPY2DCWJJPXRTMYCY31IZK2TMGC8JPUX0R = -36#WE4DESF8UEOJYHP1VRLZIYIDECYI9654G60PRCIXVDVTBEAXCBUOGSU7EOLIJ54M3JN6ELOC9QF08IEV50UOL3CN1JU0870A32KCLM59GOXAL8N1DI9JP93JJC3UIYKMGB2XJU0D4EYYGV3X0CKNCLEQRTFI46HOCZN4I69OMCFQ94F5Y77U443PW0JZJZVJSFFNRUIAT6ZXII5M6EV760RDDNYG0KCR * (-36#8K1UNRC54ED3NRPTY69WHSZHYDS0M77J3F9VLBPELXMNLS94G2Q8A7ERVAEKTPRAK2SBKB5AZAHT). +36#27CK0VZKISPJX73U8UMNNNARU78EBH4KKUVN9AL3P9EA31LAQFCHP0Z9MDOEVDTV4FU6K0WUN817G93B1DYITJXX2PMTC8EIH38DF7ZPVJVYJZPJX8ZW6FNMPXQ4DWG5J30QE07D26DVU5VGPKX6368BRPZIH0OPCFAS50E3VY7TBWPEGSYVTL79WMTG3BH94PJKV35 = 36#6WWMNG2U3N10QHGEH1PXXUU1NCTTYRYMPBELNZJA5ZMO6YDLNVBCOXNJR1YUSHAKW1UGLKL751U481UGBP0W2ZLM6R9N9B0UCW0N7Z0UAKYAVYJ2OOMQUYPLFN7WDOGSRZM0NDM1L44DIK21EFSSU3VF54NPM0O0DF0TKQWIYD00J97MJER6N3MWIQQ7TBK9B8L59JURSL4VBVGWS833CRA8LJHSDH8GZBGHR07DQP6PXCFNWT6LLFPY div 36#34XDJEX5LEHKRPBZP67UQ7054Y22MXACEEBYPLF8KVQR62NKIE. +-36#4I88XW26RN0MAW22DHG9TZINE3MYEEBIEU8O75HFU4R62D7ILW0EZ0SZIZUMQA9036VN7BLNBIHP3WRS1TKOA6OOX4N2EHC3EJ4FSSQFQ0ZYOKP65SH3MLZHSNFNJBK0HXNKNOAX9WVF0FLJS5VEUB75IWGLGVITSU462J4WFPHVLX2EVTHWYC5ONUZ0MZKP18Z0E6HA4HNA459LEB57EAPNNJVLTB9KO6AHBQ6YG52OV8LFHL2SOPM3SXXO8QKHM9NP24EFHTEVS8YYGRAX788SHT = 36#C7LAZ38780GV9UU4QFIED6XFZ4S6S4S6NELDIPADLKGJ4EER15IRI12BCUL1ZPXNIHF0V04SJBM2HRJJRXN2YHEP5DHW0UQBJLQVY7BZ7Z6O77LFRWIF2TLNLUAUEH1ZT2OCRYNN23U2TNS50ZAVNWV77E969VEB9237NALLJ3U002UD88B8DCXO3DEDOBSROAKLTQTUAPJ20Z7K61HAE2UNJTN5BKGIJ3TC6P75SAOIPO8GLJ08IZOKI3KZSSGQX42IQU2IINKJHRE86V0VB7QJW58PLF5MLZPJMSMF5WTK1V942DC9AR1FTGITLKBBHTPAP5F1O div -36#2PJRMTS5FDVYZCJAJFGAKOEAS47KRX7VTD8S1T8B82XML5KC. +36#1QTDHFEWTM00AJDSU9LNLAHK7ZV0J2GNCJ2E6YJY432NFHM56S13ZBXP34N8TK1GW554CFTRQ5GFZVFPCIID99IK06WVTPJPVZD5AOE976PX3WN3SVYXPGLQH5KVKWHV1VCBH5J1RWICHBA7E0HAOVI7XF235AGMGGIC744BSELLIFI12IYBPT55B1P1WL40DJJL26PITN9KLETUK9IRFM0MDTAWFYZJOTZHHQXULNNYXVMJ92BVWTO778WHE2EHH31XDERVN6UAF5DBA3E39TKBRJ71J9BSPFCZF187AQYNH22Q5VLXCU4S7YD3R3WRND76SFBYO3WAARTCBXC99BQZVXOPCV6XQ09ZJEQLELFAO2THJUKZCR6MK2SDBW5Q5ICDERF7U8UVG8WC8HISJOECE1SXKJVZ17JRZZ38HIQFYS = 36#VHDLBUZ3WH41PQK4V4GI5KBQG7QJVQL706ZC80YZFIOB5DJSY * 36#1ZTUI7SY7Q8T8EHCFR84I12R6FR8ED7Q2ICY9OF1IYAG16SZCIUHPZ4I1W7T0V0DD14THHM8NY0VE91I5Z2K83JBSEF8B89465CZJ1MNPSRXXRQ7FMQIDAAGQ1C2G2P57IQLAESLZ3IMA645JSTYPI1OU2U9B2A8LN0GBCUZ7FMSZ4OGFVQKCV0HP7QYV99UPEQ5MXD2R0GMOO058U8DVRCP3VD84SWFI7J6SORW6A4L3BM0GG53DS5KNQSWFDCWTJE2V1S3QLVBVW99X9DLUQ767G5LBOQ5PUGXD00T4S5NUM3PYGOYGJ32W9UB4J4GWMG9KKYZB61WQ5P6K3LQOA2U7JKGVTDW6LZFO52HKKGLKUO4SX9H6AU9PWKDM. +36#6SIF6FF967SJVC96BAUBFKBZAIDYCKV2WZN85JKR7KKOKPORF8DLQ4A56BMAGJWDAHCZ1KE19V6FRPASLRUCDG74WQYF9VDMK8EY3VN608YLFQ1TCQJ53230JF3FMC6LYZXZVLB7OEAYS1GQKIRMK9TIKYYWGI9Z8HDXAI9LYKJ8D844O9BR8OUPIT0V41YQC752ZF0RI0DOF2VF3QAC3LHTFX489A022UKBDE9D9X66EK6WX2SZDK7I581NNR1EDGY3LNHC3EM74GN6WIBMANW440LZ0BPBBP4D5HAVTEIMQHHH7D2CFO9HTMRIFUIX72HVL4RE334VJ4CLBD37SULVFUYMYCAFZ5DQ4RMO = -36#RBILPLNTYC25WJ9JYD3J1QNNWAHZX4H0KAXQIYMIGK6BURV8C * (-36#8Y74O5VRN2WUEU3G148CTR0VG25Y7UG0VOZ73E78GASQZ5LIMVD8U6ICKZZOC9OZVNTYYC8PUZORGJKA74WRAZMIG40X8CJWYWKI7CPV94R8AY3V0WOQ5RAM8LJ1JIU3R07K5BOFDMNDPHQXNCIVO429QYSBO701RZN3ZVMBDQH0JNAF8ZIMGQLDQOFY5VWYV38A12V1QJ8D93ZHH7210CC8ME4W8ETUJ6WQTIMRC789H69GWSL0P8TJKCZ860PGYA0BU9XP0IQTGZAK353DTZUX08B6BLB3QLG6K5N77XZCF93ZUAWZV9K). +-36#GYTFQEYRZHO2D9SHPEVUQZOIEM30UPJCHJU9OPBD1R6RRPY662XG822KQ1HK8FW091FL8B9BGNA65TPCQTMGBQAWX0Y2N4D43A2BZQOON0GJHMUN10G4N8P0707VJ7ZA40G4H1PY97PVZRBXHNAPDB2LGCBONH2WMFPJL66SRKRN0IB82ONKZVAQ15XISJGUU14V7N8OE2OE1ERY67N1Z2DKBKG45CUKDR1NWTLFHHVC868W78BMQAQI2BL2RXXDLZTDEPAS4FRD0VF5Y3AUNJULS467QTC5OOJ20VP38PSS63UQC3NM94MDSP2P2E9H1PWRP5K5M327ZE4ONV7MMMODDPUAWO0BE4AYPDEXZ934Y5I2U232JOCQFDR76WEZQJ15T2U0R4BVJMO2W52I30XJXPGT8XL62JMO0NGWKE2M9KW8DQIOO62C5HILD7POPHCYBSP97YRFNJH7SZP3D85HWNC0 = -36#FPNK7RNEMAVOHJC18508ELQP185ZHRR1807FH1M1N6979SL8RHI08WTP00UBFNFTHM8HNQZ5QN518I54MFVZ5LO7E497HJWBBGRQMYN1IAFH2KC6R4GIUD8YB4XRXO5A1M6SON6SWSTWJRBL9UUJ6SASG4FPBST967AJAO2Z1Y1RPYR7TZ8PAKSKYKX6BBHRRRTY7W3W17OBEMFBP2PIHB8KTNCB4XX941T0T5FN4VZ0UVKQFRSUE799QLIVF5906CXL24PS48N94H33I0E8MCY1KFP8DVGQTRQDMK9MWCD0IUUX08FXTEZMDLETR6J8MVS25XF4GXQ2HX8MQEYUE3GPDUPJKTV53AJ1D7JI78WU4WVKSEQ5ITHRFU8FY95JHQEKJU7X9LBBDXY8CO3J9IHH0QYTZU9GK914CFG69U0 * 36#12VH4K8F0QLMAWI3SYDCTAYKTRGFWI9I8BCE4WWFZFTHWAXJUS. +36#CRBITW71JSRF77NAEY7KSE1SKBVVN8L7VMSRLJW5I53WUNTWHEGS5J7RBTTAPXGBPN6A4VJC7U4EOVCEDM9GM1SMEQ2YFPJPXASNHK66JB34DKCJJ8MVTEJNSFQBENSTTVWXEJT7NW0CKGLLX5AY4X823TU7G5ST7LD2ZZWK0GYXP3XV9K4X4O7MBE8WPA75WCI9DF2H8P5KDLUV62AG634ZSROZ8WO1YOVL51GV1PPHU88TSFUZVZ289TN5OYHPSDVJCPQBTWIFRHN84MUS52LXLAB21RW3NKX6PJ0ZS6YW053A6WZL3XG120OJB0960NYRTIV49VPZR7Y6GCKE337E28BILBYDNI7JSTOUHXBKS03CS9N6VJUNBP5DVGKBX3E6ABFONVEMV22L7CZVQWE1HZIG7UQAOJVYX61DINO8ADD1OAM7GL5ZJ2VLQYLHBMDLBKEADS = -36#5FJQ86KTSM6A80TLW7M39YGQMWEZDCW9Q0AFWTG2FI4CQRCU5CXVC9L1XP50H2PTMDO2K0ZTL2PKOCMP8OYBDT9IEF5KPPFSBDSATUZLRL78U8VSWGVEH4KQBGLO945QM4OPUKE10IAOYF22VEUB17EC2F4V1H0K6BIXGUI1L0BHVR6090YFJLV0V3WURLYSZIC0U4KZ1294SMNRT8IJ44OL18YPDHXR1NC984UYWG4U0A3BI09G0BRE5SOUNHWWKAVFVYVZ0Z1KU86C7JCJFZKWH1MRD2PO0VWYR37NJ4D3JB0PQR9VZFMSLM1T5EXXEOB5SZXGM00G2QXQ1JBFHIEC7Y9GT5GTKUFKVPEPWLI31OAUO90I68JCBFLWWQFGLPA8L7YHLL9VV0NS9AIT7LAJ1KGXFAFCXG7IEFZ0O3B9FKEC9DUNEKD7L8A7AYTA0XF5V4ESR7TEDKOOR8O7FLD6EJ71TCX2UJCAUXSB8TCLQIVFMSXMOUT0I4LTCEC879NHE36EYWC575RDWB57WS04B3LHU45W18U4JGSEXFW70IIELKKVP8TEB1L3JBTLSDXDA7RZG6LS1M8N6HJ3F0TG21JAQL95UXUZO0F7AT3DT3X2HZO5FEAQCNBIGJL1OH3JCHTGJAARL3A02DECRJBARQY2GSA2TI787MLT5JII51TSP3VA9NS9UKAA5WUD698P64670ABMJAZ0EOTY6654X6B79A2SXVBLNMDI059NEK7ADVYMOHIF79F90V3S9FMRAGP2UQNBU3IF5G3AU4N5L4GN8MW171AAONT34B6RLACYBTL9A1JJOCTSPWJIZMT8G div -36#FBR11M33BOO0M7G4Y3DXBFDZOBJTJ8O1VA2L7XG3NYWZO53EY466SUXC4UYAIV11QPYTX16JQU3Y0141FIWWQPIAXAHTR7C71ZRJIZ28MK3R5FE8P76J4KLAVAIE58O2AKQQA0BNXZB87ZELRUY8XBUH9EBBQW2HZEY2OQFJVORKBRRYFSX80Q2JGPA1HIGDGYOFYCY8IHDRMB2AQIFKAYLIV3DF64989ISZD7BQWLGHQH2J6X0SMAFA09YFT1LKW4AKEVM9MXQC6H13HN7GJ5W2AQZCV2QUD90CBFHQXPT8DJ0TRTPZ2CFQW6ENOI0X7RW6WGFS25O9YB1AM7MZ36PCFP9GODLN1VF1QWCFVGMJJ8BADS7JCIYVAMG. +36#HVGFR7J58FQ92TODLFOEQI6ASGEEDANWC2EQ1A99DZM4NI09S7F6V9SBWC41YVN7JMTJR6L7FY674UZEEDXUBHAJMZ7VASFQ4Q3MOZVQYUC5K5LXK3CK02CMWAGWVDJOGY2O0FFDKZD9O858KUM4OCFGPQQ7VA4E0QXDS753RCAIT1A7YZO3PCFH9VYZVT3WRKJ4K1SD6ISIY1V10A8XW3HYTXB2R0Y2QX0OYRG9ZMYYP8QYQIVNOB66HYDXIM0SXAQ5B0KDHNHNX3SZWTKFCAMKG1OKUFU5KC3U8JWY060YRBFSLT1ZKBM8ZY66M50A1YCBI4MVSAMO63J99BOP4Y7 = 36#DH5U950MH3SZVBVEOYEY3L8UMNO46SW795DEGQJAUNUU7K6XIR0Q9X97TBS49GXGIR69OUASACZ0OIN4ZH01047P7K49KSWT65K8A4LTFY65T0SDQL7HTG6MJPD4SXYFI2HMPNNB7B1ZY510EUAIMD4PB6FTWCY2AEMFSMMUUPT4BYLW8AYN7E7AODSQL10Z24OM6FZT0FXQXHYUI57D02HGLJQ9F7RJDAF0GVZGAURENVKFPA48HSW3T1W0AEF0ME9S51YTSP9RREND9YICEJNUSVYG64UNHFF6WZWMGE41BMI1OAY8YXNZ8H1XJAXG4MFFG4MKGE6I77T9N2DUU06EM568ATC5ROEGAW6XQBXIUDO3Q6WTRE9J0R88I2R2QVU78ULZG1W9X426I3ZBHI1EYN0MXJH5Q6MOECYC4I4OBVF7PSM84P1BPVQ45C2T0VUFV2HINJ2DL1CCB7 div 36#R56BWM43KQKRIBJBWGHG37ZY01BHOFPRMJYCWU1GTQNW5QSG1KRHL5NYOR73P0UZFBF1A8XTZ0J1YEEBODWA42SYSJZUBMKRNAXH6UMNATZYARD8P6AOYTXL871. +-36#FQBMUY72WN57FV6K8M141I50A9NJSRNMD38SHVAU63DA67CGQIYVFFF9ALZM1JL0FG8RKGJKOAUDGS1DCFDSBAUYNGM72E9SUGEKFCJD1QNCO2Z72CIQ42L5GCGW3I5C0IJ2LZT8MRW7G6VK7BN8SM9KYZREEEWOET5WPVR53LUJHGG7OSTV6IFKXA936VC3WKIXOJZTJZJ87GKQRHVGRH4OQ8OQMDJ375PXW146L6OSDZPDBMD2JMHYSGJS3MPSDBPSTGW4YR85MT4RM1M9DC21IF9NV59F59TYF3VAGB40RFN1CIWTRQD8RJ2S5F9HB50GT9MDDMSA9E1BFSWKO61TEOLXG4UL8BZV40XQAZXKDOKKIBF72U1J5F3698PDZPXRZB6DZ5MHOGGUMYYJZT2234GQR33B920442JJALERUWZVO3WVSUKJRS9YQ4345XC4L2T6DT2EIZV2S7VE5JR50GPF8X6R1QLY687B3AGT0PTEEWZVXVIPWENFP3JM075BS737FYBLJOC7P7XMFQIZ4S4UTRHKYG4V66O0R74S9HIX = 36#6245SPMZXO6QOD9S9UHZS44MGZXOMTZMFVS1R9PJFA8JYR5ZL0M04GAOCDT5VO1OUVTRNPPJKHL8UT3330ESYFTWXLT0OLAPTA210KR49E4DQMG2ZVTAE8KTJCD3TZPFQHVYEVDGDDE8Q9AOTS84M12AL82AK9TRP5EH9NEKOW7ISTW8PJ2GGB7KQ79G8OA8S3YP4GY9IT3Q2UG5CQXYB53KQASYW7H83ME9SHLN2E6XYMGR7VWCVBT1J73LIUOS69T7ZN0JHZUF4V0OLR7B7ONFU0S5FG8TPPICSBK8L9D50T8B3BRKR0GUAQ92PLQ6ACV9GZBJIS9G0ALS37ZOMRCBUDZHHFSTONP9YOWFBVDPOYFUXV6YNK3M23OXLUQTNWSJS8SHNQNE64HDN55JRTA5RTE2S9RJVS6CS99NYIIXAFY8D6XHNJ9ZGBA9QGC6XPM3FAB6AGAR1C02VU1S5W4EFWBRLR729VG9O3VQNUPDI59FAE8JNMAE92H9W640CQGX34KPDKZGQ3IGGMB5XKK8REON5EK736D9TOEWX19SUPAJ63BNH33APM5AQAMQNVFWQZMLZYPZFSD8JYEDY37BXR2PK9FZ0 div -36#DV58UMR2VOVTBKZC1BA9QGHV2JTRF6PU800TDVTQH9ZQM064C. +36#8EFJXJFSNU3I3I8ZMR4DN9GI9BI71YNT0GD1CFAMVUUQBO3K27VVXK5S6STM3MHD8CQ6RMNCCJ7ZQR7TF41NX1SSUSM1B60RCQ968O0P4KZS2U0P7272HEGDLATZ64QBOGP8MEMAUEHUH8F4JT3AGPPBRXUXNB1HI1AJ4RTB5CM8Q4SB6X5UAO24HTADW9HANMUBW2348483L9QY525172AC1X3EF88HWYSC98DCKZVUTIGYMYI28FSQYR65DB4CAEX4VXHJ6T5JY7T7U91J65552N4MB25DDGO5L6DEAC7IUTGYBEQ0F36BJEAGWQ7WVHX3NV9QHVIE75OZ629E1TPICGFBAW8420CUE0GVF71ASNB5YNJZHWUK8X0G1O4Z5CSNOVAFZMFBUXFRWLP3XO5QYVTEVPCQ2HISSH5KXXFQSS3D4TXAMVTU60AP9HQPNJAX5PQYOKNN910YLGN0RX4AOX9INAWES6X4RRM1MUHKAWKSWN25SZPCTMN39O7TO1JQIM5OTLR079A736N2UBXBW1IEUVSIKZAKH5ICXBYPPFEGWSO57EW99JDS9IJ0JHL2SYEW1WWEAJV1C = -36#26UENZ4333O8TIADD15HPNXAGJ4N0YTAGA2CO5JDP6GOFZU3Y * (-36#3U36XHL6UJ8S58OXW9D1Y554NQDVOM3RFIHQ44XD7GZ6QHT30AMJSZ3P38Y911VSEBLHWNZZL4SXB2YQH85UB6S3DZ6CWK0GOFKQD1KBB5S5HOZHS70PDLJGSAZ4M5XGCU9AF5FZR9HBWA53KEFL0IVUEYBZ0F765S0NKL0VZFZT6VXHZHKS9FRZ7W6LAOZMAL5O81W12AZ6I2OMT2Q200B12H0LXZSB2Y2JPB975RNSV6466C9KXLT2QTZIHSW0ANY9WL2ODKJRLTO84AUDJPIXZAR6I8A3YBBCIUY2KLT3B7PFFE7HWYH9IGOL3J9R74JH5DF8DFUACNT5NSZVPFQFFLYYP1Q102XHP3D4K4KD1YS0MG2TIA3P0UIJCUE8VNGCIASM8E4IF3YW5IP54AQTOAST4W7S89CN1AVY64ZETJ5WSN8YL7MBYF2VGE2RD3WDI06PR1UGNMDA6805D4QHZCIO3U8I6Q6OU1VU30VX6KU68GCW0GGB0RAAK403LMJZ5KH2KDCC3X3UVEPLUR6A9P9UG0D5C). +36#53AXVWNJHOLIIE094VC9PZ8461F3LLM3HJUWYJO2Z2N57LCT7P66GJ6AA1SL1VMK0KR61TAAZAOQN175BBGLW4JRTSMWVUWLEA2D7EP9YKE2Z7C6YJP0VJM7U5VAGIG25TXCT451ZNQA3SSIIHR1T67EQ0FNQJRB31B7JD18ZPFNTRE0ZMMKWXI32RRGN12QR7USTVTDKV7BQ6KMEZIKCQZ908C7GRZSEKT6BGP9CKN8O602BOZWQVJ11AXXWZOBM8XGLDAIMOW0OVCEEYCCTZL1PUZR4OEBNW3NYVS0FIPBTKKQYMGUKTN2XMA4UTNEPRKC4G571T9OH5R8XX5EQ02YS7UOBPGRVZQJJJW4F33EOTTXFP9LXRD47VMA36SRQC62MC3PLBRTV22VWWXR1BVH3XFDY1XEB5PJ3NT8S7LTJSLOSUW6WKAR3UYYRIZ8PJSXVHJX861RUPCGVZ3ETTQO9N83BF0PWDSUMNH8WUI0KCRBALY0YSQTZIA8H3NI1Q4M3JKW9I259XSYY98A88VWAGTNZ9ZHON5S4GLSXTURV0CHIN8SRP5NU0XI8OLGF40Z3CGXAIS2N9CDO4362NU6XXGWF3O8YAJYM4JH5KLBROKCBOWMD5TBGP5OM3TXLVSY3BNXNSOU40Y5A95DGW6SGQKIZDLDBQO4VQFGG0UULSDP5RIX024OMADBF1WAMAJ2NL33TOCKRJ2NQI479BGJUC8LAE852TU3KJD06J54NTCOGIP54US1DLNWFVQ1VB2UBMVT6SC0QGFRZY94RSNSQWGGVWMA4K3WNRSIJGN5CGUOOLCI8DNCYUXVM80S1RK40HX7ATGWAFFNU9AWX3UUHPWI1KF42ACU = 36#2KCYWEOW5D6BVKKCZHTJAZDM0239XA42JWCTKYGASMLM6VQKUY * 36#1ZG4EFQ8X13BTJISVGHD2DBED8DNOC7ZBVXSLA3ZAXE1LZB30P2C9ZZMDUT43P6NAR6SX5QVD4N4NDQFA0KNMFAUD9Z7SI75WAVVJKNJND30Y2KVIWKJOHPC94GJG6PPUYMYRN2RRO92O5AQWFE5ZJ7HTXQN12DXZFILM2OVDY5AQKCWQ3RDHZ9DUR6Z8J9BIPR8RZD87CPTT3WNE5A9DGH9CEQUBD38FQJBU17VX0SGP46AKHXEHD2ECZGN927PNB92N3ICHE8E3HDYAUJNEVUJPNSBA9V4TMV5E3XY4Z1CN1I9F3R7Q2IC10JXJ795W6KMENEHD2MUNF76H8GHJ9UUZ652VBA23IFVVX04QP6244PMRF3XNF6BEMVSONVBJVR0CYAG4Y67ZUJTROXDYP3NT7NIPSAWZUUYOL3CC3IOO0Z75JBCV880TB2VLC5SRW3ADAJ22MM12I4S54RSGDQTSURFLNJY52SVH8NF16YQVDVXRQ0EIN8L9QGH2TQOJ6NJP6VLARHIAVQG0GV04MMABJWAXPWLE55GK28SY22ATJURFLNGUCS3FUI8D42NLIKTF3QMAAJK3P34YJJ2XEEF751Z7K7QRNU523IQZ3SANU3SFMX47BISP2TG3KALVBYJXMD6OCFN8YO3L0UGIET5ASUU0ZU73Y6HYMYG7U7KQYL7RZMI73FWSN7DWKITLKL5R02CV1O3FNBW4E0L1SRWAOV8AGDBLWPWEJZLXGZ4T9RB9HQJL66EFUQDU2WYBAZ9R1N641AWAY29380JDTB2KSOWIASD5R0PU4GTU8NHHACMG43. +36#5NHUIZ5HJNB6Z0O1SRQ4VMHDZJXHBI1CGU0GVS39QPGRY163A6OOJ91A900I484XRONY0T19XJJUB3CEQGFUESICXETZ25DXRFW = 36#2ZDHZQ4Z59I33905W8OSZ59RRPPG79MJ7BSJTLEZ9HC15D8YPB * 36#1W85VQ21B8K8VER3R63EICLT74NOTIKRLIP75EVXJKLR8ACYHG. +-36#1RG3VDO1BYUA0BLGUM1PHKFY62ZKM24I44JF31HOIF99RI7QQ95K7MUGB9ZQTJA2RQXT508H0KZU26XB21T48QOPZHGV9GSR2BY2AXYFBYDG0GV3OMG9ZYTQFBHZBDF28MHO2RKG79QVSUTMXNWJRA9Y9O2EFJ3C57BRKPR7XWRPTVV4ZZULA4D34KVFX4A8PY1FUBU3JSLUNHV4V539P6E6EBFAAQ5L0DYY0WQQYQGRPF422NGVMKM9U7KUJ6DI7E3DTZVWY1RIMULANP32XP34UWQPVJGTOPR4XUXRDBTDWUFA5RB9CVJ209EBD24A73FJF64B22XPV4XU7PGUPKDTON1E0CXSX5C6SQINEO07TPSF6BFVEGOLXMCKGCZS0B1S2MGQTQZ2J5YYJNKBUIL8MGKDXURQYZIP5WZNFQ85W0RHCWSK2FT1XWZQQZNSVV57ARX2CX3BSO3MGN81L0FLOTJU8SRJ53LWKJMYCEMUHFKXTPAJ0V7Q0V4V1WL4YLHX3PPPN1NC59QNVXCTJN1WCNZ86EVPDJI2T0LFETD72SIMSQEVQ47YTIOGLM8M8MCLQ94UAW7CHGY2OZUQSY4L5C3N8NE4CW9QZ3MNYIIPFGTM31BK96KORPIVNJELHGOGTGM8OMXD660FHH70UQCRPK0J1A0LVNQT0CB3Q24VF4UOU2GFT8OJA7DMHCHORBLXIBOXKJYD1QEUN7BRZNOC5WGN5G2B7CY2IP391U6GNNFATX9ASMD74O9P9MSHFU0CN883WA768EZV9GTO0185P9ZYHE3SHOZYFR7B18YZ6E50NX1ERE8I4OA98OR168SS6CEAB90J1WM2QDHJRNOBZVK9ZYZV8G51CJ4VTEA4DEFE43XKJDUPK62KXCCF52HGS9RI4C7J0LA0BJ1KE3B2JDVD5NN4R6WEJDJ9LZ7NMFI3IEYWBP5FCUOWQDONMSLU5N7UMT3Q9D4GAD42CYK2JJKDU9TKQZ937AHI3UDOP9N8L0XTZAZUC5FDXAEMS99DJ8ZNDNM49WLQST0OAQ3HHLSPWMF219XEA433ADROQOVJZXJUQR72UWXDXH21F3PHVDK4J371Y3KDNP7HBI9IPUAU8PC20XMAQ10AOZK1XOXH1V1L1MCR0WJVNE9UNXOC = 36#6IQNBKVSVQJ514BDOOFEEI6LONOG4NOUCZ085M18YNV15EGOGFT6MBZ0259SCEC9CG5T3UA0G3V61LQW27QU5K3SG307ONAR4VZXNQDJJ6WM7VY5FNR4YN5EL7JL0HWCDQ5QMIE3BWJ8CXEW2T66AZCGCKIAD81QHD5Z1GWP7H4YSG8PIV084ZEBZQPPKAXSCER4FPZ7RCH2LFFZ3GWIBI33CBV8BOANFPGEEFCLH57KGZVS2DSCWEE87L808JWJSAVY01IKKYF9PQWQCQTN8THEOPBSUPSSSLJA2VKCIXT3EK9M1F60FIJ03NGIV3VGFFTVXODYDN75Z1T2MJ8JJFB7UBT70AEE9J5TQUQWMUYJICYAFNQBPAJPY3UDJ0IHJTYQVJAR4ESELXX7PSM3FYM7EAERBRYJP9OIC1ZP71P9SIS74T2QJXKMSKHSA8SIKM9S1XHGS5VCW8ODB93LGLJPADYAZ5M1V07YAP5XN9QI404K2QDTGKOKDLLNZLWE25I3RTSTC6VOCAJ0YUCWISUILYKS0WUTDUIOSQ13RPBEK1HTAWTS91TX8XR75UP7FCCQ6EF7FDNXE0K5VUD9F82ABJ0RNBZ1IZ2FB6GI5HXEX2PA6NDDLC8PLCZT2TXQMWDDGZMVJRS8SFW8P7E01R3KE6A2S23BIFRB8C9OZ6YKT7DT2UDT97UYPQANZBM8T6NNMXAFMBAXJNRBAA1UR5YECMADZJ92HW2YGOSJHQYFX9N49FVWKUGP4PXIGX921WJ31L627N0CN8CATULSRYKMTIMRE3LHCS8L4VKJBBLJL00VQYD7P6S5GESE * (-36#9QAJTJ0O6K6SU43C1L7UPC5RU6HN7WH4CAUV4OEDMU4UDE1DHI828Y7MS8YVRA8QLEL6GU7ZD18Z0AYDHF5E04GXR0ECZQ11G9HSBVDIOC3VR89W31W88HIF7ZTHG4ZYDTIJCSMXJ3CY07ZVUH2FA7YAMVVCRDEBE0UASYH74HTWL09ACDWP6ECVQ9LMHLNHZ653J2XN5RCJZXMSTF6IHYWGX124Z3XPDCXS6S3G42WLC1I5B1AXQTR1ONGR9F0W8JQ7ZXFK8YYBGUG1CG9P4SGB2SAFNF8JLVKSECKLIBNU3OVGYE8JAIIJX0HDK5SMEIBW4ON6). +36#3B0QBR1Q2EI6OJXKP3P5A6DU86UK7CBWKEPAY0ZZ3KPB97H4EEYXEE4EWQ60ZOA8KXF1QZ6TA4S80SID0QMOVLBCTZ17JPIM1FIVEO6H2NOGY2YKCS31GK9QLTHSJYEXJTDACCTX0H5T8DSCIMELOUYDNBM82N = -36#3D9DXSLCE8QJLEGJHA7NUFTO5EHEKUGSZXXA1MVOPUHI74Q96VJL6Z6VJCXR1JDQP7GS9JQYG50GGVB2ZGV4V3K07C8RSJGK7WE8SNJ4L2O60W7302O1REYYMTU5DEE01QL2N3PRZAB16990CL5GYHZ18JCH2R9DHJP62A0U1S8B50XR50CVMO9KU36I3200MT8S0UMB5IRKQ0QGGIRBN7KR480JBAP1MDM1BH2GVE6XVIBYHKK5J2KBZE2W6IJZXXATALFF8WRHL36UBT8FHGXAWAICBFVYUEZA1HZKGY6GJ84RBIGPG0RIFT5CCIQ6RE9CSOXA44B8VW4UG8RM5GUDZZ1F2KCMOFW6HFMDNL4SA2LZL43KL74CWASETP1XQ8MBX77XIRE4DXN0OBGRE2RERN7GOT1HY85IMUGH55QINYQ1XF0DQSKGADJMDYNLMVN82KK71XJK4NBRY9EZBASCOXW9TXQWH1LMW6XV4ZL484B6ZY7ZNP2OQPR3X5OMOHP7QJS2S9LOHZE7IMVNZ9Z4V0PW9Q3SVQT7LGSFVIHQYB0BVU5 div -36#10OE94XDNE09UIFXXCBVXMWG91SC5ZJXHOQE7IFXHD7SCHXRZHOUGT4GIBN0N25TP0PD2D6JQDGR52JAQQWJ0S2NK6TNR51IG24SMR245MPCW129NDVD0K9XBC4G3FRUVG4ASUKH60HKCG7Z0KNJFK4RY87E25AWM0GFKCZX075XYEXIYK558IAOO5K0HYM2C7TMZHE2KY31ZOPB670QJEUO6S5AF2KX9K3NRIC3NHFFV2G8M7Z816UKA5ZTTFVCTZ2N5F6FB5LERG85Z8O5UVYXC0WE7NWFTVJF0EQ77OH8VCMKNV0A8CB76GVKHXZ2FMH1W6AJF15LAO7RGSP2WJHLIRDDVXTGNE78I2V6G47KBD8CSBUYUGGZ8HUJ2I0V0RML2BMGWF1O4BXAHT22WJ. +36#3LS9EAD38N36JP0YN448X61L07YKA08GAUNH4KFTCHP4RD9TXJNWIEY49WYAAIW5K6VGUGM070Q652BWCJ972IWPFWQD426U70RDGOUYWVQNUYJ7F0192KXUJ67DDPVIFIG1EU2HGGRAE7C61NQ9USEUDNBFRCJAGCKN676Z8D7S2972DXEJS5JDR0J7MM8F4RTQCU0UCU1GOFYJ2533DG6NEW48DYY1F9MYCF7M18CQN62O53MDU40GYPWII72757LNVN8PY19WINEQYPT5W6M9P6HM6288 = -36#4LE1HHV5DS2442ON2FAG7SRXGF7SEHAI60ZZ16491FR2O577CQWZQ914NSFGEDLC8FWE1GU6UZYPQAPXEDWWNBAMDEM5URFX5CEMJTAWKKK870LGUN3854UPH8WOZ4RSZNW94U2L108SHIH5ACKCBXIC5U9J7Q1IEDGYJRNZ27MK4AFKHMLE7FBKUGLZX4K1D3ON3S3DZCAN78WYW05AKOXHSCNBBLBOMUA4SK3N1F8E27V7QWNWRGOG6EM7KM7JWHN5QXFHAQRLAQ0TOXBD5HJVKK8UIILGZIUIAE5I7KUIOU8GKTXN2NO4I7HPMRW4DT2NE31Q77II72J9RAC5AVVHN6QGZ1QIOW6MHW8TC6GAWVTUPEYFTZ7HEJRI8KU17ID3LEQ1SQF0KB1H5RL8SOROCSPWWODFZ9947V0AHIFIJDSRH6XRA6A3HMR5CBAG024ACR4UIQ8DCXUYDGRSSV5OW8SASAT1LYNLYT9ZVNK6P61UF2R9DOGH755O974ETKJFJ6685D37Y1KKJG4YRJH4H4U2DAJAX8NKSAY5VQEOZRJSWMDQUW div -36#19VJJ1B972EA475I3FXGNWAHKQX1TUUR221WYF5V84CE2J5KIMFZ4SU1E3KWF4XBV5HOEONSINFOGUKBYRRTAAE8YOTBDEDJ8H4IU88YTBK99ER365P48DB29GO7IHT149KG5CCUVY88ES27XTXK39LLZ8KPI3WQMMYA507SK8DPBQ39GYMEUXK2HJNTFGCXBQHGCAQFI92YF0DR5CVCRYEFBRL7O6OWMBWLHV14G1QRZL2T3PR8QG6G1PX11N74WD87CH8AYEWW47B7VPBC08V. +36#7H0X5VU7I08DF1OAF9WVEFVL7L6QIWVYS7B3MGEE0OZS47ARQ7HNUO2RXZD4GPVXM2LEOFQ0YMVHRFDPJQSDOB19BFRY3X8N597J0W2UC7QVBUWFDZW5STYJ2PW10J5JG2Y2ZZBOR5TFIH9WG1AORGC7H6RWMFNTODKOKHSY5BT94IPCK7TGCDEFIX799LTHFN51SSN3ADLIJ6EAMSL7NC4QLREHHTYWDQPY9CGLNPOH9PGSQU5U6VTCIHAHVE94G83GBU7Z87RYKJS54ABFXG7BWI5F57G8LRILKZE8T3O314CIXUNEVAF7SQKVACR0VDHTE1Y1PGID8MMKL9LWRI9W869C10M45MOL3AIZGPTLD36JHUABUR0TE6JGF2W2WM01Z12SQ5H9Z3S33RGJ0H04E3NGHYJM67F9B5OKWAUL0XLXSQTU25ZT5HK4HLK07P0UJH8WJV0ZM5S90DVP2ABWN130PM0F1VTVYRZ8FK3GJ69HMBJCXS692097S50ZEVJP8L2UJAI8REE6Q35ZZJCG2ADUQDAGUDSNTV9JNZRI7HED9PMTCMN3EAMT01MUIUDGG5KF6ODL2HOH8LEC02OJQ7F5O7GLFWR19XUWZFM06XKYFDKZ41N6UDBEOEUCA5LQZFWSOCGB2V12WR48D8JKV3XT09N6FZRAH1HUUJYW9MRF0LF4SPXMZFLGZ7DB61AL0L1T4NKR1TM2DL6X53G886UQ0PLJ4QVDSB53IBK4QPQXVU4QDFUSRS800MRZELVY6P3AKTGBC6LRZGCAMA025Z1BQ59R9U7P18V2MFKH32QJ9M9NV6HDLI4P7AX = 36#BQN4UXXD1XVCBER2MXG1FJZLNHQS4ME3OHOA06W2O07TZ770KK28NH6C7LNK0DZEU1WGATTZH777CN8RKJEVJH63Y176NK058WBT5WHSHZCSMYAX42CDNXNR1J4QN0R30IA1T7GXP2WB9FRFM4RE8H6UN15ICGWPS31S3L40IWRBCKZ6ZG993MBT8F5BBJ7KKFYPH0NL6CIUAL7R8PAS88TTZ0IYT4HJKH1OH875OZQ772XHYTUGRCOUSKQRRR86LCDGFWLFC894EOONAX0MHO86UY6BAZ4K5MWZ9XYZ8T5N2ZEF1I7FUI0QWAH4YVEWV3EFCFX1G8QUUORMHLQA3SNRAL779WMN9VTL31L0PONRSYMN2LEPHJ1GYC4RKMZDSBDTBJ9URFNBLOF2FQRP6SF9MWOSLA16SFDRANDMREY2TLJ66ONLXDPQZJAD0XYGREMB5QZ17F6NUFUM3F8TAUQQIL1XMLXZKS49NIKYYKUICEL074KE397QC8JN5CML7LIXTRVXX6DY8IRQRIYHMZDOOSLLCUTACM4M33IBBPQHK6S9EBYQ8A1USYTAV38E5ZYVJOZW0DLDAMT892YAXBM46CXO03V5N14ZOAKGI4LWR6OYPIRH8HE5NXQZK2MPDSWZL0EO97F6NZWRYA1HC0KWV2RT8WKZ4PU9HWRN4JCH22XJQSFEZ6RPFOJBUX6A6U2AVVE4N2A2MY0KWTLCDEXKVS9WHQX7AVCLJY8C4K3VMFPSJ1VF2WGUP469F4LNT7POXH4BJ9VJ77Q648RLRU2M1QYH4BDOX26I6C084S0CYROOIGTNGZ9LD8GGD2FP07KVYMVN1XG2M2R9Z0P3MVP220NY10V9G9IUI1DURI10FMHRA5HM1HCQCKD9UTC215BGHUZN47AA1VZ1713BD4H1VSVODCE1LY7FZ67TXYY14QX0JI97ZVDCQWD626VVCORQT20W36EM3K5WOPOO9B69C6Y7HUVIVGUAP4GTXKXPPZ6RIJRSDJHWQHJ2P1LD969Z0IOC0486RF5OQKXV0TXS7L8XPWODB5Y289DLVDZ4JOSM5T5D4PEMJ2O4PY05577UR7FW6HW9SJZNUBQLWZABL89X7RC0R4Z3ZA5TJRHLNKGOASIH31HURTWXRZWGEU5F2OTFM0NGUC9615SKC0COS69M2F9E00IR div 36#1KK1678ELIDKGI9UG4DX88M2G8HKRW0NNKVAVK5N7LN8QLELS8HJ4D25KPS2PRPW6UI1KSYDHYWKWXK77V96EGMCKY4WIQ6BAVZ9ISI60DSXUZ1N1LP80VDV65LY5V0DD2S9HJ30D1IHVYMAP6E5D0G0ZPOPBLGNXDMDZ1R6153OD19UI2HZB0GX422RIRTA0DWQGO7K76NJ1XR32M1055QG7SE39QVT6GI3GWF8XM5RJBE755AV8JQ5MTMCSN63P6HQHE0PDYKJ6ZYFINS7SVTUT8ZL15RIEHO7RIPFKAEPG44EE0Y4C4AWRMPN5U53M710T8C3WTAJKRCX2C8X0JPP6HWV4N269VC2WR. +-36#1HTHA0MTYJOQ3OA2YT8M3ADGB69RG9QJIR751LN77I88CJHVXX = -36#1XLWJBCIKNC0NA2F86R55KWLEF32YP9XPX0YR56HTVG1FQMRWGC1MGYH69DU6J4A1AVSYOYGSLUWM8MQT2IYAQDQ962I3AXFC4KT3GP8AA4Y7AZUU8YPL97TNBQCJ5JPSU346MZJBMC7AT1UA7D8SCLSWCDFJFIA823WSQR1S8Z57I74QFTH0ZHLP6CNXCLZPX4C5OUOAW8S68Y8KWSJM37LGOAYOT1V22C5TX7PELA8GFOPOHVM3IZWZX9K7OG55ENL3NY317ANSZXQ643U5WH884D0MX2Y05DKNO div 36#1AK82X3V6IMORNKDJONEJICF7RMM0MVX0QA6KW4IYXY8423GJO3GBNRIKI9TL3AAIZPSZ2ONSZO6F1D6FY2DKRXW5BK3Q4PCKKFGV2ZDMY1LM1I9G3M2TLXDDFA8QL7RAAA92KUZJ0D9UZV2JD3EQBYCBTS76W6WT4SKBYHAS571KP4NLTI6PP13SW05XV1IOUGECXMGOI76Z2JTA7RZTEKFWVWQDVE47LK2SJD4ZV5K2RYIXPG5G. +36#GZPHQQN4H4ZENTMY0VYP47BDFCVN3BEOGC6BUJGU9HPREITUGELI3Y8490MBVSKSN276INMV4RK5PC5IVHHRJALI7W56NW79E79W3MKBNWFW = 36#L8WYUTFE1HZGCKZ7NBUA2URI0H6LANICHC3PXWFDJBIEHJIBA9LVHY6AN3X36V3N01UL51E30JB9VWKSNH7GW82FUHRPHNK45E9S9UENR09X441PQFK8KZI8QAA50CP9025DJD51SX2FC6AX0124CLY4SKIO4 div 36#190LEIALV70BZPZ9V4IZOWODA8A8MW78OGD2CS6AJSF01OUS7Z. +-36#TVYKF5K8PPFKHB16MB59L6TSDP5KE6EVAAIOXWA8KKI7VZQPAYM09636J0RJ7UNCCW4WPGJTQXOLP4LEZ0UA57V6HZQYAA85U7L7SMA6R8PMYMZ0ZE6143FJGXO40BDPYYY6QK8CQM0OGXTOQ017ZIO = -36#IHJVQ144B0CS1N42HEH3OYM1OWOW792OKW6IH25LEDCS1WZK92Q13L2AHJB4SWU5O5TKFBOGCQ9SUH4SY9R6TKQ529Z8A7L08JZAL7 * 36#1M762YKWMUPV8TKA332URLBZC09HQ8W9Z438XUS7YBZANIZ92O. +36#2VM4P0QV4ZE06CIGMLUJ5FHHRYZG7NRO8A41BX5A0BTO11MZEOYJQAJRTFXSZK1PRBPSE6V8L993XQ2W61BLK8QWDIF7NJJ8864H8DL22J8PIC75OETE11B4DKOXSV44AAC0Q9GLQWUSZ3N6MBACEP26G8FPUGZ0616HAPZHR99D7EBMCEVFXCJQLUTFVZ544ZMUKT48FROPCMCCGM2MJVIHNX9HRURRCN32EO2BL5FGGJL7WTMTLB23L39NZUCPS49BM2XUPL3OK7MVG1O0SGQSHHGEJB6E4TF3O33SVI516XFGDLU9ZDOVXV194UQUVABKNIJVO9PXCDMYV67Q55HCAENNATOI38GS2WTGU56DJD50GAEWJSQCLYY3OFEDVNUVG2XOK20VI0WI9LBPQ3XHZSHLZWZ4OTZLWU1ERBAMHKMM0QGQK9B02EMLE47D3FH8T99J3UHFODWWE5GF5SQZL91P7LLWUCMTT8S0N3ELE8F0F1I8NEOT24B96VP35PGTWWG8CYBY993TUQUHRVA8ZT607UBVXKN7GR91NG3SUMHSOB7U9Y30BJ8KKH4K3F51342O0NDUZ51VZUIZY5LC112UYY126LM14K6QIFW2IGPOL4PKGY8VDLO5RY9EDXPO42IKEP5PEPEVGTX2SEFM9RASH5E1 = -36#7FSK0SE7JSH1O3SZACWZZ2PNU2BWR0P8H3IB85OP5UYET0JWZYSUGUHM9CHW9JEEDRVQLLAX3IG5HJ8HYK9R9133P4X4DZD2QE0WZBW40DGMAH3WA0XFFJN2E3HR6YXU2M04YQUKIGDM48NMJGOVKNLBUJX6EHV5ACFMC327F29UQSPCWM3U2D6AI5UFUECEP9EDZZLTA1REJUJ97J4OR4J2JR0JXKN5XZIQ6X4JF2DPB73VSYUQLS9XFDV1CPSC7ZOQQL75TF4WJB2YJZBSZKLCKD4F4ELC0UTAYAA3LMEHJFQW535064OL52GHIKF85Y2TYC58E7NVRAIF13GURUIL6S2HMXNHMWV86SONRX6VH5SWRU0MPZ4407FQAN9YGNR5BTP6IGBSLC8K7SSXSJ0XKMWEOVAFSREGQKF0UZSKJQ9FYSBOXPXPNLMULZQDCCMQQ95R1Y3265EF090XL21EZM6X16BLRZUYXRGL38YIT5L8BNT7F8FE2W350BNPD5VAWZE84T3DJZCTL3X6T12Z2CCVGHC37YL7CLC09WM2O7UJPHIES1EQ7W5YTS4P9F26OTNROVFJSQD3KGV32TG8ZPR4G24CIN9CA7ZK8HPOZ1292IF9189GNPO673DKORV7SS0EDISSZB82ULMB938YROE8CAK8XMEXPGE9TF00TU89EP20M0JWMDJEFYWPZIJG81IW0VU2O4NOX div -36#2L1IUWNIP98LZOWJCNE46FG0OSVZXYHCBRQQROEMCQB30QJ1UX. +36#2CG8DUXZIS756GX0CKOZV2JQRGTS4CHPO2ZD7H05KH9YFFPGM8 = -36#4RZF19D45DRSA6XP0C3X5R6EBY810R3Z3W8968ET19RPA48V9XMVVD8NA3SSODZBV8Q87ZIFZZHAAVKOAJ9CV02S20IVEKOIJFK div -36#21BAORDP1KE6691QPPQJ2EIHNXS47ZV9D1LR0041G0W29M9XRP. +-36#1J46VHDLYGOFO7US4MUT46BI3O2PHOQ670W1VUWOUE0TJTU8UO = -36#IYA4HGB1YTZJNVW0NYIX1AT3LLPFZMD6BLOYPJDC3GTCF3X7XWUIEZT6DZZ5V6TB6VIYI8775ZRKD6BZZN4SNZIO2SK6L7VHEL33NFYL3ZNJ2KRV2O3NJ6WZFR2IABD4P67FVBTI3HXZ17IP3O8ZVRYLZVRVZ6L8BENRW9XSXKL81JTZ3GZHSYY3CQOBCGVOJOU3M1GR6Q5SV1L333S3XCJMARFAO6UWDA10ZAUH8ODV2Y8HQ8YD4GPFM0ORVJR7O2EJLXWTDRWG9OPELZZK8X3J5270Y1JDK7U9T3X00U7IR5EOYGYEW2D77Z8F5MCTTKE6S9NQQ72PWSZQJECKJ0HAQ11F6HVNEEB7KOULHJ07GDFIZKTTR8KFN1Q4X0GQ0FCAEJSRTOKTR804GO8K691VR18NQRLYNYXS3KKEHCIXD8G2DEARU69RXO16FB6CTTFA6R1J127QI4EPWT4HILZIV91COIE6NUDNJD9C457CREU7QHRBJKDGJJZZSSRYBIDF5L3OP5WCTH4I30WR4KT4ZVY9OM2M1R5EPVAUTHYOV3P2HQ6TS1RZ24EO5MGV53VZRYV1CFJYFVWEMZ1K0NYDLE2SR7GVFDZ68NWOKCI14E02SHSM10Z7MQO div 36#CDN2I2JSG57RQVJ1DALE2TMDSKTZERM0KSKNBCN52T73ZZ3A4GVNDUKVB9MOLE858HCFQ1WUFI7N82BO44X8UTHLJBACV5ZBG1DS02T3EK1LGB034T8F7YN1Q9GACQWKTEXFENUUP7VFAPRKTXOGGMJ9NTVYFEMGXZH39MIGC9IDAMGT0ECAKBCGP4E7FWR7UQUUULCZK4BXDHMPEP4RPBMOLCII9DMV854KWAQ9BCQZOIT69NTOCTTEKZYSZY6T54QGOD4ZX9MWQ67KBF5URB0R97BQZIUAYOM8ZJGB03MU1TLCCMXZHW5NFDU8GP0UGNUQ8YWYV6COZYMLIC8SP4CFEKWXA0BWDTZCK7IZN5Y1C60O7I4BC2R1NW2PTGWK9HZS5AWILTOP8G2NRGUC5DR31JN17EMORB8XKTAI55GUJLL2EZNVJX9BAZR65Y2CVF6VG8I8N3IU6FDJEJ9DP6IU8NYQRK7BKPNVUEK4OX2X2XURJVLUQTB6SIJ8BW0SAD5LO26R7FAN23TT89LLQFQX2HA89T7OM76LR7CHPTY9Y7CKN4XS31T92BH4KV721F7HK2S6CM. +-36#Q9C04A1R5UXQCTYZH6D9XGSH1UVWL8MZFWLDKGMEA8OXOE9NJD7YDHDKVTSLVIWQRCMVRP8L1VNBTKXVUBPMA4BGS0KF1OQ7JG = 36#E4XMBQNIMJD8V8KA0FGVHBKSMQE10SQPTD4ZCRKUK454MNPGK * (-36#1UVAHHGZ6GBAMVS3KH6GDN24I413J2OJE2NK4YWR7EYIYH8N8Z). +36#4DVARMYZT88I1ZPYLANCHYM7Y7XBU4B55VRQPHP116FOS6P0X01QP1GIB5TVHMMTMBLES5XUUT9FNTMKKP1WF7UO332LYF7ZTZRNAMHXRBZF07YF0G2JP9PJK1MITZ7EEPCA60678FN4LPARTB9FLWRJOLMB5A46MLD00YQBUGR1EUD2ZM3108RU4KPW06RVAROSWPOR4AS0NIIO5DZUMQVCU1BH1G1Z1UY7JQWNDV3YIEUANPOVGFI97ZS8FNMCWRVBWEAQKMIZ68IH4YGAINMQ9DSN8WYJ5O9NVVHTFXMNZWTNUWC3W7T8QOOTAX6S1G8RWH55T9PYUADQB1L4XPTJJB9OMI92JZ4Y6W4QNPSFQ5A5CNGG8MKX5895Z332NCO7EB9W9VTSV8Z03NQ0M6FXAGXL5A73SBP6M = 36#ZXSLPXGI4JL05L0YANGQ6MWWW3GHYHQMH2H3AM5SMVML05L5RY844VGHUU61LUZ6HSLXXVEU3ZMC4IQCUW9YC57L3KBLVQSQN4JUUAUFV54ZVU6Z03LFO866H00MYW4P242EAZDJHTFGR59ZTV07D6CI60F15XGSPVGWN8K423IPOLTM24TJE9WXMOI0TEIA7NA53OQHSDR8C6O2JM8L5ACQ90739153MCK72D44VGKFTY3ZE01RPXU1JE69915FCWX5EAXUQMOABK0IN5WSRYLPIA685NVFM5Y3MHCNR57VDAAM3YOD8HFS7BSITVBGHLU8O5JFNZGLCI6AB0X3GH5OR5E2TCGC1J7L6NV7A4Q8UHUGROI9UE0DOZO4XUOBKZ1JVU3ONLEKLYSLR3EAW0MBT1DKFJPUIKBVA5E03RWOT92KMOJC1EYRB8RWNLGDQEZEYSF5EUB1ZSJHJJ2MOW9T8I7ELEEOLI82UP2M0POS8853KCUSUKQ1WOU8WPVSKWPU4EW8D1HHF0119UTBMZHGJXWCURCX886GE2C3279HYMCNGY4DLV5TGFQGVJLFLNBSN3WCU0A8V8PF2EKQKCU41N9KRGDZDW2HVXXSPFOQ5DNONQMHKSE2P7HXQ6AD5A7QKND4R7FZZE5LE5B29QKB190GAM8VH9SI84B3168TKXE5YZAV73S7ZWTBWTG48JXIO5UAG1LFDJ3MAX70PFXFCJ160QVKH053DON8M9IO5LWER18RJSL85L66YN7HPDDNKABDLUH9HD2EYZCLTW5QWKZIUZ1L54HUDPLZWSEZYKZA div 36#87162HRMAN5DVP31M3BOH4U7VJVBEIMRIYWH2QHO3XCD72ASZHFHSV7D2CX4J9S66II6ETYPKNQASLE293JZOQNFDXQDB1E13Q7TW4NDYNYLQ1Q9XQMQJM9DIPS82XNU00GZYRMJN5OLI9XNQRI73K0MDEH6PDPU4HUM1RSWG8JIUSN43S9OJFPLMFYUA9HNFEITKVBDRECTMZYW8ZD9LI8KZHIKUET4KAYR3U4QOE6WHIISF4XJ0E4829CEY2BQB2TU23VGCKAGOM6B39NHJTASGYJ8TFQ0E0N17570VYLEQKWOETTK0YYKITV78NPWUSVXTWOIQZKNRJ0V7AV0LINX7Y3KJXKM1IX71AZH9QQBGUG4O1O66AXBMVO1EXZOY8OHH4AYDOZP. +-36#OIZO8DLP65M6H94N3X283SYQTJP3CW1YO8HZYCH6G9Y8KEYLBSBI5Y0M3F7OVXFY17WPKYY0O5J152A2VO46M4RVDSQ3465KCQAIASPUYUZ319YR2665FEA4J2OKCTBEL80LBKL9MWNST4UTBF42JUUNTUXGH42M2HKI7ZL11XJN4ZPEBCDYZAL6IX4B132ECIEVDSP3XOYER992JP8TCUSYCK5KGEI2ZJ446H0PPT9V51OJFOPGO0JCM923FBB4VZDJNQ6K2VNYB5NG9TD5ZNYT6W07G4OVSGR25G6064RVWVUIJNIIG6UKLLUB8WGHVXEZTGUOHIC0Y7KWIKP6QEW69CBDT8FTP1GIZHSQ2MXRHZRUY8MT5I7WZZ9ANU0CSR14IY6U9E6U0WG40D0D92PIO1ZZNGF6TWYO0SX4DPL6HCBQ55JY28BNQDPROPPNG31KJY5JFOIYGTAMTBEH91JGO3WIKWCYEOG9N1E6GWW8I6CDPWOE682CHR5J5D81YEM7I4QCMMD9CL1K8S1O820VUJ1KNVNLRI33B521YLQVR0V5CSXD8XD1RHS7HTMLYS0GSSCHGX3KGC1ABJT36C5YGNH6MMR1J5K9MOJSZD5CT0J8I3PCKOHUUH2R2IQM2UDYWZFC8AO4R0E0B6FH5J2IELLHO6BMPHH28M4UVV9AF7M21HRGAG7BYWAQDPIO27ZKDG9M17VOZ5FHOOWX36BTRXTHITKOKZS93ZMOYNQFBUVSMXF479EYZ0EHJECAU9ZT6M1AINSVJ1YFWK7WF0LS4ZWVUYSJQ94NCQ7Z8LDKDTDSAQZ43BCK0PX632GQGQ97FSI6BPXQW06216OXVLCJT2MNG0EON4MN8NQHZY55OZLRJG5QB9BX6DU0LCRAYH29QPT7ZXHI6TPVWQYYL71OHG8GW3S778GGETWJ10IZWUA6J2OY8AGZW4QI7PDXZJWAROLB1PCGS0A49T8F8VMZVSR4O7UUF3G7BLLYD2J4LSIXEE850D46LJX8Q94Y0V0EBUUNOD4UU7HRGZ2CA8A11QHXGZZJCUVP5J5QDVIY6NNT568JJHHAIFUVS3CQ5A4T77RVYDN1NP2IHORVEYUPH1VITGNGCC9RIS8PWBXENLGDG2NGELLGC0XX044QCJZWP1A2C1Q17MKGUWAKG0MNSQNV2E4725QIZALTF4OSQZRFKKS2U07RDIG74EDYX00SG07BDTSRX23EIZQILSA83WZCY22JROYCBT2M3LHHBDVJIWFJ5S836P6UYL7FX5VOLPIM5HHUFE1Q0X9K1ANEWKFMSGRIJNF6CTROM0IZ2S0RG1LKL99VSLBQ6Z0K5DH4VN9EE34Q9T6ZMX4OUZRG27BQO1OY9U9GMGX6DPBTLNTGDDG7YPQV9C0RWNKR84DGEG6R040FCCWNZTNRQRWGY7GD7T5CQASTPS0R0AWVCPHJV9QMHDW0JI8DNZLA2I79PLMUW804EDUDNNL8WEVF6J17827CJVSQ1OHQZHCO1ZTOXG92PMJ6OPZIQMP7DWTFU092YEU6U5QHEU7ORN3GA52N1R8BRYCVDDVUR8X07NRGQAWCPWP78OA2V64E7QP2 = 36#I9KTJ5G9LZMRB8Z6KY3F6IYD0SNKIQCHPXDOV2PD9PZ2L30H9PY9WCYUYC24PSHUGCECW04Z7UI0BUP2NXQLAUD0D8U2OFENFGEE7FN5AB8ASC70B547PP7R4IO6CE4JMVMTKS6KA00PM5N2A2NXIRWRWRX4IJF1YOEROVTC6KS8XU5XCMDCQHMMVH74G1X0A8OXZ0FOFFN381UP1GCUFDIGSJH7DN1516AWO2D0CZHEREB7US7PEW2ZQH1YM6UFBAD59MKQXBP25DXTCOCW07FNWWATOJ81PFQJC3AFBT393S2GAJQBCSJJM8MEKHZ5SDX3AK0KX3TBK2LIVOFNSDG9NQBBF3KVHO7H2HIAINHGINMD801M9XJ1XX68FXR81OL8LPPERAMI797HES8BXH629BSNT9ZWS6KM42X3KA2PDG6FZ9XIG7TZKLAKXHN7NCZ8T2L5ALF7JUPCYTRCB5YV49TO9UUTNHPOH272VNCY1EQFU4JS1DG3NRLQF4KD36LJY77PLF25E4IXWELUCL6GPFRDIJHQO8X0NDHH500WQZCPA3WXVRWOXHSG5AC3WJZ0G9HHZYUXUD06RPH1GF3R6LDBO7FL912K9A9F1CQX0WYVFQWI8XN0D4PBVRZ383WY1SX3DOZDH0OCSMWSIIP7OV5FGVSL1KVGZH8O4ZSRZRPR5FWBT01L9Q26E614U7KPWC6BN791BORQLV7BBAY5HS9QSEJ66A9J67GKPIVHQZD7U55V29N9HJRFWRI5ER15PWJPSZ7KUULL3Y16P6LQW06UOF4NT2LQSPIV0NHEMV4A9VGZC59ABDV9RINI03I1GAUB34YUG5HR8TD0IQP3NRQHUS24K5QU186XM9SEI1XV7JTEI50E599QDQUWUP5VCJ5LS9R0RDZ0J4SFG9BZRCUKS6KT65L1T8PT12MF7OG8MNGXQ4PMAGXI7RWYX8XSUPXKYZ3JR82HYVRU4OOVSW0WB913V8MU83K5HYKZ239H3UDB8541W85AGPQWF2PZWW4RW3I5MGPGPBDWCPUZCD2P256VN09M8NFX4A6GEGJBWQTCCN3J66DXR491OKR8MM7W6QBIH04D701N1WDC65LFBTI9CF466P5EPF7Z128TJK8Y5W7YUX8AA3SVPM2P9JLJEG7U7U686EJSKO08B46KQD9PKJWRAT0ZQKUXFD8P8PBCV2W71NT6JOLTIY5QMBV4UC9CXOEMA0BCG2G6Y4G7SIAJ7200L2G461PEL20TFALABXP7OP6QHEWIR5IVU79CXU2SGY2YVEQ5SJWQJ7UJMC1Y8CPOAWPE7I2I51TNZ * (-36#1CC9AVSNAUSU5SUECAB19OLPFAVSU66EMDP1RFQAPX8Y3L29Q17VP4IH4TJKK2WEGCY5GHPON90CVB0EIKYJB1BWBZ5WJ0AIIF6FZKRFO4UIBWJLU7IP25GBH3S1GI9CRNKD0LVNYYKXW200W3CXNHFZFTS90YTC6KI23O5QSEXLLY08TEY1P7MNPELOXSECB7P09SKLJCD3Y1GB4X0XI3SVXLPX3QSPF2RK9WLDRY46LVL3SH451ZC7S54K2JG1GJCN8VA0K4558RYAIXYY). +-36#CL1KEEYDH0NXQKI48P1AEU53UX235UYSWKEV7YQLHXGJNYN9MQE1DO16MJ3IDWJPALE7Z0GQMND01SCK9SNQICJAYN1WQ84V8AYU8ITLF4JFO42Z9T3K668GJLLHDATZS9ZF3XCGL5N55IKPMY3V48V2DGFCE27BSZ09S2W0JUUT3LKZER68138UKCBCGWMUKRR6NCXEWUIPTVNAPNBSKAETE2W6LZE5MWG2K3T3PPN9IERAHSEP8H82FYUCAECXQOVEDYN9WF0B51FBH5DZT23E7R3966R03U45Y9 = 36#5CAR6R5XJDY26TSDIXPQN9M4HQ71428QBFXO4D7VR135NRJRD9OKA0AOKBMZL156SGSNLOOI9BC6N6N2RVTIOTQLL5Q61IGPQIP5Y9SWKH6C9B63GTTL6T3R7QKEQMEEOICGHU8GTQASALY68CNX5IM410OVIDTX2RIH9F6AV27VYM70SI3SBTZU629CTH4KXL80RTLMU74SLVQHKVEZK3AV8KCK3TAGIHW3E31BO6XPL3W1UR7T1UCUIHHXE9TMQ01QJXWTMHV08EQX7C06RVUEY9GQS72YSB6LGUC9N6R1DQPCVZN6MY9KFUUKPK2TN6N2SSFD93NAGCTODP72ONLG0X6VALKBP58NVHREI71T7DB4Q7M3GSP85ESZM55PQP7VVBXYR60F33AZUAL14G6XKOFY1BAYFWW4Z4T2SPD8PLY54L2WN35ZA92CF8OT48RUMDX8W99LB0YBVCJB9JHWRTBB1I8MHDZ9MKEVUJ0F7J1UO82D6NX2FIJBUDMSJSSDDLQ04USOT4Z561XRKM51E4TPGBW3U0Q6W043GS58CNCFYT65U2XNNNVJXQZ8VVDRBOPY5BI3RFJAHTLC9YLRI9YLGCOZTL6VSMMLM3K0VCBX4DWSWPJ8TNZ54KPT2X17ZCZR99R4FQ765PF8HPJTK443R60A4RXO4B59FD0MAT6XL2ASYJDEK714UBTXU4X6V3QVHRPGW6Q0SU624QXPBOTMZEKZSU6PX93UF8BLT43TO9M8PL4LMPS5WKZIEFBYCUQ8SC3CRJWWQ2A6JH86LZV87SDSEFSYTWNIH34PT8EXWSGZPFA2IZ2P2OQQ9JT7LJM0NDKRVFB6M95J5I78W6BAV0S8XEZYWINSP6D9NQ27QDW7GY1FA8M85IY8HM4K9CNB30CINWCLRAKRHMYIP7NG23NJTEZLL40LNMQ6P1GX4NV31XT4G68QGG69JFMRX9EV7CQ3DQG0 div -36#FA3LG8H3WZLXEMRIHV1FQ3HKL09Q6ZD8VQ7Y3KIWFPEUCKMHG6YXE6RY9504MPUBTVC4WHR8PDV0RXPMHXQ2SW6D2TSPUYNV3AQ6MB7ZGHX7THBHFI9I9L5FT7TSGQ8YVZQ167Z36AG533JO29KKW4MPWMGCV5JZYNQHTE4RHOS3IKI5Z0IRODEJMF0MOICYEJNQAZQOPTRH0HKDSAUJNITM1HB590JNICE1LW267KFQR36PCZXQZ4TCA51U6C4EJUVBS99LBZ80QNXFMU84C6J5IFP0HEE0R5775AXAXATIKJR3ZB7EF11L5PX9UFEEB4R1MPU7DIC7LP0HQX9ERO0IIJ69561GL1G79RI0YIWSX9CE83847JG3ABLK3AGFZ5M4Z4LJ8XIU8OP90TP422995QW19JNCBZVQJVM39SN1H2SU5S850RK2IH1IVCPJDS0B5LOHGNO7YLDJV2K72HD0QCWEWBZAC0A8RYPRD3R7VAEOJJSEARE6KETZY7E1OK44YKJ7BH9DWBRV112YB68IE3GOSXSY5ZTCKP4Z8WYNHXREJ6QF2KI5WU4HT5I5T7Q740P2SDZPORTSQER2GU4VSYIIKEEMWB12SL1U0PZN6JOBFZVYR2RNNBS2IZL5RZ42AQ2ITE76SLDEZL9GMM7JABRDN2KP17QL1MVSWW. +36#QWXM6L4KN5NW0G9IH565VNHZVXPCAWKQOEMFWOBDV2GA9EB4E8IWYVTC1OT6IIIW1Z387H4XX6PB9LC5EACQO83VKAKPPXAMOGETAKT8FBNCKNE8DRWLKCPPKJ7YTFYY48UILE07PI2I5WAYZCXWGD3ODT4PTO3QZ9TSI2YIEBKVP7GVPDLLMGRYEHR6BXN9E1KV7YIXPQ1GBGEPEYPIQLB5RMMMKG85DTI51REH93L09EIL1GT7JJ655E90G6SW3UQDWSEM3JG5G6XL91HYD2VC59B5MZ8H07SK1KMT05JUIDZSLHXORGKSRTKP3YJUY60FP65QC2OK0MGB0W8D916VP5B178LE8X9S07RVCO846Q1D3KAKQP5FHZBAV1G33RCA71S5AVNWSCCN2S0HTGQGU57L4E5B6A27POLL1TCPEF2QTGZ8T8BQM6RQT7ZF20C991U3AUR6RGWYLT8PQYJWOF5QZKXNI1SHTOD6XDDHZLA5FCXS0QTWWT0FUF2BR4UOMZRMSTF07F7F0KUWHHUSZ7I47FAFMOLOH29UY4NCO894KW8KATEM6VK7PZ5S1U7IWK6ZNFV17IA6LWSF9BB1R5GE5280A27O6Y3A1U7ESQ75IBD0QW3LUCUW56H4F2O7BN6ZVZPEZWFM60HLFPHGDFU3JJFQQRP9I6498RUC7PU6J1N65Z9GQWFIC8I2GJVQGUKBSU77OFPDXDHRT4EJMIF2K2LP6BBTKD6T6SE3EEICFPQJHX7HDSCDX9TAGV0GXNHC15Y6VD3NPP5KEFR8I1POB4SGNV55577ZMY65PB842TMXJ2D75YCXH = 36#WF1ZGSBU1HJZUV56P6H16YPEZPJCA6HPLWK8BVDU7LFC31MVBDAD2LDTQ1GY1R2YPQUT5EZFT4TC83AJE1Z9F5NOOENY4KG9XUDU7M8LEV9PW5NGAM03KLVCMDBZRWAZCW5KPBFF67EPJAACUKXI4AQ44OZULAXPOK3VNIHSCSIJJGMVJG4X53BYU3E2XIZDLL8XVQMYTY4W8WA9ECW4SFOVCEI0GI9H0HANX3HJ1T82Y4ON332RRNQD7JCSNKK5W6WN6ZF3ZQISC7JLGDFTHK96LBVCOJWAIYHHTNP1SP2H3AGE2T99VBCVT9RTK3YISKMXVAEJR6SHB3LXZS1FYR7RHBEKAML7ZVUU3EIJK6SDUYELG4CD6VCCXNFRG6WWOYF38WNH44Q2W9NZMKXX31EZTRJNIU9M3VAK05RMIR0DX42MAJO5AH4ELWWYFEPT4YRPQB3DV66AYZ5IZALD5EX3W4WNHTJ2JU5YULCDTF859OGLXPN8MJEQP164NA0S2ZNEWVG3ASWM81SBIMCI6OXT63FOVPZZLQENY802FR2C8EVCMKEZX298NM30CY4B8INC8HIRBOHI9FZNKFLO35CM5YT2YKI5X4LFN7E3WW4SE29KWWAJ53NVHG4NKXZCYJ7BHYUL966Z4FVAZUDF4ESNFPD1Q6T5TWV9F85TX70TO505ZO6OGKLSJYEVUBA6SESGX0EDT8FJ7WXP2JX88DF51Z8ZQI1Q243RAUM4RHDIN7WNOIZWXG2J74LU11A4GGOSOHVMSUZA9VTP1VLGAO982348DXX55VX06AXORP37K99N83GA7DC9BH49WNVTU99P0SILCKF0V79EGXVO0N00EMYRLR0V47MW7NHDG6AO1TLY832SJFL08DTNGVIWBGOS20GGL6OSXHLCRKKAGY48A1VUFF0ZCDOWRYCPKCJXOIHK2RBAQR8KED div 36#17CZX3JRAORLXB30LLBB6JNHJF2MQY29FS2I54WX2778I6OCISSS04HKDVGPTN81YVPROVYB740RO4OZYUEJ2ZIGO0FPFPC23T8MHD029IPZFKFGXH21YMAGS6ECR5. +36#8MODQJZKS4OV019OOPWYIHPPX5ONCJPVT5Z2RV1QTI58ABUU3BXSFXDJB53IX2Q7LFSF1FH6YPD7PCJ4K2PHNWK3S2LI1806O2FZLHNF0BX37JETRG41L92EL9IN54C97E8OKY63Z0WA7N0MHY3JFO65G2ED90YO9CQ74IFHSGJAGCOV21E8U2MNED88M2LHXAO5UHFH7WHLJ1TGOOJ5CBLNL0P4T9HBVWB5D5ISM11ISR6WDYQDIL3NZFVIOIJSDTBSGJOMDVB04SY2BWS3IEXXIRWDNUZL5ECVWL2JI3ZX8Z481B1LPJY83H8A9NM70WNDU7X9XCUDQY9XPFYJ75M90B7K4TTBG5IN4HWAQIJ3NALPU44CBGU1BN2D97W8FCBO1LVLLVX7HQ7T0TG2YXGO5YBZC0GFB1GU9O5KUKMUSGTJDM9E6S231TJU2DKDV3JQO7G1P7TB3VS32Y6TH8JLS2YAFGN0PLQQJN96QRVXWLUJ4IIUO1VNM575PMENSWGJGK6DDY5FYQHAWBCPDK7B8GMDU347XFAAWIMT4GHWQMTO9UQ81AEWJOZH5LUEU73NC40F88ZVF78TU6KCRZSLJJV7EMWG99F9VM0OWTX3LHX5JF542BV8X9LYXA2NOE2SK8PM9DMCP15WQV2G7BSOAEDR9O4Q4YOH4AD5HSPMVS1JN1ZPS7NAQZM4JN03VR1OTLQGK6BVCMNJF7FZIMI4UFW52OT2AOXP67BCC5CE7IZGIRGLAFWBT7SH56ZJ2OIT6UFTM6LS9F2GTW2V9APQLZ9WCTK7AD0MNTH2O2OVBX8CE5C11L5WU73TD1AMYWSEG3P10S8KC5793YSHWAUG218FNSQHEJ8EXWJ6MBYJZO6BI0YY6JKR8RSXHNGSFKT36I1ZX0VC9A43OOEI5S1G11L6SKXA1NZHCB0L8TVQYWPOFQB6EQCNK14V4PJD5R13EUS5EVT7VSX2ZEKK29R92V0NEQETWDJPUWEV09ECBYOF7FT7Z4Q0FINEG0ELODE037HUYQH73H9FH63TP9F6W3YLL96JIBCAIIAV11FMABWG4X541QMBMGE84TVTXUE2LZ23SYV38NHD94LAL3WH62AAO2LPG3GVZYKF1UFIITXKKCCG4OP2NXNOUGP688MRW99W30Z79H1OG0XI11RWEOW1G0HPI17KY3BLU00FYVBZVSAOH9C36482D0D716A3RWSRWXJDWII7JFF15YHPDGOAVUNU6HS6NNIBN9QS7SLB9PRF2XEHPMT1RB2H81DB8D5PJBFNPA4QBO9XGR03VX5N9V74S870MVJ7I34TX7KAOD2JXAYCH5UKE2L57G3LL17GWB53SCWSTBY2FKLJ5T99CRVW57BO9IIJOJRK3MKJARY1OJ4P6C7HSNHQNAK3U52FH9CJZKMIX4MQ3A16K7K991XZD9A8EE60NPUUVP5BEQY8NLOO8QIJLTE9WW4UNHZ4OIU3OPMDPKAJF5OAKFN9PWL9 = -36#76BS1APM8GC26JMPXSHYW4GO0Z9XP6FCV9IVID4Q31PYPKDBJ9L5JT5K7O5FW09ROGZ41086U9SU5984SM2C8K3T59F7ODE7X6WZFMH29HL8R2NP8I36CZYC5RSXRPQ5L6MKHDG3P0WSDDXOJQMF3Z6H8L2UZKYLMR2D1D6Y9PRMNQU01OAPC3L5QNJTWTXMXB5FZ6VKO6A1S5HC59TXCK2LX1SZ2DNA1RUUPGOOBBTE61SFBV2QT31IHS8C15CH6IWSGYOZVXFPH0ZTVNX7RD76HKH21SOE97PAMGCGB5OE6DJ7WDZUOLE9Z7Z9IVJDNB4DAZWW1HPORFFXPSKU4NZDGZWP46KPDIZTYPRQ8EX3AFTELGURK2ZBWFQL50NOUN9EQXY34QAVCD17AJO6IYXDAI0JHXFENJBTCVYWWS8UWPNDYRZ3YAPZSD1CHZ98AVRDJEH5W5DHDLKBJDG4Q4WH4H55S2SI6MQJFIFR8E9II9R28IPMI9BUK5P1KYN866BD4WIEQ7BZSIOV94YE7NVC4RU5G0SIBWGBFC3M6MT8OY7J5CIEK5VSAL2JJLAP3BC30POH0ULL2WYB3PWJIBPXQL1W0ZWMUK67L7N8YM9PRGCIPV1VL23VJH01ATROU4LKHSLFB0GVH01AEVJL00WNFC4YG6RVNF21ZT3TPCSKZG99WGV58R6SKZZKXE2HW6BRMXRX473E6W84UW9H5MF6039XGRKGIACLVVMU8YYXEF6HKWT5KOMO50JKXXTXN77GT8ZKTLF3031NQWIXD50VZE6MYIS71Z56ZOQRINNY8QLC62H3VNWZQANRGXWA5H2TY4S07FE8V6WS6QIYN1UM54L * (-36#17AMUNTB5R0AJR67FLQKYNBWH8IFDHMRDPBLM2LUPZSVCMJ7YS5PEJZU06A8B4JRBZ51VE7RIDMACCKJHB3ZNDK0BBZWKW92V1FNTB27N0K3Z2VZRR0J9S12BK12RZ4XGE3H4Y0JUCJJ5CYY0XQS8413FZG4UUWOKBM3Y1EK760A4Y0SL2DOP5FG2FMZ4DQP3XTRDYKY6G8KIF29MKTQ6N6XEC4A2IVLC2BSK9LD1JI6V5CLQQHKGNOU29CYUIAFXY4HZ95YXY3KREZ2TEKF989F86JHDJ0SAYY41J5E1SXVRC5D8188YRV6JUVSLA02PPV9TBZDDNDF1QUM5SAQ77I602RIRK8HK7V15CE8QAXETNCKM5WXA2S5EU7RFU3QGDG2CZPHCRDKHW4SY4ZHA1MQV8YIKUZ7XR3J6SR9Q5SUTKHRDV5NMN9JBJ3NWGBP5UCTUMNTEED4IJJ4FRTIAHZRL4RUF5DYHPWEWCUM1F0MUKNMLYWMFI5TYKWUIXN8YEUKGVW3RPBC7J017ELWQSTPC7G9S040OW4QM8FSAJZJI3N9TWH8IMLJPQDQTK8P7QHHM59AFEM4BI7OVABAGTXU5DFO02ZD89ZQOHG5S1MF7BTXTM1I56P0L6QGKBU06OC3HL). +-36#1FK8QLUV194DHVB2VXV7T903MY8FCFWXTB8AB5HA4QK7RGF2I72BQQR0Y24HHTY5L1FYCAKNVV84IFC2UA9ICCZXZXOIOX2O143IC480T6PJOV28A0PROCTKVEVTRYX09TBF5GGHMOAN426LSEG9IJ27U2WEKTESWEMJU5GLV1BMIKPAXXMLG1MRT6U5QGYO6H7M4ZY0H3ZBJYNGCQY5VL4GQ900TYS1NV3K53G3L5A04B2RPH14OV9LOPAG2CG2LKOPN98OXXL2SJBVWSS1JUWLSNDSBMK7PDOB9TBQXZI6VR9T7NAUSG06MJ59CKV2KHX411OPLY64OJI94SDFQXRF3W6W0HP88CWMDZ2PDHYQJB5MGTFJSGRC2KKA43UNPRBPLPJ2LNCBXHOSACWGA06JPV03UR6ZJ9C82DHSJI218SL8ZJHMVN0UFSAKYG7UAODXQF0R0LU429MJ2TRZBTK12ZBY6VDFX6Q54UB16MO9ZPNPS35PSV33SCKQV87WG9BCBDTWINFN7IPGU9NE2UH06WQPGLSG2SRRUHA2MC6AS3909N3DOV83NW6Y71BGHCV92FN96CMZXONVUYXAH4MRZPO7VITI29LBMK3JHOTGOV0T5ZHGCRGAE3WN0AQSY72TNMIMLL1RXBOJGR2BDF4V4HIYI6LCBMF4USTNQ0E1XB4RBLM2F7HPCAY5M1B2MM2OCJC8ON9GP57DUDLXVT0ISRUXU9CN4GIIYRIFFRNEGQ5GGEFO71F7V20423SMVXE05HWDVHPVWCOWGNQ2BTIRAC9AFNM7NTH688UFS6ORFQX2DT01DGDO98EIGLQ6SR39EP6XM2E3JS137P3EO4V19UGQC = 36#31MT3TWB62ZRAY3S0YU4NSI4R3JKWQFK1S27K27ZCV5WR7XJOSPQRMOQ0XY1DUYV1B61HIZZG5CU35NCFUZRQ7OSRN6WTRE61ZVIVGRTHUQZZCEIZHTQ6WXV3OEQUGE9C9V5KANJXSU9N5XJ5EO8AZZ2UB2LSHG2OMG5BJTOKHXGRJBG3GZVN0DH5KYRS06YPQ7255K8H5C5KASFM3OWNV3WV0AFU3KL6GFT1K6IUU2GB7FXG9A9325CMPMXRI6MOIGOY06Y2GY6UBS2NDVH19EU62G0R3DFE76ARX10X4YAY6TH2OWUIRMQ716TX4OZF0A8DXSZSEQVX1V5OS62OLU2OXCA8L1OYMVGFAPWSK9WTRMQY0KNNGVU8ANCFG9IRZ7P9N65G69N97V7FANO2DVX64S6LHBBDXX707ZI0XZ3YZX6XORFFKMIIGA77NQU8DD703NH1C5YDVSCX9JXTSZFKM9YYIO5NZC4J320MMDXJRXC5SCWH4LM2F09R0T6Z7W0WD2ZCIQNXLVEGSR3225D5LXFJNO4CUUKF198HIHX83N7XU5HQJJM9O6FAI4ZOWHKDIWBXQTG086ZNBXZKBZZG0PA9GNRB5LTO7NTZPCDSC9YZWF9JBQTRWB38QA6ON93JVUZA21MLJ0F54RBRO6IJ2VLPHAJYWGHEDKHXOZT2NK39D4AYAOZSUENU14W684U4AN9JOM9RH00SUSXUE6E8SNZ744YN4TVDJN3VLISITCUTV7ZMAFSV7UZ30KE53HYM7BPFILR198KDN9QKQMJI2XS8AL2RLIW7X4JLN16581QNP8O5KPCHP5CB1TNOVZSIN65NRY4DYJZUJG3N56E8FJ0LGZZIZV19HNPZVT8F1U1UH0X1AW3ABMJDI5OKVVJLAGURWFITO div -36#24JLMIBM787ZND12VVHOKEXCCYUNYG3ZY6ESJYZMLSLGPDCZIN. +36#NSSRMIAQ44QY7JXVMYYK9QIM817G6DDHJBMHHSU4PEASHN559WYRKZ4OFP2OBT5ZDZ9Z3Z6DIGE7ZT9YY7WP0B9EMUOXEXEH06UEJJ5HTELOS4O2FCRU1EPROYESQG7CABBVU58YDV7KOR7GHTO3H5ZGQIZ532IBUPZP79338LY4QHQZKV60N8KY1LHPCCLCS2L1AZ0IGRA8UFPB4PVV8DVON9217EQPX6YVBL78GYCSCUDJU97UYGXEKJQAZ4G8R3JZL6W5QOL0WEGBSV4LDGTQLX21SDKE09R0RU59P02IK7SNFRN6J8AS4RITP2R5GCGZQR37PZBS2BEU8MXUVU6JVKFJ1QD2F83OJP24QR6OAOH31E1N72MZ6MW5L0YHLMO8RB86WZSDT4HF38IWNXGEEUT1N6PIOZEX6HFW69Z3UAE8LE48A6SWCT0E5YCU2SDXJDK7ZYGLUZW0YLFS9S55CP4IN2GNO83BP7QBZ80RYW9KZ2U5C95KK2GDM7NQ4NS6CUSWFPL3PLANNWXJY0GOZBCLPEA59S69JZ3A9P8DL0NRIDI3LKCXOU9QZM1SN2YFJ5XLEQOLMJ70B0R595PEVLW39PZ4ULB1OS1SA9DOEHQOF631W65XOMAYUQJ7DGY2E1Y3U3T92JEIV9SIGFEGMSQ31TUKW6L9WM501RQDECWXAOZI16XVXUUP9UN5VV5RWH08ZBY3EK2CGN5ZBDN1G1AIFMTFCJCWGW1LL0G9PEBFA4310861NPBK4E20KQBUO31F1V05KXHEOKSOMXLSOCWLTCKLEQYNWISV09982WTKHLPJK0F3I71RHXBNOW5UPS02RWAD2SLZ3DRR3S1M0F90C7KTBEMOWDR6KH0H6SKDI3IXP1B42PLJQEF1YEVPKSVPSDZZXNA822B5EU5A61W07XLZJNU9O3TJJEQINVP73Y1MGD6H9PS6EGAKCWN1W69L70BL2F76I0RFAB33MLMBFHNOB58AKCMCTDWY0NUY4K2ZP5PMUF6X0L788XWUTBAUEWVDP59M200CK4EIU05717U4KZUTHUIIJFVIT5WDEWALXUC8ZDM8VNX5YH8E5OV8G14RGDXRBLVLQZ35Z4WDB0XSBII7ENBTDG8OX43BI847V2NWQKIHW7LK3HDS8M94Q7H639VF8Y27DKCHW58NB385B3R8VUBN7B90XCSX0M7SFK5XYFGBBGBPCHPECWLJQQIVP1PVBMORYX85AT = -36#13UKF33FVKYFAYZJLQ9FNL2CFGS4AN9P9VWV3QOXWPFVXQC4MFXZLQAJ2CGJ68GLP5OKAO2DF086FZPOIJ2EIBW4F2UINVNC1J5P1MC2BW7MC59H0ZZKPWWM5DS08EKL0ZF270S6OZMBAYV1COSGVSY87ARZM9NYA5TNE1YQ8X2FZE2S6JMCY71R7BTYPCSR7KN9CS5W2I604S277JD6G0ENCO7XPJ8DG2ZWRUA9PW0DQRPJON7I89NA464IZUQ7V8NS2RAWKN5KEB69YSUDKROO0QKFJ7PVLBTBZBUY6XLIZ2UW1LIY9ZKIH3SZD1N8L76BGHA9TM5X0BVK82S20WXWPR4POWWVPWPURG8UOB4TZLBG3I0UYTBPUTFETUF9RGR0C1GGRVO6LTJ15W3PR544KE15UOFRWLDSSPXSHTDMON1OCIZVB72O08UAIECX2H8MCY5220E7VOVERS7NZOYK9TVHGOKJXVGF7LD502HS9T893WDWRY6CI0HV9MGAZ26EW4NH6X8YMLH3AW0M10CVPE9SZGZTUAIQBM3KE4RED88HMDGAZMK2T5KCFLFYPWPULRILW15X57T2PKRQF2JL0J5E9UCLP4QHGF16MJORWGEH2JRYHT9HTU5NNIO2LP71OQ9O7U2GYSZUYSMFMDY7Q7LWCXCDZSG1JK9V * (-36#LI1F5AGAURK8I7RDXYKD14I2MGB6323HS8GZDEFVFOYK4URBN6R0N7SE1Q8DB3FRLOZ7AGX7GGXMAFP62D5B9NEQPL83JZWXDN3I8IM83RVA56N3AAPZ75J8I22TM12B2W7HH7T3A4P5NBW1D48FGH8WZNC0466SG0XDYCUV4TV6OX095ETUTGWY23C40FYVD0XR8QYZ4CBKSJ9EUXV9XY1XO98FFPDPJZ2U35Y4DCS6S98SFXPJCC4RC6BRS9EX9UFFMLXNJZC2AYVZQMOLV5YHLFNT8BAMZP6AW9XTJ9I8RTXQ7YBWECYPJZ3V3IVEVCT5CYTK9FYK3QOG41UBG0QGT9Z6IOYO346EHEK7QYBIZ6VL1XSLTQ4OKS8S9C724PL4RS5YTVRDMAN7QT4NT33DHHTC1XJYEX78YE0Z4XZBFDC4WBCBYVFJJ3U97SGE6IAO64EX4P70E8KLPR2FCII08VQCLMQG3R31WQMYQ9D29L2K6AAOKT673NVIDGS3KNJY5LWOCXEBNJ39D7YBFRK2EA67UBND3IIH2ZJ84Z1A6CT6D0N). +36#30MH8Z5C8RTETH1AUUDVTCQOX2ZK7UP1ZCE2HXVH7D2DM6VJJD9AKOR954C0MIKU1BR4KV0PDMFWSQR2RM6ZZJJ5Z0RDVJ28STQSEGZS55VORNO97MSKRJH8RN76ENP5BFDXR4209I12P8P9ATG0224N27885BNE38KNFWFEL3ISWYLOEJZMSDMYF3LUPQ9XKH6KG76ZD9MUL31AZUSC2D6LI1VPFP82D3DG0QR6SS77YE6ZNK5EUIACCXMHRJ6Y7T9AS3WESIOWLTG8DPZFKLY7Q96KYK3MPA6JWIPBDQGFTTEFYG1F6Y39B5J5DQSQY0EQA5RF58BQT8XQM28I6MD5FLDVC7L92UXI92A6Y5U2SBPRDW5CHGA96FLI69K3MDDDV7FF288Q6QVK8EICT8CDTX9U622CMJVBHBA8MYTRVACU29PQI3R5OFQWI7ILSY3KUK9BVTO6GE7DVIE0AUPP8YHEKL27L4A1GPOBHQI89LL8IT1LMYOI8JPXTIVML3Q0PUTP4KQJ7G9UVAXOTQQFCFKU5YEGDLBSVLEMSH7D8599HDSSBSP38718OSRKGAYDP5LSMWMZ77MUSOX9L01PFQLMULIRP69NOYRM6XM556H3NCE6K77QFLDAW3TMZ43A2LMRDMG6CP8Z68TC5ZHFZ29P2OJNKMD8IVKY7K8V0I24FZT91S4DGV5L1OT9O8AUHW9BNUZV98D49Q1V0BF2UWCS282T8JS29UQMFVFMB9S5KVG787N8911I42BYU5RSQDZFJMA9JTBJ964L4YFXBA0WD6WPSR882HGGPLUD1HXIM07ZZB5OS30RPDMZWTGNH0E1YSA1EJAB9KQ7UD5YD9JIYHQ16KTYAF3V0W3BMXXDVWR2G17E88O440UHK29I45TCXVZF2X5728EUP9 = 36#1BOO3H2RB9TXR24JTV5A9ZKB1FU2IDFR074ZXYNVBMXA5IW5D0ODR20DBVFOWWPVLFUIXULND262K00QK4SZHNAJO5QQQ8GY9TDUBQ2Y9VSNUB8GT6DO7HUE30J71Z49MXJ1KSUIANWBWD00HQQB11OCAFT18RMMZ8G92VDIUS7Z26TVEU51T5DXVJ7Q3RAH3PWNUDTFLY4KMKAQUPYG3GCL0PI49UTQAR8SMU15K00NSRA0EENA8E462HBD1O5O53Y2OT60NGIXTM7UAMSX2ZJ88WLNPU1L7R0NWFAAG59JQAFUTL7N4Z98W6BVF4I89ROEMEPQ8ANLTK7QFIMKE3KWOZB0X3Y7OY2KOYZR9XLD2CC6HVGHW2SM22N3O7R0KGQ4IWYUEWPCGTTU8YECPZOMAS1HRITUEI1L05E9YZVZ280WLK5VQGM96EIJC2DVYSY9FZDM5VH6X75V0V9WV6B78NWTZUEFDEJN1EORII664M0KSK351TWYR6R3SVSRJPQWUZKG9EAT1MJUA19OV4IBOG3G167M4WP27VXNO7U7T0V0HQIQT8GOLGBGZYS7DBSZ95AJJ0HZ5ALF514PCBLK66XYKHTNP274H8K8ZJFBQE419WEEX1EJTNENYMO9TCDKFNUQ3572U9JCJQIZYF8ABLOLHB5JB1T476Y9HQQCG0WU67KI6DD51NIQDYKW17BQ98GY0JZECMQNZZEHHY08CLAVT75W1OTOF5S7GDRMZL09PYGX6HUKY9RK0A5ODG7O2KXHNDZIX1BWGWC0NK47HHKV6EVO9F011IFZR0SC52JV1FAIBSZUPOAVLU7USVLL6005W214TJG43A7FUDKZXU99X5K0MP92GWETBU3TMYQQEPV9EDYU5QPL0RR4LFBBRCNY3SE0HL6QZ7DYCBG6HRLN7DADVBAZ3Q14IRBMGZ0NKU3NZ72B1L7MYIAG4NJLL9 div 36#FSXM3XZKBFSVJWMCJSKYKMWG3V1M8FCAZ76JKSZ5R6FZJVDT. +-36#EUSZ19PG6TGJGB2X20JW4O1SKHJ4D7WXUP5NYJRFS29YYIOMIP5X9JVIN8S614QRHGCZ6Q110DJ79R0I98SDIE29SKQABT4NDYGQJ8BQY7YNVBO73WKI0X6FZDY80H4BDWA6KYSMTCCUJ4UNWKTI8LC4ZUN2BFNZMS8B23F5Y5MF605XM517KS5QX9KRSQ49GEHK6TC3ZLDTPVPVFZ8QENTVDPKP31W60GJJE9860C3C7NDYHMY93YQ6UODWCRSPLMYY9199SQZE0T13FE4UF78ZGJ2OY369D1QVP9BSFCE4PV5L2MBMK7TYE8KRLOKU5OY041EXV9Y64YS87IGZ5B3ZOWSK97D6RLCW4TO62TTGXLKR02OJSVY92PQDJUI12HN7CGSLCF7ROHTZ90I4K5EQ7EZO45NZQYVQZ3L6YNT7ZOZYIDJU6LL62M60MWODTID9G48BC8IRKZEC09QQ2OV6MLFZZG4W7Y871B7NVPOEHYQQVGQ213FGQDTC5RY0AJ0KYZE4TJZ9ZCCSE8WLM3K2ECIEFNN9UMSDUXFOYJ6S27 = 36#APKHJNNAGX8SNJ66YOTM0KAMUS9YK9UV8B7EPPG8K9DUKEGWD88MXQC6IQW947DJWY4FVS20RRFGYLAYTA5K05VS3BFPOM3N3YTI117JJARSJU2LDNML4OSE8ZSN9LG1TTT6VPC6HX6C2VQP07Q6TRUHUPIOXTNIQ5TV28XV0H9NMO6Z2ESM7P35TFR28N0SR0K12FX8QM7W9CAPH268ATWXNII03LPD5RYCDJ27XDHT54ARUKY06BK7AXD00VE5O7K3YRM0055CXWRSR9G5QR8YZPJUGF0068WXLI7YRNC9A1Z6LWZHRORU4ETRE7FYDNZUADBZXKA9L0I69VCMAT4HGA1U70DL7JKYJH8ZCWD32L6HK0LKIIU7 * (-36#1DXMCLGX9FKNLCUUTXO5B8SBDRE2Z8BYHHRVUELPWFLRHJ2OAON0YG5H2XGAHNRIQ8EZ9P969I6REUFJJ9OU63PVV0EUCF8E2T1AB3J0Y0RG402HI24J6ZKG0J09BSGTJ0KG5ZC36Q66XFHE2WPEDGCKG0P4ZUD3CVPNSIYW75WO8E10BI3RXW1). +36#15I8Z2QDBK2T5GZ50J3Q2F8OWG9QC270VS4PTXAGLYQU2EDHYNU62GTN4779UEWBE0FDJ933W0TQS2525PXXPR56TXRY2IUZZVAFP42DK2GPW63LT6GF8G32YDMR25FMS3C9SA7HFMFPYG3G0PKKIENYOF6WB0RWQ80G7LJ5HLFURSNLWCN1WKO8FLFY3C6DIAXTCZMXXMSADOAKE0PY49SWCKSTXLV9G0XSG3GZ2RGIAZVF6RUOO4ZCK48YXV3OINQCYL45PF2ODGTH9N8Q6RZQZMN5VSL9ACCD1I5A6MWMHMZGJB4AWIGWEHDXZSL81BGOCMHTS84UQZN = -36#2GE8GT627ZQCNCE8JO4CAAFQOGRNLYGI35V3T4XT0RMZ41SRR6FSDG0NCZB0ZKQY1W8KZYTD0D7U2L9AIGISQ0B7EG8YT0H6XKI3VLW0Z6XGQ8MQBRO8S4TMON6DFUPMPEF82JMG0N5EGL1WN6M5FVTXY0OQ2CK5CC8MYOMGS7D9TOIVDMUR4IEKFKED1EZ3VVPAPOKM35DL7Q510XJJ2OFG4Z2EX4EVWNALRTGUG1GTI3BNLWAODH8IFMJTQJH8DVTXVNJ2C12MMC47XG418CUSUE56LVJPVEGB0MJPBPTAVL86LTSILM5BPXH9U3R5D4DWS8JMOR0JS442BAPWWO5ECSYD5SV2S9TM7YN5YEF8HFKUSKGG9KVOP09OQ08N div -36#24O16B1BKSS5LE0GTYQB17WKEU3A18CD297WQ52UJBYVFK3TR1. +-36#VO6DJFWSB08DL92AE74FOO7X4UCFOWIUF3OQ08T13UAYGL98ULWIHBFTT5A94ANXZUBNCORG33MB82DQDC508H9QUF9AO6SKRU78LG308NX2D56VFAR286UZATURFZYGZOMOKR0DQLJ9OPGCHHXF7KTML26P4WP6RC7AL58ATPR7XBQV6W8VBD0XFA5GKKOXHJX9D4BIMJ0ZXCWFPCQ5EJU18DT3RXF5VEQWM4J1P8106DZKLFJ21124M6LITVZPFS903M2VSM5OFGV0GNU9K2IHI3NA47UI6U2CQS99VSVDCBJGL7WBG6WTPH334LF8JU3XCZMNYQ27C0RUY38IX9CTOHNZHZYX0SUJA2YSBL8ZY2EQMYTJNBM0UH2ETT2YGDI93KLASLXGX8LF3A0EVGZRNWMYV394F0TXE92T7VHMMY67ES6RCVA66RWHZ8WPLWJV3FV3JIB1Z14VVKYO3RV648UN8OL5JXJDHA0T8ERVP9NHZVPFRT2T6Z18OJEVLQ7T2ZALTMCOTZ3TX9CU0HLAGXZS8VI2U44FE3WKHR7V8LCHC1JZ27T1KG7TH2MQIGOLOGCL9M822IO98FYXVJ7JCFSTBDSOOH6JMVH1SANR2FAAD43HYGEMKC6ORQA7SCSVK7I84DIP822V88I7Z2FW2NN5K24ENWIW3RWJL6DL9K6RYV0YP58NSJ9JJKERUU7E9WNNXPCQO7N8EY1IPR7YPMTUAEMR3LSE0WUVO90C69RPI2YQQ3V7THYNQWB5A12N5FZE0EBBYCD4IWVFYY6ARD3ZCDDU8VKS13NVV71TFKJI3U8XXI9YKNL805NBK4UEG88LE5IE0VJBJLGLH4 = -36#18CABAF7RVGELWJI6VO8XEN51Z3T2VMHE0YDP4SZ85H4U8GUJEQ51K02G6KR4QMOY3X9HNPFYG1YZHEI1RVXF9JMN05C73HGHTE5HFRFHLGPPISQLOVQBA1EIEWIXRD6DJECN1ACNO03JRXS02S4JN0HFIS2BNKV63XAZIXI9BEGX8JIM5GDRNMQZGT8B3S3CY9JX08WVMIWTT59FEA6UYSLXML0VOC3KVQARMIYW2TGB0JV9XSGIUV5E17ORM4AYOOEW5R6CQXOU9OCXZI0GKOKF9S4G5SDF4R0HPGSCMV4H1HDVG9R6OYQXZ8M32A2WP1M94Q0V8I6AFJR4I1CCYT1NFMA19WGE4E0F4JZ1BAV2CJ6RZ9M2TZFGF80H1GPEHDU99SEDV861HN8DGAX30B1UEC4GDU698XZ099I800W4YCAB1O2Y9NMWYPFE19AYNBHYK43G7V7ALEHZYTUVD4VESDCE937IEGLGGCSOHS7AOPRQPDQD6P5FO3HDAM45L8U1MY0BBQH0KOEY2S5IRP34W1G4FOC7ASOPGMNXJC2E73NSX5UYMHDECYXLZRGBRMW9MMW38LAZ09IVJX07AWDOPCR3IO1VNXFAXV0GSV8ESYJVT6359B2G1OVLTVAV7FLFBYNARD9CDY2JYW3FXN5CVUOO4ETH58IKLGBBTOP4MLCP25S43ZDVY63XLF1K807IGM0HFFT9NI6BCBGGWUI75929JJ1EL4D8UUEJJ1UWPBN7YBWQ2CRI0FCJ0AS0IH49288FA2G6A65GEOABOAIW185OOX5YPRO0SQTAQB1K4AV7QBRVMLJEGCN1LCYZS3K66AM72GPVYAWLB4PTO3SLMP3O3KQUZ4LIB01K6WQO3KAXIPBI21IW14TKA1JYFS4EF34 div 36#1EEFZ5O9ZCQI6XIE7GX32URYH4JUXKAXO149EZRKK9VHO60WYS. +-36#109VRT7G3GSE9M6KRPKY99Z12FCX78NXN02FP0CNDARN3HO6D6EJ4ANOTWUDV9C0YXAT0DGCB742M2WKT439O8OWPHN2TAP9HXID3UXZ8GRDZDZAT9UQL6TXBHSMVGRCUUA2FW97AVMS1VNHH4TBJVOMI1ST87ZU3Q0S7JSQCY0I01EZDPP14DH1VX0009BFIA055PX3WVIG30N4RTTCQIFJILHU03QNGA6UBK7UHM2UFG8J854O3RXPWFF1IZ1YWR4VUJD4QX6YVV8XD = 36#17TLJ394BBQZYT1GFOVS5JJ9L0L5F7MPBXMDUVLZUJBYMD8GNBRS0NSZEIFENKNS0Y8NGE894WPDXESQTYRWQECZ7U5ZR1UAVX3AT3J3F1PPBFLDWGVUGL38EW7RX6FIVXU1AB9VFXVQBPP5VRAIA7KC33Z0ZE8LOQZEPQUZCN1AL5DR4FBG42HZ4OP17RIZEMF2SMU4DM9KG91U5IU6EZU4JSVIAHC9T8GD03OEUWBK5WGXFWZC5BU4KJ6903QPD4IQJ81DGRJ1S2UF0B24Y4BIDCQC7N9C8MV01CYGRON6OVP2AZ94LGR25HQWMC40KV01CTUTE035FIXOP2MDEA2LOZO95CK08WGM div -36#17HNQCP8B48HWC7TG1B0468UWEJ0EXL1AJTY525FGFWH1GWXUIO1BASDO5FF4L2N30OI024CYWQ2AN6KUDVA. +36#2HXID16LPH4GQJM2M3OW21HW2WEM2IQQPGNSB8V2HHLCZPJR7M = -36#7BZX3SEYAHYVA6O73EO630T1BBL1X7B4U59Q1T3LQIM488NML1JAT63841JZTEFQFUXQ1SRWMJVZZUJQSFRF19T9NSD4KV8G23K div -36#2XOHP3QI3VIF60PFJIFJUPTISPS0B0GG0CDK2MQA8C7GCZ7CCW. +-36#1HGKPQ4TK5S48Y3ERCU63VVHF0IE9M3R33TM1WVEE9Y73R3FEF0W2P399XUEWX42WQ4UMFZKCH7MOM2VCLQLYYMCO2E98GN2E9JOSK9V9WCT3XF2I93LZIS4WZKRTV1N80BE61O2WX60UV7OA2ON39F48TXBWQ5Q42DGN8MPTH12JYK7WWV1VXE6ATY34EE11418V19GKX8X3TFJ9RM39TNBCYYZMMIVSC0OD3N3JVER08WUEHIU6AG4HNIMFZN5OZ9YKOQU04BQSTZ4ODNFW5R6ACONDFPCBSAP4X67SHM8NZLXH8GV67QDBBYJ470N4YP1QP20R3QFTVFK1EOJO1IGFKRH94AZFBQBWVSQB2G300XZSR4M6NXL6QJAJMZL7M3LF0X6MRIOM37N3J4ZQOZIRMTSXDXPHFI19SA7Y2N2SVYQB036O0SQ10IW5M6TZTFIQ0769BGMW8OD317FCH55HE838K7NL5ZQYKDL1EW5QNXDXOY262GAVTRVQ341H5ZAQ296C2BBD01XVJQWRGP84PK0L8ZEKG8XNSTX9E7A54GIX6B0JIK799MNFUY0VAS5NRH7PJWBMDULSSRS0JD45CKA6Z5OSCZIY9U7BYS6T63R8K3AVBDKBCVC3UMQWPOFN9PMB7IUI7GYT9TZCC0P6NE8CRXM4O88N6NK27V1DISVBILVO1BIZK98GX7N2O9EMPOKRC0Q5X1ZS7VFJPEL1PV57U2WE0JN08WADS2VPW9Y6LKRE849T8JKXDS4UU39OQ9UFPH1XGWC5IKSPLEO9HHXGYWV70FGT19FV0ALBE34FW9VJECCRKQUXTNBP487G2WBOBX72XBRICP77X5BWATC6PEX0UM62R9W3TNFBO32VWFLQKLP44HO1 = 36#Q2T8WOLHTO58XR92NSD9HV33MQLJ9NGD2B4YLKE3RI7PAIQQ9VFXZDMYUJ09I764NRBE2OALWNMEAEOVJJZUXPS1MWKA378NSK7WCYMY1K0GWL6R6YMTH4H6ED53NFS0NG7BSUWH584QVWKY4S3R6VKOZ8YZJS5BL1GW4EQQJRC4O969CXHDCL5KL1N60OQJMW7BYZOH8B3RJFC600MMXO5I9UAC5GV3QO4CL1DXILG5EJFB9K1174FAN65UKHTR48WNQLEIOMNI75V5LHU8BVRUAETQHD0SP3AEHVMLRSQTO7UN17YM2IRWYTZAZQRUCLIPRVJV5IN4L0TL6HY246QGWMSHZAZ5PMLU96TE6M7ANWD4Y5FC8Q6HAQQOHDK3NLHYYD7UMK97WYY9UK5YI32L5AW2JW9R3T80GAXKZJ79A306P9OXOHQIQJTGLNKF1TM6H8I9KZ7D2DOXDW38AYTWX70DGMBHVJDES7G7BHVVKUS4I2SM80U2P8SY71NQXZZ5YYX24AUHT0H26Z6P1JNEBFYGESNZMPUR2D0HR4URNS63G0LNAUEYQQHJI71LR63281Z680LPAO8RI85KKA1EGV816CD25XXC1K1PVC9X9R5X6ATTRJE1D2DCARIYDKGFBO422YBJLFMDAQJHPF2G0W62WQLMKSZ1V8Y3YOVAV4L8RVS4R0C4IH5GGU9376F8W3HG7YKHZGL56A93FP33EKIJMP09DM34VV49QCDRM3KEAZ9PYDSYOH1MK1L002MC4U9QK82J3614Z5VEW4IUSSWESDEFB0YAY9VJST9TPDAN8BO1CGXY3MW60RWV0WPS8FL36LV * (-36#21STAK51XKGGMJ2R3216R76F0YWFVVE1QXL9Q21F4D7WC7N6X7). +-36#1HDHH0NG5XP8DP93FBS1FBINB4JLILYMUY50AK4EGBPD3AC4XL0GJK40P7SZZ9KEG1TML0LRKAOJPTLI6HPJJ650UQVDWWPWX2RS4UTCKV0U8GONCP2ZS0SXDRL39ACOIUF6X735LTT0LYI2G34FY0EOPSDQLRYC9DEMQ62PQLL3W1WRQ941MVN88Z8B2ILCCT7JL8JORXRGZI32EJ6F1ET0KERE24049QWH275XTG5KRTPCAYUFO692GAUB4CCLW17GZWH3QSLSWCE92288Y9HJ1FSDLME0860SW59G7JMFQ4H9MD67349XA4CAIT053IYUBDWRY37ITSP5V45W01OVP8DJ6GLPZYSSI3GGUW4T2OQHP74SIZK46MICM3XGEFIQAQT4KW233JBCCD21KVH15JDTW9U7HF6Z = -36#3XNXCLW3IO7FR5M7N2FW1J8AA70JRCT69PE0YWRB5LJ2OGZRYLB4JXJXFBXZYJX0R1FCSR821ULKRGC0K443S2SH1ZFTKBZM2H7RUF6CXGQ8256MVZGECDHN7KD3IW0UOUMROFQSUKS41X5EY3061NZPFRIC6XPVY440I78LP3SPSH7H6LDOETQRREIK74LH9TE5ZFFUXAP3XWBNNG93G3KXAY4XWD8W61OR6SG1TG4NPYU7DMRYHJJQE8JC6OV961KLINBH8KVNWELRFWUW8IG1YPHWMP5K4WAUUY5IM0L1TCQJLQZQYCNYCQAAA1P80FKCYPUW9SVQB2GDEHZ584DKRW98DL9G7TAKVI8BUD1G3WDUPLUMMUTEFZ8LHEIALBURZED68ESEJ3TEJK99TBD6CPBNB0VANKLFM7ICEGG8YN2U88Y7258TCQG1TWC0XHFW2DCVOM8KQ3B6S4H75 div 36#2NJSETX1APOY053NU4B2B74ZDJ71DGZCBWAWP5WM5L0YWQO8TV. +-36#W4PYS5YNAN0EBGD5L3GQR9TAK35YPP8VD744YPDMSZNDL9N3S = -36#13ZEHNGL3FU3UDNCILIG0HDJNONF4YEEQPH19525A45L7E20O4QPVIMG01SBLL34EJIP24D9X7PI4WB6X14PK7OS8CSF2HAFWTH3QZ33VYTN2C6SBQMRKQONY83UZ9LWRE9P6HSQP76M7S10ZW8QKGYJ3JCW6BYCB3Z50BQ5OGZJCBK8IG0PPJOIDKXIAEQ5Y83VAINK3ONQLSU4B9BBUW8RNYW3GMIJXW66PCN7BZ4J5KDGADR6L7YU9KJE70ZWBUH3JK7ARALDP6PJIS409TG0V6YGBG9A4BVGHL78976T927MMITJVELA4QLVLI80P6YI27EN2XNCT68GRUOV9TUAUBP2PNIG7IEX206NZM3HFFDJNGEPSN4I33FRAC528BIJTB69T3TD4FC2T86KASHKH3O5F0Q3DZGFYOQ3HQOEQ0YCQ0G6M8U2U541AK14DTVB079M4QJB0APC2EANKC1KIOMZ0UUT1LKQUIKYDTA2MP5KGY8UAORU96EZPO6SXYS9BE77NUWTDC8SFIVKFE6OEIIX34C4Y8ZIBNOK4EXM9ATF42TNGWQ8Z9CF61FIB45CEVB298ESH9XN5TS2V8WR3DVXM1PXGQ06M6RKMJYL3HSWPVJF8GM2EV9FTLFS0D33EP1HJFTTGUEMIIOESUCTU19UVP3HW0WEPGPVC5D7CN0RKU7NY6NBBECAZCFYLBF2N55V09F2GP79HGWQ1AXKIGXB499GBA6QH5SLFIQ2947KURK7CW49VG2KDLXEH2NE1Q0JEUBZUIUQY06IOSQ3WVO21H5KS50M1N4884WDGP9MQ5HH10C5X4GCN6LR9YZ5AQQ068PE2HF10Z801DM20G5NGN6YJGQ7CDESOZEYQVMLXK50V8GXKYFJ5TNFJEILSFNUDL9FOW8FJY8EDGA2QG6DBLJYG3BYTIQGU4HF5SHKCE71MI1YIDVOJMABGYMJHGVVS4OZXN29NGPIZ3FNKR3IPYZMOFPKMTKWLK10DUPT0N845REIEYZIEKVH8MF5MJ0EIB50Q30CN0AHPD3FN7DFVK0I1GFET027SXY5VHIDRI75K div 36#18SPUZVDQCYF1UZ8SE095C0QQTKAQBU122XIP9FQSG8T52FUR8BYMYN6OBS3UKQL3CGAQQKS88SDRD5NJZ92NNDF68ALE54I8F4Z5KF2X1T9MHS72UAZLCWWG3XRJ7WVJB8PHWD89QCFIJZGWWTL84MMPMP7V7297VW0SDLNFQGKEX5STY015HT4V0C2B95QM1S7YSYX1ZTHJ2ZKHEYFXYNY5E0DVU03VVWTQ2GOAVEGSCXC7SJ7HTACWUB1V21XINCCDLDRNCHXWZO3A7AYQ7WF3E0DSUE3JOPXH7JAQ39H380B0KB3T7EAXA2N6YZEF0AI6PFX9R43Q5DORUH3BHFKBKPOJALRJXASE6QA0E0GAM511S5GNTA8JQ2U3OK0QH4YD1JIW4G2PPPAGNVUSEMNIYOCTLBMMOYW84F3JQFHP6SGF1I7OX4JLJAQ529L8Q26K7PQ1OCYGLQVD90XNQH5OQUQXZ5GUMHD8026R00HGDQ2IE00L25REIFBQYUGZBCGKQYRF71AO5NKU5514MMVKL0LD1KGWWMGYRJYAQHV09JMO7JP0EKTBXDVOY666WZFM0PZPGIQK0Q5ON3FX891RJ6HQCBZKWEQ3EXKMY6L1LTD37GEUU24LI8ONTFYH92LHKKH7OAVZTVE3BHOKGJMA41ZHPAREAR7LVURJPQD2GRCXNNWYNBYI9ZDEVT0QJ0RNIGG7BZMWLVZODNY64S7OOBXXC3IPCPV20BD6SXXKPD77FDEJ9ADB10A5DVK5XV5JU1IXKV19H4IZF8CRHMISQEK5A2OVLNUD34JYUJMPN6G5182ZOX0AYSP21FGC4SH1XLEN3X139MZIEL7UKHME5ZCQT6QB8XEL05E2BE29EWQQ1U07W3O6COUKI5N1S8VOYN6N5HYVFKTLMFRXZM83ARRP2MHG98CDRNO0IY3R8BCOOQQ63JXFAK36GCY91LZVM7K304RG2C9HN2XNG4OSS319I6OAOF5GHL9M3KV5E7X6E0FAWOYIKURZLX9XQDT. +36#FTLRH6RNA199HOBT7P8LZZENQFYCEN2RM8RROJVREB1E1S0Q3FDK6D88VO93CV7KCMCYRV9SPN5HTVTQK476FOTKLHSAWTSNM01LRO8IDDAJS6JRNJHQTPLY6JVN0E8II2 = -36#8HPK6AZMDELLJB0BYT7YF0NOWCNKW1UJW6WJ3YLV3TYCGAIK5BF12AXCMAH92YY35OWAG083JGZDUZGWI13ZTD1F3R2T84Y3N2D2B3ZZ5UL8PM2G9C200K16JJ10K4X6GX97S12D1O17H9EM7G6I0ELMS23E186S7O4C90ETN0OG6ABU51E421CD08666P01MEZSCHGD90XDPSR2IQS63RUJQJR478O5O0NEF7889DYQBEBY5QZ26DILPCYWCX291MX0QCR5YVWGH13CV55OHABOQ0P4YSG1FQNXYYC973QND0SOLZAWNAJZ452EZ4OJCRK8L4WDWARW06Y72PQ3TSS1AR1CSYCXQAHJD76GWPPSXQ2XX3O4W5G64J9ARNQPZY70XBHLY42J2QDGY37I4ZXJAI6RU6JO5NMJJ1ODI5TI6BKDWDXGA4AWE8PCT5GGTNSFBDABN8SGKE0HA2SKFLHK6LHCEI0FH29JBD3CLT48HA1RS6N4X4VDPHIKW2JLTOW6IH6PGC2WYK0CNRBRVUMLAW8LQ5QHQBMYDZQOJ2QOHGBEAB3WPPUN9XWKSX30K5C6W4AQGYBPBHAB45D306LULET1TS22Q7FA0R0TPW1VUBUAQ2QLBJPJE1GP5BH9O446AEH2N6UPUHXDC6FJV6IY3IQ0USRSYVDC1KO9A8I5SGQKQXGR2Z7I869FCCYC div -36#JBKJIHBHMG405N1TOEUXESOZL2C8L339J768VG9DYM8F7Y0F03WWORWI8MUTO7Z4ZM50AQEOE06CDHZL95AOC57JD07F9KC08I17LVKVX4ME9BC0O0BEFLF7B84XV03GL5CN7MPPYYGQQB4M0J1457RHBRVWH9O2LRF4MTIY5CDMHZHKCTMMBBYS2007AQPKT6ID52IWZUDNGIUOSHXZX1DEWX9BNWNNQMT8DNDQDJ8F5II14QXRNH8FJ2NBCC1QWMPA2QG8ERCA0QB2Z15E3HIPKBTQTFBPGRKFPISPZYTZL4PHK0J29HOTK2DZOMV6WYWX7H9VZYIST3EQBCOHKIC3CTHEM8M6BA687D0IKBKYYQEIS4TT6PV8Y13MOMOGYGL0F89HQ0L34U5MVEJDP3R8IQ0RA9720U4XPMNXHQ7MNBJPEOSQVK1CIFA4W9TKXZI55Q0R9D2HSMR5QVFZPJ91O330H5O6X4BFD5D0XRR8PXYRWYL64ZJJVWVWRIFXG83YP32I7GHL6EUNRDV9MMJYANXPW3OTTQ64KA14N18MNVDKM8ZIXAQ3PO7VZ6. +-36#PR8ETMPXTAG3YSX5UZS8IJQWS4BS2YXC3NLL03M2CDFCHE7Z9BYXU4CBVGBOOEBBPO4WBQ9P32G1X2YOHUP65QURYOWVV42ZOZZ49GPP9U5XFWE07GGCGBF3SXKIG8JKW9J6R6YPO8SAUHXENVLQXFNKS7WF7J9CQPKIOSSMKUD9Z2TL9DJICQ4AMQYCB3TKV64UCH19JSUGSQ0WRW0CGSMQSOWZOIW86PPZT7J3C1UEBD1JSJK045WLG1PDQBW5OS072I6DEXFWKTLENLRSBV8ZI5ENL7UVZ3FKSH868LEMXFSQS2FF5L27O4NY9DHMRMZLAJO6PATA7DFSVRB4KWXKCDI654DS0LUHQX3OCS921J1KUTDB5VH2MJSC9QYFYOX29OMFXVMU7RU8GHUCVUVQLOBGTVII44F6T0L6WXHW6DIBKQ5R3FYM38HKAY0ZIZFWP4C2FG5CAWKONZPP1IN99GPOIUNIQZ3ZKMDELX2YS7XTL30NTV4OCHFL5NAIFBBRTZBOA1P8HXOM98SAGM3DIRRN7EI9Y6IET3882YUQJKKJGS2RN2GPSTD9DBCBRQK7H = -36#1ANKFKZUBJDT1B1E5EIRRFI6OXA1Q0P90NW36JR8VTVVIMVIF3AH7UA7M1MPIL0XZ87OAO8AYK95P4VWZ924IOB5XPC9IJCLTFQU8TH8V55BLXE5EZ6F60ORVJKHV57DOAETKIPCOF1XR279Z5XNYH1WI3T3F42Z013JMKS0NRQ7P4JPQVSEXAHPYGJNVO7PXRAU3UZ0WI3YSX0Z1ME85X83PCV53Q2U6UKBA6KKXKSQX2OG0Q0NIX5DPJC51ESRV8B0ZXON62CODHGR9HZ0HMD1SCOHZ50QDMCK05WBL51M4GONGZTY802PVOYMRO9X6FYIA5X00S2Q0N0C7V95TBPT96G3KPVG9IW7DY5COD61Q42OT5LAF97MW8ZH8N8QLBCR8PX0QR06BPYPBRU8U49KOCOZYUH91KENZ3FSEHJIBSG36NR2UP1UXYERCC7MP7GHL5SNMUBMYUNA5FOTWIOYHSJ5U2JH45MA51QE059RVOKR9GMJBR9YUIK03DB7JKQODNCZ8MWBFTX7LRUMH2H30WM12HPF1OUO0CKV12TDEOEY7NSYUU72SXHIPHXU1IP0E76GD87J7D771A6WUO3KHBQPX8YB6ZATS3ETNJRZOK6AHKE2YGJXT232VKE5OOD5HY39U7I31SXWKQ1A4GNLYAWCYKF3UXNHQNUUB2A6FP07UEHI59JWDMGULKFH7LM87I1D8T4ZGDC4AMMJ7RD1LPQLZQXFEOGCGZZZST5AXUDVHLRLU00CBUUGRF864LU8MM59FHP0ED8JQVL5WTLCRO4FJZMAE7FTJG9UMWPV1PTAIAVIVZZKF9X4RDVORZWEICS0VSRNA0T7ZD5X9U0L55KFWH9FF3R3S1IJ0XA7BFS9NO5AQKRP51Q5TUQUP2FXOXIG6EY52NCQU49HFIXI0NKPZR4C4UXKDGCYQ2PLUXF6QT58RA0QCYDC div 36#1T7JHWL1HMYG2FYRIF00ORO8CKJ0PWG9JWAYKPERAOBK308JWTZX05SXXPZBH6Z5A5122VLDP8BX5HQW9O81M8UWRDKDFSKQQCDLHLQ0595SCN9JJGEDJQEJBH2AY24L0OZRIHNV5H3LXJ22UNA2GHBS6H4ORN67FC51DWWC7OK5HK8EZEP7AA6GI0MUCU7LSEHHTZDMGDGF0V8SWJB0C3KBSXOUYKR7N5VY2IDZ7WW60GNJLKXDG9OLJSCD9XEDPDX9C5JHBAHOBUYGK2GNIK66RQUIAKHSB2YW5VV1VORJWAI8N3JJQO12M9KL1QXD9KZ51LE0LPAYCQAIE9LV616EL9HRPB98OX8784ZLSUJMOA2PG3P2LMO. +36#1Q2AMMAEPEQ8BZDYJ473J74ZB04LUPQMCTIUD6GCY5YTLD0A2APMJWN928FFY3SXJOCTY8EYR5KXUQ663RSOE2TVOHGXE9VOBJI0J9ZVWG7POA804M6C8C47W5DNBJOJNKLUWDW20XMJ4PACF3TGI57QAZEBHPRI6Y9RBAU2LZO4T8JJX1Q9JYBHO19CV140IM1Q4NYUBXL7X5ZW90QOKFFH049EUK9NSJXA57846GOIU46SWVFX05S8MTAPXRGS8KR571QZXBBRL4FLBELPXWRRRJA91VH8AMLVYEV17QIUW2UZUUE7DQUM6NJ7TH0KDQUTKZMP8P0RC4CZI0HTJ0CVKV9FH5QBA2L2MN = -36#AA98GN6IEOAHRQHV9YL4DUR8I65JDUMYI89TAC9JB46BHUCL75I3ZQ3FRTO5BG88KLHVP9SPO64CQHZSXXBZUG9W83LJVFOK4FPGYS4I6SVCMQPB68LPVKY9JFCCZ5EJPMCSZX190Z1U0C1TZ2F0NGCW6I0NUJQUGIWW0EJX4RSHA9R10GH3VAWYZ8YETU0M44YQ1LWA0CXFQIJDPMX6ESRUN7FJSSLARTR608M3ZQURY6VTPVNRMIFEVPBEOKB9L38QZ3EMZGJBJYR6CVHEOROD6DU0GJWIXMEYL7XNF1XMTP45MSGJLCEGFVDTU2SGIWHZD8OGQU2ABPVGQUYQQYHV9QLMHXRVQGSUZLQEMRI5IOUN3JD1D6J01PA4MN1T9XMQLXPOSOVY4SFMESGSMDKTYQE7MY5R2LIV546AG5ACJTFRASL4NXGA2R27KOR div -36#5YRLSCLV5HXHUO9Z8W6CPHH486TAZ4BAOOR22S90E2GXG7XSDLPSKZBRZ5OP5JDOHQ6Q6PJ589YU6K89N5SDJBJ0B9. +-36#1UDE154BWY8NCB7434NXUUQ0H9POA2P2VVKEYVYAHZ2M4K9U4W = -36#D95CVCO1OWKGZ5DQBA1OLPTZSR6E1E7LDQDWLAMQ6W6IVG0C0TOSXCI9OU81BTBOYX45X15B2AX6QO6V5XRY6JCP64KDW9X8Q3JHNNK10SIF16697VAOKN3JDNBDULP8ILDMQJO79QIAYBXSF7THHJ392FW9178V8F1ZVL3C8UZJATVABOO7HAYN98OTENU3CAT3SH1KN4X3W1OVW20ZTBAHR8UW8L68H4E6D3K8GCNV4CPMJ7POBXTHYCV3TED5SFE5YVT9ORDWYRW81HSPGID3Y9VJUF2HM81NVLPMTPP4BMXQ4A4BZPBW3F8P5HX1E79CDMRAB6B98XY3IRBIIJRMZA0JKRAD4CBFBEZCER9HO19O1D1H0WTERSE3Q0CZLCHEP6X1P30Y8YCBJ5AWOG4B6601UHCI8 div 36#76SYNNH1O2XIYNI8SEKJOG9SLA6FYH9X4Q44ODLIP49BZ8ZOPKD022HYG0R6NH6O03GKPSM9H381MFWCQE1EN7T0RNLKOUMYXL0OJ8XI0QD3OPBJMWNVYNXHN0RO4H88C90KZ40PZP9AD3P8F5CIX46F8R62KVYA15O6NODYH59RTQTD1TZYK4AH1SOASXHLT6L5E5PW6KJ0GQQ92S3IZRTRUJ314X1YZMSI2804TJPDL7FHCRW9P8R9M3S7VOEQXLX419CJC1QHUS51XI6Q12TEFQ7NRKT8VFQE907O2ORZ4NULOD8OMLJWQJYLBHMGE1BAKA2VQSMENZXP2HPLQIF6TXDFMISYVR5IRYK0JPY4SQHP. +-36#JIFHNFB1GRIHY30KSYUS4SMM2ILZ15BWTY6IK1VWSYUNOFO3DJFZQEX7OGTINB4NWFTDW6CHT1W1ITY = 36#13TG9ETUMY9XMSYULPWWNPHFBF5HCGLKL2MHDCTK573X0M52UX3W0R1F8FKYBY0N80WJ9DUWMCGCWOA34WU07H8JD5KXQBS3WJR2ODSLNLYLXV72NXSIO51FJ5QFFRZGA div -36#21GR1OMYOJKDE8HVVC3C8WJGPQC4E3G9KVJD0EZ8OBSW3R046V. +36#AASDG95UFKZ5QJXQPF1O7J9E78STICRYUQ0DHWOM56C7RY6A1VJ5832RNG1XKCTBC = 36#5KGDO93NBOGAK430RK1UTDZO7WMDDPUEH5NCMGTLWUKNPNWD6MWZ75SBICBQIHBN54ECR11AKS1I9UQ7W6OFZYBS7EJ7L7G8I2FMWXXP9HKJ4L3OU0 div 36#JGN3QSZB4PL139DD1IEYJEFYK34BBXC0L9ZL4UJQVP770IBGR. +-36#FU0VPZWRLKA71H6OGQQPQL5MLGKEOCIFJG7Q54DWDNYWGVA4ED7AUI42BMK3YX7VY0KNA6UIJ7JR8HGYRKAG4VUGTVAKDAAM82XFKMZZXHY6J05QZTDSO5YJ9XXELYWA7J7EQF5C9DJUOIBGYMRRUEOYXN1UUMM9B0TC4X8JWZ7ZSG1ASSN2QLISDTOX245WIQYNJE0WBR0R52CK11SZ8TBQUPTJX7F4B7BCRXEWJ20JP1K19VA934M9SDAO2GEWVVK3OG7DRV84QW1FUFS7ZYWD67WYVWQ9947J6VCLAJIOTAZQRHC86W85S5WUQAUE10L99AKUJFKW6PFG6NDRV5XIAJUN96GX7995JA9BBATTBXXQ0CTWCY4FPCNPYHURUT3IRZPTR3OFWTW0KONGAV26WZCY4KXIE5ZHM12CM93UC627AW17PPUBSVJ0ZHT8A3TP9PA3KHD636A9425TJYWFFMEV837D16FCF9GUUB5RGX23QBNFHJQCQO9NKO093D3WY1UTXQSO6BMON7DZ9QWG00ZZXFGBVM070HY0D = -36#39BVREHWKV1QJTZQGICYBFDYW2ZLDUY0RIPM5A2D2FPF3OKYVESGMM1TID3P0904FNE3PN2EMXV6N0PFZ7N4RTQWVRJJR2HYB7837S2RMJ6U8OQUJWZYLQXKWNGCTARMJNKLC1HML82IHFNZ3FYJOFSZM7M5YJUCFZUXCUL9IKIHVENY1LX7QX458Z31H77R3BNKJW4HVIWT4ETMR8H0UHQDXOX1AYF6HXOTDSAJH2WUIXTJVIDTZHCS1QGXQ8QVGD68RWX1ZMD87EUUQ0UTTAMFNN5QIIISXDF18W3DPH6858Q1CWTPWT6XTONLV7FA1RV4PJNSYENSEOYZ2E393LG48PD85YL9WJP8Q08923DXWC8SUCP3LW3FBZQU5VFXFKIM67B6OBMYCW7O97KGIRAJOVA0LVHES2YPCLL5L7SFTMBRER9H77PE77IKAALW7FO9D6A50XH5EODGTWM4SDTLPYIFS5899CV7G6BNJQL2XG5A3OF3HXRKZCNIYJ4H9CPBRDT85G8M8RXWSAO4XHX9GFB1HTQI7W9N2BUKMKLADQOHSZ3G52AIRDUIIAS5C3HES1QVQWUONQ1ASLLUL8X07IP2A div 36#7ERD15LF2TN7VO1EZAN1W1R1JZHX8IL5Y9817LO5IGJABEYI1W2Y. +36#17QRBQ2WBBE0LAD9N9KWIJXQ6JYGXYBM6KY8T2Z40PYSB8D37JQX1K92CTWWBFQNFO03ZQKP9CK1OBTXGKFMIVH86XUJ0B6WO6L6MPWYNTEHMN0XRLZD2G6RH0T90Y5Z2O5VTFL3LRTA2JSZ4S6V8FOSBE6F8VAE6ZL25L5WYMNWU9JM17APTBM581RLE00TVDCBT1H4XSAN0UDTFPMLN2BU1H0VSJ3OUY1H5ON0RIYJ3EF2S74CD4H09YEGVS9BFYKRT6FW0YHX3ZNISEXCJ002FKEXY665MDS38GZJH9SERVG4JL00J4ZGPM0Q516PCUQF11STV46E3UTX1K2E6074WG9WZAPTUWEL465RVCKEBN36UGAV0W6DDMTNZ3JUEXRCBIQDVZO0IKENZ13TNCPTWO8D3N6IXI6RY664P1FH2461EEJHYWSNDDVFLWQWXPJ65QZOXUWGX578BC = 36#ISMN7AEA2606WIJAX8DMY8LOYCU27XPPGJV61PAM2ZY0XW80YOGNYZ04IWA8KWCDCCTQUCVSTHFR6UD8XYQNX2X8HLASPMCXI0ZBDRRLSJ2X00XEH0DI08WFH1VIR5J4S4ZX1PUCRB8LZBCQHO7DL77M69A8SOMGNWRNAI46Z9I6RI5ZQTTMMZR97WXUBGH7PV47UXPZ38CMGBFP8IGRFPARRQBGBA13OQYCN2XDSD2Q2RJF38VE8ZDY33AILQNGDC2CM1UUEW3HI1HFIELDT1M284AA2P5NUK9PH3I1X67V67N9NAZX4GD6HFIX1UPWSMN4HYWRI0VKH7ONC8S3QLBB7V1GI7UQ2G53HMJLZJ64QE4XQV64PAGTI33KZ47SXF1EM7J79LB1Z4LK1SSYZLL3VW7RBQ8O * 36#2BS9AGI36GHTRI6LA1OWKXDQWTXWVDB85J0IC8LBY1403O01ZT. +-36#CAY2SUWTDOGGMWAYYM9WTBR600WTV5UA5VIQSFN9DFL0EXRCN3XDO2COLFIJYU7YFPXKS7NFRMX1S464PSCHLPDKA7I2XB16DFQW0ET1ZVRJTWZTYKZ044J7EM2HJ5VJZSUU378R9BWE843J0O2RJKU0HRA7EQQ1NZD7YUOEQI1XNPAOZVIBVNICWDL10B65ARZYY8YCG12HVR39W7XUFP9ANNFLDO4CA0P9THBVL13VLW4DU88OPO9ENWFAB3NUXSOVF5H54ZNYNLHEH8VOCPVLA6QYTNUF9YW5C6VWKUY67NS1G6YM37N76DCX2UDN27HVDMY47SELKXB4Z1LCAIRDJKZTCSMHX3IKTVIEJI3EF4ET0HQHVRZKMGV29YGS6M50592E100RNGRFY3D5E8HXELIGL73X5YP42Z4475314WDYK4XJF5O17NOYIDPSQXVCLZ8EMXKVTMRYEH62NI9X3M8DZ4OPIOOIY7KTHON9V8X018T2AZ2DKVRLF585R1FXRLZXRPEHGEGDD4J1L37R2WFFH4QJCK7169XAWX4TGQH6GIQP5MKFAH3IX380UU38USUMM00S6G53DOFBMDARIO7A6IH89SI1UJOBH2914H5GAL1PB5LMCJW46L6YYOKJHOWCIMSWYR7MXIDXR2PBWB9Q21X6UYYQPFYM2TPNYGFRA56UMWQKXJPOB0 = -36#1QLIFL7QQMWDMMT61ING3QY6CPTQELK1WP6XKE7677VYAQ5BNO * 36#72QMJSDQCRDQ2MK8AGIHE1ZC762R4VBUR11YRLL4C4I9QYLEZ5WU7F218PJW182PYSSCJ8XS5BYQYIIJSJMIE4RVNF5ZFOV36L5FFWW8N7PAA9H0HSNUIQ4ZL3MPJN41B8P5JGDNPL99G4IYQORWKPRFMTDCHHBTEQFTBYN4Q7A3W7C277G2CQVLLA0NO6386F9QCX862CHM4R8NYQ6WS0C8S579517COAKMX05AEBMXYIKQVP3I0ML2SM1UDCH7553H80D3DZPJVLBUTQEDYU2CYLUQBDQIGCNK80JVLOC1NRLXH19LV1OTRDPMI7P0UIFELJ2125Y5G9OPHLHFAXO98DX24PWGBGZKCY289WZ92VAEN6D46FB59N1ZL550S745Q3UE3N8QF3LXCJMPXLCM330R2QLTISBL7OV74QZBJY7RL2HQGNB2BJSTB564M6JFY19YYFR2TBJH699L7N761Q4PO1FJOKASJELQ4JMNANYLTFM1JAXV7IYJNTCJCHQFZZRCV76OD14KZSBAYLSFRN8BHBA0S84TSYCNVJK9WSXEMORDYWZWPNNDF4J1NVWQBBKKE5XJHTU1SK5FE19F9C7QZA3YQYF1NC3VLFIGJUVKPNGV2DTAETT7O0X4BNT3H41V8TAW3. +36#1YRUWHZISN31T1FHV5JYTO6MH149S8863DOAFM19DPOOSAL6GPGJ40XD4OZDCEEALQB0CX061ADVD663LDYB3QWVIKVQFA7A9748MGFYDVYKGC64NKCL9M59L2Z9H86VZFALL8MK33GHCPWJ6O22JI = 36#4JIW1V66LTNHQZBHEL4RC5IMO0ZHVGUKIY1OH8R1EQ08XOO1MRIXME75M6JA5VXRADQTEP3F8UB6SOEXEVYPBRZVXQCZZ9WNF7YECKLTIV2BPRC046MT0SUY06WDYDYXO8BHFPJ3GEL24NYC2SOJ8VGGN67RZ3FNE6DBVARXFAZREG3DOER3UQCF0R7GCKEFO8IJT30 div 36#2B6FULYYT7BUPT8IRA16CE07GB69OWAH35QZAZFQA11G9KVBS2. +36#YQQZZ68GAA13H2N7TFIBTXWQ3VRETH8ANHWUZTSPL959LW5IUQDEUWJGPJYPO7LBP70YALO0GD4ZBIJERJR3O06PYQ2NTD = 36#2F0437LV5FC52WRM30DDWIBATWCQOF7EDC7VK7Q8JTHSR1CWSOI4WXPKY72SFY7IHT38XEXCEBQK6IGGJPLPLDLQ9M0H7G3D5G9MF50PVCN77Y6ZE30KPOVAAY7AY8P4OZBZWY432F4XEGSZ div 36#2I5FEW5B6L7AMLM8A14IT5X7HEASER7UPJGASDLK0IRH0LS2UB. +-36#165LFZR0IUQIGPQFL1GQ1XSFA7142IUHUBG8MPPMXU8U1OK0C5MQTRZKTC30CJ1HAZEGB3DT6MXXGL10J6W967YDH776WDGIV8O7BJ8MM6VKSVYW8YM000LAC0H4W6DVZLWGOQXN6KJDRTA9WGFUYVZLQ4IDU26D7T4I6QNJ79DDR8UO2UP3JSCA4BN0YF8YV7K0948A28WVCAR4TVNOV821VEGP126GAL768CBCGAVOVQG3PHHGD8YFK3O7UHI8C6MBAYWQLF6CVOJ4AOPDQYJXN8XW8XODG8XSUUG2KZPCH7UL2FFEIGBTNCZVKZOKNPZJHPGU6ZXNZTK2ZI7TEE594XAHNXA7 = -36#M1Y8GINJDHX5K58ZXF848HNTLNHOH867UDY0O0UZ5J4TJIAG2Y0O5WJTASMZAO7QB6ONKQCQ8UJUGRU7C0QFC2E1755PLPJ7FHDIFPM7KBUNXNNQSKKYS918QW0N02Q6V4ZDLYI1DGSIH74BGO4ISTZ1AXB982YL9BUTIBX3AAQJF4VHCQ0YGP6XX77E6G2OZ8QYHMVZYM2C085MX4JPLKKIDXM79ONYAKR2YYT99XKMY9NNZ95KLEEIVX0NND7B2GUYOKXY9OYFKJ9UT2D4OJGRRK3NA7D6PPFFQ284MOAZBEROGFPBYH96GXE5W11KXAO8ZHC9UIDM4JT2QD6N0NFOV5MEJ6OHD4K1ZKZ71ECQ7QVVZ4657VR9DEVYJSPWV7Y8EJ2TNFJFFTQ5GQT2HW049CN5C3Y56B7Y49Z45LXNDBOHOA6BUIW div 36#IU0Q4I55H8I0D4PZ7CXRESNPDBUH2C6YIBACIFBML13RS583QHPT9PXDGC81VRURKNFKWTI053OAKGHZ69WVJMPK. +36#ZLQA1P01B2L3ILJG3B4LUY8AQYM845XZ0FKVSMN43U3TI88JQBN1Z5B7MZVFGO5YK8NUD2Z9XCBJ6ZRAZDPZBNDJFR89HJMDG8MQLM6PEIVD7VKW7HKHVHPNN2U0PMK1SU23XX0RIYE136KOS9S6S77J5IQ8TWNS6SBSILZ3WT8CASJ39IRQLJQTUAIQA7K = 36#2CTEQ5XSF1W8W7M5DQ91VY149V9TKTQKIUFAHHEPSMIWLCQMUFFSSJ8X1E2JWILWS8806L9E2VFWN980GZ4MXRPNK9X8D82B26ZNWJA1W1B9UCQRLUKST0NE2HOL220ORYNKM5PIU2LR4C91AR20IOHW2V6CO1X5X4J7F69XN4MZT1L2XPHZTRHLJN0JC8K5Y94Y7P0LJP4V1IV0KKVM2ZSEIJG8SWW0ET7NI7E22GEFNOM1S div 36#2DREJHWT7SR6XC72K3I4Y0QWKPM8GS3FA9ZIS08JGTI8BDDHKE. +36#EZL2BNSCHTKN48UNPK89OG8B0R9VICURKLSVZ5BKYBUQFMEDDNT41E6VVGCL2JVAUECT5W0RBVMYJTUH6K1WICTJKYN5RA71MQ0YTYEQ7RI24GZ2L2QUMS7E31ILU1KFA6G4W10FRO7ITE13R0ES5XMGWSU303L5JVJAVDNURPGZIQUJM44GQM30Z8SB5RJR5X19W0FQEGOTJC2FYNPL939NC317AHLLQPJBFHT64BI2FU74E4EW7DHUED0DXIVREIYO8J9J6E69ZNNFEISL8ANLZ6HMOK1LE3VJ4Q8TPMJMPH23UETF3OFDMFB2GA87DBN15TE3H4WOQFK8A2FB4KJ9EFLIS10HPY2861CWJRSKJUIM6GVCC1E5WBI6D9BLFVTY3Q5DD1ZUQN49IWVZHFPL7VR9Y5QSPD3HD4371YBX0ZRZ1VNSKM8S0U3VSTK1GA5C8RBMJ5NDBT5S1S9L6FXBCNS8PYHABEI328Y4557FFA00NZYPVRS092MAFWW4WC4ZNPRDQ7PLLJS84NSA5NM8W9G4VMS3A0S6E96NU13WY1BD7D2VO5LNAE8ZPRBQ9TSRM03ECAUMZHHHGLUDG4I814UPG9ARX6MCD2HN2X4HPB3E0WXQ39ILX5EAZORVZLGP9DQ07MANNR3MWH6L129KU6IM9J89FQMM2SUELUENPG6T9F98NW9UXB46R3QQTEGVJKOCMCHBY0XMKLJ3QWXJRVKWP08RHXJJ1XNU85LPCS0OZW1SBIF6F3D6UB45WQN9Y74VXN805A7ZFY5MCFTQS8LGL930IU791ICZJQ9ZXETXUWUXF6NPQTLC5NNFH5KY5AGS83L2ZVJV22J1T3NM2I0LKZYTL647WN6RZPQT7ONFXMMG6G7VAKPZ06DF5D5LERR6ENVXED0FPV9XFIKU0UHNQ68YOBW44C4RQQKO18PQ33BP7P26P8BJG4PS6ZF0W78DQTXYQUISBHGPC7BJ4N1IQAZMOPLTONJ894Q7ZHCYGM3NM4FNFVB9XGPICIDAVBYIKXV42CO8VQFUJ1UK1YVPH0N7DA6GM9J9OGGAPL8KCJ9RK3G54WXO184ESNZ4PE62Z8ALPEWUQHRMYPPULGX9L60CEGE7NGXWMZM7LO3HI0BD38IOH2V0A6QUVL9XOGAUNHLS470KM36NTTG1POFCK5LC21XQA7JBNSQGQFQZJRAXR60I6NCK6L6OOHVMMKN5CJAEEGCHZVIJJH9PFAUTWXX8OJW4CMXSYQW0YBPJ0A9M0VBWNXKCHKT4WEFS6WU = 36#271642UP2TKWO1J22Z9NMPURKUE5YACQ3KB6NU28X8HDIZW30LW1IEABMFRA35SPQLMCUJVY08UCIZRN8YXR446VAXCRWHIUCLLQTBIE5ACQG9DMZLTXEG9SFT4HIVY4GNOIEG7DT58UD6SXFPQHR5TWPHHO8MHVEW06R7IHMLUXMT62G2O5CFLHYFO2RI0KSYTEKBQ3SY2MJSM6ZDQJ3XGR0B70W5WWIH25NK613MMXJWQO6XVLXN9SOEPN9741PQJWSUIDMFH1WUFSJL4B8RDRPO9J2RD1K946BSPFI79E0U89BP93GC35QLZ9Q8I0I06VXZ1RHRI6ESA0E2JDJ3H0FPK3HHTHD5LQZVCOBYGSGJYOG3XLPB9ONBAYM21FZAO8QSIW80LJTF46OQCINQBH4R8UI42R6BO5XMAI76LQJLC6ENZF3VSNZIB96WBNPB9R522EPTTATET0H7D69TZ * 36#6TSAE1DZ2AAM1X7POLP9TGE4WGID7JXFX043RZO6CJWXUOL8BQUQ6UVE1X93FLXHDHHFPX60LDVTJTY1VJHUD12GBOH61YDWGZKJCR188ZINFI6QZSB43WEDFRXDI7O6R0GYEH4P5941QR5J6CD6AGA553ZSSZ7UYT8SVR46S0HUUOCSJLOVUPXA53N2UV8C31MY7O7GHRPI64RUKNIID7WWTUV5HMFY4E4YUQTWTIB4RUZEWTZT507XKCD5QIAGT0E4ZWTZANBU4V22P3CM8JYPYHPITFWG391EASC1I34416JC94QDMU0TUZ3GVS90OARN2U3ZG9B49XM31A1P8L6ZUVXAQPD87H1OPAWMQR3I41XT6YTN54DBJZP7GSIFT84EH2TXP86N8IZNOS3QFLRKGEB2GZ3CRAOEZQ8ZAUBWVCGBWVCOABXLFISY9SWBDFR9IN5D264026FER6WB8JLPJQKOV32LDYYN9PY4WRT5QES4QAXANOMZ6VR7K5F09DLGG1IXVGI4X1BCN9W916B0KVW9OPHU5XOWFPZON4KEWDV0DPF4IHNU42VEDXHZPB9RGJXN3V75AWPQIKY4LQDSYN2PVEZUUTDWNNEJ6PR53P80DSKZFBB18XI372DY4HHBMF86WUUI4YE5B6YM74JCQO1YCMA9WNBBGE0OTJXI9CTAX78SETZGTY4O4QR9NXR39IQ9700FX7FH1QTT58WS68H6ZNX2L3AU6SXOGB5LC0K7ZMEIMMXKBIDQ1JAYA694UFUXKPHCFL0TFNXBIG6JLYCBXAVGPSMYJHFDTANC8EY36. +36#14V2R34SUNY7RG1DIF3ZCSKFI5D76ZYHKY8P0H2JQXHI6O93EINVUXDEOLWQVK9UB0N5KQKSU79VKEIO6AF1GBUW19U0WBZ4ZHRU7GG3HWO = 36#V39L3WTJ3L8S3QL7DMHA8IPXLHRHHZ6SKR77EJVST2I6YBCCPZ9DSPCAC * 36#1BBD0HI1YQN72BK0JPSP7T8LL2GIOGSPN5MAW8A5V0R6ZBXT42. +36#H84CLETFRMPWBEZK0PRSSRC9LIXAQCZ2SMKNV03OX1XV444OG3QLSTWS6OAUPMQ49HSS5OMRJG35TBCNS5C8AJA7YJ3GCPIVSOWGKK8X6WMSO2PNPLWXR2LAXQV0NRXHGMS696JWR7J55ODLVZ0S84XOAES8YERRBWKVYSQEVETSDGSLIHOB4XMPGJ1IC10HQQPVHZRH1MO0OOQMZF16H2LQMN8M6FDF6BWEGIWRTOK3KZHUCSDF7FM570WZMKBB4UW0Y08I5I0EG60YQJFJTDYYK4GJ1TBWJVRCJGFPKDB5MRKNR3TU0SM5OGLQ6KD39KX5EJCVMY15X2KR79PY7V5M8KZDZZ61BMS8LY4IZFIR7S4K7T19GQGTOM21YGXASOD4OXIBB1G1XH6058GNMIH0UNEIYEPHXW1V56QNT6YZVPN7DRM62BZVQY4G5UJNONK9VWR0ITGK1GVBCA67X8WVUW7G0SSL42XBPCE327KMDE46L2WOZ5YNHONYACN0PUIOK192YRA9XVCR2IQY88J3F6293FJ6KM6TMTS7ZUXKREWXSTQXYA6HOZWP1TULTUMZDWRPHPE9ZLT2CPMYZPUNLUI0H3SWYGP3NRA3BL1HE3FV6C4DDKDFZA1PLHXSFBZ53EU3SFTE8QI68QSABBFAT5DT6M05D2M4NARL8ALK54OSJZB4C30FNTN1ABU1UII1YUHKU9W590FWD0ANZIIDAQXR7Q3OW61BBWQ9JSGAMTGM9RV40OWNANO2L5ZJ2OPOB3NREG7B42NEMJ1GL53KOVQMUOHYX7OCV4EV317HZX9B1XAFN0MJENUN49PN9DY6OY2GVNK35459DHZZZSB45F27N5APJ66WXFC4BYR8GSD5VW5CLI6LWWQ6ZU09143ONNQBNKPOX6CJMUEU748KTSSNAJI9P7IAI8W9NCBJ31D10XTJ7MTFEWXU4PQTS9WQP46JVG4GLD9SS9GR34B4ZSOX46ANM5COZRXF2UWIBYMJFMF6C14CBS541S3LGJXOPRJDT5EZMBKIB3MTMDU27BMZ0TIZQWUNOI1P6AHFCYF2HOJWH8 = -36#HQHDMXJKH9SALBSWMMWBAQFC4L1HD7QDOWJT49LPKQEM3WN04M659BID52WMC1QCB1SEZIQVDBS0QHKG53A8DKIXHOIVSYYAL0X7J5GV972XPF9LDW1J35GNG7MC13TQB9FBCHJKYZ1AW1EAX9ULEB5EQ0O67D7WM12W0E421DDDDI7YEED8OM6ZMVYWRJSK1YYWRSDW7MEFSQ8H38O3T2U9O840CQ3BZJTS605V4UBIB1CIJDJRBR4160M9LHE23J5064ISHQMZJVZ1XYQTEPOV93E1N46U785E48V4NENB7ICLX1KCHO38NJYZTY5HHPENJIHLB9VF32VG5DJ0BVGGID1T81R4SYJ6MVKV4Q2STTEIZ7B17WRPUDQBHOSZPZIGBC5PI1SHZKTRZPZKYMZ2I2GT4PQDT7GRUJOFSAP0CM8IB1WB5GBTUM16G2QXT9FOX6B7U1UCTCD4981OD988MQZRH4GA4HHYJCQC6N00XHJND13JJ561Y24WJP25GBW8HJ9XCNSJC4YEQI9FSJ05W8RW81TJVM0EUCSJV5JNFJH187H7FK8X3J8VGMA5AIANF1NOTIJL6Q4BVTIBB3UNN4EXREGE * (-36#YYQ8H4LDT47I48U4YFPOBPBATPNDNXTR6ZMB2JZ1KTT1WKKWHARZH1MSOXSOWS0790D5L97EO5E8UOGJTCTBGCNMGKS28LOAMBZL1W33IT39ZAQ70UMGMED778FFVTPUX2X74PEYXQSCQK65M8J5VWN62I4TT1T0H7CDVC0QUOAR5SSZN76MK9LFUIXTSVMR57H8GRECZH77X2LFU2BJVCDLGURU8JCEAR6LEBZAV3J8LVKK4LGTE8GDUK8VTSB52EK6IHPC1N7V4NKKK648S0LS2NTY0W4I152QTI2CUAL0TL50GYL0I2M189KBS3HSU3ZI58WPDF1N767LY2VXN8M2KR3WF93G8OBNBC4XAGC3LDM1A2XS9OJTV3STWS6RQNXD68A5CA9OGIJHC4DCB7FQH7JEXT8LLD4TBIY04G4YS496ZGPWE1EAL12VMLGGEFM5I456DG5B65CRAPOVIY). +36#1NJGAD3HJZV6OLLKU94X4538BNV92XOQU6PZQB1K6Q47P26B7Q = -36#4TR067HXYFNESMF5YFZBTNIEV1FM6SG11PO9OYIONOLG9UVWOCYARR77A44UAEEMIYKUPA5HTIGG979THJNQCDORPW5JUDDQS28 div -36#2X1Z57JIRUY36NZVOQN4U22UZBQSHECJBEH1U0GRFOQ0DOAG7S. +-36#12WW078SBI813SNXISJFMZC2HB3SY7J1ZGMF3T33HKXOP3T6MBMMOCDSJLQ9JD9Z3ZF2M1Z0KREHRGLMJ7V1YKXRETRNQVRPMZVXJGNCZR7Y5KKLORZCL06ZVBI0ZQ8X6TJCBXW6UTAD0LY3C3XI0KFQ100KW4P7M28QF27TMERXXEMLDMAQAAX03UQKI97GLE98TBXN0D1NBQVLRCNMKR8S934TE57PL6WESY64KOIB534J9H46B3GQUURBCTKFC6FZL82QCR6P65JAF9U0OEXMV5RLB17GQ3C9K75ZLIQ76AKFHTPJEMEMFT1HNXC6NC1B7NSZGWGYS0NROMQ5HWJ7LR3SZZ5DDXFVJDVT0NIO0SU31W4EU5ZAG0MWK375PQ = 36#WTZQCLKWEG36GL2RUMU61T882U55NFQ4R67208D7D67A3I1QVEIZ5AH0UCZGGS88JX0TIV3NFUFEMS4AKCYR09518D00SMICPZ59F9FTDAMMK2WJV8C44J2IF1D4RVEAVIJ38Z0NVYJ46BUOL7WWREP7IYWH64GNKM6RAM31BQLWLUPHQYPE9I0JI2JMG4Z2W18FO2902Z4B4IDTCYDDG0HUIZZA53EAXI6UF8UJ99PQW9Q1GIK4O5VC1PDJ0X333EZ6NLEUHIUNKVUQ6KUA4FVMTFFM49EMTIUBMVQDA4HB4RDO6DY5PDHVDPHKAC8RQIYC3LOXIH7WXPWL86I1X7SKFBVVI0SG0VK6UK21L9HQIJWJ4KEA1FZ6EKZINDTAMJE0JT7D2CXB7WERC1W3KQI0GDX68IFX68VOI95ODR6V1MZJ3PAX4EMOT8JROBFCEGBXBSHB4PD144R8B9KRMHWLBISD1AMYH10U73CUQYK97NT0ZI7AJUB0RGOJ048H8QHYUJ542 div -36#UDHQWYEUJC6LIOKUXSBAZU4AAIC3VR16T9CES43CZA1RVI0B059K0YGWVCMGU9NTS1VNWJ9Q9DDL99D2ZRU00K8WU3FM0WDPZ1A0U8IIYVZC4G7GIMQ9ZNBPRLJA9U5E1ZRCPLW7. +-36#20FOFAIUZNIZ9YN5ZNORUT2W1YSI5NXO858IYFY0AWE068DEAZ = -36#S1QVQIW72ZYS8YAFCB95V6LJLNBFVMJWJLROQU3FWE5Q6UU4UNF1CHLCN66O1ZB10U7KO5S0D7YTLVUWCT6HI6SOZ8WZANZLE6ZBJFSMG0D7UNJ9S6HT8XG7ZPF6AA7EMEKPYSKLAKPK2W5DSC85LK6ER4N479Q5M6TG2 div 36#DXU5UEJ2JBXPURGG78M34TO192520A6JXD4G1XY1WN8OBCD9KIWN2BB4P81RZLXZ0RWG7Q542P8WX3Q38AHNN028902CFCY9SJ5JA9PRE5906PI5TRXY. +-36#750GWN4TJSR1T369KP7AD2EWW4197PVEMCSFS4MNCGYRYRYQI0835KPCQFGQM3JGONWWB0STM8TERUP59Z0POXG9PR6DSLP3TEV7JIWEHQQPPM9DJKQK7AL45IBR9LHTPYJQZMYVMHDDMIKNLFRKK2FZ7L21SO1 = 36#2YVHC48LM00FX0CPTZTQ0GCY9VU9CSUEJTIN4WMIQTYF91K5S1 * (-36#2EKMWM4O5CQ5BGDNG88KLASGRMM9ID3M6835CE005IWMTC6M0WIYICT9OMHA633CNBKTVYFDPFBT3PI4YRWVBBJ4Y787QPUE3G1UX2026T4QW1). +36#8GNLDCYWPFPDUE9WMYQYVO83E5B4KKSS71E85M6JR3RB1PSK53PYGTIUN61Y5VC7BAZTLF1NPTWWYRLNR6TG6G2PQJAIUPKX1R0SCMRVRUIRBCG4KHYKFXJRKPO93GKR4PM8NJR28NW3PSZS25M52PK9JOEZB1P5GTL7BHHZ9O6UA753OZR6ZYQI9N4IXICVLZOMGIUJ2RZGAY9AOQDJXGHJ4YFDMYMGPV2F37TH1140WQJGUX60XAUJ3R411VO2E = 36#IFDS86VR0X1ED2QHALQ3S4DXY2A9YC18786B0JNZK4PM6VN0PL4LGC72HI5L8MSUH8KDHJOKTTVFVIDLJQV67KST20D3TQ1CYEAS7XQKJKS4CKOZFF13XJ45XDO53OR1S030TPJ6SKTXLJOODPSDV6A7ZKGRFFUE75AA8PWWCYEZQ4GPFCY0A7UQ8HFH8HCAKXY4P753RYE3H2XK39EHVY3TX3AC0PUH6IQKGSU38A94PWGH8TR8XTSH3S9IUVEJCED50SJ71KS2ZKSUA4HSPIS4I96EDUB5J7TMFVFXQZELWK0LR4 div 36#26E0SPFLSYGD7PIXA11KXEM85Y7JSAIAYTBY0B76FU732ODIY8. +-36#1WXR9FDT0WC47KF9O6TZUBCLQFRMEV3019UAHXU23OS0LHXXFGIO935O4D7S2GZLFE1NGE2YMU0QUY6U3RCNHCRTF3WFA2236HT8X0VUO0SL3EG6W5QHM4PKOZ7X0OUTUXPV53UJ8HVSSTLVJB55HPHCSMEG0T2EKH2TAIIC4HV8LY0L2HIIGUNZA2UEV16ESWY5VJM3R7JJPI3YG72O2EYVJAX8573BISM69SCV4WKMRAOI9FMFDV3PCBVX = -36#BDY6QDLKKT2WNF2FRFP6S025GV907H7FVU0G03BZTBU0MR8BDKOMYAPOXN9CY6A6XN0NSRHRJTMMZCTKGVFACNGOSW7F90PZ9TH9DLSHNB2PC4MYDDD2IZ7TB997KG4UA0KXQ5B7BXBVZWMJ02J48ZYBJQZX1V7HWZ4FRV8ZZ494JTTLTJG8PIJYJF9I3VROF2H058U9KVUXCQI978SGFXYHQC9ZHF5NIRBW8TSWPWCENM74Z07FVW76QJ24SXFRFQIEW9YVB9J8IQAN1F2D3VZSI20MYS3C4ZRF5ONQC6AEM3VXTSTB9UKVG4KOI3OCDLYR div 36#5Y2VR0YIBDW9DSQ1X897G7HBZE1V9IWW0BFGT4CBM7CP1IT1FH84J4WKYPJ8N6TBLYEJUHESF. +36#11VYVAGOP22ERYRTI0EVCFO6BHMC2JJDGD453R0W3VXFMELKDQLUP3SFLXNBRZOH8LMHMSSESTMPKXW1CDKKS4L67BVUDL42KVDLQZ3BF8N65HPPD5AJOG5I1SYH22X8X9L9PK28BSI709W3ZTFO2V827OA74P9WQ4P9OS4BJAZ51SFC53EEW7UMUQ55GNN9D8HOESWIUMG4XWPBNIYJHN68UUTSFF6FDRIU10VULU5WW0M27YHIDBNKTQC3JT2IEDBIGKZ20FTSRXPKQ1H0NLTFWLFSZY3AXXR9WK999IP8H3TLNVDWHM8Y46F68UUUL3V0VB0S3WULM98W9QL54FOGQSVQVS2RYRWHBZDV32557KZNXQNXUTBOM295HOKQ060PKALZBXVJLR3DFUGXBVSVL5NJTQ1PKJMSOYO1DN6XLEVRP2PGITPUDZ4Y1L5ODZ4VIM1ZMUZ4OKGOLJFGSOV2ONZ6KPL9MU52O2NQ2185LCO51QAY41FKRQ5300DY89C6BBGRN4HLNF4IKF3482 = 36#182CWQA7MDMA6IR07H1EVKO448RY45241AZHWFYQPEK7LXC8HUAYURG9QQEKX3RGO0R9VKO8AKJ458PZNM1JGEEZDJCWYADNHRPYQ1JUB8P53U8HE21IFN1GKGSFH09M2CUNMSIRC2J72UK0OSONXSF6XLGHO4ACGOGQBZJKJNVO8YH4XT49E0JGVN8CIBQ2H3VSLK3X0NP0LMYJW9XI86XB3OGQS0YX21R1UDVDTUZUI1Y4THW9DH501E1629257ZZXC34JL4K9JBCXDXRB4SOSF0AWJTSVZLL9P1SV0GCQIUUVFGITU6N8ZN5YO6YMBLQHWFS408R2SDECCYPO5730RY30F8899U7V62096FASFSINOOV7ZQP1UJRGJAKHROXLYT0XANL34GUU4D29BFGOLD88J8F3IFDHMNSDP1H2GY5VOJMX7U4UY9R0RMNYHS4CA60XVXI7BYRXMPX8BMKIRLXWUHUMVJZLT1J91DX0EFSU5Z04LQQ29QGI28YP7SW7D8GTTATOAZ78TTCSOA0UYYGD2632H27SOUV74WVGUPOA692T9B4S672DIUOZMK2CBBI div 36#15VB34UKPY5E8UFXOUB2X3VHYRPXW3W3M1WEL0YA8NRD69NINR. +36#ITN0KN3MEA2T6RA8VG9466Q0WR7NN44LZUDZZ9LTHUX7JTTGBS1T6YCY4ZB4BP8A5IH7G94WC4MYJX1ZO94S986QANREW1K1QK6FN635M4LF3AST5GFBMDCO2MH115G1OBNNTQJSIOH2VWQHP6LQCA79KFEX9JZUYAUA2NEZ7MJ7X5S44RV52I6K9TTX7ZVG26QNN0EZUB7UG92577KCGYBJ12YD5D8VOOGGH7AQYXI2GYV3YW9VVLUWA6ZTY0N3R0ZNH566262VML8ILAWPWS19MR2S83F0PN4EV4GS53IYP1EW5EC6HML2 = 36#M7VXTLDEFD04ISJJAPCFTMS18WWZ1LTXNIXP664C9NQH3H8UXA50R5TGEBY5NB9DVWMUVXZONUWWAUP7PW76B6R6LOOUFCZVDAGWXYOTKUO8AJ3G2XXUNJBY4HASF0H8U7DRQ9YJVM6JUYI15R8W8JQTOOSRRGQLRRF5N01KHLFF2HO0J7D3CYL8T7QRJQQ9JTPH7ZIAB0WGU5828CN2Y29V3QHWRMY7QE5VX172NIF6O0HOWAWFIS9T93FZEYLY0EVPXU2E3KCSGA6MBZMZF6KCHBOUWV1JB4Q0ZO804AZF79RMGMDEMEAK15PGFIRYKP6H1SOXTS66B20GFLTNRC3SKVHQM895GDOU6USLUZVC1CRS0DSHJWQQY0W0CL8FJE9GB52AE2LTZY11IGU5BS8RV1YZO9UGZ7UEFPIQ731P4X3RFL0JJDS8WCUSSMD8ZQ2MPYCB6ABI2EUBQ2SSC3S div 36#16HSV1K8TK57A76CMUVYNOR3CILJ0CFRLIZ5CRPZVXEXHXUCORC27GU8VD3I96L52C4WKBX9GHWX9T3SRJI2K8XLIQGAUG7RWDX3BH2WC8AOTV61HKASGZ2JNPCG3YWZ82FN6AIIIGJCQH6I9DOEODHWFI14QL7W. +36#L55ZJ8J0X13ZWI6C536BSGRZYU1G4CI0AKUHKDZRI757XTIAA1QS73T56E05ZDGZCKOHICWZV2UGC2Y0747C9HJFSCY4HVH4099S01KUB0T5H9VZZAS3K4Q3SFP4QJHNU7GK9X2MV2V2LT2DDVA33R41KRROIBTACQP = -36#1Q8RZS25317DBOZ860XO3WQVEH076WXLEWG10AB0Q2O3GPI8UCVQPMXHXEHPGO8DT7J2Z985LXBXV5FOVIPQHR7GAU00VNRW1KK0ONTJZ9XMZ8DBI1FO68U1EVKN5P380CY3FZ17IK1MBAQNG0Q821YHSCOPJXBIKSOH1L4XDZQ6KB6KRU1V4R5HM5X3WJEABX6K69IYAQPXYYBH51Z9ELANRNRSTA6CIU56QMVG873XA1EUGKF8IIIJVSETKSLT53VEZCGXHAHRNF99HYHEYLNMYCUCQIGPWT9EGQ3RPYMT9WT9BRG6FI1T42PB7F5YPRY0E29BFT5A5OMFAOEACG2EXHG6QH7614PBPG170O9G1D0L9OH88L4JYPIEGABNSYX1FK3GOKW0SXUA35MA33U3VUFBFIZ908P5NKKTBAZ7UMOPHUP80LAVNNIG64E2C99U7WCGJ7EP2K6AQF6M0O7AD75UCE9NWPGNGDY4RP3FMGMDY4IZKH1QY5I8JP00BQZRY4K0FKERYR346S09MKNWP2DP1L21LFJVWF53N48U9ZI4VFNHZBM42J9KV2IDS8WSSFR1S16MIUG3MAY9KDL0SXML6ZZRW52XLPDG59J7Z3YN6T23UFESDZLIY94JDX7ZFWQ93DX03J6X633RNCO3OFICT6GQD2ZK2YKA0UTZRX3J3I7WRXGD9OMI1LLXLXGK7OQGVR56GWYX div -36#2XZ9DNWPYCAR39BQ7YQ74B375QHGTNOJSVEHIDLNTB2YAGLO7BMXDZ9HY3BUVZ2LPJ0L6EN0V5NGDGM88EFELMFHNTRWEMMVHWFGX9ICSCHHFA7EEW0MIQ0P5WHJJYOPRH5F9ATU8SIW1YWETG0WQ7KRKYIEAQW23EFYBLOKCWM9FRXV5WYGMNRKNNWE0YFW06XLF63YA5P4CGMA3AS7J9JSV8FWI9827SOZV2ESYZP12Y1AU0WVI056ODURZ99MDGRP5GNYF0WO4OW3XRMWEO8WS1P1EJYE8G8E78IQTLN6ICO4ASNETMOCYOAAVJ6XH7BQ8GEF9S08HBWU89EI4U3BMZM81MPGCWXRC0P9LDUR8B5WV9VKMYKJB8D9N0Y5V5KTOVIJ4TSOIIGL9OWFPPZFSH7TO8CBRJ2HWW69Q0UBYOOAX326XC5S2XGOHBRKDGU9XQAZG7T5S8NZZXK4NT2XL7DCO414TDJZ8UFXXF4IFFP9KK7JRTQUHW2254VMNR26HHS9VZBS4OYOOVLKJY4KIBN4LGV8XC549CHBG4KIX. +-36#FG9VUJIVGG73S9S7KIJJLR5F69KN0LUE9V7H4U09AYRWW5HUTC8WHSBNEFRTTDD5YGEGKR6MA4F4L9RWUOWMTDOHBT8C4K0N2U9GOXBGOLJ8CWHCNC5FQ9SOTWO54JT8G40K4ER6A0QXKQ4NP7P60TNRBZT3BX3YVNBBRNFLFNAFZPLAMJFCBTMKKOYU4EUR1961AOZFTD66ADUZCT715UYLUKL2G4 = -36#2JEDMY6DR490R0BDI144E99UPPXFWKWAXCQZ5KOFRZQ1S96TSEQK5CF0CZ32BZV27GN2UM9XU7BTH4U324VB3839349ZYCQM2U02Q * 36#633PH98D13RDDH3OCTXSMJZDV44MZNE9Y85YFK4HYCHR0LFI0198GRXGE450AS3X4DVJKUS6F42CALXCIKY7RQXVWZ9HOITGGT3BSTDPYXA41OEB59PGNAIPDE. +-36#KY63HYGTPPGWRJTAP3LDKQN70W8MKYN2CC28HZ4U7FCIQ9MR4 = 36#8QCC08W1AA1M09IS849ROTUWNEMUMSEBIXRBLVDGSHJSUSRPTX2VMVGT66N5UKQG6OWA77JLVDOHCQBRFIMTBBT6KGCPM56787RWWZ5ADNUGUCG2FPLYPHKP6EVBLFAMLM4LU4DG1M9KG722JAALW7DNWYF2RWGW82USZ98CLANPKONUSMACGGJ04AOUQPR9JLMZ2PA7GNG6ANJ35TT79FV81V11JAU2VCK01C2D16OW39IN0041ADMXP8113L5PRC8C6YSS4HMIPQ1V1H0KG0 div -36#F06INHAQRJVEMY9INZPNSQ8KQWBXLQ6A38AG1BVGSJXUJWJVGSGG7BW1WR5WXV64GL1II5S81ATWSANW9THV8SFRZCVWD85Y0YC1C6CTWMBHBQXU45M9LT8HQZ4JW5D1VLF6SHEN6LSCBLYDCMTMLL02UYEJNYCW5GW1Z22PIRTO2ZP5LOIR8K6SX7EZIBKU5EAEGHSIYE3CI55HNTPEMAL6OB9G8YHTD5IM0. +36#9SC6THA0ITZLS867H1260GILES63NZM4HZH3ZVKU7BCGS0N1J4YG0TZIFL395ODLU5CKKZTZNQTHN48IWGQC53OGUPGXTG5IA825T2XET3MF3ZXYB56XKGYEYL5MMWYIG2NWD3WWC43TBIQB2QOQBDLBT0XVXT55ZD71VA7CVHH9GDWWOHPT8WQEW75KTDI4O1CPDLPJPKBFGCZCG0EVW2X0OIG59QM3KK7BDU0BCBZW5HPYACCO6SXEW2AG30AV9FZWAFQ5CMHAJBQFDA0M6DNUY5PVWQC83J3TJVMD12Z9K9E1OJAUCDS0R09W7XYPZ7W7BBYKCKIPX9C1HCQIOY9W9MZKJA6S0KG36NKLTHCQNB0C97 = -36#1SOYV0R0XZQV0AL49IDBL2HKTPG6P3VBSW82S3BSYKNRE3CXUMJOLXGUUM1ODWVUBHOMYB57PI0L7BEP3QZ69PDRP8ID8TS3J5HQI7S2PUAKJWK8M797WUGEHSCDAYDZ7COHOWN2TZR4480OMGYDSWA16LCWGW363YQ5SZPBY3N0WPU1SG7CXBSO9UMXNR2TXF4PX697AEJGSK4G7WP095N788T8TW9BIGZBUTEYMZMQGPSU9JYLMBGJ7Z1DY5I1VO8AG60ULYZUVFREAWHCLTRXS4Y6LYGP4PDFL7FZEQRP7MIG6NAIIHOF5TD06R2LLAGZPZ7617C8AILO91OCBLI0U538AC5IFFJLMVPTBD6CSZZBK0ZHUMUGIIHU5WF7WEYYW18P9ZWNFWDTT50AJOTIPAHJXIY99AVWM0CMO2ZGT65I0GIAH4HEFJ1RSBQZ6MR4EAHUI38I86WLCN4HRRA2ACQWX1NYBTTXRAYP8R4DOEV10SL26RX36RUNDETLJB0SANA0S75Y0B6J5KNE6BW77EJVTLSCF39FQQXTEOJ7VX36P5GWE009PF7K2T0QSOWBS9MS0Z4RD7C84U88HOGKXRHRY1RT98UH1G71XHRAOL35PKJVFGKCV2KAVYV5W0OGLPSBQ28UENOQQN div -36#6LYLIPKWO6M8RO8CZA0ICBDHG7PNF033TN20EORIYYXQ7TDGLIW6FPW2GP3S63QZ2MT1X1UL1FSVJO2AONIMFXAGITVO3BN3CLRWT9SWXY6RDG63DT1JAHZ4KRM87DIBGMMZI31WT6K9ONNBUHYIHHYQT025LM9G5IXZGZY8ASGRR1Z2ZQ1O30F29AUL76QLUOOOWNZS2XYWX3ZJHPRIZF0N2BJCKJMSXNRIMCN6RXQMHTHLTFXC2BT2HDI361GHA3CM5F1E8SMKM5E00GZHGBOFLQQR2ZCT. +36#1TCAYC9AJDPQHP51J3ULB7LEIM650GPHMNWTRDFF22S9VY7O5D103YEDL9L1P5LRBSTM7AFEWI9DK3Z4LY4G47E1PE4UGE1DGC9PYS73AE931HOST356H4DLKGVQ9BFUHXOZ50OY9J5KFSWUBY1PALNYE4VQDIHOFJNLNFRGJWEN394SHW4RI6ZLUFBOTVW0R142EEFG4HJNLP5M5Q35Z5GGL2AQLTKA122V1BU6ISLE4F1V2B9UJ1542VK49R2Z1PFBVHX9IQQ0 = -36#2WO3LP0M3HUY8WAM4MXED636PIPH51BQXAFHMW56FPC7Z58YZW * (-36#MH1UIEXZAFQJO2T9PB4A6RC9HWDF6VCKBBSVSDW3VDJAXSX6WT8TO1STD4Q13R6JH6Y1ULN2UC43HLGCKVOIZ8I6FAUOVTBZIT1WER3QNXDUJKHAQ2J8QI0DAQQQ6NUUTI6457HMQQYOHC2FUL2H7LBZNCFEHWFAYKI3JGR6QWLYJ63BX9770B4P97J12JPIPC0QXFV666JU6LL18NVZISJFTI). +-36#1K0HFRV1CXEQXVAZGLEZ3ZZQCXNZCBKWB7T2Z68C753OTHHE0LCMJQHJECGBY3M32U4U5QOW226PZ1VVJKB94DA5SS4M4JTJZNIVU37SJ4P5U3ZD0HZO8MYZ0XQMIHMKWTFZF8RUQL0W12ZJKRHLS8ES3W64HFMOSB7NLCJ2JLH81R4R821FO84GX2MNXW30EZPSKEIZJBUKT2M7P5UDRPCW7FQDCIP415BHJQG38UBUDNSEW4J39TST7SXOLJ2RL2A2LQYC89RYAMHBRCNQUSPWF3EHAC56R2V0WNLVOBP1YUH4I0TG550QUUMPZZGZUG5BSPUSI99993WMT7NPPNH2D9JIV71JPQ3BW8U0DWABVIQFZXYWIQ5P60MB2VVM33CJJNDH0T7Z3L8MKHVTJOEH04MWNP5IKLSX656CHQJJP5CURKGS40409MXOGLE9MC2FYZXUEXQN5VC4YP6CWPZROBY60TUBDTSXE0ZAS8AUILUFCE9BAJ9FQ4NSDQ29WGCV919W12W8ZFMPNS7YMM880UFF6WH54J1B1R99IX6R = -36#B6OOOTTURZTJWP3P3LWTFCFJ9B3ZUW081GJIZ13DWYM9ZXMOSFHPQD9SBRCIWLVQSOMHG7OSG7GH457YTTY6QUE7QFAJOQ1MBD0ECDVY547S4PVMWW8C7VLYXVRBBP187B5EAEUK72I34C4EFAV8V3JACT00Z36F8FQKXLJ05ZRQFJUEO51EGW7SDJYLIUWH58LGRDCF8L7E3BM8U3ZCR9GE1IRK5G2EUE1081XB13TDHYGUMSGVGZ9X074HUNARTZLHEPELIQBJ8GARSNNC8CFNQ4YFG6Y89GMD2TNH5CNR4KCI8J062TEGMZXZOW73KPSA9DGH2YOVT1WKLCSEHOGS3820PEA0NBQIOJWKKTAKL2JN0KKXIATDEUGMDHNXUNC69Q3IR7N5KSZ8Q7MJ0A7I675RQ7TCL77RDBNKW6A4XMVQH7MGDZ5VF9VC21NTSPRO7GD0YI4VQFHU5LZL8NZ04FC8RJR5JDP6LDVRGW9RGZ6YU48T5DBUKYUPKJTRGUI5G6L0NWYT6TFT07FXC6FU8DR5IBTCBEF0X81AAQGU4VCH8PSFLPB7OVHJV4MT9HKMOWQG6Y49SZF61U0AFL9DI9MPQWBI5ERZ7X7O1E2PJ7Q4ZSG6D0EF8M480Z6J8QYWOI78B7MKNQ3573D2PO5AZPECB8BT1RP6RSYOLF7OE9UQ2PXIJOU0O0BG205SADBBYIBJM8CHHVYERWVXVMXC7VHBJJW9ZAVLY1IUP7OP6XC8QIGF1TZ61NPQRJC6MULDGRP4LFHSCC3WMCXURZR6DY8T77XZWQ6M3OPCQVWR89S2FX3FVZDBB1O46WLNS4D6650CAIK36UX7QRK11DGDLAL2NSC4WIQYJRZBEIU4TNN2P7A56E8FEQLLZ83G0Z3D4U32LZ9HEXZMWA70T1JTPC76DABCYOEK9SP246Z1TZU7QM7K6U3DR5YJDD1J4Y70U5DUC5173DVFWFMZIPKCA16TBU6WNGJPTQ2WYNQYZ2XYE8EQ6PSOAJ4R0XJP3PN6JJ80BQ79LPGGSS045RJKT9 div 36#76T24YC0PIZFCNA06DPEAGDYQL7ZEW0XD03XO0ALER0C3DASUV1WOI8O5CXIYV036HRSNP2LS7ERZ2CXL9SWAG9KNTKYGS1JZ3TSF6XVDH33T2SYTX34QYR0QMZX8J1K3RIRHWHOGTRWUHRD2V27S5LC97BQ8Q9CKHGZZNUZSV3ALE4I664S7ZUG68UBOBXQV0CAKVQXOMEPQPZYDDS9S5PU6VOBPVC4VXT56WSDFVTR6KB7WVRXQHYHT0SAKIYMNN7XSAYMKA3QUWXAK8478ZV0PKAQY9HA5YPV5K13RIA33QB280R4WWAU7MUAPLSBU2I6D62VP3HDQEYBH673TU0YQGNSDSUBYJTUFLX31DOGQMI7US2ACS1ED3C11XD6QX9R3C50VRRT9DHR8Y0XBQFZOKSNX93C890KBMURIRYGZBW84YRWB8V83X1HG8ODH96L4WZBMDM2GG27QN8R1PAJNTR51NJZ6R5X9SI4ZQY0C0V. +36#S7HCURLO7HPZSXE9CTOIRQI9XXOWGJSC73W2EWR51C70PN6QSGK1SECHWKZ84POWO5T8IGUNPFMPC06EMVLAQ0GA1AEH5392BV7D1D64HJAB19DYNIY4GZLC1U21UDUM2J9U51C052W2S4US287GNVV1RXLIWQVY3N8SGSLHXTTHHIIFEE7T9RT86EY00ROJ0616XNP8WCJ2FYDIKMILOFYRNTEAJ3JIAD2ADKITUXDGSY9PPYOEBD97YKIV8ZRU1VXVIEPCX3RBF9LASDKACPEW4YS9QG21XU1KIB5W5PYEUSNK3YCJUN4N95JA7GQRTFXM5IMES24G0H3F9ZNZ1HQ0Y8GAP1WFRPSHQ6O9MW2N0HW7A1BICNJCNOI3CW3LF3G515UUTDT6CNC84XLY8F39GYUGXVMO4FHX7OOKXX5O9NC0GASIPU2RCI3IZLGWWCC6120VRCVS8RY34LQVUCZWAKPXD5TQISPW5GTI6QILQLRBGLCFA6UQXT8X9SA47F7LUYCZTSHB5IFXEO5ELYZS9IS3FOBGU2ILTN4A47YYJT0D6G63QGA5PIML0L1SP57Z94VIN6IJG7MAL608M5K7H4C082O9MGSDI1R8Q9K3P0J8KQX8RNB124N5LUZDBK568KBNHT5UC1WDD8UWE9WC6JC1D3CEMCR4STH = 36#6VEEGZVF03B1TUOR68LQFTH8SHZGHZA7TWZA1BWYLCRYFUNYXE21PRK38NK3SONM6JUDUISB93P9FYFTP1LD9B1CDA4QB1FKQP733GF0DUWYTBTQNJYRDR5406OAEC3S8QUB6A2T3I0ECE4RRCLI86DS2IJRBUJPSU94WZHA3KL0VDAKFZR9TREME3AB8H2PHHJR6BWCTP7YAX816JS4P3CX2HHP1MEQCAW7HY72Q8BAU5GRM974RG93RAX0FUXCXAFCOTUPYYXCA5NTZEH40GQQKDEO4FJG38WPPHPC5BVTU6GCW1J8GE333BIE45Q2E70SAQX3A35UE6162R6LJL2N8X01ZRYP41YA3MY1V7PW3VTWZPE1M3PK0N1DM6IF8821KWNXUOZIGRWGHZ4ZJ545VIFKBAHFY0YLSHM5X7JCZ2SA90IZ3LS38WH82683AS7D7VXIZKOH4QZFU336BBOP4IE7AOK1VV4PY0QYPT90TCT9NQK4M4VWHSO8IJZGL8PTQQET165I1WNAGQRF3XGO7GFTYGMLSGIMPKQ6CXPN1USS770T9C1JZ6GFGUWVKB0W8LDQAY6OBHUX2INI823YQL8YFCMYGI2F5R0WF2EIKHHZRME67Q3DI5B7RDU6U0T1MYUCA3DNHNU7OA0ARFZ63QY91ISZLF6URNRCA9M6AM8C8JJSYVPFV2Y30Z8V9A6MTOS7QWIBTBETJLPWKV06098VFDV5GMDLRHHWE25EFOJ0ONJ9B5GI84OA0GTJVF27Z2CVUNGC9J2XCJL2J8JOOEZEQLJRRHGNKBN07Q1I648OP8QN6BWY1YD8REM9EU3OFKY2DZXYMK9DM1PZK02937EBUPKA2DSL9LXKFH2H6VT68K89TFORMGY4C7X2CUJJ0FXYKCWBPTKWB31AZJUO5DSBGHI6QZ3YA8RHJ83DW5Y96Z4Q051Z40B84FWM2QIN2BQFAH7C8XBS4QOONM6WMSAN0IW9KGT2AYR9MA8TYFAVDVJRSUFCN0X8P95SDKH52SWVOUNOAOW0VTQIXK9ACKTZKOJHRUQJV7KI8U8J1NJPEW18LPGNC8SAN1UWR2DZLGOOWUHMRFUV11JNU div 36#8RQPRSZMJ1YBZINRG5YFS0ORGQIK7WP6H8AEDK4K9ED4N7CV7G3TN7QXK6VME63FRDAN0YBCTJSJJT3204U1P0HG483R6G3D0X2ZELDE66BJY6XRU9T1YUT9X5IJ75F8OC3W9IEQ92UQPIBRY4XIW9E40RXTR6VWEV7QBAFZ5AG7HOYM3P2FVYJHPD2HGJDOI1P0KUXAN08TI4WZHCWPTWAEDIC33O0VUQZOBY6N4A3A7JQM8J010FBMQ4S9S10SH8DN9VGR4O0H89AP2SGD685CGAK6RRLYXMMS8VUC9XQR2YUIC1BJK675H4X4HSYVK6F9HNM9X4S89GTU9E9Y5JNK7YL1RKOAT5L1K1IQKL05MFAYBUXFCG54PNMTKJ5GUR06R818SQK9WL29MQ0VNPD0TM536QWX3ELDIWUUNA9VR6. +36#1GX6LZLV5S2CUJBJ5NZFU0844JYXRR1UZGELQ4AQO6458ZOUS5 = -36#11ZBCFSBCNG3ZZ695WOKVC6G0OFAQ096YS29EQT08FVAGXYYQ4ZNG09I0U3Q9K03B85OECEW5HTJID8V4BL04WKTV1Q0ADOYUIY6TAQ0M42LLV7Q0MYZ20W30RTAQAJW8164TSN7ZMY2VNGHM5SSN3WYOP4CPYT1QPL1VZ6XA2QQPX3YMH53JOVDGCL211BKTX9U9V88RGF4P3G8QKB5NZ08X47RYP3EB4HFO886ZURDGZJLZLZ218SOWBHNBJE31SQLWLHZE5W3RKYLGUVPT9R8VZP3KWFFPA2LVQCHEYIOR2MLL6EPEGVYM7HROQY6EPPT5A581Z39MIGSN110B9979X0LLLXHC div -36#PU45F8CHEZVGY5AD59XZ70K8C6B7MUZRV79JEXSID59AQ5CW9GSGXGO6HE9OW38NAW48BAEKZ3PESOIWJHAFQ5RINNF22V75JRWB9EJXXF51Y3HBHQ3IESHTND1Y19BIX7RFPE321PP9SFQFN5W873K5LD5DR14S2XWDHB740APSRNT07VY5JWC4J1CDTOZ2COMYGGA9PSF4P6YMYO5HFIOLI3UG3PRE0QBWRPY3PQ0TT4BPDGZJ36Q6J8WOGIXRKL306UNOKLLKZ5929SSPQ7E96JV2OQ54PPT2Y70APNJ26YO. +36#DD6HR4U8Q34AC6CZJB8IYNLRNEUQ0WLBLVF5LY2E3KUQXFBX48XZ31RG067SLOBQK61OR2RQCSF8ME4A8158LOV0LZI0H9DSR2EG2SMNFA6NGSSHQDN1BQHZ9760ZGV4ZYYUB1SG81MC0KPWLBZ0EFUFM2IVHR1WDJPC06T46BNZK7C5Z3ELT5T381L7YMMAYF7KVM6ZZWW2EALDTT2ZZGT9H7COE = 36#1541U7NO3NUA3KVCUMEWOM93NBUW2K0KVBUV0A78C4PQOZJPF04HDQF0I6WWWK9RILTCLJDUFID3PCT0UZ6SHV23E7CXMX7O309VAQUPOD9CG5Q34WIIF10BKOJQDEKDISRQFKXA01HKAI7RRZPZFTK4M22AM5R3HISKI6IO1ORZ8AWR9RZ23VG1P10E7GZ8HPLQJH4X9WA6K4BP8V3ALKCAT0O6AAAMBKN71X4XVIN9KFZX1KMMEWGE86K5YCL28IV3DZT3M5MUD3Y div 36#32QC2DJIHT790JH29YW6MSZ4WXJTVKSHT7KUV9LOCBFYINSCP5. +-36#1CKD4STFCCPOVV7AU708BTE11AY1AX20VCAVT0BTRQ38V8UJLYKJMIKBUS1BK4CKOQO9ZZRRS0O6P5J7C7DW8D9I1JXPT8AFW558MSY809XXFR4SI9SKFEPGLNGN4HOHWCRPCKEO2OUXQQCZ3IVSVIFPJDRVNH9RI11IGH4JOQH35OP8JBAM6BBZK6ZZVQ4E869W2XAYN8MBCBEE1CKW5UI0HHRAO3DD9Z4P2S80KO = -36#65S85RAJX9YC60D3DBGOHA2OIKESJIOW4QO1GT4DJ4PBT1IIHU5QJOCOYRVE3H11K1QGOQZUX1I3HOKGJLBYKVZIT94A0JIHVJYKDMPHBAU1GB9PHDRHMX0XYE969Z6JJ3D09KB9W8JAKK97I6Z7235MW3LU0HXQPL7RXHJ97EVJ08UCQVFNDZTNANYO6JY7WM6H5M6OW4GL8NFAG040FVHYTBCSIXJC7H6BKQAC4OSE60XGXCE5AM00LNQFS0RTT8G479VK49QFJLU9IXD2KGG33NYTITJZ71JMUEXCPAWXHKUTNF9M2EW1444M8SHCVHD9B0Z82LITM620HLPGEYWAMC8JNQ96Q6D5AHIO div 36#4KEF4O0XKJ9YP1AWYXYU07TGI2JUK2AS7P9EKWE0I7XAM0F7WE0RSGS1VKVEEL7598ZBVUHWJ2J6IB6FEX4YSH85UG6BEXB4ZGQ9W3EUAD4TBNLKJCAE3OI2RWHRKFY. +36#1NTLDCANXK3V2F7QYEVVSKOW26698CU8DX5V1TSSWSDIEA7P1I = -36#YYJ1CZWTZWEI2360WMBXDIIMF03CD1BPGSLI80TK0K7HIIPLXK73JO32QIODW08RBJCLDJA3S0XIPEH6H79DD220JCRFQVQDGSSLP04X1Q6UVWZTF08K2JC7WLR0R4M1455BAQCEYNXZJAIF2OFK5R0 div -36#L1D36S6AAJ3ZF5R88U8Q6VUBVYGUHKH9D55TE2MEABTCSSGOFHA7RV6OKN70MHN6ANKJ90IE61NMODB749IYRG3KX5BLPD4GOUTQVU. +36#WQ0KIW1JA2SP91ZPB8H8XWFKYB0948RI4V552BE92OLJXKL03H17DMUYGQJV1R8LMJ4QLCQ89VFK17FHJGZ50KXCOMHIE6YDWUNU6BQOCM527FZ4OZNUGRA98ISVLTR25F9ULWSKITKUY3JGRNXTB07WQ73NSU5SOYBKA0VO49BLCJ7YAJS1GD8VD7XFNEU8LEMGS2SYLY8T2TEXG3BCFNMC1GAZG3IV5PC6MRZJUQ0B4O1TYYB3KSB5MQ8LS0H9MN8V03SIZO1WV82YQ4NSJDMBBXRXKQGFA4DZ44KZXGMZELJ7XMADEBP3GBEZBDAKYAYMAAMVCEYZ9FKR20CA4CFSISV8FFYI21EUF5PZ3M52GIRA43M631RYG9QD7ZQD0I6GZSF4SCWNIHABM52NH1PPZYP3GXHLZA5GWPXECP1Z57XI8NFNOFPYKP1NL74SCX963SVSMV8UJLCSUQ4KZ7GM5J2WRM3BK1OWDT9QW1T3YX2AGJKBJD8UNPRABP898K9P1YHMF8I4RGPJ3DZXH38JCJMEYVSD6VUR33A3YS4ZCAISP0280QGN3UY72N4S20XYRHZPTMT461VR666HRXWTMMUV3MLQUQ3LZCD4A30FNTDKI = -36#1YPALGSQDQZSRI7YLT1HENY3C4MN69X4XMDDCAVGM6I8D5DVR * (-36#GNTDNY8WZ1JM5XY6H1HIORK4IILZE5F8EZR47O9JKNLETRUF3KA41ITKYGCZI7GBHHYLTN1JD7OI64WQP0IL1ZVZ7JREQ39U5SLZ4TY4TJO8292OHLRSHM2KIZR8LW7JEQTW4WLYOX0KCDD66I10YM9ZDLC8PRU7YO2KCD3AZB1JM7Z354VZX4NVA4V7NLXPMGE05YO873HG8UDLS56ZT9S85MBZXAJP8J9ZANUATG5LBDQ5KYG1X7HT86F9JDEKTUSOT63XH5H23CGB9ACA8EIGE1TIN1MOHRIQTC05YFVB00NEMV7C2KU6RYDICJR22Y0EZ6YN4PBDWKVGUIKRBQ71ENIPMW2OQJFUA0EDBDNCL1TKDAU89FE49JCYU1UWQO4O913BIRYE3CM19AXTMSLHSLP8G40MT76D2RRDGUVEFZ31JZS00730KKYW2HA1XMLQE3YUUIF7UVG6R488NTSCC7MHTPPCOW7AFL62KUD9SEV5T9QY905TKDOIFNX1HNSATH285Z5C5Z8VY44Z12Z962DCMJLT35XTSWDBYXAE7PJOB6WHRQWMX7QGG4WLA). +36#503OZ0FAKHZOYEZ7HQRK1OS7MYYPDNEZC68ISQXS9KJINQLK7NOL6RNW1GUR0S1A49M08U1CMMINPTQVEGJSEF2MK1CGV5W4A37NUVGDPOWKMHF2QITSK96L632K3YWXCQX08X6ZN1IFN3974ZKEB8R4OT6ZDS9S7M3EY7V8V6O846A36YJHDLXO9V1A89G1O2EOEY9RPAGZ7DZ3SN0YBGQE7VAKISGH6TDLSN0DLMVL5U7ETC9IFWGH0GBQL8DNR5808KP68YEHYTJQAOW3CDBVRUGPB57XIWZLGEK2ZN2QL8N4IAG55DYFR3R91Y3SXH57TCAIE6K4P9DSAKOSSRZEOVQFQ7YVNMIBG1T1C87D12HIYWI4I9WOLXDB2XCZEPPZC1ZJOELORTN6SVHCL1B2RUMQUZTUCBW8OTQNPCBBSSDRGUFWK3CSRHJK9QBF6OP2S2OD81KHVBI6SXDFKRRITBOF7CB7BIMNRJL2YUMHDW6MOL27W6K1EKELWUQ5OUJQUUBMET5A6ZOOCU604UKI7N293G156AWNRJ7PFHQ5UGILREOQP754V9QMD0EORL3AA7KKFN82NN450JLVE62O1PBMBOGOK7FE68R7ZPRG5SOG1H15JGIG1PVQO = -36#F1OMWV635FRQYHAQMU1K6K412QGDUEPUTB08HSRDZYJXZSQUO * (-36#BYWH8P35HAQ9GOT0U9KTL5UTF2P7LO2VAEBT4HQLVOLH4WML0TKJWN3LE7BBZVRY1I1E4OK0757XT07NI6LG6S5FCJJ1B1ZJ6PLTPAICVY8G6D8EYDYCPB7QVP31MC949SQ2ZV5IQCVS2WZ3JA7K7HICMDJ2L1GX0APRNLLCAUFHTW1D1AWXWWXHTIUGXE9AYIVUMHGUPNV2DRRXKGKCHV1M4BZMZVTE53T1M0CIDYP89C9CK5Q9MEF4DSK3AMW5VATFHRF19FPXS8E7K2CRBQ2O5DBYPGQB0XMOHT88TXYHB3MN5LQOUN636EILXLEDUULNAD2IF1L47S0SJP9TVIEHGY3A96GS7JHFZL3NSPAED03X2IZIEYNLPHUW0TR9LMSPXW2U2OM4NTH1C8ZG6WCN0KB2HR1AZ12CL0IP64BO5873C763CBQJ52S78H15VL7RY094VXCXXDTIAPRFOI9M2Y5NE6CI9JKMH071NZW7SOOGOIY437AZU37VIAHFAB8D3P2V0G95DPCED6LO7PGZHWH8FF72Y928WQJ0F5138ZM84V98WCGU4ESSI2CUX0OQZJSDE51D). +36#WSVTBOOCQANQ4ABE0PMCLOB16NZRCZW3BD6ZHDK2NWO1VQZ9F = 36#H4YZKE5Y92TJJQ9VPEK5QGF3CO7VHGAGVGXLM92527HX90I8A9NRSS3OB4MZB1I07HJBTT5BZWP725X0E99XT5P7U440BX5ZL26VD4GI708YEY64EYG2NDRWQNZ6VRJW9X7N2HS5S1WPEO1TWNWY6PUQ2WO1SZW8FCWHBSEDJ7794ZTOWKTUKCS40R9RGO9PFC71K8V9ZD4XP5Y25F2N4C7CO92BHD09A5B33M7IJ4FW4TCOA9VMANMA04XOODWJSUFDO8WRSE1YVCOIBYUA42DEL1X19IBOQOFYDZ37QES6ETKT51CIEQRWGV5D9MEN9Y0LU7223LXD9F4062IWITOY5MLK08JX6M1LK7EIJKH4MG9GVR6TSH33FE9MI6CDTQTJ7E0GRYR805CJ5F9OLOT93OMZ6C2UHU1C9SQBA9AYBPRYZHWR8NZQYGDR7W8QG9XI3Z7TGLPIAEG6CFZ4SJ14P6A4EPGQARR27ME5MPXTD2KI2A43M5P7IR4AJWS1K3FMBPAG9FAPHR79ACSLAX0R41JX8HLDACEDCFO9Z9X0EFALNJ5B0AAMRSUWS3X3QYRCK4H4LNCAGET7AJV0XKQMVP6BBN5GY55H57HLIITYGN8818R1J9HYOU2M9FHP5GIJ4KUVOS13AWAMM0S52X5GT7DI92Q3GLB9S7VS28JYZGC3U2TILH5PYIIRSEKK4TS3RL9RMH6OLYWS2EKWYHKZ7M1V8DPU2FQRU851GA678EOMH8UF div 36#IT46NOKZRJ37VMJINP0PN1RRPUSNN4LZ151JHN5CFQDZ11Q9PZI57KMVXLU6G9G1PC6HG6DY8Y5YND19MC1KE4V4KPI5ZWZA7QDBTLUZY20MRYRMJTWDTEXJ0QZYY2ZV7UFMM49AVYW360IK6FNQI7N2P0F1Q4VH6XWR1DDNKA0U7IB7CIEGP8ZWKOMRGFU6SNP7T7SUTZVDDUAB8UVD3A9IYQ9RP6PSJ3LCZLQ73CIY99YDHKHVHZX3KV4QGYLI1KEIHL92NEL3C5EM5BTO9YNH5KXBL6I7R5H71FR2SMSSTT8DQ4839G54WYVBEK9P5HAW5UH5WPA357GDQMJPGZ82MT8B3H49KM31ZW0J8DJZQVBYO8VZOXTB554SZYZ1CZQC9FCN4C2DWJCJ981FNDXUMBICIWPQ4WGDTO83YJMU4GY23QRXGEWWNJVUAMY9H1WH2GWLCV0FUM78CS4H6AFY1WFCQ5BZTIVVLQBIOKA3HP9AH6M61Y3VCZ4PHH8QQBP1UCCC8WR8Q3KM1U9HVWR8PZ50Y0NH436UOYUWQXQS0HQNV1AGJ4N9ILXP8VK7L1EHOF19O0LLIPITFVVNG442C49IUOI9LY2TM2GEGPRGC9YEAQ0Y0NIF2K7QD3D7W6TL93DEZP2UK60X167GTIEI1Q1FNS2JB1SYQJKPO4MJE3RJE04NTXXSAODLO9AD3N1. +-36#7DBRTTYJ400TO3CTC50U0SZ9K88OR9B3IV2YJ7Q5REEJ34TVS0QH6H5D3Y5M748M12VRMBP7QTIMMYJLG028J4F7T4HOG3E5MIFWJR7EL0ZLF4SXHJOXRD3KANWVSA5G8AGYU2A54PS9F797J52M1IWLSF2V4UQ2S93O3M7SCOYOHP1SA4CJEFOQDJND9BGJ0XFB3ONYJYTF7LILWWVZ01374XZKE2B3TCKPFG40TCG7PKCVZRCT3FYU89M9P3RQZOBSV9FP1OESGE7MTIUHU840CP4YCYNBR3JU1EG3PINAD20ROHYAVNSDUY8L3Q30FH970L0VI7KJZEX6VCSX17TQC5QPEWXRBFZPNHG2NX882JJFCHMIH7EI3YNO88ZL5TMUEMWYRHELMM0UQDIVTQ5K5XDDYIYELXETMQKYZY27OUKIJ8RH3Z04QBNUMENJ3S8NOQAF13GCRACKZQG65FX4GQ2YA7OW281EDNZ4SIYZLPU2DWB82N2JQEDMUU5DMI4FT6P75OR7MPZ4YEY0LGE24G4MJ2HZENY8CWALQGKZ7BXHI23MIW7AQCNJXJRIZNKR5H9HGBEXJZX2XF1XEF4143OERQ099E3HYFQM2EKFO1DU2IEYUZTGF2VRA9ELKEPNSOL0DMOYSWYO2UGMLF8D3BSXET4BI2 = 36#UE8061T9104150XF79BSDH5SQ72PEVTW6YCM70LXNQNPXPSVE * (-36#8Q959XQ8BY03JZUHRCV5O43HH1XWUTB08DS2U8E7E7EYDMU6ERXI7UOL8Y016SOBZTZTSWRJG6TBMSALA66N0VEKSA0S6X95U0RQ4ZQOREGEZG228LOPUD2W0A03720MCOY6ZODXMC88THNGX8MG86JV5GSNXMSIZGHEKZ6TSC6OM8J17M001T2MYJIQD2ISOVDYTH5J673JVRZ10RESE9AQG1R5EI3M4OYVCNKTMF179LFPUUX4SGUOHP7X0Y16QEGQ9UY3N7PXI65MGDI4UZMKC0Y5D8D3RY428PYLGRKEF2KQW4RL7NJB0KL5OZWPC9II7LQR6WO9CVLI774Z74NDA5N28PZB0WM3BT6SL53M8JK085FB7V4EYWCVVMHTYA4JG1OP2T8C3D2S4NO5FEW6M5IJOW2PM3OWFKDMUQZ9Z14AQBON87OMNRSFVQK20ZCZE6H04V53BW8J3UK8FWO83BM0K1PG2R31EA72B018ESW0LQ720LSX8N9MHR4RSRWTQJ9XAM78TECXZ2SWGRUQ64NOKL1VCGN46MWK6YEBYCZJVDXUGVLFEG29QUHGEU5EQJNIMTZXERYNA4E13934UA74UZMJ7BDG4E2HT7G84QT3D). +36#IHTZSPHA3KD7TFZ7S591M17AXGAS0JFME57X8G64NPC6W5U48NR67HPL9EPGUTETNWP0GUWWFMXWRTRJI29GW90KHX9SN9HXR5VMN5FFEHJ6ZOTCIRO8I96P1H2FYDD6FXF6WJKOD9BWZASO9RG2QFWU3DE7B1V14CTCQ7E8AUOBJRA28LPWEBWXT66OE6J7MBFCS9APK7TZ3QS70MC5EPYGARRXXFW41J3C8JLAILY3O834JY1RFD8Y4GW8WJ6Z9DK8V2ZQIXDZ3T668HKT1HN23YJ1DL0I8QSMK4AVOHNQH3GOXGXCG6DSF2SJ92M65SXUH9DU02UARCK5HH15AHPLYP9Q91WSMCJDSVR8Z1E5NGTZJAH1DTB9QP7LOJ5S5GVXG77ACODLC5TUZFWI4TIQGY6UW7NNMVLINCEFEK3KXX3NTANV59JJ532EIQ5O2EG1WM4VLQYCRAKMB5NI74Z34MSNIR1P785FXWREKBPDB8UZISNWUEHCMW65GR7MZ2L06X3QGW0BS83R6UIQN0RBMNRX2JZF7ABC4ER697S2K2TKPI0K7MU0HPOAFS3FOJ10FDGXTU5GOK9S8AXZIM2ILQTJEHZOWTOMV5K2T7SR41WXEYK0TTHR1BYH2GUBKB1PLF8D3U1GDSA5GI6AYIFGC5N44K5279SQ17T27TJBDRHYX5WVVBXJZ19FNYPXKBK8MJXG6MEA2LIITPEX60WZ3LGT5871VQXGH2KADM7W831NHJ5M58J0DRVN0P67B8BSZAXL3EAZQ67AKQ5O78OHFS6UAP2UHKD28PAW08NV9B4ZL6UAQDMQB9OXJC9Y0HUZ34WXPQ80BLIWTUD7G4WHTOZ2GUWRHNJA8TR96B8B6PREJM2HM8YOG5U3ITMHEFNZMF2XMTICUENEMSIM137LN7M5H42JKI = -36#1O8EZIW4EKW4DZ17C2EMBNN6Y16JU0353PYPMKL6MHFBYEQZN * (-36#B1Y6BL88PFVIKT0L6AATKGZL2ZXNVIZMN3V0GULVM304J0584P0TUJHYGO57B3YN8DJ4KRZ67L8M14XF1QNR6Q17U2GIKP2U34P1COWXKRRGKKIJL79M7XZN74F0E6PEU9WVRTJGHWSI90FTHDS40WGSZLKRSJN2G91FKDWINTEWGJD057SY9IW8I5E24EKAN7RWH8O3J8G7L6MXORYGAL4W3ABFOKM3T32R4HFVNAT9D05SO5MF2SE2SY2TPTF0WPI3BIIV847K29YJXHOVLYUUWSI1YYDBF6XHBVSLF8O6SWI5A3FCAF4RAEOA9L63LLUL00XJC31JOTODVF7H983U0WSK94VKRPMEL5HHL17JAZ4N3WUHMMA8WTCP2HZOF18FWFLB4XDS7BXQA2IE1HZ0F05M0U23YL4QCN8D0PG81Y8R6JGZ3EGKFV6UEPY750GARTM9YKMOQ7PPYR75A1DFMQ8GIOHD8J9PNEYVFF83GNBFCS91EHIXW0VPEV6JN84VAF23F8VIYKO1NBVGWXQCPRWFJ0SNYE385V0HSGGXCUDBSVT0PG71RQQA7124BYVNFSE4BKVYV0J7JPSJX81OAGLPZ8AFXRLITF8TLHGUHIWKNVBK27UX0ER99L51Q4VALD1403E4A2ROBVYZA6CMVO2NOM0Q9AOLTB96PWTBYA1L7OLW94DNFX1XIE8PQC89CIMU1Q9XO9GFDHW0B5WAJITNXME5ZSA76QHAXFBBUXIVQQO3QP4J2RP8KYAF1X1DDQ9QTNAGAUJC7ERQ3CVL7X54MU3S85SV3KCW3QMZ75IJVFPKCPFB0FY0QOY2XEFT5MVHOU94ZBQ7E3UYCVISS6Y9695HOCJ1Z1NAXDUZUUJJ9I). +-36#1WV8LYQOVXEWWO04XTGF1DN9MHF2JPD8YYFS9RC1SB12DEDQ6PH0QDGBMXDHV05FUVZWDL68BKYAF8CFVGKXF7OR078JMYYPP7EYDRMGPFLCPJXN71OTHMRR7GXOUMS5440UAP1MUFLM78QN6H00FX17AUNRDYN21SEOYASXGY85UE8J0CG4X8WVHAGEPE2BVZCPTI9VYXNCMEC9PKSPGHATRX85VW9IMQMMWYONED8VUQNV5WI0LCL7ZQWO3SK7SBV5FQS66AMF1ZLX0KTW9U20O8Q59SO0LRMHETY7DX8C0N1OTHRFFXALA9796ZOCZLU1ZS4TPJ5D2TSL0LN3K28CHQSS0BIHO6H17AOW4WV429F52J1V7SK0G93BM737DK09XA12868OSE8APUKXXC1MN1426IE5KY4UYXCRS04MOQLIEA88VAV3OO8UF8BAXLE9PJ189ASGSC99GX15G55ZY7Z8SVLO6KZ8ASCJSH2WG60A5L41MSTPUFE2NF1JUQM8MM1XTAD1KQ32A2QUYO3GTOQBMJZIITRRVYLOXV65OC3UKOGKHE8KMMQL18IU2738EQ28BI8C8LLEKB33KA52O0J47JJEWBXEWC3L2YGLH926EI5BFID3VZS17JD42XGH04OJ8PDH9RV1NGQLOQJFJ4MZ3P8Z9CT0PLDVV6PKY9CJ022VPBJY9CBBH6RR6Z19USJ826I286G8KO1KMP3IFFOYUPYM3RQY25XJHWPN9HRKCLA1P5X62BFQWCNSP8R4R2OXSUWKQVMBAT0 = 36#6HO27UYVGZ69IT3J491MDPLCW4KXJ8K3W5RBQ1EWN5WMG6Q8IOU9ACBNIGB3VG1FAZ0FR00FCH9OXTEHP8BQMWLO * (-36#ALYNOTFNW472K2HRH1WPEPQ406TURE92EWC77TBQ0L33RAJPN1DF92OWZIT5PJL1MEPLEPJUKBB5J7U4TNDYEROCOL2FCBKSUNU29LND17M4C4K8PJMV1SM70ZXH1SWL96NMT1U52EIY57B9XNCG6SIX85H9N0F6I3MYJ357OLN2R1KBITU4BKXF2U3C0DDWCV4YGEHWIHSNLHMNREASP8XP22YMM33FDKL1GNK3JXI2NPTA582MF9REAXJDA0WT8D1OQY8ZCWIRVG980WHZMJMSFWVF3DIHCALF3AYTAXMSCDXBE0RA2TZF7CJXHNC11DMCH1XCTYV986XDWFS2T64BN2X7AWIM9J0O78URYKZSYTZCM87PLWM2KYSHHKLG072JU73Q4IV0ZCNIJ1KZ90WI4Q2QPI904YFJ8YRFMQ0Y4IDGVW7QQJ2GHP1QF1XE93NIBPCH9QWV8JIAOHPU24IBHL0CKEZ87AN7B5U0Z8ECJ528NN2C1CDSXUYFD75V4LW364B34MAJSNSBC00G9HQZSST1FTCTOC2TY0FR6F0YPCX5JDVEKCE9ZGXZCILY6RVU22NS1I7HPX0Y0KTDNSPOP5TDYOXAN62129UME1QZOJ676IJHSPTDXVC0BK4GO1F9JMBPV7C0YVYIGDG50CF3OHD26ES21LHC8ZD5XJH9O6837X9L1Q6WBR3). +-36#CA95CUWVCNDZ3JONPVGKS4ONQAUV3Y153YYSAISI77VQHDSB1CF5ZRMEH1Q9PXAG6FPRF3JULFWBAG4TJKD81PST7FDYG7W89RFAPBV8Z5Y480N6LNSR3YFTI41YA2QQQTHTI9O6MNMKGT1Z0XF1Q4EY35BGULQYBCXVVO59WAS3YMY5MYPM293EY09SF8R0BPC6LKOZHBEBSCN5ZAX367TPD0P5H3RCZ0OE29IKQPQX7KP6ZVSCDOJSSVXM2K6U1YAP3EWDOTSB6YVES3RJJ9GHT8BG2J70H4WRIJOB9M0PINCVWLNAOG6YQ43KZFSK4NNZVBTV3LCUYJ1MZ824KN4W457MU9F6AV2TKO5BS35D0VXPO7JK0UWRT94252OVMK7DS5IRFEKFCNQ462V3JG3B868SE1MQ0PAFEAC6BFT1XEX9QKN4J5EA9IR5A84ZA43TNEF23LYKLDR8OTKJJ0PCHSH3NQLL0TJJSX75GRVDL0T5MX2IR0BP4T1575LT3ETCBG5OY8CU7ODGO5N67306ZYGR7Y2ADR6LC9NGVUNR6LOD0I8RTOY0LK6H04TROCW6VO2EDBE9ENEI2XEDVOEDAXGLSZM0BY91ZBL1PRIBIF2DTX6CTH78B54B1JEC7D19U8I9Y6PY38HKO7OX8F1K7IBAQ4K7VERCTQRGJWZ7KAFDTG2KO7QWXJDQWONV86KIW3U0EL3F1Y4VRX19Z9HRW6QE2AIFU25JY6SL9F2E0KU0LNIJ0P18TR588T0S9ABPTJCFE5RG4J54C7LEE6XM9VVZDI6OH896SDJAPTKPQ5MO5BO9FVHR3GLNG3W335E8KHZXEAL107JEOJ3C0WK69YM3I8JRIITC4DYNZEGPKFJTF22MXD0G2JR1I2GPCKHPZ1K3ZCO1EIO1YKRB8E75K3NSI8IF7J68E60B1OIX22TCEKPCGIDB24ZK2097MZSJ4TNV3NYFRJ2RQ1ATD = -36#U0T40DJIAW10FRYYV6H7QNU9FQ3YUZY5O94UU9U1T2YG16YF4O3YSQSB3W7HIWIAI8M6TVIMELIFE375HERB6MGW2DJYNFMKKE3IRV3MPP9TUAQ6XG866W6SJHAXO060ME6RUU6QFYU2TVGKDLJ8KERRTOOYKG8GTAINCBGWFZ1VIUNUZ5MXISBSGCAWDURZ2NNJ7SO7TRSMCPKZUIEPO3M9Y7TO0RVKTCX7DSWM76RAZPZR3OLFHPROQPQ28MRPQH6WNVKE1CF36LKIHVUOSJKL1BGW9OY5SHK3BOZMB4ZJ5BMM5MKGBGS50S0T9KFCNKJD3OITD2Z86Y9XM7SZCRDJZPHO0WYRROX08KID4DYHSSWKHVLRDAY0VWBV7LJ10LHC5EWM8P30GP6M5XZNZT31OCIN4P2AJ4JCU20MRH9Z3B51GHXGHSOMP41T3H2XTB3NJV5V2XC9MQP0TGENJ5NL0M951F71ULUE8V09ZFC427UBRZKW6OTXFMZY9GJBS11XSGQCV3IA67UP2PSGK4O5NJUXPYP14L618CIYRWCPMWQFVY459I3EG57FVM8NVJY8W060WWSAY63TDOYTR56APT1UIB2ZA4X1E602W3JMZ6OFSO2CL8RDYJPR14F4KJVY8BYF7HY7FZLYKJ86WQLJW1XY8I8U6Q4I3G9LYA3F6ZM1OFF0DF6J1KAHZXD75T6GHJQNKMUXX024O6KCRKHFHAUVQB9C4UJQ9CW5RS1RJXUTWH1L5X8L9G5NAR1NBAT5D0BTMP88662JNWILCGZ86S8953PKUDB8N3VZ5DGBLHA1AF6N9I125R6DV8E12X3N64G1XH76CKLHMSEEB257BY2NKXOV6RTE3RKU8M245VDQUPI10FQZEDFD1IYEWE9647SOZO1G0LIS9K5B6TDVQHHUOKJTCE9AYVHPXW4CE78RA4Z4D117GZS60UFVQBWD8JDCN2PRGL75RKY3C7YZJL7Y3UW1X571Q6HEQ4T3U3GJB24856PD3LLFYT948YC80I div 36#2FZ8VWWOBG38EC99K6DJEC30OKJS7GF5F302K0FZC9L7DQDPCI. +36#HTFNH8TMLPASSI5BNI944Z2NR7GICBPMGIYBHL2SW67L2RC70W2E8B9GV6SPG7A0GOMFP8JO1V73ASTWLZDM0PO6HVHGPLZBQIX3JGG6LRZP9XXZFIS3GO57TZK1AARZH5AQCMM17YN3VUENVKVCX8GDB0DRA72XQINO9U8XM801STOPACZ12D560RAI51AIQR8JPGAKLXRRH13RLJRRGF0P6ZYMFZ7SCTQ0WQSAIRKNC3FLOUESGI43ZLLB30ZZS9R4XLEL5PD7A499SRGO = 36#2DVXSXJ409JLOE34I0H889NMFX6C9GCYVZ8UVLDSBQRCBPFJF6 * 36#7GUYVNR2E6UXCTH2F0DMGFIRV8XPTG7PPOPW6ZUZVZ585YCLYOAJLGG4W5KHER01HRCO4233031HJU97LU49F2Q2B2R922A3JJ7EYET397TWOZUWH0C85EDK7KN701XH0CIG7FDC4Q2XBI4DAXQL1QRD3QJ2VPQZWZ2IFXAIIAF1BR2X2HB4WWJW4RNWE68ECXX462GT9UWOSE5ZZPQJG9EUYF2J8HL08YS. +36#1ZPJOBCQRXX85WMJV84KIODSAPV1M39431UF7Q2CIFMFDONSU9 = 36#9WNVFDO255M187AAP0PTKK3KTM5LTI63I8JUN3CN806GVQIZ59D0II708UIG57VJTBPAIHRNXEUDR30H2W0EQF6M87ZOIQQK60W7M50UYVXNAWKF3SQO4JXMWZMZZ7FOWOSQRV8NZ1PWTWWLINSH7ZDK8KA5VGCJX2KRMCZEGHX6EG0WW1SXS634ZQJD93KT4Z7FYWTFZGQ74NI3UYF8I9G29SN8VC4R8SVIF1C00Z6O0UZR0XMHZRLS5WRZRXQ23UGXLK5JUIS53GQE56JQZ0XHG09 div 36#4Z1XKU9Z491V8K50LJEXE6O0UG65N3K94D0Y2DWJQPA6BN49T4TNT34SD6FYRB2YNHFI5XM10MIV1OIOQPYSEJBUS8IALW0JFE69ITMVV80YIUR5V9XH1BEE494CLMBCAJ58JSUOZ7KDULHJE5O5B3C3QF3DSPJA989DJU3UVHCRTHC686FH05ZXO3HH15NZLBYIPYIBIOEIB7Y3T407ZBJOIJ6ERW1P1Q96QE0XOP. +-36#2VQYM4G6TWNXG46ENOYVYS0CBP6T0T4VLZFB04E2QBJVZTEJCKH9L6NJ5ETQAC8ISUHY1784W5XG4X9XCP1ATODQLYA86B6FLXHUURSBUILCL5Y2WK3VHU5BEYKOOL332WDCJOL6G9W2PKZ6LCXB801HZCYXZDQ0U28K6G0RKR25Q1E4Z51BG9KYFJW6BAGUHEKZGEKKKGQAWVRALZ1FQ3R5GP2XDCBVYBZ33M3527MXGCHNU7NSYN0KEVZCQTUPIT9ZIXBHHDGMFY4CYOVKNQ29L1J38M29GNSD5QEC6VBMKIVPR020CCWCGLM9QUU77G6RKDHEWW8VOT8O2LAL8W6EU6QXZ5C5154Q7YWF4M594VW2YBM0ERO1H8Q9CG08H6S3JGWIE02UPI8WJ8YE93OIXW2U0JE0PJAJU3WYFARF0M8VSKMNKMG8HB8B1WX3KEP54BL5NV3HY1VLPP0ZXFFU1XAGPZRSKA9RM0C9A2SGW0UXZ62JWB8S1E762LFKWM99TNHKLRZBVJ3T4QEJQJQJL73RYCA5ZDLR2RM2O8HCYGP6HGMG2UQ9LAES284AYAJMLH412M07MWSRGYXHF2EYWW28BK54WBRTB18T5T1EEOPGPIGL9SGWGKWHHYP5GK2ZNEMLMH31OU3GMJQFOMK57DF8I4ZGL1JQBOD6WHATJIMK83V7NK6Z1BCVC0NYYEREWNVDTAXNEG5P3UL00AF64F596GW9TIGJALAV85K5ZWJ3TZZMSWWCF9LHSNGQ98VIH3BX759DQPOM0RQP09UQ5B9FHFVFZDS97UYEJPRK4M3R8UXQP2I5QH2ZV0LRL2YILUDYE3T79NBVE693JNINWQCNBZJ5ALQMXDZ0SWAFNOEPLLE0ICUW9OBL31P2055HGXHAT941SN07NZKC66XUT3QHXLW84FAO74WZ42ESZ5Y5Q96607GJDVY2AE2F4GDO48X7QZOUY491ZRFY9HQKDXYHF7OTX3W6FBGXBS3CK3369KFBN18MB4FNUE6XW6FVYEKAY5N2ZCUTXL6ASR54ZJRBNIZEV1CADNYHBNVCJ4D52KKHCCI3SF9Z4Q88JGLDIN7ZA86KOK30DL2XPT74ZUGBGT21TUV3O2E3 = -36#1S9OIG02Q3YSK2TAXWVB8CKDZV461M9NVT8T48DN599P4O7MA6YOUGAXI549YO4QZ77BHYJ3VAIX13T16H5M0ABNP5PFM02FROHPGFST5LAXF9LRN48YLRTF6QZ20FYWDOGIRDVGYBWW4BG62WO6FHYIAKW523UPNHGN57ZG5MG95B0BSCOGBR8Z1QCXU8ZFGG0VJOLMBGJEMYFYW3EZAVR9BJLRKPM92S07PX0O3X0DLRX8Q7PT3RF8E8KUBQ0E2I82URN1QDVOWPXWD169XJ3V0FMQ4POPOXDBWGKKQ0USUGTQWYRC9M3V3NGNGVATW4HIYSPNFWG3EXGBHH3FDZ61GZLP763PC3RJ8ZGUDQ7GGGG9CEAD00WNHQY3O9J9HOADW8OP9QMB0CAYMML5GGDZWJ0QNQTAVXTNAHIRZUH03STR0B3EA5CQGDGCIE6SL9QKZ1DOLZP3ZS0K2ATS72LMURE5Y143R0JJ5UXM5OBP0SHZSIVZ0362U7QB6JEF92KT8HPZ15N0RZO5L1DAZ25ML95DRP3415E5V9WN25QN1LGNSW3WF282NK7Q9AP0SKKQJI6AQYB2TS1OP4BJTWMQU3CKERS39175BD3UPDN1UM91V01ZPWYCMK1AZM3KYIBRZVKF621EEXC0UAEMTN336F4EMY9JQB6JJKPY55GCFX900U86DTK5PHIUU8GN3G95UPKAXOWNECEK1633L3J6F5ZZAC9YNGGPT0P97O3VLWPBXPVWF2P7QQ3QPHSZYDKWQOYCGCBJKQB5UDU1HSFW1I1XCK1E8HW9MRK5TJHYIDK2IRT9L40EVJJSNVE0T1JJU11EC2WQ6KFIACNMSWY2Z7GJTEIB7SWCMOTIK9YT3TX * 36#1M44I9JX5NSOLY66J8E39KTT8CHX0KAD46LV0PMK2RZKCIU62CDN2DG9523CYFJ1IC88V91ZKHGTFK0ZAINEM91DD8A5UIJ4X8QYMIQILHYYQLI376BAW0PAVC2FEO1487SA83A3A7NX7LV78YPNY0B4SBN2EPBPL4VFP7A3J9A91TYWG19DWL3OE9IF65A2UQA1WT1H93NIT0SA1MAU3H1GKC7GOLGF89GPOQL6UY6XSEEBJBKTP6O79B. +-36#6EXZCP3J4ZK0RU7F2ECHQ5MGQRAW09EB8RIRPQMXNXJ49109VXI9E3TFZRVI41AFSCM5KJTADCN9W7BDBODAUWXS4OC9SLKW9ZRLJ7RCYA4XZYW5V8EBW1K0D39QZPEHSZZWQQYIMUIS1VOFQU9ZED177IHXMAZXUHXKKBTP0C04UGR4NR0C4TDE56VKE03JXAUUPI6X2CO7QFXB3H8Y385O8HRIX8C5OK5BKT1X1CN3MKXI7VV9NREWM6CS0S1JD571KVBSA5X2EDRV7UAPEM92YUVHIGK4FOUPEI7ZOL0MOULBQOQYRKO9PBTEJG1ABA7RESQIB6D23YIDM433AJLJKQYXF02KLDW4WTFF348FIK0YW8ZT4OVKHIODF0NS39WZNXWGCP5LD4OXTS6SN0SEFA0YJDBMMSY686BEGXEBDOJ887NOZKLI31D7BKJY66XYBZ915KNGG5INN6L7XK5FQ2QUML1YJYFHFJK = -36#1LEACVXHYGSX9AARP6HPLYPXATR5XWDE6EOD02QZXCB39HTBWYV2YWX0PMNS4GDNMY0XUKQR4YVG6BK4O59AG31TPPJ467BS4NCNAKF4361PLAPKB80E9P8ZZWFWSC2FD9GDWTM4U2MU3CTX06NQV61Z4ZYCE0T8O3LS5L7E63KJR9UV9VB34OCC7T35OI53EXA7I678Z90ZIW7YB6HC7KD7ECC924RRGSEIG8MKAUTCN4W8LDGDNNX3U0G3O8WXV45E4WDJQXUL4Y2C83VQ89CL6A2EOU3XE2NK16HTMWFS6QJJT61EOJD6SU82KXRJTVA91P9TL5AGB3XONHVRM3UG4OYQ3ZBGQB43OYSULPADELX12B06XYSJRQFQ8DDVBBI2QJTB5HQNC3TN92NVG5DPZWSTKBXBZCTIJDK2WKDKE3VODLXHGSSXDQJ3AWLDI7J26APFYTSVMEYXPVTC0IQ611OH5V808BVWRBQ4Q5M26MMXRBTFQXFDT8G899TLDCDCB62FV9WOYOT10S84REV4 div 36#8Y3HQVAD3V1LEPMRZ5LY1B3J1T2YZ4PKA2LF8CA6ZZDU662RK. +36#C7LAZ38780GV9UU4QFIED6XFZ4S6S4S6NELDIPADLKGJ4EER15IRI12BCUL1ZPXNIHF0V04SJBM2HRJJRXN2YHEP5DHW0UQBJLQVY7BZ7Z6O77LFRWIF2TLNLUAUEH1ZT2OCRYNN23U2TNS50ZAVNWV77E969VEB9237NALLJ3U002UD88B8DCXO3DEDOBSROAKLTQTUAPJ20Z7K61HAE2UNJTN5BKGIJ3TC6P75SAOIPO8GLJ08IZOKI3KZSSGQX42IQU2IINKJHRE86V0VB7QJW58PLF5MLZPJMSMF5WTK1V942DC9AR1FTGITLKBBHTPAP5F1O = -36#4I88XW26RN0MAW22DHG9TZINE3MYEEBIEU8O75HFU4R62D7ILW0EZ0SZIZUMQA9036VN7BLNBIHP3WRS1TKOA6OOX4N2EHC3EJ4FSSQFQ0ZYOKP65SH3MLZHSNFNJBK0HXNKNOAX9WVF0FLJS5VEUB75IWGLGVITSU462J4WFPHVLX2EVTHWYC5ONUZ0MZKP18Z0E6HA4HNA459LEB57EAPNNJVLTB9KO6AHBQ6YG52OV8LFHL2SOPM3SXXO8QKHM9NP24EFHTEVS8YYGRAX788SHT * (-36#2PJRMTS5FDVYZCJAJFGAKOEAS47KRX7VTD8S1T8B82XML5KC). +36#O1TNI3CCSO0JRFGXIV51CFHIZ8A2A0UXXYD7ZFFSWF8JOLY6DDG8UO8EEHH2XWCO22J98TD4RM1VFMPJWPIFWC7BMCLCSSX9W3KO9SERX6BAM5PD1TJNZGT2JNW6VOUHVWQ2UYA5CRGEBK2QVXT9YTA8I4TODGEKP0MXEFX811QJJI68BO1TD07O84VSRMXRJCOO6FQR1RMLS30BT2CO8WK3EOKQP6Z816OSFNSKVZXZ9YDRQ6D0V5SKAETL54HU9D58CJI184ETBSVFG7IAA5776ZE6WL1XNUOJZ60VMY = 36#C4DDSPMA9SQILEBZBBEW5EGRXC8MNKVEUNOQSXLEKD01SGM6AT7HH9GL5ODK6L70SZLOZJKPEGRYKU61MRQ5V2J54N3AW17C66KND88PUULYHPTR5PXKINKOSSOP3SSNHISQHHHZRE1Y8XN3IYTH1SIC8BUO7ITAYHN5AX6DSG9OYFVW5ETW77XGXZRF71CYS2KEZXE0DTXL5WGIVIWEW47RLO7BESC3INUGFCENE56V16X8URTFNXJZEBG6BVSWXZ4TRQNUKE2KJR7UO2JRQRZUA9RU2J4XVXQBI0VTMD50IUELGA6WCKCBKTO7H9THJQPGRFFC3I0HGOXK9Z8Q4A02X6TL5WEUPO767971XP651B4VM55FJJM2U6RVLRJ6LQWBC05EJAEIQLW6XXNFDO60A6ONJI071HI59V29BQSH79WF5QBVKP3G0E14LA088V9B969JQJ06MU2858D1HBB5KPBG8JBTEU0OHJSEW0G27HNUFD2F4LVUJHOOZ9QIC58WGDMYH7CUW1213RUCE78UDA6H14GCAFKT1B2N3BO81OHO9BETEVAGKYD0EK0MY3B9LCOC0CGGIO5MNQ04WQ99CVV3ZOK96QWMXR56NOVH2F1DZMSS5W8QH3JV6GNKP5Z1WSMMSJRDUXBVEMSXE6QERO3MYL4OJ1KZPZVZ2OGFG6DXAXTI6HQ2A7TD5GOO46RSFL6K3MPY567VCQ3U7ZKV9KWCXZV53B2GQB43P1EOOP96R2AUX3I5IW6ULYOWPLEQJSAYE78BHTANY2RKS55GAJ9D2QPOF7FX8HF3MNPE7T2IMNND6TZNSBHI5MIN51C93QSUFDNP9XU9RKUNX38BOAOKTQ9ZY415WS6YIJ4U94L2706WVMB0IP5NMX9TJ06F799PKPU39JALMISR4R4R1ANIQ1ML2MP4PPOOFSIRSFMR4EU0OF228LUZQJ97CRL62O6MSIU7YQEAF08X7KOPXC1OOGJLL52259RWKF9G4 div 36#I56FWH9WHZPIIHX31KSLN0QGMW66DWCDJMH1PL2LCOIPDHMSFPYXCP0EC6T1AT8KTQ9B8RJZWU3U47KEYNBMWVNWEIM57F6HV30N572CKCWBU8EQ80CG5FDETM0NRJIHERLGLWW122QVIXUL0NHQNSXFIA23FKZJ0CH3FCBQUKO7DKQLIZ507G71MAN9YDK8RYX407PK8QSGHUE0DPCF5O1FKKLKINLEI0UTUZ1GBCBFLMV5KJULO6C30I820RP6UT5UUZTW6P1NN61D2N2QF9U4GE1OD3DJ83VAZCXU6HE70HGBDUQ27JG2QEXJ35UME9WB39SKT788O6E1J46I0P7PUUDJA6ZOT6TAS60ATXFD4JR5A9QZ0JYGJVRVTYAYAWW4HQM5H3D8N297UNCJXEMLPYZ9YANXI7NTMFZJZVO90TC5L420MP5GAXDVVCVO5X47IO7KXFONBR2GU0KRMLPRIWLOVB8TWI979KPV7X6AYD5CYFS1Q797BW2GJ2U0OWD94QU2QFMGAJ7YYTX3Q1UP3JQJAXLPSSKNS7WX4JSU1KN7UA0GUG5MP0UUY2B0SUS7QCMWY80VCBRILH9L9PTAM8HK1SHIA0R9YI8T23XECR52EDGFVY17L9RWNEVJ2H6C9UNWWGNSK5XVYUCVXYL3NH04TJD8SMPND6CBJP6SK92A5SCKW8BJIGJRHVYX34Y. +36#38IY5E5SP11X9RTITVXYXTZ6BOZVESWB2KPDWOYTSWG1GHD7ZB58KE4TOKQGIKV0J40R1GZKFAX432KG4H49UGV = 36#3CWHKNFV2GBG5OQ84UC5GC400ZYPMG0PHV5ZUPEQWC3MXZGE5X5T2QGC3VOJ03CMQ0PIG9ISM5812RAVY7SG7VXEL2B3MKNNPKIVSQVJ1T2TZC0UFEE5UCJUHVCG6CHZ6S3JB8T10EBG00C8PUDIJ3Z4EF2RI2V6UWEW6548PBZ4BQ5MG1GMHNB5RN29N5VATDVGDY1SJWGQNIER80HZ8R3LBGMQVP45MMIJUV6D6SSP96CSRSXOYJOZXCSHJG5PEKS9OCJKZIONPIJY1ZP93P01LK7UGTXCUK2HLTZE16282R3K9N847RJEU2G0ER5E37IKOSD9TT1ASXAABDGVNSA9MS64QB9M9YG0FW96EIOFTDF40LBCDOOZH3DBRCNBDE4L9OM94UMYM81BG418051O3AL1BMJG3JUHVSUWL4IM6BLA2P1HFFFPTRJPH4WHNETBL1SAHUFHMTGKYG2BVHRZIIIZ0XKEZ6OECHLZT7ZO div 36#11CO5A3KTHPPE4LZ2OHQUDO4GSN278N37FIWG0NKBZYPKPKWW0HRUW8JGUX6LQSTX1QDLV4749V6CKZX5BXJ84CEWLGV1QLJYB75BOM6KUMINK1BFACUX4HOUM78GZDX8LQSL41DQICPTS3YW9V0FZIP9OYSQ46JKBK021A14D39DHI4FFHM1UPGLQ8IQ084OJ4O8S7ZZ1DGLQUKS3502W0WG374DWAOGGAGFOQASQTC6FX65OI8YJKRPA2YWM27VP5LN4SZW8HFBHDZKQHIB8VSIA10IRRRO8EKDCSAKI5QMBIDBQMQMTUF0JMNPMQK7DWK8UAORLM070WX9NE3T5A0PFZIELEWR10YXIK4S494DZG01JFWOVIA5FPUCSCGVSVOHFDOL5FVCV1SCCSV9O. +-36#1J4VA1TWLY7F8RDL1Q3A0XXFGYU90JCJ5NOFHDA8IA9VRJRLZQFD37AV4P35ZB2R2F6HU8ZB8TSNID13OJ7DSJ9CYLM1VWKNVCIM4F0DPYAM1HEZ6XNJ4PJZTNCNZLKAALZMFXBL5Z8A556AAEI3A922G3J81CAO6OOX8FNTKB6E2KIBB4DLX0APOVDZGPPA4D2QZ82EKA5JMGTIMHY8JRY157KSAME0VEVUKMAWK2WNCZL481N4IA0DNR5KV1MJO7G5KS7GG7ZGHWFK7LYF3NMC9UB8XJREZUBFIRZJFFVMOBBSGKEE8FZ1R7JDLRWDULB1VSHSUL8PZ4Q7XM4GI1D49G7LMJK63XC8Q7H9JGQKU7P6731N720KEYNJ614YB7TNZCTJHKZCP9S1AL0XVL3M035H4XZ8T09HVS6QO6S998S0A0QNACX2HZJBTZ4IZLTBXQKTDEZRVPWEGLJK7L9SZGVVYBMCN7S0BRNQ4DZCIKC94JZTQAYS4CP7EGYS2ADFK2U6D06BS8V8WLDXP9D0ZO293V4N5X27F83XOGW3MM948MIQXCB3CS9M2OQUN1M65N2DYH8WLN6WDXGI3M2K0SKNWFD5AO9UF73NTQTFG9KLVKG68C57Y1TMLRHCZ0ZNSUG79PFNH5CWUN05U2QOLM4 = 36#1T2I3BK07VBK4WJQXPUEDTR0EGSA94RVDITA2XG3MKYLFIEY3AZJZJOVBCBAT4UGVFLTV73K76KBJSB42N4QUKW0112J6L6LTCIEBXAHAFLSF27S5NKMLV9J1MAZFOV8N5G3IFKOOKRJOHZXC9Y6NNZ6PZ8BYX6USGPE7WC4CP5S5KXWDXVJTTAEU4LO9LPH5R6OFF81G8H * (-36#UI4YA1TTPNC6BJ3RJMSKLUBJT5Z91NS6896DRB7OEEEMZX355S8SR3NERQ4KLP5IZA0C54LBECPTQXSTJNVP911XTEJGEI8OPSXADX0KIOS3JP0DIJH6JAUHBJAML71Q0ME41VSXT97RFCRZKKA6Y6VKQA3WUQYORH0D1MJQBO19XC8ODFQLXBCFIINIVVBQEVK1D7CUFJTJ0SOOO1M8Z8JO76VXQ82ISOF9LUI9JHO64IPLMFV3SX7NVBK2JHYG4GIUAFG30TS0HMJGHAO8ZJZELDHM62L5Z15Q4IX6ZXC4LYI2UNOFUNPDPQC3V93J937SV1NUKEKC7E4SX9NJGYKNP2I8LXLRZBHRUD02DGB7YC2PC79DKPRFITGZ1HL9G4CE36J90WV1YZ3PY1ZXD9IA8Z1N24GNSGJO3QILQRU981QQ64QKFPCKZRRKR0IQQ15XDVLGMU25OVFW). +36#MPHBNSA7CYAKYQQFK0R8DVC8JOKBXCQ2GDI7WIE6R1G9Y7JSYQRI8ID4B5ELVN3VICIA78GROPAKJ63V95ZRBIZ3SJM4NGVVWFHV8TVGHAILF95D7V6LYIKZ2V1WSGA3TECN1H0EGVJEAWZPT3X32S8RKALP1VHU28NRIW6HL5122JWPQYNOX1BW7C9BS0O4CZ7KMKOG6EWKL2ZCIEYIRZCJLM6HHGAB4SJVXTA3BHEWFGETGKWZ6AMBADGDQ83TBWGV098ZAVTNXKVAP66XI5805YYFTRE5PNB4J7RZM2AZMVCDBX09QD0V8BM2QEPNULNYG0BGQJFZFDEX0NBLURWV56OX9TRJQERRL2D7EFPHIAMHVBNNRLN4WOCA4OQV12718S2QK11CFAN7FFQV7ILSA9XJY7W5XTWY1HY6YGO4JHZK8V8ZSOMFBI22KOZOPLPPH9CZWOEN6MYCT5RQ0KK2NFVH20TPNPHCADZW4CICNKA0497E5G8S0CIKDM0W0ORGU6FFVS10BKQJ9JQBKUBAQMUFQF4WX811OFZFU92EVUU0I6AH917AWW3XOJSI39FEL0N8Y5A7MP0CV64OOI943EQFN5 = -36#3KZGZ955H76B92LMED0KRQ0U0OGHHTOGP3RDBUAB1DGDYWUQTQAK5QK464CVZMEEJSUOBCKNCDQEVZ34BRRJZZH8LDI0T927FU4OS0G1251UE1BI5YAWSI2INKVM1SR8IX2HO2NAUT54K8FLGCWW2KQ7ZP9XX87TM9JMHPDUDRBO8NHL3F0IHEJYZB049673YUM0T6Z42XRF4QH88WHZF46XYGL2VCTSPV4QNIEFXT6OW80VIP91UXW7N649Z43EBDPLYXCE2Z9AE5EGALRVV57XVA0VDROZFFIOFF8RDWXN3U1065DYDSGTZKUKU43ROJB5CB32YT6TK8N8NQAI99RA87WK8KZ3B27J7T53TMJJU5Y0LZMD1JDMELU6Y78M4U5IJ999TXX14EJO67FH2LT6HVSX15KM4JXXCBQ3SWBG42ECA3A364YUZEOHSP5MGIP9Q9G4TITCC1TJ6MG5NPJK49XDTLRQZNZ4Y81AJLWX9M8Z0JWQGMLLJTXPNVXDGXESECR21EY0UY5L9NVSYRAR85692LT7JG6XB74CX5VBDOEXP7WQJZB90G66BVP5M56M0HNLXX65GSW1X2PU6YY6K2477XPAWDRFP9Z8OZNEZ55FPKRQJ8XZM80SBJFOD2CRLQ2Y7C7AAP06AMMGAKFST1V2FURU div -36#5OHK99A94MJ8IHMG5KQF72GY6FKGTQ81OXRMA994AYZDXMZWM9U1SDMHVSIX1S4RL6. +-36#12515DL6ITWMGYF9O4HT6HRAYGJ83ORW6YRHCYVJUIKINQ58K6X1DMXFVQJXZ48GXVRWQHB64LWPTFM1R6C0U2WFRAFTYZ9HHDULMUMOOMT9MGKXARAAG5UT293KUTW5DUH8874ZDADXNNUZTYX3FT4PO4MFZRH6VVRK2QA9OYLHNHDSTFQAN7IXR53YOIFGES8L5YALLVWVR6U4J5BCVWTE7B3VDJFB051K0C3DOWCMUZY0TAFNLV978JHCPM5PS2GVL6CF5WYV3N62XZMR0A0H181OZEMS6T5Z2RPCFNI1ZU1A5UF3FGXRXSGJ4KQCGVHL77YXAMEKFWC9E24XKC0NO9FLB9WI5OV67NT4DBVPU2UW3A6CDEO3BLGR8IKSE926QR0CEM40BGGG05Y286NWJO9TYZQK0SFSHNLHTVH0TX8XSML4AJI0S5EFZ63N45W854COP2BI4XNJ5G4WE9JR0KCIEN6T81OP921VWLGZMWPCL8IIEIZ78V0PLOCYW3W98O9PGQ88HCRQXQ9SBJKUWDFUYMX440G5RX5MCKUOHSGHE7GXUAUTKC5KMKCWL555AXY0KXRFDM7GZY14N4RBG06TA4WB2K7ZV3Y7W3K36WC2XNLAHSPI91FMMJJDA7OD8VBJ50J9ZS8TRMSYG8TG86MGIC5D9BFL84WUQN0Y6SK523Q4ITQDSOX8CVSWSBNSVH14BW1Q9QPMXE5ETB6SCXIDBZDCPNUJJMI9VHGEPI1GNRSQVVXL5B28U6ISY3CK04Y4OBY5D96M6UV09DP19QJM0QY3J9U8KN6AR4HMSRJ3UHDM140ZHEF3PJI8S7ZMD7GYZ0H9N84 = 36#3XZM9MYP15OLNLSBIJMK5BDSMJ4US4KYVDSN8BOQJX4N0NWIFBCQSYP1NI7RVSTR67Z0ETVHXKVDWOEZ3WAH8UQYOW3GJOFD1FLW8JX1DISL4YTTBHT9U8RW44NK04JW9XMWO2ZHQH1TSREUN1P98VGCBYU7RDY3U4GDSGRESE76MW1EMOWJNF6YD6DM4GYTB3JWKUJQFQXO7RIT1779UXQIHGD5LHBOELNRQQ8ESEWXULI3JKLYJ98DXMKQNWO0SJIULD8T932AALQJHMNF5IZEGUWPX3VZDFFV339OE3SVFY2INV2V22B893Z6PCKDJNAGPAAMTV2H5KP9U0SO2GT660WXCB78SS7AFG22MFN5Y846P02OIHF42F6TM5R1C8SDR8Z6GCPXSRQHDDBZ51MHMQ6MUSS4SB6EXR7RQAGHX16N11CIWJ3W1T5E5S8RJ5SA3P0XPZTXIDZJICA69O5WV03S24RKWIK11VRICQTKPN1G8NQH0X1EI250PVUL9JD08V7YN2M8H171ZXT27QVDG52R1JVF77OTI57WFN6EE4377N27LLYJ072J4HAUWINZHPURUM6UAI9VJ3506WIKODORS4GEK00JIXGF7AALIWFFJH3TKW43OSH3FJHHSK0O4I4303DKK7NGTRAMNS572NBMKENMRFZB7L49QZE6S9VHH6UV6TLRJKVW9SPE6IFFFMO5UKUQ2JNAV9VVAQWFC92V2U7TL27B4C05UYC80G55XDZ3M7GCB8K5EVBRYZPUPKS75BCS2D3JIB338XPYWUWF859355UAODS3DLDE4XWOO7SXXLT61VV94KG1E1J5B3PIO66QK60I1VIYM7PCX46W75F365WJR3BEFCGULE57QPRX3X874AMX5XEALTJ5MWCT45B9RYGLW6IRZR20QIXSLVRE9F2XKF1VE2TYRK02ZOB5P3WWKC57YL5AC2ZCZ40H321U9CI1AQ2ZAVNFPVLYY7ER7FLKQOY6T5LCDP6Z4D318U4KD85TGHHAFF8NPBD999ADVVPLJSN0PL5ABQPVLNDT9FRKF92YTZ03E2GIUZIFP4G424PKTEPBM9UBIA7AJAVZY4368D0C3J1L6SKEDG0UMPGYGYEF8978DVFMY3O1F9R73M6YEJNR1CJW9IQGRBWS77ZLIU5Z9TPKVO9DBKBWTRBT2WRSX7IB4CET87WDCVSWAYYB1NS4NT893J1WV292QEJF44WH7G63YX5J82QQPQDD8WRE9IINAL3VHK3IVX7ATC4GWVB248N21LW6QDGI3W3GM1JEYCAD25WGUU7OUP5UEP14SNCK8Z8P2KADNPPBROJD1ZIE2K0HQI43XOPU74O3MRXMG1VH6TJPEH9UVV0Z8UL4CJ26HV7PEPTT003COD1W6JCHV5DLTWCPDTR8POJ3J1Z7RMZEMER6ZUGNWX7Y2IZPX2JU5GVZ7W8MWEP17JB4L93KF6NAI6P0HNQNM6ZAXP72MSZO div -36#3Q0U70F8RJDZZLZ02RQNQLCNC095SV2T06YVDJVJVPPVTZ1ERT7DEY4ZPVIR7RQAT988YF281ATYXEY1B2B0RJMD2KR71JDPUU6DQBONI7KF2868UX0UWUVUD3KJEQKKVC0KIWPYJQTMRXINLDR1C7CL9K71TL4QD6HISNS48U11RUL56ASPKO9W0E638FB8PKU758MR64FI5T74B7ZUF4KJ0FIHELSHUSMZGCTJ98P34I0OX9MMRDCESZVTRBWXYS5KZQT8CDBK8XUDUE9JQQPXNECUN3AXX801FS0JV3VOH0TWK51GKPJQJPCBI9D25HNEQNQNPKWR2PHHEJX1WMJ3YFIYG0QHKIDPVT3IZTEXMN4FDTG2KKGJTG8D7ZOBZPDIH2ZSUJ8L8YR6QG8CWB4PFUQYZU0XS56KL1KWO6C7K12BVCGL6NYVBVKP97NKMKTGN4JGB4DJAD3BRZPSLZM93V1KLLLMYT8Y4NFU7DH8HBB0F8VV386VQFS0C58PAN4YJ82ZW9Z9YRAALG1AV0K0MV5P2UER04KMQWO9OVZCHJ7MF6CCNOHL3D55MYNJUJJV4OA0RM08813ST1QAZQ8HVFXLNSQS9G3PM40ZF3PI8N2TY442WP61ECEVDVXSD6OJLITLNX. +36#4IHCZAKJHBCBFFK3MVWQ9C8U5BKI7MPKN2HGK1KO09Y9A1XADEPKZ7QF1DYXF46XY5R6HO5MDMS9EUCKVQ6EI0U96XAU3WUGK6G0PR2TVKVR5IMIIG3MDQK0T3WKIEG63EK4711BGRGBHK15LULI8RV77WNYKL1D8UDZFJ1M0VN4BJ94FSZM2ZNCMMDZ3NXMYFPF0ECEXLX3ULPIHKSY4GJ5QKNGKEYYUZB6ES2KHZ7M7GODFA95RIJCHT1T3UCC3W250K1G8JS562UDBK4TUV8JLPBHC32U0625O9XTSWE1C5RDAK54IOLX3X47OOGRFBH3MUF0UWPJ7FY123AW5HSHP009LW5CUYQTNJW08SH1RDK6CKXCS79FCPEM6B3KYRQC43BZF69TZ1SOS5SGWSURYP372NC78AUGVRSZJFDHX3RGXQ90RHGTJMBMOU75J155D1K40X0W46GCNV29UVFPELWDIXFVRLI6Y9WGO8ONWXZ4JIPGOR8L35Y73XAPXSQYLHY4CXX2J7S2VDJFX4510L2I81JXRNNFSTWMW9S1AZGO37D59UZJMCAHBU9V6M0HJLTVATHDL68ZJS44M7I2FGA7SLW74XQXG3QC8NSMVHPU811KYLIHGQ2A0BMM0VK2S896CVZGRKQWH0NQTC36AFMD8ZZ2FJNJAC7HC5QG2GEGEL7RTO3NZKLV2HMPSALDYLNCSKUJKUQNB4GUXDXJN23SZ5WT450C84G5F2HLS67OX9K469XPMH27SLFRWQFI1EA58YL5ANEPADDTBH3VWXDSPAWP2MVCVOI1XW3NF4KFJLPTKR0FOBRFC349H7ECX3K6QKR9OXRXBAUKP73V3XFYXRRBROC8C8K0JOTKBVPNWHSNNTA9UR7F90TCSTSM1U1UVQZ5VLSLVMYSXVOR67GZNWOIBTE4I5XX32X6TQXH0TDJQB7IBKBA5XXHO6BAX3VM9L9CIUSA7XPNJ7863X4XJH2CU54ILF276HYX6G4D5DBAV8840DT61RJCRKIKB3KG5R6F2DPGCI6T9SS0ZENDZOUVE4Y8HG48YOTQIQZGES2F318M0VA59CINPY8A3G5OMIGGS71X6JTAGAOB7Z3U0FLQJ5613JTIL9EAE94811OAY0F368HCAV9CL0F25Y2C1XRWT1Y68N1QHVF1VAQ6WO6EPDQ275FQM43Z5UVS044SIH8N3ZMKI2YENAUW8IYJ2MCKQXLTXQR5S4M9A1WTSNYPNWYGW0TZT579YRUKKGDXGGYLT69IRYXW1UI0NAJDFKSSZNJF1CZ6MH6V7Q8RTDKQK94GOFS7POO9ICWS3HEAG3NP33B77QPAJCSSAP76XUG0RMPQH76YRYSSR50DGNKQO6PI7BLHCTQDVS3Q7UZ0GTUXHGUPIJJED6ZZ8WM5V3EFJO1KGVAC6SSGEDH1CEJI539LIQC7X63VUVB9NSV42NYLFWS8LXHLTKPZKLQ2LC1VKY3GDBYQFGXBISY103EEO2A19U0P0P9ITMARLANDMT5XI1I6WE4I5I1EVQF3R23GDZGZ6T2I111CA7UHIDB9DL37CBC2KSPNTO7AF467EQYMB1ARZ0R22QBTLS8WVLZC2PGQEBM8EK27TRJOXP7EASCP9WB7O280FA7IMP75GU0GJQNNNYXLEDB6W8CWNXXRZZZ7A1N8C4Y5BKQ6S2NISR74TUQKS40F3NLD722RE8DRPS6J17DV8GXZ22E9SIPI9RMBJTH78BHZ3FEJ1MRFK99NI0JIPYZJW932RPL6VGOS7UV60FSMTTVWIJDIQY4XZIZS5G0Q7JTN9LLLZQSGHYTLF6EAUGQPZO59I4JCIYB36AYP3FNVQEMZJV7UAYG70OXDV3NNHG9QF0DTRQCNMT7ZC8AQBPXYVVE0JZQLNIHTXZIR3XJP1H9DWYPR20GFU7XNSZI = -36#H51B6BREIQC2TPUMA1R95PUJ66P2V5OP4I7J1T5HJT7WASQHCBSCQ745ILHHE0C2RLVH2WPT269PVVWUGYEPKICIHV95KECMDO78Y8NKT47WBMFSQY9NTGCCQR1KYEMVLXH0JDT6GBWNA0WZPRLIWLXCN5GC0Q0AGBEQ8H6RGDNVCZVCCV8MNA844TVRJZ4MFLAS1MLHYQAUK5FYAGKZWTK3CQ4I52L178UDM1VBKF6T6G2ZFNUDVCAOCM9DBK67LE1CYRZMRVIWC7RUUA44AEPZ5N3A712AMBPGA9NWQIE78DGA2MSRL74QD7JGOMC0D5YR0A3U07YUIEH602G4RDNXTEFG2T37JMJ6V4SND2CG6FOS0Y74TQ5NU15OKGTP7KBZMGPPSRF5DX9AOA5LWDTMKMFR7T73BWLOIRQYO552W7L3MG5YE9S68KSMKGXSDNKFVRAWLMXF0949L0SFYRL3VD8GM18KP8VHOGRKM0HQVY0SMCNOT0A8BZY4W5P336KY5SQV2CP5EIVNDVN3BEZ8CW3901OFE45NKBOVVMCUNJHP4B7EAZCHPS6Q9Z5Y5Q90TU7D4CNN86N57TG2M7U9BFNS2OAVLKI6K26V1D67O5YRRJE3ZK3RSEVWLNHZPDK9C1XJ3MTL0DQRIGCDW8VPL4R0I6MS1DGRY0CU2XZ0C1ZZQT3KFZEW5QNZZGYUMNW4PYINNRLADLD932UHS1J9R28XPJ877ZVBRM5A913MSJ1JRKMMNRWSJ4TL9OM7MAMFZDAO86JNMB6RKBEFQLSHW39EJ6K0HWX4X11LI4HA8W2F7RBDUHATE8TSN9JBXQWG8YNZ23ZHFR1IENY2MHSX0E4ACDCGZQD4SD14B9DOB53VNNTSOBMRDN48O9O0UQR * (-36#9H9RYAQBWMXFAKOV56LSUF9S2NWZUGO6JMA1JH4AQ9A10U9JNJLE72P7AKKB4ONK1NT3TUSEN0LJJFN6UYIS31NRLFJ505LMND2CLKBSIPANFELFDKXS3UN4F3AML1UP4ZP631SURBSMBTYU5U5437YFW211ZNYC1A8TEIG9MMKHT1WEI52US11GVWWHGYYF1MCFGAP7QP2UC6EPT2XEKAO1Y88HJAFOZ5BSMZ14U69SKA9QAMGHEALJ3O1E12SG3FEHIMCR7NETIJL7FLH4XOSIF0P9J80HN6TQBUNJNL739F7V8JDKL0J0XBVJUQC9V65N08DJAMK4H3LX6SECTN0JUVYXU87IGQXKVNPMJZ3I1M38PQDNC2ZCOJUZYPXNGW7PW76NE7QW2J1JMEKKKXEFWIK6EW36OFWYQLEZFYIFDL4TBP50NC6ZSIV2PIWGD4VV40QH0KI7RLS19ZTMU6U05MJYBEOASBMHGHVC4N45VYFHYW66JRDMSIWR2BTKWUKVAF15OFWP0KYWXRX6GVLLFS5MK8TBEPJZ3UI64P6X2N5F6AIMD2QW7APSYSAP5B18UMXGLT5G2YYRP9JVFS6QDPDANDOPBHQFEPD5BNJ4GXZ483XJE284XNIQIYFUT5JAMPH2D1SHB99ZLFJSAZ6HR453T1OKXEGX2YO8Y2KKJRHPB21JCPA5AOGPNWUQKSR0JE5CDXEATDA9EXWV0NILGAMEFXUJS6RPUSNVLVA258E0HI8T0CTTZHR9CSOWR0F8H3TYEBINB3DMXUA0H51DSZ2Q84BLZ0EJXKWFPYHOTQK79006JQJGLISCV8H2CN7TODOUF985QNYB2TCSY6WKBNBMKIPYJVJXPA0A9EM14YD6CQ6ML4ONG51HM1V3PDYK6CDFV6EVUUJV74510Y7Q5B60Z8RHG5EJCGUE87JTM0A3DX1ZCFCTRBUVK7FKWO21OV6MG4NXC17WRXWECXDMKVUCHZV0QQ3SF2Q1DAZOTJB9RTYE42OK8A9CYGZ2G8OGFGT89XUM3PM2). +36#1TQL58XD4C15SNKC4N69C1FKVTUA0OMAGP39UPBT7OS6VYW873WSFMR3I3QJDWR9E3IJ6IAXQS4UHOOQJ53SQPKTJGQE830YN42WOGCD10DO1ZL0PJ0Z1CSY1JVCTS1H1D315NVX4AROSBD606UXGN8XRO029Y9MRG14T57TDXRUXBMUZEFTGYEM1BWN8XVAIBP1GNMY7HD47V4TY18AFQ4O4W8827BUKEH3JB8TI5AQFAY1L1Q2RIIGH1R527RIEQ0066N1AHZQ7N8Q57YTJPG = 36#3FSEMZJ1IDW8PJNXJX34ZXG6JTB2E3S8DL59U4XWRAAGQF0SKL3EPXSWU1H80F3NTG9ZQV945TD3MYDTOZFOJCIU6JR3W85A7W2PTXXVMUCRC0RQ4PWWW8DJNVVSAC7SMYL3BXU5N8BJSQZAKVES6OAJR6UWHMZGWF15NSJ5XHY9MXWF69RO5CQMNEAI0P54LMICETCTWOU6UH8P8GRHAMFC973LMPGBYQYI2QY04HB1S0FEJI13C0BZ14M6NUPTGPBWPD8BS5O65H28C3ZC4730C9RJVFRJYO5C6Z8ZS27EU69QBRFM9N8B4OYXJ5BEVIMTJKIM4L22T6PO7PQHYTW7N1OEO35IKTYWOA4EK39VVUTJH3K4F375DUCPRWBODYHCY2BRFHUDA7WCDOZY2QJGE6F8INJQ1P7HNL964QUJ0DFVEWPMC6XHTZAWAEQWFL4ENYJSUXFC5GLYNFW1M7GR21TWK474X6R1KXSQQI94KM8OJCHPEQ6NBKMCIYVKD77EAH2VUD23BLM1PCUSGRT9QE1H2S2J4F5AQ7399BFHCTNZHB118MVCD9BZ988GFHGOTKHWO div 36#1VSFNXFAQK7IOODHPDIN77XHLM69ETCNSGR169E2HHWA0EYAEQ5ONT9TYPIH1NCRYUOWVVSBU8WA2SL14GTKY772F9686Y6D09LDB2XQXJBF273M7T7YDL2PY4HPB2N2T3FROAJ0CIA0XVMSZYUNN3QVB8FBSPVZQXT6F4DIYIY1XY89G4OIZE0MEOYF52KXLD932M04FYP0XZNDIIR38B9BRWIGZ4JZQKP6RDKOUDNNUO263SF18GH4Z809OI71PXV0XGED9JLFMWVGMSZNBLPHUEF8FGRHOMZYKFVED2JB42ZJKX6. +-36#44MS2ROUGBL4UFAZO1UNP37MOG2MT71V7XRB3D7FT2OFGXRWM0H58IYFWZAHAJZEPEW9KWM8ZEDBW1RPWWT2QVCRNWRUVHE6EHN932GP1WPNCO2VTY6Y4NAYBZDJCMZTLRFSKVSSU3K2FHDMIYX0RU9CKWH9PQJJNSNINFIUYGFBS802XUBRMJ5FMDZN9DNB6X2IFIATVLEUIIXDICQUXMGFSSMGTUWB1XC591JCSK812FG92AD0ROBVVMRTP5AQGROH7MKKKAG40VSND62J1TQ1EJ0TP0ZBQUEF84LN2923G0O1BREBVRWW8K99B2WWS01UIMJKS0RICR5NA4P7D4S3GZHKTU5G32036R5GVE0RQEZ2R6IMUJ1HIYCR333V7PXW6N4U1X3EP2IIURA0U8OR5VDR3G81T101ZQYE9IWZ3QSOHWH85C1SUKU0G3EDAKB2PGDH9LQUEOHPHNVC95LFPV2UT5JVTLGGL5447SR63TJSB8F9NYPT8M8O87AKV3FYBTAUPBWYJKZ53YVHG3CDN9P3X2Q5JQ29S33KMH6DVYJRI1MNGOU0IYZ2BOH5F4P647ZI33WACLC45QLCFT1DSRYF0KNXNLZAK2PMZKT9IRGE5BAV1EK0K5WNIFAU6HR7K6MMIQL8KZ7J3JISH0DMVKDDWRZ7E3ZB28PAWZYA3U9BR29LEG3MZZXJDHDA3VRSD2WMMEHB0R0FRXUT7L2WCXWY69X24FBTFYFT2NHNLW665WI3SPD8TK4RUFNS6B6F0H74QRTS7NF1789UT61C0NK4B3WKGOJEO9FWQPRIVFY4ER9MMB0QY56790L7HSE02M5X5E3Z2 = 36#4CJHYIH90MYNDUVW6E1WU1BVECSMIMTSJN9QRG6K4ZQWFG72DK0003AW5EA0XRIGR0PCFWYLF5A8D15KP246NQP * (-36#Y6ITRJT1AND2HZ55Y9BG3H7NKSN9L0HHFR0TYCUD90OO8YKG6LH9URBCSLQBSW252VZ6BQ4N3RBWJD8VMFH25XMV1REWGVQEZT614F6J3331TRL2OGWO64ANT362P9SHK9H0VYCABJZDS1U7G9LLKNYNU8CCY3YKMFXGYTTJ2GMPMQKIF8DCR0J6AUJ2XD0JI6CF1QMO8V1KFII1S9VAT7HTBKEGYVN8N7Z01WX7Q2QORNWXS9Q5TRD9WQGXA62G2YMI1WM3BZLIE0N33GH10U3ZDLJEF5UYUN4TUNW98EKZ1XKQI1Q75E1EH2SVMGUU1LAE35ME3HK3TRXTD56MDX5LMZ9TCYHB8YO6ER28LM4KGQO07AASKO99C4YI1R79EPA6VYKNKT96FW5FUM1DNNXCBWREJTHR4VZH97MS267G52UD9RZW0D6E4ZZ76EEJV636KLB6KWCY4C5SJ0SL04VX55LCNFR6OX7DYSWLWBAHR0WN3PDGD7UZV48GO83UMXC1JE3BIHHP8P8WXZCCO0IK9RI7SIJANII1G5L0DJOCBPCQ4PIQ11P3389A5GVBNC54ZSPIRP05AYG2VXBIVP7UP1YB9M229CHVGYG1DZO4Y509K2CN24BNE5LI75JG14XCJLTS2UMMWSX3Y83768W677NU46R4GAB1X07C7KMWV5PBZRW6DMXXWRVADVEAMTTAJOT0U2R7ROAHHPW0TODNLGQO1YD782IZMC0LEH835HTPHRJW1Q). +-36#10OE94XDNE09UIFXXCBVXMWG91SC5ZJXHOQE7IFXHD7SCHXRZHOUGT4GIBN0N25TP0PD2D6JQDGR52JAQQWJ0S2NK6TNR51IG24SMR245MPCW129NDVD0K9XBC4G3FRUVG4ASUKH60HKCG7Z0KNJFK4RY87E25AWM0GFKCZX075XYEXIYK558IAOO5K0HYM2C7TMZHE2KY31ZOPB670QJEUO6S5AF2KX9K3NRIC3NHFFV2G8M7Z816UKA5ZTTFVCTZ2N5F6FB5LERG85Z8O5UVYXC0WE7NWFTVJF0EQ77OH8VCMKNV0A8CB76GVKHXZ2FMH1W6AJF15LAO7RGSP2WJHLIRDDVXTGNE78I2V6G47KBD8CSBUYUGGZ8HUJ2I0V0RML2BMGWF1O4BXAHT22WJ = -36#3D9DXSLCE8QJLEGJHA7NUFTO5EHEKUGSZXXA1MVOPUHI74Q96VJL6Z6VJCXR1JDQP7GS9JQYG50GGVB2ZGV4V3K07C8RSJGK7WE8SNJ4L2O60W7302O1REYYMTU5DEE01QL2N3PRZAB16990CL5GYHZ18JCH2R9DHJP62A0U1S8B50XR50CVMO9KU36I3200MT8S0UMB5IRKQ0QGGIRBN7KR480JBAP1MDM1BH2GVE6XVIBYHKK5J2KBZE2W6IJZXXATALFF8WRHL36UBT8FHGXAWAICBFVYUEZA1HZKGY6GJ84RBIGPG0RIFT5CCIQ6RE9CSOXA44B8VW4UG8RM5GUDZZ1F2KCMOFW6HFMDNL4SA2LZL43KL74CWASETP1XQ8MBX77XIRE4DXN0OBGRE2RERN7GOT1HY85IMUGH55QINYQ1XF0DQSKGADJMDYNLMVN82KK71XJK4NBRY9EZBASCOXW9TXQWH1LMW6XV4ZL484B6ZY7ZNP2OQPR3X5OMOHP7QJS2S9LOHZE7IMVNZ9Z4V0PW9Q3SVQT7LGSFVIHQYB0BVU5 div 36#3B0QBR1Q2EI6OJXKP3P5A6DU86UK7CBWKEPAY0ZZ3KPB97H4EEYXEE4EWQ60ZOA8KXF1QZ6TA4S80SID0QMOVLBCTZ17JPIM1FIVEO6H2NOGY2YKCS31GK9QLTHSJYEXJTDACCTX0H5T8DSCIMELOUYDNBM82N. +36#KU58QC29O16NDBRILG6JHANYY7XXOVJ4MIWWHDK2R3ZRBG5SCV8L8WXWRFT0S03FSBHYQ5KU6P3HZGRQFN1VIZ1AYFIQ9NDIQW91W4J0ABJ8QGVF2PNLZKLK8LUK8PHU39BI9DGYVCYANRAPQ0YBXA3MMDVOD62ABHT3J0QD2RMLJF8OUG8II = -36#2LFC9IDH5KLU0J09RQTMSHJB68OLD519TUT2SGN7M7NE0FZFKNFKFK3MZEQ61J9RPVQF3GSA1S5EJ6EOIZFP8BTWG45K7BSVE9XA8B3NOI6ZO9WB2GAMX5ZSY6J6PE5X6FJQ50RJ07R7GD2RGH8GBGAWA4O7DEKR7JIMIDV4KYDG18XB9NEGX9EGU6ANJPDA1UYIRWK334AVVI2A2NGNX9PTYKH5NMNK9MY2D9MU7KRBLAG4ASSS33YE1S03TDEMN8CH8T6N04826SXPLFDTSU1DQA0BKZLGB3G4ZKJ967NPWV6II36HVCVVBWUIS7OV6UTJCXOW0Q7QZ6W4O7OQLP9A7WI8P05AHUL8C12GPKP0S0VFNM0BC33R9N2D8FU53RBXNBETVFGE6SLOH85HJBFFT1GNERE2QIUOI2MUSK0ZXR4S2KVRODMYLSK5XCBFGPNSJ4ID2WF4HRDIZDOHIXHWR3TH1Q1ZEOO6SWPLZG9P6NWJBTTZNNF1JQJE2YZJCEQ1RXAP86RW8F087CQQ8ONA7PO16YGWIMFXLOWWMQP7TBSCEWDKHOXGUYLJE48QEL7N2PHBGFYBGE87IQZGT0T2RIZ00 div -36#4HEQ2UNFV9B96EDXG20XIR3CRQAC70TURPXUXLFXARUJZ7A8Y2VFOLAP8QG1MI1GYO63G0E7ZL3H4N96N9KHYXIRPYH7JW68PKZ8AA86QTNLG1P5DZYCPEAIU6H3TTQCFT6W5R5C6OFVNZSDIPZ54SPA89T6R4GXJ68YCMTUT9UZLV5CWQ5CIRFZMMPRBNNVFINXUMPW38HWBAKE5CSPCUIU9O0M3XPHC0CXO3DLIHUJRAD23I3CM5DUYMQDH6Y0V44FK370GJB9935BHXSS7EXDR11H1BBXGIJQO1K9MS7Z4KVZR4G3UMZKNPNEC74JIZ17RK2S7UT4ML03VOMHY5VIDU6RG2PZFX1CN3TAJOTEZ82BYH5IOMM8BL7I4VIX24X77LBQQXNCJN2OJGJKIZQHX62QBI021MWVBZY0. +36#1GQ9NBZBWZEFY2C74PQTSAQG3MO70UN88G0TP2Y7Z8VPYU0U08 = 36#4EIC2T831NN5JDES8OXZAIU9A3UT6CCIZT2YJPDTGHR9W8B2MRBIAHPGZMJYGSP4UIHCPHFF5ORMICO9E7U5OU8RHWX4YHF923PSU54L3ZAX3E8X0661O2HEUBCLQ6H8PW6BO2EGGMJM5SEFTZND6VDKCU09DSDLFG1LUKGS71AF2CFYTLQ9FM786UQQ55OZ7DMRM5BMTNKB9CN3X7JV2GJEADOWT8K5ZPRSGQ3RCYB413H2QF8QSSJWY1FWZ40YPN7R42N3UK1MIX1ZMCD6QF3J820YGIAO4X9QEUO0WOFT82YXLNFGQONETTE3J1E13OI2Y2AQ0VE13Z2HSRQRKS6GJAIS16PBD6BO9BBNHK8W88MBW2KU3NTY4JXGJ5A5B5IRHXG85SRBYWSU3E0ZO30VTYKS7Z3ECLPFO0T8YW6LB806SPL6WZRD6Z1O6ZCZW6DZP2MSXV9Z64QAA8YFBDU23L3R11DS7UM5BKNBFKG1CLJQW71ZHNKLQLLT31KCYFVR6A63IM99TFKE80FVUSNO27TJ9QPT68DLWQS5B9LONK0YN40O6K2OMU1WA0LF18EBN74JJJVOSS1BF14C69HR19ZQA86BMNWGY2UA4NVHVT4YC1E46NLL9ZW85GQ3Q1J9EDT0N7P5PTR2GP3GXBNZH2JHS9AZUUC3S8KGPT130X128SM5NT3IY6OV6WJRT5X5X3C37TBZAC3QIBP8OW607YFYV1LTCW7LFIOG8F53F3H1AKOYG1W2CCV8K8YUO831PGQ780 div 36#307VF8IZKRTCITKNFYTNUPKBGS6SGPES2KGI27YM8NN72F4TIF4J4RMBFTBK2SS0HFHW0N1IQK12JPLO1ZRHXETH8CO9WJ9V1OEYQQGQND8HD88FQSEN8XOL9KMUI8XXSNZWYR987TTOFE21V3W6MOWD6DOKDT3SRL87AEYMY1C7JK6MVZAT7PZ85DKEDCZBQS0KB69NY15YJ31JB9D4CL4VQW1NPT7K2Y1XLN5MVV0XK87OY1BS49V2FMMLDG0KKSWD2MC836LI1WBNSRA14GOBU75052OZFMEBKACF1NHM7ZH70BAZREQVRSZ9FJ5YZX68G41FRZU3BEUNGLV5LOGWXB0IUBK7J4PA9UZG1LAGA1E15RHHJ1WI0QOWFS86H2F87PYHCDLC788S0L4SOBQPY4EVPJ0HX242AG49FCNSRML6V4FLZCJT9UQ9LPY6FYBO6Y2U2QDS2PL0DTD4SCQLYQ3Z327UR7DOR4NR2A1IVKZGYLX7QYTPD9O3T09QWTAHZMVDEP6AAOPHWGA5ZOPJ1FRM2TVX4C78V0L6HU4CL7LCV1V9WFPOE497NLRBDUNX0NMP63ZC3KFYITTPSLEPL23F6TOJCGPJ4YZCWOU59U3O9QIWYMOIS3OA8UZ6TWXPHM6R58SXNN2EGF3MCV0627SL4782N8FONSR2DIV10PL2GS4REPCF3NNRQCI2RCDDN8LSHT1KDXZES6LWFKWEI. +-36#1QLIFL7QQMWDMMT61ING3QY6CPTQELK1WP6XKE7677VYAQ5BNO = -36#CAY2SUWTDOGGMWAYYM9WTBR600WTV5UA5VIQSFN9DFL0EXRCN3XDO2COLFIJYU7YFPXKS7NFRMX1S464PSCHLPDKA7I2XB16DFQW0ET1ZVRJTWZTYKZ044J7EM2HJ5VJZSUU378R9BWE843J0O2RJKU0HRA7EQQ1NZD7YUOEQI1XNPAOZVIBVNICWDL10B65ARZYY8YCG12HVR39W7XUFP9ANNFLDO4CA0P9THBVL13VLW4DU88OPO9ENWFAB3NUXSOVF5H54ZNYNLHEH8VOCPVLA6QYTNUF9YW5C6VWKUY67NS1G6YM37N76DCX2UDN27HVDMY47SELKXB4Z1LCAIRDJKZTCSMHX3IKTVIEJI3EF4ET0HQHVRZKMGV29YGS6M50592E100RNGRFY3D5E8HXELIGL73X5YP42Z4475314WDYK4XJF5O17NOYIDPSQXVCLZ8EMXKVTMRYEH62NI9X3M8DZ4OPIOOIY7KTHON9V8X018T2AZ2DKVRLF585R1FXRLZXRPEHGEGDD4J1L37R2WFFH4QJCK7169XAWX4TGQH6GIQP5MKFAH3IX380UU38USUMM00S6G53DOFBMDARIO7A6IH89SI1UJOBH2914H5GAL1PB5LMCJW46L6YYOKJHOWCIMSWYR7MXIDXR2PBWB9Q21X6UYYQPFYM2TPNYGFRA56UMWQKXJPOB0 div 36#72QMJSDQCRDQ2MK8AGIHE1ZC762R4VBUR11YRLL4C4I9QYLEZ5WU7F218PJW182PYSSCJ8XS5BYQYIIJSJMIE4RVNF5ZFOV36L5FFWW8N7PAA9H0HSNUIQ4ZL3MPJN41B8P5JGDNPL99G4IYQORWKPRFMTDCHHBTEQFTBYN4Q7A3W7C277G2CQVLLA0NO6386F9QCX862CHM4R8NYQ6WS0C8S579517COAKMX05AEBMXYIKQVP3I0ML2SM1UDCH7553H80D3DZPJVLBUTQEDYU2CYLUQBDQIGCNK80JVLOC1NRLXH19LV1OTRDPMI7P0UIFELJ2125Y5G9OPHLHFAXO98DX24PWGBGZKCY289WZ92VAEN6D46FB59N1ZL550S745Q3UE3N8QF3LXCJMPXLCM330R2QLTISBL7OV74QZBJY7RL2HQGNB2BJSTB564M6JFY19YYFR2TBJH699L7N761Q4PO1FJOKASJELQ4JMNANYLTFM1JAXV7IYJNTCJCHQFZZRCV76OD14KZSBAYLSFRN8BHBA0S84TSYCNVJK9WSXEMORDYWZWPNNDF4J1NVWQBBKKE5XJHTU1SK5FE19F9C7QZA3YQYF1NC3VLFIGJUVKPNGV2DTAETT7O0X4BNT3H41V8TAW3. +-36#8JHNB84NGWMEX8XST79AIWVQUSODDK0FZ5JCDSJ6ULRKZFIQ0 = -36#3HP8OIB8QPSD8PH9YQLF27L3AC04WYP1SHZOTZFHYFJLMD05BQWVP04UIB9JZGGV4GARU6PS0WIX0BX2YNYC1LM16UKB0XY6W730LLHKY9PH42GKTX63YDW840HOGHOXIDYR0480SL79OQU4RC36BSZJZ164KBDEO3YNAZ9WD7NQUN7FS7UK9T6R4NG0IQN7Y8NM7RAG44B2DHS8SB9FU150PZ05OPPTWDJH1KABDXMHSG3NTFQ24P87RXG7B8VY8LL13QHH270BD6H0LYTH1OGVKLBX8RZ4ORDAL5L796OM849WG155WXX41JA4IWOSAON1UJQKSTCHZJYTL90ZIZA09RQNSXNKBFNZRH9BCMCXN6I63CLPSV0GT86QDKZH4Z4K0 div 36#EPSUCL5T897UUOEQQMK65OUXQ7ZCUJYBBJE0KISMHL64NHRR7KBU7344APYT4UGGPKH1FDGZHHJ6QSOW80IVPA3L9C8H8LVW35AXT3EMF8BB56MMUNTE9SB10STO9342FFL41NZCZ11AJQGQS4JEMEJHVQMRG24TKBTAJN29WYMYGBNC5QV6IQYWWSSL1XLCCWO804MJAZ2O0RHT076G50MU3GZ0FYYHIDWAJ6WHEZKK2E1C5TOI285SHFLW9UUVTGFIBQ5LC7RBJ5ZSZZEGLXSTZGR4R2QZJSD7F2PCLIUTJ6STF9QEQZF099JQMLDH41YNHRUX7DVRZN305Z2Y. +-36#DVVG1XTYIETSYVA8Z8VFVHG76BNQZVRO6KY728QF10AR2LIFP = -36#15SHX7888X6FP04AFJCS23ATYD5L80PADWWK86SU6N2YRQPPSEJLZN0TWDGU9GGSR974MFK2BSOPSRLKV1PS2BCCRUXMJZ1QJBR div 36#30CN8A2K6BUCE8PAME73YNPU2LFHQJD5OR1L8DAV0TJLOS8W8R. +-36#ZE3M7XQEL6AXP2FDF4Z26A950IJDY5CE4BP84OFKZP2A4QGUMDLXHJTAALAFNFWYER9YWOZCTG0FQP039H7J57RMPYG1HSWS1BOL9M1DYETZXY9XR30HQI5KJSPPAAVTNQ2Z8VWASSHULZRNEBH6K28SFG8J65VP2RT0G4IDW7LJY3GFG5V84WTGAF9DMLC8DDY2JOLP5JB0ZIPNVIWA7HNSNDNTT5OIENLQZQ1KIHJZ1T6ZZFIQSD6CAV2I3AQN8IF18WP8JNGOB63U6OYPYU2MUWVS1BC95APH4D0LARS39CMXCCEZFDR8Y1H6K8XH0E0YVZF16C72K376QKFHJ82RS8NS4H0ERLBW = 36#4764FU1FBE6E7Q8ZV1Z0D6QZZPWXWY9DYGIPAJEYY99TVWRZM * (-36#8FF0SALUH0GOTF326L93DUX7E6FRQUF9SJ6OX69PDY5MNQ3YHLOCO4CN2QYWBYS5W6A6A1Q0KWWB4VJJXEIV6PA21CQL7SDMJQMS6MMZLXSMAKT3PDIWW246QJW4JFK2KMDISJ5RJ3SL87AFOGQMYK6SIECRRI442O18XSNMAO3G05XL2FQI8TCZIWPI4D7HV9GPHZH5Y3K8BNDL5TY6MSNXDOORFWNISQUB3PZ8G2LK5QAPZUP82LB1HI3VC80N7B1Q22V58HKZ6DXU0OAFCZ8POHEHX9M11Z20PIGSBW4V6CZU9H1Q). +-36#LI1F5AGAURK8I7RDXYKD14I2MGB6323HS8GZDEFVFOYK4URBN6R0N7SE1Q8DB3FRLOZ7AGX7GGXMAFP62D5B9NEQPL83JZWXDN3I8IM83RVA56N3AAPZ75J8I22TM12B2W7HH7T3A4P5NBW1D48FGH8WZNC0466SG0XDYCUV4TV6OX095ETUTGWY23C40FYVD0XR8QYZ4CBKSJ9EUXV9XY1XO98FFPDPJZ2U35Y4DCS6S98SFXPJCC4RC6BRS9EX9UFFMLXNJZC2AYVZQMOLV5YHLFNT8BAMZP6AW9XTJ9I8RTXQ7YBWECYPJZ3V3IVEVCT5CYTK9FYK3QOG41UBG0QGT9Z6IOYO346EHEK7QYBIZ6VL1XSLTQ4OKS8S9C724PL4RS5YTVRDMAN7QT4NT33DHHTC1XJYEX78YE0Z4XZBFDC4WBCBYVFJJ3U97SGE6IAO64EX4P70E8KLPR2FCII08VQCLMQG3R31WQMYQ9D29L2K6AAOKT673NVIDGS3KNJY5LWOCXEBNJ39D7YBFRK2EA67UBND3IIH2ZJ84Z1A6CT6D0N = 36#NSSRMIAQ44QY7JXVMYYK9QIM817G6DDHJBMHHSU4PEASHN559WYRKZ4OFP2OBT5ZDZ9Z3Z6DIGE7ZT9YY7WP0B9EMUOXEXEH06UEJJ5HTELOS4O2FCRU1EPROYESQG7CABBVU58YDV7KOR7GHTO3H5ZGQIZ532IBUPZP79338LY4QHQZKV60N8KY1LHPCCLCS2L1AZ0IGRA8UFPB4PVV8DVON9217EQPX6YVBL78GYCSCUDJU97UYGXEKJQAZ4G8R3JZL6W5QOL0WEGBSV4LDGTQLX21SDKE09R0RU59P02IK7SNFRN6J8AS4RITP2R5GCGZQR37PZBS2BEU8MXUVU6JVKFJ1QD2F83OJP24QR6OAOH31E1N72MZ6MW5L0YHLMO8RB86WZSDT4HF38IWNXGEEUT1N6PIOZEX6HFW69Z3UAE8LE48A6SWCT0E5YCU2SDXJDK7ZYGLUZW0YLFS9S55CP4IN2GNO83BP7QBZ80RYW9KZ2U5C95KK2GDM7NQ4NS6CUSWFPL3PLANNWXJY0GOZBCLPEA59S69JZ3A9P8DL0NRIDI3LKCXOU9QZM1SN2YFJ5XLEQOLMJ70B0R595PEVLW39PZ4ULB1OS1SA9DOEHQOF631W65XOMAYUQJ7DGY2E1Y3U3T92JEIV9SIGFEGMSQ31TUKW6L9WM501RQDECWXAOZI16XVXUUP9UN5VV5RWH08ZBY3EK2CGN5ZBDN1G1AIFMTFCJCWGW1LL0G9PEBFA4310861NPBK4E20KQBUO31F1V05KXHEOKSOMXLSOCWLTCKLEQYNWISV09982WTKHLPJK0F3I71RHXBNOW5UPS02RWAD2SLZ3DRR3S1M0F90C7KTBEMOWDR6KH0H6SKDI3IXP1B42PLJQEF1YEVPKSVPSDZZXNA822B5EU5A61W07XLZJNU9O3TJJEQINVP73Y1MGD6H9PS6EGAKCWN1W69L70BL2F76I0RFAB33MLMBFHNOB58AKCMCTDWY0NUY4K2ZP5PMUF6X0L788XWUTBAUEWVDP59M200CK4EIU05717U4KZUTHUIIJFVIT5WDEWALXUC8ZDM8VNX5YH8E5OV8G14RGDXRBLVLQZ35Z4WDB0XSBII7ENBTDG8OX43BI847V2NWQKIHW7LK3HDS8M94Q7H639VF8Y27DKCHW58NB385B3R8VUBN7B90XCSX0M7SFK5XYFGBBGBPCHPECWLJQQIVP1PVBMORYX85AT div -36#13UKF33FVKYFAYZJLQ9FNL2CFGS4AN9P9VWV3QOXWPFVXQC4MFXZLQAJ2CGJ68GLP5OKAO2DF086FZPOIJ2EIBW4F2UINVNC1J5P1MC2BW7MC59H0ZZKPWWM5DS08EKL0ZF270S6OZMBAYV1COSGVSY87ARZM9NYA5TNE1YQ8X2FZE2S6JMCY71R7BTYPCSR7KN9CS5W2I604S277JD6G0ENCO7XPJ8DG2ZWRUA9PW0DQRPJON7I89NA464IZUQ7V8NS2RAWKN5KEB69YSUDKROO0QKFJ7PVLBTBZBUY6XLIZ2UW1LIY9ZKIH3SZD1N8L76BGHA9TM5X0BVK82S20WXWPR4POWWVPWPURG8UOB4TZLBG3I0UYTBPUTFETUF9RGR0C1GGRVO6LTJ15W3PR544KE15UOFRWLDSSPXSHTDMON1OCIZVB72O08UAIECX2H8MCY5220E7VOVERS7NZOYK9TVHGOKJXVGF7LD502HS9T893WDWRY6CI0HV9MGAZ26EW4NH6X8YMLH3AW0M10CVPE9SZGZTUAIQBM3KE4RED88HMDGAZMK2T5KCFLFYPWPULRILW15X57T2PKRQF2JL0J5E9UCLP4QHGF16MJORWGEH2JRYHT9HTU5NNIO2LP71OQ9O7U2GYSZUYSMFMDY7Q7LWCXCDZSG1JK9V. +-36#TIMJ5WP4V5204EIIKFF3ZEQ354XPY84SG6SSMMBMFRY6JSN1C7ZWZS3KWS41XPDUH6J1U97HQ4U6ZJJTROMAFEP64V1PJVCFAU9MGT56010QY7P373VR5N0FUP2WVCVGLYQGZOHP3F2MGOSXLL035VXIB22DTOIBRKZ39V6BT3MIZU6KXRI62GZRHSZ2RCDG25QRUL7F7HGIHSAMZXD0CGNJ91WXZXR7QN840DZG9DNNTM29B1YCYU6PYOJSLCFV9MT1RHETKCHOV9B68EU4QOHRG6WLSI55DKRMDU76SMBT2GPPYOMIQW9WPT7RW4G2ZT3VK8Y9PDDH6TSZN30QC1RJJYIMJ2KGHS9XBXBCS7J03JAUHF1E2SSGM4M70M7N3D7UCN2ALEO3ZSER0YERR8J3GXOR12PRM89RMG55N389NOHAYFZL10LT44APZLKOYWC4IRCM2LOOM1U96BZV53PZ3GZDM0Z388X92FMHGMEKGO2IVEIF944GS8QG6N865BQVMS8SVNEPMR1KKQFQOTLOAQUDOIQSGVTGQIOB7H5CCPRV3M0TFPC8L7MP9V1PPQ6RQR48B3UJDGLREMN08WVUCK18IAVPF8J1WNS23E6AMQCSOT80O19G1QXF5P16BDAOXT9VWA8G59VTR7MO5G3Q7ICPSU7J5F7CQPKW0IF18YG3M1GZFXP37EWWCELRPQ808YMD0BJ4I03NORPULG6ZWMW43846XFLMBNC36SSZ6DS9WHZYRG7OKBR5LOK3R0Q5OI5Z7A4GHCJ9LNH8USIZHXLIGCMH66S8W34L558JY5HDZRWFBU8B7PXV39D1SSB3B5DJM3Q2FC4C9774EETU2YQCLDLVZPOGOHOOEJS931F143ML0W3TO7WWYQ4Q3H6F4IFZMLLE0D1OTHNZJ23SE0618R20X03DW91B1LXEMJI9A5F1B65DKL60QPYUZTZXOESJ02CCKCG9AUU41GHV31QCWS31FGFCVGHH0CLEYCFG1L3NOI8E68YECOD5J5RV9QL34TYPUEBIM8PZWLH3TGRKKR9Z8R92UDUV0491PWC5GHC4XHA9A4JR23PGFPKRR8MS8W69ECARBZRHHQZWKP131KLBVFLZY7JB4JRO5W5V78RPCXMLZ9LRY219W4176WCMXA47UN0SMICRJ6Y7ES3KL71MWRSOCTJR0G5I3981XNLF7ANOCTR2B36GHP7ZBGE6MCVQES1GP1ZJIMFTODB2NOJMMWDUNVZUXD7CWM1F2XMLK2W9TA8CRKDD72ZRNM63PFHB6KINUYQ93UK9PCNT6G38Q63E5RCQSKBX9UJWUHVMNVDXPOQ16773GQ7WUKLS = 36#FLJ01PBAVF57YTSKG54QMYLXG5W8F75I58BCOR6BTVTQJ4KTFXYQCXKQO5HZRTP8KGGU9QU8V7O2V6Q9M23LZQSM3HNU9R0EAI4EIZVBTU46HBQNA93F5VQWAALXK8QOJ0HGG82MPWRXNJ2RFXCTL8BHXP70SJ7RITORX6N2C92RO1DCDMBC7K7WL5PY0IAFZ6HGZ7CSMFA376SRAEWK8HWS2I4ZLS6W1I4MQHJS2UB6Q3KJNC3RHCTGMYJSL261ZMM7H8PE0L57LSVOAIOG0TIIOOJTDTV3H9MCZLPGLCH4LKX2LZ8EZ17IQYXTWNN8XG1XXT89J8Y43UPF3X68MLJ8IVOSPIG2SVLW38HTSZ6S6LM60Z9G6QW4LNBER9Z4JFMUTCBS2UFI6NOLBI4KVDN604PZ3718CAX38JEDPSCLHL1R9CLUIPWQKML39NI364TLHCSDBR3DONY45YNYF4D89B5YDJTEPN5KF3V02VSU16FS133HH4I2NYPSCTMFTPDUZN1KXDOGN4S537Q885MLQVVQMLFIPA6465W5PKAHAQ7TCGDDVHEYR7TC5DG254Y9GMOO2LACZKZQEFY4PNF7S2PSOF3LW3R3XRHLRW9EWYTV7UHFR0XN05E35U62TSATRYPDSWJAO5EU354GK1K6M3XYFTYIDYB3CK7VRQTA1MX57FTJ4Y56Z8XFQDHSITEUJIXWLKSU6YQOZN6HU3OBF9N14IYE38EL562USN13KW2VQ4CABRVJW6QGHD * (-36#1W4J1DZGT3DTDKQHUEDVEUYVFFHXXAXW4M15XV0FPPWE3QCT92IGQWQSII6BMZQN7ZJDKFTX8QP7LX2N5ULP6XV3EQICF3W21A3ZFYHNDJ8VE6P2MIISVECUVFWNGDKZME41C9AL6KQ54JH4M7P5XBJO60FU19YMGOB83S358LQD5LTMBT3GKFPVGECRLDASJ9WC0T4IGZ68G2ZAD8VN91AD1VBACFD3RRMCNDXQVNN6RZXXN11I82UQ6CT1ORDRBPK4W6805OUBCD1FRKG8JVF1IDOX5K9HJT662BNR3B7F6XBQ3VSFZTR5T3NBGUCR70QOF7G2HLG5SN74G54PHO39XT44G8K43ZNE9Z48IFB30BCLV9HV8A9TZ6KJ2MM5G91R0XEQ845WU2OA237CRX22N7QGDYWTRGITADC5ICRT6IVO0PBC9BMHA4SE1UGZBZ80N8FM72YOOWMGGJQSILT9W6DW29KHSPRSZ3XKB7G7GAZLW72OE6WGDPLW7GR0T08WVRXFZWOK333HP9AJ0KBFKFJDLP16QFUKV8I73FX8HNTDQRQ02U5WD0AAM7VMCVJ239Y8Q8G). +36#7FSKRD9EL5OP072VCYG6C4NTSRIK64TUQ15OEPNZKE3NCPVS6PYYZRFMFM2U1NO0P6FN89UYY8K2XMW62IAQCFI1S71T5YCBTHTAIRMHD7BZ5D95LHLMJ9SZGF5JP57LDB4M317R4EJWC2595VC5TAOQSIDY5OU7KCI4WZSGSJ5ELP44DOHZLTP1PWYGQQ92KZVLTSWP82OJBXJSYYZAZN7ELMV5QU0B9F252449IHPQ9F4G0TYC4RUP1Z65MAU0RJQNIU9CIJ0M4Y820D013RBLETULFVD0U3MQ1T7P3FXNIAIKBZBCKCHZXZDN0BZQTD6U0CE23U2TGCM164YF6C6RJGQRYIFBH0QCCXQQJECX5LCCR8YYRAU4RTNF49CN6OOSWDJHPL500Q7DHP04FW73H8MJBTZ1BUHVH2YTV397MDNK6T96413D5H3IX12IBVSF49Y6NO1D3K2OGBB71MEPF6IRDLA6D07YOSWFRM7E077NGUYPJUGZX66Y7M5LOWDKUWEWSI6EXO = -36#1BY4FO1TM6QDMBN8ZN7AX58OTQPBGHKR4ZTBTVZX1QGQ0DYCF1ZQC5N2DZX64AXR457G3OWM77FNI4H5LXK19YUJ464VNGKHGZJOTD8ZUFPIBIRIP2LBBLMSD0QWT6AU88ZLQJ2FNKZINHHODRYXTJTNMLSN6PRER95OLKNTMEXNA1P3CW31P68G1FSG8DPNG7L1GFDXVATLRWA8SWDUB09P5A5SZMBW9AU9SZBW2CFOQE14K122FYDI4161JTMON2NSWNR54POMG0TQP5TXRCVGVHDHALZQ5QL3U59FS0Y873DRBT1SNLM7DKDPVVHIWPPTAX8EHFR2JYBM2RQHSM5PHBMZ4VGNMQ676TXYPN6PE24EBMBSM2PCZYXH9HPCTUH59OC53189L89RE2PHCBNOBUZT6DR3OP937MJEG20JPUQYU0P7J53AJVNMA8XYTLDCPN2707LLAWBWDXCPJPSDTVIYW1HJTVYJQAKOHOW2Q6EMKDM79H4RW1ZYJ1V9W027N9SP3ZOILKS3Q9KWI4F0T5CWSM1W0EZ8TKQREP3WJIQ4CSHOVNKWTRF3927YZESAA81IF4FIGHWS4RIZRE9YE80I9BYW3EYU0FVNQZXGCEJHKGIL3OJ13N04JYQ3H3TC3EK6CADBXN3K7LA14UVLZQB532C5N2F5Q4H20PN4PPFIZPWWRIMA4JN147VGGUDZ03C2UXV8SDCF8Z4BXKWZH3QQVM50L9SLKWQU5YVURMMJMOA38K0H1Y9OL4PF0PRZPYREM7QLWV1GNIRO2BZVTVWUJKL1R2U60IPJPJEDAFRVKZ6E52H0TK6STRZUWTQBWFLJ4O2IA2GTU6FDC60COUGKIPZPIPGBV0W7FHAKPJF3074OAPJ6Q7Z8SD3QB0URYIR74CRL2RZDSBHIQL99YBSHQXU1X4I6AEEYO0AN1X2IY7LOOSCYMGXXTTI780KK78EPSLIT8IDW90VEF3QLV8V6ICX4AE5MTFKNVVZ0C6WVLNXWYB98374RGRT5Y53VD0HMRL1CCNOTLCOBMN9S785S7U9RSRJFTNZDN6YXUHYYCK525X3U27VDOUGYU5SYGDJM9Q6C9Q084WI2AIBQRYQOUK8YLJZ5PBIZ09RZFT0WCKMYDWXL4TBIODKYIMKYCMICDGQSLDINWS46MPAOF6FDFLC2VC8L5IM9Z7UFH9QL9Y94ZL0 div -36#6G1NEHWQTY7ZKIHL0T50B7422EY3Z9T1NY45CDJ798SSML5PTN9NWTCE5ML3QKQPZL6TSSWEV9IXWL7OBKA3WP01KB6EFEBUUTCZY3FKTCC8AL2J2TGRMS80UJM4XEHINC96DZOZFQAHRBBBE1TED1TZHN965M5B6HPVS5XHE7T6Q385TNVUNA3MPGFBSS0B5JPDKXJ2Z3C58W3Y2HYTTST0B7UJ27KRMICAUPOQ2SEHFQQ8X8THKO0JTGS7L3OZHCX8XGXNITRQUJJKLLF0NJZ73QI8M1AG0ZYOWL5MUUS9H4GOLMDE7KB51W7W6AQF0S68BQL9CVWGA3JFMRBFY7HXB2GJVNRUWG4GBB3AF19BJ0NFITRHMXM7A0EUZ6QIEYAT1WS3Q09ITSVIV1NMYMCLHKD1DY9T709W1C0DS461WZ6P285TYVVHCVDZNPAS4AT3SS7M4O2FEQNG0YZSRF3VFWELM0UQC1JDDUB0O97VBVXFAKKBB4BZT8RFY14BKI35F1BV7H5SVC0O2B0MWYGCP4IR53X4KDWH20T6KBC1NYCIARTAARGYNCOMW2OR4HIKO031OR2S8DJHWRV2LLZ0DTWP9DZRSO6BRJCUXFLH25N8DN0MWW46HG2YV3W6Q81CXBLS7SKOGXRZ1ELIBOF6XNI7LQ8J5BY4E8GTR. +-36#VKG715JBGXIA82ODI27Q0BI2P0EOB6SI710Q0459IV1JKBBC26FQDV11N5U4BCRVB7Y7PFADZKSYIY41H2A7NMFVQ716P7GPHLBMVEX88ZPNQFM8YD0MI5EQGP90UPC75Y973BO8NZPTP17HUV076GH970RBFM5OTXSCPWCY2RXZTQM5UGE48RV88GVBRB28KSIIGN5V18B7PUITGAHO07N49LTSVL0EA512Y8G14BM9V00GDAQEN22M1VCZ41SOXPK7Z13N0Z1PEJMHOR59OQ27HAR46XXYAU86UE7NVP95TDKPUZ54PGGRGWKUNN0YKOIHBLY9D2TKWIEZM9PKA6TXHN90BO7RLHM4J0JSYQEWFB6726W2S6F9DLK2D3PXVM3Z2856DYHJVP54QN5KJDJEO36OSY0QIUNGN53AW6BAC0FO8DNBNKMI06BBCKU8E5V5FV61FSYJRTOG1Q9MEJRAUTKNCL8F0LNVLMW2ZDMPOUEH40U3BUOT1Z6P3F295GVUPHS4E4SNSGB8H0QHH6LG0HU6QPM769B9B2LCPSTOKDRTFL5O2P8YSTR7WIE23ZD1CQC6QPRGJOCOTT7NEFJNWSWBL94WFCEER36F5TMTV8LUY5LO7W91PSDK1S8YCZHRAN30TTKNN1CSAKILE9TNY70V4VD90AS869C8MPAAS3L4V2GI6HO78WUOCAVJMUQ34D4Y2SYF433EM6WJRDSUX43WVN1KB6I9BO7UIKZ2YFVJD6R9VIEAOR0268D4WXBACA9CY5TDRAFSM30 = 36#217FV9LL2GQBDRC94WOL7UGTZLUQXZM9XIGP3T9UJDQASJUF1I * (-36#FIUWVT3L6BSEL1MTESFB6J386JGQFDFY833T2ECLWEKRT3HKPDCYO2Q1NAQDENEV07UTFZRZGFWSYV6A7A1TFCOF26VYSWNGIMDN9GPDER27WXMEIA6M8TQ1QB6UTPRB9RWGCV85MD81YSDIHCG7NH0LC1VFNIL7RKDY9LO1OK8R3HXGV0K3J6MI5O5N7EKYQ4RL3H8JLJ3AHT7P9E61D6W3IMUNU1K88G4NBA4QSK17BT2IF7G0I6SA95RY0R21I8R2A0R427IG2XEZ5O2LQUFSL1POQ06I53CG2GOWBPX2761IS090342VDHDTG3MEEU0H3GMX0A8YJO83PJ9IK2982EGGKEB0SIX792R4R56I6VXAHVS7U0LNNYXWQB9TXLZHPG30LSYRYPLOYK0O1RYJXKSNVQHQ4AXSD1F1ZXWHFYGG0TD29JVVDVDJJG0MP1R06XOXJXVKAZPLCA2KRQPCKVDTO7EE36H1JR7ML9BSRMPWJD6LKNFFGKJMXL9TWMXA70DPMJ3CFEBQHB6UDCLYW4HW1AMM8T67SEJDRHET3RWG7PX02NWMVY1OEOC0TLRKRMESF2WGFCJCOGENUXJZAUH6BFF01XZN5OZ4D7SOC3FOZU5ABKQY82X6S1KY3BC30USKD12JA930IBC559G9II03IMA5PJSCBNVDDMRED3LWS3CRYAHC6WXJJ8UE73M52F0S6KQ2UMY64MPFAL9W4R39V987UQ). +36#1WGYHYUXPB66V7SEJ6QOCS0QEP8698XX9F6C0FA5LVN2O4EGDY = -36#65KNL15EPB1QFKGZ2T1KO4T8JFQMV6ELQFX0NS8HLXVVPU965S76Z06DQM58JAY400NZFRYR7F04AUOJGQHO7D9PHEY4D2JKXV3Y7VMHKFRRD1289XV9G90J8AZW5WS04IY9S6ZA07AK7ARQWWNHBQX063T4KULKSYNRZ83YB3OUS4OT9W5TL8GFP9NRYBZANZZ8L3N0HTKDIZNTNNSSX7LSQC6D2061DYM3QMGYWUOYHBLHIXHY8H8WIEFIJWGOP96WQ8SVU3N09XIOY9Y8MNAUEOLVVIZPHZVL0Y4ISCT7O5UXCCEQ82SW1ITOPTF8T08DJ80BY8925JQ4IF22R21UCOTXF3WIC8ICQ3QBWMN4QO3JW4WKOHSYZKQFU15GGZ1J915Z4L454AMQWJTRB8K60YK5RBKL5R4LRCF4W8FGJY div -36#38HVRGS2CRS1YXQ52J4HP5NXKCKOZMJK0WSEAY9D7MCIDSAUFFV1FT5WUYMOJLOBK6ODF6ZNQNLKAYG89Y2WP1BP2PTLNYQ46P8TA4OG7COKT4L4X0NEQYZPU73GEZ1B7C6X52B3GE9M0I74K4922WF2OEFT448301BMOV51VXYFKJN5OY9MLRFPAC3801ABREACNLV1IT41YIAONM06LQGFOGXIVHNFGU50Q983I9R6RQAQT728ADRI9FL9FZ09Z10MTEBL5Y5R20NICCCV3S83RAEM23XZAH78OTC50OO5229DEKTF4S3PWEC20C31S50ZYF9VTCQIAL5XDXCAQMZ96L7ZV18TR5JOKGV6ZJRBO380S2ATUIPVPPWX1. +36#8UB2Y42CVMCP83REZZYUC8NEV2CORDMXI80UG8MQTTE8Q0YZ7264GEOZF9TKYHQBZVRJJAUUZO3R0O9UA8K85F7I65JYL1Q6EUIRIA2PTCC2TG69NE59R73A59N915HNGB7ISC39X2PZI1OPUZA368VNX8YSY5IW5TORI08LQTTVZ03EA7EFS5KXINVI13GR2EVY2VBS0C3EDV6IE4OV3TQX4NV4N2HT8XJYZPO7BDGGFGO0WEQMQS8A1OOLEK5Y0IP4RWBJ94BRTBN8XLMYH82NBARCILGDG573NQITVNL3AKMK17AP5T3333YDMJ7C398NCN61J45ONTZ39YZRZPETOT0HOM4TSNM7W4LI3QT5R3EQWHNTXL641EADUI5AI2DEOU4T497KPW84Q5JXU5UQR9R6X7K89JTGMAP678THE9RIN = -36#BII482JJFRLNIWZJ8Z2ABJ014ZZY8SXUXEX0Z9IZR1N902SMG4JXFOTH6JKMWIG7QTD1G8CAY0KUAWTCN4GRIJV7GZ3WQHP0880Q2CJ8E1BK9AQ35941TWXU09HQPN5SJB75QWZPM1WC8BJVQ4607OMELO5Z9GKBBSTJRTV2TX05EOBPH8W3LBS4L3FMJYTJCEYONR4J3QOE24XC6ISTX1R7VWE88575BSUG1L0TFZWGSJFB4G37KZN3QOEOLHUHVASBH2PU321SCGK5DEOBJIM6O417LHC8X2KT6LX5LKRKQ4YHI0QONJ085YO2PY6SKSA4MU570G1L18VONXDVKSR3B16HOVMDBMEIU6W3M5FQNF60WFGW2PRESPYHBT7J56RKXRK0SGMYGA3JBD6XM5YZ2SJF648HOE92JFNGQMUPK0K3XN3FHBLFKBB9MPIKFME388KPMTDGNV52KIMSNP61KYQFWN1MRA div -36#1AVNUQWFLNPNVQ7RL5W3GTNYOIZ3RM4AWJI9A0XKDUT9Y25IY2. +36#1H1YCC5BM7ZSMBZSEWHFES5PI8F05ZIZXHSV8QD93O7BSLZ0SW = 36#12YL7IQWYG6EFLFTKMJDSUEDRM07T8WHQ8QUNVSGOYYT162MA7J4QTNQX4QJC3CYIN2LBI6JO13E14QO3ZLMW0AXFQHJ39E5XHXHLBOZC33OGSZR0OJSHYDU0Q3JI3C2YK9B89LEEBUTB2XYLQTRVRN8KLJEKE2P36QNWJ8EWCK17LNNIJHP3AJ6W6TZ0JTUK8QB4EVD5RZK5JG4SGWUD88IMO6JYTTTNJYW3G9MLQKE4JWRHF4JZKFYV65OQQ2TWI6GV68TPOJV0WSHAKEQF6BPT73WZT7KK6MSA6X5FGEN9FA3O5T8ASQBGMCTWI5I0XVOMIRPN72OM8OA7PQ11E2MR61XQVS0R0ICIAA1JGUDXT8H78QVKVM5AGIPDJJ3CLM7QZVGGLNYZPTF8TCPO4NMHTVL76FS9WUCDDWZDJ2X8OJNR8GRFWF2DNL6WA4RP4SH7JW2PW4I4AUP66AY9JMQ31O0PJB3GUIODMNDKD64PM7O7186N5M0MGVQYTBWH43SFRQIBEMWCNLCNGMHBB737JIUHJVSIE63QQ6FKD2Z8JMYBJLDQ4PMLP0ILNNCFXE4VSEBTVRAE8JXOWK89BYI64O5CTWGY3985XGIV66H6O216VAJHCRIFIESHRBXMSEPETKAUPG1TNKLUI07YHHO6PK36KR9KP2LLG2VX5E72CU3BC8G div 36#QFQ6PL1PT4JA1034FWIW01L2I3TKKZ05TWXX73AUYO0FM292MEMFK3JVQCCPISXPTQ2VSMN4JAFC5KR0A8U6541Y5VDU6JB7X09AG9PNVU0JRIGIX6XW00YSZXSV5PNNNIK5UW9I7YGLWVJJNM93WY23OYGNYFGRWM3VDHWPO4DBO4CMCS6MT9CK3Y9KAZJA0EAZE4LPB8WFO08A2P4VF7MPK62PNVBT653X0OEW0J8134B50JQDNGVLKQB3EX6ZU96TQOOHIVZRD585MPS2YC997H4QS5Y3GXFF97EH6Y296GF4RE4STEFYOYE9EN3MH1NX53JOH0X7LZBWW4JGUCKQTERFDQ3IFSPOF8SORBH68179CGP5JM9Q49GRFGRSEGZQEL1D9WG9Q9NVROQQYJZWQQ1U0S0209CYSK94S369SY0GNXGBW0R1AJ2PLXSBLFSC8JDERNWKLE2WLO7IX2OSNBUZJ8TVD7IJTWUSZKWI69IXG2XWHS6L9460EDNMP7QW99HT37NN8FGCM6N75I4S7SVL195PW3J8ZI95Q195JWB82PC3FE2V9FJHKZS8U9NT0W10GC849XDO07RCIQQFACIQV4ZBX5BBTCGT0LBI9247XHPQZN8RH6NPOJPTKN. +36#1RMLRW9A5OUUSP7QVL8TR38Q08CMXPC25B6Z72XPIEWR37H15N = 36#3A1M4HRI6KN7YUCB83D5WFKK92QNG74AIE4Y5COTRCZ3ACN73U5PKTWNJET049OE4XYC927MM0V8TVLNG6D1GFZOVULK011F3JT div 36#1USDXIV5IXXZ5K4747EECFVPNSAEBV6EIE25X965OY31OZ5INV. +36#2VGLRRHPKANU5WEB77QIU34YKF0G8WZC7LABIY8IFAYUDF4AG4QHA42O9CUDQEWLBUEAI94I3VAS16OHW49LBVXZJASM7Z2ENARDJ7RY2RUZQLWJPXX89LRR8WFCBBNYE39HG14Q17C0DVRH4MO73TXSOVU67CKOSS08J9QIJ4R8A55BZ4D7COXCHBGGGDWSR7DHADE2WU89JGNUVPJ54NG70SU2UHJKQQY1HSN5KUSZL515E3DYYUTCWYUVOEI105GPIU5QOSUE2R3TQ2NU3IIPM9J6JM1B85FBNID76WOT5ACM1F2PKHT4RBT7JM8CSWSLRC101T0TLKLEUVCEB3LI6WU8GI0O899UNTDNV1FZRMYRKYSR68I0HEWY66LW4C34L11UHFSMTAOSU3BE3OPTM90RRN743YDKU7SJOH01RWL0634KPN7EWO6D2OEQX7WB8ZUOCP1IQDIVUSUU78BIDRO4UISGAUGFZ6EO3SYVGIKCF3TRP65CR9K3Y0V6X4GBL9TAFISZT5D04A0BNOSNED4D9PRT3AFE571SWMA8R5JGOTZX3T5WA3H0PNGBI7NL724509JE75FUIPTZKF80LZB3KRDZE8U0UL0TFMYTKLRK318UAAXCZAVEBP1TJ0O62XU5MUBZHGXJYTL93UQ54ESSRMBJB95UY0KMCLCIIZS8UBEI8B91PWSFOPX9JQN6FFVB8YNIW16GUNANAWTM4CVTYOC0B4SOT1JT63EYRKJFWOA99IZ0QVBORU0SQMP8B7KIN5BFLHSBL6E1U0026YQDK9VZJT7XMINO5D1IAYYNQC9IFB5T1UMINO1SD9D1PO0F3PWLF0WUW52D9W1IIGWN49TBHDOZENSPFFVMVOIM099PSVCEYJJHKNX1V5ZYXC5ILB1VT62WKTKXE2CAUP6WNOG04YDRSC3R2S6F7N59BMBU8343SIT = 36#19FBG50M1K5MUM2C8M4IECM32JJT7M73R1F6BWI1KG2GG944X4JV8R7XXC268K91A29CPBW03UT281PE9XL55ABPY53A6WSKS8NN176IYQVDX6UBR2X372C79BHLWM0789SIG4GCWN5Z0TH7KSK663DZCU4QXALO5ZW4AFHPTWQQCLC7CQYRDT3MKGX5RYTOWFDGZ7TUT5QGWY5AS0SQI7VG5112A1CNVI9EX637P81MH3VKSWZMY24Q3QO6WUKBJYRKA8JCDHMV4G1DN1AVRKP3A2WNPO1PPZBDASA0IQYFIPLWS41F3BAVWLYMX843Y32MX06DE25ERZIGIM6ZRIWAL43I7Y8KECB10OVMEI6EY2KQ5T1851IWHAXS9GOGOADWO6PQ9GFMON2BVFE2JLDWTPCCU7GESXVUX072YBANETEJVCDBN3LR8NHLHF09RXZKCP08LAI5BU8H1CQLKL8CR1YQXHI0RVP6WTYGGQDIEIL228M6E1MBPRB0O6CPDFS87VZ7LDO8W7OIC1GXQHVZ6C5UC7X37BPVM0O4VA7L9IM828O355IIRU6L6N9RNGOG824VOKOLEEM27ZJ8ND4WUBTAA5BLNWCTQ6FSRI8RDIID7E5RB3MHGVQ90R691PWTOTWVYB14GTJYEFZ1E5W9Z4W8L1ZHMC4VHS55R3615CL4LDUX2LMUS6VLY37KW5BD1CR85C7TTKD08G9ROFRU8L84LHONNJSC4JRC7BXZ8XU5YWL3GAUW036E652IGEQ5I122BRZUYQ2QWRIOVXPI8LSSFP47I0Z6WA3C6SXCPV4JQ29UK2VA189550R86UJI1AKRL1HL5V3OQQ0VY8JVGBE8APVOL23QUQE9I6IF93AAN2EEKRDR0B5PK3A1EOFKQFNMXAXSG62KR4EZGZHTH4G6CZGUND8GOCFUO6T67LMHWNVEASQWI73IQ6OYSEYKUXIW3VPQQQDMV03EVYONFZY5H8QRAD4NTSBD1M7M div 36#FT0P2BHXVUTYZ6SA2TXVXULOEDKQGXMJT2OWJ36J7MH35LTU2. +36#31MT3TWB62ZRAY3S0YU4NSI4R3JKWQFK1S27K27ZCV5WR7XJOSPQRMOQ0XY1DUYV1B61HIZZG5CU35NCFUZRQ7OSRN6WTRE61ZVIVGRTHUQZZCEIZHTQ6WXV3OEQUGE9C9V5KANJXSU9N5XJ5EO8AZZ2UB2LSHG2OMG5BJTOKHXGRJBG3GZVN0DH5KYRS06YPQ7255K8H5C5KASFM3OWNV3WV0AFU3KL6GFT1K6IUU2GB7FXG9A9325CMPMXRI6MOIGOY06Y2GY6UBS2NDVH19EU62G0R3DFE76ARX10X4YAY6TH2OWUIRMQ716TX4OZF0A8DXSZSEQVX1V5OS62OLU2OXCA8L1OYMVGFAPWSK9WTRMQY0KNNGVU8ANCFG9IRZ7P9N65G69N97V7FANO2DVX64S6LHBBDXX707ZI0XZ3YZX6XORFFKMIIGA77NQU8DD703NH1C5YDVSCX9JXTSZFKM9YYIO5NZC4J320MMDXJRXC5SCWH4LM2F09R0T6Z7W0WD2ZCIQNXLVEGSR3225D5LXFJNO4CUUKF198HIHX83N7XU5HQJJM9O6FAI4ZOWHKDIWBXQTG086ZNBXZKBZZG0PA9GNRB5LTO7NTZPCDSC9YZWF9JBQTRWB38QA6ON93JVUZA21MLJ0F54RBRO6IJ2VLPHAJYWGHEDKHXOZT2NK39D4AYAOZSUENU14W684U4AN9JOM9RH00SUSXUE6E8SNZ744YN4TVDJN3VLISITCUTV7ZMAFSV7UZ30KE53HYM7BPFILR198KDN9QKQMJI2XS8AL2RLIW7X4JLN16581QNP8O5KPCHP5CB1TNOVZSIN65NRY4DYJZUJG3N56E8FJ0LGZZIZV19HNPZVT8F1U1UH0X1AW3ABMJDI5OKVVJLAGURWFITO = -36#1FK8QLUV194DHVB2VXV7T903MY8FCFWXTB8AB5HA4QK7RGF2I72BQQR0Y24HHTY5L1FYCAKNVV84IFC2UA9ICCZXZXOIOX2O143IC480T6PJOV28A0PROCTKVEVTRYX09TBF5GGHMOAN426LSEG9IJ27U2WEKTESWEMJU5GLV1BMIKPAXXMLG1MRT6U5QGYO6H7M4ZY0H3ZBJYNGCQY5VL4GQ900TYS1NV3K53G3L5A04B2RPH14OV9LOPAG2CG2LKOPN98OXXL2SJBVWSS1JUWLSNDSBMK7PDOB9TBQXZI6VR9T7NAUSG06MJ59CKV2KHX411OPLY64OJI94SDFQXRF3W6W0HP88CWMDZ2PDHYQJB5MGTFJSGRC2KKA43UNPRBPLPJ2LNCBXHOSACWGA06JPV03UR6ZJ9C82DHSJI218SL8ZJHMVN0UFSAKYG7UAODXQF0R0LU429MJ2TRZBTK12ZBY6VDFX6Q54UB16MO9ZPNPS35PSV33SCKQV87WG9BCBDTWINFN7IPGU9NE2UH06WQPGLSG2SRRUHA2MC6AS3909N3DOV83NW6Y71BGHCV92FN96CMZXONVUYXAH4MRZPO7VITI29LBMK3JHOTGOV0T5ZHGCRGAE3WN0AQSY72TNMIMLL1RXBOJGR2BDF4V4HIYI6LCBMF4USTNQ0E1XB4RBLM2F7HPCAY5M1B2MM2OCJC8ON9GP57DUDLXVT0ISRUXU9CN4GIIYRIFFRNEGQ5GGEFO71F7V20423SMVXE05HWDVHPVWCOWGNQ2BTIRAC9AFNM7NTH688UFS6ORFQX2DT01DGDO98EIGLQ6SR39EP6XM2E3JS137P3EO4V19UGQC * (-36#24JLMIBM787ZND12VVHOKEXCCYUNYG3ZY6ESJYZMLSLGPDCZIN). +-36#16SRAJ0SUPOACSNV2EOSD7HX5VNS42ML49487UZQ4OH9S6FJFQSY8VY94KTYCUVFWL0CVMBTFP6AP2X4ME6EG139EAVITC363SQ5ZV2P9ZNVJO6TN9H8OQJAEQAETHIFEHKA4R5P1P6M2GT4AE1ZLT3VQFVCWYB56ZGG9DWXQEF63RI7XALZYFXE0LI69Q = -36#JK7E9UP5VEEK0MV3QDFN1GMUH2B6FIK7EG0GAZYO1GXCNQS6Z * 36#26RKG8ZBEZR8HRLW1EBIXBGOGU5HCOPON5N7NJ2DS9WHZVAEL4YMFMFDD82A79M9O9FVEX913D66XGPP7TOAXC8NOQ1D0ISIOM6BKXWPOQJXX2HC1OFYO2OUL2GIKJC0US5CO0J3HVBOA. +-36#O6ESBT6X08IATTM5JJQP9625R24C3C002E6HOQ0235FY9NU5C = 36#13SIK7GQK47CVPJWT2JIZV69HK4CCYQIGCEPPFGJF4JCELYPDJM8FFAQRGI6K272PQVS5UPCE7Y0EB8GKLQLJPW7VUYE0QYWAFIDCG86FLN4UV8M11FOOL6J21F0DGTGLI7XRJ4GJBDMA0JVS03977A7J14H2142YPBMJ70DWWWTXL1C div -36#1N8Y3MSU2N7JBU5WHMYRMMMK1AMRMQ6ZDFEK6GCATMEKNVKMEGARYKARHL67RD8LGBR80W98H5ZYTOR9YR24MUSNAXX3CCV01PA4YUXQI2ITZ1VLL2UJWKFFI3RBBUY. +-36#IHJVQ144B0CS1N42HEH3OYM1OWOW792OKW6IH25LEDCS1WZK92Q13L2AHJB4SWU5O5TKFBOGCQ9SUH4SY9R6TKQ529Z8A7L08JZAL7 = -36#TVYKF5K8PPFKHB16MB59L6TSDP5KE6EVAAIOXWA8KKI7VZQPAYM09636J0RJ7UNCCW4WPGJTQXOLP4LEZ0UA57V6HZQYAA85U7L7SMA6R8PMYMZ0ZE6143FJGXO40BDPYYY6QK8CQM0OGXTOQ017ZIO div 36#1M762YKWMUPV8TKA332URLBZC09HQ8W9Z438XUS7YBZANIZ92O. +-36#MTSCEAW0LWVC8410HYEAEOAO8HGXC8KTHFUHSHGLJF78QO84LY716RWGMYVOE8UGT4P6YGN8V60TMA9QXA9P7KSAGEK06L7SJF2WQRQO7A3GJH2Z4CNB6NZGJWG109OAHAJ3OTJT2TZTUNNUWSRMSK868BVW31805ZASIMLOE5N3ZYF0Y94F9JTANDAZT14HO8HSOBOF4KZEPT3RIW1YJX2S7ZPDT4OS075NSPTV9R45PBB2BC5F8E2NK1NNT2T44SVQX0LE2ZQNCVZB1MZUKA7Q79OGLJKRZOW3IGZLLW6WU9FH1BKJQN3JGDVH0BS6KO1DR0VZ0ZMOFMAP11J8XII32WDXIOO46QY0T0Z47000EIUPLF8RG4MHM2SSRJ4K6LSQT1FIYCHLRC4O3OR96FSTGTU9RFLDKDD85LKKJHFC4NKIE0EANQQAO39C8XP5TD309DBW4D6J6EUCXHIDGD5Q6VN8Q3KZN11OXVS0QXW6DRIQUHHDX8K87NVBKV0Z11TB5WX6PMDR38PY71000US18UJR5SVOYZBZXUF1QA1SKO4JLHA1VK0391T7PNA5Q0GRFKKSBC0BPMOK01R53QSXTUVC2F2WW9PDBPPOVHRTSLCF5CO020YEUZHDZ8ZUZS57XIZEW6NPA6KIKLGMQG3WDNML2N8GFGYEQ2ZZUACVBPDJH1BUD107KTGKNULC59PM76UIO02N1EVII4122MB69ENJCWFW2Q3Z88ZLJJS3HRO4RAR3E5EXU3EMTFWD62GIO9U9ECQ8L9XN1ZD5PMWWPUOVJ447E762DI96C4B1NHKZ7WRO8ODH0E32RAWHPH11NGX5JA8RXMHHVVV2QVHIS6QCRMNNL6OWTHWVYAXUMM6F8OK68ANXNGTHVAIHUWC4YT = -36#7JC8C2LDF4PM93X76RMLU58JSU0DO584HVOCL85U4EYKAYSNEBMSP7CP47JGNRNLWRQHMXBGNOW5ZH98BLTNSC9C3HG0KB1YUTR3PCXS9B45OZL59GXD7ZZW5UM8G18R7N9DWWUW7GIRATD6CXS24CVIFPMFRCZF5SPN2DG6OXEY68HPW6BSE47SI5QSEUUPH3I5XNKTDZOK3DQQYTB9IO71K5YHDF685VTSH45Y5GB5MYOGGFTJK7SZSEE7AAGRB691F7MICXKL7ZO8VHAQWU92QMOV18CCO67ZG5DDAB6RXI17K1FCJ1D8NUZ2TWX0FBWCMBNJ48I9XUKJ7E8H6DWEC23IUHLPSW2Q5TSTI7KMVXNPNY6ARTSNAAX7I56N4O2T73NFUFI9BIIDV6BD3AHZ9VF7MYUGY2YE8ZVFBCP3UXUL8OB46JS766J83LEXHGYYNS3KKS1RFHZXFZUS4Y93JT7ZGI2ZC0WL0UBJXTP4KRM3BWH3PZDHJFXZ75YXGAWRNHGWPR36GJTXNX69WHZ1XQSPFYLU8TNH5MZNF7BRWW38EG1CHCLOZ5IOXCKW7J4LG63MY70T04PIZYSOJUY2IOQMR5ISUJCAJY1DK65A0AQ0ZB3BCFV17W10FDD3LIDN9NS2NTLX3QOFOB3DGJVF6BRO6S0CRF33O863JW81S2DLNU30LRE5UEGXRA9OHF2L3WIANT9GYC0D5QU0CW0N7FHS1BU68RTZQ5D5O4IZ2YQD65PNQMK594TWUYGNGHJWFIEGY76U5WBYBI2CBB4OR70N6KY2GO7DAJM0V9ZYGRTX8M04IL5CAK8FSPKIGV9JO2UQ86P1N82SAVMQ88U0II19ZMVIPRA0377ILSN4KVMD4967R0EBXPG7G4N36OUBWRGNXU64QRQVOP13RLYCAH1B2JU14N0UTO4T4M525QL6SARVXFD2BE0ZC17HZSGXO1RU7JQ79CTF5QGH0BU2GZX69284LZQ2ETUIAJPW0CIAI5CYFVFLWK9KKRXJ9WE3C4YZ99PQWBQ40R11MT95VQYHA4X1T1XD4OW8YSX8SZK21QCU3N8MVJTW34XEH18VEJ6RP3X23XAKDSMHV8BFDVF8LFT422HBT7NWHFA5628QO8OQICA4ZQ5P0DOZAF2MFKYDBEZ4WG2TWW2HRH7W811E5GTZCRZ8HYVXN9FMHE88LLT6NFJU1QN87XUXITP2IHD5SCCDMJ div 36#BVWZQLUWR4TGTABLGOBUJQG01W0S9OQXWEC3AMZ9A4A61T4GT2EYPA3LLIFHUJY35Q6TERKQFCMZNHVFAGM4LWVK7Q5YM1IFQWCOWR87HX7A0PB3QLV18VKXV78JQAQP155CQIEKUOS58Q7FGPKVTAJSMEZD3JQLMSOWVOXW4A6SBHR259BSC0F66767DGXIOJXOCPEEOKS5FSGGSPTIS95O5O5AMBMKA2DFVLQMA6K1XAHLO5K646J2OOFBQFSQZVXFURVIF15I9264M6MX1DH9Z679CXD4ZURCK0PZLYUPN7DMJAN7V3SYZZYCQE798FIDHOYN. +36#3CWHKNFV2GBG5OQ84UC5GC400ZYPMG0PHV5ZUPEQWC3MXZGE5X5T2QGC3VOJ03CMQ0PIG9ISM5812RAVY7SG7VXEL2B3MKNNPKIVSQVJ1T2TZC0UFEE5UCJUHVCG6CHZ6S3JB8T10EBG00C8PUDIJ3Z4EF2RI2V6UWEW6548PBZ4BQ5MG1GMHNB5RN29N5VATDVGDY1SJWGQNIER80HZ8R3LBGMQVP45MMIJUV6D6SSP96CSRSXOYJOZXCSHJG5PEKS9OCJKZIONPIJY1ZP93P01LK7UGTXCUK2HLTZE16282R3K9N847RJEU2G0ER5E37IKOSD9TT1ASXAABDGVNSA9MS64QB9M9YG0FW96EIOFTDF40LBCDOOZH3DBRCNBDE4L9OM94UMYM81BG418051O3AL1BMJG3JUHVSUWL4IM6BLA2P1HFFFPTRJPH4WHNETBL1SAHUFHMTGKYG2BVHRZIIIZ0XKEZ6OECHLZT7ZO = 36#11CO5A3KTHPPE4LZ2OHQUDO4GSN278N37FIWG0NKBZYPKPKWW0HRUW8JGUX6LQSTX1QDLV4749V6CKZX5BXJ84CEWLGV1QLJYB75BOM6KUMINK1BFACUX4HOUM78GZDX8LQSL41DQICPTS3YW9V0FZIP9OYSQ46JKBK021A14D39DHI4FFHM1UPGLQ8IQ084OJ4O8S7ZZ1DGLQUKS3502W0WG374DWAOGGAGFOQASQTC6FX65OI8YJKRPA2YWM27VP5LN4SZW8HFBHDZKQHIB8VSIA10IRRRO8EKDCSAKI5QMBIDBQMQMTUF0JMNPMQK7DWK8UAORLM070WX9NE3T5A0PFZIELEWR10YXIK4S494DZG01JFWOVIA5FPUCSCGVSVOHFDOL5FVCV1SCCSV9O * 36#38IY5E5SP11X9RTITVXYXTZ6BOZVESWB2KPDWOYTSWG1GHD7ZB58KE4TOKQGIKV0J40R1GZKFAX432KG4H49UGV. +-36#1YNHX2N6T357L5PQIYHC8J8NAP78XUHTK1VYMZI8ZERBXQRQX2R778Q9Y78SB9P8C8ZMSVYTH7PQ1QV0AOIL2XHH7GYO8N6P0XHVSUMFCAISWHBRZTX6RJQI1E7K44P5VWRWO5HCM8KLZZZXR5TF36R9HBUDQ2CT3BRP7MF7WHQ4ID302X3XR09Z8KLSNER48X7S9LR32YJWDNW04JF4QJIWPV0H4K9YWRZQSXX4X2E4P44YIUD0ATK16MUT75EJ9N10A8L3W3BWS62UKHMRMCMIDDJZCXHK97WOSNSE9AVK6TXOJUINONP6N74WPS8IN87W9GOB80BGXIARSK1RJ07AFDO078P1QNBUOUXA9L3QWP0NCTTIYDPSSA5DG4N6CDGMHDK04TZMC8P1C3ECPALGG00J2RSIRJ0RC4ZTQ3RNUF4IPSS8OESN32TU8CUQAHUC9V684NDYATKOYKCL40SY1GSNIOATHFTRB3GL9ST5KBDJ8FYW4C4GQUBHFXHO5MHDFOCU7LJI33G3BZYLS7SQWJ72H5GBLLWUEHXDT6BFGFMK9IX2XTTPR8TC9GT97BLXZRS4Y6S0WRA07OD0GDTFO8WSK1BEN1218ZXXD8J6YT36AHKK8VUE7TLUKKUYE21QWMUOOCRMBRV8C7WSBRC5758XGFSXBD1ILP6B30WEODS0NCLHE9LF3OADTIU4N3D0T57A1QGPEH1XT1XK6MDHEB9ZWH3D0J6P2QKPTHUQ4F1XUSVRF7E4NK7HOUU7PHZH8YU2YBDYJNG4UJU0GC351ZQIU00BS81B7K7HYJ5EGHLDMNQ01JGK8AC6WAO09E8GWEPPGQFC8MGJXAUAXUMU1Q42TGS31TU4LEIJPSDEIR9BG80F1QENLVYQG063YMI4YY8TFG1O51FJ0UBQBITPLXTQRA8LFL5FALNMPHJPFHGLZB9QBEXL7Z8NNIHZ1OLMHTL7ORBPO2SCPH0QNJ85BFSOLTM9GEGQNF4GJ1YX8HXCB6NLKL1OJH9HWDOSW1YRH7FANK5QND2CWHTT1DK9CVI95OWJTM9N53YOIWGST8K5Z1A2MFUNHJ79NZUAZNYTWLPMDJ9CTJBYF7H4EVF78OCRXZWUSLTA1I1SAOAAY3JMM85PAFAZRJYWWD36YF02FZKWH0VNP3SXMJW3PHQO82ZCI79LXTBX9X3V53CV8D3YOV6TJQ14DYJBWMVWBKXAFB8BEBRSA4SEI0CPFLWC854KBU0IX60NQDP4H2OLW3RJNZA3B87WQLMDSR9144Q7M4SSFX3HBAQ3CWDNBVEGRA66BRRVMFWGB6ZYZ0LP62FEHBGAFL9C4FYSK8GXC9J5TM3RC9OOW6VKGB25MS36G = 36#W4GNZ9YL9FGOS9G5VR40N740953GLRY8HW0AEQUM4BN4LE3XK * (-36#276E4EUUZSHJZ5450ST20B9WY7YTJMTE0IJG2BT5XJQMG4ELAE57HR40UNWMTKYRJY1J4KXILP1UJVXDH353CTR88PO4ET8GD2HFYDZDZ2NR2CARQVG89H6M4OLER824UAK8FEEGBYGFZ5CKG838SR4ENWCAES5VO8LV8MZ464ND2DRW9IB3A6MKPCDJZBWUQ8CUYF43RP3WQI0YP9H8L8R81PCZZB3BMPPYMPFQY9W9UJGEVIBL08V3U3ZPGYJ4NO78IVUJPOUACYJHT6TN3JR4SW0PA5LECF92PIJ66XBRHUO8IFI93LTMMZXAIM9AEYTU3FA1TFDRDOAZXC6D6WHLLM0MF9YO2VP0GLV5R26Y8RKTMU9QO5QAFW08Q6NGEFPE8PWXZNDTTCSLYC7R0ILA9LBAAJBBH00HGE83AP2PRQRWR6BK49PLGV8BTZYDQL5P6LD0AA2BGWAESROBF1TXQ51RHC2S3RXEQ2SCELUZXXT3TQ3LQG6HO4IO9NPVI9GML1FD2ON1JUOMPJQA64U3BYEF9LJALRE52IELHLYWS7SU7Y04YJUIAURRI86QG2C2C78JU383KIQ7KMSN02R1PTGXT96MHC609OO51UOZ3VPK25KDGJIU912SU7V9Y34ER4EV2L7750DDOMGFXZ2P6EX0G8LLUO1455KNEI2TI3JH09A3DHZI268F8VBEGPCHYLROLZWKOGZXF2PZP6XJP388AH7N90RKKNZFVCBGJ2GHGPGP5ZW2CUAB1NXBHFR9KOJ2DCISO0D0R2ECVREJT1GQOE6X6GPJ3DYCPM4Q6CUXL410B67CZ6QR4MMZZ8PWRLL9KH3LYJHNGX56Q7ML6M4IK37PW7X1AK5ROV2MEJTNNQV5UL35KIIXX1V16Z32JSHTSJZDXL14RO7AQCQ0VMN8KV9DFKV6734B65KQTC69Y2113UJ8TR8I2A86KXYVXCQ8D9C2STRTGZW3XGJ6OZ4L5P0222WWMC3SA9CI0PJLMDNF7LAKFF4L2GX3UG49WK8BCY16A2TLE6RCCBV59FF40Z76DI41NJAEPQPACC03QMEPE1HFJT7WL4JOF6IZES53TQ15GJBUAGPHGMUXTSRF04X7BOISK4LUAMT20FNWKH1RK7W19NU7VHSG85GOQPXVSHGKW0EYXBLLGLNGXO6PK4RNUPTA9EG4HO2OH168J5B76P0C6RXO52SXJ21IFGC6HERR9G84JU5XTQIJKY8HP4SR269SNBVR9BQBDVPLFJV1BHFE80467W4JI5O3J161WXI62481DPQSTV2N1DPSMBFGY0HXUAJZ). +-36#PCB49AXWTCJRNNRG6W7UXBRK7CO4NUN8K9YXFUYNRSR4DUO6MXGQX76C7UCPCKR7QYVSXQZ8MRNNLSVXYKLP1ZV5X7REHF28LLR48ST50I9A = 36#1JOPU24ZVF04OJIOUPOIGK5Y5OL0FPQJRBF4LLUG2N4VD26VLVDRR3S69AONSLA3SIRHARAJ84CFA993H1YCGFCNKZ6N6O6106LK3CC740TKK9EB8BDYBAX7AZAQ5V90J62KQX2YFF4BRX7AY4CKK2TMGUDBYRS9AVPBILDR16EBS04D6IP8HUD8YRXJ69Q79MPJ2QDKSCTQC2NIXY0FJZ92R2WL23M2KUJ2595QXCX3BY13IY5Q6TN7VAYCZASS3M816D0FJ4LWFTXO9ENW4WDUVMAF5CGCZHXFNJ9D1YHTQY4K5C3GWDYR52OS6NRU0BDV6EGTT478IUVRIJJAGQDPYG2QW5HIEKER3TO5SCER7UG3DXWDEH0ZMYOE6BG9Z9ZVLIV4LXTAWYYP1UBNGZC27YR7EVHHPELEZXJCSS8K4JM8VKUMR0IXS8BX3VMIWCASZ5LRR8G1DJS0OZCX6H8HUSHNZAUP8RMSIXLNV7590V17IHDU div -36#273UEYJH8Q1EY57Q27W3XUA9TY3QTXSEBFLPGHYYMPSD9YRINRQD7Z0UZUD6IDHAU1H08WNKHXE72OOJGMLOCKV8F92RO476CR3KI7220L2G5F3ANR9WEQ9NQEZFBP5VGR0ZRXLWB9HYSM2N74TSIXN35WGIX7CJVDHJEBHOKBMPRIVLJBN84IB628C8YBN3HFG1GLYRTIW3C91J91GLJV76VEU71HKQGQ4T36U3QBQU8UD30XCWXPQ7P12JO37C7X0K9809X19GPI3CAYDJMP66ITK63SW6S0MLG8M92A71MR5MENKKP4HIF2GHRRS075HEJU6HKXOV3TRETS279REW7GO4UOM1TETTE1716YVKAYKVCGWBC51LSV4F2SV2G1I1EVD3. +36#6URKMK7MR884Q4NVQUJ29SBZZZQ4TZYCXRMMTG78KKSN9N8R02L3B8YOT5GHJV6ATD8ROXWX0M3JC5B98L6OUDMYB5V8U9D8ZHN6DHXFP2QBIWJQGH9CMIW0T68L2062PC4GEMGCZOKFZIKKOFO2HDE0VOU4UH1TEKKPZA75XESO4J7E9XLZN16DAC44G19F7L9LEYQM0QXBUUCUO9YMNI20DOOTQJQYSYHUDEVGAD9ZXKGXTAPJQP9J5DY1C6YHAOF3O11Y6PWV3LMFWZ8ZJA6N6HI52Q5GKPJBHSKIMHLXIK5R3XIRW4PRJ80ZKZGCB4Y7ESETVPWZ1ILFELQTFA7J50JJ5N0V05YSKXK9AE5SSZBCI4FUSTPZ8D6E7FBACJPXFF4R0B59LTV9D3HYYSCVM6MVM637Y2W0EBK81A7C1RHE2MY9DLC74DE2A97VKYW45DB04JAG4UDE304DWODH2QIADXDO0256VNPJK6JSZN25HRYF8OHZNF = -36#2IUI0G8LJHEH6XNBQSNTM1SRH9H92L4G9KHN8K28ABNIM7O2Q1BS8TANUPJQKCOHP4RYPZJ9K1E604S6GI12G8D77A5Y63UTOZ1UTTUI8SDKPDEWXJU3CG0OIR9SVN1ES5V2264RJ6PV7UVNRT9KQ89P78S6A78S6XXDST3LZA2270WAA19E5HB8SA5RSOZR8QZQNQJPZJSAZ88G67R6IS65SFXNJ5G98URBCNPF8FTH2FAOBVM19OZDE0KUQLJB2GNWMWDBDKUBP8XDQ091OH4QHIRH8UJGR3I9OZJTVT0LOKM2SPWFZL0SDFA3RJVYZE2FUW2OWLKXPQ31HAVHAX0QDBL4U1N1R5ECWUCP1G59KZOMGUD8BD7CWBYKRXDOR9QV32G6K18NIDDSRFY0M1NW3WIUKMDF05HW1F30Z23M1BFTYAF6VT3PKMYHY6WLQJBIPLARD * (-36#2PSAG6YBOY8O4K6SPQPIEFZR8MXFALP3TQVW3ZNKFBMB1ZDO9F). +-36#1NNOXT6ICG4N0INSO5PWPGXZMQBN7GAZ6V1TVE3MLGTBE433BRLHB25WQU8IDW0Y3ZTXVWWIO3AARGPC2ARCC1BHVCPRN53C59BVR416 = 36#2E87I1JN656QNGXIC121BBWATO5O5NQ8UQEWTMF0BSSU4VNQRL * (-36#OWNNBPZ1GU7595MOGPIPOO5MMCVDTQYBP18EU2ZLDV3CV66R0DOYI2). +-36#X74505SSV6V05FXN46ALIE5KFQWPSBG4VVHJSAODCEXKQPM4E9Y8BNCECO7MD9W9ROI60BTKL56Y3ET0X72H1FOTV13UDMNSKTVORIVZO89E60NSBW1LVUD0Y23W1EHD9AEKY3T68PRXNCZQUG72UFGCGGCQI7PAPTLSVUXLXCCQGL92DCDO9R7CQMKO8DR7VD6NNONC2ALKDY6GTS9EFB06UV0CMTVXPT6N22WE3D3Y1BJDKDLLMKKQPXVP8G6GHN1J8BISWXXZIQNDU15RLTG3NTPFOZX5ILJZP8AH4U = -36#UYYD9447RXB7JBLLMQEP7PC90O5FBPSHZHG2G95G504KMCEP365EE2LRXPQK0ZMKIL78LIAYXGGCDCL5JEK8ZWA14JAT5LIKO238506EYPXE7GLSLBZ3VOGL0ES3OQGCYJK1A9ERA5WLEWIUREUCGD5MV1Y3260PJSKDEF41OKPN7D2PFVMHLAO1IVL3SFDLGTH8TG68T3NNFJ9SEDNUKKGU43UEUZB88XNU8QTOON2AVNBNCZ1GMPAQD4UVF1QB8WSWFMAYA5WLF1EPVNHU18MFZ050BRLVYA2P6Y88OOYO0H31A74LW1V8EKVV31K1GF5BK4FMTVWHTJCQN6PXT7OREHU div 36#XL2MM73QPSYBIEUPCDRIMM3XTJZITJ5DUUXWA6ARZ61XV9RGV. +36#UE8061T9104150XF79BSDH5SQ72PEVTW6YCM70LXNQNPXPSVE = -36#7DBRTTYJ400TO3CTC50U0SZ9K88OR9B3IV2YJ7Q5REEJ34TVS0QH6H5D3Y5M748M12VRMBP7QTIMMYJLG028J4F7T4HOG3E5MIFWJR7EL0ZLF4SXHJOXRD3KANWVSA5G8AGYU2A54PS9F797J52M1IWLSF2V4UQ2S93O3M7SCOYOHP1SA4CJEFOQDJND9BGJ0XFB3ONYJYTF7LILWWVZ01374XZKE2B3TCKPFG40TCG7PKCVZRCT3FYU89M9P3RQZOBSV9FP1OESGE7MTIUHU840CP4YCYNBR3JU1EG3PINAD20ROHYAVNSDUY8L3Q30FH970L0VI7KJZEX6VCSX17TQC5QPEWXRBFZPNHG2NX882JJFCHMIH7EI3YNO88ZL5TMUEMWYRHELMM0UQDIVTQ5K5XDDYIYELXETMQKYZY27OUKIJ8RH3Z04QBNUMENJ3S8NOQAF13GCRACKZQG65FX4GQ2YA7OW281EDNZ4SIYZLPU2DWB82N2JQEDMUU5DMI4FT6P75OR7MPZ4YEY0LGE24G4MJ2HZENY8CWALQGKZ7BXHI23MIW7AQCNJXJRIZNKR5H9HGBEXJZX2XF1XEF4143OERQ099E3HYFQM2EKFO1DU2IEYUZTGF2VRA9ELKEPNSOL0DMOYSWYO2UGMLF8D3BSXET4BI2 div -36#8Q959XQ8BY03JZUHRCV5O43HH1XWUTB08DS2U8E7E7EYDMU6ERXI7UOL8Y016SOBZTZTSWRJG6TBMSALA66N0VEKSA0S6X95U0RQ4ZQOREGEZG228LOPUD2W0A03720MCOY6ZODXMC88THNGX8MG86JV5GSNXMSIZGHEKZ6TSC6OM8J17M001T2MYJIQD2ISOVDYTH5J673JVRZ10RESE9AQG1R5EI3M4OYVCNKTMF179LFPUUX4SGUOHP7X0Y16QEGQ9UY3N7PXI65MGDI4UZMKC0Y5D8D3RY428PYLGRKEF2KQW4RL7NJB0KL5OZWPC9II7LQR6WO9CVLI774Z74NDA5N28PZB0WM3BT6SL53M8JK085FB7V4EYWCVVMHTYA4JG1OP2T8C3D2S4NO5FEW6M5IJOW2PM3OWFKDMUQZ9Z14AQBON87OMNRSFVQK20ZCZE6H04V53BW8J3UK8FWO83BM0K1PG2R31EA72B018ESW0LQ720LSX8N9MHR4RSRWTQJ9XAM78TECXZ2SWGRUQ64NOKL1VCGN46MWK6YEBYCZJVDXUGVLFEG29QUHGEU5EQJNIMTZXERYNA4E13934UA74UZMJ7BDG4E2HT7G84QT3D. +36#1SBYP4N33K6QCFVRQ60SAN20TJ0D3VLPFBNC4RRXMWV8PLWJ1TGCRDPM6Z4Z7REMU13PCIHDI2BPBUYAPF0EXFF0GR9298HJRXH7CZCZM0LT1LUQN91QCAQULWNXQEU1ULD2HDVS5OIY3SVIZ7P3HAY2XQY7LUP0VJ5DC54DHXWCL899EZNOGU3UKV0SJQEJO581LIK1VUNOML92GVRQ8F37IT1PXU1SRGT3ZLTHUADC59NA12JRE4O5EBJY7UA2FBOB28G7JX3MZJBABJ3J66MKQD4MM94HKM9BF7U7F7OB6J7DHBEIPGINO9365MHET72KGLLCDZHRP9F0MQPUXO9W08A86AKPGBE38MBFLJNY7TANJONTIB4RNUOQJJK1OXT32RFFZZ92GEFAQX0RQBHPUBQH1HJB522B2MZUAI0IGYXYW3HLYV1IQFEZ5YQ57FI8R954OUDDXJK9GQKSE0QWNWOOVRC900AYS1PQSO9HA0BA92Q5F6IR1PSP56NO3JLUP4ST9CBPIAUHHPMWPH9N7XNWASK1YCAVU5DVCS2AU20RREIL031RCG6VTN8A7WNILGMCICDHSHAUA869I447Q4CSPQ25PQH5QKJP3NOAV9WD3CJFAXVA77ZEG65V5OSKJN23HL6DU35J81UL81DE775XK53WT8M6ZBNQ6Q64S697SWKYLDEGKO6FOQ7DD55GQONVG55HABLNRMO5AAOURVNU = -36#204N96XWH9616YSI8YM9AMG85X7R277EVV6WQFDGIBZ4B4KQNN * (-36#W3WRE8YKHH5U0KUMTC4GN148KCURTAMOFB4M667EENKZQGQ4ZT7W5J286XU8BEJSGXW795VNXGK3JZJ5TBJ9SWRRJREY03VG1KCHRRZ4ZTQ6LRNQFXJLISIRWEDBJ1F4CD0IQ9CK26OJNBD14QGP44VS1BVKSDJ5P82ZM9BWGZL7KW54OXPZRMVN9GKF1I6P04RCC842MSGN2RFTFTF18QTC24O8T2DX2OECLJ7FAI3N9WE10V004QY67H0SZWDK9EZSQ1TSK7F0850QN4471PCDC134Z754Y63M737YLPG9FNCGXZZFDE0883VIJV1NOBJ8A71YK3E3O5LCRLKEXY6WIHCDVUSV1OSCNQ9OE6TPE037BGU9242W3O1FGHJLDYKSFVTN6T0TNS7FH20DEP0516OSAVNHRC6P0PJRY0TVUI8UQSLPIXWQS8QOND5AEAW4GB6ULH9BYD0830BJI3NIH6WBQ0272AVTUNSJ73OLF7NMCTIK5NKOTN61SEKDF8PM58BVPIP86PBWWK4L9KIZ116XNTTNQ175T6K6BMNY2DE26TH068XFM18LIZI06E9BLNS6GNTUNIFVV5E5S0CSN9DJZQN53MYJ0K2HMJGA0OZX1XHEC4K5T79MZH0DH4UFTJP43FXEFO3FZ881BR60FXHNSHD24BK6S5S8Y6). +-36#2511ZQF8DC4YCAH931N9POUO0YLM3RAUXNVCK3XFRXN5PGIFTZ = 36#8GBA7OVIZG83Y8EH0NT8QIQ3RKKBCQPC29VT6U03NR1O2TLV39BQZM3VJAG9R6L4YWCQGEPPVPICDSOOHC89GN2CLRC6D2JCHMYP5EJOU1VEBP8JG0ERCN5KZGF9GBWWNXFJ33FIR9IFYCWI90XUIGDSDW46O05P5KS6WUTA7ZTA855EPJ0Z0WU7S1FNE8QN6FL7QWK7IFDVDU7US1RMJQIQ5AAOYRU75432IHN0L67YJRN81WFL7JQ51QCM4RTWEAITOLGT655H52CRDUPV5581GQS95PAOFAIZBWZNGMNRLGIN0A div -36#3Y8020AYQ5LDFYH91C6JC6O6YQK7OJDBEK0T6SF9Z9R2E1YEMYGX9U7U9RLQIY83RXAX2P1C056GD7JAG28RSWJHQDVNC2B7VT792OBOI79QQL2MJZ52Z306SQ7ZNMD3Q9H1XGW41ECIWDRXDFWMD0W2ZAZN0UWFQDJFXK8YR02BSEUC7KL4B1AKTDMAF8E2YO6CS5KL8QPONTTEZ1CG8QOGTZI7R3SA983WH5864DGKPOVJEYX16MB4MYG3V8YNQ. +-36#1YAIWW91C3QEG85FCH2A0TKS069SUGL5MFQ07P19P9ZO679KTDKAG6X64QSH3JG8R6DGADFR0FYTBDUV2SNWN9ACYFOET46OPQQ4ORHERWP8XRLXC3ER1RDKATG4SN663PXSCVSLKDXAU7NEEDVVY8BFHP53LARURH3XFOM9X37DZ3R248PQNX374GZALWGNW8E8WA8PPXEOYR00SNR5XMNZJEXIRPLQG8I9NHEP250E5OJED1GL3VGRKLFBG2MVUK6B04WLH0841VPQ1YXH7UGQTRZ0E0278XOMHX5RX4LK6B0Z0FBHGQ5IWL2RBOUVO0ETU8YX2BN6YMAKE8K4LYF1QN81C0DPVRLRD91YU7ASGW2JJCD99OOZOJEGXGNQQDSFXY69LZ6PMZ9L8K035Q0GCRTZNC5LDKORDMEW75U45FL8BNK4LNC3CLSB6PF8T666TV84QUT399OMVCHXPXTIJGSEUAYQGXNFCZ2U7PGWW32KLCGTDCYZFTCERLY6RW712SVV87K3UC2TF196MJJNFZ702E066JZ4YVJULNF9LK2KXUT3ITB9WBCDUQ7HK2C4PYQBY1NQBUIGS6K9XV8HVVSMPVU9BGYHBWD2SCG67XXLLOIE9UGCC45S8ET9G96DM0WUPZAKZLM2VI253CS48V87U65BYNDENCNDX15OU7YBOYDGW8IVT3NUYX8JOGNUD6AN64AGIOR3GTC7SI5FPKNBTM18OT70HMDK86WS49PAMR05BW7UNRCR85EXX3I0 = 36#5WCUIEXQR09C220FY1CLP8QPOOTVN8GBFBIL5P2KK2XXLUFXP4FHQK2XKWQUQOYSD890K93K0FKZXQH6IEIFCYMXD99G297APARI165HOYNR4MDOA7TER0DG86B6ULSLSPX0753M63A5LRGIOHFEFIJWTO2JHWGQVEV7P2MOCZPRNWR9BZZ6PZ8I * (-36#BWZMNP7GE2TL39IYFTO5RWMXSHSFIHSOIOPA0I9SCBDIMPFWZROB8OCJIYKIFJ64Q915AHICBGW3A6JBCGVQ10WSZDJDFD3JEYME67JAEVHB78Q75VL2ANQF9GZ6IL51K8V6R759WQD5VSXS9LEQB7LVFO1CCJZD7IIGI3UVQB5F43Y2N7BQEZ4OT3QNCA0AZ0HDWZOS0RL78SP0460TUCYFCEILVHRRQ5L689IWLE6ICFQXQJM66IAYAJKXSTECQU0CF2SUSAELSHF2P82XFPF6MCHOZG805X63PKL92EYS5RYGQGRUM476XAQGZ2I0JLEC9HHQCMA2WNWIXQKFUY25Y5A53O09VRJBUHMHKZZP99IXTII22JCQT33WU68FK1MVUF5Y5LQG7NCQNKRDUGVALAI821IWMM71QGO420GCEEBEM3LDJXB2TQBX2GA2ULFXXYO3VIQUL5ZHOBPVSG5C0TGU6JOF5D3U1QKSPCOQUGO181X836JLGEHAFSIXOB7RIQJZ0YI28827E5G3C45B2NTYPJB175OZNDPWHXQDQVLF53FJ05NND6PD7UNPIKAHRCJL77B0). +36#1ZTUI7SY7Q8T8EHCFR84I12R6FR8ED7Q2ICY9OF1IYAG16SZCIUHPZ4I1W7T0V0DD14THHM8NY0VE91I5Z2K83JBSEF8B89465CZJ1MNPSRXXRQ7FMQIDAAGQ1C2G2P57IQLAESLZ3IMA645JSTYPI1OU2U9B2A8LN0GBCUZ7FMSZ4OGFVQKCV0HP7QYV99UPEQ5MXD2R0GMOO058U8DVRCP3VD84SWFI7J6SORW6A4L3BM0GG53DS5KNQSWFDCWTJE2V1S3QLVBVW99X9DLUQ767G5LBOQ5PUGXD00T4S5NUM3PYGOYGJ32W9UB4J4GWMG9KKYZB61WQ5P6K3LQOA2U7JKGVTDW6LZFO52HKKGLKUO4SX9H6AU9PWKDM = 36#1QTDHFEWTM00AJDSU9LNLAHK7ZV0J2GNCJ2E6YJY432NFHM56S13ZBXP34N8TK1GW554CFTRQ5GFZVFPCIID99IK06WVTPJPVZD5AOE976PX3WN3SVYXPGLQH5KVKWHV1VCBH5J1RWICHBA7E0HAOVI7XF235AGMGGIC744BSELLIFI12IYBPT55B1P1WL40DJJL26PITN9KLETUK9IRFM0MDTAWFYZJOTZHHQXULNNYXVMJ92BVWTO778WHE2EHH31XDERVN6UAF5DBA3E39TKBRJ71J9BSPFCZF187AQYNH22Q5VLXCU4S7YD3R3WRND76SFBYO3WAARTCBXC99BQZVXOPCV6XQ09ZJEQLELFAO2THJUKZCR6MK2SDBW5Q5ICDERF7U8UVG8WC8HISJOECE1SXKJVZ17JRZZ38HIQFYS div 36#VHDLBUZ3WH41PQK4V4GI5KBQG7QJVQL706ZC80YZFIOB5DJSY. +-36#25WRB0BFFRVJYQD7P5O1G205FQR978DA74C5IA7H4ZZ7JIPD0IIWBY9WC77WOK5HQHA6TBS42TE5SAWE649JY7Z56GB7G1W832O7DCXITB6N0HU542R1K8YYECPOPKL0XYXCZZ8FNP282TUEH8JWU16O56QVJ7CVG15OFS5ZLKE63IVBT1SQQ5L3OES25QSXIM22VL6YJ3153JGP6AQYTHE0APFN65X5YBVOEPS965RI04Y1JR8GIQ5KIC5O1YQNH2ZKKTPULDHI3EVXPWJTH48KGBIHK4J0QSN386A13VYQK7CEK8MS9035SAXTOXZEHXGI8N9EB5Z80CA9Z0EIZB8E2JCR9KTNUGFIZDLAUIVUEXIFQ7PTSAZ9OH3MA8CS8XS4GMO9B2YSX25MSEETP80A2KPTRFNXWKIS8AP8MV352MX0GR0LX6NMJXQZYULNC9BYRKCEZCL37KDMJVR7M0FFHNA0LTS3YYHH2JQYEW6WNOWJI5XA9CKV0IJIBN4S16V8RM1WSVDTRB9LO4VWNLETZPV85T0H4KK7HDB47DAPFXLO7DLVCBIQGRLXB9MKI0MDSKY9SR09DIL6I8DRXR6HOXTIW19IHSSN2KVX1RB7JO1ZPRR84D43GAG5HAEFSD6M07Y2FAFUYVG9QP4C46A1A1ASH9340NTAQ5XRRO2PUKRYDO3EUNC532E204L79LP0I4RIE3O23FWOM6GTJHWK97MIG2O6ATBQ7JLNLZUMENPM5D1RJWMQ46GKTBOWD91FH19OLMVPX8AWHBBLJHMRT9O0Y7UCBW97LR9GTUDXMRSA2M25G440CGQO = -36#RDTP0PW9JD0TRK2U235O0PZ40BQ9JLHITAUAC9G4WCM6BTBCO3BM4WPZTCQI2FKFC1OEKUAAJ7R4NVQR38OHCY6U3PGMWF3WMRUZKBPI1BXM6NBRTAYPHGLGHTMIS5LEC6K9KB51RIJ3YGK8V1D2173ZEI1EHCVBX1M90ACKKY8LUDEM1Z77P0PLGIQWCHFWGR1NN88SGOUCV6A01X98PLM29K1MYV6OT5CKYZDOM7T39HRBW20U5PVXEZL8W3JSIFGJWOEXQCDHPJ6M6HRDN4ZQ0FLONEI2XWB5LUO8ORLE2CB8UKVT3PBSC0G5SBKPZPRIYATD6QA6OZ9LUFJ4DW856R7UW419O3N13RNG5UBPA2F1M8TXQB12KCB1M1574S3GMSKJLZ9CCBP2NJW9QFYYNEB1VS3DANAZ66X2VFNNFLC32K35M7H7SORPOUDEPDZM0PB1IC9Q7IPVQRM1LRCCT1YCQDN42ZFIPA1DN2FX3INTZA49RR7YJ0SLW7ODDCD7QHNJHZ76QDIF8WGPBN2YQ8E4JJOPVLSNVCV1R4BYEME5C2DYEB253GN4SKHA6RAZAN15KMDFI54JOEIFX8YBDMGYDP2NNDQE2L6KDC56R4W94ECIFVVZXZFSDUY3WHN6U5N7WMGKB2495GEKH0M9ZOZV27ZS4ZJD3Y0UA8L5J4MQBRGMH0SD0AK7R6HKFFC3M0SCFCUWV3AOVFGP1J0LK3RBAQTIBQ7RZATCU7MU4DMY9V6C40R3P5JL59VITDKN4R3HFC * 36#2UF8FCHDFN2DTFZRQOXXRA98R15A8HBTSYBVMQWEXFFWB3HTS8. +36#EJ629TCBCGELFKNQCP33V6AJKFHOF4RCXPT1VFT5OE4PRVSE31ARSAQSEZ3BNCELPLOSCJF75IVZGS6LYJV9T8XQXCBJ2SRJBXQ55DIGAEIKWFQMNDQ1ZY90FQQ77ZM7P3 = -36#2UW6SFEVOKAIWOTBIWLIYJLNG4G5GC0TG5QOH2EQ4SU1QE6V3QL8RQSF55M9AKUP3MWYLHNFTG2MI5Y20WAA89OI53YOGEYMY2CKVO7EW9EL0L7E66ZYHXPX9V62NZDPYGWYO6RTUHHC31FMCLUSAJ77P6WK2K2NX8DZ5S2M4HYUA0HVOQKT15GFVM3EACT2C6QPZZP7FVXNW5C5PJ3LUIKAJNRPH1GARDKVDG7FOTFL1X1BCYU6K3865UDHFI1Z2BNY5T6AW054HM45L1KKXZ96TB7I4GN9G3JL20CBK8AK1O2B91E459RPYFAV8PNHZBQNLBIOWSAM9KQO4T5WR1L50F2XTTAY6YU0Z87ZVG7MH2JLG08OLMDP8K0JVTNHQFYEOTT9ZIJ4HJP9ND3NJ2ZYGDWXTG8XXJKR1ZRP5ZQ8IH51M7CNOZ21K9FY6SA9MRPZCQ2LRC8KLPM28W1AKOA2U146UIFREQZOGPJXFHURZMRFE9HFRNEZK1O15NKOYYOCO2WD57KO4OBQK03OFTEQTRK04OQZJGDL72LJV32GUSU0HCXEQ0RLOVTT4NC89KQVQD0PGAZE8RW84Z8CNOTJCTFZXMSQNLDHIJMJXHRHRY7I0VJ2YG061WDJYF5IWG5P2C5M5VCTHQTJQ26 div -36#72W2EPN4IO1F7TGJJ5HLWAQTM0175S0V7FLL2E3OWMN46H1P4EAI89ODZXCXZQRQ634HALI4NROU8O1W6ZHN2YMZFMLYF0W0DOH33BYY2B990F0ZCO7G5D56SABMBN2SZO7J1SYEVUFKWBYGXI8VJ27GY9MFZK8EBUN7RUOVZCKNMJ5RQVNRNBP975VXLABV6Y8L49V2ZSVQSPKCN09MCMIVW3I82DFRPJSBU5LMYRNW0VIJWN7VXU82LZN1477KMU5CMRFRHXPU163Q1TYTYFG3T0OD1EFXGC3V4KPEWY235HIC8OQHTHWC6U8KAZTEWC32NCUXC46G7WOGN3O9J8ZTJ5NDWIKUIWHR5APOKSL67TKAA69VNOYQIJLG3W68O138FMY2VVIFSJT702RZ8FG8C8N7MKXYVYREG39GHLAROY7XE4CMYR4RYQTA857EAS2J0BTT4YI5AFUQNDIO4O3QZ1ALM025TUCYVU9YSBOGWXCKDEFEJ4IHQSQ6F9VZWVN12ETJJBSASLOW2. +36#9UBG8PK2MGYEYJZ0UTYOGFIIMU7C5DGSYMHRXU6R8UPGIWMLWDRJW3G4LER5D92Q7Y6348B0LJT78OAKRIVXYRMWMFA6D = -36#3PXLG6EIVXPEY2QIXD47AM4TBXRDBIDJIV9EW8YSS9WIZ17DPG0K2LER7O6MLLY9IBFAKI3K6QF63XN42X6XDKWZ8CJY8N7R6U6XSW4DNNORNU3BWJZHUL74EF3POJTYF1SQG3RDSSCJFO8JLO6RWLKC8X6M33H6W24LY75GA1ZRWCRH67UFE9US4NACANXQRH7UKPTTKTWI04OD8SMIFI4GAGBFD4K68BET9F46G91W6ZHQXXCN39VEBNG7VLR1PX517BUJWP2Q2CTN0HPXH0NR84NQ1HW1UG24HATI81JG3EQX1N06YQANA6K0KRCF1F1KR1PUNOD1JEI8620IJ4XAAVAFX1GQLZE9TP48EELM781CZ710NKYY0CXDMG8TFL4J9QIWC0XO9MJIPSBKQQN9SQNTJ4D8PUNUGDQCT5TJ2MP8BMJGIZES4BWQ6Q1GQ7XYFWRXDHX0MJ19ME div -36#DLW3HR0GKAQJ8FP0LYZ9DIQX6MY7ETIIIVEAB6PK3PGMNIUG8QDAN7JRYVT3EPISD1WREAOI5Q3X9EBBAI3MB0YQ51NFRO86388D3EV652414OQMD4TYAQOZK5IO09ND1FRUWU9KRV4MHPZY8T32VTDRWF0O5L9F0SAYZC1KNJYLIC85NFZSS2P3F1PP2H0TQ6HHLSEQ6PCOITSOOL28P144RO1TU1W52CVSHNTBFHLOUGV07O56HGCXAMJWN6Y5H0Q5H729D2H8VRO6DGOIX6OT6Z5QG6F0BNIDVP3NU0XPWM33GSKL55YAUTT5MR0P3247L7HR6DCXPZZGCHXBCP5VCH5GT6F49XGZ6RG8I6SIUUFJJRIPQ. +36#F3FY2ACNX14OXWUH0BGYNWLJ9NVDV9MCBDUSXKLAY961YRCY92O5JARNJSVWIX3PQPRUNEH7KDM78DF5GP9AAP39ZV7MWGCP07D50GLBUREFJ293RQGD3B00T3NBCB6AWUT395W3X6A6KLGXN = -36#9N4JM6NHUG601M5H9DMPGDFV5CAFCCZ60QH6O12PLUNFGJP7UT2MEFP8K3LK3LQ56JWPHFPIZGRHLR9ZARO3SHAR5A1DXRBXCXY9I8PFYM7XC6X8JSSPG9PP0RP3OWCF7S0NQ4ZWKMOT2RSSUI908R3K0VDC6EH8RVVQZ15Q0S9FK5YFW6ILADST3TKSAJ615ZXJQK6ZKWLG15LPSJ10WAA0JW39A7I3D8ZX6MO9IYA0ZDD7IP695BU1B08CLFLTMLZ22U0E3ZCRK0LV7NQQFZ21OPNVGX2FWAPGPI6L9R66AANLQ22W2PKVUVLC4U2NV2O1D8AM1ID8JY8M23CJGR6D17N5FE576DDM35L34G7OLUWSAIGWKGUS8MZGKXGQ2AQ82I5KMV75RQKI6OZTZ781K9AHVO0EHCD4G26YQ2TCT4WA41DZJ5KSS7F4HPKHXANUJB587GLATE9QIQCNV15GIXUURCNDIXPMXAUD55FRV17MM1N8DZMO5HT40SXNHA5KGL9JSR60P32PLATNNTMT29KHELULHLS8SQ60M2GTIT080DMBNOH8UUAYFBL8H0I8WKG9UWLNVUCY6IGQANKHZX2S9YSNNM8BJIBA3ZK7BRYLFLNOSUACQRV427T30HNH1GT0LE089RXNWWND0O78CLZ6N0F5MDF5OAZHWYUKJRH5SXG8WMFU0NUSTYN6W9SXR64HZJ5M78VYY8X3G7W4NE6RZJJ9EB7HEPRJQH2S5KCK3DP62FWAQAM87RZWHHDMQWBQ8CGD1MOTZ24OP0B0GC32EOP8BJAI0NGOJS6K7WNHNI0NF4S6XR5ZS5AB7L9LOX0MLPEE09OIRSRJ5G9LX0Q3JJDI4CE4OA29DBP7LC4MLGUSBSMFGJ46URCUZB99JRXOKWZVCTNZV65FRJ6U31MY1PM5SNK4JH1V7HEEAX5RA4YRT8PMY22F6PVYORTSZVWECVT0KGEBXF23SW0MCK4WLAZ9WFTS4TRX6PRKD1NAW8J9BN1TX70ANRLF8Z33ZAY9DKA3JLOHTK12MPJDVXJ08J3H56DDAY7T31Z71Q59YUT6YB3JUTRN2DCZLFU7TTCRD4OWPQWO36TBLCQDE1N3H73MRUL7FGWSKDFK8N3XTKKSPRETAWKKN8U162NNBA3LDD7B5669QALIKM8DAUG1JTY1BNK8ZGJSQ76W3SP2WDAQCEH0EHX5D06KAZK4YRW6D2BBFMOK12PFX5VVRU563BU06MCZBEUU7E1BH6B6VFEJNAUONIJVP05Q9I5R4EAOSVGFNPM5CPAAWOBKB2I4G4D8U0TZCXPJAWT5JX0D4VY6N372TB7WFR3L50SFX96TEEQ3DG0Z8L660D1DIKCV3HPXTT8ZG125NU876XFVSNOHX67CLV8AD75U6AGWXHQH2CKWS2Y0TM86M6G0YPB1WHO2DZG8ZHVWY6L20W3ZDWLKQMQHIQ97KR5L24ROP9W0OOWEKUFVWZPN58SYZ9YRF8 div -36#MZTP3F10Z9ZTJ1YEPDSOVAL555L7N9251TC5QBNQ0TZC8LMWBF7S1H0PN1GGXZUDWC44NZ0FZEJXYBFQD8H2GTICKRXVICKE0KAYV0LQV9KC69YF5LQGRTN7JRTPQDRXKZRT9OLS1CHQ8UFJJN5GQRLHG1JTV9ACUDJ1OLCOLV1ITUHVSFRSEO133U4I878Q0Q7A7VRXI09PSPI2KNAJXUEAL045H3UMRDLGVIC16AZKVLMUP58EAKHNBAJCWZTSMY3SXE48IACZ2JXQYEEEZS1PSDGPCJU0N2R6QO0BMMJ7J2D9DB2SCVX1HWMN5VQXRANH5AXYASGFNK6K07VV4YTUWLLAKSD9O0L2ZR6CJQMTNE20ADN9MMZU18TS82UWVEUH10P7HV6TJB793U8HIYAD3O1C3E3Z7KN6CZFTJ69I4UAM30JC6Q09EGCPC0UANT7W977ZMXK3EN9DS1AUF73CSEP95ZJKD1N34GZ7DW2XL5F7OMWSHW5KBGHIGL88P08KR3UG34TLBG16QO7E3WYN4MKW0QVBS42RVXXHHEW4ABJHT5BLM2V2G0ZR9J8NSFV8GC6458TYW3PTI17SUOUM40HIHRAU2FOBNDXVGR2VY1OCFDZ6ELWO5U7URPZZE1NXYAF4TRDMHDA9B5C1F24I6V6GW237EB1617KJXWRAGFZVB2B2ZAXWNFROAW3ZXOUIO28YIKIVNR9J8OJ33UB8QQ546GBTVQGUR9UJL5JSJKC6PJFIB04LUIZBSISWRRMUSSVFKO73BOMCJ8FMJE5H4VPZ7PLN74BD89FKWP73GL2ENHAPAXRO2700ACIVI5I80R33PVC7E4DI8JGQKEZT1FG1SX1TPIIPQGXL4QZMQAFNRRE8YEAT3BMVT1OVTH6QXTVN02AKMRZ3OZ47NMYHGGLW6QJ75293KGW6NVH9OTCCFYVYZ4FM28P9LXN43HFANJ5KUI3BZH7TA9FKQ80YC2PJUI972ENJFROQNEGRG1YC3XBI60C53C26NTQ8BUJPHTNYS4Z10CP691WLBKRTNXUD7T2ZR46BQ0TD5K28MAIPMLNN1UMNSCB6T35BGQ4KIW9BGD0UJVXWFVSCZS97LT5WU46ZNIJ6MK4IIAV7OML9J5GH15PUU6PC9ZZYLL3ADY95PBDTZAOBVQ8N46D97SIEHL196GFWGLJERJANYXJ8PZ4XJWATVRG89OY67CI1QFFRNFA0ILCDFGRNRERL859CQ8YL50EOBT2RXQOIVXLTM2TPSC4L09K8TN7R466HJYB5IWW88H5TUDREEQGWCFSEP80XRGOYUC5I6J4PATY7AY6QMC84I5Y2VHEQK4MFBFA551N7G. +-36#73HMCC7HA3RNT7AZU668RI92GNW0ZW2GP3EW69EFJ5KPT6Q0DNU9UTK1SV7L6PB43 = -36#7NX6SHPLHJKGT8FN14KWL6B5JUW0E5TWB4DP1RJESF2IPAOIJ7NIN7CO9FV9C27A8Z9XD37R351TBXKC0YHDT8UIBXWAUY8N2SRMUBO23YAJ46QRUASODVYQIMWPL3V8NANSTG7GBW8K7QOPKK0SO676VGJRE6W6DMZY4CDFV1K659NB0QLWW31OMMJNJME5K0G697SEGI601UGWU8ODL4GKA7HFE9JFLRPNTJEXYEYDMSRVOL53KWDMVFSHKLINOIYDVDZBPBKAYOF4N1V877EYBY6QG8BULDT8VUHWY2ID57M9IXJ7DL7HIQ0J3OY3NH73PEDUWNYPOE4QQ5O11VU8TE8HX5QHL0ODNCDQ6BPU9QCCCKE5ES3EXZ1CIXF1LH4XFQ68PLRKX1KLM5VKLO07EUIGNLXARQKZV4X5AAK4EESD5R90JM31Y5VTZZU40OQVIXRAD6289JRAH1I8QO69W1Q5KNYTUF6ZLOLW7DLK1QC5SNTDGKJSBGNQKJG90VZHAJO24X14UCNYWGVZRAIGLFZRWTIUI9 div 36#12VN95KGWUZ53R88I7IPPCSS299JWJ07J8C3TAIEISJNWUJ7C2RI8UCQB7EJ9B1ZHCQWNDP98LW4VM5HTB7FY8KKOZ6X7L6UYIVF8YFU31NPW82UC4X3RTPB5ZVIROEFJ1EZULDEB4TEF0T8HVA1C0OJJINE3R5CS102M14ZU3W4L15DFRB38Y8VXOY90YO33P8XUSNPJE622EL8MHNHBN2Q6BHBF63NSLZ9AGI2HJEU2XKSWWV68Y1EUV8FLPV3PIEHLFU7ZZ1H0Z7KVTPZ35SJY1J3SYQXPEVT94F642VWZ32S3ZJFJNROFJTQ042L2Z8D3JYRCADPJBQXJ4CW1F41OFMKS1RY2S4XUO3SN4UM2PLG1QPBUKY5ICZA7NVTEG37GN63L7QQYAENZN681G2UAFRR5OM4AKFYN7Q7RDYTB1UJ7NIBZAPESESS0AEJ4B9KG3ILN2SJ6OEXA71IQE7HQ6XRQENSE3. +36#XGS110H1F0QBV5IWEJ19JEF9BYXMFTQTCHUS9AA484XW53VR0BIAJQIARK7TKF2AY50IWJ6F1LWO4FUTT7IUSL9BVLRWJT9BRCKQZ4RNYC0OG02W1OFMN2YF3Q8VNPMCV2PSYVEX2V6O4DMLWI1754LDL2GIN2I3735LESYD = -36#I6NCJX5LY990KMOYCZG7Z0KPCZD4EE1S2GGRXD2VWEDCGKDAQ3QC9WM3VX2E2UGVVJ04BMAWALU82C3EVMSKHG32EOL0FDUVG2PY13CT4LU0NT6GZXKRERB * (-36#1U9337MM347SE9W8LROJDWQ3CTGXWKOK2BY38DY7X9RAFGQW2B). +36#2ZDHZQ4Z59I33905W8OSZ59RRPPG79MJ7BSJTLEZ9HC15D8YPB = 36#5NHUIZ5HJNB6Z0O1SRQ4VMHDZJXHBI1CGU0GVS39QPGRY163A6OOJ91A900I484XRONY0T19XJJUB3CEQGFUESICXETZ25DXRFW div 36#1W85VQ21B8K8VER3R63EICLT74NOTIKRLIP75EVXJKLR8ACYHG. +36#1T7JHWL1HMYG2FYRIF00ORO8CKJ0PWG9JWAYKPERAOBK308JWTZX05SXXPZBH6Z5A5122VLDP8BX5HQW9O81M8UWRDKDFSKQQCDLHLQ0595SCN9JJGEDJQEJBH2AY24L0OZRIHNV5H3LXJ22UNA2GHBS6H4ORN67FC51DWWC7OK5HK8EZEP7AA6GI0MUCU7LSEHHTZDMGDGF0V8SWJB0C3KBSXOUYKR7N5VY2IDZ7WW60GNJLKXDG9OLJSCD9XEDPDX9C5JHBAHOBUYGK2GNIK66RQUIAKHSB2YW5VV1VORJWAI8N3JJQO12M9KL1QXD9KZ51LE0LPAYCQAIE9LV616EL9HRPB98OX8784ZLSUJMOA2PG3P2LMO = -36#1ANKFKZUBJDT1B1E5EIRRFI6OXA1Q0P90NW36JR8VTVVIMVIF3AH7UA7M1MPIL0XZ87OAO8AYK95P4VWZ924IOB5XPC9IJCLTFQU8TH8V55BLXE5EZ6F60ORVJKHV57DOAETKIPCOF1XR279Z5XNYH1WI3T3F42Z013JMKS0NRQ7P4JPQVSEXAHPYGJNVO7PXRAU3UZ0WI3YSX0Z1ME85X83PCV53Q2U6UKBA6KKXKSQX2OG0Q0NIX5DPJC51ESRV8B0ZXON62CODHGR9HZ0HMD1SCOHZ50QDMCK05WBL51M4GONGZTY802PVOYMRO9X6FYIA5X00S2Q0N0C7V95TBPT96G3KPVG9IW7DY5COD61Q42OT5LAF97MW8ZH8N8QLBCR8PX0QR06BPYPBRU8U49KOCOZYUH91KENZ3FSEHJIBSG36NR2UP1UXYERCC7MP7GHL5SNMUBMYUNA5FOTWIOYHSJ5U2JH45MA51QE059RVOKR9GMJBR9YUIK03DB7JKQODNCZ8MWBFTX7LRUMH2H30WM12HPF1OUO0CKV12TDEOEY7NSYUU72SXHIPHXU1IP0E76GD87J7D771A6WUO3KHBQPX8YB6ZATS3ETNJRZOK6AHKE2YGJXT232VKE5OOD5HY39U7I31SXWKQ1A4GNLYAWCYKF3UXNHQNUUB2A6FP07UEHI59JWDMGULKFH7LM87I1D8T4ZGDC4AMMJ7RD1LPQLZQXFEOGCGZZZST5AXUDVHLRLU00CBUUGRF864LU8MM59FHP0ED8JQVL5WTLCRO4FJZMAE7FTJG9UMWPV1PTAIAVIVZZKF9X4RDVORZWEICS0VSRNA0T7ZD5X9U0L55KFWH9FF3R3S1IJ0XA7BFS9NO5AQKRP51Q5TUQUP2FXOXIG6EY52NCQU49HFIXI0NKPZR4C4UXKDGCYQ2PLUXF6QT58RA0QCYDC div -36#PR8ETMPXTAG3YSX5UZS8IJQWS4BS2YXC3NLL03M2CDFCHE7Z9BYXU4CBVGBOOEBBPO4WBQ9P32G1X2YOHUP65QURYOWVV42ZOZZ49GPP9U5XFWE07GGCGBF3SXKIG8JKW9J6R6YPO8SAUHXENVLQXFNKS7WF7J9CQPKIOSSMKUD9Z2TL9DJICQ4AMQYCB3TKV64UCH19JSUGSQ0WRW0CGSMQSOWZOIW86PPZT7J3C1UEBD1JSJK045WLG1PDQBW5OS072I6DEXFWKTLENLRSBV8ZI5ENL7UVZ3FKSH868LEMXFSQS2FF5L27O4NY9DHMRMZLAJO6PATA7DFSVRB4KWXKCDI654DS0LUHQX3OCS921J1KUTDB5VH2MJSC9QYFYOX29OMFXVMU7RU8GHUCVUVQLOBGTVII44F6T0L6WXHW6DIBKQ5R3FYM38HKAY0ZIZFWP4C2FG5CAWKONZPP1IN99GPOIUNIQZ3ZKMDELX2YS7XTL30NTV4OCHFL5NAIFBBRTZBOA1P8HXOM98SAGM3DIRRN7EI9Y6IET3882YUQJKKJGS2RN2GPSTD9DBCBRQK7H. +36#26DPZ2R4BCTO8P2X9YYMV6NOYGZVV8KSXVWU9A5E8B6910IC8D = -36#80SM360D62GI3C3CKR5EK9I2LV2OE7S6SPFWI1KMKYCNB381X4E4XKO46E69H6E958Y72GMGHVD5ZCH0UEAJRKCT1K4L6X49WFIHHWSG11FJDGAD809VOHFCBI3FMWBSCS7A5D9QYGOYOEQ563D4R8Z6V5HEMGRMJDRKZACQJZ56QI0GGN4BQQYB16RG0W8UUZHNRW9FNQN7QSII8UGW4H7927JQOJP11XEMPTZZFHCN734PNTXVQ4HRUQB0DUZOR34PD89WNRRMOAXQCE33JAVB4S3H7RC3PO20DYE0UZLWI2H9QF10OQNSYTM5R9P5S8EQAEV6W8SOBMSNGNNNUSB2UY1L916Y3LM4GUQLV6VRW019T02AYKJ91SWV2GGRUY2VX5T9G4XRYT2A44YS46V5X9S3U5WW55RFMC6QC1ZKDAL9UP4DARNMND08WNT7A1HZD3SFQYBQ28P91A0S141ST5RZIFBUXQWS4RJBLZQ1XMQOWZ8H80PG94Y347U6DGLGMZG5AYADF6R4S87U5OXV5QQTMZTVTCY29BAW2R5SLD2IMT189ODSHJLK1SS5VS4XQQE7YKYZ6NAG9IQR2WOWA2NWLGAO2H2EP7SP8W7MM3Q7TQKZSPJE8PXBCVLJ7I2M10IAHGJQS9IM2KRCG72CV3T870IIL0IUS2IGEPS9NQO78DBX7S5HOOCKQ97OI7N4X36911OLRCFC7YKI div -36#3ON3PMVLXDY62CA492BQ7L86CZO8P9FSA4I70MPJMF9B4YZNH8ZKN43OWIWD83MV63R8C1ZL4CMOTS8V83TIZ6KDVP318VQ4KUXZR39H5OMEZAPVTYEXB6ARIE8WE46NOF8CVBB27MYWQ6ZZKS0K67MH6RX69CHR03YPTK4SU5MIDDBCZ42D11WV8V0CEMLL0D23VMA9LF24U05JDOLO6TI8URBBPIUQ6J1137XUVNCS7ZC19AOFKNUCFMXI9XP3ODKCK3TFI2LE66AS9HPMLFYSUQYCJBV5ZFXM7HXIVGX0RK5ETV9HQTK02ZVE4VR8RK7MXFRXOMEW763PCVUMQL1GI0SZ7H4RR7GD000VZGWL5P832TRT6DC4BA168QTKJGSNSSLTH5LU0P18Q4NLVYQW49SUHNXRBC1HRE320BNF9WBVLR3K4D6ILJXQJUP5J3Q72BW5G5SM17CKNQKR3P7Q9H83F1LFXS9PYFH6M07SCURO88X64R6TZX2IU8HC89SITPGH2EBFYA9XHI5G6WUKTFNUSSC3YIKST6X7YP5U8A5ZWPIMJ8QQUS4OYB8PTNKXS036TD8KUG3SBEOHYKHYVURMJ9T84YQB17YN7GVIMW070163QD2YI9NCE023Y5EVV8WIGETZ6KAUHBX1626U61EXHQ8E5QI. +-36#X7K9QHH4LK7LF13TPAAK8LIUYTUK3D2E44A0MB6PQJ8UNTWNAV22C61OAZCDSHGAHME739F5BV0XEQIHSNDTI02L1HPN2MTET4W91A6RENAB99K = 36#C5KF3S1JTRNUPDMUZKRBM1WTGNZ1M5ZFQ44R4AUWQNCY9RQ8XE1UAYIJOKFH5K * (-36#2QD1ZSX2Z25EDLSZWXNEWYJHOMJTLAPCT2CNK8X8LABAVUB2XJ). +-36#N97S4UZ7V5Y0WUZNHXW4AVAHK3I7V30QWH8XG86HX54PZUCRU = -36#BORFTUZRD3DOHIB07FS3THM2KOTUQT9N82QXVH4R9XWHWNUTGVZ3CDVU48SDB2EZQ4IDB07IWQTD515CGXUX1CK09NFKEVLG49VSE555C3LVEC3EUI9U3Y3ZII9FC1X8ERYKOXT9ZXNIN4IGEQU4O2W8XLJUCZ1TB5UPGNGVWAGJU05NOS8DSJANUQC0M0V5VUBJ9IGTRY5HW6VNT4B5D0ACEWWC4RFDS0G14POJARVJ36F5QZS1113N9F0F8ABS8Z4RNZ4LNQ63L8EH8HT4OHI1DR8EQOBFZ8UDUS0AC66W3OYZCMVE66CKZ2D3HNVBW9D8EN9Q6M19O7SM4PGGFRUVELI9RYWX2KGLK8117EZG2J4EAVAMIAFI5H9DAJM0ZSHSKHWHL083HVMXXEVEND27ZTEU1LLSFY2N93ITI7XWMQSC4R8HIGFGNNAORTKMBKCX4MBUKIXUK5K18RLLUS3484JGRL26YMC4F89F8VRV2WOZ4TFB0XRJU7JJE2HKW9SU4NRPB83A90ZRMA47JT1GQLRF56R4FTT4SO477CBUR1EB9YI0QQSVF6AL81GVKHCKJ76JY3BDD6S2ADW1T3Z7KN6CRNOO33CI830 div 36#I3C1M1CMJ0857PUX79BIAAD79DYP1BPX1MCBAQAVAMGS6R6OVN5G7A1I175KMPXSQ393P00MVY611QKHGE5MIG0KOBT090DBL9XMHCTERQ2FDHKLYOI21SHD4Q0WDQ0FBNW3JQ15TOQ4WEYQ6X961SE4QW98GIIPOEW2NTSRO4L5LPPBNDBR29Q5ATLW1VRIXG3CMBKX619U0KHTE0C0A5U01BUV44D3TVCCW9BJ9EANZVPTOSYHKBEPEP3CO5L3HV2L4D019M2QNXQM1EIGHO9QGI0UOGBM86I2JESIC8NLXPK9HWUG7LYWQPDB1GCRLYGFHSAF1FRAV1YRHCD4FNJ12246F5MQBF4ZQFD1K97BJI401LLWT4XGMFC1FK47L0Z9D07C8VM96WR9DYPWRBIF40CTPTWKEC6MZUZ6L1PZZ0I7JIR081FAD53U3AN4T91BU9SWN42IZS2QX1C0GIVR2HVW675A4IBECG08UDFIBO3I43D9O3JM5U2N3WN7EQCET7K3DPEZT54N868UMH2CYWWLAGUWEXXWJRZPR1NSFN6W8OA4BI. +-36#DUJSN57J8B0JSUEBEUGTAI1IUOESZNWA8Q80Q88Q6X5WN0MEA = 36#XBJKNBRLEUYCFM6DWYG2LU4HK76EKZBGR3Z29V621E8LIK6B0CYQJITMXQ501QSVN6ZGLA9BIVUS5LY45KBNWTG50JFWACHJ7X9XIQCHAEOR48ROW434IVQ312G27JDRYV8F25M57OL86CL4GFWDVYOKN29XLRWR14R3630VVVHATJSS8X4RPJY1R3Q4RQ3JU506ILBL9JLBBQ9UNT9EOHEQLRO9WBU65C2VJSL1Z1FWYJF1Q2GU014OQSMPI3L8Z15XGUASNPPXQXBKW9CKGN47NY1DOBUU6S30JE76Z5NWYCDRBJGN4LFZM6HPPZZ9STO7P42NSVX6Q0IE6C0JTAM90X28VVZW55VB9I6VDSHII5C2NOHD0VGRLDNVLNBVWXJOEOVTQ88ETBHOVDFGLAKS3JOGI8845L6XHQ2Z4 div -36#2EM9E9MKGGVFK1SAB1GRUKHATLN5KEX7PSLD9XWSZY21TX0CZQ6VGY4ENCR4OHB40TN7P070TRQ5QYP4AXL7IMG8BDZOTWF7KLS67UEU4L4WJ822JGN05911X7R071PE5AHSZFOXOFCJ30K04CKAT9R7RRTSW7HIIR1GN5Y1HJ5Y9E9YVA3DVIPNPXR0TRAD14N2BSEHUTMVKB4RROS5L00D8EJB54L0HN8D2EF5P2NCFO9KWIQE9AGE78IV048JCYU3Y5V3YWOG95I43BBLDGI588BRD8XGIRP0GJYKIZM2QPT0AUR3WADPO9UWJR8UT7T2FMZY0D9ZV7VMSFGY3LCPMMARJ56J1J337OYVYOOFF5Y6SXOOS5D54. +-36#13YK826H3PNP3LRA91JPF6JWU8J1NW7X479PT1ZWG7URVSMUUUD162MLL52NIT4SPIU9VB9D614RPN3YZI1U5VV7L4IAX2JYZ99ILLEUBFZF4VWZWMDVJC35EXLQ6P47P3MCQTQZARDNFKRVOEOIFXV6HMKVOJF9OFPJTR8KVFQZX0UY3I2CQRVT0W423H3UJXADS8M2L0USKVTGZEWJX1AXX8OKXR4TA4RT1ONNW8U8YVGOPMUB28XGLO44DLY7QZ2MYPURA = 36#K4KUAPAYOSU9LY9G5EUMNY8ISPWUKBEM98X4XDMA81AE6W431MWO4XQYF11AYDYDFN7T48CUGRXY6UWY0E6OW8W6UWS0BLMUESIPJJVN5SSUTG4CG0W0KUP3SFQ238WXQG9ZAGUH5WM4RFWMSBSQKRQNZABBE8T9L6ZF9CCXB8PDCJJW9G2666JR8C6P7JHH6EC8CICI99BUAWQ86OFGYI47ZM030GZNCBLVW5OO5D5J6O8HAEYJZ7RVQFUUGEHUEV4K89VFJC6OH8E9X18EQ3NV3I8RFGSAPUDMTYULKZFHX7JUHV406K1NYSR4G1CILYT94CJUOMX3TW1T76ID5H2WW6UK46YEYIQZF2J6DT9CH7677LXVLRU1UAKSW1VLZ7JS3GUUELP8DNDIRAXD881TW6TFCADEEGHV5581HUH1UOYJWLGK0S60DST3MF68ZJ64W9Q6803WDXVG73LZ8X5KQCXO2PPBR4WDBW9ZAE6ZMVAL098B08HJNQ9BJ19GWBRHHP3MPDAUYVNRIOMBDN9P576TZH6JDH9MD04TALUIH9C0RFTZ8EZ7B3LP8E36A4DKBW5ZNCLYR8JZLA2BDQKMW2MB4G4SM7W4XJMPQDQV34BU8ZFUVV84UKKQM07EMLTR1C5G955G9PI6JBY5RYK9N0DLB01I2UBDOM04VJM5RC9NZ6VFJU59KA02KWHLNQLBYQPYN0 div -36#I4RTTGSQZKN97H7X7119A12058ROSLILSAIBGTZ0UYY0EUVJIFB7WQGC3N0EVZYBUM4VKWMLAC0WFUTC587RDNEVNOSQUCQJ3UH7M2N799L6IIRTVIXVEVCWG7E89NC113HJPPEMZJLXWVGGB5QQH5TO4NXEOC0ZJAT0NUFD93FXGM4WSK23XT25UP2H34FTV64UFW3XFG4ALA5PLPRTVQAQS74ZWMS58K3NNZ9ES5NQ9F1SKVQORKZJH9OFJ2WJBXK46EMRBI5VGFUUE00TWLX1WOFCAVKDTC39E4QLNBJQ8TQC1KTDU88YDVU2OJU5C18QWB8NY9YAPOU6QU2NX61OXKECZCXRCD6HYTY4NC7SZAZBILMS36WUPBK0J92YP932F9YSRLI8H3NDRE7NHOHGIFYEFMQ3H3XBRAVI0V1JWIGBV5CXO0P9QFCH2G47II. +-36#24JLMIBM787ZND12VVHOKEXCCYUNYG3ZY6ESJYZMLSLGPDCZIN = 36#31MT3TWB62ZRAY3S0YU4NSI4R3JKWQFK1S27K27ZCV5WR7XJOSPQRMOQ0XY1DUYV1B61HIZZG5CU35NCFUZRQ7OSRN6WTRE61ZVIVGRTHUQZZCEIZHTQ6WXV3OEQUGE9C9V5KANJXSU9N5XJ5EO8AZZ2UB2LSHG2OMG5BJTOKHXGRJBG3GZVN0DH5KYRS06YPQ7255K8H5C5KASFM3OWNV3WV0AFU3KL6GFT1K6IUU2GB7FXG9A9325CMPMXRI6MOIGOY06Y2GY6UBS2NDVH19EU62G0R3DFE76ARX10X4YAY6TH2OWUIRMQ716TX4OZF0A8DXSZSEQVX1V5OS62OLU2OXCA8L1OYMVGFAPWSK9WTRMQY0KNNGVU8ANCFG9IRZ7P9N65G69N97V7FANO2DVX64S6LHBBDXX707ZI0XZ3YZX6XORFFKMIIGA77NQU8DD703NH1C5YDVSCX9JXTSZFKM9YYIO5NZC4J320MMDXJRXC5SCWH4LM2F09R0T6Z7W0WD2ZCIQNXLVEGSR3225D5LXFJNO4CUUKF198HIHX83N7XU5HQJJM9O6FAI4ZOWHKDIWBXQTG086ZNBXZKBZZG0PA9GNRB5LTO7NTZPCDSC9YZWF9JBQTRWB38QA6ON93JVUZA21MLJ0F54RBRO6IJ2VLPHAJYWGHEDKHXOZT2NK39D4AYAOZSUENU14W684U4AN9JOM9RH00SUSXUE6E8SNZ744YN4TVDJN3VLISITCUTV7ZMAFSV7UZ30KE53HYM7BPFILR198KDN9QKQMJI2XS8AL2RLIW7X4JLN16581QNP8O5KPCHP5CB1TNOVZSIN65NRY4DYJZUJG3N56E8FJ0LGZZIZV19HNPZVT8F1U1UH0X1AW3ABMJDI5OKVVJLAGURWFITO div -36#1FK8QLUV194DHVB2VXV7T903MY8FCFWXTB8AB5HA4QK7RGF2I72BQQR0Y24HHTY5L1FYCAKNVV84IFC2UA9ICCZXZXOIOX2O143IC480T6PJOV28A0PROCTKVEVTRYX09TBF5GGHMOAN426LSEG9IJ27U2WEKTESWEMJU5GLV1BMIKPAXXMLG1MRT6U5QGYO6H7M4ZY0H3ZBJYNGCQY5VL4GQ900TYS1NV3K53G3L5A04B2RPH14OV9LOPAG2CG2LKOPN98OXXL2SJBVWSS1JUWLSNDSBMK7PDOB9TBQXZI6VR9T7NAUSG06MJ59CKV2KHX411OPLY64OJI94SDFQXRF3W6W0HP88CWMDZ2PDHYQJB5MGTFJSGRC2KKA43UNPRBPLPJ2LNCBXHOSACWGA06JPV03UR6ZJ9C82DHSJI218SL8ZJHMVN0UFSAKYG7UAODXQF0R0LU429MJ2TRZBTK12ZBY6VDFX6Q54UB16MO9ZPNPS35PSV33SCKQV87WG9BCBDTWINFN7IPGU9NE2UH06WQPGLSG2SRRUHA2MC6AS3909N3DOV83NW6Y71BGHCV92FN96CMZXONVUYXAH4MRZPO7VITI29LBMK3JHOTGOV0T5ZHGCRGAE3WN0AQSY72TNMIMLL1RXBOJGR2BDF4V4HIYI6LCBMF4USTNQ0E1XB4RBLM2F7HPCAY5M1B2MM2OCJC8ON9GP57DUDLXVT0ISRUXU9CN4GIIYRIFFRNEGQ5GGEFO71F7V20423SMVXE05HWDVHPVWCOWGNQ2BTIRAC9AFNM7NTH688UFS6ORFQX2DT01DGDO98EIGLQ6SR39EP6XM2E3JS137P3EO4V19UGQC. +-36#1A3MPH0VN69AINXK828ANP2LVNXCCN0L2XJFUU2FUUAHM9Y7P131JBVEL88G6MCWNMY9AE90QG18Z1K9K6I819WRQS2JUH5IEP2IHRQLC45FV1GRT7WP26IAUYV838FEEF62NOXQNBH09AUQ62KZPC0FZ8149ABB3HYBK50E4CT1U1C5VVIF4NHX6GBP205EZIE181YYQ9GT1CPXUB8JWLSGIUCTPNRNQFBKRA7O3UVMEAORAP7D1U1R5OI1GQWM7GZP4XNWSNSIIHKU8ZMA9QXDIME9NQ41HHNXMRD6RW3VEEO90V8MWWWVFIKEPV63GJLSPQI6V412DYMIRL3ZENCN52RCQQ2D5YZMIIQYML2LFVH = -36#3VJTUBE7AENMT1AYT37LMTCBQWHTL79D3SC34IIE3EOAM6OELGK9PXD0IJXKXKUFDRSU8YYRISPOCA1D7JRQ7X7X0O9S72UVB0R44UCT8ABDHSBWCAXX0B9LXVOH8NPG28VJZEZ2S4MRN6Z5RFM32D4PDLWT04PRU0I3U9ZS1XT8H0G4IEKJB4UNG5DO4T99BJG46JLVWGNBH6SJAWMTXSMKDA2CWU2Y2T8GRJP4Z7GIB5K6BFC8YCHJ23Q14K6QQVT888NR6RMDEDCDRDWOASVZCIWDBUGML97BYBWKJ5C3GMMS3HJ7AFU9Q5Y57N8O53O22PTJA1Z48LADXQDCSFUFEUESJGDZ8PMFN29PU6CFJLPKN7AXOGXY153XMHGYTALCL0OOA9RBVUHEDMKYAPKBYYE8DIALBJ7J4CFINDT78VO13H0TV0JJ94LPDZB1YI4ZH10CNRHBM6KC86OK7DCK9DSLXI17D8D0GLND4RSQ35SEEKQLZLG00655HT2MIGA5JDFCGNJZRZYW2J9RLW3RZVH4NZ1B1PMCQ div 36#30Z39RX6IY6O04Q2K9XDGDCBVNBE49Y3FYNGCMKKH46XY6MOZHE1BATEE89W3TED8DUZLQOJ9FTHEJ52NA1UB2F977BYV1DHJNKS2F1WY5293NZJ5583H8DLOMA4487CIUK5AX0RO1ELP2UDCZZJ2XF46I9KE9QGLQIGXAU1HVC184VKQR0JJEA. +36#SGR89XAM8FH2T2RKCH2R4LZSWYBV1ZBWETPVDTB2UQ9AONOP0OTFKM9JFZCVBNJTTLRQNGNGIKG7OLAIGPDEMM0MGB071OU82ZDQVGXXJSH5QL5NQZEEBTTO04ADTJPPGBBVRZCSCO89AJKMDJTF08U5ETDAG42T7XMRI69WCUU9VHR3LQ6NY1C35V2DMI74VVUG95IK6U5FL5PW9PRI741QIYOCCOHFJ9BQ8PBXZWKF1KXM7VCCRP0 = -36#HQ7QGPTG9L8HWCHGLEGPG4QI96QFI02O2GUP5BBITYY9ZYIA97LLYQCUAR8YPH0I47WJ463BJ5QLV77I4F89ML0WXQZ9ER67MAP5ZWNFIUJSJM36P9EPSRPUQ5IE9Y80AEUYA43TPR6K40NRBETFCJ19WXO5XWN8MGH6465O2G6XIMYDEZRIXX0QGTRSD3L8G1D82C * (-36#1LSXP167CJE56FAUYCD9XBLPHBF51TQ7IDADIQ2GRJF41C2R1L). +-36#FUPPP97WM6W34AMK747F3WXWG44ZAEVCA2HGAYD7UHCN9Q5OCKQD033RYL6JQYKFUJZPSQVFFXH71MWXOIUM9S0FEWSC69DZ4H736M3I7A1BOWITRE8CC1OTXRGS01XC97FQY0SCKBI6Z18KM6KFP1I1OYGAK9D838IZ9SN6GGKGTC9N4H2ZFNS436W570PEG36ZEYWJNOEZ0F4GM7MXH8H67GSIMZCG9UWBYRVWSUNRSC0J51ASQ7WI9Y315PJ0L9VE6I8YO0WH8IEFYP8Y5PLE1HKV5ADMO1T36OERQ8CUOCWTE3GNPAMZUWK6VTBE69VGQPOMCBT24ZTW27HAQI91RPYBC9J50BJ811B5KHPF5Y4OTW2KMSFREFB5MPDVMI3488J6GULRBSUQCT2AH4EUWOJHNKRSRZKC31WBLS9WBBLX9ZRRZ6OKR1LG1HJ3SZ7EZOSLWKCBQKEDBFT4IKPZA8C4FA3W7D1IYE7KRP7078RIJWWCVM0HYNL = 36#GKTW6A1NHK688494RYVPHGVMJAEFASX35UBN72JYNH0WUP9MZNEHPG04DMSZJZHFBEU6AZ9P4WKECO0KO8WQZE0ZSKX0ZWAV9M5IJJ4FLQ8P92FHL0YYZFSH7VRO3AIQ4Y7D5 * (-36#YFAFCW3BIQDP5ELGZEKRTSHJ5BH05D0C79G8RDMRFZ15GWIT0VPPNC96O27XJ5A7C4EC7L48RPLGG727B7ERVV0NV618DYR62AO00E9MJ5L7FU4GXIHS6SW447AT60O3JMAOW78Y243C1C1E9KI9VH75EKILZMKBFCEPC3QZKKDYM1ZHPGAAKM4SRUEAI5558A3KEYJP0NYDZ9DLORSJWU1ECGRM6IOPKXD9FE6Y97UVXCYQFALF37XKNMGUQ10QWJM2FG3FSTCZNXXKGR84KUXPD6QSL4S3FRDU81VLNM3GZW88KWSCAD54VVJKB6GPJ52FA1W1W2UVSCQDX5OKJLZM2LE2NKHTZK91RS3RX8TSAX5IRY3YQX). +-36#1C95BFZTCUC3CAJ1I8ZZXB449E4TYPQON01F9YU29WP6XQ8H2XNMV6RALS5XIONTAYXG4O1NEKLZHCOHJVCD4BI91LYYZ92ZOHWQVRKAFFWGJRRT48EDBSESVEH7ZRRJBAB6LS66R9LO8ITW1H6FNAG41U31MNA8F95PEQ6604ACR4NGIYTF3HNURTCOEUP1W0W1IZCS9NMGVX31HYLTHX5UEG7YDOMJSX33TMCR0WITT28B8XMENJS4YR4OZFYNIRBPI36LMRVFKNA4MU8R4R8YBG8EOX648JM8QX8U6670QQ1WBM1MLC8076D0JAOTRTQCO1MZKHCXMX4Q5U0MRBOQPRN4LLTR8ORKO9ONUPE2TOF8EME0IL4ZOYA8YPT3FU9YTWQFLB10F11N02CVN2O6M0LZX23AJ5XFUM9CDW3QEUWZSY6S06GKI28 = -36#GTBL3KZECJ1293HPANZXN726F6Z44I8TZDOIX6VMJHFUUKFTA2VF93KF4KF7F74XOZMYNRUQE4DMIHOEUNG535C1TYRRENMJ5OX9E2VZRGZ1E30FFOW7UEJTFP4FOBB7U3B0YMB0RSWOBMJEGJH6XK32LZ0V3L8LS8BBL9QIL68V4ZFL27DL9KZJYZ2Z8GUVH1UNL2TJD9MXGNOKGMJLO4B8R2IOE6VLMVP9222QP66PQEJGR8F6553SHCI8BK6WP3PEL64BA9K6CZ03DPDN9LJDPECLO1IIKTDCC0MK1PNV718LIZURVLSJYJQXOXWSKQ1S569CCLP9GS1VWWY0OYJJ7XFBF8YN039M27N7SNGCOHBWWL1MLJL7OZWSPVULWAOMSEOBG * 36#2VB90FUDXLNW3JCT89CQN7GPD62OX5D4ZECGKVGA7CTOVD1XTW. +36#17CZX3JRAORLXB30LLBB6JNHJF2MQY29FS2I54WX2778I6OCISSS04HKDVGPTN81YVPROVYB740RO4OZYUEJ2ZIGO0FPFPC23T8MHD029IPZFKFGXH21YMAGS6ECR5 = 36#WF1ZGSBU1HJZUV56P6H16YPEZPJCA6HPLWK8BVDU7LFC31MVBDAD2LDTQ1GY1R2YPQUT5EZFT4TC83AJE1Z9F5NOOENY4KG9XUDU7M8LEV9PW5NGAM03KLVCMDBZRWAZCW5KPBFF67EPJAACUKXI4AQ44OZULAXPOK3VNIHSCSIJJGMVJG4X53BYU3E2XIZDLL8XVQMYTY4W8WA9ECW4SFOVCEI0GI9H0HANX3HJ1T82Y4ON332RRNQD7JCSNKK5W6WN6ZF3ZQISC7JLGDFTHK96LBVCOJWAIYHHTNP1SP2H3AGE2T99VBCVT9RTK3YISKMXVAEJR6SHB3LXZS1FYR7RHBEKAML7ZVUU3EIJK6SDUYELG4CD6VCCXNFRG6WWOYF38WNH44Q2W9NZMKXX31EZTRJNIU9M3VAK05RMIR0DX42MAJO5AH4ELWWYFEPT4YRPQB3DV66AYZ5IZALD5EX3W4WNHTJ2JU5YULCDTF859OGLXPN8MJEQP164NA0S2ZNEWVG3ASWM81SBIMCI6OXT63FOVPZZLQENY802FR2C8EVCMKEZX298NM30CY4B8INC8HIRBOHI9FZNKFLO35CM5YT2YKI5X4LFN7E3WW4SE29KWWAJ53NVHG4NKXZCYJ7BHYUL966Z4FVAZUDF4ESNFPD1Q6T5TWV9F85TX70TO505ZO6OGKLSJYEVUBA6SESGX0EDT8FJ7WXP2JX88DF51Z8ZQI1Q243RAUM4RHDIN7WNOIZWXG2J74LU11A4GGOSOHVMSUZA9VTP1VLGAO982348DXX55VX06AXORP37K99N83GA7DC9BH49WNVTU99P0SILCKF0V79EGXVO0N00EMYRLR0V47MW7NHDG6AO1TLY832SJFL08DTNGVIWBGOS20GGL6OSXHLCRKKAGY48A1VUFF0ZCDOWRYCPKCJXOIHK2RBAQR8KED div 36#QWXM6L4KN5NW0G9IH565VNHZVXPCAWKQOEMFWOBDV2GA9EB4E8IWYVTC1OT6IIIW1Z387H4XX6PB9LC5EACQO83VKAKPPXAMOGETAKT8FBNCKNE8DRWLKCPPKJ7YTFYY48UILE07PI2I5WAYZCXWGD3ODT4PTO3QZ9TSI2YIEBKVP7GVPDLLMGRYEHR6BXN9E1KV7YIXPQ1GBGEPEYPIQLB5RMMMKG85DTI51REH93L09EIL1GT7JJ655E90G6SW3UQDWSEM3JG5G6XL91HYD2VC59B5MZ8H07SK1KMT05JUIDZSLHXORGKSRTKP3YJUY60FP65QC2OK0MGB0W8D916VP5B178LE8X9S07RVCO846Q1D3KAKQP5FHZBAV1G33RCA71S5AVNWSCCN2S0HTGQGU57L4E5B6A27POLL1TCPEF2QTGZ8T8BQM6RQT7ZF20C991U3AUR6RGWYLT8PQYJWOF5QZKXNI1SHTOD6XDDHZLA5FCXS0QTWWT0FUF2BR4UOMZRMSTF07F7F0KUWHHUSZ7I47FAFMOLOH29UY4NCO894KW8KATEM6VK7PZ5S1U7IWK6ZNFV17IA6LWSF9BB1R5GE5280A27O6Y3A1U7ESQ75IBD0QW3LUCUW56H4F2O7BN6ZVZPEZWFM60HLFPHGDFU3JJFQQRP9I6498RUC7PU6J1N65Z9GQWFIC8I2GJVQGUKBSU77OFPDXDHRT4EJMIF2K2LP6BBTKD6T6SE3EEICFPQJHX7HDSCDX9TAGV0GXNHC15Y6VD3NPP5KEFR8I1POB4SGNV55577ZMY65PB842TMXJ2D75YCXH. +-36#Q6VF2IC8XC7GHDVSRX4T8XX65SMDSFVZPWS5OPTO969UMEOTSNOQK7UK7Z5OV2Y550R77LWLYJ3KPJDQO51Z1KDGX65DZZKJE5P1R14XMQG79KNS6NV5ED8DN7I86J50ZQXNNJ1E9YU08QD1ESO61NDBJ0WBS75NM4DHO575T5P22H1FBRL3KG4VL0A90LPD3SPS6YE0I5TAGO7IPRAOMAKVCIBHGOFQFFS4XA3MAPTPTVB6O9BU04GC0X77CIAK4M78Y94803LPUO1QACUF5LACX0Y0QTGFG4JMFVOLXFABNQR6Z9IZQL3VBNEJ5CXXE4GII1RMHK02KUX8KUHZ68CGBVPKRM8V2SBZQNVTM9NRHNG2M40886C3HVRMGZGAFP013WC9SXD83JB5RGPQB5ITOGDBW26H500APC = 36#NT8IFGPIO6C48LAPA0EOHHKTA5IPLCUW2NRA4JXSKKQK9SLNPQX47X3YY72PA6FOJH7MOZCUIR3A4UBOWT1XM6DRJ23FARRHXRE6SZPQ5W4KHXC4Q29U7SREF4R0CGVCYZ1GHBTARWXD1PCGFQPHLU62YSSP1ZZDMDP19N7UZH8RSUSGZHDTMLVL4T7UDPKFPQQGY9RWU6ACABCM68497QB4TCH7JLRYM8IJD5UVN4RB4FBHNQ0BRZFAYUFRHJQW4YBCL4ECJAMZ2CDX85H8B7NP38MZN6KYXM1NM191GLGRIL8UQGL0YPAHO021QWYZEAGGKFFL6L83X2MZWJ0HLII0W31DWRKNPTLSUKMFQOGF5EPGDGGF1ZP85O8YIQQELU7PQFUBEZ9SQG7ESB7I5ZL5CDWYS538AZAA9ZL4U2FDO7DHTFDOPV7Y4GI9JT8B2PW4HOZQ0Q9UXTGY034UIW0 div -36#WQAH39MBES6PWFFK47FP8JLTFBTWQ8GY2G606XH7S2VE0M5K6. +36#7FR8GMXVG28BR5MXPJRUOQF4RKS2WG5M39VFJHNPQ8LN3VS3QF3IPVNN49580474IPHDN4Z739X62V1FQL2UJ86Q9DU6P = 36#6LSS9RYBHU13J8L85XX61D2T6Q1GL9CX5UOBVP65KIDSZRL4147VNAXYMRJ93WXCA2DTZWAL6MX3MA92CISIGZWW34K5KKZ7HZ2CAFFXAYHF5CHINBAU8ODWJY6W0K8SN3J7BF64KXKOM0O3VOHSSJPVMX2GGQHXFPF6QH6696KO9HT3JZ1UA3SR8ADKFRKME9L2BXA7LCVIXMS2THQ9ERW2IURE1UFOEVEZ25I03NZ0SBWX1FS8QAQ6SW1NL div 36#VZ02G7AOT9L2TCUY0BBRFREVNHB2B678Q92RJZ9NELFTXM6LHX4YXZZNPJ39NRGP2MZXHL8O4DDXFA9BV1820UUOWE95J7EXLDJMNFC0S7KHNRWS15L7QIJROA78L0CIKYW5TPJDS0UBJ31M321I2G3JIQ202FRL. +36#GJIR2BQLDUOMCNGY2KKUAJ77JB6IGDD336F7P49O69NFN5LT86YN5AB0Y6QBLN79FLF7W3BMX485JEYSCWWH55IGBDBHNJDZT5DW4GV8SLVTAPZUPCRLTRLM5J86QNPCWKZ052ZHWL4EVA56YUZDP7QQO8VCSOQLNPYNJELS4X1IFZHYX3GH4MHL0Z3V2AG66VNY7CNTKRRLS5PYFWQ0TR7N034A9NFJALF477D0ML9TDHJ2Y2XPEPVZWZ4NOFGD1LZ80GX6BIOEKE5UJY00RZGWE8JGEQQRK8GDGRUMYMDMWFH094DYRMZNI8000RKKG0JVIA4T = 36#3WB5DA4X4GFBSOZYJ6SI1I1VSTGXMY1VH5RMOHL7TY23V058OZ8Z8X7FFTJLYYI7801ZWNC9PN7VQR9XUFX8BI2JD9D3EDXCN1DL1B16PTR2XUAS66BNTXAVBR9LNJC3JQ97R4YLPUPS3QME4GAJ47NB03EP0TCITVU4LXABPN141CPWVNQ4XIA680X5AV7PWN0CCFOCPUZR880KYXW0705Z75TFNDFWDWO4CJ672POX21YSKTXQ4ZFHBK87POAJBA4HPCJ2KA8492FNW9YO8PN0GXH1XFRTV89O74R3FNL225MM94LL29BCZ31WV39MCXAY2DDT50CS9PW6RB9JP7UXCZ5J6R94ZN4O8OBKQ4JRA0RX3E16M735XG0V9LLMO5S2RTKBBKOYZ6M7HGU3N5VX2Y41VBWRS7A8RG8DQ79SDP3WT535W13ZDJ7IGDITTJ633TH9WGLJHOXPWFYU9MJTMXSFIW5RW6R5SQ1WGDKJRUF92FUAZLIXSVQCDNT9XZ9M9EYDYW8H0Z2PHEF2I30450FF3RJ4866FIG9DRSGJBZI6ARSJQMFPRE2VSGEB754BYTEE65BKTO0WQJDKO1R6012V82BTFMZMO69K1J4PHUFRPXUT713B5NEO64WXBE1KYDIWQWFV4LWOKASKFHTAMJUJX7G9WCIJH7ASI2DQMFWHV6AQGET6CFPG3KUP80QFAM024T5OX1E5C0XWURZMKQ6Q1KWWZZ7DK14NUIXZ85WS6DGTPKJDTWFMOJN4RZMQKCVAAPVFKG8GAMY9ALOAFV7BPZTZYBQR51NQL9UKBNPSE8Q7KFR3W7RY0VOW8CKOFAMJLE342ZYKSC59JCEFIHXMV573X8I6 div 36#8HCJKIUYT0HVJ1O38E897ALOJEDYNA824WHNEGS9UPGFPKLQAHUII72MZ7OOUDTTH7LUXB81TV7YSY5E7GSDP8DN0QC02FRMSIBG0SJJ4PN3APTPU7ZYV2SKWXQSSWJT4UX7FFKU5NLAVZVAH7UXPMLQQFGHXVX9MVRFIZV926DS2L3MOCUDFH59AEWR6OFVFYLR4OQZ7TNLS7G8YEAJANUKBNXH2C22FWV7HL3111VGJVB5ZGDOCH8LII9LU0UVSFSZW7CE124CJZX118DAO17742DYRYYP1ZDN27CWLST7CINVMNMBM5T7MIFRHRY09U2W7I5XDK2KIP0L2IHUUR8TII4GSEBRFN7XELTWTKKGS6EEW8YWV1JGAATRI3W60C5SB2WZL4ZHEZ4LMF3DIICM3KL1B8JZMV2V8POONLFRC0WK2U1CAR3W1LTG7G5PPBC17YHHSSGEYHA0SFFWH2Z7K73B3K5OGQX2O5DBXTXG284F1I2DPCMT21P68QOKD6KJEVKEJGLGPMW1BTJ560APFYIU. +36#24ZFHW6RH9OA2TD6G5IGM5XJRWOE5JT4M8IHKX46V4ORO79HAFBSH5R15SHO37IZGV4J088IM7UQZ7SS47YOQYI5SEOXT3UK0GV6KKRC22KMPLBCYZR63Z0GOI5VKPNHZB60SJPKKT7A53G0T4EUPKHY2UVPMBB4ZRXLY5AVS0IGK6JL3LH5IZ7USZ1701252SS19VMYITFHH9SM1QMLC9AUJV58VOQTTVLB130S1GMLVSOUI6PVXKCDFNTPJZ1CT2Q7CV0ZZ6XPG227JSKHKON4XYEO0CLXVHPWGYPT8JP45ZKJZFHC50Q3GPKYUSKNEZEFLH9UTJ3NIKD48VN1V7ZU4E2R9366S4WQHKLIKJM2ICBDB7S2C8VOA3VWV7DDI66VVWSAGZDU8WEW5HN5HH33SYBLIKQG9W3SAB96Y483GUNMEDDIMXFVUPYWLME58G4AIAFMPSFNA0ERT68BUPO63TSGPMI6I8M2YC9H8OUS5GEF7EAQ7JLEIQ8OQ7B6YSLOLIAO1EO8O68KYQ4WT3UZ3UKB9YVUNC3KT1H6DZG89SABDR1WGRGMCEUNVR5X6MPEQLT3HAKZJYUWW34INTUVVYC7PYVPUUZCLWYCCROF5QH09P62L1727LF440HXRZI03LU96HLQN5MC30MMKDCUMS8FYRN0HMTG9S8L0Z47B7IIZXRVYLSGB3R0LYO8484MAOQF2TA0XUGJRH05IU012NNO8B4RH5B5NOGTO79HR6LJPPFES6LE4BZEKK8PPO2DEB3IGKU7KP6D5OBSV4C0UHR4J3YCFEVW9Q01EFMVEO9OQUOH6F7MKWW2A7YVS8RXUAA3Q2V0F4DVYRSMDR6YD0689UMOA3ZCL08BR565PH1XMWY1H3HE9GC35GZEVL03XXKI5R9F4CFO9BYOME33TKQ67727CRNRJZV0LXVLXCVKKL8Z4X8X3GXJ5TXROT1V60JEQN0MB12VV2EN4HW6DJS6AII1JNEU72T1YORMOVBTRG0QQWVED7G3Z7BMGXCJT9 = -36#YVZ60QVXHOGLVXKUBTSFBI5DC7ACQDS43C3TJHIW7SN6GFCBK14IWWVIDLNDHCZYAS71WJVCLD5OKZ5785GAP34BVBRFL0RWK7802LY4C04M24O8JG7PUAOLIDEOZDW6ZV0QKOHXW6UK8PQLE2T3JW3F7QFCJS45DZTLKZMEB4XX2HP40VYBODY52CSY62806GY7QPRE2OF2HM9UYQRO7IB3DSYOQADGXZZY6KW9LNS15U9OQR88GO86M4OXB203QJS3H1YYIB3QUE2KVW2UUR6SG7PMHW5TALIOVZNK5401QVGB9BATRV3NDMCABUMYYTWSCUB99HQO1EJCINN71ZIYJS8LJVBY5J1O2575Q4LHDR1SQBPSHQM3CJUT7CN44XW4MSN757S5QD2OOTQQ4V9JRLN5G5FDAAPICCA1KZHW51U3JZG97ULXN6RBRIOJ6KJDFBLBAUZB91XR35FV54YEXIV1HTR1ERQ8BQMUFS0AYZBQGZG61959M1QFAHF0HASRNSJDYC8FP4GO8S71NSON44MGEWNSMFENYGDNF7O06VCGIVFTBU69FREB3JP4D78HDB7W6VIHPH3E0TBTGLYRDHGIE4E3IM3G5S8SSI0ZD3Z7K899 * (-36#27FQTUU1X9KJ6A6U4I7UE30RDSE1JIHH09W31LL2KT4VUM37PH8DZLBIIL6JZRDYTJM0L31HP5I2JCCYB4ODANN7T4TKQ6D8V1UK9OMGKOSAOM7NKOQ837YQRLZMGV7DPRFZF4XWN62VG1G3SRM75MLI6AIWMM2MLT1ZMRJY6O7KFOYPHO4AWI4XK22YHZ6ESXC0TWDHUD6O2XMPFXSSWQIWMDGM1G4CF9EFYR6AK41FJE0QH9P9DOQUO7VEXXLS7RDMVS3DM0P9TPULL6GZX8KPJN3WCQ29EM762509MGA2772X9TLD6ME2GTNNKCSWLPDC8VXNVVUK73B0TWN8EME0KVG5HPSNS835PGKM4MAVZFWUE0VUGGC1U2LC5S4FP8FNJ4WDBPCOE9MZY9). +-36#FTSD6J4ULQJ74VZ43NCK24X3A4R41IF97FTSO5CBC8YQKZ02R3VXL9TMTG9XNTSM2JD7D639WISC004Y0V98WL88X0WYAPGORZCZZESCZ0ZNV5QWCJWULKIWE4CJUAMC4H4OKSQUVBAX23RB61V0NWFKWUX78RW3TMQWRDZOIHR8OYJHDSGH4BIFF9JL0PB8J1QI9QIWY07AV9R24NFDZT2I7ZLOYN6SL8Y9K38CZ16TEKQL3QDIWGDQ754FP7EWPNRQNUQNIUEMU8ASOSKET1TDHEW10M7GWM640HXM7KXG2YE85D0DIL8KXFOHP1Q8KUUXS5MX0KFI2QO2H329M6QH1Y145KDW8YSX9C2W4R02YSJJX4OGVQZJA8F32GOA97PA6FGOFKHC336DDZ3GGIU4L53NOYI2NDQWM9ITCZ9UUSM1ZBAQZRMLTXMMJO7RAG4PPN24OD1XDS4ND6005PWF2JPVF0HLK84JO9X6LDUAW2FZGZP1DKNYPCEWZ2NOIN3ENRX9XN8SDFYL8HCD3OPDKBOW7S5JGPP5LJCXTTZPXGYXMKLXALHCFZE4CGB1GHGLBTWWLC220 = -36#B7L5442M2NNA85V1B9QA9XWICQFDIS6GQFT6IRA0NL055PIFNHVRD6WBQ8O3LZ6M2IGD6A1CH6B0ZEOBX608O1R1DYK2WRBFLE5JCZC0I895X7U3EYSPE55K66DHOPFM80HD41STPCL49OA0UF5AKHPXAEPTTK63LTB99OQF8KAVRJPADSJ9VP9YR57IG3VLJSM1PMLYRMPY6PPTB9BV35F2PZ09LZ88NVPXDZIXBJVZQHSK0OFHSCHUACHXLEQD3G76O4M6DZ7JMTAJZ1P732MDPGPZA69FDRF55VAYGR57QFKZ8LGSLRXL473PENI1QMOUPFKC2FE1J2R5YUAEGZJIFMA5C96JWI6IYP4NVZ167LEHCTH75WRT21UJWW3APN2GJDBRXTEL03KWIMZ6T1NWL79KJZJPUQQ0QIH5JNY551ARSCYB8P1UTPPEB20GD6VB0I7CCNH4XVTSE3S1C2ZZMCQIXQPY0 * 36#1ETPC4S0EV68N0VMHANGG43R2DD0EF4MB6SWBBSVERZJ2REYSQZPVGVYOMYZFVV5TZIOOYFWYBOQA7UF26ZZQBUZCB70HXKETKW7IHS6KGELZ. +36#SCD6TV7853HBWYXSMKE1ZIKWFBNPE4D0L6B4X6H8499MA1YQHIBF8E8U60BBL9JPSXZNGFMQXTDTEB1SRTLPXQ24EUDIV06M17CRILQG3UG0HA1ONFG3RS6P42QNXJUPSAKGFJ1KJMEYNYC3X5UXC6PO8M4ZNGXVGAGA5RW1YZY7CAE0VN6UAN01DQU1ZII6L73T7EU7Z5ZG7WJ2M96ZJGK9CBX1T3UX6GLXWG6U4I1IOTCCCXGCK44G874XWHBZQ3VJEKJ94KZITYTXKAO5ZJ3BLKOTRNWUZDXROSRGZCNQQBNY2L7DSQAJPGDBAY9V7DKO9WS0MSDX7SYMW5XQD8UUBHRCJQUFZ7JA0BLCBQCGDAFHTIZQA08PTMZIDCPOXI3ZGVZXC9FUTMURP9I4J325X0Y23LTD7F99IU4L9KDFAXJQDSJTKS05NU9VOW3P49DDJ3G4WYZMG5PFGJZSU31TWLFDRICWZH0ZF5LCAFBJGTTXF2SNN708 = 36#U6Q81JHVB5B83CT71GTJ8OC99HIDC6TM8M7N5I5L8J6LAB3ZNGAXRGY3VUMKQDWITYKEA6QF2718THJXPUXE66V3CBTPMSNB0NOUJOX89YK7M5ET4Z7F79S9DHU7A67E0RXXD8X7Y7GYY85C9Y92E5D8YC4C6NG647P6O6LKI5H4ENXGTOC06GSTCXGQ5YIQZ85Z0ZR2LT9ATF5AHWN4UNWGM24QW59AGC0NHHE8MLXRGOKGTEQ0VU2CQ6DN0Z7HT60LIZNERR09M9W4HDJP0ILZTQC8LGASUQF112OF523NOABGWKG706YHPZ1FR3T0JEU4H00WLRW5POY0DS1VJLI5X2EZFJC4KW63CMUZRBFT3SUZHSCVJKP37WXC3U9TB06ZEREOW9I8S8R229PM6ZOE4U7ZBIJ12CCWTGYVCQK7MYEZ0NM5OCQ8W5NROLSEDEKTHKDMXUZ4WTLQIYV9C1NC8ZFID1TMC4VS476J7YM6AZAQJIXAM76SQFYERH4D1UWJ3IHT299PAOTVRFH49DJBKMYHUK6OS4YYX1EOG div 36#12CADZ2FYPN3FI4FMLBJDQE1JJ5ISY3VQCGXGO28ZR9LGD5932. +36#BN9HFKZA5J1PANF89RK3LFYRF1WDQCTP7L3UX9MHPQ95F0Q0815LWMNMPF3SPUXH9CFC4U6YS25JB1553K0TP35XDXGDXVPIJU04QGZX1QUN95S7G9KNCUDPOJ4OGGPQQCCSBXZJS5IG5XG0IJQTI42VA97JYOCP8PBKQMLNBWGM7USYUK74FMVI51TNY2MABT4I8CVWWS0UAH91KXZ8WYX3FJBVIMMVXAKKWW6DH7HZQYSGYR70Z649TJJ0O27LLRNAB5E8TJB4TJ7EZWFGJ9EMAJCC7B47J1IP1FPJA883PVA2LSJXJNLOEDWZ4 = -36#3O7CR73R4PAXUB0DV58NRJDBA1HGIS0LXOHCG4OQQFE6D4MN85LNMDGICJO8P4CPWOI4P7BJANESAU3GMMFWOH6J2148HOZXWK7TIYY788U4JP002AZ1YOL1IAF1IOQQ9D0MI0NOXO7M040Z9LZAZ1967XT8YO5XF6S3HP2ZFJI9HO571LODG2TJDRSWCH5S2Y9XGDQXIAD20FWZK589I6ZP4AJYUDHAFBY7RX2MHUFV21QZA9MHRLXPS4OUO88OKDQUAZ8VF1IW * (-36#3661L02ZZEGTP95ZT236M04LZFU8T5CRNAU3HNEWDJAGV7LYOQ). +-36#4TK0RW0351B99NIJPB7FQIXU7NFQ1DOPEDZGV8FXNLB420JZMDDQM80CKGOBB1W3D5JSLIU1KHOCKNDHFLSJ4E859WACL0KKASBTO152RP3ZNN4AQKIWWZ7TVZ5X = -36#3244L38D9GSL35B61LRSTVA9LHF634BT7ZP36DS7OH7LLU8HASF5CR1ZQ8O2L31MHBMMZUU22QYB3HXKOIENPB0YNP0D2BKD8WTGMDNLIZJ7BXYI7R261TIFR026VKZ6382SBEHIW8BNWDAWJBHFP472FOAWY2AKBL7MP3JM9B9UR div 36#MU9F82GVL3MQ2OH8MNST8F4GCNSE0EB5TE2JLP1EYD5K3O37R. +-36#A8GU9CJM5I615GG4TU58LMI8I1G2K4SEMELZNIIHERSNG8D6JE9E5J100L3HWQUZNNOEI5JIMSABGAKAZP73HN55BINNTY8CGYABYDDR0TMXZCFB84S83AF6D60Q7VTV1JG1WBF3YDW64Z38K68N5Z2PHSSH72GLUS5FDN5GB346ZVDU0X222HFT13Y0D6K1TH81V8KQDIJU4MW3F2ABLGQVUH59HDY2ZXY98APF8Z3BVV4QHY9MU3Y3NGVRSGNIYYS8QBF1Q8E824LOEL9PCRGRGSI1HZG207NRX507OCHCA7EPBGOH8PQHRRQLLUP580FBH93Z1EUSWX3R7DGVGRKW267OH84YOPZ15OUSG2TNHM34V6YNBGZZF04HB99JLUM7EA2VU1Z764P5IARADE1VNN2W3KJJRFK377WPQ8P0PT8G6SOFVLLAP4BF2Z04TAGTIP5QHQ9K6FJFW4JXQKN7A7AO86MZLCFM71UIOJU5C4ICE2PABB1ZFCPY0OVSPQ6PD8V30LFXGDZ6J85PMSETBPF4BA84UHFD997IE30CVE92TQFWMNPBER2GFIJ4SQRVRMK9E25L3QC0EOY5I4JO5RP6S90KDBPLCM9S49U3Z9JVXC5RH6D41NYE8QH2F2EMJF62L1PE2FMMUWRORKK60PFYB7V1M9CD7OS2J4G1OR7AZGFXXI3TJKOGZOVE5OSAZ4FYBN9B3FVGIF6YRWKPNQRRPD6020NGO0EPJ4PEBBUM1NTJ2VGIF0N2CALZJWJ9N9RWD58HHQ0HO50L7A1VQLCA9CBPZAJYS4FWJ8RYNAKFVLT1QD1DBI9I3059IIL3DY7UXCH9HHJ0T96OBKNN7WOJUTQN2WVNS3AFKDSM4OJW0J64HC4U7VRBH02WJ6L0TOBKI0Y7RVV85EA87JSB5IQ6PP6SR3IDL3E3Q0KGP1IIU6CV0AV26FKJPL4AO1ZDE746MHW7G90401MXG805VRTURWGYFWYYEJC7EFCF9JKFOI3Y1TON9HP32324TOMQDZOGQFUUUYUJMPZKP1I9UBBRX2SR0X401DHP99UW0EY053P5MIA0PTRA9G5PSV6Y6LYYNCMC354QL3RNBC497I8ESZZGVD10FEZEK9WQEK6UMH6SACZYOP26BH358PSHRVGT3EVFH4C80EVCSWUBMQA87AC83XZPYW6J9BTP76SZEZC7O3OK9K5JQXL5IN65RYSH1QLVMQSM07B4G9DSRCC3ZE0JX28IW3ZW = -36#E4E98KOUHMBIVVYFMMNTV64XKKQQ4VVHQ3S75AY21IAVJM7A8AA2D39RZ0IQZAFXN7AVJCKPPSMCMU8INWM93J83GEEFBTAGK2ENAK2UIMKELAV3E8UTMKVVU0WFKA5XQD0P1E3QK1G2WXSDEH6HB0RUEN8BMNZ5NKUOXUTHOOWMBB6PNV74OQK3CS7PCSXKR2IW1BP250B3QYS3FLIRHX6N9DREGJO2F94HAGYGYGJQ68Y6ORVHZNTE2K3FTRWIZNRIHDC6OG4JREL7CKEDBXXHK2K1LSQCENH4WN15QMYQRAQD08Q1PWKUKTDAH5SC5M07S9YGRCTPAT4KQPYKBHUVVA3AEK7JT95DCAH12GWIBMLBP1KQ8ARSN0UUI9XPZFS64MXF57CVGS68H62KBN471PYC8S5RTF915BBYN0R3W79K7DHTZS1KSQFK4EGLXTLQXCW4VMPGKO513URF3RZHXA0463T6O9EA2TCRORJIDTIZE1UZW58RDJW9DTSNR1PO4M * 36#Q3ANEBH9PTJLP2BCMAP1ZO65D082X81O4H7P5BASKE3T55X84X1959RITWPRQGF6825KG28E5AXQSQK2VIE10GDBXVZRNUTY2L3A9QYW86PFOZDRXU3ZX0WUAG3N54XCNUGZWGZQ6BKU9BTCF2O89RF31D76OS695XIQ7NS9DZCH0WJJM8JRBNDI1SPLF4UEG3T8L529D6EE3HX32OUDCBAE54XB31GLVWCDMVPSOZYRG9QNKMEZ2CE416LBXODWXQH6IBKGLKX34AYH1IS1B7KMJ0JEPDZJWNIK17JKFMW146C4WIQXEIH7QBM375MJ6V0BVZZQCS25YMJPKSFHOE7BDWWR2L2S87TKXV9BTLQLUH5Z0Z74T8L5ISSH3C4OVPGEOM10OQD5W25V7KGVEIAWIPLYFC4KE72ZRQ681H03G60DTSMZ9N913XRU9M62D8GIM43FLQR73ZYGCPC45M591OZG1T06KN504RQIJN0XJCS4T9AQHELJV782DG437TFJQ19W18RW0KU7NWUKRIPBFVUTNO9AGUN712D5DJ84GY4448QYW66V3CD6006HZK35E6E4F2JZVADUAA2YOD6HLI5IRCO2JDR3RZ3I55AXVJP6WUQFQUZQGU9O53DWJA8U4AMWEZWR2OC3T8YE47C55BRBW1L8YYBT0KPGY6PZ4RO55CZDHE125D33J7POVGRKLTLRNG0P3OSWXZLBDMUCZLFG5N3JOQ. +-36#NDZHZOZLIBZ7LPVGKDRTRKLR7R41J9XBZNGCN78I5PMBZF4NS4M9NC357JBLNDLMTXYPYPCCFO3ZFYJ3WI02BXSYL7ZJN1FIEG0GSZIJISM6Z4F64P9CS5KVEZ1P9GCPBB8S9MXI9UOLUK9UTAK3CH4K4I282P6P9P6T2L98S34H58XNWHDGZNK2DH0IWWPDYZN1IDFHU62YHA2366WGY7P5CVRRBIZR1POZNDPMPOJDVP69EGOZKCWPAXLA23R7UQOT8315OZT38EW247Z3O8OXS98547KIAIXLRO1KZZ593PXNO5CZFMV6WNSOKOP033GAS55ANVCC4MSMZEMODWHD5SK1Z7GVBYQJ02IY8IY8YTSIZMBO1PWDN12FNWEPOXQZD51UK84C407AND64VI4R8DLNOHAXUM1ED69VZVDXBAOQQ6L95D8MTX13NSH6QSWJGEM6BCI2Y9J3 = -36#JTMKPONNWUN1TYVYGX341CQA7FYDRRQHZMCI22NUR0Z33LKCBDFZ9KPGM9UWGJE968VDXND1XCMQZA98YVFFJA5FGU4S37QX1UNENULQQM7CN5IDVHNVOA8VR5P07XVFOVY2VWB37FDKSJ73IKPILDA7X3IZ2DA2PRKE6X023XJ8WLLUZQZ7X1R8AP2KENQR8L4ZL3JEU5Z76NPTBNOVCAWVI32JX0F7TK2PLVF4TZ2OYOJEJDJ28LJIBTJDOOCCQ11VHXD0860F1PHSC0OFMM03M5ZMZFNTCXYS73M1ZVYATJ97SFJEEGV0H80KFR1N9MU2SPM1HNY4M4WXDQQHBAZOTABD8OZH7JLOJPNDOSUGCISCMOBSV9VND1N24QE091K71H4M23VR61Y9ZGIOX8RPBTCYITJOQVIA2VH1OJVMM80PKNZE3K997JZ55JFRCZY8BHPZWTPG9HRRGU442VDE2GKCXV0J64A80SDPBWCOCXY5ZY1TYQF37T2W3ZZEL div 36#UIFE2MY1J1QDB4VH7MHSHJWJDQPQWYGX0AIO9UENTR57PMY4J. +36#15NGRW65YUK2B2SFB68F0UH1E90984COH1077R23QUNWDFCZOX2PQ5EVQPEHJ03TB9HIMHGMSRFZXPKWT1FSS0TZF8VP687GG5FR1OPVIU4IJZ6T37A7GON94ICJFHS3SNWGBH6D8JRWFCCE3MT1ZZJ7K5R5LG2LWFS6U9CMBCMWUQZOOI7QHBZ0AML65YZVVNCLL9V1H4OGUKZCYQF86H2M7XQX7GIAOF71R6UD1G4MHR9OK08FGRICJ8JW7HQYOJWPU2GD45VP2F0MEUTDPV8EI8QRG4Y0ZL3X5KWKR3MWR67UAJ71T17CMCXYWKSM1JPYVADXHVOK7XV4F2QAVQZ3GQVDDNDDSTN3TVFQQD2DUDT3V8U5PDOZDR4GR0C2UAQ54AB2G8XD36698DJJOYI704TMUC21JQZH4ZUT9UBF7F7PIKCGVY57TEE = 36#4VLO9YVDX3CGRTDAF7SK06VA25S3AMCEQ9BA9T4J6NUCJHEYEH4DKOBXO5MT2QT65JHROWNU71W08ZUEDWHFX28OA9ESVZ52A9SSYCFZVRA9PGGPXG7ND1Y27GKWB2KWVJHGS9MGXLFYPTJCN4M2YMLQAUYLXP4HLEP1FTTA4HLC2KS28EEHT7LMB5RSZZEUGFEYKJJ1HFJ6FQ9H75PM6P3DFETMMTPTGD6VULVHMRNOYQ74ANQM2ZRVACUY1HYOSX0W97W76L8LCB414X44HIYENS5HZJE47NH77ZPHH83S1TW7A56493N12V7H9QWKZ6NXFENF2UJ9JLLHXXDWCYLA5RM1PWNWEYYHLKO492FXN44UKN1IRI7LKXU424YVR5C39D3PSONHYR4Y0MNWDZ0KFIDSIIOGLKZ23QS2IKEH3OD0O8RXULQIQAZBP7H8OU1H8RYFP01UH4CT9EM1JABQYXXNL1DQCZX1VK52JBUJ0QFBJEB5C div 36#47RVDZIL4LNM54YATU6FFM5VL5O1RF2KQUQ584FO9SAV05FEFU9VDXUP84O. +-36#2RPQF70LQOGQHPNMBYNBZTYRPF7HWVP6CNT021RPU0H1SO64AI2AU3FJIAHDS1FQUN32KZII63ZT81OJNOZTMO3HJ1NBH6V0ZA = 36#6KXTUOSRQ0YVLY44081XLU2IY7U9Y5BY2OODKLCPTBI4HQMMN1YJ85VHEE1UIK3FDRED7PYG2Y2HE2AYZPZA22XF9EEJDPYQ0AVJNTPVV52GLPB8FCUNQV159UEJG2QKHIICIKUYWU7LK8NRM0K div -36#2DJIQCSAQVBAN0Q40NLQ4XJKQ7BYCY736NPC7HO50V8MR67AB2. +36#1PFB2ABT5XC376ZH9KJMV3O5MDXA86RKVNS1A12LQ019XLJ5WBHWKDU0PE581SUD09KDF19KMH1QEFY30K1W4XSH04PMTE770QH5WG9ZB2O1RO801FHUNQ03UL7XQ61VBGCAGK7MGY0WTBG7WFEB74Q7ZUX15DN3AHACTQ4DPKFVUHCOIEV3SY9MN1SDON79WGJVJB3GNNUVO4Y386OJ0ZVCZMXK2TODMJX4EW4NI0U77GQ1EGAID5M8EDXSR0CCAMENXV4LR2GS2LJY1WNXVJJMRCXDYQKDJSYVJLFB7BWBQ6ZGH3PQX1OTDW0S5HVL3WMLXBQ58CC7X3Q72R0E07PUY1OES4E83DJIS2X9VZJ4M9GD5YVXZ5DH6ZS4Y1FF1B18N3QQ1GYRDR0U2V7ZGVDB52GD5RXL6FMEBQI245QPC5PBC0U81MKR5TDWNIQ5YG7XTLKVAIEIEKJFWNFY3O3Q8QAJO6GI7TS5NK9ALMUPCFWQRIXUGKG7QUR8FLWN2LQXFHIARJPNL9RXECP3SCPLN9OGVEDPU7WGSUGTFC42NWVY0JV8MDY2G1JZ571YC7ATDACNPZHOH1WUIGFXNN6FOGYQHHSLFFUYN1IESLAKESSHIJVLUL0XJ7LZMD4D5BTNZSAFDR5W49O06U4KDDNC7Z7VX4YLSE1330YTRL9Z38YOT6AQ953AINTE4V7SU5O8PGX2094LJK0VCVTQBF9G9ZXA9RJTDPVV84A7PLNAP2AR4EY0BETUY5ZMTEP146Q4OU1QIKERQL0BV7OI4OSI2XJG01504Y7UPU8AUPXPOR6C3L5XNOQT2U0UMI4990MFYZ08FXENT6H18898Z643XPSX1LCFHY3T75FEYX60T6X93ZGSYTBVPP0IVP3R4UA3AFXYIGHB2GIZ9SKBEKDRKE35K46MI0A6UECZ3AYOMVKA748ISCMPJGRONDCDOC3RLLEJFB463K68HGX457QQ7YFD7Z1UCWK94188GZHYYUQJMJC1G92T4WQ24YSRKARVI2P2XJVE5DI6LKOJYFWD3AX453WRPAGZI2G3NH9O9ZWXTIXN10A6NZOARV8N8YWX7ZLNLWMFMJSQANT = 36#53NOJSMAK3UD3PVLJKPK9RK2DBDBOIUDSALOFM45JUA8M0HTCKOSQHCPSR2A1QYTDJ9123UWOLIR3LK28UWVLV90M7YZVJDML7MR4C8ALUAH15FOC7G21EB1NHG3PGTLW4H513I1GAADCHAI605TSGJ0EDIGMLTSBY0CBXOV39V03HSY2QC0QQMON5RCPJW0OHPAMWAQB9EFKNPASEGKZ7MJ9X98AN4Y68FG4VTBXM0EVNXONFO1QMA5ELVLJX1N1BEN7K7IJKHRDCBXMGFJ3Z30727Q3ZOYD9QFG1M47EMA9QO1B363FAZ9T4YSTCKRQ3VYKUL38ZD8XD5ANO8U0JUCFRRLXZY4TYNMBW36Y3MOSSFRKVDSUK4ANLKPVI7K1ORG9A2ME9FPIXLT970KYO6RZXADZU5TN2G6PDMDBNCC4S0O25E1FY050GSTL78HZTYJRC6BB8N2FVOGKYE0JLYX6X6R06VCPUNE9NYPWWA2KZVNK8E9XDLE48CWI6PQNLSMVX5VRPAO3Y2L4RNYVFU6D4VWD8KGL4SEV9ZAJNBW63H9VEF7990047R0EVJ4L5YQBQJWOZ958MSPVEQDL7G31MXHMNGGKQWR118JYXQWIQOGHNZ6UHPPEBNYZ4Q9LCNGOAFGMX5FGEBDTT7X5HJTN9GJNZ23CFS51T3IWWZM6EYVH0M65CYRMNAOYH8MJBQDUGR5ZQMI36H080M1206KBBEJVY3D6XGFI0XTU5ORAOI7FR2V0V214ZOPEOBH9W6TRVN1DZATZL803LRF9OG2AFLQBXPIJV74ZXBJ7O6TY2EVZTV4D3K77WQ88BCEWQYIWZ5VMAZIWE82PMWOCSSRV1WL8FSVS1V3XG9O1V9NCGLKGX5UX4Q3AY31716CCUXXYH01LHEDLZTTWM61YU6WPZ06IRBSZ1CGFN6OAFA4UXH72GPK5T5NUJ7FRONZYTYQ2NZWN6BMOJGZ3AWLSX9FY4CRZQBRZ5W9RQUDOQWYCMZB8LNJ683FUFP8XCQMHIEPNQCDTWQCNGEBQJUAQMOJRWGBHT4KUGXMXF6UIR00CIC0Y6ITWHX2MZ1GCQHRLIFGTEY9JKXKBYX1R185P39TOSFK1SGMINUVSX084WCH7ZA20Z36MMC5WF707R59PDQ05MKDT9CKZSHAQ8CS2ESDHR52T9YA0CRHTF5H1VKA7529926NJ2ZCU9SCOMR1RZ83UF3KBM69OYVAGWK81185JWBECB1RP5NG19V472LLOCS2ZIYG4VWY06E12OPZOI301YK77C8RSTMR911XVX6LMKLBPQJTW94I92EIA6UD9AOHMX59P8NJ46G2EL7MYG43R6Z0VL div 36#2ZMYRF00XASAKTPHH3IHIAHK3TC5N04FS1WKDFJZ0TFZKELZX55U5JJ8EQ7EX2X2WF7V4QY2YHHHWDMEGMLKUACW7EKE0O8W6HY9R8CIOJ3BXVN4YCOSMUJ3HITU6XIAJ0WXARV63AI5AFRIPYZWZAQJ7NLVFTTIOIO3FR57OR9MG903521CJ5SKPA22UCMMX7JFCU63OPVTF6AUD6IX80KDG8QV4QOW2DNMFXBEN89R2CFJXYM4E7AX. +36#DNZ83FCYWG4QU7XY2EDF1GODI4CQFOSH5WK378RJM18UBNWH6R6ES86E8NIG8OZSAZ78J1GZZOXHJTTLZD2YNUEGGNZBKAC9EFPB86ILP8076HVSVV1BV2VJLMMWVCO1VEY1J30IZX7AHMCNHCXWO03DNKY0IYOYVF4QF06QQWTQU6EQKGN60HQRRUZFGRVZDZ8URHGOS3VHGJS53F07ID3W8DPNGJTF3PN6SMGDV633WX3XTC3LJC74MHE9KBJVTLB11FTP8XFL1DRKG34CO3UWNZQUJ15V87U8D30OY4P06GUQ42Y7NYU4LK8BXJJBO7TZOYR0SB24T4AKW0PK88MTANWHFC7EA75Q76CI2ACUFVGP3JH4BQCBMOQIEKR4D968WQL7PTFHFVE589OQPSO6ZXG3W14A2BS7VMQ1IHUDWETGG0EQ6YQ5Q6FHKB070NPNFWU6YXO2XF4H9ZHZ6DHHNL05Y5G9G22LDPP84HZF3MUQSL2WXRPEPC3SJH9V0MSS0DKVKMEBOLC38DQLWD40Y3RSE5XUFLNQGTL11WGOIYO3DNO11KAX1MKY5YZORV7POYNM5EW9ASPO8ZOV1YPMDGI2PPJFLM5672XTBXOMCRXCJMK0UG6SBINXPLAAE36YE7P6CX82JOO7235WL95VOQ4BWGQ2R4JXOMU65IY2CFQYJYAO6RC9GF1IEQKKDUKIOW4IADYXFH1FJWWOOPUC9LWOJ5HVADE9P4UWCY513TXSF02Y7U04RDKROY5QFNPEVYY4JVI224YLQO45SCUI8YB3Q1QM035W4SVZS8INR4DZA100PZJKWRD1VXLLENKUGINWFPTTHL2ERYE9H1TJB2PMRCLY8ERP9NZ4F5HUKXK78HERTXEQ7ZGISY9ADW7OWFRQUQM7MCEBWQLWOV3527VWNC7KQMODKPJ3GA01TXB8PKJQGVJGP04YD0U6KYSEHS4U5TIZ0NFYZNWSZWFV51GICR8FW8FYN5WX6HM6QTYN465655QZESPBVDEANP7ON6ENTD9KM8T2FBX0U3ZAGV8S2NMX6B5VFJ724CL6HP6X20ZGDMF4MC8171OZX6BLD77CRUWGIW3QBX77MRGLHR433N4GZ40V3ZH3VAP700DU5T2RGRO1D58D24YEODOUUVMBG7UR3FDBXYPNU4CIM6Z6EGDB5VZJN8252WGH54DKGR2XPQ8930T11XJ3V0SDFYLIQ77ZBOIFO5JXNMJ0KGWEDNF4ONEO = 36#1ZL46JG7BVLV3F0N2TIK3NH8GEGT7QG9ZSOL6UNEST01L6GJPWV8KBDEEH46LCZCOPHQXVOMZ1SNDJ98Y801RRD3T5T69Z0FJOZA4GVWAJBA6NB7I4DG0IG2BCWZPISCLYEKRINKR309FZG9NPQ7VKYAEHDL9AYHJHUPY4KLG2H6RDX3097MBULMJ5FR0Z7K26TQF1CQ3RGBN1QIDA62D2WLQI0TSO9SLJVPNBV9JK5OTTXETQ7PDXC2JP53B0ZAV7A5R6888LM024U3C6OB0LW2IK8KTA0X5GF6RHP3KXINTYXF48TKBTR2QPU571GSZGU6H9LAUL0AXB1K6JPWARHN521LEJR23CP31JY7CZ56RB92ASHQZD1MR0QTE6AFO5KH2RJMVI10H3YYP1IQNES2AQOYZKZ4VZGPRXVCPB7HWTYTNHP4TNJI1ZZU35I65D4F5AOC0WTE1NOBZ34VQRZT11ZVNAQY8K8QES5YJ42AI2520UETVDE38AXI3SGU5BKHMGB3RCMGUFOWOYN8TCVPYRPGVNONDPZQ0WL5BCQRALFKCLO17V9DU9J0GFDB0LJU9BNYN8LUCCHZ7GPR2M940LCIQE4X44S4Y7O7Y12EIVF0IEXQT6ZODEY42NNRJ61QZ2I5OK5OAU0TZ379BSN2SHY88F1FV6IESLE7UZODZ8NQ5KSJ2J0FCVH5XO0B2EXR6WCJ8B8K8HT3JIGZZAUIMV4TIRNZDCQE0SQTJIARGDGBKM4L9KUY98WDX7FLLG7CANKN6FF0UEE4YKLNDZSW4WM6VSSEU4702JE3SY7MSQNWPYZX4GJVE8AH35IHYP2WF0AJFCCPRXL1GLDJ6CNBTS941X4D04OWQAVDV0BU3NZMDBM64DDG2EHHFRNOQNIH6PNZVCJKMANPFPKC0K5UN4B5WFQCUREF2EI22S8JL5DATIN7TRQNVL0OYMVCAJ73WDW4WPSBRJMBBUP95VHGIR1IMSAKQM2WZ2OHYAQYNPBQV6X4B7D1X3TBXQP8PL0HDKWI76B5HC8MF7L3DY3JAL8PAZAD5EGSMOAW9HR4W8BYL7WG * 36#6VER93HV27CO6M5Q8VSXQBU538P25IF8GLE59QFYBR65G1GFWFCXYNE15P9TB6HTAWL3U4I0DNMUHZT0OX54V9TRO4TME3XQQPWIZ2G561ET55JE4SV1VTG719LCNPRZNE7MG553UH2P8WKGFQQ4XFANCT9GFY7HWI540ZRPN4LWU3W96. +36#3JA60KTUQQ4IP6DCB3S5NIZCJR8ZX1EUUJE9TV3GKUXYEKKLRKG0IDL7E4CB9713S6OJ2C3KRSDYJG593R8IWZJP3PGRQF8SS1EXYU55XWX29Z5FVEFDAT1JG9EYH56JPZQ3HYDLUUY53SH8EWUDKN7ZERG9R27B3EHZ2QZZ3V7UAKHHUCNGGWVGT71F01LZH9E00WLGZ4LGZ1PY0V6NBCPDBRHYBFXMLZA6536CUKULOO9DFBM31ZZVUINGY6ABFT9V6GNB2BWNVIZUQMR0E08RXFPV1IT59W42K2WFY9X1KL56L0TI749S3XP2E1GJC2B54SMY31HPKM7XC3H2F2548LL0XG = 36#4FLMOJZ3EKDOSMEQS3FD8RPT1GYMA1ZNLUK2A32KZR9JBAAZUDWSFTQG8MPAU7353RJTPYE0QOJQ45QK3W6MPM7S0G7GKJ5ZDINNEG2ZNOZXQN3LIOMEEXURCS64X4JZOTNGQY29C5Z1XMOUCNPVJRD8Y565SB5VXVAUM5YI8NSRS18IK96WS23GKGAUJVRXNIDTIMNW67GMCD70HSSGK2V0ZA6RL75HZNHE5HMB9ISVIGD5W1S22EAKIOXB7LT9KS309O2I6X27KEKFO0DUFZFB9F32QR45LAEFSW53DM58QP4EDJYZCIO9JEQX4Q5D1YN67EEKM36F4J95QY5YI6H9MQ249UU71FKXR20DIAJD3NUIJGUUFQR66HR4ID09C94QDYY4KXK10JZEJ6O7ATISGNG2UUN2MFZBPUABAKJU9P9HY78705JUBT1AJL6GW5SIOM4JTFL5J33TJN5BDP2NLMSHWO2LVM8GWHXTUIZCAAHN9I4PAYZ6O6G1IWPXBN36DZNCK6AVNF5LYK1VPFMEIDOHU6195WGGAXFKEQ346QAMYX568654JPX326ZJ8T1IK35NAPDXT6H9M44U1H11DJNDTC67FVIWO8ZJ3U23I97BS5RMWRAKLDFC01CDXDO13WE6C9PKHKVJWYAA9ZLTBNN6X3LOUB1QHPKUDPUNSMQL67H0CPSOH94Y6MSC1OQ6X4QKSC1RYYHJWBITR0KH6MGUZJBJPF75GBS53TCD0OEQZYJDBLVCJ89BRXNUPK3WDJ0LLARQ7HLRGY8E5G13AK3JDWEFS63CYL85KO6F7H3HDVEWMVQF5MTJ7W0EXBSTFWK3SW5HXXSXGTR6JD856XX1PZQ1LTZ4WTKHJAF3CYQTNXLDOM9XL49NGTYJ1KR6VUUELV504E73Q79DNF3Z3T153GYNXAQKGCPD5NPJS1RUDX083I9BBPIWZKGTHJX8FGHJNRD5M81Z4EMELJ7G div 36#1952H3BCY98T2K5EKMLOPC8T5U4K7TFXBGWSQ8THKFP83BU7P4ST1X9HZRGR1KGBUSA9685VM048CDMO3MUHQP1K6GG34GMGX49RRSZZ5RBUO28TIN0I0J1UTQW24V56Y9OFFBEKJX1HG3VYY4P0GWRNHOFB5EY3LHUZDJIBCJZ5H5W8F5SZU49C6DF2XABJZ5KIUSHH5M5CIJXW4B7UIIQF6NAPNFMX8P5KEN7LWHNM20VJAN0GBNFZAXHJ5SP9CAUQ3K7OSEPDWVCJ0F924X1P78SJ9Y77F7PROH9Q6EPAIKL4R2O1CD6H5KSCZ0MHNGKFYRW23CSM9MJMXTOA3ORQ3C0TLH41GR1EPY3XFHE8492E0PCKEXSE14FSURY8GU2T2FYN6OQCID79HQZQS4BVUFIQ8MZ96ZF39OEV4ZRHY9K7DXLUJ9N6F8Y180IQSP9VDBTT74XPC13CPFHB9H2C2R48N65BPF3IDV4JYU4HMEVG2LKX9C0SX3NJ3WEEHYPKCM5S2J9WY8CRPI4PR2NZ3HUKVCXNQDJ3HNCMGUDZMJADES5Z5R2YUIPFB0DQOUJCVEOS4P3PFZ6QEG0C0VNC0IBLOXH7MAJW2QNNVY9HN32US2UODVW2TQJ. +36#HNLV2GFHVCH2JZXKMOZ0KSRGK2LW040X5PXGPTUGLVU35HKTR = -36#183QEQP9HTFVT3P2N920NCVBOSNK845F8PUM2A100YTPGF530FVKP3I47RRX3RA2QR2QRJPDPTEC7RQGVQHDQURFURACJML52A9 div -36#2HXDP7VEFSITPIX7DR7NTTSM9NXYF75K02RWPHO3TVZMXVM9A7. +-36#1BGP868T48S35L7YF5E8ISMUQUN8GSCD3CZCLHZKBP3KW71ONLVCO6G10YREZFR8Y6UD13P6IACRCE09I23KDH6FRA80R2JWS4RGPOYP54YMF1UZ2CNZVKI62CD5BS81G46AJ1E9X7W0QBJL46HYB9G9NMU2FCCRK03PKJCZG674TA73IXEW7YAWSEYKGWL3M4PNVFJCLH74MF4DYJEWDVOCFOTMDJBVGRPVT6HMLJBUERSAPNRXFDMX4Y11WTIZERR5ZS6G8YUJ280PDMDY3UBHS93VVDE7BZNM4 = 36#2KWBR5CV8NRYJG2XZM33NXMGM7E1LPTR7O3QO599PP9JBF2AKNRN8ZK0J5WPRYS59F7HQ3WGZG5UB3XN0L8D24ANNUGRNNNNNXFBSF6WVZCU59VYKHBXVX12PWWUQVND2O1W3XXXZ5DFEIEFFKLQI81N82SGBFGC0035JSKMM3P6OGDSFQC5RND4O6F2M4YP06PXCC5B2CZFY79WASAUQMAE38SWKR4X2UQ1XAZT2TBPFCL52T0KGR3QR859NB97NKXHCRUPSA3K025LF4DIAC8W8RSDS941BA64HAWO845D1D2583GR6RJZ902C1Z51VSP1QNW7F7KO8POSJB9G44 div -36#1YGKOUO18L0G7JLM1HFC12LKKMZZ09374MM8YXZ5HLUU553RDJ. +36#1US3WFP1UV2HHX0A4PK85YPLM56Q7AN1SJ9V9KQKE3ZV4XKTHKKV7A2J6X07KR75GF0NA41BYUQ8FCWXQ95PHARUW2W7KUG8EMY6W3UPP35S58U9JIU9MB21LRFMLWVHRY3PJKJX95544JYUIONXLNZEDMRI0VYMTCOY9JNM78SX03DYMYA496MMOLFS0U3J0GC07HU3ZN7HG2KATFVUDRSE9H3M1U8MFVVQXXPGHFQFN3EKYINTAN10GR03YTIN70AS541MS01L64GEB4DHPI2ILAJXPDJNXUO70KAEGQSOTJL2Y8YJ75N8C4ZSS62FJN9IGOUFGKDR12RWU1PI7ONQSV54OHTD7K4EW1B6UJHK2M5OM8ZAW0PW8IDIBBSRSMJUIR1SMFPZ7O21GC34PZFJOPN3Q6AYG2IG373G8MTJAC59NG7BVO7IUXGDTP2DARX9G618BA289UUEBUEWK4DKQRO49YN40WFUOJKAV9PLH3WUT56NFWN986N5J6L4XQWXVL3O4VC6EH72MZPG0TYUEDHSS7TSNRIDZVIO59HXRYGW3YX5YQPUKKRS6ZGFZBHN10FX2GCVEHC5DS9L09YQYG3C929AYV3B45ST0CTOAHUFF3CWYWJ026GUZN1QICI7GO5OYHUCK1YZDXDLVHAEUBBFTDY2QQR4V9P7KFCLVEZQ62X82TJMT52YHCLHMOR8SFYPQ406CAWU3V03XKA9QWZ2VJQ0RLU2KXF531KMT1FVHIG4RSUZU4JIAL5JDRFLX0L4YIF2WOKMHD9NJ1NCBOIM692F7M4H8Q549BGWPTAJATGJK5CBO8VTPQLONQR0URHIJ4KS6J70J3F83U4LV00Q0X0R6IBRLEIUVSFC6XFCQE13YJCCQAI6YU0VDPWXGT6HBG3AJJ9KNSOF8W6H42I6J9FCLM71954WG47S1KGXMDECCSEILRXOHO9YEDQWKJ0KEFE1E49GKG2TASO9O2IJPZGV6E3I05AA559WGODVS6QJ2C2BT2ME3N1IC07KDXI7HLK00N06EUYWHOHPDR2HFUYR93XKM99X9ZIQJVUR0JC44MECOHOYWE642Z8NY487TXMKAUY3LC0PKBG3N70R2YQBX399FMK8HTVFYPC1VSJV7UE7WWZHQ57YBSS0KKGAST01ZUAIAPHUXYY2Z209B9RXPSHE1N9K0LLVK6TDYQ5I463CG94RVDB37NOX4484RT39WTE3JL4NZNTPIVPIWYWB9P1HU3P4PAWI3HMO5C4M31VI0S87FT8VPWOUN1CEMBRSUAET0SYVKH74CJ2OKP9LOUSI3HK1CZ908AVQ6QJM5DFBU08SNAK7HBHMI2BR7PMWIAW0Z0M8E4UVKH2P5L2EPKFUX8C8Y3MSON7L6MJATZKNVVRNBXIJUHYKPGZRNTTHJ91F442G0ITXLATB201NENWCF04UUUI32W5ZT1P89T5LOBM20J26W0CF7UTM7CJTQ1K8YD8V00Q9TLLALBILIXUG77XIW3EELHT38DB4LR14EZ1UEOLMMI6UI = -36#1TN2HM7O08KV7P9UZ2ZDA4ZAWU2MQ4DZWJMJH15K6BMPMU28HYIVWM79TL1LSH5OO0QABENEE187D11JMEYKNE5A3Q7Q9BU92NNLJ5E3U1UVC9RY0GN1CKV2JC9HP0HHQFVS2C28LAWS1YJQBG0T0SG6ZR7HXMAJD9K6M4OKHQKVKCKEM0GROKGZQ4MLWYWWTAM0DY8L9RDTVJVL24WGE78NNPXLUZIN24196UKHX4W3NSZC2VAZ0BCEH1RHBZA5GXOHI6015JUQ6WVCXD3GZM65G551SHD9DO4S0YV34BL8KXE6VCYLZSN5K621S5WV8N4FNVR87KYYW24CFF1NJHU4OPP9OJ3HJ9B6XHEMRR0ISL3ZZO44BK5XUFR350DR7QOC05HWBP7HEXHJH307TF6EHTC90ZPJKWTMUWGXGUYNH54ME4AN1HBAM7CHMXAJ83MSN18XB9ANCK6OSFWAZCE0SDI2TCGSOQJC7RZP7654GCDP1Y88Z71QEKMIBAYCMBFY9SULJP5FXPIA7306U97FME8WF129TJYCVZJAXZ5DRYTE9V17JYEC2VV5EQ9AWOURQ6CDY9QOFCZNVQJJDKC55SLUK1FYQAEF7490WQEZB2R7SY5K8ZPPELWPA437GLTQT46PHOWXQ82LWI7YCJAYUW1CTR1IQU13E7A6U0HP7WVJRH0VMHXMCZOJHHPC9ORU9CUIQ33HULWGGAPS6C4UAVBQAYWVMUCJUI3GV6GYP3S4L518MAD3BY8UFCHW0AZFBTCL59T2ZK2WMOKY0PJNJUFCXDNWSLMDF6N5IJ01S51A2RNMJ351Q0LWF0YHVERWUFPMTXBLCOZF3WH2PH0BU2F4HUQ8MEK6WW26U4VQABFP6I7A72BP0WYYF9TH7H4HE * (-36#10MI9QPME9OKCCIIXBAM86YEAF9MXURGNDOQO1Q07DXM7XLIXB6PF4CJO5XUYOE5GOFHNV7M7W9P8ACT8IPMTPU17KW60RSY6OT47FW5R93F875Z1S5BB6UCS1Q9JYZSLAU2QEASOLDNK2KF5AMLIF7JBH5GQAJA6FP2UPE9SW9QNZ2RR72Y6A7K20T5CTQ1P53AO4USW6PVTW6PF9KUYAC7P6JO11F7U0E2CC2HHV38B5E70IQT2AKY48D9FET6QM2GOOMVSK6RK07YJ7FSO2FMW3U90XBXK3NZEBT7ZMEIL78RJTIH4L3KXG10E049SVIMPOCMGLBWNPSBR76BV4KGWVH96DJL7O1QTCQUUX2Z46KVRLVHHFC7OZ8MZ5MOOXTKOOMVRCNBNSVTWJFXCM3KNWJ5XS4PTROZDDHBUXQQ6OORZZ80DCITEWPJLOTHFNTBOV2FJZ864TANSCRGWUX81SNGACHPXOZEWT5DBVOA55GG964J3QXSV8UUZ12OMBF3KK29X97OU37QDC73140Q4IX33GIZV3E2I0C3R144ZXPLGU179Y6QGE8IKK35608G0EU3GDP8AOMMXNRI8L88CUNDG8MTDAH2K0KBNFZKPBIYRG6N2QMV5YCFY7799). +-36#49RIFAWTF7XBQ16PUX61INC8FOJRYIVXIP39SJILMVWZE2W13THD87VH63WA60SM42SSDGGKBAAENI93YZ6OTV6V06WRTLU3LD41D1G43NQ8CDMBN3DHQKKW51XFRF0TVE74R5DRS9SNO8IEUT55HWZFMVO0Z23OL71T5JU8P0WHE0PKXLG2JMRFVJGALKDBJDUGM1CYY5WAUH0OCZJPEH0JJYYS90R1B8JCVXAMJSMOF3RONRFIFPFDQXAXDB4OKZMIPNJPWBJAFLUGQVXYGWV8JJSMRFB60F79EUGQ09IIAOLY9R04G7UZXQQI9VJV76VW18RQHFD0EP3WE2FI1ESLOWJ8F7 = 36#4W6S4B6HGGV0HLPA6XXOFDW22NG7PBGZQG637ZCUDNEE4PRN8RU99SSYWVTEIQD7QH2ZVARU5D71L6ATEYOF99P7NTTNXU1AMINR5ZZPXPKETNG6NDAKW44BZZWRK51SU5P802VOM4631M9B9Y493MST4QGQ75D2LKB9O6MTZWAOOU9EZ05VXBVAND0EV2S0GCM47IQESA7Q5WV54BTLB8XIH6G7JJ7BLA7OM8X2P1W6DWC4SIT69OOY7XA3ZON79WWUTTTHHURGP5F44IYJC3VMR0S558X5M735EB7UROQXW9KEIFBWPHMYYB9L0VWW2UGU69XYAD3MQRR9N5LEBPY5BG384ST5DYYFXRBDWGTEIFFS32MAIQADT3982ZH1O4H69V660UT522MHW41GEQKBU1TD04IQKBBLDWLMV4L91YGJISH05VX85JDSQPMJLE5MQEMML88G7WZ9FVFZPQMY5T7H7BDQEJ93LH81Q1WLU0SVZJI1NHX30EENS3Z42L50ITENHFBKF01YKEGB78FU1K3HF7CN43ZULZBH4I5IFNYWP1SYR1C5ZR7LTZFP68A7VPI4MVGG5CQJFFZAS8C305YOI6IUQBIKY4JXWRRLJEUSFO10ND4W8Y7K5D4TBIT8Y4NCNUEZMENAES2XJ5DBIPP0MCUD5U9M4QIK28BLM33OJSEY9G5BFF4X29ENK6T div -36#1590266I2ZUDG58FO4ZB2IV1HBNKM5DYZBFVAMKEU48CWFQNIOWSQQW7MYGQYKDDW5URBX14JNE2V8RM24FD8C5XVYREFDT15WCFA135VIXXHLC7J70WUQZDZSUUXUFKQ0P3WECOB622Y4V78HY481EO6LEOMZJYFD7128IER915U3JPAWK1KUEMT01ILLLKR4H3IW9DU9VD6EEIO51JZLO6XCHQVFIXIMK286X2XTJBL02HPPR8WIRKSC87GC5J7AST1RHO95BPNF71OGIRN8Q8HB0ALQC9WEN6B7YQOTYLIWUNSWY22FJJ1W8Q3DMCLJ2Z61L2D2FTQ3454CJ7AC1F3X3XRA7OXOXSXZ. +-36#5HNVJ4DWZF3ALC5T9BHSVWNN9GK5GMBIRUPD1Z305IUSZ15B6ZOS8L57XXQRDJ5KJD3SW0DPZ17EJUAIQNOP6V7KPKY6NY1POGY = 36#2N1F59QTTHZIZ0TSI742Q3O6NZTQXX503N3YP4TVJWMMSRSUSA * (-36#22VF7TMRFPECEYUOOFBN5Y1643K6FSAY21ZBG2O3G8YZNIV73P). +-36#NHSKB6NKON3WKQ0BNEOFPQF6QDOVVENCELMH0130YQFQV9C1FS24JJ74R50NZGLOMMNZFVD7IPSITXRR2SPO4P8KBI61U05TFBVRNLK4IX8ZEF7XRU9QR91QYAQGJIHNZQ2A38O67PCXU3LWF6C0S84OQALAKQ4M0LBI3L5UFOSCGBYG044WS21OOMHLE9RUKZSEJDCRC0I57S475Z2YRUW3JHVM9U9XO2KGB1X66PJCKBQMDLNJFGOX4CIPUWBOOMTZWCIGZLL5543VR3VBKGY6LYWIPNZ4TG5NBIXXYUEQ4RO8MJ59XYJBCAZJG = -36#1ZESWNMO963Q6VD4S8BXN1RJ6CZO8AWFB6LKZIY4EDGQD27TE0HJ45AS8CU3UB1YVUOGZ9K5DYJLGJ041I5SRQ7OFSFU8JSJT7WVJZU5G6VPXLSWYPNWPEH5A9MIT5PXSMAN9BCXVAD6GMEJ0TX34CWCCQFS2AK7YZBX370GHD3JB7IH6JWQ2Q7M9V3VAI6DLM0VY0ED0W5QOCTQDX3EQIDXYXR3MI6HT3VEQCFPESKANEVHOTE8QK7ZJ4UIHGJR00IMYQEJ1W942GM2ZE7C2VDVD3RZWRELJ2XSSG8I7JQ2NTLDJSW601G48W0BA1U3FYPIE221J804UELK6SIVKSQR39XM0O20MHB9O84Q1T3EELO div 36#31F7O7HHIKZVWTV63VM4AXYEYDCQI0VV1G1KCFFL93QAMGZX4X. +-36#EFPK8T0WR6J9Q17VBP0NO8W0A25YPLWR4TOK7ADQPUXWQXCTYTPTXSRA8ZZ9MEUETBECGMKPKVB6KCU8VMAO7NTTBU9H4WV3ECFWS2MERPAIMPXAB3S08EPUTM9AWRC92CJSLAODDXBGARZIQR35WB773MSABJ2OSCOJ11GPS69FHT62TLC20PMB03A485HRT9UV037I2IUUSEG6ZQPLXZKEEHYIG8ZR7GA88RX342Z0YY19CRXX4SD7Z327R3R7MAXPD2WJ1YW83D00R5MFZC41R9SL4EBFINWJTBFZ0YGZ1K8077I8Z07RYOLT9XCXX1WD41830612P69LREXAV7GKOLWSN1QG2QPLYZU6S3NBWRZ0ZPP2T4JH775BKPV9E929IDJ048DWCBFVAUI1KCTHA8MV8I5UB7BGSY7OTX7YPJ07OIX59TQUEXDFNDXZWPR8XMMA7SZA56YMQKWLBQ6M6B8U7PNJD8Y2YS5CF8E9594H8YC69E5FE3IB51WM8OMXLSVJBU5OYT5GAO94YVZ91OTV5NA715JP7H9EJHU4EVA5V6Q3YZGDQYM9DLFXC6IOX3WEE49HLT1FQLRUNBFI53L9XR = -36#10HPKDYHSO986NQAV22YS7GJA8Y6ZJW414YV6R7P4DRDOQCPAWKOEGG56IPQ0HQ9ZU0LSU1UYZ7P51J4BNDEC72PXTRM8SBD4F9EUTOZ0SN77AW3ZQGXPWSIRWEP7QQEY192Y50IL8D21ICPLCT7ALJS5D0RSLJGH2PP33W7SLPQR4INCIZS6XE3LGZ22HY1537WJGMHOSBT563WMANW3UMRJGLOBVJADZTSZ3YVLN86IK1WUI3V6E8OQFKFDX1J7ZHZB00IEFU1MN8FEC6126YBZDDQNYQ8T1T1WD1YB082EE5WOEO4O60JCSWZ8UCGKMX79P7AZYSFS9F0CST1CN46QF9F01GNX8KTRFTYLAO0ZMWU4AJAZDNN5WX58TUYWCXYICIMISX2OKM7MVXQ6RFFAVKCOYFFM51EFLAWSGRVMM63W34SEHXZFTLQL7R6DUN54GK61VJ8CJZMI7T8A506DAFN574A9DEF8NALJPRNJ219ALXZISSUXGAP7P2Q1JT3YBRX6PNH7BN4W8R18SC5OXT1JJ8CI0VJ42SFTNYOMO6FHDFSPQKRQZUGODFU890AVZMHV5PBM0BBY0VWVHPRNA9P65HZO1GAW0MK8J6HFZX09JXEQSHOL4BHWLKSM1ARW87X0EXLNYHK41LCDMD47Q4WR3PN4XC3QG2MWFRBSJNI86AAPVHIN6D9KIOE4PZHNPOI4WOALS2E8LNP4YVVC80TL6U84XR0Y3QLQI68JHKGJNCJZUWGEBCOWPQBBWGVCOZY5FG5W4LDW93FM7BSLLVSJ7IN3U6FMETKKQI4UE7P5UE88ISOAP01I13J1OLPSS0OOCTCUDJLR3ROHAHWKMAQKRKO2S7CDJ3CMWJAGVI6QBYVJIDNHQI743AHSJPRKLH3TJLBEFDCRFQUNLLB02EDLSC35CMB1WKTJB9 div 36#2IZZVJNEEWA90MMND64J3HLEL5A7N1ZT197O9QSF1PRHKFZDU704HIG2LPXA3XHE55W0TVLOGPDB3HQVNVABDIQ674ZNW0NFGCB9B6CU2CMTMO3ZQWKYOKS9FPH9CGGDPCWU7P4FIMKWF26AKGV6VPN22ROZQY3O1NEX1I4ZCVTN0ZFIPBC9XBM7PAAS4V6LKR57D4GJZTUQDNCVKRTA81JN15YJR3R79INCUSJYWO7QAG9EYTZXZW30V60OPJMRYFNYSLQF9WVOJB80OZ784QCA3QLYNEK08IKK5RHNMZV8KRGMZC9ZYKU06T8XT0OMBMCJCN6628QAZ. +-36#4PGWFRN5X6P7MJXKTHC2UIVJCEI1V03GO555VXAVPF3JOTVSVNWF8IASIN10UEOK1KH3ZKGVSQU67ZZNF5JUWD5Q4SKFSZS1VG0FOM3BS1D13VE1E54S5X093JP0J4TFJAW6V8IPUN58XDBB9DSP3UJNUSU4O49FMUD0O9O8DZSTNQ9GCMLII7C6LRQ4X000XIMFK8QMXRYWM6GZZNANU56SSB534B8K50STUS0FCFBT8NS47OFSEIHYUECZCKTDUCZGVG39A9JK0YLPGEVA67M1NXM68WNZLFUIVZJMCIEVWZCS9UBCEX18U1YJQ1KCEYX1SF0YGFIBUNJZMK6PRRASU7Q8411SB309G97H5I6ZNG0EQ4BR67APUZ2HC31940Z6T91HIXIY5BFCQ6UF = 36#4L776FJ64HWLIBPWZ84DMW0QHP1RMIUKIFAP9TYRIIJ4OUVDPIEWGCZK7QGD4NZN19HBX9E6BWAD7FA6LV71ZQBLRYVRUYAWZVVCVF7EY84EBLD1FJZQDGBY1KIUXWOFZ08CN0EJP7K27G4DNES38VT4M4HHL6ZFXGIAY540U8U21DJEFZCGOO0AS1CNLPMSQIY8IDDW5V4HST44HXD7BW5M08QKVB4WXZAX0HQZHI6F75M5G5YCXWBVFF1V9NS5DIVYMM7V7INKYWB03HGCPN8AVNJRZQQ4X96XP73UC1Z99QSU7I83868WL6J7LG241RBADYOKYZUXE9YNYF0EW8ID4Y9SNU2RIDUHQCRS62JP54N4DTONZ7PITG7AP19LKXDIXDUTHLC0JXG0MDJ9UFBWIGG4J6GS442EE67RKG39MN35JK7V1CVFMJ39PXNADR8CRRP0KSBRE0G1C3A4PB9OAW1X2Z1M4T3NJJQC022SAMTRIRBJHLHA8TE3SHS9CC1R53JIRUKWCCV2ZNZEALHLSLHY9YXQTGHHWWJI514T7UPCCUVSYFVXSJS5TNPLUV3RY1MY6OD95W3XVGYEC5PWF8HG21PESYHIG4KBWWC8BUG0XF2HXJSXBU11B0FXWAK5M4NQ7TJWLYT7N9NDP3OQSPH87QARQR8MIN6ZZGHYK6M55N4CDL08AL0YC9U7EB9525MO9JECR68SAQPA63AF9Q3QGW591D2QY729UGKH11PCYZR0EXONCFLC7VZMRXO2OB8RRX7K1KCJZXH2D05MHGZIDOBFQ0KN0BM4ECQ07ZYTQSIXXNCYPMVY7AXK172DOHNYZ0ZNE6DHD1NM1JODJ2MGI7MT0NMA0RGHQMS8ERORR9RD3QDNR2F div -36#Z3CKZAJLBSSQLBRJHXUSFNET8PI3F8M97SGHDE7SBBZLJXN1GPE3OTXJY8QOZ80AYWHO750LNECD8CPXPVHE5P82K257U564G82BAQ09I82KDYJNBFAADJDD3C1RG9UBLYAO3PLVDFFZLXXD03HEUP4RKKTN8BTDXYZK18GWNXLCH5RBFTLPRTJ4NGSXSP7E8NI6HZKK9GIUPSC5U5ZHNOICK0Z6N9THZRWDMSP4XUMMP6BAI5C8WLHX9XP7XIVVUL1WV6IEXPTATSGPJ2IQRLKO7MZLQMK667MCE5LG0QOI17E7QW8U5L6VB7G4S6EP0SBMI99XGLUUQ85B494ZBDX06BOI85VOKE5IZJ8F0EL03M0K0KN332T58DXF8JWE67A1O00NIAE1CXDO5AX0WP6QLEQPBEOCUHNSMYEMWG35N6AUU2DY066MFEOQG02R3NI7BD5TYHBL3HE1R53D6QGJU6212Z3WJOLJJHD. +36#22YSJNZQHO4UY4E7QC649D7XXCSE8XWUCOGQTDSBV371V1U9K96NP79WM2Q79ENIA5XRJAH6BBULYO4P9491KRX3I7MF9GJABGVTQOMA0LFO62RZ4B10UC9KATGHZ4WGNY24ZONF6WQVO4FXMQ1SMJKP91FHZA7QNMOPBS4C1GVTLMQGXGGTUV62UE0OBDZL1ZRR7P81FEFW5OEKJF4DQZH81REPX8W9HQ8C81J5772WO8XPKLROQ7D0H36W4NANXT8PLGFTJC0VMVVB1GV31ERKJICXYOLQK7QZMFDGWV0ERJEJGMIHHO4SS12FWL5L8TY5L3T7D7LCIJ7WFDJJE7JJ2WUJONN2YDIDW08B9GX4XZW1XCJL9HT57N = -36#OKNH5CRYE7O0M2EQUJS6GT2RLL7CPT7ZLF937KJXVFYXAIVVG5Q996KSUR16JX6QNZ8L0Q5QIC1GUULUR2BUU4XQZOPLPAF38S9B63YC6KG77N7EZ4MZ10EXXMKVAE7ZM821HLX58R49DBAXT4P08WXMA4ERFI2OUDLK0GVQBS1ZIXTZ5H4ARFX7IXY09OSMT1ND752NLW02M0O91VGOYBP7XGSMG0L1K1KR21B1DZFSLRZHENLBL30GIQUTD0UKFVVXMAXZ27M4YMIENXL05AQQDLGUVJ40JJLKFEIL1YOTIO01YA2MXX0O77OUVGJNPUYIL9ZA43NUWON2XX8BCL0M35LW3SZ989E7FE3NOUYR2UQR7V12XB5OGC5FJNERAT4W2Z8GQ1KVGYW5UGZEU1PZOMY9YIMNDYXFC4XV7ZYY42QX4JX9D4E3BOLVDKONWZ0QYE1GNR1EXJKVJMUQP15NXEX4RKLHIHGCWCTH056PQROE80HUZQRKX9F45XGL23M96OX8UJH7NXSEO9IIVJ6QQVEZ7T4JRDWVXNMAHTX9XZJYY05HPK9Z1NDOUY3P1ZLTPMDAEERMII7UFYE5UCLMDDTMFFGJ2CSPYVI97HMDMM41AL6JKWTCF13VPBJHT616U0WR060SPLBAP1TX01CFGGYZZZY204OOHXRG2YFLCWHNPEZC3IVLIROGIAY4VIVG3I92ONRF div -36#BSTMIYCACKCLM3VEYRGDAEHMJHDO6TKPZDDG1LGNKWY64J8N3AVEHR1V6RSP22H8P86BWB3FZI7C37RTKPXAGYO3JF8L7N913338VMINJNY9WQ2JG7URU5UESTU58CG6RWWWO0Z5YD1CI65OGLOPSJGJAZ6D79KX80ZFGQQEOCLCC60EFPXVNOSQPXDJAZFOE96PWXJUE9J56AEI1NKB781ASOC51D7M8HKSP2K54CJSR6ABATPF3OXQQA4MMXH380JYBUB6IXZ5GBCAJ1GRZESN4WAXDP15VVH1ECY591L6L0KVVPMZYPOT1Q2K0DYDULQQXZ2HILD8SF15HDL. +-36#3BS7DA0DX5X8C2SW0RZSQTVIWDGC8IXVWHW25X6MYMEKHG25MSNRV00I7WPM0ZIWWOT8B98AMT9WK786SEJMLFBVG1NMCDAM286 = 36#1QFDMHKP3SE16RYTXOYWP3P9U3Q3KCQ75T9V7YU2LF5Y3AA39H * (-36#1X2Q6IUAPT92WASM6KC0S2GSIQA4JEPB569NBGB20YCTB9GHOU). +-36#2U5MN2KRZYL87Q9YA0CW4L7LP2Q63V76NQS0LFFDIOW36BY8KL = -36#3RXBOSKSV5SKZ15YPEMD9I1NJZ0F51MJAYKLIM1RFGY9RCFW3V4S6DT6WLUBKZ4NYZUXG7LZQ38N6BR0Q1LLO6DDFDCS77SOH0F div 36#1BWEUFKV12SIEX9YZVA5VSG9FUA44QUC512E22RWEGFD3PKZOZ. +36#1PQT2K6ZVFE1OTWJPDKEUMJ7SAENF7ZN47WR0KQP9U9H3B67K1WJZ59I3JQBKLL7UDTFEKEGNVHX5C61FX6FP131DTHQFL84FFGC6G6WQSPNPRHHAEYXTCU7WOY7IVGA74VOYZDEKLP4LCWJJHJWSIKNUZI91YEKMI7KDFSBRAKXA38JH1ORKQH92367V1SG0ZX0T6QT86143G8BL88E1Z1KO3J6F = 36#2UEI0HPUVVJSGFGZCQX2MWO2IKOKYKT07FTC3ECCTJIMW3D0UCP0GI6ZRXU721NPUIB3P1YR522IGXOQZO9MZFX3JX8O394G2LRTS5ZK5OSG9CU3GNV894M467YTK16YA0HWZXS0FCQ3R2QP91V7MZRO3VPO6KRG0RSA2OC76TBT * 36#LPFN3S0I0H3J9XAIF4YHN9V0ZY7G25IGPI3TAHCSUXLOJT2Z3. +36#6V4RLF4PAI6TW8PC7J0V28ZCIJAK8CI30EVCS9PTC58EDKEDPEJUGX0KAE9EPAZA8VGUBV0TR0Q2QPUX2NS5KYBY164M42N5JOBYOFMGBN8R1GREN2YVZJRH2GJA3SRGTDRLLLCR2VUWZ436LTT6PGXM8N1S0KJK2COY2M66DXLODSF822II4GXF5ZGQXSYQSGY25G5E8FVF4KCR1BDZQBCFLQWKJO9XAZH = -36#3HDJKKKLOTEVF5MP97LSK3412C7TDC89U44LDSRAQ42FR5JRU3FS2CGP1934EZ13DV03563KI37DK6T9H2J4XUP61H4KFBPEC1WCQVYS4WWNXKIHVI3RAF9IDLLSX4MR2ZE9PSJ6K3IWGKJKAC17X2ECQZHMDNH083SWC88BYVIVB1A27LEL1A1GXQM85Y7MN4I4BAUTWHCKC1K8ESIRG00PTMOZF17WLRN8OX1SAZHUUU5OEYP9A3O04EPIAO25MI10GVOLXNDY5FO342S21818LKR4DEAJFW3CGFK67BRST5J1QVT9ESLEZAWLXSKBHJQQUYKNGO286AADEX8SQ4S815FI5EJULRUT1NWU8P7R5QAKCTUEHC7MS3MN3IIT4BB0KYAG6CFF8G0A7TL83LMIC4U40OFKRP0C2IHPYLXGD125EZHDZ41T313NZTE9BBQ56DTRTT3MDZ3D7HQ2722ZR0ENW5TJCKJ957JNHNVQHNT7JVGQ7KPVNNV3DEEXZD1R39ASH69A1ZOOEP0R6C3AYR7B4SYC9R4JMGP8YLL div -36#I9HPLGIQKDN0B96PUYZP94X55BECTTKS337W4PWU39O66X6FJLZRKQT9UFICQ6X482J1H81NHK6RX9PKI043DHHCLX1PTGDL55KTXM47KQN59LJPPWN4ZA3F3IUB7FMM717YY5S3Q5Q7PLZHJMDOFIP5C85O8G0QL8EU8NU648LYZTXDMKYAWXMU02ZTR23DYXEZD6KMV2XUBN9H91L4ZJ5PLUIPO91DE3BW9I49LOI9QNSXQ6LAD0ZC9BJS9R2TF9D50TYXE1KDA1JIRYVXUYNL18RKMJTTPNTSI2TMTMJEER771PKYY64UQQOZJX9UN0VUEWFX. +-36#9VQXA4HUF5BLIECUOPOX7EVNNLBUFLEIY10O9S6GJRQF84I475KMDR9IXU8Y8RBVMGSBD5SB2X1 = 36#1SR9XKBXWD32WOMQGIP9U6V300E5Z3GHOL1UWUC672Q7TQ5IL757D85LUFJKVZQZUGK3J97QGWVRNSQLA52EE2OBEU0X2QW0N6C706MDIZ5LR939S7V7UT2XGJ6P76UYWU9LCM9QGNB6OMBYW3JPPNCJICYLC43N6QK22H7OAFUKAM1X7N0J29KLE2WBU4O516MH62MCPJJLN72EK13FRSZYKR95GIMD8GTBO7RN8Z1VZVQSIW198QEIF6EL7CXFH8W98VVDNKZXFPPZAW64VT8RJ9J5 div -36#6JWWMFQP8NUGXLHUXJ0Q34B4LXWVGDO64F3NKV02I4DE1YFJJCNYLW3PYSKPNXE7555IACIV5LRBHSV4FUPBNJYUQ21AJIQ4T8YEM9RG1JH24A3OL9UHMZM0TNGF91O4YPRNUVEAD2N0N5LFYCMH2IIGDBVOW2R9N8T45MTYN41YPAOEEVXVSH67VZLUAPRN6I4EPE1AA4OX38OY5. +-36#S1QVQIW72ZYS8YAFCB95V6LJLNBFVMJWJLROQU3FWE5Q6UU4UNF1CHLCN66O1ZB10U7KO5S0D7YTLVUWCT6HI6SOZ8WZANZLE6ZBJFSMG0D7UNJ9S6HT8XG7ZPF6AA7EMEKPYSKLAKPK2W5DSC85LK6ER4N479Q5M6TG2 = 36#DXU5UEJ2JBXPURGG78M34TO192520A6JXD4G1XY1WN8OBCD9KIWN2BB4P81RZLXZ0RWG7Q542P8WX3Q38AHNN028902CFCY9SJ5JA9PRE5906PI5TRXY * (-36#20FOFAIUZNIZ9YN5ZNORUT2W1YSI5NXO858IYFY0AWE068DEAZ). +36#91TFRLUDW2VUFPEJW4SVIPQD0FWNOMTNKD52G8F7CK4G6BCZ2C0DE72XTBY9PX2NOC9V7W0ZZJ0QBLI1YE07M7WR6KNMXEPZYRDAO0O4EPG3OBD4KKZDTG0RGJR7FTOVD3FKSO37DR9BZCYS6OYD1J40OPNTWS9ZGAYKOREXLIYBFTEEYPR1LMGGK0NKZNFUY1Y6VZWCF = -36#3QLW4VV98JI998EVGBR7L7E66KM0O9WPHRX114XK1C0VJMOFN8CDIBW5AUP06NNUI4CZNLWWAYS5ILL8GZYJQK4XBTU5TS9MLRM8QIN7LSVV58FJZNMIZ38AWHADP0TS9DBG3ZA7PA7JB07Q7FQMH273 * (-36#2F4YEUVA0PQFP5K0OK7DJR0JULZBJBE10TRB496LWI4M7N8ICH). +-36#9BPK1S359EOTEW8VL0SUCPZZ9RO2DUZO7IV9RHLCPE8RJAV3LISV183VND6VIERMAKBEOJ3PW6KTW6RUV4ZPM6XTZY7ZAGBZB2XJNVUNIWRG6IQMDNJ6H5SSM96DOCAWJSMCH9HTNHD6J4ZMIYX7KD75AYMJG4UGRUKMXD47MI1N3U426NAWSAIMALO2QD074JSZ8WYE1ET4LX4U957P3DNYSH61AN2LF5J8VKLVFDCPL56FH4B3ZOVVZVZD7YKN3MLGY7UDNN5SIZ7AFOPUQAAWH88BC4MI79SXM2RA8LEX9Z519MLEV7RV90C6XBPLAFJ2179PPPGTE8TUP019H3IYETN06ZTO96W0T6HFEP7856BHQEXB0WOOVFFWAO8JZ2XEJ8AXU9XWRIR1MT4TI2CRKD1UD6237VVY7MF8QGYASX6P4S7LUSPITROVZRABOJXEYRSB7CDI13K8FJ10LYGAF1LHI25MOES5D7DLRVEGV8QUWIVW2YJY2W1LKYN2IWCLBY8PWUT6T59971TJ5ORDZ9RZA1IKJG0MMKPUNG3005W0A5V0OGRB8A8FXCE4O2M9Q327J3LZKFL846R2R21GUNY576INCSP6BEJKRX177UQL8G4O9DA1OMLADYRLIK01GYMWXWGWFIZ3IXQ2GL7EG2BT27A4A5C4OROK13WVGUGJ3CBH6F0UG6150C8QABKZ6LTOVWS0QOKQ8CYEDE1FUNQT2X8E796G0BT919AVTAOGIV6YX3XTGO5KDOE8B0ZKCNQMAIUEXIT2G5EZE0IQDNLUSY019IVTOPYE0EEDBPLY2YPTKQV5OHM9CKBGVVYYSX7X0G7V5MNUNVVU7U5ZA6MP3V8ZUMCD998LB9I9O8UK118LTGRLW45JMR9IU3RXZW8GU03G413CAN5BJ251KQ320LKVSTDF9QCSWQC2YEA2KDVOBZO7OB4RXLT65QO9NKDEZUC9X01H9OGFIOSP5WQDXQGD5YRW3996GT1SM6QUOHNTZ8XF7W5NY9NF0CAS6F0HFX0VXWA5QG7SAQNJ76S980DYIZUHQZQUUIVDTJMX64LZFCBC7ATNOSGCUPVL6EBB901J66CINRCI7Q7C0XFXY2RV0W4XT398Q99GD9IW0TXD1DCNLRKKMBEY56PQI = -36#C7E1S0S57HXFA4BL1L554LPTZ786ZKKCRJ9SE9DEF1RC30JXDDIYDH4Z44QWFYQ5RX12UBXSF32LUSV956TFI6V4D3Q6YUN57XA3I7EUWIBRDMBC5SA3BEWQY82SVRJWFLDZTNRG57UUQW8J1DEL47ZKEL7MH75SQB9QC8MG58UQ6Q76XLVO6ZZF9E5KZDV7NDRUPAXEIJ8CCUAKMU26VVOFHSV5UT9DVY1O0PANJSO8PHU1JRCIVQ70822SLBH3LHB6BOADJEKV114VALE90BTV2M34K6L08FLSBL3HOIPZ1Y7L2MBCSSR6SVAWJS9BOCRFR4560H14YG1Z3247D4ZWQ4M8BHQC0G05ZYP4HYIDTDEJMCN2D5N7LZOQ8RDA8HU1PTTNZ9R2GG1H7Z199DZOJPN8CWKAZZV8702EJ3S3KRZLH1BI5HAZK5P628UQNBV94GJHZJDVTGWTTE0VWIL2HI8IDC38ZTB7HAJW5RRUQPHJ8DFE3QYDHGNCIHFH4LOVZYWQB6LHEUXHJRIJUKQD4VC0LYB8GBK55EB8Z5TDHY40TNH8B869UBEI1XJ5TMT4GKWVONNM4BSFEXPYBK42HPX0TK1MLZEQOCJHM6CP0IPV17016VLDB571YKUXDO2V6AIPUJ68YDRVQQGIRA8I1SPCSWDK90DDU0JZL6KUT0Q0MDB5MINVEKAY5TVMBDKFXPXW6AEORAESW1QW1R40AGZSLZWDGMQT1R13IGCS124I3QH0HO5TF5XFI45P8PITTW7K6T7Y5EHEDB8A3PQWIE3773ITODROG2OO0O9K6IF1OVCNR9CNV83AFYSQTEP3WXJINVCCX6VZE420HKI4QTE59CVF6CKEEBT3CPFH3KREL39CKRFZ7THRUVNG3IV5GB27WNJAASMZ3ZS45RXBDDE7FNBTOOFBGIJE8VWFQ6IUI83V47KRT3R5R9XK3D2R * 36#RI6UULM1SHJQRB7735CPJ85WE4I6B3GS74HRPQQU4NDFFDRG2MXXVXMPYSQOMNE6JQNRRE8NZOG61P2SHMG0H4FZ3SJI26K7OM7VN8XAEF6AUULVZDSUKT889PPWLHPM19X0DL3NTSFXKAXYONP1VJNYQMVKS6GE0MDNX6TTVV2DCBIM7640A85Y9K9R2RXXQ. +-36#I0RAE291L10JTTBO30W4W2IDIM0PEKM7G07AXMU49UP5EJMIJFF8F11VHBO0CK2V9TNHSLC12B1JGY6E8CCV0Y0Y0X7J4SPH6FM1FXGAWYMO1363Q331CW3JNKH6TDU3VACBBP1PJIKZX5OUU8BWPNAG21YMZT87A0CNSQYX7F4NEZY6EJ1GQT8U1MBUCPC3NV43WQAA48GV7GJYA8KQOS8QUJIHUY3J0H8F13UPRES5G0SL99B4UM8369IAKLMDA0IDXAU1IWMJH2OUECGLJJ226JD09TYTINIF7PRQW84K132OKPJAMD1WU9U4D1B6FQ8D68Q8T87G3KUPBIM1PS0SJMJ6EV0WT14PH4NVZS6NO0689FV0XFV27P69IIZWBHRCRXH2ZLS60PF8DWC6GXFAVA25LQ316LIOWWM0R948WNH2SIL69ABARONFHFEV2TSW1W50OJVFWOTCUTLZBJ2W2SUSIFBP8PN6EU1M7UDM2P85MJ6GH4425G49JOGR9Q2JB1V8P9X9VFDEO80OCB6G4CCN9NKDED93A7NIXKKNVFO6R62LNJT8GK0NC0WGU4TKL63BMQPGYVD7MQNJG20SE5Y804T1T2QKADJNMPG1JUPYMAWNPNQ0BGQNZ3CKPSEQF6SWZKNOZQWAWQDSWL3CJFPVV9MSW4SSL2LH92TB5MKJ62TTPC87DYQG7EVLQ8ONYV758WBCKH8T26DN47VXCVPMOSVM4GTEHT5K9XTS8MVELD2BNC5U0N7JFOK4J3CMKW62W6DH4WIN9INB0VYG70ADMCHK5CEGM9RDR1CFYC52PXTZPTGLE3ERXCQ12SZHSYDD1VPJTVLVCPGI4E6TVILIAUQDIDGP03Q7Q1O3RPH6QQUPLMUS = -36#ADEIGKKVG9WO2JMNFHYWSGSJE23CEF0WJFYONRYG0WPNNVK2HTQPT1EE34A4WBAL2KVS79OGODVGPZIRBAAP31AZF4I1B3SHGIFBDF1AD9835ZT4J79FCDWW8GAQIUQXXU07V9YQCIR9S075Z6E72JBSVSJAUVWZINISJ8UT067FW8BMRPH53UUY5V3CNA2LJIZTPA5ZD3LCI7D159CBMMKMLMJCWMOXKDCE0QMD09M0BP79RVBMIKGRQL9XPQKI234HQ025DVHZY7NPVXAH74YF36V3CRLNPKZ4DF3U5U9B2C8L143X447K568CYRINK9ZE7KU557TG0TYTMA738C4Z0M13I48L79VY665J3QKHAJ9FEE3AICSMUKDFYC8NSJ5YDGW0CUGBM1RYZUUNWXA4MVGK2Y60XBTOUXF2U272UDPUQ7B9Y4LNLODNG2WRBEMN9HWNKG4VFJB2OAECJ * 36#1QJP26SGURU5Z3KKG0UGXT9UBN3AQA1BOX7TO034GLRPJIS601IR98QOWPXFH9YZIBPG3ENPUJCOCMPYQBEYT57MXFNPP7FKJYF3JPU2D9Q9YY3A39QNCCEZBWI1L1O64CGLQOP4GTIQBRXXM51HRDW87SWF786OS9LFNSX2YTGZRDY5P6ZDIJCV155FPLNL365UAAAHWKHY037SXE5EGLKYVRI5WZL40AT2ZU06T0C04JBJLYCDYV48BOW0Q2BXAP3ZV19Q1M6FZUV6D1PCKBWZAQL02962XRXX45DN09WP164TLORBL5P4IXUXS9YAS6HVK8HOJOMQSL3RF65Y3OTPKH43FZF2MYTUFNZNRQAUQ27HNVMNBIZ6CMIBKQ1MH3Q3K1CJT6OT3YZ905D8AYK0W1W9S2I5ML4S. +36#7F6MDWJUE2SOZANJSN93UNXAWZXQMUTZC864Q7ITUBRZ6YOJZ9ONNRZKMSOOSTOTHG8VFB4QANC2 = 36#EDHUAJZGWSPKMEN965G1J0MRKN3FR839D25M3HO8YDMD4FKBDK3N22KHXN77XF1P4W5ZAQPWALU850H9GRKKPYO9UB09A1HE63TQJ77EYSB07IHZCWAFPYBWB6ENYP5NWB1CCYTO7E0W8FXOCSMRRXYHU4SV9MEVC1K3AXPMJ7NLZ198EUODIVQUMIEPSPKJ1ALTL4HH90RF5CNBH2Q98KONEW8ST3VCT8LY872H0PUX6PPARSA06K434IN929ZVIYAJ8F07IYEGB4X6DOM1T79RO8V3GBXPEVR8OK1GJQXWFNBDB1IQN4GR89WRPTS1AN2P4FVLV4XUPFAMAOUBRDB6JB2ZNYS6FEFXURMY9TU4ZY48COA9ZQNSNQX0W0DY0E8AHJXVO5W8PFC9SG1IWJ2HWDKMMOC5EMPBXQ1WJR3HXF60HICWZO0R4NMEOGJKEM7V6EIUOWZGOLTMNYY5YEERA1LR9PQ85UFWMLXQXIG7KTPLM1D1WZXAG7H6CS122BQEQYAZHYHR4PHOEJ4V5WW7XHL3TE3OY74ZBEM7GIDBBQQJKFITATATKJB6R53ATXIACOECU7J9HIBP1BV8FM3FQAS86OZ6SBH68FUPCRC1USR73DE9HFJ5KVBX0TDHPKLNCG1KQISOSAXX1JJ7HC1PNUBG6WCWTC6E div 36#1XQ5QNJ7OC387P6N5JYLNF4RBZZIGUKY5ZHZHDG1PNM3EZKA37FDOQTGGNXS7KZ8I493DNBO8DWTGP02A30YBWCM51GF86Z4VI8J1L7LFIJF8LMP0WHU7APSNTFKOW3U0K2WVQI7Y8VSRXC8GKUYB8H1F91GR311F2CD8LMVWLLBFSVSNYGADXBGRP85L3U5QQSQGHZLB5MYSAUZO3CS5WK1SG8SGY16BRM5VT6KSNLO68XF2RQZKMNZGYSIBAAT5IMRQ9TPHDB0793UDVJL8CZDS5TC6OHFST4N1PH6Z19GZISNEZDO8LKYM5T3AT2I0XKZ55ED9AC43ZD1K1B3WGS1ZTI7YS7TDEUYLJGQZ67PUG0CUAA42FWL8SJA27FNAUC9BKZAOPJZ17ICNOO72S3YTDBK4PRHN3TCLB48ZRXI07XN2AI6K4WWOWZH167VTVU5780200FWTZZCMNS2RSAWRFC1HUXQS8KTYRH5M9Z3PHMTYX14LSKMK9BJ9NFPGZJJ6YCLQDDXM10WEDYG3VG5BR09ZQKGW8Q7IPP3N2Q9P9V9IK3V7QMKB4YP2CIIJX6RTUFS25WBRVAZBWFE56EF7. +-36#Q2ZF33TF8XQUHBGPVV8IDQ2ZB0EJSFV4TIOAEX1RMD4K7SJR11SVZ5QHG58QPV630O38H6MQXFZ0K3VQJ21I5LVP2CCV0QPVEAFWAZES0ISQ95VTVLPIBY3QGDEKCDYRW2XGIQRM45B2M1BRG52AX8VG11L7A6GKZREMQ6TN99K1P7V7D1JSN6KNHH4C1CI3CBFF6I70BQ0UNW00KQEPUJ4C2BYDJ2J7NORC5KA49NXATAMJGXAYW9OAOYZ0Q2BCRJJ1A33K4L4YKYOXIEXJ35QFNDP54UW3NHVVFMDE38IR1KKTH42ZYORHBCH4PHZ25WT8UPIG14O8RW8VKDALOXOT6ANTI3YNRTQZ8RYB110AJ9NVYRHJ6RJYWPPWP3ID4745UBCF2W1ZB0J7ELGZG43PD4Y = 36#C2RF14S3OUHFW5SD7Z5BGUGQNE2NLW99MRCDU5FC6TLFFEX1HLF4USEZWUTZDWW8AUWQ699VXI6LDV9QTX6RR9I7NYBM1AXEU6I8B7UA23W6282CC7Y0B2E * (-36#25R23MTM5U6NHBFO6SMIQK7URS4YRF5IGH2UFVL63RGIBX0X7684VQSP7XW5MXYRV65QMUVVWVJF7LK6T89UA291XKPX2RDNC23SFI5L0LGE0V9UAXHYZ8XUOWYRMUQ6BUVBGG1QMMW4BA2EVY79RM137HKIJQGSTQTAN1QS5EIOBQ0NT4HX051GKIRAVML79388U0AP9G8GI9PRG6USC5KNHUI6ZIR00E2BI2W16O0JQDHQNCADL8C7MOK2ML01WN08J38JZLV888NZIYIOPCJDO3MQ4LKIQALHN). +-36#3JTNB0ZS0MSMO3QR2UG8SVVVWIAZ4FWGYEBQBENEVUCA80VOUYUNBL8CESKCN2QLQSJO9BNJOL09EF1TAMLIOKD44VY01UR18HDVEQV49PBPPUC3DJ6EXMB7J0FIOO46Z6R7EGFH30ZGRTMPM0OW4LTIF6PA407AKWLXOCH8AG2L9KE5Y3S9I84WSS13C4REB4MUBER54XCW3DSMXDAJ8WJD8EQLAYW9WG9MZCCYNT4H1YQOAINXIC2J46DN8ZVCL3HY9GY9AQR5VCE2G1DC0 = 36#1PP4C1PC5YMTYHQWKXTLT67M6FSWUD169Q9NLUGEVES8VDNZQRERP276N5ZD3VQ26W4RI3HQAFWUSY8CQFSJ4TOQ7R55F3FQ6B8ZUMVBFFAKTYTGQLEHMUZL0AYLR7G5HJA6V40UNTM1NYAZ4K87D70GUKQUR92M6P4475B9FIQYWDK5C4SEIXU0SFZZQ1NKMWSD9RXM5H7X4FRVNGCEC2A3U5OOS3V4AFG0 * (-36#22L0FLL59N55S00FS3RRIC3Z0QNEEPV8M77BMFR4LGPTCOFHEC). +-36#36CPAS22EBZC3LHNIHIAUC6NOZM6IERMQN56EG5SA78MPYE3IMNZT4005D2R9BPOJUU4EQR36I30IYUYBL9ZNR6CB80KVLO2AITE6LA44TCODG6ULW4D9OE95NVX3ESIR8WN4DULC13D66Z65HH4LOTL22LFH449OTU4YKTVTC8559O8O44KITZIZBSWI1522YP3EGKIMAOYEQJCUKPVAD7W2PDSYNGV00AB4UUC2ELMDYTMWFVP7HWRFS20MPJMR6IIE6A2MZL5WYMLQ3E7LB5F4BIATL73BBLMKYXSS998RWJR7Q587NC99IMAJOJQAC4EN237KFYOTWJLD9S9QOIANPVAEBPL38EM04Y92THV98PK9AI0Y17WUKQEL8ADY4IEKVZ0FIBD77KUB7XU8MKYPR2A716W3WQSPN839FK02SZ5D495F7I7XHFWB7YOTBKM1ED2986K = -36#27X755SXTYN8XM4AZ21ETYMJAXNBWN2G8E4NTH92RMWAUY2E0Q90W2P2D3TB9BXS1CXVI9WL6036RQPSWC2JSB9C0K5O88U45BZFC2J6BD6AFHWV5RFRRS86N5B1H95DJ00U0RRYFOZEL4GA8RB1TFL5ND6BP6X17TW1MSHCPO2VCYDVH8J9F1LU9JI2OGHZK8IS2HYD98KAEDL51411V29OSUNMZFNWBWDI4DWYRIYKPJMLSXJI06SJG0DNWAKA9NX2A2WROEE4P23O1689AMN7Y17K79D1Y6LM1OQCJ8VXHABVAQJMM9L4O5WQNU67TC0XRWOVWV0G22RPDD9C5S5TOAGAV8IP279DX0KA976Q7U9TMS09ONUIXYJKBF9WSYTKALD5OF4H1UEIGE5XQXB2K0WW5XOFTZDG3M2TM9E0N004L4XNZ838E1F1ZHAL5K9HK255M5JF8VLMNC6DVLSDN23MTNODG3Y8GL88HZI9EUQX5EAPEFFB25Z16Y7Y21U59A1E052BIRKT3X111B74KUGFIH0RQIETCYYBFC7S8YCEJ92A5CZU8OMRJUI56EKJIXH8MJP0UBOOCNKY325WAN5KC0OU1BTY8K47TJ4A7ZLPEUDCTFUJNBIJZP5JE3LVDZR7BZTUMPU0VQAJHK32CPZOF0OACT35D1VBBXUS31390FGRMW90DDATXW7HBEI42E6KLBNCV7X4AFV3E7PDBPR3LOS0VCIEXIGPWAOES79SSVH5CEMAT7HKZLVXTLYVWR0S03P6G42JFNFF07S9H8FHEMF4IG53D6S2R6ULIAIIVSXHW5CV42WLUMA3GRKJI3M8LWB8WWVR6FOMTQ7982BPCH4VNR5X7K74HSF6PS9K4GQI5Y2PTAPG1D5SKKES8W5YX7LJ4VMMIL3I8Y2KFYIDWN14LN0LIAOADJIUFIIIWE75O1Q0DB5EQV6FVNM4ITGV9TONH9GHQ8NIVJ26B3E4GF7V1Z1610C4Q2VVAM135CL0RKLJXJCZXFCRZASF6PMY4WDBDGDUSZYIUAT5068Z2ZC4RVLJ87CIFI33Q4UL8R1GN79LXR37MAEQT7IBW7B1052Y7OUPWGF8RFJT4Q5JYUYG2GGE2PGT5NF3BSIL2TKLX1B6Y9T58Q5B31R2CARHTET42Y1M68OZDZC1WQWHRY3APYBGY12BOK9GBMIHE32B9HIB6VXCK3Z6VMGK6J238CWQ7XALPCD1ZNFVV4S63WAS1T1W6E451P97QJ678GNR0YCUN35X3O9ONOMI4MRTQ4RF1VCLC7V9O1K985ZN7KHLTCJS2FE8Z1XIWDL80E1OFJ49G728EDZQC8UE2ZC div 36#P5S9UIZJUTBGLUYE3I3AIOPG6DEZYWR2BW0FF5AS06PKOK36O5A7IQHQYOUQA13YGDB0T59EBFI92BPE40BO4BS6XM0YNLOQ6RFXOLRBRA1LQEDVZLDEN40J5FHCZWFENSWTCQCXR3PAJWHUUFD5KJ78JWKP3IM3053W4C8P5VZZDKESM9TNCA8ZBR6KAV2C0T0557NE1PB9K9BAG3PV2EFL5Q5NSTO6XHP1DDBUPPKG9Q6EGWSUHF37XJD0MT0371BZ2QV40WTJTHZM2IN1FQHJFBE5SKY7C4VBW8DMKTNVR6E798S8185WPXJXF2ZXNAYZ12MM2E9ALWQ51FH31FQJPVFSOXV72VAUSZC39M5K4G6Q1BEQ20RGWXGNIYRZIZ84DZP1FIYGTXU8682O0ZN6KH15RJ82CCA9H9AUCAMPCINQ486VIXWSH1ODX3QXHC8LVD0VG12K9CED09JJX3SPON3121S2PPRVZNMGC3FYA87TL2WUBS04WVT5B9YX7JJ7P5WXAPXXK84AJTZ8AB5YC8RHXOPJ3MNY5WQ67Q5HPS0ZIS01Q99CGNNSTL568CR1OFJ3GBO0RRDLNEDJ8S0G3VFV6TUXVNDUU240Z0DC8HSOODWIWUXZE4ILR5EX3IS34NW5TMLFPKU6KZGKXFFRYG0A8HOF8QUQOKXFQXIE9KYU2ASDRHYQV0SH6GY8AR3EJ4SR3DJVYFVKNZHP2FO2O5T2A50RNGA8C9HMC88V8LJTYY5KLC541YFR08BIXBU8Y6D9DWD4D2H57HKZVLS6BSZJET8AINIZRUFINE24G9TE9DJPJ18R9XG51ENA28W7SWEN1LL3P7PG33G7BOE747EO6VNIWS4ACTHWUL7IE2KRTKXUWFQ7Z76. +-36#27OM62NUYBWB29UCRMBGR3A3JYHN5AADOP5JKQFSGNDWTQFUH6ZXI9TF2K6HN3GIRVEHZAN7VCU1B2PY6YV204K4VC7WCBCZVFJFOABQ0T0ZH4NW41VM3M146RSXZ8HO5ZFE0FRLIAWC60AK4FGXOGDUIOTIJEN6583A9O7IX1YUG88YKN31XWYUSSO0M59UQTP9YBT3HLK44PV42XNJOTEB7NTR7HP1OBNEOTYG0P5LPZSG = -36#557YLRKYR34DSXKQPTXNCAUAZ6O52SK5OYAPYNY1SNAK1ZRFB1NRRQXOEXFI9NV0UWPY3X6IK2X1ZCH5WFFUM8KSB6DCEZ0B8YZWMKVUGPBN0UA5I2ZQV515JEHZ54RFBU7ACJCI11PEXVRLUYUALUNTDFLPFB3GD81U2ZCSTW6ZI58SWPRYFM8R5XLMYDRXU4UAW3J57V40AG8OXY82ZS1B129UAM88LR76QLAAA7HFPVWXE2KSOTBZ6GOF4KCEYVLMBZTIQYJ5HU23YBJK5SNO64WVWMFVC3SOLV5UTCK5AY2M4V9BZEWFZ7UUHXGLGMZNOM26VN9YXKOYYUJKPOF9ATSWR54OSE0DJK2BRRO1UZFSZWIHCIX1IVYC9C65Z92VWWT28MC7RJI4MZ14W4QAS6P4UGUOH73PVGOQG2RCJX5QNHI6ZCQHH8O8L42Q1AG18411VNY5809JU1YR9DT85QZ23M2RH5JXUWJEZHKNILRA7BRCVS4W7IQ8UBLV3RHVC0NVD81D9CQZZ5DBEORTZGTUMGSZ1W8FRCNQ2OVIL9G40GOJA5JDN279320YSQ1OQN6P9SY8QUD93DZ8VGZC4BN2VU0W0GMDDFE85OYGRSYE29H4N899Z3I1KN715CZIUJ3Z14RITD33UFATZVZ0O0MFM7VUZJ1LMU8IX1ZVDFI18YXGQRLXB18QH4WKO3IPL8QGZEYG37NT744LTJ6R9SUDWFGIPKX9UYNMNU6QXHDV88Q5WNEG26TMK5KXTKB615SEBVLG2HYVKLQM6XXGDEAY1C9EGAW4KS0HXDHNXW8UHEW3ZB4N1B138MYOYSFH8MCY1YQ2XJEXUIOE1CAUR48DCNVWZBWSTJ38WBVRM4XK0EXYJUSQBTVGTB8NPXQFKPL9OC5RU12U6WABHT1ZK9H7E2BHISVGQKGKNSY71SMUZSNMFNAOTORLAY389AR7H51GN99JMG00494ERN1A0D2QEERVVXFMQBGCU1M8ZV5ELZCGBLZO0SAHDE3C8U0A1MNMWVZNJYT6FMMSRL7JFAURQRJA6O32A8MZAMXFWOPH1UY79JUNVL0OF9DBLV9GDMPGJEMS1YC9QAZ5PRN1EM0MNCM7IXLS div 36#2BOHNNKZ0JKHPQTYJGQMN904LM301SEGP1RKPHXMO1OPO518LH72WLGLCUVPOTJY9P2WRBBOBXA29077YJEQUZ58AC9ICUCAFBDQ0Z3BD88O36EV79WT5P942AUV0KM97E6ZQVY2NQXHYSHQSWJ4GP98UDDN2FVZ1U8GYIMHGLNMT18IX9FQKN24ITVHSKT2E3GNE1FZPC1PL8JSJKYBIX3AGCSD1ER7ZJR3A2QQ0RIYTB8V554JDM9MI76OLIKL9AXVNHBRG0JWYDQ4WQZHIV9BDI5R0Y8NTYJTAG8HU41JLSB3N3V2JZUHUE6F2XNZSKCQN7FFQ2L6488EINI49T26URJANVP1JPUMBRADCLZNRADHD1J6KK2MHPV9ISBNCI4U3Q2G6GU8GCF0QVE8EOD2X8DPLTXM3I6GM6Y7I1CO6D7BLTJQYDGWUIXPT6LJCODA9IN04KRWHAPASVL6RBZRO7I4I1IXS74FKL34LH54CVHR549R8K9DPQOUMZHID6JCJN6QUSCOU9TY2PCS5X09RQ4O47NKTU1WO37A61BUES9DS5O23NGWIV56V93U2TINHMKMIELDMWXCMN8X1HVKGE7D5LQ0HEFJWASYQR785H6Y5U17M6CHR5KNNEC056G9NVHL06BLOUTO5E92SJRYT5WB6OXF6OGS45LHST4SJNYYCP6732PU9NMBZIOPMMVW3AJMS7GU8NGIVCUT30P6LSYFC9QO46QNB2H337NBDETZOBSYXS9SA8FY1SJG9SGFDJJ9E60OTPAZUS4RC79ZD4T3U2T3ZT2YI78POFMH21O293V6101MLKOOTTR8HMTUFJS8Q3S9MHV0G8XFVMT05I3Y7784BXY07DQO2XNTUN93KO4WM. +36#3VDUNA62ZMLKA1N7EWQ50CKQ5UFASO69RXWM2IQVQEVM9ZBBD1SHX6BC5YP3G2Y0KH17O1P6R1D3Z5H0Z1F5M4OFSXBMGCGLW2DOSE3IRS9S2HPAK4RODEMA1TXJW9B5BSSNQ6MFVNQG53G0FOSCSENJPUITD8RARMAQOM7KVYL6RHE627K8P74Z0EEVZ5G7NNEVH70FXJVDCXHMX3KYU7R05871VE2U0A7GWCSTB0ANF6K6PJFO9ZE1MTM1DIBBIEN0DLND0H7L7UQ6T0TY1VJSPOOE677QHK5Z8VS0UB0MKCBYEDOVLSDCAVHDUCUG3G73JJJC84B583WBGKATPRWZLKBW57UNG0WQZ0Y3Z7HCVI206V6ZZ18TOV9WIQUUE5NAYC3QNYZRZ5KD82CL6RLUD86EA11XG8HNCSP30G49Q8BTCBS5K271W75VC2IQZP2YDARPB2ZUNV8SBX9O7LM4RZWUGS5ZTODFXIA6RVK1HW3TYGB3B4VOZKLKKY1LQN3DIZA5ZL5918GA2Y38HW7FZCSXT7YBZVPN3Y8NZNUKEXHMQ0CNVYH9C012BAE260EZ5QXO1S3C7L8I23GOIZQRJYAZMBM6YC7QCISI7357HKHE45EMIKY4VYROYDOXWCCEG9J3WU4U3E83L7KZXLR2XIP1MIO472VJ6SMX0UYL080X439CA5J4B7NCC2QC6MK9Z2OJASGQG6N06VO9OK054W9UZL05P5ZHOEMA6CSWIFISW9RHRPT7HCNL8N4NSTZBPMF1GS5DCFCE9GT7CEYGVNBH8TYZVUGX5KGFK7ABROWSTY344T2ZRB6XHF1NO0Q0YNNBD7WT79LS219S1UUMCKGYMHZHNLPUUL6PNJ4YHJB48C7I0MREB1WHA5193GAM0PN648ANGPH98N3L0LEGJ09NJ6M7TSYQETJFONS3F8SGIJVHLPNZKMUWIHNYMXCGPV6QW7L8K8HFOKZWF4TUECW2PWG4GDTYNLNMINXE28GS1MV5LY4OX1SL73LJQ4P3FKO3L89J0IA4INWU3MWKM7Z6PFJODJRFR8G40I8EC88Q5N5123HFBDJ3W4QZIYH14MO7B1S8WV3BRNRV647FEVEOA3NVHLWSVX4RRO5H6LKKN5NEAE7WOPGK2L5W8UM3CIE8ACCGR1POOPPGHBH4FPOAM56 = 36#329N9FJCBYQHSQCQA15CVNWDXRE8L4SK3VYB7NN2PN1HZEF9W992E1DHBLH4NH163A4NO11VC3GFLO065UHV9MKSF75CCV2PGILMQ535VJEHXX8N2LT3KWE18IWB00C6SOUZO63NELCIDF2Q09TF6EPQETHRLQB8R6B8CYSJSTL5BN3SEVSJMX52AA87OYPQX6OQFNDODSHN0HV1L19BV684CHZ3I6CB9GDSZBMY9T6HB802OQNFG3W0NXYEMTE0CO5TOEKRU14KIZN73O95KP5K3SZ7ST1B1T8UM7GQG3H1R58RRIUDGPMJO5PDMN70GAKLJ8JO60E8LNRHTIKUNML7XJ393VSW5PZGQWZ8Z59H8I0IGMAYGM937LGEC77706TOG4OPBY8U2S2MZHGDOY5Q28SMCK1CKDQ6T2Z6P2WOU2887PZP3LKCP873RED6KASJJCMKR0NZNDY8DH51SETC5CCGDZ3X9E19C8EG4B5LUWT9DJNZKQ5B5C8YC4LM0C8A4MACVLTQNNSILC6LWS6BDYA5BLMRSJEP57VWQ6EN6ON21B044CN7WGYDXB5ACIJX0W2ZXK6ND8364JXEKAJGI4KAHVKU9QDVIK0LEFA25AUW3ZQ34M3339RF * 36#19I7R3CQZG7U10BYMXX7WRM0WWRISY7E5JDCA70PQG1FAL91S53LIU4MJE9EXZR0QXCRHDJ6LEAF9JBZOUFXM67UUZ7XSRZ8E2EKQUJCJFKIWO1LPBZIJ1IX9N8OMIH2Y8KJINI8DUG5ZENH8ZOJEU2NW6FJQHPIOAJ5MQIHVO26UQBRMJO4W7X1KE4WXP1DRULJE8KZPW2GZGB71U5RQM51HMKPLJ1RY8UOLK6GZQV3ETFOSRB6T5VGTGSRJ2DWZXXU6P0IAIRWRMP800V3DICRVF2HI7JH1YLRSZHM9AVV6FDAP5PQ8GQ2RNICX5UHLYK6NTG05FDVL2SZTD9MFJX165OWHROQH4DU5DTXJY19FFL3GSCLAMMVK9FHTKADC8P96QTXOFHUXT5M5PHKGQO2MEKRUN83SVIX0YXXBT152N51NLTFJ6ONC76KSOMWHNA849EUX0E8S28D6MOOGGZO0I5SM7NWY23CTM3IBO7FN5CF6DGGLP5F69LKI0LNJ3MHDACCU9DSOXBG0P9ZSXDZ3UE32NUMTQRY. +-36#ALOFAGC3ADC55SNSEO6FAQ53RX9XE2J13K0RHDCUF6WROZDMF8XO0MI7UAZWA9CMP88LH9E59AVQA6X4QZBKWD1G8SYUEP2QO1EZSPUF44XZ5VBRHAQNC9Z62F6J8ZVT7KNMN4V9WHPY2S1WYCSXMQOWLV5N394426SABXODI9ID68W2LYE6KTN3PXYXFIR14EZTF2Z65JS8J30MJ5OJME7VWA21WE6GJB8BLQJSXJDX97MDAJ1B4LUI96IJTVSUB69VOBFFTSYUFUUB0DGJV9ZUIIA67G9399CFISIL7OP9Y8NRFI8S6UD4Y036NSG7 = -36#OERE57DLZ66SZHT2ZB3ECGMZ6H6R0PJ7PIGL49LCB7WJ1X4GRUM0PANG5U3QWB6T07E0QH82B8S1VXAPCV0JSOT2Y67WLEBBPJ9FC2B0469CW7U8E4X3GMTXYCD3T15QE1JO6777DMGO700BCN5TIK5YZ0NVZSUSY3566JL3ILA1Z0ORG5LUYG3I3WS87K4U9JJ8KM6GI3NDCZV7K80UDRD56OV9TTXI7KDS1NNSHSPQJLVNGE0G4LUON090035VW0LZ78ICIGZ42CZN4DM52TZNMA5EUKL484MR8Q0H24UNORV2R7HV5MTHLWYH6IT3T45F7A6TW3JT3HMKX57ZJA1KKCRU08CWE45478PT67KQJLKOE div 36#2AVUVAVTG0NTIS0606M6UV7L3HOY6CT8B05FTRA6WMPEJAO142. +-36#8DEEWBOFA2IUONWJIIMG3DHZK73EAZH5UA299O0VCLW80ZBH1GCZHBOKZ2EVIJ4N9CD2SQ7BWOV7H8GRG8UGN1AZ2YEPK05OFDE = -36#32P8HAGRAXL2VW3ZDQMRGALUX9NJYONHWV8PTRBP80RZ6EWDXZ * 36#2Q0K3NJB1L9YT3ONBGYWORLQ5PH44M43S80GF6Y8982WHYXBEM. +36#2Q5590T6225SAWAE7IQQ3OTEMV2239IJWDL5UZJGJHG2Y0GZB42IH74ZLXICFJDEZLU5I295QX2HCF51MB7HVG9QVEX692LJXSJZNUGLTDZB3B35S7GHZYOYVQPV6VXO07RSSPWPDGIOP98O2DWX3AMK86CLFLOOOBXZNPMMTNSETQDZXJP8BO476KICT86T4I9P05AE1YT0D8S44UH6PN63V3ZI6J532CPOF1RJ5RGIV7VP0564YI0I2UYJ3RHXUO16HIY52AW7RSAL5MK6X22GHGH3MYPVAECIVFTMYDDQU46WAIYUY84CYG6NWC2K8MNDKJ5C4M0PWCVP436KY85SL3T1DH4A7BZ81AEBQYJB9O86XU2O4AW02VT974TYTNE1MUUL22F85QOE5N4YD7MXPH8TYYBLDZDIPS3ZU1GT08G244GNQAUAQZXDRMP17XPNG5DFH7E1J0BJU0O54TZ0JPQNMTXRRY0301IYSOKQU955L39V9ZY0N83AIGTIMAWQTDWX1BMF0NYH7HHF7PNDUOLD596V0HE64HXP3KYWW5JWN4N19I9N2EC7X74S2I3VPM16MUFOQWWPHOIT5260U2PBZ8R094P0YWA5Y0OEB4RQE3OHMA4DSEX1C93NN3SJ30Q0UKWG3CTC4FCS2D4XFNK4L5JNOT7GGT8M4I3NSL9XN5K23RT9G0L6S2I4K8VNC9CQPBJWUAZHQN92M51GXIAQP8JAL0A1JNDGG5G889TM7XHG2MZL58Q76KZCOBU93I1C4GF2M8P06WFKE = 36#GG0MTTEWVWRCAZHIEKDUR5427BT3LYRR9CGVTII0SBACL7JITKWARSON5HB00H2BCT0P8QY2WKNU6P1IS1KB0ZQEXTHLCRG434803KJXLPGES4PVCLS4258AP00UQF6HM9MUFOO8O6WKSAQMVGY77X1UVIVJNZQFYB * 36#5YUHSYJUNOGV6BSF5G54DLWV4Y0IBBTPKATJ9PE0PK72VGJSTD1RDKCANTBZ87FW7VDWQG4D22N8W0QZ0CS7QOO67WRSRNEB827OHJH49VLFDL9CMID9KKKETPDRJFNUZ3XM7BKK28UESMELU6KDJNM3OCXEJUW4HFDH31AMGFUCOB1BKKQYQJ59JSSPZJWVHHS9XB6BF37XVWUHJUBZP9535DGLFWR9JNO23UJ1O1HWFTERVD892I6LOZWBM6TNTYSH6QPVJ421BSRI78XV9E9NTU6LF2ISUJTN56TQRN58Q4J156DLXTIZBHOB4GDHVPVWJ9X4TVB7U3UOIIGDYGEG25AZK37S039EN2N2E5H4F1EITZ2KTS5B0MI291HLFK4P1AQMFUL1O9W51MYK52UOVHESJZTX8JVM93SU1852TRXG1IPI0ENJK4LL87V9AW490SJYOND7N5U37I26R7HTAPW838KSCY0QPMERUI1NXNAH01POQ5UZKMT6SGK5J8HB145GYICTN78QWT6ECGUJHV3T0QHRF3KUFO3EBEQRFGCCGU2FJE6A28F278H9AO29BXBPKVAW58997ZO2FRMYGUN7AYPUHBISRRF7XP0VVES7WUY. +-36#273N8Y238F8AFTW5P2J2F37Z26PNQBPUVTLXWVMOB115OERBYR = 36#ARDW5ES0D9QUO34MPA2T0WFE7MLJF84XAIJTA1HCN7PDF0WOF7SAITJMIB68FCLK33QI6RLIVGE13LT306XU2RUI20G0S2QQHAYT0N4NVA2H69V057C3XA9MNCQLSG16JNE4ADCXWYU7AM4NIR3MJ8P4WJVT8YNKBV0C1BQ4JHFE4O6SOGXXKKEIGEDEW99NSHMYS7TXNPI64K80TS0OQRRUHMAUE3D79SBF2VB26HSR9QTC5FL8TF4L5LLE6ZDXN3UNK3F5RGA13KDLZI1VRJ44QB38PWQ7VDZHV60U6DD3QI0FC3LAHSUPGXG6X4KKI6MD97N54ZI63J7PXW7E8E11SV61CO480PFHXM1R7AZCLH4TRXX54GSRR4ZXHS4ETI0B6EIHPS5DQKW9F9DU6M45778N6SY94OHR1RPCXCT339H06EHHI5VHLUPE76APGSO3CKB3ASD7HFG0LDJ0E9RK2N21NBGAZ9DPISL80BRDTEQ38J1NR44761CZRW0LY6M8UHINBZQ9G3B6YPB15NWM06G2VMIAF4I9UU4ALYCT05NHTAT2WLNVFJY98J4FTD1E0XKSGYM4951DIKMNDSBBU70G5RFJOY3UILUM3YBNS1Y8WLWOWY9OJAAT4ODO9ZQ5BSEA50N3JA17IFF35S6I3X3UERJSUSZ2MQWB5FHA62GOOEY0HTZB6RFAZGXV32XC797I5ORHWIZGQIB8PXM2DAD5G07U0YBRBZ7PCOM5KX6TD8L27DXXPO5IR88MIJQYO2OWGZ82NXWU08ODEUK2S97H0MKHJXQ2O3HJX2PKQ86LL75UJ8NKOV4GTFIHBYQSDS451R1Y01AVHAN9ZNNKK26MKO10AM6R1N7PADHNBH4RO07I4GBPL64V5P1VDEX5SBMYE1CTBPBF6RIY1B30USVOZQCJQKMQ55LEG29LVRY0X1SO2X449TSRPQBPCB20HZJM5FT1UB4LYW4UHBI74DMHIY82BQFI56GZSWJ34NAM8E1XNWVEMC2L4HHZ25KYBYJKEEEKJ16DA2ALGAYD4YRB3LFCI5YSWLYSFI div -36#4WAYCN19YEJ6V47BPBQROZ7PTLO7ONXEKCNX7ZOF2H0M0T8GW6R73RV2G8CUNQS3EQC7ZYFVB9F8WKV7NRSKD77QSO58B8J0T3PGJG4YL6UYXKYEJMXA6TWGTD3EWT9O4S2JLOVKH4W8QWQ4H5RRWC8JGCTJ9L2FJZ34IVCJAI3XP7ADJXAM50LL7DWWIV27SWIKB4Y148IPF82F3VF8YA18UVTA8WVEJAN05QW1CBZY13PQJFZLKJQ891QXBR61I32RU5RRQXS204MROQA4HSBKQX9XTDS075TD0NWLA022VDHNDW74L9IW637ILFZ6P5TBPVSP6IWSTVZ7AQCAW3JJ4P2T1TP9NPEODSO5HBUAHESMYS6ICPAGALM5599V57B6U87KUW60E7JQNMW0OXXF89QKRPGG8VPHCSKB5NPZFUH2U39174ZHDQ9E0VWDMKYWHYXUBP3FZTKAE3C3TBN64TGWV9I25USQ2PGBE3M2DL54XRIC9SDSVP0VV9XHUXSZFK7JO7Z234PLLNNEJND5XG9N147HMVVRKZWGC619QOB04E1T0AZT6U86Z807FIST5NE29X9ZVS09V2FDNVOU7N9ZUWAB8OAHZWBS14YDK6O5927YT6VRGE72R1XTUF7EBDO84PZ7VX0HMYW3HA0IYQBU49JVPDOX4OYFGI4H33QDG9H70OPUIVI4SRW183N7XV1NI2KJSVYGUYME2M7EKIH6FY64NZNFJ3Q2GCWH2ZTDYVJGE4W07N71D18GSEAG5ALGZJS8E1N2FH3NCV65RA7KVBA72HTAYAO4BVIGH7XIMBTTZ2A5MA73Y5S21QRHFW503QQC3NR1JNOVA1BLYEVVCFDN3B0NJR59U7846R7ED5Q5A65K6RGGNJ0U2Z1D3RCC9UBHFVUTL3UOIO8H4QDDE5P89C1A4UV9VKG25UT5RIXUWBXDITKVQG6UAGI5ED34XNJXXKUGAPVA98D8QRHEC2FRK70YZYE54Q20AGWD1AWJO61I2. +-36#PSOJT9LBPCE3AZJGD3JRGVJEIUTGJCD4I2SRCKCFTFWQNVB7P0TH0BHIMWDK0AFEQLSNQV9TN0WGWOJHRXJUJPRNJJFY8U1WE5JR8DINP0M72VS7N1ZLHR58IRL70SAQ7Q5T7R1ED1ELWL7OJTTHDNGPPMLW4AS53I6JQ1CR4YI8GHIAPMTHC2CI2EWMWI4EYLM6WJZR93PYUQZLHL53Z3ENB79UMECVCWUJKFIJ2NKGFVX5IJ06QI8HP659XZUJ3981HION3FALHHF2C9JLOPSJMIC53XCPXCMZWFRI41HJ27GHCDDZZUS8COR6LGSYUGLG7QE9VQQMJNI7BN8LJJSJVYJ5KJHTL33XSV0Z4F3FZLXG2RJ16ST9G12KTTLDKYBNL5588N4MPLG790SSVIXUOCV4E8JDHTQB2IPH4YTQB3M2NPMV5LBBLA8XQIV3624ZGVVB5ZJG3TLP8P0GZVWHTZ8ZG7K2WNE0QYHCM33EYSJQGEM7W2KU5X0SBXN00SIWAMS9MUMWLFCLURPYBKVCAFTMCBVCBTX47I2AVAO2Q4FPB8X4AMAGRUWLMQHSWZ0XE0I5Q3GMN142FHMFOCSSEXZ5NZONFL1I23HF87KDUAD4V6Q4WQIMTYVG09DPYGRI2FWWOUH23KY72V1UQTJDXLQG7L3KLUUP7J5CPZUU38CBW02F3HPYX0S6POTU9W4NP8MXT058QGSPXMXGN32EHJ1BY753KZDJR91RP62POR5F7AEGN7UZSWRFMGT78LDKTOT283JYAOP05W3DVYVPQ149ICX3O5E0546191OVEXJEGTYCK2GZU7RKIMXI2LTOZXT3OWFZU0FZZQ57KRN98J0NTGH1AJRPEML09QTRPGR9JPV8KNZ4YUIB0ZFU3AZR4B395TMCUZLCUTQAJE4EIBMBZQFXDEEX4BOZW49LCAPUG2IH7WUZDFLE = -36#JKNYPG0GSS9GPKGXJ3W9NZWL0BH65I41KZEXXI7KWROAF0N7A99SFCBJ212BOMQY3O53CYYCI8F8RAXTRZ16BQ989BGESG71WSHNVLP3U1ZIPS6T56IMOUD2FISED7UAEZX7FCPY903PI9IHWJP7GU220VR7AYMRSVTL4KNPJZYF6RV8N54P2QJV8U0OUNTJT00R74YKQS0M87UDODC5OB2TLOZ8GDA0L6BHMECM1J3BOBYYW1VX5PRF9RRR33VS4I672YF8I5NONZTGOCN7E3URNEC0UF2XE7VP1ELKSJWS12QGTDNPCPJIW5ATXIEP38HZWUHR6LVSFM84LS0J3OQJBOJDUKRFNX4X3OEWLJOQB7YBHVOMF953EC0KBCZWXY6M0DROR011LZHH3EL9JTZAJH0XLZ79VPBNCH43NJS6ZWYT90VQ9KYALRD4FW7ARGL799C8RFL1GX8I2SCSA3EMTW2LL7FPD4EAOJ3APL1YJH2RDTAVP7C332PCNFQ9DKY4FCDXX7D71WWDLA0Z97FAQV8HDUEPI4BWHEXN1V5DWLUZ5AK5JLXBGQ93QE9SIF4AF2G8YFGX3M9CZ12XUDOYB1I97K5ZMZDK35HL2O4LV7PTS9SWMBCG8LQ7S915HQHWMROSUK2JMT1VFIJUMV5PC7YQ62WTV1Z9DM9TNA59AQO029TCDAO10KVZVOK13OCYEUK3HAF5GJIYMNSRTATJJNIO08SXYSRLX0WU0AZSTY7NXUGLVJ0HT1E2JJY7KICAK6HKTBYTRBL6IZTDJGRC4J72571WBRK20YJUWCWR61TMAZCWC73166EATZQMHV932JXWJV7CVUXQ67ZV7I3MHYK66XX7714F9JEN8W8FHFZPOZUTFBPF8X3SYSQ6IR0J0MU95D5R899LGEF6RVNGY982WQ8RK4PDIE7MJXYRVLQ2CIP2CZEZQ7DYF8YA48700OX4GIOE9SW44EKHT572IVE9U1LIS3T87PGJE634Q6RMNLZ66T2M4W17WPK6SL1BVUZDT92XR85VE38122IHLCP4O58L9FA9XCEGRBKT5H3C6E7XY700S140GP94Z2AY98WPDKI6X08XI7RASWDMJQQ8LGQ3DQW012E5I21P9AJNN6XP8EYA1PHEK43868LU4ZRJ9VZO9DG4QCSZCZOUM05LWJTP5XD9KARNHNX699ZYZ2JZN9BB85XXFWP8FNEDYOLNNSD5R3PEG8QAVBVLTT3D4C6KMTJ29W170A7XBQZ20RW5K3J72ETQA444F3W4NM8LK4VOJIMIHTNF1B67MPWSUSFHX2IYLQR024XFB560ECO2PUG5CNNYUXQXPHG0DXOJLCRD0OK52FK9D18MBM7WT1O4KHHF0UJ46ALIEZCW5MOXERH6Q6ZL6TU586ZSMAKZWC5K4IGTXHF1KSQU6Q17VDUWTNB1QC2JI7QP0WGN92PEJBIIIR42Y1QUER22BFR3I5NE12T3HOUNXS0XXS4P8TWGYTR31K7IC0IIF0KV81WQFJ0H3FO13JA4FBP7ECO1OSWD68A9HFYUA4CUVJPHRDHBN1QFC68E9QMHBFMI82LSGUM38QFH8CSXEFMYXHER12OPDZSY21LXRSVL7DDCHRJHDAGUAFYZ5AJBJBZRO74LOQBL9KB1M5WK30XADUN5UGYXMHN3YXAZL56Y6GY5KD1JGNXA3PRIFW1DD1GHWGFSYHEMBLG div 36#RBDNPGWTJZ50C5K0E2IZ3SKIMXF2ZCIANAY0G38WIGSF1YD91TEHBF8S9FW934ZWV36PVTRLB9G2PRSZARRB7NUAQ1Y12H7ON5J60USVDWK0MS883WTBWZIRW82D8TGN5O86MU4X6XKV69K7FTAEYQ8605RQ6UUHZW1C6DG77WDQMOO8RZT11XI5FEJN6C32QS45HX47E6MCJ5Q0NR2Y7285GCIQ51HLESYU1UJRWAB2MUWPEENU2GZD8Z5I15FRE9N964NCOQ9LN5HW63V468RJRV09MN3ANN7AOCI3G5Z8UTNVB6XI7CQN6SCKVEJ9EI0CNOS5UV2LKST30E78BRDSAY8FSB0W1TUI0HTA7EBY8RKRNMEYPZB8AJ163UL9V6XNGOMUDJTAWHSZVPG4S4D6SCFF2HXDNGV51LUOP88UF9Z6ARPRY3B1O1MS9T9HY8WNL4KA02VU00Z1KQPZV4CEO460H5AV0QBE9W6S321VQX7JEUW7JZTG5K89QUA8FKZ97H8I9O179UHJYII16C6VYI2I0TEFFZAD416F55FV6KCDHG6DQ85W7CWT5WP8U9BN4CHPSBCLF8M569WEJJ65RKBGIHLT2YOE57OEHHO9TF5SZYWWJZCHI3IDZ3H4UE838CCDDV2GAHMHR1Q8KKUKIKCB5J0NGUDJC7M30IYQEZOCVJXIX247N4V398SC5FKERHWCPW9YQEDEI5FDIVVVSIAWVDS5JMUX242LNC8JD7VSQIGSFOYXOPFKPBE. +36#1UL19EW8AD7URYJLDOHRS3YGXNFZM60KZHOP2AQ0UGPN3NPEJB57EIH3RZZQ0LXK062CY8KJPCQJ8TW82EYAPVPH3ITFH7ZPEH0 = 36#2OJDNJ0F4KUZ5U0Q8AVYBM07PQU3G098RD3PDOMWEMD97I3CRF * 36#OTVJ182DSAEW39JYMYNM8I2246FDO5E5DHO92ZOFKKAWCA7KC. +-36#BXBKA67W324SSGVFDQSONTQLQ0HQ0422WA2YCIPGVD4BLFPCE = -36#KEI7WH7U7PI2Y41UKOXYQIMO8Q72FUZQ18ST62AUHTXDIO2EV1YA36GN8E5CB1548IDD52UYB2BOYNRTNLM5XL6E4BVWASSEWQQZ1NOUQV20K1P9B3F96IAI2L58JIPYM6AW9S5F8IZEPF3Z9B3V658KGGF7Z9JUFV8VCQB26L8K27PO00LAVF5EYVQ893RQ div 36#1PL9MIKZ1JNRFGKWDATJ9TNAX3NYZONFZTRESYABTZGMHT0RCCCUJ3TUZQ2PD6R5RW4WCWDZ58MIV23LH1K6HASTBL4U419LU64OY4ABNWXWBQNYZ3EW5BEQCIYOKUX0CM193YQDEN7MKBLP. +36#7JRZ39QGPTB8PW25JIXH8NNYLSDCMSF9K74FYTV44V5D1FX1TH7XWYTG5SLVWIKCO9VR7WH93YCK0Y65VQLFQW7BFYHBMUFGBTL41RIQV8EURV2FNSRME2L6KUWR7W35RB9Y4T7Y8ZEA6AXPAHMJBBRY8Y7IS0SQZIMHZV8JMW12SEW4HL8F7R6SBV8MTVLFEK7XCLEEA0872JRP404UV6GLILZL887JC7TC3WIJ7LFM5KXWJ9MDSN2BMFX4QYATOSPF5PY3BG9X55I1EWHQ7G16IK2IZ7SYN33M4BFDH3494N8Y5XEVH91KGKC1D5J1TF1CCTM7VGOKKQ0FX335XUEU6NAOFHIJZMK70WUB5KUTNI4MCO2Q14K8TCNSL1BRAFQME82W2WMKYATA52VYL7T2BR3WLBN6WI29GTC69T06VHRNGJKUFJ7MDZ2ITP60EKVBFRO1DYEKGA72LYXQ0HXEP8OIZKKFQ36DS52BE6U7MJYOHP43DDTT0CXSIRPXFJHGW3CE042UWOEMLV62XVL8KEZ6IY3YU18H4P9RXD3M20PMLE2IH8PPIUE99MQUO = -36#2NB9ZKKE5OYI781X0JIDCIIONO1B2PEADAUQ42CCJIYJUFST5O3EWKIV2RH24YGWCC2ADZIAJUGT0HMDH3CB2K6CBUA7KAP3MB3XOK3OFLBG7A6KBS6IO63EE9FLWSK96UUIVJ8K52PQOWF4YZ1SREGCZNS635SC5OLHIC6NFULFHETNVTUFT5AXYLNZ67W1UYXWZRMYF0M823IMAFLNI8K33OFTB5CWIWPRYPOV0ZI3FLJLVVXQLDYSTI0MQCU5PVN8TZQ2NTHOODPH6LFSO9IC5G * (-36#2UNFBV0QN2J3NQD38Y2H494NJJVGAB0HKAPNBDMNNB16TIGCQED1DD0DPH3ELMF4OP34TC72SQ4ZKF6RRQWR84Z04774XE52NR7QQ40BACCJ3Y2M4L72TFK5FEZEI67ZT5SMD2HT4YEODGUP58PGNQYXO5L9OACQ2NA3VSZ528156WVKK0Z1W5ZFDYTKHHP1HDQX8ZB8TMMJC7OQABOFZ5HK7I7Z9KVC890UNTDYS0DGNUAXD4WCQMO9DG3CWTPH04TZRXQ293YVVUSOBE6H5ETE7FXGOA4PY334CT5O). +-36#GSD4ZZ7D5U56T4TPSGU6SKNH4QWRLFO06BVHAULG256KURJSAR4MIOG1SN2VJ3DZW5BR5CRK7ATUZQNN12OW9SO5L197E9A1NOSFSM9E45DVFHXXGQ0XQSVFTDZEVHYIHH2B01QWUB9AACB94S1YMQVTP77IU3PML0BZPRNYPIQ60D3E5DS3ED26P6U6BO9LS0ROXNCXF17IGTFSTU6FH34GGI3BESFHTWCGX83MWG1FBQ3T1DF83CJECQ0FA91497DF24HUYL53URBJQIWB53UQ3PJAJWVCPJMAFP3IQPJ8VTE3L31030W1BAR6NO080AXHDRKIH11I9420PESMIIUH7ZUANKJJZ70UFG1G6WJS73KIBPLLPM59JG1B1FB3RU3YJXU7AQGWKEXZ32R2RA331PKNBZUG6P4AE92D387NMK9KUFG3YM2FRTF1EOPFNO8PG3S5GZJ8EWYUXA48FDPWXSJGTQ451G0OQ6L73SA07QYCDCFVS4X39R89M8K9XC9CNYPKR0JB6VSJYNUAD4GM7PYCK5UXE4WJULSC6F5N27CNEDSHFR2TLKHSUOWYLO2XEUXA76U1Z1MGVZOJOKZ14TXJ6SCJ9QMI666WUK8P8XMISWX4T2EFS5NXTWHGTV9JO0PCE8GB0WJY6QZFJD3UMBBQN81XX359B5NWOPACZJL6LS66Y7FC = 36#KRWOGEGWX4E8TUBZ68SKTQYNMP9J6N0GZTTY75ZBY3PVUUWT6GQZXZXOWC0MG08MNIE28EZE4HV77KWZZNTF7MEW9Q06IXLEVO3FL8XRLPXYFPOXHIBTQT1SKJZD84U8IUA7WNZ0BFY2Y0ZI1RS6PKE0IQ9B0GQC7T8ZDR0ZISAZVNVCQN5I013AMKL6PORRQ6L5PUS3QUOT51KHX7MYFILNVKKCP5WBL3IFN1DVNUIYIRH44YZBW3OX8KXOZL2Y6JJBS9DLXYIQV6Z6QN2ISBY2A2SATEGTIAJYXPF98G96XHEDV4ZCH9YBGP6V09KINJ4IVC4Q5AOCOJY4GC7QV0QA0FTKZVHBXJ9I3BE3FLCR4AHE512U0UK12A5QN51039564RD2YYGNH9LIRU9YKMVICG59RQHGN15HFABB49ZKQ6 * (-36#T39ID6BPBEQFL3ZO9LQB780HSPMY229B35D9KHAQVBUTRGNLENWOHFGQYCUKXQYMJ2PGKBJGBX1BXS5XSCWWC8M36PK5AC70R320GPFVYBXGUEOSSU76LS1150SJ237RR85M4DTXX7L6S4OJE695653HXZ62D3FUUGWUKRH6RZK2GST3GI6SGKVAMU86U58JCCA835N6YU6NMWFK1XR1HG44X9IHDOC426NXXG0GMCCLI0XAN45YCKQY60GNZKZ0JWCJUR4EDW). +36#1HFB8R9OUDIUSNSWME8KC0YU5O7M3X1EOWCA8T2FA6WPA5KW0O = 36#3QGFWRXWBE3VBRKZ94TO7I27VRVBE5SLGNYBDTUHTBLV5L5J7FO7BV1KNLG2JHLATO545U39DQHWCEC7QQZNVEWR80FSGC9WAJC9D08HP14A6LY0QZCHHM618OKTBHM917YE6E47YFOT6WT38WW3CJ3RCQGCNHICD97VDX1JGXGPKO92PAUVCFY5KW0G7RB5MBVOGR7V97ATV23FDWYAHGSC4M9W523YQ63SA06RBS60K6OSN8NMF9IAXH2GCU5O24HT7LRP79UHKNGXHXDMOXJUCIC1DPCAMZONBFL4H33XGTJRLX2RPHF41FZ98Y8RW1H99NIQRUH39NX9PRTPOB9X1FF8DT83R9PG74T96UZ9KP9YN5UK7B2O div 36#2ILO654O0V3EJUGIBU4K25616FMNT3ZPR69G1RU7MYUII05FMVU346T2HZJ5DFS1Q7RD6D5T9EY9BGP90ITGIAW7FZAL1DQUT87EI11GQQHU3UMC34BHJ6QKQJDCBP3UIUR3U8N4CZI78GE9D6S8V09W41T0R1LTKN3IZ52KXWIWBB8LQ2RGINOVHX2S2U5D6PRUEM1PLBASOWHB954C17XSYYKRNC3TYBYODIOCV9ANBZ3SY1FPBAF2KRX6CSIOH4H5F707E5QGV4YOZVFK0CY0CVWBI8964QLAGOI79LA1WRUGW9BMF7ZTD06G8LY0PNXWTMM. +-36#CFXXPMXHJL1IPT6GX5GJ8RRA7YLCC4PPGW1JFBQEKZENLBZP7 = -36#22VBCPFHV5YJ7RLD19F0SRWOY68IZRZYRMEATGXDHQXJIUHDBY671JBD17GOSYSQXMR5JBVSSJD6OFUTAAFIFT6DVJITN8CYAU3B2CVT1IRKQSP3OOXC0FS409UDZ04ETE6NLZ8ALIBRXT1UNFO808P1TEKCIX7ZI7T4B12W1PS3P4UA4J0V7MDA2ABOC3HT0PM4MUSFKMD3DMDCQUQX0L1MC7MDREC1SK6FP8CZ708QQ94787SMCNC05MHV div 36#60M5RFFTSX118KJ39YI30PR9FVRD7PU60L0ZV8E8CEUJTLHK2GWY7W2W6I3TV1PPGMOYN4CH1CBKXV1SNTTAKM4GBLM9FXJGK1HLH18S3ZICSGJ18DNDFOEK8NVFXTJ52DV4PKHW5N2D7OQMRTX6D3LM2AHHTKE7DUEGGLXVIP9LU6Z98D93U9N9X0TSAZMGXFR3BYSUU0P. +-36#1BBBA698TE67VB7M2ULUGW4I7CHPMTOBOZX7WL992SVRCJHL7FF0Y77KE8VVHGPKQKJFTD6X9U56DQ8U9X37PEZUUUE2NQI7FL8QGWBVG1DYYUEIQPL9Y71JX3A5MFAVNTCLBRM5R6OW2QBZHNMPZBNWVYFYHAVT8IW2VISVIVD9KGR8LUP3VOS0CP4S6KGQ4E4G3SRWAAW717T6BB7Q85ZTT37IRDPX8RAO5LMUOXCTI9S4SQ0J75WWW5EXRNR92XQN018EJIMYOJ776PD054VGCR1XJH0A1Q9L3K7SZSZM59V6J979Y8CUAACSZFV6A2RK97S37KW4AHH91H6KDPQQDL24KKCXKEH0UU5A5H4AWPTAOQIYE68ZOYH7P0YXR3NVO2UZMYCSGLN7FBWM2EJZOWVMYZLO20 = -36#2HG3FUCYHTTK4FYGZLXMO34XKVRKXTECVV1UC8KHKR9ZMSJVIS * 36#J1JBRE48TC04CO1X2UXFD5IX9JSCQ3FW5JNC73K9XAIMKUGNBCK42ZS4WK0JKB9CGAD0368S2MQFKS2D0MRQW8SWWOTVHS7VU10T4O6H7OB5CDFSGSJ6AACC2TARJX70IW4D5NQU3A8OZT0I27YW5AV36Y3221M33112BRU2WRH9EGRE4DBC3U3ONC4ACAVPJPJ1JIN1Z8OEE3O5P1K81US27XLMI1CY47JSBKPJROYKXYY1CJRBWHKR7ROJYAQVQLYYF5HF05IHRYGSSAXZWIHSOUFGUQZQLY8MJGIYPSTJDL11RI4F43N5IWLYL87J2PFPBITSJGAGYK88F07412BNOAAAJREFZTLORZNUIRYQE16I. +36#HAHQRLFTRQGZVL3N1CSW6ALC06SZEN71JDJ68FVBD46RF9NE98JFVQ7MW4IK6OQ9569TQAYX97OT30S5FN0AB5I17H1SL6J5XP52YMZUQ54OTQV1LEMM0ZT08HV9QRUR65J6DHRMTMZXQA4D61AJ91GO4Q991Y2ML6BNAN1N8HQUQP0AQFF91DL7ZZHQF38NW9W4XYPSHDNFOT6G2QD11B28V1HWNVPMYXTE9GLUZUE2QYHLVQG0KCPR5H4URDZ13VJOOFGIVK8D369Q7BY1GFEOD9CKFU7OMH9CGJC4DGW3TTFOW0GKGKQNF4UDT7BL8CQZJCRP03OE6SGE3I7CIN2YOE51VROHXYB8Q6MLI97H8IIHB0H34Z5SZ3PB9LQE7ETK5M4KI46XCOPF4IDT156V1Y32AYJO9F8QBCL6ZU9Y25JJVJ1O3I5W1BQKH7DR5LHMNEMMHLOFBPN0UXOY7GI4O9IY1U8TDZSWAPAXY9R3KZMATJVKU3QOM316CAZ90EW1PUBA4S74LT2ZEU1RRQ5CM5CSJDJN8LZZP2IPTG0FMOQJG0NWF7390PLLB6XDZ1OF4B6MRES4LBO780057CO9W5MZDGMUVCQO8LGV0C1SINZIQS57K3QNFEM47WVXGN1X5N1I6TFEOWFDW0QAAKJR4DNB1MV1I3UAPVUHP49ZDWI1BNOVP7BD0R8AC1QW5KHNFR0HUPB6GQ7IDSSNYRONMCV8MLMA9JCR62Z4SI9SXKHXOEXCQSELWKGTTZMWT4R7CJMWRUF4LXXK5TN0PENDRSYROPKT33XGJT4JR5UZ0XH5PZNY9HFROXYW1NDD1VI6U5BNZM66L1SWJUZLOPRQ383ICTTAX3KZ4HI4M8XXINZDIVNGT38SJRKPKBQGTNZAMTUXJX30JZWJB6MDK1Z1FY0ZRSC7T1W39KTY2993KLQ6E7ZV8OWIG69X364N0DKBWUTK3JEDOAPL5S0BAZL7AINH1WZ547E17JGCHSRQ3DOTB4EB2EOS8T52W4Q947Q3CJ3QCC0H1O0IRBL5POCEN9HKA0YZW4N5AT6DHUE3TMBFQJZYR3ELEOHYLMQF7BDEI24P6IFIU024AANBIE8J94H022TIDURBADL5C4QD77P25XYLU1V7BSN817RBC0AZTPHEI259VJF9XWTBVSPBZNXC5E7EXZ4RM40UZY6M6ML82K1RHEM54O4NUSB36UG8F5GRYDG2LNKGL1WZL3AY36ZUKB9T1X1SCD3SV7ZRZNHH5I94CU22HYH073LS93R9W1ERK2Q0EKYRLTS6W3AGAE599820AD1OFUDHEEYZATB5FZGX3MD481AKCCDD2IIFE2UGOB88YHA7QZTN40BNTJMHNBJWAFTE8XR54Z8475SLYSOA1FCNH2Q1XX4YOV1Y1AKECVL471YK9DAV25N6YES8TSMG3P78KCG9YLG0SZJSPRJLW51YDNRCVOF5N5R7WCIIJDI90DJJBTV40C6SZ43DWQF8HNEKOQLCXJU46WL8J1W1NLERR = -36#3T3O05IWE9BP3S6ELURKHT76FB6F0UQK7FCOF56ZDWNHCVBLJ6ISVD3K5DVIIUCIE93YQJLTZX8BF23I4LKAL1JPWUPHI64RXPK9O44OUJRVHDQ6UXRAEO0S3Q2TQ0D1JYTCIJBYAEDJUR7IHGBJ9D87BSUZ4IE9FDV5C19 * (-36#4JGBEQEWLTYXML6LS9LGIAK8VM3NEAA7UX7R3C2L7GQLB9HLS81GJKZPDQL1V9EMNY5RR6A9OX59NM67JE9YW6RA2OI7BMCH71EV9ZXBX1OTW5GXB0KIKYT3OPO2LELIQYLUFI8DB28ECTPK46GWD44I612B4CBRYK5OHP5A6A4GY5RX2041JQ0UETXROMDAE5DVKMCMKIH8207GZGUECUM5IWYW9RONHXNMKP71AZMTUS5BRLEJ0Q6SFKPOF0XIV2WK2V3JZWLC0OBOKA5R95V5J82FNTUMO62NZ3ELXJN41SHSGF2GMZWOHJ3QNPOUBV2IMDLFUDGW9QXSWNCGGWKIHQR8C9KX68JGZ2JMD9A26Z58FI0MY7JL3J0D4X8M9LRD6MO70T9Q20L0WYYWLD9WBO6ZA545Z0Y8KSEG3BQ4Y6IFKWMNT5D7FT7KU1M5KSRMBZ9QTOL7FYMOO51ULQKV1U9Z0TNRTC5AJKNQMYAJUESYGQI4W5QAS46I2YE4W2QLS3C6PINPC80IHMB8LP6HOKIKK9KUUJU2MU5JDHDNOKBQ9U1C280BX1Z20ZSL88ZLB22JL6BVCQBNKNUBDLTUW10YGZHW21DQCRJBACA27T6M1WIGMY6AVALPV63J6U8GITPB2BTB50WVNUIIONK5HZQWX9HRQMC0I6UFE94RH38KW63X1J4ZN2TDPT2FJQQ6FR67L37148DQBOYBOKSGOMDM6SBC8OEPFOQ2P1GEVTV5CW0RHY5YNGM25I8SJABZSOSKFZ9ECMAVWGZE0JLTZW4DSIVI3YR8LSPBT3VSD2Y7MBLU0T0ZNV34GF2EJCHG9I36D2YP4X0EBWD05ITIQA36QLIUD8LMOTFD3UA3EJFWPB7AX2OWLSAADI50LK306WK1LNMFGTYU4XHOPFB0L2DQYQ5D1XP6TZEIFU2FI4X66XI29VNYY1QOI4QOLQIGA2O4BXD53VFIDBVY5F8WD3X8T3ZYBWSZISFHZKCMGQ1XGCFNPX60CR78QA8LCQVQ8C7MYA8W7CM9GN0Y1FQ8686IYQ8PJ63E040XFVF7L9RS3FQQUSJD8QGSAMDIUHN2B2ON8SDCW5LQD5SSO22WI5S7RH3AOQ0GKKM502ILFFO0B5BXO84WY5X2ZV6075KYCG7KTKKCRF94NJXXL2XLEBRJZEQ2PR2XXVM893865H3FZF3FUZFO7IJYJEO4573TCT1M9ZI05D64PZ8JFRBBRWHCYN8JN4FQUAGQVNMWZ88PYLHTXVU6ME0TN4H6PGW0C5YN0ZKM2TB5OS8TEBLCBT5NIC0QNA1KJ2IOFEF01A1XHNNW48SZ1WN6RKTYQXN3KFFQEZX7NYK3HXF). +-36#2QHDX9P6OCFTBJOQGYRR9AA68PCTUBGSM6CS1PB3M9B6EARAMHLS5ZJ9NF5N9TRF4TAPH00UXOCRYUDK2J5M9B8MLK1DUSYFWYGBH6YM42LKQ6DICKPGJOOPIKN59TVFEXXEZ6FA39BPIYGPQC9K7ZSARYDRLC7AUAOSGH2PLRDZQI4VNK4RNHLP1JAEN2XFX8WLBD1OX91ICEQ7YD7FYLEW804GO2I1CKNZHSL98AL5KE9NQYUYWFDD893WVIMBJCUAI80FNTQF6NDKPZWR3BBDQSVC2BPOMWBAU5CUWK95LDGG021Y66JYFYWJUZXCV4UAB7CF5EGKFJ4D73AUC8SCKMVPVG355G0KC3IHKNTIO2D9BDK4TA54Z4JTZ27WIGKG94I8LVCUGR1JUBH0CEMH4RW3GO080GDI8FACX96NOF6OOZHKJKU4MN7MF3XF7C = -36#VK6QLYNOLV0RGGNY88V36XXLIG04XKGIBYA085EF5KLJT5D136DYO7F0Y2XQRBPW0PINEF0QCGD3Y8VIRLY01MGRTY0A5OPUY5WEGYQ6IWS24TOB1WJOFYTNNSAVKQ543PVJ4U3KFSJ6JHFV1VDGWP4TGGKCT8BBJ8N5QF8TZ4R19KEB0IAVYBFAFXBX3YP18TCEWHK1Z2W1HPJNIAS1Z84S3IQI5QGI966784GX454VCAETP6D3HBNHFBVHEQ2C22EI1UA36ULHOXDTYVWPCUWFB9MHUOHQ9DEE3UDA5PBSEXH58SDE9SHC06BGZ49R22LL48X3CGIQZWLVM74VYDGZIWFPTGSMGSE9N8FQTIKMAY1ON23F5XC43UWE29JTP2KG1X63924UILMC * 36#34C2JISEY74OE0D3FL6BRSC6HQF10WCAHH3DDHOFI18Z39XHRA. +-36#2FA6ZWI11M4QQI3AK7C00WS752PGS1CYTII1IMW9IYQ23KJLH1TYOMZGRO11LHUXLRAWKVGGBRZ13YU853RZ0JUNBMOT4Z56D89F5QSLIBZQZ9F07LTN248Y84TVAG40ESF7PD8ARO5QUTRJVTJ9H0ZTXCJHHE6XPUJBZHL6RC75STFTRZ8WMA27L93KP03J2RARGM22FBF7SEDXKNMIIYQR8YCGUOB6EGNI0I4JU93H178H5Y8EW4LMAINU4BFNJKBX9KOYQY4295RFJEFJHJTVDBTTA6RABUYC9XW19Y863L928V0HS4YBSSAHN42GWSV4WTQRCCK7B1IUJCHGB7I3CWNRM9TZXUM7V1T079ZKGLOO0RBMM6J19324B5CNYEJCNS5UGNJ2LEGTHOP0N7DT47MA0QBLWSX2EJ32X1VCNW8U9NW7PBJPFVI0R4O6CY13SH2BHG8H3ZP02B347R4WDGUWOS7XXTBN2GS3WBK1ZDTWHGLE8NRLY9M52JU7LF36JYRX30ND2F8UMX3LT2Z1NWQJ7HXV9ZWS58WJG6DML58Q1IUZZZSJEFPUQ48ZO9BTAHM9UP1LHODJL4L9GEUBV22SWXXI6PQZ69D0CUAU12F5DUQW56CT3I64VKPWNTLGLJCIYIINFLRJLSE0QIZN1YUYJIXB5OXRNS9IEVDG7JEXUSXBY2Q1LW6I8L40ASA1P083XMDDVFHE9HCGKOKKDPPW1U474BXQ4Q2O5JBFZGLD1AU8NH43MME3HJ4KNIU72H485Z6NCVA952AK3YU1GPUWRW8G1SKYE0VADNR5H4BH8CU2N1Q3Q5A1AHJVAL0V2L60WMJSZN2ABM7ESFEZ8A2LIBO4C3LJIRXEZYEIBH8WS5SL71H0A2Z93LEJ6QM4LWHWG6L8AUV74GJO4AXB6Q6LKLJAHX5N0TO4MQFV27THWGVDTS39025TEF1OR3M9EHF4GEURQW2JM0GZ22MDLJHE8TQOM92F8ZBETFMAGOHL0VPQTZ1TBY7NGT4MHVL9IOJGDDA0YCBYW0CLZYKHTRYTJ7LH525BF8YUWXA472J3IGNT3YKYZJG99350XJVV9GMIE5LGFIHIREE1TQTZLD6M1MCZI0FNVZ9JT07R5KOPCVZLCRBON4FN2AUGH9TZQ0L45EFQLJVQNY32UI8MD6O = 36#R4M2UU986B8PFSZCA3C2XFM29Z1SF32VU3WU4B0XMKYRX7JE06SOVZVTZ31Z8KLZJ0T0N6B6A1KC0HR4DTCA4OI16I9870O9BJ5GKR8EHD15PDL4SE7WFPE0K6VLKWK1W6IIL0LD9NH9SXYIVOB1D8ME90KBSUV4HSF9TR3ROXJEBR86ON7C60VH6V1YN5BOUB9BRF4ZHW0XFQFZWFBHKF80IIZB9BH09EDYN36LXPDMTUJPHT1TDWM2EW2JS6URP4GSACELGHMNUP3BWAXCYC29M3JT7G3QWVQ9SH9AUCQQSEG563H7T8QBBY68WYCR5X8DY3M309HUTXQTG9LOWRATNOPSZI3QO9KFDWPSS44WICJYCJ3VXUWR5WVB9RQEZW57MY44DEOHJYG3Y0FLWPLZMJR0MFRNYKOFJ3B2UQATMF1WPWFP5OAH1PCJKFP5L8BJKX6NME0XBGZP5QG3RKVZT8RP30QSO5S3E5W4IR2C7AG8LLYGJC40JWZ8RG7H3SEE4BVMK * (-36#37TSV21DSKYONRHQCVBYX8MH9Y6Y64KE03CLQ6DSBKG904ERLJRIH9VBGTLW46008Q0LRTUBXI9CX4Y0B0WQDOY2VDFF6UJF04SBFRQ7YC441KJQLVRYVCK3VWWPTM3WJPL6HJKS2PSC94SMRHPXEWI0CXYHD5SR0L5OOYTSPXCV2EMUZS01UFL7R6JRQWAUOM1Z7B5YTPEE9ZK9I43OJGX7EKNLE2ES28XZPXRYIZMZSOF62II7XBMN9RGUYI0MFWUJFILXYL3KSX8Z6YXZZMW3E3G3SPMKVS5WKHNRAOMJDYUCPIF3O9ZNLYKX58E59S2E0K9UQA1PJV27RODMPNULFSPIITYLLS46OP9ATRLEDZAAE8YPP2W0WEX2W9NNUNJAXI973I6PNDLUGBOR21VE2CKQA55MVM0DI7SAWMVHNNTX0OQYO633J1LLHWMABBDJIOQLH3R31FV5WBJYJEVCKGUHZBXMS27PFFRFFYJNDJM7JTSTFOHDA254CL2GS3ZLJW98X8BUG7UQXZT1P2H7T0I7WS6FCFFKBDKAGPB15NJ1FR19UKI1VGL575290DHQOJ88TUB355J64RNHI19HY7S647N5KTZOOLNIM6U2XJNWABTITEH6A2LHL09GVY4MGB70SUI7U1X3LC). +-36#2L28K3RURXV8OPSP4248E7D13LTP6OO0OP8H59GUGAQYN4SLC92M0VJ79M8J13EG2YFI8SQ16B6YA409XGWKYRMMVR5XC6COYUDCS5PVJ179LVNTS1O5XCIJZSS5UWEHN3VRFR221SQAFHXYYO1YLMRGQODBR8USA4TBUGUR19V51TQ24XXN3 = -36#YSADJKEWYCEE8GSHGJ92GFB2EAORAI0XBWMEZVKWVAZP21FV7JVZLD4MI8GXJBQ7ZS52A5O0R4E9HUNHBWS6JQ6MCS82GJUXEL6DMAWVCP101F9SL2T08PCF3AQBX0712RB * 36#2OB6GNYNY11V0CNNQYY5Z1O7WRPIDR607FP0IIX0BG4ZO1CG2X. +36#1SIE3VYCRRF3QX57EJQEDNW8ODLCSC6LCN2EWDHTTYR7RZWWSE053CJJEHUOUEAZJHMSUHZIXIAL1D1RSEVONHFX96A9FMQG7S5L2F1GWEILEUOXXFFXZ0QGE79JV0KJAIJQQXUL729HE8I72HT7ZGV2TF3BV6VV4N8O8W88UPK70YV5X6ANWJGRLLL9SW0CZB5WJ84XVBZ9PWQW9DVUKGF69OK9Z2U2XVX5QOZSJQQUTCP1H9NMXF943487SKXTEH8SFSWPKOUVRCZ6A95C55XIHOK5TIXDQ3GYDD2QINDK0T4FVXOXVI2B4UDSTHCH8L84ZV9TX336RAZ1GMHN30LL3W81EC = -36#2JNFYG4KTDVB081JUW7W30LY1OAWWSV0W2TR3KESLO215R8LT5KBTYK1MD97QU38L89V4M9RKPHCGZO53WR604H9M90KHTIOLMYMHZ861T9Y8XETRDBXCRJ22RBHWM2YXXQW4Y7GXQ4UWMJHWKOQOYG9O9GHGLSJCK21UD5K35PKMQJMB9GTDP05SEOC3H2IR7WRHM38VMR0YFW8V4SY7JVE6927RT1GZQI0A1JHBYI5XPP66J1TR3DSUSUC5B8Q0FLBL0GCCD69NF3YKMXG0YHUIQFOZRV7EDN0O40LZHDGKFTBG9NDHM7MM8KK1LWV7ZV3FK4JY1W33G5DPZ2K2E25WKJR9AESTOSS4JZL8XYFSF56ZNVGDFBYJ12KJO9WYOJJDGQ1O9LMEC0 div -36#1F58LPD67W8K9T37S4F5J6BCVODMJTD9DDGWBFPNKAO1LTL910. +-36#U6JNAXM3L5C3KQWC17CEEAVWT18SC4WWN3O2WKMZ590EE827IQAO9Z = -36#QPF05P9ZBR18FTLLFSBBMSCR2W1QB7PSXDVTBZW5LBA9M8D78M7SM9MSSZPDKUBZTNE1R68FKBCROE33IV392TIVIJFQ101WF967OXVZEUTMSFH36J2YTV7K0USFU98SVAZTY3G4AGM2I46OYBLHV6LTFV433B5FUZU7I7AGC7I5D66F9604GB88LEOLDKU7C8THK272XAOGXCL45XZ866F8Q96BGY7N5RH4BIXAWLO96XX5G7BKJBDZVOZGSPSWZQXCBB0RSXX7QGQVZBDNPCQUGIB7N3CL7EW55LYGN029Q06W4SEYY3ZEQUAYUXHBURISFU4H7DDXTH40RIDPTH63MU2WIDDSNNZZGUM0WQ5ZPJ1KYBDVPOJE3AMQTVI5UVS3TV0O5NBD3KL9O31TJQUKGXIYYM0JTCCA911KXFWHKK1VVGANMA5KQ6R8FD4AMA6FVHJYZUPXWATYXN6L70LFP24XBTBL455IJUTPJXEJEXQ1DMLZD4F9DFJ0XPTTDGCK3H4P919GZLRJ6UD1EACWMFW6X8M2J41H2IEIUC9B6WLYP4UHSR1TISLR7ZKW5N730C9K6Y8W7IOMLV84YX38KAH6Y1KRWKN51W div 36#VUQZRT2U41KY4W2821E666HES5N384GTGZOJ9S577JNQDD2T2MA2ITV37VL3FMAPAR0EODAXPM8PI3ITI2XGX8CD3CQ7JQ0SUFDJ327TJRLR0RYXRL92H9I0OZRE7MFIDXCFTYAIP8XBHC3TM34CH0T8CKBWKYZMWFNANROMOD9L7C638O4VH8DVZJ4NEELMZJAEENRJLKOKVG4NZZC5DDOFATEUH9GCW1XIIA9QCD7VNZIP1KOL4P6O5OIJPXNVHXT0727F2ESTSD0F6KCOIZ8NBONSODAJBK06LO1MC9201M9RAPQA6339QIR8CN1VBJWQHK51JORQ5IXZR0UHK3M6BJ2GPI3AUXZFQYECPKNA1WERVEL73UWE5WDXLJMILWIKBO9A7C0VR0BL45OZTBH1QUPLXG6QB441P7KNK2HVW57IAURBM6OKQ299CEO0TLHZ2SYTQ32UYFHI1NV1OVO69W55AP8LY1F6ZUVD75YUG7DEQL71C68CFZEY52NOWQ8OI3IDC76OF48LF5Q71JXVBVW4AIKRJ5JOVXMBFH7N0424. +36#VIOGGY9P5QP9HN3R46BH2J2T4KC0940DFAR0OT0ZJK27D4539SSKG96UYBULUT6521BVGQAD7W6WPPKFVT71646YPZS4G8W0N2I74TX0WVGYENF5RUV1FCOJBIG8X9H4QCSZG32IMMXSHPMNSUUJAZOHYI4MWR401J704UC69N840121RMLKO4JMPON8GX1QNRGPT7TSDAPPJ8S805N5168CZ7PN4S08R2LNXLWOCHMY7NEMOGQ6FU4HKANWCW9P7JIGMVNGE9KTZQ7QBN6S2OMU7N7D3U95A8PKA90ZWP2DP4DGGE93JJATD3P5MJ1023J3JCQ98TYOTTU229K2CGBZNEW17RJHE9X1UL5LD3ZJXMAF4VBU89AVMLLX52I6JXLP6INGY5WLXXQG1L4EOZB6YOG16UNZ1NT2NBZ6ESR4RXH9CP5CALKWX07DOV79GZYPDYCEBXI3CSEQNNIT9KYIR7O6XOB0CQPPAX3UJZQCASWJL2FVSWCY5IFG81FTI2URRW37JH4QU2168B6047U89XCPQ3LJ24X3UN5O01Z0EZJXZBOIDEPON4ZF5A021Y8FTXZVXKJY2GZ5QPA1HGFXHXJSI5H77EZNF341DILLN20CJ3AO0N61EDJN8YFHDA6TPTAKF0UTFNIPSIET27XWUBI7Q6A9IZVBOQPOCPK34KEEU69N633IGCNW3FYF53R72WZMUG2ADJG68I3GRHA4T338U7GZGO6YJZ3K47CIOB5OHHZAZUY9O53U0G4EGXV7AYKJQPRYZZWMUPCHF31U2HYFB6VC12E9E1A330EZ2QPCNYO675XDSWVXP3L2JDL4IA4ABOQY6FQ5X2A7HCQH38AVT0AHSUTQKW9WP4AI96989DED78P9J36DIY2SGZ5XEJVDIV6OGR3WDX6QUJ5P210GB6AK1RLFAN6VADKM7NZJGBH3FM7H1J74PJWX2D3ZQ8IZJIGI28OECNW1RIL1OI0J1IQO086NETGR5SFFOIWZWRAFRW8330H8WVMY7NL40Z45D112AH1BRP7YN7EVU60823SWTZMTVYLB4INHEBMDBRDOC5SDBTC0YZXJ659QBCUSHKJZDVL1TIMY4UQ2D70B7ZH07FKAMAMZS8O42F9B7EVMFKAEINA8WEX0Q5DMLHSPS3PE8MV31MWWWFC8KNEU3SM9917HNQJ2XAB3XKVL0ICF9991F6O0X4C824TWT2S58VF0HA04RHN9U2RC2U44LTI9WQH369KOS8BWZ5S04OFD3MNHGXIDL07NYQZI3CP0SR352P354L6YG3HAQGC1PCD7LQXRF1YUZNTFYQ29X6CREAT75A7STVMKB81GYMZ4ZMYDFCANFQGMPSVLDXA9TGJLYOMIA0SHY8BER0N4ABPZSR5ATV2X7S3SPW7WE9GU0BQTHZPMXLMPCCD9375VZJWYQK256L7W213S505YZ149RF9V2G3G5KYL0SVUENKIN4FJUNX7L15KD8NMNX7J9U0Q1WG61R42CCDKPTCEYTDIAA05Z2PH6Z8MWK81A8PB2DXOZZO0A57G9PC9SR = 36#BNUXU9ZR50W2OAW07PD53J83IZ734F62MOVPQ4PUWHV1WMVAZ43O9HFPEDGJ3XIJ650TZS9VNCXUX5M934XW88R9VTPQC7HO2FXMLF0VFN7DZDJAFWGFSRYTK2YJIDPJ5OXS8NFL5GCDEZ06D1X3H7KKIS207KLUMXGOY1ILTHXGSAGKA39S2TYIGUSZHIMXSQJ7ZVOIKCPR9W8IG9D8VCJHGKKMUMTDZF4UO20S77G4ORVU8HSWQEBG3YVJWRS71C82IX8H7SJYXPQ04ZW6LQC345M9OF0B5FIRGWMM0L3PJQ5TSQNZ4DFGXEC7ARV8FUTY6A41B69Q46O9RBFDLD6LDM45CCYPNEX7ARPITHSCR0HRLTHVALSU6H3TSUBPWJKYMKFZR2V7IQRDR07135OVMM40E5ANE7AOG17A5HK9JRFLJ19PZTX6S68Y11ZWN4OM0X1DKE6GH4BZT02QCNL8IIK8JND5NRT813IQ7VTNSRVYZX9I8WXKGJFC3HJOVTXKIQE4TDPRJW5ZPA4I1WRZFJV2J3HTA7SS2TZLRLTUNJ8X7BOKXY8UFDZTQ3ETSJPYM6BWE3NTMLYMPS1VGUH0TBG5ZU6F94F * 36#2PAGV55Z4AWEBA0AFVSRL4XV1H9VJHNBTGQDHNWGAS687YTGTAX28XGTTKU2MAY0GC0E07J7QK82ZPS572T5WEO0RU0VYVLGJFSALXRR1N660OR95PPMH8CW2DN2APXS8B3TRJ2CG5HJB2EBK2W83I4ND14HRPPNV8PH7Y0OLXOIWUUG0M4CPWI9NZSK5FOAGRP8Z8AX4Y7JGBP4JIN8QLH1M4566VCNYQUO1LKZV516LC6XOUAJP53GJ2ZJZ4WAO76SEP064B9L6X3CZS6154F9JI8ARE2AMZSFINKE68OO0YX4A2DT5HD4M8RD06TFVBK2ESG4LC28I8DFK4VCCWC4MS94JY1DTO5VGEPD8I6QWTQ9NC69U6QD9W16NFKKC7HD9PP2JEOY38SH178Z6TWMNBEDZWW5AYJMYOS5V3M4WFBP9J7M5KBK6CS6TBMHC9TCEAFPEG0ZC6TH26SEPN2EN8P7E4KZAAENQ0X8D507UPOZ6CDF52JZQ7OCNFG5IE32BBM25VFFOIA1HM4OQJUIW18PPJA6EZYWB87NZE0338PIKGVNBUNF3SJESFK6M92XMUNJYUVH9ZVK2Y9VD975LDYJXDQIJNQVR4ANW9KMPBV7Z8S23S8R2APSEU4SEC5ZQWQXO8W6584713HVB9OJW0S180JD9OMJ42QRMNV8MYVR6X37MF1H6DSW9J6BECQQY6TILQ4ALYK11GA0KVMKRABZ6ZQHMR1QQMZOJWQMYOMIZK2DOE40UFEZ7KOLB020E88PS46CPTUULZ72F1ELGZ02NSTBDU457MWC7G8WKQMWQFXLWNF7E8Z1EG485E4FT642NUAS4KJ7FMO1252BDGG2LXKHBXMSZ172WJXV1TLSA0HIHL69L45G9AC1KKWN0EOI2N428I23CL23GJCIDDA925O9V21C6U5IGZUWXEPU2EJUBKLX. +-36#2CCXI3VBRSAPAB7ZM1EL64IRTXOGUSQNYZLQWU7SGFDDG3MM1WUDWET8SDNZDY5MKH35DG2F5DD5MZ3YK4JKUNFJQGGUOZD8XRHH50UZPB1NR0JBU2RWV3JZ6O15VB7XETL055QCU0QB3HZC0V2AC0KMJS7M2Z9SM7HUP6FZK40GGC55N8QYHUWF8FDBNZ12NMOXU77GKQ36QEL3J = -36#11OUHANC8WFY81L5LN4CZZP2IAIRZ88TAGULP5Y24OKWQ0TECYDG4LCW9PC4R13X87351MM0O5MKPHWF8MNVDC2VPO57FPUMDZTW1W2AM4I1YPQ8GH4C0TFE8VUVS9X5J3BZIVNNV70B0JH5SCQAQC6IWSFOO392QKB46KFPX8DJ5TXRGQ155YWCM9DTVUG3QQ5YG9WKK455653AVN7DYTNO3O7D9MAEVBA9MREQAE88UI14H5NGDURAGH8IPJC8AOSWBVGV97901FJ8PYZT2SAV2H6W8PF2QVOQGSC268BSRVO52SSB6XOCCTYCCNYPJYBU5C1F4QMTI7LAQ8GEWM8THGQ92P35ZJQ5EOY0OUHD90DLU9TAVH50UEERUQFZETYZS8U9Y83H4J0HBM7P21NNHJGBLG6PD58S5ZR08XYB18TMX3JMK8EUB4GV0VJ6KMU52RF7URDI167X1TJEFTDH37OCCIWIE3IZRBVLRRMXTD4ITMCNQTENHA5MPQS1LX6M5HV9C9QYJ9J724J2TRQYPA1TY76QJB289JJLQMJ9FK2KPKORCH4JAY5WKR057EGON6K div 36#G312LNZ78CNTWTW6GPL6NDK9Z0RSQ3QHSY8Y9L1JF4A6TYHNJVEFG6WBJDPCV6JVHBWRU44TIJSMV7HPK0ZLM77IIEVNGLFB5S5ZMSG962H8I1SCZRW2L5YRE6NKVDVZXS8M0FMJHW8KK913EBDKLYU79P1HPI7HADJHU4JFSOMU1FFLEU0KN7PDC8TRTZPK475N5G58BRJOTGRK2ZC0HIVW6X2JWWTIZXR2TFNBK4KCGMA97CLZQ850S881MIST1K40K7Z954MOLY7J7SVQDZ5AZA6CIKC48OB56RUQTLU9EVQYQFSW12AVER2V4EIUWV3G47I88LKFB6XAAH15SXU15XUTV8MM1XBFUCS3Z9540LG5R35N8K. +36#77435B28MEQUA00WX4A8N6LY0EP2799DQXU3G71NGMKTG9BDCHEUHU5SLSLQH7INTHN58JNTLOZ1HVKDGFUWXRFUNQCJ5T5ZSF2JUV2IZFY7J3MT4XVYB40Z6I8JM2IAIIRS9RRXKFI0K26VJFAR0D7851TTSITEB3Z74RJNIHM230ZTOE13F9QKN5S8O2R6D4DXOOV7ABT2AMEZ3CTCAB998MAATRVP1RXYGXX464M6ZFN0J0IPCDP5NWFR5PVKOIXGZEU6K1DDY13EG1BBHKAPMHJ5LYGE5R8WR6KZQXD3OQKKCRU6C9UCSQPMZIIAKHXHWKEMTWCLF5GY1LFHGR5RUTA1FDQ6X1SDML8T720IQD3OAMI2LIUX70JELH55OZ0HE40P8I5Q16RU5UGUO4CZ6SXHXUZV5FID7U8NOVGYZJGUFRT2WR5QUKDUHYQL9LLZVN1A2UWRTVEU7BXKB3YNYGG3QIVL95Y51X06XGDXW3ZEO4EEKLLI0IYIU9BG1LRDYHA3QR1B18575FYIA6RQLP9RZZE1OWT5FAKUIAIMRVMW5SN0M2GF2WXV6SCM72X7WDPZK5PWHVK9M733D00CZAJYBTFKQYPLKROOEA5DHJE1PBGDVFNL5UCN0LHPVSQZOJ74CEIOG0H0T5K7ET94NVJQ98 = -36#I0J2TUY5HYWRJHC8YFG7Y66R3LNNA80RVO7GNDLE3F2J1QF30USK0RE0ZSNJ6EAUFAX2EAZ8K53M7J91DGK4NJQ7UNUM9ILCTJOPLYIATRIQ4KPD83O1B1B3RFBSQOUIBBQAPZY1MCVLD1QZMG0ISY3KCQLA8EXOYGA3X9YRC8IULGOXOTU5H * (-36#EDSXGOM8T42PTKIEUTSCBZBPPDUWUSEW414DY27RIHZ89R1CQAZ3BDKEYQMK2IGRH9YGPWJE6ATQW9MTDBEEU3GI48PKQK8C5HWTY3F7JZ4RV3H2HAFSNN4KVPCJ3R7DXTPP6I4U5CER7FXTWKWNHU7MJD6APG4ZKOWTKMEDVP0ZOMD38R7PVVYKMK11ZMDTLIOLEAYDDDN8RPM3P8QSNGLCZU5G4YLAUG0XKACW73M63QKMEKYC02FD4DCL4X3LS0F2GAH2A7GBXAC7NYYXN71RFAW8NHZF5LBQU495B54ZZ16ZJ6ZB4CACFS72VD8H24XWAIUI1PZC38RP0SMRDM7ZSBZ0B622LHQVSRMVBN4K849DRO0D0BGYYTM13D8DE6A23Q87SF1O5MCRXODAV241SUHXB7L9ZQ144P1ONCBV52GV3V1A839AYQZ9RSFO9NXN7LE8N4RZUNDZS6JQ8XQQR0HY8VUYBS8KKMQ0S). +-36#3TV00DMH1GQAICFZ3G3H7M8ATP58U834QHZJLXF09TOY5K3M3J6UWJWX1O7TJG8S9W2AIYSGZMQ46AC8W8LXKOS2HW42ZLZSCII5AJDAWM685K9PKFYG1QOHWC9QH696G885LSMAIYI5YDPZYJBA67D9KSGMWJAHZRJPAKE1U0QHT3GJ1MWBD3GBUDWPNSWHCLQCGDJJ61Y130 = 36#2ZPEN580PS83WKW1H9YJIF8I8HUJ2EB3M4J860XLJGHZ29QX9O * (-36#1A2UPOC7P1GOMVHOCVKQFS06IPBXFUH9ISV4J3UQ7G8GFNHY9QIOD6QRQUSRNELQSK1CCPD4CF3DGUZUVUUIDI93BBQYDXF71A3BTBRRHNFJGK5M6QLCA9WLFNB7MJ8DDSEP097UI6633IJZSIM33O8DS4OP9). +36#3ME8EYT00QH9TXI22PEKTLLVC62AN8DALY2W5IKCYXNIFVIFV5JCWPY4VV2CD8J6H3ZD52AR51D8F4QR9NWAUSL1IRQ987XF93C = -36#2KHKXHJZOU638IW7BQO76KJO97JNUS10RNZYJ418BUZ7BZPVVG * (-36#1ER6AFXLY78Y6AWYCPFXN9Z3HLBDJZDJMD3SVKEAKW258ID5KU). +36#49D8HYE2V3CDU1FZOSH25O78MEUUG5M988H5I8QHLFMLHLKJ4G9DZFVZWEEBAO9V0EYJ8IZ9J4PL2IBUYGAN2GVTOLNOIBI9ESOUR8IYPB9K2FUUUK6Q6TNR0UF2GNNP3S7O9CL7ZIYO3P8OCWSRUOW4Q457IR92D4SGA56CWDI784AJRU3JZCDVPBBLULJAZTPMU0XN8K7D8NGSUMXTE8SJ3I57XYZW01P91VA6RPRWPJSJHSMA2LIBW5VX0SCEUZNMY6G1NZWB98TTZ6ROTPDQ0SGPYZ5MB12UHGN2IJZC6FLSZN0NZRKSD9GU5FSGOBYLAM408ZC4FNKQ14CZ6SFNDNFZ9VZ39DLP4WIJW7D12MW9JGRIONSCRT3BQHA8QTD7AMGLS7D04G6ZTZQWDT48DUJHX2GKU5H0P684S7CQDPJYWLQFLPT6ISUWO0ZPNBRBPGVC2X54IPNT8OT00PSFIG403CZGE1UFKUWV4F1KRHTB8QNZTA7MBE5Y0UUM6NSQP52SHAT94RPQIEYMUQNVAAQ65HN7MKF8Q93QDPKO6Y2WQ2TG821KAYWHV79S2I3SI8DO13EITT4U2O3HYOKZBMUIUWWYOE7KB0IWP78BPPOHQQUKPCJQLRXGLOKI0BT0G5S84N8UHQJM9T8IM9TM8L805F9VYRS3CG2YK2EV56XT246NGJG0UF8AVFFFQCTUJACGTT5267MZS6MO89T0J5D4YB99XXLQMMMZS3LBL44WJQ6O8RN9F8RTE069KOXFWRM8BZC2JBHHWW7LQPXQAVFYXJHO8T9DRIT5YGYE37WJ5K1EGKD69QWHX6768UXHNCNZDFOYLG7UMJO8U0MWVG41C28J5PZ8J4G3N7TX9MNFJG0UJ266TBCWLCURB06ASGNNTVXNYED4V4AYVMDW6CQ9N7P7V6QASW7C1ELGZ5WCP467GGKJW9RG03FQGBKUUSX6VF3BFK6IQ94VCWRF6690ID4C0PTKVZ2RCT18R11ZN8630Q9ZQ1NIYJUZQDCK3TG4EUGVYJXZNZUBW1QGS2HBE1L9TTREX3NQ844YMCEUHQ9O0RJAZWG = 36#32HPFVOL4MZWMSGV712303QLCKZT9Y6EB1RSD4G6RVPH97F65S * 36#1DYWMO2101CLLIH2MMEQT07XQJZ28FDV25HS77O77S0MEUKYURB3ORZGHD4H6AX2SZ861E4UXNZABJGJX0PVPPDHO2AY8IWWZS10JA8N7SW3MMJ8JAN1BM61MP74Y1Q1J7LV80HP5557QWZZO85VUTFAE5YS05U844SMYSPASZX7R4QJULOGZI7A5ULNSTC48AR7HRPCD74M19HAHW1R0HSB7K52OYPKNVQ8M2WWC6D0LHA2WYN3QFJUSIG22J6MWRNW7KTTNPME9SLZY6EHZDG0P8IXG11F4QI3WHQVWLQGOANPZHNQRJAJ3082OIJLDGGLEIN89VB60NG3P258372KE07A8G14YDI0O4RQP8N8QEEGDX385C3J8WTA2MU7WG1G4GKEFEH13ALE1OVRG5XLV7PO78RIYUUUDUE3X840S02O1I2EQ85SB2YEWBOW01K70JBF7V6YOOW5SJW7A6NE08L59UVHN55TR1FWFA8FQIPSF4TDZAYS273XKI1CMET2W6F5VPG2XEC9F7IUZM4MB50WNWSSP2FNBFGNFUNQG7IYVLK2Y6EOAS1V59PBQRAQLCIAP8E37KBV3SX09S0SAEBLNDLKHICR5YAYJM5FPCX3Q9L81QRS0ARZL7VORIJSZZ3C2DHCCT42BJSEZ6HBF6UXG3JQDC5DRTF3HB2HNO5CGUKL50ETRNZ9ZSW46F11TWPCU4I1UOHF4MA6J1C5DOUU0A7Y1D5K8B1N2D3PXX3QQIOH4XK8YDJQG7M0IPAO50MWWG8WXINJL315556PDICLQLYMV3P29WM45RLUWS99B1RCQ3A9NF7AL57FRC49S3LYNFVWHR64PNNLLNFGKBCKM3UIE8R74CSR2W63LYIFVF5T9AVBJGGIQ0DPXDTNY91AL9AP7KL3O4PBD78DKLGOV32NW2XZG9RTIG0LYGXDZ221ROXDJJDFZDMWSJWIFAYYC3K946L21BLAS91OWHNR0NUHG46UE3HEBLA98U6AOD1KGWRS7AP3Q0RIQ83SS0513G. +36#20NSA6OAW0FNO1C4O3CA4SO39HJX2J82CXIV22JL4IW1FFKYV02OU5P78A2W9UTBR3HM21P57JGR9MELBWR3QCYR5G95SD9O6CQWY6M7FLG0RX07UT7FBX5FVNMWWCA3PW5CJIY92VY65DD04M89QOCLBF4RKUEW3SJBQJKXJJIIGJNOJUUTXJYCFFQ5HFFBN3EQJATLBB9496O81X6BKYIZN25UTBWDXO5A5W5C3FYEP58A4R04AO97ECJXO3DCFNNT145VE132SB6PBJDAXPBCO3ZA1RWS2JI56VKF8AYJIO7BERZEBTFJ6V6F9P3UGSPLXGIB7YJVZPW9OIBGD5OC1JM8SVS124XR = 36#5LQJ3QVB0591X7W2OLBGF6LKLQDGIIR4PEMOWVFPO173FPWR4GYSOTVSKMYE0IBHOUH5NFHXA368RRKISTV5LNX5XRY71SZ7IMMSS42HQ1VC6LI46OGBJ9ZTTZAX7YSQJQH2G6EX4U0KMAHPP92CAYOEN7UBT00EBC8FJYY2RMSB3HY9ZB3HGI440J9X4WIYYJXFOTE1ZXEVR20F1Z6VH6VDFMUMZ3MZ0FIU9XNKBH4E2CWBYCER8PP5FHMS78WQ3J7JXKTQYZ6XP9LQSYAMZBYPEV94K9O2M61HMYX28BKVRNFASO3P1AW8Z01KMHOXR5IEHCWJEOJJODP0QUANHB7IYD6FDGL4Q3UA6719J9PMZHC9F1AHWI0P2XS3QFH6ESIIXWSD8Y7ZJLD2SQP5SDF4OHBE3O20WZGJT1XMB48KOOE36WUGO9S5AV79GQYILJE1AMAJRBFSTESHS2MU3CULSQLIHZCBOYDZVNQZHDP89OBXLPCE5WOZ5E0DLMM6A7CQ89LTSLZSDVGIHBJF1F5UTN31VJRG1EZXN5HOEECXF8YR8F7OUHBXVZE4QTA2JFPFRQ7QYP6I24AA78BKMDBRCT7H9ME2X5VR95DSX8P5NCY0OLX60US0D7VWRTT5QVHAEJGIA3RPMTKP8GTNHMEDIYE03DB418SXTTWS17Q95K8O4EIGVUGGMD170HDC5LOF326XF2N3X8JR2LEIKIO9H0W7VGTRGYH4X9W48VM8VHVXT24LHXCSFD1F26WO4RZ684XJDKY1PXONSFZF6G72EF6SRJF1VE2WQ313KCX6E2FLU7HBLUQKAXPV9TIMY16U0Q5RFV9R1P5QSMO1NJTPNXEG7MG85I5MSMHL46CZJOAOIAK37O437U6OXDX13NQ6QX82151MSFCO5VMJ1LH562QSF9KLX9V8WNZOWSEVM1U3ZPXCDR9KRUO4D0TPCCMMIP7ATJN23TSNRIUW4N8O77GF98V3IQRYYS8IY14GTTQ5T2PAV2B92XQDID36S0FD2J311C54G7AILFI8ZEF0KMP2RDIKXRUE5LQTNWE1AAPJJGSJFT3PWBZPDVJDJ61595LIKS8CI7M4TTGTZPSL54LMOLS83CLMN6IKTDS5S7BIJGUDGQLRQA52VRLPPPQYG3K6H2WFX692Y71HWBZIJ3BHT2WMC89YGUYQWD5VJPDNLY5X1HWBK7JGJQLDBZ4A9MT2HC9Y96Y39K10K4RIVZLXTE0MZ48OGS9MMIZJ54FQQMTPD53UY4XR6AK0ARPPTOMLU7YD6YXA73EY9P3M3SVW2RSB2G5JJI269BVFXQOV4O99YNY4JNYHWS14FI3A8I9COX6ERVTWHNGH936HR4MLBC0VNSQKL7PI7DBBTDAMARF5INPD1YM50P7DVEQ4M1EOUDVKA3TZO18S5FKPJ9AXK75ADU06XGZFFL74X9791TJJ1AY94MC0I4CG8WY6WQ3LOTD9DP6IX7101HFSNX0FAZGK6IK8WL2EWEHS7ZXUY5Y1XQE68DRA0ZLPJZN51U5QT6BA5WIWZH8HWETGHWQV7XK91TZCJ60AH1C210KQNOR div 36#2RY8UL75Y8UYY9GY0XL0SAKWF9Y89BG7HWW1SHWR936RSX7CXE0AAQK1AKA567IGYG5V6O6O2UVO5BYTYDEUTX50XLYOYUTS02LP0U0BERMDZ26EBEB1JW2GKQXWTZ4PDSV3GGDOW54ZDADDLLAZD6GUORWDXWEDN9PFTJHDDNYPAKKISIWBXT7ZN31OZML7C4S7ZSHOM3RK7OH42DUU7BQZW6EQFNBYZSR7WWAKTRNGFX5EYCKYCXYUKHDAZPF6Z3IRUDEKCW0B35ZRF08XTDBPJ3YK5QBL17VRZZHHFMJV7C6W5RMSKUBE7R5GFK391OUH3CFLVVT7CUWH9AHCI2JK87UB8537QW4WWWHXTGJ4KCPHWPSG9EWV7YHFLD7I9JY2GH2LZD4T1V2MJEVFQBZWSH8DID7J98WH97EGLLN3HV4ZG608G550ABJK0M6L2VE081N3RP5U4C4U65YAPSAWLR4HT0X7DCYCIFX1XUI45TFXUGBZ9JCY3QSWA2YUAS1HRTLS6A0FAEENBP2NIMUQ774RWMYJBL8Y3H0TAZUASR8ZFEKPL76VEXG7XDJEBDGOX1A0FX8C7OXA7HQU796I820T7M3P41CURNR6M5Q9DFDX1DTW7P73HVCUC5DJ5QP4854O1HN5BRWWKQRXU4K7EMJWY7302266R3NPCYDAQMWG9U23W500LYF1SFZABE8FFOVJGQNTSMLPNOHEH8DF8MBW72ZLU40YCFRU5BLS3W41X5U7DTB748JV1ZH8CQFE96OEY3UEUQMUM5612MVQ3NPDNV38DVNOMJQGQY3527LI6B83HQ4TN2OL9OLO231ENR959DB0BO5VL9577OHG2POM7K0JQTY8VZQ0FVDJL11ZUHPLITN5FT4JRDQF3AK4E05ARAMBRRBY7IC1P4FM7G70XT1X7VL5B61XUSRP46COUABFWWXXY3Q9B6JIPQ4XGUX61K1NUKX40ZMU05MMAJDYDI0YRQHG5WG71QBAUBZWYYBXDF56EXAN81AA7HNVW15AK8BAJ0S456D2K9V2IPN5FBV8JWTNEKQ7HV6M5S1VTMQ48FAWWGKLP86APWJ7VVKG461QHY7J924W97X9AR2MX3MK5IPE4876LAH0GHGEJYZ5NS29EGFNV2AF9X796G0O8Q88BMGLS42EJDY9TPNDS3SYRCEWC9YVI1POJCWEZOIK2RVF4AFRMNGRF30UWW8G2CNGU0ID. +-36#LCP2O05O38GI5YU602XT7SY52QRO7ZSXDVAZR0PU4CS6I8UN1Q0VTYVQEALO7SJZFYGOZMXOP9621GMN8HN6J6QURVJLRC4GYUF16Z0NYCK21XGWZDAH5V23BFHIKQVOP7XM8JILHIQSHROTU5RJU3QWPDWBOJVJXT6BGDAAQD7NJH98L7XXE8C98WELNRKKJM1GPOAKY4Y2UBI5SFJ5CLTR8SOOZSDVE7OLNVS2JMZRRMIVNOV0O6RKE20OTY9JWZTIEE1JUBPGOMJNI54DA7SMRVW4SPEHVRRD3FF3MHQKBCXG66S9SHQQIQEJKGN82UFRI51RPB5J3S6DCPO2KV45E6KGXS6G3P7JWO50NV4O2BUVD4UFA2BQMAY51FHL0VBCZ3UZVM0Y7Q0PFM8T88EW = 36#DMEND075JYYMUCDUEY7P2UKR66D4SQVIYD5D6HCHBKJTWWJ8WTS80S8MMDAJ0MJHJKEKAUUQIN9AVKT8E75W6A8CDT2637N05TFCTXLQ2E8Q5TEWWV0VHKUNA057XJS4PQL5Z8OPX5GGUMJNGYTYB42XOHLA0LXZ44U5JTI0S8XMXDI0Z3QK3DYAME925HNYV3PQ29MUBKNNXLSUJEN9LWM8ONJ599T02Y938F4DXJWYFA79AJ74UQKOO5ARYXVG7JOPGI3ZCDC4S2EXZEXQI2P3V4FEF7NPLQW2WE8SYE00HQ1P7G98STPZPHQ5MZ0NFBQNZEHWNFU861XPLBGTHWSQ47D0HD97GPEQ8N90TLVA5LU6YE6B8E0GVPVMH4QHQ0XJT6C6TUYK6YH7LR8ULTFTA7FSA5X499PNQF1QBE0NM4RKS8HNF4FPFNJ8UBC9ZJQ7QIWW0 div -36#MYT84PSOC2APEVZVE5CLM6EVYZ7KBX54TTA76271LHTMVKFS0. +36#6FB8WTBYRGHQ75VIDKB866SPLVGJOQLWTR9OBZ8H9SJCBX2XX3QZ52L29M95XLDDW5MKP0ETTR4ZU89HJAEERMEAY83B0WYLPHHHC25VQSCLCWG5NVE15EK246YFO2LCZBCUMBLALXCSW3TD7LTH5LWE9ZQHWC4XAK5OFOXYZCJFYV1JOHKNSCQ6Z80EE5HIPIHHRNOGERJMLGL0HUINDM4H30RIDFV5LB = 36#29DZA22NVG9K82Y512Z8MQXFM92XGH9DW5A1UDGTIL81CL1D0TUY4M32POURLGCXVLY5JZFEXD5XO64HVK9BVC1EY6LGYNUMCL25SNIPW0N57W8OVI45V8CXCKQB626TZYS0TJLW0QITSARJG1WF5Q07CH9FDJEXPFK7DKJRTD3HR8UWVJX026HRMMI5QM3I01TJ7GN0YAKG8UHJDLK17YGPVRKU80A6GHVUSRVCL5RKQQH6UVOSBECWO7L42TU9FVCQIR6RAWYQ7B6UAM0 div 36#CO04JHAZTUBD4LFAOSMVU3UR1DMAKFZWKLFZN70NFZ0GPZK20. +36#2JFI5ZBTTQE618WTGRB8L28YVB0CY3N6UPRB8SRF6Z5PANM5LUUQR6JEEZJUEB57YTEMDL4I4EGS8DAOVEU0JBJDYLGWQ36IYYY59VSJY36T2DLU6XNQOZ736PERV1IB8RAHTRFVNPV8HKT4GLW9SMTD3JN4M80KMRXNXM17FGGJPCASR3NM8UQ3RCCQE6XV7A94M2Y827K4F97E2DVXHHEGTEIVNDWKHTSOWQYACTA05VAX1KBXG4XMR8OWN7YHTT5WFFWLPO0NVJ59RYMJYAIMNA097M2M8JOD8G6A98VK9GMPPR0HYQSRZTV990QH85DRU17BT6YCWW1KQPHG7LQZBN7ASUKDG6M5TQZKXEX4MJQ97R0ZRAWJBBUVHL5ZI4MD0MFZOQ493LDCGB9HNVA5TUFQUBRGT7732TURAD0727Z24ISCD0B02THJ8MDP89DEUOEDGB9P27UPKP2U7QEWLAERU37QDUJF8943D33RWZ02TIKW15UJZ54JG8G790RRN3IBCUFYNQAW6NCEQWN0JVO3KXINVDGJ26VTWJ83D0B2JI3VX0885VNYM40CXZPGWU1WDHCLGMBJM9MTK61WIOC3DWISQT9RGU29TUYLVAMPVMUQFVK5EFVEJ80EPFVKKQ8FBX9VXUUD316P9F1HTOACMPAOY3A3NVAK3P7RJO6E1H7GM2BPC8D6SD1QTEQX7528QW3U73J47M6VZIMA0FWYUC7SUDWTT2Z4WNP47OTI6PSSBAZKXB82RO1L3ZRS331ZDCR5S4NYE4J3MMH5DFEL53CN9LBWXSH3K6OTR9VJQTZS5V6X9IKU3U8HN9MOIUQOYEZ3WUKKZ0Y1SNRYCU47L5UX87T57HLV3KW518YVLNQHY8U9LQN37UWV4GFJH99KXPUPR0QDR8ILTER4Z6QL2ULSUZKFQRANZS5F8FHW7QEFF0PGC7STEX2OHIJQ73VAK6AJVPTHQEGIVOA7F666VZCGQPRH10NTWIH2PCRGQ61111WDF0DETOJND5J4762LWW9KLDXC = 36#G8HJFN7I0PWWY64XT1V0PL1MLAH9BTS07U5HWZGKQJ9L2HDS3A1ZAZXGU5TCJSQXXRGUSGCORGV1CWWKUSJZ2LMIB1QAI3SYVMO49KZ18PRGWS05D8VV7480KDC4YSFG3P0DTSKO9G5RNSWIOFE6PUQCV1TLWWOT53ZRQW4FTCKBTDM3OKWB8D7RXPAHSGRS2BOC9AQDVNBWFQ2E0YLAWD150RUPG7T9WA9BRCT72D8U18PWPQNEUQK4I1MJ1QQF1128R6SFQKQNGMECZCPVA8NH37EHAO45CEHUNTRVWKZ3QZOS2HJZYXXXV599TI3IBGDTXPKNH8CL5HZL8AOGHB1A89AUV496MMX1H9E3UC6XU3C3GBS8Q0WHWG8TVV29TGYUQVDB1656X6O7I7H2NKSXAXJVATQTMRKPTQPN8AALD1ZSFA6CW5MDJBST98ELAN8P178CJCBOSZ4HGTZTAV9L40LV67T1PJAWTWYRAFU593HCOCQLZJJX3OYBZAFIVQCCR85BY53ULZF364KBQXGVP2MBC4WCIOWUED2GA638VXAF7PPRRSUT0RKDNZGCB901EXGHG97G5OWYCZN2H6DU03PKU0JKMTK6HML46RKYCJHDYY3ROZPO5BU3PG1B91SZG9BPEK2H8PPBX70AEWHPBYJOHIQKH344D7PX79I8NX7GU2AZ89KKMEVD13E3BA5TP6TJHUR1VVRNADSDXXEVIHZANZ1QAMZCB5QOERR02HM6FYBERUWP41UQ74RT9NXZO1LY6SN6HBL626PTEOAS8M6T8X4W808LNBLD51KAYZKP0EXJKJY8MF2FS5AYYYR1501BKVMK8Y8AT2604VBPHYEC41QFG7I8I5SURDWB21WFUURQD68CSXBA1ZCNMH5IP0KAT4CNB0MCDHRHIVIPY6SQJO51FGMVMAZS9UFPZACQKOJYQSBGRMFXI8KJUMLFVN36JLCOESHCMTY7ZCNZ5IA83TG94LSN3IVPQ38E7ELDHFCR30OOQ1Y1EIFZTV8OTEGXCM3HSEPJI0UACRQZBBCWZM2V5M8829U8HC3M8ZCBND7HIF8W69YD609Z1DD10S06S3G18MGGQKQX1TEL2UI4HIAC2W0A7VZ8BE3FPT5C7110Z0CWVS6QDHD4ZDLA5XCZ5U1Z2R80CBPCMIVENHNWPNAJASUP8JQ2K9ZUPRJHYBGCSO1VWBCV74LC9BUPZ1LYYC42ADQLD50V0V0EN8YGNXGYT818ZUDGS47HHLA4GN24NWO4C38ZPZQXKE3I4OMMWQ0VJAPLRG9D85WBT3MDGVVGDA19D1KV9DHYIT9AITO4P0ZOPJB88O68PL7ATLPGLJCBQ1CEGGUIFK0 div 36#6E4WXPS278TSYE4AD0AKQVLHC2Q7ICQ2XBKLOO4SMC26BWX2WFGKNTS6TS8WFEMW7X9LSMUXQTLZJXF9AKJKHMMI8FH6SFFVJZEARE80BKG35FA4F7ZE0TI7FK929F5PU49ITAHUCASB0LFGO1CJE6RMWT38CTVJNCEMSZ2VXTEPT8DEITC0CDRQGECXSHQ65RM3M1OZW3DDCIB4MPYN0X8X42CXVT3AOPYTBOBJBDCZDNKJ9F5VUFXODZ2LYADPXYCM1P1BDYAVD4F6KM9TRAAI14YPJHKRN7EWOU4BVAHG5XORZPZ3WJ2YJTJWNFQCK7VJ0I5F. +36#RBBY56KIYM1MOURGPHLQ5R1FGHATPRRL0FMVQH9USZFR6BLKBKIR3QF6YDJ1398TCHX1XFURDUADVPJHD3JGC2U7XFSXXEFC3GXXQSX0F9ZAI0NALAVHJLQEHEWJAWGEVG2V2U45QNS3FJ014DUYX6FGLWGBTFZMV47LND875KWFSYAUCHXTLP7KGVQFLNVCN6P0FFQ1C3RVL1FVNV5RI598LAS1JY2CZ0RXF5P2QE1TEWANXBBC06A33NZWH2908URDZ09L3AMD4TYM8SDI2FS6I1WC77TSEJGFQWLYJWRESPQ8SLEGFLNPVGDMUQYMWSDVMFQDS19QBZVUYDG5J6722HPXTDG09FC7C8Z6M0CP1FYBIHBP9FWB2BP5Q0Y7XPJQGXDSZ23NT1Z4QQBLX76A9NE28UPHYSN9OMEKH98VMITY5JTHQCQTKQTR4Y5DAK8R7S09BMDR22TBI02G6HOGPJK97UMQ7MITKFYJ0XXPZ7AWV2O3OXN75FVUPI3M5LXQPNSW75G0VSRZVTZB6XQTMNBM66LI4H614WH3I9O6E4OGOZEEMD1FJKTI003G27JQC1H4U8BNW4PI9OM04216SWCADBQF0VGL5XINLU7KJ09KT85C30DV0ZFPWESQCQH0N9LR8L3OEE = -36#29EGMT8WOCBGX76VKMSSJCIZPWM4ZE7S4S6YHRN0BX1OND6HGWPM3G4BCZUHF1TOXOUQH35OB2X0A7HHOAQ6OPDOIM189GW2PAFZJZZWPXTGI0Y2H971LISSGW92LPZS5ZE29RZ0E5EARFR7POXV4TR5URE65UFIZLAAGQ4DND06KF7XZ5ZZ6IX8E5OCBJAZMTTXGDXXBFFKHPDYZ6AWELCVR35I68SZG93WEL73XUYO2EDAWEAQTOGUAV465BH3KV12VEOE32U29G1DMN7R1A4NH3CD08QSYC0ASYUTRUUC1HGCZ7446SPWOWP5UQBLERKYWRWSD9L9JHZVVIO3F4LRJ1DZL0RWZ2RJ0ZT31Z1L8JIEYX6159BARZZKUGKK6JRFD0LKWGLQAY2GIAV5MIUITLVM7VVO5TUCIKD7DIAHT0IIJB9IZPPSMKGK811BOE3NUCANFX8HB67XD448CQH0CXHTRYI5S1E4XS6OLC0TFH2FKCUGGNQTJ4852RWONQ5GZDSB2COP8DPQXE0980GCQ7ZWN77OXASABHZO4ZZ354KK8I35PBUJ89RJH4V55XZFR4ZV50E27Z8PMVCNMPK8FIQGL4T3SYIAS8MLY0GR4NLOIHVITM2GW1YJ2GGU5PSPT06F3SXKU5W5R21JPRXUQXGKNHBXJ6I3AWBQ05EDFBU8IKLJJ5XS6J6PO17VIVAUAR92HXCC62URO213FK0LY778EC71U8OQ5F2V9RJ043TVG99M7F59OKDSEYTPKK9RQDFN4IDXA4XBRNGI6TB73158WKMGUUV5SYLBN9MFHQLT207SHZWELRULS9NZZSEUU2K8I9NFOSMUBYXFBIMM1UENIUUZY6XRF0MTW div -36#2ZA96TMS2UALTK2OXKGC73ZXT1WK8NVZQJT0ZY9CSDPLXUAY661QL5AO2TG8QANODZI0U68KVGB9LLTFCB0MFN9ZO5F2SFSDIIDLMAFXIN45DEOG6LTLSAYKLBG7ZMPOZ914OUS7829EZ51H9XKFH0R18KUBFRTK9F7YA5RBSBRYIIWIYWQ27SV2XU5UDF5SEYK5MZ2BIA0BTJ991WOQ6WDFCXA. +36#AM6M6CB5HMLBOW1OLNVS6P3MQY9VW6P73KFRRHDEK8G0R8LS5X7EZXSJHW81CLPOPQMS9KSMGE7X3SZM7V7QYLP1T9RA8K7SMTCY3S4DEH6GVCG2YKWZKXKTYO42LAY8UUM3Q0F431IP01B1Z7IRNCKCVX3TOV2SXRN3YN149IHOCUDGZOSPW8Y50SZ2NJKKU9RFGAFPUEIF3P2VJXM3V22INGS6HOH6PG0IPVFMTSLVYRKXQVIFGH1870TCNJG9AYCXBG0V18EQV54SU92YWC969UN1J6I0RLQH4UULTAR7T8T1TDMY2IJQAQ86GUC7PQXT5E2HH1I6J4E5JXQ28I35QUZ6JIV9WAJPUSBEE8FECRX3TNEPC1DVYXEZRVSSPSUM0FYSWRHPZX3KWVCNDAB823HTJ3JRC83ZEMW869XLZFQLC94O8S81NISSPLU2IW9RCVGLHXYDYMP47U9YU2I158H2GG9Z6N1MUHBM78M7RI22WK0KB9P18ICTIG54F51ZR8UVKDTA2H9J1RCB0H35OOWTMCT4GJQH0W2F8PDZP0AZ5HP2BC5N0FECO5KD19PW4MIXOMBZJA05QYZDWYOMG11LPRBAGAA6Z4JKLGRZ2G5H7BY7B97IT5ADRFYIEKY3HEL7UAICZLY0XGF0RJ0FGV8Q7K2BQ7U8WU047B583FJ00RLZJ89NSULTSVHKP0SUQCPBFVQD6HASZNHCGXTVQFDL3IZ8DUQZLM58CXQPDC1F0EF8ZW3TNR6KYV9ABEDJ8UZJYTY0RZ3CIDH51QAHFG95ZC1V5INCVEO6TOZFUZ8GZ648XN4W8Y8WWE1DDVWQC8V7I7O131YG5EPG3ZAGYV2UQ5VBQK9XJ4YAVCSGH5MJHNPG7RG4AIUVT6SJV42IPVLPR3ETDKNS7UB55YQB8ZIB0Y7YSZ3C67N7YWK723VJD3799M2J4839BLAG42H6XXZ6DYH4LIEWFNY3ERJ4LOFRK2SOQ4QRRSZRDWOT68DQD97POBPMOSFFKS8AQ57OXSPJXWEF6H1MWEJM35UH3TL1DWJVH9SIFA0ZPCE9RUJG9FGU7MTDFXXCFBZ7UWXBG9G079JBXCSDGH3V045MLHS8ML4SQQVETY8VLEYSO592KJ1TNI21YHM48UB5X0ZZAZX9OZSJOEK1QU8D2SA2YPS9HVBFVE1XO1MEF48LTH3D123YC = 36#HMV4WRXUYUN3VTJJ5WCHV2WN6EDRQ8DEH023HY5K7PTNHDKW0QGPE6X2ZPYJ976WGUF5E6W8AMXE4SOFV39J09EPOT7GP2SJW3HEX8L6UZARWMVEJH9URDIO5H87O2VYBM8LENI3GZEK6C3S3VUK1IG9IVARCXZC1YY7V6K1ZJJU3Z542Q2PPP0RWT53O7VP0RG392AF192YWA70QDMS8GF2252PLLPKQTLNWRIF802YZUB401CHT6TQE2KM94Q44TQ1JMPGAPMMX1TLRVFQBXZ4VW43NIHM9KPIY0STBENVZ9646VC4DYCJC2S7V69CAIFTYTM1BCNEJRGJ14ZC1YUO85894V0I0WCC7I34MUKQCHG5QK6P726J2U7F3V0SU0SYW3B3K7OBZH8SU4YWN0KQVP3NPC9JUSMINY1SSFODHWA1HYVSY61SSHQULYFWGJF8H4IHNWQDGBSRP4C71V78PDWDJE9MCB9N43625TVM5H2CDMVRCA7DAXB1CMQQTSW27EH9AOHDUAJNS49PDUZRVVB8 * 36#LO6JW16YEPP455L9FKCKU0HG1KWNZMNUDINFX82VWRSE0T38UG4PDJQQIGIVT8WQFO7ECK46PPFUZWX8519KOTETQZRZX9Q74O72SYEZ1AMMUVHKOFADD59N41D5TYCH50O8N03JR3RWSQYWRC2Q3DHDLUN8L4MJUE0LZIR8LP6LDUGJ315GW473G2I10P55KKJLL9M62H30T0RC8Z37H1Z1H0WFM2XJZMT24XZRU9QMLSCAD9EDOCBP0B059A96LHDTY27U1D5S3JTAZD8K4LAB66E8KF8EB5SHZT0ZVFY995HPHEXJGBPRJNB305IIEN6GG59TDEGTC33F9IU38R197FKADUCF5MUSSGEMH8B6ITZLGKSIF2K6IQ3LUZ5US3H2IE6B8ITSADT1ANH3X27AE8BDAM7VDB82JRW2WL7GXU18X23V6TPEXUCM3BNE2HWISZJXQ9UPZ17NAXQXIYJH06Y8ZFH659SEA5AT6Y5IG8KSC1DQA5RR51DHQFU45RVRJKX401HFGU8IW4PZ5S84CZY59CNQL0LQ1LWN7JNGAG0KNIJZHCEDH65SJN7H3X9D4FJVTQT30M2PQ77XQ4NGHJ1JHDVS6X722B4TA9HWDOSZAGXZFG4ZYY8RXRR636EOJ9GEX327V6OML11ULCCCX. +-36#204N96XWH9616YSI8YM9AMG85X7R277EVV6WQFDGIBZ4B4KQNN = 36#1SBYP4N33K6QCFVRQ60SAN20TJ0D3VLPFBNC4RRXMWV8PLWJ1TGCRDPM6Z4Z7REMU13PCIHDI2BPBUYAPF0EXFF0GR9298HJRXH7CZCZM0LT1LUQN91QCAQULWNXQEU1ULD2HDVS5OIY3SVIZ7P3HAY2XQY7LUP0VJ5DC54DHXWCL899EZNOGU3UKV0SJQEJO581LIK1VUNOML92GVRQ8F37IT1PXU1SRGT3ZLTHUADC59NA12JRE4O5EBJY7UA2FBOB28G7JX3MZJBABJ3J66MKQD4MM94HKM9BF7U7F7OB6J7DHBEIPGINO9365MHET72KGLLCDZHRP9F0MQPUXO9W08A86AKPGBE38MBFLJNY7TANJONTIB4RNUOQJJK1OXT32RFFZZ92GEFAQX0RQBHPUBQH1HJB522B2MZUAI0IGYXYW3HLYV1IQFEZ5YQ57FI8R954OUDDXJK9GQKSE0QWNWOOVRC900AYS1PQSO9HA0BA92Q5F6IR1PSP56NO3JLUP4ST9CBPIAUHHPMWPH9N7XNWASK1YCAVU5DVCS2AU20RREIL031RCG6VTN8A7WNILGMCICDHSHAUA869I447Q4CSPQ25PQH5QKJP3NOAV9WD3CJFAXVA77ZEG65V5OSKJN23HL6DU35J81UL81DE775XK53WT8M6ZBNQ6Q64S697SWKYLDEGKO6FOQ7DD55GQONVG55HABLNRMO5AAOURVNU div -36#W3WRE8YKHH5U0KUMTC4GN148KCURTAMOFB4M667EENKZQGQ4ZT7W5J286XU8BEJSGXW795VNXGK3JZJ5TBJ9SWRRJREY03VG1KCHRRZ4ZTQ6LRNQFXJLISIRWEDBJ1F4CD0IQ9CK26OJNBD14QGP44VS1BVKSDJ5P82ZM9BWGZL7KW54OXPZRMVN9GKF1I6P04RCC842MSGN2RFTFTF18QTC24O8T2DX2OECLJ7FAI3N9WE10V004QY67H0SZWDK9EZSQ1TSK7F0850QN4471PCDC134Z754Y63M737YLPG9FNCGXZZFDE0883VIJV1NOBJ8A71YK3E3O5LCRLKEXY6WIHCDVUSV1OSCNQ9OE6TPE037BGU9242W3O1FGHJLDYKSFVTN6T0TNS7FH20DEP0516OSAVNHRC6P0PJRY0TVUI8UQSLPIXWQS8QOND5AEAW4GB6ULH9BYD0830BJI3NIH6WBQ0272AVTUNSJ73OLF7NMCTIK5NKOTN61SEKDF8PM58BVPIP86PBWWK4L9KIZ116XNTTNQ175T6K6BMNY2DE26TH068XFM18LIZI06E9BLNS6GNTUNIFVV5E5S0CSN9DJZQN53MYJ0K2HMJGA0OZX1XHEC4K5T79MZH0DH4UFTJP43FXEFO3FZ881BR60FXHNSHD24BK6S5S8Y6. +-36#K2RXP34APOKR5H10L07G41CPCRC9K93WAYHEWP8NCH7IPQZVJ = 36#4DEQLS4OMEH6XGFG8V2AMP9L13IO2IDP8OUGL96EDLFFTTIW88ESKKG5ZYFXRM87VTNXKZS5S6UUWS20J4BGDL36VBPP0XA7E9VLAHSB09QB0A7DITANUFFLNKS3HEH1WTQLYOY0BM5AINOD6Y4TBLETRF7VDJJ div -36#7U8YCJEH296X10F2G3QC93R3IYIJ1B87H2VRP1V0POJPNM44XMNGWU7DSZ9C57ES0HEYOC8084FDGDNUIOSH6HAMAG66IG2A0XBJ6NAY4D2VO1. +-36#45WSY4BUY3KD1GJCW0VC0EOZBHQZZD6OQWH26UH2AUBNJ9ZC4O8VU5SJ616P2PLKF6GUH3KITXE1GFUOIA8XJYNBPG97A = -36#1LMOXPGWRRKIUJV8T05Y96L9JSJ383ZJF76QI3SRVFSEXULIGIJ16VQR4QYB9OB29EKG7IKR0EX607MW45J7JB8B073ECX2W3PSTMLBDFLRC8Q74MXSYXFZ1HG0Y4O61JGNVSOE6464XOQDKX7VIYWVSTB8J5YOR4TD2D35ULJ4HAHGUXQT310RWFKROD9FZXIU5PFSGYS6K04KLMZA1DIRL5MBOZW8JKP7QSJH8WZVRA88NLY148RMENO9D22LE7M24YALXE3RJY2O88D99KN6ZRBD67XBTVRA4T2N9C5SUPR9UKW2MEYD4742CJUPBRGBPX836QG9OIA04KSXVW3OBSSN7OI0V1ALBWLRTWFNXDJ05J81OTGTXFTLQR57KVOQJX88F11KSWXHQEKTAJ6N6FLL1IUOH7WJEKB046M3YTV925C80MG2I4G9TM3IOKGX42L1XHXFAK93GA76PDRIOCJ8QDRA6DM00WYONPSP3EM813VBC2D4EZWC25LDVDEOI9YCNV5CLVBWPB9QD3HRMLSQQSTV48IP8LT6WQKFTPXVA4RLIFOQUZJWFYBI633OSSGWJNX8FKQ4GC1IXRAHWR7VC93YB9EXYOP4Y80C5RLNY9TWVJUCXJLMF5PVL8NR7TNJH4KFZ1QF7U0D2IO74QLAOO3768QF605QH41NSK7ZIK0E2SYBB7XESGEZALQ84U07WH9O475C9B9QW4A9G7JHDE7VTICDKBZV9ADD0AQI0M880ZIWN5JWHVKG54CEORRPHJD6LI87KU4AYF9XPV4FB4PLIJNUIB95D275N74B3F9DFDTJOMJ7D1ZMX7ZCNT857ZJ36LFH6SQVW7PPFPBXR2PWBGXMGEHYD705JKNFHZY5NOMXOIUODTDJG7YQ4OMRMHH8MNBNFYB63O6QSHS3CQ71O1R1WHB6ZH3Z8S div 36#DU7YJWCRZYVR820FPXL7BK6SAA0P2Q3BR0VOK31MA7D0NDUE4KY7XPWTWD5YJZIUSPYBGNC4TJJR4FFGZPQMT4V0P7ZB7FJSRZCLN2NQ268DAUP53MOXMHR34O58D1V04SCCVTJDPAU15YBQ03NXCILZ8DUHO2RMRXHFEDBG9X1375QN2397CSA78HNECZMCFYD3SX0REWBJBFDUSH1IRXEOA7OJZ3AGZU517ZWHWQ8SRC4THJNMAKO68Z1ZZ13EVWUBN9I6OJPI1KKIDNZ7F0UKIV3A4HASFFC9CLJNIDS8FBP5BXZLBP51WH8MH0BBQ8AT594ZIHNFJIG8SEH3KLFKANT3RSM1HJBU7AOQ60SPBV4S1AR7OVCBFRARUCLS1N6A3LJNZA0UY9JMY3OVLTWWIVY1AC05XTJFL0MNJP8PNX2R3430UV3AGC7N3UFNN992N2ARV9UYJ77WSDVM68QVNTZOEKSYEE4LOAHPVYW8SPN0UR8HBT4Q7OX01SNMP5KX6KF5362QULZBOPNDOTG9GEVDEJPB2B93V4CAUDN0VTJ05DYT3004WGPXHVFCQEGLW1SYLLXQGBZPESASCA4UJJBL6UEDT05S21V99LCHG9BSX4FVKNGDAX7YNJF1VM469QXSUKNL6Q7RHYJAAPQKP4UXNX6882SSJR12YC0XV1LHRW508UCZRMZ6LKG0YDJWO2P0Q2C0OO479PWS47ZNL5QYW6OZ72NK79E5FPS98AXRLHBG3R19OTJVDO9Y1S8USG3NK8N6V0GRJW0XYV6LKXMIC3ERGI647WF5SM4LX28JUCFYVQOA0PCRX8066CF4QZIJJB7NJXQA. +36#Z7BTYV97MT59ITXQQM79GN5HU82RGEQ800GUMRT3DWINLP6WE = 36#48APKYKT76PNYQEN2D6AR83U9ERN8AROTJ7IYU2FKPHDETN2ZKV2W38NTA95HK5ABDISIZTFHPWAC6A1NHTAGRJ7FG5EZULP09QNZKK1VIXOCQPJ7LV7T8PPS0PCFVXYC3QS46LM div 36#4BQQXU7MISJEZO1Q5H431R71VQB322AKIAYVAZ6LF7QRK1Z48JQ2FBLYG3VM40JQJ5Q9OZSO64ZNF1GEIF6IT8Z. +-36#1EL002T07NGGB5L6D96AXWNCRGOXX9NH0HCLM4EXQYX1XS9TGE = -36#1KC36UOIZU67BBRXVVR48YGS028FPA688Y9GRP4736GWLW3AUYNA09UA8LETO32EOQAX5VY2OEN2OUTIMO7MIERHQIUIA32SBCAPDIWAX9KEWJTKZ9Z62R02VNUOBXWEXRKX1EAPM7HD1Q12RZ3D447WSB6VHLJJYL9RGK1S4JGMO0F8JIVMR5X9ZDYLHMIRT24J5EZUATIFRM107REE6M22U72P5DCJ4BOAWP9VB36A1NU15IECOFL0KO1UI1UY1MRNLJXXAQM1URK2FK3491L3T8ENHRXYM3I9ZUTUUY9WTGXOV4QOI9IMP72NBAQZ9RJ8TG48PVGFTNPOYHF9HFK23BUK87O12FWN8BF536OONDJMBJWV6HUPI5OGT0LK0HEMJIJMDE8G2LPW56BPH35OP9HALU9RIJ7CDSRXVNW7IJEKXMIY4P4LOIN6Q1LB1HBEUVH7ABHL3P84WUSU0X4FKMVZOAMGF1KGE1LWGT0XZNB3WFTQXXFGMBJJN7NN3RO89B4PY4WOT1KE64NFF98XS5P6G5F30OJR2U97RZBI2LOSNT54AGPUQ0LQLV99MWS75M div 36#143DU0R2I16N5BXS0NH5AKBECO1CLVLRNJ779EURRA779KLGSGE8VXY3RIBYR6C3LDISUUCV2SWO8J9OR983L0W2BCZ51G4PE0DVKC7DJ8J6Z3K1Q5ZOVN4L7CJNQ8H5J11C13N183PRPFSI8TY93KPAIX03B1I6I7BHXOTM16IQZH3R63JHV4KM6KWPLZVY98S27RCSA9HDL5IEX7JM6DX5XXR8C632YGGJBMKX8TXRIGC29VXZOFSRJU6EJSU4UTGX01KE9IQZ6GNZMBJJWNF1ZTHNI7VO5P8XJQOLTIFWCSBNTABLR5SK9U5N715V7O0L47NAKL7H1AEUERKQ0J8356HWT3A3TJZTUTYRJUYWBE12FTYP1H7XC784V3MXYJ42BSW1INST378SCYPVAMNPJEZM7EVQ1XUZPFIIX6ZUDRZVNYB4P9G0KY71CFU4JQQLQ44VP87XZ1G6LITM4BLE5SHG05SL5EPM97J3SJ4621BO0CNGK9D63HSX6PRYJRQILFX645BR6XG8V5TGZ. +36#2PGRW4ZY4G6M1HNSOFQDX09WB2FXML3WLS909P5FCI2KB8VPMVHUMUUDD7VRF3HGC4OB5YK2D4M23OI7AQVWVPHSRPOPF9OBBIJ41YUEFZBO4IHLOX5XE4FSFIGS8IYVPWZOK3QNH7DVLZ1642AIWJ389ZDRYYRP2VKI1PJ1VARYHAHU7H4C5MUNQ0RUUC9CXMU6IVES6IGGPHGLKUED4RB14QH444VT292HPF951UIK8BIN73TGD40AF0F3AOTGSUIC9Z75HQTXXBTOS864QOGKY9BH20KRR7DG4M8YKJ6UPO1X553V4WZDFHWF7OGO52VUJD7OWSX7XUHTGYD5K0GNBIDPU5JPW7NI23KP3DWD0BI9XJUDG3F27X29EPAENMIIMVJLLRW7IP9I2CVHEPDD1C79OO8UMEV7HLK676E5UVWVT253DRZ91B09CBFBSOW2VAVPTNGOBD5V9VDEMUEYF43UUA8IRSAKVVQNXGJ1X43PO1TACZ29CONE33EJU3D7VYMGHM6CTJNFQUB6JA2SFJZ71KMGX9VZDVZP91HDZRHF3O34YBE6TJC5HSAIXK05NOZFAVWPZD78UWDNT67VNNYC3UW2WR8I3UWK5SV6YXLEZRH5FF3EB3F7MWTF28ZMY5D4Z5179 = 36#1JYX271W96VP0NIGKIJKJZWJQCIVPB371PKRF58JCBKLHICMU7 * 36#1QOUNXSBAP6BZGE0U7NTDAF8K19HWRZ0THAYMZJELCQNN98VN4B1J38Y62XQ9W69U36R8DEB1A1KT3WW3YA6QA0NA9OH2OXIV56AGQ54WF9OTNVZAOVO6X6N0HNU7NHESWCW1WM2W7BIC51XZQKU9XWIV91ZM1X7DDA658JS2VVR5LZWKX7KB7I14WOMN4QUMZK25KNIDQIEUK3KHHJGB7VYVTMETQT6EDS0MARI8UQPNXEXRKYIQYZ3B86Y0XXB9N9DT62WXP6ZOBKQZFQRRHREFMTPXR9A6M3FVI30CESEPJUCKXDCYAIPD2IZWQ8XQCCYW4ULXHD1ZENTKTTWW6NWKTXFUO1EJENBHGQFRMEXUBE5HLXQQECFOL9SYHQ13S8M429FRIRRS2ISDCDWGHIWIX13H4SXJLBG42EJMPJMN333A9TOT7H512TEYIXFPMHA7V6H28G8CQRRKQWWLKGIATNJWPEL48KZBBN125LIKWZA2S8S89H1XVV39DFQT72RWD5ZUM6ELHPPZ4S4SC8N3FYL9EEMNS89GV17CY9ROJ3WUSW5JITFG75YTVV0VJ3JTEK2GCLGDH6JZQIZM2VW918R. +-36#ET7ZF8IK9VFPEGJ1YNYL95CMMJ7ZTT6UAPHSBUJOIYVQMFEQ42WM012T0U03XRK4AZX3QLW902A7RTKAV8LH6MXAC2ZYH9LIAX9P9XA7UZGY9VVCJ62JMO31CJMDO3SMJY6CXH0JXPUF9IVPTM66HRFZO57HXMTW3QXF3FL0NXK3MG84CVYT3UAGMC1SNI4HHMI6I91WC9BCSMB591A77HVM6XJHYQ76MG5FWIZA6PU9ZR35S5W8TI7WXERKIL7NO9PXFKIXAQARRHZXBUMPZS7YV4KHLMZ39CJELYMJMT7MDSFN7W5QVXCAPXP7F2XUZS9BBR0T1TLH5Z5V2V9DUGLS5FGLDD7T4ME5GJRWEHPQIOTJBKJUWW93WNAFPTJT8SV6KJDUA2X30QZ4E3LMYKZ1QY2CA0YHI48FLAGUTAPJHJ0SI0JBQ8ES3CXQ5F75OKD8JYZK6PKJ1PFF841C4TS1NQU7GDGHFFJTQZX2VOVABOSA6164RSFPN6TWDQBZK17W3LRKO6C4TGAN37U8VAYKZH2YNAROS9S3ETTXNNFSYTRP8RR29DR49H35KT2DHHKUXAL1EF3JMEKZHGC5FQ1EP4C8UHV99H006E1ARE7270IIX2PKJOO43PQJYZINIU8EFCGMX21S1MRMQHSAYFTTEE4AE4I80KULFQZH2TW8J7PPHUPQD775BUOT73HY67JTFA15SVJOZ1QBT4K8P5SUHO6YU3D6KKZC94C1VBUOLFS5FVBY0C54PD2HR6JH72EJ6Q7FK83GZ20ENZMRJWIDHC71QX7SEK27LFYTSWGZIAB1ZBZEM2DXYOIBOE6PQGX33AZHUPQRYVP3A4MNUZS81QBZRZB2AGSP3LXM1AMK02GPXC3E2JQVTOEEAT5LIN4ILQ0A5Y69XQ91LXZQM7VYXTN9SGUAUP33BBGUYAKK6FGR5B4IIHMO1GFJQMLJWP63D14994L07V164K6ZFIYJ8OVRHYP2XED4L7566VPIN1MC3XR86A5EVPXA5YKTX1ES4FWF5D7EFXHN0GPXQEPQN865CHP2N561G9HBP2WVNHEJ0Q4HY4DAQWHX6AUQTB2VY5290NPXH4GSSXCQICXH5IUUP8Y0LNKMMHHMVBMTT663IR3O7SDUJZOBVIWSMVI4AIZ7VYMQQ0HKZNT7SJTG99N3FUWO3IW0217XKP9GB1CXJMNJJKNCOCA54X1UFRX9Q5YKHYAQ0IOUTGEZWKUIRAF4TV2AGWLUFXS7SMZCKYWN5MGIN8C74N4UXNIOSK6SRQEGXJ1V03RCEEA10R44OUC0CHW4A0IX4W2BRNNE6U5CCELEW6TGK85HWJTF81RJCPCIU6GPHYJ4DMTDEPNQ7602ODQ0BQ1ZUCHEP0L9ERCCPH0QISX0ODDBRDOB1IL4BTDDMCX0JMWR0KF0L86W605EBYM11IUB4DFWKF47OJ6Q2EQKW7EW8G3MW569P17ZBQHQK9A745IKZ5 = 36#1IA3G2GKOQA5M7YPUTBVZZKU0FGPQRA51DLNFUFJSLPF2PPGCSVHSLG5PYG0IM1RMJLA8HDG8LTUMF4YJJGP8BWEDQMPHB9KYA7EPOOLNGZY70L5F4URDS9S877O6Q2CNKW6LLBTVIFGU7DKJHDHP53H7KU7VOZG6ZJ4I4Y2J4MDOJTOJJ77WE0KNM41HNLAEXIFQQPK2YWZJLFQBWEXJJPMO68XKQ1I6NQFKOF2NA3N58XCA7LWECZUYGUB0HRO8TGCXJXP9XP4F7JHK4YJH30QG98Y5WXCK0F8IQ738H0ZC5H83PG4YDG5EL0PYBPHKUASB5U0CQ6C0KQIBZ7DS0OMHS74JQPJFJH7YTWP8G9QRH5BCY5L1PKXR184C8GVLJNFYFB4DA70JKV8DFKVAFKS66IPQ7RN6EPKLPBWWZV9VA1RNE8B7BC5655KA6X4Q3DGE7VRLGYIWLDD4ARYYG55IRA52ZKP78HHOT628DXZWPTCBN623AAVR5G8CEISI2LWIG1BKAQSFFHEBEIFP34VTZ50J5BWDX4FA5R8R9T5A9ECYU5ID760Z169XHJZD7R2K81AKO4J06MQMWKGIIZ148OQXW8OHN528BXXGVYP5POQBZE7QJSJAGSL1N16PELJV33HCNXFU7DYEDALMRL1LP2IZMKI0XV0LEZTG30XGRHOJL70XCGGHLX13SGN6NW3VSGTMYOA8I11RJZ6S9CSV565I8E0RKFRXGGPLYK4F1B8Q7OT3OB90OTAWQSWUNGRS3KN3ZQ4VY88JTOQ1DXDC28CN58QH8PA0YIH6HAXQ88NN1NZPL77NYH * (-36#9TN7EXIEIZ06B4VLPNE8S2LMMF71KPN7XBI0V2N2M5T6M2ZM55GLNCASVQO995H64663W0WDZM3X9U403DKUHF50ON0UTCADSR4RJU0KQN1VVZV8WJXKMTMJMJDUPL1LRW21TMH2V1UN4YXKT2PCACSKIUHUKZ9XDAMU82SQ1EKHU9RGP79QBVGY2482G5LP1YDAGVCLI25G2SJIX0INCM9KVINEGKYADUCBQDTZNTCW6VDSCDTIO8ESNLYCYC2XHWRO1SPCI3578JW7VE9DP04TIHGXXZQYQWTBUK1EK24Q19SE47H2FFD0K7V0HGYUR8CYPU5JZ7VRANTE7K9M54JR7G0EI5XP5PRM7L8Q43AVNL0NW05WNSCAAZI9R8RWSCEIIFVQJF46UNZTQ2JTCF9NWSR28DSHZJRLUON69TJNEYLMDSD4Y2O8S6YJ8IRTQP1EKJHI259TYN1HM1793GFLCVL7Y5VMG7ZL01399ARDKOZ0UO887884CTWXZBVT0PPDBYU3504THY8UIQ7LRDBZMFT3BW4P8HYNN1K6EV0YOWJ5861L5N260225JIFMYIDNTFH1FPSNG1F3Z01LSWB7X92L0DX24DC4FAKJD16MUOSYOA60C7U4GD3L37Y78N8T2BAREEJOII6R0OEIX3ZD). +36#V9QSSALUAU1X1ZD4CB0QFDJJBEBFJIEMFWFBUREKJHV265DLT3QA616JETU9EPQSN9UD0K37XYSLO2NCK3S8DYJFSH80EUXTZV5POJGMKB78GEYY3V3194V9Q0D3XAN8L4O3R2X90W8WCA2EAEBWEFPR4HRFXSSOVPYGXSYKFWVHAB4HGPBFW6HYB96M62WN0HUDWI99NHDMO7FFHU47AVIF1CI7ECODMLIOKHYP5KRSPL3HY4GW8T9PHR2MLEDK18JQD4AD6416I2AX75FNQX4J5TNWKA10Z7CK8UH99S77N69GZRZPEGSRD95TJ9I964TXCXZAWPJGVMEPSUWJWA8R9YEPSE5ZP9Z0Y4PHIODT52AUJAPEWQ5NWY2YBAZA1XN1EWEUGEAME8I49WZF3AHL7L8ATYHS6W8HF0NTWU3B55BAFD825WEL5QS7WN52WYRAFC7NHIY7444FZB1T49NW2P6BL81IGA3VQ5RKESNVH446A21NPEB1ZSYJ13ULFCSM49EGS9KA2C8UO11XYLNC5LOPBNZ5NAOXZV40R3260YY09VWK0ULIJDN7CKF8OLPX98GKVB1WPHM8OONIP7355YSSFO13191T3GLASAX5HNIAA39BILVXZI7WEXNLV4YCBQQ6Z9AO0B50IBD3SL5 = -36#SJP4BCLRADWB7WAPTN12HK6Q05FNB0QVBCFXYS3XM1U2SWRO0HM6HZR45WXGOM0CO056FIRLY5PA3RZB54CHN6WT38BS525Q3O7BUXRVLL9D7PXB2ROIKK3IYE3ZRZM5J4RNZIY5PJXP2VXRHMOD5OO7QSA0PLYBRS5KJ4DSTHFIS691YMEZM2N0Z0VIW0F6D9J4WRBTAW1EW48R0I2KWJ3VBJ4K25M9E403KKSN2P9RY18VF1SEPD2DBX8LDVQ4TRQD89LNJW704KFVSGL8ZO9RB54CHGL8YS0YRL3PXBZWYAVNKFV07EHQMJBQENA5L5CPTL4WQSER5GMS9OILLSYZ711JOGO6BY313QR5TX6U2XSC4KCY3A1YH3QO93W8NIR5ZM6UQPUI5I3CYT8QTK334OX7OFS07UDS7Y35NBWNPZEBXHWDRJIOLPVOWZ9PFDITM9FUOAXYT05DCUY0RMIQG1MWABG3DCKDT0YIRQLQX2UE176W3X27NS89HHV4WF9YXY4QRRPTN2Q2M2WL4XPDLWJC0ZSBHL10ZJYPYWKCB2EN1K96JKRNEFG19ZEX3HT809O2XYUYE464R5FWRV36LENGFNMURL1RJKCNSYTKJ9VJ18ME4DKGQEKOYIMTSM4SY64JKFJ7S9ZY9PROVLG61Y552FW1CX9Z3IJU1C89Q5NTEPSFYOR14Y0H7MRWMJPSJKV3JC9JPQ3V8SO8B31MZURRZ02WPU5MYGHXBZR0TY9SBX9RHKIM9IMRMFHOBHY0DHJZT9ZZI4UY1GECYLJPXCOVAOZIQ7NBL1SQ9VXLEHW2KZ8TV1ZY1RRL02XI7VWQ4VS215MQCZ4GGFSP6R8QAP0I37BDXD3P6M7NC30ZJBW3IYPKV08DJ25K8R7RXNPYX6THXQTLOTEU2ZFY2ONGCR4FI8Z6P2DWN415454A0NFW01TUXZBZJIOL4JDVAFHGRE div -36#WV4HX6XPKWLTAHFSZ0EYNRNMW9UXDIWGE2RAVI28RYZMDC0YEJLZ0LLX4ZRYWZGS4RJ4WTW9HODTS9G1AX8ED2SLLNAD7WNGIWZFQF1S0APS5ZHZT2M6MI1C7YARJ8QXFP2GYV94B1DPZ98GNJU7RB1Z1CF6QGJ7PQUHKLUKB0OII4N3OS1SOHVDRTM4CW213CD77F5TPI2BO46P9ZEM7XWP7KXLHXIXC3CV6X5ZCDHHXWKF8V9EVHZUD2B64PHUS0RHDH78W9RTUEH1ZOWDT6V0GX1NWJX1DY4UGTB1AIMAFSA. +36#XL7DTBEYHT7A63X4WHC6M2RDQZ3BZF8LOLWP2PHCBIXPYPDSKKDN6H7DDTJF2PMN2AI5MB6YV5 = 36#3CDIVVTXO0SMYRDOZH21YHA7RM0KYTV63QIVKNB5WDB8FV3I9F143PZV839S5AV5XDM1EXQDOEQ3GH00S6F1VZO1XOKEP6T6ERPB2R8F6ZI74NDIPNFD2SM26Y2F0HK6ZHRGGXAD9CXA899NVCSOY7NG42W1Q34G0 div 36#3L0KTL01FVFFR3MAGIJGK1TKTZ498TDCFFJURWVP5AMUCGJSAIYRC9K9UH9ZT9A8YAO0SVMR2CYEWUO1RSE3WW0. +36#4A2OEI2KGNUMYPIG1E9QB74GIYY45QOO75QM3VDZ0NVZYQFHGZ51YKX5DJI2W7OMU6ZY7ERHVRTA96KF74OPYZP67E07ETDCYRNA7FJL9SI8K9FJFTQ95GNWEQF0MLIQLE27BG9LW37PMYJGHXTU1CRIEM7FC9JZ7ME9PW0ZZ6H8B3WGO98FGFCTQMNF9KH4A8H9JLKZYD7WE4N6MJ1QMWI281YXQTQVRFEAZUOXBSYNGE2RARLXW63Y25F7OKD3GB4IMTP5IPIDQ4O7JELWVIJBAXCA8ROGBXACNFK4MXM2F56LIGRKWAOYMPEGYL5J0F5WPD7MCZIKCM83CC7YDPRDMDB98T077ZPUDNZ2E9TZ0L92A78CSYY2EI211OTN83QNQGH475XJC73QAR6514PBNB0A48GXG8U2Z2RTQXLNBEOTNQYBYA8EJ2A4GB1GGVGIELY3ES68SJBVWH6 = -36#2NM6GBL1A2V3H83J5SC6QZ0M9VP3WAID11YGJOJQBD42SCIUXZQEXXKJW7XYVXPUSCINOQEKFUCXCGSEBYHIP8Q06K5CXPXDQ28Z0PZ6YBN9KE7F6TWS4X7ME3TLXYHU4RAHK0IUGP9XSAIASXCS0PAZC2N5DHZEV96LKSRYMCYSEDOMIIKPCZYSROA3Y20T15GKG07333V2MMBSW0DYOMX98E61GTC368PJCLWO8S9J3JPMCGT6ILF4GZTNXF74NQOG3DUK6VA7BH4GWWZ5WM6WMGHH5W6P0S04H166PMFVP6E1CSUHAOCPYYVHXNRCEX78LJI654O6PAFI7QNY9DJ6QI7BGC0MJ2M7G6UJPU14Y4R6Y3A2IMPYU4Q7IY9IKEMQYXX1GDURAH5F267A3X5OZJJ9OG4S8Z * (-36#1M0CSX4UO6PZEO537BL2HG4T7GKPFZ1TSAHQJ6FLUNN46NUN0U). +36#2JJ38MA40AC5QM9G7H771PUMTVFIF33TISTD3A1Z9MX8ZTLDWQ = 36#5LFXEW2LL53UH7I6LIDA9Z3OKWT54L9UTN2AR9P4AN2MKRKNHPWTW6UPURP1FBU0S949MO7IC7EBCLUY52WQTHMARU0IJ5K418K div 36#2789UVAAI1XFQI8FRQYMZ5DJJS00HI5B0LLZFLUBTDHTE0826Y. +36#1ZQAAKXEB4PX1261OK9IW5FJFAYRI8KQWXVVT3NW3NFQQMUOQYRH5VK5Q5BGF1DAAXVXGDAXLJ1U6XMH4ST4W8L9BRRA8UOFQC4J3Q8VT97AZGUQ680E75FNOGGGGRUPE60739GWG53D06J9PWEPJ2CSTO65LHKHD6TT1J19ZR3MDJRSQXILD9ENQ9CEMAFBOTY622CP4753VBNF8N1PPHQK3KJXZXK0HIAMK6GLUFCHZDPV6GX3445PX93KL64PNX05BAUAQ9YXH5R89B724678NPXJPK8YK0GKYI6Q4X5NNFU2FM7EM3P7KV06ZG9T34QS59PFVYNAAKPZ5TLXMT77O7ZGJHR7X5W3KZNVW3A9TU5669PTMEUSQI334MPC9EG5NYZO2PJVICDX75AD1J6GN5VKMJR9M0PTO6HVV5EWVSFUQHYI90WL18P235AO0VHB7XLXIE8VIHNK9FAIV8MKWLGX17K2CBPXCUOJ66GVRDF7SXAXYEC6A0MXAAAM85AD8VFL41WFDJ78AD6MJAD36XMZ6HJYFKL7T1FCPLL3A79JGADB1WASU1C6C0995JPHCN9SHKPP2XJLC = 36#4YY1OB90X2GMPKNBAMKQJ8P4FKJX4W48FQC8JJN5AVLB9OKAWCCYSYI2F8RIBMGJ1U9OAXI9A2TL7Q2ZX9P94SBV3O8DYIK7QKZ4UJNKQ235FRYB16WO4B07B7R7P374ZLMAM1RJHF0W90YQZKGG3GR3DU9GQ27093DPV5OS1XCO576BCWQ5V9OTS99JQJM7UXXKBO4DEUJN46IGZCKBEMMPSU1DAB1493RJ3T50YOQML8VX8H1TGQ797AAL7O3OTDVLD1YLJKLS41W2VAOM2MB32E97H2ECM5SB32U5M3VGWC52QVK79B7KCN9Q4UXFH07DNL3JZ48GF0M49ZBV930CCX1U5KZVOEF6NJWO3RICV3W86HE8C93WX08HLNKY75M3X7M5GM6D57XKO5Z4O09EZ0J75OT9GK6WKQ4BCROBN4T91BGGWLU83WD2RJI564MV3TETILIX2ESFASLB3V82HLDSHDN615IVC7PDA50JECS6Z95SNPHNEHIN04I8XHYUJI8OPMTOG3ESTVE5LVX791117BDCZQ662KVNKHA3G45SV7KUMDED6LYZNUKEDXA7W8SG3901HPP9E40AWH1CEXTG8ZIVX8H59NDWUD3XARO443YIM79P3WST60S9TC div 36#2HT51LZW24X606N58VWF90TKGBCGHVU74VYA5MGGF5L7V8SJ9P. +36#Q5MSI5PSFN5GTRFOWU0CK0PBTMG9NTUJ83Q93INOEYP5P1ISHV9EMI5GPDKE325NEX4JY7Q69U7WRBON0Q4XPMUNNSVX2KXS7A8YIFEE9W7I5Z5C0ZZEXDHKZ5GT0IVALQ443NMUBULCAEBKR2HHGFIRH0MS3PE3O1NE7PHTX4V84WLX7PZC02BACL4NGUNG92VNLN0LHW3LW8B573BRVWSYQ8TXJZCXI5O3JA73C8V1QMN9U9VALJ7QS1ERP04QTYJC3EIFIPB45R6JQOHX70Z6PGVIWQD2GLN4L4KX0PTD5MMKR50QFQFQ8JEGRKGI0VR3SSUQZS1L7Z9FB2GKTI5QZD25ZAFPP6XXPFVJXA0MY2WJW03W59FUFUL5LWE3E6M3K8O8ESY25IEUDBWD14NQV6PJOA91GPY5A5TDEPJ3EU4IO7X88KPPI2ZRT5E78S4M530W2AHGHK1DU947MIP07VDGGDKRR7KJ3DQW421UL4S0HMW0EWR7WLEXL1VVVDR7O2BYM3498XTORR37BK3H4JQ31KMY0ADN40OZNBJER3BJE3W7ULP91R3ULMQ9EOZ29HXW0JM1PFOORUCYIG4W283IBH6VX88Z7ZE03HZVBL4PC0ONYS3M14V0AL6QBAO3B2O77NSJ9IE0QIO3Z27A76R7HA85QNI16YSN0CRJE6U1UZUR2AZ7KC46X598OBLVAUTLWOTXW7R5DJ4RNTGCRFHLZBUFI9N2CP4KC9ZONQBPKAYRS67WXBBAK9QCG6Q7BCEV4LTG1DA3ZH0D259C7I9EXTJI0T8FH965M2Q5RST1OV639YHR9TTJUSA8GPTT72MKI6SJ120V853UBLEYW0X3X9O1UWE64MN751Z7WY1S8UT9W33PJM4152C8ZEM5UHDI3G4ZAZM35N2REVJ878P5E5FTCA1I24LY2VIR3KJKBI48MBHD820SO8JOSFX3WWTD8H0U1W = 36#9G6HIW3DW368KWO2Q30WPH8NFK4619AI7I4VHT5989T4QST0S98U1CJ6QVD9TLGQGXHR7NMUULTNZQJNPFGUY5K6EOT8VMVKOFZOLC9LVIMAC9NRMR54KPZ528OQQ2GZ71F88F3G5IEU9DRUTOEJ0FSOTWUCD7EOTEGENRGZYXRJ63URRIJQW1JGKSC77R31DALKW3N9X3KN8HUHLWK3ZOUS7A9KNUW0WGBG26T3KR5JIF7FGZ09292W8HRUAKLOCHE6YSKTKMZ1RWIIB2FJ5CID4XGN5DAYSDF1EFM8YLI6E4YID8EW333O0KQ01TGILPKU2NKG1YS78FRTUUDLN9J0LQNUKI0V3HYWPRP5IWZWYHV40I66I4VU2H0SUZ80445QNFR4OWY5PKYIZNS3PTFDP70JCZ4L7C2FAUU4JSFD2WFPIHVOO2ABSQAUN52UEWAGN7HIXYE1H96Y8L8HSNA8B77PBW8SSM7ZSNWHEOSRJZSBLF4O2QX9UEZ9ZCF8X2A7RFZ6535CMVS43E0848NM1OBGMM3S6X8QIWEVDUG5OMR7UC6Z9ZZ7UU6AAOQSZHHQNO0KDRCZNZ2B91KGZGO3CQY85I95Y43WGJ2JZT2W7GFN1RD2X6PDFF6HINLOIU3LTXIMDAUX44AQCS2 * 36#2RNDRWIC0DE4WXKWBHCPYF71DUXOZZEULXKWPZQVRK80O34Z77Y448K98F99HH363LXXVO2TTKO2FDV31A0BHWFOL3GH9DCNZQYNLWSK5KIMEZG13V9KPGZWWWNW4YL4T6NZKJNEQCNI2JY6MFCC7JSVUQEQRD59BI9SDOC19KO5CHF6NFE5NBCFOBEBBOGJDTGDWISHI8IUEZ17W9THUO8F662SEY10DPH7UM9BBDCLEGV014CJALFP5BFYI8YH3T2KCHL82PHBJBO4KZ42QYEAKHXILKD2N0W828FU2L37IRGSFKN58NAAHHSY. +-36#5FJQ86KTSM6A80TLW7M39YGQMWEZDCW9Q0AFWTG2FI4CQRCU5CXVC9L1XP50H2PTMDO2K0ZTL2PKOCMP8OYBDT9IEF5KPPFSBDSATUZLRL78U8VSWGVEH4KQBGLO945QM4OPUKE10IAOYF22VEUB17EC2F4V1H0K6BIXGUI1L0BHVR6090YFJLV0V3WURLYSZIC0U4KZ1294SMNRT8IJ44OL18YPDHXR1NC984UYWG4U0A3BI09G0BRE5SOUNHWWKAVFVYVZ0Z1KU86C7JCJFZKWH1MRD2PO0VWYR37NJ4D3JB0PQR9VZFMSLM1T5EXXEOB5SZXGM00G2QXQ1JBFHIEC7Y9GT5GTKUFKVPEPWLI31OAUO90I68JCBFLWWQFGLPA8L7YHLL9VV0NS9AIT7LAJ1KGXFAFCXG7IEFZ0O3B9FKEC9DUNEKD7L8A7AYTA0XF5V4ESR7TEDKOOR8O7FLD6EJ71TCX2UJCAUXSB8TCLQIVFMSXMOUT0I4LTCEC879NHE36EYWC575RDWB57WS04B3LHU45W18U4JGSEXFW70IIELKKVP8TEB1L3JBTLSDXDA7RZG6LS1M8N6HJ3F0TG21JAQL95UXUZO0F7AT3DT3X2HZO5FEAQCNBIGJL1OH3JCHTGJAARL3A02DECRJBARQY2GSA2TI787MLT5JII51TSP3VA9NS9UKAA5WUD698P64670ABMJAZ0EOTY6654X6B79A2SXVBLNMDI059NEK7ADVYMOHIF79F90V3S9FMRAGP2UQNBU3IF5G3AU4N5L4GN8MW171AAONT34B6RLACYBTL9A1JJOCTSPWJIZMT8G = 36#CRBITW71JSRF77NAEY7KSE1SKBVVN8L7VMSRLJW5I53WUNTWHEGS5J7RBTTAPXGBPN6A4VJC7U4EOVCEDM9GM1SMEQ2YFPJPXASNHK66JB34DKCJJ8MVTEJNSFQBENSTTVWXEJT7NW0CKGLLX5AY4X823TU7G5ST7LD2ZZWK0GYXP3XV9K4X4O7MBE8WPA75WCI9DF2H8P5KDLUV62AG634ZSROZ8WO1YOVL51GV1PPHU88TSFUZVZ289TN5OYHPSDVJCPQBTWIFRHN84MUS52LXLAB21RW3NKX6PJ0ZS6YW053A6WZL3XG120OJB0960NYRTIV49VPZR7Y6GCKE337E28BILBYDNI7JSTOUHXBKS03CS9N6VJUNBP5DVGKBX3E6ABFONVEMV22L7CZVQWE1HZIG7UQAOJVYX61DINO8ADD1OAM7GL5ZJ2VLQYLHBMDLBKEADS * (-36#FBR11M33BOO0M7G4Y3DXBFDZOBJTJ8O1VA2L7XG3NYWZO53EY466SUXC4UYAIV11QPYTX16JQU3Y0141FIWWQPIAXAHTR7C71ZRJIZ28MK3R5FE8P76J4KLAVAIE58O2AKQQA0BNXZB87ZELRUY8XBUH9EBBQW2HZEY2OQFJVORKBRRYFSX80Q2JGPA1HIGDGYOFYCY8IHDRMB2AQIFKAYLIV3DF64989ISZD7BQWLGHQH2J6X0SMAFA09YFT1LKW4AKEVM9MXQC6H13HN7GJ5W2AQZCV2QUD90CBFHQXPT8DJ0TRTPZ2CFQW6ENOI0X7RW6WGFS25O9YB1AM7MZ36PCFP9GODLN1VF1QWCFVGMJJ8BADS7JCIYVAMG). +-36#DPF7XZA5JD5VQO72QV33CPTQZRUBHBMGQ4LZBCNX3QE2AXEFFULCRFCD0SZEE99CSPORN4W78I9TWS4SZ0SCH84IQYBON6BW = -36#2K2VGUHRZIPETI6H2ORX4LKUOIOFWJ4A14TQZC0PEMNE13F2NRYB90TGFUVPGJKR76RJNHJGFDS2QQ9HJYYIM62OQNW5BOWF7N94AQ1Z0HL438DKIR90DQPBASDEDZN713RV7OII3Q1VILZEZTOHPN5ITLZ8KR1XDPYIRDYUBDUGAO3CADATKBJXBVGRW2OKVX5LIBG94JL6MWXXPAUTHR9CDZ2ENROEHESVDSQPWYJJSAPI6DU9D822FIP45U8PJLATR1TPOOKDJ7KD0S1Y3JXRPW08PU2DYILC4KVPQ2B3ZWDGWGBLZA4K6XTGTL4DT7M2G0QTCEVROLS3RVKI5URPN1AF9ODXWO0Y39BBYEX3YLOSY0DB36G67NLQAL7NGM928DKNGU6USLRQ7Z1LMM9U3AVN2TSJZMIP5QN8LQ0ODH9C7C2A5JVRM96D1X7JTIZT5ZOWQXUJZT7LEWBSC5BIWQCKN41FAVBV2KVXUGV0CTAN266PK338J4PEBXYVA86KJNCPXY9NY4SU3FON0H1GFOY336J6TTM3E7DRB2URB7BM1RX4JLPO35HTTDFZ1IKDG8V172BF76XZMKSVMWEHH37DDDWKR5XEI40KUE98NAFVEIR3ZSYZJ5748OD8VXA69HQGBMEY73QGDRVDYIHSL1GO0S9V6KV7HQ0P8670Z8IEGNIGTNIAVHIJ0SRC36P3Q18M6L14AD1UTG3MHDS75LCC5M04F2XVG0JSJC7NGUJRBDU66GGTL9V2H7O1E1PSQOH3GT4CAIONYS2XOE66OSU8K6C9GWZPQ4KGN1TK412LCYHF0B3PWXH29JSHOH3LWNMGHQVF6QW7RVQ8S1KK9PQ946MZZM5BMIWC1WSEC0GYLKREPGBPQHGJXV9MBDS07U2U5W5J0QMWG9KAQ8RAYKEDCNPOHIMW1EDB25H8QS1WALP3K8Q79A7EVZ1FNT128HBT0UG6OKJ1CUFFSIFFILE9OFVPUN35BYJM52CJRXKVOAEX883N13MLR4EJB59WFMNLZPB4H9GXL8GW3AEQ74DFR160EG2MI7HRSI7OB5XAYX4A80CPV509QA9CTFV6NEEF4UYYG6N89GV3WH32O2AG div 36#6PUONQA7FCPGEQNLIAKKAKYIM61O4XQ2IXPA8NTEYUGT9PHFBMVLYH3CCTI265V3XU2M4C42I7RQ8QJLPEX399CJWAYVH4LSFBARG2I1S26TGS1SRLMVPOV5991XSN5OWNYC2B5Z3OILWH1N435WB0OO8FGX09Z3DO2XE57UWXO7CX9NNWK33S08BFQKMB6T891BSDMQ6MZJQ6834OTXHQ41UY86LD30B0YXWJUX30QL3X5R7KA1AAAVD3QAT5Z448RZZGMYCTZWV8S6I666EAOAFE1Z1UUVK7NGX6M4NKN9AWQ6FI0A4ZZ85RFK1D4OA7PMQEXH77N0371J8RZBA121OSU3122TBR9WVV6WU7Y8RL31QIKZU7MVU18MYNL4SMHR3VQDMUF03HQQ3XGA8S2VJ01U0CPMGTQ5V6QWXJMK56BYUWVEKGS20W5B2YWFM4A3KMHCURC7DLZD57LBP54VBYRZ32A2NL9K908TNKOMLIWO9GJWMC57UC5AGJ6TZAD7GYVNDG5SIXNWMGB6L6RNYKH9FATBY6TN3DEZZL69LN39DWYFX00T8996JWAFGWFOEBU8UE7ZUIME2FJSLHNWD3R3AFD59IKJ6BZ3WLPYIVOTZTPSPAYQJQJ7HT6O0H3MCB78RFSFRW0QPH1KW1M7XBN6LRW3ZE5Y8K7B11XEDJXV2RHF2TLSBJWF3Z5TQ65G07U44JN7WFRDTJ9KKYRFX2A2OHAA5MJNKRXGE6QXH7LC30CSJ7HE80MRYLP6LPXXZ28T8SZEV3YH7ECYK3GHUY2ZVKT5I2ADYC4J7IICO4OATWYYSH8GUOA1R9KR2LZFIP3208HWHHA1VVFJ82KW4HCCWRA0SL9TKYD5NVBJ1P7N9UKFHJIP93OE8UEPG91LSQ6E07592RB7PON1EA8COCXPGEOEJ23XIK8ZLGAIVLWZGFVEQ4ARRQ96N56WOMOO7DY498L9ZDTYSS7DILPNR0YZGMYWYLTYKECU4PIMFTCZ6JBTA74A9CLE. +36#479HIC6Y2UT5NLBAB4A4RPLGE801L70CN9H9TDFIB6QEYVS105BNC1YVZXNU656VBNOV0WO11U2J8K1B6EABXYLQFYFBBQ29P1TV35W69KYFF9KW99RM02JX6OZY396AUSS29J2Y5VR6WQHEVQXF0MNEEV38PZ99TXQA1ZCHUMKKA8QFOFQF2YG84QRCMW7IVWXJSWWSQ3A7HDNB2SP57XNQO26LOSNVMFJFAV33J44KWCW88UY2SZC6XH1GIM4QTYQG5C8WH38SYAEHMJZ1YSUVJA0ZCCF36G1XYZFD6AVG9STOYV4B00E070PMB5EI32E0UIX8M7VLGHBM1FTV2BP4I393XQB2B0BIQ5SW0OVDNPC8OSY4BU4J5DATD5QVU0OP07APNUU1FEGXT39HUL1QCRXC1FFSRB4FU = -36#7SSZRMF64H37M0EXZU73WSV7345VJATAUNPIIAL6U5EYAVQL47D2O1IWQXM82487ITR3M7KZL0XX7YZ5TJS6NK7CO0QKI05SHU62W78HZAOCYRWL44TUKAACJ8V1C5KNHU4PW7LSHSGDORY7TJ125PR6RCHQD981CLS93NUHLHARTSB566RDJL2BE1ONWVJKEB46XYNDPOS6APKP5DYUNOLWWSRXR1UZUCGAHR4Y2W1W6QG2N47Z6TA821BGY9PLJ2QEDYR0KJTYZB2DJNO9FQQRRJ3RWTVIJK8F913PIGYW8T4P1Q9XZTY3VBIC4B2BYP6LGTHZUSH1F1JI0K5E7VJWQ9PTRPSBKQS9QO8WE9BHGPKI8Q68O41RCIKP50WFVY9GRDVWDW5WXC30H1XEDWO8E1254IVMAOUNBRVDOIWGGVPQ5SOUDSCKUVYDBB417RE0Q3IJETR3NPMK8Q3MOI4ZOI7BICNJHZ21KSPMDTLR8YQBRB2N42KXMWUFKLAMTYO63CDTYAVHYBC6BIRKTOUKI3WJBRNGE6JR5UJJRLGD1CYLEE3CT9GVFFTCV59W1PU0326QVM7DFX57FD5YRFC7D19CM3KLDJA5LMQX7DOQB5RTUAKKW7B8IRKL647XUYU6N80BK28LI67P5XUJTVCQS7XDEMPXZNI40OCZXYWDOHCAW55VRAA4C5HE16PSLCLGRI10K0KQ5YO60K3B02T8E0FXSN3FTVOEK883AH2YFKQS5GMXI3EBPNNVC3U div -36#1UTW4VC6NC1XX9SJW7O9GMD8MDLQ1YL18GM6PNFW0L141N1S5KL1WFDU1S5OY5VRFKHEIALPM5RBF87KNCTP1WIO6FD8RCNRLLX7FPPQHY3FS5497H1EWI9BR4Z2ZZJ6S18YIQRVUFD9730LNLHD2QXJES9V24MQC9XL106FOHHXEHE8652CNGQRWICQ7YS0IUU0J3FJBVV24M13BNEOX9E8Y075O33OK9UGYBA0E1B3VPHXWEUSABA66K16ITWE55QQUEQUVS5L5A8DQLKYT64ITWNRVCZUUC1CWD9DSRINZ0F0NQ7PLJU141AIKSFPLGQGFJLHSFMY50BF6WSGY4J0S21. +36#OK2JMXSFCIKMIM1O4BJFBOXYT7VMFN3WKW0U75KAGY7BO0RTUOYN44XFGENUPYX6WFQ1V4TL663YJRZ6D0IEG730XGMX54AP1AWQXOA5KEPMNJT4G2ZQAZ9N2S2GYGZX4TTVTT1Q10BP7XNDOMHMUX9OW1ZXSVX8P573JJH3WTK9UNG9US7CV2BIQC06K4GL8K8PAAHKGLYF62R5B0F6JRDEETETXFY5CPY1LD4GSTG9C6394PQI2EZ7UCGKP0OE4SNSVCMGC25FLB6DQUV3S6F22X5PKE6VH55C2BJXOXMJPRIP6P8IAECWUGA1G9OGNZ86FBRSBPZYHN38Z01WRIBV7Z2ZQ9N8JEB3YM07P32FB1VLSCEJ2U71WMLBJQUAGK6W97N70CXLN7M5XNACVFP8DWAOCVBJWPP1285YEMFKIUKU6BA5VR1L8O1W9Y62U5WO5GFAD9E238K9R5WR8BKQ8RDOIT8Q6OSHJISHK9YL69YNAG4POTNBK5D92V68IVCTZRBO4GM82OCMAYQAJQLBROTQD4OWYI3ZWLB6MQ2ITOC1YMKP6H3WN18PL9L8U2CR0AVGRW7MIGPOC614H1BS937UBVWO3O36YZWAAB72MWQ9WTQI7C1X78G839TWMPK1O694A0BNMCE1JAUHCPE3P83NWCFRD6TNBWABCUQ70V7YTQNTDVPTOQ9V82B740WXVHXV52GHU7UKPBDD0IIYU8ONLVBZMQMH5SFQ5RDIZ0WCGYO0T7FMWWTCKTVHHZ46GJQWG8TA3I1UIVJG2BALRJZ7J9ZRCM4THKTQA1SRU = -36#VI3NJG0WVQP4XW5ZVJMU2QAUAQXUMVWZOU4PJ4WZA2NUMB8MW0E9HKAY2N5HZC4Y12XZ41GCSIJS0K0ZIZHIREASGET98SK1SG447YU5DM0PA2MG1TS35KXK1FRYRTDIZ6G53Q5NRR6XN63TYBQJDSJ4ZZLNJOFGJQIY30NG343JRQZM4T613O9EO8TDR4V9SI0IB8FSZHUE53MAFBP31CKVOZJIH6FBF77RZTEWC9AQNNQXQLBRGAAJPW7LOPF1JV1NOL7KJKMEOS75PPEM0AVQ1GAW204BP8QIL0ZAQ20QQ4GTS16SH01O555IT3AYH8VQRJPW2MXT0Y6ZTJY73US5HV8FW7GY580TJQHBZ9DT24D00X1MREZFAXRYN0GLTUY192WY3KL7JISP69M422ZXQO33UPTO4PBUD83DH4L8W7533VV6QH7A9GVP2Q3455M82I2NYSNV1GYFGXC5XD1IPGUDNW8BM * (-36#S29XTPMPIL96GUI5XUHZOE12X20QSLWASRECDY2U8L5IHFJEU3KTRPIZYEYYJO5UMZML9Y78Y1CO9VPXOHT4A3VKF3O8NN8HEMOPG6TQPUBEZWBAA1PJ9DXN7NTZFDGR3VTU8XGREPJGEOWFNKYX08CURJBVK8RK1U7N7GXBOKS2XXVIGLPSPDCE0WP79LH016KAUP94BK7F6UUUZSAV8B58E37TNWGAF9PD4E3H6S6QHR2R6PIOIOM5AD7EFMQSW0W5S3ZSSV0YTGTO227HTQL5JWE7XUAV4L42YX6NJ17X2LK34I5U4IIFLE18KX9UT0WXRXJT5D0L). +36#7FUJTXLTK9CWCF18OEZVTK802JXEF4PK9Q36BCR4DQSMBVSH1OMSC3HPKU810DPPCJE6IAT3RCO02HV3VPOCPLNDCXPCCTPX3C8P7JYE8ODCV6I70V1Z8SMDAD5WI0LZZY64LJR3DNHQPX3XHT2LACHY3I7NJJ4093DNTS6FYIVH7P3N3NZS679XMTLC4H21L6PLUFY11YX8MUMVQUYV2IEAW09JYXJOKA2CT1T7ZHO005ES1BCKRJMW0WF2WWLDFB8KFV68GKSVNLCLDADYJZTQ2P7CCVQX4NOIBEW3ZCWHKMXSBWRHX7DNRTI9S7T57PPCG0ADHA021T6OPCIH8TXQBCWPNDYW4OD77H4RWERGUG502F4MNGV3PHXJYYR9MXX2G79GARQO9GOYWBMVNSTSLFB4X0EQ4IYUDDL2R8YW4U2OJCP7G9S8DGMV9KI1SZUJFS40SPO26WQFX69CZOWWYJZTGR6RMBA332E90X0YV34B799PIC4U14Z1F8V24MF57SNDF5TQE5M6GLPFZXF0QZAV0QVDF003800XVA64RX7LP5C806BSA5S3HAGIMX1GHKN4MIOB = 36#3KZJB6VHLZMYA2NXR9S2JHW5C1211DDUDKZ9G9R7O4WJBYO4BPHWY2ONGKER2OFL73E1S4NE71H6NUDF76MGBTQMEL50YNSJY8TCY6D93P7KN1QGWANOARTTV86FIOW42Q1MOXBFSQASCQQELP1AHZEN4VC5OGG75943D6VV22VTIAKVHORGUMES75KNKHR9NVLPVIB34YBVTRO94AG3NXJ6NS7PJI2HLMXYCEPISP8S0FAJ45I790K7YLHN8L9QGIY3YL0OVQCI4T5FDDZ6A0MNUDAFYYPGN6COWIEDYUV7FSB5XR95AQH0L3D74H7NXQGHUNIA4RFKX4Q2CN3WJIQTGZBVRX8YL11NZLB3FSBI5H3V42JS0785GQSVGLP52ZA94TW47VGSALXGCQ8BU604U0OBJ2DI03TG7MD2X5F9WVNCQANCI37YRJ0QLY9L09AXKEGWEC9B1UYCLCILUHM9ZNXCQ58AZID1APZ066M0T7H0BCMU5U8YSTM5KGANGUA59N7Q03MTNO3C2RXAH03L86QMM6SBATXQRIAW4B9DVMAEM9CEIX21QB80CGT15DG81RGR187NM9XJO92RUP4C562P5F7RJC3DBZI78GG5HWBI1X70E1DVZN2DORLZ2ARJQTKR94OCDAM7S9OOWCMNZTXIZAEN60AB4SD2HM89D2IK3GRBHB18ZLEUXSKNF64BSDRXMEBETXS42QOZCLZZLBHL9EXSG1RFZVF1UNHBBH0805YPSPQDWYVJUPY49ZJ9ZMYEQR5L5BRITKLG39RRDYAS30ERZ7GYL1X014929T9185XB div 36#HC4008TOM2F6MMVJ5AEE4S1HQC8X30B90444TM8KL0B2TSMHS4REYV3TOQYDSXMP0EUJNKB2ZU4Q8EAJA6M8DH9MLQR7S0EJ58CPX0KQECW2QTRUFTZZ0C5Q93IPG1HXPRKO0O3G8FYRBU9P1C3IYYNCLNS22O1TFK0NM66U0NPACIWFG3RUMAJDCYAJAMG096D6QIWC3KATVJBQTIGTH93BLZVF0CUK4CSQLLR1. +-36#HR15O9N1KZ1VQ5BW4M3KHNM73L8U3M08ZJH659B0QYVJ6LA66 = -36#PPGIGSIT42IHPAKQLYC0AM1EYE12FE6PMIEDUFXO29LKBEP2UEQJUXF5Z8OFLMFXTSZI3KPGYB7G4CIN0ZI3PQLJI7OX8DOYMU div 36#1G4W4AAL4QGN09V75WETUFG7LCGJ4A43M7659HYWMFTLOSE0MT. +-36#PE7C0PBYHPLJHIFK3GDZ8H5O8RF0SJBFQIRFW1GFND7FDYOG39T9ACCC39L45Y3WIS2XTXPN640AMCM1EVAF63CBP0RT305Y95EVWLJF8GMT5S37GCHJ4A96SGFQ5KUVWPKFVT2F5HYG6JDJZEV90CUOPLOIWP00SBU04G1UR9WQ6RLMQVSNVO38NXHKS2H1NP2W5ENODDPO5DSFXQJM8RF1WQ3MHOSHEPTFA4JRDMEQ0LXOLEFV8RM7K9LIYFT4CDF8KLCE1OF9UF2OJIG8IQSUZOERP4RVQH0XVBIYEG8NZGGV0J4TEVB5GVM1LIMS655AQQ73DVCN2TFZ2D1R0W4Q6BUI3NJ2E9B62OX6XOMMGUJHJE7AINXUUZLFX5YAWOXUNM1K3RVT7IIR2BZWIDW1YIVW20MBIBTJT0JP3IWYJ865JU9EWCFDFJH9F5ZCV0II5MO1405JHVQY6IYAQG1K4RY4GZICY5QAX6XODHGXLZJZY84V0DYRK589VGNSXXKCLOEC64HGJHU8E9NFI03C93X9VD29D7E0OFBXV30CU4H7NQT5NTZ9V3A3W03MKDT0A5D66RC4V6I4 = -36#N15DR3460TJ0AVUSM8NAR59V9RGLWHCQ0R7B8Q679LWPHASO4067UF7D17MN7415HORWPRRJQ2PIGI7YFRSRO49YF97FNTVZMRKISD6STPHATTN106U46ASQHIEMGZPBQCC3R6HY4ICK01P3S4Q6BN77UYJEOS1A26LAGWRGCGJSWV7YGLP2KP7W3PGF9XTTGNR8PEULN7N0OOFZMDCNJADFCQC2BWT14QOPKCOX9BOY91280A2H4CGTUCBX0KQ2FVUHIZYR49PJD * 36#13OXZ4WPV34CT4GWAQR5THWPMQFDGCQBVE9DAA4CNRDUDDERLBVDXNGYTXHIUD46YR2ZA5KYD5XQ031388RDB5VCYDSV519U7S0W4IT7TCQ1AE82FR4DTTQVBQ3CLC786XLVOOJRY4Q96XL1EEILBQEUS1Z10J07OYP0KBG7X3FFO939DQSPLZFKK7FAT0FBL0MDZ6PZMB29OZQGG5RRIVDBU4VV9NOJIOVXHMCUXAPO60TB7XCNAU8R6DMZVTWKDQON9Q968UG8V0QRZU9P839LIEHQJ189TAUBEFWMAY5Y6BUIA9OM5FGF4GVFBXMZ964S. +36#WX2H1AFPFQW36RE1U82FVECM3M8W38MKAYD8EBJFBKR2IOHH0R8J5C5VBM52UWI1KUGYXEZ58XU341NSECXKKFVQ2T27U8QYHAB0BFJIWDKTI0X2SQ6YE01BEN4HB7EYE7EDF8NVRW28AXHD1Z5HN0BL15MJP2QFUFHXJH8404U0DV7B0L3Y74B6PD89DXNQVV6L6R1NN9P3OP6RCX764S4124LU0LUJ09DYAAIMJABXOBTLRMY160VRTWPTOMV6O91RM5E5KA3A3RVKBTDHE7CEG4TXDCNMVCAAGT9LHWKKRFZXVB1Z56MU4GEML1S6Q1VKEA1EC6IMA4YLJ9SUQNK9U31DW = -36#1ZK4TQWS4ZUJR4KO4NC1JUVRF86MEUNNK783Q4N180QWQ337L2 * (-36#GK6M0UOXBHVLDCWGBQ0CNDK0V3NS1EQIY2DMKHYF4X9BP4ZL236VBKQLNWM0DHW2U7ZS22BP24HKG5T94KKSDBGAW9FZFLFNT2762FNJKK93DXAKD6HJBAMZBX2IX1KXYGP3DC4AZ2EGPS3ZKW7FEXUQ6V7FC2BWK7CLHBCDCRYK8LDAT7G58TRDYBEEUUB3EPEK27E7A2RRF78N16N404BB0DHE5ZPGKBQ1L08D3IP5RDNLROPMBZ88DVK2NLI2DGQVQND61SMCQV2T6GWLL2ESW65OMI9889BNI76CVB9Y). +-36#9QAJTJ0O6K6SU43C1L7UPC5RU6HN7WH4CAUV4OEDMU4UDE1DHI828Y7MS8YVRA8QLEL6GU7ZD18Z0AYDHF5E04GXR0ECZQ11G9HSBVDIOC3VR89W31W88HIF7ZTHG4ZYDTIJCSMXJ3CY07ZVUH2FA7YAMVVCRDEBE0UASYH74HTWL09ACDWP6ECVQ9LMHLNHZ653J2XN5RCJZXMSTF6IHYWGX124Z3XPDCXS6S3G42WLC1I5B1AXQTR1ONGR9F0W8JQ7ZXFK8YYBGUG1CG9P4SGB2SAFNF8JLVKSECKLIBNU3OVGYE8JAIIJX0HDK5SMEIBW4ON6 = -36#1RG3VDO1BYUA0BLGUM1PHKFY62ZKM24I44JF31HOIF99RI7QQ95K7MUGB9ZQTJA2RQXT508H0KZU26XB21T48QOPZHGV9GSR2BY2AXYFBYDG0GV3OMG9ZYTQFBHZBDF28MHO2RKG79QVSUTMXNWJRA9Y9O2EFJ3C57BRKPR7XWRPTVV4ZZULA4D34KVFX4A8PY1FUBU3JSLUNHV4V539P6E6EBFAAQ5L0DYY0WQQYQGRPF422NGVMKM9U7KUJ6DI7E3DTZVWY1RIMULANP32XP34UWQPVJGTOPR4XUXRDBTDWUFA5RB9CVJ209EBD24A73FJF64B22XPV4XU7PGUPKDTON1E0CXSX5C6SQINEO07TPSF6BFVEGOLXMCKGCZS0B1S2MGQTQZ2J5YYJNKBUIL8MGKDXURQYZIP5WZNFQ85W0RHCWSK2FT1XWZQQZNSVV57ARX2CX3BSO3MGN81L0FLOTJU8SRJ53LWKJMYCEMUHFKXTPAJ0V7Q0V4V1WL4YLHX3PPPN1NC59QNVXCTJN1WCNZ86EVPDJI2T0LFETD72SIMSQEVQ47YTIOGLM8M8MCLQ94UAW7CHGY2OZUQSY4L5C3N8NE4CW9QZ3MNYIIPFGTM31BK96KORPIVNJELHGOGTGM8OMXD660FHH70UQCRPK0J1A0LVNQT0CB3Q24VF4UOU2GFT8OJA7DMHCHORBLXIBOXKJYD1QEUN7BRZNOC5WGN5G2B7CY2IP391U6GNNFATX9ASMD74O9P9MSHFU0CN883WA768EZV9GTO0185P9ZYHE3SHOZYFR7B18YZ6E50NX1ERE8I4OA98OR168SS6CEAB90J1WM2QDHJRNOBZVK9ZYZV8G51CJ4VTEA4DEFE43XKJDUPK62KXCCF52HGS9RI4C7J0LA0BJ1KE3B2JDVD5NN4R6WEJDJ9LZ7NMFI3IEYWBP5FCUOWQDONMSLU5N7UMT3Q9D4GAD42CYK2JJKDU9TKQZ937AHI3UDOP9N8L0XTZAZUC5FDXAEMS99DJ8ZNDNM49WLQST0OAQ3HHLSPWMF219XEA433ADROQOVJZXJUQR72UWXDXH21F3PHVDK4J371Y3KDNP7HBI9IPUAU8PC20XMAQ10AOZK1XOXH1V1L1MCR0WJVNE9UNXOC div 36#6IQNBKVSVQJ514BDOOFEEI6LONOG4NOUCZ085M18YNV15EGOGFT6MBZ0259SCEC9CG5T3UA0G3V61LQW27QU5K3SG307ONAR4VZXNQDJJ6WM7VY5FNR4YN5EL7JL0HWCDQ5QMIE3BWJ8CXEW2T66AZCGCKIAD81QHD5Z1GWP7H4YSG8PIV084ZEBZQPPKAXSCER4FPZ7RCH2LFFZ3GWIBI33CBV8BOANFPGEEFCLH57KGZVS2DSCWEE87L808JWJSAVY01IKKYF9PQWQCQTN8THEOPBSUPSSSLJA2VKCIXT3EK9M1F60FIJ03NGIV3VGFFTVXODYDN75Z1T2MJ8JJFB7UBT70AEE9J5TQUQWMUYJICYAFNQBPAJPY3UDJ0IHJTYQVJAR4ESELXX7PSM3FYM7EAERBRYJP9OIC1ZP71P9SIS74T2QJXKMSKHSA8SIKM9S1XHGS5VCW8ODB93LGLJPADYAZ5M1V07YAP5XN9QI404K2QDTGKOKDLLNZLWE25I3RTSTC6VOCAJ0YUCWISUILYKS0WUTDUIOSQ13RPBEK1HTAWTS91TX8XR75UP7FCCQ6EF7FDNXE0K5VUD9F82ABJ0RNBZ1IZ2FB6GI5HXEX2PA6NDDLC8PLCZT2TXQMWDDGZMVJRS8SFW8P7E01R3KE6A2S23BIFRB8C9OZ6YKT7DT2UDT97UYPQANZBM8T6NNMXAFMBAXJNRBAA1UR5YECMADZJ92HW2YGOSJHQYFX9N49FVWKUGP4PXIGX921WJ31L627N0CN8CATULSRYKMTIMRE3LHCS8L4VKJBBLJL00VQYD7P6S5GESE. +36#143DU0R2I16N5BXS0NH5AKBECO1CLVLRNJ779EURRA779KLGSGE8VXY3RIBYR6C3LDISUUCV2SWO8J9OR983L0W2BCZ51G4PE0DVKC7DJ8J6Z3K1Q5ZOVN4L7CJNQ8H5J11C13N183PRPFSI8TY93KPAIX03B1I6I7BHXOTM16IQZH3R63JHV4KM6KWPLZVY98S27RCSA9HDL5IEX7JM6DX5XXR8C632YGGJBMKX8TXRIGC29VXZOFSRJU6EJSU4UTGX01KE9IQZ6GNZMBJJWNF1ZTHNI7VO5P8XJQOLTIFWCSBNTABLR5SK9U5N715V7O0L47NAKL7H1AEUERKQ0J8356HWT3A3TJZTUTYRJUYWBE12FTYP1H7XC784V3MXYJ42BSW1INST378SCYPVAMNPJEZM7EVQ1XUZPFIIX6ZUDRZVNYB4P9G0KY71CFU4JQQLQ44VP87XZ1G6LITM4BLE5SHG05SL5EPM97J3SJ4621BO0CNGK9D63HSX6PRYJRQILFX645BR6XG8V5TGZ = -36#1KC36UOIZU67BBRXVVR48YGS028FPA688Y9GRP4736GWLW3AUYNA09UA8LETO32EOQAX5VY2OEN2OUTIMO7MIERHQIUIA32SBCAPDIWAX9KEWJTKZ9Z62R02VNUOBXWEXRKX1EAPM7HD1Q12RZ3D447WSB6VHLJJYL9RGK1S4JGMO0F8JIVMR5X9ZDYLHMIRT24J5EZUATIFRM107REE6M22U72P5DCJ4BOAWP9VB36A1NU15IECOFL0KO1UI1UY1MRNLJXXAQM1URK2FK3491L3T8ENHRXYM3I9ZUTUUY9WTGXOV4QOI9IMP72NBAQZ9RJ8TG48PVGFTNPOYHF9HFK23BUK87O12FWN8BF536OONDJMBJWV6HUPI5OGT0LK0HEMJIJMDE8G2LPW56BPH35OP9HALU9RIJ7CDSRXVNW7IJEKXMIY4P4LOIN6Q1LB1HBEUVH7ABHL3P84WUSU0X4FKMVZOAMGF1KGE1LWGT0XZNB3WFTQXXFGMBJJN7NN3RO89B4PY4WOT1KE64NFF98XS5P6G5F30OJR2U97RZBI2LOSNT54AGPUQ0LQLV99MWS75M div -36#1EL002T07NGGB5L6D96AXWNCRGOXX9NH0HCLM4EXQYX1XS9TGE. +-36#TCRYKJMT3VBMT51ANBAHO01P9DV9TYG0HTAL7WYAQRZWROZIHD18UQ3KXA7O4WEL8X2T5KAWV28JDQ4NU79R405A1R144TYO60 = -36#1YI10CUJMI6J86Z05R2MQT0DSGA00QSFO5Y7ISC6QOXR3N64TU * 36#EZMHKZ06TMFM2BMAULZ4O2UQF6I4QDXTWZV3Q9RJ33AQA2EZ0. +-36#T39ID6BPBEQFL3ZO9LQB780HSPMY229B35D9KHAQVBUTRGNLENWOHFGQYCUKXQYMJ2PGKBJGBX1BXS5XSCWWC8M36PK5AC70R320GPFVYBXGUEOSSU76LS1150SJ237RR85M4DTXX7L6S4OJE695653HXZ62D3FUUGWUKRH6RZK2GST3GI6SGKVAMU86U58JCCA835N6YU6NMWFK1XR1HG44X9IHDOC426NXXG0GMCCLI0XAN45YCKQY60GNZKZ0JWCJUR4EDW = -36#GSD4ZZ7D5U56T4TPSGU6SKNH4QWRLFO06BVHAULG256KURJSAR4MIOG1SN2VJ3DZW5BR5CRK7ATUZQNN12OW9SO5L197E9A1NOSFSM9E45DVFHXXGQ0XQSVFTDZEVHYIHH2B01QWUB9AACB94S1YMQVTP77IU3PML0BZPRNYPIQ60D3E5DS3ED26P6U6BO9LS0ROXNCXF17IGTFSTU6FH34GGI3BESFHTWCGX83MWG1FBQ3T1DF83CJECQ0FA91497DF24HUYL53URBJQIWB53UQ3PJAJWVCPJMAFP3IQPJ8VTE3L31030W1BAR6NO080AXHDRKIH11I9420PESMIIUH7ZUANKJJZ70UFG1G6WJS73KIBPLLPM59JG1B1FB3RU3YJXU7AQGWKEXZ32R2RA331PKNBZUG6P4AE92D387NMK9KUFG3YM2FRTF1EOPFNO8PG3S5GZJ8EWYUXA48FDPWXSJGTQ451G0OQ6L73SA07QYCDCFVS4X39R89M8K9XC9CNYPKR0JB6VSJYNUAD4GM7PYCK5UXE4WJULSC6F5N27CNEDSHFR2TLKHSUOWYLO2XEUXA76U1Z1MGVZOJOKZ14TXJ6SCJ9QMI666WUK8P8XMISWX4T2EFS5NXTWHGTV9JO0PCE8GB0WJY6QZFJD3UMBBQN81XX359B5NWOPACZJL6LS66Y7FC div 36#KRWOGEGWX4E8TUBZ68SKTQYNMP9J6N0GZTTY75ZBY3PVUUWT6GQZXZXOWC0MG08MNIE28EZE4HV77KWZZNTF7MEW9Q06IXLEVO3FL8XRLPXYFPOXHIBTQT1SKJZD84U8IUA7WNZ0BFY2Y0ZI1RS6PKE0IQ9B0GQC7T8ZDR0ZISAZVNVCQN5I013AMKL6PORRQ6L5PUS3QUOT51KHX7MYFILNVKKCP5WBL3IFN1DVNUIYIRH44YZBW3OX8KXOZL2Y6JJBS9DLXYIQV6Z6QN2ISBY2A2SATEGTIAJYXPF98G96XHEDV4ZCH9YBGP6V09KINJ4IVC4Q5AOCOJY4GC7QV0QA0FTKZVHBXJ9I3BE3FLCR4AHE512U0UK12A5QN51039564RD2YYGNH9LIRU9YKMVICG59RQHGN15HFABB49ZKQ6. +36#5AOXS6QI7NW467XBHHZL9THKV51MCRETT68A5RX6L5YRBVPLCW2MO9I42WOZKWEE0M7JZ9XMS5QRFI0F62R8CT888JWJLCY9DPFP9HEJA6W14W3VE0CTXG72XFV0DJLU01P11FE5M8Q15DF8OODHLB4TUV47OM7QORVM0B5T5MNVF8T3SWFQB2ZNXPBPPVAHRAUY4UZVHRTXERWO4N2UUXRC1MY9TF8XEM9PFLV7OT2YAOSCNOZX3WZGWQ3V3XGY79P040859OBDQC2L8YRS7LVNLL27U2XGLXZKL245HIPZ20MWXA2ITRE4ZFQV44TYU5H06HK31LVTAA3F1S1Y5BEDZJKF3KMURO1OMYEA2385RXR8FU5E435G0ROFCPR6L311R38I9NK1AU4A4WLPAGKCXYE1PU3NS6BFFARME1K549MQ7022BQXRPHBWUK8N4R0IZEDIRQCGPM17G85SP1KDJPEBGT8G9SM6IMREXFKHRG2LEKT6UYPCOTFU510TVSQTGB50XOJUI8XKZM6NSKGESBWVWRS24S2IFDSLLYBPXG80WSZOGBEOZ3NLSDEY9MT7RHNN8KI1APGF38VTBDG = 36#MUZUC2YZRTGYBJB4LIMKXAVCYQ5Q6FZMN4NE0VV72IJ0OH04NGVL66O20OBDW63E3GLX6CD9J47ID74AMF41020C4XBMBD61317RFPVZRX1S98WGPPNAI98PZCMW43BQTQRKMPTY35VYYONE5ASWZH2U240F6BOUSGF8PTGDX3J2E1U6B1H3OT2KW90NAJHSALU733GD1HIFDW4XIC2CKFVBF0545U82UZ62ENUZALGZOPNV03RMO9WVII9B6HWYOIM6PMA9UH61JJAT7GLAJ8OBIH3LYZZE8HMFFOXDGCESG07TGYH6PZEY0L1P3IQ0O2UNUY5ZAT4ZRZDVH7Z0TAZQ79GVW82FLG2PY12K6LU8BDWZPN9HW429XFH54ADA9CO1N21RBGZUQ998E5GYPTBUN57PKCJBG9PWSUYN2DIIFQTEQW2HRJOX825N2C6F481K5LOHE3ZE5P18BZP8FEFKBMNCCW3ZZXC74Q29MO4R0P0QWEPSWLW6LTO0VYL5KBWA7R52FI6APDTSISAR3O7EPMPFZJYZ3823BNYFB11XC4T97KVV5L570BK7N7KPFRRBZK1RZG9W5NVTZQMJURHW7ZJQHUUSJVNL63J2MJGZ54FW3UHNYUOMLO0IS1G0PGUJGKT2F7BBQR2RVIH59A9FFPKSCZHZOSEASFJYMX16K1AAFF7APDSS3W55JJK60QQ1Y737KURDKZDF3D1K4NU4 div 36#4BDAXC6O3LIC06I88TZSXTY5HIKX9P1EGG1N82RN7CZZHQP68UU1NZEXNRWAGDEH9D21YSEXI6SW9HPHA8S5ZS0QGKGU9RJO8A35UFK68RWFW71N0DY1QEPK8UNWGCMEE7. +36#8LC72UJ0SSOHB7C83C9LHJ39WF6KAZUCA7JQSZNPOX7SRTAOMUULGH3U4W0DYQFU7GM51UN2K1JKXX3HVPQXUNE685RGKHG8YNI0S0CXYWN9M15LRRPNEIHC8JI0LL5JHE866NQXA4MWP93OI6OL4OG4BKBPHSMUTST52LF6W45A716O1MYKBKX61NR9GW66ITSXFIG1CDL952YLYOM591EASCL6PZO7QN9GW769LWLKHGWA8SGEDF0PLEIMA1PZJT5V = 36#6PG3VGD2NCA7SOLXNUN2Q08QIO1H9CK69GOFYSBSWMHVD1UU6ESLMDGTMA9YHSP1GUHNYACMOU8P9MO2302B8QA62JPHO33540USOLDR6RADZ7MK4M5H07GRINH3PW7OHN2J55OWKAQ3PAS9BEL4WTG1CXU0JXYR4YQF1V8775ERQNWPP7TAYDX6883YZFE0APZRCXOPZ8GJW321467CDJEKE6RP6F613UNULVYMPQRZLUTFP89SUNM1PB4KIG291JQROFCX2N34M7EPYMVP7IZIM87MV1QM31W6H7MFY0XBHOUBEB028 div 36#S3KAGJ6AOKVQ1FQF7HDA5HI4PNTAKSNXS74UJL0GS1Y7XQENK. +-36#E0VP9Z9VF4JP30DDXC6MZ2J6AQHA6XH5LH4885P29Q6PJ8I70VQK5FWCF00VS82EXY4DB2IVUOWF0RZQXBI4PMPFQJVTBSY1Y6P2IRUIH2XXE77LM624IWFPYLH1ZYVI50W8NHPPIAI1CT8IOE9UTM0771WX5DMUZ3KNWXP7W3NI6245QG = 36#15O0IP4O8WZJ09XIR0TJRBP9P4JP3BRAK11YJ0ZB2J2P2QOF201OIPKANBH72PKMM85BD3WXHOQO0RLP7R697IZP5SHJ4SO3GA2V5DG4DWKHL2T0084P105NV5HNXUZPB5GJ9BN69TEPWY6FPVPBDZTXKA7K3PYBCVBCCSW354YI4A8ZMU25NZRYAY3T3SXRGIZ2TU4GFP5FNAK43G4I2T231462PM4QNKUG div -36#2YYGA3Y2E74TH3QJHB7X5DFLX56N0SWQE12S0WXC4ZINFW4AY1. +36#7ERD15LF2TN7VO1EZAN1W1R1JZHX8IL5Y9817LO5IGJABEYI1W2Y = -36#39BVREHWKV1QJTZQGICYBFDYW2ZLDUY0RIPM5A2D2FPF3OKYVESGMM1TID3P0904FNE3PN2EMXV6N0PFZ7N4RTQWVRJJR2HYB7837S2RMJ6U8OQUJWZYLQXKWNGCTARMJNKLC1HML82IHFNZ3FYJOFSZM7M5YJUCFZUXCUL9IKIHVENY1LX7QX458Z31H77R3BNKJW4HVIWT4ETMR8H0UHQDXOX1AYF6HXOTDSAJH2WUIXTJVIDTZHCS1QGXQ8QVGD68RWX1ZMD87EUUQ0UTTAMFNN5QIIISXDF18W3DPH6858Q1CWTPWT6XTONLV7FA1RV4PJNSYENSEOYZ2E393LG48PD85YL9WJP8Q08923DXWC8SUCP3LW3FBZQU5VFXFKIM67B6OBMYCW7O97KGIRAJOVA0LVHES2YPCLL5L7SFTMBRER9H77PE77IKAALW7FO9D6A50XH5EODGTWM4SDTLPYIFS5899CV7G6BNJQL2XG5A3OF3HXRKZCNIYJ4H9CPBRDT85G8M8RXWSAO4XHX9GFB1HTQI7W9N2BUKMKLADQOHSZ3G52AIRDUIIAS5C3HES1QVQWUONQ1ASLLUL8X07IP2A div -36#FU0VPZWRLKA71H6OGQQPQL5MLGKEOCIFJG7Q54DWDNYWGVA4ED7AUI42BMK3YX7VY0KNA6UIJ7JR8HGYRKAG4VUGTVAKDAAM82XFKMZZXHY6J05QZTDSO5YJ9XXELYWA7J7EQF5C9DJUOIBGYMRRUEOYXN1UUMM9B0TC4X8JWZ7ZSG1ASSN2QLISDTOX245WIQYNJE0WBR0R52CK11SZ8TBQUPTJX7F4B7BCRXEWJ20JP1K19VA934M9SDAO2GEWVVK3OG7DRV84QW1FUFS7ZYWD67WYVWQ9947J6VCLAJIOTAZQRHC86W85S5WUQAUE10L99AKUJFKW6PFG6NDRV5XIAJUN96GX7995JA9BBATTBXXQ0CTWCY4FPCNPYHURUT3IRZPTR3OFWTW0KONGAV26WZCY4KXIE5ZHM12CM93UC627AW17PPUBSVJ0ZHT8A3TP9PA3KHD636A9425TJYWFFMEV837D16FCF9GUUB5RGX23QBNFHJQCQO9NKO093D3WY1UTXQSO6BMON7DZ9QWG00ZZXFGBVM070HY0D. +36#Q2T8WOLHTO58XR92NSD9HV33MQLJ9NGD2B4YLKE3RI7PAIQQ9VFXZDMYUJ09I764NRBE2OALWNMEAEOVJJZUXPS1MWKA378NSK7WCYMY1K0GWL6R6YMTH4H6ED53NFS0NG7BSUWH584QVWKY4S3R6VKOZ8YZJS5BL1GW4EQQJRC4O969CXHDCL5KL1N60OQJMW7BYZOH8B3RJFC600MMXO5I9UAC5GV3QO4CL1DXILG5EJFB9K1174FAN65UKHTR48WNQLEIOMNI75V5LHU8BVRUAETQHD0SP3AEHVMLRSQTO7UN17YM2IRWYTZAZQRUCLIPRVJV5IN4L0TL6HY246QGWMSHZAZ5PMLU96TE6M7ANWD4Y5FC8Q6HAQQOHDK3NLHYYD7UMK97WYY9UK5YI32L5AW2JW9R3T80GAXKZJ79A306P9OXOHQIQJTGLNKF1TM6H8I9KZ7D2DOXDW38AYTWX70DGMBHVJDES7G7BHVVKUS4I2SM80U2P8SY71NQXZZ5YYX24AUHT0H26Z6P1JNEBFYGESNZMPUR2D0HR4URNS63G0LNAUEYQQHJI71LR63281Z680LPAO8RI85KKA1EGV816CD25XXC1K1PVC9X9R5X6ATTRJE1D2DCARIYDKGFBO422YBJLFMDAQJHPF2G0W62WQLMKSZ1V8Y3YOVAV4L8RVS4R0C4IH5GGU9376F8W3HG7YKHZGL56A93FP33EKIJMP09DM34VV49QCDRM3KEAZ9PYDSYOH1MK1L002MC4U9QK82J3614Z5VEW4IUSSWESDEFB0YAY9VJST9TPDAN8BO1CGXY3MW60RWV0WPS8FL36LV = -36#1HGKPQ4TK5S48Y3ERCU63VVHF0IE9M3R33TM1WVEE9Y73R3FEF0W2P399XUEWX42WQ4UMFZKCH7MOM2VCLQLYYMCO2E98GN2E9JOSK9V9WCT3XF2I93LZIS4WZKRTV1N80BE61O2WX60UV7OA2ON39F48TXBWQ5Q42DGN8MPTH12JYK7WWV1VXE6ATY34EE11418V19GKX8X3TFJ9RM39TNBCYYZMMIVSC0OD3N3JVER08WUEHIU6AG4HNIMFZN5OZ9YKOQU04BQSTZ4ODNFW5R6ACONDFPCBSAP4X67SHM8NZLXH8GV67QDBBYJ470N4YP1QP20R3QFTVFK1EOJO1IGFKRH94AZFBQBWVSQB2G300XZSR4M6NXL6QJAJMZL7M3LF0X6MRIOM37N3J4ZQOZIRMTSXDXPHFI19SA7Y2N2SVYQB036O0SQ10IW5M6TZTFIQ0769BGMW8OD317FCH55HE838K7NL5ZQYKDL1EW5QNXDXOY262GAVTRVQ341H5ZAQ296C2BBD01XVJQWRGP84PK0L8ZEKG8XNSTX9E7A54GIX6B0JIK799MNFUY0VAS5NRH7PJWBMDULSSRS0JD45CKA6Z5OSCZIY9U7BYS6T63R8K3AVBDKBCVC3UMQWPOFN9PMB7IUI7GYT9TZCC0P6NE8CRXM4O88N6NK27V1DISVBILVO1BIZK98GX7N2O9EMPOKRC0Q5X1ZS7VFJPEL1PV57U2WE0JN08WADS2VPW9Y6LKRE849T8JKXDS4UU39OQ9UFPH1XGWC5IKSPLEO9HHXGYWV70FGT19FV0ALBE34FW9VJECCRKQUXTNBP487G2WBOBX72XBRICP77X5BWATC6PEX0UM62R9W3TNFBO32VWFLQKLP44HO1 div -36#21STAK51XKGGMJ2R3216R76F0YWFVVE1QXL9Q21F4D7WC7N6X7. +36#ISFUPINEHTMEXXOZY7GY24GRXDHN193325CUZGJ7AX2OFL7CKN9SXU05ZMJFU8M3PE0TLHQ297OYHWDURKQBAM6OIZM6U5A7V0H56ONJQW8RCCIZ5IB16QMWPP6VC6GRIVIDBRDK03NTCAXVMLT3RDGB8PNVYG9PLYL172Y5G85NZHPZ37IM68DARABK7GZWIX85345BHYEHDRZ05TIWKQFI3NIW8ES9XWG77BP0YQ0J8HKU6VLXJUKX6NCZHZK2428U538TXNAN6S0ILDKN14A75LI1MZS54X886RFRHTEPU9HR6WTLYCCFSWHKLFP71FYMCO6UQ0UUTMBJ4LNH2KRIWB3QOM4AIRKVK60YW3J3D2S3WXTMI309YN3LVI8MUWAHZ6447DOFI68U2PV5O414HKDLWW717NOMK7ULRY99RG3EZMMZVWAYAN6Q9DVOBNT2RK38L7R5NX6Z3CRB458GZKA4XGFFD3MSILWKR8FMSNF8UJYA70820QI81K0VR18CT4T5AHO3135LJ0ZKXXVK6JH4B65BKSHPN = -36#1AGB0NE998DVGPGGGHDJTHSE3ILJSOLOBVC689J6I5KEDEHVAN86C232NGTI8IJE5YDDEZCWXEGKYREKJ15JIAEZEH34SKVF30FBU5GSVYLX0XH7D73H48P1L1E13VPRXTW3YL728Y49OMDU88AEFVYAKO15L00OPX44VRU0N5CAB18VGV3YKPPGT1DHJQ21I365KMBOX28HD7DSUBBWDJBJGMH7LBDOFBN9K5CQS523HB1LB6TJOD49YJI8YMKBXCYNLMITR4BCBZBKQURTW29J6AK5Z5I3XXI6TIFBG5SFSUJZ79P0S5STCU43GGUKHBZ3V8RTTDABPX6Y4FVYEK2UNHTBDHL3FRQDCGDO2N8W07Z8P52NG8W8LHZF8LG6DSVZX6ARYM72JVDAM0BFEO5UY23GYN4PGNBMLE4EU3U2ODSZZNO8ZEATEOSROIEL0ZU8HT91QPPX84X3JUDEGNWZYYFLGYJDAR4AKRAW8DS6C04AW71NHJ90V1ET33SYRXAKQ1IQT7NJ3BPQMTXHTMLC40ZFXPTL3IUTMMRACJ41SSJWX82079P2D34W8LAXNZI8BU9Q0OFY5PE7ZCNIHOS div -36#2GZZNZLI6AUZRRABGDSG09MLGNH3QK057OVTGXTET6R0IJ6HWK. +-36#4S7C7H8PS2NBKZ82JLFNCCJNZM3MIEMJP1AIVEB8HZWXTN2LBB6VU258WXX5GLVIPJDCWD3I91Q7SORLOO62W5PPQ7QWBQA6ZUT50M47LDAV36T95ZXPYQVS3CWJJPRDFFSG56HW2C5FH465PQXZSLMBN0LEJ5PCOLITZPR1A9ULC4KQ8Z955OOXXGB60R2UHD6BDWAK1M7HJOBSSPEU4P05AW5UA97Z9GQBYXUWDH3BZ8PWCLSGTSYXCSNBH2167U1N7QH7PTZGRTOSVS6F4A0OB3BC9VFVDP8 = -36#27I84957UOU7PS9J68L407VNO7C9N7X4F4D1C480P47DI15GDEVUIY2OO8SVVI4F5SH053T0GA5P136YSNUHMQSJIDDYBFGJ9NIMKQDITXMWYCVY4RX0QQ5LXEX5GZLBLTBSPUQI6LEL7EXE74JMCVAZAG9N7Z62VDJVLH1T7W7YR3DIL0JLM2IGZ3X3MG6Z63DX0OCVISSKHL85C2U3INK08OGGREHYF1P3V3GR36SNKQU1NHCTA4673U6MYPP06BUZBE32KHHRWO6BYSNT19M2PB07G4A7CNH5BXQQ7O6MZ3V45LEHJB0XSCVNJJ0NMU8C0WNA4FGSBFGO10ZNXYT597JPW5VC0E08QJ6EE8HEN7C77KV6ZJ337OEZCVEANNNDUGTWGE2HA98RWF63LM8L7UYOWVHEFPCH8KZPDR0MSBQ9XMESHM1PXS3L09ZHRNRS6SZ3M8U0PCXSXCFTR6P95SCCM1RVU9LB6RC8E261GCITGZBANNTPF7FZIZQYFL5ME34MSO9R8K1H5HUI1IUNDNSPFUQ8TG1NHTDPPC79K06DU579XWIIZ19WQICHXP1TJLGQVZK9DPIMH6FQ3GSH4KT7896K0AGM3ZYLR0FU261ESHIFX541MOOZTB3496D01KGOF9JUR1EO51BAQBFCPIU8T8K316PUZ839IMTBX9MNV1GOGP5L6T5FT914MOR92BQJ002ZTO73ET474HTCQ1CBGBD8NPVVG8P5KA72PY9WJICO7TD9JTP0BEPT9YC7S1QAXC4ECTSSQIZTPW5LNISYVJ0ORPC268RFQKE7V6VUW0I2TS0DLI9GA7630QVSYKDW0BLZ3SDUW69TOOV8V09US4IY5UZCPIJWI6KOPFWZW6XZU5QC197CNBUX5RMWFHUDT90DBSRXD7VFPWI40OSECGWKJNQ3QUI1L6ELK5NOSLNSJRUPH8VEIKOEY926HOTK63U9BIM8VWW2H8Q1LJ8VD0LQIZDZBTPC3S015ZGRU3BXLAP1C0V7H4V22SIXM4N2SRUM9AXCEXATPT8H90B5B1QYFQLGTUFCB999IFBPZOXJK9R8BXN8GI7YFFFG24O7L06D9FMIOPXW div 36#GMD0661DJVMIB2IS3QJ1551D3LR0SOHGTC6P69Y7K7SOAM0QLMXJ3MMYTXD7JCU8L4T41RR1J1DSQNI2VGZTD6UXFJYYPE5XQJHEP3L1MB3QWV67L4178409VWFRHFNAVU9RBH3RMQD1U5RVDD504LIEHNK597Z019CV567614Y5VL5HARCRBTEYCFBCAIZUD378UOVLNR1RRCRN8K1XV0MJXQTI5G1XVWRJVA8B6G4DQ47FUOGKXL4QX9OY8IYRFOEQZMHIKNUS1JJRD14FT1IDNCHUY6SXQ63F6G2EY4O7Q0XQ5A1A67XXZIPVY3GELCVOWBZQNX46SY8QWNWK2RCDN1A92GTN47NC7G3974K1Q8O65ZDQ1J9TRV8Q5G8XUNIMTQUDPOXB4A7RKG1971MK2JPQC3P7UWKL6LBCTSC6ZY22MZ2G8M881UL2E6DW7DJYWAB4PJS9LVK041O8MJ4MV7KXS1B1EBUCORYWFC1K6Q43OL4MQIARXVNJE7BK0F1ZK64T8QOR6SDPPXMY58HAUOZYHG4BZ5OZB2L4LG3SOFRYKVKCI04DDMGMB4APSLJ5XPI1IXCA5VJP6DCQ605HZPTDWPRPCYT5531MD75DCK94S3WKV4RLFMEBOYOOV2OJZ0IGDD2TR8DEI5NQB73MUA6Z6MS3MVPI832D1V9ZETQJ8BDBQUCJ66PKIRQXYQH4WUYZCIUCJ2DRLBUQYXB7LI4MSYUCH1I4PDO7NHXJP0RL7WRJJB2TL904WK81Y0CIQ4YOA3BP6ZLQN8XO9TPGLQ0EK1SI3X7GINDA6DZPA3S1V. +-36#1Q8RZS25317DBOZ860XO3WQVEH076WXLEWG10AB0Q2O3GPI8UCVQPMXHXEHPGO8DT7J2Z985LXBXV5FOVIPQHR7GAU00VNRW1KK0ONTJZ9XMZ8DBI1FO68U1EVKN5P380CY3FZ17IK1MBAQNG0Q821YHSCOPJXBIKSOH1L4XDZQ6KB6KRU1V4R5HM5X3WJEABX6K69IYAQPXYYBH51Z9ELANRNRSTA6CIU56QMVG873XA1EUGKF8IIIJVSETKSLT53VEZCGXHAHRNF99HYHEYLNMYCUCQIGPWT9EGQ3RPYMT9WT9BRG6FI1T42PB7F5YPRY0E29BFT5A5OMFAOEACG2EXHG6QH7614PBPG170O9G1D0L9OH88L4JYPIEGABNSYX1FK3GOKW0SXUA35MA33U3VUFBFIZ908P5NKKTBAZ7UMOPHUP80LAVNNIG64E2C99U7WCGJ7EP2K6AQF6M0O7AD75UCE9NWPGNGDY4RP3FMGMDY4IZKH1QY5I8JP00BQZRY4K0FKERYR346S09MKNWP2DP1L21LFJVWF53N48U9ZI4VFNHZBM42J9KV2IDS8WSSFR1S16MIUG3MAY9KDL0SXML6ZZRW52XLPDG59J7Z3YN6T23UFESDZLIY94JDX7ZFWQ93DX03J6X633RNCO3OFICT6GQD2ZK2YKA0UTZRX3J3I7WRXGD9OMI1LLXLXGK7OQGVR56GWYX = 36#L55ZJ8J0X13ZWI6C536BSGRZYU1G4CI0AKUHKDZRI757XTIAA1QS73T56E05ZDGZCKOHICWZV2UGC2Y0747C9HJFSCY4HVH4099S01KUB0T5H9VZZAS3K4Q3SFP4QJHNU7GK9X2MV2V2LT2DDVA33R41KRROIBTACQP * (-36#2XZ9DNWPYCAR39BQ7YQ74B375QHGTNOJSVEHIDLNTB2YAGLO7BMXDZ9HY3BUVZ2LPJ0L6EN0V5NGDGM88EFELMFHNTRWEMMVHWFGX9ICSCHHFA7EEW0MIQ0P5WHJJYOPRH5F9ATU8SIW1YWETG0WQ7KRKYIEAQW23EFYBLOKCWM9FRXV5WYGMNRKNNWE0YFW06XLF63YA5P4CGMA3AS7J9JSV8FWI9827SOZV2ESYZP12Y1AU0WVI056ODURZ99MDGRP5GNYF0WO4OW3XRMWEO8WS1P1EJYE8G8E78IQTLN6ICO4ASNETMOCYOAAVJ6XH7BQ8GEF9S08HBWU89EI4U3BMZM81MPGCWXRC0P9LDUR8B5WV9VKMYKJB8D9N0Y5V5KTOVIJ4TSOIIGL9OWFPPZFSH7TO8CBRJ2HWW69Q0UBYOOAX326XC5S2XGOHBRKDGU9XQAZG7T5S8NZZXK4NT2XL7DCO414TDJZ8UFXXF4IFFP9KK7JRTQUHW2254VMNR26HHS9VZBS4OYOOVLKJY4KIBN4LGV8XC549CHBG4KIX). +-36#35DZP6SESU45DAC2FQ9C574KEDQZHL4CVCL8V3YDQ7481SCQ2N = 36#45QIA43MMPRRWF0VJW6TIRB894CD7EU90HC6WH8SKT2BKMCF0XFFY7JYBSIEGNL0AF9791T9MQJULMJDHLN66DPB1OZ18I1JYZZ div -36#1BJFYS7KPAYERC62RFWO1LBP2M77IGCQ7WOPKD8Y82AAX78CUP. +36#1FW8RBC2A323ZLU192HCL36D1L9NEP9ICZ762XVVWRE9TN1A3PJZM6K9B4T0F08Y5Y9CUOCKL2UFMMNLE8OIU07BB7PJHCQ3DFOR8DCO6HJFLQQ07B6Z7KGA30CKA4T2XKANOH1FQKRHRC8ZTSYNNKEWN542HNP3W9GP4HBIFZ8IAGDAR3RRSFAP46VY3373MQWR1GBT0VO781GHVCIN5D5VFC7LX64SDYOTF8TN2YNIY3RHGL2GL0OO4G2 = -36#OCTC48C8THHNUQZMS1256E31P72FBRYVKRC9H5VEAQZTYHK4HDJMH25DJAS59I1MHY7FWX8IL9ONRW9L4FM04Q9LCIW9ZLN8ADO103QZIB45UT65URQQVF7DUZET35OZNZ7VNTASQOJGJRJ1URFEDFQWL8YLSWCND0FGIN3Z7PYRZKN3TLZVYC1NS2R28BHENUU8OZ3388MM6W2G1EXGAJNKCWHPC1BQCORQS0QIGMLR5WCMWEU3AXHIHDH0PN8213JRXT6NAF9XLODKFR7EHT2ECS6WO68EAPAFKR7LXV6MMBJT9KY5S5CWKC8QR6DMWYNDOI7LZOOJRQ0X7GAV6R981RRDZC7Y4WJNJGSBL19L6QIDWFCNUG1L7ZMT8YOLAM5I32VTOOAI3TBH755XVF8QWQIKZ6BYDVC03KRRB6U85Z17VPUAU8BOAEBR9DFHLHVUVQNO1L3OP9H3JWFXKCY0TRUWXK3K9NBN80QN8N6UC3GL6P3RGPIOID8FBMTTFTANSVUNSIPM2AZTVUPPSHOKY0RDLIJ8G95L5TDTH0HVYUNUTXQ0OW9C47IZP60I2UFJ2PRAUU6M3NF227U9HQ8RRN88BCQM2T7LTH1GJWSASC644V1FUU7S0L23DJ5VAIZX3UCI1ZEPNTGB7AO2VOE0QSFJLI69QUUN9Q2CMXMAQMB8GBF65T7SFH1L7TSS4YUHGQAFWDCGBZWXHCHR2BSSXFX82ACSIHR3EVULUMWQXZHIVPP70MZAV1RGBNAZVDOBBEYV0BHGX65ST6QRA5QLXD9AMP5AT21GSEH96JHA9W17Y7LC08UWGG95BW62J8W4X8I5L3N8XXHM4JYBZC0CVYNV9QX9KNMU7MM4SJQXFE7VSMMYNBN4AJOU3MGKZYAN21KE597OMV9S5TGLEMTSPV2W9R0HCHIVKMS2L6U5S1ANNQ5JPFV299I49OJS4KHW7V35SSIDWBSXJCGI0TRZXRLAFOZ8U1PBJLGWYBMF2M0L74ZY5HE1XR5CH3VMH1WEWP5OBH28 div -36#GW8V8GQHRSCIQMXNH5MGSP98RQ4L57IIE0JAQAH0ODY3OR5LOHFB1ZDS1IJEGF74QD5Z8QEQEEEZSC8P5ULXGAMEWBWSHLC3QOW6JJQZ570536VYJ63O44097858WBQ7GPZ8B3PE50U5HR7BFW449GN818VMI4X8XJKHJ8HANE1K6PJ9RSK9G5U8FQ0S9D9QX0CYQ3YJ6W46UPPBU4M685VFWHXWX64LU0HW0ZYI9NVT0PV44Z9FYDSWR6P640QUU2ZP82JP1VOQFE0KEGF6IFKD09IY3LR3PK7C5K4D3EXI3U0QAW9PFO89DU6QDD2AXN183YD5N2OSDWZ1BFTGKXWQMGQK1CI4S4TQLZUM0XF3KLQRS211UBX307BB4PVW924FOECUGB3AUR0EJY41MCFLNX2NJ7SIYDNOG55OPSTSRKJRS4NNL808ZRY6GFPY5FL4K0ZREN7IJE0S2S2N11VOP1236NFYXYAJCXKQKRWLX81M5E2MXNOWN18TX73RD9YAHBWH9JYIM8GTZIJ5FA6RNT67AWCLOVZPDMXMG95PHQGLOC2T6YZUG7KXW4AX1TYRP41DLFGI7CIB7SIUM6USGRDQA8SP6VMTTX64QQTHYLH7II2E1H2XSYO2T04LYQF9I1CXZPW231N3FKJ62JHGEMP6S9RPBG6ZK3E9VAG0158UUIHNLASD7ZG9PVDA5MKB05N6ODG9R6VGFBORIXD7OKU6HQ2RASDMGQ75D7P2IEOAY45BLXSAYO9DJ8CUXR1OC41RXUHZMYIDN4. +36#BOGHV3U3XXQECUVB26TDWH5ZYOVAY98LL4MYTBV1HJT0HFUPYDAFAQKCGDLUMSSPBYA2X9X1FOHPGYUWMPJJC5WUEQ5ZZRES1VO3FUXMCN8SB1A773BJ208NQTMW372N3904CNC2EXJMMR8PS8S1J3DF65NXCCQKTYW3ERJC9Z526IKA5P2CF2JSL5QIC7IUX56AZGXYUSB8VHJFTN = -36#1MIUOG8UE1DG4YJDTDY2ONWUVUW6RP9QQ4NONG8SLPBSK9MMOM5MIUQF2WMC9EBZ6SH8ST5OWBAEKAZSGQDR4746FWOJVSROOM71Y8XKX5T4HIP13NEQ7Z * (-36#76MZYXQB57WYSL7JWRG4EMQEHPL7U8YZZBI5CCBUJ8O97UKH6NNZ6RVGTX2DESCPVRDI1BNFU2RV1FOMVFCKQP0160H2D). +-36#2YR8PI5EUSF9ZXA3SRGFUVV7805YEMRPRWUUAJU19RTABQHHR4 = 36#9HNMGJSL15MRXAW14C433RZWRJ1VUOF86PXC9H09C8GNNEOWJBHE00M6TS157F9S17GEX9PEQSFO54CEAMSZAJKEBXIPHAM0Q5Y4M441UDY64Z0X1VKV6C453BQM50AKUYCZEG5RW3LJ81B1CXIKB5QTCEPJ20K8H5WU6L8O3YALEFXQDWUO9WJA57EE8Y412PG95PUA6C3BWKN7XCKQ5A2K0X2R53JK2GI7WC8ZKQN6CB8SQUPDMWAG19HC div -36#377MDEEB7K6WMO5H40KGKMJP51J7F4IVCJ3EG0LAKZAEJRC3KDKAVPXH4422YMAF6CCUXUM6NVQ0ZKO14H3XZWCPAGBB2CSJOM8B5P5OSZCOQ8F6I8DGFQKNRMDP0F8735BBQKJN7MJZTGE63WU8W2MS8OCWPQDSJ8K2PZMT1Z9TC9QFKAASAR1MY344TR3C1SZDWDWBXHU. +-36#BORFTUZRD3DOHIB07FS3THM2KOTUQT9N82QXVH4R9XWHWNUTGVZ3CDVU48SDB2EZQ4IDB07IWQTD515CGXUX1CK09NFKEVLG49VSE555C3LVEC3EUI9U3Y3ZII9FC1X8ERYKOXT9ZXNIN4IGEQU4O2W8XLJUCZ1TB5UPGNGVWAGJU05NOS8DSJANUQC0M0V5VUBJ9IGTRY5HW6VNT4B5D0ACEWWC4RFDS0G14POJARVJ36F5QZS1113N9F0F8ABS8Z4RNZ4LNQ63L8EH8HT4OHI1DR8EQOBFZ8UDUS0AC66W3OYZCMVE66CKZ2D3HNVBW9D8EN9Q6M19O7SM4PGGFRUVELI9RYWX2KGLK8117EZG2J4EAVAMIAFI5H9DAJM0ZSHSKHWHL083HVMXXEVEND27ZTEU1LLSFY2N93ITI7XWMQSC4R8HIGFGNNAORTKMBKCX4MBUKIXUK5K18RLLUS3484JGRL26YMC4F89F8VRV2WOZ4TFB0XRJU7JJE2HKW9SU4NRPB83A90ZRMA47JT1GQLRF56R4FTT4SO477CBUR1EB9YI0QQSVF6AL81GVKHCKJ76JY3BDD6S2ADW1T3Z7KN6CRNOO33CI830 = 36#I3C1M1CMJ0857PUX79BIAAD79DYP1BPX1MCBAQAVAMGS6R6OVN5G7A1I175KMPXSQ393P00MVY611QKHGE5MIG0KOBT090DBL9XMHCTERQ2FDHKLYOI21SHD4Q0WDQ0FBNW3JQ15TOQ4WEYQ6X961SE4QW98GIIPOEW2NTSRO4L5LPPBNDBR29Q5ATLW1VRIXG3CMBKX619U0KHTE0C0A5U01BUV44D3TVCCW9BJ9EANZVPTOSYHKBEPEP3CO5L3HV2L4D019M2QNXQM1EIGHO9QGI0UOGBM86I2JESIC8NLXPK9HWUG7LYWQPDB1GCRLYGFHSAF1FRAV1YRHCD4FNJ12246F5MQBF4ZQFD1K97BJI401LLWT4XGMFC1FK47L0Z9D07C8VM96WR9DYPWRBIF40CTPTWKEC6MZUZ6L1PZZ0I7JIR081FAD53U3AN4T91BU9SWN42IZS2QX1C0GIVR2HVW675A4IBECG08UDFIBO3I43D9O3JM5U2N3WN7EQCET7K3DPEZT54N868UMH2CYWWLAGUWEXXWJRZPR1NSFN6W8OA4BI * (-36#N97S4UZ7V5Y0WUZNHXW4AVAHK3I7V30QWH8XG86HX54PZUCRU). +36#C1L05RVC458J7NW69QBENU02O7EP9R7JDORP4HHYGSBXEGNUH = 36#A0MTGM66VEIKLAR7ELUKV6OBNRZ51T9EYWYRJJ0CG7QV79MH3FAOMQ8MOZHVA2IPYQ1Y3AKE8U3X6TOW7WS76M3NGQYJUZ1XI3U2D9G9HB17E2DG68BE9WPHCI0ZDJDA4UZGMX2QVQ6ZKU2TWDD5U9K div 36#TXY7PX5LZPENBRIQEHJW9XDT7HTN2G0M0BDGN1DW6IYGGJ5LAVAQGUPTR8UGQYEDJ44LZAWSFN2T9154AXXCRLZ9WM4P5X8HA858AG. +-36#1VT3ZPOG3OOIEWQ9Q3AJWYX48Y6LGRRKVAZ22D1DBHPMMM72TJPAW2RPQM037SEINS7YL533JLJLPR15BV13KLOUXKAMNZFDVF36OX0N2V0RA4738VPCQMW = 36#1ESIY179FBNEKWB1O3J3HUGQLNQIDEXC805DNDXTB2AVVL7N9P3DWRAO755CGOW8S70G2T * (-36#1C26HDV113PMB02YO5F15ADCL04Q66VTLX2UZMZ732VA0NQQYG). +-36#2QVYIYKPBI6NQQA0UX46WCWH6TOLZAAL83E1MM3JNLJMNUJILZ = -36#3B44MTTYC9TDGQWKEK9MCSD9HKCAGGU6EC0XIMV2CAOD2QQWB9C9VB8LX4J4MIT29VM4YZ2PXMBZSHSCTJI2BITCX9PHYLZ8ENFSJJQDZQLZGXK00SFC1DH23S65WH4B9AHG5A8XCLYRSHVEX8WMVQTQ03L14ZP6OM8GW8KX8MGOYABYTO0UD7IX5YVUVGFC14T8C6Z00HOKSIJ6PJO00Q7GJ13YSAP418MINE3S8U5242GVNEQ55DD5W7YYNWF049U19FLCFKXBB0UNB6HUBRXFIOC4NS439RGXMF0HTC34NF9GXJCB25T4ETOMEKMKVSPF6IPO96BO46VHZJGBGI8NPMD17VLT92B9DUHBVO8SFAQZR7UH7UGQIDNX1TI9A4KH5YTZE46K8ARS35SK4XQQQZ3037G3NTTRQG63HOO6KUMFV1TUF0TIHBKZIX82XVAYBNJB6SX2TDNQ7A div 36#17D380ZHN1UHN7UGX2OCWIS555H7B2M44IIJ2KJRL8GH72VMK8L99R6DW2O3Z984Z7HSQSY3LIZSAQT4RZYO50715OVUIH4Y7STW10AKJSK45ZWQ3RSM8FURAUOEDZBHMCVLPVT75IR0QRJEJO0SYDUCCHCNO2EUULD4CH76RFJSDWHBR9M0A099IMRQ29OXYNIXONKCINV43BUD6CN1GF6HK1EUTSMZBH08XVN4PIQQHXWEU3FRZSZB6N9MP9D48QJ8IGQP4OI6ZD2YEC1LXGEVDMC5X0D1ZZSPV2FBI6BCD4KU0EPBT4PUI7FHQ3SWCZHABFI4ZMT2GRV9TBLWQKR8WSRSLUJ4XQARO67IDXQELGJX7WXC4G3YK2LDY0D8YPD87160EQAYV7GTW939X1427DTAISDOQ. +-36#5OHK99A94MJ8IHMG5KQF72GY6FKGTQ81OXRMA994AYZDXMZWM9U1SDMHVSIX1S4RL6 = -36#3KZGZ955H76B92LMED0KRQ0U0OGHHTOGP3RDBUAB1DGDYWUQTQAK5QK464CVZMEEJSUOBCKNCDQEVZ34BRRJZZH8LDI0T927FU4OS0G1251UE1BI5YAWSI2INKVM1SR8IX2HO2NAUT54K8FLGCWW2KQ7ZP9XX87TM9JMHPDUDRBO8NHL3F0IHEJYZB049673YUM0T6Z42XRF4QH88WHZF46XYGL2VCTSPV4QNIEFXT6OW80VIP91UXW7N649Z43EBDPLYXCE2Z9AE5EGALRVV57XVA0VDROZFFIOFF8RDWXN3U1065DYDSGTZKUKU43ROJB5CB32YT6TK8N8NQAI99RA87WK8KZ3B27J7T53TMJJU5Y0LZMD1JDMELU6Y78M4U5IJ999TXX14EJO67FH2LT6HVSX15KM4JXXCBQ3SWBG42ECA3A364YUZEOHSP5MGIP9Q9G4TITCC1TJ6MG5NPJK49XDTLRQZNZ4Y81AJLWX9M8Z0JWQGMLLJTXPNVXDGXESECR21EY0UY5L9NVSYRAR85692LT7JG6XB74CX5VBDOEXP7WQJZB90G66BVP5M56M0HNLXX65GSW1X2PU6YY6K2477XPAWDRFP9Z8OZNEZ55FPKRQJ8XZM80SBJFOD2CRLQ2Y7C7AAP06AMMGAKFST1V2FURU div 36#MPHBNSA7CYAKYQQFK0R8DVC8JOKBXCQ2GDI7WIE6R1G9Y7JSYQRI8ID4B5ELVN3VICIA78GROPAKJ63V95ZRBIZ3SJM4NGVVWFHV8TVGHAILF95D7V6LYIKZ2V1WSGA3TECN1H0EGVJEAWZPT3X32S8RKALP1VHU28NRIW6HL5122JWPQYNOX1BW7C9BS0O4CZ7KMKOG6EWKL2ZCIEYIRZCJLM6HHGAB4SJVXTA3BHEWFGETGKWZ6AMBADGDQ83TBWGV098ZAVTNXKVAP66XI5805YYFTRE5PNB4J7RZM2AZMVCDBX09QD0V8BM2QEPNULNYG0BGQJFZFDEX0NBLURWV56OX9TRJQERRL2D7EFPHIAMHVBNNRLN4WOCA4OQV12718S2QK11CFAN7FFQV7ILSA9XJY7W5XTWY1HY6YGO4JHZK8V8ZSOMFBI22KOZOPLPPH9CZWOEN6MYCT5RQ0KK2NFVH20TPNPHCADZW4CICNKA0497E5G8S0CIKDM0W0ORGU6FFVS10BKQJ9JQBKUBAQMUFQF4WX811OFZFU92EVUU0I6AH917AWW3XOJSI39FEL0N8Y5A7MP0CV64OOI943EQFN5. +36#1SFTIVV4OSA3BCXTUTVCMNAZ3NOMPN84BVMYKUMAYNIR9WSTH84YLEKHFWRTY3ERB6OOODD1DUNNAE0MNNKPEYXJBI37RO2CVKCJDBT80F1D4DLPAQBEWF6WLPUJVDLYUPDRTOMBTP5NFOK5K5NRRDQCBOFC9Y64CRUXJA4QNXL6ONS9SKP0MNVS8PPUH7ZKEOM9DX8TIC9OZ9VN01HKLXMXRWBG3E4LZEX0MGTI08FEO4UD21QCFDPTMS60K63BWUYF23XEGG8M01UOUQUHAIDBQGGZP3GIZ6RFPDH43EHBYJYXNGPGUGMFAFQCZHM9AKESK63KMYGR9GDEQ9CRRTY31LS8IZIA4A2IXB0Q2TL69PGUGR404UPPGT2IMV6VT98X7J64HX6ZWSGWV1SJTGF0DSIGA09IMOTK36M73XLG1QV72YUU34Q69R05LGYU0LOCSN4RHCE4SIZNT2AGQ67ORWFE22EWLP3U6X5NDQFQZ9DS5EEZUH3XMC5ALH3E74BFH6XQJLZ7JI1OHOC0GJAU0NHSZIQHUC4TX0A63PSHFKK = -36#4F4ZGDDQ8JV66CF3R4ITCB37SFSBNUKQ9UT3N8EACUR9WEKNWQ66AYPKEBJ3U01HBWWN74IA1G5Y7O2MHXJVIA6L77QNOGZUSI4VBY60ZZXS51AVU31TSPXAE3CTQKANV1AAZF9ZTQYL4HIHXU74LQYLND0ELDEGS120MM669ZRHIVUBC1WCBH6TEBIX4UYQT2XEX6LHRB1DT06DK6MT5DO102GCFFBU5HH3Z250N2JGOA5W3YRN4OC8CXXF0HF1VLSR8CFQZPMQ2YYOTMWZ4SPPO9SKAXBYCOCU5REKLU6GPZRYOU99PT5VFEWVZNQTY506V5K9I62TP1VOIRJQC7NY0O1HC0LG5LFRKVJLU2XXKZHU7X7LMQ1R27P2GXLLD4ZBEKWWOTI1BQLLMD2QL130PSNSCR31NHKDGRATYXWL2GLSWMDDR5Q27X13ZVU4JXHJ9IBPRG80K0WOWXDGMR2ZDYR75VAGUBPOYF9EF39YE5DT82Y53D728E8ZWIAHWF67G08T4HTUNU9FRH7P448Y36AAWG4ITORYI6S7ACCCZ1ZTCLMVQP60QTF35LMT5LMT01LCMX0ADOUT1O8X109ZX4AP51EO div -36#2GWKSL864R1WNVTZT1WDTPRTW2KLQPOESNH4UQB2830ES8T0JC. +-36#1A2UPOC7P1GOMVHOCVKQFS06IPBXFUH9ISV4J3UQ7G8GFNHY9QIOD6QRQUSRNELQSK1CCPD4CF3DGUZUVUUIDI93BBQYDXF71A3BTBRRHNFJGK5M6QLCA9WLFNB7MJ8DDSEP097UI6633IJZSIM33O8DS4OP9 = -36#3TV00DMH1GQAICFZ3G3H7M8ATP58U834QHZJLXF09TOY5K3M3J6UWJWX1O7TJG8S9W2AIYSGZMQ46AC8W8LXKOS2HW42ZLZSCII5AJDAWM685K9PKFYG1QOHWC9QH696G885LSMAIYI5YDPZYJBA67D9KSGMWJAHZRJPAKE1U0QHT3GJ1MWBD3GBUDWPNSWHCLQCGDJJ61Y130 div 36#2ZPEN580PS83WKW1H9YJIF8I8HUJ2EB3M4J860XLJGHZ29QX9O. +-36#1HR1OVE21R2JJ8M3ZQ86FSR0GYGWSO1XUVTNQWKB0GLSU9M0S2H5LNG3RA0A7BP3OPMNIPKGARD9PK3XN6QHNHQ2DI2ZZDOQ2XXFHK9SYG80KD09W76SDIUH5V62T8HPN4VOHINQ4QF2HUAPPHBCEFRY3LJH6DZZ05OI6WP8ZEPLALQFHCUZN8OCIDLUV2D50ZIZA1FG6KE7USCS41ETEVFY30QJJTJYF40C8M7ZYF4R68OBMZVMQFJ53VXKHG1EIB92B4RGNP3XEKU0YWKT5L8II2U9MQ7X3UYUVZ8Q5GXG3M8IO7NY94BD3Q468SJWMS9QTC3QJNGKZ131TV1ZJ0A39G498JLQM0WAJ9JF8EZJ4HSQYEI7GVSMY980G02FXWTELCBOVLGFVTR6E6NIELSIN6FZ8GMKWMWHJ6TKVHN2HDUKFIY8H02YXDK3C59ZIBJYNI9969SKSDYYTL2TC9R7GZNHKZXYSAB6CCOENBDFM3YUEK9RH0EIAGUD9CBOO0N2A = -36#DYI99LWPD8TC3NIDN6NW8RN3FCCOAP2Q4GWXA3W8ODK028SFFBKKJHQNXOS3VZAQGM413XX3PWWS3XH5GT7W5ZYM2ASQ58TVASY13ZLBR3DT1K7HOMXQCTP3ZI4DOAUHKCHNE2BTH3LVIBAEDTROLWZEZLSGYF20NYQ6L0XC7UMA6U9224ZEHNEEAG1BD2D7GTR61MXM2ESM9PI4TVIFQVX85DIOMHLDDFJ6CGQGKOBESQ9J7ZLF429UX43IEP925IJZ4HCHKFLO52CDREPI7IVLAPDRKDXINXZJ4NIK4F34F49NXWPFF556UZXPT957N35YZFVDCYW687F0P3AGG02444SWGBYTUCCY4GMVPBR0WVFYJJKK5C0L2A1P1N4PUIOW0MCPJIELX85I3C8B22MRAEB3DTTLNUXOT03WP2F5HXMLKVWA6HKQC42PPOAGGH1SE3IICLXYKIYLJBCZGUEVPSP1M1YPD5LLML7FRKK5WFVFELJK5OALFJ6JS7ZZ1XK1NPV2WL1VAHKHG0SXZIVVLGXH1X89UD76GFDKVBOJTHTE30Y7OP9MMNRJ93024VDC67X7MWENIJMLU3Y2V4PL5SVIKXJ5VK7E6YKO494FYASOCO0BG6OU8GF31D1ML39619S39RO79BHKQE1SPLBJ60VFPHZHAW5AN8X82YSSRZMH7WDI177642DD4INA7E2XILKFGDM8PGZUGAIN2AG9VMOQGVSSPJN0G464G56MDIV4I47G3DHPO96DOYSPCWZOF5PWISYOJ3DV7N14ETYMD1C7TPVGXURL2P27Q9OBK2COQWWI0KLYPQY7WC8XCFMU8JU3MPPZQ3NHH494P8H5K60THEF89D7C6ABFS63JRB70A2GVRDWD44MBEV7520YX3FVM6M4KH3AE8SA06O27XQDGRDQFIXMOJ2ARPP82A4XPXMTTXCOXGB9HYE5J5E5B24ITBMR87HOL79MX1I5433GG8JUL8V0DMLILSK8NKRYXSM64NZROZTV4KR43DBN6L7OPYLZ5XAS9C43TSY4V2NIZSYE28IV910INIGCBQWUUQWIM6K3YH8D8MDXNKS16M0ML6Y98ZAONT6F57WEP5ZXY5JRRQHY28HOYO464OK3QCKPXNT2GGS6CF8TFLTDN8LLZHZWH5KICL2Z15SUVV7EETF5RFBMQRKSCFOKY14AXXWS9PPFJO2EFU4X3VWI2O2K div 36#9CJYYUKYZY9B2635OLTXLZLDU9B8ND64HEOBNFY46BCB04OIA9886M58HRIBQLN2ME0BRMIR5VN5VIZI1S1DNVHEI92JX0N30C6Q3SX46HT0LEAM81G7WA6TYG0B074WVXLA5B8SPI9ZRI394Q5GOB03OFJ1F1H7IFMBAYKRCF41PA861N1IWKZQC1CY09I0RC2RY3N0EZFOBL8GPR21Y9TNKSI3YKFO9EDFUF4X0G78JV9U6QZ644D5Z8R3D5Q7FVVVB1DM021N8KANOXG8FMK86TJBYOCA1JNKC9G9XN7IL2Z7VG0WE8H96DJU2TFLS3KGO6Y50PM4VXCNYVLJ89DRVO6FYXT52NM8HQ1LRPV2IHGAK71RFJ4BE5XT7V314W7K40PK46LU5YIHT7QD24SPW2VFSP13BA92WHYJBS09IZ70O3TJI9BBD7LXFR6ZKCKUXOXY8L338NOJHJ6BOJD3LSUAZK2RAJPOW1K1BBWSXPV6JEWLGSNAM1TZZVFZJAPA26L46BUJSHUTATPX6M62B8QGBXZC6JJCZY96S9DUE30Z0C1OTXXVV840F0551WTKIAIVTW7KW2M58EDZXDY75CZ6GA5X81Y81GBTRAGDPTRIA5W6RMEXC8KQ58SXZ7BRO42EKC2YKDHRWDX758MHHO01K4URY34ARBTKXT4BV8D1PTZR20FGXGSK42XM772. +-36#ZOCQOK1RAGMEDE7JE1WH7E6GVMN6HBW9C0612Z4ALSUI6G421J57HF2HQAYBRK4793R05TC9OSFAGFT7PLBYIFM9BCAV1ZMOVTOG1D1EGB1HZ9J7E57CCK2HWTCCN927NQFAQS2MBI2YWWTOX27X51H6ICKLT80CT3DZNW0KG21K6OL5QHMJWB6QKZNXBTL9XO0QJHU0AW1J8S2OCA0OULHNWSW0FIZ1XB5JU9NP7I = 36#SS62P83Q3CJZANHXC1A92QDQNNRIE7ZOZANBVK77K0SX2STI7X2YJUSO6XYZ24RN46ATSYQOZHC4HK75U1KWTBEE31JDAIN6JMG2JK9LZCJYIV6MJZIKYFT325FO6H405C9PJ8A4MDIGC5F9DGA9CW19NYR9HLMUPXZVYIFZXJZU2KG9GS8M32NV2MMYZA0BRCEDNNOV1ZZMT6S03HTPHMISJYQHZX7JXCQZNLSVBH3OWVNE4Z3CQ314KQL0Z6A7ULU4NY8KE4XH84T93JH62FF0B6DS90C0CBY8EKEFVW3VVE2EF9YEESRTHNLFWOHM0S46504DYMACCMJ0A6H4B323EIHR4FQFKC9V7L7PXNGHAQ7A6VSR4TGDCH4CKQ2YD9B56PT1U0QW7GTEY084TOVWCLD12BM6ID591BOMSPVD5V52QTI6QOBH49KOYIJVIYH8YVNSW63EH6V6HFXV8IDYSVNG4MGQPPMCQKXGXX4G6FSWKRGGPK2WJRCXQBVW0FNSYUWI9R7WHA3W5J5CL8B0QTWJ5FXUEV3Q4YH7MZCR57Z9GXAY1NY3HOZDTL84K4XED552FF9ME17H5OL3F11W5Y2MQAJN05RT3O1FE2QSWCGTDVX2LGAZ7TTCZ6J2NB7BDDGTRCOCA66LQI9ZNYY0HS63UK7BN9F5Q0OOVVSSNQ0JHAHA1YX5A3G0F7R0KMNFQXA8F884WDI4MZMC5PGKD2CV7N266GMYB9DG402AF6JE0I033HQHD2GI61RQOMOHQ8WFU8L0CJXZXFDBKGOEZ867T2HONW89GRVCMLJH7DLNWJT9GF327ADZO3DJA46NN5ASP9TFLMWZQWAIU2HOTO3ANSOJ5WX14VQ0ZHFRFAXLO174QAEBS6F2RALRKUUID1MNPNUFGNXNR8JKBRJLAQ2RJZL9C7DV1P37SRWLW8T4DP0DP9BPLW0I8OFI48G355G0UMTAHRHTTVE47XY3XXWU0MZ0WAU43IZV7U2P6ZV6J87MJ844X9J19HAB2L2PFNXSNKN4CMQJ5G0DAGFM44DD46L93RQNYH6DTSAWA6BF1COFF4QEM0DVVO1Q8IOX9E2QJ6AFN7ZD7BVJ8YF5OTVQD7FL54NMBRT188FN27KQY4XRHO3L8Y6TXJFBZASA25Y4TJ2ET1PCAOS3HYFAKEAYH96XDVOWTEN0IAKXITTN65UD5F2849MCWYXA2AD83KXTX2NYEXOY53XEQ3D1AX9TV2KTHX4VMWKO3A7M85T9GGU0143IA32KVSB4WCOTGJABBE9ZS3I030EC3RV07RKS8GU6QGBXZAPANM8DWTIQ8AN44I0OEKX3SKNCJGY560HT88C58WT8W1HD8WKJ74B5Z75NS51GEERUZ4IYWYCPWJAOPL6VSGLRE3JRETZIFOL1FYCKAHKJH9VU4PZ3B2SQNX9HOZUL8GJFVVLZLXF2DWDT4YC6UMAX5BKEYAK8F12NOYF2TC468Q32ILY61HOVHQ345FGBCILBPDECQA84S5L4FE1E5243GPILXR4K1QPZEOHHMDMMUYRWGV48L8D8E4PW0JJRFJ4075AZYQLCAM8Y5L803PPWA13WN20VKQX0FDMDNIVKK4KWBUE27RWET1P2XN4LF25W0XU6EEGI div -36#T1KBFBIDCMGKJM5ZXZ9P43WLRWGGQITBZEXZGNVSQCW86UC6NHSIEPIBMO416ZXFRNJR1ILN8G3CHJY9NPY34ZT7QKSXOIVJX800ENF8GC0SX2SI90QTV80VP04AJ8I7BQCE7TV7730O71PKC0LU83L9IT6DJUCI39Q0VPFI7D3I7VUATV5G7X4APG4FZA8XJDE22HVO088SORWNJK69HIVZG7UOQPPVOZ7CQ3E8SV1DQRORSKTZ0TNX0W7GV3CFRWU4NHFPJ5QMCM838662GEW8T82HKCNYLKRQ8RL0EDZROHSO6U4AUKTB92GACE4FSEQ2RF4BIT9PQCHXGU38JUKTLPO2NB2LL27659W3AACTUDEK02MILFW9F5MJUUDI0X3USMZGT9H4DNSNEI37EW6BLNOWU2Z6W51FJAYWI7VTT6OELF33N25NTLYP3L8QBA87D5ROXIVFZ4EDEJ3NZLDD8W62CE634JBG9ZAUJ22ZVDQF9PQB09CZVARAPVCY4325AX21CLIFYQX0SQYS7O9NYZHSQTE2FK40YXUQFHCZFI7X7TKNSPLO6KKJU8HGKVT34JL1C9CQW2M3DXJS419R9I5MQZTHDZLMX1LHGCS3N0FF1XFXIGDMBG4SB2IMC0HC8B8LDV509FESBW1SFFBPWTA983WTTXRYOZ9IH9ZCECND86G8GP3QM2BJ3SCMZRGB0NHAZ7PKJY8CMJPJERGXC5YM1LFICX1M7IN02YQL1DR81FWHEYDRKBWQOLV78X08MJAXOXXOCFEYCMGM4RQ179OFW732XC6HN692V1SXW2LZLMP5HJTIKLVX7LEUGM5JBNXLTW1FOWZXHQS6ACM57IFHOM17ER1CCQRJXXSXNPQFZCRJW0XNUK9L7DELXBGPJ3X39UD5S63ABMXYT1BRSVN0LFO5Y5TEZQ6MQB8IZN4ZUQ89PPMFVOPKFHWKG9STDZXAN30GYKGJDXJRNXQSRNAWTE22TY9273FBAOIN8UJHINLJCZ3XRSB6C3U8MWKH2DSS1YDK4MWHUZZR5BBMGXZAX6PQ9G2P2BHDWILEOXBI7JNQLI784E4AXT030HN039ZQAUOUP7XRMY42AY68YNJH4P7HIC7UWE1UG1QBVB84EE2FATTDXJKCMHKKPTN8U2QYL59GG3DN2PK0OMZT88VEWIKOV1EJV1493PLEOKAJS8XHDDWP9ZM9TAHKFXMG57DM8YC2CHC91FU2PBK08IOHLRHYDIUOT6AAJO201RUMV5AAFMJVGSXL5N0XPU8QO7K4EPYIACBKK8QK5CPPTU7QTZO5ZOUKJV7F7KEWMS3JYSM39C1HZ9QGDQ3DUQ1XVME3IBHYS8POR8L5S0FTPZ41OKJJTQBS0TABA0PFAMR0UVJI2DJCFIMG427P61BZ07. +36#2F0LLTK1X75HPYJ2M883LGVM2O7SYWYNXHKMGP3W4T0JHHBZ48L5WD98IQJF2OE8DY4DWRME0AHV5P8C9ILYJ1RZ4ZWMJVVBTLTHDK4DIVG08Z34RC4I3I5HDTSBDLN2T3YHKD9GPVTTZ1GZB5O821JQY3RWYPZ120KOXHDEMWOTNK9UBTZKUI4RBB854BB041742T9T6FQVX65HJ4Y4CJNYR0SMEPJ5EJULH5VHSFHOPREXYH6QQOH6GMHPFLW3MQOMDAIVHTGMYFRA2IAVVH94KQV7ALIF5PYVFMFY75GXQRF5B2MZVC7AQUBAK8DHOAO4LYY8B6P7D162QSJLAYKB2NAPNU7KBQ0FRZA5EUCFQSRDXRGB4NWDOXCF1P9HWAB6JG08PD9Z1EXN0EKOJ52PW4B = 36#1FGSIY8PFE3U4LE1OTRWQYBTS0YT0BEKUEVZIT7RBHSS7CQY0P * 36#1OV7EZ1D5UI31GX0SM4HMEYD6TYBZSD5F4XOWY5Y841431V9E7VQ1S0LCGYSBBEW4BBW80ACIU15OOQ0KNEIN9X45XBJ5KNVM68VI7PUVG97B9FV6790U6VTPIC24NIJCSZ6PPWZBCBQKS5EULX4YHKTWWRFGI3BW1MSAD7R92DTS10OMS1FS25Z6L9B1ZQR914FK09CD7ISI50DMN8BXDFWFS2R50XROSOWMTQ3NSUF5FK444HS404357OYFDOQGTWQ3Y3STIOKN8002T82IFWMTI0NMUID5CB6ELY594XZZ265NPV285Y3ZGBLRA0EWK5W2EJQ9B8ORC4WL0FDE2ID5NPU1U3Q8C9AAEBMSZ. +36#12VN95KGWUZ53R88I7IPPCSS299JWJ07J8C3TAIEISJNWUJ7C2RI8UCQB7EJ9B1ZHCQWNDP98LW4VM5HTB7FY8KKOZ6X7L6UYIVF8YFU31NPW82UC4X3RTPB5ZVIROEFJ1EZULDEB4TEF0T8HVA1C0OJJINE3R5CS102M14ZU3W4L15DFRB38Y8VXOY90YO33P8XUSNPJE622EL8MHNHBN2Q6BHBF63NSLZ9AGI2HJEU2XKSWWV68Y1EUV8FLPV3PIEHLFU7ZZ1H0Z7KVTPZ35SJY1J3SYQXPEVT94F642VWZ32S3ZJFJNROFJTQ042L2Z8D3JYRCADPJBQXJ4CW1F41OFMKS1RY2S4XUO3SN4UM2PLG1QPBUKY5ICZA7NVTEG37GN63L7QQYAENZN681G2UAFRR5OM4AKFYN7Q7RDYTB1UJ7NIBZAPESESS0AEJ4B9KG3ILN2SJ6OEXA71IQE7HQ6XRQENSE3 = -36#7NX6SHPLHJKGT8FN14KWL6B5JUW0E5TWB4DP1RJESF2IPAOIJ7NIN7CO9FV9C27A8Z9XD37R351TBXKC0YHDT8UIBXWAUY8N2SRMUBO23YAJ46QRUASODVYQIMWPL3V8NANSTG7GBW8K7QOPKK0SO676VGJRE6W6DMZY4CDFV1K659NB0QLWW31OMMJNJME5K0G697SEGI601UGWU8ODL4GKA7HFE9JFLRPNTJEXYEYDMSRVOL53KWDMVFSHKLINOIYDVDZBPBKAYOF4N1V877EYBY6QG8BULDT8VUHWY2ID57M9IXJ7DL7HIQ0J3OY3NH73PEDUWNYPOE4QQ5O11VU8TE8HX5QHL0ODNCDQ6BPU9QCCCKE5ES3EXZ1CIXF1LH4XFQ68PLRKX1KLM5VKLO07EUIGNLXARQKZV4X5AAK4EESD5R90JM31Y5VTZZU40OQVIXRAD6289JRAH1I8QO69W1Q5KNYTUF6ZLOLW7DLK1QC5SNTDGKJSBGNQKJG90VZHAJO24X14UCNYWGVZRAIGLFZRWTIUI9 div -36#73HMCC7HA3RNT7AZU668RI92GNW0ZW2GP3EW69EFJ5KPT6Q0DNU9UTK1SV7L6PB43. +-36#508UUV9HWNJ34Q57D36GF5ZUBA6GT6K6WMDED1UZTHFH6FHG9LYYTOKWFLX3JQTOC3ANEYLC2J7PA15X3CY60RYZJ9I30Y7YQ72 = -36#206382D4B6J5P0SGZ1ZQSRKB0SCONSASEUK9R18MQAQNUVABR7 * 36#2HWTO0SL8GTGR8FPT4U6ZGVU0GD65NA8W2ZQTBP3YULCNJB18Q. +-36#HPY65VRNNIVVJVLJ4V9WYMPGS0EQEQPXHMFTLAOX8ZJQGZR3YXLLM9XDKJC2CFQ7K0YAF1K39U8471CTNWWT6U4IJKJJSRERI1H3Y2FWXMRG1IUXNTI8U1U3Z6GH5X4YI042ME3TSWFBMPNXV6TM04DIDJJT5EZ6HQOPNYV2CR8RCEGIZPMW9S1ZVBDKVEA3D4EC25UJ3H59HWSVJ1M6IAEOBLG61OQPVYM9796E9GO9AKM7J69VMVCB548H9N0TPOSYDES23014VQ36FI5SC21TBYJS0FZ4T5BWJE2DA858IGD5FU2OT65YOAE1VSO8ITF55PDEE1M0NIT5QFFHI62RML609C9JA8J0I2Z9TSCA4HOMWKZTSCVOUKYAQ606D6VG8XTLIMUJF29XI6GZ9THE4OKVP7HLQ3Z = -36#12IHS1ZWJ1P90G9Q8IRZ7HFITAU581SYKHX4KOHKG43GTZS9BXRA91DUTN3PHS869AFV9X5U4UOE0XQ5K8EUYVRPPO750SMLKNJH9GFPVE11BZRZYS1LI78DZ1NYBYJN7MNOUTS906YMGJE76HYE4FKGXA85QCTYKODUJVXN3N553VYCT65 * 36#GKB7MSDYOM9REF8AF1LZ2ICXCF41MEC8SZ6LD56Y9YV5IWDELR65EUGC9OZ01NY84U5EVJZAIW66O0DLV0FSIGYWQBS5NB0Y9IAI766V9GXB2LUS7EB05M3DZTC68K93ETYJD1GV7GCRU4UMZUWTD6TJZXMF519F8USKRV7QHQL32QD2V1BNJ9ZLAXJ1F50XG2GCY8ESUG5OUQENWJUN82O3CFLSJHMGISPACUAR50TWM6PL7. +-36#271YCYFE6US5Q3A18TCG4S4P6BTQSRITYLMZXIH4G2SVXK7OCB = 36#NFG89SH0ZT5AV4D7MLCVX1DCL5XLPPJFTSE4JGE9SPCMPUK18QXU7FP2QJAP96KAPQFMMQ4ZT3FIVDHE8MNE6LPTXALZ24QEVIA1X9S3DZANABNZWHP8DDT3M4GAF1ELOTK8U909WUDEQ2MGE8O2MOLJXZHQ4F26U6OMNSS7FJWPV65P6TJQAO6Z2I9IV8XZ0MHJ8BDQMXYN3Q81M5V7LVMJYLC5ROTAUHMW1F0P5PBC div -36#AO3D0X4RVBOM8OG3Y53WPDEHIIG9XJ6RJUMSMLJER3DS09PAIUSJ52FQ6O550CWBV3VWET74HKYP8JSJG3SY2U0GLLDBE8FDUOUWJPAKAZ4E2WXP66T9V90I1MDZRQ9K02O8BOH5FEW97PJ8MJ1AHEW8H5VDG2HFCW63YU9GG80KEOZAQ1YKP22DPKO. +-36#2TLHAYIBPSCC3Y4QVVPBIUYGRN97Y4SK9TF7LM30B8WC1W5UB3ZJPKSCRRE7D6YJUFKY48GFJ09ALWK29QWGAXHAROPX6Z3TK61FZRE3B8JGU9AYYRKRCK7 = 36#45CIEY671O0KSGN4UF2EV2XMFVQLS71FOJRCZB19SLLJDMKSAS5XH663BI0RFZZ3ET49A4Z0FJUW7FVP44NO7UAYLV8FVX2KUZY7UYPJEYU6LRFWJKAH2GIAI6R6UPD3XOFPR199FZ5276C3I8RQX2TIQWEJ5OU35266EP4F div -36#1GX4IDOM4IV7GFXTEN6T6GIP6K3YVKC5TD5NCOAO56US3TIGYX. +36#2J3QWJS24G0KS917TPGKWBDXIK0QH8F0BVECIIS24NW46DX01XUD7EQHM4WBIFF9FFFEP3QDVBJQ71CUZWIJOBKS8S20IJ6V6H0V6MJG1PM7K5VRH303SQ8U8SJT9QVSFPZU13VCX6B5MKRHK98PLW4HT3O33L5B4AQHQOBYSQITZDZAPJDLC1WORM3CSMPKGHHLZTTRB043BEFT4DGU9LZRY9CTYZ0L9VCBZC1X9SEEWK7YYI6PFP1R4QUOCZZ01HNECA3YRX6ZWEM0Q1PJT4C2KNC8W0FB6IZJ3L1ZVG6BJX3OOPT52K6L64991GH2VGVZUAKRGJS10DCDVS38XEF2FPUJ84C8ML1BSGHGSDD6LC2F0S79HM3TUHSG8PU4BPC1KTGV1SM6OQLUI1HL5CWM1TSVK5O5K1KDJ2AVS2J5GO7WQAPSMHWNAH4DUKWBM2WJ223WAUU9CUAQDDJXQX48SF5HEXFCMZ7CPRCTDB4IUJUYLA3PIX4BN86YM2HCID8BXHJCWRUMZSWG5OE1IDTTBF7QJLLMUE2UZ0NLSAJI5Y7EF021YPZFG3M9SYG50HG4JUQZZCG54HW6XZXVAIMZH4RLCNKTXTGUOZEKCJKLNJYXA479TI4VK9MOJEEHWFB938R4Q3ZIU9YDZMGI0DZ5HVCDX75X12RKP6SLGRRWG018SZ41XRM217JNMHS4W0LV9E7CJWLKWYS0U5RHS5GRWJQF4A3OYKHMRYMS6NN5B3LRUBK0ZWMB1L0AOS5LVHAFZ41XER8CEL23V0JISIUQD5UXP4G8LV9HD43EN3HSC0JK717II2YTDXTC0H1WJFV8TZAO = -36#150T9N32JERJ39ZO68XJSCJHUDSL6QC2J6RZNMUG5QJ08MD1Q3KZAZUSV8FSX5Q9Y929J3F2101RH0JBNCUNZY26FBGP7C3C0SJ23SALQM8ZLKJVZKMYFQ3Q4CS92OEA1UQN7I1T3E34A604ZN24LKK3Q7STUY4EGN00SVN1OOKER1TXSHNUBBIAHI2W78CEAVBUVZUSI0TJ4B2NPA5UAD8M59GUF7NXV8GGKO352DLZQRMULXQ14IM5HL73VOHACUZCE08JXWSX5SQPTCL992F7MXF8BYJBLRZYGJD06DJ8P237C4QN7RX5BEAV0QEJGOMWHSRSY8TGTQGHG76PSQ6N16PA01U8T9671B8IZ7MNDHM0YRNO2931EQ5UZ67E125GAFQAVNKNFO46YJZ17XCOMV5G4C98RSED8G1UV0OO2YF6OGNGX90UH20WITGWM5DTOTAUONLKY3NA7B9K39KQWYIW0B6O5P0N3SV1YHWR5XESXFCJQXFXYQNV7V81XC6DATWJIEM6DFMPQJXKQFFEHRYY7LYJ6Y1RNW9MIHVLDI9YBDX0LHI7LLB5KS8NNQEHMT9MV5YBH99FTL6O787IJOFHLBIFMADBTS5MPVHAHW1Z9J5M4PM6PDFK73SSPMP4MQ8ENOQ0I3DHUYG3V92MXND6BCIRM26DDTF79SDOO8NHMZ18BFYZJTL9GQQLS7AOLVOC1WN1MIQ38OGF6U * (-36#27Y6XVXOL5KE4RPE014J2ARCADRNZO5DBB2C1ZNXJVH10KYIUBGH8LP2OQOBCPHWEEY2J6LVH6TTDW4UIAGPMB9XPAFQQ2XVCFW29S05IHY9LNRTP9K). +36#5C1QJ0RMP9SPOSLSXFVY2RLBD1FWUWK6CKHV5AP6SYM141WW9NP8IZKAA3LL4YQZL1THEOCKKAW4SRZ8PFG3P0XWUB76HP4WTYLCR0G0K6EG7981VALGMI21R6Y8JFB3RPBW79QIS35ZWT372LF8NGLID8F1MJQM2EWD2YR0RFFCG83H745W1YUUI2DE32625L6CN4E2T63U842TZ00BU4NGNLJ58WP5W568Q2V4L42QH8SU52UQRB2U2OQ5V0QKOP92WSP7NSUM9F8RVB9Y3NKEBXNY0JZWY1UX3EYNJ22WOTMEP75Y9ZCWZWZ83URK2XZ3MB1IGIOM4U0YXIU2CE2IB1R71H8YXQA6VMXONGX5H46TMFCHFF68LPQ0GO4FGJRCRLKYWD1C1ADQ611VT1E6TTFJTV45WJG82AMZPJWSBQOBFI6JM2V1CXBF02XTN4YNUTD1H6H4YHUYLHDVDB55Y9YHGQW9Y7V9QXAGCF06M0PARBAUVO4PBBW8UPXGHU1I68YJ4E5C2ETS3BVDXLDFHXV9VPL6IXYPSQQI95LCT5AADFD3BZU9FYE699AIVUETHHVDFNOXNOWLLTU47CJO5AD3ELLD4HOU57PEEJJUAUY3IXGAUZ2UXDT8R40KT8B2JV8UTEIPR2AJJGU44SFTLX6MGV86VHKSDC4BHME289FV0CWLX1M28FOIFZ8GRLVYUB03GMD14BRA0P = -36#1T52FR8H4UHEFPJK2AJTN2DCA7T9WNMTMWUD89SZMNUUIQRV0CLQ3QA8MQQ22I4FKX1L5ZM8BUOSUAC4LOH8M3D7AV07U3KMY0SSWOHTSLZURAKQ2KNB4VIZIORFT09NAJGF3W4RCG9V4BATFC9VXJ3UG6JSB5DLYOEHWSI5WDIRIO861S17DGEBHOJLBXZLZS1B5ZQ4ZOL1MA4YO8P43T4B84A9A492Y4YWYFSNPHSGXF5Y1UZYQBLXP * (-36#2Y4VDT8CR3NYDZSIBKEG1743YNH0K0DMVJ4Y10AJBSSQ2VKDC2V2FA1H228Q6BO9DGCQWP5EPIIT32R2HGTMK2REOHC274XAUWSNWDTUUNYY45GIF82A0SR57XEQESWESQUMQLGITCRU7RGM8QKRJWS98Z3GZDCRLPJDPCD7SBFSJFUAVPIQXYYKEODUVLF1XMIWHF1FJ39T9M2X220LVQO45VYXAW2KE9R3FNLDNCQRHXG1F1DE64BC62EU8GPXBRX0O6MNP3ZPTQATFXBAIY4SEAF6A6G7OP5DX07W8A37MCO68AZROHPV6QP91AHDV4NJGG1CCBDXSSCYC7Q9ZLXYMRW7BD2AQ8NUHD8AQBMUPH2PEFLPS6HSI6EPRONV7SK840N3J1L8MWEDM5UG10SM7TSCGIR9D26NVWDVW4NFBBLYR0LG76EH95GNHX2JN1VYJMSIX775U95YO7J41DQ731). +36#4BQQXU7MISJEZO1Q5H431R71VQB322AKIAYVAZ6LF7QRK1Z48JQ2FBLYG3VM40JQJ5Q9OZSO64ZNF1GEIF6IT8Z = 36#48APKYKT76PNYQEN2D6AR83U9ERN8AROTJ7IYU2FKPHDETN2ZKV2W38NTA95HK5ABDISIZTFHPWAC6A1NHTAGRJ7FG5EZULP09QNZKK1VIXOCQPJ7LV7T8PPS0PCFVXYC3QS46LM div 36#Z7BTYV97MT59ITXQQM79GN5HU82RGEQ800GUMRT3DWINLP6WE. +36#176E3LTTXSH5NFG85ULD7ZXFVF02P5JDQ874IRNYO8I8FVZ7GAYQJCG0XOO6WEMOI6M0C80HHRF2DRBYXKE2F3Z3LV1LITEOGNJ1PFIGF17I3JX05LBNDI4GC3AF5RCP1JLMD60SYVNOF755RDF13W99OLZ6DMYNGGPJXW7QP4XGFI69B8FZPJN9VN7IX6R0919NFGEYOMRC1QAWRI06OD7T71I68P5NTDRL7SBMTBK7HN5QW08CCFGVG2L1ROL74E52F69ROG1YF2UJQ6867S6NQIYS929XGJ68RLMSA017Q6GGHEDV0QTKFODCH0G5O482F7Y58JGTJDXQ9PH0NKR82X484CDPVPOXAGPE38UAQJTKWCPSSK58FLEKTFDPZF7ZX68DQIB8WZE7L5VMX7A2YN6DDEX41YO47Q9EUY4MZKZ2DP5JE1KTU9ASS3WMY2JXF1UESRQ3AZ46759JBGVJFBB50DPK0T2KWD1YCA3VNHNQW5HN6I7EJG7FGY7D3WSBWWE65JE00S4KZG8QG83JU2JV3I1KSF1IVFENX493X2JL1AJG69YIP6R7JHCKC9Z7OIZCVS1PUGB6T99KSAZYSYCKS2ZECDK914Q5Q9TLBO6UYJ0U5W60NOAW9HODBN1Q0MRPUCXCKCA02PUAE37ZS4HYQM2W030WI3BCU2WVS0G9GBUDC133FP6TK9788P01UXUO3TUM8HX2HT79UNH0KJ1207W8IM7V0VL3IGE4DUX2I1V9I4AYY4GZXHD2TT0PU2PD2R9SCMOV6FKUM71YKHGAF5T5OI7QX4JYZBF0A2308J4GHH1JJFHARI4416TDIHOEMHY82ANG7RYD1KPUF9Q91BHJYI89LP62AAZ4UYHJXZNEWPXB2F4CCHGPEO2HO8CHMOIXF0LPV3K9SDA2ZYIEK7K9S4TS5VDTM641808QHYJFXY3P2OZ5AQSWS0IQAKLZ676RR95P3O4KM5OYHNWFGZAYQIEXINB7D4LCWYU4OYF5KXX8G9 = -36#9D6M0TL35Q86X16M0DFKH0DGLKIXN10WHXE7G5P1HR8J34IDF * (-36#4LYGP8C35ONFPIZR4MV29FEVPI51YDOM6OO8B175KSP0RFY9FJQ5HLUYPM4HCVAFIS3FQPQ7VHZNYLDL79D4BPI8NFUHW7C9BQMYWYPJA19745SFQ25TINQL4FSSJU29U4NCVFHYWN08N7A45XO5KZCTNA5RJS341GLPMJSV0R25VQ2NVQ37VDH1W6XO031LP1PROZC1JGGGEY37DP917O0UGPDLD0L0HAHLVNUPFR4ZA7BQHAAWN1O1PAU5KC8PWT7TSKK1HYTEKI69ZV8J1442RU6WVXZTUOFAXY0A9BQJOQIA926N67BZDIKD161EPJB1UF88QMCTC49CCFYEMRV5OQH63YGV36Q9SPEVED9B6U7B4VIUWDKVG4B8J25QY9S3PL3ITE1IV8SQSNW5M1IJ943M1DX5UUV4KT55VF9ICCN1OUBEYN3R9BTICMEMJLP90DWEDJ4UKVMENDW2QGBL4BU4H0XH6QAE9G9911ES8XS06OG8EFAFNKJPMXRWNAXN60LB2XY38LC5LUYIJNFMEW122F961Q4R1NHB2NUZ81S9Y30DQQWD2OC4R3STXQ6521G7SMTSQXJCIP2T3RX6XX2N5JPDEMWECWJF271M4V8XSOSFDVM7FVJQBM8MHHPOFT0KQQ1IDORQLG0OJNSLA4OAI5O9IZIJABS4ZGMR2CTJHKMQ2QYPZO73YATXG2RZW5057U077BCXSK3YD4H24Z4KEP2HZ8NORMY57LMON8IBZMJK50U5QGZCDVD0BKZKQ8B3DQHP84U5DH4I5LYOT8T9D689FOJZ44S58S06OSF0W6PWXGUV7UI2EUZR4NYI0QNE2NJSHGESRI9VLYKLZTN1JEP2XGTZ0E6B8MQVAOQVPU9GKADDFZI1Y2CCQ5TT4HYFXIPJKF9WV1E72CYMSLEA73UQ8HDBLSIN7L3GBZF0036L9J03O1LDD5XELUTBM9FK3). +-36#2OZNJ4BTMXDBJ8K4Y98A0JV3OPVD5GPD1SCDBSJZTJ2ZIL8XFE = 36#5F06TIZQ866G1L9HJ9QFW9VVCC6ST9PTA6HG66X8LJHDYVLPZR7R5N29B271MBSEB2XUY005DHH7ATHWRJFN4UQBK38GM1M71ORY0B3VP85P7NOPKKNQD33DN99XA825ZW2CPULD2FRBAUJH7ROGJ316YB5BRUPA6VQ4L6UM3GF4LE4SBK0DKH79G2UILEFGEO74GVBIMMQDYDXLCXNUHWBI4F9XBYWJ59PQARZBJDR7GR74K9FXC45N8FUYKCL5S4IETZ50U7TRP8XEL8TIL163A1ZAG0IJD39XLDJUL0ZH87L23LRBEUQMILJQDXXTF1VKACZNK76U9Q32760VWOXED0AVSD0RV9KS8ZAHM5FEYU2UHBOSQV05OZF3LX98NRRP67ZX9NT9Y3434YPHWFKUQS2TT60YLST3JCWJS7HIX5R94JJ2VDOW1XV7IQ0I067AJQ3Y0U3NOSB5UFZIDDAS div -36#20DOTP8XGCP2NU6331QRWRZAAJ1OSUNSRH8Y1ZIH2FGDVWREINCB6O7V3Q0TQHVFN8P120GR66KPAGF2Z83S8A7L1XZK4R5YTXYXC0H6KB6YG2ONQZQY8O5K4XLVNLGERU0X2RNH2DG2GZ2R5OJ8TY59G9XFVXAOF5UYQBX4PIEZOA1UPLA4CQ8JEJJK24U8S5HGFBH3T7CDHZRWT9N639ICFQFBTFU0VG76VIV2IIBYN6F3BCL2A7TCFP62K7W9MUWS0TS9TDZD6VH1440J30S18F6AVOPJB08SM55VMQF2HOKM29FZI43JW3P6J0YFGFT0FVOISW9YDGXURVEH67N6AFUDQ1W3A88UBZRZCNPWZFEYTMHMBK9LBEAOMOKSVRUB0YAQ4PMBJ9KFLV3NNP04BWQD9V8CI4RVXW2. +36#19NPN4ZFCCPBU52KUM59HV9ZS4VF8MX51WSEERSJ3OPB5JTJ9K1MROA2WMBAIO62EVRCXCRZO3SI9W29FMR8QA8CHMXT6M9D5ZHDMM0IJ9TJ32JVA7R5JB1A1DK8MASOCOIKSOUAMXHMIFYMWEWA0QPGO69RDWZGYUF7UNGVXRAN90FY1SU8MVZJKRK9J4CFO4CU23KY05BCBLGFKZ8LBD7MQ87I2QUI51GYTRPQMZPK5HVZY6NFOJFXAPLQI7MP86ELDNQ6KN0OL6MT47IWRL67TF3DNE3TQ4GC5PSHTFKSZRO90V42ETX4HDFC9XP2L3502XPX567V1FP1BGZM31ZXIOCBINZN6NFH1Z3U31RJBE7HXM5WNPBC2EUK4PF0EW3O7QK4JXETTAZ6K0BU05GF6A1K86AXVYXPV24OC4ITUHW32COOJ6QB66S5B6QS299B82WTOH3WCW2B1B581P4TZEOIMABJC3ES493U4LK7T2CKCICYHJLE6CU1X465EWL83WXGG7B1Z9NCO2IDVC3F49ENWSC3F0MIYTW0PW1ODD23KVEC8LCL94ZWSASY4NNMHBXFBFYPJK7131YHCALE5AO9FPCPT7ZQRTKW73EYU25123PNQJMG3TX05NW29P9WOFSH2UF9H5RXZV5MJDXVZGINJ4UEIH = 36#26YB3QRH1DPYN4GAF2GGXBQ1FLTFOPDKVKT9T697LYPI5C36V3SXX0Z9PZ4O4JI9602EVAUW8LL0HVLYN7XWZOWORS9X6MOAHOUZIOXOP577CEPI1JXZZZLCR1I718IWRBV0NH7WYPRTRPIE7Q12S142Q2Q5DCALDHGOBHCI5SEKRYHKOBQC4SZMPXKNCHACHNJBUTDEF1UX4ARBS27SO3Q579UVKOE20JVNBDPW1734MM9B67YO4D1S00TM7JTYJOD6J8NMTRGC69GLRQ2UT05BG53LBN5AVG8LJVAF7BX5BTCDO6QOK0TOLS9LPZ2PC5CNBK4NKNEBW06H9R6DFLZHLUBP57102H1TW7FHFI4FKF9X0KU6VAGZEUEZVECCQC16TDAY6Z4559STSVQHNBYE5XVVJXU3SIYULZ9Z6OZ7AN376IX0Z9ZPFV1IGITS9J4O8K7INO7UKH3C9KDV96Z3E9C95YVUQVGF3AARRLURHHZTYHWLBWZG3PB2U3PPDWOH5YXPU1OQZMPJEO7TIMS14SH9SNC94YPX68YOSQTXA7T0GNX99YAHB2P2JSZ4F2K3UDLPEBC61CJRLC2MV9KZDJJTXS8T01QTDSLOKSMV27NQZ5MDIQNY4BINPA1BK5P9CLM4TISCQZMF96N4LM23X215QY3TH7EJW48T64XKB6CUPW6SN2SHT6RPQTOQJFC1UX4JR7SLFLH1LK4QGGO1H1OOYDZ8U6GXW8TJCSPNCB7JGPSQP2MBTKEH9WE9Y2CC0YA0L318AV8J11OWGVBDJ8W8UCCD4J7O4A7VZB4TKI7KXMVDZGV8EI5O8WI09W9H58NB7IYUX4XDL5C99PLHBVRPLRXLYPPHJK7FISEAEVPQLYNS4PBICMDGXMHXZ71PZPDW75CFRIFBR3SXJQDK6YAWPZ8XYLT8KV8RJ6UR2U4P6W8ERRQ5H4J3BFTQ30LGXTXHIJUT49RBTOEI3112VQGHPGLFYCMI1X2NBV0L6BXLV2NNM6R3VOMTJ8PS1KGL1IN6EB7KNXRA1UNQ296XGIKDJLHW10BOI3WWBX7F5UK14RGMROIBTLDZD69LUD0KLB3OJFOTV18KB2QY77S1CHM5I6LMHJ4K7E5658UFYXGJ5Y0UWZ9PJ42UXBRN8HPYROWSMV3GTZWAN60HVQQZA2RIOP0P4CY9GNYIOJ9G9A2PGX6AWOUBL3IW0MQ3ENMSBLDWIY9D8VBXIMDK2QFPCJO8E5LHTYOA21EY3VOHZ4G8FZNO4GCAG3 div 36#1Q91L5EG1AZ14DS5Y2SCC2NN6SWF0LR99GGQ3V2NAIIMJ4ZQQXJSY593WUF3US8FGS7NI4MT4K478CCHXY09YBZLZ5MI6DAD9GDO2CLXAH5NFVBO94Q9EINIESDOQNFAOTHDDMTH27YRR2PIM7QZ4I16NWSS67WX2VOD61BQ451IN75RQ2S33AQRRU78Y3L52S62A5C23Z69DTH76ZYWUV0VPS59PR2AIBQE1HYI0N73SFP4UY6W54Y7TC7AV6E6RXJI5SZGFQWU1NA2OTPJR1HHJPWQ3G5NN0U4HZOSKKB92ER5AWB8KV8H80X09R941AHF64TLLILSPAPIPXPF9L1UYS5Q9AW820UA6RGUQS6VRPNXDU9G5D4YX7A12RX63U1N37OQFSBKPZVLC3MCI89YT8X9T8OOIRF4VYMDJAJOZJJTUHGBLS26V49L5DDOQ7IPKN3M95N46C7FJURSDHG98UR4CYM394J0BVF76VQHRW34PL599HYNCG7OL8QSO6PS7S9YJZ6YL9DE14W1M7MT9Q807QEZGR791B4HVPTY8XNCPFG67ZNMHEA8U572WK99K0R9HK2UBIW5TWWAZIMRF. +-36#NC4RKS2V1YKOXVDWO7WGGMFZ44C7CY851A4SIP5WLVPDXV56MKTZRFYWYB92NESIA1J13HUSYQC52SJ24XAMDALLX1H17OH8CVN59S1YZ = 36#12WOUUF30ZVXUMV861NPBN0C0FTYAYDVAB1QJFMVHPSSKKHAZTR0WV7MHGIWB4RLOJOBRQUNTZVMT2B64AI9RHSU9SYOWJGIYQ8AT4OBLTA9Q2EF6697CS067H09AN1G1F1XD75DOF2R15I3Q9JW9D9UM1LO386KT2LHKQBXU4Q3BK0549BMREKCL4TNOE0Z4WHK395KUI82ZN31711DN312CTSVNODLUQ5PDVFDEGSXMWRSV871KHJA1H0G1GGPG6IWPF6HPXSFQK4908UGTH6IP1VU23IV909R179GSNL4F8Q0SRG16WGCBT1PVW8WABM5SGDEUIPH20KMUUZSHBZYWOH5KO1O4UD6L4CYPR1YQAPWC78LVIKVK3EHZPL8B0MSI0NEXV4ZCSE340ZJBC9GGBYUN891QBKH7YOER884SZFOPKVX53UPVQF8A3K03MCUX1V16G53PH5FM1EYHLQTS5ESQ6BZZMCZTBL890WHD02SRQ4CMB5YXKWTHUR8JQ9B25RK3DDGOZUEU7GP70I6P9ADLB02AWW771D7JEH5EBOKVAN125DHO4MODOJHJNKAIAJU6OX0NZ3UFUYTSO27RYI66BK6AG8FCEQ2G0QF33LXQKYFCANYNNPM div -36#1O0Q39RO5NV8CC5755EK5M81AG20ERS309AJ1CMDKYQRE8VXG0C3K9LTEFN4DA445196120JX1DYONGX6BG39Q0CAEVQVN9K0NBUOUX2WY52W5R0MFJ2AF2P6B8BGFKT0938KVXCMF5DVG0RO136EMTRJYYOJ4KWYEFX7971PQEXKMHYJ5V2AEGWETJ0KOKXBY5N72D92KY7OQGPJ6K7YJ5U9WWJPIWRIT6E4HF4P2Y24NU7COW6QED7QRCIXHWXJHKPDPER475RKIV1OSIKINH9CFMQWFWNEESGYVJ2BN33DBKJZH9F2Z52VWS3G32G7HX7CNOJ2JP6YJGKNW24MKTMEH6POHAFEW857Z95329VK94IEJNNZIQ6FOAYNLAOXLSR005TO6L5I4OQH7GP3QLY6R6PLTZ9YJUBED8Y6MVLBN5Z40G6DU9KVOLA5CLHILLQD17QPINRZ41VGF9U3DVGVBWO6S5RULYJAUA1523X8GTD30U1TPTZGOTEH11L66N0BPT3KLGKRSCT7WE. +36#6YUVW4WPHH1359M6YSZHP8Z6ARIQ931D4SQ811QE694FACFSBIBOR2K5GPR6RE1Q8A5C2SMUHET4V06X5JAEX9G9VG3H242UAPA3NJSPZQW8H00R35LTP89O5LIZ5CTQVUM5DA6FN7P4UU83AOZ5XT1CCNVBRHW069GAG7TUT771CT64XH93V75F2XSNOGRZ4DAJZXF0IZ0CK9ULZW55ISMPVFAD4MYLCU = 36#AJPXCQMJ2T62ZDSB6KB2FWAZX9REMUAYG13BJZO41KACX3KV7J6T9IH1U8IWN5T69A3HV8B0DUKH5BUO00157ZTL6WBC2RKX8EGGO7Y9MIZF6IZOCORHHY0T6FJN9066YTNC787LZHX04EJEUTA3M3RWF48A0TZHM9Z7ZFQD95TDRKCQS0I09WO65S2TAA9EG8YTYPXL7769I879XDOE1KA9HTIJXLIZXY0G2L8E99GNG0VWRUV9PCHAUQY1FWM05DJYO61Y6ZD9GYKW6VC div 36#1IHQJEBCMXNC2DT0SM7TNKNUJOPM0KRIQQSLIDN03X7ZZEQ9NG. +36#2RY8UL75Y8UYY9GY0XL0SAKWF9Y89BG7HWW1SHWR936RSX7CXE0AAQK1AKA567IGYG5V6O6O2UVO5BYTYDEUTX50XLYOYUTS02LP0U0BERMDZ26EBEB1JW2GKQXWTZ4PDSV3GGDOW54ZDADDLLAZD6GUORWDXWEDN9PFTJHDDNYPAKKISIWBXT7ZN31OZML7C4S7ZSHOM3RK7OH42DUU7BQZW6EQFNBYZSR7WWAKTRNGFX5EYCKYCXYUKHDAZPF6Z3IRUDEKCW0B35ZRF08XTDBPJ3YK5QBL17VRZZHHFMJV7C6W5RMSKUBE7R5GFK391OUH3CFLVVT7CUWH9AHCI2JK87UB8537QW4WWWHXTGJ4KCPHWPSG9EWV7YHFLD7I9JY2GH2LZD4T1V2MJEVFQBZWSH8DID7J98WH97EGLLN3HV4ZG608G550ABJK0M6L2VE081N3RP5U4C4U65YAPSAWLR4HT0X7DCYCIFX1XUI45TFXUGBZ9JCY3QSWA2YUAS1HRTLS6A0FAEENBP2NIMUQ774RWMYJBL8Y3H0TAZUASR8ZFEKPL76VEXG7XDJEBDGOX1A0FX8C7OXA7HQU796I820T7M3P41CURNR6M5Q9DFDX1DTW7P73HVCUC5DJ5QP4854O1HN5BRWWKQRXU4K7EMJWY7302266R3NPCYDAQMWG9U23W500LYF1SFZABE8FFOVJGQNTSMLPNOHEH8DF8MBW72ZLU40YCFRU5BLS3W41X5U7DTB748JV1ZH8CQFE96OEY3UEUQMUM5612MVQ3NPDNV38DVNOMJQGQY3527LI6B83HQ4TN2OL9OLO231ENR959DB0BO5VL9577OHG2POM7K0JQTY8VZQ0FVDJL11ZUHPLITN5FT4JRDQF3AK4E05ARAMBRRBY7IC1P4FM7G70XT1X7VL5B61XUSRP46COUABFWWXXY3Q9B6JIPQ4XGUX61K1NUKX40ZMU05MMAJDYDI0YRQHG5WG71QBAUBZWYYBXDF56EXAN81AA7HNVW15AK8BAJ0S456D2K9V2IPN5FBV8JWTNEKQ7HV6M5S1VTMQ48FAWWGKLP86APWJ7VVKG461QHY7J924W97X9AR2MX3MK5IPE4876LAH0GHGEJYZ5NS29EGFNV2AF9X796G0O8Q88BMGLS42EJDY9TPNDS3SYRCEWC9YVI1POJCWEZOIK2RVF4AFRMNGRF30UWW8G2CNGU0ID = 36#5LQJ3QVB0591X7W2OLBGF6LKLQDGIIR4PEMOWVFPO173FPWR4GYSOTVSKMYE0IBHOUH5NFHXA368RRKISTV5LNX5XRY71SZ7IMMSS42HQ1VC6LI46OGBJ9ZTTZAX7YSQJQH2G6EX4U0KMAHPP92CAYOEN7UBT00EBC8FJYY2RMSB3HY9ZB3HGI440J9X4WIYYJXFOTE1ZXEVR20F1Z6VH6VDFMUMZ3MZ0FIU9XNKBH4E2CWBYCER8PP5FHMS78WQ3J7JXKTQYZ6XP9LQSYAMZBYPEV94K9O2M61HMYX28BKVRNFASO3P1AW8Z01KMHOXR5IEHCWJEOJJODP0QUANHB7IYD6FDGL4Q3UA6719J9PMZHC9F1AHWI0P2XS3QFH6ESIIXWSD8Y7ZJLD2SQP5SDF4OHBE3O20WZGJT1XMB48KOOE36WUGO9S5AV79GQYILJE1AMAJRBFSTESHS2MU3CULSQLIHZCBOYDZVNQZHDP89OBXLPCE5WOZ5E0DLMM6A7CQ89LTSLZSDVGIHBJF1F5UTN31VJRG1EZXN5HOEECXF8YR8F7OUHBXVZE4QTA2JFPFRQ7QYP6I24AA78BKMDBRCT7H9ME2X5VR95DSX8P5NCY0OLX60US0D7VWRTT5QVHAEJGIA3RPMTKP8GTNHMEDIYE03DB418SXTTWS17Q95K8O4EIGVUGGMD170HDC5LOF326XF2N3X8JR2LEIKIO9H0W7VGTRGYH4X9W48VM8VHVXT24LHXCSFD1F26WO4RZ684XJDKY1PXONSFZF6G72EF6SRJF1VE2WQ313KCX6E2FLU7HBLUQKAXPV9TIMY16U0Q5RFV9R1P5QSMO1NJTPNXEG7MG85I5MSMHL46CZJOAOIAK37O437U6OXDX13NQ6QX82151MSFCO5VMJ1LH562QSF9KLX9V8WNZOWSEVM1U3ZPXCDR9KRUO4D0TPCCMMIP7ATJN23TSNRIUW4N8O77GF98V3IQRYYS8IY14GTTQ5T2PAV2B92XQDID36S0FD2J311C54G7AILFI8ZEF0KMP2RDIKXRUE5LQTNWE1AAPJJGSJFT3PWBZPDVJDJ61595LIKS8CI7M4TTGTZPSL54LMOLS83CLMN6IKTDS5S7BIJGUDGQLRQA52VRLPPPQYG3K6H2WFX692Y71HWBZIJ3BHT2WMC89YGUYQWD5VJPDNLY5X1HWBK7JGJQLDBZ4A9MT2HC9Y96Y39K10K4RIVZLXTE0MZ48OGS9MMIZJ54FQQMTPD53UY4XR6AK0ARPPTOMLU7YD6YXA73EY9P3M3SVW2RSB2G5JJI269BVFXQOV4O99YNY4JNYHWS14FI3A8I9COX6ERVTWHNGH936HR4MLBC0VNSQKL7PI7DBBTDAMARF5INPD1YM50P7DVEQ4M1EOUDVKA3TZO18S5FKPJ9AXK75ADU06XGZFFL74X9791TJJ1AY94MC0I4CG8WY6WQ3LOTD9DP6IX7101HFSNX0FAZGK6IK8WL2EWEHS7ZXUY5Y1XQE68DRA0ZLPJZN51U5QT6BA5WIWZH8HWETGHWQV7XK91TZCJ60AH1C210KQNOR div 36#20NSA6OAW0FNO1C4O3CA4SO39HJX2J82CXIV22JL4IW1FFKYV02OU5P78A2W9UTBR3HM21P57JGR9MELBWR3QCYR5G95SD9O6CQWY6M7FLG0RX07UT7FBX5FVNMWWCA3PW5CJIY92VY65DD04M89QOCLBF4RKUEW3SJBQJKXJJIIGJNOJUUTXJYCFFQ5HFFBN3EQJATLBB9496O81X6BKYIZN25UTBWDXO5A5W5C3FYEP58A4R04AO97ECJXO3DCFNNT145VE132SB6PBJDAXPBCO3ZA1RWS2JI56VKF8AYJIO7BERZEBTFJ6V6F9P3UGSPLXGIB7YJVZPW9OIBGD5OC1JM8SVS124XR. +36#30Z39RX6IY6O04Q2K9XDGDCBVNBE49Y3FYNGCMKKH46XY6MOZHE1BATEE89W3TED8DUZLQOJ9FTHEJ52NA1UB2F977BYV1DHJNKS2F1WY5293NZJ5583H8DLOMA4487CIUK5AX0RO1ELP2UDCZZJ2XF46I9KE9QGLQIGXAU1HVC184VKQR0JJEA = -36#3VJTUBE7AENMT1AYT37LMTCBQWHTL79D3SC34IIE3EOAM6OELGK9PXD0IJXKXKUFDRSU8YYRISPOCA1D7JRQ7X7X0O9S72UVB0R44UCT8ABDHSBWCAXX0B9LXVOH8NPG28VJZEZ2S4MRN6Z5RFM32D4PDLWT04PRU0I3U9ZS1XT8H0G4IEKJB4UNG5DO4T99BJG46JLVWGNBH6SJAWMTXSMKDA2CWU2Y2T8GRJP4Z7GIB5K6BFC8YCHJ23Q14K6QQVT888NR6RMDEDCDRDWOASVZCIWDBUGML97BYBWKJ5C3GMMS3HJ7AFU9Q5Y57N8O53O22PTJA1Z48LADXQDCSFUFEUESJGDZ8PMFN29PU6CFJLPKN7AXOGXY153XMHGYTALCL0OOA9RBVUHEDMKYAPKBYYE8DIALBJ7J4CFINDT78VO13H0TV0JJ94LPDZB1YI4ZH10CNRHBM6KC86OK7DCK9DSLXI17D8D0GLND4RSQ35SEEKQLZLG00655HT2MIGA5JDFCGNJZRZYW2J9RLW3RZVH4NZ1B1PMCQ div -36#1A3MPH0VN69AINXK828ANP2LVNXCCN0L2XJFUU2FUUAHM9Y7P131JBVEL88G6MCWNMY9AE90QG18Z1K9K6I819WRQS2JUH5IEP2IHRQLC45FV1GRT7WP26IAUYV838FEEF62NOXQNBH09AUQ62KZPC0FZ8149ABB3HYBK50E4CT1U1C5VVIF4NHX6GBP205EZIE181YYQ9GT1CPXUB8JWLSGIUCTPNRNQFBKRA7O3UVMEAORAP7D1U1R5OI1GQWM7GZP4XNWSNSIIHKU8ZMA9QXDIME9NQ41HHNXMRD6RW3VEEO90V8MWWWVFIKEPV63GJLSPQI6V412DYMIRL3ZENCN52RCQQ2D5YZMIIQYML2LFVH. +36#QG4W5QV8QU0IN8OCY9MOEG4O04FSYL7XIA4FZWWHBH1OCAMO59J0UFRBR5WM6DAR3EERM6BN3QRMJ4KTVW9NQTIZA7RHNUANROI2S4OZJNFF52DLHKR64CA572G2ULFQK7A4EBJHM3TGM8YZFOGUQKF7722TUXSCUCSDX1J717PYJRNSOZC3APCZNW0S0IPRWPLF7GIAHBGBZUSDFI4IAE93OJ526W1C4ZUDUTX4RXXXXVJX3W1LF7W99GEILSNSBXFFPAZP50CWP5XKHWRHJW955T0ZRF81JKNFRRE14GJ1FU283HG1P837YAZ6CLPWFRLTAXDXXTRYBZT58OKC1E303WCX7AVDHQ8UKXG45GZDNPP7UTFB2RWNJWTVK7MOL42VVN5M30DOJDRZHXQA4G1P56DT1JM1WWCU7WTF384QPMSDQVN00LVMW0S8RCKBMAO6JFA8Q3LUWIQGS9JDHPACALDP0MKT1BGXWEM3C6E2CXQLVE3DSMU0RMOG6AJ49DBW7SGWRJRXOEO2V7GAXAVYJ94NPVIVLKUCNEANI6FN04LPIBH = 36#1GCD4G80SBDWHAD4Z8LDB1WFW9OS8LTW1WPUJ7SGOASW5GK09Q0SUJIGSZLNWVYFL2ZAI2P1GAVYJGFYV8L840YCTCVHV8CH3D8ATFESE0QSF4BBTOIL43NDSVI2NAKY47EPWFHCFC6102ZDXXB7KSUPJO375JBIGK6AR2O83L2I8VR2E7F8WBBWVZQ8FNOJSB65UA8N9TRTXG2SBDZZE94PYO927Q82516RXBDIWWJOH1KJP79VZTWRNWKSIUCOX0AMACH1CKP3Q63FSYXI5IVA5PCY24X87JQUZK5BVF5R006GHM7VITD2MR6VNVV1DB87B6R58UT7USGGEBK93FD2LDB2IITV282TTY9E0ECPHT0OXXEFW1L4U1MOXFY0W20UTS4R7CRPMFR3Q2O9KUGLCJSXP2KKZR7NCRCS8YJF6B5DRJZKEQCMFJNEMRJN457YPHHROLUIMOTYU17EQIRNUMTVEP861KBFHVVSBUGLKVY97MUJPG59938UY3OZ3QVNIQTTAR4GC0ONR891D5GHC1RN7X2ZMBU8LATITWKTCCLXQUV5XCKY1MWSJC2BWOISTFEQBB3D9IMK9L67NVKR0PEX8MAUWWPHPAN8D34I6UWBB0LJ5TH0WVFIJPLN0NMI9P8VRAJ38H5M1BXB79K2WGHG3ZHIVLERQYORYFXRFGT1GWGABGFSOA2K4RV49CYKABS9Q5KQNT8DH6M8UAKV6NU5TDNQLRC9A6WQ9P7B280BC9HQASRCNHQ6WXXJMIX5IPQB8M869CSUR71HELDPO06ZLJ1VT3Q8WEFLRJ7ZA3XKN7W025FK7VTFWKJDBTO4HI4R8UCYKZ8V8CQ4HCR0N842NTOSBUB89RPFKIIBCUIOUQHX0AIZXVDO21D1JVTN5ZI41MVSWGNKHRT2XIDWBAMLYY16VS42V099OC21YRD49VV36RG13KBG8BXT5CEOZR25ERE046DXVT83LZJCT9ERF3C3KR0O1CCN6I0R73GQJMHGPTCXO251PRH div 36#1Z8WII4Z2SVK9AJKUF2BPH7X7PLXZVZ5AYEJM2Q310D2OQ7JSVVKD2XCISD1EZTPJZ9RP7HN1ZSC3LUO99S73R4L3TAQ2T1U929ZDEK6ZK8OOHA8B55O782QFH89ONF9AI6WVEOZQEF9J1NW408U8I4Q2SY6JIV78DYMH8HKQ698RZ2CEM5HZGWRQTC55A2T4WRP5GXFHL845A6ORDNEQTITSG2IYIQQ8DJ6GYHLAQMNRXNRVMKTD07SEKFUJH9GHH3ITJ1CXHM7PI8KUCIRL5DFOPXASQ67UN6AE7OM9PN1DBTAEBYN9HF56H3YTJFHHEO8C87MJVO82RIDDBEBM7PY3IPCFD3SH6K3OX1STHJ3FZGWOJAYYXBWLLA8WUGGNZD6RPZV96SY3L7L9ZL40QBX2JO6EURTQSNCQOUCHUERW5NZEDEPROXL93RKY7S7AGYHGWCK96K1. +36#20EP17ECNO67STZCC9KT0C2I3LSDMLVLSS137OIZBLG7M3AO950P6O42VHHBS0K0M1NUL4MFN31AW93I6PUCIO5XCP1M6DLTAAYKKORC53VAE5IV17QOPK7XNMA6JE08TG36KFTMP04DX4ZB6FFW0DEHE6IWSDCUUFTNUSZKKNYBPK6SM7HHP5AYZK6QC0X23923NZA88MJWIQA5RPBIQQQQNWWNF6TXMU7F35CRZ13JBQYXQY2QMKQYEJM1C010QZRBOVYR7H66SRDUU78LVZVLWVTJ3PQKJXFYSI33JSKLJE68TGFEZ4FJQMQ5XFFV4WE = -36#4D9QCPT56SM0R25D6EL8NX3JURNRU3W6VDCS07ZAWKWJ5OAERU5RMTUN3QB8AFMQA2BFD963HC6FMEB42KXZVNZ6I40ZAK21OSMP5VF5KNZ6ZQ05F8Z7ZG5BGYYKTTX8PQZPIABQ99VSDFPNX7FIWTGQA6RMOHE0BGFD26A7V1IQOC618KSIB2YPTIYARVFTJY52GP2A1G87YF2G1K5D73GV89Z1WHY7TMW6WSWNOMSDF3Y02O0R4U5HK2UR5MNWYW0S8MXGR8YIGS52V21JL0S83QES3ICHYFZRLTF5TR5NWIS7TGIAW07AMK76EPBFH6ISXBHCRYVEMIF47I2UC63NVQJIM428H73PP7HVO1ZENYK2DGEA div -36#266WNAWNDE54GXUSI1Z88OYGOV4A6DS5LOWL3QX353VVXO1CRB. +36#2HWTO0SL8GTGR8FPT4U6ZGVU0GD65NA8W2ZQTBP3YULCNJB18Q = -36#508UUV9HWNJ34Q57D36GF5ZUBA6GT6K6WMDED1UZTHFH6FHG9LYYTOKWFLX3JQTOC3ANEYLC2J7PA15X3CY60RYZJ9I30Y7YQ72 div -36#206382D4B6J5P0SGZ1ZQSRKB0SCONSASEUK9R18MQAQNUVABR7. +-36#BII482JJFRLNIWZJ8Z2ABJ014ZZY8SXUXEX0Z9IZR1N902SMG4JXFOTH6JKMWIG7QTD1G8CAY0KUAWTCN4GRIJV7GZ3WQHP0880Q2CJ8E1BK9AQ35941TWXU09HQPN5SJB75QWZPM1WC8BJVQ4607OMELO5Z9GKBBSTJRTV2TX05EOBPH8W3LBS4L3FMJYTJCEYONR4J3QOE24XC6ISTX1R7VWE88575BSUG1L0TFZWGSJFB4G37KZN3QOEOLHUHVASBH2PU321SCGK5DEOBJIM6O417LHC8X2KT6LX5LKRKQ4YHI0QONJ085YO2PY6SKSA4MU570G1L18VONXDVKSR3B16HOVMDBMEIU6W3M5FQNF60WFGW2PRESPYHBT7J56RKXRK0SGMYGA3JBD6XM5YZ2SJF648HOE92JFNGQMUPK0K3XN3FHBLFKBB9MPIKFME388KPMTDGNV52KIMSNP61KYQFWN1MRA = -36#1AVNUQWFLNPNVQ7RL5W3GTNYOIZ3RM4AWJI9A0XKDUT9Y25IY2 * 36#8UB2Y42CVMCP83REZZYUC8NEV2CORDMXI80UG8MQTTE8Q0YZ7264GEOZF9TKYHQBZVRJJAUUZO3R0O9UA8K85F7I65JYL1Q6EUIRIA2PTCC2TG69NE59R73A59N915HNGB7ISC39X2PZI1OPUZA368VNX8YSY5IW5TORI08LQTTVZ03EA7EFS5KXINVI13GR2EVY2VBS0C3EDV6IE4OV3TQX4NV4N2HT8XJYZPO7BDGGFGO0WEQMQS8A1OOLEK5Y0IP4RWBJ94BRTBN8XLMYH82NBARCILGDG573NQITVNL3AKMK17AP5T3333YDMJ7C398NCN61J45ONTZ39YZRZPETOT0HOM4TSNM7W4LI3QT5R3EQWHNTXL641EADUI5AI2DEOU4T497KPW84Q5JXU5UQR9R6X7K89JTGMAP678THE9RIN. +36#1KERWN2U6927XCNT32S3TBHCW7YH0F37D4T21TVKXBXNP35TQX2M9RK79AVP1FVD92W7MYYJSGR3LQIV987G3E5LTP45YYNLIMYJS3RW41SMSD8PHFTFIIRNYRZW5UABXKE6WY5AMY4T3XCTBWDUCVI7N49ZLJOUV4V = 36#10NICZRIKMO9MVAVHJQ3XUMG60ZKJD1WWRJQ3L5C5395JNN33U3U10NZSYU7F42YO0X9RE0PQ1NEK79UC65ZL4975DK5J2D499QXWMBUUTLPZKQR7Z3WH4TPYL5RDK3AQ5M5VOR874OBWPU8C21LPTNV3GOQSJVPTCAPDB13N04AHJADM8PV94PGFX99VMYXDJJTD0HJNGI2FOZPLX0T div 36#NE31Y773RH9BRPR5SBLR1N2V13W54E77S808AMX2UQESMF0FN. +36#RVIPQLIBP7ZXFEDY1II3CLM6IX24P2PPAN886R1MWS58P1QU4V970CBV5PC4DHEWQK138JLPIZKI6TTNTEC3LHS13O56X1UAKCWSS8DZXKJR33Z1YY1TFD8IDDWGHZHRVKTTV7Q4YZOO0PQP5F6LNJ0DN9I9E9U4PHC5YCRHMUPP1UNARAAY7F1NUEMIJLDY88FP666V0Y8L2C66HPG8VJESLYBFFHBAJLB1OC9CJ68KCY3RXILO597PWT8V9WDHYMGAFF54IN32T2PXB4JJXU4PLP3BA7QRUQIE5I956R0SWHSH0DSO1ZQJSHD2ACPTUZD99ZQZZ1H3I0059X2K52NTEF9WCYFL879S42X61D6WTQZN5UUGSRI8PLWIP7G4JE7Z6PKTLP770788UUV7WW1R0 = -36#3YVOE0IMZDK9CRRRNTI1OKCFIMHZ4A7U1YCHTE5V31KGZH3BHO440U6W688WAMXUKYX4FJ4WM2HLNCXV0CT1LOO67Q2G8XY6KFFENV9KCHSFFP7C70TRYMCC9CYI45KQCZFR1F2X2KDQ5TZDEBBRFZ87NKG1JTLQYZH6V07A2EGKT1TLZAWIIYX1WON73XKU3KUSFGL2CW7OF2GD52P4UH9C3EV2TT3Y2FOR40AQILJID2X7H5MM3R28YFN1IOVQ78LYY8ENJCQY6EX8W6XVB9EG0IKO4AK48AZ6JNXTFH260VTYTCVQ7ZIU2PQ9TN0RXAQBDS3BLZMD3J8ZX85U9XQB1DAQ6Q0U1 * (-36#70UHADTVPBLW3NK9B8VX9H359K61J69HXWYOPAGYILEV353XUNYRGFJR0). +-36#SH87JDWQEIT88UKDFDG4D1I76CNC128MFJZ5GHUIISCDZENG687Y2YRJEDBQ8SOIG12K3GSJ55VWQ5EDZBHY1IUIBQ57VVAUOABU24XR6Q62RHKCOVQ9GNX81B81XIEZ4TAR3XQ6AYNBJUI2AXZKMF3S9VMZ4MPX7LFRDC6N3I3LZV28245HUU4S58KMXYQM9NNN0AFS8CLJP9GW86IWTG4GPMZTFBFEP06A73HH0VXJOGU0HN3997Y4E6K5ZF3HFY6POCX3XZ4P9Z6JR82D97FZ2FS10JDFJJ5IAERXNAS80XI8Q3Z9Y3SO4ASRPJ9AE6963CPTG = -36#2MFJZNB3IKGAQ7NK9843B6URYKYJOZ5O5YM2HAW1PMKOBNNNNM * 36#AUUDQA068FBZDCHNJBQJJK8COV9K4LHBUUZZJG8Z1LUMSIF931ZY40PPZDSY1ONZ5XLG39Q65WZCJLMW28AV5HLQ5CTYCT6OSSOJAL7XMEJDRF00CCE1HFAO51BOV4RWC2O05LT96RYEQZ2E7R58G28QUAR9EGEGAF8KP7MJAFM9ZSUK1BDUV50JF35YU67FOZD5L8EGJ26L7B4U81QQPT9DZ3W6TPU7R89V89KEIG9YTJNMFGZXEXQW5JLS6MF3RNPBI51VH5JAVF4ODCF5FAHM. +36#FV5MAVTDF6941XJYSA63BZD5XX96D7VL2AUYHTZ5VINS4AN4843BN96HHAPAA3J98UAISWL8JME4LBGAXUBXM98TTYAVK4JQGXPL27E3775P3NHDOV1PAHL958JTXW1PLQFC26G51I5L2PGGX2JQ38PWGJXSDVFVLW2SABEK1BKL63NNAJENL9ST4EI7GS0JELIQJMEGS5ALHO8QSU39VE1FLPEVMSWP1NZ9BIRSIYU8UJI776MSXV6BQ8YBWU8EFCSQZ5R60UU4YCC5A4G29KBQEI3YZIXARAPQYL1TCWCYYY9FKA2EQTE9JJ2HXXYWQ55C5OQ8BI0M6PRONNDOUJHZ3AEGC6L2YZD81OTWDTCMV9R4407D36G46PJRSGVXJZTPNC34ZS7W1LYJETHRUYT6KM93HUX2738UFJTJXDS352Q7UMAQN5XWPMBYWMD0FSHGTTL1AT3UPTF4UJKY6RJ80R3IK89QXXW1D1881420PP2LWME0S7BAX8URFCBW1B04C6031GDEFSS11EK5R63FNPVMWH08GRYM7B25UDPQ2KJBEHLRQ5C0Q3H0IBHFZQ2DHE6YMR862K55F3BW90QUSA6IP7VX = -36#98KODZGGOLVIXXKH9HAZQF2ECHSJHYLXISMGWC20YOZHEQZAR7BXPTP7WDNM8729NCCCKS9GBZBG9YERLJI5YAAXFILEA0RM1YS3HDG6JTFHDQSUVRJNLN1A9933LUK7RP28A2CK8AS85NA5YQTJF0M9Q959HBUKJ9K0JTPEHJCAKXH2WPCCSKX5QDU2GU4QC7AK9IAMRX7U61PDZKBE4ZIVHOF3A7OQR9AI0T4IDI0CU93DG6MOKME4Y5D0OCGRB2X3YLJ4PNZL9GD09FVHT0G7OC35NHYXJN63390CO34AA7ZAYTOZB4PF1W3DWMG69HMJT8R711JPLCM2V18OZFC16QUVL7D8XP1W84NCP6QHKUULL3R4YNS30420JJLVLEBQY72S6PUERFMGUDV5Y02WRVE7F9KJQLSAKOUKUSY9DK2XUUZPRT7MXA4RJGKWILDVIQWNXJW6PDWHLQATNCXJW7O5945PYJXCSYR2OU831PUX3LP53A0FBJDXPM4Z4EE7MTVZOA1OJLVMZQA0T94V9X3N61CYIHSOJ2H6F53RLYZPDR38CGKF11P90NFL8QQ9LAXFC6NUI53V9R0BBGLWMHCLFTHWMPLLRWKF5GX57TT3K18TTIRQ1KZL2T2RU2S7FZQMUA8PFGLK3 div -36#KYMZIHRRVWW00ULCGMXPJUT25NKLYNK3XZQ4SI4P5W4Z47VYN. +36#BW6FPYA0L38TG4JYLBPP1EJQ7C0TUVUKEZ2B90PPGRLRUNVLENV0ORQP6DB4X5ZUGOQT4H9UF64DYEL2UJRLSA8PRGAB4NAMCYSCOC3UC6HLFSU2KJC8YRR2OTLYTASX5PB11D7YLRV6G6TNGRIP63BZQE8GDD2YWZ5CCMXB4J1JNUKUH3NEUCEIL962L2B5XXE340EL4FCRNGYPK073ROOOPO75TXHBILP3JBPNE0JFHQAMZTXOHOLHERHEU83BZR0U893OPPC96TOA6GWZ4SV9NYB7WZG2RRW0ETH4LLKTBX534NEZO23XDC0Q6NPRD9HPGYNLOAU6G3RHEWU7X2SPXHVTAU3EZJWSIO87P1DFC5R5KUJ0VBQCFMV464ZRRBFZQYQYR5AHP1EBVHSMBHBW6ME1MUBMV1KYKF8GXR8URX7XFKPYLFM265URZJ466YN8O = 36#1FN9M9OP3JM4DNKHZHZJ57QHG5JJ7F58UPWGIM0HWB2MSNRE6W * 36#8AGM4YO4S5MCGACXYNENZ10RO4KJ12QU24QG7DJIG6A6SMYRRGSY4KWI2RNYN5RJ98LXWRASAU4A0V6YC5VR55J2FCFMAB1KEYVQI63WLV6NMPWH1Y9JXXPQL418T2EEPKU92Z3TBHJIV24FPXW2YTYSBFD8C11BMO4NZN693AQX4T3PFWX567V61N3LMSPTKQIMU6VNZRO1DJGFRAG8CWGT05C7KXP97ONRK4XMPRRQR7173D7RCMTV8Y3F9BSL9JZPCTL7FNMM797S39QI6EFCXLL9PHYSH6RI3ARVTCC7E14MR1F5OEJ52RVHI9KQERMMF87HMQ26YTIQEZKLK67Q2P1NI3GM87SKCWOA8BRNS14GC4SPMISF9V6PBHQQ97CA8D76VNHLQ7T0RNL3. +36#NDY96Y99EQOGQH8W2VSR7CPLUF1T14QOYYIR4K61MEOWRCWU0M0ZT4GYF58DB3243M54GMXO85R4QRWGCQKAYPCL5IGD56LRRT = 36#UA1PXVT8KITEC6R7X8Z5ZD16EWZ9J8I1KPU97EQ0CQA9ZFR7H * 36#RT119VW210HZZ9GEZ8RX12BZ7AHY8TJRRSNRCGUN4HXJ0BHXP. +-36#6C9XA6LRLT8KOHDVMON31YUDQBXZJU2SGDQYEN0AYSVP0U9B1ISN66HKNXTN47K8J1573G2R9BE9ALN3H523TY52HF1W3WH2OVG5B3HAXLHNGPMVXMSFXJA0ZHD6D374UH72F1MSYPGV3FIFVY7UNSE4OC59L1C4DRT852H3AWYHYI67ZNHREA1HB17TS8EJ8NRIOCXKQ45K2GZ5SUF1531UF3HZ2NCUBBW97RY3UI7ZU4EJYLFIZPLE4TTJG7S91ISOM06ZDJKL2R3AW5FT001YMJMTO9EJG1EQXL6MEA8MFAU3ZZAFCARWQ3EPLB7E5K0OQ1X9UBIDRV1URF4IBA9WPJOCTJE43YQY5IYXEHBP9TQRD9XU1SEU7F2X3DLC561LFV3OMBUIPCQY1RV3H2K8ES7J1OVGFXDY72NEZU9WGBI4RC6TWA62DG5NP2IKIBXKWDQCA4MZ8HAUBLHRN4P4KVRVOBSHOPKV41GJC8AXP9L3OI27ZY1MACFWD6XTWWHYRKFSAZGORMK85JZQ1ALEG4K5J444X1QVWEJZMN7MVUSKX2NUC2S1L0SKB4LICZHREE4XBYGEQOPV52J7VOMRDI7QB0BCFB4Y59GDC8LN1YO69GB8A9ACB9G8N2MD7V6X0JNQIBPQ4T64HLSTDOZ6ZP6RTFKLFLPA2FMY3ZGNSY7L5RTZB148VQQQ772DWT85PXMS2MAYYHXP7I5OCNV0D2VI51B8ZRTPSP5I5CUFA3GG0JC3UZGGL1PTKQE40WRFSR965RPSKFNW1GXT6P4M6IH1RPPTI0W5M1F9X712DB579DWX4CFWNYVMH9N3O5JJ6VNMQULFOGCPDFQ5SHF8UVWYI1ZYP9AY5EA8T4IIG95Q0RRSVEDCKG5BVVKD397HI5BOH6H5F4ZXP53HVH86RETN7A3NQMR = -36#7406SYBYDR2FXV19T9G8VGKP8LNUMT68GJ4PB77DQ0P493LSX50RWW7ULNRB8W3JEHWCOBTHSE27XC4MQGNEYTZL4F91FI3NH4VXYEWHHLDLCBWVGC17N1NCBS9RQDMRU1DPKZ74JH7IC8O17MT5MH2ENVD8VXM9S1IHJ3LG03DMT37B7M1WVMNH7GCJSQNFMP7UIE80U0TLT3JC5CM8R3DSNV1KBFFAUTY9XY0K54RIEAW9I0Q8YOTW9GN2M5T1TJ51NHRK1QQD59RROIJB2YWUU73ZGSENTCFEMHD08S82CIB84M45J9SBOIVND46DV0230ZXCQAYP3U3V4DDHREY665IOX6VVDM6A1J2HE2RGHA78U7VEASQLC2QU44KAD9FXKGQF4NET2XBX28GA6FJUKSD7O32BQLV0LE3HGKXBR8IT6QYNOR2E8S8EZXTPMKODAQ1B30HK4TJ7IS9YF6A15PVMDLOFTL6W32LENERQTJR * 36#W3ME11OEWCDC9YVTK3NA8251SXEF4K79YWRHPYLBAY8NWR6FHZXYWLFEC5NR2N4DOE0MS4RDEJU3468IX9KR3WAB4EU2UT48KUE07YZQQ5LV5VN2I7C96U73HRQVP2ER2SW8BP3D5M4RUMAK7OFIRGRG01EGO2T5KSTZ704SYQAHSHTKUJVA08E5WQQ85T6SCVOR4PWDSJINTNGZU7LAOM192GF2F3FYUA2M2DO09E2HLFDR4ANLGWXLU09R0EJXP1I61U8VRLEUV55YZW65KY42OXB6AH27OV5WP7JJIKXK0DAWX7372A63Z7LRH9VXFH36Y6TEXF0TJM9CUIRHP4LPGDLFHRMXQ6QXU37ZECQO3XE60LWNRDVPYQZZNRQUH2X73JWYUASGO1HFE1IB8G5ZFW9S7NX6EE3WWFFAOBON6AWV5OMD. +36#PFXSMH4NXGGNRYOZ7O9ABU2A6SVLGDJR89LO5GPCE2CU3N4PW4D95HX7OMRXBRCTI80VUAP0HPXZTG3XA2QUO1YBUPCAO8M69819UC2SF9LANAALU0AOVP5UICKLWLQJ3MIEA14ZBH87W4CKBUH8JHPECUPYBGHDDQ1PWRWXNPUPV051MVM153O77OA1LBDXOJG65K3B9BGR6NAYMDZP28TC39Z9KP8NYDKUSDEERO03AV2XDA39DIRP6N0KJKSXRG86UVUJ518GVUUSPG4KS2WQN = 36#73V93DCQEXTJAGASMKCXNYRTZKDDLQZUMSB07XYCL38HAVKVH * 36#3KVBVE2SO7LMS9K940WUTCYW626RNL7R109QLEMIPH52VIIF5OG1KQ6AUPGGQN8MWAT2GJLM96166P88L862V3VMM6066T0DAXR3M7OJYBBC560AIQJ1FAX4SZQEDG1RHVKT01Q0HQ4ZPT57XUGYDJ86JUVOCIMIX8L2X284E7BD50WXX17VQ2Z1RY2KHX505PH2HXZYBRMK6K6MYIR9TTDZEVIYWT6UIS4S9C6VV. +36#P7FHYJOAKEB05EXNBDYXNTAETKTZ5ZYPU4CAZ5CM7DB49R0DTN3C0BAZ3YR2BAIPFNHII79M247UZ592VA3N1I2OIMVASQ8FGUWKNYXAUM3YANBTQ5X2731KVX1V81KYWCAFX68E0UO2Z2ZMX9ZII46M26VDGCZWWTRS0194 = 36#G68TOMCXFR659OJI052I3NKVYLYDAI0ZARA4SJNMZHR8UYKJMRMRXK9HWTV5 * 36#1K3THUJ1TJAR0DN11M0HF2RZ6RZMAHA4R0RINA9Y7RDSK7DO4OOED4DI0PUTAM1BZSE3WCQWBYZFTPNG31KHHBPW84HWF3PA9H3B8Y0QWHJO8. +-36#5F6JWTW8UTXL857LTOQK31AKPR4GBWEE35RKCKL2V81F6CRSJELD7C7JEZLBTEUMTG8E5WOS79E6UV25PRSKIKQCZ8BYHQ6KQ6YH5YUQ5DSUGH1RSQIV0M3ZTZ5VBNMHMMI0IK9LJL8JQOU4KHK20VRVZ7V3IV8LS92PSY1BHEF2STD6M24D8LSCQ2HTOED9EIPS14UNESFET6Z4Q87OY5KPHXAKBHS7LQLNF = 36#22ZVHR41XJ6SWYBCCJ75QRLLJPCVGHLZB40I2B582PH2AQX44AEU0T5CE13XTE8Z3X2AORGBE5I2IL213FHCLMC4X6DX3QK72L7C7X7MYU3OWMAHI21USV1WIZ8UZOVKZGVTDOGYSYARX119E3J4GP1K3AXBYG2AZOSAKZ4NQEFRRAYSXK9I7NFP5ZRQDQAJT9X9CHIHZ3F7RPHQM8RUZAW5IZPKYV2EIHWKXHUQONIV3VUEK8P0KTWG6E0K8FQMAH71E6FA5Q1YVEAOIN1IR div -36#DTZ1QZMBMDSW5PVTNJLBN45I2P16Q9RUVRJRGM0ROR3HI1S9. +36#DB78CJEAEXFPSWJZ7UDY8EJCHGARSR8W2CP7DUQWGGT5Q8JX6AP5ZRE4E7SBV4FF3568VIEIJO8T1E182YUWD9AS1H9XURH9TCRSIAWTM7CCWB2Q0SC43BWGPIAXWVW94WVYF4KATSF2VVQHISVHU2J24CQHTYE356407P3MRM46HGIBEVHL70VXY3FYUBCRZTKZDZM4PN3PWJ61QJSGO6ZLQ2HN3A13CGF9QNOR41DS25MHGBOT0KPMZUKJV8B786XKT161G4NJV9UYHY3UW1ICPK4GPMCKN9XTNWZSCDJIEFP9WPMQ4EPZUZKMYB7I52V4MNA0RCWN99A7UVWPF63S43PP3L90RYNSEMM30PHVP9FNWASKH3BP8XDME4AYX3ECZPH6VEBY7X7PPORO9AOTT9L8VOP3ER7MB71P1RNDB94Q2HPNFDAFPQ6GCYCSYDG8UFCWDU8IDSGA88ZO3SI6JPKAVDX5436BDS4MGOVXMTDLRIYW7K3QHNXN2XTXGF5OG0XIN0L2NE9TTROGURN55RNTZE0OR40DSNJYE9R42K969LTO1S7UTJFIKHYD7WM1LAAE7LW99WTRBSG0KY1SHUCIT2J2GF1VNKYWY48IZ3VN9Q0G20QVF7PBL53B0N43HF7YKX1FG2S6JX4U4PNL1G7HYLBETO8J4VRGYA1FE2BUDKWCMNTANB9MIPMZF6ORZU5R45H6W26RCT7DLBXYG480CKG7W35G9IPXXPAGE6PQGDWMVS44NG8ER8D379G1SI13QUX2UL1DNICILATWXCLAVQPPGUN181NOZ3N7SR0OUUO35IS673D1KADK7YFQN0HC81XGMICQEUW9T9OBQGN9GSZQ9Z6PRJPZEVXPZAF9NWDD4NWQY1J0KFER6KAIEM0CWZLTFTFYVRGMDTY4L9UH3AX8PPYL6V8BLR4A3QOXYHTRDM00VNRZS = 36#49UXCEPSI7R86VQFHS8KRBSD0T9C2RRE4VTGJDDL709EOIMAUUFDPLR24JT9OEJNA2SIFGSNWSHFPJFJSQHUFG5BZKOUSCCZDLRR93LHM0YPI6KX69PNC6PF2BL6P7VNLDQRF05ILYZMHAE5I5GOE5IMD2WRZHJIOMMRYVZK8R5KQJ2LJU33K5JPI8RYNKFRWNWVSZEBAT0U6HM2SAM6YFVU6V329HZL4X5XNNN5EE3PUEOL88SX96GOO91YD7KOAKI8G8PW5NMHOOTU9H87GOH5FPA7HVOZYVW94D60SGC7BWBS0SDICC9F3BR387GBOWXK1OI9JIS5ANGTN2ZBQUYH6BSWXT5NVNJ9GH13EHCA4AO61JWCF1L3IVTJ3U3PCAJA88A996E9YYYNYZOIEK0N29FQ82I8V05MWTDTAVIIIEIF4MS4JY9IA920QNN1UH1F4XU7AWW6HGEEV6DJ1JKGFS06ZO5ERKDCLATYPKVOXVCDRQ9G8CDVARW8ALQNAQF2R9CGKEIGVYD1B6L31EGA010PSQGOJZ4W2VE2K6NAWJD0IIP6O6ZYJ8B5J3LAAA4MQS9AA5WRAZ4UTIKC767C72VZUM0OR59TNW7QZ2O8FK8EMDIGLSOUY8DZXLWYGXLDQ2BVVGJGCF9Q9QF0YP31M8AU2J1XRCYJ7DEPRCDGY0ETAKNK6WXPO8Q3QVR125M45359V7X7F0G2CE638MDEOK4D4FTJQ9DNMEAIM4JI6QA5DBU0XI4Q1P594Z43YCKIYVS53X3QTRAECFUG1XWDAZSM1O7ICTT39XETFFC7DJW015F8AABCOHR4TGEZ1N3ZD1V5VFL1OI44GBPU1HESQAGZI8E7QS7U437XID755PVE5YQVZ2BRDT8PC24J09W2FPVDVW41X79U654HTE1MIC2YLEDY4U3MQFUFITA740W5KZKHZFLQQI3WDYKL9L6T3LWNFUK721NWH659C7LBJDSA4YLJTGDX4S4NNLI8YB8YGC03HWBNJM0M732VWZN7WM0QM2JGQWN04TJOMA978A7WC5TRJQDMANTX2F4FRH9LTG64RYYW88SLHBSQHG0Z7XY02234GNDAVMHGTT74R67GU6855EVJBEOGIPXO4LUFWY0TQGPOW7DAO2DWN9FMT5YA54EH3GFN70E31H6GCQQZ9OC1S9A69ROEUCI4WG6N17HF60Z6XD8T8CSRDHHDANYS0A0SHC7B8P07YNJ4MVLSS0RI58QPW93LI7DVBTBE0AGLAWAVCS5JRGSJYLB4QQDC3VYGH2H5B3KH7Z0V90MC071EQVUAWSR0K39V9IGW328 div 36#BK41FR4CSZKUKX10I9D3BLVTQ0VHY9CFQPB10VL1ESXJTO30D8DOGTDQP5ESBE4VO073AMLQIFRXGVNZ5AY7MK3MN3BZH8RGLUD19YWPHUHXZ0BJM9U83KTTLWM23DHJBDB8U1KLXD72M36KZDV4GIIO12VNJC2SDK5ROITBOGXLBNFH269NHVCCAPOB2ORT8DRI6U9999ABVCMIN53S4EF1IX4D5TKIA5PZV7IB9T1Q08TBIYI2RB8GH4RSLMXYG3U32D7B524RZDFSOB6IJ6ZLZYK4SWVXBITWTQSGGMJQJE9K3DWTT5U2ZQ46JX94X83WCZGN2I1U9XOGW29VR60GRIVEYJA4T2MCHR3083JEL1LV6VXRM8. +36#DJ6WF33XRQKTGZITLWJ98J1A02XG8JQ93IUN1KVTLX9B1I3XFLJDR1HIUOB3BCSM0QOG89K4M773EVJLCO2GU55G33LIRQYW4SGIRJFPG80TRKW5LOARV4GA8XEA9DRJJE3BPK9KNZQ5KB3NIR8 = -36#1ZUU7T73KLBHW34GY0API98PAGWHIBVHG83VLVFBAD356W8M3F26HW27AQ3YD13ZEEHSIHSKGRXRD5SYBSHM4KOAALI7PPRMG9ZC0669UKQDG77DDVP5T9T94TA469AXYJQKHRBSZ823QBCNKA06V1CA5RFFWFFI8P9RUDX58LJ3K4T1OF33AMGO2RA8TIBJOZON4Z2LMP37VEKRQKXECAK2B2VUJ64 div -36#5B5D53Z859NY65G10EEE5K2P4U8YGPTX494R9PPKS7BJQ9ENDRAPKTF79MDL2YDH7TRDNMGLKDQN. +-36#2UYGCI3YIPZB72K85HA9JP5N9B7N67MRXA8F0BAY00TC5KIEA8 = -36#7X08O4IB0XS3DON695OL8HC3EI26A26NW5L6S63Z2LBS67XI11EY6DCMUO2JE5UBW6WIPJJQNJRFEPBYHLH81BMSAZNQZ56JE4NTRMXKA78YK1296W8OT8V5AURXG0ZY65U8N9PQ73F6O25T5SJUBX1U9U9CZ3ANRB1FTGWGJRXSCPF1B4JMADMD21J39X4KI6E7ZUL53AZGDFVSPICQ6KC9AQMRIXUO2W7Y4AZBAHKQUM472UF8CQRYOY8EKEO4HWN22IS4I11JTOIM41F8XIP9DE9R5LNXNV96M0COMVNTU3EVPUCFK1PG09VRMCOPE1RZ540QDP8TE6M8J37FYFA4XQ618JCJ584K2U9MLDRYBH61OV1CDLSI7GY4NXM8XN5H6CQY6TOQQIT269KTDUWA5LV7UO div 36#2RNLKP6U22E324F39513SAVH5XXA6EJEN24Y5FSB9FSJJ46KJD6DK0NUAEBRFSE7VRLY265NX7Z3KD6E4XPFZREN0DGB3KE60LTQ36P2U12M691HLO51FOAXYX34K7JLASHMS6Z8ERCLCUE74KZXLJJALBW1NUOKHELU8SZ0WDG8QKB62FWC4PYCYSNJ64HX8ZUFEYNYRMOFP3FD1ILW4VVEH35L6VO9KMT09XTTNJCTTE2GR4XI13HEZDQLF9V0W5X4XGNSHPBIF6DZ22NIWXDTXI1ADJ96N9GC90DRETJHKHRKGOQ8O33JCLJ6LD8LFKMECYFFWJ49RX1S6J9RWBNPYRNE9VHDQYMI59TRQ5FBC. +36#8Y3HQVAD3V1LEPMRZ5LY1B3J1T2YZ4PKA2LF8CA6ZZDU662RK = -36#1LEACVXHYGSX9AARP6HPLYPXATR5XWDE6EOD02QZXCB39HTBWYV2YWX0PMNS4GDNMY0XUKQR4YVG6BK4O59AG31TPPJ467BS4NCNAKF4361PLAPKB80E9P8ZZWFWSC2FD9GDWTM4U2MU3CTX06NQV61Z4ZYCE0T8O3LS5L7E63KJR9UV9VB34OCC7T35OI53EXA7I678Z90ZIW7YB6HC7KD7ECC924RRGSEIG8MKAUTCN4W8LDGDNNX3U0G3O8WXV45E4WDJQXUL4Y2C83VQ89CL6A2EOU3XE2NK16HTMWFS6QJJT61EOJD6SU82KXRJTVA91P9TL5AGB3XONHVRM3UG4OYQ3ZBGQB43OYSULPADELX12B06XYSJRQFQ8DDVBBI2QJTB5HQNC3TN92NVG5DPZWSTKBXBZCTIJDK2WKDKE3VODLXHGSSXDQJ3AWLDI7J26APFYTSVMEYXPVTC0IQ611OH5V808BVWRBQ4Q5M26MMXRBTFQXFDT8G899TLDCDCB62FV9WOYOT10S84REV4 div -36#6EXZCP3J4ZK0RU7F2ECHQ5MGQRAW09EB8RIRPQMXNXJ49109VXI9E3TFZRVI41AFSCM5KJTADCN9W7BDBODAUWXS4OC9SLKW9ZRLJ7RCYA4XZYW5V8EBW1K0D39QZPEHSZZWQQYIMUIS1VOFQU9ZED177IHXMAZXUHXKKBTP0C04UGR4NR0C4TDE56VKE03JXAUUPI6X2CO7QFXB3H8Y385O8HRIX8C5OK5BKT1X1CN3MKXI7VV9NREWM6CS0S1JD571KVBSA5X2EDRV7UAPEM92YUVHIGK4FOUPEI7ZOL0MOULBQOQYRKO9PBTEJG1ABA7RESQIB6D23YIDM433AJLJKQYXF02KLDW4WTFF348FIK0YW8ZT4OVKHIODF0NS39WZNXWGCP5LD4OXTS6SN0SEFA0YJDBMMSY686BEGXEBDOJ887NOZKLI31D7BKJY66XYBZ915KNGG5INN6L7XK5FQ2QUML1YJYFHFJK. +36#1ODG1XULXK2RMOB8I304ZGN8ZXOUC5Z87R8LX068XXG4D69UXSBYXC0FZOYUXA2228R69LD3DS5NEAI4OPRQLTMU8GA4LBRICYQJ16RLZQ7CEL8L65P3A4FBSZ08W39QIS7696AS8K3YTX72ASF212YE3GWJPNN3IJOZMI0QA6GOLJNN1DVEAMY5922XWDQ7M5B1IA6I6FY8M7PI5AF3SNWKK7U2LM1Y5I6CKT40HNCTNB2DN02GHQ8NOTDMTULVJTPCX363T4ECU5WUELFP85POXMS34E4Y7C6ZHC0A5LXVB5DEMHCMR1KU5K6E0IWWG5JWZDMCZJ4MPFDNSE8REZ0UCWPV4N2VO9ZE75DU46WBS78EY67T347K0P72KDD297WVJHMWCXOAX3M0TYQPBNBAMYF812GYNCB34C6NTJCXTSUHMF83WRMP5PX84HEFP6UVRHOSNN0HMPOQFXYNMQTZNZJDQ7UCSTDXI2I4G6HV5BKNTCFYJA1E9D138597JA6U7K7UK03OQVZAQ616P72VB0KL6NOST47JRLDIWSA41DVDA570BJF2CCR9G9FROS3RXP1GIA4CQYF829BARV7CV5GN = -36#D0HYQCYPBM1JBRLMAMZCI09Y4JYUCZJ7HR6OZX9NEMKNSJLSGBXGXZW9VQV8UCWMGOYPU1NKMOTG64P61B9OBABYJ4SKQFTFFFO1HVIASJARR5YONISY2N47ZP9J5WUG9AMT6EMG46P7NO0ZB9ZGZW90XJNBQRTIVATSRMLPDKVJR5F83M5BD172H94FIT7K1EIDZL8KXEGT9T5Q27BMUFAXP983X1NS7HDHRB8PLKYSGKI68Y791E3ELFHE7ANIHUW6MGWNPIJY29CLXH4P90SLS0L5PFH0UKCUJNNW9Q3WRAMGTZD6463NQYX3NS8EXX1GTOCA44XAK3L2XIN564DKGSD3XLV5TXBWZHYCH9RYDVMLU8Q3V2722WTAVUYFR2O7S7S5YEXP5XJB61B0JY09DTJL98QUSA1XO2MEMM9X66BMARMK6SW1JDAP833HF32U4G5HUA2VQU4EKW07U9TUMC8FDWE7UYU49SB7NZQZURXURXNUX6Z2B9S5GT9SE46NHB20HKA0UW2WAHYF96C5YJM5OOJHWPEZ9D69050XG9JXYWTXJ8WOVQHAZ5BH88I0BNRUG0GZKZ8YCL8VANZSR7DYV7O83GRDQ3P6059SK81G79JDP146R6GJG3MTFG5WTZCV1RI5 div -36#7RCZ2X60P4I0HSS8ZETK697JBCIDLMCT59D4X68T5A3GUFUYJ. +36#ZNCMMUZVRGC30EZLJ3EU17WPWLQAVQY0YSO67CPKD2YY84RIE5ASKFGXJAJSAHA2UEOSDNIR2YEHBKMMSRXDVJ6IWJBY10D3PUCYBBEWLJ1UGMLVFITTT13NLET4AL2GE0GMQ2NV9RWLXGKPUQ1F2GWZVL64LBPWJSIQ4OIVM8CP97W3797FSVFFVC7X19USN83URBZ74CQ1FNUL0YDWCYDWHPLA92WU2BMFEQ8R1VRZYPK236QH0MTC3BDMIXXDHM1W4TT1HF9V3YAMRP915QHVFJLO1K3OSA6QREXGD2HLH0UGFGMZKIMWF9MJ02FD51ET5ZOK403DXI8ZZJOVKZEVJ6K07PQ86IFLVE00K8JFINOLY7SZ4WA65Z4LDTTYFSE9RB2UAPR5GAG30QA51R7H5BRKG76324L1XYP5WWR1LX0RW72NC8H44PZDPE0HA5NSLZYIW7BYEJUTRGBF6H66LCIDX32YHGXVDZEFHGX59891V366998XJ8KEYL3KAV06CP8HBSYWHM1IHRZBSW102PEI5D8I2XK9A6E7A3BNIT6C270HK3NMOTXZD7X8U8ZP3HDLU7QW2LXG3ERE7JHNXCBI81R9UN5RNCKO8Y5T79BIKJXO68YFXXAHDRFU3KDE2EG8PI2V9ZUVOBZ6SGFE7YN4PHZK209IIO8X7ELTMMF1A3QNPSRCODN71BJOK627NY7L2LL3VKTLTETXFFA35GHXKAKMIGIEAA5SF4CCJU498SHUXN4P6JJV47G6D65AV7LZEZ7QTX8A1AVMMUAUPR5QO7Q940VFEB9EJVA1WVMPG7DERTNPB61M6H0ONIOE4YGUKSR9W3R51X02MTA9VUY5L0NT811LNL9FCZL3B7HU7KQNZ2V30E7D6OZRFWI2W5IVLT44H5AIIH23D38LZE4FCBHCWC0NTNJYCIWE0Z1LY9UDOVRRTBOQ487GFN03OOZYST1GEVXWGSAOUIZ8M0BQH7GHAT3RAP08C39JDYYHSA0BZJC8ZU0L122A23IMKK4LACDLBKGGOUTMRUYFI209PZWAMC2RTTRQZ2Q7WVWPKLO7LT0PBROWXUGFI7D93BPKDKN16TXTK7824GH2Y33LMXSX79JGD3WMG2DP9YRUUYHUC4ZOD7WFYO82WDMCS6ZO0N3SK34C9SZR0FCA0HK6Z653DSEEUO7R6Z1UREW4M2UIX9IK02L7XO = 36#2ZRLCWBI4K9VE82JC96OZ2ILKLGQ6P2WJ9DDDGZCJQVKAUWABG * 36#BWPKW6TDDR6O62NRKGWX1FSWL6R4HQMI5R5NV82AL8ULBVM42DHRH9TKZF5JTIOSCYSBWO0VLI370E9S5IMOWOT1OJ0271WSBS6UKZ0M73P4PZHJIFDKQC53HSGKE2KW0TUXS0Z8PYRVJ88W2MDFFAVCS0PGKWQ0CBRU1PBDGSZQITR35M1P2FZPJQRL2SOEMDGDW6Y87SBYQA37G0323NSHLK9R3TVPN5IZ2F1IAOV9O0BS6MY1NJOWY21YPAKVGXAAMD27B339GG64X44UXINKRMK8NJN3TM60U17HMS5OY1UJJPZRDG2QDMBVN0A42KKOC62ZLL12BPFVURURM64AL0IJ0WP1QWT4EXAO5BDW0Y3VZZA4F4OU3QUOXMNYJS9CP1OZ2OPFALWHRCPS7H0X6G5V7KJFPHHALTQAAM14PJS1XD2S35ORO7AMR8N1Q049NAE6FBUD2SFY4OIRWVLEJIQWWAKJY03OZ2KU1AG2TURPW5M4AIP2M59F2GSVA1DC76YWQ9ZVT8ZUQHZED8UN389PHLSPV4JNLRZD8QI0UH4574WBGWID3ARL98R6M8DXA90P7MXT9JJARR0X2LUHLRPSAGJTXMY87CRX6NUZRKNBYSJL01GIL63921MP39LIIP8D57Z3OBGOWJ80LUIT477DXM3MM5NDXS9D5XBWV4O27YWWUV9ZGXKRTW5RLVDZXCPF57W7GXX6RBXJ2TADZOJ3PR022YKCLLPAFEZYYOM6ZI1ZBJHM5KH81QBYZHX7UIPYALLEURT0QL94ZXF1VH2DSMWYYWRQOMYTX1W7VO1LK3TPFTJ1MZKYRN9SDDQCLXHMZVRAF22GFCB5DGFI8I191HQPT8OY45J46OTLLHR9N8MFXRB5BHZZOO0BDBR33XOD3HWP4LRHJ4LHHSDC7N5FXYBMKNMQX7ALXJUTEVLM45AHOU8YXM23APPHIAVH95GHL5R7L2F1IY05OISS25CVEWI2EOAT3ZGUFH4F71OZA7DTNT2KJWE5THILWQD253NVJZ5YIOCB3H65E4R4PFZ1KDRHS703OC8ULDHVVC8A8V9CVGJFX85SVVPDY4FLT04XK81XVN2J4DIQMRU159V1KOGIN8MJOSZ51KMFJ1WWEB3V5ID4ZPL43UMTDWHZY3F04OJ1X. +36#CHECB5KYU4V5UWS2PURUKXIJ7XP2WF5NXHEKRG9RKS7ZT4X8XJHZRNEQB63YNYVE8488HOKXKOMYPEM3J99QV35TGG4Q2M68EI2RU5OUAMMGXV4V3E93TRL9TV3X0YO8WPV2975NL4F3XYLJGO6W8NNPTWC97L3HB90N8L6M4I88CUJEN60N7WUSBLOELVIFTE6WJOA0GN0Q88ZGG7QS68EYN6III3DGZZ5H978TTTO8FK8GAYZRNZQBUB2BVU2HMYQH9F6HV8I90GTHWP78S3N4BL6IIVKUXTF2WV3TEHWLPLJYTCRN3ADJSSCDN4A77IM5LLD56EW5JRJFFQ5BMWT65PGG2WK2UA0QP5NT21C8VY7WDEAN28854KP6ZLO0S9L4PX2B7RE8ENW6KRNW5NRGWZEVAZURO4Y24X223BRW38NHH20QOHCPG2LCR3OPNUOGSA76R78XEQ2YNP1665XYNDNKIBVL4XDO5QUMQI3JLAMSW9CW5D1 = -36#NCNNS1D2WC6FMBN1N2T1LCYGQK5RYXZRIAEQ6T39ASQI93O0TCOXI89WV61WQVSYA9WK9DX7D0B6KM9QP2QZ4YOVXPZ5QOKGBN9TICK5ZCNEVCG5AS0T8EQ8PGZJUEIN1TSOC4JAKLN232C88ZFQ0Y0BGKBX09AOCKNYX26TND1WY2MCJOT1DTTNGL3S7DGZ6IOKSTNDVDBU0UVDVXHVT5ONYY7ZV7XL30YUT7AXBUYX122VF7VE6R735EF24J4SLG8OFL9AJSFBXZF48OFKHZ63XLBEKBZTAUVZIN4OTNHM9VZDF5D185UX0F904BEI7WIV06YO8RT66K7TBFM542UFOOW93QK434DPLT4TVV3ESFHT7JJL0AIZDX6BC7M7BO0BU43RHPSY13E9H4KKN6PQUW7B8D385BZW190F323EYBKZJ7V6SGP7I4PXMOQ3ACTZW77YFKB26ZJ845OWNCY3CI6KGC662U0Q7T6V6ZB93O6SXGJHYS0ZXASZEUUD3F24J9XBOJ9B70CBYXKLQPXKDELH0JMMS4KNIECR div -36#1VCC0TZ010MA10H4VWLSUJPX4O6DXJ342HLYN35DA9FA195SLR. +36#3UJ10ZW4WFEBP9WZM9QFMXZKFKGP44P9D6YPLVHO6IQV12I9AQZ8PMZFVIU39W74R4IKWGU7MVZ9P2I2QPR668J54XIM2KUK57W18BKOK6UE8F2AJR8M0R2V334GL00LQIMGNQK5RA9D6BXI2NMEDGXGXJ5R2GHZS2ZDP2F2ARFTCE9L74ZKAPJ7GBI2AL30AKL76TII0UKVC0FHMBFONS446W2BNEEUTR43OB9FHMNOAOXFHKJRWS0CEQ0YOP2D8XKZM2HTK5QHS0DX5HVAR2HRXZLU9WJH8LVD8CS7IPQGJA4QYE0LTAAV482H6QUAC4LDODW0IEFN1SRO3129JNJL2TNL4SMZDJPN3V22MVUS2ARVPB6NL1WY6DFPSOMPLBR4LDIL69PMXTWWRGAJ7C9LB9MGX61GN1SB1PYZNBCTLQMRU4LRZID3WJ9SWNLSQN8QABVHWJ86827AMD6H6O6R2RQIL1HLGBJ5NTLQMK1BY4LON2TA6BELD6RTS2TT328Q0X96I1YLG04LP9TWX06K9343HMNIHVE8FU1JKHEWKU1HAEVGAESHATQTRNCQZ2BHX7MZOIYAMD62JV8HK0D2DU73JYAM0O26EYBM72W2RANKD4CJSEIN9IGNVCPC58MLT9LXJQW49JTUVZW1H5WUJZXEJOEAIDF1Q00E7N8Y02R2H62PRLB9MPEJF7L11PAROU5I5Y1C9RNV0IZ7V9BM53LO1F5ZZKI2UH2S0XIC96MQS74A3DH643OCY1M84P06QDUAXDZJD9G55GB69EDK6IQAQU7FIIICCS2U9C0BYJ7GOM0TE3X2TEL6SHMX4BKYFC79P3RNIG9OCVQB4O7O2U2CDLJFDWBQO49SWYIHU9P9CRIHUXO = 36#1F9Z35506RYD18KV7Q5FE1UZ4Q6ENMU675R535TGFYT2ZI5ZQ0O2SXI9BZ0I17ITDGGU0HPZDUFJA2OFV3PAM5RB1WLURAHAEU57G4JSWFUQ7IMCAXJFCD23Q0NEOPWHU1PAJ727M3ETMULFRCKF16LD17Q0KFE5S4SGARBV7V34I4G9DAIPRXG6W6OGLVII5RHHUYD7680RGU6U1WBDR7O6PE1F0I9T0ZEZVPR7Q5ZJN5PXIVCXHA4LNBRXKRBPAWRM60HEG4YD8SZC0BQXIYHKCG8FPTLXUVHGSV93WMAY9RUFUGGZ183RSWFH7SY9FYRHA0RO5FNBHFK19XB2RBGWTEUI3ZYW0HHDN5XGLYIQZIJEWSFH058SKIOMK0FZQBFXQ2JNAZDVKONJ1YE8RPY5CK4TBQMIS5EOTSFBZ3ZXYAH6GSPYX3KJF5QKRTK2VGODABJJRKUU67UI0FRVFTDY6JERUF7ZO1V3LUIU26LB5NN9KSZBD6722IR49OBAPXYYUNMLAUTLZW1UM74HUFG61GOCQHSLZMK9S0YDE5UP6D3KD2A8VE28O7ALY1YCSP114H2B67LLMYXM5L87P1JBOQPM23HAL3YUY1FQ7GRTRWPEFB3U3HA94EPGU0QHLU5GAXCMHO4VKA8TO3AP9I8NA4XROOU9JI8CMPGLSS0BWCO4UWVHQZL2620N50S6FYVNDRV9HVPCFLRQID1Y9I2UFP0K2BGQD1M1REMEE7A2W5KDW6GTG1HEHIJ20WXSP3MUC80UKKGQ1H8KG4OW8M091NODI3MXJGP94DRAEJ63D1812HNMJNVMY7UHN4PFF7592PFCY712D8D7YT2IFYUMR6GUCKMBSID8FFTEONMGQT43LMXYJTTMZN6JS148PDW8EZE48ELU7YWR0UAK52MNOAT87W0IQAQFCLWKZJ6Q11RFPRBN5I079J14GVIST2APQX5FEDOYY3VO6JU4IMTV4BE82O8U5KDZNC8DKFN2U2VZ1A6FAUUN8V0TQWF00TIB7S8G170N6ASJRPFVK6UTPLVUQVTFEFJFUR3JSLU43VK4ZD9MI595XOW6B13EF4ABTKFH6SBQZ4Z6YLMT5WH3SN2NBPWS8UJR4B26J32128LJN65YRY41FF8JK05LNQMBCQ5Q3CB640QFTN4NJNESY4CA8RJA98CLOVPGPEBGZ98NT64GA4L8YS6RF2JMAN00SEVF84IMZPZ352IOCOJQK7PGJ1I4SWB928SF3P4CKRK5E0XJR1FUYDONLTXSULHN8HDJ1JOLVKOGVREMVH0R24S8OH2ZOIBN6AH969CFMPAS8RXZAHORUXPCF3KADHBBK3PTNE16ECEBHU6A107AHRPHDBENW53Z40CEVH2N1M3TNULJLS1UV9D8YIPXJOUG7N9WCJNV6PR0SQZ378EXK6VIRWTPR9XN1ER4J5M68B6FRG709WX8IF7RSXJHN7KFXVXAUT384WZ0T63WS5HB8BIQ9TOBIKFR4SG4K149SENXUHT7LLXTGGBRJL1H36VO8YJFY93IXULESAMX8O8VA1LMJJJ5OT0T96GTAOM62PZ84G890C11XGXPDZQE2K0JCE3DOSD3QAARO div 36#DBPYMNOO9TJC46ZRTA7O2US512HIC49SSME7CPW9IVIJ3WA5XY3QSK4CIVPN0J5J5L5D8JOXTTFO4H5PDRZ2FQ940PUO6YCQEVZXSPWZXPIYSUTFSFM16NF98KAHOQWXBGHMQ61ALYH002CD3TJ3Y5N7EYFJV0KVW91PGJ26ACS90TLXUOKM7O4MGAZ9IMYH5AQSDBGRZF7VHZMBU8QU4NJBHEARUNN58B0MNKCTHO2VIA059UNC175NVZDJ6U9NIJ220122HMW4WH6CM1VWAIKZRP2QWPN9XPGD7KOQWBRQQAW8EXAV9IEHJFGPP92MQXKWKPQM0Z67OUX0ODFZ39T1OEGGIKQAO4V2CTTQJB6EC76VXHNV8V7O0TXR631T6EF145MO9J66AYOUAGQHBT3C0WDYCR2CNQJEIKTVRCUJWM5HHEGQ51IC2AAWTVO0ACFBVCZ8FHVZYUIW1B9XSYRC7DM0Z4N3SYEHKRWX38V7R7DMEOZ2Q8HYSI397P7VG5UCWLTGCZXGT5ORZZALABUT5KUS1SQ6N7ZADZUXI6HI8S2DKLY73H492V8JLI9J1WDE51M7FWIS7HX83HO57DDTCSS4O4X5YLYC592Z78N9GPSPRT6T84H8JYQWB0CHRV698T65RLT73YMQBOGP5KVL2Q6R1M21QEPXJH9P05RXGM2CPVJRABHX65UP5DQ2XSPP2TH3FKU8UT7PPHD1GX58LJ. +-36#27X755SXTYN8XM4AZ21ETYMJAXNBWN2G8E4NTH92RMWAUY2E0Q90W2P2D3TB9BXS1CXVI9WL6036RQPSWC2JSB9C0K5O88U45BZFC2J6BD6AFHWV5RFRRS86N5B1H95DJ00U0RRYFOZEL4GA8RB1TFL5ND6BP6X17TW1MSHCPO2VCYDVH8J9F1LU9JI2OGHZK8IS2HYD98KAEDL51411V29OSUNMZFNWBWDI4DWYRIYKPJMLSXJI06SJG0DNWAKA9NX2A2WROEE4P23O1689AMN7Y17K79D1Y6LM1OQCJ8VXHABVAQJMM9L4O5WQNU67TC0XRWOVWV0G22RPDD9C5S5TOAGAV8IP279DX0KA976Q7U9TMS09ONUIXYJKBF9WSYTKALD5OF4H1UEIGE5XQXB2K0WW5XOFTZDG3M2TM9E0N004L4XNZ838E1F1ZHAL5K9HK255M5JF8VLMNC6DVLSDN23MTNODG3Y8GL88HZI9EUQX5EAPEFFB25Z16Y7Y21U59A1E052BIRKT3X111B74KUGFIH0RQIETCYYBFC7S8YCEJ92A5CZU8OMRJUI56EKJIXH8MJP0UBOOCNKY325WAN5KC0OU1BTY8K47TJ4A7ZLPEUDCTFUJNBIJZP5JE3LVDZR7BZTUMPU0VQAJHK32CPZOF0OACT35D1VBBXUS31390FGRMW90DDATXW7HBEI42E6KLBNCV7X4AFV3E7PDBPR3LOS0VCIEXIGPWAOES79SSVH5CEMAT7HKZLVXTLYVWR0S03P6G42JFNFF07S9H8FHEMF4IG53D6S2R6ULIAIIVSXHW5CV42WLUMA3GRKJI3M8LWB8WWVR6FOMTQ7982BPCH4VNR5X7K74HSF6PS9K4GQI5Y2PTAPG1D5SKKES8W5YX7LJ4VMMIL3I8Y2KFYIDWN14LN0LIAOADJIUFIIIWE75O1Q0DB5EQV6FVNM4ITGV9TONH9GHQ8NIVJ26B3E4GF7V1Z1610C4Q2VVAM135CL0RKLJXJCZXFCRZASF6PMY4WDBDGDUSZYIUAT5068Z2ZC4RVLJ87CIFI33Q4UL8R1GN79LXR37MAEQT7IBW7B1052Y7OUPWGF8RFJT4Q5JYUYG2GGE2PGT5NF3BSIL2TKLX1B6Y9T58Q5B31R2CARHTET42Y1M68OZDZC1WQWHRY3APYBGY12BOK9GBMIHE32B9HIB6VXCK3Z6VMGK6J238CWQ7XALPCD1ZNFVV4S63WAS1T1W6E451P97QJ678GNR0YCUN35X3O9ONOMI4MRTQ4RF1VCLC7V9O1K985ZN7KHLTCJS2FE8Z1XIWDL80E1OFJ49G728EDZQC8UE2ZC = -36#36CPAS22EBZC3LHNIHIAUC6NOZM6IERMQN56EG5SA78MPYE3IMNZT4005D2R9BPOJUU4EQR36I30IYUYBL9ZNR6CB80KVLO2AITE6LA44TCODG6ULW4D9OE95NVX3ESIR8WN4DULC13D66Z65HH4LOTL22LFH449OTU4YKTVTC8559O8O44KITZIZBSWI1522YP3EGKIMAOYEQJCUKPVAD7W2PDSYNGV00AB4UUC2ELMDYTMWFVP7HWRFS20MPJMR6IIE6A2MZL5WYMLQ3E7LB5F4BIATL73BBLMKYXSS998RWJR7Q587NC99IMAJOJQAC4EN237KFYOTWJLD9S9QOIANPVAEBPL38EM04Y92THV98PK9AI0Y17WUKQEL8ADY4IEKVZ0FIBD77KUB7XU8MKYPR2A716W3WQSPN839FK02SZ5D495F7I7XHFWB7YOTBKM1ED2986K * 36#P5S9UIZJUTBGLUYE3I3AIOPG6DEZYWR2BW0FF5AS06PKOK36O5A7IQHQYOUQA13YGDB0T59EBFI92BPE40BO4BS6XM0YNLOQ6RFXOLRBRA1LQEDVZLDEN40J5FHCZWFENSWTCQCXR3PAJWHUUFD5KJ78JWKP3IM3053W4C8P5VZZDKESM9TNCA8ZBR6KAV2C0T0557NE1PB9K9BAG3PV2EFL5Q5NSTO6XHP1DDBUPPKG9Q6EGWSUHF37XJD0MT0371BZ2QV40WTJTHZM2IN1FQHJFBE5SKY7C4VBW8DMKTNVR6E798S8185WPXJXF2ZXNAYZ12MM2E9ALWQ51FH31FQJPVFSOXV72VAUSZC39M5K4G6Q1BEQ20RGWXGNIYRZIZ84DZP1FIYGTXU8682O0ZN6KH15RJ82CCA9H9AUCAMPCINQ486VIXWSH1ODX3QXHC8LVD0VG12K9CED09JJX3SPON3121S2PPRVZNMGC3FYA87TL2WUBS04WVT5B9YX7JJ7P5WXAPXXK84AJTZ8AB5YC8RHXOPJ3MNY5WQ67Q5HPS0ZIS01Q99CGNNSTL568CR1OFJ3GBO0RRDLNEDJ8S0G3VFV6TUXVNDUU240Z0DC8HSOODWIWUXZE4ILR5EX3IS34NW5TMLFPKU6KZGKXFFRYG0A8HOF8QUQOKXFQXIE9KYU2ASDRHYQV0SH6GY8AR3EJ4SR3DJVYFVKNZHP2FO2O5T2A50RNGA8C9HMC88V8LJTYY5KLC541YFR08BIXBU8Y6D9DWD4D2H57HKZVLS6BSZJET8AINIZRUFINE24G9TE9DJPJ18R9XG51ENA28W7SWEN1LL3P7PG33G7BOE747EO6VNIWS4ACTHWUL7IE2KRTKXUWFQ7Z76. +36#18Q9ZXDMRCJ7ACC0828TEFD0UWHYJQI601EJM4LM0KCHAQY4AG = -36#9JCX1Z4JIROFIHROSC3ILZUYU0CIELIL00VF8YOPNKTQXLKCRU64KGWTYBNYWSG7MMMR3WBAZYUEHVDSG7CK3HONSBS7L5YQHDMQE1418PN4E9QAM82N7G70FRGCPJMZAYT4OCTMLO44BOB3XG0UU9KTSJ1DMZYHHRC61B8T12V42EPVS0N5DU0F5KG5S85EAJTOC6G1KE363ZMMUVVTO1WE8L2D69F27FJJOSOXSXBFP5KAV25BFG2MNBRBZNFP0YE54AHTCMICL0VMSDVOALE6UG7KRIV5F38LG66OVLXEELNEI0PA1CM6KC4LHAACVSQ5YU5MLA4ULG0YFY96IRDFEQ2TWVXYH0D55EPHY4HKT18NHX28X23X3INYKD2KWVA3IFMKDNTV2XP1GA9QR4BFM1XG6WJFCCN4QQCCXR758EIVHCMPWY54IBN58KHXM51NN02IZ9X7U1SVM8P3L7UJ5GFATUMNYRU17GAK0H1VZF5OAVBWSL45UQTH0X7ZZK4NOOPYL3H17TQ7S2CS60PTFZEYM4BQG48IFNO4SBOEGT6FDU3MR4YBEWOJTK6U89EW59Q9F0OW6HNRC43UTCW5ZM2A6MX8LACKVQ949H6TAOUYI29B0BN4ZOMMRSDNZTKFOW6KOX5TBFKY9PVS6QCE6CTJIEBK4L8OIGRI0G div -36#7OCFT6DA1NB7PT1X7Z59RIUXX5RJPN90R8A1J004CP7WEYVTUCQKYD5UT2J0UD12J2MWPN4CKFPYJMX3871ZF2UFS1Q3U3M3R1G98QYAJ9ACE43A7FO9V1USQZZXVCHU6A817YCHBSY0PE2BGIUIW6EL8HDRNVY23P6TK9GPR77IU6F8GJTLLXSH86S04EOI5ZHGEDHFFH46CAK2TKAP6LXX8PO7UICI6ZSO0N3MUMD8I0X795CI9TIRECOQDG4S78FFXPP54H1WVWMAG3730HGGEV1EX63W9GJOKHPOYRMT9ZY90YQGIUYGYGYIWIY42DH69B3L3EY5GQDYPR1T9SXULFMJ5DL5F25A6S7HMU3A8XT8LV6CSR2RL1N555C8ZIYXZKWO2TKMV7HXDXCNED7W5NC3FFAPW9WVT0D1MUTYY6YVAGWZSJPEN7RAE5SQN4B4610VNPHPPZ7VN15N6K5AH3QSCORY9MF95O5P4Q00KGOSRP469CR20Z0UUZDQWRIB1SXCDW52650Y35QUDEWQ9T2U0KZC6L8LP4SRONJ2SM3HN4ZCADY6Y7P4NNE49TV8Y74HJI54E6KKHJG0YL05RERI7B7XUZG6JTRAA0ZQ0PJF5J2CZYSYA. +36#35HF69BRJW4ZQZGH4JC323I5YMEQ4S8I8LX06JMYXOUTUB4WFX = 36#5ELQ777GVNSZIDGPN9FVV1BO7WSRLGWVHG4DLR90876FQJRKOMR76XQ8MBC0HULWMJF6QMT086FUD3LFJV0ZLXXCF9OQY25KVO6J98HIXC1JJHJD0924INJ542KI07CL1GEDFN159Q6D4OVPYHZTURZZUOJ74EO6TOX8X7Q20AIPYRHNLE5GCTSIDA6HOUIEBKPGS9V0DFS6DIZSGSEC div 36#1PQE8U66DVQ6ZJ0CNQZQD8HJ9K6GWDYLBG0FZ3MNEL29P7C1I6VOKO4R8M0YEGLAQ2SSS0V7XLWBEQ78KQDL34BOC59MXDKPU27GRWOSIEOZLU3DJ3ELIBH6M42OQF1MUZOFW86DU6DRVU49CW8KN4YP3OX4UA874LW. +36#1HK2TTJKNBHTIETWIXG3FX7K0KUOD5E1LB4UCCYQC08S5JHK9NGCCAV64SH07QEIOO4U3JUYCOUBNLBXI0WWP7WUNL7L8JV3C1N = -36#UQJRO7MBGUORIEW53U0IBF9T4YRH1Y3NAH701X0LLDWLHT1AJ * (-36#1QQ6KG6IUADBT71OA9CWSAMYLUHWSQ141X31KX4MO67Y92JA35). +-36#70UHADTVPBLW3NK9B8VX9H359K61J69HXWYOPAGYILEV353XUNYRGFJR0 = 36#RVIPQLIBP7ZXFEDY1II3CLM6IX24P2PPAN886R1MWS58P1QU4V970CBV5PC4DHEWQK138JLPIZKI6TTNTEC3LHS13O56X1UAKCWSS8DZXKJR33Z1YY1TFD8IDDWGHZHRVKTTV7Q4YZOO0PQP5F6LNJ0DN9I9E9U4PHC5YCRHMUPP1UNARAAY7F1NUEMIJLDY88FP666V0Y8L2C66HPG8VJESLYBFFHBAJLB1OC9CJ68KCY3RXILO597PWT8V9WDHYMGAFF54IN32T2PXB4JJXU4PLP3BA7QRUQIE5I956R0SWHSH0DSO1ZQJSHD2ACPTUZD99ZQZZ1H3I0059X2K52NTEF9WCYFL879S42X61D6WTQZN5UUGSRI8PLWIP7G4JE7Z6PKTLP770788UUV7WW1R0 div -36#3YVOE0IMZDK9CRRRNTI1OKCFIMHZ4A7U1YCHTE5V31KGZH3BHO440U6W688WAMXUKYX4FJ4WM2HLNCXV0CT1LOO67Q2G8XY6KFFENV9KCHSFFP7C70TRYMCC9CYI45KQCZFR1F2X2KDQ5TZDEBBRFZ87NKG1JTLQYZH6V07A2EGKT1TLZAWIIYX1WON73XKU3KUSFGL2CW7OF2GD52P4UH9C3EV2TT3Y2FOR40AQILJID2X7H5MM3R28YFN1IOVQ78LYY8ENJCQY6EX8W6XVB9EG0IKO4AK48AZ6JNXTFH260VTYTCVQ7ZIU2PQ9TN0RXAQBDS3BLZMD3J8ZX85U9XQB1DAQ6Q0U1. +36#IWYZ1RPSK5SV14AETY85UDGG0ZRVT3DM5L6EFU5FF29FYX3IIZH2GNO38S7QWLPM98KM2SDSB02J1YVXLXUH8H0P7D163Y94NGHKZ2DCDYZI8HY4P1FJL6GBCLXOEV5GZ51UHKDMHF0HTB5RFBNRYEYEOQIXDAT4K17ONDVW9IBNG13I7HYNRIC5TH0OXDCWKUU3ZGYVEPUXDJ10JU3VY82LZLVG8LECN0FTSZFJ3XRIP1LTXJJQFI9ZEDIQ8KQSAOQ8V2V6EDYRQLP6ZSD5SCDQPLOEZ29KIIJAYJZ5YKBAUN7XG8366C8K0A8MTWM6P20DSGDBUUS7KCJGQBLFEBYJ9WVCXKIVANHOHQ5BMMI3UEEQQPLW6VYICNVSB7UNTH5ZUTJPSGKWBKPGD51VK18VLMR5VJLSCR3KQKOR3BCYIZLLGIWHMJUL1QT9A8PX6QC103A0JS91M4O5TNHPIXFBWGP1SWMG8X2W9FMVISIGYSZER6AO07M3UV7RJDQE3B6F4TNLPQZHQLY0T1U7CJLLBG0RBUFULQX90JYYOFD8C7RKBSK8QLF22EMQIHOIRI88FAE13EFHJN2637TCXYL6QR9IKMOWXUZ1A1LSER39FANQVTDYMIQ1FY9JGCIKB96N38X8HS40DTM7OQD31YDIP47TR3HNY6X5UEXGZ3TI4373VSIBNA88TTGL0FNXYRX4V3PBQFQFF771H81LEZM2W3TQE7G2GPJPC0Y4LC = -36#IMGX4DVNOP3041Z5QYLA4RYFDOGSRTCE9BHHF767RVWOWRV5O * (-36#10KARM3FRB4RY96Z6LK6PTG50XIBAQK0X189WOKLOLT9Q124XYK68GCQZT69ZGZC8CFU6GTJQQNVWWYA4I92VB0BDXCA5VMKTEWWSM8KQGBFM7SSGLIJ0Y8UYQN85V7PQNCOPE3Y4BNCXFCALT76QMB8UGW7AC1Z7PRG6ROQC18E88N77VLUJTMUTKF8C3MW8UHWY6YH6MAS6C3LRBQM2SG2SW4I1NIPDXSAJAONY9BWLKLX3UVBQ4K4PIMFKUNB1LVTNI7ZYB77TO3OV7L3OOMFRULDYIQGEPK49JWS1U0K4K4J37J7RC8R0WIYXVLWYCFXJKJYOFYS1YG3X8V1FL8DRW35BKWOPQYXPQD3VBM5UEI8U7FYX86MSLEGJW37HQQCRJ36FQZMZ1BQHXYIX0EVFIG7754HRBZ5SUG5LG4ZWJ9KE1CVPS0XZA4488N96JKLJGD8B802DFIPLLWINXAXOB1F93R34U24EKVXQR1VMPXBDUHUSX7FYR0DTI5SM6F5955DVLWWFP6C0VCD7GKZSWKVDLW2HTFJS6ZX1U0IDBJ4KG82J7EAGRQKG4VFI08SELOWEGQ0V295VRMMXD2ZYT600KS4996WZONSP8IVNOQCX2F99MRPH6KTHOYU9YEJQSQR88QXLCUAJSSHQ3REKE1BZ6K17770O1I5ECO24JZ1BRL486BLE8). +-36#377MDEEB7K6WMO5H40KGKMJP51J7F4IVCJ3EG0LAKZAEJRC3KDKAVPXH4422YMAF6CCUXUM6NVQ0ZKO14H3XZWCPAGBB2CSJOM8B5P5OSZCOQ8F6I8DGFQKNRMDP0F8735BBQKJN7MJZTGE63WU8W2MS8OCWPQDSJ8K2PZMT1Z9TC9QFKAASAR1MY344TR3C1SZDWDWBXHU = 36#9HNMGJSL15MRXAW14C433RZWRJ1VUOF86PXC9H09C8GNNEOWJBHE00M6TS157F9S17GEX9PEQSFO54CEAMSZAJKEBXIPHAM0Q5Y4M441UDY64Z0X1VKV6C453BQM50AKUYCZEG5RW3LJ81B1CXIKB5QTCEPJ20K8H5WU6L8O3YALEFXQDWUO9WJA57EE8Y412PG95PUA6C3BWKN7XCKQ5A2K0X2R53JK2GI7WC8ZKQN6CB8SQUPDMWAG19HC div -36#2YR8PI5EUSF9ZXA3SRGFUVV7805YEMRPRWUUAJU19RTABQHHR4. +-36#19VJJ1B972EA475I3FXGNWAHKQX1TUUR221WYF5V84CE2J5KIMFZ4SU1E3KWF4XBV5HOEONSINFOGUKBYRRTAAE8YOTBDEDJ8H4IU88YTBK99ER365P48DB29GO7IHT149KG5CCUVY88ES27XTXK39LLZ8KPI3WQMMYA507SK8DPBQ39GYMEUXK2HJNTFGCXBQHGCAQFI92YF0DR5CVCRYEFBRL7O6OWMBWLHV14G1QRZL2T3PR8QG6G1PX11N74WD87CH8AYEWW47B7VPBC08V = -36#4LE1HHV5DS2442ON2FAG7SRXGF7SEHAI60ZZ16491FR2O577CQWZQ914NSFGEDLC8FWE1GU6UZYPQAPXEDWWNBAMDEM5URFX5CEMJTAWKKK870LGUN3854UPH8WOZ4RSZNW94U2L108SHIH5ACKCBXIC5U9J7Q1IEDGYJRNZ27MK4AFKHMLE7FBKUGLZX4K1D3ON3S3DZCAN78WYW05AKOXHSCNBBLBOMUA4SK3N1F8E27V7QWNWRGOG6EM7KM7JWHN5QXFHAQRLAQ0TOXBD5HJVKK8UIILGZIUIAE5I7KUIOU8GKTXN2NO4I7HPMRW4DT2NE31Q77II72J9RAC5AVVHN6QGZ1QIOW6MHW8TC6GAWVTUPEYFTZ7HEJRI8KU17ID3LEQ1SQF0KB1H5RL8SOROCSPWWODFZ9947V0AHIFIJDSRH6XRA6A3HMR5CBAG024ACR4UIQ8DCXUYDGRSSV5OW8SASAT1LYNLYT9ZVNK6P61UF2R9DOGH755O974ETKJFJ6685D37Y1KKJG4YRJH4H4U2DAJAX8NKSAY5VQEOZRJSWMDQUW div 36#3LS9EAD38N36JP0YN448X61L07YKA08GAUNH4KFTCHP4RD9TXJNWIEY49WYAAIW5K6VGUGM070Q652BWCJ972IWPFWQD426U70RDGOUYWVQNUYJ7F0192KXUJ67DDPVIFIG1EU2HGGRAE7C61NQ9USEUDNBFRCJAGCKN676Z8D7S2972DXEJS5JDR0J7MM8F4RTQCU0UCU1GOFYJ2533DG6NEW48DYY1F9MYCF7M18CQN62O53MDU40GYPWII72757LNVN8PY19WINEQYPT5W6M9P6HM6288. +36#HXPLPYDR6IX20GNEV75B494SVLG499RAEBHZV0BTSMQCYES49XGGUBF4ZKBHEQ47ZFTZ7Y906I7POT1LINF7W3PECQ6H4O15YZ1GUCHKJA04XLTWA18S7I46QRKV4EBXL4U0WPS1EXVHD62MWEI6ES25R46NQMJC6TEQMV3FFGYIL9SZY5GDVX6FP8M26U215XHNTJ5TTFP8WD36X4ANTJH1OQ3OFCIMO2A1A3YDW08CA81NWSZHRTQ2OAE65TQBTCGR4WI5BCUA8ETICVHZ324E4TKAB68F18USTLWQ8S5NOVNMWSDUV84ZUKUPUUIRLDBZEY4Q2SOAMR0UZ3LQS8QC6DRTYD51WCAWDX3UC6SB4MCEYZ92W2ZN7EYS9E0UE = 36#CZPW2Y3NFCF1A0SO4I8G34R3CBQTUQP7XG3YLAIY1E7T6CIIWYGCENU232A2S0MO3WK2EI7YRY70WHP99LGU84XL3RVRVAUBP19MBYE8JI1UQQDPBI3DI10QHJ16D0EB6SBFKKGB6O7PMQH67IZUXR5CJHT7ASVM41K8SWCCB1EP0BOQDSAHQUZFKS6JY1NFIS3F1CGZU1STJGIOSD3WFNFLUWDQW7JVAPMDEXX3L1S9HN0Z3X5LIT3KJ9SRJB0AZ6GWWE83USCAAG6KMIZBFEYAYMG3A05MIHJPMMB470QD86IKUFK54P5K3NPVWOW4OMSCM46SVOLUK7LOVW0NLTZJDZ4RE3OO4V21HKJBUS7ZDHSTG2D0972X0VV1M51I9F7SKG4AB6B468Q90W11BQ5F91XRXY6ASWG78RZ1Z8ZXQKWI9QORE45UH61VVYP1BS0EK942MR4XTCIX4MH23T3U8F645LYYEE7HJIGIFZ474AFTCVAR6PPN2O8YIMPTNSV4Q4QVORN4SCYJKQ5CE7191I499HBVTHZRC4XBZ9J6UPI7KRQJZ2BKWIBZ165NDB8F49MGT4E0RTASAVCR1Y0QR3JOV6A1QTVVLNUW3WHCOW228POCF27UT2ZMKFOWFFWDWAU5QEL1YIS80ODUBV3VVYM81YHC21UH17KBKR9I70S2AR61W1H7EP0SCYMIM4R2DXUHIJJGZX0IL3NI4MNRQ4J5EDOOE4O div 36#Q2R5E9RZ52R2AF9C5R6V18YU4YS0KS1FMCOD2GBT625BM5IUGAZ1VDPYKSEE9S3J92FOLP47UR2017EUMI38E25DJ90HK7TK9FLQLSJP8CQNEKLR8PZW2CQ1HXSWKC0JE9DMADP5G0I8DAU2H65GZGFAMQL8FPO9N0GAQU4X3SN25OME92PZHOROIQK8WS9C3RHZS9X28LVGYMN74WMRY6THKUM9LENIXD26NF0ONFCX6427UWV5M82CFNGB18KSNAAX3M27ZFNC6OWE4ZT3LW1HYDDXJXPY9AYMBOM1B06RNZW0FUODWBB1OZD9QE2TPZGB9R1U993289D2OTU8Q0ZZUVJ2YKVQ0C. +36#2KWBR5CV8NRYJG2XZM33NXMGM7E1LPTR7O3QO599PP9JBF2AKNRN8ZK0J5WPRYS59F7HQ3WGZG5UB3XN0L8D24ANNUGRNNNNNXFBSF6WVZCU59VYKHBXVX12PWWUQVND2O1W3XXXZ5DFEIEFFKLQI81N82SGBFGC0035JSKMM3P6OGDSFQC5RND4O6F2M4YP06PXCC5B2CZFY79WASAUQMAE38SWKR4X2UQ1XAZT2TBPFCL52T0KGR3QR859NB97NKXHCRUPSA3K025LF4DIAC8W8RSDS941BA64HAWO845D1D2583GR6RJZ902C1Z51VSP1QNW7F7KO8POSJB9G44 = -36#1YGKOUO18L0G7JLM1HFC12LKKMZZ09374MM8YXZ5HLUU553RDJ * (-36#1BGP868T48S35L7YF5E8ISMUQUN8GSCD3CZCLHZKBP3KW71ONLVCO6G10YREZFR8Y6UD13P6IACRCE09I23KDH6FRA80R2JWS4RGPOYP54YMF1UZ2CNZVKI62CD5BS81G46AJ1E9X7W0QBJL46HYB9G9NMU2FCCRK03PKJCZG674TA73IXEW7YAWSEYKGWL3M4PNVFJCLH74MF4DYJEWDVOCFOTMDJBVGRPVT6HMLJBUERSAPNRXFDMX4Y11WTIZERR5ZS6G8YUJ280PDMDY3UBHS93VVDE7BZNM4). +-36#4DVTC2L0RRVUDGLEI5OBBAASQQJC6DI0WWSC14L5CQ86L86QON47GI1QUNUWAMD7N3BR3V4SM4VUWPZ56UP9H4KVHKWSPVD9F5D6T6YM5BU96J905M1DOIQWHE106VAQLUKSD1F4MDCREA9LQ64Y690MLW3UMC9RRVG46UORPS6VIOX2ZMUX1P6HG76UW5HQ2KX4KZXZEHA4RBD1WEBQT8PF5LHHMNAL1K4AGABEKS7KJNWNAGM9HH5JUZO39D0YZ788RZX71NXWO8AQREMHHNZ1ON3ES5035JSG35TD0RIK078VZEQSEUQX0YF9W9D6DYMU214D4I6FANZDAVHSCPUU0QJKODND3A0WPVS6MWPVUETA8B44KIEIR2NCD2CWV940SKNGQSARDHP4TB82AGTO4NWH5P2J57QJ2GKSAAYUZ3448EPO7E5T4VW66LGSZCNB5XU5DYXEHB4INTPD7CS8OTWHDFQJ840KKFNH06HL5UVE8ZZ9KMX3NHFB6SYXOY9RVD3C71JNJK7CANCL4TZWAI81ZLZ4BN1EC22UTBW37ZTC8ZBTP14I7VP71DVOQ5HP5VERVBVB06IWJRI7W3BV48JGJES1MYRKVZAGBWYWI81JVTS8N80W5DFOJE4GEOHDO04MHRSFZ8WD3M1PAM4QEF19C28YHYKVDSZSR953VLZA6JPKXJ715VXP2HUMR1WLTB9SJ2S = 36#6KN3Q7K3E5BCZJBU3Z7CSORUH05XF4IXYEM406CGBJZYQJ057G4U4AGKQ3C4BD15NTN0WEO9QQ1I6Z5PBLAPMQAK63D1J9UT3GM67QXS3CV7KQ162F6ANA1SG7H8R06KQMH4DP2P0JL6KTENYYZPQZQ7BRDE7IOT7MKT2KD8YRSLRMFCMU67PK42AY6X7FPG13814ZL6OAUNYP43AQSR13USKI51PZRBJLHCKGQY14XRTNUI0FGLFRY42C2GNFK1CSOWR5QKEWZ10EONHAXRR0ZBSFLWQNQ9FWSRUGMC9EI4XCLQ0L78PIRDQJIQHIJIPA818AK6DKBRETP8M8CJ4UYCEI95487ZSTMQAOO8DDEOK3WT7EUF4AMQ9L6P0HC70S2QQ2X6BKQPS8GV6H6V9ND1C4M4BOVJTKA3H194VFGIQCDMA3VOPD20Q5J2NMMWPYMFNNEZF07VE7KPTEVB2WJWW3COHHWTK6F5VLNP3RTG6E5DHOS6IUWXXY9F2AXW72N0813JBLPWJBCP532RG2F790T3QJQ6LTLXLON609LTVYCNV9ZWV60WWUC0QKYH1YK7D5R7PLYQ4VARKM6PNGQ538TDH941VO088UW4OZ2GF78Y6PUXIVGSLK4A2YUVNIHBXXYJEQ3SFLNS6ZOJ50AM861Q4EV097UDYTSLQJY5ZI94BYL7YVADUJ5PH9G15I4VL5JZ8WJG5JSY4SFI9QSOLFPEEXB790JJGUXTSIBFUK9XUUXJSB8JXG7W div -36#1HYHO3PPWGYQQD0FFEAHFD4MXX50VP7A277HEV8FPM989EQ3PN. +-36#2GOC9KLCP6VBX098UDL6RX4KK492893OL62MB6QVRD5VY5WPXDA7U82BQGCTY2CL727CRFNM4OH4JMS7QV0P0K7MWQODVU4VK7JN5URES6HOHAZRN41A35KAA0ZEK87OSRBVBZX3PPUVEA3K05TJO91R4IPF7BTMU7U8YF1DMV8RTV70YP48H5X9LDTZTOWF96RD5V28V1OHGVN0XMN7QRTAYVPJ6PSLW1QOQHXM6A9BT4G5JFF5L4N8I08PSTBCZT59X6RPU12SJENR641L9CQ0SL5DNQ4S7H424INCVIREF76GDCSVRNX6KVYPMQBWDSB9Q5UOXZR4M3YNPJSUZEEKMUSSXR1JKNC51KFP2VYQ8BJBPWJFLYFRL462DS7GN1PWSA3PCIKVYZMS6IBYV9CIJ169LYV2UBY3FRP10ZJKSCKP3JC0OBSYCD8E5XOF2LDWLBLLGBND7PBLC3555LV09FP7SQ1ANHVU21F17HRHSODY8MLU0FSEB2KTNC7UIVU6ZS7F7ZLFMONUPZ76MIZHMN7LZRXAGQGEST0LX9B9J6FBA5HTDXFGGTO8HXF3J0DFH3XU8JUI54TWDEE6778HDMAYOB1A49IU3LAJQUVL3AGTOBPLWYPSL5B7P920GKC4QRFSREAK12TP3GY5JZO4UUH0HFCKBH3AF15ALPDR4OHF3MG66PF12YVYO7821GP45B7S1UUHII51U019FT9YJVOE6R7UMYEGLFHNS8UI1GC85Q3705RJH6JPQTRBN9ZPNI0RC3T522ECNHZ8AB2XMYZZWFIQFSKXO75VAQVF01OJVPDW3ZU5M96NB4RXEXBMGTG9UL3PQS5Z6JAUSKONQN6ZB6KJH8Q02VP3V98B6CII5199EKY8C6V43R2UB53G8RRFVPCBM911W6LE0JYM4Z4PFI0FJQ4VD3HN4M518VHDQ1QQC41G0JMCB7ZTCF1CMB30F3E1BC6M8GVF7FIDR2E8DHDX5QY51TQQU5H5K8EDBNRU3R5AY9M79YLWMFLO7E9WY4TSXVAQVHXMJ8XYALI84G = -36#5UKFWSLNEEXDKJ1D5BUUYA2SIQZBR1Z9MDIZ0EGAA3YOFIXIX5KGY85TVB57RS53IVXAUDPEH2LM2L8VDSEDMT9S0WMLLBZBF1AEXH6G117WDJ8CX6YX9DPQ7Z9H9JMGM4T8U2YR15B0H2AML30IHCDJJW4007CVGMMNCYXQKCIHS7KZ9LQJL1PDFMSK9GKAWOLLN1CS8AUSR0K8PPS4HO2WRZF8E60AH0U3G9H1C4SQ2ONY48IPQ2J66YSQKBLV8JIW6YNJIXNRLKZ19HT0TIGDJ9KPCT6TEFE9D26O2NIQXS4BDDTD14BGCKPVKVUIERDICCTCZASVVGX4SKFUF4SVP2QHG9YMUI8AN8H5T2BQT3LQHADAIECVI1QVWF7XUFZ2ZUAATQBXN43QSKU6I8GMPP1Q0VA4O5QUKDOVT6PFO3MMB81SIEN0FLQ1TC2K52ADRBK3KHD4DT3OBCRGMCBQ2GQJCWZWEKA7TAJE72X3BBLUIK0LJSYQOPMMGUPYJKLKZ4HMI8W2T5HBHSH51QWSIM88ZJLHLKU36FERVLGIU6KPSDUR8P2SU6K2RXNYQJJ17M7FJ67TIKBI74WV1WDZ9L1PQ5UIP5YF180OX2J9C0SOS19XTTB07HTMF0RPEJ1IVBLICTEQKA4JMGWDSTLK9YQ3I6PF7LGKSGSDI6PFICDLSJT9WTZ8PP7KBNY7EGE90YAHI8PI7KTZBO4MLAKZP1XH5LV6AMUECU695SX1DINVOFETLG5J1JUNYNQOD545F2B99I97M0JET1MACA6ZAQWSVG22NOZPY1MFY8D38F934VFINJRD18V511ACNAA5EW1EXLU1H5BY6DB530AVZJ9Y0QW614XJV3Y2Q1PM9KXM077RVT5QVC3BYAZCDYQ5HTQZ1INTSYSN53Y1ON4J3GVGBNEPFU8EMD95BEKER6075159RVSM655FHS3B4EMHH2V00KU1ZCEB3H37YAR1MECHTARG0E7LYRN0J79U3BGRO1A1N4BUM1YPMZQG7PDBRA9YJYBMR1L77M9JQ166GT9ARVVFETOL45O6KOFUMHDXQSMYWSFXA2XHMRVQVJEYQH0TAASB28XINAWDHZSW7G8ZPURA99J6ZLE6X5JLE5Q827H66REOJAMFRKC1TBD0TX35O5CLSWQC61HA5KDHXIK5JDCGWFMLHCWIX36U2KDN5QF5RN8I6LH736XKXNLK3EEX77OJ1TADKVSYZ9X80WVX7AE00LYS8NNTYWBXVS2TYUY6XNOHV1K18ZLRPV9B6GGEFRP0QF9W4WLGXB09FXV0UGMIVCCSIEZTXU0X4E6L6L3UBHTFJFBVZG4M87DFIZXRFRIIQII5AOX5GU6IGEKGQFZFZYI5JVFU0PSXZZLQGB1D989T6OC8RWK2KYO div 36#2DHG0N55O1XEGG4LT8QGMS4EVBGK2Q0IOTXJM79XL6MHMV9OP0OLEKZLED6FMG1DOOD67RZVZNO45MJPM0WXFUE62951AFJPIS07KA63U8HK1BF4SUDSECZOJZIJGM93P2V0QFZ5LMKGAYZ86E8HW35HAYED70MLR6ETBVAU8GVAG1RXPO7NVAUPI4GAOTQ387D37LCXUE6ZZ4UITOZFRHC7OUKDJ6EXQTJ7S2ZH91KLIEAHBZMM6UU4JHLMRPLMLC31YOHEGQBMTRYSH2DT09L2SZCBSF9XVOAN89N5J7DHLBH7E96H41JFTJYCFLPLEDNLX49II4NG9SC7KCCDI31I2ZBEZZAAJ9RFKX. +-36#KG0GAMQDD1WAZDD7E2MMW455RBMFF8UZPABMZ3GWE41KWXPI84DRGJT9DKWRASUY7R6V9DDGV7OYVKO3R51KSI4N5XJWSX0AI0 = 36#22Q4U5T54FY3GB9FEOY5BPAEFNNC2DOQEHV5OKJALRC4SJR9E0 * (-36#9UKXTKW1KEC0AUXQHAD9TN6F9VAU9WCNJCM6644LU9T78AS59). +36#5YUHSYJUNOGV6BSF5G54DLWV4Y0IBBTPKATJ9PE0PK72VGJSTD1RDKCANTBZ87FW7VDWQG4D22N8W0QZ0CS7QOO67WRSRNEB827OHJH49VLFDL9CMID9KKKETPDRJFNUZ3XM7BKK28UESMELU6KDJNM3OCXEJUW4HFDH31AMGFUCOB1BKKQYQJ59JSSPZJWVHHS9XB6BF37XVWUHJUBZP9535DGLFWR9JNO23UJ1O1HWFTERVD892I6LOZWBM6TNTYSH6QPVJ421BSRI78XV9E9NTU6LF2ISUJTN56TQRN58Q4J156DLXTIZBHOB4GDHVPVWJ9X4TVB7U3UOIIGDYGEG25AZK37S039EN2N2E5H4F1EITZ2KTS5B0MI291HLFK4P1AQMFUL1O9W51MYK52UOVHESJZTX8JVM93SU1852TRXG1IPI0ENJK4LL87V9AW490SJYOND7N5U37I26R7HTAPW838KSCY0QPMERUI1NXNAH01POQ5UZKMT6SGK5J8HB145GYICTN78QWT6ECGUJHV3T0QHRF3KUFO3EBEQRFGCCGU2FJE6A28F278H9AO29BXBPKVAW58997ZO2FRMYGUN7AYPUHBISRRF7XP0VVES7WUY = 36#2Q5590T6225SAWAE7IQQ3OTEMV2239IJWDL5UZJGJHG2Y0GZB42IH74ZLXICFJDEZLU5I295QX2HCF51MB7HVG9QVEX692LJXSJZNUGLTDZB3B35S7GHZYOYVQPV6VXO07RSSPWPDGIOP98O2DWX3AMK86CLFLOOOBXZNPMMTNSETQDZXJP8BO476KICT86T4I9P05AE1YT0D8S44UH6PN63V3ZI6J532CPOF1RJ5RGIV7VP0564YI0I2UYJ3RHXUO16HIY52AW7RSAL5MK6X22GHGH3MYPVAECIVFTMYDDQU46WAIYUY84CYG6NWC2K8MNDKJ5C4M0PWCVP436KY85SL3T1DH4A7BZ81AEBQYJB9O86XU2O4AW02VT974TYTNE1MUUL22F85QOE5N4YD7MXPH8TYYBLDZDIPS3ZU1GT08G244GNQAUAQZXDRMP17XPNG5DFH7E1J0BJU0O54TZ0JPQNMTXRRY0301IYSOKQU955L39V9ZY0N83AIGTIMAWQTDWX1BMF0NYH7HHF7PNDUOLD596V0HE64HXP3KYWW5JWN4N19I9N2EC7X74S2I3VPM16MUFOQWWPHOIT5260U2PBZ8R094P0YWA5Y0OEB4RQE3OHMA4DSEX1C93NN3SJ30Q0UKWG3CTC4FCS2D4XFNK4L5JNOT7GGT8M4I3NSL9XN5K23RT9G0L6S2I4K8VNC9CQPBJWUAZHQN92M51GXIAQP8JAL0A1JNDGG5G889TM7XHG2MZL58Q76KZCOBU93I1C4GF2M8P06WFKE div 36#GG0MTTEWVWRCAZHIEKDUR5427BT3LYRR9CGVTII0SBACL7JITKWARSON5HB00H2BCT0P8QY2WKNU6P1IS1KB0ZQEXTHLCRG434803KJXLPGES4PVCLS4258AP00UQF6HM9MUFOO8O6WKSAQMVGY77X1UVIVJNZQFYB. +-36#2EJ7KWCVCX1XP0G4RPWGHI5TJX345WC07S8NC5WITQZOY3LYM0 = 36#22C3JVTY88NKXT2J42LN69XV81VZ36MHD7IEPFGAHGTCFUH4LEITKPV05PHJUHKZ1ZXL5LDTE0EZH8S9LT0NVQYSX3C523C2C1F039Z17THM1W6PYJD9GNAM87EK6Q38KAUG6YH3523VM8DKESUV1T1YI2GV9TV7OW7JMJAVZHKI3IZ8ZZND7LOXFC9388FJEMQLR4M4J0SS1IN3I1VRHSE83XCP9CPQGP7E89NVVQFA0SJASJRRS1MIQWAPE80Q34SBGQR8OMD9A1U9DH0855OWEDLEDSZFWY0ADO25VMS5HH5VNKODANPUTOXVOIPXLZK9979X37N2URX94BBPM3ES60W38C7U7C4QW7UDC9PFHY33XEX3E46CXAUC82EUGPB5GYZKB20X7JF2ZM9F7HX6ZOPJ00S9TVXPGHA1PWDDC65UFJEYHLLFOOGUEDO0JMHXCDICEKEZ38V0K0X3FM78REQV42XPKE6VLWMU3K1WWH6YKUVKF5Z87CYM7NWCHF8KMTE9VC0XB79TDSEC7J17S447HQDYAFJRA5GIAF91P5O30BYNE1JZS51NK0XWYK6SQSE4CB68ENNVVKSA6LVJSQLZNT6BUWWRS7KMFWJEQGSO6MUND8OG5E7XV2QB8JP1F0JNCLZWW7AA20DNH9A7VT1QS5FYTJ0O9K33GBURMEJ1PLMCSBPMFXQWRI8I46I25QFSAHQ3OBMM5HOUKLGLWSBUQXJKNDKJW7NPQX04BG4JJ2BNO14WXO9BOVAEKXR3NBSEBLH9K2Z6BWB911OOQJP7W78H58JVKTKAJL4VHCOQKM16N8SRWODEQ20M7ILHOTXVNN6KPL48CJMWJLPY84EU334C5H1Y997H3BRX52WIXCA6B5E7CFSRKS7TMOYSTCTE4M1EZ6XXI756IC72QCTYKMV0LTZSP3L9E4SGDWE9GCBCA9FSSA0 div -36#UXBHQRCC7C45344FBXUNYGEZGG3F3H3JA06IJSRC9RVDS1PMM27P51AVJTT9ERCGOCVZBHM6E3LLCVKR5FIGQC56M3BYJ1C1EEZ24FQ9551XT9HY3QXG51TWJH4KXSLBREUUOCO2FPSNN2TORKK16FV6OX4GFLY2G1G3HBHX2NS5UF3468CK9JELN0Z8AKSGKD4IA9HU07ITRWRDG7FL4NWLIMUDKSVYZWUJ80UXNKQGQ9XKQU1MGOMVBO5E3USRFYV8MP9IRSZH9TB0WZ0W4H3IM3PUQV95YG8ZFTLQNUFZFAO8TKZ37FX0EESCBW9WJDDUP5P6DXAIG38KIDBOITPP3TK8P6QLESL4BL8O1I37N13LKYAQNP1KTXWWFBI5XMGAZ4D2FFXVU3GZ4UP4MS4A7HHQPJUT3PYT68B4KSPV1RZUIMPWRN092V3TDSQ292V8RDZ3K1OEAK5YXCE5C7LYKNKFEPUZCZX8JKVHSKSQPX5R9TZXB1588WOK5LPXOCSD510S9YYHGLYKDP4GRSCGLO3ETGX8PMCFY9KI0DOC94Z3R9V2ZHQ4HG1C6E8REJMP7LORATVY3OPB2Y2YRQAXPKI94D7MQ61FH6PQK5KVVWDOXIC43CT0R34DGOAUVP1OD42LM2C1RE6Y8CTCE0BOIFX93P8XHBX4ZY90PURWZOC28I5GCJLDG8GWMXO8MQ7KVQ3S1SD9QU6T0S2OO7JXTFIXO50J9O07NY297543HRJ7Z51D1MKON7UE70OL60T08CHC4SXD9IMTEQGBI9PJ3URHK4DZT61L1Y65BA1OLPWOVD6QDYU3EJ63AD58BFMSAV5HNUFQEKO2VSW4OUYLKGWLUZ7FWMQ0419RVLQY2QE6YIHSGP8UZ6AZODIL2CGERSB57. +36#HC75JKNA1T75TLT9GYPIDTT1SRSPEVV4AP2EG854AIDPVXM5URTSPLGWIZAR22H5BH8QQBELMHAKNLR0M4DF5MT7Z8OW4WK8RFHMBH0OUM2YMQX4LOPAYTPWF2L7OIMM87CXQGK1AOR8U5I55HLA2MRJFGYKT3TMFOVYL47IWRWQB3YHI634PQA9N7WDBLDKHAZ7YCJ6VIZDLEFJ5V6IP6QPJM3SXAN493444TU9QC5K8BAP0KY06R78GF4VE6BGKC9BYR30UK1JYH511ZTQ6WQ64Q02RHGV76BA0053LH5RN44RFXNBESBHU6BRU49VLHF91YPLED4628IRQ2LEGONGZCS7MTZJJORM77OIUPSU8YOPHOE7J97ML650EWN3DA712KAD3102HJ9GP7PUWFY5LJ7FIQS8FC74SSZFZRUIT1V3IACVYZ4AWB9CQ97G9IEPO17GB2G4QM0FSWWC6TOQLG3Q1GWK5T3605ST40PMINYCIW1ZFUPVJ60C0WVX207T2VYUHJ9MBRTZCX8YMXXWDKTFVB0LDMD8Y3XFYETM0V8XGK9GRYUG46O4GVXKVGC7N9XKBA4X2Z0Q4N1YPVBL5N0NJOTFWXPZ9BSJ7BE56MOLVCFB599HAWK9XF3MCH2CLABTDUSMJP1Q8K628YVB21KAIW3YTJWT6IDRUNUXPEB8MZ6B82F3ON91KWTKS0ZXM60TA2JCUN04SLNEL2GHS6ZOADD04X43M6OKLD36OI0DMK0MPH81TO4PZZE0PON51LAHL6GOJTP9CCH0IZPONHK2L0SO7KKBORPUZPV4UJABRPY9FIZJZS73A5X7IRK63J9X9XNK6OFZPTRWH0A583S99448600U7NRWH94HS7ZOPX775WU4R7MLU5CMH8UUH6ECCLMJ081O09CZQ7ICV2PA40H7HL1VGZMW1ETDUFYLW7KZVUZTXFID76NIPWH4GRD8M1I = -36#XS1B6085CGCYKTUEAALKIN0Q7ESKIQB2A1HF3GP1G5OK5961I * (-36#IH8SW6OROHD2A04H031XCFD5RXNRNPMWWEK5149HTPDIU29P75CCR2K74VISLA910JCKVJPQ7LVNNDINZDZPLN5CTA99QCX3RAJDSPGYGA0BSCGW5O8KHPCW9BEIBKA1EZ1X9YWK9X4TPJSK8NMLZQT0W8L74MPT69YSN89YV4R82BDK138JB8D1FJXN7ELJAH4ZDUJS0XUS7OEZSJPNSMM4K9TWMT7M26LH88NO04NAZNI5LQQL6J27FLPTE7P8FH4SXOO3O829VKSMIMZ6YIGNV1AGQFZ9PY4DUWODRDLKKJVA0U3BDAODRJA1RIJYV4GODKFZBHS4LH4T7F58515DBMVD1RY4HRLAJZIJEVDF2SBIT95SR0FZTBO0LZB7ZEF3T9J6QIJK2IJQCJGRL2CP3CG1TWNHG993S2FWZ23CYAQ01CDRMZCMLMI3FV97CJ0ZBDD02K1SBTZH3C11K7AAW4CPTPZ1IJHAFRLBKM39K2I3R60Q1DJVD8JAWSGE9S32AY4XPAUGPRK8CZV79GRX2PWQO54GV9R84T2VV8SPRKSBFZSMWZDRGG55WZ98LTLMFNP821TRF9W8TXKQ7RRUNL0I57QFB8ZTZTM9JW5JSYO62097Z4Z7NMQQICMEHUUFGQP7YM8PBMAMDKT2WT7ZLYVT02AGNZ0BPHIJ4B9B1EF2D3OMGEKYTWVR9PAII51DFDLZS2NR0ASOOOSNSTAS66967WWIS7N769385LHAKQPFOG5UBX4FFVPTDO4QI5GL4FRY7SL48YUB9NB4ZZS01F0YQOTKUD56FAC7991KKT9YR2RAUMVADX05F6S3J4EAZULA5TRXSPUE86TXEOMQH7O1QZ3K2FWALOHHHDW393A1ZWWROKX9LVUV9E1SDU1YD4UP9PBIV53QEEO5WTLGYP). +36#1DXWQBEFD9Y89KC6R7Z60OB3XO2LD1MIUJFOMOX0X4BB0P0795 = 36#3D7S0RMP31WDQICJAQMVLBIMYCICLLH9KVC5YUDZS0G3IDP3E52ZMFW5H4JUM4LPWKTPBQWIM1IL4TWGZZVDKK0C0LU27BPGDTPPLFQPQ2YNR3AAL9P1BSGHPLXH3K3QOCSYL568Q8GIGN2K7UAXXAYK143N9S0GCG01S77F58ET6AQ4W73ECPGOL7T76RNJHUIRXIL208L5B0OHPNCMWFA8Q8VITGKPWD72R7UZ1YVCIWE58I76AB9TGRPI4I0TIE2JN0LNB7T4HMCF1DYIMW6B8SRMKGPO0JZWBE2E7WZBGCSNJZ4OS9YR245ZOCX4JQGQ39VP4KUCRW div 36#2FDKO5M156XJV6F4SSNOYE1DCD1TFBHFHZULUNIIF20H1HFLCOO2RA1ZSV7HG8V5TRK9ZV3CDWPTW7JJ5O69MCK4OYU2TED698C5S6IZG8202DKHB18QDFZB7GJTHM50JZ43K3KSEBZZM8Q3RBHNP0QT5GQHFBUB1AIMDTY6F6LGWIQBAANQ7C0K6D3MO4GQJJLAIQ2SN2D1TPESAWGUB21KIZ1LJAEYC3FHL2ZCFQBM88X7ICEG5V8HFEYDM0J70G7YWQNZ1XPCE4PDQ42IX8WXXGCCS. +-36#79PIAUPCIK4NWFIKDSR6SYQM4U3DIT3ZXUDEWMTK2M9PHTLBFPCOV2RJB6L46LAGGYM9N3182GZP7CMMYMTVTWGCIW8FZKE8YVGX95OJ3X5B1WG9HKNOD8K6YJSPIV65LV6BZ9HZIK4306L0YRURDMAJPPDKSLILVR50WQIV090QPXGWVDYG7KIZFQJJVLERHSMSVW2819ZZWRF2QKTDTN1AVGEBC02980Z50DTNU58AO1PXRHJK4P380IZOJDOLGMCHF95TZPX5X9QB8O0OSZMDRZC2Z02VS0YO1IJH2F5K0PY11VILGQ1ASEYDZF40UDRHD3T6T3Q82PJC4OW5UK7X2RHODKYB8IAN5OS8QPAUUVVCBHE0QF44L7P994LKHRKQ5UR8YEHU0QQLFMZ8EGT0ATE6T5UESWT6Q9YOC2HS1DWIBC7ABDLX7O92N51Q7X0AKK82O3O7R3HC1PKMJRX489UDF4CM99RWZD804SW3Y6UXAFWRUXQELI2QVVCJQPWEQFNVTA9EZMSCXWN44LSR4G69VUCHYSKAP82VFNO7LG9H04I8362GCW752CJ7SBEXFA2FMZZESOM51X8O236N4N9NQ9A54GRJ80EW5FQ0S3FGMQKP2QNCQEEKTZ2F287GUI63VP98JRBHFKNWRCK2GV047W12OFWKI4RRI7F1D93P1GG9JUM7IXS5N20O0A91P3D12JAUMOEEO61UK6TG3U6GEZXUPNRGXB153VUHPP0QCX35FLGUPZJLC2IDXJZJBDJGYAU45SGMFYL6RL2TY5MC73JSB8I3UI4RITTSW5H961YGC2TNSTR2BU5P3UWKCK8RJO6S4CJGXR85P7EQXNKTXTJ9RJH2PWJWK9TGF8PASHO1D1E15JPCGVGMF6UO5CO5BSAEAM6V05580CCNZXFLRX8BUH6LSWH4LB7KUF9IDMSNLJAE8FPYEWQ5I35XAAGHVN16V35JXHMO3R46DDPULPI75ZP1FOCE732YNTB36PVC6UYC1GG7OWYC3DGRU1UIMR864HS4YVARGZA2UDCO68HI3JR0I6O3C3L286HBJAQH339N43O9UU20RSMYF28M5Y5ZLG8ZBEI47B7I743SKKCP1EGVH8ZXNYVW8QNMG2NVGTUMONNEJTDKW4PKERSH1Z084L7TYJBVK8BEO59OGF41O5OYUEF84LD4860FL6L990UB4QNUL18NLB77C7W7DJBEA3GFMIFOKE3YBD9Y0D3ESHWY6DK8SQOGGZUMGEYEZ6IH8RQMBJ91SOMPAR5G3VWX245LVNWBJD4FWJIG5F2M6X7Z1UFG3CJMMR2ECA7F6EAY2MD3QOWV235KWV2ZD88I4EPLQJVHGY6D6DSHY4GY2C0YXIE0HPUPM48035WS1C9CB5E4ZASG25Z378XE9QQ2OFFC5H4AD4OGHYV17JHSPGB933WOFZ3FWUV1K3Q28IBTDYTO = 36#27BKSMJ5IRA8K6F866MS3MMZ2V26HX0Q2VTY1BG7RNYD6847EHOASNG4I6HAL33QXXV6GB3SR4912MSTCPJZH4G0XMDFBROFAPFK47ITWL3IN3TPK9RGA5FTTVO3RXI7HI0SUUM7EYQAFF6ENVLH2Z5GRHJFBX4E5E30YZDCQSD6LK8RRH4AVXEONGR2ROM8Q7P8GNC1AN8BZ2635GW1JH5OMCTWP2LICJ6749V0GC2CD9HU1YFXP4MAHPUYW0DHSJ8JPIHC4UTJQ8BOQUPC67GFQ01NE7QCTEHHEGZ17N7H5ZVFR3DF93S1O3ECGXFNUWE7QEDULD8VXVW5DCDJY5OCJBOE0W1E0UZ5GBD3OIEV7O6FNW5WG6X483FCWXS4U3FLJK6GDCSPPTESX9U0KQXG9TDEHXAZTHHT3ITROAWNNWA03B5BT40096G3CZEZ9A9O7062VNUM7CXV4XBHBILLU8LTRBHFP0YU0WEPWBRAMRTPK1VEW9YLHCUW6LCJQ6EZXQNCD9O8F81LQ214EJW9XYCON4F75SM5WB7JFFEIUA8W0F81710RQ0FSHYTFYE7TUXYKZTNAYE2Q20T74NPTD69BLAAYHBX832RO4IZWM0DA7BH8QDVUQR9VG8SANR2O1FU6L070OPP1ZJDQ468EOK1KTD23UUURH8GQV7FV0QIELK4S772EL7V7RKVI43HW6P3I6IWZ4KAE2BUO7KZSGD786IAXFV9VAM7MWC82XD30WNLR7Z7V8390WL0MVH0VJZ * (-36#3ARXSIANDS4RTDFIUW995KK2XHZVM3SK97YSO0RZ7JBGBEYJE33FZYYJLGQFWA0PWLRFVIBH23E5BIKX606WUHQO337PWHLLYGV8VLO1P8CIDPGEBLBJKC07TKSEZCXOBG3AWDW7EMKI2SLBZ1UIJYYX73VFVYO6WZ7PYLKMMKPICAQ3BSMJL747WGO94UCLRPYTRR5824UO3LYVO9W2KLBI7UL4M4Y40RPNCRMRNNUS9WAYKMF1ZA7ST9ZTB0XGYU95OSG15G5U42LBAPCRHB8MT8EEQMXSE0R8NCT41T2DUNNI8Q02PPPENMU646TJV8LTGCUD0EDCRA4K3FSYM8VADTIFUXKERZDU06VYW2O98SAE4GPX3BOACN0UAZNGE1FXWXG3WAKOQXOXUM881F7N6E9HEDKS4WJZXE1WZ3HIZHGXL30LLEOLZFWAO4JF70RUMB8BON9KBUMRMTNX9HHRBGA54OHNK21YPRJADHIYUJQIS00Q6B5U4I15VEC8SMYOTLGCK9V4ZNXLZLCHWXSE0ELKH74C4QTLJHY8VK1AZ8D7M364GSII0FPQKZRZQ373KX7XT4GR09RUGE96ATASCMO1KRLTEJIJMYXCSDH1646IXO8QTYF3UHC8Y0MRHKY68H9FMYQIVTG4F29KAOEAYXF6YCYCC9EAS3VVNO3XQ1HYBXE37UC). +36#2BQEZ2HNOF3Y3L4LY22FONFRBAC0TK27UKFUYNQPSDUU0A34J5 = 36#134OR52MTEE65VOU8OP54XL21U3BVY1PA012M7GA5172F4JYKXZTFP569ZMPREE46OUPUWT95LU8K11I9P38A49O8X97FNMG34NPQEJA0SXK3PIBFGDR92IVS9Y8LDPI85SUJDN8HPMSPAAYFX25IXCY2DE7U7CUYMA4R2RSYJM5CB8OYUGI065DUKDJO9C4APSZ94OF7DXNPYISD0XED0IUJVVZJF4KMVUEB5W2OKVFVAUTOXEPO4Q88KPLRTHMXINAB3Q2IXWOSAFR5JR6RRVW9X7L9JJDJFW8R5534Q6V2PM11OILEX91FVRN04MJOWK7DHA1OLNXRRTRYSPKZB98D57DFL135ZI0UMYAQ1XZQX8GS40FVWFLCQ6RVYUSE128OGTD5NIYK0CNOETH4BL6K7NUCPH4U8KDF6VD9RW5O8GQXUQ15ZG3852VHZMCVNYGJ65 div 36#GTN4ZRYHH0KARD3TJGGTSYL3G8U20SF0Z3PR4KX9LJP43KDMKHIPLR6WG104BX9628UQZ43AIBIF8OLLSKCLH1F2GSYNHH9VGM31A0MS0CJK9F2LNA0L8C8LPYERKMFWKR7F0YTYW5MMG3P9YYB4GZ29WJ8JL84JYMGXGYR00H4H2W7K9PV16KP34EGC11K4HX1A0KBODCHJBP4HX8JU4SSS63FDKI5MWMVMOFLX8X2UCYETH55HT8ZJ20GOLD3SGB9DVIKY211SH9S16QE1TEEAOKZOPNLM43M1TBL7C5QQUJ6ACZZMFGSECY428TNTJB0AHVY3ZYSP2X1TAM2CDDMIMDHZV8DZITJYZG8RIVNCR073DEXRNHCVMW2DQ0BLD0R9SROSN351OZH94IVJ1. +36#ITRMMY3CUADTC8V4MDIAPUWNBRUHFQJEARFI2H1ZFS5Z25T71LWEVPU0BGLDXWZ2D4GC614H061ZO9SE2N5LE9Q9DT9HRNFZYQVZ2L808AQ9KTCMMGQ6WFD2UJYL5CU78OVNSVZMGMY8V6TAR025F4MKXBW84TFY2FT6UKCBL16BHRFJTNMS3JZDQOWJ8LHMY1II23R3QLV5IH3AJRW8F394F1UQ9ONW04CVU6CANZYQPRY8SACXGMNAE6HB3NFJV1KPQGXX64OYVQ1FU9DW1LIXRPPZSJU4TY6T84FRAU3DX1MBTGKR3RBJKR5WHB2L0FCDHQET7CVW778R950YFP7AXRGYQ6GN9RXD5328OP4JFTBZZCL87EAY = -36#4YHSV8OBVB849CCG6IKMHR92PU5ZIXSJA0BJLB26TSSSOS94N05XCPYNNFCSLATGGO046F89WBHZE7YJTVVT85HMMNKKQ5AUZ7C5MNKY28IYOJIRLB7WCFFXP30C6UPYC6GQE4IUJ3HR16A9ULEAL44XPR6A4PGP70QHGI3T98EV9Z9Z4L8WDGCAUEKJB49UARDG81U3UTE9FLC2LAYMNOOBZJ7Y4IW7UIQX633NVZXMXAZXIJV6M1ZBATTJ2DZS97KC3VT4WW7BKNBN7CN8FSR7GM0F4B9PRPM9RP81WUTRKGPLOE565C0CFQT28OVAQ67X47DTV62PG9FY4SY88XGSA3YP4RWTU8FDIDUN18XD6T5LVV6ZOJ9TTZQQQ6A3AJYMSPBD3NPBXS0CN2HZWGXJ8PFIV7U5DXMIFXAGO div -36#9HB5V1RY722FDAFK1MHJCDH0T94UBG0KL1LC6AOAJANVA2NXO. +-36#DYI99LWPD8TC3NIDN6NW8RN3FCCOAP2Q4GWXA3W8ODK028SFFBKKJHQNXOS3VZAQGM413XX3PWWS3XH5GT7W5ZYM2ASQ58TVASY13ZLBR3DT1K7HOMXQCTP3ZI4DOAUHKCHNE2BTH3LVIBAEDTROLWZEZLSGYF20NYQ6L0XC7UMA6U9224ZEHNEEAG1BD2D7GTR61MXM2ESM9PI4TVIFQVX85DIOMHLDDFJ6CGQGKOBESQ9J7ZLF429UX43IEP925IJZ4HCHKFLO52CDREPI7IVLAPDRKDXINXZJ4NIK4F34F49NXWPFF556UZXPT957N35YZFVDCYW687F0P3AGG02444SWGBYTUCCY4GMVPBR0WVFYJJKK5C0L2A1P1N4PUIOW0MCPJIELX85I3C8B22MRAEB3DTTLNUXOT03WP2F5HXMLKVWA6HKQC42PPOAGGH1SE3IICLXYKIYLJBCZGUEVPSP1M1YPD5LLML7FRKK5WFVFELJK5OALFJ6JS7ZZ1XK1NPV2WL1VAHKHG0SXZIVVLGXH1X89UD76GFDKVBOJTHTE30Y7OP9MMNRJ93024VDC67X7MWENIJMLU3Y2V4PL5SVIKXJ5VK7E6YKO494FYASOCO0BG6OU8GF31D1ML39619S39RO79BHKQE1SPLBJ60VFPHZHAW5AN8X82YSSRZMH7WDI177642DD4INA7E2XILKFGDM8PGZUGAIN2AG9VMOQGVSSPJN0G464G56MDIV4I47G3DHPO96DOYSPCWZOF5PWISYOJ3DV7N14ETYMD1C7TPVGXURL2P27Q9OBK2COQWWI0KLYPQY7WC8XCFMU8JU3MPPZQ3NHH494P8H5K60THEF89D7C6ABFS63JRB70A2GVRDWD44MBEV7520YX3FVM6M4KH3AE8SA06O27XQDGRDQFIXMOJ2ARPP82A4XPXMTTXCOXGB9HYE5J5E5B24ITBMR87HOL79MX1I5433GG8JUL8V0DMLILSK8NKRYXSM64NZROZTV4KR43DBN6L7OPYLZ5XAS9C43TSY4V2NIZSYE28IV910INIGCBQWUUQWIM6K3YH8D8MDXNKS16M0ML6Y98ZAONT6F57WEP5ZXY5JRRQHY28HOYO464OK3QCKPXNT2GGS6CF8TFLTDN8LLZHZWH5KICL2Z15SUVV7EETF5RFBMQRKSCFOKY14AXXWS9PPFJO2EFU4X3VWI2O2K = 36#9CJYYUKYZY9B2635OLTXLZLDU9B8ND64HEOBNFY46BCB04OIA9886M58HRIBQLN2ME0BRMIR5VN5VIZI1S1DNVHEI92JX0N30C6Q3SX46HT0LEAM81G7WA6TYG0B074WVXLA5B8SPI9ZRI394Q5GOB03OFJ1F1H7IFMBAYKRCF41PA861N1IWKZQC1CY09I0RC2RY3N0EZFOBL8GPR21Y9TNKSI3YKFO9EDFUF4X0G78JV9U6QZ644D5Z8R3D5Q7FVVVB1DM021N8KANOXG8FMK86TJBYOCA1JNKC9G9XN7IL2Z7VG0WE8H96DJU2TFLS3KGO6Y50PM4VXCNYVLJ89DRVO6FYXT52NM8HQ1LRPV2IHGAK71RFJ4BE5XT7V314W7K40PK46LU5YIHT7QD24SPW2VFSP13BA92WHYJBS09IZ70O3TJI9BBD7LXFR6ZKCKUXOXY8L338NOJHJ6BOJD3LSUAZK2RAJPOW1K1BBWSXPV6JEWLGSNAM1TZZVFZJAPA26L46BUJSHUTATPX6M62B8QGBXZC6JJCZY96S9DUE30Z0C1OTXXVV840F0551WTKIAIVTW7KW2M58EDZXDY75CZ6GA5X81Y81GBTRAGDPTRIA5W6RMEXC8KQ58SXZ7BRO42EKC2YKDHRWDX758MHHO01K4URY34ARBTKXT4BV8D1PTZR20FGXGSK42XM772 * (-36#1HR1OVE21R2JJ8M3ZQ86FSR0GYGWSO1XUVTNQWKB0GLSU9M0S2H5LNG3RA0A7BP3OPMNIPKGARD9PK3XN6QHNHQ2DI2ZZDOQ2XXFHK9SYG80KD09W76SDIUH5V62T8HPN4VOHINQ4QF2HUAPPHBCEFRY3LJH6DZZ05OI6WP8ZEPLALQFHCUZN8OCIDLUV2D50ZIZA1FG6KE7USCS41ETEVFY30QJJTJYF40C8M7ZYF4R68OBMZVMQFJ53VXKHG1EIB92B4RGNP3XEKU0YWKT5L8II2U9MQ7X3UYUVZ8Q5GXG3M8IO7NY94BD3Q468SJWMS9QTC3QJNGKZ131TV1ZJ0A39G498JLQM0WAJ9JF8EZJ4HSQYEI7GVSMY980G02FXWTELCBOVLGFVTR6E6NIELSIN6FZ8GMKWMWHJ6TKVHN2HDUKFIY8H02YXDK3C59ZIBJYNI9969SKSDYYTL2TC9R7GZNHKZXYSAB6CCOENBDFM3YUEK9RH0EIAGUD9CBOO0N2A). +36#1NUG0D78NAQ78XIFYOS5I8ES910XFMK18HPYSG3YTDPF9YE44GI4OO6S4ATXZ70HYQCD4RKD4JYPUKT4DUI31SP4OY980SGQOR4K7K8FJGUM8OT2IMIXCXZUMIC0N7FRF8QL4XTLHLYDFCMU4F3ZPOQOWUMU49Y9I9RDF7A7V43X0JJL0JR04BEA3G6S9YMC4KGJH0LH3I2N9O0KC = -36#WFEYDGV59N0L0N0IK2TBAEIT6I3PUPP0NELEDWNNVICDGF2BXM12F17LEHSTATWEZWZU735KXXHT7988192Y2DYMOZB1CICBJIM7HSHQE8YP4QG0KHXPEYJO90X26639LLECJ84QD393N3W2RGZNZNP8KZD8KDJOA8Z3ZW366J8WN12UH39Z34VO5NJMA87PVMZNVTZUDYB7VKQJEHYQOJRGDR1GT4I11Y09HNC9KV721ZY1H0E6FSRECNSYHU08IFIUNR3HPDS9DSC7M1CQTEVFBITRYHL3ERNN6CH1KBBQLIAACEQO2HPS0U77YVVEBZI2FS5US911Y1QFMN4B7XULXB4TY9TBIH831H47ZRT6B2KOKA78SS9JVR9IV69CQXDVQCFFX1JPDDSOQQ1DH2SD35CVPY9WDHVG7KXXMH3CFB2W49MB3ESRKUTOPJ35HWMVZ56T99P3PTPKXTTJDNNSG7YK2GUXWWLB8BT7VYX0YSZZS4PJFI4YBU2QZ0F45HPEXKVO6DD2UFN5Z29D6HJBLU2ACV7ORTNLZ3OTAK1J956AEGA966K6BWK6R3SZ62Q90PHH6ZTL8INPM4LMB609MZVZRUG7E058NLNTM02D00CTWFINJ4UBPF2949M4D6B8LFCXCD926PPB6RKUHQ54WT9XTK71YJIABO1S3DPK6KB6KS8S8R22HMSC0463XUQXDXT7F7HTPDTQHMSI5Q8BMD9FHLWKCW4Z33MTY9WC78L32QKYLGUOL3NBSUC0 div -36#JI96YFLJ5Z34G24ICZWT0IQHV1DT70A2F8TGVK601IMVSBNODMV4U64NQ1HY8HGLL5LI7ES7A9KZPOGD0J77WS7PD4FMT5RXUNXQDZB8XAKH3WIFL4QUUTS0HN2WY1L8ZLUHGLIKGYHSO0FMXP57TY8BVR3O88ZJWOKMJIUBDQL2KHSZKNQDHIF9HCLOJBC3P19MIE6EDCWM83JPFC8LP0EPUYNC53LDSEO25LMF1044M1QK41N9WZSZOYMX8T5UB5ZPQZ1H1VOQI10MUMJTCN0T7WEDF11XZMXN8J1TA0YE49UGL76C65ELU9LGIM1WHW36DELU0FXEIJ36JY8FI83VK0B16L71Q95VE7WB5F9V5H3JZD6JDKTCF18F6BBDJ0XO4N3OFWB4NAFTGJ4NJNT01FLA8I2QC1389TBXYFK4SII9PUQKI2M34COENWIYKW26GPU3GQ3ADUBK4Z1SKQSFVX227MCSJU2X02LAP5UZBJM491SYBQEPDGTVVX9VISE5OW1V7FKQWN5RTE4WV7OC2WP0O3HEJ6U0904KR95E5AV0. +-36#CIQ6SEWTK7XWQOGU6J1D17J1MSKOJ3Y7JUN52P4AXZPS6ZASNVTKD8K9MW9LPK8ZRA5E3QW7Y646DNBH9J3F59ODXU2A85SRJQ2CVE88CCKZCMUP8DE4GQLNS5FY2AM1K5M28RFWT84PG2SM8FM277P2AITZPOT1HON0QYBIBTHQ5MGDRFN8SDNP1RYX0P6YE12Z7W16KAP1ARFGZT1IFNCM7PV31GX1945IJXGD78PDKLD9EYD4LNRJLDA6I0SNEPIBD8P9KUIVT4ZA30E3IGNXUFD87BFXOIKT2TD8FP7Q77TBX3GUP5Z2JJE9OH1DTBK3SOY5ORH2MJDW1EYI0Q30Z12MKFI6MCQZ3FRD4DQJ4GXEE6J9ALC0V7FCIAHRC45ZFXKCO = 36#DKTFQFHQFDM4ZNJ0Y11WEXF1XAHW2OPFF53VQ9HPX44OD5C5HUD148RE7J0D887QD419AGLU82DGV680GJ7U34W5YJPF1YHIILRLENABGGTHM24ZQT3PDUFM4U6YV6Y2JTINUGHAFUHCTXPCZSWI3MHBWZ86VAWV7GU354JK304GB4VZBZYTYZHS43IXQRNKJHO9TPLFKMWNC58PBC5686Y8WPM34LHYRFRLLCE5FSV4Y4VETCOTMYYQDGTZDDAC2LPS1QHVGEXA88QPT8P6NQNE6KPA7YGUCJVMQM42AM9GELHZQQ11BXZ3BFK5CPNQN2X3BMWREGY31N5T9XFMX4X7LFVPW71U8WKWJS9E7CPMB4I7BYQE6S75DLEW1078VOE124MSWPJGY4GWJA0KK36DP0QB0G1RZ2ETZ73CDWRTLX3T80ZDWGJLS0 div -36#131ITKXIBIERVRJ3K0NPP14GKEDFLEEV7N6SH4RPSX8IZ40K2O. +-36#CH7Q75KL4KYY86PNIZNWTV3A0I3VJ51Y6Y5VUIO06N8BZXNAW780U592D4B1V233XK4TDX9MGBKNKS47JBXVIAR3M14K1UBZC9QGEWQSAWZXNIZMWGBZ1RSTQ4BIMYTDZ2WY1TT9XFEPC7W9XPHXKN5L3EAT6AM45D6I2B9Q40X5RN2YEN5FMSQ5G2XJ2ROXBGH4FIS3HV3L4N2TZJ7QHQJMJIT5B3BRR73WLPQP9YMVAN4BBSITNYB2NIPAQABNFVF259BCWB5K6CQGWQVAVRREFZECY38SESGFWD9PHCSRYH26QY5Q8135RZJMNZIEYFDBZM5UWST4KPOGC3GBJ9VV4YJ94UYUFB8BJ0JCEAY4GYO3C8YK1ADSI9F6XQOD9BBOF68LJKHK8S7VMXUSOODNZ66TPHCC4FLPLAZZMP05XTR72OK2K55R3PR0SKTLP8S3OMEH72TGV793AOR6LF1H2BAHDU8S0G2W2U2VUYK7PXFE55MZV0MC83IUKSFE8XOZB9N7KOCFRBFWO12V3F9WI3CJ4LU834VNQ9H8X8OW1JQ4M7O7E8Z8XA17AXRGECBCJSV4TFRVPHYDT40RZS7V2BC2D9AJ7CPPA7H07NHFZDI8WBAFLC8ZR31SQEJ8JH2JN55ODMUGIEQWC = -36#1V0WP0ZWVUHC3WXJHMZARI455NDCURKU2UIVRUZB0H6474O5UG4OMX6ANWYWCJQND5TDBUWF7GHXC3W1C3BFGW8PXTLBSQEZZKSA1FNLVBX73XZ689BOVOKLKVTQ58QFAM1TVHTQPEU12ARJLAVSI2TUI58MD81C9CME31K61EWPEZ2FXXB0OHQD294SBKZCE81AP9J2UTIJ25H5GA2PJILSGGL85706S8P245WOR2XR2U7IK8PF6OGESQ7EVMNY5R5KG5UP1ZL1OCSBGK4HV3S5G709L3RXCWAWFGAFD2D2RVJTE8Q001FOH78ZOGWC92LMDXIDTFOJ9IQI0I7FPY2OZA5C0MWFVGPTLV3YKPS2UBO424L4ZZTUIFZ65VW6WZIC31NR0UI9TVV04X9F4ZZOFWMK6B67AWQO73FYSR0J9QLRBEKEFSUNBVOPTE0CYCHPC3C9F02Y834VDFSFDDZNN096PQQ5N0CTV9WJ1AGE5JHRTHZVDBHVNEHHI7VJMS4S3SRHA3L1CA9X9Z017RM0BSF602P0916LQWN4AFZ8DUHRRE10P91D5HAGVHGZYIMFI4KLH11X6R1WGRVENUYC80L5RUN8AH78984S6DOVMB91X8OGT8O7YP3KA1RIPKH3H74MW0DPVMN96W5USYSA427DY5EVG10KM2WBRB13XBQCU81PIKUIO9VZ85GMBBAZ5CE5H7BJK166HCZVXI5E4CB61GS871H0KL158XVIUU5KLWA3KRYXZMFXDVV2WRGIOR7P274Q6GAK54RZF1NTO782P68ZBKWT1RL091IXR47RZBL4WAUPA4DKL1RDSS0C48Q76DSPHCXWH90SZMZUTSTOOF47QEEN5856BY2I8D8ZJAFHX1CU7AXCNYVFP9U1638MV69XD0GV77ADSMU169DAOHTW8BHZ0HRQ77F2VB8RAX3AWV7NWCS8ODAHRTI8BHGM33W4M9I6LH1J6MYLKOYJE9LC0JG7O6IPC2VGOPUO9L5BV5FFO7I2HVR8UTUK3HDG7SSF9AX94D175ZSDJKEK83KEWIXQYV7Z63YCSG7UG0PI076MHO7Z5EBZC4Y33BPJDDNTJUZBI955K6Z3CD03US90EJ60CS9BK7RW0Z1DYPNXO9HFJEMXIPGAJWI4XYJYM03KXRVTM1AHGP3JUN9VYG4FBPDWWDCC4QE5HQBKW7UMA5IOH03GWDBWSDJV460JEYR7OI6NFSAG0SUPLLAVBNCQ8U45UXZG5OS8AAO4BSSRZLSCW0KTQQ77R4AJOWN8POXJGQ0WBJO4A81C4S0NJ4Q845NUBSPQKRXT3R155XL8JSLC4EOK7OL7IV9KVOABP15CNO8IQ1J9GZKWXIH33GGQJ12DPBQ8VYMM50LM7MO5MGEQ4IFHS1UMISJHMNNKUJR0BSUD05RK4T377VBUU3BQARWARB4AKHYEEKHZCK689ZC0EUIA5SCTCES0EB0QCVWBJ96B3OEQ2J9OHNB4F7QW9OKTAYCXP3CFVEJZKTG8IMG4XU0080MZSK44ZS1A7WDSF12G0M2UAF5F0WDQYCM66U60PBPMT68EK7LPGB2678Y5T6QBTIFAFVC4G5NHN467IIH6H8SO1RAI49MJG81K17EORPBJQETK01BLD0DTG4MMBFC7R5W3IJYOUG2DSP6ZMINNEC3Y88ROM9S0XWYM0GPD7YNVYXVYITPY70M3BGX7BYTMODJDS3SETXTVO2V80UKTG0 div 36#5DDBOL6IOIGNLLZHKA1NL6AJL6VYT92776VIY9EEIT8ZULVO5FZKMTSU5V5P2GXJKCVI1LV07ZJH9G9VU8AH908EYC11NIGZRV8GY73RU14FLV9HHFKMKA2YDA6INLQBVNGYU479F6ZD47LF606GTC0TPEZIR7R1XYF7CTDMGNZV703H4A1ZPE0Z938ODJO1YV5Y9RSQ4WAFDSF36GSYXW0GDF7MP2A6AVYUYH44PFIDESJBIV4CGGYFZ215FEPLZJ3HKTK2ZM6Q9KVOU41G7FWIG6C5PHSX43TS74DO0JT8DJ6PVV4QABIQYYGNQR3T5FFZM7FB7TG8VLVOUA4YUCLY9IIM696TWK78O7LTZZ4K8YWQY6P9SU8C5PE0OY0JM7BFB3CB1MA6HUW5FLWZM2DGEGJ8S59FA2RC3A2SC2R5LFT74OY1ZUM7X9K9AGH66GZOIGPDVNB07LI1Y0Z2YTI6B0VFRBNQVQQ3F30URLJN4GG46XUVQO4O69LA7IFMIBBWT7MW6R9Y71KORR4X9WUP24FJZUWSN892RVCSWG1C28XVOCKCD6FSOJLS161NJPSDTLS6YO0FCHBHJY04BWF6L0EAJXD12BGYV8N3C60ZTLTUFE2QMM7MRNJ1JN1Z0M796Z2IOZZ3AW69FMR6E1OO9IMMUZ9R9IT8IRQ77Y6D7BQ6UJPR6QB0HW3NMI7YYYU1XF76FORH1XRVN82AJ0DZ90V8DQ6WIJ8JTJYCHUB2F7H0GMI03HO68WK0WHMUXTSBOZI4KZDA32VE1AH6ZWDW8XM617BSCADQQUD0HKADVQAK1895WU49ZKSK1I0LAJ9TZCL9OKLB0WNF4Z82MO3BT86C0CDPY4WIDCCRMIZZ86YI0045762W8WCGHB6BX722TNIZYD796K8DOZ16G6B7PS2DKSTFQNFRSLH7MJAACXRN2DFE8R082OO03IKN2U8Y58M1JYO1SGJERDABK6I30PIQJUSEHPERMB8WUVBFWBYA7KYVXP36DS58H8VSPGOF0PECFVYX0F959COH5BEDPUSEDOXYP1T06ICDDVVFLPDJTTNHYEFPO57RJDQ8C. +36#5W2UVF3PFFGPVRDL3UPMI31NPU2DKIART039MSJWENSSHPI1CO29T9WBVMPP7X1NTKBURJOHIOJND1VJ66R9HKELBU86UXFXMT828EOQ2DW1CQD1A9J6WW2XTNVNT253YWC6YQ8JIOGSCBYBRDJ77D1WLR4QWAYSN4TXY3IXBY8K17PX9H76DU4OILJ49P7CMQWWN3I2TBAIMPV2K6DKYHPC2W7LDM23LU8EZ5CXTF1VWWNT831MBJYUS4EWMMMOFDIYFBT8CBI94K1BH19YUI34RPAL180TI6R5GYP23EQY9HRAUWNI856G1UIUKQB4RAG9RFV91FPCPQW5LHN09XT7DNUS5HYLDMKZ1YFOTB184G11GL02Y4RJEGO44PC3BVF5GTZTU5ZAYYVCIM43TASJ69TGHDZ0AIXN3PUPPUUKP8WTVYM410MOXFMC75IWA1YIATVRKZ52ESDXE8QQD33O0TPWO5XVIII23275ALG5K5PALMUSO90JUUGZF5YNN7SRZZ3CFGLZ97105DG6E6UZWX5VEDUSLNYW47TWM2SEZSRLASZQVIU7UBNANYYWB9H8CA8PGM3MFIGGWX1BCU9P303HL6Y2GEQ8LLCLAS7T2TX6SIFFDVQSVVBNWCK75K9XHZVE83STAZ850HEY29HIT002BH5HQKLPXQ2WRJ3RM2EWUN0XXXR81TWJ2VDCDGWAPX1OPCPQTVB2QVYWKE8N38C863HTOKCBOGIJ8E9TLVTNCE6B3RN6IXH6UAIP3KR5WNZHDODMJ4TSYGISSEK4GNC7ARVI32FIWLQA0TBOL78SEMCYW0PRPXX91A7QKEJIEQ52FKXLY478GDBEFNHDPJF47KZ2UF1FVNXSGW18P0IIH5OYHSMTX4OKN6Q7WUIF3HHFJK3795KURINYA3KGCFCTZ6H7AUP8OXQUW0AT2F1N2OAOM5K0D4F8143LV2C3DO2JHI4KX1A19BMAFRFDSBFXM7LWNHLLX9Z90SN9UC3I075QRME0G1JOD2FURX351WLWRAMWAHX6CO3WFVEHC8L49EUIMGBFMEO31HHWF2WD4HHDT41Y035NU54BHE7LSYRPONFUNVAJ5CRM3GQ8T916M7L7WSAJHZO50NFOUUW1V9RZWD1GMRXJJFTN9DKHEQ66OJT78SQ8BUSQW0LNUOO9GO6ED7CHPW8IE9I5ICIMSH1ZPRX29SU7EGSS4BQUVYGDKE8IPY7W7R97CO8ZJIJ8NSDT1MOVSVUO437SXZ3PVWA18HGO3ESGEYL0GZ2RPN87KNQBUJ0NQTJ6IJNSAJDOCKYU4T5XEB4ARUGVTEUQBNG5ZN909AP0SPNWE4TG0ED5ZE0JZ47AUB1T3LHNVOMAZJNQVI0PEOXOOKV425UJ7KFMJRJ9T4MHMVNXMQ6KNLCMK9WSBH0IR6LQHYIY9UAVVN4S74472VCO6XZMFYE5N12JO5U96DSI2BOKQY31M3FHJDDXKB6X13NI3M57RVPH587ROMYDZ2IHST60R6VGKW29LVKKOCMGU8QG9OR5FTPN5CYNDCO3TTO1SMS3QF8IDA83SBO7K3Q2JR1D26IPWVI7EZ2522SIW = -36#3C893E7IA7DDWYUNIMGEE6M4Y5CFNWK3CBYRP83STLBF0OGH20BH3835B1IQHPPNAXHJ3WSKWLD3H4G38GXM4CV4Z41E15PLGNXSQKUTU6QQ7GOFY9NJP97XNEJY409P2US77N21AECEY6HEQ2CVR57U2ZK64XPN9D581BQ3X5H9MMG4L9N24V5S9EQM8PXR57RVRPLWCBV5MDT44EOEJ8R7CKCR7KP7GUV56BQMJN5AIT25R6HWKV6HYOVTG6G2K1C8U7UNYAOE4C2JKCNVV0LW24PMX43TVKOZ1S157YY2WXVD9JPO3PQ09T7FHHXGVESNR8KYXYJPRVF2NSVC219UEBF60PCOUGIVOGIGT8QV2Z7ABPG1QC4UT282LHV3NVO4TMTIOQKAZKO8OMJQADF28L2C4U63G3K8U63LTHSNZOQ258SIMY4W4D5OALRC95I3FFCRQLNW168U86Q257SMHG83QLHOJCQPT3GA0MQYOHXBXOP3FSYQJD7H417M4K3PB6EI5YD1I71ROO77Q20NS2LF5TI729YQMWWMBZHA6XMUY4P14QO0V929RENNYGLYXP0U7XCTZVIF06BCJAUGIDSF9DLZ3K4O0HAJPY2BHH1A1470GM1C9VY1I2VP6LQ0LWEJ83DQP4HEKJ8L2U6CQTVM9AB5WT4S6PKON0EMOPWZW5E2HCBI26UABED3F4EDP7UR8GD9IW9I12YOS9WRIECNDHGKUVWDBH0VQ4AX0MXNSCO2VE2M25JPQG92IP9K91752K1ESKVCVTJ3463LUID34QK2A8MZF8D8MHE1PCMW5BD8AXLS9QE1ZNN8AFFSGXQDLCRZ5ZJ96QTPWO9K7RW21KN84F6J6692LSTITJ4XWLZMB759QS5MR8C5X75W6C8WVI355VMVQHUS3ADER1LI17RKZ1M4UDSNFXOM8X14Z16VFFJR190P5Z8CGVR0LTTET7GLJTXTLV3O08ZADP374IKCSU1PZXCCNUATJTHUTAZ2T2KB047LB94V6TWO270UXX15O62RSH2ELEBX70JGZTFUNMP6L7YCXCFH55557MX5W04VGPUEU1QZCIQ96VJH1EX7G8ZJ3V3WZ0PI0FPTVHPYBTZV360XG57BP8SPH8OFLYPH0USSIPWS5DH68GO8KIW17QKSK9YEVZIAAON3ONAY06XQ5G1NJY9I3Q70NGI0798UOQ1ZTY13CSUNFUZFKT * (-36#1RI38R8DHZU1TZ47YJBOZYVP065020799I9OA9RICQGBLXM796JWM3UNIVNBPB0WAHYOLGL4T70EEFC0CQL2R0ZYAYPF7RW1UCCUM7AXX3ORMA5PWLV6KNH6NVJHZSDS8VVTM4ZKDM148VXSK3NZG0SWL9CPFV55TTJAUUDERDJBSDLYD3EHNY4ZSVXHG3VVW8RG7DFR4TTJVXO16133SVHP7CKE24DYJVYOTRWTBHF9D4W798CRNTC7S9J13HBOUKD6G9G2YQVWEIG24DABAS3THZK9WR0CYVSWRYMJHZQY5IZJK80GDZ2PM0TQKU9GOUHPX4CI3ON1KDTYBQIBRK5F7LI3UJJWLS551S03Y2MZHHTUWWEG). +-36#ASBFO80NJ5ICZQQ9LP72BSK8QAWCYLNTDN1FJP4YT3XHTVAJRUT03RWCM1IDJR7I43GTE8HIYJ3W559H2Q99LRGCOWW0MUL3GFHFO7GESNKB1JUSGBXS79EAI9L12SIJIN2ZWO2BKKY88DIFAMONMOA7HLZA5CKUJ16HF2E87LMUVENRSUSNERO0JZHTV0E9XTBGI38GH1CGWPLXHGRF2C83SOW99S8O2ZQN7YV1AULPDJDS7D1ZLIY90HODJS5SC0GGWLINBYZLN8GV40HXSUNUMA94SWI0A6TCQ4KQ2OH8A82A5O549DB03RXQCN050ETZZO5OWOY8R4IJ9NRACY4YSLPKBT81BPSGJI1EDM6U5K71OB2OXRXWUTJB0ONVB5IZ7FWBLWRT0APNOXJUWOMERICZNZIQE129SCCKI5BPT227NCOVPF7A2QPQA28EB4LHZO19UTP3KJ9O6LUUPF1JBXS89EFKE3RMT26GQ01KSITZYUQPSV6W26R2Y4WQEO4EQOLPVDCHEJUMN0H98WT4JKT0CTLRDTKB7K7ZIQ55UY0VZHWMYN309FWBUHQ9SO96B7UARBMGR7ZKL3OUCI5483JHG7EXIN1NKMW78R7A769OC2ZO5MQ7OY1DP2U17Z5WJBOOK56WBMKLYH9OXS8V5P4R2NSBGHDT8BPOCC5RLW5FE21IXCUF3NYL4N6P4FUAR9W6L9SEVDONH1T6OGG5KZEQGV2NV6YTVWAJ5PN7BTX83XOY6Y6STLKCF00 = -36#CVL5PLW9Z52XIOD1VFNWGROE3PB7VEFN3FOI4ZYL83QSXYQLDZRGYWYUIQT4UK4Z8T3DR2A44SR4MLP9JN0GOTGCID405QOGJNK95S4N56J9WSV7U0WVRE3E8WRHEKA9UI9V610BC8NGZ9B2Y0X83RMCANGZ7BAEPIY2J3ULGGIN45JD5RPX3RT0MGGRSXQI5Z0HFAA2GN6HSHKT37UANVXMCDX2UTC3ELDTWSG3OT0SVAAQFSCJXJ8HXQ09TBMZFMEPC9IBF2FUIB4A714AMXGVR8ZW4EN0OP95NVILAQ198LJ74XKYUW8FXGHK511DAHZZNZ4VL717MEK6DF04FPSEAMKI587UKY2T5AN5Y0 * 36#U5KQCN0D0ENGCG31P361RVH9MMA5HBIO7858P25E5K9SHIS9X4OYKNS2CEQVQ7KYDGNO4BMKZMDE3VMKIIGL2VF5G2SBR9I4KWK210Y4BH8188RFN06UFM9GW5XAQJI681C366NOLJ9UA0CJFFGBVJQOXF0R7ZNSFZIFJT4ONI5K2V71TVD29OJAN3F0Y4TKT53BAQDOZNJBR74IXPQ3KT7L3KGAMDIVMQDOTAADDL8O3D7H8C1LWU8UP4QXAOTO13NBPGC2W20W5MW5ODD0SZFEQ9E7DYDHH6341L4U7HWQSTN31AANQR4G9KZKFJE8T3KP8ZFNJ9SW250TGPS8LS60OWNVP3I25YXDRADARX2HTY1MOTBMW44VF9PXZOCH9GRM4HCHODS2DUVGWFGAI. +36#HW3SJFGM1V9AWZERUS6PVW3I8IWA2QUAIC935ILACURD3H2SM4RGIMCJFR5AOUH6BTDBVLOBR7FXI36VSFC4LLGVEPY113D3OUZRI2RTHN9X9T5DJ63YJDT94RZNUSL37EQNYIR91V2IVE99FIOX32EKC8MQ2JEOIDV8M02KXMEWMIJU3WONOR3OVQLH1FB4ER8XRZM673Y2DGVD06TPBYGHV93X156C0KUSR3ZCOHQ8SQJ0UKQUET50H3P16JZF4QY9KS0QKM830R4IKH3MH4E32ZQKSY20I83JIIBQCW35HNAYGVV8XW64LQTT88MYN89MWIWF2OIWUQDRORH66ERIBQFMJCB878QBXOFCTMWH7HRK83D73BG4SXPX4ZCGR8GYBYRXFBQ0IAW4ANW7R8RB96XMI5UW3KJ3XZTM89QC0ZKG605OW955AGQ0IMMD898GTE9ZC5HAV0DPYYV38LYYDS9W4PP78ZKLT0ZFZ54X230XS6WUG8C867MP9D9EE25XJB365GE2GTHRHPXZMXY70VN3FMAIK98S41KY2UA2MEGHKKRJ3G41SM7BYHINGACHS91G7OOT1OVFR0BC398U4HDM589IURE3LEGKHG1V53IJT6R2CRVS7D47GDHXLW72C = -36#8Q12OCRXKZ35TKX1SJMAR2L4WLRYDHO3T700COOWAY7AE3JSUUJ6EVM2Z3L6O12K2Z97UEHIZW8KB6P4MBFTPLIGAWP044686BBFPOSQFIPSC0LCIEQR1FHH5L8AF5KZYB3HSPIRTMOHP0TX2VBPT59EQQOIKYXSZS2DJ5XXLCCRQ4W8WX7080JE9X931RN6HLGVER0S5CCILT4YU15PYETSVOACVK0NAPBVN57GDQU0Y7YYQ0PRAYP9KDT7MSVOC4Z9M8YF9KKRQOYLV2E3QYIGHGZ7DIUAHP7OSA5D2UWOV986ZVYGJZZF8KYINVZ6WNB9XDUBHIFUXNEQGGI06NQDP0PPCA2GTO8QHFZZITPK832JM6MR2ECSDU2SZ8AJ9EB5V8EX9OGYNN0XXY9UPWN9DVY629IUC5EXXQ8FNTJY170XYOB1SHD4SGXT2MDPIZH1IJPLBXUXJ0YDQEP6DACVJZKOYKDIIOQZ3JYD3O46SYGOXQUXGWIH7N09NYXDWOK91FJ82HANXJY124L4VAY4VHTEN393WPC3DFC4KD6EGU6OZ45SXGATFAITLLVRM73B9JY0FROXQOHNGGFHTTNWXOP4D0KUG3UM565Z3JPBYLYASH25EO7114MA5NYJ0JYRU36Y5BFKM1AMSEB72J5S1AH7EPQSZG7W2GYDGHS3HGTDT4MM0FD7G7T95UMUKUVDZYMOZLTC3PSK0W5IGDW7EVPRN24VK3G9ROTBODA0GWCS2REO9NMN1XGMNAZ7HQ9AKB37DTKPIL3AN9UHXT3OPG1NCUVVO5W2AFXCUS1BNAWQ635CUFJ5IJ1AA8F3M74S70EUHLWAF95SN721NG96CSCGYK7X77ZQBNPT4XIO6J4ME4G34W30PDLYCCQ1YSC8VAN1NNPRMEGNEAHHXBUJMRA4S3V0RIDBPOBB588AF5HY8M0XDIPM7UVWFL8655WOB0L80OZGX3Q18650P08D832C8R04IXJA3J62W4EUAT72UADS9Y5EJB7VJCN25WXV2C84EY14WGIM4RUB0WSZXJ03ARUFVPPU9TPPVG7WU3WIP05H6KR9IK18WA24AHYQLHDJ19UJUHY1T5CDXOYIRFU2Z7M5JGC div -36#HJUV2MWUVHLVKODPMH22SXW1A44MRKZA4V5PJ252RGCE4SCQUESKUAQ8NI80GL31JE02IGTOKJRX4N369D4NDCK62ASXU1ZBLR649O4K15P1ELWN3X5HRSBC4JBGTJZE9Z658EDWIVM9ICPYEJNIT0XITY9ZTD5E4CQ1IUVAG0CP3I8QFHEZHON59P70ZIE2A8FBYCHBN6JM0X0QKRJZXFM430EKYAJ9W5G430GZQR8SZR1SKLYEA61HEVEB83UFY93X5APXY06KYQBTUE6I993UI6HO8GEJ9JL2X7UNAVBWZWBECNH5K3PV6J0I20TDK1LX0I6K7PU7HQ1LF4EH98HYF926JYB3NHBIZAS9LEDTUCF7GIKPIQHYWPO5Z4MX7NMWKSFI2079B81ZLHR50EYZ9X2VJZC1II7ONCG7ZF673RXY1DL46WAQY71Y6QFESXJ59I2UMKXDQNM14AAFB2R84XXLI7. +-36#804N4QAL5E91H8TZEA8YUCR2JHPQN7NBYZ048IZVK930I208C = 36#7NV8D7UFY8GBMGM8PLCEQN3S82N179RLL9KMLB9RU9XR1JJR1SH7E9JY627VF8MOIXSFRF2HZD53E409KBMMNHYUH5O7W7YZZ6XV9W85UJJU97EG8LBSRO3F9UU4FHDNXRHIPNGFNJQ95QRRV1YFATEYSAY3T7BZ5P3925XVHJL0CVM5HUP8PGMFVBBD0YGFC7VGFIKMTFVVLHJ78E2NSME2G0VLVZYCEN6DY7NGTJGCB8M2HW2DT0UKV3H0D5VZDG4NVET4YLJIJIVOBJNSCRZFAOHEOMVOY2KQ6KXLW7AIXNUMNGQNIUZWCH2E66BWVBXMRC68ZGHRXTBA93A8C2OMU8JO6WSW4WJVIO9XY2SFF4FQO3JXFXSUI83Q7A2ZU5QMZG48LWCCM6U52UEOLQPD744QY8RI2U9NTOSRL7DSTBCQ2PKDY60GZZIS496JDVXJVY3GHBRMEFRZ71PET4BWD6NNCO0C1NIDG2MGXQ331VDPNI6UCAD2EV1K407OMMM57BMUUXTN2ZNICC05D2908PY52B286Y2R1U4MCZRKD7Y4ZCDON8ZNOG9T1QHLH5SNTPF2JSEF5101J894LMN7BB5O div -36#YGUJKDZWFFA6WKD14MRSCU33XP0J3UPBKB8USEKWPSIT9RTZ75W8L4JFFMU6EMUAVC71OM5GIP5OAHJSKSY3A14WPQNHOXN82JWAA9WG7ORM9DC77ZH5VSYPUJ87M69CLMOCTLNWBE38BCJ8RF7PKAAJXL9EBRF4FF10OKJDD8KKD7QRQ06WQ9YC9PB9X3Q0G9IX783T5NE1UADVJF63FN9TPL5PX2KP8CLYB7581S3UB6CWARTD7NTRSCHRK26IKUOUJBQE26SOZZNHQO5UAHBS3EOB6CTSAZPVOFX0UXDXW911Y2LFISUHCUIZZEY7H3DJCPXW3PSBW6H0YJZE16DQIFFR2FGM4AHZIQA56WKN8LI6LR5MK6LRJBZ0Z6MEYYSQJS7GOOF26JC136PV0D1KTB0DPLQFLINJKSI75F1L5E2OHQMQULFWPN17OZ4TK6ZF9M0XFAW0TEAV4LA96AQQPGH3K14UQ8LW7EVKE1XV2GWGUBFTZ5EBYA28B7RO400KKKFFG238DB38I07Z64RVYJVU7A1HIYC7JWZ5VU5. +36#ALRFY59NSDM6L5F43VBMV9ODP9Q43XR5H4O2SBPT97J53RNF82UWNEM8P8FVDV6J69KB15Q7Y6GK0DJA02QM4N08MZP616WYWOMAMAQ2ZUFWVLNONF7XRM0D67MG09S58OPCOBEWM8WZ2OYVPY8ZAPMAHVFY4N2AM84SGYMG440E72H6T84LU07DVCH33BSCWAIH56DJ62ATY5DLUIJR5EU8F023DD5JUTXSOJA5USIJ925S6B4Y4CQAIH9V0UXCZOLG7A79HD677LLFUNOBMEPOX7PPN1QR89ZI9C3LFEE53V1BFJJ2JJ960XD9RZ5EC49SKIHJQ8BGMI = 36#SEI324M9L57VB1KP9Q0AD2T8MLDGY2SAAPEH5BRIFSAD58ZMSRIL9L0CKYWKRUBWPRYZHMD1M6X6G8ZY26JZ6LMIB910B4EXAVGCJIZTHNU5SLPDK0K8B962LJL7LVL8ULEVZL2AMIL * 36#DFVIS8KC3V3BOPKXXG3I1JHUDADDCM56EWBJ4MBSRUWPKA5ICA1LTCVALKEGBH87CLLWW2WAOIAP1DRMZGLETT0PPMX4Z3DZJ5ISVQSG7MGTXBY4D4P73D16EX59F35V7UX9E2C5VEVGL0EP8AJPK2VHM5WV44SUA9HSUEQKULBNYMEZAXWOF9XA39Y3IC6RFSI. +-36#4RZF19D45DRSA6XP0C3X5R6EBY810R3Z3W8968ET19RPA48V9XMVVD8NA3SSODZBV8Q87ZIFZZHAAVKOAJ9CV02S20IVEKOIJFK = -36#21BAORDP1KE6691QPPQJ2EIHNXS47ZV9D1LR0041G0W29M9XRP * 36#2CG8DUXZIS756GX0CKOZV2JQRGTS4CHPO2ZD7H05KH9YFFPGM8. +36#U6Q81JHVB5B83CT71GTJ8OC99HIDC6TM8M7N5I5L8J6LAB3ZNGAXRGY3VUMKQDWITYKEA6QF2718THJXPUXE66V3CBTPMSNB0NOUJOX89YK7M5ET4Z7F79S9DHU7A67E0RXXD8X7Y7GYY85C9Y92E5D8YC4C6NG647P6O6LKI5H4ENXGTOC06GSTCXGQ5YIQZ85Z0ZR2LT9ATF5AHWN4UNWGM24QW59AGC0NHHE8MLXRGOKGTEQ0VU2CQ6DN0Z7HT60LIZNERR09M9W4HDJP0ILZTQC8LGASUQF112OF523NOABGWKG706YHPZ1FR3T0JEU4H00WLRW5POY0DS1VJLI5X2EZFJC4KW63CMUZRBFT3SUZHSCVJKP37WXC3U9TB06ZEREOW9I8S8R229PM6ZOE4U7ZBIJ12CCWTGYVCQK7MYEZ0NM5OCQ8W5NROLSEDEKTHKDMXUZ4WTLQIYV9C1NC8ZFID1TMC4VS476J7YM6AZAQJIXAM76SQFYERH4D1UWJ3IHT299PAOTVRFH49DJBKMYHUK6OS4YYX1EOG = 36#SCD6TV7853HBWYXSMKE1ZIKWFBNPE4D0L6B4X6H8499MA1YQHIBF8E8U60BBL9JPSXZNGFMQXTDTEB1SRTLPXQ24EUDIV06M17CRILQG3UG0HA1ONFG3RS6P42QNXJUPSAKGFJ1KJMEYNYC3X5UXC6PO8M4ZNGXVGAGA5RW1YZY7CAE0VN6UAN01DQU1ZII6L73T7EU7Z5ZG7WJ2M96ZJGK9CBX1T3UX6GLXWG6U4I1IOTCCCXGCK44G874XWHBZQ3VJEKJ94KZITYTXKAO5ZJ3BLKOTRNWUZDXROSRGZCNQQBNY2L7DSQAJPGDBAY9V7DKO9WS0MSDX7SYMW5XQD8UUBHRCJQUFZ7JA0BLCBQCGDAFHTIZQA08PTMZIDCPOXI3ZGVZXC9FUTMURP9I4J325X0Y23LTD7F99IU4L9KDFAXJQDSJTKS05NU9VOW3P49DDJ3G4WYZMG5PFGJZSU31TWLFDRICWZH0ZF5LCAFBJGTTXF2SNN708 * 36#12CADZ2FYPN3FI4FMLBJDQE1JJ5ISY3VQCGXGO28ZR9LGD5932. +36#5Y2VR0YIBDW9DSQ1X897G7HBZE1V9IWW0BFGT4CBM7CP1IT1FH84J4WKYPJ8N6TBLYEJUHESF = -36#BDY6QDLKKT2WNF2FRFP6S025GV907H7FVU0G03BZTBU0MR8BDKOMYAPOXN9CY6A6XN0NSRHRJTMMZCTKGVFACNGOSW7F90PZ9TH9DLSHNB2PC4MYDDD2IZ7TB997KG4UA0KXQ5B7BXBVZWMJ02J48ZYBJQZX1V7HWZ4FRV8ZZ494JTTLTJG8PIJYJF9I3VROF2H058U9KVUXCQI978SGFXYHQC9ZHF5NIRBW8TSWPWCENM74Z07FVW76QJ24SXFRFQIEW9YVB9J8IQAN1F2D3VZSI20MYS3C4ZRF5ONQC6AEM3VXTSTB9UKVG4KOI3OCDLYR div -36#1WXR9FDT0WC47KF9O6TZUBCLQFRMEV3019UAHXU23OS0LHXXFGIO935O4D7S2GZLFE1NGE2YMU0QUY6U3RCNHCRTF3WFA2236HT8X0VUO0SL3EG6W5QHM4PKOZ7X0OUTUXPV53UJ8HVSSTLVJB55HPHCSMEG0T2EKH2TAIIC4HV8LY0L2HIIGUNZA2UEV16ESWY5VJM3R7JJPI3YG72O2EYVJAX8573BISM69SCV4WKMRAOI9FMFDV3PCBVX. +-36#1S9OIG02Q3YSK2TAXWVB8CKDZV461M9NVT8T48DN599P4O7MA6YOUGAXI549YO4QZ77BHYJ3VAIX13T16H5M0ABNP5PFM02FROHPGFST5LAXF9LRN48YLRTF6QZ20FYWDOGIRDVGYBWW4BG62WO6FHYIAKW523UPNHGN57ZG5MG95B0BSCOGBR8Z1QCXU8ZFGG0VJOLMBGJEMYFYW3EZAVR9BJLRKPM92S07PX0O3X0DLRX8Q7PT3RF8E8KUBQ0E2I82URN1QDVOWPXWD169XJ3V0FMQ4POPOXDBWGKKQ0USUGTQWYRC9M3V3NGNGVATW4HIYSPNFWG3EXGBHH3FDZ61GZLP763PC3RJ8ZGUDQ7GGGG9CEAD00WNHQY3O9J9HOADW8OP9QMB0CAYMML5GGDZWJ0QNQTAVXTNAHIRZUH03STR0B3EA5CQGDGCIE6SL9QKZ1DOLZP3ZS0K2ATS72LMURE5Y143R0JJ5UXM5OBP0SHZSIVZ0362U7QB6JEF92KT8HPZ15N0RZO5L1DAZ25ML95DRP3415E5V9WN25QN1LGNSW3WF282NK7Q9AP0SKKQJI6AQYB2TS1OP4BJTWMQU3CKERS39175BD3UPDN1UM91V01ZPWYCMK1AZM3KYIBRZVKF621EEXC0UAEMTN336F4EMY9JQB6JJKPY55GCFX900U86DTK5PHIUU8GN3G95UPKAXOWNECEK1633L3J6F5ZZAC9YNGGPT0P97O3VLWPBXPVWF2P7QQ3QPHSZYDKWQOYCGCBJKQB5UDU1HSFW1I1XCK1E8HW9MRK5TJHYIDK2IRT9L40EVJJSNVE0T1JJU11EC2WQ6KFIACNMSWY2Z7GJTEIB7SWCMOTIK9YT3TX = -36#2VQYM4G6TWNXG46ENOYVYS0CBP6T0T4VLZFB04E2QBJVZTEJCKH9L6NJ5ETQAC8ISUHY1784W5XG4X9XCP1ATODQLYA86B6FLXHUURSBUILCL5Y2WK3VHU5BEYKOOL332WDCJOL6G9W2PKZ6LCXB801HZCYXZDQ0U28K6G0RKR25Q1E4Z51BG9KYFJW6BAGUHEKZGEKKKGQAWVRALZ1FQ3R5GP2XDCBVYBZ33M3527MXGCHNU7NSYN0KEVZCQTUPIT9ZIXBHHDGMFY4CYOVKNQ29L1J38M29GNSD5QEC6VBMKIVPR020CCWCGLM9QUU77G6RKDHEWW8VOT8O2LAL8W6EU6QXZ5C5154Q7YWF4M594VW2YBM0ERO1H8Q9CG08H6S3JGWIE02UPI8WJ8YE93OIXW2U0JE0PJAJU3WYFARF0M8VSKMNKMG8HB8B1WX3KEP54BL5NV3HY1VLPP0ZXFFU1XAGPZRSKA9RM0C9A2SGW0UXZ62JWB8S1E762LFKWM99TNHKLRZBVJ3T4QEJQJQJL73RYCA5ZDLR2RM2O8HCYGP6HGMG2UQ9LAES284AYAJMLH412M07MWSRGYXHF2EYWW28BK54WBRTB18T5T1EEOPGPIGL9SGWGKWHHYP5GK2ZNEMLMH31OU3GMJQFOMK57DF8I4ZGL1JQBOD6WHATJIMK83V7NK6Z1BCVC0NYYEREWNVDTAXNEG5P3UL00AF64F596GW9TIGJALAV85K5ZWJ3TZZMSWWCF9LHSNGQ98VIH3BX759DQPOM0RQP09UQ5B9FHFVFZDS97UYEJPRK4M3R8UXQP2I5QH2ZV0LRL2YILUDYE3T79NBVE693JNINWQCNBZJ5ALQMXDZ0SWAFNOEPLLE0ICUW9OBL31P2055HGXHAT941SN07NZKC66XUT3QHXLW84FAO74WZ42ESZ5Y5Q96607GJDVY2AE2F4GDO48X7QZOUY491ZRFY9HQKDXYHF7OTX3W6FBGXBS3CK3369KFBN18MB4FNUE6XW6FVYEKAY5N2ZCUTXL6ASR54ZJRBNIZEV1CADNYHBNVCJ4D52KKHCCI3SF9Z4Q88JGLDIN7ZA86KOK30DL2XPT74ZUGBGT21TUV3O2E3 div 36#1M44I9JX5NSOLY66J8E39KTT8CHX0KAD46LV0PMK2RZKCIU62CDN2DG9523CYFJ1IC88V91ZKHGTFK0ZAINEM91DD8A5UIJ4X8QYMIQILHYYQLI376BAW0PAVC2FEO1487SA83A3A7NX7LV78YPNY0B4SBN2EPBPL4VFP7A3J9A91TYWG19DWL3OE9IF65A2UQA1WT1H93NIT0SA1MAU3H1GKC7GOLGF89GPOQL6UY6XSEEBJBKTP6O79B. +-36#15XHNFX3X5NIOGL9DRP0FJC3TOBVRRCOHDORN8I4K2NY813PRWYZYL7ZTTACBS8Q08EQ1MKC38LXTO62HKZQR4TBKLTIY0D9YMDTBCYFK6NWT71JBYFVNZQ2FAZQNAUPVXP8AHWV888DAK0OVHE09RISZ2CDKKIZIFIDERJMYNE0XDXY04Z0LLBGDTH0IY539RT9QIRFIC7PXDZOBDNSF64QCKGFIL9XF29R0LAN8Y1LZKP9SFSB9IPL6OQ4V8CUDIFUEZIKD6XEA3IFSFM0HXGABQVGVDN4LPBRCDJT52V52UB4DV5Q2U87U30SL0S19QI8VWPZ4F8QZXYOKW318HN0M221JWQ99YZ8MCU1J8NF1JUAD23ZJYDDNI76FWJ4Q60MC59EC1E4IT9IW5PZZFQ7Z = -36#2UFJINOOBHWD6RRMZC00MW8339N2A83221I4EBO0QLYLZRCLN5 * 36#EQIKHV8Q79ZQKHC997WZBW2F33IQT81FMVFW9URNR843LV1DX6U5P4SUF7TPZSUEX3UBBTZPRL4AWOO9TNMWU42P0EI8OSKD178FZAQ4PX64GSDTVRC8O6SZ0GG91124A4XDK7V9RWITK9M81H7MGX0STS2A1XZGJGNIZ3RR5PK4D35AQM41OBSCAGABTR5K3UQU1Q4KC4A9N4Y8D29WAH2EPCDIGTAD25J54SDPUOKWRSKJP5BJD1S1VFTELT7HUY8OM3KVBM1MR8YM6M7MWVQ581C9LQTZLHF6GKGDP2LSEVLXWLFDN8YE2B9VWTHGSHHRPWMHPP6OXI9MT1JL8CWTR6TWAYXSCN56CY7. +36#14NWHN4W7AX12IWU46F74SXHYE1E5XDF43XPEG73Q95QPZNEQ1MSK60P68X6MCQ8MB5K2SPQO67WF3IOTX62U72IICH3FV8UWZWVYJ67FZ9GBMQS33S68X8HC6Q5TLT42XTV0TDXPM5VOVH6QMI5H3UFNB7C6MDR37HXO2YDPSQQK1QJD99WM1L1SO6330JNU585L4T4PIEM7RJ3X6TIHPGKWY2OIQFO05D6TXL5QIN5TVRYRMPU7Y3SFF4E1WQLGPQY0MFY45KT3BOCS8R9VY9FYUENJ27ALJD1OJT10UIYJIDBUYKNP64T75G1YGP0T62YVP6MIW8VRU9STRJJSOWPFR3A64ZIZSI451VHLTBPNV7F0ETXU72T6KACSRUKGL6PCWDPU53D7OVQY68NW5B76TUDJFYVT3YN7BFTSZGUC = 36#LMF3YVU3UCB58M5M9IKC5IT2IIPJFCZ2U93FVOAUISY1XOK78V6XE5FXIT1U17B82ITNTN9IQGQ34YO02N3OIOMEY44X8Q6D3ZZ4UTNV21J75RFIV2QEL353J65Y2YOXVQEEX5P1PV2II5MIVBWZQSLR3D45HGGBUZPJA8HOB315G02TNWZM9834HHQ6VS9AFU6Z9QU5CTOL7DK7L0HNKLO3YMDRI7MIZOGH049V3DBBPX688SRRCBVKFEI6NE6BW1H9ZSTQRCVYVKW4DOY57Z8DHHSRVXHQDBDQ0PZLTQW2GZ7DPPZ0CDQYYS5BJVO81HIRH12BFNTLFZF5U0P2IBNYFP1IQFZ9XN3BNIRM8BLBX6EHJBKISQO1WVW * 36#1VP9NKKI8MYJAUATTW9BTJ1E8CYAN5DTQ3VSFMU6LRBSZAF74F. +-36#MXUD160NY8T95GP24C96E19B51NR8B9AC92NOB354NXN014IN = 36#1VV5GJQQTP8WR2JBQT9FVBMIPEOFH5AX39VFC6O4VO7SWAHP7HFOV7KPA7846HX5Y9F37O4BHYIG6DY2BHZ2GIPTWRI2KKTNV4W8NZEDAQUWLCSWZEP25Z288FZV6UXI9LFHCUKBVPCOH6OWF5QTSNO0FSMDPYA6578L2L2LAENPT1EB93QN98EVIQLKF1T7JOK6F8HS47W1NI945A2FLSGKQADQ1T6BJ53XX66N5DMYWRODIQ3WWBV0BWMPIHGG7AM7540H8D3CME2YH03XNYP6AEBZQ7WM53XVXSGWPCF5NLBOXZ6H18EOF7 div -36#2YI1SBYPT7F3T3PFA9UAJDVJQJZO14H231XEIIUW23S3UA88ABT34FBNFN6AY7BX63EMEB1E2BFX8AMZLB2132I2ZB8YGVCXY8CUK3XXIMV1FN43OIOVPFP6LFEDQ69XFC6EABZ7NFYL3DKW3U05712K8DLMGAGYRDTXC8PUL3TKEJKUCGUI4G79RAK5CQ2CMR8PUEKTF32HU1NT6I3100JIFKP7HWM4LLJFZRQA9GL9KA91TDC2BCW2DO6SZ796TMW2DRE65. +36#CUPN8BACI78X2VSDJLO0QJNUFMVPU4E0U2ASZFOBUM42JQDCWTVT808IKGQ97JYS9HCOVGCD6S8G0RXUDIKI0J8Z80H68RF6LXGLG12A31YAO3HGRU728H09G9NUEZOQDTJBY6EGKA4H0I20IHPWV7ETPH6U9AXMVRAG7ZVFEAENEZ9W88MSLPRKWIWB94JID8662NMBA6S6BKIQYOUOEUMT3RZ6NZJKR4CMTOM3NCFDHHJ1VWK3GRTWZG7YLPFJPV3G0X6ASGDAQKI7DD19XH4S3UL4956TG8U1SSUC01YDXT7M8IJ2O75QAM1CR49CY4IE1ZZ5YV1XK6SHF9Q2H7SEGKMSRKC1OUAR27SB2AS21SU2HQVZADWTGSFDPBU4Z8W1R1IK55FCO9N1TAAU374LA8Q3X2DOD3535W4JFHX7FM9L2I4N5WJWBPKQ3E2JAMV8FDFPU0YCE0CLQXEUS8OKIQUVRAKBW5JW = -36#925NZBU8E4I7BRO4F2M1MZ7UZ8GFQQVNBON45TMD4AOJIBYBEK0BE879UIRWKGYQ7T3WYLQ06W56WUFRNVJ9UPAV0UD78KS85T12JG7RDBZLZR9S7LTYGXRPGPLJNFAK4Y8I7MEIXK62S9T6FHDHIY86Y4VVG2HRX4ZM73AHNN7R6LW7XJZPKI11NYAR58Z6M4YFHXJOEM2I5U3TMEQ6AC7E8HYQNJ4XRN9PJ5EDUMWAKB6MXG4JPMTBD4SKHQED7F08QF1FF8QCTZ7K3GP8XPCVSSR2SSJF7IB1JEJVCCLK1UON03HH7J0J6CN1DCMGYW74Q3CRC7QAH02KABZUV6RKO0SFYHSK8IFP98SP38F0NU7YLOGBSPZ70YSPTU84P5ULY516HPM2Z4I4OKLP3PP1WTAC7RX6OV6CK2Z7KE8FECK8PZT * (-36#1F2LUJ6RHD5M1YKHJ0CD1Z8XGD3KNYI3T2K86U25S0K6NX077G). +36#IT46NOKZRJ37VMJINP0PN1RRPUSNN4LZ151JHN5CFQDZ11Q9PZI57KMVXLU6G9G1PC6HG6DY8Y5YND19MC1KE4V4KPI5ZWZA7QDBTLUZY20MRYRMJTWDTEXJ0QZYY2ZV7UFMM49AVYW360IK6FNQI7N2P0F1Q4VH6XWR1DDNKA0U7IB7CIEGP8ZWKOMRGFU6SNP7T7SUTZVDDUAB8UVD3A9IYQ9RP6PSJ3LCZLQ73CIY99YDHKHVHZX3KV4QGYLI1KEIHL92NEL3C5EM5BTO9YNH5KXBL6I7R5H71FR2SMSSTT8DQ4839G54WYVBEK9P5HAW5UH5WPA357GDQMJPGZ82MT8B3H49KM31ZW0J8DJZQVBYO8VZOXTB554SZYZ1CZQC9FCN4C2DWJCJ981FNDXUMBICIWPQ4WGDTO83YJMU4GY23QRXGEWWNJVUAMY9H1WH2GWLCV0FUM78CS4H6AFY1WFCQ5BZTIVVLQBIOKA3HP9AH6M61Y3VCZ4PHH8QQBP1UCCC8WR8Q3KM1U9HVWR8PZ50Y0NH436UOYUWQXQS0HQNV1AGJ4N9ILXP8VK7L1EHOF19O0LLIPITFVVNG442C49IUOI9LY2TM2GEGPRGC9YEAQ0Y0NIF2K7QD3D7W6TL93DEZP2UK60X167GTIEI1Q1FNS2JB1SYQJKPO4MJE3RJE04NTXXSAODLO9AD3N1 = 36#H4YZKE5Y92TJJQ9VPEK5QGF3CO7VHGAGVGXLM92527HX90I8A9NRSS3OB4MZB1I07HJBTT5BZWP725X0E99XT5P7U440BX5ZL26VD4GI708YEY64EYG2NDRWQNZ6VRJW9X7N2HS5S1WPEO1TWNWY6PUQ2WO1SZW8FCWHBSEDJ7794ZTOWKTUKCS40R9RGO9PFC71K8V9ZD4XP5Y25F2N4C7CO92BHD09A5B33M7IJ4FW4TCOA9VMANMA04XOODWJSUFDO8WRSE1YVCOIBYUA42DEL1X19IBOQOFYDZ37QES6ETKT51CIEQRWGV5D9MEN9Y0LU7223LXD9F4062IWITOY5MLK08JX6M1LK7EIJKH4MG9GVR6TSH33FE9MI6CDTQTJ7E0GRYR805CJ5F9OLOT93OMZ6C2UHU1C9SQBA9AYBPRYZHWR8NZQYGDR7W8QG9XI3Z7TGLPIAEG6CFZ4SJ14P6A4EPGQARR27ME5MPXTD2KI2A43M5P7IR4AJWS1K3FMBPAG9FAPHR79ACSLAX0R41JX8HLDACEDCFO9Z9X0EFALNJ5B0AAMRSUWS3X3QYRCK4H4LNCAGET7AJV0XKQMVP6BBN5GY55H57HLIITYGN8818R1J9HYOU2M9FHP5GIJ4KUVOS13AWAMM0S52X5GT7DI92Q3GLB9S7VS28JYZGC3U2TILH5PYIIRSEKK4TS3RL9RMH6OLYWS2EKWYHKZ7M1V8DPU2FQRU851GA678EOMH8UF div 36#WSVTBOOCQANQ4ABE0PMCLOB16NZRCZW3BD6ZHDK2NWO1VQZ9F. +-36#AA98GN6IEOAHRQHV9YL4DUR8I65JDUMYI89TAC9JB46BHUCL75I3ZQ3FRTO5BG88KLHVP9SPO64CQHZSXXBZUG9W83LJVFOK4FPGYS4I6SVCMQPB68LPVKY9JFCCZ5EJPMCSZX190Z1U0C1TZ2F0NGCW6I0NUJQUGIWW0EJX4RSHA9R10GH3VAWYZ8YETU0M44YQ1LWA0CXFQIJDPMX6ESRUN7FJSSLARTR608M3ZQURY6VTPVNRMIFEVPBEOKB9L38QZ3EMZGJBJYR6CVHEOROD6DU0GJWIXMEYL7XNF1XMTP45MSGJLCEGFVDTU2SGIWHZD8OGQU2ABPVGQUYQQYHV9QLMHXRVQGSUZLQEMRI5IOUN3JD1D6J01PA4MN1T9XMQLXPOSOVY4SFMESGSMDKTYQE7MY5R2LIV546AG5ACJTFRASL4NXGA2R27KOR = 36#1Q2AMMAEPEQ8BZDYJ473J74ZB04LUPQMCTIUD6GCY5YTLD0A2APMJWN928FFY3SXJOCTY8EYR5KXUQ663RSOE2TVOHGXE9VOBJI0J9ZVWG7POA804M6C8C47W5DNBJOJNKLUWDW20XMJ4PACF3TGI57QAZEBHPRI6Y9RBAU2LZO4T8JJX1Q9JYBHO19CV140IM1Q4NYUBXL7X5ZW90QOKFFH049EUK9NSJXA57846GOIU46SWVFX05S8MTAPXRGS8KR571QZXBBRL4FLBELPXWRRRJA91VH8AMLVYEV17QIUW2UZUUE7DQUM6NJ7TH0KDQUTKZMP8P0RC4CZI0HTJ0CVKV9FH5QBA2L2MN * (-36#5YRLSCLV5HXHUO9Z8W6CPHH486TAZ4BAOOR22S90E2GXG7XSDLPSKZBRZ5OP5JDOHQ6Q6PJ589YU6K89N5SDJBJ0B9). +36#CNITQW88CT3ZPXO0KWFH12SW4MT8K1T9NW51ZRY8964UPQMSKBHR6G3MWLM5AWM28M86PFOZZKUZKUJKZUGSLQFFV2MPWDH01ZJ7TR0PPW2EC26XFJEBYJV6WXKRWXT993WI1MTEGUFD65RYOHTCQCNCYN5BKDFTHAXDCVOILS98Z7FJXMS7VRZB0SG227DM1ZT31XXSHUSF2EMAXYY85C5BTJTM2A6V965863GBUZK3ORIML = -36#2BC6ZQCJV4URKV1GPXXZ3X00F25KLPGDMIJXM87121PXQM7XGD * (-36#5GRU19UPVYFIBEFSOM6WV9NTBVB963RM5ZK2ON56ZTAB7614378BEOX3NHKZUT43TRWIKJKL726R6BDWIP1O6Q9QUVPY5O7NX1UOANWVR60KCS5S4FU0141H5YIG9SZ00ENSMDJBLKLCXBC9VUDS5W3R09FP58QLMHU9SNF7AFMRFDH2ZNHWQ0G9XIQ24Z3L). +36#IZUNHE7YIAGBYWODYXVQN5GO2K3QKBWSN3SYSBVU2EGQ71G3PYU5SN0NLAJ431VSKSKMCWR3B1TSPPJPUF8O3X3G2EWQ9IAKMCM0N19B70G60Z63CXEU0OJIFOQHUA96ISDG5H9IKKM5O57AABORXUHFVWM9D2TJMR5LZVDBVCWDAGKC8W8I0E9DU4KVL64YKBLVC1EPOFT5NMLHHFSVKIRMMX27FSEEJHLJ8TIDWBVB2BFWBP7518P9ICA4AR3XGP8T7Q06VCDZZ8QTKWGLOMU7RRTBE3UKRSX2BRSZBEXU3PRVFPV89R68R9WT8OUCOEUW6I8JUB7ZXJRUQP2CO8LZ444RAA87KV5WLSUK4ZDM8U4Z3OEFE3IU17ZBR4AHU = 36#7FJ0DYKEQRYXUVIUHLFL0GXZAHEUL2GKG0W2EW5S2NMIVALMYJU4LZGZ6SDGX6WM2484N1Z75PUFY5CX8Q3YR7UKOQTX4Y063IMVGO0532E5R05SGCVN06TCG4CYMIZ02ILALTFOASI7P1BEL7IHV058LYRMWD65MS9F49YCJPOXHBG3NEOLAUP4Q4Z51VLY8K14DDQFALJ2MPA8PPXSEQ81Y4A4GLQCXGS60FWJ04EBIMR89Z6UBF0KFNWA3MFO2TJ3420HEBQ54O38AUUU6C0QRQBBJNVB8C8GQKAPELOLB5QL2U4AVAW7QEJT4Q39GEWFYTBO6S19W2OM * 36#2K0TEGB10OTVNA5KDO98OPNW1SL72S6WUPD9SP78QWEEU7VC43. +-36#11IST2FCNBBT90MUS982R8IGYIJXB0TJC1OR5PCZ514M7YEXWW13CJPJGZAFRXMDZXPDNBXPSFMCWSSACF7LSRLE7VULED8UNRSMBC67SYR8G417K3RLIJ7XAWMS6H4LX57NM27UFXN13RPOD2PX4K2M1KKS3 = 36#247XFBIOR8YTU6XZN4GOL2RBNMTG8IVYDD6KEEJWUU88CD2MNK4NU7LDYLVIFAPFXKKDDDGOJW1TCZKIJOUZP2R3AQ54RD4YCO3D86U1HR4FU055W2BY9BX1OC6KAVAG8TH5JWSPJ7B94MPG9CCXQQN128M7VLAX2XMO7YCTPPKLMUW9QVQPL4FVAJTSJWWQ3MB2JNB7Z24K8I div -36#214LZP7XN8YVVAUY401MAT6CWT2RAK2B9D93XOBUIPQV8N61MU. +-36#1TI81YNGK65PRQKJD1BMXLVZ6GGJ49DKVV7GXD5H2ZI0QBD03DYEDS6QJ49G1DLFHAEP5GQ9TBOPOQWOQUU7E2ZIKWD88G8A47KTRLO44GKDQZ9ZUQ90QIL17ICAKAZPIUW929T2D7R8MFSXWHWE8SDESZR9G0Z0ESTH7JGO34LAF8CG85L4UKIGLQVW5QPI868MLUBRFN1TSR5ZACB24FMPKG0P5GQBZV9KEUJKX7CFAOWBS6MIIABIH36WQHB46LG71P3FI9U7870LTE9Z9SX9B37NVDLVE25L92HRK6IPN7BCJYRDOH2TA15X2TQK5JWPSGSFTHFPWL95CNIMXBZFGCMGPO8JOX2FSG9CBCWOKI37ZLZIX9KXSBSF3PUW01X1D1JTS36VOA4QVYIIMO1PT7ZC7R4KGBDXI0P01CKFZMPS77LQY = 36#461ZWI74Q4MXAUY12SFWSV1J6W4FWJ5ANMOOQL5AZX3DM7NJ8EE5F5KMANCKB8JD0K4PPKAX3V4EHOFA2PWV8MTN8QCV7TMXK05D44OMKHWGPUHM7ZAK9ZX8NXULJBPUKFENBL3KBNB9H1C1BX352E5TI6AHSRGELTCESP2J27LTE7EMPRWCC4QSWHZ2K5NEU8U9LAWPA2MF25NCJ19A0WYQRPVH2UENVCJCJ2ZXPSZ6VWSQXW6FBCPA1ZBA2C0JO1CAQSG3ZRLLGAAVFUSHXZ4X9WELO1HZA6TR5QD2FQQ169AA8VPMEHGW4ASMJKXGO8WIKWJGO1YO46AZNHYL1QOVWZRHOF570FOIFB1B9DAEKI3YTAFFUWMY7684K5SRQM09H61Q89EAU12E6SR04Q7BFIXW1ARKN1IK33VA4LBGJM76JSU0IJ6YU5EYAKDBX39WLHGT7S3NBUSDKSV7D25L8IXZDRSXGJBAV6 div -36#2AGR6H7MHHLWIHL88UOISDQ1W5X5RPJ9E9WPL5IC0X5QD9SOXX. +-36#FOOSEVNTQ4ABVDV5IFIASW69ZYUVCCZ64SBX4L7SXZS14933CHZQKXK8YVCD53O77MOSZJAOVJZ3CCT9P1IUXNAKWOVQE08EQISQ01L2BBLDQQF660ZV8UNCAU4CYIYDPZ61AQW9JANANLG3ED2TB1Q6G5MT44K82NW0HVEOKRVZA9D5Z31MF0HBS3S4AZJPCQ5UQ8LORYYXV5YAO1WXKND4R6RVBW7IPVATP52EWJY39BZ657QWHRAVU7V7BDF82K57PX75N3A5I54NV9260II5FF8DWL5528VG73WLFPC6LB6YTEPBEBB1QFM2MX3H4M9DA510N87C772VJY6O7BSLECAC4A4THGBEMRJNXZSGRTSLHXQECN0PXJU01021F404V29NGYZLJK2ZFE0U32G8A2A72JR6O2IVR9BZV3BSKRN27I3F6JZ3F6D9W6TASSUVXLXXM0EJPECQCIRGTUU969U3TP2SH0GTTCFN065CP06XEA7CJ8RCZEDBSNQ0D1VDJS9PX009DJHRNJVQSU8M324P92VP6N1CVNMMLC2AK2F1SDIL4VS40K8FQ1WSN00M921K0KEEF8IRMR1HPC6C0OE3GJ49GLWBE84JQ4E7JLPM3HCLYXJ0RR4NSZCCDQG32IP0BZUSQLUD489WSDRH9HPGC9OFQ183P8QF0RAWTU5TDJBDFFUR28WW19BP3S0JLPYEGHEIDVVHQTCT1O61M63UJUL2WWG37ITK42Z0W2ZFNLNGKAUQ6LKWV489HJ7XB0KDN0296F30LBXQJHX5S7Z02W1XJYXHVJWN8T3VS8IRSW0HV9XRW9TZC6TFAOJGYHB5UQB1UGYA3EI080PKQM1M1BR5MHRKCQG1VVP3CB3HFHBW9CSG79YZFFWCOYE00 = 36#TI8OAFD9HMDBPV8F54XUOOTU9BO5KO3GQ6OB1NUQ9EP3N1ODJQIQ9IDM9T1LKT64681QYXTZO4T2HGNJMRMEU9RWP0PVCRYWKTQZGDLJLK89RKKJ92S4W1FJA023KV489HJ4K275S2JO2ZSI8CNUGSCNL2PWJHEUCRXGQZH915874T9TI5Q19LD4MRL8WM2NXZCDYI0YMGMVGW2LN3IFCZK0S8EVLENGJ878Z92TFO6J1O1VJPFPH040COYATG28SU5SRFHNB526MH7V9JK8KGGKAFAEPYAD3EN1AN8CM9G2S20ZUZJB3M6C510AK7L48W6SO47EG34V62GEI6B8DQ7BSZTOU6N8PGSSM6LP96ETS1UOXOSHKTMFA8HOBMYDAFRMQG01F67SUPEEBSRZT2THK78KAGS449I0UGRGDH0RH9V5GWK7KDUPKKFOUJJ721RHR2GV79YRUVYB2TX9M6OUCRY25RPISQVJWFMRVBVRMOZOH73A93FAHNU0MRLEED19TSHWG7ZJ5ISDZX5BYXH79TKKFQA0G7EB19DQJ9NQWA8GU3UG1B7CJXIVDL24XGOLCJPYKJ7DJWYZQMD3U8YD39TNBC6WIMHZINSFC3G4PYDBPR727N5UAV64VMRQM1H460K3GG8NUYXL4OACRXUENUP2COXZR1K9J3BXNANLUTFW41T9MX4MODV0N3BP5AAL2LNXEEEM9N4ZW5VK6798S9EATDDGN8MISMER8QY8EKJMGT6LCB78PWNP7WX1UPXY855Q5MVRG2YKU6WHZGQCPK5WHZKGUW5DVS84OW5ABRY8D9FY35BYMAVG15YURCLVQUC0QVT348LW0U0I * (-36#J4YDWTER72P4SHH38YJUJKR9L34XODONAHU5ESS4LTW9IR8S0). +-36#4HJ1E6MIEXMJZ4FOLC28MO1EXEQ4JJRC4NJVL3SE2AGIW8EI1ZWMQZQNT1LDFTS5069L7Q14BYWKG0G7FCT9K0CEE7DPFDYO4IG = -36#259JBODMETZGT2ZK8HM46GW8QC97W7LTW6N6OK14Q6DS6AX5FH * 36#239EBSNDKVMGRXNO2PEXQ0P73FFTQTAS0EE1OBRPJAR9NJVFLK. +-36#ZPTPICGDMQUXX1J433D7RMU8X08EIR16ZODHE20B735339329H75DSTPJTPMG140 = 36#PYCXEDEEPUC0NEUI7TNQPKBEYZQI4E94K9SAF1TSFGEN5ATGYBHMAQOAYRXULTZFXRLQAMFYY7XJDKFG79S4HRVP1WK3DO2GBACHH40WMKSQ0DGBX4992F7S9Y44YO3VDFCEMXSIKX82Z0KZXV406Y6EOQZMZKOXOF5WXKEM4KDAPG8SLNY8E9RD5AZFWNDOEAPHBTJCY1EFC6ELVG819DN2FL6MYJ33RRNKIW0 div -36#Q5R3IAF1Z4C32CSIBEDHP6AXREK8EQ9KU0KNUMZE3EXQ8MTOSJYSR0VXMTDWMT98U9FPMFUNY1PQXCBT4VLY8L6TQPNXEXVZ5EPMK1WBYO816IS1XMOATKXIBVLIH1RZAL92MNYGJKGC9DRMJUF411SVQZ9WA2HOSZ4790H. +-36#30JZUZ0IKB257RA2MJEVLYE9NRP0IX5AADRCL6IMAZD8IOT93 = -36#HTM0EFVVV5HN31NP96O56T804KGXXFMCBVGMT1ZQNDRAHJBM20EKKYXZXXY11C451QNA8S5J8C5R976X86OY7Q5GBSURC2A97PF4E6THIU0CETRXCHQ9PKICX6BHQXYQRJAQ7SBLK0XJS37QRNWZCBW0LQ58WTPZNAYK706YNT4OBC0GT7OBZXI8R5L6V8PTK6XGWFFLBDMSC9E8MU6P6ZEZW9WJQAQGA5AIC6HG9W83YNDYYDVKL32HM25XZN5CFF7G77ISWIEFOY2ZIT6GZ7FKLX1HYXDAJ2T594OFJ3J436WXPECIZ2RU55EHE7FY9VDYQDFMZZZZVZXAXV45XI div 36#5WRXWFUU5I3SAQTT8LAUYCQB2G66H5PLJE0CN1TXVM09C5Q5FUPB3HWZN9SYHE30VLVECA455W9XNH4AN7PAKWC83MGC3A41J12F8LLGMSDNGILCCT9Q52ILAEJOAYRWJHDP7EAYMCMNGLZSUJ77E5ZY978TW4OTATJ0NDAWA3LRSXIDX026WOHKK37U2JY6DRA8S8G9XSD422NU3J7J7O0RNQJA2HBEEYTY2CCMIU906NDVE61G7NZ1YNEYQY0ODUIWN93UX1SND9ZIWZK1594MN5W433I9LUE0H6. +-36#7ZFY6HW4EOZB9S2YZM9C7UWEND0WBU44S79I59TCN553YB8F67IO47SQLOD43KVBI5LD7228NV1STQL45FH8I08MGBBOS524FLCWX51JK2A100QCZIOWMF8UCKLORGT9A5GF6LHKN2QI9ACPI8TVVKVQ1E3GCCLN0P85H56OZ2J8SMZSVQZCLGS0KIBHK8DN7LNTPCBZ3AQPTNR398BTCIQRP949KDYYQZS = -36#4TN0NZ1LIMM8BAC3HRM30M2N0FE91QJQ99O0BOEO40NWD4SMHLX47YA5J7RVCJ3VIFLKMKSWKBPICPM056IYCCQJYN0RO7449450C3NLCY2IACPPMZFL2L55QW0PP7JPUQK9GWXVN81ZYAE3Q0ZPLNSDIBW64T8EOSI52ZKSCDO7YPW1L5 * 36#1NLEFXPS724HD9RM84XQ1A8HGBKLTREPLFPN35ERLWN7B9AX9K. +36#VUJDNXLV57VDZ6C5ZL95368X4FJUWPAOFR657HO3BGIJT897CF3PQXYV823VYN218R8YWEJ50XH5LTYX1PMSFL378NFWFAQ3VYARVP4KJSB26TGH9L645S37HYOZ74H08JKJWYL94NM4RM6F8P4FWQ14MF4KEST6IR8GF1OU0PPRILURW4VQSHKKOHC0HSY21GXO5XDQYRZAACNOC0EXWCW49PQEVCZS5ID9FTRD60TSMROGWVCJRIQEHI6ZF4UZK8M1Y6IJFTWRIQ6V39XL60TZ79BYWRBJ7QLZ61MISE0F2 = -36#3R4400YHRCM6KOUCBVV9AFE5X9J6XID04N2GOX7015EPCFV0GM9VB0FRCCLAVTAO66I8ECW4CWFC4YUI99JZ1T9IMARW267UEMFSVG3X19ND0C6GWVASFFA10HT154IZUSMR5FNHNM0FRY1037D6OXHAXRHWBXCA1HKNEVI4VFL38E2XIQHU0JOGKBSV4SP9JZYSUOBRLJZ5CTSB21JWVD24NRJ9QL6FCEF4279LZ8XRLNLNHV8I46PJIW49MEJT6RWJ9VCKZ8VK9GUHOBOXKH02ZIA1DNDY8LK9GRMZ4E8NX9D8P6W0KIWORASALYLJ37588WFGBOP1X02Y3KRSSDB5405HHH4EX60UM3RPVJW7CDXT0IT1ZGVAX3USNLEWAHYQWS121J149SSFMVUFPXQ103YG63CNB2IPEQOG6KZBFZPCYJPT0483NH0P1663BMSIV1QDW0M5CNNAA6AGMW00O5U7KASJHOP37YRG16RWXKIQCXLAKM2YUE23Q7I95G9562M2Q4YA div -36#48Q6X21RY9NZP6GWOT0LUOLQBJ9H0JFYEP3SMXB0E5H4W0AOTJJVCSUPEH5DVM5O2AM4008N0O9ACTGZ7H39VWBU59ZMET5D4HUH18QNM2VXUZV5PED3JJXLI5KCNBOZSDB903GM4U3PWZP6VYEGO1JHWRFKHH0U9SESL8G7YUZ0WWTTRQ0YUZ5Z53CELO6GOJI6CFQJ7Y64IF6TPE8G07MC1PMMFON. +36#BNUXU9ZR50W2OAW07PD53J83IZ734F62MOVPQ4PUWHV1WMVAZ43O9HFPEDGJ3XIJ650TZS9VNCXUX5M934XW88R9VTPQC7HO2FXMLF0VFN7DZDJAFWGFSRYTK2YJIDPJ5OXS8NFL5GCDEZ06D1X3H7KKIS207KLUMXGOY1ILTHXGSAGKA39S2TYIGUSZHIMXSQJ7ZVOIKCPR9W8IG9D8VCJHGKKMUMTDZF4UO20S77G4ORVU8HSWQEBG3YVJWRS71C82IX8H7SJYXPQ04ZW6LQC345M9OF0B5FIRGWMM0L3PJQ5TSQNZ4DFGXEC7ARV8FUTY6A41B69Q46O9RBFDLD6LDM45CCYPNEX7ARPITHSCR0HRLTHVALSU6H3TSUBPWJKYMKFZR2V7IQRDR07135OVMM40E5ANE7AOG17A5HK9JRFLJ19PZTX6S68Y11ZWN4OM0X1DKE6GH4BZT02QCNL8IIK8JND5NRT813IQ7VTNSRVYZX9I8WXKGJFC3HJOVTXKIQE4TDPRJW5ZPA4I1WRZFJV2J3HTA7SS2TZLRLTUNJ8X7BOKXY8UFDZTQ3ETSJPYM6BWE3NTMLYMPS1VGUH0TBG5ZU6F94F = 36#VIOGGY9P5QP9HN3R46BH2J2T4KC0940DFAR0OT0ZJK27D4539SSKG96UYBULUT6521BVGQAD7W6WPPKFVT71646YPZS4G8W0N2I74TX0WVGYENF5RUV1FCOJBIG8X9H4QCSZG32IMMXSHPMNSUUJAZOHYI4MWR401J704UC69N840121RMLKO4JMPON8GX1QNRGPT7TSDAPPJ8S805N5168CZ7PN4S08R2LNXLWOCHMY7NEMOGQ6FU4HKANWCW9P7JIGMVNGE9KTZQ7QBN6S2OMU7N7D3U95A8PKA90ZWP2DP4DGGE93JJATD3P5MJ1023J3JCQ98TYOTTU229K2CGBZNEW17RJHE9X1UL5LD3ZJXMAF4VBU89AVMLLX52I6JXLP6INGY5WLXXQG1L4EOZB6YOG16UNZ1NT2NBZ6ESR4RXH9CP5CALKWX07DOV79GZYPDYCEBXI3CSEQNNIT9KYIR7O6XOB0CQPPAX3UJZQCASWJL2FVSWCY5IFG81FTI2URRW37JH4QU2168B6047U89XCPQ3LJ24X3UN5O01Z0EZJXZBOIDEPON4ZF5A021Y8FTXZVXKJY2GZ5QPA1HGFXHXJSI5H77EZNF341DILLN20CJ3AO0N61EDJN8YFHDA6TPTAKF0UTFNIPSIET27XWUBI7Q6A9IZVBOQPOCPK34KEEU69N633IGCNW3FYF53R72WZMUG2ADJG68I3GRHA4T338U7GZGO6YJZ3K47CIOB5OHHZAZUY9O53U0G4EGXV7AYKJQPRYZZWMUPCHF31U2HYFB6VC12E9E1A330EZ2QPCNYO675XDSWVXP3L2JDL4IA4ABOQY6FQ5X2A7HCQH38AVT0AHSUTQKW9WP4AI96989DED78P9J36DIY2SGZ5XEJVDIV6OGR3WDX6QUJ5P210GB6AK1RLFAN6VADKM7NZJGBH3FM7H1J74PJWX2D3ZQ8IZJIGI28OECNW1RIL1OI0J1IQO086NETGR5SFFOIWZWRAFRW8330H8WVMY7NL40Z45D112AH1BRP7YN7EVU60823SWTZMTVYLB4INHEBMDBRDOC5SDBTC0YZXJ659QBCUSHKJZDVL1TIMY4UQ2D70B7ZH07FKAMAMZS8O42F9B7EVMFKAEINA8WEX0Q5DMLHSPS3PE8MV31MWWWFC8KNEU3SM9917HNQJ2XAB3XKVL0ICF9991F6O0X4C824TWT2S58VF0HA04RHN9U2RC2U44LTI9WQH369KOS8BWZ5S04OFD3MNHGXIDL07NYQZI3CP0SR352P354L6YG3HAQGC1PCD7LQXRF1YUZNTFYQ29X6CREAT75A7STVMKB81GYMZ4ZMYDFCANFQGMPSVLDXA9TGJLYOMIA0SHY8BER0N4ABPZSR5ATV2X7S3SPW7WE9GU0BQTHZPMXLMPCCD9375VZJWYQK256L7W213S505YZ149RF9V2G3G5KYL0SVUENKIN4FJUNX7L15KD8NMNX7J9U0Q1WG61R42CCDKPTCEYTDIAA05Z2PH6Z8MWK81A8PB2DXOZZO0A57G9PC9SR div 36#2PAGV55Z4AWEBA0AFVSRL4XV1H9VJHNBTGQDHNWGAS687YTGTAX28XGTTKU2MAY0GC0E07J7QK82ZPS572T5WEO0RU0VYVLGJFSALXRR1N660OR95PPMH8CW2DN2APXS8B3TRJ2CG5HJB2EBK2W83I4ND14HRPPNV8PH7Y0OLXOIWUUG0M4CPWI9NZSK5FOAGRP8Z8AX4Y7JGBP4JIN8QLH1M4566VCNYQUO1LKZV516LC6XOUAJP53GJ2ZJZ4WAO76SEP064B9L6X3CZS6154F9JI8ARE2AMZSFINKE68OO0YX4A2DT5HD4M8RD06TFVBK2ESG4LC28I8DFK4VCCWC4MS94JY1DTO5VGEPD8I6QWTQ9NC69U6QD9W16NFKKC7HD9PP2JEOY38SH178Z6TWMNBEDZWW5AYJMYOS5V3M4WFBP9J7M5KBK6CS6TBMHC9TCEAFPEG0ZC6TH26SEPN2EN8P7E4KZAAENQ0X8D507UPOZ6CDF52JZQ7OCNFG5IE32BBM25VFFOIA1HM4OQJUIW18PPJA6EZYWB87NZE0338PIKGVNBUNF3SJESFK6M92XMUNJYUVH9ZVK2Y9VD975LDYJXDQIJNQVR4ANW9KMPBV7Z8S23S8R2APSEU4SEC5ZQWQXO8W6584713HVB9OJW0S180JD9OMJ42QRMNV8MYVR6X37MF1H6DSW9J6BECQQY6TILQ4ALYK11GA0KVMKRABZ6ZQHMR1QQMZOJWQMYOMIZK2DOE40UFEZ7KOLB020E88PS46CPTUULZ72F1ELGZ02NSTBDU457MWC7G8WKQMWQFXLWNF7E8Z1EG485E4FT642NUAS4KJ7FMO1252BDGG2LXKHBXMSZ172WJXV1TLSA0HIHL69L45G9AC1KKWN0EOI2N428I23CL23GJCIDDA925O9V21C6U5IGZUWXEPU2EJUBKLX. +-36#4JGBEQEWLTYXML6LS9LGIAK8VM3NEAA7UX7R3C2L7GQLB9HLS81GJKZPDQL1V9EMNY5RR6A9OX59NM67JE9YW6RA2OI7BMCH71EV9ZXBX1OTW5GXB0KIKYT3OPO2LELIQYLUFI8DB28ECTPK46GWD44I612B4CBRYK5OHP5A6A4GY5RX2041JQ0UETXROMDAE5DVKMCMKIH8207GZGUECUM5IWYW9RONHXNMKP71AZMTUS5BRLEJ0Q6SFKPOF0XIV2WK2V3JZWLC0OBOKA5R95V5J82FNTUMO62NZ3ELXJN41SHSGF2GMZWOHJ3QNPOUBV2IMDLFUDGW9QXSWNCGGWKIHQR8C9KX68JGZ2JMD9A26Z58FI0MY7JL3J0D4X8M9LRD6MO70T9Q20L0WYYWLD9WBO6ZA545Z0Y8KSEG3BQ4Y6IFKWMNT5D7FT7KU1M5KSRMBZ9QTOL7FYMOO51ULQKV1U9Z0TNRTC5AJKNQMYAJUESYGQI4W5QAS46I2YE4W2QLS3C6PINPC80IHMB8LP6HOKIKK9KUUJU2MU5JDHDNOKBQ9U1C280BX1Z20ZSL88ZLB22JL6BVCQBNKNUBDLTUW10YGZHW21DQCRJBACA27T6M1WIGMY6AVALPV63J6U8GITPB2BTB50WVNUIIONK5HZQWX9HRQMC0I6UFE94RH38KW63X1J4ZN2TDPT2FJQQ6FR67L37148DQBOYBOKSGOMDM6SBC8OEPFOQ2P1GEVTV5CW0RHY5YNGM25I8SJABZSOSKFZ9ECMAVWGZE0JLTZW4DSIVI3YR8LSPBT3VSD2Y7MBLU0T0ZNV34GF2EJCHG9I36D2YP4X0EBWD05ITIQA36QLIUD8LMOTFD3UA3EJFWPB7AX2OWLSAADI50LK306WK1LNMFGTYU4XHOPFB0L2DQYQ5D1XP6TZEIFU2FI4X66XI29VNYY1QOI4QOLQIGA2O4BXD53VFIDBVY5F8WD3X8T3ZYBWSZISFHZKCMGQ1XGCFNPX60CR78QA8LCQVQ8C7MYA8W7CM9GN0Y1FQ8686IYQ8PJ63E040XFVF7L9RS3FQQUSJD8QGSAMDIUHN2B2ON8SDCW5LQD5SSO22WI5S7RH3AOQ0GKKM502ILFFO0B5BXO84WY5X2ZV6075KYCG7KTKKCRF94NJXXL2XLEBRJZEQ2PR2XXVM893865H3FZF3FUZFO7IJYJEO4573TCT1M9ZI05D64PZ8JFRBBRWHCYN8JN4FQUAGQVNMWZ88PYLHTXVU6ME0TN4H6PGW0C5YN0ZKM2TB5OS8TEBLCBT5NIC0QNA1KJ2IOFEF01A1XHNNW48SZ1WN6RKTYQXN3KFFQEZX7NYK3HXF = 36#HAHQRLFTRQGZVL3N1CSW6ALC06SZEN71JDJ68FVBD46RF9NE98JFVQ7MW4IK6OQ9569TQAYX97OT30S5FN0AB5I17H1SL6J5XP52YMZUQ54OTQV1LEMM0ZT08HV9QRUR65J6DHRMTMZXQA4D61AJ91GO4Q991Y2ML6BNAN1N8HQUQP0AQFF91DL7ZZHQF38NW9W4XYPSHDNFOT6G2QD11B28V1HWNVPMYXTE9GLUZUE2QYHLVQG0KCPR5H4URDZ13VJOOFGIVK8D369Q7BY1GFEOD9CKFU7OMH9CGJC4DGW3TTFOW0GKGKQNF4UDT7BL8CQZJCRP03OE6SGE3I7CIN2YOE51VROHXYB8Q6MLI97H8IIHB0H34Z5SZ3PB9LQE7ETK5M4KI46XCOPF4IDT156V1Y32AYJO9F8QBCL6ZU9Y25JJVJ1O3I5W1BQKH7DR5LHMNEMMHLOFBPN0UXOY7GI4O9IY1U8TDZSWAPAXY9R3KZMATJVKU3QOM316CAZ90EW1PUBA4S74LT2ZEU1RRQ5CM5CSJDJN8LZZP2IPTG0FMOQJG0NWF7390PLLB6XDZ1OF4B6MRES4LBO780057CO9W5MZDGMUVCQO8LGV0C1SINZIQS57K3QNFEM47WVXGN1X5N1I6TFEOWFDW0QAAKJR4DNB1MV1I3UAPVUHP49ZDWI1BNOVP7BD0R8AC1QW5KHNFR0HUPB6GQ7IDSSNYRONMCV8MLMA9JCR62Z4SI9SXKHXOEXCQSELWKGTTZMWT4R7CJMWRUF4LXXK5TN0PENDRSYROPKT33XGJT4JR5UZ0XH5PZNY9HFROXYW1NDD1VI6U5BNZM66L1SWJUZLOPRQ383ICTTAX3KZ4HI4M8XXINZDIVNGT38SJRKPKBQGTNZAMTUXJX30JZWJB6MDK1Z1FY0ZRSC7T1W39KTY2993KLQ6E7ZV8OWIG69X364N0DKBWUTK3JEDOAPL5S0BAZL7AINH1WZ547E17JGCHSRQ3DOTB4EB2EOS8T52W4Q947Q3CJ3QCC0H1O0IRBL5POCEN9HKA0YZW4N5AT6DHUE3TMBFQJZYR3ELEOHYLMQF7BDEI24P6IFIU024AANBIE8J94H022TIDURBADL5C4QD77P25XYLU1V7BSN817RBC0AZTPHEI259VJF9XWTBVSPBZNXC5E7EXZ4RM40UZY6M6ML82K1RHEM54O4NUSB36UG8F5GRYDG2LNKGL1WZL3AY36ZUKB9T1X1SCD3SV7ZRZNHH5I94CU22HYH073LS93R9W1ERK2Q0EKYRLTS6W3AGAE599820AD1OFUDHEEYZATB5FZGX3MD481AKCCDD2IIFE2UGOB88YHA7QZTN40BNTJMHNBJWAFTE8XR54Z8475SLYSOA1FCNH2Q1XX4YOV1Y1AKECVL471YK9DAV25N6YES8TSMG3P78KCG9YLG0SZJSPRJLW51YDNRCVOF5N5R7WCIIJDI90DJJBTV40C6SZ43DWQF8HNEKOQLCXJU46WL8J1W1NLERR div -36#3T3O05IWE9BP3S6ELURKHT76FB6F0UQK7FCOF56ZDWNHCVBLJ6ISVD3K5DVIIUCIE93YQJLTZX8BF23I4LKAL1JPWUPHI64RXPK9O44OUJRVHDQ6UXRAEO0S3Q2TQ0D1JYTCIJBYAEDJUR7IHGBJ9D87BSUZ4IE9FDV5C19. +-36#1RI38R8DHZU1TZ47YJBOZYVP065020799I9OA9RICQGBLXM796JWM3UNIVNBPB0WAHYOLGL4T70EEFC0CQL2R0ZYAYPF7RW1UCCUM7AXX3ORMA5PWLV6KNH6NVJHZSDS8VVTM4ZKDM148VXSK3NZG0SWL9CPFV55TTJAUUDERDJBSDLYD3EHNY4ZSVXHG3VVW8RG7DFR4TTJVXO16133SVHP7CKE24DYJVYOTRWTBHF9D4W798CRNTC7S9J13HBOUKD6G9G2YQVWEIG24DABAS3THZK9WR0CYVSWRYMJHZQY5IZJK80GDZ2PM0TQKU9GOUHPX4CI3ON1KDTYBQIBRK5F7LI3UJJWLS551S03Y2MZHHTUWWEG = 36#5W2UVF3PFFGPVRDL3UPMI31NPU2DKIART039MSJWENSSHPI1CO29T9WBVMPP7X1NTKBURJOHIOJND1VJ66R9HKELBU86UXFXMT828EOQ2DW1CQD1A9J6WW2XTNVNT253YWC6YQ8JIOGSCBYBRDJ77D1WLR4QWAYSN4TXY3IXBY8K17PX9H76DU4OILJ49P7CMQWWN3I2TBAIMPV2K6DKYHPC2W7LDM23LU8EZ5CXTF1VWWNT831MBJYUS4EWMMMOFDIYFBT8CBI94K1BH19YUI34RPAL180TI6R5GYP23EQY9HRAUWNI856G1UIUKQB4RAG9RFV91FPCPQW5LHN09XT7DNUS5HYLDMKZ1YFOTB184G11GL02Y4RJEGO44PC3BVF5GTZTU5ZAYYVCIM43TASJ69TGHDZ0AIXN3PUPPUUKP8WTVYM410MOXFMC75IWA1YIATVRKZ52ESDXE8QQD33O0TPWO5XVIII23275ALG5K5PALMUSO90JUUGZF5YNN7SRZZ3CFGLZ97105DG6E6UZWX5VEDUSLNYW47TWM2SEZSRLASZQVIU7UBNANYYWB9H8CA8PGM3MFIGGWX1BCU9P303HL6Y2GEQ8LLCLAS7T2TX6SIFFDVQSVVBNWCK75K9XHZVE83STAZ850HEY29HIT002BH5HQKLPXQ2WRJ3RM2EWUN0XXXR81TWJ2VDCDGWAPX1OPCPQTVB2QVYWKE8N38C863HTOKCBOGIJ8E9TLVTNCE6B3RN6IXH6UAIP3KR5WNZHDODMJ4TSYGISSEK4GNC7ARVI32FIWLQA0TBOL78SEMCYW0PRPXX91A7QKEJIEQ52FKXLY478GDBEFNHDPJF47KZ2UF1FVNXSGW18P0IIH5OYHSMTX4OKN6Q7WUIF3HHFJK3795KURINYA3KGCFCTZ6H7AUP8OXQUW0AT2F1N2OAOM5K0D4F8143LV2C3DO2JHI4KX1A19BMAFRFDSBFXM7LWNHLLX9Z90SN9UC3I075QRME0G1JOD2FURX351WLWRAMWAHX6CO3WFVEHC8L49EUIMGBFMEO31HHWF2WD4HHDT41Y035NU54BHE7LSYRPONFUNVAJ5CRM3GQ8T916M7L7WSAJHZO50NFOUUW1V9RZWD1GMRXJJFTN9DKHEQ66OJT78SQ8BUSQW0LNUOO9GO6ED7CHPW8IE9I5ICIMSH1ZPRX29SU7EGSS4BQUVYGDKE8IPY7W7R97CO8ZJIJ8NSDT1MOVSVUO437SXZ3PVWA18HGO3ESGEYL0GZ2RPN87KNQBUJ0NQTJ6IJNSAJDOCKYU4T5XEB4ARUGVTEUQBNG5ZN909AP0SPNWE4TG0ED5ZE0JZ47AUB1T3LHNVOMAZJNQVI0PEOXOOKV425UJ7KFMJRJ9T4MHMVNXMQ6KNLCMK9WSBH0IR6LQHYIY9UAVVN4S74472VCO6XZMFYE5N12JO5U96DSI2BOKQY31M3FHJDDXKB6X13NI3M57RVPH587ROMYDZ2IHST60R6VGKW29LVKKOCMGU8QG9OR5FTPN5CYNDCO3TTO1SMS3QF8IDA83SBO7K3Q2JR1D26IPWVI7EZ2522SIW div -36#3C893E7IA7DDWYUNIMGEE6M4Y5CFNWK3CBYRP83STLBF0OGH20BH3835B1IQHPPNAXHJ3WSKWLD3H4G38GXM4CV4Z41E15PLGNXSQKUTU6QQ7GOFY9NJP97XNEJY409P2US77N21AECEY6HEQ2CVR57U2ZK64XPN9D581BQ3X5H9MMG4L9N24V5S9EQM8PXR57RVRPLWCBV5MDT44EOEJ8R7CKCR7KP7GUV56BQMJN5AIT25R6HWKV6HYOVTG6G2K1C8U7UNYAOE4C2JKCNVV0LW24PMX43TVKOZ1S157YY2WXVD9JPO3PQ09T7FHHXGVESNR8KYXYJPRVF2NSVC219UEBF60PCOUGIVOGIGT8QV2Z7ABPG1QC4UT282LHV3NVO4TMTIOQKAZKO8OMJQADF28L2C4U63G3K8U63LTHSNZOQ258SIMY4W4D5OALRC95I3FFCRQLNW168U86Q257SMHG83QLHOJCQPT3GA0MQYOHXBXOP3FSYQJD7H417M4K3PB6EI5YD1I71ROO77Q20NS2LF5TI729YQMWWMBZHA6XMUY4P14QO0V929RENNYGLYXP0U7XCTZVIF06BCJAUGIDSF9DLZ3K4O0HAJPY2BHH1A1470GM1C9VY1I2VP6LQ0LWEJ83DQP4HEKJ8L2U6CQTVM9AB5WT4S6PKON0EMOPWZW5E2HCBI26UABED3F4EDP7UR8GD9IW9I12YOS9WRIECNDHGKUVWDBH0VQ4AX0MXNSCO2VE2M25JPQG92IP9K91752K1ESKVCVTJ3463LUID34QK2A8MZF8D8MHE1PCMW5BD8AXLS9QE1ZNN8AFFSGXQDLCRZ5ZJ96QTPWO9K7RW21KN84F6J6692LSTITJ4XWLZMB759QS5MR8C5X75W6C8WVI355VMVQHUS3ADER1LI17RKZ1M4UDSNFXOM8X14Z16VFFJR190P5Z8CGVR0LTTET7GLJTXTLV3O08ZADP374IKCSU1PZXCCNUATJTHUTAZ2T2KB047LB94V6TWO270UXX15O62RSH2ELEBX70JGZTFUNMP6L7YCXCFH55557MX5W04VGPUEU1QZCIQ96VJH1EX7G8ZJ3V3WZ0PI0FPTVHPYBTZV360XG57BP8SPH8OFLYPH0USSIPWS5DH68GO8KIW17QKSK9YEVZIAAON3ONAY06XQ5G1NJY9I3Q70NGI0798UOQ1ZTY13CSUNFUZFKT. +-36#N15DR3460TJ0AVUSM8NAR59V9RGLWHCQ0R7B8Q679LWPHASO4067UF7D17MN7415HORWPRRJQ2PIGI7YFRSRO49YF97FNTVZMRKISD6STPHATTN106U46ASQHIEMGZPBQCC3R6HY4ICK01P3S4Q6BN77UYJEOS1A26LAGWRGCGJSWV7YGLP2KP7W3PGF9XTTGNR8PEULN7N0OOFZMDCNJADFCQC2BWT14QOPKCOX9BOY91280A2H4CGTUCBX0KQ2FVUHIZYR49PJD = -36#PE7C0PBYHPLJHIFK3GDZ8H5O8RF0SJBFQIRFW1GFND7FDYOG39T9ACCC39L45Y3WIS2XTXPN640AMCM1EVAF63CBP0RT305Y95EVWLJF8GMT5S37GCHJ4A96SGFQ5KUVWPKFVT2F5HYG6JDJZEV90CUOPLOIWP00SBU04G1UR9WQ6RLMQVSNVO38NXHKS2H1NP2W5ENODDPO5DSFXQJM8RF1WQ3MHOSHEPTFA4JRDMEQ0LXOLEFV8RM7K9LIYFT4CDF8KLCE1OF9UF2OJIG8IQSUZOERP4RVQH0XVBIYEG8NZGGV0J4TEVB5GVM1LIMS655AQQ73DVCN2TFZ2D1R0W4Q6BUI3NJ2E9B62OX6XOMMGUJHJE7AINXUUZLFX5YAWOXUNM1K3RVT7IIR2BZWIDW1YIVW20MBIBTJT0JP3IWYJ865JU9EWCFDFJH9F5ZCV0II5MO1405JHVQY6IYAQG1K4RY4GZICY5QAX6XODHGXLZJZY84V0DYRK589VGNSXXKCLOEC64HGJHU8E9NFI03C93X9VD29D7E0OFBXV30CU4H7NQT5NTZ9V3A3W03MKDT0A5D66RC4V6I4 div 36#13OXZ4WPV34CT4GWAQR5THWPMQFDGCQBVE9DAA4CNRDUDDERLBVDXNGYTXHIUD46YR2ZA5KYD5XQ031388RDB5VCYDSV519U7S0W4IT7TCQ1AE82FR4DTTQVBQ3CLC786XLVOOJRY4Q96XL1EEILBQEUS1Z10J07OYP0KBG7X3FFO939DQSPLZFKK7FAT0FBL0MDZ6PZMB29OZQGG5RRIVDBU4VV9NOJIOVXHMCUXAPO60TB7XCNAU8R6DMZVTWKDQON9Q968UG8V0QRZU9P839LIEHQJ189TAUBEFWMAY5Y6BUIA9OM5FGF4GVFBXMZ964S. +-36#7TC98BH51KH8GJ8ABOK5A1RTBMJYMID1SYCJGDJSQL821QD8VEQ01OU1R28XY5YQ57JUARIE6TH11HU09MFCQ7U0M31YK6K5VWWRIPO7FKG8LXABZH01GH0WJ6773AXFM1SBDFNUK1B2LIEVT873E1EXOSUV166NIA86QWQSN68MP301VN9T4Z0SOXCZ44UIDPXMUJNUC55AYXTA33VI7MBCTEKJZJNEZLJCNQCN0OXJ1MU4W4WMXXC3NJB80CL6WQQF0PFZAGQJWDLIPJR4NNQ92ZZBK2R0U30N92NEO94UJLM72POLR0FEC1270XGO9QGMD84IXU081RG71JBOJBDHRNVIJO44W6KIX4YO60QZGK9XJJ3E4V88KYVSVMBQJDTNYTG7ZAK7YDOF6WA0ETQ = 36#1H23Z4D9DZMYHQYQFP6ODVP4D5AO7HQH8M55IUDU0DC8KHJZYFP488PP4W8BY5YY06IAA10LSMY14IDW9I6OSZU9F96HMPAD895YXA8WOY3CCABQF8RMKQKJH6BJPVEHRFBHSOBAQ8GFVPE7SIMV3YU54PQLZUVRDDJ4PT5U6SBWG8SRR26EA7Y9N50R7PFR8KH616A74ZXU3RZJK2FCH735HWQUGF13BQFLVUJ0GRVXIHWHY7YVRXWXGQLBM0UFMBD0I66IL5OKAQWVHRS1PJQPF7BILLVOW9B2IUKMJA9OY66Y0AAF99J5GNR1C96W8GFDLV2YUCBYXQ0ZYXXX6ST3RXWOTCY81L98AN7OI95IGHW9WIDDPVK47IAGARKYXK3OIQMIOIGVFW4WEFJTU6T0Z7RLA8ELM0OJWGFD5KELKCFV6ZP2NNDZUHT2Z8O6JD7VUX7DZYQKEBUS1UC47Y6OP0L4908IDES7D1OFMCRNY56T3HRLXYD2V2FCN3AVE183007N7ZG363QP2Q8RXPXXPE4DPNBORPJ4EM5VXMCVXELV1GETP5ST3T5LEV9O85DIH0T10BQLIO7B1G8YC47K2EHWHK7GEET04EBH96ZZ6MFC4OYH9KQ7M148JPEA931T91XC56ZAIHL4DLK7LMJ2JOU4770U5U1UGSXE91T34QGTV7TVWL858OQRFRPLLX1V6X81ALG9REZXYA79SMXQ49E3PVQ9T26O20FF8LU2EHI1CIIK5B7N2D1Y823JUP5FUMZQ7GNZ1G57HFY6WTAU2929R8U9L1R071V4JDJATDQZZ6MGN5U3P1WNXNZOSV7Z5M1PS5KVGELTESZUWVD7H57MDLVSBYX9WHB9YIE1RLT3611F3H3578VMIT6TRX7REF6XVW774XSH7PKQBFPC0YGR7M7T43XZKRKGXETSY div -36#6SEYISBV8ZPK46P9QHO62ZE8KOW7522SP0YVTJ5AT9T1PFWS99PVTWMQR878UCKAEY7QW0GLBREL12FZ3ANTJ10VZRW81QXJQ8RI13NC9R8J654YXQ0YNEOVAQMPKG6JZZNHRWUAW43GLBG3WLN433AKW50K63RWGXN93OAU52VIIDB0M81YYFZ1LDXWKTP5U0PESJ9FWCENBMZJ2SYUP37B9GRIIL6U8X15947BTIBAGC3A75XHKXKTDDCVG0CGG7DH0GFOUZ4UI24W3K70KU4GNJQER0OC84BJNKFXZC7KX6Z32OA4D6XV6UVULCFKDX054F3V2HC7HEXPVXCAZR5V0GZCBRIYUI800TF1MJFETXWMDNP0VA12KH19MCUVXEV45KA7XQKKDILS7MZ7H1YZFXNISIQWKUZY6L0MCBP4ZNKESIPAON8GWYOLY4Y0GFCROX3LVVN7EFRAHKGRG95C8Q3O5GDUKY1AGICJVFS07C5YIWZC1E8CTVH5FBGMX2CKWIDZVECQP8CIQ8O5JB. +36#35HZQ3MVJ9VSLPL3ANRKHF7F1SDRRJ1LSBLG5JIF53JX8N7P3D = -36#ASI8H4CTH1UMNKX1D91WR29UPL58YMX01KQN2X7V9NW5UDH01OTTTI43VPL9XVI27AC9O2GZLKMZW0OO2F8M5MEJR4NXAXKMUQI3P4PNCPCP38ZSRUB2KO63Z4LXG8TOH6U54MPOCWI2X17Q996868JNU5OD013STSK8FWFTYURR1D96ORRNN9L9KC9JK16VVDT08PPTTFEATGDG4WH9EE2PUWI61TAHA7MJC6GSS84J2244ZERV32V3O4TY1NDQVNFWF6YJIA910I6951Z41OVK8F1AFEIMWNIIS2LM7A1X6RODXOBGS3TX6UUM7JUK5WBOKYFHPXJL97H5Z19RJQZST02ZVWCJTIV2PT3MSN51NCSYZP24L7G18CN7VOD15N7EKWN31VPX5047XSG75ZM5CTH5QRXIDXGCA0RQYS7EJWKATZVBE8610X7G50WIQ9HKWTGNDT4HMVWPKXTGNQOKCOBY3QATC3PIJU138BLSLMRV2IJRQ5ZWHZ7J0RTRLC3BUBD28LBCQ8NWWKKHQ8XOHF6QNOMV8YLL0HB28IRO7P6WD9BTE4N36V5AGHGEO63TWUVURQ0WX4J77SKIR7SH7DDIKG5FA7VZC9RV1NV43R79RGGCJ6115IN7UB1HB1087V07OFK4J5CEKNB5XEJHLC98GJ2PEC03WTZEMJW73QMIGMEE1RD8H9CDFLWJS66A1AXWU7LPOJQFCATY1DF4V8R4NQAJSTPTI9I9LCBWGOXVKZ2J5JAV14KHUMXUNMY2Z8FXC9YR52Y30IM63MTZIX0TEYCA016WMXJU6E4J5XCXUKRJLM0Z2N332N4T9TTJY5ZOQQLLL4NU5VQ9JVH3CNAK6U9RFWHLNV7IHAZGAORRZ4LMKADPX5BY1U6MKRA1Y6M73C0HBAFUUK0M7L1XLDZ3RPBN1GUAHMF2QL94YSTHHI5NGR5HJSX7CM3S43FO4L03LBD5YLOHWN1V43UMYA8LPEG1BYDSLT8ENI8VT div -36#3F865PL9JSLTX37CYU5FKUMH6404XTBB2W9W53S38IHDCD2ZKOPXYBR5NS930YYUJBGFXAX8X32VOJGHHLN0QAV8XDAOZXX5SPQBDUOD64RH605KDTBA1GCUCA4PXPMIKMOCHY8GEHQC34ZEF57I8VVZWSNZV3K8B465ZIDUE37LRKOIOBQOESSLE78EEWRBBAHZNNI5W8OIJNTF2JWQDD9EP3B3RMQTU43D52ONILEIEF9P5ESO8MQK1PE1C64UKEULGEV4W9867VZ341WQ32PRVBMCT4ZV6E58JNQ31M6JC5MPI2UIGF0CX8N87HOO32V53E3BEF2F81HXJJEW1X1BF74L04L6PGCQ06A9B82OG202U4G27055VCDWKNFAUI6MJ0ZWMU4VMEWRX1YNSAUSUQULF1ZICPRKY29RFP2DEDPZJJRBLHRX1KD96B2X7W6OY9WS39SWLL3GEODNY9U59GLTU7AO69BNSDI1Y8P7XVG2C9P82VZUCKKZ97JHB4NTAT0IQ02ZQ1UUASGWO8DGJMA7QYQOFV3ONPGQFNORRE8VF0MBUPS922OBHNTZFR0X8BLF5ELZQCSZP15MEZ60AZUXXDESBKKWMZNO0KP8JE77WNQXL3NJTUOU87MG5C0ZPMO0NADSQY7KS8UTEPDQCJ6HJLLOA4D4LXW2GISLA2U5VLKYGEEC3GQVGSS18F870C2D01D3NBBI2ZWDIY0GHH9BI9NV4V66CK9XX57IMLVT98FR5810I5LFXDF6YGOPLI2OJS8LY6T9I5MSDJR4SU09VAOX4WGRVUL2BTOUT4BJY7RVMX00UW86XR5B263P5XFRXBUFGD7FGSV48TPMQXLC1WA0C5C24AJ8ZNNHLTC2TF5QWGPWTHYYS3GAI8CUW1FRYAQZ1ROS8NO5Q64L21KVUBKK7BOYO2PUSNP50G8N12GKJO9G81F5. +36#3SI5VFCOGZDGJS12AWAE52WELO0TOYE77QSQ9MDYCM8MMH9I1C6EJC0SZG3NVL74FI96HQA116KNIS2WJ3ROAQC2SRTTVOWWJPWGN1QR02VKALQOYZGVD4CLQ5WNDCYLN6RFYHYWZ39J5DBSCESRCDEKRC31PVB2097QI8K979PG99W2MWJP7GIBLDNW19ULCPQS8A7TLK4W3ZDS04A2YZZGQEKYQ3UZTUUTGH89Z3ACZSKHCFPSOFRY3S0AOLORKGZJIPY75D2V4SBIRVHU2SLV1MNM5MFI976NSS53DPXB0EP8A67560F8K6WL5AF86ZWHPIH2TC3QUQFZIH25F935QE0IDE2H929ZMIGHLLGICYVQ4CR9VWDA6MGEISHD3M22OJ005U21335RM6NSBVHO6XG4A6WQV0R0PC2B5WGUUUVMMW21T8DHUQW6V7PWQ0VYWKSFOCC6ZEFRG3EFQ8URDLAIX2KWPTEEXKLWEBNHU9UR9AX1YJ0X0PNMUOM59DSF92M1HHMK6PNM5P1SXMI5TCWFQP9D4PKO2NKNBSK57JV39GAS1CJF3H4F5GP31QJ54371YPPF93MDYOJVZF6OF5ST823W1SUNJTTMDFXNQ2YN76FDC9YUVGM8KCF90S4NI70KSI4FA9Y3MSIBPUDDEVA1TS3GWCO9JQAJU61OYWXXDIQIM0UK0WEWVO5GRQ823ESNUQIGH720QZPL6MT0SN1XH6VBR4S1RA1KO3ZG08HNEB7UN4YY34VEFNCAI4JON0 = -36#RQKUVY8LY4EQN37NY274GG5NDJD7W0QH8UW9HHCUUY19YXTPUWQGWLK6AAIYU3QPSDM9AFGC79K4OR5RWQS71UROKXP8X6E6SQSOM45J5PFMR75KZELWFWNH8O5K7QXU3VFM10KIY7PE6UJ49MHYPHVBLIYS1ZJKSKTOD6U5NY8KSYGU5F02BYSVLRTIQ9HI45LLEO0RYVXEIA967JWIEBQ15M5VCI1UARHN2UVAWLXURMTAR0FXD20WYGSY0VADRAZWQJ903I3QHXKSQN8A112H11KCCJDV650WNNCLC3XMTWV3P0VPSRISPBYPVNCZ5GBDWL6H67V99KI90JWT5PQZUB6797DNMSGO47PR15WCENOHV3X49WOS8199VSECDPXPBH22N0D60C1HG0B0ZHTMHNUD891U1HJZ508SWPR9DDG07VM976TZ6J6BI6ZFNTATUYPBXY7A6JI8ITJ93O7413F9HZ2ATZVWP3BDFI6R5D0FVLHPOM9CA37EA4XFZJ0FQ21B5J84GYVKDLKYPJ6AZFYWY3MX50DVQ2J48ZR84DXCZNZ8RHDK3KQFEWO750TOLZA8HY9SF111010OBAS03FILCIRR39ORKBKZ77WC8CCCP1GA9U2DZ4OD4DTYLM6VUFZTT70JXLC18KR5JIWM3LRHZOZBCAJMVATJH7L7JBJIZGDAFDTSXS7EGU9IT50HMWPX71HVA0V8TV5366HU98C38ZXU9T2MS68I2DL49YP87SNY6C7EB0SALJ6OGOTZ2W9AE7R1WAC4T18L39T2TS9ZAKLL80QGD9XDSR9CW3J0NNEWUD0EPJFQVIO29IH1KNWREX3XSG1A94NX9BI5WIXH27B6ZX0J6JYB2TNLXCL4QOO040VL0A8ZNSILFLWPFAVX03IMB1F4DYVMV6KM6NIM7B0LBI2BYO2CQD371C5ESJ703C50KCDUYRNI0MVPHAM2JB266HJPGKF5LEWSWMARE320L9F2QUBOM2AKHR5WR9ACTY9DIR5FXXEPZMXLTD2N3TCUQQHQW0Y0 div -36#7BCPARAHP2F493NNP66NXOA1OQ4F6ETFSDV5K8UM54NLTUPFR7O451QKZ7YH5V62AS6BYYRPIVPWW7J5CPS09MQNXW07V9LXXJW24TDQXP2PVL57Y2ZRFUT3LMBGMA988WXR4IYZBHV5ISJQQLZ4ZHU3GB9W8OQDNO4TXES3Z1J7IF8979CESM1SFUBE9M3LVMDFLGOHV56JZDSTOSGN6261GJRXATRLRBU3DNFQL6PXQT6L1E8K9YT9I3SCY5ME9OTOF36ZUTGMOWE. +36#1ZX7T6N7N8BW5OKF41732KJUWT1GPPKPXV8QCCPTC5X8P56KLAPCQC6CA3OEZ2LB8R88KOO5G6I93JS5YEJ0Q24M2G126DDA9U27FTRI91IP72U8WFITCAG16LZ0ZZPQOCSRLP48PJ4MGHW3CR5OXXUVNQ3ETN268FEQFZBLGH7PJMFML7NBAROF7VW3GXYA2GUPWEBDF09FC7MRAR3PKJNAFUDXMJ3GMT0GIJVPH02I0MGOCUPNRQFFUHRYC1MOQ393D49LF69R4NKY15O3IDUII9XS9OU84SR4B4GD76PA95JKP4FNO6VXETVXJFRU7NY59ASG2U71AHUHIEO6ZWN5MPAZ1AFGLZSYQJHPTO2D6JJ54KMZ0S8F2ZK0K5ONAV401446DKWUEAJJCUJ2AQRVVBSVB0ZQ3329O25ANX0W8MYW92Z7L4VKBG4F5B90LU2537TL7KLUNZLSAIQHOQWM28H1A9MIZ3Q1H6JRWXQN8G4ZIYVNBE6PGYEI3YX0R7C8BI4C4RSXK1TWILZUOI1GND7SCCY7F6GGU6QKQOSRWGUW9NZPTM226HZ4AC6PU7TGT6R0K7CCWHX8DMYZPUHSTG7FZ4V8FOY2UWCOMPANN6NYTKOONGNR8RA94J1UHQP38SLGAMRMS1J4H7ILMK8KCYIA276QOB0466E1S3YH = -36#3ULUAWXIIKHATZFA5VDN3NJNINGWCIE2G53HBVXIUNMDQSUM4A3ZB2ZQ9SVWADFVKQQRIZY5407B8VG154RGAZD8Q2067VEFMSN8BPI4FMZTQPU659B76NMHZT71ZOFWS5GWDTPAOKKHYZBQIE6JSOYPFHQY3PHQTKHPVS6ZR5TA2UXYEO5BMV8YBPHS1MLPI1M8ZBTRX01SK397W13IOE1X34GP2I16Q4XYP6WLZGHXX4GU50DQW9ZH4D1MJKR243XTOSIW8OZ28A0YJOHMYPE8QR8P5BBS003G7NKOW6KUTNMI0EWGDXYEW17723A1HN7UHE30PS6E3VNDR5MYZ06W8D7UA8ISN6FKCDS3P9LQBN9OCTV5ZFY1QV21SQATKONOTFAE4SCKEH27L5L7XG0G1Z8RBB3OK7C07GOGJPI2AML4TD3GOWD41CWPHRYRTLGMNCB85G30GG1WXGF3YK1K2TFA2YXT34MV466MW34O67LMR8SN0QMXLDQ2DV0D98SFQDJZIQ307W2U7TT215INGBU6K18JIGM241FD2RT090267MAT5BAS3B6PISZS1ISCS3WUQKEZVCXEP5FEH5PAKX5P67V0V84OQ69QOH1F7OGQO6EQ9L7RR3ROFCREHCNAPHZ2M0Z27C2UQO94SIFSTYX2J2BHS0Z4MZNZD0TY3JFQCF0MAC9377CP2U3K8AXUEXTKRR1L82JBH4784MHBSTHNET3PLO0VO8F3KF3GEJNQXZ15H7QX6KASNE6BQSRZH2EZQRDM7N6N90VXZK4QG5X8X7D2Q7415HVNRU2VPCR8JKXX4C73UJMC6KTO5YYBGM8LREX801DFV74A6BCALLXNKITP6B2IBQGIXB7AWCNQ74SSRWQFHAY8BFUKCB42P12B4P8V8159OTUKLAF9CH4NFHYJKVL8VQSLWRWFCEFA8BIZZC20UGJOLOCLF08PQO2WW72A9A7QGNEKI5T5GA9Z3BYGKC2EWR4ZY4E3GGJH161WLJ48PY76J29GG46S4CREFU0OZNFM5QBHSISRYR2OHOY9H42864JGDX739O7DNRRNAZXGRHMP5PGWT8Z42KNFUODQGVZQ1X1HGBQUR9HWESX8TYW3TKC9KZV3S4K7PVRYAY5IITVWVIK0TXVMFWA8IL6HSSJANZYJE1QX03BTZ1CFY6K4ZYYLOVD8FX4EYB1YAPGR06ATCKNKENLIBY01S03H189JOCUK08EYQS0QY8SH5IT3QA0KIJAQTRED9GUU1YRJCKTLZKDT1OI0L6VUMP3W8QB6H3USTKY9 div -36#1XDLOX0H0FQ02YV7VNQLHGASQKTXUNL31MVOX4INYV1Z8Z25S7R193IL9EHSWNGI8L84O6Y5O438UW5ACIZFA1SYQBUAXBFA9NVRUZ2MMCALUFQ96GOP0IQEDGVVCJYYD0PPO7TGW3Y38IPHCBE4FN7GVF8E3R61U97IGGL6RB9VJRDPX3I9M541SB2LW8XTL1F20LSBI5VLNIML51OSIOOW96AVL4J5CIEY3XWE78FDI8RH1JNS9LB7FDX7WIA1A5EMMV4CBRE8WYWVB45KJNOKQ411FF2JCJH01FUTTJ9VD9W0RFNYWTHEFG7ZW5BW4H3690IYOQVH1MTLJDH77G84V6AZ6P4K5OOE02TIAVV1VK1PYJULP69UK9G78BRIDIEMH3K1QNYLG1TKH3ILFOQ6B7JNF9RQ6J2JPI9HU54S1CB5X7C8TQ0UXAQ22XFN0D8IYK7LQ67NTZBJ2IC5XX7ZZK39RXY22JJEIGZHPSYO1KBXKTHJVLOO6CZ07P1XCI5ELB2WWJUDO1PWK7DJEQKXAETPT90MIEA20997YYF5LT40ZTOTSVDM8UEFMR3P6U4EXAEPKN8O50AUYOK4UBJ0H3RSBNZ47DUH85DKSREO9. +36#3B4CVTNA87AJQY1M7PMRL9J74HQM4CRY53U0MQSZ89HUIK9GN59PYTG49R0NMHGZWGZLOA74LYMJLT16LQM63ZQJT62FMRI3TLU7QVCWJQ5K44MWU9J4991B1GE17FQP9J6EBU4K1SJY6EUNVLZ4TJY3HOPGIXFXZSI12ED3QFON93K1CEASKICQ43K8WHKFDHB72WJXFKF639JMNS5ZKPNENIW0GTVFS8SP3BCJGXDUHZV2J7PUF6FYS8T8TPHSVLRGVBR791WTW1T9YFB8LGM7H8HUJKPX64H9EMMSDZL8BEJ8U5JGM3ZMZ4TU2Q62A50YPHTEO6563BWXCNVASNF9EEUG7IQU7EGOHZAZK99ELO9IAT3X6SY80R1U4BK5YL26OSUTRLN60BAUAX72KTA7MZ2GD49OVS6GOXYA1B23WUSTJN3Y4QHV2KASDB5GLLK677A6VPC7P3I2ZVYI81RV5T60HKNOL2RG2UO3S5JPGM2IDQ2PS47FPDLVB = 36#3IC3HJR8AAQUO2RA87QT1G64WWBEWHGXHAI4P2ZOSFILT9EE5L438KBFDX06ZYY8CE6FCIIEW1AQYN93TZU4YOSWHPOS8JJQXW1SKEO8JLV1RD5FNTZ1MY7EJBDWVKC1UC91FTN7M5WFRIWVK3GVB451FP8ZE3C8CMIR7DPFSLIXBNQUDWV142INTLTRMXO8WRQWQ3XEDMO5TLUR9ZEHH53FKYHLPO7FTP0HLW0LPDBDEWXTNLEU9D8Z6ZXOOCIQKTQ9XRQPZTWECI2DWH918S59NKCKY4SYB0ZY474IDF5LP0FCU9LOMQMGOMG8T778BX79A8NM6HCTIQO039FUJ7EHTEH3XBHNPQF0K2DR26YO7J31XVH0D2DG7N0LP5IIHZQAAF8GP2WORK9M6QFSAQ9DP2CCFN1L9U7OZHNM50ZOEK27ZHW6D79SOT3UOC0G91P45ZCT8J7D * 36#XXZI69SSYCFXE0CCL6GRF4U2Y91EKMB2LNVM8GHOM25UO0S6N. +36#14WTJF3DMV47SAD4OOJL555Y98F4RIW9WIL5NV7NIHCX9K6FGGIM2L5639U3X2JGLEJWVBBS2UUR0HIB0AOK0MM4PREIICJBDM1ZNLNKGTP0NTOV0D1SA2NEJIODZMKUX79DRBEF6SVAHDPL5W6R7L5YQNH1NPV2BFE7H2L67D16AAZA5VO5P7B63WBSIEVWS8LQ9Q8RCZQ6T8XKNCICQ89LZ8X7VYMZH4XAT3RZ4O8ZZQVTGF2S88J5LO0ZZK3ZV2N7F214BES1MDMW4LS73XC8RU7QNW2XND6I4C5ZDRXTV0CP2D6RHXEKH5DCJ3E7BR0A7ETBILUZNUYUJHU6ZRQTYJFT8IQ9FZQJCSUGO7C2ZLV9SZNKGDYN1QA2MYC2DGRI2W14KJ6EYHMA6DA0Q3FY5OHZTWSXE72V3FJKBAHXNSEX7Y3ZFPOO22TZCK7AHT9WHX1L5XP2YHSDH3DKV58B2UDCTY224P3DSIV2INX2HO5T3PUSF83OCE4IB0GK8UGKRRMJ81JMAEWKXX9W57WL4TW34X2YXFQ3AMK3RZ2EBUHL8E7Q4M0G3CSG7375FLFGCV0UWWQ2I78V4A = 36#XBCG6O6Z896P6A5PTAIV6R49ZMTL3BE46DONY5IWV39CLURUVJW58Z9T6EEJRD5TFHX489K3EEWT19448N3EEL8AVEDS62GQ6JPFZ5GVCJ1QN8PFAFVQLCPYBVXOIUKS1Y3J8860N1CU5MOCLFVC7NZLX2P5FE9SSIFLOQEIYXAZC9S2YW5P0H9NTY5B4PX286KA0VJY65FUEJO24ACU5CPQNS2H4QW7GV9MZGZ2ABU5I44CZBT1JD9958IOE660GHFF6ZGE4UKS6GPLX6TGLLDMSYAMGMZF99WDRUIM844S7I9EWT7EKGVFE37HTONNCTFR9G5TFIH6A399YC33EZTFDXS5999PJX64CS53QQFXUQIRM67XY4G7VK956QQX3VS8A6KD6SD8GPSLLZNCZ8NKAWS5VOTQLBZB00L1YR7LAGO6H1K8H0G0FECA67Z87ATBYLVRPZOT1ZTCPT66RE4UJR5WML23UY4XYU84SPLAOZKX7I0R09CONDCDLNK0UDWHK4A9TVE83XKS2JP3U68VL4JBPZMC8NXC5V4X07JBGWR0MJ5YHECAE8O3PV6DYO2DJ0FV2X10NJO0VR4G9QN44H684HU098YI0U7TMZOH9I7NYG0S7VBER6FDJ541LVU87XHSVXL9RW6ZUM0JMOQZQW71EVGRSY5KTPSFBK1TAWM53UKDDYGO0PUI7GIK2139ZUM2JVUO37V5HOJGM8FXMV1CTQZ9TF5E5IQ11V8ABP4QB4P4V4RQAB4QNG2TWXXGGJFZUU8QR79YGHWXZ6LQTVUYD4V4LWKFTAUWB665PKCZD6MFEL6U6U0C03PA0O43D396D8KKQLCBYU6ZMJCWCORPXKD5TFEB6TSKJ4G15JQR7FSIN0PGMI8AHA5RTLGJ0IPQG6O8UM8LNB0EIWBVUC7Z84PADC2DCL6QXP3GB9J4GOJ5LM9L5LFC9WV1ZQLE4L9FOUS2N12UKA9ANYNJBEM5Q3MZMQMVI0AZ2H3Q3IMFB0TVNQWK9ILR6WTS69V2NQ44VD4NWE2BZIXXINJK7WY56LT2SUPJSF39BN5JVB7NMHRWWDDTH2VO268GN63IDPRVXSNL91K2ZZFHVXXP5KZ8G div 36#TBCVAZ1UCRGO182PUSOOURW9Z7LBWFR2KC3UDRKMERBI6UCX0VHHTP0QA4KET3ZKDOT3X0O38R26WDYG3IB77RA1V8ZQPRK44I1J5FAWIEPJQUCC00EQR8DD2C7LCGGPBZ1HFUZD1RE0WUNYTJEJZBZU40QJ7LKVOSTFE4YVOK8L0APPUCSGIEII07W046CXFO1RJB6Z5JKXNYWCI2FDH8DKIOIWFTYBZFTCKATCVOZ4FDGTRB9C9JYN3J89F4X7ATW60N6UFQ1DNCK96RFBRT9WQJXV0W8WOLE9KT60V0YV6T8F725CLOJRI4WLUUKKQWPM7133TW2QTKRXQ5YKAH4ZPRNNJGMJV7Q4CSTUP6Q8DE9AQ08QC3YTUJZLMDQH69A2SQQDXT3DMOU8IUWNIJ78UB0HXI9YUQV9Q3LIESYT5X5EOGTMUVZV4JIZ8YNP7JJU1YY4SOSNFYLQ2JS9AX1NGLVIRBVIV23TW9PQOY39MOA1QPD8W6WJDW490JJAA31WEY7MMZCG. +36#18RYET6OYH1K9WY01NLW9T8OAMGFUF42C6IY2FGA8X04HWLX1IO47J1O36M73AYP90HX2OILS10SMZ2TY9RFHOOG8K0M423146KY8HLYK3K5BT6C7HOV8A7UZHGRIYHN33ND9BDZBGVXMZEDV2CHIQ6GO7E9V3QO2WTOY3ICK6HFWZUQAJVGKUUEQM3UMAN959TWAIN805QS7H6Y1V5FW6O0ANZ8D6TX31U39YDW6FVZBM40IY11NH1CTJNU5QB9KHBL15501G9LYF9FEA3D1E3AYULKER658VDSCPNC6X983C7Z1RGBW48RGMR68DBH0BKYLBFBL14FRIXRM95O0SNWH72TL6LNNIG20EZ6RBJVICMSP20DRD6HFBY6I6SNO0DY6K1U70RLSKYA0QMAKV7ZL4LS8B27ZE2U7T091OYCSF8Y774O3W7QEKZ83L29LLEMC30TIBOKVL3SA5Z2Y9O8JALP5VH14L1I5V9GRM0QS28HKUBOKX4OIDX7KZT0M5D2VD3LFL8JUZRULXDVQS79VZGS2RVD9H14CAYSS7086LX66M41XH8H28A5O5T4OM9SYKCOHIINHXD2I4JBGA5AXC2O2FR1MCN060J2J908KETHU1LDBZ1YEIBC379LGOGTN6LC0T4E1A8UDW3Q4W2EDOT737H1V2M4VZFJ = -36#14FJZUOBXO2QXHMRY6ONOXTKZHNSQ0189KD5BLKULXJOE7CJ65MHOREDQGGRWTW359MP3MPKZME0RKN6PP6YLNQ11JU4V981AT12I3R0HKXSBES0CO9QTMTTM1VV37JCFGA8V0MND7KSI6ET9NZGHKEX23GVZ2ASV4ZUGP6NKQKPTN1WFDOO0R4HERUCV4N1R615FKOY1LLVJO6C3HSU9CS5JXGOSR20HRIDG200HD2QAWUWBYVQDPQBZZ4MBCWK6DDFQTB68S3CG7PYK2MBD127DY6C6QM8ZCEU2Q4HLSKKCHNYPX41R6LGPY1C00QWAR0J2UO92NG3UGYZP3PO4070GNO98MMVJC7I2OUOPICC3O3TM230SK1MU01FT6439CSXEHELTCV1E2RWYOET4WMFXL1UZ0ZBP8TG8W4ECPYEYVGSWBDTDHRGMA8EU7R4MGD8GDXBMXHZRZ7UL3OBS5B4J6HIWLZL7AVICCBXMZ07HZ2IJSJWGX9HRZS0M4DKHG2H6D81NE585VX90CJW794TK5JWJ7P84CBBVN5MX0R22VIM7EBUYMRUK0FPYRPH2ZK3D1TZ4F4WGLMFQYAYGZBGL7LSR7IVSC6CSNWI4NSHCR9NSX9PEVFGPMK4CPZZAUXXC0DPKYPLB9SWDFUGR5CCDDDSGAL52R2VTQ2TFM0S1EI1N107VKMTRJUUOMYCGMU534N3KQZ4CELXIO0PSRFG8 div -36#WI96TST31T9BEG4Y4NNZ3R3GLYO48KXW8UTXTKKM7NAEUJK08. +-36#27RTKJ9O643T7J2BSR948ADDCXW804EBC6HJ29QT0WSI2MEBA595087C1TTMKJJT5V15MB8YD3WGX8SZNA7E2FDCAVNOJPG5TNHZ8SIN5LUYA3P10CQZCGUQQ7LN0QSYVGCDBD7XAFX0RIB0746QNACKG0VIFUYEUU2DVQRBLWVB5VM3LAEQQQNPMC7ZRST50JBDCOCTCZWXMP0LLGUR5N0MHPOSVHOSBGB9AUP0SA7Y4MWKUKUL264BN5ZJ47YOZBN5F1SUGZF7321CH9BI0Q4L0H9D0PRBAQCYM2X0Z1RHKPE1NEYELC9WS1R5HGDIUJ4KUTPOI867LPRCY05HA58XJBSSI7Y8QDOSYBX3IQVK2JW7PUTVW66W1652TGOHQ3QJSFNHAXK8N9Y4SR0J44HJ4NDNOD5VKEPQ9EKVWF857LX43AN5GN8NUE8LC8KDBNJO44DW7BXGI8CM7HKIJ6AX693LB7RU13NWD4YN = 36#7SVITUA2CDYJRS0OA6WB064SUSFKNIQ24J0MJN2UC2KARKI2UOPA3J4NH9ZQFGIT4G4RH0L6KB9XCSLNP96DS90PV0ZNSSSHDJ11XSB2L07LD61B8BZ3LKOW6NUJDY1UNGMOL3RW7J0CZSG435VRQ01FCPUV9FD80TDUPK2SZ9VFBHWM2EBF9LBTHGY5F65OCE73GCBX1B8CVDUYDEKWY9INTSILUO18Z6HUTJ7VQS5OWG2MRPTJHJWBJS2XPOM70P0V4421WHGQNYKVOR0PQ1YKTQVZIWRFJBSHRPQWRMCHAYCN86KLJSXYLMKG494OZ6D2WWOKZHKMNE5J2S8VNB9RBIBO2EJF2T9F43HBWEVKCB2YVWKFL7M6TTXURS7HBPJMMX1ELZBMUU2WYAMV81ZQPHVTTV52ESY4NOJFIL55AKAJEK5K5HLP9WO93YQK9TRYWIRC3BQSBY1KAXVY5E4FTASQ0YVJVSGDU72XAIRM2W3FAP0VX8R4I6NIQ4GHPOYVRZRSXQ6NHVBU6505AF5MVBXRIJXWLTSZYMV9D7FGEIL67AMMOHFECZJH7DJTRKC82A0Y7SROFWX5M2AOGB31EEKM3ITIAQTG6IU159D9GIGYBRQ4MM8RS1VMH8E1C43PVO1V12Z68PV5XTVRNMKSWSJA3BUQV62F3M4WP99DSAPWP5F8E24BFO5PCG890QQRK6XOMED3I8982SVA85Z27PRTFI5GMZWW8TZN4GPA27PZC6EIUH55Y7827010YWZR20SRC3Z02MCX5GM58936072A5RGCZ1NH70WVLYWK3CFY9AGNXH5ZCQXGMHX4YUPNJ79HZ0MQDB2IXUUVSBW68HD4HC4LEI10QT0V5C3R55BB07XSLQ5TP21VWPBZY9QQBZULPYCDFZ8TPJ9VESQTAEKULCNXSXTLQQ61ZHH8NKK6QR0YELLWVW2ZWK0590WYH9XH32J1JN9JLW4XJ23Q11ECB2P0WUW2H3ZOA5NMIZ0MUK9Q3HM990WNIWKZRXQN0R8FS6I80S6DMIIXB0TMNQ9Q1CW1TNLNJ5E61HJKB7L4UP82AHEJ7ECI9NRWUL82L9GQU43JKTJTMP3JIFO div -36#3IR56A8OTJUQ72XMHSAOE8OLDGRMI295S5WR6DAPZG77KOCPBWWNW9YHJ3UQD48ATLA8GNEA77QXIXC8X8PD7VB2FABTNDQAG9FYJPYOZ4Z13XJBNQ0H0D0D4OOIFC3NAS1REE7HB3EN3KF9BV7CSVO33S59REEHDTEJN10Z8PPAF6KEM6A0XAC6JVBSN2KA6LCBLBNR52ESTH377JVNCABCHRCAZ0XG2SYZ5JCBUU8US3M63062ZUII31V4P7PEDTYXU4ZWPGZX46LEY6UWI8F7UJ11H9L26MFTMDGOOUGG0QF74PWZ8T4PSJNXJHT9T5CPZ3WV1T096UKOEU064O3TWNJ9NYL28EWB2CHNE4D45UIGN1KYA9NW8I7QYX5J5TUJOHELLFASD436KSS5PTFKUPSMMUMRXGDVKATTG8S1BSQPYI5IU3JQX2I2G6PCJ2ZYSE45XS8DQMSNBC89BWAG4UH0HHXCVIURGSSNJ6QPGN59CJR7ELQXVKQX8QDS03KX8XQJP8J4YLIYKQ8YYCI2QPNGVHAJ0VGN1AO53HUAHQJEOXMRJFO3BY3OKCSMSUUBHBHYLP2KPQAYMNEW42FM1U6GWGSHAL9ZOLHD1Y67L3SC. +36#D60MI5IY9WRXMCQTQMOGHAFFSAEZ59R3O7KH0WVJ6DIYXKQCLP1MFOOZZDPMHBUT4EOE7U68NECEFJQK7EOQ6X07V2KJTE2XKD62546TIJCB6OMPX6897KWBTYJL8GRIRCAZSE2717GIX4BPLRVUAGXPBVVYJ6UNEVARZUUKYN93HD1JHQKYHNM5VCXJ0Z3Y9XZ5LYIAM6ELQ0VN5W5WJ1CJ6I0GXEWFK583JS763FMC2FBIWQHNZTR2OIEP6UWY6SFTJNI82M07KESQRUH0S1AQYX07X2BTYD9ZVCPL1KSBN128NTPN4PSSPKFY0YEGYJ14Q1L4DMAOF669V2WFH6K81JKP1LPEBPHUYYQYO27JI53PCDOS4 = -36#AJ48VCRIPS7TWG9QEBVD8OHHF22LBC02M4FUUXSLA43YBIEXD0GEP1J0OM41BGICM6B1Y2K7UTLTOBKEXTHKQ3ZS52P30SBNL3MM37MQP2JD553BAE7TPY8J2WJ96FBTOY7K62RS4BAEC7FZKACM89J07ZSA8XG5L9996GYQBKACUB6N5HVFZ29NTWIFO8CECQ4N5CLJCV7JUF9QQ5ORBKEC7299ZYKRPG1RHCG0NOJTALX0PBWXYL7GZZJELE266BJJ8F70HLYS4C8LKE6ZS4Q6U1CGDGD1ERX4D612XO1ZY56OEQTKX5QU9NAQVYRR1ZYSDTRX3KXYEFTDR387RC8WRLZMRMN8ZP6T855FNG0S195XOTFFGELXMVHI8B8IXLKFDIP3XVLA2BZ3U9VM1YN2TU6ZTQDOKN7WR7F6O1JGTXJGO1L6TW8CC4CO2NAZ9GHPZL681XCSUV1U8L55KNO22X5SSSX6XM7U77QXQTGWG5K div -36#SSJCV5OO99B7UDE2ZE1QCDB8GSHJS8OEAZ7WE4SYBUUY0ERDY03FXSSWZ5ONCAK061UIA3XRNVKKBTJII6L150DR2IW2QVM8TZT85T77HNIOO9HT76HXPQV2BE. +36#1U9HJ5B8CLJSAAN985VYXK8FSQ23S6KE22PSWBVOWOH4UG3HIE = -36#BW6V1ZRWRH2ER4IUTT9D9JFCZBDN7TDE53ZDO6O6HRFUKQX9ODW5XAF1PFQKRAU5YHME0GWS3IA3H7BHKRDR74ZZG29JVMIOFHW482B75E54036DD08LS6O3QSM3NE0CSJO59FLYM6CEVKBAZ18Z9E56PCQF9J9YUPI1ROYAC7ATD4B2SZ07L8YHZXSSL5TDRCFM7X0SLK5WW6RT4RT5PXPN8CK8Q3614MPB8Q5TXEOQ6J0RNI7F86NRVL25HT5DDGJOVVWFL4JUGKXYPEGSTUXX5JEEAW7DRO41AHE6OQC0ZG5P6AJOZ4341JJW8F4Q54FGGHJ2XPX5IQE5D49GDLKW4F7JOUY1Y4MDP31JN3FS0KT1IVQ0IHBMQLXN9RGHM2 div -36#6GMO1XMGDM6H5GA146E6KUG6P0PK9WUWER0TDET3E6LYT3AETN03JWNR079JZ5O1VXKEQ571URGD1JQVKFH70YW7JUSF604EYM5KRBLY4CM1B6WYHAZTJYON63QGU5YVN3I97VHWL3VQS6GMFJF6CPDATM4W9K66S314PA1HH7W2IQ6Z4RVSPC3KGFRVRW939WD52N1RMSEFIPVTORYKDR30N1LKI97406PP592S6LSJOMVABD99N5MR48J7O0CIORYONZN8HD1QJHKKXUILEKIQG4GTUVTE3MHMJFMWQJ8V5CUUKIBYU3I3N9HNXV5W457RAIWENFOIW2J2V. +-36#N2T136Y0SSEU932TXQWS89OO9N7189FEINTEDLSUUAVLY5B9YQ9JT71JPPKFEU14HNO00QYE7U4YGFHTKUH3BNGQYZ8GPAVRX9ZFYN2F602UZICFUO3MCP0KS320YF9DVX139AE7T7WOGZ27K2BHGVTV5VW2FLWS8Q4564MAHX5L43578ELQIT3VB7J4 = -36#REQ041UXXTKVDY9ZY5BCU4Y6KFQ3YP28UHLTOYKHNG6BQ35EY6JS4BDVVIJPZ7IN9LPQBLFXP0Y4292E7EVFML95DZPZLC4OR2PXI87TZ8QQO90IBMKPMX8T1M2S0HRTT9V0E7Y6SV4 * 36#UB7P785VKS88SPQ7C0Q6ES6FO3LHRFLHR6N508H32MY20ELAJ. +-36#PIFVKO7SMVFZJP8ZM38Q2ERN6XT7MI9GD8YR71OPF40DP6736ILR2CPZL6LL9ZE54XQ6IP7H74YLN1KXCYJ7RV4HNF62WYZ02WU56R861FWMTQSY8M1KNL00I9Q2C9PDZZXO0PJBHFMHCQHM0NUMBZZMHG0EPZWN0DTUKFXXVHFQCJ4JKJ0HWPN3OCHWGKYP8GMR2V3O7COZSE6T9YYGZOAT7R08MUJHY3AP1EYHG4KP95E3VS43NJCCXN4LZ1ZTVA1GV5D4RP6WOUX1FIAZGK480BM7FKYDU77NAXWNNMYMPDPP3LPIV8G6YVB9X7G0QDI3PW4JZG6KYB18W973LZ0LOIERK0AQTKAUIANZENIFPEOKTFPD6LRGI08CHF4CAW5MBSE7H8FQY01SGZTGR4QY2NFFAIUJ91DYT91MR7BKOWRQ2ELN1K3NR9TY4PWDU763FRG934SZC1IIERQW0ISNH325MAEHEZ37WZ98OY0YKWX1L90ANS4DMB9T1RWU = 36#5YG9VLSVJZBWHXRUSSR5Q7R24TO8WED4UTTKCBN0PBF55OXH1DLT6EKOOCVQC4HLRS7WLCZ9TFORXMW688L05F6TVY4IDDL648WPEOSO191PG8PZVCJ34V1XN1MPM9GJ7L7TAZUKJ4NTUM3SI1B4APW51SDZMSGOM55T73N75K3D27GUEXLG9ZTFQU889TAANIUXXPEU6MVN2S2MW6FFC22GFNZ4SYUTXLFN8LJQL2W2KRLJOVBFDLGFUVUEIAVHURNR0MZQBH60AOEL0QY65ARK0HJMAOZ9X1RM1T7W3NI0OVRCFN8QSCLKVKPYQ74OUMM5JFYTMQU07QSD85B6GLQ4BR0JSVLYV6DXJOILWRYOONX8Z553K7PVITRYKFA2PTRR3QF7NTNZZUEWG2QKELWLR9NNRN87TUASTHOG7RW6VJOYHWFI247R49ABAOEEV6OZZE7ZYR4HW61TZE97A9E0XJY0ZFZENS70HXWJMZK2D1UG5MGCMJAV8UABY3MHBY9SW07OAQ6GKOILF2TRE6J3TWNW6ABRZQG8QNL9Z8YA2P2L6 div -36#8ELZ6ER0XX60DEVDYNKYGU41U5I1CH11CHTVKM5LEGO8P2TEZ. +36#I51TP6KWF70M1K545WY78CQWWT1T67CCKY13Q75QLHZG1OBUDKP94YZDRTE8Q94PXV7Q6P34CCUN3Y5GN70K68GRCV62FPGZIC1UA3YAL1GBG84J8B1Q6DSDN4VWH9B0K30KF1Y1E7BDCDNYK04UXV15HB53GK9X3II4TKJ33KVXR8EGVTGFE0LLRI38EJCSVWZLH1ESN2OCC2PXZZFWLJBSAYAXPPU43DL4P7HR9JLWB016E5R6Y5CNO4BMBSWID9X5AO8O7PK13U8YQVO04ZAVMFSBCU3HPSKGNZME3DXY334CAEBTKDQT6KOT9918L515J8CKILHK7MLK2QJX731J5LNUK0AXXNSPZ92I2QIUM2R60789S7XJDXKSCUGV5Q7DKG9JW4WYM7MDE0X24QERRLXRXPMG6KALFGR014F6WUPWR10RS6R37BW8PU1E5STLDB2LYSMD3AT5T0FYF69BLKA2YCR7I2EFYY5WC4NX6LXHGIU5KN5XDBCW0WOSREDYTUJPXU4PHZX3S4BJ9Q3RX1IGKFA6VI6GDIQBUVMDYRZ4ADV4564BQEH1HWZH97T56BKYLTJB9BT05B3QGQBA9IC7GI02FTKHCF14IG6NOZYEICRXIC8GSFD5NELOHSUOUBGU4RHVVRE0CUCSHC91E9GQPECUTHX980XYNSZTPQ69W0CDPZAFGUXFIPDBD360Q0PK7ORD0A8OSXEDFIO3EGK7O = -36#2MKD5HR1Y3ZKB6CIIEE29B3VCDL0BWHIOXJILPNQ71J7BAJYPO * (-36#6WLWFTNR8KQ516LEHVBADAG4QA8GA4QPIKBR6U4HKREF9NMB2QEDEH7PQW5X3EFTZ3UNXCIHYCEOA4B0902OJIL3EA5HTINHKYO8UX3N97KCE1NZ27HCIVIFWM8PK46BQNHLRGK6A34CZKJ03O5VVMKZEP81HC1Y8VBV327B8F4TC79D7E29F81BJEIV0KC9J7HRVV6Z4ZTOQTRAHYKJJLRG94OT7R45LDZWLR271A2MJ85WCNMB54BZGC6G61TXZ7GQB9CT913CM5COH7Z6NA4XJW9I9PXMWBCX1MXZ3NFAKRT7J7KTZSXVCFS5I8254IM5GCT8YZ9H2S8Y447GSN7PR2YOH77JQCTR7YHI22LXD0UCO70AXBY0Y045EEB7VR8WJCG7VVORE3CCXLGL5M1HGL2CRT1SPFX73NDUG5WZTAA2ST8KPXBT7UYWVJD4UWFRRRL9H2004QE6L1LQCC1EWU7J54NUB156YZ0OGNWOEZKNTX5K1HTAB0JRNEZ8YEKE0E21U2GYDCSHBZ2HEUOH1O3HX8ZGXXXCHE3VFJWV9AESY5KQK28EY8CRJMMOXWN0WUPVDSWZN5J3CFTNMG9IG6639VDK21AT4YB7VWMNPXYNHYAGS7MOFR0Y259RY6VYHG1OKIA8PK047XVQ88GT2NDX386FUC5VOTIP93YJ). +-36#13ZXXSF516J3XWWQ2YHG6HF65CVHDENCW5MBOJU6HN5ELN5I0E = 36#2P6TY2ASYJLSX14ZR1KFH8LUUEN96732E764MMJARIY70SPHPRBLF2H5I8BJE7WQRBP5Q150HFMB13O6K9QM1316EYK97WD5RQ23WPRMUN0XX7U92D89U1GU9ETYS8PZK0KYLMQLWNULLF2XJ1U div -36#2FH2NQTY7RH2BLAMYZ1MSYQ0U4QXL6JQQ3F1T6LJUH6QA410BXWUS9CH24BN5NMT0F6Y98P0677U57II4YFX992Q2W3I5Z47SF. +36#DEV56GVNMZIMRX8HH62JEQUFD3H9N8GXR1X9Q6P970ZKX85CWXXLPE4TVQO9MNK0VAYNCUMZVH3OGJZDM1MS3QM5PMI7SUZGQT2JXPWBZULXKPC7Y1APR0421VF01RPJMTFMI4Q2M77MWR92494UQE23RYSJ6VROJ8M1UPDB4RNMT6D7ALOH2T68YECOI4YZYY14H4VXHBEQ78FUCGCV8WBK5I5Z12JQX73IMLFSZSM1YSRGTL86OH10BRDT93TFNJXZSY8B1ES5JAGIZGNGO1AZW08RC2SGYXP5BPA4MSRCEDTN8LH01YWLY0TUSEY1TWG7O2U91OW0LC9P9V7I57EIWS968AECGSDYPQQP2WOXSBH89QYIS6GJMD7PMSZZVLZ6JMXU8Q37A2YRRAEQHJK093GRWVT1NW41M6JE72UG23WV3EAAN4A1VG78FJ6AXVJENCVOBE3LWFGUOR7M4Y93A73ADVWIR1BZGX8SZ8ZYKP975TXRTHEVZRPOIP6Z57LYOX8RCC24I6MIFPECJRT52OONFW24WM70GOWLXIJPLVNBI5J3OAGSDS00ZNMHPGJKI00MSELKZ8WUQLJYQSWLQDOLZYQARBBHXL8LPMQWI3NL2PBCS8ZVS0EWFG6PV3A2OBMK3CZVV26KSSOOX7W7KH5PK254K3O3HTOUAGL9Z0056PR1BROACQ7HD7MN36F7ID = 36#6B8OUECLB82W7VHRETP9WJR8AVI7IJIKJ1QC654U0CRIRO58VAGNNML94YGK50Y98YHLFIMV0ZR7AFHH7Z8CRLGVVVNK9TVLRLW4HLNGRJMCFMXJGT5L5S5XOYW70E4YTZR5NV54WKY4E2ZUGTHEDGUNWS2M32JZYZ976URYABPQGIZEIYDAUQE3CB8N3R8EOWE603M6E41Y573B5332NAYZ0G91Y6CLWS4KB3IEJ8LIIKOSHLBUP73BC1D7888THVWDTN5P6WQ6SLLHYFTQQVZUX5KGGDHJOHLGGCKW4V6WFFFRI76N9XH34OM7R2T8GZVIDPU20DFNFHWNRUJBKU0J69GVD1BW8TRRCOFKQLXRC71Q8XBPEJ90LA7EPRAMI7665Z4UCV0TXH78PMY0O6H8G0RXKZ90UM0208P72S4EYU18XSW3475NPGY5D1CQCNBH75CR3XN8SBABS2GHUXHJG8G5Y60NP24YJQ7SFYUWUP1AEUUQPZIB2CI2U5EDUA8JQI7V5M6SGLATT6GRGH1GVROD05YH6FXLGR6F5XQGTXNFXH4GA1IHZ78Y1GSU4JWGNOBLCXUY5GGIULBUO1EOX1LCUCXFK4PID5B2NW27KP5192JEOQ95IWM48HLH3BZIMK9ATAVLRI2E6PETTD7ZEX1JBQZR5VCPA3U204LR9IJZ31DO4OB64XW7B5Q5T79Q3XO7CEXW9ZTIX7Q1LXIU56T55ELHF0S2P8NWJQETFBEBIZGTBSOIZ0EN4HGJJ0UZ9XJO3Q8P3Z4ZEW5JRVKF1PSZEKLRY7JHYX14LHCY11TZ3ZWT1SHDSXCZY4H1UW7U7ULHJZQ3CQYYD68ALUHBV791117IZG5II7VPJOMPQDW1D2TK7GQHNOYA4H65QWGXMSX71ZAZHHG1OG0VAXU76ZA7U9DMKKE4GIFKBTZP3ILRKEGD69LR3D80MNBSXDZDY0X2ZGE6P2VY01Q5U3E2Q24WM9GB60K615ND4V0NTYB9WKYF86UE2FSDKIUZVUQXAHD4XW1CXFFZHLW7C0UYXH1S91BVM68QJHK80X6QXPX1VRH6PCUUQQ94J2KX7PM0VDYD3LBI47G8QWM33TFL66LSD0APFKKFATWUWZ6I7KJSGQWR64V2IKFCUQ06MQF0KSXV6AQPXN7BZ79B793EU7WRLCGB3Z6QOTOOF0R1CV6EPVK1C25H3X2INGXBYYJQPDMH78EW00ADWZS4PADZPP968JP02MGMNMA08Y1BEG0WNA0O1JONPFY9FSJ3Y4SL1Q2AMX5IE0ZXQPT0W9SQ6GR97G6P2TF55QB5OMNF div 36#GXWSXMPV9IVHP0FSVZBHVD0FYDS68NUVTRYHPAF9S3Z9UC6P0TO6FG6D3EODU7TUK5R3GQYJRH0B87JEH2CSU4CLIIP8QFHIRMBF7IDJIHRE6BWQHAJVXIXA9KCH227BH1ZA85YGGDXSL4JGLRZIKB9O6MHTBIGS00OQ4YFI0IUSIRO1EWJ6B3O4LTS7ZQ39HPB2D12TCSMYMECRGAGUQ4WS33JNSSWSZ814AL5FY291G7NQUB97F9FVJ9UBRAIA4KS6MR1V3O51550EVRSUWSJNI5V0K1D0IUAIB39P3MGPA1NHJCSJJGDAB10RQJN7DFMVP9NL6JKJLPYR3BVMP87LK9E1Z8T1ZREIA7VHWV6HEG52IXRU3Q8JIERKR27R14ZQC9JS1NQ1SVY339PJJEUU6XN5FAHFB3YL87QR9ASA20R0ZXLA88CFUS08B5UALNVY5R2EAVVMCW9ODFMWLXDD5TX5HND3GNEN2IBE9Y7C18IMHVP4INWWX48CY9E6275NFASVUDLMS4SU43AW7DVD6QHH0PPVW6J9C0672LGRISED70J560I1MIUXZMYX59PKIDGQE38ODXCY96TXJHHYXU08KNXY8O6I0F. +36#HQKMDLMXGQWCT0NNCW5CWO2IVNH6R86SF5SGQYQGRCIIZLU4MTRQEK2J2QHDGG5IA0LZB01YV26FF9TXXK9PFI4I6LLNNEPL58ILRR6D7LSGRJ99PX8DGXDN0URFHDLA760W7MMSMBUSEI4WB0J67H5XBP7GMN3P5YH79EQYTYVP0DKIYFT20G52X1TT2QRV0OZSOUW7ITX17T45HSGF85MSIJ9HKHBHIM1ZJQASFUA5U5OHI8QU6V3S2M0KQGLZIR62T5CDSUIQ0YA0DO071YMYB39DUIGCB4SAA2Y14ROT8752LPO8DT6VQMF27R1TLFUBLJBFS6MAJMVSS21CXDC8OIT0BAIPMN = -36#43N31JAI2O1E1WTVVMHKODACE2I8WKFRUG575DWKE3J6W1GDZRF359B2H552R6LDZRR8HII95AW6FV9CC6LG5SEGQYXWZ0IU2IN702N3WPT1GMR1DLYOLWTD3SYMLK9PVKEWN28WO3P2HA6IWGAZGH5W5TKH2NVMC52SZZ9NMFUWRCGEAGVGPVVZEWG0YAADI5A709YJ5OHLDO0AB2BE8YNXN0E4XF0Q4GMW9CTW0EPFMYKI37AEE4YXK5K4PR3K0V6HU72CAI0VUEP6DTAJJ6EES4HU447JDYCQAI8YWY852TO1TUOQYNJUCSCX771OB3LD7IXUKLEGZKCJCX1S72U89QEFQQ3FSNZUNLN9N04TTCZ5HKR5LNB6T5KZDQK70GJCE1J60LXBWP8SY9JGEP4O3YNT7OA2W38EVI4ME3UXCRHJ7GO6A62WBGOVH3F156YFKYYQ1WJJCSI7ORZXGQ7TBVATJDP0HY32MA0 div -36#8BN3MWMD1RCW4EWA51XWX4Q4GPZTJ6UVHLDIHB93FXSV2LTXAGLXVIF5M0Y4PIX5RRC77XO9FM8MO24L91643LES9B0R0RKS1XPYDGKY647WBQ0V8O4SRCSYS6J616ZJI1Z20. +-36#UIBA1TG07OP0MGFK7EUZEWSEMHLIVEP3Z7670PYFTM5KA3MDX10YJKMS50GN0BRMG6WJQRCHNM8MH0AVDXETPJ7IUP4X8TUL2S31IDN8W6PDY3JLCYGIVROQWVBQXJ2KH5RG3E3572OFDASM790ZPKB3N2IW1H49RJ46R9EXLCW77C4G1S61O0V85QPX9ULIVKQ815JTHLWK0RWCYB8GT9NDHFA20ZJF2VS3MTT52CU7PW1F1EQO2TBTY6IIEEDHUYQ70XW138I3X9BI6Z7R0EVUJ90BUM79HTX3R8C189DOQLIBDQLHEA79D41D6FCCY00VZ1EUP44LCFSNLZRVN3EJEI8K5G81FZLSKYP0765AG06I4HHO6CCRXW0P = 36#2GMT87JDDR4PCFVU7O42Q0KL7H2X0P6N3HPSW0QK5CNLX7XCLCDUBL1QLDN70LB57Z22BME27WCBD0UVSA3SLXKFOL9YNG2EWTF8VISMGDZKLS90KIVCFI7Z0PFCKRQOAOYX34NTQYXC6VWR8Q80762SNDBRY0CC6NIC7N9Z9XN5W7A91DV2L3BBMR6OU7CT682JMF82518NRNNJ6L2VKO4PZH81TAKIC4URDMQ3K9ZUAN1JDALRA8AWQ4VWONC26A75S5BKKCS9GCC4RDH3OZK3SE7IVFKDKWP2CYI6KPX3WDVG793P8RMM5MFVTW6UFTTJ2CA33PWGRSM6OMNAG9UV44I3SR545NAAK7XB842R7OTOI9A62QIFJAG30CZUR0L4J5BTQBC9FQRVEJ3F7PEWYONN721EQQTTH88BLB1VRP div -36#2WL4O9E7839LDHKDJJ33VR4GGA78W79JGP1XIGBF7OQ7GO05R1. +36#3Q5LUTIM7SGQVYW0I08T1T0XIE3K4KOY5ZXPSBF2J56WGK7YU80O95KXKVDEISEUIEJHPURTII5GCOG6ZEG8DGU6K4PRTVTY74OKW3RPC4BSVIXVOD4BVK5CVNZFJZLBECNI0DZI135J9BVSAYA3AVA2VR5XFJ5PQ = 36#8GKN0FRPE4BU3CSMM4QMY4DZRIPQFXB187OL2XWIACMA343P6YO5RAR81VRI8MC65FY7F2LWM7O5DU5N0AMS4QDC3ZXS7G69VAIEF8HERAJYJ9GY4EVCTJ4WHSYYHQP05XCLRCHRNAVGAF0P5PJVTSH2GGAE17SVROJLDMXXMDSZYU703ZKWSVXGSYSGO5XVBXHAJ1AOZR32ZAFZA1IZZ9O4J8SL0E0YMBC5YOJOFQLQ9RM4Y2T3JPCD6C6VW1SXCT0ALHDGTN9Y7RIKFH3EN39PJ4QER5J1G19SFAPDUXFVC4JOMZR1A7LR5UOHJ0RIPFJH3B51EEXYJ4XDQKEYTCH5IAPAINPS3AW3T2Z6 div 36#29QAY0GPSY9AL34AZN8XEQZ4IJK9Q1OQAB8KALN8WJSD0KTU6M8KKDVJJAEVTV1BE0K2W42CEUNQ01XW0FZ28AWC40BQEI70ZQX2M34WS7L1WWE6VH5APKFZYA7J9ZJ37KYKJ6FCBYQYTU9IZJ8WFM90V6CD23CXADBR8TXU15GCSJ7Q7T5OG0CTSC32N8W9IFYOEMF3. +-36#1FZTVUBH06MALRM3M2VI4DR96C0I08N84JP701727H7BFWC86IGQPJPOSDT0YVD3QOTKI3T90SKAAEIW98QU9CSWJ6QOF6QYOCDCTZBL8TKRMVQZR9BQ9SH2DX9UYIYREV9EH4COZLTMNJNCUARXBC2WZES6T6 = 36#35C4XVI36DFG24BTU22J8NP7CTNVLUOMD4S118G0G1SHJC7046BUVCUR2BYOI4L10PM3FF874XF5NQU0HY95P6NC81J82GG2R6RRROX5RC5RXC3K0CT7S00EE4RWIGTCKLK878X24QO2YF3MNLLQDKCZE642FYR1BXI9XWZFP64A6NOH9H58KE12PCOT35GZ234KTTCHCCGVFA7ZJA0QXI30WCCUUNYLJXW03N7O06IXMW1Z277ZYNC5I37JMW8KJNCSX7FC div -36#26GYSWXN54PUKHRRVHFO4C0QW6VV1K1CP43XDE60AXKH4DPHMVC5S99RV2FOJVOJA7VUMHWMCX07AI06ZAOCXN6A5S2MHV90T75LKEMV6FW. +36#4TV7CXQ2AKH7DHFQSGME82XWYIZLIXPOXTDMDAA0WYXIZFOP97YWRYZKRKGZ32NPUDPJXOUA5UND86I9GD6LZ4U90HEMVKRV3394YEZTIV7NLCPNEGPGG1H7J567KO467FONFP7XELC0G70DITV7YPZVAJSZ10W5WA2OXUA4831FLMFENYUH7NY36PCS69UNQ0WSFSYV2B3E26Y2JATLBNONONTP0JOXZE4TY5V07L06NBI4QYH90RN7NMROBAFBNAKGRU0SWZEUFWUY7NDU62A4KVVKMWFXG3IBDKX9B5QGWSJN09XKDOP3L3NUF2NZ2A7C3PCIVRGFA = 36#BIXAXY2HFL0P4ZN3AO6RHSVSNSBUQ7YXDUF4F0FDJA5SMT5J0P34EDCNBUAQLLUFRRTGBOBGBSN4T2UV87ZH4BW68AEVAI8DOQQYBHENBL7HUZBZ40X4SW4QXLU5YUXIYBAH9ZCPKZ6C53ZIEKVGZ5RN45SGPOLBGA5EMMT9FZRMYU1I0LHNU7KR2IILKC062VFIZOAFIL4MVN65M3G61GB9PG3JM07UY76G3BGCVB0FKS9YR3Q1TDXWFA0II4PXAE1D320EC2VCJQOKAT18NK8IRVBKXEF8KAOI3HH9695VQMASAI1FEA3GMME7QVTUTK7GEZOS2A09MG9YDFI8X7CH77OIJLHNFZS2QV1KROO1RRNDOJ8TW4XWUEAKHCBL7839X0BDW6FVW8NUFZDTFLUKEZ92U7AIC2MKN45SB5K49NPTPQMBBYMV83H53UT73SS0DZ9XYVDAV8EPAGYM9U122S661H1P3VYGU89HVCBOK9P22DXG5BRCQQGY30Z95L2IO4KSV9G1MD0ETKYAVQXG62I2L4PGDZSBBG8SM8XC807LBOJDAQY0W0TYPQNHHYRCWHK2S4LDPRF4NGCC82K0CELUN6PG41L2FKMRT8JHAX47JAXZN8FYH374JS8BRK div 36#2DWUEGPCSGVQFTYS175I6QNYLQTOKSY409M5776JZLDJT8Q4GTP9DP9OS0WIGUWYS56GR9YVWKQPAHA76PA5VM2C2RNHPSZAEPIQC78J456BK9O0METDV6IZGS4FG5ECMSGX6428G4VHEJMXD3PO1WJ8VMZ0AJJVD3J9EKFIUZSWUU9IW2GQZK5SA89ZC42XE9GQHB7XCQ6F9IPS7AUM4GC5R1BCQF6XCD6C4G0SN1RHUIIPJQGGH5VRL34XBUE3HJWQFJZHRIML0WA2WWUZDJ4YI9CTJCJ7CV3L8N4A9KMDTMRLUN1A1K. +36#51GIJI82KAROHVXABGQ3L2ZUFYIN8NADOVE53RYQCW88I50TT0GCBURCBTQIBRRP2I3VF8O8RPUKJYUQ5UUIT820QHAMYYNYHXNFJTN019UT05G4Y7OTKBDBRGOB359N6LOTROQOVIKPWKYXFPX43OFHA4V51VR2TMFV5ULVKZPS35PGLZ7YVQLTXF2YWZ504LB50H3AYE0217L20LS1I3LMLVKTVGJ365BBA7VTOTJX0MFKL3LLJ40A0SGOM3Y7X3UYDUREFKR80Q42RG4Q56FV9LZYHIM51TVJY164TYHI38LU670PIJV7WDF3HMZSCE0ZYFTHZ6Z1XN638OT81BNAA4BR9PREJXZBAKH5PMJ1YRPKR15Q8F7DZ8RV8VIBILNE9SY2V9D4DTOYFN4YM4OLBRGEBVUVIBYWWX4BTP067BPDALYL3QIJBZOLWBNQV3RH3T89XH4RGAI4HJV8G4UL3BY8LLWY9L03L9PH9EOL2XJO93HVJSYJ18WPJ7XX5M2L4ME3ASRUO6ZL6P63KYW7H5USO8A7854YIDJG6XGB0M4VJWGU0Z44VCAVOH9YG98 = -36#8COHRMNQLXFJL7TVKK0NKCT2A23Y3TAIX1YOQ3YCBJH2AVNT0QYZIWU97681LF6TY2RBG8KWDY10400FZPCCKPNKPEBJBKJVRTAIERN07RMQ9YM0FY1WWBO0369WGR7F9OG7F7K83CR6AKWNGEQGGSIZBQ4GNEO0CJ7F99JLGSCEZNR39TYO0CJB8P6AQ0D2CRQ3OF95JGZ7T08KHQ86595V0HU1O3F0JQWLC185UBC9WX0B1PC31A2W4KO4HEP82MRNJN16PO0KCBA0YDBW3NTN2M649ZZC35FPWAD6NMEDMJ3074LR58EJ7NJ0FMEJUSF1AV2WAREZTDR0YK7NPTMQPEIQBC5KMYH9LJR5VFR6E7OAT0RPNP73GEPCWLL7QN0I89OYZPMW4PMYQ2IJHSSA07XZ8NIRLK2BHM3295RZYOUCL6FUVSFXNOGKYF4M8OWIB8JIDRQJBUCBPAO4MVW6AQLBORSU1K6L5P2YN6ED141A05FKIJE6FKZG7KUAJ66BXIFUHQE7QJP65GJGWRTLF4XRIV1V6CLC7E67C6ZNA27C30A9Z7Q45EE68GJBN9TY2KJJMH5N8RJXNZWJ4SU1184SI4XYNXZ34YLHANVFCSJHHP7C div -36#1NNHTKAFA8Z590IBL4G9ZEUM6FRSZIKMGVF726NU4EB86KJS36. +-36#3R4400YHRCM6KOUCBVV9AFE5X9J6XID04N2GOX7015EPCFV0GM9VB0FRCCLAVTAO66I8ECW4CWFC4YUI99JZ1T9IMARW267UEMFSVG3X19ND0C6GWVASFFA10HT154IZUSMR5FNHNM0FRY1037D6OXHAXRHWBXCA1HKNEVI4VFL38E2XIQHU0JOGKBSV4SP9JZYSUOBRLJZ5CTSB21JWVD24NRJ9QL6FCEF4279LZ8XRLNLNHV8I46PJIW49MEJT6RWJ9VCKZ8VK9GUHOBOXKH02ZIA1DNDY8LK9GRMZ4E8NX9D8P6W0KIWORASALYLJ37588WFGBOP1X02Y3KRSSDB5405HHH4EX60UM3RPVJW7CDXT0IT1ZGVAX3USNLEWAHYQWS121J149SSFMVUFPXQ103YG63CNB2IPEQOG6KZBFZPCYJPT0483NH0P1663BMSIV1QDW0M5CNNAA6AGMW00O5U7KASJHOP37YRG16RWXKIQCXLAKM2YUE23Q7I95G9562M2Q4YA = 36#VUJDNXLV57VDZ6C5ZL95368X4FJUWPAOFR657HO3BGIJT897CF3PQXYV823VYN218R8YWEJ50XH5LTYX1PMSFL378NFWFAQ3VYARVP4KJSB26TGH9L645S37HYOZ74H08JKJWYL94NM4RM6F8P4FWQ14MF4KEST6IR8GF1OU0PPRILURW4VQSHKKOHC0HSY21GXO5XDQYRZAACNOC0EXWCW49PQEVCZS5ID9FTRD60TSMROGWVCJRIQEHI6ZF4UZK8M1Y6IJFTWRIQ6V39XL60TZ79BYWRBJ7QLZ61MISE0F2 * (-36#48Q6X21RY9NZP6GWOT0LUOLQBJ9H0JFYEP3SMXB0E5H4W0AOTJJVCSUPEH5DVM5O2AM4008N0O9ACTGZ7H39VWBU59ZMET5D4HUH18QNM2VXUZV5PED3JJXLI5KCNBOZSDB903GM4U3PWZP6VYEGO1JHWRFKHH0U9SESL8G7YUZ0WWTTRQ0YUZ5Z53CELO6GOJI6CFQJ7Y64IF6TPE8G07MC1PMMFON). +-36#10MI9QPME9OKCCIIXBAM86YEAF9MXURGNDOQO1Q07DXM7XLIXB6PF4CJO5XUYOE5GOFHNV7M7W9P8ACT8IPMTPU17KW60RSY6OT47FW5R93F875Z1S5BB6UCS1Q9JYZSLAU2QEASOLDNK2KF5AMLIF7JBH5GQAJA6FP2UPE9SW9QNZ2RR72Y6A7K20T5CTQ1P53AO4USW6PVTW6PF9KUYAC7P6JO11F7U0E2CC2HHV38B5E70IQT2AKY48D9FET6QM2GOOMVSK6RK07YJ7FSO2FMW3U90XBXK3NZEBT7ZMEIL78RJTIH4L3KXG10E049SVIMPOCMGLBWNPSBR76BV4KGWVH96DJL7O1QTCQUUX2Z46KVRLVHHFC7OZ8MZ5MOOXTKOOMVRCNBNSVTWJFXCM3KNWJ5XS4PTROZDDHBUXQQ6OORZZ80DCITEWPJLOTHFNTBOV2FJZ864TANSCRGWUX81SNGACHPXOZEWT5DBVOA55GG964J3QXSV8UUZ12OMBF3KK29X97OU37QDC73140Q4IX33GIZV3E2I0C3R144ZXPLGU179Y6QGE8IKK35608G0EU3GDP8AOMMXNRI8L88CUNDG8MTDAH2K0KBNFZKPBIYRG6N2QMV5YCFY7799 = 36#1US3WFP1UV2HHX0A4PK85YPLM56Q7AN1SJ9V9KQKE3ZV4XKTHKKV7A2J6X07KR75GF0NA41BYUQ8FCWXQ95PHARUW2W7KUG8EMY6W3UPP35S58U9JIU9MB21LRFMLWVHRY3PJKJX95544JYUIONXLNZEDMRI0VYMTCOY9JNM78SX03DYMYA496MMOLFS0U3J0GC07HU3ZN7HG2KATFVUDRSE9H3M1U8MFVVQXXPGHFQFN3EKYINTAN10GR03YTIN70AS541MS01L64GEB4DHPI2ILAJXPDJNXUO70KAEGQSOTJL2Y8YJ75N8C4ZSS62FJN9IGOUFGKDR12RWU1PI7ONQSV54OHTD7K4EW1B6UJHK2M5OM8ZAW0PW8IDIBBSRSMJUIR1SMFPZ7O21GC34PZFJOPN3Q6AYG2IG373G8MTJAC59NG7BVO7IUXGDTP2DARX9G618BA289UUEBUEWK4DKQRO49YN40WFUOJKAV9PLH3WUT56NFWN986N5J6L4XQWXVL3O4VC6EH72MZPG0TYUEDHSS7TSNRIDZVIO59HXRYGW3YX5YQPUKKRS6ZGFZBHN10FX2GCVEHC5DS9L09YQYG3C929AYV3B45ST0CTOAHUFF3CWYWJ026GUZN1QICI7GO5OYHUCK1YZDXDLVHAEUBBFTDY2QQR4V9P7KFCLVEZQ62X82TJMT52YHCLHMOR8SFYPQ406CAWU3V03XKA9QWZ2VJQ0RLU2KXF531KMT1FVHIG4RSUZU4JIAL5JDRFLX0L4YIF2WOKMHD9NJ1NCBOIM692F7M4H8Q549BGWPTAJATGJK5CBO8VTPQLONQR0URHIJ4KS6J70J3F83U4LV00Q0X0R6IBRLEIUVSFC6XFCQE13YJCCQAI6YU0VDPWXGT6HBG3AJJ9KNSOF8W6H42I6J9FCLM71954WG47S1KGXMDECCSEILRXOHO9YEDQWKJ0KEFE1E49GKG2TASO9O2IJPZGV6E3I05AA559WGODVS6QJ2C2BT2ME3N1IC07KDXI7HLK00N06EUYWHOHPDR2HFUYR93XKM99X9ZIQJVUR0JC44MECOHOYWE642Z8NY487TXMKAUY3LC0PKBG3N70R2YQBX399FMK8HTVFYPC1VSJV7UE7WWZHQ57YBSS0KKGAST01ZUAIAPHUXYY2Z209B9RXPSHE1N9K0LLVK6TDYQ5I463CG94RVDB37NOX4484RT39WTE3JL4NZNTPIVPIWYWB9P1HU3P4PAWI3HMO5C4M31VI0S87FT8VPWOUN1CEMBRSUAET0SYVKH74CJ2OKP9LOUSI3HK1CZ908AVQ6QJM5DFBU08SNAK7HBHMI2BR7PMWIAW0Z0M8E4UVKH2P5L2EPKFUX8C8Y3MSON7L6MJATZKNVVRNBXIJUHYKPGZRNTTHJ91F442G0ITXLATB201NENWCF04UUUI32W5ZT1P89T5LOBM20J26W0CF7UTM7CJTQ1K8YD8V00Q9TLLALBILIXUG77XIW3EELHT38DB4LR14EZ1UEOLMMI6UI div -36#1TN2HM7O08KV7P9UZ2ZDA4ZAWU2MQ4DZWJMJH15K6BMPMU28HYIVWM79TL1LSH5OO0QABENEE187D11JMEYKNE5A3Q7Q9BU92NNLJ5E3U1UVC9RY0GN1CKV2JC9HP0HHQFVS2C28LAWS1YJQBG0T0SG6ZR7HXMAJD9K6M4OKHQKVKCKEM0GROKGZQ4MLWYWWTAM0DY8L9RDTVJVL24WGE78NNPXLUZIN24196UKHX4W3NSZC2VAZ0BCEH1RHBZA5GXOHI6015JUQ6WVCXD3GZM65G551SHD9DO4S0YV34BL8KXE6VCYLZSN5K621S5WV8N4FNVR87KYYW24CFF1NJHU4OPP9OJ3HJ9B6XHEMRR0ISL3ZZO44BK5XUFR350DR7QOC05HWBP7HEXHJH307TF6EHTC90ZPJKWTMUWGXGUYNH54ME4AN1HBAM7CHMXAJ83MSN18XB9ANCK6OSFWAZCE0SDI2TCGSOQJC7RZP7654GCDP1Y88Z71QEKMIBAYCMBFY9SULJP5FXPIA7306U97FME8WF129TJYCVZJAXZ5DRYTE9V17JYEC2VV5EQ9AWOURQ6CDY9QOFCZNVQJJDKC55SLUK1FYQAEF7490WQEZB2R7SY5K8ZPPELWPA437GLTQT46PHOWXQ82LWI7YCJAYUW1CTR1IQU13E7A6U0HP7WVJRH0VMHXMCZOJHHPC9ORU9CUIQ33HULWGGAPS6C4UAVBQAYWVMUCJUI3GV6GYP3S4L518MAD3BY8UFCHW0AZFBTCL59T2ZK2WMOKY0PJNJUFCXDNWSLMDF6N5IJ01S51A2RNMJ351Q0LWF0YHVERWUFPMTXBLCOZF3WH2PH0BU2F4HUQ8MEK6WW26U4VQABFP6I7A72BP0WYYF9TH7H4HE. +36#DF5TUEHFAPZZO1MGI11L0MSTGB4VV40OHSTEZAVXTVYMLHFCTUPNCOPMMURGMVPKM525NVBBDR8HN3JCDZ6NACYBQGW30R67EGY7UEBYSYYKD60N9DQ3B6P478XBAT9P4V06L7ET8K4N718BNIR1S4RL2WDQYGIA2CQGMK9A2SH4OOT6UVGDTAOZURSYX46FEB3HHPXDCOTRGWZQOACRCQ9X4MR78ANKG60KLSO0MX3VZ7MYHVOXWHCW9Z4CO4PDU917B3MFY6DS4NTUCW21X03P43TVA1BV8G9I7EDBTIAKX86ESF6357ZNTX1H1PE8YNUFBD5E6PNRX96MCG0SWBDJ5X71LSONJ5JL9RBL3LT6BPZFFDM42BE8VXOT5OZAK83EXAXVN4YXNGA4ZPTQCBOKXXURQ49Q9FNP5H07JGCAX0UEEBAOWOVTIL22X1GIA2MPBDFRX1D46J59RS20PQESU9CHB4Q = -36#2NWLBTTO81EQN9BURBZEI3J3MYS5S7QL8YVAG0DOBF2DKI5YJGYYSEURQ0D36FRM1GEC1W5VAG2KIU99G98Q41NQE82C0XFO482O9O9LGFSYUC19O6HCKEAZME63JK8ZNFSKX2ZTYV4BFMCDNGWRR8W626A1IFAO9Y2CRH5Y3EP75FLEPHHYOY97HO3WWMYRHILXHHJ0X52HBE28DJMI0V86IRVDHB2NR7GY3DS1NC8YAC38Y3PFY9C4K0H759CX20TZWRB9I5DUO8VSYAYQUDLUNI04K4IN1477YJOPMRP2R4IAF490H808JEJ10LNXWBU6UNTCXAZ70L9Z0V3HSB5HDFRZFGKVQRO8JNAIIL0K1VJFJSZCKKX2UC4GN61648X1X4TK02UMQY0WANNR6R7UAXJKSC3PXGFWTB7R7NF1H9R78Z4D5TGF9XO2JL8RR0QACHEO0MZZXHYRHFGJD1X3EPVF076ILSDAI3GQMFTCDQARTG9VHXGT5V0CZZ477NZVBP321MA2TZRP4TAX4CK53MWPK4H9E91IWQOYAYHTIVX0Y35SBLWQ2MMSM0JKMVJ49O81GAU7NKUKP69HA92UBZ1IXCR2YL6I1H3PXD6SUFZ1FBBSNJ1943REWYAK9E8HQFDLCJJVHBMU47LRLY0A3FW6VLKG64LE4ANZQFSTAY4NSK7I2PVMRQ09PPSCIGMJYGGO00VGONSOGWP0LG9DKCYF52TR2GNHU4K91WZ1TKXERWOR9SE div -36#758ZSSOLZN02HNPX2NIK5CM6R4AYM0QLMP7GO6K4SNRZO9YE0F7ZBWVJY0GX4YQI7TX5Z90FUMKF78VJ8BHTPQ15680DCB17OHD6F0LAEYYBYK1QW50FNVDVUUHLX8YQGJPKC6UO7DBFPLDZ5CRPTK2X43KLKX4EUX11IPXIEP6GVWL1VMUP2FKCHLL2DHE0F79WHLIC13RQRUOSPVKDHJOQXVQDHPXJJCZJOJ3C2R6V9LF0UXGAFLQHT1NIRV3RWLXWCIWFJV1BFW3F1SE4KG1V. +36#4U5J78J522YKA1G25OJW4QRQV749F0AJUJ31P8THG176TOYCZ8EDT0KS81FGK576MC7BMAKKAWUGLYQPP7O713Y1JZ39H60J0SRA2J16F8K70L9YPXUEV24ZSV7SWIJVK5B2XIHC2XPQ4EBHH0Y19SJ202VAZG2Y4JBSYHFB2FI9RWUR2V8JHFOWUPNJO5ECIYYTBLM4C9GIRB2K6NX73T7NX9M2HR7CQ3QSU2KEHXFQ4PWT3BPAPCZH23T1169HOCO5TM4IEGWEXPTHAY8Y46MHBG3E1VI3Y6NKB4F2DUP1EDAFA3KB7I0KA1CA5XC8A2OL9TAUKGXDHZRXHFSRHJQT1ROY9FTV2VQW8XUK1MG85KOG1QR99ZW4UOXW5HJ9LKDX29U8GOAPVAI2L5X66VR0K9I5L3QDF4IC5EK5V9P5DTKX8EV2T83FNIDZWPF8J9PDPKUBK4WJOF2V0RMNAJ5DD423639E8UJ3H1FP1NIV1NHEB82JD6MDQZGTY934MSK8C4141NEFNAKOQI99RRGHFS5AQ34QPFX5K8AVAI5J7QVIT8CP9PG0OJVWPO = -36#QTTMXBMVJTTQG986BPB8WOWYBZVKQX03R0212FFGC9C1I5DQALJTOQ15UQILQY73QQ03AVXTPOLYDTIAHU56Y53V3GXA7QDTXADBETLU4ZUTC9QEWKIXADOKKS4U0EHOXFL88KQJW092CDF76KGFXBZ2DG4SIN7GCHDC9MXBDZYAG62JQV1Q8OHAWNFJ7NE8IWEMBGWIA * (-36#6HOU71FZWU56YL1EITCGBFIKJIV1OYOCOXHPYELUXC3EA4GZXT18ZY0XV4R514F48QXUET0TJBYNJBMB7MXKJPX0FZ0GGXEC418IPH5Y2CJQ6QLPFTF0DPMJ200NPRBGG9U4LFYKQR4DK55TK09O3TX4MWA20MD7YB3RL59G4SKNTB3DNNJ91AEG15X0HHW1IOYIHIEW9BET7HO12D2S2RYNQ7FD1U9L2QEWPKBKI4HYOGRKB0NRYC0VJLNOMS08HNNRO3NR7UANQN6XXQ875JDA6YKPQKISKFFX8OOKPKIB019GCQBZX5JS8J2540OJY8WR7X60XBARMNA4SB030QKY5IUG2CLJ95M6SIKWJ4ZQSVPBYNY66). +-36#8V6L4B2D9Z6PXATWMTIJSZUJPTZFJN1Y0ZXJF7FVZ8QMJ26DDZA1RUD4ZIS4M0VC2SZH9WRLZKRHM027TQC77N0MMPUBE586AI3U877DF9ZYW1SC6NLA7F1LDSSKRNMLLWFKDKIR9F0A2NJMZ20HSGL0E4046XWM7 = 36#2TNIB8K3HB5DMEG3J0IAX7NPCSLG6RMXQIYD03W796M9M1JN3YE66RUXI644HMUMJB643LDZMYQNJTB0NNHA5B0G87G1R5JN3Z8XBN3N2Q8MZWHTV52DLW6OXITOK3BS4MJOXXVV9CUJ8VQ04MRRO1W8AL0H17TRFHPOW5S44138IWCMH6QC4V7VIUD3I3U99VO07BLLXEA1MH0UYSIQTAISCNHIG6B2G1COIWBAU4D7M4M80WUSRFL6ARRA7CLPDF91VSGNUCNPZCKUA09CH2TA6GG2T9O852L8JUXOSLFAO17SUKW9NVG7HF7GX div -36#BGQY5E1G1EE6K9ZPTE8EKYXVFRZCMHIZ5AUWHFN6FGSNXHDPY0VFO5ODW2IVH0ZGTFLTQT9SB0BU4BO6DNSUTMFFHYU89VMCT80H8YTCYMW100HFY74B9WC9YK7HQVE1XZQOV17WDUOITVJ0WNUDILMR5KWF. +-36#MH1UIEXZAFQJO2T9PB4A6RC9HWDF6VCKBBSVSDW3VDJAXSX6WT8TO1STD4Q13R6JH6Y1ULN2UC43HLGCKVOIZ8I6FAUOVTBZIT1WER3QNXDUJKHAQ2J8QI0DAQQQ6NUUTI6457HMQQYOHC2FUL2H7LBZNCFEHWFAYKI3JGR6QWLYJ63BX9770B4P97J12JPIPC0QXFV666JU6LL18NVZISJFTI = 36#1TCAYC9AJDPQHP51J3ULB7LEIM650GPHMNWTRDFF22S9VY7O5D103YEDL9L1P5LRBSTM7AFEWI9DK3Z4LY4G47E1PE4UGE1DGC9PYS73AE931HOST356H4DLKGVQ9BFUHXOZ50OY9J5KFSWUBY1PALNYE4VQDIHOFJNLNFRGJWEN394SHW4RI6ZLUFBOTVW0R142EEFG4HJNLP5M5Q35Z5GGL2AQLTKA122V1BU6ISLE4F1V2B9UJ1542VK49R2Z1PFBVHX9IQQ0 div -36#2WO3LP0M3HUY8WAM4MXED636PIPH51BQXAFHMW56FPC7Z58YZW. +-36#2FD163BMHLU22J43ZOZ2NJD21LB9WVWD48XE9361H37ADIZBW2MNELINE3Y57ANQT78CDYUUW6GQQW9K0ZXKE5787GHXPBT88USM9WG7HEYIBIDQPAEHDV51AHK3DWUGZ3I5DGATBGZ7XX5U7TNR0HCBRB8QZNC485ZJXC1MI46JU6F5EGR45B34WHS65QILAM5DOB2ZIDSRUKZSPY7IVC35VAB5VZYX5N1RPRT01WE95TGWC32TZ2BPFXV2S1N49JXRU7HFN97M59PQ1IHTZK60ZMGP3W33DX5HWUB3DZUA7Q1E8540BTTQA2U935DXKPBI6MMNRF3L5NMOKP7024CYJXZ8B3UZ32IG96BRH1P8O5A1UD = -36#7CCEGH1OVU3IZY5CHWF58I4B0Z5XWRSYDBBST6W7IOJJF8DJ3XCM2DPG07Q8B7JNX1UD3X4ZCD37D0V7SZSUL6DKSA9NNPT5DLGYVW7YCNWTSRNIIEGN49I7MI0JF6MQYCVEUYZNC4VEYALEARZUJWPPL1MD0SWBHHQIOZXKIQY48VGC9RY0QL9KR9IP3GNGQM6OD53PWYYMT524YVV3SKSOK75VKB6AP8USV233GPI9USB63RJCNLYV2GZYZYXADYTC8WHTGW65I3FGAUNXG7G9D3DJ82OO4ICZCD9B3OWRZPYNIPK258IDEQYIPFVCBHMMVLCQE8XTW8FE55XNUDDF3XNDKGAFW9HT1I5AX7TWL2G8IS196MD9DY8AZTVZNUV0LEDP1V8NO2EDN10VHHYTPAQJ9SXAGEO div 36#30XI4S7LTXRZEKCV5Q29NDWY8GUFPHKI8JFYU3XMJ6FPHWK66O. +-36#21GR1OMYOJKDE8HVVC3C8WJGPQC4E3G9KVJD0EZ8OBSW3R046V = 36#13TG9ETUMY9XMSYULPWWNPHFBF5HCGLKL2MHDCTK573X0M52UX3W0R1F8FKYBY0N80WJ9DUWMCGCWOA34WU07H8JD5KXQBS3WJR2ODSLNLYLXV72NXSIO51FJ5QFFRZGA div -36#JIFHNFB1GRIHY30KSYUS4SMM2ILZ15BWTY6IK1VWSYUNOFO3DJFZQEX7OGTINB4NWFTDW6CHT1W1ITY. +36#8GKN0FRPE4BU3CSMM4QMY4DZRIPQFXB187OL2XWIACMA343P6YO5RAR81VRI8MC65FY7F2LWM7O5DU5N0AMS4QDC3ZXS7G69VAIEF8HERAJYJ9GY4EVCTJ4WHSYYHQP05XCLRCHRNAVGAF0P5PJVTSH2GGAE17SVROJLDMXXMDSZYU703ZKWSVXGSYSGO5XVBXHAJ1AOZR32ZAFZA1IZZ9O4J8SL0E0YMBC5YOJOFQLQ9RM4Y2T3JPCD6C6VW1SXCT0ALHDGTN9Y7RIKFH3EN39PJ4QER5J1G19SFAPDUXFVC4JOMZR1A7LR5UOHJ0RIPFJH3B51EEXYJ4XDQKEYTCH5IAPAINPS3AW3T2Z6 = 36#29QAY0GPSY9AL34AZN8XEQZ4IJK9Q1OQAB8KALN8WJSD0KTU6M8KKDVJJAEVTV1BE0K2W42CEUNQ01XW0FZ28AWC40BQEI70ZQX2M34WS7L1WWE6VH5APKFZYA7J9ZJ37KYKJ6FCBYQYTU9IZJ8WFM90V6CD23CXADBR8TXU15GCSJ7Q7T5OG0CTSC32N8W9IFYOEMF3 * 36#3Q5LUTIM7SGQVYW0I08T1T0XIE3K4KOY5ZXPSBF2J56WGK7YU80O95KXKVDEISEUIEJHPURTII5GCOG6ZEG8DGU6K4PRTVTY74OKW3RPC4BSVIXVOD4BVK5CVNZFJZLBECNI0DZI135J9BVSAYA3AVA2VR5XFJ5PQ. +-36#1NE55KLAP7A9XDS77LO84GO9BS9BFOWS3M0PRNZH3W9A2A2WHA = 36#2JT9P6RAFGQ2CLQQ4ZYOV36DSW63EVXMU6HX9BQZ2XJ3Y48SUBRU1MOAYW42HX613ZB0IGZQV8OPVCVRR4MRL7MV5NXB5MRNEMYJDJN9S5O90HZZ9Y14SUGFREQX4O87R8TQ5TFIREYI1B4L1WV36SV5XUWJE8NELQB13R4R63FEHE0BRO18D8T8M3PVQFTT725ARDTA80JBANN07TYS55B3I16MZRJVOUNVVNN1X5DRGK44TLKN1RGCRA36MH6RQ7HPC3BZRJYAXTFLPWU0JMC7HIQCAZPI3Y7DLXGSOCZVR5W5RESLZ3M5EH8LKD52 div -36#1JNFMQ15OKIKTL3MF21P6ATN6YXKAR75EIK805CU5APW6VM7BCDMHDEG2H3M9YUOSXGX0O53VT426QL7I989Y358O794C1IB2XWHZ4KR56LEDUGBSYYGDNREIJ6QK3OYVYBROWBLIAVBRYA6VNALU9NGXBFE9M1KLTFAZ57BWPOHBFPT7AFF8D1FAF1QOZZ7HV8KF054O1MMNTBUYH5QC5IY1J9DMQ905W85R4H65VFUAN09YXBI61OPFKCSU7N6TDHCV8JXC7XVHQT. +36#H8O2CBORSZRH9GYFHT0GHXKARNVW15YGKAAIOI59DDGTR1M642ONLJ6QSTYFQVDX56MQU01RUU0XKXY9LOEPZU1YLC5ID46NXY07CWW3X9EHBZH1FOBHP5GUCDE26CLGCWDMJI7AJWE3BX7DU6W5DO7GX48CQAT6OA2E5B9TKS3SEFJZO8OG7WA57UF390TRX6WYPON7IT2FBP6UM549F4BGYC926JHZKI54D4SRU8HYJGSK1QUMBK9Y9VFF7HH0MTBQHLD2T1Q7K3X3B5TD24J96S3MG1QPE0LE0SU2BPVD64IVLXMBQF0MZFY2HTCPFYSSSY28Z7HV5XXSDKALKPNADDTJ1KVD3N3XBQEA59PXH99KKQF5B12D9J8LRVE1NM3H164I0P = -36#ZZBS1BFOVPTCS0T52UKX9RV8DH91RNC30BBAP3R4L6SI82DGJGNIAT0U6K7QHHXOJAID9Q2BL70UZ07ORHZE6VIBBFOE26XKOXB7EG7SDLY84A1XTDAIKAZX7WAJU35OOVJPQBDUQEA259ST2054TNIR9C8A5RIPXAFUM56HYX3JBV2ZW3QHR20VFFKA6L6U2YMI6QFCKH3HKL0AUK3ZJMOHE20YR6U5OW642B9A92BJGG3R53PBNIAN0YHK3ENGS5AYRJC1MLH2JKY7WZ365HHSRHP6FCJKXGWTIWQB2QOZ0J9V2I2Q100DR4ETBVK2MC9EYUD4TLBUVD9AO4RJ1FG02SJN4WF1KID1HWHAVMP0UUQWJ9HD2M0GYR8WQJG71YR2HDX16295H909CGNTICMUYUX31QBRD30AFINROJWVZ8GLNTJ66905EUQ div -36#234QH62JDUWEZA2W2A8JOZL1AYGJDY0QKF8SHXMPPU7J8YK0LE. +36#LYJXBTOSCINEVLA37CQTZZR86BS4OGJ47NZJGC1QKVAQA3NNMC8SM8BBLV2HDFJBUA3X8VJ4KEE95JSG7X1MRREJWPRIDPBNIZHQ1QGBA8UBDKLIX3MF20D8G67J98CDKJ721OWH0VOPB3X0996O7BZ2HZMBRTK8NF0NCXXQ1A369K44QC9X3OQS8AFTXXUYBXTR9P1RB5ZE3I693GK8N03D2VDYG8F8212VS75HKERTACPJ17B639SBL1QET2HOCAF7G75YE0MTSD1YNSMYKF4EJ8BPIGAVTRLIC6HEFHENFZ9VH1YI3SR5DPSG21CILGN0AS2YAE36C5EMNQ632LHVNBLY4SME3NUNMJW8T8NIK4AOWO39KBU2JOY4NPWRC8VXEIJYOB5BNZQ5LPX5KM86VWTGI4GN2VYNPR0KZ3EE1UAAYWOIU5CORLZRJG946GL1QSWNWXAQ7WTGHHJUEXK2CGNAJQ5GT1OYG1YFV1M2DQBQD8EFPE01XI9B10BJJZIA2S875D1IECR0M0YVTI8D4CSSVJM3VUVCIVYPNB4P23IT34DYN4DDWC59NUOQU43HRYXG57T8F70RYE44CBS5FA3W7EOWBQQ157APUHEYBXWKTC4RKDWRHNYLE9GK4VUUKGU9MZ2I5ZG4LBJXIT0SL98J33S5YBDDU68DEW2GETB1P5E1Y1IP81O6GHEQSCKTDNPMD1DLQP0BZDI8XZKU0N0OMYP1DOTETXDCPC0ENQRZ1LW4DQ7QGDLX8L3CY67SGYNFK3LKZ6ER1FY9KYGZ7QXVRGKWWIYUR0416GF4LJF8ZG9XQB8O3K45E0YGFIFU0PJNYX07VJVB9Z6BIM3GUG9OUTRBZHEHYHYD88QL4O7N5PWEHOTDGA3JOCXDI907FO074U9VM7LF0FZAZGT5NSNMH57Q5294QG2O1V7CNPPOM0ZA = -36#QL2VL74T50V1V53ADRYAX7OQLVDRRYCKRXHUOR1WTJFME2LFJZSYGZF0VZ9HQ1NAZBG4C9ZHHYIMTQQ9C17QMED4PKOV3ZANLP9WU6MTAWCD715TAOLDBYMT6NDYB7N6Q2WTI758A753AHUDOILD24VF9ZGTYVDO1YKZ8RC28IXR3GRSRAFEQ4KYWDCN2ELP8G0GRVTK9ZLYYXLFAWD3ODP09FDB5OUMACOZZTGT9PJ96CD64BQ4UCIMUZ429AELEVCQYH771O2OO37YZJFF0VM3T5YUW4EANP6OOTAQDU8XU2AVPQ41AM82NS6KJT92A5BDBHYJYBQLV6E919MLUVED38MAPV5T4LS7K522VOC6CI7JEUUFLLLKTYQJ7LNZWMSBZJITBXUUVGAFF90GXHZFV5SZLCSF7N3UT9ON49W7RJBG8A3AQQ0PP3ZJMCIDD5IIIBUGRDK1QTUBNVYL3MJ9G49LK2EWUMUGXL8GWYMXXILUOKOF75KHZWJDT659SYVP9U76OD5FJNZ7V7IRO8ILTKNQ2D8CSDMPSCHEJOUAJKY4UT2 * (-36#TQI4F3PBFC14FUVLLKCO62MVS8CUSQ9GXUWH6UMJTHQCMZO25U27X4HIK5ZOGP90JNPKHNTWDZ1C0L3TYWDWIRG2A2RFJMQJNWH4N7NUHZRROJLAX00KVCTP08XGTSFY31JMRU6O01V8KNEUH7VEZSRDWGTRCJ8SRXOM72H3TY3ECDGBPFXEMJ58RCWB32GOOHUQPS5HBELJG3HQMFHZII0ACB2D963L4TPH87BF56OGQKJ9TXB77EN4003VM67AP8QU4O4LFUGKXKJG28VAXRZZ199OWIR59O946O3P1ZANA7BB8NMLXHCX0WUCQQL9BZBORC576OJPTUMFNZGC9327JDY46ZBFMO9VCCV157JOH6VI9EM46ASZI16B9V9Z5). +36#184962QBA2TD8IHH490XI0B5YDF17YLBBJBUYFJWCTCXQ0CEFOEH1YTANAB1YQK4KQW3HQLRYC4BI4JFGGND5OHVPN7VQFEYCRUP1ZJRKLQFJX83B5NY3EHCD5RV5M0QO0FL23F7FW6M15VBG20ZISNWL51AQORVJUVNCIC8I7JH5FRCXN2QY9AKDMICC9UFYCA9H1ABBIP86WFOLMRWQPVDLRIP7D34JH61G9E = 36#1WODNIX37HTTKKLIVEU10G4476IG5RMGGDL416IDKR3KWRF7M0Z36B5QFEOAEALL1PK10072HHZN8OIMULYQ9UBFO9ZDFP7Y9619WZDQIZHCD0Z6A7RUOZJSV88PPJTA25CC3AYPAXFBNODR6XC69LRBLDC5YZGRLHB8ZUU4B3TPMT9ZIOLHV13HXI524XSLAIMBN6NGMG1TIH6DEHRONPX2QAAMKLNAOGECBG5B61D3ON4AE3TJQTICS2W1ATQID4S7PIHNJMAQ1M0NAJ9U0ID7S07I4OYQHJDEQY4YG7323CW6ILT6Y66302JBU23F6BF3ULZ1PVKBP3ON5NUG9QMTOMTVPPI281PDWUUEBH6CCFZJLUACB9BIDEY217Z6IB908IR39S74CAX7AJMYQPOOF04YXODGGJ1DS1C7O9A91MBDM16W13TZBJTGAF5MQJ45QT4FHMGIIOBTKCNHNL4116GUQY0XUGZ8SU4REGQRKP6PZY7QWWPOJG847STE5G05FCGBXZ4B2MS6YZ8O99PVHTB4SD8JFRYOITZKK9ULU8MRP8YOS2OKKZZHL27YZL1JPTLX7ERX13PGCQL8EVPCD8TM3PQFOEKRNBSG9MIO7N5G89LCNNUQKTWRI1B77QTPVJSUFVTMOKXZ68JLAFN6YB5JGGE1PLG5C54080AUHGWK4WSS50OOQN7PRQBO8HSVLGCCAY9CFFC20DSD8TIH8QXMX8WU28FS885C3TQ60N4W div 36#1K1FQ5E5A96YYMALC6K2BK1VBJDWJ6DK23NY5W15GMSBGU5HH31HOSPIPAYY4FJMFH9D30599PP7X00STAB7G5OHOM7AWEGBMORQH1PY79HKZL3INSX1F1PYIDF8A4V6BRO2PWA2ARG7GPNZFU0YE8FEGLEOGR92NS13V56P2WK6WELD1XFQKJJ3PWXGKB6RZ3HJB78LO24UKZO0IBURNWCB3ZSJOC80ETJWEMNPXV18TIXE3HJU89IJ364OQMVGVNO3WDAPSSNY38MUJYJN0H067OT7CXDXAKXKCXPH8FO07I75BQ4RQL7R3602SUFZ0UCUCJ3E6MBQ2UFHBCOXWW67FQT5T8RV7PJ1HQXQ8MEEXFUME00J44Y8YJNN5WFFZNDDDP5RF5REYOL4128TWOHACMQ0I26RTASXZ41LG456VU66B1ZD97K8L8CLZQTK708FTD48LXUKAN0DE202TZ7KCBI35LD65EFN3ISLGQP80JE4Q07P887R5K2RGJXU546SP3P1XS. +36#116X85NR5NA6797QDRIJFI73WEKVGIBSXW76ZZ3979CBNQJPOTFLEFZ7JUQ4TQXP6DXZR1LPV6XZJS6LYZX7TJGZTIFNPG93DDLYLIW3HRX9N67T8RVNW5ISCLHESOR6KTXNESIKPENKNRZO725ZF8VIZCGD7HT7CEUB1GTOZ5BRUPTWLVUMKT4EUGRQFUYTOKA48266JZYXI7HU8UZMQ5I90HLLCY83D3NT2DR075GFKQARF58RU09QUBPDJWSR27C2CET2D7TKHNXDNFA6YP26MTGOWZE2U50N26HQROQMV841N2TFYBXXUTDQ0QIS3NW4UWDH3Z4D30A32UARMWXYDOWDDGXIFVO6MNV0276QUH5E7SW0NCMZKD0M7R9KLE001KDUJDNEL0D0HOBK407QEXV7SWL3MCH6PL4NKL3KF5WUZ87U7XUU6UZIYJTSSWF4V7IECRM9YB9PACJSHOMD7ITT0TJPZ6XKU55ANTXMQMO97CRTROPAM483JEE9TEQST7UZVYDD2HCR7IHKH73NYE1XWNPSP2X1D0QL6CS4CZWPIZAPEGXWH8JCLODJGE9617EG6JZZT4CKTYSSTU = -36#WLR4MRWJXOAXK5IUCIDQX60UFSC4DFZ8X0U2RLAVLBG9VUR6L3F19UE09GQLWT4EIA6VW62OHZH90TGG4KG1E3GCXZK10EL8YEZI3KG904AH7BDDDNH7N3GNU3NCAP0ZX9XMBC1B4JJHGVFI4RCADLZ3BJRQ1OI9ZBVGVL0VODFJ8IW5QNWCYQF7XAU8CRWEE7V7FXQNRIEWT07MJ9VHB7VKVV0CSNE751QJ0DB3SC8FHH0SR0LEG745UZXCZOXM22GGFYJK2V5EB2B18NVDBCUX2R8AFURPJUBWVGU41CFAAAQG5B9T707C4OA7T8JD7RXRIWY0YWG1AHXF8E34RR3QLT5V3UJ5GR3C7JY17K1YEDJJ5JRQQYMPXAHGHF8K1WEM6R4O27TA5MJV08VX6IZR7BAYBYJXXT0XSKIZ7E0JTF1LU81PJJ1LZN2R5IEWB0KNG251RAYGMC2W5M52C3C6WE974V3D9VTCBU10XAKPQKSJULZ20Z1W254HF4N9DPGSW91KY7NN7PV3Z3UPQP9Z38YOA7QIY9F4ZIEBNNULR3WPN5697601TXBLXK0FE2SY44GYSWLN33T8OQ3C0KXOANKTSJSMAAECSVVDHKU98OGRI2YZN6AGMH0FC66O8F2NG6 div -36#VK4IRB7YQYQOIHR77MS2H8DJ62DWCCTRE0DUZU80LN5HMFQYB. +36#6E1QVC3KK5UEUDP9J24CZLI090WOYTITMAYW9BIBI00QF7LG8IOCVBKHM1M0YNVBCIX5Z63QO3IRBKP5S8VD455IGE4JCNLGT8OXV5I5Q26M0ANFQEATI4I35P6K0Y2TR4TMW8A46ZFYYHWX3QPQOLFTI3W1KOFKJWINT13A284NL6GR72RBLA78W7YYL1B4IQTP5UN7SBXTBS5LXFZ65TR49IPQ1KX2YCTT2 = -36#6RD4TD6PHUFWSVNXC0KMBU4PBRZZN2A74LB01SMQ8CSAHMM86FUEXXBFHO2PKBRMQOKOF5ER2SGSDASBBRKA9A6M8797EEOL4TXVCO2KFPAUKI29DHZ9BVCG6WOVUEBMAWWLE4GBF0FYDOKGKX87APQZ4AHM2V3R0NBDFMLISUXID2JN2KY9UYLKY0E3DF138SNYV1CMU41XJAO2ORZQFHC62JRBN11EDZWI98AV7AYM54QO01CD3S3BFLO98OGJCY3FYT00856LE5MS1JG8XKB1Y8BCJO1JDRQ99JT0G1KVAZHZLOPAU40XJBMG7HNTQJ14U6LFZXA4M9PE4OYU6GW9BW4GYN5RI90LZ2RHP2WYS9NVS7JFYM978Z07UGXWUTSRNX6R5NI6DKT62RP3Q7VA72RYJ6GKNL690TU3ZPAZAII6KFJSO2RQPHRH90MVEBOS2Q9REKMCK2G7S6S4MZFWXCSESJU68F40DVFMO7GO362UDAC75UFWOS4221NPJZAB57HN0AEE78AEEUWRBCGALADUUS1MDFYYJAK5LTMCEY4GYSU9Q1ZS5EMEHYKAFHXT9K1U9TYZL88D4T51JW27IRBPHIFN1I12SYDTPTXNW96BW69C7YO5EUCPXNQ8P486013BI8EYX2SK0Y86MG24SF2EYVFW5AREO1RNTTH5XX0BTG0MRB4K4G0H6MYX0FPFFQ div -36#1230O9HM8BO5KJU52JE1A2QBH0D8YDWEHES2Z8J569UJFNN1YBUWZBIAK3HGY9HVCUQY10FK4GSCZUZBK58S9IUOKOCBPRQNHZK8C83IFDTMLVL5GY1KT4E25AV2SVHZKNRRAEHIUFF0RXN47NXZIB1X6YJO6H7GB0AHZ9UGFF837GHXI8WNCBPZXBA0F7S4XSWEJFMJWSFIEGR75TWU6MCOVGZQU89BOO8TW07AQ4TI5NDY9AU5JEW9LNLQ8K3UUV9D3LEO0IMXQFIVQ4PX89OTENQIM0NV43PCM81OZVHQ010QTM6SYSOTICJYVANOH23IZFWPZH9014LY0532AQANZMY5EW4TSSMZOX1EHB38Q290DY20M65MH9WQ3DPP3KKQVMME2I1MJJI0CC04HAIWYDGH1R9LZD1OZ1W1DM67CIU5KQ4ZZOINZWE35PFY6VOH1HD58GLIODS9T9JEE9QYTE5YE6NHHD. +-36#2YI1SBYPT7F3T3PFA9UAJDVJQJZO14H231XEIIUW23S3UA88ABT34FBNFN6AY7BX63EMEB1E2BFX8AMZLB2132I2ZB8YGVCXY8CUK3XXIMV1FN43OIOVPFP6LFEDQ69XFC6EABZ7NFYL3DKW3U05712K8DLMGAGYRDTXC8PUL3TKEJKUCGUI4G79RAK5CQ2CMR8PUEKTF32HU1NT6I3100JIFKP7HWM4LLJFZRQA9GL9KA91TDC2BCW2DO6SZ796TMW2DRE65 = 36#1VV5GJQQTP8WR2JBQT9FVBMIPEOFH5AX39VFC6O4VO7SWAHP7HFOV7KPA7846HX5Y9F37O4BHYIG6DY2BHZ2GIPTWRI2KKTNV4W8NZEDAQUWLCSWZEP25Z288FZV6UXI9LFHCUKBVPCOH6OWF5QTSNO0FSMDPYA6578L2L2LAENPT1EB93QN98EVIQLKF1T7JOK6F8HS47W1NI945A2FLSGKQADQ1T6BJ53XX66N5DMYWRODIQ3WWBV0BWMPIHGG7AM7540H8D3CME2YH03XNYP6AEBZQ7WM53XVXSGWPCF5NLBOXZ6H18EOF7 div -36#MXUD160NY8T95GP24C96E19B51NR8B9AC92NOB354NXN014IN. +36#182CWQA7MDMA6IR07H1EVKO448RY45241AZHWFYQPEK7LXC8HUAYURG9QQEKX3RGO0R9VKO8AKJ458PZNM1JGEEZDJCWYADNHRPYQ1JUB8P53U8HE21IFN1GKGSFH09M2CUNMSIRC2J72UK0OSONXSF6XLGHO4ACGOGQBZJKJNVO8YH4XT49E0JGVN8CIBQ2H3VSLK3X0NP0LMYJW9XI86XB3OGQS0YX21R1UDVDTUZUI1Y4THW9DH501E1629257ZZXC34JL4K9JBCXDXRB4SOSF0AWJTSVZLL9P1SV0GCQIUUVFGITU6N8ZN5YO6YMBLQHWFS408R2SDECCYPO5730RY30F8899U7V62096FASFSINOOV7ZQP1UJRGJAKHROXLYT0XANL34GUU4D29BFGOLD88J8F3IFDHMNSDP1H2GY5VOJMX7U4UY9R0RMNYHS4CA60XVXI7BYRXMPX8BMKIRLXWUHUMVJZLT1J91DX0EFSU5Z04LQQ29QGI28YP7SW7D8GTTATOAZ78TTCSOA0UYYGD2632H27SOUV74WVGUPOA692T9B4S672DIUOZMK2CBBI = 36#11VYVAGOP22ERYRTI0EVCFO6BHMC2JJDGD453R0W3VXFMELKDQLUP3SFLXNBRZOH8LMHMSSESTMPKXW1CDKKS4L67BVUDL42KVDLQZ3BF8N65HPPD5AJOG5I1SYH22X8X9L9PK28BSI709W3ZTFO2V827OA74P9WQ4P9OS4BJAZ51SFC53EEW7UMUQ55GNN9D8HOESWIUMG4XWPBNIYJHN68UUTSFF6FDRIU10VULU5WW0M27YHIDBNKTQC3JT2IEDBIGKZ20FTSRXPKQ1H0NLTFWLFSZY3AXXR9WK999IP8H3TLNVDWHM8Y46F68UUUL3V0VB0S3WULM98W9QL54FOGQSVQVS2RYRWHBZDV32557KZNXQNXUTBOM295HOKQ060PKALZBXVJLR3DFUGXBVSVL5NJTQ1PKJMSOYO1DN6XLEVRP2PGITPUDZ4Y1L5ODZ4VIM1ZMUZ4OKGOLJFGSOV2ONZ6KPL9MU52O2NQ2185LCO51QAY41FKRQ5300DY89C6BBGRN4HLNF4IKF3482 * 36#15VB34UKPY5E8UFXOUB2X3VHYRPXW3W3M1WEL0YA8NRD69NINR. +-36#16334MSFW7BLIRASU9GLPSHT4FLPJ479OP85KSYY7LYCVWSIUH2TJFORH9Y7XHXHH409UB7ZT0V14I4JVD65B4K2OHWEUPPFO0HDMM7CQO4IQPKGBS17MREW5JHD50SXOFKPFM35L22IJESCGZ16SMPQJDXM4LYHTIR6AAOEACLVO20VFVNTU08WW3NSAAFV47QUQX91D13IL = 36#1XIV4A2T59QAK9ZJ5BQK0U6VUT41BQSQR8IV2HVNVTVJM9UWQQ6CSF2VA7BCBPOF1GMAM60I8XATLFICPXU909ZBUZ19DKYQ8YIIZ98XJ1XQEY287HKO99L8PODURTZNHU1K7YE1P77YFVVAGRYRZ22X5X37LN23WDCIJUFVHBTND8C7KIXENOU7WGTEGTWA17MBHNDWQ7JOM3EPT5058SDWBUU989J9BIUCG2OS22I2ZTE9504OFFVD2SK3XR div -36#1NGXW1RC0IBH1JJG41HJVGUW7N1VJDFEBWYHQRRI46D4HH1JOR. +36#3TLD8JJKYSEWOCQML0AE0I6LTPWNRK7ZNOOP2CIM8ASWF1412OHN6T764YQN8I0AAVMFR8CN6QKXC1FDZAYHKPL7L3NDUB0OC33U1M7X = 36#BJ5KV0OMISIPFAUQ2ILHB4BNI86ZA5SW72SYFSWSH2TKZDZZ7H6A2F1227TOWNXSJ9AEUM9TGMBV5CZXEABEK06GN0IM8HD2UQSWS6HOM3FFBSBSKQTBJHJ6015ZBDDEUVNGC87KQK39CSQUVAAGH8LW9 div 36#30MD3TDHEFJQ47MLZ62I90XAX1J5P2QXEQNKB8SMSDFBA1IQ19. +-36#1MIACTMGUYTBQCGA1LR4QBD7N1RSFH88AW9OQ8GWCUQLFLBG7L = -36#GV924PDNH2CJGIE32B4LWAP49RFWEC6KMQSVJDYPMOEJUY2JTTCFNM7VG9C1JNWJBJ929W47B7WXHXSJFRQNDY3H40BS32W018ZPRE61RAECBLE9GP2C18NXZIR15LY6WOXPUW2LGY6JJF1ASGQPHN5IBFSKZ4M7QSPPJX68XCP92BL4L3IB0ZH9OUHOUYSC0DS2G74B926EIQGMJHWHHI73JA4KZD1FOGDK7882EQAXK8RNO4PEPHV92OKXJAP12B6BRZ0TRREYP0DHUP58EX8M1VQI4Q7TPDN49OMR23P8E7L1WDZK96AEQM4RT8ZUFACKJ2GG52UE9AI9NYPMHYOAY2HGICKL28DMCPCURKM1DDFL8T4BV1BOUW0VYLMX6XL9S77C01OBFRZKJKZL9 div 36#ADN4E9U39VTDJ6T7MT9H2H7AP0DQRZ3D8UD41F8CA75M02V9SQBPJ5M3NNGTQ2KWFJ5NK38U3NBDWZMII28G1820RNRRPX81BS8UYDKLZ1UU6VXWPJ7KXSP2NFZP8NGFUGK4N3YQE2QG0VDGHOBFHOZ2IXCHND9KTV7RSPJ0SLM2W453TX17KYW2HY0RR0UP299WTH05ZCR6O4HPEKM0QV6VRLYUVX5E4V7YQOHAR8VK3JGR4G8XZWB6NRK6BB4GNCU6GY5H5Y6A37G1QOQYOS5UQT3WNNJHS15U06JYIID2I3IKRDL51G91MHP17694VZ2AM68YIOHKZCFDP9B6C7A4W7SNIIAISPEL. +-36#1HN1S12175UUGXZARVGFSHDSRT3RN0HYGDLNMX0LAK482M9YRX = -36#3E84ZWRU9S10930WV6WRK750MS4V728KT44LB3G0D41U6G1XY8A4NO09DACCSDV8W8AXADY5UAO70VGK47FRSQUGWTRVDUCVPPJ1HV5Y6447LDLRO41F6UZJ09WX7RXDU1U90SIT0S2KP556JNUOCFZQLTSQ6511VUUUZUTFQ632JK5CG4Z444ISX21XJVEC95CF6BN1JKEXYV6BQG802XXOW9KYBTW9UCEGAVIIXNRZRUWVN3T8JAE5M2PVDUS0 div 36#2A13K74Y67NV371V1N5F3S9ZHH7HOYCULIB0J2L2MWSHXJO7TDIIXWWN8ZY6CPNK704EPW94T1M1KED9FU1WDH06HNLI8F6XVHHCHMJLG5KKL2IADEBKVZ3RRZYRCICSZEN5E88ZAYWEPNTLD6D1XYC0JCYEEJR0GT90T2LDM5VBEYXXV6QGM982KLN26YAI5P4LHH2QCMNODAO. +-36#3KV38L7HWF49OJD2NXC2IMFUWA65WGZRM7JY4AIP7NR5WGPQ462IHU10R5WCCAD8W77MM31850NJC6YSZO630 = -36#1DIXTDOQSO9DN20RW99S5ZWNQXAD5LPY6QAXT13WOL8DQ9HHA95AGIFV2X0JQP7Q7ZHXOAZ7ON6IWP1Z3OPXWH3OZPMJZ7FQ89S5OJUWY10OPZ7XYCX9RM2F9VBRA5WVXDKCA4MMTSXUD1CMK4DUWR0YC3TO5O3YRSNMNGQ06C616H066SSRPIBF463QFQ9YGXMOKC1S8SUYGPA7MUY8H6Y1XIWFI7LUQV7N2543N5Y2S9WYDMQ2ALE00VWM580CB7JFVHDTGLQK3JLT7IG6Q3ZF9NPCIG8GIPI9N8KIEQTDJU28TZ7SA69XCIW3Y8MFK9KWLX7VF0B1R9Z5R9GTE4171POX48TCEV5HNBS43NCBMAIVAU57YAVH0ELH5DMM4FQX369TNCDRCI4WL99M9VWMKG6UCK319LTKZ1JPD65J1CD595KCWMCUT63SAYKGQNYZ68DOKWJXNNDBPLIH0FNHYQ3LU2FBYYPR8YDE2YOU00VVA6UTUFSW7V08ZX9IAUA60IJIAD79GHNAZFL01UC23J7Q7D7N2TS98B3Y9JR6FKYMY1MP2XDV06O213K7XUG1U39AD5TVXOBV93DU2D091F24Q09HLIO104KBBOKN8Q64K9YAXAJILCXBW1BF1YUU719QKBGRVZ4RABA1QWGH11L4EUHDT8X8HA9QPARW0PSAN8Z9S70ZD3XCO6XKYMTWK7GFSQFDJ26GXH0Y4O9KQJ7Y6N1NO6FTXC4GCEKSVFA1855QPRWVAW3RNO9ZZLU365WBGJXEIVSHC66PSR8FQD2AT7XSW8DJJ0U78TLI31ANTLLZQYLC3M7OQZBFSR4CNTZ7RVWYEP698409KY8HK2XKMKI6EGO1HXXK88XOXWMHN9T7VIKJMTENENSHAO0 div 36#DU3A1Y1T5OWPA0RTER9XCDNHYEM2Z69CP2S3JIUIH9WHZFXYN8ODNFBZTIOGBD2ZLYNY7X7HR6S5GHQUV5BV487LN9DMYQ0SQ8PN51B23YKJC7C60CADG75IFM824YJ4F2U5JFU0SIS6FBV5D0BXFEGUCGCQC4JFWRBXMD3XUDVVXHX4TFZUDGFOBCYGM8GS86CINCI4ZN2YZXCS2WF8O8MDYSIC0IODA5FT3JOBWM22TZ2YZHSMA3AUN2UCVIUFUQJ9021BC51IBKBUSOH07X92OF6JBEPFOTP6Y73YMIGFC2043EE4PDGI8R3O6ZNZT1GTRVM3UV3GHPJ0DECJNUHIUQZ2LFNEDX2GL6PFUOVBBTMZY8M3DAD9RV55PI885CLRPFB36Q5NMWST2HFFHO3LGSTWLSC3XLEY0BU09C64WO6B1FX3X40GOCWOTMIJ5JRM5KWYPOCRNLVSBFBP6ZEYH0KOAOE8GUHXQ9O48HL4ZR7DKTTBRM0FJD0W3ZJRSFKU2OSSE1HKHTHVCM2RGKZZSHRYVQL8XI01NL8KQ6BNETH16X43BNUEUXRCLV84FBZBG5ZTDKNXGDUYSY3Y916XOKAO8K14R9N8PR3EGY184ITGWX0TY9Z0L497CGKXVDU7MRLD1L172TIMW9E0ACI6358F6CE685TLM9LQGIDHLFJTUMSEMBGSAS8SQVFH3R9NO4ECTY2MLJ73Z6A4NFG13EKGO9YSL62VPOXRKQQ7KMBCJV9GRH4AVML6V8ME15JMTR0B6ULM1P28P42WHSDVERYYKTCMA63DK1LM3CEENK. +36#43GZD078FMG6HD7PAUD4X1YW5V1YVISBLZEV60Z7ED9VQRS442CH16X5WDV0JYUY4KNLVAZBB3JSE72PCEZD5XQTK2QZ7TSD2Z3TEUN2GFEX9V1DMQDEJLTV7WMTNDEME294PPD55GA3K6YFBB80KEE6BUO0W8OPTR5SMGN1RHYV6MJ4FSPI67077C2LJEXIL7KVR3K8O7IT2BYDHOFKFM3QY1GUSOH9EFQ21HIASCQTNM5MOCAN1QS24UYQ8XPUL83PORRGTYF9YENDPA09ARGLNHV064SEYHDN2AGZFYJ2L2TDQZRINOH4R6125KHQ02MI3OH8XSA7ELQD0DHODBEZDPWKDRRB8OUEAZ4Z88728I2ZH7RS06NESNCPEQD8VC4IO95Y79VI3HT2H5YCIDX2XET5MJNIUBHVYTD5V4IXSY1SJWTXGDI4BZ611SK97C85B86SLASXPED6NYOUQK9CR8K3414NEFDGWKA9RUWYDE1BTARWQNGKO9W0953N03JBCIV3OEMDVGQWLX6HD4KHQ = -36#3774K4B1NOXL4N40XYGA70GOGYGR7IKV19EQRSIYJNIV4QDA7O5LNSD8P5VZ7UPAE0J3905GVF316GO3P68NWLVAE8Z56B8EHNVI5LSZ6BR96W4Q6GVJ2AVP82KR4FGO3X82V8N9K1Y4NYD24BCQM43MKTV7HKOT546B7WTB5YK5EUAVUHTNZL74PI2UJPCQO4KM4HRSMAU81QJPFOQJGXG0E8QTD11Z4YIS4AOXOETZSJTA0JL04CXKQYALMN2B9QK7J0MZ1AEK8Q032DNOYZ6ERT24STKJ3DB3UVAU6R2EBW7DAHZLF4F6W52EENE4VV620F3AALZOIB4Z79S0N2WONA118UI3O3TNN33CD5KDN7XJ535O8ORMV7K68NWINFKCZQZWQ7RXYFEC2ZMM7UH1GQ7B13HT2CZ92R4POT30E3AMWUFLQKQOSI6MJ7Z07RZI28LON872F5XALYQEJKB5QBP18W72FV6SRGFGJK0LMI4H269CM4ZKYRZDMHMILETG8M09QM8002SEQKDYHQTMBOPIJJT6MOC5CY8F1IS6WYE2Y5XL727JNIMAODOQAH8VP1CWFCHR1U7NQ7IY1LXBFJQRWZJPUTU4KO2Z2U1O9AA7FTGP0QYATVZ8008CVV0HR05YDRJNCHSFC2TY3G7RA34H7NL6P570RYXFSJR5QJEIFF95E24MFX5AMRJ70Z5SY56AISN5IF3BXCW55LTPQUKW09Q9K2548TPUKVH7K5CTZR9RD6LRSGT4JEPLH4OI114O0MU4F5ROWPZ4IDEK000VROIV9QIXAKDT0HI9A39P386CCY6IXM2S66H5PBAI19VTUDO2Q8YLK4V6U38H8OQD7AUHMMZKSZLH4L2UIPJJCGX1FBSDLERRIM6IH7SNSOLTGBXBP54HXKCDIPYQU4ZNHNUUNITIZEBOGOF04OLDYDXC679LN7IVAMOKM6O8LRMM7A82XXLKYHOHXI50GWKWNNEJGJJRRNMDLT1EVZ7H4AWLX0BG4OVA1IBVKNYT4TZFKTEODDZRZ7N7DWANY0OIP5XELZN46X8SUM div -36#S4DGTVKCC5Q10GAJRKR2121Q5LZAVKYESQPQLRHGK4UAJAIXMD1O6FZDV12JXH3HKIDMCL3DJESC3NT19B4P3SQBMJYWYXX3SR4Z042342ZIKW2BGZLM7R69Z0CZGW11CFQZ402P716AU9LIMBMLM9FBYINQ1F7U6OON90S0E2YYW6PLLW2MOTN6GB3VIN27H768KGXSOMOUS1L9XM7ANJ017GM65VTP0HOQH26S7MVGK8BK3EEDZVV0HCIWEVOFPH9V2BCCMXO6JXDIT1MKRA4YW2Q2QHS029HQ93SV6OOOD15Q5ECBYQF6Y0SN9UBGFNDD2N74CG6E44VXXI8HJAY51SBADVVVF8NTBZWYUCN56OLYFQ93AP6LZ327F96HQDPFGL8QN5AB9R4E729YWFZVQ4MSZ90GWUP3GLI16UY7QV8VKA0446D1EF7HIM3TSQZOYIVI7X4KTWWJWDXNYJ27YXDMT84TVM076WEB6TTG9F8S8M86FO4ERWZ8BUWPGVGWQRVVQS4OV6GD5. +36#87162HRMAN5DVP31M3BOH4U7VJVBEIMRIYWH2QHO3XCD72ASZHFHSV7D2CX4J9S66II6ETYPKNQASLE293JZOQNFDXQDB1E13Q7TW4NDYNYLQ1Q9XQMQJM9DIPS82XNU00GZYRMJN5OLI9XNQRI73K0MDEH6PDPU4HUM1RSWG8JIUSN43S9OJFPLMFYUA9HNFEITKVBDRECTMZYW8ZD9LI8KZHIKUET4KAYR3U4QOE6WHIISF4XJ0E4829CEY2BQB2TU23VGCKAGOM6B39NHJTASGYJ8TFQ0E0N17570VYLEQKWOETTK0YYKITV78NPWUSVXTWOIQZKNRJ0V7AV0LINX7Y3KJXKM1IX71AZH9QQBGUG4O1O66AXBMVO1EXZOY8OHH4AYDOZP = 36#ZXSLPXGI4JL05L0YANGQ6MWWW3GHYHQMH2H3AM5SMVML05L5RY844VGHUU61LUZ6HSLXXVEU3ZMC4IQCUW9YC57L3KBLVQSQN4JUUAUFV54ZVU6Z03LFO866H00MYW4P242EAZDJHTFGR59ZTV07D6CI60F15XGSPVGWN8K423IPOLTM24TJE9WXMOI0TEIA7NA53OQHSDR8C6O2JM8L5ACQ90739153MCK72D44VGKFTY3ZE01RPXU1JE69915FCWX5EAXUQMOABK0IN5WSRYLPIA685NVFM5Y3MHCNR57VDAAM3YOD8HFS7BSITVBGHLU8O5JFNZGLCI6AB0X3GH5OR5E2TCGC1J7L6NV7A4Q8UHUGROI9UE0DOZO4XUOBKZ1JVU3ONLEKLYSLR3EAW0MBT1DKFJPUIKBVA5E03RWOT92KMOJC1EYRB8RWNLGDQEZEYSF5EUB1ZSJHJJ2MOW9T8I7ELEEOLI82UP2M0POS8853KCUSUKQ1WOU8WPVSKWPU4EW8D1HHF0119UTBMZHGJXWCURCX886GE2C3279HYMCNGY4DLV5TGFQGVJLFLNBSN3WCU0A8V8PF2EKQKCU41N9KRGDZDW2HVXXSPFOQ5DNONQMHKSE2P7HXQ6AD5A7QKND4R7FZZE5LE5B29QKB190GAM8VH9SI84B3168TKXE5YZAV73S7ZWTBWTG48JXIO5UAG1LFDJ3MAX70PFXFCJ160QVKH053DON8M9IO5LWER18RJSL85L66YN7HPDDNKABDLUH9HD2EYZCLTW5QWKZIUZ1L54HUDPLZWSEZYKZA div 36#4DVARMYZT88I1ZPYLANCHYM7Y7XBU4B55VRQPHP116FOS6P0X01QP1GIB5TVHMMTMBLES5XUUT9FNTMKKP1WF7UO332LYF7ZTZRNAMHXRBZF07YF0G2JP9PJK1MITZ7EEPCA60678FN4LPARTB9FLWRJOLMB5A46MLD00YQBUGR1EUD2ZM3108RU4KPW06RVAROSWPOR4AS0NIIO5DZUMQVCU1BH1G1Z1UY7JQWNDV3YIEUANPOVGFI97ZS8FNMCWRVBWEAQKMIZ68IH4YGAINMQ9DSN8WYJ5O9NVVHTFXMNZWTNUWC3W7T8QOOTAX6S1G8RWH55T9PYUADQB1L4XPTJJB9OMI92JZ4Y6W4QNPSFQ5A5CNGG8MKX5895Z332NCO7EB9W9VTSV8Z03NQ0M6FXAGXL5A73SBP6M. +36#DU3A1Y1T5OWPA0RTER9XCDNHYEM2Z69CP2S3JIUIH9WHZFXYN8ODNFBZTIOGBD2ZLYNY7X7HR6S5GHQUV5BV487LN9DMYQ0SQ8PN51B23YKJC7C60CADG75IFM824YJ4F2U5JFU0SIS6FBV5D0BXFEGUCGCQC4JFWRBXMD3XUDVVXHX4TFZUDGFOBCYGM8GS86CINCI4ZN2YZXCS2WF8O8MDYSIC0IODA5FT3JOBWM22TZ2YZHSMA3AUN2UCVIUFUQJ9021BC51IBKBUSOH07X92OF6JBEPFOTP6Y73YMIGFC2043EE4PDGI8R3O6ZNZT1GTRVM3UV3GHPJ0DECJNUHIUQZ2LFNEDX2GL6PFUOVBBTMZY8M3DAD9RV55PI885CLRPFB36Q5NMWST2HFFHO3LGSTWLSC3XLEY0BU09C64WO6B1FX3X40GOCWOTMIJ5JRM5KWYPOCRNLVSBFBP6ZEYH0KOAOE8GUHXQ9O48HL4ZR7DKTTBRM0FJD0W3ZJRSFKU2OSSE1HKHTHVCM2RGKZZSHRYVQL8XI01NL8KQ6BNETH16X43BNUEUXRCLV84FBZBG5ZTDKNXGDUYSY3Y916XOKAO8K14R9N8PR3EGY184ITGWX0TY9Z0L497CGKXVDU7MRLD1L172TIMW9E0ACI6358F6CE685TLM9LQGIDHLFJTUMSEMBGSAS8SQVFH3R9NO4ECTY2MLJ73Z6A4NFG13EKGO9YSL62VPOXRKQQ7KMBCJV9GRH4AVML6V8ME15JMTR0B6ULM1P28P42WHSDVERYYKTCMA63DK1LM3CEENK = -36#1DIXTDOQSO9DN20RW99S5ZWNQXAD5LPY6QAXT13WOL8DQ9HHA95AGIFV2X0JQP7Q7ZHXOAZ7ON6IWP1Z3OPXWH3OZPMJZ7FQ89S5OJUWY10OPZ7XYCX9RM2F9VBRA5WVXDKCA4MMTSXUD1CMK4DUWR0YC3TO5O3YRSNMNGQ06C616H066SSRPIBF463QFQ9YGXMOKC1S8SUYGPA7MUY8H6Y1XIWFI7LUQV7N2543N5Y2S9WYDMQ2ALE00VWM580CB7JFVHDTGLQK3JLT7IG6Q3ZF9NPCIG8GIPI9N8KIEQTDJU28TZ7SA69XCIW3Y8MFK9KWLX7VF0B1R9Z5R9GTE4171POX48TCEV5HNBS43NCBMAIVAU57YAVH0ELH5DMM4FQX369TNCDRCI4WL99M9VWMKG6UCK319LTKZ1JPD65J1CD595KCWMCUT63SAYKGQNYZ68DOKWJXNNDBPLIH0FNHYQ3LU2FBYYPR8YDE2YOU00VVA6UTUFSW7V08ZX9IAUA60IJIAD79GHNAZFL01UC23J7Q7D7N2TS98B3Y9JR6FKYMY1MP2XDV06O213K7XUG1U39AD5TVXOBV93DU2D091F24Q09HLIO104KBBOKN8Q64K9YAXAJILCXBW1BF1YUU719QKBGRVZ4RABA1QWGH11L4EUHDT8X8HA9QPARW0PSAN8Z9S70ZD3XCO6XKYMTWK7GFSQFDJ26GXH0Y4O9KQJ7Y6N1NO6FTXC4GCEKSVFA1855QPRWVAW3RNO9ZZLU365WBGJXEIVSHC66PSR8FQD2AT7XSW8DJJ0U78TLI31ANTLLZQYLC3M7OQZBFSR4CNTZ7RVWYEP698409KY8HK2XKMKI6EGO1HXXK88XOXWMHN9T7VIKJMTENENSHAO0 div -36#3KV38L7HWF49OJD2NXC2IMFUWA65WGZRM7JY4AIP7NR5WGPQ462IHU10R5WCCAD8W77MM31850NJC6YSZO630. +36#ESU4L6ML35VJP2LRHQ8GPN203CP7DP3MJB2VPDR1Q5VKP7AX = 36#WGVIWLDH20ZZLHSRWYCUT8LIYN3NTVFXTKHYVYBYPDNR518CCABMI7E6HNLSJSNVNH36LM27LKDU5LV2V1SR3242ETSN310L9 div 36#26Z0INVGCGPLLSCVAZ9RNDKYXV6PO9XCH1OTGGE1IHEPTCYYHX. +-36#4FVIM8C7ZMWED3YDTJWNMM4MPT3493G0ZC33GG50QGQX72PR2BXAU1S6EDYZSSWM2B5YXZVQCUB9612QN9OUXCQ0RCF2REAV19SRJ45PDSOI91ESG6TRYDYQWQ0CQE33RP7IPN60B1X0PN41MIM3ZN979H5DHA0ELU6QOWENUVZHWV1DBYG141KQ8XGCA5ESGF6FW3CEDD2DKXNQ1N505OQDWQ1SHVZIEY5E85J1CC = -36#2VD6P4E3K6UQ04L7DK2XOXRARZWZHYZKFVBCY498W2WROCMKK60WYE4DR9RXYWI1P26O59CFU37I6E3A6ZQUM12TQF1QD91ELD0SXMU00LDUD2HG9MERVOLHNMRS5C6J8YDY7OQYVKHI2FDIQW0RC4144DLMTBR3O1JS7Q7S4N31AWDJ78XAXNJM06K3CQ1ME5SOUXT0J0O9N0B123658VK6S67VOLSD4X50GOGCWNKG6FR9XLW9EU7KAV7O6IOSKHG33FO39XDDNRPFWRM2GAJRQQT8SLUMZQGZ68UZ9AIL772C8SM1NCOQZVXG8CXQXQSEEE388S4SWQ8YBRUY72MYJCP7W1KXFASM3IO8YLK6TKUS1UAAOAKGVRWQEZUGWKGU6E7Z7425ETLFNECHFZ5GAKW0E8K2SAYAC6EX6PZL36ORW2V2RUQ86RBTYFZ7JJSDO0WD3AEF07106K9TZPDO5PCVM0ORZRJ18T2SWT72YWQNK3J6N7U4M2AM9I8EZYPZWOSDI96M79TWFTHV17T9DHPIDM0KNIQSZ6B7UWTSSVMBDWAKXR97U5H74902ATQX3VEMH03D2S70N3MYA4LANLVFFL7ZBMJYGQ6NQE1PD6O7EHCAUA9X715VJWG1IW9CROWANC13DKGRGK751X10S018WXNO3AH2FJXTNWN3FP08IRP20BN7CYXJNGCNXP5TPJW2DJ1MO2274PUJMNRUFGFZWJ02S9P2ZBZP6YFZA5Y5FODFDRSXPQ4ACTO5B9W7C4MIIJUTAQ4AEBPR48O2VMMK3XV1QXMVDG9SC4PLRSLR6PY8WUHDBGDLC053BQ8TRJHTSZR35EAS21R54I3P1D1G5YCOWJM2EY7IM8WBZUDHXPB5OIBEZ3TOH18IRD6CPK2W5JW8D1BQQVPUFR2ZAYAX1DRTXY1DA8BH6LO8RR92GYIIDD0TZRBOXMMV86AJ10GDM6FAMFXWOS8MOWN5DV8YC div 36#N9X30EP51KWG68C0MDGSRNUD7TRVSO6FWSRSJ382N669VOQAX5JLJ1GEI9T8YQ47L1NFBHDFIMGS93RM79C771DXLGCWQ0R3NUGZNFS0TJ0O6SEAW0Z81GNZ072F29NXAV99N5HE3KFNKN9NLEK3NA7972XS3GBUNSKN9YTXE90CPP8XK93XGXCPC1FTX9M4HNB2Z9QXFBT9P7G5OKX2731OOJ9392S397FDCD1CGEHRK7HURR5I06IFNITGPNSKPHOOLF6NV4PHZSNZLPVEWURQ877E6KLYS26ZWMW1127KA034M2L8MRR8B2GMBVL76A0MP1ZV4KCNP1TKK2SLV14WVQO3ZCOS8F5PEE5E6C8YYUQDCC3ESATGTX6KMNX4VPBS5QXHZJVS2F6R5JROOAPDQNMVUOI5VS8ZSCQCOUN0VHWVDD7E5HD33Q7IG36M5ZLLAFDD42Z3KEJ3N81VIIJYK8IQAMF6BTY2Y730W1UZQYB31OKE801169RAL8G2FCPAY05DJ82XDITJLZNSW1U6WXUVAOWPDD5X2ONFJ4G0AZ1J5573FC58FK1JRBYZPFJDJN6Z753LLGVQAF8MYRYBEAW7RAWDIGVOTSAWHKRAV6IMVBFO4S83GNTZJMYFCBGNRW7L67FOAXJV8JJ5JU7N9K4U9K9X4ZWJ26U6OCVHHNCTM64R1SE7VPOS3IHZL4HLX8AEX9UEWR3U41JQIFRTU52LYL1GHMDFL0WN1V6Q047SBAV. +-36#H3N7CSUARERG4IVOVQLA6JZRYZL5E1N5RH74WVWRMA0CFUOELT40PP3DQFXXR9M13JNZW1QIQBOF4NK7XYH3PREM3OFV9W4BQ0EENUV41Q6S4VOPE8NR47SFEUIEP93ZLGA965NSCF9ONGDB1R869YKL40VA3KRTH3PDEDWW3GPX8ERK6J0JZ4P929I07BZD8E2ANRW360NXLRP740EXXKAKJ7XR594ZWXWN5LZRFWHC3H6CH3ZC7PTTVM1H0C5FJ4AAWBWIEMXQ45IOZZAO7KCAMKLK558RM8Q2M7L1G3KH2EH4O8BHBMMWOCLGMXGVF02TTG2P5IUZMNMK00EE6F12M8URI3M11UWBI40296444RYPFKZ1R9U1AGVMGVDFOF7I4DN053LQUATQ68QYYQXZ7JB04FXROIE96T47SIUTUV17NHYOYOEPLQ05VMRZG2VIKVIL7OB3LUQP0DXUZ3FS9QK3FY84LD55RL4YQX8F2G89O19HEIHQ7H07NR0379Y7F2BZ4ZFC6K2F3NZKY4CUJO64ZW6QCGZX7UULRRX4ZJR2TE261GFBA2GD2RETW0Q7VYZ0E3BRVYYD479BFF9Z6RECDRLZH5EDP7I0 = -36#1T6UOOXMFMFHH3GQRJ966E6QANV5SM43VXW0D1SY57S7AXFO899MQ00AM9SI9PAGLWBOJSR1K2LG8PXMEKL5EDAF293VOS2I * 36#9FZ5XEMRE26LCIB1RIFDJYZ6ONDDCDVTHXRLNJL6WXRIQU96YQCUWK9GDW200CVRUT6ZA6RDV57WRET6CILYORZ3CW9ISRFR7YY82DGXRXKAF3KVYGLDWWDFO8SI1SANYL5ZBLD2YF6BFITLDVK2ZQBEY1J6W4WV4OJ78QDTVNQ72IXNL2BCHKKS2NRR02K1B0VZ8DLTLDMRQYHIM41HTEVQVXYI5IVG4RHMW8ABQ2HF3MUF1CIFZR8WZFI7OK5NVBVJDWU2TCTU9CX5OYYMRF12VU7C1RE95TSNBBDCTW9IULOA8XC6HKTU0T4GO7CYDN0BUMFD9PO971KARJCNXUM0R0EYMRWXX93YWXHM174DVABW02PSHA0UDC4C0XGLIO24DNFBJBX4SRHI40JN557JADUEJ2ED8UXIVQEH64W06XZ5ERKLQAEHBJY6GM28OQZA8ZCXMP0EKNQ0BQNX4ZOS5LLQQ146PUL89Z5P7PIUDIPCT0DOV5W17QX361EHK4FGUQY30. +36#BGBDZETN9M3U7JPW2TMUMFP47SIVQNOP6G0I1XWB33Z5JTPMSAMLHKFQCB8OZG0E3XYK83X8WARX6C8KVJZMODRIOZJK1PFL6YSTKJHVO2V8GPV8B59G5G06H8J2ZB1Y9FW5GC3UNIBM95SCIIAU3TSXPZW2LO105LH6GM0WS6ETF0I8UUXHSRA552FD3O244W4JLVUMT6OX66RRIXC2EQZS38GB67P870YBLXDM2CRY280ZYM9O0KUT2LB87M6DKXJYBU98BR53KDUOFMZC5DCFQHEWZNYFVK3T8W4H4ETAST42MXCO1E7EMVUONMBG5XTBUT2KUTFHKA5HEEAIYT17O8CT1ZDMS9HNM37X1O57MCT5Q8QQ8CCR6LQ2PPS4OC2NJS4FG2C1QU541ZLK7ED22QFXRD2TOL7PQ1JMS5JESBEQ3VOOU3WAMW9KAMAZDFGWAS2LSPIBL707OP8ZCBLTCCUVVDIPUT5QTZAUVGN4 = -36#WPEYSIFD6FROCAM9IKNKXU631IQNK5IOC7VU9B270695B6TUTVMCX85G8SUJTVUU9CX3AL9POX47HFQHB1MF7SRYE11WTQCFWKODMT7OTTL3Q7IYJ6PJHEW2PMZ0TUH5AFM4LEEXMRE96Z74RBQZZX6R51HJW4GT0TQ43V9U2SZQYF96FU9O6WU6JIMD22NKDUNW4Z73YRH8ANU9RAZNDVYOW83BDONZYRU084798Z1RGHZN18BSFSEDESMIW0W6ZWX4V08DCVWGPFQOIXOEWQU1L9A92Q7OQ67T8KQ3KASBKDXCNWIGGBYASDPAOXESJUKGJPJVWGMSF7IHI8Q0HFCX81OOMSGXQ6WD6NM92K8Z0XGH92KORRRSA0PQFXP01YU6RZ4DOTB2SSO7WMQVAZB0QN40Q4P0O9WQ8YN7XYH0MYHX6I23XQQYJBZUKSWTA0QT7P68OL4YUU5K328Q2X6OXXQQE9KASBO2CZUZJJ4076R97G0QGVMW43YUZHA5WIGLH7H2OF4ABY2QK5BLTGSKQZQPS div -36#2USVGJMJBRIHNNG6KW4UHDAU7KMS9EPN3ZORL5317GVU3SOC6P. +36#G68TOMCXFR659OJI052I3NKVYLYDAI0ZARA4SJNMZHR8UYKJMRMRXK9HWTV5 = 36#P7FHYJOAKEB05EXNBDYXNTAETKTZ5ZYPU4CAZ5CM7DB49R0DTN3C0BAZ3YR2BAIPFNHII79M247UZ592VA3N1I2OIMVASQ8FGUWKNYXAUM3YANBTQ5X2731KVX1V81KYWCAFX68E0UO2Z2ZMX9ZII46M26VDGCZWWTRS0194 div 36#1K3THUJ1TJAR0DN11M0HF2RZ6RZMAHA4R0RINA9Y7RDSK7DO4OOED4DI0PUTAM1BZSE3WCQWBYZFTPNG31KHHBPW84HWF3PA9H3B8Y0QWHJO8. +-36#2T1TYBY2YU8KR9AQMDA3LGZVXUACWGFORPKKUHC3YBMW11H1SX = 36#26RFSGW3AL2K4E8O5JU33TYYDZIB3GULNOUT8KRO2955FM24R2YSBAGZAJFIFVSY7P88X21BZNFGTC1VSBLE5KWJ2Q3YYOCBUHR div -36#S254KS2OV29K1UD0TTT6LVAU8VOZ87Z6KSA5G9ZRACCIWIHZ3. +-36#1WW18JGTFBCT0XC83VODW4Z2EP3F6RLEOJGNMLI0NXW6ZSX3KJ1X2HIG17SA95LXXPLZJJ2HHR8QV0AWN6J6ZZ4AON51FF8HZH9F5E8IML02FDAV0O5VAY51GTUCLI2BREFNELXTQ73FORB97W6BYY71L5H6PK1T8ULJ29EESHZ1B7DNSBUNHVVB8EU9B352EDNR3UY3Q1FHWB0JYCK86P47SZ9EONU7FMYPGNEAHKLF9I5R3A4SRHNA3E34WTN9ZPVZ23BEQ2K61IYALZVG1LG5OT9LKBDC2SKYFRGB8BQAIU0JSFV8QVEKK1N0RUSI6W98KVTD3RMF1G1K23HPBUPK3XSG2RYMYMKMMOVJUN5CAJKXEJSK6NLGU2D8UKYQ84TS9G0EA229L5Y7MJOKFBC7B0890NHO7IQTTZ9RBMJ6CJ9ZTLWEEXLA2MOCFBWF841LWUDW79C1N55XIGZNWISX1COQ7OUB1GHRHK9YM29095LQOGS5M24J4AXRRRZD7P39W545RCXNY8N94QC8ZXLR8VW4OT4FPOZVKFAR7NDXOT7ZZ2I0W34IVLW4R1BYXG8OZODL36ELTD5C1SFGETGOYJTGNOIJOH5I704KGUBBAO7LIDF0A4K77VYXPD2JA4ZMHM4AW5NHNLG4J7AH173PRUHMVQXZV42J0F6YSY4BPC7LMWL8GYYCFNQ58IKOO = 36#2IQC280VILCV7OHD5RC2VTQ9ZH6LXK3NKEE69BS2RL1J5FOR9603YD802MTMF5UK5288QKUMDNRJU4A41GW2ICZIE2ZIF42ASSADJ8R4BVG8RI98PKTLTNH83OZU3F35TDXT7KGX1PSXS05G3GU9ZO * (-36#RC0K6DNB1VZY9GROERJ9R8N7LE8KDHRQZQ8PQFMG3P0GIH36DN2Z8UF5ELHLD0Q0YX606GFAE7M1AP0U2QT29Q0GRVVGICFUJF2BC8F7E01RX7CWZ2632YEMAMFW6ZOO19Y6DZXTIGPP3I7SZ4QR2LSPOKGBGHR0OI2UT59S8BD3QDOSDP771ZDCYW45WZUR6UVBZRJ6MLFGFZ7EDYMBYH032NK2SDSIH3YEDX7I10PMPCC8HE8LDJ9KMDGEOUJZW6ZQT6N80PIQE945MQN7A9AC371X8EPF0INT151UW5NZBR28C1VEDNUMIEI4M9717LYK282HILPWUGASTC996DH1DD5TOVLHJMF3B8I0NNTOV1RPCQW081M5YGGUI7LZKFZI7IQJG1R0GNIV5IVPMSHVDL3PRL3IZBPZ09P1EDRGEAMNRJJ0FPLIKEHY6QDXLF6T095WTHOZK8LASSEQJYA6601JHMPXV14DKA0IC11IDOTE31US7UV5J4HWVA6VDHVIYSIDTEZQTJLF34KVTOIOJZQU334PU2UTXCMNQLY). +36#3TUP3X3RIVQKQC9SS07DHF7WMUGU93IZW4Y3R0GV08CXQTE7Z82NELBAR5QEDRYLCNKXN2Y683NCF9EE8368H8D5CMISZ25GXP7HN9AEIUXRL7FKSWK5VTW9667WO72WC6E5RI7UZGM63X1Y7RGU1PNY8LTO9OZE266DPSHPLD0E9903KMULN3E73XDLQLZDFTLJ9Q7UW5B4NQYIJJYRD6F49I9O830CKKQRVYX6RS904VKCF33UBB4NO83EZGCORR4WF5TP6D7FDOEGJTVPDH3DTVHGBPNH2FQKWGAJHXJKP6VY0ABAO73ZAJQHOWND6WSVG25U1FFRDYZHGB86AR58U2BEVG0JZI13SMF1RC0NRTU7CMWMNE1XN9NZHI8ZS7138ODVFS7E5CFUN1PXGXCTF9PYNXJ9I2THPORLRHVFB0RGEIF8JZLTA21P7GET0A0DFBWFU4YGOSGQRXE82T8VB2VPO = -36#2ILU2A7C0WV58AGBS8IJA0VM7MYNH84UR2D4M8DTXLNWY9ZGUZPPLUPCEDV39HKU5KXSD72IPI7QTHY86E48TSYYM0PYEGKYBCPTU2GH6Y0VXIA6CER4GBGZO3Y1I92MH3251BYT2M1J6VC7OG08L9BGZCFFMO6SLH65MG5A12YLWIP1PPRFDNTZ4TF7MEB8NCKMGTS9WPTQKB3DBKPI5C9IYYT3M7464BJ8FT6EZ2Z2KHEFD3C281YHG4YJCWM2KV4OTKOODBY8ZSEGN2XGYZOSBJYELPKOFARX7V9DPU5FY7BLKOWSI772CJY8D413XYGVKITKIGG0F3SRA8JYHBYY2GBAEZ2OW7RA758U1CMXX0IY1PNM6EJUA18U86KE8Y973G051BE91VHD34AOK8A9CSIV9K354FZZTRMS6PL76H1IF0PB0MPEEKS77HFDXGDY7X81F4E30Y4Z6BVVEHW7VA1RBHZ2PTG0ZWUGYJQDVICSOPCQDKD53RRURKT8EAWR1I6FF0HV55DG8IBMA131M95C5CXXH0V08OOLYA2D64VZXTJYIQAQ6O9V92E6SB7DYRC0CTQI49SBM92Y8CK286VVXDCX44TH4770 div -36#NNTM774QD11XG9X0CN2KRM6H8AM6F25LJYM1D704OXCRC8EJ013MPRBEO31DJUU783PVFDHQBGM4YPZBIOXW79K3P99XKJS49UBXULJE6KA3RPJWYTTK2QQ839GJ8N43LRJ4WA440AX. +36#19EO94ZJRNWDLQ25VT7CZ4W0BLWJW2G5JR9L67NE6QE9NWO81ETLFNIGMUS2USWUNYTXK2QGKZU78R3LZDGVXQ8XBIJZKD9GJSDKINBEM2OSEUZCXL4FFLPJUCDOFGD3BUZPFTULR5S9UZCIQNPVPCWOMHEOYI2B1HGLABQAAD6D90C9KDFKHKNL8VRMOSRCK4F2SLK2PXAO1CGCLS6T0RIPJNS5IEENJ9CSANJQ7VWR1JO6G670V9I578RSAPW0643O333TK95K7S2AVDD62BHJ8A26N79ZM4TJX4XKX53QLCG98PVHSAWEGIZ8W75MA8H97JMZ80AYHZESVKL0DVVMJQFK = 36#1UILVQ6RNARSAZ50EI9TJGHSTITEXE9ZR0B3W4XTZ5JLGOCHV2DUTXLBDO0SH4T30FMPRQMFSGVK0VNGKRVJT14E5KPL07J5HHGHC8PLP4KVZE8RF55M70BJEN6AABK0L8TPLNAKEDSS1YIZR8Y17ECLWU7JU8ILCS2CTPH3TUF1C4D4VTTC1OB6AVPUKIBE64P2B22OTWI65ZIZCT2NH9RLW08I8JL6MJQ2V054XHAFKTHW9180MTU8TQCINOSOHE3RBLAQNAUG0TKEZ5ZPN401B524EK5F5TMLSNHVHSG * 36#OKPM51W68BFXILJSA5ZYREQVGDIHHMRXAAUCB6DYV81ZP9RRH. +36#3CCY2R8U8RMJ3G5TA81HPL11VYBJ0CTG8OKQRMKY9X82808ZZ3WTKV5HIKX4KTHKQOIVW1FM7AJ3LMTN7OUCE6PXKVKEQFCD22T = -36#2C5A1JTLW26F4Z4NQ20SRRKUQ58N4U4UFYNEYWYA0T7L9YWQR1 * (-36#1FHQODZ026DDEAK7WIK4ILFAQDS46K5MF9IKMMYW3DA0B129BT). +36#2ZRLCWBI4K9VE82JC96OZ2ILKLGQ6P2WJ9DDDGZCJQVKAUWABG = 36#ZNCMMUZVRGC30EZLJ3EU17WPWLQAVQY0YSO67CPKD2YY84RIE5ASKFGXJAJSAHA2UEOSDNIR2YEHBKMMSRXDVJ6IWJBY10D3PUCYBBEWLJ1UGMLVFITTT13NLET4AL2GE0GMQ2NV9RWLXGKPUQ1F2GWZVL64LBPWJSIQ4OIVM8CP97W3797FSVFFVC7X19USN83URBZ74CQ1FNUL0YDWCYDWHPLA92WU2BMFEQ8R1VRZYPK236QH0MTC3BDMIXXDHM1W4TT1HF9V3YAMRP915QHVFJLO1K3OSA6QREXGD2HLH0UGFGMZKIMWF9MJ02FD51ET5ZOK403DXI8ZZJOVKZEVJ6K07PQ86IFLVE00K8JFINOLY7SZ4WA65Z4LDTTYFSE9RB2UAPR5GAG30QA51R7H5BRKG76324L1XYP5WWR1LX0RW72NC8H44PZDPE0HA5NSLZYIW7BYEJUTRGBF6H66LCIDX32YHGXVDZEFHGX59891V366998XJ8KEYL3KAV06CP8HBSYWHM1IHRZBSW102PEI5D8I2XK9A6E7A3BNIT6C270HK3NMOTXZD7X8U8ZP3HDLU7QW2LXG3ERE7JHNXCBI81R9UN5RNCKO8Y5T79BIKJXO68YFXXAHDRFU3KDE2EG8PI2V9ZUVOBZ6SGFE7YN4PHZK209IIO8X7ELTMMF1A3QNPSRCODN71BJOK627NY7L2LL3VKTLTETXFFA35GHXKAKMIGIEAA5SF4CCJU498SHUXN4P6JJV47G6D65AV7LZEZ7QTX8A1AVMMUAUPR5QO7Q940VFEB9EJVA1WVMPG7DERTNPB61M6H0ONIOE4YGUKSR9W3R51X02MTA9VUY5L0NT811LNL9FCZL3B7HU7KQNZ2V30E7D6OZRFWI2W5IVLT44H5AIIH23D38LZE4FCBHCWC0NTNJYCIWE0Z1LY9UDOVRRTBOQ487GFN03OOZYST1GEVXWGSAOUIZ8M0BQH7GHAT3RAP08C39JDYYHSA0BZJC8ZU0L122A23IMKK4LACDLBKGGOUTMRUYFI209PZWAMC2RTTRQZ2Q7WVWPKLO7LT0PBROWXUGFI7D93BPKDKN16TXTK7824GH2Y33LMXSX79JGD3WMG2DP9YRUUYHUC4ZOD7WFYO82WDMCS6ZO0N3SK34C9SZR0FCA0HK6Z653DSEEUO7R6Z1UREW4M2UIX9IK02L7XO div 36#BWPKW6TDDR6O62NRKGWX1FSWL6R4HQMI5R5NV82AL8ULBVM42DHRH9TKZF5JTIOSCYSBWO0VLI370E9S5IMOWOT1OJ0271WSBS6UKZ0M73P4PZHJIFDKQC53HSGKE2KW0TUXS0Z8PYRVJ88W2MDFFAVCS0PGKWQ0CBRU1PBDGSZQITR35M1P2FZPJQRL2SOEMDGDW6Y87SBYQA37G0323NSHLK9R3TVPN5IZ2F1IAOV9O0BS6MY1NJOWY21YPAKVGXAAMD27B339GG64X44UXINKRMK8NJN3TM60U17HMS5OY1UJJPZRDG2QDMBVN0A42KKOC62ZLL12BPFVURURM64AL0IJ0WP1QWT4EXAO5BDW0Y3VZZA4F4OU3QUOXMNYJS9CP1OZ2OPFALWHRCPS7H0X6G5V7KJFPHHALTQAAM14PJS1XD2S35ORO7AMR8N1Q049NAE6FBUD2SFY4OIRWVLEJIQWWAKJY03OZ2KU1AG2TURPW5M4AIP2M59F2GSVA1DC76YWQ9ZVT8ZUQHZED8UN389PHLSPV4JNLRZD8QI0UH4574WBGWID3ARL98R6M8DXA90P7MXT9JJARR0X2LUHLRPSAGJTXMY87CRX6NUZRKNBYSJL01GIL63921MP39LIIP8D57Z3OBGOWJ80LUIT477DXM3MM5NDXS9D5XBWV4O27YWWUV9ZGXKRTW5RLVDZXCPF57W7GXX6RBXJ2TADZOJ3PR022YKCLLPAFEZYYOM6ZI1ZBJHM5KH81QBYZHX7UIPYALLEURT0QL94ZXF1VH2DSMWYYWRQOMYTX1W7VO1LK3TPFTJ1MZKYRN9SDDQCLXHMZVRAF22GFCB5DGFI8I191HQPT8OY45J46OTLLHR9N8MFXRB5BHZZOO0BDBR33XOD3HWP4LRHJ4LHHSDC7N5FXYBMKNMQX7ALXJUTEVLM45AHOU8YXM23APPHIAVH95GHL5R7L2F1IY05OISS25CVEWI2EOAT3ZGUFH4F71OZA7DTNT2KJWE5THILWQD253NVJZ5YIOCB3H65E4R4PFZ1KDRHS703OC8ULDHVVC8A8V9CVGJFX85SVVPDY4FLT04XK81XVN2J4DIQMRU159V1KOGIN8MJOSZ51KMFJ1WWEB3V5ID4ZPL43UMTDWHZY3F04OJ1X. +-36#156IAK524VLK3RYIATV52XNEXLZ16D9F8UV2RLBORS1HE7HV3SLKJ2HARP9NJ151IFQTZ704ENBOM6YYPTXWH5ZVBD2HFTS3XIQSGUTI1WCW8PSGLA8HB0IP4R9ZTHBTB73YUAT7QEEJFVBZP6Z272NOG7XZ8VHJVUWLHCLIXZIIBNE2KTPZSO14GTQ2BEPHDBLKO4KBIDUH22YWGDEUFIXRW0YFZL78R2HQR5EIZTHH6YB756GY3KGKSRCAZPLTTURR6NEPRV84T6BQ8K = -36#G06U40PW0RWSIYD4RNBZRE1VKFFRSA8TJQQSDDQZJCMUD49D3DHI4EDFOCT1WB3QUGWTUCOOMH237HZ68KX3T7HT7L2P85Q955HC3LCXIE35DX88ZNLDXTV7AVBJX93PJWD1HB4VHD4FCVEEMV546GLKQ5IPDM0Y4S4FXJY8I101RI650WNMLDUC0B5JQU5KRKRW3UQH4AH0GOCYL4SBLLCKTGZI05UY * 36#2KMJKZFHWDSN5OUG4R022ZMK1CNYPA91RM36Z7PVEYAOIAS42Q. +36#ESK0VSVKPXNIRR13P64B9V23WIQXC8JZS8THRI25NTN2PGJKF32X3UBMKCQLYO8LZMWA5V5T2E5UU1NFALYAABTKOVLSCC4URQR0QY8JPJQ7MTIZGWJGRRVZLXXP6IJAQOSY7A13P1AL8EXKJ4CPE0UT7V5VNESCR3AHDF9CUG4B9CHDJO3M4O47ZK143YFCQTFWH7SO90EO9U6DKHLX9YE41RC3XLWS8B2OFNB8TCPIHRDH8KOZ1V256ZHXBLHMU9402UUJWACWIYTV8XLVCC7QPYW2541IEPJP5ZERPFIRGWLV8A29WCD3H5YXU8XHX0RJFJFP05O0HSRC1A1PQWQOOCWVOXCSF3RGTDOA7D3O0DM8N03AMS7AP6ZUWJFV6GGTXLKRIQTW9XS446YBU8T6CC7P1J6AO8R097LD888WHHN2DQIF6S0G17E152LKKP0C811RMOHU8OF446JGIECS6221Q47OHT1GYL8GU11A4JERR6E9V90IO7DCD9VNI4HMIC1NK435JA7XUBH0H1OTFLWFI3ERK9OVQ = -36#FJG7N7K3QO5FBVPZJ4P38GAIZJZ7NYJBX3HWJ8VOR864NAZ0UXRPZ1PMY7V4Q7N8ROF0N8R90J6NPLMKYVDWN4FQKK2MKU37DXF0XOFNY3SM2AQZ3JYB61AIILF8O1XP0OWJ7T1FC8H3QR00IU69FSV3S8QFYIB815GD1T99WYGQTWK4BGT79RPXEZGRUKW558UC56BJNUUM36043M008JZT37RVSNGL0YL6JBP1PGHYWHAY27UCDKUGCLX33XCGG3D2XJI4AW5ZA500A2X9CHI1O4NCP0NNAVVBB3ZL1JRSIMAR5VATF9YQFUA4KXJGJ7TEKHWAS5ETQ211M0HBCLS6NP5KBMG3VSVV9PINOVXPLE0SFD4XDBLCMD7D2O0N5FJJCRHGSNY5PZW00S1JBFHK6KH62S3UVD93TI15AAJYMEBMJIWVI853PSZ905OSZIJ1867KLE4YDL7ZYKTGE4X5FYJI8W0XM1FDNJ6URVFEMH46VQJV30DB3APS1QDDJAOCTB9XB1K1DQMDJUIINQJMOQKMA9N15GUTRUZH06WJJ28SH847RH6T1QW8LXMB9J6ONPIRCTEZGTN41EIP20N12CYNNV2Q2OQMWNFRCYWYOKVUQPUO1952054TVN53CTL00SCUQ2Q30SP8J8RGVD0VPFE2CPTUYN6PCQ55ADIPYE2Y6MNZWWMY2ZGSDTZNG4IFKEL5ABLM9LZL4IP4FCWJVGC2AKPLOQBLE40MIQYF32RBA63M118B0WNY0O4RVWRGTNKGPDS9IUNWM3DUE0IHXCBQCHYRCDSIZYJETI22DUA6NXJYOZXRQN7TJMPZNJ03XU3R1LKRTLQX40RJWO4BQEIQGOPY42XZ0UYM7XR6TWKXV4AFAZVHHRVV44KHCIK8YS6C44FSQYSBMFDY1NDDMS92D04OETE9G2MR314OXTGUFOFFHRQRN47DB7PNMXUDO2V14EFR1LRA3J7UWOCI0W9YON0DG4DC7G134UB35F74DIJ3T9CQW5CSAXR2C9LKPOI573HINJRTLNX5NER2FTB6L9FXMK2TNHS8GGYILO9O5PK7568HR8Q9UM8GPM9EAOJOK94KYPOGLCQM19XCAEN00V293D318KX2T2FBJNWGFRUDGJFWU1PBL094J6VQ8RUAP6JX1ZEUP49VAFM div -36#11TG4NPB130IOEG2TQCAK3DRVBIGJWDC029MS5GZ9FMCO9ZJEABGUZ9OY1HZJ0DRD3077H9SCFWMSLQS25W0SGXRP157JQ6UAN7PBXBVOA9WYR7EC4M8Y2PVCRIFLGX2QHGFF6MYY79WUQB8YZFDZ9Y86MMMXI3ACXLEBWLZJSM5GYUTY8VOG11VNVW3FM183Z2UUSNN70404M14LFDKGHIO4C1DKLWEF6R8ZGWX5Y1FOS3JWGP9C8YJJ5P0SS3C6974SK08BC4V4LJ3INRRA6V1JOX8IGH3ASW91BRFRK6VOYRXJ1CQ4JO4G4N8HOM6UG7CKMCV2FIABPJACQF5OSU7HZMONLMYW5LKLNXDI9NM8T3FQRFV6QG90F5P16HNE019YRMAPKN56KIZPFGWNYG22MTJCX755ZTRO6DPFRJK2YJ12519Y7FQ7JN6MT60PO7827SHG4XGX3RWM0923XR15NXBCWUAJHKMNVQLMR3O8A2Q2FM3D2V0MV9JM70L7KQ3RXYSL875IAX1Y8P7YZQIZD7IW3RCP7J0KGBDINHB6EIJ3MS69S98D2T023YH4XKAICXKFZDEF0HF2M2GJQJD5P1L333ZIUW1GWWXC1ITSXYQMLN. +36#10QHC79ARMFFZ34LG6K444XJVH700O79C8QNN7NP57D9U604A9NNALZ4SWFO9QMUD7EOPUNP93DQABNS6Z4LK9S39CG8LO49F8XGN30ECW6FHOXAWTLH9254CFDDU2KLGLD9R9XTW0AIPXCA283RM7IBE5TLVEVDXBM6KLZVCNPMTAFSQW133P3PTZHHV5TPORRM0QCDH3PS57IBLZU7EZBH39WXD6SZPD5VU6B6IF52K82V687XH0U62J30F2DBHA1Y1EZANVCZI07H3YUC02DYJHNFBRS0CUIIQMIJZSZHU3YO5PYH0QU4R1622RP55HTYU7QK4POLCHQBJZLTYL74J565QF4RU3JKDRNIO24A3EM6G2QK8CZFM8PEUCGNJUB1L8IUCLOH6IYHND0Z464SIRVFFHMFL89C0 = 36#5OWZQB0OBZBZ3YRGCBXRG60TZE3GQDDBE2M5UZXWQ6W7FMYLPQCJIO8MDZRL4I24OUNXS4HREPNT9MLDGAJ9RPJAEI * 36#6GC2MHGHMQPOJWFJSKNVOPQQNFVK6HK0OAP1GLPVBK2KRVJC2VKMMVQ1U3SN70BOW319ZJKAZNIEGEU4YQY551N08WQD3V16X5VIDJDA0B05G22RJWILED4KB3Y0VSA4OIST6IJDXDC5LARB20R7WFKUEWN1ALD4OQPGHHQLABMNC0EVZO1RPW1Q7TZ6TG5MVU4YQDXVLY6JGHJWKU821WUXKE9HVL2BMIK0XCGB08NI4RAL8G1TIUU4IV0C2LYBUEOUHNKEEYHPKZKHEAD44TK8S1JCOGCHJZBTXU5PXMH96E9TT7UUZH5GQKAZSVXK229VLMNINXC. +-36#B7SRHKHWMHZO9BHPBJ5YIH3AB1YZHSURE9TS4XBI989OK3QVBVBSO8LQYIMNTH9V1C5REZT8194U3Q0VXF1B07WQDXR2XLJIKFK9T08OE1BIMWDTCHX52359YKUJS06TG6M4ZFPSR5E36TQLZCAYYH0E1074IU8DU41B3JVR5WTJRXE3ED81V7TQBT0MTP7Y1LDOGUMC4541ZRE9Z3N4IWTMPZRX85CJ4OGKV3G40UWLW5F5DBZ9NZZUZH52DR7AE6IZ4Y61Q9BBIH3235X12ZFLA1VPGUIZQR1CVFAR3FJM9B2GBIBK0C654W5FDO043N6F3PAXA83L3QRY50CB7GNPCKZ27W2NT6MGOL2VHHZ82RJAVFDY1S083KJCU8435JTRSIJCB8PBVHB72KUYGBRTV3RV4DTUTETOT0WXJL3Z9RS6TJ1NNEONAIPKKQ5HL5NE2LR69VJ0XBSO38TFLHA0IFHRR013ADAZQ82RZY1O9UINIFW0C397MODBS4ABCCHAVDDJL1K7JHCSOYLB1U1ZG5KN0LMA4OCFA0AA0JGS60ST = -36#DPJUTHIACPM8HFIGTQ9JELAEU6JKJQ3NB8KP1A55OZ5G7ZUA7FGRMHLBHTLAN89OR7QGJA5660L90KS0ZU6XM3GLM5BY4ACR88FUGR7W7XD1VPYGY7N19A2KCQZB3T9BIO7504M50I2JYZZE4ZY7SID2FK8BU1ROX2J0S8959DXBJQN6J59B32DZVZMPUKAR7T2YUH96P6LY53JGNEO1BOLR2H9SN88CJP7S0CYLL6FXBAC4NFQI38DPV1ZMM4R8DA6YBSXHP77F62YAOJ3LVH67EX8V868MKPXF459ROB2S2LO78POVGUQBORF1TLOJFS5FKHFQH5IEHOTW87K0CQJXKS0L1DUG3X3TVDUPNUT8ECFW0XEQSPU8ZQZYVTPRGJ6UQGZHS2P97STA7NDMLJLUASDFRUALGR3WP40XND8FAD6QJNWPHW07GBWFGD1QQGYLSQE1KI0JRYNGMPJMPDJ82MW5TQ8J584ITYFB24PPFIV65UZ61WHBR29H3T09J0BIXKKHSPEWYZH58NVVLB4THV3OKVFS1P9JYPBT3V30I3LQK2CDYU42TQRG066Y28SWCZYOOWWXOJOCHQZ3W0SIQXT1UUUR div 36#18028YA6DFH9NFOR1498QLEV86HG90BLJ51C580IA3SQZPA9R. +36#47RVDZIL4LNM54YATU6FFM5VL5O1RF2KQUQ584FO9SAV05FEFU9VDXUP84O = 36#4VLO9YVDX3CGRTDAF7SK06VA25S3AMCEQ9BA9T4J6NUCJHEYEH4DKOBXO5MT2QT65JHROWNU71W08ZUEDWHFX28OA9ESVZ52A9SSYCFZVRA9PGGPXG7ND1Y27GKWB2KWVJHGS9MGXLFYPTJCN4M2YMLQAUYLXP4HLEP1FTTA4HLC2KS28EEHT7LMB5RSZZEUGFEYKJJ1HFJ6FQ9H75PM6P3DFETMMTPTGD6VULVHMRNOYQ74ANQM2ZRVACUY1HYOSX0W97W76L8LCB414X44HIYENS5HZJE47NH77ZPHH83S1TW7A56493N12V7H9QWKZ6NXFENF2UJ9JLLHXXDWCYLA5RM1PWNWEYYHLKO492FXN44UKN1IRI7LKXU424YVR5C39D3PSONHYR4Y0MNWDZ0KFIDSIIOGLKZ23QS2IKEH3OD0O8RXULQIQAZBP7H8OU1H8RYFP01UH4CT9EM1JABQYXXNL1DQCZX1VK52JBUJ0QFBJEB5C div 36#15NGRW65YUK2B2SFB68F0UH1E90984COH1077R23QUNWDFCZOX2PQ5EVQPEHJ03TB9HIMHGMSRFZXPKWT1FSS0TZF8VP687GG5FR1OPVIU4IJZ6T37A7GON94ICJFHS3SNWGBH6D8JRWFCCE3MT1ZZJ7K5R5LG2LWFS6U9CMBCMWUQZOOI7QHBZ0AML65YZVVNCLL9V1H4OGUKZCYQF86H2M7XQX7GIAOF71R6UD1G4MHR9OK08FGRICJ8JW7HQYOJWPU2GD45VP2F0MEUTDPV8EI8QRG4Y0ZL3X5KWKR3MWR67UAJ71T17CMCXYWKSM1JPYVADXHVOK7XV4F2QAVQZ3GQVDDNDDSTN3TVFQQD2DUDT3V8U5PDOZDR4GR0C2UAQ54AB2G8XD36698DJJOYI704TMUC21JQZH4ZUT9UBF7F7PIKCGVY57TEE. +-36#XAODTXWFXWFJ25YAGKNDKP9U1N25RF9SXZAA5MSURP87D7Q6HXHBJRCL2H301HP5H074LGFTKOVHE6L9QE5F7YVWT788EMVZ7OVKL9L6F20Y9K1I2JRZQR43T3RLTOKSH9HWHVUPQFWUJFL6Y2LO1URSTRHHM4U825CZMG2U8XINK57J7UUHT07EVRHRKJ1WBZ0ZOAJP2KXRIA0RI2A9N9QTBJOMNE5J374HXWS2S45DGVC6VDR929OG45OEU6L2HB2RTA21UY5ISRR8JH0KQM8X9KJY4O5DGZ0R8UN44GEQMXEO09ML68P3PT6VB8IQV64N9KATFWPSR01OZMNGUZMNSTSOQ2HANGEMCW77R3RRIWJR5WMUA614KWQS29U8NER93T76EY3A9P72WMBHGUWCX8VJJGYGWE3P1Z5ATXT5AM3S2RNR1J393MLXR2KQCY1ZKN0URNJX6H3UIVAP9S91GHW5WV5JGZKHL0PYQ4PGDFJ2C6QSIOQIFJKOPNX0448BVOGPTWS3CT82O0 = -36#S4Z2UJ39WOXL821DIQDFKO85M5YWUWNWAH5FJULXREWSXFWT6EPGVR5PPR5LZ9MLJKT6GP7RCBCDLFM3LTD4GK16OEDGRB7TPSFCY2M8ZY1N2WQLR97IQ0B23NV0RXL8RNN4FY2SEOKXIVNGG * 36#16LL6KXYQMIA5PKUWYNZRO9RET5CCA27TA5KBQDVI4WKMKGO2UOPPMH4B8T4K6UV71295D46LZ2TBGBYFPSAITTMPYEO8YVNMIRG0DX7CU4BIQ9KJTZ5SJC1YA55527WRIRPI0F685Q8P7ZZ8ZACNFN40DBBHU9ICLJKLZWCZ3CGZRKNR8FGTF7URYRELTAIIFZ0YVI4S8B04HQV81RD9JGBVI1SCDV76VYCINOTAKR1UPL2VN26ML69TKJHPZBA67CX6TVI47GTSROCHSU404PCPXVCH3ZDKCVYYMFBA5QTQ1A4NBGMPVLROGY8II8MK2NLJ11GFBRIO67BDJ5NZUVHHUMFRLXYZGA2IGL00FO7SO4T3JMW5WHN13RRSWJSH9. +-36#420S5QVTEWST69W4VQ8LX4HYUR01S9MK0WYIFB7BN6WI89V93S5WNM75IF8OEICRM5F0 = 36#ZBK6PHQFIJPMJAB42S5PPD08BHKW2OEJ75D7C95KIYXG1V9L8BWCWJCQPWWCHE5S0CA7ADVUN8MTMNV7HC80NDV1Z8HBY529P2ARCG4SA21S0PCZ4LM8D2LR0XNRH4JMCYUPYFZTY7J3FG729D3MV29XH735MO8RUR67NWS685LHXLDILFN2FG1HJI2A5U19KK7I0 div -36#8PHLKNIVXB07FGUZ4HAM0F1UW8WFEN020HNFF3GGDQ406O49WE5BAOZX0IA5DK7S4YSJATAN0MEG5X345GY0718SHAO5Z4AADF9QQTBPG6SOJXA5X728FHLRC8JA9LPB6I. +-36#1SPRGGS4A6LJHH3LE0RUCQ44M2QEYD4WJW74GG77602B71L8CZ = -36#B4EJ8OUDWLMIFZ7YFZNIO9KFE3ANJXS42P8I5FQU1K80ZDARAVG63ITM6RTXIU3NWTZX3S3UJO73FHMU43MU4Z34C6QBW9QHOXNOMI3702CPJD5LECNWQZIGRXDO9Y0G76M723TH10AOTMW4B div 36#66QIJ5N4CUNMP1FXUPOJ3AA9F4H7MB7FHUEO9KL16W0MIC9QHXQNUS8YNZOL8D8FUSK9GSU3D4KSQGG4SORESVBWBBFUBGWP. +36#1A5J62KQIGQU2DSBZ17CL1DJIOYF3B1G3H7CRCNAQDDYFEXMOONPCA105DTBU09520PTIM94BMVU4MJPQMBB2ED42OLIP8K341Y7T23DB7L5Y4ZNK9L8FWY3560H588NDXZO14RP9EWVT5OOUVB85VN5C5ALXNI3NC9HHWYM6ZV0NNXKOFGDE4T75IT9LONFMKAJ9YGL2YZGSJX08Z73W38J78KKRUB0W1VR1W4OTRBCAWRF4S852TCZ2KQ3VEEYXD0VZNWR9I0SP8QJ2R10YWMZLJ7HY7DFWS9Q5RDYSXG3LYIGYRR619CNOJ8Q81BOKYHQWROMHT0R3PL0RFTXFEXS9EFI2TI24GGR91ZYT804ZX1FJDM89IPSNNIFD2C02AWQ35YVH9OEI4CX3CG46UW214IFL6EDRY19ZTZBDGF0O1NNWFHJ0BBC63OABE97PUZEGTV4GE0ETWD3V18Z7IW7OQI2A4UPKMY8PVYFLNIYO72CZ6S = -36#DLY9IZRFG4GM81AWUID27REGNK1JOWDOG9O46XS4QJPHQ7XW2KV4KK3KMCBSRD7XZMPSKX568HWX4516XP0QU9RM4A3SE5IWSX5QWZVYI7NBL1LV0UTCFV0MXP9VB13FJ0GXN7T19NIEZX5NYTCWTTBIHTU5CT9VNW3K7XRA1WJW2DZ4K770G78R9I6N64S215C9825NUHATBGB4YSG1M7APL8IY19R2X6V0905ZG5S2DACJ0SRV0WAECOGMGV5ZQOYTY4BYVOHJHUTF7UPP4XU7K3GTPSBLTWSOF4UAD3SGUV4PD6X445JLXGAPS0TB97A3L6L40CLDS407ZQ10CHIE4WE077C9R2CN5HX8TQZFG63JA89GMOA3TOOEU8YNX50SKMG2P50P5LCVDB287J5Q54M13HMJZ2U81TJ8WWNM8SA6HZVUFKQ8GZHPV68091C95ND8DNR9KKICUK3ZRH4RH37O2PS8BL1L109JOO4LVT36PF80D9LEE3PGEPAV5K4C92BR5WQ8BVU6RCT7K1FCQUL7X6FV40NNSYBJTIJUX60E6LAERJUOOVMJYTE23J2XY17IAH5VDCO3Y4SVITMLS6XH25MP0VORLRNB3ROLHM9D554JG8G2ZL7R7TJF14DOU8Q3MLP31BQNRFFWSFXFYV3S2JYZ2ZG3RXIFGZNEJFH0D9Y40OK99HD5JNB2LIY0MBXG4CQ4TV5OAT52R7TT195NBPXCXZM5VWSI5UXAFL44LYYAV2FH1ZIB8XTVG9B11FTX63AG2NF0UVQD3PZM0N3GWN05PVLY1JZLA07AEDRIT8TWT3RJ0X1P1C6PI1LXJ9RQQOY63CSNJA2NTQ7S618TWQCBRPGXXA2BYLLVH0BPA4BXO97ECMC0V8AS3YLHLPO7LCSWYQP5C6C86U4QLU6C9WRRIZR0G8BCHJP3G3SVPUQNJGT94 div -36#AM5W9CLU9U6Q3P2P51NSPHIYP41YFYEWZWK7EDXG9UHFBCHW7L7IBG0VOS83QJI6ON7M1WX44Q51LYE5O2YBYG8NY02N6Q0567A9NI5DY126J8CDB2QSPS18G5NZBPBX2Q92GKHSP3LVY3B5Q5S0N5AI38Q7FYICZ7TIYFPU2XE8PIEY91NATPQ2DWTMU973E3VFN6UUUKLZGVRSWNLFIXG0MNYXED24Q766ERAG1COLO9DXQ9S654SZD7AQQA9KL43DNF1J6B9YIZ9DIOABHVDWQ8185LM0RL8LBSSVFUGY06JBGPYI5A5N1NZVR30PGMI9FY6TW6IP6NGWA12XSZXUF8KYTUIZA885YQAZGGIXEEXPD7093585Z2XWEUZK9XHWRG84960P8935ZO7NH2SFKRRSMRL5984RE3NJGLCKPRJ27OHYSN6UZUDYMU42YP7TB4M. +36#53NOJSMAK3UD3PVLJKPK9RK2DBDBOIUDSALOFM45JUA8M0HTCKOSQHCPSR2A1QYTDJ9123UWOLIR3LK28UWVLV90M7YZVJDML7MR4C8ALUAH15FOC7G21EB1NHG3PGTLW4H513I1GAADCHAI605TSGJ0EDIGMLTSBY0CBXOV39V03HSY2QC0QQMON5RCPJW0OHPAMWAQB9EFKNPASEGKZ7MJ9X98AN4Y68FG4VTBXM0EVNXONFO1QMA5ELVLJX1N1BEN7K7IJKHRDCBXMGFJ3Z30727Q3ZOYD9QFG1M47EMA9QO1B363FAZ9T4YSTCKRQ3VYKUL38ZD8XD5ANO8U0JUCFRRLXZY4TYNMBW36Y3MOSSFRKVDSUK4ANLKPVI7K1ORG9A2ME9FPIXLT970KYO6RZXADZU5TN2G6PDMDBNCC4S0O25E1FY050GSTL78HZTYJRC6BB8N2FVOGKYE0JLYX6X6R06VCPUNE9NYPWWA2KZVNK8E9XDLE48CWI6PQNLSMVX5VRPAO3Y2L4RNYVFU6D4VWD8KGL4SEV9ZAJNBW63H9VEF7990047R0EVJ4L5YQBQJWOZ958MSPVEQDL7G31MXHMNGGKQWR118JYXQWIQOGHNZ6UHPPEBNYZ4Q9LCNGOAFGMX5FGEBDTT7X5HJTN9GJNZ23CFS51T3IWWZM6EYVH0M65CYRMNAOYH8MJBQDUGR5ZQMI36H080M1206KBBEJVY3D6XGFI0XTU5ORAOI7FR2V0V214ZOPEOBH9W6TRVN1DZATZL803LRF9OG2AFLQBXPIJV74ZXBJ7O6TY2EVZTV4D3K77WQ88BCEWQYIWZ5VMAZIWE82PMWOCSSRV1WL8FSVS1V3XG9O1V9NCGLKGX5UX4Q3AY31716CCUXXYH01LHEDLZTTWM61YU6WPZ06IRBSZ1CGFN6OAFA4UXH72GPK5T5NUJ7FRONZYTYQ2NZWN6BMOJGZ3AWLSX9FY4CRZQBRZ5W9RQUDOQWYCMZB8LNJ683FUFP8XCQMHIEPNQCDTWQCNGEBQJUAQMOJRWGBHT4KUGXMXF6UIR00CIC0Y6ITWHX2MZ1GCQHRLIFGTEY9JKXKBYX1R185P39TOSFK1SGMINUVSX084WCH7ZA20Z36MMC5WF707R59PDQ05MKDT9CKZSHAQ8CS2ESDHR52T9YA0CRHTF5H1VKA7529926NJ2ZCU9SCOMR1RZ83UF3KBM69OYVAGWK81185JWBECB1RP5NG19V472LLOCS2ZIYG4VWY06E12OPZOI301YK77C8RSTMR911XVX6LMKLBPQJTW94I92EIA6UD9AOHMX59P8NJ46G2EL7MYG43R6Z0VL = 36#2ZMYRF00XASAKTPHH3IHIAHK3TC5N04FS1WKDFJZ0TFZKELZX55U5JJ8EQ7EX2X2WF7V4QY2YHHHWDMEGMLKUACW7EKE0O8W6HY9R8CIOJ3BXVN4YCOSMUJ3HITU6XIAJ0WXARV63AI5AFRIPYZWZAQJ7NLVFTTIOIO3FR57OR9MG903521CJ5SKPA22UCMMX7JFCU63OPVTF6AUD6IX80KDG8QV4QOW2DNMFXBEN89R2CFJXYM4E7AX * 36#1PFB2ABT5XC376ZH9KJMV3O5MDXA86RKVNS1A12LQ019XLJ5WBHWKDU0PE581SUD09KDF19KMH1QEFY30K1W4XSH04PMTE770QH5WG9ZB2O1RO801FHUNQ03UL7XQ61VBGCAGK7MGY0WTBG7WFEB74Q7ZUX15DN3AHACTQ4DPKFVUHCOIEV3SY9MN1SDON79WGJVJB3GNNUVO4Y386OJ0ZVCZMXK2TODMJX4EW4NI0U77GQ1EGAID5M8EDXSR0CCAMENXV4LR2GS2LJY1WNXVJJMRCXDYQKDJSYVJLFB7BWBQ6ZGH3PQX1OTDW0S5HVL3WMLXBQ58CC7X3Q72R0E07PUY1OES4E83DJIS2X9VZJ4M9GD5YVXZ5DH6ZS4Y1FF1B18N3QQ1GYRDR0U2V7ZGVDB52GD5RXL6FMEBQI245QPC5PBC0U81MKR5TDWNIQ5YG7XTLKVAIEIEKJFWNFY3O3Q8QAJO6GI7TS5NK9ALMUPCFWQRIXUGKG7QUR8FLWN2LQXFHIARJPNL9RXECP3SCPLN9OGVEDPU7WGSUGTFC42NWVY0JV8MDY2G1JZ571YC7ATDACNPZHOH1WUIGFXNN6FOGYQHHSLFFUYN1IESLAKESSHIJVLUL0XJ7LZMD4D5BTNZSAFDR5W49O06U4KDDNC7Z7VX4YLSE1330YTRL9Z38YOT6AQ953AINTE4V7SU5O8PGX2094LJK0VCVTQBF9G9ZXA9RJTDPVV84A7PLNAP2AR4EY0BETUY5ZMTEP146Q4OU1QIKERQL0BV7OI4OSI2XJG01504Y7UPU8AUPXPOR6C3L5XNOQT2U0UMI4990MFYZ08FXENT6H18898Z643XPSX1LCFHY3T75FEYX60T6X93ZGSYTBVPP0IVP3R4UA3AFXYIGHB2GIZ9SKBEKDRKE35K46MI0A6UECZ3AYOMVKA748ISCMPJGRONDCDOC3RLLEJFB463K68HGX457QQ7YFD7Z1UCWK94188GZHYYUQJMJC1G92T4WQ24YSRKARVI2P2XJVE5DI6LKOJYFWD3AX453WRPAGZI2G3NH9O9ZWXTIXN10A6NZOARV8N8YWX7ZLNLWMFMJSQANT. +-36#53FEFJ6KMKQW09U68I0P4HDWBL10516UUJPC2ISU1LY0XCD4YENLE1P8UESPZ0T0W5OY2RPQTWLKNT7NXEKIJ4R0ISPCD55ISLQYPNCSN5MY3RSLQ92HMV2EOFF98BGZV6WR5K6C4T23HI9CE019HSI1JZKT82N0S4SPN7CA5G0YM9YHFAX9P122PUVXQW79K3X93RHN1F4M7BJX6RLQNWZ92U0NMIR27QUY5S0D4YT0W38MKGJZ4W9OJ2XANK29SH7HXEX42EVP5CWUAMJOTV97TSZNX1H510SH2VTW4M6NLNEFIZO87804H5MTW8ZWS1063K7GDXBZVUOZIXIQOOK5MUJD585ZJ0OIMGC1EVQORTUOIGHTW5NJRGQ9JXADY0GTGSMXN73E8W5P62YI5NR0QPQMF6M25HMFV96ZV11OUUB5W9D1JR0Z6SJE3CCO4A8EGOL1K5G2VVJKDZWHMNSWLEI4UXWCP3SCXQJOTS1PRF10SM2D52L11NCLEL5U0BFJ2EM75DETIPE9TWRO66JO67RWY6Y66Q7FR9UZMVPPZMEA6CQ94NG22216JD5CVVSY7L5ZHY1KUBGFUD33TRZ4L80B0Y89SUDV09FQSHH5AABFXS6JBUM8A5YGY0G3KP9KRTNAEL7Y6OGLQWD5CRE6V2T0P9V33TWCYIOAGPCI2THB8NHR6WZOCBDZVTTAXK8CW1OYFESC235A0JMNA5CVSTPFF5UM5DU418XCD3A59RU2VJYHDZONSFQOL380W396NQQ5YXLC2LYZQ1PEHP8IMLC1F26E1OE8BZA8W9S3N5FME3IL16AC76EOH3UGT4XI0SFPPZRR8BXCWIL8KZ5R4Z9IKCH7B7BIS9XR1HWTESGMR95KJP65JJRE3Q59EACW6O3RYW0AFEA6XITCK6KYLC1MR2XTXIVE9I91SSQA8KGWJX2XTLRKYDQKLSD1CL1C7T2EOPEE2CGDDF9C7G9JRS2RB0I91HUD2SEC7S1JXDKJSZO51SGDXDVABS1165ABNVDYNKCK6WL8FZH4WANI9JV8RC8Q3SNA8HU7KFZ5AVULO3WN0RS53YOU8UO1SWQ2HDJIAJP4UI19QVCPJ99UUU0XIODY8PDV5IAMM2WFULDTMYN58SSWRBUMHUPZ8DH97N9 = 36#1NAHU1WUIAJ8JKMSDAM0ZTZWEBNWJEVH5SC5O1MCKXULM1500A7BE9PQTZ9UJWOZ873KJPVD2FT19647OBQEMABRBCLOPVS645XG7ZHU69USEETD9YXZ8WM7IQC3L53EHIFIQZRT4C6NYCKVF030ILAOX7YA7XW0QM0I4T5Z7OSPYYAS4RZZB2VJVK1E159BSV3QJSKHNWGLQG672H1Z6FOJWQV4COBEK0G9U8YY2WZZADNB3WBZFRNPW75TSUPBOV54R902IL5EX1C9TR5FU1RRYRSTUCLTJHV66FFXP5VZQJNZHE9OV4R6BO108HWCS2KVYMK0M5HSXDUPFFUTD4ID102I47RM8N9N2B3ILDO85FXTR8HKB02K3XKI1Z48E0QGFEWN6G3DEGHUDQ7HA1VADAQ8AWFYICYOFT5X9E160XP7JU95VOATPD13HIK502GQ4AH2PVNX74JQW7DIQK596NTNJU53ZP0E7UE3RK79AKLPJXXP88Q2A61FB51IM3NV0JY7UIIYQ8A6DSMTYCBTN1KZZNFUI7UF7S5N54MAE3HU94O6CQK5U5F3P7QHHZWBQBZEBPUJTPD24TR9UNXZKXJZO2IMAO7Z9VPEY3KOQPQWHSMLS595G34HXM3L2W4BCI22W3F9OYWW97D7OM5H5VXNGLIP5AKE04D5K87K5BFYEOIJK5JBO9V2RX0F9PRIM7EVHOBI5POUASK0V8N5E0T1YSQXG845VCZLZ6MFS8I3KPV6MZG2L4MGHG3UP4WZRLRI0AGI2KRH9PUWMHZX2NR8TR2XFF2GCCJLU92Y4I4922YUVNCMSBRWP1HJLUFPIN9NCXNK2YKTH3QXQVD1TC6IH3OBGSJ82D8DU0SNCA3OHPTN78JGL2NLJMY1O7BW6VSRQED3S42J41WDMAVDD47WUUBRRV9S0ULTVRNOO99UH9U8Z1LG8EXQOK7AI3XS82A8TSQ7O3XXFFYIWYE6YJGU1YFUL7KC4EERDHLLSKRHZ5Z1H778WQ1FRIETYQRS8Z5LCYUAUPKX4WKRKH2PPSS0GS9FF7VRTE0AAHZZCX0P4N8O5KQ7N1VBP1VOG3MQNNM9BN00B2X5SBXQ2E7IVR6NY4WCSGDDPMT8K52IGQNS3H9FNKRFPYEP9HFAZ7MHXTN341WF1YXYYG13YZMEPR2F8XSVGAYNFEHQO9O5E1BBMB0WBKFSCO1XK5ZAV3W5923RXN72VNYQBDJG35296676QY3S3730CLJQVYLM03K96H0970V4UZZPGNB2YA7YYKZ3URWJE3GOXS85BPPAN9O7JWQBB075F78QO7IU5V79Z4OVYDF2QJMG60A44XEBBADLBL8HJ6T8OT18WF3FOJA16AIPNFFGLNBK2B2D5TWHLECH9WDFRK5J02R2YDUDRNJLWY8QT9ALB97EP1AL4YK5ZBUVQ33A0B62GPJU9Q6ZCUD3MD5W0PQUB0NI1DU12IZ7YY76ATLRMOQBG6EMSJA085DHQ8TUXVPWB4WPRVK0G9ZXSKXJO836CUL07LXJKWXHHGYX7VOPEYOR519TUIQS09Q0UNVW8Y2SRC5JS8W8GWFEG8GB70RO4HUCJ3QGHNYPAE7S5C2FY1OHVK2H4NGP6YX9O9HSLS8U4L3KJW83DYOY7WSP6NANQK6DBZ6Q8P1MF827YA0IDMSASCIL3MR7Q3QJQIDV4GW121358BQ00 div -36#BMX65N82WBZOOSAB3NTS4UC3D9KHIOVWX02U597SOCHNFD4DELY8C25V2IYEJSV4C4VSXYMUF24C08MWG8U6FWPFKMC11TPXXEEH7QCTW208BY4FJCOE4I4Y333AKZ39RNY73GAU7JHANJYTT40WZ7DVE98JPVPZK6WTP23POKCWLJ2B1ZOSAHXGPLMIMIHV905XOEX9K5ZLA1F2SV6O7AG0H0K5PEK0IT9ZJNXWHWSVARU1X5ALW1E2DLPH1W9EYD9LH0OO84KAZWMZVLVCTZVHKA88GGEP3YARRM8FUS6FIM91QXY8MDBHIHXQZA24N0DIEKY1U1IHIT8CJ3OAOBDHKSDMH8FY0IY5I5QXN0X6L0E1GU22U6I3LN3IBIQ367GUO6S0KWNTULR0D0VF9HU30BFYKNQWR3MBA9TC97C0X1N94FXXO52D48TQN5J900AP4K970742CJSB1Q8CFC0LGUB43DI8BEVH7DA7CDKV6E65K1HHO8LUREI45MKX6C0L8B9BOM72E5N22C27FVLIWBY253EHB6XI2XQXUO. +-36#3IR56A8OTJUQ72XMHSAOE8OLDGRMI295S5WR6DAPZG77KOCPBWWNW9YHJ3UQD48ATLA8GNEA77QXIXC8X8PD7VB2FABTNDQAG9FYJPYOZ4Z13XJBNQ0H0D0D4OOIFC3NAS1REE7HB3EN3KF9BV7CSVO33S59REEHDTEJN10Z8PPAF6KEM6A0XAC6JVBSN2KA6LCBLBNR52ESTH377JVNCABCHRCAZ0XG2SYZ5JCBUU8US3M63062ZUII31V4P7PEDTYXU4ZWPGZX46LEY6UWI8F7UJ11H9L26MFTMDGOOUGG0QF74PWZ8T4PSJNXJHT9T5CPZ3WV1T096UKOEU064O3TWNJ9NYL28EWB2CHNE4D45UIGN1KYA9NW8I7QYX5J5TUJOHELLFASD436KSS5PTFKUPSMMUMRXGDVKATTG8S1BSQPYI5IU3JQX2I2G6PCJ2ZYSE45XS8DQMSNBC89BWAG4UH0HHXCVIURGSSNJ6QPGN59CJR7ELQXVKQX8QDS03KX8XQJP8J4YLIYKQ8YYCI2QPNGVHAJ0VGN1AO53HUAHQJEOXMRJFO3BY3OKCSMSUUBHBHYLP2KPQAYMNEW42FM1U6GWGSHAL9ZOLHD1Y67L3SC = 36#7SVITUA2CDYJRS0OA6WB064SUSFKNIQ24J0MJN2UC2KARKI2UOPA3J4NH9ZQFGIT4G4RH0L6KB9XCSLNP96DS90PV0ZNSSSHDJ11XSB2L07LD61B8BZ3LKOW6NUJDY1UNGMOL3RW7J0CZSG435VRQ01FCPUV9FD80TDUPK2SZ9VFBHWM2EBF9LBTHGY5F65OCE73GCBX1B8CVDUYDEKWY9INTSILUO18Z6HUTJ7VQS5OWG2MRPTJHJWBJS2XPOM70P0V4421WHGQNYKVOR0PQ1YKTQVZIWRFJBSHRPQWRMCHAYCN86KLJSXYLMKG494OZ6D2WWOKZHKMNE5J2S8VNB9RBIBO2EJF2T9F43HBWEVKCB2YVWKFL7M6TTXURS7HBPJMMX1ELZBMUU2WYAMV81ZQPHVTTV52ESY4NOJFIL55AKAJEK5K5HLP9WO93YQK9TRYWIRC3BQSBY1KAXVY5E4FTASQ0YVJVSGDU72XAIRM2W3FAP0VX8R4I6NIQ4GHPOYVRZRSXQ6NHVBU6505AF5MVBXRIJXWLTSZYMV9D7FGEIL67AMMOHFECZJH7DJTRKC82A0Y7SROFWX5M2AOGB31EEKM3ITIAQTG6IU159D9GIGYBRQ4MM8RS1VMH8E1C43PVO1V12Z68PV5XTVRNMKSWSJA3BUQV62F3M4WP99DSAPWP5F8E24BFO5PCG890QQRK6XOMED3I8982SVA85Z27PRTFI5GMZWW8TZN4GPA27PZC6EIUH55Y7827010YWZR20SRC3Z02MCX5GM58936072A5RGCZ1NH70WVLYWK3CFY9AGNXH5ZCQXGMHX4YUPNJ79HZ0MQDB2IXUUVSBW68HD4HC4LEI10QT0V5C3R55BB07XSLQ5TP21VWPBZY9QQBZULPYCDFZ8TPJ9VESQTAEKULCNXSXTLQQ61ZHH8NKK6QR0YELLWVW2ZWK0590WYH9XH32J1JN9JLW4XJ23Q11ECB2P0WUW2H3ZOA5NMIZ0MUK9Q3HM990WNIWKZRXQN0R8FS6I80S6DMIIXB0TMNQ9Q1CW1TNLNJ5E61HJKB7L4UP82AHEJ7ECI9NRWUL82L9GQU43JKTJTMP3JIFO div -36#27RTKJ9O643T7J2BSR948ADDCXW804EBC6HJ29QT0WSI2MEBA595087C1TTMKJJT5V15MB8YD3WGX8SZNA7E2FDCAVNOJPG5TNHZ8SIN5LUYA3P10CQZCGUQQ7LN0QSYVGCDBD7XAFX0RIB0746QNACKG0VIFUYEUU2DVQRBLWVB5VM3LAEQQQNPMC7ZRST50JBDCOCTCZWXMP0LLGUR5N0MHPOSVHOSBGB9AUP0SA7Y4MWKUKUL264BN5ZJ47YOZBN5F1SUGZF7321CH9BI0Q4L0H9D0PRBAQCYM2X0Z1RHKPE1NEYELC9WS1R5HGDIUJ4KUTPOI867LPRCY05HA58XJBSSI7Y8QDOSYBX3IQVK2JW7PUTVW66W1652TGOHQ3QJSFNHAXK8N9Y4SR0J44HJ4NDNOD5VKEPQ9EKVWF857LX43AN5GN8NUE8LC8KDBNJO44DW7BXGI8CM7HKIJ6AX693LB7RU13NWD4YN. +-36#1OJAQFQX9MJBCRWYE3RERQL1WD262XDE405BFLCQ3JBOZUODY8RBTWFWK7QNIJYOXJFB8GFVPWCOK0P6FG72TAF1P4A7QUI48UKENDARGV97YBKAFYH9NUGKF24Q1JVYUSAH2C2XW9UP98CPC1W4S7XMUECXQGSGC5U5GXDGY6VIH5P198FZWCOT9TA5NWOPGHGHKV3MFRETEXOK7L2RH13OF5CJW7V3CQ2N6RTXQ4RSDPRD82QLVAAGCKP22Q833E9BT56MV324PFZ4MUBWGOIOJ8LNYKMWL942DK7BC7EYY7ZVI1I11RI7HNTOMT4AAINQYVB4JS0OADPLPYBTR0RYF8YCS0NNQKZFWG12QVUG5QCRH5RAH3WZ0DGVHV9HX85BJR2S5IN2CF8XVSWWMQNNZJZ7U12WD23JIP9WUJ9CO42U2055W6T08429B3SRY3TUTF8AB3WFHQYHRCDNJC46ZSWXNKWLV1LGR5J7Z36O7R1JRHMRINZC7ROM66J6YFBM3H6GKPWWLJB93XQSQ61KIA7AYIENROMA9616UMDVU0ZH35SUWTWASJRPTD81CO87B0CA2T7YX6F3JMRHJISU70P6KDKSUS0VHZ3W0LI15B6HWE3O2SQ7E1D3C39A41GAZ1QK5355XS4RCMAGEW6269JZZKDWRY25GYBHDTCPGLG9XXSJFZAGNOKJZ5HUWTTW63DLUD083MKGCPQO8DWELY947TSF1GG8QMR220EPJEIKDE = 36#AUZOOYMYSYKMRARXPCYDJYLKO9JZXEV5ZSIIKLKDFRHHL9HIJ818ADTV2YCN8SYY9SG6LBUQQ7FMD7FM6665MYM0K0FS3HQFJL3JFHBNV1UK175RPOVRK7OL6RNJ6SPHKDFO4ALIZZBJS6ASEG5MYD06WA1VLPD5SFROEQ9AC0LQE6N8C9M4DB9EQGV9UGR62DYCMVIKPC1TB1XI95ZKU5ECUBFYPFTTGV7P79YVJPFO9JUIALUB1DHBMXMMQDQ82LP0OSC5FV5CL08QY6JQ2OY0PY84PXR66Q4TGCW9Z7IIHAD7V4SBNM2KCSA6KWWBYOD2YKHBBM7AED4668RQVMZBW4ZWDVDDZ8R01HU4P7SLQA8HG4VSYLAFMG7P1UEYJCB1AK5SWJCC77EY3M5JSJNYUL9XUBN88IER1PO40I9ILHOPSWM8S1XDMPC6EUEOJIEP5JNF1RD5MOVM3CF10796G75ARMAQEXRAPKPPEX3QZ1HPR2S1KBC8U4L8557952HLU938K2N7HDAPO1GHKNRBAMIDIBOIUXFP1G5LRDIKU63IU4HSMLQ50CR01GPQGBNWVH1MV5C0DKZJCF5QIKOKNWROZIJM3UY37Z1U68T3ZXPJW38I3XRTERCVN0AUA96407BP8Z3SCXMTVSMMTS8P9F648KH457918NL8LDR0FV1E67PCHKY8MO38ICV3UGLDARWHHI2GSJJSV4BZ5QCVH0UEAMI4N22AZ7XWHHIY2RMZ9ZHF7D75TIJHL04CX98BVKZQ88OH8R7M6HXHER1ZNG4I1P2KAOUH1EO4H15E700LC9P1H206KUX14O3GY2P3D4OTMHMC935DM19W89IRFDXK74A6KEJ6X5W664SBS59E52P5VOWZV8HVE3U008UVS225KDSBS3JT40Q1M5UJMC31FIWLIVP6LW4BKQ51H6M14L2AGVBUC3D26S7Z5PZT550V5HEET5JM89NOKKOJJAK3J24BZZT97G5ITOT9RO2FJVEHKOWHXP3NETQFOH2QC9D8TVBRU8YMQGPK3T2DPKW4DZO9BWGSTSTVWRR79CHWX98C4EWLQ9U6VM1IEUPNQ4RCSTU6BBYMUI311YS7SBO1Q87XZHJIZHIT5ITXHDEXL7PZAIWWN2NVS63JW3U7VM div -36#6GIMIOT95V9IWP701SZQFZZZTXZU18G9FOLM7D8OTEMFCX5AXZDNK0XYFI0B21YCFHG2C2UZ0OAE2D2RCXKLYWMKIQG5JT8OR08BCXJ1M785LZK3HREY0U2GRGQ8DOFK2BM3T4NQNNLPF2U7HUSTA7RPN98ZYOHX10H8T02HUYID34KPET7Y8RCZIA70NER5RKL8BWNXU07LL8F3AZ1KHZXQFW319CZ8FM2SETTMX0FQEBL1FXUKCELY7DUN8EYH6EY8SM9BEDVU4VSXMIPQKQFB6CWG03KAE7YM6W0HN83A8OT1RG7HEZKF95UQ0NTY6GTAGES65YLR54JDLTDTQTB6NITZOF7KQYNPN5BXGOS692K94KBQXWVOM6YKK8CTOWOFUJDU06GO1AC51X84H. +36#OTVJ182DSAEW39JYMYNM8I2246FDO5E5DHO92ZOFKKAWCA7KC = 36#1UL19EW8AD7URYJLDOHRS3YGXNFZM60KZHOP2AQ0UGPN3NPEJB57EIH3RZZQ0LXK062CY8KJPCQJ8TW82EYAPVPH3ITFH7ZPEH0 div 36#2OJDNJ0F4KUZ5U0Q8AVYBM07PQU3G098RD3PDOMWEMD97I3CRF. +36#7692UPXKYD3RYW8A02MXPY10SP70TSEU7RAAE2MG4BUX8ZCVUY4LWDOF5UUJFDP9ZNSMP3QFVW6U6PYBFYBL08BRHLTQ9AB2UQUQXTT4XW5JZC3IU3NUNJV9A8VTBU6RCSQ1PZX6GD48W292GJVVFOXB50J2VJRE30Q5RSD2SSYT9VSV24X3IVPQXW260HN9KXB20UZ734LL1VXTNUXL7NETRQ7RV1MDLPXKPVJW9YBYPIBYBHJ5Q7TY3BNNMUOC02N2L5TT79G3FF93C5G53BQYWJI27V3U25LTLLZU1GL7DSC1CONC02FC1IAW7EU6EAW48GJ5VSEW94A10ZZYDQFG8QJQ57QLC1KSGGQX9NOA1CKGO7C0KSM5BPFX9IHL5TUJ64Z3PREHYEIBV0IOWMJTSK1HPR0SUTX0PJ066UDAZJUYZRPHBVKNEEXW7J8AOC2MLB4YEKYBZ8H82KCG59OJ0SKEO0VCFB184OVQUGA31AIUO8 = -36#15DNC4850WQEYOCJL2VUU62ZOVMKHF56C89OD8FJ41TRF1EN6E * (-36#68OHVLKAZPNO2XU8RZGUD8F686P40F72TYDBJ1AAE4UYF5NHEIX44EGXINHRF28BDFN5D8ZWKIR7CS3SQXAAIAKCR7AWF3LZ4N11E4FYO9XPCDL31G1OGS15VJECNBEDTXWOULAJWVWN768R4CQ0VQAYQHJRUUPVFMM0YSQ83RVBFIPPRDSJ8MEJIPQ0OLXXIO9DMQG826J4QWHPXWQGGY31YE4CPTRDMT6NMWSBDJX5GS7B4B9P6MM8QPALYM0R85YU9IE3W7O5NBYVW90FI9HA846IQU6FPW6DBK2CZ5M2UQBP2ARFW4V74V205BR3WG4LU2UMHI3B4A3SVGJ0AA3VYV81791HHSGN8J2LB29K678CR7UEP5ME43VTC69HQTVRZKXWMU6Y9NH5H5I8Y51J65VVTY688HBCGBM1EE626AK1HAQ9TLX7S8UZ3JSFG). +-36#1CXR3XAXVUDUKKVBSV4HQYDTML2I6R2QU6AVYWDH6TUDY6YK11 = -36#26VF6JX8EHOD6HR81WRMZJDV1QEF076MP7UMG250Z1JGZLUK2TZIKHMBOKC8PD03311EEETOS0G6BSRBHJ29Y13S8RVJX9KGDNY div 36#1M0RL9QS8MXRVV6RXDI9K7MXG77KIYM125N2N5E1Y5DPLU5RPY. +-36#FSG1GKFN065LVBJAU2JTZOPC93OWTDAJZOWFHPCEPEWNBTJC41I3W9HSRNSY2KJHOG9FHHL8QZTGUPXMYOGTBVMKPKEONPEFW2LMF1BCLFF4GXY7NXST1DM11BGEFIFG3ZFTWAPCADB9F4CJITC54JZGSIVSMD80HM4DXZ46JXI9C1XK7UB1R7GH0SKZ4QLGRLSBVCEFEHAWJAW8TDN743UI7FZY99TOZJH7YP25R35KXQLF5KXOJE0WGFQC5OX5W26MSGWKTDH9QM8DQ4B562U65RDPK3BLR7C2L6O9U0 = -36#DHF48L8Q1QS4GA7Q0F1KD28HF3CUD23X93B0Y1UXFUWCK434P6KW5H8L76MH3PY39WNPRDF29DW06OCHMIQNPHJWEKXLN0KWWM4QCJN2D8QHZJKW7Z8KBD5PV558M5MRSZ8KYWITF2G0S5GJJCH6ZM35QLVE9JPCKOBTBXX46NTYPF256FOGRLECAUDYXZML5T9NFFCO8X57C8XKM6YU8EIOFEYP9NU5KTVGL44HGUMBCQDADR8SXROJI * 36#165NZGZJCK7H0TUGQVODEYV1GOMYD1LCF1C0KONF4OVH09SHZW. +-36#BMRRU26BUB8TSY9GKWVN1Y5LR0MWKMCR8D51UW23FDS1YCESF3EKU4TSCQIT3A3M5L3NAE0FLMAFLVNC2MGHSFYREJU7P76UAPLALDNVIAULVE3YG6UZGYZKE48RW42W8AESZ5LWLW67J7QIAAMPTKGD6GA2L5BDEZONYNDGQZYNWGV6J90P3TS4QLIOECWVVCC2Y21NZOV7099ZXA86L3ARMSZDV6KJB8Z4OPWIV13NQ5MR195S3P9HQSKEZF10I5QRLI5I5IVYTSXMRYPMKQQ0WUJSU5DWCE5JV83UXPLY8Y9MT8ALPAP6LR8Q0AUGXJGDJ34CKEY = -36#CFBK33BCTVQ4I9X5UAV1CTE0IALE9Y8YY4JADAUPTGCFPK5TBUHLCO4L53ZP23GEZ4NSRZTO3V1AQ5L2UJ9NUFXCX60Y5F7ZOZ6TKHS516RRB48S6Y6GUZALIIE9LC7MTWIFKPM4V6LGQ3AP0OVKRZE81KWNE2PG009HZPVP6AIF4994DFQET8R079H09HVXF2KULHMX8MO5B1JI3EMMECAXUENL5PE44PSJDYVB7MJB2U51YDIADBRJQ0K4HDV4JR9MLL0S5IMOYDV949E1L0BXR0L8AXYX9YLIH6HFI884RYDC7W7SHMOUE5NV8EITZ1MBGZE7ZGK80KKQBY92QQ39AREKYJY16W3X4OG66YQE89KK0W5319W3CLNQX3YXAY8JPV82HNS42 div 36#12GCR54ALKGWP2ZRMFAV73CU02KYY1UAAV29E55GWHODOZ9RI3YILQYIUFZ3APLRPZH. +36#XLBQV2XE8PD50RVXNSHUNAGDEFMH93KARIYC772QSQLW2373SYRAU09TZGKY4ZRPTIFAV1A1BTCTNHPAU5ZV5X1DR7MDAPVA44SAJ9T362002959HVBBJ4CYZ5G7COG9K5QT42REJM52D00CC8SK1IYUI2WFS3HJR7M3KTQ4J52D7KU0N996D3MEK4T2MBCHZFIJXM5NDAO9QIGGH5SAGH5M4QLLRXUZDKPUU4IL2 = 36#2WUCQ3KWTNQ587IR0R34VQ6KTX4AER6TYV0NDOWG0H6LUY4T2U3VAESWDJU0T86X2ASWQOQFV9C6E2DART3IU3AGJ8WW08RWMVSQE8E8KL7LOJM3ISVYQE0NW7LIKRVVV7Z6RCZK6LB1AZ3CDVMNP7UI6369VZJWWE9JC05KG348WBLAKTTPU2GQNMVQES4LDYWTV6KTCT04IVH64YJC27M8546W27DC6UGTZTEN6NQYXY9KTVXGJAJQWXNGCA6Q1N1Y4DSXGSAV1UV7EP81MULKI8DWOCG1JOHHBG0YXGXOY0L3WADZI2TQB6XTD3UW82RK5T6X3O1BHROLVXJTBSLL3ZVW0L2LYXX1GLDOULPXHQBIHA7RDIV0Q3YSY7ZKDHCTZUGVVWOZEVE5NBR6QR9IIXLP5AL54DBLS3BH8Y9V49JYDH7UCZ20ROVYGK41O7FYF54MYR9JBYM5QV6DJ02IU23NWYL2M5J5R347IC4KHK68LAJ3P06JVHVITMAZ0Q1ZJV7ODGUDFRQ6J53IFLWKMMDGH298VOV58JPW5WV9AGUBZNKBYADPNRMEZJX8I7O290LB75PXX6L4RJYLPB8G2VTZDII4CABK4TFHB4KBLIR5Y52HI2JWNFKJXC6L9HAGI7WNMH265K1HSP3JBC4T6B32O4OR1CTSNL84AI3FUL1GCRHX4AF540VWGOXDKO7K5EMKJZGMPTUXIAX7503PU7YWVG7G572BO6YW3508SU2EH1KOW316YLTWYWBW4IQYM53CJ2R8CAKHV78S2KSW8A4HLNRMCBI2TUP71NYGG97GWW4HMNULS10KWN4ES1I720M5F6U51UOSMX8VNXOK9ANSQ1MB0GJRKK0A563ZGEABC6N3LWXUHCP6RAR7XTWKPAN4ONIOTXB1KN7WDQRYAE7DRSVG9QH17B3YZ3Y96ZL90R5ZLXAI5X2BW4A9AZ1NBVAYZ03N04CY46SM3T5H52758763IPHIP8OP3UR64LCL88002WCUDZP3LB9WPGF96RGBI4IXH9DU612YGCFH7U2EEZ38DTE5DDT17R4OR24X4VWN8KSQ5QW0ENFEDTMJZQPUO4QHITPMVW5UYTSOSI9SB9CKAIKRDKRX4D7C84KAXM0U6VNL0HVP0MIVYE1D3A2P3B2F6UOPJVR8AJT2IXS9BP3N3G3GCH6Z63NDZ2577GXFXSESLWF4O7RTLLFXW0J231A0DN855H2EV2PMMJB7SRQXBI3C3UTEEVE3NWNAVAF9T211IGNFZYSLC4V772E9KJCN45G218ZWW09GLB94Z09J8JH79A6RKOPO89XL9VO5VKAJAKSPHOKZ953E5KJ65L9FEJMPVL9LT4MADKXTA2BEF4GUKT728CJQDRN9YH49MA56FHUJUJO0ITL9Y6Y8MYO0DJMKHP3XYQ6JZS8X3K56QP75I2YFDTL9DX0SXU2 div 36#34CV5MCHBRKDE03RSQWC9WYHKHNZ165HC37B0SNYZU0DRCYAWSWJWZ3Y5395BAMCV34J6G0I3D54B97SHSZA886KCKIQ4UPTEZTS61M9JMA476ZP58UDH9U2L3I37SSCGQ3ELLS069YG3U0JHA0PDHX33R6ZFZS6LQKAAAJ4OPE6A1WVH1OKKLCZA6YFVGNT1LWDBGKSCAJT60AXMT1YA1K23HHSZL4J211S9EGIVRYYGSFCGOTAUY4M2AK84F0HQU5P3878OQOMFSXFT4KKX4FZ5C4B1ZKIVU6N3EZS4PFN9NL8YJ78ALCAS49M9YAPK7UIU8DYWK03NYQ1HXVSHDLQZD4RQ83BYLICMMG37FI0CW1QHZ83SM210M77XS4QFQKH7Y1XPQ3BDBUIJNGNFIKKA3WEQB03V9LOXJ90N0MGJAS7KBDJX0JA0YYZ63IKXHWJW705G16LUOCNDSF90RAB2JH6VIK9BLH4CU832GRQG2YM0SA6KTXFCPXM28L9PRWGAVFMKZROFZLK0S1WTUVGFPWIJXW6BPO0DES2JU40ZDT9O0AP0MWJPIWL7LDDG2W0PCT4E0EP6I3VEPG5T4F8N4YDM5KK3F2G6GQT1H2JFQC50ZXIUW8V0MRYTYW0T6NM3MJ4GXJEM7A8VBPJJ1NQU1SGRF2A172CFGYGK1TVLVMCDTGTVU2JURRAVZRV9R6QJBFZH3JEI9YBVKXIUP7N5U2G901ZSGGDPKOU74CA9Y33PSJH0A6TQ3Y9TDOLESZZCFD7C1L003HYGB3W2E7HKAPOXBAOBT6VY813YJK8K2GQ4BHP3OOK7RRLJ0T0DHRATV9CRL7VB1IK59DERFYXPGPBVNJP8ZBX2OGVZWJACW7YLNY8EXQUTRR4T4ZILTG9TTUE8F3DYIFU65O8KTG78UDXN79WPB4ADJN2S3UVBU7N0IO2ZWU5I47H3JOVF1AXPRACTQA24MEUSSHGEWZQ57R9K4AC1MPWPW6EVD6XMUBQ4UQSH2PAWHIU490UOBZJ63SWAXHZ3CAZJOBAZCHQZEN1XES4920OF4B0CNUQQBIMO6X1OOU86DK323P2O1RY92KKR4BJCZUQWR8Q2UZZ96YRU9OWKINKIG8IVPEU0S9R8151KCMM5XZ97EP8RQVBSIZRFBN2T16J2S5UR7V3M7QL7EVOZ3LS7XD3MOB1YGGPBUPX2ZSKVUS2QJ1ABOE6WJYIVJ. +-36#1G392SPYWC8LQHMSJAWHLHEF7SPBVOOCLRCCPB9Y0NFITVGUWCKL765K3JE1BFPZ9N8IOOG0OHV7GMJS4QK4MTA9MTMH2EFG1ACWZTCCOSWGKPTCKDGGGK495VT7G3HOPZPY14WLAXMRNFQ5Z18HXX3LZ7F455SUXFHWQHY4G544AZL10RUVZMUJWZTZM1ZEOMZ238L8U2B5UWNDWTK9SJXO3G7AXYEFTAI1AODU1YGBFBTT1RWMFFB7Q7JL66A3O2RDDLASZ9OB4L00I5SW539XJ3R45DGTFVNKUPOCKQLONGRQJR5NH68ZE0VBGXB9IDK4VRE767Q6TLCCEV4MZZ0VGKYASBYSZ3B3XOG9MNXWZXRYKUIH3UK6TGZO8ATPR0OPWWXC6LG71E62OEQH504MD50VRKX2C506WC8VVDWUURJV05AEKX4A3T8L7QLN2D1PN9OKFSME = 36#KW9CPTE20RGPS06NJ2VGF08P37JY82UGIQG19GF8IT7WZ3RA68K80K4ZOGY86VAG2M2EG4FPLECE4K85WRTY4HRPWR9SP8K2PXF4NWKY79MI81YDX0T532O6NFWQ1L8POC73UVXSQHA45VC9PHM6D1DMVC6PNRPOJAVS6PTULFHL2ICF68KO6VGTWXY1DG2BZUL2F0ZSVVSLWFU21GUBVOBVA4F7QZRDJZ8TYHQCA361A1AQ3HYUB2ZQ9TBZAZEC7XI8TNJLBC2RT6BPIGVLKYQXVHBEKMQEBYMHXMMWHRI0P7L7NIZCGNHODY6HE9YT6GTWMXSREABICPRUYCCLN962DZYZC230CJ0MEEAU3DREPEDFJWVHSMX08H3YLWR4HEHDIQ0CWHOGI4RCKGLJ4OX49A9V76MLV5Z70U0QRUUHYZSB37M47QT256C9QOSTWU7EUQ2L768TALORA7YZ6PT015N9LT7DOINUSCC2FESZ5W3N88HDRNQSPXQU2ZLJI31M1IJ5L6MJLKI9SB0Z9EPHP69CFMVGFR4OJAJXJ5MMGAOX21A76FIXVUOZN5BDEN6N68159S2HZBDBQCN35YXXM5KVGVD9B4O05DHCHXTP6AZ4ATFDH9Y34XPU03HLZ74MCH8M9905UWZEF4M9C17V1145Q04QREE7IGXQEVOMVLG20331NMH4DFK9IUZTWQV5YQ424UOTW8U0F7X7CP3SJTCCR3K993N13160SXU5N2XIYOCBKNDI4N1UU2T3EL4HXXQ0BX39A7MYZHPRULZSCVRH4YZ61ZP95GZZAYBNDHO177NQ0R9M8TC0IFU6LGPY4WWR4AUAQLPY89PM div -36#EFW446JJETUK26QAEA9TM6RM8UM1FGRYNRN02XVDK7ZMYTZDP7SS6EDSJR1QHNSSQCH5RT43N9TMQH7A3MKYTMMMVML5MYABDPQCZ99F90KYMGK6HK2RWYVTL2PWGX41DD1193XZ1585UZJ1L9TIKKD44KPEN1LP8MVRB56745FPCBSP38U7E55QEEFZSAWKWHCD1GUZGZI2ISHAENGTP2U920OXSKW8JSPHZNA5WEJL9DMU96M7QNFZUKWZQV027LTYWJFCOKMWCFFMHOKO4N9U1D9QHJ1O03LF5EVSLTUQOT0C4J7PFCTV3A3U7DL14IJLLL1LMZFOZJC0U3GG0EVQIC7N5RS0S8CANM5BRH17W0XHHA6K1JFEHS9MG8DCK5S1VL65Z. +-36#JOGXG852NJSG3PRY52Y43R7SR50R1P474G2ZX8MNYLER19NOK19HZB5QLC2R8J35HV0Q2YZVJ3U51NDOM6NVABOKR4WFOY7AH5LD5LS2NPPHCEFZDT3A14K70DMVZB3BV7GOLW22GRGWF0N4FO6CM9UDFJES3XT63ULAX3DW7HCCH1IUVW1WG5U3C8G11YU0XVQHZLJ6A2YKJ9X20LGUIHFR7YI0MLGQEJ53LHCVRNWI7LIZICEFZPY7WNPTR46E0870YKU398H9FWK3UEWHRSF4DN6GH2S1HGCQ2ORQU4ARYAVO2LRI4O0RQ5GYU92V8L408EB36ITA5G7AUGCI4AH4FFENWA7HNJRYAUFNHQHNWXJT5F33FR5ODWPRML66Z7SYZCUBPXNKKEP5PY7QVZ0RC4Q037BTPCFMG46WL4BQVNW1ROTHS0HBY3JFULYNTUJT8EAY6NCTJVKX6H81AR8CLGCF7LABNQIWNE4MB5VPWN8NZJBJ88K6NLK70MD2TZBFQE13OO8EHL6NB3FSTYA0Q3KJTNW6DGYZDQ4ZH14JHTHGPGX9EX2O8OWVKGR3NEW8GMDSCTFJAGUBFPFPVZDDF7E7WHCJWHSK5ZPRCR8JNDZ9YK6T6BI9HAZNOMRZ5FHCVKT89V3VJTVHMVDJR2WLZF4MDU9U9YP4GVAYBS9QJPN9QNKH7V9NIC7J3G7N6B9DWA5VYXTAJ9I45N0Z3IKWO1BAAQGKK2E797MMTOM5ZUSTM6GYC5LIH1WL6IZD1G4B8PT27E = -36#79B1JVPKKE8HBXS4JGVKMO52TDNT3DB4EB4Y6UGDLVXBMIL7WBKCDURI13Y6I8BRGT8659TOFWO077DHFTD03VWZJCGQZL1Y6OTU0Q6JLERLE65XERQOYQRCGN6X0K77EY1HNV72V21VYXUF2ELIRM1NHHBITIE60P92X4WJJRZTS809V6F6UFDITRA4Y9KIRQ5FHPE2T5FA9YKBBCNKJTUDY3AAS2SQU3H48E8AERNYDVZJBREAIE21SYMDW3V3NIJDH68AURRD0D0UKK9RIE1097N9R40XJ5C3ZQW7X6GBI6H2NJOJ18R04L34UU4VDBKROTP34G9WO5W660FG47G0THJ31LPKLC7ATMCL8OGNN7NWWJAK9DE92ZGYLH8CQKP06WGN6RYJFA808I3NGV080SRM55Q6OC80R4XCSXTR2WJ733NH2WN3I5MN93N3EW2JG8UGZXO2Y85OCZ0BFL7WRET8E6O9P8QZ5AAG8XF0YZ4T0UY4VV5U93E1SB1E060FPCAYKAJC4WNO7Y7YK4Y2FLA7KLWPWAMRZ365QH4A34E1WEBY3PW0K2C6DJJC6AYO2JHACL6A2XG67OQTUUCKG316Q3JQR8MK9S1P8HE7YVG3H9GHWO7SKTZ75JDSRR007681OQIPM8X82Z3M4BI9WZ6BO1RJST7GYWT3QO3XH2N9C124UE7EP7RMBSOWLQASL6MWPEKCFLSOV4UV39E0A * 36#2PLSHSM10A043W04B0PJ2T6MGEGZW8DP4P7NO228Y0W74FO0F5. +-36#9K5RG1WQT88BFW07EO8PGBVQDXVLDU1LDENE3JL5ENHTC95HEOUYU9AFLU1GTHGYPCUWQEDU5TGT4I9LVG7PJKBX55DM3MY0TA3WFKESLBC6WBDWLN74E099PMS19XY1GCCNCTKVYVOJG3AGJMI1W79XLO2E2XVRH34HJI1RE7WB5K0MLD1L5IP4LA3PHSL7G2MJGACL1D0FLFG46RCEL3CFF02EHDCK74O0ASADMAUV8JCLWAXU8CLFHWZZUXJEC7D5YLW1UIPL755TR9O8PND74ZQI0BTHP57JKXD6OXZIXSR5ZPFGH7WLK40XIAHRRHB73IGNRYDBWP6IJZQQ985FY71XC8XLR3Q9EVRL7G2HTK813X5V2MV5H5CGEYSD6G14B4ZEO2B9MT7W1C7NQYSSJHE5V5Y0A2OD9AHZQISHU70W5W87QW80Q5O8SBBAEJKPFUT7B9SIKH4GXM0Q427CDZVDTGF5CQF62JDKZ5G5FQB1TW15DLSJYK70IA067PDJ141CEGU0QYY9ZK949FG70P47XMDJ24KKP4PUXS9GUCFTY4FL0SSBYABUTQVL4KPJYXYXUN0YF8C2IK3DUDMU98SSCMPY90RDNSQJJSGTMMUG2PM2W8TU3BUOBPVKWP20AE7PXD1TK7VE86F1F3CNJ14XR5Z2WIB5GOR1FRIQA3XCACEM4PVYA2NLD31PRHAWI95A8SB73RFWYZ7K1J5RZGH54N5ZYUL78DA0VRW6RJZLLZMTXQFA90G140B2Y5VT3F61TKYEC3YUTETINWQ748LZR7VTZVNH69NPN7X9LDOVN1IIBG6IMXXG9N3XB773UKA6FTJOWPCMJEWH3VE22UPOUT8C3WVLLQ7L5A06W2XIO2V1E8L6J7FF7BGT48XZ2IEKG66QSWHPHPLAQCE5ERHSEXK27IPTWM90DST6BIMHR1M7WC1Z104L2LOO5G86TZRPUUV8H8O7KMVJ7RPPRNSKJ473YG4HJ3O9V8B4KUNI1AYJABCJA0O0YBYVPFFKLSAQGTDGHLMBSXLQA4NA0Q328O3SMBE6SS14H5IXZTHJEZGW1DDDZ1WYGANT8B2J499AH8Y5X8ZYZ3NPBVU7IDUDLTQTLT6J558KR8QZ232NJ4V2IGG04V4OP7ECWTML = 36#RW7FY5QTNHGULKSXJ3BM2X3LK1PJN4LIH0F1Q5XN0ISNENUSM2GKWXZ2MR9W53Z79V6K1MUM5KQUKFA8GXRNVJ2VYWTK9PH5UPQMP8GI99CT0N299XFJKJGS18WCDEG3I225WI1SC2JD1NXOJDHHS9HUWV5CPI4W5WZ72BMMHLH3J6S6VCIR23GH85TIROW9P334GG44NF3J0BUKOLFX3ZWPI3LE6ILK6MAT1LMF7GWT4QQAQF9QJC1DU6F25K420BIZWH86DQGI9SE6H99NILKHTD2R0V6SKZGREMLZ0DHJSZZBKE9TBFEF76DZAKARPLR3SHNDGRDAZVACMX29GXI11HWHVC9COZI1OK73WIAJ98KLSY2HGJ8V61QUAPBWYBBK08BVUTR0VYOKDA3T8VNUD6P5CLB2QZ7JR18KC9VN4V6K1NZNAKFWDC6ADSX0NVGDVX5OF4UHJC7LYAX7NQLL6JBLBW6AVRBUU1CEW47KUEUQ7N2RJ6PDOL5DCL3H2QRCPSU40SEAMECONLX8ICPNNDE1YKHVUOO3THELYVS4UB2P49ZNS7N44L1YI8C0DVQY3ET58T0YL77UWHP40MDBWMAIFFXPBIDH15IJ32Z07P2U9CWAWY0VQVHCKL72TMFV1LLZQL1Z1Y4895FGC4PG4CR5SVI7Q1ELPZATYZ7QGYFSGPQDUGR1BHAXRR18OFTGKVBYASOHQMLWS7ZKKG2D1VT3NI4S9BO1FC88PL799S0OY8FH7294N03LSAT6D6D35BH9WE08ZC3EQ71Y2K5IQ0TKTGXDAOKTI8T75FAOFOWJY9EMIZG40OSBRXWG39AYE6UF6YYG09GET4C7FPX7Z7TS96IPYH6B4GH6KAKCCHOVOTSF9RU1RHM2EW8AJEE7D89EQM9GEM4BBFO6T9B962JSVRJAYLXK6MUNNRFI9F5YJS7MYRSPLOIQKFCT5RSMO4GB7LEVSEKDJA3LBJB9U2FBL34SKNO2PKJGB4CG7XHBNNAM4TYK55Q8ER41ALYAX7AXIBUHDUDYXT66EWAGECRH5LM1ECW0KOISA0LBGW1ZQBWAQZW8DGN2XJCYYRF3BBXP5CQ31IRO2BYXF3OVMJR3VLPNRN68ZFIWCH56YHRGSYU005JF9V58HDBEBGMN50M1J671H4917FSMYAQNA7NOFBJDH3RHQ57JUSGU2TKUALMZR div -36#2X1J44VHUY3UHVTU4U6S4X4MOTDHYTFRWKD7HCZXVUXG3UJ81F. +-36#FBR11M33BOO0M7G4Y3DXBFDZOBJTJ8O1VA2L7XG3NYWZO53EY466SUXC4UYAIV11QPYTX16JQU3Y0141FIWWQPIAXAHTR7C71ZRJIZ28MK3R5FE8P76J4KLAVAIE58O2AKQQA0BNXZB87ZELRUY8XBUH9EBBQW2HZEY2OQFJVORKBRRYFSX80Q2JGPA1HIGDGYOFYCY8IHDRMB2AQIFKAYLIV3DF64989ISZD7BQWLGHQH2J6X0SMAFA09YFT1LKW4AKEVM9MXQC6H13HN7GJ5W2AQZCV2QUD90CBFHQXPT8DJ0TRTPZ2CFQW6ENOI0X7RW6WGFS25O9YB1AM7MZ36PCFP9GODLN1VF1QWCFVGMJJ8BADS7JCIYVAMG = -36#5FJQ86KTSM6A80TLW7M39YGQMWEZDCW9Q0AFWTG2FI4CQRCU5CXVC9L1XP50H2PTMDO2K0ZTL2PKOCMP8OYBDT9IEF5KPPFSBDSATUZLRL78U8VSWGVEH4KQBGLO945QM4OPUKE10IAOYF22VEUB17EC2F4V1H0K6BIXGUI1L0BHVR6090YFJLV0V3WURLYSZIC0U4KZ1294SMNRT8IJ44OL18YPDHXR1NC984UYWG4U0A3BI09G0BRE5SOUNHWWKAVFVYVZ0Z1KU86C7JCJFZKWH1MRD2PO0VWYR37NJ4D3JB0PQR9VZFMSLM1T5EXXEOB5SZXGM00G2QXQ1JBFHIEC7Y9GT5GTKUFKVPEPWLI31OAUO90I68JCBFLWWQFGLPA8L7YHLL9VV0NS9AIT7LAJ1KGXFAFCXG7IEFZ0O3B9FKEC9DUNEKD7L8A7AYTA0XF5V4ESR7TEDKOOR8O7FLD6EJ71TCX2UJCAUXSB8TCLQIVFMSXMOUT0I4LTCEC879NHE36EYWC575RDWB57WS04B3LHU45W18U4JGSEXFW70IIELKKVP8TEB1L3JBTLSDXDA7RZG6LS1M8N6HJ3F0TG21JAQL95UXUZO0F7AT3DT3X2HZO5FEAQCNBIGJL1OH3JCHTGJAARL3A02DECRJBARQY2GSA2TI787MLT5JII51TSP3VA9NS9UKAA5WUD698P64670ABMJAZ0EOTY6654X6B79A2SXVBLNMDI059NEK7ADVYMOHIF79F90V3S9FMRAGP2UQNBU3IF5G3AU4N5L4GN8MW171AAONT34B6RLACYBTL9A1JJOCTSPWJIZMT8G div 36#CRBITW71JSRF77NAEY7KSE1SKBVVN8L7VMSRLJW5I53WUNTWHEGS5J7RBTTAPXGBPN6A4VJC7U4EOVCEDM9GM1SMEQ2YFPJPXASNHK66JB34DKCJJ8MVTEJNSFQBENSTTVWXEJT7NW0CKGLLX5AY4X823TU7G5ST7LD2ZZWK0GYXP3XV9K4X4O7MBE8WPA75WCI9DF2H8P5KDLUV62AG634ZSROZ8WO1YOVL51GV1PPHU88TSFUZVZ289TN5OYHPSDVJCPQBTWIFRHN84MUS52LXLAB21RW3NKX6PJ0ZS6YW053A6WZL3XG120OJB0960NYRTIV49VPZR7Y6GCKE337E28BILBYDNI7JSTOUHXBKS03CS9N6VJUNBP5DVGKBX3E6ABFONVEMV22L7CZVQWE1HZIG7UQAOJVYX61DINO8ADD1OAM7GL5ZJ2VLQYLHBMDLBKEADS. +-36#2WKV3KDBLRDBW9LZYNYTIMM5FTEABD10JYM4TDV6SD5R1O7C8Z = -36#37XWUT5IA4ABGXY791KG5FLV3ABP1ZQ3GXC6VVORFFKNDF6KC4ODMD90X27ZJQOBC37Q7IAZCMFTSVA1EWW0J5VGOKI3662TU6Y8PVKWNJBXMUZXCWCTA7HZZ70Z567TL1T6TCNWTLQM42E7XLF9QR85LVXDZSMXXXS89QV3CT9AGFBLBC8GUFNLOXL7BI59FASLAACBNH4BOGKJVZHUDYACAHHVETWH36OJ9MDLOQNGD6PERYSVHVGLGXKXPXT8Y4R9BQ28E324KREEEEKRPJYJ1J9DBD6OKHON2H2X1UM5ZYA4VU51IF2XKGD4TDQRQ2EJ0PMXC3H3AUIKXVGA3E0S0W6OQ8GH79610TOZ17NTNV7R0P div 36#13WT4N9222N2STN6N7YPXTMQ71G2SQEP0WEJPFUFZV12Z4G88HJTRTIWJQU86JC4N5SRWGJK1CFJLELF3GKJFD525IN6ISXU58YJ5Y5N5BZ7MUPAT6GMOEXBD106HIR850GRL8876GYSFE7VYKJBBKOGG95CNADQWVHYY8K0IVD5Z56BZOJC89G4CX300676AICUB42335JG9775NN2M2ALC5XO5SQDFE4ECNVOMPMHFJ98036U1XCL61WYZI5CFXP6V4ESNZETZVHQFF555WVUE7VJZIHFK5T5ZH86K8Z96ADROCHNCE9NRIF4NM4HQB. +-36#R47IQ1JLUGTT3ZQSQ5YWR3G8XGZ8TQATXMVQYSATPVQDAKT45ZCU1TBJLRRNSOYD3SOC8DJQ2IP47V7ZFAFIU3OJG5KNNP4AGGBRNESMUUCOGEMYKD9KHH9WPZF43W7Q2EH8VYC7QJWH569J3A0FAUTFZ3230FRMKHJAIDR1U7WKVB2YL1K0QDKZGG4HH83MUFK4I5P74PUMT8QNCEHQ1P8P1THB1OC1I0M2F7L9W1PLKO0LKCQO1NBIBJBQJ2KBXBO0DDAH2I3UUJ5YBES8NLME229LZ5K3NLHL1LE472VQRRQUOZYMCZJ4URG9FTINA01U3MLCIXAGSOC99OVZET00IIASFAB7GYQXQ593VC6052NT3NTWM8NTSGP1LRLBNYDQZFWMZL6MG999C61U0I6B35SFD4OCMQRMHHZ522SJZ6RA0OA5LAD02SDHX054E4CJ00WUNEL2U9CFO7SEBR3CDR69HKIWA7DQ29QCWS40Q3MPX5ZKVYZW1IV3W255R063J8VH9LEI36W5V9AMDOKD6YGDWNZM11P2X6YBP0IN05J63XHJSMICX6FNRV1KVHR0EA8WYCVCG3TS0J5OB8FOTFOHAPKLA65LJQ29V9M1GM6LR52TZRJSM2ENMQBD43IJU7JTVMYYUXFB0BCIWBZPHRFQDN3RRM1FV8Y575RDPLC2TBNC2MV09OL61FS9ZCJ5W443LLHOCHOCT8UA18RTQ0LY5W503C7RRJILU1DJ5JJ0QPW6LR17Q2TBCI01BQOMW5JZZZ4D2V7B123OZKCRJTJR9H59EZB4R5VOGSFV95VWLRBWTHWEAMHXDE2OU7G0T83OLEX08UMXO49VRYAI12KLMA0VVX559NRDQ1UWYAVH47PBVUTCS6F9AFUWVSAYKJLUACXYZ06E5TWAHE9JYV9HZ7KBNYMUYIMS9L00QVR8NSP5W5GFXGVFWMPYTD6Y16Z9POUNVTOKIJ4K0KQONSVF6XITXMANIAJTZ3WTRDXOYH0PH7NQ9SD1BDUAVLZXRXBFU9L7TNRKMF = 36#AAHDNGO3DX7KD3MTN3QGES6DNTA1M7EEO5ZMK02FUFJK8QPEPLDMOY0U05IXZT3VZRL70EEQKQNPGG4NWEML2UKZ47GFO7AEZ89JA83XUX2ZTKLYTSZIB7ETBY8ZP4EV2BTD9M2M2BBO9D0R0B650NHOI2B3EFNYM7SNOI9BFV63PUMWTBGO3XH2CO2U63TGXY1EUDLVMXY18TG1RIIE3T9FXNNIFHRYD7KKTT0S68WWCAJJYXUWIW9ZBALXQG3NZBUA6X18JYN96Z41P822ORWF6I5OHNJ5RXXW9YPBHZNNPXMZEBUHPRU36FUKWQET8Z4J0G1E0Q8VUWYAQ7F498GJHFU7941H8TOAI4MVY9CM8JGDLAOJFYKPY6RMUA1EO4F4CQVY2UG3HIQ86AE1C3OVL81I30TXLM4D7WI9PHO82RU1DOGI8HRV5DTEQWB9G9NE7CRQ2CRKGOAW8LDGJ1QYOI89BF2X6PJGWFJYMZE890RFOMK6TLTRUNL6WRW6Y51GBL8RMJXG1Y3B3LYQW5LXBQQ129RC9AEUW7ZWAS11NO410FQVNR5O3LFPJ8OBY3GHHKCKLHHG59IXZ58NDSTQK6ZMI8N803V60TRLV5OM5Q5T6C2URL90FW2OUBY1G51X04OEPZDUQTA9PD9882LO3YAWJUFLV1T8UDOCNUSGZ5P42V3UXK4DCRRFKFDCX9TU5VFD3WPX055FI5YM2LB38ZVJR95P8CABPYBJZKZLTHCDFS22SJZ5DO61W69QB85OEMXS1Y966Y57KWLRGUD3T03BFKEZTX4XNXSU5YSEROGP16MMHSL * (-36#2MUWWG7S5RZQU5ABUB95UL8Y36J4PMLNMV51BCAZ1DYJNI4WWOM2CUSMGNBEFW4YEEAS8RZHLTE9YKE7QOQJZU1AK0LEMOV91TPYZ3V2K4XQQ54943ZBSL3KV2W2DWA6B78MYE5WNEWYG5QI1K6XGH2T6TEDXZM2RGNTJGGOAVA3UG0VXSGHI58TOCW4QGBH7GZP8KA0QVGFZA69EVM5YULMLGAZ). +-36#S254KS2OV29K1UD0TTT6LVAU8VOZ87Z6KSA5G9ZRACCIWIHZ3 = 36#26RFSGW3AL2K4E8O5JU33TYYDZIB3GULNOUT8KRO2955FM24R2YSBAGZAJFIFVSY7P88X21BZNFGTC1VSBLE5KWJ2Q3YYOCBUHR div -36#2T1TYBY2YU8KR9AQMDA3LGZVXUACWGFORPKKUHC3YBMW11H1SX. +-36#2X1Z57JIRUY36NZVOQN4U22UZBQSHECJBEH1U0GRFOQ0DOAG7S = -36#4TR067HXYFNESMF5YFZBTNIEV1FM6SG11PO9OYIONOLG9UVWOCYARR77A44UAEEMIYKUPA5HTIGG979THJNQCDORPW5JUDDQS28 div 36#1NJGAD3HJZV6OLLKU94X4538BNV92XOQU6PZQB1K6Q47P26B7Q. +36#LUGTS3WKNFTPEY0LWQROX3TYAIGJYJSS43GMDG79NCQQ86NRAE1RHYCQZ6333WEC6LXB49UO6YFEJREZNU0UJVQO2HG5N5OTYHAMZNNTX8811HKRTIO89AVK4E0P5HJAQYKI1IDJF7F54KTUQE7178PB9SSC26VNVX7KJ5M5MIFH9SHE622M1FHHEINW0VUHC9SMENQ8LUZP3S0 = -36#ZX27CD4NP3277T2BZ5JM318BUN4POQZAQO1PJ4T5KA879DDRRBCBUPSI6BKPUF7ERD5FOLA6M8FJ7S875ZJO70M4ANJGP3V0T6F9K3UQAV0WAFRYO1ST4AVUVX6YH6X8CSNJZX9CJGIUB407DSPH1TKZ2K9AFC * (-36#LW96ABW89FD97GB441E6V8IZL0FBEB6EPHOG8H0IOC4TJP0WC). +-36#6JWWMFQP8NUGXLHUXJ0Q34B4LXWVGDO64F3NKV02I4DE1YFJJCNYLW3PYSKPNXE7555IACIV5LRBHSV4FUPBNJYUQ21AJIQ4T8YEM9RG1JH24A3OL9UHMZM0TNGF91O4YPRNUVEAD2N0N5LFYCMH2IIGDBVOW2R9N8T45MTYN41YPAOEEVXVSH67VZLUAPRN6I4EPE1AA4OX38OY5 = 36#1SR9XKBXWD32WOMQGIP9U6V300E5Z3GHOL1UWUC672Q7TQ5IL757D85LUFJKVZQZUGK3J97QGWVRNSQLA52EE2OBEU0X2QW0N6C706MDIZ5LR939S7V7UT2XGJ6P76UYWU9LCM9QGNB6OMBYW3JPPNCJICYLC43N6QK22H7OAFUKAM1X7N0J29KLE2WBU4O516MH62MCPJJLN72EK13FRSZYKR95GIMD8GTBO7RN8Z1VZVQSIW198QEIF6EL7CXFH8W98VVDNKZXFPPZAW64VT8RJ9J5 div -36#9VQXA4HUF5BLIECUOPOX7EVNNLBUFLEIY10O9S6GJRQF84I475KMDR9IXU8Y8RBVMGSBD5SB2X1. +-36#31JR3OGLOTGYFPNZ4X9GPRE3AEXXJC8UNBQB6B575VX4GFJK7A = -36#199FBJSOD472TFP7KNGTBK3VNJ55GWM67V2VSQ46G3943FOVACLMGL4TIYD6H260IE5C0KY1CC2H4D1OIFH8RO942NUWSWT5HDS div 36#EVGONASFECXUV86N8356PK026PXNFAP3P8R5DH14JOBRQCUHS. +-36#XNXMABWLQXSAE8POEU4HG432ZQFJHYY2AH50A3NZI40U2LYJ3CH10IN0GJCVXP00DMD9I6D2X9DDCC543USBUGR4LLLRJTE9QVY87LF6L0HRB8UM55AF1RFTV2PEE83KT1RMZVJSKHN706GOJKLPSL1P8KL3JQ7XH5JDYSEVVZWGHJYF8PO0OWR3DSZG6QHEOM1OETIP88YVZ3HOXBE1LRLUP5XSW833M5UXHRR2PUH8WDF74EOYNQX7Y95NLUX7EEF9ODBME1EXIOY0D3ELLLUKUMG4LAT4TJQ6SCIJINXLU1CAG0GXN572I5Y513H151JGDZMZOFYAEHBX8K2U2C5OR1PUASUR36SZSQV6JF0IEB0933B2PQWH41H30ED2DDWVOEBB974DN08IM838UC3ABPHO23GUSWOLCUZ2TXTHSZFGAH09N9V1NJR0UJFK9GBDMVT33Y6NUHXBS5BPUE8053MNAUJIZ2L35Y1HCJPPO7MGQ1EGVHW79KCQLN8BIE3MNA9T76F5G2EFOYXYWL7M6CIHX60FNJ6XNCUDQHFLFITHR8FEXI8TMCNEN7ECGAND5GH0CXLXNR1HV11G1TBCLNZF56NSAYDGWP7486E64EAPEP0ENUD9SPYCMK4KUU1QK24PQWCXV8AS89JB4E334B1S4WX1ZW3C3RQ1ZZK24HQ3HFCZULVI1FEAG99VDPQN3AXX1EKUKTWDERENA1JB0T7BFIE94TRAJV18RLMR1V9EZTSJM9GXV6KWT64O459N86DM = -36#AABHKPMFJZ0GEM88JROM542D01P9YAJCO9ND42PVTWBCJQDDZHI3YY0SQVDT6ITEKSOTJF9Y7GVMS81RJ1S3HG44G9RSE3R73TW0BCMX7LKA6NPDGR6YWBJLTDHZUNMAUHL9RQWYB2URV6KHG7K0L7L54S0PU3S5C7KRVYJ7QM5HYIABMFOVHVTDUHNBPJ99243R0C32ZSRNZSND82BFGKO83SGRX0W8PU4S42KV17ZO1C8BBW2OF36CU6O7T1HXYXXCFD435BN5MYTMN4Y9PB080THBC1690E8ZH9D2PEND8SZ6QTFYDHNKSVY26LU76N0B6NPX1CR90ULLT2W74YVZOT02EBZYAWO5JHIHKM0FHDIQBZM0IG2U8EARASBD6FQDFRKITENT7JEJKC7D3372JAKL4PRF9YDBRC9ADOTW74SP68SIWMJ6Y50RFX2ZT1HMLBDAN10OMO90683QUVZ8WRS3CXFREPLL6FIJBVZ919191VQ4IAII98JFJUACHSFKP9YU7WEU4U27LMFV7AZEZ8BYESHY5YK7TLMRSRJZCMK8C0IVLSTQBHO9JMEO4KKUX3TJDJ6DTQTJXFKY23OHQ8J9UO7B9ZXQIJN1TVX5ES35PMB1KKCVAYIN77IX9B34RAOTSN19N9Q0LVAXRDS7FAQ * 36#39TDW5DU7YCWAQU2YR20TSADASQD4QBBTVYKG775SOTIWD6J469HRLZPAPDXL64YR7U8O49XEDAB2PMZTE1G242ZPJ9RXSRQ2PZDNUFOLEL9M5. +36#A0MTGM66VEIKLAR7ELUKV6OBNRZ51T9EYWYRJJ0CG7QV79MH3FAOMQ8MOZHVA2IPYQ1Y3AKE8U3X6TOW7WS76M3NGQYJUZ1XI3U2D9G9HB17E2DG68BE9WPHCI0ZDJDA4UZGMX2QVQ6ZKU2TWDD5U9K = 36#C1L05RVC458J7NW69QBENU02O7EP9R7JDORP4HHYGSBXEGNUH * 36#TXY7PX5LZPENBRIQEHJW9XDT7HTN2G0M0BDGN1DW6IYGGJ5LAVAQGUPTR8UGQYEDJ44LZAWSFN2T9154AXXCRLZ9WM4P5X8HA858AG. +-36#32P8HAGRAXL2VW3ZDQMRGALUX9NJYONHWV8PTRBP80RZ6EWDXZ = -36#8DEEWBOFA2IUONWJIIMG3DHZK73EAZH5UA299O0VCLW80ZBH1GCZHBOKZ2EVIJ4N9CD2SQ7BWOV7H8GRG8UGN1AZ2YEPK05OFDE div 36#2Q0K3NJB1L9YT3ONBGYWORLQ5PH44M43S80GF6Y8982WHYXBEM. +-36#AM5W9CLU9U6Q3P2P51NSPHIYP41YFYEWZWK7EDXG9UHFBCHW7L7IBG0VOS83QJI6ON7M1WX44Q51LYE5O2YBYG8NY02N6Q0567A9NI5DY126J8CDB2QSPS18G5NZBPBX2Q92GKHSP3LVY3B5Q5S0N5AI38Q7FYICZ7TIYFPU2XE8PIEY91NATPQ2DWTMU973E3VFN6UUUKLZGVRSWNLFIXG0MNYXED24Q766ERAG1COLO9DXQ9S654SZD7AQQA9KL43DNF1J6B9YIZ9DIOABHVDWQ8185LM0RL8LBSSVFUGY06JBGPYI5A5N1NZVR30PGMI9FY6TW6IP6NGWA12XSZXUF8KYTUIZA885YQAZGGIXEEXPD7093585Z2XWEUZK9XHWRG84960P8935ZO7NH2SFKRRSMRL5984RE3NJGLCKPRJ27OHYSN6UZUDYMU42YP7TB4M = -36#DLY9IZRFG4GM81AWUID27REGNK1JOWDOG9O46XS4QJPHQ7XW2KV4KK3KMCBSRD7XZMPSKX568HWX4516XP0QU9RM4A3SE5IWSX5QWZVYI7NBL1LV0UTCFV0MXP9VB13FJ0GXN7T19NIEZX5NYTCWTTBIHTU5CT9VNW3K7XRA1WJW2DZ4K770G78R9I6N64S215C9825NUHATBGB4YSG1M7APL8IY19R2X6V0905ZG5S2DACJ0SRV0WAECOGMGV5ZQOYTY4BYVOHJHUTF7UPP4XU7K3GTPSBLTWSOF4UAD3SGUV4PD6X445JLXGAPS0TB97A3L6L40CLDS407ZQ10CHIE4WE077C9R2CN5HX8TQZFG63JA89GMOA3TOOEU8YNX50SKMG2P50P5LCVDB287J5Q54M13HMJZ2U81TJ8WWNM8SA6HZVUFKQ8GZHPV68091C95ND8DNR9KKICUK3ZRH4RH37O2PS8BL1L109JOO4LVT36PF80D9LEE3PGEPAV5K4C92BR5WQ8BVU6RCT7K1FCQUL7X6FV40NNSYBJTIJUX60E6LAERJUOOVMJYTE23J2XY17IAH5VDCO3Y4SVITMLS6XH25MP0VORLRNB3ROLHM9D554JG8G2ZL7R7TJF14DOU8Q3MLP31BQNRFFWSFXFYV3S2JYZ2ZG3RXIFGZNEJFH0D9Y40OK99HD5JNB2LIY0MBXG4CQ4TV5OAT52R7TT195NBPXCXZM5VWSI5UXAFL44LYYAV2FH1ZIB8XTVG9B11FTX63AG2NF0UVQD3PZM0N3GWN05PVLY1JZLA07AEDRIT8TWT3RJ0X1P1C6PI1LXJ9RQQOY63CSNJA2NTQ7S618TWQCBRPGXXA2BYLLVH0BPA4BXO97ECMC0V8AS3YLHLPO7LCSWYQP5C6C86U4QLU6C9WRRIZR0G8BCHJP3G3SVPUQNJGT94 div 36#1A5J62KQIGQU2DSBZ17CL1DJIOYF3B1G3H7CRCNAQDDYFEXMOONPCA105DTBU09520PTIM94BMVU4MJPQMBB2ED42OLIP8K341Y7T23DB7L5Y4ZNK9L8FWY3560H588NDXZO14RP9EWVT5OOUVB85VN5C5ALXNI3NC9HHWYM6ZV0NNXKOFGDE4T75IT9LONFMKAJ9YGL2YZGSJX08Z73W38J78KKRUB0W1VR1W4OTRBCAWRF4S852TCZ2KQ3VEEYXD0VZNWR9I0SP8QJ2R10YWMZLJ7HY7DFWS9Q5RDYSXG3LYIGYRR619CNOJ8Q81BOKYHQWROMHT0R3PL0RFTXFEXS9EFI2TI24GGR91ZYT804ZX1FJDM89IPSNNIFD2C02AWQ35YVH9OEI4CX3CG46UW214IFL6EDRY19ZTZBDGF0O1NNWFHJ0BBC63OABE97PUZEGTV4GE0ETWD3V18Z7IW7OQI2A4UPKMY8PVYFLNIYO72CZ6S. +36#6P745OH48Q9A3I8QQNNT3VKIPWUOVIH4FS7OOR1KMG31X1LNNIRF29OZR87F227LFWMLDS8EW5ZULALMFQFVQ6KD41DL88YQCV693LM2FO5IXCEZRJX5ZAQYNCETWFE0MFOWH1IMSLWLW4A1X6Q4OBB8CZ4BXOCTNOL69K6U3XT0V66SQ8A76BAIEKQVU8O3X19SH8LW1UUV33YAOWMCO17N3WUHZI7KUT19KSW71RFRU5C6N9IZF454IPTYYANJWUXW6KCII3P90QE9IX752M0Z2LX66HO3FN91T5PKDCYBN02YMI03VEODBRPRUK29FUMQT8DEWPTICDD5ZLA7FPVAHKNY418E0DBXE7A593W4JN7EWYHJXF42731318Q51H86LELEG54345VBXKPYI2A1290L609WYDTXJFZB9CIKUTDZIR48J5WNLJA1ZP9DTOWH680J8QTOWJZQUTKH926YBG2A3A5DPQMWEWLYGJLB85LF4CIAJAR7VJAP9INWFA3RF4ZHPT2D112ELESZJ53J0HX8EPXLF0I1WV4LWG98VA7DXIEO2P8QO0KT90400GV5AWPIY8405RGLRZ4HQG87BZUNLYVBPSBHC1DUYR2G1717SFZCXMO8EI36VO6W47FKZDN6JTVA32JZAC84FVFW6Q9WAECBK7G1CCZNCVDJXS69ELJYZT3JQTXH2RBZGRDQ17WERAM2X827ULVOBRGSUSPDFDZ0J7GLEZ4LFK56J4R59Z4X7BAPODSPVKBTMA4BMGXJDAHW9LM9LOWSOJQSC6I9YJJGJ3WCV8PD34VYH8ZTYKAT3BW2DV3LWZEY3AXWYHZBWHV9T502YH6OZQ18AJBNX1W263F7S8QN8ZDQK4LJM4G6RI1OCZ9HFIKAUWMDAALUAV9IZQTQJS3CEWPMQBKKGV8ZSXXLH3PEGKKYJVBXK8362EQM6J9Q6JZBF4CDPFPYVUGDK63FEAGYBPTKKBYD10ZKTF91T95913C2XY9UUMT9QTDXDESL4ZS1P7UGZU6BNV5783ZRIUAKZN94XEA3Z2GCCY2V8XZ17VHIHYD4F1ASW3XVEHAAAEYAJM7CC8ERXSWJBJJ78ITA7HW2APMOZB73GW807E2ITZDP2QX3DEZRK0YSND5QC77K8QA3CA8GB9CJGDP96O2NWR7XLSD9JXA1WUB88BXF30UG2Q7USCV2CHFAX79JVVDQMRNA8JUTQPKJWONSDJ7HNV7LKA15F33PFIB3UVPC = 36#12S33MI8KG2YL1DECN0BF0EFOLB9ZV6IL8EQEBL1DSL5PT84TPIH1SVNJ1OPA2X01CZLBRI1IGFQ63RHDVVDJ7LUOZ7X40BN3K7P71I800K6JUTH8HB80XMH2UH7P6P4SKMB9AJVVYGHMGNLJ1UHS0T7A6PSUFDI3FA4LLGRZRA8E3QZ2FPJR766EIKQPYAQK2ISDHPRVOC8EEF51Y1MDZP97G52VDQMKHY3YCU3X1N6SARRFEYU0AC2Q8HHR7O1ZRPDXQ3PMIBGRBUCLEURQ70WA7SM1NKNOCJONJMBWR9UMCXRS70UJTVMBJ0FHV7SBGUG44XIJPXHARB8CHNQVSXTBYYJOYJ4KU2IWCOVTCRFROVIH54UG9HPM1C3368EAM740XOT73G5R0KS85P4UE1QR0TGCXBCJ3PF76KMZ3YIRK1BIY13IIM04LUZ8T7IXI1SPIEZEEZSQ1NXEJ4JGEZBCT2HPPI4T8QW9ONP5ZGQE4CPLSN5UET8IKR98Y5XYEJVCAGDEYA8H0VA7389BVZ3NEYY8WDS88PRBZN2Z1X0X8VAQELIW8ILZ58MVBMAAVNXCX90M5C93CCXPR016YCTZKR1UDB7XFGE9F4LHPSHABTA9Q5JZZVWIG7P3XBI4KG2SMMF46S4KUAI1ONL4YHRSJK5IQ7IBM6LJPT07LY2TK5UEHJQ9R52HT67VBZOTY8B2ZKVQK7WDS0SRUG8P5AJ71L9IMN2SXTPIYO * 36#67WM9KCKMB7BFZJA1G6SO12ULYL55VELJ2BIBU26JWIWZWAJJZKE57GMOOAXY6BMW4552D9D6CYB7NUIQHHJIGEL8VK3QPZ58DVAJYTQ20V6SB780E6LBNX24HV8VJK64G8RJVB001928G4JAC07TQCLU5BGUJRCSCD0D5FN1SEW1QQLVFD92F7XCN2XJGELT9U81C7PP3A8YLHH5FRXFN9OLUJEE1QRR5HVQCPDKN2GZBFHMXWKKCE4X3FY9FQNNRC2H03B7U0CMC5V1CE8EFI7855R58AD91TD77HECRO1ESTUKG7TR2BRLKN1PVT0D5IKZMNP1BPLKFHJI6FDU2XWVD68KI8ZEPKTADU4NODCU7KDGATNBDC46P0ZZZHESS65O77D8KO3MYO5KSYTSD4OC811L9QIG0UNRGZQRNK6M350N0TZ9S84JQOCWA8VALHM5YZOS51IJLOM5DSDJVL3K3MGK19M5I7U3QN4WBB9S3TMZT73JPKO8QKZTW3F98. +-36#13754QTVK8YTT6XDDJF2DNT45ALIEQJVFEWJ8L4LR5MYISZKNF = -36#3CF2Z64R5LLFIGBQXBV0I2FQ6WS3XY0QK6UZOTQ5LTOX3U1JYBY4FPYCTF40KDL48CW1R2K2SVXJSUNJF52MOUA7FY4UTPU2T4BD3HB6MEOQAJ9M1A61LUXSL3UK0J8Z5RLNNO4DP2082HYO531J5XMW7IM5YYFQ4LNWJKUKRNTJR47D7Q50PN2JZKLUF12RCWX9EVBL78H0GQ07G1C2XAS3DYLZKNX51D51J4INX6TH8205LJASNCP9WTEYLL45BG7JXO6PV67S7BV2OBHA3KUJACUBZ5GOZ0U2KR3MNJTFQETGXUJWCW9J2F4IG2WNOWF65V0SGXHT27GLO2ZQ02OOZ7429GZ998DJLIPNZUT98OTTH94QXU div 36#32LCZ66H5QRCO96P2EWMG1HOA551U2U2I54L3WEEFXGFPK4197VDAKWNVZQV2WY2DBHKCTFCWR2K7XNZEKE87GNCTARBFUMBKDSLEMJ33PMIH0D02RDM0GQEX76C2CGF8DVOG1CI7J2LMT33KESUNXRW1Q8GY89AERFO4YNJHU8UAVZLTY35YDP7KHGW5JE4G97XKMYUH514QLF89OA6USDITIW8D9N36XBPH8MZOMKMQL1LE7UZC4IWMXYHY43NL4ZMKZGYZXNC4JSZLPYHVOAO5WKXIBQ6F6VJS4QFP0O7QPYA3TO2XRZFCSNJAJO0JU12E. +36#1IPRYBWAIF6O5EZ77DMY0ATLW25JSEMPHXOF7OA5MBBLB5JMDOKP43Z4Q4CLGJ41JJYZZ522L92535HMWEZ712JCSKY90O81UURBI32NY3VZ5NMZOTEXRL7RVKLCAVFO8XQXO7AXQHW2NW0YSB96D5YQ51DZKW95IDVLB7WXHCKMJUIV0E7WZCKWGYSTVC8CJDNH19VOCQ7RH8VN0A39X4OVSA7UXH7HV2O4EHTGX6IW1W3HDUP4BKLM9URF6HDFOHPB7GG = -36#3G4L1CAMXQ5TVFCIOY7KFUCYOO3A2Q1UA6HVBPTGFBFM48MHWRQVTEEXHSSRRMX46G320ISZSHW3BUIF1KENXY2U2LS7UV93WLIXHRE11BQ3P5T09LGC7CNZVJZGFGDEGASIU3NHBAXE3AV24PSQEEQKGG2OG89L88K88NHI3ZH4HMK2H1FZD0CD44FXDLZJ9G0S94VRQDNM59O5UUELZW * (-36#FVA7XWD9RQ3X379VC5CVGJLIS4PZ8D5TBL5LMBHM4E1J7134W). +-36#24O16B1BKSS5LE0GTYQB17WKEU3A18CD297WQ52UJBYVFK3TR1 = -36#2GE8GT627ZQCNCE8JO4CAAFQOGRNLYGI35V3T4XT0RMZ41SRR6FSDG0NCZB0ZKQY1W8KZYTD0D7U2L9AIGISQ0B7EG8YT0H6XKI3VLW0Z6XGQ8MQBRO8S4TMON6DFUPMPEF82JMG0N5EGL1WN6M5FVTXY0OQ2CK5CC8MYOMGS7D9TOIVDMUR4IEKFKED1EZ3VVPAPOKM35DL7Q510XJJ2OFG4Z2EX4EVWNALRTGUG1GTI3BNLWAODH8IFMJTQJH8DVTXVNJ2C12MMC47XG418CUSUE56LVJPVEGB0MJPBPTAVL86LTSILM5BPXH9U3R5D4DWS8JMOR0JS442BAPWWO5ECSYD5SV2S9TM7YN5YEF8HFKUSKGG9KVOP09OQ08N div 36#15I8Z2QDBK2T5GZ50J3Q2F8OWG9QC270VS4PTXAGLYQU2EDHYNU62GTN4779UEWBE0FDJ933W0TQS2525PXXPR56TXRY2IUZZVAFP42DK2GPW63LT6GF8G32YDMR25FMS3C9SA7HFMFPYG3G0PKKIENYOF6WB0RWQ80G7LJ5HLFURSNLWCN1WKO8FLFY3C6DIAXTCZMXXMSADOAKE0PY49SWCKSTXLV9G0XSG3GZ2RGIAZVF6RUOO4ZCK48YXV3OINQCYL45PF2ODGTH9N8Q6RZQZMN5VSL9ACCD1I5A6MWMHMZGJB4AWIGWEHDXZSL81BGOCMHTS84UQZN. +36#5Z8ZNQKSL6JJYRRPAF4U8ALS0RPXMTXGKVB73ZJM0SFMVBHLRDOHGWQT8SQDJLJWVN0IHLKHO92Q65E4ACOTH6N8KQQBL4QRUDBJL6VKASO2J36U8C5RHMQLVRUIL4VNTD47VQJBID1HHG6WSWDEROLFSTR40P7JFTIZ54M5PJW0HT0KR6J7FCYYLWMOIYZ7G24Y2GI3UFSWAI4AVWN1H2403TGTB3O = -36#6DVY90IJCPTRA1ZM9UXIS6CWUUD2FT3VZ2LB6BMAJ2UMLT99U576KA5YPGBNUQLM2ONH9TC2MHL4RF7QWVZGMP663OE0H12QPS8OTHNFF7U9H9IKHPKZ3KF13ZNWY5OPRHLRE2XR8VYNL0QBDQKG2UF0J3QB6X25OXBPVNVY0BGR8E7IGPCWBZPMEL621TF6632NNI6TGCNXN6NK1ZU8H8IQYWVFB9EOEEQMDFYI9922H74ZQNO91UT3XVB38UTMF3LE9TYTMJ0QFTQO div -36#12G4SA70B89HVN9EUBDYDF7U6NZ3ALSBL4PSJMX62KVJT8YQW4. +36#NVMXFKLYTZACLIQXHAHBMPXGVCK0JMZ06YZF21TZ71TVDP544CUB6V31S2YRTB9FTM274P5A6Y0Z909L1T8JNEOJ = 36#XNMVFRVNK67W21L5JR69MUE601I6P2PTW50P6E7UNQX38126EOT4ZXS2L8FBMFWIUT878YJCA8NFQMJ6CZB0OOJYUT7835WA5V9DUPP7KGQUHZPKC926BOQR9CN4IVR1B3IRMKB1PRDU1W6LJ12C7D26FKNOGCQZ1FFTZ4SBFFS55ELS5Z0PTAQJMD5G1QAWYCSOSFSWRK21Z961RMB2OJOT30I8ZKUW2D2UZX5HW9LUZU7BOE1LHRZJ4TNG43DANX804NQD8Q4OCJF1MKUP422NDO06YGQQ9GW7A46XUXF218XJYKFCQPOP79006NSYD8Q0D2LA03AHUIWOUGKI6AYDCVIVWBU4GLSODQDQ8QU95TR1RMC6OTU0R9LZXG5HEW6R3LN18XX4RHADXI7J8WOBVECNSF89IB1WO3FJFDVU9MGNRAFD3KA324BW40P4VLTQRM98OE17YGY4JF92AD20HLZZVL1AHT6U1EUB3GS6A8JN924FZY939OBGRGF5UDEC0TO4VXDH3HEN34YF6RY1GP2RJUH70BKXLAEMA09VIR65WFGDR9OYQJC5TH7ONTQB8WKHA4YT2MC0D3LHJ02SI1I0UWDLI8EAB6F3BGSMFTL26Z5LH8PFA8KJWTVNPSOX9XAEX3J88CU1PIO3YLTWKQWY566PZG7ZIUZX6K0NRRJ9NT0UG4MC0MUHGFGC5S8GOZ1Y94G6BLQ4WN2BDOD7LE0O72N0FZWJOWUNFR07 div 36#1EQOE3MV3QJM1FFAE7AYU0ZNO29TL6FTQPDLIS8Y6JOYFUW50TG1TRCHX8C346KB08OT0IB63I1X9K5FRK0PMX7K6DZ4CKWOL3XCKD6RS9XNNHWVO9KCD8QHMSKPD6JQD2FKVFHOV7Y0MH3EB80PZWGQAZGCBKN6IESP1U2YU7QK6XECSVLIOAMO3SF8UWK2TKRVVN5QIRDRXY3MZPVT2GK5A5Y257TXG303TTRHV3GSGBQTN40EG8QN17S7PDZGW47KBKLN138CMHRZXD4BWKAPR7ZC6COCJ5G6QARP3CWUCN30I34EI7KAZYM41SBRALDQ4HQG511Z66KCAVXJJLUPUZR9KFN20YC0RNWO9GTU8Z9TBD0JT2PXPDTF01DRLIM6P5AGB4GQ4J3G55T4FOMUX1TC3TL8P9PEIUSHF9B2TV6GS6KGX15TJZX91SWU3BQ9RYGA4O4C4I911PQ7JWLCCVV6CSFQF8I1WH133WX4FFN8KE5N1DBQQROIAY7JDB9V1NEU10ALBEHWSQSYPHZ6GJ802VBPXQ8CWXNFSG24QX41738Y9PVNPF4TE55AWJBPUUORZ9K1Y1F9EB3X85ZUOU2UN62TRW79EJJSTHMJ836UPXSXZK8LSIRWVRY1CK0YZ33ZTY4QYV0GOOHHP. +36#LYDSOSV5WEA10THEDWLUEZHB4PGS2T44NWGNAP8132URUEQXF = 36#RGZ4EL59KOPWAA0DBICVX5N4ZZQ0R4BQX03BM61P2UE8YQ2ZWVVCLR0CD6VJCES5SEZ618752646R1SYQ4RM6QHGX7JVAXAFOF div 36#191MTRBDR5W22WQSJZ16EIGJGCUW3PYG8M56A3GL4T8G9HNK91. +-36#925NZBU8E4I7BRO4F2M1MZ7UZ8GFQQVNBON45TMD4AOJIBYBEK0BE879UIRWKGYQ7T3WYLQ06W56WUFRNVJ9UPAV0UD78KS85T12JG7RDBZLZR9S7LTYGXRPGPLJNFAK4Y8I7MEIXK62S9T6FHDHIY86Y4VVG2HRX4ZM73AHNN7R6LW7XJZPKI11NYAR58Z6M4YFHXJOEM2I5U3TMEQ6AC7E8HYQNJ4XRN9PJ5EDUMWAKB6MXG4JPMTBD4SKHQED7F08QF1FF8QCTZ7K3GP8XPCVSSR2SSJF7IB1JEJVCCLK1UON03HH7J0J6CN1DCMGYW74Q3CRC7QAH02KABZUV6RKO0SFYHSK8IFP98SP38F0NU7YLOGBSPZ70YSPTU84P5ULY516HPM2Z4I4OKLP3PP1WTAC7RX6OV6CK2Z7KE8FECK8PZT = 36#CUPN8BACI78X2VSDJLO0QJNUFMVPU4E0U2ASZFOBUM42JQDCWTVT808IKGQ97JYS9HCOVGCD6S8G0RXUDIKI0J8Z80H68RF6LXGLG12A31YAO3HGRU728H09G9NUEZOQDTJBY6EGKA4H0I20IHPWV7ETPH6U9AXMVRAG7ZVFEAENEZ9W88MSLPRKWIWB94JID8662NMBA6S6BKIQYOUOEUMT3RZ6NZJKR4CMTOM3NCFDHHJ1VWK3GRTWZG7YLPFJPV3G0X6ASGDAQKI7DD19XH4S3UL4956TG8U1SSUC01YDXT7M8IJ2O75QAM1CR49CY4IE1ZZ5YV1XK6SHF9Q2H7SEGKMSRKC1OUAR27SB2AS21SU2HQVZADWTGSFDPBU4Z8W1R1IK55FCO9N1TAAU374LA8Q3X2DOD3535W4JFHX7FM9L2I4N5WJWBPKQ3E2JAMV8FDFPU0YCE0CLQXEUS8OKIQUVRAKBW5JW div -36#1F2LUJ6RHD5M1YKHJ0CD1Z8XGD3KNYI3T2K86U25S0K6NX077G. +-36#2QBARPE87VC7ETD3EQIEKRXRC8UJO8EPC2V6I7YI0ESGZ8SGTZ = -36#JQYSAWMGF1I9ARMLP5U9BU4UTYY70ZQ23E6NYB8G70KVF4H1GCGD7Y43RWPJINS5IP49K2QV40W29R5NQ5AOYZPM7Z60KNKB2OHSJMHU0CBDHRANOBFYWZCEQD7MCE22AOO68KQBAQQPR4AOFK2131UG3YL5G5I58S6FV0H9V2OZ34NPWXU8ENYDWDUVCE2ZSW9Q51LLRANHMNKYZMH91HOAF84WA8I3QO87405N88BKJU12TMHFLTL89A6FF17VYOXOF34VNK4ZU66D1FGJA67IHKSQ34DR3T7J4V7I9OQHK3FSI25GUZMCU5YGJSWV56QD80M0EV2UJ2AUOLMRRHBE1PB3RC8X0BKB956MMRJBW5JVJNT0K5U37A7UGVCVY5JD7934M6O35INYJDDWXRBBCILIOJMVUEJ307GQK9GV5UPM9X5TVNASC04W1TB6A3KT9BOGG0NO0VM1L8RSZQQVEIGY8XLOHQBWZ4T09F8PCNREE30JC5U3POOGCKDDJJ7N1BG5C5D1LPEAUUK5VAOA810VSO10SLESLBK3A74CZUTIGPY6GG0QUEUIP5QDS5PB7S4Y877WSNTJUML2I1GA div 36#78C5EIPGRK0PQ22A1GS2BG9FRIN9URVWGKAVSAWJYWZDFAPO97XHD42SMHYMYC7TV6EATTKE2E477W3C7DZXJN2MIBW94X21BIAB3W4JTAUDLJAYKBAXNBENTMUQ8A19LNLSHGBQ2APC4JCXUMT30R6ZREBOBZCSTD696LPO0QI2QK3A9LTCZI730EXRVNB87S8GUE6GNNT6ZFFUB71P3ERJETT1XQ5WBR318DKIKE88T89O6LAAA1LWHMT2GCP33QXRQHVFZ4X828N33OHW25TGVWK1VI6FJK2NCR14MMLN2UNFXI7ZTPN36J0GG6DI1I7MB6EPCQD41XYDPCTLBSGJ5JQNYFWRWII0YYTPM6S9JTJ9U9LNU41N41XB77DLOFE3NHBJO55X8H51US18BBQ9W30NAOOY7E4C7PF4P9UMW4EQPF9WKLANO9FDNF61KRODOCQ8T0HOZ0E32PD6DT0RO9LS03DSTHYY049FXRVLZNO1O24H57DXG5RL1RQ56LY0B6JQDST5AX5R9KQEUSJ8EU3B5ZE2B1VNY7Q. +-36#HK2DZV1F6RFL3I0M7IMK8IIMYB2L8LIXL0LBELQWAV4NYBBFCUW37HKL1K0N6AA4OH8D9LC8G8QJYS9JO1JWUJKBYWXEMWN552 = 36#1NXQ36J5SQ8OYN75KXJ0JKTY0I1FSTS6XEYY6HK1DLRH9C0AEE * (-36#AJN12V0KGYIWD3M104JXBO97TLVGUZY9OEV4K2BNNBXVW9J5D). +-36#4F4ZGDDQ8JV66CF3R4ITCB37SFSBNUKQ9UT3N8EACUR9WEKNWQ66AYPKEBJ3U01HBWWN74IA1G5Y7O2MHXJVIA6L77QNOGZUSI4VBY60ZZXS51AVU31TSPXAE3CTQKANV1AAZF9ZTQYL4HIHXU74LQYLND0ELDEGS120MM669ZRHIVUBC1WCBH6TEBIX4UYQT2XEX6LHRB1DT06DK6MT5DO102GCFFBU5HH3Z250N2JGOA5W3YRN4OC8CXXF0HF1VLSR8CFQZPMQ2YYOTMWZ4SPPO9SKAXBYCOCU5REKLU6GPZRYOU99PT5VFEWVZNQTY506V5K9I62TP1VOIRJQC7NY0O1HC0LG5LFRKVJLU2XXKZHU7X7LMQ1R27P2GXLLD4ZBEKWWOTI1BQLLMD2QL130PSNSCR31NHKDGRATYXWL2GLSWMDDR5Q27X13ZVU4JXHJ9IBPRG80K0WOWXDGMR2ZDYR75VAGUBPOYF9EF39YE5DT82Y53D728E8ZWIAHWF67G08T4HTUNU9FRH7P448Y36AAWG4ITORYI6S7ACCCZ1ZTCLMVQP60QTF35LMT5LMT01LCMX0ADOUT1O8X109ZX4AP51EO = 36#1SFTIVV4OSA3BCXTUTVCMNAZ3NOMPN84BVMYKUMAYNIR9WSTH84YLEKHFWRTY3ERB6OOODD1DUNNAE0MNNKPEYXJBI37RO2CVKCJDBT80F1D4DLPAQBEWF6WLPUJVDLYUPDRTOMBTP5NFOK5K5NRRDQCBOFC9Y64CRUXJA4QNXL6ONS9SKP0MNVS8PPUH7ZKEOM9DX8TIC9OZ9VN01HKLXMXRWBG3E4LZEX0MGTI08FEO4UD21QCFDPTMS60K63BWUYF23XEGG8M01UOUQUHAIDBQGGZP3GIZ6RFPDH43EHBYJYXNGPGUGMFAFQCZHM9AKESK63KMYGR9GDEQ9CRRTY31LS8IZIA4A2IXB0Q2TL69PGUGR404UPPGT2IMV6VT98X7J64HX6ZWSGWV1SJTGF0DSIGA09IMOTK36M73XLG1QV72YUU34Q69R05LGYU0LOCSN4RHCE4SIZNT2AGQ67ORWFE22EWLP3U6X5NDQFQZ9DS5EEZUH3XMC5ALH3E74BFH6XQJLZ7JI1OHOC0GJAU0NHSZIQHUC4TX0A63PSHFKK * (-36#2GWKSL864R1WNVTZT1WDTPRTW2KLQPOESNH4UQB2830ES8T0JC). +-36#20D4WTRAI87TX22I49Y9D23EKZBA3MB5ICRAGAUEEJAA43PIYW = -36#24PF4PVSJXE0567OBA234KZPTAP9VLF9GU60VE9AS2ZVW1267NBUBQI642VDG5YU9FXR3Y15EUCAZ2E8B3JECR2N95KIYMOGBZC div 36#125QXA3Z4XZXPZPLUPTQJETADMZE4ILU6XGEQIRFBHAZCH12RX. +36#9M6IE7IB4FFSF78Z866TGRIQ9XUPQVSVTNWZ0YUKTT8RWRYG76MTUEFGD7L3VAEUVZNCGNL5XV63T62IN8JC2WVS6UY40JEZZO = 36#3E9LVSU01N40BUV132AIU82HWV7LAS09R73ZR286K7PQHLGGS * 36#2TXFNTSRZMQ7XBVP73N2Q3TXIKP0SBGNBD9PQDN69VN7S59BRF. +-36#154FCPEOZ5R13TEO03S75LZIN99U19U68WLON3YEOWLU3OERJ6H9WX2DRUDSATWSK9XWJYSNKYRUKWM0J9TWK2T6PRD2EYZFURH2UQU03WV6VA98GHO4ELWWM0C8LDG5CE4QP22D7EL2XIJ0BRKBZRD90A9GLDAI0VZ3I9IT1A8DP2VC9IK9KSCS5UTI05MXWV37E9QDVMSUI1600PHCNPKTW8SMBZPW5DYRN7F22E7QFNLVLBBTRJKH9OX5Q2WJXWXB47VEUSQPSI6T48VYPVO0V7 = 36#1QZT5QCU4Q6OXT2BSERS0PKPOIS30MQTF4Y1AE9FUE1T7AEXWB * (-36#NI11EST9UGTXQSMDT8YHM5D3ZI01CYJ0FD5ZMZG3YJ5HQN4P6UORRDRBV4XCKGA7Z3QO3XB7DJQSAOQQ7WPFO76E4F4NLTYX3KTCBNE7LYBF6BFOP40ZFXKMMS6WP2SODK6YDB7EIWNLGAWHXUWA6KBH12HAFV7XXNGC3TE3T8KNEJF1IFL54F8A2GNICKB0PZQ0SH2I829V94BOE16BKXKJZG23URDY0R6X742H). +-36#6T6A5P9HQWXBEM9D6QUOFB8G3Y0PU93G7Z7WNT4HWU0EMMIS192DXM76BQ2ZSABMH4W3SDUQKQ5I5U8XEELB07510O7WONLU2ZBONMRCRP71P13UYMQ3LZCRWJKV8Z8VYZSZG6Z44BU15TYJGLKB7NYCO32Y9LQRW797WXYIBW3VDZF0EMGVK9CVKSYUO0OWMI5B4EVNE6LDE2DF7F626ESO19VMAFHMQ4AUOLK4OYDNNG4T3P38Z8HQQVRPB95PNM8LGMNLCLPYMZY3NZPPQWNXDZO9XMIH545BODXXNV0K0GKY1917P2VGV1RWL77R44H44DDVJRPPYVT16HECK38O381CGZQ1WJJ3R9BOLK3VQTFXAFZY6VZTCPNX5GI7 = 36#TCQ33OYXR40SU7FIOCH5ZI45LUTP9Y6S96UMPHSRNVAZPQ8HEJ67IJDO1KSTP3ZWPBXQG0HJNKBADRKZECPZI5IPXHKWDFMRIYOMYGZ1BH9WEHOAJI5CZT0YVWHJO8AJQZZB7G57DD20KQNC8YS1PDJ21H0MJNZ66U3UG4CCMSRTQNL81GY9OJP48KNTROTCY8BSZVRNL7P4A0GZPI4XNQ3G8S2NUGF2LYZABT0WMD7HKJ7D14EYN7X2QXUUZ6OY2UPTNDUPBZFO0WDP3YADZHCIZB75AIFQDVVVODV9W7TUQ56Y4FRFRPIRHYNNZXJES1X2TB3ANLYLFH1M7FG573PMVGP8T1BU3DNW8F9IIEGCLJLDTP3Z2PBJB8YDWR6ZRHZFBPYXIO2ORCAR80Y4BUKT38UXXFGJ2V5NMQ81ACJI3N4PAZ17YH1BCS2YA8UB0ORJ47FID318QIQEUULBW54YZZZKROK7JJ0YUEAKB873TY8P2DY626OBG1YXBP4Y1P887EIBN0B48LYLSIOUFTWEJF3RAYSSRLG50CI3ML24YM1HDVE6IUR86QIOLNKFO6TKIAL2VD2E5NO2DMV94WPSZGFTPAAY93130RPH9GPEBW23MNDPH8TBQ4EHWD6WQC1S9MF0RTVBWEJ3NDD48QMOATQAKCHM74LBS905TDNJZQ7YIUV4S7IWQ876OCUKXRP1EPYTARRGXT5GCY6W4BCBWSEE67CI7R1R9W3CSCQBWU13YFH77A3PUAA74P3V7M35Z0DUC589KPU9H05AQUZX2GD6T6CPMQKT21TPPE8ASVOOQEQO4L5CZTCLLKKYFC5VXHEYPI1JFN0R0WUHOBMVO6GQGQWTH0DLKJQ7CUCR3UO5EZV7XTN3EAL4BDNTATZI6FWVF29OTSG2XPYLY6G6KFITBNFW3DJTGP1R2KGRMF9E0AHJTGC3S6YBIW3MPN5TKZ63XPWWKQJE4MWQ0IY5BIUN08HRZ1KS3CL62IURELT6WCXJWL79UFHX7R7LALR68LW61U900PTU5JAUGLZVS198HDLU0FG2XN2ZQL0VJRS37HTT595RS73J843SQJM7PITNGRKLLZSW51GY87HK090T30GFLKB4F6BKZ9H2E9VQO05SPRTMET6RVT2DNHCTH4XRIJUT6955MHPKJ4XJJOJM0FYMZG7F3J72FS4FFUPE18FYED4T089Z7ZTBBBR76VQI2T6O35PW9M2KIFQZ4FSARE4707FXR4ENN97Z99ITXT6VMGD5PSRZGYU9DWSK0HJO0CWG1U2K12B4E4S8TFHS7MR4YXOEE239BGXTZS64CJMAUJUNGHLPQSO6THRJ9KS2JG3ZT1M9KW8O3J div -36#4B5VN3M9J9I5RKMT21WWZ18R6YTR1H1ZYJ3AJUJQI5WON4WQIY9GN5ERR9FIVWKONIPT9F4KXH91ZRNGSNSR8AZU3LOFZGH8TF28L0POTZA4719YXKSAGBERQUVMSAKZGX3OLLRL0A6B9WHJNZYUO5OTNH3UT9ZTUOXBO5PBICFTSCJ1YSD3I80YKXYAC0L5MWPX5GHQ3N4ZFOTLLGKSEI0J7AT3VRX8J9FRDKE2SHH5IWDJFLIQENLQEN234T0XCZUUIFW09NSM6W1KUBW21L2NJP46DJTMMYV0QQDHH8TG3QCQJ0W14X204T43Z7U3D4P379N6MIDWGMEJZVHTYV4MXZX4TRY9XSOWCNIPFZ9XWJADKAJQLJ65CYOB0YA6XP62P3WIJXAYCV1CP1SAITKP9G77BK79H70CRWNGYBH2A86EF2CXOG53E7DUS65P3HEFZOPTRFXW1RI22VTGRLRSC8A37NC42SMZRGTTPEHT9FGS4F0SU8VWT92MMQRZG5WN45GHPEVHG1PHYJM86MPPD48W50XGXT0KM1VCS57HNHLS132218FYTDHP7OE7VKTJRWXGBKIOKQGFSXIDIBUKV7B73NBBR0EA8C3Y4YS7DQ8C573R2C2SJ95J5BUECON90MMDHKSVM7FQ6881FLAJM5HG76LZJAMHSDDLWXBPGPDZ0YFT4Q3PG8JIGWMDEBDHY8AERI310CGQGYG7TWNWADKNFD7BMFEOGR5OVUFADEDG974ERZQGEMG7JMWMCKDMDSIWFJQ7I08Y39HPOA0W6T7H8WJQRIPL1F8YIVS0A3PQZRO6R2H9FPOZFF5ATMA3I8HMMS53Q5LRTVVYCE01DEBRZ793VOY69Y8C1Q4NHWW5F0LIZ7M4DNXVAEDVDDDCC2NXUZKY99SEL2SWMRHS99PQTX25EFB63F04Q9SF6BFF3E7CC7MNYYGKDSOCHILCAB5SWPJ8FNIZ0T79BDD. +36#I5UDN1ECCW5PI6P7QOJM54QS002JBY67X5C7TT7RKRUBNP2BWNRTYVRBLSGN046CM8K9E9P6MN6YBMX10XV5JDV3JLW5OA2TWXXWWNDLM2G9PIC57EZJHUXNPO8D7ANULCUMH7TS0LRGLJQCBFXMHY0XDWVS50KF9SGRPL20YSDEFH5T10LXJRGYI3796JSX778KMHH498QUP7IPI831CC9DIU8FOQCBM95QANP3V5H86K49W76B98E26PQ3WKXIIDZ295Y6Z98FQHYG84H5IPFGQDTXNOAJL4ZPC24QXODL = 36#84BT0Q7QP1GQJ6RU0I4GD8BRE3EKVQFU9EBBY3QAWE6PBO6T28C8U6KY44GM4J4THBOXPL2E0PY29SU9FJN2W6CEQC3V2G6JE3NE33JBPUDY7BSLWA1UASS9KNULG5PBX9HO72GINRY1Y1ZZ0VNOSBZIKA2VUTVSWYZ1LVZD8FQPJ7CYWSEZ06E6FJGQO048XR37S9PBQK0JV4NDUHCGKBGC2NWUF2DV1DE4ACVT8NXCJGHYANPD75CZ1SN154RGRMX1B3X9JEPCLU2EGTE90WC0W7CS9Z7X0FPEC1BJCEWH20ROSOA8VW7XSDQY35EXBWUV0R54LU48KEB7VPX57LXGLP9GOCEY085WJXBBKGWJHOEHOHMTHWW4RGCK3A30UD8LN95ZQGJP8D1CCFMDI7BAVYJWTPBLKGDXJLG20ZITR0CKHR573SU68X7MG8KWITLTC27VFLB4UY15CYUUDDBPQFWQ1FPX5LR4NNFQXY1XUYXP5UQFOQFUAB3JHE7U48HH3UH7P57CAIGSFQZ5DKPNMOJ3ZBG6HN894C8A0M2L8U686RTISE1FA84YJP4FGRYWT03LCDUCCKK17QPINPZ6C22MJLHJWKM7SCYMM6JQX2QP8YNIK74F25YLS5A0OIC66SB9Y6XIG6TR69MEPBCYHQH88V3SM6DMBV0FIS1HFTHYTP11COVL3L8WY2FQ4B7XXX div 36#G3FHTLOFQN2FG92B7PCFRSXV9GW4EUBOYW6CT3U65AM85X6NDY6JSE9IFWXACCJJCL73GWY0NVK31JISHN5UK0QW05JIEQXI6Y0VKP59NOZIRG8NIV5WK9K9HBKMLF58O5HI36VZ4D6TZITM8YYUYY0D6V04SJDPBNSUM3HP45CC9LKNSG8HYHGU7HOFUDF5YB5XD0UX2MNEN0F4HLRZ74YQ7R0PQCK4B5WIFRMI1COQ33EWCK4I3HP14UHG3NVWBYEU5CVE6LTC2166CLF21Y3VGP92WSJQ6CNU0W7WWDFDJ9YM93A7BE0RRVW9WD73UFVMZK3RGFUCMRGF4ELO5A9CDMIZDNFMSCY2KYTVJ4ABRYWPU4FVT1CNBF18066JOC1FLE99SZ7IAMKYWQ930OTLOT. +36#17K0654S7JB8DENQ6WBKH6LC5N9QKF76DGK0KFT2Z6QLGWDZX27OQYMPZDDUNTLOMDN1D7968GXFWCCVBQ6OIAIUTM3GFLNK0M2T2JYDV4C87NMRCAINLQEP08AKIGV9I58FV4BIP6TSFG0YK6HO9FB1EJTJ6RW44JDOTQVJJRR892DLY74VF5VHNFNY4S7KP09PEWTDJYKREPY1QZDEZQ9XZU4X0LMLU0QXRIJ4LNPM8KLGV171EKS18SERZCFD4EN7ZEH0INC8CATGA7GRAIKJVD6GPHP0U2YPHWPRZY5J18DRQK7ROFM6JO06SUVRR88X8QYAH9MD6VYVFWZ3LVCSGGOGA4WWBTWVIIGS8LE954MTX4T7VSPBDRYZ1IGMFHC7UBS0ETFT9O70W608BJNI6WXRYQM750TD6JUCW52UJ0O77QQ4C8P77PELXJH4EW2E17KN8MAFO6XOA6O03XT4F1YJTB7ZEGB8GIH76X6SGN0DNHO3NT = 36#QQR16XX4CRMPZP3EXIN8KH8WTDPS2T9XBP7KPF9UGBU4R2FFRD8ELUC8RHDUUU7QYX9YL5AYWNA3I0NJGB0CG3QMSC40B4PSES558U4HHL4ZJ37Y3UV2IZEGAISQUPLO8IHJSB01QYIS3QYRYWUQYHA7NSDPT95LMZNJ12BZY0PQ8MIVGHFM61JLNU2FVJ6V0AMP8GJ54HG6A7PYHEO6ZBSA11RUKBZSBS7TYXEKKRX1SRCGL2A7W2PGSKZQA7H2ML62GH1QR29C5AKQUP17J5J5WNHO7LWLPH2K32EII4O3BQHSM5EQS51QU1KMP49VQ7ZCWITUTYVK2BIKCSEESA4RMEBADUFRNS57A99QWV7YOT5BAPTYOXUAS5M8AXR6HD99CUAL84REXT1NFZ3BJVAAFUJ5PQR3PBE7MVE1PX76XSDV8WL6FUWCH3CTDOELI7MHLGC1UF6WRA6T20G43DZS6GIK19S3A2DXTD3J8F0L5OYWJNA7H40KWC9K0QV715KEYBB4LG5L3RE82TS0RX6UDU1XETDK2P4V7Z div 36#M3QNY7JO6Z46CRAPQGTEEF53ZKJDQ5N7ZM7YS5NKEMSIPJUMV. +-36#GG1OIR711ERL5AJBF0YQTU65GSWHXPVC4UM5YJ6H3J9J4WALZ = -36#EDV7TBL4AI22BLBPQPG29HTVF6N0TXFNRNVF9ON6CCPE3M6P9VI6NOHSB6PIC6NT15VIJ88JBF4MFM2HM1WKW34GHUV2IQVDV3IBZVB7KG5RSAT0I0EVCMWDGZQ2F0E3PYR720J5T5C12W4SIHPB4MCL43VDP4AGW7K4DJ3BNCDEE53UZLJCCTZ2PBYPZ36EUI3WHOOXHN8LYIHC1Q2EVBG4TRA3OMX9ZIZSW9FWYT9Y3SVMO3AH7PQ8CXZWI0D9C0AHPGCKHPYXAMEP3HQ8IC59HVF697R79WYFFBXJSBN3VUWLXC73E7P2QPGE8QARX5ADFFK50UMPW1JZ2AHCWB45UL0O39MXAWMHNP8PE6UOI16BB78YU7XE4LJIEJ2JMRV2K8DLW0E72HPV0GLCBA3X19X2BX0T7QAKK6GHCKL2XTOUMZTRCZ9LYLPPFV88JLW9305X15M4DDNL4EZKV4NHS7UJYO9HZMYW6AWY8SUCUT75S3PFQVHK3VNYY23H6K7WRDV2Y6XTWJIRPGC9B8MWTNY8IWIK6G88YLYVUXEOKJNOSBB3XH2F14S7B7581CNU57SNOLH9DU30OUXNFJV5KA4H9XLIINDTA2GLMVT9EX4A3XXTPJKNXTU5D2DYW1OR4OHS6FC3NZX89T1VYZRF5A0MBC3GSSMUG7DVFRKEPC5H038R5S71O116LZWYD450XL90TB8EAQ66F7SG3TFXJJ2WLX16010EYD6TW57F03MWLTD1MFHM6SA6MLSQ4ELKKNM0D6TILMH7X49YKGJ9397ASK65PDO6JDS3LPFNTW2TB3050R0Q08TGOTDRK18MTP8JMN4WN2O2CZNEVOWQBFEEG9YYA0C2XB04JD2QSSE8S div 36#VHMB5TQIC8ZRPE5YR4N3XX0NFGQ5RKFCQU3TJ2FLKEFLNJ3ING5IDAA8UZRH2BW2Y0KB8O1TY852PBQMS28V91LO4K736TO4I4DJLVFRXHCT0OIQY7Y0C5910VW9FCYE6E1IP08FX1JRBQB2T9IN0HVM22BWKM1578DVW16E7Y23RJ380S2KGGXHJR2R2G69KFPZ08LXDLJXWIY4OPW07OYS11HHGT8IZY2HYWFM542PN8B48H1LXBN8HDKG4BHRD7RI9YFQNHDEL9DMVA683ICSNNY5LXIDY6FGZDJGJVG9X5FJJSNVOU2NL680RQ4T6JVUENB62IAO47UC73LUWZM4F60WTTE5VA3GDDC62FQ0HDZITRS016X36QUQ5EO08OLUYWVWKRZM5MTLL7NDCM6TCSOYJ5YJDU38F0Q0314L8PKHXJMVLZ9Z8SOS9E7LSBQM88SPRJU9YS2EDTAPQ4Q2IT4TMBA70VFULG3M8QKISVTMNN319DGZYAMZUZ1GD1F5KNF45FGB1AZAGNR6VAU5398H77RZ0SCA9JKERM7QJ81IHCMQMYV1F8X1FAX9J23TE1Z8OCKFH5SE7RPU6RR4G3KP0GALWLXUCDXNP3ZA3CTQ7254FFROTK3P5K8TRF07M14MD3TP34NZ5RCEQIOQAQWPG6JBTMOS8L9IB5R7MQ21JQ2JBA403G4VJLBFDGIKGTZ9M2J8927PQ7LZOKF1U5XQ8E85272VR20KM12HDGT4C0SW1AHTRTGKXR3ZJP7MP5ZZUVAU36ZMYB4K3FJ5I061ULPSTFUFQSABCOSV3ZRFE61QFHWZWQ8L60N8. +-36#Q00U6XBP4VIQ6MTYU9KOLSGKGO229PT63GSD1GND60FZZ4638 = 36#GX43T93HFC77DCZJQVI4Y17ZD8BMXX3FLKDLYW6W7SPJ5IYMDZ0E57IUS5V0GM21X8TXPY9AZ6YAQ96X8L7P1NUWDFHQAF7GV8 div -36#NFD8JATPXRKRJ68AWSGBP7U2NKO1XPSB1QB856OVH5EWWMQH1. +-36#5WOS927HHS6SDXFYNH7QS4DGF3EHCH0M0EBZZCAYFGPQVWUU2Y4IKICP4SFP6YFD4B4D42KFJIMXGOGP2W3LSH5CJLYMZKUS211ACL2QII3OHUE82B29BCDEOO9J06G8NJHSNXS53YZWXAU09WOPTDT5BPKFRY4X0731KGHHC0AP2S1JRHSFL86NKYG3U4GZB88T0KLWWTB7QSRPH936YAA004IIF91ALXWUEBP89LID0NG91Z3J6XQL4WLXKENCVPLT507KBCAN316EVF0ROOBUWB1EK235I7QXWHI38YD78KUS2DMUSGOXXWE5E10DJPVU22CV8MUQOF8MLTLJC12WLINB5ZMLTPTMS8GFHF0CL2TCRJJTZNFWNUE3LQNZ0O3KJ93GW4I08SU2SXLUYQ5BV1YUDUFNAXGK3BMLN5VOFUAAOB0O75CE1GU1WQMQRE1NZB2OJSUEK4044RZLO8NE331K281ASEW4WC9P5B954C09PRJIAGEVF7T3FCDQ89YCI5RFNEU4ZYE6Q299PLPRXENPUX4K0DBXJKZXDTTRDZNUABFM17LID7B9CPUQOAB61RQAAODRIHEGVEIJUYJJUKRJLQLVARLH08ZL74X1KG3VYQ9B0CD30ZD1GD7ADZUHTMAL1XCRNMBNOMHE3PGNEO4N9LKFSFEYHHCRDQCUZJX024ANZBNRPN = 36#3R0WKXIH4WNU3VJVFQ1EKTX9CQQRLDUP4MHYCTY5Y1BCMCQY006CUEQM2OKVQV6QXI9XNSKBONPKB6P1CYUBDPX2ZP7Z1W4633HOY25PVEIUEB3FZQ6N7B0ST8O10EOK6BJSKQ2ESAXZQ8CURL91EIPGJ9UDV61UIOVNENYFA2EA1D19BMEUDMGJE1HSKHLHTUSO9YNSM0R588UVMKJKJ06Q6UPQTLS1QAKE1ZDMLUDM7V16FJIOY4XNPWQQ11SC4QZ7KC822THOSU16HV89M8PPEEPW17GCAT8J7EJ75T2IOHOJ2X4H457JPGXQRQLTOQ5VRY7AS64BP884GSHUXD83W7WDJHZJC70NMP3D53E0JTOYJF66C2IDUZHDY7QH1JUROL5FXLS73ZER6FI93RR9GVQOB7QAL3HDY9AWVJJ515U9HNKTYB081O680RMPB2FJZS3Y9N7IIE40VUKNK9T6Z4ENMW3SI8SRH12ZJ8DTXP59ES6NPJJJVBJXA29813FD0DFBM1KTJ3DENVS05MXBXU0WXMCTEI494A85FZRH2I4NWJX3G598SEJ84HIHYY0Q7PH639G67GPD9UMRJ3UFIU8IF9L7WJNSJQV05IF58Q58R8WVHS2R2SYDWAYJZZUHIBTAA65VUXIQSAC8MNSJX9PHGR7WZSPWA6Y5IVYORZYOXJS220XCIPY01TZC9VKEZ2RGOCUOX5IEZVGO79SX3WR03PEMVN5R2HN512EEWNWNUYHJCYWYU6GADTRMFAR23QJZEKC9G0BQAHU3P5S9CWGHC4KGGYVHNDKVND4PS39CK8AGTH535ZLKNO29HJWBN5PDRB9Y2R23PRYE9KRXLVXYC668FTKXGFKZ65XKWVVFYR85WOJ9DJPUU7WF4Z6XG3P5C9Z1B7MI6L4Y1LBWAIO7FSP5F4IW6S5NH4EP7ATVWGDNUIJTJ7S6SU05B131T9GEAAFQF6YCBNBD87LLOX8DE46B2RFRSWSAYRBHHLDWEJ1XM9JF86VSWG4PFB6M60SSF5NRR8JC8BNJV4JYYVIGQQBDGGQ5TZ709FLWAU24VQVPEVB23RC48WWDECJEU5YPXB1W1QIXFLYE3VN75F36CFSRF7X7UMZ4U3NXB0IA1CIJ32H2AEP4ETDCBYI4PDG53MDYGQ7X13NNSHS28Z7OW5D7F84U4EJUT75EGMJ4KD6IUEOZ346QYBBP8LA1JVDAE9TMDWA8XWEMKYLTJ5VUTH5 div -36#MURJ65GCQF6R1Y8UL7IQIBI3V7QTTLTGOFR4J5KVH5GWKKWK9CKK84R0DYOMKDOTYVDU2VZTFT7M6TG6A085L3NU2XPP2TZ02WIXTFMYZ8F53HGH4D5TA47PHEF0VRFW3FI9W50HETYA3L8F6B7CEQZJO4F577Z6QA0TDTRLGTUKTCV8NHOZF9F38IPNMBY4VZBMO8FYYZ58F30HF73TYQ154MFAOSCR7SURRFWA7CGTJU8Y9330UEBV86ZP6NPWF93YGXV1FUJOM8C3NID5Y8MVBUJ2LTT7BSH5HFE525D94T08FPE238BQ417EZHZYAIHSVQMAB0ZHMV1HBS3E3MCKLC5DJQJ2EADHZPYF1FQDTY1SUR121JOH1WQJMLF4BCIIEX99WBXTEEYR64N3QQ92TN4ENB8AO6OU82SUWWQC1F2NJ9NHXGW4BRVJ05QL5SZ4CC05L5Z6IF9O3KO5PQO19J05JRFY3ZIHOXMPYNCF152X7YRJJXNBW713CKV70F1ROONNZ50G0ACRA9HCP9ZRXO065LJX1JGEJ. +-36#27Y6XVXOL5KE4RPE014J2ARCADRNZO5DBB2C1ZNXJVH10KYIUBGH8LP2OQOBCPHWEEY2J6LVH6TTDW4UIAGPMB9XPAFQQ2XVCFW29S05IHY9LNRTP9K = 36#2J3QWJS24G0KS917TPGKWBDXIK0QH8F0BVECIIS24NW46DX01XUD7EQHM4WBIFF9FFFEP3QDVBJQ71CUZWIJOBKS8S20IJ6V6H0V6MJG1PM7K5VRH303SQ8U8SJT9QVSFPZU13VCX6B5MKRHK98PLW4HT3O33L5B4AQHQOBYSQITZDZAPJDLC1WORM3CSMPKGHHLZTTRB043BEFT4DGU9LZRY9CTYZ0L9VCBZC1X9SEEWK7YYI6PFP1R4QUOCZZ01HNECA3YRX6ZWEM0Q1PJT4C2KNC8W0FB6IZJ3L1ZVG6BJX3OOPT52K6L64991GH2VGVZUAKRGJS10DCDVS38XEF2FPUJ84C8ML1BSGHGSDD6LC2F0S79HM3TUHSG8PU4BPC1KTGV1SM6OQLUI1HL5CWM1TSVK5O5K1KDJ2AVS2J5GO7WQAPSMHWNAH4DUKWBM2WJ223WAUU9CUAQDDJXQX48SF5HEXFCMZ7CPRCTDB4IUJUYLA3PIX4BN86YM2HCID8BXHJCWRUMZSWG5OE1IDTTBF7QJLLMUE2UZ0NLSAJI5Y7EF021YPZFG3M9SYG50HG4JUQZZCG54HW6XZXVAIMZH4RLCNKTXTGUOZEKCJKLNJYXA479TI4VK9MOJEEHWFB938R4Q3ZIU9YDZMGI0DZ5HVCDX75X12RKP6SLGRRWG018SZ41XRM217JNMHS4W0LV9E7CJWLKWYS0U5RHS5GRWJQF4A3OYKHMRYMS6NN5B3LRUBK0ZWMB1L0AOS5LVHAFZ41XER8CEL23V0JISIUQD5UXP4G8LV9HD43EN3HSC0JK717II2YTDXTC0H1WJFV8TZAO div -36#150T9N32JERJ39ZO68XJSCJHUDSL6QC2J6RZNMUG5QJ08MD1Q3KZAZUSV8FSX5Q9Y929J3F2101RH0JBNCUNZY26FBGP7C3C0SJ23SALQM8ZLKJVZKMYFQ3Q4CS92OEA1UQN7I1T3E34A604ZN24LKK3Q7STUY4EGN00SVN1OOKER1TXSHNUBBIAHI2W78CEAVBUVZUSI0TJ4B2NPA5UAD8M59GUF7NXV8GGKO352DLZQRMULXQ14IM5HL73VOHACUZCE08JXWSX5SQPTCL992F7MXF8BYJBLRZYGJD06DJ8P237C4QN7RX5BEAV0QEJGOMWHSRSY8TGTQGHG76PSQ6N16PA01U8T9671B8IZ7MNDHM0YRNO2931EQ5UZ67E125GAFQAVNKNFO46YJZ17XCOMV5G4C98RSED8G1UV0OO2YF6OGNGX90UH20WITGWM5DTOTAUONLKY3NA7B9K39KQWYIW0B6O5P0N3SV1YHWR5XESXFCJQXFXYQNV7V81XC6DATWJIEM6DFMPQJXKQFFEHRYY7LYJ6Y1RNW9MIHVLDI9YBDX0LHI7LLB5KS8NNQEHMT9MV5YBH99FTL6O787IJOFHLBIFMADBTS5MPVHAHW1Z9J5M4PM6PDFK73SSPMP4MQ8ENOQ0I3DHUYG3V92MXND6BCIRM26DDTF79SDOO8NHMZ18BFYZJTL9GQQLS7AOLVOC1WN1MIQ38OGF6U. +-36#1TN2HM7O08KV7P9UZ2ZDA4ZAWU2MQ4DZWJMJH15K6BMPMU28HYIVWM79TL1LSH5OO0QABENEE187D11JMEYKNE5A3Q7Q9BU92NNLJ5E3U1UVC9RY0GN1CKV2JC9HP0HHQFVS2C28LAWS1YJQBG0T0SG6ZR7HXMAJD9K6M4OKHQKVKCKEM0GROKGZQ4MLWYWWTAM0DY8L9RDTVJVL24WGE78NNPXLUZIN24196UKHX4W3NSZC2VAZ0BCEH1RHBZA5GXOHI6015JUQ6WVCXD3GZM65G551SHD9DO4S0YV34BL8KXE6VCYLZSN5K621S5WV8N4FNVR87KYYW24CFF1NJHU4OPP9OJ3HJ9B6XHEMRR0ISL3ZZO44BK5XUFR350DR7QOC05HWBP7HEXHJH307TF6EHTC90ZPJKWTMUWGXGUYNH54ME4AN1HBAM7CHMXAJ83MSN18XB9ANCK6OSFWAZCE0SDI2TCGSOQJC7RZP7654GCDP1Y88Z71QEKMIBAYCMBFY9SULJP5FXPIA7306U97FME8WF129TJYCVZJAXZ5DRYTE9V17JYEC2VV5EQ9AWOURQ6CDY9QOFCZNVQJJDKC55SLUK1FYQAEF7490WQEZB2R7SY5K8ZPPELWPA437GLTQT46PHOWXQ82LWI7YCJAYUW1CTR1IQU13E7A6U0HP7WVJRH0VMHXMCZOJHHPC9ORU9CUIQ33HULWGGAPS6C4UAVBQAYWVMUCJUI3GV6GYP3S4L518MAD3BY8UFCHW0AZFBTCL59T2ZK2WMOKY0PJNJUFCXDNWSLMDF6N5IJ01S51A2RNMJ351Q0LWF0YHVERWUFPMTXBLCOZF3WH2PH0BU2F4HUQ8MEK6WW26U4VQABFP6I7A72BP0WYYF9TH7H4HE = 36#1US3WFP1UV2HHX0A4PK85YPLM56Q7AN1SJ9V9KQKE3ZV4XKTHKKV7A2J6X07KR75GF0NA41BYUQ8FCWXQ95PHARUW2W7KUG8EMY6W3UPP35S58U9JIU9MB21LRFMLWVHRY3PJKJX95544JYUIONXLNZEDMRI0VYMTCOY9JNM78SX03DYMYA496MMOLFS0U3J0GC07HU3ZN7HG2KATFVUDRSE9H3M1U8MFVVQXXPGHFQFN3EKYINTAN10GR03YTIN70AS541MS01L64GEB4DHPI2ILAJXPDJNXUO70KAEGQSOTJL2Y8YJ75N8C4ZSS62FJN9IGOUFGKDR12RWU1PI7ONQSV54OHTD7K4EW1B6UJHK2M5OM8ZAW0PW8IDIBBSRSMJUIR1SMFPZ7O21GC34PZFJOPN3Q6AYG2IG373G8MTJAC59NG7BVO7IUXGDTP2DARX9G618BA289UUEBUEWK4DKQRO49YN40WFUOJKAV9PLH3WUT56NFWN986N5J6L4XQWXVL3O4VC6EH72MZPG0TYUEDHSS7TSNRIDZVIO59HXRYGW3YX5YQPUKKRS6ZGFZBHN10FX2GCVEHC5DS9L09YQYG3C929AYV3B45ST0CTOAHUFF3CWYWJ026GUZN1QICI7GO5OYHUCK1YZDXDLVHAEUBBFTDY2QQR4V9P7KFCLVEZQ62X82TJMT52YHCLHMOR8SFYPQ406CAWU3V03XKA9QWZ2VJQ0RLU2KXF531KMT1FVHIG4RSUZU4JIAL5JDRFLX0L4YIF2WOKMHD9NJ1NCBOIM692F7M4H8Q549BGWPTAJATGJK5CBO8VTPQLONQR0URHIJ4KS6J70J3F83U4LV00Q0X0R6IBRLEIUVSFC6XFCQE13YJCCQAI6YU0VDPWXGT6HBG3AJJ9KNSOF8W6H42I6J9FCLM71954WG47S1KGXMDECCSEILRXOHO9YEDQWKJ0KEFE1E49GKG2TASO9O2IJPZGV6E3I05AA559WGODVS6QJ2C2BT2ME3N1IC07KDXI7HLK00N06EUYWHOHPDR2HFUYR93XKM99X9ZIQJVUR0JC44MECOHOYWE642Z8NY487TXMKAUY3LC0PKBG3N70R2YQBX399FMK8HTVFYPC1VSJV7UE7WWZHQ57YBSS0KKGAST01ZUAIAPHUXYY2Z209B9RXPSHE1N9K0LLVK6TDYQ5I463CG94RVDB37NOX4484RT39WTE3JL4NZNTPIVPIWYWB9P1HU3P4PAWI3HMO5C4M31VI0S87FT8VPWOUN1CEMBRSUAET0SYVKH74CJ2OKP9LOUSI3HK1CZ908AVQ6QJM5DFBU08SNAK7HBHMI2BR7PMWIAW0Z0M8E4UVKH2P5L2EPKFUX8C8Y3MSON7L6MJATZKNVVRNBXIJUHYKPGZRNTTHJ91F442G0ITXLATB201NENWCF04UUUI32W5ZT1P89T5LOBM20J26W0CF7UTM7CJTQ1K8YD8V00Q9TLLALBILIXUG77XIW3EELHT38DB4LR14EZ1UEOLMMI6UI div -36#10MI9QPME9OKCCIIXBAM86YEAF9MXURGNDOQO1Q07DXM7XLIXB6PF4CJO5XUYOE5GOFHNV7M7W9P8ACT8IPMTPU17KW60RSY6OT47FW5R93F875Z1S5BB6UCS1Q9JYZSLAU2QEASOLDNK2KF5AMLIF7JBH5GQAJA6FP2UPE9SW9QNZ2RR72Y6A7K20T5CTQ1P53AO4USW6PVTW6PF9KUYAC7P6JO11F7U0E2CC2HHV38B5E70IQT2AKY48D9FET6QM2GOOMVSK6RK07YJ7FSO2FMW3U90XBXK3NZEBT7ZMEIL78RJTIH4L3KXG10E049SVIMPOCMGLBWNPSBR76BV4KGWVH96DJL7O1QTCQUUX2Z46KVRLVHHFC7OZ8MZ5MOOXTKOOMVRCNBNSVTWJFXCM3KNWJ5XS4PTROZDDHBUXQQ6OORZZ80DCITEWPJLOTHFNTBOV2FJZ864TANSCRGWUX81SNGACHPXOZEWT5DBVOA55GG964J3QXSV8UUZ12OMBF3KK29X97OU37QDC73140Q4IX33GIZV3E2I0C3R144ZXPLGU179Y6QGE8IKK35608G0EU3GDP8AOMMXNRI8L88CUNDG8MTDAH2K0KBNFZKPBIYRG6N2QMV5YCFY7799. +-36#6IHHLP898BZHVI36J607FS6X0KXMZOF5GUXB15ER2L3QFPSKBTDAAOK2ZKQWI46YBOTTAN14GETCU8BHZPO53GPYM1OEF76JMOS08BDJK5YW30LJOPIGGO0DKVOJYAXZ9TMS137TVCVT6WFEC19F2C7CRDTBTU0FK8SIYCZ8QCUFIAPVNTU05U8PCHUH0SJIDSBE8VAWAJFFWMMSY0Z9QFABVTM7O2FA24RQ4BLYIADFD47Y0RIODUIJXDS085YFSGY3W7WA6GGESUDBKECTSIYRBLD9YL5J2VY09FFGWZ1Q7SXEOSM834JSLAWBEZWFU72V3FEPU3WAXO7TNFX6598OT988A04XNFP5H23LOH0HRQSCAL6036919NSUCS3LSVO = -36#2H3TYGHBQE8BR9MRVJVP5O4GJSHIZEI5Z5DZQJCKRK4JAMECWXRHV2W8KDY08IVWNEBVBB9FMOMEQDRVU8SFE0WPN1CFVJFDDBHUPAYLB48I3TUWAWQ73ZN117KE9MGPZ1M3V0SXXM2USD3ARQNNCQ548SOX0XF47V1DNVDY7HTSZUGITV7V1ES41RMV7Q1IFA72JUA15CF3RNB6ANWRACUBZPQIN98OQNL1B92DNNR3D3JK81PD5POGUMW0H7HZ9YHZKK78C1RHCDK54QI75LUQFAXJ9KZF9KPRZ1WWQ37MV0OZQZ2ZDY0FMZZKU0LHLF5V612ZYMOU59ONB4A762HHHTJDI9U504YCNOALSPLD3PP4TNKMSRZT0QC9Q3ODDJEJOIFJDQH54Q6L7R4C3GWP83OMJX04BAI8MLN4JAA77Z0OUF2N9R7726KSCCUSD6HZU4A4WENRZTQMIEO0T4HZJC4IA61LM9MP23O13VMDRAD1IFD2C8HCLQAML7KYRSEPYOJ35PP2RH7QLVFV103G54VMV2DVQ9NUINQNCA927AAH4TAIGVHVS52BFJAVP1EE0AH0UEUCN9TCCG91RLFP5VNT0DZTJBR42CT45B21GZXXNH9AT4TXDJNM8A7O0YY8QJ6I7YEXXGZO3XWCBWQ1H065ZKSSWO5F3XONV03PN8UJIWA1TQ8Q3GZFDQTLE7VGU5SNXYII2GZBY5J5DTFMHTQLS2KHY8OW00W1BS5Z4S9HOVZ49FHKHY1XYRR6DL4UFYJR8Z5KHVIO42T94JMEOVM7RWO8WKAZK53WWGS1I8IKDNW03IT3JMKIWKUA07Q7X7G56HHHUKPBVH6Q8GS7P4KRSZBNMJUZKZACIPZJALJVMJZL6ENAR1RTFLSAJY282WIPLJ9P0HGKTAZOMG4R5DGYQ9BRZMRAJS0P3CNSTG6DUZF4VA9XTTQFSHJ9E4RCAMFTJLYXHZ6IEP1W4KC7W2KKAZU84225RA002W7893PVDLM2JOG0W8H02FNHJPH4OO4A92C1AH6JYWO1FG0BT5EQ9UT6WA644TTHCAOYE09DINFOJ2609T46G618SVVRAUUO350JUK4RFFP7VKED5RIPOOC div 36#DOHNA1K84TR0MKAMFO6SI0OOPOWH9GU5UBAJTR25VP0S22POWPUAXJZL36HZFF3PYSVBY6EZ9FC4N19S5W334GF52YGYNVKVZROTYBD1SCZ656N8O3W5WZF3Y2MM3OEE2V7LTCIB20GDF77KZI58JGRTCBUYXM3VHI54EDN9KNQ9JNGATKVGUWYGQ9X13T4IB6EH4931CAWDYAHXNW01L7W8IILICK1MX6RTGMHSBG5QOZ3AKKUZLT1H6XRVR1VTZ1WMEF7UF57PY55KDOW1OFPPWP15RCXHVD8PXEK79LGARLH4H8NYPOLHHRB23H68Z20W6T5VS893PDSPE905BFR43L6W6GRGENWW67L3U8YTSB7M7BUIIYXY6AA512A8RZVV9DSN61B8TGPM7FB70VO3URVFV5K5L6H5B9TP5PTAZE4J9IDZV8YFNYAED08M2HJEKYXSKYQNUQ9KDS1MMJWJE0UF96O1HHW7J8EBZNAR5RTN46JFYZ6WLHJKXKC0HC9CJNJV2PKYK8MH1M73OU3X16GN2CY7T1V6TZ0FYFGAOKYMLMZC8OFOZXGZHY36D85UEXX803EIE5FRDNUX28INJ9709ZRY6ZN4P6QVSBQNBO6VZ4NH3LPJB3OA1E2TQ70TXSWRFJCV8B6ZLZB147DUXH7VB4JLNNGAR0WEBH983DK4CVRZ7NRRBX6URCD34MGMURW0GQ2XVA0IBE66CBV8MMFB. +-36#1XDLOX0H0FQ02YV7VNQLHGASQKTXUNL31MVOX4INYV1Z8Z25S7R193IL9EHSWNGI8L84O6Y5O438UW5ACIZFA1SYQBUAXBFA9NVRUZ2MMCALUFQ96GOP0IQEDGVVCJYYD0PPO7TGW3Y38IPHCBE4FN7GVF8E3R61U97IGGL6RB9VJRDPX3I9M541SB2LW8XTL1F20LSBI5VLNIML51OSIOOW96AVL4J5CIEY3XWE78FDI8RH1JNS9LB7FDX7WIA1A5EMMV4CBRE8WYWVB45KJNOKQ411FF2JCJH01FUTTJ9VD9W0RFNYWTHEFG7ZW5BW4H3690IYOQVH1MTLJDH77G84V6AZ6P4K5OOE02TIAVV1VK1PYJULP69UK9G78BRIDIEMH3K1QNYLG1TKH3ILFOQ6B7JNF9RQ6J2JPI9HU54S1CB5X7C8TQ0UXAQ22XFN0D8IYK7LQ67NTZBJ2IC5XX7ZZK39RXY22JJEIGZHPSYO1KBXKTHJVLOO6CZ07P1XCI5ELB2WWJUDO1PWK7DJEQKXAETPT90MIEA20997YYF5LT40ZTOTSVDM8UEFMR3P6U4EXAEPKN8O50AUYOK4UBJ0H3RSBNZ47DUH85DKSREO9 = -36#3ULUAWXIIKHATZFA5VDN3NJNINGWCIE2G53HBVXIUNMDQSUM4A3ZB2ZQ9SVWADFVKQQRIZY5407B8VG154RGAZD8Q2067VEFMSN8BPI4FMZTQPU659B76NMHZT71ZOFWS5GWDTPAOKKHYZBQIE6JSOYPFHQY3PHQTKHPVS6ZR5TA2UXYEO5BMV8YBPHS1MLPI1M8ZBTRX01SK397W13IOE1X34GP2I16Q4XYP6WLZGHXX4GU50DQW9ZH4D1MJKR243XTOSIW8OZ28A0YJOHMYPE8QR8P5BBS003G7NKOW6KUTNMI0EWGDXYEW17723A1HN7UHE30PS6E3VNDR5MYZ06W8D7UA8ISN6FKCDS3P9LQBN9OCTV5ZFY1QV21SQATKONOTFAE4SCKEH27L5L7XG0G1Z8RBB3OK7C07GOGJPI2AML4TD3GOWD41CWPHRYRTLGMNCB85G30GG1WXGF3YK1K2TFA2YXT34MV466MW34O67LMR8SN0QMXLDQ2DV0D98SFQDJZIQ307W2U7TT215INGBU6K18JIGM241FD2RT090267MAT5BAS3B6PISZS1ISCS3WUQKEZVCXEP5FEH5PAKX5P67V0V84OQ69QOH1F7OGQO6EQ9L7RR3ROFCREHCNAPHZ2M0Z27C2UQO94SIFSTYX2J2BHS0Z4MZNZD0TY3JFQCF0MAC9377CP2U3K8AXUEXTKRR1L82JBH4784MHBSTHNET3PLO0VO8F3KF3GEJNQXZ15H7QX6KASNE6BQSRZH2EZQRDM7N6N90VXZK4QG5X8X7D2Q7415HVNRU2VPCR8JKXX4C73UJMC6KTO5YYBGM8LREX801DFV74A6BCALLXNKITP6B2IBQGIXB7AWCNQ74SSRWQFHAY8BFUKCB42P12B4P8V8159OTUKLAF9CH4NFHYJKVL8VQSLWRWFCEFA8BIZZC20UGJOLOCLF08PQO2WW72A9A7QGNEKI5T5GA9Z3BYGKC2EWR4ZY4E3GGJH161WLJ48PY76J29GG46S4CREFU0OZNFM5QBHSISRYR2OHOY9H42864JGDX739O7DNRRNAZXGRHMP5PGWT8Z42KNFUODQGVZQ1X1HGBQUR9HWESX8TYW3TKC9KZV3S4K7PVRYAY5IITVWVIK0TXVMFWA8IL6HSSJANZYJE1QX03BTZ1CFY6K4ZYYLOVD8FX4EYB1YAPGR06ATCKNKENLIBY01S03H189JOCUK08EYQS0QY8SH5IT3QA0KIJAQTRED9GUU1YRJCKTLZKDT1OI0L6VUMP3W8QB6H3USTKY9 div 36#1ZX7T6N7N8BW5OKF41732KJUWT1GPPKPXV8QCCPTC5X8P56KLAPCQC6CA3OEZ2LB8R88KOO5G6I93JS5YEJ0Q24M2G126DDA9U27FTRI91IP72U8WFITCAG16LZ0ZZPQOCSRLP48PJ4MGHW3CR5OXXUVNQ3ETN268FEQFZBLGH7PJMFML7NBAROF7VW3GXYA2GUPWEBDF09FC7MRAR3PKJNAFUDXMJ3GMT0GIJVPH02I0MGOCUPNRQFFUHRYC1MOQ393D49LF69R4NKY15O3IDUII9XS9OU84SR4B4GD76PA95JKP4FNO6VXETVXJFRU7NY59ASG2U71AHUHIEO6ZWN5MPAZ1AFGLZSYQJHPTO2D6JJ54KMZ0S8F2ZK0K5ONAV401446DKWUEAJJCUJ2AQRVVBSVB0ZQ3329O25ANX0W8MYW92Z7L4VKBG4F5B90LU2537TL7KLUNZLSAIQHOQWM28H1A9MIZ3Q1H6JRWXQN8G4ZIYVNBE6PGYEI3YX0R7C8BI4C4RSXK1TWILZUOI1GND7SCCY7F6GGU6QKQOSRWGUW9NZPTM226HZ4AC6PU7TGT6R0K7CCWHX8DMYZPUHSTG7FZ4V8FOY2UWCOMPANN6NYTKOONGNR8RA94J1UHQP38SLGAMRMS1J4H7ILMK8KCYIA276QOB0466E1S3YH. +36#2QEJCEC2J822SF9YCZIWOY9Z7E39IFTRVEC7VO935YZZ4GU5PD3LBZXS5IBNGWXN4UKLM156A0C1529BSDRSOPFTGZ8ZEO5YU3H91Y0CO = -36#ST7IK9LEIT5IB2CPZ4ZCM9PHAW3TF51BNLOF0TW4VYIMASTIT * (-36#3EYFCRT2OAJK5AIX0Z55PCZ4SQQF6WTXXIDXDD5AZ1YBBW18MJZTIOFC). +36#1I849V2Q64C23JYWK7JR3P1N7O0Q41PY92A8FKQC3I6R3YO3OFQPGLOF5XHS21GNM171EEI1KBUON36BOVO0BCGU09NF07JNJ6ADA4AVXVDVB0CRI73XP2SINLU44JVQ2KL5FTRDUUPU31MF8NDFHLUN7OFYZPSCATZUNEWT8MBRMNKQPMHAGKODQ04A1KP4VGRASTPAWXLVNK7VIRAPJ4M39R0XIS09LYZ50BZS16B8IO9JY3ENKMWCFP69JUPWIO83081FVMUEIL9VBIY5PIY6CYSGJYFLO9I3TAXSAAHF9UR3DZ82GYJFIG37O3JEVWBFPAKRSTCGLEC27KB7A9RLAEZY0NEQX7D5LB2JMYQ2T6MCBURXW8MJDLYFLALX7CK4YNUQYRVXPIPXBDORYL42BHC4D1OY7HGOU524E7Z0PECDAN5UNS8YJFZUTYWHEUKYMU0C5PGRH5DT9WKM4PLYNZDYBMF8R6ZJIBDS9GFQKQ6IBGF4WO1GAXSGRJCBSITF8H9LX0FM9H715KC5PPOI4CQVSADQF2VFWN9FFUMW3Y8YACD6GQM79CAMQDMI04B4E0K4FCJKOL5U99DGV3XJXL92GY97K9Q1BFPUUHBDCHQ311H6717MURJ8YIQDQYT5WL3NTC3WUI9YA8JAQ8DEPFEV206DVI0PYIRTKGXR3USKCAD6FSWB9AJGD9LH34QU0QDSB6X2247RR2T9NDXBUK39ME1NB13YMVP0ONEXDCC1KY3KVYJLL8P3C2Q0NFDDNAAM34RI4XXKLI9KW0XE9X2EE3RQZW7N5KX2OJRH95UCAD92OSHKWP0BUG22BZPUAU4YT15KVVF004ZEWZC61Y7M6RJNZ0B3WTNE43CCKG4A4UPJ3GWINI49NCWE1M51M8UZVKQDTM1XD2AHMMIEZ2ULNIB13Q7VZWP1NHNHWCOKGUQQMMM6R0IEGQPULLF47X8UN2CZEMTO2Z6IZ470M39HXDLM9WBSABDY70PN3KIOXWPL9ZPGDUES8L4HLVZCX49IJNF9FQCG0N6FCCK4PEPWGUDN7QCAUNKKM7D24SM8FX833ITU6HVXEUWGWS6V7ZUOBUMLTWBZPT7L49D7AVM8B3BZSGLYZACWJJ3H7RKXALQTKUEUIDK6GGF01VOBPGREFRX8T7PYE76IO82RZA1GXOHKE0X7SLWJW70G88Y7CIZKVEIDFG0ZSV9F42I06HQOHPCRZAULXM0LQMI6G0V6D7T1Z79T6W82Y9NJ4CF3P423TU72IWBJC1Y3EQ7T7SYZLGQXTANH7HDSN7QI2XDMQ52VG96P0QX4FOZM05OX4Z3HIXMQ1NW3FYPJ886347AJXY17OB3JX3JUDY77MHPD86LJD7LEZQLLKE1RC26HP5RF041DMLSMVYSAC2A1RPC2LESSVYVQYSKXDL766T7XOCAB5EHIFOS6O4Z0LLGHXPZUNEY75AGAZ6QOAG3SHAB4ZTGAAZ6Q7FDR60ABXOHV7B7P8GRU4AH65ZR1DTUIXFYODZFCQMLJI7JAZ5FUFHKRAU4GWWQ8ZJG37RFYB2A5Q2REWFIB00SGLQP6GRO7ZWGIACLJLZWO304QNHW2PU8EUVM0N5FJG5XJXVON8M441JDB8PICUMI34LIMA1HKBTF7LBTBC47CO3VC0P7QCWYOEVZ058MZK4G8UXM60RIYSBY9TQGX10R0FOMYWR4W2HJNP3B595062E6JXDFROECJ1YIQZG4NEHWPOOIYZ8Z8784F87AKQ6ZH6W9F9TQ5I3YCCWWTMO3L6Y0VCPJ7KR3Q7ZD8FUTHY1ODPOY9NH = -36#6H5O07BVFJ7PWX1B9JI07U5S3XRNXMPUX0EFPOTA4Y1A3U7NFGWY3190L1O2H4WMPHZ2C0F86WWK5LZGQ6C3FIAON3LH0C9XDNDHWPJXCMNSIXH9K8RGATK7XX3P7W7LYLF90IO4CVHN62DYQB6QT51FTYFKYSE2IN5UC37AM0Z0IP0D3EQSCC5OMBAI0GQ1B8WALT4I1O9GA3VVQVWVM4DGUEMP3FHIXFL5OEI80P2KQ79AIUH2KO1K4GK1XEZY3WR9SIWFGZ78536HR84WHSA8LGNY4LLL0JK00BP056SVJ34T7U8C8YZY8GLODOAJ1456134F9Y45QMLRNEQ8MZD035A4DA2BSW4BKWC6S33MEA958X7XEQSF53DX5GH8FE0MY5C94UQAQ6066UT7T3SG3I7EZGS7BDO9Q57NHTCJ01ZQIHIRACQGA1TI01V * (-36#8DET0OV1U7T7TCP2TOJR8EGMH4VIU5FDT3WBSBDT7BFWUXDM9NQ8XE0T31UAH5DY9E17HKI6PFEZ4V42WWGM6QBX19S4HBTQZB9BOFNQIA8S8JAP4ZAYQXJIBAJW3VBGDD3B5XVLTTY6ZXLTTQYS6NB0MQDCWMB5KJYD9UUAZ2Y3IONL8I8RPSH5Q3DJCRR4NCMVK89L0FRHQXGL74U840W43W9417Q51UX2M11EUTO0VH9RU0038N59XFRV5FIQWWXJT82WP2M6GSNOL5HTCRYH0FXN1HO3DM0DG9O86SDLVFFASS80HBFG4IQ65FHDWBK1FUSNZQQ1AS3RYJ8TRMA64LU3WSVOHFHBE8VEJS52H65QJKQ1UD7DNG0PKVX2WZS7Y0NQ9Y1C6ISWGKU4GQU7HQUT6W6HU6DW6J7VSKJVRNJZBTZ18AIEUJQOURHOVHC01BP7CS449CFU0M6ZMSTOD6462Z5FEIW49JYQG40WRLZ26S089JUOPPG42SIR1SEUDLYU346LGIHQ73PKOCIHD7Z4M1WGFKRKBNQ43DIR4L6AMIBJK6DSVGZNFWNGA48JG8Z73HQZS0PHS6GRDGTB3AMHE6J2PNJV2XXJDUEF691G8VS9CO4EOMO49H9H0GXGU2HD6EHKGVJC39PX74BYBOFODGKSGCB1PKXMFPPLVL978P930D08PECW5JT2YFIT20FCNL94EEFDVJ0HZQ3F5OCHCXFG3VOSFS3QG9YZZ3J4NB61XD0F2WJR0I235D4P6Y1D8TD18W25LFSXTXJFLAB1K11VBXDGZEGLSXC1MZM0U4063AP1B29RQCENEJENMJ41LXZ3DSBOTONHXM4BUYPHWS3PNKA34MQ3SL4LSI0TCD18X9WA502CA80JCSNI7WRRKGG53K3WSPUWATM03VILAHKXNAVU108H4KEOTT1WR6N2QPTKWMECT9A7RP2EE7XJYH42QPRWIP9TLMIEXVXW977746M93MBGUD8SG8I28QLC9SXKO79XDK7BBHS540KR0H7FKUAZHN75FVCCQJKUTIRSKFQAZSNPUB8JPT5RDOBHVAIKBJJTGY3AV8428CB6U3SQ2UN1V2YBID08CQPAP1FLZCJVUMP0FEN98BK1670OBZ75RY1GTAZH13I4RI1C540GSZG1YP2XGN4Z321E6SIGPA48WNIZY5PWG8M22N5723PXK21NLZQULR7C17BDXFFOB1L1K1YCMI9J7KODRF81BUM8EF0V1VPQJSQ53PM2185T7TL1WEEOUMKN1G1OQX9W0ZN0IIZIGKXLF5EOSSACGHNE58FJSLP2CF8OPFZLTI1DRGRRD4C4J3LWQ22QGZY1D1CJHP29ZN2S6LB). +36#32LCZ66H5QRCO96P2EWMG1HOA551U2U2I54L3WEEFXGFPK4197VDAKWNVZQV2WY2DBHKCTFCWR2K7XNZEKE87GNCTARBFUMBKDSLEMJ33PMIH0D02RDM0GQEX76C2CGF8DVOG1CI7J2LMT33KESUNXRW1Q8GY89AERFO4YNJHU8UAVZLTY35YDP7KHGW5JE4G97XKMYUH514QLF89OA6USDITIW8D9N36XBPH8MZOMKMQL1LE7UZC4IWMXYHY43NL4ZMKZGYZXNC4JSZLPYHVOAO5WKXIBQ6F6VJS4QFP0O7QPYA3TO2XRZFCSNJAJO0JU12E = -36#3CF2Z64R5LLFIGBQXBV0I2FQ6WS3XY0QK6UZOTQ5LTOX3U1JYBY4FPYCTF40KDL48CW1R2K2SVXJSUNJF52MOUA7FY4UTPU2T4BD3HB6MEOQAJ9M1A61LUXSL3UK0J8Z5RLNNO4DP2082HYO531J5XMW7IM5YYFQ4LNWJKUKRNTJR47D7Q50PN2JZKLUF12RCWX9EVBL78H0GQ07G1C2XAS3DYLZKNX51D51J4INX6TH8205LJASNCP9WTEYLL45BG7JXO6PV67S7BV2OBHA3KUJACUBZ5GOZ0U2KR3MNJTFQETGXUJWCW9J2F4IG2WNOWF65V0SGXHT27GLO2ZQ02OOZ7429GZ998DJLIPNZUT98OTTH94QXU div -36#13754QTVK8YTT6XDDJF2DNT45ALIEQJVFEWJ8L4LR5MYISZKNF. +-36#4WAYCN19YEJ6V47BPBQROZ7PTLO7ONXEKCNX7ZOF2H0M0T8GW6R73RV2G8CUNQS3EQC7ZYFVB9F8WKV7NRSKD77QSO58B8J0T3PGJG4YL6UYXKYEJMXA6TWGTD3EWT9O4S2JLOVKH4W8QWQ4H5RRWC8JGCTJ9L2FJZ34IVCJAI3XP7ADJXAM50LL7DWWIV27SWIKB4Y148IPF82F3VF8YA18UVTA8WVEJAN05QW1CBZY13PQJFZLKJQ891QXBR61I32RU5RRQXS204MROQA4HSBKQX9XTDS075TD0NWLA022VDHNDW74L9IW637ILFZ6P5TBPVSP6IWSTVZ7AQCAW3JJ4P2T1TP9NPEODSO5HBUAHESMYS6ICPAGALM5599V57B6U87KUW60E7JQNMW0OXXF89QKRPGG8VPHCSKB5NPZFUH2U39174ZHDQ9E0VWDMKYWHYXUBP3FZTKAE3C3TBN64TGWV9I25USQ2PGBE3M2DL54XRIC9SDSVP0VV9XHUXSZFK7JO7Z234PLLNNEJND5XG9N147HMVVRKZWGC619QOB04E1T0AZT6U86Z807FIST5NE29X9ZVS09V2FDNVOU7N9ZUWAB8OAHZWBS14YDK6O5927YT6VRGE72R1XTUF7EBDO84PZ7VX0HMYW3HA0IYQBU49JVPDOX4OYFGI4H33QDG9H70OPUIVI4SRW183N7XV1NI2KJSVYGUYME2M7EKIH6FY64NZNFJ3Q2GCWH2ZTDYVJGE4W07N71D18GSEAG5ALGZJS8E1N2FH3NCV65RA7KVBA72HTAYAO4BVIGH7XIMBTTZ2A5MA73Y5S21QRHFW503QQC3NR1JNOVA1BLYEVVCFDN3B0NJR59U7846R7ED5Q5A65K6RGGNJ0U2Z1D3RCC9UBHFVUTL3UOIO8H4QDDE5P89C1A4UV9VKG25UT5RIXUWBXDITKVQG6UAGI5ED34XNJXXKUGAPVA98D8QRHEC2FRK70YZYE54Q20AGWD1AWJO61I2 = 36#ARDW5ES0D9QUO34MPA2T0WFE7MLJF84XAIJTA1HCN7PDF0WOF7SAITJMIB68FCLK33QI6RLIVGE13LT306XU2RUI20G0S2QQHAYT0N4NVA2H69V057C3XA9MNCQLSG16JNE4ADCXWYU7AM4NIR3MJ8P4WJVT8YNKBV0C1BQ4JHFE4O6SOGXXKKEIGEDEW99NSHMYS7TXNPI64K80TS0OQRRUHMAUE3D79SBF2VB26HSR9QTC5FL8TF4L5LLE6ZDXN3UNK3F5RGA13KDLZI1VRJ44QB38PWQ7VDZHV60U6DD3QI0FC3LAHSUPGXG6X4KKI6MD97N54ZI63J7PXW7E8E11SV61CO480PFHXM1R7AZCLH4TRXX54GSRR4ZXHS4ETI0B6EIHPS5DQKW9F9DU6M45778N6SY94OHR1RPCXCT339H06EHHI5VHLUPE76APGSO3CKB3ASD7HFG0LDJ0E9RK2N21NBGAZ9DPISL80BRDTEQ38J1NR44761CZRW0LY6M8UHINBZQ9G3B6YPB15NWM06G2VMIAF4I9UU4ALYCT05NHTAT2WLNVFJY98J4FTD1E0XKSGYM4951DIKMNDSBBU70G5RFJOY3UILUM3YBNS1Y8WLWOWY9OJAAT4ODO9ZQ5BSEA50N3JA17IFF35S6I3X3UERJSUSZ2MQWB5FHA62GOOEY0HTZB6RFAZGXV32XC797I5ORHWIZGQIB8PXM2DAD5G07U0YBRBZ7PCOM5KX6TD8L27DXXPO5IR88MIJQYO2OWGZ82NXWU08ODEUK2S97H0MKHJXQ2O3HJX2PKQ86LL75UJ8NKOV4GTFIHBYQSDS451R1Y01AVHAN9ZNNKK26MKO10AM6R1N7PADHNBH4RO07I4GBPL64V5P1VDEX5SBMYE1CTBPBF6RIY1B30USVOZQCJQKMQ55LEG29LVRY0X1SO2X449TSRPQBPCB20HZJM5FT1UB4LYW4UHBI74DMHIY82BQFI56GZSWJ34NAM8E1XNWVEMC2L4HHZ25KYBYJKEEEKJ16DA2ALGAYD4YRB3LFCI5YSWLYSFI div -36#273N8Y238F8AFTW5P2J2F37Z26PNQBPUVTLXWVMOB115OERBYR. +36#19XE2Q9JETE7MUG2MVYJA1A2X3BMHA8ZTAW8OKDODZSTZG06MMHYYGECL3H05EIL714RUBOM7LH1UHAI39M3AIZTLBHHL7C8JKPXYY858BW2FA896FTC4FZCL8EEVFXKU3GNYM86IYFUTLGY51WMPNCAQEYKIWB4RYXFKSE7A9ED3EGP5RRP9V4JMVF7B29YBA8HM3PV3E2Y1SANSNV3PXEE3R7990T2DZDT2JUCYEKTRAA5KUFT5FXQ2UC2PC40TJB991TENSB51YHW1L6BQNUJB8GXJM6981K7KQQ92EF2VTUYLFL00DEUD1ATW6LN6KDFZGFCIHAJBN83KS5534QHQYV90FIYIKKDYXVWRMCP8CN0EMBUXPYMD2X4ELGO28XGT1I6X5H2S41C3G9KPL = 36#SJSL3R0K6CI0VTVCM1TGLAMOR8M0LK81L36KY1LM1EEP8358B74HYJROSEMAS3OQXWKOPZVG2E9HG79TVZ7QW7LAUXVSL2H49F1BOTMCI3FZBYYC7L1CA6KMZN6SQI6ED6V1TCR0GY5GS37AJJEHDGFID6Z2TG2VZB4XGQGVESD8X85E3SL34HH19JV6EW4UQ3BENWDGI8DGGT5YCU9E5O9KCKBWKLNHYKC2FP8UBJ1CHILL6QJ2WUVGC57Q80HSE8SEIGABQHRMDN3VDG60PBYCVAX6Q8HI82B4HXBLPOOYUFXINSYKXONMZREB3Y7N959R7BODYPT2MAY8ESGYT8HOSHHGCO8FLC91FJW40VYQXOTFJD26C30X19HPEXO4NO2USZ500FJTU0A2TFC5QSUQ99KUEFVOHM91P6I5TX07Z9ZVDSEXCBNOMY838DZ08FCL7QNGR5K27G1M14ADF6FZW50MLTOB3A3R9ABQNGJQFKZX6E3O0PMA2S4MLIRTQ409CTGQAO348ZPQAG7LUO61BUNT112X0A3M99483J3RTSUO4RZJYY7M0Y35USFCCP3ZLFJ3V0WO5LS7CT9OZUFKGZ2CT7XVT5WIRFE69ZD4C8DX3AVOJVOBT52F3AW1TMW23X6S200JV2KFV3CCWJ9ZEM0WSVNQ4TRHACPPPTN5F4GH9GC20R4Y4SHEY43X26Y6ARXC3OXYJDU4CCS4546PZXAZP1G2UC5D4VS397JKRJXSE66HGLHCTWDQ3TS9M6NOLQJK9MLL7N8D9F6AOXM46N0XP26FVZ6BGJ2ZUGBL3HNT88EUGGJE0ELK2MSA5MG7XJYU5BISS1P8ICWFW267RYJ6XJWPDB5I0W6IM5W6JI2S9R6KWJKVU0P022YBGV9P9ZIK0QWMVZJALLHVPL4R8W0CEORW4RBI6D0BR div 36#MDMO9AFCR1AM7UHSPDJ9CTHVBFC4J9N9SNTO2BF4SPRDD1NQ4XPM2K4W9B2UFYJ4QLCNESBNH8BK5UGU9Q4CS5A47DZ4CXSZ4DSGQ022A4WBR94Z4XXD6OP4AJNP5Y7ANJFD8QQ6BT2KYKPPA2OCE50CG07VOMOWCPYRSY20CR2VM967X6OSJFB7B3RR81JDDQDAG6I9JYMRY8SG8310RICVGVSEDRN6ZP5XZVF4MP6SUMPT0A83HSM3TN0KPV2SNBQ5US4NR0WMA3CVJLFD3YR7GW9S3YNK5AH0SVFUR5HZ92QWWIBBMZX776K67TGVJLIXJGDO6A11UKVF49Y4DD9YCI59UJIT6S1UBHJNL7MA0X04FK2O17FAA8BNQVTNTBFTVWWH3TM8APJWL678YZ9T48E1AW0VC7B2XLOND8PGJMYOOL1XUYEMLEAULBJHS2A7Y45ZYDK4P8AAYO1EWPAN5CIYGWQLB6LC80OM10DNSTCOYPI1VXL0IU5PV3E4SBI9QG37Z6RPWCRZTEKF. +-36#KLQAGLCKZTL26EQRC4U1H964L81HYORMYAHGTOKQXIKVJRKIN = 36#1PD78G8ZY0TJXFJ9YYI0PVFOWPWIZ5O7C20OTNAAEDZHY2QXLO1VTGZSZDIEOGB2QK4HCIG9HUVUEXHFSOFO2QTJJH8YJ1AVEBF div -36#2Z827J2YJ23B67P3VBAEOUVBY17QQC3D7BXTKVGOU2IRZ39HWL. +-36#6XBF9R2334BMRZZZZNHZ7VXOOQHEX8XUC9DNHTDK4XLIJPZDYK2Q1FGCVYKOF8RR17EWTY5Z870WO6M2556YQHTY7E1VOVEJWJ0 = 36#2BFFVOUTIPZ3DDWL7JQEJSJ8GH5UAC7XF845GU166L0VGKN7G3 * (-36#2ZKXVBJ331T2S6W0YWI1FFYZAOXNAWJ1K9HHJ8YOOT14V8KEEC). +-36#10U0W61BJYXALB3KYB25FOEOFOT0VBH1C3U35K31K2YZLDUQ1U31Y6YV0T8YSJK0ZU4O0LLS6AC56RWAXD5ZTWAB2NHAVDRQRSNS4OJU3RTXY8WSUHN7YTEECTG1YFM1ZYLPYYE9LBNDXMNZ63OVXZYVMIONK3IAFKEUF44IGE6IEG2L01IQCYS7CWHY706CSIJDUY7JCZTKSIGNUFI11GHURRLXO3WXTRUK4J1YV87O59BGUSIQPIKAY79NKBNVUVTZO4DOUCPV5O5VCIDFRIOD3ORJGHME433QBP3ECFL2ZDMBCZML4BSM8LMJ9ENE3HU1M5N8W17IDL2JS8KYYB0ZX7DH7JOL5WNV4TRDZHRUOWRFQYYMIVQN35O6N7O5GNH0EINS84T58WM6A4KAN4EYTVCT352XPITDRA7GLCIIJ4RLI340NDJP2YQ6HMUTAFPDUY4U9IFEX9V95OT47M1DG4Z2OS2O32NJN37M2PG4LKXLXZR8EN13HJN15G39T967Z6UYPS4JOCU5HDJHUONSCKN29XCMXU0USK3OQX9B5JBZ4FQ0IX9UZNTJX44YFKDT86C6HFICQHZSYCG677VZQFT7VPECZXZWF8WV0V92CBPYXAB6U4VG6XX1MW9B84NIQFAP36Z3DGM98U7FMEFHYRURXXWXIC8IU1MKYCLQGA9FXDA4UPB6J8YBOGXLX198CXSZQ1VI3TZ6KX7BEX2V83QLE681GWIGQ1PPDX0IZXOURX0ODC4CMYVXICJO2C4YQVSFK1IPPECCK3QTRBGMI7KX6PRYR8GM1L571LQWAX3Z69UC8SG43C8V0AN2LNUF7RRFN2EW7S2NXJUJA5YKLHMZL9G12D3LTPD2VE813PSQG70V1OPTFZEP83PK6N14GSSO6JZGUTWSUF3KRCYS7EJVM9UM9XFW9MO4ANIBHFERC5V2EWOQVDHBGWQFVVQ1Q6RN0IJ4HMPKXDWGYIHB5HOOS7AUDRIO7P17XWQYX7Z4XUWQCNTMPSBHN43JHG2KJX9ANH545TFRQUC2MC7ZVO69JZNKDGTHCJJWP7ACOWC36C6T6OPU5YFOWXN0AMPM27OWKSM19VJG0B7RRBW3GDFHI81IZ9J94WSLKDMTMXGW2TVLNK17ABH = -36#21LZHSLMQ0FM89T3VYL8ZDGI8F8LCEZFJHWIFOZW3QLD9HIR6SRWKWWWYJDWYWV4KJXF661IWLIJ7MAFP8ROAK7LMRISD21WFDYQXFJSG5MTA9G55H15B81V91ZNKP3C0DIJHET2RX1BQDEOWJ67MFSZPOEQMMNM8OMTIQ2AWONWH6ZFU97SZULA7V8AF4H77AV6FKWA8FV2WPFNH1XYER7FCLJHCPEQABEOX7M7C665KY4EEF8S55TJI8ETNMTU1M8TH0UEHDIOD461PGG1DYPT0WECUKKVDE9BWBSRKQGKBC8Z0HCYCWGA829XC7NDLL0EY0DHVOI248OXVJKFJN3VEHODVCIQLTIXTZC5E55LZ3TMN913AVELGYLZJXHM351M7C2M8MWHA1W0HWUD6EL8A7SZY9CXDBJF0AWWHZV1DA7WBZ3N8LIJTBFN03X8BSE14OJS82T5Y5EBA2FXMEMOOEI0QXASJXTZNESL2ZITOBGPUQ69E55796V2MFY1CCICVNNNLYV3EC77X6UUIRKJ8G9EPGFLFS97TCL5WYLVF1CCSVZDX4D77JTHS7B9CFB9PD6MNADMZNFYBGYHGCD20XEFIBDAH6C02DOANNJ4BK6TI77T4JFY6TP7Z8GIEGT1AB6T4DAMKSYKH1O7VKXJOA1XB7Y0T5Z5AMF0YYS97JSRACAUP48A1JQN8GYEXXQVO2H47V7QI1B6PAF69RIPJN5U96SZOU0Y8DYONA1IBWQ960QSRFFJFNSRY4M1 * 36#I0I605PUWFA19652Y7T25KI47OESFPHEZRD8EV72ELQCBKWV390NIG5RDM5TSUSJW9ZEJIWEV984IYUZCD7UA7BFYOZKXRF8K5Q1C9QH44UHWCJ3AG83CPM0BB0RCO7QBY656O9H3V5OGOGP70BI2J25XH06YVRNUJRNYF5ZZZD8XH1PRLI94ITNSU4HCZ85FVRDUFNZAZJ72DLWGMPH6QWRZ2XFM6NQ0BY9ND636WA861T3WHYK8ENNPSPH4WU7MOFLITE4US8P6VWIPQZ5LQ252VU9VYAMOD444O11YCG712PV107SG05EJGZ4ZKQNR0SR68AGTT4CQF5BT53F44KALR57CGS076KIW1Z5B2TB8DJ9A5VQJXNOXXH. +36#GSLAF5IW5QRKYU74EPHPP65UUTB65296SZFJ6Z5E49V94567F2HAU7JF680FUQC6ATHR2TU1N76Y2B118B4E1O16KTESD5H51Q = -36#34C37CTAIHW5T2NEW4SV6H08TYJSJVA0TJFH4M30ZRZ7BDMHHQ * (-36#5DR2MBGEI80H8SFQOMMCQB9OOMVIF9CH18FDNC5YH3KY8HQG1). +-36#662LUCCGF4OG53VFZCDBLPARQSMWXAPQVHP4CTXPXA2K84NMC3VAYMLLEIY5IMMWYYCVR22QF3B6LA2XLN3QZATRR1IREU0GXWHB3Q5Z9LZ7GRIVTUBI3XC9W4FWQZFDVXPDKJZAF7NF0RK438QIT53K5IPQE7TIYZ6JGW13KKA33JP24MFEVUZH7GTZQ6JP4ILEU7U544W3HVG57ZF7X2397XTVUF04HIA954JTSN6M0DYLPGL6DH7CAY65WEQ1URR32APZ7HOHPHMN9N6V3V5UXFA3E8L6XZH2YSQ09A1PV09V66PDCFFL316PVAKW842M8OAE = -36#1S2CCM4U9W9UXG8BU7C33EAZTAF7N477DEGGCGRGNHCZAUO29S56ZVFCUOCUYA7IMYQDSWCFLW5IDERK237QCGQ4E930DN082QRGFJ9I6G4BQY6OPW9LA6DCRRUCWYT5SBZGVEHNRTR1FTFY10N71T0AFYPDTF802VYGOAZ29OKVRP9L7L329KU2FQHM1FGWG6CFK7LGYHVOCN473DS3W3KIPHH07TX9H87QNUI3DMFNNZXYSPHUT8MKG5IZVIPA3DRCQS0FBVFTHGZGYMPMBTLRPUUF2P917ISKRBP2P65QFI0T3AB14HM70NSJQTXSLMUX8EY25LGO56OMW3ZVDJCO520UDY9R1UJSUC6BRE2EVJ2HZV1VS7LTPI8YKBBU8AZ04D3USVLA40BN7NTPSI30227RCUY3FSAXNQHSV80ZVPBZIIHS5QEEV4BG647WDU5UYJQE7EE7CJ48N7XWEMKEVWLO4PVD8W5S1KL5FU9D9TVBECIJ0SDIPWC5S0B6JSDVIOJVPNYN3C890R899UF5L76O6V92T3YEI843EDI1URXOSQ3188K2IEQAB3YHEZO0PM246P6XGXJOUEE60IIQ6S3BA8ERXIF14GUC7XRZMKU9AQ7TCUJT773HY9BSZHX66N270OEAWMLA1I8XY1YV3GY1B5CFBHX9GGUM77RMUKVC0HTRWE4HUOWSTCNAQM6LXVQHF2R3AFVAAFHTNENTLDYIWL1J765JXZPTDO0GWXCMU8XCB7B5I2RNS38D8EVWTZ7IH4LNV757T4J2MO90RH6029OV2DFNP2ILAEL2L4GHJ36J7HTHPS359Q4HMNG97RMMU8ZFNAUAU3TCFRD9D1XNW3BDWMHUGSFQ8TFUCA58UHD7LC0VXWE3LQTCMR7QEIM9SD4PE4DVC2J2F7MW261HNGDVMHAAV2V9MXPAI1YN5EW6M4 div 36#ADVO0167F36SEGIRAJHSD5RKSD20L9G50XS2VRXAMURJYS3VTN99LP69I1O0OZRNITBNCJWQJ0ZZ3Q8EUXRF6U98DYIR6QEXOEJ04T1AZH33G2QDVTLV3NV815TEZEHDAA5ZB393WF77O4LI9MHW7JSXVB4JU80IXRDQKAB71EKEWBP4TFO0HSX9ID5JVGZXXTJ6NOYAX0YJ6FIO3PUPTVRXYXXTPJ4PXBC61UVG82FTR5JDP0IACF4SIH7DAB0AVPKFKJE6JTRY071661YL4JZTPO0GZZE8D9OZFARAPAT61LXQA97URKJ3R07ZYV9ZKCO0TOUIZY0LPWKVY3FOAD64WV0JCZY031CVNDPWG9E7UQBN01ZVCM3P6CG9KDVJJXYUW7SSKGHCG5IR1MGHCNNZK2906NH0DGPAI1EU6BT136JQKSJV2N6GSNAHJGT3PO49K4ZFJZU88A00MOQY66B1BBFJFZGR587L6I77JAM6FMX8XF8X7XXDF04GCX1DT972J2HZA7P68K3R7K09F8HCMVEGDO9WIOJMIFHWMGPHGARBFG2OYI9BMF2WEA6CWMO7J2E1B2R30HTB4G70867NA1DTCXOT5YMSFF4TG2968Q. +36#7G7OFAC8ZHAQHE3ICSOND5NAUKC0R68BP87KXBQP1HH9IU67USEIU6E17ONRU85WMYXFU7ORMJRV6DD8E6B99WOH2GPKZI8YF924SX2YQAH0UCNOF7MXAJP0CI7DPSJ0JOI06RKK75CC2S2LXQ17WOHONYKCARBRDI4PXT6ZC6U0WAF2LYLMS4SQ8XL3ANV7Q25XEPYRJ94KTFL7ZQI2J1284IKKFF0X9KCSHPDAAIMUG5PW1QUA6F4M0XF47DDWWBBR10ULVCOO0WNQJ8JMGUSYTNQSOKATOA7VVK0VQKCWKA2ES6W371E9JFS9R46UJN2I9B9BX3FXW7PCCFS67UU1SROUU3QWFZMYLJULZ7TJRH222HJEQRBLSUFR2YHI2G3UM6IQRPPAH4COG0G55G12CN1QRV159PCUHWRJKIOOHJM6M12FBHVAP6FU91CXKYZ19C9MKQTHHRXKHZAHWW38AT887R4XXRX7AFCXBGZJ2E1BUNLA1F61MLH4269SWQTAF6Y0KM8OKCFIT8YXBD73XJKCQOILBXTWEZRGCN4BYUVAF099KNXTG1RCLTUP3ZAGAAF9S0NKEGYOZMUIAD87BPSY627AD3KO = 36#11OBJD0XFF5W4EZDJ5QCP1HMAXJPET82Z8GSYA7UT26XJ7G7N6 * 36#74A96ZQE3CWRGR2Y7KW6JM2GQOPHB5DFES2LS5OABC3EQBR3OKMU3M3X59UGXQ9C23U6OG7XT5TFKBGSFBGJGG5YM1ZQXQHW5J03P8SFBUKFPSZPGPZKTQS5M8E36AK4YKGWIDS38TC5PR6M9HP7Y4BBSN6KL60BXL7H7DYT9XORDCDQWD54S0Z9EXRK4DJNA3IYN3RAB4RL3J1XFPUPAS4RUWJD1N26R2V0UB7T64RA9V6LPWGTMXZ80QDYR91M25D5RDUQ5B44RYFH2E0OWS7OR83F76P18NBGUL1BJN6FWYR9M4ISQ8EHMPLJWMHP39LI5LMJU06OFM7DX4610X044UD544Q78YBK1QEOM6LDSN4X9ZSTX4AUCWTYR17MVDRSNEUPD5U6C6124HVUXAIERSM116S6M8GNAYQRB4JS77SMG5NZOZF484DEAH7AIIQRG4U6GFYB2VVX5TO7L75FWW2F52LI6O79XOZXH8S6MX8EGZEQKNBOPF77WF3DFXFOX5ZK1LEHX7WUW3TOM2I4WG4QT3J67G35Z79HJ48AQKC74I4. +36#YO05Z05WNYFF8G01FQHM0YN81I3LA7TSB3577CMBHIAUUIFLA3DY6PFRMX0SNFJ1A0UYE3MTXSN7JTCNPQFJSFKTJU7HTN55ALBLUX8LHQU69IJRXAAABPR83EELZRXLTR00026ICFT06TXWPG22HQV4DNNLTD71BTDMZ6RGDEAAOUDA48R64VVRXP7HKX6BG0SKTOOYCZEOVDRYZ7OE1JOC414FZ14FPA7WMPDPEJC7UAHAVC1F5PHG33PUYKGQAEASHA3NGJC7NVCJBY015REL1VNI9WG0FSDFURV9GFRY56Z7HDD8JX6LLS4ZL678JO0EIMDFIOZAJ24HEHFC58HZQ9RMQCRHQ2CF5JGC0I4BARREAMZVGLFM1VOFJEX0WOKURVWMCJWROWUK5ET5LJC4CP2Y1MHE49TNSM12MFUQCU9UBUBQP2YYYIY5B1A1HB0I89F36H03WJZQ7MQN7FVURPWJKWPZ3OZDCJ8ZG8604CX312BDO2RYO5T4OLRH92EZBGKFA5QLM53OG = -36#2DKB9IND1IDNOQU50TB3SKHKXN06BJA17S8MODRHU6TQ6NHIUNSKZRM5WH8UCYYB6VNP98KNBYUI5JXR5I7XC4Z80T7OROOYWSPXSOGO5XAZWIDZ6KTY5PV2YMXVF5BNOTFNQMXE2PQIQLNJNT77LOWUD9PJ71M109PRBYFVRAYHXQI38R7JHQ9YLAMU38YPXOS5YHL7P4YKNTJ9KSKV28H762L8SRSW88M5Z9TOD5EJ10YAWMFPMU1I3YGS1FLZI5U2PGJMAZLX6OBO4XH5OVFY9X89UV14SW3G8ZZ30IHY8NDA3XRK3YOMPC6HFPFQJO3ZM22F7ZRKPDGVCE6BJDMCOGPJRTVEWIA7T5BXT6141FURJ9BP39D0DQ6CBL3QQOHLIRS5UFOQG1HKVO7WECX7CPQP5UYCZLFTWHL8PCEF99XUZ2OZ0L576JMTSITFU3R8QW89KGNDAHGN29P15AE0EPY87MD6IQLUEQFDWFCQZGDQGYG6HL45ERQ1A4NX9S78YTSRED64Z0KPF9DIRFOPIHULFG89YERWQGOALKBYJRTNGHSG8YY7N8GAZ9Z9MDC div -36#2GURVYLAAGDI2IGZTELUSWNQK4L7S8XU78VCY6CK4NM5TJYFWC. +36#9HNMGJSL15MRXAW14C433RZWRJ1VUOF86PXC9H09C8GNNEOWJBHE00M6TS157F9S17GEX9PEQSFO54CEAMSZAJKEBXIPHAM0Q5Y4M441UDY64Z0X1VKV6C453BQM50AKUYCZEG5RW3LJ81B1CXIKB5QTCEPJ20K8H5WU6L8O3YALEFXQDWUO9WJA57EE8Y412PG95PUA6C3BWKN7XCKQ5A2K0X2R53JK2GI7WC8ZKQN6CB8SQUPDMWAG19HC = -36#377MDEEB7K6WMO5H40KGKMJP51J7F4IVCJ3EG0LAKZAEJRC3KDKAVPXH4422YMAF6CCUXUM6NVQ0ZKO14H3XZWCPAGBB2CSJOM8B5P5OSZCOQ8F6I8DGFQKNRMDP0F8735BBQKJN7MJZTGE63WU8W2MS8OCWPQDSJ8K2PZMT1Z9TC9QFKAASAR1MY344TR3C1SZDWDWBXHU * (-36#2YR8PI5EUSF9ZXA3SRGFUVV7805YEMRPRWUUAJU19RTABQHHR4). +36#1OV7EZ1D5UI31GX0SM4HMEYD6TYBZSD5F4XOWY5Y841431V9E7VQ1S0LCGYSBBEW4BBW80ACIU15OOQ0KNEIN9X45XBJ5KNVM68VI7PUVG97B9FV6790U6VTPIC24NIJCSZ6PPWZBCBQKS5EULX4YHKTWWRFGI3BW1MSAD7R92DTS10OMS1FS25Z6L9B1ZQR914FK09CD7ISI50DMN8BXDFWFS2R50XROSOWMTQ3NSUF5FK444HS404357OYFDOQGTWQ3Y3STIOKN8002T82IFWMTI0NMUID5CB6ELY594XZZ265NPV285Y3ZGBLRA0EWK5W2EJQ9B8ORC4WL0FDE2ID5NPU1U3Q8C9AAEBMSZ = 36#2F0LLTK1X75HPYJ2M883LGVM2O7SYWYNXHKMGP3W4T0JHHBZ48L5WD98IQJF2OE8DY4DWRME0AHV5P8C9ILYJ1RZ4ZWMJVVBTLTHDK4DIVG08Z34RC4I3I5HDTSBDLN2T3YHKD9GPVTTZ1GZB5O821JQY3RWYPZ120KOXHDEMWOTNK9UBTZKUI4RBB854BB041742T9T6FQVX65HJ4Y4CJNYR0SMEPJ5EJULH5VHSFHOPREXYH6QQOH6GMHPFLW3MQOMDAIVHTGMYFRA2IAVVH94KQV7ALIF5PYVFMFY75GXQRF5B2MZVC7AQUBAK8DHOAO4LYY8B6P7D162QSJLAYKB2NAPNU7KBQ0FRZA5EUCFQSRDXRGB4NWDOXCF1P9HWAB6JG08PD9Z1EXN0EKOJ52PW4B div 36#1FGSIY8PFE3U4LE1OTRWQYBTS0YT0BEKUEVZIT7RBHSS7CQY0P. +36#21ML4SGKQXYXD9OGFZK09QTTD03CUWGTX2YM75BDQRRO4WG8G6 = -36#23GIZA16M5K97NLBCSXG4BVHBA4RGQRI8B4FF43L3JAZR681LVL0THTLXYVVY2V43XCNNK6RBM13TKZPLSLBVD3F6UKHDCVBNU div -36#10W8OS56DJBAWUHZY5XPKGFZZALQ9HWP95W6X1XTI9LO52E8N. +-36#1ALS0I2L7N8WYFJGQ5XU2POAGC6HWV61Q4W0ABJRWTUDGSW2UE = -36#44K7YEKQ36XZA2AQWLOPUBUEU0Y60W004KRJR6T2K960C2ZML5GN9QY78QEQDBXPIEVPAVGEK8IV7I0ZJMS69KZTKZKI3P1HD5Y div 36#36R8FF71F7YYM3KPDVSPI4VXO8CELLWPH45PV9G1JXP7K4F4N5. +36#33TXSL7JMAX1G8FTAK18LP3M4JM1BJK3AL6O8MUL3UP79Q65GN = 36#1VEZ8A4GH7V8D4EKPQPTSQ1NIGCORLTL02T00FSQ99O2OC4YKI4EKF23188Y0VW1KFZRP42A54TGVM86PJPALWQN0LE29XGYD5RZD6WR3YLQ23XNMJQRDHHDV565HAJQ5L0V9V98BGB3IP4TXT5QZ7LTPFXBBVOI9EOH0OW8B7ZKO43U3E9Y3CCJY54ENK2IV1NHBVMQ5EO29U6R6EOELODW2803TFDVZ83KX462AVECN3MS3U1794W9OGM9CS9H5ZK43ESLBVVDO24HPN33EH4SE4UY2D8E5X29D9XC3SLM0AN578WHCC0NID8NKNVE0NNXD7ET47WKVZBMZ91MF7UG66BKMTGGL8YSOTZ94I40LTYOJNFS6BOM5C434MI76LWH6I9DSGGV9F5O17VQGH0U09QLK6GTCNNNR69MIXHGM2BBINNLOUEOO2PWE7CPLBBW90EU10EGJBSR95968F0DZBEYGBOY7N8U64B0M4C1SON14XJ5TRUM78FHJTMQ0MYUSHEO6RKVD3WQM67HEU3WRN47PPUY1GSWKBJFV21PGX4W0Z00UQO0LOQZTK49H0OYHFRQX6YDCE5XYFFI34V1ZDR2G05T90ZJWZH2396D4MHN1NP0JHY7BTIXOGY7SJXHBEHPA3I8A2M87PEH9WL6L3JLE6 div 36#LP9W2UEW0J10UK0C7WC8J7DQGPEMSNKELJ70TVMFG27GDUF6CBEKF7MQIRDIXVYURBPRFNZRYNWM3A21D1V36KIUYIXQFJ519EERG1YLX9GIQF2T3RBXHXITMMGRVCT38O5ZQ9RKSOJ2OUIX7X8S6TZ662DI1E8O6KESJPSTETUEXWIVUOINCTRUPKGPMQS2ZMJRC9O65NDRFQK6RQNNX6C5LUEYF2XS9Z9VW59N7XNTUNOT94Y69FQL36T1TSLNX0R5LSK3ET3RGHWKBJBLWAZ0ZR2YDCKA2IHLRC1FU6HJX8AUB17U99H2MTUEA01O6WFJTM678X4N7DL2TH0N7TD735XDC4GPDEV1MH7K4JFGY6LPJSIPMMSAC3LALJNOIEB1P3PWJ6JBMYZO1NX21NCIOBFMOA4KND0OV7L01VX366NFLUJR3H1Q5C0O57SSNTFRXIXB3GRABR3942S2MYPJBSY0SMJ46JLEKWTSN75ZGZF7S0RIXUB9QA7XC43FCP11OGU3TH6NDAM5U98M3AU7121MAHTKTR5RG16GVWB7X611PCQ2HHTBCG7JNC6W9JIJGWX0WK3BG74SCZ08TVD2X2RC5H2I10QI26TO41TU. +36#2Y9LQ5L6I46MFG1TH144G7IBE7W62P7JNWWPRQCIE26G98SX1M = -36#1A11EIE9BRCVJDO4LU9ZTI1N6PP2YE7EVB8HPXYROZVVANRB80VJ20C6BY39KQZY2D8XF9ON9NPE6PMY89M5AOIQMHAFRNDTOIH6MEI6L51RNSLYAJA13QNO8EXD2NPONMS3P11XJP3BV90APSRLUYQVC40OQFVMZKKQKORLYAQV5RO34RIBAHAS2B2A6GX7IEZZ6JN0LRACV02ABJ3QAMQ2ARANU89E7893HX3QTVF2KGZ7IE93S div -36#FLCSD8U6CHN19BCJ55O2HOPNE1JGOMQYZKIQ2075HXZL3IZ8JJ890IMQ0ILVVHA2CBA6C4OKLGSMY64EUW6XYO4FBZMBVUL0ZQ9JNMLYYLG4QA17I21ATMA82IP6EGLKT7EW40RREWLABO84METO3DVCZY7PQ93DQ7K87BGKCD8PZ9P4SUQF0NX5LQQG3ZSJIZG. +36#1WNM3EKA2A5V4IH4AWWFW99Y05E2NZ5PLIJUD1J6COF7GPE6HT = 36#4CFFM2KJGYH4BY63PB8UQQR9L18IFRLDDK3CV5JXERMXPN3SYVGBAS97NGLXCIOMF2RYJIH64DCCK2V1BV0RY8125K2DRRO4NG9SJDQNMETTOKTCZ9BJV2NTSS1V1NK8K9SUTBQ00K7QUT99CQ32R3D0KT15DBOKL1K7ACZ5OM2SVT22X9S9NJ3950BYAOUITO80LOEFQPT1APKJ0S5JA41NB04VQB4QTDH div 36#2A0V34XJ7C1S0C5O5XGC18L0JG2JO8NKTOCG0CXQQE49KMG0FO4CWRW98RR4WBXSPWOOWMB1GGAIYRXC5S93UE1GB9XKM901SW4D0I956YRQ15JRUJQM33ZAN4ZPOUED8EH69KFDDRIAT0LWKVU6BOUBNKEIA1GNKJCIWNZU5324SIQ2QD. +36#3SQ0JI7AFTNUAEXY1U8SD0H1U9JIPD36PTK3N7UEQIOLX5UNNERQ24D2J67IHVM1IJOX5KFLB4K7KI71352WRWH2K4AK6PHDO4IIB2RRQ9UUS18C9TI0X266H1MNQM2EUFO02UT64YECA8M5EWBS3Z4I6HNP9575LKX5IVLJPI5ILLCOI0SL0WMK8T9MY4ZRVZEQOMJ9MGW8QCGFFB2O7I9FIAMZ30EN75GM8D2TPMZ890NZ7NXVFC2I9BOSRLUB6AL45HFBHS86MV272QXZMINSPV93DWDGDX7D4GP7QTN4KYVM3PQTUU429MB1XH07JYRPAG59YR1X09IM4CV97LAWAT0S3XU7MEGTI34CC38O4US5ZSDAXHAKBLCVTXHEGHJ4C1J6VUO4STUODB98QDEHN6X6GLN7ZF2LGI8PKMDQVEWXDSQIQCZ0X2LDUV2KPKQNQRYPRW8ZVNNCELT1E2L00745V4G0DW7SV9F7RB0VPCOY3JN4K0BJAIEJQSXMDXEIIXUJQOSCFFX9MQBQZAXZJ3S87XTZFFAI4AX3ROGNS9MV4FOYK0SPFSR87H68C6ONA4269T3K4IW72KOWBSBDXBQ00TXMF4BBDRBT6BO36C44W9WAGPCY2 = -36#3BEC614FYVMT9NELUKX61BDB2I56796Q7VNTXHLT36KMJVU8CDZXDXDY2LZD86BE7SG9YXQFSASS9GA6O5R5P7DVSCD95SGZOHDFB1TUPWISSSH2PNIU83DWDRKOH0HGEX7VXYJCY023JCE2D0M3QD7QE4CYK4BD5S7NNTEV1YQ83EQ33FYZ8TKBK2T8OHZ9ZPEHONJ7XZXOR740RWWEQ657BSHJ9N5M477NAM083SUZMZUGN7NLG0F9FN7BDH6QURU3SQYRH9CAIRYGXKD964L7FNXN06GB8WVYL01IWUJGWZPQP4LLRCQLMXAAYY3CU5R9WUU32UDE0SK9GBKKW4PDOF3IJYVXWMCUBCP6A01SPTTDILS1DC4AXQ0FRCSB4BPINP88N2KHH0A0EI42ZKGHE62CGNRYE34G6SY0GB989YLAFGK4GINCU3J37DDM4D9TUDFXVHBFS7TFDJO4CZQKQXVC3QPVFRHXN7ZOHQYWLXH63HNZV7K0D7F41E95CC1SP6PFYV1B5QQUXV7YX744KO4AZPVWEFKYYJNN8T6VMTFB3GOWV30K5E0TK21NB7N2GN6A656W00EXSUVOVVPZFT8ILJI78B95GAJAMEB2ZKTK7SFYW9JLTV0RVAMZSX5O3R3CLUPYXOVQ78HRFWGB64P5XG5BO0Y10UL9XNZX5Q5OTTAOW2O073QD02A6BKMPE5CFGOX6B6NPEVS5UFOY5CRFKE3VRSNCDSLBCFN35FCBU0Z53P6173YHQ7WP1GBNKF59ZWCOZOK86V6A678H86LS3QCOALF3OMOHG6WUKV6FDOFAUKWWDOR391A1PEWRLA01TB4 div -36#VFS4XYW06KRZ3ORYB4H31I5PCPJZC1LHRFWZNIYMKZIOXCZ8VROBWUDTHR06HFHJOILCFASO5K3SJSNMXIK8GZGNN3YS98W65LHAWHDZK486IN19MKB9QEIQ3GZWIDBP0H9WEPHEXZ1G60CF6EQYJDOE875AOF37OA86S3RP9Q733T0UHU220FR2IWXCAYZVYJFBY1WUV481S4807K. +-36#19CJ2IT1AW9MEW3ZEIS86EV5EVR5WZKDE389969P5DYYN3F6I833YIFW6JFFF3NKNZ46ZVD4K7YY1E1US53LZD0RD8DCS2YC09NFN5U7W5L6LHB4AWWVS9ER9QHNQLF1RHMGEHI4GU0JWP39O1FUM7SFXUI7GDHHNS08LX1GRZEQNHPBQIURE54AW9NKECYNWB5EEN4GD4E6YRTZL9R1OF4E3ZWRA5V67E2RK2MDY9GXI9S1XN5WAGDL02GOGUXOC4J5A5CKVB3TJ6JTWFD7M8FPDLC66WGFX3BFMP9N92TN2T = -36#3K7P4GPFGPCAL5XFWQWH5M4ZKNLNODXYF5SZSQSD3YCR2454N44TEPG4Y9RBOZIZA7AC6NJYO10K25KEC8HY8O5K9UIPAZIXUXCX6ETM6OR7KE1XB3NUDO797MW8XS7W5PZVQE28XZPLF7JNWS6BGBIAD391JL4G24JXG4AZAA048AF411Z1DAQMRUWZI3NMJJ1117IMPDEF3PMJAYGOWPG9MAPQGV5O4R8NWGXW8RH5EQIECLU9QFJ6TBJ64EB936PPRAPTW6P689K83IUYPWLBXHH9O004Q5DAFXVM2W3T6A29DHXQ6Z2MTHV2LX893FAQ84YJJ7EB4HHCM84Y1GGZI4X13Y1CN0VGL5A9WOHJ60C3YUJCIUU6W1OC5CJHWUONLLWKQSJHMT00I84ZXKNN24H2HYIVYLXAYLCJNYFM8RPFFP7752Z8SIYGAVRJOASM9RTOQK1TX36EFVAEWN2W31GDUCPII9LASKH6WDZJSUQENET3SARW0C1GA853PL7HKGWGQLVSZ5PM6YMTP4CC50X5HB4GXMHEYM0JUJLY1S0UCJXBDQHLLB6WKCIQDQ4TU9ASVGFE5OW1JNS5E8JZJX3RF6HZGXDSSTSRZ4WYI3O9V8V4YQ747LY50AU3JKAJN6UNJ6DHFO99OWW0EWX32Q5IYZCCKKCC3VCUZD7WS6K8R2U8V33X50PXCP3VKTEWTHEMDP45AD6GXG4VIR2E9I8EAVTUFEESH1UHEIEXUEY4DFJ1ZSAM07EO7UT8NJ5PTSQBC60MK8S0OGNT24366U13LI1LOYE5SVH50AXAUNBJYFHG1V83W2WR5GRQ9S5KWP2LJJK70BJ8VARBCIFZJCQQKZZYMSNGQQQ1XNT6GX47BB78P6I99GTBMKIDNB47MKPHQSZ1OMK0AT4YXXB3OQF5X6Q48OZXQQRN043VDEH307IPL0K3JYDGSRXCU4X2W065JE7UW1JPR2BXQNS16TFDBCHCHGEQFWATHP90403M5KFWJ6KL1FY8Y7Z3WDVHWF9DXY1KNCURM14LBMONBZWGQBBNXZX9EX5YC9BCSD1J6J65XEKC32XIJ7CL9AABPWX5LXFVDZT div 36#2TS7U9E5F3FXYHR5QPR9PE80IFDYQT1NX9MSKVFL64N69FVWDXS1KCNN9EB7OG6MUJMMP8JPPHX7ZS1LD4S7477MTBO3URAJEBBBYEQUVGU3NNQROM74URSCEBDLDOYLTRSHMHA2G56HAVONYPOLECA63PDF66GR2KF7T9VLJNKB7RRCNCAPAYUAU0J60Q0ERI64WVC0TC7PVYM9JYLNLKRJ7LNO4JO0SBPWJH7FYWRGJH3JSN7WN3II2DL2CN49M9N5TI5C1FX3CM87X8GLW37I5UQR0AF81LTBRQQCXVJ5KX7I729USCUTW9PTM1YL3QXDKD7VMJN88XDFSG95HOXGKCLR4X2L0J6OXGRZS69MLKEQR9J3THDXSHLB3Q2CC2XQCLFLHLWS6O8QF92C6357Z1WK0LSPA88569H7QBFJR55GO8Q3YHRN77683MK9U20ZAVDMFIKBM6D0QAWOS9D4K3LD9D0T5LDB4SKL1YB3GA8QB4TPPB56SDI7BFKW5OA904CAU92MWLZ9Y8790D2YF8G4FZMAE4XLJI4RX4RBGFX4IVQLYGI78JEZWQNNKT3W3K36IR4MP1KEVVN8U23WV5171FPTMTVNNOGNIXQPSCIMYT9KXRH4PGPE56PRZ3H7PFNXSA19BJC57R9TG6W947EE46PRB3IWTH9RFMAG7XC1G2BH0CQ1FMQV6MHEN1P7TS5EY6X3KIPMSC96QJAPQFMAARB42DNASK9N16NQM74QL0R7DIS1NAUD3FJ40HDX40BZKHF32D9C1DQ0UCLNMXINIB5KL1. +36#6LWPZ024INLSYOP17NTEC69M69J6FOFAQ0EXXZZ7GBR76KFEM6L5JXW1G20H7OIQIGOQTZRZNH8YCNGQDQZ1ZPWA8RQFIZF554LJEFL60O9ZLBVGX0S86NJP1FA0DV4QSV0R8B8NMUPX0S25XJRY0294NH0XM3G8KCL5ALINKMBIT0Y2G9O5ZUXILYCNT0QHXJDI5M4GHHSSFMO7V0EQOWCCA6H5QBDB5Y30SI8DGG1W3PX57S49Z7Q8X8BMJJT42E8CYYCTJXDW7X3GTC38GNOZT1KZJ3QVWBP2KX32BCD8R9QXBZ0TX9Z6YGNF2V7VVWSGJ3SYHXNUY8EFG4THYXGGV1UZGDE4T6CERDDOLBJJFGI0142Q3UQJ4TVSQRRDE0TMN60A3SCWEVZX74SS2BCNZYWQL15KGUNL19G0O4BB7H7HPCXYHTTHX4GMOA7ZATPA88 = 36#PSWZG1KG239XJYB0GPY6ZM802ULDS66BKU2CVYIXVCJZIQ1DQVWQJ6ZNFFJLGNWR1IV3MLYH8YV0U3LVMDMXUTBMLGCNMAVVVCPQRJMEQD7PY7XC2AXTENSF4I9XWEPHNITE6EMVJEBGY5PRFY0O8Q5UOB59TAFAFLGP0GBK264HEP9VK4E61D321PJPUS4F8X3TUKP4GIHPRFDKPLSGGW20JBHMXG3Y0ZPKA7WKU8MTHVPIJO970DC6FUQ39WLV6EAEKBA56Y3NI4KC6RRNLZK60LRUU7LEUBS0DVX8Q5YDINIYQSU7QUXJWIA8NFHTIC22HMM8D3IZ21GN6P240T2FO8HE5UXQF2TXCASPBMWAT2P35JV0B68MRHLVC5YGNK3KMNFRS1KF235K5AKKSZREXSANLZ7Z1H4668SF584M2S2PEBHGZ91LS6CUMQ8QCFCU6HTHL4RSF8YWY3TDOQA6OSIMNFOY7WJ8NN2FGINDDGEX59XSILDEK4O9RCPAAN5OCIQKHNTOZJRDW9JCG8MCFFRZYJDNTGWZJA8HHL1457HE3RF1NS6CKJ4R0L84QSLLGS5D1AD1FSKWUXNKV3ZDUVMDHENC div 36#3WK8IHTHVPXL27MP190V5PHUAMHYHLKK0Z0EIVZOVHM0TAT9GE3KUCXZDRXDTT48HR4RU1K1LP7HUD8YB0KMWSLDUOAMCUVB0F9TZ9M4XOIC0HIRWSHVJ84R6JLN88Y3MQGX8CQMXSD0OXJCPPFAD7EQZNX. +-36#1BY4FO1TM6QDMBN8ZN7AX58OTQPBGHKR4ZTBTVZX1QGQ0DYCF1ZQC5N2DZX64AXR457G3OWM77FNI4H5LXK19YUJ464VNGKHGZJOTD8ZUFPIBIRIP2LBBLMSD0QWT6AU88ZLQJ2FNKZINHHODRYXTJTNMLSN6PRER95OLKNTMEXNA1P3CW31P68G1FSG8DPNG7L1GFDXVATLRWA8SWDUB09P5A5SZMBW9AU9SZBW2CFOQE14K122FYDI4161JTMON2NSWNR54POMG0TQP5TXRCVGVHDHALZQ5QL3U59FS0Y873DRBT1SNLM7DKDPVVHIWPPTAX8EHFR2JYBM2RQHSM5PHBMZ4VGNMQ676TXYPN6PE24EBMBSM2PCZYXH9HPCTUH59OC53189L89RE2PHCBNOBUZT6DR3OP937MJEG20JPUQYU0P7J53AJVNMA8XYTLDCPN2707LLAWBWDXCPJPSDTVIYW1HJTVYJQAKOHOW2Q6EMKDM79H4RW1ZYJ1V9W027N9SP3ZOILKS3Q9KWI4F0T5CWSM1W0EZ8TKQREP3WJIQ4CSHOVNKWTRF3927YZESAA81IF4FIGHWS4RIZRE9YE80I9BYW3EYU0FVNQZXGCEJHKGIL3OJ13N04JYQ3H3TC3EK6CADBXN3K7LA14UVLZQB532C5N2F5Q4H20PN4PPFIZPWWRIMA4JN147VGGUDZ03C2UXV8SDCF8Z4BXKWZH3QQVM50L9SLKWQU5YVURMMJMOA38K0H1Y9OL4PF0PRZPYREM7QLWV1GNIRO2BZVTVWUJKL1R2U60IPJPJEDAFRVKZ6E52H0TK6STRZUWTQBWFLJ4O2IA2GTU6FDC60COUGKIPZPIPGBV0W7FHAKPJF3074OAPJ6Q7Z8SD3QB0URYIR74CRL2RZDSBHIQL99YBSHQXU1X4I6AEEYO0AN1X2IY7LOOSCYMGXXTTI780KK78EPSLIT8IDW90VEF3QLV8V6ICX4AE5MTFKNVVZ0C6WVLNXWYB98374RGRT5Y53VD0HMRL1CCNOTLCOBMN9S785S7U9RSRJFTNZDN6YXUHYYCK525X3U27VDOUGYU5SYGDJM9Q6C9Q084WI2AIBQRYQOUK8YLJZ5PBIZ09RZFT0WCKMYDWXL4TBIODKYIMKYCMICDGQSLDINWS46MPAOF6FDFLC2VC8L5IM9Z7UFH9QL9Y94ZL0 = -36#6G1NEHWQTY7ZKIHL0T50B7422EY3Z9T1NY45CDJ798SSML5PTN9NWTCE5ML3QKQPZL6TSSWEV9IXWL7OBKA3WP01KB6EFEBUUTCZY3FKTCC8AL2J2TGRMS80UJM4XEHINC96DZOZFQAHRBBBE1TED1TZHN965M5B6HPVS5XHE7T6Q385TNVUNA3MPGFBSS0B5JPDKXJ2Z3C58W3Y2HYTTST0B7UJ27KRMICAUPOQ2SEHFQQ8X8THKO0JTGS7L3OZHCX8XGXNITRQUJJKLLF0NJZ73QI8M1AG0ZYOWL5MUUS9H4GOLMDE7KB51W7W6AQF0S68BQL9CVWGA3JFMRBFY7HXB2GJVNRUWG4GBB3AF19BJ0NFITRHMXM7A0EUZ6QIEYAT1WS3Q09ITSVIV1NMYMCLHKD1DY9T709W1C0DS461WZ6P285TYVVHCVDZNPAS4AT3SS7M4O2FEQNG0YZSRF3VFWELM0UQC1JDDUB0O97VBVXFAKKBB4BZT8RFY14BKI35F1BV7H5SVC0O2B0MWYGCP4IR53X4KDWH20T6KBC1NYCIARTAARGYNCOMW2OR4HIKO031OR2S8DJHWRV2LLZ0DTWP9DZRSO6BRJCUXFLH25N8DN0MWW46HG2YV3W6Q81CXBLS7SKOGXRZ1ELIBOF6XNI7LQ8J5BY4E8GTR * 36#7FSKRD9EL5OP072VCYG6C4NTSRIK64TUQ15OEPNZKE3NCPVS6PYYZRFMFM2U1NO0P6FN89UYY8K2XMW62IAQCFI1S71T5YCBTHTAIRMHD7BZ5D95LHLMJ9SZGF5JP57LDB4M317R4EJWC2595VC5TAOQSIDY5OU7KCI4WZSGSJ5ELP44DOHZLTP1PWYGQQ92KZVLTSWP82OJBXJSYYZAZN7ELMV5QU0B9F252449IHPQ9F4G0TYC4RUP1Z65MAU0RJQNIU9CIJ0M4Y820D013RBLETULFVD0U3MQ1T7P3FXNIAIKBZBCKCHZXZDN0BZQTD6U0CE23U2TGCM164YF6C6RJGQRYIFBH0QCCXQQJECX5LCCR8YYRAU4RTNF49CN6OOSWDJHPL500Q7DHP04FW73H8MJBTZ1BUHVH2YTV397MDNK6T96413D5H3IX12IBVSF49Y6NO1D3K2OGBB71MEPF6IRDLA6D07YOSWFRM7E077NGUYPJUGZX66Y7M5LOWDKUWEWSI6EXO. +-36#Z2KB3E9725FZHRNL5KL10D5MU2AJP6KZVNYROA7JBVZ7PBPVD = -36#2KIN3UFQPG0X9Y71LPLTZNHFS99M5USBEY7ATV07YXTNF430MNJGMRRFRTSHX7217D0IEMWT0WFGN7SFHTYLM8FHO9R6LI3V1Z7QSFZXWW7ZGXAGK092INCGNGOIUSBENFMJ2SR0Q39KF78J3DT1C4KH79WQGUN5385XHUJWEGTJL3RR5IOW66845S54IETZ4A79EH2QC2IL1TLC59IE7RN7LCJDQM7S6ZHBINXLYX01K3UO42GQX2FQT45MCVVW6FHM7RPTOCVGQ1YWH89NRCYQIDCAZHKWHSD65AGJGWPVQU4Z0P3T29SV7H7X3DKSRP237N8BJ8CJRXMCAEU2D5BY34N0A55CVX6U964KOEFHMX959Y9GB8MFCHBVRR9MLAY8OBE88RXMDUDJ64I0RQKUQ6S6DQHJ8VU9PNTV03UYSM8M66N3PO5JH8XXZCM6GG3JH721F6OL472DZHNXD9GCP2BNTNMTFKVCZWGB1D7M7UMLF3QPJZ6PZYA3GDXB5N70HVG6MO04ZR6O4LT3QT5FLKRM3YWT6S1QC4KY9ZTTU50DAFZV3TSN8YRHLOLZW7IYHWIGD2IXEDHZBO5X0YKAEFJZ2AP1O0MQWYVUIJKSIPXXMFI6BOGIDLVUQHF9K6TNL33GDWPIYOGPY385SUYP43GAQ1N43XPSSXCWUBUM899MRDAGDOZSYG6X36DMT493VR3KEM8NBA div 36#2MYUFZ0453B4FTCSY4943OJB7VGF56EYMDZ9ARP2QTW9U14Z6DHLFCX99MOT4YNWPUQESM0ERIVPD7DTU4V8UDEFX04D4IJYAKMRE3RCTRH4IFSORAGZQCO0MP2H2KUUONCFP0TQ3N0G7S8BKN0CRKBL6SUFT5VQ4VYDGBHYK4PGIY2OMZ28BLF426XRUQUKMCZD2S4IBCEPPGJE2WW7WPD4M1770CVYBCUJBCFRSG32SELV8M9DXW4ZO3045PGDX5LJ48VOKRJLMJ31ROA8BGKG573K79C2ITKGDS9PHONFJCDDJZ7QHZXUQ2WGWL4UFXAI5Y7UNX0T6U4JDODWKDI1RSMCW48XBSIWM7N4ZZ4IBSCO0LOI4VA9YMG630U13NB6JIJD2VI2KZ7HPUFSEM6LAL25QKL2XSW5Q3VO94Y2DR7GONJ6QP3C5FUWICDMS4HB9KIL8VBT0BCSWZMSSPJAFMCVSSLL76IG6AR6GIG5SVMMF3U0EYIMGL26JSY298LLUWR5TFZ9RE2W3X3G5XU2LW1FEIGLM3U6X15X5MSZQ5GHB4YKH8LNZBB0ZWHAIA79QBIU844IEZW88EL4S5XVNU8WZT7ZMQGKGHM7X18YLW72BBP3FSTYG745M15WY1HH4ACBU993Q2QEM766NT2I6J8DY. +-36#DV58UMR2VOVTBKZC1BA9QGHV2JTRF6PU800TDVTQH9ZQM064C = 36#6245SPMZXO6QOD9S9UHZS44MGZXOMTZMFVS1R9PJFA8JYR5ZL0M04GAOCDT5VO1OUVTRNPPJKHL8UT3330ESYFTWXLT0OLAPTA210KR49E4DQMG2ZVTAE8KTJCD3TZPFQHVYEVDGDDE8Q9AOTS84M12AL82AK9TRP5EH9NEKOW7ISTW8PJ2GGB7KQ79G8OA8S3YP4GY9IT3Q2UG5CQXYB53KQASYW7H83ME9SHLN2E6XYMGR7VWCVBT1J73LIUOS69T7ZN0JHZUF4V0OLR7B7ONFU0S5FG8TPPICSBK8L9D50T8B3BRKR0GUAQ92PLQ6ACV9GZBJIS9G0ALS37ZOMRCBUDZHHFSTONP9YOWFBVDPOYFUXV6YNK3M23OXLUQTNWSJS8SHNQNE64HDN55JRTA5RTE2S9RJVS6CS99NYIIXAFY8D6XHNJ9ZGBA9QGC6XPM3FAB6AGAR1C02VU1S5W4EFWBRLR729VG9O3VQNUPDI59FAE8JNMAE92H9W640CQGX34KPDKZGQ3IGGMB5XKK8REON5EK736D9TOEWX19SUPAJ63BNH33APM5AQAMQNVFWQZMLZYPZFSD8JYEDY37BXR2PK9FZ0 div -36#FQBMUY72WN57FV6K8M141I50A9NJSRNMD38SHVAU63DA67CGQIYVFFF9ALZM1JL0FG8RKGJKOAUDGS1DCFDSBAUYNGM72E9SUGEKFCJD1QNCO2Z72CIQ42L5GCGW3I5C0IJ2LZT8MRW7G6VK7BN8SM9KYZREEEWOET5WPVR53LUJHGG7OSTV6IFKXA936VC3WKIXOJZTJZJ87GKQRHVGRH4OQ8OQMDJ375PXW146L6OSDZPDBMD2JMHYSGJS3MPSDBPSTGW4YR85MT4RM1M9DC21IF9NV59F59TYF3VAGB40RFN1CIWTRQD8RJ2S5F9HB50GT9MDDMSA9E1BFSWKO61TEOLXG4UL8BZV40XQAZXKDOKKIBF72U1J5F3698PDZPXRZB6DZ5MHOGGUMYYJZT2234GQR33B920442JJALERUWZVO3WVSUKJRS9YQ4345XC4L2T6DT2EIZV2S7VE5JR50GPF8X6R1QLY687B3AGT0PTEEWZVXVIPWENFP3JM075BS737FYBLJOC7P7XMFQIZ4S4UTRHKYG4V66O0R74S9HIX. +36#2RNLKP6U22E324F39513SAVH5XXA6EJEN24Y5FSB9FSJJ46KJD6DK0NUAEBRFSE7VRLY265NX7Z3KD6E4XPFZREN0DGB3KE60LTQ36P2U12M691HLO51FOAXYX34K7JLASHMS6Z8ERCLCUE74KZXLJJALBW1NUOKHELU8SZ0WDG8QKB62FWC4PYCYSNJ64HX8ZUFEYNYRMOFP3FD1ILW4VVEH35L6VO9KMT09XTTNJCTTE2GR4XI13HEZDQLF9V0W5X4XGNSHPBIF6DZ22NIWXDTXI1ADJ96N9GC90DRETJHKHRKGOQ8O33JCLJ6LD8LFKMECYFFWJ49RX1S6J9RWBNPYRNE9VHDQYMI59TRQ5FBC = -36#7X08O4IB0XS3DON695OL8HC3EI26A26NW5L6S63Z2LBS67XI11EY6DCMUO2JE5UBW6WIPJJQNJRFEPBYHLH81BMSAZNQZ56JE4NTRMXKA78YK1296W8OT8V5AURXG0ZY65U8N9PQ73F6O25T5SJUBX1U9U9CZ3ANRB1FTGWGJRXSCPF1B4JMADMD21J39X4KI6E7ZUL53AZGDFVSPICQ6KC9AQMRIXUO2W7Y4AZBAHKQUM472UF8CQRYOY8EKEO4HWN22IS4I11JTOIM41F8XIP9DE9R5LNXNV96M0COMVNTU3EVPUCFK1PG09VRMCOPE1RZ540QDP8TE6M8J37FYFA4XQ618JCJ584K2U9MLDRYBH61OV1CDLSI7GY4NXM8XN5H6CQY6TOQQIT269KTDUWA5LV7UO div -36#2UYGCI3YIPZB72K85HA9JP5N9B7N67MRXA8F0BAY00TC5KIEA8. +-36#10XCGI2X9EXFLP995ZTU8R770FE1TE7AIEDGJ7RIVV8K6K7ZQ6 = -36#LYM9K1WE04UO8YD7YXX0GIVTWJ2RUXVEX9Z5RGQJCKECQ36TMSVLMFLMXDJIKXH6YD4SR3N18TJG24TFSI8KWGCVCU276HAFXIOC072MY58MYKB8NDMGEXBE2CMNA6ROZXMIIYPVYDIP2EJ8MOCPB1LCIT9EDNG246SHGJ1F24UMPVLGLQUZW44VUO8COQIFI4JSAFK0GWHROLLJS944CICI7PTRGH4VL8OOF5JCOMFQQ3BI3Q0TM9IRAITUXBPG2GA8TYGK2TG8MCAZ2J19XXVI1F9GFYQJD6V533QTGKF44DOZAK4XE1F7Q8RQFILETPEKZLOY0TU1ZEF9YPMH34FQ4AVT9XQ5BXL3E38BK7NX5CA1THQGBB5ZGKA0YO7829KHP0P27UTQGCUZBLS0BJEUHU8B51OOHJECXS6K4PAXBOHOOMFMPS9K4NRF6VO92CICSCZNHSM3ZCWV9YWKM95EMZC57B8UKWWZJ53XJVIBI7RHVJML1ZEB7GAMVMAXUTG23PCAMKNWEVDUL1QTBOJ1805H0IYGBEQ791WXBAY7GRRTA356QEVOMU3F0IUEJQGK7CA8OCESAJX1QNXNLI div 36#LESAVBUI0EKZCDC2LDWX7WGOP0ZROS7LII3SOEO87RUB4K3255QP2TBXXPQZ8ZJQZJH2R9UW8E4RE2IDULTKX7D97XWB3HLLXD0NUT1L1RUM2G3I11VDO91390G4BVY78IHEF4OUONFJ0ZXW57T3JQPOK8XJZ8I52IF6B6MH2X9TUZR217VHKKXWREUHLKMEJ7ZHCX7LZFG0A6CA0L1GUMD2W1WZ90TGQZFA6DV7YI2L0PJXBGC1PKMPSZP6H3VYJMP3FBP4SPVRYI6TCCD1FUSP6BTMWPUYKROMY1BL60C3NOG9YQDOMYZP619IUR5X1HMREIM4OSORFNSDQP9D4FFPX39BL73K6R35ZNMNMUNZCKE0WCIK0RTGZUNK9VY74RK1Z73RXZSACFBM8SF2OI6SHODUVP74PJ7MIROA3L0388OPFC31XYVMNJEA3K1IWCMH3TTW0X0HY09PK2JPQ36KW31UA1K5HVQC889B6UJ0EFOJO9R9YMJDB0W1UAM0ORMWAGTGW51SGS9BPSJION6DOHGCNEJGBW08L. +-36#54E6DMB24O5R3MBT38356RUHYU5EFHIOAJTZRXS04Y2D3QJ6KK0GI7UG5WEJZQMK44DDXM0BZ26D7717XGWXVS1JQ5R6UQBA5V0SR1CGHFLJ4S0IPOUI39SEE4WP0ONFW9BQ747ZL3IY2I336RIIFT9OKJHS9FROTOYQW2ZD2BOZ45L3WZU56XRZU4J1O4QHXX2UND5PRGD07I40NT634AQXUG2MFTOYGFZSRCF9IKBM1U584PE3XRTZFT2BWUBMSQHRPNMZVTGESMFMLP6EFI8XVA3P6BZT0ULLZED4CA6NMUI9K072LDF1H3X8R7RYOWMCI3ZBMD8UG5VJ4LLN59FR3P8WY9WU = -36#5J7P7PJT572U0O9HXLM9MASMICZ8SO1RSIXYCWQC5ZG8889LLQU615I2B4DZBI3UV26JKO6MZNIINI5T29W32M3FZRXFZN9IUHQEQLFT365RKWLMWZ1MWC7AA2T0TWO4OOND5L5SKMR9UTGS4RAJ3HUK2FDWFL80QBTAL1FX5S96W7MO5JVHPIQT54BFZN9BDAM2T2KP0ZQEM1S8MY45GIDQK5916SOGC2X4LUHIL8NHD66KEMK2F8C7GF6BITEJU4NM8DUMIY97FFWHTZOE9KIU82YNHFTSKZPKJ71TGRLA10V * 36#XBL4KYFF1XJSBC6DUGNST27BXPPW8SUNSEROGCIJTYY10WSDU. +36#32Z63N82D4VRC0UQVGL7BFZ35DT2S0DJ3AP8XLME45XF9V17GMC55J3W92MQBUF3R227K1Z08N4NAU0O4R6ZXS9469AGTFCL2UE0ZCIHP21552U1TFZFPB7XWDBRFMKOUULL57EYFIYZGYGU1K9ZHNWHYY0LWR6Y6N6BQXE3F16BSMPMV7AZSCQ3SG6N3JD827584R0IX0QYQU3IECPT1F43BCMEGNCXS718V5UOW1F1MYU0WCALJDHVE3XYV7LJWL43RB6L31IS5CWL6EHZG18KXPPOPP8KHGIMCJKSNDP6LOEOKVAQIUMY2X12XUO33VYIM8E093CWBGUW6WYANRP6Y1BT0EARI48ZR8OH7RV9HU6HBEY5UFC133SKBIJCCIUKYVXA08YBXHZSP30A42XFM2TLD0SH3T58BTD9D7A5MNQYBT21LZOWVRFBZQNNC0IS41USOJVELSLVA9LJCXEI1T7T933LQILP87Z88NS2GCFOQ2H2 = 36#9BP0M4TD35TRSTSBDZCGR0DLSHCHLRBJR0WKR7P5SK528JRGQQNRQ5E0YCQ37UNJRJ6NJXTDKSGRM6U9FQW6BSSJY5XQGDFEQB8JBQT6EY3CCHVXZMN43MDKWCJE9JBVCLS3BWWD7B39BXIPF3GYWTG9VRM8WFSD9756XJEM7Y5RXX2C7QE5KFIE0KU38RKH5A5QNX5180IEA3IBMPJVRIKZP8KHK0TTV2RHCNXWC3PA86RXW6IGPDP5G52ID87Y6WNEHRYH6MIAKY703GFIA01HLEU29PQLRNECFZKMB2FUFTWM7FDIUS5OKUIUZ09I91LTHBV6NJ0RT1XUECDOIJIAIFSL17OWQ54PGKHNI6XVHQK6B2WHDI9PO8W78AS8DLCI9ONHIDV35Y78TL1GWVFTNWA373PARG6HYB6S4F2UWR3IRTLQ7X5R0VCMBQRGXTBPU3YJTER0RGWUUYPRLVZ7SPGT6D9CMOV8GNJAPZIX4BR7V6KGDH6VONCJTF8RLRC666ZVTZXCB7U5DXSCVSP7YPEFGN9ZB6LJM div 36#30WA2LHQ9YORDNA2IP81G56M8MV4X35CXICKOV8JL6FISNNI6B. +-36#5RYS6V3Z1HUUA67GXUSXVDOGZBYCXRAF4NSNYIN6P7W5FDI6I3GBQ00412IJSUIZVPIT1DHG2PZLU30F5E123FPJQA7L9CS0E2NVK8HOVCR9NQUDXZRRM66Z9W1L0JQF0I7EYHZ4OETMLDIN5SIS71R3LVXZ4EZXEDX43V5T7X12M6DJUT4A62X5IEAM65F9YVJVMPAFBCMHOUXF9LQAL9K4F5GH6ZXKD8G1HH24QZTCKUP3HRAAHDHYJX8TYLT8JCQ4RVLBQMJN2YQDLNO9W146QD4O9D2DSMNZHZRTASCC81N4WD01I39OTED0EG7H1O2PF10FIG3U4AQUA6SOXAGHUC45KWX00R5SC8EHR2LW8VPAXNZ4JV1RUYN2O2023HC2P9TQVGTHI8LHS3D7L4SU2HDO73O9Z4N4UO7XPA1YUMK7YGKLI = 36#GAOZXHA1E9XPSZ07NODQXG7BHFGWN5FBLAEJZRBFFY6AUNGG9 * (-36#CRE7AY3KMGKUK92PLSAK51UUWQHSKV3PLYA40QTCEM27WDPBJCUMG7KGSB9KGFGZIJADSJASI4D3VC8RUVGMO6GQNGF1DNVCG4FBFXMEXAEA83UWACT341LYCYHR9HWAWRSTA9021L9QQEATFW2PVH0RRLW8LG9EYMDZ1PMBEDQN7A0S4IPPKMPSOXBR01UJ3IU4GNR0RK6AHX69CWE30P6787MUAMQPK6VV234IAY06ZSR6A54MVGNIZM4BJDK5EFWSEN6VBU2YK7SBGP3B9LI0OEB6VV3TTT9X7CF5KBMJFGGCYMI05NBMH214PK2K3IZ7YAJUY99RM16XW2GU3V30PPEQTBF5XDX5NEM2ASFJC229JCW1BVA5VG6V8FT66NPY). +36#1ICGMCXIG4Q4OI3EUWMREHHIE7SO805ULP4ZX1I2ZS0CNHZPDA = -36#2P7UZJDQG16KMQ6L018KTZRAFQHCJ1GHB1AZHQHOAIDJKJWPKYYAFQA7NAXORPF10Z7H4KUN5LXE0AP5BD2RXB3RSFHLBMUN4F0LUQHS29W6CQ0HGCHLQCKRC0MTCXTESNV4FCQZIBONGJB9QKNMXAIZ3OYR0OO013AT64ULR6E8R812CBUGEPP9XVYI6NZVX80QE4O4NUJ5IDS0ZMX9GE0Z72F6FSUDCNU96KCF2ZHKJ39MAAJ34RJ3W86CJPROYS2G98VDYONI815L9Y06K01D2ZYVWOQKMNNMEY7CCIWTEIBMP9BS4BBW7U1YU9FQZ996LFQR2JMSJILQCU1KK86G2TZDNA4JPOSSSTKPEOZTTAZ5YT8TF3485AAK9KDFS6KJOS85GZQMW3Q9R4O75TNPGY10V7R2X311XEJMCSBNR6QPA4IM22FKI8QK9OIRKZZQED0QARF6KH4JH3CWQJAG4S3DEVSHE1UK47FP0QTDRU1TQRWBVVO97ZS1T3QPGFCPR8QZEGJ0PP0JK9H94PCDB9D0UULAFKIG0KROKBWHIJVOIPRE4QAUBMROMBJX7I3M0B5P5LJI17GDYC2GMSE6MK2LNHZJOS4WP7D1MRJ28QE div -36#1SEDN2H1W1QGY8S3ZWOEZCNC1XCEB6P7NN6L5C9LMNPZVTU69D2WWTO785PS18PB6EZWYH45K7FXG90LAG8JFP2AFI4V8YPM7181X2LDNXCKBS4P2J1XXX8C98MK89MFJ9LFNUT1ZJ6WZ15E3V3WL3SEOKIW8M0LOFYZWPWJU5W97M5E074YJ2SV0V2QUZL1D065JUP8PXUAFKTNVTW7WB53IZW9LSJ8J7KVFBO2VWG3ZKIO28WVO59Q6AB04WGGHDPONAVKMJZGYP5NE8QM4ZUPVOHVXP4BGUAJ6SQJZ374BILTOH6M3HYEZU2X8NGP873JKB5TRRMOB0Q0V9CZ5UEAXE3BGNZQBPFIAA1E8S8P72AJM9ZG6OZHZ2167CJQY9IE0YSGGUSHU3H7YT8B17YSYR1F3FQYO8VS8GI8FC6N21ORSWPHR4VCFWSUTPIMUBNFGHW74P20WHT7LQQKZHVHRUUWFKZ4137WX4SJKVHFWB2UDSV5X0HV5SP3QC4A47TB1Z6FPTUO4SAGFVCRMJZEFLP9NVL4DOLR77XG54EAVBHU32DRAM2TXSR2E5. +36#24JPWQ77T042XOW83VODR9E0FB488NZK31J856G4GL2THPRLJXUQ129ZBH4G7XWLVX45E5JTIQNBMDC455CFXJ06O4FWV37GABYLRNQBU6N7Z7T5UJJJEK3G4JDJRLM232282ZEB3MZAMI5RE6ELPC25VOJH6ZC37S4JBC8SP0KNT2WSSJ0HQ0OJPAFP35GTM1FIAACC1C2L0UPM838KZXTDDICBVTISW8MJGD7NWZF1KU2CIOGTJXZMUPU94PC3FB82LJVV94026GPQVHLHQJYCQAHVRODBO5RTPBLMKNQ30ASE2VHUSBGDN5ZQCOCJKXOQQNG = -36#3FNPS6PXEGKBFQ9QE8ZAT9WMDT1HHNJ1YZK9GP2O1UGTLWM80L55LK3COMZFIOTNQMWR07XYTHV0KCX93HFXGSQMOC30YDI0CHJ346DJN3GZF23LL9E1JXD7RS4U6Y5DBMQVNIF222SR4LAR7JWSU8CG1I2DA13CFQ6TKE1CMP5ZEJEL9NZFXRXMYLIMWE00PJXZZB8KT5DQSLPNKAS58NWP8HFUY7HKBXDN2J7902222GCOBBM81B3L9GZMY52XQIMAKYGR02WQIAJYZFLT96JN6Z4ODE2SH08V6NKGXZQDDNTYF8B502WHMG131N9QCEI3JBDCBO0ER1WXC1J061FNJAWHVE25TKWPM4E1GXEE17VNN2YJTJN0 div -36#1M5M8UG7M08NPX319H8SQYBW91MUV7K9OPN27PPDUUMTWPMHM9. +-36#1230O9HM8BO5KJU52JE1A2QBH0D8YDWEHES2Z8J569UJFNN1YBUWZBIAK3HGY9HVCUQY10FK4GSCZUZBK58S9IUOKOCBPRQNHZK8C83IFDTMLVL5GY1KT4E25AV2SVHZKNRRAEHIUFF0RXN47NXZIB1X6YJO6H7GB0AHZ9UGFF837GHXI8WNCBPZXBA0F7S4XSWEJFMJWSFIEGR75TWU6MCOVGZQU89BOO8TW07AQ4TI5NDY9AU5JEW9LNLQ8K3UUV9D3LEO0IMXQFIVQ4PX89OTENQIM0NV43PCM81OZVHQ010QTM6SYSOTICJYVANOH23IZFWPZH9014LY0532AQANZMY5EW4TSSMZOX1EHB38Q290DY20M65MH9WQ3DPP3KKQVMME2I1MJJI0CC04HAIWYDGH1R9LZD1OZ1W1DM67CIU5KQ4ZZOINZWE35PFY6VOH1HD58GLIODS9T9JEE9QYTE5YE6NHHD = -36#6RD4TD6PHUFWSVNXC0KMBU4PBRZZN2A74LB01SMQ8CSAHMM86FUEXXBFHO2PKBRMQOKOF5ER2SGSDASBBRKA9A6M8797EEOL4TXVCO2KFPAUKI29DHZ9BVCG6WOVUEBMAWWLE4GBF0FYDOKGKX87APQZ4AHM2V3R0NBDFMLISUXID2JN2KY9UYLKY0E3DF138SNYV1CMU41XJAO2ORZQFHC62JRBN11EDZWI98AV7AYM54QO01CD3S3BFLO98OGJCY3FYT00856LE5MS1JG8XKB1Y8BCJO1JDRQ99JT0G1KVAZHZLOPAU40XJBMG7HNTQJ14U6LFZXA4M9PE4OYU6GW9BW4GYN5RI90LZ2RHP2WYS9NVS7JFYM978Z07UGXWUTSRNX6R5NI6DKT62RP3Q7VA72RYJ6GKNL690TU3ZPAZAII6KFJSO2RQPHRH90MVEBOS2Q9REKMCK2G7S6S4MZFWXCSESJU68F40DVFMO7GO362UDAC75UFWOS4221NPJZAB57HN0AEE78AEEUWRBCGALADUUS1MDFYYJAK5LTMCEY4GYSU9Q1ZS5EMEHYKAFHXT9K1U9TYZL88D4T51JW27IRBPHIFN1I12SYDTPTXNW96BW69C7YO5EUCPXNQ8P486013BI8EYX2SK0Y86MG24SF2EYVFW5AREO1RNTTH5XX0BTG0MRB4K4G0H6MYX0FPFFQ div 36#6E1QVC3KK5UEUDP9J24CZLI090WOYTITMAYW9BIBI00QF7LG8IOCVBKHM1M0YNVBCIX5Z63QO3IRBKP5S8VD455IGE4JCNLGT8OXV5I5Q26M0ANFQEATI4I35P6K0Y2TR4TMW8A46ZFYYHWX3QPQOLFTI3W1KOFKJWINT13A284NL6GR72RBLA78W7YYL1B4IQTP5UN7SBXTBS5LXFZ65TR49IPQ1KX2YCTT2. +36#1BWEUFKV12SIEX9YZVA5VSG9FUA44QUC512E22RWEGFD3PKZOZ = -36#3RXBOSKSV5SKZ15YPEMD9I1NJZ0F51MJAYKLIM1RFGY9RCFW3V4S6DT6WLUBKZ4NYZUXG7LZQ38N6BR0Q1LLO6DDFDCS77SOH0F div -36#2U5MN2KRZYL87Q9YA0CW4L7LP2Q63V76NQS0LFFDIOW36BY8KL. +-36#EDSXGOM8T42PTKIEUTSCBZBPPDUWUSEW414DY27RIHZ89R1CQAZ3BDKEYQMK2IGRH9YGPWJE6ATQW9MTDBEEU3GI48PKQK8C5HWTY3F7JZ4RV3H2HAFSNN4KVPCJ3R7DXTPP6I4U5CER7FXTWKWNHU7MJD6APG4ZKOWTKMEDVP0ZOMD38R7PVVYKMK11ZMDTLIOLEAYDDDN8RPM3P8QSNGLCZU5G4YLAUG0XKACW73M63QKMEKYC02FD4DCL4X3LS0F2GAH2A7GBXAC7NYYXN71RFAW8NHZF5LBQU495B54ZZ16ZJ6ZB4CACFS72VD8H24XWAIUI1PZC38RP0SMRDM7ZSBZ0B622LHQVSRMVBN4K849DRO0D0BGYYTM13D8DE6A23Q87SF1O5MCRXODAV241SUHXB7L9ZQ144P1ONCBV52GV3V1A839AYQZ9RSFO9NXN7LE8N4RZUNDZS6JQ8XQQR0HY8VUYBS8KKMQ0S = 36#77435B28MEQUA00WX4A8N6LY0EP2799DQXU3G71NGMKTG9BDCHEUHU5SLSLQH7INTHN58JNTLOZ1HVKDGFUWXRFUNQCJ5T5ZSF2JUV2IZFY7J3MT4XVYB40Z6I8JM2IAIIRS9RRXKFI0K26VJFAR0D7851TTSITEB3Z74RJNIHM230ZTOE13F9QKN5S8O2R6D4DXOOV7ABT2AMEZ3CTCAB998MAATRVP1RXYGXX464M6ZFN0J0IPCDP5NWFR5PVKOIXGZEU6K1DDY13EG1BBHKAPMHJ5LYGE5R8WR6KZQXD3OQKKCRU6C9UCSQPMZIIAKHXHWKEMTWCLF5GY1LFHGR5RUTA1FDQ6X1SDML8T720IQD3OAMI2LIUX70JELH55OZ0HE40P8I5Q16RU5UGUO4CZ6SXHXUZV5FID7U8NOVGYZJGUFRT2WR5QUKDUHYQL9LLZVN1A2UWRTVEU7BXKB3YNYGG3QIVL95Y51X06XGDXW3ZEO4EEKLLI0IYIU9BG1LRDYHA3QR1B18575FYIA6RQLP9RZZE1OWT5FAKUIAIMRVMW5SN0M2GF2WXV6SCM72X7WDPZK5PWHVK9M733D00CZAJYBTFKQYPLKROOEA5DHJE1PBGDVFNL5UCN0LHPVSQZOJ74CEIOG0H0T5K7ET94NVJQ98 div -36#I0J2TUY5HYWRJHC8YFG7Y66R3LNNA80RVO7GNDLE3F2J1QF30USK0RE0ZSNJ6EAUFAX2EAZ8K53M7J91DGK4NJQ7UNUM9ILCTJOPLYIATRIQ4KPD83O1B1B3RFBSQOUIBBQAPZY1MCVLD1QZMG0ISY3KCQLA8EXOYGA3X9YRC8IULGOXOTU5H. +-36#FR5GF7G3KAGBM6JQ4HXSID8AM0ABS5NQ8L1M8UU061DCIBCBZFQGNT9A87FSIADC73Z9WKSI5LR6LRJB2952TF6FFBEHTXVXI26W3MX71E16MVZ35XPP3PBJ9S610GPCOWNJZIJLRGP5ZNOIH1XHPUDMTR9MUA8MKE8ZEPWQ8R0HV7XS92H1BUVNI8W8BRW93T5SLWC9HSM5VHQNFD2HPDTC1XNX14G31MMHQRFWR5OITV1BRQKLDVPT0KKURV8RHUTIQ8W57MO33NZ8ZD7TGN71F15KCDV0TCOTTN1C1VD6S9EFJ4KV20JHSVSYMYMBZOLHJ3NW7ARQJ15S8MBPMCIKBTANWX59Y553JFJH3R6HB1WFJW9DVMT1O9YFCE13YC24RV0XQPG4JVMAS9G05NOCVDBX8K9VXBUQ6HQP = 36#SGC4ASRZFFUB7HEP3J0000WDVKJFGZLFPZOSMZ068BVATVEXD6T60BNTNWNIEOUFC49R9S77GBGZSE5L0QYEIUP17CVUP8B6BO7095C5VPL9D7YA1YU2HYJ73QP1ZUSBVV7SQY7829XQGMSZY8VMSXF5ZVRRJRBXF5H8ZWI9G29WL0OEI7FYPA1F74Y5KQ6VBVI42TKDO0BJTA35HSG77305225XG17P308N1XL7LIIHAK8XETM5K9KJEXMQJACTTN952JKX6Q71YS22QWUAHSMU1IDPQ439CXXCUXVC7BN7SKD7CJ6STK8U0UOFYPQORSTLI7HTMZTV65IREJZEVLZXWNPP1A5S4GGXVRCH8YPQ80Y6YP4KRSMFMSUQWTVMH8ITJK9B90V41D4K4LNNO9E4H0WMFHVD13VU1UAQZDCDCAXXSADDJZIYJCHM7TXXNL2736W0UHIOU2QKE57LNH2DZ div -36#1T0PQY5CQBTQ7DTN6O3OKGSJTX7W7S900E2E562L5R02KV6UCN. +36#99ISUCX5Q8M7XPQQZ25SQKV9C52828U7N5CW8NH49EEEOE6AVD4DUYPGA2RMWREGGT1DCUA2PM7JJNKW23J3BFVC4JZI4BBNB3ZP8JCWCAU4BVOQ9UCJJ5RADHMH3O8TLZDZ8JBHEXBECY45OZQB537GW01S13ZDOIMDCTEL2NJKPK48RYNFYS9100R6RI8B4RDVVOKCCB160W9UFRKACUFPEZPVXVFQPV69UMMPVMXK2WUEHPPNB0TTZFOYYHX3BCPG64SK5Q5G2SP0T490L8EDNVC01P9KX = -36#E1I6QGQ6S5QDZP0IZ8YNB9XR8YEJQSWMQ0N21I248Y4CFZ61HSNVHINFD24UPHVUT5WIHNID7HAJ8HP225IOO2216PCYQVY104A6PDVFCLWWJ6F86ERIKRAPIG0SKTNT70Z90MB9VIRLBWWW5F6NEMOXWICG4YZ3SRQ72LPMB90XEFUYXL84LAZXPS9449333WH55G42LR0TH2SVI7I77JX49AADP5DN3ZN7HWWZO0F29KL54G6IEBGY65XOYMCTTYOPMTXBTNIVV2DNPXR6Y63H9MCJWRGEDLDWIVV6D7P7MYBVTRKEOVHDYIPA6PGYZ3V1ZCUL4YQCPG137I div -36#1IKAH0PLS3I38HCRAX52GFOO398E3HSFXIR434C85HQOGL65FI. +36#2ZW85KA4MYN4HM9DF8QBEDXJEWMA0CQQK123FTIOYCIEPNWPRG = 36#1OY9W505UKE6CJ19C257IQ5MLI0JIIEPS9E5P8N9FL7CJEQFEEVJXOCHDUDJ6EMWJ8NEE5NUPV2ACJ1REJEJ1C40GOH6A8L2L7O div 36#KC4VM3HET177XN3CMIL2IHGBA9J9771ML2QQ3NXE2WA4Y15VF. +36#I0I605PUWFA19652Y7T25KI47OESFPHEZRD8EV72ELQCBKWV390NIG5RDM5TSUSJW9ZEJIWEV984IYUZCD7UA7BFYOZKXRF8K5Q1C9QH44UHWCJ3AG83CPM0BB0RCO7QBY656O9H3V5OGOGP70BI2J25XH06YVRNUJRNYF5ZZZD8XH1PRLI94ITNSU4HCZ85FVRDUFNZAZJ72DLWGMPH6QWRZ2XFM6NQ0BY9ND636WA861T3WHYK8ENNPSPH4WU7MOFLITE4US8P6VWIPQZ5LQ252VU9VYAMOD444O11YCG712PV107SG05EJGZ4ZKQNR0SR68AGTT4CQF5BT53F44KALR57CGS076KIW1Z5B2TB8DJ9A5VQJXNOXXH = -36#10U0W61BJYXALB3KYB25FOEOFOT0VBH1C3U35K31K2YZLDUQ1U31Y6YV0T8YSJK0ZU4O0LLS6AC56RWAXD5ZTWAB2NHAVDRQRSNS4OJU3RTXY8WSUHN7YTEECTG1YFM1ZYLPYYE9LBNDXMNZ63OVXZYVMIONK3IAFKEUF44IGE6IEG2L01IQCYS7CWHY706CSIJDUY7JCZTKSIGNUFI11GHURRLXO3WXTRUK4J1YV87O59BGUSIQPIKAY79NKBNVUVTZO4DOUCPV5O5VCIDFRIOD3ORJGHME433QBP3ECFL2ZDMBCZML4BSM8LMJ9ENE3HU1M5N8W17IDL2JS8KYYB0ZX7DH7JOL5WNV4TRDZHRUOWRFQYYMIVQN35O6N7O5GNH0EINS84T58WM6A4KAN4EYTVCT352XPITDRA7GLCIIJ4RLI340NDJP2YQ6HMUTAFPDUY4U9IFEX9V95OT47M1DG4Z2OS2O32NJN37M2PG4LKXLXZR8EN13HJN15G39T967Z6UYPS4JOCU5HDJHUONSCKN29XCMXU0USK3OQX9B5JBZ4FQ0IX9UZNTJX44YFKDT86C6HFICQHZSYCG677VZQFT7VPECZXZWF8WV0V92CBPYXAB6U4VG6XX1MW9B84NIQFAP36Z3DGM98U7FMEFHYRURXXWXIC8IU1MKYCLQGA9FXDA4UPB6J8YBOGXLX198CXSZQ1VI3TZ6KX7BEX2V83QLE681GWIGQ1PPDX0IZXOURX0ODC4CMYVXICJO2C4YQVSFK1IPPECCK3QTRBGMI7KX6PRYR8GM1L571LQWAX3Z69UC8SG43C8V0AN2LNUF7RRFN2EW7S2NXJUJA5YKLHMZL9G12D3LTPD2VE813PSQG70V1OPTFZEP83PK6N14GSSO6JZGUTWSUF3KRCYS7EJVM9UM9XFW9MO4ANIBHFERC5V2EWOQVDHBGWQFVVQ1Q6RN0IJ4HMPKXDWGYIHB5HOOS7AUDRIO7P17XWQYX7Z4XUWQCNTMPSBHN43JHG2KJX9ANH545TFRQUC2MC7ZVO69JZNKDGTHCJJWP7ACOWC36C6T6OPU5YFOWXN0AMPM27OWKSM19VJG0B7RRBW3GDFHI81IZ9J94WSLKDMTMXGW2TVLNK17ABH div -36#21LZHSLMQ0FM89T3VYL8ZDGI8F8LCEZFJHWIFOZW3QLD9HIR6SRWKWWWYJDWYWV4KJXF661IWLIJ7MAFP8ROAK7LMRISD21WFDYQXFJSG5MTA9G55H15B81V91ZNKP3C0DIJHET2RX1BQDEOWJ67MFSZPOEQMMNM8OMTIQ2AWONWH6ZFU97SZULA7V8AF4H77AV6FKWA8FV2WPFNH1XYER7FCLJHCPEQABEOX7M7C665KY4EEF8S55TJI8ETNMTU1M8TH0UEHDIOD461PGG1DYPT0WECUKKVDE9BWBSRKQGKBC8Z0HCYCWGA829XC7NDLL0EY0DHVOI248OXVJKFJN3VEHODVCIQLTIXTZC5E55LZ3TMN913AVELGYLZJXHM351M7C2M8MWHA1W0HWUD6EL8A7SZY9CXDBJF0AWWHZV1DA7WBZ3N8LIJTBFN03X8BSE14OJS82T5Y5EBA2FXMEMOOEI0QXASJXTZNESL2ZITOBGPUQ69E55796V2MFY1CCICVNNNLYV3EC77X6UUIRKJ8G9EPGFLFS97TCL5WYLVF1CCSVZDX4D77JTHS7B9CFB9PD6MNADMZNFYBGYHGCD20XEFIBDAH6C02DOANNJ4BK6TI77T4JFY6TP7Z8GIEGT1AB6T4DAMKSYKH1O7VKXJOA1XB7Y0T5Z5AMF0YYS97JSRACAUP48A1JQN8GYEXXQVO2H47V7QI1B6PAF69RIPJN5U96SZOU0Y8DYONA1IBWQ960QSRFFJFNSRY4M1. +-36#ZBBR0F1FQBVNEZIYP1HWT1BCMKB76KWZ8O6DA3JFTN93OM5BDE8C7IBETWMQ40DGDGH2YYYVZ19JQ59VNWMQJ0XJK1L7MJK0I75LH5BABL1HEWTZP9G9YG5VKHBWOP4TQ49P74D5G4IKB1JMOOIOQ8BDPBWI9IJPHPLMNBNIF7S095MKYRGF7YWU51WV198QW00AGPE6YWSP7QL7AM29VKK1ZDUTARX1 = 36#25KS6M11HIPN0WFIE8O4OS4552MJ6F42MXDHWICY1U9DSOXRMSYSYRV2PMUBZZXE1HL3N4GSR8FVF53JJZEUCC5ZRMFDSL043DG83DTWJELUXAF1598HKUXCD1TUJLL9RUWHY3ESKP4ZWXFNR5MZGE2I2YX28V5DD9M5D7LXEXDRBVJAOGVH4NB6NQ3M9NRD7M06558K7URHW9SRR412GAOG8DU42LBNXOZK4A5AL8SBIDR6VI8CBAPGE8CFHWBZFQ2AZ364QS649NN9EDU8PEKIH5BLZ9JJZSFE9JVMW5DF3OKVD0Q6HBO3FH div -36#272ZFZ4XSPWECAPUXYWGC07H5UXX6HOUTWV574BOKNDHNBNFZ6CSVGYCI8EN6P7M1METE0SXB6NRR279PH0UB2HEUH. +36#1GJVXRANOXFP1OLQWAEF55T73DZWOKGGYHS2IDI8U8MKTLB61A = -36#3G58K8Z9JX3CUSWXLUPN8EQNHCLZPRQGV4OWKDYE5PK0DS2N1PQZRVHNU566GOR40AK8F3PJIXY55Q70IG8HI25Z4996RW7OF6S div -36#2D1KA080XFHC67H6PEWGHR27VWR8KI1XMU7CYDR2TVJ2Q5B0LA. +-36#1ZDMTE7IMYB0RBWASXBMFQW6TJ565661A0JGUVE1KU0B64EL04EMNTPDA5LAD80D4E16GZ08TAOMBH15536FADZ8V8FN5LU425PLOOJABVS33GNC8GIBS6RY49YWHOXFPDGNWH61ZU19P2MSXLWPPF6XE4JYNLN79JO51C5S247STHHIYQMP = -36#7NO1C1XQTOXQ072S0A6GKFRBZ09KWZW66N97FDFDM7SBO8VP2ER1IWEZ8A1ES14LQE0BC1T3JPHC5DTR5EXDZSD6NTD4S4L6WAO2F80ZAG05F1QTHOJD8Z6AUENV9JJ4Z4OJZTICFCMZGLWYLGCSO4IDH1H1LX16OBHHZJMUBZS2U26E769WK42DUSTKS4BVMZS01SGQ7CBFSVEGLNL0MDLGLIFS71Z2BARW4EOMG2E79U6QLZXSTBGPKQOQ25V5CILOWVI2XI3IHM1BX5GXGUFQI7S8U0GIQK23AOOF7CI6XA73OEQA98CJZ9FW62UDI42CRFO0CJ0SNQWQBUB3N1C0AW1XSJMSAHAQ517D5V8E6RWXVIVVLHGIDF3BYOVCHZYUMZN7K061HBR9OZBD7CV87O3QW2F83LOC5Z6QGLOP0QGXQT3YACG89N2E688 div 36#3V17HSFR0WEMW4VS33Z4MAGZUSMGL4UELGW2MTQ5Y4YST4EGAOFEH9UCCWKKOTB51HD9KCZ0902JPHDGDQG7PRP3O1PT4M4YNLT021HRXJ1H8TPARKU1SR2REP8IPDCEMKV40DXCF4I25ZXVGCY14RI5JCTFS37G74G3TY6G3YVNUSMI4ILJMKB2CQVVFXJWB95Z4AIJ6EFVF4GC96K7Y0KH5FZG8432BN8GJSQBTD0KC6IYJWWVG2X8GVFE1M3U5KHIY1HZJGQW. +-36#45PK2G97F5R2W2SSIM3IKNULNZGBPTJ0965LE5ABFNX9EDA4BTMVWZ8CAKCLOVAVQ9Y4UKU25978TCH16SOR50LT03RKC4DA5H9ZM0F2KYB0X90D74WWWO5GMFJR7Q49O5EDNMC0DX6KYMAK1X8NR6ASWE1NJ83PJW65U4UL1RND51H93M = 36#1KQNIKXKW4DL0IQOJ4MGGVUNCYHRK1STL60Q0I33BB1UZ7JCMERYHDSVVH8RN4LUVQY9H9JJ1ZL8E7YJ4TDIJFVC99CTT3TJ741OC2F58R70GJUSS0UPMEHBOZEBMBDH7 * (-36#2MZI8PX332TA8C71RC7FLFF578W5LM1DGVSE0MTGDDMPG6A3PY). +-36#TGW714FQ35HIBNHSHEFMR82YIW43C3I3TMA7LSXN1B3NR5LMZDUZLNA04R4UU7UYAG3NMDOWO52M9A1U9PUZVYT38QG6CUP28THVJODFCEK481A3REC8MGE74YIZXICDLUBISB1TTE6IWW2QO03SZS93DQAO5GCDZNHU9P44AV3VA2LA0XM911QN2FEUC75JWYJR90S2S7U0LL1K23KB5H99UCOOG72R39MA3FSYC8USJ23BXTM8Z6URBR5HWQUAFH2LUG6D01S7BWJADBHXFQXKDFBL542DXFQBNQ0U6JDC1V7DUJB6MHVFR0M32G98DY6025E5XJA1T8P8HZF1F2TRQCBUWSB556PW48RD2X251MGLF5BNUH60K76K0DT3WC9UWKIVBYAGVZC69ORVHSSF3F9M3USOEV2CQ1VB1M9COQ1GBHFE6UEP6VOEHTEPDKBFY1MY6DUZ2HLICDNN2QLCN4MRZ9DAWTEG3PDWY4A5DRCF6IBEIKIGRBTFZRX5EFK5EW78MCKS1M1I8Z4DE1T35H1VCTQBFUJMGA5NAN4US4ZU2MMZIB29Q4YXEENTHSBJ5WNKK2FN9FGCKRB7CF7H1ZVJ6CQ70EX5EPFEZXVTU8A1PKLVWI1NSN24LHMK8BCZJ5WC602ZPRVKQO7Q81XEXD7P5Q0VYSWQQQ28WJCCX = -36#1RY60DXDV3TGW4V7UAOXKAIW4LHT6Q8S4GCQ9H99M23DL39B0HTHN1C7JICF23A4HKDYLLBAIJHQUQ5GFX08GMVISM9L1UNWSJUBAEKE4FT5ATGZ4MCWYN0LUEB5BG0625EGQ0FJPD11CMB6OU1ZXIXH4NEQI25X4JXKLAJNFBBZK90HI3HU8FRZS301TEOZL73S9IIOQTIEUSLEE98QEO3B8RMP5MIECJCZTYOONL9WJD666KRVTHW08YYH5JFTYILRKX4VRT1OQL6ZI41ETCN0ALCNGWT96MWIITBEV778ZS0DX03P80XI8C0DRN6ASDS478R5AU5JT53XJYG7G7D39OSNDI05DU5TLSV3M4G49C5LI0XMFKNAMCX8UZUBC7G3RU372PPXLYEFIUB0QKDHJOYLRZBREKKHNA7YG6QSWXJNHIU67ZAUF3W5PFK58XR9G5FIXYBIM4EMKXOJBHD4MYIVZZ02QG1UMRJCQYIDHRILXJ985WUKC9RKKSQ5SOFHVOHPXY97Y9RI18T63V83Q1MSSY82MR68F67PTD1LKHYE0ZJQZUNOKP4RNCPQ927QUY3QPSMVUE1MUJIBQVTSPF8OGGGWM33NURXWRCKCJF2244ASDRAAFYLTQRYSEUXGNF6823BI6BDDICENEHLHG1N18QNWU215P7T5XH8XCYIRKYPOQ0UAXAWQZU1WIHTMXM6LK2LS3V78JFYDMX61AE2NM99 div 36#264COD3CGSWG8V01GPXZ08Q8O78GTAF3HE52Y2NA4SI9OSNYVX. +-36#FKBUNU9CJLCFK5FV21VHXYILZN3ZF3QCRR508TL4INJ7M0X8JMMW31DH8GS9QBU0JPT4E7W5XZQMCFXJBX2IJEWQEDX1F7J4MJOWC2NGSFY97WX3G42XGDJVGMYOSCQ1W75G4HY921UFXNG6S1M0XV7ZR8ZHNJICM5529UWRAM2V2HCUUASD0IIY6C6Z9F9F6Q2MP0YFR89GL8UZX3Y5D9ULWGQEFO5GGXGRKMN88AF09W74X91S8D9EKE6AEODBGD086U1KXIRC3IJH6GIYINLFGTVZTAGR6YCEII6IYMFJ2SN469U6C0M79CQOPG0TLZFC5WPO7U4K4BUQQC3LSU0YJM0TDRA = -36#ET9IK5FTAZ6Q5QJGOAQ6MW9SPE5X7D30QV7FJUA5CV63H4T7XOECRBR7NP51F45VOOMA6KSGDZ2JTNPOKMPXD326O7CDPRRZSWB2EDH3GPJE39CRJXHXZDNXSPS1NLUKDJY9L17N4OK5I9OFTS6DRRKJXNYMENNF3WKJ4FEYAD09GLEOGAXE3DVPOX89OGPL1JV2RCD66REU8IIPL9TLBTDKZFU20L3CTPOJ7TAC2T1RC035HLB7LKTU2ESBZQBG11R26CM4J12D6GPQ7LKC8LEOJ420YB6NFINDUG3YFJ556KEMOA8IQPV8JPUYAGLF2FS1ZAECOBRG97Y6FD996AVE1B5CS4BKPLSV9K3HYLGLPPO517DN59BWTFX51MFT64E065GKRTHPSJXQ div 36#Y9EFKK82YT7GP953KNWX71XO6VV5XRYFANDQUHAVJJ4IPLHBH. +36#GKB7MSDYOM9REF8AF1LZ2ICXCF41MEC8SZ6LD56Y9YV5IWDELR65EUGC9OZ01NY84U5EVJZAIW66O0DLV0FSIGYWQBS5NB0Y9IAI766V9GXB2LUS7EB05M3DZTC68K93ETYJD1GV7GCRU4UMZUWTD6TJZXMF519F8USKRV7QHQL32QD2V1BNJ9ZLAXJ1F50XG2GCY8ESUG5OUQENWJUN82O3CFLSJHMGISPACUAR50TWM6PL7 = -36#HPY65VRNNIVVJVLJ4V9WYMPGS0EQEQPXHMFTLAOX8ZJQGZR3YXLLM9XDKJC2CFQ7K0YAF1K39U8471CTNWWT6U4IJKJJSRERI1H3Y2FWXMRG1IUXNTI8U1U3Z6GH5X4YI042ME3TSWFBMPNXV6TM04DIDJJT5EZ6HQOPNYV2CR8RCEGIZPMW9S1ZVBDKVEA3D4EC25UJ3H59HWSVJ1M6IAEOBLG61OQPVYM9796E9GO9AKM7J69VMVCB548H9N0TPOSYDES23014VQ36FI5SC21TBYJS0FZ4T5BWJE2DA858IGD5FU2OT65YOAE1VSO8ITF55PDEE1M0NIT5QFFHI62RML609C9JA8J0I2Z9TSCA4HOMWKZTSCVOUKYAQ606D6VG8XTLIMUJF29XI6GZ9THE4OKVP7HLQ3Z div -36#12IHS1ZWJ1P90G9Q8IRZ7HFITAU581SYKHX4KOHKG43GTZS9BXRA91DUTN3PHS869AFV9X5U4UOE0XQ5K8EUYVRPPO750SMLKNJH9GFPVE11BZRZYS1LI78DZ1NYBYJN7MNOUTS906YMGJE76HYE4FKGXA85QCTYKODUJVXN3N553VYCT65. +36#2Z7OH8D8XCJ8V9SD7KZQS7WSIPT1U088RKHOCVK07HAYRSISPHLT29L77IHE9U6YRTTXNQ3208T5HZTU93XLE6SVU2DQNFQPARICFU3GHFWDIYN9IC0EMBPF88JC4UJ4DPPY09UOCQ = -36#A5BUVFRH1XF91EXOTYUSE8DFDGYW5WR1QKG3IOGNA2E1QGGRFKGLP9EB6LH3COHUDRFSPLZZRP41UH9X4NNI5JD7S3CY40W3OU78X2G45AIIVZLREWW8ZZQ7BGNWM658P4FHYXQF4VMC76RB1R93CTWIMHIIO1JM0QFCHEM3NNX3NOBD6JZ900F74SPFV2HX6VLHZM1TIU14 div -36#3EO4AP7DCNBVJX8VRZ4E20TJDAK4AOVRAQX6QJ1SKXISQTZWD6BKBU1UBKPBS87HF1W. +-36#1590266I2ZUDG58FO4ZB2IV1HBNKM5DYZBFVAMKEU48CWFQNIOWSQQW7MYGQYKDDW5URBX14JNE2V8RM24FD8C5XVYREFDT15WCFA135VIXXHLC7J70WUQZDZSUUXUFKQ0P3WECOB622Y4V78HY481EO6LEOMZJYFD7128IER915U3JPAWK1KUEMT01ILLLKR4H3IW9DU9VD6EEIO51JZLO6XCHQVFIXIMK286X2XTJBL02HPPR8WIRKSC87GC5J7AST1RHO95BPNF71OGIRN8Q8HB0ALQC9WEN6B7YQOTYLIWUNSWY22FJJ1W8Q3DMCLJ2Z61L2D2FTQ3454CJ7AC1F3X3XRA7OXOXSXZ = 36#4W6S4B6HGGV0HLPA6XXOFDW22NG7PBGZQG637ZCUDNEE4PRN8RU99SSYWVTEIQD7QH2ZVARU5D71L6ATEYOF99P7NTTNXU1AMINR5ZZPXPKETNG6NDAKW44BZZWRK51SU5P802VOM4631M9B9Y493MST4QGQ75D2LKB9O6MTZWAOOU9EZ05VXBVAND0EV2S0GCM47IQESA7Q5WV54BTLB8XIH6G7JJ7BLA7OM8X2P1W6DWC4SIT69OOY7XA3ZON79WWUTTTHHURGP5F44IYJC3VMR0S558X5M735EB7UROQXW9KEIFBWPHMYYB9L0VWW2UGU69XYAD3MQRR9N5LEBPY5BG384ST5DYYFXRBDWGTEIFFS32MAIQADT3982ZH1O4H69V660UT522MHW41GEQKBU1TD04IQKBBLDWLMV4L91YGJISH05VX85JDSQPMJLE5MQEMML88G7WZ9FVFZPQMY5T7H7BDQEJ93LH81Q1WLU0SVZJI1NHX30EENS3Z42L50ITENHFBKF01YKEGB78FU1K3HF7CN43ZULZBH4I5IFNYWP1SYR1C5ZR7LTZFP68A7VPI4MVGG5CQJFFZAS8C305YOI6IUQBIKY4JXWRRLJEUSFO10ND4W8Y7K5D4TBIT8Y4NCNUEZMENAES2XJ5DBIPP0MCUD5U9M4QIK28BLM33OJSEY9G5BFF4X29ENK6T div -36#49RIFAWTF7XBQ16PUX61INC8FOJRYIVXIP39SJILMVWZE2W13THD87VH63WA60SM42SSDGGKBAAENI93YZ6OTV6V06WRTLU3LD41D1G43NQ8CDMBN3DHQKKW51XFRF0TVE74R5DRS9SNO8IEUT55HWZFMVO0Z23OL71T5JU8P0WHE0PKXLG2JMRFVJGALKDBJDUGM1CYY5WAUH0OCZJPEH0JJYYS90R1B8JCVXAMJSMOF3RONRFIFPFDQXAXDB4OKZMIPNJPWBJAFLUGQVXYGWV8JJSMRFB60F79EUGQ09IIAOLY9R04G7UZXQQI9VJV76VW18RQHFD0EP3WE2FI1ESLOWJ8F7. +36#EPOCL1PBTVBZ8RUHZHN664O48UGWXSFJR5FONCTA4U39VA38H4U5JLI4Z56D54Q9N92NELG2HF2C4ZO3A3MJAAEE4VUBGFCAF33NWHUCJSOXRRMAT8T4YS668IADZXCGZF6 = 36#11YGPML0OUJ18R7559R498HCI7DG879RRO5812HEROVUFIJ6UQZ3NOG5UBKJ0G0Z2NHUM5AZYG57KC6BDY92HLO7MJ6XKA8QAP5FYMVF0UD3UNZZD94KG31KX0RPYGVOMSJQU3B2F7IWF7OWBJMJ3RMT2IRFJMN8N1PJD26Q3PMX2OB3A069I div 36#2KVFLJ67YK8DB4B4ZFRX1U7HC64JXLOZF15J0I6XW46P7CN7C3. +36#DE8QQE4BKEKF4VWF8HJC50JNR6XTGX9QJVPHVTWAUYY0WDUL8J03ZDFY0RPQQTV5GVM2FP1KBQJ0WI9AE4J8TO3R4W8BZT5448Z5XKTD5P05L11SCA8VU6FHL9KIZEOK87GH4AIF8MOR56B4RKI2ZKKIYNQ2ZC10ZS3I377HHM1WZOTJRIZV590M071PO5IECZTQPGWQ56JQBELGGWEKTPZZ7IBDMOFUO7PW6LZODX2XP73OR6FR1099YHN9PBQCWT61WPTAQOW1KP4MNSA5T9PGYSWVMI2PRKVJBS52XUY73UHNN3IQT7X5JODA1W9VFZJLPVUM6WBD82HOUUTWF8IH94P19ZC4Z0MQFW7CJ92EPTTPSMCSVGY2V415VYPJGW2C65CSJ956SCCRKA98CWVOMLYJU2O91IHL01NVPTA2RBQMY6R0W65CHR742PND3M8ZYCQAHEXZQK87WU17AXKD40HE3QHL2M14TKX70PBP44UZ4PANE0WWVQ3VCPJILCHJVNIPRBVYSL9GJCCM9QBNQLY5K6GMXNGGI6BRJDMG86WUQ2SLKSA73B8VHSFYHTM309EWGUQV0J3KI41LEPLHFK38UBG57SKIA7A6GD5PA0GEDVSCKPMIWUZAZ05V3LKSEWL5FZXL3XO4RKCT7F9EAM5KHL59LA3XZBIQZ7Z43SF8I6P8Q18LQU7T0OWA2RVJ08V7JOMB2NZEATTP6SJG5ARTODLLE28JHH20X9LYUEMFD2LIYD37OLKYEVLA646SBYFZZIVW3LPFPYMZQG4F5WMIFK7M4CQJ15TSAY4C76MLGZEFEM8DOBSLQLKV0L7ZV8LOSCAFJPBDUSFUFMMSVSSFLTPMMO26V354DHDD7EEA9S5SID2PZ6U71HDQE82JX02DFVZ93PNQWJH5ITR7LIL8S35X315OW8GZHHZ60EMITP20V1WUS112OOPE1CKOE2RUTDJO6IMLYDJGZUKVZUXAV9HU8BY6CPPAKUWW0RW1SAL5UBGM03TVLJ3BC75SK5PACPTBLDW0R1Y0T9ROYCZT8Y6KPQI8QDTCVVFVX8ZUESO212TSYUXNNBAS3I61YE = 36#2PVUBGQK2EAH44KDZU5K4ACT0KERCKFVNYGZAYZ6EY0CDHCCQMP3PE8ULN4A6KJB66CR597YSK49I58FY1FIZIO9J4OR78COEQQSZG99GEWM8O8W5ENFXUM4Q50BKJFKE7N66BKRCSQ864F9OCD6YH3KVK9UHVUN2602955MHVIE7HRI42DM3E5I5RFA9DYQMX0HMD3X9A39NVATR3JFN6PC9I472ET8ZLWR6XNR51OLUTR2PSMZ7Z14LFOQLAUMCZWP38FXHGTK11YGWBZH1CQH4GGAWK5HB9EJAY72V0LQ26O2D1UXQ3RNRBPPI9VGF6LGB2KGIJKHY20SRQ84TR2ZYWP9BQYQK9ILO3PYYCY6W66ZFIUK8T038H9GRX6J631M1EXQCEJ034BXKQ4H65LQRHIIEJYZ8H5TCYBFROBBDFFQG2ZA5PDOBVUASOZXO3RNQDZPZENAB1QAU6SWWBRPEBCWWAKF2WJ94LA4EMFS03Q8VAPGFRYGP6CW4NFKI6F4H1RUAFCXEDL5NJLGXNEL5T6Z4R43PPIJVKEKAVDUKIJDNRIE1ST8EMDW55VVNUY445Z2BLOSIZAI6EOHRU435PFDIY54SJGUFHZRTIQU6EHZ15J7XSUG8ZSYTF7UX8QSQR14297VV3AFKABWF2BIXF2JLQGUTXZFRPRQZ0LKSAFSUF5AWE20FSUB2A3NUW1WIJ2VEVH813C21HXCTCLONF0XB7PWAYHN4FN9MMONC2BNFIZE58PQC4YRXGLU89G1QNVTRHY8LENN0IML28LV5LZNW3NMUVWRG3CHH0XO2TIDK24BX4JJMO81661HBYRKS5ZBSTRQOBWBAB4I1IJ3U98SJHRRJYS7XXFU0021JTALMLFEP594KAHZ3RP35BELB5G59EFCXOQO9IJNC8X9VWLCY5C402445TZ7IN57GOFWF5DDMXLL20V4PORGY5WP88RTVGQL15KUH2XMGNNNOS7QMZPLQWAYZF2PU0K2ODD9EGTAJGT2O4IJHHN7675OBU3GQFAX3J6MHH6CXHZF9KMHCIQBTI0D48UOD9G20YBIOKTUSATNHL5W11XOVI14TTDJEHBLC3784XF4ZN26R8IWGVBALMZVOQ3WLHXF1L25HOLSIAHEJNWNMQ3PNM3Q2HGAJD26SVFR5KW10LEQ4IQ8UC912IJUZ45JU9LRO7CTQZSMV835L1YP4LH846ETJ26ARG1CAJT3X5846ROX9740OEBOUKFW div 36#7B24GDTE5P7O33T4GTSXLPAC59YRYTW6IC18CQU13CU0LT8EY8UF6B9JL49S9XUZADG32XHVZZKXK765SW723HOAGKL5D0YIGA9HI5OAWINDTEOB9LKT29AWZW9PM8FVT6ZCJ1OS5V4UUOHLUKA906845JNTSA. +36#UB7P785VKS88SPQ7C0Q6ES6FO3LHRFLHR6N508H32MY20ELAJ = -36#N2T136Y0SSEU932TXQWS89OO9N7189FEINTEDLSUUAVLY5B9YQ9JT71JPPKFEU14HNO00QYE7U4YGFHTKUH3BNGQYZ8GPAVRX9ZFYN2F602UZICFUO3MCP0KS320YF9DVX139AE7T7WOGZ27K2BHGVTV5VW2FLWS8Q4564MAHX5L43578ELQIT3VB7J4 div -36#REQ041UXXTKVDY9ZY5BCU4Y6KFQ3YP28UHLTOYKHNG6BQ35EY6JS4BDVVIJPZ7IN9LPQBLFXP0Y4292E7EVFML95DZPZLC4OR2PXI87TZ8QQO90IBMKPMX8T1M2S0HRTT9V0E7Y6SV4. +-36#1BT40B417DLUOQ2XWTU41VSREIWDBYCBWXQ26O6EF1TNVBG9N3 = 36#3XMWMKW28XEUYH4R2686DR7UTPTPJSQAS04SD2I5YRE96HQLORQFLVO59EH65DSLFTU2VJBYH9KI0TG6LIKHUHBEPC4L3LMMAO0 div -36#2YNHHLC3J2X3J1VWG4ZNSNC1LWC7T1VUE6NT9IECGL67B56E80. +36#ODPJ437JH8H39C4MZDRA0JEG84WWX6W0YP5C8VQQH7KU81SSQC13GNWPE1DD88XCKV29S5LC8DEICEOUZ8CBI0Q6W8OON4J9HMRPNXB98EXS7UEITLLEL50F9Y4N03PXUMR278QIZ7YANJLPQRAFDYIFMJ139YHRT9OVV4L0P8TH5V5AIVKZXZBUF0F0BAE1NM4RXHP0IQRFS68ZVKAGBX1Q3F9V87KCMI1FSPXAIW47HEX7JQKABG9XU77ZJV9CCOBXVUX93AQC5EAVQ1LL5J95LX7D4RBV1Z92TV88X77CCON5OZ9ATL6KKDBR2NIVGJDY7HWOBXC2IP = -36#N2YKTC8IF412XF27THWJ9J4PUPLQKVHAFK9OFJDLODCAE8HRPRM9EGU2S8ACUZM9MV9QU63GP2WAUF5LAQJDXG0NOHJ69SLPX3AIPBIQ3UHELYOJ2KMFEEZCF559X584EUN4VCIYGO7LTGFYSYL2XBYVSXRKTXP1S27PE7TVGI4CEKGBTBXVUS827A262R8OYPEIE3L0O02WHB57T17X9E7EKRCNKCS4JLAI9SY7EF54QEYS3ALF4GAR9DIO0UQ72ZK1I0ZWVML4QVRQMZK8GG0MWTQTJ8YM80HAU13NAZ6UFLEFGWT8C1IGTCPKDGTPY49G4NCLFWMR3ZXXHME8SBDYHTW3M3C9NCESQDIQWXB3AI1AI27WJF48LAZRFKW01EUFKQBGRM3J0ETUXI92G8CGULN48BS4H34MDNQO5ZOK6W6S2HGA1ZIQDNE9SD56QIXPGF4KZ0EEGB015EZQK07Y9TNXKQFROR06QFRNN5MZCEUM16LGYFYNSOYXLMPVBFV3J95W8710DSCLNGQRAS1OC7L3YVFY5XS2M6RFZAZ6Q528KHJQ7P6OVJ0GKGQBLPR5I86PQCH3M89XHR8GN89MIBL div -36#Y2Z00VLB2RWIOF5YA57XSK9SGLGCW7607FXZ4RPTWH2L3IKUX46FSAED7J8AJA6TPLXJSXNTV1I3II4MKC49BRXUW5WXZ312U4LU3DYW4N9LK289SUF3RBDZ54R3BILEA31IZ94MYM0T0KEHFVU9T5Q3AZMF0RBYQRXUXUILQITSARMHE11RV5LN8MTGIJI2JGC5P6BPJBCDB7DIQBTHSK3XR3FW8S843JOK27NO6QG06OK6ILLQ0R4ATW5NGK5YB9KTWN84V79FL. +-36#6IJTDFYK2ZX3ZNI0Y1544ZZ5NWE7UQR1E848ZIOFKVY3NDYV1ZLOB1S9CODN4TWLTL2B3VPZFIXT6636QDZASPZ7T3YK1NJJXQ3 = -36#2COME02PWMMLZ66P3ORO1R15HB7UZ1ZS1NGXZCLESJZNLJP2O1 * 36#2RPJURXDJX7LA8M2HLVZM5WQ7B5RQ19XFVP35KLHYDSRY5VDQ3. +-36#JNEE823EH6OTUVTY9TD2GGG9G9JHTYC5BVITSCOILN71SA2TQ34OOGZVSY4NDIBRR8EMKHHO2FSWUYUUDUC3TAJF2N4IX28OS2KE2NJBO3MIRNT5KJKAPJXSBLB8W29Z9VOT61YBMOGY9KUYBAGYKGU9VNC2KN5LGSA8QOPKY9BCP95PAIGA0YQT19VK39WBRVOHUMCN6YPH5UCY9P0EI4K6KSA0IA30MTF572XFZ385WL1I6T7IFBSITLKXBAJOP8T7Q8HJIPUOJLUPG4JTBC42ZTOZONQO7ZT5P28I9ZBN7PRS6QA50T3OBZBOH253JD6WDP429C35DDQYAIJZ43XU6RIWUOWSR3NPSUZP2C40Z4LNMA2LZFKABIRCRMCNP95YAIVC2VCXFJKSOREU0SFWWGJO5ZU5BFLW45HPJ0OMRFLN9BJHFNOTU41HV5DP61 = -36#HEXGM6Y9W001EXEZEOI7PR5HVGG7ZFPHZ987GAU6ZTMKRGG5LP8RE5X13HNY7T7NDYPWW04RIPW1J49PH3SN3X04TPL6KFW9561VT8IE31QGU2QJ1GX1VOWV7BOMWQEJGFIC8SBN34H6PU9CPSYTP1M3Q93MJX2W7W8KPK67Q2QXHSNAT2WSG2MMTMMVZD2YOV2HQJ7KVHYEFJ4CW23C94JFOBV7RN8NW5F50C5FQWFPHQRE1UON7U4OR77PQTLYK6QRWOL467DW5WUQDAUQPK684SLZW1OQS12SAOJSFXARZOCATNS53P1ASV2C2OCXQU8NU69GYD784AJGKHJHJHA7HUFMHMW196WDJKVYZ54ZQZGO1DO8BI1HOMWNU4OUUFDAL6UX00SQ6FW02481X03U89GA3OJU7OVJHYNLRFV5UAMDM9CFC7IWZGYRZWB14IP73M7PWTB0XQO5NXBOXSNBTDGCKCAT3J4EAGDIFJMMCE7ZUPHDQKAVOKG5OZCXOW36B92ZMECO37GCMLBVPL4CUACDND4JTEPZWX5TTBFUI0ZFJU4Q25CE8GFTSIZQU61MMU305KONS8ZIPUJ62Z2LIE1E07W2WF9N1IND827G0HH659U6O7L6R4TKGRS9OXH1K3AEFN7HAH54UGUC7JVX6R9OLCYCQR2AUHQPUJ0KR0BVPPZL2OM0TGV2VEM9NY2WP3TQ6P2EIYKQLTLFL76LCI58VEF758R6U6M5VYXS0DH6WVBJJRS1EJYCO9M9BKC4PAURKND7CZ3RM7U9S1IDQ4DNNHN3PB03SQCO6JT2FEZTN3WTGVMRMA27PXP31GBDCQS5Q0B4Q8B94LN06Q895C7O7DEBE302GBXLFSM1LCJYEXJGIVNMPX7TPWAL5ZAAYCGYPOD5BGKMKHQH12F9F74I4T6T0H0QUF659F4LACR9ISJG945IMYZYE455VBCKGQAP98CLDSY4XCPWCTSX4A7LCBV49DPUMLCYEC3990EAVOME4ZX6VEMMDNKIRBO1CSICQBS4570JCS48RI540GD9YFO9CCGPMWUO5I2HGQEASFITYDTV65L6ILN9HWDNIR1OJFL2RKJFXW0R88HKDLUJG595E8P398YW0U5FU4GC4HEBZTDVECCSBYMOTMZZS0O2MC4CIM9ZATT2GII10UESTVN95JD0Z5L1OLSH0USIOFC7G13F1C62WXBVBICJFDD3GGF5J3G138QR7Z4IS4ZDFOXLRQA1R4K2KHOLYXS3S6H4NGQMT1C2GNX5IOT5TB6H2OQ0X5FM div 36#VWKN17RFA78YSRU3HF6GUNCOLTPYZJ55PNABTYIHE7NWPCM8MEJFRWXDSMTS3YWSKP1NVS7CJMRP4YR86K28ZSOXDA2FOUXNRW0RRTRXA6RE4PBXFJW33P1UY2RQFBHOB2PXGREVJ6LKF9U7ZFHT3G1OM06U1QL4TBM4MFYKAMLXA7SK9A7LVAHFF98VY7SWQK036UF87MO557PXG78G66LQVT46T9MWPNLLXQ87MYH56E7EVBJPUSD7ZFREVAE2QE19C828MT8OWS15AWYRN8WEKHYFTXVIJOSYHOVMJ50FHAHYJ7RVQ7UUGYJZB4RGW3H4EB6ZEADSIEIEKQI7Q4MBX1SPESI6WOSVOLQURA5RZWOC6ISPZ34FD1NUFCCO8OB5DERPOCT4AY4ZF073RCMFEAEX77PZODJPLYY10QEB2J450P092SJ24D8B79IL1F5NZM09N3NCLN5L0W8AZN932XJ9GLNBP6V1PSFY3NH9Y8BTEVW4BP7B7F7GK487ISU5Z8B3FEV9BPYIIUAES2VV2S9QFGRSI3C8VP6GGHT4KFSHP7KHRZHEUNP7RHFZ92ASUAGO1LCY0F08KHWCFTFA93CPAK5MCC84BJSGFLNIGQHVRCKC1NOJTWJ3TKIURHRANAC6PS6AG0E89P47IJWYHHUVVWUBQ6YKIQMPRH6EUUZC09E9V5W12Q2B9CKDX8Y4QDGIAGTZIZZDTLTS9HERA1WGBXUNCWRFD4HD8DJG489JAL30SMA6MV613D5N59AH1I6XGQH4XHAMJY0FN9XIAEDCPHH89E2SN0M1Z9C2KAJ2DIP48C9ID4GBYJV4IWMJZYLF1669RM. +36#1TA1FF5GSMWCMUVS7YHCUGWG0LVGVC4A1UA3X6OH96EK8WFWMATJPVVUJI4XVES0LYQ8B8KI5QS0P1403QYGNXP2OUYAFEODZO65J7NBHAMCO1HJINRA4Q31NFE9MYUENAIF0TSKAK2STTHNFQN77XU0KT3CMVGFZ3Z49HOBNIL075FZPH52PXXOG0DP5JJTUPVUNDSBB2NUL8PBKB5LUFJBLIH0X6UWAH9FL8KZUL82RR7Z9EUYM18KIVB30T517W7HUANPZKI5BHF1V1WQQ1BBBQYY7WGU840ROORNI4S84D1PA29FG9XMK19H7EP43PY0EYVPUB7HBNA8NX4OWOJR6JUAS1ID26EEZE2HRM3C3VACZUPIC39XXYNGMHGQHYZJLWARHCSAJKCSLJ7FTOHQTT0CX38F8BGL0NXMZBLXGAMPKSC7I5STOONXQEB2CFLZME = 36#3MA0MQNV714677Z6ZMFG8UZRG4HXGFLSCYVL6WF9QOEDDUL82864TM9YWLUW5J0OW4J9CBG92EC6KR7HI4FPJ72G3EAIFSXWV9FQWZCZACCK5KEI7VV5FMWVVN3BSHZ67MRBA1EGE31DSIGP7T8O3VKDKU3329E4HN1IANY43FJ5O4DAW3EJNBTXWGLXWRKX48AWTS5DC13FFSSIJENYS36FSXA8SXIFP7OLPRT99VDHE9XV1MQE4YBM5S01XG3XEKYM7SERQZA5OVOPRJ2KBUDNH4ERLBHV9GMKH8YMTGF3KU7TFWOHR2CUU6FQLRUHWRKPPN6GLWOJIWN9UXHLUVSAZJ4DOSKZL9CFSKIMCMMS76JDBWF168UYN1IV8C7VASSE0LQH6J3UYSOQ3QRN22NXXME57VP5LGZZN84CBQF6OQK34J11GCOC5HWUAF0HJFDUKWYYOBHYY4MYUDNRM02UZ0EOY201M9YFD3UW62QUBXRUABFZO1SSK9BV2DVLO1EO6CAKP5NA6VOZRE7RNCKVYWN3JE1EYRIMK1EPN53K4T1PIAQVS2HL0W9DM7WHO53X0PS8K4JOJGW26SQQJXAWIYRN79K35X02XMBFHU0OV6ZM7EZXTS54IY0JO07D9M5WAX24HDLQSJQPYLK4VBRLJ9LWOR6RSL2SQ51QRPFM4DJ949OO9TOUQNBLADOW4M872QAX38ZR8X480EPQ8M51S0ZQDH9NKS3UBPNXWOKYEYQDO7CYG33KGWLXMLZ7YG35KPDKKJYWD15PUL1CG6SNLYHYJHHQCSBNXIHO5F5E7FRF0HM0DUR9YIRU82PIUKHO0EHK4708BBEBYQYT7OQRBKPAOJNZBZQA4VAWMLHY8N84387HO1VL9IA0XNVV6DQFHW4N16P0DPI7YKW48QUF0C5LJL389KBDNV2MZ9LVI9H515S95VZ5LANGQKPW8VI8IHU6LXX4LTB3X9GZJZ7QXQPKFLXJV5WLF2PDL26NROT6T5QZGS2Q0ZX2TXX3OOIX4K9QWJK6IZDZIH208DRVCW4QG59PQ5S92C8C1TWSIGJL7CIE7VJ7Y8XWUX5L9MLNZ91W373WY6VRJ6LZWN2ABLL3DDZX2TSF2UXTFCO9W58DJ8LJEY7W37Y9MJYT538CN22RO88XFHW40ISWRF3OOAIQVYIKC7OCH5EL0SSD1RAOGKOL1G1E52KIGWMK4RWRO div 36#1ZUG8N73KUCNI6JX5GA6BPZ67QKMBQKA73ZZFLZOID7HT7TTZWRXFDXVF2GT39XSR6REBQ0U98LBLKDZERA081UGQ5XL9LPU9YMG30GH76Z9R9IFHMIQ3VK6ALWSZWLFLS203LEKQOVPIHVOZLWKWUX8KPAXV5NQIPH6NB5MVDRJY3OI4PNMO5FTELEJ947Q7MHE729VPXFPOHFPFQBCUUL1B148IJUO43XTFQHSXL6VB5GQZOXC04XLHKSM33ALR2G8I9M5LGJVDG6M0XAZA4I1VHP9149BL5OES1MEMVK0VG8H31S1LFJRD7XKX1X1A9OPNBXMTKJ9R7ZMRSI0ED34OIT27WQB4C29WUAFTT8Z6HELX8C33ZKTY4W5JZG6XDKAOPNO5WXXNYR8YS6PD068K5H6IEJ0UDX1A5YV6RSDVOMSV88OS3G57E0M2XMN2D7E5B904B7S3U5RLZQUC17MRCZL8ED8J5HI0GE6V5HWANH2GKPI7GDTSEJEL946UZCYDYWOPMGH65IXZTHLN6VP3Y2G697GB4A9ZPGBQF8PWLR3UOYD0ARYWT3CTLEUYDD0V17WEXNMLIJQ917KQBSYLALP4O9GEJC005GV3APAHV3B5Y2ZFGD5OY8TKMQB9XTVW1U8PZ66KGCFWX28RR5RGX5YXE0X173AECNRKWX92RX2B6RESSD5PI57L5KD7OWHGO73755JFXEDU1KAXGSN0UM7F65H9DNZRHC44TIAEP6DOKDEG98X74CUWVQU. +36#W365R9UGFF5PTM7PFC1GKTLZEMS9NCJJL0CM60K295PAIXK6SWPOJ20JGTZCOLYSCNDQBGI25M205V7DB3NPQPAMJTLR2NTO58AKXABODWOX7AYD653UCAIAI3CZCUDD8XKU0NUGXUFK9CI0RQ3Y43ZWRDLV4DGDRIBUZE8VV1BIAIGNEB5TXISOCM1MMLW3XL2EF8ZCEBR09OSNG0XT7XDCNQE3HAO3A3M9BNHIX1NFENR0WAINOWC3JX29PAC9RCXVNOVF6D656D7DLWKOGVF2KTEZ4CPG0YPRLD9VVVLTAMH2OVE53LX61DOZSPTPBWFCPYM8NBDO1Q57XEDBZMHK8LYISC1ZUSWDNTEDVWF8KMB00GADV8A1VMH8MDSZ05GFRM727E5Z7UVVRGV2GR44521AJPYK2U7L1W0UDZ7DEZ0IPBZ1I1GJ80CQE3K1JPJDA6FNLOK041EV86YHMNDTDIGW7XYV7MQPSVY7UM8DCXTA13PWPP31L0SMHBS3S432JGV9GN40RG91G52QTI3YQF3JYO9GA432WNW274086SP5D10VBXICMRPU0WNSUQO2PSKVWXEOI7JJ9P4ESPBHTLZ4YGLG2ZRAN0482I57DPUEWS7GK1HCPF5ETVIFZ6WS1IHSWJT9Z5AP8F5MJF9WNY755Y7H5IVBS6CN2M4403P6VUL1IF7OBT3GYQI0RUT3XJIMJSF25GIRFQ8WVX5C3YBH83L9HJP3FXLA13CSUSW6ANZ8H092N31NB3VG0S9GHIOL3YW24JCTFJDMIRV3NDGGI38U42DDLZEJXRBRFNG5JRV31K2ZVN0Q2MMFL8EBQ2B = 36#RR8DMNRQRUPNOW2EES98L3SJPKOY4WEL3HUXPVYFX4M0AV1BIIIYBXAQCOQ7FFS6XM95023BZTEUMOZJBBMXV44TNP5EAP9Z4AGOHJGW917S5D82HJ05CAPX3T9547TQCZP580QP5IH19CMLKNH0063V1OE7TQK1D5FT6XJ74KCD8QNBU89N0OMJX7QFSC8HOTQ3JXZ1BOD5YSFNGWDXX26DXC2SA3H0S8CAFE3VEM0QS8QDH4JRIKVGFQDHMVPDLZLNJEA97DTFMH7LYGMDVUDZNXKAG2Q4VWYFMR9NA3RO2FYCLWZFJQVANI151DRL9VOBFZSE7MO109WL3R6D6FQ1CF6CGLZ2CZQY9L0OT3RLCA0AXMHK6Q482Y1EENG4K8TZ20RGYNEWX933YFBDOKL5ZNQDYMLWSUEVK9IVE5T7WPI9MZO75POQ4CV9ED5D3KV5TXETWT2RWA5VYYABGOK6OSH8AHGVJ6CHMO8S0QX5914UX39DJJ46HY9CX6XJY9POP0G159EQN7JOYWC6NTO2GALU456ETF97UFNPTNX8HZLIX2YHM4LD8YDGQXCPFASQS9TB7X6XV2FMT5XMQRNGYJPJ8WHW0TMN7TLG9GE05DC7KL9WSVBXGC3L2QVLO1WI0OIBUIJAP0X9IPURHKKR9WKWIMH7SYPLSWG9W204XPWUN3NJRU2R2SD1WNQXGT6YZD6NY41TJDIZK0QNOS1DYVMTHT1SQVNX776OO0X43V9QL3RS33T3XETPEM1UJSVYAQMEWOOYO4HS7SC57STR36ILLR2N0TXXRU9ALU2TCALH2MIT7IM6Q3NKF8X66AC3QGC9IBIYSWNUJREJ8JSBKBMLIB40F9YQXGHRJAYBUPJ8PTOOPCUD8CZ3MTUAU9UII28EDU6NEVM25PORY886C9613GAG0KSUWVRERM0DYX5GSJNYF6D120FYHGH298BO3I2DVTDIC3Q5ZHECND6PU04GANTL0D2HE6B47O0ZH4WVAG56BC8WRO4A5PUNYCQ0ZK9MZVMMNWOW2PHI609AHREQGRT9FW9XXT76VJTW63U7P0W8BF0VR4JK5PEW3M8QJC0ZAU04YBNYSI6DAYHTYYOQAVH0G3H9CGWOFAUWDYHEXPJ8HQZK8BRQB9BFBJ1OU7N2QMD2CXAX5IPN2VAI2R00V9WVOXHWR48TZ659URMTGIUSAA77VEWPP9S1G8N5F6LWOKOPPZ7HD6CESAIMCD1SGAH4A56NE1LW3GHSJO45L6AJOZE2 div 36#V51TZIAARINMB0O3IHFTC61IZF9WJTG12PNSMMXHE9J39Q6GH4ZN5IH5MQPX19W79VIUKV6JFD6MWKY0FCS3X46EGX9S1F1FACFOUNNEX0TYKZ9Z45TEH28K7D91VFIQ1Q6FKV11FDMVC4698TVGY1M2YCAEQRUWR7AIIBTTB302P412KDKMG03IFCH1RPK2P8JOLUUUXRSQFDE50GKT6B2XOD4TYZO2Y54JHT66VCRHTLD7L6DZ0ARQAAMC0KQWVZBFN8KM0TF9EYDOWGEZB9MY6YH2GUCSKE901YH6VTXWAXBQV6RI5AAFERP2EU84FAHZVYCGSA5EAHKZOPM0CAC17OYG29BKTHVJTWDJSWZJIO5OLC6HEMIFPM03IEB6S04772QPI5FPLFMIZVYNU7EDD4XNLJQS08N6RS0ECBML30U9A. +36#4UWEBFZK4TU7XGUGI7OF5K2PM7YKN48GW0I8G0G6IAMEH0P0UXL9WKXS8NN44R6KYNDTTWRJ0UTZJZETBS6HJWISI9YVAO3OIN4A50OPRH1PM62N2D35LNZ6UKCKHI8L6ZTQQYE9V9QFQD6FTY4418YYDRISW8C78GHGG4B07HFC8SO92B4QEZR1K1RACOPFAMZ9PDIHZYLXIECEGQT5OCQHDKDWFCI0V7Y5L7XZGD6T1ERU23FWS9I5RY14BJQYVNSL54E8GVSCTEA2DMB3TDLNBV4JB106S888RWQ4NU2RZCAOIQ8B58FMYRW3T6EM25WC4AMT7RMLKXERE4O4275KS6G1MB312ETY21SWM7BJAIKKI8J2FYXNNL9ZSHM3CI3Q9BJ10P2J9C = 36#4UUB4S46JYVK8IFSHL33TX5C4IIH4Y3MVD9VLTKG6CW0I9HHT6TDWTN6G0T5U48FV62OACHWPNPM9KYOI8UYHOB4E2IOQ24RNQ7EEXAKKIVOB4MREYMTXN35N816PJNWWX4QFJ5QP7NBDT1H0WS60QN5FZDC95KOGZN868PBABAFIEY5K8UWGBAHY6HNMBC7FV9J5HH05V24TQPCGGUI660O11H8LWVNNOSS6RJ21MX8NKS6AOI87SU2F1HJFS02BN6M4ZN6F2MYDRF77J269P64LSUNYUACDRTTLLK4KOEBL66BIV7A9KKZMH04OZSROROTGIM8V6BWTC9R46LHS71JCMCSPKZ13A3HVX9MRL6GRHNLLYPMJWLKT7OOZ6S54U2E61ZILPW6W3JDIOLZEAHW287GEDAVBZ1WC97640V8VC5D8LGGBJIDGS4CHRGAAA4BSKKURTMF7DYIRU0RCO6H0T4BT1WSDZF9LCX4C0H97ZXR4I3V7P7CSCMKQHK83BDKHPM0YCFUQOAV8C20Y69S5WUKC9H7NHR39LRU9XAQRHGFGXW04BZ124P4RQJMDHLQX0XN3FBK8MSN6L4QSZFXN6H52HCF2L2X62EO2MACPEOLQJVKAF5Z67P5CE7ZKNKW7XY2BEA3HH0JKE94VJV81V9UDWXLRLQHSFT80SKD72KEXU7BH1MYREWMET85K9X4F2G2YLWE2IJDXADNJFBWUTHR7QDCKG2M1924L948XH29HLI7E6B90RLWQS4BDICO77F3M2D6ZC5QIHIOC9INE3SXSWI16Q320B8REZCKNYTX0BKNIT16GWK01PJ5PYNZEPZLDULKGH4Z43O0MT82SHASBJ9CVQ5QYDAA9878HUWDGN2Y4BZ81B12MH6VCFU76LW0CYACM5Z6SWDRKH4VNWWOQM8AVEHJ0PP1SRKAA55LWRVDTFVLI2HT4J4Z2QZYREHZ69SPMS25I4MPGR8O6A5A9DH1LP54H7SG077TN8N8MPUDO9DUOP2JV465TK5T9Z5M5MO div 36#ZZKIVRAY1AJG8U5745KH6AT3P1N8NOGLWI8VJY6G5HL7L5Y62IOTCB61YAJNTSJRAH3N98Y8ZZNG7DHGCFZ07H1XM536MOE718MN2YYTKYPDMDPQO8RKVNCLHU3YANN54KU0WWJL17X4J6VULH1K154SQCN98VVBW6N3EY82SYS53S675KUN4QYGU1KCCO60PUELOAJ9ZY3U9HGSASDE622GA6664C8T7SIDWEB2HFRYVSA30I5HFLK8WK3Z5J204VIX01Y0F04C9XCGU1OY9LT6MPH492VQ3WRVM2AIYKQU0X00CX4KIYPDI2M5ZZDGAJOO5UXERIBS256OBS8BTY7884CP5IJN0Y5U0C5WB22PTLI1XWA68OD4VH6WZPV3UMCHCZBZFR3JLA0VVPX2002Y8HRKC785DMSX9IR5NPZY7UC1XEKPWAYXFFLD71LWO19RM4PA8OMOVP1NXB33NGKR0KBOERFAPNZ969ORMZK3EXTFBGAOH8C8OBNCK8NPY2ZMX540FU2C1NSNNDAPCI4HTR3VBBCD6B7KK3GFM3EK13GM3BHTMG260OR0L438XFHHX4D5SDUDV2JAI4G54H2M7TU08I0TVUCIQWQ4BEV3OO8R6XQVBJNKLWB75. +-36#YH56U5OJC0XAXZWLZLJIU8DRDEUTOGW4YX7EWKOL38DFC9X42C75VDVEI5U51A9LT10BNK0VBCMG8QNI1QFDRO5CCR3ECAVWB2D9V497R52QG6VVONMRR41IDBT2UOM8YILGOJTIAAFUMA83CY2Z8GN05KQ7UYUUMM0YRLR34R6N3RA5IR58X7J6YAT0K22242U5LXRGCSHADHEI2V6V5MVPZ7IGVY1SS6LWLYIWDQJOZIDO8PSOPVOCIN5ERRTTEDD0ZR42V00TDHQIVHI63M8FW7686JFYWKNXWPQP65PA09W8N9KPKKDVGTIELOXRZEM3E2ZR06K7QU1JEZ60QQUEG1QKF0OIX7636ERHLR1QXOQYZT6Q7EW8WCEJKSFZI6QB1ZCHUF7GY062CMAXGU6Y5044X6JQQGUF6SM8OL9U1306010DHUD6HRGGQCLJ4HX8OE0DN12S8BTFNP3AMR0VL5SHHEVUKXO6LWZDVV9P25KEUGAISU253H2NJPZ2HPI5LREAWAOJMYB3PYLYI3PFZC5RGQBI5E2C3Q6L0BCOCYLSU4ZMBS26P0F2A7HOQCQGZX7ACNHTJUCMFXISKQ9FC5ZIWJYZ2R6VZORWMPMZL31G4B6JJAE62I7II6AMC3LQWHL1WY3PRX1QC992Y2LRS7TV26PUKSS8X3N92JHJ9C7DF4TUM = 36#2EO1T7X2BOJVBXUH1JWBDOX26AVCX0TSOCDP3HZ1YR3YCRM45N7P20LL4KRDM9RUL51JFT7O37NOQQTYK1RMU60PR2617L6NSGCGFHCKJ5I1B2QEV2XASHTZQQEZFGQ9U5EQKUVBTX3FQIFQA061V65YKPAF6BIJOCZ06T6ZD8FE1LY3GMQ6ZDOLHOTOU9Q18H4XJ6WDGLJFNV08J5IRMG7YJZJOC4J5XMN4O8Q41AW8KJMALIGITGP2VCP19BL3C1CE9AIUHZBXS1M1OCKLESBLU5G6E149V2EOG3CB1LGOTOTRJU38F716UYNSYQJ1GQRPKML4Z00VEAJBJB94Z6UOUN4Y4NT9LDCVYPN11OGPAH9HBKS5XBK5SH93QHLKD3Y1S6OBTZKQMPXTK6A8KH5384X2M9RUNXNZNFPDI1ML9ECVQ6MT344TBGGYP970O9AZMFAHF0LWY3HXNZ400QH7L2U0L8OKAPMPY0XJN03Y5W4M5FQ2QILMY880MLTSZ7M4L8T3XFYHHKRTV6KCG4YI6JIAOXCRZNNASVWVHT3RATLZN11UG75S06QUDQGW09MU60GQFZOSP95TOJSTEEN63GTJAJ38QLLIVGW44025JILDYGXEFNDTEYRVSNQ76NM1B0SSSPWZSX478JGPP3ATDPY6I1RE7F0UKP4AHPQUDXGNCU2PPIVVXHBX51943EZPXTR30THNHZL6FG8YOTHK4VNACBSJTQUYNK6 div -36#2IHY6RPIO2YZ2NFO8R0XT11IASQZBM029UKVA2T1P60TKNVCRX. +36#4YYVDRDI1LJUOUC28I78IVQYUOQ5OVNMJAPMRUWVMR3R7GVPPH2TWRCXN7U5H3FH1V2ZFY1LZ7FLKW7BMK7CDZJLGLV7UWJ3PBCN3ZTJ4UZO9J49RKV6I25LIOT844TBM7UI5YSE1NCBZQR9KBRQKVMESJSXU60U2MZMFN9Q7Z = -36#2LN82EI8FD27230IXOTAF10IRWHZQTCJFZ6FDP19O53K9BC2LP * (-36#1WSU0M258PZYJT4YP436B4368M4KB25FMG7UGBLLUTONVEYNXJHKVSY8VJC139AB0TRDMF24LQMQQC68VT6JCH0GNLF9CBEKXUBYRCRDCKXO15OTEA02RR0PN). +-36#6RD4TD6PHUFWSVNXC0KMBU4PBRZZN2A74LB01SMQ8CSAHMM86FUEXXBFHO2PKBRMQOKOF5ER2SGSDASBBRKA9A6M8797EEOL4TXVCO2KFPAUKI29DHZ9BVCG6WOVUEBMAWWLE4GBF0FYDOKGKX87APQZ4AHM2V3R0NBDFMLISUXID2JN2KY9UYLKY0E3DF138SNYV1CMU41XJAO2ORZQFHC62JRBN11EDZWI98AV7AYM54QO01CD3S3BFLO98OGJCY3FYT00856LE5MS1JG8XKB1Y8BCJO1JDRQ99JT0G1KVAZHZLOPAU40XJBMG7HNTQJ14U6LFZXA4M9PE4OYU6GW9BW4GYN5RI90LZ2RHP2WYS9NVS7JFYM978Z07UGXWUTSRNX6R5NI6DKT62RP3Q7VA72RYJ6GKNL690TU3ZPAZAII6KFJSO2RQPHRH90MVEBOS2Q9REKMCK2G7S6S4MZFWXCSESJU68F40DVFMO7GO362UDAC75UFWOS4221NPJZAB57HN0AEE78AEEUWRBCGALADUUS1MDFYYJAK5LTMCEY4GYSU9Q1ZS5EMEHYKAFHXT9K1U9TYZL88D4T51JW27IRBPHIFN1I12SYDTPTXNW96BW69C7YO5EUCPXNQ8P486013BI8EYX2SK0Y86MG24SF2EYVFW5AREO1RNTTH5XX0BTG0MRB4K4G0H6MYX0FPFFQ = -36#1230O9HM8BO5KJU52JE1A2QBH0D8YDWEHES2Z8J569UJFNN1YBUWZBIAK3HGY9HVCUQY10FK4GSCZUZBK58S9IUOKOCBPRQNHZK8C83IFDTMLVL5GY1KT4E25AV2SVHZKNRRAEHIUFF0RXN47NXZIB1X6YJO6H7GB0AHZ9UGFF837GHXI8WNCBPZXBA0F7S4XSWEJFMJWSFIEGR75TWU6MCOVGZQU89BOO8TW07AQ4TI5NDY9AU5JEW9LNLQ8K3UUV9D3LEO0IMXQFIVQ4PX89OTENQIM0NV43PCM81OZVHQ010QTM6SYSOTICJYVANOH23IZFWPZH9014LY0532AQANZMY5EW4TSSMZOX1EHB38Q290DY20M65MH9WQ3DPP3KKQVMME2I1MJJI0CC04HAIWYDGH1R9LZD1OZ1W1DM67CIU5KQ4ZZOINZWE35PFY6VOH1HD58GLIODS9T9JEE9QYTE5YE6NHHD * 36#6E1QVC3KK5UEUDP9J24CZLI090WOYTITMAYW9BIBI00QF7LG8IOCVBKHM1M0YNVBCIX5Z63QO3IRBKP5S8VD455IGE4JCNLGT8OXV5I5Q26M0ANFQEATI4I35P6K0Y2TR4TMW8A46ZFYYHWX3QPQOLFTI3W1KOFKJWINT13A284NL6GR72RBLA78W7YYL1B4IQTP5UN7SBXTBS5LXFZ65TR49IPQ1KX2YCTT2. +36#2JSUV9AP3FYFYL10P2ZJW8TJMLBE67AGOW56E5N8EVTMY4U45R = -36#2S8H33X0TMSGZJEDI7SYRYG3707RJLBMHRSZ5QFUDGGB8599U4GKJPTQDEQJWIIAMZLRO33WAGK9XWFECCVNUSB1HRKYAXRSCCWP85A3IKXIPEY0HXGBX7YTXT9FN98EHAKGHT6G4M4W23DN0ZN783R174FPXI7M4DC5ZCK3GX4FJLEMSGBH9PG4QSVLW4Z4D2OAEC2UDNFV4JOOC9ODQYC3XT96VO63JLAKRVJ6VXMLAXVU1PIS84DQ87EEND2JN3T54DI8YHMXKXGSDYD9V6J7XPMFSGVDBYX8HG93OYNLKK9BJRSF1SPFFRF1MLHXSPZB59SUF17FGCGR6FNVHRLQ3LYTCWT3BWBFQ04R4P9MJ9EL9NBKXG1JH1LQWMK6VA46HZICVKUJW7NQC6ALW7WGIZU20UKPKUOPB8ITD9VVX3ZNUI1K1LBY3GLODCV598AC5ZKXFSHZPAGKHLY0TZWY24KTQEI7NCPI0SDXMYOOVWHD1P3H9Y08ADUKZC1CVH9MKESPRN6LXAVLVX75BS6TMEO6TFKGUEQBNFYWT25TU52214YD06B9XIBM6D56UHQIMB6O4LKYRB4D92K9 div -36#13B2AA0VZW3R3S4MSY8N107DIA53259AY9CTQTPMF7ATJYOKOM2J99GKHQ4HQF2W9XQEG5DMGCOKGZCFINJUSG4T1RDMTT5LS7AQ5XAP1C3HJJGA0B7T7MGIVJKZEE3FPYSUVI7DDOLX05YKJ5HSE6C99JYR68SS564JV2OWQUBHUL61WWLVG9XH9Y5DN8WJS3HX3QXUF6IYCCZG9M0LMVX8P2EDGU39LX5GR0F9LGCU78PYXKMV6XZMOSSLJ1GMCJ41SDZ5VX4GAS7951O4537GBEVXL8TRQTWJ797NP6YUMED7TVJZKAB3RLGUMSA7P3LRMI09QBCRAZA8SZ1FIFO46A9BZM8VIFO1TY7NQCAEMF2Y57FW582OU9VJ25B3HODIGNIUBD41RSPQII71R3ZDU627VA895K8X0CMNGL2V9OZJW7GN6AKRQNF7SRNTG8U7DOBOWL46LW27C8MZSOHBHG0ICKYI9A44K030VH8E31LOFOP4NXXPZ7BY75G8GEN837KO9KTYACLECOEF8LD1CJP1MROJOVR. +-36#1KC36UOIZU67BBRXVVR48YGS028FPA688Y9GRP4736GWLW3AUYNA09UA8LETO32EOQAX5VY2OEN2OUTIMO7MIERHQIUIA32SBCAPDIWAX9KEWJTKZ9Z62R02VNUOBXWEXRKX1EAPM7HD1Q12RZ3D447WSB6VHLJJYL9RGK1S4JGMO0F8JIVMR5X9ZDYLHMIRT24J5EZUATIFRM107REE6M22U72P5DCJ4BOAWP9VB36A1NU15IECOFL0KO1UI1UY1MRNLJXXAQM1URK2FK3491L3T8ENHRXYM3I9ZUTUUY9WTGXOV4QOI9IMP72NBAQZ9RJ8TG48PVGFTNPOYHF9HFK23BUK87O12FWN8BF536OONDJMBJWV6HUPI5OGT0LK0HEMJIJMDE8G2LPW56BPH35OP9HALU9RIJ7CDSRXVNW7IJEKXMIY4P4LOIN6Q1LB1HBEUVH7ABHL3P84WUSU0X4FKMVZOAMGF1KGE1LWGT0XZNB3WFTQXXFGMBJJN7NN3RO89B4PY4WOT1KE64NFF98XS5P6G5F30OJR2U97RZBI2LOSNT54AGPUQ0LQLV99MWS75M = 36#143DU0R2I16N5BXS0NH5AKBECO1CLVLRNJ779EURRA779KLGSGE8VXY3RIBYR6C3LDISUUCV2SWO8J9OR983L0W2BCZ51G4PE0DVKC7DJ8J6Z3K1Q5ZOVN4L7CJNQ8H5J11C13N183PRPFSI8TY93KPAIX03B1I6I7BHXOTM16IQZH3R63JHV4KM6KWPLZVY98S27RCSA9HDL5IEX7JM6DX5XXR8C632YGGJBMKX8TXRIGC29VXZOFSRJU6EJSU4UTGX01KE9IQZ6GNZMBJJWNF1ZTHNI7VO5P8XJQOLTIFWCSBNTABLR5SK9U5N715V7O0L47NAKL7H1AEUERKQ0J8356HWT3A3TJZTUTYRJUYWBE12FTYP1H7XC784V3MXYJ42BSW1INST378SCYPVAMNPJEZM7EVQ1XUZPFIIX6ZUDRZVNYB4P9G0KY71CFU4JQQLQ44VP87XZ1G6LITM4BLE5SHG05SL5EPM97J3SJ4621BO0CNGK9D63HSX6PRYJRQILFX645BR6XG8V5TGZ * (-36#1EL002T07NGGB5L6D96AXWNCRGOXX9NH0HCLM4EXQYX1XS9TGE). +36#CGNBVFIIND3LQPIP96L4HSEFVMJ6TQ79SA1W5ZA5DEB3S05R7XZJD0VKLAYZVMAYXLOM5I0FPUNRV7XLWZBFQU8UNI4SQQQUB8V3VU0SZZSC5FFFPZJMYJHM3BZUVQB2JURGW0GCBW9M57J7YL1LL8S88TNFFA4YH6HZNXFNV24IN90IDMTA3U29YMSKVUQIA2JVYBDWENMXSRX9ODXR230122AWVC16NIQMBVMYILRZPE3QBOH8TK09LHBE1RGBN69408JDY27F22G94VI0VSZVM7CQ2YJEQWL37K5YRC2FOKARULDCWZPFSMC5LHRLQ33JVEKHVLCDKSDPRFMS592JEPWP5R1YXLPJBZ1LTHM6Z7EP01PCA1B23SS7CC7XP8ZHB8X3G2BZLKJTUPTUOEN7K605U8WZI14HGH7E82TSIIM9TBHQ7K5MGCT95313A0PUL4GQTYYV8EIZAMZ78W2HL9UAGQM5A1819A9Y7WTAVRMIK8GS1UQP2ZDWBMDVMUELW8KDBAD2KZONRXIORK1593KQ8IHL28NG5GS1ZM7KJWSQC9TP8VG2HSN4MBQ8X54PVQ19MJSFGNBVAZAY5QFQ2DK3ZI8B9V5T9UYHRDJO8YUTPXYAJ3CDD4AWF2JSXSO5OP1A7WOPZS7WYCTUZNQBKB2MR2LTLO3F9OMZC2FB7UT0F9W107UWNNUZL0QS504U4QM8V3AIM7S48M47HAUQVNVMDYSLXHAWXI9I7R9XP8 = -36#2F703TGI0TTSCTK34XQ09AIC6JXMSM2LBSGNID4MRJQS4ICC3W * (-36#558ECTOS0XRCP06RFWY4FF3GF37GV9B2IMDM4DUK1NV7NCL7A817GPJ7DSCPVPVFUZKO6CETG48W9SR7KNDQ9G6V8R23D6Q8FJQHY9N9YNHTJ1E2SQP6Z339JY7KY5S7PPV5XZF70SW4SCR7T97KSUA30G5CPSCR271B935XK82FSPOV125BXSQA0CW1HMKSILPCF8N1ZDSJPXOP05XKSX8JD7XBEGQHR33LCPXXT8N3AYX1H2S56KOX5MUHG19HBODY6S8QL02AWWQI0PZ7HUD5G65XSYUP9D377VGRJCG2XSNETJV2ND9NW6MNOXZGO4G2PFKM2B77KIVFEF7V83CZ8E6HOS6O0WFFV567WGZHI8EDGT5LUOMEQ4S4VH1B55J945E08OO41JL4IXSM29HPFWCYW3ZYD2L3REG7BE0Q2R2PP3UXJOSLBMJ0OT018PASS4XFFA5VUOZBQLRVRXSZOEKTH1N1APFE0FRZNB4KJTMG3HYOEZY706PLFRB2OBKW4OX9E6REUN6Z3RHBIP1DXCW7NOFNPEST6TO43XRLBL6ZCL89BZ9FNKCG3R7ZH9VGZG3MZT0Q2KYCFIYZ4GBEGRFQGY4QKDRKL9GEUUGJL3PCOFADIYE4QCJ1YNFY1XQ0MPQTJWLJEGS3N8WMWNRA0MJXK3K6LFLAMS5N83T4F8KTWPRCSXXBJFV9P). +-36#3HSJDKVXZ2JBV0BNE29ASG70PL9IME56JVX2MRBI8VKYIUBKQQV99I3WW6SA5RU3UW9M3Q3R4F4RPFK3R93MXB551III0SUY54Q7Y5H3ULD1J7KHKZD64JO7T6XFN2XL5AO8FAUIGSHHZZO3C08EOR802WKWMBC143XMO6LO94DA1H235SNLVGNSSAAG9O6AXYQAB5T2ZVDHVYBNOYYP8SD7RTNLBF8I31VDMA2D14LLSHJGJO06NK93YI950NJ1JKCCH76CP0K3P4LKIX8M3JXLX7X30S24SGQ28I6L6 = 36#3E1UOZMJN30LP8J8N3T9D9O3G1PRDX6NKOXRSSLLKC4GV72KDBMP2085PLDNQC4W1F2AIUDZQDWQS52WW87S7EG20ON23CBOZG0J8RHBEHN93D1R2I9YX6R7C8K296OUVD6PA75DXE3SIYOGIEVS6FJ7DJFDXVFITARPUXJC09WHC04R9UAAM3G0DAPAXF5YXBQ627AHHWDDU0AMEAZ4I8TUUWND7NQNW60BMMZ4RF6KEBK336FVDEZ3 * (-36#113Q5LR99K7QLO8JSQPQM41G0QN0ZUKVQTNHW66G2WN3E0TXFQ). +36#LFVA8XUTOJLL9270ZA6RORKO4I21YJ9BF5SAA07US032KU64C0VVX1A0BZSBQN9J88B4UD2OU0C4PA069OX3DJVL0LCH0Z97821L7RPM7SP1X8HGWF5ZOAVPM8HBZ64DUH2TK1IRKAIQIBEDDFOUI4OWOO0VEC0ESNGIN3BOC1TOIEW17A10IH3OEUOROR8HSGJ9HVQASXTVH3M194F3KONPKASVIZ9D1F6Q3M26A4AZ4S6CCX822P51DU9R7JYCFRNOPW1D8N7BG64Y7WYECSZ7TM5EU3MLT5LJRMOKBBV9HSVVNYHSE4FQ1VH3WJZ5LGJ5UXLSR6FPJPVIZT29S7S9JC9FA3ZEEDXZ34WHMQMIRKIG8ZHKQY6UG52YVZ4D8PVN5HHQOZF307LHOJ8WNF50SMZU5B94DUQ4AY0RA766550TZ1YBCIT75Q1UKS7MXMM3NZ0VCHGWMBAGUSQJ47JG0P6T0Y5QBUJ4LMTD13994YQC990X0OM5LBB7U7XL5N1VHBBD6NZL2UG1WEBEPY9BM20LEHH0HNMPH2OP0W6K9OK7E1SXIHXFPHGE22J0E24Y2B25Y5PFMD9NCCRYWMWGLFV1FF9HV4QFQQIWN84IC9 = 36#2KVG7WKVBK7G54FT77LC2H5D5BEL8X5CLHFKTWGNEZQLC6F2X22SBIQOAP5KNMYZROTV0MUDOXTAP4O9J35OU3S01RT512FQSQGPG53SNHKF32YA5RN3AHFSNN5OPKA5CMXVMR8VB33AQATGD0PZ5J7O75WOZ21HCBM8BNOB8LETIUUEWPX7DCPXJHHM3B2YZC2RDUUA7WVAXY5Y8SFCPBSJAND80SBFTY4SWJBCFTJ7D1YSW5WPTLDQTZGUOLGH5OSKL2NKS182PW8MYIEGSU3KXDF2Y1I5BLKZ0CT0AD9M47001SQYMOFUIJXEDKKTM8UF5QT81W66DE81J122PAS20380MR7CU5YCBOMS5LGIGN5HF5MLRQK9TZUA2OVSHB3XQ9NS3METC66L1WJE9HGADWC8SUTILK1AA2KCMZEXSE2RSXAS24YOOXEU16FZZFGRQ6CKVI6LU18TCIF0DEUYG1BK7B1FLWDYDVDXQFT6C9MMKDBLMLM1PRST2PB2FEAVACB2OCAZ6MQBC21U5WY1MQCNQ24KUYJUXBR6S2KU52M1DN5GG05EH199BGRZ2LQS1FGUMZTM1DVNTKZJI5BNPAUJN100F1J1SW3ZS4ZR7CUS1UPGHYTTLYFC898AOZWFJ5KK12WXJG774G7TIFFRHIYCQOWBX067IT96P8GOJOT58VF2DUZ4W0HBXMCL4R67ZHF0UTV7F4486O6MWN2U9 div 36#4BXSI2E4C3N751XXNAO3OUVSK0I6MY4GUGVGB68KSZL9QRHPKQVF0AVKAVQAEQUDI1QT2Q7BLRC9YQ435FD7P77DFFB4HU0WWEALHGH3GY1. +-36#KKBXGUG32BJRHMEKHVRHYLQOS5IVPPG2FEF6S4U45EMIRSF4P = 36#X9FV0GKPVPM6GEVN6378YD10J9WXK0KUJHUCK6ZTA1QZO2LJ9MHBSD7ORGVRHX4RAT6WD7P2FKZPYRQOY775MPTSUY8UWBBWO5 div -36#1M877UTRW95BK646WLCG851Z3SDJ52QB66R90WYEEF1PFGAGKT. +-36#L5XA992DAQD7JTJKUJJ34B0350D8AA62L0PAPA8DCKRQ3OU7RQT8CUED3ABQRSXNXVIZRNREMJAFW9GD2M9NMETBHK3212RZC8YBYRCESARGPR20GGN36C8J6D1Y3OYYZYMMJS4SJFPF1E6OU36NM75MK7O7UCUJ866Q8AZN0JLNFA0XG6D9B3MMFFK69UZCD7UC9FUSN6FW3V5FIPIGD3MIH5B8AA9MILW9FIXT1XELNCDMQ09NS7G464VPW6DVQQN3GP7SUDTO3 = -36#U4YD7E96LSC3WJ0S73CG8AMBTJASNJQF5EQB919EU0ABHPQT7W90LBNYNFT8FIHV0I5V9E0QR9GLRDSJBCR6U77CWINVWRB48HPXEC7TIFL8LFSG98S37QLAI3PD4BPL7OTFKD7YC77HF082WPW0XW61L58K21S461GU0G442XBPQA7DQN8E03NUXCYQLDCOFQIBNGUUCA1FGTHZ3USWMELEY25F3OYL6KUWKTF7SN2AN3FWWD4803TTZIXY6PQEC9FK6R4MAEDYHJFTYK4Y5GA8092ZHL7HS00CVV1FZHEQUWB82XL4866IYRMDVUG3561WL7GU83W5L4PLMCB5Z1AXU9ESIYYVDYNW3QZFKV8FQHPI1V634PFNIGM16ROH7991STNAXSCZV4CMXA4Z0C02Q6AY5L9AQH1BXLBFPQ4UQDZ65IICOLXR0840UU3S0BWZUJ83ZKVAPVB8K8PZQPD6N5TNP2LUE4APBXZ1Y3BI4V334N3CRC2AR4ON5OPZP1DBLO6TCAIBJQLYNWC5XPCJPQPOI9IAM94YJTEHO3D8SK3MMWM1VEA8UYOYCMWZGGMFGIMWCL7LAXGY3E6CDAYI3VPQVWCGZ2UE0OBCQQFW8EVKD41V2K39UIRZLBTILZCSXBTAZ8YFZXWJTRHPV3NTLH30ORXZDNTQ2OR4TXSR5JSLZNUPX9GBBBZFKERI9GQOMGF10Y4MC5B36SLRITY3L4OVC6AHZAI7QP1NAF70 div 36#1F9GJXOQHO9I17PZDZCTRSA9UV1IPSALVRG9FW99VW7SZMB4A0JJSWMTU5LYD7QNQUXPEQU97V38WFNIBIT0NGYC4K0A0EYC99IFPFJ6LFS5WF3Y33F3LTUE19NF52Y9FFP3ASZ6VDF3JT46VLOQJ0VKHRQW17KP63PDD1RIZ5ODPWQ2UIO7CQ4K7Y8A2V2GYTYWIQH657L2SFL56ZSG8A9BASR60X729XOL2ZMKP6K6EDI37HHWCEMMSA88L4CS7M069YCLZCD4RP3FE0CQ6NQ2E6DF48X0IKQPFWT85R8FCK2SJ64FGS0IGWPS6X8RNXY60G1BAFPP42HNO0EPPVN3Y7VQUC9Q8GL3VB86RENHMKF59S9AEHMCMVKO3QC0SPK7H5M3CXZCSD4A4NDAU95KG3S88YFFO3EPLC64RKHOPURFATFRASEIVN8D3Y6NE2TYLEUGCGPP11B5CY7GG6RMNDZWLQEC. +-36#2OG5HAPHEZTX0SGBJNYGLIQ1ZAACTOJX0TLPIFOKPEVF1ABI4JWN0QF2TMB3Y1RM88OW802G1KJQGQ7U3H1R6K06OYK04AKWNNZJFIKQ0QO8PTPHBNR6ZC6RTQPJ677GY2YNN0FTNLGT7QER6U1HGG3O7BT8RDTZO5U7KBCXA0BW9RVIZAF9RHU8K5TYFQU0FN1F313TUAK0G2HT6L147PWB3AHZNU3GG0TSSNEYBP27PJSP174CUGBLW7CN5EQKI0B1NY45WV5QHN58LV8I3HP72K9ZLC8HPVNU0K9OZL32WK62JAF0F796T830JH1MXH4ZNJ77E3EBP0JIREQF8G630I25FHM1Y1Z1GJ1U7XP8SBT07UOCK7CCKMO6MMLET5NTHHBCBANBF7CQ8V0KBXTIWX1S0WR0YB0BG23BS0ILFNQF7RGYOD93YSU38V048D8A8LQY4SQ8GBM07RJAVMCRP6QWBN5YIX9R6O601FR4C62OBNXTSXIR7ZQSP9I9E1FKVSHBVI4TONMZ2FKWRTDC7E7PPG3Q5SWN3TBAMIAMXZY9PYP7I9Q84UHPJCY5YE7TAQYLD4X80R6WC1C05M2S2PERDKNGZMQG6ATQUZGIZ5O4Y8FHEUR4V0XU0HHX1ES907AGKOODFYGPRW2BJKEDOTI = 36#27YBCQUKIKPK5W6CAOC6JO8Q18BJHW35EXZVBWK81GPBX767H8H45RZCSE130WOFPFGQTAY6S9JB0HIA6TFGZTX8DT82UB93WD31Q2WGDJFVZJX0RM5ORWIH6HB2RCCLKM0VDL7KIAWGTWAUDA5C896TJ8T9ZEPD8W4EBNOSM8JUCCT9WKIR7YCYG7VXDX9B92I9Z2O6GNNOTADGYOKKJCDV6YZW5FPOZ2DGGB3TMY98BXLI84YGNBDT439NJ80E5UG33S66T5REV1HF3D0983NCFIQPBS1KK1PTXJJLPFG06KV8LU8BX7XAC3PCD92WMET0JD5MFE7SBDVRUAKMDHO6WJX9RUVV4VM76RBNLTXC511AN86QA9BPOTOS7I2V7UVBCNB749ITHPLUWITW71UVR6NWPV3HICG3ZYJF3HP1JKCYMXW96QQUZYM68I49LFMTVYK5YJ825J5RJ596X81TOCJN1EGGWBDR50BY2ZJJIKXS5LBM4CA8F9JOKYVFW9KZ9RAIW4LHUP1NCIIMONFZGPSCR65M3I82KETNPH40D2NKSB3GEA00BW8VE3N9D0C9B34P0WO74BYGAZ0440ZIOP5FOHO0TL0H2KS56LFC5X97DVEJ6CT7C6ZTIC6FLLW6FVZSSODVWJNI9MW6NH1IF108UV4XB8K2YPUNDCOF1BQKAUQYC31R0DMT66ASXT1S1PJDCSYNQLL8ACK0BJRNPAQZ51ILORUWK7MTP8IX0LDRA47IXTQJ1QPTSELRABZHX094TSFC1FT3OQYVK75FFKQYSI3Q7WNC8619NWLSK294MHTBQRTTH5ILUP1LDA1UY82LN6TOMP663U925RV94TKWOVL5BRXWS64FWJMHKQRNUOLUSCHTKRHYLLHILRLVVFK7WW5SM9FW6GIANNKUZGAEBTLS2VQTEZJ2PQY7FLJS3NWE2WAH83OCD20PA14TAA30B68UYMIQK5J47D72TMB270FF3J1762OH2B7URH25T2ADZNGRWUGJWPEWM28BBPLE70BA5VM1ES93YQG87ORWI3EXNX1VZMF9BE1E9A813A2TXM3XF144EI1S6JA8CEP91XGYQ1WU1D7ZRFRCB1CK2I3BE045G15TIVU5GNAXAMG4F1CZTC8ZE912EB0XOG40S4Q2A6WA8INZ41DKA20UX8D17VD53IXCHB5TQMJ5341RV3GS5Y46MSQQGIB1BRYR7855X9YALR8514QM4WS0DYCJ8TJNDJYUGC0VF14AP0LP96NLVVVQ05UN6WIJ8E52UT2GB6FEBCM353SMT9EHPW5YZR8VKTOCGQI4TTLSZ3OA54V96UN4TTC6SOZO6FQ8PU9K0 div -36#TUCHV41V5POHKSW1FPAOQWCKDEXV10GRJPEPNPWRJ1ZDY7Q4YOYC2J1B74DEFGVT7B77PI86WQ6E1J03ZVXLCHVLL1NEIBR80YM8DJKAPD451IR636Y7GPP2ZJSDD8AC6LF7MT25FVDRE7Y01BKC117AKAM8UTSDWXRAIUF097DKMMI98QDQS6QUGGGR3G2V6SUC1QPOT9CKBK6V6IPFLV54O5L9M3SQ1MWJ75E8NOVKAL8WYLYOO3UVA39FXZ6EIAJF1356X6WYRUJLCG5HNRZKGLI3RX69YKWV3OULLSK1C1NY4W1G04V04L2RD0IHZVLMT43DVCV3R8ZRLDWG0ST20GVVEYRO21SXYT0TTB6FKKYMN5VQ6U49OPLEW9YDFWTQPV4DIBFPROAQRT4NGDOGOBVV6B13NPANB94GIBBOULG5MW5DIDECXUBUJBXMKIZL9N32IZYYCG9ZFZBVCZ7EJFF0B6ASJHA4B6HZTODZ8BLOFN8FU5CLJ1MXZX8S5R5DX7VB1QX80FCW249BDNQJFP6ISMT1FXI585B03MGJUJUPDKRQHG5MDQ5GXD1LW926KZMNN1SCLE8PB2MN5M2SVDMV0YWM9BZT4PUSQGGIIVDFI8H15QUGUDX9APKC53M8MIKVX9QJOD2646QKZ4Z4Z2N4OS1N0V22R37PWVWNERKKI8. +-36#YGUJKDZWFFA6WKD14MRSCU33XP0J3UPBKB8USEKWPSIT9RTZ75W8L4JFFMU6EMUAVC71OM5GIP5OAHJSKSY3A14WPQNHOXN82JWAA9WG7ORM9DC77ZH5VSYPUJ87M69CLMOCTLNWBE38BCJ8RF7PKAAJXL9EBRF4FF10OKJDD8KKD7QRQ06WQ9YC9PB9X3Q0G9IX783T5NE1UADVJF63FN9TPL5PX2KP8CLYB7581S3UB6CWARTD7NTRSCHRK26IKUOUJBQE26SOZZNHQO5UAHBS3EOB6CTSAZPVOFX0UXDXW911Y2LFISUHCUIZZEY7H3DJCPXW3PSBW6H0YJZE16DQIFFR2FGM4AHZIQA56WKN8LI6LR5MK6LRJBZ0Z6MEYYSQJS7GOOF26JC136PV0D1KTB0DPLQFLINJKSI75F1L5E2OHQMQULFWPN17OZ4TK6ZF9M0XFAW0TEAV4LA96AQQPGH3K14UQ8LW7EVKE1XV2GWGUBFTZ5EBYA28B7RO400KKKFFG238DB38I07Z64RVYJVU7A1HIYC7JWZ5VU5 = 36#7NV8D7UFY8GBMGM8PLCEQN3S82N179RLL9KMLB9RU9XR1JJR1SH7E9JY627VF8MOIXSFRF2HZD53E409KBMMNHYUH5O7W7YZZ6XV9W85UJJU97EG8LBSRO3F9UU4FHDNXRHIPNGFNJQ95QRRV1YFATEYSAY3T7BZ5P3925XVHJL0CVM5HUP8PGMFVBBD0YGFC7VGFIKMTFVVLHJ78E2NSME2G0VLVZYCEN6DY7NGTJGCB8M2HW2DT0UKV3H0D5VZDG4NVET4YLJIJIVOBJNSCRZFAOHEOMVOY2KQ6KXLW7AIXNUMNGQNIUZWCH2E66BWVBXMRC68ZGHRXTBA93A8C2OMU8JO6WSW4WJVIO9XY2SFF4FQO3JXFXSUI83Q7A2ZU5QMZG48LWCCM6U52UEOLQPD744QY8RI2U9NTOSRL7DSTBCQ2PKDY60GZZIS496JDVXJVY3GHBRMEFRZ71PET4BWD6NNCO0C1NIDG2MGXQ331VDPNI6UCAD2EV1K407OMMM57BMUUXTN2ZNICC05D2908PY52B286Y2R1U4MCZRKD7Y4ZCDON8ZNOG9T1QHLH5SNTPF2JSEF5101J894LMN7BB5O div -36#804N4QAL5E91H8TZEA8YUCR2JHPQN7NBYZ048IZVK930I208C. +36#JB26BVDDLMNJ0OGFRHCVMP2AX7XO5CV0PO0YBLSKZSBHQ653U = -36#HXB5YZLODEHYHCHUV30RETB0AT1M58OCNCWOEKLHXEURNKILAS3FRFLUUAZ3XB1D5CISXUNG6GXHJ9GKE5HUXSDNQVKU93EUMC div -36#XF8IA67MNPIXGRGD5JF4SWJ98S71JHR4FLU338OCSGS5RAJUY. +-36#10CF581S4H2VICW2P9JND26DP59SWHF35E88PTNCBF9GSMNY0FHSPUZNAXVB6BIGH8RXDOM9308Y0VLV6COME11H24SDYEZTAHU91DXH17CYQK896ILUH77K2IGXNIVHGCV8J2U6DP5B1MC4VECUHHE9AXO20I6O8HROFTF3CIQN7JE96JVOR6ZG2EHEBJCM5QPRX17NO5CRVX47A5A49XV55FY32C9HUDTMQ2TDIU45SH4IJQW1NROZ6SUXPIJ3RGGQ5SNXFIHFWI4CVQ9NONF9SE2KCYWRZEQCMUU81I8EHA6ONGNGIZ9QUHAAP7GWB7TUILA8R7G1KP60TCCKZFZ03T0FGZFLRYYFEWZQBJF10P0OAB2NGX2398E5BD0RCXVJKRYCYIYYHH6M0TX7LTMYPQVW3XKBD5YTEZ4OT24Y6VVRH5K4Z9D62PLKUEE1K2V8CLC9X944GQDZ4H0UA645P0W6FTDJRFGI031302GX0YUX9KZQ978UPGHKWZHXRIGSI55XKMBVPXIGCX7UVHNQBFYPXSGX3 = 36#2LTXKC1GWFI45UPEK097OIZZEME04CKALUKQA8C4J7EVB1O5LX * (-36#DXZWM6N64XA8HF8R6ONAWOH9A9431IP4S6YGAML9D0IXEO6SFINC2GVB8WV638FU4WGUUJE2APRBRL61MLGLB8Z902WGF8F093Q32TBIBO4VSKAYVRTVV24M0WBR3IOK8RA7BPJHJ9A5THGBAS78FQ8GQ2TVMUVT5UIRP3VFW84BV5XFDE8SQWAVJVXDMYDOOHNHZ06VZW0CHX5QAYIKJGWDJQPEPTCZQIRKZDBSM1HIUMICMZNMSI1CHVNCLI11L9HDJR8YQY6K9E1NY5CJPPUFFHMGYDHWRDGUBKMKCPL6PIHMD5GI7W0T9JTVMRKMDKSK6G51AS4GG9IGN4NRCJV38E7HZZWGMPPTB454T6V6N3VWJQ3JZ51NXJMWXEL653AAWXB1MKO6PKG65TR9RWF74XJWV1HNWOLIOA2TSKTCU7XCJVB15BOKXZZ0U8A451OIW5UCPA1FWB22J0FPW4O4WD0LTVJ5XB539M1194AJSPN). +-36#37X8AN6QFY4R443SIC18MQ34Y2Y2J6WJM589HKEXH56ULTTA9W0NS2BFPLHDISFVSZWEMJ0KZ2DOB4DED7SCOYP5IZSWJZ0K1UCS98USA615SE5XNE61BJWGKIC8IH7EZES7OR4EYQGMIRZQHU1I5J681YOADJGUBQDDVNH2GKAE7A098PW6Z0BSLZCSM9UGIMSJQNC97BFPFA25GUMP2U5R78ZGO47MQXQHLV880AFMWSGA498HQ4OF11AGZG42KANBT6L2XODPMQ53R80UWQ9W0RP1PQHP17VSBKZM8G4KQWOL7RURYE3HTELVO56RN5EU2ZARZ2LMADLU165CFWOTMUUXMZB48HLTCMZAZZ23HA5WB12UGFPWRDT244D1EA43JD0J3AA4Y2QZ9E3425BIUYUSS62AGH0WCB2VQKXMKMLLISPWYY0E311MGM7OKV29HOM0VJ00FBLK0EY5KBPN5TMDRY42X3MI59J8JTH70LU7U4CLYOD18USK5A0XSW85PYJPXKB9T7Z5RRB9SLEQQ7IYQXLX58QTDACO1NZEE08DBYRKBOCC0FBFIQY9N7CFBHSJNP7WM04K8I1CUQ98A3UILRCOJU2HAGT0XW4XLYSG5NVNRAQ43HEPZW338R6PW7BEYYSRYXK5HJG17KEL5IKZF70AZXKEB05AVVIVFVP84M0NOGR8B9DCZX2P8OU4Y3D01M94PCGCH4O16583VZDKTJ7O838KKIGCZPR60SGPIHUTPZFI3R5HCUJ06AKFB0C7TTYSVEN5WW7LLY1JD7Q4F0WG3JLFPER0SXW7KCRGLLYZEJ7YZ5M9BOQQUX9P3GA8Z8V51I4ROOG = 36#2B1FLW786UJ0KO2724XGQ2QXG3T1W0ED3DPOGX96ECWDCFLD94ZZNJMXZLKTLVNC2X06BXPY8QX3TTBRTNLV5ZH3UR39I22TNECT6O9C3X3U7CLXHIB57MZD5476NHWCM3D6R71S6O89H7SFNVK7N35LZ2O6WYUO5K9ZDB8KM8GEPJTJLENUP12OU7Q6NQ1LMHK37T4ZD45UCLI85NJ2RC8GK6EL99GXPIMEW2CFBWUZ8JMJHWQ45A9IBN7FS9BO2GTUIAM9T96Z6KJSXJYD7DYZ16OMOMTGS9SZJT878UX5NEWO0HZ225PKPZH32HQPVY0GSSLXFTUD9N1SKV59LMC6D1JNZOR2HLRA8KHMBMV4KYYULXAI8LBUPMJ8ET2PQBLS2KRA6E55NFV3Z2G5ER6PTYMXEPKPS7O1SPB9XUXCJ04AYYJXNJRG6S7I15DIEJ9VYMRN6QA3EWEJ9HI3K3K21XF0XDF548WYCXKQZOHBZ0RSXV8IK2M7L57V3DAHOGLUY65B0L961VXCFYMQXXA0GIIZW4FKE18V8BOOO5UWKTZ48E25S5NM4MXCYDG5KI4RRWAGZ8USQYR81ND9TBW0NRXL2TOMLGDHDD1P6W2JZN05B0UM19D6D3UH4C8QO2X8ZNEHOU5AX96MQNYG6LYYGJWN5G0T6EQY3RPGGZ3GFIXONYTTGZHHCZXO77Z8J9XVQ6O6LTWRTGLCFQD4UMSD5ONK2U1M5F8WJLK581ICI4YC0RAH88DXVXC1XJDEXOXE4JZEYT4MHQF79W79DNWU3FRS2NWPP8 * (-36#1E97HD4JVT96FSTN2A1K21V1A4GNHDVXED11K9DJA1NVMGNRCK). +36#1XQ5QNJ7OC387P6N5JYLNF4RBZZIGUKY5ZHZHDG1PNM3EZKA37FDOQTGGNXS7KZ8I493DNBO8DWTGP02A30YBWCM51GF86Z4VI8J1L7LFIJF8LMP0WHU7APSNTFKOW3U0K2WVQI7Y8VSRXC8GKUYB8H1F91GR311F2CD8LMVWLLBFSVSNYGADXBGRP85L3U5QQSQGHZLB5MYSAUZO3CS5WK1SG8SGY16BRM5VT6KSNLO68XF2RQZKMNZGYSIBAAT5IMRQ9TPHDB0793UDVJL8CZDS5TC6OHFST4N1PH6Z19GZISNEZDO8LKYM5T3AT2I0XKZ55ED9AC43ZD1K1B3WGS1ZTI7YS7TDEUYLJGQZ67PUG0CUAA42FWL8SJA27FNAUC9BKZAOPJZ17ICNOO72S3YTDBK4PRHN3TCLB48ZRXI07XN2AI6K4WWOWZH167VTVU5780200FWTZZCMNS2RSAWRFC1HUXQS8KTYRH5M9Z3PHMTYX14LSKMK9BJ9NFPGZJJ6YCLQDDXM10WEDYG3VG5BR09ZQKGW8Q7IPP3N2Q9P9V9IK3V7QMKB4YP2CIIJX6RTUFS25WBRVAZBWFE56EF7 = 36#EDHUAJZGWSPKMEN965G1J0MRKN3FR839D25M3HO8YDMD4FKBDK3N22KHXN77XF1P4W5ZAQPWALU850H9GRKKPYO9UB09A1HE63TQJ77EYSB07IHZCWAFPYBWB6ENYP5NWB1CCYTO7E0W8FXOCSMRRXYHU4SV9MEVC1K3AXPMJ7NLZ198EUODIVQUMIEPSPKJ1ALTL4HH90RF5CNBH2Q98KONEW8ST3VCT8LY872H0PUX6PPARSA06K434IN929ZVIYAJ8F07IYEGB4X6DOM1T79RO8V3GBXPEVR8OK1GJQXWFNBDB1IQN4GR89WRPTS1AN2P4FVLV4XUPFAMAOUBRDB6JB2ZNYS6FEFXURMY9TU4ZY48COA9ZQNSNQX0W0DY0E8AHJXVO5W8PFC9SG1IWJ2HWDKMMOC5EMPBXQ1WJR3HXF60HICWZO0R4NMEOGJKEM7V6EIUOWZGOLTMNYY5YEERA1LR9PQ85UFWMLXQXIG7KTPLM1D1WZXAG7H6CS122BQEQYAZHYHR4PHOEJ4V5WW7XHL3TE3OY74ZBEM7GIDBBQQJKFITATATKJB6R53ATXIACOECU7J9HIBP1BV8FM3FQAS86OZ6SBH68FUPCRC1USR73DE9HFJ5KVBX0TDHPKLNCG1KQISOSAXX1JJ7HC1PNUBG6WCWTC6E div 36#7F6MDWJUE2SOZANJSN93UNXAWZXQMUTZC864Q7ITUBRZ6YOJZ9ONNRZKMSOOSTOTHG8VFB4QANC2. +36#A6NCW4VJEN2NK1N2H557UL0IVD6QW85Y6O7ZZNVGBD847TT68869IIB6KOA7N2LPCUHVYUEY0KVVAXHDJIVVBJ6PHU0TPO1TSPB01A40XK6OT57XDS5N1AU17499QKUZC85EABM0VH2PNCW3I57QU2VR80CMOKO835FJNPW43AN37INWIKXI9P2U1JB1T0XECL8W5WZOZKZIG0MR2AHDW2UJ0GMM2KRQPMW08MATURXL9OYH5KYJ55OAJOSQWO255L6U8I7ESL7B2YOO91RNX3W1V0QLMOOJMYN57Z67EPOCF2O8MK8DQTTB83VAPX5NUBVR15XK4QOLLBY4GWIMN9T4HBBEOXVJJ2975ROZ9Y9V6UI1FBGYIN5BROHRZ0BXYWS5GFCUNO30B4DK6ZHP9YD138HU72TEMLEN1HRA38TS6RACYZ22FCYF5DSQFWT8XMKO13NNXB3FBSQ9K5YSMLCB2RI13GB91C0EHHIX4F0UNM2O067KMCJWXKYHY2GK1A0Q8OC443XS3EK9YRMPI7SA265TEUGXDLNGOC38UEIP4CFIJCKYDVAWDLCUYKNWDN4XEP0XG9V07EV1SQ8YYKFX87QT30Y7O7Q77JC6OGTPPT022TWUUHHE9GWCPCDGOFY2RN8BAJLDE19I4R29RTX9V1WHRJFNHKJ3ME7L7ECGDR5GGONN4Y0NMXCMRIK1EFSVHXPE2KGHX1DCXIS5QNUS0X3JS2KICDMKRTN2B44LMGIN2CZCMPHMN2BT37BNLC6MSIS3E6EPLBT2L8WRW231OR9Z0JBMY51SAR5HH6NB9IPSJJFS6I4IUL7OHJICV9AZWK75ULEL4KI9K7AD9C2LC3YJNRH2O8IX4TWWKY5J9SLQ9RZLDOVQR38OQDT20WFRJPVCZ5PPOBEBXQ8YT5BQ84QMBW4NP09N5HMJETKX0IOTQXGBEXZGQSI59CB2T5FCJ7HV04IFMCUBI6O357Z7A13EOVGAIOXY7AGYB5IL6RH89A52YHBLOAIVKZLYXO79HQ3VF8XR5EM4C346LE1VJCZWVN0KHSXFWN6IOW9DKUWJO8DAGGQP2UR2QAI95V0KD1HBWCB72UKSAPBY7KQBQOIYY8CP1OSM4GDVKRSM8VKX2706A6HRTD5511JGA8RNOYLCK1BMFHHKNBLFBCGJNF2TSZAW8FBW7WP7W03U052UXOG5QPB5N6XM2RVBO4NXZ6I487Y0MQQ96GJHI3HZQA09YJZ16D9BMDCSIW3J4N87C53A04QDNVK95EPFQB7HI58VULNGJOKEON1N3Q1N3MLUNL7Y2EDWULCK3V1Z3DPXAOQS5WGNX2L79DMJCNG5Z1HDJ1EKCJ9DUOY2VAGIYI817LPUWI0VN40ABZZYDUMXVXZCNBENK4UONTB2PA5IF7GXHYDMRM5JVXLX11M3IJ2CDIH9ROHOXC7ZR4W6V7Y8YSMKCVQLSKMKFYMT1HTPHY6RPD47VZ4TR1KQL3OT674D4ZNMYWABHHRB49J9JCZ8MBWMU3R34GUAK3454D34ZWKQH2FX6OORMR29T1LHQ9IHXJC9XP7DJPPP6HCKR7ZNMAC = -36#1FRKQD7UPYY8ASWFNNJNSC8MIU88WVUON05W43LPXS89LKHF8E9OO5XMOIYHN3YCLAXKPJNWHCO40YKA6YYLOTTDTPQCH2MA4SSVY1OJS8A19KLWF3Y7LMSH49SQ1FNNXE2G4AI6TTT63EWKA2F0OUZBU6ENTJ7X40SEZF7GQ6310H9Y6IDYYCIE1493SACH00DJ274P8R3O3JCHSZ53MJTLX2171DAU7GGVCLM4LT8XC4LNAM6KZ6XX29344TI25QNZDKU2AK0W4U55NXKRG3YBP0IK1HD0TDD95SJCAKNP98YB602SZWQG73398GNMEZMYZTO7RPI1P909JURSUIGGGCYTVBUO2NCMV2SPJQXQJWF7VKLOKZ0L1B7RCLBNZ8WQ0QHPEBRYPUTXY8TI5TTO8ULYG2983PBJK5KDVMDKBO9157C1UYY26LXDT99846IUYR4PWDT96CKQ9BOPJ4V3RJOL16AEUYI73H7H12E3SU37TRKWW8DMAAIIIDVABOHVYRGB7K6P7GJ7SDQ33LX8MOVTO4O33W8JQL06TITTJPC4Y8AIW8RL3F6J44S56H2OKMQH65BDJNTTYQ7UDLPQVXFYR0GZ3FEWZMXV3RWR3D0L58NBIC3RH6RYWHG69UIX6OK7YQL12H1U2ETEK1ROCQ3A51U7SUAQB8RZR6Y03TQZRG4SS15T84UPU6NLYF0ETB109L16UQEHWR868ATA2DX8YYWC50MYI7SFYN0ZF124MJXSIXLFTEMUI4JA0XSTCWZ1E7QOXBAGSZCQ0TGARGILUCMN243MWENQPQZE7GJRWQB2VK2E4C9IE12YUKM3PT94XY25LSDNRKS2JDXJU86TUD25GRDGSYKITDS92052KBWH9S6XJF60MMYK6UGYR9ODOS7NZX8ZTDP74D6QPX7HJNNFF38J64S3LPESJB3A6FPUISHFFNY8SJ5S4O60BRHP2ZI1YUY0GRR8T2F5N94UVKQ0LPE0MUSF8H1YQYK7VVVVEVSMK5035NOBS069NA9HZN7DKCNHUPE0OOE2XQTX8VWE9W5KVU3MNRFVXTAT9SSKDX5NFVML8BYHPF * (-36#72ZBOP7TNHDCY4WV5QY83Y10ZWHKRFGY4DP1C795AXOW7LZ47D9QUZTACB7171Q3O58G1VENSU8NH5SXTJWX3YFS3IMDD6CPFKILWXZUOM1YKOTESHW2H9QP2DK0CDGVFSZN2E2TF76GGIH6NF22OPRHKZUDEWPZNIG9RYMEBCCI2XML3LGNHT33R8SX8UQ5WNKWX29C3K5BOPG80L8FBO39MUYBQYZMLESPABRHYO331SMGIVR3N8B0NKV4S2THYGLIWT5Q2I9RMO7EGXFVKZYOS6DWLTUHVXS36DUM0J9Y1XXT2A63TONOHQAWA6PUMFREWJ7HEKSEI9KVO60OU59TBMXXAEEQRKOUPNE7L2G9E0376C8G9CE5E51SZZ8XQNRGPTWE9KWWU9GRM2PGL3TRXYX08IXC4TE4PKAL3XZUBAKM3AA27OWKTOEXB3YWEWH9ODO00FKU4GEIHY2IYM2GMD9J0ECLUGH73CY7OMIWCPTFMK). +-36#6JOYP1FXYCIIPRYFKJTYLIC7A7J21VWYOJ3QX5P0FQ0N0PORTKHNRC8MW6GJGPHSOIGNOWPHM8CQBBFJC0QKEDLGQBTGSXBALHVT1PD5VWXZFFWCDIZ0BF15NFL7U17GRHQTYPM7FAAAUBILSQRTHNPWEIRIL1593U2P5JVN6CFK64OV95SNOHL7E5ZIJA1IQ0D80HE5G61PG9MGTW7KVAC4CWJ7HN6I09WT9B8UYW9 = -36#1FJ4P5BK47LH6466V7FR68Y42U36L9FAOI139EDA49CAZGGNMR * 36#4KNMEIQMV3OB7CECO51C8SWTA2WIPZ4585ZWGDOCMF8NH8T9WTOJYBMUVP8DXFMP6HQIRRHLOZC5AI0FBZYMMFPC6Q8W7HTNPE7P497HCRPD81C5RMJEM8PT10W6T5V87W5G6D7ERU0ZDVLWQ5KSXKZ32EAXZKKQKBWT3Z273G96AXYOA0S0FTZW03. +36#J1JBRE48TC04CO1X2UXFD5IX9JSCQ3FW5JNC73K9XAIMKUGNBCK42ZS4WK0JKB9CGAD0368S2MQFKS2D0MRQW8SWWOTVHS7VU10T4O6H7OB5CDFSGSJ6AACC2TARJX70IW4D5NQU3A8OZT0I27YW5AV36Y3221M33112BRU2WRH9EGRE4DBC3U3ONC4ACAVPJPJ1JIN1Z8OEE3O5P1K81US27XLMI1CY47JSBKPJROYKXYY1CJRBWHKR7ROJYAQVQLYYF5HF05IHRYGSSAXZWIHSOUFGUQZQLY8MJGIYPSTJDL11RI4F43N5IWLYL87J2PFPBITSJGAGYK88F07412BNOAAAJREFZTLORZNUIRYQE16I = -36#1BBBA698TE67VB7M2ULUGW4I7CHPMTOBOZX7WL992SVRCJHL7FF0Y77KE8VVHGPKQKJFTD6X9U56DQ8U9X37PEZUUUE2NQI7FL8QGWBVG1DYYUEIQPL9Y71JX3A5MFAVNTCLBRM5R6OW2QBZHNMPZBNWVYFYHAVT8IW2VISVIVD9KGR8LUP3VOS0CP4S6KGQ4E4G3SRWAAW717T6BB7Q85ZTT37IRDPX8RAO5LMUOXCTI9S4SQ0J75WWW5EXRNR92XQN018EJIMYOJ776PD054VGCR1XJH0A1Q9L3K7SZSZM59V6J979Y8CUAACSZFV6A2RK97S37KW4AHH91H6KDPQQDL24KKCXKEH0UU5A5H4AWPTAOQIYE68ZOYH7P0YXR3NVO2UZMYCSGLN7FBWM2EJZOWVMYZLO20 div -36#2HG3FUCYHTTK4FYGZLXMO34XKVRKXTECVV1UC8KHKR9ZMSJVIS. +36#4JIW1V66LTNHQZBHEL4RC5IMO0ZHVGUKIY1OH8R1EQ08XOO1MRIXME75M6JA5VXRADQTEP3F8UB6SOEXEVYPBRZVXQCZZ9WNF7YECKLTIV2BPRC046MT0SUY06WDYDYXO8BHFPJ3GEL24NYC2SOJ8VGGN67RZ3FNE6DBVARXFAZREG3DOER3UQCF0R7GCKEFO8IJT30 = 36#2B6FULYYT7BUPT8IRA16CE07GB69OWAH35QZAZFQA11G9KVBS2 * 36#1YRUWHZISN31T1FHV5JYTO6MH149S8863DOAFM19DPOOSAL6GPGJ40XD4OZDCEEALQB0CX061ADVD663LDYB3QWVIKVQFA7A9748MGFYDVYKGC64NKCL9M59L2Z9H86VZFALL8MK33GHCPWJ6O22JI. +36#7WTWFVBFDG67OX8HPQ4MFTVIUAPNUKZFIU5KYU3PVEFVTZAVSIETYCRUA82S14SRLO0DLUWIDO3RD8X8LPYKWM1AO888TSZBTZKMZ6HJ0PQ731W6XLXAE5A9P6ZFT6NHFPJPT8W03MBVQRZR761NZNJ0E56AGYN8QIN36XHV0ETDD9LU5NMJ1P1EJ8K5T6VK2M0KZSC64G5BUU588MDI = -36#2OFLN8AB423Z7SBJRHULBSE2QOJ545MN5AAM3TO5O3BGITAT2F5TCKZOQN52FJRFZZOUYA0M7TK5HIKY2A191G9WWBRNE689E710FOKXZP065KEUTYJUOFHYSX0E5Q0WEBQ8KL2ASSYZBMH1EORLM7T1ZHV23CVK11I * (-36#2YBXKQMDR15QWSH0JLDKQQM1I8ZO4C3W49I84LNDOTMW8YYYGX). +36#2KVG7WKVBK7G54FT77LC2H5D5BEL8X5CLHFKTWGNEZQLC6F2X22SBIQOAP5KNMYZROTV0MUDOXTAP4O9J35OU3S01RT512FQSQGPG53SNHKF32YA5RN3AHFSNN5OPKA5CMXVMR8VB33AQATGD0PZ5J7O75WOZ21HCBM8BNOB8LETIUUEWPX7DCPXJHHM3B2YZC2RDUUA7WVAXY5Y8SFCPBSJAND80SBFTY4SWJBCFTJ7D1YSW5WPTLDQTZGUOLGH5OSKL2NKS182PW8MYIEGSU3KXDF2Y1I5BLKZ0CT0AD9M47001SQYMOFUIJXEDKKTM8UF5QT81W66DE81J122PAS20380MR7CU5YCBOMS5LGIGN5HF5MLRQK9TZUA2OVSHB3XQ9NS3METC66L1WJE9HGADWC8SUTILK1AA2KCMZEXSE2RSXAS24YOOXEU16FZZFGRQ6CKVI6LU18TCIF0DEUYG1BK7B1FLWDYDVDXQFT6C9MMKDBLMLM1PRST2PB2FEAVACB2OCAZ6MQBC21U5WY1MQCNQ24KUYJUXBR6S2KU52M1DN5GG05EH199BGRZ2LQS1FGUMZTM1DVNTKZJI5BNPAUJN100F1J1SW3ZS4ZR7CUS1UPGHYTTLYFC898AOZWFJ5KK12WXJG774G7TIFFRHIYCQOWBX067IT96P8GOJOT58VF2DUZ4W0HBXMCL4R67ZHF0UTV7F4486O6MWN2U9 = 36#4BXSI2E4C3N751XXNAO3OUVSK0I6MY4GUGVGB68KSZL9QRHPKQVF0AVKAVQAEQUDI1QT2Q7BLRC9YQ435FD7P77DFFB4HU0WWEALHGH3GY1 * 36#LFVA8XUTOJLL9270ZA6RORKO4I21YJ9BF5SAA07US032KU64C0VVX1A0BZSBQN9J88B4UD2OU0C4PA069OX3DJVL0LCH0Z97821L7RPM7SP1X8HGWF5ZOAVPM8HBZ64DUH2TK1IRKAIQIBEDDFOUI4OWOO0VEC0ESNGIN3BOC1TOIEW17A10IH3OEUOROR8HSGJ9HVQASXTVH3M194F3KONPKASVIZ9D1F6Q3M26A4AZ4S6CCX822P51DU9R7JYCFRNOPW1D8N7BG64Y7WYECSZ7TM5EU3MLT5LJRMOKBBV9HSVVNYHSE4FQ1VH3WJZ5LGJ5UXLSR6FPJPVIZT29S7S9JC9FA3ZEEDXZ34WHMQMIRKIG8ZHKQY6UG52YVZ4D8PVN5HHQOZF307LHOJ8WNF50SMZU5B94DUQ4AY0RA766550TZ1YBCIT75Q1UKS7MXMM3NZ0VCHGWMBAGUSQJ47JG0P6T0Y5QBUJ4LMTD13994YQC990X0OM5LBB7U7XL5N1VHBBD6NZL2UG1WEBEPY9BM20LEHH0HNMPH2OP0W6K9OK7E1SXIHXFPHGE22J0E24Y2B25Y5PFMD9NCCRYWMWGLFV1FF9HV4QFQQIWN84IC9. +36#6D5K2XUCRBZSNY1A99JSAV6UUZBQBKDJ2OYJOMGMCG29NI15C4MVGRVEG4409VA0BK4EDZYG9VVB7YEIZAJYZ521K2RDGLOQASO1JPUTXFFUC6RX0ARNT2VAQ4SZBT2BUEU2X5FXCEQWB2KI4KSID3IC1YQMRAWM9UQ6AXOYZEIFBNRY940VE65GF2UTQFHIPL4DMP2JJX01HIAQBC0 = -36#K5IGVT829LWW3OIMT3VM9LF2D4POJVD3GE7KP591S8HM4GTSB7SM6053O6NCW0CTFDJE62VM5H4YEPAZH5SA670R35OEKSU5R4MNWBXLM61KX26A9UPT4U4DLTX78V6CENGWHVW6RBR4FLP8A5BWKLG8DZA9WMR0O0 * (-36#BDCD8VZCCE1S6MR0QGSDLGWL0VTO8IIPU7C2CPX67NYHHSE7Z). +36#3Q3AUT1QO8Y8QCBR2PP661R87LM9T4GHAXEARWN4BUXR6Q3FRWECXU1UQJIIWBYQPCHOBI0Z2ASQFQKAH3MXK4G6HC3RHMQLRQFECFN9KRU7LCTJDGT2VZ1CFHE0FP3B28HAZ4NA856WXYLZ3MSEUFFJXS32OMCH9QO9A7UKMN7B6NK5OHC3IS0SIHTMU1G231OF6U5FQO3OT7KDNLLATDSYNIAYRTA3AVTETHAJZ7FI4U4KZ179XBGI6U8N1Z2L0TQUYBRUAR5YH7ZQK7TMLE17N9NGWSIWOXD7TYUB9DMAFU = -36#CX70JNF4SDEAU6ADQZMPU861MKSU3B7ATWMGTGDOSVRN6XTWNDK6Y0WRMT57JNSJQHN77XNM1XXXOL0170150XC3I3O2IBKPXBEWNPB2MP10IWOJNIAQSGAZH0V03ELK7X875D8IVZBKH780VCGFO3OW77OUE4UPLBI59KZ5TUSF836P4R6PYRXUZLR2A2WLCMJAW4ZR1EGLUM6K3O2KPKWQX0V8A3KWD24KB0ZUUDU1WGY9KH19O4G274O0VAWB4Y6B9387QW39LSZHDTDB7JE1RC9951FLYER9YIAILPM5BM3QZ7UOTQ4H3GCDENWR9OG0ZL86UU04XX9BVM5F9X78Z3DU766A3SZD7L4QNRRT6678XUDDA2FR9WQLC1J4L9CB0 div -36#3GW4CRAONCAFM9DD75JQSZJV0Y0LI1DIZP4FOHFKXP2L36WTHYXGUUR2X8ACPINO15GS6WG2Z3MTCII1IIVV5BQ6. +36#9G6HIW3DW368KWO2Q30WPH8NFK4619AI7I4VHT5989T4QST0S98U1CJ6QVD9TLGQGXHR7NMUULTNZQJNPFGUY5K6EOT8VMVKOFZOLC9LVIMAC9NRMR54KPZ528OQQ2GZ71F88F3G5IEU9DRUTOEJ0FSOTWUCD7EOTEGENRGZYXRJ63URRIJQW1JGKSC77R31DALKW3N9X3KN8HUHLWK3ZOUS7A9KNUW0WGBG26T3KR5JIF7FGZ09292W8HRUAKLOCHE6YSKTKMZ1RWIIB2FJ5CID4XGN5DAYSDF1EFM8YLI6E4YID8EW333O0KQ01TGILPKU2NKG1YS78FRTUUDLN9J0LQNUKI0V3HYWPRP5IWZWYHV40I66I4VU2H0SUZ80445QNFR4OWY5PKYIZNS3PTFDP70JCZ4L7C2FAUU4JSFD2WFPIHVOO2ABSQAUN52UEWAGN7HIXYE1H96Y8L8HSNA8B77PBW8SSM7ZSNWHEOSRJZSBLF4O2QX9UEZ9ZCF8X2A7RFZ6535CMVS43E0848NM1OBGMM3S6X8QIWEVDUG5OMR7UC6Z9ZZ7UU6AAOQSZHHQNO0KDRCZNZ2B91KGZGO3CQY85I95Y43WGJ2JZT2W7GFN1RD2X6PDFF6HINLOIU3LTXIMDAUX44AQCS2 = 36#Q5MSI5PSFN5GTRFOWU0CK0PBTMG9NTUJ83Q93INOEYP5P1ISHV9EMI5GPDKE325NEX4JY7Q69U7WRBON0Q4XPMUNNSVX2KXS7A8YIFEE9W7I5Z5C0ZZEXDHKZ5GT0IVALQ443NMUBULCAEBKR2HHGFIRH0MS3PE3O1NE7PHTX4V84WLX7PZC02BACL4NGUNG92VNLN0LHW3LW8B573BRVWSYQ8TXJZCXI5O3JA73C8V1QMN9U9VALJ7QS1ERP04QTYJC3EIFIPB45R6JQOHX70Z6PGVIWQD2GLN4L4KX0PTD5MMKR50QFQFQ8JEGRKGI0VR3SSUQZS1L7Z9FB2GKTI5QZD25ZAFPP6XXPFVJXA0MY2WJW03W59FUFUL5LWE3E6M3K8O8ESY25IEUDBWD14NQV6PJOA91GPY5A5TDEPJ3EU4IO7X88KPPI2ZRT5E78S4M530W2AHGHK1DU947MIP07VDGGDKRR7KJ3DQW421UL4S0HMW0EWR7WLEXL1VVVDR7O2BYM3498XTORR37BK3H4JQ31KMY0ADN40OZNBJER3BJE3W7ULP91R3ULMQ9EOZ29HXW0JM1PFOORUCYIG4W283IBH6VX88Z7ZE03HZVBL4PC0ONYS3M14V0AL6QBAO3B2O77NSJ9IE0QIO3Z27A76R7HA85QNI16YSN0CRJE6U1UZUR2AZ7KC46X598OBLVAUTLWOTXW7R5DJ4RNTGCRFHLZBUFI9N2CP4KC9ZONQBPKAYRS67WXBBAK9QCG6Q7BCEV4LTG1DA3ZH0D259C7I9EXTJI0T8FH965M2Q5RST1OV639YHR9TTJUSA8GPTT72MKI6SJ120V853UBLEYW0X3X9O1UWE64MN751Z7WY1S8UT9W33PJM4152C8ZEM5UHDI3G4ZAZM35N2REVJ878P5E5FTCA1I24LY2VIR3KJKBI48MBHD820SO8JOSFX3WWTD8H0U1W div 36#2RNDRWIC0DE4WXKWBHCPYF71DUXOZZEULXKWPZQVRK80O34Z77Y448K98F99HH363LXXVO2TTKO2FDV31A0BHWFOL3GH9DCNZQYNLWSK5KIMEZG13V9KPGZWWWNW4YL4T6NZKJNEQCNI2JY6MFCC7JSVUQEQRD59BI9SDOC19KO5CHF6NFE5NBCFOBEBBOGJDTGDWISHI8IUEZ17W9THUO8F662SEY10DPH7UM9BBDCLEGV014CJALFP5BFYI8YH3T2KCHL82PHBJBO4KZ42QYEAKHXILKD2N0W828FU2L37IRGSFKN58NAAHHSY. +-36#17VYN8YH3ZTBWI9AT77TAUSRCJRRWMGA6JLR17DGNEDMG3F6HB = -36#12WZ6W31D9LM1F3QUW7EQJHG5RXCVI25WWJOIM3YFYHFGWM6R67AUQJIPR4Q1OV3HRU4QA3RSNX4Y2ZKYWOX0PCGMW730A3DHLNOEKQCMV55U9XFXPOC0TI68AJHLI86X6HIW91U9O78OSKIVPYGCDXTD5SFQGDLXE0JKNQ4ELUOMCOBS2TXG6F6K70A6R6AUEAHK6OF201QQ6TQAWVWFZ18QDB5ZTN7UTB0SEVXNHO9O5IXWZGC67E1MP06WGB9366B4GPSW9V0F7CEAC9V3CS9LXO0REAHLYWMFPG68H0XOF4NTA5JJI6HE015PMFUA742TL9HVCWFEIVA8GDOWS9IH5IX5J div 36#VX6LYZ5W2C5A34VAM8HDY6BQ3KCYDSHG0G1ZOECKIQWAMJ03OA0ZB9AZVZIQ5DNCG4KB1B9B9JUYCB08GRYVOSHE9PH7OA86VF6R1XP1CGVTSDVQSAKG8YMW67VKVNBY5J8JNIUQ7YHB3X4ZSKERUVV28OL2WEXN54OW1BGSYXUFFJ868P3774ZMC2ERHWR50HD4AY8JA75MQ9IQL9ZQ0ZV74BL1CAXQJ9524X6IK9G60I7897JOGIGAC3RXUPJF51BWA3AC4UNN5F8ZAQ0E8RY0HJQ0WKBQ4SX1Z39ODZ95. +-36#2ZQROS23EWX8NMV24HT8W2TG69KTK1RMQZKOW5AY55BREG6S7W = -36#FC6SLV5QQILVGQPO3XAJHOAPCYGPYF5JR0YUVOOKBW6VZCXJE5UCZ2Y1HG5YC51QPCQCY18SCLDYOSZGOI7YGQH5QALXBLKGSAR7MYUUFREM2I26Y9FXZ5PYEB6I2QQKD7CBCL2ZEVILN4XX1O4DZ4Z56RHXTO54O8OKGY6DNH0DNVTDGGAIDC6TTMROW83ZSJAVGJU4X1T4SW9XQRWB9RHFHWX79HUVNTNFSVAIQTV9A8SFNM9JRBIQW83BAAFN2I17KDDAT4NGW8PTOSI8L3JVOQ3XJ3BJZVXTA7THZ8HP8R9C1FGXCXJ3WFDL53SQP7MQKTF2RBBIDUJJ2FO8XM60CVO3WNQ037LALK55PO80TBDGJ5PJ3ULJ7CM3NMER9FKTG85EESBEI4EIUB50P4ORDYZZD5370FPRRS7ILHPPCSQVTVGAPPGY742P999K1G58HK4QOS2A4YBIEA99KJYOCML6J3X8NTQTKOMKWDNYUGXHYMHBO6336R76RMGMAT3WPPR1BZK8TB1J3RE2Q7HHZWOASEVO5BDKSQ3G15XHOAVSN81YSM0PVH86HDBGFW0WPLXM3VRH4S6TWJHIU6B99IGIW36AN6DQM49EB9VUP3WMWAE5Y0XVNEAX1719SZ1JE6Q2H9D4SDGTQOCKDBHRTEINW7F0PVK63HXCNY10FXPNR5AVJQVWK8EAA5J1TE6ZWBY43S1L9CITNORRI3TH746EZXY6DMCVNIE8YZ5E2G2MWXOKQLUUE19EYALAF34J0H3BYS3WC1XHNYY9JRDV51T3PII4BICIOU44SJZNABZ1X37RT5FW3D1W9V6J9UZXRPJUKP25RJL25L4DGIZ37AG8E7CXEATIHT3XKK4ZHZMSJ0RM27MUWWEPZ3CYMG5CGPELOFVBEK3FGXWOSD8OOTF1NPK2VK3II9S7FDYNY4JPOZKP3W8SBO3Y5U1PW9OVAOTMXXR9CAK7NZS div 36#54I18K9GBXFF5SDOGBFASBD5PO03Y454J6VZ2CP8OW1WO8ABU1VKYUQQV3QRIORW8QQ1HYJEDTT0J6PRIEYLQ5YRPDWOJLIJJWG5CJO03ZSX61SRDFRZATAMN79IPF76FPVIDM8MA4LOS7YQSWO0FDRKC911UGWKY7ETCA0D730M48R4T96H6WNAGSYJKPJX32BC5T0SMK6CV1N00WT0XPDOL6DZIAPVGVGQIS4SFQU9FOFUXDBNVUTOMTB5QLR6DE2VQ27N971X7HVA0ZHYYB3UB4SOM9BZYPK38BVFWWDJC98N0ZGG29OP7J9DZYF8BLYV2ZPEA6FRRP1VJHGLUNVLG1TBJ10A1MVMYVOTHTONN8WPJ42NERVYUK5IY38YV3RKXDMQOFMF8UJC35J7AWV4ML8MS3ZIJ93OPCI4ZDCDHGGO7OTE9EDRCOB2QX27UCSAQ4KFLIA0PQ7K89AC8FZSGWPVXGHU7GBVJZ3VPXIMQWCJ16X877DZ4X8W23RGA446341PQBDP0R9DG2ZDWVS9VZY3JDLATXL26EO29PYZ3WN474LCT8ME4H5GLZSD522KUQ8EIAINK2P2M14KHI6CXO556FTIKJTBG8TKEPHJO15U9HIO6AHIINIUT44HPYQR9C7FFCW995QZOSS290U5ZABNDIBZRP2IXLSFCSPXXG7G99SYHQQFMG2RNKBMHUTI0ZLZCQB3XSIMS909MAWMSKSN3R01YSV08AB2FIN3N8AFR6Q94X2HH1GCIUTLA0X8KDUF3KAPB53AC313JL7MIWUF9LWCFO1CCHBB79B3S3EJMAHTDHNGG0C75Q30VKMXXODRC8JYDVHYTHNQKJ3MBX433JD1S2I6QUMQ5E8NJ2WVD56CJ4GR3M7CU6SI1F3XMZVBD4ZV500U7XUX0PTMU9JY8K7P42. +36#1FGSIY8PFE3U4LE1OTRWQYBTS0YT0BEKUEVZIT7RBHSS7CQY0P = 36#2F0LLTK1X75HPYJ2M883LGVM2O7SYWYNXHKMGP3W4T0JHHBZ48L5WD98IQJF2OE8DY4DWRME0AHV5P8C9ILYJ1RZ4ZWMJVVBTLTHDK4DIVG08Z34RC4I3I5HDTSBDLN2T3YHKD9GPVTTZ1GZB5O821JQY3RWYPZ120KOXHDEMWOTNK9UBTZKUI4RBB854BB041742T9T6FQVX65HJ4Y4CJNYR0SMEPJ5EJULH5VHSFHOPREXYH6QQOH6GMHPFLW3MQOMDAIVHTGMYFRA2IAVVH94KQV7ALIF5PYVFMFY75GXQRF5B2MZVC7AQUBAK8DHOAO4LYY8B6P7D162QSJLAYKB2NAPNU7KBQ0FRZA5EUCFQSRDXRGB4NWDOXCF1P9HWAB6JG08PD9Z1EXN0EKOJ52PW4B div 36#1OV7EZ1D5UI31GX0SM4HMEYD6TYBZSD5F4XOWY5Y841431V9E7VQ1S0LCGYSBBEW4BBW80ACIU15OOQ0KNEIN9X45XBJ5KNVM68VI7PUVG97B9FV6790U6VTPIC24NIJCSZ6PPWZBCBQKS5EULX4YHKTWWRFGI3BW1MSAD7R92DTS10OMS1FS25Z6L9B1ZQR914FK09CD7ISI50DMN8BXDFWFS2R50XROSOWMTQ3NSUF5FK444HS404357OYFDOQGTWQ3Y3STIOKN8002T82IFWMTI0NMUID5CB6ELY594XZZ265NPV285Y3ZGBLRA0EWK5W2EJQ9B8ORC4WL0FDE2ID5NPU1U3Q8C9AAEBMSZ. +36#17XCZS8HMV0E0163GHL5TTXUQM01GV0SLDR973TL0CZ8HR6B8SRS4PCFTXHP3HNU2EAIZSIVYJ0HE6OTFJZ823COCL4BMNH9BPEY5F78YTH7SJ899IG370E0OKP264TK6UO30KWZZ3QB38HC1JTDNK59SIT7ZXKC0UNROBBBKQ2TTR810BTWTYZEVDATQUKVHBXUC4KD9E7YUWEU7MOA8C45SMM3UTJA7UVL5OFHYA8NLHXQFK1FFLF6ON0UIBO8QW7INBWRUAF2IF21GU8TUXTGPB0R2VS8OY77SL1JVR0AJJ7K4Q0A8M72330JJZ813PKUG4096F0CUUV7KDFSBZXYW6FBA96RV1AS882V4MPVQYG3L608XSMUPLKUCW36BLL5JYJOEQ5K1IOXP9Z4F2Z4REO7DW7Z48CK9JH4Q6BJX1WBUD6BUDZPBR9ZS10EI3W87ZU9Z742BERL071BAA913YXQLHPBBE4IUH4N8VBBEVE1QQB3AFLK29R9X4J3EF0F4IVA0YYQOV8I7TREUNQAHLE0PFIB8KDC3L4E8RFWQ7OQVM9XQ00VQUMV6X5OOP0F8ITGW8SZGX1IOWCJ5PR6QNSRIYHFQW3E5VXCVRMA3F6YX8EDX437XDIXZWBBS4Z7X9ETKDMN06RTA6FK8S3S9XN6U611C0O2NCENNQ1SPCNMECMGK074PXBTG8EOQSX36PFGD3Z8Q1RTS1F79S86JN4NQEIR3TEVVA92TCEU4597UVM3RY6DO6AQR3J0KL3M1Z8HZT3ZS2NZPOSRFDY5F4EYXCVOG53KF2GF33Y47SEHXFSH3J = 36#2RV9WG85T6RO16QFYA7DPCYQLQWO398M93KYFXBS73UEUQS4FTC409SG8FASWNOUOX56OA8RR8HFDK2X1ZL64M6Z5RH6LSYH0RKX77J7MJS3SOV3Z97E9WA3SZENKJE7TG0SKC6ZM33M2BWT55U2LIA8JSPNL9A4AQTH0K7PNKFLNWRDBNE9WIBHEI4HFK84WHQRAPDWRU55ROONYNBSWBYAE35YX3YR7G5M1TTPG600VW6OZ5X29F5VVQ77TO1RW2HLMB5ZCTX3R3WGSWEKD0U49XNP37L1O5603OLCC1DZRM7MLXXM6ZRGCIXPFLMOAQTG1KK4OFTMYNWPUPYRWIBFXH8UO8UWLY4229WK3P1FJQ26N9FAAAZ84884P * 36#FU1DE0C1CCU8V6F028T512LUY631QH2FIYCMOGMBXM20BWWFC748H769MS0C40T2S8CORB5FW2RBT5NYUWVA7DC2LA0ZPTPB4UF7BYXDGTFTH1AA89C2KZ58YJILP3Z43DOGLWSXTUVL4KIAXBMQHDE2ZHX545GZ69QWA11D0ENSMG3TGAZ0ZSCFZ31FPSJGUHNTAGGIZWH5F9KAS8U7IP18YL20O497140CT43OMHA5S4VKXT5VIRS8Q32J3DA8WMYDN2J4KYWEKFB81IM4K0FZYVO7BMH87J5ZSDJYI5NT4W0KOK2BONWCZZRE8DHDZG2J83A7WV74FBDP6RKJDZE2DPZBKDK8Z6X7YC023WW2HB3IFGFCLTD6QZFZ01BD3263VN7OEMN9M42JSIYX22KZ1OUYB1R3I2CZUSWX62F0LGEHL9BUVS3QV. +-36#PAPX3FF02DMTB1BENSXTYRATIQ2NN4W518OLNFA3KF2WFL6RLT1BCLY8P8MZVVK0BA9HTEULDQL0UIR0PSPERA3H8AJIQ5P0LH25J4QYON844C7R8GYCB8EBFOUZ23JXKFYERBLEM4D2V2MIEEQ4MVRKZ38L538GIK2NAKERXP49R92HEDZ2PP10TG44WRX5K75RPF0MB3ZXWTSLXWGEV6HVUF3W9650L4325S1OJ7QD7T11GWA0EUGTDFE78K1F92C1P2FXO87SS6D6YT5Y4872E = -36#9IU61H80DIFUAC53MF7N50GML5FN5C9I60FXU798R5QQPDKKTK4HH123A8D12790MY849241HLUSBDTVOQM71HITVYTNUJHM63UR0USNS9C3E27JWJDLM4ZLOGEZ0BYYT5AJ6JHK5F4SC1XOTMUQCRF28FJF6J1UI4P9AK4UL53LKU0FA588CP11O052J2AFBEQW1NOCUX6KGI07D0Q7CM7NLAE3GVA7HUHWLQ17 * 36#2NMPP31BN1LTJBII9A9Z9YRNYN2PVBOGUQ4SVE04EH210CE902. +36#Q5ZKDK4BDZ4AKCJFFKFFC5NQL5KF27YIJP29LZ7VEYFTS1QS58HYB34IIZQO4PUGVFNBPBCKIIKU4GFZXZV8LL5A9AV0EHEM3DFH89D108GR4UTSWUYL8LRJ4XHLGGAAPLFRJ1RZZPLU5Y5A2QN1D4FDO9JRNI6FTJBUKBQRJNJ6FWS2P2XRKD368BA7ZX2ERMO381SMSVNYK8J9QCYGFXKQ5KKVSHA7CYJIF9VM5KPX4NKNF50NYNF6GDVFGEK52B = 36#2KQ2ONILQK2OCT98KB8JADR76LTSUHH2U8TNZRRBGGX95OONKJ * 36#A5Q38CDCCK8NZWHSDVAF9K94JG2MHBAREWN15NYMHSKTURYUEOKLWBNBDGGWW0L6K5JVGILEBAYLWMNM6W2ZNYWMXWZE9CL5OOP7WF4G31TJYWSSKA6V3U70HN4ZGYDFUKHAUZKC57T5U0M5PQ57IVNFCHQQ67U1WSYH66DOZP8PPT0HXNMEY7HVV9LX4DD90Y572BH8MI2GJC31T. +-36#1ZUU7T73KLBHW34GY0API98PAGWHIBVHG83VLVFBAD356W8M3F26HW27AQ3YD13ZEEHSIHSKGRXRD5SYBSHM4KOAALI7PPRMG9ZC0669UKQDG77DDVP5T9T94TA469AXYJQKHRBSZ823QBCNKA06V1CA5RFFWFFI8P9RUDX58LJ3K4T1OF33AMGO2RA8TIBJOZON4Z2LMP37VEKRQKXECAK2B2VUJ64 = -36#5B5D53Z859NY65G10EEE5K2P4U8YGPTX494R9PPKS7BJQ9ENDRAPKTF79MDL2YDH7TRDNMGLKDQN * 36#DJ6WF33XRQKTGZITLWJ98J1A02XG8JQ93IUN1KVTLX9B1I3XFLJDR1HIUOB3BCSM0QOG89K4M773EVJLCO2GU55G33LIRQYW4SGIRJFPG80TRKW5LOARV4GA8XEA9DRJJE3BPK9KNZQ5KB3NIR8. +-36#1VAFXT0RAHU4JA5NANFOL2J98P7BR4QPLTV1SHO1JER9O7GG69T8EML4XX27XBEEXXTRIXZ05MWJHJHNJU37OU3JOMKFEVP3J55338HIXJBOU3S17MNCZXLI2UQ0LL10J40VR30GJEU6ROD6ZFA88R08ANJW7Y2ZEJT0TBUIG1RZTSWOFJEXF0BOIZKTSBR6M83D8NDISO05GB75EEJ6R8U734JAZFYQJLDCQLUC8EY2VLJO9S6CZ7KUN3NSQH49K2I6KEK1ZOVZ8OOLSP94MOJ86V2O3DMR0JJ3HIJGGLLO61RNF59WSX6XG50FMH09UJJBJI6I4N0QLYLAUGEHHJXH2JQCYD4NI1DBSRIUUNUIUNJ4R82A5PHLX4UIVR8SCCTQJW2P74YSSR5WDKQNP6175K3TQ9U8N94ZX2FQOA19W16DOFDCCKM66RITTU4Q00U2ZW49MZS38MSL70PILYXKXKGDFA7NXVM7GOZO5HGQVHTO047K032LUCPO4QB4YHSSOG0MKERA4QRFULRT2CONOJQ2W7HSZ397UI38UTE4SLL6ZUJABY2SXCI2ZCVWC3571070020K7SGABLAU20YAHBMJ3LWMHP = 36#3YAE1Z6RS7AX6CT5U7R87KE7Q3W7OVQEK9OAZ2P37AVKLQVCA40JQ6XBW23HXHH5KAEKK9X821KYVVY7LLY5BE8714WGLCFHNC12I03EMEZYDSKOYLOMW2WYCOEEYNTFJR4VBKIA1GTSUOKQIDJU0VH80FG917NNTJ8XQ20JCBBLXPJA1S6R81VOWXQ72WQRAF0RR4J552JXJLFCZQK88BLJIOJAT1ZMCCI3SLOEHOY9FRI2UVPPAUJSRTDFXDYWCM3S3BRJ1PPBPFJ74WKQ1DL6SNWS0Q1QBG44GNQVABC4NCHCKEXKJJLFJVUYR83YV6J3WFQFVNWRHHYVMFGBI8TNLEX4YKILYD6VY8Q5KGWHRYRDRO1F8NY2W9G7C2KHNAUPZPTE6J8FDFR0YUMJDHIWXZPVUSQTHXY8QJF90A870XMM8DQJIV0SE43GS5993AA18K11VNK0V7G80WLNGS42E9HUHRIGNC03K4X0FHR68OYKAMNCR8P7W9IC40OPM53FY8AQZISCODE7X65OY1QBL0VPFQ0P53NAHRDTTZEDH0TNC7J4O70VUYPUG69UYMDZHPCZTS8KPVW5X0BV83LV39RA2T98LEQ8JZEPHNH3INMZQHRRNKF04WME2XHKXQTKJXP15BRST8OBHDCC1ATT4WR9I1KBCLKX7GAWD6R0VKL7WTCCZ3JW9SWMOZAVRRD6P90DIOIS8WYONOMBTK9S3O9A3OZLRLN1U234BY2JJRLTCRTM53RZ7HWURDDY86UNXAU7BA7XQMEGCEI1KOPNBLGP93TV2KMKEB7E39R2EMWQIWD6HIGSXUSZHHOAPFT83CFV8WS8ZZR3YIY2Z41Q7PD01XYDFYIFWCCZVO8MVDGCBE11PQIJ670F98BD6NC05MHUOOJLIOFHRJDHW480HTCBENAF32HFRWMZQTZB42PMC4HEHKXWK9J5 div -36#244GPS9HHTLX6JB7PRC7X41K8GRC9RFNCSCASI0S2BHGHREN9CQ8KAMU3YWC1P53JX9LAWK0HOFVL6PV3LE79YZ8GGFA8FAJ1HUQCHF6445PFAASVADA5QTFUQ1UMZMIUONU5404FRON13P0UHBUUDIYE21UVPQDXADKR14MZKOJIJIO6LGN9U5AYKWBD9SQ6WFM6UOYWT1N8Z6O2LA2JRZGS8YT7MI2CRTB1RMP77HWOJ1UMABI97NF32EVWX3SHEZ1D8H19N20EJKFTJQXTM11BSQW2HS0IQGHONK430MXS3IBN0TQIQSVDB612BZYYHP5W5H4IFC9SA3EV6OAGVFBCMT. +36#W3ME11OEWCDC9YVTK3NA8251SXEF4K79YWRHPYLBAY8NWR6FHZXYWLFEC5NR2N4DOE0MS4RDEJU3468IX9KR3WAB4EU2UT48KUE07YZQQ5LV5VN2I7C96U73HRQVP2ER2SW8BP3D5M4RUMAK7OFIRGRG01EGO2T5KSTZ704SYQAHSHTKUJVA08E5WQQ85T6SCVOR4PWDSJINTNGZU7LAOM192GF2F3FYUA2M2DO09E2HLFDR4ANLGWXLU09R0EJXP1I61U8VRLEUV55YZW65KY42OXB6AH27OV5WP7JJIKXK0DAWX7372A63Z7LRH9VXFH36Y6TEXF0TJM9CUIRHP4LPGDLFHRMXQ6QXU37ZECQO3XE60LWNRDVPYQZZNRQUH2X73JWYUASGO1HFE1IB8G5ZFW9S7NX6EE3WWFFAOBON6AWV5OMD = -36#6C9XA6LRLT8KOHDVMON31YUDQBXZJU2SGDQYEN0AYSVP0U9B1ISN66HKNXTN47K8J1573G2R9BE9ALN3H523TY52HF1W3WH2OVG5B3HAXLHNGPMVXMSFXJA0ZHD6D374UH72F1MSYPGV3FIFVY7UNSE4OC59L1C4DRT852H3AWYHYI67ZNHREA1HB17TS8EJ8NRIOCXKQ45K2GZ5SUF1531UF3HZ2NCUBBW97RY3UI7ZU4EJYLFIZPLE4TTJG7S91ISOM06ZDJKL2R3AW5FT001YMJMTO9EJG1EQXL6MEA8MFAU3ZZAFCARWQ3EPLB7E5K0OQ1X9UBIDRV1URF4IBA9WPJOCTJE43YQY5IYXEHBP9TQRD9XU1SEU7F2X3DLC561LFV3OMBUIPCQY1RV3H2K8ES7J1OVGFXDY72NEZU9WGBI4RC6TWA62DG5NP2IKIBXKWDQCA4MZ8HAUBLHRN4P4KVRVOBSHOPKV41GJC8AXP9L3OI27ZY1MACFWD6XTWWHYRKFSAZGORMK85JZQ1ALEG4K5J444X1QVWEJZMN7MVUSKX2NUC2S1L0SKB4LICZHREE4XBYGEQOPV52J7VOMRDI7QB0BCFB4Y59GDC8LN1YO69GB8A9ACB9G8N2MD7V6X0JNQIBPQ4T64HLSTDOZ6ZP6RTFKLFLPA2FMY3ZGNSY7L5RTZB148VQQQ772DWT85PXMS2MAYYHXP7I5OCNV0D2VI51B8ZRTPSP5I5CUFA3GG0JC3UZGGL1PTKQE40WRFSR965RPSKFNW1GXT6P4M6IH1RPPTI0W5M1F9X712DB579DWX4CFWNYVMH9N3O5JJ6VNMQULFOGCPDFQ5SHF8UVWYI1ZYP9AY5EA8T4IIG95Q0RRSVEDCKG5BVVKD397HI5BOH6H5F4ZXP53HVH86RETN7A3NQMR div -36#7406SYBYDR2FXV19T9G8VGKP8LNUMT68GJ4PB77DQ0P493LSX50RWW7ULNRB8W3JEHWCOBTHSE27XC4MQGNEYTZL4F91FI3NH4VXYEWHHLDLCBWVGC17N1NCBS9RQDMRU1DPKZ74JH7IC8O17MT5MH2ENVD8VXM9S1IHJ3LG03DMT37B7M1WVMNH7GCJSQNFMP7UIE80U0TLT3JC5CM8R3DSNV1KBFFAUTY9XY0K54RIEAW9I0Q8YOTW9GN2M5T1TJ51NHRK1QQD59RROIJB2YWUU73ZGSENTCFEMHD08S82CIB84M45J9SBOIVND46DV0230ZXCQAYP3U3V4DDHREY665IOX6VVDM6A1J2HE2RGHA78U7VEASQLC2QU44KAD9FXKGQF4NET2XBX28GA6FJUKSD7O32BQLV0LE3HGKXBR8IT6QYNOR2E8S8EZXTPMKODAQ1B30HK4TJ7IS9YF6A15PVMDLOFTL6W32LENERQTJR. +36#WPEYXLZWF6FYTPGFQHG7SCWEHUOMKP8RZXPLTRR0XNR9TU2PBOS82POZBGG9CA95H1H89V34DCLGF4HZQ0NL2Q8MADK5FI4D29IY9I48KVR1JWT77TZTNFNK1GK76VZU6O3TFHC001P6QJL2W4XNHPXNGW895I1NKSMPD0U06LY5ME5Z3RHIP8AILG3D2MILU4GWWJ0G36STQ7TTVBI1WF1JRXYJYWI23NF6WQ4SZXC8LTLTYU16LW43BKX5E3UPILSD03OEGP59914D45KKECJW3EB25NUSVBLCFJ95I7LR9B329JZD7R9ZCIMNQPUWS928L7X5LPT3B1OLJXX8CAPQARZW3U0Q4GHDY0M1QIPJLWFX8RX7162I1W9P82WNEZWG9T5TANR5WO5SMK25H0WIPXF2QWMQKBWNHF1JBN15RIP5C27YV39EES7RUXJ8IMQKVABQGP1G47K2TCBH2IEYDTVY2BDTJ8IEW8CKDN87C7MBBFLYJ6DF8D9U2PH2J54EIR5IEJMYTS1YPODEW17KPO48CXJMNQ = -36#J2E3WN7L2HDP24ZK6YHFEAGX6J76R1ECH0EHHA62S3J8YSH65MZD8J66BYF9EWZ4FPW1ZU9S1E20DNNX3XLEENOTJIT14H5ONRZDIEJBMNJHDHDEWHUO40FA4JPTBFFOJF28LQ1WQ7QJVH50QHAJ7WSLHI7Z9PRT4U9F6J20RR2F22D0F3VVG6CJZ8DYS6AMH2RIK9OM2I3LTOV4KJJGXQR158R7HPB7QNX3DT4OHOY37YS7ZHD8YZLWC4ZPPVMDBN7XVMHXCM03K8KMZFMDNP80QAVGAPTSO9485N5NJJ6N4T4M6YFW2E6H2IU26D5TR8ZPFECP10ST7YG6C5JPL4YBF9KU3HG1V1OQHLG19BXP1RKLA67FB9RTH118XTFEIL2UY2B7XQOTS5N5HDJGKOLWW9L3FANY8TSFI8O1VYF4M1KNKY8XZMW2N2AURQSL2E0ZQLW9A40FWZSCTHZ0VS0ML7OKEZCW989I521U12VMTSL77WEZX37KZ2PWAGQWJ76Y0OWT97LDNMC4TV0Q4O0FLA18ZSD6EN10EG1XFX5FEC8B5ULT1M1HD4SO5XKK36U8K0913E3U2C28TR7U1CT470HWMHWJKAN9A6ITFIYFZMM5R8QVKV9ADWG5Z7PD1854QEJVSH9PHIISXS0IEM5N3462SJ9J2CH7XT62QDTC50JTC56EO7MND8O1RX08LEV26URLTTM24V7TD86T792HJT8M85VNULO7SGM98FM div -36#KZISVNGOAKU10HV6XDMKXJRDZ1UCC8B997ICMQY3OMPLD8I56ZK92PIEJ8EYABXD01245XSI43J4KLI9P2B7YHXEFGZVU8HCRNG26R8I7G3ZZAZ3DM3SBOQLJ77EYP44TPW3VXS0Q6OXOZSCRQR27CVL9X69XWF8S1ZYY6O711VTWJCP3LO795YYYYQ2D18R85JAS5YHN. +-36#E3GGWYHNPINSL378BSYMA6F8UUD9IVU6TECLDGBU2LP92T5YWGSE7HQ8PMB6YD4ZH1R706EKMWYPP5M90Z0YE68WSN3SF7DTCSR0XPRU1JPB1UG3D93Y37CJ7W3UK5YVA09BMIAPMAJNO5ZW7638TE2O = -36#XJYKPK761881XX34QA53XKR43P8WNT1EDQNI8XTVWCS3AUWWE9YPJ50AER7WECPMLDWVXQKG2WMW6WQYONR335KAT9B2E735UURVVX7 * 36#F4FXE9TCMR7KB57AV1UZSZXOCXFYG6KKB2B40ECJGF3T6RKAO. +36#2G36YR6RGTYCQFMWYO50B38228EOVLTE9JI0H5VBM1LVRVFGZFGG33FPWS4Z7NLGN8EZ01RL20CRMPKZKFAV8PSX59DKQCIGAMMMFX91OFC4QDP3CXLJRYIIZ27K = 36#YUWJ96IPRQTFXRT11O7QXJF1ZML2JTCQ0ZUB59ZWDWV9FCC7GCTEWIJMTWTOCJM9QKO6M730EW * 36#2IZ1MUP5XJSGT6YDBCHL6D1LZ0ELOJQOUK8ZJUI3711QME82HM. +36#45OP8RW01FZBI3J4GC2IRVDA028MESSL9I31U6XCW5YCLHP6BV3K2PU8O0BJQG36JRRPD3AWIJE7RY0TTREMW96QALY5QJ3XJ4V76VM385RUGDUB9OQ5F0CHI1BLPMV7NW2LR1YTHT91U3KK2HDCH3VJ4IKU8DZEWEAYR40KDSBU93RTPMM2SODHW9AUWKTU1PYYNQUSZ7MTZYMGO4L80S0CG0XJORNSF5ZHZFRNLQ194NVJL3SLZ2XKQSKUHADZ6IZDXCGFYWAIWU3YFKXZEBZ3TF5BRPFABUU9O244EBQ3NS9Z5PFT3V4VZP6TV6DVXHVJYY8DCRI028MMQWYS9ASAW4NZ3Z7HDAQGOD3RU0IAJT8SLPJ3UHLIAUCJU5I85WSJN4XG53ORFGTE8G14GHJ3CUE0AAF6A6CI9Y220J3M6SY28XUETVSOYK6LI06R9DABDF2D3LVSZBJAW2RFUOFNOGQVF3UQDLKU0IH7M15UXB7XBFMX9AB82S1PSUJU0JF90R0TVH2EYJIJI3HTMTQLTWZ297YWVZNCGAAM07BHHK9752Z644T48L1MI2YDC0E9361XBL97SYC62MRSAL7TV3AAVAB7579XCMKMP7WFZOMWJL6VA40US90TBNL1JW7RCHSH4624Q5MGJTS61ENANEQEYV5Q5DR25QJXP2717A1M8 = -36#G8100EN0Q3D9809FTAELYKL1C5U3SNONU0WDV6UDDAKY5GOKMPWEFZQVKL87KTSNSFC86EO6X6WEFOU91O6WF2Y1PGEQN8YSMH15M8KPTQUE98UBER8MOKF0UQFFF3PEZWQG7XH28L6GKGNGLXVOBD7MLTVXGINOHU7WSGI0L4FBL7OTPPI97FTC8C7HCJLJ9V0ZL7PRYJXSL9AWNJJBAYT89KUNNSXI2FTL4UQUSGSCZH63T6P6AY55ND7DS0NK8T5C55V4MYO8LVBPF5BBJ9VIQ1ZZ0TADB4EFVYHUPTD0HKS0RC39E96DJKC14SQIC9E78WDGIM28ZQNN6QQ5L2BEO7LKYSB01YH12YYFNCPQAFAG9HDFHL13Q4DMEMXC55RW7HZVW2DWPVXQVADAQQABZVOP6Y0Z0R1MJHHZDGJ0R6KSVPEYRZIQA6DOEHDRZA7HO80L6WDEAUAVDYYV7CWYXK2LIU8BAEWKOGOJKIDQG8PH4KN9DZNWHLABZ16DQO7ASMYZ3Z9RMTA97NW8Z1S6WKW7NJ5SSGS8348FBO33GGAA4LP4UCP953KTK3HV6EUWU7AX0FNNZY9Y7YHF5JIW2D1V3OZ54H2MLVB49YITK2WO4PNLK5I9BMZKW6M9Q4XGH9KPBP4MDK0430NGQCMBDOJXNPKH90HAA1U9DUJSEOYPRZDB5V5C4X3N0CZEYX831KQHT7HHU3RXUWBXGEFB5MK71A9KG div -36#3WGKW2H6YYLQJ96IOOM24AAP4TNV7TUWE64X0R530QVNFLYCT. +-36#25R23MTM5U6NHBFO6SMIQK7URS4YRF5IGH2UFVL63RGIBX0X7684VQSP7XW5MXYRV65QMUVVWVJF7LK6T89UA291XKPX2RDNC23SFI5L0LGE0V9UAXHYZ8XUOWYRMUQ6BUVBGG1QMMW4BA2EVY79RM137HKIJQGSTQTAN1QS5EIOBQ0NT4HX051GKIRAVML79388U0AP9G8GI9PRG6USC5KNHUI6ZIR00E2BI2W16O0JQDHQNCADL8C7MOK2ML01WN08J38JZLV888NZIYIOPCJDO3MQ4LKIQALHN = -36#Q2ZF33TF8XQUHBGPVV8IDQ2ZB0EJSFV4TIOAEX1RMD4K7SJR11SVZ5QHG58QPV630O38H6MQXFZ0K3VQJ21I5LVP2CCV0QPVEAFWAZES0ISQ95VTVLPIBY3QGDEKCDYRW2XGIQRM45B2M1BRG52AX8VG11L7A6GKZREMQ6TN99K1P7V7D1JSN6KNHH4C1CI3CBFF6I70BQ0UNW00KQEPUJ4C2BYDJ2J7NORC5KA49NXATAMJGXAYW9OAOYZ0Q2BCRJJ1A33K4L4YKYOXIEXJ35QFNDP54UW3NHVVFMDE38IR1KKTH42ZYORHBCH4PHZ25WT8UPIG14O8RW8VKDALOXOT6ANTI3YNRTQZ8RYB110AJ9NVYRHJ6RJYWPPWP3ID4745UBCF2W1ZB0J7ELGZG43PD4Y div 36#C2RF14S3OUHFW5SD7Z5BGUGQNE2NLW99MRCDU5FC6TLFFEX1HLF4USEZWUTZDWW8AUWQ699VXI6LDV9QTX6RR9I7NYBM1AXEU6I8B7UA23W6282CC7Y0B2E. +36#5Q2JXFJ6GF83YY1XUTC1NJF33LULMHQMR84NTOWBQSNO395S0ALC549PV461VKJPB548PA0NDKIZA15Z7W06VBDZUTXTWCPHFCNUCMP3NV3MWUQP9TKTQOYZCRIASXE73GGPEZEDBXS1C0RZ7N2U4TA0TA1RUPZAU9CU3RQB1YYOULU0Z0VN72LBF9SZ3TRX5C3DFSTT7UF1ZIYP2IC40OQKP9BZDYT3KD2OPF36XFNRKFFSRK1EXU30PLEE7PIHOMESWZI7PBGXD5OIW2CB4K7TGIFLZ84H9ED0RBMFI6UR5NMSB03YAD0M0BNZ5BDHDTJWZDVS4NIQA1N2C0H1PYMCM475UM7O5PAVPZC0PL3OEDPDZ4PQBRGR5JGPJO63JWDU0LL5VPGM77LXFDM30BB4OT8A7T75SA8B7MJ5V1BWRF4B1XR49M0K8U7OTPFLS6EIEPAVMTRIQTF60EPRVDFQZ5EBQFTGP1KL8F39RS1UI3QHLABP53ESJWLLK6L5K3N2CLMS98S60B6PGIT4NYHLZ8RGBA1WS1RE409ESW95O243Y9GB5KR285GWF13VR029ZVWWZIP2R0S486RNB823Q172RT3WLM18NNI8O1KSAKR11PXARNF4PODBCUEM19GW60PPS83F3IB2DPXRXRDT4S9E15D381O0E3D1WAJ27MHIWZGQ00Y1IWTFDH9OFWG1U5W7TP7BT48XXLV5ZLQCK7P36K4K96LF2EKYDWYBNVH7H1AXJ0WPMSPC4D5FO652M4J6AEJHGUTFV7O1KC1HYUMCB9PJO7ZGU9V3PNYF44TTR4HVE97CIFFTI0VZH9KCN5JBS0BI0DQDIU165L9YDQAY8E176W8MGBOAFGQT37IBMB6L5OBR6HX7S6J24IPT1UIH6B4TK2B52GO6241SLENEHZUH569KKB3EF3TNPG0YTUGZN0DR7XCC4ETHFISA1IOH2Y7V8CJIRI3ZF148P700YBEY2453JH47IY0WTVSI7UMS04C8SX7M96Q4K5FJRSKDR7X74X3BOLBVEXQEWSI5CV6KQWSPMZA7IHQ71CAGZVXSX8WM37C13MBFO4V5OCX1LNDKFPFDPRLEL7WKLOU7DX9Q7UEE4F3D7MZC43GYU9ULAVZ7R7GD0DEYCO9LM8URV2IYETXZMOWPLLA0MEVJZ73Y01IPHYTGOLLP33DKRQL7S0Z5LWA8R0RNFVPGGQ0APG76UMOIFS1KPBIF9 = 36#56XWGPKXKO0RA2TQ9HS4R21R1GVNVL8F8ZCTOF93BXX6MFNCLJ8YXWGW0HM88PH2D0ZPH0GE77GSG7T6I322D85ADIJX6S0QVIES26BXUNPFWCL8S2VDZX5XQMMQ5TOUCYIMYYXS2WISDS1EQ8UNHTR6SRR3PZH7JEK4EYNW4LTF6VG0ZY7C3WPGW55AFSIRXPW3TYGM1OQU1C8A8ZH9NOXSOYCQKH5R18B2DFOMWB596RJ3O4MKLD4LFHB39C8VW42TIGGJ8L0BC09UQWARNOEVM3VCUHBI6YB4GK7XNHIC4I3XXMUEFPJRQNYEURQ71OVO19X6KKIJ38JNU6NM3PTMXTPWWP1NNE7IAKZ8IOAJPSE2G2MIKUQX699VO68DUUUPGNIHLLP7K2SK2M0TTC8ZNVANRNRFNUJYTZCPRW9LRW5TPULCEFVSUK8CB4PCSUDEGKIO2NNI4SFDI6CUZ2Z198N422NEP28R5GCLG47J0S7RZ7K17PA5I8CZRXODD2DG43LYNS2KWYJ19RSK6RU868JEHP516C19GN0UX4U4L684IB45TGVMUFNVVCI82DWJ9EOP3U86PL77H2GQM1XTHJQCQ5IOQN861IXYXJE3GHNQR6L79DSC49QC48FB5EQ4ZMK9TYMX1TXO3RILNTO6XPB9IN9S5GDUS2VJ3JOK4W0IO4VLNQTMPEWUQOR8SX6I0FQCZYQDXTYV3BUQGX4EBBWYF8BIAQMCBNU9CHPD2ZF46ZFFP66UJTTEPRF6NJWWWB5EMBXOIPSCBOI391KLYBQ54PI9NOKLGZGY6LQMU1IMDB53D03BPL383CUE8RAE22GJQLQ89QAZCD6OL23NIO7F3A208KBFFTMV3SNQA64EQDQVQ2E4PY6ZI54AA07GPNVXHUKWABMY3LT80FAD7EWACA4KS1RF4EYEDGYUYJ0AA9Q3XFBLG2F * 36#13OM6CJXP6VZ7X0JEWACN3Q5ERUMUA1DIMRL6JUKBOK6YBZPT49KS594YRIF8V5A5399HS13B7CZJ5ZODHTL8L65OLIKG8MB0Z6OILHWTTIYUWT0OCJJM7NC32VCVT2A38GYE6X1Y6LO1J4F91HT8RH1QJHTGIV0YW8AHC2R3ZSQH3G0DI3KPH8N0NTP1CGL5KAPK2HC6EJNJL0TSJOFQODHCODHSNRM1BAH7JUXSUE5Q1VIOABSMYOKO9MHIV8WEQ7HXZDCY2O640A8GWEOTX1IEIVK91F. +36#8NEXNRSHHCO83DYFTCMFN3QLY8883X6IH2KI9I47LDIBN37BRXBTV6QZZ4JEFAD13CUMT6KQDFQRFIREPKUTUDBRNI5M1UOGSEIS8LRW5IC5HM5I4L6PVO8BOTKCXB331NJWM86M8NNVA1EG3YS2U5JROUI1708EC9I2J5OE81LHK2INB3CDHJ1LU1PN35VDQBJVLRTQY5OGE2BQBSVHZUPHYL3Q0ADF3HQ7H6I9714BJ5QUN2YVH3P7Y2DVAX3EJ7QADNBE9XHEJ5Y8R5TRV4EZGIM7NDJ3QA0SJGWA94M9N6UTQYZCIFQB7BQ180TP5K27XHLQ6BCGNOS1M3E0F5GXZGA6VJAWRSS1FUNR7CXX76X3J2RKKRRFIWUHL8DSTBDPQB19F4XSJZGBK7HKC544Q1ZL49LEQJT55QAYRWC9OYR63XGM2HZ6Q1O3X2M7H9DZ9QW8III8OPS3AYB7S32VFP85QGFVYL20QR0M3TD2KM7LFDWZY1TCGM3XA25PKN197OI2N3PD1J6Y5F7FIJ8TMKU6FIZTY3ZTUJL2BF2O0Y4HZL381F19HTM1VNEAW1OC205PQ0UHWF66H71AUBBJ06Z95HXIGWGI0JL0TUCJBUOBMQYNCCUO5RXMOVM9O7A47266MZI4L5HWWALDPL = -36#AY57JU45A13B1KL5947Q1SMJAN6OUEECOS0OYH0ZIO1SO3CL9DLO8BYYQUYERRM1CJN76LDDXHVM1HMM7UR7YRVI3WYG7VJZM8TRO70P6NGN3ITGXFW2PKOOOWQES7WXUQG7C44AFZWMAJC7ZC3EPZ3T3YMILE5VCHD7KHTUQPCU14WO3C84LJ7BYY3NYXRLIDOD9A36L4NLFFBZX6OEKLRM33QPZ7EPMG875T8C17WA2061V62OFGT1K1KOVYE0K336SREL6J2K7GB46P58UH4KHMTF9C7IRZOIE4MSIL23MLJCOWAZ8WUWIHZW285X73JWJLYYJICQ2OIVWIWT4JMRVNOEJECH72JGXB7ROIY2GIPBX0XHG7EUUHNDMRGCSRHDEPU8Y7WMMPTGN3LM2ZKPTV75RGB19ZQETETSJ7GM1PP18LDX5LB420FQHOMXV28DNA5V4YCVKM9ZM6QNMVDFUZU66FSJ0821WNXDAMSPU1VEJ7SFDEHS4JTIBGCKI2GS3TNU9HJOTGSV2CFRU86Q6PFF58TLARBXUZEP8J6KI1WRNHVAZJYM3558AUI622BWQSPJOYYKYH7MFBAAXPNQFI0BNJNXQXZSIRXEZJT3GNCTMQTVHRDFOEQCRQCXZG2Y2T7EBIOBH6WEKDF3FE15TFW2PDBC8WP4RTNA2UEH25KP2OBYSI3GLGP1JJTW0TDP64I div -36#19KAJGAJ3M1UX4PQWDAQRBRQUO7XD4ZR1P281XX7QX4A9ECNSI. +36#125FJEUY5CZ74IE339PNO2MKMZMDJ6RM3ESXIENGE8VXRM68DCBBD79N6HI3FU13UWGE2FAOB31G7NNSSD0DSFDEEP22464HNWWQ6ZM65PA8N85631D4FT623DPM9NDVPV1FBRR0GRJ1114SAY60QXV63NZ7RGYNFK0QJSE0DRDYQAC0VY1TZ8KLG4LH505ZWAH16LFV81C66E7SV2THJLZKTY86ITLZJF9299CTCJNGGN3KRU2NE624HGA0DDTQRDZ3SN6XM4YI1GK3QR2R5NIX5Z0CY2JKAUPS3LGG7YBGW1B4FLL6TGE1F2UYIZ2MSBS1FHU50J4E3GCTB0MGKDOJ44CQ3KYQQF7UPELJKPBVRRQIEOKWG8TG8ZZ0Q1GD2R6LYVQ2G9JLX620G23BXA0SHO7JC5XKERBQHG44BM7X8685FMTV223MSTIHUMCCFFEOV0MFBDI46SWBXJJ2IWAJ17QBE44QRONPODO4TSR2586EHCIRBA79NSW86RG2AG907USPGLTC8OJ76N4JYPHYIHZEVPH8NSI2XBK1GGE7BX6TXS8GMT61VB6SIZQ8QJLFG0 = -36#27V1PMB3YF4HVHEAMMOZVOVB3NP1X93TUGJBUNMG661YZKAOVK * (-36#H73X31DVCXTE8Y8ME4OPBZD54LH5UEJ55QX97BPXMV1P6F8JLO8PAJA7H7DOFL8XKTVCQ74IADT0UF4JG62JWU7MB1ON0NXR8Z2R62I0JLFAPMPQ4EFA5GF74ANN3TJPAEQXUT8T8LDZSMYT4AC940ODLQ6W4QMI7NC4ENL1BQRDC0GC9E92AU982Z31O74IOFOQLA9B3QREJCLN41USLQ4FB40X1R2H0TYZGMXZIRUG5CTOJVUAQLJXWED3JWU496RBIJT7UJDD3016O2I2FSXAOGDC0CH5Y6EYAQT3LHEML8TJRYBO3VR02OFGFFDJSW16VLEGG818M5FALS9UA2KQLKJXQGE4GC2W01DZBAAO2EM5GZRFDFX76BDC5AMHTEJ6EE3A8PR4Z3GJJ79HEQFMKI92VHB21NPFEHNLZ6VHG8P5B97S5LBZ8SJWW9ZQ4LUXJMO10IKAWGENWXCHW7U79OAIE4M8QPBTKX9LAS0SJ5SVEUXH6NS2SQI1YUCQQZZ9QWFTHID0HFRI2HA9). +36#R4M2UU986B8PFSZCA3C2XFM29Z1SF32VU3WU4B0XMKYRX7JE06SOVZVTZ31Z8KLZJ0T0N6B6A1KC0HR4DTCA4OI16I9870O9BJ5GKR8EHD15PDL4SE7WFPE0K6VLKWK1W6IIL0LD9NH9SXYIVOB1D8ME90KBSUV4HSF9TR3ROXJEBR86ON7C60VH6V1YN5BOUB9BRF4ZHW0XFQFZWFBHKF80IIZB9BH09EDYN36LXPDMTUJPHT1TDWM2EW2JS6URP4GSACELGHMNUP3BWAXCYC29M3JT7G3QWVQ9SH9AUCQQSEG563H7T8QBBY68WYCR5X8DY3M309HUTXQTG9LOWRATNOPSZI3QO9KFDWPSS44WICJYCJ3VXUWR5WVB9RQEZW57MY44DEOHJYG3Y0FLWPLZMJR0MFRNYKOFJ3B2UQATMF1WPWFP5OAH1PCJKFP5L8BJKX6NME0XBGZP5QG3RKVZT8RP30QSO5S3E5W4IR2C7AG8LLYGJC40JWZ8RG7H3SEE4BVMK = -36#2FA6ZWI11M4QQI3AK7C00WS752PGS1CYTII1IMW9IYQ23KJLH1TYOMZGRO11LHUXLRAWKVGGBRZ13YU853RZ0JUNBMOT4Z56D89F5QSLIBZQZ9F07LTN248Y84TVAG40ESF7PD8ARO5QUTRJVTJ9H0ZTXCJHHE6XPUJBZHL6RC75STFTRZ8WMA27L93KP03J2RARGM22FBF7SEDXKNMIIYQR8YCGUOB6EGNI0I4JU93H178H5Y8EW4LMAINU4BFNJKBX9KOYQY4295RFJEFJHJTVDBTTA6RABUYC9XW19Y863L928V0HS4YBSSAHN42GWSV4WTQRCCK7B1IUJCHGB7I3CWNRM9TZXUM7V1T079ZKGLOO0RBMM6J19324B5CNYEJCNS5UGNJ2LEGTHOP0N7DT47MA0QBLWSX2EJ32X1VCNW8U9NW7PBJPFVI0R4O6CY13SH2BHG8H3ZP02B347R4WDGUWOS7XXTBN2GS3WBK1ZDTWHGLE8NRLY9M52JU7LF36JYRX30ND2F8UMX3LT2Z1NWQJ7HXV9ZWS58WJG6DML58Q1IUZZZSJEFPUQ48ZO9BTAHM9UP1LHODJL4L9GEUBV22SWXXI6PQZ69D0CUAU12F5DUQW56CT3I64VKPWNTLGLJCIYIINFLRJLSE0QIZN1YUYJIXB5OXRNS9IEVDG7JEXUSXBY2Q1LW6I8L40ASA1P083XMDDVFHE9HCGKOKKDPPW1U474BXQ4Q2O5JBFZGLD1AU8NH43MME3HJ4KNIU72H485Z6NCVA952AK3YU1GPUWRW8G1SKYE0VADNR5H4BH8CU2N1Q3Q5A1AHJVAL0V2L60WMJSZN2ABM7ESFEZ8A2LIBO4C3LJIRXEZYEIBH8WS5SL71H0A2Z93LEJ6QM4LWHWG6L8AUV74GJO4AXB6Q6LKLJAHX5N0TO4MQFV27THWGVDTS39025TEF1OR3M9EHF4GEURQW2JM0GZ22MDLJHE8TQOM92F8ZBETFMAGOHL0VPQTZ1TBY7NGT4MHVL9IOJGDDA0YCBYW0CLZYKHTRYTJ7LH525BF8YUWXA472J3IGNT3YKYZJG99350XJVV9GMIE5LGFIHIREE1TQTZLD6M1MCZI0FNVZ9JT07R5KOPCVZLCRBON4FN2AUGH9TZQ0L45EFQLJVQNY32UI8MD6O div -36#37TSV21DSKYONRHQCVBYX8MH9Y6Y64KE03CLQ6DSBKG904ERLJRIH9VBGTLW46008Q0LRTUBXI9CX4Y0B0WQDOY2VDFF6UJF04SBFRQ7YC441KJQLVRYVCK3VWWPTM3WJPL6HJKS2PSC94SMRHPXEWI0CXYHD5SR0L5OOYTSPXCV2EMUZS01UFL7R6JRQWAUOM1Z7B5YTPEE9ZK9I43OJGX7EKNLE2ES28XZPXRYIZMZSOF62II7XBMN9RGUYI0MFWUJFILXYL3KSX8Z6YXZZMW3E3G3SPMKVS5WKHNRAOMJDYUCPIF3O9ZNLYKX58E59S2E0K9UQA1PJV27RODMPNULFSPIITYLLS46OP9ATRLEDZAAE8YPP2W0WEX2W9NNUNJAXI973I6PNDLUGBOR21VE2CKQA55MVM0DI7SAWMVHNNTX0OQYO633J1LLHWMABBDJIOQLH3R31FV5WBJYJEVCKGUHZBXMS27PFFRFFYJNDJM7JTSTFOHDA254CL2GS3ZLJW98X8BUG7UQXZT1P2H7T0I7WS6FCFFKBDKAGPB15NJ1FR19UKI1VGL575290DHQOJ88TUB355J64RNHI19HY7S647N5KTZOOLNIM6U2XJNWABTITEH6A2LHL09GVY4MGB70SUI7U1X3LC. +-36#2RL3P9N64XLARQ1T7Y7A218XUIDPIFHB4JVICLSF9JWJFX1ZRB = 36#8VO1SMLE68N2OPCUOYNOPTVBCBI1FHY385TOMF1YR7MD3H2CI7V7YG95M8HX6SMIVVMKS56TJSW4WRKKTTP8MS2XJ99DY65AFX733IIXNMQSBHTAEJD28JMG9Z03EJZ8G3OUQOV0LLCN47DPUNMAO0GH23DHT7H9GTYHZBEEZ5F7G5Y671CNZ8H18P50DQJ9G50PT9HUSNRQ2VGVX6OKW4OD1J46BANHE50M16MYJRNBTNTNZOM58VPHS612PBUTGD36ICERUJJQJMP0NODVS0EIJ9JKDMO8LIG1E1DJM64EMXEKP1YKNMDY4E77VBM1CSZDJK4F8JMOPN7960E6VKMZL9ZR62IEJO6KHQTHGD86N1UYPBK46LYM0UJN99769LAMC7ZIEGAYX7EXOEN4PRZW4PUEA7HULFMICB0T7PE4ZP3CQ3NY7T90AVKLDABT0F26V7JSJCQABXZMG95WX0SGVKD4GF82ZABAD0EPB68QEL2 div -36#37K42CPNM864TWUTTXTKJ3JJJP4NKQAIPPR21PYJOEAA5GNEZATPCY2SX365JZSCHU4RNXZPL25YZDRMJYFI1TH6TLWF3F3WM3YVBD5PD6WS57WTS3M5TDTF5FLG3OLQ20924H5RTON59LK7CLDBOTT2AACP7D983T9AOSGC0YG3IX2Q2VV0M5338SDGZN4RZ2A6NR53XTY1QSHJNH899CIEF5UOPRVIQUXY6T7H6MIOIF8VR5OZ5Y6UNRBY3F8D6O7E67FXA198XJOMZB5FWYH8X4V9CGSYZGM05L2Q265AE2YPF1ZG1XKEN3JITFI95AX2ALOHU8HQTGMQQ0TYFIG7RTHWJLSCVMS2QXD1231BYHRA3OFPYKXHHM2CCDPKWNDIKQVP60CRWEAAG4W5UPL5VER1B28QQAFDVL6CM67A2DSUEIHV9AYPBUCV0A. +36#2BFFVOUTIPZ3DDWL7JQEJSJ8GH5UAC7XF845GU166L0VGKN7G3 = -36#6XBF9R2334BMRZZZZNHZ7VXOOQHEX8XUC9DNHTDK4XLIJPZDYK2Q1FGCVYKOF8RR17EWTY5Z870WO6M2556YQHTY7E1VOVEJWJ0 div -36#2ZKXVBJ331T2S6W0YWI1FFYZAOXNAWJ1K9HHJ8YOOT14V8KEEC. +36#2YDQWJZRT1ZGQZJPB0W491D7AC2AFY9I4JPY24W9E4KY4KIEAJIJR8BRF55GKZARJFGEDQ6I7796TWL4LLILN1JHHEXMKAGEWXMFMBH3CQTENWTS8I1X91JOBMX6CW7PB6FXMZP821SNRWZNB9H7UJGWXYISXQ3NCZMG10GPR3R1GVN21W9X589MT35GV0Q9TPQCCWD264T6HJEAO1UEAC8YDIDLFO8YNYJUD5C6YKH6YFA2M8TE9V2N9WIS7D0T6PZYKYZ043HMM4KFTYTI2ANU30FNSNITZT11PO2WGLXT4T5CK8NICAHFO01UIFDS9XVO6EEZVV0UB0DV6PQP2CT6E0N6S0WMR62GL1BAYPX6TLIDJJIBJZBR4UV21R1MP5H7QZV4SD8KUDLJEIS7UEBGVA08I5983UM6HDGCYC2RI7Y1U1YKKMO2OTYEW1KFY4S5YRB34GAVAZP7HOE4XTSPW2IQUZTBOOCS3KSXG6ZSLVP9YLBFP3F5DWQTW3FODZFPKYLKDADDERSLU17TTZIB8889ZH4WDCCD63TV2B3PCRO68EYMBA94RGLC0VMBFHK4UBB1M7NEXXOQ0BW8JM0JT5DVF69MRRWEI08C41CWFZ50BE0CK732B2D2VN3ADBDOZEO7NI5760RXH1D0Y0RCFEE20OK011YXV10BPRCWMFHBOD0YHBHJC15CE4VCBAQICLUJGFIFGELW9FSN7J2QB996FQNN3D17RNT1RYCHOTKAKDED5CLCNJYG3OAYHKG5ME5SK0KCFQXPH1EGYB3CAEXESDDTEOGF6R8FUDDWXGWVEG40GHKQPJ5INVTORMMO1DJW0LQKY0VO4BINMWGWJWL7HJYSNGMLK3 = -36#EHH1EVG1CQEM2TGCTFTOLQIQOOD9QIM0XL7YT1WPNBXMNNLOCYF5400RN7YMTOTA3FMHYC6S9XKJPNH7F34GDB2HRHIS7D3IU5ZUMKEBMYJTSKW34VA1NULIV34FFGLCDPIWHW8LCZ4FMJS5VD0B548PMC083Q82552Q4GYWH8RE38KZEXXE995J5J1100MFM1BBVP1909CPIOPF977LFSMBFISKE93P28H4XLJQ71XLN9IB9C52EGQT9ADD973N7E84WEPZ5EMJQRW6ED5P6FU3XRSQPFX2UOFVB8Z4OH9CSFO5J9HQ20TTKRDLQNSB4JVEL5F6HP25BT0ANDRFSOD23PMWK77XO57U4RPJLKDPG9YLK6KKEJ0URSKJOARQUSY9FT5SNOIBYZHI7QULM61OXGFBR2VTUXEGDN9UACK1R9I2U3XZ7UWCXNGADN4J178WY3C89DNW8MDK245SC0AASRCN4YTDL4LZKGZB23UWOYVUS8Y13IPULYLHU2D4YD04AUTQ8X7P3EYKBND7LG7CE9P22K0ZPUAZS48AI5DDCSJYGFR5HQ0PW9WEMX7O95W0LGL51VKI26Y7TKS239AZ65TI7UL6GYBR2KGM8DIZY84A4AM8YVEBDPMW1YNUHSOVZYSKQHOIW4BG45O4HR9A1YYUWOSNFXQXK7HUSK5OLR1YB6Y8TB0DYXUYI09M6OEC1Q8NEIFRQ7NAI7QFK9V4YYMCXGGCEUBBK8PN4O33RFQ9P1PH2HE18U9HAQ6QKD5DXGPZ917EMQMUC0YVC7GBOVVB707HY4KMZ2XTGXY2Q9JROKAXUTHBV7YMPIDN9ALXGXCGDF7PU0JRKYOXB8CAOD19VDYD1OYK342J0US2CMYE5YND631LNUPG7LOG7NY84MOKC5OEPF9801YVJJSR5PG0XFGGUOZQZ7E6K7AIKEJ2AHL0YG68R4CW53G516NQ0W66JUH8OU5S5YLSA4P4892KTQ44D2V61J3GKJY2VV1596NP6B7C5I0GXA6WGAZSH7IFT9C4XKS7IN82OBFOODBOU6MIVS5ZU1JOIM7YCBWTQINEKHGVS3I0XA206FC0MSLAOPWV7SSF9P1T2PW3COX4A9ENS45XONEX0LHB8KQ2U48LFJO div -36#4WGV203MSCIUPHAXC6NOR4PT41QGKGVJ7W4MGB2I9MF8CYO6MOC9IMKD9Y2YA2DTWDCY2PP2WXWCRH0UMQOBAPDFTXZSH6OPSLORJNG1TPVHMDRGE1FZ7HOBR0XMJ31WBKV299FYK2L2DZNUKR6ANOKBFLDR6TX6KGK8I9HCK591W95J8W6WL4HKVAUZSYPLY1GCRDXM5MRKOGQ1BZVRBQFT77BW0YJ4T14LIQ8MGKAD7RLNU7UGOGU94R685FY765C1EJDPOWBEKYH118. +36#QV2CLSDPZHD0TNDXYG33AVIB3F8V25UOVEVSBIHO41TVXV1IS = -36#16PO98EU4HDA9XBROEH58PHJ4BCNO2I3P8GGTFQOPJTQLCV26STDXHTRJ1SMSHOSMEOKH49TXW82MJ8V7NBWETLNKDZB4OYP3YHY16KGSWB2T117WIFLVB8OEM1CJMPZEFTDMI3R1BVZTZQ7BD5181VZSKKLH5ZJF0HX6UD1ZWR6U7FFSQLG6E5O div -36#1L8OYWFUBONAXHC5M318NNQVHBOWURAMJTFUJDB9FS56GP2TKNC6LBWK688E40ES7KNQ9EKLWY34K942BORI1Y7XHZNIX1KNOX4KHIVZ6986Z7NT34FSJ081WL0BLPO8E39E4UF. +-36#76MZYXQB57WYSL7JWRG4EMQEHPL7U8YZZBI5CCBUJ8O97UKH6NNZ6RVGTX2DESCPVRDI1BNFU2RV1FOMVFCKQP0160H2D = 36#BOGHV3U3XXQECUVB26TDWH5ZYOVAY98LL4MYTBV1HJT0HFUPYDAFAQKCGDLUMSSPBYA2X9X1FOHPGYUWMPJJC5WUEQ5ZZRES1VO3FUXMCN8SB1A773BJ208NQTMW372N3904CNC2EXJMMR8PS8S1J3DF65NXCCQKTYW3ERJC9Z526IKA5P2CF2JSL5QIC7IUX56AZGXYUSB8VHJFTN div -36#1MIUOG8UE1DG4YJDTDY2ONWUVUW6RP9QQ4NONG8SLPBSK9MMOM5MIUQF2WMC9EBZ6SH8ST5OWBAEKAZSGQDR4746FWOJVSROOM71Y8XKX5T4HIP13NEQ7Z. +36#48QOGF1SDBCY3C33M8CUMJN43N2DFW4QZ2NMMXJLBQKKOPPX6K81YFA4Z7XF59GV67DWG9Q60BXMHQ551IA1MXP2Y5YA8T5E4ZKC8NSLXNHW2B68CMDZ4681VN1U3JSPN7VCWLLWD1244FK3D8ACJB29OBEHM4WSVI3OMWIUSPFEKXOZCPO7BMCCDF3W96FW71Y55HAAF4DOWZ5ZXJ3R0YO3FGNWQZN3PAO3ENS7GEOH2FDYROJRYPP88D55ZXI0MOXGQ950J4OV3WEB9SOJYUJ5TVZDDOV26YJ9H9XCT2BRHO8LNTRL4KZQ12O6PAMMJ0DVN2M8IYCS2S180EN43LT9K4L0JVC = 36#4GZBD6GNGYZG5QQRHIIPGVPHB75EWCTR6ZFPZKRHRUQ7FFKW7ZESPDJIEZY8Y95DW3Q44N0RWGA3SWNYAIQYWPSAZ1EB9XFVZMNSJB49PD9H9YGC9ZV4O7TUCU8S89CXOM245E6UMTYUEZWZQTH65QCXCD7G45366YRD1FBOJ8X964UPJWLHCXMT7RB80DV7QX72N3SV3KH9V0463LHYVTEEG4TP3JSBH89KLMFI16KLDQYBKTWAKLQCILF3526POVZ75Y6UH2T4OR2E7GC4TS8O0MNFWJTBOBB8LAS288TN3F * 36#Y5NVXV7QEOFA8QGZ0NSSOU0AAAMMFOBY5OJVJQ0R0U11L7Q2W. +36#2JI7X0Q1SRF0DR33O704Z2I189R8MAIOBZ9WBZSGWI6W16Y3SJ = -36#5TJ1QIT4K8VMGX345XQPT1F6OLHUIJM5H20ORJL0B1BZTE6R4AVVBPF0J4FDYXOHW6DBIX3PKVRRRFKKILTU02QPF8INMK2NJRA div -36#2AFK3W22WWPTCEJANI61N1MWBAG7PF60ETPNFI78X5MGKUXQUA. +-36#4WZ7MSIW1WXZFSRSPTS7UY6KLFZVUXSTK2IC7A4OEN7IPZXSPYEM48493GUNDIYWFXTK2Y4HSX29HT5XWMT31L4PKX229WAK0QIJ17HCX21FRDG1R9BXST7DYR37 = 36#BCL0V3JEWULSNDQJ6LCRU0RR7IULLYZ1MJMIOYSLMD4HPW8QJGF009XSQSEIFGCWDQP7340CQBZAREMNHG1YKPP1BGZFN2N6OE9MMG5BZMERJNDEMTECT8L2QP5HI6O4OCV1UPYUEDLG5HLFIPO1T00NTIB5QMEOKD2LBNIBVI6M81T543FM7PE9I2KRNKLSUCE7B0GCEPBMRXJJA2EH8L3166G0W7VOT6FIWCPRXRWCJLRWYP2DSLMQOTYMP994R2CTI64A1AW4Z8JHIFTHLNM8BVAOOAJ85YGX56504JHWB5NL288STX6U7H251N8EXXLE3OJFDF5RLDOWDQYNOBJ8LQ10EBOOU8OG80KKK1SYSXJV53LF7C68A0H6M0TYSTDAQI984OW7WFQLROUR3 div -36#2B41AIRJ15VWN0ENJEPHAO7512YLCL70MKV6JFV20XAGC5H6CTSAD4EHDATWQTOI57OPSG00696MWYT8RC03SEFQ1K7JESUYCWW1L7YQEBJD9ZDO1E6JSP2B6Q8KSO0CKRLUX4EJ9079PBJHRFKXEOI0FHCAA95B9Y2NFAU1IZAY9TJKL6UU19HHMRUXAI00LHU25T6UI5S7IWJJATHNN7QGFMG3YC409TW3HZ3CODT8J8BV1AOZALVYISUHTEB2PCD0PP7S3SWSR0HYT4TDZUXMKL. +-36#2M26UKGWO9HRWXHJTWMK49V3EBKP6B85S361THY59IF288E0E8 = -36#695W23CYYD2TSEQG4VYLFDFVK1KAX9R0P6HB97WGWSYSJ9110GN76FNOQ22GELL2RNN4E9GE3PFJR0837VCOX6SUC2GYM25HB89V6X40GWS79A36WITGRF7ZU03G8I5ZHF42V3I3FG0LBMR0H7MRFTJ4BG9AV2KIDXURU3OECRH5E64TVAOHJVNBN512JF1G8YKKHW6MMYILT653Q8BO3739Z0XCL3NIL6UXIVS44L6QQ2TDW6XMG7XUCGN3NIA1I273PC7AYPB6MIX7N9OLKWKQD4IB24HLGJ2KO2YNPSPBFXJOQ5TCSYX7SR469WSAKNTO8QU8IECKT1GGBRALUFYOS0QSYRS2SI078BHONMNDQ7ZNYXHMWPT1RMK6GPYPOJ6GGK8MMFFNY7GF4V7W4SANDALEKQS0J2X212KPWJ9GXWZWDGWMP9IMO7H3R5Z747EAXA1BLH43CYUJ0NCP6CTGH76916MBRBPZRAQWP28EY8FWACWAWNJSI5OK4FSO16YBXP15OI8YPPETH9ESS6FUAB6XBNJBI7W8HI6NZCAGK4ADWH48C7PTUDZJ09V1DPKD2XE5H69ZZRETQFHUF62CYG60IDRJ95HV0JZSB68UDQTVEVHZUKDHGK75YEKVOZP846PXLTJ9ER2LPGM9M1NE8IPI94JOLVJ0KM79BQ1JHGV0WBCPIHM7QJOG0 div 36#2E6DIT0CYXEB9L8FM93AT55K4RN9IYE3VVVLENJVSRA6NJOS943COLLSGZ8IEIGV6E8IORZPOVHN1PAS2IVJQ2NWBHCQQN5LA64JXQQAT4MDS688G9YRLEND13LSHO3VYRIH4UA5Y6F28E7VMHRCS41674WRM7BDKMJLB1PZUFOO0IYVDC82UAEJY5I3Y2ZPJYSAR2HVDYF1N9RANGV53OOH4UDVOH73827BRJY3E6XPSKEGM0Q87TXIM0IROZE38HR6ZVG67T6WNHJA7BBPJI1ECAEJATFS2RRVPI6LUY2L0YQ7AAVXUJ9I3JN6B7BV4YFBF5RDY5DDDL597CDAKHUUTGJW52WTNAXUDX1118DS96G742TTEOMIR5URKMUH1PAI1YMOXUMGZ1BE1PED1TSJCHTP4FN2AUYNW04Q4LSZSIY5G4Z7FXFV1GRU6ME6MRIDP66OKZXOKHCX964M8LGN2FH4O7WAZ4M49NPTN6LHEBIM1BI4RKXWHS43VVDLQPNWF2SZBRIS86WL4JZNE38IJQ4D30OC2GEBE3R2QLE1L2K7MNMSBCEYGPD33AFIEW1IKR98KMYPWZE4E6OOGR9A41WQC5DI4QHGJ5HZ77FZS9HAZ6RNNHP42ILJPH3MM0Z4YO4B4S8R. +-36#H2LEDILXEMNWHUR82PTCLCIS97FFHG220ZRJHY3TDS0W0BU61Q1UMAW5R6F4Y4IMSEA05I2GJUSQ429PGS9T3K8DBL1QYZ8QBHKVMNLXVAWD8T9F4U9MLDWWD1RFBMV4STYCM6AVNCMROB56ZKQGKO38PI85JST9K0UTVCDKI4QF4ZIXQK8E3CR0Z1YR2ELX9HN2KOQB57B451JCXAFZG57XU4VVO15TQEW9DY13MZB6VU2SQ4CEAGC1JUD9Q0NNK0JWGZ1M9X90G2T2DYJBSPX6VBEG5QI1XGX2R6AFGGXB3MA7Q50C8OKIHX9YQQ2RDFVN8XPBZ8376CMCJKY2VPJABA0VSS04UX5OM6V9BR78ODQ4MD51JKARM54X1AD5DQU251QHZOV4KZS4MNSBR0WNONMXT8RW1T4YI2VLAD4SWUY2W6QIG9MK7B61SLYWWC6 = -36#1OWARB1XI22ERY0OQLTO74WIKXY1O6N76ALD6CD4YN6541VOSY * 36#A3BNNSJVZ1RODPUJCJ9PBOV52ZP2Y2LHQJWQP128EI0QZ5DVORR8PQVZWHC77H2WZ68Q84WESSETIFO449Q2D9Y3IK18BR9AI4O1BHAAXHRRFP5GQXOEWUTY685KHX50HCDCGYF4599YEBC6JRBC52KHQ9KTQY3UW47F8OP3HTAAGBTADA64S57SS6302JVDYASUA2M11V5JGZLGYR1SXM4EBQTU9J14KXOO67W1AEIIBEOCT8YE4A39OH8XH4BWN2US7QU3DBQ2YPR4OZJ4DOZOW4IR44XDO3SBI2M8IVWAHMAJ1O857IVXZARDXVMPY6ZA3FGC907UGCLL0KHCSGENFWAZ3IROGVA6P0EARLPAEDY7A9WIG2F4788CXFCNDVMHYXURFGWOSY2GDF. +-36#1AX5WT6NNHPX1D33IQ5DF1C8O6AQRHH8PEYLPBN0TG9O4NYAB0HG6D1PU4996G34B43Y9JY66D58RSCOCNU8ENCTSEZUD5ZPZ9JG1AKHQ6Y6YCYGKKK46KL8VI3O14U00XVZQMF094SX5XFJCM32URWCZZ2B7HTRG5M02GCLJ5P1DX5Q18WO47PC8A8EKL7YK96WLKD58M6OFHGM2KDAYLKETDKA4UJ8YJ3KELL5F830XLXGVWMQ8RW033TTFZBA2HAZRDFEXP87K1RYRFXSLYVDG9T2J6KESSPP2OGVR6LTUSC2SRVYY055F066V2UMXZQ14G0V2VFSBFHA5L1U61AYPBV74MS27M10YFF8CWA5R6HFQQR2LVRFQXRFOAYESY85ARXH6ZJCQ0VOK4A2AYCBYEDNTPOT0NK1LUQTLWZ03GRW0YRA59S3L58JU66TBNP09LWPB44IFIA3OD1JE7YD5YNEP52MX8VB3AAH7MTZ1J9NZ11ZJZLHQARXUSWOA0UVQUM5SZUXUW3C9JAMOT81IGYHIK9GPS6JY6UNF0IIS7ZCCRV5H3TTESUODE2CPWGVEWG36FUN8O34C3587E72PBJTXRCQOQ8WFOADUHXUCD00TVKBXAMRWMKSOD2TTUDA8O3M135JYMT8L7ILNSQZX5BSGV9NWQ7XLYEYKQMZX1YL3US1L = -36#CQQ0W67NYCY9XECM4OPQ3M22B3SLSC6YIE70EC0V4KH0GUNLV0EPTMSDIZTOXXUAY2L5X7VYFG19XNHTRHMCZ9GTAOFU3HNVL6RHP8NQLU8XVGA6JOZDHTFWK0HK76IAG3ZR2GS7J5QYWPPBW2UHMI6FGV8QY3IECQ2TH05G6NX9NF29XQZ51 * 36#3OKAABHYUWEMP6NKPYSQ26PEI6XNTB9VATQZQM9C9ERXL8M4I0Q6FGSSNPS1ZE6QUD2LVDZN74TAS07FD35D8H8U47JMODVOE7ZEGPTTFYRP2VPE8PVCW7VY7JQDPJG8ZG261HWSKMV8TKUU19COATA77X9WM2C0IX35ZEODE7C9D1H2YV4P6J47U9LGUOUJMSH6FSHI8OUE5MA4UI0W23OINPOLK4P4EI8Y364T5SJ3ZE450P4D001N7MQ01T0CZBFRVZYDYA2AK1M5GHLY53FV6J6XKZPQS95TP7SLP6M1FJP78NRK5OMHQZ04BDUY70Q60KBW58PWBZN924LS2N57YGHQ49ZKP1FQXXDXUYKR4EDSKV1MLQ2NYM6Z2DYHD8LYQK4AS3BR770EUEPT3RQRJ92GFCUI0QHMJDODUND4CWHAUIKF1MIQXEU705VGNPJF6TF5KMMZD2U5QJV5H8LUAEXZBMTPXE0GU7YO2VOX5F9HPJPA3D7ZL0I4LQ4L. +36#1NXQ36J5SQ8OYN75KXJ0JKTY0I1FSTS6XEYY6HK1DLRH9C0AEE = -36#HK2DZV1F6RFL3I0M7IMK8IIMYB2L8LIXL0LBELQWAV4NYBBFCUW37HKL1K0N6AA4OH8D9LC8G8QJYS9JO1JWUJKBYWXEMWN552 div -36#AJN12V0KGYIWD3M104JXBO97TLVGUZY9OEV4K2BNNBXVW9J5D. +-36#H73X31DVCXTE8Y8ME4OPBZD54LH5UEJ55QX97BPXMV1P6F8JLO8PAJA7H7DOFL8XKTVCQ74IADT0UF4JG62JWU7MB1ON0NXR8Z2R62I0JLFAPMPQ4EFA5GF74ANN3TJPAEQXUT8T8LDZSMYT4AC940ODLQ6W4QMI7NC4ENL1BQRDC0GC9E92AU982Z31O74IOFOQLA9B3QREJCLN41USLQ4FB40X1R2H0TYZGMXZIRUG5CTOJVUAQLJXWED3JWU496RBIJT7UJDD3016O2I2FSXAOGDC0CH5Y6EYAQT3LHEML8TJRYBO3VR02OFGFFDJSW16VLEGG818M5FALS9UA2KQLKJXQGE4GC2W01DZBAAO2EM5GZRFDFX76BDC5AMHTEJ6EE3A8PR4Z3GJJ79HEQFMKI92VHB21NPFEHNLZ6VHG8P5B97S5LBZ8SJWW9ZQ4LUXJMO10IKAWGENWXCHW7U79OAIE4M8QPBTKX9LAS0SJ5SVEUXH6NS2SQI1YUCQQZZ9QWFTHID0HFRI2HA9 = 36#125FJEUY5CZ74IE339PNO2MKMZMDJ6RM3ESXIENGE8VXRM68DCBBD79N6HI3FU13UWGE2FAOB31G7NNSSD0DSFDEEP22464HNWWQ6ZM65PA8N85631D4FT623DPM9NDVPV1FBRR0GRJ1114SAY60QXV63NZ7RGYNFK0QJSE0DRDYQAC0VY1TZ8KLG4LH505ZWAH16LFV81C66E7SV2THJLZKTY86ITLZJF9299CTCJNGGN3KRU2NE624HGA0DDTQRDZ3SN6XM4YI1GK3QR2R5NIX5Z0CY2JKAUPS3LGG7YBGW1B4FLL6TGE1F2UYIZ2MSBS1FHU50J4E3GCTB0MGKDOJ44CQ3KYQQF7UPELJKPBVRRQIEOKWG8TG8ZZ0Q1GD2R6LYVQ2G9JLX620G23BXA0SHO7JC5XKERBQHG44BM7X8685FMTV223MSTIHUMCCFFEOV0MFBDI46SWBXJJ2IWAJ17QBE44QRONPODO4TSR2586EHCIRBA79NSW86RG2AG907USPGLTC8OJ76N4JYPHYIHZEVPH8NSI2XBK1GGE7BX6TXS8GMT61VB6SIZQ8QJLFG0 div -36#27V1PMB3YF4HVHEAMMOZVOVB3NP1X93TUGJBUNMG661YZKAOVK. +-36#GV924PDNH2CJGIE32B4LWAP49RFWEC6KMQSVJDYPMOEJUY2JTTCFNM7VG9C1JNWJBJ929W47B7WXHXSJFRQNDY3H40BS32W018ZPRE61RAECBLE9GP2C18NXZIR15LY6WOXPUW2LGY6JJF1ASGQPHN5IBFSKZ4M7QSPPJX68XCP92BL4L3IB0ZH9OUHOUYSC0DS2G74B926EIQGMJHWHHI73JA4KZD1FOGDK7882EQAXK8RNO4PEPHV92OKXJAP12B6BRZ0TRREYP0DHUP58EX8M1VQI4Q7TPDN49OMR23P8E7L1WDZK96AEQM4RT8ZUFACKJ2GG52UE9AI9NYPMHYOAY2HGICKL28DMCPCURKM1DDFL8T4BV1BOUW0VYLMX6XL9S77C01OBFRZKJKZL9 = 36#ADN4E9U39VTDJ6T7MT9H2H7AP0DQRZ3D8UD41F8CA75M02V9SQBPJ5M3NNGTQ2KWFJ5NK38U3NBDWZMII28G1820RNRRPX81BS8UYDKLZ1UU6VXWPJ7KXSP2NFZP8NGFUGK4N3YQE2QG0VDGHOBFHOZ2IXCHND9KTV7RSPJ0SLM2W453TX17KYW2HY0RR0UP299WTH05ZCR6O4HPEKM0QV6VRLYUVX5E4V7YQOHAR8VK3JGR4G8XZWB6NRK6BB4GNCU6GY5H5Y6A37G1QOQYOS5UQT3WNNJHS15U06JYIID2I3IKRDL51G91MHP17694VZ2AM68YIOHKZCFDP9B6C7A4W7SNIIAISPEL * (-36#1MIACTMGUYTBQCGA1LR4QBD7N1RSFH88AW9OQ8GWCUQLFLBG7L). +36#VQEWVSGG1TPP2URCXQ60ATU569T0EIIRS06H0YBD9WH1AC5VM0MRUGPCVX8ZCEGB9C95WRKI68UHUUWOHB41IGD4SLNQAZIWUE49O7NU82MSAUUAP2A9RHB4USCA8PIL4K3U22VORELK8PGWVDGKZNI0CMEDI05QAPQX3GAFGQBPCWACFBU7MHIAR8YXSNGGASKWX087MLMQPLGMEOMCHBZCB7CC034V2L8LYKO4K2FWFSX3L8XG9VC6DMO9TXDLSSGKVJCYFGH45WF5I2YQNZSBOKSHARTR3007Y4YM9Z45XREIXDLW5GOZX1UIGGX6YAQ0IPA4OJFR2VXTAC4KBXQ59T544EOCPBZTM13GM6KO8TRZR0SSF3HU3LDELEIIJ7LTFSK12J3JWHKSHZ0YOT3YUIAC6N0OM5OTCNYG0U38SF5B309AZX0Z5SUZMIWJOI1K6ETM217T3WXR2W7KY4O2SVK6451VMAYVT5NS9HJ1BC0UV2NQ2WNCG89NF2SQ0AT8A2SJTPQ9IG26RDNN4VJVLI4UVRIX9Q0XJSZB8K4CMMD1X678VDJ26OY2G8TNEQ2KB14DINT2P8AWY1YDERUM3XUKVLTT1383LDH2YC2V8AUM704J99EOE5UCL1LYOGZGHTFZNV78RUGG3G3QY6BE0JNX5CQMLWKXQXJIJEOTYCAWHB00VBLDGY5NSCTRC7C71IRYORSBTMB1X511NEETTYM59C2NSD7XO9HU2UL9OKMOPFGX17JU29UUJCIBA715S8PXEMEZS7YLL7T9GU01T8AS37BXR2FNYCILMWT7OOTQQZ7SH4E3K9E7YE5I5GF01ZCANUE47OZPA660905X92BZWMCLM5S8S7CIDJEFLEOS3Y959SRS4U3I1SNUCOGSHUFIAH5EB8HCWAEY8K07B7227D644JPQ8OO56X2EBWWZDUFHFI2UEW0IPT4C8PPE1LAJRBRTDDBKZJOCT3I6UKOU0SRWNEX20K7T0ESFFXFWZ35OUVY5TPMYB6MMAG33K5YOB8WNJAR2YYASKTO3G6IYJM1KNHCEXCFOBALZ77TXOJ9XYVBFXB95O9JCY3UCR20ZPMLDGGM6C9CV478XDYOPSRP2JQ8 = -36#2VGM3GBGPVIZWSKXVNNS1CC170NMLGE8SUGW0OUC5IP8E5RUM4 * (-36#B1IC59FH932J72OD6S1WKZQG8AMPFR51XRTA707WG1N31SY4XWB7ERPCRVYNHL5UR2C9YVPUJ23KQF148DNNS39EWYDFER6S4AL8Y5UB5S6TMJG7J1F993WAF4SC2M5AMXP7J19M7G3CFWRO2MD75LQ4U0B1C7EU0PPYK6XC077LSH3OZ6ADZNHRQP8I5QFAHN790I4FV15NOTZ37PL6U3N2BCDVCO08XJHA8JJPK0MY08PS3G49ONJ7BZ50VMOPG44S4DHI9B1GAOAGB0ZP00LBQ2CXPMC6OPRKIXBDV53TN99SIZGS9OB0GC4TU7TUXNRLAC3EOX0YRY4AP10RQIS6AY5ZIS9GXVVCIM3PRY71JBBDZP3S55C5H6GMSZOQNL28HRHEYRS5547MAH4N7GX9OY83U4LG9Y1FMH6ERKMPX2U6VTR5WJBTN4DCJ9TJ1EFF3CBNTSJTZ6PNF501V6E1H59NDK20Y1V9GP43BCPMS9JK5C6BGO3950OLM90YFFR2BG6YLWWXY4K2P24QACAVDA4AMD2J9GVIK2VHPYZZZ42556TM7L02313RMZ2UFHDN36EHL7O779MVKENNC6S5F8XQST4CBZZT583E57WRHCGC8G97UCPWD4PIO410BK3KKS2K52E4QE1RZ4BDR6QHY0LHXLG1UXLE15HBV6DUZY33K5JTM4Y3IW5PX7GTQ8ZLKLH2H7UPC23FLJQH4T8LA4ERCSH5939MTXQA299YBDM3UZI7IYOLT059TFDDIJDZ2LZG5CLB1JZT19MVYJRJ4YOB56QKDUJVZFGPEGJPY86SEE44NORQ3M9CRDGP73V2VVSURAR9BKPDOXEDQT6YZ7O11FIKZ0IW05UI5Z2N1I0XP9HR8859FCLVVYCO7O76DJTD3NOPGMONK1RUWTTRQ77YTJZOM6ZKS0EOBRBPGPQ5W1FDYSJJKQQHKJ43NRGH3Z2MFPC1NJU1TBQU0UUOYXHQHZSECP8ZKYWABKAU2DBSLU9R8RVZWN3E115QKHAJ7MNJ4PKGTV3YF5NI46OPF0XEB29ZU6AFP26AZ5QGPGHWDK). +36#2U0BGOJ32569UG3LG3Q3ZI0D2BQUPPEJNV5L9T2OVG3N2CHR2H = -36#97YKSCO3J67FV1H509OJ7REXQCK8AYS2S2W4TG4LBE5SDNW0JYLY7KRY1QJYX41228536OG3KEKOH961CYLVETWD4NQOEVWXNI5LLTWEYY0TG59QRI2KRZIFHDTSSL2M40FWPM37P5UWJ698WGZLPQ2GTEE4PYQVFJS8MLQI5D47D0RRGJD2AU5L9COCELG16V5GMOLXQJCYD81YMWR94M5XKR86UNSNQJUJ11H3N687T0TI48DR1K9H1LT8 div -36#395HGQ53QW3GQK2SYKPWUPIZ2258R98LHAD3EKPTR6CW78U6XE5Z4I9WJF1VPM3Z5V1Y9NG5A60Z6OM1X6FR5XZWH8FEYKNLXR29LGWRHCQ8JV4DDVZF884RWIC7EDQT3M8WUSLUZGE7AKRMM9U5BUDIN8ECFAMB9M6DQDF4VUN6WWKSFQ3SRH3RVNYIJVW8I10SSENKQ4S. +-36#8HPK6AZMDELLJB0BYT7YF0NOWCNKW1UJW6WJ3YLV3TYCGAIK5BF12AXCMAH92YY35OWAG083JGZDUZGWI13ZTD1F3R2T84Y3N2D2B3ZZ5UL8PM2G9C200K16JJ10K4X6GX97S12D1O17H9EM7G6I0ELMS23E186S7O4C90ETN0OG6ABU51E421CD08666P01MEZSCHGD90XDPSR2IQS63RUJQJR478O5O0NEF7889DYQBEBY5QZ26DILPCYWCX291MX0QCR5YVWGH13CV55OHABOQ0P4YSG1FQNXYYC973QND0SOLZAWNAJZ452EZ4OJCRK8L4WDWARW06Y72PQ3TSS1AR1CSYCXQAHJD76GWPPSXQ2XX3O4W5G64J9ARNQPZY70XBHLY42J2QDGY37I4ZXJAI6RU6JO5NMJJ1ODI5TI6BKDWDXGA4AWE8PCT5GGTNSFBDABN8SGKE0HA2SKFLHK6LHCEI0FH29JBD3CLT48HA1RS6N4X4VDPHIKW2JLTOW6IH6PGC2WYK0CNRBRVUMLAW8LQ5QHQBMYDZQOJ2QOHGBEAB3WPPUN9XWKSX30K5C6W4AQGYBPBHAB45D306LULET1TS22Q7FA0R0TPW1VUBUAQ2QLBJPJE1GP5BH9O446AEH2N6UPUHXDC6FJV6IY3IQ0USRSYVDC1KO9A8I5SGQKQXGR2Z7I869FCCYC = 36#FTLRH6RNA199HOBT7P8LZZENQFYCEN2RM8RROJVREB1E1S0Q3FDK6D88VO93CV7KCMCYRV9SPN5HTVTQK476FOTKLHSAWTSNM01LRO8IDDAJS6JRNJHQTPLY6JVN0E8II2 * (-36#JBKJIHBHMG405N1TOEUXESOZL2C8L339J768VG9DYM8F7Y0F03WWORWI8MUTO7Z4ZM50AQEOE06CDHZL95AOC57JD07F9KC08I17LVKVX4ME9BC0O0BEFLF7B84XV03GL5CN7MPPYYGQQB4M0J1457RHBRVWH9O2LRF4MTIY5CDMHZHKCTMMBBYS2007AQPKT6ID52IWZUDNGIUOSHXZX1DEWX9BNWNNQMT8DNDQDJ8F5II14QXRNH8FJ2NBCC1QWMPA2QG8ERCA0QB2Z15E3HIPKBTQTFBPGRKFPISPZYTZL4PHK0J29HOTK2DZOMV6WYWX7H9VZYIST3EQBCOHKIC3CTHEM8M6BA687D0IKBKYYQEIS4TT6PV8Y13MOMOGYGL0F89HQ0L34U5MVEJDP3R8IQ0RA9720U4XPMNXHQ7MNBJPEOSQVK1CIFA4W9TKXZI55Q0R9D2HSMR5QVFZPJ91O330H5O6X4BFD5D0XRR8PXYRWYL64ZJJVWVWRIFXG83YP32I7GHL6EUNRDV9MMJYANXPW3OTTQ64KA14N18MNVDKM8ZIXAQ3PO7VZ6). +-36#9T9W507E8Y4SEN15HR7RTS0SM48PU8XHSMT0RGQJ6DRV237EQK93BWDX76TYC1A50DXS841823EYW4VD91MZWXX7U1WRS6OHSYSFW06WN9I0MXFV2CGQYGTCKKNTKPC7UY9G1SIUJ0QRUOZRO53XG17XHBAUXO1LMN5AYEWR724123WH4F6D94563BFO955G3WBYQRXELN397RS0LEHC90ILPDVU8CGWXBMJY3KTBD5EDZF6F9QIY6AUHJAQVZ8QTB1V3FG2MA3IVZQROQDOZ4V0PWJL2BZH6TRA1E2RZYM8KVW00D5PF6S0C0S68NU0AJQOFMKFQUSOIQPAR1NSNU27GNX1D5D8SFXD9C7JDPB5S8KKHTBR591DN1XDORHC7NEKTK2YR803QPIYTWY0XY9TE5YD31AQ494D313NGEBOB1Q4T5EC551U0I9IRFEIDTT6IYCGSIOFCZCRPJ7A8D4L9SY0VJUVE481EMTZBOJHI0N3DNMGU26XAVXEHIQ329NB62SE82S3P0MVHWOG91SBNI5RVT8NN6X77SMTO5R5H8ZOK55PLRX1FLWPJZ8YX0FT0GIZQMLPD83Y3A76GA018B12I4HXIVH2J3EWQ9G1K8D2DH4AD4H8ILU28M7R6V3DAUW7GNTUMDGR6A4E2J7TRL6LLJ74EVAV2POP28LW4QFJS03J8H2O6PYQJY5KXXU6O2LCRQLPJFNHF63W292QOXR81FLZAN0FZHOVEZ7I97JZIHJNIIH06 = -36#8J2LFXEW9SHL71C3ZRQIGN9F9FD94IH1A34OBXDPIETWSJV49JFQANMFEDPFLX2DZVVJUS2JJ2OJUAJ0YNPN0D08Q2SX9SVMA2DQG323FV1VEQUA49FNZXK1ODD6P9QVJR6DV1ZP4GJVWND7TDHBU7VRKTXRYZXPV8FS95JYUB6KLT5XYYIU44YBIGKNIVB3EHU * 36#15EZYGUB6YZ3AJFXBX0B7UTZSZPBFFTNVKDW6NUN01TMTJVPJEGI4G7KGY86BWTXL57TT4BTGLYZ1MTGCJLIU6ZAJS7JDJN0C378I4GKPVV0418726C24HO4JAOOY9MMJMWSEB6WPOTQ6DI50YWGK2EWEXEQHT710H1C0Y07U7658EE4MAM9VEJES9XKQFCOL6UV7WNK8E4WWXT9P4QM3PXSKTU6SLRQAY8HWDMT09KESUTT1EA5Q1V0BF2HNSSX72SMQGC1R2WI3OVX4VSFKDOUJ3M1UTUX3O6TFSWLZAP2W0ZVAN87DSPV8CIRG8MAC02GSTPJL56DG0MG5WFEK1E688HJ0VZ2LBFVH0G4BDAGBTALTZR32KYMG9NUJNZ2W6SMXBF4LM8JYPKDRYSU8DOILQPXIX8HCAFCPEATRTF8TURDE2NVXDZC9DKOBLHMAZBZBAIOZUU12RHC7DWAYV12F5928I0DANL0B7DHQ5AQEKADM469CWOP00AQYFYN9MW9O49WUK40I7OM8N25V0FY4Q7INDGTP2LWYXGD29AY34ZPZZD4LQZ. +36#C2RF14S3OUHFW5SD7Z5BGUGQNE2NLW99MRCDU5FC6TLFFEX1HLF4USEZWUTZDWW8AUWQ699VXI6LDV9QTX6RR9I7NYBM1AXEU6I8B7UA23W6282CC7Y0B2E = -36#Q2ZF33TF8XQUHBGPVV8IDQ2ZB0EJSFV4TIOAEX1RMD4K7SJR11SVZ5QHG58QPV630O38H6MQXFZ0K3VQJ21I5LVP2CCV0QPVEAFWAZES0ISQ95VTVLPIBY3QGDEKCDYRW2XGIQRM45B2M1BRG52AX8VG11L7A6GKZREMQ6TN99K1P7V7D1JSN6KNHH4C1CI3CBFF6I70BQ0UNW00KQEPUJ4C2BYDJ2J7NORC5KA49NXATAMJGXAYW9OAOYZ0Q2BCRJJ1A33K4L4YKYOXIEXJ35QFNDP54UW3NHVVFMDE38IR1KKTH42ZYORHBCH4PHZ25WT8UPIG14O8RW8VKDALOXOT6ANTI3YNRTQZ8RYB110AJ9NVYRHJ6RJYWPPWP3ID4745UBCF2W1ZB0J7ELGZG43PD4Y div -36#25R23MTM5U6NHBFO6SMIQK7URS4YRF5IGH2UFVL63RGIBX0X7684VQSP7XW5MXYRV65QMUVVWVJF7LK6T89UA291XKPX2RDNC23SFI5L0LGE0V9UAXHYZ8XUOWYRMUQ6BUVBGG1QMMW4BA2EVY79RM137HKIJQGSTQTAN1QS5EIOBQ0NT4HX051GKIRAVML79388U0AP9G8GI9PRG6USC5KNHUI6ZIR00E2BI2W16O0JQDHQNCADL8C7MOK2ML01WN08J38JZLV888NZIYIOPCJDO3MQ4LKIQALHN. +36#MDMO9AFCR1AM7UHSPDJ9CTHVBFC4J9N9SNTO2BF4SPRDD1NQ4XPM2K4W9B2UFYJ4QLCNESBNH8BK5UGU9Q4CS5A47DZ4CXSZ4DSGQ022A4WBR94Z4XXD6OP4AJNP5Y7ANJFD8QQ6BT2KYKPPA2OCE50CG07VOMOWCPYRSY20CR2VM967X6OSJFB7B3RR81JDDQDAG6I9JYMRY8SG8310RICVGVSEDRN6ZP5XZVF4MP6SUMPT0A83HSM3TN0KPV2SNBQ5US4NR0WMA3CVJLFD3YR7GW9S3YNK5AH0SVFUR5HZ92QWWIBBMZX776K67TGVJLIXJGDO6A11UKVF49Y4DD9YCI59UJIT6S1UBHJNL7MA0X04FK2O17FAA8BNQVTNTBFTVWWH3TM8APJWL678YZ9T48E1AW0VC7B2XLOND8PGJMYOOL1XUYEMLEAULBJHS2A7Y45ZYDK4P8AAYO1EWPAN5CIYGWQLB6LC80OM10DNSTCOYPI1VXL0IU5PV3E4SBI9QG37Z6RPWCRZTEKF = 36#SJSL3R0K6CI0VTVCM1TGLAMOR8M0LK81L36KY1LM1EEP8358B74HYJROSEMAS3OQXWKOPZVG2E9HG79TVZ7QW7LAUXVSL2H49F1BOTMCI3FZBYYC7L1CA6KMZN6SQI6ED6V1TCR0GY5GS37AJJEHDGFID6Z2TG2VZB4XGQGVESD8X85E3SL34HH19JV6EW4UQ3BENWDGI8DGGT5YCU9E5O9KCKBWKLNHYKC2FP8UBJ1CHILL6QJ2WUVGC57Q80HSE8SEIGABQHRMDN3VDG60PBYCVAX6Q8HI82B4HXBLPOOYUFXINSYKXONMZREB3Y7N959R7BODYPT2MAY8ESGYT8HOSHHGCO8FLC91FJW40VYQXOTFJD26C30X19HPEXO4NO2USZ500FJTU0A2TFC5QSUQ99KUEFVOHM91P6I5TX07Z9ZVDSEXCBNOMY838DZ08FCL7QNGR5K27G1M14ADF6FZW50MLTOB3A3R9ABQNGJQFKZX6E3O0PMA2S4MLIRTQ409CTGQAO348ZPQAG7LUO61BUNT112X0A3M99483J3RTSUO4RZJYY7M0Y35USFCCP3ZLFJ3V0WO5LS7CT9OZUFKGZ2CT7XVT5WIRFE69ZD4C8DX3AVOJVOBT52F3AW1TMW23X6S200JV2KFV3CCWJ9ZEM0WSVNQ4TRHACPPPTN5F4GH9GC20R4Y4SHEY43X26Y6ARXC3OXYJDU4CCS4546PZXAZP1G2UC5D4VS397JKRJXSE66HGLHCTWDQ3TS9M6NOLQJK9MLL7N8D9F6AOXM46N0XP26FVZ6BGJ2ZUGBL3HNT88EUGGJE0ELK2MSA5MG7XJYU5BISS1P8ICWFW267RYJ6XJWPDB5I0W6IM5W6JI2S9R6KWJKVU0P022YBGV9P9ZIK0QWMVZJALLHVPL4R8W0CEORW4RBI6D0BR div 36#19XE2Q9JETE7MUG2MVYJA1A2X3BMHA8ZTAW8OKDODZSTZG06MMHYYGECL3H05EIL714RUBOM7LH1UHAI39M3AIZTLBHHL7C8JKPXYY858BW2FA896FTC4FZCL8EEVFXKU3GNYM86IYFUTLGY51WMPNCAQEYKIWB4RYXFKSE7A9ED3EGP5RRP9V4JMVF7B29YBA8HM3PV3E2Y1SANSNV3PXEE3R7990T2DZDT2JUCYEKTRAA5KUFT5FXQ2UC2PC40TJB991TENSB51YHW1L6BQNUJB8GXJM6981K7KQQ92EF2VTUYLFL00DEUD1ATW6LN6KDFZGFCIHAJBN83KS5534QHQYV90FIYIKKDYXVWRMCP8CN0EMBUXPYMD2X4ELGO28XGT1I6X5H2S41C3G9KPL. +36#1XIV4A2T59QAK9ZJ5BQK0U6VUT41BQSQR8IV2HVNVTVJM9UWQQ6CSF2VA7BCBPOF1GMAM60I8XATLFICPXU909ZBUZ19DKYQ8YIIZ98XJ1XQEY287HKO99L8PODURTZNHU1K7YE1P77YFVVAGRYRZ22X5X37LN23WDCIJUFVHBTND8C7KIXENOU7WGTEGTWA17MBHNDWQ7JOM3EPT5058SDWBUU989J9BIUCG2OS22I2ZTE9504OFFVD2SK3XR = -36#16334MSFW7BLIRASU9GLPSHT4FLPJ479OP85KSYY7LYCVWSIUH2TJFORH9Y7XHXHH409UB7ZT0V14I4JVD65B4K2OHWEUPPFO0HDMM7CQO4IQPKGBS17MREW5JHD50SXOFKPFM35L22IJESCGZ16SMPQJDXM4LYHTIR6AAOEACLVO20VFVNTU08WW3NSAAFV47QUQX91D13IL * (-36#1NGXW1RC0IBH1JJG41HJVGUW7N1VJDFEBWYHQRRI46D4HH1JOR). +-36#2P41JZFKMZ1DZ2RUNADOBAN9J2L9FVRMDJX9D4CDJ631TFOSNPBZGC5EPIKUZDWR7O258UWA2KSZ5BRGLJ9S94KDTNJBM41X2Z299B1BHEV9OU3P2MWKOFH003DIM1LPW6PJIRGD7A7CQI90EIMXOTRJ8T4ILUBD4VDAVS4UXOIZFM2C8LULWIDEUO4CR1B7JSU80O5NISDCVTBXK2Q1PRGXNLAEOKX76BOY45KKDGSGL2FZFQCMNTJQWZ5RMRJ7T9FZC1VPIPB44S16XYG97UERXPMVBJ550YCN8F6YE5KKK0EPYRW4SHLUG87FTD5EBEBKY2GYYRIETMHAKX6UMEZ874IV9TQHZZOBB2TFDVADQLTLIJQ7M6IWNWO69BS5AJ8JA47Z62FMS873M6DZEC9BV7ZRD3TOKS61Y1LQIHSSJPNPT0Q4773P8NNUTFIKXG1QH5PYP95W8TRREJ5QRADV9RYJM8XXS6ATJMWIW5OSEWSMLRGCBRXR2HVOU0DYL4JDS5G8BRE6ITPCXHQTAE35Q4VQ9W9PL1TRMMDDI4KOOMF9W7TRIHEC5CLHYYSCP1YIT92TECBKS8Y145PMSNAL97DJ2E5IHI688DV8YMETK75UGBHHI1BZ66X53B9G5NW8Q5AAOWB73A4T6HNC7DWYVIF5SJ4N6VD51GFT8EOAF6SAIZRYNQLVGVEY437WVZJP4SR3AJYTXIUZUOAATIDNVCGGYYWT4YODWVQ990I1E3A3ESFB6NJVG5KXO7PVNLKEHQPMXX6NREYAWNM84ZPONPHCUDEDRXJUFN102MPJHO58J8YKJ41C3GAHJBDH70HAXP842S10JF0KEEZO5848EER2MG633NX04NCYQ5UG7CF4ERPWRXJ7DZGL18HXOPFEL7UO0VB4MIUMK48NQP3ISVQYF94THD34R = 36#LA5UQTIDQVHKVWX01ONG7UHB6BEMLW5LPG1AVQZ4987DSURXWXMKHTMZY526ARYXASV0SJX0G7CGDZR301A61RBBF59E4SAOF2BLINWQ3ACIS9J3PGAKBNT4IO49EHNZ1JCI2E9KLYQWIAUZWDTA37B3Z7HCLHME9FUOIQWAG1SMP22FLDS3HE38Q0O7THEYLRH6PE6I4YBE7MF8U9KFRQCXWKFRTARB0YMR9X2LHN0BRO2P5X7JU43BTE0MXY7KTHU45R7KLHKJ5M18ZS1K229UOJVK9B11TMKF8X7DZXZR7RA1SS9PF9LNQ50KCMXT8Z8PW2RMFSX4BFF91RKX2SXEYPTVVSZGDHFNIKGDXW8OHSFTN0I3SVA3F21UXWZH07Z4MSH6F3ER6GLG5H3CU0EN89B6E7LC9GPMKT2UFZLG87H06L7F0BK75GRE5KGGSEE4EP8CAG9C3Z7BDB5KWG3WGRQ2ZN7GTOBY5AA8ZM6XG4YA5RXE112IQGA0GLU8BZYBRESEG1CFA42DPKN690VKV4ONN54912J2UQU2WGOFHGXGR53BFE17QEI340WMCPDLDIA2KLFPTCJVR2W65DDSLKPZH7313OLXEB793AG94VOJUGGRACODN5HR1RZV6EUNDQKYQJR6MVYDK0G245L7WCTA78AQ1YLTFF1OM0JV5AZSFVEOBEGE87H6815H1AN9UX4Z11WB4EE84RUYZURB6ENOHCQRH1OCZNWJKX3U7GFQ6YDDF6508562ZZU3J6WZT2NQHJTAPSW755YMYV0M5Z8RIAXCFNYFOBNN10JQMSFC5SG5GIRMRZVRMMHRD9ZRSZGMX89M2KRQ7FQOFFQ79RCOEQUNU73LHPIJ0O4I35Z1URXVIXIPD4EX0CL17BJZZB7XBXCT1BJ9KEOHPU8QGNNPV7C21KM8GMXHOHLAA9O0VGB301KHA4OGLFHFT034ON4JBXRYDJF5KOWF5FITK7RASWIFXO3N24LZUIADXC4VQY1BYFMGIUS7BSSTE1ZD4UVNGPPFXFADL8TFIIX4QUT515FU4YH8HMV6XB7QHYZPDWJIPK27R4HH1V48T262DZ7D9KBTBFDN5UUQYSU4A9NYV2BXW45AUTA1L5LWFX3P0SUZU8N9KRYX1708051PJ1PQE2T8MQVKJB3QEHWGZ8YSZG51QNIOTM1J98MRL2DON7OKX0 div -36#7W0Q4JFHNHGGTJ2U9IOCIRJJCNW5GAKLLICOSXGWDCFZPWI801JSCRRWKIBJ7THU6OT36WAC2GI5PP87RDYGRDWXEN7MXMEBY0YE7VM6BENJ67J1K65W0WQY29F3IMNSKRS4AQRVZCZG97ERL68DS4SZQ1CW7L1YLHL44TWDJFF0XKUWVQFJLKN9Y1POY7AS8IUUGI4MY6OIIMRIG060MPUCJVWFJI8YQLKCSGLOJGLWM1PL7JTAJQ32HH0FTG2OQAMAX5WXJH3DU7MFHO. +-36#5N4E885MJCGCUTAMJZFRMQOZXSLVELTLBTRZC00KLM5K7UDCV = -36#H1EN99UP6J6X8RGDM5FURJ51MIDRH0PY3AAI1QFA0WMRSMMGI81LRZ2D29QDAEI58X9AQWT4KDINAZJ3Y3DGPLU6YU1P24NGXH div 36#30PS3F3UPYT4Q5W1MAJUCQSPWZABNTB9LRGFS5VXMCG0L3LQ0B. +36#305AC0D6T60TWOYLFNG8MVQWR01ZHQPA71R48CWHU34CC90933 = -36#74H9BF9YD44JNDDPOC2A8FLJSHEPU4B1QKB8EBXDH2Q7FG26E4EBHBAOULOL7UBUQ9YHU3S20ZL4IPBRKRNVJALZR2YFF9LJ7H6 div -36#2DDKN3NAGD2834CKYO17QLQZAA10U9H76PQWD9WJJT1YG8EGRQ. +36#RR8DMNRQRUPNOW2EES98L3SJPKOY4WEL3HUXPVYFX4M0AV1BIIIYBXAQCOQ7FFS6XM95023BZTEUMOZJBBMXV44TNP5EAP9Z4AGOHJGW917S5D82HJ05CAPX3T9547TQCZP580QP5IH19CMLKNH0063V1OE7TQK1D5FT6XJ74KCD8QNBU89N0OMJX7QFSC8HOTQ3JXZ1BOD5YSFNGWDXX26DXC2SA3H0S8CAFE3VEM0QS8QDH4JRIKVGFQDHMVPDLZLNJEA97DTFMH7LYGMDVUDZNXKAG2Q4VWYFMR9NA3RO2FYCLWZFJQVANI151DRL9VOBFZSE7MO109WL3R6D6FQ1CF6CGLZ2CZQY9L0OT3RLCA0AXMHK6Q482Y1EENG4K8TZ20RGYNEWX933YFBDOKL5ZNQDYMLWSUEVK9IVE5T7WPI9MZO75POQ4CV9ED5D3KV5TXETWT2RWA5VYYABGOK6OSH8AHGVJ6CHMO8S0QX5914UX39DJJ46HY9CX6XJY9POP0G159EQN7JOYWC6NTO2GALU456ETF97UFNPTNX8HZLIX2YHM4LD8YDGQXCPFASQS9TB7X6XV2FMT5XMQRNGYJPJ8WHW0TMN7TLG9GE05DC7KL9WSVBXGC3L2QVLO1WI0OIBUIJAP0X9IPURHKKR9WKWIMH7SYPLSWG9W204XPWUN3NJRU2R2SD1WNQXGT6YZD6NY41TJDIZK0QNOS1DYVMTHT1SQVNX776OO0X43V9QL3RS33T3XETPEM1UJSVYAQMEWOOYO4HS7SC57STR36ILLR2N0TXXRU9ALU2TCALH2MIT7IM6Q3NKF8X66AC3QGC9IBIYSWNUJREJ8JSBKBMLIB40F9YQXGHRJAYBUPJ8PTOOPCUD8CZ3MTUAU9UII28EDU6NEVM25PORY886C9613GAG0KSUWVRERM0DYX5GSJNYF6D120FYHGH298BO3I2DVTDIC3Q5ZHECND6PU04GANTL0D2HE6B47O0ZH4WVAG56BC8WRO4A5PUNYCQ0ZK9MZVMMNWOW2PHI609AHREQGRT9FW9XXT76VJTW63U7P0W8BF0VR4JK5PEW3M8QJC0ZAU04YBNYSI6DAYHTYYOQAVH0G3H9CGWOFAUWDYHEXPJ8HQZK8BRQB9BFBJ1OU7N2QMD2CXAX5IPN2VAI2R00V9WVOXHWR48TZ659URMTGIUSAA77VEWPP9S1G8N5F6LWOKOPPZ7HD6CESAIMCD1SGAH4A56NE1LW3GHSJO45L6AJOZE2 = 36#W365R9UGFF5PTM7PFC1GKTLZEMS9NCJJL0CM60K295PAIXK6SWPOJ20JGTZCOLYSCNDQBGI25M205V7DB3NPQPAMJTLR2NTO58AKXABODWOX7AYD653UCAIAI3CZCUDD8XKU0NUGXUFK9CI0RQ3Y43ZWRDLV4DGDRIBUZE8VV1BIAIGNEB5TXISOCM1MMLW3XL2EF8ZCEBR09OSNG0XT7XDCNQE3HAO3A3M9BNHIX1NFENR0WAINOWC3JX29PAC9RCXVNOVF6D656D7DLWKOGVF2KTEZ4CPG0YPRLD9VVVLTAMH2OVE53LX61DOZSPTPBWFCPYM8NBDO1Q57XEDBZMHK8LYISC1ZUSWDNTEDVWF8KMB00GADV8A1VMH8MDSZ05GFRM727E5Z7UVVRGV2GR44521AJPYK2U7L1W0UDZ7DEZ0IPBZ1I1GJ80CQE3K1JPJDA6FNLOK041EV86YHMNDTDIGW7XYV7MQPSVY7UM8DCXTA13PWPP31L0SMHBS3S432JGV9GN40RG91G52QTI3YQF3JYO9GA432WNW274086SP5D10VBXICMRPU0WNSUQO2PSKVWXEOI7JJ9P4ESPBHTLZ4YGLG2ZRAN0482I57DPUEWS7GK1HCPF5ETVIFZ6WS1IHSWJT9Z5AP8F5MJF9WNY755Y7H5IVBS6CN2M4403P6VUL1IF7OBT3GYQI0RUT3XJIMJSF25GIRFQ8WVX5C3YBH83L9HJP3FXLA13CSUSW6ANZ8H092N31NB3VG0S9GHIOL3YW24JCTFJDMIRV3NDGGI38U42DDLZEJXRBRFNG5JRV31K2ZVN0Q2MMFL8EBQ2B * 36#V51TZIAARINMB0O3IHFTC61IZF9WJTG12PNSMMXHE9J39Q6GH4ZN5IH5MQPX19W79VIUKV6JFD6MWKY0FCS3X46EGX9S1F1FACFOUNNEX0TYKZ9Z45TEH28K7D91VFIQ1Q6FKV11FDMVC4698TVGY1M2YCAEQRUWR7AIIBTTB302P412KDKMG03IFCH1RPK2P8JOLUUUXRSQFDE50GKT6B2XOD4TYZO2Y54JHT66VCRHTLD7L6DZ0ARQAAMC0KQWVZBFN8KM0TF9EYDOWGEZB9MY6YH2GUCSKE901YH6VTXWAXBQV6RI5AAFERP2EU84FAHZVYCGSA5EAHKZOPM0CAC17OYG29BKTHVJTWDJSWZJIO5OLC6HEMIFPM03IEB6S04772QPI5FPLFMIZVYNU7EDD4XNLJQS08N6RS0ECBML30U9A. +36#3KVBVE2SO7LMS9K940WUTCYW626RNL7R109QLEMIPH52VIIF5OG1KQ6AUPGGQN8MWAT2GJLM96166P88L862V3VMM6066T0DAXR3M7OJYBBC560AIQJ1FAX4SZQEDG1RHVKT01Q0HQ4ZPT57XUGYDJ86JUVOCIMIX8L2X284E7BD50WXX17VQ2Z1RY2KHX505PH2HXZYBRMK6K6MYIR9TTDZEVIYWT6UIS4S9C6VV = 36#PFXSMH4NXGGNRYOZ7O9ABU2A6SVLGDJR89LO5GPCE2CU3N4PW4D95HX7OMRXBRCTI80VUAP0HPXZTG3XA2QUO1YBUPCAO8M69819UC2SF9LANAALU0AOVP5UICKLWLQJ3MIEA14ZBH87W4CKBUH8JHPECUPYBGHDDQ1PWRWXNPUPV051MVM153O77OA1LBDXOJG65K3B9BGR6NAYMDZP28TC39Z9KP8NYDKUSDEERO03AV2XDA39DIRP6N0KJKSXRG86UVUJ518GVUUSPG4KS2WQN div 36#73V93DCQEXTJAGASMKCXNYRTZKDDLQZUMSB07XYCL38HAVKVH. +-36#JX6A6AOCRLN9FU8WMZ5ZQXL15UDMGH2P7JJ0TK9A8BFMDVQMIFMOT8FJNKH820JDOLT9LXP0C6C2CJ39XIC7NRM8RWKQQ8CQ5IYN4VJFA7V78UYW4TLBUYHWXEMAPJHIC1K5W7ULO2DG7AC0H4UP49I68H2E3I8UDDID55X7IKVYVD1OFBUNYJ6W4I6CTQNQ91VQCD61TJQE4NYS4UXHZ1Q6229JZ4ZM8A1J4H5NQUD7EZOCTOIW3BTJO85BBDQYVYT1EO26TS96HFD12KR9SVJAPBCT9CPU1QXRF244Z4ZPO3YVAHUUZ3NODLJYRAPHWF451ZNLVV6ZSYJVJPWN5KM7KXM5REEAQ3F8Q1U5337X1SHLKFJ224HUUJ33XSCM9KS77AEH5WRRDTMMG2U4LTZPSM69DWG3FHZET6PDDBAZ7ELJTDOIOABB4ZVJEX58J7QDTMVWPZWS0Y1QB6KZF4ZXM2O563317W4CI404AB1LTI950UFCLRG9X5CN9ZU5AWF12HTUHQ5CZDCROOIGK86AJ22BM6KMARCYIYX59KQ4N4EHCVK0OT94S1JPW37J0OWEZDJT5QZ3K1SXZKXJPYMM4Q7 = 36#XVLW2NANHFFG483JEJ1XQJZ3B0330ZV0WYFHZOYC1XWWFL2O3T1BSCC3BYE1I6NSW60GWGA1FPMGR2U89MVFV726DDLN904QH8FTQ8ED5FGP77ZXP5HDPZQWEMDETU64M2UB8MGS7KMWDXTD8FKZVF6UQVTWI3I297J592D8UTP8QOZBA0T4P4RH4Q0CPFL2S9IVCWRMDPWGPBVYR96U9UDD138X7CBV9NXOMVXRQX22PYW84XEQNS20N605LVPL5KJPL0Y8Q97SKEFQMO46QKLBD6GZ962T1LGDTZ0UCGAE3DX7A0YS8V8H5O6MHY8ATORMUX68377RYX3EH0JQKOWMTG3KFZY32R9ZNNJ0QE6LU79GNW0FMC3BGH18QPE3GKZF3WK8CK7ROYZ1R08A7PDPHVOX3WJIZ886F9HFFEQLCTVIR8KRH6M6GMI72KVLYFOL8RQA17NXE74DT1QFGWZV0NBF5287S3Z6KLUJ2USBPEMJE4VU3KHUM5MSGIT9L4VCTG81YH5PKICV9Q5VS0L5ABEUOGZ0G8RQNYRVMF9HWYGTKB7JKGY147LM9K5CGY6KBG6XAIKAU6K8QU43R3ZY9DYDF6JFO0JKBAMDXI2O5JJNGWAZ4ERRTL7W7HLO3XYXTTXXXYA41F1A1MDABUBKAFQDDUPHHLWNIO2PF7DTY1DI2R1GX34UUFLVFBYVZ9M59NSMWY1HXAKDFY251IVFHZU9KOAV92IQ6CI4IO6REJVJYU81KT11KOEA5ZAIVGHKQ0Z87OFMVXAV1ZG3 div -36#1P7XYP4UI0STBOB0OGB9RVWST6II68LCPSD8O6PPNSJ2UFVNO4WIH8HAF217RYBP3EV8UJPXSNRUPGX0Z48WQ205UGL6YUL80HHO5VID37ALX473ARL1MO6IJHV3N5G56YEJH8CIEH1IQ2DYX3ZGZY7NFOIMD9CEI952AGLAJBOEF3DWCKEOSC6P6L. +-36#7JC8C2LDF4PM93X76RMLU58JSU0DO584HVOCL85U4EYKAYSNEBMSP7CP47JGNRNLWRQHMXBGNOW5ZH98BLTNSC9C3HG0KB1YUTR3PCXS9B45OZL59GXD7ZZW5UM8G18R7N9DWWUW7GIRATD6CXS24CVIFPMFRCZF5SPN2DG6OXEY68HPW6BSE47SI5QSEUUPH3I5XNKTDZOK3DQQYTB9IO71K5YHDF685VTSH45Y5GB5MYOGGFTJK7SZSEE7AAGRB691F7MICXKL7ZO8VHAQWU92QMOV18CCO67ZG5DDAB6RXI17K1FCJ1D8NUZ2TWX0FBWCMBNJ48I9XUKJ7E8H6DWEC23IUHLPSW2Q5TSTI7KMVXNPNY6ARTSNAAX7I56N4O2T73NFUFI9BIIDV6BD3AHZ9VF7MYUGY2YE8ZVFBCP3UXUL8OB46JS766J83LEXHGYYNS3KKS1RFHZXFZUS4Y93JT7ZGI2ZC0WL0UBJXTP4KRM3BWH3PZDHJFXZ75YXGAWRNHGWPR36GJTXNX69WHZ1XQSPFYLU8TNH5MZNF7BRWW38EG1CHCLOZ5IOXCKW7J4LG63MY70T04PIZYSOJUY2IOQMR5ISUJCAJY1DK65A0AQ0ZB3BCFV17W10FDD3LIDN9NS2NTLX3QOFOB3DGJVF6BRO6S0CRF33O863JW81S2DLNU30LRE5UEGXRA9OHF2L3WIANT9GYC0D5QU0CW0N7FHS1BU68RTZQ5D5O4IZ2YQD65PNQMK594TWUYGNGHJWFIEGY76U5WBYBI2CBB4OR70N6KY2GO7DAJM0V9ZYGRTX8M04IL5CAK8FSPKIGV9JO2UQ86P1N82SAVMQ88U0II19ZMVIPRA0377ILSN4KVMD4967R0EBXPG7G4N36OUBWRGNXU64QRQVOP13RLYCAH1B2JU14N0UTO4T4M525QL6SARVXFD2BE0ZC17HZSGXO1RU7JQ79CTF5QGH0BU2GZX69284LZQ2ETUIAJPW0CIAI5CYFVFLWK9KKRXJ9WE3C4YZ99PQWBQ40R11MT95VQYHA4X1T1XD4OW8YSX8SZK21QCU3N8MVJTW34XEH18VEJ6RP3X23XAKDSMHV8BFDVF8LFT422HBT7NWHFA5628QO8OQICA4ZQ5P0DOZAF2MFKYDBEZ4WG2TWW2HRH7W811E5GTZCRZ8HYVXN9FMHE88LLT6NFJU1QN87XUXITP2IHD5SCCDMJ = -36#MTSCEAW0LWVC8410HYEAEOAO8HGXC8KTHFUHSHGLJF78QO84LY716RWGMYVOE8UGT4P6YGN8V60TMA9QXA9P7KSAGEK06L7SJF2WQRQO7A3GJH2Z4CNB6NZGJWG109OAHAJ3OTJT2TZTUNNUWSRMSK868BVW31805ZASIMLOE5N3ZYF0Y94F9JTANDAZT14HO8HSOBOF4KZEPT3RIW1YJX2S7ZPDT4OS075NSPTV9R45PBB2BC5F8E2NK1NNT2T44SVQX0LE2ZQNCVZB1MZUKA7Q79OGLJKRZOW3IGZLLW6WU9FH1BKJQN3JGDVH0BS6KO1DR0VZ0ZMOFMAP11J8XII32WDXIOO46QY0T0Z47000EIUPLF8RG4MHM2SSRJ4K6LSQT1FIYCHLRC4O3OR96FSTGTU9RFLDKDD85LKKJHFC4NKIE0EANQQAO39C8XP5TD309DBW4D6J6EUCXHIDGD5Q6VN8Q3KZN11OXVS0QXW6DRIQUHHDX8K87NVBKV0Z11TB5WX6PMDR38PY71000US18UJR5SVOYZBZXUF1QA1SKO4JLHA1VK0391T7PNA5Q0GRFKKSBC0BPMOK01R53QSXTUVC2F2WW9PDBPPOVHRTSLCF5CO020YEUZHDZ8ZUZS57XIZEW6NPA6KIKLGMQG3WDNML2N8GFGYEQ2ZZUACVBPDJH1BUD107KTGKNULC59PM76UIO02N1EVII4122MB69ENJCWFW2Q3Z88ZLJJS3HRO4RAR3E5EXU3EMTFWD62GIO9U9ECQ8L9XN1ZD5PMWWPUOVJ447E762DI96C4B1NHKZ7WRO8ODH0E32RAWHPH11NGX5JA8RXMHHVVV2QVHIS6QCRMNNL6OWTHWVYAXUMM6F8OK68ANXNGTHVAIHUWC4YT * 36#BVWZQLUWR4TGTABLGOBUJQG01W0S9OQXWEC3AMZ9A4A61T4GT2EYPA3LLIFHUJY35Q6TERKQFCMZNHVFAGM4LWVK7Q5YM1IFQWCOWR87HX7A0PB3QLV18VKXV78JQAQP155CQIEKUOS58Q7FGPKVTAJSMEZD3JQLMSOWVOXW4A6SBHR259BSC0F66767DGXIOJXOCPEEOKS5FSGGSPTIS95O5O5AMBMKA2DFVLQMA6K1XAHLO5K646J2OOFBQFSQZVXFURVIF15I9264M6MX1DH9Z679CXD4ZURCK0PZLYUPN7DMJAN7V3SYZZYCQE798FIDHOYN. +36#20WF85SA558VVAEXL957IG9C63EJLM19L1P81ZIPL3WMXSN8W2F59UU52NHQYEUTPK9ALT7P82UHBLFAOEDIXNHCGAD0P2FEHOQ588RNUN259USE3HTX3DOF8WMWAJN1XA29TSMU74RDJM2MX6QSUJRQD3KYHIQ53V60X4BFIBAGJSII6BZXB5PM8GH6SYPLHM92FV29IZVQWT6T4UG82IG5X0HB15SPCNDTWM1U4NRNP9I3YPMEEL8UKJSLSPIBSUAZQ3J4ZLHL3YIGYKT05I0ODRM4KLTIV2PMV9LVQW2B43QYYID8CYRYLBAN7VQETEVC8SU0D3SAN50VF4AKN0GHG9P3ABVCMWY8RFY51GU42LILK6PSXZMURRA1N383RAG7AQVB48EYDH5L87QL6B3JPIBRFOP7EJ7R3PMGUG0S8ENVM1BRNU72X8CWX3SK00SUQSAP34TMK71TX6XGZBOMCYSLSX4S5OXAGJUUK43FVLMCDKGCKUEI2NI8YTI1TQ48I52DQTLZNA0V4XE92ACJLCD462WKR9LBRKLXQL8AHXZX2V9CIL7CUMZR6LEBYCI72873TL8561FBVZVCQ7WB664I9NBLTKN2S4P3AX5M9Y0YZPN0EKTQ07VSP558NRD75N6A15Q27U2V0F74ARJ2D8YG46WU9KZ0J1R0E94CH9E4X3XEUPJ25E07M01QKDLDWIOUQODPRTSEZHSWWWZ3YPMV6G8S42JC = -36#2TYOEH33F0P2H02AKESNJ2NAOD85UGROLV31TG2EUCP4IVP1OA * (-36#PQLMC0NV2S7MQVBWJRYN2M9X1TOE502FKLX66P219CSOFOQ2CX1MERECB2E9T5KGAVFWBRGAP10GTNSHYQYL70YNDYQ19M40QV1APBQNSZX3JQVKFHOBSXLCWIBVR1SYGOZW7YZJRRQPU3HT1WXTVJNDLA59QDRUBPV9O4BH2NX366433SD6ZNB9IV4335G3R4G746AJWJPCIOFTL3PBAYZX5JP6DXJD0GA2SBLA4B261NGL0QCVZ38HLMO8D9JN7P221O7L2DXW9RTEZSBYGSXK6XEHMEMWMWAA74M6E5GFWA0LYR9XPNLRP44UWJ3OUER4C791LTDQIITPEALFSRF2ATGYM1CG4HVKDD3QRJW41XU4YYTFJQH7LKH0C9VLJDF92ZXXQ0AFP9VK9TAPJQ90Q2BJI5TCKUQT961R8OWPQSOGO2OIZEKIINYRFHF8IOAAW32SCAPLWAZ6VSLFBLVPXVMVQTFM0GEJ2TOAMVAIUGEM3SFPTMYD8SAEBMEFOALW7ACMZQMRD9MPMLRWS8PY0H096IC28GQGDOIJSTG0V1QYIF6JZDYKL64HYR3QT9NHXDJOCF17MR28DX3DPY0I6ZLFIQGOIZ5RCUQOBJFPMSBPL3ZTQFED6Y76BSHXAKBFEEA8V8ETVZFSH4C0BSYMQV8EZTSZV0T1989QAVPCQ72HGC). +-36#7LQXV8XKOR0OKJT51A1QFHQZYYCR5XSAAD87185QJ89ZV12JB1Q6WT4PWEMPJGEGTIZN3GUFDJHOJ5QIZWK9FVHCM1YFYUA58DA1DDO1OUUWSONR40C40JTKHP8BTSFNOF8687MOGD7F2BJ3GAN19UKFA88QHRA1EK16FFSNYONFCVXH7FW75MRL698P05EWW88QRC2RTQLZ6FEAYEL8WJPUDSYQB852ZUA9FCPB2XE7GGO887VGBWFG9KSRKP361YJMHIM2KAAWLLSILRKTGOJ53CK9XOIZUNZDNCZXT4OL11QN3LX2ZZGC9BK07LTQWPR5NOGSD8JU4FUAYBIOWBW3N40QB588OHARBZ2SMWIC7M9RZ2 = -36#AAZMOOKVJHUL9L4DYBHCK681CZWHVBMSS93RF04KMK1FRHSAJ9BH4CZBHNQ5735C0YTVOWQVKX8P018D8X0Y11RTF514CORUU0X2O44LEZ4X3ANWHLI1JKL4YJUEF3HLWGJYPGKH3TSDKW8BRHW60D53UGAC69HPOK8G2V3EFXVIT8B4A5C153XLQJJ6YP48C811DMTHN8BO3C6X26WUWHTIFF06QX9PLFW8GCBMQQL74ZZ4UCQ0UCDHVZGO0QKG6HELESEMTPXPV2R8J3L6MXCT6H403QRHRB4WOAEEYQ5W7V05KCT9KONDB848RUSHZXTXGXU0F0L3K3NVE95C2GRB77WQ9YQWHZ438KASJM4UZ9ELNRNTQNCOGTYY9P1TI97K8HHEG58BKSUOOCW8Z7G4AQ5RL1DQAGW div 36#1CSD85A2OZR5J3VNFNVMMIYCA0IHGX35BX4EBH1YDARJ4ISNGG. +36#2B1FLW786UJ0KO2724XGQ2QXG3T1W0ED3DPOGX96ECWDCFLD94ZZNJMXZLKTLVNC2X06BXPY8QX3TTBRTNLV5ZH3UR39I22TNECT6O9C3X3U7CLXHIB57MZD5476NHWCM3D6R71S6O89H7SFNVK7N35LZ2O6WYUO5K9ZDB8KM8GEPJTJLENUP12OU7Q6NQ1LMHK37T4ZD45UCLI85NJ2RC8GK6EL99GXPIMEW2CFBWUZ8JMJHWQ45A9IBN7FS9BO2GTUIAM9T96Z6KJSXJYD7DYZ16OMOMTGS9SZJT878UX5NEWO0HZ225PKPZH32HQPVY0GSSLXFTUD9N1SKV59LMC6D1JNZOR2HLRA8KHMBMV4KYYULXAI8LBUPMJ8ET2PQBLS2KRA6E55NFV3Z2G5ER6PTYMXEPKPS7O1SPB9XUXCJ04AYYJXNJRG6S7I15DIEJ9VYMRN6QA3EWEJ9HI3K3K21XF0XDF548WYCXKQZOHBZ0RSXV8IK2M7L57V3DAHOGLUY65B0L961VXCFYMQXXA0GIIZW4FKE18V8BOOO5UWKTZ48E25S5NM4MXCYDG5KI4RRWAGZ8USQYR81ND9TBW0NRXL2TOMLGDHDD1P6W2JZN05B0UM19D6D3UH4C8QO2X8ZNEHOU5AX96MQNYG6LYYGJWN5G0T6EQY3RPGGZ3GFIXONYTTGZHHCZXO77Z8J9XVQ6O6LTWRTGLCFQD4UMSD5ONK2U1M5F8WJLK581ICI4YC0RAH88DXVXC1XJDEXOXE4JZEYT4MHQF79W79DNWU3FRS2NWPP8 = -36#37X8AN6QFY4R443SIC18MQ34Y2Y2J6WJM589HKEXH56ULTTA9W0NS2BFPLHDISFVSZWEMJ0KZ2DOB4DED7SCOYP5IZSWJZ0K1UCS98USA615SE5XNE61BJWGKIC8IH7EZES7OR4EYQGMIRZQHU1I5J681YOADJGUBQDDVNH2GKAE7A098PW6Z0BSLZCSM9UGIMSJQNC97BFPFA25GUMP2U5R78ZGO47MQXQHLV880AFMWSGA498HQ4OF11AGZG42KANBT6L2XODPMQ53R80UWQ9W0RP1PQHP17VSBKZM8G4KQWOL7RURYE3HTELVO56RN5EU2ZARZ2LMADLU165CFWOTMUUXMZB48HLTCMZAZZ23HA5WB12UGFPWRDT244D1EA43JD0J3AA4Y2QZ9E3425BIUYUSS62AGH0WCB2VQKXMKMLLISPWYY0E311MGM7OKV29HOM0VJ00FBLK0EY5KBPN5TMDRY42X3MI59J8JTH70LU7U4CLYOD18USK5A0XSW85PYJPXKB9T7Z5RRB9SLEQQ7IYQXLX58QTDACO1NZEE08DBYRKBOCC0FBFIQY9N7CFBHSJNP7WM04K8I1CUQ98A3UILRCOJU2HAGT0XW4XLYSG5NVNRAQ43HEPZW338R6PW7BEYYSRYXK5HJG17KEL5IKZF70AZXKEB05AVVIVFVP84M0NOGR8B9DCZX2P8OU4Y3D01M94PCGCH4O16583VZDKTJ7O838KKIGCZPR60SGPIHUTPZFI3R5HCUJ06AKFB0C7TTYSVEN5WW7LLY1JD7Q4F0WG3JLFPER0SXW7KCRGLLYZEJ7YZ5M9BOQQUX9P3GA8Z8V51I4ROOG div -36#1E97HD4JVT96FSTN2A1K21V1A4GNHDVXED11K9DJA1NVMGNRCK. +-36#OSOY8FRPY175A8NDSPMBTPTJFXMGUREV0137OCK6AB1E9N9T0J5ZAAM99Y1RNEQAPG2KUQAYFJTAFXSGQ2LMS4LUJL8DDN30ZMXRLKQOFAP54CHTZ67EAUFNXHQUU3GS97VY22S4BPEP7DDOPQH3ZP8BHTNEQCSP19AL34M9GUDI1IEWD7AF6GH0WMFYS2HLHN4JR7MQPWYP6QDFC72Q5ZZ8FBUV2GIFU2X85Y3SPFG912FSCFXMHBUUFAEF293C3LGPJ0QGKJADYHXKSI3B0NP868IXYB26DVDVCAI0JC7W5FBTWGUEPY80GWBCT7AOSTV321M3Q9F1IXCNI50H90JNVY6X14707ECM6ZL2GYFJIV3LF0VVL37SPZG37H = 36#5UJA0IQB9RVFS3T9C95IWD0KG5M1VSQEOCDSDZD3EMD1K57L0ELG9WKGGOFGCVMMEL45JHJCDL7B4KCH0LE35R9LOC19ZC5ABZ5ILZV3T542F89EN52X2KVF6LV9GLAFWEKP3A4DVZ1IDOYZYOYGB1RALDZAVS3TZWRDY6H5SW8OV09ILWLI5YGUVMBCABN38AA4TR522ATPJERF2ZBZJ9RH13ONRCI1O7KOUL7BGYGDRALCKJQYFWRR4GW4ZPPU30G27DVF0WO12NZTL66WI8SM5KQW5UZ5XSVDFXY2XECKENKYG8BIHWGBC7JN1NME6HE84N4ACCE2T5IVE8PFPZNAMEJN787KHAD17HC2E7EUXD8CST41E9YUSH1WZAW0W1RRA5L2EQAVQ7Z8SOOUS7JQGAIF1S275ADBQMWTUMDYLGG div -36#8HNHUGY9MYNO59NFDFGG4PHIL1HC922C4RC4L8HCAUEIF557K. +-36#26VF6JX8EHOD6HR81WRMZJDV1QEF076MP7UMG250Z1JGZLUK2TZIKHMBOKC8PD03311EEETOS0G6BSRBHJ29Y13S8RVJX9KGDNY = 36#1M0RL9QS8MXRVV6RXDI9K7MXG77KIYM125N2N5E1Y5DPLU5RPY * (-36#1CXR3XAXVUDUKKVBSV4HQYDTML2I6R2QU6AVYWDH6TUDY6YK11). +36#ZQTAKMYVTCBOBFU15R2KWVOG93K40B5UHSCHXT4EREEPAFUTUC47Q17G0Q44UQHT1OMIMKFG9OACBX6JRDVR7CQVE3DFF74TH3SJYJ44H2OH7FN4S2NIB8KP4RELYGUEMC7LNO2T4ZTN2GHQURT82BAER2YUCD0N9PRR2LGFQJY7NO3UQBR0KEAAYWQQ846PN0I9C0T0P3H02Q1FWOE4WGD8T54EWP4G6N9WU48BZMGVUJACPX77YE60GA6QVNHOZVZ8D72NF90TV5OAX6TIA7JSCPYVL7UQYX774QZXV2TG71P0CAN14QZ4TBANKK74L5SU6R4H1TFSOLZQ0P2LMWTYHTLDQ7RAI5A7H5FVKBOM79B3SVN7SHN82EC4HK30BPO8TUZJBHRXZ8AQUIJN555X3JQ9542D62U68L02GCZXXHMYP1WU0NZDW7ALCOYE7QYKTGHA9Q8XK1Z16AFHXGC7T0DWN40U8Z6LYRNGBDDHUUSWGVAWETJNEOA6GMJU1W6YXCM0 = -36#3ROPI7WWFRWFKVWMIFNUA7Z6ZY6V5L9KB39S8M4D4FAYFQAD8 * (-36#9HEX9EYCNJQD37ELGERIARADKSYWDTWNF8BMUM6Y1U1HVEGDEBUL6V6LHL5LCWM3HJOVRSIPNNA8CDZX1FS8GB9LY7GZOEBPF2S9PJB6XDPGXMM3J2M65TZWAFSR3N9HLU2HJOPE0938QLISV2DDD353O4LC874KNAPNCJ4AECEVWNLR0BKAK366U17APH4DMZNJ629TDATV8G615MQKOIQOMP5HXK2M40EWTGOON9RN58LGPIENEEQSODE3SICVSCSA6PNBUP23FQW6V1OO2K1PQ12FYSC9GXAGMPFWFHEXYQSZFFUUKY7C869KYMBOAPWTAOMEFERNVD94JK32WDN16UTE6GFX5515S7HS5J1ZR9F6PGIQW6XP1OIZJMKPRUOC1ENE64KU69VPCOJCRW9XJSLQHXW3HU4WYPP4AEZ6LW4RKCYJ7XHJKX99E979XMZ6KMYX11RRF8RDZ7OF5YII). +36#A4W7C72O814WY4II72GHEXTRWQEI7WY3Z8W5YYP1G12G6FWKMTUKAH8OUAQUSFH5ON3K06439H7QS4UCVXOXN59GGD98LJ72W6CEMB2YVE9RE0NZD2BPQZHR1ZT0D3M9UD60JDS0GIC0UVFPCOLTYKSFC1BHCLSBS3R2GEXI4AHQXUZAGHYAFCYV7ZRY6GRS9GP83HQVB1F6TSMNVS4KQS4TKJPRIKG2RRWX1WHRLRI6UORNXNNYJ3CHAWYWWO4MC6S0EPCWVWPAOT37M9B0D1JU7VQ = 36#4K1GKQBZKBIENNBF7A77A0X0SISOGU5KVXO8HQ0CGOKKS9QSVZIB5MYS852AJTB6MQU5ONUHIVRK8PFFN4YG6GMURVASF564OC6HG6GLD6UYXM9H4LYSH3NNZSWYCETDK73GTCJ3LFDFA36HPOR0A6YJZWYQ0ECMFIT74BLOD47WBCY66LU2LI7FQPJBPVN562LGNB11EP8Z7HXQVVVLM0MMNU975M4MDVNBQBEEQL58KL8MNRQ0I8ZMLI7P0I5MZ0IN3TG43KGZANI8V5E5UHPYT9MVCV8U17SE3GUPMQ4WI3E5E5R1H32AP6ZCEVDOU2C3JHBFFY9S0K5NNVFQ21CVZCV8WOES130N8ZQ795CXZGVUNZ3KMQSQ4VJKFMYN0GGT4BXCCJGED34HF41IA0UHDDHCL390M9S1X2M52MH9D2PZ6FT8KSG21MHUH58YP4TRHJHYIXCEGSXLHCUNUDMI71E8RXRFXPLFW div 36#G6MHLNH0D8PBSVPC84OQU7O1JAIWQ0W6VXSR9VS4HB7EXL9YRQFGWSOKLH8Y0ZU5KPRKS9OLVFED7LT4DHRGAL44PWDT7PHIDHZ6QKRGCYBWO1V0DAY56DX5H6XOI28KO232WXD5H4FGZ0IWITVTGSJ31L4LUBKR0SZQCS2TT8LL8G6A5X6C2ODLOYHD93M6H7HLWZKN7M. +36#1CJQKLFKPOGTEFWK5OKC5HOA4RS6I6P5ZWBDV0BHS02CSWEIX4R39ZK556UP2OWVZWQ1F7QWM2FK48QQQQ4O5FRZKMDQJC4O6Z8SWOAUDKX2J7BQ5ZCPCI06FQTAIKJRVDDKRKRQJKXOOQZIN01QIFYRGU8EVH033YIWUHFJZNLAKXROYSUHU0AZKNN5QO5OEGOY501LON2QX6GL1NS = 36#PA8LCG87DHX2A79Q2ZXFTORS60EOHD76XC4SZY0LA174PK0DPCQYR1SO2B4LOXE0JO1NE09EGVTZBHYLD9FNCNLJP0IOWB4A8LHX7UYNDHHJWFU2OCW8C997WP0FNHNTQBEXUPNFHCV6H7BVEI2JKNW8PCOIF6M7QS1FYSJ24OI2R0KGJL192YUEHCPCTOMOTAXOCMV3JHOGL3L8V8EUR1YO2M7A1QKAPMB25YBBVJ0UAHCBPA5AJLDG6SD6C0AIGTEU6Z98SS0QPVPTHIGATI394MV3T7HVAFVJDB5QBP8DYYF314WR9HSJ2X04SW6AVZBLC87MOOFPZZSCUZU7G5BMC8WWQUF48O4ADJUCFKSCFVA6U6U3PPM8D43WHLXSD7UPMQU1V2KFM84SM1FYCZF0ZMBIK03L3OB5RFCMCHILN7Z6ZPDOU1FU70P43MGIWBL9B5JTXVYCG4AH83HKLGXM9YCPF1BH0XVG57KL6FGAL97ULINHUEUX2TPMYRDCXLRVCC2TTL61671RMXOBX19TV65D5YLPS3UOESVC0I5HDA4ABV7L8PSEH6RUJ7LO33R6U9VSG520LL0VP17TQFFY853TZD7XUK1AMSGSCJHVDT2JQDOI19TUGANUG6EIMMORQI5I2T4GSHJ3V2HZQ4ZZHDME9BFD04ZOL7JHTSBL0O1S6Y0P9694PLA409E9CSBIC9PUQ1SE4P6SWQ9MXJEZTQKTW90ETVWOOL808XRB3KCFSG8DVE8QZPOQ8DHZW01KMRGPL5P8R4UY4920W40N7O1KA4ZO9IBYOBB98C9JNCUOQKL7OYWICNUU13E6P3WGICK5WXVJHIH0C3DB317BR1I0U7DP61GBJT8W74SDYJ7SIL97BRJMW div 36#IQYW1N8ODPOFWNX6TYBXWGTG6Y5TDDY09VCOUR9RW2PJRSKDX8IFFDP9M23TZACNURMCFD3Q4NH9SHVX4NPU6QD2E2GJ5VF8XVV9YV4HDANA2LI7ET9OA67HHA3BNDIMX5QS84MNYIXRYN1WT14ENL9KCTWKXSB32QF8QNIJUNXETHVG3J9CMAJ3FJZPEESAMH8LOJ83P47OC36C2ALQH62MYM9EYU71MTKI0TWQJZE5MXQA58G71Z8PLLQNE05F1XM1IKMDA4TZXSVHT7D1AGYYVVMF0A0XXR2XHEP1MXPG0GUGZ0ETGXJKVHX30VB5AGK6ZYIOE09AM1GZN1JJDP30PM349YCFGBOC6TFF9TNFWZ0ZD977O3HGYRQWR5ND821M3TSXS5Y0SWPZEO3A8N06NJJP96IBYJEGZYOUIIOLZMYCEDLGMJ7WG53QU7DH55198PGFQC7EH96KYHF2BDS1KVXTJ6JIHL7RVLUDCX3C33D8RYV9RPVHKFWK22F9Q1ZGTNRPE2WF7425AGRFL5BCWB9SN89E5T11F9Q7GGKG0G30BQRFBH4H7ZDXU5JMXY0ZPRXE6OOA6VL2PTB8N3I9VR4OKW4ORINYHJANW4A6GL1ZSC6Q81S2E1BTMT77LN4VWRYGI5KXIHUGPR20LSFV7SINWJKIBYQSC35. +36#8GBA7OVIZG83Y8EH0NT8QIQ3RKKBCQPC29VT6U03NR1O2TLV39BQZM3VJAG9R6L4YWCQGEPPVPICDSOOHC89GN2CLRC6D2JCHMYP5EJOU1VEBP8JG0ERCN5KZGF9GBWWNXFJ33FIR9IFYCWI90XUIGDSDW46O05P5KS6WUTA7ZTA855EPJ0Z0WU7S1FNE8QN6FL7QWK7IFDVDU7US1RMJQIQ5AAOYRU75432IHN0L67YJRN81WFL7JQ51QCM4RTWEAITOLGT655H52CRDUPV5581GQS95PAOFAIZBWZNGMNRLGIN0A = -36#2511ZQF8DC4YCAH931N9POUO0YLM3RAUXNVCK3XFRXN5PGIFTZ * (-36#3Y8020AYQ5LDFYH91C6JC6O6YQK7OJDBEK0T6SF9Z9R2E1YEMYGX9U7U9RLQIY83RXAX2P1C056GD7JAG28RSWJHQDVNC2B7VT792OBOI79QQL2MJZ52Z306SQ7ZNMD3Q9H1XGW41ECIWDRXDFWMD0W2ZAZN0UWFQDJFXK8YR02BSEUC7KL4B1AKTDMAF8E2YO6CS5KL8QPONTTEZ1CG8QOGTZI7R3SA983WH5864DGKPOVJEYX16MB4MYG3V8YNQ). +-36#2L1IUWNIP98LZOWJCNE46FG0OSVZXYHCBRQQROEMCQB30QJ1UX = -36#7FSK0SE7JSH1O3SZACWZZ2PNU2BWR0P8H3IB85OP5UYET0JWZYSUGUHM9CHW9JEEDRVQLLAX3IG5HJ8HYK9R9133P4X4DZD2QE0WZBW40DGMAH3WA0XFFJN2E3HR6YXU2M04YQUKIGDM48NMJGOVKNLBUJX6EHV5ACFMC327F29UQSPCWM3U2D6AI5UFUECEP9EDZZLTA1REJUJ97J4OR4J2JR0JXKN5XZIQ6X4JF2DPB73VSYUQLS9XFDV1CPSC7ZOQQL75TF4WJB2YJZBSZKLCKD4F4ELC0UTAYAA3LMEHJFQW535064OL52GHIKF85Y2TYC58E7NVRAIF13GURUIL6S2HMXNHMWV86SONRX6VH5SWRU0MPZ4407FQAN9YGNR5BTP6IGBSLC8K7SSXSJ0XKMWEOVAFSREGQKF0UZSKJQ9FYSBOXPXPNLMULZQDCCMQQ95R1Y3265EF090XL21EZM6X16BLRZUYXRGL38YIT5L8BNT7F8FE2W350BNPD5VAWZE84T3DJZCTL3X6T12Z2CCVGHC37YL7CLC09WM2O7UJPHIES1EQ7W5YTS4P9F26OTNROVFJSQD3KGV32TG8ZPR4G24CIN9CA7ZK8HPOZ1292IF9189GNPO673DKORV7SS0EDISSZB82ULMB938YROE8CAK8XMEXPGE9TF00TU89EP20M0JWMDJEFYWPZIJG81IW0VU2O4NOX div 36#2VM4P0QV4ZE06CIGMLUJ5FHHRYZG7NRO8A41BX5A0BTO11MZEOYJQAJRTFXSZK1PRBPSE6V8L993XQ2W61BLK8QWDIF7NJJ8864H8DL22J8PIC75OETE11B4DKOXSV44AAC0Q9GLQWUSZ3N6MBACEP26G8FPUGZ0616HAPZHR99D7EBMCEVFXCJQLUTFVZ544ZMUKT48FROPCMCCGM2MJVIHNX9HRURRCN32EO2BL5FGGJL7WTMTLB23L39NZUCPS49BM2XUPL3OK7MVG1O0SGQSHHGEJB6E4TF3O33SVI516XFGDLU9ZDOVXV194UQUVABKNIJVO9PXCDMYV67Q55HCAENNATOI38GS2WTGU56DJD50GAEWJSQCLYY3OFEDVNUVG2XOK20VI0WI9LBPQ3XHZSHLZWZ4OTZLWU1ERBAMHKMM0QGQK9B02EMLE47D3FH8T99J3UHFODWWE5GF5SQZL91P7LLWUCMTT8S0N3ELE8F0F1I8NEOT24B96VP35PGTWWG8CYBY993TUQUHRVA8ZT607UBVXKN7GR91NG3SUMHSOB7U9Y30BJ8KKH4K3F51342O0NDUZ51VZUIZY5LC112UYY126LM14K6QIFW2IGPOL4PKGY8VDLO5RY9EDXPO42IKEP5PEPEVGTX2SEFM9RASH5E1. +-36#3O7CR73R4PAXUB0DV58NRJDBA1HGIS0LXOHCG4OQQFE6D4MN85LNMDGICJO8P4CPWOI4P7BJANESAU3GMMFWOH6J2148HOZXWK7TIYY788U4JP002AZ1YOL1IAF1IOQQ9D0MI0NOXO7M040Z9LZAZ1967XT8YO5XF6S3HP2ZFJI9HO571LODG2TJDRSWCH5S2Y9XGDQXIAD20FWZK589I6ZP4AJYUDHAFBY7RX2MHUFV21QZA9MHRLXPS4OUO88OKDQUAZ8VF1IW = 36#BN9HFKZA5J1PANF89RK3LFYRF1WDQCTP7L3UX9MHPQ95F0Q0815LWMNMPF3SPUXH9CFC4U6YS25JB1553K0TP35XDXGDXVPIJU04QGZX1QUN95S7G9KNCUDPOJ4OGGPQQCCSBXZJS5IG5XG0IJQTI42VA97JYOCP8PBKQMLNBWGM7USYUK74FMVI51TNY2MABT4I8CVWWS0UAH91KXZ8WYX3FJBVIMMVXAKKWW6DH7HZQYSGYR70Z649TJJ0O27LLRNAB5E8TJB4TJ7EZWFGJ9EMAJCC7B47J1IP1FPJA883PVA2LSJXJNLOEDWZ4 div -36#3661L02ZZEGTP95ZT236M04LZFU8T5CRNAU3HNEWDJAGV7LYOQ. +36#1AWDB5SJW9G1A1QYFTQB2JL00D68VL10IL2GS4O762EWXUI3O6ZY4FZDDM8FSPSHQ5ND1BM7S3KZJD096HOTP107FK4PO4945SU2TTQAAQMGPRSX1T0R61MMYAW22REHAXAZTKE79IBW5GS6DU75ZUP41RM9VHC1RCUUUA127ZLELYFD3T3IFVRGQZ0X8KR6X11EIQHW3DQ03AIZHDERVVR77VWBFZVFOGA7J06N6QC4YAVPZ199RI1VNKOVKRQXJVOTY29MNL8P9BRQ2POT35OGSZNY4OCVFCID1WGXI5DEP8M0WSF2K5AI0MUHBI229C938FSLQ5WVJGV7ILPOG110XAVYHYVJ7DLZFWN81B9H10S8GN1KF1K9JYWQMDU5IPXMJ3BR90FUBHUYDL0XC7CG6JVW2Q1FHXAMOCU4AAKIJK2HKZCYIVISR1CTASUV3CW1FPGBC8PLLGW6MRIHW2ZUHM5LBL8HNWLIB5U4MK0Q7RZCDO1XHV45IVTZ34V1WGHGADOJHWHFNX1AGDHF17HR8VIBX368MCJ8QV0T2CC6HF512TR1KZ5Q8BUVVPI5E7DBH0BJO4AP2YUC35NVB7XIG14AVW4RW2CV9P6N39X6J9O05LY2KORWZPBOQW1F0BK8TWU2IUM7AT9QI1VUNJS93XJC28Q587TD3NOUCO1QDHHYTVIIZ8TLGS0CZ9FU1MPPIYRGGD9YOVR78BAW0LK1NOTWJ58OVL0MBT90PXEAOY32AVTHPVYUNGYRWJBE7SR7SE6MST9H7IYOPU1AZXCTBN4VG7CBRV7M155DPW2TDEDPV9EA31DHS5JIBWCYGD2O6MCVKOQ9ZUJJWLRTLCTLL71BZCH3BX2F3E2JW5LH393YFSIYHHVU13Z09H01YTWLBD9AO2TULGOU = -36#4SO6V1JZ1O3VVMHX2IQGVIHDNS7BQHRGOXENGHCF27UIE3LX64NW9G1C16BV4KFSCSS74GSIRNO4J4XXS1Q5W1FWKZ9FDOU05B21ZYHLKTZ4TK20SVC5UR70U6OEU8FQ3KL87MFNPBSNAFHX0QXSTKY5FA4YVF6OME6HROE3W5XACYTGM33T0V9WSLYY73DJDIO4OFRPQTHQ4DC650M63ILUK04EULY2I7IBJA6NLMGD800F3FEU14EKSDEBR2NYZ4R221GI4LOTENEJE0IJBOYCB9WVNBRAYFR8EF20GVXZAYZ8AKH7K3QKDV23WYCJ5I8VBG1CLPAB3KJQ5RJ3E35KVX5DPEJYISQL9T6NDQW62OBE31UX1KXUGYHDY7D1100UVLWRN8L19IP8XMU8WVMFQ6VTBNK7NH61IOASS399FZKFFD5HUEG51DE434IS7KWJF243MY5E4NCXBCB0IOFVW61PXQJT9Z8PTDK4EDYERVMBW6JO9HNO7AURL0RG4UURQ5X2U8JCI34V3NEYEJCZNTXV3RZLFYBES64JK1F0SSR9YU9P2U2GT939631Y4OWXSPWDO8W0N30MMQQ8F3S9ZOEXQV6FV2BZ9YW0I5HNBOFB0M1KONXWM87Q335QT2AILSRGKCJ72ND2283W7DDJ2S1MOXH836LTHKQEIVR8VQ25RV3CEXW897Z4GIUK5SIVLFNRCM4KFB6TXGTN4OX85EYF8DRM91UO5JWNLB2K2KAB9GQ5BTPLL6OEKAW97BFQKGHG6SZE8SKKL4452VAZ1FD6FI0K8WURX1RW47P80MD8IICNBAAORA9CP2JSY1N280GV11SKQU345VOFFU0EQ45D4ZDTW0T29Y6CW4OWMZBLWN4DH37TEGX2IK4NJ3N273X3RCHD4TF1PB1QQ9SON1KZ8V1QJIOTIH2IUJOPGFNBVB7XMOR6HDO5OINZB0X0BEO7Y34XYQROXMXRESLPXVSOBWZ1TET2ACI8SKL0NUSE7UGFTVXFBEQSCL4TT6QFLVBJQYKS0KRU2YLEN0AL10V8A2LMWMUJ7PO div -36#3OJKPF082EVZ6C4FM2QB6OF1PT0YQRZLH0PX0B7937SD3HDXIGJL7ZBALAL5GRLJ2ZGSZ2TKGX7RBGMK1ULVY0KUYIVKYBOVINJ76YI2N89UTQB2D8859SILRWGNX60N6VMDKQ91QZ74VHPVLC5PYPY2. +36#3TXIR7VCV0CAHM1EQVQXN8ZEBMRAMJO4SDV7C3FS73BW3XGF4TKVXZINLXD = -36#2EP41WHBXMRVDNUM1RWMAQMQX7XA3DKUWA4VVFTZ7PM9FSK0X9S79PZ9TE4M2BQF7M46MAIUVFRZ3SA8R5S6GS5UTSYDOWTO6936OV3VRF6XYTFOMTCTBNS9QCEI2WOH8IMOUZR5S86LUR2FZY3YWCXCY0EAWENIJIADT07I4B79P0H1M8ICY0BDQT8570X80DMHTJ1MN50VN3XFEJW7ANFYPJV6N0XMDY2HO3SYKCZRWD1GCIWGK2XYCGLKY6LYT11KPV3ASQH8BC6JRZ1NYOK1BU8635W7HR4NALD96UGPH3SX4UBXCGRWR50V0J28QHLPKXDMWFUEV2SVGHQJ3FD9XJI3WJ4Z3HVOS5KV68M0GNUSB6DMD div -36#MMLY98Z3J65UAUKQTF8NUV0C0EECEJJCF6D3Z303BQZ7FFZY56LDJLR698QLIAQK4VU69QSJUHFSGMD4JXJOPV5G8NZR9O9RF2JJYOTNFQ9P90IHJKGTJXQU8Q0681WACFGVI6M0J8GGSKPHLM3VADC7YPMFMPVFXM40S4HIVDVL2OILI74JNKYEZ3HQKV3Z7RPP7M9GGW034CPDRJZZDMUFQVH27WBI2R3RETAJXLFDEPAHKEUBSGFCNMI3SKOBH3TNJ6IO4DMXD6EQAN4JS84S2TAPHF5YVD6O11DWQ1OJSQB10IJ1HPR2D1. +-36#FGW6CD2IFE55WKE3FWV27Z5HXHJ4VJ0G1M7VZGTJX2KEYV1O0SM6TS55RT24ULD2F9ZBFOZF8HOMU1546ILD5NOGYUNE411N12B8RF0ZV571LF5D797FMYF19YPONGOY7KL3VZ5NFDMNM72ZYKOHVQR4EK8IQVOC1BR4Z8ZXKHNYTRJ3Y6QP769TUY1KSMOVWMDY5Z6LV5L6UEWT7V3ZXKCIS04OBM26NXQNY0K6KK49X9FFEE60RL0IT689OSXW7KEHK0PAXPRWDHMW016RE = 36#82Q604GQ0C9H56F4APK77H5L84UDRD8UNXJZXG7W1ULPLC9NYETQIZVIB2SOS93YN4RX8U2WVMW4181NU0KIE808S0QKBN7TY69H7DTO5YRA7L7955PKBT40WDG29A34QCTFLWYNLUQYA63JS9JUOH1GI9GMMBN1CSBFTHZNWGOLMMYS6PCW5GZQSDR9HHC6IKO1ICPNH3U9U48JG6DDXG6WXO684ELSH5IG6FJZKOH30PX8RKBMACSBWD9LDRC7PBTBAYC1ZUT67XPDWUWU2GYIWWIF0RSRP27DCIXIVVC72PHLONDASU0JFD74K0AQX9FVLK div -36#ISKSWKCTU10067KXZ0OFO9E0Y830F4VPNKS9VPOK0S0Y5PJM4. +-36#UDHQWYEUJC6LIOKUXSBAZU4AAIC3VR16T9CES43CZA1RVI0B059K0YGWVCMGU9NTS1VNWJ9Q9DDL99D2ZRU00K8WU3FM0WDPZ1A0U8IIYVZC4G7GIMQ9ZNBPRLJA9U5E1ZRCPLW7 = 36#WTZQCLKWEG36GL2RUMU61T882U55NFQ4R67208D7D67A3I1QVEIZ5AH0UCZGGS88JX0TIV3NFUFEMS4AKCYR09518D00SMICPZ59F9FTDAMMK2WJV8C44J2IF1D4RVEAVIJ38Z0NVYJ46BUOL7WWREP7IYWH64GNKM6RAM31BQLWLUPHQYPE9I0JI2JMG4Z2W18FO2902Z4B4IDTCYDDG0HUIZZA53EAXI6UF8UJ99PQW9Q1GIK4O5VC1PDJ0X333EZ6NLEUHIUNKVUQ6KUA4FVMTFFM49EMTIUBMVQDA4HB4RDO6DY5PDHVDPHKAC8RQIYC3LOXIH7WXPWL86I1X7SKFBVVI0SG0VK6UK21L9HQIJWJ4KEA1FZ6EKZINDTAMJE0JT7D2CXB7WERC1W3KQI0GDX68IFX68VOI95ODR6V1MZJ3PAX4EMOT8JROBFCEGBXBSHB4PD144R8B9KRMHWLBISD1AMYH10U73CUQYK97NT0ZI7AJUB0RGOJ048H8QHYUJ542 div -36#12WW078SBI813SNXISJFMZC2HB3SY7J1ZGMF3T33HKXOP3T6MBMMOCDSJLQ9JD9Z3ZF2M1Z0KREHRGLMJ7V1YKXRETRNQVRPMZVXJGNCZR7Y5KKLORZCL06ZVBI0ZQ8X6TJCBXW6UTAD0LY3C3XI0KFQ100KW4P7M28QF27TMERXXEMLDMAQAAX03UQKI97GLE98TBXN0D1NBQVLRCNMKR8S934TE57PL6WESY64KOIB534J9H46B3GQUURBCTKFC6FZL82QCR6P65JAF9U0OEXMV5RLB17GQ3C9K75ZLIQ76AKFHTPJEMEMFT1HNXC6NC1B7NSZGWGYS0NROMQ5HWJ7LR3SZZ5DDXFVJDVT0NIO0SU31W4EU5ZAG0MWK375PQ. +-36#197A200WTL03GSJ9SV9G48K9UZNAULCTSYWYGFVN7P455P9BTJMMBC1ET5S0VMHXCRETE7N6Y7TI2FN5XTRRPCTCBAF3GYOCALCSGO4KCPUTM6B94MUM6EOMJ8I6WL72OTNOWBRHJR32EZF3Y5N7XNC99T1B5BQC6YAZ0M86XCPG3UJT883PXSK534Y218NSQB6M2LIZRVHROXC64DP6TLNX3935XKMTP9T2FJO36PNNDO1VDJB5DUK0MJPVERV39MQJT6LN0AC63P2DTOA0ITN = -36#1POS9GKU5XVKWLOHJOYSHR49WNME924R25QOBQ5XO6J7KOFCWB62H4B10HN4HXCN1HU5MMHWDZFO73XBSV3HQAPTBALFZAEIIMZ67EU68KTVG6JA54OYGVHWUG49HK9WP7A710MJO6XB7CFCY09L9XA4V9GZ21KUWJV48D1SNRI25BP05SO6CB42Q4EUO039Z96ZB46XKWUMX9TNMQISDPO34J5QTVY1TQV8TYIOVHMCUEMILV6DIQUTJ39O801AEOK60JB689ZRKW6UHNC3VKWSSB91OZEKAQI5Z0WPLTW4EAOZ5SZ2B41VYUZSN4DHTIP4TKXD div 36#1D4OI4REYW5O1Z92H5A08UD6PQ3I6KIR6YEORJFXNHAG2J5N8Z. +36#2ZPEN580PS83WKW1H9YJIF8I8HUJ2EB3M4J860XLJGHZ29QX9O = -36#3TV00DMH1GQAICFZ3G3H7M8ATP58U834QHZJLXF09TOY5K3M3J6UWJWX1O7TJG8S9W2AIYSGZMQ46AC8W8LXKOS2HW42ZLZSCII5AJDAWM685K9PKFYG1QOHWC9QH696G885LSMAIYI5YDPZYJBA67D9KSGMWJAHZRJPAKE1U0QHT3GJ1MWBD3GBUDWPNSWHCLQCGDJJ61Y130 div -36#1A2UPOC7P1GOMVHOCVKQFS06IPBXFUH9ISV4J3UQ7G8GFNHY9QIOD6QRQUSRNELQSK1CCPD4CF3DGUZUVUUIDI93BBQYDXF71A3BTBRRHNFJGK5M6QLCA9WLFNB7MJ8DDSEP097UI6633IJZSIM33O8DS4OP9. +36#EZMHKZ06TMFM2BMAULZ4O2UQF6I4QDXTWZV3Q9RJ33AQA2EZ0 = -36#TCRYKJMT3VBMT51ANBAHO01P9DV9TYG0HTAL7WYAQRZWROZIHD18UQ3KXA7O4WEL8X2T5KAWV28JDQ4NU79R405A1R144TYO60 div -36#1YI10CUJMI6J86Z05R2MQT0DSGA00QSFO5Y7ISC6QOXR3N64TU. +-36#OKNH5CRYE7O0M2EQUJS6GT2RLL7CPT7ZLF937KJXVFYXAIVVG5Q996KSUR16JX6QNZ8L0Q5QIC1GUULUR2BUU4XQZOPLPAF38S9B63YC6KG77N7EZ4MZ10EXXMKVAE7ZM821HLX58R49DBAXT4P08WXMA4ERFI2OUDLK0GVQBS1ZIXTZ5H4ARFX7IXY09OSMT1ND752NLW02M0O91VGOYBP7XGSMG0L1K1KR21B1DZFSLRZHENLBL30GIQUTD0UKFVVXMAXZ27M4YMIENXL05AQQDLGUVJ40JJLKFEIL1YOTIO01YA2MXX0O77OUVGJNPUYIL9ZA43NUWON2XX8BCL0M35LW3SZ989E7FE3NOUYR2UQR7V12XB5OGC5FJNERAT4W2Z8GQ1KVGYW5UGZEU1PZOMY9YIMNDYXFC4XV7ZYY42QX4JX9D4E3BOLVDKONWZ0QYE1GNR1EXJKVJMUQP15NXEX4RKLHIHGCWCTH056PQROE80HUZQRKX9F45XGL23M96OX8UJH7NXSEO9IIVJ6QQVEZ7T4JRDWVXNMAHTX9XZJYY05HPK9Z1NDOUY3P1ZLTPMDAEERMII7UFYE5UCLMDDTMFFGJ2CSPYVI97HMDMM41AL6JKWTCF13VPBJHT616U0WR060SPLBAP1TX01CFGGYZZZY204OOHXRG2YFLCWHNPEZC3IVLIROGIAY4VIVG3I92ONRF = 36#22YSJNZQHO4UY4E7QC649D7XXCSE8XWUCOGQTDSBV371V1U9K96NP79WM2Q79ENIA5XRJAH6BBULYO4P9491KRX3I7MF9GJABGVTQOMA0LFO62RZ4B10UC9KATGHZ4WGNY24ZONF6WQVO4FXMQ1SMJKP91FHZA7QNMOPBS4C1GVTLMQGXGGTUV62UE0OBDZL1ZRR7P81FEFW5OEKJF4DQZH81REPX8W9HQ8C81J5772WO8XPKLROQ7D0H36W4NANXT8PLGFTJC0VMVVB1GV31ERKJICXYOLQK7QZMFDGWV0ERJEJGMIHHO4SS12FWL5L8TY5L3T7D7LCIJ7WFDJJE7JJ2WUJONN2YDIDW08B9GX4XZW1XCJL9HT57N * (-36#BSTMIYCACKCLM3VEYRGDAEHMJHDO6TKPZDDG1LGNKWY64J8N3AVEHR1V6RSP22H8P86BWB3FZI7C37RTKPXAGYO3JF8L7N913338VMINJNY9WQ2JG7URU5UESTU58CG6RWWWO0Z5YD1CI65OGLOPSJGJAZ6D79KX80ZFGQQEOCLCC60EFPXVNOSQPXDJAZFOE96PWXJUE9J56AEI1NKB781ASOC51D7M8HKSP2K54CJSR6ABATPF3OXQQA4MMXH380JYBUB6IXZ5GBCAJ1GRZESN4WAXDP15VVH1ECY591L6L0KVVPMZYPOT1Q2K0DYDULQQXZ2HILD8SF15HDL). +36#6DCNTJSCD9Z186YURIYCWCX5HZ3G5K5RC8R9Q86TNCXD8DMRZXUG71XT4EELB1HA37DSLIA4DDOOSD3G5Y4PVZAY4U1M9IH12HWA2INURTXZOOYB0APRB4TUQWXJP04X56YH15VBBWJ5YZLLVVLGJ2U0GA1NB0KSG1Y6XPOMI9IWSBFCIK5ILW97FUJBXNK8X6GLUIMQH3PSCTIHMNFMSEZ9FHO0Q9YBRN1MR58LAZAOCN6JY9W2TT0JGTGX7BJUAXFK5W12RQPLX9YLSLAK2PQDMNXQVDHYUIH0EOI1CBIM32XMFQ22QSQQOSQNQ5IQO8EAMAWJPI0IQ6JEPF8DIUL6OQ5QQWMBJ3GJEIIVDHWP8PWPQAX5DHLX2TCMBPMUGTN92K76QM7TZSWJ0XC8JY9EE6H8D21ROIVG9FKJ63E9WDX6R229UZ77BT0OASEN6PWUXO0PVC = -36#16NI3ZT5LWQ3TLJR87SU7K0CV1KM6AVKVGKND2KGI4ZOFIU39E3RWX6WFEDBDQ9LSJB4NA9WZMR66MH08M60D8NFKM7WIAMHEGKTDYJLXF5LDOKKQQEVY8SLF7Q95AWEHWXKWOVHBUR9H5D6SREHKNWJ4FT9WEBKN3T7A8LUT99WNVYZIDGZP0DZ42X1OZ5Q4V8KOMW9PWUYAVF6DT20196W55TIDC8XIL8I9M2ISRNX4MUO50TJPWCJ326Q424PD31EK4C8EXT25A2YLCBPVXFP8KPS0MP68HKLXGLIKO9NZXRY8DA8QU4OUJFDB0NVCZMZPDFZEZD5Z74YTDBBP4HQF7GD9TGP8EO6LHXZGDP95CSRGBH7LE1S37JJHCCZOJQ4YRD1EN3WOA99ZUO3UWYJTQL4Y34YX6Y2TKI8FW6C63BKPX53EV0MXJ6EKQPVD5HEC529VMYHJNOXXJHSGSYVVHT29F25P3CUEKFY451V0T51I83VFQEN6GP69ZXBHGL0J8TSCN3KYTDROPPTRBDOYC1SKJEUSNBU7267OHIKX55FY0MROI2CD3GGOLEIUVFPYDSKPFZ7V8J5DHUJHK93QLFCSC2XJB92QKVSIF7FVDVB2SGO8SNFTWEW92KP50O94SPWR38BY02DDF162JPPCB3G3D3EP6NAPORALSE2XGWOUT5R33D2M8C9UDS7SCW6Q1AXOF6D1S2VEPQ7XKFHTYBVWL4TL2U2XM9WJT1QJUEIYNA4LF32VBFT6XFO61SOAD8Q49F1OQ8KX8RP8P1B61CYW746DFTK4HCAKC9ZP91THF40KHUO9U1TP4GF5RTKNKKWHL5I9W2CFRY0E7E5XQLHH9JD65PLAPTVF3O5G09WXWGPCMKCYBKIXOE5ISSO5VQC378WRHEWW73O06JVKET6RHT4DQXSO4LG47GB296JU1VZN5JXXUDA997VKESGD4BOQ91A5DOO0JRFYGEV3BMWNH6PXA8QG8DM0DKEIK551BP57AM9XW7BJPCX766MSRMXCJL3X5J77ADFHH7YF512K5NL40PE9YUUGRVNZITKOU70M72MD0SFM0DV28BXPT0HJ8TTDLJ3632W27HTUEI455S3FXPC8RKBT6KKHVV7XDUKP2II1NHVV5AHD9JLGJDK3XRD4SCFFRMY2PC9U097J5MFOHES2E7UXHXDZKTAX5UX8YNHB2RN29XYZ9D90V9DBBVZBD0GZLEUSNFX69LBPKKKBWQDMVMWHYPRPQAQDWEQ4EQHHCD61M5BHS6UMLOTJ6PN60BTTWJURA73MWZ9UWJH5GOBSV1L2G1KX03XAHM4CQH2DCRSHIRW1VTWV0427F19XMLZ7ICSSQT1JTZ8Q3WATRUN9ROV1DJ2KEUC9J8KNVBSMHTF6YDY2I1G1JRV2NYNABGAHET1KK1JTNLOZ2Y85QVLQRNB6XDFRN7DADWHWROOOV0BKH3E24DCRT7ZDUGCRWARRZZ1WFRNRTJFZGI73FRQP8WQDMLJB7YXR0MGX10PUZG1MF52IPOWA3733NYCXY7HIOUVZQUB4CRZDFJ17V49PA0I51D6I6X6LY5BC1ZTPKZJ6WO0 div -36#6P0OKHP9HMJ5RBX1KYWDBKQZHG6GYMYG0CIS72WB5X15WP5S1XT73F36KQOIB51J357N5KNSR0Z420I3PDY6P9FNMFROS362LOK6R3HVS6Y51FSPQ61MYNR8UE4ADYDKV2IGN3PFX06906UTBWPOZ47234590GHZXZ06VD7ABAA6712CVR65N8ZNS9824YZQ2WJ0F8X4LMNO76PTJLDQG2UZS990O5826S4WPBCEZSPK0N04ZB871MEMPKEM277SAHBYHDBW4MVZH29MN4IGN0E4MVY52MU39OR53FBJWREURXWMCNZL9443TCVP7K267CF87XUK11L5IXHPP8J6Y02GTREKFBPE8YLQR29DVITRWGLEALIW2GM6QS1CWJ6NMM2BT5CJ1GSPYIPH95O6FJ0TW52WHPO559IJXEV3HS8YHNY9AC66KQQFSQ78WPZ5EE2JD91YUW6AMJJIQR0BQKOZTONFBSZOM1W7I1H348EZL2UESJCBLJTI5CLA83E5QF9SHWS4AJY244GNRVYJ9KMLBHQ45A13FEIYLMWVI5ATI1DIUBNEFTRHNOWXQVGRSBHAN0URORQ724MOESH851DA29J3PWXODY4QG5KBJTWVLMKX2HVKM3VA673K3UNEWO5U2JWAJGRFXD92NZC43C1COZ04YR7VI8W8VD9EE3I6638HJJIER0KMBO8JUT8IX2NM9GR9HGANRNS7UJXJXZDJFEFP681E8CUJ93C4EK7J3A88E4E1PSYYXY5IZ0MD8ZB3HCRXY528LGTMRTQCXJSV678AQZ6WKU30RB898KV8MWI3ZCXDFG52CU3ZLTJ5BANH0A96K3ZRH8EZUNY8UL1ARJPBN4ZQBWRF8PPQ4FD0Y68GK92I86C3NORM9LUQJ0XZ7VS4D6ISC8LAPG84K07B4ABWIJA0J10V3V1J5DEX9Q0YA45ZVG4P22NMINZDUJ98XTTGYBHAFELONDPAQYKX7G8LT6XZDLWRZ338EI2FLF1IZIFN563JGF9C0WLH3447GN3MKGKP8EZ17M3DI6FHDLUBT9BPBWH7Q5GJTSRSYSERY0UZE0MAP5M8CVCTLIG0BWXH6YMLEDWUZYJSRQUQ68IEMPTSY9U7XZCUBKKSS00A9M7NT0. +-36#H3HWUEH8OI2885YUOF1PPIL081OEY7S0TEYKSKDITIL5D0C094Q0CH34NL6K6OEI765EKSLB24MB4G4R7BI8E7AQHOZTYAW8E35JXD93J623IC0 = 36#6RB3R43N3LAFOWNG76ML6SGWUDXQGJE66IE1DOHJ9TJUC6EFRMPZUALSN8VNNCADC0AJGSV2N43H1I7UU6Q3SERHYOXNEFBJT8UOQVY5DDQ7DI4OOSTM6525OWB00QN7ZK2BMAE27J3WLL18LJ1SCCBBSO2ATT9ANBWGMAPAWDNKKRAOOL6EKELX6SP6WPGP657ZQG1P80ERFSCYUJGKCANN02H852NQH2GPJ43YFYE42VMGG6HMR9VWCYCX37PNK1XABT51D5DWX6NFQC0 div -36#E8BADSARX3NYOFMO67CCB0LAM2NFQ0TJV4MRK54M7CQKP6U02Z6I4JZ1HU7FUTRFRSO6LPY2ZN6TOBY5RN522ER2TISL3530IJJD9B46ZOFBIEPEVXIMZE2HPYDL5R1EI1C8X0L64Q2LHHSQ4QXKO21LIW4TSZFQ230P. +36#1T2I3BK07VBK4WJQXPUEDTR0EGSA94RVDITA2XG3MKYLFIEY3AZJZJOVBCBAT4UGVFLTV73K76KBJSB42N4QUKW0112J6L6LTCIEBXAHAFLSF27S5NKMLV9J1MAZFOV8N5G3IFKOOKRJOHZXC9Y6NNZ6PZ8BYX6USGPE7WC4CP5S5KXWDXVJTTAEU4LO9LPH5R6OFF81G8H = -36#1J4VA1TWLY7F8RDL1Q3A0XXFGYU90JCJ5NOFHDA8IA9VRJRLZQFD37AV4P35ZB2R2F6HU8ZB8TSNID13OJ7DSJ9CYLM1VWKNVCIM4F0DPYAM1HEZ6XNJ4PJZTNCNZLKAALZMFXBL5Z8A556AAEI3A922G3J81CAO6OOX8FNTKB6E2KIBB4DLX0APOVDZGPPA4D2QZ82EKA5JMGTIMHY8JRY157KSAME0VEVUKMAWK2WNCZL481N4IA0DNR5KV1MJO7G5KS7GG7ZGHWFK7LYF3NMC9UB8XJREZUBFIRZJFFVMOBBSGKEE8FZ1R7JDLRWDULB1VSHSUL8PZ4Q7XM4GI1D49G7LMJK63XC8Q7H9JGQKU7P6731N720KEYNJ614YB7TNZCTJHKZCP9S1AL0XVL3M035H4XZ8T09HVS6QO6S998S0A0QNACX2HZJBTZ4IZLTBXQKTDEZRVPWEGLJK7L9SZGVVYBMCN7S0BRNQ4DZCIKC94JZTQAYS4CP7EGYS2ADFK2U6D06BS8V8WLDXP9D0ZO293V4N5X27F83XOGW3MM948MIQXCB3CS9M2OQUN1M65N2DYH8WLN6WDXGI3M2K0SKNWFD5AO9UF73NTQTFG9KLVKG68C57Y1TMLRHCZ0ZNSUG79PFNH5CWUN05U2QOLM4 div -36#UI4YA1TTPNC6BJ3RJMSKLUBJT5Z91NS6896DRB7OEEEMZX355S8SR3NERQ4KLP5IZA0C54LBECPTQXSTJNVP911XTEJGEI8OPSXADX0KIOS3JP0DIJH6JAUHBJAML71Q0ME41VSXT97RFCRZKKA6Y6VKQA3WUQYORH0D1MJQBO19XC8ODFQLXBCFIINIVVBQEVK1D7CUFJTJ0SOOO1M8Z8JO76VXQ82ISOF9LUI9JHO64IPLMFV3SX7NVBK2JHYG4GIUAFG30TS0HMJGHAO8ZJZELDHM62L5Z15Q4IX6ZXC4LYI2UNOFUNPDPQC3V93J937SV1NUKEKC7E4SX9NJGYKNP2I8LXLRZBHRUD02DGB7YC2PC79DKPRFITGZ1HL9G4CE36J90WV1YZ3PY1ZXD9IA8Z1N24GNSGJO3QILQRU981QQ64QKFPCKZRRKR0IQQ15XDVLGMU25OVFW. +36#DE1YL8P4XJLXKQDRM6F0IF367HNJNQACZMR852VY7CTAR5T3H = 36#FBL08GZ1QXLA1XZ3MGG1FMNZDSOOGLNRH5NT9JQ364Q7XWK28YJED0PF57C614GS2X0A6NFP2974XW3X24S9JE3C4XY7GOPL5TFVUJ5CWW div 36#156XF504VLFF141UDUOKF92NVZWVWXQ5LXJYLHJMQY2JHMKQF4KO8TERZ4. +36#F5UGXOW6BLSMOQ5M9YSG7RXJPHMY2RK0TGOVGCVX0KXENUV2P1IQPM9KN8AYG1C2ZWXDSPILPINX35XP7MA0ZSZGHGN2OINC51JE6DYK88BR6CWG0Z5NFXIDEUAKZMLGDWQIVXHKA39BEY00XYDRCPRRL8QF0CJXDZ70ISKHZ8YM285NL47R8 = 36#1414GW3HM6KKM76LNMCYPFVVE45XRLBEY3ZDZLRR5RSWOLOCYSARB0BHD987O6OVC8JD96ORYY19949Q3XV5TPL6OAGXSNGN6AJ2F0FZ5QHQNSAERWXZ2CBNKCNECIFW44AKHYEPYC3CJHIUKKOGX52DTU875UKAFH1SIEN2PBJBQLX3JG5XYCAT89HKMJRA5OGLLMG1D9W5Z3IRRMQJCPVMF138OXRDZLTCDIC div 36#2N1NI35I7T1S8YZ3I569R7EYTW4Z14DNNLN8ZB9Y5OJZBJTYYX. +-36#S29XTPMPIL96GUI5XUHZOE12X20QSLWASRECDY2U8L5IHFJEU3KTRPIZYEYYJO5UMZML9Y78Y1CO9VPXOHT4A3VKF3O8NN8HEMOPG6TQPUBEZWBAA1PJ9DXN7NTZFDGR3VTU8XGREPJGEOWFNKYX08CURJBVK8RK1U7N7GXBOKS2XXVIGLPSPDCE0WP79LH016KAUP94BK7F6UUUZSAV8B58E37TNWGAF9PD4E3H6S6QHR2R6PIOIOM5AD7EFMQSW0W5S3ZSSV0YTGTO227HTQL5JWE7XUAV4L42YX6NJ17X2LK34I5U4IIFLE18KX9UT0WXRXJT5D0L = 36#OK2JMXSFCIKMIM1O4BJFBOXYT7VMFN3WKW0U75KAGY7BO0RTUOYN44XFGENUPYX6WFQ1V4TL663YJRZ6D0IEG730XGMX54AP1AWQXOA5KEPMNJT4G2ZQAZ9N2S2GYGZX4TTVTT1Q10BP7XNDOMHMUX9OW1ZXSVX8P573JJH3WTK9UNG9US7CV2BIQC06K4GL8K8PAAHKGLYF62R5B0F6JRDEETETXFY5CPY1LD4GSTG9C6394PQI2EZ7UCGKP0OE4SNSVCMGC25FLB6DQUV3S6F22X5PKE6VH55C2BJXOXMJPRIP6P8IAECWUGA1G9OGNZ86FBRSBPZYHN38Z01WRIBV7Z2ZQ9N8JEB3YM07P32FB1VLSCEJ2U71WMLBJQUAGK6W97N70CXLN7M5XNACVFP8DWAOCVBJWPP1285YEMFKIUKU6BA5VR1L8O1W9Y62U5WO5GFAD9E238K9R5WR8BKQ8RDOIT8Q6OSHJISHK9YL69YNAG4POTNBK5D92V68IVCTZRBO4GM82OCMAYQAJQLBROTQD4OWYI3ZWLB6MQ2ITOC1YMKP6H3WN18PL9L8U2CR0AVGRW7MIGPOC614H1BS937UBVWO3O36YZWAAB72MWQ9WTQI7C1X78G839TWMPK1O694A0BNMCE1JAUHCPE3P83NWCFRD6TNBWABCUQ70V7YTQNTDVPTOQ9V82B740WXVHXV52GHU7UKPBDD0IIYU8ONLVBZMQMH5SFQ5RDIZ0WCGYO0T7FMWWTCKTVHHZ46GJQWG8TA3I1UIVJG2BALRJZ7J9ZRCM4THKTQA1SRU div -36#VI3NJG0WVQP4XW5ZVJMU2QAUAQXUMVWZOU4PJ4WZA2NUMB8MW0E9HKAY2N5HZC4Y12XZ41GCSIJS0K0ZIZHIREASGET98SK1SG447YU5DM0PA2MG1TS35KXK1FRYRTDIZ6G53Q5NRR6XN63TYBQJDSJ4ZZLNJOFGJQIY30NG343JRQZM4T613O9EO8TDR4V9SI0IB8FSZHUE53MAFBP31CKVOZJIH6FBF77RZTEWC9AQNNQXQLBRGAAJPW7LOPF1JV1NOL7KJKMEOS75PPEM0AVQ1GAW204BP8QIL0ZAQ20QQ4GTS16SH01O555IT3AYH8VQRJPW2MXT0Y6ZTJY73US5HV8FW7GY580TJQHBZ9DT24D00X1MREZFAXRYN0GLTUY192WY3KL7JISP69M422ZXQO33UPTO4PBUD83DH4L8W7533VV6QH7A9GVP2Q3455M82I2NYSNV1GYFGXC5XD1IPGUDNW8BM. +36#54I18K9GBXFF5SDOGBFASBD5PO03Y454J6VZ2CP8OW1WO8ABU1VKYUQQV3QRIORW8QQ1HYJEDTT0J6PRIEYLQ5YRPDWOJLIJJWG5CJO03ZSX61SRDFRZATAMN79IPF76FPVIDM8MA4LOS7YQSWO0FDRKC911UGWKY7ETCA0D730M48R4T96H6WNAGSYJKPJX32BC5T0SMK6CV1N00WT0XPDOL6DZIAPVGVGQIS4SFQU9FOFUXDBNVUTOMTB5QLR6DE2VQ27N971X7HVA0ZHYYB3UB4SOM9BZYPK38BVFWWDJC98N0ZGG29OP7J9DZYF8BLYV2ZPEA6FRRP1VJHGLUNVLG1TBJ10A1MVMYVOTHTONN8WPJ42NERVYUK5IY38YV3RKXDMQOFMF8UJC35J7AWV4ML8MS3ZIJ93OPCI4ZDCDHGGO7OTE9EDRCOB2QX27UCSAQ4KFLIA0PQ7K89AC8FZSGWPVXGHU7GBVJZ3VPXIMQWCJ16X877DZ4X8W23RGA446341PQBDP0R9DG2ZDWVS9VZY3JDLATXL26EO29PYZ3WN474LCT8ME4H5GLZSD522KUQ8EIAINK2P2M14KHI6CXO556FTIKJTBG8TKEPHJO15U9HIO6AHIINIUT44HPYQR9C7FFCW995QZOSS290U5ZABNDIBZRP2IXLSFCSPXXG7G99SYHQQFMG2RNKBMHUTI0ZLZCQB3XSIMS909MAWMSKSN3R01YSV08AB2FIN3N8AFR6Q94X2HH1GCIUTLA0X8KDUF3KAPB53AC313JL7MIWUF9LWCFO1CCHBB79B3S3EJMAHTDHNGG0C75Q30VKMXXODRC8JYDVHYTHNQKJ3MBX433JD1S2I6QUMQ5E8NJ2WVD56CJ4GR3M7CU6SI1F3XMZVBD4ZV500U7XUX0PTMU9JY8K7P42 = -36#FC6SLV5QQILVGQPO3XAJHOAPCYGPYF5JR0YUVOOKBW6VZCXJE5UCZ2Y1HG5YC51QPCQCY18SCLDYOSZGOI7YGQH5QALXBLKGSAR7MYUUFREM2I26Y9FXZ5PYEB6I2QQKD7CBCL2ZEVILN4XX1O4DZ4Z56RHXTO54O8OKGY6DNH0DNVTDGGAIDC6TTMROW83ZSJAVGJU4X1T4SW9XQRWB9RHFHWX79HUVNTNFSVAIQTV9A8SFNM9JRBIQW83BAAFN2I17KDDAT4NGW8PTOSI8L3JVOQ3XJ3BJZVXTA7THZ8HP8R9C1FGXCXJ3WFDL53SQP7MQKTF2RBBIDUJJ2FO8XM60CVO3WNQ037LALK55PO80TBDGJ5PJ3ULJ7CM3NMER9FKTG85EESBEI4EIUB50P4ORDYZZD5370FPRRS7ILHPPCSQVTVGAPPGY742P999K1G58HK4QOS2A4YBIEA99KJYOCML6J3X8NTQTKOMKWDNYUGXHYMHBO6336R76RMGMAT3WPPR1BZK8TB1J3RE2Q7HHZWOASEVO5BDKSQ3G15XHOAVSN81YSM0PVH86HDBGFW0WPLXM3VRH4S6TWJHIU6B99IGIW36AN6DQM49EB9VUP3WMWAE5Y0XVNEAX1719SZ1JE6Q2H9D4SDGTQOCKDBHRTEINW7F0PVK63HXCNY10FXPNR5AVJQVWK8EAA5J1TE6ZWBY43S1L9CITNORRI3TH746EZXY6DMCVNIE8YZ5E2G2MWXOKQLUUE19EYALAF34J0H3BYS3WC1XHNYY9JRDV51T3PII4BICIOU44SJZNABZ1X37RT5FW3D1W9V6J9UZXRPJUKP25RJL25L4DGIZ37AG8E7CXEATIHT3XKK4ZHZMSJ0RM27MUWWEPZ3CYMG5CGPELOFVBEK3FGXWOSD8OOTF1NPK2VK3II9S7FDYNY4JPOZKP3W8SBO3Y5U1PW9OVAOTMXXR9CAK7NZS div -36#2ZQROS23EWX8NMV24HT8W2TG69KTK1RMQZKOW5AY55BREG6S7W. +-36#272SDE43H8J22BUGTE1UKPIDCJ1WOUD9A2TPWQGIV0D3ENO81UNKJJJU0CGYDX33K4F33Q05UII6KIKJH82KHH4E5VNYXLCG777PGF75QSQ6GD2GZ47BI1DCKZJUHVNNO96F4JPWJVIX9B4X1CD0UJUW4UGVG0B2AN0JIRCDDZHLVL06D4117JCZ40WBHBTE1N5PM98W3WT4C8QMTNTOE8Z4KRXAOFRYBHYHQO523E13O3QKCA1EZD3BR71OP28BJXIO3I1DPZAQRF6GFTPKINJQB5U3FJ25477YJMETGPBQHULWCEM3R72HS65Y9R64PI6LIP2YVLGQG2S36MZDDCF7LDYEPL3N58NOO4GTAYWTSYRRS08LUH0W9NFZSA5OKJ9AUW2RRQ64J9SU3LST4G4A5KH060WMVGR2M7YZWH9S1EB1W97AUUJU80RZ94Y2XUUO4Y5QCL9MCIMN3G8HZ8TG7E3HTJTW29YKE118X3FSSCQTRNMP0LJURUCVQTNK9VYNZ1F402UMXHJ6ZPLDYH5PF1TGFDI39MUFBV83SQ37DFMQ5CHTDA3O1136OQL5QMSAHDXIDTVR69KWSHG7ZTNQD1Y9G38BG9KO5YBZJSNFMUDHM14SX4ZDORPD91ZEAUZMZWCHEKNI3EUN9WROI2TFBJ7E3WW3EB1ETUUAXX9934U7H0Z9EQQF2E1HIL5KSCWQBBR9U56AQCCNOL1IUC3SNDWGNREDU8FR4HKTU9TMT23RM2JZBD14HFN6EM4L190TNDR6CAZP2WJB30DZORUVYIYEWRN4EI9N2DBQTPSLGKHBUWTPH0V3IM1L8FYJCNWRZOXV5WH2OFFIIVNF9RI53K8F064Y8RRL9BX51T10LOYHT0HH7VAH5RIBHA8F30VT7ZU6DOP0ZU04A8AQ7GTAOJLKS02JI4GPE5TFSG2JXZLCY3AQWTUD8COWXHDU9UT = -36#4WEJRIXVTPQSLF85OI4VUIDYE25Z7JZV14LPG4U3RJNSKHF7O5PYSHIRAALOI8P6W29E3S5CNJ0L2PC30874JU98MQJMYDITB0P3CTN4R71XZQCKP8O5HYWQP2AC0DB7TV3JR4WT5N5O0SCLEDP6HWT4B2FSBSBP3V7G9MV2O4ER0PIJE34VF0ANSXTDCHZXVNTY4XVE4ELHBC2D01GI73PXK147M579HISMYH7JXWM7ZZYXE8Y4V76PQ0QIGPY3093E3HPW5K3ZMXXVAL6E16LBFJMJAV2ZEHHQFXAEKN5JMIFHQD0S7AQOF154UWVFZ7NVX7N02OFKAW367W279Z7ZG07KA1FVXVI3TQ7O6ZTLWCEEK5XWZD31967R7C1Y0XGY7845D5PFCP7U3R5EGM6NJZPZMLTY13MR56GUPXDB77WGBWY78AGUJXQC12660HYKW6FYD2579U06X5WI1IZQT89MF9P71PYXTG932IE1O1RUG7WO4UKF5WYF4JKE81LPK1H1WE7SN1L1D4BJOMKIF8MW6FYXY5F40PBP8DYR3802NUPNIFEX3QL5QTBNBG7ANBQXR8UH8YM40CZ1P1LNH14V6453V05D609WK7YKXUPZCTSU8OTDVNGVVB6BH3T9E06HTM0339B8C682F7SXO95L8528585AZPS0JMET09M77HKRE70I6VL5853PD3NP3ZVE0QZRABH3EFL82WL4I4020200E1DDC1HTM4GS1NQXLEGBF3SLTGC70W0BNDBCRKCILZPIAQT6XPOC2JOX7F4JU4WIQT8JZTLUSLWCS4VF5QCCT88QRUOJAIY8NFPE4CCW87335IY1S338A4H31YBSL3OUQ0MZDPK1XXLQBD2O828O0ENCVZIT77KGK60MN2O9C8X8U7NOSGXX9NP6L2F7M7S03NIL8T9NLCH9Y2IL18C0BUA1HHU47T7PJL9I04IOPWEWE4DAID6P43VQJ1LIOWJKBOCDMR2F8X853Y78UANLDAGO6CAWKU7NUEO3HYE1TCLOEA0J1278WXM9EIO3EZQ59AH5MN42RWCLR97AI05ZDO6WSJGSWLSM61S4Z56SWQACTSAXCC04N2MD61DLLSW6HIQX3FEY736HUEAH63BL80B5WF5YMSF0JC0763GQVJY8996H0SCO65USF62DFOBD8KPRI80SS80SGPX6VNB7S6NUTR4FULZKMSQMYCH42YTMDFPQUOO5BO2YYWDJXRFB42Q55GL6390Q9P73JHYNWCY224L1PKA6NAZHBA5B4PXMR8UZI743E4I90G5MV5OFFRRFE40Y7QPY1ONH80RJ1IRONXR01S3O9ZVN6DIA1E41X851A1Q6Z6RY306ZD2UTNKSD4MUWDQNJVUFDXGR2E075S7 div 36#28B34HO2P24L1EBBLSSFCNVU9JSUKZT7MYX9O5RYXK4RAZL8OROIAXUIC6KAHQQY9XIHTXE9MBM3F629LGHOMBHIGHBTTGN27ASF64WZ5R336M27S97412K60CPZJOO3CDSXQI80C13SMEOT6GFWYEMKOFAL8F6BR0AU44PFQBSY19CAGAL6K2IZ72ZF768J7AGJU67G5MK8AAED3N9J1UWCLNEPLKEOITVXYWHG9EZ1VH0IJRTI76RYILBQ52NAQT3YL47L1DET3KK2ANTRJM7IL3HN7B854X4EWWKHY69G5L3KCW72EXDPGRYKNTVCK0TJG53J0PONQOYLFRCE230P83ZHYO6UFK2TEYF1CW2TRV1K45YUJ8WRJWT6FZNMNR47B5KMW2560ZA5ISDZDFUXCDML6428Q14RB86JKC1QPYKL1TFOE86Z. +-36#1B6Z767OX52Z7FZ6EZNVF0XQSAMRG99QR8RNVAR2FBHUK313PY = -36#JYVPIRI76T5725DO85ZFF26UWTA3CNUS5HOEYMJHMK0R40N2GZBET09VJHVMNX7LR2I842PZ468OM6USP6ULY1V67PLI1HJBNHOZM6J9ZUKOF6F1RB8GDDWRNQG9DH9FSM3EUUNPLVK86NPNMD40X8V9DKYGP3S0AF7UNO2KZBHYGBYNJYLLGJBMOEQGRBXE2SBNXOQH0J0R339BICZJU3AH0AVXAFFJXYFAE2ABCSY2SYMO0ZSH0NMQFK8Q6Z5KBP4NV6SG1RZGGM7YMU44Z3LA6JLHUEJ5S2TDMB9EFEOEZFO4MDRDBJSIQ0RWZQS5YDE5MTZI7G8YCVP570ZRYOECW4PPO9V0G5A85HB3AP4XSGITK698SE2E9SVDSYCO78IH63WPFDV8S3OUDSTZ65TVT86L28W2L1DRYQWRCSOFDAD7JBEQXWCJ5D82WMCZ2Z241A31EDK2QIG2O2DN85M8893V0D19TUITRLQ1S7KU01P900SFG0FIBSLIKQP9ZODZ613C1YSKTJKSHKNL52ZJG0SY9IACEE4CTDYOBN053BJQNL3PSB52TOH7J27AH31MSRQFQBG3UN9TSIO3T2RVMUKZ6M1GXWS9KCHY9XFY div 36#F8DCCMBSYF8NKXTA8ULRAU023JQA92U2ZXLPNLB3VV67IBEWHPO0E56SMY218117LVB5C4P7QQLK45VEPOS3E2KWRQ7FP0R56Q03MA6WMZ0FR3IZ8CKMM2YD8PZOW6V8RU1OBJC5B8ONF44HP90FMRRDA8RADL21Y9XJE36XTOVW2PTYYMT1DER7A7DFP31X6PR3BRXZUYAN4MYXG23IG9YOALWNE2UTE8D8AD6JSPJS3FGJO8958RPMQEYEZ59RI5HQ0M1COS6U32JF2PWUY0Z2E8L71K9JCXIAD4AYSL23VWZ5PGH23UBKIWMLLTSI689ZDSR7VOEKVSABHXJAJ8XN9BBCNV0U1WRA42FD06YW8KX7WNR6WQFG19AN0NJ0SQQY300O1CLFASVKF8VPHVSG4VO11TOWO68I55OZ8ZFX5JMXQF6QBWF410OJCCS592WIEQLITB9O0X31BJHB6WIE1SUBZ9MJF08A3GTO5QJWCAHQOY0TLVH5WON2UU5SQ4TERET5VAXP8KZ4TDC4S6W4X9MO473N1BM9QCFVJKQGC2N3OPAYI8YOW51. +36#R96WC6CYEET2ZEX34KGKTMFS8VB81WLZDYZSGBAOG3WL29FD1YFK2CU5X3B029WOLQUQDTMI9G4D3CK15ZI21TU6KZHS0ARRKA2R8XMOO09SL0XR7WSTGHI9HWC6ACX4UQ0BZD5VD8QQDQFALLB3GJY2X8FJZTIXLI8ETO3HWRCZXN3IXY1C4SWU56BHG1I5A1ZIM6CPTRTR1IT9DGW89X6WLG2U4TCT515FEQ0RXAXFT1E9HAEAW16E2FQEEZY70VIJR59A9J95NAZWMZ7MNCSXSKNHGCRBLM1NYWWK959OUX4USWT9GYND5EG8NG3K1O8TSYR97K582UDNLKE2FAMB5BU1SAFGCYEAUZS9311HKNR157J2172IPSVJKU856DN3GV7J4H2RKQVBOKVSH4KIH9RSFKXK5JK6DNCYLDXI6WBN6OP8OEXBWK432EZ0MMHLB656ADMZA0CP1KL1BT6ZFGJH9ELD1DFAE37WS1R8R8JN8KNTWL53GZ8IQC6YC7M31IWT3S0Q0FL5MFWK87AC1ZI474R8UXQR9ICU8VAQR12T23ODWAOK3HQR6AN1BL0SIDWJQQZV5V12HOA387KD1QHAWOYTXQAXBFST1GYKE4CBQLHGY5C7HGXNKTUHV4VILO71Q9KKVOULRTIIVX9E9X9JUCQA1LG30 = -36#2V772QFJ3IBIEWHNJF6GP5W0N46JZWSEL8RUUNE77ZTF33HI3WJG0E59NR2SYH4LWLR * (-36#9I9YAOQBO4J3AV26YP2ER6KKWKXGM7QSO2LNE4WQRDKRIKVA171ZD8HKH3BG9I0SU2OSI1OJXO1S2YITJSEY7LMU8ZNX14ENV63CCCPJDJSVRFM4ZQ9WLOJ1MHI56N5SNQ53UI1YW3YWT4JICX7OGUL7CFRQ3TB843UV0ZXA3FZX36XF1TVJV6FFL84CGLT4JW6ANQBYRYISB3MKM1TWT7QEPPM4OFLA28D1P0MRFNEXVJA9MMSA46EHR6P8U8GMXTU5PMDBUGR0Z7PLLX1UR97L3EZX4DV906VNAMXKWL2SGMV7ERX7VJU2MD2825N5TN5VI5EIXWIVU369HUGGT0BYOTVM35M5W3Q4B85KRMCDV3IFDD9KM6IRFPU47SWUDOTOFJX39L83AANB7B6N7Y7YPT7R25UI6U32OD3QVDQCUS5RNKOTMUHA4VYUCTVPQ6J7MF5NASVBKDS7D6EGKWAZAE9EYHQ3DQTSC4IT29SAKZ5LWPU48YJ9XSJ8L0W2SQRVW91JVMS9PHK4RWAX66LTZPS9EJACJVE1N2QF0D1AIJ1YWEV8BT1XIQTNPMBASBBWESU5YHUN67F06160EKG6G2YSJMOVFKK). +36#RP4GODF5VTT86AARNSJ8A6GT35N3G2GLT0284S2K205W850Z7 = -36#1CAT0E15BSW3SLIV2EWXZ5MCXW18SDTL2RC1ETGY4P3MWPCLHO1TVJC4H9UYZCP4BFU19BOB6RA8FLDMY9JQ6PXPH1KR11MX7SUITEVVI9V1GZUAKXBL1CO8XDZT07WXRXQ2PU4W4D0FT3NCQXF68MDLX2Y1UAPV9Z0CZWQ9MULWQ3N8Z42TK62XCLPSI310GRC97G5JTD1NP9H4QN7JXPS1IJ6AIOYPQVYZEI05LBP9TNF619RE6WW9PT38MKJ7GD6QVIPIEWNIDMLPDR2U4L5FFQTABM32CW6KU5E8EMKRTT4LQVIAV div -36#1QRZPUVUKC0XJSZ04E2CJ9GTNOSLD7CRXJ1OW3ED70WKRPIO6V8HMUR4QUUE6RQ2AO8HJ956HV8NWYAY313OYMRSTOYSH7L53ABZSR58AYUIG55TPCGJHMQDZKMGBWCM14PPV90GDLLZUCJBPOP0F0CXDA3ZXU1SYA8MSAANM58YUFAW61OY9BF2FRTS10JGX76U4YMFIRIFFPM29S24LCSL21Z6JM035DTB04AIZ7TWW9AERFH5JE3QZVQZ6HR992PP. +-36#4UUG9USDTTBQ47IWRKG21QW7OKF2QVA0QGAVH4BJ4VDV8WBPAW5T5CNNBW2F4ASTIQMF80UJ0UDHITD8B4P0K7ANJD9IV9204D72VU7CL3BCUKKPJUVH8X0YWRY6B9FLTJ753SGBSJ3C8P8XWEPQ8BQU6S1283C0PQPW4RPBNRPYS4TCCDXYIRTFJ4CXMM8BGVOSOQ22OV2QWZIJY0O1V4N6B9MJ4ISSXNTT3C9TVRF45PVKL4CFAEA6W03F7GG2VOUAAA7CN1N7MNBFHS9R99KL2GDKV0X2YXCS7SH15GI38VO9FRJB8BKFNR791TXVTFC8RPJGZBEIP5LR4RH5LE010HO1TVTU0PXS0LT4F6COOVK5LZY4H6AWXAON26LXNZKIS6LLZBOPQCFXHGUJWS9D8TC04PTVOFAAJTIGQLA5B23LB803I51WUYO145PJ26X3PWWUTIWRRM93TYSKTOOOHDI8ZVB9VGYIHS5IO0VNI8DLRK0OIR8KJLCM83V5NOSJ1OZR1KZYXU7L02SS14JN9HQFEHRJPZX51CDC4605RTK09V1 = 36#2A3FQ7372FMF1Q0XFF3NAPV8WAOMH61SI6GI9DGFBXVXYEAKNTW7I6X35CPQ4SSSFKL72RM73LO9NPY3QUDIJSF6UPKPU7DLD4H3JIPYZ3UB7PQKCSG9U2YZT4M28Z3HY9K5V8V5RQNIXVL8SC6KGS16MSGPXWU6TCLS38932XW8JZ6Y0G9PN8OZOOAVBDUC3XPQRW6OWTFA9NYYNVDH9R2YNCCAU9V6EVH919X5LY4UX5DAIH65JNY0TERYRWZZV45QSH38GBYC32AD8YP498X685E8RZK3SFP5E47U762J2XHIP4R1H4D84R58PDM5QZ4TBRYCRWMPVODZQJ93168EGBO82GGJHK0XB9FET0AJDZQ2UDX88IQP2F4HRFND374D965RF4C2J83YICGXB5TAXRE1U159RXCFX0IGD8MCR3CFVBRW302Z5ZAQGE7OH7VWV7IW50ZZVQV6GXW54YJYBNKBR1F1RNUKUFGTB7194C0Z1AP6R1FYYV3ITTSEQZ * (-36#24O7CW2UWVAL84D9QQTFOQBKHI9XC5I7VTPDK0825120WJOTDZ). +36#DC3J4G39XA1LQ7E5VA8RC4R6IH5PZ8KR2M2LYZCDRJFDS39OQY4717E9E5Y0YRPRNEXSZJJ60NNLZGX4JGOUK4P9594NFQWF0PWROC4MZVFHBFOJY1CFFE3B65IUD1EQKZSSWJ6VUTYF9NKE2DB1RG8ORN33NZJVJNLDX6Q17P1MEP3IV9JAQGLZYGL1GG2MQ05YYVEH6 = 36#4F38O7A74B2Q82BZUTWDSHIPL79ATBOWMIFMY7F3YCY2L886KG8DG4542CMRVXWBAJDAZ45Q4STA7FSMORSCJFCQ02E6O2P5L4695ZS6K0VR19FNUK7DB4VNUG9MA7HZPAHUNDJ03P6R294Q2ES50EM6 * 36#30N1D66XYY5HYQ460AKMQ6ONLI1W5ZHKHQOGCLXAVTIOQ1W7P7. +-36#G6YSATLPPF8QDQWV8F3QTXD90ENM36ARE48UXQDRWTZEYYAL3KGM5QIZKGHHW5H1TAT1I8ZXJ33CRUAI4FHYI3C1WBP0ASK5LK4A9LE1TNQ5K3CCPGMYHS5EPK5F86WOSTX5FN9B8JIUVBP67PDAQ8MESP32JVQA1N0FC6CK8VX8KB8EDE938BKLYGUJ6089O706K6OO96HG9UQJYE3BUECQCUFAAKJU0U6BAC43FYZPTCUJ2RBZILCR41RGJ0PGEPQATG55CXTSPSIBQTWI3J49VAVGGQZFI171201PY4G61NG6PGA89I8SY3A3R76B7Y8ASEOOM71OOFN1OABL6S6FEY314EKYAUZWRODYOW7NKZUL5XIBUFPK4JTQR2ZXO4V3J9I55DT27FY7LEPHW07ZHQKGSC8BR7MJT8TOZWF8L1DDQK9ZTMZSPSK2LEO4AQQULQZPPEC2WZ2H4XMMW9J9DY621VHINBPU7R2L8L6NYMIDZ5R1TMYO597ZGHEGCBS6XB76OTS71W3D24R02TEKNSGVI59LZ4TN5V4ZAY8GA1QLOBGG4IXIMRETUI7D4GHM3XI6L8LRMU6YEWY4EM9CUPVYO67HK4YYXN2FV5NMSBKH6E1CB7JH6PRUOGQA2U6J1BINLPBSFG2U7YS3D9DC73FEJTI6Z24IYQG3MYS0OVZW3MHYT4LM5QZK24URG9NIY0QLF3A557X2MB077P81MF4I2ZL7X9WJ0X4Z9K0DG2A0SXLQZCJKC95XOC8GTWCQV7YO9JT7U53XLSQSSHVFL0BQ9B4DK0STWOL6OKGS79A1GWZ23DHW3S96R2T6RTT98TGJ7GE = -36#2IRAVJI0P736H1G3ENA639DDZNM4ETJ5KKOCIEUKFRZ33A1BHWSNYRWTQ992BI648TTML2XGSITQQKEKBKYLF21JOXM4EIVSZPJB6XRVPKVLZI6Q1MA586M1A373JLA1CEG8CLUA1LSZJI1Y8AEINOB0SACRWSQP4RU1AZ01BX8GK2BS1ENNTZXML7PTLB37VKKU4OUV7NDT5VNFIIZ8HFRN6RG2O1TFH0EWYBFMA8577Z4BVH4OMEHIJRJZGG5W4WHG3C9J0OUELFLH3WAW1FR69LGEKUW76JKQJPKLFAQ8C3B6253SUSJUILYSJFWF9NZC8PJ6U7IHSLXO7OYWT39CS7H9BKS6RCOL14OPD3ZQAWQEUJ8G92BDCB * 36#6F8KEM4VWIX8ZTLQ6H681GIMNH6VSBHEI25SE6N5LE2J0DUH8NJSRB1BNSWVMXZ740XAZBCKIQ8729YPASEYBQU8G96ZB4XCE8WLA6OVSB0FS7BA193RZOZG7L3KVE24D2ZPRUV4WQDKS5M5JZGHIYDERY3L4MLVJHG05XO1LJLTP0412PJO4S5R9HHBNSNQ2DAY8TBHF4ELRKNBLZBU0SN9WIW944FAEC5EL3Z11TNDVKY0KM5R1S707QEEQJQ8OE9D49OC0BLLRC7QGNZGMPZD5L342OLQ3LZF3N62E2FQ4CDM8H0PPTS5YZJAXANQ3ST48XG6YBV1SEXSVZMITLVVSWMISX6PBJIRSJ4IPD89V85UZR1SC3G18YV8BAD4HO9L7FB8CGJGJAYOT1KIDE3B2MFPMXPCQXM4AX26BBK9AEU8J68H3U7H0C273IXOZNNYSIWGUFVMN00S6Y. +36#2N1NI35I7T1S8YZ3I569R7EYTW4Z14DNNLN8ZB9Y5OJZBJTYYX = 36#1414GW3HM6KKM76LNMCYPFVVE45XRLBEY3ZDZLRR5RSWOLOCYSARB0BHD987O6OVC8JD96ORYY19949Q3XV5TPL6OAGXSNGN6AJ2F0FZ5QHQNSAERWXZ2CBNKCNECIFW44AKHYEPYC3CJHIUKKOGX52DTU875UKAFH1SIEN2PBJBQLX3JG5XYCAT89HKMJRA5OGLLMG1D9W5Z3IRRMQJCPVMF138OXRDZLTCDIC div 36#F5UGXOW6BLSMOQ5M9YSG7RXJPHMY2RK0TGOVGCVX0KXENUV2P1IQPM9KN8AYG1C2ZWXDSPILPINX35XP7MA0ZSZGHGN2OINC51JE6DYK88BR6CWG0Z5NFXIDEUAKZMLGDWQIVXHKA39BEY00XYDRCPRRL8QF0CJXDZ70ISKHZ8YM285NL47R8. +-36#8AEU94Z3VHHU7SB70ZTTW9CA7HUOAVCGU490PJGK6D39HCSKHCTUZV7HELQPUWPRWN01PW8XP81A02EXU7QTN5QZPPO2SETSD71D17T6K9YNSX48J0TBB4WQG2SMTWBFH6CPA7TV7HK79C0DRBRGF95VSC23H23UERE85KMAHB8UUTFFKTQXP4F2ZPYIJEO5VL2SUQAY5UUEAYD8P4L5OHD6DKCS2DXI5SED14Q922DV9H5P4G49WACLFLOV03JZR4GYVVTPA0XKKHTRR6APF7E403ZWG7MG8ZI35W9AMILOCGSOQJAD1N5JB53XI4J9WKSRJLD2OPL5X4QH9N5EDILZRDVAJLVM31FOIA5MY01OKPJIPN63GHJ1UGP9LDXV9ML = 36#LR0W41RUVC8VBL98XE03AL1VN5A27N3J1ILC58TNI27Q4I6ATP5MYQLHLTEEJW3AFDF7PBYENSBKUK6HWXVGMUZYHWSFNYGU9S1YJA6Z75DBQEXEO4XNLJ14SBYG7T29VZTND556DRD1842139N2CI08UWLQ8H8YM22C448S0J2KL1ULG0XPXZ17BVL7MVRO131CMC65NZ8D1K8G66CTF93WPZVYOZA3GFUK6M1KVQ3HJPCR9ZQYBLU6RRCCQ1X67UTSBAYDT2OC2IMSYNEEZTE9N8SJQLKS55DHZ6MSRNLBGDP1K22WGC7DWS385NMU0OQPVP8K056JZHYZ8EVSIH3BOJGFJS2BPKMTVB4HED40OWAE2FEGEZX6VFUXS6L2SM9PDL72SB8CEPL54IZW1584AK9ZVQ1F67FK987TFM9HV7K3HXM9 div -36#2MGNY674MTSA9EJMEU1EFTAADHUUY4AJGG3V9XDZKZVKMZBHTX. +36#1DO25QKG8BZV7CYBIW0AGDRF3ZL3L1DBYHT2YAE5U592GXKU3C8W97DUD42FQJNBSGD1GGB4N898JM1HOSBRD1JEKEH6KJ72EG88GUZF44MOVVVEAKSAFED = 36#IDKZP8NGDZ9YLMMMZD68ELZ8EG2WXV5POY46N3PQURSZWU3O1P1P8CM0KFGTL2KQZ4RFR43LMQMKULCORR3QK7SA29FSV8TREV155A3M1WB8CRCKA3168XIONDS80PE0BO3MNKJD50NT3ZC6US2ACINV4TXTROOF9VEEZ9H div 36#DBIQRUXIQGD2BT78B1DDF8CE8VJVVA7YJOAJXT3RYTGN73QDT. +-36#4W5T9U5X60K1RLL4J1EZB49IRMI1Y2OSDWZG0RJA22BOW673N3CNIDXL2IEDEUAP15ONKONYPF6GRVJWCOZX0539HBODWTFHPPTDUDD40HMMG1JY8T7HMXEAAOQU4A7PNK3FW1WKZDENC1K3YYVYEYZA1ION2YU2PG1UW7KQXPYEOHYLBZAUEETF4JDIP0FWJRHWFA8AFRH8XPLF6M9IDQ3QUX31Q04MPHER0THMX4YMTY1C6GWD8TCEJ249VYPEDEB2U1KYYA6WUBSDD4MVLEPXO6WIBI2BEDQUEFLBM6C4WWDGZT3KEOF1MI23K7GHMYPZY9DT2WZ55R9I5JW9DGERWOQGMQQ2F5ZNPE322J1JIKVIKN5C5WW7NG69WDF9MO0KKO2JTWSQ98821YDHTGMA27JZ49CBZ9O8Z13TC9QWLYIKILW6AXT59GFW81R55O5I0Y55DPQRRFJ = -36#5EINVX2KR0Y7LBBF7LLO8DGE4IVVRO89X6S7QM3LLNS04ZEM9OUDM0M6453NG1WRNY0V7EY17ZA5THWMWND6FKGI07BLB0PVCKB74TJXV8IUJ7G0Z7X6P412Y5H3A0H4XA8XW2NN042IJNKYWIYNIB87QFK69CGFH4FFH1XPDUGMS6Q282T87LL4ZSKQBKNGXLE4G49EF4S2J3D7R1XOPCZX2UBWWI7Y4W7SD9MD4PK3XQDH8REPKIJ3NOSAU2NX065VQOHSW73H3T1Q1486LSVRLDXETT47U7QW5JUZWALW4ZYGTI08YX03PHYK8MXU3T3G2MT4XKE5DF4SH54SO5NMDU0SAWQUK1AQ33WCT3O13U7755SWWEF3IYHALK1KZBWQZI3ZI9YXHJZI96UI3VBW3CBWT0UFCI2K2BS6TQNU5DMWFQQ9T8Y1Z8KJ65W43F622K44JA17A4DKO102P6NBVC5CQHL38WYD4JIVUEBPVMCIW6ABRU0SK0JZCC54 div 36#13R1SUDTPNPEKJHVYCGD5XN1I0Y1D8QTY1NE126PSWMF0ER2X4. +36#RGZ4EL59KOPWAA0DBICVX5N4ZZQ0R4BQX03BM61P2UE8YQ2ZWVVCLR0CD6VJCES5SEZ618752646R1SYQ4RM6QHGX7JVAXAFOF = 36#191MTRBDR5W22WQSJZ16EIGJGCUW3PYG8M56A3GL4T8G9HNK91 * 36#LYDSOSV5WEA10THEDWLUEZHB4PGS2T44NWGNAP8132URUEQXF. +36#165NBWWMAMYOJ8B742Q4FJABXXAYFAZY8Q5FCBWGALX5LFJ1I3GIVQ8HNNDMEWWH3TLDBAED6T7YYS4K6HLI4LMAX6YYYQ569GD2L3E6EICR4A99A06W7W1S2RTGN5IP064XGNCA9QGZN2E86PK66J1I0IAWRVISVN7ATOLJK5S5QAWK7LC3IE8S7H8YSYMMFE43FY3XR0H379CETALJIA4HKTXFAMIO3KA5VC = -36#6VDI9EP9TWCA5YHPLCWKTQ0SAZJ6XUWWKIOLRTE9STZF7N652FIN2QFGPE0A2JC1XXJDVF8EPT1N97UOS7G6OA38NAZOJMDOJ8TGQVB45G2Q5KEIPFG9PM3AFF6F5T0G5XCB4SN80DAS9Q2WY0PGH8YUNFAPZ2LJJ8UUFZS74GOB4FEQZAAM8YPP10UOAZXNW70TP0507VZSA29AFDGV2BXTNX7AX06P9LG9FGF02PHZBMIQHN380D5XRC9WHLC24J8DM705OL48YQMS57L00W6B046CG2GADQ5ICP46L9YP1AL8ME927YJSUUKHRF79F1MPKIELQY6V8DXYPGBHPHIY763NII0E57D1NBMIOFNGOO6T5AADXVJ69LKO9OH9OH6CDMVKQ2MPCS5ZU0WXSTYHWXV7JZA5F4XXESTR75F8EES9EJYFTOLZOTD9NPZFV3X1M0VBUPAHZYO16PTJL5DICKTPJVWI3X4V5BTCLTPE61I5R32YZHWTDPHQHC8P9U7XA5ZBFC45A6J0QV2LDHYTPP2KAVFB4K87HRXB57ESJ7QD2OGO2CR6507HEIYWRVRRGFBIL2AZ7VCAMKE2O4MZUUQBTFKSQNKFFD8NSPTF6CR3N0QXK4KDW1HPYM2RWEMLPIMVQAD2ZPHZZ7RPNUJOFR3HEV2Q2SYOI8RXNL5XDX91OZ5V7TB3SW4SKPKPK1J61CUGCC8LQ2E0XX1C div -36#5V8VTHJOQQ04FA4B59PIK4A3W0GTU04S2TXQLTMH90TR3N29JRQ7PLOOL7B5P97JZL0KJ9WBZDWYW1M6FPAK64YNNFG9BH20559NCT8RDLI0O2DEP8PSRQ32NH4UCXG197PSLL08U1CX0SMP21L2OJSMZZI0Z08912Q39U34QETC4NN7XK2RUDR9JSO9VQBH39HYTY5CIAYPOLJS6HXGM52Y4H9O2E6AKAJ8271DK9047J52FGF7KDWSJKPILMU2R4XWT9YFZHWAU345C9E2P5HNB2SPR5RJLBOOY03L0KERON6TBIATLCOHDVBEU46SA9KSU4ZFVD6EJ9XKFOE3X857CKOJ71AU43143BWT7TZOD7RF3OO6KPUX81A6U2U51CGZZL8WXD4DFB7U3DY0ZRSL6HLYR9XZSGE6NY1KG3CATXYGQD30Y3O2IN0J1SIV763JT47RIZB22HSLQCKKABR1R5EKVKT7FH4NW7DBMX4YO5S. +36#2TJEFSQZELNS2QEBZT4VJ2EXUDSCARH24SB671THK0Y72FX772FEKFGH4QN7BEC4L8F3672NTB3PQR6ZCP6SGX08MLFLKUCD0CS1KNFVICCRDFP2UNR7HWSD40ML4VNK72PON7SMLOGJBKH2SZ1232P13W0QCWKMMWE964XU1D2G1YROBXKBVCVGF1CDC2B9XO76J1SQ1E3GRBUQXSMA2CP7AX7A9EKNP9UR6FNL6COA9R205TMZJG4BPEPUUKHVKVZI1GPLT5RE0I36SG9F3Q5JOW04Q45282H70EH0797MU7B1G8R5E1EASEMF0WZRUSD5BX8IQSFK40O9OZNCF8PC9F01EAWGRN3NDD1YNR9LJM7IKECU5JON53OYO4US4FYVXBAZAMK64MOOF0TFOZ5L5GXOEEKVRKT6VKGW0EGHOK02E64H3SB38O3VN7OPSNPHFX1TOIV7W1DF9HQ054E6QOZNGRO6S333ZQA = -36#4OQPT3H1YCOQSB0VI13LNJPO2URM2H8B2JIYPGB9UQZ6GGIFPDXTENC7D26Y77WOCVSQSBNRGLFHJBOWZWVEW0F2QLGUPJJUSP2CTSOASJHTCWGCDC1YDQAC6O7ZVAM8ZQ24E41DIG6UHZK362EDIZIIN9QJQ2SIABMJ79NHKM1F9BAPG6TQR1IT8VG753AFJ4ML526HWZY1H6FSG7GIKJJPHPXL9LOW68F988GWCCRCXBNFPKOZSQRZ4ORLYJDI1HGCGVHMX95KIW51EB9DJS13YEMCD4MD1R620IY32IBGS12UB6FYQJBUKE4ODMQ2HBVBTE07K2XZAJS08G4O0VQ1LF3AJDM335K73MNEO3RNGTVGIZQUONL4NMAIYTNVHMC7UTX1F3F5FH5WC5DWZMIY0K92MVXGAWH75N15GNDC6RXZBXM8KIPB8069A07ZDWKYQJ1UQ34EYMGM2U9ZWSRK5S8I7WTFFH2XNKKD6JDLZCYZQI4JQZ7QL04U4IG8V49CVE188EX8W9OFQRVM0H48 div -36#1NTR4M7KNU2JQSV190FFDUE3EIDQQIOUBFL41JBWGKCY29W6J8. +36#2MCHVX1112P79W2DKJQTIQK2LAIAOGA10IQE7IWVO4Q59BVZ2T = -36#26F3AVFPAVFRA1SQHD85VQ9X9GGS3C3Q94TOQXZQ5MJU9P32DGRXRVWBGUOCQDTAJMKLU5GNHP5JLIIA9BMA4IX8A1INU3U381IXJM4RXWUTO7S3EDBY7CBA2U91FJKE1MWIT div -36#TX7F0C6QCLCA7VO5XQLYJJSB2TKY1HFI4IATKFB9EUK0N8JU5KAE9N8XPO2OQLOEC5WFBC2QR4MH3WFDJ81. +-36#1NTR4M7KNU2JQSV190FFDUE3EIDQQIOUBFL41JBWGKCY29W6J8 = -36#4OQPT3H1YCOQSB0VI13LNJPO2URM2H8B2JIYPGB9UQZ6GGIFPDXTENC7D26Y77WOCVSQSBNRGLFHJBOWZWVEW0F2QLGUPJJUSP2CTSOASJHTCWGCDC1YDQAC6O7ZVAM8ZQ24E41DIG6UHZK362EDIZIIN9QJQ2SIABMJ79NHKM1F9BAPG6TQR1IT8VG753AFJ4ML526HWZY1H6FSG7GIKJJPHPXL9LOW68F988GWCCRCXBNFPKOZSQRZ4ORLYJDI1HGCGVHMX95KIW51EB9DJS13YEMCD4MD1R620IY32IBGS12UB6FYQJBUKE4ODMQ2HBVBTE07K2XZAJS08G4O0VQ1LF3AJDM335K73MNEO3RNGTVGIZQUONL4NMAIYTNVHMC7UTX1F3F5FH5WC5DWZMIY0K92MVXGAWH75N15GNDC6RXZBXM8KIPB8069A07ZDWKYQJ1UQ34EYMGM2U9ZWSRK5S8I7WTFFH2XNKKD6JDLZCYZQI4JQZ7QL04U4IG8V49CVE188EX8W9OFQRVM0H48 div 36#2TJEFSQZELNS2QEBZT4VJ2EXUDSCARH24SB671THK0Y72FX772FEKFGH4QN7BEC4L8F3672NTB3PQR6ZCP6SGX08MLFLKUCD0CS1KNFVICCRDFP2UNR7HWSD40ML4VNK72PON7SMLOGJBKH2SZ1232P13W0QCWKMMWE964XU1D2G1YROBXKBVCVGF1CDC2B9XO76J1SQ1E3GRBUQXSMA2CP7AX7A9EKNP9UR6FNL6COA9R205TMZJG4BPEPUUKHVKVZI1GPLT5RE0I36SG9F3Q5JOW04Q45282H70EH0797MU7B1G8R5E1EASEMF0WZRUSD5BX8IQSFK40O9OZNCF8PC9F01EAWGRN3NDD1YNR9LJM7IKECU5JON53OYO4US4FYVXBAZAMK64MOOF0TFOZ5L5GXOEEKVRKT6VKGW0EGHOK02E64H3SB38O3VN7OPSNPHFX1TOIV7W1DF9HQ054E6QOZNGRO6S333ZQA. +-36#34YFK3Y0UR1LXPBV5BZ1RMAIA8YU2LX9HZ2M1GWNOXIK6S2YZT = -36#ZHRC8ATE73LTJVW68VYKK7JFFINNBU1OSQ38JC4WV6T8GF931SBMN2U51Q65SQ8H20SO7OJGJCZ9U043QHX9HLSHYSH88F50RCPDQFXHV7YDDD5H6JP9COMKRVF4060BGMD6GSJC11B4AU39KJ3C2657AA9BD8H9ZS3DS9IJT3O3OC72ENY1IH0OL div 36#BB8B1WIP8CD3C74OCQUA3H6Q0ODNVW4ZNV112CVOTXANL7JSK26JRQ3Y41NQR5EUKJTEOMYZX71EQCXC967V2N14RP6CVEKK222LEF5DETY92HMVKHFG8E9KR3K57JKKJU7LA0BX. +36#56XWGPKXKO0RA2TQ9HS4R21R1GVNVL8F8ZCTOF93BXX6MFNCLJ8YXWGW0HM88PH2D0ZPH0GE77GSG7T6I322D85ADIJX6S0QVIES26BXUNPFWCL8S2VDZX5XQMMQ5TOUCYIMYYXS2WISDS1EQ8UNHTR6SRR3PZH7JEK4EYNW4LTF6VG0ZY7C3WPGW55AFSIRXPW3TYGM1OQU1C8A8ZH9NOXSOYCQKH5R18B2DFOMWB596RJ3O4MKLD4LFHB39C8VW42TIGGJ8L0BC09UQWARNOEVM3VCUHBI6YB4GK7XNHIC4I3XXMUEFPJRQNYEURQ71OVO19X6KKIJ38JNU6NM3PTMXTPWWP1NNE7IAKZ8IOAJPSE2G2MIKUQX699VO68DUUUPGNIHLLP7K2SK2M0TTC8ZNVANRNRFNUJYTZCPRW9LRW5TPULCEFVSUK8CB4PCSUDEGKIO2NNI4SFDI6CUZ2Z198N422NEP28R5GCLG47J0S7RZ7K17PA5I8CZRXODD2DG43LYNS2KWYJ19RSK6RU868JEHP516C19GN0UX4U4L684IB45TGVMUFNVVCI82DWJ9EOP3U86PL77H2GQM1XTHJQCQ5IOQN861IXYXJE3GHNQR6L79DSC49QC48FB5EQ4ZMK9TYMX1TXO3RILNTO6XPB9IN9S5GDUS2VJ3JOK4W0IO4VLNQTMPEWUQOR8SX6I0FQCZYQDXTYV3BUQGX4EBBWYF8BIAQMCBNU9CHPD2ZF46ZFFP66UJTTEPRF6NJWWWB5EMBXOIPSCBOI391KLYBQ54PI9NOKLGZGY6LQMU1IMDB53D03BPL383CUE8RAE22GJQLQ89QAZCD6OL23NIO7F3A208KBFFTMV3SNQA64EQDQVQ2E4PY6ZI54AA07GPNVXHUKWABMY3LT80FAD7EWACA4KS1RF4EYEDGYUYJ0AA9Q3XFBLG2F = 36#5Q2JXFJ6GF83YY1XUTC1NJF33LULMHQMR84NTOWBQSNO395S0ALC549PV461VKJPB548PA0NDKIZA15Z7W06VBDZUTXTWCPHFCNUCMP3NV3MWUQP9TKTQOYZCRIASXE73GGPEZEDBXS1C0RZ7N2U4TA0TA1RUPZAU9CU3RQB1YYOULU0Z0VN72LBF9SZ3TRX5C3DFSTT7UF1ZIYP2IC40OQKP9BZDYT3KD2OPF36XFNRKFFSRK1EXU30PLEE7PIHOMESWZI7PBGXD5OIW2CB4K7TGIFLZ84H9ED0RBMFI6UR5NMSB03YAD0M0BNZ5BDHDTJWZDVS4NIQA1N2C0H1PYMCM475UM7O5PAVPZC0PL3OEDPDZ4PQBRGR5JGPJO63JWDU0LL5VPGM77LXFDM30BB4OT8A7T75SA8B7MJ5V1BWRF4B1XR49M0K8U7OTPFLS6EIEPAVMTRIQTF60EPRVDFQZ5EBQFTGP1KL8F39RS1UI3QHLABP53ESJWLLK6L5K3N2CLMS98S60B6PGIT4NYHLZ8RGBA1WS1RE409ESW95O243Y9GB5KR285GWF13VR029ZVWWZIP2R0S486RNB823Q172RT3WLM18NNI8O1KSAKR11PXARNF4PODBCUEM19GW60PPS83F3IB2DPXRXRDT4S9E15D381O0E3D1WAJ27MHIWZGQ00Y1IWTFDH9OFWG1U5W7TP7BT48XXLV5ZLQCK7P36K4K96LF2EKYDWYBNVH7H1AXJ0WPMSPC4D5FO652M4J6AEJHGUTFV7O1KC1HYUMCB9PJO7ZGU9V3PNYF44TTR4HVE97CIFFTI0VZH9KCN5JBS0BI0DQDIU165L9YDQAY8E176W8MGBOAFGQT37IBMB6L5OBR6HX7S6J24IPT1UIH6B4TK2B52GO6241SLENEHZUH569KKB3EF3TNPG0YTUGZN0DR7XCC4ETHFISA1IOH2Y7V8CJIRI3ZF148P700YBEY2453JH47IY0WTVSI7UMS04C8SX7M96Q4K5FJRSKDR7X74X3BOLBVEXQEWSI5CV6KQWSPMZA7IHQ71CAGZVXSX8WM37C13MBFO4V5OCX1LNDKFPFDPRLEL7WKLOU7DX9Q7UEE4F3D7MZC43GYU9ULAVZ7R7GD0DEYCO9LM8URV2IYETXZMOWPLLA0MEVJZ73Y01IPHYTGOLLP33DKRQL7S0Z5LWA8R0RNFVPGGQ0APG76UMOIFS1KPBIF9 div 36#13OM6CJXP6VZ7X0JEWACN3Q5ERUMUA1DIMRL6JUKBOK6YBZPT49KS594YRIF8V5A5399HS13B7CZJ5ZODHTL8L65OLIKG8MB0Z6OILHWTTIYUWT0OCJJM7NC32VCVT2A38GYE6X1Y6LO1J4F91HT8RH1QJHTGIV0YW8AHC2R3ZSQH3G0DI3KPH8N0NTP1CGL5KAPK2HC6EJNJL0TSJOFQODHCODHSNRM1BAH7JUXSUE5Q1VIOABSMYOKO9MHIV8WEQ7HXZDCY2O640A8GWEOTX1IEIVK91F. +36#1VEZ8A4GH7V8D4EKPQPTSQ1NIGCORLTL02T00FSQ99O2OC4YKI4EKF23188Y0VW1KFZRP42A54TGVM86PJPALWQN0LE29XGYD5RZD6WR3YLQ23XNMJQRDHHDV565HAJQ5L0V9V98BGB3IP4TXT5QZ7LTPFXBBVOI9EOH0OW8B7ZKO43U3E9Y3CCJY54ENK2IV1NHBVMQ5EO29U6R6EOELODW2803TFDVZ83KX462AVECN3MS3U1794W9OGM9CS9H5ZK43ESLBVVDO24HPN33EH4SE4UY2D8E5X29D9XC3SLM0AN578WHCC0NID8NKNVE0NNXD7ET47WKVZBMZ91MF7UG66BKMTGGL8YSOTZ94I40LTYOJNFS6BOM5C434MI76LWH6I9DSGGV9F5O17VQGH0U09QLK6GTCNNNR69MIXHGM2BBINNLOUEOO2PWE7CPLBBW90EU10EGJBSR95968F0DZBEYGBOY7N8U64B0M4C1SON14XJ5TRUM78FHJTMQ0MYUSHEO6RKVD3WQM67HEU3WRN47PPUY1GSWKBJFV21PGX4W0Z00UQO0LOQZTK49H0OYHFRQX6YDCE5XYFFI34V1ZDR2G05T90ZJWZH2396D4MHN1NP0JHY7BTIXOGY7SJXHBEHPA3I8A2M87PEH9WL6L3JLE6 = 36#33TXSL7JMAX1G8FTAK18LP3M4JM1BJK3AL6O8MUL3UP79Q65GN * 36#LP9W2UEW0J10UK0C7WC8J7DQGPEMSNKELJ70TVMFG27GDUF6CBEKF7MQIRDIXVYURBPRFNZRYNWM3A21D1V36KIUYIXQFJ519EERG1YLX9GIQF2T3RBXHXITMMGRVCT38O5ZQ9RKSOJ2OUIX7X8S6TZ662DI1E8O6KESJPSTETUEXWIVUOINCTRUPKGPMQS2ZMJRC9O65NDRFQK6RQNNX6C5LUEYF2XS9Z9VW59N7XNTUNOT94Y69FQL36T1TSLNX0R5LSK3ET3RGHWKBJBLWAZ0ZR2YDCKA2IHLRC1FU6HJX8AUB17U99H2MTUEA01O6WFJTM678X4N7DL2TH0N7TD735XDC4GPDEV1MH7K4JFGY6LPJSIPMMSAC3LALJNOIEB1P3PWJ6JBMYZO1NX21NCIOBFMOA4KND0OV7L01VX366NFLUJR3H1Q5C0O57SSNTFRXIXB3GRABR3942S2MYPJBSY0SMJ46JLEKWTSN75ZGZF7S0RIXUB9QA7XC43FCP11OGU3TH6NDAM5U98M3AU7121MAHTKTR5RG16GVWB7X611PCQ2HHTBCG7JNC6W9JIJGWX0WK3BG74SCZ08TVD2X2RC5H2I10QI26TO41TU. +36#R3R9NAJG7QH02ACDMUNEEQIYWZKGZQ2S125UDPYI84G5Y8LZKGRN1NQKYKC11WZKFNBL346Y32YETOVRJAL3M72SSG6AV8AKJKB1U58H0VWLK3DTDIPM8IODTQVYVG0CCOC4Y873WBQCXUQRP58RWNWMTDJ0BLT2UYOJ2VR94A034BJJOWV6T4IXT7HJVNH79I01LLIPSFPOPJCFWMGIZILTXYJ1K6159LDICGQA2MM79HFDZGQ857WLOJUQ0E64WCZ90WB6JTKATUM24SCOLBM0BHX1ZVVA6MZ88HWC37AQYKF8B5GFKT52HFTTXGXBF = -36#CO67SGRDGNB4FF9OIFRIEJY2H39MPZQ3H0MFCUIJN4VYBWRPB4Q0BHCK26BHG8KDSP8RN4XH5RFPP0863B94S0YMV460JZ6DFGR2UKCI7NU1XAL5CN53SGGGZHEOO7B0OUVQD0AEBWLK9MBYEWMKU40W1UGD4KTO2W8VET22OEC06B6ER033B8YZSNTWN2WFATGADLID4UXD28EEBMILAI22SG7GTIF7COT32DIZT7HVWDZRMKATZ37U30AGNG3V819VP2HIV6NYXTU3 * (-36#2505LNZMJ0NQGACWCMPW6TISVOW34Z2YQTUGG0IRL2QOY3I0PT). +-36#2VIHWB34N2EA6NQIHDWI6VG1B4TU3LC7WORN8ZURKW7O8N7NB9R4MCCTMZN7LSS2K2FO91BL4S8NTN4S7KNTMRACGD2VLU8UQFF = 36#231VMHDTO6BK7S8LN67MXNAF3GT8E8LB45O7WSZRYGNQRFP4TL * (-36#1DNH3NHMNVMJVEKLKSNAYBKNFPB151KCNHMI3GDJ0VSYRW83WZ). +-36#9IU61H80DIFUAC53MF7N50GML5FN5C9I60FXU798R5QQPDKKTK4HH123A8D12790MY849241HLUSBDTVOQM71HITVYTNUJHM63UR0USNS9C3E27JWJDLM4ZLOGEZ0BYYT5AJ6JHK5F4SC1XOTMUQCRF28FJF6J1UI4P9AK4UL53LKU0FA588CP11O052J2AFBEQW1NOCUX6KGI07D0Q7CM7NLAE3GVA7HUHWLQ17 = -36#PAPX3FF02DMTB1BENSXTYRATIQ2NN4W518OLNFA3KF2WFL6RLT1BCLY8P8MZVVK0BA9HTEULDQL0UIR0PSPERA3H8AJIQ5P0LH25J4QYON844C7R8GYCB8EBFOUZ23JXKFYERBLEM4D2V2MIEEQ4MVRKZ38L538GIK2NAKERXP49R92HEDZ2PP10TG44WRX5K75RPF0MB3ZXWTSLXWGEV6HVUF3W9650L4325S1OJ7QD7T11GWA0EUGTDFE78K1F92C1P2FXO87SS6D6YT5Y4872E div 36#2NMPP31BN1LTJBII9A9Z9YRNYN2PVBOGUQ4SVE04EH210CE902. +-36#18SYUNY0B2T1T8MZBQQ48Z5FPHK07XNGFPR71MV3YEZMFXGA3DPYOEITPCV84 = 36#6LOR30YTCOQWEQKHKLS6IRA2JXM713MB8K9AEX9G5BO6KG0C5MU9ADM21VQOB5OAV7HCV7MPQKF3D2AIFUNP69R17T2MX5O1ORUCSA2I8Y9OY5C4SOA13R54IL98XO6SOIQOWUBXD5A28Z95NEKH6WU6IQ1YU0D6HU2Z6L2RY0T0SM00ALUOR2RQSVFC6NCPOQHOKF0V0AFOQ2BEII4LUYJGUGF8Q10AQZ7SVZE8YL3NDYCCPC6FMO6D9WIWT1OQG21C3WL9MA5SZ7NF6CJSTCOTIJLVPS0BRSHI3PJXDQH2RJVNOK567VGQGEIKDPBNGS8O7CEB4DFYIDFEM4J0E36A7P2KHRSTLM41EEUPPHHFBOS2MIT3DI93312WFBJ4XZ6F87VKMDYQ5TIES3JT2KBOD1G9WFNSR28B4XOL2NIFN12NP7QBHL780RIEFB4CNMSFEO9R8OTR4G42THDDTQC4CC9VMBX42Y3DA5J59XQSCG7QRQWGFEL8M977XF7KJ4KHW6UFMI18PPY2W4J7V8TX3RZ10G47FWUK8OSC57APUJSDQJJ56UDUUEEOO10HFTKRSBUZUSCRXYYFRE6X1CL88OBWY57CJNFOQ38XQKKSDI81222ZCDYBICX62SJAMPKGK49OSTXPPYL7A5C div -36#5AZ8TM97B8NK5M3S2OM40V9DHNQXUTQAYO9VZR9Z2YF4O64B2ZT5YT2SJDHW38VMRYT7VKQRTZ0HSM9Q562HG18XORC1G3A1OB5K3V7LGQWB26U6AJYY9J6K2EAOLOBKF6SIHRKIIGKHGGR2MICZGVADM9XXZJ54FNIN5UVGQ4GY1AB5VY9IG68C4XPVLV6V7C88HVYL9KBKNTTOAV4SIO24ARCBJE88WQSBBGWCLQO8E7L5PEA2KR9OMTW27S8C2P0K99WQ357BAA0PRGINYO1WSBS32M80L5C7Y3YUNQRDD256RP2R8ND51WLSIYQ83U6NE8M7I4WO8NBHNV7TFOF4G5XB1DB6UJL2SHVO2K6A9BTUPEIHG1VHOXNVG1OPQKKK9UOFJ13HY23D96WT06M08L1ZGSCETFZDCKDFULLGLSMF499ZB4L81D6RN3M94MZ0NPYNAPCOTWZYXVBXSZ40WJEKXEISA874U610PMU853FESYDLKVQFVXQO8FMUNQ1EPLBFQBERQFEX3YDAMIURLXS0WLOQNW745ENF05I7J6SAJMHCDR861DV9ULPWGU0BGI2UL2VE7LD9TBO28VC. +36#1QOED7OM7ET18J9P3IIVNEY802L3TZMIIW1P8JX0FGXT81MA3S4K1NKHQOHGLOH9NGGPGYUOURZGAX6SND2O0IVAZ81H4I67LUVED012R4RU7K78UBXX1Q9JHNDB8M3E9E3O80Z1TFO7BD43ISI924M5S6EF814KFC2JFYMD2AT8T6M1VBQWUET4U9RT2M6LVES92CVSCT33QV8IIB2GQQFY140TN4XNRLWZWT537XLJHBZ8TN95VQHGFUJV9M2B29X8B3HH6KTHXYBY1DSO6SA0G90HEU13K52S19LCBVG8C8US7M6APFSD97M96XSW9XB89RHFD79S38X0IR7IKWXH5F9MDKU6ASY0GIWZDN4MC8QR32YQRVAIQ4CDS7KIQA4JG0LT8PHGD2AUNSKTD24IE7K6LY86V6CTQ6JL8AOM3VVDCJLVD7T9HTPUYA6DYXU0DPJ3JHE77FUUAMC0D6173VDGJ9L8B67O38MIEY5ETJPTS7VRC2Q8IAGX0HJ3H6VKW2EAKMIE4Y03SF8ZAVGBH1ATSQ3Y6YPTGIMVPT6BPKUQLTZFDEUF848LJC49HQQ6IYBPX7IZ4BM7Y18A1KLC2RUG6U9JR4TEFNNIAK793QBYDOACM021CR2EUU50U3KB7BYZLNHHQXPI1QRYTEFJQBIF54BBVCISE1ERRBO = -36#55K22HOF6PSKYR1DS8WCO1LH5JNEY3FZWD5G2TO7HQ9OEYA2X9IXGI1139J26WFYMQDUSQKW0LJ4XZ2LY0PSWAVDI675B80HUZEZ3RJ3L00MUQZL4PX32ILQ7C7M4H2VFR2UH40KUKAZKZRM3PS6JKU606A2XAKELMEL2YIJIJM1QD0HVM7OJS6VLR2MNP35JQ7J8U2TULLL64Z6JQG9DIW5MELSFPSRKF2GW9WF1YBYWD816DQCVBD8FWHR0MW9YTL901QJWRM4JG7BZ5EJXJMKPRVNLJMIHJ50NL8FSJNX0WD9XCFZ80YU3TOWW0J3F395X3CJ8MX8XX3AHX617JDACF6ZJVK5B434CX597YTO5QBD7VMJEBT71YWQSOMYC0ATUZQP1327FZBMUK0W7W87W51ZSTHGLGWU4ZCG9HJOVWUHSNQ48WUCAGIOTA39WU6PANHPN2C0T3KBMOIA3EDLQX22RQZBYMTWA5FTAIKQ3MKPLPE2C7QLX9XR22QOOTIIJVBJAANNMA4KPWCKG2IPZNFJ4TE5NGCVMBCYOMYWPGY2CI5VCB0LFPRZZIQZRM4U5SW3QQ3RRKGCA5FG4N39JMA2G5CYHT60SMXVN3J9OQJ90C2GLRVC7F4D32NFA03BS7IDKM071WTG7ZLX6AHG66DH06FXYS9GZVXMBALR93ELY93AHZC17AIRDUQXYN985A3S72O3JMBQSMADB59ZNDRC div -36#2YKSU85QQOK13Q24BGXJB10TYHJAP201WN9NUM8O7UQZAJ5R2Q. +36#9RD0414WKS1TPWJNRL6EXT6HKVW7DYKVRCJZ1TAVD0AIN6PSE3ILJWD5RSNT3JYAPLWOGK336RWJ9OYZ6KVJEDXFZI73KGLD9II351GATHAKBMHKI1K8RSM866Q11WJAT52QI2Z6MFAL5F4JPT8TDFJXYUVX6UJDE2J1NFYJU5K03IM3MP = 36#6JJK9YDVRO57A7H20WZ8H896ILSU5PFCJVQGKQNP0JO2BXXJTT77WU6EZDYBE4QWMEV4E062QRN8SMG37JE0OIYXUW44P3OIOV2JXHFLU50299D7V7GVBIL309A5WO5OB4O8LPWX4N9S6A8BM3C6CJDPVV35CE14BEHCJI6DE4B4JZHDWSMRTEO5PK7XEU45DZADJPWQI3I4QP7153U1JB4SWE2RWOME5OI div 36#O4SYYAYJDTYMN4LNT21RAJ89PNN30C4NUMBX08AU8TGRGY4CI. +36#2TEPGUU9I09ZESMWUG3P92DV9NK09798IPLH3KQ019D9I73T5U6C6A2U03MX5NN4BOR3MBA3D7PXBXC7VTOLH4G2ZHLTGCTJQ73TA340MWQNU12DWVG34E3PYQ6N5CWOEDGJCKSK65PF3PVQ3DXJNX67MDNTAKMJL02K1FP4QLPLK9SM98Q6LDPECRU2BZ1L4UKECCROUY54OJF5GP36CC6XRYW5ORV0OI3ZTV6DWQJEI26EZ8G9RBLTGG79DLUO6QA7AONUDEVIXHTI0KD3CS19BWX24UIAFAOV3SPSI99XA6JSH39F7Y37LX789X33TKQ002IY0GG12XPWX75WB1V508L38WE5D1FILFC45E1ZFO6JG4YEK9M2QMCNYNP39PGAWGOKPWRI4Z5VD5TLUZBZC4THR2SJR28RXWXBSX2YFPODE8X7HLWSSS4Z7PD9F6BQXCAXBUQ8QNO = -36#62MISFIYOELV2P7KLBENENOKZJ94Z04IJMDN84CJPQ1ES3U8EJ87UAVW1P6SD8MCNZIXIYM2SU2MJOUR3FYCCKIO5EBK53YPFAG3V0ZZE5Q3WBKLK7L7ZEIKXO9T0FFD3EC20KGY3BIVLLGLAYKU3MZPHCAIP1UWOME8LRICFWEGO78QMB27323U5040IA0M659OVM9XIINM9MY2WU52JW37FJYWVQL40VX7H7766B7MH9GP0U8AKAZRJ5RY75Q2MWMLAT1RLARSLO2RMR3SKSHVEQH6RQJFTBFTELZOLXJ792JUTIODSJNNTJ0U3HLLNBPO08MKXUTX3F0PRZHZ7VTNJPD0EQCF1DN8749A4M3RAC1FZF6D6FSE85TU6EVZRI72Q3ELB9MXIYI15MOWFQRQ1C9HBAA8RG7NQPT1GM11ZK0J42T34409J0JK8KXN9OEMLGB3C47GSGHZM29WIFGC3PI2VO0V38YHOXIWBO70AUH6QEJSGRNH8ZCFWA00 div -36#25M16J7F87JSELHEYULNO5QOG5AP7X84EVTJLTVYM6AVWY5N60. +36#2RFZPHD3EW2B6XMOXD6TJI7A3I9IHMAA3DA4V3KW1NL8BT4WSYAAF89LMDYPRKK3PYYJ4LHI5F4GVBLZ0LS7LXO2ZAVCDMQCMGEQV69KNMYHESUT8IESUHY4XXKFQUTP8E3JM7YWXPTQUF1K950P88XYQYYVBUGYJWJBV9S3VJC0XOY436IFMPWDM0OYW7QEY47AQ4QP3LAW7TPGQND0XA1TA84PCVT8H48ZRXLVWSC82EMQOKVRABYV6J8LN0H2CYL9YIXR3IY8Y5UBCEB27VCZC04H6WKSZOQNLNV30W6SJIDGKYCFHOGMRWT8IJX7CRQ9DNT2Z6X3GFV0GMM8DPXNEV6QO1E9OO8RLZCQZZXMOQHKHQEVN1O50TGJN9GQR2GFYGKMVQPCCZHKM0JAEQY2U = 36#780LW9IZG3COMATMSSY8HNTHR0JYKAW92T2J0Z13U2A9MYBAJA5GD0RF7JQ0258RPRRS838O2YC4OPVK84H8PRKUV7J5JPR3YDQJ8KFXGU1E3Q9RUOAOK9H2XQT7U5KLABXYKUA1U4RBX432S1C1DWHAVL0WUJB2SOBUW4AV16KOE09W19USXFSBXGUSPT0P5KHVAY1M0760HQYVF1ZPZVLXQ31JDRXG4YAOWDWVUXE9FIY3IPK5YWGJ3898ST696OBARJY60JFUPUNDTGTUDL549HLVGP7HHHVCW8BV61TRAUO8QXQRFVPWPA0SPQ1FIET6VI1XH3PVMTSKGXWX5C7BKRM3AUC76XAMELIYNQJ6LTZ4C7QV2WSO1PSEWO4WCPY9246W9QA4MO3AMI410DUA7X4RL88AIXR14E2CNKZ1P6YVALAVZBS2MB8OEAV5LF17NWDCZHSA8WV6W3WY7EUDD7GRS31LGY49WZ8DYDF60LBUT3A4N7MBIYJM79Q8R6G3Z1D0V91AVR4GJQL3FI5BQP5ATAADF8WUB8FG4MQ8LDB2X7LYLR3VJSQU59J46TG33FTERKFF9Z4LPV4V8EIEJKE36AI8EUWGAHTV1HEQ0BFH1TDOU6O1AO0L0HJ1Q2VS7IBTI56AQTP0ZCI0NZ0E5EGCJJMI17LBI4FNZ6LI5FIY7Q2A8YL5KI2WZ2IH189BSJT65WSSNR7AB9U329HDSEO5E0IDSUBCB95GYFZFB6EPUDMCP01PLOS8V5H0QA73RPF27ME7T3YPUSHYR49BNR8G620P3ZXKW723ETI0I8PQ6D8NU1MCHZ7ZUVJ0ZZIQMKZTT9V3H8QVWS8675EKPC8EIFA1UGBUT1UZH54IK8ZS78VEUMO1GU8916OJ3ARSE8KAWL7GXIQ6D4UA4089VC2KYC8SH1FI3VGMSY1ONOMN1BMA7UEP4M6Q3YT1QEMX3JTQUDNFGFFYS2844RGC8I0H0YOIZ7WPP8I6NRCQO8AEX12DZ92JAMGW5CUNQ1FK9ANOI9CIP8FKF7GK4KGMY3Y32W0J73TOJUVUI3TM2663RE5FQKYUUFO71T6HEODGXGCH12WWAKCXDOHCH14DHGT9EVB9XWLC7612GSFXCRLVOGJGO01ZX7AU49ADNHZVZXNY5XIMT8HKX3WK8LSXDN1Z23YGWA0X2I7MWRN9902RAX21Z9O83XAJTC93J8MXZ02E39N0BULFY4YZ3S1SA3GKEVHBHHB2GARRX5TNJMYA9SX0NJOCD0FSLW82BWYYTMRA4YYFTDZKGH6FPJ5WOSG3LHLJEK87EXSSROO1VFZ6ET4EX629G6OHL4TDT61Z462DRVLOIU4WJI5FLUGL2BGQYVF17J8GEFLHSFYF1IWCTIR2STIF29R5YHOM2QV3WCGFXZ7R189HN0MJD353I3753LHS2F9L4IGK0BI6CC837YCAD3GG36HWDPWHE2CIJS6VWM40PRS7QNWFYKUTOHFDOXC7E1MQ4MWL245BUKD0FB2DMK9DYR38PUQPZYH3FDK8OJYJ97U1OBYZTF2G5LKBE090W8O3VN28KZVBYYBKXGMZXJKDD2JRPEL8Q5HCKJBU1Z6YBIHJG3JA249XUUO7QXLTOY7CDTMJU3FGLKSPFDBQN9DP5103DUSGC div 36#2M4NHKMQWUJRMT579KG9IM1VN2K2XJK2GJ1BXR9BK8BCLZA3Q91BOMDCPY3FSTN099Q8N2XMN7555GUKXB4KIDQ5CSRVPWXVIAJRHNZRMAAJMERLGDI49KX83O2L4ZC896WXK5AX0CHRTVMF0YVXDQMB8N5871HEN57VAHLBX2V7JQGXVT61Z1Q0HLNI7SLT99WHAXNBD8QWK5JRBRSVU3NIPORKEEOJ7PYWJ48FU89YXLOIHJT8RLOQAJ89VFITAJD3V5KJE3T237DNHBFNBDPXLMILYZ5ZDLOTHZFN9HSSRAQVKMDLLQYIDAUT2WFAG3EP26IOPX1XV0327IHW3SW2FRMS01B1Y5MXQY1IB6GPOFPOYRRY2CA322TPW6YUP8FJKJF0GDSH6L7LEPW0S8QURJWDAC1UH7TZC59KCSHDRXOYS1OVGE6PGV4VMHS4U5N70AHKA9DGT7LPTFW6HL5X7D25CDR5AGYR3JS820AOUHSKU0RTABD46RLMC6E0WIH2IZDXY44NKQRU4AB7JFD6TV23MFFKN3MLCXE4D6T4TILJ0ZLT2TH95M0KXHJ29UTC7B86F0FHRH7NTI4O7TOX67JKYZO3TZCG6AQKUZL2AN13K285YKCC06YBFSRV7ZPX5C4IWLR5PCQ203C6180TZBEN9ZO0UFDUR086Z9M65UH4NSX9VBFEUPOBLUTW9XOD0KNH52IRBCNAXPJYPYEUFYRMCDYWS0VSO860NSDW32UIUQBNFRDBIYXT5038D53NISEVHETMV8LLTYW8P7901JNLRK2OKIMHGW6KQ02PWUO6G5EWQ3956CFRU7EUIB93XA94NVMEFCIU4P50WV3DAADB2UXXZAYGNIYA09Y6FT0Z6YA5HSBO2UXIWR21VZ8WYX6KWY2O4GR4PYK5HHQ7NMCK1KGDDEXENN70NGV3676YCMVTWFUA6V02N8R63ZYIBQJM1Q45OYK74IO5WIAFC6GUAPYTG4LE4RT9XJBMEALYSA3Y8CUAH06OB99SKP9MASBG79NAGJJD91HX7J8YV6T2CGXZE7KMLPEXWJQ3K91ST4Y2U8TAXWB8U757D58V4IWT8RDEG4PLMDLPQAGKB7S99170BYYLHIZ3GMJPUARPBIDJXENUCAFYW4XWP9VRJ5UWP28K2PTHOKVDYBPKZ6751GB4IVMTMC9HFG6VO7J3Y80HPYMV1CQOZUFS1J8TKA9ZGYVX6IAECKB85YH2PS6H2DZ5YQ7H9WN2A. +-36#PC44T6CNTM0LSW95VTEJQR7JC6CUTGPS0S6MTF04Q5YSIQPE48YX5NJ1KKT4SGEGXF4BHVD8BKO8RDPD5CWKOLJR3KQC2RYIVT4H661XJAQ01BCDQQK2SNTBRLAYDPZRZ1JF67BN19I4I6NMYUIMPSWRYR7KFW43A88YKG6DDKL38FJFE3AFMPLJNIWD0QR11RTDYZ48Y1BQV6FAA1BJBPZFEFI9WWIJTUOWKOBPCE8CA1TDCX4J8JX6UNRA3HPF213DJC409DZ4CVBHDBWUKG97592ZFULLZTRQWLW2YYP2PGAVJBC18WKS7IQ13CTD9DWFYUMFH0QAG162VE3D3BJT3THCV1UQ0HAS8I5SQIKUPVYKSGI72D06WPTVGHV5S494L5RCW3QK76YPLSL108WW4UBTPJ13MOJGKZAUWFNUBRLW9BCURUQ4O248J76CQVQVSPOP2INIHN0DF0VA85ZRAA5KO9F25UVYX4XPMNU1YWPU1QFHP4GKDNEGMPDB5WKNHGRTC0M6EQB5BOA4HY8BZNW9MAQDXSWLOY1PKY9MKGTSSAB9FPDYBFJHWE7SJEE8VM9NZ25TH7ERCDCEK6AO15PMO5VQI2MQN9KCAKGGG9WICY8C = -36#H47PDO0Z1SD788IPE885T863P12W580GSUGAT76HL56ST7TWC3KMIBI16MOQR5MEW74QLA8VW62EELXPRYJA89SVCO00YKFIQJCAX36XVTCZLP7NINEU4N39RVGWY4E0Y0MMEUB0UJM7KU1A0HE2ETLI0F2R0929JNW2JTPSL0XTE67TJYUIB2LUHZVDDCM5KW6HYIQ31OU0QBFXBFJ5UNHVYVPRN8ZKNFLVGLYHJQJAHIXIBXZ7SQ5AF3QGWRIQ4FLJF5AK3OMCO609TWWIMSLO6O0ERL44UZ1DK2UUB448I5RFK0SDKQ2JRH57WDJDQPNE26OFP3RA88A8I7HXJ4K8MC59DLUJMIONTU6TIK8GL4XWFOWTBSJOK2JGKIQB5UTUKV9M76OX3SMCMZRYT1Y4MAQKS5T5HWODXNE64D4YB4LWQ52KFOMX8IMCZOW61A9TYP6F18TWM3B3X5YYWU4NBYWJ3IYKTZOB8FOPFGXDIPUL8EMMWE07KR399480KEVGITMM0JK87KVOYLEUY945OXSDSIYAQ332DKRWJMS9WSQUP1CE0G6ZSXBOKN1PHS0MKCTNE3H715XXLDUFQ3HM8PFU2PULG3UP1C3TJY9O7OHORPI2E3JN6NM6XS4KYRND3HQAZAEDJFGKU5C6EWMOQ40BGX5H854TST31221TM8RE6KV7Q88DEB0HT5R7X10CSYHST64ANR5HRKU4C div 36#OBK8S2NC6NJ41I1FXKKNUCS4EU1TSR473X5B95X3MNSI3E6OZXOKM30SJOAIH2DZIXU8142LEVSP2MLG7PYNY3TXDA0PGE8JP. +36#ZZKIVRAY1AJG8U5745KH6AT3P1N8NOGLWI8VJY6G5HL7L5Y62IOTCB61YAJNTSJRAH3N98Y8ZZNG7DHGCFZ07H1XM536MOE718MN2YYTKYPDMDPQO8RKVNCLHU3YANN54KU0WWJL17X4J6VULH1K154SQCN98VVBW6N3EY82SYS53S675KUN4QYGU1KCCO60PUELOAJ9ZY3U9HGSASDE622GA6664C8T7SIDWEB2HFRYVSA30I5HFLK8WK3Z5J204VIX01Y0F04C9XCGU1OY9LT6MPH492VQ3WRVM2AIYKQU0X00CX4KIYPDI2M5ZZDGAJOO5UXERIBS256OBS8BTY7884CP5IJN0Y5U0C5WB22PTLI1XWA68OD4VH6WZPV3UMCHCZBZFR3JLA0VVPX2002Y8HRKC785DMSX9IR5NPZY7UC1XEKPWAYXFFLD71LWO19RM4PA8OMOVP1NXB33NGKR0KBOERFAPNZ969ORMZK3EXTFBGAOH8C8OBNCK8NPY2ZMX540FU2C1NSNNDAPCI4HTR3VBBCD6B7KK3GFM3EK13GM3BHTMG260OR0L438XFHHX4D5SDUDV2JAI4G54H2M7TU08I0TVUCIQWQ4BEV3OO8R6XQVBJNKLWB75 = 36#4UUB4S46JYVK8IFSHL33TX5C4IIH4Y3MVD9VLTKG6CW0I9HHT6TDWTN6G0T5U48FV62OACHWPNPM9KYOI8UYHOB4E2IOQ24RNQ7EEXAKKIVOB4MREYMTXN35N816PJNWWX4QFJ5QP7NBDT1H0WS60QN5FZDC95KOGZN868PBABAFIEY5K8UWGBAHY6HNMBC7FV9J5HH05V24TQPCGGUI660O11H8LWVNNOSS6RJ21MX8NKS6AOI87SU2F1HJFS02BN6M4ZN6F2MYDRF77J269P64LSUNYUACDRTTLLK4KOEBL66BIV7A9KKZMH04OZSROROTGIM8V6BWTC9R46LHS71JCMCSPKZ13A3HVX9MRL6GRHNLLYPMJWLKT7OOZ6S54U2E61ZILPW6W3JDIOLZEAHW287GEDAVBZ1WC97640V8VC5D8LGGBJIDGS4CHRGAAA4BSKKURTMF7DYIRU0RCO6H0T4BT1WSDZF9LCX4C0H97ZXR4I3V7P7CSCMKQHK83BDKHPM0YCFUQOAV8C20Y69S5WUKC9H7NHR39LRU9XAQRHGFGXW04BZ124P4RQJMDHLQX0XN3FBK8MSN6L4QSZFXN6H52HCF2L2X62EO2MACPEOLQJVKAF5Z67P5CE7ZKNKW7XY2BEA3HH0JKE94VJV81V9UDWXLRLQHSFT80SKD72KEXU7BH1MYREWMET85K9X4F2G2YLWE2IJDXADNJFBWUTHR7QDCKG2M1924L948XH29HLI7E6B90RLWQS4BDICO77F3M2D6ZC5QIHIOC9INE3SXSWI16Q320B8REZCKNYTX0BKNIT16GWK01PJ5PYNZEPZLDULKGH4Z43O0MT82SHASBJ9CVQ5QYDAA9878HUWDGN2Y4BZ81B12MH6VCFU76LW0CYACM5Z6SWDRKH4VNWWOQM8AVEHJ0PP1SRKAA55LWRVDTFVLI2HT4J4Z2QZYREHZ69SPMS25I4MPGR8O6A5A9DH1LP54H7SG077TN8N8MPUDO9DUOP2JV465TK5T9Z5M5MO div 36#4UWEBFZK4TU7XGUGI7OF5K2PM7YKN48GW0I8G0G6IAMEH0P0UXL9WKXS8NN44R6KYNDTTWRJ0UTZJZETBS6HJWISI9YVAO3OIN4A50OPRH1PM62N2D35LNZ6UKCKHI8L6ZTQQYE9V9QFQD6FTY4418YYDRISW8C78GHGG4B07HFC8SO92B4QEZR1K1RACOPFAMZ9PDIHZYLXIECEGQT5OCQHDKDWFCI0V7Y5L7XZGD6T1ERU23FWS9I5RY14BJQYVNSL54E8GVSCTEA2DMB3TDLNBV4JB106S888RWQ4NU2RZCAOIQ8B58FMYRW3T6EM25WC4AMT7RMLKXERE4O4275KS6G1MB312ETY21SWM7BJAIKKI8J2FYXNNL9ZSHM3CI3Q9BJ10P2J9C. +-36#4S54EA5S9KYUF5VLWQD3KVHTUY9V281UHKVERKBAS0S6QIHSD = -36#5GORV08BJ4RZ4LYAWKFPAKKINZ1WLHSRHSN77DYUDBVOGS7PRBPPMCDPRJ7WRHCE0VND0ZRY2D8QICC9QS1PFYML8TSUY2KSBFVIICLQQY795C2GM6RWISSR8GYM5ZIG8GW2TS31O6FTB94FSDK5WK4MDK0KJ3VHFHMD div 36#154SPKIJ0564UUHQJQ7HB3R28OF5J621REGJON1CSA6AHT535T0IUT36A5I2ZQP1W3ESO0HVNZEI4RQT60PWS1J4CU26D7Y8JZUH5COI276BJGH2N1U1. +-36#ZN5OF09NRUY3ZYUCS835ML86FBRPUBCII18Z3JZI1XAL831XA = 36#TOA520QTLKFRJLH5RV1IW6DQO3O5RH1WNLP2TU3XWG03P4FDTU9RLNDALJF4E9IO3INCJC6GI2CBCKPHJXYTRX76DMHFO2DKJZP3XE1QEDS8JVRJBDF7CZDC div -36#TYZ1IW75Y2YMM0MYKVK1HNYV9IAQG554O88SOV8XUWLWU7F91R89Q44WRXUIH8EZWLDGSJC. +36#2A0V34XJ7C1S0C5O5XGC18L0JG2JO8NKTOCG0CXQQE49KMG0FO4CWRW98RR4WBXSPWOOWMB1GGAIYRXC5S93UE1GB9XKM901SW4D0I956YRQ15JRUJQM33ZAN4ZPOUED8EH69KFDDRIAT0LWKVU6BOUBNKEIA1GNKJCIWNZU5324SIQ2QD = 36#4CFFM2KJGYH4BY63PB8UQQR9L18IFRLDDK3CV5JXERMXPN3SYVGBAS97NGLXCIOMF2RYJIH64DCCK2V1BV0RY8125K2DRRO4NG9SJDQNMETTOKTCZ9BJV2NTSS1V1NK8K9SUTBQ00K7QUT99CQ32R3D0KT15DBOKL1K7ACZ5OM2SVT22X9S9NJ3950BYAOUITO80LOEFQPT1APKJ0S5JA41NB04VQB4QTDH div 36#1WNM3EKA2A5V4IH4AWWFW99Y05E2NZ5PLIJUD1J6COF7GPE6HT. +36#2LTXKC1GWFI45UPEK097OIZZEME04CKALUKQA8C4J7EVB1O5LX = -36#10CF581S4H2VICW2P9JND26DP59SWHF35E88PTNCBF9GSMNY0FHSPUZNAXVB6BIGH8RXDOM9308Y0VLV6COME11H24SDYEZTAHU91DXH17CYQK896ILUH77K2IGXNIVHGCV8J2U6DP5B1MC4VECUHHE9AXO20I6O8HROFTF3CIQN7JE96JVOR6ZG2EHEBJCM5QPRX17NO5CRVX47A5A49XV55FY32C9HUDTMQ2TDIU45SH4IJQW1NROZ6SUXPIJ3RGGQ5SNXFIHFWI4CVQ9NONF9SE2KCYWRZEQCMUU81I8EHA6ONGNGIZ9QUHAAP7GWB7TUILA8R7G1KP60TCCKZFZ03T0FGZFLRYYFEWZQBJF10P0OAB2NGX2398E5BD0RCXVJKRYCYIYYHH6M0TX7LTMYPQVW3XKBD5YTEZ4OT24Y6VVRH5K4Z9D62PLKUEE1K2V8CLC9X944GQDZ4H0UA645P0W6FTDJRFGI031302GX0YUX9KZQ978UPGHKWZHXRIGSI55XKMBVPXIGCX7UVHNQBFYPXSGX3 div -36#DXZWM6N64XA8HF8R6ONAWOH9A9431IP4S6YGAML9D0IXEO6SFINC2GVB8WV638FU4WGUUJE2APRBRL61MLGLB8Z902WGF8F093Q32TBIBO4VSKAYVRTVV24M0WBR3IOK8RA7BPJHJ9A5THGBAS78FQ8GQ2TVMUVT5UIRP3VFW84BV5XFDE8SQWAVJVXDMYDOOHNHZ06VZW0CHX5QAYIKJGWDJQPEPTCZQIRKZDBSM1HIUMICMZNMSI1CHVNCLI11L9HDJR8YQY6K9E1NY5CJPPUFFHMGYDHWRDGUBKMKCPL6PIHMD5GI7W0T9JTVMRKMDKSK6G51AS4GG9IGN4NRCJV38E7HZZWGMPPTB454T6V6N3VWJQ3JZ51NXJMWXEL653AAWXB1MKO6PKG65TR9RWF74XJWV1HNWOLIOA2TSKTCU7XCJVB15BOKXZZ0U8A451OIW5UCPA1FWB22J0FPW4O4WD0LTVJ5XB539M1194AJSPN. +-36#2A7UQ8SQ4T5NM5SN4IRWMHC8IO44B5RW2V635P8CKNI0O1JIBSG75H2BU4NOVOEER2VWWI6JWD96HT3S377HF7EVUC87I4QNINQNVZNLV7B0U0RBV4COWEWLJAIMA3G2INLUSQAMB116N686OT2Z6VGRTM9E6QQXNN1EFH8KX1JA1KHO8FLUIXC59VAZRLRMZML011X9ERBKOK17KDESRB87DMHICRBOTHNX3NE5CA72FR324S7OBSHVLNZGJTH8R6WQDU0ZZ8O69UC7GNF2MO6WMVNFGL52NQHFJFEJPGT7FS126ZHYJO1E0PGY4RVUY5Q3B4R2R0FHYNGXFFBBWYZ08ZVKNY2B4SXBJE5FEO6MH9QHW60XBVW0UW9693IT4V49ODTCOSBXP4M3ER1QBHVBN1VMVVNI4AYAT4CDJ97K9PB5IL0FUN09KJ8P27UUIWYK6F3OTM6CBCQEYZ4Q4EQDUKW0MI8MA2QACYRK64E25VKS19NA6RRM92N4LAHJL6G1AE17TCMOP12QP3JNQGKUU3SLB6M2LWKMH060D0WBRVP3TNAE2WHDF2V5U0KS7I8R0U3P755OX703WR013SZSEBAUZI6Y6PIR81OS106LW06NDIYY9CN04L6ZIWVEAYQJ5I1U7BXBGU3IDDUX9DAXJ7NEGN8A6UH4CLD4MH4E0OGKIDYEXI5H54WC5KNR9J8X6J7E9H74EF2VUX8XD71RIRV01P0AOWP9Z5814JV60Y7JCJCBKVXZ526KNXKT3MO698WDO4TDRXIQMGMNE9BIH5XCSG5H1UJJPCCNK8J68MVSMHDLS73ZDRSU2F7V9XW29P7OSUXMGD4FE0BMKMHOM4OX059FJIHPHMBDRRP7DF78GEHT3QK3N2BGS1NH1DHBXH558FECZYX9DFUQKIRPJRX9MZ5RHX7IKQ0BYPZK23GGZ6PABYHP8PLRBMF7THDU4XEPG52ELWYETY7E5KZUYERHQVHM3T3D7XVZ3010L0EKE30VYAESTD3GX7GBJK4HGO23UXF474W4GWP6R5B8210RDKN9UC20QGFLO0 = 36#2TLUBM5D27RE7JFCEWVZCQH21GGQQJGE22FXAI7TYDFDPC41PI * (-36#T4P40RTE6UXYLQB01P4DA86LWD0CQFLG9GURUQMKURD3PE4JBTT4VXWKZM5Y0F53CGZZUOLH9G45TOS4M7U4WHEZT85KOS75X1O947I4XCFWHLUILIAURR3YSTD2GKGEU799ITVVP86605PTZEVT06LXV87SGEADC4FK05V3KX8VMY2JXGTL6JIUNE8SN7W0WWYM82YYTMD950K2L58WSIHJM8LS080W72675YWZPKMD8S31QXPK5IJIN95HV5B3XQUCKIZA6DPAL6ZSV7VL17MB1H7BAKQMIAMZ2FYUB2EBTX6L7XUDN5SMW794BKT0ELVVD157E83807D6DYG38GJ2HEWYAHRKGP0XARFVU1991UXXU4LPSRL49Q8UQ3TM3KT98IFH31YL5QYQ4N3RJ0LCZ4K1ZCK7MPBEJ1SAYHSWM1U3A8UZOVEF7TIGUAZTB827UX4XJEKMLBXMY0IVHKZ6SM4Y2EAEI3O7BDJKNRF8ESDZQPPK72RSWGVRCN7M6C5CS2IU40S1DOUZ2QRVKL458DXB4PTECVIIXU3A7LR9WQZ0UTGLFRGWO69TEA4JK18ZI4MDS5QQV61UK3BLAGEW7ZMTNFY9JCW2UBPNOWLNORISHQ744KTGN10990D2WRNGZSZ7WQ4CVIAWM2PP5G5PHTNK9EM4AILLF4FFPEU1FRPOY2HQ39H1RFNNY7V4UDCGQYKXICHOISGDNJQ3WM9ADMQOMVTZKX0AZA4WW800XLGFX3Q6BUUB8LICEDN2P9AILMSYH06U7K1XXV1T4CC2MTBHBD4G3O6M4GG861YCP2GAPL1D9EG49KFTC2IAY93PXVGPPPE3WFWAW2PFO3OX90RXVM1ARUJCYUXEA927GVP4C8QAQXNI6NBBU3VS9Y23QX7YF66XKI3CJHAGR4XT6GPPO98JNC66ZHG5224DQEB1PT8JCCGZUZ7J8W5DD7GRPVN3ATF829JX8GUASRB4AC077601I935RLEOVI9VEXMPP5KY3NMW). +36#V39L3WTJ3L8S3QL7DMHA8IPXLHRHHZ6SKR77EJVST2I6YBCCPZ9DSPCAC = 36#14V2R34SUNY7RG1DIF3ZCSKFI5D76ZYHKY8P0H2JQXHI6O93EINVUXDEOLWQVK9UB0N5KQKSU79VKEIO6AF1GBUW19U0WBZ4ZHRU7GG3HWO div 36#1BBD0HI1YQN72BK0JPSP7T8LL2GIOGSPN5MAW8A5V0R6ZBXT42. +36#1BHLOI9R9WUXVBP2D54F8M7HYT7EM76LQM6WMETR4WT64VAPVN = -36#2X2TFQ29I1WFTJHHJ73581AFF9MH07DPXQQ29GI1699EUQ7D8GT5BH24XU2U6NYINKW5214K2GQD4XFQ34PH3Q7M84JXT4L7910TGJSGTCU4NY6WWEDTM6E6T8Z4D6MQ5ATU99O84RAYMXA25KWFIMEZH58PP6KM5OL5EYMN7UMHNDAFGYX6JJIQ6CZ76KO8JT2LL2SMJ0PSTZBS1SJRGC70HXBTUEHGE1WOD div -36#27NN7GPDQD8CSCQLAMBXZ5FW3H9X7S0CVWROZQ2BQXB29STAIIABIHPT79M5GEBF46ZSLAM4UQ7U8GZMDT1FO7TKZTXJ0FG1NWSTT1GYE769XVDT3U2QEBAWJRRAI1PPPBY38ACV1HJLB1MGC50PF3ST5YINYC3I06X8E8Z7YRSXFEO5W83Z. +-36#1NNHTKAFA8Z590IBL4G9ZEUM6FRSZIKMGVF726NU4EB86KJS36 = -36#8COHRMNQLXFJL7TVKK0NKCT2A23Y3TAIX1YOQ3YCBJH2AVNT0QYZIWU97681LF6TY2RBG8KWDY10400FZPCCKPNKPEBJBKJVRTAIERN07RMQ9YM0FY1WWBO0369WGR7F9OG7F7K83CR6AKWNGEQGGSIZBQ4GNEO0CJ7F99JLGSCEZNR39TYO0CJB8P6AQ0D2CRQ3OF95JGZ7T08KHQ86595V0HU1O3F0JQWLC185UBC9WX0B1PC31A2W4KO4HEP82MRNJN16PO0KCBA0YDBW3NTN2M649ZZC35FPWAD6NMEDMJ3074LR58EJ7NJ0FMEJUSF1AV2WAREZTDR0YK7NPTMQPEIQBC5KMYH9LJR5VFR6E7OAT0RPNP73GEPCWLL7QN0I89OYZPMW4PMYQ2IJHSSA07XZ8NIRLK2BHM3295RZYOUCL6FUVSFXNOGKYF4M8OWIB8JIDRQJBUCBPAO4MVW6AQLBORSU1K6L5P2YN6ED141A05FKIJE6FKZG7KUAJ66BXIFUHQE7QJP65GJGWRTLF4XRIV1V6CLC7E67C6ZNA27C30A9Z7Q45EE68GJBN9TY2KJJMH5N8RJXNZWJ4SU1184SI4XYNXZ34YLHANVFCSJHHP7C div 36#51GIJI82KAROHVXABGQ3L2ZUFYIN8NADOVE53RYQCW88I50TT0GCBURCBTQIBRRP2I3VF8O8RPUKJYUQ5UUIT820QHAMYYNYHXNFJTN019UT05G4Y7OTKBDBRGOB359N6LOTROQOVIKPWKYXFPX43OFHA4V51VR2TMFV5ULVKZPS35PGLZ7YVQLTXF2YWZ504LB50H3AYE0217L20LS1I3LMLVKTVGJ365BBA7VTOTJX0MFKL3LLJ40A0SGOM3Y7X3UYDUREFKR80Q42RG4Q56FV9LZYHIM51TVJY164TYHI38LU670PIJV7WDF3HMZSCE0ZYFTHZ6Z1XN638OT81BNAA4BR9PREJXZBAKH5PMJ1YRPKR15Q8F7DZ8RV8VIBILNE9SY2V9D4DTOYFN4YM4OLBRGEBVUVIBYWWX4BTP067BPDALYL3QIJBZOLWBNQV3RH3T89XH4RGAI4HJV8G4UL3BY8LLWY9L03L9PH9EOL2XJO93HVJSYJ18WPJ7XX5M2L4ME3ASRUO6ZL6P63KYW7H5USO8A7854YIDJG6XGB0M4VJWGU0Z44VCAVOH9YG98. +-36#2QGVDSOB9TL50KPVHCJ421DWG9P9IDPAJE7OH7UYOMJXUIQAJ4 = 36#7MHK9RJQ2KGKEX5C3O5N27WI5GKQQA6P5LHP2CMYGE5R4KJRC51H6T8F9VQEWT661BLRECK09EEOW45S0CH8B1NXNEVMYQNV3BK div -36#2SCOO154SQB0MTR4CIYXFXWXULVWKZPWHE2QW0IHHIWOJMED65. +36#7GJCT05KOZ6AUZUGHGINTFPXUY257G835QA75S2GDS4809RR4DIACL3Z7BT6EZCYWACJLWSGSTEWWAQIBBJ2GGJS4T7VE7ERCJNQEOLYZ61OLAAKK10M3N87R8XCQQLAQJ7DH51PDX0NAWL21FPUKFQHP92UQIEQWVKS5CD0J94IB877008H6DUHQDEL9VJYOF3OELZ1QUCWAP34OZ616IJ69ZV3F6ULSKQ6M4R7S97FZTXIC8LYE63H54AX4PBN0EJ2MV985EC3S1WM6VLIUKY0R7NKQGWDNU5VK82RSZQ9LS1T8GA2EXNOKXNYMOGQ4W42NF455OLAADZ68ERVWD5C3H1EKMQUP8RYGLB5A7A0J2C6GCGIYO7JDHEFR0HS9W8743U9IRLKF3DWIGEP1TG23U0349V8PJMIB6823QOTOED7Z98YYKJZL3DO2ODIQKLK0IVQA5AA1DEGU345WC34KFRFG2H6DXKD2VB9NHQDB8S6YZ5WVGRBHD3TLVKMEGAYEIJ8PIMGBRTECNSEZ1OBTKUEZEZ5HCTBQZZN5AX8PP5MJLUHB7EA7Y0NGFQH6THH2O82AOU0KW8XHDY9CPPAA3RPM2PSZCDN2EWS45DP297RPB736SSH20WWYOMWXEW7N7HVBZC8CIZKEB9CA6ENAW2RI7BGF2D085520UN2XZ6QJSSGOG422J6Q4L90J9NWYVH417U0 = 36#4EK630RW30UIT52AX0X1E7ZD9OTVPTH5ZUH39NVRGMG7ASKHXQL2C8HV24F6XXLIQ6E4LU3W0FZ6CJID5O2PMN9C3T3VKTFS7V6AA3M7X0Q9FN80ZX98C7NVX243LZOVDXXHN54IRH1KT0Z1U07OCKO6COL1OJ0ZIGJH6MVVRMLBQXOYVQTAPAS9XD2FAE08TUPZ214HHUP8V9PBLIIJ27TWYEXI80FXCB3CN8R5SPAW14AIVTYOY24836YOLL0F1Y855IWFK5SRLT8OT4FSU7HHN3P3495310FHNF6PQ3A6OIP6OIFEGENAJPZSJ1WAFLFCPQ0EZQ4D3RFTAMK8GT1EZNTZTX02JUH84NKJHNPHJGP3LFM0U2FUJ5YIHIS87YIGSHAIRZKDU3TGIWAP68NCJBOZTP9JVPG8VU9VN7H3IMUKHKHNWUVLUB62L01HE2J3TAGYI191FM31HLP7QJQ6SXG2NT1EY0DCCL * 36#1OYWLV2FWPDYM8ZOH0P7VXPF4I4OVV98IZRDTF7GXN85XB4BXU5C4VVWI4IHVAWBTFAB7B88HKQ41PNX4PD25MHYROEWHZUQRJA73W7C5XMO3VB13V3WF9P38QCGJ1M1AYODEMDV016B1DGGP2CA65YN3H9LJQQCEMPZPO6CN9HG3XUAELOA48JTXSQ5JZYMP9YDNJSVW430S73LDPUBCL9IUEGWKR7BM7QPSY0. +36#F1MGL6UE9JQ2DCMTIM0MGNWZ3QJVQJOLUGDNWCS7H1MYHSL9KT3TNZB66A1BUK50MNSN2O7WRJQHFEV75RBRNU0GSX6W1IK3YC106Y4CX8GBYOCJIJY0L0I2UBOSZIBE8CUY3JBL1IME8DYEYIN3UFGGKBCIWKP9VA93DWHNTRAU4ZNTH3WLSELH5DG7CVGF7TMIP4Y2D8GSLFVU8LQ75574XFJQ8UP04GD0O50ZSIV9AQHQIHF5WQU8ME876LF0NZRJ6OZDVEUEPPP4N2LVWEC4UR1IFHPB144A0U35F4YI7P9CGUZAUIDPP421K8XJO1597LUND00HIFRYY9CYK5VONI97JU0KUMU3ENPOGASTXBSDCPE7EYWZF3E7DKXER4V7AREKDTRKTRQYK4GVU08VULGYQCVW0EZEMOZ2J5PGUBDSJ83T4740MI58OMN4IZC622FCUY6UPI07N0H0CKEPKV335BF44AI = -36#1QWLMOQAMMBFQZDSJXFODX7ZZ6AQK898M3K2ZEF1FEHJC9GAGISO702K2LBR3EQBNER0EQ7TS1IF9ZVPCD14A7B5DR36FAP9A92Q9DNLXACOARQJIIYCKCDO14TSKFLYIWZCYYON77J54V062Y25555KB1NUSINCJITND3JAODWZNG9QBVUAQFPYBM40UGODI1XORB3F8FV0Q0UUCL63181ZS2UQ1LN23NYG9YANXKFW9OHJ7500PHV2O8NWK1HH6H9Z4GL0JI9PTDIEX9O1L7U7JPPMM * (-36#8LYP9DPZFGC58NCCEQI2CW2N83P1EPNXJ71RXUAVQYIUVGV96MWSCS0IQ4JFWPPLL8DARSFRG1CEYB3TB38CCGJO3RTKY88IADK9X89I4TP050RBJO5N01S2EHPTKOND4H9THOOU16C5GSNU8VXETPXXHJ37NCJDK53IP2Q48WLI1TJD8903NQFEGF8S6BCA83AC5UR). +36#2W5W6O507UO7PVKOZR1UTOLLZDXXU3TCUCX04Y3SG5MXV0FWN67KBOH0JD0Q4M9J6BBRE4RJF15GR50GZCOWLMM9S9TW2C7H298UZ5UJYDYF83WDTQN2ZJ2GUTA25Z4U0NHF33BLEVJGHGVXCBR14T4DRE5WOG84QLK2XSR4X7KT046CSN2EUMQJ2A341U59P58O5EQCM3CDCD9XJ9K7PZ7LYH20HN488S53LLNWN3ZYHZG4BIK75EPS7JWM4O0SS808E5S7CWW01DDH5SZAHBI6T1W5CUMNAUUUK8DWQXIZPLQZAZK4GP3HP3XR8W2DJ5NDBP76O27JUTIQ6MLBG8RL8XSL34QWA35YH86BU380YS3EEB57H3FHP3WDM56A1ECKJ85B3OSIV53NE202HQ8A1T51NDDUSFLOMK8FOYRINXEAHY0ZB54SHUXGVVXMJ2T4PW9OEJINOC7RSUHP442RDKW6WQ8A39E0MIK3EHNPDK4FT4ILZZXE0OM96Y6XZIEB9RHKXRIP9452J53AW0WIARZEVGNKX3B6JWMIGRZYOEQJ6ZCYM8FGIEBBIL0FXA2T05N1GRVV1XLBD7V9UYF1JY07VY7B322KMG1DEUB3T136FP2XDT61P0ARNUQ4476TY83F3LNPIJ6VLCJF5AKV55D3M5RT = -36#Q0K0UY8Q6G4NBNRJL53NSK1684884TWVASIHKZZ9851ACNV8SNIYGG1MU5GYSXBPIEUOCUOD62S88YF8MSDKUOHDS2KK3HEZW0B4S6I52XHBFAZ71VFPYIOUY4SP039L54JSVCDEJ5H50F2PG5686UC3YU6QRMR9MLY541U0846FYZGCAK4ZBPUNH7ZRN9KVXYENIVGM16074WBSH4RKJKO625Z7SNQH6VDNUOEMJDFJJFAFD2NR87P2AI18TSJYXPWVZCXCTSWF2Q28UEQNSMZHD5XZJQZUAXQEABKHAHEVFB00LCS48TLL8BYYMTWS8JNVWTSGLTBANSEF48D3LHMQ9GGBTQH72KCQSDJG0QHDBCV10WT3G3GQ60LEQTX8L1M1TLW6A9WICM6JL46PHWXLUI1WKUH6KIIJK4WYI0E9DFXOFXCRTYSRLIEN7UGZNE9F1QBWYYS91MP53M3097O1FXVVJJIR4XYXRFUQEVT6WCU8RUG9QB0C9PKAYMYPV1CS94O7ZQIMXOBBIMYK56X16UNWU1VP3A340761OH59BWV4XZRXDDFTBF8K28XBCB3R6RYKNJX8IEJO9EJIIS1EAEJVM4XD1YVDN5S2AF98POOBIQODJ9Y56EPFQI4FQJ381S304EKOB52KETKWHUOF876KCIC9C6ALMILV73LN78PO4Q3C7CL4EAJU58NC2SB96X9QG18MNNOM div -36#8ZOL4WRB2JU0JICVAQ33R7A09SS8JOOYNV4M9XHQXL4G2S5P2. +-36#38HVRGS2CRS1YXQ52J4HP5NXKCKOZMJK0WSEAY9D7MCIDSAUFFV1FT5WUYMOJLOBK6ODF6ZNQNLKAYG89Y2WP1BP2PTLNYQ46P8TA4OG7COKT4L4X0NEQYZPU73GEZ1B7C6X52B3GE9M0I74K4922WF2OEFT448301BMOV51VXYFKJN5OY9MLRFPAC3801ABREACNLV1IT41YIAONM06LQGFOGXIVHNFGU50Q983I9R6RQAQT728ADRI9FL9FZ09Z10MTEBL5Y5R20NICCCV3S83RAEM23XZAH78OTC50OO5229DEKTF4S3PWEC20C31S50ZYF9VTCQIAL5XDXCAQMZ96L7ZV18TR5JOKGV6ZJRBO380S2ATUIPVPPWX1 = -36#65KNL15EPB1QFKGZ2T1KO4T8JFQMV6ELQFX0NS8HLXVVPU965S76Z06DQM58JAY400NZFRYR7F04AUOJGQHO7D9PHEY4D2JKXV3Y7VMHKFRRD1289XV9G90J8AZW5WS04IY9S6ZA07AK7ARQWWNHBQX063T4KULKSYNRZ83YB3OUS4OT9W5TL8GFP9NRYBZANZZ8L3N0HTKDIZNTNNSSX7LSQC6D2061DYM3QMGYWUOYHBLHIXHY8H8WIEFIJWGOP96WQ8SVU3N09XIOY9Y8MNAUEOLVVIZPHZVL0Y4ISCT7O5UXCCEQ82SW1ITOPTF8T08DJ80BY8925JQ4IF22R21UCOTXF3WIC8ICQ3QBWMN4QO3JW4WKOHSYZKQFU15GGZ1J915Z4L454AMQWJTRB8K60YK5RBKL5R4LRCF4W8FGJY div 36#1WGYHYUXPB66V7SEJ6QOCS0QEP8698XX9F6C0FA5LVN2O4EGDY. +-36#97YKSCO3J67FV1H509OJ7REXQCK8AYS2S2W4TG4LBE5SDNW0JYLY7KRY1QJYX41228536OG3KEKOH961CYLVETWD4NQOEVWXNI5LLTWEYY0TG59QRI2KRZIFHDTSSL2M40FWPM37P5UWJ698WGZLPQ2GTEE4PYQVFJS8MLQI5D47D0RRGJD2AU5L9COCELG16V5GMOLXQJCYD81YMWR94M5XKR86UNSNQJUJ11H3N687T0TI48DR1K9H1LT8 = 36#2U0BGOJ32569UG3LG3Q3ZI0D2BQUPPEJNV5L9T2OVG3N2CHR2H * (-36#395HGQ53QW3GQK2SYKPWUPIZ2258R98LHAD3EKPTR6CW78U6XE5Z4I9WJF1VPM3Z5V1Y9NG5A60Z6OM1X6FR5XZWH8FEYKNLXR29LGWRHCQ8JV4DDVZF884RWIC7EDQT3M8WUSLUZGE7AKRMM9U5BUDIN8ECFAMB9M6DQDF4VUN6WWKSFQ3SRH3RVNYIJVW8I10SSENKQ4S). +-36#GW8V8GQHRSCIQMXNH5MGSP98RQ4L57IIE0JAQAH0ODY3OR5LOHFB1ZDS1IJEGF74QD5Z8QEQEEEZSC8P5ULXGAMEWBWSHLC3QOW6JJQZ570536VYJ63O44097858WBQ7GPZ8B3PE50U5HR7BFW449GN818VMI4X8XJKHJ8HANE1K6PJ9RSK9G5U8FQ0S9D9QX0CYQ3YJ6W46UPPBU4M685VFWHXWX64LU0HW0ZYI9NVT0PV44Z9FYDSWR6P640QUU2ZP82JP1VOQFE0KEGF6IFKD09IY3LR3PK7C5K4D3EXI3U0QAW9PFO89DU6QDD2AXN183YD5N2OSDWZ1BFTGKXWQMGQK1CI4S4TQLZUM0XF3KLQRS211UBX307BB4PVW924FOECUGB3AUR0EJY41MCFLNX2NJ7SIYDNOG55OPSTSRKJRS4NNL808ZRY6GFPY5FL4K0ZREN7IJE0S2S2N11VOP1236NFYXYAJCXKQKRWLX81M5E2MXNOWN18TX73RD9YAHBWH9JYIM8GTZIJ5FA6RNT67AWCLOVZPDMXMG95PHQGLOC2T6YZUG7KXW4AX1TYRP41DLFGI7CIB7SIUM6USGRDQA8SP6VMTTX64QQTHYLH7II2E1H2XSYO2T04LYQF9I1CXZPW231N3FKJ62JHGEMP6S9RPBG6ZK3E9VAG0158UUIHNLASD7ZG9PVDA5MKB05N6ODG9R6VGFBORIXD7OKU6HQ2RASDMGQ75D7P2IEOAY45BLXSAYO9DJ8CUXR1OC41RXUHZMYIDN4 = -36#OCTC48C8THHNUQZMS1256E31P72FBRYVKRC9H5VEAQZTYHK4HDJMH25DJAS59I1MHY7FWX8IL9ONRW9L4FM04Q9LCIW9ZLN8ADO103QZIB45UT65URQQVF7DUZET35OZNZ7VNTASQOJGJRJ1URFEDFQWL8YLSWCND0FGIN3Z7PYRZKN3TLZVYC1NS2R28BHENUU8OZ3388MM6W2G1EXGAJNKCWHPC1BQCORQS0QIGMLR5WCMWEU3AXHIHDH0PN8213JRXT6NAF9XLODKFR7EHT2ECS6WO68EAPAFKR7LXV6MMBJT9KY5S5CWKC8QR6DMWYNDOI7LZOOJRQ0X7GAV6R981RRDZC7Y4WJNJGSBL19L6QIDWFCNUG1L7ZMT8YOLAM5I32VTOOAI3TBH755XVF8QWQIKZ6BYDVC03KRRB6U85Z17VPUAU8BOAEBR9DFHLHVUVQNO1L3OP9H3JWFXKCY0TRUWXK3K9NBN80QN8N6UC3GL6P3RGPIOID8FBMTTFTANSVUNSIPM2AZTVUPPSHOKY0RDLIJ8G95L5TDTH0HVYUNUTXQ0OW9C47IZP60I2UFJ2PRAUU6M3NF227U9HQ8RRN88BCQM2T7LTH1GJWSASC644V1FUU7S0L23DJ5VAIZX3UCI1ZEPNTGB7AO2VOE0QSFJLI69QUUN9Q2CMXMAQMB8GBF65T7SFH1L7TSS4YUHGQAFWDCGBZWXHCHR2BSSXFX82ACSIHR3EVULUMWQXZHIVPP70MZAV1RGBNAZVDOBBEYV0BHGX65ST6QRA5QLXD9AMP5AT21GSEH96JHA9W17Y7LC08UWGG95BW62J8W4X8I5L3N8XXHM4JYBZC0CVYNV9QX9KNMU7MM4SJQXFE7VSMMYNBN4AJOU3MGKZYAN21KE597OMV9S5TGLEMTSPV2W9R0HCHIVKMS2L6U5S1ANNQ5JPFV299I49OJS4KHW7V35SSIDWBSXJCGI0TRZXRLAFOZ8U1PBJLGWYBMF2M0L74ZY5HE1XR5CH3VMH1WEWP5OBH28 div 36#1FW8RBC2A323ZLU192HCL36D1L9NEP9ICZ762XVVWRE9TN1A3PJZM6K9B4T0F08Y5Y9CUOCKL2UFMMNLE8OIU07BB7PJHCQ3DFOR8DCO6HJFLQQ07B6Z7KGA30CKA4T2XKANOH1FQKRHRC8ZTSYNNKEWN542HNP3W9GP4HBIFZ8IAGDAR3RRSFAP46VY3373MQWR1GBT0VO781GHVCIN5D5VFC7LX64SDYOTF8TN2YNIY3RHGL2GL0OO4G2. +-36#3102ZPKI2O4P3CUM9DOKAZPWSQ9ZMHS2TZR6CD6INRBPM68OW0MFC9RHYVZYKV3WZVBFHPD92KI4VLIAUNS2YF98M4220L9Q8HIMUX257P3U32UMTAWU4EIKIB9CHKCZS8VE84DA26GFPPHDA24G4VXMSTFRFN0XPETBPMZRMBF17XD6B0PUQIYLRZ429RMPXXFC4V5R6W9AI0KTZ28PSIR34Q7OU4KY1NE7CE97I00I0YH42Y74MKNUSVYCWV08W05Y63Y4EYC9H1NZZXZLX3GGSNW8I90MEDCFSHP3VXE908OFVWBAJI474YPV14YE6872J9UV5X7C25EWHN3FJ8O4C050FPPJPGZ9YIE083JBFX4MDTRZBBX7KHHBBM0N76G29IHR4X4K8HK8BQ2IW80ZQC6FPNXLNPX1Q02F0R3SQ88NJDE1I6DHC9YJLHQWDZZNH1TTMD5EI2I6BZG5GRLHJP3VEWXH47KJUGQ7OSWB57Z4RHCSJERZNPB6RZKP9RPAQGJUQOC4MAMGARS7D9HGATKL5BB4Z3DAJ9MGUGG02Z4JZEU34ZYKRFJRAT5CN5BQZHUNFXFHN4YKIOR5P2IWQKNWCTWWD19NQG7OY0KY1IHBMB33FH5N97VNA072AO26NQR98NVSLTRJA0NQF91UPRGRTBCCFNVWXX4SWNCZHHSID1WJTWLWPNMB55Z18X8GE5PK65AGBTXZYEK9XMWBSSBF = -36#1JUZPM823MH1UWIC2X7X88QWHKDS83L22XPMEI7AEZAJ24CMUB * 36#1Y8WNGTZLLGJUZ5L0T83I77INMG3PPGAOLBX3RR8XMP91HWKMTP7FK3TR1EIIIECT8P72NAHSCGXJ61MYW0TK7NWJ6ZDZYFROWNHC6DGWN1XKP9GP9L0G1906YDH1ZZW4F9B7L8RETA1DR3JDSBFE0B97KE4OV72UVIIYKKW201YE0K75YKS22SPFZJF3UHLEUEE4DXYXPF58C423YFQZQQKGT8TCBAYAXMT37UBB1WIP78KS89I0GRYN50NU7MGM0L55M35G4XKVCJ9612OJMBD6SBSJI9R1BV7SM762CVM6XEZ1QUATF5GBRTUCER6VI5AQW4V0QSQ14TW85BSRJKN9L5VD6JR5BMIJHNCUWVIW0PZBD3G6AIOH3FJW2UZDAJLE5PLVR6GODG5C6ELK0ODCFG4HO9CR232QGM74KI6TPFD2A88AEP7373F6UWN7B0TF3KRLCZGAT629060CAU3X7G392LWSAHFA41OMR05K4HRQHDWMP9W96U9P0HTVLRI68NKBU85C6Z0884G2KS2WAVUW4P7B4DUP4HA4X9J5KO57SXRH1FOP9FD7QIVV4HCVKSA3YOP0EKWJ6YZHDQVSGC6LNI85YYAWN22YLVAQ1XXDYO9UD9JDTMPBYTSO9UNWY7CEXHAD4C2MTXSDYM2J5E0DF9SFCUOW94GLPL. +36#GG0MTTEWVWRCAZHIEKDUR5427BT3LYRR9CGVTII0SBACL7JITKWARSON5HB00H2BCT0P8QY2WKNU6P1IS1KB0ZQEXTHLCRG434803KJXLPGES4PVCLS4258AP00UQF6HM9MUFOO8O6WKSAQMVGY77X1UVIVJNZQFYB = 36#2Q5590T6225SAWAE7IQQ3OTEMV2239IJWDL5UZJGJHG2Y0GZB42IH74ZLXICFJDEZLU5I295QX2HCF51MB7HVG9QVEX692LJXSJZNUGLTDZB3B35S7GHZYOYVQPV6VXO07RSSPWPDGIOP98O2DWX3AMK86CLFLOOOBXZNPMMTNSETQDZXJP8BO476KICT86T4I9P05AE1YT0D8S44UH6PN63V3ZI6J532CPOF1RJ5RGIV7VP0564YI0I2UYJ3RHXUO16HIY52AW7RSAL5MK6X22GHGH3MYPVAECIVFTMYDDQU46WAIYUY84CYG6NWC2K8MNDKJ5C4M0PWCVP436KY85SL3T1DH4A7BZ81AEBQYJB9O86XU2O4AW02VT974TYTNE1MUUL22F85QOE5N4YD7MXPH8TYYBLDZDIPS3ZU1GT08G244GNQAUAQZXDRMP17XPNG5DFH7E1J0BJU0O54TZ0JPQNMTXRRY0301IYSOKQU955L39V9ZY0N83AIGTIMAWQTDWX1BMF0NYH7HHF7PNDUOLD596V0HE64HXP3KYWW5JWN4N19I9N2EC7X74S2I3VPM16MUFOQWWPHOIT5260U2PBZ8R094P0YWA5Y0OEB4RQE3OHMA4DSEX1C93NN3SJ30Q0UKWG3CTC4FCS2D4XFNK4L5JNOT7GGT8M4I3NSL9XN5K23RT9G0L6S2I4K8VNC9CQPBJWUAZHQN92M51GXIAQP8JAL0A1JNDGG5G889TM7XHG2MZL58Q76KZCOBU93I1C4GF2M8P06WFKE div 36#5YUHSYJUNOGV6BSF5G54DLWV4Y0IBBTPKATJ9PE0PK72VGJSTD1RDKCANTBZ87FW7VDWQG4D22N8W0QZ0CS7QOO67WRSRNEB827OHJH49VLFDL9CMID9KKKETPDRJFNUZ3XM7BKK28UESMELU6KDJNM3OCXEJUW4HFDH31AMGFUCOB1BKKQYQJ59JSSPZJWVHHS9XB6BF37XVWUHJUBZP9535DGLFWR9JNO23UJ1O1HWFTERVD892I6LOZWBM6TNTYSH6QPVJ421BSRI78XV9E9NTU6LF2ISUJTN56TQRN58Q4J156DLXTIZBHOB4GDHVPVWJ9X4TVB7U3UOIIGDYGEG25AZK37S039EN2N2E5H4F1EITZ2KTS5B0MI291HLFK4P1AQMFUL1O9W51MYK52UOVHESJZTX8JVM93SU1852TRXG1IPI0ENJK4LL87V9AW490SJYOND7N5U37I26R7HTAPW838KSCY0QPMERUI1NXNAH01POQ5UZKMT6SGK5J8HB145GYICTN78QWT6ECGUJHV3T0QHRF3KUFO3EBEQRFGCCGU2FJE6A28F278H9AO29BXBPKVAW58997ZO2FRMYGUN7AYPUHBISRRF7XP0VVES7WUY. +36#2CRIV6MZS8P0R9DPN3XO2XY0ZUSUR3R8ZFNKTD0FEY2O9TJOIQEKGNFONL77KJQ7Z011CH5F2GD8JD998L0RF4C785I26V1XXWXUXEBHDUX2BSH2VB72FTUZIPEGR8JSRD1HFGPFPCSXERNAX42G5VLHRCU9AC3XXWYT9F0HCP1WNJF67O8IK6F1ZDICC6H739ASDHH3T946CWBV1MHJWP5MCVF4V6NX69E39G1MUES48SKW7YHRKVIKDOBJIRRUYG4BRHR9JWTAVWQ3FSG8X77HHLW1X8ZTY7GBPWLR32BHH5ZJIH8EJRQUA3SGJJDM0VNVM9PD2RE9O1CV8F4QCTWGOFRM46LDC6Y5HO6FIW92QUP0BBTY0B1UQC2DMVUHXQP12ENHZ8UZGKX386UVR58O5MY8YP4FCU0OW3527H2CFAVNQ53W0XJISIJV8SD6Z4T1229MRP9S9BXKGTPWUJPL3KSK5IFEJ3XJI8JWD1CFVYYB26HORFMBHG9ZLSCIDKS14WF3RPON6YQDUVPWAT8YKKX4W2JE5V6M2CSQ7RM5J3ELHDYH6XG8K9TX6RET1XLGDYQ8HVVNKM8 = -36#12ANA65BQFR4P5V3S6C7OF7FIL99UFGOYJ3806CND92H6SYHYNIL9B06GLV6I2RTGOSL9S1C99U2QITT3KUPXXO54O2IN77F5LEEDFBCVB3K1UWND2TJ5NJYNUM5S6U8R2Z2YUTOIPY8K8K6W15L7RGJMRM1M9WBU8PODZVKZT5TH6SMUI43YUULCDN69V05LYZJZJUVONA6EJ2C079UF9AXGH3UA10Z3E3MO503YRVS8XGYIAUQNK9LZF4HAU4TO2D3W0LC3C30UPKQE6QSNKFANNA3AYWFQKVWN9600LT72BK7DEU3AJHXZ455WX4CGE8Q2SR4YBEI0SYYRAJZEAKP4KVRDJL4GI35409NJC8YWC9UMYSJGUCX0U630KK9C526FECZJ0USJNRR4GYJ4SSPQUQV9QAE1U7TQRTU9KC29YRKECGZJ04J2WU7H8MF13U0MBVMOOIP4X2VBSCOJ75F86XAJR5OALGJIGHZHUIJM7FDZNFR82N8ZTJ6F4PML9TDNP9T0X5YO5PHML9BE1QS7F6O68 * (-36#27OLBELN1YCBWURXQ6LLP3P1NZBJ67F1XJ1Q3WAPHSWV1QFAFJ). +36#17D380ZHN1UHN7UGX2OCWIS555H7B2M44IIJ2KJRL8GH72VMK8L99R6DW2O3Z984Z7HSQSY3LIZSAQT4RZYO50715OVUIH4Y7STW10AKJSK45ZWQ3RSM8FURAUOEDZBHMCVLPVT75IR0QRJEJO0SYDUCCHCNO2EUULD4CH76RFJSDWHBR9M0A099IMRQ29OXYNIXONKCINV43BUD6CN1GF6HK1EUTSMZBH08XVN4PIQQHXWEU3FRZSZB6N9MP9D48QJ8IGQP4OI6ZD2YEC1LXGEVDMC5X0D1ZZSPV2FBI6BCD4KU0EPBT4PUI7FHQ3SWCZHABFI4ZMT2GRV9TBLWQKR8WSRSLUJ4XQARO67IDXQELGJX7WXC4G3YK2LDY0D8YPD87160EQAYV7GTW939X1427DTAISDOQ = -36#3B44MTTYC9TDGQWKEK9MCSD9HKCAGGU6EC0XIMV2CAOD2QQWB9C9VB8LX4J4MIT29VM4YZ2PXMBZSHSCTJI2BITCX9PHYLZ8ENFSJJQDZQLZGXK00SFC1DH23S65WH4B9AHG5A8XCLYRSHVEX8WMVQTQ03L14ZP6OM8GW8KX8MGOYABYTO0UD7IX5YVUVGFC14T8C6Z00HOKSIJ6PJO00Q7GJ13YSAP418MINE3S8U5242GVNEQ55DD5W7YYNWF049U19FLCFKXBB0UNB6HUBRXFIOC4NS439RGXMF0HTC34NF9GXJCB25T4ETOMEKMKVSPF6IPO96BO46VHZJGBGI8NPMD17VLT92B9DUHBVO8SFAQZR7UH7UGQIDNX1TI9A4KH5YTZE46K8ARS35SK4XQQQZ3037G3NTTRQG63HOO6KUMFV1TUF0TIHBKZIX82XVAYBNJB6SX2TDNQ7A div -36#2QVYIYKPBI6NQQA0UX46WCWH6TOLZAAL83E1MM3JNLJMNUJILZ. +-36#1LMOXPGWRRKIUJV8T05Y96L9JSJ383ZJF76QI3SRVFSEXULIGIJ16VQR4QYB9OB29EKG7IKR0EX607MW45J7JB8B073ECX2W3PSTMLBDFLRC8Q74MXSYXFZ1HG0Y4O61JGNVSOE6464XOQDKX7VIYWVSTB8J5YOR4TD2D35ULJ4HAHGUXQT310RWFKROD9FZXIU5PFSGYS6K04KLMZA1DIRL5MBOZW8JKP7QSJH8WZVRA88NLY148RMENO9D22LE7M24YALXE3RJY2O88D99KN6ZRBD67XBTVRA4T2N9C5SUPR9UKW2MEYD4742CJUPBRGBPX836QG9OIA04KSXVW3OBSSN7OI0V1ALBWLRTWFNXDJ05J81OTGTXFTLQR57KVOQJX88F11KSWXHQEKTAJ6N6FLL1IUOH7WJEKB046M3YTV925C80MG2I4G9TM3IOKGX42L1XHXFAK93GA76PDRIOCJ8QDRA6DM00WYONPSP3EM813VBC2D4EZWC25LDVDEOI9YCNV5CLVBWPB9QD3HRMLSQQSTV48IP8LT6WQKFTPXVA4RLIFOQUZJWFYBI633OSSGWJNX8FKQ4GC1IXRAHWR7VC93YB9EXYOP4Y80C5RLNY9TWVJUCXJLMF5PVL8NR7TNJH4KFZ1QF7U0D2IO74QLAOO3768QF605QH41NSK7ZIK0E2SYBB7XESGEZALQ84U07WH9O475C9B9QW4A9G7JHDE7VTICDKBZV9ADD0AQI0M880ZIWN5JWHVKG54CEORRPHJD6LI87KU4AYF9XPV4FB4PLIJNUIB95D275N74B3F9DFDTJOMJ7D1ZMX7ZCNT857ZJ36LFH6SQVW7PPFPBXR2PWBGXMGEHYD705JKNFHZY5NOMXOIUODTDJG7YQ4OMRMHH8MNBNFYB63O6QSHS3CQ71O1R1WHB6ZH3Z8S = -36#45WSY4BUY3KD1GJCW0VC0EOZBHQZZD6OQWH26UH2AUBNJ9ZC4O8VU5SJ616P2PLKF6GUH3KITXE1GFUOIA8XJYNBPG97A * 36#DU7YJWCRZYVR820FPXL7BK6SAA0P2Q3BR0VOK31MA7D0NDUE4KY7XPWTWD5YJZIUSPYBGNC4TJJR4FFGZPQMT4V0P7ZB7FJSRZCLN2NQ268DAUP53MOXMHR34O58D1V04SCCVTJDPAU15YBQ03NXCILZ8DUHO2RMRXHFEDBG9X1375QN2397CSA78HNECZMCFYD3SX0REWBJBFDUSH1IRXEOA7OJZ3AGZU517ZWHWQ8SRC4THJNMAKO68Z1ZZ13EVWUBN9I6OJPI1KKIDNZ7F0UKIV3A4HASFFC9CLJNIDS8FBP5BXZLBP51WH8MH0BBQ8AT594ZIHNFJIG8SEH3KLFKANT3RSM1HJBU7AOQ60SPBV4S1AR7OVCBFRARUCLS1N6A3LJNZA0UY9JMY3OVLTWWIVY1AC05XTJFL0MNJP8PNX2R3430UV3AGC7N3UFNN992N2ARV9UYJ77WSDVM68QVNTZOEKSYEE4LOAHPVYW8SPN0UR8HBT4Q7OX01SNMP5KX6KF5362QULZBOPNDOTG9GEVDEJPB2B93V4CAUDN0VTJ05DYT3004WGPXHVFCQEGLW1SYLLXQGBZPESASCA4UJJBL6UEDT05S21V99LCHG9BSX4FVKNGDAX7YNJF1VM469QXSUKNL6Q7RHYJAAPQKP4UXNX6882SSJR12YC0XV1LHRW508UCZRMZ6LKG0YDJWO2P0Q2C0OO479PWS47ZNL5QYW6OZ72NK79E5FPS98AXRLHBG3R19OTJVDO9Y1S8USG3NK8N6V0GRJW0XYV6LKXMIC3ERGI647WF5SM4LX28JUCFYVQOA0PCRX8066CF4QZIJJB7NJXQA. +36#9WNVFDO255M187AAP0PTKK3KTM5LTI63I8JUN3CN806GVQIZ59D0II708UIG57VJTBPAIHRNXEUDR30H2W0EQF6M87ZOIQQK60W7M50UYVXNAWKF3SQO4JXMWZMZZ7FOWOSQRV8NZ1PWTWWLINSH7ZDK8KA5VGCJX2KRMCZEGHX6EG0WW1SXS634ZQJD93KT4Z7FYWTFZGQ74NI3UYF8I9G29SN8VC4R8SVIF1C00Z6O0UZR0XMHZRLS5WRZRXQ23UGXLK5JUIS53GQE56JQZ0XHG09 = 36#4Z1XKU9Z491V8K50LJEXE6O0UG65N3K94D0Y2DWJQPA6BN49T4TNT34SD6FYRB2YNHFI5XM10MIV1OIOQPYSEJBUS8IALW0JFE69ITMVV80YIUR5V9XH1BEE494CLMBCAJ58JSUOZ7KDULHJE5O5B3C3QF3DSPJA989DJU3UVHCRTHC686FH05ZXO3HH15NZLBYIPYIBIOEIB7Y3T407ZBJOIJ6ERW1P1Q96QE0XOP * 36#1ZPJOBCQRXX85WMJV84KIODSAPV1M39431UF7Q2CIFMFDONSU9. +36#1PQE8U66DVQ6ZJ0CNQZQD8HJ9K6GWDYLBG0FZ3MNEL29P7C1I6VOKO4R8M0YEGLAQ2SSS0V7XLWBEQ78KQDL34BOC59MXDKPU27GRWOSIEOZLU3DJ3ELIBH6M42OQF1MUZOFW86DU6DRVU49CW8KN4YP3OX4UA874LW = 36#5ELQ777GVNSZIDGPN9FVV1BO7WSRLGWVHG4DLR90876FQJRKOMR76XQ8MBC0HULWMJF6QMT086FUD3LFJV0ZLXXCF9OQY25KVO6J98HIXC1JJHJD0924INJ542KI07CL1GEDFN159Q6D4OVPYHZTURZZUOJ74EO6TOX8X7Q20AIPYRHNLE5GCTSIDA6HOUIEBKPGS9V0DFS6DIZSGSEC div 36#35HF69BRJW4ZQZGH4JC323I5YMEQ4S8I8LX06JMYXOUTUB4WFX. +36#3XGI40FY8HUMME47OVZWUTBY1XEGCHTQUGIF6OL1ZAM6SFGT33U5JP757KAQ4F0EDC5RRVQZ8DYPEGA7IBCJEB457LQF6USJ7VJS85URAYHTC5BKRK9HNFEP0K82GZJ1H8GHULEX0NQID9OTMJL3GBYDOZGVPSB4NN3I9LL45YL2BTRAF3JQLHFAI3W1R8KXUDA1QHBIZ3YYAIC0OG3I1N6S77FUJ4C2QHDNF35JMG36HCOJ5AMVC0 = 36#20CWZBD3X8YSEG07Z4IKM4JU5HPSO0OM2DV7C81ET9WEUDMYTB * 36#1YDMJO6UF8CA1KE7F4XTV4VIHKSEZW07FQJWW34P43GW1E01385HH81MIHED0BMLKPU6FIHIL6DABBCO1T3Y69TLGQQP5ST62VZJOAV1Q7BC79TQNSOOU90B8D8QR610FIV4H8PYRHIFZHGQVKG8YL8MZKGD775GLOVBP00VPWB6XGMMU7MRDK6ORSFCH1KQ9GOO0. +-36#2BC87SSICNDMT7SQR6T5XWTQVUYD4X2VYM9QEBPDF5LOZVHQHY = -36#3V8B8F5ZOYBCNF6JS47H0ECU8FJN0GDREMMNU3GNZRJ948NU52MWCUPUV6MS5ZVGAFHIPHI9D8BET9CPQUPQL20XBBEZCZH5BU6 div 36#1O55JOU72HAG7D99WY3GB67FT72Y74ZVG7QRP39WLSVORQ3QBX. +-36#2KZS5151906JVOFFKE824DRL1IKCC2YTP87WCYNNMV1XBRKHATFW6WW5QAETVS590JHYZMUBI1PWTEZBXKUH52JQMXW2NA8POWU = 36#2F4OKM5FAFIJWGX9A1MDK1J46OCYHVS4QZ29SL18I2PG7YCHCT * (-36#12F7YCDRCK21ZPX9DNE8E5YYQYA5QHWMPAPN1HO9W9XK0FP3W6). +36#GKBT8B28MRNDFBWEAHVBGV06Z4YOMBRSGDN0QZPPGS7A1XF5EB05GSN5KKPC0III291V75T7JX8NBCMY35QTK51NLZ7WRCPDGJTKG1EX3T4IFKHCWNFB6BFN0NX0NVH1Y622IZ5B05TDY62EE838MYQHE76RMQCHWNFE0DJISMT0WTNVI8FSHSAHJD15CECAZLXYFP9LANZGQJ2UNDTGI1YSO9CVDPWIS5RH66TO5G1PQWDNKGQ6HLLTN7BZQL9ZJEIADFXJTVNK0W63UIDWLU0TXZCJ6FRR7PKOUPF72BY3TOUK3CFQ1Q4NRG97QPXWRLLE9WTYGNS7Z6H6EAGHAT6O7YQJUIIYCFWTHU1K50HRYSF2FBMZQYHRUS3D5N3Z1T19Y10XTJILRNER96CRBNASUS16HU1H0RPJKYC43S7CKJD2WRJTCAA12R2GCWICOY7AGFE442WPO9EUWOMBSG2ZMD93H4U87H8QQFTU6IZPO576N6ELV3FGVYSO451OFJK4LTXBMPLGSVNMQ2M6QEGRWQXV94HXGM1KRGRGIJNNI8CYZORU8AV611ONETDVTIUQZFBZWTRVV2IX1F7JUHUHI7F7XRW0RRMSRZHYDGP45L3TQE126IQM0ZOGJDFAVBRZAGMZ2S1339XNEZ5S2GOIOMEB = -36#1DHW4112NWQR1HHYFT99921GZQYF4JM9VWH4BROIDQOMU5XWWHBGYUSPON77DQWJ6TJKDUMZJBUV5FP0L9EGD8PZNZE0NW2B6720S0HGIH3SOQWY4F41GSGL7PSC2B534FZT3MD40E4QFPY5SKSC0CL5SQJ8C8PRHHEL5IV3C1YER25AHMO7D6JKF8C8PACTEH8728376FRP7CI5P5EWYSPQ7UGHFNRF190OK3BSD26H6EOP3FSIK797ZG5D2Y4EUUKZC6QE8W10IRMONU7P7CN7TCU009HVVIEC9K0NT42EODCM95KH54GNQTK7Z5B325NQ6KGY0RDN9NGD6S7Y4I7OBJLUWUL8LCS8XXGS2XQFN5G3VC4QVDBR720V6GJKT34AGEZB8UXA5F6YY5IBNEM7S0T7FP3WVNJIBTAW38LLO8LTZSKC29NQLPEI7D59Q22QAE05UTV0B27TXUREO035QV6L05GROXYJGW3VRUZEGULORZ8M1RKL7F75FE35SFG9A9I9WPFDPVFL8W1VPCFQBPF7A7FIKCQAX99IKSL3R5G34Y5ZIKD5G1Y95SGSNQV0CY1M422S2RQBFSNNFE9NR92QIXEIJU8DV1L9Q5IR3BWV1QNRE97T7WGB13UTJH97SBAP5BNWGGXUU1IIZ54XQUBZJEPHRERRTLI0LA228N5OZS890TGVQ7ANSPHYLSLJJV2ZUSURZR div -36#2ZKL3R760JX09WX273SCPGCV8OWQMQIE1MQ84CC4OD1O51R6L9. +36#5J51OI4MLFTU8ZPIWP90IEQ4V1K1LDOV1YS9I04YL8CLSKMPL3AO96VW0KPRQ59YIC88EQ1Z7NND7I00PI2OD1W79N4DK96CMYJ = 36#1VTSBU6RL1AO6H6RT0VCNUL4DX965VH4P7C5631NLC861SWF6T * 36#2XP199VVSRFFMFRKLY1UB12IZMHWIE1XVH2VPG2A57NEDHIS2N. +36#1UG2TPV1WO3P74IOV3TPN0J240H2XK0YFM7ZGW4AVR32IETP6RLRSM1M1AJ5GD8XZZ2LD7CWH4B8WNP0IM7JCZIGJEFV540FEWK1LMSKS986MGDJ3DI3U7RR9EIBY8D10E10HPUD4FDGX87MERD8K43TC2FGW1J3KWZWQZGQJZ59P3JMS1ZBCD0WJLUAOEB09WK43 = -36#2QGGP4JHINT5Q1Q5EMD2Y4OKJP29PT2HWQGIN1RAGZFSZI1MM9GB0ID8QCY4WIKLHNVN7DH3T5YMHS29XXCZOYBA7VW21XFN79G3YYFYQK42QNLI3SWNDKRLQ0VM73SWFXH6BT69UNBCMEBE0861CZLLEHR85Q8C8NQKZM2SQH1DHNBGS4BQT419QDLGEXMUCTWCK9I9TN8GKL1FU578OAKD3YZQI4KURK5HGQSKP457IAD29BNINF div -36#1HCCK32W0P1OVSAB7KUZ8T5LDPBGT96V9P1GWNLGPX70E72FD5. +36#2F4OKM5FAFIJWGX9A1MDK1J46OCYHVS4QZ29SL18I2PG7YCHCT = -36#2KZS5151906JVOFFKE824DRL1IKCC2YTP87WCYNNMV1XBRKHATFW6WW5QAETVS590JHYZMUBI1PWTEZBXKUH52JQMXW2NA8POWU div -36#12F7YCDRCK21ZPX9DNE8E5YYQYA5QHWMPAPN1HO9W9XK0FP3W6. +36#ZXSLPXGI4JL05L0YANGQ6MWWW3GHYHQMH2H3AM5SMVML05L5RY844VGHUU61LUZ6HSLXXVEU3ZMC4IQCUW9YC57L3KBLVQSQN4JUUAUFV54ZVU6Z03LFO866H00MYW4P242EAZDJHTFGR59ZTV07D6CI60F15XGSPVGWN8K423IPOLTM24TJE9WXMOI0TEIA7NA53OQHSDR8C6O2JM8L5ACQ90739153MCK72D44VGKFTY3ZE01RPXU1JE69915FCWX5EAXUQMOABK0IN5WSRYLPIA685NVFM5Y3MHCNR57VDAAM3YOD8HFS7BSITVBGHLU8O5JFNZGLCI6AB0X3GH5OR5E2TCGC1J7L6NV7A4Q8UHUGROI9UE0DOZO4XUOBKZ1JVU3ONLEKLYSLR3EAW0MBT1DKFJPUIKBVA5E03RWOT92KMOJC1EYRB8RWNLGDQEZEYSF5EUB1ZSJHJJ2MOW9T8I7ELEEOLI82UP2M0POS8853KCUSUKQ1WOU8WPVSKWPU4EW8D1HHF0119UTBMZHGJXWCURCX886GE2C3279HYMCNGY4DLV5TGFQGVJLFLNBSN3WCU0A8V8PF2EKQKCU41N9KRGDZDW2HVXXSPFOQ5DNONQMHKSE2P7HXQ6AD5A7QKND4R7FZZE5LE5B29QKB190GAM8VH9SI84B3168TKXE5YZAV73S7ZWTBWTG48JXIO5UAG1LFDJ3MAX70PFXFCJ160QVKH053DON8M9IO5LWER18RJSL85L66YN7HPDDNKABDLUH9HD2EYZCLTW5QWKZIUZ1L54HUDPLZWSEZYKZA = 36#4DVARMYZT88I1ZPYLANCHYM7Y7XBU4B55VRQPHP116FOS6P0X01QP1GIB5TVHMMTMBLES5XUUT9FNTMKKP1WF7UO332LYF7ZTZRNAMHXRBZF07YF0G2JP9PJK1MITZ7EEPCA60678FN4LPARTB9FLWRJOLMB5A46MLD00YQBUGR1EUD2ZM3108RU4KPW06RVAROSWPOR4AS0NIIO5DZUMQVCU1BH1G1Z1UY7JQWNDV3YIEUANPOVGFI97ZS8FNMCWRVBWEAQKMIZ68IH4YGAINMQ9DSN8WYJ5O9NVVHTFXMNZWTNUWC3W7T8QOOTAX6S1G8RWH55T9PYUADQB1L4XPTJJB9OMI92JZ4Y6W4QNPSFQ5A5CNGG8MKX5895Z332NCO7EB9W9VTSV8Z03NQ0M6FXAGXL5A73SBP6M * 36#87162HRMAN5DVP31M3BOH4U7VJVBEIMRIYWH2QHO3XCD72ASZHFHSV7D2CX4J9S66II6ETYPKNQASLE293JZOQNFDXQDB1E13Q7TW4NDYNYLQ1Q9XQMQJM9DIPS82XNU00GZYRMJN5OLI9XNQRI73K0MDEH6PDPU4HUM1RSWG8JIUSN43S9OJFPLMFYUA9HNFEITKVBDRECTMZYW8ZD9LI8KZHIKUET4KAYR3U4QOE6WHIISF4XJ0E4829CEY2BQB2TU23VGCKAGOM6B39NHJTASGYJ8TFQ0E0N17570VYLEQKWOETTK0YYKITV78NPWUSVXTWOIQZKNRJ0V7AV0LINX7Y3KJXKM1IX71AZH9QQBGUG4O1O66AXBMVO1EXZOY8OHH4AYDOZP. +-36#HSNPKYZ6JFSF9G014LGE7XAYNVGZDOJ4NY2BPM5SGR7AX7KCNLVJ1H2281LWURS0CRCO9NA4SS4A0J6Y57URHABDIOKDI278V9VKCHLFIGDIX8PMLQHUE92KC4AM1IN32Q4AH4RNF6T7EXDJZV3DLZ8T1K79VJ5VE8RBELE3Z2J4Y0H425N3C9U5GGLR3B5LP0NY26RGNBY7FO2TG9ZRBFA4YHC6VY6GFLEE5FM8W9OWV0RVZECNEN7THR9KHO49M38FYNWKYGGSCW8Y42DUHU901ASCT3Q4MNAAVU8W1BS2OJ5Y9EIG4VICQPOTWJI08YO37QX8TF76DMA1R0U62GPU9588X1I6NEE5N11EAV7S865YQ2B540F6PUGB2CGU665LL33NOCTQK9O05USBHJ5BL8ZXV9AHBTU2UI78EVIMIST7STW9HN2IJJ9X9B3TVJP8AUTTHNGFF3WDXL8CHN4V3SO3M6HRQMIOI2J9AEN7LJMCO1KWXMFVPVWM6QWZXA6K17T7XAT8NO5OXJWQGT0WRPJQMF32O7KXDOOHOP94I7Q2LTER4OKAU2R1KX2OWNUG0E0QWIH2Q9TFMNC7JQS47W7FN5BLYXA8JQLXXIPKEJGMEU7VBAPXQXJUE35C4L20HTX8YOXWP8VQ76YSU6LOETZRQRTJZ92Z0JSJ9MDY3N0ESRBTLIVJ8BF3I0IF39T7K4M3DCA64NA36P9NKXHJ0AR24YE1ZJXN1J0KM1NBXLMUZK4ZKRYPPGYP29NVSZI6OCF0OGWE85805F27U90AKEPWQNOPRKYF64IECTCA885UJMRUHTOJH8DV0AEXJIEE3XSU04CH2B0S9LTYTUU0OYURLTUZWIU01AKZQXDF6E4V8FE5PZF3W675KGBBH8F2M571EG5S386YUQBQEVT2GIT56P8FVCXG0ZRL3V3HHJIVKF5J3ONN7NHN8CGOF6M6DDE21485U6Y4E9KR2LF25MIC3ZLC5XC7DKCNCN1D3AII8WY9DX9M8G7MEYU82MGHGSPOAISMJY64YCLWLDP3B33YXNVMC5L5I = -36#8EPPB7Y10S07VBS7YNN0MCHDR4GE7JEOZ9XR7DOLT522DUH5TR3M0ZWF38COXXG8MFHS7R1IKM5BVB3BLB0KUTV0B4Z1P2JF9NU5G3U6KYSTT1SW1FP70R5ZPUK1G53CSTESUZEC3M452IY7G9P7LQ5WWOE90DX4QD4AFDKH9GJ1UP8V6XOTB267L2IZEVGR879IQT7WHLCJDB6AR656YNCHFJGU51OVBGAHAY7DEREBFK9ZSWH7PPSQCR5Z8FZ9V1FTBGRJJNG2Y8EF0TUN582UH4LBB5CKFKGSYKTV027NK3III3YHD7UTNZ9SCBEYEK6DESL37Q8HKAD5X3SY9UGCHFNMJ0W4WULUOQLUE8O1JEP1Y93MW4ICEJ14P317N2GRZDU84J40ZJE8JZ1PLY48UNVVDQW9BLZ3HFGS1ZD5I7TK8RWLXVURO1RBMQVDJLZJRH0V3G3080QJYRGGJIWI7S1NOX0FXYDKSIQNIA7NLWPS7NEQ0H21MMPOZLA1TFO47GPIA0ZRHNGQXHL439LQJ583J2IIYCWYYNL0D3H9KCYNUI99NYRYX84CT0HY9COBZ3LSHU855WRDPHGWW2993OFN8S8BNM6UCJ33O65FMBF14QCDEEGGM4TDI7AEAG6PRED9KQOS7FYUYZ68JL5IMB68LY9SWKV6NU16ERVO317FJPC08XP647LMXFQFH8B4P86PMY37XJMDFH6JFF5YDQ8H6BYXH4QBQFZIWRCSD3UPNHWN321JQHZH3R3D6BSGT9AWA5TZ27AL1SM379LTH3Q534ME7XHAGK5ESDC0CVEC6ESU767T3FETQX4KNBF5MKDHUP8EDL2EH7AEG9DP3F1IMPHTBUWHBO1WZ9IGS1NK6IDCTL7WSATJAC6MVGQYJT87TZP9UWIHIGROGTJ0WG5XW4RXEFBOWU9AEGNMRL39Y0RNT2DX5HTF9ZKOBW56U9DNWQKZ5VG1ZKV0JJ30FG8WY5GOVXUM0GPUIQ495K5IK3BF * 36#246TYAJM4TI9YGSAE1YDF60GWV3GX32WZX25PX6915DFA9WT36. +-36#KS07UKPX77PKMQKCV0FD6TY8TA0VQ917WDW51LODD76US87UMPD0OH2CWJWZBTSV6NQ2XKISHSK472EEYK84LTHW45E4OICH5W79PBBDU45FJZV0JF6Z3JAO20BT9VSINQ0WLHH9Y3AUUCU4ES3N2284S5Z20FH9XOIIE0YP2GIUN0R8YPC8EN2IS6ZHIJCX6L006HBCF5DZXUZKWUATIQ2G26VXCNPIYDO5FR5AZEBK0BT3A5BB0FA9G0XXTBDQUS6SO37J7MQDZGK659GEERDOAHOPBKEM9TOV7QZUCGJBTWKO3DEJSTBEVI88Q1ZX3CUTI23CSWB7UBIHHPAZLILPKHYF8M3G7OHZHDSZ457S2BYQZ5HZBXVM9NCUNRE0LMQV0EANZKETJYSJSYMPN5SCLMMWS38YCROZO7GCA812IVKIKCW71EMGO0LGHHPE1RGMJEK10WKCPZPMHUFTFZDNBJ4DBY4KA7FT16LQZ4NR1FK84MQHNCE85RX7X5EO2Q9DW9Z9I8T49NA9C = 36#X9KD19JGLCTAT5DUE3UUTCM92IPTWHS24S06E06PVSLQN3POIBYNV1XF3H3ARBRWA21K8VZSJNXOSB7L8QZCY32BWACCDDORBCSEXDC82S1Y57W2W5VK8DNPERD6KKNCX7REFDWXQYSW6J397JHGOOAX0IRW39BEIPM35TYN13P8DAEY331ZY5V5H5OCQHXGP921ZJNF3D8RDFE2CRLQZJ04ZGP3ON6Q2SA62LV5N4RLGDA9Y9XQOLJ55DBX8EII6ULYDG05PMLAKYY85OKP67TWBOCLZN249J47VA6GJJXQCBNLJ4ZGOPRXI1KJKMMWNGTE0FZWG1WQ00Y3LHVRY4FCLRG4V7RHDPRZDJZCE3JTVL7JC2EX930NW83KQ3L329BGP1DS5M2U7BMXBZKLK3415NMQI94DUA19QA5WY621VT3PJ61FYU16WA55GOZRYSDOHI9174JLADNQYIALMB6XX6Z33DMJBLIW45F34S0ZE0OZDJUYW7TW3UVYHH0UE1V5AGKIWF3A99J40BTG5RX19DBW5LX7HO69THMRGN67MHSYN9KZVN1YV759J7TVOKQMOGVOLTI80TS4S9EZS4W9MZY8IABZY1YISYW9Z1OOBTNLQZPCDYRMI44NGB4TP99XVCEPENK6L3MZMVOGT8DH5TQEQSIS0JRA6KX00AUPTCDR16LG95BYTQG7VAAHJMM3DBN1SKYEPG4NT6LQW19I6N7R3Q8EQX4NW8OPZWGL9GX5K6R3LKXLU0RKMGBIF18BRWJ62N0HK3JWYKLPWHE8X7EJ1UOH2EBPN73JPEJSXUQWLQFZ03OO2FCO29KIX0K8RJQPK4SYUOBW6ET310V2131XPMBK2IQQZGOG1P6OVGUWR7TO86P6T9LTY6K208TK1KJT80R3R6YOALXBBM8Y0CR9OPBZETCG49X0QR3F3J5ANLDLHAPWJMH8L0F5U0ZXG84KWERA3A35I6TLY79W9HXVPKD3TP4NKK6CAK0ISEVZVMJD8ZYMW834P9HL2CRLZB91JI7PHX7NSE6CABLG4XVHR3O79JHNQHPTGPO3IXX20GRUX2F12GVJAH5PUBBC9KPWP61HJPQXOSP26WNEP65FG3TMUPC6EOQG6U8OYKC3L24LDNX7I5RPR0WFR7WECEM5SY9KM4MO139P1UXYGV02TR3A76V8ALF1YC8HCZL20I5N6REYGVGWVXYCPK32874NGHM4JROPIJJ74W8GEB1WF5ESVJVIK22TJMFFRBE2GBYW03V7DCUAYBXB3QV35518UIGO7H7VZC5NI6KS99OWO8ZKGLK60SMJ8VEO div -36#1LMWQZR6E8TXA1H12DXGNGWBVKY6S6BJ4KXWIV8508YGN0875NP54PIZTG2DY4QGEBSUB8C8T0HQF4LXAOY673MY4N14SGZ5MU416NYTOJMCSL0OGNDUOZCQNC92A7BEY62GTIV3YB5O8L5WCDDF3BQVNBPEQA6NTCZB78LV66IVA1HJA3VW8MOOIVTL8XPJFT4LQ14L9TCF4TWQ91KLVY65B9PQD0P8JERML09ZSNWHUG27JYD0SS3N6UJD29TJ6A5QT2T6VY21LH1DI76NNBZJXNRG9WWGL667WPU3AIYR6BNIIJF11ZMXNLER5SEAMIXICKOWPNI6ABFXY89ZK6BV948Z5MBW9I1XW5MDJBRNTSZ55H4T6KUFZMO3ZMQ2N9Q4ZVESRXI36XBRDMZF8MRJ9T136RTVLA8QSHPVU86EB394S4K71KQABGPO3XD3ZXKNZS3GYGQTEJJRZAYHPTPSFX8WI3BX781ONWJZYLB9PRZRG6K4UBWXCBZN9HKPER6879GF4IP54W2UAKN4L61TXQTYUYML4LFRQTK08JHS5E0W97JR590DY1T380Q93P4M08HP3L4C57228OHZ5471INYP5EXROTKGI4FZ6G4D7ZP0T88BRBZZ3OWTNMX6GD4ME6C6DHC1M2DK6MC8LG7SLTAE4Z6XON0KGIGMZUCU0S7DPL3ZUCXA8JTTUWWKB1AV1PGW76JEK87X12EE8J2Q453P0T7NGX1LUOKF74MPKHHCYHUGBWOQUKFRGTJR29LD9L3N7TKCFHL9LTK4KT7KBXA8. +36#1414GW3HM6KKM76LNMCYPFVVE45XRLBEY3ZDZLRR5RSWOLOCYSARB0BHD987O6OVC8JD96ORYY19949Q3XV5TPL6OAGXSNGN6AJ2F0FZ5QHQNSAERWXZ2CBNKCNECIFW44AKHYEPYC3CJHIUKKOGX52DTU875UKAFH1SIEN2PBJBQLX3JG5XYCAT89HKMJRA5OGLLMG1D9W5Z3IRRMQJCPVMF138OXRDZLTCDIC = 36#F5UGXOW6BLSMOQ5M9YSG7RXJPHMY2RK0TGOVGCVX0KXENUV2P1IQPM9KN8AYG1C2ZWXDSPILPINX35XP7MA0ZSZGHGN2OINC51JE6DYK88BR6CWG0Z5NFXIDEUAKZMLGDWQIVXHKA39BEY00XYDRCPRRL8QF0CJXDZ70ISKHZ8YM285NL47R8 * 36#2N1NI35I7T1S8YZ3I569R7EYTW4Z14DNNLN8ZB9Y5OJZBJTYYX. +-36#1O8EZIW4EKW4DZ17C2EMBNN6Y16JU0353PYPMKL6MHFBYEQZN = 36#IHTZSPHA3KD7TFZ7S591M17AXGAS0JFME57X8G64NPC6W5U48NR67HPL9EPGUTETNWP0GUWWFMXWRTRJI29GW90KHX9SN9HXR5VMN5FFEHJ6ZOTCIRO8I96P1H2FYDD6FXF6WJKOD9BWZASO9RG2QFWU3DE7B1V14CTCQ7E8AUOBJRA28LPWEBWXT66OE6J7MBFCS9APK7TZ3QS70MC5EPYGARRXXFW41J3C8JLAILY3O834JY1RFD8Y4GW8WJ6Z9DK8V2ZQIXDZ3T668HKT1HN23YJ1DL0I8QSMK4AVOHNQH3GOXGXCG6DSF2SJ92M65SXUH9DU02UARCK5HH15AHPLYP9Q91WSMCJDSVR8Z1E5NGTZJAH1DTB9QP7LOJ5S5GVXG77ACODLC5TUZFWI4TIQGY6UW7NNMVLINCEFEK3KXX3NTANV59JJ532EIQ5O2EG1WM4VLQYCRAKMB5NI74Z34MSNIR1P785FXWREKBPDB8UZISNWUEHCMW65GR7MZ2L06X3QGW0BS83R6UIQN0RBMNRX2JZF7ABC4ER697S2K2TKPI0K7MU0HPOAFS3FOJ10FDGXTU5GOK9S8AXZIM2ILQTJEHZOWTOMV5K2T7SR41WXEYK0TTHR1BYH2GUBKB1PLF8D3U1GDSA5GI6AYIFGC5N44K5279SQ17T27TJBDRHYX5WVVBXJZ19FNYPXKBK8MJXG6MEA2LIITPEX60WZ3LGT5871VQXGH2KADM7W831NHJ5M58J0DRVN0P67B8BSZAXL3EAZQ67AKQ5O78OHFS6UAP2UHKD28PAW08NV9B4ZL6UAQDMQB9OXJC9Y0HUZ34WXPQ80BLIWTUD7G4WHTOZ2GUWRHNJA8TR96B8B6PREJM2HM8YOG5U3ITMHEFNZMF2XMTICUENEMSIM137LN7M5H42JKI div -36#B1Y6BL88PFVIKT0L6AATKGZL2ZXNVIZMN3V0GULVM304J0584P0TUJHYGO57B3YN8DJ4KRZ67L8M14XF1QNR6Q17U2GIKP2U34P1COWXKRRGKKIJL79M7XZN74F0E6PEU9WVRTJGHWSI90FTHDS40WGSZLKRSJN2G91FKDWINTEWGJD057SY9IW8I5E24EKAN7RWH8O3J8G7L6MXORYGAL4W3ABFOKM3T32R4HFVNAT9D05SO5MF2SE2SY2TPTF0WPI3BIIV847K29YJXHOVLYUUWSI1YYDBF6XHBVSLF8O6SWI5A3FCAF4RAEOA9L63LLUL00XJC31JOTODVF7H983U0WSK94VKRPMEL5HHL17JAZ4N3WUHMMA8WTCP2HZOF18FWFLB4XDS7BXQA2IE1HZ0F05M0U23YL4QCN8D0PG81Y8R6JGZ3EGKFV6UEPY750GARTM9YKMOQ7PPYR75A1DFMQ8GIOHD8J9PNEYVFF83GNBFCS91EHIXW0VPEV6JN84VAF23F8VIYKO1NBVGWXQCPRWFJ0SNYE385V0HSGGXCUDBSVT0PG71RQQA7124BYVNFSE4BKVYV0J7JPSJX81OAGLPZ8AFXRLITF8TLHGUHIWKNVBK27UX0ER99L51Q4VALD1403E4A2ROBVYZA6CMVO2NOM0Q9AOLTB96PWTBYA1L7OLW94DNFX1XIE8PQC89CIMU1Q9XO9GFDHW0B5WAJITNXME5ZSA76QHAXFBBUXIVQQO3QP4J2RP8KYAF1X1DDQ9QTNAGAUJC7ERQ3CVL7X54MU3S85SV3KCW3QMZ75IJVFPKCPFB0FY0QOY2XEFT5MVHOU94ZBQ7E3UYCVISS6Y9695HOCJ1Z1NAXDUZUUJJ9I. +36#8B9S6B450TTCWVV6IFSPRYPRQMPL2YANRH3P52IARTFO0R3YA = 36#RPR3CBO43HPTZL5W4LLBF3QFHPX7KK9V8UEZG9PVIZVTAG9J88PAIE2ZAA3SIRATL45XLFATA3B0L604LW1L8UKQXM56TMZ7DFOQGVXVD8XZ00NK48UJUTEBCW67FRUEGSCYKFHXSRFTT9AJ46STVO3IBQM8GF44DKAAJUI1C7LDGEZWW9QIC2NC2RCXEQ0YLHWJO03LHP5X7BGHIXR409UYQ div 36#3C0S2UKNIDF0BRFKVS0ULZQREMH77BBBK2XUSBDKKDIQT7KWLSACS8P22OXHVL8PR1T3VY896S1T205H2WI1H9WL935NXZBEE79CAP4CAWVDYGPC11Q8F2A85HKI2RBTCELLAPG760QFFJ6VG732T332KZ41SVY78Y2U1LUSH. +36#13OXZ4WPV34CT4GWAQR5THWPMQFDGCQBVE9DAA4CNRDUDDERLBVDXNGYTXHIUD46YR2ZA5KYD5XQ031388RDB5VCYDSV519U7S0W4IT7TCQ1AE82FR4DTTQVBQ3CLC786XLVOOJRY4Q96XL1EEILBQEUS1Z10J07OYP0KBG7X3FFO939DQSPLZFKK7FAT0FBL0MDZ6PZMB29OZQGG5RRIVDBU4VV9NOJIOVXHMCUXAPO60TB7XCNAU8R6DMZVTWKDQON9Q968UG8V0QRZU9P839LIEHQJ189TAUBEFWMAY5Y6BUIA9OM5FGF4GVFBXMZ964S = -36#PE7C0PBYHPLJHIFK3GDZ8H5O8RF0SJBFQIRFW1GFND7FDYOG39T9ACCC39L45Y3WIS2XTXPN640AMCM1EVAF63CBP0RT305Y95EVWLJF8GMT5S37GCHJ4A96SGFQ5KUVWPKFVT2F5HYG6JDJZEV90CUOPLOIWP00SBU04G1UR9WQ6RLMQVSNVO38NXHKS2H1NP2W5ENODDPO5DSFXQJM8RF1WQ3MHOSHEPTFA4JRDMEQ0LXOLEFV8RM7K9LIYFT4CDF8KLCE1OF9UF2OJIG8IQSUZOERP4RVQH0XVBIYEG8NZGGV0J4TEVB5GVM1LIMS655AQQ73DVCN2TFZ2D1R0W4Q6BUI3NJ2E9B62OX6XOMMGUJHJE7AINXUUZLFX5YAWOXUNM1K3RVT7IIR2BZWIDW1YIVW20MBIBTJT0JP3IWYJ865JU9EWCFDFJH9F5ZCV0II5MO1405JHVQY6IYAQG1K4RY4GZICY5QAX6XODHGXLZJZY84V0DYRK589VGNSXXKCLOEC64HGJHU8E9NFI03C93X9VD29D7E0OFBXV30CU4H7NQT5NTZ9V3A3W03MKDT0A5D66RC4V6I4 div -36#N15DR3460TJ0AVUSM8NAR59V9RGLWHCQ0R7B8Q679LWPHASO4067UF7D17MN7415HORWPRRJQ2PIGI7YFRSRO49YF97FNTVZMRKISD6STPHATTN106U46ASQHIEMGZPBQCC3R6HY4ICK01P3S4Q6BN77UYJEOS1A26LAGWRGCGJSWV7YGLP2KP7W3PGF9XTTGNR8PEULN7N0OOFZMDCNJADFCQC2BWT14QOPKCOX9BOY91280A2H4CGTUCBX0KQ2FVUHIZYR49PJD. +36#3R0WKXIH4WNU3VJVFQ1EKTX9CQQRLDUP4MHYCTY5Y1BCMCQY006CUEQM2OKVQV6QXI9XNSKBONPKB6P1CYUBDPX2ZP7Z1W4633HOY25PVEIUEB3FZQ6N7B0ST8O10EOK6BJSKQ2ESAXZQ8CURL91EIPGJ9UDV61UIOVNENYFA2EA1D19BMEUDMGJE1HSKHLHTUSO9YNSM0R588UVMKJKJ06Q6UPQTLS1QAKE1ZDMLUDM7V16FJIOY4XNPWQQ11SC4QZ7KC822THOSU16HV89M8PPEEPW17GCAT8J7EJ75T2IOHOJ2X4H457JPGXQRQLTOQ5VRY7AS64BP884GSHUXD83W7WDJHZJC70NMP3D53E0JTOYJF66C2IDUZHDY7QH1JUROL5FXLS73ZER6FI93RR9GVQOB7QAL3HDY9AWVJJ515U9HNKTYB081O680RMPB2FJZS3Y9N7IIE40VUKNK9T6Z4ENMW3SI8SRH12ZJ8DTXP59ES6NPJJJVBJXA29813FD0DFBM1KTJ3DENVS05MXBXU0WXMCTEI494A85FZRH2I4NWJX3G598SEJ84HIHYY0Q7PH639G67GPD9UMRJ3UFIU8IF9L7WJNSJQV05IF58Q58R8WVHS2R2SYDWAYJZZUHIBTAA65VUXIQSAC8MNSJX9PHGR7WZSPWA6Y5IVYORZYOXJS220XCIPY01TZC9VKEZ2RGOCUOX5IEZVGO79SX3WR03PEMVN5R2HN512EEWNWNUYHJCYWYU6GADTRMFAR23QJZEKC9G0BQAHU3P5S9CWGHC4KGGYVHNDKVND4PS39CK8AGTH535ZLKNO29HJWBN5PDRB9Y2R23PRYE9KRXLVXYC668FTKXGFKZ65XKWVVFYR85WOJ9DJPUU7WF4Z6XG3P5C9Z1B7MI6L4Y1LBWAIO7FSP5F4IW6S5NH4EP7ATVWGDNUIJTJ7S6SU05B131T9GEAAFQF6YCBNBD87LLOX8DE46B2RFRSWSAYRBHHLDWEJ1XM9JF86VSWG4PFB6M60SSF5NRR8JC8BNJV4JYYVIGQQBDGGQ5TZ709FLWAU24VQVPEVB23RC48WWDECJEU5YPXB1W1QIXFLYE3VN75F36CFSRF7X7UMZ4U3NXB0IA1CIJ32H2AEP4ETDCBYI4PDG53MDYGQ7X13NNSHS28Z7OW5D7F84U4EJUT75EGMJ4KD6IUEOZ346QYBBP8LA1JVDAE9TMDWA8XWEMKYLTJ5VUTH5 = -36#MURJ65GCQF6R1Y8UL7IQIBI3V7QTTLTGOFR4J5KVH5GWKKWK9CKK84R0DYOMKDOTYVDU2VZTFT7M6TG6A085L3NU2XPP2TZ02WIXTFMYZ8F53HGH4D5TA47PHEF0VRFW3FI9W50HETYA3L8F6B7CEQZJO4F577Z6QA0TDTRLGTUKTCV8NHOZF9F38IPNMBY4VZBMO8FYYZ58F30HF73TYQ154MFAOSCR7SURRFWA7CGTJU8Y9330UEBV86ZP6NPWF93YGXV1FUJOM8C3NID5Y8MVBUJ2LTT7BSH5HFE525D94T08FPE238BQ417EZHZYAIHSVQMAB0ZHMV1HBS3E3MCKLC5DJQJ2EADHZPYF1FQDTY1SUR121JOH1WQJMLF4BCIIEX99WBXTEEYR64N3QQ92TN4ENB8AO6OU82SUWWQC1F2NJ9NHXGW4BRVJ05QL5SZ4CC05L5Z6IF9O3KO5PQO19J05JRFY3ZIHOXMPYNCF152X7YRJJXNBW713CKV70F1ROONNZ50G0ACRA9HCP9ZRXO065LJX1JGEJ * (-36#5WOS927HHS6SDXFYNH7QS4DGF3EHCH0M0EBZZCAYFGPQVWUU2Y4IKICP4SFP6YFD4B4D42KFJIMXGOGP2W3LSH5CJLYMZKUS211ACL2QII3OHUE82B29BCDEOO9J06G8NJHSNXS53YZWXAU09WOPTDT5BPKFRY4X0731KGHHC0AP2S1JRHSFL86NKYG3U4GZB88T0KLWWTB7QSRPH936YAA004IIF91ALXWUEBP89LID0NG91Z3J6XQL4WLXKENCVPLT507KBCAN316EVF0ROOBUWB1EK235I7QXWHI38YD78KUS2DMUSGOXXWE5E10DJPVU22CV8MUQOF8MLTLJC12WLINB5ZMLTPTMS8GFHF0CL2TCRJJTZNFWNUE3LQNZ0O3KJ93GW4I08SU2SXLUYQ5BV1YUDUFNAXGK3BMLN5VOFUAAOB0O75CE1GU1WQMQRE1NZB2OJSUEK4044RZLO8NE331K281ASEW4WC9P5B954C09PRJIAGEVF7T3FCDQ89YCI5RFNEU4ZYE6Q299PLPRXENPUX4K0DBXJKZXDTTRDZNUABFM17LID7B9CPUQOAB61RQAAODRIHEGVEIJUYJJUKRJLQLVARLH08ZL74X1KG3VYQ9B0CD30ZD1GD7ADZUHTMAL1XCRNMBNOMHE3PGNEO4N9LKFSFEYHHCRDQCUZJX024ANZBNRPN). +-36#3JBMVJV0TQMHC6NPQO6DTP68GXMWHNIRL7NWO0ED4M01OOGX9L1VDR078KSDLPBIZ1B0KTUBEDG6HJ57Q9KL5PPZ4WHOC0D9O7M = 36#1L70PDYQK4WF316PN8X6IYHB8LSWINSS7HX9K9RTKC3URAAWWQ * (-36#28523JXT4Q63MEJCLC9FUCOB2IV8M2UDLGDGFYZSN5KY7A6XU5). +36#2C0151O610MQVR9YAACHMGUY0ID2WW8ECABIPH98X9ZGQEM3S3KMRACODI1LBKX1FN077NVYU4XQ7Z1JG1745NGJWHAMT4H14RY21XCSGV0OHDQHI0RBL2YAVJ764VYS2MR3ALW7N7GXT2DOY02AR4UFHV6TGZ900GNAZ28SUQUCS4B29RGBEXNZ3LCT9QPSBVQ2T32NUBXG7ABXTR2MPLJEVM4SZJOE6ES2S6SOP6JMCGRYS9KRLLCLHQYHU4XULP25F6OJU1AR9YRIA8AUTM85Z2OIQTBCMUGG253T1NQCRQ18312B6MEO1MI3RX056D11P7ZAGCSCAE5U8S60FTJ37EGVAVVP9G05SATPZXMQBZDFS621AD545U4JP8L33IAEQEF9T5UUU4QJCCLR153UL6PY28UKW22M080X3XM45PQNU9ZRVW082YQVPEF529ZPO8L7D6FAGCIUKW60L10IG07L9JTUSULRG5XK08H6K9ZF65C7KB9FL9G3F0Q3OTNBT880F11YV9JI3GT8Q0VQNKIBBPAA3DM0BES3EX2AA518YBZZZK0FQIDTXSWIIHTHFD7U3YW476YALF4DZ259LLT8SE6CNSDHDT3SF1XV2FSDVM9TZONBZF9MYD0U7F4VS9ZSYJGY7MB83IOZ6AFUYKEM0PVS9DOJ4XEZOUU7JBFKZRR2AIMF3GMNPYIY2BSG82LRE42DJZO1VCEXTO4KF7Y1YPTVPJURH3HCVLH3AONDXZMCLR5W59W4ANPAO1PQZAAV7AKULW7U2VULDV0MD4ZNKIC07A2GJCKEHEX4Z6CO6ILCFCCBQKHLYUWPEGPBNOQT3HZNF7VK9TZ7BBCUADKZBD20AIXN69B7HYUIDB2ZYP4JV09MB0KINC8CGSXFO5EK7CL17BFHA8QHNRPEIIUK5ISDJDEVQRT66UBMTA3DND1CK024CH75YX09H1T7M322AJK5OGYPLLPGZXIZN23GWUQIODNAP9ACPZ6MQ1OK04EZ1JY262L9G679U0AQCBJMV8K6C3Z8WV61A7X8U7RJ23O9WIN7GUEMC67Q4ZCOR7Y1Q74EPWLDG1TWYWB3N3ZF4PXQHQNZD3W0MBHGID13QQKVLVDDP9ZLBMJLVL6BEMXC4Z5JY8VCKGHVCE44CE7AYXUJGMGEY0FS44SC4H0S6FOTK320G7PM86UV94FYQUEJYWKE18J4Z52Q5L7790Y1JPG6N45RFXAQTC9K6751ALMWGJUN2YJEN2Y3ERZ3H0H87R7MWW1EGPWW2PPED89HDJATKRFVV8SPWOJ1MVWROJAVSGTLBYQYTD7SVS1Y6T38836PX2FQ1Q81I1YMRXYPZA6C4KDFJHPVPP2MYQPMXJ41OXUTQDQ0B98PVNDDE5BF0WD7U64RYT0SUR3T90YEVOXMDMTS3QO5P2QRBMZ063RVU5BKBKHSQGVVMK656UP3X424ATB9J6RW4FVIQ48JNJ8UNNMBVZZUKF601PN0KWQ4T0BQ52B03AKAXJDOSWG1VQAORWIM7ZXLQWOBVCWXG05SRIQ2SPLZR2BTOO7CVSA580SG7E2UWMCQXWLSI = -36#1EEUJJSSE5W90MV0FC9XWZDL5Z1HR5ULEJ9WG9XCMLBBAJ8OJW8SWQ7J08ERE9HWZO054K7L5OU2OIUHCU4FWRRTSZE64UY46UEES20DO4IASMGHALU1SDPL10LFKTZYIE91KZ6TDTM2CNAE2TDZ82XMVCT4NVWW706RBIEW4GC0YXRGXGLNT8TQO9WWHXWFXEBPQ6XXNP3K3WOU7CAKC5LO9PU3K2SBILY2YAEF9JEJM7ZMGY9UCWJCTAI3TKMSF3ZXH3Y8FCSEF8JVM2ZT1AN411S6WBFHA837L9XN95WH3XH2NR3HC4GS72OXMH75ZZKAFONCU9R36LM34P5KXDPYG2FUSIWBMIJOXIEI7QZWESRJDQPNQ1OMOUMKPQUSCTQG6N7G6KE4F4QKCJXN57VIQE8DTJVRQG36S92067M62KVUUV7OYTFMFK5V45Q8RJ4B7K677FRKPR6ADXX49BU6E7KYWNEZKMXCHEDWZU0GDZM1F1LYF3WTIC7HFJ04AB0ZT5MR4V5OBAOQ45RNQ22UFJPGBINSWSQP6EKCYEZCN2EX2DY9U1L79C77F1VLR6E23A0FIM33VQ46WFUJCO9LNPIIWPBVU5FYZARY87WVSSLOD1C5IDQRZGXNYNJLKGANMQXMX5C8YJ6P5FZI0NOT6LVITO17U0XMKQMH0FMG4VQP514XKCBX4MRAFGJQI4PXFHQDBY44Q04YCC5LKD12OXSXER97V8QW3RV0T5LY9JQI00RNKP19P5I6 * (-36#1NZHLMY01M5HRW3ZTH7KI9740YCE93LQN9H9U5B7R0L57KHTTTCMRJW2JFQ3RP2A7ICYJLZCHMDJJ3LJNK01474676ESSEGMP0SQ5KW69D6U9BODZ1SOT551DEAJLI9J2OGNLVRTWB7Q4Y65CDBGOTCC6H2SIU847CAKOXKDK4BV9XME0GY093I6GFMI4G0K6IRPP807K0WIF0JCL6RCL81HWK3TTY3O73ZMC4LNEMMQQNDTTIRWLGU7MDXK6RH0CD2T8L54NNV20V0519NULO0DRYC2K7AVFEJW3ESO7M50I1SRCR5674YCAAIR6OE6ON5A77T6C3KEW8HG8U9P0KUIXEZ5WOUHFOB0S6RFIFHY9DGJ32B81BV1R560K1OYABXQHW631UXDCN4A2ZS2FYGSJHG0QMKY42GV73854IHXX1TCXF9Y1GRQCOSJKOWD0VG70JYKD5VW6MMROMQCQRB0QDYRBMA9SY21AV9RBXFNPP6R3TCOXGWVMB7V4B8Z7NULA9CQSEAD7AG76Z9PCWJ6SMXLHOZPKAKYK1UKEH1B6PBJ7IP7EWO61PUTV016FMALY07W67PB5UBPVX5EK8TDC36235RRDSLTL5S1QTQLGJWVU2O7YA5UWCAPR0EP8UAX7Z8JLGI0OGYX0VEMUXI8W8E7ZLQ5YEY4HRF5IS5YMSDG1ZTC6G7KD10KYXKN0HHREWFVH16LV1WFYEPCZENKSPSUCA0QSMFVRWVJPXR09BXTBVA1PU3PDK7OOY27BEB0KMYG2V8EK0ATKB4CK3NPHACVNYERPFHIMYGN0ANGQU9Y7FGTVR). +-36#4L0KCLITAA4OTPXOXNDUSOHHFH50TKRWKCVDKWPPFMFA8M8BJ2E5SNQN4ZFTPP6KG8RM1VLVIV6PMR9LE0C60IDAOI6QY1MQXT79ICSFDA8L647SGJL04V6OKJ9OMTSH6AS1MLFBXLCL0LG7ABJY40B522ZADN75M21JKYIE274C01MXN7681B514TS5P3467U7RH249RETWUWRDD99XOJAOZMWD7FQ1SPGMWZNLCJM62Y00TRZ803I337I0HB4MS3XVIOPE75Y14FTZ80SGPOQH3UWS4TXRJLTUULOIOGNKDJP1RBMFTZTJ827MNAKLO6EN71VY75SVGRWJTN2N12AYGAQK = 36#3CCMDXGWLM9FJD66Y62QLJS6P9YNANN8S9ADANVW8LUL5A214IXLRMK5BB0PSWU4UVOJ1ESRM5OM7VIYYTYPZ7BOD9FQUAK2CLU3W3HP10E5H37Y96EIFNSTLUCUF89LP4FFT2BFJK7P2K9TINMHTAUFYYNUYA3KVPAEV5KGP70KOD8OFV00223K7H9EH1YVUUA31SF8RB0TZPY0E2KI3LWUUY0EV5IYOQ16JNJ29QKUF07H3TI9I4SWL8KFDE90HIU4YIT80CNS7RG90X9W7QH7TOBEHUSK796DFHUMV9ZPFM1XWKR5XWTCTPB2H7P0PN47Q4VPWFPPHZ7EY95RQRQNZDSNWRFKGC89VVUULXZL49WNCEBQOU7R63VUCVMW9YFZM4I187UA3V0MJ5Z09JUL363EV99M6NK86QLD36U0A2Z5VZNLEHQF2DI3KFVK2UFAZ790HPJUMXLELCPUCVPSTVG54DJ0PVVPNNVFPVHGJQ6UX44B5S6UZWMW2UU42T22F4XL8PMLXTBOPBDMZP2JRR4CSXK84JLOY1SEJ3ONCSCE61ZAZMRP8CX1Z8CWN5YBC2U5IEMXDF6ZUV3UF1N91B3FPQESN28S3BYD85NNUIW div -36#Q97JC41RCOZZQ99QXZO5PFFU8XNVWXKG7XR3JHVG954HDFRHVYC0SU3PBG9Q5O4987O6PGL3S0C95R80K5TW2NSG0A12WSAELAO9RY6X98EQY436MTEIYZW14U1I0J2MD9VWJI9SOTDUYBDWIZCGHTQU36PMPDIL18CLTRQTLU7RD3RRPJGKAPA7QL2RX2QDLMYZFCG567O7TDWLQHNAP32W2I1YW89TWK9HHUX3HFOGJPBA0MKSW3HWZLVIYB5A16N7OC3A3TY3SVXC7ZY. +-36#3XUVOO1BM81XYE12X8PG8ATL3BM3DKT9BVGELJF4D9VTX4Y8L01DMAUY4JMQ8LAA737ZJROWX0PE88IKFV7ASDB3LOIGIWC0IIM3SECZDYYSCN7858TM5119N6BWBT7GKA7Q1V53Z091GZBCL50OS40J9BKD3DSUI6UGUBRJQC742XNXEAP7MSAVZW0U751BDVKVO9M4VCTEIFDQMRG1X02C4EK2DYU8GU3JFMORPF92UZ4LQW1WLZIN9SY5A71ZHUVV4XFTVH5N8YCQKQTBBMGWKW4POMM96H97X2X1YS8SH9DS7076AKF4ZPNVP4WBGLKOXKFGIPBRNNTR8POAEDG4GN11RPSL70FNMFGD8MU = -36#EXJ2KKPHSWRH3AXZMNEITNGQTJPXFN97HJYY8K31QWWMQRMJI1RT8M671ZEZSJKVVDN4YAX5JQT5TL7Y * 36#9I0U5JCB9OZ94373NY6JHU5USTHKKD9NFH6ZQSA8R6M1TRZH35U26KTEAN3K3DU43ZMGV7TZEGC3OM3RPGZH839X7I0IE39OSPZDMD4SOFMHCBBOST4MM47F5TWPNXFKHS83756OFW2HHXU5K1M210YF3DBDPJH2KJN876EYT99BMPF2N6VXKLTZ5VI8EI84IERUXJYP4GC72ACTXSI8C50H7F4A35UOYKXJSNURS1C4BDL2S0F1KCDQ61RKMKK9023O74NT0AF42FNU3YBLUEUH2IL. +-36#2K7MDMEM43HIAOLR33O48JZWMMLBKCXE8XOAEFPRO0Y5LG8TIMVP7ZJB55YJBG421X6L9KM7VQ65YHUQ7ZWP5FZZE8M8MFCO2GQT1BEGEDY1QBQ9YZBH43HY4EJN0736E1TIA8GFRPGK5CN9VXJ5ZNF12H1H7UH2285Z9OTT1JVGWZN93EBZ9 = 36#12BGDK6U1M7USDJS0GMMJC8X6Y0D2SX408URS982UP9FKGSHYYSCS7QMNT01DNNX3EXUX98ZDCOYWXXN8ZPN31XPMPLJAL34OGFVASXDCAHG2G01KJZ4WMC6Q3PGBQEVRPORX19OXV8N0T1KPGTU7ZVX499WCKGSDORP5OFDYAMQZYU4519QOY4XZ0EDN53MKX1Y04A5RQAUGU112MZIJLM9O08AEPKZKF3OAI div -36#EYJPF17CIYLAN2LU9BM43PV8X00YPDJHH5Y6BPIIJ6NFX6NJM. +-36#4TY9UT79ALRK1CCX27IH6I63LDXFTILRL4Q1TIA0DJMMY9X5IN6EIQCUNFFGGFWXCUHPFZ6EA8ZIE7FMTQMPY702HVR6CVFJVJH8V9YFE7GG0O7YSX1RK2WR7KOAN7BERMIJCFY0LB8IA042CPZUEUGJSTR3GFFJ8L28IGQNHJ91PJBFL82QBOUP4MM5QSXTV6A27Z0T9ZLDPDS90H6QT2GZSCLN6SPJJWX7AT7SEKNK43NI3NKCPPWZTZGKDDOKV95S0K4T0WRUCXQ21W60KZKYFD0SIX9F = -36#AN1WFK6W90JGF1NB7A5BGMF5JISLY5AEEIGK7V2SK3WUL6TRDS4CY2MJEIP3EF23KEO9S8PEA5U5FDBYCWWMX1HIW861K6FMM4M4J1LGD80R9KG8PA4BZY0LNBQZP19MULRNWJQ3714Y3VS5JM9UA8C5AZYEMKG98WYG53W8QE1DSFB1IBIFM3KPCV2F8F33Q5OYJ523BCJNCWK68LW2H3HJLCR538WPQMNUZNHH2OOIPMHKPPIFUXFY6HQWHOTY9FUTT1NS8GB7R8VDGB5NYN1MA04VCZ1IBHK6N6WFF6CGELOEMNZ4Q9EOXZMFA9ZTOFFBODO8V4HQ004A6 div 36#279VAR6Z0TP15EQGN5LCSUD2JRY3TK01S49ARFBQD5N7OY3Q4A. +-36#1Y2CXCBW4EAOAVECN22Y49TY4P5FN52P16U7MW2EQ7Q773UPDZCLOR5G5CB52AG9JCKI6SGPQ3GW47V28HVKD30EMQLN7YQ9HC = 36#1WO6C7DDWO2NXDCF8JGMZ72AYOG9D0YN2UAQBXDT5B1KESFAK * (-36#10QB2PM6IRQLFSO1RQ071862JJ01PK3013Z0SHJC4NVNKUKQQO). +-36#4LE1HHV5DS2442ON2FAG7SRXGF7SEHAI60ZZ16491FR2O577CQWZQ914NSFGEDLC8FWE1GU6UZYPQAPXEDWWNBAMDEM5URFX5CEMJTAWKKK870LGUN3854UPH8WOZ4RSZNW94U2L108SHIH5ACKCBXIC5U9J7Q1IEDGYJRNZ27MK4AFKHMLE7FBKUGLZX4K1D3ON3S3DZCAN78WYW05AKOXHSCNBBLBOMUA4SK3N1F8E27V7QWNWRGOG6EM7KM7JWHN5QXFHAQRLAQ0TOXBD5HJVKK8UIILGZIUIAE5I7KUIOU8GKTXN2NO4I7HPMRW4DT2NE31Q77II72J9RAC5AVVHN6QGZ1QIOW6MHW8TC6GAWVTUPEYFTZ7HEJRI8KU17ID3LEQ1SQF0KB1H5RL8SOROCSPWWODFZ9947V0AHIFIJDSRH6XRA6A3HMR5CBAG024ACR4UIQ8DCXUYDGRSSV5OW8SASAT1LYNLYT9ZVNK6P61UF2R9DOGH755O974ETKJFJ6685D37Y1KKJG4YRJH4H4U2DAJAX8NKSAY5VQEOZRJSWMDQUW = 36#3LS9EAD38N36JP0YN448X61L07YKA08GAUNH4KFTCHP4RD9TXJNWIEY49WYAAIW5K6VGUGM070Q652BWCJ972IWPFWQD426U70RDGOUYWVQNUYJ7F0192KXUJ67DDPVIFIG1EU2HGGRAE7C61NQ9USEUDNBFRCJAGCKN676Z8D7S2972DXEJS5JDR0J7MM8F4RTQCU0UCU1GOFYJ2533DG6NEW48DYY1F9MYCF7M18CQN62O53MDU40GYPWII72757LNVN8PY19WINEQYPT5W6M9P6HM6288 * (-36#19VJJ1B972EA475I3FXGNWAHKQX1TUUR221WYF5V84CE2J5KIMFZ4SU1E3KWF4XBV5HOEONSINFOGUKBYRRTAAE8YOTBDEDJ8H4IU88YTBK99ER365P48DB29GO7IHT149KG5CCUVY88ES27XTXK39LLZ8KPI3WQMMYA507SK8DPBQ39GYMEUXK2HJNTFGCXBQHGCAQFI92YF0DR5CVCRYEFBRL7O6OWMBWLHV14G1QRZL2T3PR8QG6G1PX11N74WD87CH8AYEWW47B7VPBC08V). +36#2Y7CD8P6FMIPCQURJJFHFRU0PYG3B7Z2XK11S9PPOZPAJVQ1I0S1WU1M36KM8MNOG36RAREMIGYTYP7QWW71FMS4UACS1RT7BPUMW1TV8FH4GUVMQN6G3QCD8P2GAVN5CZ6MO9O0A83K6B0F819PYF5O7SZ8CE9V3W2U45P4FIYPN9CTDLXV48IEHYO6345YYR0B6SFF7MIWIV6YG9NLIXUFUC05Q581RI5F0DFR17U7BY4WFWYI57SA30K6BHQQ8CVQ8BDI7KG0C7HB2ZFZL8ANPL8 = 36#6P4HTRZ4X48MC74YC241HPAYEU06QJOWQCZQATQE3R2KIV1Y5YYJ6F67SP5RT5TNSO4HP6ADWCZKHAQF3XRRBFY4P0C5MU0R1B2A1WRO1R6FXMJ8DR529M9YKMP64DN6M02BJYEA2XNOJXE1XYTC21OHQ95BNBXTY13Q0LR4STD158QSNRS478D1NTMHAJTBFF3JHWH2S26EQD8LIVC6YY6LIJWGVX3WN72JCBCT63PAWPOZSBH3KVZ3BX4G3HB9INYXZ8XKHDWQ6B569AC0K69E0F0EQAL4G4W8O10DTBZA5GDEYRLL9BUC64AAIBL27R7N7AO60LLW div 36#29QFHMG1VU46HH1R5YMLBQQLBTEH2MTOUQA3FUYCD05ATXMEXV. +36#HHKOQKFCSGFFNXY1L09KRX7A486BSMTBYNMJLASYPFCMMQVRI5TTBXCBBQX0SIBU51SC7LQ79KGLB3C96EAUDVZKWC6QVPOZVN29LO2IATLM2HGTNYF22BUQ02RM08ORL6UQ8MX5ZASJCZBM9AB7B05TIICDQA5DMWR0LA06XO5PSG9EI7WDF50RK7OE834VN4TC5EFXEQ20MTTB6UJAD3VMNY1ES73Z1JV4AID66CKCMMDXDZH1LRJNQA900FCCKXL57KSVAVXD0PCTAZZO4US0TOGCC60ANYRBWJ7XZRP0KPM6BWXW95RDO36GBN6NRPGIOJ88CB3DJ7JU79O9IDZH6P2DX8QUF6MHITHCE7I3LAJZNHVLX5YNIGA6ETGT577I2BB7GFA8DD8ZCB9NCX5DURI4QS1D8J99U0IQ8W2BM2LD6KNI0RWROTEL4UXJDNL023YB2328SOTHTLOER186AI2DJLWF2RC0GQ4J330Z08FAHDCZY = -36#HZ58LU6CJYIXAXPMWMVLT1M0PTX4WCYHAZ9C48BRZLAJCGTVQG83HM0GHXV49GKMSYGIRO0KEJBQ3A0O8O9ZVTWNDCNNSNIO6MIG6EAA4ECPNP7T9VQFOOZJ10B37BX0X0MS3UDIDDTJSTEZP2L2ZT1MAV41FOFE42GD7WY4CAGASW1FT39ELLUR0EJ8JX455IOQR3RDHXVF1J8D1MDK9C94Y0GI7VQVEDKGQHAYQ0ESNUS7P8EUYV17GNW6BLRL3MTKG6H6361MIHXQUR0352F6SB5M9KVSUY2EN3Z2FVES7HVEYB18OKH6E84UP6WT29CLPGKXJX2WMJJIKPUIC0TE7DO8M8YSZXCISW0K5RAD27WQO85QXDI7M2UBP1QHWD8FT2GDIH74SOKVZT8JZ4CXT0ES07Z8WYBATZVJICF26C542T75GD4Q91DTEQ7NDB0AH * (-36#Z0T84M78VH3IHE241988QNJ4L5VPP22RS1ITNQ4VVT30K132). +-36#5J7P7PJT572U0O9HXLM9MASMICZ8SO1RSIXYCWQC5ZG8889LLQU615I2B4DZBI3UV26JKO6MZNIINI5T29W32M3FZRXFZN9IUHQEQLFT365RKWLMWZ1MWC7AA2T0TWO4OOND5L5SKMR9UTGS4RAJ3HUK2FDWFL80QBTAL1FX5S96W7MO5JVHPIQT54BFZN9BDAM2T2KP0ZQEM1S8MY45GIDQK5916SOGC2X4LUHIL8NHD66KEMK2F8C7GF6BITEJU4NM8DUMIY97FFWHTZOE9KIU82YNHFTSKZPKJ71TGRLA10V = -36#54E6DMB24O5R3MBT38356RUHYU5EFHIOAJTZRXS04Y2D3QJ6KK0GI7UG5WEJZQMK44DDXM0BZ26D7717XGWXVS1JQ5R6UQBA5V0SR1CGHFLJ4S0IPOUI39SEE4WP0ONFW9BQ747ZL3IY2I336RIIFT9OKJHS9FROTOYQW2ZD2BOZ45L3WZU56XRZU4J1O4QHXX2UND5PRGD07I40NT634AQXUG2MFTOYGFZSRCF9IKBM1U584PE3XRTZFT2BWUBMSQHRPNMZVTGESMFMLP6EFI8XVA3P6BZT0ULLZED4CA6NMUI9K072LDF1H3X8R7RYOWMCI3ZBMD8UG5VJ4LLN59FR3P8WY9WU div 36#XBL4KYFF1XJSBC6DUGNST27BXPPW8SUNSEROGCIJTYY10WSDU. +-36#557YLRKYR34DSXKQPTXNCAUAZ6O52SK5OYAPYNY1SNAK1ZRFB1NRRQXOEXFI9NV0UWPY3X6IK2X1ZCH5WFFUM8KSB6DCEZ0B8YZWMKVUGPBN0UA5I2ZQV515JEHZ54RFBU7ACJCI11PEXVRLUYUALUNTDFLPFB3GD81U2ZCSTW6ZI58SWPRYFM8R5XLMYDRXU4UAW3J57V40AG8OXY82ZS1B129UAM88LR76QLAAA7HFPVWXE2KSOTBZ6GOF4KCEYVLMBZTIQYJ5HU23YBJK5SNO64WVWMFVC3SOLV5UTCK5AY2M4V9BZEWFZ7UUHXGLGMZNOM26VN9YXKOYYUJKPOF9ATSWR54OSE0DJK2BRRO1UZFSZWIHCIX1IVYC9C65Z92VWWT28MC7RJI4MZ14W4QAS6P4UGUOH73PVGOQG2RCJX5QNHI6ZCQHH8O8L42Q1AG18411VNY5809JU1YR9DT85QZ23M2RH5JXUWJEZHKNILRA7BRCVS4W7IQ8UBLV3RHVC0NVD81D9CQZZ5DBEORTZGTUMGSZ1W8FRCNQ2OVIL9G40GOJA5JDN279320YSQ1OQN6P9SY8QUD93DZ8VGZC4BN2VU0W0GMDDFE85OYGRSYE29H4N899Z3I1KN715CZIUJ3Z14RITD33UFATZVZ0O0MFM7VUZJ1LMU8IX1ZVDFI18YXGQRLXB18QH4WKO3IPL8QGZEYG37NT744LTJ6R9SUDWFGIPKX9UYNMNU6QXHDV88Q5WNEG26TMK5KXTKB615SEBVLG2HYVKLQM6XXGDEAY1C9EGAW4KS0HXDHNXW8UHEW3ZB4N1B138MYOYSFH8MCY1YQ2XJEXUIOE1CAUR48DCNVWZBWSTJ38WBVRM4XK0EXYJUSQBTVGTB8NPXQFKPL9OC5RU12U6WABHT1ZK9H7E2BHISVGQKGKNSY71SMUZSNMFNAOTORLAY389AR7H51GN99JMG00494ERN1A0D2QEERVVXFMQBGCU1M8ZV5ELZCGBLZO0SAHDE3C8U0A1MNMWVZNJYT6FMMSRL7JFAURQRJA6O32A8MZAMXFWOPH1UY79JUNVL0OF9DBLV9GDMPGJEMS1YC9QAZ5PRN1EM0MNCM7IXLS = 36#2BOHNNKZ0JKHPQTYJGQMN904LM301SEGP1RKPHXMO1OPO518LH72WLGLCUVPOTJY9P2WRBBOBXA29077YJEQUZ58AC9ICUCAFBDQ0Z3BD88O36EV79WT5P942AUV0KM97E6ZQVY2NQXHYSHQSWJ4GP98UDDN2FVZ1U8GYIMHGLNMT18IX9FQKN24ITVHSKT2E3GNE1FZPC1PL8JSJKYBIX3AGCSD1ER7ZJR3A2QQ0RIYTB8V554JDM9MI76OLIKL9AXVNHBRG0JWYDQ4WQZHIV9BDI5R0Y8NTYJTAG8HU41JLSB3N3V2JZUHUE6F2XNZSKCQN7FFQ2L6488EINI49T26URJANVP1JPUMBRADCLZNRADHD1J6KK2MHPV9ISBNCI4U3Q2G6GU8GCF0QVE8EOD2X8DPLTXM3I6GM6Y7I1CO6D7BLTJQYDGWUIXPT6LJCODA9IN04KRWHAPASVL6RBZRO7I4I1IXS74FKL34LH54CVHR549R8K9DPQOUMZHID6JCJN6QUSCOU9TY2PCS5X09RQ4O47NKTU1WO37A61BUES9DS5O23NGWIV56V93U2TINHMKMIELDMWXCMN8X1HVKGE7D5LQ0HEFJWASYQR785H6Y5U17M6CHR5KNNEC056G9NVHL06BLOUTO5E92SJRYT5WB6OXF6OGS45LHST4SJNYYCP6732PU9NMBZIOPMMVW3AJMS7GU8NGIVCUT30P6LSYFC9QO46QNB2H337NBDETZOBSYXS9SA8FY1SJG9SGFDJJ9E60OTPAZUS4RC79ZD4T3U2T3ZT2YI78POFMH21O293V6101MLKOOTTR8HMTUFJS8Q3S9MHV0G8XFVMT05I3Y7784BXY07DQO2XNTUN93KO4WM * (-36#27OM62NUYBWB29UCRMBGR3A3JYHN5AADOP5JKQFSGNDWTQFUH6ZXI9TF2K6HN3GIRVEHZAN7VCU1B2PY6YV204K4VC7WCBCZVFJFOABQ0T0ZH4NW41VM3M146RSXZ8HO5ZFE0FRLIAWC60AK4FGXOGDUIOTIJEN6583A9O7IX1YUG88YKN31XWYUSSO0M59UQTP9YBT3HLK44PV42XNJOTEB7NTR7HP1OBNEOTYG0P5LPZSG). +36#73V93DCQEXTJAGASMKCXNYRTZKDDLQZUMSB07XYCL38HAVKVH = 36#PFXSMH4NXGGNRYOZ7O9ABU2A6SVLGDJR89LO5GPCE2CU3N4PW4D95HX7OMRXBRCTI80VUAP0HPXZTG3XA2QUO1YBUPCAO8M69819UC2SF9LANAALU0AOVP5UICKLWLQJ3MIEA14ZBH87W4CKBUH8JHPECUPYBGHDDQ1PWRWXNPUPV051MVM153O77OA1LBDXOJG65K3B9BGR6NAYMDZP28TC39Z9KP8NYDKUSDEERO03AV2XDA39DIRP6N0KJKSXRG86UVUJ518GVUUSPG4KS2WQN div 36#3KVBVE2SO7LMS9K940WUTCYW626RNL7R109QLEMIPH52VIIF5OG1KQ6AUPGGQN8MWAT2GJLM96166P88L862V3VMM6066T0DAXR3M7OJYBBC560AIQJ1FAX4SZQEDG1RHVKT01Q0HQ4ZPT57XUGYDJ86JUVOCIMIX8L2X284E7BD50WXX17VQ2Z1RY2KHX505PH2HXZYBRMK6K6MYIR9TTDZEVIYWT6UIS4S9C6VV. +-36#549UD8X17WI33Y0LOP7AVCJUJ5IW6B838SZQQ3UIRN3Y7H86HQ02HMKA0RIUPLD7P0PDSRQQM5YZK02OPQ9TBBR9QBL2KWCOV65W0N00WWCURTETBC4E7FBYOP05DVX191Q52A7NMWASXD328D1GNL7U1XNJVSC7UKZJ1LAP8QLSEBG4TOUJ16A08NUMWT0CB6D827U7EL3OG3Z3FMLCABCWA5W8EBBZYFRY2RQRHANPQPXBT1WMIOB36BTDU8B3RJ8KQ3IDNUMRF6AXF7BRYROU4GF2F61CW2ZRM68QU3C3CZB5H3S36EHJKFP8R74QDVX3ZUATHJ6IDW341BREQWUQ8K4X3QZ89577RDAQIAD9DLTWZODAX07Z1K8H0ZZRQONKFMNVTGD4M9U7SXE3NSFD0IT0AM0RBQR6UDYEQHLDL6D7XT5UTK3K6YR3IZJ4WHB8LGHPYFSS68JJS6PVLL38207QMIRY67D617P05QYVQZBXO1DUAT7KL72B6USC8RVA1Y0ISM5D93EJWSD3O2CS2GLBALL83XOMMK48ADC8XKFMMAJTWCXTDBB6MLY3PUF907L6B6JD = -36#2PB93UKYT37WYZX6A4NTDSAQYE41EEV6BX70XKFEMKGWYE4Q0W148UNX153KP3675JB9K0J3R35CFELB7AQK8QGWG6Q721K7TO3CZ7X4GQ5LYQI1FPNKUPEGN1EM7L416QUUEDA6U2XRSMDNV9SHDHZMXPR438DTJL4RMEYQ3LOEQEXJFECHOI4MWX6F3DM0D2G7YX1S4B1O8U330S2I3UOWSZUQX66RA3SBRWN978JNOG6WXWJOKYQFPK7IGDZ3VINVDVFU5IEGBG70QVVK00NHS8LF68L3M9PM234XX3V1NDNMK3AUGDTF3W7D9E8PM9OSL0QR13LZ6M01IALUSVVXLK5K5XHFESTK5HYQ0H29TNALUGAIWI3FDRHP8RPVSFP3QL3OPKMXDI65Z03KF71VKFEH166RZGZ1NMT02WO6T981VH7PTKBA9YO04T4LAZUUSTSBTV9PLV345YJDJEFSX8K79W39DULTK9RUJIFLIU6VWZUB87TQIG85JVLAUGXI6E6KUSLRUOAUDBRGFRED1EOP9A1RS3I3D9EB6B2QX2DTMLLNNUH2MGIQAT1IRWSUICVK25FAE5LFR7XM3VQL2ZSMRXP0WSEH3YXNENRN4C43BBZ7JTT5SNVI8MP50D4ZYDZER1L7DMCPH03R1RRTD8IVXW1BTJTNSUYDSEX8ERAKINKMFO21PKU8MCKD7KBADKYA5IKVSRENK7BU0UXH343VQQCKSEMP7VDBEBCDRULDITY6HKU5R72IT0OW5MY0HXXN6BKDQU0UUCKFIA4FLB172JC2HM6RH9OIAMEM6OOLOPTUNWEBDY4NHJ92R35MZNVUZANR4XQG0CXHRF8S3UJOM4KVZ3VL7QEBGFZ4C32P68IZOEXTOU3HR38ERF4U0QPPK80RR8SFTLIAY9Z9L3YTRSWYN03AIMP4PJHM96BE1WHIZC1UCPXV9Y1CD6TTOE7QHR7LESUU9C3CM0Z8OR7LFVJN5BXHPREHDCFOX092QB0U067AV94TVKVS35O23QWDV7IZ68277IYYBJH0YOGPYYWH1ONO9RT3BOKIRMVEISXKDKJ5AIU3TJKIA4HCITS8LSPVAL17W7K66AETUTRAEPQE5SXHR9RZFST2Z13CUEVKVR5XUQSE74DK7N2XWKX1LD div 36#J0EH02XRYS4TJWCUB2544CTZLM4SS8GX1IHSVP42AQ4OPD0M8RNKJJ6QIFCU8KM5X3OQUT03QLJKQMLSQ9L1EOI2H88R02YS1EEMAASVHW89L2RU93OHSU7D8TATYM135LQJ173VV1BJEG2FEJYQH10U5E8RLOHXBXFJFMW1BGS0SEML3M8TRQKFQ3LL3O4PHEUICVUIWH21N159FLZL0XZWOPWLH0GU9P697I0T9G7Y9ZREYZGABYMC01AFNM6LYEQIBKMYFXPH88GCKAQU6TO610Z4JFWZ4CVI4NE7CQWWZWZPPOTVENV95R0XYQDSP8Q35JM8VY5TAXF04OT66P8R6X9XC8NEQ9Q1FP2HJJJATOUFAESB3SJFABGJBLJC4YQIN0S7SAXF4QS7YFZ53RORQC0WXBZGT6H8Q1G3FBLSAENH0BB2O1VXGDTI9DB71VC13I1WXEIWIBQO077YTZ4J855000HAGY2NOM7Q7A5V8TMV269Q50YL1UW7VF8LK7E162V7SDB1WVJAOJW009RVMT99AF5RH6YA9Z6DG68086URKBVPW9DVZIACE1. +36#1JOE1CZ7GZK3TK0GR1R8ALA51Z5KBLCE9ZBE5SEXFAKSAXE4STEVMVWSRKD8I9FM3VWCMY4OZ3CJ46F2DAM9862V0HLKJDD9HPVF78YZ48ASVAIHSA0YER1QYB1NAXW5195X85RZXZTWHP1EW9M9G13KFL64NZ2QVJI6Q55SZ49MMMCEURKPBT2TBDO1PCOTC3QQYKT9XATUN5THO9OBE8Z22VGWIEULS77TJ0E547FG09RDJMK2X0FYZAZ0G8F8SJK2D0BXHY1H8KZRWUBOHLZX7PQ12G1ZUZ04DJOCILLEY9V3CHKQCTTFLL63PT4630ULYMYMTWJXONDYBKE6A08WU01EBNL7CKBIP2SFGHB4WQGR44XKL4841TO17CFTP0GXH6USARRJKMG3PW0I977M8XYFE43BE1TD6W7VCJFRJ63PZ51E11QUBPZ7A0SQTCRGQKXPMYL116PM8PYQOVBUMVPQJV2VTAWBO2D4OHLI = 36#IFVGG6P9ADFDYWV51XOVJDS0FKH014MD5LVA1N76VLBSM1WQJQDN6BFF0QAQ3LY2J72W19VA0EPNU97FN612S26761DNV6G7A6LJWADIPL9F6DGWUJXF8C8AQLRFFOHHKGHAU4VI4AHU1CKZK4UPK1XRUNDQCN8FFX470KH5R8YFNH3S1UY03BHJ875MD9NGQRM35I * 36#30OXCO29VCXEX16H018MJXLLDHP6Q8EXGMM47JFPN9BI649C5CAD0M1584IK9M4TAP4IJW1A8Y3D1JVLZ7JTZY3U9ILATAQ5M10JHW1JPOH37WB4OGUG2279LM0POEAGLYSYJXYX9UNMNOY6DYQNOS9OVECLZXAI8JVKT626D18R56QIGIW6VUFEC4IXCHSP46D6PX4FY7KJ7HLWZACK60VBFFWZMBJ522W1MGN6KRC7YEFLDN3KV0RM9DR3U3VP9O865ZGH2Z4PXR6DKG5AXUFPS7XNA5G4EONI0H. +36#1VSFNXFAQK7IOODHPDIN77XHLM69ETCNSGR169E2HHWA0EYAEQ5ONT9TYPIH1NCRYUOWVVSBU8WA2SL14GTKY772F9686Y6D09LDB2XQXJBF273M7T7YDL2PY4HPB2N2T3FROAJ0CIA0XVMSZYUNN3QVB8FBSPVZQXT6F4DIYIY1XY89G4OIZE0MEOYF52KXLD932M04FYP0XZNDIIR38B9BRWIGZ4JZQKP6RDKOUDNNUO263SF18GH4Z809OI71PXV0XGED9JLFMWVGMSZNBLPHUEF8FGRHOMZYKFVED2JB42ZJKX6 = 36#3FSEMZJ1IDW8PJNXJX34ZXG6JTB2E3S8DL59U4XWRAAGQF0SKL3EPXSWU1H80F3NTG9ZQV945TD3MYDTOZFOJCIU6JR3W85A7W2PTXXVMUCRC0RQ4PWWW8DJNVVSAC7SMYL3BXU5N8BJSQZAKVES6OAJR6UWHMZGWF15NSJ5XHY9MXWF69RO5CQMNEAI0P54LMICETCTWOU6UH8P8GRHAMFC973LMPGBYQYI2QY04HB1S0FEJI13C0BZ14M6NUPTGPBWPD8BS5O65H28C3ZC4730C9RJVFRJYO5C6Z8ZS27EU69QBRFM9N8B4OYXJ5BEVIMTJKIM4L22T6PO7PQHYTW7N1OEO35IKTYWOA4EK39VVUTJH3K4F375DUCPRWBODYHCY2BRFHUDA7WCDOZY2QJGE6F8INJQ1P7HNL964QUJ0DFVEWPMC6XHTZAWAEQWFL4ENYJSUXFC5GLYNFW1M7GR21TWK474X6R1KXSQQI94KM8OJCHPEQ6NBKMCIYVKD77EAH2VUD23BLM1PCUSGRT9QE1H2S2J4F5AQ7399BFHCTNZHB118MVCD9BZ988GFHGOTKHWO div 36#1TQL58XD4C15SNKC4N69C1FKVTUA0OMAGP39UPBT7OS6VYW873WSFMR3I3QJDWR9E3IJ6IAXQS4UHOOQJ53SQPKTJGQE830YN42WOGCD10DO1ZL0PJ0Z1CSY1JVCTS1H1D315NVX4AROSBD606UXGN8XRO029Y9MRG14T57TDXRUXBMUZEFTGYEM1BWN8XVAIBP1GNMY7HD47V4TY18AFQ4O4W8827BUKEH3JB8TI5AQFAY1L1Q2RIIGH1R527RIEQ0066N1AHZQ7N8Q57YTJPG. +36#FSXM3XZKBFSVJWMCJSKYKMWG3V1M8FCAZ76JKSZ5R6FZJVDT = 36#1BOO3H2RB9TXR24JTV5A9ZKB1FU2IDFR074ZXYNVBMXA5IW5D0ODR20DBVFOWWPVLFUIXULND262K00QK4SZHNAJO5QQQ8GY9TDUBQ2Y9VSNUB8GT6DO7HUE30J71Z49MXJ1KSUIANWBWD00HQQB11OCAFT18RMMZ8G92VDIUS7Z26TVEU51T5DXVJ7Q3RAH3PWNUDTFLY4KMKAQUPYG3GCL0PI49UTQAR8SMU15K00NSRA0EENA8E462HBD1O5O53Y2OT60NGIXTM7UAMSX2ZJ88WLNPU1L7R0NWFAAG59JQAFUTL7N4Z98W6BVF4I89ROEMEPQ8ANLTK7QFIMKE3KWOZB0X3Y7OY2KOYZR9XLD2CC6HVGHW2SM22N3O7R0KGQ4IWYUEWPCGTTU8YECPZOMAS1HRITUEI1L05E9YZVZ280WLK5VQGM96EIJC2DVYSY9FZDM5VH6X75V0V9WV6B78NWTZUEFDEJN1EORII664M0KSK351TWYR6R3SVSRJPQWUZKG9EAT1MJUA19OV4IBOG3G167M4WP27VXNO7U7T0V0HQIQT8GOLGBGZYS7DBSZ95AJJ0HZ5ALF514PCBLK66XYKHTNP274H8K8ZJFBQE419WEEX1EJTNENYMO9TCDKFNUQ3572U9JCJQIZYF8ABLOLHB5JB1T476Y9HQQCG0WU67KI6DD51NIQDYKW17BQ98GY0JZECMQNZZEHHY08CLAVT75W1OTOF5S7GDRMZL09PYGX6HUKY9RK0A5ODG7O2KXHNDZIX1BWGWC0NK47HHKV6EVO9F011IFZR0SC52JV1FAIBSZUPOAVLU7USVLL6005W214TJG43A7FUDKZXU99X5K0MP92GWETBU3TMYQQEPV9EDYU5QPL0RR4LFBBRCNY3SE0HL6QZ7DYCBG6HRLN7DADVBAZ3Q14IRBMGZ0NKU3NZ72B1L7MYIAG4NJLL9 div 36#30MH8Z5C8RTETH1AUUDVTCQOX2ZK7UP1ZCE2HXVH7D2DM6VJJD9AKOR954C0MIKU1BR4KV0PDMFWSQR2RM6ZZJJ5Z0RDVJ28STQSEGZS55VORNO97MSKRJH8RN76ENP5BFDXR4209I12P8P9ATG0224N27885BNE38KNFWFEL3ISWYLOEJZMSDMYF3LUPQ9XKH6KG76ZD9MUL31AZUSC2D6LI1VPFP82D3DG0QR6SS77YE6ZNK5EUIACCXMHRJ6Y7T9AS3WESIOWLTG8DPZFKLY7Q96KYK3MPA6JWIPBDQGFTTEFYG1F6Y39B5J5DQSQY0EQA5RF58BQT8XQM28I6MD5FLDVC7L92UXI92A6Y5U2SBPRDW5CHGA96FLI69K3MDDDV7FF288Q6QVK8EICT8CDTX9U622CMJVBHBA8MYTRVACU29PQI3R5OFQWI7ILSY3KUK9BVTO6GE7DVIE0AUPP8YHEKL27L4A1GPOBHQI89LL8IT1LMYOI8JPXTIVML3Q0PUTP4KQJ7G9UVAXOTQQFCFKU5YEGDLBSVLEMSH7D8599HDSSBSP38718OSRKGAYDP5LSMWMZ77MUSOX9L01PFQLMULIRP69NOYRM6XM556H3NCE6K77QFLDAW3TMZ43A2LMRDMG6CP8Z68TC5ZHFZ29P2OJNKMD8IVKY7K8V0I24FZT91S4DGV5L1OT9O8AUHW9BNUZV98D49Q1V0BF2UWCS282T8JS29UQMFVFMB9S5KVG787N8911I42BYU5RSQDZFJMA9JTBJ964L4YFXBA0WD6WPSR882HGGPLUD1HXIM07ZZB5OS30RPDMZWTGNH0E1YSA1EJAB9KQ7UD5YD9JIYHQ16KTYAF3V0W3BMXXDVWR2G17E88O440UHK29I45TCXVZF2X5728EUP9. +36#26RKG8ZBEZR8HRLW1EBIXBGOGU5HCOPON5N7NJ2DS9WHZVAEL4YMFMFDD82A79M9O9FVEX913D66XGPP7TOAXC8NOQ1D0ISIOM6BKXWPOQJXX2HC1OFYO2OUL2GIKJC0US5CO0J3HVBOA = -36#16SRAJ0SUPOACSNV2EOSD7HX5VNS42ML49487UZQ4OH9S6FJFQSY8VY94KTYCUVFWL0CVMBTFP6AP2X4ME6EG139EAVITC363SQ5ZV2P9ZNVJO6TN9H8OQJAEQAETHIFEHKA4R5P1P6M2GT4AE1ZLT3VQFVCWYB56ZGG9DWXQEF63RI7XALZYFXE0LI69Q div -36#JK7E9UP5VEEK0MV3QDFN1GMUH2B6FIK7EG0GAZYO1GXCNQS6Z. +-36#YYQ8H4LDT47I48U4YFPOBPBATPNDNXTR6ZMB2JZ1KTT1WKKWHARZH1MSOXSOWS0790D5L97EO5E8UOGJTCTBGCNMGKS28LOAMBZL1W33IT39ZAQ70UMGMED778FFVTPUX2X74PEYXQSCQK65M8J5VWN62I4TT1T0H7CDVC0QUOAR5SSZN76MK9LFUIXTSVMR57H8GRECZH77X2LFU2BJVCDLGURU8JCEAR6LEBZAV3J8LVKK4LGTE8GDUK8VTSB52EK6IHPC1N7V4NKKK648S0LS2NTY0W4I152QTI2CUAL0TL50GYL0I2M189KBS3HSU3ZI58WPDF1N767LY2VXN8M2KR3WF93G8OBNBC4XAGC3LDM1A2XS9OJTV3STWS6RQNXD68A5CA9OGIJHC4DCB7FQH7JEXT8LLD4TBIY04G4YS496ZGPWE1EAL12VMLGGEFM5I456DG5B65CRAPOVIY = 36#H84CLETFRMPWBEZK0PRSSRC9LIXAQCZ2SMKNV03OX1XV444OG3QLSTWS6OAUPMQ49HSS5OMRJG35TBCNS5C8AJA7YJ3GCPIVSOWGKK8X6WMSO2PNPLWXR2LAXQV0NRXHGMS696JWR7J55ODLVZ0S84XOAES8YERRBWKVYSQEVETSDGSLIHOB4XMPGJ1IC10HQQPVHZRH1MO0OOQMZF16H2LQMN8M6FDF6BWEGIWRTOK3KZHUCSDF7FM570WZMKBB4UW0Y08I5I0EG60YQJFJTDYYK4GJ1TBWJVRCJGFPKDB5MRKNR3TU0SM5OGLQ6KD39KX5EJCVMY15X2KR79PY7V5M8KZDZZ61BMS8LY4IZFIR7S4K7T19GQGTOM21YGXASOD4OXIBB1G1XH6058GNMIH0UNEIYEPHXW1V56QNT6YZVPN7DRM62BZVQY4G5UJNONK9VWR0ITGK1GVBCA67X8WVUW7G0SSL42XBPCE327KMDE46L2WOZ5YNHONYACN0PUIOK192YRA9XVCR2IQY88J3F6293FJ6KM6TMTS7ZUXKREWXSTQXYA6HOZWP1TULTUMZDWRPHPE9ZLT2CPMYZPUNLUI0H3SWYGP3NRA3BL1HE3FV6C4DDKDFZA1PLHXSFBZ53EU3SFTE8QI68QSABBFAT5DT6M05D2M4NARL8ALK54OSJZB4C30FNTN1ABU1UII1YUHKU9W590FWD0ANZIIDAQXR7Q3OW61BBWQ9JSGAMTGM9RV40OWNANO2L5ZJ2OPOB3NREG7B42NEMJ1GL53KOVQMUOHYX7OCV4EV317HZX9B1XAFN0MJENUN49PN9DY6OY2GVNK35459DHZZZSB45F27N5APJ66WXFC4BYR8GSD5VW5CLI6LWWQ6ZU09143ONNQBNKPOX6CJMUEU748KTSSNAJI9P7IAI8W9NCBJ31D10XTJ7MTFEWXU4PQTS9WQP46JVG4GLD9SS9GR34B4ZSOX46ANM5COZRXF2UWIBYMJFMF6C14CBS541S3LGJXOPRJDT5EZMBKIB3MTMDU27BMZ0TIZQWUNOI1P6AHFCYF2HOJWH8 div -36#HQHDMXJKH9SALBSWMMWBAQFC4L1HD7QDOWJT49LPKQEM3WN04M659BID52WMC1QCB1SEZIQVDBS0QHKG53A8DKIXHOIVSYYAL0X7J5GV972XPF9LDW1J35GNG7MC13TQB9FBCHJKYZ1AW1EAX9ULEB5EQ0O67D7WM12W0E421DDDDI7YEED8OM6ZMVYWRJSK1YYWRSDW7MEFSQ8H38O3T2U9O840CQ3BZJTS605V4UBIB1CIJDJRBR4160M9LHE23J5064ISHQMZJVZ1XYQTEPOV93E1N46U785E48V4NENB7ICLX1KCHO38NJYZTY5HHPENJIHLB9VF32VG5DJ0BVGGID1T81R4SYJ6MVKV4Q2STTEIZ7B17WRPUDQBHOSZPZIGBC5PI1SHZKTRZPZKYMZ2I2GT4PQDT7GRUJOFSAP0CM8IB1WB5GBTUM16G2QXT9FOX6B7U1UCTCD4981OD988MQZRH4GA4HHYJCQC6N00XHJND13JJ561Y24WJP25GBW8HJ9XCNSJC4YEQI9FSJ05W8RW81TJVM0EUCSJV5JNFJH187H7FK8X3J8VGMA5AIANF1NOTIJL6Q4BVTIBB3UNN4EXREGE. +-36#17HNQCP8B48HWC7TG1B0468UWEJ0EXL1AJTY525FGFWH1GWXUIO1BASDO5FF4L2N30OI024CYWQ2AN6KUDVA = 36#17TLJ394BBQZYT1GFOVS5JJ9L0L5F7MPBXMDUVLZUJBYMD8GNBRS0NSZEIFENKNS0Y8NGE894WPDXESQTYRWQECZ7U5ZR1UAVX3AT3J3F1PPBFLDWGVUGL38EW7RX6FIVXU1AB9VFXVQBPP5VRAIA7KC33Z0ZE8LOQZEPQUZCN1AL5DR4FBG42HZ4OP17RIZEMF2SMU4DM9KG91U5IU6EZU4JSVIAHC9T8GD03OEUWBK5WGXFWZC5BU4KJ6903QPD4IQJ81DGRJ1S2UF0B24Y4BIDCQC7N9C8MV01CYGRON6OVP2AZ94LGR25HQWMC40KV01CTUTE035FIXOP2MDEA2LOZO95CK08WGM div -36#109VRT7G3GSE9M6KRPKY99Z12FCX78NXN02FP0CNDARN3HO6D6EJ4ANOTWUDV9C0YXAT0DGCB742M2WKT439O8OWPHN2TAP9HXID3UXZ8GRDZDZAT9UQL6TXBHSMVGRCUUA2FW97AVMS1VNHH4TBJVOMI1ST87ZU3Q0S7JSQCY0I01EZDPP14DH1VX0009BFIA055PX3WVIG30N4RTTCQIFJILHU03QNGA6UBK7UHM2UFG8J854O3RXPWFF1IZ1YWR4VUJD4QX6YVV8XD. +36#Q2R5E9RZ52R2AF9C5R6V18YU4YS0KS1FMCOD2GBT625BM5IUGAZ1VDPYKSEE9S3J92FOLP47UR2017EUMI38E25DJ90HK7TK9FLQLSJP8CQNEKLR8PZW2CQ1HXSWKC0JE9DMADP5G0I8DAU2H65GZGFAMQL8FPO9N0GAQU4X3SN25OME92PZHOROIQK8WS9C3RHZS9X28LVGYMN74WMRY6THKUM9LENIXD26NF0ONFCX6427UWV5M82CFNGB18KSNAAX3M27ZFNC6OWE4ZT3LW1HYDDXJXPY9AYMBOM1B06RNZW0FUODWBB1OZD9QE2TPZGB9R1U993289D2OTU8Q0ZZUVJ2YKVQ0C = 36#CZPW2Y3NFCF1A0SO4I8G34R3CBQTUQP7XG3YLAIY1E7T6CIIWYGCENU232A2S0MO3WK2EI7YRY70WHP99LGU84XL3RVRVAUBP19MBYE8JI1UQQDPBI3DI10QHJ16D0EB6SBFKKGB6O7PMQH67IZUXR5CJHT7ASVM41K8SWCCB1EP0BOQDSAHQUZFKS6JY1NFIS3F1CGZU1STJGIOSD3WFNFLUWDQW7JVAPMDEXX3L1S9HN0Z3X5LIT3KJ9SRJB0AZ6GWWE83USCAAG6KMIZBFEYAYMG3A05MIHJPMMB470QD86IKUFK54P5K3NPVWOW4OMSCM46SVOLUK7LOVW0NLTZJDZ4RE3OO4V21HKJBUS7ZDHSTG2D0972X0VV1M51I9F7SKG4AB6B468Q90W11BQ5F91XRXY6ASWG78RZ1Z8ZXQKWI9QORE45UH61VVYP1BS0EK942MR4XTCIX4MH23T3U8F645LYYEE7HJIGIFZ474AFTCVAR6PPN2O8YIMPTNSV4Q4QVORN4SCYJKQ5CE7191I499HBVTHZRC4XBZ9J6UPI7KRQJZ2BKWIBZ165NDB8F49MGT4E0RTASAVCR1Y0QR3JOV6A1QTVVLNUW3WHCOW228POCF27UT2ZMKFOWFFWDWAU5QEL1YIS80ODUBV3VVYM81YHC21UH17KBKR9I70S2AR61W1H7EP0SCYMIM4R2DXUHIJJGZX0IL3NI4MNRQ4J5EDOOE4O div 36#HXPLPYDR6IX20GNEV75B494SVLG499RAEBHZV0BTSMQCYES49XGGUBF4ZKBHEQ47ZFTZ7Y906I7POT1LINF7W3PECQ6H4O15YZ1GUCHKJA04XLTWA18S7I46QRKV4EBXL4U0WPS1EXVHD62MWEI6ES25R46NQMJC6TEQMV3FFGYIL9SZY5GDVX6FP8M26U215XHNTJ5TTFP8WD36X4ANTJH1OQ3OFCIMO2A1A3YDW08CA81NWSZHRTQ2OAE65TQBTCGR4WI5BCUA8ETICVHZ324E4TKAB68F18USTLWQ8S5NOVNMWSDUV84ZUKUPUUIRLDBZEY4Q2SOAMR0UZ3LQS8QC6DRTYD51WCAWDX3UC6SB4MCEYZ92W2ZN7EYS9E0UE. +-36#6RVPILBJIRELRJQ77RPFP91W46MOYHJFYZTVI8TDSHTR8T91MN9NJWBIS0FQCNPT0EEEHQFTW98PFDHB0BS6UU2FH8PO0ELSRUT1K3Z93QOZ20DNT2OK5L55I5N6ZTVX4IMZ2XJIIKURLKASG1PD2PHJFZ0YJA0DHCI6Y6BCHOQ3A7Z4WKOBJNFNN3XADU89415WGI2O3P9R4VU44KDB7OJI0A3EJ7X9XEXNCD0PR1UD8DO68VE1OQ6TMLBU90V88L2M1IZZRGHV4K5O6KWAGYYT7G2BC3OCMVE1WII1KBD2AXAZT0PXX7RP01GD80B0PQXU94NCIFINNIE497A9XJR34S0MZDY715FH26KZ8EPJB278282JLFDOI9OX6ZAUH2B2UQR4Y3YKIT9IZU8STDGKA1QPHYRPEKZU32RH4PP2US61SDMMMQUVWR7RVPX4QT73Z13AK028QMK72431R8VFKAN12NZ5DMPQW7 = 36#IJREWBNEQRNT6U1ZCA2BO81RPRIY9T67DILCLU5LVDGMBYE64GU47A9KYWHMDF53QZTWL0YWRET65BXVRL5Q2ALJOX0C15YX05GGHMXQVPHVA2VVMFJTO9OY95UKXGFYTLF41RDZJTMAO8H4WF8515D4L0VB6L1KTTQWLEZZ7QXTMROOOSB3E6CG4Y2UK3EW1I4GWSZHU5HGGXT7RF34IA43FH1FL3P6M0T6132X3936TM88VO1WHT8GYX9XCUVFI4UQO5TGEF2QZLW5CQRRQSTVFVOQDK430Q7C4M8B1BCPWPYOZ50AYPTTLSMSFX0J5ZG6WLGYHOJV1GU4Z9LSYXTARQUN52FH9O4JOIG9IZ3P3QRRAEFUNIDUNENZEO54GRN9YCH95MV3R1SWYAK9X6OVL7NZ6B1J231SKURZR3D1ONEK7RV4D50B6N5KEL29KPH5F5YM5O3V9F491B2IAH1GJ381T2FU24BJ4EPN31MAAL5FQN24JTJQU9R6JXL2GEACEJVR26GSNZBMCJ18UHHVPP9SWSY6W5MO3A5TL5SRRSXU6RVASW4JXYD6TVJBI2G1K1QKD9VXGKBXB0NGEHKWPVJ98TD4LNQICQRROJ5W81J9DWEUTI0RXKR0ZBRQ2KKZL54DDMNU64PEGLKZLWGVLBZCK5DPGPACUUDKRWP72J4A2ZTS4ANFG26P2E0BR5NLUVUZ177EAWJR4X9IJEBG7GZU44AD18KAZKXS655EK3F7QSEFJ6L8BWKNZQ18RX6F8QQ1TCRVDS9YFM93C3SD4RX6L1C5B4BWRTZIZHEJHH9T2C8IESPR3QQBD7LKMYYWJ927A5E3CZ8ZMIGY6UY7H5GP2WJB2F0JFYOMU4UCQKZ7X38MAYYF9NU3YE7PIQOAE8SE0D55VF3LB0UX4VIA6FW2D1H5R6WSSRZZLPLM212XBF5ALWYPEWRZNJC79OBMUW3BUX6TSNM3KH48QE8ZSO7U57UHMK06J5D1Y9GRTEABADMVRO947D0W5M9OSL1J7JMTCL1H94KMUQXRRZPSLXAJYK2VYPNWH7JAQ2U9PD6D3JZ7K6854JP9C3D6FJ2X60O9TT9P3S1U6XPI2GBBO7CMF9J0WUYHMJDS1800V2QHYR0EI7J3BBEZSRFZQ82QHJH69JZ920M18NU9588OV788SW4026270RF091KTKF97SMMM5X0Z9CBM4VT3PW2JHE0VOVQ2PZ9TKNJWF6XDW7RAZ5JQT6GGK6TK3W56075V4HDNE1FOXA864IL4RRSH2IAPUBUROYLEWMIUEIHH6ZBJGC9V2UBCL5NZHH5YH1SRRL6C7C2DE17ZGPVWDFHOKKEZ6H3QN7T4BQP09GRZZA1BJ96GTFM0DL6OVHMOSZK3B3OH7VXF3G3I3IG3K0FSELUZQUXVRK2G59CLTH716F div -36#2QKJ5VI2VRY7YERRXKY6ELUVSZWA2EN2FKSDE1I3YC0N2ZPGFZFGDS8WJ6R1486PXLZUN0RWOUB96DOM6RJUPKUF58MJBYR7RD0NRLFUKBJMW9IHZR9TEZ5NIEB1QL4LPPZXGNLHGDHW1C88W6ZNOT22K00TLQDNVA4C0EQK4BC4VS4MWDJ2IETI088X8RFO5D0XHQVQPM7U8YTWJ36OAN1S98MGFGHC3C8SIR62R39E313YE6BYTV0CF44L1JNQZSIABVEUVCWSWG64GN5A9GAFPNO22SOX6QQZT54MGUORFLHEFFWUB6JSROVROIW1TAAZHZQTFRIWPC3CUPYQPQNT1GVD6968JSFJ2AO4HVZIO6AUT8LRC3JQFJDXO07PHY5G6HSEJJQPLIGJBMK71TOXPJDYBDAAWPL9I8FFSPLVU3XL3RYO7XU04NMT1TL13M96S2ZEHZQH13QUGSVVIGBEAZ95L9ZIUR2YGNH78H9RUFCR8B4YZ9SR1A0YEBCBZY6DPNABQ6D5ZS0PFPYKQO3WKB3XGCP2WL71FXVNCPH52LDAW2YLDQ0EFGRNKC2FP2RNI05YKG8CYZOFRZ6SBEREPX18ABGDNYCXMOD4KK81NPIP7ZCNC0U1JLIJSAEWD4YIDQ7XWRBG4MYLITW0M6WEADC0LJ72V4VS170OII1SCH098LH1P1AQIPWBPPY0QRPGJA2GKZN76FRUHIPYUJPOQ6NW8KKGAPH28T3S04XWSR8FML4VUZM3RCKX1B3ZLG0DLBK9Q7RSV9NHO457K44EYVH81H0CH8B4XC7C7GLDAOLGAVYUE0KL77MRTJQP0XQI7P0OEKZK4TQNZQYS5NIWYV30Y9DW4XZR0VPA90MT35DHT2893D2DWCHBXZKTM4CPMGXDA9MA5R9XBLJ48V5J9JPCUVWIXF5990ZVNK528K8SBRFOX. +-36#TCKQS8ZO9QAVH7Y50KBZRNF3A1GVGWLLZ8947XQ3E1SQ9S16B = 36#8P9A80YSAPSJ057084342JW69J9MTUAAD4GM1SSBAOLGZ6AJ17GEDE0UGORE0ZM80Z3T21RM2OZ8UQYX30IE27HALA23U7WMRUNUF6KRCZXPSOG9UE8SEEP4PX011PC181X4LR78Y92G6GFVA1Z67RCP32VQH7JK2BRG8JBOO9JMEK4QIIK34SQWQPR7L74AQ9HFIBO8VTGQIUCY4DA022Q5JLUOELHBMIMFV08S0OJ3EJ3YNHRL0LAJDLUPD96M1Q4VYPPHCZER1ECXUTU9RSSQK07SUZOA5WYAJZEKVOSFZS838EOEAAM332QN6X215HT02Y7DA5K4L0NFXMV793J9FRBT47LBZ55LA4A1VEP0VPF4IPFURGNKNF37UBJQ7IUTK5CDH9OMWCYXA8TAGPRGE4X1SQZFTK1JRW3AT6TIN7UG9T2TKOT6MS64Q9IF6GKATKLOJ37PU7JGGV29A4PZBELC4SCP71SP2JSK6P5U59UXJBGBD44R3JA9QHCAF1SIBFM40AMKSH7AH05A1W4KUYR1U8YWCATYBD0VQJ5JEKW7G30BJR756ME1ZHO7TC3W4X0ME1T5H1GTQQYW776G4M0D58NMSLJIZ7NZUGFA1EQW42MPYY8PNXVXIIPWGGG1U55TX6DAIG453KPYKT8MZZSZ5DMN7PTIND7LV291V5OO664ZVSQPPWXBNF8V6EIH3VPY8XGKXQEZOZPVAGW5HII2GLAI div -36#AO8R6H7I96HH6OXGOXJ2RH0FIKL7IYATVF7J067H314NLHM1E85SXMLR6614AOLCUDLWRGFXWX8X988TCGGWO8GW769QROLKA2IZ3GZC428O0G1A58DOMZDX1R4C8CAUAR31WHERE8OIZLKFPCJ7LIMWV624MTL0CVBA1V5CB7RHHCXURMFZRZOBE57B7UBR1ZTO6HDCM4AVZ6BSG9RP4I3IV14F9RNTL2BSQD8GA5L76FXA4IVM2IFNFSFTF99UTLYFDSR8O6ACAR12RR14TJ5AU5OHYD55O99X892NDUWWGUW2X7V4YEXS0ECP8440B6SSCN47B7Q29A94PQB38K3DJZ2KKTGEXMO3B49HTBW038VKSNI8A7M4WBRO2ET4UWE9BHB85FUSHZIZ652T4JDN261KDOHEWZ25LMFJW0SMGML1B3H9M7QJRN2RGK8OAJL3O42ZJSXQ32IDKUMG8WOVJK92TWRO8ALQ899LZHKL7PZQCU6BIFUKWZ1DFHAHUJVHAB0TEJCC1GH11YRF69QKZN7UXX3Y8XD7HRON1Y6FRQSQ2ZQS6QCRFTANQAMFZLHJVEMKPJKGH49AR9X6BGUPLWLY6FBZY9RZEOOHPJVO4SU08Y54DM9WHL7DS4M7TZAR09065KM0U86UIAS7MJTH7I2QT09KVMFL7ZZASEO2W7I. +-36#2WO3LP0M3HUY8WAM4MXED636PIPH51BQXAFHMW56FPC7Z58YZW = 36#1TCAYC9AJDPQHP51J3ULB7LEIM650GPHMNWTRDFF22S9VY7O5D103YEDL9L1P5LRBSTM7AFEWI9DK3Z4LY4G47E1PE4UGE1DGC9PYS73AE931HOST356H4DLKGVQ9BFUHXOZ50OY9J5KFSWUBY1PALNYE4VQDIHOFJNLNFRGJWEN394SHW4RI6ZLUFBOTVW0R142EEFG4HJNLP5M5Q35Z5GGL2AQLTKA122V1BU6ISLE4F1V2B9UJ1542VK49R2Z1PFBVHX9IQQ0 div -36#MH1UIEXZAFQJO2T9PB4A6RC9HWDF6VCKBBSVSDW3VDJAXSX6WT8TO1STD4Q13R6JH6Y1ULN2UC43HLGCKVOIZ8I6FAUOVTBZIT1WER3QNXDUJKHAQ2J8QI0DAQQQ6NUUTI6457HMQQYOHC2FUL2H7LBZNCFEHWFAYKI3JGR6QWLYJ63BX9770B4P97J12JPIPC0QXFV666JU6LL18NVZISJFTI. +36#24YX3X68AN0SDTYDP4158HXBIWW9BXB5ZEWLAMCUAJQM2N1RTTBUAEVG71YWVCZ5A17HYF086CUCO2IC4H8LR8AGSZG3IHB2M8GPQLNW62X0NM85LJVJ5T8UFOV4L7GW63ORPYA1LGLN6HE39ZEYX0LNRC6JC6ZECZ5MSMGCAT5ROHYS4S4H6RIJ48W7JVA9HTPVLQ6F2MRTADZIZ7PGEK1D8KA6JNK52LOYNHYSIAT6LI50XIO8OPF91DV55LBL7PXDY3K3DB22XTJ93H9JTPI8CVDD8RLGWZGSVQ0KVRLWGRZVQCJF8UFPUZ25VITSF0JSFL3FN9QF819CEMLUN7AB9J3T39TE2YU2B70N2X4210IVFVRR1EWKZ2L3LYDJAKY54XH37YEEH24RDSUH8LAI7SYM8T9I5V6ZWBMDDMWMDZKSO5BMKBVLHJ8XQWRYNEYKCSF5A9JSRWMXOBE84CLEWPFM63GBPEWUOHE954Y3XTCL22OHHWEJUQ8VOEU7SGYH7LVJWQOYNQPFFAXB75Y1HU997NJ2814D936CTXUNEWH84E3M9ULSJG4JXI72E5CQJ0J9N1FK98D9PZYE34K8CLRTUO9LOC0ZM1INXFDIZ84USBZ3IOHS7USAGT13N2FNDER5A6NLC3CL7CZ54WCHHM5LQHHU43EN5N2TLZNHR06QVQZ9XIWX3VOBS5ALV724CZDFAM6WJD12CYUE7AC64C9U9ZZPAV7SYQX70F39W2N06H2KKR5Z73NMH4574OOIM2P75JGIFQ1A1GJJASZW5QTWWE5SMQJXMABNU0PBTOT2V030WTSACNO9M90SHJU0UA826VA06RFN1LO2SW = -36#1NT0QKWX90OGM7PN5OWXLMA48CGA5EFOC0SG898OEVEH0366TEIF3Q7AH9DVXPOTXJO1274O7YWQRCEXI0RYK2921PRS40OW78Z583VKD0AYYKOJYIG0QR9Z0FQLSEPSUQSXP3G0171957YCS69U09F28N4NYSH1UULUK6R8KQZGJPE2TK8JJDG6EUQAH8XHALNMCLYSXTB5N10NX2J98F7X8ZG58H6D2F4DRA8896XVFXVPXU5UG6FZT5BWSPOVRV1I7EBPNQPUXRFUTZKO3XW5U39EDDL9HK88YJMBUVHHUZA4KHMFENEIN5IYW3R4FMX9L2GBCNXYC38KNC6RJKQ1X45MI3FFL23NO8QRQOAVQWLEI3QMPD7PW3RNZA9XJFY887080HHAI14XM9U7NM8UKDZMAJSBGUHLAEYHM1QA7 * (-36#1ABXVZB62XC0CQSTQP5PWDZ7YJ80D91VPLQMWCKJED9MWLWLNIDLOOHRC3N9ERO742HEE35J1W5T3HVAHF2YCF8LP1HVE1OX9HLMT04LHPA06078JOIU90WXO2MHU2M0K98H3H06MDPS4LIPELD5IT71XT65OAY4UDOMIH1ANAO7ILAF6XS9URF7ZFY9M2H2HJZI40GWN1NI2ROA9LY2H8OHD5T6TKG5J4FDNCUEOMEY8TCM4GX9GAKIMUNYJU0ZW90IAJFBASTQWQ0W1H9GCZG295B8RCCVY5JWVK1JZHZR7F5KHFVDCHKY2Q9H4D51S59DR4GMU5FSU48GVMDFL73I4BP54DG2MAQXXYTLXVU8VP8JF7I01WGB0PSEBCUGBZH26EE2K4Q0S4ODTZAO4XFRDFWFKKJEKCCKFCJ7BK). +36#ZBK6PHQFIJPMJAB42S5PPD08BHKW2OEJ75D7C95KIYXG1V9L8BWCWJCQPWWCHE5S0CA7ADVUN8MTMNV7HC80NDV1Z8HBY529P2ARCG4SA21S0PCZ4LM8D2LR0XNRH4JMCYUPYFZTY7J3FG729D3MV29XH735MO8RUR67NWS685LHXLDILFN2FG1HJI2A5U19KK7I0 = -36#8PHLKNIVXB07FGUZ4HAM0F1UW8WFEN020HNFF3GGDQ406O49WE5BAOZX0IA5DK7S4YSJATAN0MEG5X345GY0718SHAO5Z4AADF9QQTBPG6SOJXA5X728FHLRC8JA9LPB6I * (-36#420S5QVTEWST69W4VQ8LX4HYUR01S9MK0WYIFB7BN6WI89V93S5WNM75IF8OEICRM5F0). +-36#196MHWI8WKOWHWTL1G5974M730NBAVKTTSR5Y4L2BDACCH51WV4CHVIFSPCIV2Q96XISPZCGMIFMZN0T9BLSN3V0HI5B9S2QNO8S2H9AEXHNENXXJY4Z0MPXAISZCYP6UCG7WK184K9JXKLE4UGK5VAULV6V7LWTRNVFG21V10UMFY2 = -36#FX84YJW7DUPLZCYAA0KNVDQLF81HNJAJ7BF7S7XDRGBHRM4I2ZMXTKD6BH8VC3YDB5I70LUOXD1O5RT6SJE76SC1TE9MV9E1G90W6AE0KML3BZ1L1SOF0ZZKWBPBE * 36#2U5M7PYSWEAOQ35MW6QOU639TREJW9YCB7XMZVKUYE6KOUAMFD. +-36#3C893E7IA7DDWYUNIMGEE6M4Y5CFNWK3CBYRP83STLBF0OGH20BH3835B1IQHPPNAXHJ3WSKWLD3H4G38GXM4CV4Z41E15PLGNXSQKUTU6QQ7GOFY9NJP97XNEJY409P2US77N21AECEY6HEQ2CVR57U2ZK64XPN9D581BQ3X5H9MMG4L9N24V5S9EQM8PXR57RVRPLWCBV5MDT44EOEJ8R7CKCR7KP7GUV56BQMJN5AIT25R6HWKV6HYOVTG6G2K1C8U7UNYAOE4C2JKCNVV0LW24PMX43TVKOZ1S157YY2WXVD9JPO3PQ09T7FHHXGVESNR8KYXYJPRVF2NSVC219UEBF60PCOUGIVOGIGT8QV2Z7ABPG1QC4UT282LHV3NVO4TMTIOQKAZKO8OMJQADF28L2C4U63G3K8U63LTHSNZOQ258SIMY4W4D5OALRC95I3FFCRQLNW168U86Q257SMHG83QLHOJCQPT3GA0MQYOHXBXOP3FSYQJD7H417M4K3PB6EI5YD1I71ROO77Q20NS2LF5TI729YQMWWMBZHA6XMUY4P14QO0V929RENNYGLYXP0U7XCTZVIF06BCJAUGIDSF9DLZ3K4O0HAJPY2BHH1A1470GM1C9VY1I2VP6LQ0LWEJ83DQP4HEKJ8L2U6CQTVM9AB5WT4S6PKON0EMOPWZW5E2HCBI26UABED3F4EDP7UR8GD9IW9I12YOS9WRIECNDHGKUVWDBH0VQ4AX0MXNSCO2VE2M25JPQG92IP9K91752K1ESKVCVTJ3463LUID34QK2A8MZF8D8MHE1PCMW5BD8AXLS9QE1ZNN8AFFSGXQDLCRZ5ZJ96QTPWO9K7RW21KN84F6J6692LSTITJ4XWLZMB759QS5MR8C5X75W6C8WVI355VMVQHUS3ADER1LI17RKZ1M4UDSNFXOM8X14Z16VFFJR190P5Z8CGVR0LTTET7GLJTXTLV3O08ZADP374IKCSU1PZXCCNUATJTHUTAZ2T2KB047LB94V6TWO270UXX15O62RSH2ELEBX70JGZTFUNMP6L7YCXCFH55557MX5W04VGPUEU1QZCIQ96VJH1EX7G8ZJ3V3WZ0PI0FPTVHPYBTZV360XG57BP8SPH8OFLYPH0USSIPWS5DH68GO8KIW17QKSK9YEVZIAAON3ONAY06XQ5G1NJY9I3Q70NGI0798UOQ1ZTY13CSUNFUZFKT = 36#5W2UVF3PFFGPVRDL3UPMI31NPU2DKIART039MSJWENSSHPI1CO29T9WBVMPP7X1NTKBURJOHIOJND1VJ66R9HKELBU86UXFXMT828EOQ2DW1CQD1A9J6WW2XTNVNT253YWC6YQ8JIOGSCBYBRDJ77D1WLR4QWAYSN4TXY3IXBY8K17PX9H76DU4OILJ49P7CMQWWN3I2TBAIMPV2K6DKYHPC2W7LDM23LU8EZ5CXTF1VWWNT831MBJYUS4EWMMMOFDIYFBT8CBI94K1BH19YUI34RPAL180TI6R5GYP23EQY9HRAUWNI856G1UIUKQB4RAG9RFV91FPCPQW5LHN09XT7DNUS5HYLDMKZ1YFOTB184G11GL02Y4RJEGO44PC3BVF5GTZTU5ZAYYVCIM43TASJ69TGHDZ0AIXN3PUPPUUKP8WTVYM410MOXFMC75IWA1YIATVRKZ52ESDXE8QQD33O0TPWO5XVIII23275ALG5K5PALMUSO90JUUGZF5YNN7SRZZ3CFGLZ97105DG6E6UZWX5VEDUSLNYW47TWM2SEZSRLASZQVIU7UBNANYYWB9H8CA8PGM3MFIGGWX1BCU9P303HL6Y2GEQ8LLCLAS7T2TX6SIFFDVQSVVBNWCK75K9XHZVE83STAZ850HEY29HIT002BH5HQKLPXQ2WRJ3RM2EWUN0XXXR81TWJ2VDCDGWAPX1OPCPQTVB2QVYWKE8N38C863HTOKCBOGIJ8E9TLVTNCE6B3RN6IXH6UAIP3KR5WNZHDODMJ4TSYGISSEK4GNC7ARVI32FIWLQA0TBOL78SEMCYW0PRPXX91A7QKEJIEQ52FKXLY478GDBEFNHDPJF47KZ2UF1FVNXSGW18P0IIH5OYHSMTX4OKN6Q7WUIF3HHFJK3795KURINYA3KGCFCTZ6H7AUP8OXQUW0AT2F1N2OAOM5K0D4F8143LV2C3DO2JHI4KX1A19BMAFRFDSBFXM7LWNHLLX9Z90SN9UC3I075QRME0G1JOD2FURX351WLWRAMWAHX6CO3WFVEHC8L49EUIMGBFMEO31HHWF2WD4HHDT41Y035NU54BHE7LSYRPONFUNVAJ5CRM3GQ8T916M7L7WSAJHZO50NFOUUW1V9RZWD1GMRXJJFTN9DKHEQ66OJT78SQ8BUSQW0LNUOO9GO6ED7CHPW8IE9I5ICIMSH1ZPRX29SU7EGSS4BQUVYGDKE8IPY7W7R97CO8ZJIJ8NSDT1MOVSVUO437SXZ3PVWA18HGO3ESGEYL0GZ2RPN87KNQBUJ0NQTJ6IJNSAJDOCKYU4T5XEB4ARUGVTEUQBNG5ZN909AP0SPNWE4TG0ED5ZE0JZ47AUB1T3LHNVOMAZJNQVI0PEOXOOKV425UJ7KFMJRJ9T4MHMVNXMQ6KNLCMK9WSBH0IR6LQHYIY9UAVVN4S74472VCO6XZMFYE5N12JO5U96DSI2BOKQY31M3FHJDDXKB6X13NI3M57RVPH587ROMYDZ2IHST60R6VGKW29LVKKOCMGU8QG9OR5FTPN5CYNDCO3TTO1SMS3QF8IDA83SBO7K3Q2JR1D26IPWVI7EZ2522SIW div -36#1RI38R8DHZU1TZ47YJBOZYVP065020799I9OA9RICQGBLXM796JWM3UNIVNBPB0WAHYOLGL4T70EEFC0CQL2R0ZYAYPF7RW1UCCUM7AXX3ORMA5PWLV6KNH6NVJHZSDS8VVTM4ZKDM148VXSK3NZG0SWL9CPFV55TTJAUUDERDJBSDLYD3EHNY4ZSVXHG3VVW8RG7DFR4TTJVXO16133SVHP7CKE24DYJVYOTRWTBHF9D4W798CRNTC7S9J13HBOUKD6G9G2YQVWEIG24DABAS3THZK9WR0CYVSWRYMJHZQY5IZJK80GDZ2PM0TQKU9GOUHPX4CI3ON1KDTYBQIBRK5F7LI3UJJWLS551S03Y2MZHHTUWWEG. +36#Q3ANEBH9PTJLP2BCMAP1ZO65D082X81O4H7P5BASKE3T55X84X1959RITWPRQGF6825KG28E5AXQSQK2VIE10GDBXVZRNUTY2L3A9QYW86PFOZDRXU3ZX0WUAG3N54XCNUGZWGZQ6BKU9BTCF2O89RF31D76OS695XIQ7NS9DZCH0WJJM8JRBNDI1SPLF4UEG3T8L529D6EE3HX32OUDCBAE54XB31GLVWCDMVPSOZYRG9QNKMEZ2CE416LBXODWXQH6IBKGLKX34AYH1IS1B7KMJ0JEPDZJWNIK17JKFMW146C4WIQXEIH7QBM375MJ6V0BVZZQCS25YMJPKSFHOE7BDWWR2L2S87TKXV9BTLQLUH5Z0Z74T8L5ISSH3C4OVPGEOM10OQD5W25V7KGVEIAWIPLYFC4KE72ZRQ681H03G60DTSMZ9N913XRU9M62D8GIM43FLQR73ZYGCPC45M591OZG1T06KN504RQIJN0XJCS4T9AQHELJV782DG437TFJQ19W18RW0KU7NWUKRIPBFVUTNO9AGUN712D5DJ84GY4448QYW66V3CD6006HZK35E6E4F2JZVADUAA2YOD6HLI5IRCO2JDR3RZ3I55AXVJP6WUQFQUZQGU9O53DWJA8U4AMWEZWR2OC3T8YE47C55BRBW1L8YYBT0KPGY6PZ4RO55CZDHE125D33J7POVGRKLTLRNG0P3OSWXZLBDMUCZLFG5N3JOQ = -36#A8GU9CJM5I615GG4TU58LMI8I1G2K4SEMELZNIIHERSNG8D6JE9E5J100L3HWQUZNNOEI5JIMSABGAKAZP73HN55BINNTY8CGYABYDDR0TMXZCFB84S83AF6D60Q7VTV1JG1WBF3YDW64Z38K68N5Z2PHSSH72GLUS5FDN5GB346ZVDU0X222HFT13Y0D6K1TH81V8KQDIJU4MW3F2ABLGQVUH59HDY2ZXY98APF8Z3BVV4QHY9MU3Y3NGVRSGNIYYS8QBF1Q8E824LOEL9PCRGRGSI1HZG207NRX507OCHCA7EPBGOH8PQHRRQLLUP580FBH93Z1EUSWX3R7DGVGRKW267OH84YOPZ15OUSG2TNHM34V6YNBGZZF04HB99JLUM7EA2VU1Z764P5IARADE1VNN2W3KJJRFK377WPQ8P0PT8G6SOFVLLAP4BF2Z04TAGTIP5QHQ9K6FJFW4JXQKN7A7AO86MZLCFM71UIOJU5C4ICE2PABB1ZFCPY0OVSPQ6PD8V30LFXGDZ6J85PMSETBPF4BA84UHFD997IE30CVE92TQFWMNPBER2GFIJ4SQRVRMK9E25L3QC0EOY5I4JO5RP6S90KDBPLCM9S49U3Z9JVXC5RH6D41NYE8QH2F2EMJF62L1PE2FMMUWRORKK60PFYB7V1M9CD7OS2J4G1OR7AZGFXXI3TJKOGZOVE5OSAZ4FYBN9B3FVGIF6YRWKPNQRRPD6020NGO0EPJ4PEBBUM1NTJ2VGIF0N2CALZJWJ9N9RWD58HHQ0HO50L7A1VQLCA9CBPZAJYS4FWJ8RYNAKFVLT1QD1DBI9I3059IIL3DY7UXCH9HHJ0T96OBKNN7WOJUTQN2WVNS3AFKDSM4OJW0J64HC4U7VRBH02WJ6L0TOBKI0Y7RVV85EA87JSB5IQ6PP6SR3IDL3E3Q0KGP1IIU6CV0AV26FKJPL4AO1ZDE746MHW7G90401MXG805VRTURWGYFWYYEJC7EFCF9JKFOI3Y1TON9HP32324TOMQDZOGQFUUUYUJMPZKP1I9UBBRX2SR0X401DHP99UW0EY053P5MIA0PTRA9G5PSV6Y6LYYNCMC354QL3RNBC497I8ESZZGVD10FEZEK9WQEK6UMH6SACZYOP26BH358PSHRVGT3EVFH4C80EVCSWUBMQA87AC83XZPYW6J9BTP76SZEZC7O3OK9K5JQXL5IN65RYSH1QLVMQSM07B4G9DSRCC3ZE0JX28IW3ZW div -36#E4E98KOUHMBIVVYFMMNTV64XKKQQ4VVHQ3S75AY21IAVJM7A8AA2D39RZ0IQZAFXN7AVJCKPPSMCMU8INWM93J83GEEFBTAGK2ENAK2UIMKELAV3E8UTMKVVU0WFKA5XQD0P1E3QK1G2WXSDEH6HB0RUEN8BMNZ5NKUOXUTHOOWMBB6PNV74OQK3CS7PCSXKR2IW1BP250B3QYS3FLIRHX6N9DREGJO2F94HAGYGYGJQ68Y6ORVHZNTE2K3FTRWIZNRIHDC6OG4JREL7CKEDBXXHK2K1LSQCENH4WN15QMYQRAQD08Q1PWKUKTDAH5SC5M07S9YGRCTPAT4KQPYKBHUVVA3AEK7JT95DCAH12GWIBMLBP1KQ8ARSN0UUI9XPZFS64MXF57CVGS68H62KBN471PYC8S5RTF915BBYN0R3W79K7DHTZS1KSQFK4EGLXTLQXCW4VMPGKO513URF3RZHXA0463T6O9EA2TCRORJIDTIZE1UZW58RDJW9DTSNR1PO4M. +-36#4SLUBX3VKIP3MGI6A8AS8V0MJS3BBUNFS19PDZ3YDXE2QBL12TL2NOLG1KTGIZE4HNSZFHU5POPXLZMM7GTKD2ZJL3JJ3B9HS3AC3MBBEI5VC9ECQ0T80M0R3N6XE88EPG2VYTAHA1MC5S83PTZX05V76EI76LQOD7V9QURD6FYNSSO3T80Z3Z8TUFP0LND5Z3AOS6N453ETQBRNXRHZKZDP74G4PRG6B0V16D85GH8GALIKSO2MIWU3PMZ84OETBBI74RE707SL5LIF8N75SWVHU7ALS6R9GOVCOR0KUSDPOY57F7EQBDCVTB8UGBMWRSRMMJGL8BTQFHALSH2YV3EJGSA1UU6YGDHU6HYM3ONXNC0YT0CYM9BZANBXW2HZYC1R8HJK7NZDE6YTGI9VVMR4BRCTAIMBJS1VI8HJZKUQTOIZ4UE1TNJYVY1M2LT754HJQPC45NTRUDC46AOV6VZ6QJ6 = -36#1AVXHTS7QAAZ64SVTBOUKRXJ60XN2MT87K6WNJZASFSMOWPQB7BRDO82U3KZHT7LRFJ1WVMTKUU1SIKAP7513VLPVWSHOY93KQCZXMPKQP9SFH4P6VOBFO9PQCJ5A9BUP2J1AXNEAJWZIYR75IOXRD516TG7ZZPVERX5BA5X7ANNQVK2UWF9N9POZDG6TESTJ0AQ5DEXY2COQ0G85R1SFCC49UUYY0BWTQT5532YNRY9UC91NK7QUV8I1J7GZB3C7FNN27T44WUSB5UBY80IR55QA4QL0MKE05OC6FQY2WKZVX4WONZ4LAY9P5BVHYO0ENJPNJEIILVF8KQ7AZ9S9O0G7KJEWA9TPMV1O15EA24IA3B2JFHQ * 36#3OJ0IBX62U1ODLF1IHCMPDB3N6DJYFK7QA7M0KFZLV0WSEK5AUS42HLJGRT1MAHEXM9EPWZVZW4PNOEP695ML3WI9R7M42CS4EXWG073. +36#17TLJ394BBQZYT1GFOVS5JJ9L0L5F7MPBXMDUVLZUJBYMD8GNBRS0NSZEIFENKNS0Y8NGE894WPDXESQTYRWQECZ7U5ZR1UAVX3AT3J3F1PPBFLDWGVUGL38EW7RX6FIVXU1AB9VFXVQBPP5VRAIA7KC33Z0ZE8LOQZEPQUZCN1AL5DR4FBG42HZ4OP17RIZEMF2SMU4DM9KG91U5IU6EZU4JSVIAHC9T8GD03OEUWBK5WGXFWZC5BU4KJ6903QPD4IQJ81DGRJ1S2UF0B24Y4BIDCQC7N9C8MV01CYGRON6OVP2AZ94LGR25HQWMC40KV01CTUTE035FIXOP2MDEA2LOZO95CK08WGM = -36#17HNQCP8B48HWC7TG1B0468UWEJ0EXL1AJTY525FGFWH1GWXUIO1BASDO5FF4L2N30OI024CYWQ2AN6KUDVA * (-36#109VRT7G3GSE9M6KRPKY99Z12FCX78NXN02FP0CNDARN3HO6D6EJ4ANOTWUDV9C0YXAT0DGCB742M2WKT439O8OWPHN2TAP9HXID3UXZ8GRDZDZAT9UQL6TXBHSMVGRCUUA2FW97AVMS1VNHH4TBJVOMI1ST87ZU3Q0S7JSQCY0I01EZDPP14DH1VX0009BFIA055PX3WVIG30N4RTTCQIFJILHU03QNGA6UBK7UHM2UFG8J854O3RXPWFF1IZ1YWR4VUJD4QX6YVV8XD). +-36#1SEDN2H1W1QGY8S3ZWOEZCNC1XCEB6P7NN6L5C9LMNPZVTU69D2WWTO785PS18PB6EZWYH45K7FXG90LAG8JFP2AFI4V8YPM7181X2LDNXCKBS4P2J1XXX8C98MK89MFJ9LFNUT1ZJ6WZ15E3V3WL3SEOKIW8M0LOFYZWPWJU5W97M5E074YJ2SV0V2QUZL1D065JUP8PXUAFKTNVTW7WB53IZW9LSJ8J7KVFBO2VWG3ZKIO28WVO59Q6AB04WGGHDPONAVKMJZGYP5NE8QM4ZUPVOHVXP4BGUAJ6SQJZ374BILTOH6M3HYEZU2X8NGP873JKB5TRRMOB0Q0V9CZ5UEAXE3BGNZQBPFIAA1E8S8P72AJM9ZG6OZHZ2167CJQY9IE0YSGGUSHU3H7YT8B17YSYR1F3FQYO8VS8GI8FC6N21ORSWPHR4VCFWSUTPIMUBNFGHW74P20WHT7LQQKZHVHRUUWFKZ4137WX4SJKVHFWB2UDSV5X0HV5SP3QC4A47TB1Z6FPTUO4SAGFVCRMJZEFLP9NVL4DOLR77XG54EAVBHU32DRAM2TXSR2E5 = -36#2P7UZJDQG16KMQ6L018KTZRAFQHCJ1GHB1AZHQHOAIDJKJWPKYYAFQA7NAXORPF10Z7H4KUN5LXE0AP5BD2RXB3RSFHLBMUN4F0LUQHS29W6CQ0HGCHLQCKRC0MTCXTESNV4FCQZIBONGJB9QKNMXAIZ3OYR0OO013AT64ULR6E8R812CBUGEPP9XVYI6NZVX80QE4O4NUJ5IDS0ZMX9GE0Z72F6FSUDCNU96KCF2ZHKJ39MAAJ34RJ3W86CJPROYS2G98VDYONI815L9Y06K01D2ZYVWOQKMNNMEY7CCIWTEIBMP9BS4BBW7U1YU9FQZ996LFQR2JMSJILQCU1KK86G2TZDNA4JPOSSSTKPEOZTTAZ5YT8TF3485AAK9KDFS6KJOS85GZQMW3Q9R4O75TNPGY10V7R2X311XEJMCSBNR6QPA4IM22FKI8QK9OIRKZZQED0QARF6KH4JH3CWQJAG4S3DEVSHE1UK47FP0QTDRU1TQRWBVVO97ZS1T3QPGFCPR8QZEGJ0PP0JK9H94PCDB9D0UULAFKIG0KROKBWHIJVOIPRE4QAUBMROMBJX7I3M0B5P5LJI17GDYC2GMSE6MK2LNHZJOS4WP7D1MRJ28QE div 36#1ICGMCXIG4Q4OI3EUWMREHHIE7SO805ULP4ZX1I2ZS0CNHZPDA. +36#MVT67OW8KR3BK75BM8TCA9A5JQ4XSQZDTZJHI169IAUKBXFEPDK0DZ0HZL181O5M4YHDEM5S0AVQJ74SO9S2EJ9W4MIBDG8V0X4DKNPKO9UFNH4FY9PD185LV25RQHPYX393R6TK3M30ZU74WTE4VLKKT562QY44LSJ9FUTA8IIZHXQLTCW1OAETUU7SMVM6SGTDLKXA8H42ORY2I9GFT1KN522V8GOAG1O1L7TN6IMTE979JMQR5TKWPTI5CBJQK0YYV29TS6AM2YO6AWYQKJY4CLHW7SWPVHH28YN9B36TJW9B65JU2I35UNB6C79OB9Y8PD3G0QYKQK9E72BJ62IJJMM3V79WG67M1L7Q09JCMMZB7I42BMH6XZC6H1TRLO1DMBPBFVKKB7L4YKX4PJG69JW7BJHLPOJVOD9XQTACDM1BKYZ9T8XIPBMMKOW4LEEPIVS4T45CMGZJ4MLK96C017Y43S3B0JCFCS0 = -36#16MMR69TKJCDYBD16H3MZ0RBZZQSRRR68CZ27RBP9JN39L77X7VP0A9JKYA5BJJ1FX8B85OD8M4S16Q16I727NKZC6R1XLX18D0XAOYJI0U9075GTTG90ZJ5AKW3YYFPMAC2UA2YJF9K75ENU88SRIQIXTHG11RJ0QYAQN7EXYNYXM195XHM22V00BCQT575QASASP9UCIACAUKA1ABSXTMCVF7VYGCPAZP93QUYZTYM4U5TIS4F1NNP6I4MNSRK0F97SXLNP04GL5NFBBMYGLK99Z63706G7UPP1GLCU6RUWA3K14JIVO3EQV6C4A0CQ4FCQ2SAFLNBLTWU9YZY4FGU7OW4DZU3GSFBGCQKI2TYSZAO8FE32II0V3GQ80RVD04PCKKJS1L8Q8CLUQ7DHEE0A4M59NSZ7YQO8Z8D4EKG7XTLGIE3P4TNAK6QBUU7VSHODMAF4SSDWZIMET2UBT5H1KVNHGFHEZR5JM4AJGD9WZEHGBVY3CNTBY7K7LRUBXMOZFKC4KB3748H31FPIJSW0 div -36#1V28YHFWDKC7YZQXAD34SCOEX74VHLSTIH3UDG0VQHSYYZ8ZGW. +-36#1PCER6IBXTU4RR47FWA7FMREN2NK5IZ6X269RU6TRW84KVXGNBLPTGG8XBD51K5EUZIKFO7XQFF7THLT5TLW9QFZT9KM9BVNAF7JP2BV8UN7AIJX6LB10PU7NYEV9JLGUBS6EDOGY587HFP79LM67NPM7NQW9GS9XJA0MT8YZ8O6ROXU1HVSMKRNSGF3RX5UW9UGZPAZJEQBLAX857JSTXEET30NVVR9WZEV66X10DK7JOTDQINT0TBEFG2VZ87PSN7G5AKRAJ7JR15RLAYU0AZKBE5DYDQR9FO2T6UVG5IIABF3ETLVU33Q5ZWAP0E4WZPSS3NVP919WJ9XFBQALPS4R6NECNSYRXCDVHAK7CKJMCHK1DKFXIBPODOUT29IRMRCW08NLBM7HYCE2VC78FQXLLN81925UCJG9KDPEOQ1FB4XUES8A943YOH59EQ2XC0I5PS7JCNC3AQVU7RAS9EEGCZH6JJF32DTLYS8DCAOT2VJDNQ5R5FRBV1MER3QXAW94EX7JSJF09WX4ZYAJ3G3JDVVSDV8OIOL7WWLRRQKDOX6DVJ1FVKKE13V6AY6OF7BJ5CP4MY2T17RD4N6VRYAHUMF2XJAC8EP3ICE315SIEQSEUXT0PNJ3HUHACBM9RI1UHCYA4ODE = 36#6ZWTM1KQSV4452ITMWL3AK9QTDV95LRL4NMR9D3TTPJ1HTRL9ARRGC0C9EDUWK6T9RED7REUTXA49P25IGPLSMCXZVNB7N1TNT2RCH47ACNARO5ZTIKWBIOQAUHVY2WNY597UR74NQFA2BPCKBLH2ZW25XSX8WX4M9OMT2Q25ZRV6CXMYH5Y3MQ8216TJOXESDH0L337UKDWK1VOEQ5CXGU1WBICF8Y5JVR1VYGXZA7M7SB2LKA1FOLL1DI3OALS4YRLJZBMFR9LOWGL3MPZJ54NUP375XLPKESWWHN9ZBZH7BFJYWBE416U7FSI4XCCHZ5TLWY295Y17ACTWRAYL6YNUA9SNC68W9LHOC7JQPXENDE5FMG94VMCDEOM3OHVM8RCX43HMBC2LEPDZXCQUTG8E4A1BOIO3JG8MVUY6ICP2M9NGU5UWHSOX4AYPU1PV0VUQDI7QZBWLKDZQ2JIJQ9AVUES7J4Q9769Z9CENDVVWWK6MAIPL7JPFF99RWKXSWE71AOI7XT6EY1OLZUA4NVK0005DD6IZ1N234T * (-36#8RLIKFDRPZSQG2LZVD1TE8ZEIGXTQ70WZ41ZHC21Q4D65Z07ZN4N0GQP8FRQGGS4FGUJHT8L1YMVB7Y1FM3QUEI928R3566XRN6L6Y). +-36#1E0VFCN8AM8GQ3V0IK1PHY02I1WDYSDO9Y0ZN0GVP1G0CV3X68NCWKWJQYQOAXH03053IW4B24PCML8MR5LKBMU = -36#7ZJ94OWMNSDC1OY8JI1GZPYFQA9IM5SYOBYJH4SF29N6FIWM8SQYS41CKJ452GO85HUNDPXOKRMO29CNQI005F3RSL7HJK6ZE9M5BFPJY9G1FHYKE5DCRUDY601Q7HK6HA1JM2I5SK27H7HC92JDAPXR1011TCPV2DA3TLV6EWICE1KOF6W43FZ1QWK3GFF6NRBM0LILZVXOA0F892MNO4997G4HE2KNXMP8GSGXBJP2T1WEML8B2XAPNDN4ZWSUBJ7PR6VCFPUNVSR1508CRJ10P2EA15NJYAM1S3DS8IJJOYCNE13AUZKRLEWB6PK07601PWZRRJUU4XJ4AVLW9O7TUHQSEF56WMOEFKWB3PL4XIVDKZ3MUVPOJJUNH35MF4J3XXC4KEZXO5CUR4G08BK7FUSJIZ68B17VT0H1BZG3RLH7YGRVR87QV3RBB32KKVA01OQU2HCDWOW2YRER316VMQGMLNNEY64V2LBGXTACEXIQX0EBJTDV368EVXBRJ9G6JIAMX6SISAHH65L931S0T2PJ0WNJTXOA1384GW6G7XJQPPYM6BDOBMT4NEW4GX384FIM159YVH08ECXIMVMCU2RCEWEWPY501MGZ5YX2T32CD6GVEAMHSADTRL5SN796Y1CRA1G3URJRWS5WDOOE1F5U div 36#5QXAFOQQX7HKTXWB84IWHJ129DFCE1FRYEP6OE2QET7DI1AF7B1N3CD3VT4L81DMQCUWS73BI4PVQHEGQ8W6JWVT2BRF3YGSFF38K2BGWO09OZAVUM14A29CITPNTNO9QN4YHBHDTP2WES64PXMYX4432PO5PASBWPEICR4PUVWZCKSCMMI7H3N8QK81KTBJAB43J2AAFBVF1Y4BAAN6KOO6EBP0Y6LTJY4ARXGYVZMVW9ULW3BQXVJYOUISIZP03Y81O9R2UNICRW5QFASKJYN8D5XOTFTWT347XYCV8EY7C73JXD6DMVW0G1C8Y2UIZ6CAGPMIQIULHTQYNHJH23EYY15TZBX65H2EOJU6KRU19ZHUSXXK3JGSMFSLUZ9F6ZTR4241LT7XJUFF8ZR5TWDN26QBQIHZLZPUGR2Q6N8Y9CEGIAHAR6IFY4EOY3KGPHBXEIZ8ZCG3FDWZYT343QED9XQFSQPPL9K6SQZA43PK2CAZ2KKBXZ4OJ2GOZSIYI0426B11Q7AHK69168W5GDYPMIWQU6QOWVEJUIS24W9BV9KJUS1UZRHKBL24R8UMKWQ33V. +36#27L7V1PC4ZMHDI3WBS0DVF8ZI0TOTVM5HMQEWHYVNHBWTZX5CE2OCFZZDWRTYGA1C0UGH3T65XQMDZ2JRC52GXVWL35XMXT5632 = -36#XB1B6NK3HZ7BQF5JHA87K857Z022Y9QDZKU07U8UMYBHQ06NH * (-36#2E0X7SLKYQTVLW05KG3WGZOY1EMY8RPGODY40G4LVHG5D3LBLY). +-36#3PXLG6EIVXPEY2QIXD47AM4TBXRDBIDJIV9EW8YSS9WIZ17DPG0K2LER7O6MLLY9IBFAKI3K6QF63XN42X6XDKWZ8CJY8N7R6U6XSW4DNNORNU3BWJZHUL74EF3POJTYF1SQG3RDSSCJFO8JLO6RWLKC8X6M33H6W24LY75GA1ZRWCRH67UFE9US4NACANXQRH7UKPTTKTWI04OD8SMIFI4GAGBFD4K68BET9F46G91W6ZHQXXCN39VEBNG7VLR1PX517BUJWP2Q2CTN0HPXH0NR84NQ1HW1UG24HATI81JG3EQX1N06YQANA6K0KRCF1F1KR1PUNOD1JEI8620IJ4XAAVAFX1GQLZE9TP48EELM781CZ710NKYY0CXDMG8TFL4J9QIWC0XO9MJIPSBKQQN9SQNTJ4D8PUNUGDQCT5TJ2MP8BMJGIZES4BWQ6Q1GQ7XYFWRXDHX0MJ19ME = -36#DLW3HR0GKAQJ8FP0LYZ9DIQX6MY7ETIIIVEAB6PK3PGMNIUG8QDAN7JRYVT3EPISD1WREAOI5Q3X9EBBAI3MB0YQ51NFRO86388D3EV652414OQMD4TYAQOZK5IO09ND1FRUWU9KRV4MHPZY8T32VTDRWF0O5L9F0SAYZC1KNJYLIC85NFZSS2P3F1PP2H0TQ6HHLSEQ6PCOITSOOL28P144RO1TU1W52CVSHNTBFHLOUGV07O56HGCXAMJWN6Y5H0Q5H729D2H8VRO6DGOIX6OT6Z5QG6F0BNIDVP3NU0XPWM33GSKL55YAUTT5MR0P3247L7HR6DCXPZZGCHXBCP5VCH5GT6F49XGZ6RG8I6SIUUFJJRIPQ * 36#9UBG8PK2MGYEYJZ0UTYOGFIIMU7C5DGSYMHRXU6R8UPGIWMLWDRJW3G4LER5D92Q7Y6348B0LJT78OAKRIVXYRMWMFA6D. +-36#SNW4J2T70ECY2JCCTQO33GQBJJK3BP2A9LR21V2OK7RXTERB6TY1NRL7C5L2WH6ER6KBETZGCYIFHMUJMCG4HCBHR2YRDSITDUVADIISCTQL1W4HEGVIJS9BWR6XOKQXDIHZM28OE2ZMHOIT7P52MCL7PV2324LIJB37GJU8L4779WCHAG1OLKVZ8CEOOMFTGZIS4F990QVQVV30KIMCHGHYMT6G2UIWLLU9JJ6XF5SZ4SXPM2QVRI05RVNZUEM56PZ72VO1GWELD2WCWXF483G = 36#JDBLQICCVH5SD7SSYOGFHKKN1IBICBTX4UBISE8CWDYQ6WX3QR95N9GHV6IVZ1RTLCOBP26PXB5R3FPNHUVSXKRPT0LY6E9TS0R65L7FQAC6L1KUP46HT9MUEWFDC6GBDY1JWE3E6ZY7GNC59JO0IYJKAVAN0L8LF7MVDUX4J5JJWZ16UKXBZXDMH5UGXIX70SO5AE3RGBBQHK6X7GAAV30BEXVU5XDO79RP5Y * (-36#1H9T78P009WRYTEFFB4NMLLGA6HR60L8IQCIO4NCITN662NPSA). +36#1VV5GJQQTP8WR2JBQT9FVBMIPEOFH5AX39VFC6O4VO7SWAHP7HFOV7KPA7846HX5Y9F37O4BHYIG6DY2BHZ2GIPTWRI2KKTNV4W8NZEDAQUWLCSWZEP25Z288FZV6UXI9LFHCUKBVPCOH6OWF5QTSNO0FSMDPYA6578L2L2LAENPT1EB93QN98EVIQLKF1T7JOK6F8HS47W1NI945A2FLSGKQADQ1T6BJ53XX66N5DMYWRODIQ3WWBV0BWMPIHGG7AM7540H8D3CME2YH03XNYP6AEBZQ7WM53XVXSGWPCF5NLBOXZ6H18EOF7 = -36#2YI1SBYPT7F3T3PFA9UAJDVJQJZO14H231XEIIUW23S3UA88ABT34FBNFN6AY7BX63EMEB1E2BFX8AMZLB2132I2ZB8YGVCXY8CUK3XXIMV1FN43OIOVPFP6LFEDQ69XFC6EABZ7NFYL3DKW3U05712K8DLMGAGYRDTXC8PUL3TKEJKUCGUI4G79RAK5CQ2CMR8PUEKTF32HU1NT6I3100JIFKP7HWM4LLJFZRQA9GL9KA91TDC2BCW2DO6SZ796TMW2DRE65 * (-36#MXUD160NY8T95GP24C96E19B51NR8B9AC92NOB354NXN014IN). +36#AEDOWQE5LHM7D3MTH89N8GPTEM1RTKHC3EWM81PASLN1ZFK8L7DAG0W0OBBQU5W6WCRLX9W7UUM2LGGOX1I1IXU7EH9ASMBXKJUGM2SDF57SECOXWISEWWJCTYHJ4LS9G1DE86IPOB75IY4S07ZO0MEXB1GW4HFDWP15HOBR2A50NXW = 36#P26RXUNXAR3HY0V3KMO9WSEWVQJV4KYZQTXH6PUQ58DRR5F28HOCM1Q9DFFV3S52P4KTX8Z7VCXH20OJOC02FY3356LRCOFA8QYWT9ZB5IYO4U1YGSQ2OVQPNNTTGS * 36#EXSSX0M80YIGGMZGCXKXNTEUQNKYB8TTWFDI5650UIPQ5B48N. +36#45QIA43MMPRRWF0VJW6TIRB894CD7EU90HC6WH8SKT2BKMCF0XFFY7JYBSIEGNL0AF9791T9MQJULMJDHLN66DPB1OZ18I1JYZZ = -36#1BJFYS7KPAYERC62RFWO1LBP2M77IGCQ7WOPKD8Y82AAX78CUP * (-36#35DZP6SESU45DAC2FQ9C574KEDQZHL4CVCL8V3YDQ7481SCQ2N). +-36#ST7IK9LEIT5IB2CPZ4ZCM9PHAW3TF51BNLOF0TW4VYIMASTIT = 36#2QEJCEC2J822SF9YCZIWOY9Z7E39IFTRVEC7VO935YZZ4GU5PD3LBZXS5IBNGWXN4UKLM156A0C1529BSDRSOPFTGZ8ZEO5YU3H91Y0CO div -36#3EYFCRT2OAJK5AIX0Z55PCZ4SQQF6WTXXIDXDD5AZ1YBBW18MJZTIOFC. +-36#11Z0X8VIFXJGBPDHEEE4S0IVJOG1TCWG0M21FXMT89Z9FLD47TXYPS5GO96QUQJ42OBA8CUZJLPONJ0AR81KC8MFK8H78649FC6MZ458F6RC0YB2JCDQKYZFY8A679SXWSSVZTJU3RHQ30RFY4T26WL6598NM6O9MH8U09C50VS47S5V5AFXOUSO3PUTWMXYDMPRWWXW5G1SXXQEU1FIT3XMOHERAT3V2CLPGR50VA2350NZAWIDIRHNMRCFNN162NDB4A0Y5VOSFEO8FK5BCVSTS37LHZ0QR0HSLOTMZT4LGZZS04RXG5NR02FVXROBB3HOJWWAVK1H34C3ICMWP03FEAQ3N5B7HA2STOXPDR6LNWYKNEDGPMEIYO7J6KZ1FR51AVBZVTTP1LWOB82I7B0D029ZMCE8EPA41CFYF3BEL3JP0R4SLICU75AAXWIBO7CU1YW7E5C57WZN7P7KF9ER2KYC4WYFUT041QDBR7HVB9Q56HD0VC21DV90XEJDBWOC1KO07XGM0P9EHW3QE9DYHTZ4AQKV0N6IGF0ITM3RQK8FD8V9ILWYVRUJZJM3NA33ECHNW4GCM1VTUKIM72Y8IE2HFI6GFG3IN279EAI8K6MC6ID1BX6ZME8JOW0LMM4KY35BUDBMS4U8E3IQBT39NUREADJ5E1GIGTLTBCDPZYH5JWSNBN5QTXE6BB72TPQW67ENCRYCB5JLWXZK10RU8ZDXFOPOPDU93MZBY414DSF777BBFN9MXHSQFKN29NN2VESTP2EW2YY7B8UZ6DUIZNYEEE5SH6A249GT5RHX65XR99E19LNK5I5LJUL18PMFUSO7E1E8DHD0838HRLDSUGZW2QD3T4O8WABJOPR3GKPFZPQTE0R3CS163TRJ2ZY2U2THWA2T514GJ9984421FTEYMV1DXU7PLXBJT7UF02PFJ3W4C02BABROQWNX86AKHVSEMR4KJ44S2RT3N086PT5S5IKAK7HGNAM8X8B3HZF3ZG18NFLXP0RXKJGCX8BLYIB8AJLT3MPKKGIX16R510FOB5F22291QCH1VAOQHIBZKOBYN00ZYHWIWN8SL8903XG9 = 36#ADUTEZ95ZFY8ROXEPMXOB8EF0ZJDXMUTZUGVYKY038G66KPX281XGNMU5L2OKXR7XV6F4WSP6LDIZIO1XHBM1SCHTBR6IGX3593ED7X27GLJESUMVJLPX1ZWMHNQ6BDH329LI8XH329YG4BTBMUDB2PQEAPMM32HOUAKN4HAQC76E3AXPP6VIX3U2032Z09AR7N42L6LFMZXFZFAPH8FEIMQ8XMSU5KH0JN6UR0HPIB9YVD8MN7I9C99QO1L5LATDO4Q0TWFXG1LMXTKBQZR53P9IYWHYL1XPT88BDEFLIAX2TILWRSLGDF6D5AGPXOGB8TMAOLGVWJLGWKVC7MQHHWCSIZIO1LE7OORCLBSYTM7S50SVEGNMRSFKXAWEPV8RIYZIGY76VB5M26P5SY88CZGFDS2ESIMYNV8ZI4WQOK39OOKBFZKVMWTH6TEGMC7ZEUJL8H132M63VWDQELCIX3W8DQFZKSFRVB20HW85VIH8N560MP9D66HKUGBONLIQ29MHX9R6W150MP28A1E07V6C1KR5J0QZ9ANEDOWX18GY4Z72MUXAC0SYF9Y7ZZQAFZP23EPO8L2OEDDA9EZ0F16ULWBY1QPJ5TFQSH0SCX3SBU3GGGIKIP3QKHEW53IAS3JZ8TRLTTKX0CI8B6G2RGOCE9RBCQI63W50WAUD63C0526IHACZ01W7T124Z7A1O2V2GS5QKFB56XEKY2VKE2BCSEGRWC9PRWTBOB5YSJUM86OM5MZZFRXKWRMKJZ69PY0MAFSSV67JUKYHUZ6V69DU47TR * (-36#3NMWALBDC1PV5THGOHV0J4Y8PGUAYICNY84C1XJXFRB7P4YJMR0Y99J8P6N3BPV7VQB83TVX4OWVUEO2RXNWWXBC5K2MCH8D8GD6NLKBYE643OAK7PMVXN99I3MCRMAKT71YON11VLIAKZ6P6RHS52CM7LPDTCBGDNRW42AHO7LCOMDYAJMEGURJY61A6RE3ERRVPZ8LYQBGYRNKH6X15D1EUGTUZLK5OIUVTXXH8DMH6U62K96X837H98EUY2YW16GG2H2OPJXCHYPI98PW3YFL4LUFYM0WTGKJY5QP9HJ). +36#1PJZUUNOICXRCTX58SS6AH7TV9LROZS1VXFNMWF61Q62O63RGW5P90FBXKMZV0E7PR5IGYBEOBI9V5DA5LQ4XIWA2G4XDRBLLHJVMVCWAR3IQVVPQ1X3VKJDZK330MZQJ4878MWHQM63N9PPFXOLYYGAKL8DGVCYKBBSUTC3Q93QOCRHT5G0CP9WJZ9CLEETF71SRO9LVRVG1ZQ64LZJ81XM0LMNMATFA4NNVK5EBIE24887HEOZUYOHBPDF02TBVFRBN6ECL7RHGX154ZTSUF71LQBMW3OJIBF3IR381GK4H9FYIA3CXU8RVOYPJQY4IY0HC6H762G7BRNQITWR2T78W2JKLPRWPR02ZF9F1EYCIBORPWZ11OEREQNDVKX7BBSRQ3VJRWHJ9B3QZ6IRDOB1UZ4UM0AWYXJ9N9XV8RDAJNFW737O3TUEKEY6BVBBD7VE2MWZJ1VON5X3SPMECQO48J2DMBDPPUKAV9WE4AYK7VGEHX912LH660W37POZZAM2YRE7UNRRUZOCNJ4X3FOWB74QP0GDRKU0T8FQHRFSC6RDC0S11D6C48KNAZKB44CHKEZN290S4NQZ11BBYAKNXMOFF2AORM10Q0M8FW40UUO49X4WP82LFMWYSRSU0W8I00S14NKEPSAQEJ2Q0S2GJBNVJ7S8N1I5SFBW19JK = 36#1NAPFQ7UC7NULY4KLND5AA1D1TOLHA39GS50GSI5RN81ZUHOYW9NFNV96ZMRUBNJS7K8X8DH97CVCJLB0RVZUTAMNTGIY4BU5KCLIBDJOPWTTVKDMCVG1GPW35VA2JFZHTI8FYNXXZ0CZ714BTGLM6OCFFJ7CFUWGU0PEPVJJ6LH4IVKB1ORN3XA2AI2P669K3N71BI8J7CLTEEYPCBF9XEEW8CBB39RL0DRNE6NX9O90RY6PI7AMG5NZ5M3N2BXK8BGOH211MKPW60FZX5UQ4L794INW773JHV8PFZ2083U74W5L5HS8IQQ0EJKGZ36SHRLVCKW1GOBN89UOGYHQD68RQ866R802I5VA37C6IJZO6ISMUU9OP9CO3D4VFZJUPPVZHHGQ53QMDVIUDGTNWACKI0B8F5Z1R8F3Q0QAECR2OXBHN5MU7OHUSHI7CSLZ * 36#11DCNMW8W3UX4LIBUNC8QAH8ELO6K2N4GDJPSN84EOVH7THEYYYFYKGQI5YNZNZTGJ6LO28BSFUD40EIHG9RSIWKCCE24HWR21C9E7PPQH9FTVTFV8KU5XFT84YLCTU6J81MCLENHDMYEQMN0OM741PC4XMA0SLL7KLKAY4VM5YP3SGZL3OZ9FI1STSW6BRDELYAJN0SQGWZWB519I4ISHW5ZCVUNC3NV7BQL413CC8G. +-36#7RCZ2X60P4I0HSS8ZETK697JBCIDLMCT59D4X68T5A3GUFUYJ = -36#D0HYQCYPBM1JBRLMAMZCI09Y4JYUCZJ7HR6OZX9NEMKNSJLSGBXGXZW9VQV8UCWMGOYPU1NKMOTG64P61B9OBABYJ4SKQFTFFFO1HVIASJARR5YONISY2N47ZP9J5WUG9AMT6EMG46P7NO0ZB9ZGZW90XJNBQRTIVATSRMLPDKVJR5F83M5BD172H94FIT7K1EIDZL8KXEGT9T5Q27BMUFAXP983X1NS7HDHRB8PLKYSGKI68Y791E3ELFHE7ANIHUW6MGWNPIJY29CLXH4P90SLS0L5PFH0UKCUJNNW9Q3WRAMGTZD6463NQYX3NS8EXX1GTOCA44XAK3L2XIN564DKGSD3XLV5TXBWZHYCH9RYDVMLU8Q3V2722WTAVUYFR2O7S7S5YEXP5XJB61B0JY09DTJL98QUSA1XO2MEMM9X66BMARMK6SW1JDAP833HF32U4G5HUA2VQU4EKW07U9TUMC8FDWE7UYU49SB7NZQZURXURXNUX6Z2B9S5GT9SE46NHB20HKA0UW2WAHYF96C5YJM5OOJHWPEZ9D69050XG9JXYWTXJ8WOVQHAZ5BH88I0BNRUG0GZKZ8YCL8VANZSR7DYV7O83GRDQ3P6059SK81G79JDP146R6GJG3MTFG5WTZCV1RI5 div 36#1ODG1XULXK2RMOB8I304ZGN8ZXOUC5Z87R8LX068XXG4D69UXSBYXC0FZOYUXA2228R69LD3DS5NEAI4OPRQLTMU8GA4LBRICYQJ16RLZQ7CEL8L65P3A4FBSZ08W39QIS7696AS8K3YTX72ASF212YE3GWJPNN3IJOZMI0QA6GOLJNN1DVEAMY5922XWDQ7M5B1IA6I6FY8M7PI5AF3SNWKK7U2LM1Y5I6CKT40HNCTNB2DN02GHQ8NOTDMTULVJTPCX363T4ECU5WUELFP85POXMS34E4Y7C6ZHC0A5LXVB5DEMHCMR1KU5K6E0IWWG5JWZDMCZJ4MPFDNSE8REZ0UCWPV4N2VO9ZE75DU46WBS78EY67T347K0P72KDD297WVJHMWCXOAX3M0TYQPBNBAMYF812GYNCB34C6NTJCXTSUHMF83WRMP5PX84HEFP6UVRHOSNN0HMPOQFXYNMQTZNZJDQ7UCSTDXI2I4G6HV5BKNTCFYJA1E9D138597JA6U7K7UK03OQVZAQ616P72VB0KL6NOST47JRLDIWSA41DVDA570BJF2CCR9G9FROS3RXP1GIA4CQYF829BARV7CV5GN. +36#1H23Z4D9DZMYHQYQFP6ODVP4D5AO7HQH8M55IUDU0DC8KHJZYFP488PP4W8BY5YY06IAA10LSMY14IDW9I6OSZU9F96HMPAD895YXA8WOY3CCABQF8RMKQKJH6BJPVEHRFBHSOBAQ8GFVPE7SIMV3YU54PQLZUVRDDJ4PT5U6SBWG8SRR26EA7Y9N50R7PFR8KH616A74ZXU3RZJK2FCH735HWQUGF13BQFLVUJ0GRVXIHWHY7YVRXWXGQLBM0UFMBD0I66IL5OKAQWVHRS1PJQPF7BILLVOW9B2IUKMJA9OY66Y0AAF99J5GNR1C96W8GFDLV2YUCBYXQ0ZYXXX6ST3RXWOTCY81L98AN7OI95IGHW9WIDDPVK47IAGARKYXK3OIQMIOIGVFW4WEFJTU6T0Z7RLA8ELM0OJWGFD5KELKCFV6ZP2NNDZUHT2Z8O6JD7VUX7DZYQKEBUS1UC47Y6OP0L4908IDES7D1OFMCRNY56T3HRLXYD2V2FCN3AVE183007N7ZG363QP2Q8RXPXXPE4DPNBORPJ4EM5VXMCVXELV1GETP5ST3T5LEV9O85DIH0T10BQLIO7B1G8YC47K2EHWHK7GEET04EBH96ZZ6MFC4OYH9KQ7M148JPEA931T91XC56ZAIHL4DLK7LMJ2JOU4770U5U1UGSXE91T34QGTV7TVWL858OQRFRPLLX1V6X81ALG9REZXYA79SMXQ49E3PVQ9T26O20FF8LU2EHI1CIIK5B7N2D1Y823JUP5FUMZQ7GNZ1G57HFY6WTAU2929R8U9L1R071V4JDJATDQZZ6MGN5U3P1WNXNZOSV7Z5M1PS5KVGELTESZUWVD7H57MDLVSBYX9WHB9YIE1RLT3611F3H3578VMIT6TRX7REF6XVW774XSH7PKQBFPC0YGR7M7T43XZKRKGXETSY = -36#7TC98BH51KH8GJ8ABOK5A1RTBMJYMID1SYCJGDJSQL821QD8VEQ01OU1R28XY5YQ57JUARIE6TH11HU09MFCQ7U0M31YK6K5VWWRIPO7FKG8LXABZH01GH0WJ6773AXFM1SBDFNUK1B2LIEVT873E1EXOSUV166NIA86QWQSN68MP301VN9T4Z0SOXCZ44UIDPXMUJNUC55AYXTA33VI7MBCTEKJZJNEZLJCNQCN0OXJ1MU4W4WMXXC3NJB80CL6WQQF0PFZAGQJWDLIPJR4NNQ92ZZBK2R0U30N92NEO94UJLM72POLR0FEC1270XGO9QGMD84IXU081RG71JBOJBDHRNVIJO44W6KIX4YO60QZGK9XJJ3E4V88KYVSVMBQJDTNYTG7ZAK7YDOF6WA0ETQ * (-36#6SEYISBV8ZPK46P9QHO62ZE8KOW7522SP0YVTJ5AT9T1PFWS99PVTWMQR878UCKAEY7QW0GLBREL12FZ3ANTJ10VZRW81QXJQ8RI13NC9R8J654YXQ0YNEOVAQMPKG6JZZNHRWUAW43GLBG3WLN433AKW50K63RWGXN93OAU52VIIDB0M81YYFZ1LDXWKTP5U0PESJ9FWCENBMZJ2SYUP37B9GRIIL6U8X15947BTIBAGC3A75XHKXKTDDCVG0CGG7DH0GFOUZ4UI24W3K70KU4GNJQER0OC84BJNKFXZC7KX6Z32OA4D6XV6UVULCFKDX054F3V2HC7HEXPVXCAZR5V0GZCBRIYUI800TF1MJFETXWMDNP0VA12KH19MCUVXEV45KA7XQKKDILS7MZ7H1YZFXNISIQWKUZY6L0MCBP4ZNKESIPAON8GWYOLY4Y0GFCROX3LVVN7EFRAHKGRG95C8Q3O5GDUKY1AGICJVFS07C5YIWZC1E8CTVH5FBGMX2CKWIDZVECQP8CIQ8O5JB). +36#6TSAE1DZ2AAM1X7POLP9TGE4WGID7JXFX043RZO6CJWXUOL8BQUQ6UVE1X93FLXHDHHFPX60LDVTJTY1VJHUD12GBOH61YDWGZKJCR188ZINFI6QZSB43WEDFRXDI7O6R0GYEH4P5941QR5J6CD6AGA553ZSSZ7UYT8SVR46S0HUUOCSJLOVUPXA53N2UV8C31MY7O7GHRPI64RUKNIID7WWTUV5HMFY4E4YUQTWTIB4RUZEWTZT507XKCD5QIAGT0E4ZWTZANBU4V22P3CM8JYPYHPITFWG391EASC1I34416JC94QDMU0TUZ3GVS90OARN2U3ZG9B49XM31A1P8L6ZUVXAQPD87H1OPAWMQR3I41XT6YTN54DBJZP7GSIFT84EH2TXP86N8IZNOS3QFLRKGEB2GZ3CRAOEZQ8ZAUBWVCGBWVCOABXLFISY9SWBDFR9IN5D264026FER6WB8JLPJQKOV32LDYYN9PY4WRT5QES4QAXANOMZ6VR7K5F09DLGG1IXVGI4X1BCN9W916B0KVW9OPHU5XOWFPZON4KEWDV0DPF4IHNU42VEDXHZPB9RGJXN3V75AWPQIKY4LQDSYN2PVEZUUTDWNNEJ6PR53P80DSKZFBB18XI372DY4HHBMF86WUUI4YE5B6YM74JCQO1YCMA9WNBBGE0OTJXI9CTAX78SETZGTY4O4QR9NXR39IQ9700FX7FH1QTT58WS68H6ZNX2L3AU6SXOGB5LC0K7ZMEIMMXKBIDQ1JAYA694UFUXKPHCFL0TFNXBIG6JLYCBXAVGPSMYJHFDTANC8EY36 = 36#EZL2BNSCHTKN48UNPK89OG8B0R9VICURKLSVZ5BKYBUQFMEDDNT41E6VVGCL2JVAUECT5W0RBVMYJTUH6K1WICTJKYN5RA71MQ0YTYEQ7RI24GZ2L2QUMS7E31ILU1KFA6G4W10FRO7ITE13R0ES5XMGWSU303L5JVJAVDNURPGZIQUJM44GQM30Z8SB5RJR5X19W0FQEGOTJC2FYNPL939NC317AHLLQPJBFHT64BI2FU74E4EW7DHUED0DXIVREIYO8J9J6E69ZNNFEISL8ANLZ6HMOK1LE3VJ4Q8TPMJMPH23UETF3OFDMFB2GA87DBN15TE3H4WOQFK8A2FB4KJ9EFLIS10HPY2861CWJRSKJUIM6GVCC1E5WBI6D9BLFVTY3Q5DD1ZUQN49IWVZHFPL7VR9Y5QSPD3HD4371YBX0ZRZ1VNSKM8S0U3VSTK1GA5C8RBMJ5NDBT5S1S9L6FXBCNS8PYHABEI328Y4557FFA00NZYPVRS092MAFWW4WC4ZNPRDQ7PLLJS84NSA5NM8W9G4VMS3A0S6E96NU13WY1BD7D2VO5LNAE8ZPRBQ9TSRM03ECAUMZHHHGLUDG4I814UPG9ARX6MCD2HN2X4HPB3E0WXQ39ILX5EAZORVZLGP9DQ07MANNR3MWH6L129KU6IM9J89FQMM2SUELUENPG6T9F98NW9UXB46R3QQTEGVJKOCMCHBY0XMKLJ3QWXJRVKWP08RHXJJ1XNU85LPCS0OZW1SBIF6F3D6UB45WQN9Y74VXN805A7ZFY5MCFTQS8LGL930IU791ICZJQ9ZXETXUWUXF6NPQTLC5NNFH5KY5AGS83L2ZVJV22J1T3NM2I0LKZYTL647WN6RZPQT7ONFXMMG6G7VAKPZ06DF5D5LERR6ENVXED0FPV9XFIKU0UHNQ68YOBW44C4RQQKO18PQ33BP7P26P8BJG4PS6ZF0W78DQTXYQUISBHGPC7BJ4N1IQAZMOPLTONJ894Q7ZHCYGM3NM4FNFVB9XGPICIDAVBYIKXV42CO8VQFUJ1UK1YVPH0N7DA6GM9J9OGGAPL8KCJ9RK3G54WXO184ESNZ4PE62Z8ALPEWUQHRMYPPULGX9L60CEGE7NGXWMZM7LO3HI0BD38IOH2V0A6QUVL9XOGAUNHLS470KM36NTTG1POFCK5LC21XQA7JBNSQGQFQZJRAXR60I6NCK6L6OOHVMMKN5CJAEEGCHZVIJJH9PFAUTWXX8OJW4CMXSYQW0YBPJ0A9M0VBWNXKCHKT4WEFS6WU div 36#271642UP2TKWO1J22Z9NMPURKUE5YACQ3KB6NU28X8HDIZW30LW1IEABMFRA35SPQLMCUJVY08UCIZRN8YXR446VAXCRWHIUCLLQTBIE5ACQG9DMZLTXEG9SFT4HIVY4GNOIEG7DT58UD6SXFPQHR5TWPHHO8MHVEW06R7IHMLUXMT62G2O5CFLHYFO2RI0KSYTEKBQ3SY2MJSM6ZDQJ3XGR0B70W5WWIH25NK613MMXJWQO6XVLXN9SOEPN9741PQJWSUIDMFH1WUFSJL4B8RDRPO9J2RD1K946BSPFI79E0U89BP93GC35QLZ9Q8I0I06VXZ1RHRI6ESA0E2JDJ3H0FPK3HHTHD5LQZVCOBYGSGJYOG3XLPB9ONBAYM21FZAO8QSIW80LJTF46OQCINQBH4R8UI42R6BO5XMAI76LQJLC6ENZF3VSNZIB96WBNPB9R522EPTTATET0H7D69TZ. +36#45CIEY671O0KSGN4UF2EV2XMFVQLS71FOJRCZB19SLLJDMKSAS5XH663BI0RFZZ3ET49A4Z0FJUW7FVP44NO7UAYLV8FVX2KUZY7UYPJEYU6LRFWJKAH2GIAI6R6UPD3XOFPR199FZ5276C3I8RQX2TIQWEJ5OU35266EP4F = -36#2TLHAYIBPSCC3Y4QVVPBIUYGRN97Y4SK9TF7LM30B8WC1W5UB3ZJPKSCRRE7D6YJUFKY48GFJ09ALWK29QWGAXHAROPX6Z3TK61FZRE3B8JGU9AYYRKRCK7 * (-36#1GX4IDOM4IV7GFXTEN6T6GIP6K3YVKC5TD5NCOAO56US3TIGYX). +36#49UXCEPSI7R86VQFHS8KRBSD0T9C2RRE4VTGJDDL709EOIMAUUFDPLR24JT9OEJNA2SIFGSNWSHFPJFJSQHUFG5BZKOUSCCZDLRR93LHM0YPI6KX69PNC6PF2BL6P7VNLDQRF05ILYZMHAE5I5GOE5IMD2WRZHJIOMMRYVZK8R5KQJ2LJU33K5JPI8RYNKFRWNWVSZEBAT0U6HM2SAM6YFVU6V329HZL4X5XNNN5EE3PUEOL88SX96GOO91YD7KOAKI8G8PW5NMHOOTU9H87GOH5FPA7HVOZYVW94D60SGC7BWBS0SDICC9F3BR387GBOWXK1OI9JIS5ANGTN2ZBQUYH6BSWXT5NVNJ9GH13EHCA4AO61JWCF1L3IVTJ3U3PCAJA88A996E9YYYNYZOIEK0N29FQ82I8V05MWTDTAVIIIEIF4MS4JY9IA920QNN1UH1F4XU7AWW6HGEEV6DJ1JKGFS06ZO5ERKDCLATYPKVOXVCDRQ9G8CDVARW8ALQNAQF2R9CGKEIGVYD1B6L31EGA010PSQGOJZ4W2VE2K6NAWJD0IIP6O6ZYJ8B5J3LAAA4MQS9AA5WRAZ4UTIKC767C72VZUM0OR59TNW7QZ2O8FK8EMDIGLSOUY8DZXLWYGXLDQ2BVVGJGCF9Q9QF0YP31M8AU2J1XRCYJ7DEPRCDGY0ETAKNK6WXPO8Q3QVR125M45359V7X7F0G2CE638MDEOK4D4FTJQ9DNMEAIM4JI6QA5DBU0XI4Q1P594Z43YCKIYVS53X3QTRAECFUG1XWDAZSM1O7ICTT39XETFFC7DJW015F8AABCOHR4TGEZ1N3ZD1V5VFL1OI44GBPU1HESQAGZI8E7QS7U437XID755PVE5YQVZ2BRDT8PC24J09W2FPVDVW41X79U654HTE1MIC2YLEDY4U3MQFUFITA740W5KZKHZFLQQI3WDYKL9L6T3LWNFUK721NWH659C7LBJDSA4YLJTGDX4S4NNLI8YB8YGC03HWBNJM0M732VWZN7WM0QM2JGQWN04TJOMA978A7WC5TRJQDMANTX2F4FRH9LTG64RYYW88SLHBSQHG0Z7XY02234GNDAVMHGTT74R67GU6855EVJBEOGIPXO4LUFWY0TQGPOW7DAO2DWN9FMT5YA54EH3GFN70E31H6GCQQZ9OC1S9A69ROEUCI4WG6N17HF60Z6XD8T8CSRDHHDANYS0A0SHC7B8P07YNJ4MVLSS0RI58QPW93LI7DVBTBE0AGLAWAVCS5JRGSJYLB4QQDC3VYGH2H5B3KH7Z0V90MC071EQVUAWSR0K39V9IGW328 = 36#DB78CJEAEXFPSWJZ7UDY8EJCHGARSR8W2CP7DUQWGGT5Q8JX6AP5ZRE4E7SBV4FF3568VIEIJO8T1E182YUWD9AS1H9XURH9TCRSIAWTM7CCWB2Q0SC43BWGPIAXWVW94WVYF4KATSF2VVQHISVHU2J24CQHTYE356407P3MRM46HGIBEVHL70VXY3FYUBCRZTKZDZM4PN3PWJ61QJSGO6ZLQ2HN3A13CGF9QNOR41DS25MHGBOT0KPMZUKJV8B786XKT161G4NJV9UYHY3UW1ICPK4GPMCKN9XTNWZSCDJIEFP9WPMQ4EPZUZKMYB7I52V4MNA0RCWN99A7UVWPF63S43PP3L90RYNSEMM30PHVP9FNWASKH3BP8XDME4AYX3ECZPH6VEBY7X7PPORO9AOTT9L8VOP3ER7MB71P1RNDB94Q2HPNFDAFPQ6GCYCSYDG8UFCWDU8IDSGA88ZO3SI6JPKAVDX5436BDS4MGOVXMTDLRIYW7K3QHNXN2XTXGF5OG0XIN0L2NE9TTROGURN55RNTZE0OR40DSNJYE9R42K969LTO1S7UTJFIKHYD7WM1LAAE7LW99WTRBSG0KY1SHUCIT2J2GF1VNKYWY48IZ3VN9Q0G20QVF7PBL53B0N43HF7YKX1FG2S6JX4U4PNL1G7HYLBETO8J4VRGYA1FE2BUDKWCMNTANB9MIPMZF6ORZU5R45H6W26RCT7DLBXYG480CKG7W35G9IPXXPAGE6PQGDWMVS44NG8ER8D379G1SI13QUX2UL1DNICILATWXCLAVQPPGUN181NOZ3N7SR0OUUO35IS673D1KADK7YFQN0HC81XGMICQEUW9T9OBQGN9GSZQ9Z6PRJPZEVXPZAF9NWDD4NWQY1J0KFER6KAIEM0CWZLTFTFYVRGMDTY4L9UH3AX8PPYL6V8BLR4A3QOXYHTRDM00VNRZS * 36#BK41FR4CSZKUKX10I9D3BLVTQ0VHY9CFQPB10VL1ESXJTO30D8DOGTDQP5ESBE4VO073AMLQIFRXGVNZ5AY7MK3MN3BZH8RGLUD19YWPHUHXZ0BJM9U83KTTLWM23DHJBDB8U1KLXD72M36KZDV4GIIO12VNJC2SDK5ROITBOGXLBNFH269NHVCCAPOB2ORT8DRI6U9999ABVCMIN53S4EF1IX4D5TKIA5PZV7IB9T1Q08TBIYI2RB8GH4RSLMXYG3U32D7B524RZDFSOB6IJ6ZLZYK4SWVXBITWTQSGGMJQJE9K3DWTT5U2ZQ46JX94X83WCZGN2I1U9XOGW29VR60GRIVEYJA4T2MCHR3083JEL1LV6VXRM8. +-36#2K1WR3U0AV7R9EZJEQFVMMS4YV409UL5VWWPKRVJWYY3V1BPGJLI5UWKKPLXOURQ76RCI7HJACPXN40TH1UX3CSGZ2EIFVDRKB1K7CORH7767FLXXKAHN7HCILOSTBNU6UQRZ188ZM6ISO00HHNWBD5SBP2K0WDOWYNVU4CSDS0XCV2BCDEK0KPJ356VKEBYIXCUFO5A9HEDQIVU8KWLKFX7JZ2KWDAY51B9K76G7JBPT88DW2G18DDLBF4KYZ1IPM4RT6H5B5J11Z6PE1GER0JVH36DTP78UW11NMH1JZP5EVGNULE2BVMUHPQ2ST7SFUJ3R8XRA7J2TH7MDILKB5S1BA8K7P9O5TQJ1CTLADYRWW45E0B2NF9HZXKDJPMN6JDVSA0B7OOHNU2P23CJPVSWJE1SFG4JZXKF3NX5E9YSTS76OW3B1YQBF7IKRDR3OF2AF0CMCL1RZ5M310JBWUWWGXVKB1WEL9TP7SZJYLS0CGL2XVPYHKOHAKGUML6A0K7IWHMI3U8WLNSXBOET0XSYWBO2Y3DX5Q26GLQJE77QPR5AFO4LOAA318RZNC8LLT4FCQB411EALQ69L17VM0P4RSYZ5QNF78S1WPQWS41VCD3JORLBQIJ10FY1LWAFY0Q19UIC7UGUD652IWRXKW4WJM7A1ZMBJ7WHM5FNK45ZF6UY771R7P0R4UMU5MSB8WRQV6WN3IJ782C06O4GGCHT9EB1MO = -36#5EYG0A7RQRYAXLIPGBEPENIDY9RCWYM35JIF6NU7RGS2WVRLDHY6MCBNKC6ICMY3OV5TQBE95EJBXWLCE8Q1G3H1RUNPP06N16I119AZ69Z1H5PQTPPLXY9WBDNMN44UJYII9KRHWH5IRGQVMJJCOFTSFC0G6V3WFO9FCOKNDNQIRHUNMT6WN3WX7ARTJXM7J0H1JEVYLVJ1HBGFAII38SYZI0T8NAHPIG2H0IFMKOTLUI41N9ZN2F8ADWVUBUEDEG20U4IVDV21MGURWEBA1NJKKIDXRMUFSP6ZT4POQI07QZNCK4F2CJ2NQQYAOL9SS4AY2D01CHU269MRQ00LNG79MJPQACBESE1U7LVT4N4JS33T644B24SPUTIEWCTD0E7EHG1RPR4CP9AXLICQ5B3G7TWIXPSW8AGAGYO0OX5S3TZ8RRN1AJEHXL1RUYJ7JJN3JHBWJH07HTK8FOZIGOKI17SCGIF21MVPSJQQY6YZAWPQ1JSIZHGQU3BASZTFHY6W97HRALKUE5GRA6REP6VPWGU0KX43O4VN0NWRSA2N4XAZ48ZHLK901N0Z3G58L8A82W3JOJL3710XRZIZAJ0SHK64W6PPSKCY64M7HWE1PB127Q4L86JDT1NR6GZQPQ0QYFGFHQMDZ5HSEUBPMELWVRG7XH0BJDZIYJ5OKCI87TEYPE5FPNPSE3X6P3MDX06GOM3X4E9EYDMR5GIAXCX6MT6WMM4MS7YJV0PCVPCIMQPJIP264P9520EGGMLL2ELTUWRIZ2YYGW0 div 36#248RJOUDMD2QD6J3IYT9B3528Q6EQSXP1CGGYAGA4L5XESZ8KC. +36#6245SPMZXO6QOD9S9UHZS44MGZXOMTZMFVS1R9PJFA8JYR5ZL0M04GAOCDT5VO1OUVTRNPPJKHL8UT3330ESYFTWXLT0OLAPTA210KR49E4DQMG2ZVTAE8KTJCD3TZPFQHVYEVDGDDE8Q9AOTS84M12AL82AK9TRP5EH9NEKOW7ISTW8PJ2GGB7KQ79G8OA8S3YP4GY9IT3Q2UG5CQXYB53KQASYW7H83ME9SHLN2E6XYMGR7VWCVBT1J73LIUOS69T7ZN0JHZUF4V0OLR7B7ONFU0S5FG8TPPICSBK8L9D50T8B3BRKR0GUAQ92PLQ6ACV9GZBJIS9G0ALS37ZOMRCBUDZHHFSTONP9YOWFBVDPOYFUXV6YNK3M23OXLUQTNWSJS8SHNQNE64HDN55JRTA5RTE2S9RJVS6CS99NYIIXAFY8D6XHNJ9ZGBA9QGC6XPM3FAB6AGAR1C02VU1S5W4EFWBRLR729VG9O3VQNUPDI59FAE8JNMAE92H9W640CQGX34KPDKZGQ3IGGMB5XKK8REON5EK736D9TOEWX19SUPAJ63BNH33APM5AQAMQNVFWQZMLZYPZFSD8JYEDY37BXR2PK9FZ0 = -36#FQBMUY72WN57FV6K8M141I50A9NJSRNMD38SHVAU63DA67CGQIYVFFF9ALZM1JL0FG8RKGJKOAUDGS1DCFDSBAUYNGM72E9SUGEKFCJD1QNCO2Z72CIQ42L5GCGW3I5C0IJ2LZT8MRW7G6VK7BN8SM9KYZREEEWOET5WPVR53LUJHGG7OSTV6IFKXA936VC3WKIXOJZTJZJ87GKQRHVGRH4OQ8OQMDJ375PXW146L6OSDZPDBMD2JMHYSGJS3MPSDBPSTGW4YR85MT4RM1M9DC21IF9NV59F59TYF3VAGB40RFN1CIWTRQD8RJ2S5F9HB50GT9MDDMSA9E1BFSWKO61TEOLXG4UL8BZV40XQAZXKDOKKIBF72U1J5F3698PDZPXRZB6DZ5MHOGGUMYYJZT2234GQR33B920442JJALERUWZVO3WVSUKJRS9YQ4345XC4L2T6DT2EIZV2S7VE5JR50GPF8X6R1QLY687B3AGT0PTEEWZVXVIPWENFP3JM075BS737FYBLJOC7P7XMFQIZ4S4UTRHKYG4V66O0R74S9HIX * (-36#DV58UMR2VOVTBKZC1BA9QGHV2JTRF6PU800TDVTQH9ZQM064C). +36#1FKRHIH6UXK0HDI627HKO5XQ2QOVZGO8OUSSMIE0HQ8ITK93ZQJWBZ93PQ3EQTSMNCOSL53DNWT1PDO4FK0QWZOTQGRRHGZX1IJOBYPA5LPF6K92QNCBX4FVBA4LCMFVZWR7FES8GJ30CJ0KSTFB0WG8I8I0B5IZPVXHWJMA2IM4DSYF34B64T9PH0D20YI6HSW90PRS2DINSESOA66M6BGKTZCFQE59JE9S72823T01P0G29R4U35YIPMFMH6YZM2VJWMCEM3KXFCRF95UWV2OFTNYFRZVAD8BKUI15LFGNNRSYAF6EC4KS2 = -36#68KBK83SJ4ALGTDNUQBWZXX9DXM15A8SBMJD6P1L52QYV7GAGQEKENW9RG206LZL98BN87VAG51WKA4PP1WDP2SG4WIPE3OIIK6WA4Z4FDBT25KFOABWFNOT6RHSPXJ7OXJPSTTY00UYAY6MX1AFY76TRO3EOYK08ZS2GGZ1MUT4CI33YVPDFP7OGIHGB80GOIAWEH0RS2K87OHO16CP18IKIPNZ5TAKP5IXKUUQBBB9YJQB7JBSXN4HK4P19T8D8LLYZV9TBSSB4OG2GJ5M1U3BD0XPHLXN06EKDEDCLYWAZM1DX9NULYSTJGR4376GA9S2JKDQSLNNTIBKPZOSC8C7IKZJGX417IP48E1YVM80LHA4ICTVTNA95WBIHP7OAA7UPF0QX8QSZYTRW77UJCI4QBEYMCY9ORYLCXKV1SXZ36P0E6Q4432SNDN7ZAIGT9VRQG2OP9C2TO div -36#4CQRJHBITM6LVBNAUP16M37DEXIGVAOKACB85CNXM6UR9UMDA746EL5AGEY7ZLSCA0MUR8JAK1X0HEW52MDSSB5CCMTZ69D0TV692UFTU2L7J3U3IV75A5ERIMW85DKH0TJY6ORY6GOWSTN8CTR9QU. +-36#DXZWM6N64XA8HF8R6ONAWOH9A9431IP4S6YGAML9D0IXEO6SFINC2GVB8WV638FU4WGUUJE2APRBRL61MLGLB8Z902WGF8F093Q32TBIBO4VSKAYVRTVV24M0WBR3IOK8RA7BPJHJ9A5THGBAS78FQ8GQ2TVMUVT5UIRP3VFW84BV5XFDE8SQWAVJVXDMYDOOHNHZ06VZW0CHX5QAYIKJGWDJQPEPTCZQIRKZDBSM1HIUMICMZNMSI1CHVNCLI11L9HDJR8YQY6K9E1NY5CJPPUFFHMGYDHWRDGUBKMKCPL6PIHMD5GI7W0T9JTVMRKMDKSK6G51AS4GG9IGN4NRCJV38E7HZZWGMPPTB454T6V6N3VWJQ3JZ51NXJMWXEL653AAWXB1MKO6PKG65TR9RWF74XJWV1HNWOLIOA2TSKTCU7XCJVB15BOKXZZ0U8A451OIW5UCPA1FWB22J0FPW4O4WD0LTVJ5XB539M1194AJSPN = -36#10CF581S4H2VICW2P9JND26DP59SWHF35E88PTNCBF9GSMNY0FHSPUZNAXVB6BIGH8RXDOM9308Y0VLV6COME11H24SDYEZTAHU91DXH17CYQK896ILUH77K2IGXNIVHGCV8J2U6DP5B1MC4VECUHHE9AXO20I6O8HROFTF3CIQN7JE96JVOR6ZG2EHEBJCM5QPRX17NO5CRVX47A5A49XV55FY32C9HUDTMQ2TDIU45SH4IJQW1NROZ6SUXPIJ3RGGQ5SNXFIHFWI4CVQ9NONF9SE2KCYWRZEQCMUU81I8EHA6ONGNGIZ9QUHAAP7GWB7TUILA8R7G1KP60TCCKZFZ03T0FGZFLRYYFEWZQBJF10P0OAB2NGX2398E5BD0RCXVJKRYCYIYYHH6M0TX7LTMYPQVW3XKBD5YTEZ4OT24Y6VVRH5K4Z9D62PLKUEE1K2V8CLC9X944GQDZ4H0UA645P0W6FTDJRFGI031302GX0YUX9KZQ978UPGHKWZHXRIGSI55XKMBVPXIGCX7UVHNQBFYPXSGX3 div 36#2LTXKC1GWFI45UPEK097OIZZEME04CKALUKQA8C4J7EVB1O5LX. +36#22C3JVTY88NKXT2J42LN69XV81VZ36MHD7IEPFGAHGTCFUH4LEITKPV05PHJUHKZ1ZXL5LDTE0EZH8S9LT0NVQYSX3C523C2C1F039Z17THM1W6PYJD9GNAM87EK6Q38KAUG6YH3523VM8DKESUV1T1YI2GV9TV7OW7JMJAVZHKI3IZ8ZZND7LOXFC9388FJEMQLR4M4J0SS1IN3I1VRHSE83XCP9CPQGP7E89NVVQFA0SJASJRRS1MIQWAPE80Q34SBGQR8OMD9A1U9DH0855OWEDLEDSZFWY0ADO25VMS5HH5VNKODANPUTOXVOIPXLZK9979X37N2URX94BBPM3ES60W38C7U7C4QW7UDC9PFHY33XEX3E46CXAUC82EUGPB5GYZKB20X7JF2ZM9F7HX6ZOPJ00S9TVXPGHA1PWDDC65UFJEYHLLFOOGUEDO0JMHXCDICEKEZ38V0K0X3FM78REQV42XPKE6VLWMU3K1WWH6YKUVKF5Z87CYM7NWCHF8KMTE9VC0XB79TDSEC7J17S447HQDYAFJRA5GIAF91P5O30BYNE1JZS51NK0XWYK6SQSE4CB68ENNVVKSA6LVJSQLZNT6BUWWRS7KMFWJEQGSO6MUND8OG5E7XV2QB8JP1F0JNCLZWW7AA20DNH9A7VT1QS5FYTJ0O9K33GBURMEJ1PLMCSBPMFXQWRI8I46I25QFSAHQ3OBMM5HOUKLGLWSBUQXJKNDKJW7NPQX04BG4JJ2BNO14WXO9BOVAEKXR3NBSEBLH9K2Z6BWB911OOQJP7W78H58JVKTKAJL4VHCOQKM16N8SRWODEQ20M7ILHOTXVNN6KPL48CJMWJLPY84EU334C5H1Y997H3BRX52WIXCA6B5E7CFSRKS7TMOYSTCTE4M1EZ6XXI756IC72QCTYKMV0LTZSP3L9E4SGDWE9GCBCA9FSSA0 = -36#2EJ7KWCVCX1XP0G4RPWGHI5TJX345WC07S8NC5WITQZOY3LYM0 * (-36#UXBHQRCC7C45344FBXUNYGEZGG3F3H3JA06IJSRC9RVDS1PMM27P51AVJTT9ERCGOCVZBHM6E3LLCVKR5FIGQC56M3BYJ1C1EEZ24FQ9551XT9HY3QXG51TWJH4KXSLBREUUOCO2FPSNN2TORKK16FV6OX4GFLY2G1G3HBHX2NS5UF3468CK9JELN0Z8AKSGKD4IA9HU07ITRWRDG7FL4NWLIMUDKSVYZWUJ80UXNKQGQ9XKQU1MGOMVBO5E3USRFYV8MP9IRSZH9TB0WZ0W4H3IM3PUQV95YG8ZFTLQNUFZFAO8TKZ37FX0EESCBW9WJDDUP5P6DXAIG38KIDBOITPP3TK8P6QLESL4BL8O1I37N13LKYAQNP1KTXWWFBI5XMGAZ4D2FFXVU3GZ4UP4MS4A7HHQPJUT3PYT68B4KSPV1RZUIMPWRN092V3TDSQ292V8RDZ3K1OEAK5YXCE5C7LYKNKFEPUZCZX8JKVHSKSQPX5R9TZXB1588WOK5LPXOCSD510S9YYHGLYKDP4GRSCGLO3ETGX8PMCFY9KI0DOC94Z3R9V2ZHQ4HG1C6E8REJMP7LORATVY3OPB2Y2YRQAXPKI94D7MQ61FH6PQK5KVVWDOXIC43CT0R34DGOAUVP1OD42LM2C1RE6Y8CTCE0BOIFX93P8XHBX4ZY90PURWZOC28I5GCJLDG8GWMXO8MQ7KVQ3S1SD9QU6T0S2OO7JXTFIXO50J9O07NY297543HRJ7Z51D1MKON7UE70OL60T08CHC4SXD9IMTEQGBI9PJ3URHK4DZT61L1Y65BA1OLPWOVD6QDYU3EJ63AD58BFMSAV5HNUFQEKO2VSW4OUYLKGWLUZ7FWMQ0419RVLQY2QE6YIHSGP8UZ6AZODIL2CGERSB57). +36#DOHNA1K84TR0MKAMFO6SI0OOPOWH9GU5UBAJTR25VP0S22POWPUAXJZL36HZFF3PYSVBY6EZ9FC4N19S5W334GF52YGYNVKVZROTYBD1SCZ656N8O3W5WZF3Y2MM3OEE2V7LTCIB20GDF77KZI58JGRTCBUYXM3VHI54EDN9KNQ9JNGATKVGUWYGQ9X13T4IB6EH4931CAWDYAHXNW01L7W8IILICK1MX6RTGMHSBG5QOZ3AKKUZLT1H6XRVR1VTZ1WMEF7UF57PY55KDOW1OFPPWP15RCXHVD8PXEK79LGARLH4H8NYPOLHHRB23H68Z20W6T5VS893PDSPE905BFR43L6W6GRGENWW67L3U8YTSB7M7BUIIYXY6AA512A8RZVV9DSN61B8TGPM7FB70VO3URVFV5K5L6H5B9TP5PTAZE4J9IDZV8YFNYAED08M2HJEKYXSKYQNUQ9KDS1MMJWJE0UF96O1HHW7J8EBZNAR5RTN46JFYZ6WLHJKXKC0HC9CJNJV2PKYK8MH1M73OU3X16GN2CY7T1V6TZ0FYFGAOKYMLMZC8OFOZXGZHY36D85UEXX803EIE5FRDNUX28INJ9709ZRY6ZN4P6QVSBQNBO6VZ4NH3LPJB3OA1E2TQ70TXSWRFJCV8B6ZLZB147DUXH7VB4JLNNGAR0WEBH983DK4CVRZ7NRRBX6URCD34MGMURW0GQ2XVA0IBE66CBV8MMFB = -36#2H3TYGHBQE8BR9MRVJVP5O4GJSHIZEI5Z5DZQJCKRK4JAMECWXRHV2W8KDY08IVWNEBVBB9FMOMEQDRVU8SFE0WPN1CFVJFDDBHUPAYLB48I3TUWAWQ73ZN117KE9MGPZ1M3V0SXXM2USD3ARQNNCQ548SOX0XF47V1DNVDY7HTSZUGITV7V1ES41RMV7Q1IFA72JUA15CF3RNB6ANWRACUBZPQIN98OQNL1B92DNNR3D3JK81PD5POGUMW0H7HZ9YHZKK78C1RHCDK54QI75LUQFAXJ9KZF9KPRZ1WWQ37MV0OZQZ2ZDY0FMZZKU0LHLF5V612ZYMOU59ONB4A762HHHTJDI9U504YCNOALSPLD3PP4TNKMSRZT0QC9Q3ODDJEJOIFJDQH54Q6L7R4C3GWP83OMJX04BAI8MLN4JAA77Z0OUF2N9R7726KSCCUSD6HZU4A4WENRZTQMIEO0T4HZJC4IA61LM9MP23O13VMDRAD1IFD2C8HCLQAML7KYRSEPYOJ35PP2RH7QLVFV103G54VMV2DVQ9NUINQNCA927AAH4TAIGVHVS52BFJAVP1EE0AH0UEUCN9TCCG91RLFP5VNT0DZTJBR42CT45B21GZXXNH9AT4TXDJNM8A7O0YY8QJ6I7YEXXGZO3XWCBWQ1H065ZKSSWO5F3XONV03PN8UJIWA1TQ8Q3GZFDQTLE7VGU5SNXYII2GZBY5J5DTFMHTQLS2KHY8OW00W1BS5Z4S9HOVZ49FHKHY1XYRR6DL4UFYJR8Z5KHVIO42T94JMEOVM7RWO8WKAZK53WWGS1I8IKDNW03IT3JMKIWKUA07Q7X7G56HHHUKPBVH6Q8GS7P4KRSZBNMJUZKZACIPZJALJVMJZL6ENAR1RTFLSAJY282WIPLJ9P0HGKTAZOMG4R5DGYQ9BRZMRAJS0P3CNSTG6DUZF4VA9XTTQFSHJ9E4RCAMFTJLYXHZ6IEP1W4KC7W2KKAZU84225RA002W7893PVDLM2JOG0W8H02FNHJPH4OO4A92C1AH6JYWO1FG0BT5EQ9UT6WA644TTHCAOYE09DINFOJ2609T46G618SVVRAUUO350JUK4RFFP7VKED5RIPOOC div -36#6IHHLP898BZHVI36J607FS6X0KXMZOF5GUXB15ER2L3QFPSKBTDAAOK2ZKQWI46YBOTTAN14GETCU8BHZPO53GPYM1OEF76JMOS08BDJK5YW30LJOPIGGO0DKVOJYAXZ9TMS137TVCVT6WFEC19F2C7CRDTBTU0FK8SIYCZ8QCUFIAPVNTU05U8PCHUH0SJIDSBE8VAWAJFFWMMSY0Z9QFABVTM7O2FA24RQ4BLYIADFD47Y0RIODUIJXDS085YFSGY3W7WA6GGESUDBKECTSIYRBLD9YL5J2VY09FFGWZ1Q7SXEOSM834JSLAWBEZWFU72V3FEPU3WAXO7TNFX6598OT988A04XNFP5H23LOH0HRQSCAL6036919NSUCS3LSVO. +36#9CJYYUKYZY9B2635OLTXLZLDU9B8ND64HEOBNFY46BCB04OIA9886M58HRIBQLN2ME0BRMIR5VN5VIZI1S1DNVHEI92JX0N30C6Q3SX46HT0LEAM81G7WA6TYG0B074WVXLA5B8SPI9ZRI394Q5GOB03OFJ1F1H7IFMBAYKRCF41PA861N1IWKZQC1CY09I0RC2RY3N0EZFOBL8GPR21Y9TNKSI3YKFO9EDFUF4X0G78JV9U6QZ644D5Z8R3D5Q7FVVVB1DM021N8KANOXG8FMK86TJBYOCA1JNKC9G9XN7IL2Z7VG0WE8H96DJU2TFLS3KGO6Y50PM4VXCNYVLJ89DRVO6FYXT52NM8HQ1LRPV2IHGAK71RFJ4BE5XT7V314W7K40PK46LU5YIHT7QD24SPW2VFSP13BA92WHYJBS09IZ70O3TJI9BBD7LXFR6ZKCKUXOXY8L338NOJHJ6BOJD3LSUAZK2RAJPOW1K1BBWSXPV6JEWLGSNAM1TZZVFZJAPA26L46BUJSHUTATPX6M62B8QGBXZC6JJCZY96S9DUE30Z0C1OTXXVV840F0551WTKIAIVTW7KW2M58EDZXDY75CZ6GA5X81Y81GBTRAGDPTRIA5W6RMEXC8KQ58SXZ7BRO42EKC2YKDHRWDX758MHHO01K4URY34ARBTKXT4BV8D1PTZR20FGXGSK42XM772 = -36#DYI99LWPD8TC3NIDN6NW8RN3FCCOAP2Q4GWXA3W8ODK028SFFBKKJHQNXOS3VZAQGM413XX3PWWS3XH5GT7W5ZYM2ASQ58TVASY13ZLBR3DT1K7HOMXQCTP3ZI4DOAUHKCHNE2BTH3LVIBAEDTROLWZEZLSGYF20NYQ6L0XC7UMA6U9224ZEHNEEAG1BD2D7GTR61MXM2ESM9PI4TVIFQVX85DIOMHLDDFJ6CGQGKOBESQ9J7ZLF429UX43IEP925IJZ4HCHKFLO52CDREPI7IVLAPDRKDXINXZJ4NIK4F34F49NXWPFF556UZXPT957N35YZFVDCYW687F0P3AGG02444SWGBYTUCCY4GMVPBR0WVFYJJKK5C0L2A1P1N4PUIOW0MCPJIELX85I3C8B22MRAEB3DTTLNUXOT03WP2F5HXMLKVWA6HKQC42PPOAGGH1SE3IICLXYKIYLJBCZGUEVPSP1M1YPD5LLML7FRKK5WFVFELJK5OALFJ6JS7ZZ1XK1NPV2WL1VAHKHG0SXZIVVLGXH1X89UD76GFDKVBOJTHTE30Y7OP9MMNRJ93024VDC67X7MWENIJMLU3Y2V4PL5SVIKXJ5VK7E6YKO494FYASOCO0BG6OU8GF31D1ML39619S39RO79BHKQE1SPLBJ60VFPHZHAW5AN8X82YSSRZMH7WDI177642DD4INA7E2XILKFGDM8PGZUGAIN2AG9VMOQGVSSPJN0G464G56MDIV4I47G3DHPO96DOYSPCWZOF5PWISYOJ3DV7N14ETYMD1C7TPVGXURL2P27Q9OBK2COQWWI0KLYPQY7WC8XCFMU8JU3MPPZQ3NHH494P8H5K60THEF89D7C6ABFS63JRB70A2GVRDWD44MBEV7520YX3FVM6M4KH3AE8SA06O27XQDGRDQFIXMOJ2ARPP82A4XPXMTTXCOXGB9HYE5J5E5B24ITBMR87HOL79MX1I5433GG8JUL8V0DMLILSK8NKRYXSM64NZROZTV4KR43DBN6L7OPYLZ5XAS9C43TSY4V2NIZSYE28IV910INIGCBQWUUQWIM6K3YH8D8MDXNKS16M0ML6Y98ZAONT6F57WEP5ZXY5JRRQHY28HOYO464OK3QCKPXNT2GGS6CF8TFLTDN8LLZHZWH5KICL2Z15SUVV7EETF5RFBMQRKSCFOKY14AXXWS9PPFJO2EFU4X3VWI2O2K div -36#1HR1OVE21R2JJ8M3ZQ86FSR0GYGWSO1XUVTNQWKB0GLSU9M0S2H5LNG3RA0A7BP3OPMNIPKGARD9PK3XN6QHNHQ2DI2ZZDOQ2XXFHK9SYG80KD09W76SDIUH5V62T8HPN4VOHINQ4QF2HUAPPHBCEFRY3LJH6DZZ05OI6WP8ZEPLALQFHCUZN8OCIDLUV2D50ZIZA1FG6KE7USCS41ETEVFY30QJJTJYF40C8M7ZYF4R68OBMZVMQFJ53VXKHG1EIB92B4RGNP3XEKU0YWKT5L8II2U9MQ7X3UYUVZ8Q5GXG3M8IO7NY94BD3Q468SJWMS9QTC3QJNGKZ131TV1ZJ0A39G498JLQM0WAJ9JF8EZJ4HSQYEI7GVSMY980G02FXWTELCBOVLGFVTR6E6NIELSIN6FZ8GMKWMWHJ6TKVHN2HDUKFIY8H02YXDK3C59ZIBJYNI9969SKSDYYTL2TC9R7GZNHKZXYSAB6CCOENBDFM3YUEK9RH0EIAGUD9CBOO0N2A. +36#LZ7BK67JTSD9BCCMKL3NIQE5R5P8S937V3QT2XHZOP1KHPMR73OAEOR955ALRLW0AC5JYNNKOK8JXZC6XNC0CVOSFRJBBQSA728VZBC6CQHRPVUGMVQBWETJHKC9A6M1U9S1PU072C6UVZW0YSDK4UN5GS8AS9LHIM8CPEH09C1T5W3H66PG3FAY9QTQUHE7JGGTGJITPWR2JA12ZJOSRXRJO9Y0UCFHSI745Z3PH7C3J1WP659PL62X69NREY8FJL84W400WPAN5PM3Y4L5H5F1T6NZRK3WOQFKBM1B69DQRD8FFNC7CEN0SZKBWVXI1VGR = -36#RLOGO44Y5MU5I2TTOOQC2HNQRT4WRG9JYOE1NC5BSK82RFWD6C1Y6O7DXMGYLVJHVCDRUIVY9JXH9AJANSTLYBP0KFI550L3CNA36VSBYZZFQN8V4TWI9VVHXPKD91W7KUER5EAC95DL82H7NRWWPGL4743Q36NYIK7GBTOGPVAFI26HYUWEW267XOLSIUEHV3XRNLA8TUK5TMAI231WQI7EMNS06XLAAKIAG3HRZNI9AOSSQHF0Q2GRH7BL1QSMMGFOJ07FRCX20GELXPH8LDPT70LZE7R9VW9E439XYU8JQZJOB6QYEP06SW1CRCR04THV3P7HN6HQ1S69T0OB9PCGKKMIYCLHYJFCBSQDE6Y3ONMQNZ7VFDNXWAERGK0RE76OFL46N1PHSENRLHR52KUFCL7SNNK4EG2N4ZG34IG34V39HSK7BX8TYONHQF1KU8M00GL572XLSC3K41RRS20VGD8WDE1S6CI51NCBC7069WEKQUNKHYBH4RW5JYMVDMDGAMVFVPHR3MYD4AAE9VDITT05ZYHAN8ELR90 div -36#197NP2I29ABGA0CAMEQ6DOEEDXESOSV94CDUL9NEZSW635OXPE9V4WPHKJAAL6HDMCUDP1LZEQVCZ2SXQ5Z1JWGVKOUOE73UAGUQUQ5XHEVOIV46BGMHR1OHD4LO8KMRGXAY9AKB00W5W9R66W3P4A371L7E7VFE15LP846WJOAYMZMOL6OH7VE4NQIEJ0UVQ92V4Z6TJP1I3Q3H6GDOBP7GC9C4YKCFRM70. +36#9TBCZ8OLUPUEWJ9DYWUKFMHF1PYP1FKYN1A7RWCOWDM1SW2SA = -36#YURRNYGHFQ52DXWUD9EUN6ZPFKU07RJBLCIATA3QY9RB95RR942BUQ5O356YEAZQKWEM9SO27O4EDK15R4DJC15ZKLPYY8CEAQUN1UVACG67555V4H7KQU321SCRYSVY8B9TMR6JNL4TYH2YNZ5J2UV58MCJVJ4XFMSDC44SPMYQLR8OIHC5CZSRSTVSK2UUA3SMK6QR1QC5399UBEZBRS3E2TTR6V87VRICLI1TFUBN65LIPTXIN7KN8MX777ZJ5SP1HB4AAMU3FHI8YM9YB860AU8YMZHTC6BNWZ9LXHG3WMXBXRJKSVM07280LGL2GHX4UTQHOJB7CUTPC0EGIOB0IESXNJ6R84MH80KYA0Y47DF1ISP34T8ZJDYEMG796H9221SCQNJIODTWQCGQFZ4F388BDDE2ROV74S22ASW0M166390OMF71K8EAMP4SNQQ6SK72YCKOJH1WUWLHMBWWBNO1VGZEVZKON8J9ASADL613GYYNMV85LH4F0SBCBT2X8UAWRHR7I5OCDU50DE1R24NZRR01IFUA div -36#3JUMYU1CC9MFKZJ4MAG3WM538M024TMIAGEH2C1POH9YTZXGEJA9Q7B9MWTHLW40DB0UTCABBJOKM8FBV014Y9U1QFJQ3PHJ38OKSOSWFCC2CMZ18K6QHRR7JVG5PRUG767F9XVNWG8EEV4897BKHNW4SDFWGINVOO8M6WNN9NE7UZVPBIX0SX3VLOU4U9EEIL2QOEGG4B2KTFHYQMWSTP13BEKRXULCUGQFVTLA7O575G6TC4JSQCAXH2Y1XFZC7SDNAT2P8BY2NJM2L28QB4YK8LJ55K1AEX5Y408EV1YVH3IV0HCLJST08U1UG46VPQ21ZAOYSFKB8ESJFOE8HT6DO55UFHKUI04S4BSZ8R9C9O6PLZHDSKKPZIIYQHI3W18Z5KD34M1X2EY3PE9LMDDMTC98ENZPA1YG7AS6ZNGNJFWIHMIMS6HU3EX2MC4QCF2WZPRWDQ3DXE13JT0QABXBX2NAB5S0M726EHZTKZ0PJ58P1ZB1. +-36#RBILPLNTYC25WJ9JYD3J1QNNWAHZX4H0KAXQIYMIGK6BURV8C = 36#6SIF6FF967SJVC96BAUBFKBZAIDYCKV2WZN85JKR7KKOKPORF8DLQ4A56BMAGJWDAHCZ1KE19V6FRPASLRUCDG74WQYF9VDMK8EY3VN608YLFQ1TCQJ53230JF3FMC6LYZXZVLB7OEAYS1GQKIRMK9TIKYYWGI9Z8HDXAI9LYKJ8D844O9BR8OUPIT0V41YQC752ZF0RI0DOF2VF3QAC3LHTFX489A022UKBDE9D9X66EK6WX2SZDK7I581NNR1EDGY3LNHC3EM74GN6WIBMANW440LZ0BPBBP4D5HAVTEIMQHHH7D2CFO9HTMRIFUIX72HVL4RE334VJ4CLBD37SULVFUYMYCAFZ5DQ4RMO div -36#8Y74O5VRN2WUEU3G148CTR0VG25Y7UG0VOZ73E78GASQZ5LIMVD8U6ICKZZOC9OZVNTYYC8PUZORGJKA74WRAZMIG40X8CJWYWKI7CPV94R8AY3V0WOQ5RAM8LJ1JIU3R07K5BOFDMNDPHQXNCIVO429QYSBO701RZN3ZVMBDQH0JNAF8ZIMGQLDQOFY5VWYV38A12V1QJ8D93ZHH7210CC8ME4W8ETUJ6WQTIMRC789H69GWSL0P8TJKCZ860PGYA0BU9XP0IQTGZAK353DTZUX08B6BLB3QLG6K5N77XZCF93ZUAWZV9K. +-36#KPFAPR3B3HPJ3VVYYRH4U9RZ6ETESOA4CTM9LOPDLVL9EZ8F8JFA8VRGU290PJ65FKBAYLLT7EOS9M6SPKCARVEW6ISG4OFVA667G2PRNAU4A3KARZUKZOJD1ZXRPMWHMO84EXYM8EJEPJUAS6E5SBLKFZGWOWDT14PZQYYE0GSRWP0O26X2W1CAKQDTYTSNDCGHAMHYDWLCGC2ADQFX5ZN9X00JPNN1UA0VFPKZ6AQZ5JT7OIMJCC7A2BKNHCLVI5YRJIJS4FJBOPRSIO3UDPB4HTT3ADCTJ5A7FORSFTDFIHCG40BLMU596FL9ZX3D2OX38ZI2D9K781HD98W2JFEFUXVH4BFRRKV5FTHBDXMIJMSIO6R1WQST67LMSNUXMLB968S9JKWTSH17AQBPQE5QVY14JRW6W8DRBDYN325U2POT3ME79ESA4BX1HTZ5SPIS7S715KW6HF9TPI93H6Q8CG425TAK7NG5XHTZM4JAK27VJKOTFKGZSCC1CFDRIE2XD37CESYDR9AOYVRKB75PUSOZ1DQRTA1OSIWRPOD5X0Z8Z08CNHWQ9JCYRC1JD7UCN12QGP23MTAY2TE4711VBJU27EYO540W4CCNDETEK4JKGUVIVCMF2D2Z2YT69O2BQ3QMGSQZ55LCJJCV4BEWVXBX0HDWL9RFL0C7HNCQ7C7OA9TLEUQYAL4IXJVD2AU7PYETSK8MOFRLOH025LG196Q1Y1D4S = -36#7K9J0AENJEBI7CNWY2QFLH7XAYPQWQSH5H6RNTVBY8PSQWB2P * 36#2QKA08DEUNVZ1J1TEXC99876T1QI3KQORBC4QHWT3GVX7OZYR3ZULIA34T5BDVSFIU63Q61BGMXJN800EW5PO1WUWDSNN07SWMZHRENW5AAHNB8V0QM97FP55O09SPNAX423NY76WEVWXQPJXRDXF60M088U6IOFRYZJ91PUF90LLBU3P5E6B0FE7CJ7V858F9CURFP0NIWXPFZXMNNO19PDC5MBBW1FPTCKHV92F3ENINTKCPVSVWE3RFS6NQZ08UOODYJG1SPKFCQQZBSIXOFGSA8T4K6YV5JOL52QCW122E779ASA65FI7J86XJ2B9FX39NOV8Q8QJFHKEN7Z3ZTA9OJQEHWR22RZBKLQVB9WZ51EE9MAV79BOLVTMGLUBHUF5CMS1IXXWIWO87PXUPIPE4KO1I9VLMNBF6PFP5YWTZ0W1FLFG5HK59FVL8KQ2YBYXCLVUL13363GYRGGWP4UGZ47XDY539WEDRCP43WEOBRFDBDAS95EZSP1PVFJXNQ9CC4WVK97FF906BYKO30V96OFBD9FV1YZUK9BY0SW4GMXJHSE2FW0XU4U606Q32VSVYV4O75OD4EZTZQF0MHEJ1ZO3L1Y9317Q8FV2JH2DHF8F6N2AXTGBH5PB82BC2QQHOWO2BJSNDCZOQQFSVLZ4W30PZ708YV8QPW6W6FAUEKU4. +-36#IXZE9VQPQ408P0RUSCJX70N04UO3DOFABRKYF3B1ECNYWZGBQNK8O38MP6ZWEAN6ANDN67DWE8PNZBMD34IDOMZT3EU6RN04VICO8E62KID9L02XUPIYXR2F7NTVZ21K2JZ6WZRFJRGBB0LJV14HO7NHMPMF8HRRGEYZPYI4XM9YCLPGDC0J0I0RR70SU5U8MUL0PBSFTJ56R2FUR396JYSR46TSMTUAOD2DOTRJUKDZRU49HE1V3UJTBVHJBC086O3YJGZS5VQO9J0LTFCAXOS5Y50BIHBGJUDUDL3XJ7XO4DQN3SRHVQ7D8S7AK7L0KCVF7P6T1W4AZD9BPP9WT26MZDZH6D8FVE9T60XS23WZQGNXOTCRY8V4D4F4U26YJA6ZOXBUSUYKH0DY5N2LGBR2L0G6RGCJJEBX3JDCXVUHU29VQR2LNB0FU2E6KZVAWB491L7XWVCJODWAM14JXKFW5TUKAZHAC8TLSC2FCVUVDF97J7GI97C4QJ1IN8LANIK2TU84OQR9YHMEA1RSBLT12JI6SP6V5ZTNJFHMQV3J74L7TBA6WDIX3JVMGCI57R35YZFYI3105EX8PIA0QP0QW77KG3M9QM61BL8FXF0C2YCJL0PQZ74DC3SDI2W6APPYRU29JOL9GMZVMKIC7NA01KN1MDIGMBD4VNJGMTNZ8SB19JVIKI1L9Z5R74A6G6TR95QU1N4OU86QSBAEQ9VVLSRQHAW44SVYFSDS6SGYL4IRSF3KVA9BZK50WFWDCI8QU5WZQWICKZ46S3LOEA7MK7WHZBJSSV64V468245XMQ37J11OEB3R6Z3A7WZEECJB8JE6VSB3364XZRNB7RRHWKCMOPGZFETO6ZC5PZP4JKP63EG0BS1TF0G1ZOZ6BR4M82LGU3M58WWT2CB4XWLBR2ZIGM1VQZLPWBEB7F0OUN3NDBSJBP5FTUVP72EALZIUX95JHEAFA8UFIU9UPDTJ67J49E5L55KPRCT5ATEKLDVDNDTL96KZVL3PX8KURRYQOMMC11K10LYGMOUZD5XKHZO87FHWPKWNL4JU536JF6WI0T0S71IZ9JUTCWSXSURZYFZ83BGA33JTOKJHQ7IN8H00OBYS6G2D09OWE3QHA752YOEV3DKYDO57JAZA99HZVA5YP83LLGGGZIM4AX6KPXZ44WB8GKSRHRIVAGZ2MU7TJ3PO9MOVDD62KDV004353ZHG5ZXUAI1WJZIGFRZJKAI33R96DVQ1TSWQFLT1CSJ3YA4ZBWOOTZMHN6ZVORFJOQL5N68FB51WHP0RVIGDSNKVKZTSLLDRJILEAYOSUZ4XBIMYSLXVSKDDI3SSLYPIE3U3PVFUPDS8SEQSADZSXMIO2PB2E555CE4H5LZEFF83LTX5RBXN6LJDUO9WUV6NQESIXP0LI1SKUVZ168ZES90Y2LZ1N4IKGO7LB3JYZOG8LZG4UNJK84E8T3RX827F913UUM0TBW9DF9MEAY1K1S3GJYC89WLT3LIP2PJRDNXI5WNVWKLZ4UBQMUHKEK7IY8GNZ3CGOS2MU7AXM2VEQZXWHFHYA60OGT79J7LVTG1UIGDKMENH27G = -36#67S6C3WLBSTD18O87E3DJNWFOKU7FM5PXPKVL1HXKN98QQRCF5E9JDYP5XF664EF0LB5V2EDDMI2KZWX55HIFDYG8MMGIV1G6E8K68XO0MSIMJSOCR0TIBDDVBQ4TX7S6U4B7TCHSCE3D6EXC0JV0MNLFP9RTVKN01U2P08P8TCKWY9AR5KW0J8J7XQJ5H1AG3N1K43S9C48S2KNCZ6BXEBJN1FION2HACW4HDAWFDVVZSBAD21ZHMX8J8K2TV2C43LXT72PS9QFFEPWBGN1P4GPY0OKVMBTPHZEIMSQAV5ZGGXBVVRBNOV742AY69MXXDPQTSEPPP8IJA7ZVMF7SGGWECX758HI6K1XPGK8UJCUAZNDLT2ACMR4M6JZI4V2DCV1TXRM4NAPCBIE5YT7PQ01YCV4EH0AXH4V7WK0UKD8219WPFX8RWN0KQZONRZBV37CPFO44HN3ORQNGLLQBR7O9OHO6BDFSPZ6ZMUHQGE0WGCN8DQYHH8A521CPV0K2240YO4ZKKYWS3JTA7193S1E0U8UT06FOAG3BZCN78FUOJU80B7L3NIT8FIYA1N255ZTECGIOZFVU30NOEWWEWR5ELSRGZSOTMU5OAVIS6TW2Q5S1NW8B6M9LRNX1LMRZAZEFGTAYN5JJHV58C9MXSNYA9404II5KGKIM6J0Q2E6551W6YBA0M311GLK0JV7M58F9SCY6EJBFA94DA5IM66IW5EWJ7AIUI2F2Q7G291FML1U5IN8WHP633S4RC1EUIL9YLPP5XOGFGRRNIQQ3EX3VEKAILKNCH7KWD3LR88754R28RL2MLBN9O07G79K873GF0D97IQ0H029733WPOWIGW67JZAUNLDYF04EG5CI3YNLUR41BEQD6TON4FSJ79STSEUZAK * 36#31PLBHEN3KGQVWUAGJQ8NZO8G9U84CSI0D019BR5F4FM0K5JC2RCCGAPJ0QL0NPRYDGVRCLX3438ZD5AXIVLKSSRISSIBGBP00TTMB77X48UIOAN32HVYVEGKRRK5C4MO4CU51ZT6NLE9WXWH32TKIM5Y7GRLTH8J15AFGMDNXD61JJYM0VBXTKTGC6DC616IE7E3DMD4UGHE5WOLW4GM9VRFL7EFDQE4CA6S1KW3EJIT6VKD12IKI77Q94TNL3QUMILUIDZWO6ORPIE8W6WC89RDVM7X55BD0GYU9LDO57JD4VZ8P3JGQGGN1OUZHW0LIZ2YBS5UFQ9RYH2QP6WG362H9WYGNV5OELP0XT64WQIR2POQHCKC2ACAOR8GRVC9LXZIFRCC5W27QK9AMVUCG7DR0AB7FFQWP2RPOPF7GUE94K00QB13AZ5BOKVMT4C74DEA36TRKZ08GXYV10K7CPNFOQ6T0DS8NIRF7G8JTTW6SAJ9ZJG8U5ROS80VRCTTXWVPNX6P1JU9PHOTG4K2X1JBUOVT5014Z26GX0ULNNZMS5J1LQU5YHK61LAK9ALUY1KBLC2U1R928R3XJE42R6XP8F1XWAIKMV81ZQJPKTSLMPC7IJMTK46J0HJM2V7HQNGEC0MHA6GVLOIWQW4568WDXGSJLTOTCQK4IFWMKGYADBD4H. +-36#22VF7TMRFPECEYUOOFBN5Y1643K6FSAY21ZBG2O3G8YZNIV73P = -36#5HNVJ4DWZF3ALC5T9BHSVWNN9GK5GMBIRUPD1Z305IUSZ15B6ZOS8L57XXQRDJ5KJD3SW0DPZ17EJUAIQNOP6V7KPKY6NY1POGY div 36#2N1F59QTTHZIZ0TSI742Q3O6NZTQXX503N3YP4TVJWMMSRSUSA. +-36#YIH2EJ2PUYDDFE3V0PZI0ZP41MW8CCHCFR054QRFM63OU5OU9W3TR9HG2PL8MPJHW9UI9SR15W3P9QOA7KN4BMWYU8SDNI2FSFO29EEDSRL91YRGZZSH0E75WYBILPEJPKLV0E9NBU2Y42ECJLTQ83TA8MZCFJ9O4R2PJBBK8QPAZJNTM7UVZA41ZP5G50OZHYXVSRV3L72E2IW902WPMQR6XXVKVVX0CIDLFYVKONL1P9DGUPUV1RC0F0JWLCGBY5XWT2JXEV96YJY6PJ3KH = 36#26RFBJXWRAI69WW3M7WWKK6QL4WRZEDMX35C19SGN7U8SA2XWZIT5JNKVBIJ2K736HRT1O1074CIL3XUIYB1TB7QXD3LFHAJ * (-36#FRWI5L514EK9UGIKS6KQGESB41COL29T314JMY1K949YIDGNBOOBZK9URFQB2QSY24EIVPZAG1W6OAEHCA6DJ5QWOHVNCO0ABG14DSAPZRCLC0J0H7U3N0T7QH1SYQJRQHZI72E7WOE1U7XOX6VM0JM216D4Q7NXUCN0BMKR4N02N0C62H1SCZ). +36#66STQS7NXFQTPPZ52PJZR6G8IDQNCY0PMTSR1VP2RPAMB46NO7DC9SI4MQIKHN530WYG0N4NP8J3U6D80O1YAI2VDBU8NU7VM12V3HRTVVZMT1IMIEZX23UODVZB650OS2CWNWOZR7XHLEQOQCD01RDNXOW5O7CAI83M2N8MTU62EXSFYHDILHWDUTKY4T7XYZ818NY2JUAKLPXIDMBSBA1SB10H = 36#XTFF8SCOZL35MNPVIF4G19GIRBZTJSUQST24HDR4LY5DVCDH99XAJDU0OJCJQUUVE2HN99RYW2OEZBEIGKFG4MWAS69OQ6LJ1WQ22PVCM0U7BW23NO1JHGPMNX1GQZWTIV69P649J90PJASA2L4S588V9DJ34G19F8TV0Y94FUYE448V2CVOADNDN9HL4EHFQ907G0MM060Y7ECFXBCBWKJ9JZO5BGQ3K9DQXLL94I5L7KDXYBM42UBV54X8RNYE1K15ULGDV60VGTJF4SBTVI51RH68E4AAFCR2RY5IDOKPVSZNFF4RTTE73D2TEUM2COXQ7JNN5LFLH9KODG0KFIRJ16HOI7ZQNPZM3M0EW596HZEW4JJUHWMSNGTCZUKSBE2X4CUM4VXISA18POCWAEJOIC3RWNEARSAVQWANNLI4BQZUGKT6BRMYV0WMZAGENOT1MYQEVRZO88VI98K5MY15ROIZYR9KZ41E0YW741FXEWUN57DPKWIJ46Q12E4J7O27Z9FQG06L3T80YRWWPTWXFY904NNJ5GOM6TCMNLJ44IOSPS8M7LPKM9B0AL30U5S0M7NBM16BTKB4W59QXCOJDS6LKC93WC0SX4FYSE153AM8VZR0QSDUI1C3UVQLTL3ASMJ6B9BYRGT7SDLFBZFRZUTUVNZFI6XF635N6DFTPWU5EJY79PXUEATBGC3LU2XE10XVEGNTO739XSX5PJ9J43SZO2FJQTYJQQ1IZS2D4UVF6110390OWHWBNZ6LWH0FRWPXFAKVGJFZHHUTQHOVDNMYCT424H3XQBG38X4WBTON443OWRIHTKFWC15RB44IE9MOM28V6QYF2PTE1MZSPCT2VU3R6H27QUJRX9ZSKP8QSJGG9077CL433Q9XIT8V54Y5T3AZ2JKY5BEKLA2NDJ267C6NN97D870DAU04JFQTSIFF8SEG0INVFH9F1J7SXP1WNRVYMLAJS7GC4ARHDPY3AN8J91Y89NKX7LBWTQ1DMDU80OJIIK7MBMP78E0DGIJH04PMH3EAVFUNVSHA3N0VG6S07HNGIT8RTYDM5A4Z3LVGOUJ42ZCH9N59WJJDATZ7OYHTFUZRSYNV87OQWBDVRCYVSC30W3OXXZI46URMJBELH7R4VIZTV81B15U7LCWI35QQDB29YJTY3RL2L89XNT5EVB0S0G8WIZ6P2VRR7IUWJW3CYMD9XR4J3CUBIXTUB0ELW240819ZB51JUTS7DA9FD0T3AIRQBXY3XK1L39D4570580465OZCUBCSIQ0XX9FJNLF97ZZPGCOVVTWT5LNSN6OCGEWKBY0ZD3LXXEVXTKA118R4R3RICQ0NMKLTG5O8VIDD1XX1F1ONTCIHVHLP5YHWAWICLTIDCGF1QOME53 div 36#5GPLUXW8OHHZ066MFZOOZVIV26P25E50E5STA13D8RJTIWEV3UNNZDAW5859PN5EN9IH53D314FZ8WEESD8B4BQ95U2SLSPPG87IQNY959XTBG31K5ZKVQLGYBZ8MFJ87755K00H9KKHC1U7G2UTVE3YCXW1D8T2EYKFDKTEL384V1FZ4TAJ69G45JHUX1L29QZFI25DEPN2EGZGNEDH3ICYR9JTLJ49UFTOKSAATJ72AX694JVGOL87MHVUX5QCEBPCG49XU8B7Y3PYD11XM0X5AQCD447SRU92893TGEPNU3RRK1KOYM351N8ZKOVXTYJ4DA9SRZ9TILYFKTM2VPGWFRXK87WPJ2WNBAP6A7BBPZ9ZWTUPU468A5F0R7OUIVHDIE43GXNGIRH9E6T57UH8T81G183TLRDYP4K8P0EWENXML7RR8IIZS4DEXKDL2AALXUJPFAZY097YSH0217J2XK3YLC0VQEHO13W399LHTMW0WA3HC4760QFX75E9VSL6OSP025AH2U099W41F6AAD03UK07PV7W6JO0PH0AXIJY1HI8BTSXB3K58NSRZ7WXNLCN3KUC249CYYGBVGMWZSMFU8688665O9QV7Q7EIBQ6O9IN82L34MIACSYGKBW7NWF0O4P2LGGO2EK30MP7IVUVJ7B00G7WC6BR1SSNDTR59KVD3UL8UM9XRVCUNA6F5NZH032IWU671YLQ0G2FEFYPSJUC10MEV8WOEE8TPKJN6OBE4SOXPEGUU3Q7FZ8VRCRIKAWDSJ7QHR3M5R51KKEYK2C1F3R8BDDX0P933TQFT549MQ15MFTG73ZYZ95TSWYLBC19VDN7WLA6JUKCIV5P5S8MB9V4PVOXL5N8J42B7Z4ICF6ID0VVAYIHI9PBE3SX9J5UIVK1ZO1RNV0NKRQ6ZM66PJXDXBZUV11TSCDSG6FFSN7EFR098LMH1M1QXDITWA0WAZTAR40ETAG0JYKIQSMBFZ6JEKX12LHW3NF9TU97BFFK9VA89I382J6Z9RDFAPKO70NUQ1FLKEXL5C5AI3PIICQJRP0ZIFAE6M0780USD8F1MCONKHDOLF30WVHVEUBK9SNW5YD7YSP2PD0A0M02M818BPGVG8Y8XMQSKN3F1SXX5RSQLEMGVSRFP9XGWDNB7E7C8UOGZFEB222F. +36#1K3THUJ1TJAR0DN11M0HF2RZ6RZMAHA4R0RINA9Y7RDSK7DO4OOED4DI0PUTAM1BZSE3WCQWBYZFTPNG31KHHBPW84HWF3PA9H3B8Y0QWHJO8 = 36#P7FHYJOAKEB05EXNBDYXNTAETKTZ5ZYPU4CAZ5CM7DB49R0DTN3C0BAZ3YR2BAIPFNHII79M247UZ592VA3N1I2OIMVASQ8FGUWKNYXAUM3YANBTQ5X2731KVX1V81KYWCAFX68E0UO2Z2ZMX9ZII46M26VDGCZWWTRS0194 div 36#G68TOMCXFR659OJI052I3NKVYLYDAI0ZARA4SJNMZHR8UYKJMRMRXK9HWTV5. +36#6PUONQA7FCPGEQNLIAKKAKYIM61O4XQ2IXPA8NTEYUGT9PHFBMVLYH3CCTI265V3XU2M4C42I7RQ8QJLPEX399CJWAYVH4LSFBARG2I1S26TGS1SRLMVPOV5991XSN5OWNYC2B5Z3OILWH1N435WB0OO8FGX09Z3DO2XE57UWXO7CX9NNWK33S08BFQKMB6T891BSDMQ6MZJQ6834OTXHQ41UY86LD30B0YXWJUX30QL3X5R7KA1AAAVD3QAT5Z448RZZGMYCTZWV8S6I666EAOAFE1Z1UUVK7NGX6M4NKN9AWQ6FI0A4ZZ85RFK1D4OA7PMQEXH77N0371J8RZBA121OSU3122TBR9WVV6WU7Y8RL31QIKZU7MVU18MYNL4SMHR3VQDMUF03HQQ3XGA8S2VJ01U0CPMGTQ5V6QWXJMK56BYUWVEKGS20W5B2YWFM4A3KMHCURC7DLZD57LBP54VBYRZ32A2NL9K908TNKOMLIWO9GJWMC57UC5AGJ6TZAD7GYVNDG5SIXNWMGB6L6RNYKH9FATBY6TN3DEZZL69LN39DWYFX00T8996JWAFGWFOEBU8UE7ZUIME2FJSLHNWD3R3AFD59IKJ6BZ3WLPYIVOTZTPSPAYQJQJ7HT6O0H3MCB78RFSFRW0QPH1KW1M7XBN6LRW3ZE5Y8K7B11XEDJXV2RHF2TLSBJWF3Z5TQ65G07U44JN7WFRDTJ9KKYRFX2A2OHAA5MJNKRXGE6QXH7LC30CSJ7HE80MRYLP6LPXXZ28T8SZEV3YH7ECYK3GHUY2ZVKT5I2ADYC4J7IICO4OATWYYSH8GUOA1R9KR2LZFIP3208HWHHA1VVFJ82KW4HCCWRA0SL9TKYD5NVBJ1P7N9UKFHJIP93OE8UEPG91LSQ6E07592RB7PON1EA8COCXPGEOEJ23XIK8ZLGAIVLWZGFVEQ4ARRQ96N56WOMOO7DY498L9ZDTYSS7DILPNR0YZGMYWYLTYKECU4PIMFTCZ6JBTA74A9CLE = -36#2K2VGUHRZIPETI6H2ORX4LKUOIOFWJ4A14TQZC0PEMNE13F2NRYB90TGFUVPGJKR76RJNHJGFDS2QQ9HJYYIM62OQNW5BOWF7N94AQ1Z0HL438DKIR90DQPBASDEDZN713RV7OII3Q1VILZEZTOHPN5ITLZ8KR1XDPYIRDYUBDUGAO3CADATKBJXBVGRW2OKVX5LIBG94JL6MWXXPAUTHR9CDZ2ENROEHESVDSQPWYJJSAPI6DU9D822FIP45U8PJLATR1TPOOKDJ7KD0S1Y3JXRPW08PU2DYILC4KVPQ2B3ZWDGWGBLZA4K6XTGTL4DT7M2G0QTCEVROLS3RVKI5URPN1AF9ODXWO0Y39BBYEX3YLOSY0DB36G67NLQAL7NGM928DKNGU6USLRQ7Z1LMM9U3AVN2TSJZMIP5QN8LQ0ODH9C7C2A5JVRM96D1X7JTIZT5ZOWQXUJZT7LEWBSC5BIWQCKN41FAVBV2KVXUGV0CTAN266PK338J4PEBXYVA86KJNCPXY9NY4SU3FON0H1GFOY336J6TTM3E7DRB2URB7BM1RX4JLPO35HTTDFZ1IKDG8V172BF76XZMKSVMWEHH37DDDWKR5XEI40KUE98NAFVEIR3ZSYZJ5748OD8VXA69HQGBMEY73QGDRVDYIHSL1GO0S9V6KV7HQ0P8670Z8IEGNIGTNIAVHIJ0SRC36P3Q18M6L14AD1UTG3MHDS75LCC5M04F2XVG0JSJC7NGUJRBDU66GGTL9V2H7O1E1PSQOH3GT4CAIONYS2XOE66OSU8K6C9GWZPQ4KGN1TK412LCYHF0B3PWXH29JSHOH3LWNMGHQVF6QW7RVQ8S1KK9PQ946MZZM5BMIWC1WSEC0GYLKREPGBPQHGJXV9MBDS07U2U5W5J0QMWG9KAQ8RAYKEDCNPOHIMW1EDB25H8QS1WALP3K8Q79A7EVZ1FNT128HBT0UG6OKJ1CUFFSIFFILE9OFVPUN35BYJM52CJRXKVOAEX883N13MLR4EJB59WFMNLZPB4H9GXL8GW3AEQ74DFR160EG2MI7HRSI7OB5XAYX4A80CPV509QA9CTFV6NEEF4UYYG6N89GV3WH32O2AG div -36#DPF7XZA5JD5VQO72QV33CPTQZRUBHBMGQ4LZBCNX3QE2AXEFFULCRFCD0SZEE99CSPORN4W78I9TWS4SZ0SCH84IQYBON6BW. +-36#42E116UOGF5MHGI8OJW2HR933J785NBD3OVYALL90YOO0ZXD71PKYF9TPSHRKBY5WP7H5H75MY2X0ZA50PZG7AI9P92STC44HRCA14AVH1Z981AAG6WMQXN26J8EU8MSZMKHDJF9AT5J3VLTF61441NCVJCMTOGWOEH0SQSWEGTCYB5C0UUQTZ54DU9U7ZI5EJ2ZP5G8GN55D7W9QSMLZLSWYIMJO2DT2C940ZAHVOD52Q4ZZXF56CJWMXMWY4K2P3RHN9Q1VFSTNSA6N14FRK9O8YSPQMY3HZNFOHVGO46JWPQQDN71C77B9WP35P70940SPFG9CWLP8O0CJHPS10ZMPINRWGY23RZOMKRBY6PPM1NMTDIKBCMTK5BBMHKYTIJ57KMFQK8L64W5MHKFFD8MS8NA71LSFXA9P057HDD559ICK34MO4ZPURK4GY0PRMEL584YRICZF63APY890I5T04E721TG9MV4NV4LJLS9FFIQNFWQH3NTIS60VJ25X9JO9HWKJ2XEYZ2YR9NXUBQQSJP5OTP112NA71RJ8M48O9F0UUME8IBKU150EEUQVYTCQG30GLMLQV7A5Q7QXKY6N9AMSQDQJGDKNS35U32IT6Q3E5IOW6F0Z0HW36PTV307W8LT209J3EKNUF0 = -36#24Y0D97IOKTU2UB1B59XAOSPZ07EV6MDIO17UCLR0VKTX70KJE * 36#1WHOGIMZDMYEUQZ6UT9QRV3DDK1B9HIX7SY7VR0KAH109ZJUEIX42H22PLEEB3HIL9C8DVWUDTWI9DFSBAQMHNFCQIWS3ELH9MN1DLT3WKSTXSMUNVMZPP6O1V7CIZTF9SA4KODSHMAOY17M0VOVB0YGGKLN6QWN4N542GDT7WFMLMI024WIDA4RGHZ9IZMYOAIL24VXJ0G3ZJWHS6VBHPPAUTXU981BQHD3YGDLCPQ857Z3F64865EZWON6GBWIQEUTWJ70QD8U9IA2C04OQO8W3Z37MXV06HLGMQZXVQ4QLMJ9NK6OM18V4NIWTTOFZ1JEV620HALDJSSZOMX4PRBJXW3IEZSMV96N8FZAX00VHTTATS045VNM569CUX9DC7NSDWOW4C990WVTQUJCSH19RML81Y8WD45PJ7XDM570VXYM5QLLUIVWMFN4D515MXXX9XEE1USIPNA2SIDUV3BYSYQ3UKHEL0S5MFYSC6KG9OBUC0QT74Q5TME7B6D67QD3A8B3IU7IJVU2FSPO8UU959SB29OKVWOOCR0S7YNXNKBBE7Y1EIZ0GR7FGRRIHS62HBONU0TRI8AQL5DJAVZRA6BSHFQQPI. +36#DGZG8RKFUAY3DJZMUJO4K5HTBR21GMF4ADRJNQ1SIYZJ9ZMU0J82QUY28R21X6CGM3KBMIRTTSDQTR58OKWVF0X19Z8QV3ZDPS0UTRBZCF3YF4J6297CA33EREA814D5B2TTIUVAWSPUKABV0B9WXYU1AN8Z0O0J34W3KKUL6SZQRFFFRO4HBATVO8D9T8B7CHUWX7G5DLXM6WOUN5XHW91C4C85LL98WHFMIYD8VRSE3VK60020NLNXT68V8BUP03IOSYJVKOKFNNOF4SBNN899O240UBSMV1SLJG35C9LLL2X = 36#4U0PSLA3YGVF4I2J1QGIQ05UW68IPJYMVBWALZIZJOGV0YBMNWUBO6T5L0J5POUMZWME995JUX6DHV2Q41BNUI2KCIMUKB03GAUM5YCL731PHOSJQKK7RJIP1ZO3UOIR0RLC3DHRFFMPU22TPMKQ7RZRYOSM7Y3CEJO1I9VL8WD174WBIEQ4BKMY8H02UDPBJC4N9GZN53NNM038JVXDDCN4GJBBE8LGD71I1ZFIV3AYAJJ2L9ZQPGZHWDLQZF * 36#2SBVXOSKKTBFLRG3AR9S73HN6SYUKJ3L988X8A4IFIYQDEL7ZV. +-36#4O8CRO400OICK71JH7Q5TRNJA85D678Y7PXVX0YKUO5OMW6DPBG5GSGLMVNIVDQF69GE69WE03H8V0UCHQ1PW3PTHUFD8C2ZWLIJM6RZDCT5NOIFMC29BD9XJMBGW44HAHFNLHW0Q4H6N8BMX33H6I865H4JUZI4X7FNT5VFQXUS1KN9U4E8VC24II9TMBB01P7N8Z42L3ANDD8R4XY0SQEU136SISR = -36#3PS5KOQUL4IL1GP21APAXU7FB1GQTP7JW2W6E57H5Y4CY8J17103JNIJM6EC5QR7T5WRG25FCSQ676ETVD0JFKMFP8XQFCPAYYOVTU8KGFLCRXP1JZ34YI2Y4HZLUNCAZDVMDPZ3J3UFDQ66SUPGHVGUJJLCU6SE3OZH50KLIID781GQEY161IP3EXSPUOG22X2NEAII5XGVOUN2A9YYLQGII2KB9F1O7Q05HOPDHTIZC0XP2WNMHPQCIMMHYP79NKS79490B3VX3XSR div 36#SMLXWY6IN01ZVJMRSF52JYQDKFPGJ9LKNMSZ3MMHU6JTSKBO1. +36#XXZI69SSYCFXE0CCL6GRF4U2Y91EKMB2LNVM8GHOM25UO0S6N = 36#3B4CVTNA87AJQY1M7PMRL9J74HQM4CRY53U0MQSZ89HUIK9GN59PYTG49R0NMHGZWGZLOA74LYMJLT16LQM63ZQJT62FMRI3TLU7QVCWJQ5K44MWU9J4991B1GE17FQP9J6EBU4K1SJY6EUNVLZ4TJY3HOPGIXFXZSI12ED3QFON93K1CEASKICQ43K8WHKFDHB72WJXFKF639JMNS5ZKPNENIW0GTVFS8SP3BCJGXDUHZV2J7PUF6FYS8T8TPHSVLRGVBR791WTW1T9YFB8LGM7H8HUJKPX64H9EMMSDZL8BEJ8U5JGM3ZMZ4TU2Q62A50YPHTEO6563BWXCNVASNF9EEUG7IQU7EGOHZAZK99ELO9IAT3X6SY80R1U4BK5YL26OSUTRLN60BAUAX72KTA7MZ2GD49OVS6GOXYA1B23WUSTJN3Y4QHV2KASDB5GLLK677A6VPC7P3I2ZVYI81RV5T60HKNOL2RG2UO3S5JPGM2IDQ2PS47FPDLVB div 36#3IC3HJR8AAQUO2RA87QT1G64WWBEWHGXHAI4P2ZOSFILT9EE5L438KBFDX06ZYY8CE6FCIIEW1AQYN93TZU4YOSWHPOS8JJQXW1SKEO8JLV1RD5FNTZ1MY7EJBDWVKC1UC91FTN7M5WFRIWVK3GVB451FP8ZE3C8CMIR7DPFSLIXBNQUDWV142INTLTRMXO8WRQWQ3XEDMO5TLUR9ZEHH53FKYHLPO7FTP0HLW0LPDBDEWXTNLEU9D8Z6ZXOOCIQKTQ9XRQPZTWECI2DWH918S59NKCKY4SYB0ZY474IDF5LP0FCU9LOMQMGOMG8T778BX79A8NM6HCTIQO039FUJ7EHTEH3XBHNPQF0K2DR26YO7J31XVH0D2DG7N0LP5IIHZQAAF8GP2WORK9M6QFSAQ9DP2CCFN1L9U7OZHNM50ZOEK27ZHW6D79SOT3UOC0G91P45ZCT8J7D. +36#527SB5CDFNVPX70L2U8XG7GYNHOYL7KUSEPH6JT8EJFP7GMVSV0VJU5Q8IBYWI3KGVW3YSQD4EU3KSKPCCZO3AHFKL8V2K40BV9VFDASKDJ2RHDSLUPM09M58GQLFAFZ5VR0XQW637W08LRWZRWDRST2H74ANO9R683HH6PLWK25UQA94ZD999S8VOD659KUZ09XIH0LMZR78AIOQ1LMI2MO9BCGTQ9I20R82Q4670R33DJSWZB34BO2LD4MLCORWCGSSM5GBWTZ91I2XG2TMYR4EHRUC6G3OD0XD36AXA0YEUI7F0632CXHVVGDKNKLXVLIQM1Q7QIX8G8B8VSUG7A8RKV9UB8N8T9BF0AWLBL8ZMV15URN8F9B488HB8L6EJPRDH04O6OX7M33UTITJ38PVD5VFA5V1NWD4K4WTTEQQ3HCKABFHMZDO2IH2O5CTH0ZZAW8EE7CQQ9WWMD0PQNIRHYP6BGE6OWABAUM0193XHNHGKZ6Z4N8W38842542GG6HX5744DRFPX9QLG52NM8MMUGHMC8O0Z41RRFVC4SW04BCPXLI8W3T6BFOLXXFSSZ1GQM4NOQ2Z0ZF64WEYNWAMJD5TJYZPXAD96SDZVAK6UY2XEF21YR3S3IM8EN9EUB78DJ44WAZ4MQ51YEFK48DTQRKT978YHQ5DKSVZAGNUE5DI81O8DZVH5M3PV26X9NSAMBAHT4VKAXNRSG6MUY9L7E1THN96DGYTFC7P09GQZYH2FPOW50BEV3S64H3FN9K18THRAPP7KY9S3LDBQHUK429SOKF2XSSFLHPON5TSORDJZV80PE92BQN7T5JK0ESTUJH344AOC0SSLGKCQ2UGXJ6U5UPRH8Z2XB0JCO76N9KXCZVZATCU9ICE0VHSWX2RKO0TQBGQS21B6IEU8APDTI1M44DZYOTUR3NYS6ZQYPV3DG1P6LCNF8HSMIXNUZYMBBG2UO7H6AVANEQU1PJNFGJAF0RJFRP0LQWJQA8CR11A2Z = 36#C9O33F7K0PFOBXANINK57ST5RRJKJT6L7AHHKL7FNIR4NFWY6G4MY2W929D02Z0FFUL9OVWPILO7NKWW0CV0OPMXDLVZJLGL2AADBGIW2T6I3R6FJLR7QOTWMSJR3Q0HGTODU1PZPEG4HOYRGSAAN0GK5PHLQOZO1N4JU10E5KTNMBKRS142T7NL2T5MG8FVBM9B800RTGRO25KXZZ87KW2X452ATWQ8ARTV4KKJTLG6XCDS3ZO0YSLOSLMIR6V5VA1K94YJ7G9X0XCG089JG8GZ6FH3O8J85SGOIDTMF3WYAKKCVSNFM1YPL6QKMMRFQYJEJ2NSVMSBXXH7DU7W7MD30B75YLINSV58TV5F2VV2LPWCFRL8C8OHM5K5D9PRCCOI0Y45VF35ZWWQ98WPZ1UK31AP8BYT0MLOS4XAZD1A35MC1BVA71CLWX124WROMHNWPEJR3MACFQATI74BSW3D8N5OVIKOKHA4LC6FRLY1PNMRFWCTE4KDMQ1RNNT5C1NNPE0BPWOP9VAAPCKS25IVU92OVIW3IYW4PTSZ59CM71UQCB89GSN62SEHWL9ES0NBYV7OL230Z4DO2MEQTUE0TF02BU6SLZEK5GWOHTF1G8VLY059RK39UM6RJY3ADT2Q2Q0FDGIRP1SMJ53BON9BI0PHGE9PZNW7REYYR0VTTC0IRUFPI6NCY7BSQ2WPW080K5HJF2Q1YGRA3X8FEVRANV9W6SXPSQXE2MJEAX217D7U8KBZJ1EPW5I5G60V7ZS8MH3HB2DFEA21I41KE7N8HE2GU0YHCVSXJ037WZFN8UKD8BUE61SYFHMDNLGZ2G0ESXUPIOUH7AVDS3ERDTIP5SBVEOMWIAVEM08MOYB2Y0GBALSYJEQMRS4128HFXAWT1NCQVES0EAU95B1M6KNRETQVPG643NPP0KCA0B7KDM0OABIM1PH3MRY1LZZYMD7QJ5OD7RI56BGGH4H6VEGX5X8414SF05YC4NNS6246C921UD6C5L41QSMPAE1FN4L864XG91MXTVQZ7GHAS7ZQ1SIN8IF1W5SHO div 36#2F9C72OFK2KZ203VO86E6JC1JMDR9GY9B2UGZHDAODDZH2H2IC. +36#1ZG4EFQ8X13BTJISVGHD2DBED8DNOC7ZBVXSLA3ZAXE1LZB30P2C9ZZMDUT43P6NAR6SX5QVD4N4NDQFA0KNMFAUD9Z7SI75WAVVJKNJND30Y2KVIWKJOHPC94GJG6PPUYMYRN2RRO92O5AQWFE5ZJ7HTXQN12DXZFILM2OVDY5AQKCWQ3RDHZ9DUR6Z8J9BIPR8RZD87CPTT3WNE5A9DGH9CEQUBD38FQJBU17VX0SGP46AKHXEHD2ECZGN927PNB92N3ICHE8E3HDYAUJNEVUJPNSBA9V4TMV5E3XY4Z1CN1I9F3R7Q2IC10JXJ795W6KMENEHD2MUNF76H8GHJ9UUZ652VBA23IFVVX04QP6244PMRF3XNF6BEMVSONVBJVR0CYAG4Y67ZUJTROXDYP3NT7NIPSAWZUUYOL3CC3IOO0Z75JBCV880TB2VLC5SRW3ADAJ22MM12I4S54RSGDQTSURFLNJY52SVH8NF16YQVDVXRQ0EIN8L9QGH2TQOJ6NJP6VLARHIAVQG0GV04MMABJWAXPWLE55GK28SY22ATJURFLNGUCS3FUI8D42NLIKTF3QMAAJK3P34YJJ2XEEF751Z7K7QRNU523IQZ3SANU3SFMX47BISP2TG3KALVBYJXMD6OCFN8YO3L0UGIET5ASUU0ZU73Y6HYMYG7U7KQYL7RZMI73FWSN7DWKITLKL5R02CV1O3FNBW4E0L1SRWAOV8AGDBLWPWEJZLXGZ4T9RB9HQJL66EFUQDU2WYBAZ9R1N641AWAY29380JDTB2KSOWIASD5R0PU4GTU8NHHACMG43 = 36#53AXVWNJHOLIIE094VC9PZ8461F3LLM3HJUWYJO2Z2N57LCT7P66GJ6AA1SL1VMK0KR61TAAZAOQN175BBGLW4JRTSMWVUWLEA2D7EP9YKE2Z7C6YJP0VJM7U5VAGIG25TXCT451ZNQA3SSIIHR1T67EQ0FNQJRB31B7JD18ZPFNTRE0ZMMKWXI32RRGN12QR7USTVTDKV7BQ6KMEZIKCQZ908C7GRZSEKT6BGP9CKN8O602BOZWQVJ11AXXWZOBM8XGLDAIMOW0OVCEEYCCTZL1PUZR4OEBNW3NYVS0FIPBTKKQYMGUKTN2XMA4UTNEPRKC4G571T9OH5R8XX5EQ02YS7UOBPGRVZQJJJW4F33EOTTXFP9LXRD47VMA36SRQC62MC3PLBRTV22VWWXR1BVH3XFDY1XEB5PJ3NT8S7LTJSLOSUW6WKAR3UYYRIZ8PJSXVHJX861RUPCGVZ3ETTQO9N83BF0PWDSUMNH8WUI0KCRBALY0YSQTZIA8H3NI1Q4M3JKW9I259XSYY98A88VWAGTNZ9ZHON5S4GLSXTURV0CHIN8SRP5NU0XI8OLGF40Z3CGXAIS2N9CDO4362NU6XXGWF3O8YAJYM4JH5KLBROKCBOWMD5TBGP5OM3TXLVSY3BNXNSOU40Y5A95DGW6SGQKIZDLDBQO4VQFGG0UULSDP5RIX024OMADBF1WAMAJ2NL33TOCKRJ2NQI479BGJUC8LAE852TU3KJD06J54NTCOGIP54US1DLNWFVQ1VB2UBMVT6SC0QGFRZY94RSNSQWGGVWMA4K3WNRSIJGN5CGUOOLCI8DNCYUXVM80S1RK40HX7ATGWAFFNU9AWX3UUHPWI1KF42ACU div 36#2KCYWEOW5D6BVKKCZHTJAZDM0239XA42JWCTKYGASMLM6VQKUY. +-36#2TFY71I1LDUHKS8FS96LVW24JZ81TSBT3NCMIYO1YR4S8FWKA36NF8KLKK77582DEZ44TQ9O5G5IA166PBEI1AXXBYYLD6YP8SFSE8VEE8CPDKS6WNVGKPSLMV61MZYRLLRMVNC4F5SAD9HUZAUS0VF48Q6I4G65R6O1XMSQEJX23K19NIAXRO63ZPWE86XHTF72L777UHGY0Y55LXM4FJMH1AHMFBS4SH9WT1YUEDVYQDNI = 36#2BP1QL6FUR3GANMT2E6H48E7WA989YXAFRFP7PFXGBV4WYU6BA * (-36#17MT61GCHSTY8LWUZVUYG2H29L3WI50TR7PO9JVX627BYKE3J6SM0QP4FAHOZUUURBCNRMEX5QCZ7RRMLCX2MW57C65N0WZWJ7BU2M5YNLBRXL3W84CVPMNU0BIJHINRWU1V0O0D5A9DAZRFQV4CXIC4WUHWXF8BRIMFPDRONM20QNHG5BGJIEI0DNDI8L9). +36#NE31Y773RH9BRPR5SBLR1N2V13W54E77S808AMX2UQESMF0FN = 36#10NICZRIKMO9MVAVHJQ3XUMG60ZKJD1WWRJQ3L5C5395JNN33U3U10NZSYU7F42YO0X9RE0PQ1NEK79UC65ZL4975DK5J2D499QXWMBUUTLPZKQR7Z3WH4TPYL5RDK3AQ5M5VOR874OBWPU8C21LPTNV3GOQSJVPTCAPDB13N04AHJADM8PV94PGFX99VMYXDJJTD0HJNGI2FOZPLX0T div 36#1KERWN2U6927XCNT32S3TBHCW7YH0F37D4T21TVKXBXNP35TQX2M9RK79AVP1FVD92W7MYYJSGR3LQIV987G3E5LTP45YYNLIMYJS3RW41SMSD8PHFTFIIRNYRZW5UABXKE6WY5AMY4T3XCTBWDUCVI7N49ZLJOUV4V. +36#YUWJ96IPRQTFXRT11O7QXJF1ZML2JTCQ0ZUB59ZWDWV9FCC7GCTEWIJMTWTOCJM9QKO6M730EW = 36#2G36YR6RGTYCQFMWYO50B38228EOVLTE9JI0H5VBM1LVRVFGZFGG33FPWS4Z7NLGN8EZ01RL20CRMPKZKFAV8PSX59DKQCIGAMMMFX91OFC4QDP3CXLJRYIIZ27K div 36#2IZ1MUP5XJSGT6YDBCHL6D1LZ0ELOJQOUK8ZJUI3711QME82HM. +36#DG8FJU231C6UKMTQ1H1ES2KAHI4YZ2ZV4PTOEW50H36ODZY6KU7J5DTMP5OF8DQ0V17HAE8N6DOIK8QZQMKX6HCVAR6E2YJ5TDTRPX58X5AUI3XKNBCAO3BPA7BZ0OLL4YJ3XSODKD2UBTHLIG53PYJG5NSA6XSUTU5V5B5LZQC0955N0K455UT28M04ISCJZC6TX1BK0ILYCLXX57WAEXC732X82FBWSA1JFD8B8UU2F01G4QSFEDFHZ3HKMJMBLK4UQ8Q9K95MML1MY2SWOTNBM3F04HJZ3PJOU3OSW9KR6HOT4CRLN5QCYWNE0MYHM7SE8USJTJVDTUTCB8A2OZYYRVSO13XWATE1PZA3EFXCNA5VGCTLUNTFGJ60H2VFWJGE8BZLQWII6CU5RCRRSGCF3PGW0KO6MYJDW63KJRQ7FGVZRH97S9QLIJCLOCGNVIMSY2CW420CVQ6E5EKYKGVX7Y5U30VRO6UFU7V0I82SOJBLZMRE9GJR8Z83UL297FBN9R2QT26Q5KIASHTTF52P5L2FMT7EM65MXQBO76Q54PWC5RBLN6YFA2QOABI3NYFVEJG4QG8MDM8N5XFFJ4T0IJB93ZJNP51YEOV9WE96L6U2DN2TTRYBWMGXJ = 36#4RDHVT7DG74AF7BV09MKFS6H9ADSTSQ9MXILCF3V3GDIYCTL5T62NYKUA1PQ22URXWDXDRZL9BO6GLZ76RK2M3R8IWGM1CS4BDN8XRHQGOHPZMZA5L9NOUDISHOUWLO173J10S00ZINELXVQN62Q7R7V1NZ8EF0U3NTW837UBRVLTAMR0EZXA40QGKQLFI77BM4XSXLJQJIUTN3VYKWQD6Q2YUZZ5BBZWJHDYSZ0O1LQ8GQ4P22OEZZ06WMWG11SLQ4DK8V347R3JTQMKU0YNGBR9NZBKTW8XJDFW83AL0VXXR86VNA9H0ZUBG4X7F07OB * 36#2TPYG9HDS7X6E9MUO3M0NPGGTXT2HBL8P10YVFTXDYBFEJL3JWDTX8R3N7F37E4BH1ZP7AZJO39IT04JIRJL51O6TZ5MRHYBXUNY62XI57ZB2EP79TMO6FYFMV4GG1B85O0KFBU8TRZH04SZEOQBNG3UGDQLQXLN2TTKO26LQHKJCU94MVWA08TK07W6Z4UET1DMEFNV3RGZ8N5XKCF800B8KG2IRENOJOED8T95ZMHCCFHVXQUPFFAOZG1XUD5WSKFWJHERFOWZLFAGE7A4X9J8T1HEW4EZROWA9LXYGDG204MY83OAIDKGVIS5. +36#XL2MM73QPSYBIEUPCDRIMM3XTJZITJ5DUUXWA6ARZ61XV9RGV = -36#UYYD9447RXB7JBLLMQEP7PC90O5FBPSHZHG2G95G504KMCEP365EE2LRXPQK0ZMKIL78LIAYXGGCDCL5JEK8ZWA14JAT5LIKO238506EYPXE7GLSLBZ3VOGL0ES3OQGCYJK1A9ERA5WLEWIUREUCGD5MV1Y3260PJSKDEF41OKPN7D2PFVMHLAO1IVL3SFDLGTH8TG68T3NNFJ9SEDNUKKGU43UEUZB88XNU8QTOON2AVNBNCZ1GMPAQD4UVF1QB8WSWFMAYA5WLF1EPVNHU18MFZ050BRLVYA2P6Y88OOYO0H31A74LW1V8EKVV31K1GF5BK4FMTVWHTJCQN6PXT7OREHU div -36#X74505SSV6V05FXN46ALIE5KFQWPSBG4VVHJSAODCEXKQPM4E9Y8BNCECO7MD9W9ROI60BTKL56Y3ET0X72H1FOTV13UDMNSKTVORIVZO89E60NSBW1LVUD0Y23W1EHD9AEKY3T68PRXNCZQUG72UFGCGGCQI7PAPTLSVUXLXCCQGL92DCDO9R7CQMKO8DR7VD6NNONC2ALKDY6GTS9EFB06UV0CMTVXPT6N22WE3D3Y1BJDKDLLMKKQPXVP8G6GHN1J8BISWXXZIQNDU15RLTG3NTPFOZX5ILJZP8AH4U. +-36#14K68MY29BPWOUQA1L6AM07JDKEFTTTTL9W7ETMN6VBR5XS78ID5RKLW1Q371ECYQEEK7FIREZVI3KM6SE56VY9O39927OTWDGXAQ6ZFGO19VW5IFTTD31U0LBH2VMBG8X3FLVDP6H8WFP6U1T09WXN79UO59WK50EP1MFSC4D8KIQHEYBS5IQVR36QTND04CQ8OYB00ADM0RJ8ESN4VHP5J1IIRHV8TSV1B10BIKG41QDFDTIEZDGE9K7Z9H3DSV8PNPTF4WF7N4Z8CHGZOL0WHB6SGI97Y8Y9OGPAHC4R317HUHNTJXE688WKZ4R06E75E2U9JJKZXRHFVQHLCEBWU048PMVGXEDKSVBDIVDEYGAE17NSBIDC6TIURBD02JADGCO = -36#6R2NPH73UCEEHWVHFGIMJPM6PGH2FVLCZ5T2YS2A7NCINT4Y2LKNI58CRKBGKXHY901BHMRT53CIPV3938PI0C20K14O2504XA34O9S8VZHPWJ2QLKA1F61AB431DHU6W0DE7EJKN93A010XAH43IIOIFK6 * 36#60983SAGHSBL1LRDZUV47BUGHPKL7N5ZJIJTSQVITUYDZW51RIJ8Q0A8APIYGY0YN7MAMYAIZLL4EQTT9B3T3QZA8ON6SLSRG2DFE2P98BKXXKTDXVWFAO27KUAV1IBJ7HWFUV6LTEAOCPX0GCOJX7U973TOL5IJFY0X75OCEUIIQ0DAAOJ1T80RNGP5YOHSZ1BAGH81UT7VH5C2AZNQN1KYJ9GK48XBXRL4ZFIQASS. +36#21K0XRP0I1QYXMVI81JDCU87XK9ZE7TYBW53FPVRB3TWFZEDZNWIUDKBJ9R3ACU78YZZVZBBPDPTH7437WLCJJU7FTNN93T1OKRR999EJTQKWU5NJH6P75KEPX3EJV3P2ZZFCSZVPDW4OWVRYQU3G99O48OGTK2G5BF5F2AYMYEOY5OYZ9XWSFMP9N8CQ1E9DNH3B7LQJ2YTG03NJ554P59PIHJD5XY9G6N7QM1RWS2Z5AZ3551P1E59H4XRMIZL60QJFD9QFL6PWFON50KZ85MTHKUMENXVJJV9784SO6HUCWSRWJ15TI9LRIFULQ5 = -36#2J3J2982EW8RTTZEYV4DZN8J6BQ26XKCFQZW1HDEA3Z1OFIPMN * (-36#T2FYJPDABV4OA2FWT4U1YHDDS4C8H9M8JP0XMI44QTDXXLB7D5SG38BD5Q1J06AJL7YATL3RGSJQI0U65HFG9SCDAAPFNG55RD9D8YEO8OSW7AY1P30L3RRUF4ZE1GUMI0N62G2N4IR0714KUM850M8DB7C8DW0EWD0SG35G441F6SC9DK8G8U5XNU1S0IF7VOVVFB9LWYIW9YSTVT09HH2DW2J8NUYGDDG9VS4GZDL64EHUZEUTVF40X4W9JX0F1MU3IR736LIKJ). +36#1Y0FSESYQAIOP4L6GSZ0QBG3D7ZT2JICVJDB0CWCJE1TIN9HF6S1KOWRZIVB8SC62KTN3IJGL7DJ0YK7X1W7W25T4WKXLBZKZR4U7LUN4S37UTDV47EXK4F7KUW66BCTDATEXIIH75B2QKKJTR2Q223JCY5QJQV7OJ6VV3UT2DGDRI0GECV5Q165BVOS6JVGXYU1DI3UGFR54ZBX12FBXT4JZFSN0RZX1FWO1EZG0MQWNAM6R2R8D8NS02N9K1KJS4FQD8S3L3LA0G25P3SX = 36#3EKIHRW9RSUGPSMMBT4W162U5JZHJ3B3WLWVT7JLEMZ1FJMJN7DF0N4K4283HU76VQT93JCPPV6PQUXBZQ1XZKEAS43RODY3G3ZYWKC296ZFEM95RJKURACMAWXGOCTD9WRZRH6UIIJMHYYE0GXBML7XE0YZQSAAJYB1TLF44S1GVAOSAAMYDCDNNLI0LMIS60OGV86LGP4P0FW7AK9D19D13J9M2D23K0U0NM9OFUNN6K5ZAGJRE8A7HQCM4L6QPULUINCYSTG2ORBMK4PG800GNVDRCJQV0FUG4HZ2KWX30WL3AUW6SBUIENWC187NFSU0L div 36#1R0WBNK62U8S1EJ95ZGXIFZ73ZAN2LGHYT8VXVUT6GZ05L24C5. +36#3A1M4HRI6KN7YUCB83D5WFKK92QNG74AIE4Y5COTRCZ3ACN73U5PKTWNJET049OE4XYC927MM0V8TVLNG6D1GFZOVULK011F3JT = 36#1USDXIV5IXXZ5K4747EECFVPNSAEBV6EIE25X965OY31OZ5INV * 36#1RMLRW9A5OUUSP7QVL8TR38Q08CMXPC25B6Z72XPIEWR37H15N. +-36#14QUJLZFF0MJW6KD9SA35IRXH47AYHTE3KENC18R04VT8O9SQ7L0SQIAU0H6XQYQ8IVE4K70H38IJF4Z1JZVU0FZIZCS45N72N7V4W5QW1DVOYMZWMZYW80S0OQCE95EVYFUB3FJAMHLYNJVPCVAQS0WRKAZYUWGXLP3U68CSZ24CX14T3DE4SBV408AYR20CY6L5XR7Z7WJAP97NJGDE5WSW2NE4R0LSKF8L1BD2JOXINJFKPC38T397RAUURSGJLB3G5NQK1P2RJ4WYF94P8GW9NZWI78Y3OUS7369BDXHQHDO0S6552CS8A7SLNXSOIAD86N9OARZIL6Q3SDIWMNZXK2UUOKUU50QUNGJLYNKH6L8WXR9O02GRSV16JOPN4796L02HBIO59PIX5LAPM1AR0 = 36#1KPIH0SXL2X9H27U6MUZPUW5QG9HHLPET2PVY1Z374Z01YGUMI * (-36#PV6TLO5FD12DFJE4XS177N27NMPMTA5016QAJTYZ8JRHCSV1603EPRRMEJLHP7SUX09TI02MRH389E294Z5P4ZEYYIERO9JP5JOA1QN77JV9DBJKP0W13QXP8N4S0IEH4XS61WM60MGTC03SXUETUHWSNQ9Y4SVEKWVUZQPENJKRKYV7FEFMKUBVPGCQWPGV2RFHMI11BL5ULSVN8MSUCFHA9WBO8718MZU5QVBV97ZE8RXYCB8ZHANRKHHCDGFSZKLD2T17581OMRKBQUQ8V8021BA9DITUS34QNG8G5FWFKRQ2KWMU6RZ7LEUJ784CZ4F98VG3K9IEKQI0WVEVWZU12W62F0GTXAC8PYVY). +-36#XQNXNBXNJ4IVZ4TTPKNV78ZWKRJ19GZEVEAEPNSZ68503WD09 = -36#DE83XCNEPUGDRTZYPRY9NZEN99LR9A6RWPOHRK1TH8LW1T7XHZNKQA4W8NO7A1D4WIYVEZE3146F1EOUSQHQKC5LA4DMFWYPY1J7IEBYFIM0LAVCVJZZ0RH6YXGDSSV87ZW08K4LB9QLEJ9SXJZE7SJCZ4YKH8PCKEPR7FNB9XL6E2STOSERXDILAJZHE99I512OJGKSPHE2VE37051C6C9E60BYHMODHVBIUS5GB806EBFV9N5MLIRMPE1XJAW63IY5EY8AP08YV3D3PXWXR9715K6L6MB0DG59WV6S2B2LQWXLNZ1YZ9HJD4UINAAYP3BUA3XT7H2CZFGI7JV9P4PISE204GP6O8U1RBD2FEMS7L6SFTRQXW1ZGCSF7265CZHJU9P1XRAAQ30TBWA1V7EHQT0IKPL7NA0DCFS9YVPC6KXKKGQ6ZGTZIUZGQZNGKZGEVIZ1OGD4QM4Z0J7O07EUM92EASDRHKL8KCP6FP6KX1KO487HQPYW7RXDCD353TOE78333EKO7U5GWMZQ0QWEVADRJ07MVPWQ1EI5HLE6P61BHUOPXD7TL04RE3XZ35VJV6DPN5S78Z9ESPFG0QQS9DM5M8W5IUMTADHBPL6G0MZBA9VH60ATOTVLGBH6SK09UFP8HK08X56WCHLLRL93JPOSR9GQQJCEE5H0U16W13IK4XVE6F8U70CKH311HBINUBLI3ANICH6M6455WZ56LFAGICDY9ADL5IW5JL7NZI5SIPADYT9C1E332FG8KN5A3CFAXQR59R9NF3SQRG1BQ4C17G9TYIMYS4QLSW5MS32G3TFVZFJCSZIK08609VR0WJ6XLW5XAY3CNPQY72Q3FF2902JDK86PCAARWQ47H3QPSYSEVRVI8IVMC66SPOK4DSN857CX6KGUUD6DEK7JJ5PKFDXVEHI3KAJV308KDVSOW52VPVJ36A21970175Q7IV4LC79 div 36#EAIK4FET12Y99I8HIRPOBENV84C8MOSVJ44YUWNUH5L5NB3HMQ1GMW1M7LOAXOMBOEP9112AX7ZY18ZHHVUINS4KZ2TBCZLOG5FOHZG23GVVSMK0TID7HQHQMLAACGX74GIS263MT9AZG77ZDYKIWIAE91LW73JMHCX386RT8364UMH700TA6U3OVHTRV9B364N6O2US58CYC6G8KEGYYA089ARTRGPSTB1YCD6CI2QZAFA9NT308ZZ7W5E5LK7C6C8GK12PEVCKQQYR2T4LBGNWWB1UE1Y31RSA73G03YG2A4SKRF4XFSBS8S1NJ5HK0M5KKSACAJ8WXM9EPMQBMFU17YVRM64OUVW9CBUP9HGQG5A8HWFOOAQLLRSCN2SS718P9S43C7HFJX93NZ3AVNG21BCLCKW0OEHRKEZYGPX9QKKHVUM2FI3MUFJR28SQX2E8HWG1NVN15VXS8Z3DMBV1LNHF3KN1ZGNO28NGLQ0UK02PKO5ZVUBR0EDFXD7FU264JPO3D9XC2N3ILMWZ66T9EVXJ1PF7VMN7XJKV7J6R9A0DRM57I87O5HQ8OPTWLH3MP49GEH7L2VE6JIQODOZ4SOTJMXGY4Q7VWB4ZPPC9TFTJT122CC3R203FZO0H15LQNGT1XW2JZVOHFCH1X9PUYQRKY3OJ8PKS9R0OO4JPC154L84GZGGREWJ0OSF4I800V4A7BBXP8Z3YWC90PDB6EXMOVINSBCTF7JSIBM613FX4147EDQ6B3ZRBA1EH4BE69XFY3OORAT6BU9I29R2RDHAQBKOV7748YP40BWCULNKUUTSGBQ5WQKSAN6XT9DUAJXU7CVXAHCCBLM3V6SY980W7SYQDUMGY2DEDFWZR8MTX3FNZ3JODCQ8CKRMP5ZCZBO3QBGVV2OEXHFDS6ZUZGT. +36#MYMQDU2MHBEVSK225PDBOZCWE7MHH94TQZBJI5UQG7J7NRDG30AT15VMPRC17ZCWYEBNSEE9XWGF3UB1M0QK3BIRK1XTLCTGHTWG0IK3A41YPRZ5T9BL2ULR2Q1AGB4F932162IYQ73COBI1G5FPGCCFWK6Y70W0TOXIFXZ6DCQEHNGXEMU1KBCVEWHIJ1OVCWK5RZ09BXWPN4QG4TICA0AX740ND9558GH1M9ZGLPNC4D5NFJ170DM01YUW7QYYF8Q7LSP3HKE7Z23QG3K5X549MH57T2SOBFIB3ABBFHSQX2ZLQI0KIHOT26YHJSJ655S084O1JV3HXXSG1JE7KX3QW3ZYWZ5KW6TVPMYUYAJ8RFYA1OLWLQL51ZNNQB8USBXAUKASBEDD5GXHYJ0FXPUKH3OIMIP798BWP8YGO9U4S999QL6OCCOM5FGXSBY2521ZFGRPD8HMZKBZQ45K0LPP577B0GNHSNHKXP7Z5NI4DCRK6W4JOXNTN621CO3LUNT703DWMDOPT78VNMIMA3EWHXXBRKV5B9HU3EZQC4UL1SQIL2B9X4DKH6SH9Q2CGRKKKM04KE9HM8Y74EBV40ZY1BB619WJILD9R1QIC4MLNK7NUFAFF19S3NOXG0J1C4GMBOPV8G43IOODV4CNNBQVC9ZJWSIBZXCW1NEIEQYLR5EF4QTDLM8UDR6RCOCGO38X1U144QSOVG0 = 36#CQQU99BXQKBEA8C0RBGROCX7FYZUPHJIA5G88W5PUDRIG7TWWSU533UR0TT22D20QNI97IGUNXV9X5E220T6XKUUCCNDENK932WEX6F0F9Z812GRRMOFJ3O2Z606U6V9LMUBLTBILUDKDBLAIRE3047Y9VO1JCFI6FILCIRZ85XONU713FZES421HGXC56PYGSCOYS9NA6PQZHLEV7L1K7P7OVWSJROE0ENW8Y41Z0OE93TE942S055XS * 36#1SVB9CIR9V5IMQZW97JF1OOF18AF24YWHYTNBHX9QZUE6UHO5Q6UAWCA01W3QXZDH9JTHJJL7G65G03JY9GDD694D0JW0BR98F7STT9Z57N6CKBO3N7WR8HDEWGAXOXPDZF986E15W2DD2SI00AQO3CZK6D0FLFXIKRTWTDH03TQ3YAWNDGXVHJX7YIBTAVQE54T9J2CGALGQMP9X1NLFAYALRW0SR0T91LODGPQB3YNQETBC6004RO9XG33CLGV5RD1AWS9DBHQISVZZAU5GXXMHLRU7P2HEOB3W29N1N04HWHCA45HVXMMK5L7L6UPN59NPHQUOBW758YV6BOFWWRX040EWYT2OYE0UFPQLZ3K4NN1E23U6U2ICW5B1UB02L4R17U2Y0GPOATYEV9ZTSM1U3LBTKA26VDN04CBPMAIWSEQR72RTW4M20YKKD8859AM5K7VSRY5OFS5NJJ0LVR. +-36#2UNR6U1LA1XZAM85ODEHCPH1111TA0KSD7UA3H09PSTJJUWLOT = 36#65DL20HFY7LCB5Y2WA7BCWEK8PR9BJXWSOZW4VH0VOFCXU1OSE61O6J16W4V5PA4C6L813L8QH552PFDV3Z4JEEYKSZQSNWSMA1D4HQHJ94FURDG37PSQH877AC0L0XWSWAYXDNPAZEKFPHZT0GO6N4LD09ZRKX7QRJ2QH8S1WJOSR3OX4HMVL8P8G6IP6S2VPBJNEA2561XCFB3OUFLG8J3F69SSQRHG7NQCIJQ6ZUBN8SLOUZYWXS7SUTA1PIBLZDLYMS0013KAIJ7UNVZ6QUC8BXHGDQJY306SPNVQ9SABU0EPQVG0DJ86OAXTIIVAZVK0YYC60A655R2UBIEV3KXPES87L88EMYCLXS3MFTM5I6Y78QVS7IGCD6THZNIWP75L3BFV3GJU0V08GUZ8KCQGTO5S5BQJCSYMN0VWNLCMZU65C6ICEWOIW9NNCELGDU9MMVJYKF2ZDBS4EC2YRYI3RMPWOJCT5JQMI7TJCE7WMEJXVZ8QCX7QH6KG5X1TYBLPB8GILREDHZHFKMEZG4TEBQWQLGU701YBFW71RXXUR1SW6X42DB71T0BKIO68KSK8DCCL34DTDSCBHSDIDL1X4JSX2WK8RLSLAL0R4QI9W11970S div -36#25MPQEDP2S22RHDECFWDFC0CYSV6OQITZR58HI0LXCCVY0W1F7VWSVN321TFUO3L8REDTNM68EC5E0YS2QRUH3PFJP4XWFULX9MWDN9J8FGO0QP0YNVUDE3YV6R73A3EEFWGRATRWTC415USRENXUGKN7KRME54E05UONSB1FMMZ5SMKM6L5F1TDQD369NQ3890RUL28MIRZCHSG2GLT6D6KMQ4EWRRHBEL7Y7ZWDBS2H1CKLYSF98NAVPVXJWDNIZJRQFZXHFPRPOB7G5F1RR73ALE2KBSVJY724MEPLM5Y8LT4TMZ7NTHKYK9OWFSG3QXXR59L48CTAKW9IIDYTR8SJMIP7WUHMP5PGMZJNJ9QHSQY6S87LKX7VCYTI8Z65UPBTVGCVDKHD594GBES5DA5OH9VNEE4XULUNGVA4HJC3DLCCG1HPB4J5YYJC0NED2U5673IEX3LM4HVAD34T8JSXN064TR5102D6QTOPT9C8BO5T74PYVQ7OEP41TCKQIQDZD8T1B1ZHNHOUVRVH5BMFP31429DVLUA3337HUZ0X0JSLLQRMI8EY4OHNKNJSVW. +36#43MUBUU6B7ZA5D4WBCPC6I4XSQ7WKGHK016U0N63AG2ME46EHVAFO5S7HQ58P4GUXGP0LAF0CXBV64I2LWVT5UED064RNNL5O8LDMDL61P3IW3WD1S5KV5AKOC9YDYBJPQW0GUX8H1E38MWO9O37MX1U2WVDGN70UVJDH1L2FW10GK1XZ60V6Z9S41WO7T2QTQWGDU0TNYIFGSR5GSPPRVTAEDFML365Z63GPPAL2E8M681ITNMUGBKU3BLRQ3DQBFEVVA8BIF8GQV97667TJNAJNZ3BUOH6VVS0LTR80TZGXCEPEHPILTEZ2TOVWVQBBD4G7VBCN8KD9K6K7POJR77WIDQ610NFX869TTSNLFM9VUS1XL250KMOOSECJ36CUZUEQ99ARX4XO4KDYJ0TG1YHH99E3VNW7H142BGM8Q0N57VP4X6IEJQZ72C7TVOBI85457WLIRUND0GPVVRHN0Z1FFEGQP3GOS3F7ZQP4RHNMAQSN602SUBYB2Z2XF7DQ74KT4ZLSPZ6BF2OLMHQECUKUCRTGRLA5O1O7UFI5YPLVDM6XHJ9H2CQXL4R4O7TY2SBK82DMG7GNLX7QH0EBNKX6KQCYHZACFMAUZD1ID2HWIED5G5U68EPA8LEVHAD0DL7RFQFVGS0IAZLQGTQMDKILPYEJ7TRI8ZUFZM8QCVS82CWIJNX4RRGWRQTXXAECS38F8IWHQH0SAF9KQ50KSOQ7MN0A79XMJRZOFZRAWO4OGGPGXRLB43NT2H28QDOI73B = 36#7TERKZEU1L4DQCEY6U5U4HQYU5J05HBFRARTXEXFTF2MNZ1FM3HEBCE5GTV15IFH42M0YHATJ01AFC5HIB113W4ZGP3PZE3WTPIQ52E9UF82M3L9MPSS7XCGPGBFHCS5HX35OQG99GQD7427TLKKK787ESN8SCRPR799KAOMSK5GLDEWC0LYWHYMWD27ZYLHCEWH3GSCJIC0HMRW09CWUB5I10X5YVJL5KNR4XX0MMDL11Q0ISD14OHV650SZKTOWZWRZ61XCS5GKR8UTGNRGSTPI8JSOCHKDUE187KGV3NPXDLXAKJ4WPMHTBPM47M48BLKKSNMRLAV7THAVR6Z43N7Q2FYLF69ACMBW5P2P0U3YXBD8EJ0FOR7TSIYZHRSWQ2BKCVWUAS7PJCXM887OLXTLDQ015FRB2D6Z70I8Z8BOV82209HNJF1Y16YWDO4JM0KB7MGJB5DW4JR8Q93GY9QX1GESW4YKAKJIMV9292CCUH1BP4X4RW5RSYZ81QDDAXYC7MEIZWTOE74VH45B1AVUQS1O7XN0XOUY50OL2YE1T513UWDKYXXA15OJC5XAMK0XTF17TTH3E28AZ6JGKEPPX5KMPX05ZO96OPQJ3L5DDEM9DF3WT4X958F3BCSPPEESOT9LV55EY3WNFW8T2MUVVE0BM1ZDON23RF2S6S1N8HLCZQZFD48GNBEPKU7G2OL4D0TZDRYH2W99F4FTIQUTA0K6H1YV41Z3Y75EVFLLN9EEB3XG8S4A2JQM868DK1QB81ZAYSLZSESP3NPCAAL01YSL5IQNUPRCVWDAUV59BOYUEEEP div 36#1WMC9UZPCKE8HTGV8O9IIDITQ6REI7T8RGHYNMVQGUEJSKDQHZ. +-36#63HSKQ0RC9HKUHU9NI3NHJCUQ099CIZCPIQZZVU7PHNJS17HBWC0EGYK7M1B09QTS38ILIFEW9ZBDN9ETYWZD7SA2XW6565ZSCJ1DKGDTM6BFTKJZ3B356PSE4T1HVP6I09G4OFQJDHBUB7C2BU1LK10UZ21FUPREW60MB3I1MBVBWPN4KP4GVDH80OXBMXW5RANZN7ZUYW8JIG89PE3A8SHMHCIS05CHQPUECMTLT4CW0YS420RZHCZMLDMLMA38CWXJ7379LUNOWK8XMSBZBQRHUQL5Z7J9YX1RLC2JDNE2NVIX3WNMQW4SJEACFH76IHX4KV07DC18ON0T3GBV93F1Y02AICP28M6HH3JP5ZRWAIST445S6ZJM6Y6R14AUZO1Y869Z4WISEEP0YU217P6MXZJG1DVWP39D7JRI28VFLLRPXL2465HLBATHB53M97MDGFVMJHNSGF95WA8PGQBAN01U75TGQ0QXQTHGXQ76N2SKAL94U4ELKAZKFMSIWJNGC9ISISFY802ESNYYFWL11ZEDB350JGQNJK1Q61SK9KFJM7L9WNQYXYQ0EEZQMJ86UBB0TRIN0HVOFBET8LP0OZMCE2JLW7JAS8S2RAPW15CAQAKXZBMUNB6V2PNY1XJDIBYVO7QXFQR53F = -36#1AB8FPBUH7TONE0GDCVKAMNC5BZF82T0IIXDZN0NFEH88RTPIHARPLAX1AGDEO2A4U28FUUFWDDO6M6T0I4LS21G48IIDLBQKGVL0U130RMA0U583I781BKXMUC5YSOXNHK3AUT69DAWQJZS5ZTXE4AKGQHCCWYOX9JZ1R9WX8VT2COL0YWYPP39UO63MDGNN18BL * 36#4QMCC6F3FG4YFFA6H7ZOP8777MGPXILMHSNHTXWICJBXCPV7RVYHRZ7VX8EP4RGSWZ9JZ2ACSO3A8AHC0AZC54EPJFI8ZMZ1DTNOITAG66UDYS9STWOHSMIFYM8YJCK3EDU5FBAUTVQ19IG0VY1D5MJQBMNLE7EDJLYWTCYM5TJVZ72DVQQMD98NMIH1NI7YMYLG6IK5MTQXUR7CY2MVX01SXJ0K01JTIQLVBTLJQZKHAACYYUQ0BEK0XGW78CGNS0VSWZUIT4ZNWBPN3EB7P1FRFRHAXK0II33XLA5K8O2SOXNXL08YT8XC4BIA5F2F3Z9UIK2O64KXQ1WOZQF72PMLJDQGT2217X3M69SMRRFLVQRAN9X8PFRWK0W4ZH5CWK3C1Q9W1GMCS44DUE37RL3XC6H9QNA854H26HMXPWG56ZDU2QC7DSK35T76AEVMR43KN51DCWNEMAZ. +-36#2MP49P6DUKIHOLCTLY0WLKXXZDD6K37H1Y75J3KAWU0FC4W9DDU6V1B2UYUL6W4CPX7L6ZSJFVBI10Q23Q3CAMQHD732Z9TXM2LIQ8XSRJKT4F676S5HQOI6UHVZSFDEMFC6ISZGTBE12MUVDOQ9NEGP0TW435REI4RU5GEPFVCY7MR602HHA4O75RADC88O4SW42I1R82GZZVJQ5XPKDQHKNGCW4TOQFE0ENMDEBK4HUB1IB1QBLF3MSAQNGW6L5HGQWW8YH8PAJ7ZBF3KJS4OTA68YDDWHQDFNUMLC54TRI5EKXM081Q27RE1SYNMOC5JQ7GR0WVS4W7V60O21V4RWQS9OD1SASURU52FNKO0RQ9ZEA1WO9C757CGOPZINHN73IVRQ5J0PKTQ8 = -36#AFIW19JOK77W4THZT775U6AZ2YH25RJYK3ZULEFTIECU1ITUAWJ1Q5DGFQA7EE964W8S49ABWR55PBWGE7JOB1TWNJYQLBIV89XBXB69V8LIIZ9CS4RUGW5OMHWTIWKT330BT0HLWQNLDMCQGV1OMN2TAX3NEY9HA9QUU3FUTDHY8J3A2FYL1XU3DZ0FLX9DXKGJB5PYP55TIF65K71NTCHDVVS7NNSOVDA6G8RAWS9UAIK10FIEC2Y5QN5PTGEI1H7R2N567KWWJSPHUXSTDPMJNJ3CKVZH4JNH141Y0WUV3S9VUMWI2KUVH0LGVGTGHPS2LYDN7CLR396CQ1KAY9UEGZ39MWW * 36#92TG8KY0ATW3RUTR53QE19E7Q3BMCINGYKAJ09S7O1T9GM2UY. +-36#E5YHKLZOR85AR6XWV6JDK9RBB0HC2ZIMAAHZ1XRE4KFKC8I8W4ZC2R5L8NHFP3U5CGBSG432NL9J8LEAEPH1P4A20ITHEQQ9MT2ENH8RHILMNMQFQM6OQ83HFLJP5EFG7KOV4H44MBRETIBGCJPVTCTTJ5KZEH0Q9XHBV2RY0I6H7HV77RKIJ12U7XCDQXPOGFWRYO6D6V1M88JM44QG0X91LG5B4FTXE28WD0R8KP22AASLS64WACN77NH2GB1QLU5H3L9PO6CQIDPQOLXDUBU3B504CM0AIPS0GS5PPMEDOTQR3F17A5AZIREGG51GMNL1ZO1QUV5JYHD3DTP1XAKE8SVFL1OKRM3Q630C41JABODTYJQ2NTZ8XGDJNK47K287IIR7RBO1IWWQ010RD10GM8BRFAAMK8355FRLEIW1XMEIZBYIEV20QBKX1P1IV47MKAMVUQW40G4TNOOVGCCYUTSZQSD4PYVO41DTI7MFFGDVUICP6R7PI3WNRSEU9GP9K7IHD0O70NVX5L4P78USZDHS1ML0WCF8A1M3VS3EMH5Y2PDVGQHIHPLTBD6J3WAH3XZGT2IW1ORUG74YOT3HQD3PYFX0YVH413Z3ACAF9DT4FF04TDM2CZPFNXVYY1O57PCJGTWX8Q05WLIG65ELGRWWZQPUQQO7TDTGUF1GB11YW222R6SW = 36#7MVD8POS819JD7B792ORWS3NZQRW3ENKBH9R2C830ZXGEMCBLSC8DYTT2QJUBEWFJJGOKMMVUCE9QBDAQZ662AWYIFIR60J5VCZ71X706ZDGSJKTLA7O81FIAZT7Y76TQ93AWOZ3SUXRN9QXL91GBYEJXA45RN8BIH11B6ESHYUGCWBJL4G677G64OYZNWNYCS7MMBT4NXOPRB8RNKN6HT8WSCQ41GQIJNANW4T5BEJ59O5N7C8CNDAQRUL8U34IIGKAUCZ3V6LU1PPBIPDINY4A5ZF6BTF9U60AAK64T496M4XBRHAX9I5JAF1HE61CGP3FIG0XPDQ634K3HSAA2CURWEJ2ISZ4DA0NMXZF29QU0MXV7OVZMXFUSHLMBEWOM1MHF1WGUDYEMB34N42K7YSM8BRPRT25GBW3I89KGG4HNJB5NUVLBPJI0GWSY3GRP141MI6OJR3DT5XRSX7KZBAXSPNQ3J5C02FIEC5ZTDA8PGL7U1A7MFYG32USW3D5V8L5G4EQ6BS1O1O4UCIDC0H2FPQBF15XBG3WS4ANSBVGZYWRH4W8FCHQI6RIACM9RD51XUJQBGV416CDXPB2ZFXZFNYWURUS77D6YRO09IWMS2S9C4B5OI9RI4K9MX2DOHOQBQG * (-36#1USF1QJUV6JFG3M1F070MTELFS73BAXWIV7DS5COVL7Q1MG332). +-36#1M5T17BDYXCGL41CTC847Y56COM4K658B51D56Z3VRBJPO8VK3S89OZ53TMPI9W9BG45OL4296VVW9MAVSANZGZENV6AUUC4G5 = -36#KJLO254Z4J56Y7ENV6Z5KYP5DP78X999CNF0I048CS7XWILX2KEVJ7BLUNKZ1SOJLO7VK2T36PBOB1CRM8TXDC4EWUS8EDLU6Z0WGD65BW1HP5J0JX0F4ZV56KCMIARBSGH5H876URRWG18MQV div 36#CPSG2WV7AWTN72FCD2K6DNHOM928GHA2VF7I2PLPJ4UC5AWMZ. +-36#26QJ96OIL69LUAJGD0VMJBLCR0I0P4FYYXDXWBPBVON03ZO45D = -36#52F9N6J0WUWOBV3HYBAM13XUZD41O11IXOPI9MPD5SU0B0FVRXM6Z9J70SWAN725QSJ6DJ3OSYSBHRMQONF305JL3E5LQUH9DOC39MU1ASQOSMSK20C9SECKW79EIYV1AICMRARQQENK39B2MIG0XMWF4GPL9TR3NIM1XCCCSQ6JQ1HHAD4PYDH2K6PUC3L5R5DA8Y8QJ0DMUI4 div 36#2BEO78HFRF8FDQCMBKIS8TH2SIIHY7M0UY0AR43EAATMD6B3L7A6Z9847M0C7PRA5F4JMVJGOOP7J9Y3VR1DFVN7OJ4XNX9T8G6NYGAY3J01G9XW0Q8UQ1228N18SZORMQH903CAVV4IVVLF2ISUXPV65FPUCS. +36#TBI5OC6I9Q0177YEEFNS26MTMQCFTT4FT12BQM5SY4JUSM2EIQ24P7EI9THT9PPJIRL6JX29C20SS6G6LMK85N9CW742T2DGTKDFF0ITO6UV65FT6IZ0GMY5VUZ8NE2MKWXS8WLLSWRBJ7DI0GB6QXFLTISWY1BTZXC4I2KN1LG1YBZEQRC6ERVR = -36#1FL91SM4KY5UH23PDDNQWAACJ7DQ8YO7T51IV04D0CFTFO3GUCH3GPTOOXFIQEU9R2TGX1P1RXFA5ET1QAJIESOEMRPPW08UNY9SW9ALNQMGKX22JS7TYPPJUD2ZN1RPK9NL3GLX0B2EV8A6F7K3MTA8AQIHHZBWIDQR7B8WH8B70E9H9TDFH6NJGSX45E4K6AJKID6SLS2LJ0614I9UQCUDEGCO2KNM92TC0NCLPAVL3DMSJD28NRPN877M5L969774Z1S3Y5QQNY8HH5MOUHTT61YTNKQC10NWQQMLZ6FVU8R1CN7HIB44I0LGYS2B3PPR9YS98BPXCFH2X3943UPCPUNXSTE88CZAUY1UL60GUTUONWYKYW0G48SSMVMAJZTZWF4D53YP5CE06F80BMPKVS83ATI div -36#1RCF9UBAYLC2ZQ4B924DJCIUXZONUIRX7YBOD2AV25I1NFD89YI6SQZBUO06RS9EYYHII4Y0YC3XUODC35MVNVBRAARAFX6JEA6SZI9MM9H9WIIH5F1BSJ909GLB4T3XX5RXNB8CIMO6Q3H3Y2M5TPI31GPUZWRIXQINJ3OEOS3GI7XZ9OPQGNR7VA05W10RMC44ZRFX24E8DQEXWZDXEGFROFQT3EHG5ID268A. +-36#5UKFWSLNEEXDKJ1D5BUUYA2SIQZBR1Z9MDIZ0EGAA3YOFIXIX5KGY85TVB57RS53IVXAUDPEH2LM2L8VDSEDMT9S0WMLLBZBF1AEXH6G117WDJ8CX6YX9DPQ7Z9H9JMGM4T8U2YR15B0H2AML30IHCDJJW4007CVGMMNCYXQKCIHS7KZ9LQJL1PDFMSK9GKAWOLLN1CS8AUSR0K8PPS4HO2WRZF8E60AH0U3G9H1C4SQ2ONY48IPQ2J66YSQKBLV8JIW6YNJIXNRLKZ19HT0TIGDJ9KPCT6TEFE9D26O2NIQXS4BDDTD14BGCKPVKVUIERDICCTCZASVVGX4SKFUF4SVP2QHG9YMUI8AN8H5T2BQT3LQHADAIECVI1QVWF7XUFZ2ZUAATQBXN43QSKU6I8GMPP1Q0VA4O5QUKDOVT6PFO3MMB81SIEN0FLQ1TC2K52ADRBK3KHD4DT3OBCRGMCBQ2GQJCWZWEKA7TAJE72X3BBLUIK0LJSYQOPMMGUPYJKLKZ4HMI8W2T5HBHSH51QWSIM88ZJLHLKU36FERVLGIU6KPSDUR8P2SU6K2RXNYQJJ17M7FJ67TIKBI74WV1WDZ9L1PQ5UIP5YF180OX2J9C0SOS19XTTB07HTMF0RPEJ1IVBLICTEQKA4JMGWDSTLK9YQ3I6PF7LGKSGSDI6PFICDLSJT9WTZ8PP7KBNY7EGE90YAHI8PI7KTZBO4MLAKZP1XH5LV6AMUECU695SX1DINVOFETLG5J1JUNYNQOD545F2B99I97M0JET1MACA6ZAQWSVG22NOZPY1MFY8D38F934VFINJRD18V511ACNAA5EW1EXLU1H5BY6DB530AVZJ9Y0QW614XJV3Y2Q1PM9KXM077RVT5QVC3BYAZCDYQ5HTQZ1INTSYSN53Y1ON4J3GVGBNEPFU8EMD95BEKER6075159RVSM655FHS3B4EMHH2V00KU1ZCEB3H37YAR1MECHTARG0E7LYRN0J79U3BGRO1A1N4BUM1YPMZQG7PDBRA9YJYBMR1L77M9JQ166GT9ARVVFETOL45O6KOFUMHDXQSMYWSFXA2XHMRVQVJEYQH0TAASB28XINAWDHZSW7G8ZPURA99J6ZLE6X5JLE5Q827H66REOJAMFRKC1TBD0TX35O5CLSWQC61HA5KDHXIK5JDCGWFMLHCWIX36U2KDN5QF5RN8I6LH736XKXNLK3EEX77OJ1TADKVSYZ9X80WVX7AE00LYS8NNTYWBXVS2TYUY6XNOHV1K18ZLRPV9B6GGEFRP0QF9W4WLGXB09FXV0UGMIVCCSIEZTXU0X4E6L6L3UBHTFJFBVZG4M87DFIZXRFRIIQII5AOX5GU6IGEKGQFZFZYI5JVFU0PSXZZLQGB1D989T6OC8RWK2KYO = -36#2GOC9KLCP6VBX098UDL6RX4KK492893OL62MB6QVRD5VY5WPXDA7U82BQGCTY2CL727CRFNM4OH4JMS7QV0P0K7MWQODVU4VK7JN5URES6HOHAZRN41A35KAA0ZEK87OSRBVBZX3PPUVEA3K05TJO91R4IPF7BTMU7U8YF1DMV8RTV70YP48H5X9LDTZTOWF96RD5V28V1OHGVN0XMN7QRTAYVPJ6PSLW1QOQHXM6A9BT4G5JFF5L4N8I08PSTBCZT59X6RPU12SJENR641L9CQ0SL5DNQ4S7H424INCVIREF76GDCSVRNX6KVYPMQBWDSB9Q5UOXZR4M3YNPJSUZEEKMUSSXR1JKNC51KFP2VYQ8BJBPWJFLYFRL462DS7GN1PWSA3PCIKVYZMS6IBYV9CIJ169LYV2UBY3FRP10ZJKSCKP3JC0OBSYCD8E5XOF2LDWLBLLGBND7PBLC3555LV09FP7SQ1ANHVU21F17HRHSODY8MLU0FSEB2KTNC7UIVU6ZS7F7ZLFMONUPZ76MIZHMN7LZRXAGQGEST0LX9B9J6FBA5HTDXFGGTO8HXF3J0DFH3XU8JUI54TWDEE6778HDMAYOB1A49IU3LAJQUVL3AGTOBPLWYPSL5B7P920GKC4QRFSREAK12TP3GY5JZO4UUH0HFCKBH3AF15ALPDR4OHF3MG66PF12YVYO7821GP45B7S1UUHII51U019FT9YJVOE6R7UMYEGLFHNS8UI1GC85Q3705RJH6JPQTRBN9ZPNI0RC3T522ECNHZ8AB2XMYZZWFIQFSKXO75VAQVF01OJVPDW3ZU5M96NB4RXEXBMGTG9UL3PQS5Z6JAUSKONQN6ZB6KJH8Q02VP3V98B6CII5199EKY8C6V43R2UB53G8RRFVPCBM911W6LE0JYM4Z4PFI0FJQ4VD3HN4M518VHDQ1QQC41G0JMCB7ZTCF1CMB30F3E1BC6M8GVF7FIDR2E8DHDX5QY51TQQU5H5K8EDBNRU3R5AY9M79YLWMFLO7E9WY4TSXVAQVHXMJ8XYALI84G * 36#2DHG0N55O1XEGG4LT8QGMS4EVBGK2Q0IOTXJM79XL6MHMV9OP0OLEKZLED6FMG1DOOD67RZVZNO45MJPM0WXFUE62951AFJPIS07KA63U8HK1BF4SUDSECZOJZIJGM93P2V0QFZ5LMKGAYZ86E8HW35HAYED70MLR6ETBVAU8GVAG1RXPO7NVAUPI4GAOTQ387D37LCXUE6ZZ4UITOZFRHC7OUKDJ6EXQTJ7S2ZH91KLIEAHBZMM6UU4JHLMRPLMLC31YOHEGQBMTRYSH2DT09L2SZCBSF9XVOAN89N5J7DHLBH7E96H41JFTJYCFLPLEDNLX49II4NG9SC7KCCDI31I2ZBEZZAAJ9RFKX. +-36#KYMZIHRRVWW00ULCGMXPJUT25NKLYNK3XZQ4SI4P5W4Z47VYN = -36#98KODZGGOLVIXXKH9HAZQF2ECHSJHYLXISMGWC20YOZHEQZAR7BXPTP7WDNM8729NCCCKS9GBZBG9YERLJI5YAAXFILEA0RM1YS3HDG6JTFHDQSUVRJNLN1A9933LUK7RP28A2CK8AS85NA5YQTJF0M9Q959HBUKJ9K0JTPEHJCAKXH2WPCCSKX5QDU2GU4QC7AK9IAMRX7U61PDZKBE4ZIVHOF3A7OQR9AI0T4IDI0CU93DG6MOKME4Y5D0OCGRB2X3YLJ4PNZL9GD09FVHT0G7OC35NHYXJN63390CO34AA7ZAYTOZB4PF1W3DWMG69HMJT8R711JPLCM2V18OZFC16QUVL7D8XP1W84NCP6QHKUULL3R4YNS30420JJLVLEBQY72S6PUERFMGUDV5Y02WRVE7F9KJQLSAKOUKUSY9DK2XUUZPRT7MXA4RJGKWILDVIQWNXJW6PDWHLQATNCXJW7O5945PYJXCSYR2OU831PUX3LP53A0FBJDXPM4Z4EE7MTVZOA1OJLVMZQA0T94V9X3N61CYIHSOJ2H6F53RLYZPDR38CGKF11P90NFL8QQ9LAXFC6NUI53V9R0BBGLWMHCLFTHWMPLLRWKF5GX57TT3K18TTIRQ1KZL2T2RU2S7FZQMUA8PFGLK3 div 36#FV5MAVTDF6941XJYSA63BZD5XX96D7VL2AUYHTZ5VINS4AN4843BN96HHAPAA3J98UAISWL8JME4LBGAXUBXM98TTYAVK4JQGXPL27E3775P3NHDOV1PAHL958JTXW1PLQFC26G51I5L2PGGX2JQ38PWGJXSDVFVLW2SABEK1BKL63NNAJENL9ST4EI7GS0JELIQJMEGS5ALHO8QSU39VE1FLPEVMSWP1NZ9BIRSIYU8UJI776MSXV6BQ8YBWU8EFCSQZ5R60UU4YCC5A4G29KBQEI3YZIXARAPQYL1TCWCYYY9FKA2EQTE9JJ2HXXYWQ55C5OQ8BI0M6PRONNDOUJHZ3AEGC6L2YZD81OTWDTCMV9R4407D36G46PJRSGVXJZTPNC34ZS7W1LYJETHRUYT6KM93HUX2738UFJTJXDS352Q7UMAQN5XWPMBYWMD0FSHGTTL1AT3UPTF4UJKY6RJ80R3IK89QXXW1D1881420PP2LWME0S7BAX8URFCBW1B04C6031GDEFSS11EK5R63FNPVMWH08GRYM7B25UDPQ2KJBEHLRQ5C0Q3H0IBHFZQ2DHE6YMR862K55F3BW90QUSA6IP7VX. +-36#PUOTFLTFN2G03PV579VWSHBQU15BSKQ2SDCZ5XZOJ5MV1GRTQ = -36#1G8KSYH4T1XGHS63MPD7TECYWUW9YNQ4SZ8ARP07WGUSUAI2H6WLN3HL7PBM6476L6NQWX4ZBH2WSNXNKUJ4DX79LGVGXXEGIPVHLL80BDLU2HRDVBCQ6GKYGUZOKTTLDP1T5BQ5GRTPODLDR2IRNZJGTBN1G5P5FJKJZOR5I5RFVRL715US42DNINMJN2BMX30AEH5P8J30Y0QPZXJI5PEQ15GJKV66MANS24ZZ0AVUZHCTX80073I35O44W3JLFPBOJD7UE12ZZHPELB7VLNIDA2XD5954HXGMT8QXDH57HCP2FVKKD8JZHCPIPVPENN0AGGIATD1SYPOUO94G9UWQCAHRO7N9RHL020OZM10NJMQS2 div 36#20QQGPOJOK853FP2XU7K8JNLIZFA814E5DFX8UM57ROVXFZJFCXUCTO3FO39FUTAKQFX2ESCW3XWXD51O1RAP99XP52P3TUSBUVD3MCK8WQVC9VGMD12K1MAA1V0SOR1B6G4F1GVBU8C46JI7PEI2B2MUR837X1NVSLINJYRACP2AKT71I8L89HDUILQXLN8LNOKZ7Z5Y77Q8848WBQ756I6WF284J3EMQVLFV4NNOGSJDQOBF46LUYY9TPDT6OSQNFPA3RKMKTJFMRE8FH17NDBAF31AL48Y71KKC4U1M3LMTRUZAS361CP7U8RGO07. +36#1EQOE3MV3QJM1FFAE7AYU0ZNO29TL6FTQPDLIS8Y6JOYFUW50TG1TRCHX8C346KB08OT0IB63I1X9K5FRK0PMX7K6DZ4CKWOL3XCKD6RS9XNNHWVO9KCD8QHMSKPD6JQD2FKVFHOV7Y0MH3EB80PZWGQAZGCBKN6IESP1U2YU7QK6XECSVLIOAMO3SF8UWK2TKRVVN5QIRDRXY3MZPVT2GK5A5Y257TXG303TTRHV3GSGBQTN40EG8QN17S7PDZGW47KBKLN138CMHRZXD4BWKAPR7ZC6COCJ5G6QARP3CWUCN30I34EI7KAZYM41SBRALDQ4HQG511Z66KCAVXJJLUPUZR9KFN20YC0RNWO9GTU8Z9TBD0JT2PXPDTF01DRLIM6P5AGB4GQ4J3G55T4FOMUX1TC3TL8P9PEIUSHF9B2TV6GS6KGX15TJZX91SWU3BQ9RYGA4O4C4I911PQ7JWLCCVV6CSFQF8I1WH133WX4FFN8KE5N1DBQQROIAY7JDB9V1NEU10ALBEHWSQSYPHZ6GJ802VBPXQ8CWXNFSG24QX41738Y9PVNPF4TE55AWJBPUUORZ9K1Y1F9EB3X85ZUOU2UN62TRW79EJJSTHMJ836UPXSXZK8LSIRWVRY1CK0YZ33ZTY4QYV0GOOHHP = 36#XNMVFRVNK67W21L5JR69MUE601I6P2PTW50P6E7UNQX38126EOT4ZXS2L8FBMFWIUT878YJCA8NFQMJ6CZB0OOJYUT7835WA5V9DUPP7KGQUHZPKC926BOQR9CN4IVR1B3IRMKB1PRDU1W6LJ12C7D26FKNOGCQZ1FFTZ4SBFFS55ELS5Z0PTAQJMD5G1QAWYCSOSFSWRK21Z961RMB2OJOT30I8ZKUW2D2UZX5HW9LUZU7BOE1LHRZJ4TNG43DANX804NQD8Q4OCJF1MKUP422NDO06YGQQ9GW7A46XUXF218XJYKFCQPOP79006NSYD8Q0D2LA03AHUIWOUGKI6AYDCVIVWBU4GLSODQDQ8QU95TR1RMC6OTU0R9LZXG5HEW6R3LN18XX4RHADXI7J8WOBVECNSF89IB1WO3FJFDVU9MGNRAFD3KA324BW40P4VLTQRM98OE17YGY4JF92AD20HLZZVL1AHT6U1EUB3GS6A8JN924FZY939OBGRGF5UDEC0TO4VXDH3HEN34YF6RY1GP2RJUH70BKXLAEMA09VIR65WFGDR9OYQJC5TH7ONTQB8WKHA4YT2MC0D3LHJ02SI1I0UWDLI8EAB6F3BGSMFTL26Z5LH8PFA8KJWTVNPSOX9XAEX3J88CU1PIO3YLTWKQWY566PZG7ZIUZX6K0NRRJ9NT0UG4MC0MUHGFGC5S8GOZ1Y94G6BLQ4WN2BDOD7LE0O72N0FZWJOWUNFR07 div 36#NVMXFKLYTZACLIQXHAHBMPXGVCK0JMZ06YZF21TZ71TVDP544CUB6V31S2YRTB9FTM274P5A6Y0Z909L1T8JNEOJ. +36#2P6TY2ASYJLSX14ZR1KFH8LUUEN96732E764MMJARIY70SPHPRBLF2H5I8BJE7WQRBP5Q150HFMB13O6K9QM1316EYK97WD5RQ23WPRMUN0XX7U92D89U1GU9ETYS8PZK0KYLMQLWNULLF2XJ1U = -36#2FH2NQTY7RH2BLAMYZ1MSYQ0U4QXL6JQQ3F1T6LJUH6QA410BXWUS9CH24BN5NMT0F6Y98P0677U57II4YFX992Q2W3I5Z47SF * (-36#13ZXXSF516J3XWWQ2YHG6HF65CVHDENCW5MBOJU6HN5ELN5I0E). +36#1RCRTZ4IICW5XCDW577QRW7LZKR0TEBWU5JUJI8GV7JZMMB386 = 36#24FOCD5XWDXZXCO5U5LWGVGVSN18KRHVCDQJEU8026XWZJNI1C7QSZN4X4WWGXU6QMPQSJANYMWI1R34UB7YPKR6AWYBIQ2XWC6 div 36#17FKWBB5B4IDVE0GQNM1D5FXI4TAM5JJM4OCQ7SJFPQ5HHIAMP. +36#1VGE8VSKO224TJ9D9E24DG4OT5LL1D0HI0GS238836FQ0OSA2I = -36#4AXDVV1SPIN97CRHWQMVIZOU216HZJ08LA4KK1PJ12DFTK0U8MRIAYU16EZNOWZUDFU2EXXJXEQXYBKJ29HIWJC64SEUKEUC0O660EGP0RGR80SEPTK3WTPKKDG3AB58J103UQ9YJFLNWPYSSYH3S3I0NTHFZ4PAGBJYGF6DZN6RU6FL05BJ8SVJ09NWWOBHKR8BJ66WDJ1XDLQNDA8OLRST7MGNWKRC1J6T4CS5MRTBGM5J2WKASNJ24CV5WWHVXG7LV44G2D5CVHQ3I0LVZWSSTMJ66MVUZHF5DHK81Q3P5EA7GLQA79DHMP4ZR397QJFQGWUXFL33T5F0DFQIB612BVTUS0Q3KEU08SHDRJJM3FCX22PVSZN244VM8IQRLDE50RF4MOU4PQBDJ1SMR70HUZL5E503YT0OUY2RIH08IT27R2A5KQMTOCTGFLBUAQDOQLY95RUNE9JQW0UOOFNYL8AF3PK0GH4W7F6NOG8KLZSOGYR1RJPA28F1PL91D0UCPCJJD8S3MHCZBAY5X7TYAKAUQOK4KLWR9UWO58QZGAV6SQCFJEP53KDFC2XLLL70N583Z0TS2B7689AT5K1Z54LRLLRHDOTJOH4OPW3VOSTQ5L2CJBXPISXCV7WD2RU0Z94082C1BL7RTPKZ8QK45S2EG0T7AKMS6KF7NWISKXKC5T9T4AFPME0V70CK5IQ0RO0RRPDXFXKVVKXX062WRL5IP5HDSRL5VCQQT1DLHZAV3NNFIB8QK7EX9B6G1ATRS61TQIWEBI1U2W55RWMSXXS5WZP6ZFA5Y7MLH576PSDK7J2HZA3P026MM52WR2TMXCFCAWPWVGKX9VULBYH37YKGOZHQ6P77OCHVRAX8U554R34JXYNKDFHK74G7EO4MNI div -36#2AOKJRAJQOWV38HHRPNULAM8DZ7Y10GJNHI48THSU1J2F3Y7MR70RVIG8HENE2SVS74LJ9262QIFL54ZO6OM7558HZRJN6OQAEJ31273IIOOJUTG3YQOKBBSHE7SSWMER52IZTRLC3AV8PF0P02KZ17UR4HTREYUX9ZAYNT3R0ALIH9SS9K22KWWCMWB82R00Z5Y7OXFKBNSW06K59IW6LW4CU63EORA4TEJ4H0NW7ZF92EGL5MW5WRW98R9G2ZQPZZQLX475STHZRKOF7NE5EDFFDUYJMT4ESL4SO96PJMVSI1SBCLA6R75AEVGPJH6T933OISJ9U0GSJ9T3288AGOY1JJKHN59QO7IRRQDWAP8L6O6IP6NN4IUODVLM0SMD44EX9QSWD00LB5G54MPZR62CLNRSMS5FACWLZ5D7UE8BQKGBI8C6JJ2P0RK4SZ09QSJI95CTV4400H6AT2B5A9LBFDF7AQG8WDWKO71CKS6788YWTDFB45EV7E9OXS1264IKZC3557PN1T74MOT8ADPOAYKSLODQ1M2ZFIGQJKLUQKSMTRSROKWMRVFPJQDXWF6GG7PUFLEIFMW69LMBETV7V1P2AED8MWHSSE983SVJFQ3TKTVP141FVFJOEAPXDJCT4E4H2Q4QE6REG28QF5RFG1EWU9NZN8512IF6LOL07OWRC9DQRMX3JNWC3IJYIRWR09SL5RYZ6KJVUYYWKF4TF1OK91896HZTT1AMEY64O01Z5GAVQ86K7CTVRFJ1UUBWP7B55POM9J01NGX28LJJU34G03T5ARLAK0LNYIIT170Z8I1KARGH2JU7NCZQX5PKJW3RNJYAERA5ADLV. +36#VHMB5TQIC8ZRPE5YR4N3XX0NFGQ5RKFCQU3TJ2FLKEFLNJ3ING5IDAA8UZRH2BW2Y0KB8O1TY852PBQMS28V91LO4K736TO4I4DJLVFRXHCT0OIQY7Y0C5910VW9FCYE6E1IP08FX1JRBQB2T9IN0HVM22BWKM1578DVW16E7Y23RJ380S2KGGXHJR2R2G69KFPZ08LXDLJXWIY4OPW07OYS11HHGT8IZY2HYWFM542PN8B48H1LXBN8HDKG4BHRD7RI9YFQNHDEL9DMVA683ICSNNY5LXIDY6FGZDJGJVG9X5FJJSNVOU2NL680RQ4T6JVUENB62IAO47UC73LUWZM4F60WTTE5VA3GDDC62FQ0HDZITRS016X36QUQ5EO08OLUYWVWKRZM5MTLL7NDCM6TCSOYJ5YJDU38F0Q0314L8PKHXJMVLZ9Z8SOS9E7LSBQM88SPRJU9YS2EDTAPQ4Q2IT4TMBA70VFULG3M8QKISVTMNN319DGZYAMZUZ1GD1F5KNF45FGB1AZAGNR6VAU5398H77RZ0SCA9JKERM7QJ81IHCMQMYV1F8X1FAX9J23TE1Z8OCKFH5SE7RPU6RR4G3KP0GALWLXUCDXNP3ZA3CTQ7254FFROTK3P5K8TRF07M14MD3TP34NZ5RCEQIOQAQWPG6JBTMOS8L9IB5R7MQ21JQ2JBA403G4VJLBFDGIKGTZ9M2J8927PQ7LZOKF1U5XQ8E85272VR20KM12HDGT4C0SW1AHTRTGKXR3ZJP7MP5ZZUVAU36ZMYB4K3FJ5I061ULPSTFUFQSABCOSV3ZRFE61QFHWZWQ8L60N8 = -36#EDV7TBL4AI22BLBPQPG29HTVF6N0TXFNRNVF9ON6CCPE3M6P9VI6NOHSB6PIC6NT15VIJ88JBF4MFM2HM1WKW34GHUV2IQVDV3IBZVB7KG5RSAT0I0EVCMWDGZQ2F0E3PYR720J5T5C12W4SIHPB4MCL43VDP4AGW7K4DJ3BNCDEE53UZLJCCTZ2PBYPZ36EUI3WHOOXHN8LYIHC1Q2EVBG4TRA3OMX9ZIZSW9FWYT9Y3SVMO3AH7PQ8CXZWI0D9C0AHPGCKHPYXAMEP3HQ8IC59HVF697R79WYFFBXJSBN3VUWLXC73E7P2QPGE8QARX5ADFFK50UMPW1JZ2AHCWB45UL0O39MXAWMHNP8PE6UOI16BB78YU7XE4LJIEJ2JMRV2K8DLW0E72HPV0GLCBA3X19X2BX0T7QAKK6GHCKL2XTOUMZTRCZ9LYLPPFV88JLW9305X15M4DDNL4EZKV4NHS7UJYO9HZMYW6AWY8SUCUT75S3PFQVHK3VNYY23H6K7WRDV2Y6XTWJIRPGC9B8MWTNY8IWIK6G88YLYVUXEOKJNOSBB3XH2F14S7B7581CNU57SNOLH9DU30OUXNFJV5KA4H9XLIINDTA2GLMVT9EX4A3XXTPJKNXTU5D2DYW1OR4OHS6FC3NZX89T1VYZRF5A0MBC3GSSMUG7DVFRKEPC5H038R5S71O116LZWYD450XL90TB8EAQ66F7SG3TFXJJ2WLX16010EYD6TW57F03MWLTD1MFHM6SA6MLSQ4ELKKNM0D6TILMH7X49YKGJ9397ASK65PDO6JDS3LPFNTW2TB3050R0Q08TGOTDRK18MTP8JMN4WN2O2CZNEVOWQBFEEG9YYA0C2XB04JD2QSSE8S div -36#GG1OIR711ERL5AJBF0YQTU65GSWHXPVC4UM5YJ6H3J9J4WALZ. +-36#2P7UZJDQG16KMQ6L018KTZRAFQHCJ1GHB1AZHQHOAIDJKJWPKYYAFQA7NAXORPF10Z7H4KUN5LXE0AP5BD2RXB3RSFHLBMUN4F0LUQHS29W6CQ0HGCHLQCKRC0MTCXTESNV4FCQZIBONGJB9QKNMXAIZ3OYR0OO013AT64ULR6E8R812CBUGEPP9XVYI6NZVX80QE4O4NUJ5IDS0ZMX9GE0Z72F6FSUDCNU96KCF2ZHKJ39MAAJ34RJ3W86CJPROYS2G98VDYONI815L9Y06K01D2ZYVWOQKMNNMEY7CCIWTEIBMP9BS4BBW7U1YU9FQZ996LFQR2JMSJILQCU1KK86G2TZDNA4JPOSSSTKPEOZTTAZ5YT8TF3485AAK9KDFS6KJOS85GZQMW3Q9R4O75TNPGY10V7R2X311XEJMCSBNR6QPA4IM22FKI8QK9OIRKZZQED0QARF6KH4JH3CWQJAG4S3DEVSHE1UK47FP0QTDRU1TQRWBVVO97ZS1T3QPGFCPR8QZEGJ0PP0JK9H94PCDB9D0UULAFKIG0KROKBWHIJVOIPRE4QAUBMROMBJX7I3M0B5P5LJI17GDYC2GMSE6MK2LNHZJOS4WP7D1MRJ28QE = 36#1ICGMCXIG4Q4OI3EUWMREHHIE7SO805ULP4ZX1I2ZS0CNHZPDA * (-36#1SEDN2H1W1QGY8S3ZWOEZCNC1XCEB6P7NN6L5C9LMNPZVTU69D2WWTO785PS18PB6EZWYH45K7FXG90LAG8JFP2AFI4V8YPM7181X2LDNXCKBS4P2J1XXX8C98MK89MFJ9LFNUT1ZJ6WZ15E3V3WL3SEOKIW8M0LOFYZWPWJU5W97M5E074YJ2SV0V2QUZL1D065JUP8PXUAFKTNVTW7WB53IZW9LSJ8J7KVFBO2VWG3ZKIO28WVO59Q6AB04WGGHDPONAVKMJZGYP5NE8QM4ZUPVOHVXP4BGUAJ6SQJZ374BILTOH6M3HYEZU2X8NGP873JKB5TRRMOB0Q0V9CZ5UEAXE3BGNZQBPFIAA1E8S8P72AJM9ZG6OZHZ2167CJQY9IE0YSGGUSHU3H7YT8B17YSYR1F3FQYO8VS8GI8FC6N21ORSWPHR4VCFWSUTPIMUBNFGHW74P20WHT7LQQKZHVHRUUWFKZ4137WX4SJKVHFWB2UDSV5X0HV5SP3QC4A47TB1Z6FPTUO4SAGFVCRMJZEFLP9NVL4DOLR77XG54EAVBHU32DRAM2TXSR2E5). +36#2XB56LOCT728WMS8HAB7H3R9XJB482KYEX9G22A5VP99S3PTOH = 36#3GLS0W9WK49UQHKNM0KRWZD3UKYEID5Z1SVYK0VM4S8J5NHZLJ587ZSC8612B9LNEOAQFKN2X3YKS8MH615837Q1B6B6CZGI8IANSSJ7M7FPKC div 36#16LGKL2KO27H2PO78Y78GWFIGWCLYL3R0HYX1WM3SU8YRBAWX7CJG2D9CPP9O. +36#EXSSX0M80YIGGMZGCXKXNTEUQNKYB8TTWFDI5650UIPQ5B48N = 36#AEDOWQE5LHM7D3MTH89N8GPTEM1RTKHC3EWM81PASLN1ZFK8L7DAG0W0OBBQU5W6WCRLX9W7UUM2LGGOX1I1IXU7EH9ASMBXKJUGM2SDF57SECOXWISEWWJCTYHJ4LS9G1DE86IPOB75IY4S07ZO0MEXB1GW4HFDWP15HOBR2A50NXW div 36#P26RXUNXAR3HY0V3KMO9WSEWVQJV4KYZQTXH6PUQ58DRR5F28HOCM1Q9DFFV3S52P4KTX8Z7VCXH20OJOC02FY3356LRCOFA8QYWT9ZB5IYO4U1YGSQ2OVQPNNTTGS. +36#3FSEMZJ1IDW8PJNXJX34ZXG6JTB2E3S8DL59U4XWRAAGQF0SKL3EPXSWU1H80F3NTG9ZQV945TD3MYDTOZFOJCIU6JR3W85A7W2PTXXVMUCRC0RQ4PWWW8DJNVVSAC7SMYL3BXU5N8BJSQZAKVES6OAJR6UWHMZGWF15NSJ5XHY9MXWF69RO5CQMNEAI0P54LMICETCTWOU6UH8P8GRHAMFC973LMPGBYQYI2QY04HB1S0FEJI13C0BZ14M6NUPTGPBWPD8BS5O65H28C3ZC4730C9RJVFRJYO5C6Z8ZS27EU69QBRFM9N8B4OYXJ5BEVIMTJKIM4L22T6PO7PQHYTW7N1OEO35IKTYWOA4EK39VVUTJH3K4F375DUCPRWBODYHCY2BRFHUDA7WCDOZY2QJGE6F8INJQ1P7HNL964QUJ0DFVEWPMC6XHTZAWAEQWFL4ENYJSUXFC5GLYNFW1M7GR21TWK474X6R1KXSQQI94KM8OJCHPEQ6NBKMCIYVKD77EAH2VUD23BLM1PCUSGRT9QE1H2S2J4F5AQ7399BFHCTNZHB118MVCD9BZ988GFHGOTKHWO = 36#1TQL58XD4C15SNKC4N69C1FKVTUA0OMAGP39UPBT7OS6VYW873WSFMR3I3QJDWR9E3IJ6IAXQS4UHOOQJ53SQPKTJGQE830YN42WOGCD10DO1ZL0PJ0Z1CSY1JVCTS1H1D315NVX4AROSBD606UXGN8XRO029Y9MRG14T57TDXRUXBMUZEFTGYEM1BWN8XVAIBP1GNMY7HD47V4TY18AFQ4O4W8827BUKEH3JB8TI5AQFAY1L1Q2RIIGH1R527RIEQ0066N1AHZQ7N8Q57YTJPG * 36#1VSFNXFAQK7IOODHPDIN77XHLM69ETCNSGR169E2HHWA0EYAEQ5ONT9TYPIH1NCRYUOWVVSBU8WA2SL14GTKY772F9686Y6D09LDB2XQXJBF273M7T7YDL2PY4HPB2N2T3FROAJ0CIA0XVMSZYUNN3QVB8FBSPVZQXT6F4DIYIY1XY89G4OIZE0MEOYF52KXLD932M04FYP0XZNDIIR38B9BRWIGZ4JZQKP6RDKOUDNNUO263SF18GH4Z809OI71PXV0XGED9JLFMWVGMSZNBLPHUEF8FGRHOMZYKFVED2JB42ZJKX6. +-36#WFEYDGV59N0L0N0IK2TBAEIT6I3PUPP0NELEDWNNVICDGF2BXM12F17LEHSTATWEZWZU735KXXHT7988192Y2DYMOZB1CICBJIM7HSHQE8YP4QG0KHXPEYJO90X26639LLECJ84QD393N3W2RGZNZNP8KZD8KDJOA8Z3ZW366J8WN12UH39Z34VO5NJMA87PVMZNVTZUDYB7VKQJEHYQOJRGDR1GT4I11Y09HNC9KV721ZY1H0E6FSRECNSYHU08IFIUNR3HPDS9DSC7M1CQTEVFBITRYHL3ERNN6CH1KBBQLIAACEQO2HPS0U77YVVEBZI2FS5US911Y1QFMN4B7XULXB4TY9TBIH831H47ZRT6B2KOKA78SS9JVR9IV69CQXDVQCFFX1JPDDSOQQ1DH2SD35CVPY9WDHVG7KXXMH3CFB2W49MB3ESRKUTOPJ35HWMVZ56T99P3PTPKXTTJDNNSG7YK2GUXWWLB8BT7VYX0YSZZS4PJFI4YBU2QZ0F45HPEXKVO6DD2UFN5Z29D6HJBLU2ACV7ORTNLZ3OTAK1J956AEGA966K6BWK6R3SZ62Q90PHH6ZTL8INPM4LMB609MZVZRUG7E058NLNTM02D00CTWFINJ4UBPF2949M4D6B8LFCXCD926PPB6RKUHQ54WT9XTK71YJIABO1S3DPK6KB6KS8S8R22HMSC0463XUQXDXT7F7HTPDTQHMSI5Q8BMD9FHLWKCW4Z33MTY9WC78L32QKYLGUOL3NBSUC0 = 36#1NUG0D78NAQ78XIFYOS5I8ES910XFMK18HPYSG3YTDPF9YE44GI4OO6S4ATXZ70HYQCD4RKD4JYPUKT4DUI31SP4OY980SGQOR4K7K8FJGUM8OT2IMIXCXZUMIC0N7FRF8QL4XTLHLYDFCMU4F3ZPOQOWUMU49Y9I9RDF7A7V43X0JJL0JR04BEA3G6S9YMC4KGJH0LH3I2N9O0KC * (-36#JI96YFLJ5Z34G24ICZWT0IQHV1DT70A2F8TGVK601IMVSBNODMV4U64NQ1HY8HGLL5LI7ES7A9KZPOGD0J77WS7PD4FMT5RXUNXQDZB8XAKH3WIFL4QUUTS0HN2WY1L8ZLUHGLIKGYHSO0FMXP57TY8BVR3O88ZJWOKMJIUBDQL2KHSZKNQDHIF9HCLOJBC3P19MIE6EDCWM83JPFC8LP0EPUYNC53LDSEO25LMF1044M1QK41N9WZSZOYMX8T5UB5ZPQZ1H1VOQI10MUMJTCN0T7WEDF11XZMXN8J1TA0YE49UGL76C65ELU9LGIM1WHW36DELU0FXEIJ36JY8FI83VK0B16L71Q95VE7WB5F9V5H3JZD6JDKTCF18F6BBDJ0XO4N3OFWB4NAFTGJ4NJNT01FLA8I2QC1389TBXYFK4SII9PUQKI2M34COENWIYKW26GPU3GQ3ADUBK4Z1SKQSFVX227MCSJU2X02LAP5UZBJM491SYBQEPDGTVVX9VISE5OW1V7FKQWN5RTE4WV7OC2WP0O3HEJ6U0904KR95E5AV0). +-36#1MIUOG8UE1DG4YJDTDY2ONWUVUW6RP9QQ4NONG8SLPBSK9MMOM5MIUQF2WMC9EBZ6SH8ST5OWBAEKAZSGQDR4746FWOJVSROOM71Y8XKX5T4HIP13NEQ7Z = 36#BOGHV3U3XXQECUVB26TDWH5ZYOVAY98LL4MYTBV1HJT0HFUPYDAFAQKCGDLUMSSPBYA2X9X1FOHPGYUWMPJJC5WUEQ5ZZRES1VO3FUXMCN8SB1A773BJ208NQTMW372N3904CNC2EXJMMR8PS8S1J3DF65NXCCQKTYW3ERJC9Z526IKA5P2CF2JSL5QIC7IUX56AZGXYUSB8VHJFTN div -36#76MZYXQB57WYSL7JWRG4EMQEHPL7U8YZZBI5CCBUJ8O97UKH6NNZ6RVGTX2DESCPVRDI1BNFU2RV1FOMVFCKQP0160H2D. +36#3GX4SK29JQGQXD7VLSUHIGD8PBP3FI3MN1BELULT4AH7IKIOP4VIA4EGBGRDV5PBSIEQSFB3903DD48RWOR0S16A5I6R4O5SI81H28RWC0JHUTG67GKXO7K7HEWVK12K5TQI62CGIG7KK79CWKX292A39Y7OTLY6NAD6W9N8FO3BZQNZUIA9WCHTOPHJ4S3UIWA464ASYV8LDU334RAJ5RD19SV7OFGHVH7RRFGKZFHN6SK6FFFV71G8M1NCYMIYT6LRXDTIS86178OY7OPAI3RWRBZ7LAGDY8FI1ZWMU0JVOOMW2R3P3I5PWIK2KC51FW8OFGRP6HJ6NSGWZO5TG7NPVQERCU4WI05UW4CDONKB4F7TH9GG1JTRA67OZP54AGNKC73E7GTVBK2ARRD5YT8Z8AVPGVDNDFIGO7TP3RZ7YUTXCD4JOKETOOQHRWYBAVBGT5GMYXQ7TZDXGQRRT3E1NRL3R92BDZNL0WL65BHJG66K9BJSOGNBLCZK5BVHZP6KJ6M3RLPV4ZCRDLY0UHSYK4JRVPK8OU5AU0GEVCXKBT9N6AX76J5P84FFNPEIS2VE9MANN9FPPQR5M2CUOLI3T0V0Q91LJXYHVHVHFTN2MJJ4D12G47I66UX9R35QPFH29U46MQBZFDKZ19TGA9FIY09ZJURBHKKRBRI0YTY47QZGTZLQIK0OO5LTYM6T5D791C47B0D9TGWJKEPPNUXCY6E11NDQ281OE0XAWOTRIIWFT4FPVNOSQPHYUE51SV8YDQFKOI353NJMKCNEYBLP4GTFP2W66ID984Y1TS01BNYMW02H12M1YPW81ITJGHPTJ9O64VXQBXLWT9VZFF9SVEHGP7OQBZF644GO1J03YZSFK2GFZOTBOKAI8GS7J477SPOOG0W5INY2WO219ZLUH4J5RV4ZHOIOZRAHTZLPHCSKDRYIB8YDB6PIW9IW2XLQ3GT4WX0SPMHEZ4UN2WULDA3OMR40608NF44B3M2GBHKBKIXK0W10FFKVH78FZWWDBZSN = -36#806EO607M1R3CA1MDLHZ8VW4RTUJ7SMJLGEWGF8D5LNQLAS2NRC8KUATA3PXWD8VVOA5ZL3UFD9JOYKES55CZ3Q9JGNS0J9T0EXKC53NGSZVUQT8OQ9SBSQ2RV05Z5LE9XDR0VDAPHX70YN6NI3WIC10A65X1HTQIUI4NDRICZTMP0QGDHRV4L5CBS99IAOBW77UV1SQT8D8SS787FPTGS418ZG7533CAXT9I4I99FWNNFDKICTFD8STB8EZJRIIQQG7J1XT27HP29EWR08TD7Z8XQ7WAUYH4UB0LXC4Z1E4HGD0BJGLTG1H6250RBNC1CX42CNIVVWM6DP7RXMNUNTM5IZYG30YSMLJZ3LJCET7DTRFYBAWA85WA0PIS4XQLLV7CMBTSIQ0ZUIBPE89Y96445HAVDJPA4GHEFYCOQV0LDAHD6UVKGIZDTB2RGVPD6WZD0UO79Q8DRJONQRI1K92HSC9MOTQ13YN2EBGO9N26M95J9OWHMH48QFU0D3U48TKYEH6E4SS2SU0RCCZ9K3UENFRA3SRDT73D436JIYYT6225ZBQ6WY21F4BOIJQVGJS3VVYLVBCFB5LEDKST0VVXIKPTGB9LB5KM7DG9GDXU1AEN1FYE3S6FNTXK98FSXK30V7XE0L10F7M8AUAH2UYJCGLEYAH2CRG9YP21HMAHT1QYODAQVDFS3PRPZ6VVMY8DAN4R394XS359ITYZ1CXB42L7IV8GGFIGO5HUNTPD1TZ5B6K3LSI2Q668UD4RACRQBHRGVGY7AXCZC4AJQD0D1V3I2DP9JE599QCZC9UHBDBSR82R1Z9E7XMVK5CVCX1560DW5EL2LGSSVJRSKUKGRPP907LVDJMCV0BBY5JJ2K4H3XOLMPWTXJG3DVO1ZB1H93TCO3F0I6OB1J2RF5V6VLGGO9ZEVTXKNCYX0WGJ9728HH5L7Y851HI2693SOC15C8QW43WBP5FCW2GIRDUCL9HT1KT1OJ2CK731MGUHWOW65I1HU1LGW0XYSEZ9QZBX05P4MWBPKQ34LNSFXGH98ERP59V2Q442W30Y0EBODSJYN2OSRWKE div -36#2B1QFCL9AA9BXESE2NMZ9ONVR4MJI51G5UZU8WWCEO0HEW02QA. +-36#2N16UZBF5ZFRNL0XXLTUJTFDXN27QX6ZRLMVK6BSTOQWPTCZH1 = 36#5AS38UWUP0BFPGAHB1L21BDPFEH3XYIZAAWF8GVOL1TLH9XZCGBWZ2K596PGUCNJT2P4P2CNXTBTAPFACZEB0BI07HXLX4OCOBSFSLAF7NDIGBZ8PYIYFSIPD34G4M3GJ7SJZP223Q8UM8EENTMZQPQ0VQ84K9GQ3IRPUGJBRKEDIBUSDZYAP3EI3DPOIUBHKAWQ6MLUG9U4S9818E0TA53E8UCG978OQEL1ID34XND3CYBB357DMB0XLKTKDXBGOVEVG6GOHO81TYC37GX2N8UNIO2LKAWP2E9HS2Q5T8MX8P05AILDHBPV88C840MQ3XF div -36#209QLPPR0UCY7IE9EC1JOKJVJX2YTTHG8HIWN1PJ2IRPTC4CLL6AW122HXKFU0SZQEFOE2IU4OWJVSOB0Y46PVBIG2MGO5GOLRK19ERWM6GS11NU81QIHIXR56BWJR47LQ8TUOBJZLWKMEL0OHZU1D9EC1QVTHPWN24VSYN20OTMQD0DVUSVJKVAUEWS8S6EYNN707PHMHSBTDHEFV9736MLRY040EVQW3DNNCF5OZX5BDCDZKWVKMPWM6AAEP364QVGK53X7XBKQ1E5UF. +-36#1Y44BKQDPGBKYSM5VTE3U78Y6QEK16LG6LNJXWW58B0IBTC0QN21XO3MNBW9NI14SE93DX55EJWWO8H27HOWHT4ODVFWEXVS5SXY977Z69GPJ5IDW99A19KT6RMAKR07ER7KNL7TYLSZT824K4YKFEY2NAJSYZZURGAB4VRTMF4NNOGAEE4Z1W0ARPVKUIXEN2PY94YTRPFMGMXU0BJR83TRNDRE5ZA88NJ3FU421XRPY6UFBRD4CR67YRO93O2NH09RPUGQ2KU0N85XKNGNLDYC902VRQULMXA6ZKQ2DPG21HFXCLAOM5C15W8YUPO1BDS2SZZH71UYIGW2K87V4V4B0ACJ8Q8TV57G1D6300PPM0J = 36#9DJ8WUDN983IB2FX2ET965AEG6QOSYXLZVK0EEH98E2TS8CNYJBNWHWDB4MHNLC6DQPNWYL331V1Z2IVPKM639MY7C44DT3AUI90J8J0ECB96YTA4MJ95L3W6HEIS4IRAPYBLE1BEWX3ELIUUAT5RH8DEI24ZIAQHR67T1L4GJ8N999RVVRFGC1YSIKLT7XZ3COK0QPOIE9OVE84FMK7CKP80C9PXOJR6IOPAZSA490DADT0R4DGYGDBUUCSIVLR5HMKHIZSISWZQ8710S22I972TB0Z0TO5U2KFIF6I4SEJG3AXN * (-36#7H7MJ2LNEF0S35X85W45MZPHMTZU5IMLNSSS9TXVDDK0SUUPVLB6PCNM7YJ03T). +-36#259JBODMETZGT2ZK8HM46GW8QC97W7LTW6N6OK14Q6DS6AX5FH = -36#4HJ1E6MIEXMJZ4FOLC28MO1EXEQ4JJRC4NJVL3SE2AGIW8EI1ZWMQZQNT1LDFTS5069L7Q14BYWKG0G7FCT9K0CEE7DPFDYO4IG div 36#239EBSNDKVMGRXNO2PEXQ0P73FFTQTAS0EE1OBRPJAR9NJVFLK. +36#1YDMJO6UF8CA1KE7F4XTV4VIHKSEZW07FQJWW34P43GW1E01385HH81MIHED0BMLKPU6FIHIL6DABBCO1T3Y69TLGQQP5ST62VZJOAV1Q7BC79TQNSOOU90B8D8QR610FIV4H8PYRHIFZHGQVKG8YL8MZKGD775GLOVBP00VPWB6XGMMU7MRDK6ORSFCH1KQ9GOO0 = 36#3XGI40FY8HUMME47OVZWUTBY1XEGCHTQUGIF6OL1ZAM6SFGT33U5JP757KAQ4F0EDC5RRVQZ8DYPEGA7IBCJEB457LQF6USJ7VJS85URAYHTC5BKRK9HNFEP0K82GZJ1H8GHULEX0NQID9OTMJL3GBYDOZGVPSB4NN3I9LL45YL2BTRAF3JQLHFAI3W1R8KXUDA1QHBIZ3YYAIC0OG3I1N6S77FUJ4C2QHDNF35JMG36HCOJ5AMVC0 div 36#20CWZBD3X8YSEG07Z4IKM4JU5HPSO0OM2DV7C81ET9WEUDMYTB. +36#5AS38UWUP0BFPGAHB1L21BDPFEH3XYIZAAWF8GVOL1TLH9XZCGBWZ2K596PGUCNJT2P4P2CNXTBTAPFACZEB0BI07HXLX4OCOBSFSLAF7NDIGBZ8PYIYFSIPD34G4M3GJ7SJZP223Q8UM8EENTMZQPQ0VQ84K9GQ3IRPUGJBRKEDIBUSDZYAP3EI3DPOIUBHKAWQ6MLUG9U4S9818E0TA53E8UCG978OQEL1ID34XND3CYBB357DMB0XLKTKDXBGOVEVG6GOHO81TYC37GX2N8UNIO2LKAWP2E9HS2Q5T8MX8P05AILDHBPV88C840MQ3XF = -36#209QLPPR0UCY7IE9EC1JOKJVJX2YTTHG8HIWN1PJ2IRPTC4CLL6AW122HXKFU0SZQEFOE2IU4OWJVSOB0Y46PVBIG2MGO5GOLRK19ERWM6GS11NU81QIHIXR56BWJR47LQ8TUOBJZLWKMEL0OHZU1D9EC1QVTHPWN24VSYN20OTMQD0DVUSVJKVAUEWS8S6EYNN707PHMHSBTDHEFV9736MLRY040EVQW3DNNCF5OZX5BDCDZKWVKMPWM6AAEP364QVGK53X7XBKQ1E5UF * (-36#2N16UZBF5ZFRNL0XXLTUJTFDXN27QX6ZRLMVK6BSTOQWPTCZH1). +36#HJO5EJARPGKHI4749A1U7YSSHV4FPXNFJXU27LASZVEN6J3YV = -36#PEF10C3RTX2ITBY6NSEJBJCQMUG1RRZR5Y8DTXO5EMQP7JEK4Y6ZPUKYAJM8JN4XHN95WUM2N90TSRIZXXVCFGFDPCL6Y27C6S div -36#1G440OQGQ0ONXOYW6S7HVNGMEW4EKYRC8CJ56JC52FMT1C5WVG. +36#2B6ATPQKBL2EXTFWGQSHY5B8YG8DQ8JHW3PIOM5RSTVTWWRXUI = 36#6O74XTOXSM69N4I2W8BMMKXM4DSOC9I9ZZAYDVWUFHYW7BDVBV7K9MB1TQTNXKXSX8SJ1TV48MMW407LTR6ZAJPFNCGG2PRMPKLX38NC7JRQRRSW763BXD33T7U2WJ59529AQAKKL8XAWO7P5FELH7TCS2QA9M70HDQMFM8VNFS52JTU5UCJAFFHCLEWBVBUYAQDJF13IZPDTRO23L9VLOJ693MNO0YRVL6IWWD2PO4GJ17HNFI3A7UHT70D2TZE6KW01KCXF2Q9UZSEWOLA3ST27WZH8WQTSNBB15ZQM5QGR8LK8RA90ELS1I div 36#2VYO8TLCQ6M37W9VA520I36QW13UB7L9VQYBD91QTHS2XILXMRXF4NANM2GYJO3ATKT2GQ5ORHU01YMCQ3RV69MT637K7BU5ST9OO1ARK1ZESBM6HSU7UJMJVHL01V88JL767AFISZ06OOGO6CYBKX0YLYGE0W9XH0L2TR1Z2ZN1CGJBYVHYFDRCD9ZJDVPS6GIBHX69LMSJR5S0HCML6DHYVBHPM3O8XKCDNZS7ZT64TMMJTL0UBHBDDNQCVZ7UAFGETMIX3. +-36#GTQ0JUEK0RR3CW9678DIM3W3E7RSPHJQR5GD9S2M05JUGTU1BHM28VPXHU75L55UJFM9T6P7FSL8Q2LMZ4UVHAX0ASWIZDJU85JIPQ0Q2M48I53677S4SQXBTN3NPLDQZPU79KW8EVOE76D7XJKYSG8MACIIR19LN6ORSIT5OAQUQ0CFEEJZ21P2NMX1ZRGEZQM7V9QUXRA1P310TZA0HRRRD8M42ZSV00YO2LB7674AEAZL6OUE = 36#PFHKV06MSAHV68JALURALIE5NONNWNSHOULZ1BP6XRIYZMZOP95I4QVOHHSMOJET99URAXFSG21FUOP0E2BTMIOLTE97IYHIHKC1GIUJSSC8N0D0JNSOH727CNCJRRPBQB74Q28PGHARXL6BFOTSJNYHY8EU6MFYYMG4HQT1N36JJP49JDEBMNWWQYVG2TA8AC343RYFEK99H4ZS2HPPKCWJWS49XGZ4TPGBM3SGU42F3DEC77EZ689EL9ZWPPPX9N8TQX6Y2ZJKIHQNBPMFXIFHA6HUVOL3JCDW9VUS9SM13KUZ7AYBER2WSSEBVTXPW918XGSTDZ3URYN25XFG7NZQ61L8K96M00GHUE8WJR75XPAJP8JRTXRGMJ8SB0RBZUFCCVAHP1AMRBPO26RGPCYWGFNHH9DPVPEXZ87STB2XKNJWXI3KEAT80DT1FERJYF1VRAHPTRUQCUWGFPQVC142YT2FP2WSX7CXURHBAA92B7V7R2033I6SEERUZEIVIDFBR9NFKHLHNZKRQGN00JQU4QH2M6OIIUEX75BW1SCD63Q2TY0UER6XPYIBZFL0PTEEMJ2QHGR25S4IYSB69B0U96M6YZK2DUDMY0BPLWB456FCR6FCDX79Z908C4V8TP0H8IUKJBZIFBEZHWHJ8JTGLM330814KFFGK6O3LT9Q94B2DGOD70EH79Q6TCPXJMF2FIWOXL79SV3KEDSMGK56GBJILIC6NQXETCVI6K1UHHZM066FHXIQ47U7NBDXBBVZW9HV9Q0 div -36#1IERT5HW398V4YF8BXB9ADLBBD0S9JYHM216PQZNG7BHE7J04U5Y1UNF7MQPTEPFLPSZ7YOYP6YEZDJCKRZY9PNHEQW4GS83DDE0TQ07EX9MNII9GEC361ZDVL31F0SVDY0GKZBH00KF2JXXA46D6RLF35WIQCVE5AYOGIW1PCG77Y2KM9YLXBSOP7FWCT6G9DBQPKSZGPNBM2E24CRUWW6A3ZRG61FITHL7VOHDXF0U4BQX7HXG0N1AZ0SAL70TB4J0KQFSBCWA5ZR0NWHDXX7WCVSL2I9C25MTUJTAA94ZNO78E4P8QVO6C8BE26W2DN1GY77UGJUJBXHJ7O4UF7FDJGBDSPVEP1VSBXX26O9TUY7AMGRNW8RZHQVRU0QYK8HL5T2Y9XCOXSXC00I1SDKFYJSM3WDZTJ1MYBY6CU52B8D9JP7A62KH9C4GWYLU8BAGZDW8TDFN84UR7ZJNTG5H8MXPJKO67TMIN1GPK195KJIE5AEGNZ170053EGSS00IXQ5G6ILWKLQH8ACYPSLP0. +36#1DLGXJOQT9K6B91QRCR62Q0Q4RLCF4OM83RMIP67FD9MQKOIRFLOW0TT7FSN3FDS09CTAM6P639B9KY8K2UN9KAHLD9WPFYBN8NCPTPYMHWDT7DVR78BUUY0SWKDZO1FSK6XNNDZCX4ZGRFYUKJRX5K8X31TOVJ6ERQ212CRPLPI8LDJANHD44UW5O8L7DF0CEJQJO6NMWFBETW14MO6CZBO83N1GPNSFYFPN1N9WB2M73EH6KV4OGA15GFZV3UHTQDMBPOG5O3NRC62RQXZ1LYUZJ8QQJL1E1R2QVHJZ0BGVXIS1UAHUY9262OJ2EBHROX8E8NWK3W5IGF56HJQA42Z7R8H9JQUBYE989ENWF2UAZ32TWUTZDPDRILYAR1FJJ06AMVVE9XTHD85QDJEMKJ4ZMB9AYR6ZHCJFDWNFA9ZCEDUH4VTNNQ08LTSFGTT45XT0UIZ532QX5RURIPBESL6F8J5N9M65HC5QF60NEW8YAJRKPKNBB = 36#3EDKTXDFKU5I9TPS72MS2RKXPGIL0EAOEK2614PS173TS9VRMQPM1YSZC4POTIC0W50DTAMP7X43A4YOB7MZ844CW9EXVQMZGZHLRT1EAORG192EKBPQOVY3LIHWNTQN2TQZA1YD9MD5Q2CTQNL4KQO4GD5UOCYYT4634DIHXEM0XGO19CA2L3IIUKDV6GZIC5ULNQWP1FPSVAX1AIGX7W6QPUA9QZVHMDLZ9B2N9QBJD8NAR95C3ZY9MF8K5D146R0YO56B532XW6QGFZL80OIKKBUI8HFOXE4HJPCOA4CB1UW4KIR9NZ9IX55ITFDH5JCJPV3C04ZX2XAEV0MNZKHR1JM3FU600JLOR4RK89LA1YFAMFOMZVU8GUPY941EGOXBLVQ856HYO85VGT2MUN0TCNJQHJ2S15O2J3D3ZOT4P171HX4GRDDMLVYESECDBIREFLWC1D15F6RT612WIERQAERF6BR7FZBZYRWP20TT16KKH8GH05N3T969ZTOPCC0I0PYGTHULMKPKU5ZD2OLIZ63M5GSTTOT9II6XPTQBN04TR8JE360ZL9Q2QP03Y35URT0UK154EGE2RCH4EWIXBOZPUQ47G38M7IN56LNAKNVU5DJ99CU4QL6VEO7NBDIXIZXF8M8VV8FUW9VM354F div 36#2GTTV7BU4IO9FP975PF8K7EOXTSEWIPTQCJAC11BXB6S0T5B7XY5UR5JM4VOAMBFGFKVC6G1YO1BIDVKHNFRMPD4Y80S3S3PV4AFRXRLZAOUU2K9MXN2FIXM3G3EJHWR836LKC2D655D6CO1UVE7671VAVCZWGIMD5L. +-36#4V1CM988AJN7USDIB3KOQMYFHAUU4CEHHXH4AJJMDH9SDH2S5ZYHZ0GVNP9L950O7F73AT1XMH341KXHU0WO63RKZBWF2ZFW16UL1ZKH5PJ308Q4S2BW7SLUTEU0DBTA6F9J6Z3Q7A5RA7MJ2Z61Z2V87FZ6BIJ868N8Q26K0HGYZ2JZMN18E42ZBTNKXUC09LR7IFBUJ = -36#97PGGF56U7YX5FXXPA92T943OQN5WAQ0DCDHJSWRL2GZLZ9N10GN6W6BL7XEZP22GIPCP33X7J26K9HH3WF4UA506KM0NJEL8KPWGYLOIIVEA8J88IFH9GX3NSWMIVCNQLGVP0SVYP3JXHTIDG0AP6DDEWSFLYGMKALU4AIM5WCD9XJFUP2T7PICKH6T3ACPK8KYRO9MJTYAY3HMO3JHXW971ALAOP1KENA8R17W33Q7ZZFKA0EO6XB4YI70991SELI2RTSCUQ67XZ9GZJWQBO9FZON08QG5XZVLZUG1TCQQQVEUICYL70H28LQQPIYJB6JQUL6RETP4CWLXVF7E5ZDCAEB6EHCG div 36#1W802DPSIBOFSLUSUAQBRU95HQ6FX7ITAE1UMGYGK9I84YP5XE4REUHI6TN2SRT4R6XTMCHUHBZKTJQJ8QLMVPKDPTLEVHK6P2AJUDL0B7RV5KWI071MWAA06IVRPN30Y5748CP0AGPRVZMIG3SM7ZSG. +36#9Y6TMCKGF883PZ2EBFUFPTBCIAL7FMBIIN22OB02N4EHFFQPYTH38YGSKWMC4ASCDPOZAGRGB78SR9U4W9YAVEM4VHRLC11BPSLHK3RL7VJG7K1U0MSC7JXGMO76HWQRMQPMX8M29KXJ6JQMFQTOY85Z0HTOFOE951A7X2PBNU9QR1ZR5XS757M6NBF14DBB5TDZADFBC3YGADY5PTN99E94DVPVOK3TV07LUXKBQWFEL8Z1WFRBS7T15BJH3K02UTECW46WQGP9I6N79V3J6HKYBD5UAH41YDSZUO6GVL5EP6TJF0OONNTEONVG0BNTHUZZ2WLITYTVP9EV96GZT2JEKSRFJG91SRST6A4JUS18U5C8EH0XN16TSU5KRWEXG0CCMA6EHJSLGVI8EH5RMXIKL0Q0ONH09W6ANOL2OQ8B21D10GIKYI4K5O6XT9INOG48XYCJ2CIB5YB5S4FNF8KNTOEI0KRPPRL0ARUDOR6G9C8AC09CE57R9PC85WNPB8SCDJTW7IZZVYNOTZ1GY6USMWBWMFKEIVPREFYH8T2X7OSO24Y4M1R0K80PQTZIUSOKYIMUSX4IYP332GHYWSS67DLJBEZ2ZGLMYVOLXZ7OHVNZCQ7RGHOBNUXSAT96QFI5Y897SIKRBNL6RD5PUEFE1IUAA36K90SSCSI35 = -36#9D0GZW1FQI46WDS1LFZ3DLNPWREPJB57ZVXPUAZ0688OD1TNSKYQT3TCBAFZKB0RJZB3VR6DR9WUCD0STJ3AEX92KK6BR9WJIZIMEI6KKFOR14ASXAA3KBK9E38XVYRORYYFVHZ7TZK3CDI69KEY8HEMSGIVQNF03HM6FA9OCUH76NT4SSAPXBILJ6JL5BKQY63CM023JT0IVIX79CUUJR4YOIMCQAAX2H6Y19W5GW92BJEZ2ZGTYC1AKWDBU5ACY9PU0ZLHNSPGTLUDGMST3ITTQVX025XG5POI1A5PEVRNJL2F1RSQD7YBV3WK6JC946O03UP8LIRSKR1VM1PSI2CGIAWKPDS4C6K27XXJAAJJYAPCL3J8DNFM5Q83JCDHTCW9SIVBHNUJBGCIG60LX1EZNURZOQ2F9BVMQWY0BGJ4OXYQOU4EFDHE8T3XVQRZU9HUW823X8ZO0O2WT1S0EDSZBVRHDFIO3ZFHUCH07DC78ZCIS70Y2ZMUDTT2BQ8O5E5HARP9NYM6HZWPRTZSEVXZW4Z2YU2S6N9E3XIDORUK7I48ZC4XQXI2IN9OM3JYDXKIJWK2E68RHVPYTD9ELJ926Y2SNUGIOPZP6IBRUHT26EA7WRRCZPVP4QXVTGNQABONGQ1NQK1OY0CI2ZMLY518KIH82WV9J5AOZDZTG50TTCQFWQUO3MM00MBBJ3UKPU0D73WZJBDWPE3PBPH95E1EW5 div -36#XVDNYP2GRZAEWAR95516RGAMNMW4NM5DIR3O1UWWXWYFF7KD1. +36#11OBJD0XFF5W4EZDJ5QCP1HMAXJPET82Z8GSYA7UT26XJ7G7N6 = 36#7G7OFAC8ZHAQHE3ICSOND5NAUKC0R68BP87KXBQP1HH9IU67USEIU6E17ONRU85WMYXFU7ORMJRV6DD8E6B99WOH2GPKZI8YF924SX2YQAH0UCNOF7MXAJP0CI7DPSJ0JOI06RKK75CC2S2LXQ17WOHONYKCARBRDI4PXT6ZC6U0WAF2LYLMS4SQ8XL3ANV7Q25XEPYRJ94KTFL7ZQI2J1284IKKFF0X9KCSHPDAAIMUG5PW1QUA6F4M0XF47DDWWBBR10ULVCOO0WNQJ8JMGUSYTNQSOKATOA7VVK0VQKCWKA2ES6W371E9JFS9R46UJN2I9B9BX3FXW7PCCFS67UU1SROUU3QWFZMYLJULZ7TJRH222HJEQRBLSUFR2YHI2G3UM6IQRPPAH4COG0G55G12CN1QRV159PCUHWRJKIOOHJM6M12FBHVAP6FU91CXKYZ19C9MKQTHHRXKHZAHWW38AT887R4XXRX7AFCXBGZJ2E1BUNLA1F61MLH4269SWQTAF6Y0KM8OKCFIT8YXBD73XJKCQOILBXTWEZRGCN4BYUVAF099KNXTG1RCLTUP3ZAGAAF9S0NKEGYOZMUIAD87BPSY627AD3KO div 36#74A96ZQE3CWRGR2Y7KW6JM2GQOPHB5DFES2LS5OABC3EQBR3OKMU3M3X59UGXQ9C23U6OG7XT5TFKBGSFBGJGG5YM1ZQXQHW5J03P8SFBUKFPSZPGPZKTQS5M8E36AK4YKGWIDS38TC5PR6M9HP7Y4BBSN6KL60BXL7H7DYT9XORDCDQWD54S0Z9EXRK4DJNA3IYN3RAB4RL3J1XFPUPAS4RUWJD1N26R2V0UB7T64RA9V6LPWGTMXZ80QDYR91M25D5RDUQ5B44RYFH2E0OWS7OR83F76P18NBGUL1BJN6FWYR9M4ISQ8EHMPLJWMHP39LI5LMJU06OFM7DX4610X044UD544Q78YBK1QEOM6LDSN4X9ZSTX4AUCWTYR17MVDRSNEUPD5U6C6124HVUXAIERSM116S6M8GNAYQRB4JS77SMG5NZOZF484DEAH7AIIQRG4U6GFYB2VVX5TO7L75FWW2F52LI6O79XOZXH8S6MX8EGZEQKNBOPF77WF3DFXFOX5ZK1LEHX7WUW3TOM2I4WG4QT3J67G35Z79HJ48AQKC74I4. +36#2DWUEGPCSGVQFTYS175I6QNYLQTOKSY409M5776JZLDJT8Q4GTP9DP9OS0WIGUWYS56GR9YVWKQPAHA76PA5VM2C2RNHPSZAEPIQC78J456BK9O0METDV6IZGS4FG5ECMSGX6428G4VHEJMXD3PO1WJ8VMZ0AJJVD3J9EKFIUZSWUU9IW2GQZK5SA89ZC42XE9GQHB7XCQ6F9IPS7AUM4GC5R1BCQF6XCD6C4G0SN1RHUIIPJQGGH5VRL34XBUE3HJWQFJZHRIML0WA2WWUZDJ4YI9CTJCJ7CV3L8N4A9KMDTMRLUN1A1K = 36#BIXAXY2HFL0P4ZN3AO6RHSVSNSBUQ7YXDUF4F0FDJA5SMT5J0P34EDCNBUAQLLUFRRTGBOBGBSN4T2UV87ZH4BW68AEVAI8DOQQYBHENBL7HUZBZ40X4SW4QXLU5YUXIYBAH9ZCPKZ6C53ZIEKVGZ5RN45SGPOLBGA5EMMT9FZRMYU1I0LHNU7KR2IILKC062VFIZOAFIL4MVN65M3G61GB9PG3JM07UY76G3BGCVB0FKS9YR3Q1TDXWFA0II4PXAE1D320EC2VCJQOKAT18NK8IRVBKXEF8KAOI3HH9695VQMASAI1FEA3GMME7QVTUTK7GEZOS2A09MG9YDFI8X7CH77OIJLHNFZS2QV1KROO1RRNDOJ8TW4XWUEAKHCBL7839X0BDW6FVW8NUFZDTFLUKEZ92U7AIC2MKN45SB5K49NPTPQMBBYMV83H53UT73SS0DZ9XYVDAV8EPAGYM9U122S661H1P3VYGU89HVCBOK9P22DXG5BRCQQGY30Z95L2IO4KSV9G1MD0ETKYAVQXG62I2L4PGDZSBBG8SM8XC807LBOJDAQY0W0TYPQNHHYRCWHK2S4LDPRF4NGCC82K0CELUN6PG41L2FKMRT8JHAX47JAXZN8FYH374JS8BRK div 36#4TV7CXQ2AKH7DHFQSGME82XWYIZLIXPOXTDMDAA0WYXIZFOP97YWRYZKRKGZ32NPUDPJXOUA5UND86I9GD6LZ4U90HEMVKRV3394YEZTIV7NLCPNEGPGG1H7J567KO467FONFP7XELC0G70DITV7YPZVAJSZ10W5WA2OXUA4831FLMFENYUH7NY36PCS69UNQ0WSFSYV2B3E26Y2JATLBNONONTP0JOXZE4TY5V07L06NBI4QYH90RN7NMROBAFBNAKGRU0SWZEUFWUY7NDU62A4KVVKMWFXG3IBDKX9B5QGWSJN09XKDOP3L3NUF2NZ2A7C3PCIVRGFA. +36#24FOCD5XWDXZXCO5U5LWGVGVSN18KRHVCDQJEU8026XWZJNI1C7QSZN4X4WWGXU6QMPQSJANYMWI1R34UB7YPKR6AWYBIQ2XWC6 = 36#17FKWBB5B4IDVE0GQNM1D5FXI4TAM5JJM4OCQ7SJFPQ5HHIAMP * 36#1RCRTZ4IICW5XCDW577QRW7LZKR0TEBWU5JUJI8GV7JZMMB386. +36#8ZHQYU2YK72PAHTLKYQJGU2NAD8SGSPO0IL8REOJQCYIGN9SU5EQXAS1YEQUW4P2LJT43BUEIAE38RKR7KBYFST1ULR5MPDVBMB7M299C709O3GSQN8GQD45VHOH66JHUX86LIFZFD8C789ONJ8DIR3IGDT7WIMXA77MEZMIPRMIEFMIJO0XIUAOCAPGF3J6QR8COEV5U7OD32D9RGNHTFNKPDZSYIN5OZX1TXTZ2954DAU3O0IKEBYR1MS7W0LTAOC5WZ5F3OWH2EXQVTMMD478XFOUD6B5I81IODGSMXHGPPBDS6PGIVWMHZFDCBIB2AH31VDPU57HYDBAIXR0P4B5Y5FB1KS5Y893MHZVPIFPYB2DCHC1BXQ6TGIRHIR4A3X = -36#Q0T2MC0NID17IEGIXQXEN2M0C4PAFZEA0KC1KO5ZWKSN3WHIUP65PSIKA8QMLKCN8Q6B8S6LHP3T69GLQ37WQ8NWVKCCRRX8G47TZSFDTA72JZ3LKA424ZADQJ91O7KCMJV3K01B8WXKV0CZAGR49GCB6BFLBFM5C5YIFS9JWF1JFF2K7CYYVKDS8J577WDZ2KHB3M9FFHCUX84Y0C3QGFFQXD0ASX6CAOXYOZ41X0B2OAP81QPT5D6CXY1VLKF1NIVHYF7M5CKLA08TAITHP6E9UIEQGGIYVF6UOBIJ50YT7FAIED11UQPFHMHXKV1YYYCEQ48BB34AN9ZKI7GHT0DYU26W1K4NSRUOL3PW7CQ700XB08OI6OGG78QOTU9HJZNQBSFO6IG9L2LBQSGQK1DJ6BYWYATH70ED5QITQ0T44A6PK6XQI84962G58HP0DTW2K4JK9ANUIE79Q42T4O8QDVVQB6YA3N0MZZTQM9DG8L0RQT05B0U3IGQ6BXXW6VP6GVJUSB9X0CHXXXK9S3384RKXGT51QJ6O3X0WJ46QB5TUHHUWIW7R4NRPF257VEOY1W8ZP39S9BL5CZQP44WQ9VSYFZGCWDQSJ6G7X7548MQEUHAJM7UU8MRDXYSRVKBOM6 div -36#2W93PBBYS7YG1MCP6AVOD2GDO7GZZOGH5Q30KFGSPDDAL1B8BQ0SVEO8S150I5RZCJR83UPK5VVTKAE9T9K17XUNQX2M90ZXXD02P8BXDR1BY9EFHZX7KKSHIB3005XH4C1BO2CXQBA9HZDIPJV90ZQXX8DKF4NEEBCL5VET4NTH879I3AP6VMOUW6NN1T58IYI4IYU84DPLJWGX9IDN38NZH6M6D1GDTIMEHID1F65VXJITHQOFED5PNNPWKTR3U7PY. +-36#2BC9CM93JPMSWRZB564X10S7O2HUUBL89I1NP257P4V66LL61U = -36#RLE1PYCT1F6EQ5ZGHOUXHD6SBI9RMKJXAOWRQTJFHRWHAGWWTY9LYECLB27AQH8QBMLLLVJ5YQVM5PJ7UGBKANN6KYC7X14RHU div 36#BX3V7VTXGLJZ0Z7HM7AUV6YITUK0HJJNS3CGH9QNYHU9KQCVD. +36#6P4HTRZ4X48MC74YC241HPAYEU06QJOWQCZQATQE3R2KIV1Y5YYJ6F67SP5RT5TNSO4HP6ADWCZKHAQF3XRRBFY4P0C5MU0R1B2A1WRO1R6FXMJ8DR529M9YKMP64DN6M02BJYEA2XNOJXE1XYTC21OHQ95BNBXTY13Q0LR4STD158QSNRS478D1NTMHAJTBFF3JHWH2S26EQD8LIVC6YY6LIJWGVX3WN72JCBCT63PAWPOZSBH3KVZ3BX4G3HB9INYXZ8XKHDWQ6B569AC0K69E0F0EQAL4G4W8O10DTBZA5GDEYRLL9BUC64AAIBL27R7N7AO60LLW = 36#2Y7CD8P6FMIPCQURJJFHFRU0PYG3B7Z2XK11S9PPOZPAJVQ1I0S1WU1M36KM8MNOG36RAREMIGYTYP7QWW71FMS4UACS1RT7BPUMW1TV8FH4GUVMQN6G3QCD8P2GAVN5CZ6MO9O0A83K6B0F819PYF5O7SZ8CE9V3W2U45P4FIYPN9CTDLXV48IEHYO6345YYR0B6SFF7MIWIV6YG9NLIXUFUC05Q581RI5F0DFR17U7BY4WFWYI57SA30K6BHQQ8CVQ8BDI7KG0C7HB2ZFZL8ANPL8 * 36#29QFHMG1VU46HH1R5YMLBQQLBTEH2MTOUQA3FUYCD05ATXMEXV. +-36#26GYSWXN54PUKHRRVHFO4C0QW6VV1K1CP43XDE60AXKH4DPHMVC5S99RV2FOJVOJA7VUMHWMCX07AI06ZAOCXN6A5S2MHV90T75LKEMV6FW = 36#35C4XVI36DFG24BTU22J8NP7CTNVLUOMD4S118G0G1SHJC7046BUVCUR2BYOI4L10PM3FF874XF5NQU0HY95P6NC81J82GG2R6RRROX5RC5RXC3K0CT7S00EE4RWIGTCKLK878X24QO2YF3MNLLQDKCZE642FYR1BXI9XWZFP64A6NOH9H58KE12PCOT35GZ234KTTCHCCGVFA7ZJA0QXI30WCCUUNYLJXW03N7O06IXMW1Z277ZYNC5I37JMW8KJNCSX7FC div -36#1FZTVUBH06MALRM3M2VI4DR96C0I08N84JP701727H7BFWC86IGQPJPOSDT0YVD3QOTKI3T90SKAAEIW98QU9CSWJ6QOF6QYOCDCTZBL8TKRMVQZR9BQ9SH2DX9UYIYREV9EH4COZLTMNJNCUARXBC2WZES6T6. +36#60M5RFFTSX118KJ39YI30PR9FVRD7PU60L0ZV8E8CEUJTLHK2GWY7W2W6I3TV1PPGMOYN4CH1CBKXV1SNTTAKM4GBLM9FXJGK1HLH18S3ZICSGJ18DNDFOEK8NVFXTJ52DV4PKHW5N2D7OQMRTX6D3LM2AHHTKE7DUEGGLXVIP9LU6Z98D93U9N9X0TSAZMGXFR3BYSUU0P = -36#22VBCPFHV5YJ7RLD19F0SRWOY68IZRZYRMEATGXDHQXJIUHDBY671JBD17GOSYSQXMR5JBVSSJD6OFUTAAFIFT6DVJITN8CYAU3B2CVT1IRKQSP3OOXC0FS409UDZ04ETE6NLZ8ALIBRXT1UNFO808P1TEKCIX7ZI7T4B12W1PS3P4UA4J0V7MDA2ABOC3HT0PM4MUSFKMD3DMDCQUQX0L1MC7MDREC1SK6FP8CZ708QQ94787SMCNC05MHV div -36#CFXXPMXHJL1IPT6GX5GJ8RRA7YLCC4PPGW1JFBQEKZENLBZP7. +36#2CBQKXRI2Z9B354IWFS8H2OOFJ4SOM3AU6EM6SQE7X9UY9FV3Z = 36#2KRQNZL0086PUHQEYUQU8CUBOKL4OHABLTC8LKOSQK6YA7V2FXX0ECQAHGLL99D3DMIFZK0QEDGUPPFN2OCONYEMJFOQ72VUSN8GO0UN228L8OPXTSQ4YX9NPT20HR9B2542B0R1V3KM1AVEUZ7RD0BR6E1O17I8GL9F8VRZJWQWEGMFXGOMJ65AR8I06SPR6AO1BAC6T9X29U51WEXQEQ64FBC5VERJL0ERXBJ66096V17QG98IGFT7QVCJ1X75T8O3L3LNKUBXY77HAZG18X1ERAYWID359X86EU6MRIJ1WH6YZIQDE06ZXRMRRPQFPHYB1FPHRQ15OTR7IQ8X78W6MDDCZO14B1I2IN4O8A3LVKEO69TCBTCNV53JRSUWY5IJMZRCKIXB3C0EY5CIMHA08RBMV96AXIZW4XLQ2H9JYJ5WEMR7ULR3Z9UCPGATROFYE8U7FK05CVPGO2GX6ANHTWTPCRJFMWP26GNJVMTU8TQA52CCLCJTRS3M8WKYVPN28FKRE8YXFZ70MQ3193ZI5SCTFFWZQ9WP2HXMPEL8850ZZXGFA1QLDS1ANBUF7CEZ85Y87LUK61SZSJ305K14O8DW2 div 36#13LS6OTVCSCVV29B8Z2OUCQ49A87P8FIYSUY6FL50IOB3BRR5APAV4V36UCEF5UXY3XN97WQETUQOCOQR9EF89CR74X3E11MGCLOY5AL7VE3UTXX8BM6CS6I47IX42BVKLW5A3M8YL2NYPIFMH9GKDE8FO8OX4LQLKPGWDDWOUS7W16AX8SHIJJ42CV8J61W4MXSATXMKCYUSFFSSBGJGSJ1J9V1LXXXW2FSGVP4MWSPL16IBDTAJ78STWLOHMCDE2J6Z9PIHAUQIXA7WQQ5C8W5F0Z1TZY4LBMZDAIJY38XVWL50GRL5ZYV2DWWX6BVAGBCHBDJR7UBDLOQAQKO2626Q414VGT2KG77D9DLPALJIYN5CYCPJH6JK553R2TCRO6JK6V72HBBN1QPCHVPLVIIOEP2GXX4PDP6LMEIMU6ZSEGQN6KYSJJM4X8X5HK1JKOYMMEHWM9ALC66LSXIUG3D7AR2N7H20AMS1L07OSOO9WN0HJCL40LX0EYXJ6R1VQDRNCLY3XPC1L9ESDVNHGSWLIH89OUPN3LS5TKN7FVY. +36#SEI324M9L57VB1KP9Q0AD2T8MLDGY2SAAPEH5BRIFSAD58ZMSRIL9L0CKYWKRUBWPRYZHMD1M6X6G8ZY26JZ6LMIB910B4EXAVGCJIZTHNU5SLPDK0K8B962LJL7LVL8ULEVZL2AMIL = 36#ALRFY59NSDM6L5F43VBMV9ODP9Q43XR5H4O2SBPT97J53RNF82UWNEM8P8FVDV6J69KB15Q7Y6GK0DJA02QM4N08MZP616WYWOMAMAQ2ZUFWVLNONF7XRM0D67MG09S58OPCOBEWM8WZ2OYVPY8ZAPMAHVFY4N2AM84SGYMG440E72H6T84LU07DVCH33BSCWAIH56DJ62ATY5DLUIJR5EU8F023DD5JUTXSOJA5USIJ925S6B4Y4CQAIH9V0UXCZOLG7A79HD677LLFUNOBMEPOX7PPN1QR89ZI9C3LFEE53V1BFJJ2JJ960XD9RZ5EC49SKIHJQ8BGMI div 36#DFVIS8KC3V3BOPKXXG3I1JHUDADDCM56EWBJ4MBSRUWPKA5ICA1LTCVALKEGBH87CLLWW2WAOIAP1DRMZGLETT0PPMX4Z3DZJ5ISVQSG7MGTXBY4D4P73D16EX59F35V7UX9E2C5VEVGL0EP8AJPK2VHM5WV44SUA9HSUEQKULBNYMEZAXWOF9XA39Y3IC6RFSI. +-36#BG8Z7H37VA3B5XW7IS3KL2XBB5W4BX310FA6LEHD8T18X5WJNHKM5DISSKZ7R482EF4C3CLZ1042A28J4RRJ9A500E34XHOA0D8092P8YS385F7NBEHOWA04K0FNL982KKMXFM1IVATQAJQX234K4VN4JJ2HZ1TBN8RVHE6WBNNCYYY48 = -36#5A67Z8UWHQX7YPKLXG77LDEFE6XNYR1I5B720ER7EM528ZX2Y * 36#261F3GO7MJR85RRNWKUG3AFZB68V1E9C0KRP5I4CYO35MNHE00AW3X9O0UNUDUY2Z06ZR74A71Q3GZ02Q8OCT4JSM6H22PGZG7MR1OWJCDUB0IVBCKLS0GO2ISE9OMURW. +-36#5EINVX2KR0Y7LBBF7LLO8DGE4IVVRO89X6S7QM3LLNS04ZEM9OUDM0M6453NG1WRNY0V7EY17ZA5THWMWND6FKGI07BLB0PVCKB74TJXV8IUJ7G0Z7X6P412Y5H3A0H4XA8XW2NN042IJNKYWIYNIB87QFK69CGFH4FFH1XPDUGMS6Q282T87LL4ZSKQBKNGXLE4G49EF4S2J3D7R1XOPCZX2UBWWI7Y4W7SD9MD4PK3XQDH8REPKIJ3NOSAU2NX065VQOHSW73H3T1Q1486LSVRLDXETT47U7QW5JUZWALW4ZYGTI08YX03PHYK8MXU3T3G2MT4XKE5DF4SH54SO5NMDU0SAWQUK1AQ33WCT3O13U7755SWWEF3IYHALK1KZBWQZI3ZI9YXHJZI96UI3VBW3CBWT0UFCI2K2BS6TQNU5DMWFQQ9T8Y1Z8KJ65W43F622K44JA17A4DKO102P6NBVC5CQHL38WYD4JIVUEBPVMCIW6ABRU0SK0JZCC54 = -36#4W5T9U5X60K1RLL4J1EZB49IRMI1Y2OSDWZG0RJA22BOW673N3CNIDXL2IEDEUAP15ONKONYPF6GRVJWCOZX0539HBODWTFHPPTDUDD40HMMG1JY8T7HMXEAAOQU4A7PNK3FW1WKZDENC1K3YYVYEYZA1ION2YU2PG1UW7KQXPYEOHYLBZAUEETF4JDIP0FWJRHWFA8AFRH8XPLF6M9IDQ3QUX31Q04MPHER0THMX4YMTY1C6GWD8TCEJ249VYPEDEB2U1KYYA6WUBSDD4MVLEPXO6WIBI2BEDQUEFLBM6C4WWDGZT3KEOF1MI23K7GHMYPZY9DT2WZ55R9I5JW9DGERWOQGMQQ2F5ZNPE322J1JIKVIKN5C5WW7NG69WDF9MO0KKO2JTWSQ98821YDHTGMA27JZ49CBZ9O8Z13TC9QWLYIKILW6AXT59GFW81R55O5I0Y55DPQRRFJ * 36#13R1SUDTPNPEKJHVYCGD5XN1I0Y1D8QTY1NE126PSWMF0ER2X4. +36#2FZ8VWWOBG38EC99K6DJEC30OKJS7GF5F302K0FZC9L7DQDPCI = -36#U0T40DJIAW10FRYYV6H7QNU9FQ3YUZY5O94UU9U1T2YG16YF4O3YSQSB3W7HIWIAI8M6TVIMELIFE375HERB6MGW2DJYNFMKKE3IRV3MPP9TUAQ6XG866W6SJHAXO060ME6RUU6QFYU2TVGKDLJ8KERRTOOYKG8GTAINCBGWFZ1VIUNUZ5MXISBSGCAWDURZ2NNJ7SO7TRSMCPKZUIEPO3M9Y7TO0RVKTCX7DSWM76RAZPZR3OLFHPROQPQ28MRPQH6WNVKE1CF36LKIHVUOSJKL1BGW9OY5SHK3BOZMB4ZJ5BMM5MKGBGS50S0T9KFCNKJD3OITD2Z86Y9XM7SZCRDJZPHO0WYRROX08KID4DYHSSWKHVLRDAY0VWBV7LJ10LHC5EWM8P30GP6M5XZNZT31OCIN4P2AJ4JCU20MRH9Z3B51GHXGHSOMP41T3H2XTB3NJV5V2XC9MQP0TGENJ5NL0M951F71ULUE8V09ZFC427UBRZKW6OTXFMZY9GJBS11XSGQCV3IA67UP2PSGK4O5NJUXPYP14L618CIYRWCPMWQFVY459I3EG57FVM8NVJY8W060WWSAY63TDOYTR56APT1UIB2ZA4X1E602W3JMZ6OFSO2CL8RDYJPR14F4KJVY8BYF7HY7FZLYKJ86WQLJW1XY8I8U6Q4I3G9LYA3F6ZM1OFF0DF6J1KAHZXD75T6GHJQNKMUXX024O6KCRKHFHAUVQB9C4UJQ9CW5RS1RJXUTWH1L5X8L9G5NAR1NBAT5D0BTMP88662JNWILCGZ86S8953PKUDB8N3VZ5DGBLHA1AF6N9I125R6DV8E12X3N64G1XH76CKLHMSEEB257BY2NKXOV6RTE3RKU8M245VDQUPI10FQZEDFD1IYEWE9647SOZO1G0LIS9K5B6TDVQHHUOKJTCE9AYVHPXW4CE78RA4Z4D117GZS60UFVQBWD8JDCN2PRGL75RKY3C7YZJL7Y3UW1X571Q6HEQ4T3U3GJB24856PD3LLFYT948YC80I div -36#CA95CUWVCNDZ3JONPVGKS4ONQAUV3Y153YYSAISI77VQHDSB1CF5ZRMEH1Q9PXAG6FPRF3JULFWBAG4TJKD81PST7FDYG7W89RFAPBV8Z5Y480N6LNSR3YFTI41YA2QQQTHTI9O6MNMKGT1Z0XF1Q4EY35BGULQYBCXVVO59WAS3YMY5MYPM293EY09SF8R0BPC6LKOZHBEBSCN5ZAX367TPD0P5H3RCZ0OE29IKQPQX7KP6ZVSCDOJSSVXM2K6U1YAP3EWDOTSB6YVES3RJJ9GHT8BG2J70H4WRIJOB9M0PINCVWLNAOG6YQ43KZFSK4NNZVBTV3LCUYJ1MZ824KN4W457MU9F6AV2TKO5BS35D0VXPO7JK0UWRT94252OVMK7DS5IRFEKFCNQ462V3JG3B868SE1MQ0PAFEAC6BFT1XEX9QKN4J5EA9IR5A84ZA43TNEF23LYKLDR8OTKJJ0PCHSH3NQLL0TJJSX75GRVDL0T5MX2IR0BP4T1575LT3ETCBG5OY8CU7ODGO5N67306ZYGR7Y2ADR6LC9NGVUNR6LOD0I8RTOY0LK6H04TROCW6VO2EDBE9ENEI2XEDVOEDAXGLSZM0BY91ZBL1PRIBIF2DTX6CTH78B54B1JEC7D19U8I9Y6PY38HKO7OX8F1K7IBAQ4K7VERCTQRGJWZ7KAFDTG2KO7QWXJDQWONV86KIW3U0EL3F1Y4VRX19Z9HRW6QE2AIFU25JY6SL9F2E0KU0LNIJ0P18TR588T0S9ABPTJCFE5RG4J54C7LEE6XM9VVZDI6OH896SDJAPTKPQ5MO5BO9FVHR3GLNG3W335E8KHZXEAL107JEOJ3C0WK69YM3I8JRIITC4DYNZEGPKFJTF22MXD0G2JR1I2GPCKHPZ1K3ZCO1EIO1YKRB8E75K3NSI8IF7J68E60B1OIX22TCEKPCGIDB24ZK2097MZSJ4TNV3NYFRJ2RQ1ATD. +-36#2YYGA3Y2E74TH3QJHB7X5DFLX56N0SWQE12S0WXC4ZINFW4AY1 = 36#15O0IP4O8WZJ09XIR0TJRBP9P4JP3BRAK11YJ0ZB2J2P2QOF201OIPKANBH72PKMM85BD3WXHOQO0RLP7R697IZP5SHJ4SO3GA2V5DG4DWKHL2T0084P105NV5HNXUZPB5GJ9BN69TEPWY6FPVPBDZTXKA7K3PYBCVBCCSW354YI4A8ZMU25NZRYAY3T3SXRGIZ2TU4GFP5FNAK43G4I2T231462PM4QNKUG div -36#E0VP9Z9VF4JP30DDXC6MZ2J6AQHA6XH5LH4885P29Q6PJ8I70VQK5FWCF00VS82EXY4DB2IVUOWF0RZQXBI4PMPFQJVTBSY1Y6P2IRUIH2XXE77LM624IWFPYLH1ZYVI50W8NHPPIAI1CT8IOE9UTM0771WX5DMUZ3KNWXP7W3NI6245QG. +36#14WZN58LP53G1K45R6YVA5G6RQM8DA3V9X9IUWOHOTKO53P2C72JFBVKP3ZES6514IKSIBP6IZV2SZ3GOXIXMOTYIHL748K7CYNROELNO88TM7TMYHWA2T0G5V7UAEEQQES5SDOFV2OISU4Q8ZM0A5EFYLWX6BFOBF70B61BGY6VP27Z6H07XX1TEXQ8CNWC3TPHZI4XWOW9ZNW0LWDEZWS62HP7Q1MZNTPVSKQ9ZZAX9J9TRGW1UR2KMA9RUK9O6PJC26VNV9A71WP880CWKR6I559U7KNFVCB6Y2PW4RJCL43I85H33QRRJJ1SO1F8IM1C512KBJ4QHKKJH0X59CCSRFS3GTD7N5DA1NKKW3U92PGN5V1UAH05TE4193Z45AULH0ZYIAGEQYXCKH7W08TJLUJ2SZB3L574X0EH458BR61XNNMFIC5GVGZDNSM1EDBPLF4FU3DOS4RCANMGB2CGYZCRIDCBFBTMI100R1J0VFVU3KHRMAJK02OG9VK0H6GBFZPCU21FBL6RPUAHALHL184EED5EOLHOUVO7C2P6PHICFN704358HFG0Z8J8W2DJFTBXX4WT1YD81Y9KDYJ9A6ZQ3DBT0M4K98GHZ70MJAF3ASHP20L1OR2Q = -36#8DG3IDQ8TLPNVLI2WL7VRLFG81BPFHWARNVWBGI4GAMVIVU69CHXTV1MJMOPELOS9RSKV0D59KTYUDDQ4S52S2GPUDP221TKYNDOC7PEQ239KRSASN934SAJINQJ5MTJCV8QXDYND7CFDQY11HYYGXQZPPE1DQUXMNL2XZLDP9L2BGUX4DPJWDUER4C4TIS24SYA7SXZHIQHWOFSROG74A9FNZ1GHQFA0JKTI8JD8L7O0HVZ3XMZW0IX7TUBC41GDSXA8LSVC1CZS731J1JE7KX9OYS7R4H7SB14W70NNOEMY8UJHP03VLFWI7F11K13S02QI9945X8L3K23IQHZP561U3F0EMNKNEAQW9CG3ENC2Q9ZM0DRAHPCHHKSOS7MS5MS2MPLKIZOK0JRG8RR1VXR1C8O6MH7QNBNM933TZYF1SQ35NOVQ3QG83JBOT8KEZIW8DX6YRHEE92O1KVYCDWNUN4UNAFPCV9Z8WKLO7S3COS04T6R6ZI6O3H86JEBZDM5K0J44L0HBD10HANXK3PCEK9HNVIM9UEX5FNL3216DIY3L7DO181OC0PLYGPIJCUUBOJONRSMVQHFH8FLC3AFKJD3TF1M14W30QGWLXRZJR5QUJ44NIFUOF90KUCBJXY7GJDD40Q2GQ90T7FXJ4HOMI5EP9CH8YG9QYDXWALC2L3TO7KVO4Y4EUS8JRB752HXJV4OZUBHY2HXUA4S1X5E2AR84X9V2IUSBLM7TR292N5N4E18FVZ74UNBNWIVWU8AXZT41RAGG1RZ2P15ZZNLL9LCEHF36PDXCT5D1OZIWCPQEIVO6XRMYYIE div -36#7D853YLH9JO4YIT5ZRDII75J21X5CRRQPJ7298O9CA622W7FX48FS9JRGOKHP7P29NA53WF0U04PVNL0DQW20ZR4A3LDOX4ZBN84POCNINV5ER27UEODU893SMAPG65QF1CWP8QVJSV8TIJQTT3E4NOTM454BRWMNQL0NS37VJOTIMJH59LYVR6PHZI4CO7LV. +36#42I23NFUWYDBJTEWTHA6ZFSN2MSYHM1JPEQYWDG20VUAK10FW6MVMCLSAQZQ7V581KGSC67S61JOM19XL4TJQ0FY0VEVVV2WIJ3AJN0LQD21LCQ3IM1QEJ2P3H9QX2BNXKQ8NLHA64F72CH51J5EBHPE0Y36M4PEOH00L8VA3E4K3570PH0MLCX9QXD0C7QLF5XOFDQRX4C9IIHJHBI1B2WZZAI3DSC3P7LSBAGH4Z2RSYXEA2K9WLN126Y20J5B1TD78W7LWXHEIQMPYD2D4VPVWM7UEMWSP = 36#6DZ8LAGD948X5N2REKXPCGFM6OLV17CPD7RUH9M90POZZYX10Q0GFYAX2HFHP1MEMG3J7PP0Z94C7NRL7KVR5ZJ42FQU59E9BPWXFAI6JEBFM5CLM25B5KWDNIE8TD6YG9LNEYA1HA7KE282D71F775OVHOHUYVMQCIVZPW7ZEZMKM9CGL6C5WQ065G40AB9V9NPXKIGMW0XCGZD46W37X7PO5QLT2Y2Z3YY8IN30HPAVUS5311YLAPJ3CTYAODUP5XN5RUUJP4TPT0IP0FSAEHMVDGFSVZ63GJZL7116JUTU7TZFSSUV9ERRLEPLU6WJHM67SKATXWUKVKDYE div 36#1KIGS57F9ZUGKVYU8R31IJW44Q7XH9GIG8DEIO6CT4LZDYRBP2. +-36#8UD1JR57YHCVBDBJQC1FTI38U5RT8VS1GCZA2TXZ99DSWCOY7JXGNI0T8SW4MNMGUM5MOCL4S6WCAXLGQQQ4BNOZWGCG6S1QAER01EQO60KO1UF5M740UPQ1P8SQFB5A9YM5W67600YIUPX1BNUX5UUWK51MHNNLSKMJPEY4AOI69RMO7OHX8TJUDOC0G1EP0Y0ZDCJL15PBH9UO35BFFCS3E4MDNT7PUE6JEB374L9Y6SEA53BEHRA9JKCIJ6Z8U7SF9FV75L6RGTQ5ML3Y0VFAB23OBMJAK0S9XSEE0MOJYM3M8SNAOVZFBGFWRL4HQH6A86EM30JTUJO4SIUOQMGC3NZ1S83BP0EFERCKQT8NDAM44T52J6MAGC2XTYW10JOFVBB8UQ32WC00RLL194PTPRUHGON6PPGD2F78NLPIJBK3BZ3OJTY52ZDJM7QO4L0QA721M0VUIFRF83QDZKXLZHLYBQ4G6YJ04LCFTKOV8DIYBD016DTAH6O0J57N66J1KWI225M73LWSI66JRLONHLTIXPBBKCHM3XOX98CBINQY5KFC2SETG78V5TWDQ417QCZ56J5PIKARZS5V585EEF9S336ZVXFCH9ED3D2AA = 36#QIHR4SPSLC6YC1PPO7VNM8FLTVVHB6B12IK67KO3QDSXT7839YM6E9GICQ4EQMFSMLVZVLIQXOACOC0X163UIS337QH7THNQO2KQRLS4W9WNSTYT4X5UKCRG3L6V9IOSCT74XHAKEUS3DD4RJV8N69C340Y1HPUNJ6ZXHD50J98ELAMH484HLUXSOQPNS80T2NR505JCVPWUXSTE169P1JUGAXJKGFBKFID5G76HXZDM5AL5WIXV81WAR5TC7DDHB566BZLN25YLN7T6TGB59DZUHAMQBGJTAZ8EPV5M56I49BF7HIZCUEVDEO5S3PMXOX37IE7805PPNNJ9S0TC2C4G7HGUCYFQLZN1BNOPU69O3JNEXCD28HUZ4AU9G5HGXHECJWQI40NDQUILFP6524N6QLW1EX20KZBMI4L29CV4Z4WQCVUQA01DOJG0TI83JG25OFTN4SW3DLKPYQBZ7ZTUQX3S12OPZU81RW3YP2QNQYN98LYMFX5X42UNY8W2C9ALEGTK83G1G53PUUTQYQ5KMEMOAJIBZT2GGU2NYF1CQO4ZNON9SDS1KHKB * (-36#C09OA13X8HWWZKD1KQII2CM00QARUXH8XG9U3Y37MAAKOUAYE). +36#25KS6M11HIPN0WFIE8O4OS4552MJ6F42MXDHWICY1U9DSOXRMSYSYRV2PMUBZZXE1HL3N4GSR8FVF53JJZEUCC5ZRMFDSL043DG83DTWJELUXAF1598HKUXCD1TUJLL9RUWHY3ESKP4ZWXFNR5MZGE2I2YX28V5DD9M5D7LXEXDRBVJAOGVH4NB6NQ3M9NRD7M06558K7URHW9SRR412GAOG8DU42LBNXOZK4A5AL8SBIDR6VI8CBAPGE8CFHWBZFQ2AZ364QS649NN9EDU8PEKIH5BLZ9JJZSFE9JVMW5DF3OKVD0Q6HBO3FH = -36#272ZFZ4XSPWECAPUXYWGC07H5UXX6HOUTWV574BOKNDHNBNFZ6CSVGYCI8EN6P7M1METE0SXB6NRR279PH0UB2HEUH * (-36#ZBBR0F1FQBVNEZIYP1HWT1BCMKB76KWZ8O6DA3JFTN93OM5BDE8C7IBETWMQ40DGDGH2YYYVZ19JQ59VNWMQJ0XJK1L7MJK0I75LH5BABL1HEWTZP9G9YG5VKHBWOP4TQ49P74D5G4IKB1JMOOIOQ8BDPBWI9IJPHPLMNBNIF7S095MKYRGF7YWU51WV198QW00AGPE6YWSP7QL7AM29VKK1ZDUTARX1). +-36#46GKPLX2I5M4VH72G5MXLKHII8NYD8WKJ0JI91DQZQYB6D8BR5U9G54KQC4J66HKXB3GG7CC2WUK0SMYGG55UG55WWEBXZZET4SLV287G6TQU4Y3PNI2XPJ2943GISUBEXVHBWLNBQGCXG3D53PFCHTP1FU55GFCHHNA7J8IQ6N99HTIU80POF78SKPSBAXU42ZA78KPKHDXGW809IX3621CEWMXB8NV6VAUEYZBBVG30F7UUD3HQEMLUUVVXIEJHS0495475ZNLS0IETV34236LYQB6HYHCACGYJXS2SPR0P54KLG66JS58A2TIU5UWTZBI0I40T72QQ7QVXLMN0TMI4S10XLD0W4MGHKJXGYS2I3MY6B3H8VJM2GHRKEYF2BLY9KR4R102D4Y645RS3L02FB388I3RF4QSHJAG4K6JFRCZJJ7ULJGELFTUC1NLMOZ3YTHMVQFI658QR87XODGXJQ2TIEJOUIXVMCI2UWKWKWFD7MNW4OSETXHFA804EFINSSRKVAKMBE9H3RLSROKOIWYHEIOFTFQ45VWINJ7W1OKAHFQQ6ISPOMOIZ0GK3WB2OPO1TL8UT2BFI8GW993G0N8BGK8DT6VEYFUGXVOKUWWSF6MUVP4L0XPLPMASJJHKCL0VVDHY0SJG6ON2F9WFUK393GEM8T9X7041KUE2AD9JMM2H07Z30Z1CH3UAFAJ4UOJ22A2OX2AU6574FTSUFS2H6PJZJALOUXGPW8UM18L9Q5L1J9T0DNQU7MMYW1DQSSYEF2N4W5VLFPRPV0W6RVK4C82QYM5AJBTF46CMM0V253TCNIFF5S8PJN7IHBV65AVIFPWTY1NESRTAEZVAK67RO01ISNBMIBCFOGRKDU25154RIUA9MSJ0RHBEK30WLSHC0KAEFH3AVZNCG6GFA3ORBQJP0WCS1SDBAQ = -36#2AW74IRNXF2OQ91X6ZO4824TQBU0OUZGIC26677BW32J3Z8OVMLO7KGX6PKOL9CA1QS490IKE5IMRFM18EJDUX3XV5D8U57XTN4WOH46YZTQ5IKBI4QZNB21NAQCK9Z1IQETX2UQXE05KLX48Z4EADQ3OIGWN0YV73ZAV42PQD393JQ52TZQ4DH8NF93261ZAEZ65Q9A4Z41Y2TVPBJCV0LHC1K48LZWET5SS29VAAVD8G4DMTRG17A812RZ8AE42G91Z40CAA1D667JBLH01L2ME67ZGLF5B4N7FHNE4UVZ6UA1EREW2BVP6G7A1YPMBK8QAXV23NPN8LTASELV21GZOVC24Z3IMF9A6LNO5H6AQUDWDQPIUVJLDD8T1FL3AUIMQAYBSHE8CPOMTU4YAMM83S3HN76UAPXI3L5ZPJFUK56KN2R4010D23XZZJ7GAYGII6Q1RHNBFMOTLRADBHKGFK1PHRJIAFLYKQZK5D78YHM3F4DJJRWNU0IBZ47SKDSZ893Q2D23X50JW7WDUMLDUIM9ED3WTV6DMY78YY41QEKQZMJ41WWM840DL87TPLJNDW6JNPSTNRSAMVHGMS6NLQI0QZ475Z5KD1IUU7NPJD2GD5HXCDGZC8T78RT5VSDIO1PP3GV0YAMFA87ZYHVZ28J44XW9SZO9RHCAHHARH3817Y5A7X3CEAVIDPKDBD45MDMLNIC7EYQZXBGUIW95ZIDC6WC496TBWDM576F6WZO5UI9X4JHR4FWTX23KRBDNCNKFCU97YFDUWAEXCYNQ33TI6ZVWMMAFL0GCEHJMV2HWUFCO00GBT73HEA68I93UM2O48GKQM4QXA9FZGZSPJHUGUC7WRKNUTLVTDLI2N73N8E4GN92O4SIROGXS22XP8NBXK70HAS4SCJH3Y1B6PRHFW94SX1BWRFO1IF7060DPVSY7P3R3JHUMIQS9424GZMKME606I04PBLB5PQOA89E95RUNF12FV1WR1ZK2ABEEQIMYPVZT855UYYERX7248M7PZAO24LLKGGKHHIST3AXTAINRICTF08JDGZ8NYDTXLWZEDOT2CR1WAS2YDMSXUM3P13XTZJ1HV6KZI7MTNRSQU6PM72S28INGHW1G4TRFRLDKNIUD5GOMKB01AII2GOUC6KMVGYBQOG5CM47XIPW7P49MR0RBTEQ42J7OZVHA6788MAJQ8KDYYI0R4J5JVUCOZ4LI9THMPP5LKGOC55066BOGQFBTMHZWLM5VCLGX7MIC2QV5GST0OWOBHHVUDEK2GWGIAQCJQWCQZUCIG1TUD1R5KG2L354MADBLYBR1KKQ647H9ZM4IT4ZKJ8VOW5X6T0TWWNRY div 36#JU0KIKUOR2B20BABAR1PDE29GUOPCULBYJK43HFDSSC384KHUS13PJ0G13H2XKOFPAPUWB9LDRPLXHG74K1JXWYNSG7YZ5W23LTHSYC88O38WPV40QBOYLKOJZXB2Z40N3WUVZWCPXT4J3LFVV3HQOT19FKUDNXNOWIRH7NO5PK8EF4COWI8EHY2ESJ341H2H8OVTGCBEX2Y5WCZU6BSEHFPNASVBG9J8HGHIOIVA361YEDQ2JWEQAG2SQJ8L2QGOLYL7ZY0C09GYY7TQF3JEQZSOXKQH48IG3459FRFH4T1MNIF2ZSVVOHNERUPG69FIEF2ISDFE05MJEND3T2UH0OTACDP0XLCRKAD9VBP3L0MNQL0BOKL09S0ZBIE9QIY29REQCAROT2XVVACIOTG8YETIYLFAPTC39ELRB. +36#1PH1FEJK64WBHDKGOSLA5JRD0P331Q2F6RLZEZTVWTJP0SXOJHHIDZ9TFGTDLDSN3UFF0EQYTEVNPWGI2TEZXMYVS7USSY19EIU5ABIYX0EJB69QV5WJ8A24X89A4JD9WMFA5IPPH7LGD2GLIR9F55PAKDWCCWF9MY9HLTYGJZ49CMZ8H67DHX2B8YPW1W3K36OVEBARU97CORNYO3HX6MYYC09FEBU0GF6WM5EJ2AFKLS3DFME0B9Y5F626PNBJIN1BOGIW0XSF2ERVQUOE1IOSGGJ33J7R0ZZUG6YUVK0VVORW9OS1AZH3J7QV68W06YIT6ZZQ4XFPJS54BSQNAKXN7AK4SX26Z8ENHMQXSRXUA4KG5WCY = -36#1JE45TFZVAACGVEVXWRW9LVGQHSH3BYUVO3UHYYSFYDXT6WJYWGGBDK9JF3Y8EOIQT1YW6CAA1S6B94HMZ7KRXUBSD7OONSIPA59OOE65D29NPYD2ZSOBAX7MQOG2R7LYWOHCDDHE011WN1Q3NJYWH6U0W2D58UTF4AQMD0X1PR4E69WHWV32GMH1IF65RI3YF9VNYSFI94NCA9GF4Q0ZKCX0J2PNABGM4I68JEU5YD2HWTHWDQACGD7WG48WAI9YU6I2FN0DKLV8JCTF243DYZOJZRNDFHDEGK9BA1430NPTLIY7G2MS6WXK4LWF8A84Y2XCM0SEU64Y01YJOUBEW7SBVEB4JR26ZC0HP9I6M7O3NX30WAAOYTOQKG7URII6GKGKXDUHU7R3GXJCDDATGWOOMSWF3DIM650J24PGLLQQC46PK45PJR3R3L77RH7D7J7MAKNM526O8IA6WAJ7GG0AF67FSVG79E5HAWA3TVDSNWBWN995AXMYKJ2IL5VI3DYS2UJLC9KPWP4CB77KCL0HGELFQQATBJ8ZFM7YV9XCVVC1TQMNTGRAG928IABGR8SR9COYP9OXG6BIZ6P3HCBCZ0NAX2UUAGM16MG3S6G4S93JBSR46U3JVXB54VVO58XKVY3MVBK0JGTJI52GKJTNDYV8MF7KMDH58PZHYUTXCI3O2WZEX4YY4PAOKE7N768LJ97ZE03JS5VP4D0NPF8BFRES19MXY5J8BM2QYDCB6DOT45WMUSRWQLIEFT3I39YRHVTKJU7IUKK7YB4HQMII0X15NQUIONDLUV97GWWVJ3M318QJD8EAL9GMA4YSVD3EZCY53J2CFUVQJPGNZJE6NE96TUHY3ZXXWWK9FZ5V5SMNQ21DP18URLL9N3SQGKRCIDG72AHHFARII9PUQFJ9D1JOM28I4ICKF6OUWX3S78B5E6HGXXSU4MMKY5H8WSKUJQ5CDM3GP96456HE22T3MFXURMCZUESHWRYVS8NKP4Q5J010QMLOBI7QUQ5RYAHP7E04XUKC8Y3JTTUCAIQBHNGT4A div -36#WFSKNQAD6XY0YM3PGZLFJXFMIM40AZ3JZIYFQWGR18L7V3K4H54990STLW99FHHH0NRAO71MBJOKCCLSTOUI9JZB7VL4G6W09W5WWDW4C8Q3RI0AQSHOM3BA5SRJLVV96G74NIU6PVETVIP2B7AR2GPVVSTO1SXGT4Z03R1NOCSRB24G2OCTAUS7V7VMP69WN2AGZKB8KJCU7G4V1OH0GSG8VI6PA88DX0M8E2F0FH44HWW0TMRCXND9OLG6XTSBA6J3R4PAOC2JJVJVNKVO24EVC3DP0VDL07LRCR127JEO1CXJ9GEZEVO5YF1AHCSWOFL3WOUBNP80NPC6KFWEEKG07O93DIFXMRL37HKI4OQ6YEF6UG3U7OG7EGHC3IYVZAK77AERDVZMINPGRJ5KGPQJZWVQM28LMVGG8OE316OUGEY6A789Q91Q86JT7D49R10218CVDUG1QI3Q1RJ5J5G4WEH1V8TT3KKGT5EJ8D3F3F0XR02IZGAK1SROWS6O1O4NH4HRGZCTRLC5SMNVSJ8C7UXACTJF8330JMKZUATP8UVOTKQ8VPOPV1JPWPG7U71GBH6V5ZZUAF4U5HOTZNAVKF32XQC7IJC7AHG883L8F08ND5HHFVD6KSDHKZS017PH8C3O7LQ70BQUXJRAX21YQIAIOB2OTQFXWT3HHSD. +36#LE231BSESM2FOCBQPCA5PBRBTGG3Y5NE6LZ9WAFFC1MN48NJZ1GTT9I31CCUFHK3ECDH8RHP2X1HRI23JTXQZWN12CW = -36#18LNDZ61QFRB9V15OHE4KCS4MUZTULKH324M31W4549A24CPV7OBBZPDIB24JKEJA6WK4O47KEGSWPWXIMQXXIVQX2I7O6E7DUR5VFVIUFAD5HFZ2ZOHOO5UFPLGIK8T34HUYCLLO9AKG div -36#232AJKLB1GA8T7CO7HBKPBZ56IX96D0Z2CG2WLXRXCRJUX3ZHW. +36#P5S9UIZJUTBGLUYE3I3AIOPG6DEZYWR2BW0FF5AS06PKOK36O5A7IQHQYOUQA13YGDB0T59EBFI92BPE40BO4BS6XM0YNLOQ6RFXOLRBRA1LQEDVZLDEN40J5FHCZWFENSWTCQCXR3PAJWHUUFD5KJ78JWKP3IM3053W4C8P5VZZDKESM9TNCA8ZBR6KAV2C0T0557NE1PB9K9BAG3PV2EFL5Q5NSTO6XHP1DDBUPPKG9Q6EGWSUHF37XJD0MT0371BZ2QV40WTJTHZM2IN1FQHJFBE5SKY7C4VBW8DMKTNVR6E798S8185WPXJXF2ZXNAYZ12MM2E9ALWQ51FH31FQJPVFSOXV72VAUSZC39M5K4G6Q1BEQ20RGWXGNIYRZIZ84DZP1FIYGTXU8682O0ZN6KH15RJ82CCA9H9AUCAMPCINQ486VIXWSH1ODX3QXHC8LVD0VG12K9CED09JJX3SPON3121S2PPRVZNMGC3FYA87TL2WUBS04WVT5B9YX7JJ7P5WXAPXXK84AJTZ8AB5YC8RHXOPJ3MNY5WQ67Q5HPS0ZIS01Q99CGNNSTL568CR1OFJ3GBO0RRDLNEDJ8S0G3VFV6TUXVNDUU240Z0DC8HSOODWIWUXZE4ILR5EX3IS34NW5TMLFPKU6KZGKXFFRYG0A8HOF8QUQOKXFQXIE9KYU2ASDRHYQV0SH6GY8AR3EJ4SR3DJVYFVKNZHP2FO2O5T2A50RNGA8C9HMC88V8LJTYY5KLC541YFR08BIXBU8Y6D9DWD4D2H57HKZVLS6BSZJET8AINIZRUFINE24G9TE9DJPJ18R9XG51ENA28W7SWEN1LL3P7PG33G7BOE747EO6VNIWS4ACTHWUL7IE2KRTKXUWFQ7Z76 = -36#27X755SXTYN8XM4AZ21ETYMJAXNBWN2G8E4NTH92RMWAUY2E0Q90W2P2D3TB9BXS1CXVI9WL6036RQPSWC2JSB9C0K5O88U45BZFC2J6BD6AFHWV5RFRRS86N5B1H95DJ00U0RRYFOZEL4GA8RB1TFL5ND6BP6X17TW1MSHCPO2VCYDVH8J9F1LU9JI2OGHZK8IS2HYD98KAEDL51411V29OSUNMZFNWBWDI4DWYRIYKPJMLSXJI06SJG0DNWAKA9NX2A2WROEE4P23O1689AMN7Y17K79D1Y6LM1OQCJ8VXHABVAQJMM9L4O5WQNU67TC0XRWOVWV0G22RPDD9C5S5TOAGAV8IP279DX0KA976Q7U9TMS09ONUIXYJKBF9WSYTKALD5OF4H1UEIGE5XQXB2K0WW5XOFTZDG3M2TM9E0N004L4XNZ838E1F1ZHAL5K9HK255M5JF8VLMNC6DVLSDN23MTNODG3Y8GL88HZI9EUQX5EAPEFFB25Z16Y7Y21U59A1E052BIRKT3X111B74KUGFIH0RQIETCYYBFC7S8YCEJ92A5CZU8OMRJUI56EKJIXH8MJP0UBOOCNKY325WAN5KC0OU1BTY8K47TJ4A7ZLPEUDCTFUJNBIJZP5JE3LVDZR7BZTUMPU0VQAJHK32CPZOF0OACT35D1VBBXUS31390FGRMW90DDATXW7HBEI42E6KLBNCV7X4AFV3E7PDBPR3LOS0VCIEXIGPWAOES79SSVH5CEMAT7HKZLVXTLYVWR0S03P6G42JFNFF07S9H8FHEMF4IG53D6S2R6ULIAIIVSXHW5CV42WLUMA3GRKJI3M8LWB8WWVR6FOMTQ7982BPCH4VNR5X7K74HSF6PS9K4GQI5Y2PTAPG1D5SKKES8W5YX7LJ4VMMIL3I8Y2KFYIDWN14LN0LIAOADJIUFIIIWE75O1Q0DB5EQV6FVNM4ITGV9TONH9GHQ8NIVJ26B3E4GF7V1Z1610C4Q2VVAM135CL0RKLJXJCZXFCRZASF6PMY4WDBDGDUSZYIUAT5068Z2ZC4RVLJ87CIFI33Q4UL8R1GN79LXR37MAEQT7IBW7B1052Y7OUPWGF8RFJT4Q5JYUYG2GGE2PGT5NF3BSIL2TKLX1B6Y9T58Q5B31R2CARHTET42Y1M68OZDZC1WQWHRY3APYBGY12BOK9GBMIHE32B9HIB6VXCK3Z6VMGK6J238CWQ7XALPCD1ZNFVV4S63WAS1T1W6E451P97QJ678GNR0YCUN35X3O9ONOMI4MRTQ4RF1VCLC7V9O1K985ZN7KHLTCJS2FE8Z1XIWDL80E1OFJ49G728EDZQC8UE2ZC div -36#36CPAS22EBZC3LHNIHIAUC6NOZM6IERMQN56EG5SA78MPYE3IMNZT4005D2R9BPOJUU4EQR36I30IYUYBL9ZNR6CB80KVLO2AITE6LA44TCODG6ULW4D9OE95NVX3ESIR8WN4DULC13D66Z65HH4LOTL22LFH449OTU4YKTVTC8559O8O44KITZIZBSWI1522YP3EGKIMAOYEQJCUKPVAD7W2PDSYNGV00AB4UUC2ELMDYTMWFVP7HWRFS20MPJMR6IIE6A2MZL5WYMLQ3E7LB5F4BIATL73BBLMKYXSS998RWJR7Q587NC99IMAJOJQAC4EN237KFYOTWJLD9S9QOIANPVAEBPL38EM04Y92THV98PK9AI0Y17WUKQEL8ADY4IEKVZ0FIBD77KUB7XU8MKYPR2A716W3WQSPN839FK02SZ5D495F7I7XHFWB7YOTBKM1ED2986K. +36#N9X30EP51KWG68C0MDGSRNUD7TRVSO6FWSRSJ382N669VOQAX5JLJ1GEI9T8YQ47L1NFBHDFIMGS93RM79C771DXLGCWQ0R3NUGZNFS0TJ0O6SEAW0Z81GNZ072F29NXAV99N5HE3KFNKN9NLEK3NA7972XS3GBUNSKN9YTXE90CPP8XK93XGXCPC1FTX9M4HNB2Z9QXFBT9P7G5OKX2731OOJ9392S397FDCD1CGEHRK7HURR5I06IFNITGPNSKPHOOLF6NV4PHZSNZLPVEWURQ877E6KLYS26ZWMW1127KA034M2L8MRR8B2GMBVL76A0MP1ZV4KCNP1TKK2SLV14WVQO3ZCOS8F5PEE5E6C8YYUQDCC3ESATGTX6KMNX4VPBS5QXHZJVS2F6R5JROOAPDQNMVUOI5VS8ZSCQCOUN0VHWVDD7E5HD33Q7IG36M5ZLLAFDD42Z3KEJ3N81VIIJYK8IQAMF6BTY2Y730W1UZQYB31OKE801169RAL8G2FCPAY05DJ82XDITJLZNSW1U6WXUVAOWPDD5X2ONFJ4G0AZ1J5573FC58FK1JRBYZPFJDJN6Z753LLGVQAF8MYRYBEAW7RAWDIGVOTSAWHKRAV6IMVBFO4S83GNTZJMYFCBGNRW7L67FOAXJV8JJ5JU7N9K4U9K9X4ZWJ26U6OCVHHNCTM64R1SE7VPOS3IHZL4HLX8AEX9UEWR3U41JQIFRTU52LYL1GHMDFL0WN1V6Q047SBAV = -36#2VD6P4E3K6UQ04L7DK2XOXRARZWZHYZKFVBCY498W2WROCMKK60WYE4DR9RXYWI1P26O59CFU37I6E3A6ZQUM12TQF1QD91ELD0SXMU00LDUD2HG9MERVOLHNMRS5C6J8YDY7OQYVKHI2FDIQW0RC4144DLMTBR3O1JS7Q7S4N31AWDJ78XAXNJM06K3CQ1ME5SOUXT0J0O9N0B123658VK6S67VOLSD4X50GOGCWNKG6FR9XLW9EU7KAV7O6IOSKHG33FO39XDDNRPFWRM2GAJRQQT8SLUMZQGZ68UZ9AIL772C8SM1NCOQZVXG8CXQXQSEEE388S4SWQ8YBRUY72MYJCP7W1KXFASM3IO8YLK6TKUS1UAAOAKGVRWQEZUGWKGU6E7Z7425ETLFNECHFZ5GAKW0E8K2SAYAC6EX6PZL36ORW2V2RUQ86RBTYFZ7JJSDO0WD3AEF07106K9TZPDO5PCVM0ORZRJ18T2SWT72YWQNK3J6N7U4M2AM9I8EZYPZWOSDI96M79TWFTHV17T9DHPIDM0KNIQSZ6B7UWTSSVMBDWAKXR97U5H74902ATQX3VEMH03D2S70N3MYA4LANLVFFL7ZBMJYGQ6NQE1PD6O7EHCAUA9X715VJWG1IW9CROWANC13DKGRGK751X10S018WXNO3AH2FJXTNWN3FP08IRP20BN7CYXJNGCNXP5TPJW2DJ1MO2274PUJMNRUFGFZWJ02S9P2ZBZP6YFZA5Y5FODFDRSXPQ4ACTO5B9W7C4MIIJUTAQ4AEBPR48O2VMMK3XV1QXMVDG9SC4PLRSLR6PY8WUHDBGDLC053BQ8TRJHTSZR35EAS21R54I3P1D1G5YCOWJM2EY7IM8WBZUDHXPB5OIBEZ3TOH18IRD6CPK2W5JW8D1BQQVPUFR2ZAYAX1DRTXY1DA8BH6LO8RR92GYIIDD0TZRBOXMMV86AJ10GDM6FAMFXWOS8MOWN5DV8YC div -36#4FVIM8C7ZMWED3YDTJWNMM4MPT3493G0ZC33GG50QGQX72PR2BXAU1S6EDYZSSWM2B5YXZVQCUB9612QN9OUXCQ0RCF2REAV19SRJ45PDSOI91ESG6TRYDYQWQ0CQE33RP7IPN60B1X0PN41MIM3ZN979H5DHA0ELU6QOWENUVZHWV1DBYG141KQ8XGCA5ESGF6FW3CEDD2DKXNQ1N505OQDWQ1SHVZIEY5E85J1CC. +-36#1M0CSX4UO6PZEO537BL2HG4T7GKPFZ1TSAHQJ6FLUNN46NUN0U = 36#4A2OEI2KGNUMYPIG1E9QB74GIYY45QOO75QM3VDZ0NVZYQFHGZ51YKX5DJI2W7OMU6ZY7ERHVRTA96KF74OPYZP67E07ETDCYRNA7FJL9SI8K9FJFTQ95GNWEQF0MLIQLE27BG9LW37PMYJGHXTU1CRIEM7FC9JZ7ME9PW0ZZ6H8B3WGO98FGFCTQMNF9KH4A8H9JLKZYD7WE4N6MJ1QMWI281YXQTQVRFEAZUOXBSYNGE2RARLXW63Y25F7OKD3GB4IMTP5IPIDQ4O7JELWVIJBAXCA8ROGBXACNFK4MXM2F56LIGRKWAOYMPEGYL5J0F5WPD7MCZIKCM83CC7YDPRDMDB98T077ZPUDNZ2E9TZ0L92A78CSYY2EI211OTN83QNQGH475XJC73QAR6514PBNB0A48GXG8U2Z2RTQXLNBEOTNQYBYA8EJ2A4GB1GGVGIELY3ES68SJBVWH6 div -36#2NM6GBL1A2V3H83J5SC6QZ0M9VP3WAID11YGJOJQBD42SCIUXZQEXXKJW7XYVXPUSCINOQEKFUCXCGSEBYHIP8Q06K5CXPXDQ28Z0PZ6YBN9KE7F6TWS4X7ME3TLXYHU4RAHK0IUGP9XSAIASXCS0PAZC2N5DHZEV96LKSRYMCYSEDOMIIKPCZYSROA3Y20T15GKG07333V2MMBSW0DYOMX98E61GTC368PJCLWO8S9J3JPMCGT6ILF4GZTNXF74NQOG3DUK6VA7BH4GWWZ5WM6WMGHH5W6P0S04H166PMFVP6E1CSUHAOCPYYVHXNRCEX78LJI654O6PAFI7QNY9DJ6QI7BGC0MJ2M7G6UJPU14Y4R6Y3A2IMPYU4Q7IY9IKEMQYXX1GDURAH5F267A3X5OZJJ9OG4S8Z. +36#5QXAFOQQX7HKTXWB84IWHJ129DFCE1FRYEP6OE2QET7DI1AF7B1N3CD3VT4L81DMQCUWS73BI4PVQHEGQ8W6JWVT2BRF3YGSFF38K2BGWO09OZAVUM14A29CITPNTNO9QN4YHBHDTP2WES64PXMYX4432PO5PASBWPEICR4PUVWZCKSCMMI7H3N8QK81KTBJAB43J2AAFBVF1Y4BAAN6KOO6EBP0Y6LTJY4ARXGYVZMVW9ULW3BQXVJYOUISIZP03Y81O9R2UNICRW5QFASKJYN8D5XOTFTWT347XYCV8EY7C73JXD6DMVW0G1C8Y2UIZ6CAGPMIQIULHTQYNHJH23EYY15TZBX65H2EOJU6KRU19ZHUSXXK3JGSMFSLUZ9F6ZTR4241LT7XJUFF8ZR5TWDN26QBQIHZLZPUGR2Q6N8Y9CEGIAHAR6IFY4EOY3KGPHBXEIZ8ZCG3FDWZYT343QED9XQFSQPPL9K6SQZA43PK2CAZ2KKBXZ4OJ2GOZSIYI0426B11Q7AHK69168W5GDYPMIWQU6QOWVEJUIS24W9BV9KJUS1UZRHKBL24R8UMKWQ33V = -36#7ZJ94OWMNSDC1OY8JI1GZPYFQA9IM5SYOBYJH4SF29N6FIWM8SQYS41CKJ452GO85HUNDPXOKRMO29CNQI005F3RSL7HJK6ZE9M5BFPJY9G1FHYKE5DCRUDY601Q7HK6HA1JM2I5SK27H7HC92JDAPXR1011TCPV2DA3TLV6EWICE1KOF6W43FZ1QWK3GFF6NRBM0LILZVXOA0F892MNO4997G4HE2KNXMP8GSGXBJP2T1WEML8B2XAPNDN4ZWSUBJ7PR6VCFPUNVSR1508CRJ10P2EA15NJYAM1S3DS8IJJOYCNE13AUZKRLEWB6PK07601PWZRRJUU4XJ4AVLW9O7TUHQSEF56WMOEFKWB3PL4XIVDKZ3MUVPOJJUNH35MF4J3XXC4KEZXO5CUR4G08BK7FUSJIZ68B17VT0H1BZG3RLH7YGRVR87QV3RBB32KKVA01OQU2HCDWOW2YRER316VMQGMLNNEY64V2LBGXTACEXIQX0EBJTDV368EVXBRJ9G6JIAMX6SISAHH65L931S0T2PJ0WNJTXOA1384GW6G7XJQPPYM6BDOBMT4NEW4GX384FIM159YVH08ECXIMVMCU2RCEWEWPY501MGZ5YX2T32CD6GVEAMHSADTRL5SN796Y1CRA1G3URJRWS5WDOOE1F5U div -36#1E0VFCN8AM8GQ3V0IK1PHY02I1WDYSDO9Y0ZN0GVP1G0CV3X68NCWKWJQYQOAXH03053IW4B24PCML8MR5LKBMU. +36#LMF3YVU3UCB58M5M9IKC5IT2IIPJFCZ2U93FVOAUISY1XOK78V6XE5FXIT1U17B82ITNTN9IQGQ34YO02N3OIOMEY44X8Q6D3ZZ4UTNV21J75RFIV2QEL353J65Y2YOXVQEEX5P1PV2II5MIVBWZQSLR3D45HGGBUZPJA8HOB315G02TNWZM9834HHQ6VS9AFU6Z9QU5CTOL7DK7L0HNKLO3YMDRI7MIZOGH049V3DBBPX688SRRCBVKFEI6NE6BW1H9ZSTQRCVYVKW4DOY57Z8DHHSRVXHQDBDQ0PZLTQW2GZ7DPPZ0CDQYYS5BJVO81HIRH12BFNTLFZF5U0P2IBNYFP1IQFZ9XN3BNIRM8BLBX6EHJBKISQO1WVW = 36#14NWHN4W7AX12IWU46F74SXHYE1E5XDF43XPEG73Q95QPZNEQ1MSK60P68X6MCQ8MB5K2SPQO67WF3IOTX62U72IICH3FV8UWZWVYJ67FZ9GBMQS33S68X8HC6Q5TLT42XTV0TDXPM5VOVH6QMI5H3UFNB7C6MDR37HXO2YDPSQQK1QJD99WM1L1SO6330JNU585L4T4PIEM7RJ3X6TIHPGKWY2OIQFO05D6TXL5QIN5TVRYRMPU7Y3SFF4E1WQLGPQY0MFY45KT3BOCS8R9VY9FYUENJ27ALJD1OJT10UIYJIDBUYKNP64T75G1YGP0T62YVP6MIW8VRU9STRJJSOWPFR3A64ZIZSI451VHLTBPNV7F0ETXU72T6KACSRUKGL6PCWDPU53D7OVQY68NW5B76TUDJFYVT3YN7BFTSZGUC div 36#1VP9NKKI8MYJAUATTW9BTJ1E8CYAN5DTQ3VSFMU6LRBSZAF74F. +-36#9D6M0TL35Q86X16M0DFKH0DGLKIXN10WHXE7G5P1HR8J34IDF = 36#176E3LTTXSH5NFG85ULD7ZXFVF02P5JDQ874IRNYO8I8FVZ7GAYQJCG0XOO6WEMOI6M0C80HHRF2DRBYXKE2F3Z3LV1LITEOGNJ1PFIGF17I3JX05LBNDI4GC3AF5RCP1JLMD60SYVNOF755RDF13W99OLZ6DMYNGGPJXW7QP4XGFI69B8FZPJN9VN7IX6R0919NFGEYOMRC1QAWRI06OD7T71I68P5NTDRL7SBMTBK7HN5QW08CCFGVG2L1ROL74E52F69ROG1YF2UJQ6867S6NQIYS929XGJ68RLMSA017Q6GGHEDV0QTKFODCH0G5O482F7Y58JGTJDXQ9PH0NKR82X484CDPVPOXAGPE38UAQJTKWCPSSK58FLEKTFDPZF7ZX68DQIB8WZE7L5VMX7A2YN6DDEX41YO47Q9EUY4MZKZ2DP5JE1KTU9ASS3WMY2JXF1UESRQ3AZ46759JBGVJFBB50DPK0T2KWD1YCA3VNHNQW5HN6I7EJG7FGY7D3WSBWWE65JE00S4KZG8QG83JU2JV3I1KSF1IVFENX493X2JL1AJG69YIP6R7JHCKC9Z7OIZCVS1PUGB6T99KSAZYSYCKS2ZECDK914Q5Q9TLBO6UYJ0U5W60NOAW9HODBN1Q0MRPUCXCKCA02PUAE37ZS4HYQM2W030WI3BCU2WVS0G9GBUDC133FP6TK9788P01UXUO3TUM8HX2HT79UNH0KJ1207W8IM7V0VL3IGE4DUX2I1V9I4AYY4GZXHD2TT0PU2PD2R9SCMOV6FKUM71YKHGAF5T5OI7QX4JYZBF0A2308J4GHH1JJFHARI4416TDIHOEMHY82ANG7RYD1KPUF9Q91BHJYI89LP62AAZ4UYHJXZNEWPXB2F4CCHGPEO2HO8CHMOIXF0LPV3K9SDA2ZYIEK7K9S4TS5VDTM641808QHYJFXY3P2OZ5AQSWS0IQAKLZ676RR95P3O4KM5OYHNWFGZAYQIEXINB7D4LCWYU4OYF5KXX8G9 div -36#4LYGP8C35ONFPIZR4MV29FEVPI51YDOM6OO8B175KSP0RFY9FJQ5HLUYPM4HCVAFIS3FQPQ7VHZNYLDL79D4BPI8NFUHW7C9BQMYWYPJA19745SFQ25TINQL4FSSJU29U4NCVFHYWN08N7A45XO5KZCTNA5RJS341GLPMJSV0R25VQ2NVQ37VDH1W6XO031LP1PROZC1JGGGEY37DP917O0UGPDLD0L0HAHLVNUPFR4ZA7BQHAAWN1O1PAU5KC8PWT7TSKK1HYTEKI69ZV8J1442RU6WVXZTUOFAXY0A9BQJOQIA926N67BZDIKD161EPJB1UF88QMCTC49CCFYEMRV5OQH63YGV36Q9SPEVED9B6U7B4VIUWDKVG4B8J25QY9S3PL3ITE1IV8SQSNW5M1IJ943M1DX5UUV4KT55VF9ICCN1OUBEYN3R9BTICMEMJLP90DWEDJ4UKVMENDW2QGBL4BU4H0XH6QAE9G9911ES8XS06OG8EFAFNKJPMXRWNAXN60LB2XY38LC5LUYIJNFMEW122F961Q4R1NHB2NUZ81S9Y30DQQWD2OC4R3STXQ6521G7SMTSQXJCIP2T3RX6XX2N5JPDEMWECWJF271M4V8XSOSFDVM7FVJQBM8MHHPOFT0KQQ1IDORQLG0OJNSLA4OAI5O9IZIJABS4ZGMR2CTJHKMQ2QYPZO73YATXG2RZW5057U077BCXSK3YD4H24Z4KEP2HZ8NORMY57LMON8IBZMJK50U5QGZCDVD0BKZKQ8B3DQHP84U5DH4I5LYOT8T9D689FOJZ44S58S06OSF0W6PWXGUV7UI2EUZR4NYI0QNE2NJSHGESRI9VLYKLZTN1JEP2XGTZ0E6B8MQVAOQVPU9GKADDFZI1Y2CCQ5TT4HYFXIPJKF9WV1E72CYMSLEA73UQ8HDBLSIN7L3GBZF0036L9J03O1LDD5XELUTBM9FK3. +-36#1VZ0LS8669OE0G96BCDXXJXHT9VEQYN9FJOOIET36R892YTNKWCD11DSTK4R9WB6QGP7XIWKLBKRJ0GRPFVDC8P4DSNV4TE8OOYX6KWZHUFMWXWY60CRML86SDKWH5RQ6R8XWHU9V7ENFA5P5IOIZ09OYH7ME0NODDYQ3AYEXEPW77AYNU5PBGI98C8B75FWRXDQELBSWIR6K9JCIEOYMUDKFC = -36#ERUGARRGVKPEFN5NE2WRKQXJG0D0GRHAOFV6H6JJ8TE1077NF * 36#4LMVPKBFBN9PC8GFS4LWC6B8FTYN2608Q8WCRVB728ZTX15EKBHU5AF4O1SYI1HVCA3JWP97RLSKG7AXG2G70XIKTI0U29GSQRFDMVPE0KTN1OPN0G5KXDABJWWO1ORUXKM57KTEURS00UM97T9DYK4R2C99IRFFZ3EF4XG1K. +-36#27NN7GPDQD8CSCQLAMBXZ5FW3H9X7S0CVWROZQ2BQXB29STAIIABIHPT79M5GEBF46ZSLAM4UQ7U8GZMDT1FO7TKZTXJ0FG1NWSTT1GYE769XVDT3U2QEBAWJRRAI1PPPBY38ACV1HJLB1MGC50PF3ST5YINYC3I06X8E8Z7YRSXFEO5W83Z = -36#2X2TFQ29I1WFTJHHJ73581AFF9MH07DPXQQ29GI1699EUQ7D8GT5BH24XU2U6NYINKW5214K2GQD4XFQ34PH3Q7M84JXT4L7910TGJSGTCU4NY6WWEDTM6E6T8Z4D6MQ5ATU99O84RAYMXA25KWFIMEZH58PP6KM5OL5EYMN7UMHNDAFGYX6JJIQ6CZ76KO8JT2LL2SMJ0PSTZBS1SJRGC70HXBTUEHGE1WOD div 36#1BHLOI9R9WUXVBP2D54F8M7HYT7EM76LQM6WMETR4WT64VAPVN. +-36#3BOQ742JE107MWQXPMZ77AMM33KNV74CR42EH1HUDQLK3NLA34SMP98V2U60OYV2UMVNSXOWSPO101DOLRE8D10DWG5N3X7EKUTR5WMZ5JB7WP7PJSGM6HM9SWB4B84WKSOYIN3VW56Z0JQO95A6V6U44RDBUR4G6YVPWWCQI48SCZXRFDZOMWSLJ5SJFEV2RM9TM8FRKEWBH7CCQY61UO3L3ANZ8V2MPOLJIRQ9D4F43QRE7Q7B7GTAV50ADNM9YTS6UPPAEL9LVNTD63FBUI5NZ43E1IOWOWHHV30REAAKIYPOI5WG263QZK2SAJJEBB5W25CPGLD04FDUGXAVDGM9NCJDCJ8M17X99S3M00P8HZHUBQ2OA9964NUC4BPJI09WHCWMLJIN5Q01UX73MRINCGVVQ2WKAUEXS6BGH2K3AE8FGCQH75XWB3X91NKR7STH96Y1B6HK61SQUD87CQG0BJPINSSMB22AQ6RGDTHIVBZWJFSALN5673I0 = -36#IPDFY9N6RMO9XUL1YQ0PXDR8S4H1TBUQZXWXLQ0LIA2LLZ3OW1KUQWZA0OXN2OBAJN5C11KW76X8RM6NMBJFY3MJW4HZ020HHNO8VDDGVF3NVMQ3AC8AMXWE1CB2VOL6780MP47IR9H6VIVA67XKD22ELYHHMXW3VMYGS2M984VOSSRQUHBSSSPPS770V0VFES9QL7JMGJ7APCB4C0YPIJKMCBFIWS9J274ZLIJBKWMLO85P9XC9LFBETTAAQLBWIX7Q5C7OMO51VQ6OOJIG7BXWYI02SGI73V9DTS8BB3K3V62U5YPE97M8V4ALS4X45FF9J0M44OZWKEVHKL0IITQLJ8KY3T39J6G46NU1DN7B7NN4ZEMTFUAIFN1DDDII48OUNGZN19M1IRHHTWCBS9Z0C1NB2KS7VRD8IJX6TOZ3Q31OEY5V1FDFKQE9GZ4E8UJJ7CC1JQFQZ7HS7QEKGWAJR1XVX2OTXGIDJAWDKC72PSGLRKINIXGWIIF2ODYD3R35SGJOXXFOURZU0IXKO6VAZ61UR3NF35QPFDKHDCYM9QJOQ3PZZ6KOF57KLOCIOYSAIDY0DWV69ZKBFXT7WZMPSOH1665ADVYUMCSE2PRIZKR3ZAI0 div 36#5MJGIICZGWG2VR8J4UO8MFFUX8K8IAS7T4RBMREZ2X4INUZAR09NXGR024HSOO70E41URM5535XUAXY9A6IKKESOGGXEGXSS1IL9V6LKVJU781CSWVLO3PY43. +36#5LR16BW4JSP2Z44730H6IW1HYA72T8TOGQ9OPG4C8GX66J9COE24H4XL5QXYPNM985C1CSYRJCV7D79VIP2ULCGG2DNQ9PUNKA6KQ4GFLMRYRU4T3BB5KBOZJXH0XCLVB3F1QG96HLJ48J1XSAUEN9WZA3F3SAL0VA9GW5FWVYFEVC4ZSH8ZBXPUY1SA610F1Q1I18CGDU1X33BL6N2XNOF7LA399G4JMEDEOKTPDW5SHFXIZ2BM9UGIJA80QVOPV4RMOUX7QYQXVP7BC0AKYJ1F9ZU658NKRT6PS9T2KVEEOBMN696B38D2FUN8N90NVMZQ5UWIF0VPAJE8B1MPDR8ATKE4WWG3DM43JD6ZZ95HCMJDZCQWXZAUGB9EIH8GNU2J43VYSQV252WCXSWZP7YQNPOKYH2K364RNOHI37HZ35J8PW9UKVT5G9VZ4MTJHI3FBLI58Q1NYRK0RLHXA4O9UROOHWEYT7XHKSGB4UQJUE2YXK98A2A4RQ4BSCBM9PF3SBN2867UKVU3L9VA1M9LCYHSHWJBHAXXE0UJ5FXJQIQBJZ3VIBVMRWZQF2K3OR2AQRLYJIEVZAFGW1FJ68PBS5BHBAGA61U6WDSZ42EUUTAP3LVW4PMZE7EXMBBTD9U7XJA60COAN9IJS8JPWB4G1E6CE47VD8I5SYV3U959CQURGPXHZPDIKCH2ABKBSXI = -36#2GAEYQBZZM5F78M7QMKCOFB3K6XJ2RVW5AY9BJELWAC7RIMLHR * (-36#2A9I504E1CIS8CM6V2K94OQEMXL1ZKCKFESEZ7QF6GB4WSNLRH087J724RLRCKYUIW7DEVMW7R2F3B87U38UOY8DJ8A7ZBHR1C8MHW9RH3HGA4WWAQT83ZGXF8K9MAHT25HSV7XTGW28O3DE1NCO2UKQ99WZM722VHXNGSFFVLT0XDZCT0W837EQ4B15VCEEDOE6Z66Y1GJZSMIPYMTY10CBF185FMMCDKOMBH0UOATG5N8JG1EGFT0JDTTDUT3HL72SR5WKVU0D7P7Z4ED91BLEXOOLJAWC1GFWU08YXKI217YW371SDN7Q7G066HV9KLGFSRETGJXG52CC5WWRF0N8GMU6TW519OK8LKFSEM4MJKKMOP66NXR2V6FSP09N5NRS6PA74LN2P4FTY0DOE62H7WBEWJ1NLD9QHWP3D4B2YMWVYAR88XBRGG452M1ZFC5KD939E01O1LRRKMC1ZD4ME3VUFBKXHFD0JGT6MBBJ3YHQFB5NA7P5FKQYU4NKTDX8FEVGNA55JA2OA3EW85RGO4339FK2XHG64MZMW6P5H6YNQPI5DK289K4R32U11LKGQH772OFJBVRKQL396J58HEOADYQEAMI1KRUOVE8HR56W6G07I6JNP264PITABJCCOEE0R606QI94OA). +36#2Y1JX58GH0UB5C7NRPM3Q01CXVEFUYJGVMYIJWX4722Z22R3F9Z3YRB1QRNILUKIKK4IRIJ3H2I1D8099YQT3S5KQFMMA6ML0ONXI8JZ6BG7FIKACOH4Z634IJ2VZ2IG3VPL68XH8R1HVU078VJJIP3KRXTKSDPO9KWIWO2B68OMTKVYISMA0PEOMO0MGCW0V0OIWON8K3M595GJAY7FMDGSLP0EZIC5UT2Q33BTTL4YZ5GPDNJEQCAS71LWH8EUHKF1OWVHFJN94A37HNKAL6C1PN19Y8DBN5F9ZZXFMAJCXMCL028R0XXJ6JBI2P2HJ72ESSAQ9UX3UXFMRL2T5AIWXGH87H8UAP9F959YSJ152WFN3XHEGTS5RMTYMYR3GQLPHL2ZX9GYCDKI9TV062RW06JRK1A5L5RQAR921RHDP20UVMBA4GORHV7AGLGWIPJWQDC5CPI2H4D1HZE4YM2SO1YWU0KST2AY7BVW10ZRG31KTHK42QVZOABJU2N6OBLVI62ODL51ICJ3X3U9UNVFKVRO813YJBM0IT1P2EGLBY2KE52WYC5TGU8BAFY2YTW8S20G11XCRMKFEAVLO093SED8I4E7NDQFLZ8AEY2LP1ODP0ZDURV6JY4E8HH2FYKZ1WCA01OSCNPGJSIKYQ7ENCJWYEUWCD89QDCHA6I9751NXOV9X1HXUT2SSESHORY3XJOTLWMEKJQUEEYRNW5KNN9SEZXLXD8ARY5AFDFF1JR5EXRMYZVUSMV = -36#8Q80MCI07CLXTAG3KA7N4MO44RNF76MX5PWU9KJUITKANKUGNWKTI36M3TO0D7FDUAASWB7D3708LSCPE2TQH1CX1ZM93XODF5O310H5ZL0Y5A8J3A2PASJOT28O3YR9W41KR5906PWVILW1ZDW00GAZNV14KSRUIOL45CBBWQ3VERKLXN4FAFB8922XHGR1OMW793IKN4C7HCY4SXIPFZRTNSTCXE58FEGHHRQR4XY8T2E2OVGTCP8BFX0VP1SS4DL24W3VA9E3NCG482BW3G9HEU046H584ZH5BECQKB5WA5RH11MCVWBE5OBNPEU6UORUTDZIANLV2WP9G8J1R40KTIDWQ2DD4W2EN6XVUDYAQPLJ3I542MA7IGYC06C4JHMPOILCFBF96ZFYYRTBUGWKH0CNG704TFDOA2ZUDV3C70IRD17TUT0K8T5EFGEX1R1375EMTO9EHPY3YHLLWUSAO43FO5WDAFNRNWLM336RLOPPY3Z0QOC6953UMYJOJV244PQWVFJKRDPPC2R52P7MUPM4MAQ0IM2F3AF2DKN8ZQCFC1IM6RPYV7MK5DPECRS4GVVJO2IYCZ92JS998WVMLD2JZSOVDTV9MYBUQALLI05FDFZUXR3U21UEDT72V03K3KUG6ARWTLF9V966G9GD7YR8NTAXS7CG8OCL8MHBFXJL8LTY714RZ899RTYD03QWCQWSFGCVDFVCYZRK6BS1YRYHXZ1J5P2H4O2IB9C700GLM0QK4N0UYP68F62W1FCLAAT63S4L1A44971RL11120SW2L9694QRIPKXW6OL div -36#2YO954CCPB90G4HLIVEL77TY74OLW3L80TEC5Q9Z2TM7ABNHG3. +-36#XXRIH4NWQ1P4DTAMJD23B3QDHPQ2N39T7HW9RAK2V7764OSN0 = -36#K1E39RODIAX88OG774IK9CW3SZFQ9KEXPP5ZGPNY5G1HQ3BRPDOX3T4U91ZE5F2C3NQDSCE6OUBWO3FGXKIFFIHYDE8N1UG4WM5J0WV7MP87QI01ROOP8JW7N2C2T9GAH6ZAJOAXHBTA9BSWN9C7B06ACHB0N9M7ELBG0ON27TFTTNZWB5B5FEBXTHYAD8XWN27CWPRUV4JLB5N88Y3C330R8XJNH5V8R99LDPJJKA8WJO9D4PSB6KBY164MTFFNHVDX1V9IOMN2YQUS3TN6JROFUAUABY96W0TFYFZX2UELG7EHOB5HSD34NFUV890VMSNKU301YHFR6QTZQZJMIQ2TDJ1OQVGC672EUGDXNTRFNAW0BND5NZY2MOZOZ4DIEK4B8V5F2DAGUQEY82KK9XZG2PMTLQ66AIP9N7JFVO38MC50R5ANC69A82AR7L7CXQR2U4CQQYQDPTVHHXZPDGIAQQN1Q2DHDSOTICHULVG76UM563EDWAJ36TR88WEUJBRUD1MSUPM40SFQQG5K204VQ3YH8CTSBVJYWIWB28Y2ZXZRUURQ6I5CV1RBY6IRPFODX80WU4KT0 div 36#L9828NWM0P1D4ISVH9PKTPXNMQOU4AJWTS0VYKZWWZBNZS562NRDF4KKY6ASADKGNZNKE18Z6G4DDR1VY5AOPJQ72FXS0EXGQ6HIDOX79B5T7TSD5XQ6QJDNUEL7K8YY90AXEQQQ7H2WRUMB6TM3562ZBE2ARSSNBLFX0YQ9JZB8149SV3DH3PT7S0E4U18051RGV0E89R5162ED7BTA1UYH4FQ6MSA9AYSB20DEY8MIGI6D9GJ8913NDGQCBI8NL0VBY7CMF0XIKXBKK2C1D6WTUB32122DX3Z3O9D2YYDJFFL6FJ4SIEJ3AAM26AH8AAEYI3NIJ5W18ZFFF94N5X987DO86FQQ1RLALS1Z19A903QEVT9PIHFFI0C216WEMCNXS4NCK1I57EPHHIZMMSHKNH8YVSAUW90FSNDK7V55P7I8S6HYEPBC66JZ7UWG24QWI430PUN91NJT4IZE2YRLB6R45AR7ON6UPCC0G13FEHUT2I4KMD93VNTYGMDBTTEGSC31HATS28HYS82Q6LVWKA3V. +-36#D77H3IEKQ5FBHRC4XXV5WTYORH4A3C4ZIH1L738CZ5N1WVQFAW0E5DLOC85SC4XRSO8XR5DLBEZSW1ZTH68Q7LSOI88U1GOZEO4EYOCW719ZAF64M5WSTQMOWGZG2T340USHXAFJYVXDJX75OC8GAW1V0V3XTTPVLJ8B2I20MTBB379KB29129BUR1JSZJAREEKPTX7UXRLL0JDHIET7US1O0GWMZBJ9B4 = -36#9MPMU0K342YBYCUMJLXYXBN3T7YK9ZW1MHI0ZRD37F1YNN3T70IFZJ3U7TVUXMBVO2PSKON1RPJ7Q859KF3R3R9NPTIPYNV4EILEFVKRFJN3HTCXAEFEYBHUUR4BW46SOJC2BSXDSXH1EWHBWD7ZWCH3RD21ZG9BGXRGMC6KQC2TOGFDCWRWLA1QE70F6BVKZEOQY5TB8HHMSNCJBFNABWZUG51H3VL35FZEZX1CIA4J3VWEGPUFLG6BXV2X49LDDAADZGX9RNQ18KGKM0W div 36#Q9K9UOKZW9IGAI9WMR2MMN704Z09Q2EUQ917WAZOSQP2V9058. +-36#H47PDO0Z1SD788IPE885T863P12W580GSUGAT76HL56ST7TWC3KMIBI16MOQR5MEW74QLA8VW62EELXPRYJA89SVCO00YKFIQJCAX36XVTCZLP7NINEU4N39RVGWY4E0Y0MMEUB0UJM7KU1A0HE2ETLI0F2R0929JNW2JTPSL0XTE67TJYUIB2LUHZVDDCM5KW6HYIQ31OU0QBFXBFJ5UNHVYVPRN8ZKNFLVGLYHJQJAHIXIBXZ7SQ5AF3QGWRIQ4FLJF5AK3OMCO609TWWIMSLO6O0ERL44UZ1DK2UUB448I5RFK0SDKQ2JRH57WDJDQPNE26OFP3RA88A8I7HXJ4K8MC59DLUJMIONTU6TIK8GL4XWFOWTBSJOK2JGKIQB5UTUKV9M76OX3SMCMZRYT1Y4MAQKS5T5HWODXNE64D4YB4LWQ52KFOMX8IMCZOW61A9TYP6F18TWM3B3X5YYWU4NBYWJ3IYKTZOB8FOPFGXDIPUL8EMMWE07KR399480KEVGITMM0JK87KVOYLEUY945OXSDSIYAQ332DKRWJMS9WSQUP1CE0G6ZSXBOKN1PHS0MKCTNE3H715XXLDUFQ3HM8PFU2PULG3UP1C3TJY9O7OHORPI2E3JN6NM6XS4KYRND3HQAZAEDJFGKU5C6EWMOQ40BGX5H854TST31221TM8RE6KV7Q88DEB0HT5R7X10CSYHST64ANR5HRKU4C = 36#OBK8S2NC6NJ41I1FXKKNUCS4EU1TSR473X5B95X3MNSI3E6OZXOKM30SJOAIH2DZIXU8142LEVSP2MLG7PYNY3TXDA0PGE8JP * (-36#PC44T6CNTM0LSW95VTEJQR7JC6CUTGPS0S6MTF04Q5YSIQPE48YX5NJ1KKT4SGEGXF4BHVD8BKO8RDPD5CWKOLJR3KQC2RYIVT4H661XJAQ01BCDQQK2SNTBRLAYDPZRZ1JF67BN19I4I6NMYUIMPSWRYR7KFW43A88YKG6DDKL38FJFE3AFMPLJNIWD0QR11RTDYZ48Y1BQV6FAA1BJBPZFEFI9WWIJTUOWKOBPCE8CA1TDCX4J8JX6UNRA3HPF213DJC409DZ4CVBHDBWUKG97592ZFULLZTRQWLW2YYP2PGAVJBC18WKS7IQ13CTD9DWFYUMFH0QAG162VE3D3BJT3THCV1UQ0HAS8I5SQIKUPVYKSGI72D06WPTVGHV5S494L5RCW3QK76YPLSL108WW4UBTPJ13MOJGKZAUWFNUBRLW9BCURUQ4O248J76CQVQVSPOP2INIHN0DF0VA85ZRAA5KO9F25UVYX4XPMNU1YWPU1QFHP4GKDNEGMPDB5WKNHGRTC0M6EQB5BOA4HY8BZNW9MAQDXSWLOY1PKY9MKGTSSAB9FPDYBFJHWE7SJEE8VM9NZ25TH7ERCDCEK6AO15PMO5VQI2MQN9KCAKGGG9WICY8C). +-36#44K7YEKQ36XZA2AQWLOPUBUEU0Y60W004KRJR6T2K960C2ZML5GN9QY78QEQDBXPIEVPAVGEK8IV7I0ZJMS69KZTKZKI3P1HD5Y = -36#1ALS0I2L7N8WYFJGQ5XU2POAGC6HWV61Q4W0ABJRWTUDGSW2UE * 36#36R8FF71F7YYM3KPDVSPI4VXO8CELLWPH45PV9G1JXP7K4F4N5. +36#6WWMNG2U3N10QHGEH1PXXUU1NCTTYRYMPBELNZJA5ZMO6YDLNVBCOXNJR1YUSHAKW1UGLKL751U481UGBP0W2ZLM6R9N9B0UCW0N7Z0UAKYAVYJ2OOMQUYPLFN7WDOGSRZM0NDM1L44DIK21EFSSU3VF54NPM0O0DF0TKQWIYD00J97MJER6N3MWIQQ7TBK9B8L59JURSL4VBVGWS833CRA8LJHSDH8GZBGHR07DQP6PXCFNWT6LLFPY = 36#27CK0VZKISPJX73U8UMNNNARU78EBH4KKUVN9AL3P9EA31LAQFCHP0Z9MDOEVDTV4FU6K0WUN817G93B1DYITJXX2PMTC8EIH38DF7ZPVJVYJZPJX8ZW6FNMPXQ4DWG5J30QE07D26DVU5VGPKX6368BRPZIH0OPCFAS50E3VY7TBWPEGSYVTL79WMTG3BH94PJKV35 * 36#34XDJEX5LEHKRPBZP67UQ7054Y22MXACEEBYPLF8KVQR62NKIE. +36#Q0NI045OI6SSAIHRW2OQN7BADNPPI0LQUW9CAY7N5R9Y0TJN8N7EVRGFA1BTEQXU3INT8AUK2GC62Z83WWSWZ6N9Y7MKNZ4VDIA03T24Y3DSKFJB1UF5RRA54ZB2TTNCUBX273PCLPC09XDCYJB4M836SMDSKLSCRD02J4UQOAXT4Y2GGJ1UN5TNBUIG99QUD2WC0IZADVHRZCGSOB1JJFZP69HXKDEBOEM9V6MHKXL2PNA0KPLLM5MZ5CCFEYAYPVPCG2Y8DX7SFUNSY6KCQXXSME2S78MU3WH8TXG2DZY36YGE7K79K3RDC0BP2X42RV7ASGYVYCN7I26MPP5VZOGDF1RVF5VOZ05KB5B197QC3GKJTOU3L7GAOZKGFPQKBCTX7MJXWZYY9BJUB53CD4L8P9PAUD086OY1ICPEU5GUFKIU61JO6CUBUMID50IIQLKU7P68QUKK11XR6S3Y6XC8FIEB2OY8X64GJR2O97ZSYTCIBT8N9H5X3LRBCE6B8YB4N54V7K24H68NUDSYO4HLOY4507MW4IPOB0GCOQ9NQNSO5HA565GYXCVCA2J990GAHIT7XBHJ2KEYPQIA96SS4BUTATLD6A8MBZYMNTXG5CP0UV6OD4N1CYABF = -36#8B2P7337TQT3VCFMKSQKS28B8BWPBPMIRN9L6606SERE2GGN278BNA5TUNK2QF4BLY96R6X77CVSFZ9UHFS4ZYD753IJC7DOC88K27G51AB6VXDTQ1M8CC5W56O0RUKBVKOQ7GEKPIAFGAOUJX6PY6BXA20FI1KKPDC7Y98UF581WGDNGH6F20K7JGHZVMRYDF3DKDRRWG5CWIVE9SEKNMRF7OJ9TNMRJNO09QFAB8VM5PWUII2E2M38VHO4AYKQGI405OHQ6S7E01HCC7UXAK0Y1F7WTAOMC8HO7KY2N7IZ3GXWWEAWYWDOIP7IR7SKZEDF1C8YJR5B98PEXJ2JOZEY7CMLSFWZU0MASOB6M1SF9GW2P6F3UDF6Y7T8N0Q2GIYJXBLIM15DRM7GFIDRFMHCL5USEDH7G7GWZPBSZ70A6DYU71IS5VIAZ3MFBJTRVXVMRN4THDDSXUILAG3VJ14BRANGVG2QKEOE6S8RZQ7PR1BG1FDW79ISSQF1VG3VKU0116ZC614SSBCTPGWUOBN9LUN63LXI6NSFHCQCJJPJAJB9M2RNMA894VQKPGSF46ZYUL9WUGZ7 * (-36#34QURVPFOY73N6HCCWJ4ULPJA6X6DLSV7T68WAG0VRCS6NBHQX). +36#6RB3R43N3LAFOWNG76ML6SGWUDXQGJE66IE1DOHJ9TJUC6EFRMPZUALSN8VNNCADC0AJGSV2N43H1I7UU6Q3SERHYOXNEFBJT8UOQVY5DDQ7DI4OOSTM6525OWB00QN7ZK2BMAE27J3WLL18LJ1SCCBBSO2ATT9ANBWGMAPAWDNKKRAOOL6EKELX6SP6WPGP657ZQG1P80ERFSCYUJGKCANN02H852NQH2GPJ43YFYE42VMGG6HMR9VWCYCX37PNK1XABT51D5DWX6NFQC0 = -36#H3HWUEH8OI2885YUOF1PPIL081OEY7S0TEYKSKDITIL5D0C094Q0CH34NL6K6OEI765EKSLB24MB4G4R7BI8E7AQHOZTYAW8E35JXD93J623IC0 * (-36#E8BADSARX3NYOFMO67CCB0LAM2NFQ0TJV4MRK54M7CQKP6U02Z6I4JZ1HU7FUTRFRSO6LPY2ZN6TOBY5RN522ER2TISL3530IJJD9B46ZOFBIEPEVXIMZE2HPYDL5R1EI1C8X0L64Q2LHHSQ4QXKO21LIW4TSZFQ230P). +-36#YMX2TH1NKV2KD7M46K73AFUYWLVF2YC4HOMVTKS0WXJ6WF0TS = 36#57E6VMRFPP9LGGGNA6BF6ZLPBII0JEY1MD051AZ3IH86IAI2MJD0OUR2EQ6GFR375P6KCKQ8PUIKH66VFYNBN81Q4JYTM1M94GLWTEC06TZ1XZVNWSQS12R5W8JBIF57YSA0J8FOB4HHAJ82C2C6TQZJ4MC7O1P2N3AXBJCEXIK4HJ242099YPJ094V0MB5FKUPDE7EHWL4ZU2QQD79RRENI5CVSF0HJ8NHF573LSIRBHF2P700KCX62T0Z2IBG5S1G9E5NDX1QIDL61J9QE0PX4UGAKMJNYTCAC75U3H0LNBBSI01RDJPHTMUYJ13BRE8XMX77AVFM4YW7VCKN7WNAV5K2FUHC3KH31KP5DIVP32ST6NPJCR4R6XS25X5FHKH0X2LYJMALJSQ8L7XZKAQOSR2PSGE7P98Z72RN9YPCHZOCGINWXKPCLUJAK868006RQ8 div -36#5ERQFOAS76HGERB411ZVX1KLHCL8QQ7DEYHPAX5UIZ2U5S1DH4GOTNWE72EDBU63NKKGEHPCZNPEWUUAVNLCXWWAG6Z00LWBQIFDMZK28D7FAZP13NJEWEI7WWW3XCOJVNHF90KEQZ1DE8VJKCJF2K0LR5EC3K23D3CULJQL6JAV4HPJ62DS3922T4V1B7WUPOYJVDSTWOYCTDTT9HAN9RMVDNP486TN95T5X5M6KVQ73WZ967LNZOR5RUUECR13PYCQUVUF3KXFP7LALUDBYZI3JU1S6WEF993JCALGVTSTDCY301KDD3JEXGVWXM4825R0K3C2UGV4LYIOAEU2QCJTTBM5ARBJ8BZJE5GJPQGQVBDRENIRTARJUYZUTBUXQUPPKKD6JPIDBBSPS6QQ. +36#2OB6GNYNY11V0CNNQYY5Z1O7WRPIDR607FP0IIX0BG4ZO1CG2X = -36#2L28K3RURXV8OPSP4248E7D13LTP6OO0OP8H59GUGAQYN4SLC92M0VJ79M8J13EG2YFI8SQ16B6YA409XGWKYRMMVR5XC6COYUDCS5PVJ179LVNTS1O5XCIJZSS5UWEHN3VRFR221SQAFHXYYO1YLMRGQODBR8USA4TBUGUR19V51TQ24XXN3 div -36#YSADJKEWYCEE8GSHGJ92GFB2EAORAI0XBWMEZVKWVAZP21FV7JVZLD4MI8GXJBQ7ZS52A5O0R4E9HUNHBWS6JQ6MCS82GJUXEL6DMAWVCP101F9SL2T08PCF3AQBX0712RB. +-36#2IRAVJI0P736H1G3ENA639DDZNM4ETJ5KKOCIEUKFRZ33A1BHWSNYRWTQ992BI648TTML2XGSITQQKEKBKYLF21JOXM4EIVSZPJB6XRVPKVLZI6Q1MA586M1A373JLA1CEG8CLUA1LSZJI1Y8AEINOB0SACRWSQP4RU1AZ01BX8GK2BS1ENNTZXML7PTLB37VKKU4OUV7NDT5VNFIIZ8HFRN6RG2O1TFH0EWYBFMA8577Z4BVH4OMEHIJRJZGG5W4WHG3C9J0OUELFLH3WAW1FR69LGEKUW76JKQJPKLFAQ8C3B6253SUSJUILYSJFWF9NZC8PJ6U7IHSLXO7OYWT39CS7H9BKS6RCOL14OPD3ZQAWQEUJ8G92BDCB = -36#G6YSATLPPF8QDQWV8F3QTXD90ENM36ARE48UXQDRWTZEYYAL3KGM5QIZKGHHW5H1TAT1I8ZXJ33CRUAI4FHYI3C1WBP0ASK5LK4A9LE1TNQ5K3CCPGMYHS5EPK5F86WOSTX5FN9B8JIUVBP67PDAQ8MESP32JVQA1N0FC6CK8VX8KB8EDE938BKLYGUJ6089O706K6OO96HG9UQJYE3BUECQCUFAAKJU0U6BAC43FYZPTCUJ2RBZILCR41RGJ0PGEPQATG55CXTSPSIBQTWI3J49VAVGGQZFI171201PY4G61NG6PGA89I8SY3A3R76B7Y8ASEOOM71OOFN1OABL6S6FEY314EKYAUZWRODYOW7NKZUL5XIBUFPK4JTQR2ZXO4V3J9I55DT27FY7LEPHW07ZHQKGSC8BR7MJT8TOZWF8L1DDQK9ZTMZSPSK2LEO4AQQULQZPPEC2WZ2H4XMMW9J9DY621VHINBPU7R2L8L6NYMIDZ5R1TMYO597ZGHEGCBS6XB76OTS71W3D24R02TEKNSGVI59LZ4TN5V4ZAY8GA1QLOBGG4IXIMRETUI7D4GHM3XI6L8LRMU6YEWY4EM9CUPVYO67HK4YYXN2FV5NMSBKH6E1CB7JH6PRUOGQA2U6J1BINLPBSFG2U7YS3D9DC73FEJTI6Z24IYQG3MYS0OVZW3MHYT4LM5QZK24URG9NIY0QLF3A557X2MB077P81MF4I2ZL7X9WJ0X4Z9K0DG2A0SXLQZCJKC95XOC8GTWCQV7YO9JT7U53XLSQSSHVFL0BQ9B4DK0STWOL6OKGS79A1GWZ23DHW3S96R2T6RTT98TGJ7GE div 36#6F8KEM4VWIX8ZTLQ6H681GIMNH6VSBHEI25SE6N5LE2J0DUH8NJSRB1BNSWVMXZ740XAZBCKIQ8729YPASEYBQU8G96ZB4XCE8WLA6OVSB0FS7BA193RZOZG7L3KVE24D2ZPRUV4WQDKS5M5JZGHIYDERY3L4MLVJHG05XO1LJLTP0412PJO4S5R9HHBNSNQ2DAY8TBHF4ELRKNBLZBU0SN9WIW944FAEC5EL3Z11TNDVKY0KM5R1S707QEEQJQ8OE9D49OC0BLLRC7QGNZGMPZD5L342OLQ3LZF3N62E2FQ4CDM8H0PPTS5YZJAXANQ3ST48XG6YBV1SEXSVZMITLVVSWMISX6PBJIRSJ4IPD89V85UZR1SC3G18YV8BAD4HO9L7FB8CGJGJAYOT1KIDE3B2MFPMXPCQXM4AX26BBK9AEU8J68H3U7H0C273IXOZNNYSIWGUFVMN00S6Y. +-36#7OCWHJQ36AIOVH6767BB19OK6OQRNWW6X9X8YEZKZ37YU1O2MWYSZF06TW8VRLS9TU547JW82OOI9NNP4XD5GVLR1Y776URDUVRQVMBN4W6Y8X9WCK4YCI9KCG4L1PI00ZA752GR9WGWIYKXN7CHLFNR4 = 36#EK8O6W1AZSRO6K1XJ2O7QP7RZL60PPWR22ODSISJQGOL31ZZULL64G5XJS2PUJZ5Q0FN6CULIVYIR0TLRDC1SN0VJ5YTPV6PPBK3W111AAZ66JEE0GR5SYKQ19CULS2HLY0RV9A4BGSU01V8U863NF37QOTJSTMJSIC0ET9OKHK0P668R7AOUTYQ4HJBWKDU6YISI22594HOZF2AELBOIL1O7GP9CKFPTFNVRF619DL6JS97SAFME59E3AZM1PV9ZAN8JK div -36#1WAGKPKJQI0QF31T2LMKIKN6B06NO8VRJF0V9BX13GVE3CXAV5BMA6M8R69ZGWJGKF6D0S7ITP41YZVL5HMTJW7BJ26ML1BQPRYEM4Z2VLW52N. +-36#7BZX3SEYAHYVA6O73EO630T1BBL1X7B4U59Q1T3LQIM488NML1JAT63841JZTEFQFUXQ1SRWMJVZZUJQSFRF19T9NSD4KV8G23K = 36#2HXID16LPH4GQJM2M3OW21HW2WEM2IQQPGNSB8V2HHLCZPJR7M * (-36#2XOHP3QI3VIF60PFJIFJUPTISPS0B0GG0CDK2MQA8C7GCZ7CCW). +-36#9TN7EXIEIZ06B4VLPNE8S2LMMF71KPN7XBI0V2N2M5T6M2ZM55GLNCASVQO995H64663W0WDZM3X9U403DKUHF50ON0UTCADSR4RJU0KQN1VVZV8WJXKMTMJMJDUPL1LRW21TMH2V1UN4YXKT2PCACSKIUHUKZ9XDAMU82SQ1EKHU9RGP79QBVGY2482G5LP1YDAGVCLI25G2SJIX0INCM9KVINEGKYADUCBQDTZNTCW6VDSCDTIO8ESNLYCYC2XHWRO1SPCI3578JW7VE9DP04TIHGXXZQYQWTBUK1EK24Q19SE47H2FFD0K7V0HGYUR8CYPU5JZ7VRANTE7K9M54JR7G0EI5XP5PRM7L8Q43AVNL0NW05WNSCAAZI9R8RWSCEIIFVQJF46UNZTQ2JTCF9NWSR28DSHZJRLUON69TJNEYLMDSD4Y2O8S6YJ8IRTQP1EKJHI259TYN1HM1793GFLCVL7Y5VMG7ZL01399ARDKOZ0UO887884CTWXZBVT0PPDBYU3504THY8UIQ7LRDBZMFT3BW4P8HYNN1K6EV0YOWJ5861L5N260225JIFMYIDNTFH1FPSNG1F3Z01LSWB7X92L0DX24DC4FAKJD16MUOSYOA60C7U4GD3L37Y78N8T2BAREEJOII6R0OEIX3ZD = -36#ET7ZF8IK9VFPEGJ1YNYL95CMMJ7ZTT6UAPHSBUJOIYVQMFEQ42WM012T0U03XRK4AZX3QLW902A7RTKAV8LH6MXAC2ZYH9LIAX9P9XA7UZGY9VVCJ62JMO31CJMDO3SMJY6CXH0JXPUF9IVPTM66HRFZO57HXMTW3QXF3FL0NXK3MG84CVYT3UAGMC1SNI4HHMI6I91WC9BCSMB591A77HVM6XJHYQ76MG5FWIZA6PU9ZR35S5W8TI7WXERKIL7NO9PXFKIXAQARRHZXBUMPZS7YV4KHLMZ39CJELYMJMT7MDSFN7W5QVXCAPXP7F2XUZS9BBR0T1TLH5Z5V2V9DUGLS5FGLDD7T4ME5GJRWEHPQIOTJBKJUWW93WNAFPTJT8SV6KJDUA2X30QZ4E3LMYKZ1QY2CA0YHI48FLAGUTAPJHJ0SI0JBQ8ES3CXQ5F75OKD8JYZK6PKJ1PFF841C4TS1NQU7GDGHFFJTQZX2VOVABOSA6164RSFPN6TWDQBZK17W3LRKO6C4TGAN37U8VAYKZH2YNAROS9S3ETTXNNFSYTRP8RR29DR49H35KT2DHHKUXAL1EF3JMEKZHGC5FQ1EP4C8UHV99H006E1ARE7270IIX2PKJOO43PQJYZINIU8EFCGMX21S1MRMQHSAYFTTEE4AE4I80KULFQZH2TW8J7PPHUPQD775BUOT73HY67JTFA15SVJOZ1QBT4K8P5SUHO6YU3D6KKZC94C1VBUOLFS5FVBY0C54PD2HR6JH72EJ6Q7FK83GZ20ENZMRJWIDHC71QX7SEK27LFYTSWGZIAB1ZBZEM2DXYOIBOE6PQGX33AZHUPQRYVP3A4MNUZS81QBZRZB2AGSP3LXM1AMK02GPXC3E2JQVTOEEAT5LIN4ILQ0A5Y69XQ91LXZQM7VYXTN9SGUAUP33BBGUYAKK6FGR5B4IIHMO1GFJQMLJWP63D14994L07V164K6ZFIYJ8OVRHYP2XED4L7566VPIN1MC3XR86A5EVPXA5YKTX1ES4FWF5D7EFXHN0GPXQEPQN865CHP2N561G9HBP2WVNHEJ0Q4HY4DAQWHX6AUQTB2VY5290NPXH4GSSXCQICXH5IUUP8Y0LNKMMHHMVBMTT663IR3O7SDUJZOBVIWSMVI4AIZ7VYMQQ0HKZNT7SJTG99N3FUWO3IW0217XKP9GB1CXJMNJJKNCOCA54X1UFRX9Q5YKHYAQ0IOUTGEZWKUIRAF4TV2AGWLUFXS7SMZCKYWN5MGIN8C74N4UXNIOSK6SRQEGXJ1V03RCEEA10R44OUC0CHW4A0IX4W2BRNNE6U5CCELEW6TGK85HWJTF81RJCPCIU6GPHYJ4DMTDEPNQ7602ODQ0BQ1ZUCHEP0L9ERCCPH0QISX0ODDBRDOB1IL4BTDDMCX0JMWR0KF0L86W605EBYM11IUB4DFWKF47OJ6Q2EQKW7EW8G3MW569P17ZBQHQK9A745IKZ5 div 36#1IA3G2GKOQA5M7YPUTBVZZKU0FGPQRA51DLNFUFJSLPF2PPGCSVHSLG5PYG0IM1RMJLA8HDG8LTUMF4YJJGP8BWEDQMPHB9KYA7EPOOLNGZY70L5F4URDS9S877O6Q2CNKW6LLBTVIFGU7DKJHDHP53H7KU7VOZG6ZJ4I4Y2J4MDOJTOJJ77WE0KNM41HNLAEXIFQQPK2YWZJLFQBWEXJJPMO68XKQ1I6NQFKOF2NA3N58XCA7LWECZUYGUB0HRO8TGCXJXP9XP4F7JHK4YJH30QG98Y5WXCK0F8IQ738H0ZC5H83PG4YDG5EL0PYBPHKUASB5U0CQ6C0KQIBZ7DS0OMHS74JQPJFJH7YTWP8G9QRH5BCY5L1PKXR184C8GVLJNFYFB4DA70JKV8DFKVAFKS66IPQ7RN6EPKLPBWWZV9VA1RNE8B7BC5655KA6X4Q3DGE7VRLGYIWLDD4ARYYG55IRA52ZKP78HHOT628DXZWPTCBN623AAVR5G8CEISI2LWIG1BKAQSFFHEBEIFP34VTZ50J5BWDX4FA5R8R9T5A9ECYU5ID760Z169XHJZD7R2K81AKO4J06MQMWKGIIZ148OQXW8OHN528BXXGVYP5POQBZE7QJSJAGSL1N16PELJV33HCNXFU7DYEDALMRL1LP2IZMKI0XV0LEZTG30XGRHOJL70XCGGHLX13SGN6NW3VSGTMYOA8I11RJZ6S9CSV565I8E0RKFRXGGPLYK4F1B8Q7OT3OB90OTAWQSWUNGRS3KN3ZQ4VY88JTOQ1DXDC28CN58QH8PA0YIH6HAXQ88NN1NZPL77NYH. +-36#27FQTUU1X9KJ6A6U4I7UE30RDSE1JIHH09W31LL2KT4VUM37PH8DZLBIIL6JZRDYTJM0L31HP5I2JCCYB4ODANN7T4TKQ6D8V1UK9OMGKOSAOM7NKOQ837YQRLZMGV7DPRFZF4XWN62VG1G3SRM75MLI6AIWMM2MLT1ZMRJY6O7KFOYPHO4AWI4XK22YHZ6ESXC0TWDHUD6O2XMPFXSSWQIWMDGM1G4CF9EFYR6AK41FJE0QH9P9DOQUO7VEXXLS7RDMVS3DM0P9TPULL6GZX8KPJN3WCQ29EM762509MGA2772X9TLD6ME2GTNNKCSWLPDC8VXNVVUK73B0TWN8EME0KVG5HPSNS835PGKM4MAVZFWUE0VUGGC1U2LC5S4FP8FNJ4WDBPCOE9MZY9 = 36#24ZFHW6RH9OA2TD6G5IGM5XJRWOE5JT4M8IHKX46V4ORO79HAFBSH5R15SHO37IZGV4J088IM7UQZ7SS47YOQYI5SEOXT3UK0GV6KKRC22KMPLBCYZR63Z0GOI5VKPNHZB60SJPKKT7A53G0T4EUPKHY2UVPMBB4ZRXLY5AVS0IGK6JL3LH5IZ7USZ1701252SS19VMYITFHH9SM1QMLC9AUJV58VOQTTVLB130S1GMLVSOUI6PVXKCDFNTPJZ1CT2Q7CV0ZZ6XPG227JSKHKON4XYEO0CLXVHPWGYPT8JP45ZKJZFHC50Q3GPKYUSKNEZEFLH9UTJ3NIKD48VN1V7ZU4E2R9366S4WQHKLIKJM2ICBDB7S2C8VOA3VWV7DDI66VVWSAGZDU8WEW5HN5HH33SYBLIKQG9W3SAB96Y483GUNMEDDIMXFVUPYWLME58G4AIAFMPSFNA0ERT68BUPO63TSGPMI6I8M2YC9H8OUS5GEF7EAQ7JLEIQ8OQ7B6YSLOLIAO1EO8O68KYQ4WT3UZ3UKB9YVUNC3KT1H6DZG89SABDR1WGRGMCEUNVR5X6MPEQLT3HAKZJYUWW34INTUVVYC7PYVPUUZCLWYCCROF5QH09P62L1727LF440HXRZI03LU96HLQN5MC30MMKDCUMS8FYRN0HMTG9S8L0Z47B7IIZXRVYLSGB3R0LYO8484MAOQF2TA0XUGJRH05IU012NNO8B4RH5B5NOGTO79HR6LJPPFES6LE4BZEKK8PPO2DEB3IGKU7KP6D5OBSV4C0UHR4J3YCFEVW9Q01EFMVEO9OQUOH6F7MKWW2A7YVS8RXUAA3Q2V0F4DVYRSMDR6YD0689UMOA3ZCL08BR565PH1XMWY1H3HE9GC35GZEVL03XXKI5R9F4CFO9BYOME33TKQ67727CRNRJZV0LXVLXCVKKL8Z4X8X3GXJ5TXROT1V60JEQN0MB12VV2EN4HW6DJS6AII1JNEU72T1YORMOVBTRG0QQWVED7G3Z7BMGXCJT9 div -36#YVZ60QVXHOGLVXKUBTSFBI5DC7ACQDS43C3TJHIW7SN6GFCBK14IWWVIDLNDHCZYAS71WJVCLD5OKZ5785GAP34BVBRFL0RWK7802LY4C04M24O8JG7PUAOLIDEOZDW6ZV0QKOHXW6UK8PQLE2T3JW3F7QFCJS45DZTLKZMEB4XX2HP40VYBODY52CSY62806GY7QPRE2OF2HM9UYQRO7IB3DSYOQADGXZZY6KW9LNS15U9OQR88GO86M4OXB203QJS3H1YYIB3QUE2KVW2UUR6SG7PMHW5TALIOVZNK5401QVGB9BATRV3NDMCABUMYYTWSCUB99HQO1EJCINN71ZIYJS8LJVBY5J1O2575Q4LHDR1SQBPSHQM3CJUT7CN44XW4MSN757S5QD2OOTQQ4V9JRLN5G5FDAAPICCA1KZHW51U3JZG97ULXN6RBRIOJ6KJDFBLBAUZB91XR35FV54YEXIV1HTR1ERQ8BQMUFS0AYZBQGZG61959M1QFAHF0HASRNSJDYC8FP4GO8S71NSON44MGEWNSMFENYGDNF7O06VCGIVFTBU69FREB3JP4D78HDB7W6VIHPH3E0TBTGLYRDHGIE4E3IM3G5S8SSI0ZD3Z7K899. +36#2M4HCQYZR4MRIJ0VN16QBLCUPXCTIALM0WUFKDVTE28D6V9E1C = -36#49GXJADZM1ASMZFNM9G2GGBEP87YF5TKL4ADQVP1PNKA20UGCN7NAW7R3E09187UPE9DNAI2S4G7SNDH4366X491FEY3E8I9SIO div -36#1MP4RM3POVFQPIVJSTLIOZOQ33MF2LTS2X4YJQNMTOXO7NVL9E. +-36#13UKF33FVKYFAYZJLQ9FNL2CFGS4AN9P9VWV3QOXWPFVXQC4MFXZLQAJ2CGJ68GLP5OKAO2DF086FZPOIJ2EIBW4F2UINVNC1J5P1MC2BW7MC59H0ZZKPWWM5DS08EKL0ZF270S6OZMBAYV1COSGVSY87ARZM9NYA5TNE1YQ8X2FZE2S6JMCY71R7BTYPCSR7KN9CS5W2I604S277JD6G0ENCO7XPJ8DG2ZWRUA9PW0DQRPJON7I89NA464IZUQ7V8NS2RAWKN5KEB69YSUDKROO0QKFJ7PVLBTBZBUY6XLIZ2UW1LIY9ZKIH3SZD1N8L76BGHA9TM5X0BVK82S20WXWPR4POWWVPWPURG8UOB4TZLBG3I0UYTBPUTFETUF9RGR0C1GGRVO6LTJ15W3PR544KE15UOFRWLDSSPXSHTDMON1OCIZVB72O08UAIECX2H8MCY5220E7VOVERS7NZOYK9TVHGOKJXVGF7LD502HS9T893WDWRY6CI0HV9MGAZ26EW4NH6X8YMLH3AW0M10CVPE9SZGZTUAIQBM3KE4RED88HMDGAZMK2T5KCFLFYPWPULRILW15X57T2PKRQF2JL0J5E9UCLP4QHGF16MJORWGEH2JRYHT9HTU5NNIO2LP71OQ9O7U2GYSZUYSMFMDY7Q7LWCXCDZSG1JK9V = 36#NSSRMIAQ44QY7JXVMYYK9QIM817G6DDHJBMHHSU4PEASHN559WYRKZ4OFP2OBT5ZDZ9Z3Z6DIGE7ZT9YY7WP0B9EMUOXEXEH06UEJJ5HTELOS4O2FCRU1EPROYESQG7CABBVU58YDV7KOR7GHTO3H5ZGQIZ532IBUPZP79338LY4QHQZKV60N8KY1LHPCCLCS2L1AZ0IGRA8UFPB4PVV8DVON9217EQPX6YVBL78GYCSCUDJU97UYGXEKJQAZ4G8R3JZL6W5QOL0WEGBSV4LDGTQLX21SDKE09R0RU59P02IK7SNFRN6J8AS4RITP2R5GCGZQR37PZBS2BEU8MXUVU6JVKFJ1QD2F83OJP24QR6OAOH31E1N72MZ6MW5L0YHLMO8RB86WZSDT4HF38IWNXGEEUT1N6PIOZEX6HFW69Z3UAE8LE48A6SWCT0E5YCU2SDXJDK7ZYGLUZW0YLFS9S55CP4IN2GNO83BP7QBZ80RYW9KZ2U5C95KK2GDM7NQ4NS6CUSWFPL3PLANNWXJY0GOZBCLPEA59S69JZ3A9P8DL0NRIDI3LKCXOU9QZM1SN2YFJ5XLEQOLMJ70B0R595PEVLW39PZ4ULB1OS1SA9DOEHQOF631W65XOMAYUQJ7DGY2E1Y3U3T92JEIV9SIGFEGMSQ31TUKW6L9WM501RQDECWXAOZI16XVXUUP9UN5VV5RWH08ZBY3EK2CGN5ZBDN1G1AIFMTFCJCWGW1LL0G9PEBFA4310861NPBK4E20KQBUO31F1V05KXHEOKSOMXLSOCWLTCKLEQYNWISV09982WTKHLPJK0F3I71RHXBNOW5UPS02RWAD2SLZ3DRR3S1M0F90C7KTBEMOWDR6KH0H6SKDI3IXP1B42PLJQEF1YEVPKSVPSDZZXNA822B5EU5A61W07XLZJNU9O3TJJEQINVP73Y1MGD6H9PS6EGAKCWN1W69L70BL2F76I0RFAB33MLMBFHNOB58AKCMCTDWY0NUY4K2ZP5PMUF6X0L788XWUTBAUEWVDP59M200CK4EIU05717U4KZUTHUIIJFVIT5WDEWALXUC8ZDM8VNX5YH8E5OV8G14RGDXRBLVLQZ35Z4WDB0XSBII7ENBTDG8OX43BI847V2NWQKIHW7LK3HDS8M94Q7H639VF8Y27DKCHW58NB385B3R8VUBN7B90XCSX0M7SFK5XYFGBBGBPCHPECWLJQQIVP1PVBMORYX85AT div -36#LI1F5AGAURK8I7RDXYKD14I2MGB6323HS8GZDEFVFOYK4URBN6R0N7SE1Q8DB3FRLOZ7AGX7GGXMAFP62D5B9NEQPL83JZWXDN3I8IM83RVA56N3AAPZ75J8I22TM12B2W7HH7T3A4P5NBW1D48FGH8WZNC0466SG0XDYCUV4TV6OX095ETUTGWY23C40FYVD0XR8QYZ4CBKSJ9EUXV9XY1XO98FFPDPJZ2U35Y4DCS6S98SFXPJCC4RC6BRS9EX9UFFMLXNJZC2AYVZQMOLV5YHLFNT8BAMZP6AW9XTJ9I8RTXQ7YBWECYPJZ3V3IVEVCT5CYTK9FYK3QOG41UBG0QGT9Z6IOYO346EHEK7QYBIZ6VL1XSLTQ4OKS8S9C724PL4RS5YTVRDMAN7QT4NT33DHHTC1XJYEX78YE0Z4XZBFDC4WBCBYVFJJ3U97SGE6IAO64EX4P70E8KLPR2FCII08VQCLMQG3R31WQMYQ9D29L2K6AAOKT673NVIDGS3KNJY5LWOCXEBNJ39D7YBFRK2EA67UBND3IIH2ZJ84Z1A6CT6D0N. +36#ZZD8O4MVYHOG1TKX86ESSQQ6NJY5O8Y7TMFCZMR908D8MU6X7S2B28B7PGVGNQEK0JWAZG52ZXHBR4QGQHQ6V22JTG19BDPI4V8GMNN38JJP0YP1AFAVVKOAIUG88RKTJ8FMNK32HZTEEU65SAPWW1CX3673SVX0QH3V93X3P940FDH9BKY3FAA3OKTR8EM8R0BA85G05GJH0O5C269X83XHO1SKA6GELHMOP651GSNEFN3GWLJEO2RSPFB79HVT4RR0WXTG81ZD27MSFMXQGNUR99TB5GVXI4F4X0SSU2TQU3F43FFXJX6NW680EHK7DEQB9YG3AXPKV0IDXBGXWMC = -36#HE2DA12YDV6AJ2U5K4CF0CR0T2SXUEDT6KZCRIGDTVJ9E4LJSBWC8867ZKZ012TADGIPP7K7N36KWSNE1539QBC5VTA904WH9RVTYU8Q4Y30TQ4WQ9NY3555PXZSB1D6QJTMLV1WSLVCEVGFXZ6IPNB3JVXZV9Z1YQDM8KN6RTHFT40D1HZAIU32EJCF45N52G11WQ1418KJM74RAKDUEHQDBJ8WZS53XN9XR6Z9DPDNW4ABF965ILJ5XOU762DSM9N2KJAELDJZI4RY9AZU7PEYFP520EOEKR2QIVZ8Y2GK6YADD65O4NF9XW7RRRVVFCVN20DK31MOBURET84U733GPK2QG9RBPN43JVDINTPRZ5OFPV1LHCVZCRH42T22JPL59XMJXJ5PN3078WDLZHTF2WWGRW8UP3QIG6Z8QREPGTOHTLXJR1C9R69SW7OWU2OT19F9PDHJZTX5XB5Z3SRWJZZ7OWNWMDM0F2P3ITI5LA48L8R0D4WS9OCTTF78ZX100V9TOKWRP4MSZ2Q30U9K2TRP44TC div -36#HEDD9PRN4MT8ABKFDLMZMCLULGSG2FG6YYSJLU7WMNWU099X098FQWS2BCN4VMV2D3GSNE1DT5BZJ6W381B474443O0NQ2SXZLYDANS6NJPBH171XN7HYUOPCZGUS0WIWELMCZNC9M0TOBSQTIHYJWL2CAT7SCRRMWXPUDXPRRB271E5G2KXWFHGVA9BE2WYIIZBX2LP4. +36#13WT4N9222N2STN6N7YPXTMQ71G2SQEP0WEJPFUFZV12Z4G88HJTRTIWJQU86JC4N5SRWGJK1CFJLELF3GKJFD525IN6ISXU58YJ5Y5N5BZ7MUPAT6GMOEXBD106HIR850GRL8876GYSFE7VYKJBBKOGG95CNADQWVHYY8K0IVD5Z56BZOJC89G4CX300676AICUB42335JG9775NN2M2ALC5XO5SQDFE4ECNVOMPMHFJ98036U1XCL61WYZI5CFXP6V4ESNZETZVHQFF555WVUE7VJZIHFK5T5ZH86K8Z96ADROCHNCE9NRIF4NM4HQB = -36#37XWUT5IA4ABGXY791KG5FLV3ABP1ZQ3GXC6VVORFFKNDF6KC4ODMD90X27ZJQOBC37Q7IAZCMFTSVA1EWW0J5VGOKI3662TU6Y8PVKWNJBXMUZXCWCTA7HZZ70Z567TL1T6TCNWTLQM42E7XLF9QR85LVXDZSMXXXS89QV3CT9AGFBLBC8GUFNLOXL7BI59FASLAACBNH4BOGKJVZHUDYACAHHVETWH36OJ9MDLOQNGD6PERYSVHVGLGXKXPXT8Y4R9BQ28E324KREEEEKRPJYJ1J9DBD6OKHON2H2X1UM5ZYA4VU51IF2XKGD4TDQRQ2EJ0PMXC3H3AUIKXVGA3E0S0W6OQ8GH79610TOZ17NTNV7R0P div -36#2WKV3KDBLRDBW9LZYNYTIMM5FTEABD10JYM4TDV6SD5R1O7C8Z. +-36#1QSW7EAKFRUN0QLJJHLAT8KBS6JDYGGOERNE1KZ475C0RHFXJTKDK2G15FPTH03COKJ0FEW6HHCL5VU = -36#AACYXWDI28WJQ2SAXD9V12UQL0HWQKXAZ1HWZ3YQDXPIWXI6YJUH0A2VF0T6GKRXJCHWRKHMLRNS309W9V08Y7GZEAJ7JZNN4SSQOD08XNBSDLPWDKLY4A36DMY1RJNYKKFEI3MMD31VIVT5PHBDUXLLEWKSMVUEX7T0Z6P530GWOT3NLBKRR2GIXNS4WOHSOGEU1C2B0CU2CZ69LT15QBRQAD0MZTQG6J0URRRDMPIGTGBC43WVXA5VQ6XREXQ5UN1M0HBKHU18W0I5OL4I2J7FNVJCADXBSV3P3RMN64RZRL2FIGDXU7XYDKIG458EUZ769RAOPD10 div 36#5WAS8JVLUU34HWXYYFAAJ10NS3OCRW6HBV6MQX4F209TS63S9IUX4L6JA0O4U3RMS1B1JLLH0F18EXLT7J0DDOPQQC38G9JEWB4YAPA7D6KW8MCDGFOHI0JWMATRTM9YZO6TK68VWHBKMTOJC03S8GYSA7AQ5K2DFNTPCVE79LKR3PKMG5PK1T1FXBSJ3WXU8CIENQCBJQRT4RPU1RZLEVF3SWGSI3FZW505CURXG0QGK5Z7KAS4XVHYECMF9U. +-36#H1EN99UP6J6X8RGDM5FURJ51MIDRH0PY3AAI1QFA0WMRSMMGI81LRZ2D29QDAEI58X9AQWT4KDINAZJ3Y3DGPLU6YU1P24NGXH = -36#5N4E885MJCGCUTAMJZFRMQOZXSLVELTLBTRZC00KLM5K7UDCV * 36#30PS3F3UPYT4Q5W1MAJUCQSPWZABNTB9LRGFS5VXMCG0L3LQ0B. +-36#28523JXT4Q63MEJCLC9FUCOB2IV8M2UDLGDGFYZSN5KY7A6XU5 = -36#3JBMVJV0TQMHC6NPQO6DTP68GXMWHNIRL7NWO0ED4M01OOGX9L1VDR078KSDLPBIZ1B0KTUBEDG6HJ57Q9KL5PPZ4WHOC0D9O7M div 36#1L70PDYQK4WF316PN8X6IYHB8LSWINSS7HX9K9RTKC3URAAWWQ. +-36#22RFHW7NHC31FTJVFEQTEUUWG84XUJZ7WPONF59ZF29L91BQYZE2WYA6ON2TSGJ0NYFCV291PN2JMX54VX6WFERN4XDSAELXPW4B8TJDKAWAVDJJVF5VW8WFHL37MHWWWTB9TQ7H66XDO6VO0LAOEGCV2UPDJRO9VHCGDMDFUZWLZIVIR15WM7ZPFWMX3N21SHW9TCWVJ4SN4TZUQJWFDVESESICVBC5CGGU69FFH2547RB5AQ2VPT2LUOOJPJIF146F2NGK7CK22FBPAN2XLNQHRE36D1VLYHN0WXOVMMKO1L9QNQZM0BRYRTV9HA2Z3QFFPSSKDDOX7DTTQUVKY5HEUFT05CZ = 36#109B5LF1OSUYB30VI71Q5VRFLDNZOON2FH30SFX0H3C4AQKGD283SSKUO2JCP7705Z9S1WCRV9XRLSPUE7Z9MCF3G7J9Z4GX6VCLDKJ5N24OHV6D7N43Q8MEIKMK6W6PRWS07EFIM8WUTPF99SWD2GN6RDWM94GNC55VX6SZ3F1YB9W8CMC2DUS00L8DY4WT3WQGBIPPPFTGUO3WZX75K9GL0PP9BW2AABM4TXB1QT1I2ZYKHN15BNCVAK49HPWF50D762FZAOJ34RO1DP0FHIUIO0RFZ5MZCE5L2BPSRAGSKYL2QZN1VT3C9BDPQUYVJDJVJF80W8XAUCRKM2DI8EESM1ZR84I20N7S1TZYVD0IL1TUK3INH4EUSWSG3ZID1Q70PPD85P2W3P8DOP7DWYTLIV4R0Q32I6L2ECO48UCS7IUUZ0LD3K7QAQF622Y9WBVDOZQJ3UHKT5FXVXGFS75ZWMPY1KL1TMDQJS7KQ7KCEOA5QU2XXLWOZM5ZPV4WE6HBJP div -36#HGJKLL7T3LEIED55BQP0AJ55JDR5TBX046BX86617WANAJ06ROPB4W6EXL1ITBZGK9KET8FJAD7FKS42D1QK38R3678XHZLR3OMJUCGYPNBKRTHEO1R23TYDJ7GKNVILCLSG3BFHRPR1QDFR49J7XUJGV4P8D1ZG2MS6QFB. +-36#6GMO1XMGDM6H5GA146E6KUG6P0PK9WUWER0TDET3E6LYT3AETN03JWNR079JZ5O1VXKEQ571URGD1JQVKFH70YW7JUSF604EYM5KRBLY4CM1B6WYHAZTJYON63QGU5YVN3I97VHWL3VQS6GMFJF6CPDATM4W9K66S314PA1HH7W2IQ6Z4RVSPC3KGFRVRW939WD52N1RMSEFIPVTORYKDR30N1LKI97406PP592S6LSJOMVABD99N5MR48J7O0CIORYONZN8HD1QJHKKXUILEKIQG4GTUVTE3MHMJFMWQJ8V5CUUKIBYU3I3N9HNXV5W457RAIWENFOIW2J2V = -36#BW6V1ZRWRH2ER4IUTT9D9JFCZBDN7TDE53ZDO6O6HRFUKQX9ODW5XAF1PFQKRAU5YHME0GWS3IA3H7BHKRDR74ZZG29JVMIOFHW482B75E54036DD08LS6O3QSM3NE0CSJO59FLYM6CEVKBAZ18Z9E56PCQF9J9YUPI1ROYAC7ATD4B2SZ07L8YHZXSSL5TDRCFM7X0SLK5WW6RT4RT5PXPN8CK8Q3614MPB8Q5TXEOQ6J0RNI7F86NRVL25HT5DDGJOVVWFL4JUGKXYPEGSTUXX5JEEAW7DRO41AHE6OQC0ZG5P6AJOZ4341JJW8F4Q54FGGHJ2XPX5IQE5D49GDLKW4F7JOUY1Y4MDP31JN3FS0KT1IVQ0IHBMQLXN9RGHM2 div 36#1U9HJ5B8CLJSAAN985VYXK8FSQ23S6KE22PSWBVOWOH4UG3HIE. +-36#ADEIGKKVG9WO2JMNFHYWSGSJE23CEF0WJFYONRYG0WPNNVK2HTQPT1EE34A4WBAL2KVS79OGODVGPZIRBAAP31AZF4I1B3SHGIFBDF1AD9835ZT4J79FCDWW8GAQIUQXXU07V9YQCIR9S075Z6E72JBSVSJAUVWZINISJ8UT067FW8BMRPH53UUY5V3CNA2LJIZTPA5ZD3LCI7D159CBMMKMLMJCWMOXKDCE0QMD09M0BP79RVBMIKGRQL9XPQKI234HQ025DVHZY7NPVXAH74YF36V3CRLNPKZ4DF3U5U9B2C8L143X447K568CYRINK9ZE7KU557TG0TYTMA738C4Z0M13I48L79VY665J3QKHAJ9FEE3AICSMUKDFYC8NSJ5YDGW0CUGBM1RYZUUNWXA4MVGK2Y60XBTOUXF2U272UDPUQ7B9Y4LNLODNG2WRBEMN9HWNKG4VFJB2OAECJ = -36#I0RAE291L10JTTBO30W4W2IDIM0PEKM7G07AXMU49UP5EJMIJFF8F11VHBO0CK2V9TNHSLC12B1JGY6E8CCV0Y0Y0X7J4SPH6FM1FXGAWYMO1363Q331CW3JNKH6TDU3VACBBP1PJIKZX5OUU8BWPNAG21YMZT87A0CNSQYX7F4NEZY6EJ1GQT8U1MBUCPC3NV43WQAA48GV7GJYA8KQOS8QUJIHUY3J0H8F13UPRES5G0SL99B4UM8369IAKLMDA0IDXAU1IWMJH2OUECGLJJ226JD09TYTINIF7PRQW84K132OKPJAMD1WU9U4D1B6FQ8D68Q8T87G3KUPBIM1PS0SJMJ6EV0WT14PH4NVZS6NO0689FV0XFV27P69IIZWBHRCRXH2ZLS60PF8DWC6GXFAVA25LQ316LIOWWM0R948WNH2SIL69ABARONFHFEV2TSW1W50OJVFWOTCUTLZBJ2W2SUSIFBP8PN6EU1M7UDM2P85MJ6GH4425G49JOGR9Q2JB1V8P9X9VFDEO80OCB6G4CCN9NKDED93A7NIXKKNVFO6R62LNJT8GK0NC0WGU4TKL63BMQPGYVD7MQNJG20SE5Y804T1T2QKADJNMPG1JUPYMAWNPNQ0BGQNZ3CKPSEQF6SWZKNOZQWAWQDSWL3CJFPVV9MSW4SSL2LH92TB5MKJ62TTPC87DYQG7EVLQ8ONYV758WBCKH8T26DN47VXCVPMOSVM4GTEHT5K9XTS8MVELD2BNC5U0N7JFOK4J3CMKW62W6DH4WIN9INB0VYG70ADMCHK5CEGM9RDR1CFYC52PXTZPTGLE3ERXCQ12SZHSYDD1VPJTVLVCPGI4E6TVILIAUQDIDGP03Q7Q1O3RPH6QQUPLMUS div 36#1QJP26SGURU5Z3KKG0UGXT9UBN3AQA1BOX7TO034GLRPJIS601IR98QOWPXFH9YZIBPG3ENPUJCOCMPYQBEYT57MXFNPP7FKJYF3JPU2D9Q9YY3A39QNCCEZBWI1L1O64CGLQOP4GTIQBRXXM51HRDW87SWF786OS9LFNSX2YTGZRDY5P6ZDIJCV155FPLNL365UAAAHWKHY037SXE5EGLKYVRI5WZL40AT2ZU06T0C04JBJLYCDYV48BOW0Q2BXAP3ZV19Q1M6FZUV6D1PCKBWZAQL02962XRXX45DN09WP164TLORBL5P4IXUXS9YAS6HVK8HOJOMQSL3RF65Y3OTPKH43FZF2MYTUFNZNRQAUQ27HNVMNBIZ6CMIBKQ1MH3Q3K1CJT6OT3YZ905D8AYK0W1W9S2I5ML4S. +-36#1KMFMVJMY59SPM4D3WF3V7FXF4WE3QQMWSFYXNRCMBCX32LV7CEAP1RAQ6G1MCF1CEYOWNILK5JXMRYVNF9B6OCJ7TFE0G6JTCD2BB9GNS10ELVFXAEISI0I1FN92W2L50TLSG4UDYON020JCKBO1FMGDY3WEY8OIBT373YD45SZV8LVDE733QD02JK8QUW2BK4BBQXDGWTJJ5D7KH10QF2LS5R538229MXTY9QKSEHY24YPN6XO4WYAHL08KAOEU51CHBLVKIB40AT8G6R7OMGMF8VE9J7QWGL7RBESQXL7S3GWK7CXG2EE9IZZEZ0L5I21KM9FKZ97PMYNW8O1MN0GVM54GTJBHQEIB2C8RETN3VK7XJL9VMLEWZN99SRAL7B8O1ZM871GD7OM81GALOZMDQ9E9DYVK1Z0JRAXHPK2E42LZ215G1G16TODPIDAJ172ZN34QKL8IAWN1N8JI = -36#OOW28FPQEEG7XX6ZTLSHIZLD1RJVWFZUQAADUJK8J46C2S2X2P80RSUSV1QD4JERYAH91EQP4Z4TTB81IVX6XF5EQ6S4LGLXERYLRN4FCDLIB9VFMJKEKQ92XL8547QHDEAYUP4GK8DJ8LTW2AMAJ5VMWADKA4SANF88UPJOZFFUXRVK9DFYU7P9N4J0Q6D5VDA8ONXGKGWL82VRWFVS61IOHE7061BMTSEPT0YRZGKP5XZKZCKT0L8QYQP8463XLZTYWYKLA2VVIYBNKM7MD69J7EIDB8X9XA4LF2JF7FIJJ79FQ1WRXLA80ATFPL45Y2EEM2FHLLO01JZGTW8NVP00L8L5C3RFULCXQZZ191CDWP6LYE8GFWXXQ33H7E2IZ8RKZIDH4VOK8ACZVC6U3EIPPGN7CYA93YI * 36#2AK14SBWX2LH44LW0XDBSEYZFL7TUH6JPYXW7NL5ZONB51HQVN. +36#23OD5FEBUX63ZZ0OQTZYX8OTI7NO6J6UFP0RSFL12X42EPW0SBQ27N5HCK0S26M8X4GHN4NY2J37W3JQ6E3TT17IVWAQY8ALF74 = -36#20FB7R2Y7N19BCDYIA6U6UHHVA8V8YJB2XVM516CD1EFSY2PUW * (-36#11M6LEFDZ4BRMNN08HJX0AP73A4B819Z40JCNG562X5FJZXA1Q). +-36#2UKTA4LTGLNPM9Y1HG9TMT7ON0SM6CXEZGPFJJLUD7V4CDBD0CTCS8543OF0PB6G5BT66HTFA4M93JX5T3CC0ZSOF4C0F6MOHEMEND58L1Z1734I2DIWTOM69TQEXKMS5PP9S9O2CBO17JK7479V6HVFZBUYODERQVWCQNRZODR6QYOHS8DB1AFZNFCI1YEG38PJOA4A0S3TJJ2RGW0G2WWB6DVGIFAERSMA0TPF9AI6Q3TP64JN68SOG17GB7IKVNSQTTEB6HZJ1Y1R4R5IJRAE37J9M1BEOKBTI0RARBA9QZ3E2WCYOANFPSU06X6RQ873D40HA8ZWN92QUFJZUSIBH3VL8YPCMP3WB7BESAEYHSRUY11EGP7GJH3VEMA25UHAFVJW16Q2J9KH9ELK0OBLVRM5AVCHHFN122O1XDY3O9AI57GUNZ1AMHMED8KWKIGJJ5HYLS9E622DSVM27V0P65BKXPYSU0NW9R92ZSV39WSY3Q1ARQDHW3ZMBOYIREVPJJ1MJUSAFUB43HS0R8MVGOLR6214BZGF77Y23IRELD3X515HZRVJLJ1Q5PTY8HBN8IOHCAY4NL7L0SFW1P0FANG0677J445IE5IPPLKXCBC084MJXX7VO2WC0EDPDDQHJX4JHWWBYMYUE4EHZHW4GK8NCLURBSYEI04IR7G0V6E17I1X338AKE = 36#6L9H76J9LCSEINXWSP5DZRFT4J9HO23TZ1SI5DKIIXOPHSHH8KSNSMAMD5RI6FF8VAFVBZWQOFYXL4FK61VQXGDKWFM21W4NWMHUPAGONF4UX2A3UA3UMO1IS9R6RZU2SPEHQH0QHP6PDY469MSAQY0C7G51DZ0N7MP97I632QOW6V7QWL1JDCNMTGM827CRYOSZHQON9FISIMSM23JV8BGR9XPREXTNP30N0CAB8DYFM4LW021DT8CHALEO6N7Q5BNAGLY9V522DGH3Z55W2DDEDPUV4ZVUS7PIT4OTB11XIMAMOKB9624C8LK542DBD5IXGDYELTNTPUIRS3NFSNO5WFYXD4YS6MX6GQ8E1A9G738O4YTF6ZA366I1R7PGAPQE43I886XS8KSGXYMXGXEEMRRED1OTKGEH6GBH4PBY4U3M2SP6KJTO0PRNCNIGRJ5GQAV835EYUERFC27IXC93YTBEPHC607KS1YV4HMG7M0M3NXK9YZV64ES1T8Z7WWD7A8L103VDWSZC2OTA9XJ7NH1PJV0F00YXQRH1XU0BPHNPCUIB932MQKTAD1XGV727KPPXSKM78OAT6IDYN75TP7F36PXPVYL90PA9GMS5YUOJIVM0281V7L2ZI5VVW2PMUVBOKJTHVBE2QLWVV66DA2WQLYAVMGZLBTCFAQ4G90C2NY5ARHC2PNEMV4O93J6N60542AMJQ96SXBA38PMSUALAC6R91TWWRANZEE2 div -36#2B9NC09BTOCCIPWS0FDC8BV6S7DBXCQW5GYWPG31JU9UYH6ZXV. +-36#5L9E75X0UA8OF9YZ2ITF2XBXX0HM9F5A4997NQIEI4BSF04SGUXMF42F8NYTC0V9E902OXBT0D424MZQ0E5MWVJNV77KKSHF2BYDQZI365GPC5BOY7IPRLOQUV0VA8TY3QLT0XXBUGOJR5LB1FCW7V3EZFBIFG73IR9O2U0AYZ3AFT242L2J37VIQYFR1QN4DV6IBXZ2Y8DO54YJI5R88N6D77TPUQDZPJL29XOR7HHVHR0N6H20NZTU2HZ0MBOB4SP7V3J97EUUG9R5KVFEPVJBJJSQXH62JX3ASNGMJCOXU90D3ILYU3GMPZVQB2RCOMHZZX7XWQJ843UYWNBAHG4G3H9IZIWYT3I2V2JQL6STGSD37X763AUOLU6YSJ56Q142574B2SO64EWXKV27IIHKC5VN6W4H3HY0BF3O1N5WEBPF7BEJBHYFB01DWA1EXTWKSZ1HAUEGE7UIKEZGWTFMAH5ZZKJ666R2BPNL7LV5BK9WPUP3N166D57PK5S6HBYD2XGIJLRYNZAV6IIVZDMOKI0WVVG7RM8K9682KYVCYF1O6HC8TADM88PJ1A3FWW9TL09BVXE5725CP1L2FSINNBSSXGHYY9VIBQZLV6P4ZBHC5KOV4IHN9PQFKUPWND8RCWET57XF9X752P251I9LC4U2OIHRX79B47VEGGABPXCXFTYJNQY5QJ7FE1K0BJXK42LP4ROHPJBJNICXB0Q8MICRG5KY2W8Z6MYC6RK00SLHGI75JV6Z1KERDL9XRMYNX8EL9ZYOEBZB2KBY59WCBJ6H48HBXK9E1VYS4K2A4LNVSXUMGIO8MNE9OTD0LRHACVH3ZYOGFGPIEA48MNLPPQEMW6MFR2RV7IPL1BB5X23P5VBYQIHSDLYA3EBFIENOZE5FG2RL1O09OPTZFTY7TFKTF3CL2VRQLNYZO0JLXY1VPDOK7P44KK2JEOAPIK11JJTRM1V8PYNUWX2FGQVYQ5IVGGLHDCGVGYLL8DG8NZSDZ6LCQ5FBZ2BIPU8BVH20GZBPZB8I2O2XGKTRC60U1JSYKAQ56J2ZG5E0DIHV7FOC7JUGBDMXL77XXJ7K0LTG4E3OO8G68SEY0LIL03L0POQMJY5U7XB8J195VZZPZ468FU93VJSOKE74DTNFILOUPNFVACR1LXA22FI5O9G5L08K41QOE2KTJXJN30YQPGNHUHCUPNW2IGW3TJ9AA4L1EOQ6XJ1S9FH0YYCRKQWBQUY7QGXUHO4BG91KKRWHG4FY2P9MK6N44HWV750PYNE = -36#2XOW4PC6H189E188YGPJNRLCWLVAU6VA1YI1F0DLVEFZSVU6VU7PVLZE04WUMFO4IVQL2I5JC1SVHFR2Q7XVU44X4UOXNFRG9P5XUC4TVNUE8TLT6QXDLMGX55EXI0IH63K9NYQUUEE4K3059365MY2BBJ6H2FWCOAZ931ER2NBC4K1J6Y1RGU6Q0Y6FTKLQJM2FY6FTZJBF6C4RSXYSXNYCNX3N9N0LE6REXVFHEJRQL3XGQI00DDFSHNF7AYW1OR8TB8SBUYLTNK6A6VRTIE426CIT5NN96OEAIO4FCQIAY49OOQQZ10H7EQ9HTOLWU206EXO0TPCZWV010PTC0EEONWA5FVRH4LHBCVW831H0GH7U5A2NNP70PN6R4D0I1BFC0RRZO1P8O02E1VC1YXZ2IGROFR8UIFQMKSXTE6PP9C464DHXUB1ZZ3OPP0QIZN37V2APP3H2ZV6TCXL0DLYQ73Q2B2EJFIMKR6PVD24YYM5MXRAS80M97UL55LRGYQEBJKL2BW08LHXPIR4P0K74VG3CGWTMCR4AHA982D9V0CE94SL6QTF6DYY3HVZJ219H1G752Y382O2ZDE34TCYHHFJLA52FW18GI5PQGN2ECCCAKI7L8LEY9P4ATZFAWTJ94HPYXZIKGJK7ZYO3H4B1FOW8DVTPKGJY928HYUZAQQHO15WQIRB2G7GKRO2C3RMYII4GD35N3HUC077PH8ZSW452XXS6M2L3T7J4FLQTI02SBR5S4L95YTODJ75QFPBVQQ0ZCNGASTKYBK7KGS986GQLCR2UZKXCAP6O9E9G53A1XYPAFRRUSQP341NN3H86H6VEZMDTW73WXLF6MYLCNB2T8BORPM5TRG7L5B0HY7XDDTAV9QGLT3SZZD8ODKKOOZLP3377IM4I8ZQVU9Q12X3RSYIVQ7KZ7WDRAPVAF3UDIEMJJLEYTB2Y33JIZYGDDWHXGO3D3PJMTBU8829FCZU0PTBMO2KA9PF1R1P5Y6PV14ZP0JRV7TWQ5FAJVRICXHHY4W6BNM6L7Q8XRCFBY0G5FQ7002KZ9BK2ZIC75HN30AYXABLWFDZ4D6U7XGYD0OGKBVNC88P9C309JPTVIBTTRV1V4TB3GM9FD21UVH7DJUWB9GP94A1SYR0O0C6OO7DJXBIRQ5YPOFNLJMMN0QVC0G6JNTL3Z8MRA0UHNP5JSSM6VQ3INASXPEFZ0A9FLAEJDTKTHJ8W1WIDKTCWFWOMPK1XXIV0B4TLB6MCNB1D9OW93958U5LV0JSE5SXT6YUSFQYJDW3DPYO48FNC4D5CHWP1E7UIUMJ060BWRCFFFPYX45NAC1WONWVJFAL2XU1BCSR1H5R3F5C2OAE8BU0QCS56ZL2OWP16LFF7AJNBTT76FBXR9YKGNCNUOUCTES9V9JE7FA7XISKQSEKYN1EVV4MBV18YC7PZOKS1JC1N8DZLJ20WSKBWDNHTYWLECP75IOHJDQYT7VUUU1EDN5FOOIXHMHGTD6BDPBRJTKVDT6DKDP5KBMARHPB9AQ0819VZR4N02IEICF6TU6GZH2PLZOP6ZS1ZKUNIUM3UBUDD3XGEB87IX1L18APN1T7VWS6W02XC2GDUZ9CDUJIMSB4VHO8GQVO2ZYJ4SBTD4D4DMGWNH2MDYS1LE3PD4X129WVKGEVOQ4TVNDN4TNPLZNWIGZIFZATXNAKKZLNRZVAW8A1L8FHW1XIZ09MHVJ1JIZU72UPFHI6QVUSPJMRBRN7CQ9BXSQEWCYJ951H242O1CBGSUYF2QDKA786S2Q4XAY07YK2ZQBQZJEI1VNH5G7JT2SYMDEEUI0TS7X7WGNAN3I8CGQ28V1WMWEMEL7VZPTAPYUFILD0HI3AT1FK6BZHJBJEC7QYQCT8KQRRJ3DDFTUXDG9G93P1XD3WL14E0RVJLAJNKPDZBTG3ZXWY3O6E5XW00N9CATHBXTCAM7QL17C2Q4WPMNU8YKMORAHMTMSE92B4HATGBK113MJ0XX3XMMUPX1X0CP7IML4DT0Q2HF717DDVOXFLDJV2UIDTBGEI9G0UG77APCNI0NW3BCEYRBNWBRK8SV4BANLUJ0YGDFSX52953OZJJJCWE92I2HS3I5EMQN2XU0XY2VJSEEHFDWBD4XSS8OF7DWGLL1A1ZXENA82TQIOBB3OIOBSE9EXRAQFSI5AJ2LNHGI2W div 36#IWL88CC88WX017S60Y8P2S3SZBWFQYSCN1WZ3CWKKXMRTJD9X6VG8NOMRHFOTXOHV1GS54OSL3NDFZWSK7EX1J7AYL8X4S66A4KZ7AZ5XC3X0BETB9BXA1YTEWLIL2227BJPY5SS4SFU7DBIQ464DTDKD5JPEZKRWQPHOPLED7XZGT9A9KKX37TM4R0TQCPB0YJ03EXLIJER0L4HLZGZK5W2YAMCTA73NZY3QW37BSK83QE65RTNZ9SWE4R3XQMLDUQZZLU2BI4C7Q50G4O0L8HCZHJCM6C8SDML947N0GM305N021F0X6IU27WIB1H3WIUOAYM6XY44BDQXA1LE5GTN7EH4MKI6GC2MFX4QGNCQRORQ4JZ37ZNFZNLS1VEPMMTT1HSP20UW6AY38BD59R319ZWM954JJC9CHK9L7LMCBKK2RY1OE1CQPZDYJ0EIKZ5G7T1Y7S5MANBVPICIUB9WP7HX6L1BU23TXS4JMNYYKNRV81P06DAC0NGWJERZA8NZUPIIMJYBKP1E4ORKUX1VWTGZTJ412OJ093IV2QI5RL9KSD2YFQERFTQ8D3SHA8BBAX73GRHVL0NNXIN8N0OAQELAEUJZA9MXHOFUUO7UJ191UU36O2HF1IAWEEV6ZQGWRJ6DVUA1WNZ1A7F2KMWZETIBSMO4YC4CL334RM6PBYYIX9JS5ACZP2S6KNQZTE5SVWCEPKDSASLX3D2ZCKXW3GD14WM2JWK8I40DU9BHM5958T66597LSQ97W4RDPJNSGJV7RSK8TGLZ6DH5NKK5XQR92P3TCFK02WM75RX9NMQKEK7JN8LZW5XV4KGDRFKD5ALXZPQ2XHI6ON3EOF1XO4H6P291ZSX1W00ARRRC2MWGWO1R0HPAIAFGLOVDJ11UEOD6S9DV7PZORVAS. +36#BB8B1WIP8CD3C74OCQUA3H6Q0ODNVW4ZNV112CVOTXANL7JSK26JRQ3Y41NQR5EUKJTEOMYZX71EQCXC967V2N14RP6CVEKK222LEF5DETY92HMVKHFG8E9KR3K57JKKJU7LA0BX = -36#ZHRC8ATE73LTJVW68VYKK7JFFINNBU1OSQ38JC4WV6T8GF931SBMN2U51Q65SQ8H20SO7OJGJCZ9U043QHX9HLSHYSH88F50RCPDQFXHV7YDDD5H6JP9COMKRVF4060BGMD6GSJC11B4AU39KJ3C2657AA9BD8H9ZS3DS9IJT3O3OC72ENY1IH0OL div -36#34YFK3Y0UR1LXPBV5BZ1RMAIA8YU2LX9HZ2M1GWNOXIK6S2YZT. +36#LIBT8J8UDC1BMH1VVHKC89YPU1AQFECC6A627Z7B661ZJQF5WLVOBSNE5M0PNYK9UP1K6EXAAD3K5K4J5IH1Q9HDY7KV1VO7C6GFRD2V6CWPPABG4J8AIWGZQH7QPHSRFL3WC86XYE1XGH44OK4GHN9X2BDZEX5JJ8JDP9791K = -36#1HQZ80P74A4RLY32P06WZNBTME2I0AZ9JN0ANOPPMONJB2L95SZZ1YU4NN69H5183CA9EAE3ZG5T84ABYWAJOFMHXHBBP9C7NGSI2T5MAG27FKAFJKJUOOE38RGC8V0JQYCADD4HR3CSSZKGJYD7YKQAHF9MRI12W9LAH32VGYFIZYP4CSRXTSW5UX9K2IKF5VAM4KGNCCYMDEBHP2U3QO8U8YEGALZ5CT60HR8TMVAQ2DNE7EX3NGCGR1TKRYF40K55WWMY749Y2EXZASTKLUCF18CONEQT0WOW8S4J7VXXGUYUA2KNDM4JPQ71QPJXZ8KUNM48U05575N2JNPRQGMJ3PCNTW8GGQL43C12F7YLHMH6DX9MN0Z8VPZMDCONC635SJIT3V4CESL9122KNB9UKXLMXQHSA01H64Y9USYU0XHTEUP60G div -36#2HYL9UZLZ24CF9Z5NAORHJ2LBS68418K1QYYMMH10KBR0XRXKKP9Z3EBRYVDZZBZESJWIYAMC9IWD4U2TOHR4XGEFAUDD1IUFF29M9FP8TN73W3E23QC49ZDEFHSOOHLGS9QO4VGCF6UE5RZDBRFG55PM6POPJZWAC6H0WNXEV08ZS79CZ5DW31EF3RVESQWRWAH75K91A1ZN4ED6UGV27LCOVJXR6OBNKTODUMFSZ7Y0NJFFC81364N39PNMWE9GBI7KVRWZ67Q. +-36#VK6QLYNOLV0RGGNY88V36XXLIG04XKGIBYA085EF5KLJT5D136DYO7F0Y2XQRBPW0PINEF0QCGD3Y8VIRLY01MGRTY0A5OPUY5WEGYQ6IWS24TOB1WJOFYTNNSAVKQ543PVJ4U3KFSJ6JHFV1VDGWP4TGGKCT8BBJ8N5QF8TZ4R19KEB0IAVYBFAFXBX3YP18TCEWHK1Z2W1HPJNIAS1Z84S3IQI5QGI966784GX454VCAETP6D3HBNHFBVHEQ2C22EI1UA36ULHOXDTYVWPCUWFB9MHUOHQ9DEE3UDA5PBSEXH58SDE9SHC06BGZ49R22LL48X3CGIQZWLVM74VYDGZIWFPTGSMGSE9N8FQTIKMAY1ON23F5XC43UWE29JTP2KG1X63924UILMC = -36#2QHDX9P6OCFTBJOQGYRR9AA68PCTUBGSM6CS1PB3M9B6EARAMHLS5ZJ9NF5N9TRF4TAPH00UXOCRYUDK2J5M9B8MLK1DUSYFWYGBH6YM42LKQ6DICKPGJOOPIKN59TVFEXXEZ6FA39BPIYGPQC9K7ZSARYDRLC7AUAOSGH2PLRDZQI4VNK4RNHLP1JAEN2XFX8WLBD1OX91ICEQ7YD7FYLEW804GO2I1CKNZHSL98AL5KE9NQYUYWFDD893WVIMBJCUAI80FNTQF6NDKPZWR3BBDQSVC2BPOMWBAU5CUWK95LDGG021Y66JYFYWJUZXCV4UAB7CF5EGKFJ4D73AUC8SCKMVPVG355G0KC3IHKNTIO2D9BDK4TA54Z4JTZ27WIGKG94I8LVCUGR1JUBH0CEMH4RW3GO080GDI8FACX96NOF6OOZHKJKU4MN7MF3XF7C div 36#34C2JISEY74OE0D3FL6BRSC6HQF10WCAHH3DDHOFI18Z39XHRA. +36#8HQBD6T88OIXFTBZU3DZWWS259BLZ9IX1C3M22G1SYHCSQZESDF6GCLTNMM10275Q02U1X6NMG8GBP93K6APHEURQU9Q80QU1DAA8E7U1GJDVTXH4ASODP7EZ1NQG76WSG1QK4KMXXZ0GG91SJXZIXUPBZP1VWDKWJJR2KITC5IWE8VGN13NZLMITTAEIUHQ4XILKO7MSIFYOLTJST0SFGPYS8KIBBULJC1Z0S2YPZ71AU1OC3471OC0NSXPPH1OIC2CZA5AJL630HLBTR0Q9SYXDEWU25W0RJOWL3X05OPN2TT1BPRQKUK9XZ1GL74YZ3LESQB7XI24LKNMEVGLP9BL4P19OV5OAED8BNO61IMERJ9VEJU4W3FU3O14QE59GHZDL6ESTS9L4OB3LZMZWNUOS783D234EYJ7L34ODKNVVSGTWWXHY55PKZIUG16FN3DQFKKKU10VKL3WIX0DUV9FH80BZY0489H6HMZPPDUSUEMZJ1BROZQ8DN41NDSBL90IEHNKT5HN6AZMA9QSU278FN4B5SFP4B1H4GCRHR8YB83C1B33YJY491RI8DQD99YQSREKCRCOWBUK5XL7XOE0SD5QQYHP47PQ8R5A4ZPM1Q2LD4M6WGCQ5N7D7W1UOHWC0MVD23IB8O9AZM4QVZMCCY29ZJRJJCDLSRPU81HNIHZO2E1ETPZSG266W7UD2B3KJZ4C7FXI1EVYMXPRWF5W558TDVBI9F3R1V09DTU4JX51CQR2H81HQ60RZ4X4TK4M0WKA73P9XYCRWJDBP9PKND7TVXP6FB23ZFZG0VGEBDMQHVWGZ6KPQDHR1YCN11VS33GAVX37WPHQPQO1AW60ULYX36MF9E4T19F8MAZLTA8G = 36#45NNNB8GZJ6P5PH03JMUGAU8KIJAR1N98V9VQA9Q2ZVRY0SUV7ATSF1BSQHVGHBS4M018000JARC9V92UU6TR9Z0YTQXQESUNMUNINK85RSCNQAB3QSAVJ201IV254MDVCZOMSXJL2T7IIC3EKX6KLY0BUUZ03O3TJ3916GU7A7BOI9POLAEWH1K0JLO0R1RT7JHVK932TD3K36UKM1N968T0NVKM9TDRS0X8PNDJRL3AT3PBGOALO0F5LA6X4BJASUBHKNOZSJOS7TIWU9HJUK5ZRS1HBCPWOWI1LUR77TYPQV8LUU082VSHTVTP20ADF8NJAFDD2NLUOJCZ126O3Y6JSVQJM90BVQFUXPV65HPK4AALX23V39VBFARXNLY316BXOAEEMZQTSDONW96NE5PCVIJYTAJBXLLLNY5AHESDKPWI8UWKLOUNN9LL8XATVFK8LQZXJV9YIRO6FVVAHHCHAJESP27QLFRAQ2BQZUOZKH2BBBLGCI6IV7RG5KXQ96UO3OPR51KWZ22WS7NTCGBYJPP2WUFHL0AMCC116907OQXIVCE24GO54MRNWCJYXJB5GFNLEWPYB0GOJ982EXJ3Y5A2Z2YAFRM6TWUVBYU8D167U7KH65GDWUO09IPNT14 * 36#21JKFGRUTGIKP30HL9VRTC5RKTQM7Z5PAP88RX3ATDL3BUTI76H33WSES514EN5LBH20HD3LBZMNMF4JIGB8JLNJDH6I4ZUDWW9Y6L50QHT3XT10UZCDAAMWT6BYJJKYSXKMO3D1BJOKK2MKS64GJD5526IC0T06GXAVG4F2X7RYDKXYZP1JZ648B24LZHOIFOG31S51HZIQ6YHWORR9WS4DZMAMVD6I3J7E1K2P7ASEM. +-36#1AZHQ2U3CIBQAQEJO09FCAGNECOGJFETMKRKRRIU8PUABPMEFOE5LK4KZSN6ZKHDYFHYBJB98HIPG2SGIT3HUMW51Q1BYSBKYEGP12WO1EBF9JFA5SK3DNUQ3J0QAIOX54FC1978AX72LYY9UAC9Y27FOSEYU6FGV8R3YETRK3LBSA9GQ6F07IGLOYDX3IVW0U99GPL0CM8HB0IAEVC2KSEFWQY4IC61AVOB96ID18203VLKUAMBF9E4GP6UJY2F5KS4YEEREKZ71HXGXO0MZKK3AS27HAPI6DB5JJGAK5N1BBDWXYUA0XYQXHV0WHNBPAOS7Z3UYMOOK2G2J0AVV0XLDVTOJVKQ5KYUV4AZ7AY59ML1CZXNX5YDXWI7GCI0BQ55Q85VKRHZD1FSVEPS2YRAVL27XZ9EAG5QA0QU1XW4YK61Z3W4DNE5VQ9QKDIMK6C6T06HC9G5OGTXK2O3LSOLK150XX8O5C5US4Z7VGRBU6Z1RCAPHHIN6DVBMPKG0IED1HVID870Q949HDL1NH1CQBGIQH27O0JPN6YAPEZJIE3C9N5TZTWH9Z0XQBZCTL2J8YNVIRQFW9B0UEDP0OVM8DS17LFW65LMESHMP8XBBHD3NBZ94DDMBGSA382UYQC8FAQV9XABJHYAKET49O9WGXRWKRX3LSCMODU7YTQZ0V7KNECFZHQKKLUZRW1AXIF64AZWF5HDS8QAQWLV8DDSE7R401CC8QG46I8JHPZH1S5E4AV5HDJFJ72HX1UPB2HLC7HQF0DBDI57B68PYTR02RXZBVSSSHCWXOUJ7PB9RMTPSR7LSHQZZIASZH7GX2480PKESMDH0D0EU7TZ6WL1RAWN8A6ROZ0GVTJKESALCPFR7VVQPM4JL0DFINQHRLDQYV4IJMAXGE6MLZPPRS017MXTQNI1MEHHMXFR8HXE1H8U01PHM3O8YZB16HDSHQ11WZVV47DIBPCM6RCB94XIKBYZLILMWPBUDSGZC = -36#RZMJMY68LB66Y61DRSKDCDRJ7KVG0U81IUI5M4NSL5D7JKQ5DKRGNIDQW9IQ2GPDTDMSK91VMOLI3PEWI7BXZ0DMDNL508XAEL3Q3W5Q6GKM2MSSODABPBITUX9LD51XYSXINWZBRIJ25XQ67LHIR8BR1Z8EK7Y6YDHW2HHY2LPB6YCF1DIPBXYCT8ECKGUHV9W9QMT1UMP310OFDJAAXMVE2LAPKJGN4K07UAVZ6 * 36#1OFKYXQN6A7131R0NO82H7UJUPDI42V8V4519JKF2K9UFK8TKMXPBPFAWDPKIA3NWMFGOEJXKHU7DMBGKMG3OZZU2ANBWM692B49YU11AHFNRQ3RE0EVCV6ENP2UTT8TRSAT4A8K7MYL8U1YZGL9WIA9UMUHEQWGH9A3IALREAUIFBX83HQO1WMVR1RY8T1AK4TQ1PLNLKJA1NF0F6IQ0MCU0ARQCKXQEKZ10FMFA1OSIYW8Y55TSL9EPIS3IBFFHV5NB5524Q9HZ05EU2G2DNJ1RZD1KQEBZRCMY2YFWVESH03GLCHIEW3N624G851GUIQZHMTFI3CB35QUHMKFWI7HMSXC4ER37UIKSD6QNLCLGZSINKXPUUB173P9Y86CIQG8KBKYX63AHY70IEBJWJ3VDZJ86X1IR3TA5WK07RZWN1PW1QJJQ3LM52MWEWRRU2RYE8XTJECW4FY0OQ6OE4M82LCYJG0TZAB7LLS29SK5S84JZHFX74HJD5SGTV0P5OI3WVBF3J0IEGEISMD7F809I1MJ8A8DE9DZCXT0KG0JOKH46CIAE35T8B92QOOFSO41RNK4H6VLG1KLG7TFJ2OBW98TGYOYZ0YU339RDUXB002YB1T31XB8ESWQ91B7WJ1KX1C4LKK766QB2866XW3K9J67H241EMLCO1045DLE09NCXQ1KNFURW92ZVU4BKNEIKHPKMU6P7H2D035A11AN8T7B0NZHWMPANV8Y645V429LJ3MK038WYL5XEMD8. +36#2V31GHJX4Z254CD2ZGM6G1CHUZN1LD5ZQIYAIN5DRZHJ09S20L1MN7ZVTUGAJBUF61WR5L0OA42R31SN49CILPRB9KJKBF0V7V3F4A1TC6N1E0CJFA6MZECI1781FVRF8PGDL1GZFWGMTR9HO633T9S8GLWBM39N4STIIC8B8QZY9NYF1F8Q8T1UKRH6VSYXRXETEDVD1MJ4J4GAZPRDLIICE4VE5C77U56D9BJ6THKOXXKU713OBYW1Q304LWEJB4KUEWTJ1ILTBDFAA005CCYWBDNF0A8GLC3NAEO4Q9Q597CBT6VMPXHTWDT5PJSZBK24PF0XUC4PP6 = 36#6CPYO83IQFMXNGEHZIJIIF2I1GL0EU08TB7GDP0L6BKB65LDA0DMVLKVWTU0YODZ3HPUDZAAQ7WWSTAA1ZRU15907LLKBNB6IMBJ5JV6N7UO6GQ2DH2QDH84OJJXVKIO21W46JC1A1LHR25I0ZCALI69I89BIMX1NJV21D9SOS8F42HEAPALGCCEU6M45T5QX49LUU * 36#G83TKFANY02JCRTFYNC8CCCT78DR5EUU5WCYEIM9TU1EB6LTL708GY3G2XIL7ZAZ04IXYU214PWHQBOKAF9TRTDMYVAZMVB0C1MBCHS2ZSQSXCXXDSZFKSJ7ZCHZWAW2LT9H3AIN. +36#3WB5DA4X4GFBSOZYJ6SI1I1VSTGXMY1VH5RMOHL7TY23V058OZ8Z8X7FFTJLYYI7801ZWNC9PN7VQR9XUFX8BI2JD9D3EDXCN1DL1B16PTR2XUAS66BNTXAVBR9LNJC3JQ97R4YLPUPS3QME4GAJ47NB03EP0TCITVU4LXABPN141CPWVNQ4XIA680X5AV7PWN0CCFOCPUZR880KYXW0705Z75TFNDFWDWO4CJ672POX21YSKTXQ4ZFHBK87POAJBA4HPCJ2KA8492FNW9YO8PN0GXH1XFRTV89O74R3FNL225MM94LL29BCZ31WV39MCXAY2DDT50CS9PW6RB9JP7UXCZ5J6R94ZN4O8OBKQ4JRA0RX3E16M735XG0V9LLMO5S2RTKBBKOYZ6M7HGU3N5VX2Y41VBWRS7A8RG8DQ79SDP3WT535W13ZDJ7IGDITTJ633TH9WGLJHOXPWFYU9MJTMXSFIW5RW6R5SQ1WGDKJRUF92FUAZLIXSVQCDNT9XZ9M9EYDYW8H0Z2PHEF2I30450FF3RJ4866FIG9DRSGJBZI6ARSJQMFPRE2VSGEB754BYTEE65BKTO0WQJDKO1R6012V82BTFMZMO69K1J4PHUFRPXUT713B5NEO64WXBE1KYDIWQWFV4LWOKASKFHTAMJUJX7G9WCIJH7ASI2DQMFWHV6AQGET6CFPG3KUP80QFAM024T5OX1E5C0XWURZMKQ6Q1KWWZZ7DK14NUIXZ85WS6DGTPKJDTWFMOJN4RZMQKCVAAPVFKG8GAMY9ALOAFV7BPZTZYBQR51NQL9UKBNPSE8Q7KFR3W7RY0VOW8CKOFAMJLE342ZYKSC59JCEFIHXMV573X8I6 = 36#GJIR2BQLDUOMCNGY2KKUAJ77JB6IGDD336F7P49O69NFN5LT86YN5AB0Y6QBLN79FLF7W3BMX485JEYSCWWH55IGBDBHNJDZT5DW4GV8SLVTAPZUPCRLTRLM5J86QNPCWKZ052ZHWL4EVA56YUZDP7QQO8VCSOQLNPYNJELS4X1IFZHYX3GH4MHL0Z3V2AG66VNY7CNTKRRLS5PYFWQ0TR7N034A9NFJALF477D0ML9TDHJ2Y2XPEPVZWZ4NOFGD1LZ80GX6BIOEKE5UJY00RZGWE8JGEQQRK8GDGRUMYMDMWFH094DYRMZNI8000RKKG0JVIA4T * 36#8HCJKIUYT0HVJ1O38E897ALOJEDYNA824WHNEGS9UPGFPKLQAHUII72MZ7OOUDTTH7LUXB81TV7YSY5E7GSDP8DN0QC02FRMSIBG0SJJ4PN3APTPU7ZYV2SKWXQSSWJT4UX7FFKU5NLAVZVAH7UXPMLQQFGHXVX9MVRFIZV926DS2L3MOCUDFH59AEWR6OFVFYLR4OQZ7TNLS7G8YEAJANUKBNXH2C22FWV7HL3111VGJVB5ZGDOCH8LII9LU0UVSFSZW7CE124CJZX118DAO17742DYRYYP1ZDN27CWLST7CINVMNMBM5T7MIFRHRY09U2W7I5XDK2KIP0L2IHUUR8TII4GSEBRFN7XELTWTKKGS6EEW8YWV1JGAATRI3W60C5SB2WZL4ZHEZ4LMF3DIICM3KL1B8JZMV2V8POONLFRC0WK2U1CAR3W1LTG7G5PPBC17YHHSSGEYHA0SFFWH2Z7K73B3K5OGQX2O5DBXTXG284F1I2DPCMT21P68QOKD6KJEVKEJGLGPMW1BTJ560APFYIU. +36#KW9CPTE20RGPS06NJ2VGF08P37JY82UGIQG19GF8IT7WZ3RA68K80K4ZOGY86VAG2M2EG4FPLECE4K85WRTY4HRPWR9SP8K2PXF4NWKY79MI81YDX0T532O6NFWQ1L8POC73UVXSQHA45VC9PHM6D1DMVC6PNRPOJAVS6PTULFHL2ICF68KO6VGTWXY1DG2BZUL2F0ZSVVSLWFU21GUBVOBVA4F7QZRDJZ8TYHQCA361A1AQ3HYUB2ZQ9TBZAZEC7XI8TNJLBC2RT6BPIGVLKYQXVHBEKMQEBYMHXMMWHRI0P7L7NIZCGNHODY6HE9YT6GTWMXSREABICPRUYCCLN962DZYZC230CJ0MEEAU3DREPEDFJWVHSMX08H3YLWR4HEHDIQ0CWHOGI4RCKGLJ4OX49A9V76MLV5Z70U0QRUUHYZSB37M47QT256C9QOSTWU7EUQ2L768TALORA7YZ6PT015N9LT7DOINUSCC2FESZ5W3N88HDRNQSPXQU2ZLJI31M1IJ5L6MJLKI9SB0Z9EPHP69CFMVGFR4OJAJXJ5MMGAOX21A76FIXVUOZN5BDEN6N68159S2HZBDBQCN35YXXM5KVGVD9B4O05DHCHXTP6AZ4ATFDH9Y34XPU03HLZ74MCH8M9905UWZEF4M9C17V1145Q04QREE7IGXQEVOMVLG20331NMH4DFK9IUZTWQV5YQ424UOTW8U0F7X7CP3SJTCCR3K993N13160SXU5N2XIYOCBKNDI4N1UU2T3EL4HXXQ0BX39A7MYZHPRULZSCVRH4YZ61ZP95GZZAYBNDHO177NQ0R9M8TC0IFU6LGPY4WWR4AUAQLPY89PM = -36#1G392SPYWC8LQHMSJAWHLHEF7SPBVOOCLRCCPB9Y0NFITVGUWCKL765K3JE1BFPZ9N8IOOG0OHV7GMJS4QK4MTA9MTMH2EFG1ACWZTCCOSWGKPTCKDGGGK495VT7G3HOPZPY14WLAXMRNFQ5Z18HXX3LZ7F455SUXFHWQHY4G544AZL10RUVZMUJWZTZM1ZEOMZ238L8U2B5UWNDWTK9SJXO3G7AXYEFTAI1AODU1YGBFBTT1RWMFFB7Q7JL66A3O2RDDLASZ9OB4L00I5SW539XJ3R45DGTFVNKUPOCKQLONGRQJR5NH68ZE0VBGXB9IDK4VRE767Q6TLCCEV4MZZ0VGKYASBYSZ3B3XOG9MNXWZXRYKUIH3UK6TGZO8ATPR0OPWWXC6LG71E62OEQH504MD50VRKX2C506WC8VVDWUURJV05AEKX4A3T8L7QLN2D1PN9OKFSME * (-36#EFW446JJETUK26QAEA9TM6RM8UM1FGRYNRN02XVDK7ZMYTZDP7SS6EDSJR1QHNSSQCH5RT43N9TMQH7A3MKYTMMMVML5MYABDPQCZ99F90KYMGK6HK2RWYVTL2PWGX41DD1193XZ1585UZJ1L9TIKKD44KPEN1LP8MVRB56745FPCBSP38U7E55QEEFZSAWKWHCD1GUZGZI2ISHAENGTP2U920OXSKW8JSPHZNA5WEJL9DMU96M7QNFZUKWZQV027LTYWJFCOKMWCFFMHOKO4N9U1D9QHJ1O03LF5EVSLTUQOT0C4J7PFCTV3A3U7DL14IJLLL1LMZFOZJC0U3GG0EVQIC7N5RS0S8CANM5BRH17W0XHHA6K1JFEHS9MG8DCK5S1VL65Z). +-36#2GU8GEDMQUPAWP3PE7YAV8JCLSYNIN3DZP0OBZR2F7ROO8P2FS = 36#NT4Y6VMBI6H6H1TWHLMDMF2PA4J88VYU93E1UVI463ZUYVRSSPKSWH65NDOF4PTDE53Q9K2JADUYCCMBI1NGL9GDUQORGZ3KS12SZOVEF50W8UQVAP0A6ZYLHSTEK5I2NPVD7RQX1MIGJTRUFG2BKWXPDEMZA0Z6ZPBSE4CO4JVDJSASYVB8VOAP4TNLQ32KQ5LJBTIM4ONQDQF79PVWXRW6NJFXJPI5Y07YCEK1PPOFD8IMWQ8R3XE20JQES3JCDQE3YA1BB2QQXUOSULWSR81HECIFK65UK28CG0YAAMA7FEATXDVQU8W6AIO3PNI19CP9Z396EQNQ1KEQKJVLE88KGFYMHIHX71EILRC6QSX94J9R8NKLNGTVSP6EOR6D2OLIYIUMIY6YYYW67O8L40D0B35Z72W6NA7CDH5SHV2X8OPSIJKU2HOAMUINMGN8DX31CBZU5GFNWMNR6JGU5QIRD4F2FT11FZ0Y67UE9AME9O80BC91ZTO7UE0P8WPN0MPV8ZQZWOU6HN1WA0D52JJCK6L8PY4BPVRSF97GATKCNVM8TJ9H1QVD4GV3D7GPU9HWTG4DLTI1NS0PP6LHOJPUJNIEYLX40ESOQ1PYIJ1UC8JN4E0I1J5F40X85C118LP1L8B87VRLZ0J9HYJ9EZJ73T78P857SG0GP5VA78NUGORZOF7SAX83JHSNWM8YU4V79I6FLY9SAE4Q9082U9ORK5ARPAQN6IS7Y7K1DLA3OJGWMAOZ900BDZWNHATG1I7TEQ1397R34VDQMCUWOR79MFC div -36#9NBYMK2V8YP0BIJ8GGGKXOTBXTGORY3GUNP75AMH60VTJMNUSKBCZUD2UBNKD5XKRU7C7I0G94YN5FAZ2M2NECOHMFGZMV23878I5ZUQL4SIX4QIRDEYJX1SYPO472UJHIZ82IZIPDD0MP9DPQ6LQ6HI1IXOGQN3TOSX6G9DVX03UEJNL52BL2TTA33394LFZKHMGYK1VITVBACMAP4Y98OAHBO6ZEXGY59GYJJ1MWIAYE9RA3G892LTKC76W6VWZB4GLACSYOW8X86EC0MRIWSCOOZMUXFBS2L0XQ6S08M8BEMW1BKWTIWOHKOWK4LM44POMZ8ZSIFJZHXKYXOLJ9B3CO89OVWVKGJMQ0NUPNMANV4YMERKHLZLP5POXSR4ZTA6M348UTM17SQOKF9XH1VF5UXID0HHXGACAM5X75XR2NPSKMZSFFBH7R1GX8FYLQ6JT3NIUYW21CYXFCXC3VSJ88F06QKHK6X4SLN4CIFJ1LNHFBT132AGOMCGQX5VYXJIJDSBCE8X7D2ZOAMSXSFEQJON1E9QAM303V5J67WTGVNYV3DG2VYJKLEJVFCCUWXR0TJUA2FHWBLSDIPYUVGOQIRCSUDPSEGG0NLG0QXEWA4RBC5GTP4GJA942X92TOAQJSOJF5I7SXG2O4BV98Y0BCWVLGB9OUND7ROVHF3L4UE8P2TC6FMUB5I7AIWAF76NQ1RR7IC7TCK93RG6J6EX5ABNNQQXSA09JTYX43. +36#V2MNNYMPODMAFJTKLTJ8TGWYPEIZU258I570I1OVGJ4GFZKYYN43BR4MWXJZI8K0U7P3NRDBQ3LG7K6RMHBVLQML2LCG5O0L7TKRBHE9GOBS3J3NWWNXP6BKXE9RLHPORIJNYXR7Z4PZ6C2G56V2YKLCCMLIULDSULUMT1VWOO3OEOQ6NAZYDNVBKO6T9D4UKE5SVFUWANQSEMF2GNKHCHLEP1LI1YBKVWX5GZ5OG22G8Q1HB1HPJDNI8AYI1V45RBDJMZUSXHUPNWZUD0J43N7RL4ZTPV4G5KDAURV0IEFAHOBIXPRNX0I36H5NLOXJ753V2EYJ5BKMGY6FAMUL0I7EOFO5KSQPX18AUAIPFE3B1TCRUZHWUCV7G4IPQABI8R3XGK04I27NJ4C2NJS627UA6QH3390R5FKREQBNWTFFPLTLLFSI5ZEVF1F9DC71N9O6NYC78EJKNAP28K8DVOST4FJ8Z267UJX1YIGW15ORP5NQBB0J5 = 36#AOBDBUWGIVFI165TU1YIX231DWB2VPDWF9SHFC85E47ASWZX9TQPUHZHHPBQBVOQ32IJQXZDU4D9QVASSJ9HG83AXB1A4K2KCSDO08YXKJ64OBUM8AZ4BDYC0MLNWZQ40EVTQUIW01L47IF5WTWPK2FR8Z58I1P9RKK17E2FK9CX5KHVDXGECWO53JET7SAGSTCD5K9E760MYYYZ2V2FUMRIYLU1DUWL32DCT97XLRJPTVK2QAH1S88C0NOVKEYLC33K7ZOFVGX9P81Y1I2B9FVXQ1UIV742H1R85MAHMIHJ2PJ3DE8V09T57HNPTMZLONB914JL1ZCKSQN7RN7CLMA2FF0MLSLEP2NIHVHM3CLHRG5VWFPWLDJ0XDHY06ZSYYD0BAXSSD46NPE6I86JA8Y9TA11MSM6LKZI1DFVZF7WZDQYQ3VPQWV1KM2M4ILGN97NRCGJGIWY46KMDEAYJY62TJD6F3CPE3TMKSDYIUFMEH8ZO0XYXI8B8236IXP3YBK5EUETL15C8VFV2UL29B825LVGFREVN2XP6X div 36#CD9467WZMRURRRXVAQ6Y7GZRC1N9VRYDOLXCWLC0UMIIPH7TL. +-36#J4YDWTER72P4SHH38YJUJKR9L34XODONAHU5ESS4LTW9IR8S0 = -36#FOOSEVNTQ4ABVDV5IFIASW69ZYUVCCZ64SBX4L7SXZS14933CHZQKXK8YVCD53O77MOSZJAOVJZ3CCT9P1IUXNAKWOVQE08EQISQ01L2BBLDQQF660ZV8UNCAU4CYIYDPZ61AQW9JANANLG3ED2TB1Q6G5MT44K82NW0HVEOKRVZA9D5Z31MF0HBS3S4AZJPCQ5UQ8LORYYXV5YAO1WXKND4R6RVBW7IPVATP52EWJY39BZ657QWHRAVU7V7BDF82K57PX75N3A5I54NV9260II5FF8DWL5528VG73WLFPC6LB6YTEPBEBB1QFM2MX3H4M9DA510N87C772VJY6O7BSLECAC4A4THGBEMRJNXZSGRTSLHXQECN0PXJU01021F404V29NGYZLJK2ZFE0U32G8A2A72JR6O2IVR9BZV3BSKRN27I3F6JZ3F6D9W6TASSUVXLXXM0EJPECQCIRGTUU969U3TP2SH0GTTCFN065CP06XEA7CJ8RCZEDBSNQ0D1VDJS9PX009DJHRNJVQSU8M324P92VP6N1CVNMMLC2AK2F1SDIL4VS40K8FQ1WSN00M921K0KEEF8IRMR1HPC6C0OE3GJ49GLWBE84JQ4E7JLPM3HCLYXJ0RR4NSZCCDQG32IP0BZUSQLUD489WSDRH9HPGC9OFQ183P8QF0RAWTU5TDJBDFFUR28WW19BP3S0JLPYEGHEIDVVHQTCT1O61M63UJUL2WWG37ITK42Z0W2ZFNLNGKAUQ6LKWV489HJ7XB0KDN0296F30LBXQJHX5S7Z02W1XJYXHVJWN8T3VS8IRSW0HV9XRW9TZC6TFAOJGYHB5UQB1UGYA3EI080PKQM1M1BR5MHRKCQG1VVP3CB3HFHBW9CSG79YZFFWCOYE00 div 36#TI8OAFD9HMDBPV8F54XUOOTU9BO5KO3GQ6OB1NUQ9EP3N1ODJQIQ9IDM9T1LKT64681QYXTZO4T2HGNJMRMEU9RWP0PVCRYWKTQZGDLJLK89RKKJ92S4W1FJA023KV489HJ4K275S2JO2ZSI8CNUGSCNL2PWJHEUCRXGQZH915874T9TI5Q19LD4MRL8WM2NXZCDYI0YMGMVGW2LN3IFCZK0S8EVLENGJ878Z92TFO6J1O1VJPFPH040COYATG28SU5SRFHNB526MH7V9JK8KGGKAFAEPYAD3EN1AN8CM9G2S20ZUZJB3M6C510AK7L48W6SO47EG34V62GEI6B8DQ7BSZTOU6N8PGSSM6LP96ETS1UOXOSHKTMFA8HOBMYDAFRMQG01F67SUPEEBSRZT2THK78KAGS449I0UGRGDH0RH9V5GWK7KDUPKKFOUJJ721RHR2GV79YRUVYB2TX9M6OUCRY25RPISQVJWFMRVBVRMOZOH73A93FAHNU0MRLEED19TSHWG7ZJ5ISDZX5BYXH79TKKFQA0G7EB19DQJ9NQWA8GU3UG1B7CJXIVDL24XGOLCJPYKJ7DJWYZQMD3U8YD39TNBC6WIMHZINSFC3G4PYDBPR727N5UAV64VMRQM1H460K3GG8NUYXL4OACRXUENUP2COXZR1K9J3BXNANLUTFW41T9MX4MODV0N3BP5AAL2LNXEEEM9N4ZW5VK6798S9EATDDGN8MISMER8QY8EKJMGT6LCB78PWNP7WX1UPXY855Q5MVRG2YKU6WHZGQCPK5WHZKGUW5DVS84OW5ABRY8D9FY35BYMAVG15YURCLVQUC0QVT348LW0U0I. +36#8B3H2FXN3BQ7SKKH5OU4ZOXY31TYLMP6EMF5VN2DBR8LJSQCEA5IL3J1FF2TTWNC8ASKA1HU2ABRNVHYM2O648SQN6MM3Y4H3QFPAU4DJNC5SQDOQSQYHNJOTPFBVURNHUGKL4M7A0UBZFD6JN2CTXFR6UKTN8BBEVSHO7VRBJL3TEAXSJOX7LP1MT3LVODAJD18MNE4E91EYZGQ2VI02FBKHDPNQD9NKWSMEU7D9Y48YIBWFITK129W755TFK1CEOI6Y93GJH885C42JS3SSU5APGBTJYP9ZRW6XTLL3EYBS3RODAO0MYAUKK93TI67LBI8Z34AS67ZLBJP569EKOTMDMORVXTDITVXJM53W32RZW0P2GMMT3DBXJ6IL9T5H10PU8BX2CBWOJTPGRHHV1XOX25R3JZPBSS1GYINTJZGUMZJW = -36#2KZKCFP4HC8R6PZAYW1EFKKFNKP7T9EDAZKWASWKJ34HLQLVT7UWKRV9W7ZA0EA58ORWKAIFF4AP44CQW1MRJUX51QCX94P90SFPGTY3DQ2BAMAQ7ZB5TSOUGEGEXENWUJU2USADHSILRYEW8UE6CMGW7UIZZQH4HXENNH4G6ELKMF0SBVB7V0DCJ8S55X87X8V9F81HULO2WGM15TFUJ8DH9EYYE7627F2AG3XLQ3O8LY95DC9BW * (-36#37SLGBEBT4L6BK86PD46LZYLGLZBRO4XX7IH6AOHB5KUNCHE6T0V8WDUZHFNE6ZMY7WR3SF7MJMAOJJ03QZVEVA90LCJHUHSSKWR1S602VKSD4Z6K889IPK5IBFVFYBBZ4284NG9T0CNWW57FLMUQJ9MLOR7WCT3SUQAIMK9D3S71NI04RCB6GG4BDNG1). +36#1NTP5PUUJX26E018G2UZ3XOCPEIE8JEPE3VLUIJO31LZ7CWGRD = 36#F5EZ6XUTKQTN3GGNUYQKGJD21SK8PCOYSKCE8VWSN9EF83U37UN99RZ001DQP7M1TCXWJ3A2SW2R3ECTBWZB0CMUF4VM3HBVJE div 36#947GD35SJDQEHP8ZQKOO0UAACYLFIQ12C3HSWLYI1R9KYUAGQ. +36#3YAE1Z6RS7AX6CT5U7R87KE7Q3W7OVQEK9OAZ2P37AVKLQVCA40JQ6XBW23HXHH5KAEKK9X821KYVVY7LLY5BE8714WGLCFHNC12I03EMEZYDSKOYLOMW2WYCOEEYNTFJR4VBKIA1GTSUOKQIDJU0VH80FG917NNTJ8XQ20JCBBLXPJA1S6R81VOWXQ72WQRAF0RR4J552JXJLFCZQK88BLJIOJAT1ZMCCI3SLOEHOY9FRI2UVPPAUJSRTDFXDYWCM3S3BRJ1PPBPFJ74WKQ1DL6SNWS0Q1QBG44GNQVABC4NCHCKEXKJJLFJVUYR83YV6J3WFQFVNWRHHYVMFGBI8TNLEX4YKILYD6VY8Q5KGWHRYRDRO1F8NY2W9G7C2KHNAUPZPTE6J8FDFR0YUMJDHIWXZPVUSQTHXY8QJF90A870XMM8DQJIV0SE43GS5993AA18K11VNK0V7G80WLNGS42E9HUHRIGNC03K4X0FHR68OYKAMNCR8P7W9IC40OPM53FY8AQZISCODE7X65OY1QBL0VPFQ0P53NAHRDTTZEDH0TNC7J4O70VUYPUG69UYMDZHPCZTS8KPVW5X0BV83LV39RA2T98LEQ8JZEPHNH3INMZQHRRNKF04WME2XHKXQTKJXP15BRST8OBHDCC1ATT4WR9I1KBCLKX7GAWD6R0VKL7WTCCZ3JW9SWMOZAVRRD6P90DIOIS8WYONOMBTK9S3O9A3OZLRLN1U234BY2JJRLTCRTM53RZ7HWURDDY86UNXAU7BA7XQMEGCEI1KOPNBLGP93TV2KMKEB7E39R2EMWQIWD6HIGSXUSZHHOAPFT83CFV8WS8ZZR3YIY2Z41Q7PD01XYDFYIFWCCZVO8MVDGCBE11PQIJ670F98BD6NC05MHUOOJLIOFHRJDHW480HTCBENAF32HFRWMZQTZB42PMC4HEHKXWK9J5 = -36#244GPS9HHTLX6JB7PRC7X41K8GRC9RFNCSCASI0S2BHGHREN9CQ8KAMU3YWC1P53JX9LAWK0HOFVL6PV3LE79YZ8GGFA8FAJ1HUQCHF6445PFAASVADA5QTFUQ1UMZMIUONU5404FRON13P0UHBUUDIYE21UVPQDXADKR14MZKOJIJIO6LGN9U5AYKWBD9SQ6WFM6UOYWT1N8Z6O2LA2JRZGS8YT7MI2CRTB1RMP77HWOJ1UMABI97NF32EVWX3SHEZ1D8H19N20EJKFTJQXTM11BSQW2HS0IQGHONK430MXS3IBN0TQIQSVDB612BZYYHP5W5H4IFC9SA3EV6OAGVFBCMT * (-36#1VAFXT0RAHU4JA5NANFOL2J98P7BR4QPLTV1SHO1JER9O7GG69T8EML4XX27XBEEXXTRIXZ05MWJHJHNJU37OU3JOMKFEVP3J55338HIXJBOU3S17MNCZXLI2UQ0LL10J40VR30GJEU6ROD6ZFA88R08ANJW7Y2ZEJT0TBUIG1RZTSWOFJEXF0BOIZKTSBR6M83D8NDISO05GB75EEJ6R8U734JAZFYQJLDCQLUC8EY2VLJO9S6CZ7KUN3NSQH49K2I6KEK1ZOVZ8OOLSP94MOJ86V2O3DMR0JJ3HIJGGLLO61RNF59WSX6XG50FMH09UJJBJI6I4N0QLYLAUGEHHJXH2JQCYD4NI1DBSRIUUNUIUNJ4R82A5PHLX4UIVR8SCCTQJW2P74YSSR5WDKQNP6175K3TQ9U8N94ZX2FQOA19W16DOFDCCKM66RITTU4Q00U2ZW49MZS38MSL70PILYXKXKGDFA7NXVM7GOZO5HGQVHTO047K032LUCPO4QB4YHSSOG0MKERA4QRFULRT2CONOJQ2W7HSZ397UI38UTE4SLL6ZUJABY2SXCI2ZCVWC3571070020K7SGABLAU20YAHBMJ3LWMHP). +36#156XF504VLFF141UDUOKF92NVZWVWXQ5LXJYLHJMQY2JHMKQF4KO8TERZ4 = 36#FBL08GZ1QXLA1XZ3MGG1FMNZDSOOGLNRH5NT9JQ364Q7XWK28YJED0PF57C614GS2X0A6NFP2974XW3X24S9JE3C4XY7GOPL5TFVUJ5CWW div 36#DE1YL8P4XJLXKQDRM6F0IF367HNJNQACZMR852VY7CTAR5T3H. +36#4K1GKQBZKBIENNBF7A77A0X0SISOGU5KVXO8HQ0CGOKKS9QSVZIB5MYS852AJTB6MQU5ONUHIVRK8PFFN4YG6GMURVASF564OC6HG6GLD6UYXM9H4LYSH3NNZSWYCETDK73GTCJ3LFDFA36HPOR0A6YJZWYQ0ECMFIT74BLOD47WBCY66LU2LI7FQPJBPVN562LGNB11EP8Z7HXQVVVLM0MMNU975M4MDVNBQBEEQL58KL8MNRQ0I8ZMLI7P0I5MZ0IN3TG43KGZANI8V5E5UHPYT9MVCV8U17SE3GUPMQ4WI3E5E5R1H32AP6ZCEVDOU2C3JHBFFY9S0K5NNVFQ21CVZCV8WOES130N8ZQ795CXZGVUNZ3KMQSQ4VJKFMYN0GGT4BXCCJGED34HF41IA0UHDDHCL390M9S1X2M52MH9D2PZ6FT8KSG21MHUH58YP4TRHJHYIXCEGSXLHCUNUDMI71E8RXRFXPLFW = 36#A4W7C72O814WY4II72GHEXTRWQEI7WY3Z8W5YYP1G12G6FWKMTUKAH8OUAQUSFH5ON3K06439H7QS4UCVXOXN59GGD98LJ72W6CEMB2YVE9RE0NZD2BPQZHR1ZT0D3M9UD60JDS0GIC0UVFPCOLTYKSFC1BHCLSBS3R2GEXI4AHQXUZAGHYAFCYV7ZRY6GRS9GP83HQVB1F6TSMNVS4KQS4TKJPRIKG2RRWX1WHRLRI6UORNXNNYJ3CHAWYWWO4MC6S0EPCWVWPAOT37M9B0D1JU7VQ * 36#G6MHLNH0D8PBSVPC84OQU7O1JAIWQ0W6VXSR9VS4HB7EXL9YRQFGWSOKLH8Y0ZU5KPRKS9OLVFED7LT4DHRGAL44PWDT7PHIDHZ6QKRGCYBWO1V0DAY56DX5H6XOI28KO232WXD5H4FGZ0IWITVTGSJ31L4LUBKR0SZQCS2TT8LL8G6A5X6C2ODLOYHD93M6H7HLWZKN7M. +-36#2C5A1JTLW26F4Z4NQ20SRRKUQ58N4U4UFYNEYWYA0T7L9YWQR1 = 36#3CCY2R8U8RMJ3G5TA81HPL11VYBJ0CTG8OKQRMKY9X82808ZZ3WTKV5HIKX4KTHKQOIVW1FM7AJ3LMTN7OUCE6PXKVKEQFCD22T div -36#1FHQODZ026DDEAK7WIK4ILFAQDS46K5MF9IKMMYW3DA0B129BT. +-36#1ORXVZYPK10AVQ1K41G8RFTCOFURXW5QPYTU88NZIFMVCPLSVX9SIC2MV9118IS6NVATCWFCX94OSSC5AM2LUSWNSWZOF31B8ORASRK4261I86DWYMTBNCPICIZH6P4DSO = -36#T5OWBC7IFHSL7C9DU8T5UIYHLKLGTUDHZKIIA79TE2891ZPFYVZSCEBDBXXNM06JJ64AJ5FKFKVK3UGD * 36#231C6A49P269B3OECFA4SNJYAPZQTHFO2DMWTK554NGRLEB48O. +-36#KXGU35OSH9I51EY3GZGB1F3MGU0U00RDW75NOAQMFCVNO4GABF8IEGKI0TD6PW9LW0V52XAHNCXPV8W0H327SDWINRBM05RL5BSFNVQJY3MF9XL9ZZHYB1RUCKUY7DFB0GJ550QTYWJK27JDHJG5NWWEJA59YDH2RXDYJXC27QLRTUVEYZO9CJIXSW8PLTO4OYJX82WC0ZXL4BEAY71JVVS4B316Q3IUQJ4HIKSD318THV2NO0SZ0RZLAXN7HJ6R6D1TECABSFVSHOUMXHWL4X4UC7MFXVXGN6N279A288PFQR1O7HWVM195I7SFQXTFBOVRIS5ZB53AZ58C05EL3QXA9MF79TNHZ5DCV4XS0DJ66WGH889NWH63D3KU8LB7Y2O6KP2ZH9BWDCC8VPY8KBNABURSZ = -36#1194CKPJUN1DFIVF2Y32GLTOOVV8GR6N3LSYKQTBCIEI74MTDKC60DRC6PMW5DFO3V948NYEO79KM1IZGOSH1W1H2SM7VW2YEZ8LLTQKKZDDTQGQ3Y1D0ALF67YON96O2U5IQ4OT2NA7B15N1WY8G8GBIJERDYBHP3LLYRXC4S4H0AEXR0K3GN2LL34RNZVZEKF52WZT10UETIJM6HZTYG4ICM1H5NIAMOLHGUGCSLVYAQSCOXM1P2RYOIOQWF6AFX2YO3LG1MPB4DFJIDYJVQTJMZVL1AXLD9XIFXS1WWDI1CEL3GBWUDSS3I2G1CITAXKTMWOET4DN05VIV0YHDT3KJPSHHYASIGZUEAFSZFURJG1HJJJ0UM8BWDXHJCJHMA8SRPWJD6IZT6CH2SQK9IMC1R1SNZK255GFVVUS3EANXG25D5I06XB9NKKNVDKQE5INK3YWENWGALR79XRP6C458JXZCNGRD56OOQ6YOHEQMHG5DKW320CA2PZ704I5PN0LEDSITWMWHA28S71U78JCPWGHZIWHVJWXNZWCH3KQE51JND2L3YH7EOKLY9XW1VD1IV3K2JTLMAH33Y8VP7KFA49E51UESYMXJMRWZLDPQBVKP37VRVU3D8ZALAUUG1EFTWIN2LZ7PFCHZICW4S6T9KIU83992FB2YAWPT09EQFPI58BN9UUAKFILHICGS6T9H3WPX0HGMXR08XKEMJM5YIS53AFPIU0T89M div 36#1S2SHENWGCWRGEZ6O78SUWUKFMR2LOMQU7SI32TQWK4H2WIJES72R22T0FX96U6O0QCWKYY80Q9VIOGF9KJOB2WG5O0FXFJCWKSBBQDK03QO88SABVJYU2SC4ZMWMRMLTNKJ0ZSV88L5J3A21XVW3QTKFPZKTJKP72VEVSJ615031SV21EYO7565CKFXBQFC0VDWBPF6RY7ONNW1G697Y99WBY2S6GLOSWVHZJATM6ROVCS5W0ZHH6306GI80J77K07K01U8JPWHJK1PRO2EKPPQ1GY6GTFLEFVXWE6WZHA4UTLWD57P3ARMD5RHTRUAQQVHRF2L0E. +-36#4U9164FXSC4W9504VKXB1PECVW0NL83YM5ISVDPF3938JQC5ZIA1YRVF4D2GKUXAWD2XPLK9HBGP4I45LJK8K1PZ7FU239GPKKOAATDWUA8F93D9PYZK392H1JJHYPRTI9J2KIP8VB2JWJBIBIV9Z54L9GXM7CRV9TNYC9XE8O5SILK0QGMIPORKN1KG75FHF9WEP4AAJOX9J9D7WMRR4ZQML1T58AQQK5BLQRSMNX3JQ47B9L36LERV3B7MF8TSHK52RCYP39NERQJLFU1B9PXS = -36#1B2B1PHPY9WAI6IWWQX3PX14404M6H82CU0YLF507P5OSD0Q8SACI0AM0IMMJM2RAONA6JN2L390I5HCXG37S2L6C8Y4VOTPB9MEDBJCGEKON6QHF6DLQJT5FAQ01PC7VXCJSYCM738CRHI8JZFAHTQMNH7H0CKFRAVIDR96VC6Z2243PZ9NLI6ZCGYWJ863621EL1LIZLLQM8A8RG33BXAZD3PGUOSRD5UO3NO2M0HM7VR7N43SYERBYPQFRZKC333R0NL8F2XBRLCP3WCWZALTRLV3T8HBL2046FPB6Z9X1WJ2BXV6TZGCDU6E37ZJK2HWULIFC5A0B6GMBLQ06ZLS098BRZ9I07AZG78JLL1VAQM5VOJBHGYH8ZB2HV75TYVV7USSP7HKGB2CQ4MVZY997F1M3VMC4XAT019K6LJH7SH5UYPLS3P7R8PCFEUUKOAINY9ZDNKZF19RCCOESK27TE3SCZURCSU8HARPQA9SUAK3PC7IZRIOCVZ9OAYV0DVVIP91UEZ7OCG0RFEVDGEBFH634IWHJFSCIVGQW5HGWZXYPVNQ8I3E6OI7HLXW1Z8GDYY3MRNWLZ9TBWKYE2NOELVT117KWBYQGPJ25W5QHV6KPZ52ABGY7GWR0DWKVK5FZ8BX34NCW14KJ4RKVFDTGDNLE8Q4APPYXCM7WTAH9PACB34ZH34EISVOEWDGSBDIT6RIOOHNICWL2DUAU61Y953TC3HA6FLPPPIY8MKNVYHQE8GXBTOSE9OBDFPAYZ1ZSHISWVMPJS9LC7GSQSL7K div 36#9Q1HS8FAU6RR43MT80TIZPLP7GNU1H2PKD0ESEOH1P68YUXGVYM1WYAVYEMVEEKG4PUGGJX659PZI8ZSHOB9WLAQKQR3NPZX34K16CAW26NUQ1G473OFMAKTCRFDUOA71CMV9G1MIQLVGVXMKI451CE1Q7CAXVNHP2NUR1ME3ZI4BN505GL6J11XHZ4POW9466JSOS2PD3HMTOY5XCRLSI03C97USVN4W6S83Z9JL0QT7T4IA8KNCSQAU7EN336KDOMIL8E6P1YJKONBHEQQ7ICDHY5TG6AY1NZNG6I0N444GBDTHGPR26OTBJDCH8ICZHMQBI922MPU3SV2ZW7OBDG1TUUQHKD9JHLR4ZOLAGZ9JHGXDBTOHJI4SEZZI4WM9A479WSJRES1BG6TJ53BXP2NV8NH8S1F83UBCHOKBSKELDBEYJP5ZCQFT1VADKX1WON1774VHI95RJNDWISE667NDMFHT7UVK8KY10MKDL7L0KWMR11K2ID0FIRVMZYL2. +36#TDV1SWNQJ7ZHLO8QFX79UO7WNIVVN8BB5C52ZXJ1PHOLRP0SWLA34TX47QU6VA0AZAKULQ58YB8VWEWXBKXBC2P8J6OSOBLF7MNHHUFKRFMM1ZKXQGHWV8M0VCIYCQ611NJ7LQ3QN3ZOP1RMPQGFTNNWO8V91NYDSASKIG3LMO0G58RNQGZZ3A8HVK1IX5YPCCS8MC5729KDXZB11HXQ749AXDB5RQ9EAB1LETF3TROET1WGVJZOJX4E19AUCC51LNAO39XR08I0KK4XQAJ8RQ82GI2ZG9Q7JP8AZ6805Y6ITNW95Z0TL97JK6E9TNLM37MG0648HK4JHW44IPXF572K7ANNWGM = 36#CAP3X4OSI5GJUW7C8KB9405KLXVJDO2EQQWXMN9AR1ITTM4M2FDIK8DI4IJWQWD2YGV6ENBV5LFB11H2G6FK7JT8R72JYR4F8X9B7LHOB478ODMWL69TBFNFQHUOO0PE0UWSHH8P7LMKAN6LVSFU06WCLLW4DJH3PILHUUZ01NYRBK70QDH115PDW4CT6JSFVSYB72FVAASF3ID92J93TWN2SW434RAWMZXQB7KQ1KP9TAVPSZC85IRDO5D4V6KI0EHMSS5U5USVVZOY4F1LTV30C0A9MHPQ9H5RS10C89EJ6GWCVA5X2ICV2DVHLGEO6BXBEIHQSFZJ7E219L141PCJMO0KGNZQJGV06TJMKK82EVX40EYEBP3VAT9C1JTTIKG748IM2GJIXTZKMCXNWB837YZ3MBHAFDLHFTR30NX41YHAMYNY1K4TVA8E7QBI8XTS7C0C3QHW0LXI9MQIYGNZU1KND8HHE4IKQ25ZBBP64QVQBQPEBJGXU918K7AHJYNO9XP7Y0IW9SAM4960Z9GLNBWF0LSTUG4ZKNLR2O1KZPF1NADLEIQB5J8Y483OD7JA0OIOHHZFDYNSSV4EEDOJFSJHIGFBOI85R9DNJ216XD5XD6KLTAZZJNU9KL7O8OPTE0YVE0OQUNY9GJQVWOFSWGRFJ6Q1IH5UM08KJ9WJAGKAO6FLB66HVG7YPAW85KXGRWXRYH0FM6Q6SEHYF2ZORNX99HB5WJCO9XHQ1VELYB1ZAGXQLOG1TI7G9S1HV8QUV54 div 36#F2CQQHOPX7SSKBQ33PXN9O4PXCSV3PVETW9F5E5IYMYR39HH9AL4YWEBHY78TX30KS8RKGAY1KLM6BYSW9KTPXS6G6YI27O8PDMLMDCH7W0R3JH5CMQ3Y9FDD2VUR9BU98ZPT1HC6M9A2TRSQRI6WY4303UHGUVPQWKXILODW7Z68SG5BCOYBPB7QCSEXS8SYARTA2P6J8Z0VEPUL4TSF4RMW4W7X30NLVS0FONQFL4A3PK9BFJHY4ELBNEPP84B5JK869YYOFF2PFU5VGHF3LDHNIS6JSUJY8SXTOZOI0PY8BSECG3O8Z6V24HW48WI6W625UPG32WDV3QYVWR1SLOL8D7ZP2K5XLUDAMGYM2E90EMT6YPUN1IYHNC47AUFK9TXDSUILF9ZODZU5AJPOIYOAP2TQEBPDM98HHKS. +-36#2KIN3UFQPG0X9Y71LPLTZNHFS99M5USBEY7ATV07YXTNF430MNJGMRRFRTSHX7217D0IEMWT0WFGN7SFHTYLM8FHO9R6LI3V1Z7QSFZXWW7ZGXAGK092INCGNGOIUSBENFMJ2SR0Q39KF78J3DT1C4KH79WQGUN5385XHUJWEGTJL3RR5IOW66845S54IETZ4A79EH2QC2IL1TLC59IE7RN7LCJDQM7S6ZHBINXLYX01K3UO42GQX2FQT45MCVVW6FHM7RPTOCVGQ1YWH89NRCYQIDCAZHKWHSD65AGJGWPVQU4Z0P3T29SV7H7X3DKSRP237N8BJ8CJRXMCAEU2D5BY34N0A55CVX6U964KOEFHMX959Y9GB8MFCHBVRR9MLAY8OBE88RXMDUDJ64I0RQKUQ6S6DQHJ8VU9PNTV03UYSM8M66N3PO5JH8XXZCM6GG3JH721F6OL472DZHNXD9GCP2BNTNMTFKVCZWGB1D7M7UMLF3QPJZ6PZYA3GDXB5N70HVG6MO04ZR6O4LT3QT5FLKRM3YWT6S1QC4KY9ZTTU50DAFZV3TSN8YRHLOLZW7IYHWIGD2IXEDHZBO5X0YKAEFJZ2AP1O0MQWYVUIJKSIPXXMFI6BOGIDLVUQHF9K6TNL33GDWPIYOGPY385SUYP43GAQ1N43XPSSXCWUBUM899MRDAGDOZSYG6X36DMT493VR3KEM8NBA = -36#Z2KB3E9725FZHRNL5KL10D5MU2AJP6KZVNYROA7JBVZ7PBPVD * 36#2MYUFZ0453B4FTCSY4943OJB7VGF56EYMDZ9ARP2QTW9U14Z6DHLFCX99MOT4YNWPUQESM0ERIVPD7DTU4V8UDEFX04D4IJYAKMRE3RCTRH4IFSORAGZQCO0MP2H2KUUONCFP0TQ3N0G7S8BKN0CRKBL6SUFT5VQ4VYDGBHYK4PGIY2OMZ28BLF426XRUQUKMCZD2S4IBCEPPGJE2WW7WPD4M1770CVYBCUJBCFRSG32SELV8M9DXW4ZO3045PGDX5LJ48VOKRJLMJ31ROA8BGKG573K79C2ITKGDS9PHONFJCDDJZ7QHZXUQ2WGWL4UFXAI5Y7UNX0T6U4JDODWKDI1RSMCW48XBSIWM7N4ZZ4IBSCO0LOI4VA9YMG630U13NB6JIJD2VI2KZ7HPUFSEM6LAL25QKL2XSW5Q3VO94Y2DR7GONJ6QP3C5FUWICDMS4HB9KIL8VBT0BCSWZMSSPJAFMCVSSLL76IG6AR6GIG5SVMMF3U0EYIMGL26JSY298LLUWR5TFZ9RE2W3X3G5XU2LW1FEIGLM3U6X15X5MSZQ5GHB4YKH8LNZBB0ZWHAIA79QBIU844IEZW88EL4S5XVNU8WZT7ZMQGKGHM7X18YLW72BBP3FSTYG745M15WY1HH4ACBU993Q2QEM766NT2I6J8DY. +-36#OERE57DLZ66SZHT2ZB3ECGMZ6H6R0PJ7PIGL49LCB7WJ1X4GRUM0PANG5U3QWB6T07E0QH82B8S1VXAPCV0JSOT2Y67WLEBBPJ9FC2B0469CW7U8E4X3GMTXYCD3T15QE1JO6777DMGO700BCN5TIK5YZ0NVZSUSY3566JL3ILA1Z0ORG5LUYG3I3WS87K4U9JJ8KM6GI3NDCZV7K80UDRD56OV9TTXI7KDS1NNSHSPQJLVNGE0G4LUON090035VW0LZ78ICIGZ42CZN4DM52TZNMA5EUKL484MR8Q0H24UNORV2R7HV5MTHLWYH6IT3T45F7A6TW3JT3HMKX57ZJA1KKCRU08CWE45478PT67KQJLKOE = 36#2AVUVAVTG0NTIS0606M6UV7L3HOY6CT8B05FTRA6WMPEJAO142 * (-36#ALOFAGC3ADC55SNSEO6FAQ53RX9XE2J13K0RHDCUF6WROZDMF8XO0MI7UAZWA9CMP88LH9E59AVQA6X4QZBKWD1G8SYUEP2QO1EZSPUF44XZ5VBRHAQNC9Z62F6J8ZVT7KNMN4V9WHPY2S1WYCSXMQOWLV5N394426SABXODI9ID68W2LYE6KTN3PXYXFIR14EZTF2Z65JS8J30MJ5OJME7VWA21WE6GJB8BLQJSXJDX97MDAJ1B4LUI96IJTVSUB69VOBFFTSYUFUUB0DGJV9ZUIIA67G9399CFISIL7OP9Y8NRFI8S6UD4Y036NSG7). +-36#XF8IA67MNPIXGRGD5JF4SWJ98S71JHR4FLU338OCSGS5RAJUY = -36#HXB5YZLODEHYHCHUV30RETB0AT1M58OCNCWOEKLHXEURNKILAS3FRFLUUAZ3XB1D5CISXUNG6GXHJ9GKE5HUXSDNQVKU93EUMC div 36#JB26BVDDLMNJ0OGFRHCVMP2AX7XO5CV0PO0YBLSKZSBHQ653U. +-36#ZHRC8ATE73LTJVW68VYKK7JFFINNBU1OSQ38JC4WV6T8GF931SBMN2U51Q65SQ8H20SO7OJGJCZ9U043QHX9HLSHYSH88F50RCPDQFXHV7YDDD5H6JP9COMKRVF4060BGMD6GSJC11B4AU39KJ3C2657AA9BD8H9ZS3DS9IJT3O3OC72ENY1IH0OL = -36#34YFK3Y0UR1LXPBV5BZ1RMAIA8YU2LX9HZ2M1GWNOXIK6S2YZT * 36#BB8B1WIP8CD3C74OCQUA3H6Q0ODNVW4ZNV112CVOTXANL7JSK26JRQ3Y41NQR5EUKJTEOMYZX71EQCXC967V2N14RP6CVEKK222LEF5DETY92HMVKHFG8E9KR3K57JKKJU7LA0BX. +-36#1X2Q6IUAPT92WASM6KC0S2GSIQA4JEPB569NBGB20YCTB9GHOU = -36#3BS7DA0DX5X8C2SW0RZSQTVIWDGC8IXVWHW25X6MYMEKHG25MSNRV00I7WPM0ZIWWOT8B98AMT9WK786SEJMLFBVG1NMCDAM286 div 36#1QFDMHKP3SE16RYTXOYWP3P9U3Q3KCQ75T9V7YU2LF5Y3AA39H. +-36#272ZFZ4XSPWECAPUXYWGC07H5UXX6HOUTWV574BOKNDHNBNFZ6CSVGYCI8EN6P7M1METE0SXB6NRR279PH0UB2HEUH = 36#25KS6M11HIPN0WFIE8O4OS4552MJ6F42MXDHWICY1U9DSOXRMSYSYRV2PMUBZZXE1HL3N4GSR8FVF53JJZEUCC5ZRMFDSL043DG83DTWJELUXAF1598HKUXCD1TUJLL9RUWHY3ESKP4ZWXFNR5MZGE2I2YX28V5DD9M5D7LXEXDRBVJAOGVH4NB6NQ3M9NRD7M06558K7URHW9SRR412GAOG8DU42LBNXOZK4A5AL8SBIDR6VI8CBAPGE8CFHWBZFQ2AZ364QS649NN9EDU8PEKIH5BLZ9JJZSFE9JVMW5DF3OKVD0Q6HBO3FH div -36#ZBBR0F1FQBVNEZIYP1HWT1BCMKB76KWZ8O6DA3JFTN93OM5BDE8C7IBETWMQ40DGDGH2YYYVZ19JQ59VNWMQJ0XJK1L7MJK0I75LH5BABL1HEWTZP9G9YG5VKHBWOP4TQ49P74D5G4IKB1JMOOIOQ8BDPBWI9IJPHPLMNBNIF7S095MKYRGF7YWU51WV198QW00AGPE6YWSP7QL7AM29VKK1ZDUTARX1. +-36#2OEJ758S3BIT080YPRIGAKJWAALVISHALPLN0KL2770UCSORIZ = 36#2BJGKIQL8MWHOPNB6ENBJZB8P6D2LGY8U6PUO3OTDBYCBL0M4QABLTBVDW771KN9VPKXZD6OUMOPH5T1C83N0LZZJHY5HDKHF0T div -36#V72OYDUL42ONI8XPNH63AE5Q2KQ7OETF6527V35PBJ1MTRLO7. +-36#2HMUG02O2UQ7CJ5ZN2ME4J38GKA37MG67RBL8BKOA07572UGJ8 = 36#611JFET6VV7DGEDRO1PBFP7NAC72Q9GA6K4KIZ2B972YRSHWZ0XGR99R4SIUHE0EG5WC7UE0PJLUEJOQ7DC1ZB5SSUUVRATTE726EXFYJ4TIQ0RAUG472V9VCYHKJBRN2SX87UMARQ16YHPB1X67PIB5CY5S83RD362ZY70V2J0O3XCHA0BQMIKDJQZX1PYMNIIXUESCN253K4GB1TTSJV3VDIMP9DBYOY56ZHVC5BPQ1WXND4HASDXXCWMOLPNY1ITF7GNA4GLDTM0P9KVFH4DLE5N9W77JLT3ZO1SNGV9R3MBGXPFSCT0FYU3Y0AU51GSSL15UWJT89AROKW7SKEAO73KETNTC52OTBBNVVR3LI83YP3MUEOA8JCMCTQDHO650TJO7YWP50R817QPWHNVXQ5KNMEKAUZITG1KRH0Q5R35S2OXHSW5D1M0XA9CSPE8A5NZXQ7NYEW6P8PZKM9R0 div -36#2F65N39P7IT3IWGF0QVZTNF31CPW5D2GS1W2NQ9G7NU8GJHUP5UEHLBCMEGTQWQCSFJNKCEPM2U473693O8FPZRRIRZ8NA5DT038TNFLQ2NT8Y3X5Q8TBJF3C9ZM7FRKRH1A6YLQ38W3764B7QIIHYZP3Z877KD6BHUQHMPELMUZ1JCF9N2MAOM3JH5R0EJWT5VKDXBPU9XRKNZM3EW7848JWD4OVZWLWUO6E66YF8O8Y17A8CJL0NAIGR84A6BM2FOY0PYN6S6BRNVPDZVZKLVFEU2SWD06DP8ZA5X9N2J2QZU7DO9JA1Z2NU797UDE5GHI2X0RI299L35TO8UWGA28M9UIUTZS18VR729Q2S4T5938KUN3FC5AEJ7GTHTZ0E6DCGLMW1XNGOCCZSOAN08NTVWU7WU8Q9Z9U6R. +36#GVVTDIPB12C8EBOZFN3VX0BP2ZGYH5T2WRQW9F6MYT0MZ37PON0JK6AP4NC1KMGLXKRP28LFLZ0YJE0AHUXQ89MJIYE0HY6HS8WEE00KTKGISRG66N4C71E82YZ9OBKC7LN7P2UV4UOBJ0R8NX5JOPAMZ6DH7MJUGPHUC4IHOAXZCM4GYOSF1QLQMW0B6ONI0OODMEPBD5P2Q5V0SBIRV3JE6W5O2FLEBV0GNFAOC1645H8VQONX1M9QM4AXPQOKQ3L0EC2VX3RDYG970LL93S79TOF885BRWAGJOJGZGHK62BU8YUZI1RPN2CCRWXPPUGI0LOSTVIYZUHH2D4AWQRT1BTF10VZ11KWVHADJ2N = -36#1UO8JNWQX71WSF8KGBI8GRLC001GOI4I8L313LB0BH7BSW0NVWIEOOVM2ELNR7163MTEEXCUCI1RL506JVF11RIJP1DNU78D6O552404VW6QHMP2U85DBMTDECYZ3A80RX9U8VAKN5FILLBNUS65BSCDM6BZNMUFUKRFBLZ4HW5KCT8QWKV0P6XQJ245VKKID72HUM0IGKLU2MEFTKGWQNLGTZUHY2SUJMQHWS90KMP0O9Y2ETP7HG5LWI4VIXDC5J75BX9MDCVI0YFCYQB8WMJMFUUKLR481MR8V2W524CF8YGZ4W1NUFKDC62OB4B6TUJUT6V0VVV3VQSQ1N5SW9TC405PSUG14HEMQIVE4A8GIF6BAM6LFZ3212JY6T236TZM19PS1835969BSYU5T0F0L5PF893VSQ6MHSU7ENB6XD4X44JJO6TCWZA49F2TG7GQ9RYQL09EDE1A8GL6YFWY2JSFMY76EUU2RV67CMEVWRCFAP557MMX24GTMKIQS7PUMSPKBOG390Q3VPKTE6QJH33N3ZHXVQYBXKJGSRNSHTEPBNRD2NI5F07AR5P92C8H93RCEK0FKWEJGADKO3YEUHX7HREYHY29ZBPLXFAOWJHO2A9ZLINQ97UXYTTRA3U0YKTOJMSNXZGZ5JY25HJ79DRDS0F1ZA5VZVVH6RJAHWBOVJS3DWRA58SD2ZOW86ANN08YXGZZJQXUFU0011FOGRLHM7ODRXI5XPNGXSZY3DPOOSSXXVHVIXETF72C7AXAPRQXU9HPCMNT76F6K52 div -36#3Y59UPJEC13IL5J10JM6IJ4BKBL8QJH2N7JN0LFY7LWF6OAU1TO2NE6K3946LRPI61E8TY5CMNQNFGEL5YVD8Y20CEDA8HKR3IKNV8QEF4ADPYBAHYHRS1WOWVR50GRO4TC2IHDPQL1TRMYPCV3AOM20LB2QFFBFS06YYRTOVA3GO60ULSAD876S4SBC61GTTG3MAYHGA494H31SUOENQYDZL1SBWJI767TN44NJVY3FZO7OII5UZ0D2Z5HLL0BNR2TYHQX12U8GACENB57M8FOS9SL77K1WT57TK1LJGABHQVBSXQ1W4TS62U1MZR1H0LXP6BN61CU6ZDCT3K3L6NBGK3RGJR3MI5Z34SK0WG2ASUD9YL4O3WFWYT0CLVASUCLWRJU3MBAQ66G1ICS2CQLQZM3HX4ZF1800E9ZMUXKTM. +-36#1S2CCM4U9W9UXG8BU7C33EAZTAF7N477DEGGCGRGNHCZAUO29S56ZVFCUOCUYA7IMYQDSWCFLW5IDERK237QCGQ4E930DN082QRGFJ9I6G4BQY6OPW9LA6DCRRUCWYT5SBZGVEHNRTR1FTFY10N71T0AFYPDTF802VYGOAZ29OKVRP9L7L329KU2FQHM1FGWG6CFK7LGYHVOCN473DS3W3KIPHH07TX9H87QNUI3DMFNNZXYSPHUT8MKG5IZVIPA3DRCQS0FBVFTHGZGYMPMBTLRPUUF2P917ISKRBP2P65QFI0T3AB14HM70NSJQTXSLMUX8EY25LGO56OMW3ZVDJCO520UDY9R1UJSUC6BRE2EVJ2HZV1VS7LTPI8YKBBU8AZ04D3USVLA40BN7NTPSI30227RCUY3FSAXNQHSV80ZVPBZIIHS5QEEV4BG647WDU5UYJQE7EE7CJ48N7XWEMKEVWLO4PVD8W5S1KL5FU9D9TVBECIJ0SDIPWC5S0B6JSDVIOJVPNYN3C890R899UF5L76O6V92T3YEI843EDI1URXOSQ3188K2IEQAB3YHEZO0PM246P6XGXJOUEE60IIQ6S3BA8ERXIF14GUC7XRZMKU9AQ7TCUJT773HY9BSZHX66N270OEAWMLA1I8XY1YV3GY1B5CFBHX9GGUM77RMUKVC0HTRWE4HUOWSTCNAQM6LXVQHF2R3AFVAAFHTNENTLDYIWL1J765JXZPTDO0GWXCMU8XCB7B5I2RNS38D8EVWTZ7IH4LNV757T4J2MO90RH6029OV2DFNP2ILAEL2L4GHJ36J7HTHPS359Q4HMNG97RMMU8ZFNAUAU3TCFRD9D1XNW3BDWMHUGSFQ8TFUCA58UHD7LC0VXWE3LQTCMR7QEIM9SD4PE4DVC2J2F7MW261HNGDVMHAAV2V9MXPAI1YN5EW6M4 = -36#662LUCCGF4OG53VFZCDBLPARQSMWXAPQVHP4CTXPXA2K84NMC3VAYMLLEIY5IMMWYYCVR22QF3B6LA2XLN3QZATRR1IREU0GXWHB3Q5Z9LZ7GRIVTUBI3XC9W4FWQZFDVXPDKJZAF7NF0RK438QIT53K5IPQE7TIYZ6JGW13KKA33JP24MFEVUZH7GTZQ6JP4ILEU7U544W3HVG57ZF7X2397XTVUF04HIA954JTSN6M0DYLPGL6DH7CAY65WEQ1URR32APZ7HOHPHMN9N6V3V5UXFA3E8L6XZH2YSQ09A1PV09V66PDCFFL316PVAKW842M8OAE * 36#ADVO0167F36SEGIRAJHSD5RKSD20L9G50XS2VRXAMURJYS3VTN99LP69I1O0OZRNITBNCJWQJ0ZZ3Q8EUXRF6U98DYIR6QEXOEJ04T1AZH33G2QDVTLV3NV815TEZEHDAA5ZB393WF77O4LI9MHW7JSXVB4JU80IXRDQKAB71EKEWBP4TFO0HSX9ID5JVGZXXTJ6NOYAX0YJ6FIO3PUPTVRXYXXTPJ4PXBC61UVG82FTR5JDP0IACF4SIH7DAB0AVPKFKJE6JTRY071661YL4JZTPO0GZZE8D9OZFARAPAT61LXQA97URKJ3R07ZYV9ZKCO0TOUIZY0LPWKVY3FOAD64WV0JCZY031CVNDPWG9E7UQBN01ZVCM3P6CG9KDVJJXYUW7SSKGHCG5IR1MGHCNNZK2906NH0DGPAI1EU6BT136JQKSJV2N6GSNAHJGT3PO49K4ZFJZU88A00MOQY66B1BBFJFZGR587L6I77JAM6FMX8XF8X7XXDF04GCX1DT972J2HZA7P68K3R7K09F8HCMVEGDO9WIOJMIFHWMGPHGARBFG2OYI9BMF2WEA6CWMO7J2E1B2R30HTB4G70867NA1DTCXOT5YMSFF4TG2968Q. +-36#1H3MI1W145EZFJPHTPM2LH2LWKNSKSX4F0IXGSXTMJBOMSNR8UNFVRBH7SZCQIFS3B52V5YHLON5I5MRBJ0IK79JOQDA360CWZYMASWQU81093XJ20HEDA6NTRQFXV4O55XXJICS88VP5J7OPV9B66EW74P7KRWH3K5HL6E0SDRVILFCFGVE950LCIQ4NG4L7C3TJMLNTKVIGGRFLC86BMEPB0E74HIMZY7BMN25V57GJUMPQNJSSR12WOBXHVXZ8BTAEK3R3ZQNR627P4C1XFNLGQV3CBFNT2SBAR0RZXWWZ8Z8GX8V16VKIRZD1HGAJVBF4CMQUAVVKABM5C82LCVSTWPFVQMAJD6Y63HD3NDX0FUR6Y3B2N8HFE2R1J2SIA9RSQPKDPISRSZ32EGTVRMU27C4QRDIIGG5YACNOD0JGUYP3NHJYOKE9YGGNHEK4XTK9XLEA58SDSJ6ZRT1EAKQ3P0XRPZQBOC7T04QR3NDKX3TIXZF6LWM7RLBK60AR6KK5QCDLS1BGAXZ1JSTQL1J3D1JGKUU4DYSOOJ4WWFGNEJFLAJCKILFZ49N5CZK4ANDJEL9V91HIB2M9PN8WJJGZMQXARY34VZJ31WDNSM6B74FY1Z0U4H73D7S5FQY1IWGKUBF6VN1PSSNM8 = 36#WHNUAQEFAJYC9ZL1U29ISA6Y8SFLL0TRJ4RSLDU4V25SSLKWFMKYCXJYW4XAH1CNIEWZJNG288IDT07Q5OVGM3XOKRZKXGCMQCRLD0RU5WFJVVDSWPWIKL5BTLTXH84CHTRY2LQVSEPLUB6UB84TCNVTYJ1X0NUQ7NZYTUOM7P * (-36#1MU3QHAHNKCSN1G9ZFOS7JV41NUK86T4184HU2DO8QABFMDW8KOLZLZ3UUIZXSMKJO8YN3FZKZRJ82K6YNXO9S6EZMF2IPRK401XR7360RXEGLASWMNR65PELND594W270MR3IINTTOY3N1UPF1IKFEP8VL58F6U3ETOWIRA5BCEJXCCWGRQN9VA144XLXTHZ6JZYRIGK3WFUG8LBBDMA2BBOWV4D5U2UYYPHCYHMX68D9Z2WOW08AMG0QDJSJ4L2O6I2N9GUF9XNAPNFOOAPKJHWMWDJAO9DMUMRCIWKARXOGO23AAY75EP778TN8OLNNSSHEGHQBA0OLD2AZEWH3CHP1M1T48IFVZL99F2PXMQ66233MM3ODL80U8PZO1II0VW6S3R4UOFJSI8FCBOZERSGO7WOFPZMS004YASYGAAS5LMJ64PWE7NKWYG4A0DQ9KWIFSKI8D69HYK9EK7PN6PIJZGWWA15PL5KQ4W). +36#4NG33WC7PQGS4J4ZNUEHAJ84KQEVRJEWEXQ97PHBOM9W7S09LK0YE8YTQC19XLSHSS3I82QCSUBT2SZCAIUQ2XDAEPOPKZSUPJ9NKTR8RYOJESZF6IRECV5KPL0WRDWF5UE79X7QT3KKPMNTK8LZOPUH0ZI7ECTUSY6SU812F4QIUSC1LUT84F7T691EANAS9PPUQH8O1ZZRUFMPF4PJVT13Q8TVB1TT9D5GE5LIRG275UQCHDURC4IC23E8D8CPQ1LTJTKUG62F3EHSSWESGU0G1YDJIDFS049ZN33DPE19874VQ4WB3MVILIEGCJKGLPPMF8S2WCMAZ9H71WHYOAMOUZFMYXGF3YI26XBSH49G6O2UIGA3IO1OHEAVFDO4HASSBR6PH52OHAZLPRUHN5N82LV8IY98KESDUYRUWLTTTSJAWFPMRC5180YCEBXT1BSKK957HAJ9GPUB0S0BZVRFP40IKTFO33HJWYMR8OW0AUYELK52TQB2C3RR6V88WG7JOU5P4OKZQYR01ZWZGF0PS75UW3NICY5W1D05PVYJEYF1ZU44JF88E0K5ER3WXF4CX083G79MHGO0 = -36#5SS36Y9B8NM1I8OJHTAT19VEOTA8IYFEK1KKE0GB2TB3M7RK89C471DFZU5DZSWR7NWACJB8BNTB72WC2VEABHAZW0DV35MT6HEE0JAOWJN1F4LFI7A5A7YCL2JOFSP3B179PYEUBEZX6JQD94WYFABAGC8RCYXAPA56KGC8B0IYZFX4H1QWGNE1YAIP5KSRC5XTCASHYT2255QYRXZRK54EEA96QP4RUHH0PSCYNRTT45WM56OBB2Y0TFW7753XV8P8NIEBUMCZRRS0WRA1D48G6XU188EYMUE0QRX89CN043LMF3YZ7UB7QECMERE13VNKGEG6YR7XZ8R9UVX8SLDKYXDQWFEAIUVV35GEO28YCFV0UQVZYSNTST6PATY0UK5YGGG1FUHK8TNSZQPRCWT89BGLGVCCDF6PPXIMTRIHLIT3O9NRMURTD0KPA1S5W1DBK06MUQ07GW4GFD7V9ZQ4MYF8NHGP082H8QAC5RRU06HLAVMCQDBF1XYR5O5V1DHEETA4JUS05TPV5M9NHZSVD422O1O * (-36#SVF8Z0YHOJDE9RBZE144C93644TGB8S1SUXZZRKP17RAOJ3A0). +-36#9NBYMK2V8YP0BIJ8GGGKXOTBXTGORY3GUNP75AMH60VTJMNUSKBCZUD2UBNKD5XKRU7C7I0G94YN5FAZ2M2NECOHMFGZMV23878I5ZUQL4SIX4QIRDEYJX1SYPO472UJHIZ82IZIPDD0MP9DPQ6LQ6HI1IXOGQN3TOSX6G9DVX03UEJNL52BL2TTA33394LFZKHMGYK1VITVBACMAP4Y98OAHBO6ZEXGY59GYJJ1MWIAYE9RA3G892LTKC76W6VWZB4GLACSYOW8X86EC0MRIWSCOOZMUXFBS2L0XQ6S08M8BEMW1BKWTIWOHKOWK4LM44POMZ8ZSIFJZHXKYXOLJ9B3CO89OVWVKGJMQ0NUPNMANV4YMERKHLZLP5POXSR4ZTA6M348UTM17SQOKF9XH1VF5UXID0HHXGACAM5X75XR2NPSKMZSFFBH7R1GX8FYLQ6JT3NIUYW21CYXFCXC3VSJ88F06QKHK6X4SLN4CIFJ1LNHFBT132AGOMCGQX5VYXJIJDSBCE8X7D2ZOAMSXSFEQJON1E9QAM303V5J67WTGVNYV3DG2VYJKLEJVFCCUWXR0TJUA2FHWBLSDIPYUVGOQIRCSUDPSEGG0NLG0QXEWA4RBC5GTP4GJA942X92TOAQJSOJF5I7SXG2O4BV98Y0BCWVLGB9OUND7ROVHF3L4UE8P2TC6FMUB5I7AIWAF76NQ1RR7IC7TCK93RG6J6EX5ABNNQQXSA09JTYX43 = 36#NT4Y6VMBI6H6H1TWHLMDMF2PA4J88VYU93E1UVI463ZUYVRSSPKSWH65NDOF4PTDE53Q9K2JADUYCCMBI1NGL9GDUQORGZ3KS12SZOVEF50W8UQVAP0A6ZYLHSTEK5I2NPVD7RQX1MIGJTRUFG2BKWXPDEMZA0Z6ZPBSE4CO4JVDJSASYVB8VOAP4TNLQ32KQ5LJBTIM4ONQDQF79PVWXRW6NJFXJPI5Y07YCEK1PPOFD8IMWQ8R3XE20JQES3JCDQE3YA1BB2QQXUOSULWSR81HECIFK65UK28CG0YAAMA7FEATXDVQU8W6AIO3PNI19CP9Z396EQNQ1KEQKJVLE88KGFYMHIHX71EILRC6QSX94J9R8NKLNGTVSP6EOR6D2OLIYIUMIY6YYYW67O8L40D0B35Z72W6NA7CDH5SHV2X8OPSIJKU2HOAMUINMGN8DX31CBZU5GFNWMNR6JGU5QIRD4F2FT11FZ0Y67UE9AME9O80BC91ZTO7UE0P8WPN0MPV8ZQZWOU6HN1WA0D52JJCK6L8PY4BPVRSF97GATKCNVM8TJ9H1QVD4GV3D7GPU9HWTG4DLTI1NS0PP6LHOJPUJNIEYLX40ESOQ1PYIJ1UC8JN4E0I1J5F40X85C118LP1L8B87VRLZ0J9HYJ9EZJ73T78P857SG0GP5VA78NUGORZOF7SAX83JHSNWM8YU4V79I6FLY9SAE4Q9082U9ORK5ARPAQN6IS7Y7K1DLA3OJGWMAOZ900BDZWNHATG1I7TEQ1397R34VDQMCUWOR79MFC div -36#2GU8GEDMQUPAWP3PE7YAV8JCLSYNIN3DZP0OBZR2F7ROO8P2FS. +36#DNB0M1044MGJC9YNG4XR9V0IHDDNDQE2P1NJ901NH90I0K1VNL51Y6GLJ8VUIRD0YCOCYGIEA79LSSB88THO15U9A6WJRR2CJCOL75H3DEAY5AIDZMU5E0MO0WDT1SOU96RQZH23W5ZM6138S8BYUE5F1KCP0EI67GJB3C5V6W846L4VJLLW8PR6CZYYD8SKZ2MN1SGU1JNBO96PJDQBQ5VW3GGASZIWU3YR1Q8CZ39GXFJ17Z00B9ZZ1EDXDF5K2DO2IA9U90IVN5R3Y8CT2PMK3B1ZT5QKC1MCSSWTZMA70QJSYCDILYRFRKEJWW7O9U7F7LIPQKXYSY4SJY0R19PD54U2KKBETTHM2FUQ5J96SECC1Q5H9QALLDSSA4ON729B6Z01QU2G35XTSPRA3O3ZGFXP3OO79XNFSOY0IKD23GHA2FJU2W3L97RQGMVSMUN4VXITUXOSC5XI = 36#13YOABBKFG7BQQHAL02FAWZ84KB7K0ZN7OCLAI9KP62R0853MI5A8HI2Z895OEPAO62PXMQU9XJ31DNZQNDFC1QSGN18X1HP191CI2BR9H98SJ2N5ZD21I1HIQDH0CXO806Y3H1UK0TJ8KNHGPSULFL2L1DGQENJ2O49D5ZK6DOZJ66CT69EPKNIKO3TE9FQFGDMHCHTRKP1S49V76ZJX3T746Q91K4KYXTGN8V5UQHP4M40SKHNEF9UDHHB5BB7TZ5RMHKK37MNNEBKVMRS85HE792JFUUDUMOEEVAJK49UT5RS61X8XSNYVV8W7YZ6XEJ2Q4FWQSFEAOKQBFWI9M3HGYPN1DCFRGG3SLEPD7FKBBQJ9HYGA44TCXEB5TFS9I * 36#CAKZA2Q7RBR96QTXFDJ5PBZU269RJGZ47XCPUS5PGI0EZQ4CKDTWLGXC9QZYR1Z1KFJ145PPIF0CQFD. +-36#1P7XYP4UI0STBOB0OGB9RVWST6II68LCPSD8O6PPNSJ2UFVNO4WIH8HAF217RYBP3EV8UJPXSNRUPGX0Z48WQ205UGL6YUL80HHO5VID37ALX473ARL1MO6IJHV3N5G56YEJH8CIEH1IQ2DYX3ZGZY7NFOIMD9CEI952AGLAJBOEF3DWCKEOSC6P6L = 36#XVLW2NANHFFG483JEJ1XQJZ3B0330ZV0WYFHZOYC1XWWFL2O3T1BSCC3BYE1I6NSW60GWGA1FPMGR2U89MVFV726DDLN904QH8FTQ8ED5FGP77ZXP5HDPZQWEMDETU64M2UB8MGS7KMWDXTD8FKZVF6UQVTWI3I297J592D8UTP8QOZBA0T4P4RH4Q0CPFL2S9IVCWRMDPWGPBVYR96U9UDD138X7CBV9NXOMVXRQX22PYW84XEQNS20N605LVPL5KJPL0Y8Q97SKEFQMO46QKLBD6GZ962T1LGDTZ0UCGAE3DX7A0YS8V8H5O6MHY8ATORMUX68377RYX3EH0JQKOWMTG3KFZY32R9ZNNJ0QE6LU79GNW0FMC3BGH18QPE3GKZF3WK8CK7ROYZ1R08A7PDPHVOX3WJIZ886F9HFFEQLCTVIR8KRH6M6GMI72KVLYFOL8RQA17NXE74DT1QFGWZV0NBF5287S3Z6KLUJ2USBPEMJE4VU3KHUM5MSGIT9L4VCTG81YH5PKICV9Q5VS0L5ABEUOGZ0G8RQNYRVMF9HWYGTKB7JKGY147LM9K5CGY6KBG6XAIKAU6K8QU43R3ZY9DYDF6JFO0JKBAMDXI2O5JJNGWAZ4ERRTL7W7HLO3XYXTTXXXYA41F1A1MDABUBKAFQDDUPHHLWNIO2PF7DTY1DI2R1GX34UUFLVFBYVZ9M59NSMWY1HXAKDFY251IVFHZU9KOAV92IQ6CI4IO6REJVJYU81KT11KOEA5ZAIVGHKQ0Z87OFMVXAV1ZG3 div -36#JX6A6AOCRLN9FU8WMZ5ZQXL15UDMGH2P7JJ0TK9A8BFMDVQMIFMOT8FJNKH820JDOLT9LXP0C6C2CJ39XIC7NRM8RWKQQ8CQ5IYN4VJFA7V78UYW4TLBUYHWXEMAPJHIC1K5W7ULO2DG7AC0H4UP49I68H2E3I8UDDID55X7IKVYVD1OFBUNYJ6W4I6CTQNQ91VQCD61TJQE4NYS4UXHZ1Q6229JZ4ZM8A1J4H5NQUD7EZOCTOIW3BTJO85BBDQYVYT1EO26TS96HFD12KR9SVJAPBCT9CPU1QXRF244Z4ZPO3YVAHUUZ3NODLJYRAPHWF451ZNLVV6ZSYJVJPWN5KM7KXM5REEAQ3F8Q1U5337X1SHLKFJ224HUUJ33XSCM9KS77AEH5WRRDTMMG2U4LTZPSM69DWG3FHZET6PDDBAZ7ELJTDOIOABB4ZVJEX58J7QDTMVWPZWS0Y1QB6KZF4ZXM2O563317W4CI404AB1LTI950UFCLRG9X5CN9ZU5AWF12HTUHQ5CZDCROOIGK86AJ22BM6KMARCYIYX59KQ4N4EHCVK0OT94S1JPW37J0OWEZDJT5QZ3K1SXZKXJPYMM4Q7. +-36#DLY9IZRFG4GM81AWUID27REGNK1JOWDOG9O46XS4QJPHQ7XW2KV4KK3KMCBSRD7XZMPSKX568HWX4516XP0QU9RM4A3SE5IWSX5QWZVYI7NBL1LV0UTCFV0MXP9VB13FJ0GXN7T19NIEZX5NYTCWTTBIHTU5CT9VNW3K7XRA1WJW2DZ4K770G78R9I6N64S215C9825NUHATBGB4YSG1M7APL8IY19R2X6V0905ZG5S2DACJ0SRV0WAECOGMGV5ZQOYTY4BYVOHJHUTF7UPP4XU7K3GTPSBLTWSOF4UAD3SGUV4PD6X445JLXGAPS0TB97A3L6L40CLDS407ZQ10CHIE4WE077C9R2CN5HX8TQZFG63JA89GMOA3TOOEU8YNX50SKMG2P50P5LCVDB287J5Q54M13HMJZ2U81TJ8WWNM8SA6HZVUFKQ8GZHPV68091C95ND8DNR9KKICUK3ZRH4RH37O2PS8BL1L109JOO4LVT36PF80D9LEE3PGEPAV5K4C92BR5WQ8BVU6RCT7K1FCQUL7X6FV40NNSYBJTIJUX60E6LAERJUOOVMJYTE23J2XY17IAH5VDCO3Y4SVITMLS6XH25MP0VORLRNB3ROLHM9D554JG8G2ZL7R7TJF14DOU8Q3MLP31BQNRFFWSFXFYV3S2JYZ2ZG3RXIFGZNEJFH0D9Y40OK99HD5JNB2LIY0MBXG4CQ4TV5OAT52R7TT195NBPXCXZM5VWSI5UXAFL44LYYAV2FH1ZIB8XTVG9B11FTX63AG2NF0UVQD3PZM0N3GWN05PVLY1JZLA07AEDRIT8TWT3RJ0X1P1C6PI1LXJ9RQQOY63CSNJA2NTQ7S618TWQCBRPGXXA2BYLLVH0BPA4BXO97ECMC0V8AS3YLHLPO7LCSWYQP5C6C86U4QLU6C9WRRIZR0G8BCHJP3G3SVPUQNJGT94 = -36#AM5W9CLU9U6Q3P2P51NSPHIYP41YFYEWZWK7EDXG9UHFBCHW7L7IBG0VOS83QJI6ON7M1WX44Q51LYE5O2YBYG8NY02N6Q0567A9NI5DY126J8CDB2QSPS18G5NZBPBX2Q92GKHSP3LVY3B5Q5S0N5AI38Q7FYICZ7TIYFPU2XE8PIEY91NATPQ2DWTMU973E3VFN6UUUKLZGVRSWNLFIXG0MNYXED24Q766ERAG1COLO9DXQ9S654SZD7AQQA9KL43DNF1J6B9YIZ9DIOABHVDWQ8185LM0RL8LBSSVFUGY06JBGPYI5A5N1NZVR30PGMI9FY6TW6IP6NGWA12XSZXUF8KYTUIZA885YQAZGGIXEEXPD7093585Z2XWEUZK9XHWRG84960P8935ZO7NH2SFKRRSMRL5984RE3NJGLCKPRJ27OHYSN6UZUDYMU42YP7TB4M * 36#1A5J62KQIGQU2DSBZ17CL1DJIOYF3B1G3H7CRCNAQDDYFEXMOONPCA105DTBU09520PTIM94BMVU4MJPQMBB2ED42OLIP8K341Y7T23DB7L5Y4ZNK9L8FWY3560H588NDXZO14RP9EWVT5OOUVB85VN5C5ALXNI3NC9HHWYM6ZV0NNXKOFGDE4T75IT9LONFMKAJ9YGL2YZGSJX08Z73W38J78KKRUB0W1VR1W4OTRBCAWRF4S852TCZ2KQ3VEEYXD0VZNWR9I0SP8QJ2R10YWMZLJ7HY7DFWS9Q5RDYSXG3LYIGYRR619CNOJ8Q81BOKYHQWROMHT0R3PL0RFTXFEXS9EFI2TI24GGR91ZYT804ZX1FJDM89IPSNNIFD2C02AWQ35YVH9OEI4CX3CG46UW214IFL6EDRY19ZTZBDGF0O1NNWFHJ0BBC63OABE97PUZEGTV4GE0ETWD3V18Z7IW7OQI2A4UPKMY8PVYFLNIYO72CZ6S. +36#1IU4R88LN3V987BFB5R0ZAXXY29R69AAWZSGOG4XSZPVVVUDVPX88S8NZEHW2O93CRBNLDQ8ZCBOLWMCXLQXEBUUKKOVRHK6UUTBN4CQM8XNBQO3X7ZRBRTU2PLMCHARK8ZR9HUDDP6RSBA6HZT0939I6Y5YXREEICOOLQCQQ84SYGIQH9BGW4PFRVMJSH4XBTYYCBLDEVP8XQZ94YOLY7XARELHKHZ4TRKHZ9LOU5Q2H71TJHYHY1GDVBMAM1JPDFBJEAO0VCW67VWIW2GVS1GK71UOAE5801W55COMCL340YPIMQ60128BNI4T9C77EU6O7AMTX66RANMXFMOAFVXHFGKLRT2085H5VZPBPU3WN6ACBB322PX6F7M7CPU44TTATJMAKVTC8JH0ADLNNS42NIKY66BV0I5U3DJI0DGK1LRDDUDAUPPPWRCCSQTOKNLH7R8X6Y85WC4KV783GAVMYD4P73CQR3LUC2GBYCEWA5MH9Q470HPAT07XW4SBLBOU2C2B61FGOMBJTKEP7ONDKM3MKET6B1WBTCOF6LXSAWQQN9GO84W3Y1GJZYTKDCALCQJI75YJCN7AREI9TKK3ZO8RQDFO1LOCR4K3CEHSAHYCKZ1OTJFH6DBZLAJFRX6TGT4ZQQV27S9FMSXDLGXTRM5DK6RZHK9631SZPJW7DYHMP3QDKYHDKH0W = 36#2HD6V5ZO3T45TWUKHNY77D8YAHYKJ0UFT374ED0IQZNUFB5Q7TAUAUHIY1BZLJUL9TG32DPTMAFR5SQ17XAT2HP6SYNCPAZ4MDT4N3FO5NVNIG6A7WRWW5EVIYQW3V6XALGT0E413TPM6EUVMQS49ASDSDTN1DJMA0NQEPN6QLOGKJT0DZ8YUOD8JZ4WWM7KXZWM9Z927LTIY2J4F4NDZ6YOAI3UVGVQG8ADNEE5ZMMVU3DP1PUQ1UTU5E9QW9MUW7PSZ5W3EK2I2ONBCDL7EZUBMZE3U0UX5Y6Y0UK2C0BGOJ0GRA2NL5DOCL3R3STQR8WSI80CREZPZGKULRA0R1J1OTKET1BP3NBCRUMAXP3CXGVIFPYUFJPICAVF0PQD8R8Y0UT3QJHHMKL8FAR0VD10JNH1QP4EAR9Q0OKVEDC40EMLM0XLKAGB6FQTVFHX0KF7UTRA1RWTH8BU37ME4NACXXWHMTMXBVV7WHYUZZQRVET2U0JRH2DN1C152X06UNZQXY7O26664B75Y52G5WMFHBFI2LZ5LTGPVEC6SFW15MFV8EKTVU16U8ZM4YR6SX0MEKTPHHPXRGG0TEJCZL3XG52O572262SQDTA6AW7VJSKEUHUL0PWRMFO78EXADVK9R8COCSISNT2LFVRIUEN5UKV25OTFOCBCNQHZK1IO6CX4JK7PFP2BLBDB7Z30T3B6IATZ5G8F9D1AOX03XCTUR2MG8A58HSP4XK4WIHZXYNLZ9714PQFYYNPFR4ETUL8BQFMQ0L4EKSHJRTQZACLC8H35Y64ALUBZ6AN2TFXIDSY2XVCM08G6UZLUYP0EPBXAWZC4Z4J3MC1J4GL7RQQE76MOT7SUYZ8WNRL8ZJEOS3I4ORS5YTSWJ2Z7L7GE4S1KZXO2YUYI6FTQ1H40ZQR9I8VLWMRK4XJL0QM15MPUGYMHOYPZVYAG3SLYWOB02JX2AZ0KIBRNGSXIPIVXIZ5B8ETIBBOL7RBBAD0P5LI5NMW4203O8RPQMD8YZVOCMFRXPYMJFCYCR4HQO div 36#1MO21LYUW53KJA63VA3RPWSQO5NP8R88BDLYHC95VE6DO4RAX5VTYBGDKRAIMYBLRTXXES5MFU32IAV2AOI0S4O88BRSQ6T1CGP0FKTT1RZPOX18NY27MEM55S2ABYPCNGAVUO26YB0PRBCZYXX70ACF9N8E2JW3SY3PFULNO0NZ71MFOQHZ5XMTGTCBAWVWLGQBF4HCVQNS1SMVFXAPCGMY2L6VKGXUII9MQVHSSE44GE5CQMVBUSR0I4NTZ38PM1UFMZDE8TPBCB6DUGCYKCID4I05ZTSLX4XBMS0L6MTDBLNSXR3RFMAXW2EDQGEVPAQH7AFWPNQSCWB6L6XR33. +-36#34TBCYINF39224AZ1ID446EVQ5ZM97B2H5IRCN2FAVJIA1RNVT = -36#2Q4KK5QK1OZ06KOWRKB3U0FH9K3URTN4M8PHAXG05NNCGQM2BQK2OX4Y5XERCRQ7DSZR13K7EM7Y56FQWOC3DLCRULCRCAUZLQWTVKELCOOUH6HN2UPQEEDYPH1F27KZ505UF914HSOV2288ELCI0TUXHSDTZBWYUY3DGHUSYLOFG5Y947GAJSLC8RKAKRY82IR9KFO9ET4 div 36#VB9U25XUAQ1GRZG71C1HX49XBOHT2XUZNUFKKO87DMMGMTIKKPLIJUPKREOKRZV51RPH7R5M2PDHC24OF23K7CI2K9QX4PET98G1KTVEIU1RSUD11BL56I8JHPO2G1BHVRKK2U3H616KTQRHWMHHTDAPK. +-36#4B5VN3M9J9I5RKMT21WWZ18R6YTR1H1ZYJ3AJUJQI5WON4WQIY9GN5ERR9FIVWKONIPT9F4KXH91ZRNGSNSR8AZU3LOFZGH8TF28L0POTZA4719YXKSAGBERQUVMSAKZGX3OLLRL0A6B9WHJNZYUO5OTNH3UT9ZTUOXBO5PBICFTSCJ1YSD3I80YKXYAC0L5MWPX5GHQ3N4ZFOTLLGKSEI0J7AT3VRX8J9FRDKE2SHH5IWDJFLIQENLQEN234T0XCZUUIFW09NSM6W1KUBW21L2NJP46DJTMMYV0QQDHH8TG3QCQJ0W14X204T43Z7U3D4P379N6MIDWGMEJZVHTYV4MXZX4TRY9XSOWCNIPFZ9XWJADKAJQLJ65CYOB0YA6XP62P3WIJXAYCV1CP1SAITKP9G77BK79H70CRWNGYBH2A86EF2CXOG53E7DUS65P3HEFZOPTRFXW1RI22VTGRLRSC8A37NC42SMZRGTTPEHT9FGS4F0SU8VWT92MMQRZG5WN45GHPEVHG1PHYJM86MPPD48W50XGXT0KM1VCS57HNHLS132218FYTDHP7OE7VKTJRWXGBKIOKQGFSXIDIBUKV7B73NBBR0EA8C3Y4YS7DQ8C573R2C2SJ95J5BUECON90MMDHKSVM7FQ6881FLAJM5HG76LZJAMHSDDLWXBPGPDZ0YFT4Q3PG8JIGWMDEBDHY8AERI310CGQGYG7TWNWADKNFD7BMFEOGR5OVUFADEDG974ERZQGEMG7JMWMCKDMDSIWFJQ7I08Y39HPOA0W6T7H8WJQRIPL1F8YIVS0A3PQZRO6R2H9FPOZFF5ATMA3I8HMMS53Q5LRTVVYCE01DEBRZ793VOY69Y8C1Q4NHWW5F0LIZ7M4DNXVAEDVDDDCC2NXUZKY99SEL2SWMRHS99PQTX25EFB63F04Q9SF6BFF3E7CC7MNYYGKDSOCHILCAB5SWPJ8FNIZ0T79BDD = 36#TCQ33OYXR40SU7FIOCH5ZI45LUTP9Y6S96UMPHSRNVAZPQ8HEJ67IJDO1KSTP3ZWPBXQG0HJNKBADRKZECPZI5IPXHKWDFMRIYOMYGZ1BH9WEHOAJI5CZT0YVWHJO8AJQZZB7G57DD20KQNC8YS1PDJ21H0MJNZ66U3UG4CCMSRTQNL81GY9OJP48KNTROTCY8BSZVRNL7P4A0GZPI4XNQ3G8S2NUGF2LYZABT0WMD7HKJ7D14EYN7X2QXUUZ6OY2UPTNDUPBZFO0WDP3YADZHCIZB75AIFQDVVVODV9W7TUQ56Y4FRFRPIRHYNNZXJES1X2TB3ANLYLFH1M7FG573PMVGP8T1BU3DNW8F9IIEGCLJLDTP3Z2PBJB8YDWR6ZRHZFBPYXIO2ORCAR80Y4BUKT38UXXFGJ2V5NMQ81ACJI3N4PAZ17YH1BCS2YA8UB0ORJ47FID318QIQEUULBW54YZZZKROK7JJ0YUEAKB873TY8P2DY626OBG1YXBP4Y1P887EIBN0B48LYLSIOUFTWEJF3RAYSSRLG50CI3ML24YM1HDVE6IUR86QIOLNKFO6TKIAL2VD2E5NO2DMV94WPSZGFTPAAY93130RPH9GPEBW23MNDPH8TBQ4EHWD6WQC1S9MF0RTVBWEJ3NDD48QMOATQAKCHM74LBS905TDNJZQ7YIUV4S7IWQ876OCUKXRP1EPYTARRGXT5GCY6W4BCBWSEE67CI7R1R9W3CSCQBWU13YFH77A3PUAA74P3V7M35Z0DUC589KPU9H05AQUZX2GD6T6CPMQKT21TPPE8ASVOOQEQO4L5CZTCLLKKYFC5VXHEYPI1JFN0R0WUHOBMVO6GQGQWTH0DLKJQ7CUCR3UO5EZV7XTN3EAL4BDNTATZI6FWVF29OTSG2XPYLY6G6KFITBNFW3DJTGP1R2KGRMF9E0AHJTGC3S6YBIW3MPN5TKZ63XPWWKQJE4MWQ0IY5BIUN08HRZ1KS3CL62IURELT6WCXJWL79UFHX7R7LALR68LW61U900PTU5JAUGLZVS198HDLU0FG2XN2ZQL0VJRS37HTT595RS73J843SQJM7PITNGRKLLZSW51GY87HK090T30GFLKB4F6BKZ9H2E9VQO05SPRTMET6RVT2DNHCTH4XRIJUT6955MHPKJ4XJJOJM0FYMZG7F3J72FS4FFUPE18FYED4T089Z7ZTBBBR76VQI2T6O35PW9M2KIFQZ4FSARE4707FXR4ENN97Z99ITXT6VMGD5PSRZGYU9DWSK0HJO0CWG1U2K12B4E4S8TFHS7MR4YXOEE239BGXTZS64CJMAUJUNGHLPQSO6THRJ9KS2JG3ZT1M9KW8O3J div -36#6T6A5P9HQWXBEM9D6QUOFB8G3Y0PU93G7Z7WNT4HWU0EMMIS192DXM76BQ2ZSABMH4W3SDUQKQ5I5U8XEELB07510O7WONLU2ZBONMRCRP71P13UYMQ3LZCRWJKV8Z8VYZSZG6Z44BU15TYJGLKB7NYCO32Y9LQRW797WXYIBW3VDZF0EMGVK9CVKSYUO0OWMI5B4EVNE6LDE2DF7F626ESO19VMAFHMQ4AUOLK4OYDNNG4T3P38Z8HQQVRPB95PNM8LGMNLCLPYMZY3NZPPQWNXDZO9XMIH545BODXXNV0K0GKY1917P2VGV1RWL77R44H44DDVJRPPYVT16HECK38O381CGZQ1WJJ3R9BOLK3VQTFXAFZY6VZTCPNX5GI7. +36#TBCVAZ1UCRGO182PUSOOURW9Z7LBWFR2KC3UDRKMERBI6UCX0VHHTP0QA4KET3ZKDOT3X0O38R26WDYG3IB77RA1V8ZQPRK44I1J5FAWIEPJQUCC00EQR8DD2C7LCGGPBZ1HFUZD1RE0WUNYTJEJZBZU40QJ7LKVOSTFE4YVOK8L0APPUCSGIEII07W046CXFO1RJB6Z5JKXNYWCI2FDH8DKIOIWFTYBZFTCKATCVOZ4FDGTRB9C9JYN3J89F4X7ATW60N6UFQ1DNCK96RFBRT9WQJXV0W8WOLE9KT60V0YV6T8F725CLOJRI4WLUUKKQWPM7133TW2QTKRXQ5YKAH4ZPRNNJGMJV7Q4CSTUP6Q8DE9AQ08QC3YTUJZLMDQH69A2SQQDXT3DMOU8IUWNIJ78UB0HXI9YUQV9Q3LIESYT5X5EOGTMUVZV4JIZ8YNP7JJU1YY4SOSNFYLQ2JS9AX1NGLVIRBVIV23TW9PQOY39MOA1QPD8W6WJDW490JJAA31WEY7MMZCG = 36#XBCG6O6Z896P6A5PTAIV6R49ZMTL3BE46DONY5IWV39CLURUVJW58Z9T6EEJRD5TFHX489K3EEWT19448N3EEL8AVEDS62GQ6JPFZ5GVCJ1QN8PFAFVQLCPYBVXOIUKS1Y3J8860N1CU5MOCLFVC7NZLX2P5FE9SSIFLOQEIYXAZC9S2YW5P0H9NTY5B4PX286KA0VJY65FUEJO24ACU5CPQNS2H4QW7GV9MZGZ2ABU5I44CZBT1JD9958IOE660GHFF6ZGE4UKS6GPLX6TGLLDMSYAMGMZF99WDRUIM844S7I9EWT7EKGVFE37HTONNCTFR9G5TFIH6A399YC33EZTFDXS5999PJX64CS53QQFXUQIRM67XY4G7VK956QQX3VS8A6KD6SD8GPSLLZNCZ8NKAWS5VOTQLBZB00L1YR7LAGO6H1K8H0G0FECA67Z87ATBYLVRPZOT1ZTCPT66RE4UJR5WML23UY4XYU84SPLAOZKX7I0R09CONDCDLNK0UDWHK4A9TVE83XKS2JP3U68VL4JBPZMC8NXC5V4X07JBGWR0MJ5YHECAE8O3PV6DYO2DJ0FV2X10NJO0VR4G9QN44H684HU098YI0U7TMZOH9I7NYG0S7VBER6FDJ541LVU87XHSVXL9RW6ZUM0JMOQZQW71EVGRSY5KTPSFBK1TAWM53UKDDYGO0PUI7GIK2139ZUM2JVUO37V5HOJGM8FXMV1CTQZ9TF5E5IQ11V8ABP4QB4P4V4RQAB4QNG2TWXXGGJFZUU8QR79YGHWXZ6LQTVUYD4V4LWKFTAUWB665PKCZD6MFEL6U6U0C03PA0O43D396D8KKQLCBYU6ZMJCWCORPXKD5TFEB6TSKJ4G15JQR7FSIN0PGMI8AHA5RTLGJ0IPQG6O8UM8LNB0EIWBVUC7Z84PADC2DCL6QXP3GB9J4GOJ5LM9L5LFC9WV1ZQLE4L9FOUS2N12UKA9ANYNJBEM5Q3MZMQMVI0AZ2H3Q3IMFB0TVNQWK9ILR6WTS69V2NQ44VD4NWE2BZIXXINJK7WY56LT2SUPJSF39BN5JVB7NMHRWWDDTH2VO268GN63IDPRVXSNL91K2ZZFHVXXP5KZ8G div 36#14WTJF3DMV47SAD4OOJL555Y98F4RIW9WIL5NV7NIHCX9K6FGGIM2L5639U3X2JGLEJWVBBS2UUR0HIB0AOK0MM4PREIICJBDM1ZNLNKGTP0NTOV0D1SA2NEJIODZMKUX79DRBEF6SVAHDPL5W6R7L5YQNH1NPV2BFE7H2L67D16AAZA5VO5P7B63WBSIEVWS8LQ9Q8RCZQ6T8XKNCICQ89LZ8X7VYMZH4XAT3RZ4O8ZZQVTGF2S88J5LO0ZZK3ZV2N7F214BES1MDMW4LS73XC8RU7QNW2XND6I4C5ZDRXTV0CP2D6RHXEKH5DCJ3E7BR0A7ETBILUZNUYUJHU6ZRQTYJFT8IQ9FZQJCSUGO7C2ZLV9SZNKGDYN1QA2MYC2DGRI2W14KJ6EYHMA6DA0Q3FY5OHZTWSXE72V3FJKBAHXNSEX7Y3ZFPOO22TZCK7AHT9WHX1L5XP2YHSDH3DKV58B2UDCTY224P3DSIV2INX2HO5T3PUSF83OCE4IB0GK8UGKRRMJ81JMAEWKXX9W57WL4TW34X2YXFQ3AMK3RZ2EBUHL8E7Q4M0G3CSG7375FLFGCV0UWWQ2I78V4A. +-36#72ZBOP7TNHDCY4WV5QY83Y10ZWHKRFGY4DP1C795AXOW7LZ47D9QUZTACB7171Q3O58G1VENSU8NH5SXTJWX3YFS3IMDD6CPFKILWXZUOM1YKOTESHW2H9QP2DK0CDGVFSZN2E2TF76GGIH6NF22OPRHKZUDEWPZNIG9RYMEBCCI2XML3LGNHT33R8SX8UQ5WNKWX29C3K5BOPG80L8FBO39MUYBQYZMLESPABRHYO331SMGIVR3N8B0NKV4S2THYGLIWT5Q2I9RMO7EGXFVKZYOS6DWLTUHVXS36DUM0J9Y1XXT2A63TONOHQAWA6PUMFREWJ7HEKSEI9KVO60OU59TBMXXAEEQRKOUPNE7L2G9E0376C8G9CE5E51SZZ8XQNRGPTWE9KWWU9GRM2PGL3TRXYX08IXC4TE4PKAL3XZUBAKM3AA27OWKTOEXB3YWEWH9ODO00FKU4GEIHY2IYM2GMD9J0ECLUGH73CY7OMIWCPTFMK = 36#A6NCW4VJEN2NK1N2H557UL0IVD6QW85Y6O7ZZNVGBD847TT68869IIB6KOA7N2LPCUHVYUEY0KVVAXHDJIVVBJ6PHU0TPO1TSPB01A40XK6OT57XDS5N1AU17499QKUZC85EABM0VH2PNCW3I57QU2VR80CMOKO835FJNPW43AN37INWIKXI9P2U1JB1T0XECL8W5WZOZKZIG0MR2AHDW2UJ0GMM2KRQPMW08MATURXL9OYH5KYJ55OAJOSQWO255L6U8I7ESL7B2YOO91RNX3W1V0QLMOOJMYN57Z67EPOCF2O8MK8DQTTB83VAPX5NUBVR15XK4QOLLBY4GWIMN9T4HBBEOXVJJ2975ROZ9Y9V6UI1FBGYIN5BROHRZ0BXYWS5GFCUNO30B4DK6ZHP9YD138HU72TEMLEN1HRA38TS6RACYZ22FCYF5DSQFWT8XMKO13NNXB3FBSQ9K5YSMLCB2RI13GB91C0EHHIX4F0UNM2O067KMCJWXKYHY2GK1A0Q8OC443XS3EK9YRMPI7SA265TEUGXDLNGOC38UEIP4CFIJCKYDVAWDLCUYKNWDN4XEP0XG9V07EV1SQ8YYKFX87QT30Y7O7Q77JC6OGTPPT022TWUUHHE9GWCPCDGOFY2RN8BAJLDE19I4R29RTX9V1WHRJFNHKJ3ME7L7ECGDR5GGONN4Y0NMXCMRIK1EFSVHXPE2KGHX1DCXIS5QNUS0X3JS2KICDMKRTN2B44LMGIN2CZCMPHMN2BT37BNLC6MSIS3E6EPLBT2L8WRW231OR9Z0JBMY51SAR5HH6NB9IPSJJFS6I4IUL7OHJICV9AZWK75ULEL4KI9K7AD9C2LC3YJNRH2O8IX4TWWKY5J9SLQ9RZLDOVQR38OQDT20WFRJPVCZ5PPOBEBXQ8YT5BQ84QMBW4NP09N5HMJETKX0IOTQXGBEXZGQSI59CB2T5FCJ7HV04IFMCUBI6O357Z7A13EOVGAIOXY7AGYB5IL6RH89A52YHBLOAIVKZLYXO79HQ3VF8XR5EM4C346LE1VJCZWVN0KHSXFWN6IOW9DKUWJO8DAGGQP2UR2QAI95V0KD1HBWCB72UKSAPBY7KQBQOIYY8CP1OSM4GDVKRSM8VKX2706A6HRTD5511JGA8RNOYLCK1BMFHHKNBLFBCGJNF2TSZAW8FBW7WP7W03U052UXOG5QPB5N6XM2RVBO4NXZ6I487Y0MQQ96GJHI3HZQA09YJZ16D9BMDCSIW3J4N87C53A04QDNVK95EPFQB7HI58VULNGJOKEON1N3Q1N3MLUNL7Y2EDWULCK3V1Z3DPXAOQS5WGNX2L79DMJCNG5Z1HDJ1EKCJ9DUOY2VAGIYI817LPUWI0VN40ABZZYDUMXVXZCNBENK4UONTB2PA5IF7GXHYDMRM5JVXLX11M3IJ2CDIH9ROHOXC7ZR4W6V7Y8YSMKCVQLSKMKFYMT1HTPHY6RPD47VZ4TR1KQL3OT674D4ZNMYWABHHRB49J9JCZ8MBWMU3R34GUAK3454D34ZWKQH2FX6OORMR29T1LHQ9IHXJC9XP7DJPPP6HCKR7ZNMAC div -36#1FRKQD7UPYY8ASWFNNJNSC8MIU88WVUON05W43LPXS89LKHF8E9OO5XMOIYHN3YCLAXKPJNWHCO40YKA6YYLOTTDTPQCH2MA4SSVY1OJS8A19KLWF3Y7LMSH49SQ1FNNXE2G4AI6TTT63EWKA2F0OUZBU6ENTJ7X40SEZF7GQ6310H9Y6IDYYCIE1493SACH00DJ274P8R3O3JCHSZ53MJTLX2171DAU7GGVCLM4LT8XC4LNAM6KZ6XX29344TI25QNZDKU2AK0W4U55NXKRG3YBP0IK1HD0TDD95SJCAKNP98YB602SZWQG73398GNMEZMYZTO7RPI1P909JURSUIGGGCYTVBUO2NCMV2SPJQXQJWF7VKLOKZ0L1B7RCLBNZ8WQ0QHPEBRYPUTXY8TI5TTO8ULYG2983PBJK5KDVMDKBO9157C1UYY26LXDT99846IUYR4PWDT96CKQ9BOPJ4V3RJOL16AEUYI73H7H12E3SU37TRKWW8DMAAIIIDVABOHVYRGB7K6P7GJ7SDQ33LX8MOVTO4O33W8JQL06TITTJPC4Y8AIW8RL3F6J44S56H2OKMQH65BDJNTTYQ7UDLPQVXFYR0GZ3FEWZMXV3RWR3D0L58NBIC3RH6RYWHG69UIX6OK7YQL12H1U2ETEK1ROCQ3A51U7SUAQB8RZR6Y03TQZRG4SS15T84UPU6NLYF0ETB109L16UQEHWR868ATA2DX8YYWC50MYI7SFYN0ZF124MJXSIXLFTEMUI4JA0XSTCWZ1E7QOXBAGSZCQ0TGARGILUCMN243MWENQPQZE7GJRWQB2VK2E4C9IE12YUKM3PT94XY25LSDNRKS2JDXJU86TUD25GRDGSYKITDS92052KBWH9S6XJF60MMYK6UGYR9ODOS7NZX8ZTDP74D6QPX7HJNNFF38J64S3LPESJB3A6FPUISHFFNY8SJ5S4O60BRHP2ZI1YUY0GRR8T2F5N94UVKQ0LPE0MUSF8H1YQYK7VVVVEVSMK5035NOBS069NA9HZN7DKCNHUPE0OOE2XQTX8VWE9W5KVU3MNRFVXTAT9SSKDX5NFVML8BYHPF. +-36#10B2JI6921LK3VDQXJBUJ7J8GQRQF5YZ1JWIPWC0DDWPYN8QXZ = -36#7UXSIU9VH8OGYISY1R30POKHDZ2UT0W7KTA5GDO2EGOMDZMT9L5XG9M9DWB8N9QZT87VUSSWYWL55BWMIX9JRFN131OLQ1N9NMHPEQBTLRR83MSNA7RPPTBS05DKASQ8Z075Q8HCCT0WV78O1RFHWM42GOXN8JE8A2BOARE9MYEJIF7I2606SO97YQKTA70H6HJIETLMX0LL79YF2EYBC9BW7FFZ7JB28URX51833JHCMVDSRDZRF8A0HQSOYZ1D6O div 36#7SJIR11OFODW7XUONA2CYR9TKW3DOF2TCXKHQPT88KWXXJ0LZN4KD7ZQVIKD82I1OB3RDAAABBPH118EJTU8F7I9U7DBPAQ8NSRNRPTIX5P0RX58PF99S03D20RZHSV70PN8KFG4SFRIUHD362LOBHZ2XPDRNDWS2P44QHOPOQK9N7BAJ4O3OXVY8WY67DSDB1LE067JCV622YC5C. +-36#SGVH47YEHKUKTF4M83NBAN32J0NIX9UB4BY0AC3W58KFO4JMJ3M37WINBVNVFF4JWD5JCX3C9G2XUAZ3BD9S8RL6I8JL48QJNOL81MJ0BQ372JPG5UZTGSJCO6TS9WAM0AJXF32LK43NZUBM051NBWII6XE7WXJNND35JNB8WFVXJ6ZHPZTSZLPG335SM9H1Y2SDOWU6HKB1Z10GH9JPOGECDT32713XUGOHEX5FTGQME4G81WHU7JCH131C02T58P2HPXUABFSAK5954DIP2W1MPBP6HR62DTSXBM6WGTE12XYKYCZVG7QC0ULWDJFYPKM6MK3X0I9RFBC8MZIIM71ZCWWHOFM46II2IUIXU5F3479DTGP0LG6END5PO2JPPPP1A293SS4MSGFTCQR1RBYXFKJHYZI1H4IHE1VYE8 = 36#1MA9J265J46UE52V1H805NCC3AJKWSRHLTNH6BJCRP2OXDCUYO0TDBY5L0LQI1W386KIA09N740M5V0D2JAJEEPCOC2PPO1D9VLS90RDGXHONVQJWK4MLKM70QWNM07PDC52OG6HQS1RTQ7TQDLII126PT9Z6Z6SM4CTNAO6DK0NHE6NXYMY8E2L6JTKOF7BZVD56SAE5NIZK8ZX59C2KVPJCLL5DZCMUHIMAKE3IZ40J24KXJ43M1NYAYD0YEECQD6NG0Z5MEDX7RLKQFZ557MSVDU3Y4GM6BQJA1DIRYU1J6MS13A64E103L3MA301REEZBY3XH2EX2NCOQW1I0GN5MHPM3OCTQ5NJHTR0MYDQX1PWGWNP1ZVWMM * (-36#HL0LYN6I0K9GXEFS1V7EWIWMMUKJO04OWSRDLDCLHO6BP7D3K). +-36#EFYUO15FPOP8XFX5RSYXM79O5RS0GB8GBI600JOZKGAKILZ7NHU78W5836EMWF5LCR9PPZCDGHD2LTH4MEOGOLS0N3DT2IK7PMPPDMBKV9AQHKM7ML40NCIYGVAGUKB7T44XQ7765DJJ1O27JZORKWW7UGJR04E6XN9B099HD4R9SEQJMY32WLZXLMANJSBXMWIHNCKY9EK9QWJO3AFCC9BOZNQBXEI16BK02LE58UVCK8IZLT7YQ4X71S421LHO17MU8TU0MY1VI3JBU13MJU3030S4RX6Z363QU5EL30VJ6ZMMK7REE7YFGTPNJ6XJ1CHBW7JPDN8Y3ZBD5HTP8JD2DCJX7O4AQS0GBZSSLAV3AIPXZMU9J0LE1C30DGQ208JRSPIHUHJGYQEQQF7KXU2JX8K0RK2S6GWWYPNGKZ0GL35NAQLL0O3W4C1SWHCGL23BH5T193Y9A7PM1XVMQ2LNTS1LMGASBGQ92FFYFIN58HFQHVVNFJI75TBYXPUTVM6P2HSNPZEHI8NKHGI0AG1EZ4OAXG0F5L6ZEHPEJGPKE91U9CDSU2FX69LLI7IBOYFAZ7NYFGZK9UM2TWNA2NXCOE78K2B7G7Y3BSCTWTYMUOBRV33DEEAXT0DE0P4MHV728ZKANSQE685MXXLT1O5OO2LN65KMUSMD814ZMROMH9N37LC9C64OOAYEZ2YF4JGI0JLF21BO6R2X959490XW45P6H8NTYPY0N = -36#324EAPSQW22K4PPAOJQL4CRP1H68S9VF8WNGZPJMAI96I8CTX4NLBC00BJ7Y1OSHMUWETZB8NTFZ5KJFV2IQ4AKW3PJM8E4DUQ6W3PYYACJFIOHQZFNO0I5QM5L7N8YF83CX9V3OHB82RK0TLFEGJKYU1YW4COLN4OMMMRNT1GPJ3A4UHKOEEPGIYEHRGXB99EWBK8MELE2BVR8X8DBD4O0MZBLKKL0C06TKORVJYG1VORIQHKGRPVS0LI8Y9OR3C9FUCMYABQQA2ZITWI2FFLXT57GKSVGM82E15LKB4ZMEPFRBRXG05AKAI2B5GODTOZ27BMDKU9BHUIUG83IEOTP9PY11URH9CWN3RR5BIRZPT3J90GNOPV84YW2KBXOQ01IU4NWHA3K5WDP745P7634H01OWTVH7DWM27MS550DLJ8DJ4CKUSE81TBFKYQJ2HTE3KZML3JJEVW3GCWKRPY6WVPGH0H9WFLNSQISZQYDNSZ2HKDPX10HNA1CDA5YRT8RGGR8W3AUOB * 36#4PZDHQA0749Q409ZXWYA8YI54B2NT7K4ZX82NA5XVPK24SE0WZ5HYQQ8DO233770UROT8STPVV6XHZ8CDVMJD3WARVAJJ7MNHVI0Q0W6OZHMTLBY13R5LHISY8I47PKXWI7PNMVVZUS1AKQZ0IMS70Z1KAJK0VMRCZZL7QI8OMKU06CEXK4ZS1MP65G1DS2HT54HY2Q67LHXLUEZZ1T75H37P. +-36#2QX6I4K6W6HTJL25RGYP4599B4SYZ2M5O9CVM4KIMDFIERCO9U = 36#47JRC7P1LP37D2HTSEWW1PY336ZESQ6WNPRPUC31DY4MMHWTE1SMFRABF1OTN9HA8HZT2A9FP0OCT88BEUUYA2UJMKHOMA60Z0 div -36#1J5HE69SZYKCTIBAZ72T0NN99VZPQSRPSS5F9O0Q98KKQ5MS6. +36#1A4W29F914U4ZCLXH4QTTTQVT429CAI12JNOHB52EGOM6MPSC6B0MC55I2MXISGYOUFTIOB5S0R7H8ATNFTGQGO7DPNLLRPGQW4 = -36#34JNQ5MUC0136HZZNPM2T2M3G7FYVWRPPFVOWOHLIJH1XBPUH1 * (-36#ER9MIG2WWBKZHSPPV2YLC79DVVFIWEFYGJ8UCVN7G7A0UGD04). +36#1J0EAPKXKLGVVJ72OHAQFQQD16GRDYI0NVF205KBFJJ19JGQN8LSZ246VM47PWE80GWJ9Q7VTRV1J91K4D2AGSS4TIA542XOK7Z6OAE7CYUH1YP9ZWRIY6OIMO5RG6QX3QYZH8D46O8GVDWBI037FDSDDE5AQDYVIJYGN0HJ8GDLZSQZFPSJSNPJTHO5GGQULT5UFW7XDK7QMP6TQ1VVCSS6IP844H84O49BHWY2CNNSD9T0C4EA4FEULRGIIPU3CBUVXPITYBZ2EUJANRNWJ3BWI3FE3CI0X5SPF9GXY5AG5NPCGDYEEVM6325VERCO44SBYAF9RZWHI9JREO8M4DETZ7K7XJ1RYYV0G5UUYZYOHK31S92PRNZATJX0UDDNI95HVG61128GM05FJ99VUZESGQBFKBQA51SV5IT3S7OV4IDEKOMGW8TP3DDVYOMH5SMX41XEI07HYQRG5VUDXIJV6IX0JJPFOY2D8DCX1SZQAR18ONCCX9SJJO = 36#27F9JEE9VFC12C1MW7YB6VQ0EQPCLM0M7BPICV5P0NFN1N9CL653FNWVI7LI9YD84CS6ICQV4JXM1NCNKRONP4XZLVW2YW4SJ0YE9FY26DUKG19VBV7BRFURIVTLXG5KXG0NEL91TRBQ6ZU5BTHABNFGQZ5W0ER1VIHLGOFMMIQHSJWYFC6KO9PHYVHWXP8YEI1Q7V84QTBNQOAFQPSG29D0W98C * 36#OXN3ASWW4WBVNOZ71MCID3NJOPSE6VPU6HZPZGTBLIDN5RGCYFC1M94IO2VAXATDV9H84F6BZ0C52H3YSK059CX23LXBBPMWMWEZNNQ3BIHKRVZ8LS8C8127XVKL6BL2I7VALAZMGNZFA9MI621JC703I3X9ORVZ8WT6S2AT9MDXUS5WD3G5RKDS3EFEZ0Z2EAJR587GV7SL92HC3S6UKDLBJT6NW8DOXQTCU73LXR1E1P49IZ1VSV84DDLL3ZLSJ8WYKTHN3IJXCN27HWQM7W7VU29J6B. +-36#OE5RGOUZXDR5MBKJZOTYUF3P7OQ5899IOGLMPF5IGB66PIWNUQLFSHJP8ON0YLNQ3YNR6B5XLVG6OS6EFGD4IX41US9C7EXT4EFUY8XINNGVNKSNTDFFR469WSBBT5N0XPVEW55I9IOYH8CHRDRSUN8BJQ2CG544AGAVG6GH8SECGM6ISILBC5A4V8LBTS42V9BBU8OZNRRX2V9FO7NY67LOSA9A1ACBKR99GJY8OIR42Z4GFW4V4FUF3S9B6PDHK3DSLQGGZHAN7R2NZKFAYF9CBHBYLXSULBKD6XBPDALDQBGVDCTDPMC5VAIJP4KFY4MKVV0ZR8V8BATLXHTODPG9I9WAH433MWR5Z3DZ9J93J6436M5O7DH8W4A1NP4T7650L4CKPLM8Q0ZM404NPHHG3T6P5X4SXZQ7KHSZ9AQJ45ZN0ZGHX73GNWAXHB6HQKJ9UG42YC4QHXXKNJKT7 = -36#FTITLGRQDH0AG9D01SFQYL3KWF6JH2VMFWIMOE6LFJO0JAK85 * 36#1JIBXPOD7AG1EU4M2O6SBOCUAZFNMK13J10L65FUPV9287GC2M3H5U6O0BN4HXY9D84MIJCBTQ0HJOLCIKTWA7PPPL3T7BGJ8TDIY7DPN8SU3DV5YL28H4HIVHWC5N7O5DX2IVZHW5H5OZORBB96CL9DKHBAMCRLZ9BBHN2B7YCX86A81YUBKLNNOWM0O3JPR5I5BTW126I5SYGFYOQR9V6WF412DVT8ZC910RY2CKZKIYX9C6KO7N7AZRU02O7QZM0Z05B3L0H7CZFIQIH69QXYPQMK7I959LW8H9I8UYVQFT0AWDPJYMOGCAJNSAFCC80WG90YNLHYAEED22Y4LXPCQPSDKY71HM1YNWACOGNV2AFAMY8MIFR6X58J8WHT9F55ARMYX0A3N8JDAGJSBUJGMFHXB3OXRCKQN. +-36#7H7MJ2LNEF0S35X85W45MZPHMTZU5IMLNSSS9TXVDDK0SUUPVLB6PCNM7YJ03T = -36#1Y44BKQDPGBKYSM5VTE3U78Y6QEK16LG6LNJXWW58B0IBTC0QN21XO3MNBW9NI14SE93DX55EJWWO8H27HOWHT4ODVFWEXVS5SXY977Z69GPJ5IDW99A19KT6RMAKR07ER7KNL7TYLSZT824K4YKFEY2NAJSYZZURGAB4VRTMF4NNOGAEE4Z1W0ARPVKUIXEN2PY94YTRPFMGMXU0BJR83TRNDRE5ZA88NJ3FU421XRPY6UFBRD4CR67YRO93O2NH09RPUGQ2KU0N85XKNGNLDYC902VRQULMXA6ZKQ2DPG21HFXCLAOM5C15W8YUPO1BDS2SZZH71UYIGW2K87V4V4B0ACJ8Q8TV57G1D6300PPM0J div 36#9DJ8WUDN983IB2FX2ET965AEG6QOSYXLZVK0EEH98E2TS8CNYJBNWHWDB4MHNLC6DQPNWYL331V1Z2IVPKM639MY7C44DT3AUI90J8J0ECB96YTA4MJ95L3W6HEIS4IRAPYBLE1BEWX3ELIUUAT5RH8DEI24ZIAQHR67T1L4GJ8N999RVVRFGC1YSIKLT7XZ3COK0QPOIE9OVE84FMK7CKP80C9PXOJR6IOPAZSA490DADT0R4DGYGDBUUCSIVLR5HMKHIZSISWZQ8710S22I972TB0Z0TO5U2KFIF6I4SEJG3AXN. +-36#2J3J2982EW8RTTZEYV4DZN8J6BQ26XKCFQZW1HDEA3Z1OFIPMN = 36#21K0XRP0I1QYXMVI81JDCU87XK9ZE7TYBW53FPVRB3TWFZEDZNWIUDKBJ9R3ACU78YZZVZBBPDPTH7437WLCJJU7FTNN93T1OKRR999EJTQKWU5NJH6P75KEPX3EJV3P2ZZFCSZVPDW4OWVRYQU3G99O48OGTK2G5BF5F2AYMYEOY5OYZ9XWSFMP9N8CQ1E9DNH3B7LQJ2YTG03NJ554P59PIHJD5XY9G6N7QM1RWS2Z5AZ3551P1E59H4XRMIZL60QJFD9QFL6PWFON50KZ85MTHKUMENXVJJV9784SO6HUCWSRWJ15TI9LRIFULQ5 div -36#T2FYJPDABV4OA2FWT4U1YHDDS4C8H9M8JP0XMI44QTDXXLB7D5SG38BD5Q1J06AJL7YATL3RGSJQI0U65HFG9SCDAAPFNG55RD9D8YEO8OSW7AY1P30L3RRUF4ZE1GUMI0N62G2N4IR0714KUM850M8DB7C8DW0EWD0SG35G441F6SC9DK8G8U5XNU1S0IF7VOVVFB9LWYIW9YSTVT09HH2DW2J8NUYGDDG9VS4GZDL64EHUZEUTVF40X4W9JX0F1MU3IR736LIKJ. +-36#18V2GADDOK2FV8TNV49AK42OND3388JRHRC0FTLH21EMKJ87YV = 36#21YBJAL8YJEKGWFJK2CCI09OXTU9IMKOASFA2CDV97S7NJ7YH4AYZHOOORTXCXTBG9H2UQZSAUI75BQJ2BRXGXZ0KRVDEFM06BP div -36#1NCCYUHU3W8AEH9Q899GCFGGQVWHFH7M69LBD6KGWQVW0O6B5V. +36#JGN3QSZB4PL139DD1IEYJEFYK34BBXC0L9ZL4UJQVP770IBGR = 36#5KGDO93NBOGAK430RK1UTDZO7WMDDPUEH5NCMGTLWUKNPNWD6MWZ75SBICBQIHBN54ECR11AKS1I9UQ7W6OFZYBS7EJ7L7G8I2FMWXXP9HKJ4L3OU0 div 36#AASDG95UFKZ5QJXQPF1O7J9E78STICRYUQ0DHWOM56C7RY6A1VJ5832RNG1XKCTBC. +36#3QGFWRXWBE3VBRKZ94TO7I27VRVBE5SLGNYBDTUHTBLV5L5J7FO7BV1KNLG2JHLATO545U39DQHWCEC7QQZNVEWR80FSGC9WAJC9D08HP14A6LY0QZCHHM618OKTBHM917YE6E47YFOT6WT38WW3CJ3RCQGCNHICD97VDX1JGXGPKO92PAUVCFY5KW0G7RB5MBVOGR7V97ATV23FDWYAHGSC4M9W523YQ63SA06RBS60K6OSN8NMF9IAXH2GCU5O24HT7LRP79UHKNGXHXDMOXJUCIC1DPCAMZONBFL4H33XGTJRLX2RPHF41FZ98Y8RW1H99NIQRUH39NX9PRTPOB9X1FF8DT83R9PG74T96UZ9KP9YN5UK7B2O = 36#2ILO654O0V3EJUGIBU4K25616FMNT3ZPR69G1RU7MYUII05FMVU346T2HZJ5DFS1Q7RD6D5T9EY9BGP90ITGIAW7FZAL1DQUT87EI11GQQHU3UMC34BHJ6QKQJDCBP3UIUR3U8N4CZI78GE9D6S8V09W41T0R1LTKN3IZ52KXWIWBB8LQ2RGINOVHX2S2U5D6PRUEM1PLBASOWHB954C17XSYYKRNC3TYBYODIOCV9ANBZ3SY1FPBAF2KRX6CSIOH4H5F707E5QGV4YOZVFK0CY0CVWBI8964QLAGOI79LA1WRUGW9BMF7ZTD06G8LY0PNXWTMM * 36#1HFB8R9OUDIUSNSWME8KC0YU5O7M3X1EOWCA8T2FA6WPA5KW0O. +36#3Q19EZAUHGKX1VZAGIDGR11L1N3RGYD2W35H3FEV54TS07G1CXD8YFF2HSZSA59FILMWX5GW9S6WRG0PUWDFVJBYLKZ70EKX5WL84QLPMFRYFJODJAS5PFCLGRS4CZ6I9WKYCSELVHQT2NOL418D420TD45S3QM9J2MKQOTZ88H4YKFKYNDREWTZWOQBSEK0ISIGECN8V1B3PND4XKXHC9EAXZY8ICP02AH8VAYA2JHD20EI6A3HFBGKVM1S7GTTIL3JEA8UDWJ31X2BEDXY9WDBSKGP4 = 36#7W51YBP407MX3H1UYXLVWB6PFOU3TUNYWXR7REHME4Q9QST4Q0P8VEFA0F6T1EF648DY124JOVTZUK8BDF8ABOLQD8HFXVE4W3B8XD9667W5GORFW8ONBYZ4RHJ1UF0886WYBRZLFXMSA9PLFA3OAYL6AK5Q1NEQ8BHJL4S7UBBXD0ME3ROAPFR0ORRCSV7NWSXTOROBXHYGZCV1WLY2SS9XZWNUB121NZKYUN35ON8V4X7M3O6D1SAPBTK7JI6H1NG855SF95SK1FPFTRZEAYW7KYMOLCPB1CDGMKPIZFWFA8E22L4M3GGGUOJRCNDQVFAWTO639RK67AC05B3NDDS22RV0W3JJU6KKSNE143ICDXUB8364FMC5H1D9FAPNVCWN2NX0H5QC5ZHOA9PTRF1501RSWSGH33FGTB0J64WTL7261ZEVNZ3A9P6G8D2DL1F1NLB6RO2BPLTYH6SKZSXPZT68NLROTVLS6M5OK6OF6UO2DZ0XVY9DVC4TTMSF9EY01J8BGX7XDS1366C7Z5JKHXBKNUC4KRUOOQDUJC8HKK5KOTWGJ606QMH45KFNPOYO8228IU0UPO3ZNU5GGJSTF26841PRPOBTS3G28LV3KOWB9NZTZCVNGZTW8M23Z0TBQRRGIHY6LVFQD2DFWUS6JOQ5BCNMJ4YG91RB7N8UXOXTE0T29JB30E718PROJCFOWUUF1P9H0HYAQZ979SZGCMY2LK8PBA90XINK6J1AXUVAV1R4HUOXGVOXNLL7QZRCQOL33ER9IPI6HXG7NVHOBIC55YQW1Y8P8EB2X622DRW95964PMA4O1HRADVT89V1EK7BIJP0BRXHJ53UK61EE8A4DIX1ZBBV8LNVB6V7F00XQ6GG1BMMDKFE1GRUHNH0P0EUIKBSODP3Z4FJJSO2D36HN4CYP8S3JIEOG49VU909DICQEIHWXE2X3ZN7WL6WV7J8CJH7M30V0OKJ0EEVU5W3HWF5WZYM117PEGJLHCBWEUOID15QPNSDXL21EZBGF9ZHR1N1LV72WK0NAQRST70M5GMDZ3X11J2AOKNC70ZXH4E48CU9ODOULUL9B0P55KUG1434 div 36#24BDVSHZ4EJBHFTP7ZWZ7SIVJFGD817YH2HQKDV2R0VDK9RZU2CRYV46EA0YQQWSPO04E5Y59SMDTH3URXXPPEVTGTWM1GX8WSICKGXZ6TMKT0OYQASI9YJYP4P27FMSL9WTT3YWXS96081GTDSKNRSNCQUGGM7ZTEX7MCCPEYLZUXIFDHDB16L8GAU9CZKBRDT2E6HZY534IIOJXQFSPDQGEGWTWWK4C71JNL9PX65DJ8DV9HY07AWTTHC59MZRXK8W0GQG207HPWZAYKIEQ7GFMN8CRG1C1G6TR9SEFSRT9JSHGQFG69ENFXH4Q6MFG9AZL8YYQRANDZ88330SY0FRAUDZXA27O6QYMEEIV3C7LUJGKF4ORW9L80JFR3MZ78PXSOTW204A3XFWEVDDTFZZL9D1VA3WPTORBL8C6LSK69N5PU5SAVC0O57UHL8AXZX4QY55PT2RZHDGZ3XVQ0J34HA61H0HRQT9TV1PRMFWASP0CRUUSMXD85TXWHA4SLEBYH836A6Z80FDY8TB83S99WVOH9R54MJIGUJAYWNH3UB3F5B86RUFW8VAH4D0Q843Z6OPMJR42ZUYSNWKODTUUNKW7RQ4QPBVKYIISON6QGQUHPRJ5G33ZVZ3XMD11U2PKM9ZG327UV204JDJ2BKB4KBW79CHY4YRYWT9WQZZE4ZLMF99779QP2OI6CQYUMF8QIE99GT3L05W4J23M3BG6EIXLVY91OWQJAUIM2XAOI3X4NC79RYPLX1NMCWMQKQMNC7CF9GEQQCRV5FQDCPEQS6HZREJMAIB2HS4W8T54P1A. +-36#29J4H4LUGC1YCDJAB368C36HAATPFX6IH8IIVYYNR5U6WL1GY9H3VCOAKN751LEF6JDKS9K8TQWERTZLJWE2CU0M3PPUHSW7Z60 = -36#2WK3LZD3YFVNN7BBHIPNC68VMPJ7DI013IRF96CDHJFDYY6YWC * 36#S2KUIZ9ETKNKUF63NO5VFEYM481R1DDB1X1UWVML9VELA7TLI. +-36#YVZ60QVXHOGLVXKUBTSFBI5DC7ACQDS43C3TJHIW7SN6GFCBK14IWWVIDLNDHCZYAS71WJVCLD5OKZ5785GAP34BVBRFL0RWK7802LY4C04M24O8JG7PUAOLIDEOZDW6ZV0QKOHXW6UK8PQLE2T3JW3F7QFCJS45DZTLKZMEB4XX2HP40VYBODY52CSY62806GY7QPRE2OF2HM9UYQRO7IB3DSYOQADGXZZY6KW9LNS15U9OQR88GO86M4OXB203QJS3H1YYIB3QUE2KVW2UUR6SG7PMHW5TALIOVZNK5401QVGB9BATRV3NDMCABUMYYTWSCUB99HQO1EJCINN71ZIYJS8LJVBY5J1O2575Q4LHDR1SQBPSHQM3CJUT7CN44XW4MSN757S5QD2OOTQQ4V9JRLN5G5FDAAPICCA1KZHW51U3JZG97ULXN6RBRIOJ6KJDFBLBAUZB91XR35FV54YEXIV1HTR1ERQ8BQMUFS0AYZBQGZG61959M1QFAHF0HASRNSJDYC8FP4GO8S71NSON44MGEWNSMFENYGDNF7O06VCGIVFTBU69FREB3JP4D78HDB7W6VIHPH3E0TBTGLYRDHGIE4E3IM3G5S8SSI0ZD3Z7K899 = 36#24ZFHW6RH9OA2TD6G5IGM5XJRWOE5JT4M8IHKX46V4ORO79HAFBSH5R15SHO37IZGV4J088IM7UQZ7SS47YOQYI5SEOXT3UK0GV6KKRC22KMPLBCYZR63Z0GOI5VKPNHZB60SJPKKT7A53G0T4EUPKHY2UVPMBB4ZRXLY5AVS0IGK6JL3LH5IZ7USZ1701252SS19VMYITFHH9SM1QMLC9AUJV58VOQTTVLB130S1GMLVSOUI6PVXKCDFNTPJZ1CT2Q7CV0ZZ6XPG227JSKHKON4XYEO0CLXVHPWGYPT8JP45ZKJZFHC50Q3GPKYUSKNEZEFLH9UTJ3NIKD48VN1V7ZU4E2R9366S4WQHKLIKJM2ICBDB7S2C8VOA3VWV7DDI66VVWSAGZDU8WEW5HN5HH33SYBLIKQG9W3SAB96Y483GUNMEDDIMXFVUPYWLME58G4AIAFMPSFNA0ERT68BUPO63TSGPMI6I8M2YC9H8OUS5GEF7EAQ7JLEIQ8OQ7B6YSLOLIAO1EO8O68KYQ4WT3UZ3UKB9YVUNC3KT1H6DZG89SABDR1WGRGMCEUNVR5X6MPEQLT3HAKZJYUWW34INTUVVYC7PYVPUUZCLWYCCROF5QH09P62L1727LF440HXRZI03LU96HLQN5MC30MMKDCUMS8FYRN0HMTG9S8L0Z47B7IIZXRVYLSGB3R0LYO8484MAOQF2TA0XUGJRH05IU012NNO8B4RH5B5NOGTO79HR6LJPPFES6LE4BZEKK8PPO2DEB3IGKU7KP6D5OBSV4C0UHR4J3YCFEVW9Q01EFMVEO9OQUOH6F7MKWW2A7YVS8RXUAA3Q2V0F4DVYRSMDR6YD0689UMOA3ZCL08BR565PH1XMWY1H3HE9GC35GZEVL03XXKI5R9F4CFO9BYOME33TKQ67727CRNRJZV0LXVLXCVKKL8Z4X8X3GXJ5TXROT1V60JEQN0MB12VV2EN4HW6DJS6AII1JNEU72T1YORMOVBTRG0QQWVED7G3Z7BMGXCJT9 div -36#27FQTUU1X9KJ6A6U4I7UE30RDSE1JIHH09W31LL2KT4VUM37PH8DZLBIIL6JZRDYTJM0L31HP5I2JCCYB4ODANN7T4TKQ6D8V1UK9OMGKOSAOM7NKOQ837YQRLZMGV7DPRFZF4XWN62VG1G3SRM75MLI6AIWMM2MLT1ZMRJY6O7KFOYPHO4AWI4XK22YHZ6ESXC0TWDHUD6O2XMPFXSSWQIWMDGM1G4CF9EFYR6AK41FJE0QH9P9DOQUO7VEXXLS7RDMVS3DM0P9TPULL6GZX8KPJN3WCQ29EM762509MGA2772X9TLD6ME2GTNNKCSWLPDC8VXNVVUK73B0TWN8EME0KVG5HPSNS835PGKM4MAVZFWUE0VUGGC1U2LC5S4FP8FNJ4WDBPCOE9MZY9. +36#ZZJ6OZXEG3DNY2WOJ61OE4QG67UDN2WMJFB10D63W8LTN2B51 = -36#2SGV9TX2M1H3N1GJ7YDY0A1FWZW98M1GLQ9USDTCXDPNOGMELRY2TXL8POW2MZ0XF0QKVE49OEHW0PXXHBNQICX58SS04HJQL7279KVXKEB48OYP9EGZCLD6M1NZHZJEQBP6QWCUED4NVQ5SRPMBRVDV4D79JX4RJ7Q8BQCZQW1NH5FK9SQR1WSUOAHNABTEHS2FW46V5SHVZABYOLDP5RHJ6U9LAKU7D4P3697UIWG9GE1IRMZFKWAM3ZNDMI2EOZE35XNPXZFWP9Z18SQQA5VFGUD21VRQ1S9VQXRS3BEQBVHJ3ECDVT9C1KDXXVIBVQ7VRJC2VB9SLWQKHUU8RZRF5669G6XR7LGX2L3DKYKHBC2QRZRMML8WR5BDYO4KTENGUSVIJR8FHIUU0QK2V0RYK4TRYX3WF52UPG2L5DNWW29IBECVWPTH68WNLFS2TC5JMJAWSCNUILUCSYLN5ZXJHTL1J0DT1FLBX3EALRS9BNA6B5S0IUE857L1MRVYTNGPEEQUVJ3XZN55C282UGLEQYT1KLF1JZKFBD7J8LBO9RO92L2XFJANSPVIGWURBW1EA2UZEWTJFMSNSGJ5NIFKKIR43X2PKEJYGY9RL6G28UGOA1UN5G94NXKDR2EK9HJ489ZTUGKKHY3LTSWDA6VEV2WKXXWIMRL26WBYHZDSQ1SE7FU84GZLJSN1PX7P7HR5662KF15BCPI9S7H01MHUOGUDJ7PBJ25789AP2RBEGHI9HMII61FZJRIOT0QVSG1G6VGAW3M2MLD3068XJUNAMYL3YEO0MBUISY4OOJOK7EGJQXLF9PWQRNJACVGJ2T6PS6YE3CV7WRNKFU1TA04XSOCVDGS64ZAT1NCRIM51N6GQYR7CGODKWGXK00GMB454SV093ACEZ10I0L3WH661WPIMNPXIPBYIUI1POEQADHLY0CLKX7TRFVIYHTIB59JRRSTI7T85Y7NSN2XAYFMA7L5 div -36#2SI67Q19K47UDONO7F8YZBZSPLG2BBJY48H3UQFDXQJDXQJQ3WNYY7RGI0KRPCRTXUKA131LYMN5H01A9AWM631AIOAC7YVO0UA2LCTJT63E3EELE4GI4146OCB8LHZ7JKRCU3FRIIBIAF57MHG4YX468H5FC57XAQPRL9U74KTLBZ42GUQWUH7GDWZ5FMP0LIHDZNWVRRULS0YA9UA8DALM43EROYDNAHSJ7UY0V8243AFH2OGJWKKPN1KI1U64ZOWTO4SQJ961L9OI4VHT7T46RS66YFVI5OWIZNTUS5PIHJ0GA4MDRL2NZNU6MWT1MC0AM6G4GLP5NYSHLMJJTF4TIS6XGQEP1DUI3D2DE2YU75RWLUEHUVJ8DLTIH5PP12VVMR55QTCGUXMP3SES0SN0IDVALW5MW077LIMPMMFLNIC9CEA94D068QC5XHUSTZJXAYDHFYVYNDH5L53KHRST8PXKEG5GZD7E4K23UCVS7HT5VBIM45KLOILPCKDZ58P2SL38PWUTL6B5Q3JA4Z74NZLNAUWI10M4BRNCUYGHOVS2ODMRKAITIUUNXK7THH94RXKFLRFJ75AWE4RI20YTELCJ7EFZ8AHGVSFFAECECJC9KF890AAZ43L9O3R51UP0TX1OWL9GCTJQ611HBMLFZ8D23E0Y7QBN9JCKREK7O0UV6KBPPR9AH3HQP0Y1DK2744AGFCRENDUXX2S5MFAJ4NDJSQDM4I1DX7SYM4ST09U2A5K5HBUPG3LDF7F7VQCKE1ZUZAO8L1HYVXFGH0IKVM45Q7SZXD3T2LOCGZIN316U7Q24DKQAYV1IPU48J03RSFEC7O8B5VZVRPI07RA3UPOSFBD25A5OAU9HNDR2PAJ5QAG2DLD73I21SRO0C0KJK7XQ4PCGJQOO14FCIRIXQPSPET83ICFLJS37W5. +36#VUSGBNH5P22O3JRGYRHI96DAZ4TWY3LSZWBYAMSG160JQQCMHRONO733RJSWYU2OVXNB424UZQO8D2SWDNOTIB6LMB9RB86SE9JJXB82J0VPZQGWTQ6WF8DP9AT9W98NRT53YQKAV0YGUT5F5ZOMUWOIDG75CVDGSC6P6T53IBFXR1Y1S264LZ9P48SCUVF56G3AX930BYL9VH2L9J4G0OTHFZN693NRHKTIARSA9RFVM864NB0RW6UR851I2O3MWHC4TIPX5II1R4S9I7PJAI2O6FT7JATAKDEGLW1Q7MVSEMJ9WY84R9QRXRNQI7HYT25TCUR5GGJXC7A9LRU4EX4BY82HXUIT66CECKTOUA2X7XX28X76VREH9NZ7U6JC3R32TBFPLRFAYOHVFRGDGDU6KBSP313DSUOGC2WX8Z9U8SRGHMC1RHTDBH49SKC2XP54ZBMTC4T82NRF2UH4D0X3N4JTS5IGHTU3IUUXTFFHAI7DBDW9E1REXDTO9QV3IVTAVAFKCZL550EX5EKMPC08Z8B08PZ9H5QULSRW8Q1DSTAJCTOD35IMXLWCRCPXZ7349IHAE5PM9A83FT8U8K2IF5JZKD560M3PSS5EU = -36#14FFDOVZIT4ES6JGY5KWN01ER32MU2F6YQ62IV7R06PI83UU18QGSTLML8Y8PQGWXWLN0E0RAPXE47JFCNZAAFIU9O9490KR2JLA9JK4FA8JXV03BOFPSYLRO7HYG77TVYKSIRBRERGHH13FVMNFCQWW996CYCXQEY1KSRK1KJIME617KHAT8ADTUD1ROPZR2X7I9DU6CDVKI44NZDN7N7HBGEIB76KYRFSR7B3Q1EXGXY2LHZW2UYV8378J913492DOVTL0ZJKWC7F819366JEV2SAUWUSSRESNU9F31WEEHN8QB2IAPR6XBQLSLF7XD9XI7YXT7LJY5HEV5TSTFS9GXF3WQVFTXLLOF4XF3PG5Z3OHIYBNK1TZ1I9SLDJXOQPEWGBZVZEQ81DT85J6OUIO7SKTJH1J2DMUZ9GI11RHYWH807A9JPEJN2NBRM1QPB1DCME8EFZL6SOTVE11X25F10EWIJ64OR8TVZKS8ARF9GVVJDXBISQONREXD8CBLHSOFPEUOGPCOLUTFY8TCVU61VHPYR2AVFJLRN3CG7PINFC4MW8GUBBU7HFINTBLB2J6NANG2LBG0YHYZ8OU9RY7HWX8X09WCDM7CYKBS08ZMAOHR8UP7PYD8E1TZ95409E27UTMXHTGK2WCIMSXWRHHTZU div -36#19OSKRCQRQVZ0XVVAK4TQWBC5I29XJD1W7AMQA5RJCWRCZOFNJ. +-36#MMEMEB6U4MSBU08VYSJC8B8CT13YR7M171SKM4I9E83IDU1HVBQ6FWC2ICKXSX1NSAHO6E7268XNLCLLQQ8EBSVFB0ZYIAL9YHKPIIB2WNTV645GGFKOWJMHPTBL39A3XIUUQYRD82Q1BKOMZIJP3R4TNO8S0WF97J5Q914MTAA1SEMOJ2Z8J0UQ2LQQY54NDW2P99K3MT93QJH0D0TE851I3SEQ58KQCKZEO7N2LTJ3QTJP2GQT5COMJGKKVNXX3G89U2WDLC3Q31NK8T3RIDOQLIG1S4KBAY8J3D2YSM15B099Z54QW6IGX1H6VNRGBWUL62NXNHYFZWBZ95GIL8XWVVNW36MFUIYJIN8CN8S9KSJ2N63CHL46YKKXJPBX4XH9EABBTXEEK195LUNZM9EAD2TKTHFCKM2227KS1I1RZK7D6P8MVZUPK09YSXLLKWNSF858VEENZXQY4QJK32KMTO5NHZJO92DADIMNQM6YBAN3UYMYEIAXKWYYUJCJ038S6A3J2T12AK58NB2ODVDQNYUYB5TB92FRAP01PRTY2ATEA7B141I4OZ82337V8HAJ9DMOR7L8NISW6H3ABCI0WAZ980LNGY0I98VQNU2VWE8JJK12306CZBIDBV43EQ25IY813SOF2RHN5ON4GIDM2TEMY5OI2 = 36#6NSPYHHDZ8KNSN18GAUEUJIFUUIMY5V4FCGOGO6WBR915V3O6D7627S78RHRQ6TVNVY5RZ0FW0OLQAHEC06XAJNWFO1GZ25LNLEH9V4NYP3N8EDUUUZACX8BF9TO7V07HPJLXESTL372D3YN6SDTH1SHAPR90M4E65IAAB908WKE840H25604BGO9NZSG6VVXEYIRSL44F0KHGIZF2HAQY41TPMRHLCJ57ZV1B9TB4HEZFO95H17FF2NRVGZNIALMEKXUPKXTGGK09ZTCEKA5YRF4J4YBS5XEWGWW328QDTAWH2ZMNI0KAXGBOKUCESPMTJPU62KCUW38ZESDEEINUCQBIKJORPTBXJ95K3DMVWQRSWOWQXTW9EK84CNN5Q1BO0LUE2Q5LDUKKHJZABN33919S01QMGWXUQH8UE0ZG9GDPGTCUEJ1V8KG3Z5GETEUI2YMM21F6UMFGMMHS553M7LUXVVUM6AN6RH8DON2ZHKC73YWAPL6LPW9GLFU142XAMW0X9IAREVYLHQT1ZNV69F6HJ6O52AIDJBBSDA4JAN1CTGGGWRRG7Z1R6SYXGA3S59RRP6YMGMT7SM6I2W753EF4AG6S40V15HG391L84F0GQ2CGY0MQC2Q6LT9YHM9OZGEMZJL12YRUGF7UG77PPS6P0SPGNQWA9RQB3Y1S78B006G1ESLC4BKXX6H4ZJ5Q2WTRM3E3L16P62IG div -36#ALLMHUXZ334JEBN4OZBIAL8W9QFFBQYDB79G6XKUPY3H5W298. +36#1KPIH0SXL2X9H27U6MUZPUW5QG9HHLPET2PVY1Z374Z01YGUMI = -36#14QUJLZFF0MJW6KD9SA35IRXH47AYHTE3KENC18R04VT8O9SQ7L0SQIAU0H6XQYQ8IVE4K70H38IJF4Z1JZVU0FZIZCS45N72N7V4W5QW1DVOYMZWMZYW80S0OQCE95EVYFUB3FJAMHLYNJVPCVAQS0WRKAZYUWGXLP3U68CSZ24CX14T3DE4SBV408AYR20CY6L5XR7Z7WJAP97NJGDE5WSW2NE4R0LSKF8L1BD2JOXINJFKPC38T397RAUURSGJLB3G5NQK1P2RJ4WYF94P8GW9NZWI78Y3OUS7369BDXHQHDO0S6552CS8A7SLNXSOIAD86N9OARZIL6Q3SDIWMNZXK2UUOKUU50QUNGJLYNKH6L8WXR9O02GRSV16JOPN4796L02HBIO59PIX5LAPM1AR0 div -36#PV6TLO5FD12DFJE4XS177N27NMPMTA5016QAJTYZ8JRHCSV1603EPRRMEJLHP7SUX09TI02MRH389E294Z5P4ZEYYIERO9JP5JOA1QN77JV9DBJKP0W13QXP8N4S0IEH4XS61WM60MGTC03SXUETUHWSNQ9Y4SVEKWVUZQPENJKRKYV7FEFMKUBVPGCQWPGV2RFHMI11BL5ULSVN8MSUCFHA9WBO8718MZU5QVBV97ZE8RXYCB8ZHANRKHHCDGFSZKLD2T17581OMRKBQUQ8V8021BA9DITUS34QNG8G5FWFKRQ2KWMU6RZ7LEUJ784CZ4F98VG3K9IEKQI0WVEVWZU12W62F0GTXAC8PYVY. +36#J1MUQNDSJ8DLXC030VMIW23D4RQEA1OEPNDGR9L7B7VYG6OFZPJOWXJN4BLYS8JFKRMBC73GPYKGA538KJRXHM9CBVS7XWBN6MXK1CFBA09RBS7TWDGPD39ISV5JJXMZ2RRNUKRX30580U83HVROVYB6DVP9I1NUG804V6N0OHW72VBF42N4S1J5C6O7IP61F99DZ4IPGGQ6WOZHQ20MAQGJQ2WGGG99H0ESO8WHYS0I0TYOTZ035SC3MBNH3P96ABFLDLHHDZ18S4S5AZGHADTQ00HIDYJHHT30NH1GGL3YQS5DGBTTQBYZMTCRWAWN0VMND09PRUNF3U2JLZMX9LY0E2AGRUWV8K8VPROYBC1SAUBFEWPA4F82R1DJNF0FXRTD7US77BS087AHTM97IXU4PZ5M46O6GW3P2VFLIIONREB3J58T29GAXGO09GI42KES0HRMMDC8WC84OMGWX15JS7J52JWWS2YMP4U = 36#D8NJRRJ1WV0QTSZC53YMT7FIMU7Z1IT82XP1OJYC5V2ZH8INRDZMQYEQG73SQLIOMD07EWY80EQA7UM40X * 36#1FS7IAYPJ3UIR4ZVQ2OH90L76SGCEE69PHOWW8JTXGJH4FASAZFETVYTH4ILMM3VCZ62GQVZ1DZLMY3FAJNP1SMQ6RC93EL7BD0PJ5WEBM8MVNIZB9Y2SO70V0JEN6DOQWH4REF1WUE358KFSCJHYKM1PB09SF6BYF1LZ033Q5PQQSJ75MAED32HNDJYBZTK17A41YLM2X5WPZ1AHAJQS1Y6TO8YSHK3XIODGIS4YDM5VFN9VGGNXE5VERJRZTOYUIA5WED9V63T6KUKZ8CH60GW73JE4SUSCXPJ6W3IIEGNNRG0CQUIN1CBYRJV4OQ3G4XUC0ANHYTY1VG8VJYXEGMK360C87NWDRMLOOOMRRADILBI1Z745XVTPV8WJ4DKTHH376ZJKBO9CFM6O2RTZ2. +36#ADE4O68YTRY4A0LUZWPCN85KOFU3QFCBHSI093C2D704B4IRKFHQQB2V4UTUEC9033X8CZ9XYDFHNV4FEY3QSGBGW8L46J3DOT4XDIYOA5D2V7TXD0G5YAXGW3SCOZOPQX44M = 36#HSHG1Y7SCAJXZHTR06H6P48NC37OA8KNA0BDYGOK4VB1GJEOZTA9YZS8AG5R83W3UZQIXLNTPLVOGX01SL5JMMLLS4A23TMX8B9ISREIL8UX91MAITEVCJX3ERMN3PVYQND6O42SGIU5VNF578CLLEV1Y2AAEBTAZTUSDXTL8MNE75G8EHKRXK82UTLCCWQKGD0MLHZYDHVYGZY51L7TPDOB951F7FXVWYX6UVWKDIF2YR5RE59JRHRLFWFXMDIJZBFSY1RBL9VCS73IQBLFK7P1ZKDGZRPE7J86N1OVFNTBI8ZDEANCHC24CUIUTUJZ0FIGAC6CI5C5PT3KNY28LIBHVRZ6X12K1JAEN88BTWWIZL9MTVID7HC6F8V7B14N5Q33SSCPUDMWHNLE6VZV1K1DYA7KG3KUVODY4EA3RB2Y04JDM821ICZTS8L15BZAZI7B06GMZKASK2O69JC02NOKIFU808I9OFLKENYP0DF3BALL9N6V3I9JL8AWG3CB9A3SHIXPNFZFIHN3GV10ZIQZ8AWJLEV2FP633HH9K9DRBCE0UVZE3HJEIAZE2854BRMA30OIR7PJT0Y67WIFWH38RQ0UB1CZWTCK5EYWL9QTK77IJKA9LA4KOQIWV03JK6DUY6KJ9Q1FENZ24SNRL7HF3XN8O0LLDIFH5WKJA5ND8M2DZZP008OIR31FTUZ2SONJ3Y4T5OPE8ZZNGE3QJFDTWMKG2HZZAGO9XLLQ3ANOQFH5TAKH48T9W87SFXSRPAOZQC3S6E6UK10IRXJO9EI5V8O7OQPI8M1AE2000U2FBHLW5J5XT5ELJMTHFZMU9N8AD29HBYRDM0RNATBRYMRJB1Y489VZMAO9LW2FQKDNCCX20F7M8JGIMHZ6UFB7IGQP8XW2BDHMPYHZEXUVNJD2GYCTNHB626U9V5YZM9F881EE7GEAL4HHG72RKBQH4PE3N9RXDFETZZGVFHE div 36#1PR1LEUY78YK5EV3K5KS286L70IFVYLZXHH5E3T3UIGA8E9QAC2MKN0W9BX2IAOJLC8FDG8LHSA5YXG5CXBL5RF03VG2CZTH8ILBICU38UPDRPROI3MK1GMNP4RXQ093OD0KRHDAY4GWBQ8P6QZ16YWN4EUGM3YO874R9G00FLB10H43MXSJSHY5ILWXNL7DIQUPQMYDPDS0VLBL30G11QOSMSUXFR9EFBZFNHNMOTXNSNU8OX5P97GPQZ39NQWUB1Y8F8WSZPJBCTP2SGG2J05R3V2Y30GINZKDXRFETE9VBXAT8VY1W0S7WPXXFS6YGXVA0BJOWUXV9OR1ZKPPMO4KAFS1G5LQBOHJ24E21FID27FCGVJZV5K7H7ST8UJ5K623K8PPJGZUTHTQXCJG96JJIXDAG2OTY0122I76BW8OKD1CIM2ZT4Y7LVW6ZSL27WWS1J3HEEDQYGU9AMV7QJEN2ACBR0OKVDA42UUCQ858P1G6L263C23MSY7SO54D35QYJJZ1DDELP49KMU3CDMIKOQF2RXVM0H2EX0FK1SJ17C02ZWVFVIXB6D2LQA1N5D7LJFVUVV8MMQ21INB9R997CF36D8AUIALNDZSVVGCT5LHWCD2Q37P7Z5D0YV9Y8WSULJ0J62C0JHAZNL243S1X4AJYMJYVQRF4EPAOJBUKOKHMAHD90GWRPZ8BGUH0E28HFT2OYFKQLTHG7MRUED138TVSUUMJPPWTUKU0OP7K909JYI2HB81B16A6QSI3I26XF844JWP8JEWKRF9WNWPFH3BB5FRGOZD3R3BILDS58L1P9R2CCO5VHV5XWDDDXG0FZSO6S75CAIZ. +-36#2JEDMY6DR490R0BDI144E99UPPXFWKWAXCQZ5KOFRZQ1S96TSEQK5CF0CZ32BZV27GN2UM9XU7BTH4U324VB3839349ZYCQM2U02Q = -36#FG9VUJIVGG73S9S7KIJJLR5F69KN0LUE9V7H4U09AYRWW5HUTC8WHSBNEFRTTDD5YGEGKR6MA4F4L9RWUOWMTDOHBT8C4K0N2U9GOXBGOLJ8CWHCNC5FQ9SOTWO54JT8G40K4ER6A0QXKQ4NP7P60TNRBZT3BX3YVNBBRNFLFNAFZPLAMJFCBTMKKOYU4EUR1961AOZFTD66ADUZCT715UYLUKL2G4 div 36#633PH98D13RDDH3OCTXSMJZDV44MZNE9Y85YFK4HYCHR0LFI0198GRXGE450AS3X4DVJKUS6F42CALXCIKY7RQXVWZ9HOITGGT3BSTDPYXA41OEB59PGNAIPDE. +-36#F06INHAQRJVEMY9INZPNSQ8KQWBXLQ6A38AG1BVGSJXUJWJVGSGG7BW1WR5WXV64GL1II5S81ATWSANW9THV8SFRZCVWD85Y0YC1C6CTWMBHBQXU45M9LT8HQZ4JW5D1VLF6SHEN6LSCBLYDCMTMLL02UYEJNYCW5GW1Z22PIRTO2ZP5LOIR8K6SX7EZIBKU5EAEGHSIYE3CI55HNTPEMAL6OB9G8YHTD5IM0 = 36#8QCC08W1AA1M09IS849ROTUWNEMUMSEBIXRBLVDGSHJSUSRPTX2VMVGT66N5UKQG6OWA77JLVDOHCQBRFIMTBBT6KGCPM56787RWWZ5ADNUGUCG2FPLYPHKP6EVBLFAMLM4LU4DG1M9KG722JAALW7DNWYF2RWGW82USZ98CLANPKONUSMACGGJ04AOUQPR9JLMZ2PA7GNG6ANJ35TT79FV81V11JAU2VCK01C2D16OW39IN0041ADMXP8113L5PRC8C6YSS4HMIPQ1V1H0KG0 div -36#KY63HYGTPPGWRJTAP3LDKQN70W8MKYN2CC28HZ4U7FCIQ9MR4. +-36#1JUZPM823MH1UWIC2X7X88QWHKDS83L22XPMEI7AEZAJ24CMUB = -36#3102ZPKI2O4P3CUM9DOKAZPWSQ9ZMHS2TZR6CD6INRBPM68OW0MFC9RHYVZYKV3WZVBFHPD92KI4VLIAUNS2YF98M4220L9Q8HIMUX257P3U32UMTAWU4EIKIB9CHKCZS8VE84DA26GFPPHDA24G4VXMSTFRFN0XPETBPMZRMBF17XD6B0PUQIYLRZ429RMPXXFC4V5R6W9AI0KTZ28PSIR34Q7OU4KY1NE7CE97I00I0YH42Y74MKNUSVYCWV08W05Y63Y4EYC9H1NZZXZLX3GGSNW8I90MEDCFSHP3VXE908OFVWBAJI474YPV14YE6872J9UV5X7C25EWHN3FJ8O4C050FPPJPGZ9YIE083JBFX4MDTRZBBX7KHHBBM0N76G29IHR4X4K8HK8BQ2IW80ZQC6FPNXLNPX1Q02F0R3SQ88NJDE1I6DHC9YJLHQWDZZNH1TTMD5EI2I6BZG5GRLHJP3VEWXH47KJUGQ7OSWB57Z4RHCSJERZNPB6RZKP9RPAQGJUQOC4MAMGARS7D9HGATKL5BB4Z3DAJ9MGUGG02Z4JZEU34ZYKRFJRAT5CN5BQZHUNFXFHN4YKIOR5P2IWQKNWCTWWD19NQG7OY0KY1IHBMB33FH5N97VNA072AO26NQR98NVSLTRJA0NQF91UPRGRTBCCFNVWXX4SWNCZHHSID1WJTWLWPNMB55Z18X8GE5PK65AGBTXZYEK9XMWBSSBF div 36#1Y8WNGTZLLGJUZ5L0T83I77INMG3PPGAOLBX3RR8XMP91HWKMTP7FK3TR1EIIIECT8P72NAHSCGXJ61MYW0TK7NWJ6ZDZYFROWNHC6DGWN1XKP9GP9L0G1906YDH1ZZW4F9B7L8RETA1DR3JDSBFE0B97KE4OV72UVIIYKKW201YE0K75YKS22SPFZJF3UHLEUEE4DXYXPF58C423YFQZQQKGT8TCBAYAXMT37UBB1WIP78KS89I0GRYN50NU7MGM0L55M35G4XKVCJ9612OJMBD6SBSJI9R1BV7SM762CVM6XEZ1QUATF5GBRTUCER6VI5AQW4V0QSQ14TW85BSRJKN9L5VD6JR5BMIJHNCUWVIW0PZBD3G6AIOH3FJW2UZDAJLE5PLVR6GODG5C6ELK0ODCFG4HO9CR232QGM74KI6TPFD2A88AEP7373F6UWN7B0TF3KRLCZGAT629060CAU3X7G392LWSAHFA41OMR05K4HRQHDWMP9W96U9P0HTVLRI68NKBU85C6Z0884G2KS2WAVUW4P7B4DUP4HA4X9J5KO57SXRH1FOP9FD7QIVV4HCVKSA3YOP0EKWJ6YZHDQVSGC6LNI85YYAWN22YLVAQ1XXDYO9UD9JDTMPBYTSO9UNWY7CEXHAD4C2MTXSDYM2J5E0DF9SFCUOW94GLPL. +-36#6P0OKHP9HMJ5RBX1KYWDBKQZHG6GYMYG0CIS72WB5X15WP5S1XT73F36KQOIB51J357N5KNSR0Z420I3PDY6P9FNMFROS362LOK6R3HVS6Y51FSPQ61MYNR8UE4ADYDKV2IGN3PFX06906UTBWPOZ47234590GHZXZ06VD7ABAA6712CVR65N8ZNS9824YZQ2WJ0F8X4LMNO76PTJLDQG2UZS990O5826S4WPBCEZSPK0N04ZB871MEMPKEM277SAHBYHDBW4MVZH29MN4IGN0E4MVY52MU39OR53FBJWREURXWMCNZL9443TCVP7K267CF87XUK11L5IXHPP8J6Y02GTREKFBPE8YLQR29DVITRWGLEALIW2GM6QS1CWJ6NMM2BT5CJ1GSPYIPH95O6FJ0TW52WHPO559IJXEV3HS8YHNY9AC66KQQFSQ78WPZ5EE2JD91YUW6AMJJIQR0BQKOZTONFBSZOM1W7I1H348EZL2UESJCBLJTI5CLA83E5QF9SHWS4AJY244GNRVYJ9KMLBHQ45A13FEIYLMWVI5ATI1DIUBNEFTRHNOWXQVGRSBHAN0URORQ724MOESH851DA29J3PWXODY4QG5KBJTWVLMKX2HVKM3VA673K3UNEWO5U2JWAJGRFXD92NZC43C1COZ04YR7VI8W8VD9EE3I6638HJJIER0KMBO8JUT8IX2NM9GR9HGANRNS7UJXJXZDJFEFP681E8CUJ93C4EK7J3A88E4E1PSYYXY5IZ0MD8ZB3HCRXY528LGTMRTQCXJSV678AQZ6WKU30RB898KV8MWI3ZCXDFG52CU3ZLTJ5BANH0A96K3ZRH8EZUNY8UL1ARJPBN4ZQBWRF8PPQ4FD0Y68GK92I86C3NORM9LUQJ0XZ7VS4D6ISC8LAPG84K07B4ABWIJA0J10V3V1J5DEX9Q0YA45ZVG4P22NMINZDUJ98XTTGYBHAFELONDPAQYKX7G8LT6XZDLWRZ338EI2FLF1IZIFN563JGF9C0WLH3447GN3MKGKP8EZ17M3DI6FHDLUBT9BPBWH7Q5GJTSRSYSERY0UZE0MAP5M8CVCTLIG0BWXH6YMLEDWUZYJSRQUQ68IEMPTSY9U7XZCUBKKSS00A9M7NT0 = -36#16NI3ZT5LWQ3TLJR87SU7K0CV1KM6AVKVGKND2KGI4ZOFIU39E3RWX6WFEDBDQ9LSJB4NA9WZMR66MH08M60D8NFKM7WIAMHEGKTDYJLXF5LDOKKQQEVY8SLF7Q95AWEHWXKWOVHBUR9H5D6SREHKNWJ4FT9WEBKN3T7A8LUT99WNVYZIDGZP0DZ42X1OZ5Q4V8KOMW9PWUYAVF6DT20196W55TIDC8XIL8I9M2ISRNX4MUO50TJPWCJ326Q424PD31EK4C8EXT25A2YLCBPVXFP8KPS0MP68HKLXGLIKO9NZXRY8DA8QU4OUJFDB0NVCZMZPDFZEZD5Z74YTDBBP4HQF7GD9TGP8EO6LHXZGDP95CSRGBH7LE1S37JJHCCZOJQ4YRD1EN3WOA99ZUO3UWYJTQL4Y34YX6Y2TKI8FW6C63BKPX53EV0MXJ6EKQPVD5HEC529VMYHJNOXXJHSGSYVVHT29F25P3CUEKFY451V0T51I83VFQEN6GP69ZXBHGL0J8TSCN3KYTDROPPTRBDOYC1SKJEUSNBU7267OHIKX55FY0MROI2CD3GGOLEIUVFPYDSKPFZ7V8J5DHUJHK93QLFCSC2XJB92QKVSIF7FVDVB2SGO8SNFTWEW92KP50O94SPWR38BY02DDF162JPPCB3G3D3EP6NAPORALSE2XGWOUT5R33D2M8C9UDS7SCW6Q1AXOF6D1S2VEPQ7XKFHTYBVWL4TL2U2XM9WJT1QJUEIYNA4LF32VBFT6XFO61SOAD8Q49F1OQ8KX8RP8P1B61CYW746DFTK4HCAKC9ZP91THF40KHUO9U1TP4GF5RTKNKKWHL5I9W2CFRY0E7E5XQLHH9JD65PLAPTVF3O5G09WXWGPCMKCYBKIXOE5ISSO5VQC378WRHEWW73O06JVKET6RHT4DQXSO4LG47GB296JU1VZN5JXXUDA997VKESGD4BOQ91A5DOO0JRFYGEV3BMWNH6PXA8QG8DM0DKEIK551BP57AM9XW7BJPCX766MSRMXCJL3X5J77ADFHH7YF512K5NL40PE9YUUGRVNZITKOU70M72MD0SFM0DV28BXPT0HJ8TTDLJ3632W27HTUEI455S3FXPC8RKBT6KKHVV7XDUKP2II1NHVV5AHD9JLGJDK3XRD4SCFFRMY2PC9U097J5MFOHES2E7UXHXDZKTAX5UX8YNHB2RN29XYZ9D90V9DBBVZBD0GZLEUSNFX69LBPKKKBWQDMVMWHYPRPQAQDWEQ4EQHHCD61M5BHS6UMLOTJ6PN60BTTWJURA73MWZ9UWJH5GOBSV1L2G1KX03XAHM4CQH2DCRSHIRW1VTWV0427F19XMLZ7ICSSQT1JTZ8Q3WATRUN9ROV1DJ2KEUC9J8KNVBSMHTF6YDY2I1G1JRV2NYNABGAHET1KK1JTNLOZ2Y85QVLQRNB6XDFRN7DADWHWROOOV0BKH3E24DCRT7ZDUGCRWARRZZ1WFRNRTJFZGI73FRQP8WQDMLJB7YXR0MGX10PUZG1MF52IPOWA3733NYCXY7HIOUVZQUB4CRZDFJ17V49PA0I51D6I6X6LY5BC1ZTPKZJ6WO0 div 36#6DCNTJSCD9Z186YURIYCWCX5HZ3G5K5RC8R9Q86TNCXD8DMRZXUG71XT4EELB1HA37DSLIA4DDOOSD3G5Y4PVZAY4U1M9IH12HWA2INURTXZOOYB0APRB4TUQWXJP04X56YH15VBBWJ5YZLLVVLGJ2U0GA1NB0KSG1Y6XPOMI9IWSBFCIK5ILW97FUJBXNK8X6GLUIMQH3PSCTIHMNFMSEZ9FHO0Q9YBRN1MR58LAZAOCN6JY9W2TT0JGTGX7BJUAXFK5W12RQPLX9YLSLAK2PQDMNXQVDHYUIH0EOI1CBIM32XMFQ22QSQQOSQNQ5IQO8EAMAWJPI0IQ6JEPF8DIUL6OQ5QQWMBJ3GJEIIVDHWP8PWPQAX5DHLX2TCMBPMUGTN92K76QM7TZSWJ0XC8JY9EE6H8D21ROIVG9FKJ63E9WDX6R229UZ77BT0OASEN6PWUXO0PVC. +36#IXFK1ISULWAUP798NKE3JRZFSZ7RB324YFK0PV9OWVRTD91UPX3RUFAFNI37G3I8FMIYI4N2TCYMXH04U37YQPAUPQA5RSF1OZAJMVGKSF69M0QK8CQKLTZORS1YAXEL9HUAHTLIOGPELCNAQMQNDEMVTTM1VAEF18SDJOHX8SSCAX9DAJL5M1829I35I0LOF6Y4KKWVYDSN57CGI9O7D8NK8E1XG4M3884LDSDHH4FJ2PC3XMXDIUSYC00SUWM = 36#2V73H45MJT8VY8KRQITY2QHHH69KPGJWB62G1HN28VPXFXIXKJ * 36#6LPRAI4QGISO29Q05DSKKYOJ7NLECUXQQD0VYZUZJTCW21INLAARB1BLC8WLP8SPI3RHPKLORMU306GHUL6SW1MUGDCH8BKMG24WGPB1QMMREQID9YJHIDXP3RIYGI7XZ0U1VJBW10GMSKTY5G4US3PIPF1TZTZRYDBTWHY8N87QPCFVLDYJ1J9RFXWCVKNXZNF4IV9F405OVM. +36#2QS5RXK7XI7FTZY0IJQKA0WIGLWUVH9LZU1P5XEA3R8BVUNB2U = 36#UVGEQA7AMYQPHWQJTCXDFRPYNTNX118L9G0C9GLYLBFGE466ZME18PO9TQEFASNM1VRMNMJWR21VFOEP4OCE1TB283VFU7U0TCY9LMKUOOLB15V16N14H5DKVCL60P9ZCLO862M8WG9RN80YG6HQZHMWPHMRIV1RVDOFI2U2YIFXMS3XTI4Z0AW27L26DLU4FW9Y415RA3IYRQP440B7F40RA6JF8F1P0VG74LSRB55CPXQACRV3L2DJEID2QHJBBYV5LHOAVTO61CJF2YBF8N91DIKMXYU1I4VEXKCSK94E2EUZMV5PTAINK6HVN6V4YSTMQZ07B2TTDO7NLH6W1W7GJWSBIS1LHH0JM6KSX0D88OHV2OAQ1C5OO0GPJOGLGGTBWM3F47KFUSNZ049G7J8LKW17U0CGVAZD1V4GP5VM3BJVSYD25NDXMKSFRE6LPVLENK7GN8EFP5NADAKY9A8RX4L7L46P8979KPM6TTT6G1IRZTCV3C div 36#B921IXGXQP44I8Q5LF3N09290611021B33MJBNWRLRQPZNE8BDMY9VIY6U6R2531XFQ1HJGAMAH8PYLYNSDZQSG6PSIELLHCRC7UMGRSQIOFCM4HNEB22OX8XSW55FG14LWJM853NRVNBIG38BW1A3PZ82Q0ADA9UH3H4ZMK9ONFITAGPJOICXU7LXF82H8N4MIW2MW8OCGV24DNBAVLF7PHDYTSSHV64PGIVV1SMZ5LN547UTTMNQI5L4WCIVGDPGE2KEFGACZIA8XRLEJNULC6ORD7J29N0OTK07WNSDS15EOTP7359P64GMMUU7S1TYKR7729F26VZEBUQTVWV9ICH8MNUFOW00AJLYT88BL5VQG3PW363Z4PT1K2OBJAOG130X99C1PZSV84304TGZCLEWOQFR7LGRGXYLZMZDEKGUOHKKYV3JCMOGQ6L5G334RVG. +-36#1P75EXV6968EY26HBH17RCW9D1DZT3D11ZE5LXRONIX7GAX54EOP06ETA6WDKLA9IJ0M0AU25H3EWHNB5J8F2WB0R66693ZNK0 = 36#1BD4SB0EMKNXQPCQ6F2XFM7BGUMSP9NIJ0RWSUGZJQG28HS0VC * (-36#1AIISQMN2NGRV1S2CRRGZ326ETRKFOHBCX7443HFNH0JRDG2O). +-36#ULV4R16CSLU87WH5MQF7Y5HVP34R34X9RCB22IA4Q04J36JAJBX5IWOSSPDY2H6BC61G7FS0Q09ZYG6O523SAMSHXAWPGN8972NNVC9P1UXYXNKPWGLN3W0JKZHEXL5GMXGKVMO8I53QTD2DNVI7KV2Y1NVY32WJQWBHWRQCSAUMYSB81K2EMC692S14S2QJTLSXWWP9O6QTDFZIL628YL6B09XGASNRN844NBNMQI3GM6DK1TM5JP306V3TIZD9EBM6XHN8SR6TXTUKBA3NHVBPQ0M17X09DEICI2RAR0VZ = 36#1AN3FM1Y737QP1MLV6CS8YAJOU2IBVK4UU07NC769JL51YV5HGUB0IZF69Y02HF1COI033XBXJCUBHQI1RCTFDG13M60GSODUQ49RS3MH5SFO5LXJ1D4J7F2T8QP64OC5HQUN9QTJBXVX0D1O1AJ7SNZ00OYAR3RRZCVYRCFHVQAP0OG9BEX7LHS3YDFNP87BOUKP715OPBCUU8X5CAQZ22VNCLEJJ0FPRURGPJ9FMQ5CIX8PG9CJ9T29N82XINQ6ALAAHC58VLBTDTR2X0SHWYD8XZRKU9ILK5FCP0GKUR45OGBSM38KLOA1YXZJGCPZ421ON6CKEUMP9BY5VMRR52OIA8F4L div -36#1IUXJENYHHJS5NVXQXGLPDTB523AKGRZSG68IH5WOMG51HJ67F. +36#UO9WSPYE18DL2KN0G5IGMYHPQEGS9JPVWAZIE08J6HWLW6SO50V4GFQ1IQVJZR5E6ZXC7QRXDVSFQ50GVZN5PANUJHB8XIOKDUYJ2QDSBSQMTK7JN66H0FGKR1645I0D53JX6LX0DML7C7ETUVAVXK0EGIMHB6P5PNHPPH1Y8HS2BVD9S12FJO43BJ6IM31DC6HK9PG1TI8L6F8ZVWDGVF03XBW19Z2P8E2SLSN1QXVN55VL4C2SRFA07BNOUJM2HDA0DAU3X6WGHCLC32JQFKOTHROQ647P5R7RZEAP8HCBJCLXQFZ3F7MW6U3MM7J20G667YB79QAKZVPXDX3G7MHZH1PULC00YX9RYURUJEEM1R7MCOCSKDQSJR6WOJHBVVH5SMOGCMJ03CRSVAENBJI0YF8D28VBMN7B98K7I6MUVLX7KQNJV2194XGEWC8X341IQPDTWDTJC3OD37E056GJ5H0J8IX2PSIQ5LQPD5GSF7Q2OWZVUJ9AA2OZC8XMNM0QKKNIPT10EQY9JZDL3124UNRM077QL58NWH38O = -36#MWINFNJ8F7VPISVP0HW2LVIBWY142V7X3WP4PO35YSZW0LET7 * (-36#1C7QA4DUPLAMWSXCQ9UAGU1I05EFILJ0G9QHF4809WW4O1KOJ1FCQIIW3XMMFYCQKWF4AHLYHWSN41RSWZQ9YSTM9LWXHP2CLCXCRMV5NWOK5KJ9B5SHE1R5PG0RORRQDTZUKHKSL9CBZE899V7N9ORKFKESF3V6LIKWAQ9H1HTKMX1S3YI2TGX4SPFBINA4CG626OH7723H159VS6ZAJWG6SCR56TZDLV1284MMNESIYBXHACUYY3W9PE31HXHMSAQOV3ZV4I7BOVV6FJIMP79BJLFMQ357K6VD2XXLXHHG1E77IY9EJPU20ERRQXD06PJ38BWIHYJZGBA9GQPNB93WKYUTQT1O0QW1T51RL08FD1OGNESFOXAB42A5WDRD9QOMSOY98LH9P16J5FEH7RHCAUZI366SRCJ5O89SX7DIZB40XNDK5XZXCZ4E7NTGO9BVKJX26XR9FOLLDU1I43K57255POESYN6GUG9MMEG5NI1Y698WNI54O). +36#9GWM0GN23XJ6X55XLWHE6ILU2F1E6M21JCA9RV3SJCWZD05LNPNSRRO8MU86YCBNPAN1SBFXV54GP3XLGL0LS36J03O52 = 36#5B079DUBDYG0DO8EV3X576V57HXKG5VLJZOIZO3U64ITGJKU8O9HO61KVHNMUJPHUHFA6YOIAOP5KD1RCM09UE7JDVZIIMDFJH0BB7S8AADF57U0MH8OK6WQCYDU4TWCV65NFDLQHYS4YDRDMWBPB12HNBS7MKN7GZKJ1LFASSAERJECYU8LQPJN8T6YAQ6K3MH5Z5ADIEJ3HTXN18AZTC1J6XFLQT2Q4W174XQLF0W91WJYGY3B937OZFPERFKYW079GDVN8SE971OSU30L149N6BDEDPMFFJLYKY22Q1GQTTLQU98V0N7GWURFW9JTEF0OQWULFC6WNJVFYKD1N4233VH86V470ZFAZZJNPOBHDNYQXHZFIQ4UCNCOMEYSFUZJ9L4CAMBHLFJLPQT176OH7P5SBEQGJIVNDMGD1UIRK7MF6Q532JXFKN5250DK6MO6CI6V5GCLT9LL5DOLIT0EV9XAJBNID7GZC9ZEELEIU5AVSB5X2YWQUGTYZAHSVFTO0VC9Z880Z9IUPSP5N6TEJ6OQMG8W9G7FSQ2FU1MD32KAL2SZI6OTBPRGOTXHK63ESPQ4977DHWNZMX7MDMAO3F0B825L32XSIVB1Z3YVPPHWUXDY2DEMREPWE83033ATXMPG1HS6MYQ78QCFNRVOW9I79ZBX2MI23P7FZ354UUNKT4NU2ACV63LZP8WP7U9JMYAW5V3HG4LQHZIH8FDW0729843OZY9OQU8J0I8CI9KBH2FCCUHW6QSBQNM7UX8YTEKKIBLA2KPLPFT5YLI367D062NNHLIYEHIYIMLCF700TFVP7B3524998URWMIHX7WHISBKU2QOGN8Y59EZP7TEI2Q3VMQU9Z8KY04FH8LYWGAVJI2I2M9ZL9BRPL5UAZML32QLBPDQBT0K3VJT5J4FEW7WL8ET9UV0DQXFBEH35LG40V4HBX1BR76TQIP2IVWJO div 36#K64TC88TOVFLU6M8886SRK8HOJU1RPUUWXO2QIJY7ATKHND33I7D642E7DHE5JG4TB8688SCHFNGX1TMV0ON1EG0Z68O1W1LG30NSI83VJTEZCE29W05WAGPEC857Z6YWAVHQY6VIJNC0ZO9PXB972JVYS8ED5Z4EOAM6MB5JPSOUZZK4XET2PK6S36Z8BTC8IX231A666IP7KX04LO51FAPH5LN7CBBB0YN928SCUELUJZRMTNWQTQH0QX862OA9ZIZVRH8XYLGUXFQR1I81ZHAF8DUPSQZU8A6NC9XLZYVRVITOX6CWVTRQLPK4I6KMLYHVTOTKAZ5EHJ0125ELKNRDJHWHDX7GGT0L1D1ZRKHISL80O0WEGAJ7L1G4HCJLQ0H24ATEWBQOZ85SCVOCPFW5QM9EO40C5D6BXUQX6OILWRP7JSCHJC62K42SYW4XM4VCRG04DXZQQSMR92LHPSETFVC0RS4T2A2L0GLQVDRRO2737QNS9BLO75ENIPHVJBJA6S5MKMV0OC0JZ1HB7D5O4Y829T38P144TOQ80HWQ4JER85LHTQ7R9JXZKEH9TU755XC3EMWPF9CLURCC0QCSTP97F6DKEQSFOWGCVZ0QNF2BGFOK5FE2TBPLEVEYWWAJ98MNGDGFE00L91UTOELSP8IQ1WZIDN1SRCXBAPX7MSRTJP39WAL3GDDPQ8YCU5MSA4JJADN0BJZFIPJTIYOMZXOKSE9DX4ARTFBSP7N4K38SWHRKZUFVCM2PX79FROMN8TBKL84PDOEO18UKGF21HBNP5BAWCDMSEPG54IVLLWCDI0N5D6JNXRUP01JKERRXE3YIJTBDDQ3J7FNT7FSF7PTXTTPAHHCU2KGZ6U. +36#1HFV08VIM87BZ52JZ5C4TV83520PEDNY6OJ94THYIAKKAF72G0L768SOQEMSAG445BID8LXNLLEES6KE6HKENKK1LNGINU6EAT6C6BHEN8SX6IORRO3CJE4BPY0G7GA2Q1O85G37ZA4OXLVJFNHU33YD8K2I4SG24J0LKKX4TX11BQR6LFWKP00HQ79NWMZSRM8VQLE3V4OLPP5JYWDRREIGEF5RWTFZMGFQD4NOXZN9M2CF4IMQ6KXD3R4STUL7BJ9BOYOTFA2HYG7YKK4JW3TTU9DUJ2KV15X8N2GH1OVRZYX07NS1TPTIZ2P0SOBTNKCL3JZ0KMQVDLEE0KKBKTWMUPGMKEAUR763A2C88WKOOBLYLAEUXPO8MJ9TD986D7XJXO47U9TDBI82CV62JPO7QAKD8O3SQCELRCULFQPJRJV9H4Q8YQQWSM5A7S03P85Q6I68SUROJ4Q9JLLY40H8JNRKW2CH3PMDY8W1I = 36#4P75HTC9W4O0JCV74PF2ZAG1M1LU9Z78OC5DGJRTYV62TVPDE8GLTVTTIRU6WT4RT2PK99XZBM2CDYWLKAY8QDPBXAZOB48TCFVGY97K2ZMBJL8VF1PIAHI2TSJNFP8K25ULALBOMGQBZLI2U6ZM19L16BRPWBJES76YTZ6C6X0C61FPD4PMNF1QG4TXVLFZDBMS6OW84I81LG1E1WC642EFPHJR64QI2HQ7JG4H3WPLGH016XHP1L1EA2E9K47DN6UNE7ALD4VFQ2P79DC4A6QM5LXBFKWI * 36#BDC2N8SSACOAGA83R39GLPLOI135LX7O56TOVASD6GQXPN7CLQWLMEL7RUJXLM06LG8DW1WABTOQ5TSFEQJ72290ER4CV3MWE580EIJT4IB2DC65P5SXVEQ1U3DJ8KI1USZW55TU2JICG2SJRF8V3VIWHUSZ68VLMU8V6UXLZFL698OT85YEEP7FQIRBMIR7QG7UOJ6TF. +-36#8XIL6BZS7KLKFQJR1W8NQQ9P9UIT91GQWG8GAMYDDO4N2CX3YSBSYAHX2A7MV2BPVC5WM3SZ1RSGOCG9IYJ2B4GH86HGAI9J1D3991HMVH2HZU73EGR8GCDPZWN5AAW0J7VYWBWKUY2TMI1VXYNGNJS0NJVEV3RBPYW7TLZL500X39SGSMYOONGC4IW3XN26609V5T5GWA7Z2R6DIOWBALVGZAIGA1J8TZE9FQYNDX4W4Y74TVKF39FONKPU21JOSGJ6AOACPI2AUF8N8SXO0FEK0MC3XA4DZF4 = -36#2IVNFJ52GER6SPFNY13LJBWLEJWTSNXL0M7BTX8ZE5GR7W1V5GSTAB7F7V2Y6UP1IPKJ9HK9MWN34UTD5T7LNP4DANR9X075DZHDCEOWP1NL6SUTCCMQHDZYCT3VSPSE7L562CGGG0CE9ERA8ZF85PM9J8GBR3GJ8HVESXPDYI2DPWNLN1EM9SP41M4U2RHA0W33YPS4F4OL76FCIKB7IS6YQSY3L7CYURKSQGDNT2W79DINM7F9TFKZVS8U8UJX2OYZWK3V31VX7HZKMF44AEIJV9PTWQCUE9Z9SJFJWN6IO3ZQOFO0I47RTXKLQ0SKH43O4S1NKZ2OCZS7P3R34YUIC8T7MYMCL2FHY2B3P6FKE9K1ISKU0B77O8ITU69M3T575KSU7BYFKPE5PPUQKRJKU78YM5P8V9CMSE9FF52S1M7RHU3O7Q9R1KEDMK81LGYTERB3TS4NE4HYQ9CKEGOPH6B8K7UFF1S2SD1RAZTK8QWL14SC3IXZTAWNHTBA4K7ZL6UB9DT1EY8DILKSU8AV9XG9OC024ZQJ5PF1CYZ3TIDP08P3SLGSCBNMXMQ0475KPS div 36#A6BP15THTX9OJSQ34WA609222N6K4VOZNY5M5VMRUP0NOGIYMBRWFHQSEB8KTUBLSSEEMYHDOUH9IR1EVA3544N55UXJ51IGGI8EL96J3XBK65X95AHT7RLWDY20OTM9S9KV3JZK4GDLI0H8VTDV69IQY9QUS43RQCVUQ7REUF3NAZL68XCFAWDWUW80UP9MZ7NC0YAL9CCY8JCJBOLLXBBM99TE9JWHMOH8C105OSYSEUQ5ZX2CMLX904R6I6AGQMDN8FVE8R9FN9DW4VQ2NFCOO11HKYK9V4Y. +36#N5QHZD8YYV2S7Y3UXBSLI3KJHAL9AR7IQ4NCWCAFGIBWW0RXR32X44LE2SL1O21QJ9ZBFFZEIK7KB1Y1P5GVR2HD7HSU7REG4EQ92ETQWRAKA6B8ULCGJYATY5P87RB1A7AI31P0NUYXGB2SKUOIHD0JLT8UKENFJZQSGBGRKNN414SPY4XE9J334ZO8EVGUGBBVXX9X0WC3H1UJFFW1W7H9P22AO8DKMNX6ST0YCVZNZNSKI5X7QF4GS10BKNP1KT26QKHKHCDRHVFKRM6CYABJOXWODY10LE2YP2OFKSDIJ78YSK82P6ZQR8ZOWK0XLTXYNRI7CTWLXAW9DBBEFWUEVC5HDX7N2DUKSTKPFI2P91FAG13H1ZBNYKX0XLA2WD4E5TSWFTW4AZD9OO8XTP32TYYUBF77VJRX3JXXLDMBC8I3WLYC8Q1HARLW5N27975R3C1CFYGLO1W88RIFEVRHMXP6NI32QCT3UEBOYZ1MDN0SF8JDMANETCZI0ITZ0BWBI9OGZKNGC0YS47WNPUA0CXKC5DLIYQ0PNXYIEFNFIJ91ALEWJE3OIPXS663RH4M09ERZYKKOB0HBRSWU4W3S44JR12Q0CD6E896VMRMDTU7GKN5ZYPOG1VOS3AQFWJGUYRV8DIGNTMRLISXA0S31GJLP3S9CC9NWGWW4OTRC2HDH3PZLGF2GVMLKKO8HNUXBN1O1N19IGSJ3FCIMYQVV4MD5YJYTE9WXQHDBL3EEYA6319L61HZNCNZ6NCG1KNIYDSFBKT1LCSIF7SEXC6T2P30AOS6COTFT7CH6X3UYLNRWQC5Z05HANTZUZT4N2HXZLVV5H46DO9R605Z2R0ICOQX2A0AFDEMO0PPDKGHQ3FJWNB90RWY77EWGCX01RP5SBTYBRM9Y3LCQKICWM9X34X9V4VDIFWNYUAGQRGLSBMGGYFPJNWEZD09OP4XG38UDNKFHH9F3X5VHDGTQ3BU4RXGAZH3YHF1IQSBVWOHTDUQGI21RF0E0K2IM7IZHD7QE81CVZW9I17LX99XF2BRHC980PIDZ1GGL8B342RL3EPGN73OBDB8DNF8489RUR6LZ24C617OF00PNH9FZL38UTOV7FJMUPIWL09F89ORXBS7CV5RQV9J2S2QCQ09IY0YAPBHRAEF0WH5PSC8Q66K2ARU95JM8JOQR2OHNOYWH = -36#BHBJW8IE6FKNJKKDQ0G3VPE9BTZW0AUXMVDANNRZRAQDI620FYN5OGWCQSULGQTT1METGA6CAPJ3NTTMEDLF1IRY9FUL9N0LTT2420E8GNWRRXJ7M2XNXF2BRIOLOS645W6XB2BPXPP9ASD2OIHTXOHTPTPQQ0V4PAG4P0LY9L2TPVZHPO2EAHMCDUWMKE2W6VEAFZC57EKJK41J3CL1BTCAWXZOC59SPSZJLIJFZKQT8TPU2EY837F24KH0O1XKMCZGG8RBD4LL6V1W6IH3QQQ7KFHHZF8RENZBZ3M3XOOZBK236JM6ZCUOYQ5R57C1EP13MIICYN4YDB52969DVEEH34OS4FF4QTSMYJZAO5UM94459YUDSZGSI1G4QB0NA015GW5VTLW3WYA4ERW4OBOACTWTOBLVGBAVUHI1ZVUSCEIFS4V0FXA0ABYCALEWMA3A0HVU3YY5KZWH00G47JYQJKFQ96XF4NTAXB8ZCMBAI2G0ZEBQ5YO720YWFW0ML4BV23ARPMOAH3C1LJ8N1NW8IXI5BFZCY2XWXPH9Z9JHLJ9F54U9OI7JJWAJ6I5EVV70602JM74MBC97GBAV7ZC6O2PC0VZMTIVO0I8Q4HQPHSJY6AMCWRTJP5SRYNDVGAAT97LTN4JSQJ9248QOW2MRMEFPKM45W2NAQS8N6A9FT983IWV2YLTDO7STDQPLSYSU2ZEI57A56RIXXH93QZD4SL0XOOY5JJUHTZ2UYLKOBNOEVYVVPMOD3UPYSUVNSBK3VB6OSJYLHA3FPC20MT57E2MHF1NWC5YKO8O94TJDMP73E0GT9WK7UW58SJKR7KYJZ8Z32BEIEHJISTFTTFGW51YCCPUL78HCBURD94TFLVX96OESOH7B25RPH1KW913OKQPNDJN08O11GO1Y896DRXO4UBCZNY6QWPL2FW6EFKVTQRKQI7W2L2HR5F5N0A4NSNFSTL67WNF1ZRQMPG804MB4FZ1K2NJHUQM8MF3C9RIT9971HQVRA53IJXHA2HA49PVPBUXMZYZ00YI4H225QTHP5F6GIAE8X3W0CADIOK1U7GRURBS4X9FBRR1EV7KHAJGRUF29EKXVY46UY7OLDJJ0KAUQD875RUQX17E0BU6FPJN8ZCXGK13B8V84HMV974V1XV2XNGRHJVQ6JFQ999NSODMJ2OS7U0VVTAH9I7ZUQTROR0LYRBXSA0TSN86KCHOA50NO72WX14U29YXTVP0GA div -36#HUHI1TCJEZEMKN40LY665B83U5N4M0N69AGABZ74I054CWP0Q. +-36#2JEANVBT6W0BZOY6A9L79Y2IVAM9FCIVNKH1D9ODJGHFWGYWVVIVLO68CSEMEIZ18PZHQGMB8ACJ2APDX2P4UWIN3NIUBY30LF8XRES4F0O5WDW7SHPROWCBMQJEVJH1IUXXF50EMVI4SBLPD19VZUHGXIJ3H2JMPVCK48S9A02WO6UVFXCIG4ABHZZTLHKTQCPCNBIBFXLXFY2X2CX93FSF6VJN7INTDE1L55SD8QEJTQUM19BBACKT4BZT7G57HPWTJ543DHKFRHHLDPAPHM70R5G6CVGM4XBBE1COUAIYPHQDSI4VHO1SX0PATVXRP6BF8MLYM5C2DQ3UBWOCA4Z6GSPO1Z86NQJCEKHR86BL3QSEXGVZXC0O854E9CRHQXRBGH5U = 36#4Z5ULNU502NI1QIYMJVDTBVZEK8VCXSJDC5SK1SJRDLA933LK33VBLFG2Q0T59TG98USQ5YLQG6FBFGBC2EQ2D4R8MM8BV5RZ5W12LH2GRLCOC1X9V6IO34BLD1QD2340UPBY4TWSXVQWYYBYGYA0SOYGP35NICAN1CUEVTJYBXUQ34CDF7ED2BNCK39F0QJN2TZFLQDS11465PEBPBSDSYTNTGSDLWSTM81C9XGTZTKZGXU08KNX2W9P5ZENYXR2WGRYZDQTW2CD5N8R4Z4HH3XE3LGUVLH719CDD50UU815Q10HKJ1EMPA8CVWUIJH0EQHQYWSM5GL7A645SIRQTINTNU7K9MGLM95VFRI0W4D9NH3RBJGXEO7LOYRJEKZA68ZJJ7IDV5FUETKV3WFMRK67O51242VM26V55KN7XQCCLDTMLRX0AJZC div -36#1YKI37XJMU75DY42CQZB8NZGBJMM8GLS36RBD3Z3F44A658O44. +-36#2VUXQMESEQACR1NTZ4J989XJDL4FDTCHTRGBTTYHVRNP6U3PIFLEH325WT43YOZIR8NJX44LJ5D4VADWGO3TSLFCGANCHSLWUW9JOH9PDRCRT99ZSGAG2WXB3E2B3Q4932UEXAECHW4LGP22JLL6TBNPJMSCRGDCZ16MRVO6LR5XZIFO2MXMFT8YJHFHJMOSJQ46M4E6FDKZ1W4Z52BUJ4HNY3NOEI86HR302QKXNW2K2EJ3XCF19JYQTKTL9XYD1FWCACM80TAJE30P8N5W2P6I544LDN0RTPESGEALO54409E1WGMV83ABHBJFGTD7466YPJE4FRWOWR4QVLP8LGFPUK808IKCXRSBJZEXDBOBUKE07JKGZMOXR2PS0WQ5GV3ZDT6ECGT989K60A7UJ816QCFJBYZAKUCDQQM1ALDRDTEBW55MBOM8JUR3T54TBIFCYUIFC0CTH467QBRVT1Z3IWMDM4YHW0TZWMRTKHSPXIUN2W1KUH60W2NWC1KNH8A32JKNHEJ47V1RPXL7I2R1TSKJMOJXTL6MSKYZZOCZTX8NXACFYJZNR3CBRUGSPJH8OQFT06DPWEWMJ6I4NGYL78KG1PLODRVD9LU1X1VX1X8E8HLP553XBSEQPKWFMP6T6K0SNDK55AQP8RV84XVQUN1EWVYNM1SDEO8RE48IMB7XK5TFRV4HEOU13XR2M84KV670WSSF2ZM6LH2SLEWM3MU3PXUWYOZP7UCGV5YE3QWYAGZBQGDR57QBRQF47NRL2OKL08SUD2BX9D2MCTMZ3PTASQD0DND6AZUEUGSEX97ENB9BJLLP9K3KMHB6OPXDZJW286GCMM9UQ18DAEL6B5CB8H28IAZD1MCBL71MZI47HN7YIFYVIJ1PWYE5EXORFA6YST2ULKQZBJ9CZO47NPWZBLIQZWNH3XPQPBLCGZHDNU92GSHEEWT833VIVRE3DU1DM3U88H1SBC = 36#I5NV6CP6GPMC5LJYDTZ04INO2K4T0RHLQMOLAKAFU05WKIFH2D1MS7PGV6AKMTPPYE3TICKEDNYGZSLLOV2T51I4JALWKIW0ALTK7KKOVSDIN12U02GB9TQK6G1LUF8M22QTVGC60ALZN2T4ZG2BMO40MNJIRQUJRD6YB8WKILNELZ0BNJETSQIR265LAHNCN6IMMFEUKS7YX8DFBTMGD8Q20KMN46F37FE9M5NZ1ICH6AG3VZOPX9UBOWMFBPLSQILWDZBD4JWN1L2PGCL0COQJT51KGTQYYXRHJA * (-36#5PX39EDN9KVT4JX13KI440U8C5AZ4VUQ78W1Q7X7B9CE8UJGQ1YUGHUJO3DRUP10V9ZDEDW0CPP6IFYW57CZZF1YLS15I83KALLL8TGGSRWVF25KCNV5ZUSUZ94J0KBC40O93TPDB2VTTMTL8RGMXC24VNP2IX6CVA3Y4NCLJF8SLFV5CUKRDGIUP7Q9FPSELRWT9PSWM9JI7DZ5JODR0PLHJV6EOAQM64K37YGZ64M9Y1GFO4E0NK4X11O53KG1AKCG9R376HSV0JSQQ1CACCS62GWNZAU6R5LU8K9ACZKLV1DNH5D3ESY1CGY4SCGG8Y1ZZ3L1V80FT4KPI3S6WJ6NFH3WMG4A5Z9PWFFUYL83OO0WSB1VW91BGP7AUINERJL23SORSA5NCL7C9DQ7NRYDL0232A904DWT5OPVWMQ2UPX4Q20Z1909PHFZCGVXVXBGYAHV4Y3VY059P9T9NBYDP6NEKITQJ9MS6EHU3N4WHW313MDKBE7UVXCZAWYTR6AKGXAS0FEBI9YBP324LGV2Z1LKNQ2F7FLG7UMDOMEO2F0RZRPP948JWAZR5QMJ31KXD4Q8WWTNPXN46GL48YJCKEPP1W8CXWG894DNQCVM9ATLYRH4VFO7EOMHREFXBS17LCUJSO4PNP4YP6D3P0IXWMDCKL2FY7Z58XK1RGEC). +-36#2NJYRZCR2F7B80HV5NIDN3MZW1F0ZZGVYUAJV31U7HPVR1ZT1UAQWH53FX80K5JPFLS00TT26G4SK38953NMCX2ZPNHF8I209FTKGFNHFCVTAPDB494DDZONX9QBAQT21ODLS5YPLU1SY627X3URXQR9QTHP8BU2HPGF5XP4O3JBUADBL1PFPTJ62YJ7DZET1248EJ9ODWHKYLZZAXC19Q8H0Q2GJXH0Y0DU4I5R4W500XHKK2IS37GRNA6AMDON4CC6K6EG7SEE7STOXBAT0N6GVZIL7HK2UV5S0BHVVF7LB114LFJ5CTZ95ECPRXPECAB4RBUPUHJGITCW8P3SUWBT7W3ALQ9R9HVKGPMJZMUYWYDVHDP7TZETF14QC2TH2W227HYIJZ2BIBRVU9A95TZ47GPDT1Y3PGTJF3B5YB = 36#7HANECB6WYYAA6JSPI61KC9RV5W03U2Y19JNP6ZD8CBEYKOPH1TA2T0AY4JXLB9GUWRATAWMN2GFSNJSDKHMGM5UDS015RMWHGJN1RJMXW1RXLZE1F3ER5LPL8YB2QU5HQEHVK36DNHBF46PV0A2HBSFMJ5I45Y1684VONX47QNVZC4KBO6BH3291MRG7VPY30X7XRA2V00M8NZGTUBFFS2KA8D570IISNONENPBLD6S5L8JI80MT4ACHYDF8NMUMEMXV2GI14NK8MKPKTLXMQTXV7HB007I1DPB3SP32TZKEA6QUUTM6CCY80EV58K2AJ0BC3GE54NXG45WBI4F7FXGK2NFRQQV2YS82SHYZL6XJCR58W8F75EMYRJQ8EV3L47759G4U5WMGDN93E6WTE3AJGG8YHN1KS9J9JJHRFKEVUGRM0GKXT8IIKOVA8G7LL0TZBAWNLD4IS5RYYFC2JET0BR div -36#2TGFT167FS8H3A3TQXIEJWV4TVC9HZOMQGFT2RP8H120539Q99. +36#3F4V9ZVB5J9NFYUG39U39NAJT4ALH59ADYDSZ57OLO6RA969KNJSDUARHI7ZBC75ETBTXDNHYAPTPXZSCVM9G1161HDF6IGL0OY3E8OU7HMKYNE78ES1N8QLW1WW2CHDY7GNIHQ7ZLQO8JX9W7Y03TCWIBZX6K038BIP2WFJJ4FS8LEX9FXIBUURAFS01M3KGNTGKB354TRFSAEB66P196EEPEHNYCZYN3BNG0QIMNNBT6S9EKP863S3SXI5MHQ39JPETAL2YUDKNQRE1AJU4TG8592P0PDS0CABYLTPN0LO98QFP5LZ6WQTS0XS9PTF2L90J9SQND300TLT4X1H5XTJTXX6E4YKAUS6WVZ4MLENG630TMDHUGXC29DS7F2BI3R8UYZSVCA1O4X5TDIGTGLZV8TCRH9S9CURBB5JW5VG3Y6RIMFJBF7ZKH0GEAZZPLA02CAWUCN8VYYHSF6P7GZKEQOGF41TPPHZU5XVH607T53ZBOX6S0AF7XSPBGVNCIIL1GPDNVQ54XS6ZOL73MN94FCB5KYY6WWY38B5SD70E06Y1RJDGY0396YWBTXDB3RWGGT6IXYG0FGMP6LYA0VI86N4LPD53Z2C5X9LH5BQ = -36#17HQ08BSN7QN7E29HGTNEIPAMP7MZJ78LOTF6K2WG8UTI42HHY * (-36#2TX8C25OY6YG1N795HZ58SCYRB83MSKQH3JF1CFDUDCQ2ISD2A20DPC4NPVYMGMB5GHA592LPA3JAXIEBACUHZZPIAM8Z9NP4S8HPZ4ONUX54421ZWCC0K65F6LYS3C4MQI0T8HTGAVUWWUUT4A8CQVVM2O074L0B11UU5WM9UMQTCQ744R2Y97CAQ4RC5JOA1AZH2096H4KMYB7W0JPSF1FU40N6YSHIH1CB7KQ64IY6J9GXT7O3IBNPOMKB82ITRQBRZFIHTA1CZDNL82A4Z1CYJTHLIH6I2E3984J04N48IIV3ID9Q10OODZ8MY7N5OL0LPG9JD5RSAO9FPYC5HO1FXM1AVV8C8DAHH2LUNZKHEAYWX0S51KX4V9MDLF7WSVI389V7DK7NZH144C2G4PREOMXSQ5PXR8Q98FD624QPIOSJC1ZUMMQUKVPIQDPCZK95BJUF0BHUX7H1O7TEGW4536ZKKQU576GVL46R33YSU1XEVBYBD563LP089GI28S5HMN23OQBZIX89X020WGLVKZX9V5SHWLQU32HMROB1AFCGWN3SM45W35). +36#B921IXGXQP44I8Q5LF3N09290611021B33MJBNWRLRQPZNE8BDMY9VIY6U6R2531XFQ1HJGAMAH8PYLYNSDZQSG6PSIELLHCRC7UMGRSQIOFCM4HNEB22OX8XSW55FG14LWJM853NRVNBIG38BW1A3PZ82Q0ADA9UH3H4ZMK9ONFITAGPJOICXU7LXF82H8N4MIW2MW8OCGV24DNBAVLF7PHDYTSSHV64PGIVV1SMZ5LN547UTTMNQI5L4WCIVGDPGE2KEFGACZIA8XRLEJNULC6ORD7J29N0OTK07WNSDS15EOTP7359P64GMMUU7S1TYKR7729F26VZEBUQTVWV9ICH8MNUFOW00AJLYT88BL5VQG3PW363Z4PT1K2OBJAOG130X99C1PZSV84304TGZCLEWOQFR7LGRGXYLZMZDEKGUOHKKYV3JCMOGQ6L5G334RVG = 36#UVGEQA7AMYQPHWQJTCXDFRPYNTNX118L9G0C9GLYLBFGE466ZME18PO9TQEFASNM1VRMNMJWR21VFOEP4OCE1TB283VFU7U0TCY9LMKUOOLB15V16N14H5DKVCL60P9ZCLO862M8WG9RN80YG6HQZHMWPHMRIV1RVDOFI2U2YIFXMS3XTI4Z0AW27L26DLU4FW9Y415RA3IYRQP440B7F40RA6JF8F1P0VG74LSRB55CPXQACRV3L2DJEID2QHJBBYV5LHOAVTO61CJF2YBF8N91DIKMXYU1I4VEXKCSK94E2EUZMV5PTAINK6HVN6V4YSTMQZ07B2TTDO7NLH6W1W7GJWSBIS1LHH0JM6KSX0D88OHV2OAQ1C5OO0GPJOGLGGTBWM3F47KFUSNZ049G7J8LKW17U0CGVAZD1V4GP5VM3BJVSYD25NDXMKSFRE6LPVLENK7GN8EFP5NADAKY9A8RX4L7L46P8979KPM6TTT6G1IRZTCV3C div 36#2QS5RXK7XI7FTZY0IJQKA0WIGLWUVH9LZU1P5XEA3R8BVUNB2U. +-36#1WEAW7OBSCRQ0KF653QR6J62L2W0E8Z9PN0E838T26UO9P9R9OEYILXS7TS13EZ75WCUYRSHAEYMP0OP4VYJZ3OXF9DPV9RFYST4R8LCU8GC56L9ON4D88K2MHNB4Z8A6LMZOTLQU6R3GCBY9UL2B7CWZLTE928IISQKHATQFHZYCKH40U8U2TLEYXVUOUVZFY4CQUNDT5AQ054HMXI8HAWS0WAG95XHPNYD91XS14KUFEN98K25MOYU3T8ULY5S7AB4BSL4WQH0QT6NTWDIM1GPIXRB8Y89ULLRITYTEXFPQQ1ITFAWA48FI91Z4I1MMSIURIABAEAF3EG3WG7T47GRJQYMWLSGP251HEUHM3LUZ3MKRPWG4PM03L3RCEQQVJKH6L2XNIH5Z4N8DGZNRBOA95FPBAEKTLSNWT4BGN7WPWA1G6MBLZIFOTRWE3G382T5W1T0YL72OBW9687GIM3FHDW19U5YRCR9MTHVA0ERZA847FVKNE6LLWGUMKISQ7TA91RWPXJXNV1BXRZ60WDXLU9J3I7OTC46KODR8PV507X21N7QYAX5AJOGIK9O5LD76CYPCOBNZAU88DK4XVHESCIAIUP4PLJQ5NHVCVCEGZBFO160FJXSF5KZ9QII8XEIW1JOZTK48LCWIQT8UN83IXG0RAHMERAQ18WRJBLAUK3CTWWGH6I4GDESE9TK26YYQOXPMHE6MOGSUYBDDS48O050PH9MNPJ5MJFAOKUMRH2NJFRNJMO459FLLKKPGBJ6KEZ53PHV283LS4N1TI8N1XW0PGW97D0XQ7NAQQBQLQ6X21YNNMJC59YR0G2I6MVN5PJUYOGMEW4LGF8856Y5TDIC6IPQNMY0I4JES5ZDCDU222VXTTHYC7CBH9UQADQO = -36#319XZ5GMLXO3H3SGRZ6WUUFVJEJR9SIDDU3N30PVJCBM10XIFFWH9IREON3MZERV8KMKPA7LQUWYFDMZUHY0Z1KXTW6FH5CCBQOVGZNG6PF4BSZF4YVAIOEHSD9K9Z4T4URPH7PEPURMRW4SOQE95C4LXAV6N2NGTJFUXBF2HBM1Z5DPGWRCBNVGT9ON6E52ZNU4IHBZYDT * 36#MJ6JTA1IK3DEYFMEC80R5VYZL466OWOBJ3KHUGJKTQL06RI6OY38F91UA5P9S1PG5NLZ5SS7NEL9CD9OLPJ8B8I4GXWQSHBTEEROUJTWU72IIGC7QAVYS4UJ6NT5LL1Y75BLN8VUM6IHEIRA7JI7ZRNPG4SZQR0KDRV5TJRIPTRV6GPPKUIGP9T239NNF2ID0YGB7XNXRIOW4BP92GKJ0HIXVE2P3YJZDOIG8C9ETQFO30RVS0GRGBK1CZV74R5EEJU4AECY5YPVRXHX21AHZW30O7ZDWGEHA9L6MQNQ03JHJ6WSVB9S7MLY35G4VQ67IRMSL3GECMLAMW10Z5NKN9WFRKI4KNRF5NG0Z54LTKIPWBE8GRRLJHV7I6UQ5O6GBMQVD5WW7GROL9Y79F4PM2UBX6387RYY76KEC4SQWRJM1ICN5RXHNTLP6CR0L82S3OYKC76PGZAZ9Q8KILVF8IKONEN23JEZ4O7MJX9EHEWRUQEIXKCFWXBC61J2IAQZEQXJW4Y0EXULAM6G92IC3Y4E42ELN8L8SQM4NPBA5SFB0HUJJ3VMWE8ZNOEP0B4IBR21R6W06EDUE8BITKGSHUNLOYI7VUOBXUNWC1YLY3SAEM2C741M6OZXTHS5MD5173GXAI2OAROHHO658VMAHVI7BQBC8M79RMY6FIH4V50HMQL9G2OCJ4OPC. +36#22ZVHR41XJ6SWYBCCJ75QRLLJPCVGHLZB40I2B582PH2AQX44AEU0T5CE13XTE8Z3X2AORGBE5I2IL213FHCLMC4X6DX3QK72L7C7X7MYU3OWMAHI21USV1WIZ8UZOVKZGVTDOGYSYARX119E3J4GP1K3AXBYG2AZOSAKZ4NQEFRRAYSXK9I7NFP5ZRQDQAJT9X9CHIHZ3F7RPHQM8RUZAW5IZPKYV2EIHWKXHUQONIV3VUEK8P0KTWG6E0K8FQMAH71E6FA5Q1YVEAOIN1IR = -36#DTZ1QZMBMDSW5PVTNJLBN45I2P16Q9RUVRJRGM0ROR3HI1S9 * (-36#5F6JWTW8UTXL857LTOQK31AKPR4GBWEE35RKCKL2V81F6CRSJELD7C7JEZLBTEUMTG8E5WOS79E6UV25PRSKIKQCZ8BYHQ6KQ6YH5YUQ5DSUGH1RSQIV0M3ZTZ5VBNMHMMI0IK9LJL8JQOU4KHK20VRVZ7V3IV8LS92PSY1BHEF2STD6M24D8LSCQ2HTOED9EIPS14UNESFET6Z4Q87OY5KPHXAKBHS7LQLNF). +36#A6BP15THTX9OJSQ34WA609222N6K4VOZNY5M5VMRUP0NOGIYMBRWFHQSEB8KTUBLSSEEMYHDOUH9IR1EVA3544N55UXJ51IGGI8EL96J3XBK65X95AHT7RLWDY20OTM9S9KV3JZK4GDLI0H8VTDV69IQY9QUS43RQCVUQ7REUF3NAZL68XCFAWDWUW80UP9MZ7NC0YAL9CCY8JCJBOLLXBBM99TE9JWHMOH8C105OSYSEUQ5ZX2CMLX904R6I6AGQMDN8FVE8R9FN9DW4VQ2NFCOO11HKYK9V4Y = -36#2IVNFJ52GER6SPFNY13LJBWLEJWTSNXL0M7BTX8ZE5GR7W1V5GSTAB7F7V2Y6UP1IPKJ9HK9MWN34UTD5T7LNP4DANR9X075DZHDCEOWP1NL6SUTCCMQHDZYCT3VSPSE7L562CGGG0CE9ERA8ZF85PM9J8GBR3GJ8HVESXPDYI2DPWNLN1EM9SP41M4U2RHA0W33YPS4F4OL76FCIKB7IS6YQSY3L7CYURKSQGDNT2W79DINM7F9TFKZVS8U8UJX2OYZWK3V31VX7HZKMF44AEIJV9PTWQCUE9Z9SJFJWN6IO3ZQOFO0I47RTXKLQ0SKH43O4S1NKZ2OCZS7P3R34YUIC8T7MYMCL2FHY2B3P6FKE9K1ISKU0B77O8ITU69M3T575KSU7BYFKPE5PPUQKRJKU78YM5P8V9CMSE9FF52S1M7RHU3O7Q9R1KEDMK81LGYTERB3TS4NE4HYQ9CKEGOPH6B8K7UFF1S2SD1RAZTK8QWL14SC3IXZTAWNHTBA4K7ZL6UB9DT1EY8DILKSU8AV9XG9OC024ZQJ5PF1CYZ3TIDP08P3SLGSCBNMXMQ0475KPS div -36#8XIL6BZS7KLKFQJR1W8NQQ9P9UIT91GQWG8GAMYDDO4N2CX3YSBSYAHX2A7MV2BPVC5WM3SZ1RSGOCG9IYJ2B4GH86HGAI9J1D3991HMVH2HZU73EGR8GCDPZWN5AAW0J7VYWBWKUY2TMI1VXYNGNJS0NJVEV3RBPYW7TLZL500X39SGSMYOONGC4IW3XN26609V5T5GWA7Z2R6DIOWBALVGZAIGA1J8TZE9FQYNDX4W4Y74TVKF39FONKPU21JOSGJ6AOACPI2AUF8N8SXO0FEK0MC3XA4DZF4. +-36#7GLFNQ6SI41I7SGU8L7WG7FZG16ZA8LFZACP8HS8BZ9ICSS59M1LCF8WNBT3CJUTL0HPPY93TBMYSE4ZTM9AWJDHRLFN0MW5LMY68RZMLE90BM2TDAJWD5VGCAPCFCADENJDT46U2GHROZ4MS14MB9YAPP14O8AKOQ48T3OONJFCP5UOHQ3HQ7LZUTBM28IVIL4RP5U6GP1HVYNM3GV36IMPF4OWGCEI1NDROIA92JIVA4GLKVGICAC8PTT6UATZG87I19RBXEAG6GZ40ZH1FYV0MGPEVCNGRR8UY7NY0JA5DNRPHP36UW5OG0J6HNULK3I2I0S18I7DJUX2X9NZHXKEDJC88CFMOLJ9Z5XODVPM5JPX9KEA1R8H7C43DAZQWZ65QVVWWCWKJVHQV41EN9HHCZ4WHGH44AINAI27QWJWTRHL1UFRDHOGZLLFY0FQNN1QRP63R55IF0BUD5FC147MDH2K42C7VROGCRF6HBQ07TKGESWZ77X5EPSNZ26LIEPSFEI8KXTN7POSE151YZRTU5LL16Q6343GM37EI8XAIHH2SHHCOZYYC9HMADIT4XI9R0EY5DI943GR0FJ14GI25MCMU6UZIDZOVZKGIET18Z14DO4XMA4H10ZCM2FURSQH1DZN8XDU7RINDOCENBN9T330QMWX89XS3O9GEBZHEJMVSYPPWWOY8GB57WHRXKP8WZNIJLS07ZRMJH68G746KCC0K47CUA66KFGF9Z1AE6SJF0CESSRXIBJJ5IUGHBGKVPR9XLNM15O08HFQQXZHVS9HFXDKWIFAVTFT644BIM6G0VNBIUGUTOEAYD8BFHD9JTC1L8U734X4MI4W55D5G0TPIS3B6FSCK7YXRXY20MZ50YX7CPL10U5X9WVVXABP3EIBXBDLAVJS349REJB05B3IDA19OFXRBNJHCXK21VJBXVEIQWIC7A3SYH3GHEL9C3VQUKQJBOR8ZYUHHP10ESQZHOGK7VSRT23WWUU1OCOMY9ICX5QQQL3UHT9AEFPR534DNBHPXB70ZZV4ORA0PJVFACORRJ00WMC9LFT7RNN4LQ9EK8PIS14YVR30OYRVB7Q7M5JOZ1E6DTBK9EDR7QYBWBEP8PRO2IUZ2C5ZUSIPWOUS63308GOMVTR = -36#G1N5G8L1MXT1WA9L61FPNH5IIRQDRCB756W3I40OWLRG7QOZBNDD93ZSH31XQYLTPLC1U36WHYCBWJFJAW4YPK8SNRRYHGRVHGWR5T092D1N2WQ8U3YM99Q71ATM6G89SJWB988JXPJN5338EJW92P1ZBUHDKPAPEPS364835YD4Y2AGXTJV85GWMHUK10VZHTEK570ONZ78DYJOVU6JUHMOCZPPTWAEE5A8VEQNSXVGRSWMIJSK1A6OPG2QFYQV4T5HAIEJOWOX2B2RFJ1S7Z281P9 * 36#GQMCD6QM7VWRU0ZGV9B8ONMJCM7RMCO5VYIMBUOT72MDYETTHKMC8ZT6YMXG12S079JLZ47KUISJBO4MOL9I77LH8WPTT00RUW3ANJE2YMEUN1Q3KFIA5SMOLGAKQLLUIILG342BYKVAWXJAI8UQUQ89YRNCHVSQX47CZR2NZ4NSCDQ9U9HMPZ0AAUXSIPLAICLPJ32SBKWU2OPDT23BK7GN3YOEQHV9MMIWSGZ2JUCG2QYXZW4OS80PNA3QGYWUSEIBWUG2TTUGGSUGWIXC6CL15G608VH8TLA0EX05MJCGD4XOU1CEWCNX3BUL4J5FUL6ULPRLSG7G4MC4FHYBIFF4OWXE5BDMZF0O08TTDHL80KO7ZPMT64DK7MQBB7SS3I8KB2908UCY3P01MZ49MH88896DZ2EBPW7F2US1XCNQ0Y8YTBDMLAP01AY553FVCZYKSOQGGIX44VDB1EZEKFSM0O7LAVWYB6Q19RWG87RCHJBUPMJWLEEUW8LIOYW7H7TEG8AY1HYIRHNZLS368UF2CZFS5HBJYAAPEIJB79AB62B8JYAILG2DZP28J48BIOFYLGB1IFZM5FKV027V3CFR33W5Q3ETNDPEJ2JCYINYOC9XEY1WKN1UJ5H489RZKJI958DQC27BTDOFS62P1XELLILX6MJXV6Y4JDNTMGWKK3BNABAJJ4IQ4QZIMAZRWM28TQE3SC4MPC4QE99FYSFD1MA85HXQCCK8OZFWFH8X61M65VDIQ9MU79G5A4TE6ZLCFU0CUKJFY4FR1TCW216I9JNXPVJCORD3LDWE7TVNZBUTXWUTMTC4AC9JDO8YXMNAW4T694FGEFBSI6ZRNGIRMLKX059HD7QJ. +-36#QL2VL74T50V1V53ADRYAX7OQLVDRRYCKRXHUOR1WTJFME2LFJZSYGZF0VZ9HQ1NAZBG4C9ZHHYIMTQQ9C17QMED4PKOV3ZANLP9WU6MTAWCD715TAOLDBYMT6NDYB7N6Q2WTI758A753AHUDOILD24VF9ZGTYVDO1YKZ8RC28IXR3GRSRAFEQ4KYWDCN2ELP8G0GRVTK9ZLYYXLFAWD3ODP09FDB5OUMACOZZTGT9PJ96CD64BQ4UCIMUZ429AELEVCQYH771O2OO37YZJFF0VM3T5YUW4EANP6OOTAQDU8XU2AVPQ41AM82NS6KJT92A5BDBHYJYBQLV6E919MLUVED38MAPV5T4LS7K522VOC6CI7JEUUFLLLKTYQJ7LNZWMSBZJITBXUUVGAFF90GXHZFV5SZLCSF7N3UT9ON49W7RJBG8A3AQQ0PP3ZJMCIDD5IIIBUGRDK1QTUBNVYL3MJ9G49LK2EWUMUGXL8GWYMXXILUOKOF75KHZWJDT659SYVP9U76OD5FJNZ7V7IRO8ILTKNQ2D8CSDMPSCHEJOUAJKY4UT2 = 36#LYJXBTOSCINEVLA37CQTZZR86BS4OGJ47NZJGC1QKVAQA3NNMC8SM8BBLV2HDFJBUA3X8VJ4KEE95JSG7X1MRREJWPRIDPBNIZHQ1QGBA8UBDKLIX3MF20D8G67J98CDKJ721OWH0VOPB3X0996O7BZ2HZMBRTK8NF0NCXXQ1A369K44QC9X3OQS8AFTXXUYBXTR9P1RB5ZE3I693GK8N03D2VDYG8F8212VS75HKERTACPJ17B639SBL1QET2HOCAF7G75YE0MTSD1YNSMYKF4EJ8BPIGAVTRLIC6HEFHENFZ9VH1YI3SR5DPSG21CILGN0AS2YAE36C5EMNQ632LHVNBLY4SME3NUNMJW8T8NIK4AOWO39KBU2JOY4NPWRC8VXEIJYOB5BNZQ5LPX5KM86VWTGI4GN2VYNPR0KZ3EE1UAAYWOIU5CORLZRJG946GL1QSWNWXAQ7WTGHHJUEXK2CGNAJQ5GT1OYG1YFV1M2DQBQD8EFPE01XI9B10BJJZIA2S875D1IECR0M0YVTI8D4CSSVJM3VUVCIVYPNB4P23IT34DYN4DDWC59NUOQU43HRYXG57T8F70RYE44CBS5FA3W7EOWBQQ157APUHEYBXWKTC4RKDWRHNYLE9GK4VUUKGU9MZ2I5ZG4LBJXIT0SL98J33S5YBDDU68DEW2GETB1P5E1Y1IP81O6GHEQSCKTDNPMD1DLQP0BZDI8XZKU0N0OMYP1DOTETXDCPC0ENQRZ1LW4DQ7QGDLX8L3CY67SGYNFK3LKZ6ER1FY9KYGZ7QXVRGKWWIYUR0416GF4LJF8ZG9XQB8O3K45E0YGFIFU0PJNYX07VJVB9Z6BIM3GUG9OUTRBZHEHYHYD88QL4O7N5PWEHOTDGA3JOCXDI907FO074U9VM7LF0FZAZGT5NSNMH57Q5294QG2O1V7CNPPOM0ZA div -36#TQI4F3PBFC14FUVLLKCO62MVS8CUSQ9GXUWH6UMJTHQCMZO25U27X4HIK5ZOGP90JNPKHNTWDZ1C0L3TYWDWIRG2A2RFJMQJNWH4N7NUHZRROJLAX00KVCTP08XGTSFY31JMRU6O01V8KNEUH7VEZSRDWGTRCJ8SRXOM72H3TY3ECDGBPFXEMJ58RCWB32GOOHUQPS5HBELJG3HQMFHZII0ACB2D963L4TPH87BF56OGQKJ9TXB77EN4003VM67AP8QU4O4LFUGKXKJG28VAXRZZ199OWIR59O946O3P1ZANA7BB8NMLXHCX0WUCQQL9BZBORC576OJPTUMFNZGC9327JDY46ZBFMO9VCCV157JOH6VI9EM46ASZI16B9V9Z5. +-36#VFS4XYW06KRZ3ORYB4H31I5PCPJZC1LHRFWZNIYMKZIOXCZ8VROBWUDTHR06HFHJOILCFASO5K3SJSNMXIK8GZGNN3YS98W65LHAWHDZK486IN19MKB9QEIQ3GZWIDBP0H9WEPHEXZ1G60CF6EQYJDOE875AOF37OA86S3RP9Q733T0UHU220FR2IWXCAYZVYJFBY1WUV481S4807K = -36#3BEC614FYVMT9NELUKX61BDB2I56796Q7VNTXHLT36KMJVU8CDZXDXDY2LZD86BE7SG9YXQFSASS9GA6O5R5P7DVSCD95SGZOHDFB1TUPWISSSH2PNIU83DWDRKOH0HGEX7VXYJCY023JCE2D0M3QD7QE4CYK4BD5S7NNTEV1YQ83EQ33FYZ8TKBK2T8OHZ9ZPEHONJ7XZXOR740RWWEQ657BSHJ9N5M477NAM083SUZMZUGN7NLG0F9FN7BDH6QURU3SQYRH9CAIRYGXKD964L7FNXN06GB8WVYL01IWUJGWZPQP4LLRCQLMXAAYY3CU5R9WUU32UDE0SK9GBKKW4PDOF3IJYVXWMCUBCP6A01SPTTDILS1DC4AXQ0FRCSB4BPINP88N2KHH0A0EI42ZKGHE62CGNRYE34G6SY0GB989YLAFGK4GINCU3J37DDM4D9TUDFXVHBFS7TFDJO4CZQKQXVC3QPVFRHXN7ZOHQYWLXH63HNZV7K0D7F41E95CC1SP6PFYV1B5QQUXV7YX744KO4AZPVWEFKYYJNN8T6VMTFB3GOWV30K5E0TK21NB7N2GN6A656W00EXSUVOVVPZFT8ILJI78B95GAJAMEB2ZKTK7SFYW9JLTV0RVAMZSX5O3R3CLUPYXOVQ78HRFWGB64P5XG5BO0Y10UL9XNZX5Q5OTTAOW2O073QD02A6BKMPE5CFGOX6B6NPEVS5UFOY5CRFKE3VRSNCDSLBCFN35FCBU0Z53P6173YHQ7WP1GBNKF59ZWCOZOK86V6A678H86LS3QCOALF3OMOHG6WUKV6FDOFAUKWWDOR391A1PEWRLA01TB4 div 36#3SQ0JI7AFTNUAEXY1U8SD0H1U9JIPD36PTK3N7UEQIOLX5UNNERQ24D2J67IHVM1IJOX5KFLB4K7KI71352WRWH2K4AK6PHDO4IIB2RRQ9UUS18C9TI0X266H1MNQM2EUFO02UT64YECA8M5EWBS3Z4I6HNP9575LKX5IVLJPI5ILLCOI0SL0WMK8T9MY4ZRVZEQOMJ9MGW8QCGFFB2O7I9FIAMZ30EN75GM8D2TPMZ890NZ7NXVFC2I9BOSRLUB6AL45HFBHS86MV272QXZMINSPV93DWDGDX7D4GP7QTN4KYVM3PQTUU429MB1XH07JYRPAG59YR1X09IM4CV97LAWAT0S3XU7MEGTI34CC38O4US5ZSDAXHAKBLCVTXHEGHJ4C1J6VUO4STUODB98QDEHN6X6GLN7ZF2LGI8PKMDQVEWXDSQIQCZ0X2LDUV2KPKQNQRYPRW8ZVNNCELT1E2L00745V4G0DW7SV9F7RB0VPCOY3JN4K0BJAIEJQSXMDXEIIXUJQOSCFFX9MQBQZAXZJ3S87XTZFFAI4AX3ROGNS9MV4FOYK0SPFSR87H68C6ONA4269T3K4IW72KOWBSBDXBQ00TXMF4BBDRBT6BO36C44W9WAGPCY2. +-36#ORU6C91APY3FL34M1FJGCT11LVBPCJSC3E2902VLJMRGMBO73QCWR5FI3IR7RK2YBMA0U4F0MBYLP2URH0WFUZNML5SBAL41VCLKGB3GZTW1EF304TN8KFXOAO58GY2A9NQ66HD7DECUGANAF5FFWJQ571U4X8L2496NXRYTGDVTLWEYU77FJZW17GZBW2G5O6GKIW6JEGOQBITHIDVI0WTI92TFD0BPINSQEQR97PYP3P5N9VRR336KEAUZHQH90318OWR24EXXOPZF2KYULUPM5PN6HGQE3IHYXM2F8A04DP4RKC46QUXZ0AXG3UUZ3DWWXERAT17VKG3D8BNTL62EKASKO6AEL5I9NI2YGIJMX6QP13SHBRCKDEL2XZAJB96KA4FQXK8IID03OG03EAUMMZDMRG6ZRRBZADD7SY3SYF8P9JX02XCOSQFIYLULVUE7RU2SSCKGVRLC7L54F8IA2S5IM1LY6XZXSUWI6ZCVMTQ1PSOGC9DSHDYYZNZ5HEL10CSYFT88OX52MWXWSQECPR1IC3QS31MDDXMRF11296WGV0032MWYQZ989QJ1AUFTWQSBFSBA63Y1QV0J788E0UDYK7N7PWEZO5HH8PO8HRS4TAOQQPPCI676T204E5F1IJSQ8D9QBJ1Q2EENK6J2SPE253MI8C = -36#H7KEND2KTKD39HSXPZANBVIH541IT2JELQL5X3SEN0KN8TSHZB7V0YOKG11WLTHWVB4ZBHPO9CC9K8JTYLLEEFZW8SP7ZS9A5C5VJR7XO4FEBPC5UWAOM6CXP4O16P9KY85WBHJK7TC6CQUAA9HH2WKZCL46RU8U8BEUN7UD9YP8DLMW1AT7K8WDZIDQIXMIC04B9KYSTRCVJPHJWZUNDG2VTLTBCCAOJG3LPZVS2NRGHS0ZB8V9FC36X4HP * 36#1FTJ6LL8F3Y8NL7O02M8ZERX1SZ0C5DQB6IW2ZBEQ7ALUDPGMCFI5LAAECO7UC225GZ5TNK1CAAB6ZI1STJ7RNYSZWFDAR09ZH7VWPSPELT3SOQAJNW98G31O1QPXD1EWS3QEO8BTVR3AY1R2PJVMOAQ3OSM4O8B6NXB65GNBTKZTDGB9HSXYP22BEIMR7CI81M88101FVG42WWATTGRYEJRSWZTVYET2JWFOFOUGYVK84VDXVGBACC7O6XURPMYZR94S1FD5YYNEDWFVJ3MUY3Y1RA3W8QRR03TBUIZPA77XL8W8B09VNRPCFYG8J66V7P9PGZ4XFWGTOG5GHB2D6LEFT4U46ZUVFVN53J47H53QUEU5V2UWIZ2G4BFIIJJ80URTRLWZ934CXB9M5RPYZ17I7YYKJTCDODWGCC. +-36#JBKJIHBHMG405N1TOEUXESOZL2C8L339J768VG9DYM8F7Y0F03WWORWI8MUTO7Z4ZM50AQEOE06CDHZL95AOC57JD07F9KC08I17LVKVX4ME9BC0O0BEFLF7B84XV03GL5CN7MPPYYGQQB4M0J1457RHBRVWH9O2LRF4MTIY5CDMHZHKCTMMBBYS2007AQPKT6ID52IWZUDNGIUOSHXZX1DEWX9BNWNNQMT8DNDQDJ8F5II14QXRNH8FJ2NBCC1QWMPA2QG8ERCA0QB2Z15E3HIPKBTQTFBPGRKFPISPZYTZL4PHK0J29HOTK2DZOMV6WYWX7H9VZYIST3EQBCOHKIC3CTHEM8M6BA687D0IKBKYYQEIS4TT6PV8Y13MOMOGYGL0F89HQ0L34U5MVEJDP3R8IQ0RA9720U4XPMNXHQ7MNBJPEOSQVK1CIFA4W9TKXZI55Q0R9D2HSMR5QVFZPJ91O330H5O6X4BFD5D0XRR8PXYRWYL64ZJJVWVWRIFXG83YP32I7GHL6EUNRDV9MMJYANXPW3OTTQ64KA14N18MNVDKM8ZIXAQ3PO7VZ6 = -36#8HPK6AZMDELLJB0BYT7YF0NOWCNKW1UJW6WJ3YLV3TYCGAIK5BF12AXCMAH92YY35OWAG083JGZDUZGWI13ZTD1F3R2T84Y3N2D2B3ZZ5UL8PM2G9C200K16JJ10K4X6GX97S12D1O17H9EM7G6I0ELMS23E186S7O4C90ETN0OG6ABU51E421CD08666P01MEZSCHGD90XDPSR2IQS63RUJQJR478O5O0NEF7889DYQBEBY5QZ26DILPCYWCX291MX0QCR5YVWGH13CV55OHABOQ0P4YSG1FQNXYYC973QND0SOLZAWNAJZ452EZ4OJCRK8L4WDWARW06Y72PQ3TSS1AR1CSYCXQAHJD76GWPPSXQ2XX3O4W5G64J9ARNQPZY70XBHLY42J2QDGY37I4ZXJAI6RU6JO5NMJJ1ODI5TI6BKDWDXGA4AWE8PCT5GGTNSFBDABN8SGKE0HA2SKFLHK6LHCEI0FH29JBD3CLT48HA1RS6N4X4VDPHIKW2JLTOW6IH6PGC2WYK0CNRBRVUMLAW8LQ5QHQBMYDZQOJ2QOHGBEAB3WPPUN9XWKSX30K5C6W4AQGYBPBHAB45D306LULET1TS22Q7FA0R0TPW1VUBUAQ2QLBJPJE1GP5BH9O446AEH2N6UPUHXDC6FJV6IY3IQ0USRSYVDC1KO9A8I5SGQKQXGR2Z7I869FCCYC div 36#FTLRH6RNA199HOBT7P8LZZENQFYCEN2RM8RROJVREB1E1S0Q3FDK6D88VO93CV7KCMCYRV9SPN5HTVTQK476FOTKLHSAWTSNM01LRO8IDDAJS6JRNJHQTPLY6JVN0E8II2. +-36#240PVG96T3HNV1MYBJEYPAIKJDLOR9M8S8B6ZO0NH89MGMUGED5XMVAYIQ5N7BFI12MLLTBVY7MJMXF0PRHW91RK8QNHY831INRVAIB53SEZW8DD7INRN47YVBFDEZFMLZWN4L1EVFJ3VQ2U2M2A1YOMESWY6M6I0IDMWDD4QZC16VAWDICOIQKG4U57F39QAWOYEQJEDRJH5VIA3X1O5YKAT9I3GARV2Z2JPS5RBFCWBZCB0N06WL5O2XT7ZSHRHF95LS7HX2HZF8TY3TPG3JPY35QWT5Y3STHS285FR5IM4UC7PXWS0XT0BKQEB2FULO2LU2H0ZGPAXOLDKCXUHCED55XUJ26JJ0WALSEMQLKBR8NMJJ49ULJE48L1EEYIFJSF = 36#1QIL5T5CG81MQ2XUHVYR4HMO9UG72BLU78LJDIYC351WR0A4IA43V6WHSWL2L80WQLMJU71UUZHVGCOXBIW09BWB858FTEKIP09RK7NXSURO3K0Z3JB5ALARYVDPU2UJMBAY91HNVLOELF1UHRWRO1KQ9FK15W3EZETXAM7RVZKSOY8Y249DF4X8PUT0P3OKZ0TW0O15L6J84O109C7W9OO9ROWZ6JEPV8WIGB9KHOH63P5PO069AO4TLNJVJ7EO0IXI6VOAPEWTFIARMZFOPG2QG1AQTYQV20V7LHQEAIH3EYYKBKS7T4NK7LRBMKEDAWD1H14QIO867WPER6V * (-36#17RXRZJYTIDUTLR7M1JKI5QHDN815VHD9N4G8AR85E6YC5UDIX). +36#141E64MCATZ46VUSLZWWEO6LCQUERONM45R8I0V0S96I2OSON6WDLCIYW3MM9DL6ZN86RDP6J7NNFAUNABJX19DO1XP58625OT12UXSHH8C6WQ6HM7WZV9RH9YLXZZZ6IQ0SUG1WXZYJL24JPUXUIFNFR5H6WC7R5BD6YYZS4WOEYLEYBNC7CH62NSL5AMNP1GH2KB2LTJVTPJWS6N121UGJBWRO07H3ESHW9UHGJCVPVTLPISEQLPZXK6ZMRZBH61FPXF4IR9KD5GBHJKK3EF4SESB8KGUAJVDNQ51VOZPFWYUIDQ4B2Y9P3YG95DFJN04JFR4NP04E7TITOE98JXUZ5W6D5SKJXO8O1SBUGN1RWG5ZKOR8O3SJLAXHBPO4H43FD9PUNZ42XMPEU49VXM9KGF7T6SCPSAIA8 = 36#CXL30Z00OQ4UJ769APD40MR93BGZ7GEFGE2RCTQIRII67BLM4F7JJ46S2VPJLTR9KDSABKM1N76PV3UXJDH7OOR3AC69THMGPPB4U4RDY260BEN2P7BA6LECB343BQOQ22HK3Q9NZO50AR9RSTLRIS0OQSEK9QUMWEGNNPSU0HXD4KFNK9F43H2ZE4I0KWW70QK8QPCL2IA8IWL5LTS1643CJ75YB8K4L2W2NBMB0G3GOYYP1SQQK3V1JYR9R0F78Y5HUPA7PLWBS0M7DM5FL0784ZY8D6JK71IMRZZIRKHH6R30B8JTVK5Y3K4ZPZB0G3K5DBTJ2J298HZCQSYW1RWPFG07NDLGTJA4DDX4YEM61XXUULMWF22GFSAB03X66P0YI40HZLK8X4AX9Z177ONKYQZVA4YU8F3ZCOX2GHM3MYZQX6T9MA70L5RATZM5T5DGMFY8DVUSLIT9M2MY8 div 36#BMME2CLPNKBE0RD15WG7DRQYKH40BUWNN9I3QWHAUPYLKBOYJ. +36#QQR16XX4CRMPZP3EXIN8KH8WTDPS2T9XBP7KPF9UGBU4R2FFRD8ELUC8RHDUUU7QYX9YL5AYWNA3I0NJGB0CG3QMSC40B4PSES558U4HHL4ZJ37Y3UV2IZEGAISQUPLO8IHJSB01QYIS3QYRYWUQYHA7NSDPT95LMZNJ12BZY0PQ8MIVGHFM61JLNU2FVJ6V0AMP8GJ54HG6A7PYHEO6ZBSA11RUKBZSBS7TYXEKKRX1SRCGL2A7W2PGSKZQA7H2ML62GH1QR29C5AKQUP17J5J5WNHO7LWLPH2K32EII4O3BQHSM5EQS51QU1KMP49VQ7ZCWITUTYVK2BIKCSEESA4RMEBADUFRNS57A99QWV7YOT5BAPTYOXUAS5M8AXR6HD99CUAL84REXT1NFZ3BJVAAFUJ5PQR3PBE7MVE1PX76XSDV8WL6FUWCH3CTDOELI7MHLGC1UF6WRA6T20G43DZS6GIK19S3A2DXTD3J8F0L5OYWJNA7H40KWC9K0QV715KEYBB4LG5L3RE82TS0RX6UDU1XETDK2P4V7Z = 36#M3QNY7JO6Z46CRAPQGTEEF53ZKJDQ5N7ZM7YS5NKEMSIPJUMV * 36#17K0654S7JB8DENQ6WBKH6LC5N9QKF76DGK0KFT2Z6QLGWDZX27OQYMPZDDUNTLOMDN1D7968GXFWCCVBQ6OIAIUTM3GFLNK0M2T2JYDV4C87NMRCAINLQEP08AKIGV9I58FV4BIP6TSFG0YK6HO9FB1EJTJ6RW44JDOTQVJJRR892DLY74VF5VHNFNY4S7KP09PEWTDJYKREPY1QZDEZQ9XZU4X0LMLU0QXRIJ4LNPM8KLGV171EKS18SERZCFD4EN7ZEH0INC8CATGA7GRAIKJVD6GPHP0U2YPHWPRZY5J18DRQK7ROFM6JO06SUVRR88X8QYAH9MD6VYVFWZ3LVCSGGOGA4WWBTWVIIGS8LE954MTX4T7VSPBDRYZ1IGMFHC7UBS0ETFT9O70W608BJNI6WXRYQM750TD6JUCW52UJ0O77QQ4C8P77PELXJH4EW2E17KN8MAFO6XOA6O03XT4F1YJTB7ZEGB8GIH76X6SGN0DNHO3NT. +36#1U3HDNO6EFLDJG0K0O9MJTD1I400ACXKJM83P1I6VHYX2E7ZBH = 36#2UQAYDPS34XZ5PO3HO3YQTQLTZ9CHGPD2L3Z192EPD5C1DY6LUV057YUNVGS5MNK8Y0D757JA8ICXXM2KDU8UKXI3LPSGLWJX04 div 36#1JYAYDWOUN98DLFMIK1XLNJAWE64CRNHKZ9DSVNIICM7JW6GPW. +36#26RFSGW3AL2K4E8O5JU33TYYDZIB3GULNOUT8KRO2955FM24R2YSBAGZAJFIFVSY7P88X21BZNFGTC1VSBLE5KWJ2Q3YYOCBUHR = -36#2T1TYBY2YU8KR9AQMDA3LGZVXUACWGFORPKKUHC3YBMW11H1SX * (-36#S254KS2OV29K1UD0TTT6LVAU8VOZ87Z6KSA5G9ZRACCIWIHZ3). +36#GAOZXHA1E9XPSZ07NODQXG7BHFGWN5FBLAEJZRBFFY6AUNGG9 = -36#5RYS6V3Z1HUUA67GXUSXVDOGZBYCXRAF4NSNYIN6P7W5FDI6I3GBQ00412IJSUIZVPIT1DHG2PZLU30F5E123FPJQA7L9CS0E2NVK8HOVCR9NQUDXZRRM66Z9W1L0JQF0I7EYHZ4OETMLDIN5SIS71R3LVXZ4EZXEDX43V5T7X12M6DJUT4A62X5IEAM65F9YVJVMPAFBCMHOUXF9LQAL9K4F5GH6ZXKD8G1HH24QZTCKUP3HRAAHDHYJX8TYLT8JCQ4RVLBQMJN2YQDLNO9W146QD4O9D2DSMNZHZRTASCC81N4WD01I39OTED0EG7H1O2PF10FIG3U4AQUA6SOXAGHUC45KWX00R5SC8EHR2LW8VPAXNZ4JV1RUYN2O2023HC2P9TQVGTHI8LHS3D7L4SU2HDO73O9Z4N4UO7XPA1YUMK7YGKLI div -36#CRE7AY3KMGKUK92PLSAK51UUWQHSKV3PLYA40QTCEM27WDPBJCUMG7KGSB9KGFGZIJADSJASI4D3VC8RUVGMO6GQNGF1DNVCG4FBFXMEXAEA83UWACT341LYCYHR9HWAWRSTA9021L9QQEATFW2PVH0RRLW8LG9EYMDZ1PMBEDQN7A0S4IPPKMPSOXBR01UJ3IU4GNR0RK6AHX69CWE30P6787MUAMQPK6VV234IAY06ZSR6A54MVGNIZM4BJDK5EFWSEN6VBU2YK7SBGP3B9LI0OEB6VV3TTT9X7CF5KBMJFGGCYMI05NBMH214PK2K3IZ7YAJUY99RM16XW2GU3V30PPEQTBF5XDX5NEM2ASFJC229JCW1BVA5VG6V8FT66NPY. +-36#2JMCXLMD0Y6II1CDKP2TIJK53PJLBDAX5XYG5VVN176PRNP3W9 = 36#1ED2ELL2GXZYBOWXIXI7PR2NXIRCGKZZPPSL60THAZRDUWHYWE2IZV7DM06DHCNZEL10AC0L50E2EK4CZQDAQ9XFIT6B4EIOHLG2N8VMVSTUJ04TMOEZHQ1B46J6QWY3GDNLBOTC58ZJOLRSYGN8HP8STAOLAMC1RMD0UGAN4V1EWTESOAWU708FGCSGE9RH47WKDCU8XON1YMMT48MPB65Q1Q66VDKYVKX3CX4G2SE6GYKZOW0SHTJ52JAN4FVL5O19LUY9Y8VVNB3HZL29RMFDKBOIIKPNO96RDSC3MBXDBMSZO394AJ5M7KQYJWM0WJQD0667LVVVG6714AKOOCPLUIK9D3R8W0Y2Q0B9O0O3GRDOT3LHQ87SYEESJYQSU5WNTNCE3KEUEWXEVF7FMDR65DC42QPDYU2DEK95BJFLRQHL5JHQ5ZV16RR6OIBMGIM0RIT5S9KW4QN2LMM1B0UF85POWKJW18HWZO0U95R16854ZMBTDCGV88NSAV3GJX0I4O9Y4U2S1KNVEME3KOTLLSALCAGV2NE4F19TQ8VHY9UKTQOG7FNL2DTI6Z7Z4W3BRSIIZ6I2ROHCCY2QDFBJ3VD04HN7CY78CPSEX3XYE88M1SIUCPYM6582J2IWI4JH7WO33JX3JIHTPS9ZH62SORXXBL6IUYJD7R88PHT965VH7DH12SVE8X5ZN6XIOMZO3MK09TSWP8BMECTO4K0UALR9EN09O1OHWX7R7GJVN17CVCNDE4P3SK8Y98MVQRK9TPJ21X66BFDZNBX3GGHJ1UNGGYODO8TFCXSXJSJ3MJ2AI89 div -36#JSE7WHAAP44CMK5HJZ96K1Z6X4Z8QZN1BUWQHGWA3T63F3UBDJ9S2Z0IEUMLE02SJYGN64I6LX5MAK6RDODM0BK0BY7WV3HWHK49NBXJLOTJ0ODBZUAXSNA9P6BADKLYYBM9H25LVSV6DVJGDE145JHPDJ0DZFI62H3B5Z23BACCJJQA511LREYXXHAL0QU7PSIBO543GY58FXPUEW311R2UQK2XDMFGD1SDJD0U44TVXLP4T09RYBM0ST2AJAIKUSDS7TGYD64IUWTP3M7DHP3XYIKH71GLELASWMU8LHP7XOCFKFXI2PMOBWN6V8SNBFHZZ4QFNM419W95KKESPAJNNAWAO6NHO4227ON7D91Q0PR67PTBEPS62V8L0VRPZC2A0H0X2XK5X8RB8X9A2JZDFEN2IQH6IZBBONFH79JVVAEZENE66ELBB2846O1H0YFU7W7ICJ8UTVZGA31U22EHOEOUM8II4FQFGGITRG2KFGA77WWXSC8ILANLAZX4X5WCHANEL1UM8LB3VVDZXKFU08F7PPFPFDAUTX5IIB8BS5BBR437NBWEHTWVRV5B82QDZXCS5RY8WHBYMYI5FF6ND5PFYPN3ZWNRC1257IDQ8JMN8ASGTHDRB56CZ9R4PX1SH2B1XHOUORENR4Y13SK9474D25O68X16RT2BYOY4PDSWYQP5QU2ZOOABSVK4EUR4N123UH5N3PWM749MUESADLUK54U2U7KZ6BU75MY5CPDX5IS3BGVYP48SAW7KH. +36#2V73H45MJT8VY8KRQITY2QHHH69KPGJWB62G1HN28VPXFXIXKJ = 36#IXFK1ISULWAUP798NKE3JRZFSZ7RB324YFK0PV9OWVRTD91UPX3RUFAFNI37G3I8FMIYI4N2TCYMXH04U37YQPAUPQA5RSF1OZAJMVGKSF69M0QK8CQKLTZORS1YAXEL9HUAHTLIOGPELCNAQMQNDEMVTTM1VAEF18SDJOHX8SSCAX9DAJL5M1829I35I0LOF6Y4KKWVYDSN57CGI9O7D8NK8E1XG4M3884LDSDHH4FJ2PC3XMXDIUSYC00SUWM div 36#6LPRAI4QGISO29Q05DSKKYOJ7NLECUXQQD0VYZUZJTCW21INLAARB1BLC8WLP8SPI3RHPKLORMU306GHUL6SW1MUGDCH8BKMG24WGPB1QMMREQID9YJHIDXP3RIYGI7XZ0U1VJBW10GMSKTY5G4US3PIPF1TZTZRYDBTWHY8N87QPCFVLDYJ1J9RFXWCVKNXZNF4IV9F405OVM. +36#5N3S7SO9IDNP9ZGJJBFEHZFKVNR06M2Z3TMD2MC0YB5D9DU0 = -36#1JVW9K7ER9TXPHAN83Z1K4Q9Y46UQKM2GQQO5S8078L3PC2BSQ7Q7FDZQCT56TOJUMFDUUPGZL0TOU2RY7YSFV4OAV4ICRA2A822CEA7QSR39FR6W5Z4XXPN7QZJOFKPOP8GNCJFQAW0HNTEZZMN3TPL7YGUMUUYER1AYQPSVTFOY8TFGYE74NDGSTIFX709QYRLYRW6T3FXF8ZQOXEP1MI4J1LICKG93WFHJVD3ASCVUT8NQU8IZLELRT76FY56E7699IACW4R2TTWJ65PSFRRM9WGV897DZYYS4P5M04NVW4XG381ZLHRIV8KJ3TJ0XG7ZKAXGQPMKAGIWMTY7NG28DXB5YL935UVNBKZ1CWY4TNFQX1I6QHLAN95XBMIH3PPC3GPFJN4ZOKDI586K2409JJGK16ARNRIES8UQ9N7H14X9YHHKM5YSUHLTJLIX5AL6DCQN7TAHHFFV4AFPI46XEHR68S2HMPY332NIPNSUK298DQNZ7T8D6STK28XZL7U83TJCWU0 div -36#9WLRVVCPEC6S8V8H310SDEQ8JWKD1WKWCI2WWYOYJ0EP3665754JYM381SG8KRDBLHWKLMYTPUC2SZ5D0TLS8EEKW06B6K49P6L3DMPAQ3VORIB3SEYAX4FNPWWUBO3YLFPK8Z80GAP43TG08CJWNNP04B44A67SIAO7A2WWEXMPYX23QIRQA7DH4Q663RCW6W07Z0TA1UBHAQA3C0CKOFW8GMAY49QXCVSL4C7TXU6HUP9SER8R0XIBBSSXOUVXVS4J9PO7CTM5PFCK9SEXS1UVKQ6JTDQP8F050ECB4BPFYV3LM75CY18VGJMPFFKCOPG3R640U53QVHN9M688KAGBV925BX56EHNGFQ2CDOH3VL6WLIWHB5SXM0WP7PP980MAIER8XITJ6JTRT5P46KJFG90ULUVJK438OUOAD953IHVGM5CGNQBO7T3BMQQY20W20ULTGY4945F293DLD760QCV. +-36#1J5HE69SZYKCTIBAZ72T0NN99VZPQSRPSS5F9O0Q98KKQ5MS6 = 36#47JRC7P1LP37D2HTSEWW1PY336ZESQ6WNPRPUC31DY4MMHWTE1SMFRABF1OTN9HA8HZT2A9FP0OCT88BEUUYA2UJMKHOMA60Z0 div -36#2QX6I4K6W6HTJL25RGYP4599B4SYZ2M5O9CVM4KIMDFIERCO9U. +36#X2AAQ6VCGWB4K6C3LPT4FSY56RBQKEJAWUW423J09ZSGZ81DG = -36#4NG3V1VNU05OTMBGFIUSNNF7ODIRM1H7S11049O00CMNG2LOMURW9BNLQ3MB9FBL3IKR2X24WYTA7MN64KSUPRA3ATVM7TFM8C div -36#52BHJ5KSVXNW2Q0YDNVFGY0T8PO2VPJOQ9HY9QD6RKJPBXT73. +-36#JI96YFLJ5Z34G24ICZWT0IQHV1DT70A2F8TGVK601IMVSBNODMV4U64NQ1HY8HGLL5LI7ES7A9KZPOGD0J77WS7PD4FMT5RXUNXQDZB8XAKH3WIFL4QUUTS0HN2WY1L8ZLUHGLIKGYHSO0FMXP57TY8BVR3O88ZJWOKMJIUBDQL2KHSZKNQDHIF9HCLOJBC3P19MIE6EDCWM83JPFC8LP0EPUYNC53LDSEO25LMF1044M1QK41N9WZSZOYMX8T5UB5ZPQZ1H1VOQI10MUMJTCN0T7WEDF11XZMXN8J1TA0YE49UGL76C65ELU9LGIM1WHW36DELU0FXEIJ36JY8FI83VK0B16L71Q95VE7WB5F9V5H3JZD6JDKTCF18F6BBDJ0XO4N3OFWB4NAFTGJ4NJNT01FLA8I2QC1389TBXYFK4SII9PUQKI2M34COENWIYKW26GPU3GQ3ADUBK4Z1SKQSFVX227MCSJU2X02LAP5UZBJM491SYBQEPDGTVVX9VISE5OW1V7FKQWN5RTE4WV7OC2WP0O3HEJ6U0904KR95E5AV0 = -36#WFEYDGV59N0L0N0IK2TBAEIT6I3PUPP0NELEDWNNVICDGF2BXM12F17LEHSTATWEZWZU735KXXHT7988192Y2DYMOZB1CICBJIM7HSHQE8YP4QG0KHXPEYJO90X26639LLECJ84QD393N3W2RGZNZNP8KZD8KDJOA8Z3ZW366J8WN12UH39Z34VO5NJMA87PVMZNVTZUDYB7VKQJEHYQOJRGDR1GT4I11Y09HNC9KV721ZY1H0E6FSRECNSYHU08IFIUNR3HPDS9DSC7M1CQTEVFBITRYHL3ERNN6CH1KBBQLIAACEQO2HPS0U77YVVEBZI2FS5US911Y1QFMN4B7XULXB4TY9TBIH831H47ZRT6B2KOKA78SS9JVR9IV69CQXDVQCFFX1JPDDSOQQ1DH2SD35CVPY9WDHVG7KXXMH3CFB2W49MB3ESRKUTOPJ35HWMVZ56T99P3PTPKXTTJDNNSG7YK2GUXWWLB8BT7VYX0YSZZS4PJFI4YBU2QZ0F45HPEXKVO6DD2UFN5Z29D6HJBLU2ACV7ORTNLZ3OTAK1J956AEGA966K6BWK6R3SZ62Q90PHH6ZTL8INPM4LMB609MZVZRUG7E058NLNTM02D00CTWFINJ4UBPF2949M4D6B8LFCXCD926PPB6RKUHQ54WT9XTK71YJIABO1S3DPK6KB6KS8S8R22HMSC0463XUQXDXT7F7HTPDTQHMSI5Q8BMD9FHLWKCW4Z33MTY9WC78L32QKYLGUOL3NBSUC0 div 36#1NUG0D78NAQ78XIFYOS5I8ES910XFMK18HPYSG3YTDPF9YE44GI4OO6S4ATXZ70HYQCD4RKD4JYPUKT4DUI31SP4OY980SGQOR4K7K8FJGUM8OT2IMIXCXZUMIC0N7FRF8QL4XTLHLYDFCMU4F3ZPOQOWUMU49Y9I9RDF7A7V43X0JJL0JR04BEA3G6S9YMC4KGJH0LH3I2N9O0KC. +36#5TR0IT6SJSAHSM1KZPPGIX5T38A92RGBISJUP9160YJOIOIJKT6LFXX8W5O381GWMED6E3WG9CZPAKQ0E4IPKGWCAJZ1SNHC8R0 = 36#2FCAOBO5VNFU47TUBGYAB5BL776JOL2L0RFPVPKMDHGVWR1TB0 * 36#2EGC6JBQYV1POEKF01AP9LC15TIE3LG4MSKASMTOI241JCA839. +-36#1ABXVZB62XC0CQSTQP5PWDZ7YJ80D91VPLQMWCKJED9MWLWLNIDLOOHRC3N9ERO742HEE35J1W5T3HVAHF2YCF8LP1HVE1OX9HLMT04LHPA06078JOIU90WXO2MHU2M0K98H3H06MDPS4LIPELD5IT71XT65OAY4UDOMIH1ANAO7ILAF6XS9URF7ZFY9M2H2HJZI40GWN1NI2ROA9LY2H8OHD5T6TKG5J4FDNCUEOMEY8TCM4GX9GAKIMUNYJU0ZW90IAJFBASTQWQ0W1H9GCZG295B8RCCVY5JWVK1JZHZR7F5KHFVDCHKY2Q9H4D51S59DR4GMU5FSU48GVMDFL73I4BP54DG2MAQXXYTLXVU8VP8JF7I01WGB0PSEBCUGBZH26EE2K4Q0S4ODTZAO4XFRDFWFKKJEKCCKFCJ7BK = 36#24YX3X68AN0SDTYDP4158HXBIWW9BXB5ZEWLAMCUAJQM2N1RTTBUAEVG71YWVCZ5A17HYF086CUCO2IC4H8LR8AGSZG3IHB2M8GPQLNW62X0NM85LJVJ5T8UFOV4L7GW63ORPYA1LGLN6HE39ZEYX0LNRC6JC6ZECZ5MSMGCAT5ROHYS4S4H6RIJ48W7JVA9HTPVLQ6F2MRTADZIZ7PGEK1D8KA6JNK52LOYNHYSIAT6LI50XIO8OPF91DV55LBL7PXDY3K3DB22XTJ93H9JTPI8CVDD8RLGWZGSVQ0KVRLWGRZVQCJF8UFPUZ25VITSF0JSFL3FN9QF819CEMLUN7AB9J3T39TE2YU2B70N2X4210IVFVRR1EWKZ2L3LYDJAKY54XH37YEEH24RDSUH8LAI7SYM8T9I5V6ZWBMDDMWMDZKSO5BMKBVLHJ8XQWRYNEYKCSF5A9JSRWMXOBE84CLEWPFM63GBPEWUOHE954Y3XTCL22OHHWEJUQ8VOEU7SGYH7LVJWQOYNQPFFAXB75Y1HU997NJ2814D936CTXUNEWH84E3M9ULSJG4JXI72E5CQJ0J9N1FK98D9PZYE34K8CLRTUO9LOC0ZM1INXFDIZ84USBZ3IOHS7USAGT13N2FNDER5A6NLC3CL7CZ54WCHHM5LQHHU43EN5N2TLZNHR06QVQZ9XIWX3VOBS5ALV724CZDFAM6WJD12CYUE7AC64C9U9ZZPAV7SYQX70F39W2N06H2KKR5Z73NMH4574OOIM2P75JGIFQ1A1GJJASZW5QTWWE5SMQJXMABNU0PBTOT2V030WTSACNO9M90SHJU0UA826VA06RFN1LO2SW div -36#1NT0QKWX90OGM7PN5OWXLMA48CGA5EFOC0SG898OEVEH0366TEIF3Q7AH9DVXPOTXJO1274O7YWQRCEXI0RYK2921PRS40OW78Z583VKD0AYYKOJYIG0QR9Z0FQLSEPSUQSXP3G0171957YCS69U09F28N4NYSH1UULUK6R8KQZGJPE2TK8JJDG6EUQAH8XHALNMCLYSXTB5N10NX2J98F7X8ZG58H6D2F4DRA8896XVFXVPXU5UG6FZT5BWSPOVRV1I7EBPNQPUXRFUTZKO3XW5U39EDDL9HK88YJMBUVHHUZA4KHMFENEIN5IYW3R4FMX9L2GBCNXYC38KNC6RJKQ1X45MI3FFL23NO8QRQOAVQWLEI3QMPD7PW3RNZA9XJFY887080HHAI14XM9U7NM8UKDZMAJSBGUHLAEYHM1QA7. +36#2M4NHKMQWUJRMT579KG9IM1VN2K2XJK2GJ1BXR9BK8BCLZA3Q91BOMDCPY3FSTN099Q8N2XMN7555GUKXB4KIDQ5CSRVPWXVIAJRHNZRMAAJMERLGDI49KX83O2L4ZC896WXK5AX0CHRTVMF0YVXDQMB8N5871HEN57VAHLBX2V7JQGXVT61Z1Q0HLNI7SLT99WHAXNBD8QWK5JRBRSVU3NIPORKEEOJ7PYWJ48FU89YXLOIHJT8RLOQAJ89VFITAJD3V5KJE3T237DNHBFNBDPXLMILYZ5ZDLOTHZFN9HSSRAQVKMDLLQYIDAUT2WFAG3EP26IOPX1XV0327IHW3SW2FRMS01B1Y5MXQY1IB6GPOFPOYRRY2CA322TPW6YUP8FJKJF0GDSH6L7LEPW0S8QURJWDAC1UH7TZC59KCSHDRXOYS1OVGE6PGV4VMHS4U5N70AHKA9DGT7LPTFW6HL5X7D25CDR5AGYR3JS820AOUHSKU0RTABD46RLMC6E0WIH2IZDXY44NKQRU4AB7JFD6TV23MFFKN3MLCXE4D6T4TILJ0ZLT2TH95M0KXHJ29UTC7B86F0FHRH7NTI4O7TOX67JKYZO3TZCG6AQKUZL2AN13K285YKCC06YBFSRV7ZPX5C4IWLR5PCQ203C6180TZBEN9ZO0UFDUR086Z9M65UH4NSX9VBFEUPOBLUTW9XOD0KNH52IRBCNAXPJYPYEUFYRMCDYWS0VSO860NSDW32UIUQBNFRDBIYXT5038D53NISEVHETMV8LLTYW8P7901JNLRK2OKIMHGW6KQ02PWUO6G5EWQ3956CFRU7EUIB93XA94NVMEFCIU4P50WV3DAADB2UXXZAYGNIYA09Y6FT0Z6YA5HSBO2UXIWR21VZ8WYX6KWY2O4GR4PYK5HHQ7NMCK1KGDDEXENN70NGV3676YCMVTWFUA6V02N8R63ZYIBQJM1Q45OYK74IO5WIAFC6GUAPYTG4LE4RT9XJBMEALYSA3Y8CUAH06OB99SKP9MASBG79NAGJJD91HX7J8YV6T2CGXZE7KMLPEXWJQ3K91ST4Y2U8TAXWB8U757D58V4IWT8RDEG4PLMDLPQAGKB7S99170BYYLHIZ3GMJPUARPBIDJXENUCAFYW4XWP9VRJ5UWP28K2PTHOKVDYBPKZ6751GB4IVMTMC9HFG6VO7J3Y80HPYMV1CQOZUFS1J8TKA9ZGYVX6IAECKB85YH2PS6H2DZ5YQ7H9WN2A = 36#780LW9IZG3COMATMSSY8HNTHR0JYKAW92T2J0Z13U2A9MYBAJA5GD0RF7JQ0258RPRRS838O2YC4OPVK84H8PRKUV7J5JPR3YDQJ8KFXGU1E3Q9RUOAOK9H2XQT7U5KLABXYKUA1U4RBX432S1C1DWHAVL0WUJB2SOBUW4AV16KOE09W19USXFSBXGUSPT0P5KHVAY1M0760HQYVF1ZPZVLXQ31JDRXG4YAOWDWVUXE9FIY3IPK5YWGJ3898ST696OBARJY60JFUPUNDTGTUDL549HLVGP7HHHVCW8BV61TRAUO8QXQRFVPWPA0SPQ1FIET6VI1XH3PVMTSKGXWX5C7BKRM3AUC76XAMELIYNQJ6LTZ4C7QV2WSO1PSEWO4WCPY9246W9QA4MO3AMI410DUA7X4RL88AIXR14E2CNKZ1P6YVALAVZBS2MB8OEAV5LF17NWDCZHSA8WV6W3WY7EUDD7GRS31LGY49WZ8DYDF60LBUT3A4N7MBIYJM79Q8R6G3Z1D0V91AVR4GJQL3FI5BQP5ATAADF8WUB8FG4MQ8LDB2X7LYLR3VJSQU59J46TG33FTERKFF9Z4LPV4V8EIEJKE36AI8EUWGAHTV1HEQ0BFH1TDOU6O1AO0L0HJ1Q2VS7IBTI56AQTP0ZCI0NZ0E5EGCJJMI17LBI4FNZ6LI5FIY7Q2A8YL5KI2WZ2IH189BSJT65WSSNR7AB9U329HDSEO5E0IDSUBCB95GYFZFB6EPUDMCP01PLOS8V5H0QA73RPF27ME7T3YPUSHYR49BNR8G620P3ZXKW723ETI0I8PQ6D8NU1MCHZ7ZUVJ0ZZIQMKZTT9V3H8QVWS8675EKPC8EIFA1UGBUT1UZH54IK8ZS78VEUMO1GU8916OJ3ARSE8KAWL7GXIQ6D4UA4089VC2KYC8SH1FI3VGMSY1ONOMN1BMA7UEP4M6Q3YT1QEMX3JTQUDNFGFFYS2844RGC8I0H0YOIZ7WPP8I6NRCQO8AEX12DZ92JAMGW5CUNQ1FK9ANOI9CIP8FKF7GK4KGMY3Y32W0J73TOJUVUI3TM2663RE5FQKYUUFO71T6HEODGXGCH12WWAKCXDOHCH14DHGT9EVB9XWLC7612GSFXCRLVOGJGO01ZX7AU49ADNHZVZXNY5XIMT8HKX3WK8LSXDN1Z23YGWA0X2I7MWRN9902RAX21Z9O83XAJTC93J8MXZ02E39N0BULFY4YZ3S1SA3GKEVHBHHB2GARRX5TNJMYA9SX0NJOCD0FSLW82BWYYTMRA4YYFTDZKGH6FPJ5WOSG3LHLJEK87EXSSROO1VFZ6ET4EX629G6OHL4TDT61Z462DRVLOIU4WJI5FLUGL2BGQYVF17J8GEFLHSFYF1IWCTIR2STIF29R5YHOM2QV3WCGFXZ7R189HN0MJD353I3753LHS2F9L4IGK0BI6CC837YCAD3GG36HWDPWHE2CIJS6VWM40PRS7QNWFYKUTOHFDOXC7E1MQ4MWL245BUKD0FB2DMK9DYR38PUQPZYH3FDK8OJYJ97U1OBYZTF2G5LKBE090W8O3VN28KZVBYYBKXGMZXJKDD2JRPEL8Q5HCKJBU1Z6YBIHJG3JA249XUUO7QXLTOY7CDTMJU3FGLKSPFDBQN9DP5103DUSGC div 36#2RFZPHD3EW2B6XMOXD6TJI7A3I9IHMAA3DA4V3KW1NL8BT4WSYAAF89LMDYPRKK3PYYJ4LHI5F4GVBLZ0LS7LXO2ZAVCDMQCMGEQV69KNMYHESUT8IESUHY4XXKFQUTP8E3JM7YWXPTQUF1K950P88XYQYYVBUGYJWJBV9S3VJC0XOY436IFMPWDM0OYW7QEY47AQ4QP3LAW7TPGQND0XA1TA84PCVT8H48ZRXLVWSC82EMQOKVRABYV6J8LN0H2CYL9YIXR3IY8Y5UBCEB27VCZC04H6WKSZOQNLNV30W6SJIDGKYCFHOGMRWT8IJX7CRQ9DNT2Z6X3GFV0GMM8DPXNEV6QO1E9OO8RLZCQZZXMOQHKHQEVN1O50TGJN9GQR2GFYGKMVQPCCZHKM0JAEQY2U. +-36#4W9617IESSATYJNNZEUEAH9OANILCW46G2K9FMMBB0GUIEHF6 = 36#7RHTVVB3SZULCVD57FRU0GGA6UMDTYAIB66ADB10YNI0N4MVHFP9B2CHV3SMS8JDK77SWPVDFEFN6JA7ULCUIK2PZQG3LDYM2U div -36#1L34LXYS0616QU22Z75OV1DBR8PUYMU86DGG9N0A1FN9321Z2Z. +-36#2MGNY674MTSA9EJMEU1EFTAADHUUY4AJGG3V9XDZKZVKMZBHTX = 36#LR0W41RUVC8VBL98XE03AL1VN5A27N3J1ILC58TNI27Q4I6ATP5MYQLHLTEEJW3AFDF7PBYENSBKUK6HWXVGMUZYHWSFNYGU9S1YJA6Z75DBQEXEO4XNLJ14SBYG7T29VZTND556DRD1842139N2CI08UWLQ8H8YM22C448S0J2KL1ULG0XPXZ17BVL7MVRO131CMC65NZ8D1K8G66CTF93WPZVYOZA3GFUK6M1KVQ3HJPCR9ZQYBLU6RRCCQ1X67UTSBAYDT2OC2IMSYNEEZTE9N8SJQLKS55DHZ6MSRNLBGDP1K22WGC7DWS385NMU0OQPVP8K056JZHYZ8EVSIH3BOJGFJS2BPKMTVB4HED40OWAE2FEGEZX6VFUXS6L2SM9PDL72SB8CEPL54IZW1584AK9ZVQ1F67FK987TFM9HV7K3HXM9 div -36#8AEU94Z3VHHU7SB70ZTTW9CA7HUOAVCGU490PJGK6D39HCSKHCTUZV7HELQPUWPRWN01PW8XP81A02EXU7QTN5QZPPO2SETSD71D17T6K9YNSX48J0TBB4WQG2SMTWBFH6CPA7TV7HK79C0DRBRGF95VSC23H23UERE85KMAHB8UUTFFKTQXP4F2ZPYIJEO5VL2SUQAY5UUEAYD8P4L5OHD6DKCS2DXI5SED14Q922DV9H5P4G49WACLFLOV03JZR4GYVVTPA0XKKHTRR6APF7E403ZWG7MG8ZI35W9AMILOCGSOQJAD1N5JB53XI4J9WKSRJLD2OPL5X4QH9N5EDILZRDVAJLVM31FOIA5MY01OKPJIPN63GHJ1UGP9LDXV9ML. +-36#2K2VGUHRZIPETI6H2ORX4LKUOIOFWJ4A14TQZC0PEMNE13F2NRYB90TGFUVPGJKR76RJNHJGFDS2QQ9HJYYIM62OQNW5BOWF7N94AQ1Z0HL438DKIR90DQPBASDEDZN713RV7OII3Q1VILZEZTOHPN5ITLZ8KR1XDPYIRDYUBDUGAO3CADATKBJXBVGRW2OKVX5LIBG94JL6MWXXPAUTHR9CDZ2ENROEHESVDSQPWYJJSAPI6DU9D822FIP45U8PJLATR1TPOOKDJ7KD0S1Y3JXRPW08PU2DYILC4KVPQ2B3ZWDGWGBLZA4K6XTGTL4DT7M2G0QTCEVROLS3RVKI5URPN1AF9ODXWO0Y39BBYEX3YLOSY0DB36G67NLQAL7NGM928DKNGU6USLRQ7Z1LMM9U3AVN2TSJZMIP5QN8LQ0ODH9C7C2A5JVRM96D1X7JTIZT5ZOWQXUJZT7LEWBSC5BIWQCKN41FAVBV2KVXUGV0CTAN266PK338J4PEBXYVA86KJNCPXY9NY4SU3FON0H1GFOY336J6TTM3E7DRB2URB7BM1RX4JLPO35HTTDFZ1IKDG8V172BF76XZMKSVMWEHH37DDDWKR5XEI40KUE98NAFVEIR3ZSYZJ5748OD8VXA69HQGBMEY73QGDRVDYIHSL1GO0S9V6KV7HQ0P8670Z8IEGNIGTNIAVHIJ0SRC36P3Q18M6L14AD1UTG3MHDS75LCC5M04F2XVG0JSJC7NGUJRBDU66GGTL9V2H7O1E1PSQOH3GT4CAIONYS2XOE66OSU8K6C9GWZPQ4KGN1TK412LCYHF0B3PWXH29JSHOH3LWNMGHQVF6QW7RVQ8S1KK9PQ946MZZM5BMIWC1WSEC0GYLKREPGBPQHGJXV9MBDS07U2U5W5J0QMWG9KAQ8RAYKEDCNPOHIMW1EDB25H8QS1WALP3K8Q79A7EVZ1FNT128HBT0UG6OKJ1CUFFSIFFILE9OFVPUN35BYJM52CJRXKVOAEX883N13MLR4EJB59WFMNLZPB4H9GXL8GW3AEQ74DFR160EG2MI7HRSI7OB5XAYX4A80CPV509QA9CTFV6NEEF4UYYG6N89GV3WH32O2AG = -36#DPF7XZA5JD5VQO72QV33CPTQZRUBHBMGQ4LZBCNX3QE2AXEFFULCRFCD0SZEE99CSPORN4W78I9TWS4SZ0SCH84IQYBON6BW * 36#6PUONQA7FCPGEQNLIAKKAKYIM61O4XQ2IXPA8NTEYUGT9PHFBMVLYH3CCTI265V3XU2M4C42I7RQ8QJLPEX399CJWAYVH4LSFBARG2I1S26TGS1SRLMVPOV5991XSN5OWNYC2B5Z3OILWH1N435WB0OO8FGX09Z3DO2XE57UWXO7CX9NNWK33S08BFQKMB6T891BSDMQ6MZJQ6834OTXHQ41UY86LD30B0YXWJUX30QL3X5R7KA1AAAVD3QAT5Z448RZZGMYCTZWV8S6I666EAOAFE1Z1UUVK7NGX6M4NKN9AWQ6FI0A4ZZ85RFK1D4OA7PMQEXH77N0371J8RZBA121OSU3122TBR9WVV6WU7Y8RL31QIKZU7MVU18MYNL4SMHR3VQDMUF03HQQ3XGA8S2VJ01U0CPMGTQ5V6QWXJMK56BYUWVEKGS20W5B2YWFM4A3KMHCURC7DLZD57LBP54VBYRZ32A2NL9K908TNKOMLIWO9GJWMC57UC5AGJ6TZAD7GYVNDG5SIXNWMGB6L6RNYKH9FATBY6TN3DEZZL69LN39DWYFX00T8996JWAFGWFOEBU8UE7ZUIME2FJSLHNWD3R3AFD59IKJ6BZ3WLPYIVOTZTPSPAYQJQJ7HT6O0H3MCB78RFSFRW0QPH1KW1M7XBN6LRW3ZE5Y8K7B11XEDJXV2RHF2TLSBJWF3Z5TQ65G07U44JN7WFRDTJ9KKYRFX2A2OHAA5MJNKRXGE6QXH7LC30CSJ7HE80MRYLP6LPXXZ28T8SZEV3YH7ECYK3GHUY2ZVKT5I2ADYC4J7IICO4OATWYYSH8GUOA1R9KR2LZFIP3208HWHHA1VVFJ82KW4HCCWRA0SL9TKYD5NVBJ1P7N9UKFHJIP93OE8UEPG91LSQ6E07592RB7PON1EA8COCXPGEOEJ23XIK8ZLGAIVLWZGFVEQ4ARRQ96N56WOMOO7DY498L9ZDTYSS7DILPNR0YZGMYWYLTYKECU4PIMFTCZ6JBTA74A9CLE. +36#FHNC2THR9DCK1581L42Y0E4IDX3BP2NAP9Z07V9Y6RUV4PSFCRXU6X5GO95BKZL827TGF4UZZJ9I3L0TT1DI89C3DEBY5Q9R22RAZJ0GRIRNBGQ3AL5KQRBX4WYQU6VTPKBKVMWUMXUUSE5G8WHO0HV9B74IUOHVNGXRPGHH9IVM08ZE7NAV66KW9XY6INE79AQN0V39RI7KGJ42BSBGKKXTU2CNLDP375WAQ2JCZCSMIQ7FFWMBJRSDNJHVF1XLT8P1Z0V0I13MK5ELAMN7X1XQYP92OO88CNLQCDWW4OHIQ7V5T8FVAMFZFWA3FLQD4M9UD3V4I6D6ZVO3O9MHRUSI8F68JNJNJBWLKW02EQGZVZIWXNZPNJPYIGF4OG8HRQP5QYTS = 36#HG92YY5TIC6FIAK9D1BEW5SVILHB3AZ0WE5R5FPHI578MRRQ4 * 36#VYCPU4LFY2ZEDOJELR7VFQYW44K3BWX08DAQGDRW0SWG3FFD1VMZ6AT8ZAJQHF2AKCGSULFZUEQA6866WOD9OJ7SBENYP5DGIOWUB00ISRI7ZHXAB47J241LL0USIKHE252LIESCPW5WMEVC1C63C0MO8YBXZYTO0I5JGCP1CA4N5X7PI1X1CZWVVSO3VJETTYMLSFTH2FA2RK46V1JHU7CFSZ17WOJK75TIHGBHOPZFZRJVV26MO3CDEM7MZPGAU20VPTD5JUFX1WKQNFCJJDCWY4D5YFLKZYDNDSL5PYU1M98HP8QGS6HAGF2A1L8ULHMN44VZW9CB2CKGJDWRXBG. +36#IFDS86VR0X1ED2QHALQ3S4DXY2A9YC18786B0JNZK4PM6VN0PL4LGC72HI5L8MSUH8KDHJOKTTVFVIDLJQV67KST20D3TQ1CYEAS7XQKJKS4CKOZFF13XJ45XDO53OR1S030TPJ6SKTXLJOODPSDV6A7ZKGRFFUE75AA8PWWCYEZQ4GPFCY0A7UQ8HFH8HCAKXY4P753RYE3H2XK39EHVY3TX3AC0PUH6IQKGSU38A94PWGH8TR8XTSH3S9IUVEJCED50SJ71KS2ZKSUA4HSPIS4I96EDUB5J7TMFVFXQZELWK0LR4 = 36#26E0SPFLSYGD7PIXA11KXEM85Y7JSAIAYTBY0B76FU732ODIY8 * 36#8GNLDCYWPFPDUE9WMYQYVO83E5B4KKSS71E85M6JR3RB1PSK53PYGTIUN61Y5VC7BAZTLF1NPTWWYRLNR6TG6G2PQJAIUPKX1R0SCMRVRUIRBCG4KHYKFXJRKPO93GKR4PM8NJR28NW3PSZS25M52PK9JOEZB1P5GTL7BHHZ9O6UA753OZR6ZYQI9N4IXICVLZOMGIUJ2RZGAY9AOQDJXGHJ4YFDMYMGPV2F37TH1140WQJGUX60XAUJ3R411VO2E. +36#2EHIWFMP72OMBGLP2JK7MQLEU3WO2ZF97OR75F9ZIDD8WWSDAIP19ZGATGS3JH6QCJFQ0KRLSA5HREW1PP07K6XACI5D2V9YIZSX7LMQAHG2KD09N2ZSIP5YFW94X6NRBBA00YTQ4JRADOFHL6A5AWDL1J5QWY17UL4HL1221T35QBARTVJ7V3KDCYV22PW2WE2S5GRW9QOGG45OIJDIQYIWUGL6NLPWC9EAJBZQ4P2KOOO2N2IDOUS7WCVQ0D5H6CH3QUJCW0DU5GQJYVJPC2TJ10G4U2L8RRHYXUGHCK2DY6PUQWCSAX0DQFZT822VH6JFH6UFZNSA86FBM38ZAG2E0MEFHAYMY1V46LE0FRK5EREAVETVJ05QNSGN28UC4TSV8YIVFUB5UUATLC854SZ5D1S503EI26PLJMZHFPIN85D7LL56W0ZM2UFXTOZ0KKAGIIMOSZ4R70A2RCUTNE7SEIGCE1WGOWDORXV2CHJFD9E15OX7YJ8E0503FZ543G6VDNZ5QMRDZEB16DL4TOYSVESJUI80R3UEX2182ZLMLTFR1JIZKZ17F83EIMNY7FWGUZ1JZGOZHY9XMXFDZDH9C9ETMUAO8AB8R5T157DOCAWHNAQUBFA0WKI7WMD0O3LIC64IGLXVFNWLM7I7YO46F3WVTQRHYI6F93IY02VEL0UYSVUTZZ4FIOS4JLNHJ3SQLYITHZVQR9RZZ5TPOFJL32HA21737QH0JUODV3J13JO1B530J4B5I79I69J6ZX6LP1RBBQP1PQ412NPARKLYYJQWFA9G8PHCM6XALKR85DHSM8IPOOQIE35H1ZV03UDODJU918L4I8FV68S7YG85NPDA0ZA83U5KO6O1ZV680YGMDO0EZ7VH7BXRGRF00UZD0PXI3ZSSJLDF2O2NTQPJ4ZU5SOZDR9GF339U8ZLIVC4XDFUQ9VGTWA6L41OIO = 36#15ZOC6ONSWFFZO6T0T9U0Y1RU69FY2GEYCE14QURAU0CUM38BFMGBZIBYM87VMHBZHW03CMWAE3LEQL0P2CGRIA4UV3RHXLLFPQXPLVN3BHFCOAPFD2EMWO47ULIWJWCEYIOH17JBD8AS7RE7XNZBHDNHJ5XVA0SIK69SNQEKYCGDJL2BW30DUO7ATNNJFDN3JT515GEJRN4TTSHQ1C3Z760UVEXOKDQFAMPMVN45W7T4VZS5QQJ9DRR8X7BBRW4M29SO28ZZ0D42W1BASB2YCY0VRC9W0UV2581QIR9JBZITCM8BF5PQA5LCTA31RPWPCN06XCK8SXBM2VPSYT2N0OXP9Z3LDEBZ6T8GZXPK2WQMVKYNEK3T12WNBETNOAY40DREY36YYQ552EJKGR12OWHE1077NC46Q5RCHMIPYIRGK4HA6MZS0190CVONLQQX2IESW62C7YBMJ7B2IGR751Z4O0PFN2ADZIM9U164X12JXSWYONFEEW5NHEGFUDIQLSMYZ2IC10H09B7Y3784SDXBV2IFDIQQA4NCH1NIEZP74MSI644OETH78O61VW3WQB5W0MMKMW6YGICFIVYET58X8K37ZS4BEAFOM5YWOMSMLRPI1XQBJI3E4MWQVMLD75QIZB0H8MKJ8VTEROW1OJFAT2RTCXVOJHWR2YEYSWBCQXQVCBIAH9GT1F8JB7OTNMIQFYHWA92KAI6MJNYVPN1ERYDLM8WCBWCQOSBN8Y4NQ2O9B0PI9OBY7PCGB72M019W7KC3LD033WC2RXU8GBQ98HB9DZ5SICMYTOG9MI03X76OPBL2DAFP16305X2GWTJULL66LCGP70GSY3P90DMZ48SASCCYUVJDH81XEIUDK3AKGDV5UO64C1X2ZIT8VS8CFO77H65RLUC * 36#225B2NTBV03RM0IKTM9JADKQ28C72FNQG2VT6960AJKR1A5J5K. +-36#1MQ25I49R8WG43VIGYXERZV9V8Q943RRBGNHDW9ZVFD4QV6HDK7CI4ZWSGTHECR4SZCQ683WSLII71PWKYN3MUN100R55CF8BB16BK89NPEFZ0IK54U593F623PG6LVWGJCFQZZ11YZGVAA5GLQ8PFKMO13APQCC2IJAGAJSYW0KSZTRLI5WV5XADSYSB441JJTZI88HUB6FRKGZ32RD4FB9OVRUACQPK9S1GVLKD4Q0S4M0XKSJ33PAN5PP923FJIG5WLMD78HYY23XPL5ZJXY4QNAPDIG5ZU7ELK55RRP6CADC5WBUMZ5KGLFPPC1EQXJ1BQ0FH123WC2TXWXV4FSYBQ8Q0LOS34GQHVD33QF93YW5UDZPT9HRN3ZXPRM5N086DJ9H01B0DUFTBC2DDG06CA89T0AMZM4JO3GJG6FQ2YXY9UMALLJ04JA6O8GG0CDOWXDSR1Z4VRZ68VFQRG3N85WM409MSFIX3KIARONBSCHHYHGSY1ZV9I5Q6Y780KSNEQ8WX1UCR6Q8EXZRELUYHFXK4Q7PA09HAN0OLYLIJD943WYN9728LJ41X1ECJI1515J0H58JX1BDOPTKNVKLQ5AACDYU7119TRP56I3SD21LCE830UOZ617DWYYNWJS9P4DTWPL2QMLM4FGMIWVJCAKFHDYRLV2FCDFE8KMUO4DKY08UF79HIMYYJXQ53WKYEY8ZKAJGTDGRHASNEAJBGKC13BDYM = 36#2EFHNIF0778VCCG1KURDTXWTNCZO6396EX1HNL68M0RWK0WIFDWK5BUH68IAGFOLQM7GUAZVK5F6S3ZUSG5ELR16VTJHBXN7NDMHFZTPJG3SWZRFMT64RH2DSR7R2JSDPJE16N51KQYIYCWPKHFC52HB0ES30I53XOIEOTOUC9BP195CX7RR1CR7DKU6MVKZ3R4AHOMFC95IXL30WQMTD7TOPNURBX1DMY6UMNO835ATS88JHA69U2MO8LLZUSE8RGW5M2SFJBUW01QI019O6875BXLT7TT2UQHILKX2IY285BHPNOFEZR5OI7ZKM366DKH3RWWF1XAD0QN0RFAMAWYLQNWGU2AKX395I1C5EOW30659CJBDA3KH529ANTV45FZG1JYFSU8IIY6JJRMC824WE13HXMJS47PPY7ESQ3UEJCR9PZ1SB49G76PJWS0268QATFCZL2GJY4FREOVV2IZN0OJ5A7SJB153CPYKNSF4EKMAO0XG51M7WW1NJXUV9RQV2DUQKX20KY62922FPZTWA54VX7IR37XV4RNGDY1HPVG41ICA8UYAY6NDF1C9TYXC8E7E18PXBNL6PH5IQTSLGSILE1EUB7DVI984KHYQ96HTKPJ7SGHXFAQJWB4169A85ZBB3CJUZCFCXW0IYTMO4HJ8PFUA3A3YHA4XHKTU92WY8M4OAA9FQCWK50CEDWL5WLNGU03BRMHPDTPFRZ1I5YCN197TJOHEBPA2ZAQK7G4MEQTMLL5D0VZ08GVM2RJ8XS1W8NYBD6JSPKUKOG33GSC518LP74CKYTBH4OKLRO8K9RNY3ES div -36#1GZGOGA9TXH1M56S6RPLJN0BXFTP74JH6BNYN9K3W0BGAUAYQ4958RSJIB4O8ON114Q1IIA845Z5AN42DKNHCBY. +-36#GDUG5ZTI3C4RCD9QTUAFVUB2MU0KL8BHH4L8WSMOWLMLE9XN4VZCVMOHZCUPJQGHVAIYOO36EAOT1DISIFYOBR4PHEHFULMVUC7MT1DG66TWKBJ07IZXXAV3AKM8FKD966VH7FX779Z0 = -36#EY4N3HZ1FJWSGZYDA2MMHRZVRXZPMFQSDGY4BEF56FZKNB3MK * 36#13GJVH3L5GIFPNDR60FF9MKUM6JF7SY92NJUGZ0V1ZZXI3YVGPKWHJ0ZMF6MPJBSAQ6HGFGHARMRBITK58XCK9WP6XO9. +36#3L0KTL01FVFFR3MAGIJGK1TKTZ498TDCFFJURWVP5AMUCGJSAIYRC9K9UH9ZT9A8YAO0SVMR2CYEWUO1RSE3WW0 = 36#3CDIVVTXO0SMYRDOZH21YHA7RM0KYTV63QIVKNB5WDB8FV3I9F143PZV839S5AV5XDM1EXQDOEQ3GH00S6F1VZO1XOKEP6T6ERPB2R8F6ZI74NDIPNFD2SM26Y2F0HK6ZHRGGXAD9CXA899NVCSOY7NG42W1Q34G0 div 36#XL7DTBEYHT7A63X4WHC6M2RDQZ3BZF8LOLWP2PHCBIXPYPDSKKDN6H7DDTJF2PMN2AI5MB6YV5. +-36#38YUMKN51845MZ929S84YUCX3F2S33GZP9IWY4996SOYPVTTP91D05KHQ1L3DN39S9KBA1KMR3SVVIKO01TOE6JL32DE986V8IYG5LYQ3S12ZD1122QUUQJRQRICMNME40PIIZ5FVN7MDG4DWU7JHQMZH05BU057QMQ0I1L6JMGRO0TJAXKM2KAVIR6FDAU8G2J1IZG90C9BFH125BKEB18BLJSGZWOPWPUN2VP8RZDP0PQD8LLVKY4PZ79RNZBMTIAG09EW1WTY3RW350ZTFVLVSP39V9PWNUMXCI5O6TJBULOL1KCF2GFI8CYEB73U06DQIHK76U9K8GBJHF529NLZ5121QLJP5RITISWC1GIOTEPJGBM01MGQG1REQA1ROHNF8NLPU1H1ZAI6SM2GA0DG82TMZIVDRIBHQO0JOD5K2DHE6J8OG2R6DY3JU8X0Q2XMFXD2TYPI3936O2J1F9H1RYZ7GHJQVFQAWI5L9RNH2THMBU8B4585AKAUZVOTYJWC4B08M1YNO5CD3L25WH0L0MYGP2HUL66WZWHJUEMI3ZOGJKC0M2A41FMUK54O082GKI6EFK7WDOXLY2486003LYA5L18FTVXA1MEV08B07ZEOXY527IKOX2EF4PRPNGDWE74PK5JV0MGYVXLRPA96AFLCPZX40DCBDTRLR8PVWILRZX0I18H593AG9L1LL7W5GIXXFU9JRQHCHONOVO51QLBT3A4ARG5862TYYPMXAT3PTBOPG0P6CF2DRSYO18HSDDZXR3UPYPKHCHIGUNCBJREP8ISSMKZTWU5N2Y42NDO4QEQKND120IO81S428VQS4SPNP39L7K92H5EWDKUZM0FJNHA13Z0KOS6YJ5EIA63VXXD46SQII4KWS0U0FO5OZTJ9OM9BINKF6H2YV93IIC1JCQF7A7EU9WNP03VKYF0SGNQRDR0VSN5YQNSDEAQL7EKC1LQPCGUTA2N973TAY725L91S4VU54KNBACVAFSNC7B5LZI1YSH1V5XZABH3J7L58UW4G6RB6XBFG7POWLXGHWL = -36#1NZPZ2U5LAKU671RZEHZEB07CKUHSR7AEIN76Y8AK33ZYQ9TM87QFEPJPBQ28E0HAC34TL1VXBKR8E5QCJIRT32QQPM8HUDFP7B685O9GJB59H79MXF6KONAHP7J3LREDV3OND289MPW22N2LK41YEFZO7C5UHNCQU1OWX2FOI4MR58D1DIWDFWB8IWAEI4MY9KDM3SZ1N992CQB0LFXY3R6CSYP8DIC9NDXCAMB4KUU6MBG8KAMP5UDAMMKNOJF43D1K5Z96J77Y5RFL * 36#1Y6U3REB34A98ETOMVE5IICNVIMLFOGT4DJUUUTQXNN1MNOQTB5BGGXYODMLKXWWH87MWRDET128BVNU6CSU2F4Z0TDISITO2ET2G6898AFVEGHO06T3LKY8HTD3AH39P80HUT2BA0M6IE4H29BHBT8VETKMRMQJ1HEWDIGK479WI1P21USOCNEBE6QSL59Z56TSL9A79GIC39B9VCKQM4ZHLE55Q2F171VQ3A6NS09DU1YQQ4WM85F6FEIZ97UGR17Q5ATT0NY6MD5WNUQCLRHAT5TMIYU2EB64Z699EWBQZ3S9Z00H86W349OHI26LFX7TCR92YW6KQIJFCE7W37RSJAEDS0BG5BJNDVUKJ6XFM3D4V9I00TFOS9URVM376C0GGITKCUESBNJCAL4EAGGNPVQYT0YG9NGVFTN2LYC71NLN7S1PR0PMICCH6Q6S9EWQIYXMZPLYYT3E8ANF2HSA02D7B8C075172376FQPZ7MXP7DABSTUY9M3VFN554R4B9CHZOHRB6A1LTHAB1L2TIO174J2IME7G5V6K86CV6PX7I6JU5YAHLMQO6F3EEC8UUKAYZX75LV9QM0B2UQDEL0FMNIEPTOV6W4UN9AVSSJTM6EH38PDKYS8O5FR0VZLD20I5TG913CG4EQVCF5YUXFHVWT98O3X4LNK47N851YIT9J3MGKKMOWSF17J3TU7SX9IBDSC5HPDXFJI0J01KDD7TCF3A23A1QFHMKMDFMP6TQEFTC15R0LA8TRV1UY6TX8R5I6EN7P. +-36#KH6WFPK71XQEW7U1S724WTUZ8RE7KYMMZIEBS6C1XWPSY54M65KCG2GCBUSSDO5PZQYXQHBQ40ZZ4J8MOFLY6II7AW8MNFULIBKUWKDXX2FU5JX2S2V5J9O29R2RCLP94WAWEJQMXE64IYFTMP4ZGTRD2IY42FMKI90GU06MQCRB1Q8QG43F6AYSE27K9GGHN79BUKRU1NPM2XA6Z7XJ0T9KX7130UBX4CLJI5FW55WT4CY9977YQ9E9XVOTKV6L39U1M35D7JONW2DPCQNFNDDVWVK6G1BZKI3VT6URU6WL9EE8YDIGEBITKRAFUI53DR3887YLHMZO5T32QNBC7TS8LJTEU2IH64RS87WAYXGM546ASKVYED8C91GJL8CIMYZJ67QEVA87VCOJTX3RHRHEP5I91GOLCYHLTPMQ5LZJWJS06U8WQMHJJTDEXM9NH31YOFWOXRSQDWHTGNFIN5BE97UJZFK46ICZLDXRDF7L72AXOKRXEUIG2L5Y2O59IFN4RXHIMWOXO8PVL9BQD2ES9JX6FGY5MXC7SIESTRNJ543UUYU5M03EIW4NOUNY5HOCL4HT9YRM2VR3DMCU4CTUFSXM0AJZLD5FQOGITYHA5A2U0H1DAGJ5SJJ4A6ZXQYLX3JRGD9CF1LTNFOCSMG82M5QOJK9OQAJXA1B9UWNIA27HOFTYGGLIPP675MREVQ6ZRJ5WLGLKF4F77TPH4UXZNTF6QXB72LK0LCUT5T0AOS30P3AXGMEKZ9Y00SK7NBOGAADCWOP73TP0VTV0SO7MBXICV7V959ROWRXVLUABR5JY86CF3LU12BUHWF8J8HTRTATRKK0QBCXLMJP68FYGUKWJP9DJZBKI8S23DP1KKNQ99988KIQC7JY9G0ADX5CGAPDTIAX2UI0J8802WN9U9NZMDQ84RIEDIO7QCU2N6X2RSQ3HGKYH1LIG7J77RGH9NJ5AW4UUELL16EK0BUCAETEE94OT31VBUKOSG5WYPGDOWOLOGYBXF6LG5J6NYJQDYL36OJAON3RS21IP2ZS91UZ71H2JHRNBF7K9GX9GJP426CBGASURAITWUJYIB7UUEZFTBS74CCHP0K4OGYBUVRZ8MZGP1YF1HRQ03TA08DN7VYZRVIQW9KDKTOYCR9OHJB3MGELJBEYG4RB05N9HCPG629CV2FDHZPYW0AKUWWTWZVYKS9HNMNZ82NRPT7QZ59NV1224C7JN92GWMDJT1CJ3W = -36#M05108E46V7STT2ER2R2GK7225PJ3ZZDMMPZHZJZF03WQTK8TQ8VDZ1FJVVYJIYAQR6LNWBJDAYQ2LHBZUX6R7ZHSQ6R6DL1XHGMJ7I21E1MKN7OH40D8BAP9RJD9GJ7DR1IIU5304WH8SZZOJGS2Q0DR6ND6SVEPMUL8VTRVRAMIJ6YD6T0268HAAF1OL6QFC8KBC8X2SHBOOL4QM99LIBPOW8PZGDXAM97NCWU28UJ0AXW93MRGR44B5LOW5MHO4GFGGTRV6AEUHZRLFZEW9ZPNKMTJZKWK7TS23NR7KSGIUH2UASNEGGIFHKATKZ01PC6F8DUCJM0KPBMDCO0RWPZWD0QOKSWUNFNIU8KZ7TG8CZDZDRPSQRZ3IER5YKFSM9DS2RRAE0QQ22YHQQ4XGB9R0O3MI1RSJJAFEC0V8KIVRV0H0564794N763XUKAXAD9MIB0BZLADIB44P0OU1GK7DWFPDOUYOENYX7FM4TBFIB3OL2FAQ8TMTVUQW05N06SFKV8MMVLH75CE6I2203U1N4RKRCFXRGBLUO0HN6Q3AVOSOR9WXCNLFZ2SLWJXG22QBT06OZRJ2QPP35RB56CEMNO48R3TUKSB46T29LUN9LXGC8QAGNGRRDO7R3NBHIWS5H1RUN6ROKRQCQWHP2ATTY5UXL5YC2PYSKCLZ0T0HWPABBIZESCR9H23CJB * 36#XI3MVVV1MN7ROHYYR1XOYUCM1EP4LOL4JLPIQUV8Q2AAEEZNUW2UE0QR0YPPIB0E9L6XLE3KCX8F8HVCDDWI260ILSTY0AA12I1E5UJ9KRZONO64ACOXIP0LNB0Y2G3CK88821YXGFW7LFBM3TOJ1MQGZU4SGPD69S5F8P78E3Y49FRBULCN89KU9QUCVQJD22PFV1VQFKIPJZ0JY4S77O2SOIDFQF3JJYMPAB676RGWIUY97ZL7BXP64QKWHFCFAZVRXQY0B2XQJ0TE5J9FNKSH4QA29V4CM0S2I2R7J5FOVZNJ9T5JQG3P23ZXZOVE94E09CY5RQ8W8ED92YYFX0RFFOQL5CPAZIIDQZ5R8H25JSNADBO8X34DDLMSRPTOGV1FYCABXJED3MC4MVMULGSLAGF5CEC831RTDWDFXL2CPQSR2VC8C6EI1MI8PG9H67I0GV7IZXON8TNRLIZTN3N55Z2S9P28M3LJXHL7VU6JPT6CSHMFRZLEKXIL4OPZXVLITHKZF1NWYPVA87LBMMZUZ2E5G. +-36#39SLXX10PC1YXWZH1U0K8UP1H56TB7BFP0XKW1U0PXZ36OBSTZEOKRPSNGDAKZUQ63URL55TR7UP2I2MLO3DXJY933G18SDAJDI = 36#34YSJGKWL5T04MO80AL3KIE4XQHRX8JGYFJT9VE1M5SIQFRO1I * (-36#11JE3LWCX01GFHH07S54SAE3W1GAGWLWFUYUOG9GCEM29LCMCX). +-36#D95CVCO1OWKGZ5DQBA1OLPTZSR6E1E7LDQDWLAMQ6W6IVG0C0TOSXCI9OU81BTBOYX45X15B2AX6QO6V5XRY6JCP64KDW9X8Q3JHNNK10SIF16697VAOKN3JDNBDULP8ILDMQJO79QIAYBXSF7THHJ392FW9178V8F1ZVL3C8UZJATVABOO7HAYN98OTENU3CAT3SH1KN4X3W1OVW20ZTBAHR8UW8L68H4E6D3K8GCNV4CPMJ7POBXTHYCV3TED5SFE5YVT9ORDWYRW81HSPGID3Y9VJUF2HM81NVLPMTPP4BMXQ4A4BZPBW3F8P5HX1E79CDMRAB6B98XY3IRBIIJRMZA0JKRAD4CBFBEZCER9HO19O1D1H0WTERSE3Q0CZLCHEP6X1P30Y8YCBJ5AWOG4B6601UHCI8 = 36#76SYNNH1O2XIYNI8SEKJOG9SLA6FYH9X4Q44ODLIP49BZ8ZOPKD022HYG0R6NH6O03GKPSM9H381MFWCQE1EN7T0RNLKOUMYXL0OJ8XI0QD3OPBJMWNVYNXHN0RO4H88C90KZ40PZP9AD3P8F5CIX46F8R62KVYA15O6NODYH59RTQTD1TZYK4AH1SOASXHLT6L5E5PW6KJ0GQQ92S3IZRTRUJ314X1YZMSI2804TJPDL7FHCRW9P8R9M3S7VOEQXLX419CJC1QHUS51XI6Q12TEFQ7NRKT8VFQE907O2ORZ4NULOD8OMLJWQJYLBHMGE1BAKA2VQSMENZXP2HPLQIF6TXDFMISYVR5IRYK0JPY4SQHP * (-36#1UDE154BWY8NCB7434NXUUQ0H9POA2P2VVKEYVYAHZ2M4K9U4W). +36#UIFE2MY1J1QDB4VH7MHSHJWJDQPQWYGX0AIO9UENTR57PMY4J = -36#JTMKPONNWUN1TYVYGX341CQA7FYDRRQHZMCI22NUR0Z33LKCBDFZ9KPGM9UWGJE968VDXND1XCMQZA98YVFFJA5FGU4S37QX1UNENULQQM7CN5IDVHNVOA8VR5P07XVFOVY2VWB37FDKSJ73IKPILDA7X3IZ2DA2PRKE6X023XJ8WLLUZQZ7X1R8AP2KENQR8L4ZL3JEU5Z76NPTBNOVCAWVI32JX0F7TK2PLVF4TZ2OYOJEJDJ28LJIBTJDOOCCQ11VHXD0860F1PHSC0OFMM03M5ZMZFNTCXYS73M1ZVYATJ97SFJEEGV0H80KFR1N9MU2SPM1HNY4M4WXDQQHBAZOTABD8OZH7JLOJPNDOSUGCISCMOBSV9VND1N24QE091K71H4M23VR61Y9ZGIOX8RPBTCYITJOQVIA2VH1OJVMM80PKNZE3K997JZ55JFRCZY8BHPZWTPG9HRRGU442VDE2GKCXV0J64A80SDPBWCOCXY5ZY1TYQF37T2W3ZZEL div -36#NDZHZOZLIBZ7LPVGKDRTRKLR7R41J9XBZNGCN78I5PMBZF4NS4M9NC357JBLNDLMTXYPYPCCFO3ZFYJ3WI02BXSYL7ZJN1FIEG0GSZIJISM6Z4F64P9CS5KVEZ1P9GCPBB8S9MXI9UOLUK9UTAK3CH4K4I282P6P9P6T2L98S34H58XNWHDGZNK2DH0IWWPDYZN1IDFHU62YHA2366WGY7P5CVRRBIZR1POZNDPMPOJDVP69EGOZKCWPAXLA23R7UQOT8315OZT38EW247Z3O8OXS98547KIAIXLRO1KZZ593PXNO5CZFMV6WNSOKOP033GAS55ANVCC4MSMZEMODWHD5SK1Z7GVBYQJ02IY8IY8YTSIZMBO1PWDN12FNWEPOXQZD51UK84C407AND64VI4R8DLNOHAXUM1ED69VZVDXBAOQQ6L95D8MTX13NSH6QSWJGEM6BCI2Y9J3. +36#W9CITL0Z1S7ATFGHGAMS1IGU7P1FYYPG5RV0RWT4SPO284SM2X0MRWTPQEA6YIYJSLJ8LCBKZNNXV3A0HS2PTDK2U7AXB6NIIVUJE6RATA6Y = -36#2GAJ5VOC3O4DEZPWYUFBE6M1KAYRIP963SEFQOSLURXGE83T8XRB74IM82KUTT21VOFHBLNX15W3XJLHDKTG578Y3555OYI4AZ1MW744YHQVE30DTAIB54DFXCIRXCGPK2RHQW4QI4X9SN81WDN3OAS64IW0Z8 div -36#2QJ2DYQVMCDKDY6JONCM7XSZ6B3NDVUBDL1DJSJCUYFUGRV8DE. +-36#4YWOD593037XHXWNP8TYNLRWWRW32X7L06YLZE186K1C37ZUUWJ90UHMF0YGFXWGG0ALGHZSVTENGWL1W54GZ7ZTXOIZP4V6QYVHUHICFWG6NSLZUMNAH9L4WH74X3NIYQL6R4D1PPQMUW70WPDCWRAAW0SD7L5F4NPNTEO4N1OJFJEZ85P8W2QD3X4AXTK60VHSMLWEGDEQCKL5HD2NFUIQPN40LUO1ZIVHD7OGRMHS6RCQJK995PX7GCKAUQDJRZCVVSAWQMD7ICO35ZWJSO5NTB485 = 36#4F3WPHOPOD3GLWF5QQM9SUFZ6353ZID311A22PNUYKZIKTFDPR33R5KTR7S1C0USS0XC0XEITVRSOVDP0AROPYJ7WTASCZ7E50L84RP9W9KVX8X5PVWDJP2DMVGJ101GRB6O3I1NBNSM0T02BZHL43EJWZ5IP14W81M6E51V5ZB5RVOPT4YP0MLKZV7KX94LZTG9XRIE9K5P1O992RALP3L9R8XUJZSUT5YKZ0CLY3X3QBIHN7UMYIBLRPBJV2VWTZO97PLSEESAK30MUC3RZVNWW7EMRP3QBCJHXHWB7R275T9UXISGMBO2ESU32KJEQ2ZKRJ0DVVP14ZHR1JY2TT2C7W7K2YLRJ72WBGPPFXJELNTH129B5ZX43CPF1NWFJ5GX1DM9U157REBQU6L6DI7B6EIH2SYZ2PWL6IBWW3G73V3IBYQR3YI1KFCI8W43QZXWKX8KMPWTMYSJBZOIOXXG7PCZXTB8POTRXLSRT5YQPS4AA9OYMIP219EUOMD4QQY7ZPZ9UEMA8QYR7RE9MFJRS3CCI0V4C42ZXFUR7QW9EM7UBYIN9YIM838QZLY2XNGIGSNI88CM6QPVF7661OP3O1BMPIWIAQJVMXFAIOEV3AA6YY1T6C6IL4NLUBYMH5J5CMC1H3228DBAFWU9QG778U57BVCLB2IAK4QR3MHGEWVOK01FG14SRYKVERC9G38GGO4FVJBWS9COV5KS43DQWJZ9SRWS03EN3DNODY61HN1M407T6ON2T6F18CZUCUME2F4XLAMQQJ6IZALHWQEOR92RS div -36#W0KQHOLZSXJ2EOLEN7UUNGWF9MDIOV4Z4511NUD5B1IUHABOFMHSWV1JSWUMMMQUH127YEMAJA9SLT7ONXO8DKJP7RDO1MEIK293G4AOG2ZFMQWS4IYV3NLQY8FDPJT2EU6NH83ND1VYSSODUX41RK0HCIZUBYM7L1M0X97WKFXLJDB554U24CEZ9CR9W4QS7OJNITBMXCQ3ML3LXAHIPIF1ELU6SNY8VLHHLB0O1F0IFRUJY4RA5L7T53JHLIUZXMDPG1VG8M8M3ZJ85N87WE5CDWTAJOB2QFAGA6JRRCPH2R0ZM4ZC80CPLLG4TEDLD4PVSIWJGIRG71G719TPVTC5NAT7H0K2D3V3U5VDGO47898L1HD5KT33QA3PP6J2H44N967K3UV1HL6Q2QIIVIW2RA05C66K6H1SRF1JJUHVQX39A3ZOG7DX67TCBH4GPNFBGW03IRHUZL5ZVH2JAFRE9ZMT2T3Z2GHCO513MQ51S51GERLY640YXYKKS59K. +36#2W6VL6PLWEA72SPDK28ZW1O20V8AMV8CJS7DRB4AP2VZT4INV = 36#1Z1RK1M9ZKI6J2HPV2XM6PAH9QVR0WA78W8PV0UZ1J2V4FI91E4DLKGRAGQUPZY3A2J9FAA3QR4SQT4Z5OOIE814SIFGSDC6KLH7V5PTH95EJ8HCTKY1XGV7JUGF5IA2VN1PIG423PNLN3352SMOBE8WBU5T9O5ROFP36N61FY3BU86NAUE1ZL91PDSBGWYN1GLP3UE9YK9EH7YZUTAOO0E5M3NUBSERM7V60LJWUSLC1M4R3IG7ML0CYO1II3PX78K63KPLMB976UFRO5T68BY4T9N3WUHYKWR687P11HXKMFNMW32TJSPXTKM1JM146XBPVCXGAZ2BXHZ76NR6F2RV3B9B4UE2QHWQ5L7V1PV9TLM1YW7ZLSGMJW9XRPAPGLYSQCVNMY1TKJDQZSAJNJL2RJK div 36#OJR90JB0YA7PHB1XZ0IS97811K7XS5SHTEYBE1RE2QI8PO3SUVFJJZHWOX6EKBNYWOGYWLVAN1P0VYMZ2E8XR1YYPV47Q5IR4JH7M60FBA1BBZOHSAKIA857B1NMIG2NVSV3PURP85QX5OO1I2II8A6C7GCLUVOPDRE11PE33O4D1HT4ETUXFTFDX3ZALNLH7QA3KYD64RT2GMQR8C6UXHL4HANKLLH7ZA8DM0GHBTLA9O0BPONZNMNMG82VDPMJ3LJ1GKKIQBPCSHHQB5W0C2AKS4LS451UG9DNSX0PFL9WI3ZM3LPR6BM3LPXTO8NJ39G4TSVJI5SFLT7UNR2PMV01I0Q4HIB9XDO8EU3KCW. +36#6LPRAI4QGISO29Q05DSKKYOJ7NLECUXQQD0VYZUZJTCW21INLAARB1BLC8WLP8SPI3RHPKLORMU306GHUL6SW1MUGDCH8BKMG24WGPB1QMMREQID9YJHIDXP3RIYGI7XZ0U1VJBW10GMSKTY5G4US3PIPF1TZTZRYDBTWHY8N87QPCFVLDYJ1J9RFXWCVKNXZNF4IV9F405OVM = 36#IXFK1ISULWAUP798NKE3JRZFSZ7RB324YFK0PV9OWVRTD91UPX3RUFAFNI37G3I8FMIYI4N2TCYMXH04U37YQPAUPQA5RSF1OZAJMVGKSF69M0QK8CQKLTZORS1YAXEL9HUAHTLIOGPELCNAQMQNDEMVTTM1VAEF18SDJOHX8SSCAX9DAJL5M1829I35I0LOF6Y4KKWVYDSN57CGI9O7D8NK8E1XG4M3884LDSDHH4FJ2PC3XMXDIUSYC00SUWM div 36#2V73H45MJT8VY8KRQITY2QHHH69KPGJWB62G1HN28VPXFXIXKJ. +-36#533SWMLKIVAVUG96IMKEOKNZXSWDLMG0U614XJO7ALGBMY30VOHABL8QOU28T5V1CNU360ONWMGAT10V7ECFQK89GWYELITJF26J0GD3B95SVR17J3QHV5K7UHDKQF5XIU9BUL7YNWB7S8JI3608DK3DUXH8D3DBQ8K85DHGN4YGGZLPFP79K04HCFRGJLK0I3FMCOLLAQ3FHCHEJBK8DB2PXQM7BYFDTBRB45KEPOBPNXFBSSIBKUN01J6Z8B4NZNAQ3MT41ACXU1OEXDADF5XPVD597EWVFQX2HVBM8TEPSLBNY7S0Y6OFIT945X4L9VPFR3OVGHPWOCJM138Z086L2ICFT6PRSONE8S02KBJ27N2BVR4JBUY412LZK00H6JOY0NQH7W93MQJHAFLAXR8WQCRRPIPW8Q620WT7Z8EHPUENLCNT10585W1LFXFIWMKB1TGPDAP556KC8GBEU2X40EK6G7ABZ13G6R66ID1M7GUXAPOKXP6BDQ4WYE9MNUB26HG0BR92JJTTAVCO5NW977FFODP8NOXBVJOWGJZ7KIGOHN2XHCU6DU6RPM981RO = 36#C265B2VBOGN4609B0C2I6UY2AV1YLK2JT34Y2Z9RKOXLI1IYW0VGUOVGX9FGQUEU8WKDLN1NHROXHNLLFEAREQW6KHFPXS4JK047P496TVDIRL3SBZWA0MAMC87A75AQ505EIQX3W2MZ0DAFV3IOHUG8PO3HAYFU1LVZWVM7JKUUXR4HDYT6SZEL1QMND2VF0BR83Q8B1FUYC53HQP5T5XVZ8A3MBY5965XV15GP4GCP6PQ5GM2NZ4PZHC44B302KP1CFWEB8IVD0QJKVD3UZ7ALFUKE9ZDZLQ78ZV8F7LIQ1UA93A78U731EO90KFEXCDQMOMF19K5YUFS98258KX90KDLSFUDTKTRJU05URXAOCAB5JDV7AOZIRYFEEKYS43Z8NTF81ZAH9L0SI71FC5ZRR5YLTZ80UE378T7BK3WX4S8MYDDFSULAWN9C0X26SFBL7XZ5YPUJYK6PC0U7L8JUZFNJBX5WO8JOFZQYCOJ8S14MCYNYIJJ9VK7WP2ZHLBAW16MEOI8SB9PKNT2EMIGOEXU46VB937H649FNMFJVYCAMI0HEJY1B0GO75CRKXTZJXP1F7O8QHJH95HI31QVBQYS4RP8DTR9455GFEFJZLMCV0X8C div -36#2DD0BWY0MGXF0OPWYOAZNDL88IS5VAEZDVW8I74ZIU5SX8H12Z. +-36#MYT84PSOC2APEVZVE5CLM6EVYZ7KBX54TTA76271LHTMVKFS0 = 36#DMEND075JYYMUCDUEY7P2UKR66D4SQVIYD5D6HCHBKJTWWJ8WTS80S8MMDAJ0MJHJKEKAUUQIN9AVKT8E75W6A8CDT2637N05TFCTXLQ2E8Q5TEWWV0VHKUNA057XJS4PQL5Z8OPX5GGUMJNGYTYB42XOHLA0LXZ44U5JTI0S8XMXDI0Z3QK3DYAME925HNYV3PQ29MUBKNNXLSUJEN9LWM8ONJ599T02Y938F4DXJWYFA79AJ74UQKOO5ARYXVG7JOPGI3ZCDC4S2EXZEXQI2P3V4FEF7NPLQW2WE8SYE00HQ1P7G98STPZPHQ5MZ0NFBQNZEHWNFU861XPLBGTHWSQ47D0HD97GPEQ8N90TLVA5LU6YE6B8E0GVPVMH4QHQ0XJT6C6TUYK6YH7LR8ULTFTA7FSA5X499PNQF1QBE0NM4RKS8HNF4FPFNJ8UBC9ZJQ7QIWW0 div -36#LCP2O05O38GI5YU602XT7SY52QRO7ZSXDVAZR0PU4CS6I8UN1Q0VTYVQEALO7SJZFYGOZMXOP9621GMN8HN6J6QURVJLRC4GYUF16Z0NYCK21XGWZDAH5V23BFHIKQVOP7XM8JILHIQSHROTU5RJU3QWPDWBOJVJXT6BGDAAQD7NJH98L7XXE8C98WELNRKKJM1GPOAKY4Y2UBI5SFJ5CLTR8SOOZSDVE7OLNVS2JMZRRMIVNOV0O6RKE20OTY9JWZTIEE1JUBPGOMJNI54DA7SMRVW4SPEHVRRD3FF3MHQKBCXG66S9SHQQIQEJKGN82UFRI51RPB5J3S6DCPO2KV45E6KGXS6G3P7JWO50NV4O2BUVD4UFA2BQMAY51FHL0VBCZ3UZVM0Y7Q0PFM8T88EW. +36#SMLXWY6IN01ZVJMRSF52JYQDKFPGJ9LKNMSZ3MMHU6JTSKBO1 = -36#3PS5KOQUL4IL1GP21APAXU7FB1GQTP7JW2W6E57H5Y4CY8J17103JNIJM6EC5QR7T5WRG25FCSQ676ETVD0JFKMFP8XQFCPAYYOVTU8KGFLCRXP1JZ34YI2Y4HZLUNCAZDVMDPZ3J3UFDQ66SUPGHVGUJJLCU6SE3OZH50KLIID781GQEY161IP3EXSPUOG22X2NEAII5XGVOUN2A9YYLQGII2KB9F1O7Q05HOPDHTIZC0XP2WNMHPQCIMMHYP79NKS79490B3VX3XSR div -36#4O8CRO400OICK71JH7Q5TRNJA85D678Y7PXVX0YKUO5OMW6DPBG5GSGLMVNIVDQF69GE69WE03H8V0UCHQ1PW3PTHUFD8C2ZWLIJM6RZDCT5NOIFMC29BD9XJMBGW44HAHFNLHW0Q4H6N8BMX33H6I865H4JUZI4X7FNT5VFQXUS1KN9U4E8VC24II9TMBB01P7N8Z42L3ANDD8R4XY0SQEU136SISR. +-36#CO67SGRDGNB4FF9OIFRIEJY2H39MPZQ3H0MFCUIJN4VYBWRPB4Q0BHCK26BHG8KDSP8RN4XH5RFPP0863B94S0YMV460JZ6DFGR2UKCI7NU1XAL5CN53SGGGZHEOO7B0OUVQD0AEBWLK9MBYEWMKU40W1UGD4KTO2W8VET22OEC06B6ER033B8YZSNTWN2WFATGADLID4UXD28EEBMILAI22SG7GTIF7COT32DIZT7HVWDZRMKATZ37U30AGNG3V819VP2HIV6NYXTU3 = 36#R3R9NAJG7QH02ACDMUNEEQIYWZKGZQ2S125UDPYI84G5Y8LZKGRN1NQKYKC11WZKFNBL346Y32YETOVRJAL3M72SSG6AV8AKJKB1U58H0VWLK3DTDIPM8IODTQVYVG0CCOC4Y873WBQCXUQRP58RWNWMTDJ0BLT2UYOJ2VR94A034BJJOWV6T4IXT7HJVNH79I01LLIPSFPOPJCFWMGIZILTXYJ1K6159LDICGQA2MM79HFDZGQ857WLOJUQ0E64WCZ90WB6JTKATUM24SCOLBM0BHX1ZVVA6MZ88HWC37AQYKF8B5GFKT52HFTTXGXBF div -36#2505LNZMJ0NQGACWCMPW6TISVOW34Z2YQTUGG0IRL2QOY3I0PT. +-36#2EG4OW70PR4NFAI36KQ0O9JK78BU5CDQFZBNENLOC2GJO5PZ3ZMAQN8R3VA1XBNIQNZ0LZBHNRUGQ17GB0O7BZQXK6OW5906O4X70NT2MGFZ81KZ05A3BHZJC1SXHNBXB0MPK = -36#7D6MFJ4DBPHZ97X8SOM2SOE8A95C4FNU76L8X0L0NOY7RU8X4TF0ABQA5VB46I4GXRD5QVIXKS03TGCJZ3YZ4I4TB9DPSMWADBW1498EDBIIDQP8QCGUW3YWLYV2ZW70H9ALGWGRASOPDBIZ07SMFD3MF8GABC6D5YMAQ1WSIULBLK093AOWDA1F69OUGR0IW1F7USZ4AZODCCH3VPN71D3JGYQ66462SAUN5H6ALQO32A76AGGSS9JGWRKX2T20PCR2V7H6HDX1ZDYU1RJS6QGJL09REQMECXC3D20BUUNLM0K669Z2DP8JT9RKFE1WJ6T10YTTW3YMFGGVS4QTZCI3ZAWC03CSCVMOPO1L4Q5Z8V92SAZRE8C0H5CM9JSCOWRYCSGUEDVXTZNMGE8XI66EMHRRVAAWBG942295UKHD9MC5ZPKIRHGNVC0IEFAGEOUFIE76D7YO50H54MK5D4TXWB0L0ZU628OBRHDWIRIWZL0UNMZHUVR33GOBPB7O5PROKWFGIDUELJW22B3X0TAON3F734UP9KYR2AMIORQLZIETL20E4IRIE06ONYTPABRVZV84QLW4GK1ABXQKX2KEIY0AC1ZRNRFGYYSNPBBISZTR614AX4BIHHVDDHADB462VPTCMBDMRZCD548ZOIEBKZNOJGLW5EF8Q6N5DIG div 36#32FJQ8FKLS9OU9ULW6XIN9M6JTRBEW75X8VUWFPCB48QFRU1OEK7HLIF2YVISEA1XI19BA4JC0E0JQWQDU15LZAP09LFR50OU1LFF8I1IVMCYI8N76BE52OLMFAAAWK10C3PI7FQ09D25CZ1WMIUB064NFPP9VU1LH78VH43PH11MCYI7DQYMC0ECQ36CGUBYYF9143JLC68DVG0G7L4RD8K8R67OT67PSIHDU8WVH6XJ0RNQ57HTW47DT90Z8HEH9J7W1NVTRZ7UZO0H3N22WVXOJQJ0FGGRV34V8C4FPNWX33WIJ0EE9MKWHP3NGDXVJE9BPQVGLAYY24V2SJBBY3KSI7U6R188DFUJAEY2ALZFY90GIFT67JHU6KFPTRS6V9YE85RQQB0690I8NTQUWGVYWA2BUGYM1ZBBFUTR4X7JD5O6ZXFAJX5UB6MYKBWFE3STJBL6TPQ42DVBKUOU573EQ9MG43GX4I5VMTP9FWO5IDBVZ2NDMB5KAT5ES09ZAS95XZNPO0VHBJJM08T45CFQNDAQ4XYJ9TM9UZ. +36#15O0IP4O8WZJ09XIR0TJRBP9P4JP3BRAK11YJ0ZB2J2P2QOF201OIPKANBH72PKMM85BD3WXHOQO0RLP7R697IZP5SHJ4SO3GA2V5DG4DWKHL2T0084P105NV5HNXUZPB5GJ9BN69TEPWY6FPVPBDZTXKA7K3PYBCVBCCSW354YI4A8ZMU25NZRYAY3T3SXRGIZ2TU4GFP5FNAK43G4I2T231462PM4QNKUG = -36#E0VP9Z9VF4JP30DDXC6MZ2J6AQHA6XH5LH4885P29Q6PJ8I70VQK5FWCF00VS82EXY4DB2IVUOWF0RZQXBI4PMPFQJVTBSY1Y6P2IRUIH2XXE77LM624IWFPYLH1ZYVI50W8NHPPIAI1CT8IOE9UTM0771WX5DMUZ3KNWXP7W3NI6245QG * (-36#2YYGA3Y2E74TH3QJHB7X5DFLX56N0SWQE12S0WXC4ZINFW4AY1). +-36#3QLW4VV98JI998EVGBR7L7E66KM0O9WPHRX114XK1C0VJMOFN8CDIBW5AUP06NNUI4CZNLWWAYS5ILL8GZYJQK4XBTU5TS9MLRM8QIN7LSVV58FJZNMIZ38AWHADP0TS9DBG3ZA7PA7JB07Q7FQMH273 = 36#91TFRLUDW2VUFPEJW4SVIPQD0FWNOMTNKD52G8F7CK4G6BCZ2C0DE72XTBY9PX2NOC9V7W0ZZJ0QBLI1YE07M7WR6KNMXEPZYRDAO0O4EPG3OBD4KKZDTG0RGJR7FTOVD3FKSO37DR9BZCYS6OYD1J40OPNTWS9ZGAYKOREXLIYBFTEEYPR1LMGGK0NKZNFUY1Y6VZWCF div -36#2F4YEUVA0PQFP5K0OK7DJR0JULZBJBE10TRB496LWI4M7N8ICH. +-36#BRQFOMKAUVVDGYLNUCSQJR0TUVGX7J5M6ICPLRCST16I4GHE70EDT2B6UBMEYUB0ECBH2SGO3KTPWN30693AJ4 = 36#INSHTNWMHRJSO7WHX0AI8RI7JT1ZVSWH0I8FC3SEOR7UMIT6NX29OGPSGAMHANW41E945V3ID4MC7DHKFUIJ6SUAKHV1YV4ORDJU21YIW5WG8P8TC2KLKT32HEC7O15QJX25XK0 div -36#1L2ORMK4JALIRWRZMEMFLOXYKXIFQFNQ2MP2ZNHO27RMVBPO0I. +-36#17V0VZ2O6W8UVSMJAKYQBEMG2RSJPKII8T79SNDBMQ4SZ2OUM6KC9HDWB2JVMYSKYHABDQTLBRR6SN6Q7EGOFEJW1W8PDT113ZSG8SSQXZOWKN1AT1TWXQRWTFH26KFJ2WFBLICH7KI88B74053WF53NQOP7MBWFICWQQBJZ1GZPBOBVFDISC8O9TXEPSSFE = -36#1CPFYH9CF3KY11LRFGXDMSZSYCO9L0Z23V2022SV6A7BT9Y5UM * 36#WF315F0RSJVOQRUXPKD95X490BZVUBZYRZC1Y1M0I8XJTC2LXIVXESIV08Y2VHO96U4BPWFGN1O58PVEYNQ4J5G0E53WA0IZAM58N9A33O2RLWCUUJDKQA9VRPPJNZOAXUYXA4TFXR106Z. +-36#JNT6SZ0RCP26LTKWRJ5ZGOODHR05U4QMCEWSXB36KZ0W6QW17NAEFDL6VV1BUS5OM390Y536R6FACK2MH2LTVSQWUU79UAPBDSR8TJDCJT5ZWXHTLDAOCC8XTX7LS9YS4MHSKKCIC2VIOBB6XZKNE5FYA3TD1VPIZYK3I0CHJZ34OEMN8949X8KJ5DS8NVCLTDW8C4LER53B26QQDJYVHOD0UX8P4HWUJ3W7CO38NHBL7OH9JYNQDHZM0CKSD07UAY18QMH6FYOT73ODDDRWS0DCK01QVHRZG7ED2Q3F9YXVCKEC9V5MFTCEDUFU51DATTIHWKV638AA5C6W41ZFNICNNZ54QMBGGQ13K4QPIKYFOLHEUNB7U8RP4RESY2H624DGGK3UOMUAESB2SFG3Y9ZWH8HU7PT3QZWGZS7MUFIMBBGFZCYGDMTVNG1DEI5DQSNUOZ7DO9VK9XJMJXCPNAHY63KSG34BCVX49DU2SGRYVBBP3GLJZS1FXTHVDA9IGJZBYB1DIP2FLMDQXHQ2NLTYUZ1RDTGVTOXLE66ECG14SSR6FJVPHX6LM02GE6OZIZ1JB1EACNNGYB4IV4K0104OBW6L6DK97878MZUTJOSYUY = 36#LNEE5GX91368YCGK2NGCIPIQ2FTQ0IYHCN863BVR0UFYRZ1CF7HWVZES6991YCNT2UH058L3V4ED0007N68WSC7T0Z0BKT8U1T6D69MTJVT01CLJEFB1NFX5WZF8IYUDIB101ZPK2S2ZC2LB9YK825GKWPC5OZD2B4P54AL8FZV2BE8QNY1BEPED0Y29KVJYTTJ2CIEACLYX2ND15GPZPQKJHUDSRMEBXOU6CZ9AZAZG0X9029IW9F69BXG8MQ692CVFCV1YCRBM8VFNSTGA0UYCXT30QVFH4ZDGSTYDJPGBIVY7587WL20MM3HST8P0RKTHQFRJ3338N9E6QDXRX4L9XFO6OKVGAF8PQF2HZNC78ZJ5NW93YFPHQO9VL0Y8WUSCE6L22F39HUUL0Z44O6T5SQN4EQKWNLLKAQJZ3KLQHSHE704ZRY3KCMWG3FZXUOOCH6FVB5PZZ8T9FH2YKK9S7I4ACG14HJOUPURO2J1S66IKHKDJO764892ZE1VXDFFQBDLVFSI4MCIUL9DN5QM48UMJZQVUKV3F36PWHDXWVJHJYUNE5TETEWCZ1GXQIDWR82BTT9NV7TYMOAIF9UT77OLTWCZGYQJK41PBS7T7DYNJVHPUV97S22BG3AD0QK6Y96T1LLYX8DKWQZ2BCXH4ONQT9IU div -36#13N2URYMOWIY4AVTFDRNRSP74EKDJ1EYEGI20C3WCU9GYWWR13. +36#O66CIA0SR25E1W5PFWXLX1UMSN39NGFWJRQ5O9GN5R6BB5QBACV7PQT1DGAA8CIBS3L2XDJC2HQYVOOHAJLE7TVTINOX3VV0FJ67SSF1GWSQ3EWHAFEDSO798ZACIAF19O4Y8FM6529GKXWLO8RM6X0A5VK9O2FEBBKWCTGTK3R3IDXCC191CVYX3PW7GF1GACO94NN5F9GTEG7QSDIG908GQ2MT1DPSJWTX24OC9GSO4W4Z49QM075FOZ9NZFEJCJ6LDGR9CU7PNMWU0WFVB4S5KTGOM00ADD76GQNLTGQKJ3BNZ9YQV14O9XOU6O255DQY71Q1BV5NQNNXHO33BN792Q013D1CZRUYRS9209EALOFH2OYYR4TFCHO7LI9YEH5B9BP1VD00PO2SZFOMPHLBJTLN36CS0AANVQX3QRABFAYX1241UULUU03SBJVKOICC82L3N5KNHOK7AC2D1J5AZD8LYTZ6XGHYXF315HFDH0J4AYD6NI05G7DY0BNBZ20JYZYVI2ZGPC2IF1D6QR64654EKRYIEHPTIMVN96CJELYCGDQXPIDW3YXUQP6VQJQW8WKQEFNQ5Y09Y1HL7J9DBUG7FKBICN = 36#L5EM397KCQT70PEKTFIXRHBUL15RBMSF6DM8BC5PHUFNMKU549TRS1HPCCWH7J5WCP6LFE4ZVB9SPG7HCAHU3MB3D6603MZ19M3JGIYQWYSDABCGYPWDT4ZM5OFE5XB2KC3QIWD1Y5MZIBWR6LDG8KK9BO2YG9TJB8B4BM513QT2WUL17VA6N87FNRXSXX8398KFQDRT1P3GBFPD429CSD2BWMPEB7N5X96KRYQT2SHKIRJVTNA2OA8D7F3RLBMVUDBMH7QBW5YAI63HPKWO6U7SKYDI3U7SHXPS67DAJY9LFRQ22G80TS0SRB5CTFPYYD7 * 36#15550YUH9M0DC5B11FJ6UXL32IP3ORP2ST3HU6L7OSFSHOZSVPAYP7LQFPF88M87ROJB9VNX6Y7UI8Z9U65K59ARZOA5XUOY89FRM4UD1NZ94P18B6GDUD1KZ7N5LPOP8766EWKT31VKOLG2O3U6YVF51TV8CV2R99SXXWTKIXUJQMB62LTFS4YCPYC1IR8EN6890G0HUKOHN5EOMUK5YBSBWF4W9PW9ZVPHJ4VC5UO36W9TNUT7GB33H2T1SSQ3Q2F6YAJL8OTK1JBTCBFYE8UE7DLFUJET. +-36#415Y2AQ9TJBPMQBHW48JEOOO4WQKQDCSNBZS4EEBZ33O4S0HTX9CQE9KVMX7F6522SHU9F3G2TYKY4OPZ49ZO989TJS8V78464M06UY6XVEJYIU0BXVG3IZXBZXP8KNB119GTBBG0BQPS49ES5IEFV567PEWOENREBRKMWTWZXQIKWQMSQZNY2XN0WKVM2275T9DRLYZZ4N3IZFJ32FFXTISWSGDH7QVEHN0N8WNMPFLZ756HI5TVSZ2J6P20VMQI2C1QT99UDIIHM5BRYFV80E6QQMC4BD3XX8Z6I415H9QOAVCBQKTFATH6VYGHHR8HGE00AY2EB4KG1K9QNDIFLI9I9QZBYQVQC0PNKT28Y2QCJT1GOLBNU83VIPNS5L5NNZORLLX5HJN416FGW37DDORRWF11XH7Z04L5NFYLWYEPGNBO8Y2J85E3VBT5WFKAT0QL4KF3D6F9FE4K3D4D6TJIO86UQOOHMGC0D2ZHNFGB9Z1HVCI3R65RX3MWAQ1BLM43O1VXJOVH37F6PEL2FS5ROLIHP68AEBM2T2TWA7SR89YWFU390QN6ELF71H87X7GMQDUFO44B9IK9CN6EY9DRFHUZV2BB2H60POQAL2VIJ6Q88NCK64YF0CRWXP9YH4BN9ITXDVDRK488XKOHJ4C9PZG88EJN5IFFUIKKD91ZVHQ3I9AMJPG4D13HAN89ZEJJGAQRIPK6L3OROXTWPUEN4ZSY5HTG5H3V5M9JL74D9IFM1356UQZK450KN4PHBBK45XGKU0LDSNIL9VBGUAQFDRF48UDXMZ8Y02Z4V907PMLJ1CS3WE2MQUT433S8YZUHZN869ZKCZ3EH9OPYOJNOOLPW648UH3IKG5DITQDFK34NKV4IJA1CEW0RHKX1CV4SV8NT3OFJXKFFMO25QQ93G8V7ABZWK2M90FJJ9ZGMBPWXCBW7FY9TDGEQ66M2NPGH5S0J6X1WZA2ZEPC3QM6S6C1QXPU60IXKD6RQLEC3F6Y2PZRQC4GHH7LYR129MXAIZOPN011ZO7GPGSWLYHQ7RDEEC2N7REKWSJD88J0HW8LCPV7GU47PHZ1Y5SHAV09KV62MFNW77JU7L0390ZFMQ9KIAJTNE3Q0JA1530HGFN256AK9JQAPUH9MSAUWGE15NUBHUQZFXH58R9H5VH8P6U9L3NAFPPYQ1TYRMQMWR = -36#4536WK2PYCYVHUPKA21MGFTN9VZBOTZD8X84A1N1I7UIPXFNY96AMU2AZLQMWI34JN5S87YO7J0DWOK6QPVQI3PYKP31MND212EERNFQH5PEMS3LLY789PUK5GR4PUB8UOLNX3XDOGVERWSF5RLIL4K7U31WUGM7RL0TXIYTSS25RDKV18P8QPBB98ZAZB9BZSMLI0XPC36KH1AC7Z2JBFWC3GEKYCJOIWMSB6MGAFSKC2JSADOJ8HP2EG4C3E3QV5HNYB7M7ELJ5YZSTDYV9LZX7IZVGSZNGR94S3QUQAVO10CXPKBC0GB7VGFZKU8XMCZ6ZKSFWGZ8FVQ5KT6ZDP797I0NH8WGL23VHSLKX6OGKM4WI87QZ4DW8VS705WOYKQUYRO4JV28PIO2MY26GL9B494KKRM3T2UK94Z4VJ3EMYA0AG2ORSNKOA1TUU3BYLZ6DO5SDTD6VQZ7Z3RKVJC9V8L7AF2DAF8X1UEVMI060H0PSL9BNO3MMGPEC32N3ADTXP9YV8MYE5AMTPI3OWE5K9QIQKKCT1LYRZZ33VO8O859LFR0BA6R31HCPGGDYULSOZFMBZV0GY0KPWPNEDIJSWTWOQQCFEC0P5J23WMN8JXRQ9T00ZTPUTR6HRPWSNAZA270JJZ0OHZ3LYQA88KDY46MA94ULJPP37CH4ZRAYS5WPX49HBZ9UVTT1MZH5GAFORXJKWJM2ETT3XIHENFTXMXU3BKPBHIONYZE8HCSXWLXASFQNDEJESQBOH0DNAFLZBOEV9HZATH4PNNGSO44G2R3H5NA16YNJXOS9SN5MVWENF51LRF1U968O52YATCQTQSBKVU7CEKALT0FS2ZPWAQ3XK8H5L9356BUVWVYFEAAW5JW8QJ667WBMFPKIRI6056UTS4RD9NVZT28VJD7KZU7YLDSK7DYIZHNWLHJB6W4VG99TIONVE9BE1F209AUQIWBL75WX66UVMNS0YN9KUWAN9VOVA2P7UOCRE7HB516CLNX9L82PKIZMJ4D0PT1VKJMY0OIKA5V3HR2CJJXOP4V4POXJHPQWNCEE2ZE7RSFW0XW1CYR93TC4AOBIZLV0W4V7LYJPA24FR9WVX55AWX9BTV9V5IUI8IK9SY9KLXB5QXFRF0IXKW8C52GIM9XWT84S8OVCSODJOBH19A0ZQ5ODCCWCHH5CXP79UFMWH0T04Q5XZ88Z10Z6C10XDWQEYUBPHUXYIMRJPM95OJKZA3AAS0 div 36#10Z108PY4ELBR98398FB2CMNWDABTF90FRNNYJ7OFBB2WMC568. +-36#7D853YLH9JO4YIT5ZRDII75J21X5CRRQPJ7298O9CA622W7FX48FS9JRGOKHP7P29NA53WF0U04PVNL0DQW20ZR4A3LDOX4ZBN84POCNINV5ER27UEODU893SMAPG65QF1CWP8QVJSV8TIJQTT3E4NOTM454BRWMNQL0NS37VJOTIMJH59LYVR6PHZI4CO7LV = -36#8DG3IDQ8TLPNVLI2WL7VRLFG81BPFHWARNVWBGI4GAMVIVU69CHXTV1MJMOPELOS9RSKV0D59KTYUDDQ4S52S2GPUDP221TKYNDOC7PEQ239KRSASN934SAJINQJ5MTJCV8QXDYND7CFDQY11HYYGXQZPPE1DQUXMNL2XZLDP9L2BGUX4DPJWDUER4C4TIS24SYA7SXZHIQHWOFSROG74A9FNZ1GHQFA0JKTI8JD8L7O0HVZ3XMZW0IX7TUBC41GDSXA8LSVC1CZS731J1JE7KX9OYS7R4H7SB14W70NNOEMY8UJHP03VLFWI7F11K13S02QI9945X8L3K23IQHZP561U3F0EMNKNEAQW9CG3ENC2Q9ZM0DRAHPCHHKSOS7MS5MS2MPLKIZOK0JRG8RR1VXR1C8O6MH7QNBNM933TZYF1SQ35NOVQ3QG83JBOT8KEZIW8DX6YRHEE92O1KVYCDWNUN4UNAFPCV9Z8WKLO7S3COS04T6R6ZI6O3H86JEBZDM5K0J44L0HBD10HANXK3PCEK9HNVIM9UEX5FNL3216DIY3L7DO181OC0PLYGPIJCUUBOJONRSMVQHFH8FLC3AFKJD3TF1M14W30QGWLXRZJR5QUJ44NIFUOF90KUCBJXY7GJDD40Q2GQ90T7FXJ4HOMI5EP9CH8YG9QYDXWALC2L3TO7KVO4Y4EUS8JRB752HXJV4OZUBHY2HXUA4S1X5E2AR84X9V2IUSBLM7TR292N5N4E18FVZ74UNBNWIVWU8AXZT41RAGG1RZ2P15ZZNLL9LCEHF36PDXCT5D1OZIWCPQEIVO6XRMYYIE div 36#14WZN58LP53G1K45R6YVA5G6RQM8DA3V9X9IUWOHOTKO53P2C72JFBVKP3ZES6514IKSIBP6IZV2SZ3GOXIXMOTYIHL748K7CYNROELNO88TM7TMYHWA2T0G5V7UAEEQQES5SDOFV2OISU4Q8ZM0A5EFYLWX6BFOBF70B61BGY6VP27Z6H07XX1TEXQ8CNWC3TPHZI4XWOW9ZNW0LWDEZWS62HP7Q1MZNTPVSKQ9ZZAX9J9TRGW1UR2KMA9RUK9O6PJC26VNV9A71WP880CWKR6I559U7KNFVCB6Y2PW4RJCL43I85H33QRRJJ1SO1F8IM1C512KBJ4QHKKJH0X59CCSRFS3GTD7N5DA1NKKW3U92PGN5V1UAH05TE4193Z45AULH0ZYIAGEQYXCKH7W08TJLUJ2SZB3L574X0EH458BR61XNNMFIC5GVGZDNSM1EDBPLF4FU3DOS4RCANMGB2CGYZCRIDCBFBTMI100R1J0VFVU3KHRMAJK02OG9VK0H6GBFZPCU21FBL6RPUAHALHL184EED5EOLHOUVO7C2P6PHICFN704358HFG0Z8J8W2DJFTBXX4WT1YD81Y9KDYJ9A6ZQ3DBT0M4K98GHZ70MJAF3ASHP20L1OR2Q. +36#1M0RL9QS8MXRVV6RXDI9K7MXG77KIYM125N2N5E1Y5DPLU5RPY = -36#26VF6JX8EHOD6HR81WRMZJDV1QEF076MP7UMG250Z1JGZLUK2TZIKHMBOKC8PD03311EEETOS0G6BSRBHJ29Y13S8RVJX9KGDNY div -36#1CXR3XAXVUDUKKVBSV4HQYDTML2I6R2QU6AVYWDH6TUDY6YK11. +36#2Q9ROY5LQTNR65H30HDDZXKJYOHN824Q7E7EOLX97IUL8S51SK = 36#I8ZX7ZN0YMMNKSO1H18N00IRLBE9UPSV2F2G24TSXBT78LFWOKHVD619J8XZABBZYAFYKHHPB2LHZ8UW4HDMBCTT6EH7VMV8NIQ9QCPX7TVO40J6L2C7Q1U4JVD85K4OJDHRE2V2801LRIAK6040QIXNU88TN3HQ63PKMOAYWMOF2PTHVNR6NULGDDCUYZ9LM5PYCL9KAQM9NV5DWQTWDG1G div 36#6OOGVTIPSGDKWA2VHOJ2JAWY9LI6CPT9D0XULYBHUFT82XJ62VT9MAF5BVGUHLF0WR6UQ5G1OTM5D5QXEMV156L1Y7Y8FCFYZJ8WM0EX7OV8INWHYVPSK8TLQ5YBDGN4O2DB789HIIK5KXBZ7MCTOFV2WZKG5HPOMRFB3AH. +-36#2F65N39P7IT3IWGF0QVZTNF31CPW5D2GS1W2NQ9G7NU8GJHUP5UEHLBCMEGTQWQCSFJNKCEPM2U473693O8FPZRRIRZ8NA5DT038TNFLQ2NT8Y3X5Q8TBJF3C9ZM7FRKRH1A6YLQ38W3764B7QIIHYZP3Z877KD6BHUQHMPELMUZ1JCF9N2MAOM3JH5R0EJWT5VKDXBPU9XRKNZM3EW7848JWD4OVZWLWUO6E66YF8O8Y17A8CJL0NAIGR84A6BM2FOY0PYN6S6BRNVPDZVZKLVFEU2SWD06DP8ZA5X9N2J2QZU7DO9JA1Z2NU797UDE5GHI2X0RI299L35TO8UWGA28M9UIUTZS18VR729Q2S4T5938KUN3FC5AEJ7GTHTZ0E6DCGLMW1XNGOCCZSOAN08NTVWU7WU8Q9Z9U6R = 36#611JFET6VV7DGEDRO1PBFP7NAC72Q9GA6K4KIZ2B972YRSHWZ0XGR99R4SIUHE0EG5WC7UE0PJLUEJOQ7DC1ZB5SSUUVRATTE726EXFYJ4TIQ0RAUG472V9VCYHKJBRN2SX87UMARQ16YHPB1X67PIB5CY5S83RD362ZY70V2J0O3XCHA0BQMIKDJQZX1PYMNIIXUESCN253K4GB1TTSJV3VDIMP9DBYOY56ZHVC5BPQ1WXND4HASDXXCWMOLPNY1ITF7GNA4GLDTM0P9KVFH4DLE5N9W77JLT3ZO1SNGV9R3MBGXPFSCT0FYU3Y0AU51GSSL15UWJT89AROKW7SKEAO73KETNTC52OTBBNVVR3LI83YP3MUEOA8JCMCTQDHO650TJO7YWP50R817QPWHNVXQ5KNMEKAUZITG1KRH0Q5R35S2OXHSW5D1M0XA9CSPE8A5NZXQ7NYEW6P8PZKM9R0 div -36#2HMUG02O2UQ7CJ5ZN2ME4J38GKA37MG67RBL8BKOA07572UGJ8. +-36#YANHZICHUZX01PJTCN4KDZ1O5099G3S14U2FX77TZQZR2SHK5SF92T98W06LRST4JCMXJ5Z = -36#B1KOUQVGH3N6PK3W8WAA09HVHS6GJKWN8OEOK79G1NMJ3GSEN6BPTKHDO330K7Z4BYFILHTS3OJENZO87Z4RM1C1OSEA6NK0HU75HVLT31M7ZCG823TEZ5TCP3WXAT4W6OXGW4PW1HSS5ETNQSBJRUQD4I30FPR7BLBXFNRLNEV7C9GOIM4LFF6C2DN4L3VVRHG5GQIBXXXH1N222A14JVPWRBCRZFWSAJRQUWMATGLSVXM4OUIHFGN4ZJXPOUYK31TA7WQ9AVQ3NO3MKENI98QGSPROLWQ256U2WJHM2KA7WWHB75DYT2B0AN4S15DT2OXXKSF3A5R1EH7HGADOAEMU72KHTS1OISYEQHDE7Z24FW9D4D9GUCTKDINKEH2J7EKY7HK2N1V7KC9QXYIVV5HHJFA5NNOLL8YUY0BP1N5GFLY3JZREPI389LY51VKYVKVM2Y82QN2K0QDO4RJIQ7GV24ICD26JWCLNSHTKMGP0J8TQ8O4C22X9Z2JUDSYUIDH div 36#BLBUUSYVPCSKHNKYTN5A78DDO5Q7F17LUE9JKIAAX5HBAJ6Q487V9XAKBK52C1CVVR267PGXQNCAL4B96RF3MW778MRJ3HEVKXOJ1FWIAM7NSER47K88GDF5559S525US79ERJKPLNZGFB15EPLAKEJ98JFQV7SA1K88X0STQV15MXLXPOQB7FVO4QPATWCNH7HO2TQQU22FHCBJU45FJOQMUWK563TLUZRFXZBH9PZR2RXKGWQP1JB2PX4CV4R6P4F9PJ5LBW3K9WWZY1LGBRBIXI8GH76NV0E7XA3N5IJHRUD8XE0076UTA2RTYP5V4IYKOW1W7WUP012MN7JPLJ1D35FPAZX2B2YX31K24BAB2DWYAFUD9UK03WYSUC86P5FCY3MZH36M385CEUQM6WLROEIMJA0W50APZK2DCIYK888PRQGRRIVI99SJ. +36#RW7FY5QTNHGULKSXJ3BM2X3LK1PJN4LIH0F1Q5XN0ISNENUSM2GKWXZ2MR9W53Z79V6K1MUM5KQUKFA8GXRNVJ2VYWTK9PH5UPQMP8GI99CT0N299XFJKJGS18WCDEG3I225WI1SC2JD1NXOJDHHS9HUWV5CPI4W5WZ72BMMHLH3J6S6VCIR23GH85TIROW9P334GG44NF3J0BUKOLFX3ZWPI3LE6ILK6MAT1LMF7GWT4QQAQF9QJC1DU6F25K420BIZWH86DQGI9SE6H99NILKHTD2R0V6SKZGREMLZ0DHJSZZBKE9TBFEF76DZAKARPLR3SHNDGRDAZVACMX29GXI11HWHVC9COZI1OK73WIAJ98KLSY2HGJ8V61QUAPBWYBBK08BVUTR0VYOKDA3T8VNUD6P5CLB2QZ7JR18KC9VN4V6K1NZNAKFWDC6ADSX0NVGDVX5OF4UHJC7LYAX7NQLL6JBLBW6AVRBUU1CEW47KUEUQ7N2RJ6PDOL5DCL3H2QRCPSU40SEAMECONLX8ICPNNDE1YKHVUOO3THELYVS4UB2P49ZNS7N44L1YI8C0DVQY3ET58T0YL77UWHP40MDBWMAIFFXPBIDH15IJ32Z07P2U9CWAWY0VQVHCKL72TMFV1LLZQL1Z1Y4895FGC4PG4CR5SVI7Q1ELPZATYZ7QGYFSGPQDUGR1BHAXRR18OFTGKVBYASOHQMLWS7ZKKG2D1VT3NI4S9BO1FC88PL799S0OY8FH7294N03LSAT6D6D35BH9WE08ZC3EQ71Y2K5IQ0TKTGXDAOKTI8T75FAOFOWJY9EMIZG40OSBRXWG39AYE6UF6YYG09GET4C7FPX7Z7TS96IPYH6B4GH6KAKCCHOVOTSF9RU1RHM2EW8AJEE7D89EQM9GEM4BBFO6T9B962JSVRJAYLXK6MUNNRFI9F5YJS7MYRSPLOIQKFCT5RSMO4GB7LEVSEKDJA3LBJB9U2FBL34SKNO2PKJGB4CG7XHBNNAM4TYK55Q8ER41ALYAX7AXIBUHDUDYXT66EWAGECRH5LM1ECW0KOISA0LBGW1ZQBWAQZW8DGN2XJCYYRF3BBXP5CQ31IRO2BYXF3OVMJR3VLPNRN68ZFIWCH56YHRGSYU005JF9V58HDBEBGMN50M1J671H4917FSMYAQNA7NOFBJDH3RHQ57JUSGU2TKUALMZR = -36#2X1J44VHUY3UHVTU4U6S4X4MOTDHYTFRWKD7HCZXVUXG3UJ81F * (-36#9K5RG1WQT88BFW07EO8PGBVQDXVLDU1LDENE3JL5ENHTC95HEOUYU9AFLU1GTHGYPCUWQEDU5TGT4I9LVG7PJKBX55DM3MY0TA3WFKESLBC6WBDWLN74E099PMS19XY1GCCNCTKVYVOJG3AGJMI1W79XLO2E2XVRH34HJI1RE7WB5K0MLD1L5IP4LA3PHSL7G2MJGACL1D0FLFG46RCEL3CFF02EHDCK74O0ASADMAUV8JCLWAXU8CLFHWZZUXJEC7D5YLW1UIPL755TR9O8PND74ZQI0BTHP57JKXD6OXZIXSR5ZPFGH7WLK40XIAHRRHB73IGNRYDBWP6IJZQQ985FY71XC8XLR3Q9EVRL7G2HTK813X5V2MV5H5CGEYSD6G14B4ZEO2B9MT7W1C7NQYSSJHE5V5Y0A2OD9AHZQISHU70W5W87QW80Q5O8SBBAEJKPFUT7B9SIKH4GXM0Q427CDZVDTGF5CQF62JDKZ5G5FQB1TW15DLSJYK70IA067PDJ141CEGU0QYY9ZK949FG70P47XMDJ24KKP4PUXS9GUCFTY4FL0SSBYABUTQVL4KPJYXYXUN0YF8C2IK3DUDMU98SSCMPY90RDNSQJJSGTMMUG2PM2W8TU3BUOBPVKWP20AE7PXD1TK7VE86F1F3CNJ14XR5Z2WIB5GOR1FRIQA3XCACEM4PVYA2NLD31PRHAWI95A8SB73RFWYZ7K1J5RZGH54N5ZYUL78DA0VRW6RJZLLZMTXQFA90G140B2Y5VT3F61TKYEC3YUTETINWQ748LZR7VTZVNH69NPN7X9LDOVN1IIBG6IMXXG9N3XB773UKA6FTJOWPCMJEWH3VE22UPOUT8C3WVLLQ7L5A06W2XIO2V1E8L6J7FF7BGT48XZ2IEKG66QSWHPHPLAQCE5ERHSEXK27IPTWM90DST6BIMHR1M7WC1Z104L2LOO5G86TZRPUUV8H8O7KMVJ7RPPRNSKJ473YG4HJ3O9V8B4KUNI1AYJABCJA0O0YBYVPFFKLSAQGTDGHLMBSXLQA4NA0Q328O3SMBE6SS14H5IXZTHJEZGW1DDDZ1WYGANT8B2J499AH8Y5X8ZYZ3NPBVU7IDUDLTQTLT6J558KR8QZ232NJ4V2IGG04V4OP7ECWTML). +36#GKTW6A1NHK688494RYVPHGVMJAEFASX35UBN72JYNH0WUP9MZNEHPG04DMSZJZHFBEU6AZ9P4WKECO0KO8WQZE0ZSKX0ZWAV9M5IJJ4FLQ8P92FHL0YYZFSH7VRO3AIQ4Y7D5 = -36#FUPPP97WM6W34AMK747F3WXWG44ZAEVCA2HGAYD7UHCN9Q5OCKQD033RYL6JQYKFUJZPSQVFFXH71MWXOIUM9S0FEWSC69DZ4H736M3I7A1BOWITRE8CC1OTXRGS01XC97FQY0SCKBI6Z18KM6KFP1I1OYGAK9D838IZ9SN6GGKGTC9N4H2ZFNS436W570PEG36ZEYWJNOEZ0F4GM7MXH8H67GSIMZCG9UWBYRVWSUNRSC0J51ASQ7WI9Y315PJ0L9VE6I8YO0WH8IEFYP8Y5PLE1HKV5ADMO1T36OERQ8CUOCWTE3GNPAMZUWK6VTBE69VGQPOMCBT24ZTW27HAQI91RPYBC9J50BJ811B5KHPF5Y4OTW2KMSFREFB5MPDVMI3488J6GULRBSUQCT2AH4EUWOJHNKRSRZKC31WBLS9WBBLX9ZRRZ6OKR1LG1HJ3SZ7EZOSLWKCBQKEDBFT4IKPZA8C4FA3W7D1IYE7KRP7078RIJWWCVM0HYNL div -36#YFAFCW3BIQDP5ELGZEKRTSHJ5BH05D0C79G8RDMRFZ15GWIT0VPPNC96O27XJ5A7C4EC7L48RPLGG727B7ERVV0NV618DYR62AO00E9MJ5L7FU4GXIHS6SW447AT60O3JMAOW78Y243C1C1E9KI9VH75EKILZMKBFCEPC3QZKKDYM1ZHPGAAKM4SRUEAI5558A3KEYJP0NYDZ9DLORSJWU1ECGRM6IOPKXD9FE6Y97UVXCYQFALF37XKNMGUQ10QWJM2FG3FSTCZNXXKGR84KUXPD6QSL4S3FRDU81VLNM3GZW88KWSCAD54VVJKB6GPJ52FA1W1W2UVSCQDX5OKJLZM2LE2NKHTZK91RS3RX8TSAX5IRY3YQX. +36#6KN3Q7K3E5BCZJBU3Z7CSORUH05XF4IXYEM406CGBJZYQJ057G4U4AGKQ3C4BD15NTN0WEO9QQ1I6Z5PBLAPMQAK63D1J9UT3GM67QXS3CV7KQ162F6ANA1SG7H8R06KQMH4DP2P0JL6KTENYYZPQZQ7BRDE7IOT7MKT2KD8YRSLRMFCMU67PK42AY6X7FPG13814ZL6OAUNYP43AQSR13USKI51PZRBJLHCKGQY14XRTNUI0FGLFRY42C2GNFK1CSOWR5QKEWZ10EONHAXRR0ZBSFLWQNQ9FWSRUGMC9EI4XCLQ0L78PIRDQJIQHIJIPA818AK6DKBRETP8M8CJ4UYCEI95487ZSTMQAOO8DDEOK3WT7EUF4AMQ9L6P0HC70S2QQ2X6BKQPS8GV6H6V9ND1C4M4BOVJTKA3H194VFGIQCDMA3VOPD20Q5J2NMMWPYMFNNEZF07VE7KPTEVB2WJWW3COHHWTK6F5VLNP3RTG6E5DHOS6IUWXXY9F2AXW72N0813JBLPWJBCP532RG2F790T3QJQ6LTLXLON609LTVYCNV9ZWV60WWUC0QKYH1YK7D5R7PLYQ4VARKM6PNGQ538TDH941VO088UW4OZ2GF78Y6PUXIVGSLK4A2YUVNIHBXXYJEQ3SFLNS6ZOJ50AM861Q4EV097UDYTSLQJY5ZI94BYL7YVADUJ5PH9G15I4VL5JZ8WJG5JSY4SFI9QSOLFPEEXB790JJGUXTSIBFUK9XUUXJSB8JXG7W = -36#4DVTC2L0RRVUDGLEI5OBBAASQQJC6DI0WWSC14L5CQ86L86QON47GI1QUNUWAMD7N3BR3V4SM4VUWPZ56UP9H4KVHKWSPVD9F5D6T6YM5BU96J905M1DOIQWHE106VAQLUKSD1F4MDCREA9LQ64Y690MLW3UMC9RRVG46UORPS6VIOX2ZMUX1P6HG76UW5HQ2KX4KZXZEHA4RBD1WEBQT8PF5LHHMNAL1K4AGABEKS7KJNWNAGM9HH5JUZO39D0YZ788RZX71NXWO8AQREMHHNZ1ON3ES5035JSG35TD0RIK078VZEQSEUQX0YF9W9D6DYMU214D4I6FANZDAVHSCPUU0QJKODND3A0WPVS6MWPVUETA8B44KIEIR2NCD2CWV940SKNGQSARDHP4TB82AGTO4NWH5P2J57QJ2GKSAAYUZ3448EPO7E5T4VW66LGSZCNB5XU5DYXEHB4INTPD7CS8OTWHDFQJ840KKFNH06HL5UVE8ZZ9KMX3NHFB6SYXOY9RVD3C71JNJK7CANCL4TZWAI81ZLZ4BN1EC22UTBW37ZTC8ZBTP14I7VP71DVOQ5HP5VERVBVB06IWJRI7W3BV48JGJES1MYRKVZAGBWYWI81JVTS8N80W5DFOJE4GEOHDO04MHRSFZ8WD3M1PAM4QEF19C28YHYKVDSZSR953VLZA6JPKXJ715VXP2HUMR1WLTB9SJ2S * (-36#1HYHO3PPWGYQQD0FFEAHFD4MXX50VP7A277HEV8FPM989EQ3PN). +36#3E1UOZMJN30LP8J8N3T9D9O3G1PRDX6NKOXRSSLLKC4GV72KDBMP2085PLDNQC4W1F2AIUDZQDWQS52WW87S7EG20ON23CBOZG0J8RHBEHN93D1R2I9YX6R7C8K296OUVD6PA75DXE3SIYOGIEVS6FJ7DJFDXVFITARPUXJC09WHC04R9UAAM3G0DAPAXF5YXBQ627AHHWDDU0AMEAZ4I8TUUWND7NQNW60BMMZ4RF6KEBK336FVDEZ3 = -36#3HSJDKVXZ2JBV0BNE29ASG70PL9IME56JVX2MRBI8VKYIUBKQQV99I3WW6SA5RU3UW9M3Q3R4F4RPFK3R93MXB551III0SUY54Q7Y5H3ULD1J7KHKZD64JO7T6XFN2XL5AO8FAUIGSHHZZO3C08EOR802WKWMBC143XMO6LO94DA1H235SNLVGNSSAAG9O6AXYQAB5T2ZVDHVYBNOYYP8SD7RTNLBF8I31VDMA2D14LLSHJGJO06NK93YI950NJ1JKCCH76CP0K3P4LKIX8M3JXLX7X30S24SGQ28I6L6 div -36#113Q5LR99K7QLO8JSQPQM41G0QN0ZUKVQTNHW66G2WN3E0TXFQ. +-36#1QZVD7DELI0DSAVG3770Z76EGLNCZD2KKVMU5YP6N5SY8QKXY0KDPI24L784GLTPQQ8P8FFYCP9QT84TGCCLRW5TGJ7L2VQP12XRISK7EQMCAYYZ = 36#28PYTYGL28KJWHDQ72WYLX4ENE6J07I074LIPSEVV0VMOZWLV1VRVJRLWBX8ZOY73TDH3MOCWB7IRO2MH6T6C92AZGIA6VDTQHXVBP663MH78SF6GJS6O8MWL65A2V3RHT5CQX9Q6HERXRM9WUNW9SYOPH1YR7L4B div -36#1A4NAOBR8PJ106U59D9JW7GPC0ZSXN2CQHWPVEQXF2LLBDPJ6P. +-36#67S6C3WLBSTD18O87E3DJNWFOKU7FM5PXPKVL1HXKN98QQRCF5E9JDYP5XF664EF0LB5V2EDDMI2KZWX55HIFDYG8MMGIV1G6E8K68XO0MSIMJSOCR0TIBDDVBQ4TX7S6U4B7TCHSCE3D6EXC0JV0MNLFP9RTVKN01U2P08P8TCKWY9AR5KW0J8J7XQJ5H1AG3N1K43S9C48S2KNCZ6BXEBJN1FION2HACW4HDAWFDVVZSBAD21ZHMX8J8K2TV2C43LXT72PS9QFFEPWBGN1P4GPY0OKVMBTPHZEIMSQAV5ZGGXBVVRBNOV742AY69MXXDPQTSEPPP8IJA7ZVMF7SGGWECX758HI6K1XPGK8UJCUAZNDLT2ACMR4M6JZI4V2DCV1TXRM4NAPCBIE5YT7PQ01YCV4EH0AXH4V7WK0UKD8219WPFX8RWN0KQZONRZBV37CPFO44HN3ORQNGLLQBR7O9OHO6BDFSPZ6ZMUHQGE0WGCN8DQYHH8A521CPV0K2240YO4ZKKYWS3JTA7193S1E0U8UT06FOAG3BZCN78FUOJU80B7L3NIT8FIYA1N255ZTECGIOZFVU30NOEWWEWR5ELSRGZSOTMU5OAVIS6TW2Q5S1NW8B6M9LRNX1LMRZAZEFGTAYN5JJHV58C9MXSNYA9404II5KGKIM6J0Q2E6551W6YBA0M311GLK0JV7M58F9SCY6EJBFA94DA5IM66IW5EWJ7AIUI2F2Q7G291FML1U5IN8WHP633S4RC1EUIL9YLPP5XOGFGRRNIQQ3EX3VEKAILKNCH7KWD3LR88754R28RL2MLBN9O07G79K873GF0D97IQ0H029733WPOWIGW67JZAUNLDYF04EG5CI3YNLUR41BEQD6TON4FSJ79STSEUZAK = -36#IXZE9VQPQ408P0RUSCJX70N04UO3DOFABRKYF3B1ECNYWZGBQNK8O38MP6ZWEAN6ANDN67DWE8PNZBMD34IDOMZT3EU6RN04VICO8E62KID9L02XUPIYXR2F7NTVZ21K2JZ6WZRFJRGBB0LJV14HO7NHMPMF8HRRGEYZPYI4XM9YCLPGDC0J0I0RR70SU5U8MUL0PBSFTJ56R2FUR396JYSR46TSMTUAOD2DOTRJUKDZRU49HE1V3UJTBVHJBC086O3YJGZS5VQO9J0LTFCAXOS5Y50BIHBGJUDUDL3XJ7XO4DQN3SRHVQ7D8S7AK7L0KCVF7P6T1W4AZD9BPP9WT26MZDZH6D8FVE9T60XS23WZQGNXOTCRY8V4D4F4U26YJA6ZOXBUSUYKH0DY5N2LGBR2L0G6RGCJJEBX3JDCXVUHU29VQR2LNB0FU2E6KZVAWB491L7XWVCJODWAM14JXKFW5TUKAZHAC8TLSC2FCVUVDF97J7GI97C4QJ1IN8LANIK2TU84OQR9YHMEA1RSBLT12JI6SP6V5ZTNJFHMQV3J74L7TBA6WDIX3JVMGCI57R35YZFYI3105EX8PIA0QP0QW77KG3M9QM61BL8FXF0C2YCJL0PQZ74DC3SDI2W6APPYRU29JOL9GMZVMKIC7NA01KN1MDIGMBD4VNJGMTNZ8SB19JVIKI1L9Z5R74A6G6TR95QU1N4OU86QSBAEQ9VVLSRQHAW44SVYFSDS6SGYL4IRSF3KVA9BZK50WFWDCI8QU5WZQWICKZ46S3LOEA7MK7WHZBJSSV64V468245XMQ37J11OEB3R6Z3A7WZEECJB8JE6VSB3364XZRNB7RRHWKCMOPGZFETO6ZC5PZP4JKP63EG0BS1TF0G1ZOZ6BR4M82LGU3M58WWT2CB4XWLBR2ZIGM1VQZLPWBEB7F0OUN3NDBSJBP5FTUVP72EALZIUX95JHEAFA8UFIU9UPDTJ67J49E5L55KPRCT5ATEKLDVDNDTL96KZVL3PX8KURRYQOMMC11K10LYGMOUZD5XKHZO87FHWPKWNL4JU536JF6WI0T0S71IZ9JUTCWSXSURZYFZ83BGA33JTOKJHQ7IN8H00OBYS6G2D09OWE3QHA752YOEV3DKYDO57JAZA99HZVA5YP83LLGGGZIM4AX6KPXZ44WB8GKSRHRIVAGZ2MU7TJ3PO9MOVDD62KDV004353ZHG5ZXUAI1WJZIGFRZJKAI33R96DVQ1TSWQFLT1CSJ3YA4ZBWOOTZMHN6ZVORFJOQL5N68FB51WHP0RVIGDSNKVKZTSLLDRJILEAYOSUZ4XBIMYSLXVSKDDI3SSLYPIE3U3PVFUPDS8SEQSADZSXMIO2PB2E555CE4H5LZEFF83LTX5RBXN6LJDUO9WUV6NQESIXP0LI1SKUVZ168ZES90Y2LZ1N4IKGO7LB3JYZOG8LZG4UNJK84E8T3RX827F913UUM0TBW9DF9MEAY1K1S3GJYC89WLT3LIP2PJRDNXI5WNVWKLZ4UBQMUHKEK7IY8GNZ3CGOS2MU7AXM2VEQZXWHFHYA60OGT79J7LVTG1UIGDKMENH27G div 36#31PLBHEN3KGQVWUAGJQ8NZO8G9U84CSI0D019BR5F4FM0K5JC2RCCGAPJ0QL0NPRYDGVRCLX3438ZD5AXIVLKSSRISSIBGBP00TTMB77X48UIOAN32HVYVEGKRRK5C4MO4CU51ZT6NLE9WXWH32TKIM5Y7GRLTH8J15AFGMDNXD61JJYM0VBXTKTGC6DC616IE7E3DMD4UGHE5WOLW4GM9VRFL7EFDQE4CA6S1KW3EJIT6VKD12IKI77Q94TNL3QUMILUIDZWO6ORPIE8W6WC89RDVM7X55BD0GYU9LDO57JD4VZ8P3JGQGGN1OUZHW0LIZ2YBS5UFQ9RYH2QP6WG362H9WYGNV5OELP0XT64WQIR2POQHCKC2ACAOR8GRVC9LXZIFRCC5W27QK9AMVUCG7DR0AB7FFQWP2RPOPF7GUE94K00QB13AZ5BOKVMT4C74DEA36TRKZ08GXYV10K7CPNFOQ6T0DS8NIRF7G8JTTW6SAJ9ZJG8U5ROS80VRCTTXWVPNX6P1JU9PHOTG4K2X1JBUOVT5014Z26GX0ULNNZMS5J1LQU5YHK61LAK9ALUY1KBLC2U1R928R3XJE42R6XP8F1XWAIKMV81ZQJPKTSLMPC7IJMTK46J0HJM2V7HQNGEC0MHA6GVLOIWQW4568WDXGSJLTOTCQK4IFWMKGYADBD4H. +-36#SJP4BCLRADWB7WAPTN12HK6Q05FNB0QVBCFXYS3XM1U2SWRO0HM6HZR45WXGOM0CO056FIRLY5PA3RZB54CHN6WT38BS525Q3O7BUXRVLL9D7PXB2ROIKK3IYE3ZRZM5J4RNZIY5PJXP2VXRHMOD5OO7QSA0PLYBRS5KJ4DSTHFIS691YMEZM2N0Z0VIW0F6D9J4WRBTAW1EW48R0I2KWJ3VBJ4K25M9E403KKSN2P9RY18VF1SEPD2DBX8LDVQ4TRQD89LNJW704KFVSGL8ZO9RB54CHGL8YS0YRL3PXBZWYAVNKFV07EHQMJBQENA5L5CPTL4WQSER5GMS9OILLSYZ711JOGO6BY313QR5TX6U2XSC4KCY3A1YH3QO93W8NIR5ZM6UQPUI5I3CYT8QTK334OX7OFS07UDS7Y35NBWNPZEBXHWDRJIOLPVOWZ9PFDITM9FUOAXYT05DCUY0RMIQG1MWABG3DCKDT0YIRQLQX2UE176W3X27NS89HHV4WF9YXY4QRRPTN2Q2M2WL4XPDLWJC0ZSBHL10ZJYPYWKCB2EN1K96JKRNEFG19ZEX3HT809O2XYUYE464R5FWRV36LENGFNMURL1RJKCNSYTKJ9VJ18ME4DKGQEKOYIMTSM4SY64JKFJ7S9ZY9PROVLG61Y552FW1CX9Z3IJU1C89Q5NTEPSFYOR14Y0H7MRWMJPSJKV3JC9JPQ3V8SO8B31MZURRZ02WPU5MYGHXBZR0TY9SBX9RHKIM9IMRMFHOBHY0DHJZT9ZZI4UY1GECYLJPXCOVAOZIQ7NBL1SQ9VXLEHW2KZ8TV1ZY1RRL02XI7VWQ4VS215MQCZ4GGFSP6R8QAP0I37BDXD3P6M7NC30ZJBW3IYPKV08DJ25K8R7RXNPYX6THXQTLOTEU2ZFY2ONGCR4FI8Z6P2DWN415454A0NFW01TUXZBZJIOL4JDVAFHGRE = 36#V9QSSALUAU1X1ZD4CB0QFDJJBEBFJIEMFWFBUREKJHV265DLT3QA616JETU9EPQSN9UD0K37XYSLO2NCK3S8DYJFSH80EUXTZV5POJGMKB78GEYY3V3194V9Q0D3XAN8L4O3R2X90W8WCA2EAEBWEFPR4HRFXSSOVPYGXSYKFWVHAB4HGPBFW6HYB96M62WN0HUDWI99NHDMO7FFHU47AVIF1CI7ECODMLIOKHYP5KRSPL3HY4GW8T9PHR2MLEDK18JQD4AD6416I2AX75FNQX4J5TNWKA10Z7CK8UH99S77N69GZRZPEGSRD95TJ9I964TXCXZAWPJGVMEPSUWJWA8R9YEPSE5ZP9Z0Y4PHIODT52AUJAPEWQ5NWY2YBAZA1XN1EWEUGEAME8I49WZF3AHL7L8ATYHS6W8HF0NTWU3B55BAFD825WEL5QS7WN52WYRAFC7NHIY7444FZB1T49NW2P6BL81IGA3VQ5RKESNVH446A21NPEB1ZSYJ13ULFCSM49EGS9KA2C8UO11XYLNC5LOPBNZ5NAOXZV40R3260YY09VWK0ULIJDN7CKF8OLPX98GKVB1WPHM8OONIP7355YSSFO13191T3GLASAX5HNIAA39BILVXZI7WEXNLV4YCBQQ6Z9AO0B50IBD3SL5 * (-36#WV4HX6XPKWLTAHFSZ0EYNRNMW9UXDIWGE2RAVI28RYZMDC0YEJLZ0LLX4ZRYWZGS4RJ4WTW9HODTS9G1AX8ED2SLLNAD7WNGIWZFQF1S0APS5ZHZT2M6MI1C7YARJ8QXFP2GYV94B1DPZ98GNJU7RB1Z1CF6QGJ7PQUHKLUKB0OII4N3OS1SOHVDRTM4CW213CD77F5TPI2BO46P9ZEM7XWP7KXLHXIXC3CV6X5ZCDHHXWKF8V9EVHZUD2B64PHUS0RHDH78W9RTUEH1ZOWDT6V0GX1NWJX1DY4UGTB1AIMAFSA). +-36#1QRZPUVUKC0XJSZ04E2CJ9GTNOSLD7CRXJ1OW3ED70WKRPIO6V8HMUR4QUUE6RQ2AO8HJ956HV8NWYAY313OYMRSTOYSH7L53ABZSR58AYUIG55TPCGJHMQDZKMGBWCM14PPV90GDLLZUCJBPOP0F0CXDA3ZXU1SYA8MSAANM58YUFAW61OY9BF2FRTS10JGX76U4YMFIRIFFPM29S24LCSL21Z6JM035DTB04AIZ7TWW9AERFH5JE3QZVQZ6HR992PP = -36#1CAT0E15BSW3SLIV2EWXZ5MCXW18SDTL2RC1ETGY4P3MWPCLHO1TVJC4H9UYZCP4BFU19BOB6RA8FLDMY9JQ6PXPH1KR11MX7SUITEVVI9V1GZUAKXBL1CO8XDZT07WXRXQ2PU4W4D0FT3NCQXF68MDLX2Y1UAPV9Z0CZWQ9MULWQ3N8Z42TK62XCLPSI310GRC97G5JTD1NP9H4QN7JXPS1IJ6AIOYPQVYZEI05LBP9TNF619RE6WW9PT38MKJ7GD6QVIPIEWNIDMLPDR2U4L5FFQTABM32CW6KU5E8EMKRTT4LQVIAV div 36#RP4GODF5VTT86AARNSJ8A6GT35N3G2GLT0284S2K205W850Z7. +-36#JSE7WHAAP44CMK5HJZ96K1Z6X4Z8QZN1BUWQHGWA3T63F3UBDJ9S2Z0IEUMLE02SJYGN64I6LX5MAK6RDODM0BK0BY7WV3HWHK49NBXJLOTJ0ODBZUAXSNA9P6BADKLYYBM9H25LVSV6DVJGDE145JHPDJ0DZFI62H3B5Z23BACCJJQA511LREYXXHAL0QU7PSIBO543GY58FXPUEW311R2UQK2XDMFGD1SDJD0U44TVXLP4T09RYBM0ST2AJAIKUSDS7TGYD64IUWTP3M7DHP3XYIKH71GLELASWMU8LHP7XOCFKFXI2PMOBWN6V8SNBFHZZ4QFNM419W95KKESPAJNNAWAO6NHO4227ON7D91Q0PR67PTBEPS62V8L0VRPZC2A0H0X2XK5X8RB8X9A2JZDFEN2IQH6IZBBONFH79JVVAEZENE66ELBB2846O1H0YFU7W7ICJ8UTVZGA31U22EHOEOUM8II4FQFGGITRG2KFGA77WWXSC8ILANLAZX4X5WCHANEL1UM8LB3VVDZXKFU08F7PPFPFDAUTX5IIB8BS5BBR437NBWEHTWVRV5B82QDZXCS5RY8WHBYMYI5FF6ND5PFYPN3ZWNRC1257IDQ8JMN8ASGTHDRB56CZ9R4PX1SH2B1XHOUORENR4Y13SK9474D25O68X16RT2BYOY4PDSWYQP5QU2ZOOABSVK4EUR4N123UH5N3PWM749MUESADLUK54U2U7KZ6BU75MY5CPDX5IS3BGVYP48SAW7KH = 36#1ED2ELL2GXZYBOWXIXI7PR2NXIRCGKZZPPSL60THAZRDUWHYWE2IZV7DM06DHCNZEL10AC0L50E2EK4CZQDAQ9XFIT6B4EIOHLG2N8VMVSTUJ04TMOEZHQ1B46J6QWY3GDNLBOTC58ZJOLRSYGN8HP8STAOLAMC1RMD0UGAN4V1EWTESOAWU708FGCSGE9RH47WKDCU8XON1YMMT48MPB65Q1Q66VDKYVKX3CX4G2SE6GYKZOW0SHTJ52JAN4FVL5O19LUY9Y8VVNB3HZL29RMFDKBOIIKPNO96RDSC3MBXDBMSZO394AJ5M7KQYJWM0WJQD0667LVVVG6714AKOOCPLUIK9D3R8W0Y2Q0B9O0O3GRDOT3LHQ87SYEESJYQSU5WNTNCE3KEUEWXEVF7FMDR65DC42QPDYU2DEK95BJFLRQHL5JHQ5ZV16RR6OIBMGIM0RIT5S9KW4QN2LMM1B0UF85POWKJW18HWZO0U95R16854ZMBTDCGV88NSAV3GJX0I4O9Y4U2S1KNVEME3KOTLLSALCAGV2NE4F19TQ8VHY9UKTQOG7FNL2DTI6Z7Z4W3BRSIIZ6I2ROHCCY2QDFBJ3VD04HN7CY78CPSEX3XYE88M1SIUCPYM6582J2IWI4JH7WO33JX3JIHTPS9ZH62SORXXBL6IUYJD7R88PHT965VH7DH12SVE8X5ZN6XIOMZO3MK09TSWP8BMECTO4K0UALR9EN09O1OHWX7R7GJVN17CVCNDE4P3SK8Y98MVQRK9TPJ21X66BFDZNBX3GGHJ1UNGGYODO8TFCXSXJSJ3MJ2AI89 div -36#2JMCXLMD0Y6II1CDKP2TIJK53PJLBDAX5XYG5VVN176PRNP3W9. +-36#BVF428CK47MNQU0395LBVTQA7MK5ZDKGO7FXJ9T20L30K160WTI1I0O1IDZT9I6UTH84UI8EM261UVTGSMIMTPC46NW4JGDSDL7ZEZUFUQZSJKZGE3YLQ004X4LUXBYTBRU315SS2BVJ6I51GO55ZS1LAODKQ0IO6Q7MMG3UJC32Z0UTE1GMH2J6CJSWJJR2DUGEXJFAPA4TYW671Y265LVRNJ88QJ8MJ2OO72X8SVOYFH9W562CONLBQ9216EZA30FGZBVT61VIE1TYRU9MW0ZB95QEZFLYA24BAO2TVAUAQ49PBHXABWLJZEHL7Q5ZLX9AXNOZVMGTJ3PLQYGLOKR8WLQOAQ2URSMFDKE60XRWTI3QRM1J6S7J2TB4WBBPJZPNEQVRE90GIO60LU44RLUYTEMNSQT14A6YZNEBMMDM9DMFVNJBBAWFLD13MHJKXW1OZ3BQE7U0814O52IHXQKV9C70Z8HG1VG5QZ8RQ5UPTSP9MGIZ9CYJSZAJKUD5O3LMZK88WEDS17WCEVFUQ3FW3FHCEUNXX3IWRBXTWX4E33XNFPFHOAQNT93J41FHVXD2ABIR1HVDQW1K53D1Z76JOT5IKYH7CIHSMVLF55A = -36#NV2V9K1N7TZRB0GH9L9FU316RM8OWFV2H9ZRXBBF0XCJ8OFB953UMXS4TSTDP7GSDKAZ60OO6YDX2YOW0E6YOB7468CN2CWQT3V1CK5ZNPCQSPKAVMQHJZLQQAE1SN07JESHV3LHWZL2F6OT9APF1NWI2OB3MQR02ILYAONV8HFGY6CI75ROXWIBVUTYOMJVFJB0R5JH6GIWF8LS137FFMKLLHK1YTM2NMLDA3T7NFKTFZQJYHTLOFBDZ4TVT3X1A9C3TABDJUHE0BI7MPXXCIRXDJ2C2IMLUQP1HVB2820UEZ2Y3R2OYNH8G1IX9PSRZ759U76NMB7KTXREP58COM88JG31ENBLAONLD96SSZIHGKPDEK0VGRSTYGV2Q8OQNU90VI12HLZPHVJ512LTZGR6C8Y7PM8CFCV9MWXPZQL4CD36J4VN5JLW2TDAHMI465LEDZP9CMOCEU5JR4LDQPL2Q3KRR2AFQBV3UE92PXR9YMWH43QRAXZYH6DV49G4GNZMJ7GM1EG2VKT5GXUQR8ECOI9NBKALLC2PNX0XI0SKJCEVW770T5AIFM8M6B3N45C8M17MIJTPONRE9XJTGVQD3IYRYEXJBVQXTF0GH4UG2F2Z6UEHK6LG3KL2M7RWRQ3NHR7J4SS70FHHDDYVEGBXHYQE div 36#20CUU2WZKJEBRP4FWTYCZBJ4SM9RD6CJ1JMURUVVW3QMJFJVI5. +36#74A96ZQE3CWRGR2Y7KW6JM2GQOPHB5DFES2LS5OABC3EQBR3OKMU3M3X59UGXQ9C23U6OG7XT5TFKBGSFBGJGG5YM1ZQXQHW5J03P8SFBUKFPSZPGPZKTQS5M8E36AK4YKGWIDS38TC5PR6M9HP7Y4BBSN6KL60BXL7H7DYT9XORDCDQWD54S0Z9EXRK4DJNA3IYN3RAB4RL3J1XFPUPAS4RUWJD1N26R2V0UB7T64RA9V6LPWGTMXZ80QDYR91M25D5RDUQ5B44RYFH2E0OWS7OR83F76P18NBGUL1BJN6FWYR9M4ISQ8EHMPLJWMHP39LI5LMJU06OFM7DX4610X044UD544Q78YBK1QEOM6LDSN4X9ZSTX4AUCWTYR17MVDRSNEUPD5U6C6124HVUXAIERSM116S6M8GNAYQRB4JS77SMG5NZOZF484DEAH7AIIQRG4U6GFYB2VVX5TO7L75FWW2F52LI6O79XOZXH8S6MX8EGZEQKNBOPF77WF3DFXFOX5ZK1LEHX7WUW3TOM2I4WG4QT3J67G35Z79HJ48AQKC74I4 = 36#7G7OFAC8ZHAQHE3ICSOND5NAUKC0R68BP87KXBQP1HH9IU67USEIU6E17ONRU85WMYXFU7ORMJRV6DD8E6B99WOH2GPKZI8YF924SX2YQAH0UCNOF7MXAJP0CI7DPSJ0JOI06RKK75CC2S2LXQ17WOHONYKCARBRDI4PXT6ZC6U0WAF2LYLMS4SQ8XL3ANV7Q25XEPYRJ94KTFL7ZQI2J1284IKKFF0X9KCSHPDAAIMUG5PW1QUA6F4M0XF47DDWWBBR10ULVCOO0WNQJ8JMGUSYTNQSOKATOA7VVK0VQKCWKA2ES6W371E9JFS9R46UJN2I9B9BX3FXW7PCCFS67UU1SROUU3QWFZMYLJULZ7TJRH222HJEQRBLSUFR2YHI2G3UM6IQRPPAH4COG0G55G12CN1QRV159PCUHWRJKIOOHJM6M12FBHVAP6FU91CXKYZ19C9MKQTHHRXKHZAHWW38AT887R4XXRX7AFCXBGZJ2E1BUNLA1F61MLH4269SWQTAF6Y0KM8OKCFIT8YXBD73XJKCQOILBXTWEZRGCN4BYUVAF099KNXTG1RCLTUP3ZAGAAF9S0NKEGYOZMUIAD87BPSY627AD3KO div 36#11OBJD0XFF5W4EZDJ5QCP1HMAXJPET82Z8GSYA7UT26XJ7G7N6. +-36#8UZNTF0CO9ZKF2TSWVZR6NIDDJOXR855I8L7XBV4DHD7189XW = 36#6YL5HF3239SXD0SZ2G5I2SCQWWGYC87GHYPAV6UDVVYP1LLE2YXMVHGLBHOS2QKMANSNSPSTMRENBJJKIIITGDP9DYLTFMC7WERV2LB2HIA46T4KW72QJWQWH03IHI4AEAZO3XSA6D4DBQRIFO6J74BX2N91MCTTQJD2CA2GIWXNYEKY9LH1SQAI9EZHR8KUHAPLODJFDCBVJZNIR1DY585N27QO0VYA1DW4LQGQW6M4YKUN8YJ88RO7N1FHC264STLHP0D7R5J5NOD8TRJR05XVG6MZ4ERAAEJDZRPW32XYLDID4LE22E2U7YHS0VTGWVZ635P68YN79YAW3LK88KWPL9226KWL78LXS7A9H1Q4C6IUJQYA98ZA70ODW1Z05LYPXV1ANFACBV8A6LHMH33N5VLLRIRJ74ZF1ESTY9QD5XC div -36#SA3A1E644W4812WWI29774BR6KZSQ7SBK4OMPWRJK7WQQH149N40DAM3ZXJYKNR6P1PRHWNVYUOCOPX85NBPJ2B8PQY2EI3ZIYTXD4WBOBVOVE1VEUV2OGPUYL6TY66410RRG2WZ3HURORDEOUJCO8PNH9EQN8FW0JC45PAAKLPTTV51Y56JNPKC0JNPCM99ZT1R6U92TQG1YWD51MFWC3P5COLAT2SV2228EMNZRDETDFE9Y46FWN5KVL9Y9Y1KJ4XIIUC30ZGOEHHYCHGC7UMQ3E98XG268AX2DWA0TL1OLQPHDEB2VFZR1SNJZUE2NUG9IBGI4912HBZF3L4I34ML3NT66VAYO7QU4LFNTLY1FMKBIN0SXNQA8A2A6O. +36#OT7Y9PDOQWEJDFPR63K9ZD6SG8SIH53QQVAM52UQ7TXVWB6YY04NN1BSQDG1VF4QGS16V3OU73NMLUW3M0XT2412FGDDR0TWSHR15IQ4ABS7N3FYFHRMPSQY2HBK020K9OPR0KYOY5QL0GQ4CTRMCSE3DB5UTPUEBGZ6PRI9JP0S1MJ7KS8DA7WL6M384ST4DUHPG4BNCIGFKWN9A91V4O5UJOEGH1RDJ8Q92IBXX9TIBFA51YL80H3G7HTK1FMZ3JDXWU33BUIKPWVLK799142TLULD83MQSGQ9IKT0UZIHOSRXP7RPPS9V6YTJYUK7BICN04XUYZM42XERAW6LWUPOZ68448ISXKDF1AOGUN4D7JSZYO6CSU0B72N4TLW2WH4VZHR42VEWI2IJPJ82WRJCDTOEDPRJBEY2MQ3LSFH55PHUZ2KAZMXJQO87RVXPZS9XBL84TP8EMR6CMRIKULB5UIZ0QKXSA9YD88JD15OVU567D1OWSRNTPLW1OCAYHIZ4WE1PTJYSNO3NHYI7S2MKGT9CR5FKJ6A25ID48JPYORTCBDM1Z4FWV8GQVOUGFVS44R42A8MKAMEDVX8I3258ZTMEQUPDFGK0CC2WECF2HEW3TBLHBAHEL36NZCZ9W1B6M33Z9T6WVVBANGMEM1CQMIJY1E96L8BFW9SWMXPWTFIQRKF42K59DWZNM1REJ3FRXE49NA0JQSYD6GQDJIQAG754PHKPXTOXVAKJ59MWJ18I967I22MYB6BFPDV0Z4N6OHU6PQ86RXZYBQC8DX4KK1HH9K8LR96EHFY5VEMTYK89PVHUHP4G6OM6L3E1PV0FX74M2RCSDGVUIW2KG6EHBVTH5O7V74SHOH26QW2ECNZR6JRJSXEFEG6W14GMSL7EQKAMISFJWZRBI7N49HO90DFW88D48TBT2MXB1FUURLJCFXL7O4OD5KVAVP6EL2D251XIJCFXK117ZM8G0VOL6WOP4PKX5565TOTPCW58Q33599W57K2AF6WRGHMXOK3ORV = 36#BTN7MLDM3SMGH8V9ORCWHWEQAXOR6GJMEKG3R96NSM0L1YC0ODIZMVXDAOXH9QV6AZF3VUVBBH9GKJ7YZPG56ECM4CBV5PXMW2L4LG1SRI1VM3BAR57JNAVBID8RS0F5CBPJNPBMQQ4WO2MGZYMBQFJT5OXO1ELVQF1DGZO23AYH4BMSATWMC37OOC4N1ZM8UYGO9PQAQB42P9S6ORSWDU0W7WZHX0HBNB2DPLTCQXUF10M428UCP812ZHITPTEZ3MMQJ2IZ4BYL9KN7KPRB639FOSK61KN2KS7MAD8RSZ7PB800C8VNMOXSJJDF852Y0M3COGCS738C0MESX7SBHYH9BLQA98I4GPAUB2HOHK4HQ2AZFR3IW86PSNIAE8578WHJU4VMJ05527J4OSJUGOPD9R5JVQCZMM9VYBSV73PAVK3M9HQITZKJQK1DQ4SQXFE6H0CKB6RLDR6DRDXX0C1V8ZY7H1NJHV4XKHBID2P94QRNXHDADYI9FQ3L52Q2C0HO8S7WFIAXZBM9F242KWUALKF096C74KFLUPPQ03CQWTNLWSAKHIBLUIELF177VBD786SC22MEF05JMS45XCDL05Z7ED4M9C187O6ZLHEEDTA52S173EQ6SNWK10Z3BBZ4HSTQBQU2W0SCAL9X3KSLGSUCL44NS1S4FXN4ON3T4O7RQOBWM7KK5BZONVQF1VXBFXL4SWTN70D9NY0N7ASOC87MBX9V9QYR1FWBD4V0ZC2WHTO1XNWDIE0DSQ5FSF3MW14QB28PIZVUWQO0WEYNKT3GDWN1KR3PWSIMWHJCAQZSQMNQGRGWG2P97H2VH4MENANM3JBPWTJ5Q9IT6X71KO22A344LV7C5I8QN2EO9J6I262533XMHGFEL8RT28WGOPALXVQA3V1V7037MR6LQ34D8W0WZSSXGPMW8LS2YUCC1FR07ORKO1XTL95QLBXIWLZNQILEABR27UUEH * 36#23JO777S2GSQB83UXQSFYZ016EHWP4I2RTETOMHIBC7P0Y3BZN. +-36#2J0K1P6FN2LCPMFP6I38MACU6N2Z8UWPJFY1IY0UV6PGQ24HH80D1RUPDRQWPQ0H9YANV92326GTT4KVAM5CQAEZZ1FY3MYP7LS = 36#2UAMAMJXSXCGUPRY6J8LI27D7ZCLQNCPJJPSP87QSM45I7LQGM * (-36#W13HUYFBJ741B173RZ6IY1WMOVMP5U9QCD0P32KMW4KOQSKKG). +-36#7W0Q4JFHNHGGTJ2U9IOCIRJJCNW5GAKLLICOSXGWDCFZPWI801JSCRRWKIBJ7THU6OT36WAC2GI5PP87RDYGRDWXEN7MXMEBY0YE7VM6BENJ67J1K65W0WQY29F3IMNSKRS4AQRVZCZG97ERL68DS4SZQ1CW7L1YLHL44TWDJFF0XKUWVQFJLKN9Y1POY7AS8IUUGI4MY6OIIMRIG060MPUCJVWFJI8YQLKCSGLOJGLWM1PL7JTAJQ32HH0FTG2OQAMAX5WXJH3DU7MFHO = 36#LA5UQTIDQVHKVWX01ONG7UHB6BEMLW5LPG1AVQZ4987DSURXWXMKHTMZY526ARYXASV0SJX0G7CGDZR301A61RBBF59E4SAOF2BLINWQ3ACIS9J3PGAKBNT4IO49EHNZ1JCI2E9KLYQWIAUZWDTA37B3Z7HCLHME9FUOIQWAG1SMP22FLDS3HE38Q0O7THEYLRH6PE6I4YBE7MF8U9KFRQCXWKFRTARB0YMR9X2LHN0BRO2P5X7JU43BTE0MXY7KTHU45R7KLHKJ5M18ZS1K229UOJVK9B11TMKF8X7DZXZR7RA1SS9PF9LNQ50KCMXT8Z8PW2RMFSX4BFF91RKX2SXEYPTVVSZGDHFNIKGDXW8OHSFTN0I3SVA3F21UXWZH07Z4MSH6F3ER6GLG5H3CU0EN89B6E7LC9GPMKT2UFZLG87H06L7F0BK75GRE5KGGSEE4EP8CAG9C3Z7BDB5KWG3WGRQ2ZN7GTOBY5AA8ZM6XG4YA5RXE112IQGA0GLU8BZYBRESEG1CFA42DPKN690VKV4ONN54912J2UQU2WGOFHGXGR53BFE17QEI340WMCPDLDIA2KLFPTCJVR2W65DDSLKPZH7313OLXEB793AG94VOJUGGRACODN5HR1RZV6EUNDQKYQJR6MVYDK0G245L7WCTA78AQ1YLTFF1OM0JV5AZSFVEOBEGE87H6815H1AN9UX4Z11WB4EE84RUYZURB6ENOHCQRH1OCZNWJKX3U7GFQ6YDDF6508562ZZU3J6WZT2NQHJTAPSW755YMYV0M5Z8RIAXCFNYFOBNN10JQMSFC5SG5GIRMRZVRMMHRD9ZRSZGMX89M2KRQ7FQOFFQ79RCOEQUNU73LHPIJ0O4I35Z1URXVIXIPD4EX0CL17BJZZB7XBXCT1BJ9KEOHPU8QGNNPV7C21KM8GMXHOHLAA9O0VGB301KHA4OGLFHFT034ON4JBXRYDJF5KOWF5FITK7RASWIFXO3N24LZUIADXC4VQY1BYFMGIUS7BSSTE1ZD4UVNGPPFXFADL8TFIIX4QUT515FU4YH8HMV6XB7QHYZPDWJIPK27R4HH1V48T262DZ7D9KBTBFDN5UUQYSU4A9NYV2BXW45AUTA1L5LWFX3P0SUZU8N9KRYX1708051PJ1PQE2T8MQVKJB3QEHWGZ8YSZG51QNIOTM1J98MRL2DON7OKX0 div -36#2P41JZFKMZ1DZ2RUNADOBAN9J2L9FVRMDJX9D4CDJ631TFOSNPBZGC5EPIKUZDWR7O258UWA2KSZ5BRGLJ9S94KDTNJBM41X2Z299B1BHEV9OU3P2MWKOFH003DIM1LPW6PJIRGD7A7CQI90EIMXOTRJ8T4ILUBD4VDAVS4UXOIZFM2C8LULWIDEUO4CR1B7JSU80O5NISDCVTBXK2Q1PRGXNLAEOKX76BOY45KKDGSGL2FZFQCMNTJQWZ5RMRJ7T9FZC1VPIPB44S16XYG97UERXPMVBJ550YCN8F6YE5KKK0EPYRW4SHLUG87FTD5EBEBKY2GYYRIETMHAKX6UMEZ874IV9TQHZZOBB2TFDVADQLTLIJQ7M6IWNWO69BS5AJ8JA47Z62FMS873M6DZEC9BV7ZRD3TOKS61Y1LQIHSSJPNPT0Q4773P8NNUTFIKXG1QH5PYP95W8TRREJ5QRADV9RYJM8XXS6ATJMWIW5OSEWSMLRGCBRXR2HVOU0DYL4JDS5G8BRE6ITPCXHQTAE35Q4VQ9W9PL1TRMMDDI4KOOMF9W7TRIHEC5CLHYYSCP1YIT92TECBKS8Y145PMSNAL97DJ2E5IHI688DV8YMETK75UGBHHI1BZ66X53B9G5NW8Q5AAOWB73A4T6HNC7DWYVIF5SJ4N6VD51GFT8EOAF6SAIZRYNQLVGVEY437WVZJP4SR3AJYTXIUZUOAATIDNVCGGYYWT4YODWVQ990I1E3A3ESFB6NJVG5KXO7PVNLKEHQPMXX6NREYAWNM84ZPONPHCUDEDRXJUFN102MPJHO58J8YKJ41C3GAHJBDH70HAXP842S10JF0KEEZO5848EER2MG633NX04NCYQ5UG7CF4ERPWRXJ7DZGL18HXOPFEL7UO0VB4MIUMK48NQP3ISVQYF94THD34R. +36#31F7O7HHIKZVWTV63VM4AXYEYDCQI0VV1G1KCFFL93QAMGZX4X = -36#1ZESWNMO963Q6VD4S8BXN1RJ6CZO8AWFB6LKZIY4EDGQD27TE0HJ45AS8CU3UB1YVUOGZ9K5DYJLGJ041I5SRQ7OFSFU8JSJT7WVJZU5G6VPXLSWYPNWPEH5A9MIT5PXSMAN9BCXVAD6GMEJ0TX34CWCCQFS2AK7YZBX370GHD3JB7IH6JWQ2Q7M9V3VAI6DLM0VY0ED0W5QOCTQDX3EQIDXYXR3MI6HT3VEQCFPESKANEVHOTE8QK7ZJ4UIHGJR00IMYQEJ1W942GM2ZE7C2VDVD3RZWRELJ2XSSG8I7JQ2NTLDJSW601G48W0BA1U3FYPIE221J804UELK6SIVKSQR39XM0O20MHB9O84Q1T3EELO div -36#NHSKB6NKON3WKQ0BNEOFPQF6QDOVVENCELMH0130YQFQV9C1FS24JJ74R50NZGLOMMNZFVD7IPSITXRR2SPO4P8KBI61U05TFBVRNLK4IX8ZEF7XRU9QR91QYAQGJIHNZQ2A38O67PCXU3LWF6C0S84OQALAKQ4M0LBI3L5UFOSCGBYG044WS21OOMHLE9RUKZSEJDCRC0I57S475Z2YRUW3JHVM9U9XO2KGB1X66PJCKBQMDLNJFGOX4CIPUWBOOMTZWCIGZLL5543VR3VBKGY6LYWIPNZ4TG5NBIXXYUEQ4RO8MJ59XYJBCAZJG. +-36#3XQHQQ6V1RN09H6LG38ODKXW60Z9RW5P3BQ45XLAVFEZ0FL3ND3200RYIO3V021T7J9NH1EQE5 = 36#CZ5CWGSA4PZ8498TIAN8ZB8CMAJKOUXG3WD2MTUS1OGFCEQUHG4A8C15OR1DDKAC1WTAWBXFWNMQ1ZHJM9JM21CP5XX1RMTE36EDPC0XRF8WX29OVGZYTG1K7KO5JBROMCAXJS5VTLA5I5HDM9N76WY0K0LW83ASQP6A07HHAFTJKNZ1QP3BU887YGA9RBGO20GEGLRH36TVYW7Q4DJC9YGV2LKV5WD86HTC94WAN2X4VDDQ8H9GMH52K0SI4MKRY14GMN33FULCLK546XCAQEMU68TKFYURUJZ2HPW8XR6HSK23Z60LL1NRSHXB0QASSGW6LMUR650V26OT4OE3R6IE2HFS0Q70MNDZRY9HK9WXO2PRGJLELWCKLNFCI0LLWMQBKT5LWMNIU43V9K6TXB7TS31UQ6XACJ7T5CZ7LIBQ9HUL4V4WLMVVWQC0FBB8DCZ0BEJG51SF60XOLL09OCH41GRG6BZ4JP674229WU27NTM1AWITXKC63789EW9Z6WQ6QOCI63AYKJER72TGL0LZSFY1ECA7WZBQROHVFAUYUNBONCGGUO3SO12JKR1GKP7V4SWGTPHJP95X38U76BD0JRX40HU2URKTZVUTNN791HUXSTUILZ6BQIJB1G719VN60HEB9AED0GNGZ3VP45X div -36#3ANHZK90AFTX6QT4431MKD1LB7Q3LD0KRQXY7Q3IHV4V2GPNIEEJPF5T6TQYQOMDBKJYGB7ZIOLS3JNY3AUUGIOO7DNULO5A5VO3KVDKJ1YG42HCENA7FJK6AV50P6K2SLDH3WV56OQVQN6Y99HH3T50C37OXWCBPCJ97OES6YP45O35T5A6PR7XP8YSNT8VDLOI2VIW10OATDFTE6Y4KUYF1E7MC4QMVCD5SY6Q57GVVY7KHZF8KCITV3TPWLUXZ7KEEXRLANLPML0KQ8CN57KYX2B8PZSNYMV2SDMQMB7D6NTAVWRUBLU2CST5EGTNLY62CY47D7A7KPV3X6V9C7DQEM5CCQESVHHBQ8DAQ3AV16QJWOXAEEL5D059SAKDUEV5Q4A5JXO29CZKT9BJ9LBPSBRD1BNNHM77W8I6D2QR454HWIA8NUSW9KO0DWSXFH4D2XUZKL0N35N8GDHZJ2QMH0OZ5SZSSC01N63Y99GNJGYMFONCI7IPAYYHEDJW6UMNOE0UQX7I38FVVUP8ZQ03CGDS9ZWZ9V0PVK54ECL233S1SDKC5WF43WTJ5P0ZF27YOP41N1SPLL. +-36#O2B5EG48KV25DGJQV3UM616BX9E1FK6Y3IAOUVAOXB68QQ2UEW5JPWAOEDT5991UZ61RNT8ROHOI4T5U9UUCX4ZL6M5BMJJ1MZYW7L24KJNDPQNVL7DRBLGE9NORU0IHJP3HU6OSPFWPU7WF4K7431ZDCEV5DF6TSLRRAS4XR6WX96MZJ2A1ZDBXQJNZ614OGWPKPM7K7EUBZDVP0Q3QSTLT0791IZUDD573N5O8QBCCY71UD2RL3KYPMCV0TXWTG360KNL77SZXBC1P0EUAMK7TXLS8HKRKN941FO4BVMIYFLXA2N4EM027T076HZHNHAFE212U8BP8WVY7JO68KN0360TQXCSD3AD37GJ9YXZUMKZWTTK7VYL8WRADLQDLTC36A8S2TQT8GBZOXDQLKTQVLVCX4WRIFD3 = -36#CW70VOTLF1JC02REBZNX5CCNFO0Z2J7QXS0PWE7D69SIZKUNAVL4TZ9FSYW8552PN1Z2HH71E2DP8E1K287T4NJF7IED2C7TI64MUYFQYOQH40XA2OVDDMV4VE0YJPJ0RCW2CHECPNZL1MO50D20TF5EE26NEA6OX9CDJXQFK0NCTFZNI0TCSO4YVPA6YMBY7Y1G1FNFU5RFKDXVPFBW9G50N5OJWJIKX3L20C5SU6SDQRKYD32GZFENIUNUGDTL31WN7CSKCI2QYGTL7R4FT66K21TAQOVQ08TI9B4B9KSYZ5ZSHP1II7JHFL9KSCKV3IQIN07OYVTL794WO84ENQDQMX1I6QG0FI2EUQO6R7ER54L91EW7902OS6OU4IIV3H19MWLTL0V7GWDLXFY3KEJXYG73R9HXGAGMFVC5LPLP1JQ5MFJI5SFOS8OIXNYI4NUFU1LEE2WJJ1EL2TSWEL7NBX647CH1V6QZ8N12NCYJHWZYRH2SU2V6UKULM0HL08T3QVLGY4LLUX1ZTB6OMIMQWLD7ETDEL4P4KPP99HUBWOZDK4PNQLGFBVCGOVK1JBV1GFJO6Q78IIT5BGVO1P8DZX9RCDJOV9FRF7WA5K9MWG996LXAY2CKO74WBSIHBYDFZEGRJQ618Y7O6GEVX90970E6E9XNBI2B2HMSEVE3JM98OBT69QEB40MKHIGVP8AMTKOWQFYHK0FMF2X74I3TSHDCP1IYG552I4UFA6RQVKMNQVP4KZZ3GU0G6IBUVPDPFOWZ7O9G7E1PFKJ9ZSETXJU1K7YO6BA1XDCYAZOF37IJEMG3ZFPZI9I247U0U35RGLHHHX41WSAL5GAU4EWD70GLTUN2O4L6QVQRB2B93RTFQTR2YUBE29T2W08AEOU8R5V3RU69T2XVI87RNV6JFGJDW1N6ZK75D2AVPAAAUV7OHNQE7W9SJH3NHDXRGLREGOUT4G2W88V6OU7NC2CT4HU5UO976ZOLOMYHVQNM60ARJ33HOIW5FWH6K2KDXKD1AX8Y7TJC4M9AWXH91KXR2FGL1T2FQCBGBM3VECZ6M6EVM2FANNPCFNXBBOHQLDWPPH534LVGBWJAYQOQSXND0VJ8P8NOSP2D8WZHY5PNCSAW8D0Z6AVDIXV2SV8G7Y58TJ3UF2CL1WTSRGY9SPGF7LGZAWU2LJMB2JFGA86XTJI07AWJPWLZ0IZX5I3Q4HKORDQ291WJPP2Q0J5Y8K0NQ1HR8HIHD2LA8PPZX8D240Z5LXMNMXFN23E4DRNKRLFHNCUURGIJSACTE8C6O div 36#JAFPDXME17KU1RZQCAL3WSTX6U61VYTZLXZXBOHPEUO02FASS1RZNZ7SHTOTPYPZGYWVVH29OAVVN46LEOKOYGED9KDNC2Y0VORIYNRY4KQI8MKYPEOHMXTCKP2TLA3PXRPAFKH9JCENVOX9NZ6TSSTZMBM3I5DWYZOTSZLEG03GONP9HMPFKZ9WY0TKZHQML4NGY48N83TOPJL5MQ9EYXJBKUXODOJ6TX54CEMU98KPACJ3ZDS1RBSDSM6HD5SE2DB9WYHZBM6IVVR5HZ8LMHG6XTCJM2V188GLSADA8CR33H6Y34SFOQKKC3JQT1W67EHA73MCHJN60C3M6S7CW7ZS97JDTZ4KT6NJ1TJZEOOGAD2DGCGBREG82J1NS56J48GZMVPGYRAZEE522HMFN4983Z60U6C1XKIA8WEYUUQ2IWRI7C0J9NO0MGGCNB92IEHDHMRU7Y23MZB1TCBN041Y1HQOBG3H0G96HMW6XIC9IHXJXR9WHUYA7JB9Q3WK6XLS7CMCW54MK11TRNL92ABY2MACFBC49J5W356CBM37AHOK8YUY1M3JWHMI8D4EOK2HD7XZCX3YMCZ48QB76MNK0EC0AMXB7VBGKGLGAMVO8DDL5YKRQFF4AKOZZTXPAP3J9EZG86M1LLIDID7MLMDTWYDUWLLJIV4ZR4UTR7P01BMOAK6KQBOTKWO8UJNEHN0JY54BFYWFUR06SS5V022B6VIWNJ10OK4X8DR4F7OQKBJ8YI7M6Z2D5XNT6C3QK0XPE40AMWKMLWEOWOKYTZJYGAQF6KIQ80O7MZG3X93I6XRB6LOFHFV17SLMW0S5NJPYDQBPSH6O98MQCXE57DQ2I0CUSEA3SVJZNWOKOR4LLAGDZK. +36#3XMWMKW28XEUYH4R2686DR7UTPTPJSQAS04SD2I5YRE96HQLORQFLVO59EH65DSLFTU2VJBYH9KI0TG6LIKHUHBEPC4L3LMMAO0 = -36#1BT40B417DLUOQ2XWTU41VSREIWDBYCBWXQ26O6EF1TNVBG9N3 * (-36#2YNHHLC3J2X3J1VWG4ZNSNC1LWC7T1VUE6NT9IECGL67B56E80). +36#2IZZVJNEEWA90MMND64J3HLEL5A7N1ZT197O9QSF1PRHKFZDU704HIG2LPXA3XHE55W0TVLOGPDB3HQVNVABDIQ674ZNW0NFGCB9B6CU2CMTMO3ZQWKYOKS9FPH9CGGDPCWU7P4FIMKWF26AKGV6VPN22ROZQY3O1NEX1I4ZCVTN0ZFIPBC9XBM7PAAS4V6LKR57D4GJZTUQDNCVKRTA81JN15YJR3R79INCUSJYWO7QAG9EYTZXZW30V60OPJMRYFNYSLQF9WVOJB80OZ784QCA3QLYNEK08IKK5RHNMZV8KRGMZC9ZYKU06T8XT0OMBMCJCN6628QAZ = -36#10HPKDYHSO986NQAV22YS7GJA8Y6ZJW414YV6R7P4DRDOQCPAWKOEGG56IPQ0HQ9ZU0LSU1UYZ7P51J4BNDEC72PXTRM8SBD4F9EUTOZ0SN77AW3ZQGXPWSIRWEP7QQEY192Y50IL8D21ICPLCT7ALJS5D0RSLJGH2PP33W7SLPQR4INCIZS6XE3LGZ22HY1537WJGMHOSBT563WMANW3UMRJGLOBVJADZTSZ3YVLN86IK1WUI3V6E8OQFKFDX1J7ZHZB00IEFU1MN8FEC6126YBZDDQNYQ8T1T1WD1YB082EE5WOEO4O60JCSWZ8UCGKMX79P7AZYSFS9F0CST1CN46QF9F01GNX8KTRFTYLAO0ZMWU4AJAZDNN5WX58TUYWCXYICIMISX2OKM7MVXQ6RFFAVKCOYFFM51EFLAWSGRVMM63W34SEHXZFTLQL7R6DUN54GK61VJ8CJZMI7T8A506DAFN574A9DEF8NALJPRNJ219ALXZISSUXGAP7P2Q1JT3YBRX6PNH7BN4W8R18SC5OXT1JJ8CI0VJ42SFTNYOMO6FHDFSPQKRQZUGODFU890AVZMHV5PBM0BBY0VWVHPRNA9P65HZO1GAW0MK8J6HFZX09JXEQSHOL4BHWLKSM1ARW87X0EXLNYHK41LCDMD47Q4WR3PN4XC3QG2MWFRBSJNI86AAPVHIN6D9KIOE4PZHNPOI4WOALS2E8LNP4YVVC80TL6U84XR0Y3QLQI68JHKGJNCJZUWGEBCOWPQBBWGVCOZY5FG5W4LDW93FM7BSLLVSJ7IN3U6FMETKKQI4UE7P5UE88ISOAP01I13J1OLPSS0OOCTCUDJLR3ROHAHWKMAQKRKO2S7CDJ3CMWJAGVI6QBYVJIDNHQI743AHSJPRKLH3TJLBEFDCRFQUNLLB02EDLSC35CMB1WKTJB9 div -36#EFPK8T0WR6J9Q17VBP0NO8W0A25YPLWR4TOK7ADQPUXWQXCTYTPTXSRA8ZZ9MEUETBECGMKPKVB6KCU8VMAO7NTTBU9H4WV3ECFWS2MERPAIMPXAB3S08EPUTM9AWRC92CJSLAODDXBGARZIQR35WB773MSABJ2OSCOJ11GPS69FHT62TLC20PMB03A485HRT9UV037I2IUUSEG6ZQPLXZKEEHYIG8ZR7GA88RX342Z0YY19CRXX4SD7Z327R3R7MAXPD2WJ1YW83D00R5MFZC41R9SL4EBFINWJTBFZ0YGZ1K8077I8Z07RYOLT9XCXX1WD41830612P69LREXAV7GKOLWSN1QG2QPLYZU6S3NBWRZ0ZPP2T4JH775BKPV9E929IDJ048DWCBFVAUI1KCTHA8MV8I5UB7BGSY7OTX7YPJ07OIX59TQUEXDFNDXZWPR8XMMA7SZA56YMQKWLBQ6M6B8U7PNJD8Y2YS5CF8E9594H8YC69E5FE3IB51WM8OMXLSVJBU5OYT5GAO94YVZ91OTV5NA715JP7H9EJHU4EVA5V6Q3YZGDQYM9DLFXC6IOX3WEE49HLT1FQLRUNBFI53L9XR. +36#X9FV0GKPVPM6GEVN6378YD10J9WXK0KUJHUCK6ZTA1QZO2LJ9MHBSD7ORGVRHX4RAT6WD7P2FKZPYRQOY775MPTSUY8UWBBWO5 = -36#KKBXGUG32BJRHMEKHVRHYLQOS5IVPPG2FEF6S4U45EMIRSF4P * (-36#1M877UTRW95BK646WLCG851Z3SDJ52QB66R90WYEEF1PFGAGKT). +-36#6G86182FS1HCEZEKA6L2BPET49MVWDJ9EL4STU2122O3120KVFXMC34K8RBMGCYVIORJR218Q3ILJ1DL9YDZJYCWEQW7S7FTMT8LAZXG88RKT0P0FSFSBQMWC9HPOY3QCUPP15ICAIVNX = -36#F00OLS1YHGL01RAXMY5WXYI8ETXWVCWU0W0YA4V055DXHKKGB419AU2P2NM4KHYPGS4NARI15YKJHAR5FVFTUVOBUJ1UYAIN576344MH8MG22SMP3DJLA3MYW0WTI6IKWRDYWOKYD7EKIPX4UJC3N3VPLW66T3RJXGS94VWTVKQ5IUT2IS2M6JX6WSX8M1P6ZDLQAXQ6WFZGHKTJRGG0ZF8WLKP2II79X6XUQQ6T3GKX6OSRM02A40R1DWDHNT1FNK8E7310RECTVSE2CV9J6MMP80JKCJB7T9OVXLRBUFCASU7RTD5YQTBICNAI3BB0FO5NVRXXQUB31TU75S58MNA7OO34KIWQ5ZRB1BGBNLZO843OYSET45YNRO8Y3J4XRF5F div 36#2BPPKXXHOTUOM3M99SM2W981SX22YXF8Z5EVJGUDBLV2DAL6OLV9MMF14AI287A0HE1J2XUPWG936449QKTYVNM8A12DX91VQXEJGQQTZTCGCW0JN7WRG5GWZGC4AG30T6AYM9FJ6MPBTYZ5SP94H80JOCPCSHR7FPW052QKYAE3LO488GDH5P5K7FFE7FP2RYHM9V1L7SCWRTNPMXFDEX586PETCODJAKQ7WMBPY8CY5GVCA4417KU7. +36#2NKCY0EMCCN9OZAR1LOFHC5RG9Q8H6RBJ4Z9U3ZDWM6EMOJFJ4 = 36#RATJVMAXD5JDKEA2JC2IU2342247FRR5FQFY63C5YQ690QUFSLKDY3S2J817QM9US15JNI56VLAW5T2GIL10EYNYE2VTJTTMTC div 36#AA8EFJLXBDWCDDSBAXM1OPKCZQ98JNWH2BV9QG0565RUEKAZU. +36#1PHAPLTJ35IH3Q5UIQKDAXE6M6TVYYVW4V3H0KDK2NVPJHF5BT2HZGZOBBSHXECBHNNLJ0FVU2QYLCRHRK52JNN7I8RK62UEDFCV379SMXKEGL8KIB9CHD7LJGI9NVF7TPXNBDSTI3IANLS4FBDSIW8VT9IQZK70FFZMV7DM66GW6UIZ7341NQ97GYA2YT9I9X8OP1ZF31VR4TVXNMOP0OBJ4672R87N6FLXDUA215GN8WFCHK9G3JMP1N6I4B0DAQ7ZTB87C7GM1HL17Y62STFSS06W53LQD9YJUC3GW6L7CB2LK9BEJRCT1JW9DQ523U1WBQPMYKFN082W81OH0LOWIAJ2F3F81U3VMFV8LVMR5TULW6ZN3PMJLVH2IEN9JR9PIM9MQWBQ6AI0EZ801EGBY66AJEJVLGN568OK2ZCUBM02UL7R31QPWCYAP6XIXXAEAX98Y5J5GGHFLZJ89343VHCAXS9AI7KNKCQ52CMD986FIFYX5YKE5W0VZ14ZLIFIEBMZHA3QYTN6FHN0OBHZ2BVKYZ2PSO5EWQG6Q1OI8ZTEO87NFIXRHNPW0DA55EOCTK46BIT8Z9L6UEE9RIYQ74W77ZMDM1MAETEO0SK3B7IISIZG0XTA7CTXS6R557CVNCDO4L8K1TGE5LKN7ASSSOK = 36#26IGBLPRAW1CIPAB1877FUDNPK4XF5FA8HN3I1MMGQOM2STA4P * 36#S6UOZCK1H3MNSM11CTW67DO50KGGL5F3K59WWK6LZHIMJAW9FVBL7CK9PLH491XE5T5IB35VLM87LDXXEA2F763DVSKNO4DH0EE0GOOKBFAVWQ4P9ORMAT3SD8ANM19J4209IW31J7OFO39JDFVO9N8R0B25MORU8ZV3U1B2M8C222SUVJSE52T2V2A8EFPM02GPOOXYJYCUH09CZUGQWCWVUMD1B4RY0WRSJ5CL6PI9MN3Q3NIG3LV1R2MQQKAAK240ZIXS96O2Y8ZA1IJ9ZZ042WLPLEFE9K1OT6K0VGTNNM29CE0QRXYV641YP2QZU234T640L39WPPAAL3JJ4TDUCY0VLKJBRARBB3PEJLP19LO5XKKK4G0YTA4F0YMWP6UX2PMSG7VY01974FY76WZFKGNWZ4COPO3HUYKWKZ8YS78KZ1XJ37ZLT26ZD0LXJ1F5KRAEKGKRZ4COBQJTO2IILJV9QWW2M5YL0W2YPN9CQJ15UACJWLW2BGN0RG2X8KMPAGTVW77UV0OTJCYSNJUARPZCPGKVMTH0XES9K23IVEPRXD3U3NRE0ZX1DURJM5W3YFVGA6Z2VGW93H5YBBR0ZCIJLSHL5H0S7GGB8. +36#12WOUUF30ZVXUMV861NPBN0C0FTYAYDVAB1QJFMVHPSSKKHAZTR0WV7MHGIWB4RLOJOBRQUNTZVMT2B64AI9RHSU9SYOWJGIYQ8AT4OBLTA9Q2EF6697CS067H09AN1G1F1XD75DOF2R15I3Q9JW9D9UM1LO386KT2LHKQBXU4Q3BK0549BMREKCL4TNOE0Z4WHK395KUI82ZN31711DN312CTSVNODLUQ5PDVFDEGSXMWRSV871KHJA1H0G1GGPG6IWPF6HPXSFQK4908UGTH6IP1VU23IV909R179GSNL4F8Q0SRG16WGCBT1PVW8WABM5SGDEUIPH20KMUUZSHBZYWOH5KO1O4UD6L4CYPR1YQAPWC78LVIKVK3EHZPL8B0MSI0NEXV4ZCSE340ZJBC9GGBYUN891QBKH7YOER884SZFOPKVX53UPVQF8A3K03MCUX1V16G53PH5FM1EYHLQTS5ESQ6BZZMCZTBL890WHD02SRQ4CMB5YXKWTHUR8JQ9B25RK3DDGOZUEU7GP70I6P9ADLB02AWW771D7JEH5EBOKVAN125DHO4MODOJHJNKAIAJU6OX0NZ3UFUYTSO27RYI66BK6AG8FCEQ2G0QF33LXQKYFCANYNNPM = -36#1O0Q39RO5NV8CC5755EK5M81AG20ERS309AJ1CMDKYQRE8VXG0C3K9LTEFN4DA445196120JX1DYONGX6BG39Q0CAEVQVN9K0NBUOUX2WY52W5R0MFJ2AF2P6B8BGFKT0938KVXCMF5DVG0RO136EMTRJYYOJ4KWYEFX7971PQEXKMHYJ5V2AEGWETJ0KOKXBY5N72D92KY7OQGPJ6K7YJ5U9WWJPIWRIT6E4HF4P2Y24NU7COW6QED7QRCIXHWXJHKPDPER475RKIV1OSIKINH9CFMQWFWNEESGYVJ2BN33DBKJZH9F2Z52VWS3G32G7HX7CNOJ2JP6YJGKNW24MKTMEH6POHAFEW857Z95329VK94IEJNNZIQ6FOAYNLAOXLSR005TO6L5I4OQH7GP3QLY6R6PLTZ9YJUBED8Y6MVLBN5Z40G6DU9KVOLA5CLHILLQD17QPINRZ41VGF9U3DVGVBWO6S5RULYJAUA1523X8GTD30U1TPTZGOTEH11L66N0BPT3KLGKRSCT7WE * (-36#NC4RKS2V1YKOXVDWO7WGGMFZ44C7CY851A4SIP5WLVPDXV56MKTZRFYWYB92NESIA1J13HUSYQC52SJ24XAMDALLX1H17OH8CVN59S1YZ). +-36#6F70GU4XURH4GPHKICCG0J95E8O2AHE13KNXCV12WV92IY1P4WY9EL5O76K9RDPQSLLA5DMCVRXHEN8O5D598RR9BB2QK389AIKJW5GEHUT90WJ7PQ9LRVBVQJGQKEIHUYV9Z2ZT9QL285IOF9AMFJGX0F8TOAB0T9NXZ1SHMXVA9DEJSF9Q245M3O72Z90TNSLFONH34LCTL1P9Q9Y9GPZTABGUQ8PZI5HUV8N1ZM6KMVEURUU0E7DGDM8VRLV6A5ANQJUO09YHYXJFCLU79AC6K9K76PQ69NR8EGRDMRVI04161R43IOENVVHPPOQ6JB1PHDE9PH3SNV3CSNY5MRR4N2LQR4EQQ5MGCU3HG6RCRB4JMRSYNY16WUO74KW9W0T12T9640H9Q0UEFLABX0EO3W6YSRQRRT88A97RHGPV7LHLBLHN3YC7YC8PRTZVFGWG152YV8TGGQ22VL3LU3BAQE4JNBWI21ZU8UBZ6N8ELGDOS3P3ARUTKC3N1TSNYS6HJIFIAP7U8FHIUH51S02FCOZTZOGYTAVNYF91KUR56F3HGFCNAJMSIKDKCL8KLGYR1ECKDW2C0F83K3UHNRLRIIFVJQYZUKV71S5U9SNRBZ910DIU7GV9ZTDGM7QP3FA60 = 36#V0EIYVJXZW0M67IHUOYRFSZXVR969W71NO7IAG42NTH36ZS7YP613L3504L1KJWSPNOAROXV93QNSR9UH70GWLCKK86WI31DIUAVG1M723ZBIYU4D28QPX4972SG3WA317M0AFV0P21TOQ3HH8A1WK7F9VRYBUJJDUKHP67VWL9X39ZDIJ78WUTQQFAFWOHNSQTXP8PYXLUT8FXA4YNVJ56A9WNZX3DSUPC21C94KPO9AYUZFYTEKIV4NJI25NIGXCJ6OS2SCK15ACUJMCS9LM7W2UK0FK4FU58O8HXBZ7FFIR2002GLNNR13JKDLY9W7RZEXS2GU5DISXZUWUL2URVANS0M8UAWIAH0QTOM3CQ5BAYX154NO4UEWOC0GJYTS73P409WDPS09SIQ43E49S8K97ZUP3ORVLEHUTC0P4KESWWQIL1AA3YXCTR0X38K21BSKRATHFOM4ODN3H9 * (-36#7GDXVCR6FCX11O3T7TSMJ7AM4WCGXUKPJ43KGEGFOVKPCEQRAJ3MCJX0EK050Y5XT9S150VXQX63TPBRKBYKKG2NB91LJJVL0OA0C1C9BBJDXR9URE8NDBM1VETUB1KVT7W3PY52DM1BI3EC4X07UMWFYFBB1KAY67V68O8RSO7ITEY654). +-36#37K42CPNM864TWUTTXTKJ3JJJP4NKQAIPPR21PYJOEAA5GNEZATPCY2SX365JZSCHU4RNXZPL25YZDRMJYFI1TH6TLWF3F3WM3YVBD5PD6WS57WTS3M5TDTF5FLG3OLQ20924H5RTON59LK7CLDBOTT2AACP7D983T9AOSGC0YG3IX2Q2VV0M5338SDGZN4RZ2A6NR53XTY1QSHJNH899CIEF5UOPRVIQUXY6T7H6MIOIF8VR5OZ5Y6UNRBY3F8D6O7E67FXA198XJOMZB5FWYH8X4V9CGSYZGM05L2Q265AE2YPF1ZG1XKEN3JITFI95AX2ALOHU8HQTGMQQ0TYFIG7RTHWJLSCVMS2QXD1231BYHRA3OFPYKXHHM2CCDPKWNDIKQVP60CRWEAAG4W5UPL5VER1B28QQAFDVL6CM67A2DSUEIHV9AYPBUCV0A = 36#8VO1SMLE68N2OPCUOYNOPTVBCBI1FHY385TOMF1YR7MD3H2CI7V7YG95M8HX6SMIVVMKS56TJSW4WRKKTTP8MS2XJ99DY65AFX733IIXNMQSBHTAEJD28JMG9Z03EJZ8G3OUQOV0LLCN47DPUNMAO0GH23DHT7H9GTYHZBEEZ5F7G5Y671CNZ8H18P50DQJ9G50PT9HUSNRQ2VGVX6OKW4OD1J46BANHE50M16MYJRNBTNTNZOM58VPHS612PBUTGD36ICERUJJQJMP0NODVS0EIJ9JKDMO8LIG1E1DJM64EMXEKP1YKNMDY4E77VBM1CSZDJK4F8JMOPN7960E6VKMZL9ZR62IEJO6KHQTHGD86N1UYPBK46LYM0UJN99769LAMC7ZIEGAYX7EXOEN4PRZW4PUEA7HULFMICB0T7PE4ZP3CQ3NY7T90AVKLDABT0F26V7JSJCQABXZMG95WX0SGVKD4GF82ZABAD0EPB68QEL2 div -36#2RL3P9N64XLARQ1T7Y7A218XUIDPIFHB4JVICLSF9JWJFX1ZRB. +-36#28KE1E7AW54B98QYKX5JFEU7TZSBR1OZ2SFQMC8J8IMXKQHAWK = -36#ZVGA9JLJMS68DCW0D5AOP6T2ZCE4S63H7BPDR2GSPBJKLXSAPHHQE1V0GREYQOLJYR4VPT714XLLRMJG9Z5IRMFGRNSQKIGLPK div 36#G12G52LGAHETVBENCG1Z9ZMOJKPKFK5JY2VLAKG4V6DXY68UA. +36#7JTFQMKCLJ1FOKG7FETXEEOKEAM5TXFAOZIHK5YE3D3B0G6UUCHAX9N35TY2PJE1KFWWD0BNVFJT87TJ9S8E3LNCIANYM4ETKQONYYU996RCI5FSAW4A2UQXQ9Q2Z90TP5VDTUV5FSNK2847MOSDZQS85UEKVBYRMOYBDJ2KPZ5M7234HSUJLMFBI0VLV873WY60KK4G8DVQXLUWHH40BESGPSWRJW0UWQIKOSCROVP7AXO96U8MM0VORS4NODS1G3X9LF0LY7WIBP5L5ZA7NT3CSTV4A2KV3BQ7LFDSQQPOYWY3SXIMB28XSDXV5E3Y35RGTXU8DD8VFL79U6WCMPMRULXDCOPS7HK1I2R96E2ZVCG4CQFYF81ZLA4TINHUUP0MVRG9D29EHEQJJQFC8FS2G0P8LIQTKNQSY4IWY4LBXK3U2GTSCTLW8KTWHPVWY12BTIB7BH8RLVS1UH1MIQZY54YRIZIHWFRJ14RIDECLHJFU8S1S27XTQ36FQK39H2ZCNCGJUIVXI95WPVJ1UMBYIS9S27KL4AWLMK75DAW9JXE76YUGZCDHCS4K0L1GZ2X7AEFDMLQVEG4ZHMUQ3P43F50UVI8DLYJM4HUKZW0N1GY1G40UP2LXU6H4U9UVXIRA0O1OZ1IEBY1TQD66KJBKN4E6KBZTKO02TZJP2VY28ORNYIQ9JT3SESXVCM4Q0LFVI532J0HZIPG3JN2NLEHDFWOK3KJOO7CKJGR6ISP = 36#11EQLZGBU8WG11X9MAQGHRZKCZUK797L8I957EMGO9TBXEIQHLXL9ITAIKDOS2KA4EWDCQFYQMEIEOYCGCCD2HGVKDC099V8V927P * 36#79KRJMORC00CA8JJMWTR3I6JZX0C9MEANVHK28ZKGD8INLOI6MVG21689QHN2WOG7J2UCMN5BMT82MQ0F7JDS48P1OGCC4B85QMCPQXUZQINAZX1TMWIO5TL07QFXNBO8QS20H0JC2KPLJ3E9LK7XN9LCM1X2T07OBUUJKJOOTGTP17TSW0JD1J652BMGKM17JADJR1GB3NBM7IE7G9P3LHHJ8GYTT7IXOJOB3IUWB49ZO577FZ7KW7BIUYLPUK7L42HI0UU5LOMRAD75ZF0K90I1U3ZJHB76RL35AS3PGA7ODEPY5HJIIAU9FC2AYX4A40J4WVG0E11CAM27AE2JGAQELBDTSZRNBO2K9E6YX32GB1SJ9976KGMHEIQ4IVAIOPADCDWJPTSJB9V6LEKQ3ADUN0EJ3S24KLKJCMR1RV17AZXHXJWK5R3P82OI68CZA3X3KPNJH4OFTCMCRHJL6PNT0TXWQQ27S1A50LW5YOHS93VROA1VKISOWVR04O1W56PV9BKBE0Z20WJF6OZV52B86K5FUTVHZMJFMNBAYH8U4QXJ0YETWCHUEM757YEFOZGGVNZB2IYY5C64QFUZITUR1LDR4CGC88VLOR2QS97BHNWGB4STJD2U3ZAZOQXTMJENL1. +-36#97PGGF56U7YX5FXXPA92T943OQN5WAQ0DCDHJSWRL2GZLZ9N10GN6W6BL7XEZP22GIPCP33X7J26K9HH3WF4UA506KM0NJEL8KPWGYLOIIVEA8J88IFH9GX3NSWMIVCNQLGVP0SVYP3JXHTIDG0AP6DDEWSFLYGMKALU4AIM5WCD9XJFUP2T7PICKH6T3ACPK8KYRO9MJTYAY3HMO3JHXW971ALAOP1KENA8R17W33Q7ZZFKA0EO6XB4YI70991SELI2RTSCUQ67XZ9GZJWQBO9FZON08QG5XZVLZUG1TCQQQVEUICYL70H28LQQPIYJB6JQUL6RETP4CWLXVF7E5ZDCAEB6EHCG = -36#4V1CM988AJN7USDIB3KOQMYFHAUU4CEHHXH4AJJMDH9SDH2S5ZYHZ0GVNP9L950O7F73AT1XMH341KXHU0WO63RKZBWF2ZFW16UL1ZKH5PJ308Q4S2BW7SLUTEU0DBTA6F9J6Z3Q7A5RA7MJ2Z61Z2V87FZ6BIJ868N8Q26K0HGYZ2JZMN18E42ZBTNKXUC09LR7IFBUJ * 36#1W802DPSIBOFSLUSUAQBRU95HQ6FX7ITAE1UMGYGK9I84YP5XE4REUHI6TN2SRT4R6XTMCHUHBZKTJQJ8QLMVPKDPTLEVHK6P2AJUDL0B7RV5KWI071MWAA06IVRPN30Y5748CP0AGPRVZMIG3SM7ZSG. +-36#1M877UTRW95BK646WLCG851Z3SDJ52QB66R90WYEEF1PFGAGKT = 36#X9FV0GKPVPM6GEVN6378YD10J9WXK0KUJHUCK6ZTA1QZO2LJ9MHBSD7ORGVRHX4RAT6WD7P2FKZPYRQOY775MPTSUY8UWBBWO5 div -36#KKBXGUG32BJRHMEKHVRHYLQOS5IVPPG2FEF6S4U45EMIRSF4P. +36#2TPYG9HDS7X6E9MUO3M0NPGGTXT2HBL8P10YVFTXDYBFEJL3JWDTX8R3N7F37E4BH1ZP7AZJO39IT04JIRJL51O6TZ5MRHYBXUNY62XI57ZB2EP79TMO6FYFMV4GG1B85O0KFBU8TRZH04SZEOQBNG3UGDQLQXLN2TTKO26LQHKJCU94MVWA08TK07W6Z4UET1DMEFNV3RGZ8N5XKCF800B8KG2IRENOJOED8T95ZMHCCFHVXQUPFFAOZG1XUD5WSKFWJHERFOWZLFAGE7A4X9J8T1HEW4EZROWA9LXYGDG204MY83OAIDKGVIS5 = 36#DG8FJU231C6UKMTQ1H1ES2KAHI4YZ2ZV4PTOEW50H36ODZY6KU7J5DTMP5OF8DQ0V17HAE8N6DOIK8QZQMKX6HCVAR6E2YJ5TDTRPX58X5AUI3XKNBCAO3BPA7BZ0OLL4YJ3XSODKD2UBTHLIG53PYJG5NSA6XSUTU5V5B5LZQC0955N0K455UT28M04ISCJZC6TX1BK0ILYCLXX57WAEXC732X82FBWSA1JFD8B8UU2F01G4QSFEDFHZ3HKMJMBLK4UQ8Q9K95MML1MY2SWOTNBM3F04HJZ3PJOU3OSW9KR6HOT4CRLN5QCYWNE0MYHM7SE8USJTJVDTUTCB8A2OZYYRVSO13XWATE1PZA3EFXCNA5VGCTLUNTFGJ60H2VFWJGE8BZLQWII6CU5RCRRSGCF3PGW0KO6MYJDW63KJRQ7FGVZRH97S9QLIJCLOCGNVIMSY2CW420CVQ6E5EKYKGVX7Y5U30VRO6UFU7V0I82SOJBLZMRE9GJR8Z83UL297FBN9R2QT26Q5KIASHTTF52P5L2FMT7EM65MXQBO76Q54PWC5RBLN6YFA2QOABI3NYFVEJG4QG8MDM8N5XFFJ4T0IJB93ZJNP51YEOV9WE96L6U2DN2TTRYBWMGXJ div 36#4RDHVT7DG74AF7BV09MKFS6H9ADSTSQ9MXILCF3V3GDIYCTL5T62NYKUA1PQ22URXWDXDRZL9BO6GLZ76RK2M3R8IWGM1CS4BDN8XRHQGOHPZMZA5L9NOUDISHOUWLO173J10S00ZINELXVQN62Q7R7V1NZ8EF0U3NTW837UBRVLTAMR0EZXA40QGKQLFI77BM4XSXLJQJIUTN3VYKWQD6Q2YUZZ5BBZWJHDYSZ0O1LQ8GQ4P22OEZZ06WMWG11SLQ4DK8V347R3JTQMKU0YNGBR9NZBKTW8XJDFW83AL0VXXR86VNA9H0ZUBG4X7F07OB. +-36#MWINFNJ8F7VPISVP0HW2LVIBWY142V7X3WP4PO35YSZW0LET7 = 36#UO9WSPYE18DL2KN0G5IGMYHPQEGS9JPVWAZIE08J6HWLW6SO50V4GFQ1IQVJZR5E6ZXC7QRXDVSFQ50GVZN5PANUJHB8XIOKDUYJ2QDSBSQMTK7JN66H0FGKR1645I0D53JX6LX0DML7C7ETUVAVXK0EGIMHB6P5PNHPPH1Y8HS2BVD9S12FJO43BJ6IM31DC6HK9PG1TI8L6F8ZVWDGVF03XBW19Z2P8E2SLSN1QXVN55VL4C2SRFA07BNOUJM2HDA0DAU3X6WGHCLC32JQFKOTHROQ647P5R7RZEAP8HCBJCLXQFZ3F7MW6U3MM7J20G667YB79QAKZVPXDX3G7MHZH1PULC00YX9RYURUJEEM1R7MCOCSKDQSJR6WOJHBVVH5SMOGCMJ03CRSVAENBJI0YF8D28VBMN7B98K7I6MUVLX7KQNJV2194XGEWC8X341IQPDTWDTJC3OD37E056GJ5H0J8IX2PSIQ5LQPD5GSF7Q2OWZVUJ9AA2OZC8XMNM0QKKNIPT10EQY9JZDL3124UNRM077QL58NWH38O div -36#1C7QA4DUPLAMWSXCQ9UAGU1I05EFILJ0G9QHF4809WW4O1KOJ1FCQIIW3XMMFYCQKWF4AHLYHWSN41RSWZQ9YSTM9LWXHP2CLCXCRMV5NWOK5KJ9B5SHE1R5PG0RORRQDTZUKHKSL9CBZE899V7N9ORKFKESF3V6LIKWAQ9H1HTKMX1S3YI2TGX4SPFBINA4CG626OH7723H159VS6ZAJWG6SCR56TZDLV1284MMNESIYBXHACUYY3W9PE31HXHMSAQOV3ZV4I7BOVV6FJIMP79BJLFMQ357K6VD2XXLXHHG1E77IY9EJPU20ERRQXD06PJ38BWIHYJZGBA9GQPNB93WKYUTQT1O0QW1T51RL08FD1OGNESFOXAB42A5WDRD9QOMSOY98LH9P16J5FEH7RHCAUZI366SRCJ5O89SX7DIZB40XNDK5XZXCZ4E7NTGO9BVKJX26XR9FOLLDU1I43K57255POESYN6GUG9MMEG5NI1Y698WNI54O. +36#T4XSC2ZI6LK7LOMNVWS3USBPIIG31W0GE9U1S9WC3BGUXFHTHQRA5HHZIRQ49AWK1TZS63FR4BIVRK2F2B08FTVQTDDYB0IG96HYZ1EA1YWZOKU4RDUGD1OLGRF0CM6551PPOVRNQX1T7NK2AOB8H6U746B1NKJGJVMX0KILG2PCUIG41P4RYJHYWACTNRMJZ = 36#R5RJOM55FDOMXZYHCUUUAMDZ4O2CUAO2DSUKYA2E073NP6S0JG6M1NWD8SAJO9MR7UOPYTGV2KOZDFL0HQQBD2BFM1IHKQIE1QMGEUZV5HQOMOMJ3IPUME51V8DB3OUK5U5YSYXF77N91WDMQPFXGGZRMDZAVVKGD0FEWLSERX0NP2OI6OCUKKAL3DZ2AH904JOOUFAZ3604K728QSBCFQ0RQ7HK1L80VH2AL45GDR44BEFT20 div 36#XK29GWPOGAZZ0XEDFTTY2T1L3EVU3U4A69DZG15KB0BTDZ2Y0. +36#1O55JOU72HAG7D99WY3GB67FT72Y74ZVG7QRP39WLSVORQ3QBX = -36#3V8B8F5ZOYBCNF6JS47H0ECU8FJN0GDREMMNU3GNZRJ948NU52MWCUPUV6MS5ZVGAFHIPHI9D8BET9CPQUPQL20XBBEZCZH5BU6 div -36#2BC87SSICNDMT7SQR6T5XWTQVUYD4X2VYM9QEBPDF5LOZVHQHY. +-36#9HB5V1RY722FDAFK1MHJCDH0T94UBG0KL1LC6AOAJANVA2NXO = -36#4YHSV8OBVB849CCG6IKMHR92PU5ZIXSJA0BJLB26TSSSOS94N05XCPYNNFCSLATGGO046F89WBHZE7YJTVVT85HMMNKKQ5AUZ7C5MNKY28IYOJIRLB7WCFFXP30C6UPYC6GQE4IUJ3HR16A9ULEAL44XPR6A4PGP70QHGI3T98EV9Z9Z4L8WDGCAUEKJB49UARDG81U3UTE9FLC2LAYMNOOBZJ7Y4IW7UIQX633NVZXMXAZXIJV6M1ZBATTJ2DZS97KC3VT4WW7BKNBN7CN8FSR7GM0F4B9PRPM9RP81WUTRKGPLOE565C0CFQT28OVAQ67X47DTV62PG9FY4SY88XGSA3YP4RWTU8FDIDUN18XD6T5LVV6ZOJ9TTZQQQ6A3AJYMSPBD3NPBXS0CN2HZWGXJ8PFIV7U5DXMIFXAGO div 36#ITRMMY3CUADTC8V4MDIAPUWNBRUHFQJEARFI2H1ZFS5Z25T71LWEVPU0BGLDXWZ2D4GC614H061ZO9SE2N5LE9Q9DT9HRNFZYQVZ2L808AQ9KTCMMGQ6WFD2UJYL5CU78OVNSVZMGMY8V6TAR025F4MKXBW84TFY2FT6UKCBL16BHRFJTNMS3JZDQOWJ8LHMY1II23R3QLV5IH3AJRW8F394F1UQ9ONW04CVU6CANZYQPRY8SACXGMNAE6HB3NFJV1KPQGXX64OYVQ1FU9DW1LIXRPPZSJU4TY6T84FRAU3DX1MBTGKR3RBJKR5WHB2L0FCDHQET7CVW778R950YFP7AXRGYQ6GN9RXD5328OP4JFTBZZCL87EAY. +36#11WDTZOHOUD96H0PIZQBMAP3UONHL3IF0SN3ZYUW7IOPP5HM17R5TYI8X9JSDUB2PPEO5SL4Q3O18USRHADJ8KPVIBS7JRTS9QLY0UO9R2PG6A3INFLSII8F7SMHDY4K3E0F38GRZT8AZON3L2HBCG9461JXORD8T37U0S99F5YJ8UQSZ8RFFHD1U4KN1O57J9JQ7YMV4211RZVCS9THPWFPCX0G5VSR451RRCUZ9EQ8PPC56L66BPEVR9PIUQ3ZZL9DF5HEPJHJA2339XTSUJOSXP6VHF5JWSH9CV6ZZK9MJY96VM9OK41OIOKHUSG49LDV42GZRRLQOUBYFHV6TH2RKIVX47FP4HESA820KFGB12E0815ZNGW9JL4VOPE9SSV6TEX9MQKCZRJXWLKRO9BFFH2GTV1JOJTEJ1981D1LCG51CW4SPA7DZUR83NKUG2V8SOPEEU7P193I6IL5UZI61LZCKW6ZXTBY4Z7ZGMM4SI81W13NGOJC1BUKKVLTME9LDDB399EK1LT6MNB11KZW72DNNMTU3DCQ1VZ63FEA4T8SCHC4GODQTJIQK3JFWZ90X = 36#BTBWQ5RMO76VU7W1NX929GRBUA81D1RGAF6T06LQAJVLB6FETB576956KDXYM0385IMEU6M4PXIEA5R8E165SBV1TW7F7QSZ0AP2Z1YDWBGQROE68IODUDJ0H2X71PS0I8YFW8BNPQ6PJNN69M42ZCCMNWVC7M6RJVMVD1JQY6GV0GQACEHRTLNA9NRG43CP4BHD3HR2G5W931NXH8OICLQUQEY4KW4YYAA9P3GQEXJMKY7GBREZC82G4XU0YFR2SVCSSZWWBWPGZBOW4IUF6F6ZVX2A5G823RTCZO31ZUXIERNRFSK9F1G7PFG6K13UZPENFRSLVCQTEHLTRXOPHWSXH3FOZGD5P82GCIT52RTCANKTC3RP2TO9JHEIODSV6EQZ8SMZIQB3NXDCBP920TC6BD792SJ0AX6FJG00YHC62KCM64HBFV0GHV16XQ7BLRTC52RP358OD87NXYEQ7NUO909M4HTMYJ6271ELJHLD4SBCKNDQOA13DMCJTVLGZWV2VGTHSO1IDNU4AV6I7CS5UF0A7XJK26FM6DTCURR6J6WRR76NG0TPE5S9NJGI7SVZSAZUS3FGDUHRFV15758NM8X2KXJBJMQZDFR5TTTTW7TKLNXRV0JXREJKOQZMWKGEKKSA8ZF8068R488K05HYAQLHL55AEKY41MLH76IWJBHC2CQ72JTIFVCSM0ZNVG8FLZNC057R4HUCOT0QJ30RZUUC01GDIZQIRXGWLHOTROJOZNE9FNDIKC8ZXKSW0XQ66VMM723TZHHH876QQ82G4T4UHFHV4N55STTQP7BOASCAWQ2TNJN84XJN02MMIFPFOFXGD9RC670RMOZ60V4RFPQM9QCN7H8V8B3MFTN0DI91BA7X3PWPWK6KNT7JTLDM2NE96USK5IC5WUBBH3XLO91X7XEH8QX1FZLR div 36#B80GM1CFXZ9JJVISYE2TQ9SIK0M1WJZW5WGABE7BFRJ06PYNYVBCB6XR9FKAGBN3IQW68WZ4GOQSSQUWKHMX5X5TH4DEUYL0V5CNAZITK55FX9CVDBFTUF7S7WC1JW8R8R8BUDZO4IZ98OKDDFO1VU6W1084S3NDXT0GO7R6XQ0PMYS68UA91E4YWNCNZOH3SL47WPS0QNBG2J5XTC82RYYSA2PQCL890VZE47FECGVATWVF73GYSCR8EC91G4XL59KOE6NK5J4F6B4PZAYHLJW9VCJMT7F0HBUGM850HI40C3N74UBW8NQOC7PDZK2LNLX22EUBCV9YB2WM5QNMXHYZ44WZHYEXCTPR. +36#M3QNY7JO6Z46CRAPQGTEEF53ZKJDQ5N7ZM7YS5NKEMSIPJUMV = 36#QQR16XX4CRMPZP3EXIN8KH8WTDPS2T9XBP7KPF9UGBU4R2FFRD8ELUC8RHDUUU7QYX9YL5AYWNA3I0NJGB0CG3QMSC40B4PSES558U4HHL4ZJ37Y3UV2IZEGAISQUPLO8IHJSB01QYIS3QYRYWUQYHA7NSDPT95LMZNJ12BZY0PQ8MIVGHFM61JLNU2FVJ6V0AMP8GJ54HG6A7PYHEO6ZBSA11RUKBZSBS7TYXEKKRX1SRCGL2A7W2PGSKZQA7H2ML62GH1QR29C5AKQUP17J5J5WNHO7LWLPH2K32EII4O3BQHSM5EQS51QU1KMP49VQ7ZCWITUTYVK2BIKCSEESA4RMEBADUFRNS57A99QWV7YOT5BAPTYOXUAS5M8AXR6HD99CUAL84REXT1NFZ3BJVAAFUJ5PQR3PBE7MVE1PX76XSDV8WL6FUWCH3CTDOELI7MHLGC1UF6WRA6T20G43DZS6GIK19S3A2DXTD3J8F0L5OYWJNA7H40KWC9K0QV715KEYBB4LG5L3RE82TS0RX6UDU1XETDK2P4V7Z div 36#17K0654S7JB8DENQ6WBKH6LC5N9QKF76DGK0KFT2Z6QLGWDZX27OQYMPZDDUNTLOMDN1D7968GXFWCCVBQ6OIAIUTM3GFLNK0M2T2JYDV4C87NMRCAINLQEP08AKIGV9I58FV4BIP6TSFG0YK6HO9FB1EJTJ6RW44JDOTQVJJRR892DLY74VF5VHNFNY4S7KP09PEWTDJYKREPY1QZDEZQ9XZU4X0LMLU0QXRIJ4LNPM8KLGV171EKS18SERZCFD4EN7ZEH0INC8CATGA7GRAIKJVD6GPHP0U2YPHWPRZY5J18DRQK7ROFM6JO06SUVRR88X8QYAH9MD6VYVFWZ3LVCSGGOGA4WWBTWVIIGS8LE954MTX4T7VSPBDRYZ1IGMFHC7UBS0ETFT9O70W608BJNI6WXRYQM750TD6JUCW52UJ0O77QQ4C8P77PELXJH4EW2E17KN8MAFO6XOA6O03XT4F1YJTB7ZEGB8GIH76X6SGN0DNHO3NT. +36#LHGZS66EXRS4ID2ZPWLPJ4HYQWH7ZE3B03CUKQJALDT4BRKPG77X097IZY16VL091V6W9ILS7R2608KF6PR1NS1WYM7MQZ8RW8SOT8E8P5OC31Z2HWY35SJTAZUQVCCMZX1PJ60OIORRAZ0JSXTDBFVWD1PRDAC0FK0J3S5ATN4VMTSTMIGM5RP62ZNLI5X0PSKXXNYRREIG406XS8XA7KRQT5OYXVX9Z8G6Y2Q2ZANQD0S1BWK3W9O9GMCDQJI2C27PLQ6XKA0EL16VMLIA5AD265XUU382L9JH0TF45LPWOUHH9T6PB8OME3E55PFUAX3ZQEFTQTOZD5QJY6QJ91QQECGWWZZ75V1OOQ17VB3L7X0RI2LKB2 = 36#11MYX6HBMJQY1TJT1AWZ09E9YZVW7VMQ2T7VY6X0760E3WSMCUWBAHPF56WOLP7AX7ZW2020CFNEHVAD1LY5LHMEUZC99SJQ7RBKUWCOUW6PGXGHBCH9KCU8D1KH8CJYFAIDPIQ9BJP3KVS83YKDR9FGPHF3MLGBAWIHIX9MJWGQ4SCGTVPYS1RF37JVWHMGWQSALHL22EXOXNWIPSB5KVJLF1003GPUBN0F11QK11K1PAEQ1J29RD30Q9R3TA64PCZZN53ZA6HYN2DQP63OJCWQWPTJJSMKBCO0IRYBRO8WCINQXI3V6MWUTWJFDUJNP5W553WCZ0L1S21AWEIC486X1ST46K0MYIBUDFLIPQVZGL0OER2DZQLQV9BA8V37V2QSIPYDYV2T69JXIHGSD7O7I13CVMOVTIZJFNS9NSFGERJ18RKI9I8KXM8CGKSOINDF8QQ7F3TNQPBR7ZA5EQJ7ETET7JJDERA9OCUX3SFLVKUNANFAJC7FUL0Z1XEZX92757TQ3ZEOHRVJK1JCVQRTLUR2BUYP0F60GKQ7H3MEEME6X7G83YTPCXNNPN6P61DUX04VXSOUTUMPNZ5XNA2Y287Z9MMAB58WXZ5T2MKSUWG24A8UK83DXSI2EMD8HCKH3AE51HBKKVWDF2U4GARMVOAMLNYSSQ2B5MUBPX8CQB68FIKSZLQLEL45IO31K5EE02ZU6079ZY7TT66AMW52RD2O3DGT7HQ4E00VT57W0WN9PJWL7EC2KT9ZXHFPH52N7EF33IGEALWICW5BL57PHYIDBIYRSWAPHLX83QRIGQY7UWOXR6VMONMW div 36#1R2C304CZ2KR9DL98SCB34WUMK2NKXIT19B9R2Q07QTHYDLK9UT74IELA5QHQ1MWGNC7D7RCUQRSBUYQPL79B82UG17JNUIJ68GAZ0HJ0K4EBH06CE7TWTTED4TN0VNI5XW4OQE7NT28I29ZJXOKSTB4THX86D1JI7APVCGHZHOO59JZUPIOCENLJ09HV7QJVCDNHUWSKDWOBS8VFN6ING3JT1NFF6TIK466Y95BP53Y7624W447PROBCMDNRIP2FD2FYFLYZ8YOVZP0XEKWMFT1DP83LQOMF779GUJF4ZJQ95DJQ4TLLT6AU7C7VD003YN9GSOIQRJ1K4V7MUZO7955OBKDT4WWH602UKQE0AWS27MV3UAF3O9QT98TQI9OSVQ4QGXA4K79YMFRXBHFQSQKLZZGJ667GH95LV4Y8Z12KD9UW1RXUZ98MU1RTMF4KE02VG. +36#30MD3TDHEFJQ47MLZ62I90XAX1J5P2QXEQNKB8SMSDFBA1IQ19 = 36#BJ5KV0OMISIPFAUQ2ILHB4BNI86ZA5SW72SYFSWSH2TKZDZZ7H6A2F1227TOWNXSJ9AEUM9TGMBV5CZXEABEK06GN0IM8HD2UQSWS6HOM3FFBSBSKQTBJHJ6015ZBDDEUVNGC87KQK39CSQUVAAGH8LW9 div 36#3TLD8JJKYSEWOCQML0AE0I6LTPWNRK7ZNOOP2CIM8ASWF1412OHN6T764YQN8I0AAVMFR8CN6QKXC1FDZAYHKPL7L3NDUB0OC33U1M7X. +36#RT119VW210HZZ9GEZ8RX12BZ7AHY8TJRRSNRCGUN4HXJ0BHXP = 36#NDY96Y99EQOGQH8W2VSR7CPLUF1T14QOYYIR4K61MEOWRCWU0M0ZT4GYF58DB3243M54GMXO85R4QRWGCQKAYPCL5IGD56LRRT div 36#UA1PXVT8KITEC6R7X8Z5ZD16EWZ9J8I1KPU97EQ0CQA9ZFR7H. +-36#4LZABF68E9NYOJ3JKIIWDVKX43QLCK0605JN41HUCOS64UCJEPENSNPIGKLD44UZPH0HI5C6D49FIHT89AMSGRGOE4KUGJANS1QIXTZA3ZEG1210Y2UH8MJPVZIY50IRBD0AS1L50THWSUU48F7E25AEV41I23P8MXM1O72QC1CZ4EW8ZTJEFZ9MQVPMRP7MDXZX84330OGVP67W9OI8IV88XCAOM8XU55Y3HLSMJZZAHMPZK8SS0ZHMUCX914EO3KJ4PCL38YSTH629V1Z94BB589A2P86B4Q6Y7AN79TEV07J3XW17AREOMB9TFJ6HGVZTRMYCPFVZT8O9LSUYTNYRQ053ZMUPAST9I3WEWAIY1S6ZQ4KBI37NARLWK4ER1R37Y898TT3CIW7VE32T1GPOUL3F01UCMF40AL68RQJSAGGXN1TBSEB53LEIJTJA75BBXMQOEY5YAQ0LRMSBGZOSLX4JWZAWMS3TNZ51PVY6GL5ZZ3OW317S37WA8P69O578PRO32CC23P1JT9W7SGMOVY57AMSHGR87ZS7E54VJ689LU06ANAHDULEDKOR1TR8EUG6HKS4Z0QXYR2YW70NBJTTI1Z3QZAEJMZ8YDGF81W28J9ACLJHDZF1QXO5DZJFL8P1DIJQKWO46NSSTWLLG76H6E3WJCI0TUR5P7QSQRBNDWLK33JWNDO7J6540HMY524X3ACOTSWPBH0EMALO0WPIKDOSP1K5DUCX2T84C8ZO26USLN9VSSPCWO0Z6Z8P2PAJGEHME45EOMA4XRDHVJVC2I8XNQO7IGLMEHPPDPM5ORHHIDDO4IXGN4T6OLPNY6APRGYDO4ZUOKYQLXU9YWM8LNYMWXP8AF6VSPRI7DEJE8PL3COPNCD = 36#1XVYB4W5N7IMDL20JAI1EXNFRLOLCYXR0DBZVSEKPDJML9G8JE2VZP22MGUW2FY3BPHMHAFA05WJ8CEWSGXU5HUPSXI58YRM48QFEHYLOS1SAW39SRT3ZDJUF0ZG2GI2IQQF5G4MH31ECNVOPP250SZDV25OGFN1X7PL4MK4IEJF4L5E0ZGENI9EJYG6X3XJQDHALT250TX7HUFCM545C0G224CV7FONATRK9Q6AQTH6PL0KK1TFQ8FE6NSP3667NUR24YK2L2CMFDTYVGYUYB7F1BUG2YWP9INBQFQWRFUFNRCZR8WFV2LN5M2LTM6AQI2XL45ZQJPT0ESX5G190SHJFXTERKXWK0H1QL6LOG467PRCHLQ3R8BSE1P1XN69WYV2ACT8FV5TT639Z5YTOH4SHYSUHDSVYFSG5WC6K41IZQ581Z6EG873DT550PCAV15YDIBYMTZDJUKR7GKH2LBKO0O59Y4LP1ZL56X5M59CDX1W6M0O7V461U5AA3GRYVDA1KBDD5TX7E5VG0U7LQMWFYQV2VPWGIR3X7PWZNLLYLPGYCOFKH8NGUYG8NWYRM6ZSVGPOKWQ53B2JBTBJBGDU69R1EL0EM1BJW5FYZBRWY30O36D7F4LKG5923TLOKX20NN2EAKYAU28L3B24G4GOZDZ6QJVAJ5GTTT0WNBLL08V6VJWLL6CJFB2L02GR9ZP1ZTRBMFH5Q1XR9H2UVI6AP3GPN2JW3PR1J4KF5XTL9PP6RBNELYISXFOBVD09T84WMWWVWXNXFCOTCP179W9IYN44MAOJD6Z8YL6IRYXDBT5GVLNXEJ6VVYVYM4KOM7XEG8GQKTWI4QCW07ADJJAQ811S47FIYUSVH6KZ4HJHNTOZ17H3BZTFQESAZ7EHH83CG8LOP2EMXTAKGZ9ZZENUJ3A0W7N57SLIHYP9FXG08Q6P0R2M5S5LI7O1ZPCVI6J0AS9BRNQIJHCMPMKEHG7W5D0N7H7RH0CI8RI8UFLHYBT4XXP4A5KM7CAMT8MEX0AVU52PM6MSWA0N5KEVYH7TY6TZ1QPP8OPE973Y686NRKQCZCFSWP954F82WTBUS0MTPUML7MX0TQM0B5YWWPCWDSEQ03Y4APR5S6SV672EUOA3WH61L9IK1PUXPMIODGDGQUEZ6XR44YJ85DTL0CKY085ONZHG1U39SJMV89OBL8MYUW4GQISVZ8CCBL6Y3T0DUUGUVQPH47EW8PBWOPME15HYZN4E79LL5LV9V8E61GJZO4ZVMWG7W9CQ330IGM02R8L6JE34LWURMAKW0WC48A9K5LIGL9ZIY2EHWEXOK6ZMF5DUJNEYY1AL47C3EX5XRJNOOKBSJQ0RWULKJ8T65GVVHPT7XDMV0A4XFP144GH2B7JIWB div -36#F5OYSKYNCPGXXJM4PNCJRH52W3THCHMB0ZJNY3UII6UTW7FQ70M4FK8CXADZS5M9LDKSEX00V7X2GI6YCIA4PAFLFXU9RTQM05UKWBH4ST8PM3E307Z9GJIX5280XXRWLIC6O3RCWH2NK7CWRSXLR6T6JU08UKYAL6NRWIO7K8I1PMPADNHW9OYI1M9SHECWDDTQAPFO0BQ76G0KGC2DWYB85JXMXSXY79QFWN5K9UWCTXNQ88RQFOSHZTII807BWGOFWX5I6SOIGYWIY4DDT6BCTJNWA5UCK8RRCL7GHM8XDW48783QH6KYTJMAU2B4UQ8E4ER84FH3KZD0SC610IHD4GTUQUKHF0NX9AEMOIS2YQ86M4TYF1E19FO2K5GOPD4NG8GF7KQ03IZ8DSTS0GS1AYGNV55K83QZXUR82FDZLHXKWD6E9X1JWP3V8K8XH2RXJ1X3QM8BT5X40OXWJO48FB0JL8DTYBA8VU3WLFYKC3K6V5GDFHCD92A0N. +-36#39BVREHWKV1QJTZQGICYBFDYW2ZLDUY0RIPM5A2D2FPF3OKYVESGMM1TID3P0904FNE3PN2EMXV6N0PFZ7N4RTQWVRJJR2HYB7837S2RMJ6U8OQUJWZYLQXKWNGCTARMJNKLC1HML82IHFNZ3FYJOFSZM7M5YJUCFZUXCUL9IKIHVENY1LX7QX458Z31H77R3BNKJW4HVIWT4ETMR8H0UHQDXOX1AYF6HXOTDSAJH2WUIXTJVIDTZHCS1QGXQ8QVGD68RWX1ZMD87EUUQ0UTTAMFNN5QIIISXDF18W3DPH6858Q1CWTPWT6XTONLV7FA1RV4PJNSYENSEOYZ2E393LG48PD85YL9WJP8Q08923DXWC8SUCP3LW3FBZQU5VFXFKIM67B6OBMYCW7O97KGIRAJOVA0LVHES2YPCLL5L7SFTMBRER9H77PE77IKAALW7FO9D6A50XH5EODGTWM4SDTLPYIFS5899CV7G6BNJQL2XG5A3OF3HXRKZCNIYJ4H9CPBRDT85G8M8RXWSAO4XHX9GFB1HTQI7W9N2BUKMKLADQOHSZ3G52AIRDUIIAS5C3HES1QVQWUONQ1ASLLUL8X07IP2A = 36#7ERD15LF2TN7VO1EZAN1W1R1JZHX8IL5Y9817LO5IGJABEYI1W2Y * (-36#FU0VPZWRLKA71H6OGQQPQL5MLGKEOCIFJG7Q54DWDNYWGVA4ED7AUI42BMK3YX7VY0KNA6UIJ7JR8HGYRKAG4VUGTVAKDAAM82XFKMZZXHY6J05QZTDSO5YJ9XXELYWA7J7EQF5C9DJUOIBGYMRRUEOYXN1UUMM9B0TC4X8JWZ7ZSG1ASSN2QLISDTOX245WIQYNJE0WBR0R52CK11SZ8TBQUPTJX7F4B7BCRXEWJ20JP1K19VA934M9SDAO2GEWVVK3OG7DRV84QW1FUFS7ZYWD67WYVWQ9947J6VCLAJIOTAZQRHC86W85S5WUQAUE10L99AKUJFKW6PFG6NDRV5XIAJUN96GX7995JA9BBATTBXXQ0CTWCY4FPCNPYHURUT3IRZPTR3OFWTW0KONGAV26WZCY4KXIE5ZHM12CM93UC627AW17PPUBSVJ0ZHT8A3TP9PA3KHD636A9425TJYWFFMEV837D16FCF9GUUB5RGX23QBNFHJQCQO9NKO093D3WY1UTXQSO6BMON7DZ9QWG00ZZXFGBVM070HY0D). +-36#CVL5PLW9Z52XIOD1VFNWGROE3PB7VEFN3FOI4ZYL83QSXYQLDZRGYWYUIQT4UK4Z8T3DR2A44SR4MLP9JN0GOTGCID405QOGJNK95S4N56J9WSV7U0WVRE3E8WRHEKA9UI9V610BC8NGZ9B2Y0X83RMCANGZ7BAEPIY2J3ULGGIN45JD5RPX3RT0MGGRSXQI5Z0HFAA2GN6HSHKT37UANVXMCDX2UTC3ELDTWSG3OT0SVAAQFSCJXJ8HXQ09TBMZFMEPC9IBF2FUIB4A714AMXGVR8ZW4EN0OP95NVILAQ198LJ74XKYUW8FXGHK511DAHZZNZ4VL717MEK6DF04FPSEAMKI587UKY2T5AN5Y0 = -36#ASBFO80NJ5ICZQQ9LP72BSK8QAWCYLNTDN1FJP4YT3XHTVAJRUT03RWCM1IDJR7I43GTE8HIYJ3W559H2Q99LRGCOWW0MUL3GFHFO7GESNKB1JUSGBXS79EAI9L12SIJIN2ZWO2BKKY88DIFAMONMOA7HLZA5CKUJ16HF2E87LMUVENRSUSNERO0JZHTV0E9XTBGI38GH1CGWPLXHGRF2C83SOW99S8O2ZQN7YV1AULPDJDS7D1ZLIY90HODJS5SC0GGWLINBYZLN8GV40HXSUNUMA94SWI0A6TCQ4KQ2OH8A82A5O549DB03RXQCN050ETZZO5OWOY8R4IJ9NRACY4YSLPKBT81BPSGJI1EDM6U5K71OB2OXRXWUTJB0ONVB5IZ7FWBLWRT0APNOXJUWOMERICZNZIQE129SCCKI5BPT227NCOVPF7A2QPQA28EB4LHZO19UTP3KJ9O6LUUPF1JBXS89EFKE3RMT26GQ01KSITZYUQPSV6W26R2Y4WQEO4EQOLPVDCHEJUMN0H98WT4JKT0CTLRDTKB7K7ZIQ55UY0VZHWMYN309FWBUHQ9SO96B7UARBMGR7ZKL3OUCI5483JHG7EXIN1NKMW78R7A769OC2ZO5MQ7OY1DP2U17Z5WJBOOK56WBMKLYH9OXS8V5P4R2NSBGHDT8BPOCC5RLW5FE21IXCUF3NYL4N6P4FUAR9W6L9SEVDONH1T6OGG5KZEQGV2NV6YTVWAJ5PN7BTX83XOY6Y6STLKCF00 div 36#U5KQCN0D0ENGCG31P361RVH9MMA5HBIO7858P25E5K9SHIS9X4OYKNS2CEQVQ7KYDGNO4BMKZMDE3VMKIIGL2VF5G2SBR9I4KWK210Y4BH8188RFN06UFM9GW5XAQJI681C366NOLJ9UA0CJFFGBVJQOXF0R7ZNSFZIFJT4ONI5K2V71TVD29OJAN3F0Y4TKT53BAQDOZNJBR74IXPQ3KT7L3KGAMDIVMQDOTAADDL8O3D7H8C1LWU8UP4QXAOTO13NBPGC2W20W5MW5ODD0SZFEQ9E7DYDHH6341L4U7HWQSTN31AANQR4G9KZKFJE8T3KP8ZFNJ9SW250TGPS8LS60OWNVP3I25YXDRADARX2HTY1MOTBMW44VF9PXZOCH9GRM4HCHODS2DUVGWFGAI. +-36#8COHRMNQLXFJL7TVKK0NKCT2A23Y3TAIX1YOQ3YCBJH2AVNT0QYZIWU97681LF6TY2RBG8KWDY10400FZPCCKPNKPEBJBKJVRTAIERN07RMQ9YM0FY1WWBO0369WGR7F9OG7F7K83CR6AKWNGEQGGSIZBQ4GNEO0CJ7F99JLGSCEZNR39TYO0CJB8P6AQ0D2CRQ3OF95JGZ7T08KHQ86595V0HU1O3F0JQWLC185UBC9WX0B1PC31A2W4KO4HEP82MRNJN16PO0KCBA0YDBW3NTN2M649ZZC35FPWAD6NMEDMJ3074LR58EJ7NJ0FMEJUSF1AV2WAREZTDR0YK7NPTMQPEIQBC5KMYH9LJR5VFR6E7OAT0RPNP73GEPCWLL7QN0I89OYZPMW4PMYQ2IJHSSA07XZ8NIRLK2BHM3295RZYOUCL6FUVSFXNOGKYF4M8OWIB8JIDRQJBUCBPAO4MVW6AQLBORSU1K6L5P2YN6ED141A05FKIJE6FKZG7KUAJ66BXIFUHQE7QJP65GJGWRTLF4XRIV1V6CLC7E67C6ZNA27C30A9Z7Q45EE68GJBN9TY2KJJMH5N8RJXNZWJ4SU1184SI4XYNXZ34YLHANVFCSJHHP7C = -36#1NNHTKAFA8Z590IBL4G9ZEUM6FRSZIKMGVF726NU4EB86KJS36 * 36#51GIJI82KAROHVXABGQ3L2ZUFYIN8NADOVE53RYQCW88I50TT0GCBURCBTQIBRRP2I3VF8O8RPUKJYUQ5UUIT820QHAMYYNYHXNFJTN019UT05G4Y7OTKBDBRGOB359N6LOTROQOVIKPWKYXFPX43OFHA4V51VR2TMFV5ULVKZPS35PGLZ7YVQLTXF2YWZ504LB50H3AYE0217L20LS1I3LMLVKTVGJ365BBA7VTOTJX0MFKL3LLJ40A0SGOM3Y7X3UYDUREFKR80Q42RG4Q56FV9LZYHIM51TVJY164TYHI38LU670PIJV7WDF3HMZSCE0ZYFTHZ6Z1XN638OT81BNAA4BR9PREJXZBAKH5PMJ1YRPKR15Q8F7DZ8RV8VIBILNE9SY2V9D4DTOYFN4YM4OLBRGEBVUVIBYWWX4BTP067BPDALYL3QIJBZOLWBNQV3RH3T89XH4RGAI4HJV8G4UL3BY8LLWY9L03L9PH9EOL2XJO93HVJSYJ18WPJ7XX5M2L4ME3ASRUO6ZL6P63KYW7H5USO8A7854YIDJG6XGB0M4VJWGU0Z44VCAVOH9YG98. +-36#HQ7QGPTG9L8HWCHGLEGPG4QI96QFI02O2GUP5BBITYY9ZYIA97LLYQCUAR8YPH0I47WJ463BJ5QLV77I4F89ML0WXQZ9ER67MAP5ZWNFIUJSJM36P9EPSRPUQ5IE9Y80AEUYA43TPR6K40NRBETFCJ19WXO5XWN8MGH6465O2G6XIMYDEZRIXX0QGTRSD3L8G1D82C = 36#SGR89XAM8FH2T2RKCH2R4LZSWYBV1ZBWETPVDTB2UQ9AONOP0OTFKM9JFZCVBNJTTLRQNGNGIKG7OLAIGPDEMM0MGB071OU82ZDQVGXXJSH5QL5NQZEEBTTO04ADTJPPGBBVRZCSCO89AJKMDJTF08U5ETDAG42T7XMRI69WCUU9VHR3LQ6NY1C35V2DMI74VVUG95IK6U5FL5PW9PRI741QIYOCCOHFJ9BQ8PBXZWKF1KXM7VCCRP0 div -36#1LSXP167CJE56FAUYCD9XBLPHBF51TQ7IDADIQ2GRJF41C2R1L. +36#7LRJHNMLO346EIQCFNTCIDOS2QLJLGJ5DKCHIPS5DK5Z763ADR588SSQM91CGANADV6RZ0MPM1DNYZR4JME7BMDONESYX96T = 36#DAZ42Y33IYOKHEP6I72VKCGFNNM030AWEGZ7HB834STMKXPIN51SJB7TRGV6CRO7PYZ2UDRSE2IRIPE77A332QGH9HCJ73XOYIOLTRE9X05V5C9SYFGS9Z35KS3AMCMQ1NWQ2LHWYTXLZREB9GULMRES43FWFTI8UX7ECJC7DGVOWPHABH0132AOS4ATNJUPUVI781BBGIMHIXTUM73LTZW6U643UUKF40VLB5FQGE92YWAGYJDW0ZWDUNT5JZ6HWXKCV0T0LXWBKS91V225TO70BZY9EMU1KCEYT3RK6B13Z3MFJ9QH0II5FC4544UEZUEAUHP6TTPZQI1CCM5QYYOJGMB23P5YD9XQJGX2XRHW494AHWRBOOC0PKQJ9DKD20UF6NIF2Q4PTQZ0KDFS4XCKFP9GZ6HZUZYVCUFCGAN4KM5FNGNQ4DMEYQ2HSMQOE76MMXH0X5LQTEO5CMJ0CEKVN4OC5SZKCDMTUACZZTRY7W9OPT8R5GLI09LCQDDK43A51KM8G25AQOXZZLZTO36LK17EYQOJ73UGQPA0IOEDRLY10036888II0L8MRGWG1R8T15XAVXOJARKCG0KHAUIOSNT2VDGRT798UUIE1Y2ERFI64ES0H3O79Q6UXP5C5TY74ECDPLF5WY65U2UB2WHUS7SA9LXA1M4O4R2LJBHRMVOX1N1T76OVZV757J4780AN15WUC8DHYYJ2OINF6SKM3OKRTZYR97M38W1YWT9WFHETPCJ3GKGY2J5U6JP0G4ZX2C4YVWC1771K4A7UBP3TIODX4JEOTK4YHDDRC0DVIVXWGOVHETTG4OC7BUUHCENDOVJZJOM0OFW4LXJE8LLY8XJ4NLV7NFXD div 36#1QZGNZ8KAUFP7W3WJ0924V33VABVAZVODER54C58EHMLPOBNV7MH7Y11P5XONEVXQHCJCI8I8UJ6JQYY51GL8AOZPAWID52GWDTC5BQY5X3AVV74OCWBZVP5AS91FHDQRLUABUWSDZQT5YP1JUZIFAZO3J3RT8ZQLNS4603RN13EFABO4RB88GGTG9GIYYTYTOVH7TDCBH1P0WC1A7NOD8O3XGIOMKW55DLR0BQJ4XFU8DYA8OJ3EPA4AGB69JMYECM7FO1U5VCA55ACI75SBFACSEAYG2H88LC3Q15HSK68K6PCO98BB2KBTL05WG532Z5Y9XCOYMT4XFT1BBTD11LCYOB2RZ2JYMH79SY620SIRT9Z7I3X5W37NC40NOJR5LC983X2KSR4QVA93A6VMQ7TTOEMGO1ATP8LF7WPL91EAEJBZ0W8YPVBNB76RZOYH8R0QC0Q7SLW82V19ZU7YKYO18AFVOYRH7L593PXZ5N4YZ5RGR6QLL7N1U7RM268GSIF7336HETIUHFHZM1HBNIXPFIR7NPLNJ9E1OXD9ZH3MGAY1W6PJZRXM8FFKSPAU1MNHTVOHN4F1UEXCUF1LCLP0X0X3XGTW410U2THDKSSZER9YQ6U6LH414GHC9ZCDW7G1BAMUAV3PQYNQUH8LSNYXBZXWUIDDZ7RMZ6UPG8D12SG8RTZSBQRI0NWEKT0KYWNKIK1F1QUXX9GZ4CL08FDA1OO8HF52DNX64H7A7SIRRHCZ0IBEY7RDGLB7GITMTDN8T. +-36#82M56HCLIP2D8VPFIBM85M7NYUI0NXRCO3T4V6OOH7IPOOMC75D1HYUPNBBL08E50UFXPJ4I2N0ZPQL7BYTYGU685IP6KQ9YYBUEY48O9RN8B3VQCW8LCPQH59ME139EDYWLGPCX12ILCVWJ9MC4FNU5EEKNL01RZXP7X3GLVZ3PHHXVXRN03T9YPEVHUROLEPUH1X0N733O9JWMQ8PZLOQBESVTZTV93JT6MHCIP3W8O1VQ20TCYYVMSJG0H5OZYUD9FUZCQTGIAGOOOYLTWXRV2H9769GS5HI59YX9DQDZDVHQ8CWH0UQ3NN8H9ULIHP2WRGZVB38SOXGYWW4USH7BO5IN9DB62XPIHFHX76SBZS342SI9XKXHQD4VOSCEJ48YVD12VKV4BTZG86IHQZ2KGQHCUPWYXOKLZYQZ1NYCD3J61P6BZCO7JZ4TFIAJURXMC252FN1687VSV0JBROJ5YQ9A39J3X0YND7661DCS5CX9L0HYXZFK0XG5ZQQ3RPRH32YTXBB0N6L4AWGXRK63IXV2AIP8GZ7WUQ0CP1BFA7ZNIQPQCH6HRRLD42W49CSRFT7V5TLUUA3F5GVW78G2VD57G6WU5MCFDH0XA3I7A9WR9STT0POVYZC3VEF4VEWYTMN6DMU4MQHNXXOY2LN9VXUNW6QXODD7A5HMV16T758FTGREHUI3 = 36#OFURFB1ME739LFUCX7I9R9FEAE5G06T8ETYYHD5T491HPO57IM63IRE2LIVE55MIRST0NY6ICEGZPDB3MHE3PTCODB4JFZ14P8JIZ6SOVYAHQOPI2ICPF3GB9BRVYP8E6ZQSS5B9NE4IEGAXY6RXXBKQOKFG17HZQ1B9AAGE2G0O5VACQGCG8C83ORZ9UTB6OCJA40ZHAGTMPEVF730J1BRSD8T9TWUH7JKCWYZQT0NXQ491QEO1L1QDNDOPUM5WCOVHDUROJDK5QHD9D6ZW62M2XUUOM0FTTB5GXBLFBN6IC4QU2EH7GA4S30K7RV4LIM4EJ8PHGK5NRU2NSOJZM9E6K9H7CA200DFQ2MNZ8M6YV8ZNZF3TKO0VVKCN6RL22RCY4APZ3Y70DIECD3PG38LTMSR3NWTC0WXP2W0W2ZMRE414I6W10N83KF6WS7DBMFCTVA6BMWKIVM1FILAXJLKM2FL49UFRXREC6FLSIFXY2JQE11PAHICMTP4JJFAA81R0XF782IXGCJWD1GQF54IVS4EFHYK2INGS7WNLZ4DIY2340BQPRB9TUOR5V6XO9CP90YBXGA2LAM48H54MTEGLNDQDQQW5H0X84XAG7B473EEX7ZGCA62CAXBAP3694RKIPH381W2ZGSNQAP7IUEV2ZJKFJLG7MPTSSRGB2V319BLAQ239DZI3OHBAQA7APOHQM2GOA3ECH531XTAOCNI618UEGWU2IK6T6VU5GZHAZ3QMDVRB9M3ZAT1PAJ26M7RC0XFNKACLJEPN47TBPTQX1XTIQGS1QP2CE41W79I6HXDO21XW0LSWH6F1M8EZBX5AXCDZJ39K0R1CX12V0IYPJNXEB0ECF7DJ610ZLHWGBNROT4MG4IHA4DDZZMAKDSM64QC2YZ9DX8U04FRMSTVP1H0G019UEDXCFV05OISWL6TNUIJYBVP6Y4UU15I0HBKP8RDZJH0DPQ5FJEBQVQAXSXE25ZZN9L5Q5EXWN1B2SL859855GYT3ULFHZ6Y2M2IXMEC4V347KJLJP5WDCP2R41VKS4VAMPG6YZ0GE1Q2EE4XUJL3ASI2ZUPKBQ4WJA8KITLL05BPYJN9Y7DPYQEXBT7VNP8V7BOC93X7SMFVYO4N34MIRV6CZMC876HA3S8XZO317OPBBNQ76OMI00Z95DT1GVYKJ171DIWOQLK5K7G49L9J5PPRGYFOKTLVXEL93WAXC9AM5WQJQ2JF8ECI5B5DB9EAU7EF28R67XRAAN2XIG0RLVVE2C58CPT6N95YRZ171WTEWW8KLSAU5LW3PPUSL8CD2RL1VER6FG8NBL1I div -36#30ZPT5Z7FVSNSMPRU0Z3IXDNTC2T4YLR12FO797OIQ85VRWEHJ9R5V0XY8VYI84GGXQR50P7OYLX3PNJ1THZBTR57XI84NRJZSJ6T4DYWHRDODL7DLV6J39EO2VSRM0GLMZ7VGMU7F9XRVRZXYKMAL7HE3S2YOIAPNSGEUQJTVGJIA11BXSRVF6FHND0SEDKMJBL52W7JM9XLX5GI0RDP5X5AL7I01NQO6A8VLXAO9X9R2H5P228T35MJV4V545Y96RQGC9MSMXLEQGN5MEJGJ0GUWZZT2PS4M9Y9YJ3ZRYAFIWB2DL6LSDY9S2BJ9KM21YJSLURSZIIATBN9UINXPM8NDKY4L74ZQVPIGILF6KY53WCBN0T02DYJ1468OBQYDXWSAWIH04FTG4JD1CIV0I64KB65GX6YB5V8W32SEZ3W68PDZV78I9JY20VIXSBECUB4UPL1SDQOE2YBFQWNMQL55BNDKJ6OUT8WZYG3OJM03MJ6J7AFKVGGU7XA5VOEIG12NP8OJJTADF5GPBZLHJQEC7DZCRTCZ8EFNPOHTGYTXRSK0134DOI78DIRZJPAM63MN2KF8VN478N24BWF40KE24JQVFWGV80FTY5I525RCQPND6F84S0I. +-36#SSJCV5OO99B7UDE2ZE1QCDB8GSHJS8OEAZ7WE4SYBUUY0ERDY03FXSSWZ5ONCAK061UIA3XRNVKKBTJII6L150DR2IW2QVM8TZT85T77HNIOO9HT76HXPQV2BE = -36#AJ48VCRIPS7TWG9QEBVD8OHHF22LBC02M4FUUXSLA43YBIEXD0GEP1J0OM41BGICM6B1Y2K7UTLTOBKEXTHKQ3ZS52P30SBNL3MM37MQP2JD553BAE7TPY8J2WJ96FBTOY7K62RS4BAEC7FZKACM89J07ZSA8XG5L9996GYQBKACUB6N5HVFZ29NTWIFO8CECQ4N5CLJCV7JUF9QQ5ORBKEC7299ZYKRPG1RHCG0NOJTALX0PBWXYL7GZZJELE266BJJ8F70HLYS4C8LKE6ZS4Q6U1CGDGD1ERX4D612XO1ZY56OEQTKX5QU9NAQVYRR1ZYSDTRX3KXYEFTDR387RC8WRLZMRMN8ZP6T855FNG0S195XOTFFGELXMVHI8B8IXLKFDIP3XVLA2BZ3U9VM1YN2TU6ZTQDOKN7WR7F6O1JGTXJGO1L6TW8CC4CO2NAZ9GHPZL681XCSUV1U8L55KNO22X5SSSX6XM7U77QXQTGWG5K div 36#D60MI5IY9WRXMCQTQMOGHAFFSAEZ59R3O7KH0WVJ6DIYXKQCLP1MFOOZZDPMHBUT4EOE7U68NECEFJQK7EOQ6X07V2KJTE2XKD62546TIJCB6OMPX6897KWBTYJL8GRIRCAZSE2717GIX4BPLRVUAGXPBVVYJ6UNEVARZUUKYN93HD1JHQKYHNM5VCXJ0Z3Y9XZ5LYIAM6ELQ0VN5W5WJ1CJ6I0GXEWFK583JS763FMC2FBIWQHNZTR2OIEP6UWY6SFTJNI82M07KESQRUH0S1AQYX07X2BTYD9ZVCPL1KSBN128NTPN4PSSPKFY0YEGYJ14Q1L4DMAOF669V2WFH6K81JKP1LPEBPHUYYQYO27JI53PCDOS4. +36#1QOUNXSBAP6BZGE0U7NTDAF8K19HWRZ0THAYMZJELCQNN98VN4B1J38Y62XQ9W69U36R8DEB1A1KT3WW3YA6QA0NA9OH2OXIV56AGQ54WF9OTNVZAOVO6X6N0HNU7NHESWCW1WM2W7BIC51XZQKU9XWIV91ZM1X7DDA658JS2VVR5LZWKX7KB7I14WOMN4QUMZK25KNIDQIEUK3KHHJGB7VYVTMETQT6EDS0MARI8UQPNXEXRKYIQYZ3B86Y0XXB9N9DT62WXP6ZOBKQZFQRRHREFMTPXR9A6M3FVI30CESEPJUCKXDCYAIPD2IZWQ8XQCCYW4ULXHD1ZENTKTTWW6NWKTXFUO1EJENBHGQFRMEXUBE5HLXQQECFOL9SYHQ13S8M429FRIRRS2ISDCDWGHIWIX13H4SXJLBG42EJMPJMN333A9TOT7H512TEYIXFPMHA7V6H28G8CQRRKQWWLKGIATNJWPEL48KZBBN125LIKWZA2S8S89H1XVV39DFQT72RWD5ZUM6ELHPPZ4S4SC8N3FYL9EEMNS89GV17CY9ROJ3WUSW5JITFG75YTVV0VJ3JTEK2GCLGDH6JZQIZM2VW918R = 36#2PGRW4ZY4G6M1HNSOFQDX09WB2FXML3WLS909P5FCI2KB8VPMVHUMUUDD7VRF3HGC4OB5YK2D4M23OI7AQVWVPHSRPOPF9OBBIJ41YUEFZBO4IHLOX5XE4FSFIGS8IYVPWZOK3QNH7DVLZ1642AIWJ389ZDRYYRP2VKI1PJ1VARYHAHU7H4C5MUNQ0RUUC9CXMU6IVES6IGGPHGLKUED4RB14QH444VT292HPF951UIK8BIN73TGD40AF0F3AOTGSUIC9Z75HQTXXBTOS864QOGKY9BH20KRR7DG4M8YKJ6UPO1X553V4WZDFHWF7OGO52VUJD7OWSX7XUHTGYD5K0GNBIDPU5JPW7NI23KP3DWD0BI9XJUDG3F27X29EPAENMIIMVJLLRW7IP9I2CVHEPDD1C79OO8UMEV7HLK676E5UVWVT253DRZ91B09CBFBSOW2VAVPTNGOBD5V9VDEMUEYF43UUA8IRSAKVVQNXGJ1X43PO1TACZ29CONE33EJU3D7VYMGHM6CTJNFQUB6JA2SFJZ71KMGX9VZDVZP91HDZRHF3O34YBE6TJC5HSAIXK05NOZFAVWPZD78UWDNT67VNNYC3UW2WR8I3UWK5SV6YXLEZRH5FF3EB3F7MWTF28ZMY5D4Z5179 div 36#1JYX271W96VP0NIGKIJKJZWJQCIVPB371PKRF58JCBKLHICMU7. +-36#167RD77CCHEFK1C6ATABI1TM50IICZ11HEBV66L36QS6CPDH6K = 36#2FWSZEM23KK638IXHSCI7FQK19SJIOTHEYZ4ITHBFT3HTPCYOUDPTPS9PE9O20WMEQPZJNUZX9ZSDK8TT6VG0076V8WZ9XO1N7O div -36#22YU6SCF3O8ZMM4INDJBVIM53F9RRH5YFH0IW4Y46XC2Z4CL33. +36#1USDXIV5IXXZ5K4747EECFVPNSAEBV6EIE25X965OY31OZ5INV = 36#3A1M4HRI6KN7YUCB83D5WFKK92QNG74AIE4Y5COTRCZ3ACN73U5PKTWNJET049OE4XYC927MM0V8TVLNG6D1GFZOVULK011F3JT div 36#1RMLRW9A5OUUSP7QVL8TR38Q08CMXPC25B6Z72XPIEWR37H15N. +-36#2UNFBV0QN2J3NQD38Y2H494NJJVGAB0HKAPNBDMNNB16TIGCQED1DD0DPH3ELMF4OP34TC72SQ4ZKF6RRQWR84Z04774XE52NR7QQ40BACCJ3Y2M4L72TFK5FEZEI67ZT5SMD2HT4YEODGUP58PGNQYXO5L9OACQ2NA3VSZ528156WVKK0Z1W5ZFDYTKHHP1HDQX8ZB8TMMJC7OQABOFZ5HK7I7Z9KVC890UNTDYS0DGNUAXD4WCQMO9DG3CWTPH04TZRXQ293YVVUSOBE6H5ETE7FXGOA4PY334CT5O = 36#7JRZ39QGPTB8PW25JIXH8NNYLSDCMSF9K74FYTV44V5D1FX1TH7XWYTG5SLVWIKCO9VR7WH93YCK0Y65VQLFQW7BFYHBMUFGBTL41RIQV8EURV2FNSRME2L6KUWR7W35RB9Y4T7Y8ZEA6AXPAHMJBBRY8Y7IS0SQZIMHZV8JMW12SEW4HL8F7R6SBV8MTVLFEK7XCLEEA0872JRP404UV6GLILZL887JC7TC3WIJ7LFM5KXWJ9MDSN2BMFX4QYATOSPF5PY3BG9X55I1EWHQ7G16IK2IZ7SYN33M4BFDH3494N8Y5XEVH91KGKC1D5J1TF1CCTM7VGOKKQ0FX335XUEU6NAOFHIJZMK70WUB5KUTNI4MCO2Q14K8TCNSL1BRAFQME82W2WMKYATA52VYL7T2BR3WLBN6WI29GTC69T06VHRNGJKUFJ7MDZ2ITP60EKVBFRO1DYEKGA72LYXQ0HXEP8OIZKKFQ36DS52BE6U7MJYOHP43DDTT0CXSIRPXFJHGW3CE042UWOEMLV62XVL8KEZ6IY3YU18H4P9RXD3M20PMLE2IH8PPIUE99MQUO div -36#2NB9ZKKE5OYI781X0JIDCIIONO1B2PEADAUQ42CCJIYJUFST5O3EWKIV2RH24YGWCC2ADZIAJUGT0HMDH3CB2K6CBUA7KAP3MB3XOK3OFLBG7A6KBS6IO63EE9FLWSK96UUIVJ8K52PQOWF4YZ1SREGCZNS635SC5OLHIC6NFULFHETNVTUFT5AXYLNZ67W1UYXWZRMYF0M823IMAFLNI8K33OFTB5CWIWPRYPOV0ZI3FLJLVVXQLDYSTI0MQCU5PVN8TZQ2NTHOODPH6LFSO9IC5G. +36#F8DCCMBSYF8NKXTA8ULRAU023JQA92U2ZXLPNLB3VV67IBEWHPO0E56SMY218117LVB5C4P7QQLK45VEPOS3E2KWRQ7FP0R56Q03MA6WMZ0FR3IZ8CKMM2YD8PZOW6V8RU1OBJC5B8ONF44HP90FMRRDA8RADL21Y9XJE36XTOVW2PTYYMT1DER7A7DFP31X6PR3BRXZUYAN4MYXG23IG9YOALWNE2UTE8D8AD6JSPJS3FGJO8958RPMQEYEZ59RI5HQ0M1COS6U32JF2PWUY0Z2E8L71K9JCXIAD4AYSL23VWZ5PGH23UBKIWMLLTSI689ZDSR7VOEKVSABHXJAJ8XN9BBCNV0U1WRA42FD06YW8KX7WNR6WQFG19AN0NJ0SQQY300O1CLFASVKF8VPHVSG4VO11TOWO68I55OZ8ZFX5JMXQF6QBWF410OJCCS592WIEQLITB9O0X31BJHB6WIE1SUBZ9MJF08A3GTO5QJWCAHQOY0TLVH5WON2UU5SQ4TERET5VAXP8KZ4TDC4S6W4X9MO473N1BM9QCFVJKQGC2N3OPAYI8YOW51 = -36#JYVPIRI76T5725DO85ZFF26UWTA3CNUS5HOEYMJHMK0R40N2GZBET09VJHVMNX7LR2I842PZ468OM6USP6ULY1V67PLI1HJBNHOZM6J9ZUKOF6F1RB8GDDWRNQG9DH9FSM3EUUNPLVK86NPNMD40X8V9DKYGP3S0AF7UNO2KZBHYGBYNJYLLGJBMOEQGRBXE2SBNXOQH0J0R339BICZJU3AH0AVXAFFJXYFAE2ABCSY2SYMO0ZSH0NMQFK8Q6Z5KBP4NV6SG1RZGGM7YMU44Z3LA6JLHUEJ5S2TDMB9EFEOEZFO4MDRDBJSIQ0RWZQS5YDE5MTZI7G8YCVP570ZRYOECW4PPO9V0G5A85HB3AP4XSGITK698SE2E9SVDSYCO78IH63WPFDV8S3OUDSTZ65TVT86L28W2L1DRYQWRCSOFDAD7JBEQXWCJ5D82WMCZ2Z241A31EDK2QIG2O2DN85M8893V0D19TUITRLQ1S7KU01P900SFG0FIBSLIKQP9ZODZ613C1YSKTJKSHKNL52ZJG0SY9IACEE4CTDYOBN053BJQNL3PSB52TOH7J27AH31MSRQFQBG3UN9TSIO3T2RVMUKZ6M1GXWS9KCHY9XFY div -36#1B6Z767OX52Z7FZ6EZNVF0XQSAMRG99QR8RNVAR2FBHUK313PY. +-36#1CAT0E15BSW3SLIV2EWXZ5MCXW18SDTL2RC1ETGY4P3MWPCLHO1TVJC4H9UYZCP4BFU19BOB6RA8FLDMY9JQ6PXPH1KR11MX7SUITEVVI9V1GZUAKXBL1CO8XDZT07WXRXQ2PU4W4D0FT3NCQXF68MDLX2Y1UAPV9Z0CZWQ9MULWQ3N8Z42TK62XCLPSI310GRC97G5JTD1NP9H4QN7JXPS1IJ6AIOYPQVYZEI05LBP9TNF619RE6WW9PT38MKJ7GD6QVIPIEWNIDMLPDR2U4L5FFQTABM32CW6KU5E8EMKRTT4LQVIAV = -36#1QRZPUVUKC0XJSZ04E2CJ9GTNOSLD7CRXJ1OW3ED70WKRPIO6V8HMUR4QUUE6RQ2AO8HJ956HV8NWYAY313OYMRSTOYSH7L53ABZSR58AYUIG55TPCGJHMQDZKMGBWCM14PPV90GDLLZUCJBPOP0F0CXDA3ZXU1SYA8MSAANM58YUFAW61OY9BF2FRTS10JGX76U4YMFIRIFFPM29S24LCSL21Z6JM035DTB04AIZ7TWW9AERFH5JE3QZVQZ6HR992PP * 36#RP4GODF5VTT86AARNSJ8A6GT35N3G2GLT0284S2K205W850Z7. +-36#4SLXA0MNO988I1ZZEUVVROS53P1Z1EX5RSA7J8Y1NXTNVG7POAI11EG4AWSMCG7YBAY4P7TI6NV8V8O1YAY38HU2N2104AMODQF91IN0BYR6VE0TFSO2URIAPHN9T7WXVELCNNES66ZMTL4JKMUS6NVLZSEM6VNGYB7QLNR2KBKZOC8QNEKE6XL861CO1LC08WIU73LCWRKFUAGDA2G9INYB3AJIQVVM75BZ12WJRFRWXQXKDX07YL7VYHGPGH6KO4VII29IK4JBK1MHOW8MEHUVIWUH7CNUY0DQE86CNTKIWPABENEWTJOJ7F4YT4J8RJBVH7D80II44Y1E769PXF0QN1IDGIKFYL9W1PVBV1QTPAJ7WZOMA6XM3DXAIWIHEC5O5XP1AN152WT9ZVRUAVO3ZQ2B28ASSB051QYUR9O8I4C90PSM7VK5G502J3J7AEF4CNN9CTB27WCS2PFE13OYBSTJB04ZPCBWIEIEDW37Q9EH2REBJM14GBWSPCF28KUQ14X0316OL3REPH44RKZEJSAQHMMBPI = -36#VE614XT6NBUOLPSXBH45HW1GUEJAO9ZI93MP3047WFQOM111I * 36#5HXPJZFBO6NAL8RMHJDZPU927958WSE6QU7777CPVJL7CL5T393Z1CLOTTDMA6DCZH2AO2U4YFEPT1HAAK2OT9WMZAAB1CRS3MU9FMNP1CQ6ZEVGI6PJBS4MDEWITGHBZB2B8E0JZFYYEUA25797OWB1TOQS2WF3I6QX7VBK7T04PRPJB2J0VQNHHDP8J4449QJ2GNQNF8IMG71N3TAQ7LEGSEKAWZGP8H3V7UQCQMYGQOSGVDKMGNYUPGUWNXWVH1YG20M5QQWK84LS5XK1QE7ZJ6C2SILVSDQOROLF93KE478JDTOOA9TSKQVQA8N2ZGGV53F5V36A7APJ9UUK1SB9BHL13R149FW2B3HAGKYFT0AQDIPZ96FE70YS5TDWATRTTV157A6N87AXTZLRZ8KSRMP4UCOIQ3I2L2Z37YBWGC9HHEKOL38AUJARVI2ZVN5FEQD36PNDQZ4Q0BP40KYO752W8TW0QAW3A5J2IIU48S5WH. +36#3CDIVVTXO0SMYRDOZH21YHA7RM0KYTV63QIVKNB5WDB8FV3I9F143PZV839S5AV5XDM1EXQDOEQ3GH00S6F1VZO1XOKEP6T6ERPB2R8F6ZI74NDIPNFD2SM26Y2F0HK6ZHRGGXAD9CXA899NVCSOY7NG42W1Q34G0 = 36#XL7DTBEYHT7A63X4WHC6M2RDQZ3BZF8LOLWP2PHCBIXPYPDSKKDN6H7DDTJF2PMN2AI5MB6YV5 * 36#3L0KTL01FVFFR3MAGIJGK1TKTZ498TDCFFJURWVP5AMUCGJSAIYRC9K9UH9ZT9A8YAO0SVMR2CYEWUO1RSE3WW0. +36#IMUXIPKCJDGWQX65LL2U36BYR9KNPSETXIABMF5GMGMP0PBWBNQQSU1JQG4IG1WNR7MT4M51BG3S8CCL40FOLPRKL2CTWU1SHU6VL7CQUQ8XUCW2OVSCRWLMKRIZWDYKU43BJ357YRK3WZJ52GNEAMZI3R0JOUWOCIL5OD677HFRA1FC520A54YXFTGW3RI2UIH5HW = 36#1GY205MERXAFN30RE502120E35C1R7RUTN0V2VK1PSGYLU8KPT72VGADKH7BRR0OU9B7DK8IMT6GITQY45ME7ZCP5K0D3NZFDF1DO7CL7TZM9HEDJUQ9BYSR79C2XI7D6CYOJ0MQCZL2BX2L7QVN3URPCZJH0XTLCCDT6Q84TY82JVE42DMYPBLQRWJ3077P9TNGYFEX9LYKQG4ZLMXL8LG1UCM918CE3PYG2QC3FHBK43AIVAOOG37A7MDOW28KYUJVYR3J79P23GJTNRMIM8A94TU0RMAFPDMKS0SLLSC4D8LQP5T4HQY67Y2BLWBRHB0S1PZACJ4KBKN92K98IWK3H73Y46OJC16JDK4HH43PTSXB0B4DSWSBP5GTMPON4 div 36#2UA7RBV250LGJ2VWWTRMA9RAQGTV17KZ5YD5XTB44X2NGYZ3FBFIA0BQO5XX9D0U1M3ITLL5YLPMVCMWQ4SUFYCKDPSJCAAB7CIVCCXVX8BFPDJHROM56H92S704WFH4L4HKANSGEQ85GGBJVY94WNLSI5PG9OSLPO41XQC7L3DWPM05035RUY7X4U8. +36#1UILVQ6RNARSAZ50EI9TJGHSTITEXE9ZR0B3W4XTZ5JLGOCHV2DUTXLBDO0SH4T30FMPRQMFSGVK0VNGKRVJT14E5KPL07J5HHGHC8PLP4KVZE8RF55M70BJEN6AABK0L8TPLNAKEDSS1YIZR8Y17ECLWU7JU8ILCS2CTPH3TUF1C4D4VTTC1OB6AVPUKIBE64P2B22OTWI65ZIZCT2NH9RLW08I8JL6MJQ2V054XHAFKTHW9180MTU8TQCINOSOHE3RBLAQNAUG0TKEZ5ZPN401B524EK5F5TMLSNHVHSG = 36#19EO94ZJRNWDLQ25VT7CZ4W0BLWJW2G5JR9L67NE6QE9NWO81ETLFNIGMUS2USWUNYTXK2QGKZU78R3LZDGVXQ8XBIJZKD9GJSDKINBEM2OSEUZCXL4FFLPJUCDOFGD3BUZPFTULR5S9UZCIQNPVPCWOMHEOYI2B1HGLABQAAD6D90C9KDFKHKNL8VRMOSRCK4F2SLK2PXAO1CGCLS6T0RIPJNS5IEENJ9CSANJQ7VWR1JO6G670V9I578RSAPW0643O333TK95K7S2AVDD62BHJ8A26N79ZM4TJX4XKX53QLCG98PVHSAWEGIZ8W75MA8H97JMZ80AYHZESVKL0DVVMJQFK div 36#OKPM51W68BFXILJSA5ZYREQVGDIHHMRXAAUCB6DYV81ZP9RRH. +36#1UL958HRPYE29C3AX2SR72CP54N7JIKTXTTJXFTHC70V1SAYXQ = -36#5TD7QDT33S150ENTA9WG2C8KZM80S6TKAKYIRTXJ7LXUSD4H787B6G1YX0H0USQT6BPEL7L6L9DNM9A1Q7H9XU5S3YWY0BPS2QW div -36#356RAJ751W9ANS4MRM1EH9V6RMO6DVF8OX6XURCEBZALFW5OI4. +-36#1OWARB1XI22ERY0OQLTO74WIKXY1O6N76ALD6CD4YN6541VOSY = -36#H2LEDILXEMNWHUR82PTCLCIS97FFHG220ZRJHY3TDS0W0BU61Q1UMAW5R6F4Y4IMSEA05I2GJUSQ429PGS9T3K8DBL1QYZ8QBHKVMNLXVAWD8T9F4U9MLDWWD1RFBMV4STYCM6AVNCMROB56ZKQGKO38PI85JST9K0UTVCDKI4QF4ZIXQK8E3CR0Z1YR2ELX9HN2KOQB57B451JCXAFZG57XU4VVO15TQEW9DY13MZB6VU2SQ4CEAGC1JUD9Q0NNK0JWGZ1M9X90G2T2DYJBSPX6VBEG5QI1XGX2R6AFGGXB3MA7Q50C8OKIHX9YQQ2RDFVN8XPBZ8376CMCJKY2VPJABA0VSS04UX5OM6V9BR78ODQ4MD51JKARM54X1AD5DQU251QHZOV4KZS4MNSBR0WNONMXT8RW1T4YI2VLAD4SWUY2W6QIG9MK7B61SLYWWC6 div 36#A3BNNSJVZ1RODPUJCJ9PBOV52ZP2Y2LHQJWQP128EI0QZ5DVORR8PQVZWHC77H2WZ68Q84WESSETIFO449Q2D9Y3IK18BR9AI4O1BHAAXHRRFP5GQXOEWUTY685KHX50HCDCGYF4599YEBC6JRBC52KHQ9KTQY3UW47F8OP3HTAAGBTADA64S57SS6302JVDYASUA2M11V5JGZLGYR1SXM4EBQTU9J14KXOO67W1AEIIBEOCT8YE4A39OH8XH4BWN2US7QU3DBQ2YPR4OZJ4DOZOW4IR44XDO3SBI2M8IVWAHMAJ1O857IVXZARDXVMPY6ZA3FGC907UGCLL0KHCSGENFWAZ3IROGVA6P0EARLPAEDY7A9WIG2F4788CXFCNDVMHYXURFGWOSY2GDF. +-36#7BWUIX5JCO1Q9E89V7K3M8YAC3YMWKWZDX3V3TRR99CVYDTE4Z6URLVGWU5PURP15BHVCGOYKHVAVUN1I0I14U21S15224AMDTG87GY6FRFWVA2UJCSYSW20D13BBH9WT79ZDWWMKT3ODSJAWPT4SD2OAPYMT73CO9VC7D7KTCP9NQSTV88S3AWTAAEJIVKCD8VHOXUZO5MHUIHUEA6SVEAC3C4J4OJ099S1E9OW07FDA60JD9MUF65M30BUI22NAGS9TK3YN70AFCOEX6BILFQR9B043EXU0D29TAQLPQUS3IA311HZ0MK3Q8AK8DNCQPZAZBZUK5L4HDK1WKPHACL0F5M3J4AOARYIGWRYJVWXB8D31841HUI2JR84YVXHS4BBZLJBGFYG8LLG2BGKP7B931AJDFLABOU53TC1LX09FFZPGU5F1LJSK12EH3Y8RTSQK867WANS96USDO8F4HFU4ZBZZEYF5EAYANVE9Q6Y6RHF7Q6DMD7OCVVHBJ2JCYBNQ4K18FD14NL0EHSI7J8TV5E8Q948CDSUYQSIG3PUOBGGQAV8IBL633YDBWVPGW5FIZX4V6DZGTGAEOFWFOZAMTWQP61VALD3HRKBITO0NORE9CTUXFZAN5OKAU2656EESHP8G5YT063YBMAH08TJPSKWHZI33WGPOPYB7VA0WRA44I2QGU5RMXVEVJNY5RADDCJMTY16MMGIE3TMW3UAM0W03XAZKHQRF0ZE12ZW7ZOPAWOAIEZIVDL7IWOW0E6IBBBUWB90SBNIGA8LMU0T43F0RSS2Z00 = -36#SWBECSVL4B1EUOSPZQ18F3X9S8PYPYSZ3HR1IP11ZJ90KXBYZK5TFRXZBS5BTL7NVGCMCPIN7NFU30D8C1UT6KPYM2XCPKWNE4QM9OLCZT8PAXTRLPVZI1DT8X2QQUW147LWOP38UO0HZYPPIM5ZT6SESTDXOVZBS5I5K7S5Z872UMYNTNQ8OOWQ3H6SAC8BXB4S8QJD83LCRIHQSJGELORP9STNSOEIXG2144JD3IDJZAA0IV6EB1EAVEXC64YM8QKS64XV3AIQU4Z0GP5CAQ2LX2Z9RNB92VXS5VETSXBUIHVB8XKT6UN8DXLXQDD4AJ2XKJT9B9CJRK * 36#94RWXG6JTO15ASYIL3ACEGF6FMBDX2J8B3Z01NEKKXWWDKW3JO9VVOETXZII5FA5WT2X8YJ0E4A0V0YKOSQCNWJ9WTH4AIB95SUHK6MGXOEUNTEM4WHF35KSXUS96KS83P5FO8X534LVHGPMGJOIKYLGUBRCIDD5UD9GCBU8YV3VK8MI91K9KPLXV05KIZTL477R49QD3ZBIAA7K7OJNR8X8B2NBJNIQ9NLDDTWBARREIBB5WDSMTQRS81PYXPR65HI5RGEX05HDRDQ4KOIG4CCZ0F0IU3B594ZKHVWBCOHZC8P720RCXR5ETGU95JUYPJYJL53U2RS2BZLFJ59HEGELU1RESHWANF0S4CJB2ZI6YPNK95L7WPMR8GON6Q7MLU50B88YKHT043V9POID34KO1G59V0U0W40UC16H6JE9FOSBWM85JOVL7XHULXAJXLEW0JSVCJWYZVXS0EEOR. +-36#4SAIQTY70JE2AKMNHRMILEO8T62UK3ZSA8K3OA1LU4VCQGYAE = -36#40H1S6TV9TKCIC5RHP3AF5PXI6QLIPDNUZZM60T4AZKQO9JLQU9JJQ6SYWFRZO0AP0KBEBDSRTRAH3A76MFUQCH8YUVKBGB1KS9JI45DSIKEH5CU div 36#U6QTWGTWQW4PD4LXM69YEJQZ5EJIBL6KSPUSF8O8UC1DYLJ6KEMU4ORGL4Q3JFX. +-36#12XDBR2O8YX7280FLBFYKC1G6MW66O808GGTSIC7FGUGE2AYQXIV5XMS9D7O7GL0YMQSGAPIUBE8MRZ3VJ0YJ78Z5ZUAAJVR63YV1FL85FZT09C5RA4A3EFGZXNDJE58XQZTK3G4791VKVPB6E1WLIJW0F04DSERF98HWIXZ7DKTOCOHZ1T6SB49G76WFO4QH9YUO3D34DUTD51YSWGQ7DTYG74MB3BF2F5F721MF4SBB9XW22ATVB4P0EZUXJURB1EQM1R6S55T0N5QR8IFTDQRRZG24RFQRPVGAYQ8OZ6WJ14XAH63DS7Y8D74DVVVF3MDEAOUM5CITXA46AUMYUP9ZRIPESFTDMB6QHATJF98TEJYS6YCEXKKNV24CPV8VINNMIPO5974RV4CCNII52FXF05J7TSOD849X2N27FRY9Z3VUIKRF5JTYGV4PE9CHHGSQINXBWB8EINQY0IRGYLV0YM6V73TCT30RC3G34IGEQGYMODF42RKPWI2LSWC7CEVW92U8EZ9L9NMC83CBYVVIY89Z4 = 36#6BH21ORCO79779D4A4VP29VU0CQ962MU9LNL1EHGMWZUIELXMUA9I1OMAUDL55D1QLKM4XCJGSJGPB3FNTOOLD64IBYM6XFIXRADA70ZIWJJNND03SS5F5HMZ7KW398MYEK3IDU6GTFX8EXPYE22F1WDK06VGZMIDGD4DXVYGAPBO94J9TODNY6MWJ9II8Y2048IL07KH1ANXXUKA07JUFEQK4N36WGEFQICNOBM56KDPX9WRE9ICWQTRLSJ3AEPVB9CUCIP28HHO6FG9G6JIFFUIM5UCQ5M9JBW1CQ8VG2G5FDGJ06UFE1K2RD6Z0O53FP9JQ21AAQBOQSQU79779DC2IRAVHJ14L4IX5FSVXCEQBEKZG22Y4OEFH0JGSAK56TJLTCESL7K8Q17T4GAJLP2RALBCN370PT93J25NIFSNT2AXTDFQ3TC42JLK5VRQH74 * (-36#65S3XZ7ZLTNH2BLKMVBO26N9EFEHX9R52IK8RHO0BUW3Y62IPWX02MOJ0CERNF385KA1GIZCLGCPF5CXBH7WY1V7VS). +36#FM09Z1JJZXWAH7F5S5RP74UNLSUXX3Y1KRY6DUJO538NR11J4SSF6TRYFNEUZGG4A85E92P8JPPZNJMR96ZPBYAB4NR3WXJ5PCY7X07BXOT168Y3W9BBQGV3DS8EAFRH0LIOVIR9UJ5YM4TZEJZE4XD88JEMOE7I96NXX5BOD4RNJ7EQ705DOZO5JP9O1EDD7S1N3QQ0ZU5GO8XISAHQ8ZHJBJKWFO4YQBGF8ROAOFUAIW8OJTDXRWX5LZHNOAS8ECSNV9GGBPBNGLVOKOHIVYFEMERVUIVCZMY1K89TAN8YPOZHUNN22GEGWCRQBG15MMWIT0L1O032W3SUJEK84T0I1TB1SXJIWQWR60FVE4XBLEF6U4JZ2LKOO3JA0OEL345787449YK6SHI2JO4G2VNHXNLUSMLZ00R93BHWW7LEWGTN5IW4UNKDX0ZBJUMDEVSGM5Y0YO72NDSIXKFA3XFBJS08XJZ3KN0TSKYIW8W21RL5ANO6Z3E6SW4I0C3YE = 36#1AXN9ID0GLZDAGOII6WMQCZUDYQSXU6XTIJL1S45U38ANMW4M9CZPEW7TNYQ2VEBWJ7JD68AEQUZXWM5UPJDZLG9QOCCMNWR2AET3R6PHG2EQJSZG5RI02OBBNAXYTKAM8EQ43PUUI8SQG8ROXDMDGBEMD2BAYN6E8KYI07UF2HQL83UE13B7CPNWDELFXIW1SMGCXPEVLPTGWAF8Q5YQQHGTZ3LO1JF8GB6IZUWCUWBLT6VFGE6N3ECFZL73Z7ZZJZRE5UWP6QCRCWVTRNUELS7GY207NKOI9TX3LA7PSS4ZZ63IZ5E6LEL21VUBBAP112U5F3IDL6PBFLJY6HJFKDSCEV2Z67U7QI8CLDFEJEUD16RVX9KOKFN23S9LM4E3GLSOIAUYLP39H3ESB6T8X4AQEQ7AN8MZ51SIQ537XOOION3A7ZQASB8FUG0QNOBW4RSQB5OO66J4POZ72IDZ5HQ21OZW02BNGKMVA7DTHBEBKD9RRTMCGL4TCQWVM4UKYCE8IR9DPX7TOWM8SZ58GZPBW5ZKXHYZ7U1XNR3X307MU3UYPA div 36#308CS460Q5V8LFPDA6V4MS4DQ799BAISOQW0US3MPMEXDWIK0T. +-36#1GZGOGA9TXH1M56S6RPLJN0BXFTP74JH6BNYN9K3W0BGAUAYQ4958RSJIB4O8ON114Q1IIA845Z5AN42DKNHCBY = 36#2EFHNIF0778VCCG1KURDTXWTNCZO6396EX1HNL68M0RWK0WIFDWK5BUH68IAGFOLQM7GUAZVK5F6S3ZUSG5ELR16VTJHBXN7NDMHFZTPJG3SWZRFMT64RH2DSR7R2JSDPJE16N51KQYIYCWPKHFC52HB0ES30I53XOIEOTOUC9BP195CX7RR1CR7DKU6MVKZ3R4AHOMFC95IXL30WQMTD7TOPNURBX1DMY6UMNO835ATS88JHA69U2MO8LLZUSE8RGW5M2SFJBUW01QI019O6875BXLT7TT2UQHILKX2IY285BHPNOFEZR5OI7ZKM366DKH3RWWF1XAD0QN0RFAMAWYLQNWGU2AKX395I1C5EOW30659CJBDA3KH529ANTV45FZG1JYFSU8IIY6JJRMC824WE13HXMJS47PPY7ESQ3UEJCR9PZ1SB49G76PJWS0268QATFCZL2GJY4FREOVV2IZN0OJ5A7SJB153CPYKNSF4EKMAO0XG51M7WW1NJXUV9RQV2DUQKX20KY62922FPZTWA54VX7IR37XV4RNGDY1HPVG41ICA8UYAY6NDF1C9TYXC8E7E18PXBNL6PH5IQTSLGSILE1EUB7DVI984KHYQ96HTKPJ7SGHXFAQJWB4169A85ZBB3CJUZCFCXW0IYTMO4HJ8PFUA3A3YHA4XHKTU92WY8M4OAA9FQCWK50CEDWL5WLNGU03BRMHPDTPFRZ1I5YCN197TJOHEBPA2ZAQK7G4MEQTMLL5D0VZ08GVM2RJ8XS1W8NYBD6JSPKUKOG33GSC518LP74CKYTBH4OKLRO8K9RNY3ES div -36#1MQ25I49R8WG43VIGYXERZV9V8Q943RRBGNHDW9ZVFD4QV6HDK7CI4ZWSGTHECR4SZCQ683WSLII71PWKYN3MUN100R55CF8BB16BK89NPEFZ0IK54U593F623PG6LVWGJCFQZZ11YZGVAA5GLQ8PFKMO13APQCC2IJAGAJSYW0KSZTRLI5WV5XADSYSB441JJTZI88HUB6FRKGZ32RD4FB9OVRUACQPK9S1GVLKD4Q0S4M0XKSJ33PAN5PP923FJIG5WLMD78HYY23XPL5ZJXY4QNAPDIG5ZU7ELK55RRP6CADC5WBUMZ5KGLFPPC1EQXJ1BQ0FH123WC2TXWXV4FSYBQ8Q0LOS34GQHVD33QF93YW5UDZPT9HRN3ZXPRM5N086DJ9H01B0DUFTBC2DDG06CA89T0AMZM4JO3GJG6FQ2YXY9UMALLJ04JA6O8GG0CDOWXDSR1Z4VRZ68VFQRG3N85WM409MSFIX3KIARONBSCHHYHGSY1ZV9I5Q6Y780KSNEQ8WX1UCR6Q8EXZRELUYHFXK4Q7PA09HAN0OLYLIJD943WYN9728LJ41X1ECJI1515J0H58JX1BDOPTKNVKLQ5AACDYU7119TRP56I3SD21LCE830UOZ617DWYYNWJS9P4DTWPL2QMLM4FGMIWVJCAKFHDYRLV2FCDFE8KMUO4DKY08UF79HIMYYJXQ53WKYEY8ZKAJGTDGRHASNEAJBGKC13BDYM. +-36#38GL8SZRP6A3HGVJR4J3V15CV7JBHZ1SIQ1SNE1S2HWHVGD0KXY3IMDL4SP3KDWBPRT11B9NJ20P2SAPX19V7MPAUXIQI4AHAOF5BLLM1MD692HRNH4I5JJ94A2NNQPHFR40OSW2H21OMYOXKQQDR4HC9EVUW14P2PR3INZU0C9SC2HRDQTEY29IG7NNE27U0NOBQRYOWGMU97QPFE4VUWZZ95MR0DR6FX0W5WLO3PLSTVKQ0KRTF7BFTXQ5HIF8Y7ELERU05BTU854JZRBMLVKO287TF5C2FFVOHTQ7EOKNWAQXTOS6XANH2C3QTDOW0I9E4C2T2RD2R9WUEFVP11FXGQOFMZFRHZTCR2MUMJKW9YU72BIPIBDJVY9EMJAN29HRAMC2INZ0MGTN1DTRB8M88O4KDP0A00PRKJXYM5AVU3KZ9Y8T8KAGTAMEQT88BBO1B4ARF0YPPQ2OU = 36#EMBB9XWLG5MEQ7LZ3YLFULFVLVDGWO8A2OASXG769KE9716J95ZZZESPHSKXP3I1SP5F0DB4A3TL8AX9FPGJXPJRWOQ3CRPIHFHGKSWTHA59H6X8CGRROZ6HZVTHR6ISSX2WKMI4G3PZP5PKDC1OMTE89KRUBZWNNKAG17NND3CSBBTKBX3EVHB7CHIX88HJS4DHKU7FTGPABOVCT7LGPNIC844G2THYHZHSZZIZS0C30XE675B7B9JNACCJKS38TNEANGZF12WL5RVRTCDBDGC6L813NJ43OXE787NW9WTBU6FP1GTYTBTVE613H97IC1O20S0EJ6RNHXHEKFXJPJ476XPBZPYI1GLUG99S2F * (-36#7YRV3QYXETPY5HRP2QYXLEQQIEDHYA9EMXZJWFTLWODICHB2HP8GYDBNHMPNXUMDT7PVJPI2Z5NX5MTH8ZH3LUGF9C5PO62OATKKXLE). +36#VUQZRT2U41KY4W2821E666HES5N384GTGZOJ9S577JNQDD2T2MA2ITV37VL3FMAPAR0EODAXPM8PI3ITI2XGX8CD3CQ7JQ0SUFDJ327TJRLR0RYXRL92H9I0OZRE7MFIDXCFTYAIP8XBHC3TM34CH0T8CKBWKYZMWFNANROMOD9L7C638O4VH8DVZJ4NEELMZJAEENRJLKOKVG4NZZC5DDOFATEUH9GCW1XIIA9QCD7VNZIP1KOL4P6O5OIJPXNVHXT0727F2ESTSD0F6KCOIZ8NBONSODAJBK06LO1MC9201M9RAPQA6339QIR8CN1VBJWQHK51JORQ5IXZR0UHK3M6BJ2GPI3AUXZFQYECPKNA1WERVEL73UWE5WDXLJMILWIKBO9A7C0VR0BL45OZTBH1QUPLXG6QB441P7KNK2HVW57IAURBM6OKQ299CEO0TLHZ2SYTQ32UYFHI1NV1OVO69W55AP8LY1F6ZUVD75YUG7DEQL71C68CFZEY52NOWQ8OI3IDC76OF48LF5Q71JXVBVW4AIKRJ5JOVXMBFH7N0424 = -36#QPF05P9ZBR18FTLLFSBBMSCR2W1QB7PSXDVTBZW5LBA9M8D78M7SM9MSSZPDKUBZTNE1R68FKBCROE33IV392TIVIJFQ101WF967OXVZEUTMSFH36J2YTV7K0USFU98SVAZTY3G4AGM2I46OYBLHV6LTFV433B5FUZU7I7AGC7I5D66F9604GB88LEOLDKU7C8THK272XAOGXCL45XZ866F8Q96BGY7N5RH4BIXAWLO96XX5G7BKJBDZVOZGSPSWZQXCBB0RSXX7QGQVZBDNPCQUGIB7N3CL7EW55LYGN029Q06W4SEYY3ZEQUAYUXHBURISFU4H7DDXTH40RIDPTH63MU2WIDDSNNZZGUM0WQ5ZPJ1KYBDVPOJE3AMQTVI5UVS3TV0O5NBD3KL9O31TJQUKGXIYYM0JTCCA911KXFWHKK1VVGANMA5KQ6R8FD4AMA6FVHJYZUPXWATYXN6L70LFP24XBTBL455IJUTPJXEJEXQ1DMLZD4F9DFJ0XPTTDGCK3H4P919GZLRJ6UD1EACWMFW6X8M2J41H2IEIUC9B6WLYP4UHSR1TISLR7ZKW5N730C9K6Y8W7IOMLV84YX38KAH6Y1KRWKN51W div -36#U6JNAXM3L5C3KQWC17CEEAVWT18SC4WWN3O2WKMZ590EE827IQAO9Z. +36#7E65GQLO13FX0TWIC32JQA4WE900I99EVJAVCRA5LG3QKTSPRREV94W1E3QKYT4CL7OGMK5YOUAVW8LAP4703ZGI3HIHOEL9Z6GFFOEBE63DD6UAX1J5YL7B8W18LHN5JS5KAIGX1SFWE3WPFV9PN0SRZADZPXH62BSS9ZGYD8HMWBZY2TPGZ43FCK8ZWVD79MCUS7L7ZP1OZWKLT668ZJMD53KSDUIGRD1EZ2MXGATEQ0HHWWJD5SD5U7QOWSV6ZY480SA0T4LJKG5JB1DU2LGKJW5KDZ4RSPEO01H2G5T6W1VRQRM0FU24RKP8PCI5GJ2IUJEJ8P12PELKEIBRPV9SY1XW8SZADGNCDBTNQCHIBJQ70YOQ1L0RXSZEHNBU2DC0ABTY59QZ5MMXMNY6J676ZSYGWHVW7C79S6BESP4I5AAP4TG81YB3V96HIUO9YFCFLH69RTUKPWZ7WDD58XOWHJPQ5G8KCYUI6B6YQQ9OCP4WHHVP6L3L9UZVKTE9C2B15M2Y9DL8B0NCOFM12GVFJJRAH0Q7EHQGVUD1D4NBLQ1JOGJKOSUZQT1CS0APTKOL8ZW6L0O9EQDVKTP8T2DT12LO9I5FE6ZKACGSC8KZG7QD7OL95CK4W5Y1MHIMV1I0JEPZVMOS7ZW7MVR4AG4285DW9PI57IJ30EJY1TH0WFZACR8P332GYOE2I2PMACNOEOWEZDS3UOQWNCCQSQQ1PQP9OLFSH14L5CNWUPFPD5JY8361SGKCUUEI29T94YG5EC835THN0H10J98LG0FMCNFUKUDZR9MAGJXS9S9OK9HKQSY263VI5DEUVI3V4JK5VWGZ05585UPR7RDSFCVWVXVP3D0ZSWC3N851C6UYR94WP6MPP7OHYGM9LI0GPOTA9EHHNF9WJQ83HW35BN90BVHZ1Q4R9A715FLM4YC6USEZHFSSI56SYA4ZIZWH59IZ7O1ADA4KOO5Z5PLBBRUJVDHPP813G0DZL36JL7ESG9GWGEVHE09KB4O6J1HA9 = 36#V8Z3GEWJFV1FXMEXCUZZ8QHFB6YH8NFL9M0LQNA350TCMD743TYFE9II3HXDY63S80FKKNC3AEVR7H9ZX6RPUMKA6R0YQWQ23RUM8V187XIFSCRSJW3PEZQO4Z5V1EQOG3P9NX9W9HA7JMPD70274EMH79U16YUBYLE1JAX8VJJ9JIR8MN55K9L8S9YOL2DGENTDIAG5GTJ6FNLDOEKEEQXZDC7XN24H0TZ2NZZGQJWUV56PDND0L3J8282B6UQEJD9TCJM60CZXC1OPYLCVLQJHZ8YJ4BJCT9J2JAFKGCF0BITLHXADVH80F9R62WCXUOW1VR0C3KK43OFQYA3YQSKCQ58TZI20KBMKGDVDQZUGMIC7LQDU31O0S8NPHWIWVTEYZ0H9NS2ENM00QN8GIZQECXYO11P72CS9AEG2T8DD3NDSIZFBXUJUSJWQTKFZWDGPW3WFCN6DPW1B6B2NEOJ2BQKZ1P77IGTZHARWGHIDEHFXH776AQVW9UVBUIFSGO8PY37NI29TI2MTP2TFN9N8DGJQ8IVBXWPJGHKZXAUGJJQ5G78L6HZETG6LLIQYAT90JNBGU2AI0PMIPR * 36#8IMVVBJLM3JT2L0LI6EL8QYEOD1GP52W86INPFL4NOEXIPVONKHPX2BOKYM7SK6MB3HBOXZ1BHW6O7L3IDIJJI8S5KUS3R8RNJBJNC2FCN65ODH60LVT48F3IXCQEWHGDEDLCCODB7SQMZRTVF0JYPVN0OJS0PQ5H2G1JYCWWXPZ8PAFOGKPKK5S3CFAMQ6CW0YFSXY9V174F63ULYVGTNI0CVUL28AVN21FPVJ6RCTVE3XHCJEL925HXQPPHFMFICRHG6PNIO4RP0FMLBAY84KDIS7P68Y7BN53DM8VJY7DNFXOH97RW1LK10SFK523WLNAR55L3LS4VQJ2QK8VU44CBFFOMICITDCX9BHZG7PYB6C9T2W7ZC2G629K2ZTNDQOS1ZJDH2R0YVSWMUTJ6H1V8NOHNH0H9M3G84HVLTHENZZ. +-36#163MV04MSJN7DSWNPZ8SYJEDEYHVN8IQFDMGNHLELOLRKV8EKC87ZCFSFQ4ALPJ18X7BNWXR7B3XV7I5MYZ0LUW0BCF0680CLNM4ERFS2AQC791C6OLOSARL55VZAMJ1TAYG7PGZHFWVTLGZ1LFKWWWEBSE1FEW5TEBAHKFY1F4JOHJHJL13OSGX6947SDKX72DIUP0PGUBU6JEYZY1TAGRKXYWD07BEFFY5DS5LM34VXXY1WRUGDW5LY9KI5GZNNAVI2VEL0KO44EITPIE0C24OEG19194J01LVM9E0GXRPR9DB4GC4YE3O7RSCF4RT334UGMKEE8 = -36#8IKXR96R4JN2IP5KMR8E6U4PPLPIA2Y3L7YQKVUTFO8I1B8QYV9ZVMUJN8SD193NE2U9JX4ZLSPTGPKNSEBYWO0FYP6XZ7F8ECC8PQQ8K4J64D6S9Y3EXEZD4C6AUCWP1RKWEKCM34897ZZ8DLYGK6NVDWOV87V2QKUJCPF5EPDQIL1NDJVYP6K9GS7FI1KCXLBOBKY7TFR78FQ0YTEBDLR6YMRA0NIXIDLR4MKJZYWYDCS98P5C43I28OOQGW4X5WME08RI0QLKVWRAC4MG68F37P3QMTY807VBRS0IHGS7ARKVS3SR8S44IJYNHIH0LHYJLHS8CBRSEAVMN7L85O068Y90ZNE0ARS7RRLYPBO1X2JS79L5PHA2AMBA0G8OAJ0OMZ5PDXKYQ8FNV7J7G968RN3PLH2H27BQEO5463DFCRZ3S5YA9SEORBJ4Q6O4DSA4CF5UQS7P697PEKIN0Z6TLJ133UCYIQPJ7EU09XKNLOGTTB4P9MF8RO23GZQ0BE81ZF7S5NFHSGUX75A5DCFDAHBUZ5BPNUJC6IOTDNS41ZDY1EDYZG65ADPWW99EV5ZO6GQ3FQC68 div 36#7A5JK45LLP2S5EDXXI9BZC96XY724KBT7RHNNSGBBMD97GSFGJH2L74XX1WPMV3VV8JH5QS40A32GABWG4JDLRIHGB129IURXXXGA6F4NPPGQH7ISU1Y9OD8EK8P82AIN2720T2MTYSR28S73WWNNMBGNZ6ZA7004NS6O24A0CRFI07DOMM4K0HSAJ3E6B37I8FM2S4ASQGPZKF2O75KR0PB4OJTLE8LG0JOFEL1G5OT8E3RHWCDQZ1JYLEP2QXMCKLJ. +36#1ESIY179FBNEKWB1O3J3HUGQLNQIDEXC805DNDXTB2AVVL7N9P3DWRAO755CGOW8S70G2T = -36#1VT3ZPOG3OOIEWQ9Q3AJWYX48Y6LGRRKVAZ22D1DBHPMMM72TJPAW2RPQM037SEINS7YL533JLJLPR15BV13KLOUXKAMNZFDVF36OX0N2V0RA4738VPCQMW div -36#1C26HDV113PMB02YO5F15ADCL04Q66VTLX2UZMZ732VA0NQQYG. +-36#6G1NEHWQTY7ZKIHL0T50B7422EY3Z9T1NY45CDJ798SSML5PTN9NWTCE5ML3QKQPZL6TSSWEV9IXWL7OBKA3WP01KB6EFEBUUTCZY3FKTCC8AL2J2TGRMS80UJM4XEHINC96DZOZFQAHRBBBE1TED1TZHN965M5B6HPVS5XHE7T6Q385TNVUNA3MPGFBSS0B5JPDKXJ2Z3C58W3Y2HYTTST0B7UJ27KRMICAUPOQ2SEHFQQ8X8THKO0JTGS7L3OZHCX8XGXNITRQUJJKLLF0NJZ73QI8M1AG0ZYOWL5MUUS9H4GOLMDE7KB51W7W6AQF0S68BQL9CVWGA3JFMRBFY7HXB2GJVNRUWG4GBB3AF19BJ0NFITRHMXM7A0EUZ6QIEYAT1WS3Q09ITSVIV1NMYMCLHKD1DY9T709W1C0DS461WZ6P285TYVVHCVDZNPAS4AT3SS7M4O2FEQNG0YZSRF3VFWELM0UQC1JDDUB0O97VBVXFAKKBB4BZT8RFY14BKI35F1BV7H5SVC0O2B0MWYGCP4IR53X4KDWH20T6KBC1NYCIARTAARGYNCOMW2OR4HIKO031OR2S8DJHWRV2LLZ0DTWP9DZRSO6BRJCUXFLH25N8DN0MWW46HG2YV3W6Q81CXBLS7SKOGXRZ1ELIBOF6XNI7LQ8J5BY4E8GTR = -36#1BY4FO1TM6QDMBN8ZN7AX58OTQPBGHKR4ZTBTVZX1QGQ0DYCF1ZQC5N2DZX64AXR457G3OWM77FNI4H5LXK19YUJ464VNGKHGZJOTD8ZUFPIBIRIP2LBBLMSD0QWT6AU88ZLQJ2FNKZINHHODRYXTJTNMLSN6PRER95OLKNTMEXNA1P3CW31P68G1FSG8DPNG7L1GFDXVATLRWA8SWDUB09P5A5SZMBW9AU9SZBW2CFOQE14K122FYDI4161JTMON2NSWNR54POMG0TQP5TXRCVGVHDHALZQ5QL3U59FS0Y873DRBT1SNLM7DKDPVVHIWPPTAX8EHFR2JYBM2RQHSM5PHBMZ4VGNMQ676TXYPN6PE24EBMBSM2PCZYXH9HPCTUH59OC53189L89RE2PHCBNOBUZT6DR3OP937MJEG20JPUQYU0P7J53AJVNMA8XYTLDCPN2707LLAWBWDXCPJPSDTVIYW1HJTVYJQAKOHOW2Q6EMKDM79H4RW1ZYJ1V9W027N9SP3ZOILKS3Q9KWI4F0T5CWSM1W0EZ8TKQREP3WJIQ4CSHOVNKWTRF3927YZESAA81IF4FIGHWS4RIZRE9YE80I9BYW3EYU0FVNQZXGCEJHKGIL3OJ13N04JYQ3H3TC3EK6CADBXN3K7LA14UVLZQB532C5N2F5Q4H20PN4PPFIZPWWRIMA4JN147VGGUDZ03C2UXV8SDCF8Z4BXKWZH3QQVM50L9SLKWQU5YVURMMJMOA38K0H1Y9OL4PF0PRZPYREM7QLWV1GNIRO2BZVTVWUJKL1R2U60IPJPJEDAFRVKZ6E52H0TK6STRZUWTQBWFLJ4O2IA2GTU6FDC60COUGKIPZPIPGBV0W7FHAKPJF3074OAPJ6Q7Z8SD3QB0URYIR74CRL2RZDSBHIQL99YBSHQXU1X4I6AEEYO0AN1X2IY7LOOSCYMGXXTTI780KK78EPSLIT8IDW90VEF3QLV8V6ICX4AE5MTFKNVVZ0C6WVLNXWYB98374RGRT5Y53VD0HMRL1CCNOTLCOBMN9S785S7U9RSRJFTNZDN6YXUHYYCK525X3U27VDOUGYU5SYGDJM9Q6C9Q084WI2AIBQRYQOUK8YLJZ5PBIZ09RZFT0WCKMYDWXL4TBIODKYIMKYCMICDGQSLDINWS46MPAOF6FDFLC2VC8L5IM9Z7UFH9QL9Y94ZL0 div 36#7FSKRD9EL5OP072VCYG6C4NTSRIK64TUQ15OEPNZKE3NCPVS6PYYZRFMFM2U1NO0P6FN89UYY8K2XMW62IAQCFI1S71T5YCBTHTAIRMHD7BZ5D95LHLMJ9SZGF5JP57LDB4M317R4EJWC2595VC5TAOQSIDY5OU7KCI4WZSGSJ5ELP44DOHZLTP1PWYGQQ92KZVLTSWP82OJBXJSYYZAZN7ELMV5QU0B9F252449IHPQ9F4G0TYC4RUP1Z65MAU0RJQNIU9CIJ0M4Y820D013RBLETULFVD0U3MQ1T7P3FXNIAIKBZBCKCHZXZDN0BZQTD6U0CE23U2TGCM164YF6C6RJGQRYIFBH0QCCXQQJECX5LCCR8YYRAU4RTNF49CN6OOSWDJHPL500Q7DHP04FW73H8MJBTZ1BUHVH2YTV397MDNK6T96413D5H3IX12IBVSF49Y6NO1D3K2OGBB71MEPF6IRDLA6D07YOSWFRM7E077NGUYPJUGZX66Y7M5LOWDKUWEWSI6EXO. +36#28SBUEKKQAD1OSK36SEXICHKNDQS38PUKJNT4V9RU0BVCOLGORRYV2D4OJGLG8U84EQ2ACRU1NPHCYDZKET7PLYQYKNENPLUV8KMZ5FV2D0JRIRW1 = 36#1HZMJI4HA6SKG8S0WCUP6MZLJP1KP8B89LOKHQ799XDD58ZHS7 * 36#1HV9BL1VVDSR58U1O2AJT0WEE0DHW1XQT8CSAH6MI306F8GIIF2NAFDG24SKOUYV. +36#3IC3HJR8AAQUO2RA87QT1G64WWBEWHGXHAI4P2ZOSFILT9EE5L438KBFDX06ZYY8CE6FCIIEW1AQYN93TZU4YOSWHPOS8JJQXW1SKEO8JLV1RD5FNTZ1MY7EJBDWVKC1UC91FTN7M5WFRIWVK3GVB451FP8ZE3C8CMIR7DPFSLIXBNQUDWV142INTLTRMXO8WRQWQ3XEDMO5TLUR9ZEHH53FKYHLPO7FTP0HLW0LPDBDEWXTNLEU9D8Z6ZXOOCIQKTQ9XRQPZTWECI2DWH918S59NKCKY4SYB0ZY474IDF5LP0FCU9LOMQMGOMG8T778BX79A8NM6HCTIQO039FUJ7EHTEH3XBHNPQF0K2DR26YO7J31XVH0D2DG7N0LP5IIHZQAAF8GP2WORK9M6QFSAQ9DP2CCFN1L9U7OZHNM50ZOEK27ZHW6D79SOT3UOC0G91P45ZCT8J7D = 36#3B4CVTNA87AJQY1M7PMRL9J74HQM4CRY53U0MQSZ89HUIK9GN59PYTG49R0NMHGZWGZLOA74LYMJLT16LQM63ZQJT62FMRI3TLU7QVCWJQ5K44MWU9J4991B1GE17FQP9J6EBU4K1SJY6EUNVLZ4TJY3HOPGIXFXZSI12ED3QFON93K1CEASKICQ43K8WHKFDHB72WJXFKF639JMNS5ZKPNENIW0GTVFS8SP3BCJGXDUHZV2J7PUF6FYS8T8TPHSVLRGVBR791WTW1T9YFB8LGM7H8HUJKPX64H9EMMSDZL8BEJ8U5JGM3ZMZ4TU2Q62A50YPHTEO6563BWXCNVASNF9EEUG7IQU7EGOHZAZK99ELO9IAT3X6SY80R1U4BK5YL26OSUTRLN60BAUAX72KTA7MZ2GD49OVS6GOXYA1B23WUSTJN3Y4QHV2KASDB5GLLK677A6VPC7P3I2ZVYI81RV5T60HKNOL2RG2UO3S5JPGM2IDQ2PS47FPDLVB div 36#XXZI69SSYCFXE0CCL6GRF4U2Y91EKMB2LNVM8GHOM25UO0S6N. +-36#2F703TGI0TTSCTK34XQ09AIC6JXMSM2LBSGNID4MRJQS4ICC3W = 36#CGNBVFIIND3LQPIP96L4HSEFVMJ6TQ79SA1W5ZA5DEB3S05R7XZJD0VKLAYZVMAYXLOM5I0FPUNRV7XLWZBFQU8UNI4SQQQUB8V3VU0SZZSC5FFFPZJMYJHM3BZUVQB2JURGW0GCBW9M57J7YL1LL8S88TNFFA4YH6HZNXFNV24IN90IDMTA3U29YMSKVUQIA2JVYBDWENMXSRX9ODXR230122AWVC16NIQMBVMYILRZPE3QBOH8TK09LHBE1RGBN69408JDY27F22G94VI0VSZVM7CQ2YJEQWL37K5YRC2FOKARULDCWZPFSMC5LHRLQ33JVEKHVLCDKSDPRFMS592JEPWP5R1YXLPJBZ1LTHM6Z7EP01PCA1B23SS7CC7XP8ZHB8X3G2BZLKJTUPTUOEN7K605U8WZI14HGH7E82TSIIM9TBHQ7K5MGCT95313A0PUL4GQTYYV8EIZAMZ78W2HL9UAGQM5A1819A9Y7WTAVRMIK8GS1UQP2ZDWBMDVMUELW8KDBAD2KZONRXIORK1593KQ8IHL28NG5GS1ZM7KJWSQC9TP8VG2HSN4MBQ8X54PVQ19MJSFGNBVAZAY5QFQ2DK3ZI8B9V5T9UYHRDJO8YUTPXYAJ3CDD4AWF2JSXSO5OP1A7WOPZS7WYCTUZNQBKB2MR2LTLO3F9OMZC2FB7UT0F9W107UWNNUZL0QS504U4QM8V3AIM7S48M47HAUQVNVMDYSLXHAWXI9I7R9XP8 div -36#558ECTOS0XRCP06RFWY4FF3GF37GV9B2IMDM4DUK1NV7NCL7A817GPJ7DSCPVPVFUZKO6CETG48W9SR7KNDQ9G6V8R23D6Q8FJQHY9N9YNHTJ1E2SQP6Z339JY7KY5S7PPV5XZF70SW4SCR7T97KSUA30G5CPSCR271B935XK82FSPOV125BXSQA0CW1HMKSILPCF8N1ZDSJPXOP05XKSX8JD7XBEGQHR33LCPXXT8N3AYX1H2S56KOX5MUHG19HBODY6S8QL02AWWQI0PZ7HUD5G65XSYUP9D377VGRJCG2XSNETJV2ND9NW6MNOXZGO4G2PFKM2B77KIVFEF7V83CZ8E6HOS6O0WFFV567WGZHI8EDGT5LUOMEQ4S4VH1B55J945E08OO41JL4IXSM29HPFWCYW3ZYD2L3REG7BE0Q2R2PP3UXJOSLBMJ0OT018PASS4XFFA5VUOZBQLRVRXSZOEKTH1N1APFE0FRZNB4KJTMG3HYOEZY706PLFRB2OBKW4OX9E6REUN6Z3RHBIP1DXCW7NOFNPEST6TO43XRLBL6ZCL89BZ9FNKCG3R7ZH9VGZG3MZT0Q2KYCFIYZ4GBEGRFQGY4QKDRKL9GEUUGJL3PCOFADIYE4QCJ1YNFY1XQ0MPQTJWLJEGS3N8WMWNRA0MJXK3K6LFLAMS5N83T4F8KTWPRCSXXBJFV9P. +36#6CPYO83IQFMXNGEHZIJIIF2I1GL0EU08TB7GDP0L6BKB65LDA0DMVLKVWTU0YODZ3HPUDZAAQ7WWSTAA1ZRU15907LLKBNB6IMBJ5JV6N7UO6GQ2DH2QDH84OJJXVKIO21W46JC1A1LHR25I0ZCALI69I89BIMX1NJV21D9SOS8F42HEAPALGCCEU6M45T5QX49LUU = 36#2V31GHJX4Z254CD2ZGM6G1CHUZN1LD5ZQIYAIN5DRZHJ09S20L1MN7ZVTUGAJBUF61WR5L0OA42R31SN49CILPRB9KJKBF0V7V3F4A1TC6N1E0CJFA6MZECI1781FVRF8PGDL1GZFWGMTR9HO633T9S8GLWBM39N4STIIC8B8QZY9NYF1F8Q8T1UKRH6VSYXRXETEDVD1MJ4J4GAZPRDLIICE4VE5C77U56D9BJ6THKOXXKU713OBYW1Q304LWEJB4KUEWTJ1ILTBDFAA005CCYWBDNF0A8GLC3NAEO4Q9Q597CBT6VMPXHTWDT5PJSZBK24PF0XUC4PP6 div 36#G83TKFANY02JCRTFYNC8CCCT78DR5EUU5WCYEIM9TU1EB6LTL708GY3G2XIL7ZAZ04IXYU214PWHQBOKAF9TRTDMYVAZMVB0C1MBCHS2ZSQSXCXXDSZFKSJ7ZCHZWAW2LT9H3AIN. +-36#5TJ1QIT4K8VMGX345XQPT1F6OLHUIJM5H20ORJL0B1BZTE6R4AVVBPF0J4FDYXOHW6DBIX3PKVRRRFKKILTU02QPF8INMK2NJRA = -36#2AFK3W22WWPTCEJANI61N1MWBAG7PF60ETPNFI78X5MGKUXQUA * 36#2JI7X0Q1SRF0DR33O704Z2I189R8MAIOBZ9WBZSGWI6W16Y3SJ. +36#3E9LVSU01N40BUV132AIU82HWV7LAS09R73ZR286K7PQHLGGS = 36#9M6IE7IB4FFSF78Z866TGRIQ9XUPQVSVTNWZ0YUKTT8RWRYG76MTUEFGD7L3VAEUVZNCGNL5XV63T62IN8JC2WVS6UY40JEZZO div 36#2TXFNTSRZMQ7XBVP73N2Q3TXIKP0SBGNBD9PQDN69VN7S59BRF. +36#3EKIHRW9RSUGPSMMBT4W162U5JZHJ3B3WLWVT7JLEMZ1FJMJN7DF0N4K4283HU76VQT93JCPPV6PQUXBZQ1XZKEAS43RODY3G3ZYWKC296ZFEM95RJKURACMAWXGOCTD9WRZRH6UIIJMHYYE0GXBML7XE0YZQSAAJYB1TLF44S1GVAOSAAMYDCDNNLI0LMIS60OGV86LGP4P0FW7AK9D19D13J9M2D23K0U0NM9OFUNN6K5ZAGJRE8A7HQCM4L6QPULUINCYSTG2ORBMK4PG800GNVDRCJQV0FUG4HZ2KWX30WL3AUW6SBUIENWC187NFSU0L = 36#1Y0FSESYQAIOP4L6GSZ0QBG3D7ZT2JICVJDB0CWCJE1TIN9HF6S1KOWRZIVB8SC62KTN3IJGL7DJ0YK7X1W7W25T4WKXLBZKZR4U7LUN4S37UTDV47EXK4F7KUW66BCTDATEXIIH75B2QKKJTR2Q223JCY5QJQV7OJ6VV3UT2DGDRI0GECV5Q165BVOS6JVGXYU1DI3UGFR54ZBX12FBXT4JZFSN0RZX1FWO1EZG0MQWNAM6R2R8D8NS02N9K1KJS4FQD8S3L3LA0G25P3SX * 36#1R0WBNK62U8S1EJ95ZGXIFZ73ZAN2LGHYT8VXVUT6GZ05L24C5. +-36#HQHDMXJKH9SALBSWMMWBAQFC4L1HD7QDOWJT49LPKQEM3WN04M659BID52WMC1QCB1SEZIQVDBS0QHKG53A8DKIXHOIVSYYAL0X7J5GV972XPF9LDW1J35GNG7MC13TQB9FBCHJKYZ1AW1EAX9ULEB5EQ0O67D7WM12W0E421DDDDI7YEED8OM6ZMVYWRJSK1YYWRSDW7MEFSQ8H38O3T2U9O840CQ3BZJTS605V4UBIB1CIJDJRBR4160M9LHE23J5064ISHQMZJVZ1XYQTEPOV93E1N46U785E48V4NENB7ICLX1KCHO38NJYZTY5HHPENJIHLB9VF32VG5DJ0BVGGID1T81R4SYJ6MVKV4Q2STTEIZ7B17WRPUDQBHOSZPZIGBC5PI1SHZKTRZPZKYMZ2I2GT4PQDT7GRUJOFSAP0CM8IB1WB5GBTUM16G2QXT9FOX6B7U1UCTCD4981OD988MQZRH4GA4HHYJCQC6N00XHJND13JJ561Y24WJP25GBW8HJ9XCNSJC4YEQI9FSJ05W8RW81TJVM0EUCSJV5JNFJH187H7FK8X3J8VGMA5AIANF1NOTIJL6Q4BVTIBB3UNN4EXREGE = 36#H84CLETFRMPWBEZK0PRSSRC9LIXAQCZ2SMKNV03OX1XV444OG3QLSTWS6OAUPMQ49HSS5OMRJG35TBCNS5C8AJA7YJ3GCPIVSOWGKK8X6WMSO2PNPLWXR2LAXQV0NRXHGMS696JWR7J55ODLVZ0S84XOAES8YERRBWKVYSQEVETSDGSLIHOB4XMPGJ1IC10HQQPVHZRH1MO0OOQMZF16H2LQMN8M6FDF6BWEGIWRTOK3KZHUCSDF7FM570WZMKBB4UW0Y08I5I0EG60YQJFJTDYYK4GJ1TBWJVRCJGFPKDB5MRKNR3TU0SM5OGLQ6KD39KX5EJCVMY15X2KR79PY7V5M8KZDZZ61BMS8LY4IZFIR7S4K7T19GQGTOM21YGXASOD4OXIBB1G1XH6058GNMIH0UNEIYEPHXW1V56QNT6YZVPN7DRM62BZVQY4G5UJNONK9VWR0ITGK1GVBCA67X8WVUW7G0SSL42XBPCE327KMDE46L2WOZ5YNHONYACN0PUIOK192YRA9XVCR2IQY88J3F6293FJ6KM6TMTS7ZUXKREWXSTQXYA6HOZWP1TULTUMZDWRPHPE9ZLT2CPMYZPUNLUI0H3SWYGP3NRA3BL1HE3FV6C4DDKDFZA1PLHXSFBZ53EU3SFTE8QI68QSABBFAT5DT6M05D2M4NARL8ALK54OSJZB4C30FNTN1ABU1UII1YUHKU9W590FWD0ANZIIDAQXR7Q3OW61BBWQ9JSGAMTGM9RV40OWNANO2L5ZJ2OPOB3NREG7B42NEMJ1GL53KOVQMUOHYX7OCV4EV317HZX9B1XAFN0MJENUN49PN9DY6OY2GVNK35459DHZZZSB45F27N5APJ66WXFC4BYR8GSD5VW5CLI6LWWQ6ZU09143ONNQBNKPOX6CJMUEU748KTSSNAJI9P7IAI8W9NCBJ31D10XTJ7MTFEWXU4PQTS9WQP46JVG4GLD9SS9GR34B4ZSOX46ANM5COZRXF2UWIBYMJFMF6C14CBS541S3LGJXOPRJDT5EZMBKIB3MTMDU27BMZ0TIZQWUNOI1P6AHFCYF2HOJWH8 div -36#YYQ8H4LDT47I48U4YFPOBPBATPNDNXTR6ZMB2JZ1KTT1WKKWHARZH1MSOXSOWS0790D5L97EO5E8UOGJTCTBGCNMGKS28LOAMBZL1W33IT39ZAQ70UMGMED778FFVTPUX2X74PEYXQSCQK65M8J5VWN62I4TT1T0H7CDVC0QUOAR5SSZN76MK9LFUIXTSVMR57H8GRECZH77X2LFU2BJVCDLGURU8JCEAR6LEBZAV3J8LVKK4LGTE8GDUK8VTSB52EK6IHPC1N7V4NKKK648S0LS2NTY0W4I152QTI2CUAL0TL50GYL0I2M189KBS3HSU3ZI58WPDF1N767LY2VXN8M2KR3WF93G8OBNBC4XAGC3LDM1A2XS9OJTV3STWS6RQNXD68A5CA9OGIJHC4DCB7FQH7JEXT8LLD4TBIY04G4YS496ZGPWE1EAL12VMLGGEFM5I456DG5B65CRAPOVIY. +36#633PH98D13RDDH3OCTXSMJZDV44MZNE9Y85YFK4HYCHR0LFI0198GRXGE450AS3X4DVJKUS6F42CALXCIKY7RQXVWZ9HOITGGT3BSTDPYXA41OEB59PGNAIPDE = -36#FG9VUJIVGG73S9S7KIJJLR5F69KN0LUE9V7H4U09AYRWW5HUTC8WHSBNEFRTTDD5YGEGKR6MA4F4L9RWUOWMTDOHBT8C4K0N2U9GOXBGOLJ8CWHCNC5FQ9SOTWO54JT8G40K4ER6A0QXKQ4NP7P60TNRBZT3BX3YVNBBRNFLFNAFZPLAMJFCBTMKKOYU4EUR1961AOZFTD66ADUZCT715UYLUKL2G4 div -36#2JEDMY6DR490R0BDI144E99UPPXFWKWAXCQZ5KOFRZQ1S96TSEQK5CF0CZ32BZV27GN2UM9XU7BTH4U324VB3839349ZYCQM2U02Q. +-36#OZ5ZIF75EMHQEUJ3UTSIBXSZ27YHYRSRHYMHX0GZLNLLDLZQ1TC7L9KWP80U4OHZIYDOT47NXDW716R7LBS0I3YHEH0CF5YPPK = 36#2SPL4ZDQY7ES6RM3MS3YH76571NWWBO38ZMUGJOFIK8RJTCR44 * (-36#8XEYCDBQ6AT7WN2LSTGUYHQ45Y7TE60K7RJ0AKCEUYDHN69JE). +-36#7GDXVCR6FCX11O3T7TSMJ7AM4WCGXUKPJ43KGEGFOVKPCEQRAJ3MCJX0EK050Y5XT9S150VXQX63TPBRKBYKKG2NB91LJJVL0OA0C1C9BBJDXR9URE8NDBM1VETUB1KVT7W3PY52DM1BI3EC4X07UMWFYFBB1KAY67V68O8RSO7ITEY654 = -36#6F70GU4XURH4GPHKICCG0J95E8O2AHE13KNXCV12WV92IY1P4WY9EL5O76K9RDPQSLLA5DMCVRXHEN8O5D598RR9BB2QK389AIKJW5GEHUT90WJ7PQ9LRVBVQJGQKEIHUYV9Z2ZT9QL285IOF9AMFJGX0F8TOAB0T9NXZ1SHMXVA9DEJSF9Q245M3O72Z90TNSLFONH34LCTL1P9Q9Y9GPZTABGUQ8PZI5HUV8N1ZM6KMVEURUU0E7DGDM8VRLV6A5ANQJUO09YHYXJFCLU79AC6K9K76PQ69NR8EGRDMRVI04161R43IOENVVHPPOQ6JB1PHDE9PH3SNV3CSNY5MRR4N2LQR4EQQ5MGCU3HG6RCRB4JMRSYNY16WUO74KW9W0T12T9640H9Q0UEFLABX0EO3W6YSRQRRT88A97RHGPV7LHLBLHN3YC7YC8PRTZVFGWG152YV8TGGQ22VL3LU3BAQE4JNBWI21ZU8UBZ6N8ELGDOS3P3ARUTKC3N1TSNYS6HJIFIAP7U8FHIUH51S02FCOZTZOGYTAVNYF91KUR56F3HGFCNAJMSIKDKCL8KLGYR1ECKDW2C0F83K3UHNRLRIIFVJQYZUKV71S5U9SNRBZ910DIU7GV9ZTDGM7QP3FA60 div 36#V0EIYVJXZW0M67IHUOYRFSZXVR969W71NO7IAG42NTH36ZS7YP613L3504L1KJWSPNOAROXV93QNSR9UH70GWLCKK86WI31DIUAVG1M723ZBIYU4D28QPX4972SG3WA317M0AFV0P21TOQ3HH8A1WK7F9VRYBUJJDUKHP67VWL9X39ZDIJ78WUTQQFAFWOHNSQTXP8PYXLUT8FXA4YNVJ56A9WNZX3DSUPC21C94KPO9AYUZFYTEKIV4NJI25NIGXCJ6OS2SCK15ACUJMCS9LM7W2UK0FK4FU58O8HXBZ7FFIR2002GLNNR13JKDLY9W7RZEXS2GU5DISXZUWUL2URVANS0M8UAWIAH0QTOM3CQ5BAYX154NO4UEWOC0GJYTS73P409WDPS09SIQ43E49S8K97ZUP3ORVLEHUTC0P4KESWWQIL1AA3YXCTR0X38K21BSKRATHFOM4ODN3H9. +36#106J2NFQ3BRXB2DJJS4LJVAAAUL1DDDT4C2G0L65UARVM9FIPXQ733YK3X2EC7YCMUNZHSANHZW2FWKKWYL0IODX6KJ4KBYIT3ILV5J0N0675W2IMA5ZZNRQ1GKZZGYGG95MTWONUUOWI9HVFZU240V72NIQ4VVBRUA1QFJC3D25XW265YH02DWEESM4OWBIZIJU8XD74DE3DQL3VRERTTA0MJUYOLHX88ZWKRU6AVXTOX9OIHHJBJU36N6VQ7PKL3YU9VPBAW8QF676LSZ1J1HNG2H5WSEYQSHFH0X1GA35DYUUSYN8MA81CXQRCR7F9C4EJ457DZUVO1DPKLEUMXJQ8JFSU1MZHQ81XSL9CCGLDWZCQ5FSI27NODMMUGRE7ME6TFGPA0DYK3Z4K65FBZJHKANX772QPDH0XAUH5407ZDS4YVVVZ512ZP1QD7GF2I0L0O80OAXIBVKTW4UF8V89IY72R1LK5E8LEGKACXGNTACF5D3XS2465TIRR83T36LEXTV9XWCXNMWFP0KUXSRE5064PFS1WTCPC1KXBYU46KFFJCEH91I4TZ3M8XUYZQ7E42WPF2VPZL0A8A9XSKX3VR7AL4ZGPF8F74GB1J07GZYV4NQGWQDT3J1BJ9RTDD6HKJ29O36AL72JI3WC915LOZ9HOYDU6TKRNBIMMV57DSCBW2XOUJFCQ31RVD0G17F3UYLXI860AJA6P3S34IE1X3WNQR23BN6HL2Y9LF7GSFUVWCBZ8FV6Z4OEF4KUJDOLHUU9GGX1ETDVE6FROSKXPHXPFGB9CUQ1ZP6U5LKZQWIDP90INKLCIR4SRJE88HG2VNP175 = -36#77RSGD89CYUPGLFQDVQIMNB23P618NCRVEZCJZBHKRV2VJPP1XF8R3JVHHSYGA1YKIOH3BO1L57G4IGVYC8UWXPG6MRORI2V5G03R0H976JLD634R75B9ACLA61HABIUVRLOD9VQPHFD1UWMUYYY2V7WRTONMDPT7YF4AOCXMJAF54PTSIU8FEMWS70Z1PUT601PXKMLHWYU7V2MVLLSRALD5HS02GN5WCDY9VTY75IDNHCQ7SC9A3W2H08EC17JYPYV3BTWW2ESH0K0W3JG9IO7YY6FERXUYGG56LH45YDPAQ5NZHYW1X25PMLJZMAU35JBYUGPYDSV6H7CLQ56LIHBHNAEBH0DSLBSVZ5WBZQTICUILJ5Z7Z13UF1EDM3PBWLXCELDI6HNA8VG593AVRRROF84WHLPA1CY19UY91ILQ7DLXCWYSAT0B3JQLVBTO58X8HTIV3FT41B2ZMJKT9LVEIJ1UAMOT6F3YRPEONF0UTRWGJJ6USPNNK9QFA0DDXNGYQ5CYD5VEHCPYV6W9ZW6F0RTBR47E8FT2JFFRAXNSSWIFJEJHALGL0I8CLTY5GB1824T1IKIHFW2RZYCXI6NAB0QJTEZCH6DUCUU0JY7AOPDRVRXKMED1XT7DSAMGG92JMHT78AF90L4Z4WXPO7WA7OJ6NOSR6ULZC3XBURXCER9GK6ONNM5VGT41PJ01PWYJ9L0G1MTE2MNIY88Z7I0M1MCW7VRXSNNIPC1V4WGVH7QCY2EM4ZNXSOWWLRBUWAOSVS80LJJNRS9E4VO97LLKLVG2H24KJ7J316B6ZSSWQTSWWBFT5NR2MBM8PICBG5YAMDO2W646II4F5LJB9CZNP8KF9EJEV4XLQO8OU9N57T9K0JNZGOJWCOQ8XCXBJNKE2SOFOU3VS89R7K1VISQ79YK43BFELV68IRR5LDK1SN0OKZLKUAOXPK9HKL3AKC96XPJW6UBZ16UD9AQZ89H1XCL4SOOA2GFO6JTXQKOE3DSKLPZAS9NPL1NL46WGJ9LLH9BEI1SHA98LTL079YB1KCMJHBX1Z92O9W7P4DK3B6R88CA6BRT7JD1KNWUMDLIUY2FENAOF43U6K3PDUPR5FAX0H8LEDBMFEYWSVJ857G10V0RJQV5K0OAZ07S8HUJ1Y9UOZ153F div -36#76GWOYLST2IL1U5L7YEV7PEPQ7OHQ9FV2V8HCF754A17GZADVUNTF382GNJGGAEIEYL97QJWZ8F88XFQ33IEL13NNM4MI8WTU0XMDFK77QNSL8BU6730S28RF5JO8AZ6JDB1Z6Z339II2FGRDNL18HBPDFQ6Q9NPGCXH7QODSDFOZ3RDUROW3OB8B39Q5EQP4UOIPYRUESAS7PZ1RBK3HSRIUIFCT5STHO3NLKA252GR2K1SJ6LRL2ASE0GJQEAKDOJD87FC1838TI524YK4ZOAPPLS1TM7EO9NPA988D41GYWBPZV9CF28NHSLI8OA8CAPI3. +-36#1FKCPTL065W7XQO9A5RBAK4UO6R6Y054W8DDUEUMJB7DVT8E7L = -36#1V3Q8OAY2NR3ERQEXKOOBRB50BWJADP0LV1B28YMT4W0B1HRECFNW539YGQ3AOCUBHMWZPBVU43UY91QQC1V5CAR0K93H4M9C39 div 36#1AUIVCMWKDQ2BU0XKYDIQ1OLRMU0DKWSMHAATSQLB9SBLPMMKL. +-36#M1Y8GINJDHX5K58ZXF848HNTLNHOH867UDY0O0UZ5J4TJIAG2Y0O5WJTASMZAO7QB6ONKQCQ8UJUGRU7C0QFC2E1755PLPJ7FHDIFPM7KBUNXNNQSKKYS918QW0N02Q6V4ZDLYI1DGSIH74BGO4ISTZ1AXB982YL9BUTIBX3AAQJF4VHCQ0YGP6XX77E6G2OZ8QYHMVZYM2C085MX4JPLKKIDXM79ONYAKR2YYT99XKMY9NNZ95KLEEIVX0NND7B2GUYOKXY9OYFKJ9UT2D4OJGRRK3NA7D6PPFFQ284MOAZBEROGFPBYH96GXE5W11KXAO8ZHC9UIDM4JT2QD6N0NFOV5MEJ6OHD4K1ZKZ71ECQ7QVVZ4657VR9DEVYJSPWV7Y8EJ2TNFJFFTQ5GQT2HW049CN5C3Y56B7Y49Z45LXNDBOHOA6BUIW = 36#IU0Q4I55H8I0D4PZ7CXRESNPDBUH2C6YIBACIFBML13RS583QHPT9PXDGC81VRURKNFKWTI053OAKGHZ69WVJMPK * (-36#165LFZR0IUQIGPQFL1GQ1XSFA7142IUHUBG8MPPMXU8U1OK0C5MQTRZKTC30CJ1HAZEGB3DT6MXXGL10J6W967YDH776WDGIV8O7BJ8MM6VKSVYW8YM000LAC0H4W6DVZLWGOQXN6KJDRTA9WGFUYVZLQ4IDU26D7T4I6QNJ79DDR8UO2UP3JSCA4BN0YF8YV7K0948A28WVCAR4TVNOV821VEGP126GAL768CBCGAVOVQG3PHHGD8YFK3O7UHI8C6MBAYWQLF6CVOJ4AOPDQYJXN8XW8XODG8XSUUG2KZPCH7UL2FFEIGBTNCZVKZOKNPZJHPGU6ZXNZTK2ZI7TEE594XAHNXA7). +-36#3G4L1CAMXQ5TVFCIOY7KFUCYOO3A2Q1UA6HVBPTGFBFM48MHWRQVTEEXHSSRRMX46G320ISZSHW3BUIF1KENXY2U2LS7UV93WLIXHRE11BQ3P5T09LGC7CNZVJZGFGDEGASIU3NHBAXE3AV24PSQEEQKGG2OG89L88K88NHI3ZH4HMK2H1FZD0CD44FXDLZJ9G0S94VRQDNM59O5UUELZW = 36#1IPRYBWAIF6O5EZ77DMY0ATLW25JSEMPHXOF7OA5MBBLB5JMDOKP43Z4Q4CLGJ41JJYZZ522L92535HMWEZ712JCSKY90O81UURBI32NY3VZ5NMZOTEXRL7RVKLCAVFO8XQXO7AXQHW2NW0YSB96D5YQ51DZKW95IDVLB7WXHCKMJUIV0E7WZCKWGYSTVC8CJDNH19VOCQ7RH8VN0A39X4OVSA7UXH7HV2O4EHTGX6IW1W3HDUP4BKLM9URF6HDFOHPB7GG div -36#FVA7XWD9RQ3X379VC5CVGJLIS4PZ8D5TBL5LMBHM4E1J7134W. +36#4FLMOJZ3EKDOSMEQS3FD8RPT1GYMA1ZNLUK2A32KZR9JBAAZUDWSFTQG8MPAU7353RJTPYE0QOJQ45QK3W6MPM7S0G7GKJ5ZDINNEG2ZNOZXQN3LIOMEEXURCS64X4JZOTNGQY29C5Z1XMOUCNPVJRD8Y565SB5VXVAUM5YI8NSRS18IK96WS23GKGAUJVRXNIDTIMNW67GMCD70HSSGK2V0ZA6RL75HZNHE5HMB9ISVIGD5W1S22EAKIOXB7LT9KS309O2I6X27KEKFO0DUFZFB9F32QR45LAEFSW53DM58QP4EDJYZCIO9JEQX4Q5D1YN67EEKM36F4J95QY5YI6H9MQ249UU71FKXR20DIAJD3NUIJGUUFQR66HR4ID09C94QDYY4KXK10JZEJ6O7ATISGNG2UUN2MFZBPUABAKJU9P9HY78705JUBT1AJL6GW5SIOM4JTFL5J33TJN5BDP2NLMSHWO2LVM8GWHXTUIZCAAHN9I4PAYZ6O6G1IWPXBN36DZNCK6AVNF5LYK1VPFMEIDOHU6195WGGAXFKEQ346QAMYX568654JPX326ZJ8T1IK35NAPDXT6H9M44U1H11DJNDTC67FVIWO8ZJ3U23I97BS5RMWRAKLDFC01CDXDO13WE6C9PKHKVJWYAA9ZLTBNN6X3LOUB1QHPKUDPUNSMQL67H0CPSOH94Y6MSC1OQ6X4QKSC1RYYHJWBITR0KH6MGUZJBJPF75GBS53TCD0OEQZYJDBLVCJ89BRXNUPK3WDJ0LLARQ7HLRGY8E5G13AK3JDWEFS63CYL85KO6F7H3HDVEWMVQF5MTJ7W0EXBSTFWK3SW5HXXSXGTR6JD856XX1PZQ1LTZ4WTKHJAF3CYQTNXLDOM9XL49NGTYJ1KR6VUUELV504E73Q79DNF3Z3T153GYNXAQKGCPD5NPJS1RUDX083I9BBPIWZKGTHJX8FGHJNRD5M81Z4EMELJ7G = 36#3JA60KTUQQ4IP6DCB3S5NIZCJR8ZX1EUUJE9TV3GKUXYEKKLRKG0IDL7E4CB9713S6OJ2C3KRSDYJG593R8IWZJP3PGRQF8SS1EXYU55XWX29Z5FVEFDAT1JG9EYH56JPZQ3HYDLUUY53SH8EWUDKN7ZERG9R27B3EHZ2QZZ3V7UAKHHUCNGGWVGT71F01LZH9E00WLGZ4LGZ1PY0V6NBCPDBRHYBFXMLZA6536CUKULOO9DFBM31ZZVUINGY6ABFT9V6GNB2BWNVIZUQMR0E08RXFPV1IT59W42K2WFY9X1KL56L0TI749S3XP2E1GJC2B54SMY31HPKM7XC3H2F2548LL0XG * 36#1952H3BCY98T2K5EKMLOPC8T5U4K7TFXBGWSQ8THKFP83BU7P4ST1X9HZRGR1KGBUSA9685VM048CDMO3MUHQP1K6GG34GMGX49RRSZZ5RBUO28TIN0I0J1UTQW24V56Y9OFFBEKJX1HG3VYY4P0GWRNHOFB5EY3LHUZDJIBCJZ5H5W8F5SZU49C6DF2XABJZ5KIUSHH5M5CIJXW4B7UIIQF6NAPNFMX8P5KEN7LWHNM20VJAN0GBNFZAXHJ5SP9CAUQ3K7OSEPDWVCJ0F924X1P78SJ9Y77F7PROH9Q6EPAIKL4R2O1CD6H5KSCZ0MHNGKFYRW23CSM9MJMXTOA3ORQ3C0TLH41GR1EPY3XFHE8492E0PCKEXSE14FSURY8GU2T2FYN6OQCID79HQZQS4BVUFIQ8MZ96ZF39OEV4ZRHY9K7DXLUJ9N6F8Y180IQSP9VDBTT74XPC13CPFHB9H2C2R48N65BPF3IDV4JYU4HMEVG2LKX9C0SX3NJ3WEEHYPKCM5S2J9WY8CRPI4PR2NZ3HUKVCXNQDJ3HNCMGUDZMJADES5Z5R2YUIPFB0DQOUJCVEOS4P3PFZ6QEG0C0VNC0IBLOXH7MAJW2QNNVY9HN32US2UODVW2TQJ. +-36#8FF0SALUH0GOTF326L93DUX7E6FRQUF9SJ6OX69PDY5MNQ3YHLOCO4CN2QYWBYS5W6A6A1Q0KWWB4VJJXEIV6PA21CQL7SDMJQMS6MMZLXSMAKT3PDIWW246QJW4JFK2KMDISJ5RJ3SL87AFOGQMYK6SIECRRI442O18XSNMAO3G05XL2FQI8TCZIWPI4D7HV9GPHZH5Y3K8BNDL5TY6MSNXDOORFWNISQUB3PZ8G2LK5QAPZUP82LB1HI3VC80N7B1Q22V58HKZ6DXU0OAFCZ8POHEHX9M11Z20PIGSBW4V6CZU9H1Q = -36#ZE3M7XQEL6AXP2FDF4Z26A950IJDY5CE4BP84OFKZP2A4QGUMDLXHJTAALAFNFWYER9YWOZCTG0FQP039H7J57RMPYG1HSWS1BOL9M1DYETZXY9XR30HQI5KJSPPAAVTNQ2Z8VWASSHULZRNEBH6K28SFG8J65VP2RT0G4IDW7LJY3GFG5V84WTGAF9DMLC8DDY2JOLP5JB0ZIPNVIWA7HNSNDNTT5OIENLQZQ1KIHJZ1T6ZZFIQSD6CAV2I3AQN8IF18WP8JNGOB63U6OYPYU2MUWVS1BC95APH4D0LARS39CMXCCEZFDR8Y1H6K8XH0E0YVZF16C72K376QKFHJ82RS8NS4H0ERLBW div 36#4764FU1FBE6E7Q8ZV1Z0D6QZZPWXWY9DYGIPAJEYY99TVWRZM. +-36#5L5W8RM91Z07VNSZM6SGTT68N9BNJLYV3AJX2HVQCOD6CUY4KIY812EB7EH1KRAP7KJ3Q16AM15Q = -36#5MPJ8D8UBPNMAKEX1OCOLB9BFCJ3T01ZKNOIGGF9V6I7OC2H3MRRYSI2R50NVM959QERLEY5WJLIO9ZLINAM4AB880ARQJE3DUUMDTGOF114L30TROGPPP48BLOYW div 36#109YGA34CF63OZU5Q2HJ0CCRKBXGYCYNDY9Y39EY44BYAF3564. +36#XK29GWPOGAZZ0XEDFTTY2T1L3EVU3U4A69DZG15KB0BTDZ2Y0 = 36#R5RJOM55FDOMXZYHCUUUAMDZ4O2CUAO2DSUKYA2E073NP6S0JG6M1NWD8SAJO9MR7UOPYTGV2KOZDFL0HQQBD2BFM1IHKQIE1QMGEUZV5HQOMOMJ3IPUME51V8DB3OUK5U5YSYXF77N91WDMQPFXGGZRMDZAVVKGD0FEWLSERX0NP2OI6OCUKKAL3DZ2AH904JOOUFAZ3604K728QSBCFQ0RQ7HK1L80VH2AL45GDR44BEFT20 div 36#T4XSC2ZI6LK7LOMNVWS3USBPIIG31W0GE9U1S9WC3BGUXFHTHQRA5HHZIRQ49AWK1TZS63FR4BIVRK2F2B08FTVQTDDYB0IG96HYZ1EA1YWZOKU4RDUGD1OLGRF0CM6551PPOVRNQX1T7NK2AOB8H6U746B1NKJGJVMX0KILG2PCUIG41P4RYJHYWACTNRMJZ. +36#ADN4E9U39VTDJ6T7MT9H2H7AP0DQRZ3D8UD41F8CA75M02V9SQBPJ5M3NNGTQ2KWFJ5NK38U3NBDWZMII28G1820RNRRPX81BS8UYDKLZ1UU6VXWPJ7KXSP2NFZP8NGFUGK4N3YQE2QG0VDGHOBFHOZ2IXCHND9KTV7RSPJ0SLM2W453TX17KYW2HY0RR0UP299WTH05ZCR6O4HPEKM0QV6VRLYUVX5E4V7YQOHAR8VK3JGR4G8XZWB6NRK6BB4GNCU6GY5H5Y6A37G1QOQYOS5UQT3WNNJHS15U06JYIID2I3IKRDL51G91MHP17694VZ2AM68YIOHKZCFDP9B6C7A4W7SNIIAISPEL = -36#GV924PDNH2CJGIE32B4LWAP49RFWEC6KMQSVJDYPMOEJUY2JTTCFNM7VG9C1JNWJBJ929W47B7WXHXSJFRQNDY3H40BS32W018ZPRE61RAECBLE9GP2C18NXZIR15LY6WOXPUW2LGY6JJF1ASGQPHN5IBFSKZ4M7QSPPJX68XCP92BL4L3IB0ZH9OUHOUYSC0DS2G74B926EIQGMJHWHHI73JA4KZD1FOGDK7882EQAXK8RNO4PEPHV92OKXJAP12B6BRZ0TRREYP0DHUP58EX8M1VQI4Q7TPDN49OMR23P8E7L1WDZK96AEQM4RT8ZUFACKJ2GG52UE9AI9NYPMHYOAY2HGICKL28DMCPCURKM1DDFL8T4BV1BOUW0VYLMX6XL9S77C01OBFRZKJKZL9 div -36#1MIACTMGUYTBQCGA1LR4QBD7N1RSFH88AW9OQ8GWCUQLFLBG7L. +-36#1RDA0BB5MS9GSSZLOC13WDSGCWJPC2LFULY1PK6ORJ4JUWSR76HJ0AUKOPYGCB9Y99A1F9H0K9WK6ZA0UVU7LS1ULTYPQUH0M25SQ5X51KOBASI9IUQKN45QYIMV4AKRCGNXAJ4ZOELYVYOYF2UZL6IXBWOI52P7B5PRYCCPDW70DC9Y9TCWOERAG3TY71T8QHAGD0U7GP7MX3GKO0UR7Y9G9EYW0ROZNKRZ5K6UCTIIJ5YHXL0KR5SLZE7OOKO4C368LSDZTBI8DPJFFKGGU5UCFIMTJ05M5T16KKG6SW40UG9IY91QHJYWCGVD9CYXUP58W9PV21H3PG7MKLDPUMEFP2JVGTH0AJOMUMHIGSXT5XPZOYGOI8EQ2NFKN91PY4ECS9OLEC9MSNFQXL569MZA9CIUVFCU3H7EI949VZHEK2I0NZMIW5O5VBQWHFI8OUAYOR8YYHS6PAD2G87AA5POJE48V2EJCH55SM126M4SX3VLW34603STRR6CYIUSGLRB064FBLS82S04GR1NXN7UWXZSXXWE4MVGPHHCWP8GEINJE9NSGK9G8VLOJIGPKF1TCAX6AZ7NA6J0TCGIV9GNECIX32DF9LQTNJK0BI26H9E0YBOQQZKJZUR7L2J3BHYMVXKTWDQFB7D0S7XBE0TKYMXECHKPSWBHDWS0OP6DS6AHZ60URS7VHAS9VD6O9N6O4U4IX90E0M4HT9ZKKB5L6RRO3GV97FHRQILUNSPO2G3W6WZGSX6CT2J0YLWUMK4KNHE4LR2LASKKDPHA6JSWEHHULERVK47JX1SFQ1JQJI3RFKKSEBFB27VXT47FDGAZKWY4VLVR5OH7DPXS4W1GF7RWD8W2RXNQ2ZOZA4NZAG2V2VEQQQIZ1A1G81GITLISPGPW88YG9C0C1TM9VW724J51GICBE40ILXIKS0TSBEDKM00GG82VX4SKEWE5C41DEPWCYY3LE7IM0GZWSZ505UVD00WN0G1TLJVLVGEBBTL8IXP88895S = -36#5HDSDHS8XJ7EG7C6H60O9AMZYTH6I6OFJZP733BKL94YSTMA3XHOIIDR4BXWID83SJ7SIZ64DCAP4BY95KG68JKNZR23BA4270N0AQD8OWGWPA5TRGDGUCIH7SO3HZYDY1M57N0PLUA54G71UJLXJO9ZGLGEUQF6TZKVLPPN3WOKFL8DBYZ41J1IDO2C49BGW9MC5IHFN9QDZSEV1E5WCFMKKDKNHSWFD9MTLFNP8YQKG6H3ASEIAKMJ7VSDHL96GXNM4W7TXT8Q47FFXS84ADXAISRK8N52ZKH7D6727DFDX4XZ0SAKVIXQDIH6ENACR1TMGGRPU4IAOLIJH624UDJYC30LY2MBK169N7QWVVCRYB5EWE0U9VSTGZD9D528BAO11672T4AWO52D368SJF7GS47VI3UQZMJD94GKAT03KU6OD1IQ12BDKNGQ9X6ZJ78BANAVDW80LYWMXG * 36#BK2ODLVWMC0J1U3KGHZ2ICUY9RSROUSE88VFK11JIDFUE3R0QOH9V9SMXYXUPTREMK89FUY0J2P1B0I9AKOP1RHWXHJGP4DRVJVD4IJR1HSZX7SLN8F3UELSWZZAE802NRPGJ96A1F3FZ9I2KGGV5WQ51GP75BHMNN91Q4XPZIX7E7DN7AXK5GVNVAF580PLYJPZB0UKXZ1HA8I0O0JAHLADPVZ392F1HHAP522231UH5EKB06K5PMKRX2XYKKZD28CVHDL4WN8YRTIYZSLDU3NWUV5XH1402G86PGXGY4B69P25LDK67L871B6K89AG2UDTQMOSNZ1EPNNVK8IZ8J8O7OJ0RGH04XS8RJL1HUVUB5D9RBKGF9SQLXP6OT5E5JRFSF73RHV6CLOMDQEC25N8Q4IW9884JTLTZAHA2RXFLQQ8TIXXO7Q4KUZ31MAMX0AGXMMKJ2D207IFDIPNHA98914AAH3QRSERMATL69OZDB51TYHHJFTP9HZPSDEULZIZIDOJBPW1NUHUFA1Q5CJMGPRO51PYD8ETD14. +36#3C161MM21CQCRTFQSW5DCCQ1RE4JIHDHQ3YK0B5A83X2RSYSPRFUTBJGUJEOSLFTQGMOBPIJ7ZRUP0DXLYZORY6RF2HSA4AHH86UVJXF4MJRSSIGAR1513HP6N073MG4Q4AV88ID4TM9BX2LB8OXVHSC74BIVZZK7XFWDG779KF79ZEYPGVXBGFKFBIUJA16AWXOQQ4CTS4DH2TDAINF333M92IHQCB0DRKGRBTFEKBP49XD1TQRS5F6NRP8EVNSVHCL4FNVI5CPRGH9FK7BVP6DOAPIH2R765CFD5C76JHQIY8Y1Z8CUS1S93SNIUG3N135MSD09JGNI4OSCJMCCJKDVBHRWCQ741DOQPRJVR3YKDTDKSX899HAQRWOUG5N0HPMYQNA7VWMTJ5529MHK = 36#18QWERDMY6G6Z4PIIN7UBBO7YF29FSHUO7F57ALV1HGMV7S0KS * 36#2OKGMRSWUYEQGOBA25T8EFY6PR0U0DBMXM0XI5A5B0FWC9JO0IXWNQLJ2Y6CMHFH5XCXTZ8ZMTZUYNRXNUV8IF8F4GKQVXI4BE6ZSJPVQQH3B4E9OWN9QYNP4477M5XB8DZ13FX8036AKQ1MGUUZ5JYR3MSCVN6VM2A0P7F9RNZU9RKQ0W097L4VLD4YH1BNYWO3HYO7BD6HSG7M9YSOD0GI9YGX125G9KK3YP8IA88LYZVBKS915F2EE0VLZ0EJ8Y3VJZ0JPZOJD2VP9GAOI48V7D2828AGWZ8NFAEVDBXINWZEZ2AKV1VT8SP6UOX373A1W02QK8YBEXTCJFRDKQTFRPIBPMI76OC2. +36#G312LNZ78CNTWTW6GPL6NDK9Z0RSQ3QHSY8Y9L1JF4A6TYHNJVEFG6WBJDPCV6JVHBWRU44TIJSMV7HPK0ZLM77IIEVNGLFB5S5ZMSG962H8I1SCZRW2L5YRE6NKVDVZXS8M0FMJHW8KK913EBDKLYU79P1HPI7HADJHU4JFSOMU1FFLEU0KN7PDC8TRTZPK475N5G58BRJOTGRK2ZC0HIVW6X2JWWTIZXR2TFNBK4KCGMA97CLZQ850S881MIST1K40K7Z954MOLY7J7SVQDZ5AZA6CIKC48OB56RUQTLU9EVQYQFSW12AVER2V4EIUWV3G47I88LKFB6XAAH15SXU15XUTV8MM1XBFUCS3Z9540LG5R35N8K = -36#11OUHANC8WFY81L5LN4CZZP2IAIRZ88TAGULP5Y24OKWQ0TECYDG4LCW9PC4R13X87351MM0O5MKPHWF8MNVDC2VPO57FPUMDZTW1W2AM4I1YPQ8GH4C0TFE8VUVS9X5J3BZIVNNV70B0JH5SCQAQC6IWSFOO392QKB46KFPX8DJ5TXRGQ155YWCM9DTVUG3QQ5YG9WKK455653AVN7DYTNO3O7D9MAEVBA9MREQAE88UI14H5NGDURAGH8IPJC8AOSWBVGV97901FJ8PYZT2SAV2H6W8PF2QVOQGSC268BSRVO52SSB6XOCCTYCCNYPJYBU5C1F4QMTI7LAQ8GEWM8THGQ92P35ZJQ5EOY0OUHD90DLU9TAVH50UEERUQFZETYZS8U9Y83H4J0HBM7P21NNHJGBLG6PD58S5ZR08XYB18TMX3JMK8EUB4GV0VJ6KMU52RF7URDI167X1TJEFTDH37OCCIWIE3IZRBVLRRMXTD4ITMCNQTENHA5MPQS1LX6M5HV9C9QYJ9J724J2TRQYPA1TY76QJB289JJLQMJ9FK2KPKORCH4JAY5WKR057EGON6K div -36#2CCXI3VBRSAPAB7ZM1EL64IRTXOGUSQNYZLQWU7SGFDDG3MM1WUDWET8SDNZDY5MKH35DG2F5DD5MZ3YK4JKUNFJQGGUOZD8XRHH50UZPB1NR0JBU2RWV3JZ6O15VB7XETL055QCU0QB3HZC0V2AC0KMJS7M2Z9SM7HUP6FZK40GGC55N8QYHUWF8FDBNZ12NMOXU77GKQ36QEL3J. +-36#1LTP5OS94ZE3Z8V4K9ETKXW6M296SF3V0CTA5MQMDGNX3X0FGZ7I7A870T71ZK6OYZGIMENFZK7RXYT3YERS3SEQRDQNLIBYSSJ68HUYC51M0KED9NNDRC6UL5B6XZKQP6WGZRY7OMB9K3LQAJBHN1P4DP54LE5762Y57ESZ0MB8SUSNJ5UMNUV4AGGRMITWR0RWQRDY7QP7N4U1JJEO16ZOKOGHXAS1YI9E5F9MHFO6LJIF5CROA0OCBA4I52LTI5XJZUXK73R1LLAJY0IWG49AH8XZZ77GVC0OS09SJJFXNLWM9IDKG0MEBPPTMJKOQN6P31PX5UFMSA53VMG175WRGL8RDJG4CXG5V0K164TWWIT8XCCAD1FJRU467OQX2V4V9EOVQIPBN5LYXAJFNMLUO2BAONOA12B5N9FQUMDO81D2CZG79WFD991G7S877U46EA6IRGBE7WRYAEB8STIW = 36#AS41NY4QKIGX7K73OXTEZJSSEWXFQP66OKRVHLGTI380CKKFAXCHY5LJT1UR8X3133TH5SVSYJ0X98G7SC9FJDBFTH975OFA6LS2SIUUK93RCR8IT3K2OM1P9N3FN7Y0L67E8YHDHFJYVCQWPNE9X5GIOQQ475POUQ796UNT4X1GXTYEQDYD508XSXUEE4NUTRCVI3UTQ52PN46AHRM72WPAP9IMBQBAEHRNPG2RXDYLLQFSBE3WD8LSPVISZUNVJZKJJA29XVHV3WJOEME2G50SE21UYX9FPRJ0F8W7A8NRVJD5G0FK71NV3HGDL3C5XO8CQNVCFL6O8MAU27PJSCIOTQ4 * (-36#5D3AFERCZI45VBWZG0A01POTTRELMR2AKTIRCRO4G9MD8EXID3P3PS0288MZCB3WRSZ810HIQ7DOZY6D2C0IZ4SHJDLYL1MQPUHUUSYFFRUNXWT06UVIXRNEWUR6Q). +-36#3AL30B6L38KT3GJFBHFF1YACDT9VAEA32MLDTOZMPKYME8LULA2UQ5EA9III1XBQBLT78LGUDXA9GFNMPDWCQV1EJS964XXNIABPGCCZVRWLGSOB46IXNOAYLW913W1O148XXYO2WZ6WPDDR66MXIK2A6PJEG38J0UV7JLSRT5HG6M9N4PF72BKBD9R8GMIMDWCJJCNLGF235P2H2M0Y9ZVAD49KNGWT2BPRMDF00KGKARR6IKM6AXBTNZZZ9LG5PADXOYQE8CP3KW2B8P8ZKYDGV82HMRGJHLFUKK6UT35C3OW60A6PYUJK6A37BOC6APAB5P8JCDGRSL3XED6UXDARLG65OHQJMPVF108UTUSKI30F2J58RKOURBOJ44HHEMD5V6AXDHZ3J5OGEHU95QNZE00CKYIMKETLYZ96MDUZWSTG5XSUX10CGID6SFVMD2ODJ3VST7QWICSZ16A16199721AG7YTSW2QW527BE1QJE2BFTFLX648XQO9HSTLJKNG34OO0NYL60OCJKLCGHKJ0YL58IL3QEVEMS55UHX3VXWMC33PL84SQOB655DGK9MLN2EB867EGO5ML9FAJIHV62ELSWRUSD1R61WBDPI1R5HBJD983RBGKYO8L71Z5RSOAEWJX6B26H480IWCBMZGJHH0PKD9G6QV8ATWBIZFYIMY17U63ICTEQI2K28WQB6XA6SV1E84MXWE2LIDW6FFYI1N84CQFFF71JFB4D5RLHSFDJ77X0M7QPCZ4ICJR2POO6WTB05MTK055PKPORS7NYT2MVBRI8EUYFZ43484I92A6PO9WZ5F7RM5M4NZ784ZWJSH6AFBR5JUKEKCVMWJR1NG8LZ0WJ7EUC72XTPQGGYY4EXDTHVRX2PPRP1NKU3JTOCQT6D0SSCDS7D5PJV0WNZM8X5X91ELSGM6A9EN6SATASIQXPD4A9BAM8BSFNXLQUGWIRNME9QWUOAO8R0AX0X52OF3IVV8IAGCB2OO3HF4V1VNNTD3YAHZMYGRXIP0FF8895NA74WHS7FGEJJNYHWADIB5WD80B4VJ7FGQRH17NQURFCMP1V9T4HD4TBQ3PWFJY63J4C6G5QE4SVJPMSJQ63NK4OVA5KTTWVBLR7BC = -36#PYXN5PKYGRFCXEKFFBRZERKW4XKD70UDJ0EFTLHBJLOMRJGHES2818R2SYH67OBZMYO0ZT852A44SDC1VZI70MLEP9ZYBYL5NLCKI7ICT08CT3J62Y42XB9FJY7SAKXCUR06DWIB3NCYH9Q72RZWZEPARYPMZEEQM5YI9VZTTQHDOWKXXOYVLA34RRYWPBCR2WAP7UFP64HBSNIXACM3NZDFETBNK6WZQVBP07JOJEIQRTHKFKRCDKV5YWCE1JZS8WCUTB7GK7RAXME545JS1FWI232E65PC6M4IZMTEH5HGR9FXUPTNZZFX8ICY6SWAPDDAILBRD2DHLX8PYCU0SX4SAHA3WRIMH0FUN3GW6ZX8EVG5U84CY658Z0O479JIF5BJ5RP07CGQ0UNMLH75SIYPDMF66ZXYP8D3HJ8RBQC527CH6SFNI0T43WLRERVJH7KXM70D6DDVNTXV90K6XMGZHNOTG9P6FSG3RWWZWMI80HATLUB98Q1WF509NZ3A47NDO5EGMRC9F3MFJGYPHC7C1BZKODIRH5HYRWSC00OXFFXN8NISRESGWEUAYNVA2PFWL05SQTC13VWYI2CNDJG86MORXKN2XYEK50SD267L255XYD4IKZT168UEX5OI0O * 36#4KDRWIQO790Z4ISN6TVWNR56EYE6RCAM3L0F08MTHQ7QB3UHI8MPMBGH60G6STNNIC2OIKAYGOJAKF1FFUVS5ETRYM0TUFRG4M9R0EC2MCHT6IP60IWXY0L7ZJQ1RTBDJN1G0QU9TUF9KOJWNTIWKVF3ZKE3F1G6BYXK05LN0PS9XGVTZW3YSU1TMD2O9GFDXBEVPSPMEF0G9LNZQYRLTH4DHJGSBJSNDJDL641W61G605JYACQYUSZW12THVS0SQWYHJP3I0J2OXF0B4DI286WKGZV7VWSFFKOKW3JC2PZ3FHEH0CLUFQ5Q1KULYFMO1BRGRWYUV3KRGQ0V9RPJVJ0S1JGM57YPWYGHA3B1WEFNE2BB9POBXXAWMSBWUYKK8MU3ZJL1TZQ012GC3HCW9LEKHA97MDVCYHNS8LVYYB8LQ1S7XYK1S5WHZ0SXW9DBKX8DR8Q71LR02U656FCNG2AR7SYSIE3WEKKMATTY4RZ5JZ. +36#27BKSMJ5IRA8K6F866MS3MMZ2V26HX0Q2VTY1BG7RNYD6847EHOASNG4I6HAL33QXXV6GB3SR4912MSTCPJZH4G0XMDFBROFAPFK47ITWL3IN3TPK9RGA5FTTVO3RXI7HI0SUUM7EYQAFF6ENVLH2Z5GRHJFBX4E5E30YZDCQSD6LK8RRH4AVXEONGR2ROM8Q7P8GNC1AN8BZ2635GW1JH5OMCTWP2LICJ6749V0GC2CD9HU1YFXP4MAHPUYW0DHSJ8JPIHC4UTJQ8BOQUPC67GFQ01NE7QCTEHHEGZ17N7H5ZVFR3DF93S1O3ECGXFNUWE7QEDULD8VXVW5DCDJY5OCJBOE0W1E0UZ5GBD3OIEV7O6FNW5WG6X483FCWXS4U3FLJK6GDCSPPTESX9U0KQXG9TDEHXAZTHHT3ITROAWNNWA03B5BT40096G3CZEZ9A9O7062VNUM7CXV4XBHBILLU8LTRBHFP0YU0WEPWBRAMRTPK1VEW9YLHCUW6LCJQ6EZXQNCD9O8F81LQ214EJW9XYCON4F75SM5WB7JFFEIUA8W0F81710RQ0FSHYTFYE7TUXYKZTNAYE2Q20T74NPTD69BLAAYHBX832RO4IZWM0DA7BH8QDVUQR9VG8SANR2O1FU6L070OPP1ZJDQ468EOK1KTD23UUURH8GQV7FV0QIELK4S772EL7V7RKVI43HW6P3I6IWZ4KAE2BUO7KZSGD786IAXFV9VAM7MWC82XD30WNLR7Z7V8390WL0MVH0VJZ = -36#79PIAUPCIK4NWFIKDSR6SYQM4U3DIT3ZXUDEWMTK2M9PHTLBFPCOV2RJB6L46LAGGYM9N3182GZP7CMMYMTVTWGCIW8FZKE8YVGX95OJ3X5B1WG9HKNOD8K6YJSPIV65LV6BZ9HZIK4306L0YRURDMAJPPDKSLILVR50WQIV090QPXGWVDYG7KIZFQJJVLERHSMSVW2819ZZWRF2QKTDTN1AVGEBC02980Z50DTNU58AO1PXRHJK4P380IZOJDOLGMCHF95TZPX5X9QB8O0OSZMDRZC2Z02VS0YO1IJH2F5K0PY11VILGQ1ASEYDZF40UDRHD3T6T3Q82PJC4OW5UK7X2RHODKYB8IAN5OS8QPAUUVVCBHE0QF44L7P994LKHRKQ5UR8YEHU0QQLFMZ8EGT0ATE6T5UESWT6Q9YOC2HS1DWIBC7ABDLX7O92N51Q7X0AKK82O3O7R3HC1PKMJRX489UDF4CM99RWZD804SW3Y6UXAFWRUXQELI2QVVCJQPWEQFNVTA9EZMSCXWN44LSR4G69VUCHYSKAP82VFNO7LG9H04I8362GCW752CJ7SBEXFA2FMZZESOM51X8O236N4N9NQ9A54GRJ80EW5FQ0S3FGMQKP2QNCQEEKTZ2F287GUI63VP98JRBHFKNWRCK2GV047W12OFWKI4RRI7F1D93P1GG9JUM7IXS5N20O0A91P3D12JAUMOEEO61UK6TG3U6GEZXUPNRGXB153VUHPP0QCX35FLGUPZJLC2IDXJZJBDJGYAU45SGMFYL6RL2TY5MC73JSB8I3UI4RITTSW5H961YGC2TNSTR2BU5P3UWKCK8RJO6S4CJGXR85P7EQXNKTXTJ9RJH2PWJWK9TGF8PASHO1D1E15JPCGVGMF6UO5CO5BSAEAM6V05580CCNZXFLRX8BUH6LSWH4LB7KUF9IDMSNLJAE8FPYEWQ5I35XAAGHVN16V35JXHMO3R46DDPULPI75ZP1FOCE732YNTB36PVC6UYC1GG7OWYC3DGRU1UIMR864HS4YVARGZA2UDCO68HI3JR0I6O3C3L286HBJAQH339N43O9UU20RSMYF28M5Y5ZLG8ZBEI47B7I743SKKCP1EGVH8ZXNYVW8QNMG2NVGTUMONNEJTDKW4PKERSH1Z084L7TYJBVK8BEO59OGF41O5OYUEF84LD4860FL6L990UB4QNUL18NLB77C7W7DJBEA3GFMIFOKE3YBD9Y0D3ESHWY6DK8SQOGGZUMGEYEZ6IH8RQMBJ91SOMPAR5G3VWX245LVNWBJD4FWJIG5F2M6X7Z1UFG3CJMMR2ECA7F6EAY2MD3QOWV235KWV2ZD88I4EPLQJVHGY6D6DSHY4GY2C0YXIE0HPUPM48035WS1C9CB5E4ZASG25Z378XE9QQ2OFFC5H4AD4OGHYV17JHSPGB933WOFZ3FWUV1K3Q28IBTDYTO div -36#3ARXSIANDS4RTDFIUW995KK2XHZVM3SK97YSO0RZ7JBGBEYJE33FZYYJLGQFWA0PWLRFVIBH23E5BIKX606WUHQO337PWHLLYGV8VLO1P8CIDPGEBLBJKC07TKSEZCXOBG3AWDW7EMKI2SLBZ1UIJYYX73VFVYO6WZ7PYLKMMKPICAQ3BSMJL747WGO94UCLRPYTRR5824UO3LYVO9W2KLBI7UL4M4Y40RPNCRMRNNUS9WAYKMF1ZA7ST9ZTB0XGYU95OSG15G5U42LBAPCRHB8MT8EEQMXSE0R8NCT41T2DUNNI8Q02PPPENMU646TJV8LTGCUD0EDCRA4K3FSYM8VADTIFUXKERZDU06VYW2O98SAE4GPX3BOACN0UAZNGE1FXWXG3WAKOQXOXUM881F7N6E9HEDKS4WJZXE1WZ3HIZHGXL30LLEOLZFWAO4JF70RUMB8BON9KBUMRMTNX9HHRBGA54OHNK21YPRJADHIYUJQIS00Q6B5U4I15VEC8SMYOTLGCK9V4ZNXLZLCHWXSE0ELKH74C4QTLJHY8VK1AZ8D7M364GSII0FPQKZRZQ373KX7XT4GR09RUGE96ATASCMO1KRLTEJIJMYXCSDH1646IXO8QTYF3UHC8Y0MRHKY68H9FMYQIVTG4F29KAOEAYXF6YCYCC9EAS3VVNO3XQ1HYBXE37UC. +36#249LCGU8WWWGICW0WLTR6GS3IXR8OO45YW8Z7HUJ9VGBK3NEDAVPKCNS6C54DX3W8YEB1MA0JESAJKJVM8EUQ5FJ46U09SSPH2S0TJ780L1UXI52BIVIEKMQUH4W9ULINUZVZQJDU9JELOIDG4MWGSWHJH5D63ZQC76EM7G2FPHWPN7AYSHT23J6AKX4IUTO3EWVNN64VNPH8WEB1NH6GPVLZRBB6C3UWNCPWNY9V9L61NY0FJPQP3AFG1EIEAXLJY7E4EIY9GWK8TCIK3ZBUBUBFBNBD61WZU2FQ5YFQ8IB63PI4ZQX028FY6PCXDFLFJHNJZSYDXA9JPTLOXTWR73NM93O57QC4L7Q6AG15JAZPWDEQ5I7B8W1163FOD2COC46HG2XRGGMWQUVXECC57YJ1RKZ7WGNUZXBT66IUKUF6I7ZKHK1JN24UNYBNR = -36#1AT7SCQWQULTVGV6EANJW67MCBI1L1PEIU8U0QNQKDO0Y0N15N8OVTX5TQ2M6NSKI9KK31W54QD2PMBSN12NVIJE8BEB3JV4KBVCOJANZAHG8HIB3SL9F6AUHHSZRLQCWU2978P6JVSDUBGYAGW83LH3ZLXCY5EGOO4HMPPL9P8BN44F60693TEQHL9KFHELOO15BFTI7QIQYP8REZIG45GETVG5A4SYZ03LOWYAQL4ZJO2FOADNDBQ1ZPKOVTNGZBY7ME9L6F31CIP19M68HQEW8GUZ83S5ZDEJAD4KT7CBV0MVV3D3JKH4TFCWWCCYTAC6YWZRNL9NBWT0QR3QD2U4HR4ZMWAGC12WMBM74S767BX8HGEYZ3DY6WLNRND2PAKMFLPKQA10CJ58SIAHFG50BJYDLS40WTDO98VS7ZWPNU9N8X3F5D48CE2JOECBPRB1C4B28U75G3VYL7L68B7VCNT253ZJBPABZLIYI9K33MC5GB4CUQJQ8H43CJI6OOPJLN85DRCQBF2BVB6JIM6TAEQKNABABAOQAYLYDP2K9PJVLMDVQLGTF1ABPHVA8JTZI27N3RD5JSCLB80XO6PT90PTDNCNEG5MLGNB5TW7ZMD6REU7P3CH8FKWURH2TX53OAZYAHATO7JMYOSNS6AA8RPU39DUD3VXMVRU49L98NE6S6EA0DE9YU2ITZCW5E2SFOUFMVHCGERUX6KVAMM7912SZHUNJEV4V58BE1DCD5NIG8H9VA8UV1830ZDX4J815JKQNXS3L8SM2E17LOODXI2604DCL6HL0KALEKGPW7BSFUFX4LSKLNR3G98WGB1UX24C4JHMPPJTZPQ45YDKW0K36OI1DL57UUY6JHCCGJZ1XXQUHN07N1H6N8OIV98X6R1NX1B8A8UCRHCMKFQWWBOWNAI7O6MJCA62VY9UBO07EDU8IDV2J2QQK5N4NSLFVXCY4KVE6OXJ0VBR8KWHU5P9XZRQH9IKSXJ4LLPD67D2W5EDYS2AX6ZF0KHLEHBDK29FXW9FWWO93GBB1D769SCU058S8MM9X8O6FO30IYXSYOG18E2CAGDXDH3CH89SBOGKCFLSKGKTGPHPKIBPLE3BH5JI6Z3J7APCF3OH8WOWB25GLR762I80NRCQLGLU40PUJOYGSTXAQMHEE1Y556U9C88HYZS5BY9CN6EDIUFBIB070EFYGRDJQHLIO5ZOY2RCXR03UTQZ2W81BW9D4NZJZUHN15UQKL2J8XXVH6MR8ZL41CJKPW9F5K2TSC44O74K8STCPBYLKGYJWSY6L9DIM07ZVGWTEPG9H8DCRI7GAQA5H4C0V0ME7Z5ZSUHXLY20GOPLCK6C7C0QT3T0BU20CF1QSRQUFMF1I027RNR div -36#M3GYS9DGL9DVNMXS2RH1STMU3CY3S5U4HXC5GYMDIT9G9WGUXY5TZLL10IX8CGX3ZMNQY30II23OEJD39YATUOHOBVX2HLMGOTYYHR1RYN7590HLGL35EN23DHMS5X4KDUC7X01L288SBZ7BWN4VX0TBUI6FXRIHHR36VFSRTV3FNZKHXMVTD4GAUH5GR9JTRWLF1WD9805M3OED08XZ3H2JMAGKYZLLLOPXHBOSABCINBC517C9K1IW2Q17OOK84CSUAGI60LXRHRA4FEOY0LUJ00PZ6YXDYYUBRUERFOVMOGNSPHNM6BLZR4VCXMUKOK7UV6VJT4V1866BLVDFBO709D9OURF4GZL2198T1T4SVIY7RZ0CMAINOHVYZZUAHSCCPV0FR2UQM509BWYVHCHPZNXPUAXFS8EI0EP3VIOU9YX8FDFZH8PW2O0JBYW59H2N2W9V8V78S1ZCV26HN02AHL1425H9EHJRO3M28F99YY8A5DNGAI2BBWPXSP0RHXWS698CZMA5254ULTY2J47BKN8NEGGJ9MGF7HL0QDJVZC8SWLMOCXZ8GLHJTUBARW77JH3N71DTD3F5702Z5UX53HF6JZD5B22HAVS5O734A5S1GALIDC8SFCVI56FYQN6YLJ77Q1140O99EIEGCWQNTTKUX95W1N6IC3X6YQ8NU0VBLFP5BICGZ3C0I5CVYC5GPLQVKCC1V0H6NYWYSCBUP2NBH61YEI6J11AUYQA22PVVDD2DEN86XN2HM2YXGW2VGRUM5POL7EZB16554LZU5K9ROA6MHXF2PM6ZOGKDX8GLP93G5V1Q9EHMYYF87PDXPL7DV0E3RK4090JRFRWXHNILET5SI77O5SN37JCN2AZ4X9TVAOXCYR18YU6OTKFN4FZ1MEXZIWNXNN2ILCKKA9JDFYX7Y186799I9XJC8NJK1. +-36#FA3LG8H3WZLXEMRIHV1FQ3HKL09Q6ZD8VQ7Y3KIWFPEUCKMHG6YXE6RY9504MPUBTVC4WHR8PDV0RXPMHXQ2SW6D2TSPUYNV3AQ6MB7ZGHX7THBHFI9I9L5FT7TSGQ8YVZQ167Z36AG533JO29KKW4MPWMGCV5JZYNQHTE4RHOS3IKI5Z0IRODEJMF0MOICYEJNQAZQOPTRH0HKDSAUJNITM1HB590JNICE1LW267KFQR36PCZXQZ4TCA51U6C4EJUVBS99LBZ80QNXFMU84C6J5IFP0HEE0R5775AXAXATIKJR3ZB7EF11L5PX9UFEEB4R1MPU7DIC7LP0HQX9ERO0IIJ69561GL1G79RI0YIWSX9CE83847JG3ABLK3AGFZ5M4Z4LJ8XIU8OP90TP422995QW19JNCBZVQJVM39SN1H2SU5S850RK2IH1IVCPJDS0B5LOHGNO7YLDJV2K72HD0QCWEWBZAC0A8RYPRD3R7VAEOJJSEARE6KETZY7E1OK44YKJ7BH9DWBRV112YB68IE3GOSXSY5ZTCKP4Z8WYNHXREJ6QF2KI5WU4HT5I5T7Q740P2SDZPORTSQER2GU4VSYIIKEEMWB12SL1U0PZN6JOBFZVYR2RNNBS2IZL5RZ42AQ2ITE76SLDEZL9GMM7JABRDN2KP17QL1MVSWW = 36#5CAR6R5XJDY26TSDIXPQN9M4HQ71428QBFXO4D7VR135NRJRD9OKA0AOKBMZL156SGSNLOOI9BC6N6N2RVTIOTQLL5Q61IGPQIP5Y9SWKH6C9B63GTTL6T3R7QKEQMEEOICGHU8GTQASALY68CNX5IM410OVIDTX2RIH9F6AV27VYM70SI3SBTZU629CTH4KXL80RTLMU74SLVQHKVEZK3AV8KCK3TAGIHW3E31BO6XPL3W1UR7T1UCUIHHXE9TMQ01QJXWTMHV08EQX7C06RVUEY9GQS72YSB6LGUC9N6R1DQPCVZN6MY9KFUUKPK2TN6N2SSFD93NAGCTODP72ONLG0X6VALKBP58NVHREI71T7DB4Q7M3GSP85ESZM55PQP7VVBXYR60F33AZUAL14G6XKOFY1BAYFWW4Z4T2SPD8PLY54L2WN35ZA92CF8OT48RUMDX8W99LB0YBVCJB9JHWRTBB1I8MHDZ9MKEVUJ0F7J1UO82D6NX2FIJBUDMSJSSDDLQ04USOT4Z561XRKM51E4TPGBW3U0Q6W043GS58CNCFYT65U2XNNNVJXQZ8VVDRBOPY5BI3RFJAHTLC9YLRI9YLGCOZTL6VSMMLM3K0VCBX4DWSWPJ8TNZ54KPT2X17ZCZR99R4FQ765PF8HPJTK443R60A4RXO4B59FD0MAT6XL2ASYJDEK714UBTXU4X6V3QVHRPGW6Q0SU624QXPBOTMZEKZSU6PX93UF8BLT43TO9M8PL4LMPS5WKZIEFBYCUQ8SC3CRJWWQ2A6JH86LZV87SDSEFSYTWNIH34PT8EXWSGZPFA2IZ2P2OQQ9JT7LJM0NDKRVFB6M95J5I78W6BAV0S8XEZYWINSP6D9NQ27QDW7GY1FA8M85IY8HM4K9CNB30CINWCLRAKRHMYIP7NG23NJTEZLL40LNMQ6P1GX4NV31XT4G68QGG69JFMRX9EV7CQ3DQG0 div -36#CL1KEEYDH0NXQKI48P1AEU53UX235UYSWKEV7YQLHXGJNYN9MQE1DO16MJ3IDWJPALE7Z0GQMND01SCK9SNQICJAYN1WQ84V8AYU8ITLF4JFO42Z9T3K668GJLLHDATZS9ZF3XCGL5N55IKPMY3V48V2DGFCE27BSZ09S2W0JUUT3LKZER68138UKCBCGWMUKRR6NCXEWUIPTVNAPNBSKAETE2W6LZE5MWG2K3T3PPN9IERAHSEP8H82FYUCAECXQOVEDYN9WF0B51FBH5DZT23E7R3966R03U45Y9. +-36#2ZWTZYAWGSVSYOGQCY0B96MNBXY08RCSSULADEX7O8IZOS8JGJOXYSJSRUOB83YC7Y34Q9HWRW90WS541DHANQFPQDOT0F4FAEGWE5FVA2JU70XSBGCJ0U9UN2EXHS2TR7O36PGVH22L1VFL13DE8D6RYO584CZEWJQXKWHQ9H27GDT8UK2TB4ATVBVPHN045L5MJZ1KLJMSZFJR9FDHY3MMTV07T2XVH46V3IQYJZ4ZLMHPD6C62JRX4U3UUYVSQZ3GB0KFAN0L6C2U9V4N8WH86U8K3TV8DMLL4LDFIDWLUKX2MRKMGV9N9BR6 = 36#10LGS8V2L0OI1ZA611U9ZMWFDX1QCLQOA81CU73FBRHGAYE9DFN6534YF4H4E27A0LN5PFJTNKJJ100U7R1Y4LE0U3ZEPC1Z52E381TT6HEIWGWPGSZE1CF7US1MHS59UDDWTFECCBHDN29926OKF8EUCPEV4569C96UVBQW0AHEN7B6R6NHRUWFX1TMX8BFUA5G5TULGDKS7J4HQZUI0JR1GJ0B1ITDDPZ6FGQP1PNW29O4PQ91J4TLOON8XK0ERU122PH3S4NQA8WQU9OH7UZVEUJ0FVORH966TJWNW4XXIT087MXRZ2Z039E3X5E7Z2QJY2V5XXX44ARMIK7JYK5CQEB8O2OOYQHBE8YKR9MZWO1JKQ2KEZM8WD0SMCNMSPXCS40ESVTOGLCAIM8UIIA30R4I6 div -36#C7IHCNKV1OS4LEYMD3IWN4P5UZTU4RXR6AFGRTHF9KNQAJ52H0N9JG8D8X18QHPZ7QHLZR3EOECA6TTW3ZF5PWHTM0Z9U7J1J. +36#AUUDQA068FBZDCHNJBQJJK8COV9K4LHBUUZZJG8Z1LUMSIF931ZY40PPZDSY1ONZ5XLG39Q65WZCJLMW28AV5HLQ5CTYCT6OSSOJAL7XMEJDRF00CCE1HFAO51BOV4RWC2O05LT96RYEQZ2E7R58G28QUAR9EGEGAF8KP7MJAFM9ZSUK1BDUV50JF35YU67FOZD5L8EGJ26L7B4U81QQPT9DZ3W6TPU7R89V89KEIG9YTJNMFGZXEXQW5JLS6MF3RNPBI51VH5JAVF4ODCF5FAHM = -36#SH87JDWQEIT88UKDFDG4D1I76CNC128MFJZ5GHUIISCDZENG687Y2YRJEDBQ8SOIG12K3GSJ55VWQ5EDZBHY1IUIBQ57VVAUOABU24XR6Q62RHKCOVQ9GNX81B81XIEZ4TAR3XQ6AYNBJUI2AXZKMF3S9VMZ4MPX7LFRDC6N3I3LZV28245HUU4S58KMXYQM9NNN0AFS8CLJP9GW86IWTG4GPMZTFBFEP06A73HH0VXJOGU0HN3997Y4E6K5ZF3HFY6POCX3XZ4P9Z6JR82D97FZ2FS10JDFJJ5IAERXNAS80XI8Q3Z9Y3SO4ASRPJ9AE6963CPTG div -36#2MFJZNB3IKGAQ7NK9843B6URYKYJOZ5O5YM2HAW1PMKOBNNNNM. +36#EDHUAJZGWSPKMEN965G1J0MRKN3FR839D25M3HO8YDMD4FKBDK3N22KHXN77XF1P4W5ZAQPWALU850H9GRKKPYO9UB09A1HE63TQJ77EYSB07IHZCWAFPYBWB6ENYP5NWB1CCYTO7E0W8FXOCSMRRXYHU4SV9MEVC1K3AXPMJ7NLZ198EUODIVQUMIEPSPKJ1ALTL4HH90RF5CNBH2Q98KONEW8ST3VCT8LY872H0PUX6PPARSA06K434IN929ZVIYAJ8F07IYEGB4X6DOM1T79RO8V3GBXPEVR8OK1GJQXWFNBDB1IQN4GR89WRPTS1AN2P4FVLV4XUPFAMAOUBRDB6JB2ZNYS6FEFXURMY9TU4ZY48COA9ZQNSNQX0W0DY0E8AHJXVO5W8PFC9SG1IWJ2HWDKMMOC5EMPBXQ1WJR3HXF60HICWZO0R4NMEOGJKEM7V6EIUOWZGOLTMNYY5YEERA1LR9PQ85UFWMLXQXIG7KTPLM1D1WZXAG7H6CS122BQEQYAZHYHR4PHOEJ4V5WW7XHL3TE3OY74ZBEM7GIDBBQQJKFITATATKJB6R53ATXIACOECU7J9HIBP1BV8FM3FQAS86OZ6SBH68FUPCRC1USR73DE9HFJ5KVBX0TDHPKLNCG1KQISOSAXX1JJ7HC1PNUBG6WCWTC6E = 36#7F6MDWJUE2SOZANJSN93UNXAWZXQMUTZC864Q7ITUBRZ6YOJZ9ONNRZKMSOOSTOTHG8VFB4QANC2 * 36#1XQ5QNJ7OC387P6N5JYLNF4RBZZIGUKY5ZHZHDG1PNM3EZKA37FDOQTGGNXS7KZ8I493DNBO8DWTGP02A30YBWCM51GF86Z4VI8J1L7LFIJF8LMP0WHU7APSNTFKOW3U0K2WVQI7Y8VSRXC8GKUYB8H1F91GR311F2CD8LMVWLLBFSVSNYGADXBGRP85L3U5QQSQGHZLB5MYSAUZO3CS5WK1SG8SGY16BRM5VT6KSNLO68XF2RQZKMNZGYSIBAAT5IMRQ9TPHDB0793UDVJL8CZDS5TC6OHFST4N1PH6Z19GZISNEZDO8LKYM5T3AT2I0XKZ55ED9AC43ZD1K1B3WGS1ZTI7YS7TDEUYLJGQZ67PUG0CUAA42FWL8SJA27FNAUC9BKZAOPJZ17ICNOO72S3YTDBK4PRHN3TCLB48ZRXI07XN2AI6K4WWOWZH167VTVU5780200FWTZZCMNS2RSAWRFC1HUXQS8KTYRH5M9Z3PHMTYX14LSKMK9BJ9NFPGZJJ6YCLQDDXM10WEDYG3VG5BR09ZQKGW8Q7IPP3N2Q9P9V9IK3V7QMKB4YP2CIIJX6RTUFS25WBRVAZBWFE56EF7. +36#11YGPML0OUJ18R7559R498HCI7DG879RRO5812HEROVUFIJ6UQZ3NOG5UBKJ0G0Z2NHUM5AZYG57KC6BDY92HLO7MJ6XKA8QAP5FYMVF0UD3UNZZD94KG31KX0RPYGVOMSJQU3B2F7IWF7OWBJMJ3RMT2IRFJMN8N1PJD26Q3PMX2OB3A069I = 36#EPOCL1PBTVBZ8RUHZHN664O48UGWXSFJR5FONCTA4U39VA38H4U5JLI4Z56D54Q9N92NELG2HF2C4ZO3A3MJAAEE4VUBGFCAF33NWHUCJSOXRRMAT8T4YS668IADZXCGZF6 * 36#2KVFLJ67YK8DB4B4ZFRX1U7HC64JXLOZF15J0I6XW46P7CN7C3. +-36#1VZVKNVO4P4EG1WX63IWMXZ96G7A5589AHK3IJYLFSLGAV4BH85RGWRALGDARZ38IR2EJFY1Y0T4075TTD8HCSB1XRIEYUS60N0XJKSBYOOJSQB6YPHTIFOPDQOCXNKZSZTIXRE8NTTL0DPIF0Z914Q0PEWGY7SVRMLCJZ2J68TU9H9P4XTNORKTNJM06H9EYG8OTZUDAQF1S62Q95FDJ5RDXNOFS1ZLNH08JILL9IE1QKV67K1MXAAC1V4XYH5ZLIF = -36#4JMGXCDQ5LM1XF0W7B2HSGA00CE2V8JHHOU396P0F14WKFQDA0LB5G1C3UCPKS6D3XL2BSKAS9XTH5K2EFX2N6LTXDAZWXBTUYSA05G2U1YIA9GOCUECRVA5I80XI87PTAAUEECSTZVFSRYZBV0T2WXBRUZPZYSB5BFWYRJTO1WCRVFUG6PRUXD0155T2O024ETMS6AOFOI2OWWTGHM99SL3JIRALAWSPO4Z6TU7HNZVBPDVW9JN8CEV3WUC7DYF2UYAJL64T8LM2F9WEXE0UPUZC5LBBSCRRIMRSJ6JMN2R39Z8Z1773CNUY3QA4I3LPTBFGAACU0AFWBIN6YE4PFXYCP500AVILTJXLZ96FQ5Q0AADRX5BQIIL71EY9VZ77I8CCSF71KEH5EH1YRZR5PLZI50W09OJGSOEJXMENFJWM07OSJTNIA5XUD4QOPQONPABVD2328P8900LJVSQOYOW0KD3KFFCKXK2DBD65CNI75MWDWVFPYJ2M7HAZDUCMTXLAZB7DELCWVL109352B104R805J0RCPTWR9G9U2YOF5MUAY1AK73OVVVDH7QIBE8KTQNJVC8XJRYJGMB609LDWYFW9BMUY9IIAURDBOF3YLRGYMWZ4YCNL0GBN2O9VPJED4YD5XTC36S2QJLWF8YUGEJJT6CCW1L5N4PS8X19 div 36#2EMN2ITFDYC41SSKITCEL6FHXF94LLJRR9KZQ80ZNR32FZDNEOJ6CJBJ6Z5LII53FT7NFIJ62TCZKUHF3717SXQ3X7QUZT7KXU5OSHS400IDECTNK3BT70Y3CJYEQGXF1PHQ9L87HJRHA92KEQ1EDDI4JEF0ZR56P0RQ8OTIMN3VFD0Y9TDW9E8124BDA9N3XWX2DSABZ61R429JV8ZKVBF18TP77LVIHCYTXZD59SIAHBVBUKRDEBEJ0SRDGVCA3IR85M5PRCVQKJ9ZI4ZZZHF29P88YUHPXLR91E3OF1SL43KOYBO30HTTY3W0W3J2G85M4PZ14YF08HFK3U73A28KNHMU4OS30ER1C0STNHVZ92JQ344XE0BLCV6YLAVEQTEB9AAQUW08E20DTZQK0MVNL2MPDZKGE8NK474VI3. +36#2CTEQ5XSF1W8W7M5DQ91VY149V9TKTQKIUFAHHEPSMIWLCQMUFFSSJ8X1E2JWILWS8806L9E2VFWN980GZ4MXRPNK9X8D82B26ZNWJA1W1B9UCQRLUKST0NE2HOL220ORYNKM5PIU2LR4C91AR20IOHW2V6CO1X5X4J7F69XN4MZT1L2XPHZTRHLJN0JC8K5Y94Y7P0LJP4V1IV0KKVM2ZSEIJG8SWW0ET7NI7E22GEFNOM1S = 36#ZLQA1P01B2L3ILJG3B4LUY8AQYM845XZ0FKVSMN43U3TI88JQBN1Z5B7MZVFGO5YK8NUD2Z9XCBJ6ZRAZDPZBNDJFR89HJMDG8MQLM6PEIVD7VKW7HKHVHPNN2U0PMK1SU23XX0RIYE136KOS9S6S77J5IQ8TWNS6SBSILZ3WT8CASJ39IRQLJQTUAIQA7K * 36#2DREJHWT7SR6XC72K3I4Y0QWKPM8GS3FA9ZIS08JGTI8BDDHKE. +36#5LFXEW2LL53UH7I6LIDA9Z3OKWT54L9UTN2AR9P4AN2MKRKNHPWTW6UPURP1FBU0S949MO7IC7EBCLUY52WQTHMARU0IJ5K418K = 36#2JJ38MA40AC5QM9G7H771PUMTVFIF33TISTD3A1Z9MX8ZTLDWQ * 36#2789UVAAI1XFQI8FRQYMZ5DJJS00HI5B0LLZFLUBTDHTE0826Y. +36#R2VZWR9ZAZFCQR9WUF2X4VORXIGWX8E8VHQNBHSVQ8X4XMMQFNGTJ5K2M4617QVXGD60M75KREHRWH3PQ07CAARJBZQ5H9RK13I5IKI2SO8VJMKNPZY6WC3O4AVO4RJTKPXZWSD6E0F3ATFUDVHLN0HBUFMJSF2J7FMQKAWJRC2VHF94P4CWILCTTWQVZGGQ2505HNYAOAJEB8QDJ7LQAGI7PVV59LLWJRD443DT0V9Y225PC9IB86RQS24STKRBXDTIP1905ZD0C2DSNHSBUIIVQ6 = 36#1XU7A067XUPPUS9P5HCVPQ8JI3AG86IWX8OB92ADB3YKEOQD5U * 36#DYIZQEXQ29P8N9SR7W6OK12VENEIUBTEPIJQBWZBCJGQQLFCCIDZEDX0KC2U8R1IHF984MGE5TD0H6T28CN7ZMLU1NXZUL0RVV5P1H9OG57OBW4A79CRM13J8ZJ7QJDEX7IEBZK1G6RBVBGKO2OKQG65G9IR7RTHLWSHFH19Y0XUD9SP5EBHQ5EBNENBLPJSDYEEX8M3YLIM2PKRUPTIK3F2BOOKE2JNKXV7SO36N. +-36#1AIISQMN2NGRV1S2CRRGZ326ETRKFOHBCX7443HFNH0JRDG2O = -36#1P75EXV6968EY26HBH17RCW9D1DZT3D11ZE5LXRONIX7GAX54EOP06ETA6WDKLA9IJ0M0AU25H3EWHNB5J8F2WB0R66693ZNK0 div 36#1BD4SB0EMKNXQPCQ6F2XFM7BGUMSP9NIJ0RWSUGZJQG28HS0VC. +-36#CQQ0W67NYCY9XECM4OPQ3M22B3SLSC6YIE70EC0V4KH0GUNLV0EPTMSDIZTOXXUAY2L5X7VYFG19XNHTRHMCZ9GTAOFU3HNVL6RHP8NQLU8XVGA6JOZDHTFWK0HK76IAG3ZR2GS7J5QYWPPBW2UHMI6FGV8QY3IECQ2TH05G6NX9NF29XQZ51 = -36#1AX5WT6NNHPX1D33IQ5DF1C8O6AQRHH8PEYLPBN0TG9O4NYAB0HG6D1PU4996G34B43Y9JY66D58RSCOCNU8ENCTSEZUD5ZPZ9JG1AKHQ6Y6YCYGKKK46KL8VI3O14U00XVZQMF094SX5XFJCM32URWCZZ2B7HTRG5M02GCLJ5P1DX5Q18WO47PC8A8EKL7YK96WLKD58M6OFHGM2KDAYLKETDKA4UJ8YJ3KELL5F830XLXGVWMQ8RW033TTFZBA2HAZRDFEXP87K1RYRFXSLYVDG9T2J6KESSPP2OGVR6LTUSC2SRVYY055F066V2UMXZQ14G0V2VFSBFHA5L1U61AYPBV74MS27M10YFF8CWA5R6HFQQR2LVRFQXRFOAYESY85ARXH6ZJCQ0VOK4A2AYCBYEDNTPOT0NK1LUQTLWZ03GRW0YRA59S3L58JU66TBNP09LWPB44IFIA3OD1JE7YD5YNEP52MX8VB3AAH7MTZ1J9NZ11ZJZLHQARXUSWOA0UVQUM5SZUXUW3C9JAMOT81IGYHIK9GPS6JY6UNF0IIS7ZCCRV5H3TTESUODE2CPWGVEWG36FUN8O34C3587E72PBJTXRCQOQ8WFOADUHXUCD00TVKBXAMRWMKSOD2TTUDA8O3M135JYMT8L7ILNSQZX5BSGV9NWQ7XLYEYKQMZX1YL3US1L div 36#3OKAABHYUWEMP6NKPYSQ26PEI6XNTB9VATQZQM9C9ERXL8M4I0Q6FGSSNPS1ZE6QUD2LVDZN74TAS07FD35D8H8U47JMODVOE7ZEGPTTFYRP2VPE8PVCW7VY7JQDPJG8ZG261HWSKMV8TKUU19COATA77X9WM2C0IX35ZEODE7C9D1H2YV4P6J47U9LGUOUJMSH6FSHI8OUE5MA4UI0W23OINPOLK4P4EI8Y364T5SJ3ZE450P4D001N7MQ01T0CZBFRVZYDYA2AK1M5GHLY53FV6J6XKZPQS95TP7SLP6M1FJP78NRK5OMHQZ04BDUY70Q60KBW58PWBZN924LS2N57YGHQ49ZKP1FQXXDXUYKR4EDSKV1MLQ2NYM6Z2DYHD8LYQK4AS3BR770EUEPT3RQRJ92GFCUI0QHMJDODUND4CWHAUIKF1MIQXEU705VGNPJF6TF5KMMZD2U5QJV5H8LUAEXZBMTPXE0GU7YO2VOX5F9HPJPA3D7ZL0I4LQ4L. +-36#37R4A9P8GVE7H4XAK7ETMT6XZXMPROUN7E400W9KTBSX173FT7BFYTWAOE2RM6DO259KU4GINCQ45QC0J2CYU2XZWQENK9Y3SQ6XGLDMDI7YJGU2FJTP70UAB81NWNF5QMI8GY7W650FKRYU0L8488FTIGSZW645HQG8XNR2KM4LHMLX6Q4B2CZKIOK7E6Y8OV432GZ4XTLZ89LOPMV2JTIC19Q2M998TM14JDAPWU2MZI9IRI4958YY1PM6IJRGVDLKUUQ03ZWL0TYAKGUH6A6ZNAGK9BD7I8GXXOM2CMH6USU3BJ4BMJPLX9CA6DL0ZB1JZFKKPYTGJAPP1CIFBDWBO7HFK4FYELPXDL9PIVW8709UYIOYTEG0B4Y20ZINUFL6TTZBZY1I0AQ8CR766S1RR58ZEC8SODCYLSFKTWTHV953IZK6GD56EGJY9XJREI5IOMJUK2LSHED7E4Y9G7R4QQL5T2PZ5LYFGPZC6YPABVEHZK3WY78LDHZ5FR0LLYH1HBB5BLNHCH9JPWOPDPVYA4QLO3ZFEOS9MBVTQFLZ8RB4J45IECXZKIF5WD8CNNV0O57Z86MFWQL4Y4MMA5QSLE3E898LN7JCPWGMIWCOSRK6ZII31RODV0QLY3H0H4GA532M5KR3KY933QIWONR8RXXVAPQX020C0NTPE57V9M7P9XAA8XQCRH49XQ6CTRXIRUMRGG9RX6FO7YRKXCF8O1CU3TQWOBRFO6Q3H5Z4CMBEDOPEEJ4NYUV29EVKS0X9T0SP5KANV0FHNTPJEX88WLQGE86S3OGM6ERDA7J8MGTDQK8I9Y4Q2T80IQFM9G6KG1GSRSVCQ52FI40I7A6ZIHJNK5JJKF758QQ7JG8Y5Z7RPZLNM7MBGUYX1SSE2020IQHPMRWIUIFCWJGPID9AYMG331145NPAATQHF3ZDHG9ROIBGUDCN55RA8E5CJSD3BKPQVD70HCKVNH4BEMP8YFNIW6OILXJWYPFQXP9HBP6OURFW = 36#1IVP77YMBMU9F9HQ9CFN1C7XZVIFVYXVIOSJ4W6H3HPVH61C3L1JGBVYDIE3IM3QDHU12ESW88SUX3KJY0YW4HFMBKUXBHH5OP4TNN5L09IP13F2S51BOU7IU78KJ24V9N2WWE2ZEMWNSROHKIH5WDYNS7M2FV2BJLPXW221AN48MN5Q7SIBDO9C5TDBU7ACUJM6VMZ1DQ1F53R6SXKJF6J816VPNOA03GYD8FPYBMGHAKM3LEDJ25389VW4V5PPU683AJT1ZJCGBB2L45DP77288WAI0LDIAZC9NPK4II133J6XAYE * (-36#23XI6QN11J76YPOF18Z848PQ0EAUC5UKFZNQ4TL7TUDNLKXFN41OMFUQ1SNUWPY6406PPR1YJR8LK4LKBHVXH0J0HOPJ093KV75NURMKFYMTLLM9XQ7XN254VHV7N8BUC8TH1WUUPZIJW30X9DI6PP70B9MNVHI8OYWXD29OAMD8HX0K31VP719QG27FVK544CXMKXEOIGGAMPMZW79HUZN71U0VPBRLC1Y2OV2ZDQGUI8L4RBRUJXX1OUNIMF9I6RQ3F05F7X9C6D88KR9Q8K9CZ3V30MQWM3JUJLDA8T0N4V7150QEB0AOU4ATI8HKS87B4CXI60R9FZZXDN115N3R88ZU3WHN13P0KWZCL7YE2S4HHZI1QHDKT7PI2P3YS3YJREXW8QK0QEG5PDQZX8JPT0MSFXAHDO0UQKFH92IKCBDXZT9A7QOBR62UIN85QT5W2HA5CEJQRZNG92KBCPPOX426UY59T8GKNN24A12O67V47SYPCZ2BXYOZFJHW9DGPVOTI3006WXDT7L0XC2OA01FKN5JD9PVLOFHETOX49QGFOWYZWLWPJH38EQA9150UUCZNUZI24F2F9GPG9BHLWUOF14JOSV7SRSH78K04PEKGWDRNCIQZCZYNHUCW9I1LONWR6XWXDHFYNJTUE2MO0CUMZTAYUZZ4UQLHWW7MGLVO36HZ38VL6FWP46RLAA). +-36#5AZ8TM97B8NK5M3S2OM40V9DHNQXUTQAYO9VZR9Z2YF4O64B2ZT5YT2SJDHW38VMRYT7VKQRTZ0HSM9Q562HG18XORC1G3A1OB5K3V7LGQWB26U6AJYY9J6K2EAOLOBKF6SIHRKIIGKHGGR2MICZGVADM9XXZJ54FNIN5UVGQ4GY1AB5VY9IG68C4XPVLV6V7C88HVYL9KBKNTTOAV4SIO24ARCBJE88WQSBBGWCLQO8E7L5PEA2KR9OMTW27S8C2P0K99WQ357BAA0PRGINYO1WSBS32M80L5C7Y3YUNQRDD256RP2R8ND51WLSIYQ83U6NE8M7I4WO8NBHNV7TFOF4G5XB1DB6UJL2SHVO2K6A9BTUPEIHG1VHOXNVG1OPQKKK9UOFJ13HY23D96WT06M08L1ZGSCETFZDCKDFULLGLSMF499ZB4L81D6RN3M94MZ0NPYNAPCOTWZYXVBXSZ40WJEKXEISA874U610PMU853FESYDLKVQFVXQO8FMUNQ1EPLBFQBERQFEX3YDAMIURLXS0WLOQNW745ENF05I7J6SAJMHCDR861DV9ULPWGU0BGI2UL2VE7LD9TBO28VC = 36#6LOR30YTCOQWEQKHKLS6IRA2JXM713MB8K9AEX9G5BO6KG0C5MU9ADM21VQOB5OAV7HCV7MPQKF3D2AIFUNP69R17T2MX5O1ORUCSA2I8Y9OY5C4SOA13R54IL98XO6SOIQOWUBXD5A28Z95NEKH6WU6IQ1YU0D6HU2Z6L2RY0T0SM00ALUOR2RQSVFC6NCPOQHOKF0V0AFOQ2BEII4LUYJGUGF8Q10AQZ7SVZE8YL3NDYCCPC6FMO6D9WIWT1OQG21C3WL9MA5SZ7NF6CJSTCOTIJLVPS0BRSHI3PJXDQH2RJVNOK567VGQGEIKDPBNGS8O7CEB4DFYIDFEM4J0E36A7P2KHRSTLM41EEUPPHHFBOS2MIT3DI93312WFBJ4XZ6F87VKMDYQ5TIES3JT2KBOD1G9WFNSR28B4XOL2NIFN12NP7QBHL780RIEFB4CNMSFEO9R8OTR4G42THDDTQC4CC9VMBX42Y3DA5J59XQSCG7QRQWGFEL8M977XF7KJ4KHW6UFMI18PPY2W4J7V8TX3RZ10G47FWUK8OSC57APUJSDQJJ56UDUUEEOO10HFTKRSBUZUSCRXYYFRE6X1CL88OBWY57CJNFOQ38XQKKSDI81222ZCDYBICX62SJAMPKGK49OSTXPPYL7A5C div -36#18SYUNY0B2T1T8MZBQQ48Z5FPHK07XNGFPR71MV3YEZMFXGA3DPYOEITPCV84. +36#VKKWX26R142D5JFX0APVHPPZ4XDBB03SEW95LV8R9NYM8HGMQF05Y0WU6NO3Z7VO97MAYERLGUKP5ZP0E8SJUFFLP0I5151I67CIR4CVII3FQHW8UPPAOVI5REUPCJGHYYPPCKZ5VC2GPD6L1XMHGGBT9QAJB7PWZSKWZGMX3D0HLG23JEOQSQ34CS21QH9OFYUTY7CYYRLNFA5FCP0NBXWHNF6AGBL7ORJUIN00B0Y4J63FS777HFLXP1YPIYPQ95D51PD1G8CVEKT48UQEPH9LWQQXYKTN1ZTIG9KW7W568BRSUB7VZYL684YCW0QH1YVQYPNZW6ZCRCNU0ZYRFL9N6MCV239LG0KJFUJMHKPCIQ4TQ71RLSXOYCP7KV3FSX3YB4A7M3B7CR9QMC8292Y28X57I7FQ2HHIHP890P66IJWMAT9NJ3X89OZTEJWWFOWYB5H8M3WPFEN7C3BVFGATRX1FIQ76QE6H6X1NOA0M1OXWL8XTKER7AFNJH18HEMK7LFTGO3QGGBVSIZI7G11YXA3L4PJTDPXIZ15U1EHDYJU16DT0KH4KY5Q0KX8JT78B3811YQLABNSUZNR7F1E9Y34MXVPT7JHAGVDI0VHBD5ERQCI8K8ZS7HHF4OPQX8CIIO91X4M89BI89WJF1N9PCVESMZ6DW245WWWTAPGEC8706J98FLYDLD8RR8A1VG85723ZJS9OWQBOOFPW07OGE1BSDOIUORHH83G8RWRJAYIR826S9Q6N4DEA2PGPTX68Y89JMCWXY3EMW6G4YTINAOU9T3UXY = -36#17V60K9XTKECEHYBLFRPC4RYRX9PL9WLTXMVPZQ7XDOHCOLM7X7WXEXGG47OC1XAGUBR44NOUIPYHZI2PF052STVR7LILX8NJL3JPTG6NF2K461OV2B2HM6HEN0ERCPVRQN67KG8M99YM6LX4HJFVLHYU5TNBPZP6X4K9O6YWZUSUM6APJJFGMA8HI0251YCNARKSHG4TG0XZXRZX2SW149O1WMICJ72VTQA0S7F0K3J61KUQ1E48MHVXW9BEZ6UZPNUBJQTFCFTT0ND9EKNOCMKR8AQWNECFVVFFKS6BXQLL157QCQUYY5MBSWPTDLU4JNB5T6EJ2LV1ONN43SN6A5Y4O5T4P604MSDNM944O9H0TF6SV264348LQS3Y355Q5NWORTAHRBH7067N7V9A3JESBI5BP7B2VX3YILIX85MFCC08QIQCHDREALX0BVPEWHQB60GHOFD4LJNMGB4T2KQBXQOT04BU4C3WD8G68ZFOEKE6JZNW808NBLD7M9DJ24W3W0I7SO65FVFD6HOM7B624DL8DW71B7IMM7RNIHKSCML7VBO6FRXP6ZP0A0TMGFJVBFNMUQS1CC2E5ID5Z13S7ECQDW81GSHCOGYD5US948P5VPXPOLNXFNENMDTM8Y3RIAUUWCAUOK5EELFYE8Q2OVW0IB1UZN2NVR0R7ODWDR7D2M3ETJN164QDBFTB6388F22RHYNEMCKXHWEYT3PJZVVQJHY96BHC5RO8KY8QUPZWEQDJIRS1H0ZYF97ITCFT12TNY6MI7V7GGNT2FAZMWORCDZCEZRTV28RDYMZ4V6I4RXJL8QEAWK3HE0Z74HHVLBLXFLFP9675BS div -36#1E0NWPVWUVEURAELJ2STFOGJDTK0FX03BYWW03CVQZVAM14X84. +-36#2GE8GT627ZQCNCE8JO4CAAFQOGRNLYGI35V3T4XT0RMZ41SRR6FSDG0NCZB0ZKQY1W8KZYTD0D7U2L9AIGISQ0B7EG8YT0H6XKI3VLW0Z6XGQ8MQBRO8S4TMON6DFUPMPEF82JMG0N5EGL1WN6M5FVTXY0OQ2CK5CC8MYOMGS7D9TOIVDMUR4IEKFKED1EZ3VVPAPOKM35DL7Q510XJJ2OFG4Z2EX4EVWNALRTGUG1GTI3BNLWAODH8IFMJTQJH8DVTXVNJ2C12MMC47XG418CUSUE56LVJPVEGB0MJPBPTAVL86LTSILM5BPXH9U3R5D4DWS8JMOR0JS442BAPWWO5ECSYD5SV2S9TM7YN5YEF8HFKUSKGG9KVOP09OQ08N = -36#24O16B1BKSS5LE0GTYQB17WKEU3A18CD297WQ52UJBYVFK3TR1 * 36#15I8Z2QDBK2T5GZ50J3Q2F8OWG9QC270VS4PTXAGLYQU2EDHYNU62GTN4779UEWBE0FDJ933W0TQS2525PXXPR56TXRY2IUZZVAFP42DK2GPW63LT6GF8G32YDMR25FMS3C9SA7HFMFPYG3G0PKKIENYOF6WB0RWQ80G7LJ5HLFURSNLWCN1WKO8FLFY3C6DIAXTCZMXXMSADOAKE0PY49SWCKSTXLV9G0XSG3GZ2RGIAZVF6RUOO4ZCK48YXV3OINQCYL45PF2ODGTH9N8Q6RZQZMN5VSL9ACCD1I5A6MWMHMZGJB4AWIGWEHDXZSL81BGOCMHTS84UQZN. +-36#1SNFF1TSG35UMEDN8JNBYC0E117RMBZY7DUTTCNMUIZGPFL9U0 = -36#OL0H2CXNZ3G04GZSWF2AYVQ0Q2R7L5YXEAAEDIJGGLXAQEE4UG9JYLSTGI4Y3LE0DW879KQUKKU46RR64YMMAW5D8DYSFXVQ60 div 36#DOT45XC4FPI30NK3TVYITI99U91PNBANV2L6A4SYM4BCFCP5Z. +36#JVTUH4BM24UF41EMS02YROOQYND8JVDE5Y6NERMD1CD7KVI9C4W1KZ3NAMHF81KBXM1J9GELC29GKFPJ67I3HXHTQ3VRR6RETB9EE1TX4CPZ1A71KEVOVT9 = -36#12JSYFAKT4V18DESUY5W1ZRVMETZL3KJL0G0VZJQ5K6MTDW7JU2KBI660VTQJ7PSNJP4EVFLQBMHQCGTQZ8ARQV957LG714L79Z4GVO9CC6XLVP9H001O75VHRBFLI6MF03SXN3NSFCL2DMMEI241SKTKNQ7LPWLF55YS2BYBWRLSEFTCR40M5GN514UON9Z9BJ8K2N1IGTC5P2GKX2IIA4Q6169NMAV316256I2MPQNEVJDT39SNZSJLCMDLJ2WQGWE3FI9VRU2WCBZ0SN93MIQVTTDDYTYDPEOW6EK8NQ176ZY3RNEQAM1FQ1D0700 div -36#1XSLPRMTC345X6VAMZWYKB7VWEEIF08GMYS6VK2X6JXLE5W8UOHWV4Z6789Y4CPLE94E8Y4MO2ET16N3WRNS8I9TLUJ34MR170I9I58UG8CM0JMM03H96Y8AAPDSJEU7W47DBMTO21DZTRU4CA6HOK0WW6IVR7Z9W6MK3UMSZBFJSKGUNUEJUALNDJXRDG9G6SPBU94Q8. +-36#806EO607M1R3CA1MDLHZ8VW4RTUJ7SMJLGEWGF8D5LNQLAS2NRC8KUATA3PXWD8VVOA5ZL3UFD9JOYKES55CZ3Q9JGNS0J9T0EXKC53NGSZVUQT8OQ9SBSQ2RV05Z5LE9XDR0VDAPHX70YN6NI3WIC10A65X1HTQIUI4NDRICZTMP0QGDHRV4L5CBS99IAOBW77UV1SQT8D8SS787FPTGS418ZG7533CAXT9I4I99FWNNFDKICTFD8STB8EZJRIIQQG7J1XT27HP29EWR08TD7Z8XQ7WAUYH4UB0LXC4Z1E4HGD0BJGLTG1H6250RBNC1CX42CNIVVWM6DP7RXMNUNTM5IZYG30YSMLJZ3LJCET7DTRFYBAWA85WA0PIS4XQLLV7CMBTSIQ0ZUIBPE89Y96445HAVDJPA4GHEFYCOQV0LDAHD6UVKGIZDTB2RGVPD6WZD0UO79Q8DRJONQRI1K92HSC9MOTQ13YN2EBGO9N26M95J9OWHMH48QFU0D3U48TKYEH6E4SS2SU0RCCZ9K3UENFRA3SRDT73D436JIYYT6225ZBQ6WY21F4BOIJQVGJS3VVYLVBCFB5LEDKST0VVXIKPTGB9LB5KM7DG9GDXU1AEN1FYE3S6FNTXK98FSXK30V7XE0L10F7M8AUAH2UYJCGLEYAH2CRG9YP21HMAHT1QYODAQVDFS3PRPZ6VVMY8DAN4R394XS359ITYZ1CXB42L7IV8GGFIGO5HUNTPD1TZ5B6K3LSI2Q668UD4RACRQBHRGVGY7AXCZC4AJQD0D1V3I2DP9JE599QCZC9UHBDBSR82R1Z9E7XMVK5CVCX1560DW5EL2LGSSVJRSKUKGRPP907LVDJMCV0BBY5JJ2K4H3XOLMPWTXJG3DVO1ZB1H93TCO3F0I6OB1J2RF5V6VLGGO9ZEVTXKNCYX0WGJ9728HH5L7Y851HI2693SOC15C8QW43WBP5FCW2GIRDUCL9HT1KT1OJ2CK731MGUHWOW65I1HU1LGW0XYSEZ9QZBX05P4MWBPKQ34LNSFXGH98ERP59V2Q442W30Y0EBODSJYN2OSRWKE = 36#3GX4SK29JQGQXD7VLSUHIGD8PBP3FI3MN1BELULT4AH7IKIOP4VIA4EGBGRDV5PBSIEQSFB3903DD48RWOR0S16A5I6R4O5SI81H28RWC0JHUTG67GKXO7K7HEWVK12K5TQI62CGIG7KK79CWKX292A39Y7OTLY6NAD6W9N8FO3BZQNZUIA9WCHTOPHJ4S3UIWA464ASYV8LDU334RAJ5RD19SV7OFGHVH7RRFGKZFHN6SK6FFFV71G8M1NCYMIYT6LRXDTIS86178OY7OPAI3RWRBZ7LAGDY8FI1ZWMU0JVOOMW2R3P3I5PWIK2KC51FW8OFGRP6HJ6NSGWZO5TG7NPVQERCU4WI05UW4CDONKB4F7TH9GG1JTRA67OZP54AGNKC73E7GTVBK2ARRD5YT8Z8AVPGVDNDFIGO7TP3RZ7YUTXCD4JOKETOOQHRWYBAVBGT5GMYXQ7TZDXGQRRT3E1NRL3R92BDZNL0WL65BHJG66K9BJSOGNBLCZK5BVHZP6KJ6M3RLPV4ZCRDLY0UHSYK4JRVPK8OU5AU0GEVCXKBT9N6AX76J5P84FFNPEIS2VE9MANN9FPPQR5M2CUOLI3T0V0Q91LJXYHVHVHFTN2MJJ4D12G47I66UX9R35QPFH29U46MQBZFDKZ19TGA9FIY09ZJURBHKKRBRI0YTY47QZGTZLQIK0OO5LTYM6T5D791C47B0D9TGWJKEPPNUXCY6E11NDQ281OE0XAWOTRIIWFT4FPVNOSQPHYUE51SV8YDQFKOI353NJMKCNEYBLP4GTFP2W66ID984Y1TS01BNYMW02H12M1YPW81ITJGHPTJ9O64VXQBXLWT9VZFF9SVEHGP7OQBZF644GO1J03YZSFK2GFZOTBOKAI8GS7J477SPOOG0W5INY2WO219ZLUH4J5RV4ZHOIOZRAHTZLPHCSKDRYIB8YDB6PIW9IW2XLQ3GT4WX0SPMHEZ4UN2WULDA3OMR40608NF44B3M2GBHKBKIXK0W10FFKVH78FZWWDBZSN * (-36#2B1QFCL9AA9BXESE2NMZ9ONVR4MJI51G5UZU8WWCEO0HEW02QA). +-36#2AGR6H7MHHLWIHL88UOISDQ1W5X5RPJ9E9WPL5IC0X5QD9SOXX = 36#461ZWI74Q4MXAUY12SFWSV1J6W4FWJ5ANMOOQL5AZX3DM7NJ8EE5F5KMANCKB8JD0K4PPKAX3V4EHOFA2PWV8MTN8QCV7TMXK05D44OMKHWGPUHM7ZAK9ZX8NXULJBPUKFENBL3KBNB9H1C1BX352E5TI6AHSRGELTCESP2J27LTE7EMPRWCC4QSWHZ2K5NEU8U9LAWPA2MF25NCJ19A0WYQRPVH2UENVCJCJ2ZXPSZ6VWSQXW6FBCPA1ZBA2C0JO1CAQSG3ZRLLGAAVFUSHXZ4X9WELO1HZA6TR5QD2FQQ169AA8VPMEHGW4ASMJKXGO8WIKWJGO1YO46AZNHYL1QOVWZRHOF570FOIFB1B9DAEKI3YTAFFUWMY7684K5SRQM09H61Q89EAU12E6SR04Q7BFIXW1ARKN1IK33VA4LBGJM76JSU0IJ6YU5EYAKDBX39WLHGT7S3NBUSDKSV7D25L8IXZDRSXGJBAV6 div -36#1TI81YNGK65PRQKJD1BMXLVZ6GGJ49DKVV7GXD5H2ZI0QBD03DYEDS6QJ49G1DLFHAEP5GQ9TBOPOQWOQUU7E2ZIKWD88G8A47KTRLO44GKDQZ9ZUQ90QIL17ICAKAZPIUW929T2D7R8MFSXWHWE8SDESZR9G0Z0ESTH7JGO34LAF8CG85L4UKIGLQVW5QPI868MLUBRFN1TSR5ZACB24FMPKG0P5GQBZV9KEUJKX7CFAOWBS6MIIABIH36WQHB46LG71P3FI9U7870LTE9Z9SX9B37NVDLVE25L92HRK6IPN7BCJYRDOH2TA15X2TQK5JWPSGSFTHFPWL95CNIMXBZFGCMGPO8JOX2FSG9CBCWOKI37ZLZIX9KXSBSF3PUW01X1D1JTS36VOA4QVYIIMO1PT7ZC7R4KGBDXI0P01CKFZMPS77LQY. +-36#BHBJW8IE6FKNJKKDQ0G3VPE9BTZW0AUXMVDANNRZRAQDI620FYN5OGWCQSULGQTT1METGA6CAPJ3NTTMEDLF1IRY9FUL9N0LTT2420E8GNWRRXJ7M2XNXF2BRIOLOS645W6XB2BPXPP9ASD2OIHTXOHTPTPQQ0V4PAG4P0LY9L2TPVZHPO2EAHMCDUWMKE2W6VEAFZC57EKJK41J3CL1BTCAWXZOC59SPSZJLIJFZKQT8TPU2EY837F24KH0O1XKMCZGG8RBD4LL6V1W6IH3QQQ7KFHHZF8RENZBZ3M3XOOZBK236JM6ZCUOYQ5R57C1EP13MIICYN4YDB52969DVEEH34OS4FF4QTSMYJZAO5UM94459YUDSZGSI1G4QB0NA015GW5VTLW3WYA4ERW4OBOACTWTOBLVGBAVUHI1ZVUSCEIFS4V0FXA0ABYCALEWMA3A0HVU3YY5KZWH00G47JYQJKFQ96XF4NTAXB8ZCMBAI2G0ZEBQ5YO720YWFW0ML4BV23ARPMOAH3C1LJ8N1NW8IXI5BFZCY2XWXPH9Z9JHLJ9F54U9OI7JJWAJ6I5EVV70602JM74MBC97GBAV7ZC6O2PC0VZMTIVO0I8Q4HQPHSJY6AMCWRTJP5SRYNDVGAAT97LTN4JSQJ9248QOW2MRMEFPKM45W2NAQS8N6A9FT983IWV2YLTDO7STDQPLSYSU2ZEI57A56RIXXH93QZD4SL0XOOY5JJUHTZ2UYLKOBNOEVYVVPMOD3UPYSUVNSBK3VB6OSJYLHA3FPC20MT57E2MHF1NWC5YKO8O94TJDMP73E0GT9WK7UW58SJKR7KYJZ8Z32BEIEHJISTFTTFGW51YCCPUL78HCBURD94TFLVX96OESOH7B25RPH1KW913OKQPNDJN08O11GO1Y896DRXO4UBCZNY6QWPL2FW6EFKVTQRKQI7W2L2HR5F5N0A4NSNFSTL67WNF1ZRQMPG804MB4FZ1K2NJHUQM8MF3C9RIT9971HQVRA53IJXHA2HA49PVPBUXMZYZ00YI4H225QTHP5F6GIAE8X3W0CADIOK1U7GRURBS4X9FBRR1EV7KHAJGRUF29EKXVY46UY7OLDJJ0KAUQD875RUQX17E0BU6FPJN8ZCXGK13B8V84HMV974V1XV2XNGRHJVQ6JFQ999NSODMJ2OS7U0VVTAH9I7ZUQTROR0LYRBXSA0TSN86KCHOA50NO72WX14U29YXTVP0GA = -36#HUHI1TCJEZEMKN40LY665B83U5N4M0N69AGABZ74I054CWP0Q * 36#N5QHZD8YYV2S7Y3UXBSLI3KJHAL9AR7IQ4NCWCAFGIBWW0RXR32X44LE2SL1O21QJ9ZBFFZEIK7KB1Y1P5GVR2HD7HSU7REG4EQ92ETQWRAKA6B8ULCGJYATY5P87RB1A7AI31P0NUYXGB2SKUOIHD0JLT8UKENFJZQSGBGRKNN414SPY4XE9J334ZO8EVGUGBBVXX9X0WC3H1UJFFW1W7H9P22AO8DKMNX6ST0YCVZNZNSKI5X7QF4GS10BKNP1KT26QKHKHCDRHVFKRM6CYABJOXWODY10LE2YP2OFKSDIJ78YSK82P6ZQR8ZOWK0XLTXYNRI7CTWLXAW9DBBEFWUEVC5HDX7N2DUKSTKPFI2P91FAG13H1ZBNYKX0XLA2WD4E5TSWFTW4AZD9OO8XTP32TYYUBF77VJRX3JXXLDMBC8I3WLYC8Q1HARLW5N27975R3C1CFYGLO1W88RIFEVRHMXP6NI32QCT3UEBOYZ1MDN0SF8JDMANETCZI0ITZ0BWBI9OGZKNGC0YS47WNPUA0CXKC5DLIYQ0PNXYIEFNFIJ91ALEWJE3OIPXS663RH4M09ERZYKKOB0HBRSWU4W3S44JR12Q0CD6E896VMRMDTU7GKN5ZYPOG1VOS3AQFWJGUYRV8DIGNTMRLISXA0S31GJLP3S9CC9NWGWW4OTRC2HDH3PZLGF2GVMLKKO8HNUXBN1O1N19IGSJ3FCIMYQVV4MD5YJYTE9WXQHDBL3EEYA6319L61HZNCNZ6NCG1KNIYDSFBKT1LCSIF7SEXC6T2P30AOS6COTFT7CH6X3UYLNRWQC5Z05HANTZUZT4N2HXZLVV5H46DO9R605Z2R0ICOQX2A0AFDEMO0PPDKGHQ3FJWNB90RWY77EWGCX01RP5SBTYBRM9Y3LCQKICWM9X34X9V4VDIFWNYUAGQRGLSBMGGYFPJNWEZD09OP4XG38UDNKFHH9F3X5VHDGTQ3BU4RXGAZH3YHF1IQSBVWOHTDUQGI21RF0E0K2IM7IZHD7QE81CVZW9I17LX99XF2BRHC980PIDZ1GGL8B342RL3EPGN73OBDB8DNF8489RUR6LZ24C617OF00PNH9FZL38UTOV7FJMUPIWL09F89ORXBS7CV5RQV9J2S2QCQ09IY0YAPBHRAEF0WH5PSC8Q66K2ARU95JM8JOQR2OHNOYWH. +-36#1KMAZIOF5QDSF8BP1B0Q4ZQCDR9CJKZWJ2IUW9MO4QEYB0G3T0 = 36#ZIGLEWBS9JWH0OSTLMAHI1Y599VD8A16AXH9K2JQN2DXC0BOBGZJZW467JGT23FYGINOSBTT3H3V3SS85Z45DKYS41DFOKK6F0 div -36#MKVGS7RGUZV5LMQEMG35V8F4VPBUVNJY41YCKD34MI3BZSAB3. +-36#2SCOO154SQB0MTR4CIYXFXWXULVWKZPWHE2QW0IHHIWOJMED65 = 36#7MHK9RJQ2KGKEX5C3O5N27WI5GKQQA6P5LHP2CMYGE5R4KJRC51H6T8F9VQEWT661BLRECK09EEOW45S0CH8B1NXNEVMYQNV3BK div -36#2QGVDSOB9TL50KPVHCJ421DWG9P9IDPAJE7OH7UYOMJXUIQAJ4. +36#38LOR2QXOS6742AR23EQB5AY0DGT9HHCPN8TSQ81BZDUUZLTCXI5JZD7JN5Q420TLVVAZ7BACBQTL9PCZO4PD3PK4KC3L7UXMWJXPWN9ARVX2323QWTDYDY60E80LFVFURVMA3J4TZMHAJDVEKIPE2DRF1G0N9HP658FRQROMANSR4PGJDPGE4SMQC8K15ZW34XJIFF92DRBO0HV748AIXCFA5N7SFYT6F7V7O5Y28GK1DZFMCWRLUYMR0L2L9SJDH9Q8RB5LYYC2PUJQ25VFYROVO4V2QQQKCZ43819DU4P3XBOC1OW09JWOC851GGDM1O0DZUXGFS3337G3UVUJF1JURG7YOCNRFMGWGOPZGUN3NLANXI0A7KB582QQ33RUJOTS3951M9FW04J8TQE70PN1UCP2NGU73KZA62BTC8RWYXKSLIGU7S27KZXQM6R5ZV4WA8Z09HN2JB9401FTOWABCZOFDRNW24HNL9JPOT4BW89D8R1PY0CBNPW8DUREXF4IO6B8V9Y13K135UYEUEEY3JHD85BW0S6H2SV83RK66TUG2IENHVXP0U7DAAY4XUWOVYAOBN6TOYCF4UKA45OH3525DVXFTT85SK7YHBM1TDYE4K129F75WTG3VTTA9OOAGQYQXZMEGGB61N5V9GB8A5NKYQ5I5N13FTSME1VQ1T7KO8F8X15PF3E76DK9YMP5D4090RZNPJ6MPE01OFMBD81I952LEBOZPPYM6FU5CZOQJ6EUGKUDUO5WHJL5S04Z4PUV3A9TAXSJOVX4O23P9DNKY81M4Q43UJZ607LF1777O4VBFGPPMBOCP38O69ZWS2G8OJEFUF1SH7AVK29ESA7QG414ADHJLGJPN62YSKO7KUO90KAOO3XXQIPT4DOZILEGMVJHH10Y236ZW8WEQDV9L17RFFO9MJ12FN3RAJVCYHFKA1PMDJNDV3K59OXL78S8THE8PD8QFJ0VY4GWBWMGSER80E48VHTD6XL6YYUQWY9MC9T8DYP2IO7HBEAUIKJES3OVL3XN0O459TXTOLQLESCCSO7CMS45K9C5KSA0KJ7Z915O2X74ZTFFM3BN3Q1T1BZ2TJSQ2YNY9I7Y3PUYA0R2TTT3GRMA57H1IVG583DDSNGQO6T4802GQ9GYKO4UR8R2LWK4O = -36#BBDULURCW5H5B2WVT4MBPFH7DYRN9A44I4FTVPJKGO8PSGL00J7R0RZ2OYFXA1PU1299MM1RF36PZJNECC6TNK068WA6EKF9C9AZLUE2442VHT4222R0MSBQAEC1O8NU5FJC9DXKM4HFFF48QG0TZH0SV3AZ0RXU4V405OBRWROW1DN9C93EB5ZQL99KOTFAZUP5OL8UVURD6V14PLJRECQY3CHSP7XNBA6M6HNI11L3UKS4AMU1EB8IMZT5J9A8CK657GM3AOU1HA6DEUHP8VIO6XEZUPZ843GFW5WTVJ7N7JUYMSKS8VW2OKXPPCHDHLIPKO0Z3JSHOKLQSOUP2MD1BXG30N649FZSI60VPYPWIMX8FZ8NX7UCNN62BWGB8G4ICRD8HWTGLWX05G7GOBWBOHSUHGYSSHFHDD4EXQ5ABO5S1MEVUZ9C2OQ7B2O2YBOTD3WTFOYHFWD74JF60ZRCHMKJZ6AKBCX6LO * (-36#AAXYVZLTAJKSYMXOI0Z805K0MIZN7UD47L3AFJNSUWN344U7HJ37Z46443HIB7SUXHQ8W3ZUYED6MTC18C0E4UCBW0SZDNPUJG4T9U0M8IP7W3PZKBMNIA4S0UUQ447X18WJ7J5VPQ53AALM2JTBO7B61J8UHWYLXM96E6T2FRU3LPHRCYFJ7OSVH4CS79K8OBIX5URI3TGMMG3NM33C1971MQ83NMGINTFGL2GA8KAG41YNBCNYUOZBJ58YRVXGL0TM0WJ390YUJ2QG7AX7ILF60LSPQ6QQVE4N5TWR5TBV8EE1S3RRAHAKGR92CDE1CB52EUGBI40HZDNE0DS1K0GTJA0QXYU1XZRXVIQ29OBIRGY5GJCI56MO5KFOOY781RNF6VEV5GSOC5PV7EKNIJ5UMS29140ZAR2YGF3KZAQANDB65EI5MECSWUB3738IR7H7T6JTJ3C36X8Q51PY5E9O7941CHK4W68L2F1IE85HLIZMG7JNXIWEY5Y3THZ1BQIJ3ENWMQU8T4N6PC3OCH9PA0J8LZGJ238CQW58PRS8ET7T6X8B11FCP2LFLZKARFT0CXAFP0RK8JJ9HFE9EEZVZDSCJP6TQF5PTLB6AQGM2E73MBWPB4E1GECJNSU7GBDQP5VZC9ET33Q52AS6UFILZFHR89LQ92T6RNA877VY). +-36#23GIZA16M5K97NLBCSXG4BVHBA4RGQRI8B4FF43L3JAZR681LVL0THTLXYVVY2V43XCNNK6RBM13TKZPLSLBVD3F6UKHDCVBNU = 36#21ML4SGKQXYXD9OGFZK09QTTD03CUWGTX2YM75BDQRRO4WG8G6 * (-36#10W8OS56DJBAWUHZY5XPKGFZZALQ9HWP95W6X1XTI9LO52E8N). +-36#68KBK83SJ4ALGTDNUQBWZXX9DXM15A8SBMJD6P1L52QYV7GAGQEKENW9RG206LZL98BN87VAG51WKA4PP1WDP2SG4WIPE3OIIK6WA4Z4FDBT25KFOABWFNOT6RHSPXJ7OXJPSTTY00UYAY6MX1AFY76TRO3EOYK08ZS2GGZ1MUT4CI33YVPDFP7OGIHGB80GOIAWEH0RS2K87OHO16CP18IKIPNZ5TAKP5IXKUUQBBB9YJQB7JBSXN4HK4P19T8D8LLYZV9TBSSB4OG2GJ5M1U3BD0XPHLXN06EKDEDCLYWAZM1DX9NULYSTJGR4376GA9S2JKDQSLNNTIBKPZOSC8C7IKZJGX417IP48E1YVM80LHA4ICTVTNA95WBIHP7OAA7UPF0QX8QSZYTRW77UJCI4QBEYMCY9ORYLCXKV1SXZ36P0E6Q4432SNDN7ZAIGT9VRQG2OP9C2TO = 36#1FKRHIH6UXK0HDI627HKO5XQ2QOVZGO8OUSSMIE0HQ8ITK93ZQJWBZ93PQ3EQTSMNCOSL53DNWT1PDO4FK0QWZOTQGRRHGZX1IJOBYPA5LPF6K92QNCBX4FVBA4LCMFVZWR7FES8GJ30CJ0KSTFB0WG8I8I0B5IZPVXHWJMA2IM4DSYF34B64T9PH0D20YI6HSW90PRS2DINSESOA66M6BGKTZCFQE59JE9S72823T01P0G29R4U35YIPMFMH6YZM2VJWMCEM3KXFCRF95UWV2OFTNYFRZVAD8BKUI15LFGNNRSYAF6EC4KS2 * (-36#4CQRJHBITM6LVBNAUP16M37DEXIGVAOKACB85CNXM6UR9UMDA746EL5AGEY7ZLSCA0MUR8JAK1X0HEW52MDSSB5CCMTZ69D0TV692UFTU2L7J3U3IV75A5ERIMW85DKH0TJY6ORY6GOWSTN8CTR9QU). +36#247XFBIOR8YTU6XZN4GOL2RBNMTG8IVYDD6KEEJWUU88CD2MNK4NU7LDYLVIFAPFXKKDDDGOJW1TCZKIJOUZP2R3AQ54RD4YCO3D86U1HR4FU055W2BY9BX1OC6KAVAG8TH5JWSPJ7B94MPG9CCXQQN128M7VLAX2XMO7YCTPPKLMUW9QVQPL4FVAJTSJWWQ3MB2JNB7Z24K8I = -36#11IST2FCNBBT90MUS982R8IGYIJXB0TJC1OR5PCZ514M7YEXWW13CJPJGZAFRXMDZXPDNBXPSFMCWSSACF7LSRLE7VULED8UNRSMBC67SYR8G417K3RLIJ7XAWMS6H4LX57NM27UFXN13RPOD2PX4K2M1KKS3 * (-36#214LZP7XN8YVVAUY401MAT6CWT2RAK2B9D93XOBUIPQV8N61MU). +-36#Y1VEMR6T4ED93MUL95OLH36HIUII29JVRANRG0PHNJI60H2MF = -36#5ZP2HCQ6W0KGONUBJTQ4Y2Y4P5Q9XQFB15C6V9JNYBYBQFHMSSXS192OWXVR8MA50LG2RBJOWGO0G98K8X76XS5CX21TNKIOOLHH2LAGUDEPU7OI58RZ2H0L0PD7BDAHB64DPBDF51X74SXWM4HNOCYZ6Q4OUU0K8BX0L5JSGGC42XJXWT46AIUK5SP8FLCKIE9QFO6KCC80F33113QMGTIJ3N117Z94FL4YMAGNR3OORKBU7Z33XUA9WHM9LO4LV1JRHCYY88OVKOZUIYSWEKHCKTCOZK1YXLF8T83KMSQ4US4JZNYPETSQ95HHS4TZA1J7AYNF06PPGWMI5KANK8QHZMOQ7C032ACLVHRUHZJCYK5TSINXP2ONR2NQKAC2HPMASLZ8HMISCBEJ5CDAG999FH3WQUX7OR1MJQDHR div 36#6C1A2F75QJIEYGLP5M4XB0SBAZZVWQ04RI6415VA0MGH7UURE3IHIZJPQZQDQXGK1GYC1HGMCEA24S1OXBRWAL4WZU824LCMP8AFXRCECX0HFSNYNB578OMRHKRQBAD6YDQA1Y325NRGD0K7R0GQBECOLIEHYJB7AG8MHHZS12VJ9UQDJAOWGM03SK34MZU7NYHOKGS86W40AYWG00DH4Q75Z50MLDZYJPX627M3MWF67GABNDOBJ4L9EKE0MJK5EF71LYKDB0UM9XIRHN5P2RAKT532LB9DEKYM83AAXZY4U7BUZTFTNK6CKSI6BQZ27LV1NFO1NKX5NWGT6QMX7AN039N2XDQDLF3PG3KJ6QCW1MA5Y7RILLDL. +-36#1CPFYH9CF3KY11LRFGXDMSZSYCO9L0Z23V2022SV6A7BT9Y5UM = -36#17V0VZ2O6W8UVSMJAKYQBEMG2RSJPKII8T79SNDBMQ4SZ2OUM6KC9HDWB2JVMYSKYHABDQTLBRR6SN6Q7EGOFEJW1W8PDT113ZSG8SSQXZOWKN1AT1TWXQRWTFH26KFJ2WFBLICH7KI88B74053WF53NQOP7MBWFICWQQBJZ1GZPBOBVFDISC8O9TXEPSSFE div 36#WF315F0RSJVOQRUXPKD95X490BZVUBZYRZC1Y1M0I8XJTC2LXIVXESIV08Y2VHO96U4BPWFGN1O58PVEYNQ4J5G0E53WA0IZAM58N9A33O2RLWCUUJDKQA9VRPPJNZOAXUYXA4TFXR106Z. +-36#D7JXCEIJCNH1TE1QG614WZIJQ1LUDEDH4M8Y50ADOX0TPL5PDW3X776HS1RFE143LCALPZPJCHWNKG0L9B3OVD2HRFWVYTSTSCVOKY58QIRY0NGTA866HWMYUXNL22S9AIPAY7P4R3S2MIJDP8KVEYH5E70YTUN4G557RP0M4V0ZC6M0FSSARZTJRH1JX9Z1M5OQYJCISW9YWL1XBIKINM2IN17L5V38LVCCYVVN1IG0V7D367OEB0NUOB1B9G1ISLV0BP5SJYWEQXAPXE6W6VWTU6TJIY1N57AU73F6KADDWPO8OMX3Z1II2ZUXR4MDK5AAVE9K1I9ODHUD7EUY51J97U2P8B2T42R3T7TMH4LJGMINS803TS3XLVEO4AYRIYGCOYKCNB085DRI2QY2AXDQO9Q9AFFYPWQT4OPI2BQPA4UZCAA9YW4FOEGEB05TPKFFM4KP3FR03NSAYEF7IQZNKCOBJARD4QDEJVGIIW = 36#9SEXVR97I984USXP1M3B7DDVF0ZOF457GG1988U7YEA1A9PMSQFVWQ034XYSU2TO65PQU7WDYYUYUAURDV3OI5JWNE9T05WSMGBBKL3ML0PSK5S1MJM4AODWZZPXRPF7PE93Q895IUHEIISOCNMXZ4FL25U1UQ2CVURRGARGIB4IBYOOH5K7CLR2PQMPDJRTQERYDC8MZBFRQ16XV1KH8HCLRPXJED6OUY3CFI2IVGL9L3LFUR3EU29SQRPH9ZPEPFBXTSSHRMY1OWBG9VJVNSWA9PXU4BL6OH7F3L2HWFZYH80JEL8WGZE1OZY9EG1OBYU73472GH99IGGN96UGGFONDI2VI7XLX9G5J2U4IZUD6J79QK6W6RNINIMM7YW2I3QRU4UDAS7Q59FO37WXL90JJZGITP7LNNCL707071B3VK9ZO6FBVV6I9J5VNJH0WWRT13IKEM2WQSOFA69U0OJ2ABQ5OWKEU5YHASJZJFLMLP2Z7FDJTDHHINLOJDZRNXLFXIHINXH81K0WKE9ZOMEDLBWZWEWWUN99B0VD6RLZ24LK0BMXCRZ6NC6SQ1JK div -36#QOF105LSWLGICU5IH03FVTQMGVCSZ4R0DO63FHCUNI1BH49VJNV0NCUNJ1DL5W6XU8SCQDVJZDP6U0S0QN009M. +36#IK9OU0OV4V7VEQSP4DSYGJEKHYV8G1JFQJ31FVA84730NKN80 = -36#BV1YW5H0RM3LNBXDIR4JYQEN7IX0SM09DDVTAO8X7PA6T381AQBKWXM41NKIM65EF8WPMSIZMHFHODUAXLI8DXK6EPR2VKOCUEZ6MP52C6A4JOFYD6QVVEPIA9AV1HJUB6PUJXWYC8HVD27KVWNS9STNUBHZSNWXMI5ZZ9JPY069IDYSHB0N0IY57664X7IJJ1FN970HEISJZ5V08AIYN8CDAQDE3GD5OXXKFDH94UZWLHVA9CHICVNER8VM6IZO2IRVZWWC9K0F0SD2XIBH1NEO0 div -36#N07BSVYD4DEGZQUXEEDCAID1Y1WWBF9BZICPVG6BZ9IUA86J26ELRS5T93VOXN59NGID51FCR65U99SO2Y4TZR2FCTKV83SSIHDI2NSSEPYRIDLLHPBLBY6R08GQZTV1SJTAXC1W115UOOSOGJ4KRYDXQF2O248WQKX46FASIH7GRKM1TVDO4WHECW33ZCW58XWUQ714SPEITZJJJMVHBO5F8U8SMKN0K3HJDJLC. +36#PK1C8OX9TKFQN33A1AH2YHYRC7B9232YMDF5O65SDRKU65R6YOH26NX012KQAYV0BKTRWCC7SAJ6BCSPNR0A6EAYKDC3KK9M2YP508Q92TO0WAHFXDRT6SMAMSGNAWDIO6JDI7JKN346LTEK417IMEUKCIA61C10BC28V9WBVK3VYNCSOHRS8UXM02F7Y00I0FAHWEGYN8UG5UMJS8ZZ1P8IFT47OQ97ZHDZSIJKU3ICJJDMYBT8V375U9OQ0VAMC6IWOXXZ7N447SY4SXU8JGA5FC0LXHHS4S2W4E9RICFADJODEO1JQ0GLZZQICVEKIDW6P5TR3W82BTZWEKW3KKM1W03YF3RIIDFKOTL7TTFUPUG4OGLSJJ7COMTSN6Q2FICQ6A14ASYURVI5O0IHL0B4KITJ9Q67K6EQGU = -36#3GYLO511HXM0PELDA63U97GNMEGN7X1Y82AAUGQM7BI5PV4WQLLUVX7XYA8IPRTV70G47AA90V2D9951AZG0SGECOTAUAWZBVRREZH883FJYF6T7M0HQX5XIT9P44BZB5ONUNIXGAK85UMN1MEDBLE2XGDMXGJX9ICXWX9SUKIYPRKYLADSCC6RVEN7TPNBHKANKMQNIS7XX4ZL3EOU45WR32EF3VRPF2I8E8CQJOXLDV348YJUWIWFSLGEWTZF89W3Q9H8FSJ8WIQAICRW9S7C2MS1P0WI69UZLH0NICQ4TPSFJ5JSR8TAEHVBYHHHQE3DMA3P0D3PARHG7WU70P7U6PFA2MFAN4CCNI88EBPRWFZMPXG7N6QHN3IXLRRPJNLZL94RHKSNIW3D69UQXZISHOGWSK8RJFB91X6N1HBRNXKQWT19HZMI99NDYMXI2NBC9P25B8H4UO2KZ112QDFI9WIQWVU2PC1N8A1XF0IL2M1FSYJCH2BN38PIG8MHIQQ43V1P9GSFKQCF3NVXPMZ32QGA3D4YKHTV3PLJHGSQUAJDHK4LTZ15MWDZ4QIGG0D7I6SH5YOB6WZ1FTK7XQ6QIYKF8J1JA779JBVBUDG4YNWU41BP0LH9JAXWWAKGSWMSNXJONSAMINTP09E37TXWKC83KGXRBRIM2K77VN3KROZAM4MK6LOMB3GVYZ0H2DQWB9BRCFW2THYVTZBQBNVUN16DQGKW6JXWT9XFF1MYP98S8F5YURDAZHJAW526LJJI3A1QZGZCPKYALY7QRW4ZD6UMTTLP6KHG1Z7VSHVXDZWWFMRMWE5Z8MCFV4QK0ZAOUETF51FSLJ0KKGYNDQ85JVL6MXM06VRIS3C8LMHBLLDIFR3SR6AX7OFS4Q6RX0JHZO9GBZDE7U4JJTQ87TY2D036NO4M0VHVY0KW61OSEOY578HWTVI div -36#4W0WKEDRJ8T6K5R06VIHFUPEJANGD8C475LFD6QVLPXD6TVJK47LZZPTPGJAAHOTBRA9SRXPDU0XKYMPCZ9JF7N28P507YZDCRFXAZ4AW1DM0V4HVTL7ZB5EF2TEDF17IND11H8RYAB3SUBJTXPQENVXEXRMOB4634IXKE31UTLWLU8Z74O2DR7Z3DLWI4IJI4XQIJ3Y48E9XSDCB2FSTWPLPNV7A1132RLOTPUDOWIZ3OA9ZPTRD2QDYSA57FTETSHLFC1CVIDLYIWB2EWEZP3U314J5383PRYMHAU18DPY8SN9I5I0AFZ228EYFQ0TLOVBHCEU1F9CUIC2K7X48LV65J8F2RMI51WA8HA9RP5RPGEMBT6EHT9OFG5SHOKWQ0EW1M9LFXPUQ4Z92WB7VAOKRBXWLDENFGRD0OATEDDZIBAK3D4YQD6MIQHZA35GM09VQST4ZAAQ9Y4EHZ79IBF608HE4CMR6HSRMZQG8K5KT1B5X3QCTIOPHS5KKUKB624EAYBKLNEQU2E9. +36#2KRQNZL0086PUHQEYUQU8CUBOKL4OHABLTC8LKOSQK6YA7V2FXX0ECQAHGLL99D3DMIFZK0QEDGUPPFN2OCONYEMJFOQ72VUSN8GO0UN228L8OPXTSQ4YX9NPT20HR9B2542B0R1V3KM1AVEUZ7RD0BR6E1O17I8GL9F8VRZJWQWEGMFXGOMJ65AR8I06SPR6AO1BAC6T9X29U51WEXQEQ64FBC5VERJL0ERXBJ66096V17QG98IGFT7QVCJ1X75T8O3L3LNKUBXY77HAZG18X1ERAYWID359X86EU6MRIJ1WH6YZIQDE06ZXRMRRPQFPHYB1FPHRQ15OTR7IQ8X78W6MDDCZO14B1I2IN4O8A3LVKEO69TCBTCNV53JRSUWY5IJMZRCKIXB3C0EY5CIMHA08RBMV96AXIZW4XLQ2H9JYJ5WEMR7ULR3Z9UCPGATROFYE8U7FK05CVPGO2GX6ANHTWTPCRJFMWP26GNJVMTU8TQA52CCLCJTRS3M8WKYVPN28FKRE8YXFZ70MQ3193ZI5SCTFFWZQ9WP2HXMPEL8850ZZXGFA1QLDS1ANBUF7CEZ85Y87LUK61SZSJ305K14O8DW2 = 36#13LS6OTVCSCVV29B8Z2OUCQ49A87P8FIYSUY6FL50IOB3BRR5APAV4V36UCEF5UXY3XN97WQETUQOCOQR9EF89CR74X3E11MGCLOY5AL7VE3UTXX8BM6CS6I47IX42BVKLW5A3M8YL2NYPIFMH9GKDE8FO8OX4LQLKPGWDDWOUS7W16AX8SHIJJ42CV8J61W4MXSATXMKCYUSFFSSBGJGSJ1J9V1LXXXW2FSGVP4MWSPL16IBDTAJ78STWLOHMCDE2J6Z9PIHAUQIXA7WQQ5C8W5F0Z1TZY4LBMZDAIJY38XVWL50GRL5ZYV2DWWX6BVAGBCHBDJR7UBDLOQAQKO2626Q414VGT2KG77D9DLPALJIYN5CYCPJH6JK553R2TCRO6JK6V72HBBN1QPCHVPLVIIOEP2GXX4PDP6LMEIMU6ZSEGQN6KYSJJM4X8X5HK1JKOYMMEHWM9ALC66LSXIUG3D7AR2N7H20AMS1L07OSOO9WN0HJCL40LX0EYXJ6R1VQDRNCLY3XPC1L9ESDVNHGSWLIH89OUPN3LS5TKN7FVY * 36#2CBQKXRI2Z9B354IWFS8H2OOFJ4SOM3AU6EM6SQE7X9UY9FV3Z. +-36#4W0WKEDRJ8T6K5R06VIHFUPEJANGD8C475LFD6QVLPXD6TVJK47LZZPTPGJAAHOTBRA9SRXPDU0XKYMPCZ9JF7N28P507YZDCRFXAZ4AW1DM0V4HVTL7ZB5EF2TEDF17IND11H8RYAB3SUBJTXPQENVXEXRMOB4634IXKE31UTLWLU8Z74O2DR7Z3DLWI4IJI4XQIJ3Y48E9XSDCB2FSTWPLPNV7A1132RLOTPUDOWIZ3OA9ZPTRD2QDYSA57FTETSHLFC1CVIDLYIWB2EWEZP3U314J5383PRYMHAU18DPY8SN9I5I0AFZ228EYFQ0TLOVBHCEU1F9CUIC2K7X48LV65J8F2RMI51WA8HA9RP5RPGEMBT6EHT9OFG5SHOKWQ0EW1M9LFXPUQ4Z92WB7VAOKRBXWLDENFGRD0OATEDDZIBAK3D4YQD6MIQHZA35GM09VQST4ZAAQ9Y4EHZ79IBF608HE4CMR6HSRMZQG8K5KT1B5X3QCTIOPHS5KKUKB624EAYBKLNEQU2E9 = -36#3GYLO511HXM0PELDA63U97GNMEGN7X1Y82AAUGQM7BI5PV4WQLLUVX7XYA8IPRTV70G47AA90V2D9951AZG0SGECOTAUAWZBVRREZH883FJYF6T7M0HQX5XIT9P44BZB5ONUNIXGAK85UMN1MEDBLE2XGDMXGJX9ICXWX9SUKIYPRKYLADSCC6RVEN7TPNBHKANKMQNIS7XX4ZL3EOU45WR32EF3VRPF2I8E8CQJOXLDV348YJUWIWFSLGEWTZF89W3Q9H8FSJ8WIQAICRW9S7C2MS1P0WI69UZLH0NICQ4TPSFJ5JSR8TAEHVBYHHHQE3DMA3P0D3PARHG7WU70P7U6PFA2MFAN4CCNI88EBPRWFZMPXG7N6QHN3IXLRRPJNLZL94RHKSNIW3D69UQXZISHOGWSK8RJFB91X6N1HBRNXKQWT19HZMI99NDYMXI2NBC9P25B8H4UO2KZ112QDFI9WIQWVU2PC1N8A1XF0IL2M1FSYJCH2BN38PIG8MHIQQ43V1P9GSFKQCF3NVXPMZ32QGA3D4YKHTV3PLJHGSQUAJDHK4LTZ15MWDZ4QIGG0D7I6SH5YOB6WZ1FTK7XQ6QIYKF8J1JA779JBVBUDG4YNWU41BP0LH9JAXWWAKGSWMSNXJONSAMINTP09E37TXWKC83KGXRBRIM2K77VN3KROZAM4MK6LOMB3GVYZ0H2DQWB9BRCFW2THYVTZBQBNVUN16DQGKW6JXWT9XFF1MYP98S8F5YURDAZHJAW526LJJI3A1QZGZCPKYALY7QRW4ZD6UMTTLP6KHG1Z7VSHVXDZWWFMRMWE5Z8MCFV4QK0ZAOUETF51FSLJ0KKGYNDQ85JVL6MXM06VRIS3C8LMHBLLDIFR3SR6AX7OFS4Q6RX0JHZO9GBZDE7U4JJTQ87TY2D036NO4M0VHVY0KW61OSEOY578HWTVI div 36#PK1C8OX9TKFQN33A1AH2YHYRC7B9232YMDF5O65SDRKU65R6YOH26NX012KQAYV0BKTRWCC7SAJ6BCSPNR0A6EAYKDC3KK9M2YP508Q92TO0WAHFXDRT6SMAMSGNAWDIO6JDI7JKN346LTEK417IMEUKCIA61C10BC28V9WBVK3VYNCSOHRS8UXM02F7Y00I0FAHWEGYN8UG5UMJS8ZZ1P8IFT47OQ97ZHDZSIJKU3ICJJDMYBT8V375U9OQ0VAMC6IWOXXZ7N447SY4SXU8JGA5FC0LXHHS4S2W4E9RICFADJODEO1JQ0GLZZQICVEKIDW6P5TR3W82BTZWEKW3KKM1W03YF3RIIDFKOTL7TTFUPUG4OGLSJJ7COMTSN6Q2FICQ6A14ASYURVI5O0IHL0B4KITJ9Q67K6EQGU. +-36#B6OOOTTURZTJWP3P3LWTFCFJ9B3ZUW081GJIZ13DWYM9ZXMOSFHPQD9SBRCIWLVQSOMHG7OSG7GH457YTTY6QUE7QFAJOQ1MBD0ECDVY547S4PVMWW8C7VLYXVRBBP187B5EAEUK72I34C4EFAV8V3JACT00Z36F8FQKXLJ05ZRQFJUEO51EGW7SDJYLIUWH58LGRDCF8L7E3BM8U3ZCR9GE1IRK5G2EUE1081XB13TDHYGUMSGVGZ9X074HUNARTZLHEPELIQBJ8GARSNNC8CFNQ4YFG6Y89GMD2TNH5CNR4KCI8J062TEGMZXZOW73KPSA9DGH2YOVT1WKLCSEHOGS3820PEA0NBQIOJWKKTAKL2JN0KKXIATDEUGMDHNXUNC69Q3IR7N5KSZ8Q7MJ0A7I675RQ7TCL77RDBNKW6A4XMVQH7MGDZ5VF9VC21NTSPRO7GD0YI4VQFHU5LZL8NZ04FC8RJR5JDP6LDVRGW9RGZ6YU48T5DBUKYUPKJTRGUI5G6L0NWYT6TFT07FXC6FU8DR5IBTCBEF0X81AAQGU4VCH8PSFLPB7OVHJV4MT9HKMOWQG6Y49SZF61U0AFL9DI9MPQWBI5ERZ7X7O1E2PJ7Q4ZSG6D0EF8M480Z6J8QYWOI78B7MKNQ3573D2PO5AZPECB8BT1RP6RSYOLF7OE9UQ2PXIJOU0O0BG205SADBBYIBJM8CHHVYERWVXVMXC7VHBJJW9ZAVLY1IUP7OP6XC8QIGF1TZ61NPQRJC6MULDGRP4LFHSCC3WMCXURZR6DY8T77XZWQ6M3OPCQVWR89S2FX3FVZDBB1O46WLNS4D6650CAIK36UX7QRK11DGDLAL2NSC4WIQYJRZBEIU4TNN2P7A56E8FEQLLZ83G0Z3D4U32LZ9HEXZMWA70T1JTPC76DABCYOEK9SP246Z1TZU7QM7K6U3DR5YJDD1J4Y70U5DUC5173DVFWFMZIPKCA16TBU6WNGJPTQ2WYNQYZ2XYE8EQ6PSOAJ4R0XJP3PN6JJ80BQ79LPGGSS045RJKT9 = 36#76T24YC0PIZFCNA06DPEAGDYQL7ZEW0XD03XO0ALER0C3DASUV1WOI8O5CXIYV036HRSNP2LS7ERZ2CXL9SWAG9KNTKYGS1JZ3TSF6XVDH33T2SYTX34QYR0QMZX8J1K3RIRHWHOGTRWUHRD2V27S5LC97BQ8Q9CKHGZZNUZSV3ALE4I664S7ZUG68UBOBXQV0CAKVQXOMEPQPZYDDS9S5PU6VOBPVC4VXT56WSDFVTR6KB7WVRXQHYHT0SAKIYMNN7XSAYMKA3QUWXAK8478ZV0PKAQY9HA5YPV5K13RIA33QB280R4WWAU7MUAPLSBU2I6D62VP3HDQEYBH673TU0YQGNSDSUBYJTUFLX31DOGQMI7US2ACS1ED3C11XD6QX9R3C50VRRT9DHR8Y0XBQFZOKSNX93C890KBMURIRYGZBW84YRWB8V83X1HG8ODH96L4WZBMDM2GG27QN8R1PAJNTR51NJZ6R5X9SI4ZQY0C0V * (-36#1K0HFRV1CXEQXVAZGLEZ3ZZQCXNZCBKWB7T2Z68C753OTHHE0LCMJQHJECGBY3M32U4U5QOW226PZ1VVJKB94DA5SS4M4JTJZNIVU37SJ4P5U3ZD0HZO8MYZ0XQMIHMKWTFZF8RUQL0W12ZJKRHLS8ES3W64HFMOSB7NLCJ2JLH81R4R821FO84GX2MNXW30EZPSKEIZJBUKT2M7P5UDRPCW7FQDCIP415BHJQG38UBUDNSEW4J39TST7SXOLJ2RL2A2LQYC89RYAMHBRCNQUSPWF3EHAC56R2V0WNLVOBP1YUH4I0TG550QUUMPZZGZUG5BSPUSI99993WMT7NPPNH2D9JIV71JPQ3BW8U0DWABVIQFZXYWIQ5P60MB2VVM33CJJNDH0T7Z3L8MKHVTJOEH04MWNP5IKLSX656CHQJJP5CURKGS40409MXOGLE9MC2FYZXUEXQN5VC4YP6CWPZROBY60TUBDTSXE0ZAS8AUILUFCE9BAJ9FQ4NSDQ29WGCV919W12W8ZFMPNS7YMM880UFF6WH54J1B1R99IX6R). +36#60983SAGHSBL1LRDZUV47BUGHPKL7N5ZJIJTSQVITUYDZW51RIJ8Q0A8APIYGY0YN7MAMYAIZLL4EQTT9B3T3QZA8ON6SLSRG2DFE2P98BKXXKTDXVWFAO27KUAV1IBJ7HWFUV6LTEAOCPX0GCOJX7U973TOL5IJFY0X75OCEUIIQ0DAAOJ1T80RNGP5YOHSZ1BAGH81UT7VH5C2AZNQN1KYJ9GK48XBXRL4ZFIQASS = -36#14K68MY29BPWOUQA1L6AM07JDKEFTTTTL9W7ETMN6VBR5XS78ID5RKLW1Q371ECYQEEK7FIREZVI3KM6SE56VY9O39927OTWDGXAQ6ZFGO19VW5IFTTD31U0LBH2VMBG8X3FLVDP6H8WFP6U1T09WXN79UO59WK50EP1MFSC4D8KIQHEYBS5IQVR36QTND04CQ8OYB00ADM0RJ8ESN4VHP5J1IIRHV8TSV1B10BIKG41QDFDTIEZDGE9K7Z9H3DSV8PNPTF4WF7N4Z8CHGZOL0WHB6SGI97Y8Y9OGPAHC4R317HUHNTJXE688WKZ4R06E75E2U9JJKZXRHFVQHLCEBWU048PMVGXEDKSVBDIVDEYGAE17NSBIDC6TIURBD02JADGCO div -36#6R2NPH73UCEEHWVHFGIMJPM6PGH2FVLCZ5T2YS2A7NCINT4Y2LKNI58CRKBGKXHY901BHMRT53CIPV3938PI0C20K14O2504XA34O9S8VZHPWJ2QLKA1F61AB431DHU6W0DE7EJKN93A010XAH43IIOIFK6. +36#1IUZ7XI0LTFEGW0D9MFHIQZKK2JAU9P0JTUURIM48XEYIQ7QPQ = -36#55S1YGMS84PZCNW57H7XQ2OFA7UA85GG0ECUO98TNLTOC7RPUJGEHGUYTDNK3Y8PB47BX4PBBW6KBQOB8N4AR4ZNLMDI7Y8C3CMH55EV53YP2PCW7VNJ7OYSJ7Z4W2O3B2I88TL5CCAXG5CVYZBTXHOU1LQN5R4DSA7ONAX8CL0YNGW9G9WRFAWEBCCE3KD6LG2CT1ID221KFMJF7ZBACT6LJ98CWBPCGPMDNRQQ95FOLTAIV0OFIBBQBR85O4PA9XCD9C8OCODY4VVG471SLLIYU69FJ5LB1G8IU1H49AK4O2ECQL3C8A9Y19A1ND85N2JJBLAXACNFX0ZAEW9HYOQNWDYFZPWF95JGYSCDQZ8CY76KM01T2PBZA2PSRDWHQKPRLDTVBAE32FZIOUAAJF52ASTBRAZ892H4C7MX8BQOE0B9S3ZSOF62VHSAZ82O1W3L22N6HTF9I8ZZBP9YWSJGKO9Q0Y7UGMO6L1YWFDGSXLPKNEL0D6YUZBF8HPLHB93NDLWOX73NK1GKO3EWCXA8A4XD4251YX4B9C2CO1ZH4ZWJ9LT7J2RNHKXXYKFKSCS2SL1DEIM4YZM3J7S19TCPVJ2WILW0RMEGWDV12CJ5XPGNIR5NY99BSMUBF2RGC9Q91N3DJFIV40TRC1FY4VAWKA4OW0H7X1D7G8DVXS5I5Y0YJWA3DF7O0DNWTUBIOGGG5UBLDHSXP8SA1L2VAZASQSWXL6EZVFZFH6FZCZ9GLR2F2BJ4C3ES1D1PL754KWTMYAF6BPSN74N28SU7YG3KKATX13YBOG3FBEMZZB1HRLZMRJ420WM2SM6D9HG1QIXMI89PJCXYM1B88AQ11PV1140CPDLUUF5W9JHG26JD7UE2PIGNJO5VIJ217I1BZ3E71EW6R4YAU37YZH0T8IZ29AHOK div -36#3DWRL68E7VR39Z3JV6ZJ3H2CDM09LLWJDXMVT2LG62VTYIAPZO5ZSO0B9061JDWFXMKGXVOT4TASSAL3AMW831JBDY309II0O3NPSO474FMI7DF5NUZ8DS9IDWEZYGAV0W4DY9JIU564SE8DCS1GLPNDYSIVI1G4DUNAC5QCLUIF6CZJ0UVZVVJ7R92QDS1P7KYUD7BNNCBGKR12L5JHEI44HRFTTB0D5M2LB20DGY1X5QWEGR96L41K01LFPQFO62S0GBZ30JT5PN78XN172L6056IYFIPBQ6Q8RQJWHK73AZNKIC074OFMDFKNOOWCAZBYDA5VKWWXYWF2Q86Y72PW3RT2YI3HNV74RV6LKTCMTZ5OO7HDIU0JUCJH6OHVNGAPVATNTUACQ4KLB6ED5EXEFETODSBE47GSDLMUDFZ8PDFLM4TVTK170GY7QRKHWO71AFG3JIBZZR5HHJ6XY4WONOPINVN874DOK62ZVWJ1C8KBT7VT3I9GQMYUBVXRQRB1C6LWJ20ADAODL0H5O23HDUH5XFAJO1CLBE1RK50ERHIISS65KH10OPWDR4HWUFQPTOESBQ5W60M5DCU2SZ6UU62ALM4KUG4P1B429HJ89N61629NH6OOC7YUMZ8RJYYWFNS88ONE1PSVWTDHJR34NGSCFGKAVHQLEJ9XM763AYXDZV07SF8S60A3XKFTWMW39FPM3RA73I2WNQ8B6IHMECBKUFRVKBEMWXNY5FBSILLCCYS9RERA9TA9U62252EM20ITNKAPQI5EYD37KB9PYI9Z7DQMD5BAUF8RCU0MNDH0PLDZ3TYSC4GJ245K2AFN6B0L1HT223C7FTGJ4F2XSGHX05KLZJ81WZLSWWVY. +-36#XVDNYP2GRZAEWAR95516RGAMNMW4NM5DIR3O1UWWXWYFF7KD1 = -36#9D0GZW1FQI46WDS1LFZ3DLNPWREPJB57ZVXPUAZ0688OD1TNSKYQT3TCBAFZKB0RJZB3VR6DR9WUCD0STJ3AEX92KK6BR9WJIZIMEI6KKFOR14ASXAA3KBK9E38XVYRORYYFVHZ7TZK3CDI69KEY8HEMSGIVQNF03HM6FA9OCUH76NT4SSAPXBILJ6JL5BKQY63CM023JT0IVIX79CUUJR4YOIMCQAAX2H6Y19W5GW92BJEZ2ZGTYC1AKWDBU5ACY9PU0ZLHNSPGTLUDGMST3ITTQVX025XG5POI1A5PEVRNJL2F1RSQD7YBV3WK6JC946O03UP8LIRSKR1VM1PSI2CGIAWKPDS4C6K27XXJAAJJYAPCL3J8DNFM5Q83JCDHTCW9SIVBHNUJBGCIG60LX1EZNURZOQ2F9BVMQWY0BGJ4OXYQOU4EFDHE8T3XVQRZU9HUW823X8ZO0O2WT1S0EDSZBVRHDFIO3ZFHUCH07DC78ZCIS70Y2ZMUDTT2BQ8O5E5HARP9NYM6HZWPRTZSEVXZW4Z2YU2S6N9E3XIDORUK7I48ZC4XQXI2IN9OM3JYDXKIJWK2E68RHVPYTD9ELJ926Y2SNUGIOPZP6IBRUHT26EA7WRRCZPVP4QXVTGNQABONGQ1NQK1OY0CI2ZMLY518KIH82WV9J5AOZDZTG50TTCQFWQUO3MM00MBBJ3UKPU0D73WZJBDWPE3PBPH95E1EW5 div 36#9Y6TMCKGF883PZ2EBFUFPTBCIAL7FMBIIN22OB02N4EHFFQPYTH38YGSKWMC4ASCDPOZAGRGB78SR9U4W9YAVEM4VHRLC11BPSLHK3RL7VJG7K1U0MSC7JXGMO76HWQRMQPMX8M29KXJ6JQMFQTOY85Z0HTOFOE951A7X2PBNU9QR1ZR5XS757M6NBF14DBB5TDZADFBC3YGADY5PTN99E94DVPVOK3TV07LUXKBQWFEL8Z1WFRBS7T15BJH3K02UTECW46WQGP9I6N79V3J6HKYBD5UAH41YDSZUO6GVL5EP6TJF0OONNTEONVG0BNTHUZZ2WLITYTVP9EV96GZT2JEKSRFJG91SRST6A4JUS18U5C8EH0XN16TSU5KRWEXG0CCMA6EHJSLGVI8EH5RMXIKL0Q0ONH09W6ANOL2OQ8B21D10GIKYI4K5O6XT9INOG48XYCJ2CIB5YB5S4FNF8KNTOEI0KRPPRL0ARUDOR6G9C8AC09CE57R9PC85WNPB8SCDJTW7IZZVYNOTZ1GY6USMWBWMFKEIVPREFYH8T2X7OSO24Y4M1R0K80PQTZIUSOKYIMUSX4IYP332GHYWSS67DLJBEZ2ZGLMYVOLXZ7OHVNZCQ7RGHOBNUXSAT96QFI5Y897SIKRBNL6RD5PUEFE1IUAA36K90SSCSI35. +36#13LS6OTVCSCVV29B8Z2OUCQ49A87P8FIYSUY6FL50IOB3BRR5APAV4V36UCEF5UXY3XN97WQETUQOCOQR9EF89CR74X3E11MGCLOY5AL7VE3UTXX8BM6CS6I47IX42BVKLW5A3M8YL2NYPIFMH9GKDE8FO8OX4LQLKPGWDDWOUS7W16AX8SHIJJ42CV8J61W4MXSATXMKCYUSFFSSBGJGSJ1J9V1LXXXW2FSGVP4MWSPL16IBDTAJ78STWLOHMCDE2J6Z9PIHAUQIXA7WQQ5C8W5F0Z1TZY4LBMZDAIJY38XVWL50GRL5ZYV2DWWX6BVAGBCHBDJR7UBDLOQAQKO2626Q414VGT2KG77D9DLPALJIYN5CYCPJH6JK553R2TCRO6JK6V72HBBN1QPCHVPLVIIOEP2GXX4PDP6LMEIMU6ZSEGQN6KYSJJM4X8X5HK1JKOYMMEHWM9ALC66LSXIUG3D7AR2N7H20AMS1L07OSOO9WN0HJCL40LX0EYXJ6R1VQDRNCLY3XPC1L9ESDVNHGSWLIH89OUPN3LS5TKN7FVY = 36#2KRQNZL0086PUHQEYUQU8CUBOKL4OHABLTC8LKOSQK6YA7V2FXX0ECQAHGLL99D3DMIFZK0QEDGUPPFN2OCONYEMJFOQ72VUSN8GO0UN228L8OPXTSQ4YX9NPT20HR9B2542B0R1V3KM1AVEUZ7RD0BR6E1O17I8GL9F8VRZJWQWEGMFXGOMJ65AR8I06SPR6AO1BAC6T9X29U51WEXQEQ64FBC5VERJL0ERXBJ66096V17QG98IGFT7QVCJ1X75T8O3L3LNKUBXY77HAZG18X1ERAYWID359X86EU6MRIJ1WH6YZIQDE06ZXRMRRPQFPHYB1FPHRQ15OTR7IQ8X78W6MDDCZO14B1I2IN4O8A3LVKEO69TCBTCNV53JRSUWY5IJMZRCKIXB3C0EY5CIMHA08RBMV96AXIZW4XLQ2H9JYJ5WEMR7ULR3Z9UCPGATROFYE8U7FK05CVPGO2GX6ANHTWTPCRJFMWP26GNJVMTU8TQA52CCLCJTRS3M8WKYVPN28FKRE8YXFZ70MQ3193ZI5SCTFFWZQ9WP2HXMPEL8850ZZXGFA1QLDS1ANBUF7CEZ85Y87LUK61SZSJ305K14O8DW2 div 36#2CBQKXRI2Z9B354IWFS8H2OOFJ4SOM3AU6EM6SQE7X9UY9FV3Z. +36#GTN4ZRYHH0KARD3TJGGTSYL3G8U20SF0Z3PR4KX9LJP43KDMKHIPLR6WG104BX9628UQZ43AIBIF8OLLSKCLH1F2GSYNHH9VGM31A0MS0CJK9F2LNA0L8C8LPYERKMFWKR7F0YTYW5MMG3P9YYB4GZ29WJ8JL84JYMGXGYR00H4H2W7K9PV16KP34EGC11K4HX1A0KBODCHJBP4HX8JU4SSS63FDKI5MWMVMOFLX8X2UCYETH55HT8ZJ20GOLD3SGB9DVIKY211SH9S16QE1TEEAOKZOPNLM43M1TBL7C5QQUJ6ACZZMFGSECY428TNTJB0AHVY3ZYSP2X1TAM2CDDMIMDHZV8DZITJYZG8RIVNCR073DEXRNHCVMW2DQ0BLD0R9SROSN351OZH94IVJ1 = 36#134OR52MTEE65VOU8OP54XL21U3BVY1PA012M7GA5172F4JYKXZTFP569ZMPREE46OUPUWT95LU8K11I9P38A49O8X97FNMG34NPQEJA0SXK3PIBFGDR92IVS9Y8LDPI85SUJDN8HPMSPAAYFX25IXCY2DE7U7CUYMA4R2RSYJM5CB8OYUGI065DUKDJO9C4APSZ94OF7DXNPYISD0XED0IUJVVZJF4KMVUEB5W2OKVFVAUTOXEPO4Q88KPLRTHMXINAB3Q2IXWOSAFR5JR6RRVW9X7L9JJDJFW8R5534Q6V2PM11OILEX91FVRN04MJOWK7DHA1OLNXRRTRYSPKZB98D57DFL135ZI0UMYAQ1XZQX8GS40FVWFLCQ6RVYUSE128OGTD5NIYK0CNOETH4BL6K7NUCPH4U8KDF6VD9RW5O8GQXUQ15ZG3852VHZMCVNYGJ65 div 36#2BQEZ2HNOF3Y3L4LY22FONFRBAC0TK27UKFUYNQPSDUU0A34J5. +-36#3GYLO511HXM0PELDA63U97GNMEGN7X1Y82AAUGQM7BI5PV4WQLLUVX7XYA8IPRTV70G47AA90V2D9951AZG0SGECOTAUAWZBVRREZH883FJYF6T7M0HQX5XIT9P44BZB5ONUNIXGAK85UMN1MEDBLE2XGDMXGJX9ICXWX9SUKIYPRKYLADSCC6RVEN7TPNBHKANKMQNIS7XX4ZL3EOU45WR32EF3VRPF2I8E8CQJOXLDV348YJUWIWFSLGEWTZF89W3Q9H8FSJ8WIQAICRW9S7C2MS1P0WI69UZLH0NICQ4TPSFJ5JSR8TAEHVBYHHHQE3DMA3P0D3PARHG7WU70P7U6PFA2MFAN4CCNI88EBPRWFZMPXG7N6QHN3IXLRRPJNLZL94RHKSNIW3D69UQXZISHOGWSK8RJFB91X6N1HBRNXKQWT19HZMI99NDYMXI2NBC9P25B8H4UO2KZ112QDFI9WIQWVU2PC1N8A1XF0IL2M1FSYJCH2BN38PIG8MHIQQ43V1P9GSFKQCF3NVXPMZ32QGA3D4YKHTV3PLJHGSQUAJDHK4LTZ15MWDZ4QIGG0D7I6SH5YOB6WZ1FTK7XQ6QIYKF8J1JA779JBVBUDG4YNWU41BP0LH9JAXWWAKGSWMSNXJONSAMINTP09E37TXWKC83KGXRBRIM2K77VN3KROZAM4MK6LOMB3GVYZ0H2DQWB9BRCFW2THYVTZBQBNVUN16DQGKW6JXWT9XFF1MYP98S8F5YURDAZHJAW526LJJI3A1QZGZCPKYALY7QRW4ZD6UMTTLP6KHG1Z7VSHVXDZWWFMRMWE5Z8MCFV4QK0ZAOUETF51FSLJ0KKGYNDQ85JVL6MXM06VRIS3C8LMHBLLDIFR3SR6AX7OFS4Q6RX0JHZO9GBZDE7U4JJTQ87TY2D036NO4M0VHVY0KW61OSEOY578HWTVI = -36#4W0WKEDRJ8T6K5R06VIHFUPEJANGD8C475LFD6QVLPXD6TVJK47LZZPTPGJAAHOTBRA9SRXPDU0XKYMPCZ9JF7N28P507YZDCRFXAZ4AW1DM0V4HVTL7ZB5EF2TEDF17IND11H8RYAB3SUBJTXPQENVXEXRMOB4634IXKE31UTLWLU8Z74O2DR7Z3DLWI4IJI4XQIJ3Y48E9XSDCB2FSTWPLPNV7A1132RLOTPUDOWIZ3OA9ZPTRD2QDYSA57FTETSHLFC1CVIDLYIWB2EWEZP3U314J5383PRYMHAU18DPY8SN9I5I0AFZ228EYFQ0TLOVBHCEU1F9CUIC2K7X48LV65J8F2RMI51WA8HA9RP5RPGEMBT6EHT9OFG5SHOKWQ0EW1M9LFXPUQ4Z92WB7VAOKRBXWLDENFGRD0OATEDDZIBAK3D4YQD6MIQHZA35GM09VQST4ZAAQ9Y4EHZ79IBF608HE4CMR6HSRMZQG8K5KT1B5X3QCTIOPHS5KKUKB624EAYBKLNEQU2E9 * 36#PK1C8OX9TKFQN33A1AH2YHYRC7B9232YMDF5O65SDRKU65R6YOH26NX012KQAYV0BKTRWCC7SAJ6BCSPNR0A6EAYKDC3KK9M2YP508Q92TO0WAHFXDRT6SMAMSGNAWDIO6JDI7JKN346LTEK417IMEUKCIA61C10BC28V9WBVK3VYNCSOHRS8UXM02F7Y00I0FAHWEGYN8UG5UMJS8ZZ1P8IFT47OQ97ZHDZSIJKU3ICJJDMYBT8V375U9OQ0VAMC6IWOXXZ7N447SY4SXU8JGA5FC0LXHHS4S2W4E9RICFADJODEO1JQ0GLZZQICVEKIDW6P5TR3W82BTZWEKW3KKM1W03YF3RIIDFKOTL7TTFUPUG4OGLSJJ7COMTSN6Q2FICQ6A14ASYURVI5O0IHL0B4KITJ9Q67K6EQGU. +36#1AK82X3V6IMORNKDJONEJICF7RMM0MVX0QA6KW4IYXY8423GJO3GBNRIKI9TL3AAIZPSZ2ONSZO6F1D6FY2DKRXW5BK3Q4PCKKFGV2ZDMY1LM1I9G3M2TLXDDFA8QL7RAAA92KUZJ0D9UZV2JD3EQBYCBTS76W6WT4SKBYHAS571KP4NLTI6PP13SW05XV1IOUGECXMGOI76Z2JTA7RZTEKFWVWQDVE47LK2SJD4ZV5K2RYIXPG5G = -36#1XLWJBCIKNC0NA2F86R55KWLEF32YP9XPX0YR56HTVG1FQMRWGC1MGYH69DU6J4A1AVSYOYGSLUWM8MQT2IYAQDQ962I3AXFC4KT3GP8AA4Y7AZUU8YPL97TNBQCJ5JPSU346MZJBMC7AT1UA7D8SCLSWCDFJFIA823WSQR1S8Z57I74QFTH0ZHLP6CNXCLZPX4C5OUOAW8S68Y8KWSJM37LGOAYOT1V22C5TX7PELA8GFOPOHVM3IZWZX9K7OG55ENL3NY317ANSZXQ643U5WH884D0MX2Y05DKNO div -36#1HTHA0MTYJOQ3OA2YT8M3ADGB69RG9QJIR751LN77I88CJHVXX. +-36#2Y4VDT8CR3NYDZSIBKEG1743YNH0K0DMVJ4Y10AJBSSQ2VKDC2V2FA1H228Q6BO9DGCQWP5EPIIT32R2HGTMK2REOHC274XAUWSNWDTUUNYY45GIF82A0SR57XEQESWESQUMQLGITCRU7RGM8QKRJWS98Z3GZDCRLPJDPCD7SBFSJFUAVPIQXYYKEODUVLF1XMIWHF1FJ39T9M2X220LVQO45VYXAW2KE9R3FNLDNCQRHXG1F1DE64BC62EU8GPXBRX0O6MNP3ZPTQATFXBAIY4SEAF6A6G7OP5DX07W8A37MCO68AZROHPV6QP91AHDV4NJGG1CCBDXSSCYC7Q9ZLXYMRW7BD2AQ8NUHD8AQBMUPH2PEFLPS6HSI6EPRONV7SK840N3J1L8MWEDM5UG10SM7TSCGIR9D26NVWDVW4NFBBLYR0LG76EH95GNHX2JN1VYJMSIX775U95YO7J41DQ731 = 36#5C1QJ0RMP9SPOSLSXFVY2RLBD1FWUWK6CKHV5AP6SYM141WW9NP8IZKAA3LL4YQZL1THEOCKKAW4SRZ8PFG3P0XWUB76HP4WTYLCR0G0K6EG7981VALGMI21R6Y8JFB3RPBW79QIS35ZWT372LF8NGLID8F1MJQM2EWD2YR0RFFCG83H745W1YUUI2DE32625L6CN4E2T63U842TZ00BU4NGNLJ58WP5W568Q2V4L42QH8SU52UQRB2U2OQ5V0QKOP92WSP7NSUM9F8RVB9Y3NKEBXNY0JZWY1UX3EYNJ22WOTMEP75Y9ZCWZWZ83URK2XZ3MB1IGIOM4U0YXIU2CE2IB1R71H8YXQA6VMXONGX5H46TMFCHFF68LPQ0GO4FGJRCRLKYWD1C1ADQ611VT1E6TTFJTV45WJG82AMZPJWSBQOBFI6JM2V1CXBF02XTN4YNUTD1H6H4YHUYLHDVDB55Y9YHGQW9Y7V9QXAGCF06M0PARBAUVO4PBBW8UPXGHU1I68YJ4E5C2ETS3BVDXLDFHXV9VPL6IXYPSQQI95LCT5AADFD3BZU9FYE699AIVUETHHVDFNOXNOWLLTU47CJO5AD3ELLD4HOU57PEEJJUAUY3IXGAUZ2UXDT8R40KT8B2JV8UTEIPR2AJJGU44SFTLX6MGV86VHKSDC4BHME289FV0CWLX1M28FOIFZ8GRLVYUB03GMD14BRA0P div -36#1T52FR8H4UHEFPJK2AJTN2DCA7T9WNMTMWUD89SZMNUUIQRV0CLQ3QA8MQQ22I4FKX1L5ZM8BUOSUAC4LOH8M3D7AV07U3KMY0SSWOHTSLZURAKQ2KNB4VIZIORFT09NAJGF3W4RCG9V4BATFC9VXJ3UG6JSB5DLYOEHWSI5WDIRIO861S17DGEBHOJLBXZLZS1B5ZQ4ZOL1MA4YO8P43T4B84A9A492Y4YWYFSNPHSGXF5Y1UZYQBLXP. +36#21YBJAL8YJEKGWFJK2CCI09OXTU9IMKOASFA2CDV97S7NJ7YH4AYZHOOORTXCXTBG9H2UQZSAUI75BQJ2BRXGXZ0KRVDEFM06BP = -36#1NCCYUHU3W8AEH9Q899GCFGGQVWHFH7M69LBD6KGWQVW0O6B5V * (-36#18V2GADDOK2FV8TNV49AK42OND3388JRHRC0FTLH21EMKJ87YV). +-36#37XWUT5IA4ABGXY791KG5FLV3ABP1ZQ3GXC6VVORFFKNDF6KC4ODMD90X27ZJQOBC37Q7IAZCMFTSVA1EWW0J5VGOKI3662TU6Y8PVKWNJBXMUZXCWCTA7HZZ70Z567TL1T6TCNWTLQM42E7XLF9QR85LVXDZSMXXXS89QV3CT9AGFBLBC8GUFNLOXL7BI59FASLAACBNH4BOGKJVZHUDYACAHHVETWH36OJ9MDLOQNGD6PERYSVHVGLGXKXPXT8Y4R9BQ28E324KREEEEKRPJYJ1J9DBD6OKHON2H2X1UM5ZYA4VU51IF2XKGD4TDQRQ2EJ0PMXC3H3AUIKXVGA3E0S0W6OQ8GH79610TOZ17NTNV7R0P = -36#2WKV3KDBLRDBW9LZYNYTIMM5FTEABD10JYM4TDV6SD5R1O7C8Z * 36#13WT4N9222N2STN6N7YPXTMQ71G2SQEP0WEJPFUFZV12Z4G88HJTRTIWJQU86JC4N5SRWGJK1CFJLELF3GKJFD525IN6ISXU58YJ5Y5N5BZ7MUPAT6GMOEXBD106HIR850GRL8876GYSFE7VYKJBBKOGG95CNADQWVHYY8K0IVD5Z56BZOJC89G4CX300676AICUB42335JG9775NN2M2ALC5XO5SQDFE4ECNVOMPMHFJ98036U1XCL61WYZI5CFXP6V4ESNZETZVHQFF555WVUE7VJZIHFK5T5ZH86K8Z96ADROCHNCE9NRIF4NM4HQB. +36#1U9B0BW9LC6Z1EURN1RX2V6HB1IFQT61OSGCXS0BH0QDC63JOV = 36#OA8BSD46WI36NZGU9MNCMI9VKJ9N0ODIHUW41U225OK5KI5WBW616DYHIUCLCJLMDQ5PYPY7UQ81ECDT957O5C956LWO37NM3X20DIOG0ZMDMECUMGH0Y22LWC1YAKJIRJCNBC9R75BXNAXCI6A406OM91 div 36#D6ZR1T5AEAJD53F0AFEQB6FQHYJUT89SP1HSL7P1LKPSH9K45P98X97XNN94FR6NSATWGB2BFPQXKOPQRSW8N0AUKB1D370H1WCFWM0X7. +-36#11TG4NPB130IOEG2TQCAK3DRVBIGJWDC029MS5GZ9FMCO9ZJEABGUZ9OY1HZJ0DRD3077H9SCFWMSLQS25W0SGXRP157JQ6UAN7PBXBVOA9WYR7EC4M8Y2PVCRIFLGX2QHGFF6MYY79WUQB8YZFDZ9Y86MMMXI3ACXLEBWLZJSM5GYUTY8VOG11VNVW3FM183Z2UUSNN70404M14LFDKGHIO4C1DKLWEF6R8ZGWX5Y1FOS3JWGP9C8YJJ5P0SS3C6974SK08BC4V4LJ3INRRA6V1JOX8IGH3ASW91BRFRK6VOYRXJ1CQ4JO4G4N8HOM6UG7CKMCV2FIABPJACQF5OSU7HZMONLMYW5LKLNXDI9NM8T3FQRFV6QG90F5P16HNE019YRMAPKN56KIZPFGWNYG22MTJCX755ZTRO6DPFRJK2YJ12519Y7FQ7JN6MT60PO7827SHG4XGX3RWM0923XR15NXBCWUAJHKMNVQLMR3O8A2Q2FM3D2V0MV9JM70L7KQ3RXYSL875IAX1Y8P7YZQIZD7IW3RCP7J0KGBDINHB6EIJ3MS69S98D2T023YH4XKAICXKFZDEF0HF2M2GJQJD5P1L333ZIUW1GWWXC1ITSXYQMLN = -36#FJG7N7K3QO5FBVPZJ4P38GAIZJZ7NYJBX3HWJ8VOR864NAZ0UXRPZ1PMY7V4Q7N8ROF0N8R90J6NPLMKYVDWN4FQKK2MKU37DXF0XOFNY3SM2AQZ3JYB61AIILF8O1XP0OWJ7T1FC8H3QR00IU69FSV3S8QFYIB815GD1T99WYGQTWK4BGT79RPXEZGRUKW558UC56BJNUUM36043M008JZT37RVSNGL0YL6JBP1PGHYWHAY27UCDKUGCLX33XCGG3D2XJI4AW5ZA500A2X9CHI1O4NCP0NNAVVBB3ZL1JRSIMAR5VATF9YQFUA4KXJGJ7TEKHWAS5ETQ211M0HBCLS6NP5KBMG3VSVV9PINOVXPLE0SFD4XDBLCMD7D2O0N5FJJCRHGSNY5PZW00S1JBFHK6KH62S3UVD93TI15AAJYMEBMJIWVI853PSZ905OSZIJ1867KLE4YDL7ZYKTGE4X5FYJI8W0XM1FDNJ6URVFEMH46VQJV30DB3APS1QDDJAOCTB9XB1K1DQMDJUIINQJMOQKMA9N15GUTRUZH06WJJ28SH847RH6T1QW8LXMB9J6ONPIRCTEZGTN41EIP20N12CYNNV2Q2OQMWNFRCYWYOKVUQPUO1952054TVN53CTL00SCUQ2Q30SP8J8RGVD0VPFE2CPTUYN6PCQ55ADIPYE2Y6MNZWWMY2ZGSDTZNG4IFKEL5ABLM9LZL4IP4FCWJVGC2AKPLOQBLE40MIQYF32RBA63M118B0WNY0O4RVWRGTNKGPDS9IUNWM3DUE0IHXCBQCHYRCDSIZYJETI22DUA6NXJYOZXRQN7TJMPZNJ03XU3R1LKRTLQX40RJWO4BQEIQGOPY42XZ0UYM7XR6TWKXV4AFAZVHHRVV44KHCIK8YS6C44FSQYSBMFDY1NDDMS92D04OETE9G2MR314OXTGUFOFFHRQRN47DB7PNMXUDO2V14EFR1LRA3J7UWOCI0W9YON0DG4DC7G134UB35F74DIJ3T9CQW5CSAXR2C9LKPOI573HINJRTLNX5NER2FTB6L9FXMK2TNHS8GGYILO9O5PK7568HR8Q9UM8GPM9EAOJOK94KYPOGLCQM19XCAEN00V293D318KX2T2FBJNWGFRUDGJFWU1PBL094J6VQ8RUAP6JX1ZEUP49VAFM div 36#ESK0VSVKPXNIRR13P64B9V23WIQXC8JZS8THRI25NTN2PGJKF32X3UBMKCQLYO8LZMWA5V5T2E5UU1NFALYAABTKOVLSCC4URQR0QY8JPJQ7MTIZGWJGRRVZLXXP6IJAQOSY7A13P1AL8EXKJ4CPE0UT7V5VNESCR3AHDF9CUG4B9CHDJO3M4O47ZK143YFCQTFWH7SO90EO9U6DKHLX9YE41RC3XLWS8B2OFNB8TCPIHRDH8KOZ1V256ZHXBLHMU9402UUJWACWIYTV8XLVCC7QPYW2541IEPJP5ZERPFIRGWLV8A29WCD3H5YXU8XHX0RJFJFP05O0HSRC1A1PQWQOOCWVOXCSF3RGTDOA7D3O0DM8N03AMS7AP6ZUWJFV6GGTXLKRIQTW9XS446YBU8T6CC7P1J6AO8R097LD888WHHN2DQIF6S0G17E152LKKP0C811RMOHU8OF446JGIECS6221Q47OHT1GYL8GU11A4JERR6E9V90IO7DCD9VNI4HMIC1NK435JA7XUBH0H1OTFLWFI3ERK9OVQ. +36#2WUCQ3KWTNQ587IR0R34VQ6KTX4AER6TYV0NDOWG0H6LUY4T2U3VAESWDJU0T86X2ASWQOQFV9C6E2DART3IU3AGJ8WW08RWMVSQE8E8KL7LOJM3ISVYQE0NW7LIKRVVV7Z6RCZK6LB1AZ3CDVMNP7UI6369VZJWWE9JC05KG348WBLAKTTPU2GQNMVQES4LDYWTV6KTCT04IVH64YJC27M8546W27DC6UGTZTEN6NQYXY9KTVXGJAJQWXNGCA6Q1N1Y4DSXGSAV1UV7EP81MULKI8DWOCG1JOHHBG0YXGXOY0L3WADZI2TQB6XTD3UW82RK5T6X3O1BHROLVXJTBSLL3ZVW0L2LYXX1GLDOULPXHQBIHA7RDIV0Q3YSY7ZKDHCTZUGVVWOZEVE5NBR6QR9IIXLP5AL54DBLS3BH8Y9V49JYDH7UCZ20ROVYGK41O7FYF54MYR9JBYM5QV6DJ02IU23NWYL2M5J5R347IC4KHK68LAJ3P06JVHVITMAZ0Q1ZJV7ODGUDFRQ6J53IFLWKMMDGH298VOV58JPW5WV9AGUBZNKBYADPNRMEZJX8I7O290LB75PXX6L4RJYLPB8G2VTZDII4CABK4TFHB4KBLIR5Y52HI2JWNFKJXC6L9HAGI7WNMH265K1HSP3JBC4T6B32O4OR1CTSNL84AI3FUL1GCRHX4AF540VWGOXDKO7K5EMKJZGMPTUXIAX7503PU7YWVG7G572BO6YW3508SU2EH1KOW316YLTWYWBW4IQYM53CJ2R8CAKHV78S2KSW8A4HLNRMCBI2TUP71NYGG97GWW4HMNULS10KWN4ES1I720M5F6U51UOSMX8VNXOK9ANSQ1MB0GJRKK0A563ZGEABC6N3LWXUHCP6RAR7XTWKPAN4ONIOTXB1KN7WDQRYAE7DRSVG9QH17B3YZ3Y96ZL90R5ZLXAI5X2BW4A9AZ1NBVAYZ03N04CY46SM3T5H52758763IPHIP8OP3UR64LCL88002WCUDZP3LB9WPGF96RGBI4IXH9DU612YGCFH7U2EEZ38DTE5DDT17R4OR24X4VWN8KSQ5QW0ENFEDTMJZQPUO4QHITPMVW5UYTSOSI9SB9CKAIKRDKRX4D7C84KAXM0U6VNL0HVP0MIVYE1D3A2P3B2F6UOPJVR8AJT2IXS9BP3N3G3GCH6Z63NDZ2577GXFXSESLWF4O7RTLLFXW0J231A0DN855H2EV2PMMJB7SRQXBI3C3UTEEVE3NWNAVAF9T211IGNFZYSLC4V772E9KJCN45G218ZWW09GLB94Z09J8JH79A6RKOPO89XL9VO5VKAJAKSPHOKZ953E5KJ65L9FEJMPVL9LT4MADKXTA2BEF4GUKT728CJQDRN9YH49MA56FHUJUJO0ITL9Y6Y8MYO0DJMKHP3XYQ6JZS8X3K56QP75I2YFDTL9DX0SXU2 = 36#XLBQV2XE8PD50RVXNSHUNAGDEFMH93KARIYC772QSQLW2373SYRAU09TZGKY4ZRPTIFAV1A1BTCTNHPAU5ZV5X1DR7MDAPVA44SAJ9T362002959HVBBJ4CYZ5G7COG9K5QT42REJM52D00CC8SK1IYUI2WFS3HJR7M3KTQ4J52D7KU0N996D3MEK4T2MBCHZFIJXM5NDAO9QIGGH5SAGH5M4QLLRXUZDKPUU4IL2 * 36#34CV5MCHBRKDE03RSQWC9WYHKHNZ165HC37B0SNYZU0DRCYAWSWJWZ3Y5395BAMCV34J6G0I3D54B97SHSZA886KCKIQ4UPTEZTS61M9JMA476ZP58UDH9U2L3I37SSCGQ3ELLS069YG3U0JHA0PDHX33R6ZFZS6LQKAAAJ4OPE6A1WVH1OKKLCZA6YFVGNT1LWDBGKSCAJT60AXMT1YA1K23HHSZL4J211S9EGIVRYYGSFCGOTAUY4M2AK84F0HQU5P3878OQOMFSXFT4KKX4FZ5C4B1ZKIVU6N3EZS4PFN9NL8YJ78ALCAS49M9YAPK7UIU8DYWK03NYQ1HXVSHDLQZD4RQ83BYLICMMG37FI0CW1QHZ83SM210M77XS4QFQKH7Y1XPQ3BDBUIJNGNFIKKA3WEQB03V9LOXJ90N0MGJAS7KBDJX0JA0YYZ63IKXHWJW705G16LUOCNDSF90RAB2JH6VIK9BLH4CU832GRQG2YM0SA6KTXFCPXM28L9PRWGAVFMKZROFZLK0S1WTUVGFPWIJXW6BPO0DES2JU40ZDT9O0AP0MWJPIWL7LDDG2W0PCT4E0EP6I3VEPG5T4F8N4YDM5KK3F2G6GQT1H2JFQC50ZXIUW8V0MRYTYW0T6NM3MJ4GXJEM7A8VBPJJ1NQU1SGRF2A172CFGYGK1TVLVMCDTGTVU2JURRAVZRV9R6QJBFZH3JEI9YBVKXIUP7N5U2G901ZSGGDPKOU74CA9Y33PSJH0A6TQ3Y9TDOLESZZCFD7C1L003HYGB3W2E7HKAPOXBAOBT6VY813YJK8K2GQ4BHP3OOK7RRLJ0T0DHRATV9CRL7VB1IK59DERFYXPGPBVNJP8ZBX2OGVZWJACW7YLNY8EXQUTRR4T4ZILTG9TTUE8F3DYIFU65O8KTG78UDXN79WPB4ADJN2S3UVBU7N0IO2ZWU5I47H3JOVF1AXPRACTQA24MEUSSHGEWZQ57R9K4AC1MPWPW6EVD6XMUBQ4UQSH2PAWHIU490UOBZJ63SWAXHZ3CAZJOBAZCHQZEN1XES4920OF4B0CNUQQBIMO6X1OOU86DK323P2O1RY92KKR4BJCZUQWR8Q2UZZ96YRU9OWKINKIG8IVPEU0S9R8151KCMM5XZ97EP8RQVBSIZRFBN2T16J2S5UR7V3M7QL7EVOZ3LS7XD3MOB1YGGPBUPX2ZSKVUS2QJ1ABOE6WJYIVJ. +-36#2PB93UKYT37WYZX6A4NTDSAQYE41EEV6BX70XKFEMKGWYE4Q0W148UNX153KP3675JB9K0J3R35CFELB7AQK8QGWG6Q721K7TO3CZ7X4GQ5LYQI1FPNKUPEGN1EM7L416QUUEDA6U2XRSMDNV9SHDHZMXPR438DTJL4RMEYQ3LOEQEXJFECHOI4MWX6F3DM0D2G7YX1S4B1O8U330S2I3UOWSZUQX66RA3SBRWN978JNOG6WXWJOKYQFPK7IGDZ3VINVDVFU5IEGBG70QVVK00NHS8LF68L3M9PM234XX3V1NDNMK3AUGDTF3W7D9E8PM9OSL0QR13LZ6M01IALUSVVXLK5K5XHFESTK5HYQ0H29TNALUGAIWI3FDRHP8RPVSFP3QL3OPKMXDI65Z03KF71VKFEH166RZGZ1NMT02WO6T981VH7PTKBA9YO04T4LAZUUSTSBTV9PLV345YJDJEFSX8K79W39DULTK9RUJIFLIU6VWZUB87TQIG85JVLAUGXI6E6KUSLRUOAUDBRGFRED1EOP9A1RS3I3D9EB6B2QX2DTMLLNNUH2MGIQAT1IRWSUICVK25FAE5LFR7XM3VQL2ZSMRXP0WSEH3YXNENRN4C43BBZ7JTT5SNVI8MP50D4ZYDZER1L7DMCPH03R1RRTD8IVXW1BTJTNSUYDSEX8ERAKINKMFO21PKU8MCKD7KBADKYA5IKVSRENK7BU0UXH343VQQCKSEMP7VDBEBCDRULDITY6HKU5R72IT0OW5MY0HXXN6BKDQU0UUCKFIA4FLB172JC2HM6RH9OIAMEM6OOLOPTUNWEBDY4NHJ92R35MZNVUZANR4XQG0CXHRF8S3UJOM4KVZ3VL7QEBGFZ4C32P68IZOEXTOU3HR38ERF4U0QPPK80RR8SFTLIAY9Z9L3YTRSWYN03AIMP4PJHM96BE1WHIZC1UCPXV9Y1CD6TTOE7QHR7LESUU9C3CM0Z8OR7LFVJN5BXHPREHDCFOX092QB0U067AV94TVKVS35O23QWDV7IZ68277IYYBJH0YOGPYYWH1ONO9RT3BOKIRMVEISXKDKJ5AIU3TJKIA4HCITS8LSPVAL17W7K66AETUTRAEPQE5SXHR9RZFST2Z13CUEVKVR5XUQSE74DK7N2XWKX1LD = 36#J0EH02XRYS4TJWCUB2544CTZLM4SS8GX1IHSVP42AQ4OPD0M8RNKJJ6QIFCU8KM5X3OQUT03QLJKQMLSQ9L1EOI2H88R02YS1EEMAASVHW89L2RU93OHSU7D8TATYM135LQJ173VV1BJEG2FEJYQH10U5E8RLOHXBXFJFMW1BGS0SEML3M8TRQKFQ3LL3O4PHEUICVUIWH21N159FLZL0XZWOPWLH0GU9P697I0T9G7Y9ZREYZGABYMC01AFNM6LYEQIBKMYFXPH88GCKAQU6TO610Z4JFWZ4CVI4NE7CQWWZWZPPOTVENV95R0XYQDSP8Q35JM8VY5TAXF04OT66P8R6X9XC8NEQ9Q1FP2HJJJATOUFAESB3SJFABGJBLJC4YQIN0S7SAXF4QS7YFZ53RORQC0WXBZGT6H8Q1G3FBLSAENH0BB2O1VXGDTI9DB71VC13I1WXEIWIBQO077YTZ4J855000HAGY2NOM7Q7A5V8TMV269Q50YL1UW7VF8LK7E162V7SDB1WVJAOJW009RVMT99AF5RH6YA9Z6DG68086URKBVPW9DVZIACE1 * (-36#549UD8X17WI33Y0LOP7AVCJUJ5IW6B838SZQQ3UIRN3Y7H86HQ02HMKA0RIUPLD7P0PDSRQQM5YZK02OPQ9TBBR9QBL2KWCOV65W0N00WWCURTETBC4E7FBYOP05DVX191Q52A7NMWASXD328D1GNL7U1XNJVSC7UKZJ1LAP8QLSEBG4TOUJ16A08NUMWT0CB6D827U7EL3OG3Z3FMLCABCWA5W8EBBZYFRY2RQRHANPQPXBT1WMIOB36BTDU8B3RJ8KQ3IDNUMRF6AXF7BRYROU4GF2F61CW2ZRM68QU3C3CZB5H3S36EHJKFP8R74QDVX3ZUATHJ6IDW341BREQWUQ8K4X3QZ89577RDAQIAD9DLTWZODAX07Z1K8H0ZZRQONKFMNVTGD4M9U7SXE3NSFD0IT0AM0RBQR6UDYEQHLDL6D7XT5UTK3K6YR3IZJ4WHB8LGHPYFSS68JJS6PVLL38207QMIRY67D617P05QYVQZBXO1DUAT7KL72B6USC8RVA1Y0ISM5D93EJWSD3O2CS2GLBALL83XOMMK48ADC8XKFMMAJTWCXTDBB6MLY3PUF907L6B6JD). +-36#WI96TST31T9BEG4Y4NNZ3R3GLYO48KXW8UTXTKKM7NAEUJK08 = -36#14FJZUOBXO2QXHMRY6ONOXTKZHNSQ0189KD5BLKULXJOE7CJ65MHOREDQGGRWTW359MP3MPKZME0RKN6PP6YLNQ11JU4V981AT12I3R0HKXSBES0CO9QTMTTM1VV37JCFGA8V0MND7KSI6ET9NZGHKEX23GVZ2ASV4ZUGP6NKQKPTN1WFDOO0R4HERUCV4N1R615FKOY1LLVJO6C3HSU9CS5JXGOSR20HRIDG200HD2QAWUWBYVQDPQBZZ4MBCWK6DDFQTB68S3CG7PYK2MBD127DY6C6QM8ZCEU2Q4HLSKKCHNYPX41R6LGPY1C00QWAR0J2UO92NG3UGYZP3PO4070GNO98MMVJC7I2OUOPICC3O3TM230SK1MU01FT6439CSXEHELTCV1E2RWYOET4WMFXL1UZ0ZBP8TG8W4ECPYEYVGSWBDTDHRGMA8EU7R4MGD8GDXBMXHZRZ7UL3OBS5B4J6HIWLZL7AVICCBXMZ07HZ2IJSJWGX9HRZS0M4DKHG2H6D81NE585VX90CJW794TK5JWJ7P84CBBVN5MX0R22VIM7EBUYMRUK0FPYRPH2ZK3D1TZ4F4WGLMFQYAYGZBGL7LSR7IVSC6CSNWI4NSHCR9NSX9PEVFGPMK4CPZZAUXXC0DPKYPLB9SWDFUGR5CCDDDSGAL52R2VTQ2TFM0S1EI1N107VKMTRJUUOMYCGMU534N3KQZ4CELXIO0PSRFG8 div 36#18RYET6OYH1K9WY01NLW9T8OAMGFUF42C6IY2FGA8X04HWLX1IO47J1O36M73AYP90HX2OILS10SMZ2TY9RFHOOG8K0M423146KY8HLYK3K5BT6C7HOV8A7UZHGRIYHN33ND9BDZBGVXMZEDV2CHIQ6GO7E9V3QO2WTOY3ICK6HFWZUQAJVGKUUEQM3UMAN959TWAIN805QS7H6Y1V5FW6O0ANZ8D6TX31U39YDW6FVZBM40IY11NH1CTJNU5QB9KHBL15501G9LYF9FEA3D1E3AYULKER658VDSCPNC6X983C7Z1RGBW48RGMR68DBH0BKYLBFBL14FRIXRM95O0SNWH72TL6LNNIG20EZ6RBJVICMSP20DRD6HFBY6I6SNO0DY6K1U70RLSKYA0QMAKV7ZL4LS8B27ZE2U7T091OYCSF8Y774O3W7QEKZ83L29LLEMC30TIBOKVL3SA5Z2Y9O8JALP5VH14L1I5V9GRM0QS28HKUBOKX4OIDX7KZT0M5D2VD3LFL8JUZRULXDVQS79VZGS2RVD9H14CAYSS7086LX66M41XH8H28A5O5T4OM9SYKCOHIINHXD2I4JBGA5AXC2O2FR1MCN060J2J908KETHU1LDBZ1YEIBC379LGOGTN6LC0T4E1A8UDW3Q4W2EDOT737H1V2M4VZFJ. +36#G8HJFN7I0PWWY64XT1V0PL1MLAH9BTS07U5HWZGKQJ9L2HDS3A1ZAZXGU5TCJSQXXRGUSGCORGV1CWWKUSJZ2LMIB1QAI3SYVMO49KZ18PRGWS05D8VV7480KDC4YSFG3P0DTSKO9G5RNSWIOFE6PUQCV1TLWWOT53ZRQW4FTCKBTDM3OKWB8D7RXPAHSGRS2BOC9AQDVNBWFQ2E0YLAWD150RUPG7T9WA9BRCT72D8U18PWPQNEUQK4I1MJ1QQF1128R6SFQKQNGMECZCPVA8NH37EHAO45CEHUNTRVWKZ3QZOS2HJZYXXXV599TI3IBGDTXPKNH8CL5HZL8AOGHB1A89AUV496MMX1H9E3UC6XU3C3GBS8Q0WHWG8TVV29TGYUQVDB1656X6O7I7H2NKSXAXJVATQTMRKPTQPN8AALD1ZSFA6CW5MDJBST98ELAN8P178CJCBOSZ4HGTZTAV9L40LV67T1PJAWTWYRAFU593HCOCQLZJJX3OYBZAFIVQCCR85BY53ULZF364KBQXGVP2MBC4WCIOWUED2GA638VXAF7PPRRSUT0RKDNZGCB901EXGHG97G5OWYCZN2H6DU03PKU0JKMTK6HML46RKYCJHDYY3ROZPO5BU3PG1B91SZG9BPEK2H8PPBX70AEWHPBYJOHIQKH344D7PX79I8NX7GU2AZ89KKMEVD13E3BA5TP6TJHUR1VVRNADSDXXEVIHZANZ1QAMZCB5QOERR02HM6FYBERUWP41UQ74RT9NXZO1LY6SN6HBL626PTEOAS8M6T8X4W808LNBLD51KAYZKP0EXJKJY8MF2FS5AYYYR1501BKVMK8Y8AT2604VBPHYEC41QFG7I8I5SURDWB21WFUURQD68CSXBA1ZCNMH5IP0KAT4CNB0MCDHRHIVIPY6SQJO51FGMVMAZS9UFPZACQKOJYQSBGRMFXI8KJUMLFVN36JLCOESHCMTY7ZCNZ5IA83TG94LSN3IVPQ38E7ELDHFCR30OOQ1Y1EIFZTV8OTEGXCM3HSEPJI0UACRQZBBCWZM2V5M8829U8HC3M8ZCBND7HIF8W69YD609Z1DD10S06S3G18MGGQKQX1TEL2UI4HIAC2W0A7VZ8BE3FPT5C7110Z0CWVS6QDHD4ZDLA5XCZ5U1Z2R80CBPCMIVENHNWPNAJASUP8JQ2K9ZUPRJHYBGCSO1VWBCV74LC9BUPZ1LYYC42ADQLD50V0V0EN8YGNXGYT818ZUDGS47HHLA4GN24NWO4C38ZPZQXKE3I4OMMWQ0VJAPLRG9D85WBT3MDGVVGDA19D1KV9DHYIT9AITO4P0ZOPJB88O68PL7ATLPGLJCBQ1CEGGUIFK0 = 36#6E4WXPS278TSYE4AD0AKQVLHC2Q7ICQ2XBKLOO4SMC26BWX2WFGKNTS6TS8WFEMW7X9LSMUXQTLZJXF9AKJKHMMI8FH6SFFVJZEARE80BKG35FA4F7ZE0TI7FK929F5PU49ITAHUCASB0LFGO1CJE6RMWT38CTVJNCEMSZ2VXTEPT8DEITC0CDRQGECXSHQ65RM3M1OZW3DDCIB4MPYN0X8X42CXVT3AOPYTBOBJBDCZDNKJ9F5VUFXODZ2LYADPXYCM1P1BDYAVD4F6KM9TRAAI14YPJHKRN7EWOU4BVAHG5XORZPZ3WJ2YJTJWNFQCK7VJ0I5F * 36#2JFI5ZBTTQE618WTGRB8L28YVB0CY3N6UPRB8SRF6Z5PANM5LUUQR6JEEZJUEB57YTEMDL4I4EGS8DAOVEU0JBJDYLGWQ36IYYY59VSJY36T2DLU6XNQOZ736PERV1IB8RAHTRFVNPV8HKT4GLW9SMTD3JN4M80KMRXNXM17FGGJPCASR3NM8UQ3RCCQE6XV7A94M2Y827K4F97E2DVXHHEGTEIVNDWKHTSOWQYACTA05VAX1KBXG4XMR8OWN7YHTT5WFFWLPO0NVJ59RYMJYAIMNA097M2M8JOD8G6A98VK9GMPPR0HYQSRZTV990QH85DRU17BT6YCWW1KQPHG7LQZBN7ASUKDG6M5TQZKXEX4MJQ97R0ZRAWJBBUVHL5ZI4MD0MFZOQ493LDCGB9HNVA5TUFQUBRGT7732TURAD0727Z24ISCD0B02THJ8MDP89DEUOEDGB9P27UPKP2U7QEWLAERU37QDUJF8943D33RWZ02TIKW15UJZ54JG8G790RRN3IBCUFYNQAW6NCEQWN0JVO3KXINVDGJ26VTWJ83D0B2JI3VX0885VNYM40CXZPGWU1WDHCLGMBJM9MTK61WIOC3DWISQT9RGU29TUYLVAMPVMUQFVK5EFVEJ80EPFVKKQ8FBX9VXUUD316P9F1HTOACMPAOY3A3NVAK3P7RJO6E1H7GM2BPC8D6SD1QTEQX7528QW3U73J47M6VZIMA0FWYUC7SUDWTT2Z4WNP47OTI6PSSBAZKXB82RO1L3ZRS331ZDCR5S4NYE4J3MMH5DFEL53CN9LBWXSH3K6OTR9VJQTZS5V6X9IKU3U8HN9MOIUQOYEZ3WUKKZ0Y1SNRYCU47L5UX87T57HLV3KW518YVLNQHY8U9LQN37UWV4GFJH99KXPUPR0QDR8ILTER4Z6QL2ULSUZKFQRANZS5F8FHW7QEFF0PGC7STEX2OHIJQ73VAK6AJVPTHQEGIVOA7F666VZCGQPRH10NTWIH2PCRGQ61111WDF0DETOJND5J4762LWW9KLDXC. +-36#1D482ZXXRP0FJTO9FBW7MO6LE701U5TM6MM4MRT3JZC50BNK6OLLZBGW1593B0Y2Q6XQO37OBB4NJZGNS660K3HBL6RRUOMDDR5SPCA75TZ127J0XJLVJ37RWN8CMIWXCXHW1A9I87CXBMDCWAIFZHKOQEPNL06PEX0E177FH5O8U4FOT8BLGKUSBWEYUG5KT6DISLE9OQ4TPPHT9EQFUNLCT4JB572CHSZEV7G2WGKN100J1L43BIFFVUNBVWIIJOFASLR5SDMIGYEFTBGC16V6FJOBUAT99Z1J30G0MAQOMBH4YNMTIIVOJU74Q8R4V9DULRL6BXE9FRB5JN0JWEI7BBXRK6378ISRMEDGF9YVTWTBRD2DU42EIP2Q1URS84XDH5JJ677ONOAMAU2Q2JXLUCP9JJUTIZOYJT6MGHO5CF019TBVA5XAZRXMK3R00YY43AL6P6TSZNK0CXZEDK5JUFZEGR8JENG6MPOUF = -36#WF3B1JMRX6VHWRZ3M0ZNKAXH0GLRCVZFOPFBRDUW2H3YUDHZ2PYJHL4UZQOX5Z84NCYOJKF1GKI8027E92UKRV74RMFYGUZF52KIRMETDPANYRU3DIBN1B6RB5HTV22X7CH01ZNE7TC9KYNUFSD70R5YQVUSXEQ6R6JPRV92V8OEH9AKB1JIF45EN6304LS6W248J7SQWI8KQ8A8DL2QXKOKPK40JQNNFU8G5R7498208JYFRS6L3N7H4STYMX0AM43HNM7RE5RJFZY77SMKAGE2EMHBFZXB434Q4G2V3DEFD5CRVFN3430OV5DGSLNEWMRO4LKLJP2KJC7T7F4GMHJFDQGKB3WJSZHR1U1XFOR9MRV2OOQIK4E1CJFKL9U3CN1S94S2WHGTQ54IORFJMGYZ4JW0YZCKSWI5XQ65U1M6REP32EGMZ3LBJ6WTICOCA70ZLZ2NL2YXV6CDPZYVYGQE01M9MA2IGPT6SU1IDLXEQ2YE9DG4AS6SKLMCZU67IXJ4X6QDXV23BXHYHWC84KTFQR1NXPBMBA13SPHBSB36IBMXTP0EJI6DF0X8MDMWCSM61I8ILTNO9WC67A6JZPP6KAT8DXL5WNQ6A0C27HI0YY5T6E32Y8FLK66ZZT5BW83MOQDVY9TGZ1RL7L4PSK3PZENSUGHS5QBBTTNGJGYGIT5LMI02K4MQXB7LM34LDYBJ0E4SCZB1NRP8KD0WUB8EQ977BY0Q7KTMNCNVBBOMVRBHLVJKMGCXKNEXCMTWIT4179K9BCT0EBFG5JL0KBE399M0YZCHAKWE9H26CZVVSU9DY42UMYRFZ279P2O950 div 36#NREN13BXHM5T0MTOPT6ABXTGBJZR4K8ZA29GVA8B2JKE4XCKVY1PBC51LYRKUJICISUEBSYFEW9U5CKNELIZ4FII7X1QLWK07NY48VZB97ABE4II7KHFK5MPCWLGDDHM3XBN8LQ5LNOZWR1OBEOHWZCLPDHQHNYVMDKGCXYG9LLCVX3VN7PEZH6C0JCN1YD54KCUBS0FT2UN1GWT9W8LTNKQJGWIVLYAZMH6IE1E4C91NSY3JRWR9WT82D9E9BOO2DBWRT4P5P8PETMHITJI596QE14ZGWW0KBZW78HQE8NI714OGQXUW56B27YRDYJWZTLLNAPJYDEVA7YWE8IV5OOECC. +-36#4FZO00VLQME6ZVT3DUW8DO37H6CDWWY5MZDSC1SJ41GF7FR38THLS1DYI4T82T2EA07W39Q6MW28MQHO88L600LJ4TLXM6IFSO6S0JLIN7YJ46VBDK08HGPHH3ZN302UF367T9Y3IK0KO9XDT5PJB9FD3RZRYN2TQEJWXTND1W6ZIXRA9CY9TPYIQ99RB7EWLHJ1CJ88J55EZV4DJYL0OEJ77D6CBCKSP338V24L7XG5HAF39GX5OBLBKVRVG8JBK1Z94Z34WGQ3YAXJ6MW3U259P9JFWF2OBKG6OWJEGPSUSBXFEU7V3OPZ186Z601UKCXVDBVLWZUZ3N2EXIBYRTPBPNPOE7H3A2JEGOIQM7PV8PUQE7B0DVCUDF3ZEV0HRPMJAMWHAOW454NU8S67KB8HSXRBT43CPOZO3RR0E5A5GC90HVT6X5UE39WYRLS0MYEVKJSK0L82UDOOB856PQDUVQUU77QAGMUI5WKROBS1K9C2REK7DBY4MEM8ZDGZ1NS36Y3G8MHTB2P52KLQH8EXHN2PQXKY6CL7KM52WUQ6ZY8NSCILL6MONNRDAS79RAOKO4C28S9241N2Q129QHWVW79D40PKK9BOEHI1G97I0POQUHF5W7PGUYBLG78IZYFT2H3YSAZ96NC5GUSCV0OCHWNKTG8VF78JUIIFZHAVJNAHY9G62INGLRWQZME4JIFMNCSKS9DNIMXE5MICK9GC79P3D3UKDWWDTML8SZVVKI5T7113S5MNJNMNUH2B2C65ROUWPSLSXWR7RFIVL6ANJF0 = -36#AN8AK8VEKS268BTKJJGMUM0EI3EAYCFR6P9FEHH0MCIORW6DC1CUMQ3RAXYOKVZE2WPW5W5MDSA7WDCRRFQDQ8QDIG805F3O3KW0QL6BCQPL9WMFBT4RQWVN8GXTACIXR10XA7CJCCF1JC870NS34CCDZEL8D4CPLI4HB7O5MYQE95I3B9P61EVJYNG2MNS1QI8XBJCTU0NQ7DM79SH2XZX7C3SS9STT12Z9O66OP35SA67JZBG0PVFM1OVMABHGVL4DRIAIUXKOS42SNW507NXK8DWELEAXW1ZDFID9GUA5OUJ3PGV2SXQRIL39H9NCWBJ22KFY89RMJ3N2I5D0U4K85H1WGAHFPG4RPN6EBQDNWWMQ6RJ6RCZJWTJT5C3G41W4QJAJD52XJH20WFXW0C7UYVWHODL8RCVJQQD9X0EORX29I5VQDUKZOSJZCATPXZQDSKVR0GJL9XMPJWPBUEQ0L8O5TPOHPZ16HQ616DMPMBFFZ7P17NGLJO2GE150MB5ULAAJK5YDSABRY9XBAXL5RRWI3OCFCJKIKRUO1V09TGV066M9CYHOWFWT58XKENYFW9QK42589RYMM7U6787W5W * 36#F11WVU9JEAYKO2DOCW96B9789J5771S5WZS5XESCCYPMVKA3QHZA7C5E4HU5KKAD8WCB4ILNNI3R5KGQ7RHY1D13K0UV88VVGOJ8F6WJP0BFIG3JDUEASUIMZHE98B24Q0YWBVXY2WS0Y60AZHYHHA2KKY06QRK2H5E6K83OYK53K4VWCAVIK2FOK9EPGUIRR. +36#VWKN17RFA78YSRU3HF6GUNCOLTPYZJ55PNABTYIHE7NWPCM8MEJFRWXDSMTS3YWSKP1NVS7CJMRP4YR86K28ZSOXDA2FOUXNRW0RRTRXA6RE4PBXFJW33P1UY2RQFBHOB2PXGREVJ6LKF9U7ZFHT3G1OM06U1QL4TBM4MFYKAMLXA7SK9A7LVAHFF98VY7SWQK036UF87MO557PXG78G66LQVT46T9MWPNLLXQ87MYH56E7EVBJPUSD7ZFREVAE2QE19C828MT8OWS15AWYRN8WEKHYFTXVIJOSYHOVMJ50FHAHYJ7RVQ7UUGYJZB4RGW3H4EB6ZEADSIEIEKQI7Q4MBX1SPESI6WOSVOLQURA5RZWOC6ISPZ34FD1NUFCCO8OB5DERPOCT4AY4ZF073RCMFEAEX77PZODJPLYY10QEB2J450P092SJ24D8B79IL1F5NZM09N3NCLN5L0W8AZN932XJ9GLNBP6V1PSFY3NH9Y8BTEVW4BP7B7F7GK487ISU5Z8B3FEV9BPYIIUAES2VV2S9QFGRSI3C8VP6GGHT4KFSHP7KHRZHEUNP7RHFZ92ASUAGO1LCY0F08KHWCFTFA93CPAK5MCC84BJSGFLNIGQHVRCKC1NOJTWJ3TKIURHRANAC6PS6AG0E89P47IJWYHHUVVWUBQ6YKIQMPRH6EUUZC09E9V5W12Q2B9CKDX8Y4QDGIAGTZIZZDTLTS9HERA1WGBXUNCWRFD4HD8DJG489JAL30SMA6MV613D5N59AH1I6XGQH4XHAMJY0FN9XIAEDCPHH89E2SN0M1Z9C2KAJ2DIP48C9ID4GBYJV4IWMJZYLF1669RM = -36#HEXGM6Y9W001EXEZEOI7PR5HVGG7ZFPHZ987GAU6ZTMKRGG5LP8RE5X13HNY7T7NDYPWW04RIPW1J49PH3SN3X04TPL6KFW9561VT8IE31QGU2QJ1GX1VOWV7BOMWQEJGFIC8SBN34H6PU9CPSYTP1M3Q93MJX2W7W8KPK67Q2QXHSNAT2WSG2MMTMMVZD2YOV2HQJ7KVHYEFJ4CW23C94JFOBV7RN8NW5F50C5FQWFPHQRE1UON7U4OR77PQTLYK6QRWOL467DW5WUQDAUQPK684SLZW1OQS12SAOJSFXARZOCATNS53P1ASV2C2OCXQU8NU69GYD784AJGKHJHJHA7HUFMHMW196WDJKVYZ54ZQZGO1DO8BI1HOMWNU4OUUFDAL6UX00SQ6FW02481X03U89GA3OJU7OVJHYNLRFV5UAMDM9CFC7IWZGYRZWB14IP73M7PWTB0XQO5NXBOXSNBTDGCKCAT3J4EAGDIFJMMCE7ZUPHDQKAVOKG5OZCXOW36B92ZMECO37GCMLBVPL4CUACDND4JTEPZWX5TTBFUI0ZFJU4Q25CE8GFTSIZQU61MMU305KONS8ZIPUJ62Z2LIE1E07W2WF9N1IND827G0HH659U6O7L6R4TKGRS9OXH1K3AEFN7HAH54UGUC7JVX6R9OLCYCQR2AUHQPUJ0KR0BVPPZL2OM0TGV2VEM9NY2WP3TQ6P2EIYKQLTLFL76LCI58VEF758R6U6M5VYXS0DH6WVBJJRS1EJYCO9M9BKC4PAURKND7CZ3RM7U9S1IDQ4DNNHN3PB03SQCO6JT2FEZTN3WTGVMRMA27PXP31GBDCQS5Q0B4Q8B94LN06Q895C7O7DEBE302GBXLFSM1LCJYEXJGIVNMPX7TPWAL5ZAAYCGYPOD5BGKMKHQH12F9F74I4T6T0H0QUF659F4LACR9ISJG945IMYZYE455VBCKGQAP98CLDSY4XCPWCTSX4A7LCBV49DPUMLCYEC3990EAVOME4ZX6VEMMDNKIRBO1CSICQBS4570JCS48RI540GD9YFO9CCGPMWUO5I2HGQEASFITYDTV65L6ILN9HWDNIR1OJFL2RKJFXW0R88HKDLUJG595E8P398YW0U5FU4GC4HEBZTDVECCSBYMOTMZZS0O2MC4CIM9ZATT2GII10UESTVN95JD0Z5L1OLSH0USIOFC7G13F1C62WXBVBICJFDD3GGF5J3G138QR7Z4IS4ZDFOXLRQA1R4K2KHOLYXS3S6H4NGQMT1C2GNX5IOT5TB6H2OQ0X5FM div -36#JNEE823EH6OTUVTY9TD2GGG9G9JHTYC5BVITSCOILN71SA2TQ34OOGZVSY4NDIBRR8EMKHHO2FSWUYUUDUC3TAJF2N4IX28OS2KE2NJBO3MIRNT5KJKAPJXSBLB8W29Z9VOT61YBMOGY9KUYBAGYKGU9VNC2KN5LGSA8QOPKY9BCP95PAIGA0YQT19VK39WBRVOHUMCN6YPH5UCY9P0EI4K6KSA0IA30MTF572XFZ385WL1I6T7IFBSITLKXBAJOP8T7Q8HJIPUOJLUPG4JTBC42ZTOZONQO7ZT5P28I9ZBN7PRS6QA50T3OBZBOH253JD6WDP429C35DDQYAIJZ43XU6RIWUOWSR3NPSUZP2C40Z4LNMA2LZFKABIRCRMCNP95YAIVC2VCXFJKSOREU0SFWWGJO5ZU5BFLW45HPJ0OMRFLN9BJHFNOTU41HV5DP61. +36#FJJE25372BL2B95R8DE35PTZOPB8EBPIZ6H297L8E5FSONLRK = -36#9MTY5OX9L7LEY24ZRJER6V053PSRNHU53JM02G9DGOC79KFGE1V3F28B0KMHI3L67XSYGLPRLSA847CTODAXH2RRSQN4IWO4DBTTH5P1B4 div -36#MBBVNY0CZ0DHKM58F9BMPESOT7XIMJ186UGP4433JDJQY23PNHINTCOW2. +36#1G5RX4D49YLA2XJCE9Q2OUZZHFMWFCSINAD631X6GX1UVT3TAFVHNK0VAB1FSJUFL1IOI44WGW236NQ4DQAU078LKASD3B8YAN0KIUWWMBD61R0DIX6YLJJ8J7RR = 36#1HFZWW4E0UIC7VZTKWGENO681SCY28NBDRZTE4PJ2XHIXNP40R * 36#Z4V4YVKB0IO61IW2ABXM0EFF8AVNH7UIA1IRSA7968JR32TWV29NABFSGMO4PSEON48DFOILH1. +36#30WA2LHQ9YORDNA2IP81G56M8MV4X35CXICKOV8JL6FISNNI6B = 36#9BP0M4TD35TRSTSBDZCGR0DLSHCHLRBJR0WKR7P5SK528JRGQQNRQ5E0YCQ37UNJRJ6NJXTDKSGRM6U9FQW6BSSJY5XQGDFEQB8JBQT6EY3CCHVXZMN43MDKWCJE9JBVCLS3BWWD7B39BXIPF3GYWTG9VRM8WFSD9756XJEM7Y5RXX2C7QE5KFIE0KU38RKH5A5QNX5180IEA3IBMPJVRIKZP8KHK0TTV2RHCNXWC3PA86RXW6IGPDP5G52ID87Y6WNEHRYH6MIAKY703GFIA01HLEU29PQLRNECFZKMB2FUFTWM7FDIUS5OKUIUZ09I91LTHBV6NJ0RT1XUECDOIJIAIFSL17OWQ54PGKHNI6XVHQK6B2WHDI9PO8W78AS8DLCI9ONHIDV35Y78TL1GWVFTNWA373PARG6HYB6S4F2UWR3IRTLQ7X5R0VCMBQRGXTBPU3YJTER0RGWUUYPRLVZ7SPGT6D9CMOV8GNJAPZIX4BR7V6KGDH6VONCJTF8RLRC666ZVTZXCB7U5DXSCVSP7YPEFGN9ZB6LJM div 36#32Z63N82D4VRC0UQVGL7BFZ35DT2S0DJ3AP8XLME45XF9V17GMC55J3W92MQBUF3R227K1Z08N4NAU0O4R6ZXS9469AGTFCL2UE0ZCIHP21552U1TFZFPB7XWDBRFMKOUULL57EYFIYZGYGU1K9ZHNWHYY0LWR6Y6N6BQXE3F16BSMPMV7AZSCQ3SG6N3JD827584R0IX0QYQU3IECPT1F43BCMEGNCXS718V5UOW1F1MYU0WCALJDHVE3XYV7LJWL43RB6L31IS5CWL6EHZG18KXPPOPP8KHGIMCJKSNDP6LOEOKVAQIUMY2X12XUO33VYIM8E093CWBGUW6WYANRP6Y1BT0EARI48ZR8OH7RV9HU6HBEY5UFC133SKBIJCCIUKYVXA08YBXHZSP30A42XFM2TLD0SH3T58BTD9D7A5MNQYBT21LZOWVRFBZQNNC0IS41USOJVELSLVA9LJCXEI1T7T933LQILP87Z88NS2GCFOQ2H2. +36#15EZYGUB6YZ3AJFXBX0B7UTZSZPBFFTNVKDW6NUN01TMTJVPJEGI4G7KGY86BWTXL57TT4BTGLYZ1MTGCJLIU6ZAJS7JDJN0C378I4GKPVV0418726C24HO4JAOOY9MMJMWSEB6WPOTQ6DI50YWGK2EWEXEQHT710H1C0Y07U7658EE4MAM9VEJES9XKQFCOL6UV7WNK8E4WWXT9P4QM3PXSKTU6SLRQAY8HWDMT09KESUTT1EA5Q1V0BF2HNSSX72SMQGC1R2WI3OVX4VSFKDOUJ3M1UTUX3O6TFSWLZAP2W0ZVAN87DSPV8CIRG8MAC02GSTPJL56DG0MG5WFEK1E688HJ0VZ2LBFVH0G4BDAGBTALTZR32KYMG9NUJNZ2W6SMXBF4LM8JYPKDRYSU8DOILQPXIX8HCAFCPEATRTF8TURDE2NVXDZC9DKOBLHMAZBZBAIOZUU12RHC7DWAYV12F5928I0DANL0B7DHQ5AQEKADM469CWOP00AQYFYN9MW9O49WUK40I7OM8N25V0FY4Q7INDGTP2LWYXGD29AY34ZPZZD4LQZ = -36#9T9W507E8Y4SEN15HR7RTS0SM48PU8XHSMT0RGQJ6DRV237EQK93BWDX76TYC1A50DXS841823EYW4VD91MZWXX7U1WRS6OHSYSFW06WN9I0MXFV2CGQYGTCKKNTKPC7UY9G1SIUJ0QRUOZRO53XG17XHBAUXO1LMN5AYEWR724123WH4F6D94563BFO955G3WBYQRXELN397RS0LEHC90ILPDVU8CGWXBMJY3KTBD5EDZF6F9QIY6AUHJAQVZ8QTB1V3FG2MA3IVZQROQDOZ4V0PWJL2BZH6TRA1E2RZYM8KVW00D5PF6S0C0S68NU0AJQOFMKFQUSOIQPAR1NSNU27GNX1D5D8SFXD9C7JDPB5S8KKHTBR591DN1XDORHC7NEKTK2YR803QPIYTWY0XY9TE5YD31AQ494D313NGEBOB1Q4T5EC551U0I9IRFEIDTT6IYCGSIOFCZCRPJ7A8D4L9SY0VJUVE481EMTZBOJHI0N3DNMGU26XAVXEHIQ329NB62SE82S3P0MVHWOG91SBNI5RVT8NN6X77SMTO5R5H8ZOK55PLRX1FLWPJZ8YX0FT0GIZQMLPD83Y3A76GA018B12I4HXIVH2J3EWQ9G1K8D2DH4AD4H8ILU28M7R6V3DAUW7GNTUMDGR6A4E2J7TRL6LLJ74EVAV2POP28LW4QFJS03J8H2O6PYQJY5KXXU6O2LCRQLPJFNHF63W292QOXR81FLZAN0FZHOVEZ7I97JZIHJNIIH06 div -36#8J2LFXEW9SHL71C3ZRQIGN9F9FD94IH1A34OBXDPIETWSJV49JFQANMFEDPFLX2DZVVJUS2JJ2OJUAJ0YNPN0D08Q2SX9SVMA2DQG323FV1VEQUA49FNZXK1ODD6P9QVJR6DV1ZP4GJVWND7TDHBU7VRKTXRYZXPV8FS95JYUB6KLT5XYYIU44YBIGKNIVB3EHU. +36#1NA3Q80EWUFNV8QY3Y17PCB0M8OUR9IRHK48318I9TSMDS4E2RI8FKPAIAVTGFIQ0TVI3M83MLRF88FE18F43BJ0BWTPDAODTBCCKBS0H4D0BYSNP86Q5KVI0UE69XXSOKSL5Y9TVXLV7RDMMC52QWIFAECZA8XKJGTUQM1XEVTFMYP2V6IAB947YTPCPC8LERSHDR6CRYVZSATNW95Q65F9OU3NWSP2KFHJOFM4BGMEO819CK2U10CK6KWSJO5Q21CHKCMVXZEJQ84DV40VOHCSR2KJN7S6WB34BW9P3XTAHV8MES94ORFEBD0CNNSNIWHZLTMPB2KRIS = 36#84UNJQED6LH363VU1NQ6URG5VK44YB2OHSVRI4FDCABILWD794FIRTH5ADOB551MHEWNTFNJ1GKREC5769HIR4TNI6ADRGK0JOE592V421Y7PSJ0KLOIFQHCK8BQFHIACI4E3B07MTEJVSEE3VENTX8CRWOGJUVB9O0BO0V3IQ3CNEFI38KQJN9OOLHBIN6UV9N558IC0JYMGA2CDSDMXYR1EHK15EMLR1THEF2I83D5TB82IC1UQQ1MJGW77GLXOLXE411JZHR7O4JU145HMVRIM33IALFHLU06BINGEBNW4NTIP6SUBTVA06AV02EIWVYFVFFMMIG9VO4UP6XXRV2L7TJZORXPVQNJ6DVJR3K257MCYDISHGUYV9BM4K div 36#4XUCMO4SO83V2VFHBQ2DFYNHXIU4LJTW94S3OEO876V23BP0T. +-36#2B1QFCL9AA9BXESE2NMZ9ONVR4MJI51G5UZU8WWCEO0HEW02QA = -36#806EO607M1R3CA1MDLHZ8VW4RTUJ7SMJLGEWGF8D5LNQLAS2NRC8KUATA3PXWD8VVOA5ZL3UFD9JOYKES55CZ3Q9JGNS0J9T0EXKC53NGSZVUQT8OQ9SBSQ2RV05Z5LE9XDR0VDAPHX70YN6NI3WIC10A65X1HTQIUI4NDRICZTMP0QGDHRV4L5CBS99IAOBW77UV1SQT8D8SS787FPTGS418ZG7533CAXT9I4I99FWNNFDKICTFD8STB8EZJRIIQQG7J1XT27HP29EWR08TD7Z8XQ7WAUYH4UB0LXC4Z1E4HGD0BJGLTG1H6250RBNC1CX42CNIVVWM6DP7RXMNUNTM5IZYG30YSMLJZ3LJCET7DTRFYBAWA85WA0PIS4XQLLV7CMBTSIQ0ZUIBPE89Y96445HAVDJPA4GHEFYCOQV0LDAHD6UVKGIZDTB2RGVPD6WZD0UO79Q8DRJONQRI1K92HSC9MOTQ13YN2EBGO9N26M95J9OWHMH48QFU0D3U48TKYEH6E4SS2SU0RCCZ9K3UENFRA3SRDT73D436JIYYT6225ZBQ6WY21F4BOIJQVGJS3VVYLVBCFB5LEDKST0VVXIKPTGB9LB5KM7DG9GDXU1AEN1FYE3S6FNTXK98FSXK30V7XE0L10F7M8AUAH2UYJCGLEYAH2CRG9YP21HMAHT1QYODAQVDFS3PRPZ6VVMY8DAN4R394XS359ITYZ1CXB42L7IV8GGFIGO5HUNTPD1TZ5B6K3LSI2Q668UD4RACRQBHRGVGY7AXCZC4AJQD0D1V3I2DP9JE599QCZC9UHBDBSR82R1Z9E7XMVK5CVCX1560DW5EL2LGSSVJRSKUKGRPP907LVDJMCV0BBY5JJ2K4H3XOLMPWTXJG3DVO1ZB1H93TCO3F0I6OB1J2RF5V6VLGGO9ZEVTXKNCYX0WGJ9728HH5L7Y851HI2693SOC15C8QW43WBP5FCW2GIRDUCL9HT1KT1OJ2CK731MGUHWOW65I1HU1LGW0XYSEZ9QZBX05P4MWBPKQ34LNSFXGH98ERP59V2Q442W30Y0EBODSJYN2OSRWKE div 36#3GX4SK29JQGQXD7VLSUHIGD8PBP3FI3MN1BELULT4AH7IKIOP4VIA4EGBGRDV5PBSIEQSFB3903DD48RWOR0S16A5I6R4O5SI81H28RWC0JHUTG67GKXO7K7HEWVK12K5TQI62CGIG7KK79CWKX292A39Y7OTLY6NAD6W9N8FO3BZQNZUIA9WCHTOPHJ4S3UIWA464ASYV8LDU334RAJ5RD19SV7OFGHVH7RRFGKZFHN6SK6FFFV71G8M1NCYMIYT6LRXDTIS86178OY7OPAI3RWRBZ7LAGDY8FI1ZWMU0JVOOMW2R3P3I5PWIK2KC51FW8OFGRP6HJ6NSGWZO5TG7NPVQERCU4WI05UW4CDONKB4F7TH9GG1JTRA67OZP54AGNKC73E7GTVBK2ARRD5YT8Z8AVPGVDNDFIGO7TP3RZ7YUTXCD4JOKETOOQHRWYBAVBGT5GMYXQ7TZDXGQRRT3E1NRL3R92BDZNL0WL65BHJG66K9BJSOGNBLCZK5BVHZP6KJ6M3RLPV4ZCRDLY0UHSYK4JRVPK8OU5AU0GEVCXKBT9N6AX76J5P84FFNPEIS2VE9MANN9FPPQR5M2CUOLI3T0V0Q91LJXYHVHVHFTN2MJJ4D12G47I66UX9R35QPFH29U46MQBZFDKZ19TGA9FIY09ZJURBHKKRBRI0YTY47QZGTZLQIK0OO5LTYM6T5D791C47B0D9TGWJKEPPNUXCY6E11NDQ281OE0XAWOTRIIWFT4FPVNOSQPHYUE51SV8YDQFKOI353NJMKCNEYBLP4GTFP2W66ID984Y1TS01BNYMW02H12M1YPW81ITJGHPTJ9O64VXQBXLWT9VZFF9SVEHGP7OQBZF644GO1J03YZSFK2GFZOTBOKAI8GS7J477SPOOG0W5INY2WO219ZLUH4J5RV4ZHOIOZRAHTZLPHCSKDRYIB8YDB6PIW9IW2XLQ3GT4WX0SPMHEZ4UN2WULDA3OMR40608NF44B3M2GBHKBKIXK0W10FFKVH78FZWWDBZSN. +36#2XPD4D8WNCNYFQOO01D41V3T202S92OM7G8G8J5URHNO81QSR5 = 36#28D1AONSVG1D4KQDT0ZQODS4YIUPUWSRA91E9YI3F43IA87YZWD9FWLRIOSG40F1RW5TQRL78768OGKEVCKS0MVSBLXC261BDJQJVNEPG7PNGKWULO54FEW7RGAZ6ABAPJTPNFM6FX98O2AWOH16MQP1NC83NC37VGOL6X9YNSWHWY24YG4C3PPYNH426105OOX9ZNTCXPJZBB3TW717198LM13YDF30XRE6DE6WKUATXVM2VKG7M6EVD0JFWUGFY2P3UNVNYVUXGXR0CEILL3L8XR12EKJ3VKE577ZK75U6OJGDVPSB6Y1C9439ZOFNQ7T637KBKW5V5VSDV5VMQL46C6RXPWJID7JTNGUH1S2B13XU0ASDZMOYJ3AAF8DXLDP5Z21M28P1D24684Z3R8DIIUXEG371KE11Z20Y0315SVHWEG7YCCALHAXF77PL9XGYE7NKA15JIYU7LIF1NBZD9VWLJSYHZYF div 36#RDABG9HD323PWOXQB5JGGQK2YKR9EU9YH0YMF8RMDR7B82CO77YI8VS9OW2DGSPGEJYTPV6DIUHEU71YBIV0H0RRUB5VWMXWWQ6ZZTYZAWROPA69M4W2RAPYGK2NRF1USE0CLZPO9X7GY1OWB1GLH0TVE7PYX8CTXHWM9UU663JZ6HRNQ9XYZW6F2UZDG8D5TFFM5PCUUEB4JSJ1I1ZBJGFWXSD1PLG1LLSZ4GTSIW0JRAEQT76WY00A6TVB6GE9JD1L883ZJRMUFA8OY8MPWL5CCZUJHOCHGZ7DO8IQRAWD5LU44IFPKES0EX7YUPILQGC7L2QXPVAY5DKNZT94C955L2A2IQ9ZZ3GE3RI2PW6VOYGR8KY3Q11RYZT0JQT2J0I3K3M2TWKOAIBFBX6AOG7H0UPRMYEW17O89IGXPXPVER653. +-36#PQLMC0NV2S7MQVBWJRYN2M9X1TOE502FKLX66P219CSOFOQ2CX1MERECB2E9T5KGAVFWBRGAP10GTNSHYQYL70YNDYQ19M40QV1APBQNSZX3JQVKFHOBSXLCWIBVR1SYGOZW7YZJRRQPU3HT1WXTVJNDLA59QDRUBPV9O4BH2NX366433SD6ZNB9IV4335G3R4G746AJWJPCIOFTL3PBAYZX5JP6DXJD0GA2SBLA4B261NGL0QCVZ38HLMO8D9JN7P221O7L2DXW9RTEZSBYGSXK6XEHMEMWMWAA74M6E5GFWA0LYR9XPNLRP44UWJ3OUER4C791LTDQIITPEALFSRF2ATGYM1CG4HVKDD3QRJW41XU4YYTFJQH7LKH0C9VLJDF92ZXXQ0AFP9VK9TAPJQ90Q2BJI5TCKUQT961R8OWPQSOGO2OIZEKIINYRFHF8IOAAW32SCAPLWAZ6VSLFBLVPXVMVQTFM0GEJ2TOAMVAIUGEM3SFPTMYD8SAEBMEFOALW7ACMZQMRD9MPMLRWS8PY0H096IC28GQGDOIJSTG0V1QYIF6JZDYKL64HYR3QT9NHXDJOCF17MR28DX3DPY0I6ZLFIQGOIZ5RCUQOBJFPMSBPL3ZTQFED6Y76BSHXAKBFEEA8V8ETVZFSH4C0BSYMQV8EZTSZV0T1989QAVPCQ72HGC = 36#20WF85SA558VVAEXL957IG9C63EJLM19L1P81ZIPL3WMXSN8W2F59UU52NHQYEUTPK9ALT7P82UHBLFAOEDIXNHCGAD0P2FEHOQ588RNUN259USE3HTX3DOF8WMWAJN1XA29TSMU74RDJM2MX6QSUJRQD3KYHIQ53V60X4BFIBAGJSII6BZXB5PM8GH6SYPLHM92FV29IZVQWT6T4UG82IG5X0HB15SPCNDTWM1U4NRNP9I3YPMEEL8UKJSLSPIBSUAZQ3J4ZLHL3YIGYKT05I0ODRM4KLTIV2PMV9LVQW2B43QYYID8CYRYLBAN7VQETEVC8SU0D3SAN50VF4AKN0GHG9P3ABVCMWY8RFY51GU42LILK6PSXZMURRA1N383RAG7AQVB48EYDH5L87QL6B3JPIBRFOP7EJ7R3PMGUG0S8ENVM1BRNU72X8CWX3SK00SUQSAP34TMK71TX6XGZBOMCYSLSX4S5OXAGJUUK43FVLMCDKGCKUEI2NI8YTI1TQ48I52DQTLZNA0V4XE92ACJLCD462WKR9LBRKLXQL8AHXZX2V9CIL7CUMZR6LEBYCI72873TL8561FBVZVCQ7WB664I9NBLTKN2S4P3AX5M9Y0YZPN0EKTQ07VSP558NRD75N6A15Q27U2V0F74ARJ2D8YG46WU9KZ0J1R0E94CH9E4X3XEUPJ25E07M01QKDLDWIOUQODPRTSEZHSWWWZ3YPMV6G8S42JC div -36#2TYOEH33F0P2H02AKESNJ2NAOD85UGROLV31TG2EUCP4IVP1OA. +36#7B24GDTE5P7O33T4GTSXLPAC59YRYTW6IC18CQU13CU0LT8EY8UF6B9JL49S9XUZADG32XHVZZKXK765SW723HOAGKL5D0YIGA9HI5OAWINDTEOB9LKT29AWZW9PM8FVT6ZCJ1OS5V4UUOHLUKA906845JNTSA = 36#2PVUBGQK2EAH44KDZU5K4ACT0KERCKFVNYGZAYZ6EY0CDHCCQMP3PE8ULN4A6KJB66CR597YSK49I58FY1FIZIO9J4OR78COEQQSZG99GEWM8O8W5ENFXUM4Q50BKJFKE7N66BKRCSQ864F9OCD6YH3KVK9UHVUN2602955MHVIE7HRI42DM3E5I5RFA9DYQMX0HMD3X9A39NVATR3JFN6PC9I472ET8ZLWR6XNR51OLUTR2PSMZ7Z14LFOQLAUMCZWP38FXHGTK11YGWBZH1CQH4GGAWK5HB9EJAY72V0LQ26O2D1UXQ3RNRBPPI9VGF6LGB2KGIJKHY20SRQ84TR2ZYWP9BQYQK9ILO3PYYCY6W66ZFIUK8T038H9GRX6J631M1EXQCEJ034BXKQ4H65LQRHIIEJYZ8H5TCYBFROBBDFFQG2ZA5PDOBVUASOZXO3RNQDZPZENAB1QAU6SWWBRPEBCWWAKF2WJ94LA4EMFS03Q8VAPGFRYGP6CW4NFKI6F4H1RUAFCXEDL5NJLGXNEL5T6Z4R43PPIJVKEKAVDUKIJDNRIE1ST8EMDW55VVNUY445Z2BLOSIZAI6EOHRU435PFDIY54SJGUFHZRTIQU6EHZ15J7XSUG8ZSYTF7UX8QSQR14297VV3AFKABWF2BIXF2JLQGUTXZFRPRQZ0LKSAFSUF5AWE20FSUB2A3NUW1WIJ2VEVH813C21HXCTCLONF0XB7PWAYHN4FN9MMONC2BNFIZE58PQC4YRXGLU89G1QNVTRHY8LENN0IML28LV5LZNW3NMUVWRG3CHH0XO2TIDK24BX4JJMO81661HBYRKS5ZBSTRQOBWBAB4I1IJ3U98SJHRRJYS7XXFU0021JTALMLFEP594KAHZ3RP35BELB5G59EFCXOQO9IJNC8X9VWLCY5C402445TZ7IN57GOFWF5DDMXLL20V4PORGY5WP88RTVGQL15KUH2XMGNNNOS7QMZPLQWAYZF2PU0K2ODD9EGTAJGT2O4IJHHN7675OBU3GQFAX3J6MHH6CXHZF9KMHCIQBTI0D48UOD9G20YBIOKTUSATNHL5W11XOVI14TTDJEHBLC3784XF4ZN26R8IWGVBALMZVOQ3WLHXF1L25HOLSIAHEJNWNMQ3PNM3Q2HGAJD26SVFR5KW10LEQ4IQ8UC912IJUZ45JU9LRO7CTQZSMV835L1YP4LH846ETJ26ARG1CAJT3X5846ROX9740OEBOUKFW div 36#DE8QQE4BKEKF4VWF8HJC50JNR6XTGX9QJVPHVTWAUYY0WDUL8J03ZDFY0RPQQTV5GVM2FP1KBQJ0WI9AE4J8TO3R4W8BZT5448Z5XKTD5P05L11SCA8VU6FHL9KIZEOK87GH4AIF8MOR56B4RKI2ZKKIYNQ2ZC10ZS3I377HHM1WZOTJRIZV590M071PO5IECZTQPGWQ56JQBELGGWEKTPZZ7IBDMOFUO7PW6LZODX2XP73OR6FR1099YHN9PBQCWT61WPTAQOW1KP4MNSA5T9PGYSWVMI2PRKVJBS52XUY73UHNN3IQT7X5JODA1W9VFZJLPVUM6WBD82HOUUTWF8IH94P19ZC4Z0MQFW7CJ92EPTTPSMCSVGY2V415VYPJGW2C65CSJ956SCCRKA98CWVOMLYJU2O91IHL01NVPTA2RBQMY6R0W65CHR742PND3M8ZYCQAHEXZQK87WU17AXKD40HE3QHL2M14TKX70PBP44UZ4PANE0WWVQ3VCPJILCHJVNIPRBVYSL9GJCCM9QBNQLY5K6GMXNGGI6BRJDMG86WUQ2SLKSA73B8VHSFYHTM309EWGUQV0J3KI41LEPLHFK38UBG57SKIA7A6GD5PA0GEDVSCKPMIWUZAZ05V3LKSEWL5FZXL3XO4RKCT7F9EAM5KHL59LA3XZBIQZ7Z43SF8I6P8Q18LQU7T0OWA2RVJ08V7JOMB2NZEATTP6SJG5ARTODLLE28JHH20X9LYUEMFD2LIYD37OLKYEVLA646SBYFZZIVW3LPFPYMZQG4F5WMIFK7M4CQJ15TSAY4C76MLGZEFEM8DOBSLQLKV0L7ZV8LOSCAFJPBDUSFUFMMSVSSFLTPMMO26V354DHDD7EEA9S5SID2PZ6U71HDQE82JX02DFVZ93PNQWJH5ITR7LIL8S35X315OW8GZHHZ60EMITP20V1WUS112OOPE1CKOE2RUTDJO6IMLYDJGZUKVZUXAV9HU8BY6CPPAKUWW0RW1SAL5UBGM03TVLJ3BC75SK5PACPTBLDW0R1Y0T9ROYCZT8Y6KPQI8QDTCVVFVX8ZUESO212TSYUXNNBAS3I61YE. +-36#1M4G8TWJ8AQZK8X55Q8SIU8XEVHW4I3EVJQFJSA0XKV26FTPTDTPLC55SOY1GLXXXG10UN6NG1MYAQSA995E = 36#1QMAX1VP99JB8QI9FZNZA92SYVVMFC18I8MX5SZJNFBFF3C5X5GGAKCDKDBY11M5GSXI734OALCLURZ4BYCIOAOUIUWI2DWY6A9K8E0RVGOIW1N7GWMAIPKZ8UNKWHCUSX41YADWHXGMPY3VOXYQBXPV516VWPIWXYE7JVDZBM8QIHIZ0LTV9FAXQ6CMQL5LLNV93X6SSVNJ0PIRADLEYSUT35DBKKBWOJVVQK2KZZ80M6X5Y5PMPP2YQV7W2XB3MBKQRKAVEBH804D7JAZR2MYSZS15NR4PMJVUWQ2VBM8J7V6VDVX5LXZE1Q0U2EK93DW1OEPE8C1EGVJ0U56TAVWIA8OW2WTEGMQEBQZRHTC4XEJKFZQ6JCYICWZCNGT3W6KG9ASQTZ22VEQ0BT22I9FFZBCNRNMNOEOZRYHV79I26LYUV5OWR4RS1A9CYUKPNXND1LGUXPBTVL4PTS7N4HTLEJB1H0G278JJ49OIXHP5FYUO2DZK div -36#12S8V18OR3EADYJZALNX0ONHN67EURUCZQLIBWN3L9D4V6XFDQ1K1ZBHME6A7IK4NYDCY36NMHGQ1ZZBIPJDOAM1NM9FYQ251FXH89TUI1BIMUFYC8UI45EFL68X893TIIP6OMWQVNBTYHGFX8QFQQTBSK7ZVBC1CPZOGY6JOAZGYMZXY96DEJ233VG9J4GZAQZRI5Z06C2V90EUPNGEXT2ZBD7ZIH66J5PJM7U2GMSTB926C0XEMOYTA4PCRB49J5NK15CC9W8BPCGKB5ZI7AK9IW87UG8NHQOYBNRGA5FWB8TEYDP46IL5O6Q0BVEPA464KDNQCUQR3GAQ7VIHL9HXQ8LR0OU8Q5CSY1OCD1HH05FQCL9YC1Q935HBKUY7K2HEETOGY5WE3AB0KSRB2T8SVKA8D1G14. +-36#65S85RAJX9YC60D3DBGOHA2OIKESJIOW4QO1GT4DJ4PBT1IIHU5QJOCOYRVE3H11K1QGOQZUX1I3HOKGJLBYKVZIT94A0JIHVJYKDMPHBAU1GB9PHDRHMX0XYE969Z6JJ3D09KB9W8JAKK97I6Z7235MW3LU0HXQPL7RXHJ97EVJ08UCQVFNDZTNANYO6JY7WM6H5M6OW4GL8NFAG040FVHYTBCSIXJC7H6BKQAC4OSE60XGXCE5AM00LNQFS0RTT8G479VK49QFJLU9IXD2KGG33NYTITJZ71JMUEXCPAWXHKUTNF9M2EW1444M8SHCVHD9B0Z82LITM620HLPGEYWAMC8JNQ96Q6D5AHIO = 36#4KEF4O0XKJ9YP1AWYXYU07TGI2JUK2AS7P9EKWE0I7XAM0F7WE0RSGS1VKVEEL7598ZBVUHWJ2J6IB6FEX4YSH85UG6BEXB4ZGQ9W3EUAD4TBNLKJCAE3OI2RWHRKFY * (-36#1CKD4STFCCPOVV7AU708BTE11AY1AX20VCAVT0BTRQ38V8UJLYKJMIKBUS1BK4CKOQO9ZZRRS0O6P5J7C7DW8D9I1JXPT8AFW558MSY809XXFR4SI9SKFEPGLNGN4HOHWCRPCKEO2OUXQQCZ3IVSVIFPJDRVNH9RI11IGH4JOQH35OP8JBAM6BBZK6ZZVQ4E869W2XAYN8MBCBEE1CKW5UI0HHRAO3DD9Z4P2S80KO). +36#1JYX271W96VP0NIGKIJKJZWJQCIVPB371PKRF58JCBKLHICMU7 = 36#2PGRW4ZY4G6M1HNSOFQDX09WB2FXML3WLS909P5FCI2KB8VPMVHUMUUDD7VRF3HGC4OB5YK2D4M23OI7AQVWVPHSRPOPF9OBBIJ41YUEFZBO4IHLOX5XE4FSFIGS8IYVPWZOK3QNH7DVLZ1642AIWJ389ZDRYYRP2VKI1PJ1VARYHAHU7H4C5MUNQ0RUUC9CXMU6IVES6IGGPHGLKUED4RB14QH444VT292HPF951UIK8BIN73TGD40AF0F3AOTGSUIC9Z75HQTXXBTOS864QOGKY9BH20KRR7DG4M8YKJ6UPO1X553V4WZDFHWF7OGO52VUJD7OWSX7XUHTGYD5K0GNBIDPU5JPW7NI23KP3DWD0BI9XJUDG3F27X29EPAENMIIMVJLLRW7IP9I2CVHEPDD1C79OO8UMEV7HLK676E5UVWVT253DRZ91B09CBFBSOW2VAVPTNGOBD5V9VDEMUEYF43UUA8IRSAKVVQNXGJ1X43PO1TACZ29CONE33EJU3D7VYMGHM6CTJNFQUB6JA2SFJZ71KMGX9VZDVZP91HDZRHF3O34YBE6TJC5HSAIXK05NOZFAVWPZD78UWDNT67VNNYC3UW2WR8I3UWK5SV6YXLEZRH5FF3EB3F7MWTF28ZMY5D4Z5179 div 36#1QOUNXSBAP6BZGE0U7NTDAF8K19HWRZ0THAYMZJELCQNN98VN4B1J38Y62XQ9W69U36R8DEB1A1KT3WW3YA6QA0NA9OH2OXIV56AGQ54WF9OTNVZAOVO6X6N0HNU7NHESWCW1WM2W7BIC51XZQKU9XWIV91ZM1X7DDA658JS2VVR5LZWKX7KB7I14WOMN4QUMZK25KNIDQIEUK3KHHJGB7VYVTMETQT6EDS0MARI8UQPNXEXRKYIQYZ3B86Y0XXB9N9DT62WXP6ZOBKQZFQRRHREFMTPXR9A6M3FVI30CESEPJUCKXDCYAIPD2IZWQ8XQCCYW4ULXHD1ZENTKTTWW6NWKTXFUO1EJENBHGQFRMEXUBE5HLXQQECFOL9SYHQ13S8M429FRIRRS2ISDCDWGHIWIX13H4SXJLBG42EJMPJMN333A9TOT7H512TEYIXFPMHA7V6H28G8CQRRKQWWLKGIATNJWPEL48KZBBN125LIKWZA2S8S89H1XVV39DFQT72RWD5ZUM6ELHPPZ4S4SC8N3FYL9EEMNS89GV17CY9ROJ3WUSW5JITFG75YTVV0VJ3JTEK2GCLGDH6JZQIZM2VW918R. +-36#18LNDZ61QFRB9V15OHE4KCS4MUZTULKH324M31W4549A24CPV7OBBZPDIB24JKEJA6WK4O47KEGSWPWXIMQXXIVQX2I7O6E7DUR5VFVIUFAD5HFZ2ZOHOO5UFPLGIK8T34HUYCLLO9AKG = 36#LE231BSESM2FOCBQPCA5PBRBTGG3Y5NE6LZ9WAFFC1MN48NJZ1GTT9I31CCUFHK3ECDH8RHP2X1HRI23JTXQZWN12CW * (-36#232AJKLB1GA8T7CO7HBKPBZ56IX96D0Z2CG2WLXRXCRJUX3ZHW). +-36#7QJ11XRQIW98XNVF9N378AWSFKRMTCWBAWR8S19MZV6S7R4PZXDZ4I21DON7LXA67L2IJGOOIIVUN3IA4XJRSUJ516MER6LLA6II = 36#1JTU59T7PWDKDBFLJE5W7PD85UJRHWU6UK9MQ4U0AEEG0CVR6M * (-36#4ZLPMU515R4DJMTKINP9SFN6N4PTJUBL4PBJ76P2JYLZ5UA2KER). +-36#HJUV2MWUVHLVKODPMH22SXW1A44MRKZA4V5PJ252RGCE4SCQUESKUAQ8NI80GL31JE02IGTOKJRX4N369D4NDCK62ASXU1ZBLR649O4K15P1ELWN3X5HRSBC4JBGTJZE9Z658EDWIVM9ICPYEJNIT0XITY9ZTD5E4CQ1IUVAG0CP3I8QFHEZHON59P70ZIE2A8FBYCHBN6JM0X0QKRJZXFM430EKYAJ9W5G430GZQR8SZR1SKLYEA61HEVEB83UFY93X5APXY06KYQBTUE6I993UI6HO8GEJ9JL2X7UNAVBWZWBECNH5K3PV6J0I20TDK1LX0I6K7PU7HQ1LF4EH98HYF926JYB3NHBIZAS9LEDTUCF7GIKPIQHYWPO5Z4MX7NMWKSFI2079B81ZLHR50EYZ9X2VJZC1II7ONCG7ZF673RXY1DL46WAQY71Y6QFESXJ59I2UMKXDQNM14AAFB2R84XXLI7 = -36#8Q12OCRXKZ35TKX1SJMAR2L4WLRYDHO3T700COOWAY7AE3JSUUJ6EVM2Z3L6O12K2Z97UEHIZW8KB6P4MBFTPLIGAWP044686BBFPOSQFIPSC0LCIEQR1FHH5L8AF5KZYB3HSPIRTMOHP0TX2VBPT59EQQOIKYXSZS2DJ5XXLCCRQ4W8WX7080JE9X931RN6HLGVER0S5CCILT4YU15PYETSVOACVK0NAPBVN57GDQU0Y7YYQ0PRAYP9KDT7MSVOC4Z9M8YF9KKRQOYLV2E3QYIGHGZ7DIUAHP7OSA5D2UWOV986ZVYGJZZF8KYINVZ6WNB9XDUBHIFUXNEQGGI06NQDP0PPCA2GTO8QHFZZITPK832JM6MR2ECSDU2SZ8AJ9EB5V8EX9OGYNN0XXY9UPWN9DVY629IUC5EXXQ8FNTJY170XYOB1SHD4SGXT2MDPIZH1IJPLBXUXJ0YDQEP6DACVJZKOYKDIIOQZ3JYD3O46SYGOXQUXGWIH7N09NYXDWOK91FJ82HANXJY124L4VAY4VHTEN393WPC3DFC4KD6EGU6OZ45SXGATFAITLLVRM73B9JY0FROXQOHNGGFHTTNWXOP4D0KUG3UM565Z3JPBYLYASH25EO7114MA5NYJ0JYRU36Y5BFKM1AMSEB72J5S1AH7EPQSZG7W2GYDGHS3HGTDT4MM0FD7G7T95UMUKUVDZYMOZLTC3PSK0W5IGDW7EVPRN24VK3G9ROTBODA0GWCS2REO9NMN1XGMNAZ7HQ9AKB37DTKPIL3AN9UHXT3OPG1NCUVVO5W2AFXCUS1BNAWQ635CUFJ5IJ1AA8F3M74S70EUHLWAF95SN721NG96CSCGYK7X77ZQBNPT4XIO6J4ME4G34W30PDLYCCQ1YSC8VAN1NNPRMEGNEAHHXBUJMRA4S3V0RIDBPOBB588AF5HY8M0XDIPM7UVWFL8655WOB0L80OZGX3Q18650P08D832C8R04IXJA3J62W4EUAT72UADS9Y5EJB7VJCN25WXV2C84EY14WGIM4RUB0WSZXJ03ARUFVPPU9TPPVG7WU3WIP05H6KR9IK18WA24AHYQLHDJ19UJUHY1T5CDXOYIRFU2Z7M5JGC div 36#HW3SJFGM1V9AWZERUS6PVW3I8IWA2QUAIC935ILACURD3H2SM4RGIMCJFR5AOUH6BTDBVLOBR7FXI36VSFC4LLGVEPY113D3OUZRI2RTHN9X9T5DJ63YJDT94RZNUSL37EQNYIR91V2IVE99FIOX32EKC8MQ2JEOIDV8M02KXMEWMIJU3WONOR3OVQLH1FB4ER8XRZM673Y2DGVD06TPBYGHV93X156C0KUSR3ZCOHQ8SQJ0UKQUET50H3P16JZF4QY9KS0QKM830R4IKH3MH4E32ZQKSY20I83JIIBQCW35HNAYGVV8XW64LQTT88MYN89MWIWF2OIWUQDRORH66ERIBQFMJCB878QBXOFCTMWH7HRK83D73BG4SXPX4ZCGR8GYBYRXFBQ0IAW4ANW7R8RB96XMI5UW3KJ3XZTM89QC0ZKG605OW955AGQ0IMMD898GTE9ZC5HAV0DPYYV38LYYDS9W4PP78ZKLT0ZFZ54X230XS6WUG8C867MP9D9EE25XJB365GE2GTHRHPXZMXY70VN3FMAIK98S41KY2UA2MEGHKKRJ3G41SM7BYHINGACHS91G7OOT1OVFR0BC398U4HDM589IURE3LEGKHG1V53IJT6R2CRVS7D47GDHXLW72C. +36#16G55361UJO1T94SP2486AUENR0OJYHK0ESVVC33YD2TRTSMPAHX15VSBE4WNLU4D4QMD8R3QILPM8G63CBXVEVMPRMGRD4RAFSEEFZ74AYS43KCPHFWDEVJYLIIUZSSEOYIF08VFVUTZVU32NR1JOPAMLK8NOY3US2KYJAFHFGOQ5390J8ITWUSU5ZGTKMEUHK1IV2TOGN87YUDFYE04PSC5D6730C = 36#1KDB1FK3W7IYK1RBKJIC2KV6XFUBHY1TG8WMC4GEANWPJ5JNRSYTTUH1TCUHK49Z0P42IP8ZRGCH1CL3F2585E4Q7VT3SDO7V6BTYRQ2766OFOUO46SCNSOKSWZI7FYPO6Z1JNGWTEAB4B5YTB27ULK4OQ8TN2NYQ3191GO3WHIH373R4O9MMXIRSSOO4MQ137T7TKMVWS511RPNTUL583CKTR7JC2BS7FRLW2AK5OK2K16PRZSK2158128QR44QIM86AGG2EWLQA0VM6RXHL3CP3ZLEUMLHG4BWUSUIE5500S8DTSKEFW0R3RKLD7DST2RX8RW186S5RAPR00ED3DCVHIZW3SC1AZBA1G2NEVW0X6RBS0FXK3XW76AZ4UOGJDNC2EHVEZUZBIX1Q3CWUBEPBCVGWZEJJ3XS8JPV1J0IQ0VJ8RTB2MN184TFT2INF3HA09OPMIMGMQFB04J20AIB8O1WTCSQ4UXUCMK3ANPANY8VXM0V135UPMGLRVUFZ2MWY5PX03PK0RL5G6KGTOU94WQHRBCKQ0 div 36#1BT14EQUS4W7UZUCEH77IK8AFRU2T7X4BZ89NJLLQ8885H253YREKHR5SJYK6B7EPFFPN2E10KXDTX63T2GLKS3EDMVGGV42SG4HW9IPOMOABJLUI2IBPN2WP5RQK524OXNXROEEZFS6D430L96U2Z02QBPAK7BMR28BUFWIRDNNEJHC5ELWFUQB380TI2JANNSHVEXRKRZDZLSXV2EN2KDYF2P6YAZMSRJ0XATCK2D6ENC3I48WXS88YD6CYKWKKHX7Y0S24JERSZVSYBCNZDWZHNTO4LHPKMZ5H05ZXWAUWRA1NG107VU3L36NLTZFMI86. +-36#3YVOE0IMZDK9CRRRNTI1OKCFIMHZ4A7U1YCHTE5V31KGZH3BHO440U6W688WAMXUKYX4FJ4WM2HLNCXV0CT1LOO67Q2G8XY6KFFENV9KCHSFFP7C70TRYMCC9CYI45KQCZFR1F2X2KDQ5TZDEBBRFZ87NKG1JTLQYZH6V07A2EGKT1TLZAWIIYX1WON73XKU3KUSFGL2CW7OF2GD52P4UH9C3EV2TT3Y2FOR40AQILJID2X7H5MM3R28YFN1IOVQ78LYY8ENJCQY6EX8W6XVB9EG0IKO4AK48AZ6JNXTFH260VTYTCVQ7ZIU2PQ9TN0RXAQBDS3BLZMD3J8ZX85U9XQB1DAQ6Q0U1 = 36#RVIPQLIBP7ZXFEDY1II3CLM6IX24P2PPAN886R1MWS58P1QU4V970CBV5PC4DHEWQK138JLPIZKI6TTNTEC3LHS13O56X1UAKCWSS8DZXKJR33Z1YY1TFD8IDDWGHZHRVKTTV7Q4YZOO0PQP5F6LNJ0DN9I9E9U4PHC5YCRHMUPP1UNARAAY7F1NUEMIJLDY88FP666V0Y8L2C66HPG8VJESLYBFFHBAJLB1OC9CJ68KCY3RXILO597PWT8V9WDHYMGAFF54IN32T2PXB4JJXU4PLP3BA7QRUQIE5I956R0SWHSH0DSO1ZQJSHD2ACPTUZD99ZQZZ1H3I0059X2K52NTEF9WCYFL879S42X61D6WTQZN5UUGSRI8PLWIP7G4JE7Z6PKTLP770788UUV7WW1R0 div -36#70UHADTVPBLW3NK9B8VX9H359K61J69HXWYOPAGYILEV353XUNYRGFJR0. +36#LP9W2UEW0J10UK0C7WC8J7DQGPEMSNKELJ70TVMFG27GDUF6CBEKF7MQIRDIXVYURBPRFNZRYNWM3A21D1V36KIUYIXQFJ519EERG1YLX9GIQF2T3RBXHXITMMGRVCT38O5ZQ9RKSOJ2OUIX7X8S6TZ662DI1E8O6KESJPSTETUEXWIVUOINCTRUPKGPMQS2ZMJRC9O65NDRFQK6RQNNX6C5LUEYF2XS9Z9VW59N7XNTUNOT94Y69FQL36T1TSLNX0R5LSK3ET3RGHWKBJBLWAZ0ZR2YDCKA2IHLRC1FU6HJX8AUB17U99H2MTUEA01O6WFJTM678X4N7DL2TH0N7TD735XDC4GPDEV1MH7K4JFGY6LPJSIPMMSAC3LALJNOIEB1P3PWJ6JBMYZO1NX21NCIOBFMOA4KND0OV7L01VX366NFLUJR3H1Q5C0O57SSNTFRXIXB3GRABR3942S2MYPJBSY0SMJ46JLEKWTSN75ZGZF7S0RIXUB9QA7XC43FCP11OGU3TH6NDAM5U98M3AU7121MAHTKTR5RG16GVWB7X611PCQ2HHTBCG7JNC6W9JIJGWX0WK3BG74SCZ08TVD2X2RC5H2I10QI26TO41TU = 36#1VEZ8A4GH7V8D4EKPQPTSQ1NIGCORLTL02T00FSQ99O2OC4YKI4EKF23188Y0VW1KFZRP42A54TGVM86PJPALWQN0LE29XGYD5RZD6WR3YLQ23XNMJQRDHHDV565HAJQ5L0V9V98BGB3IP4TXT5QZ7LTPFXBBVOI9EOH0OW8B7ZKO43U3E9Y3CCJY54ENK2IV1NHBVMQ5EO29U6R6EOELODW2803TFDVZ83KX462AVECN3MS3U1794W9OGM9CS9H5ZK43ESLBVVDO24HPN33EH4SE4UY2D8E5X29D9XC3SLM0AN578WHCC0NID8NKNVE0NNXD7ET47WKVZBMZ91MF7UG66BKMTGGL8YSOTZ94I40LTYOJNFS6BOM5C434MI76LWH6I9DSGGV9F5O17VQGH0U09QLK6GTCNNNR69MIXHGM2BBINNLOUEOO2PWE7CPLBBW90EU10EGJBSR95968F0DZBEYGBOY7N8U64B0M4C1SON14XJ5TRUM78FHJTMQ0MYUSHEO6RKVD3WQM67HEU3WRN47PPUY1GSWKBJFV21PGX4W0Z00UQO0LOQZTK49H0OYHFRQX6YDCE5XYFFI34V1ZDR2G05T90ZJWZH2396D4MHN1NP0JHY7BTIXOGY7SJXHBEHPA3I8A2M87PEH9WL6L3JLE6 div 36#33TXSL7JMAX1G8FTAK18LP3M4JM1BJK3AL6O8MUL3UP79Q65GN. +36#4KNMEIQMV3OB7CECO51C8SWTA2WIPZ4585ZWGDOCMF8NH8T9WTOJYBMUVP8DXFMP6HQIRRHLOZC5AI0FBZYMMFPC6Q8W7HTNPE7P497HCRPD81C5RMJEM8PT10W6T5V87W5G6D7ERU0ZDVLWQ5KSXKZ32EAXZKKQKBWT3Z273G96AXYOA0S0FTZW03 = -36#6JOYP1FXYCIIPRYFKJTYLIC7A7J21VWYOJ3QX5P0FQ0N0PORTKHNRC8MW6GJGPHSOIGNOWPHM8CQBBFJC0QKEDLGQBTGSXBALHVT1PD5VWXZFFWCDIZ0BF15NFL7U17GRHQTYPM7FAAAUBILSQRTHNPWEIRIL1593U2P5JVN6CFK64OV95SNOHL7E5ZIJA1IQ0D80HE5G61PG9MGTW7KVAC4CWJ7HN6I09WT9B8UYW9 div -36#1FJ4P5BK47LH6466V7FR68Y42U36L9FAOI139EDA49CAZGGNMR. +36#1BJRILCBUN8TLHRC3IVVZ2F4LVFPMW9Z6GGMDNM216IDTQQVN6DZR5ZGW16AZV8WH8KO41QKTOY0SODSOIN37MIWQ1GGXWWL6J1OKMKOSSGTXS093GIVVZ6TTLN96044XPTNTQ2EK8OSSYSUE178FFWMX2NDW86DA0J1OHO0ZLT9GWJW5CLFCE5COHURZ6KTEGS4KAEF4R9J1ZPNVWNWLH9HY383SVSOTU6OFNGYBEWJETCX3RK3LCV4JCIUAZEUOQ3GC35XF5TWJD4BYZ3BZHSIFV63YRRIDRR87H1TYXZ9NPL70S3CP45E73UKYTXT2YTYAZKJGMYV8QUIPFFD3U1RSDCVGZAWN6FD4OOS16S8PD5UUT61DC3AY62XAO480X91O3BZE25VZ5M5IWW7B0ZXGSDNIL2TJN2PO5R2MZOV1DBZ1U94J52XT76JHH4V39MFLBNZPJL6PTFBTPZL1ZWYXNN7J51G5V4ZHQKTAP06U1ACMJIP4D3TCT8U91692S3MCNDOSD3P91K7CGV8K = 36#N16IX94KI1GEMHX3Z5KFDCBZVHDCWTE7YBUDFD64KURSGF0GP4FB2R45KMDEGJD3OZSP9LOXFFE0JBKGGPCYC4ML9VJMPMJVQT693YHX05PJGFLZG9CCX1JOHSN375MOA14VMWACDXTSO6E27UH3HAIQZXE0ATF9TBA5EXL9P8U2L9RUFSQ41JR122JMYAN00ZEWHU863SYQLMHBSAAMW1AGB1Y10ZHQCP26DEHAEJE6ADPNL1O02RJ8R8T0GIC9O6ZF29YWKIZY2UOE27QU3XQVKGU4UOTOWRZDB7BWZ1LGQ8PYH9HOQ05TIYG8Y3KH60SUDKUX9QZFYZDGFH19NNJECT5H5L8IXUQXG5NJE6KQR1IVG11P4P7S90A2HJ6L9HHBPQK26V6XWWU82MLC979VPE52H959WB2BOQ3P51TOOXGI9C5MRCZVS1AMEYXWE03MYJUS9RKVRY1N0TQC34HVHPTSMZMRDF4OHRL7H1LCJCQBZPSB5F2LCS89YPCDMFEKURISUD4YYAV2UO0NRFNHXCHH16KWPMPKDYKMGK9NKWK913UB41RGZZP4UTRDLAIS div 36#HFS8K5Y4HYCMROB91RV82B8L2RLBHAXJSXCEK2K5PGN4RBX5. +36#U6QTWGTWQW4PD4LXM69YEJQZ5EJIBL6KSPUSF8O8UC1DYLJ6KEMU4ORGL4Q3JFX = -36#40H1S6TV9TKCIC5RHP3AF5PXI6QLIPDNUZZM60T4AZKQO9JLQU9JJQ6SYWFRZO0AP0KBEBDSRTRAH3A76MFUQCH8YUVKBGB1KS9JI45DSIKEH5CU div -36#4SAIQTY70JE2AKMNHRMILEO8T62UK3ZSA8K3OA1LU4VCQGYAE. +-36#32V62VKH8HX5V7LN6IUL5IV7RYSPTLTRKUBITYUFKLTT2XL899 = 36#5ZCLJGDW4HZ0J6NLAGFBZ77VBYJ83873JF725QVPY4YANS2F1BQRBPFAG2XZAMN8V6I5YB9A6LOCDVABHCS6X28X9VBK83IAW8U5B129F3O97XPA5R8VSSUYZF2UTXXJVZIPSGLVWRC223N8D2AO5P0C5VN9NHFJ4D9POQ10Z282L1VN7XK38VDGSNQLQ7TEE7SQ4D0MB61EWH8VU744U2ZXKQD1VOVIAI div -36#1XXEE1JLJ27754FB3KJMPQK7QD6JHB3FAOAR4CDS7BD258K6AO41CVS0I5Q1AWBJP4KYQRNQFPCGBC3IFME0J66CQCGQAPCDA5JVUZ1ECM7RSPZBNJOZ61UJE3TF8QMQS47EKE0Q9A3IWZ2CKSNC0381MD8VVQ95JRCKI58D866SNAXJ6. +36#29QAY0GPSY9AL34AZN8XEQZ4IJK9Q1OQAB8KALN8WJSD0KTU6M8KKDVJJAEVTV1BE0K2W42CEUNQ01XW0FZ28AWC40BQEI70ZQX2M34WS7L1WWE6VH5APKFZYA7J9ZJ37KYKJ6FCBYQYTU9IZJ8WFM90V6CD23CXADBR8TXU15GCSJ7Q7T5OG0CTSC32N8W9IFYOEMF3 = 36#8GKN0FRPE4BU3CSMM4QMY4DZRIPQFXB187OL2XWIACMA343P6YO5RAR81VRI8MC65FY7F2LWM7O5DU5N0AMS4QDC3ZXS7G69VAIEF8HERAJYJ9GY4EVCTJ4WHSYYHQP05XCLRCHRNAVGAF0P5PJVTSH2GGAE17SVROJLDMXXMDSZYU703ZKWSVXGSYSGO5XVBXHAJ1AOZR32ZAFZA1IZZ9O4J8SL0E0YMBC5YOJOFQLQ9RM4Y2T3JPCD6C6VW1SXCT0ALHDGTN9Y7RIKFH3EN39PJ4QER5J1G19SFAPDUXFVC4JOMZR1A7LR5UOHJ0RIPFJH3B51EEXYJ4XDQKEYTCH5IAPAINPS3AW3T2Z6 div 36#3Q5LUTIM7SGQVYW0I08T1T0XIE3K4KOY5ZXPSBF2J56WGK7YU80O95KXKVDEISEUIEJHPURTII5GCOG6ZEG8DGU6K4PRTVTY74OKW3RPC4BSVIXVOD4BVK5CVNZFJZLBECNI0DZI135J9BVSAYA3AVA2VR5XFJ5PQ. +36#KWTTO54AP4J9KG7F5XX9FK2KLCJJCNMRHXEG07SOE4FKH1Q8C = 36#1FW0M3HUKG2JG8KCDXCGMZOVGL9LCYBMKW1XQVIPP65SZBK4GD9ZM2FI34FWYZ7XQCSKSQ6ISV3J3NCFVT6RXROXZU6O3K94OBC div 36#2HBT0BKGHSL3CWVWO7S93MEK4J1AAMXHDQMLLYZRP7360HGU6A. +-36#FIUWVT3L6BSEL1MTESFB6J386JGQFDFY833T2ECLWEKRT3HKPDCYO2Q1NAQDENEV07UTFZRZGFWSYV6A7A1TFCOF26VYSWNGIMDN9GPDER27WXMEIA6M8TQ1QB6UTPRB9RWGCV85MD81YSDIHCG7NH0LC1VFNIL7RKDY9LO1OK8R3HXGV0K3J6MI5O5N7EKYQ4RL3H8JLJ3AHT7P9E61D6W3IMUNU1K88G4NBA4QSK17BT2IF7G0I6SA95RY0R21I8R2A0R427IG2XEZ5O2LQUFSL1POQ06I53CG2GOWBPX2761IS090342VDHDTG3MEEU0H3GMX0A8YJO83PJ9IK2982EGGKEB0SIX792R4R56I6VXAHVS7U0LNNYXWQB9TXLZHPG30LSYRYPLOYK0O1RYJXKSNVQHQ4AXSD1F1ZXWHFYGG0TD29JVVDVDJJG0MP1R06XOXJXVKAZPLCA2KRQPCKVDTO7EE36H1JR7ML9BSRMPWJD6LKNFFGKJMXL9TWMXA70DPMJ3CFEBQHB6UDCLYW4HW1AMM8T67SEJDRHET3RWG7PX02NWMVY1OEOC0TLRKRMESF2WGFCJCOGENUXJZAUH6BFF01XZN5OZ4D7SOC3FOZU5ABKQY82X6S1KY3BC30USKD12JA930IBC559G9II03IMA5PJSCBNVDDMRED3LWS3CRYAHC6WXJJ8UE73M52F0S6KQ2UMY64MPFAL9W4R39V987UQ = -36#VKG715JBGXIA82ODI27Q0BI2P0EOB6SI710Q0459IV1JKBBC26FQDV11N5U4BCRVB7Y7PFADZKSYIY41H2A7NMFVQ716P7GPHLBMVEX88ZPNQFM8YD0MI5EQGP90UPC75Y973BO8NZPTP17HUV076GH970RBFM5OTXSCPWCY2RXZTQM5UGE48RV88GVBRB28KSIIGN5V18B7PUITGAHO07N49LTSVL0EA512Y8G14BM9V00GDAQEN22M1VCZ41SOXPK7Z13N0Z1PEJMHOR59OQ27HAR46XXYAU86UE7NVP95TDKPUZ54PGGRGWKUNN0YKOIHBLY9D2TKWIEZM9PKA6TXHN90BO7RLHM4J0JSYQEWFB6726W2S6F9DLK2D3PXVM3Z2856DYHJVP54QN5KJDJEO36OSY0QIUNGN53AW6BAC0FO8DNBNKMI06BBCKU8E5V5FV61FSYJRTOG1Q9MEJRAUTKNCL8F0LNVLMW2ZDMPOUEH40U3BUOT1Z6P3F295GVUPHS4E4SNSGB8H0QHH6LG0HU6QPM769B9B2LCPSTOKDRTFL5O2P8YSTR7WIE23ZD1CQC6QPRGJOCOTT7NEFJNWSWBL94WFCEER36F5TMTV8LUY5LO7W91PSDK1S8YCZHRAN30TTKNN1CSAKILE9TNY70V4VD90AS869C8MPAAS3L4V2GI6HO78WUOCAVJMUQ34D4Y2SYF433EM6WJRDSUX43WVN1KB6I9BO7UIKZ2YFVJD6R9VIEAOR0268D4WXBACA9CY5TDRAFSM30 div 36#217FV9LL2GQBDRC94WOL7UGTZLUQXZM9XIGP3T9UJDQASJUF1I. +-36#1F7IXCRMJMYI0O7Y0CCZ0CR8TFX0DQ1DRYIHCY0KKQ073LRJNV0YWKNO1TE4JP9TSQ4F7P9418SDW76175LPA9AMB8P0EGYN920 = -36#2PH32VSURGG3J3S98UFA484K1OPDSVXWPH9O6512RZLML5Q5XI * 36#IWV3HT805OVP9QTYL51U2GQAPIUCVE4FATIFRTRNPYF7S7QYS. +-36#2EP41WHBXMRVDNUM1RWMAQMQX7XA3DKUWA4VVFTZ7PM9FSK0X9S79PZ9TE4M2BQF7M46MAIUVFRZ3SA8R5S6GS5UTSYDOWTO6936OV3VRF6XYTFOMTCTBNS9QCEI2WOH8IMOUZR5S86LUR2FZY3YWCXCY0EAWENIJIADT07I4B79P0H1M8ICY0BDQT8570X80DMHTJ1MN50VN3XFEJW7ANFYPJV6N0XMDY2HO3SYKCZRWD1GCIWGK2XYCGLKY6LYT11KPV3ASQH8BC6JRZ1NYOK1BU8635W7HR4NALD96UGPH3SX4UBXCGRWR50V0J28QHLPKXDMWFUEV2SVGHQJ3FD9XJI3WJ4Z3HVOS5KV68M0GNUSB6DMD = 36#3TXIR7VCV0CAHM1EQVQXN8ZEBMRAMJO4SDV7C3FS73BW3XGF4TKVXZINLXD * (-36#MMLY98Z3J65UAUKQTF8NUV0C0EECEJJCF6D3Z303BQZ7FFZY56LDJLR698QLIAQK4VU69QSJUHFSGMD4JXJOPV5G8NZR9O9RF2JJYOTNFQ9P90IHJKGTJXQU8Q0681WACFGVI6M0J8GGSKPHLM3VADC7YPMFMPVFXM40S4HIVDVL2OILI74JNKYEZ3HQKV3Z7RPP7M9GGW034CPDRJZZDMUFQVH27WBI2R3RETAJXLFDEPAHKEUBSGFCNMI3SKOBH3TNJ6IO4DMXD6EQAN4JS84S2TAPHF5YVD6O11DWQ1OJSQB10IJ1HPR2D1). +36#B80GM1CFXZ9JJVISYE2TQ9SIK0M1WJZW5WGABE7BFRJ06PYNYVBCB6XR9FKAGBN3IQW68WZ4GOQSSQUWKHMX5X5TH4DEUYL0V5CNAZITK55FX9CVDBFTUF7S7WC1JW8R8R8BUDZO4IZ98OKDDFO1VU6W1084S3NDXT0GO7R6XQ0PMYS68UA91E4YWNCNZOH3SL47WPS0QNBG2J5XTC82RYYSA2PQCL890VZE47FECGVATWVF73GYSCR8EC91G4XL59KOE6NK5J4F6B4PZAYHLJW9VCJMT7F0HBUGM850HI40C3N74UBW8NQOC7PDZK2LNLX22EUBCV9YB2WM5QNMXHYZ44WZHYEXCTPR = 36#BTBWQ5RMO76VU7W1NX929GRBUA81D1RGAF6T06LQAJVLB6FETB576956KDXYM0385IMEU6M4PXIEA5R8E165SBV1TW7F7QSZ0AP2Z1YDWBGQROE68IODUDJ0H2X71PS0I8YFW8BNPQ6PJNN69M42ZCCMNWVC7M6RJVMVD1JQY6GV0GQACEHRTLNA9NRG43CP4BHD3HR2G5W931NXH8OICLQUQEY4KW4YYAA9P3GQEXJMKY7GBREZC82G4XU0YFR2SVCSSZWWBWPGZBOW4IUF6F6ZVX2A5G823RTCZO31ZUXIERNRFSK9F1G7PFG6K13UZPENFRSLVCQTEHLTRXOPHWSXH3FOZGD5P82GCIT52RTCANKTC3RP2TO9JHEIODSV6EQZ8SMZIQB3NXDCBP920TC6BD792SJ0AX6FJG00YHC62KCM64HBFV0GHV16XQ7BLRTC52RP358OD87NXYEQ7NUO909M4HTMYJ6271ELJHLD4SBCKNDQOA13DMCJTVLGZWV2VGTHSO1IDNU4AV6I7CS5UF0A7XJK26FM6DTCURR6J6WRR76NG0TPE5S9NJGI7SVZSAZUS3FGDUHRFV15758NM8X2KXJBJMQZDFR5TTTTW7TKLNXRV0JXREJKOQZMWKGEKKSA8ZF8068R488K05HYAQLHL55AEKY41MLH76IWJBHC2CQ72JTIFVCSM0ZNVG8FLZNC057R4HUCOT0QJ30RZUUC01GDIZQIRXGWLHOTROJOZNE9FNDIKC8ZXKSW0XQ66VMM723TZHHH876QQ82G4T4UHFHV4N55STTQP7BOASCAWQ2TNJN84XJN02MMIFPFOFXGD9RC670RMOZ60V4RFPQM9QCN7H8V8B3MFTN0DI91BA7X3PWPWK6KNT7JTLDM2NE96USK5IC5WUBBH3XLO91X7XEH8QX1FZLR div 36#11WDTZOHOUD96H0PIZQBMAP3UONHL3IF0SN3ZYUW7IOPP5HM17R5TYI8X9JSDUB2PPEO5SL4Q3O18USRHADJ8KPVIBS7JRTS9QLY0UO9R2PG6A3INFLSII8F7SMHDY4K3E0F38GRZT8AZON3L2HBCG9461JXORD8T37U0S99F5YJ8UQSZ8RFFHD1U4KN1O57J9JQ7YMV4211RZVCS9THPWFPCX0G5VSR451RRCUZ9EQ8PPC56L66BPEVR9PIUQ3ZZL9DF5HEPJHJA2339XTSUJOSXP6VHF5JWSH9CV6ZZK9MJY96VM9OK41OIOKHUSG49LDV42GZRRLQOUBYFHV6TH2RKIVX47FP4HESA820KFGB12E0815ZNGW9JL4VOPE9SSV6TEX9MQKCZRJXWLKRO9BFFH2GTV1JOJTEJ1981D1LCG51CW4SPA7DZUR83NKUG2V8SOPEEU7P193I6IL5UZI61LZCKW6ZXTBY4Z7ZGMM4SI81W13NGOJC1BUKKVLTME9LDDB399EK1LT6MNB11KZW72DNNMTU3DCQ1VZ63FEA4T8SCHC4GODQTJIQK3JFWZ90X. +-36#22L0FLL59N55S00FS3RRIC3Z0QNEEPV8M77BMFR4LGPTCOFHEC = -36#3JTNB0ZS0MSMO3QR2UG8SVVVWIAZ4FWGYEBQBENEVUCA80VOUYUNBL8CESKCN2QLQSJO9BNJOL09EF1TAMLIOKD44VY01UR18HDVEQV49PBPPUC3DJ6EXMB7J0FIOO46Z6R7EGFH30ZGRTMPM0OW4LTIF6PA407AKWLXOCH8AG2L9KE5Y3S9I84WSS13C4REB4MUBER54XCW3DSMXDAJ8WJD8EQLAYW9WG9MZCCYNT4H1YQOAINXIC2J46DN8ZVCL3HY9GY9AQR5VCE2G1DC0 div 36#1PP4C1PC5YMTYHQWKXTLT67M6FSWUD169Q9NLUGEVES8VDNZQRERP276N5ZD3VQ26W4RI3HQAFWUSY8CQFSJ4TOQ7R55F3FQ6B8ZUMVBFFAKTYTGQLEHMUZL0AYLR7G5HJA6V40UNTM1NYAZ4K87D70GUKQUR92M6P4475B9FIQYWDK5C4SEIXU0SFZZQ1NKMWSD9RXM5H7X4FRVNGCEC2A3U5OOS3V4AFG0. +36#6GC2MHGHMQPOJWFJSKNVOPQQNFVK6HK0OAP1GLPVBK2KRVJC2VKMMVQ1U3SN70BOW319ZJKAZNIEGEU4YQY551N08WQD3V16X5VIDJDA0B05G22RJWILED4KB3Y0VSA4OIST6IJDXDC5LARB20R7WFKUEWN1ALD4OQPGHHQLABMNC0EVZO1RPW1Q7TZ6TG5MVU4YQDXVLY6JGHJWKU821WUXKE9HVL2BMIK0XCGB08NI4RAL8G1TIUU4IV0C2LYBUEOUHNKEEYHPKZKHEAD44TK8S1JCOGCHJZBTXU5PXMH96E9TT7UUZH5GQKAZSVXK229VLMNINXC = 36#10QHC79ARMFFZ34LG6K444XJVH700O79C8QNN7NP57D9U604A9NNALZ4SWFO9QMUD7EOPUNP93DQABNS6Z4LK9S39CG8LO49F8XGN30ECW6FHOXAWTLH9254CFDDU2KLGLD9R9XTW0AIPXCA283RM7IBE5TLVEVDXBM6KLZVCNPMTAFSQW133P3PTZHHV5TPORRM0QCDH3PS57IBLZU7EZBH39WXD6SZPD5VU6B6IF52K82V687XH0U62J30F2DBHA1Y1EZANVCZI07H3YUC02DYJHNFBRS0CUIIQMIJZSZHU3YO5PYH0QU4R1622RP55HTYU7QK4POLCHQBJZLTYL74J565QF4RU3JKDRNIO24A3EM6G2QK8CZFM8PEUCGNJUB1L8IUCLOH6IYHND0Z464SIRVFFHMFL89C0 div 36#5OWZQB0OBZBZ3YRGCBXRG60TZE3GQDDBE2M5UZXWQ6W7FMYLPQCJIO8MDZRL4I24OUNXS4HREPNT9MLDGAJ9RPJAEI. +36#TXT7LFXWCY1ASVQY0OP71QBEV3R9JL5E52CBQH4ILW3U8ZEAUOESOELEWJGVO0LPHCD1XDIEK4TYJBRKW0EUXNFUDDQ7UE0LDCUKXPBAWA1M0ZTIX70OXFMDIR4SQGN4CQSDSJZTPMB3QEKQP2V75CTUAA5YRNK5T09I4SJN950QWTVVOQ6L684QS6IQVTH4DU2MR2U0DGRNC9LKLXHUWRGCD4RNK512WLZ0DOGAAHXOORT02H0UVUTF4NEYIBY78FDYE7SF39VI8TQZ9CJA17RRG0IBR02W342V6AI464RZKC4TDI425SUFYGUM9V7V5MWT69HNK6HV4L75AV4PW7R4WI284NHMGMKKV4GB8O9OAX25AM7SIQM4LLP3NYSMUPGOIYTF43YIGSMI1YG7OH8FURR35VZVNMNV4I5D0V3FR3KEIHAO92HBNHHNRM7IL8XISJVL180YW1XMA6G5K1H35XXYVGV9Z3Q5HPJYRQ3S4LT37YI5DC9YI9DCSQGA2UPRCAGDI7CY2AH8T3XZIL2A0C0ZYE00CLZTJMS9U0Y6UX4LJOEEVCDBSIRXKCMDNABTRWS9T8B3EX2Y96OF77X18TFPKKXJOU602Y7CR33TMH52UG26DJF06ZK7ZYC7L05YNYMLRHPMFRWF6L2UC1JB519J95KML1HYO0E72YFFC5UJOW310TVRSN0ULA9MK4V0JYQX7UZY7NKTUPRYK130V43MJRK5KT7C17C5H9MEP1X8KTGM3L2HTNQ0RWRYZL80AOPYA6ZPO3X72BPYQO2CUR180TFIVU89ZBEI8H36871MX0CK1IB3PSR4O3H9A9YCEWA9ZNQUGXM2KY9JPZ01OKU7WZUMUV6HR9ABSG0D7A0DMDW0MXFO0MWKXT3TOQO4Q3OGR = -36#4KFY97TVK64CEDYAQMCFABHE3NAMROFFZCN85LCQAKAUTARJHVGERXKGW2YRVF5UVZRLGUWEIDIZRN1X5EY2DXL2Z5DVZK76ZTBY4QLJ1U50OUHRN5HFVY8IGKNR8WHVSASVNE3N4TGSMTY5J6JC8UYPDGCTL23M0XTYAML1VL09UW0TJBBNLKE4R7DC42PQDDW6Z2HTENICIFYRFC1JO38HSCRNEMQBCKH23ZZYUD7GTYNJU8LJ17Y0VYZHU7B0611ENJV8N38MIDW17S97SAUBYN2WALT8IGED4MO5C4RZS4PYQ6IS8U6JXBP5RF1IOTZ98YBZLW1UDJNUY9NDXOU2RIE0KJXX5OUI2BEHBML2QX66G8P1A304CUL89NTJUIKNFVRXVFL9JYJA7VXO8QYHVJPE46LJIM0F2FWVIHASGA57JN61UXYCVYJRK0AKKCRSE0NTSWQ7WOORTRQIYJVEDW5WNJI0NQKUO4H7JVEXS9Y5JJ8B39NJ6O871VGN2U6BB2ED3E8XE7A15KQEM9AR16GLUB3EU70TTWKDGXP8QD8PADEKMNQ2W7FFGKNEYFFYHL1S5YWNEDX2878E7OARPKRPDNO5D43X02N7MET8TYKBBNABLQEJAVBWR5S6B6TQ8BAV1K2RFWU9V8T8IFC5MERFQXZNWRUQZHZSNDUMT729P77TH9JUX3TTWQG1WKWKM8UV3PX7Q8EOHGDGR3JN2BIYVLMJTCEAUH9YTM92AJ29CC25D06WMTF1JDDG07AY678D530GMYYM4OFPA1T8Y0OAH2GKHFDBT4R5WLZS4CE16AXEVQ2YVDVIP3CIBNUJAPQWJTFYW6ASDKW4W6DKQX1WT44DT19CGKJI4M2YBQYZELOE6NW8JFPUVP33AP1D3ATO08ZX8X3094VTVP6OJJCQ1AULRJTH6EVO7S2IHHJ3SBLHVQP3E9 div -36#5HQD7MPC0KZHOF9RL0XQZV9KZXCXY49BEVUB7SOJXL7969DK3. +36#UVGEQA7AMYQPHWQJTCXDFRPYNTNX118L9G0C9GLYLBFGE466ZME18PO9TQEFASNM1VRMNMJWR21VFOEP4OCE1TB283VFU7U0TCY9LMKUOOLB15V16N14H5DKVCL60P9ZCLO862M8WG9RN80YG6HQZHMWPHMRIV1RVDOFI2U2YIFXMS3XTI4Z0AW27L26DLU4FW9Y415RA3IYRQP440B7F40RA6JF8F1P0VG74LSRB55CPXQACRV3L2DJEID2QHJBBYV5LHOAVTO61CJF2YBF8N91DIKMXYU1I4VEXKCSK94E2EUZMV5PTAINK6HVN6V4YSTMQZ07B2TTDO7NLH6W1W7GJWSBIS1LHH0JM6KSX0D88OHV2OAQ1C5OO0GPJOGLGGTBWM3F47KFUSNZ049G7J8LKW17U0CGVAZD1V4GP5VM3BJVSYD25NDXMKSFRE6LPVLENK7GN8EFP5NADAKY9A8RX4L7L46P8979KPM6TTT6G1IRZTCV3C = 36#2QS5RXK7XI7FTZY0IJQKA0WIGLWUVH9LZU1P5XEA3R8BVUNB2U * 36#B921IXGXQP44I8Q5LF3N09290611021B33MJBNWRLRQPZNE8BDMY9VIY6U6R2531XFQ1HJGAMAH8PYLYNSDZQSG6PSIELLHCRC7UMGRSQIOFCM4HNEB22OX8XSW55FG14LWJM853NRVNBIG38BW1A3PZ82Q0ADA9UH3H4ZMK9ONFITAGPJOICXU7LXF82H8N4MIW2MW8OCGV24DNBAVLF7PHDYTSSHV64PGIVV1SMZ5LN547UTTMNQI5L4WCIVGDPGE2KEFGACZIA8XRLEJNULC6ORD7J29N0OTK07WNSDS15EOTP7359P64GMMUU7S1TYKR7729F26VZEBUQTVWV9ICH8MNUFOW00AJLYT88BL5VQG3PW363Z4PT1K2OBJAOG130X99C1PZSV84304TGZCLEWOQFR7LGRGXYLZMZDEKGUOHKKYV3JCMOGQ6L5G334RVG. +36#12YL7IQWYG6EFLFTKMJDSUEDRM07T8WHQ8QUNVSGOYYT162MA7J4QTNQX4QJC3CYIN2LBI6JO13E14QO3ZLMW0AXFQHJ39E5XHXHLBOZC33OGSZR0OJSHYDU0Q3JI3C2YK9B89LEEBUTB2XYLQTRVRN8KLJEKE2P36QNWJ8EWCK17LNNIJHP3AJ6W6TZ0JTUK8QB4EVD5RZK5JG4SGWUD88IMO6JYTTTNJYW3G9MLQKE4JWRHF4JZKFYV65OQQ2TWI6GV68TPOJV0WSHAKEQF6BPT73WZT7KK6MSA6X5FGEN9FA3O5T8ASQBGMCTWI5I0XVOMIRPN72OM8OA7PQ11E2MR61XQVS0R0ICIAA1JGUDXT8H78QVKVM5AGIPDJJ3CLM7QZVGGLNYZPTF8TCPO4NMHTVL76FS9WUCDDWZDJ2X8OJNR8GRFWF2DNL6WA4RP4SH7JW2PW4I4AUP66AY9JMQ31O0PJB3GUIODMNDKD64PM7O7186N5M0MGVQYTBWH43SFRQIBEMWCNLCNGMHBB737JIUHJVSIE63QQ6FKD2Z8JMYBJLDQ4PMLP0ILNNCFXE4VSEBTVRAE8JXOWK89BYI64O5CTWGY3985XGIV66H6O216VAJHCRIFIESHRBXMSEPETKAUPG1TNKLUI07YHHO6PK36KR9KP2LLG2VX5E72CU3BC8G = 36#1H1YCC5BM7ZSMBZSEWHFES5PI8F05ZIZXHSV8QD93O7BSLZ0SW * 36#QFQ6PL1PT4JA1034FWIW01L2I3TKKZ05TWXX73AUYO0FM292MEMFK3JVQCCPISXPTQ2VSMN4JAFC5KR0A8U6541Y5VDU6JB7X09AG9PNVU0JRIGIX6XW00YSZXSV5PNNNIK5UW9I7YGLWVJJNM93WY23OYGNYFGRWM3VDHWPO4DBO4CMCS6MT9CK3Y9KAZJA0EAZE4LPB8WFO08A2P4VF7MPK62PNVBT653X0OEW0J8134B50JQDNGVLKQB3EX6ZU96TQOOHIVZRD585MPS2YC997H4QS5Y3GXFF97EH6Y296GF4RE4STEFYOYE9EN3MH1NX53JOH0X7LZBWW4JGUCKQTERFDQ3IFSPOF8SORBH68179CGP5JM9Q49GRFGRSEGZQEL1D9WG9Q9NVROQQYJZWQQ1U0S0209CYSK94S369SY0GNXGBW0R1AJ2PLXSBLFSC8JDERNWKLE2WLO7IX2OSNBUZJ8TVD7IJTWUSZKWI69IXG2XWHS6L9460EDNMP7QW99HT37NN8FGCM6N75I4S7SVL195PW3J8ZI95Q195JWB82PC3FE2V9FJHKZS8U9NT0W10GC849XDO07RCIQQFACIQV4ZBX5BBTCGT0LBI9247XHPQZN8RH6NPOJPTKN. +-36#12WZ6W31D9LM1F3QUW7EQJHG5RXCVI25WWJOIM3YFYHFGWM6R67AUQJIPR4Q1OV3HRU4QA3RSNX4Y2ZKYWOX0PCGMW730A3DHLNOEKQCMV55U9XFXPOC0TI68AJHLI86X6HIW91U9O78OSKIVPYGCDXTD5SFQGDLXE0JKNQ4ELUOMCOBS2TXG6F6K70A6R6AUEAHK6OF201QQ6TQAWVWFZ18QDB5ZTN7UTB0SEVXNHO9O5IXWZGC67E1MP06WGB9366B4GPSW9V0F7CEAC9V3CS9LXO0REAHLYWMFPG68H0XOF4NTA5JJI6HE015PMFUA742TL9HVCWFEIVA8GDOWS9IH5IX5J = 36#VX6LYZ5W2C5A34VAM8HDY6BQ3KCYDSHG0G1ZOECKIQWAMJ03OA0ZB9AZVZIQ5DNCG4KB1B9B9JUYCB08GRYVOSHE9PH7OA86VF6R1XP1CGVTSDVQSAKG8YMW67VKVNBY5J8JNIUQ7YHB3X4ZSKERUVV28OL2WEXN54OW1BGSYXUFFJ868P3774ZMC2ERHWR50HD4AY8JA75MQ9IQL9ZQ0ZV74BL1CAXQJ9524X6IK9G60I7897JOGIGAC3RXUPJF51BWA3AC4UNN5F8ZAQ0E8RY0HJQ0WKBQ4SX1Z39ODZ95 * (-36#17VYN8YH3ZTBWI9AT77TAUSRCJRRWMGA6JLR17DGNEDMG3F6HB). +-36#1H9T78P009WRYTEFFB4NMLLGA6HR60L8IQCIO4NCITN662NPSA = -36#SNW4J2T70ECY2JCCTQO33GQBJJK3BP2A9LR21V2OK7RXTERB6TY1NRL7C5L2WH6ER6KBETZGCYIFHMUJMCG4HCBHR2YRDSITDUVADIISCTQL1W4HEGVIJS9BWR6XOKQXDIHZM28OE2ZMHOIT7P52MCL7PV2324LIJB37GJU8L4779WCHAG1OLKVZ8CEOOMFTGZIS4F990QVQVV30KIMCHGHYMT6G2UIWLLU9JJ6XF5SZ4SXPM2QVRI05RVNZUEM56PZ72VO1GWELD2WCWXF483G div 36#JDBLQICCVH5SD7SSYOGFHKKN1IBICBTX4UBISE8CWDYQ6WX3QR95N9GHV6IVZ1RTLCOBP26PXB5R3FPNHUVSXKRPT0LY6E9TS0R65L7FQAC6L1KUP46HT9MUEWFDC6GBDY1JWE3E6ZY7GNC59JO0IYJKAVAN0L8LF7MVDUX4J5JJWZ16UKXBZXDMH5UGXIX70SO5AE3RGBBQHK6X7GAAV30BEXVU5XDO79RP5Y. +36#J7382T2ZOT9P9Q1W0UT7X5Y3PJAC7FFIQD39P82U9PE979MF9415BOSM4A8GEZINF1XPD3508XW74VIGJPX2LC05KVIIWRNDDGMUEX5NGHZNY2Y16IK1PMJBRPU64VMKVZC3LG3MX22Z3OY8F537X5CTICT0ZOTP86Y138SCZJXJJ5DQTAIQ4MM8RYR7LZLSQW9XRI56TSGB3C42OZHZXP8OH46V45DEO6L398U1IBUWVIAV2AUW4NQO5XC0G1V02VGRYAUS5X31F6U8ATUXSWWFS8806F7LPVWX9VNCRJPXFDVURGGTB9T5LO8HTB80V2QAPBM1TFWCSWDNS1TVNKPDLVK6LJJJ8EWB1CCMWN2YRDPKY1N7E01E = -36#DJ8FJQ30SBRFDXDLQMJKUDTVHKHBH0ZT1Z6QE3DNMDTEPXY30EZ6ATCJSCEGDEXCM7WQ7OZLWFZVE1RH2614ILOHB19U7JY8HIVI2LVTKIJ60E4GYPNMD1ZFOPPUETQ7ZYJP4CU5NEX9SG7NRBP7YKTOY6SZVHAR3U0SS5Q25XU0HEABW9KYUETI39U4SJY0JN23TJYW3IGWW06WX9DNTOVMO89F7TUL22PFH2T72443ND9DN0HTTFQHEZNHML17XZ3MDY7U8370MUSYP9TTRYXSCC8IYZTX6VIUFRA2DUG3OMI2BRKRYIE4PM2V3AZEY7TOYVAIGB57M2F3OFEQ702WSSD4HMVP4GZ0TW7E2XXT838KGAGMHCB9R7AZEC19JUWQEBUCXOYMZ6A6JKN29Z7LZS4LMTRO6F9KQ2MAC div -36#PDPKCIYH6RDI7RJXHSSPOLK7CZXQ7K7OSYCKO47F3HVCWPQD6. +36#J7QNDNKPHACS7DGCCWEO6IR5HJUBMPEHJW4UCKAGD8GRAPQYZ = -36#1E9IZLLVN3NI77JDF6XQ21O85VZKXPEAEFJGXA9MMWYI1O3T8SSIWBRFI7BLQRIPTRAPIWQWSUN6Z1RVGJY51KY1PHHROI8E7CE div -36#2M67PHSQI5UDJ21TDNN0MDEXVIW6MDDAH5WELJDL21HQGXU91M. +36#397SQ99A3IB2TKH047V66FPT6XDWKL2OBUXUC98HN5TAEJAVHMLGCZHZ78KTYM838SM0H89X0I6FTO2AIUUY23IQ6MUNMBH8N0IP5DG1MZICLWWF6B1RDM9XUHQJJS11R4FUP1NTSJP84IB860297E33OVWLE0SG5CM6LJWXAF590AZR8H5NN9L3CNVY1DV6UT6AVTMNW7MCT3YKBNABTST1P4M4CNTKTAWP4SWF35TEUG6PPQM5EK8LESL9XYMCM9JRLKHEGK5K4VSIOWI6KK0E1BLUBFGMKQBMKZ792GPK7NF1NIAXX27IZU3O923TSOGUEETD8APGR5MX8LGQAT00CV7YC3ZLO9B5Z9V2EAD5YGF7Z4J31NCCFDWL0T5L4HSQ1VNKKJO63T5Q88TXCTHU6J910GTMFZIA87QWZ7MXGS5QAD6WO0HQQ83Q5NMM8AUVJ2W9T1WHMVHBU7OTFYHNFCZ6C2CQ9RBHVROYO6HW6IWZLOZH9A998R7EBK4CHXGUXIOMF5HYEXQDA546AY2O4BCC2DXN98MHUXHMJ5TRMGUB6NAANOTJ4JKSMI3LTSLC0QFPC335GRLIGBV0 = 36#1B0OP4UG14TUUDIFOI2I6WGCRHTW4ENMQIN4SGV7OHVOS7PU83T92BM08C3EVZGB94Y3FYP9D1C7927P2OME5NTFNQANMZXV78IZFVRU2F4Q36651H43HTDLPUKFV0Z80MS6E6YTMQVUBW6AW3RG90GJJ3X8XGURH7SV1PJYGFMAVIGD1G9QTMATG0LUZCGLWLVIOYFZ3MN4WXGOAJMNZY6VBEG7MV9LWI7M8PKT8WAHGMAH80N0ZE0YZ4FGQ977KZ4Y6STYMR5X2PBO9JMXHUMWZ0A10AI5EMYTGSEJUN3SV0PGYB1M3747P8E8Q56OETTXMXHN2R7SKF7AM6H75SWP0Y29I35UPDBAD833789UWTEAHA25V2U65IB397V3NQIOVBQ5E7F7RPK6LDG94ZTBIZSC82M8QA1XUZ4N0P3V9WSF10BJAWKXVSW26JAETJ55ZY6LXT9EWT5XQVLHDT14RL92G27RYS8RF4OMF0AOQB7JRW0UCWJMZQAUUZYF6GBBJJS6J6MJ3GL76P9B6JPYQ2YOULP1H16J48N3KUKW3K5F6S1WN1JI14WP40X1903KDJSJ92UN1C03KV3G7R26FJEQH2UO2JB4JHTZQK2DVB4HRPNG1HGPZ9N9ZXLWYOI8H2X6OUGS7FTZ9ENS0 div 36#EFV3RB3F99KISR6YIYOACTWQAMNVFCU9LJC4TRPG9UAC2NFQ0CMAQMV86CAUPY3QG. +-36#1FHQODZ026DDEAK7WIK4ILFAQDS46K5MF9IKMMYW3DA0B129BT = 36#3CCY2R8U8RMJ3G5TA81HPL11VYBJ0CTG8OKQRMKY9X82808ZZ3WTKV5HIKX4KTHKQOIVW1FM7AJ3LMTN7OUCE6PXKVKEQFCD22T div -36#2C5A1JTLW26F4Z4NQ20SRRKUQ58N4U4UFYNEYWYA0T7L9YWQR1. +-36#3U36XHL6UJ8S58OXW9D1Y554NQDVOM3RFIHQ44XD7GZ6QHT30AMJSZ3P38Y911VSEBLHWNZZL4SXB2YQH85UB6S3DZ6CWK0GOFKQD1KBB5S5HOZHS70PDLJGSAZ4M5XGCU9AF5FZR9HBWA53KEFL0IVUEYBZ0F765S0NKL0VZFZT6VXHZHKS9FRZ7W6LAOZMAL5O81W12AZ6I2OMT2Q200B12H0LXZSB2Y2JPB975RNSV6466C9KXLT2QTZIHSW0ANY9WL2ODKJRLTO84AUDJPIXZAR6I8A3YBBCIUY2KLT3B7PFFE7HWYH9IGOL3J9R74JH5DF8DFUACNT5NSZVPFQFFLYYP1Q102XHP3D4K4KD1YS0MG2TIA3P0UIJCUE8VNGCIASM8E4IF3YW5IP54AQTOAST4W7S89CN1AVY64ZETJ5WSN8YL7MBYF2VGE2RD3WDI06PR1UGNMDA6805D4QHZCIO3U8I6Q6OU1VU30VX6KU68GCW0GGB0RAAK403LMJZ5KH2KDCC3X3UVEPLUR6A9P9UG0D5C = 36#8EFJXJFSNU3I3I8ZMR4DN9GI9BI71YNT0GD1CFAMVUUQBO3K27VVXK5S6STM3MHD8CQ6RMNCCJ7ZQR7TF41NX1SSUSM1B60RCQ968O0P4KZS2U0P7272HEGDLATZ64QBOGP8MEMAUEHUH8F4JT3AGPPBRXUXNB1HI1AJ4RTB5CM8Q4SB6X5UAO24HTADW9HANMUBW2348483L9QY525172AC1X3EF88HWYSC98DCKZVUTIGYMYI28FSQYR65DB4CAEX4VXHJ6T5JY7T7U91J65552N4MB25DDGO5L6DEAC7IUTGYBEQ0F36BJEAGWQ7WVHX3NV9QHVIE75OZ629E1TPICGFBAW8420CUE0GVF71ASNB5YNJZHWUK8X0G1O4Z5CSNOVAFZMFBUXFRWLP3XO5QYVTEVPCQ2HISSH5KXXFQSS3D4TXAMVTU60AP9HQPNJAX5PQYOKNN910YLGN0RX4AOX9INAWES6X4RRM1MUHKAWKSWN25SZPCTMN39O7TO1JQIM5OTLR079A736N2UBXBW1IEUVSIKZAKH5ICXBYPPFEGWSO57EW99JDS9IJ0JHL2SYEW1WWEAJV1C div -36#26UENZ4333O8TIADD15HPNXAGJ4N0YTAGA2CO5JDP6GOFZU3Y. +-36#N83AEYZT363N1X4HOBP4K9MCXHZO9D0HOMNJJYTEZWO7DMFU7O0N1SB9WOB6CO7A174IRBVD1V6FH6FPYQ6G2CKUIMAMAGB5WRIXOBJEW0JEY9H6YSU4A7FI357MAADAZT5YKTF4I6345JLHS2GJS07IVPN9J6BNXAXQVJT9D6WGMBJYCCV016ZW7YRL2FK2Z0QD0JXIKPPXWUHR3N57XAZ1I4LECI9VOQ5ZE5QM6MS1JVT6ZG2ML61NUK40SYXDFJTOVAMDEDUM0SUNIW4BRX6LHCAO3IHUDV46RI9W2CA4SZLSKJNEUFQA930UNDVK02OMAU5R6UWWVC9BJ8NK3ZNETDCG3YZ5EFVQY9CJGSRIJ8OF11LJW5W96Q0IVNEC3HK2JERK7TG23SJZD2WW366MR79VSAIU7HICX88MIHDPYPW1J1LC9EI1CFRJB13OM4ZPFFJJA9SXR5M7J3Q0PS4LR5E4UVY4BNI67I8Q9G40EU2KILUYZWAP70C9V65ZXHP3JM28XRRRMC795M5R07QS53SXUP17285B6XG0KROFR7NJ75W0XIFSSLKJLHQ17AMZ4E7YB76Q6ZKIRAM1ZXZU4OT58MUS0YBYZO807UL79E9F5AIQARMOHNR5S1XYNDS5EQMB9BONA21E7IFCXKTPBFW6FW0XKC01N16FOUHT8SD0J3KIB0R7CIGRSP6JG4RKX5QFLLIVRGFE5XWGIM6RF0FK9PRW36ZASNIR432ZI8XKJJLOHVGYLMP4A200KMVUMWLLRVJB26RNY5DV2GCQE00JW4KN4VKXU2K4Y03AUFJ87YHROL4FIDUULJF7TS1Q6GC34A92HSPN0QOUQS6OEGMYPB67MWEROGLQB69Z3E8BPOR304B9PAY4AONQNS1CVAWA3 = -36#1W3GZIBJFIR2Q7RPRGKBTAQJ3XU41QQXHL75TE4AKURHI7DULGSD5Q0YCMU0CL5YC3COIWB5R0B4W0W7O845VE6Y8XV3C2LL1AISUGI8VFCS2R09K6XXFY5IE3P3RMNQQRN6WZUKSI64DIEVTD2DSDK0J8Y4IXJSAO0T76NWJGDZ6OI9T6ZCOSS0R7HOKVLXHOQH0PCMMF2448DT4BHJ3SHZ8YDVH8KQ5S8OT6PF70P64IQ7XGYWEPU5BKXJ1U83GEWICKDSYUK3O98957Z3VP3CG24M8095KZDQZ2SVPB9TJ4502O0J0O2D5GOQ53HJ9RAB47V3YSMFLGAVUSHEKBDFUK4G514JGCUXD8AILL2N0NCNY065M2X1RP59F9YEOM90L6EOX2NKELKEUOM62BUTYKNGD9G671SQLKTZ760KCETY2N7UZXKCCL6IWZ5QBCO1UJZ8NE2DJ2CDRE015CJGFGICKUP39NY0E8TB06W7ZBHCBW10UE4UYSZWH7QLKUQU385MSOCXRFG6A1SAY74GHP6XVNRRWI5VKWBWARQ9MJSTEKOQ9CXQCTY4RGRWB6ORRST98TEQ2HBLAX78BPIJZGGQCJTKH054106ZYT687YF4SDGF1FFKDYGM7XD7K57LUIK7V6JTB2NI6IXMVZW8VIW4DQ6Z5BP99N5TFZM8X6G4SLR1GUYRPHNP90R45EQLX4RUI6GY0NC5NSNYTSGXK1H2XFBNCAMQSI1ZIEW7IAM2UWHZXO9L5FVRVML092VADDAJN628GTYSMCARFTT6TVOEHFEWEN3BOQDAC1B2G7TM5TKE98ZLM8L7JG25EM816I8MVZT2AMA0XOJYA4EUAQ1AHXH1EEZGN6Z99E2Q1Z7VL0ADPMNG7DFEY9DAA8J1XJ54B1SSHLBREVI732KBAFAILCJSCT62FHXJXMKPFVNU76KAMDJH8Z3 div 36#2XJYAGQP30QU98CERXF89LZCLJCU5IHQI4I9HA3XOCLDAFN9SD. +36#D8NJRRJ1WV0QTSZC53YMT7FIMU7Z1IT82XP1OJYC5V2ZH8INRDZMQYEQG73SQLIOMD07EWY80EQA7UM40X = 36#J1MUQNDSJ8DLXC030VMIW23D4RQEA1OEPNDGR9L7B7VYG6OFZPJOWXJN4BLYS8JFKRMBC73GPYKGA538KJRXHM9CBVS7XWBN6MXK1CFBA09RBS7TWDGPD39ISV5JJXMZ2RRNUKRX30580U83HVROVYB6DVP9I1NUG804V6N0OHW72VBF42N4S1J5C6O7IP61F99DZ4IPGGQ6WOZHQ20MAQGJQ2WGGG99H0ESO8WHYS0I0TYOTZ035SC3MBNH3P96ABFLDLHHDZ18S4S5AZGHADTQ00HIDYJHHT30NH1GGL3YQS5DGBTTQBYZMTCRWAWN0VMND09PRUNF3U2JLZMX9LY0E2AGRUWV8K8VPROYBC1SAUBFEWPA4F82R1DJNF0FXRTD7US77BS087AHTM97IXU4PZ5M46O6GW3P2VFLIIONREB3J58T29GAXGO09GI42KES0HRMMDC8WC84OMGWX15JS7J52JWWS2YMP4U div 36#1FS7IAYPJ3UIR4ZVQ2OH90L76SGCEE69PHOWW8JTXGJH4FASAZFETVYTH4ILMM3VCZ62GQVZ1DZLMY3FAJNP1SMQ6RC93EL7BD0PJ5WEBM8MVNIZB9Y2SO70V0JEN6DOQWH4REF1WUE358KFSCJHYKM1PB09SF6BYF1LZ033Q5PQQSJ75MAED32HNDJYBZTK17A41YLM2X5WPZ1AHAJQS1Y6TO8YSHK3XIODGIS4YDM5VFN9VGGNXE5VERJRZTOYUIA5WED9V63T6KUKZ8CH60GW73JE4SUSCXPJ6W3IIEGNNRG0CQUIN1CBYRJV4OQ3G4XUC0ANHYTY1VG8VJYXEGMK360C87NWDRMLOOOMRRADILBI1Z745XVTPV8WJ4DKTHH376ZJKBO9CFM6O2RTZ2. +36#D6IK72BBO1C98KA5RNIETUKRKCHV750P71P5K4B95EQ2N6R0WW67U1YESNJ6VAF324LAR529749TO2KJUCU0JYZ6UA2WM2M5G3SGAYU37OFDKOSJAXKQUUU2F9Q22A8MVTOZ4H46C = 36#CW8HK80E2NSMO44NKVTA92TQXV16AJYW28DGBG2U1XO2SGMTO * 36#10SP4LIIJ6SL8JWZ0L0NWCY71TZKYEGF0M0L5RCER6GOG37V4OD96SCXIVYII5U0P11AHZ541BJYLUL170LIRWT8Z. +36#4CFFM2KJGYH4BY63PB8UQQR9L18IFRLDDK3CV5JXERMXPN3SYVGBAS97NGLXCIOMF2RYJIH64DCCK2V1BV0RY8125K2DRRO4NG9SJDQNMETTOKTCZ9BJV2NTSS1V1NK8K9SUTBQ00K7QUT99CQ32R3D0KT15DBOKL1K7ACZ5OM2SVT22X9S9NJ3950BYAOUITO80LOEFQPT1APKJ0S5JA41NB04VQB4QTDH = 36#2A0V34XJ7C1S0C5O5XGC18L0JG2JO8NKTOCG0CXQQE49KMG0FO4CWRW98RR4WBXSPWOOWMB1GGAIYRXC5S93UE1GB9XKM901SW4D0I956YRQ15JRUJQM33ZAN4ZPOUED8EH69KFDDRIAT0LWKVU6BOUBNKEIA1GNKJCIWNZU5324SIQ2QD * 36#1WNM3EKA2A5V4IH4AWWFW99Y05E2NZ5PLIJUD1J6COF7GPE6HT. +-36#WPEYSIFD6FROCAM9IKNKXU631IQNK5IOC7VU9B270695B6TUTVMCX85G8SUJTVUU9CX3AL9POX47HFQHB1MF7SRYE11WTQCFWKODMT7OTTL3Q7IYJ6PJHEW2PMZ0TUH5AFM4LEEXMRE96Z74RBQZZX6R51HJW4GT0TQ43V9U2SZQYF96FU9O6WU6JIMD22NKDUNW4Z73YRH8ANU9RAZNDVYOW83BDONZYRU084798Z1RGHZN18BSFSEDESMIW0W6ZWX4V08DCVWGPFQOIXOEWQU1L9A92Q7OQ67T8KQ3KASBKDXCNWIGGBYASDPAOXESJUKGJPJVWGMSF7IHI8Q0HFCX81OOMSGXQ6WD6NM92K8Z0XGH92KORRRSA0PQFXP01YU6RZ4DOTB2SSO7WMQVAZB0QN40Q4P0O9WQ8YN7XYH0MYHX6I23XQQYJBZUKSWTA0QT7P68OL4YUU5K328Q2X6OXXQQE9KASBO2CZUZJJ4076R97G0QGVMW43YUZHA5WIGLH7H2OF4ABY2QK5BLTGSKQZQPS = 36#BGBDZETN9M3U7JPW2TMUMFP47SIVQNOP6G0I1XWB33Z5JTPMSAMLHKFQCB8OZG0E3XYK83X8WARX6C8KVJZMODRIOZJK1PFL6YSTKJHVO2V8GPV8B59G5G06H8J2ZB1Y9FW5GC3UNIBM95SCIIAU3TSXPZW2LO105LH6GM0WS6ETF0I8UUXHSRA552FD3O244W4JLVUMT6OX66RRIXC2EQZS38GB67P870YBLXDM2CRY280ZYM9O0KUT2LB87M6DKXJYBU98BR53KDUOFMZC5DCFQHEWZNYFVK3T8W4H4ETAST42MXCO1E7EMVUONMBG5XTBUT2KUTFHKA5HEEAIYT17O8CT1ZDMS9HNM37X1O57MCT5Q8QQ8CCR6LQ2PPS4OC2NJS4FG2C1QU541ZLK7ED22QFXRD2TOL7PQ1JMS5JESBEQ3VOOU3WAMW9KAMAZDFGWAS2LSPIBL707OP8ZCBLTCCUVVDIPUT5QTZAUVGN4 * (-36#2USVGJMJBRIHNNG6KW4UHDAU7KMS9EPN3ZORL5317GVU3SOC6P). +-36#30J7KLDGQ5G7XM688U9K46P5S7J24Z5RQMQR7W3OFTZP7NYAXG = 36#2KO0BWJC2KTTCY90Z4GRBWG5DOTPYYUCVQNJ4TCFBW1BDG9NZ3AP1NA7PNDVQGWQGV3GYTPASD7MJ6Y5WNIARW4ICFC34H0QC8Y0CU1ZM0WWBGC7ZO5EMS9O2DXCRMV8M8GB59W0YCF5DDVYKMIZ3WSEPYDP5OO6AKZS6FNX3TLX9STGQXU3VZ0SB935V2E9W8CHI2RY1NP1ROH7PGEQA22OG5MN2YHLF4FT7XIIS2BW3VZGHRBL9ZZ8QFX0UX6CPT828YJWFN7RKZNUS6MABKUSEGU5KZ9M7B0C6DV7AMJCGATI9TJTGYXSP2B0RY8VS7WW52YDL7T5BS8TG1K7FILVSBGX5IFPLU9JBSTCC2QK6QV8ME5S8JJFQCKRC8YYLP9A6SX61CMW7FQODXBR92VV7WCCUYZVGJVCM3IMPDHVQVWZGB5Z1KXD45NVKNXRE5W5JZN7UIVQQ97AVFDYY278I2CATF64DMOL1VRBIG3JPQ06QPM1FCY4KSIVQMD808WPQFTMH303OCUO5PP50CN3V7O4CXCXB4MC div -36#UQJABS50XKSRLXT54N9QLM6ZNS45NWMPZBDQUTZRZTOW3X8LKLI5W3E0F0AN6JWQ5SZ5QV991N8C8912AN0AKB2BKVNASK5F5LQN3D965TSPVRMDWZSI2YUTOSC2RM4D23G0WCMJG6GQ9WI53EKQZJTFUR51M57IKKJIMWS0T6OGHBWR9GV9OUUBKFVI3I1KODZYWXTE6W6WIL61QCKI63J4NMC21J52ZXUXBTOVETWA6EYI5OLHKDXTRJQMWG3XGUU0T67VMEH3SOJG1QTQP8H100BX4N1MRNBAQ7S2PI98RWO60TROXVHUHGHVVAXNXOT4Z3QYV2A0PBMYELKMRNPQ7LNG3MYQNEWR9LWF5ZLVDYVY7TOWI8XKEKWYWWGGBGAGCE46T1CNPB19FDDNG3LR08W8461YSASLG4KGBKDAZXAH96SB0ZH4EDQ9EINC6JNR9GQ7J8ZW2B6O9NDKLHDUPZICKNXOUEN6S9VU1KZ4V0NBGL. +-36#7NO1C1XQTOXQ072S0A6GKFRBZ09KWZW66N97FDFDM7SBO8VP2ER1IWEZ8A1ES14LQE0BC1T3JPHC5DTR5EXDZSD6NTD4S4L6WAO2F80ZAG05F1QTHOJD8Z6AUENV9JJ4Z4OJZTICFCMZGLWYLGCSO4IDH1H1LX16OBHHZJMUBZS2U26E769WK42DUSTKS4BVMZS01SGQ7CBFSVEGLNL0MDLGLIFS71Z2BARW4EOMG2E79U6QLZXSTBGPKQOQ25V5CILOWVI2XI3IHM1BX5GXGUFQI7S8U0GIQK23AOOF7CI6XA73OEQA98CJZ9FW62UDI42CRFO0CJ0SNQWQBUB3N1C0AW1XSJMSAHAQ517D5V8E6RWXVIVVLHGIDF3BYOVCHZYUMZN7K061HBR9OZBD7CV87O3QW2F83LOC5Z6QGLOP0QGXQT3YACG89N2E688 = -36#1ZDMTE7IMYB0RBWASXBMFQW6TJ565661A0JGUVE1KU0B64EL04EMNTPDA5LAD80D4E16GZ08TAOMBH15536FADZ8V8FN5LU425PLOOJABVS33GNC8GIBS6RY49YWHOXFPDGNWH61ZU19P2MSXLWPPF6XE4JYNLN79JO51C5S247STHHIYQMP * 36#3V17HSFR0WEMW4VS33Z4MAGZUSMGL4UELGW2MTQ5Y4YST4EGAOFEH9UCCWKKOTB51HD9KCZ0902JPHDGDQG7PRP3O1PT4M4YNLT021HRXJ1H8TPARKU1SR2REP8IPDCEMKV40DXCF4I25ZXVGCY14RI5JCTFS37G74G3TY6G3YVNUSMI4ILJMKB2CQVVFXJWB95Z4AIJ6EFVF4GC96K7Y0KH5FZG8432BN8GJSQBTD0KC6IYJWWVG2X8GVFE1M3U5KHIY1HZJGQW. +36#1SVB9CIR9V5IMQZW97JF1OOF18AF24YWHYTNBHX9QZUE6UHO5Q6UAWCA01W3QXZDH9JTHJJL7G65G03JY9GDD694D0JW0BR98F7STT9Z57N6CKBO3N7WR8HDEWGAXOXPDZF986E15W2DD2SI00AQO3CZK6D0FLFXIKRTWTDH03TQ3YAWNDGXVHJX7YIBTAVQE54T9J2CGALGQMP9X1NLFAYALRW0SR0T91LODGPQB3YNQETBC6004RO9XG33CLGV5RD1AWS9DBHQISVZZAU5GXXMHLRU7P2HEOB3W29N1N04HWHCA45HVXMMK5L7L6UPN59NPHQUOBW758YV6BOFWWRX040EWYT2OYE0UFPQLZ3K4NN1E23U6U2ICW5B1UB02L4R17U2Y0GPOATYEV9ZTSM1U3LBTKA26VDN04CBPMAIWSEQR72RTW4M20YKKD8859AM5K7VSRY5OFS5NJJ0LVR = 36#MYMQDU2MHBEVSK225PDBOZCWE7MHH94TQZBJI5UQG7J7NRDG30AT15VMPRC17ZCWYEBNSEE9XWGF3UB1M0QK3BIRK1XTLCTGHTWG0IK3A41YPRZ5T9BL2ULR2Q1AGB4F932162IYQ73COBI1G5FPGCCFWK6Y70W0TOXIFXZ6DCQEHNGXEMU1KBCVEWHIJ1OVCWK5RZ09BXWPN4QG4TICA0AX740ND9558GH1M9ZGLPNC4D5NFJ170DM01YUW7QYYF8Q7LSP3HKE7Z23QG3K5X549MH57T2SOBFIB3ABBFHSQX2ZLQI0KIHOT26YHJSJ655S084O1JV3HXXSG1JE7KX3QW3ZYWZ5KW6TVPMYUYAJ8RFYA1OLWLQL51ZNNQB8USBXAUKASBEDD5GXHYJ0FXPUKH3OIMIP798BWP8YGO9U4S999QL6OCCOM5FGXSBY2521ZFGRPD8HMZKBZQ45K0LPP577B0GNHSNHKXP7Z5NI4DCRK6W4JOXNTN621CO3LUNT703DWMDOPT78VNMIMA3EWHXXBRKV5B9HU3EZQC4UL1SQIL2B9X4DKH6SH9Q2CGRKKKM04KE9HM8Y74EBV40ZY1BB619WJILD9R1QIC4MLNK7NUFAFF19S3NOXG0J1C4GMBOPV8G43IOODV4CNNBQVC9ZJWSIBZXCW1NEIEQYLR5EF4QTDLM8UDR6RCOCGO38X1U144QSOVG0 div 36#CQQU99BXQKBEA8C0RBGROCX7FYZUPHJIA5G88W5PUDRIG7TWWSU533UR0TT22D20QNI97IGUNXV9X5E220T6XKUUCCNDENK932WEX6F0F9Z812GRRMOFJ3O2Z606U6V9LMUBLTBILUDKDBLAIRE3047Y9VO1JCFI6FILCIRZ85XONU713FZES421HGXC56PYGSCOYS9NA6PQZHLEV7L1K7P7OVWSJROE0ENW8Y41Z0OE93TE942S055XS. +-36#L1D36S6AAJ3ZF5R88U8Q6VUBVYGUHKH9D55TE2MEABTCSSGOFHA7RV6OKN70MHN6ANKJ90IE61NMODB749IYRG3KX5BLPD4GOUTQVU = -36#YYJ1CZWTZWEI2360WMBXDIIMF03CD1BPGSLI80TK0K7HIIPLXK73JO32QIODW08RBJCLDJA3S0XIPEH6H79DD220JCRFQVQDGSSLP04X1Q6UVWZTF08K2JC7WLR0R4M1455BAQCEYNXZJAIF2OFK5R0 div 36#1NTLDCANXK3V2F7QYEVVSKOW26698CU8DX5V1TSSWSDIEA7P1I. +-36#5ZP2HCQ6W0KGONUBJTQ4Y2Y4P5Q9XQFB15C6V9JNYBYBQFHMSSXS192OWXVR8MA50LG2RBJOWGO0G98K8X76XS5CX21TNKIOOLHH2LAGUDEPU7OI58RZ2H0L0PD7BDAHB64DPBDF51X74SXWM4HNOCYZ6Q4OUU0K8BX0L5JSGGC42XJXWT46AIUK5SP8FLCKIE9QFO6KCC80F33113QMGTIJ3N117Z94FL4YMAGNR3OORKBU7Z33XUA9WHM9LO4LV1JRHCYY88OVKOZUIYSWEKHCKTCOZK1YXLF8T83KMSQ4US4JZNYPETSQ95HHS4TZA1J7AYNF06PPGWMI5KANK8QHZMOQ7C032ACLVHRUHZJCYK5TSINXP2ONR2NQKAC2HPMASLZ8HMISCBEJ5CDAG999FH3WQUX7OR1MJQDHR = -36#Y1VEMR6T4ED93MUL95OLH36HIUII29JVRANRG0PHNJI60H2MF * 36#6C1A2F75QJIEYGLP5M4XB0SBAZZVWQ04RI6415VA0MGH7UURE3IHIZJPQZQDQXGK1GYC1HGMCEA24S1OXBRWAL4WZU824LCMP8AFXRCECX0HFSNYNB578OMRHKRQBAD6YDQA1Y325NRGD0K7R0GQBECOLIEHYJB7AG8MHHZS12VJ9UQDJAOWGM03SK34MZU7NYHOKGS86W40AYWG00DH4Q75Z50MLDZYJPX627M3MWF67GABNDOBJ4L9EKE0MJK5EF71LYKDB0UM9XIRHN5P2RAKT532LB9DEKYM83AAXZY4U7BUZTFTNK6CKSI6BQZ27LV1NFO1NKX5NWGT6QMX7AN039N2XDQDLF3PG3KJ6QCW1MA5Y7RILLDL. +36#1W802DPSIBOFSLUSUAQBRU95HQ6FX7ITAE1UMGYGK9I84YP5XE4REUHI6TN2SRT4R6XTMCHUHBZKTJQJ8QLMVPKDPTLEVHK6P2AJUDL0B7RV5KWI071MWAA06IVRPN30Y5748CP0AGPRVZMIG3SM7ZSG = -36#97PGGF56U7YX5FXXPA92T943OQN5WAQ0DCDHJSWRL2GZLZ9N10GN6W6BL7XEZP22GIPCP33X7J26K9HH3WF4UA506KM0NJEL8KPWGYLOIIVEA8J88IFH9GX3NSWMIVCNQLGVP0SVYP3JXHTIDG0AP6DDEWSFLYGMKALU4AIM5WCD9XJFUP2T7PICKH6T3ACPK8KYRO9MJTYAY3HMO3JHXW971ALAOP1KENA8R17W33Q7ZZFKA0EO6XB4YI70991SELI2RTSCUQ67XZ9GZJWQBO9FZON08QG5XZVLZUG1TCQQQVEUICYL70H28LQQPIYJB6JQUL6RETP4CWLXVF7E5ZDCAEB6EHCG div -36#4V1CM988AJN7USDIB3KOQMYFHAUU4CEHHXH4AJJMDH9SDH2S5ZYHZ0GVNP9L950O7F73AT1XMH341KXHU0WO63RKZBWF2ZFW16UL1ZKH5PJ308Q4S2BW7SLUTEU0DBTA6F9J6Z3Q7A5RA7MJ2Z61Z2V87FZ6BIJ868N8Q26K0HGYZ2JZMN18E42ZBTNKXUC09LR7IFBUJ. +36#BDC2N8SSACOAGA83R39GLPLOI135LX7O56TOVASD6GQXPN7CLQWLMEL7RUJXLM06LG8DW1WABTOQ5TSFEQJ72290ER4CV3MWE580EIJT4IB2DC65P5SXVEQ1U3DJ8KI1USZW55TU2JICG2SJRF8V3VIWHUSZ68VLMU8V6UXLZFL698OT85YEEP7FQIRBMIR7QG7UOJ6TF = 36#1HFV08VIM87BZ52JZ5C4TV83520PEDNY6OJ94THYIAKKAF72G0L768SOQEMSAG445BID8LXNLLEES6KE6HKENKK1LNGINU6EAT6C6BHEN8SX6IORRO3CJE4BPY0G7GA2Q1O85G37ZA4OXLVJFNHU33YD8K2I4SG24J0LKKX4TX11BQR6LFWKP00HQ79NWMZSRM8VQLE3V4OLPP5JYWDRREIGEF5RWTFZMGFQD4NOXZN9M2CF4IMQ6KXD3R4STUL7BJ9BOYOTFA2HYG7YKK4JW3TTU9DUJ2KV15X8N2GH1OVRZYX07NS1TPTIZ2P0SOBTNKCL3JZ0KMQVDLEE0KKBKTWMUPGMKEAUR763A2C88WKOOBLYLAEUXPO8MJ9TD986D7XJXO47U9TDBI82CV62JPO7QAKD8O3SQCELRCULFQPJRJV9H4Q8YQQWSM5A7S03P85Q6I68SUROJ4Q9JLLY40H8JNRKW2CH3PMDY8W1I div 36#4P75HTC9W4O0JCV74PF2ZAG1M1LU9Z78OC5DGJRTYV62TVPDE8GLTVTTIRU6WT4RT2PK99XZBM2CDYWLKAY8QDPBXAZOB48TCFVGY97K2ZMBJL8VF1PIAHI2TSJNFP8K25ULALBOMGQBZLI2U6ZM19L16BRPWBJES76YTZ6C6X0C61FPD4PMNF1QG4TXVLFZDBMS6OW84I81LG1E1WC642EFPHJR64QI2HQ7JG4H3WPLGH016XHP1L1EA2E9K47DN6UNE7ALD4VFQ2P79DC4A6QM5LXBFKWI. +36#4XUCMO4SO83V2VFHBQ2DFYNHXIU4LJTW94S3OEO876V23BP0T = 36#84UNJQED6LH363VU1NQ6URG5VK44YB2OHSVRI4FDCABILWD794FIRTH5ADOB551MHEWNTFNJ1GKREC5769HIR4TNI6ADRGK0JOE592V421Y7PSJ0KLOIFQHCK8BQFHIACI4E3B07MTEJVSEE3VENTX8CRWOGJUVB9O0BO0V3IQ3CNEFI38KQJN9OOLHBIN6UV9N558IC0JYMGA2CDSDMXYR1EHK15EMLR1THEF2I83D5TB82IC1UQQ1MJGW77GLXOLXE411JZHR7O4JU145HMVRIM33IALFHLU06BINGEBNW4NTIP6SUBTVA06AV02EIWVYFVFFMMIG9VO4UP6XXRV2L7TJZORXPVQNJ6DVJR3K257MCYDISHGUYV9BM4K div 36#1NA3Q80EWUFNV8QY3Y17PCB0M8OUR9IRHK48318I9TSMDS4E2RI8FKPAIAVTGFIQ0TVI3M83MLRF88FE18F43BJ0BWTPDAODTBCCKBS0H4D0BYSNP86Q5KVI0UE69XXSOKSL5Y9TVXLV7RDMMC52QWIFAECZA8XKJGTUQM1XEVTFMYP2V6IAB947YTPCPC8LERSHDR6CRYVZSATNW95Q65F9OU3NWSP2KFHJOFM4BGMEO819CK2U10CK6KWSJO5Q21CHKCMVXZEJQ84DV40VOHCSR2KJN7S6WB34BW9P3XTAHV8MES94ORFEBD0CNNSNIWHZLTMPB2KRIS. +36#26YB3QRH1DPYN4GAF2GGXBQ1FLTFOPDKVKT9T697LYPI5C36V3SXX0Z9PZ4O4JI9602EVAUW8LL0HVLYN7XWZOWORS9X6MOAHOUZIOXOP577CEPI1JXZZZLCR1I718IWRBV0NH7WYPRTRPIE7Q12S142Q2Q5DCALDHGOBHCI5SEKRYHKOBQC4SZMPXKNCHACHNJBUTDEF1UX4ARBS27SO3Q579UVKOE20JVNBDPW1734MM9B67YO4D1S00TM7JTYJOD6J8NMTRGC69GLRQ2UT05BG53LBN5AVG8LJVAF7BX5BTCDO6QOK0TOLS9LPZ2PC5CNBK4NKNEBW06H9R6DFLZHLUBP57102H1TW7FHFI4FKF9X0KU6VAGZEUEZVECCQC16TDAY6Z4559STSVQHNBYE5XVVJXU3SIYULZ9Z6OZ7AN376IX0Z9ZPFV1IGITS9J4O8K7INO7UKH3C9KDV96Z3E9C95YVUQVGF3AARRLURHHZTYHWLBWZG3PB2U3PPDWOH5YXPU1OQZMPJEO7TIMS14SH9SNC94YPX68YOSQTXA7T0GNX99YAHB2P2JSZ4F2K3UDLPEBC61CJRLC2MV9KZDJJTXS8T01QTDSLOKSMV27NQZ5MDIQNY4BINPA1BK5P9CLM4TISCQZMF96N4LM23X215QY3TH7EJW48T64XKB6CUPW6SN2SHT6RPQTOQJFC1UX4JR7SLFLH1LK4QGGO1H1OOYDZ8U6GXW8TJCSPNCB7JGPSQP2MBTKEH9WE9Y2CC0YA0L318AV8J11OWGVBDJ8W8UCCD4J7O4A7VZB4TKI7KXMVDZGV8EI5O8WI09W9H58NB7IYUX4XDL5C99PLHBVRPLRXLYPPHJK7FISEAEVPQLYNS4PBICMDGXMHXZ71PZPDW75CFRIFBR3SXJQDK6YAWPZ8XYLT8KV8RJ6UR2U4P6W8ERRQ5H4J3BFTQ30LGXTXHIJUT49RBTOEI3112VQGHPGLFYCMI1X2NBV0L6BXLV2NNM6R3VOMTJ8PS1KGL1IN6EB7KNXRA1UNQ296XGIKDJLHW10BOI3WWBX7F5UK14RGMROIBTLDZD69LUD0KLB3OJFOTV18KB2QY77S1CHM5I6LMHJ4K7E5658UFYXGJ5Y0UWZ9PJ42UXBRN8HPYROWSMV3GTZWAN60HVQQZA2RIOP0P4CY9GNYIOJ9G9A2PGX6AWOUBL3IW0MQ3ENMSBLDWIY9D8VBXIMDK2QFPCJO8E5LHTYOA21EY3VOHZ4G8FZNO4GCAG3 = 36#19NPN4ZFCCPBU52KUM59HV9ZS4VF8MX51WSEERSJ3OPB5JTJ9K1MROA2WMBAIO62EVRCXCRZO3SI9W29FMR8QA8CHMXT6M9D5ZHDMM0IJ9TJ32JVA7R5JB1A1DK8MASOCOIKSOUAMXHMIFYMWEWA0QPGO69RDWZGYUF7UNGVXRAN90FY1SU8MVZJKRK9J4CFO4CU23KY05BCBLGFKZ8LBD7MQ87I2QUI51GYTRPQMZPK5HVZY6NFOJFXAPLQI7MP86ELDNQ6KN0OL6MT47IWRL67TF3DNE3TQ4GC5PSHTFKSZRO90V42ETX4HDFC9XP2L3502XPX567V1FP1BGZM31ZXIOCBINZN6NFH1Z3U31RJBE7HXM5WNPBC2EUK4PF0EW3O7QK4JXETTAZ6K0BU05GF6A1K86AXVYXPV24OC4ITUHW32COOJ6QB66S5B6QS299B82WTOH3WCW2B1B581P4TZEOIMABJC3ES493U4LK7T2CKCICYHJLE6CU1X465EWL83WXGG7B1Z9NCO2IDVC3F49ENWSC3F0MIYTW0PW1ODD23KVEC8LCL94ZWSASY4NNMHBXFBFYPJK7131YHCALE5AO9FPCPT7ZQRTKW73EYU25123PNQJMG3TX05NW29P9WOFSH2UF9H5RXZV5MJDXVZGINJ4UEIH * 36#1Q91L5EG1AZ14DS5Y2SCC2NN6SWF0LR99GGQ3V2NAIIMJ4ZQQXJSY593WUF3US8FGS7NI4MT4K478CCHXY09YBZLZ5MI6DAD9GDO2CLXAH5NFVBO94Q9EINIESDOQNFAOTHDDMTH27YRR2PIM7QZ4I16NWSS67WX2VOD61BQ451IN75RQ2S33AQRRU78Y3L52S62A5C23Z69DTH76ZYWUV0VPS59PR2AIBQE1HYI0N73SFP4UY6W54Y7TC7AV6E6RXJI5SZGFQWU1NA2OTPJR1HHJPWQ3G5NN0U4HZOSKKB92ER5AWB8KV8H80X09R941AHF64TLLILSPAPIPXPF9L1UYS5Q9AW820UA6RGUQS6VRPNXDU9G5D4YX7A12RX63U1N37OQFSBKPZVLC3MCI89YT8X9T8OOIRF4VYMDJAJOZJJTUHGBLS26V49L5DDOQ7IPKN3M95N46C7FJURSDHG98UR4CYM394J0BVF76VQHRW34PL599HYNCG7OL8QSO6PS7S9YJZ6YL9DE14W1M7MT9Q807QEZGR791B4HVPTY8XNCPFG67ZNMHEA8U572WK99K0R9HK2UBIW5TWWAZIMRF. +36#W4GNZ9YL9FGOS9G5VR40N740953GLRY8HW0AEQUM4BN4LE3XK = -36#1YNHX2N6T357L5PQIYHC8J8NAP78XUHTK1VYMZI8ZERBXQRQX2R778Q9Y78SB9P8C8ZMSVYTH7PQ1QV0AOIL2XHH7GYO8N6P0XHVSUMFCAISWHBRZTX6RJQI1E7K44P5VWRWO5HCM8KLZZZXR5TF36R9HBUDQ2CT3BRP7MF7WHQ4ID302X3XR09Z8KLSNER48X7S9LR32YJWDNW04JF4QJIWPV0H4K9YWRZQSXX4X2E4P44YIUD0ATK16MUT75EJ9N10A8L3W3BWS62UKHMRMCMIDDJZCXHK97WOSNSE9AVK6TXOJUINONP6N74WPS8IN87W9GOB80BGXIARSK1RJ07AFDO078P1QNBUOUXA9L3QWP0NCTTIYDPSSA5DG4N6CDGMHDK04TZMC8P1C3ECPALGG00J2RSIRJ0RC4ZTQ3RNUF4IPSS8OESN32TU8CUQAHUC9V684NDYATKOYKCL40SY1GSNIOATHFTRB3GL9ST5KBDJ8FYW4C4GQUBHFXHO5MHDFOCU7LJI33G3BZYLS7SQWJ72H5GBLLWUEHXDT6BFGFMK9IX2XTTPR8TC9GT97BLXZRS4Y6S0WRA07OD0GDTFO8WSK1BEN1218ZXXD8J6YT36AHKK8VUE7TLUKKUYE21QWMUOOCRMBRV8C7WSBRC5758XGFSXBD1ILP6B30WEODS0NCLHE9LF3OADTIU4N3D0T57A1QGPEH1XT1XK6MDHEB9ZWH3D0J6P2QKPTHUQ4F1XUSVRF7E4NK7HOUU7PHZH8YU2YBDYJNG4UJU0GC351ZQIU00BS81B7K7HYJ5EGHLDMNQ01JGK8AC6WAO09E8GWEPPGQFC8MGJXAUAXUMU1Q42TGS31TU4LEIJPSDEIR9BG80F1QENLVYQG063YMI4YY8TFG1O51FJ0UBQBITPLXTQRA8LFL5FALNMPHJPFHGLZB9QBEXL7Z8NNIHZ1OLMHTL7ORBPO2SCPH0QNJ85BFSOLTM9GEGQNF4GJ1YX8HXCB6NLKL1OJH9HWDOSW1YRH7FANK5QND2CWHTT1DK9CVI95OWJTM9N53YOIWGST8K5Z1A2MFUNHJ79NZUAZNYTWLPMDJ9CTJBYF7H4EVF78OCRXZWUSLTA1I1SAOAAY3JMM85PAFAZRJYWWD36YF02FZKWH0VNP3SXMJW3PHQO82ZCI79LXTBX9X3V53CV8D3YOV6TJQ14DYJBWMVWBKXAFB8BEBRSA4SEI0CPFLWC854KBU0IX60NQDP4H2OLW3RJNZA3B87WQLMDSR9144Q7M4SSFX3HBAQ3CWDNBVEGRA66BRRVMFWGB6ZYZ0LP62FEHBGAFL9C4FYSK8GXC9J5TM3RC9OOW6VKGB25MS36G div -36#276E4EUUZSHJZ5450ST20B9WY7YTJMTE0IJG2BT5XJQMG4ELAE57HR40UNWMTKYRJY1J4KXILP1UJVXDH353CTR88PO4ET8GD2HFYDZDZ2NR2CARQVG89H6M4OLER824UAK8FEEGBYGFZ5CKG838SR4ENWCAES5VO8LV8MZ464ND2DRW9IB3A6MKPCDJZBWUQ8CUYF43RP3WQI0YP9H8L8R81PCZZB3BMPPYMPFQY9W9UJGEVIBL08V3U3ZPGYJ4NO78IVUJPOUACYJHT6TN3JR4SW0PA5LECF92PIJ66XBRHUO8IFI93LTMMZXAIM9AEYTU3FA1TFDRDOAZXC6D6WHLLM0MF9YO2VP0GLV5R26Y8RKTMU9QO5QAFW08Q6NGEFPE8PWXZNDTTCSLYC7R0ILA9LBAAJBBH00HGE83AP2PRQRWR6BK49PLGV8BTZYDQL5P6LD0AA2BGWAESROBF1TXQ51RHC2S3RXEQ2SCELUZXXT3TQ3LQG6HO4IO9NPVI9GML1FD2ON1JUOMPJQA64U3BYEF9LJALRE52IELHLYWS7SU7Y04YJUIAURRI86QG2C2C78JU383KIQ7KMSN02R1PTGXT96MHC609OO51UOZ3VPK25KDGJIU912SU7V9Y34ER4EV2L7750DDOMGFXZ2P6EX0G8LLUO1455KNEI2TI3JH09A3DHZI268F8VBEGPCHYLROLZWKOGZXF2PZP6XJP388AH7N90RKKNZFVCBGJ2GHGPGP5ZW2CUAB1NXBHFR9KOJ2DCISO0D0R2ECVREJT1GQOE6X6GPJ3DYCPM4Q6CUXL410B67CZ6QR4MMZZ8PWRLL9KH3LYJHNGX56Q7ML6M4IK37PW7X1AK5ROV2MEJTNNQV5UL35KIIXX1V16Z32JSHTSJZDXL14RO7AQCQ0VMN8KV9DFKV6734B65KQTC69Y2113UJ8TR8I2A86KXYVXCQ8D9C2STRTGZW3XGJ6OZ4L5P0222WWMC3SA9CI0PJLMDNF7LAKFF4L2GX3UG49WK8BCY16A2TLE6RCCBV59FF40Z76DI41NJAEPQPACC03QMEPE1HFJT7WL4JOF6IZES53TQ15GJBUAGPHGMUXTSRF04X7BOISK4LUAMT20FNWKH1RK7W19NU7VHSG85GOQPXVSHGKW0EYXBLLGLNGXO6PK4RNUPTA9EG4HO2OH168J5B76P0C6RXO52SXJ21IFGC6HERR9G84JU5XTQIJKY8HP4SR269SNBVR9BQBDVPLFJV1BHFE80467W4JI5O3J161WXI62481DPQSTV2N1DPSMBFGY0HXUAJZ. +-36#YR179VV6PKWG7T7BM74R0BJMLVE2NL9Z65GS2Z5EHG8G15P5A1D9HUMG6824M3KGQ3ZANOULV1XA5RKJFY8SYPNJM4JCKR9BBKXCYFX = -36#64H0G2QKH4VDL02SJB4ZPV1T9547IRW5Z5YSFBM8HYCG7G4EMGNBE4J5U0V2TXL0WTLHRV9DB5Z9ZQR09K7A095H0045ZM7M7VJRX9F7W0CPK8WOTU82VRLXLIO1VDUMXK7P4ZNBAHM2IHWZ504PKWPJ514TIH6JK022G6ZWBNPV77CSYE4Z0MVVBH4EJMZVMHSIA505MG5ZS81DOSITJKMYS5YUDIVAS6KFIWK4HZD4ZQB9HSGBNRZ7KTFERJGUJ82CD0CN698SHPRU9Z31N9UP5LOJOAQ3MEV8MOWYXVQIKGDDLN10ZEJQGLA6VBH5W23JVMXBN04QXAO61O7VCZ2INUZBQP93NT2R86V0RZV7ZVVUG9VPO6SDQ5Y8JPMH8UX1GDGMA7WRWT12AC2K6KFCS62SN0QA71QPOU div 36#6CEAOW24K8AEG6LN7YXAXUINTCO25UAS5TFARDMGU6JY4TRMK70FNXX33XZJ09V8AKFXXN5MJGOWO8YUP7PJJS5BHSLP9DQ5BZMZ8SELH2BZ0JGETHOHIE836KT3DLBQ52X5FOOQB91WHJZEI4I9EMIMVT4LZ6PDOE5YRF88KBKU17F3UJ8V4IG6HG2YRSJCZK78H575GT0J9SYEI08P6DSQG10K4PQVUCACU8J3U505XV2T6ODEYRIS7J4M9NRUXJYCT7ML8RS56VKIMQPXGKD08I2XAXWLI1KDBUNO81YB0C2WDN835I4CV5P5S6E. +-36#GNTDNY8WZ1JM5XY6H1HIORK4IILZE5F8EZR47O9JKNLETRUF3KA41ITKYGCZI7GBHHYLTN1JD7OI64WQP0IL1ZVZ7JREQ39U5SLZ4TY4TJO8292OHLRSHM2KIZR8LW7JEQTW4WLYOX0KCDD66I10YM9ZDLC8PRU7YO2KCD3AZB1JM7Z354VZX4NVA4V7NLXPMGE05YO873HG8UDLS56ZT9S85MBZXAJP8J9ZANUATG5LBDQ5KYG1X7HT86F9JDEKTUSOT63XH5H23CGB9ACA8EIGE1TIN1MOHRIQTC05YFVB00NEMV7C2KU6RYDICJR22Y0EZ6YN4PBDWKVGUIKRBQ71ENIPMW2OQJFUA0EDBDNCL1TKDAU89FE49JCYU1UWQO4O913BIRYE3CM19AXTMSLHSLP8G40MT76D2RRDGUVEFZ31JZS00730KKYW2HA1XMLQE3YUUIF7UVG6R488NTSCC7MHTPPCOW7AFL62KUD9SEV5T9QY905TKDOIFNX1HNSATH285Z5C5Z8VY44Z12Z962DCMJLT35XTSWDBYXAE7PJOB6WHRQWMX7QGG4WLA = 36#WQ0KIW1JA2SP91ZPB8H8XWFKYB0948RI4V552BE92OLJXKL03H17DMUYGQJV1R8LMJ4QLCQ89VFK17FHJGZ50KXCOMHIE6YDWUNU6BQOCM527FZ4OZNUGRA98ISVLTR25F9ULWSKITKUY3JGRNXTB07WQ73NSU5SOYBKA0VO49BLCJ7YAJS1GD8VD7XFNEU8LEMGS2SYLY8T2TEXG3BCFNMC1GAZG3IV5PC6MRZJUQ0B4O1TYYB3KSB5MQ8LS0H9MN8V03SIZO1WV82YQ4NSJDMBBXRXKQGFA4DZ44KZXGMZELJ7XMADEBP3GBEZBDAKYAYMAAMVCEYZ9FKR20CA4CFSISV8FFYI21EUF5PZ3M52GIRA43M631RYG9QD7ZQD0I6GZSF4SCWNIHABM52NH1PPZYP3GXHLZA5GWPXECP1Z57XI8NFNOFPYKP1NL74SCX963SVSMV8UJLCSUQ4KZ7GM5J2WRM3BK1OWDT9QW1T3YX2AGJKBJD8UNPRABP898K9P1YHMF8I4RGPJ3DZXH38JCJMEYVSD6VUR33A3YS4ZCAISP0280QGN3UY72N4S20XYRHZPTMT461VR666HRXWTMMUV3MLQUQ3LZCD4A30FNTDKI div -36#1YPALGSQDQZSRI7YLT1HENY3C4MN69X4XMDDCAVGM6I8D5DVR. +-36#3ARXSIANDS4RTDFIUW995KK2XHZVM3SK97YSO0RZ7JBGBEYJE33FZYYJLGQFWA0PWLRFVIBH23E5BIKX606WUHQO337PWHLLYGV8VLO1P8CIDPGEBLBJKC07TKSEZCXOBG3AWDW7EMKI2SLBZ1UIJYYX73VFVYO6WZ7PYLKMMKPICAQ3BSMJL747WGO94UCLRPYTRR5824UO3LYVO9W2KLBI7UL4M4Y40RPNCRMRNNUS9WAYKMF1ZA7ST9ZTB0XGYU95OSG15G5U42LBAPCRHB8MT8EEQMXSE0R8NCT41T2DUNNI8Q02PPPENMU646TJV8LTGCUD0EDCRA4K3FSYM8VADTIFUXKERZDU06VYW2O98SAE4GPX3BOACN0UAZNGE1FXWXG3WAKOQXOXUM881F7N6E9HEDKS4WJZXE1WZ3HIZHGXL30LLEOLZFWAO4JF70RUMB8BON9KBUMRMTNX9HHRBGA54OHNK21YPRJADHIYUJQIS00Q6B5U4I15VEC8SMYOTLGCK9V4ZNXLZLCHWXSE0ELKH74C4QTLJHY8VK1AZ8D7M364GSII0FPQKZRZQ373KX7XT4GR09RUGE96ATASCMO1KRLTEJIJMYXCSDH1646IXO8QTYF3UHC8Y0MRHKY68H9FMYQIVTG4F29KAOEAYXF6YCYCC9EAS3VVNO3XQ1HYBXE37UC = -36#79PIAUPCIK4NWFIKDSR6SYQM4U3DIT3ZXUDEWMTK2M9PHTLBFPCOV2RJB6L46LAGGYM9N3182GZP7CMMYMTVTWGCIW8FZKE8YVGX95OJ3X5B1WG9HKNOD8K6YJSPIV65LV6BZ9HZIK4306L0YRURDMAJPPDKSLILVR50WQIV090QPXGWVDYG7KIZFQJJVLERHSMSVW2819ZZWRF2QKTDTN1AVGEBC02980Z50DTNU58AO1PXRHJK4P380IZOJDOLGMCHF95TZPX5X9QB8O0OSZMDRZC2Z02VS0YO1IJH2F5K0PY11VILGQ1ASEYDZF40UDRHD3T6T3Q82PJC4OW5UK7X2RHODKYB8IAN5OS8QPAUUVVCBHE0QF44L7P994LKHRKQ5UR8YEHU0QQLFMZ8EGT0ATE6T5UESWT6Q9YOC2HS1DWIBC7ABDLX7O92N51Q7X0AKK82O3O7R3HC1PKMJRX489UDF4CM99RWZD804SW3Y6UXAFWRUXQELI2QVVCJQPWEQFNVTA9EZMSCXWN44LSR4G69VUCHYSKAP82VFNO7LG9H04I8362GCW752CJ7SBEXFA2FMZZESOM51X8O236N4N9NQ9A54GRJ80EW5FQ0S3FGMQKP2QNCQEEKTZ2F287GUI63VP98JRBHFKNWRCK2GV047W12OFWKI4RRI7F1D93P1GG9JUM7IXS5N20O0A91P3D12JAUMOEEO61UK6TG3U6GEZXUPNRGXB153VUHPP0QCX35FLGUPZJLC2IDXJZJBDJGYAU45SGMFYL6RL2TY5MC73JSB8I3UI4RITTSW5H961YGC2TNSTR2BU5P3UWKCK8RJO6S4CJGXR85P7EQXNKTXTJ9RJH2PWJWK9TGF8PASHO1D1E15JPCGVGMF6UO5CO5BSAEAM6V05580CCNZXFLRX8BUH6LSWH4LB7KUF9IDMSNLJAE8FPYEWQ5I35XAAGHVN16V35JXHMO3R46DDPULPI75ZP1FOCE732YNTB36PVC6UYC1GG7OWYC3DGRU1UIMR864HS4YVARGZA2UDCO68HI3JR0I6O3C3L286HBJAQH339N43O9UU20RSMYF28M5Y5ZLG8ZBEI47B7I743SKKCP1EGVH8ZXNYVW8QNMG2NVGTUMONNEJTDKW4PKERSH1Z084L7TYJBVK8BEO59OGF41O5OYUEF84LD4860FL6L990UB4QNUL18NLB77C7W7DJBEA3GFMIFOKE3YBD9Y0D3ESHWY6DK8SQOGGZUMGEYEZ6IH8RQMBJ91SOMPAR5G3VWX245LVNWBJD4FWJIG5F2M6X7Z1UFG3CJMMR2ECA7F6EAY2MD3QOWV235KWV2ZD88I4EPLQJVHGY6D6DSHY4GY2C0YXIE0HPUPM48035WS1C9CB5E4ZASG25Z378XE9QQ2OFFC5H4AD4OGHYV17JHSPGB933WOFZ3FWUV1K3Q28IBTDYTO div 36#27BKSMJ5IRA8K6F866MS3MMZ2V26HX0Q2VTY1BG7RNYD6847EHOASNG4I6HAL33QXXV6GB3SR4912MSTCPJZH4G0XMDFBROFAPFK47ITWL3IN3TPK9RGA5FTTVO3RXI7HI0SUUM7EYQAFF6ENVLH2Z5GRHJFBX4E5E30YZDCQSD6LK8RRH4AVXEONGR2ROM8Q7P8GNC1AN8BZ2635GW1JH5OMCTWP2LICJ6749V0GC2CD9HU1YFXP4MAHPUYW0DHSJ8JPIHC4UTJQ8BOQUPC67GFQ01NE7QCTEHHEGZ17N7H5ZVFR3DF93S1O3ECGXFNUWE7QEDULD8VXVW5DCDJY5OCJBOE0W1E0UZ5GBD3OIEV7O6FNW5WG6X483FCWXS4U3FLJK6GDCSPPTESX9U0KQXG9TDEHXAZTHHT3ITROAWNNWA03B5BT40096G3CZEZ9A9O7062VNUM7CXV4XBHBILLU8LTRBHFP0YU0WEPWBRAMRTPK1VEW9YLHCUW6LCJQ6EZXQNCD9O8F81LQ214EJW9XYCON4F75SM5WB7JFFEIUA8W0F81710RQ0FSHYTFYE7TUXYKZTNAYE2Q20T74NPTD69BLAAYHBX832RO4IZWM0DA7BH8QDVUQR9VG8SANR2O1FU6L070OPP1ZJDQ468EOK1KTD23UUURH8GQV7FV0QIELK4S772EL7V7RKVI43HW6P3I6IWZ4KAE2BUO7KZSGD786IAXFV9VAM7MWC82XD30WNLR7Z7V8390WL0MVH0VJZ. +36#2NLH0LETFHBTOA3GLJ6J8XD9CO9FSOKKGEPPYH30OBYJ7GP5M = -36#85V9RTASPBH5ASEHLI938P8805SP6W1YMNWETHWMYZYYYTJMAQVTMOE09C3KGP1AHV8R4JMA0XLGOWUL5BCJTD2QUGNE19PV2I div -36#32NZ1LLKCFI2NS2OO72DEGDB0DNGSC8DDRNFNBTGEHBHIHRLO9. +36#165NZGZJCK7H0TUGQVODEYV1GOMYD1LCF1C0KONF4OVH09SHZW = -36#FSG1GKFN065LVBJAU2JTZOPC93OWTDAJZOWFHPCEPEWNBTJC41I3W9HSRNSY2KJHOG9FHHL8QZTGUPXMYOGTBVMKPKEONPEFW2LMF1BCLFF4GXY7NXST1DM11BGEFIFG3ZFTWAPCADB9F4CJITC54JZGSIVSMD80HM4DXZ46JXI9C1XK7UB1R7GH0SKZ4QLGRLSBVCEFEHAWJAW8TDN743UI7FZY99TOZJH7YP25R35KXQLF5KXOJE0WGFQC5OX5W26MSGWKTDH9QM8DQ4B562U65RDPK3BLR7C2L6O9U0 div -36#DHF48L8Q1QS4GA7Q0F1KD28HF3CUD23X93B0Y1UXFUWCK434P6KW5H8L76MH3PY39WNPRDF29DW06OCHMIQNPHJWEKXLN0KWWM4QCJN2D8QHZJKW7Z8KBD5PV558M5MRSZ8KYWITF2G0S5GJJCH6ZM35QLVE9JPCKOBTBXX46NTYPF256FOGRLECAUDYXZML5T9NFFCO8X57C8XKM6YU8EIOFEYP9NU5KTVGL44HGUMBCQDADR8SXROJI. +-36#12ANA65BQFR4P5V3S6C7OF7FIL99UFGOYJ3806CND92H6SYHYNIL9B06GLV6I2RTGOSL9S1C99U2QITT3KUPXXO54O2IN77F5LEEDFBCVB3K1UWND2TJ5NJYNUM5S6U8R2Z2YUTOIPY8K8K6W15L7RGJMRM1M9WBU8PODZVKZT5TH6SMUI43YUULCDN69V05LYZJZJUVONA6EJ2C079UF9AXGH3UA10Z3E3MO503YRVS8XGYIAUQNK9LZF4HAU4TO2D3W0LC3C30UPKQE6QSNKFANNA3AYWFQKVWN9600LT72BK7DEU3AJHXZ455WX4CGE8Q2SR4YBEI0SYYRAJZEAKP4KVRDJL4GI35409NJC8YWC9UMYSJGUCX0U630KK9C526FECZJ0USJNRR4GYJ4SSPQUQV9QAE1U7TQRTU9KC29YRKECGZJ04J2WU7H8MF13U0MBVMOOIP4X2VBSCOJ75F86XAJR5OALGJIGHZHUIJM7FDZNFR82N8ZTJ6F4PML9TDNP9T0X5YO5PHML9BE1QS7F6O68 = 36#2CRIV6MZS8P0R9DPN3XO2XY0ZUSUR3R8ZFNKTD0FEY2O9TJOIQEKGNFONL77KJQ7Z011CH5F2GD8JD998L0RF4C785I26V1XXWXUXEBHDUX2BSH2VB72FTUZIPEGR8JSRD1HFGPFPCSXERNAX42G5VLHRCU9AC3XXWYT9F0HCP1WNJF67O8IK6F1ZDICC6H739ASDHH3T946CWBV1MHJWP5MCVF4V6NX69E39G1MUES48SKW7YHRKVIKDOBJIRRUYG4BRHR9JWTAVWQ3FSG8X77HHLW1X8ZTY7GBPWLR32BHH5ZJIH8EJRQUA3SGJJDM0VNVM9PD2RE9O1CV8F4QCTWGOFRM46LDC6Y5HO6FIW92QUP0BBTY0B1UQC2DMVUHXQP12ENHZ8UZGKX386UVR58O5MY8YP4FCU0OW3527H2CFAVNQ53W0XJISIJV8SD6Z4T1229MRP9S9BXKGTPWUJPL3KSK5IFEJ3XJI8JWD1CFVYYB26HORFMBHG9ZLSCIDKS14WF3RPON6YQDUVPWAT8YKKX4W2JE5V6M2CSQ7RM5J3ELHDYH6XG8K9TX6RET1XLGDYQ8HVVNKM8 div -36#27OLBELN1YCBWURXQ6LLP3P1NZBJ67F1XJ1Q3WAPHSWV1QFAFJ. +-36#11ZBCFSBCNG3ZZ695WOKVC6G0OFAQ096YS29EQT08FVAGXYYQ4ZNG09I0U3Q9K03B85OECEW5HTJID8V4BL04WKTV1Q0ADOYUIY6TAQ0M42LLV7Q0MYZ20W30RTAQAJW8164TSN7ZMY2VNGHM5SSN3WYOP4CPYT1QPL1VZ6XA2QQPX3YMH53JOVDGCL211BKTX9U9V88RGF4P3G8QKB5NZ08X47RYP3EB4HFO886ZURDGZJLZLZ218SOWBHNBJE31SQLWLHZE5W3RKYLGUVPT9R8VZP3KWFFPA2LVQCHEYIOR2MLL6EPEGVYM7HROQY6EPPT5A581Z39MIGSN110B9979X0LLLXHC = -36#PU45F8CHEZVGY5AD59XZ70K8C6B7MUZRV79JEXSID59AQ5CW9GSGXGO6HE9OW38NAW48BAEKZ3PESOIWJHAFQ5RINNF22V75JRWB9EJXXF51Y3HBHQ3IESHTND1Y19BIX7RFPE321PP9SFQFN5W873K5LD5DR14S2XWDHB740APSRNT07VY5JWC4J1CDTOZ2COMYGGA9PSF4P6YMYO5HFIOLI3UG3PRE0QBWRPY3PQ0TT4BPDGZJ36Q6J8WOGIXRKL306UNOKLLKZ5929SSPQ7E96JV2OQ54PPT2Y70APNJ26YO * 36#1GX6LZLV5S2CUJBJ5NZFU0844JYXRR1UZGELQ4AQO6458ZOUS5. +-36#1PFKRHSJSXBVKIDHX2FDTW8U4FLY5J4YJD9RO57UOBJMS80026 = 36#50IPAO8FKQ2TBY5UMNJ8OH2SEMZKCWXKIIY24DBWN086I6N2RPZNIEKTHBM7QL71RFRDYWHWL1A88ZSZ79XP139ABJWJSYRA9CU div -36#2XSABQ183X6EMBRJ9UOIGVHGK0M65ZIDR98D1166TWB34JU4QH. +36#1XSAX073WKRTXAESVXTN6Y5F5ULSN9DBDNNF6YUKVVEKLZ1L7UTY57MVV8PYH8Y66NYQZPXHJU4I7XHC6BD2397OLAB42SZH1FBK4DU1170KLJNMVU485ZIVA0OV7R3FVO1SM270KKWCEN46ZHHYD3TSZR53JOBX53KVN963RHMDJICI2FEPN93KSQFBLXUBQ7U0P1XGPKEX4B9A23I = -36#7XRI0HCWKOY13QE19W3TC7RS8SC0TAW009JL0IOX9J46T6HB0UWY8JRSYRAPMDMQ4L941LQL3KA0BN4417JPA7HUBIWTE005I0NMSV4GXV46HH60QE49H3UK1LIF7NQURRRDYY95Z574XUYZJGNNCUD70L0W9H3IYAD2RM76ZVX0JYY2NTT3X24ZN6O2S4399P5ZO84SD2B7U8YGN6EDOA6O4NI7NBEN6PE6I5KXQ2VFGREE50ZXYVT3HXLUP1GP0DDD5G2U4IQJRQ9VLK2N3JEF1M7KCGL0WUGH50LSEX2STGVSK9U4YBSOLEZIM4REK4KBRDROBTFXUHL3X4O24V8AJXRSCCPQB8K0MH774A30EV59JCRZUN68Q40 div -36#43EX8ISCU05K0ZYQ1TB0QBXQYO6P0278G095AYYK221HLK128K68ZYTC3QEUQ06RYXDWLF79WH4YMDNLO01WKHATI3KARZJLR84BFNTPVKPEND7D6XQOQ3SRQY0QBFQGZFY64V9HBF3DOJUHCIC46AWH3JAP16M59C6Q0S5EW. +-36#ALLMHUXZ334JEBN4OZBIAL8W9QFFBQYDB79G6XKUPY3H5W298 = 36#6NSPYHHDZ8KNSN18GAUEUJIFUUIMY5V4FCGOGO6WBR915V3O6D7627S78RHRQ6TVNVY5RZ0FW0OLQAHEC06XAJNWFO1GZ25LNLEH9V4NYP3N8EDUUUZACX8BF9TO7V07HPJLXESTL372D3YN6SDTH1SHAPR90M4E65IAAB908WKE840H25604BGO9NZSG6VVXEYIRSL44F0KHGIZF2HAQY41TPMRHLCJ57ZV1B9TB4HEZFO95H17FF2NRVGZNIALMEKXUPKXTGGK09ZTCEKA5YRF4J4YBS5XEWGWW328QDTAWH2ZMNI0KAXGBOKUCESPMTJPU62KCUW38ZESDEEINUCQBIKJORPTBXJ95K3DMVWQRSWOWQXTW9EK84CNN5Q1BO0LUE2Q5LDUKKHJZABN33919S01QMGWXUQH8UE0ZG9GDPGTCUEJ1V8KG3Z5GETEUI2YMM21F6UMFGMMHS553M7LUXVVUM6AN6RH8DON2ZHKC73YWAPL6LPW9GLFU142XAMW0X9IAREVYLHQT1ZNV69F6HJ6O52AIDJBBSDA4JAN1CTGGGWRRG7Z1R6SYXGA3S59RRP6YMGMT7SM6I2W753EF4AG6S40V15HG391L84F0GQ2CGY0MQC2Q6LT9YHM9OZGEMZJL12YRUGF7UG77PPS6P0SPGNQWA9RQB3Y1S78B006G1ESLC4BKXX6H4ZJ5Q2WTRM3E3L16P62IG div -36#MMEMEB6U4MSBU08VYSJC8B8CT13YR7M171SKM4I9E83IDU1HVBQ6FWC2ICKXSX1NSAHO6E7268XNLCLLQQ8EBSVFB0ZYIAL9YHKPIIB2WNTV645GGFKOWJMHPTBL39A3XIUUQYRD82Q1BKOMZIJP3R4TNO8S0WF97J5Q914MTAA1SEMOJ2Z8J0UQ2LQQY54NDW2P99K3MT93QJH0D0TE851I3SEQ58KQCKZEO7N2LTJ3QTJP2GQT5COMJGKKVNXX3G89U2WDLC3Q31NK8T3RIDOQLIG1S4KBAY8J3D2YSM15B099Z54QW6IGX1H6VNRGBWUL62NXNHYFZWBZ95GIL8XWVVNW36MFUIYJIN8CN8S9KSJ2N63CHL46YKKXJPBX4XH9EABBTXEEK195LUNZM9EAD2TKTHFCKM2227KS1I1RZK7D6P8MVZUPK09YSXLLKWNSF858VEENZXQY4QJK32KMTO5NHZJO92DADIMNQM6YBAN3UYMYEIAXKWYYUJCJ038S6A3J2T12AK58NB2ODVDQNYUYB5TB92FRAP01PRTY2ATEA7B141I4OZ82337V8HAJ9DMOR7L8NISW6H3ABCI0WAZ980LNGY0I98VQNU2VWE8JJK12306CZBIDBV43EQ25IY813SOF2RHN5ON4GIDM2TEMY5OI2. +-36#FVA7XWD9RQ3X379VC5CVGJLIS4PZ8D5TBL5LMBHM4E1J7134W = 36#1IPRYBWAIF6O5EZ77DMY0ATLW25JSEMPHXOF7OA5MBBLB5JMDOKP43Z4Q4CLGJ41JJYZZ522L92535HMWEZ712JCSKY90O81UURBI32NY3VZ5NMZOTEXRL7RVKLCAVFO8XQXO7AXQHW2NW0YSB96D5YQ51DZKW95IDVLB7WXHCKMJUIV0E7WZCKWGYSTVC8CJDNH19VOCQ7RH8VN0A39X4OVSA7UXH7HV2O4EHTGX6IW1W3HDUP4BKLM9URF6HDFOHPB7GG div -36#3G4L1CAMXQ5TVFCIOY7KFUCYOO3A2Q1UA6HVBPTGFBFM48MHWRQVTEEXHSSRRMX46G320ISZSHW3BUIF1KENXY2U2LS7UV93WLIXHRE11BQ3P5T09LGC7CNZVJZGFGDEGASIU3NHBAXE3AV24PSQEEQKGG2OG89L88K88NHI3ZH4HMK2H1FZD0CD44FXDLZJ9G0S94VRQDNM59O5UUELZW. +-36#5HDSDHS8XJ7EG7C6H60O9AMZYTH6I6OFJZP733BKL94YSTMA3XHOIIDR4BXWID83SJ7SIZ64DCAP4BY95KG68JKNZR23BA4270N0AQD8OWGWPA5TRGDGUCIH7SO3HZYDY1M57N0PLUA54G71UJLXJO9ZGLGEUQF6TZKVLPPN3WOKFL8DBYZ41J1IDO2C49BGW9MC5IHFN9QDZSEV1E5WCFMKKDKNHSWFD9MTLFNP8YQKG6H3ASEIAKMJ7VSDHL96GXNM4W7TXT8Q47FFXS84ADXAISRK8N52ZKH7D6727DFDX4XZ0SAKVIXQDIH6ENACR1TMGGRPU4IAOLIJH624UDJYC30LY2MBK169N7QWVVCRYB5EWE0U9VSTGZD9D528BAO11672T4AWO52D368SJF7GS47VI3UQZMJD94GKAT03KU6OD1IQ12BDKNGQ9X6ZJ78BANAVDW80LYWMXG = -36#1RDA0BB5MS9GSSZLOC13WDSGCWJPC2LFULY1PK6ORJ4JUWSR76HJ0AUKOPYGCB9Y99A1F9H0K9WK6ZA0UVU7LS1ULTYPQUH0M25SQ5X51KOBASI9IUQKN45QYIMV4AKRCGNXAJ4ZOELYVYOYF2UZL6IXBWOI52P7B5PRYCCPDW70DC9Y9TCWOERAG3TY71T8QHAGD0U7GP7MX3GKO0UR7Y9G9EYW0ROZNKRZ5K6UCTIIJ5YHXL0KR5SLZE7OOKO4C368LSDZTBI8DPJFFKGGU5UCFIMTJ05M5T16KKG6SW40UG9IY91QHJYWCGVD9CYXUP58W9PV21H3PG7MKLDPUMEFP2JVGTH0AJOMUMHIGSXT5XPZOYGOI8EQ2NFKN91PY4ECS9OLEC9MSNFQXL569MZA9CIUVFCU3H7EI949VZHEK2I0NZMIW5O5VBQWHFI8OUAYOR8YYHS6PAD2G87AA5POJE48V2EJCH55SM126M4SX3VLW34603STRR6CYIUSGLRB064FBLS82S04GR1NXN7UWXZSXXWE4MVGPHHCWP8GEINJE9NSGK9G8VLOJIGPKF1TCAX6AZ7NA6J0TCGIV9GNECIX32DF9LQTNJK0BI26H9E0YBOQQZKJZUR7L2J3BHYMVXKTWDQFB7D0S7XBE0TKYMXECHKPSWBHDWS0OP6DS6AHZ60URS7VHAS9VD6O9N6O4U4IX90E0M4HT9ZKKB5L6RRO3GV97FHRQILUNSPO2G3W6WZGSX6CT2J0YLWUMK4KNHE4LR2LASKKDPHA6JSWEHHULERVK47JX1SFQ1JQJI3RFKKSEBFB27VXT47FDGAZKWY4VLVR5OH7DPXS4W1GF7RWD8W2RXNQ2ZOZA4NZAG2V2VEQQQIZ1A1G81GITLISPGPW88YG9C0C1TM9VW724J51GICBE40ILXIKS0TSBEDKM00GG82VX4SKEWE5C41DEPWCYY3LE7IM0GZWSZ505UVD00WN0G1TLJVLVGEBBTL8IXP88895S div 36#BK2ODLVWMC0J1U3KGHZ2ICUY9RSROUSE88VFK11JIDFUE3R0QOH9V9SMXYXUPTREMK89FUY0J2P1B0I9AKOP1RHWXHJGP4DRVJVD4IJR1HSZX7SLN8F3UELSWZZAE802NRPGJ96A1F3FZ9I2KGGV5WQ51GP75BHMNN91Q4XPZIX7E7DN7AXK5GVNVAF580PLYJPZB0UKXZ1HA8I0O0JAHLADPVZ392F1HHAP522231UH5EKB06K5PMKRX2XYKKZD28CVHDL4WN8YRTIYZSLDU3NWUV5XH1402G86PGXGY4B69P25LDK67L871B6K89AG2UDTQMOSNZ1EPNNVK8IZ8J8O7OJ0RGH04XS8RJL1HUVUB5D9RBKGF9SQLXP6OT5E5JRFSF73RHV6CLOMDQEC25N8Q4IW9884JTLTZAHA2RXFLQQ8TIXXO7Q4KUZ31MAMX0AGXMMKJ2D207IFDIPNHA98914AAH3QRSERMATL69OZDB51TYHHJFTP9HZPSDEULZIZIDOJBPW1NUHUFA1Q5CJMGPRO51PYD8ETD14. +36#1HZMJI4HA6SKG8S0WCUP6MZLJP1KP8B89LOKHQ799XDD58ZHS7 = 36#28SBUEKKQAD1OSK36SEXICHKNDQS38PUKJNT4V9RU0BVCOLGORRYV2D4OJGLG8U84EQ2ACRU1NPHCYDZKET7PLYQYKNENPLUV8KMZ5FV2D0JRIRW1 div 36#1HV9BL1VVDSR58U1O2AJT0WEE0DHW1XQT8CSAH6MI306F8GIIF2NAFDG24SKOUYV. +36#1S2SHENWGCWRGEZ6O78SUWUKFMR2LOMQU7SI32TQWK4H2WIJES72R22T0FX96U6O0QCWKYY80Q9VIOGF9KJOB2WG5O0FXFJCWKSBBQDK03QO88SABVJYU2SC4ZMWMRMLTNKJ0ZSV88L5J3A21XVW3QTKFPZKTJKP72VEVSJ615031SV21EYO7565CKFXBQFC0VDWBPF6RY7ONNW1G697Y99WBY2S6GLOSWVHZJATM6ROVCS5W0ZHH6306GI80J77K07K01U8JPWHJK1PRO2EKPPQ1GY6GTFLEFVXWE6WZHA4UTLWD57P3ARMD5RHTRUAQQVHRF2L0E = -36#1194CKPJUN1DFIVF2Y32GLTOOVV8GR6N3LSYKQTBCIEI74MTDKC60DRC6PMW5DFO3V948NYEO79KM1IZGOSH1W1H2SM7VW2YEZ8LLTQKKZDDTQGQ3Y1D0ALF67YON96O2U5IQ4OT2NA7B15N1WY8G8GBIJERDYBHP3LLYRXC4S4H0AEXR0K3GN2LL34RNZVZEKF52WZT10UETIJM6HZTYG4ICM1H5NIAMOLHGUGCSLVYAQSCOXM1P2RYOIOQWF6AFX2YO3LG1MPB4DFJIDYJVQTJMZVL1AXLD9XIFXS1WWDI1CEL3GBWUDSS3I2G1CITAXKTMWOET4DN05VIV0YHDT3KJPSHHYASIGZUEAFSZFURJG1HJJJ0UM8BWDXHJCJHMA8SRPWJD6IZT6CH2SQK9IMC1R1SNZK255GFVVUS3EANXG25D5I06XB9NKKNVDKQE5INK3YWENWGALR79XRP6C458JXZCNGRD56OOQ6YOHEQMHG5DKW320CA2PZ704I5PN0LEDSITWMWHA28S71U78JCPWGHZIWHVJWXNZWCH3KQE51JND2L3YH7EOKLY9XW1VD1IV3K2JTLMAH33Y8VP7KFA49E51UESYMXJMRWZLDPQBVKP37VRVU3D8ZALAUUG1EFTWIN2LZ7PFCHZICW4S6T9KIU83992FB2YAWPT09EQFPI58BN9UUAKFILHICGS6T9H3WPX0HGMXR08XKEMJM5YIS53AFPIU0T89M div -36#KXGU35OSH9I51EY3GZGB1F3MGU0U00RDW75NOAQMFCVNO4GABF8IEGKI0TD6PW9LW0V52XAHNCXPV8W0H327SDWINRBM05RL5BSFNVQJY3MF9XL9ZZHYB1RUCKUY7DFB0GJ550QTYWJK27JDHJG5NWWEJA59YDH2RXDYJXC27QLRTUVEYZO9CJIXSW8PLTO4OYJX82WC0ZXL4BEAY71JVVS4B316Q3IUQJ4HIKSD318THV2NO0SZ0RZLAXN7HJ6R6D1TECABSFVSHOUMXHWL4X4UC7MFXVXGN6N279A288PFQR1O7HWVM195I7SFQXTFBOVRIS5ZB53AZ58C05EL3QXA9MF79TNHZ5DCV4XS0DJ66WGH889NWH63D3KU8LB7Y2O6KP2ZH9BWDCC8VPY8KBNABURSZ. +36#1D37XKFTNKWBDZFP19MF8XFM542ZXSD0M08EN9ZPOFKH8M6HU9G8Y9SKIBG6HLORW0HR7VJ0KL7CVPCOOB7GRVB5U99NW4PYYYQSFXWTO6WVCI1YXKXPMSI1OT0TLMPQRDYGV31ORTMXU1BSD1Z51QDRJNDGN8M4SSQ6AOXMV90HBMTQR8OY71LDNX6QRLSHHPVKP57R2HAW52931EHE4MV1YJ72PJD83F4Q4Q688GPPIEXWNED34NMJX5C3MGMPRHY5KWBOYUM48K51S8TLQ37D2IZ40X5MQDVPYCNXEUXCYVDTITCZ39VKZUTJ3V2WZ77UWSMHVCUBZ7M8K47J0J6FY26FSUI0C8MIKBSUVBTUXQ27HU7Q32Q63T73P6E08YDQMND3SEPMCFPPTFIZCGL3VOEYY0W1M136K30MZFUE5BUEUTRZJ0MQ78YMOKC2WM6LU1GU8Z2MADXG680P33FYMFOY4OWWG95R297S0JVZA53IFDPSPDN87AJ0BC9TWHMX2NQ7J1BJ5V3V5ZBJJX0S46K60XKRHGAST6MPZOX2RUCG338BCXO0HB6IV2LOTZRALYNYJAYO0KZ0Y1F6GJAAQ70CQCZYJ9NYC29GWGPACHUQZAQIW1IDYE6UJA478O85NR = -36#2HG5TYFY1UHLNEMBUANTNJKV21K26PQ6C194NOGBFG5IJAHZMF3HM5PHIK5IC1ZYI9LHLL89QAF4F2M9RNUCQS78YITWPJ1UF64A4LLTJWPFRZXM309CKV43J1EGYHOX4DP9PR1Z5ZWYSEUNKV851VNARA5D3LH0R9PJA3Z0O8LIVSQD2TSRNTD5H7T8Z2J94OC3KNWJXGA0IZTFJ5WPKDCXHH805NG5CI790K2WO2TYKOVB1P5INXNTC70IY5035KP1B2W5FENIH9O3RZ0BC3EDFTSTFR015IRUNDIREITMM506C6EUNC0JW1S2YJTIJ1 * (-36#JR8QVQ2PNJIUNP7QVH7E59Y5A0IYSB15XW23ATZU330FLDD82IYE5FML1L3I6RFGP8G6BSESK9E8SQ01ZYQ7KZWIKIETOF7D29L3DDGKQIDTVO595EQMK4PLFLVYVUGHGAD2WSO6LK2O8ILF0KX49K2J30I74FM489ES0GWUSV0SM7OPKALYYMAMJD5UAUQ6CNV5VHUIQNSILJFG5XU5T0KQN9U6HD75KVQU7LUOBFOAYMSE2L4NRWM0ZW91XR0U6H8ZQW5XYG5M4RR6OZEFY9HSBXGWZKRADOTARDPLPYK3ZTWWI8C3XHI774XAU7KVIVER). +36#24TMFPIZK6PTMYDZPCI943II474JEW6OHSNBL0GED5FA379QCTCYDD6Y1JRRA6EKKD7XUXWMNUKYSCECD1FTJUD9MY0BUD8M0X90HJKYH9VZ68I2B6438D8JLXYCFB2FP0INL3FN0WS8WXA157GYT7ESRRC5GCAZPBD20NSNFSNK23WSIOQZL4SZFABT80SBY9VM5BZOLAI22JEF4SDZ6NHAOZP7GCL7J5V3VD0PRQXT9K93D7YDM9EEKOEN064HZ65TSC8E0B6LB155BID7XJMYKEDDQ0F3DSGVZS0KCIHQ3Q16QXPA8OE46ZZ4RYCAKMGEL3PZN6TUJVFY79NT918636LX7RTLAK89Q74U41CVFGJ3NJRMQEXZVVG1G0T8002NTGXH3IW9AW82UGJEXYVTR1IVM9V = -36#CDBK5QBNJF3W60C59IDX1GUOYMTFETCOGX4BHGEXHWMIF33J4NSAH1Q892ADOHPKMT20KG3TLM19QOJQROE2N7OBV0Q1IPGS0H1YBQ0NELIK8667Y03FWJAC3Z30C18Z5VPRNS8FT6PDECOME0Q95D04WFGR3G2KIY113U2TLZUTABTBYHI9Z8QXUQUN15B6REBAPYCFC08GJFUC66XIX2MJIGIFIUBGX8F5K0L8DJL80BYEZN3APS7TCH8OT0CH2SA82TUUOL1654XUGJ3R1FHNEZJZUQGN506QSNYENNRHP4PABTTSGYGJYB3LUVRTEE7LFISF06HA0IHKLJY8C9NPQX6CO5DIK1EXYL25WJRIMI5KMX6Y685R4ZYV4F4OTSWCCR9HLDEIVEYXN8DRNXDWL44YRMZTAD2VRZH3N7XBDK33VMPNDFQ3IRGRG99DFJJXO4XAE3S6N1FMPWXQ5W0P0PMQJOG8FSR6FRPSQHER47B1ERFSS95ZJ8Y div -36#5SOK1NXKRJAG1Z0TF864ZG7RQB32AE4SOALNC7WQFR3H36MD3ZB5L5Z1021A3RZ9TH4DED7U9JCTWDT9IORC1IJJ7D4KM. +-36#CW70VOTLF1JC02REBZNX5CCNFO0Z2J7QXS0PWE7D69SIZKUNAVL4TZ9FSYW8552PN1Z2HH71E2DP8E1K287T4NJF7IED2C7TI64MUYFQYOQH40XA2OVDDMV4VE0YJPJ0RCW2CHECPNZL1MO50D20TF5EE26NEA6OX9CDJXQFK0NCTFZNI0TCSO4YVPA6YMBY7Y1G1FNFU5RFKDXVPFBW9G50N5OJWJIKX3L20C5SU6SDQRKYD32GZFENIUNUGDTL31WN7CSKCI2QYGTL7R4FT66K21TAQOVQ08TI9B4B9KSYZ5ZSHP1II7JHFL9KSCKV3IQIN07OYVTL794WO84ENQDQMX1I6QG0FI2EUQO6R7ER54L91EW7902OS6OU4IIV3H19MWLTL0V7GWDLXFY3KEJXYG73R9HXGAGMFVC5LPLP1JQ5MFJI5SFOS8OIXNYI4NUFU1LEE2WJJ1EL2TSWEL7NBX647CH1V6QZ8N12NCYJHWZYRH2SU2V6UKULM0HL08T3QVLGY4LLUX1ZTB6OMIMQWLD7ETDEL4P4KPP99HUBWOZDK4PNQLGFBVCGOVK1JBV1GFJO6Q78IIT5BGVO1P8DZX9RCDJOV9FRF7WA5K9MWG996LXAY2CKO74WBSIHBYDFZEGRJQ618Y7O6GEVX90970E6E9XNBI2B2HMSEVE3JM98OBT69QEB40MKHIGVP8AMTKOWQFYHK0FMF2X74I3TSHDCP1IYG552I4UFA6RQVKMNQVP4KZZ3GU0G6IBUVPDPFOWZ7O9G7E1PFKJ9ZSETXJU1K7YO6BA1XDCYAZOF37IJEMG3ZFPZI9I247U0U35RGLHHHX41WSAL5GAU4EWD70GLTUN2O4L6QVQRB2B93RTFQTR2YUBE29T2W08AEOU8R5V3RU69T2XVI87RNV6JFGJDW1N6ZK75D2AVPAAAUV7OHNQE7W9SJH3NHDXRGLREGOUT4G2W88V6OU7NC2CT4HU5UO976ZOLOMYHVQNM60ARJ33HOIW5FWH6K2KDXKD1AX8Y7TJC4M9AWXH91KXR2FGL1T2FQCBGBM3VECZ6M6EVM2FANNPCFNXBBOHQLDWPPH534LVGBWJAYQOQSXND0VJ8P8NOSP2D8WZHY5PNCSAW8D0Z6AVDIXV2SV8G7Y58TJ3UF2CL1WTSRGY9SPGF7LGZAWU2LJMB2JFGA86XTJI07AWJPWLZ0IZX5I3Q4HKORDQ291WJPP2Q0J5Y8K0NQ1HR8HIHD2LA8PPZX8D240Z5LXMNMXFN23E4DRNKRLFHNCUURGIJSACTE8C6O = -36#O2B5EG48KV25DGJQV3UM616BX9E1FK6Y3IAOUVAOXB68QQ2UEW5JPWAOEDT5991UZ61RNT8ROHOI4T5U9UUCX4ZL6M5BMJJ1MZYW7L24KJNDPQNVL7DRBLGE9NORU0IHJP3HU6OSPFWPU7WF4K7431ZDCEV5DF6TSLRRAS4XR6WX96MZJ2A1ZDBXQJNZ614OGWPKPM7K7EUBZDVP0Q3QSTLT0791IZUDD573N5O8QBCCY71UD2RL3KYPMCV0TXWTG360KNL77SZXBC1P0EUAMK7TXLS8HKRKN941FO4BVMIYFLXA2N4EM027T076HZHNHAFE212U8BP8WVY7JO68KN0360TQXCSD3AD37GJ9YXZUMKZWTTK7VYL8WRADLQDLTC36A8S2TQT8GBZOXDQLKTQVLVCX4WRIFD3 * 36#JAFPDXME17KU1RZQCAL3WSTX6U61VYTZLXZXBOHPEUO02FASS1RZNZ7SHTOTPYPZGYWVVH29OAVVN46LEOKOYGED9KDNC2Y0VORIYNRY4KQI8MKYPEOHMXTCKP2TLA3PXRPAFKH9JCENVOX9NZ6TSSTZMBM3I5DWYZOTSZLEG03GONP9HMPFKZ9WY0TKZHQML4NGY48N83TOPJL5MQ9EYXJBKUXODOJ6TX54CEMU98KPACJ3ZDS1RBSDSM6HD5SE2DB9WYHZBM6IVVR5HZ8LMHG6XTCJM2V188GLSADA8CR33H6Y34SFOQKKC3JQT1W67EHA73MCHJN60C3M6S7CW7ZS97JDTZ4KT6NJ1TJZEOOGAD2DGCGBREG82J1NS56J48GZMVPGYRAZEE522HMFN4983Z60U6C1XKIA8WEYUUQ2IWRI7C0J9NO0MGGCNB92IEHDHMRU7Y23MZB1TCBN041Y1HQOBG3H0G96HMW6XIC9IHXJXR9WHUYA7JB9Q3WK6XLS7CMCW54MK11TRNL92ABY2MACFBC49J5W356CBM37AHOK8YUY1M3JWHMI8D4EOK2HD7XZCX3YMCZ48QB76MNK0EC0AMXB7VBGKGLGAMVO8DDL5YKRQFF4AKOZZTXPAP3J9EZG86M1LLIDID7MLMDTWYDUWLLJIV4ZR4UTR7P01BMOAK6KQBOTKWO8UJNEHN0JY54BFYWFUR06SS5V022B6VIWNJ10OK4X8DR4F7OQKBJ8YI7M6Z2D5XNT6C3QK0XPE40AMWKMLWEOWOKYTZJYGAQF6KIQ80O7MZG3X93I6XRB6LOFHFV17SLMW0S5NJPYDQBPSH6O98MQCXE57DQ2I0CUSEA3SVJZNWOKOR4LLAGDZK. +-36#5ERQFOAS76HGERB411ZVX1KLHCL8QQ7DEYHPAX5UIZ2U5S1DH4GOTNWE72EDBU63NKKGEHPCZNPEWUUAVNLCXWWAG6Z00LWBQIFDMZK28D7FAZP13NJEWEI7WWW3XCOJVNHF90KEQZ1DE8VJKCJF2K0LR5EC3K23D3CULJQL6JAV4HPJ62DS3922T4V1B7WUPOYJVDSTWOYCTDTT9HAN9RMVDNP486TN95T5X5M6KVQ73WZ967LNZOR5RUUECR13PYCQUVUF3KXFP7LALUDBYZI3JU1S6WEF993JCALGVTSTDCY301KDD3JEXGVWXM4825R0K3C2UGV4LYIOAEU2QCJTTBM5ARBJ8BZJE5GJPQGQVBDRENIRTARJUYZUTBUXQUPPKKD6JPIDBBSPS6QQ = 36#57E6VMRFPP9LGGGNA6BF6ZLPBII0JEY1MD051AZ3IH86IAI2MJD0OUR2EQ6GFR375P6KCKQ8PUIKH66VFYNBN81Q4JYTM1M94GLWTEC06TZ1XZVNWSQS12R5W8JBIF57YSA0J8FOB4HHAJ82C2C6TQZJ4MC7O1P2N3AXBJCEXIK4HJ242099YPJ094V0MB5FKUPDE7EHWL4ZU2QQD79RRENI5CVSF0HJ8NHF573LSIRBHF2P700KCX62T0Z2IBG5S1G9E5NDX1QIDL61J9QE0PX4UGAKMJNYTCAC75U3H0LNBBSI01RDJPHTMUYJ13BRE8XMX77AVFM4YW7VCKN7WNAV5K2FUHC3KH31KP5DIVP32ST6NPJCR4R6XS25X5FHKH0X2LYJMALJSQ8L7XZKAQOSR2PSGE7P98Z72RN9YPCHZOCGINWXKPCLUJAK868006RQ8 div -36#YMX2TH1NKV2KD7M46K73AFUYWLVF2YC4HOMVTKS0WXJ6WF0TS. +-36#71UTKXKO2AVKH53JY00GFKRZCF278SS17HKN2SEO4AJM98TB9IYKSYFNMCJ5JY2LUREQPQSMC0D5KS6GDRFHYZ72ZFT6FP1EU3J8QVGG9CNA4R15IZSME3O5XDIPNDNELKYXCFTH3JRPYUX16D8K76R6M75EAYFHB47Y2UPAQX86RMV6Y5KYFF7P38PF2ARUTO06X7ELK65QEI5DRY7UP5V7P56BHK8V1HPSDHH06SGGP7KOMQCEO3T2JZ0XYOGG0YS2V5RSWAT0BDZ9NXMR7633MTGU33XDFWXE8ER237QWV7BYOSW72KN40FAX7JQ39KM3DBFJTB9V326YJNKF41GQ6MD6E2A0GLX8RZ5UAYTC4ZGB1VLKZ2BWOTID7OSOEMCN4BX1BSRXDC9WEN4C56MFWIG8BF5LCI8S6Q22TPP60LT6IP5XSLEQRLOLTAJB38BMYJ5OSV4MHEVMXD05G7RR85UNXDL10CE0MP97ZBDNRGEXJNHA82EIVCIXX88Q5QN7Y13YK9X6FNVL5YZCEZ32S60TTMMNTD94TP6LS4QQXL0T2RS07NMV51TWQGVE5V52KTDSSOTIZIV83KYLIAWK3QJEN52PG17ODAXFJ9DLE56YYI5ARDUBLJ85H68VUI6Q584J72UGU61A7M2P5ZFBRFWF0PKS3ASYMIYDW69AXI0NP9VN2X4ETERKZXIGLNZJNBX9B6ADFAJ0601G4AUEZDKPZLBM5VW2AURK9A4D7RBKXVFBMYXPXEBARU8S95GK729ROMFTL5A5J82GYQI2UB2DKG3GCWO54S61GHASDQWWSO4Q4MZWTBB5X97Z7MXMTDLLMKEF0SBR5RGFFKTAPGEWN6795KWW9DJQ3NURDLFPZJUM1Y8F89PHOPAH44ZN8D15HEWGA4ONGWPGZS2P6I2LU4CM9ZKNKIJU9O3Z4M17FJOEGZJBFY7MRQVULSQME7HQIX7MAZADLIFRHOL4NJX8PXKUVEYNZDGGD8BNE7OU2BJWG9WML57Q3AD4A5OMA8BBSSWLR4MSI7GIY87XHCN7GINU8KKNZF0RWI0I1Y4Q4I4Q8H00W0D3TDUH3UO2G5G9G6Y885SE46OTE2NIXHKE7ZBHGW6MZ6XDBYFWYS24HLTQ52TUUGAKUQP192LXZRHJBI0927WQMEHDY6DFUNVTQKCDCSFO32SJL5M8H22H3TLNNUA9VGUL3QW0CXON00U80ZCBHIHJWCKY94X61Q5QQ0XEE3WCR = -36#VUOUISPYA6KP2W309HUL7PEL0N3VNJQIUZU2GGY8VTU5CQ9K1 * 36#7YWS52UE6BDZ4IMG7YBDE861LDSLUUQ44SN11SYM0Q9AP7AG6DDI39JSX8U933JNR7TNCQNBZUQBQLBNBFPWVMHPD800LH0CG9AO2F20JEC05I4VA0L8JWXXIPFC3DBBEIILDQLUWZI2VB4HNO5IHPC8FITVPV7S5HRV41O8736BC4HWI3YHW0R93TTYVUHVDU7OZP6LFHPSTU14NVHQ9S8NLQNZHV8LQ39YI33QXWEKV3G0XXA69VZ5K4Z4S684LEX51B999WYV3LJCA7JDMG2V372NKYXNEM5BE87N6VN6NGX0XN4SZJS8YM5RGR9IOPQUORCH281XXWGZSGJQF98WWZCZBLCCZ52D5JXPBFFLQLG7KO4M4V7EGZT2AGI9GTHA0WZOE9ABCSK2SRY2J6DLRU64V447H2S3OAM45LOYOTDPMF56NOEW3GHZWIDZ4N5EJKWTQ45SBZJ8QUM2829JSY2UUD1WJW4BNNVR7898CN72BC7R2F7U10ZBA8BJ6WU4KFN8LOOEOR580ZMG827S564IOL3K7R883ENN5VZDMQYCS4TSMP24EZZR1YGNX7CT18RA48VKDYE2CV87SM0D8E9D80XZJ3QS9ZO5JQ6V4L6EHWPQKRBLKWAN5LF5NYWZ53X6UDKJXLKMG9LGHEF2BW59LZ5SKIOFYAS9THP0CQAS33FZ5DS9ELIM8ZHUU4WDHJTTDTKINZP59ST26UNCZMUJQHPXFMK983S47N08DAGUWDPSXXMMESNFWNFO9VONV9I6M6LDKGVSSNU6AQW3E5OLP0PNOQMB5GV67KI05EIPL73TS18HVR6TQPN688MBCEUS5FZG1XOV4WPG2P4LC8PZ6ZTSXIZ92AQMCI7MPFDI7UOMB7KERYVOACYP0QCSA4APVZ1UVD1TYWEP7TL9NXJYXRYNPFBC4AXRWN70X3RU3FM66TNRS34DWT0NU8OI2UQ4EBIP9KFVKTOBY35TAN8M35N7AZ2KYW4ZXCYWFRNZO8K3G9IU2HGRSWNU9AQ1AE5GPUOCRGIGIBFZIN87AJGCBEGC9P0JUGUR93OWKT5IR83D9NQZKBP96YJ286BFAWO0UADOD3DJWCM0MXZO34N4D6HBRLMCI60PW53JVIQIFRT94887LJWXO1JLJEGAQRY9KAVAVPT775LOGVX3C8OC31FZPHXPC80P6BVFZTYC42CR. +36#2XJYAGQP30QU98CERXF89LZCLJCU5IHQI4I9HA3XOCLDAFN9SD = -36#1W3GZIBJFIR2Q7RPRGKBTAQJ3XU41QQXHL75TE4AKURHI7DULGSD5Q0YCMU0CL5YC3COIWB5R0B4W0W7O845VE6Y8XV3C2LL1AISUGI8VFCS2R09K6XXFY5IE3P3RMNQQRN6WZUKSI64DIEVTD2DSDK0J8Y4IXJSAO0T76NWJGDZ6OI9T6ZCOSS0R7HOKVLXHOQH0PCMMF2448DT4BHJ3SHZ8YDVH8KQ5S8OT6PF70P64IQ7XGYWEPU5BKXJ1U83GEWICKDSYUK3O98957Z3VP3CG24M8095KZDQZ2SVPB9TJ4502O0J0O2D5GOQ53HJ9RAB47V3YSMFLGAVUSHEKBDFUK4G514JGCUXD8AILL2N0NCNY065M2X1RP59F9YEOM90L6EOX2NKELKEUOM62BUTYKNGD9G671SQLKTZ760KCETY2N7UZXKCCL6IWZ5QBCO1UJZ8NE2DJ2CDRE015CJGFGICKUP39NY0E8TB06W7ZBHCBW10UE4UYSZWH7QLKUQU385MSOCXRFG6A1SAY74GHP6XVNRRWI5VKWBWARQ9MJSTEKOQ9CXQCTY4RGRWB6ORRST98TEQ2HBLAX78BPIJZGGQCJTKH054106ZYT687YF4SDGF1FFKDYGM7XD7K57LUIK7V6JTB2NI6IXMVZW8VIW4DQ6Z5BP99N5TFZM8X6G4SLR1GUYRPHNP90R45EQLX4RUI6GY0NC5NSNYTSGXK1H2XFBNCAMQSI1ZIEW7IAM2UWHZXO9L5FVRVML092VADDAJN628GTYSMCARFTT6TVOEHFEWEN3BOQDAC1B2G7TM5TKE98ZLM8L7JG25EM816I8MVZT2AMA0XOJYA4EUAQ1AHXH1EEZGN6Z99E2Q1Z7VL0ADPMNG7DFEY9DAA8J1XJ54B1SSHLBREVI732KBAFAILCJSCT62FHXJXMKPFVNU76KAMDJH8Z3 div -36#N83AEYZT363N1X4HOBP4K9MCXHZO9D0HOMNJJYTEZWO7DMFU7O0N1SB9WOB6CO7A174IRBVD1V6FH6FPYQ6G2CKUIMAMAGB5WRIXOBJEW0JEY9H6YSU4A7FI357MAADAZT5YKTF4I6345JLHS2GJS07IVPN9J6BNXAXQVJT9D6WGMBJYCCV016ZW7YRL2FK2Z0QD0JXIKPPXWUHR3N57XAZ1I4LECI9VOQ5ZE5QM6MS1JVT6ZG2ML61NUK40SYXDFJTOVAMDEDUM0SUNIW4BRX6LHCAO3IHUDV46RI9W2CA4SZLSKJNEUFQA930UNDVK02OMAU5R6UWWVC9BJ8NK3ZNETDCG3YZ5EFVQY9CJGSRIJ8OF11LJW5W96Q0IVNEC3HK2JERK7TG23SJZD2WW366MR79VSAIU7HICX88MIHDPYPW1J1LC9EI1CFRJB13OM4ZPFFJJA9SXR5M7J3Q0PS4LR5E4UVY4BNI67I8Q9G40EU2KILUYZWAP70C9V65ZXHP3JM28XRRRMC795M5R07QS53SXUP17285B6XG0KROFR7NJ75W0XIFSSLKJLHQ17AMZ4E7YB76Q6ZKIRAM1ZXZU4OT58MUS0YBYZO807UL79E9F5AIQARMOHNR5S1XYNDS5EQMB9BONA21E7IFCXKTPBFW6FW0XKC01N16FOUHT8SD0J3KIB0R7CIGRSP6JG4RKX5QFLLIVRGFE5XWGIM6RF0FK9PRW36ZASNIR432ZI8XKJJLOHVGYLMP4A200KMVUMWLLRVJB26RNY5DV2GCQE00JW4KN4VKXU2K4Y03AUFJ87YHROL4FIDUULJF7TS1Q6GC34A92HSPN0QOUQS6OEGMYPB67MWEROGLQB69Z3E8BPOR304B9PAY4AONQNS1CVAWA3. +36#12VH4K8F0QLMAWI3SYDCTAYKTRGFWI9I8BCE4WWFZFTHWAXJUS = -36#GYTFQEYRZHO2D9SHPEVUQZOIEM30UPJCHJU9OPBD1R6RRPY662XG822KQ1HK8FW091FL8B9BGNA65TPCQTMGBQAWX0Y2N4D43A2BZQOON0GJHMUN10G4N8P0707VJ7ZA40G4H1PY97PVZRBXHNAPDB2LGCBONH2WMFPJL66SRKRN0IB82ONKZVAQ15XISJGUU14V7N8OE2OE1ERY67N1Z2DKBKG45CUKDR1NWTLFHHVC868W78BMQAQI2BL2RXXDLZTDEPAS4FRD0VF5Y3AUNJULS467QTC5OOJ20VP38PSS63UQC3NM94MDSP2P2E9H1PWRP5K5M327ZE4ONV7MMMODDPUAWO0BE4AYPDEXZ934Y5I2U232JOCQFDR76WEZQJ15T2U0R4BVJMO2W52I30XJXPGT8XL62JMO0NGWKE2M9KW8DQIOO62C5HILD7POPHCYBSP97YRFNJH7SZP3D85HWNC0 div -36#FPNK7RNEMAVOHJC18508ELQP185ZHRR1807FH1M1N6979SL8RHI08WTP00UBFNFTHM8HNQZ5QN518I54MFVZ5LO7E497HJWBBGRQMYN1IAFH2KC6R4GIUD8YB4XRXO5A1M6SON6SWSTWJRBL9UUJ6SASG4FPBST967AJAO2Z1Y1RPYR7TZ8PAKSKYKX6BBHRRRTY7W3W17OBEMFBP2PIHB8KTNCB4XX941T0T5FN4VZ0UVKQFRSUE799QLIVF5906CXL24PS48N94H33I0E8MCY1KFP8DVGQTRQDMK9MWCD0IUUX08FXTEZMDLETR6J8MVS25XF4GXQ2HX8MQEYUE3GPDUPJKTV53AJ1D7JI78WU4WVKSEQ5ITHRFU8FY95JHQEKJU7X9LBBDXY8CO3J9IHH0QYTZU9GK914CFG69U0. +36#1R0WBNK62U8S1EJ95ZGXIFZ73ZAN2LGHYT8VXVUT6GZ05L24C5 = 36#3EKIHRW9RSUGPSMMBT4W162U5JZHJ3B3WLWVT7JLEMZ1FJMJN7DF0N4K4283HU76VQT93JCPPV6PQUXBZQ1XZKEAS43RODY3G3ZYWKC296ZFEM95RJKURACMAWXGOCTD9WRZRH6UIIJMHYYE0GXBML7XE0YZQSAAJYB1TLF44S1GVAOSAAMYDCDNNLI0LMIS60OGV86LGP4P0FW7AK9D19D13J9M2D23K0U0NM9OFUNN6K5ZAGJRE8A7HQCM4L6QPULUINCYSTG2ORBMK4PG800GNVDRCJQV0FUG4HZ2KWX30WL3AUW6SBUIENWC187NFSU0L div 36#1Y0FSESYQAIOP4L6GSZ0QBG3D7ZT2JICVJDB0CWCJE1TIN9HF6S1KOWRZIVB8SC62KTN3IJGL7DJ0YK7X1W7W25T4WKXLBZKZR4U7LUN4S37UTDV47EXK4F7KUW66BCTDATEXIIH75B2QKKJTR2Q223JCY5QJQV7OJ6VV3UT2DGDRI0GECV5Q165BVOS6JVGXYU1DI3UGFR54ZBX12FBXT4JZFSN0RZX1FWO1EZG0MQWNAM6R2R8D8NS02N9K1KJS4FQD8S3L3LA0G25P3SX. +-36#FQHCKCG2MO2EJ9ZBJVMCYFFEROIISKCM62I0F9AEJO6ITTEKLVA33WM9JHNSU6FB2E8CCV09OGFKBLPIWSMGBVV8BDB8RNSSDTH84NNAH6E5WA392D2BP39R91SH3U5UTVQ3U7QH3O75MI0MUL8G3AW3E8LAKV9F9TIW6WC17IHFFXSYMRRM8ULHG9VEC6FAKLKC4CIC2943Y2HZENG0F7ZHL4SE5C9FSBPE0FNOLNMWTS0GBW4VEZJ4UA8DZ66T3P9DYGMRCU4K4RKNG4F53I4YD9QLXRBGCEYJ8JMQNII4MRFJQNJUNAZE9H3N8SPKE76AG5C = -36#1KN1QNQJI83ULR6MYTKQRFLR9HWTA1QGZ6UBYHH9T1HJY51RKO * 36#A01TKFC1KYKSHWR599VSXL65ZNJJ1SDL7STTL5TIHT24PFJCCVB6SXUQXN1VM3LB2MWV814JB6929Y2NXLQS53BP0J9IMXCJRZKRSUFWT1Q8V426Y7IUFMPNMF7OMQN4GLH6CKFUFI1294S8Z24Z3YFXI70ZPD2QCEHM8K2VQ0CSYFHMXWGKGPY4WWCYNC1V7OEKLVJY9KRCOW1AIKP9M6YSSDKZNOEYBOXAONQASTQM9L2BMYYF2GITZX2RPMMICDMJXM8SPWJ26H4D1CW7DK. +36#OXN3ASWW4WBVNOZ71MCID3NJOPSE6VPU6HZPZGTBLIDN5RGCYFC1M94IO2VAXATDV9H84F6BZ0C52H3YSK059CX23LXBBPMWMWEZNNQ3BIHKRVZ8LS8C8127XVKL6BL2I7VALAZMGNZFA9MI621JC703I3X9ORVZ8WT6S2AT9MDXUS5WD3G5RKDS3EFEZ0Z2EAJR587GV7SL92HC3S6UKDLBJT6NW8DOXQTCU73LXR1E1P49IZ1VSV84DDLL3ZLSJ8WYKTHN3IJXCN27HWQM7W7VU29J6B = 36#1J0EAPKXKLGVVJ72OHAQFQQD16GRDYI0NVF205KBFJJ19JGQN8LSZ246VM47PWE80GWJ9Q7VTRV1J91K4D2AGSS4TIA542XOK7Z6OAE7CYUH1YP9ZWRIY6OIMO5RG6QX3QYZH8D46O8GVDWBI037FDSDDE5AQDYVIJYGN0HJ8GDLZSQZFPSJSNPJTHO5GGQULT5UFW7XDK7QMP6TQ1VVCSS6IP844H84O49BHWY2CNNSD9T0C4EA4FEULRGIIPU3CBUVXPITYBZ2EUJANRNWJ3BWI3FE3CI0X5SPF9GXY5AG5NPCGDYEEVM6325VERCO44SBYAF9RZWHI9JREO8M4DETZ7K7XJ1RYYV0G5UUYZYOHK31S92PRNZATJX0UDDNI95HVG61128GM05FJ99VUZESGQBFKBQA51SV5IT3S7OV4IDEKOMGW8TP3DDVYOMH5SMX41XEI07HYQRG5VUDXIJV6IX0JJPFOY2D8DCX1SZQAR18ONCCX9SJJO div 36#27F9JEE9VFC12C1MW7YB6VQ0EQPCLM0M7BPICV5P0NFN1N9CL653FNWVI7LI9YD84CS6ICQV4JXM1NCNKRONP4XZLVW2YW4SJ0YE9FY26DUKG19VBV7BRFURIVTLXG5KXG0NEL91TRBQ6ZU5BTHABNFGQZ5W0ER1VIHLGOFMMIQHSJWYFC6KO9PHYVHWXP8YEI1Q7V84QTBNQOAFQPSG29D0W98C. +-36#3PF2ZLTBOHI5EG1Q5H2XB7I0HWKBCHDU9LMTF8RRWBBRFS05LIVA5 = 36#1PMU4Y0IFO0O69TRBSOWSTJFZKBPQXQWDU93GS6PC2R6DCYQ6LH29PYGTCBZ5F5S2VHJZLIONYSQUE6RHJXZDW9EKLRIUR09EYGX4L3UA8U4JIF7LNTXWF5L8699TOAPUJXUUWS5DOO8ITDWTCJ2PHHRA1CUVOB1QI9PEUR5XVD2AYF9PETEIVTC55SA8RJENXZL68T30UX1A8HLZ6Z0PUDJF8RQEILZ9SKB6QMEWKOXI462BF9GMXCIKU8YLX1T7W7NWOU7L0PT1PS3QYE3K2JUC2VH5CRDDFFIRUKKP40HEJY8JAR3FMXXNOJX2BS18Z div -36#GMP94ICIPNGWN9C7QANURM5KWEIJMUSPPAEQJ2X5G1NT4WOZLI0IJC1BAZCTOIV936TEK7LT6HIAF91Q9BLE2RKEK4HGNAB340JT7KUDS12MG53JQXGJC28MBW47HR43RA608PQSRJMHQLXAIQV1NOMPWOMP2ZXDEH9JMC67W9HSOD32LYJ0WYGXX0JK5UQ9D1QCWF49KTYT8Q3LK3YJAOVPMNGRFNUC1SGNNCOYO3O977HFV5BGR8QQ8IYALR9HV4JOGM5I24A27. +-36#1ZWENCDV7ZHZ2UMS20L8EOAOJZ6I30OMCV38WV9HUS1GWKPY9E = -36#6OWA4AQNK6A6ZQTMLE9KARGDU58YNOUN2OW54A1R8ZQ3X7U8EJX2VAUWLX26AP7S6WA85L6IB6ZADSYRZSM3PL5QWHNK2EERRQ1L0SMX6HXZSM8OXJDFEHB58KWB3ELK3GH4X8U3CF9TTDTU9TZNJ6Q6QY99BCAUQNQ876K div 36#3CM5R1XEUTZIIYR6M5BVLT3D4KPABT73922L0OG4A22ZJ9RRO2HY57Y8SEP7BRQVD7ETSAHVPCSUT1KO7MDQVC3G6A8GSBU83ZN8PCSZPPX65W5ZICZHEM. +-36#3244L38D9GSL35B61LRSTVA9LHF634BT7ZP36DS7OH7LLU8HASF5CR1ZQ8O2L31MHBMMZUU22QYB3HXKOIENPB0YNP0D2BKD8WTGMDNLIZJ7BXYI7R261TIFR026VKZ6382SBEHIW8BNWDAWJBHFP472FOAWY2AKBL7MP3JM9B9UR = -36#4TK0RW0351B99NIJPB7FQIXU7NFQ1DOPEDZGV8FXNLB420JZMDDQM80CKGOBB1W3D5JSLIU1KHOCKNDHFLSJ4E859WACL0KKASBTO152RP3ZNN4AQKIWWZ7TVZ5X * 36#MU9F82GVL3MQ2OH8MNST8F4GCNSE0EB5TE2JLP1EYD5K3O37R. +36#BTSQBXCUUIO11UMH07X32POLSK237RZY6YUJ99Z5DO31UE745SP02O3BQX0X9P2GEN6C3M8UX7INR1QX1ZB72K36DWUTGAOZK1VA25T9Q07AH53165DVX8828JC5CUNI52FMYTPAQ50XW03SI40OCP2DMLURKVYOFUDKWTA6KH09WIRRE5E7RTEQMPRC0Q0WO1ACIO62TOUAZSCI1MKPFYEB2GZSBUS7AAGT2LIVI8R5I8R3FC3HBUENAIVKTQ5SKZ3B4H644KRZ4QRY9QXTL8BA6L540N1F2AL6PJRX12C6XVUXOK3RWLVD41EDBSV7CB8752Q1QWRJ15IX9YFS5HO37S9GFGQ78V71CHJG1SP2TC0FF7YJVWAHRUOFUVTSKWLSCFDPVJGPTL3RD1OB14V6HC8OIOS1T5CIRV1P920X85YFITRH5L9EP2GI8PGU0YEHL98B0R4FV76GECTJ94MF7TU4SBBX38D1AY8RUNFT4R7M37FU7E2NC4GL8GUJ9K67KV2YVCNZSD95E00UJG0153YUTN6U5ARFSQEERJ1TZZP0LKOIR1FSA3OYWV94KY82SMZWI4CMZHVH9GOB7GYDDKV5MA6EOZ26CC48474C7ZEUNLKR2MSM6D5BLKRJGCVARAZVB9CXWYIXWNFS249WFGL0GJAA6CLXKHLT2S6K2VOJ9VYR1RISOP640OAWNWNZFUMPY3SGZBPUIWN201F3RL59CN2YQGUVZGIOZU5Y41TV82DF1JL7O = -36#7G6AQL5JQV3SV4HU8E7Z5XEJ7CQLQDY2ZXQ3KZ9HXPYKPTNWF4ID036YGIUPAVOM5XYI5WJRKMKNI113K8FYM50SWNRJFSJL2TMWDNPS5CO2PM6HZBVOBDUC19KWOJHGVXZI0K2GR9VTF38IUAGXU87FFYFARY3NTHD3N0ANFL2C5QYZ2U2FJLFO6ITR6DKN3XI017XE7VQEUY7JLTD8W6IUJ5I424VVSY * (-36#1L5QN277M51P3NMVFUBNAE0STG8W3X6IBD1KHDTNE3LNL19N807PF4SUBF5X2K3PI18YU9XGTYDB81B9FA27EY7BVYLRS8O0CW4Q4AX60QHTM5LVST87G18KFC0YYB9KBFPPSHPRRQDWIJ0BJ1DHXXOJUH11DSRTHUJLQ44GMJJPUU8T0TL4Y3JM8TN8IZOKP1DK9T3QRQAOK2LW1149OWMU61DDYR2XNV2C3WY14F84X28ORGMJFP4SO0XTWBTCIAKL2YEI5ZEX3W22MRGJLP46T66GOKJWT52GJ5JSREZ3RXPC3FPWEERDI821CDB6N4TJF0MSBSPUP947P02SF5MSLI3WZBHURVNJ63DVHD5JUZ2SJXBRFQ98W6CZMLJ3S0U1F30RZVZ5Z2Q7FIK7CJRIUSSV91GOR291CJ8UHLKFLEXYTAX1UAG9T7S23CUV62B9HIX2YLPWQMI8MPUMLWSEKC7D195JPR39HM8K3BAC25QXAOARE6YXE5LX7DP6N584689GLE2TLP4PRG1VISB6). +36#A2K12DN33T07OBA6U9HFW2ZWRKE785MAND7R17AJ8FP6SEX6LQCQR92BAXKT35SVBBJWAVZWZ46GFFUC09EXX5BG7ATKPIX7I5L2HH2KUMJLH7XMWXR38FR56OHBGGG077JFMN5B2MVOTJBZ5O9GX60UDXEX2I2X5SBYXAUUYCIQYCG0YFOVIILCRG03HIIFS8KL817KGOG29X067H11TJLD6Y5ZJJ7UCZ4L33YDLEMBA2PJXG4HAV1Y8H219QLA80V6O9D7UVA49EXC0FOFW0WKC2EJ7B1L7YEV1DN4W1QM85H8LJ0YHWXLC3G1I1NQ9232JZ4EWRQF2SJYDG35NRBO9O90VXEH8P0TWJDOZ62AYFMQZU63R9HTNWYTRFDYVD2BSO19SOB7QOG5FJW3YH7T9RZNMCPL8MDZIPISP4ZWDN9QXT2A43X8G9XZZU8WKFQMYYDONL443T9ICXS85GGC6ESM3H9MSUPULYJZZPC40HSMRPAZW668G8KI4VFJJBDAKIHOGT0ULS35FN00TAOCRNP8R5SLZFU9ZFU967D1PU66TPPLRGLIHOP5ROAVORAD5T1B4ZNP05C1XAII7D1BWJIAR13AHSUWYX82NZ3E0WX8QXR5XAP2M3G1TC0OGBN6IW5ZXTXS6HKKPTJIU5PL5L3LGGJAA3RRQPOES0S8E69N882XUZCDRPB6GE60QOW6B7SIM25CGGX6N = 36#NXMBPK198099RWJ07C2EL17WIV2Q8NUD2NQCNF9QC58XQXU16OI2D94HAA00SSVARVPYCJDE3ELU5NSUBA9ESHU87KRHNJ3KCCSBPLFMRD42WI3AQOZ1KEQ0HV0R3EUI6XS4FADDPJIAWGD8XD1ZTFMBSL570WPQLA6DMCI6VJQVU61DC0JI413WAQCFQMW4938LHNLXMKTJGA8EIF1RPJLMCO3FSIAPP2EJWOWI1FRZKV9AVQ5VKRYW5SWJ4U9TGMSHUFDANG9IYPJRPNLTUZHF6D7LW379XO7QLBXBEMWX2H53BE22AJPV8PT29Y1AYZDL64CYCSM48F917WFYPQXQZ2155CBAWL6SJ90XVD51L2SAFJNN40JC6ZAY5EFFNDRNKOOXPE7T50JDMEUNKBL4NJ5939GQCBKL81W752XXMMVNX4RZE605XTG2OQ4IMCNGUVHLSUCIMG0ISKF8GUG5737NWY6EZOLAIGA1QPD7YDTPZ9G41OCGBQF4EGWSQGF6CHMM9CS9TSWJIQMOKALXTDIIF75 * 36#F5C4BX8032FQM271L09RBJE296B40CIQVRK7LDXK3SOP1H0ZQ6MB0KABLQC7IBNMFEV6A707L6C71PDUXXJKQKSNCMA6HUUJNLGQ00K88DRWXTPOTY87BX7NQUWGYSAZRI78J5EG4QALZE4PSMDSWFNTFHMSS7I8SHBAV9HXWLBTBVOV3J. +36#15550YUH9M0DC5B11FJ6UXL32IP3ORP2ST3HU6L7OSFSHOZSVPAYP7LQFPF88M87ROJB9VNX6Y7UI8Z9U65K59ARZOA5XUOY89FRM4UD1NZ94P18B6GDUD1KZ7N5LPOP8766EWKT31VKOLG2O3U6YVF51TV8CV2R99SXXWTKIXUJQMB62LTFS4YCPYC1IR8EN6890G0HUKOHN5EOMUK5YBSBWF4W9PW9ZVPHJ4VC5UO36W9TNUT7GB33H2T1SSQ3Q2F6YAJL8OTK1JBTCBFYE8UE7DLFUJET = 36#O66CIA0SR25E1W5PFWXLX1UMSN39NGFWJRQ5O9GN5R6BB5QBACV7PQT1DGAA8CIBS3L2XDJC2HQYVOOHAJLE7TVTINOX3VV0FJ67SSF1GWSQ3EWHAFEDSO798ZACIAF19O4Y8FM6529GKXWLO8RM6X0A5VK9O2FEBBKWCTGTK3R3IDXCC191CVYX3PW7GF1GACO94NN5F9GTEG7QSDIG908GQ2MT1DPSJWTX24OC9GSO4W4Z49QM075FOZ9NZFEJCJ6LDGR9CU7PNMWU0WFVB4S5KTGOM00ADD76GQNLTGQKJ3BNZ9YQV14O9XOU6O255DQY71Q1BV5NQNNXHO33BN792Q013D1CZRUYRS9209EALOFH2OYYR4TFCHO7LI9YEH5B9BP1VD00PO2SZFOMPHLBJTLN36CS0AANVQX3QRABFAYX1241UULUU03SBJVKOICC82L3N5KNHOK7AC2D1J5AZD8LYTZ6XGHYXF315HFDH0J4AYD6NI05G7DY0BNBZ20JYZYVI2ZGPC2IF1D6QR64654EKRYIEHPTIMVN96CJELYCGDQXPIDW3YXUQP6VQJQW8WKQEFNQ5Y09Y1HL7J9DBUG7FKBICN div 36#L5EM397KCQT70PEKTFIXRHBUL15RBMSF6DM8BC5PHUFNMKU549TRS1HPCCWH7J5WCP6LFE4ZVB9SPG7HCAHU3MB3D6603MZ19M3JGIYQWYSDABCGYPWDT4ZM5OFE5XB2KC3QIWD1Y5MZIBWR6LDG8KK9BO2YG9TJB8B4BM513QT2WUL17VA6N87FNRXSXX8398KFQDRT1P3GBFPD429CSD2BWMPEB7N5X96KRYQT2SHKIRJVTNA2OA8D7F3RLBMVUDBMH7QBW5YAI63HPKWO6U7SKYDI3U7SHXPS67DAJY9LFRQ22G80TS0SRB5CTFPYYD7. +-36#Y2Z00VLB2RWIOF5YA57XSK9SGLGCW7607FXZ4RPTWH2L3IKUX46FSAED7J8AJA6TPLXJSXNTV1I3II4MKC49BRXUW5WXZ312U4LU3DYW4N9LK289SUF3RBDZ54R3BILEA31IZ94MYM0T0KEHFVU9T5Q3AZMF0RBYQRXUXUILQITSARMHE11RV5LN8MTGIJI2JGC5P6BPJBCDB7DIQBTHSK3XR3FW8S843JOK27NO6QG06OK6ILLQ0R4ATW5NGK5YB9KTWN84V79FL = -36#N2YKTC8IF412XF27THWJ9J4PUPLQKVHAFK9OFJDLODCAE8HRPRM9EGU2S8ACUZM9MV9QU63GP2WAUF5LAQJDXG0NOHJ69SLPX3AIPBIQ3UHELYOJ2KMFEEZCF559X584EUN4VCIYGO7LTGFYSYL2XBYVSXRKTXP1S27PE7TVGI4CEKGBTBXVUS827A262R8OYPEIE3L0O02WHB57T17X9E7EKRCNKCS4JLAI9SY7EF54QEYS3ALF4GAR9DIO0UQ72ZK1I0ZWVML4QVRQMZK8GG0MWTQTJ8YM80HAU13NAZ6UFLEFGWT8C1IGTCPKDGTPY49G4NCLFWMR3ZXXHME8SBDYHTW3M3C9NCESQDIQWXB3AI1AI27WJF48LAZRFKW01EUFKQBGRM3J0ETUXI92G8CGULN48BS4H34MDNQO5ZOK6W6S2HGA1ZIQDNE9SD56QIXPGF4KZ0EEGB015EZQK07Y9TNXKQFROR06QFRNN5MZCEUM16LGYFYNSOYXLMPVBFV3J95W8710DSCLNGQRAS1OC7L3YVFY5XS2M6RFZAZ6Q528KHJQ7P6OVJ0GKGQBLPR5I86PQCH3M89XHR8GN89MIBL div 36#ODPJ437JH8H39C4MZDRA0JEG84WWX6W0YP5C8VQQH7KU81SSQC13GNWPE1DD88XCKV29S5LC8DEICEOUZ8CBI0Q6W8OON4J9HMRPNXB98EXS7UEITLLEL50F9Y4N03PXUMR278QIZ7YANJLPQRAFDYIFMJ139YHRT9OVV4L0P8TH5V5AIVKZXZBUF0F0BAE1NM4RXHP0IQRFS68ZVKAGBX1Q3F9V87KCMI1FSPXAIW47HEX7JQKABG9XU77ZJV9CCOBXVUX93AQC5EAVQ1LL5J95LX7D4RBV1Z92TV88X77CCON5OZ9ATL6KKDBR2NIVGJDY7HWOBXC2IP. +36#279VAR6Z0TP15EQGN5LCSUD2JRY3TK01S49ARFBQD5N7OY3Q4A = -36#AN1WFK6W90JGF1NB7A5BGMF5JISLY5AEEIGK7V2SK3WUL6TRDS4CY2MJEIP3EF23KEO9S8PEA5U5FDBYCWWMX1HIW861K6FMM4M4J1LGD80R9KG8PA4BZY0LNBQZP19MULRNWJQ3714Y3VS5JM9UA8C5AZYEMKG98WYG53W8QE1DSFB1IBIFM3KPCV2F8F33Q5OYJ523BCJNCWK68LW2H3HJLCR538WPQMNUZNHH2OOIPMHKPPIFUXFY6HQWHOTY9FUTT1NS8GB7R8VDGB5NYN1MA04VCZ1IBHK6N6WFF6CGELOEMNZ4Q9EOXZMFA9ZTOFFBODO8V4HQ004A6 div -36#4TY9UT79ALRK1CCX27IH6I63LDXFTILRL4Q1TIA0DJMMY9X5IN6EIQCUNFFGGFWXCUHPFZ6EA8ZIE7FMTQMPY702HVR6CVFJVJH8V9YFE7GG0O7YSX1RK2WR7KOAN7BERMIJCFY0LB8IA042CPZUEUGJSTR3GFFJ8L28IGQNHJ91PJBFL82QBOUP4MM5QSXTV6A27Z0T9ZLDPDS90H6QT2GZSCLN6SPJJWX7AT7SEKNK43NI3NKCPPWZTZGKDDOKV95S0K4T0WRUCXQ21W60KZKYFD0SIX9F. +-36#2X1J44VHUY3UHVTU4U6S4X4MOTDHYTFRWKD7HCZXVUXG3UJ81F = 36#RW7FY5QTNHGULKSXJ3BM2X3LK1PJN4LIH0F1Q5XN0ISNENUSM2GKWXZ2MR9W53Z79V6K1MUM5KQUKFA8GXRNVJ2VYWTK9PH5UPQMP8GI99CT0N299XFJKJGS18WCDEG3I225WI1SC2JD1NXOJDHHS9HUWV5CPI4W5WZ72BMMHLH3J6S6VCIR23GH85TIROW9P334GG44NF3J0BUKOLFX3ZWPI3LE6ILK6MAT1LMF7GWT4QQAQF9QJC1DU6F25K420BIZWH86DQGI9SE6H99NILKHTD2R0V6SKZGREMLZ0DHJSZZBKE9TBFEF76DZAKARPLR3SHNDGRDAZVACMX29GXI11HWHVC9COZI1OK73WIAJ98KLSY2HGJ8V61QUAPBWYBBK08BVUTR0VYOKDA3T8VNUD6P5CLB2QZ7JR18KC9VN4V6K1NZNAKFWDC6ADSX0NVGDVX5OF4UHJC7LYAX7NQLL6JBLBW6AVRBUU1CEW47KUEUQ7N2RJ6PDOL5DCL3H2QRCPSU40SEAMECONLX8ICPNNDE1YKHVUOO3THELYVS4UB2P49ZNS7N44L1YI8C0DVQY3ET58T0YL77UWHP40MDBWMAIFFXPBIDH15IJ32Z07P2U9CWAWY0VQVHCKL72TMFV1LLZQL1Z1Y4895FGC4PG4CR5SVI7Q1ELPZATYZ7QGYFSGPQDUGR1BHAXRR18OFTGKVBYASOHQMLWS7ZKKG2D1VT3NI4S9BO1FC88PL799S0OY8FH7294N03LSAT6D6D35BH9WE08ZC3EQ71Y2K5IQ0TKTGXDAOKTI8T75FAOFOWJY9EMIZG40OSBRXWG39AYE6UF6YYG09GET4C7FPX7Z7TS96IPYH6B4GH6KAKCCHOVOTSF9RU1RHM2EW8AJEE7D89EQM9GEM4BBFO6T9B962JSVRJAYLXK6MUNNRFI9F5YJS7MYRSPLOIQKFCT5RSMO4GB7LEVSEKDJA3LBJB9U2FBL34SKNO2PKJGB4CG7XHBNNAM4TYK55Q8ER41ALYAX7AXIBUHDUDYXT66EWAGECRH5LM1ECW0KOISA0LBGW1ZQBWAQZW8DGN2XJCYYRF3BBXP5CQ31IRO2BYXF3OVMJR3VLPNRN68ZFIWCH56YHRGSYU005JF9V58HDBEBGMN50M1J671H4917FSMYAQNA7NOFBJDH3RHQ57JUSGU2TKUALMZR div -36#9K5RG1WQT88BFW07EO8PGBVQDXVLDU1LDENE3JL5ENHTC95HEOUYU9AFLU1GTHGYPCUWQEDU5TGT4I9LVG7PJKBX55DM3MY0TA3WFKESLBC6WBDWLN74E099PMS19XY1GCCNCTKVYVOJG3AGJMI1W79XLO2E2XVRH34HJI1RE7WB5K0MLD1L5IP4LA3PHSL7G2MJGACL1D0FLFG46RCEL3CFF02EHDCK74O0ASADMAUV8JCLWAXU8CLFHWZZUXJEC7D5YLW1UIPL755TR9O8PND74ZQI0BTHP57JKXD6OXZIXSR5ZPFGH7WLK40XIAHRRHB73IGNRYDBWP6IJZQQ985FY71XC8XLR3Q9EVRL7G2HTK813X5V2MV5H5CGEYSD6G14B4ZEO2B9MT7W1C7NQYSSJHE5V5Y0A2OD9AHZQISHU70W5W87QW80Q5O8SBBAEJKPFUT7B9SIKH4GXM0Q427CDZVDTGF5CQF62JDKZ5G5FQB1TW15DLSJYK70IA067PDJ141CEGU0QYY9ZK949FG70P47XMDJ24KKP4PUXS9GUCFTY4FL0SSBYABUTQVL4KPJYXYXUN0YF8C2IK3DUDMU98SSCMPY90RDNSQJJSGTMMUG2PM2W8TU3BUOBPVKWP20AE7PXD1TK7VE86F1F3CNJ14XR5Z2WIB5GOR1FRIQA3XCACEM4PVYA2NLD31PRHAWI95A8SB73RFWYZ7K1J5RZGH54N5ZYUL78DA0VRW6RJZLLZMTXQFA90G140B2Y5VT3F61TKYEC3YUTETINWQ748LZR7VTZVNH69NPN7X9LDOVN1IIBG6IMXXG9N3XB773UKA6FTJOWPCMJEWH3VE22UPOUT8C3WVLLQ7L5A06W2XIO2V1E8L6J7FF7BGT48XZ2IEKG66QSWHPHPLAQCE5ERHSEXK27IPTWM90DST6BIMHR1M7WC1Z104L2LOO5G86TZRPUUV8H8O7KMVJ7RPPRNSKJ473YG4HJ3O9V8B4KUNI1AYJABCJA0O0YBYVPFFKLSAQGTDGHLMBSXLQA4NA0Q328O3SMBE6SS14H5IXZTHJEZGW1DDDZ1WYGANT8B2J499AH8Y5X8ZYZ3NPBVU7IDUDLTQTLT6J558KR8QZ232NJ4V2IGG04V4OP7ECWTML. +36#29QFHMG1VU46HH1R5YMLBQQLBTEH2MTOUQA3FUYCD05ATXMEXV = 36#6P4HTRZ4X48MC74YC241HPAYEU06QJOWQCZQATQE3R2KIV1Y5YYJ6F67SP5RT5TNSO4HP6ADWCZKHAQF3XRRBFY4P0C5MU0R1B2A1WRO1R6FXMJ8DR529M9YKMP64DN6M02BJYEA2XNOJXE1XYTC21OHQ95BNBXTY13Q0LR4STD158QSNRS478D1NTMHAJTBFF3JHWH2S26EQD8LIVC6YY6LIJWGVX3WN72JCBCT63PAWPOZSBH3KVZ3BX4G3HB9INYXZ8XKHDWQ6B569AC0K69E0F0EQAL4G4W8O10DTBZA5GDEYRLL9BUC64AAIBL27R7N7AO60LLW div 36#2Y7CD8P6FMIPCQURJJFHFRU0PYG3B7Z2XK11S9PPOZPAJVQ1I0S1WU1M36KM8MNOG36RAREMIGYTYP7QWW71FMS4UACS1RT7BPUMW1TV8FH4GUVMQN6G3QCD8P2GAVN5CZ6MO9O0A83K6B0F819PYF5O7SZ8CE9V3W2U45P4FIYPN9CTDLXV48IEHYO6345YYR0B6SFF7MIWIV6YG9NLIXUFUC05Q581RI5F0DFR17U7BY4WFWYI57SA30K6BHQQ8CVQ8BDI7KG0C7HB2ZFZL8ANPL8. +-36#DE83XCNEPUGDRTZYPRY9NZEN99LR9A6RWPOHRK1TH8LW1T7XHZNKQA4W8NO7A1D4WIYVEZE3146F1EOUSQHQKC5LA4DMFWYPY1J7IEBYFIM0LAVCVJZZ0RH6YXGDSSV87ZW08K4LB9QLEJ9SXJZE7SJCZ4YKH8PCKEPR7FNB9XL6E2STOSERXDILAJZHE99I512OJGKSPHE2VE37051C6C9E60BYHMODHVBIUS5GB806EBFV9N5MLIRMPE1XJAW63IY5EY8AP08YV3D3PXWXR9715K6L6MB0DG59WV6S2B2LQWXLNZ1YZ9HJD4UINAAYP3BUA3XT7H2CZFGI7JV9P4PISE204GP6O8U1RBD2FEMS7L6SFTRQXW1ZGCSF7265CZHJU9P1XRAAQ30TBWA1V7EHQT0IKPL7NA0DCFS9YVPC6KXKKGQ6ZGTZIUZGQZNGKZGEVIZ1OGD4QM4Z0J7O07EUM92EASDRHKL8KCP6FP6KX1KO487HQPYW7RXDCD353TOE78333EKO7U5GWMZQ0QWEVADRJ07MVPWQ1EI5HLE6P61BHUOPXD7TL04RE3XZ35VJV6DPN5S78Z9ESPFG0QQS9DM5M8W5IUMTADHBPL6G0MZBA9VH60ATOTVLGBH6SK09UFP8HK08X56WCHLLRL93JPOSR9GQQJCEE5H0U16W13IK4XVE6F8U70CKH311HBINUBLI3ANICH6M6455WZ56LFAGICDY9ADL5IW5JL7NZI5SIPADYT9C1E332FG8KN5A3CFAXQR59R9NF3SQRG1BQ4C17G9TYIMYS4QLSW5MS32G3TFVZFJCSZIK08609VR0WJ6XLW5XAY3CNPQY72Q3FF2902JDK86PCAARWQ47H3QPSYSEVRVI8IVMC66SPOK4DSN857CX6KGUUD6DEK7JJ5PKFDXVEHI3KAJV308KDVSOW52VPVJ36A21970175Q7IV4LC79 = -36#XQNXNBXNJ4IVZ4TTPKNV78ZWKRJ19GZEVEAEPNSZ68503WD09 * 36#EAIK4FET12Y99I8HIRPOBENV84C8MOSVJ44YUWNUH5L5NB3HMQ1GMW1M7LOAXOMBOEP9112AX7ZY18ZHHVUINS4KZ2TBCZLOG5FOHZG23GVVSMK0TID7HQHQMLAACGX74GIS263MT9AZG77ZDYKIWIAE91LW73JMHCX386RT8364UMH700TA6U3OVHTRV9B364N6O2US58CYC6G8KEGYYA089ARTRGPSTB1YCD6CI2QZAFA9NT308ZZ7W5E5LK7C6C8GK12PEVCKQQYR2T4LBGNWWB1UE1Y31RSA73G03YG2A4SKRF4XFSBS8S1NJ5HK0M5KKSACAJ8WXM9EPMQBMFU17YVRM64OUVW9CBUP9HGQG5A8HWFOOAQLLRSCN2SS718P9S43C7HFJX93NZ3AVNG21BCLCKW0OEHRKEZYGPX9QKKHVUM2FI3MUFJR28SQX2E8HWG1NVN15VXS8Z3DMBV1LNHF3KN1ZGNO28NGLQ0UK02PKO5ZVUBR0EDFXD7FU264JPO3D9XC2N3ILMWZ66T9EVXJ1PF7VMN7XJKV7J6R9A0DRM57I87O5HQ8OPTWLH3MP49GEH7L2VE6JIQODOZ4SOTJMXGY4Q7VWB4ZPPC9TFTJT122CC3R203FZO0H15LQNGT1XW2JZVOHFCH1X9PUYQRKY3OJ8PKS9R0OO4JPC154L84GZGGREWJ0OSF4I800V4A7BBXP8Z3YWC90PDB6EXMOVINSBCTF7JSIBM613FX4147EDQ6B3ZRBA1EH4BE69XFY3OORAT6BU9I29R2RDHAQBKOV7748YP40BWCULNKUUTSGBQ5WQKSAN6XT9DUAJXU7CVXAHCCBLM3V6SY980W7SYQDUMGY2DEDFWZR8MTX3FNZ3JODCQ8CKRMP5ZCZBO3QBGVV2OEXHFDS6ZUZGT. +36#2UF8FCHDFN2DTFZRQOXXRA98R15A8HBTSYBVMQWEXFFWB3HTS8 = -36#25WRB0BFFRVJYQD7P5O1G205FQR978DA74C5IA7H4ZZ7JIPD0IIWBY9WC77WOK5HQHA6TBS42TE5SAWE649JY7Z56GB7G1W832O7DCXITB6N0HU542R1K8YYECPOPKL0XYXCZZ8FNP282TUEH8JWU16O56QVJ7CVG15OFS5ZLKE63IVBT1SQQ5L3OES25QSXIM22VL6YJ3153JGP6AQYTHE0APFN65X5YBVOEPS965RI04Y1JR8GIQ5KIC5O1YQNH2ZKKTPULDHI3EVXPWJTH48KGBIHK4J0QSN386A13VYQK7CEK8MS9035SAXTOXZEHXGI8N9EB5Z80CA9Z0EIZB8E2JCR9KTNUGFIZDLAUIVUEXIFQ7PTSAZ9OH3MA8CS8XS4GMO9B2YSX25MSEETP80A2KPTRFNXWKIS8AP8MV352MX0GR0LX6NMJXQZYULNC9BYRKCEZCL37KDMJVR7M0FFHNA0LTS3YYHH2JQYEW6WNOWJI5XA9CKV0IJIBN4S16V8RM1WSVDTRB9LO4VWNLETZPV85T0H4KK7HDB47DAPFXLO7DLVCBIQGRLXB9MKI0MDSKY9SR09DIL6I8DRXR6HOXTIW19IHSSN2KVX1RB7JO1ZPRR84D43GAG5HAEFSD6M07Y2FAFUYVG9QP4C46A1A1ASH9340NTAQ5XRRO2PUKRYDO3EUNC532E204L79LP0I4RIE3O23FWOM6GTJHWK97MIG2O6ATBQ7JLNLZUMENPM5D1RJWMQ46GKTBOWD91FH19OLMVPX8AWHBBLJHMRT9O0Y7UCBW97LR9GTUDXMRSA2M25G440CGQO div -36#RDTP0PW9JD0TRK2U235O0PZ40BQ9JLHITAUAC9G4WCM6BTBCO3BM4WPZTCQI2FKFC1OEKUAAJ7R4NVQR38OHCY6U3PGMWF3WMRUZKBPI1BXM6NBRTAYPHGLGHTMIS5LEC6K9KB51RIJ3YGK8V1D2173ZEI1EHCVBX1M90ACKKY8LUDEM1Z77P0PLGIQWCHFWGR1NN88SGOUCV6A01X98PLM29K1MYV6OT5CKYZDOM7T39HRBW20U5PVXEZL8W3JSIFGJWOEXQCDHPJ6M6HRDN4ZQ0FLONEI2XWB5LUO8ORLE2CB8UKVT3PBSC0G5SBKPZPRIYATD6QA6OZ9LUFJ4DW856R7UW419O3N13RNG5UBPA2F1M8TXQB12KCB1M1574S3GMSKJLZ9CCBP2NJW9QFYYNEB1VS3DANAZ66X2VFNNFLC32K35M7H7SORPOUDEPDZM0PB1IC9Q7IPVQRM1LRCCT1YCQDN42ZFIPA1DN2FX3INTZA49RR7YJ0SLW7ODDCD7QHNJHZ76QDIF8WGPBN2YQ8E4JJOPVLSNVCV1R4BYEME5C2DYEB253GN4SKHA6RAZAN15KMDFI54JOEIFX8YBDMGYDP2NNDQE2L6KDC56R4W94ECIFVVZXZFSDUY3WHN6U5N7WMGKB2495GEKH0M9ZOZV27ZS4ZJD3Y0UA8L5J4MQBRGMH0SD0AK7R6HKFFC3M0SCFCUWV3AOVFGP1J0LK3RBAQTIBQ7RZATCU7MU4DMY9V6C40R3P5JL59VITDKN4R3HFC. +-36#38NKRI2DVT5BGOJ6SJXG72IIH94CA73VFV9TEZ4G87BNHNQHA = -36#36ECXJA8KNCAPCVD97WU7ZURNLW6UHZ7CA7KJYZ78HAEZBWS6HWAML9PPMBY7PFO5VLHEELFR1AM5MPGLEAE2X0LPOHDVMNZ74 div 36#ZAXP4J0XD5TRYMPG65S9WKNZK0IFPIDRVGBWEZUN2KMLAC214. +-36#5FU5N5JYW2TEXW1DH7LJ539ZIALHGXQCGQLNJYAGXRMX1LDKXEQS696LLHHZ6NQ0NQREPBAQONMP9II09EJYDY30D3DQGVVE9ECD1AQJ3K46LYC0CCMCJGFVEHU7LDCOU320D5BYZKFDF87X2EB63OJRPIJ1FYQ2HTAGYO7K1D36XBT33YCWBR6MN33DWYDGQAZJ6UX52IO0X1KJLF5BJHH17RSJJ3PRPDPAI16PJ21SGDAJ55C4FOBZCUKLHMHH4VO99W4IF8AGH5YYBBFRV62NX65RDGSWU1530VRGCI22IWK1E4RVPMMO1XMU1VIFKLUWKH4P8QZ1NM34F8Z3N9V43MR3LWGJZRCP5276SKLM6A6P11DCGHKXSQ2K9OISTFMMDR7LVHM15YZ8A48D1G34CE78494J62P0IDUGNWE8O274EI5U0YZ61EU8B1EN479OWZ6NZPZXZJSA7PN9PHW1G42Q0Y9P7Y5085YW5ZTJGFKL65NU1QBURDP934O3HZHXA0TR4UFYNTFMQYOZ2EO67AEEYPYX4H6KLTHVDWTQCQJBY0PE58ADCF7M9TLH8VPI4NQ1Z6KYGW3RCFEGJ3D82TJ011NMGH = -36#15M8KOPQD9FVBU4Q2FT4C4Y07710SHUYHL7BJLZAHE5HYB8HOGXOIQ56IXIXG8UV0TXI7T7CVOEAR4EXMIFZYBDDLWLBQUZ2TUT9ZMY9RREYC1S6NGCDEUNC9EMEBB9TI8GRTOWJNHUDSR9Y2QIUAI6HGD58IT8946846SRMWYBX4PV5MEWDM5WR7CIAB7XC9OL1B5B1CUOXD9W5HT2P5U12MGYKXAZR4FBTHLYXE1O238RFXV7K6479OZHJ8V6DFPMUGBEM6XYVY5NXKZ8E7WJPWTXBIEGLXT6YHSNHYP8PD6F4CH38OVEDLPEGRCNCF9U5UMWRBB9NDUZRZ57I00010PGT766J3WCIYJOAP850YCXBXT8YDM7FFU18XD2W9YNMEAMBN40110B1U2SA1ROBLTUQRGS3PVHY168ECMCE1I5NOFK7CWRH3FFOH2O3VMMUA6F7SQ2V9JC3V142GS4MGMFP8EHR1LGVLAHSEYIG2R17249HL2G4JJB8T8DRS0QK1OIORO84YRSQGACURYZ5SWM34EOPEUJB4GRSETUEDNGXQY00DJS5R7ES6P15O3PDRIO7NR6E6A8HSZDEAU0FI009778LDYMFPR81NL13SGHDIQ1WKMYM9LD24UB7FPWRE0D2DUS3TBMX1HLK0OM27M5K03CO18LHM9YY9KDRQYID7U1XO0N1HGGASSN8ZHQ8CES1FGN0UEJFL0AZD5XXNE5KL1XY7J98SPK2Q5UL5FYEB292DRJJOC6QIXEVO0309KTS9CPIHTPQ0SZG5WTT0L3VRVCO9O671TIEH7EJD8D2T4BIRD1L3DNJRM0YUXWG2TJIJJBUNK5H7JCIPBUZDQFGGO1PLTPYE8I6JE67NF27XDAFMSBH4271UX7BEKOVE div 36#7NEXFFWTFAY6L9W0S4D03I5PA3ZJT379K65RAOIDOCQH1PYH7FURRSZ5T297K9YWBHVZ2MKJF3FZYO36KHCJL0K4YQF26D2NEVRW1XLKLBI47LPDCURHIMY95PELVPU1H9DT9YK0GT0ITMFYME69T8N9TKV3P3SBE85NXJIRLOZ3V8B6KSW4QITR5SUXVLOBX10E3Q4HVKZRXTSS5IY6MB4ZQVHZGK6F7SGYU5Y9HZA94EX3KD0DWMX3IHBOYOASXS787M9U287FJYTE714K20ST8OZIW8DZZPM. +36#2XP199VVSRFFMFRKLY1UB12IZMHWIE1XVH2VPG2A57NEDHIS2N = 36#5J51OI4MLFTU8ZPIWP90IEQ4V1K1LDOV1YS9I04YL8CLSKMPL3AO96VW0KPRQ59YIC88EQ1Z7NND7I00PI2OD1W79N4DK96CMYJ div 36#1VTSBU6RL1AO6H6RT0VCNUL4DX965VH4P7C5631NLC861SWF6T. +36#246TYAJM4TI9YGSAE1YDF60GWV3GX32WZX25PX6915DFA9WT36 = -36#HSNPKYZ6JFSF9G014LGE7XAYNVGZDOJ4NY2BPM5SGR7AX7KCNLVJ1H2281LWURS0CRCO9NA4SS4A0J6Y57URHABDIOKDI278V9VKCHLFIGDIX8PMLQHUE92KC4AM1IN32Q4AH4RNF6T7EXDJZV3DLZ8T1K79VJ5VE8RBELE3Z2J4Y0H425N3C9U5GGLR3B5LP0NY26RGNBY7FO2TG9ZRBFA4YHC6VY6GFLEE5FM8W9OWV0RVZECNEN7THR9KHO49M38FYNWKYGGSCW8Y42DUHU901ASCT3Q4MNAAVU8W1BS2OJ5Y9EIG4VICQPOTWJI08YO37QX8TF76DMA1R0U62GPU9588X1I6NEE5N11EAV7S865YQ2B540F6PUGB2CGU665LL33NOCTQK9O05USBHJ5BL8ZXV9AHBTU2UI78EVIMIST7STW9HN2IJJ9X9B3TVJP8AUTTHNGFF3WDXL8CHN4V3SO3M6HRQMIOI2J9AEN7LJMCO1KWXMFVPVWM6QWZXA6K17T7XAT8NO5OXJWQGT0WRPJQMF32O7KXDOOHOP94I7Q2LTER4OKAU2R1KX2OWNUG0E0QWIH2Q9TFMNC7JQS47W7FN5BLYXA8JQLXXIPKEJGMEU7VBAPXQXJUE35C4L20HTX8YOXWP8VQ76YSU6LOETZRQRTJZ92Z0JSJ9MDY3N0ESRBTLIVJ8BF3I0IF39T7K4M3DCA64NA36P9NKXHJ0AR24YE1ZJXN1J0KM1NBXLMUZK4ZKRYPPGYP29NVSZI6OCF0OGWE85805F27U90AKEPWQNOPRKYF64IECTCA885UJMRUHTOJH8DV0AEXJIEE3XSU04CH2B0S9LTYTUU0OYURLTUZWIU01AKZQXDF6E4V8FE5PZF3W675KGBBH8F2M571EG5S386YUQBQEVT2GIT56P8FVCXG0ZRL3V3HHJIVKF5J3ONN7NHN8CGOF6M6DDE21485U6Y4E9KR2LF25MIC3ZLC5XC7DKCNCN1D3AII8WY9DX9M8G7MEYU82MGHGSPOAISMJY64YCLWLDP3B33YXNVMC5L5I div -36#8EPPB7Y10S07VBS7YNN0MCHDR4GE7JEOZ9XR7DOLT522DUH5TR3M0ZWF38COXXG8MFHS7R1IKM5BVB3BLB0KUTV0B4Z1P2JF9NU5G3U6KYSTT1SW1FP70R5ZPUK1G53CSTESUZEC3M452IY7G9P7LQ5WWOE90DX4QD4AFDKH9GJ1UP8V6XOTB267L2IZEVGR879IQT7WHLCJDB6AR656YNCHFJGU51OVBGAHAY7DEREBFK9ZSWH7PPSQCR5Z8FZ9V1FTBGRJJNG2Y8EF0TUN582UH4LBB5CKFKGSYKTV027NK3III3YHD7UTNZ9SCBEYEK6DESL37Q8HKAD5X3SY9UGCHFNMJ0W4WULUOQLUE8O1JEP1Y93MW4ICEJ14P317N2GRZDU84J40ZJE8JZ1PLY48UNVVDQW9BLZ3HFGS1ZD5I7TK8RWLXVURO1RBMQVDJLZJRH0V3G3080QJYRGGJIWI7S1NOX0FXYDKSIQNIA7NLWPS7NEQ0H21MMPOZLA1TFO47GPIA0ZRHNGQXHL439LQJ583J2IIYCWYYNL0D3H9KCYNUI99NYRYX84CT0HY9COBZ3LSHU855WRDPHGWW2993OFN8S8BNM6UCJ33O65FMBF14QCDEEGGM4TDI7AEAG6PRED9KQOS7FYUYZ68JL5IMB68LY9SWKV6NU16ERVO317FJPC08XP647LMXFQFH8B4P86PMY37XJMDFH6JFF5YDQ8H6BYXH4QBQFZIWRCSD3UPNHWN321JQHZH3R3D6BSGT9AWA5TZ27AL1SM379LTH3Q534ME7XHAGK5ESDC0CVEC6ESU767T3FETQX4KNBF5MKDHUP8EDL2EH7AEG9DP3F1IMPHTBUWHBO1WZ9IGS1NK6IDCTL7WSATJAC6MVGQYJT87TZP9UWIHIGROGTJ0WG5XW4RXEFBOWU9AEGNMRL39Y0RNT2DX5HTF9ZKOBW56U9DNWQKZ5VG1ZKV0JJ30FG8WY5GOVXUM0GPUIQ495K5IK3BF. +36#8MD522MZJMPD0XBL8QXU2TQDE3WOGF5UWU4EG6NBYUL3HGEO2MAVZCZ681ZJB17R7S6ZDTG4UGJ91QZA7SJS3WUSIJMCIV04IRVQDBN8JDUGA216IEXWVPB7FT4C8FLQXA62X0EB8JH = 36#GDZOWFM6D4ZCBKX4LAPLAC7K1IX01CT9C80C4TAWWZT0NW8AEAOD7ER8L1I720RDEJXLS2WADAUR8ICXEUW6LJ77FNL69I8JKIE5CR5HBQDQUVSQYU5KWDN6DGYJ37XMPQAW7GWKFW835WWR614DRXZQMLW64ZVZZT32CQJS0D4VU6I1X7RLCAX6NQKP div 36#1WFN6M2U4TT1RTPGBPG9VO0HGZATYF4GEF7MP26YCGCSX9JT4T. +36#20CWZBD3X8YSEG07Z4IKM4JU5HPSO0OM2DV7C81ET9WEUDMYTB = 36#3XGI40FY8HUMME47OVZWUTBY1XEGCHTQUGIF6OL1ZAM6SFGT33U5JP757KAQ4F0EDC5RRVQZ8DYPEGA7IBCJEB457LQF6USJ7VJS85URAYHTC5BKRK9HNFEP0K82GZJ1H8GHULEX0NQID9OTMJL3GBYDOZGVPSB4NN3I9LL45YL2BTRAF3JQLHFAI3W1R8KXUDA1QHBIZ3YYAIC0OG3I1N6S77FUJ4C2QHDNF35JMG36HCOJ5AMVC0 div 36#1YDMJO6UF8CA1KE7F4XTV4VIHKSEZW07FQJWW34P43GW1E01385HH81MIHED0BMLKPU6FIHIL6DABBCO1T3Y69TLGQQP5ST62VZJOAV1Q7BC79TQNSOOU90B8D8QR610FIV4H8PYRHIFZHGQVKG8YL8MZKGD775GLOVBP00VPWB6XGMMU7MRDK6ORSFCH1KQ9GOO0. +36#2GTTV7BU4IO9FP975PF8K7EOXTSEWIPTQCJAC11BXB6S0T5B7XY5UR5JM4VOAMBFGFKVC6G1YO1BIDVKHNFRMPD4Y80S3S3PV4AFRXRLZAOUU2K9MXN2FIXM3G3EJHWR836LKC2D655D6CO1UVE7671VAVCZWGIMD5L = 36#3EDKTXDFKU5I9TPS72MS2RKXPGIL0EAOEK2614PS173TS9VRMQPM1YSZC4POTIC0W50DTAMP7X43A4YOB7MZ844CW9EXVQMZGZHLRT1EAORG192EKBPQOVY3LIHWNTQN2TQZA1YD9MD5Q2CTQNL4KQO4GD5UOCYYT4634DIHXEM0XGO19CA2L3IIUKDV6GZIC5ULNQWP1FPSVAX1AIGX7W6QPUA9QZVHMDLZ9B2N9QBJD8NAR95C3ZY9MF8K5D146R0YO56B532XW6QGFZL80OIKKBUI8HFOXE4HJPCOA4CB1UW4KIR9NZ9IX55ITFDH5JCJPV3C04ZX2XAEV0MNZKHR1JM3FU600JLOR4RK89LA1YFAMFOMZVU8GUPY941EGOXBLVQ856HYO85VGT2MUN0TCNJQHJ2S15O2J3D3ZOT4P171HX4GRDDMLVYESECDBIREFLWC1D15F6RT612WIERQAERF6BR7FZBZYRWP20TT16KKH8GH05N3T969ZTOPCC0I0PYGTHULMKPKU5ZD2OLIZ63M5GSTTOT9II6XPTQBN04TR8JE360ZL9Q2QP03Y35URT0UK154EGE2RCH4EWIXBOZPUQ47G38M7IN56LNAKNVU5DJ99CU4QL6VEO7NBDIXIZXF8M8VV8FUW9VM354F div 36#1DLGXJOQT9K6B91QRCR62Q0Q4RLCF4OM83RMIP67FD9MQKOIRFLOW0TT7FSN3FDS09CTAM6P639B9KY8K2UN9KAHLD9WPFYBN8NCPTPYMHWDT7DVR78BUUY0SWKDZO1FSK6XNNDZCX4ZGRFYUKJRX5K8X31TOVJ6ERQ212CRPLPI8LDJANHD44UW5O8L7DF0CEJQJO6NMWFBETW14MO6CZBO83N1GPNSFYFPN1N9WB2M73EH6KV4OGA15GFZV3UHTQDMBPOG5O3NRC62RQXZ1LYUZJ8QQJL1E1R2QVHJZ0BGVXIS1UAHUY9262OJ2EBHROX8E8NWK3W5IGF56HJQA42Z7R8H9JQUBYE989ENWF2UAZ32TWUTZDPDRILYAR1FJJ06AMVVE9XTHD85QDJEMKJ4ZMB9AYR6ZHCJFDWNFA9ZCEDUH4VTNNQ08LTSFGTT45XT0UIZ532QX5RURIPBESL6F8J5N9M65HC5QF60NEW8YAJRKPKNBB. +-36#1AHDTHAHUNU1J99Q3IEZBO52L6ZCM6DITD8GZZG2OAWRZDP0UOUVG9YVAFT26FYBSHO49O0BQU52E6Y5VPCMP2T0RP3FRAYVBTDIR4QMECMR65KR1GG006BVVG33SFWEO9SJINEEF2MZSS1E1ZTVXRM9TC7QLWZA6P3FW9FNKPK11D0CGX0ZL2XILIA6CR15QB0GGLO6TEJJZZ75BSQ0LXNJAFJQGK2EY8GXNDC3FR8Q1RDMJSJN5UYLAETB33NBN13HE1SVHS03HNPDHMDI3WS7CBTCVHBX8B8E8F3328WYLX7OIB2CPJ7C4T84IJ4C1EZ8JX6VPQ81VXEOWFP8GT4T4XL7881KV9A1TNMJ091XXIZU6BU7VFK4VH8NFOHY1IFUIT5NIPO7H4BVJMTWRLKPRW5CCDEP8NWF335SMHVH794LTAODWDYGV0UA8L8XKDUDCK4AHO8S5PF47PJ4AISN4D6447R9Y11733FCWJBLRBGOP38DJ2R2TARL1LAWIC63X65SLZUJ4D1RXTYKYEA5BY0M8IP6AJRTYA7S63SGFCNIY60CVMDBP7LCO8YZUUHKXM7UZHI8SWOI3U5D7GAM3UZ6GYFYBL46W = 36#RE2KD00DG5EX6GRUSRMUYLCK7VZZ3P5AMYKOBHCV1A45WM2TTHXRV5MDTQ0D0FKHOFMDAVB8HW5DSOY1XMBQ9T3KAK3UEM1SQXBRW612GLRX5ANGX585FAUDUAHGWMY09BWO0RWT26FGMLSK6WGNPDY68DM0A79ICVW1ARTE7ACDEKRVTZ0SN5UIJX1389J7NZCPIH8YQAXFYL2WQ1R8XLRG6TUE39IXE26OZ3QHS38Y6BFUFBBEHVDW3IHFGC3HJHCTWLH1QZM2MHHMS58LH99J2AA6GW6VMC44XLBBNRVS489WL6UB0X78GB8BMFMO6UVSG7WDLVCLOZKGEAX5SWQDLCHT6X84G8L7GA4837ELWHYFEHJUI0THPEDEW1WQ08DOMUZPJ59D0KAETGGX9FLPR1X51HMU528YPIUD5B5Z67RJYL89MCJ508YGYAMV29K35KALKMK3L1VG3R32IOLDI7LF32Z74KDL7B8K32ND0G5LE43CSKZN80E80GTLGNZ5BQSRKBLUH93PHY44JO9VYV72PYJNAZ4IEEYWXJ5RO6FA3YY * (-36#1P3C7ZGC27QYKQLVP4ZD80TK49X4LXJ7ZATV8KDM36DB1K48MK). +-36#1ER6AFXLY78Y6AWYCPFXN9Z3HLBDJZDJMD3SVKEAKW258ID5KU = 36#3ME8EYT00QH9TXI22PEKTLLVC62AN8DALY2W5IKCYXNIFVIFV5JCWPY4VV2CD8J6H3ZD52AR51D8F4QR9NWAUSL1IRQ987XF93C div -36#2KHKXHJZOU638IW7BQO76KJO97JNUS10RNZYJ418BUZ7BZPVVG. +36#AK85V5GFS6JKGVK37KN9674WMEBXL7AFP2ZBQ1MAU1CPAG81E9LEJ7SP9X2MMTDFD5FS4IFFUKLQ89M2YIX14J0GVCKHZKJK2YP97L7RZ0AF6JIF9DTBBBEELXG5GCLLWTSSEQ2LPJABWU5ICE3WDB6X8MJNGCBY5A9X = -36#KN37AUDQDNWK3EVENUG1N4U6GCQX1FOIVG6ZMIAM6NKZFXZYM71L2P81P1TQTZ9F8XGGSOUFJ0YO1L8SXUCX6FCIQP485MYTLBX0JQM343AVNHE74E5KZXS15B8Z4IQE0BL8K7QWY7WPDZELTK7OJ0L3HIR60KKQT9P406UOB6JD0Z28R2L5HEHTL87FY6CAB8SVNNARV382TATT6Q53 div -36#1YCT9TLKI2UG1GCOCV5CFY1XYG9K86OTJOBFSVCKCWHZM0N6Z. +36#2DHG0N55O1XEGG4LT8QGMS4EVBGK2Q0IOTXJM79XL6MHMV9OP0OLEKZLED6FMG1DOOD67RZVZNO45MJPM0WXFUE62951AFJPIS07KA63U8HK1BF4SUDSECZOJZIJGM93P2V0QFZ5LMKGAYZ86E8HW35HAYED70MLR6ETBVAU8GVAG1RXPO7NVAUPI4GAOTQ387D37LCXUE6ZZ4UITOZFRHC7OUKDJ6EXQTJ7S2ZH91KLIEAHBZMM6UU4JHLMRPLMLC31YOHEGQBMTRYSH2DT09L2SZCBSF9XVOAN89N5J7DHLBH7E96H41JFTJYCFLPLEDNLX49II4NG9SC7KCCDI31I2ZBEZZAAJ9RFKX = -36#5UKFWSLNEEXDKJ1D5BUUYA2SIQZBR1Z9MDIZ0EGAA3YOFIXIX5KGY85TVB57RS53IVXAUDPEH2LM2L8VDSEDMT9S0WMLLBZBF1AEXH6G117WDJ8CX6YX9DPQ7Z9H9JMGM4T8U2YR15B0H2AML30IHCDJJW4007CVGMMNCYXQKCIHS7KZ9LQJL1PDFMSK9GKAWOLLN1CS8AUSR0K8PPS4HO2WRZF8E60AH0U3G9H1C4SQ2ONY48IPQ2J66YSQKBLV8JIW6YNJIXNRLKZ19HT0TIGDJ9KPCT6TEFE9D26O2NIQXS4BDDTD14BGCKPVKVUIERDICCTCZASVVGX4SKFUF4SVP2QHG9YMUI8AN8H5T2BQT3LQHADAIECVI1QVWF7XUFZ2ZUAATQBXN43QSKU6I8GMPP1Q0VA4O5QUKDOVT6PFO3MMB81SIEN0FLQ1TC2K52ADRBK3KHD4DT3OBCRGMCBQ2GQJCWZWEKA7TAJE72X3BBLUIK0LJSYQOPMMGUPYJKLKZ4HMI8W2T5HBHSH51QWSIM88ZJLHLKU36FERVLGIU6KPSDUR8P2SU6K2RXNYQJJ17M7FJ67TIKBI74WV1WDZ9L1PQ5UIP5YF180OX2J9C0SOS19XTTB07HTMF0RPEJ1IVBLICTEQKA4JMGWDSTLK9YQ3I6PF7LGKSGSDI6PFICDLSJT9WTZ8PP7KBNY7EGE90YAHI8PI7KTZBO4MLAKZP1XH5LV6AMUECU695SX1DINVOFETLG5J1JUNYNQOD545F2B99I97M0JET1MACA6ZAQWSVG22NOZPY1MFY8D38F934VFINJRD18V511ACNAA5EW1EXLU1H5BY6DB530AVZJ9Y0QW614XJV3Y2Q1PM9KXM077RVT5QVC3BYAZCDYQ5HTQZ1INTSYSN53Y1ON4J3GVGBNEPFU8EMD95BEKER6075159RVSM655FHS3B4EMHH2V00KU1ZCEB3H37YAR1MECHTARG0E7LYRN0J79U3BGRO1A1N4BUM1YPMZQG7PDBRA9YJYBMR1L77M9JQ166GT9ARVVFETOL45O6KOFUMHDXQSMYWSFXA2XHMRVQVJEYQH0TAASB28XINAWDHZSW7G8ZPURA99J6ZLE6X5JLE5Q827H66REOJAMFRKC1TBD0TX35O5CLSWQC61HA5KDHXIK5JDCGWFMLHCWIX36U2KDN5QF5RN8I6LH736XKXNLK3EEX77OJ1TADKVSYZ9X80WVX7AE00LYS8NNTYWBXVS2TYUY6XNOHV1K18ZLRPV9B6GGEFRP0QF9W4WLGXB09FXV0UGMIVCCSIEZTXU0X4E6L6L3UBHTFJFBVZG4M87DFIZXRFRIIQII5AOX5GU6IGEKGQFZFZYI5JVFU0PSXZZLQGB1D989T6OC8RWK2KYO div -36#2GOC9KLCP6VBX098UDL6RX4KK492893OL62MB6QVRD5VY5WPXDA7U82BQGCTY2CL727CRFNM4OH4JMS7QV0P0K7MWQODVU4VK7JN5URES6HOHAZRN41A35KAA0ZEK87OSRBVBZX3PPUVEA3K05TJO91R4IPF7BTMU7U8YF1DMV8RTV70YP48H5X9LDTZTOWF96RD5V28V1OHGVN0XMN7QRTAYVPJ6PSLW1QOQHXM6A9BT4G5JFF5L4N8I08PSTBCZT59X6RPU12SJENR641L9CQ0SL5DNQ4S7H424INCVIREF76GDCSVRNX6KVYPMQBWDSB9Q5UOXZR4M3YNPJSUZEEKMUSSXR1JKNC51KFP2VYQ8BJBPWJFLYFRL462DS7GN1PWSA3PCIKVYZMS6IBYV9CIJ169LYV2UBY3FRP10ZJKSCKP3JC0OBSYCD8E5XOF2LDWLBLLGBND7PBLC3555LV09FP7SQ1ANHVU21F17HRHSODY8MLU0FSEB2KTNC7UIVU6ZS7F7ZLFMONUPZ76MIZHMN7LZRXAGQGEST0LX9B9J6FBA5HTDXFGGTO8HXF3J0DFH3XU8JUI54TWDEE6778HDMAYOB1A49IU3LAJQUVL3AGTOBPLWYPSL5B7P920GKC4QRFSREAK12TP3GY5JZO4UUH0HFCKBH3AF15ALPDR4OHF3MG66PF12YVYO7821GP45B7S1UUHII51U019FT9YJVOE6R7UMYEGLFHNS8UI1GC85Q3705RJH6JPQTRBN9ZPNI0RC3T522ECNHZ8AB2XMYZZWFIQFSKXO75VAQVF01OJVPDW3ZU5M96NB4RXEXBMGTG9UL3PQS5Z6JAUSKONQN6ZB6KJH8Q02VP3V98B6CII5199EKY8C6V43R2UB53G8RRFVPCBM911W6LE0JYM4Z4PFI0FJQ4VD3HN4M518VHDQ1QQC41G0JMCB7ZTCF1CMB30F3E1BC6M8GVF7FIDR2E8DHDX5QY51TQQU5H5K8EDBNRU3R5AY9M79YLWMFLO7E9WY4TSXVAQVHXMJ8XYALI84G. +36#1IBZ4PYHIB3C4G6G40MVLBCADRWC68NEMS2D6FM733VPCXH50IJH8LGVD7K33NWRIH17B5EB7EOR5YMJNTBD3PKVWM98930UEC8VZ3D07U46JII0WPZJA7EOLW70H1SIHD9B036U8XBRCBS0HZ1GJCAB28O15ZIVZR1AOZG4OTP23JVWD560RJ9BW03IAGD3W2747MKLC4WGYQY8HTSJ84XX49KWV8DVSFFUESHF1MMRIJJVY40JI0GKH0MWEXQ5VJG7GYLMAW6BTUQYK737P7MRUUM75M7Z1E58MCKI2615TWG007AAARNZ10J8SVQUGKFB4FK1QMC4Y3WE6OI9S9Z5IDRY9FZWZER95GJTTGZG35VVMBGTYYSLTV4O5LMQPVA3ZLW2SDVZUPJAOFUF3Q7M4RNXDW3840FK87K95HY2ADQXHHBONUF2 = -36#9PG30IHM3VO7Y88DBTM5A9NDWPPBYO3FT5OX0ZNW25GY4KZLWTHEA5O2DMJUK10AAO01R97K8D1A0OGYJGMMMR997R2LJYVWO9WGRT3HZFJP24KVKNX2CMHMN8164ZYF174DRAY6BUN44XDPJ5YVGORUJGXEAJ6ASSRM44K0AZP1157ELEQ939CSQJTT9B65DHPGFUK5STNOTSO07AUY118DU3QQVL892PULCKDC0SMTLREPF0ZVC82B2KMSWZYA4YYTOZKX89B2KK8MTV4N1HKOUKLW6CO94XMOM62I6183ULWTTOQA8TTTGG1BPJIRLUGFWNNABYBJHKCZIZQVEEMJ5027EBG6XDIXVW2NN0MZIJ2IXT1N3D19OAGI47AYBYJMIGWKCEM6BLHB35KPZBIZ1WU797ANXPA1J8NYSCR6SJXDBOD2VAUVQWTGMLZ97IMXEGU24W1MEXBPEYL6PWHBH9M98DAWLB0QMANHT9WB1D765TEMQBLHWI0M4HSEIF680GRQU4SE546CYH2RQ7PIO0BAXKC6EHN0R4HM4OPBQ9JZ5VHAZG3ZKJIYDCFW64QVTI80VGX0BFH85D4LSPRBZOEKJXB9LLSEK8IBQN1BK8C2U9SIGWJRG0HUEGIEBH7QVXFZUKMKHQVNKPNB2GL4N9H45RY0D7KINRAOUXERW6MEB85XAOUHNEHAAXR833A9ALYQBRMXMBDSIPGM1CZCDSU78BL9QFJ5YDH1RTHYRP3U9FWS851BEST2R45EMMUJUHWCWKWK37ZVB7NXP737RMCY0FL2NWULEASXEC7IQ404YMD5V8PWGRU2NY7OHX2CH8ICMHQ div -36#6FJDFH2EJWW02UJLSCYRK97YB7DJJ2OCOJYEB4PHMF5AGZ8W8PLV45TZUX7KTO6X0UHJLYUDJ2SMECG35CE2C6XIMJ6E7WPZ9IINJTUB495OSCRYEMCN6XD42EZU8DNWRTQSNAGKB7KMQNKYDYSPR4QKHIDE8ZY6A78DDFW8WC3325KYOJEZM07SU7Q9E513ET0YAAVPF0VXW3QAX7YZ3BD380BCAK4Y5O0SYK3RNCZ7L9NWSBEYH44MDVP8PJ6SV0G8TEHYPAOOR81EZI323QMXWF9POKKFP3BU4S31XPHUOTZ5EZYCX7NN1V70AEHGQ7J1PIQHR6QUY1HDY8DLKBSCA3XW8AOX5VKK5L1WQNVD1G7BHY6SG2V1FOVG72C28S6CLRP5G7IKLPBG441D. +36#FU1DE0C1CCU8V6F028T512LUY631QH2FIYCMOGMBXM20BWWFC748H769MS0C40T2S8CORB5FW2RBT5NYUWVA7DC2LA0ZPTPB4UF7BYXDGTFTH1AA89C2KZ58YJILP3Z43DOGLWSXTUVL4KIAXBMQHDE2ZHX545GZ69QWA11D0ENSMG3TGAZ0ZSCFZ31FPSJGUHNTAGGIZWH5F9KAS8U7IP18YL20O497140CT43OMHA5S4VKXT5VIRS8Q32J3DA8WMYDN2J4KYWEKFB81IM4K0FZYVO7BMH87J5ZSDJYI5NT4W0KOK2BONWCZZRE8DHDZG2J83A7WV74FBDP6RKJDZE2DPZBKDK8Z6X7YC023WW2HB3IFGFCLTD6QZFZ01BD3263VN7OEMN9M42JSIYX22KZ1OUYB1R3I2CZUSWX62F0LGEHL9BUVS3QV = 36#17XCZS8HMV0E0163GHL5TTXUQM01GV0SLDR973TL0CZ8HR6B8SRS4PCFTXHP3HNU2EAIZSIVYJ0HE6OTFJZ823COCL4BMNH9BPEY5F78YTH7SJ899IG370E0OKP264TK6UO30KWZZ3QB38HC1JTDNK59SIT7ZXKC0UNROBBBKQ2TTR810BTWTYZEVDATQUKVHBXUC4KD9E7YUWEU7MOA8C45SMM3UTJA7UVL5OFHYA8NLHXQFK1FFLF6ON0UIBO8QW7INBWRUAF2IF21GU8TUXTGPB0R2VS8OY77SL1JVR0AJJ7K4Q0A8M72330JJZ813PKUG4096F0CUUV7KDFSBZXYW6FBA96RV1AS882V4MPVQYG3L608XSMUPLKUCW36BLL5JYJOEQ5K1IOXP9Z4F2Z4REO7DW7Z48CK9JH4Q6BJX1WBUD6BUDZPBR9ZS10EI3W87ZU9Z742BERL071BAA913YXQLHPBBE4IUH4N8VBBEVE1QQB3AFLK29R9X4J3EF0F4IVA0YYQOV8I7TREUNQAHLE0PFIB8KDC3L4E8RFWQ7OQVM9XQ00VQUMV6X5OOP0F8ITGW8SZGX1IOWCJ5PR6QNSRIYHFQW3E5VXCVRMA3F6YX8EDX437XDIXZWBBS4Z7X9ETKDMN06RTA6FK8S3S9XN6U611C0O2NCENNQ1SPCNMECMGK074PXBTG8EOQSX36PFGD3Z8Q1RTS1F79S86JN4NQEIR3TEVVA92TCEU4597UVM3RY6DO6AQR3J0KL3M1Z8HZT3ZS2NZPOSRFDY5F4EYXCVOG53KF2GF33Y47SEHXFSH3J div 36#2RV9WG85T6RO16QFYA7DPCYQLQWO398M93KYFXBS73UEUQS4FTC409SG8FASWNOUOX56OA8RR8HFDK2X1ZL64M6Z5RH6LSYH0RKX77J7MJS3SOV3Z97E9WA3SZENKJE7TG0SKC6ZM33M2BWT55U2LIA8JSPNL9A4AQTH0K7PNKFLNWRDBNE9WIBHEI4HFK84WHQRAPDWRU55ROONYNBSWBYAE35YX3YR7G5M1TTPG600VW6OZ5X29F5VVQ77TO1RW2HLMB5ZCTX3R3WGSWEKD0U49XNP37L1O5603OLCC1DZRM7MLXXM6ZRGCIXPFLMOAQTG1KK4OFTMYNWPUPYRWIBFXH8UO8UWLY4229WK3P1FJQ26N9FAAAZ84884P. +36#4KEF4O0XKJ9YP1AWYXYU07TGI2JUK2AS7P9EKWE0I7XAM0F7WE0RSGS1VKVEEL7598ZBVUHWJ2J6IB6FEX4YSH85UG6BEXB4ZGQ9W3EUAD4TBNLKJCAE3OI2RWHRKFY = -36#65S85RAJX9YC60D3DBGOHA2OIKESJIOW4QO1GT4DJ4PBT1IIHU5QJOCOYRVE3H11K1QGOQZUX1I3HOKGJLBYKVZIT94A0JIHVJYKDMPHBAU1GB9PHDRHMX0XYE969Z6JJ3D09KB9W8JAKK97I6Z7235MW3LU0HXQPL7RXHJ97EVJ08UCQVFNDZTNANYO6JY7WM6H5M6OW4GL8NFAG040FVHYTBCSIXJC7H6BKQAC4OSE60XGXCE5AM00LNQFS0RTT8G479VK49QFJLU9IXD2KGG33NYTITJZ71JMUEXCPAWXHKUTNF9M2EW1444M8SHCVHD9B0Z82LITM620HLPGEYWAMC8JNQ96Q6D5AHIO div -36#1CKD4STFCCPOVV7AU708BTE11AY1AX20VCAVT0BTRQ38V8UJLYKJMIKBUS1BK4CKOQO9ZZRRS0O6P5J7C7DW8D9I1JXPT8AFW558MSY809XXFR4SI9SKFEPGLNGN4HOHWCRPCKEO2OUXQQCZ3IVSVIFPJDRVNH9RI11IGH4JOQH35OP8JBAM6BBZK6ZZVQ4E869W2XAYN8MBCBEE1CKW5UI0HHRAO3DD9Z4P2S80KO. +36#4DEQLS4OMEH6XGFG8V2AMP9L13IO2IDP8OUGL96EDLFFTTIW88ESKKG5ZYFXRM87VTNXKZS5S6UUWS20J4BGDL36VBPP0XA7E9VLAHSB09QB0A7DITANUFFLNKS3HEH1WTQLYOY0BM5AINOD6Y4TBLETRF7VDJJ = -36#7U8YCJEH296X10F2G3QC93R3IYIJ1B87H2VRP1V0POJPNM44XMNGWU7DSZ9C57ES0HEYOC8084FDGDNUIOSH6HAMAG66IG2A0XBJ6NAY4D2VO1 * (-36#K2RXP34APOKR5H10L07G41CPCRC9K93WAYHEWP8NCH7IPQZVJ). +36#4BDAXC6O3LIC06I88TZSXTY5HIKX9P1EGG1N82RN7CZZHQP68UU1NZEXNRWAGDEH9D21YSEXI6SW9HPHA8S5ZS0QGKGU9RJO8A35UFK68RWFW71N0DY1QEPK8UNWGCMEE7 = 36#MUZUC2YZRTGYBJB4LIMKXAVCYQ5Q6FZMN4NE0VV72IJ0OH04NGVL66O20OBDW63E3GLX6CD9J47ID74AMF41020C4XBMBD61317RFPVZRX1S98WGPPNAI98PZCMW43BQTQRKMPTY35VYYONE5ASWZH2U240F6BOUSGF8PTGDX3J2E1U6B1H3OT2KW90NAJHSALU733GD1HIFDW4XIC2CKFVBF0545U82UZ62ENUZALGZOPNV03RMO9WVII9B6HWYOIM6PMA9UH61JJAT7GLAJ8OBIH3LYZZE8HMFFOXDGCESG07TGYH6PZEY0L1P3IQ0O2UNUY5ZAT4ZRZDVH7Z0TAZQ79GVW82FLG2PY12K6LU8BDWZPN9HW429XFH54ADA9CO1N21RBGZUQ998E5GYPTBUN57PKCJBG9PWSUYN2DIIFQTEQW2HRJOX825N2C6F481K5LOHE3ZE5P18BZP8FEFKBMNCCW3ZZXC74Q29MO4R0P0QWEPSWLW6LTO0VYL5KBWA7R52FI6APDTSISAR3O7EPMPFZJYZ3823BNYFB11XC4T97KVV5L570BK7N7KPFRRBZK1RZG9W5NVTZQMJURHW7ZJQHUUSJVNL63J2MJGZ54FW3UHNYUOMLO0IS1G0PGUJGKT2F7BBQR2RVIH59A9FFPKSCZHZOSEASFJYMX16K1AAFF7APDSS3W55JJK60QQ1Y737KURDKZDF3D1K4NU4 div 36#5AOXS6QI7NW467XBHHZL9THKV51MCRETT68A5RX6L5YRBVPLCW2MO9I42WOZKWEE0M7JZ9XMS5QRFI0F62R8CT888JWJLCY9DPFP9HEJA6W14W3VE0CTXG72XFV0DJLU01P11FE5M8Q15DF8OODHLB4TUV47OM7QORVM0B5T5MNVF8T3SWFQB2ZNXPBPPVAHRAUY4UZVHRTXERWO4N2UUXRC1MY9TF8XEM9PFLV7OT2YAOSCNOZX3WZGWQ3V3XGY79P040859OBDQC2L8YRS7LVNLL27U2XGLXZKL245HIPZ20MWXA2ITRE4ZFQV44TYU5H06HK31LVTAA3F1S1Y5BEDZJKF3KMURO1OMYEA2385RXR8FU5E435G0ROFCPR6L311R38I9NK1AU4A4WLPAGKCXYE1PU3NS6BFFARME1K549MQ7022BQXRPHBWUK8N4R0IZEDIRQCGPM17G85SP1KDJPEBGT8G9SM6IMREXFKHRG2LEKT6UYPCOTFU510TVSQTGB50XOJUI8XKZM6NSKGESBWVWRS24S2IFDSLLYBPXG80WSZOGBEOZ3NLSDEY9MT7RHNN8KI1APGF38VTBDG. +36#DKTFQFHQFDM4ZNJ0Y11WEXF1XAHW2OPFF53VQ9HPX44OD5C5HUD148RE7J0D887QD419AGLU82DGV680GJ7U34W5YJPF1YHIILRLENABGGTHM24ZQT3PDUFM4U6YV6Y2JTINUGHAFUHCTXPCZSWI3MHBWZ86VAWV7GU354JK304GB4VZBZYTYZHS43IXQRNKJHO9TPLFKMWNC58PBC5686Y8WPM34LHYRFRLLCE5FSV4Y4VETCOTMYYQDGTZDDAC2LPS1QHVGEXA88QPT8P6NQNE6KPA7YGUCJVMQM42AM9GELHZQQ11BXZ3BFK5CPNQN2X3BMWREGY31N5T9XFMX4X7LFVPW71U8WKWJS9E7CPMB4I7BYQE6S75DLEW1078VOE124MSWPJGY4GWJA0KK36DP0QB0G1RZ2ETZ73CDWRTLX3T80ZDWGJLS0 = -36#131ITKXIBIERVRJ3K0NPP14GKEDFLEEV7N6SH4RPSX8IZ40K2O * (-36#CIQ6SEWTK7XWQOGU6J1D17J1MSKOJ3Y7JUN52P4AXZPS6ZASNVTKD8K9MW9LPK8ZRA5E3QW7Y646DNBH9J3F59ODXU2A85SRJQ2CVE88CCKZCMUP8DE4GQLNS5FY2AM1K5M28RFWT84PG2SM8FM277P2AITZPOT1HON0QYBIBTHQ5MGDRFN8SDNP1RYX0P6YE12Z7W16KAP1ARFGZT1IFNCM7PV31GX1945IJXGD78PDKLD9EYD4LNRJLDA6I0SNEPIBD8P9KUIVT4ZA30E3IGNXUFD87BFXOIKT2TD8FP7Q77TBX3GUP5Z2JJE9OH1DTBK3SOY5ORH2MJDW1EYI0Q30Z12MKFI6MCQZ3FRD4DQJ4GXEE6J9ALC0V7FCIAHRC45ZFXKCO). +36#2N1F59QTTHZIZ0TSI742Q3O6NZTQXX503N3YP4TVJWMMSRSUSA = -36#5HNVJ4DWZF3ALC5T9BHSVWNN9GK5GMBIRUPD1Z305IUSZ15B6ZOS8L57XXQRDJ5KJD3SW0DPZ17EJUAIQNOP6V7KPKY6NY1POGY div -36#22VF7TMRFPECEYUOOFBN5Y1643K6FSAY21ZBG2O3G8YZNIV73P. +36#1L70PDYQK4WF316PN8X6IYHB8LSWINSS7HX9K9RTKC3URAAWWQ = -36#3JBMVJV0TQMHC6NPQO6DTP68GXMWHNIRL7NWO0ED4M01OOGX9L1VDR078KSDLPBIZ1B0KTUBEDG6HJ57Q9KL5PPZ4WHOC0D9O7M div -36#28523JXT4Q63MEJCLC9FUCOB2IV8M2UDLGDGFYZSN5KY7A6XU5. +-36#3HDJKKKLOTEVF5MP97LSK3412C7TDC89U44LDSRAQ42FR5JRU3FS2CGP1934EZ13DV03563KI37DK6T9H2J4XUP61H4KFBPEC1WCQVYS4WWNXKIHVI3RAF9IDLLSX4MR2ZE9PSJ6K3IWGKJKAC17X2ECQZHMDNH083SWC88BYVIVB1A27LEL1A1GXQM85Y7MN4I4BAUTWHCKC1K8ESIRG00PTMOZF17WLRN8OX1SAZHUUU5OEYP9A3O04EPIAO25MI10GVOLXNDY5FO342S21818LKR4DEAJFW3CGFK67BRST5J1QVT9ESLEZAWLXSKBHJQQUYKNGO286AADEX8SQ4S815FI5EJULRUT1NWU8P7R5QAKCTUEHC7MS3MN3IIT4BB0KYAG6CFF8G0A7TL83LMIC4U40OFKRP0C2IHPYLXGD125EZHDZ41T313NZTE9BBQ56DTRTT3MDZ3D7HQ2722ZR0ENW5TJCKJ957JNHNVQHNT7JVGQ7KPVNNV3DEEXZD1R39ASH69A1ZOOEP0R6C3AYR7B4SYC9R4JMGP8YLL = 36#6V4RLF4PAI6TW8PC7J0V28ZCIJAK8CI30EVCS9PTC58EDKEDPEJUGX0KAE9EPAZA8VGUBV0TR0Q2QPUX2NS5KYBY164M42N5JOBYOFMGBN8R1GREN2YVZJRH2GJA3SRGTDRLLLCR2VUWZ436LTT6PGXM8N1S0KJK2COY2M66DXLODSF822II4GXF5ZGQXSYQSGY25G5E8FVF4KCR1BDZQBCFLQWKJO9XAZH * (-36#I9HPLGIQKDN0B96PUYZP94X55BECTTKS337W4PWU39O66X6FJLZRKQT9UFICQ6X482J1H81NHK6RX9PKI043DHHCLX1PTGDL55KTXM47KQN59LJPPWN4ZA3F3IUB7FMM717YY5S3Q5Q7PLZHJMDOFIP5C85O8G0QL8EU8NU648LYZTXDMKYAWXMU02ZTR23DYXEZD6KMV2XUBN9H91L4ZJ5PLUIPO91DE3BW9I49LOI9QNSXQ6LAD0ZC9BJS9R2TF9D50TYXE1KDA1JIRYVXUYNL18RKMJTTPNTSI2TMTMJEER771PKYY64UQQOZJX9UN0VUEWFX). +-36#ZWDKPKQNP77KB1GL13KMR54PUZQQ1ISOM00L65TK93M5U0NXR = 36#2DZO3V73KJXG6BGEJTH8DP17V14EQEHEH8YS0WRZ72OJUAR2U1LXTD7RJJIPM72I21PZ7O37U4Q0LE4OY7OJTS1JBKVX5137S90 div -36#2E8CIMUH62IM9O5B4A3UYQTJQ3GX8MB7POIKGOCPNGFAQ3Z724. +-36#YSADJKEWYCEE8GSHGJ92GFB2EAORAI0XBWMEZVKWVAZP21FV7JVZLD4MI8GXJBQ7ZS52A5O0R4E9HUNHBWS6JQ6MCS82GJUXEL6DMAWVCP101F9SL2T08PCF3AQBX0712RB = -36#2L28K3RURXV8OPSP4248E7D13LTP6OO0OP8H59GUGAQYN4SLC92M0VJ79M8J13EG2YFI8SQ16B6YA409XGWKYRMMVR5XC6COYUDCS5PVJ179LVNTS1O5XCIJZSS5UWEHN3VRFR221SQAFHXYYO1YLMRGQODBR8USA4TBUGUR19V51TQ24XXN3 div 36#2OB6GNYNY11V0CNNQYY5Z1O7WRPIDR607FP0IIX0BG4ZO1CG2X. +-36#3XNXCLW3IO7FR5M7N2FW1J8AA70JRCT69PE0YWRB5LJ2OGZRYLB4JXJXFBXZYJX0R1FCSR821ULKRGC0K443S2SH1ZFTKBZM2H7RUF6CXGQ8256MVZGECDHN7KD3IW0UOUMROFQSUKS41X5EY3061NZPFRIC6XPVY440I78LP3SPSH7H6LDOETQRREIK74LH9TE5ZFFUXAP3XWBNNG93G3KXAY4XWD8W61OR6SG1TG4NPYU7DMRYHJJQE8JC6OV961KLINBH8KVNWELRFWUW8IG1YPHWMP5K4WAUUY5IM0L1TCQJLQZQYCNYCQAAA1P80FKCYPUW9SVQB2GDEHZ584DKRW98DL9G7TAKVI8BUD1G3WDUPLUMMUTEFZ8LHEIALBURZED68ESEJ3TEJK99TBD6CPBNB0VANKLFM7ICEGG8YN2U88Y7258TCQG1TWC0XHFW2DCVOM8KQ3B6S4H75 = -36#1HDHH0NG5XP8DP93FBS1FBINB4JLILYMUY50AK4EGBPD3AC4XL0GJK40P7SZZ9KEG1TML0LRKAOJPTLI6HPJJ650UQVDWWPWX2RS4UTCKV0U8GONCP2ZS0SXDRL39ACOIUF6X735LTT0LYI2G34FY0EOPSDQLRYC9DEMQ62PQLL3W1WRQ941MVN88Z8B2ILCCT7JL8JORXRGZI32EJ6F1ET0KERE24049QWH275XTG5KRTPCAYUFO692GAUB4CCLW17GZWH3QSLSWCE92288Y9HJ1FSDLME0860SW59G7JMFQ4H9MD67349XA4CAIT053IYUBDWRY37ITSP5V45W01OVP8DJ6GLPZYSSI3GGUW4T2OQHP74SIZK46MICM3XGEFIQAQT4KW233JBCCD21KVH15JDTW9U7HF6Z * 36#2NJSETX1APOY053NU4B2B74ZDJ71DGZCBWAWP5WM5L0YWQO8TV. +-36#3ROPI7WWFRWFKVWMIFNUA7Z6ZY6V5L9KB39S8M4D4FAYFQAD8 = 36#ZQTAKMYVTCBOBFU15R2KWVOG93K40B5UHSCHXT4EREEPAFUTUC47Q17G0Q44UQHT1OMIMKFG9OACBX6JRDVR7CQVE3DFF74TH3SJYJ44H2OH7FN4S2NIB8KP4RELYGUEMC7LNO2T4ZTN2GHQURT82BAER2YUCD0N9PRR2LGFQJY7NO3UQBR0KEAAYWQQ846PN0I9C0T0P3H02Q1FWOE4WGD8T54EWP4G6N9WU48BZMGVUJACPX77YE60GA6QVNHOZVZ8D72NF90TV5OAX6TIA7JSCPYVL7UQYX774QZXV2TG71P0CAN14QZ4TBANKK74L5SU6R4H1TFSOLZQ0P2LMWTYHTLDQ7RAI5A7H5FVKBOM79B3SVN7SHN82EC4HK30BPO8TUZJBHRXZ8AQUIJN555X3JQ9542D62U68L02GCZXXHMYP1WU0NZDW7ALCOYE7QYKTGHA9Q8XK1Z16AFHXGC7T0DWN40U8Z6LYRNGBDDHUUSWGVAWETJNEOA6GMJU1W6YXCM0 div -36#9HEX9EYCNJQD37ELGERIARADKSYWDTWNF8BMUM6Y1U1HVEGDEBUL6V6LHL5LCWM3HJOVRSIPNNA8CDZX1FS8GB9LY7GZOEBPF2S9PJB6XDPGXMM3J2M65TZWAFSR3N9HLU2HJOPE0938QLISV2DDD353O4LC874KNAPNCJ4AECEVWNLR0BKAK366U17APH4DMZNJ629TDATV8G615MQKOIQOMP5HXK2M40EWTGOON9RN58LGPIENEEQSODE3SICVSCSA6PNBUP23FQW6V1OO2K1PQ12FYSC9GXAGMPFWFHEXYQSZFFUUKY7C869KYMBOAPWTAOMEFERNVD94JK32WDN16UTE6GFX5515S7HS5J1ZR9F6PGIQW6XP1OIZJMKPRUOC1ENE64KU69VPCOJCRW9XJSLQHXW3HU4WYPP4AEZ6LW4RKCYJ7XHJKX99E979XMZ6KMYX11RRF8RDZ7OF5YII. +36#V0EIYVJXZW0M67IHUOYRFSZXVR969W71NO7IAG42NTH36ZS7YP613L3504L1KJWSPNOAROXV93QNSR9UH70GWLCKK86WI31DIUAVG1M723ZBIYU4D28QPX4972SG3WA317M0AFV0P21TOQ3HH8A1WK7F9VRYBUJJDUKHP67VWL9X39ZDIJ78WUTQQFAFWOHNSQTXP8PYXLUT8FXA4YNVJ56A9WNZX3DSUPC21C94KPO9AYUZFYTEKIV4NJI25NIGXCJ6OS2SCK15ACUJMCS9LM7W2UK0FK4FU58O8HXBZ7FFIR2002GLNNR13JKDLY9W7RZEXS2GU5DISXZUWUL2URVANS0M8UAWIAH0QTOM3CQ5BAYX154NO4UEWOC0GJYTS73P409WDPS09SIQ43E49S8K97ZUP3ORVLEHUTC0P4KESWWQIL1AA3YXCTR0X38K21BSKRATHFOM4ODN3H9 = -36#6F70GU4XURH4GPHKICCG0J95E8O2AHE13KNXCV12WV92IY1P4WY9EL5O76K9RDPQSLLA5DMCVRXHEN8O5D598RR9BB2QK389AIKJW5GEHUT90WJ7PQ9LRVBVQJGQKEIHUYV9Z2ZT9QL285IOF9AMFJGX0F8TOAB0T9NXZ1SHMXVA9DEJSF9Q245M3O72Z90TNSLFONH34LCTL1P9Q9Y9GPZTABGUQ8PZI5HUV8N1ZM6KMVEURUU0E7DGDM8VRLV6A5ANQJUO09YHYXJFCLU79AC6K9K76PQ69NR8EGRDMRVI04161R43IOENVVHPPOQ6JB1PHDE9PH3SNV3CSNY5MRR4N2LQR4EQQ5MGCU3HG6RCRB4JMRSYNY16WUO74KW9W0T12T9640H9Q0UEFLABX0EO3W6YSRQRRT88A97RHGPV7LHLBLHN3YC7YC8PRTZVFGWG152YV8TGGQ22VL3LU3BAQE4JNBWI21ZU8UBZ6N8ELGDOS3P3ARUTKC3N1TSNYS6HJIFIAP7U8FHIUH51S02FCOZTZOGYTAVNYF91KUR56F3HGFCNAJMSIKDKCL8KLGYR1ECKDW2C0F83K3UHNRLRIIFVJQYZUKV71S5U9SNRBZ910DIU7GV9ZTDGM7QP3FA60 div -36#7GDXVCR6FCX11O3T7TSMJ7AM4WCGXUKPJ43KGEGFOVKPCEQRAJ3MCJX0EK050Y5XT9S150VXQX63TPBRKBYKKG2NB91LJJVL0OA0C1C9BBJDXR9URE8NDBM1VETUB1KVT7W3PY52DM1BI3EC4X07UMWFYFBB1KAY67V68O8RSO7ITEY654. +36#2K0TEGB10OTVNA5KDO98OPNW1SL72S6WUPD9SP78QWEEU7VC43 = 36#IZUNHE7YIAGBYWODYXVQN5GO2K3QKBWSN3SYSBVU2EGQ71G3PYU5SN0NLAJ431VSKSKMCWR3B1TSPPJPUF8O3X3G2EWQ9IAKMCM0N19B70G60Z63CXEU0OJIFOQHUA96ISDG5H9IKKM5O57AABORXUHFVWM9D2TJMR5LZVDBVCWDAGKC8W8I0E9DU4KVL64YKBLVC1EPOFT5NMLHHFSVKIRMMX27FSEEJHLJ8TIDWBVB2BFWBP7518P9ICA4AR3XGP8T7Q06VCDZZ8QTKWGLOMU7RRTBE3UKRSX2BRSZBEXU3PRVFPV89R68R9WT8OUCOEUW6I8JUB7ZXJRUQP2CO8LZ444RAA87KV5WLSUK4ZDM8U4Z3OEFE3IU17ZBR4AHU div 36#7FJ0DYKEQRYXUVIUHLFL0GXZAHEUL2GKG0W2EW5S2NMIVALMYJU4LZGZ6SDGX6WM2484N1Z75PUFY5CX8Q3YR7UKOQTX4Y063IMVGO0532E5R05SGCVN06TCG4CYMIZ02ILALTFOASI7P1BEL7IHV058LYRMWD65MS9F49YCJPOXHBG3NEOLAUP4Q4Z51VLY8K14DDQFALJ2MPA8PPXSEQ81Y4A4GLQCXGS60FWJ04EBIMR89Z6UBF0KFNWA3MFO2TJ3420HEBQ54O38AUUU6C0QRQBBJNVB8C8GQKAPELOLB5QL2U4AVAW7QEJT4Q39GEWFYTBO6S19W2OM. +36#4Z5ULNU502NI1QIYMJVDTBVZEK8VCXSJDC5SK1SJRDLA933LK33VBLFG2Q0T59TG98USQ5YLQG6FBFGBC2EQ2D4R8MM8BV5RZ5W12LH2GRLCOC1X9V6IO34BLD1QD2340UPBY4TWSXVQWYYBYGYA0SOYGP35NICAN1CUEVTJYBXUQ34CDF7ED2BNCK39F0QJN2TZFLQDS11465PEBPBSDSYTNTGSDLWSTM81C9XGTZTKZGXU08KNX2W9P5ZENYXR2WGRYZDQTW2CD5N8R4Z4HH3XE3LGUVLH719CDD50UU815Q10HKJ1EMPA8CVWUIJH0EQHQYWSM5GL7A645SIRQTINTNU7K9MGLM95VFRI0W4D9NH3RBJGXEO7LOYRJEKZA68ZJJ7IDV5FUETKV3WFMRK67O51242VM26V55KN7XQCCLDTMLRX0AJZC = -36#2JEANVBT6W0BZOY6A9L79Y2IVAM9FCIVNKH1D9ODJGHFWGYWVVIVLO68CSEMEIZ18PZHQGMB8ACJ2APDX2P4UWIN3NIUBY30LF8XRES4F0O5WDW7SHPROWCBMQJEVJH1IUXXF50EMVI4SBLPD19VZUHGXIJ3H2JMPVCK48S9A02WO6UVFXCIG4ABHZZTLHKTQCPCNBIBFXLXFY2X2CX93FSF6VJN7INTDE1L55SD8QEJTQUM19BBACKT4BZT7G57HPWTJ543DHKFRHHLDPAPHM70R5G6CVGM4XBBE1COUAIYPHQDSI4VHO1SX0PATVXRP6BF8MLYM5C2DQ3UBWOCA4Z6GSPO1Z86NQJCEKHR86BL3QSEXGVZXC0O854E9CRHQXRBGH5U * (-36#1YKI37XJMU75DY42CQZB8NZGBJMM8GLS36RBD3Z3F44A658O44). +36#190LEIALV70BZPZ9V4IZOWODA8A8MW78OGD2CS6AJSF01OUS7Z = 36#L8WYUTFE1HZGCKZ7NBUA2URI0H6LANICHC3PXWFDJBIEHJIBA9LVHY6AN3X36V3N01UL51E30JB9VWKSNH7GW82FUHRPHNK45E9S9UENR09X441PQFK8KZI8QAA50CP9025DJD51SX2FC6AX0124CLY4SKIO4 div 36#GZPHQQN4H4ZENTMY0VYP47BDFCVN3BEOGC6BUJGU9HPREITUGELI3Y8490MBVSKSN276INMV4RK5PC5IVHHRJALI7W56NW79E79W3MKBNWFW. +36#88D6ORM5MASIV2MQZQ8UU9XYB7AQEWDTY6RCPYI2IRJX7HNVJPTO8XH2QGKGQX2GC1FFA0V31CUOE1HRDFPBSAKP5IXYSXY23N3A8HSN65U6VQ0KZ5M5OAX9Q8BW0N0C9VR6T2ST5A4INTRW1Z5SYXMM59Z42TEFBOLCIQZEUWXBTC6L1DZ794DGE1Z97L8PTDHUBQI0IFD4YEEPF86ND7IFN44QFBGJRHG47DZEMN7G563XXTO2JA6KNM3MDVPGY6ZQHRVXE5KEXUEKIM88YXTJBL9YZ120M8HP8FCH9DI2XJGF18A4NHS7L8S8POJTGLGZJHACVXKZBOBHSNM0IIKGELS3EZALKB597W3NCIT3Q7N8Q5P3NF2ENXYGEIU54XPL06DN9P7TH0UF4BTEYUYSYITUJE0JI46G2JU21AZLBJINK6XB2OOM2NFGN7JNCA4MARLNFNBHH6DTC9DV3OIPACITDO0MMZENO2AYU8I5RLAPY0P7P817ODDHZPQSW1YXNCONVSIAN908ZPMIC4Z3EW6J9ZV0O0QM6N47NDNE7EEKSG0Q43PTJONNDDI2VGZJ7C2XKNPHB146BQW5TOS5H97C65UE2QXUKFNSTWIEBH7PI95XP3MBE70OQJ0G9UORBHBV35BW6GS14CBNVKFMKNEM6JDAV9Y96HEC0K14UVEEW91A3IXMKTKZSGB8REHZBDEB36D447NNYHAI7M850PB2VTERRMJHVJCNGTYD2F3WE1Q4AWSSJE6MR7T4S2MJWOHN86ZB8F85RGEP6UHEJKI84G386R9YZUN4OUO9P5ILX1XOJN8CO7QC6ZYXN0G6U5UX4L8HLMTQQI3SRGS6K3YJUUDBZ3VRI8MHDALSFZBKPP0LIX38XCTANEJ55Q4HMQINQCECX76168ZTYHE72K3COCXI9KPQP17H36LWXRKG7AMG47KYJ01U90GEGTKMUODNWBGVH6Z68MUU8FRVHZ91SUJY17RF40TQCP7NYV2ITKH4WV8N5OCW3CG76QL9XI58N12BCEO4JVW7UQFGVSKJAYF11HEZNUMFP26MJAPZDLS91VJK5HN06EDYMP5DRI3MOIBXFI1RVRQNKY1WFCQVR2HJV4HXM4WFMXNGVXUQL7XHOG0AMITX0A36BCQJMRIBF89JA3MXEJ4T0UN5NGOA57L7EFEHXM9FWQ0EMJIYK99BMOSHQ9G4YFPKD1H5LCEXKG59S8YB9LEZI29POBKO1V1XVXUWLZM5CATXOBIUNF68HFC5YX693FXS6GS6S3WHI3XNV6YF6R6490CDRBTO2YA1USIQQJSGJRDC3108XLJOQ11A3MQ03J0UMCJK04HM2G0NXEN2479CO2Q7AV728A255NJ21D6KXU7AVLDD3FC470JO1R5ZPIORBQ8ODKT0J8LELCBT8L0FHDJB6E702LPK3U7V3FD6S13P6Q = -36#1V3KFAB786RZUASN0NV3SSSO932JSG55HUB1FZ5E7RSNQBNH3D7SI6JUAF5SCXFG0DQUV952IXG0Y2IV939MMBRWYZAVKXV6B34HH0NM2FE0NX14P8RA6KGJI125C221REHFEIMSDGJM1WMF5SFQM9R02U0ILWEY24UL7BVNFM5KHX6ADWRS2GCG8N5YLYQV8N0OM4RJVYV5UQEXYHLIP5FY2G32977II4B0GKBLIYNB234WC9ULE6CNB1LFT9ZTJXP454CC80L095W6QTAZDBD3C395WAB5125HNHSQP7QJLIUS4XFN88PJMY4W156V5LBVJ7Z07BEHP639OJQXVC78RB7T0G8ORDQ1NN0BHW83WWXN58M03SKB7SOW46NO1TTVRJX6GPCNRA9NVX2JZKB8DGSZQ98121F5U3KX0DTBJVFZCYWFAJB7R02GNN9P67KH5S0W7CQLJVT485W7WII3645CX4LF9O584CGHB1FMM1NB6EYE6L6J6T80JDN200NHXKIE3OHA1M10ZS1XLB6KZOD5T88SNLM7IPI3H8HE99RWYB042OKZ778MCV1F4UWBOGZQ6CSKU5UQCA2OCG5VWKK6TKNIVBR56U6S3H * (-36#4F08AZ5ZB264PH9ASM3YO2G7GOLR0UYU32T4P7DXDHLULW9W8IBIW9BTWXYYQ3GQ1U4BCLNNYW6LLAFRBDZ0UQ74Z7VENELWGY51958ESCJ9FNG17KU78UUUK07TG05V9I0EIMYDNQNJTEJD93R6VE5P7ZP4273G0C0VY3RYFHSYEE5SNPLS05J5IN9PNSXQS5293WGGVX4X662PJ5EHE07QR4VM5QIFXSFTF1BO4AQXBZSJ6M065IIEZ2SSMROA8PE6F7PWJRYP48YTFXAMRVW0CPRGZN2I2LULZEOO6N6TQ34JL5NIL2DY5J2CB9ARNARG6GOTOBYNDDGQPCLRV2BCPGP1G0LDIUO17L5M89WMK735O2GXFB93KRJ2AZU4XXIZGQO2J0HTXJDBRIZ2G1CCX1B5AT7L2O6YNV19XH8B657K9SDDSS2WICWRT83JB1J3VB7XMO1HY70P29RT11AFIQ864QVUZHXJNCOGZP7QXY1JOAPKDWZB7IJ6N3ZFYMMRYCZTGO42LVTUH80ULZ5B0W2E34H49G8NA01WGZ3RBRTO353ZCVIVIYUTOE9OTIWQFARTADZYJU6VOPPE4OUKYBI4BTQBD2J2046RJU8DEJ3XAGJHANIMJCZF12E3WW95UNRMPAKQBK20S4RANBJBQXF7EY1SLYM3JJR0QDVFM8M5ESUKK0QXVWDNSTWS9MUVD5S5F924SDUXLTVWB6PACQ6E98BMZ29B57TDBKGJBFCS1LZM1KK5ECFCYGIEK1GACHZ4Q23SCBNJTFA70FJ37T31QAHBVK49HLZYKT6LGP277PSJJLMPBXL3J7D8W7BSA). +-36#1G8KSYH4T1XGHS63MPD7TECYWUW9YNQ4SZ8ARP07WGUSUAI2H6WLN3HL7PBM6476L6NQWX4ZBH2WSNXNKUJ4DX79LGVGXXEGIPVHLL80BDLU2HRDVBCQ6GKYGUZOKTTLDP1T5BQ5GRTPODLDR2IRNZJGTBN1G5P5FJKJZOR5I5RFVRL715US42DNINMJN2BMX30AEH5P8J30Y0QPZXJI5PEQ15GJKV66MANS24ZZ0AVUZHCTX80073I35O44W3JLFPBOJD7UE12ZZHPELB7VLNIDA2XD5954HXGMT8QXDH57HCP2FVKKD8JZHCPIPVPENN0AGGIATD1SYPOUO94G9UWQCAHRO7N9RHL020OZM10NJMQS2 = 36#20QQGPOJOK853FP2XU7K8JNLIZFA814E5DFX8UM57ROVXFZJFCXUCTO3FO39FUTAKQFX2ESCW3XWXD51O1RAP99XP52P3TUSBUVD3MCK8WQVC9VGMD12K1MAA1V0SOR1B6G4F1GVBU8C46JI7PEI2B2MUR837X1NVSLINJYRACP2AKT71I8L89HDUILQXLN8LNOKZ7Z5Y77Q8848WBQ756I6WF284J3EMQVLFV4NNOGSJDQOBF46LUYY9TPDT6OSQNFPA3RKMKTJFMRE8FH17NDBAF31AL48Y71KKC4U1M3LMTRUZAS361CP7U8RGO07 * (-36#PUOTFLTFN2G03PV579VWSHBQU15BSKQ2SDCZ5XZOJ5MV1GRTQ). +-36#1UGW2GLKNV7GXFPLJ8UPW7B8V4ZOID4R16YWOWXDL5S7UJX074MQEV1GEEOUT7BYM15A04TJAV2QRSUNHZBBSNL2VBUCUH5FTS4SXKJUYAS5QWT1IEJXXXERD02Y3V12T3EVC0YTAUIDT13MF1XZLN5LAJS1N62PSWCN11KC3NGAGFXT0DHJBMYW9KH3Z3Y9TM = -36#J4EGPKKIWFJD07T6Y1192FNXRUTB184D0TF0GQJ9PFBLRWJ2X5UCX84QKNWY5FEI8DWKEPQZB92V2AKXTSQ36JY5O98B2V3P46M4BJU2K7C8TE74G01CSP0QZWNW89WHDVJI5F5M5BCNU5X2H6HV86AAWVNTH1E7P9SCJJFHKJMC6IVDLR1N89CQQNX5Z24C6POMRKC62S0YH066JK74DI42CN1C6TVM1O7F68V8UPKZSXVWDOUGYXL6KM9EL4TUI8HC96GTNEZD6KNL9W9FTW0YPKFJ5SM8YAIX02UOJIOE0LCS1QQ9W54YIK0JK6CG7PPSP698UOV4F80QEB6D6Z2PR1RW4SOL7BNYQW9Q7HWFWJBXMATW0PU9UB450A656SJL5ZMO8N8D2JOZDPAOZOA0AUV17Z2TDI6AAN0Q5CUQCT0FZI09LAJDMVXKMCFTJFRLLR1CGUOYZUOIWPKXRKPSBCL5JY5XK8K7QX1A35KKMAF50SJGTHXFT0XQZRZTDSJ9O9S40JN6TGH8J0BQH0C8FWCT2MJFJJEGUY4W85PDYMDPLRC5E1ZFVQ77CB2OVJIHOFNXUVLSKE96NARBCWLSEJWZD97D99K0TVB9ZC div 36#ACUAFK2CGQH6XH5FCKN4VGCA5F4ZO6JDQNUH99XRKGLA5X1GCJX2J6S6JATA9BSPGZRKKV421Q98ZXTR8V69JIY49473OALFYT6TV958XSDFG3A1JFLBKS1PE1YCG2FXVQ495HLXCCT162Y6TUPTLEFL15P6ERYABZ7S65YII2O0S3XUNHAPG0VNFI1D0TZQDJDW3EQL3PCWEJWYYEEZWYT073X54782W0XHK6VS9XRYWFZJFIPRLDRXRY646NSNSDB2FKEN88U5116UPRX3Q2O2VV9JJSM9MWDPR7R5FD7JFHZK1J1BQTTRTR13OGMVYZJERFCETHIAWKXIY4VWUHMN22TMQVTBDHC1B0PXLPKIQPI4OV2HEVGZXK48R2OPTHE2HBC0KZGDIO3M1PTOW1WCYWIKM76WUXTNO0GAC. +36#2KCYWEOW5D6BVKKCZHTJAZDM0239XA42JWCTKYGASMLM6VQKUY = 36#53AXVWNJHOLIIE094VC9PZ8461F3LLM3HJUWYJO2Z2N57LCT7P66GJ6AA1SL1VMK0KR61TAAZAOQN175BBGLW4JRTSMWVUWLEA2D7EP9YKE2Z7C6YJP0VJM7U5VAGIG25TXCT451ZNQA3SSIIHR1T67EQ0FNQJRB31B7JD18ZPFNTRE0ZMMKWXI32RRGN12QR7USTVTDKV7BQ6KMEZIKCQZ908C7GRZSEKT6BGP9CKN8O602BOZWQVJ11AXXWZOBM8XGLDAIMOW0OVCEEYCCTZL1PUZR4OEBNW3NYVS0FIPBTKKQYMGUKTN2XMA4UTNEPRKC4G571T9OH5R8XX5EQ02YS7UOBPGRVZQJJJW4F33EOTTXFP9LXRD47VMA36SRQC62MC3PLBRTV22VWWXR1BVH3XFDY1XEB5PJ3NT8S7LTJSLOSUW6WKAR3UYYRIZ8PJSXVHJX861RUPCGVZ3ETTQO9N83BF0PWDSUMNH8WUI0KCRBALY0YSQTZIA8H3NI1Q4M3JKW9I259XSYY98A88VWAGTNZ9ZHON5S4GLSXTURV0CHIN8SRP5NU0XI8OLGF40Z3CGXAIS2N9CDO4362NU6XXGWF3O8YAJYM4JH5KLBROKCBOWMD5TBGP5OM3TXLVSY3BNXNSOU40Y5A95DGW6SGQKIZDLDBQO4VQFGG0UULSDP5RIX024OMADBF1WAMAJ2NL33TOCKRJ2NQI479BGJUC8LAE852TU3KJD06J54NTCOGIP54US1DLNWFVQ1VB2UBMVT6SC0QGFRZY94RSNSQWGGVWMA4K3WNRSIJGN5CGUOOLCI8DNCYUXVM80S1RK40HX7ATGWAFFNU9AWX3UUHPWI1KF42ACU div 36#1ZG4EFQ8X13BTJISVGHD2DBED8DNOC7ZBVXSLA3ZAXE1LZB30P2C9ZZMDUT43P6NAR6SX5QVD4N4NDQFA0KNMFAUD9Z7SI75WAVVJKNJND30Y2KVIWKJOHPC94GJG6PPUYMYRN2RRO92O5AQWFE5ZJ7HTXQN12DXZFILM2OVDY5AQKCWQ3RDHZ9DUR6Z8J9BIPR8RZD87CPTT3WNE5A9DGH9CEQUBD38FQJBU17VX0SGP46AKHXEHD2ECZGN927PNB92N3ICHE8E3HDYAUJNEVUJPNSBA9V4TMV5E3XY4Z1CN1I9F3R7Q2IC10JXJ795W6KMENEHD2MUNF76H8GHJ9UUZ652VBA23IFVVX04QP6244PMRF3XNF6BEMVSONVBJVR0CYAG4Y67ZUJTROXDYP3NT7NIPSAWZUUYOL3CC3IOO0Z75JBCV880TB2VLC5SRW3ADAJ22MM12I4S54RSGDQTSURFLNJY52SVH8NF16YQVDVXRQ0EIN8L9QGH2TQOJ6NJP6VLARHIAVQG0GV04MMABJWAXPWLE55GK28SY22ATJURFLNGUCS3FUI8D42NLIKTF3QMAAJK3P34YJJ2XEEF751Z7K7QRNU523IQZ3SANU3SFMX47BISP2TG3KALVBYJXMD6OCFN8YO3L0UGIET5ASUU0ZU73Y6HYMYG7U7KQYL7RZMI73FWSN7DWKITLKL5R02CV1O3FNBW4E0L1SRWAOV8AGDBLWPWEJZLXGZ4T9RB9HQJL66EFUQDU2WYBAZ9R1N641AWAY29380JDTB2KSOWIASD5R0PU4GTU8NHHACMG43. +-36#T0R2E8KFO02LD36F75D8BLOFTKNDA0CL64ZRI4P9ISGDIWPB83JTTYE41IW3V4U58R8PL3QXCZ7H5VN4FVJ15BL5UA7WIAVY377T1REIPTCYH1A4L1CS47JV0ZVKGF7D7QXD6M7OLJ7NF16IW3WRNEJ04EZK5M5NQHQY0C6EXO9YPE3QEZ7U8RWYKOPX9QC9NJXLKGUSEFTFM2PJ5JEJN4L0P2RMR35KBEJAGMYWC58ABHJSHALWL8EF0L53IZV89CALH007DT595CT6X79A5B5OROEXQB2QWEZK2TVIM56LXH8G4RJAAD8NVH8CI2MVR4N3S1EOU0U8G5TAS7CFMZ8WS0LUWWSGURS94FVQOS7B87J78VJ82S8VUNJWVVXSW0QX3ENX0D1OY3MYCH7EFJQTWF59OHMH5Z8VNRKW2LSJUDHCT1M2AZJIHAG2V732NJ60C0IBI1KN0HRLD46OMCUIAI8MYDSEYCKE7D2O5XVUL0D3SYZ98XDZSW4KM9LX5TM7ZKQLHYXEGJ6PB7TN48OJ8RGPN97XGQ6N4920X8KRISO6RACUQXQ2DRH7IE94CPVNQJF65UCWQBLQ2LNGHIHPJY59BRXXAH0S84FIQ8BRB2U6NWV6JFL9IIRPF0WWF1EIROHOZA8JWH266MSAFR68AJE9E39CTXFIXP054WIKZH6VB8KZA1R12UB3QNPBPCIMAG9D7GKE8N0WN09KW1JQNX3VURCYQENSKVGLPHD3SL2G6R1N5BE369P2FZPWN9X14M6YCA451G3BEAIPJS0GLDZH7ANNQL9H36XD2LY1ZQSDJIO9CKEDVPROVDXYM6MFB7ONPCFCAS5O6S5WLJ3WRWI15XX4E08A0L86YQNV9P8PRSVSAHAFVL5L49YSPNOBK3ZZQIFUGVMGWWOL9Y30ZJ6RSRFII1H59M8CBLS46KTFEN695CS7RUMB = 36#1Q2OT22H1VAD0OHGXMET3X4YYTVV1DFRC5BKZHS12VJCFLTN9I18T70K90FR87VXCZ5GRJZN2CKWP6A9YQ6V91XJJLT13MY1XHZ79E8424ITWE429LBLYX9R3DKW573LHPRJLSGYNUF97M0LALC5CIQZE31482OKGQ62A601HEJWQ0O1DCMFXOZM8MUU73O1PG6A3THFO2E882URVC3J5545206TBL02RDAC7SJFMAIPGB9ER1DQTPK408YAX2MRUUS6OAR7XH3BQDB9MLGXREO2PABHB887PZCI5FBIQCSX6F0IPDS9X4WZ2D563NMHXEB5J2J7K4XNK8J6KSRJYLYX26B0ABH962XXHUE6AZC4MVA6QEDROI9IPPBMXAVXD6NDI2U3ZB6AD7HK6TUGXPYD5HQ7MOZ6YZ38MJM0UFNK0PR2S60LKTVN35RJ67GSZKC0KPX1CYKB9FNRN1WATQS1W6JUQ6CGHCXLNEEW9IF4BE1RUHL0IYI3DKSIEO31C7VDQLUY60OBCUO6RGHDJISMPFZBJE48Y0S0ZW9GUFWG90F5JBDLC3VK0OXQ9EYZKSCDQHBRE69DDLOPU99VBFJ63YFBJ0GL6NU94XY68PHECO2FWG5SBMIE73TC1TU8QARZ6OCCSTHV4D51HH52EHRHMJUAQDX63JABCRAKXTYOVVPV3N15YTXUAZZXX93Y1Y3G03NJXQ2PYPG0SJWUSUDPBKY2KYGTX2UWHQSSDQGJYJI1NZMMSAHQB02EJYFZXBCGOPUZW7J1UJQPBKANWNCTYEBFM7ZT71TLFHQT9TPM96DUH9MSLJ9B0GDL37XWI9SGG7ZH6VS05VLTUGFAVXAZBPIYZQ4PS7CJI0318C4M1S5BJ8A8FPRZFN8BGUSDUJK4VLVHJ3B1UK3L87W4Q8472DK417W2Q8ZR1I5IXB4UYHFQ2N6ZHEIQN3DBYDBCS5TB5PZKEREPZDZP790QECYLXNAA36H291WLDPHQA9VCAYWQ34O79HJG2XUI3N1KLSCV16QUS0LZ5RJPCZE53Y2VRK8A1XNL8D63FB8K8I2YFRMUVPHYF7DMG2XPXTHF5I1KRX5ISWVVTJKUZ366NPRJ5XYH9DNFUL9VV8FKQ8PXG06YPIKNKD89TGQJUWF3MH08GZXEFZ7MTUDC80N5A3JFAOF9LHTY6CRNQCVRRPYBAX32XTCWYWQPYOQUDSTAPY3SJICTBVAUJ6K0EJ67H4FF9991PHQXNXQVNSUDVD02PWSU5MAKAUVARB6SVU5NYADD61DFT61418A4IKZ1AGP1ML6WRJ33YK4PGNI41HLFY3SC6T3RPWVCB808 div -36#2503M62TY18ADJYHM082VC7BT2TRDIT9PTZTKCJB03GXGMQZHW0Y5PGIDBM28WZX6V5PE05I5EMWP0KS5WFRQ8SKODLGMVJAELH22JVJS2OP3BGW7DAHJK0C8YUTOS1MAVOCWF04OCT9OJUS37G8OC869V08976Q3W9Y6EWMLWJI0AOPUSMG3DQASNK08E71J70G2CBO4RJ3VA5XEO857PVF2G6GVNFHK6L7Y1O0NPDWWV55RBG350MB9D2172EAIW2WLDTC23LPGZ3C5CDO0I4NSHHHUJRR7MDFZIAU0247FUH4994JPXIVV64LGBVCP9UO3DEP9DWRTWC2ADNATPNZ4V6UEUV1XBE6080OK5NC7KMZFXK9AHPJFPDNOM54. +-36#4AXDVV1SPIN97CRHWQMVIZOU216HZJ08LA4KK1PJ12DFTK0U8MRIAYU16EZNOWZUDFU2EXXJXEQXYBKJ29HIWJC64SEUKEUC0O660EGP0RGR80SEPTK3WTPKKDG3AB58J103UQ9YJFLNWPYSSYH3S3I0NTHFZ4PAGBJYGF6DZN6RU6FL05BJ8SVJ09NWWOBHKR8BJ66WDJ1XDLQNDA8OLRST7MGNWKRC1J6T4CS5MRTBGM5J2WKASNJ24CV5WWHVXG7LV44G2D5CVHQ3I0LVZWSSTMJ66MVUZHF5DHK81Q3P5EA7GLQA79DHMP4ZR397QJFQGWUXFL33T5F0DFQIB612BVTUS0Q3KEU08SHDRJJM3FCX22PVSZN244VM8IQRLDE50RF4MOU4PQBDJ1SMR70HUZL5E503YT0OUY2RIH08IT27R2A5KQMTOCTGFLBUAQDOQLY95RUNE9JQW0UOOFNYL8AF3PK0GH4W7F6NOG8KLZSOGYR1RJPA28F1PL91D0UCPCJJD8S3MHCZBAY5X7TYAKAUQOK4KLWR9UWO58QZGAV6SQCFJEP53KDFC2XLLL70N583Z0TS2B7689AT5K1Z54LRLLRHDOTJOH4OPW3VOSTQ5L2CJBXPISXCV7WD2RU0Z94082C1BL7RTPKZ8QK45S2EG0T7AKMS6KF7NWISKXKC5T9T4AFPME0V70CK5IQ0RO0RRPDXFXKVVKXX062WRL5IP5HDSRL5VCQQT1DLHZAV3NNFIB8QK7EX9B6G1ATRS61TQIWEBI1U2W55RWMSXXS5WZP6ZFA5Y7MLH576PSDK7J2HZA3P026MM52WR2TMXCFCAWPWVGKX9VULBYH37YKGOZHQ6P77OCHVRAX8U554R34JXYNKDFHK74G7EO4MNI = -36#2AOKJRAJQOWV38HHRPNULAM8DZ7Y10GJNHI48THSU1J2F3Y7MR70RVIG8HENE2SVS74LJ9262QIFL54ZO6OM7558HZRJN6OQAEJ31273IIOOJUTG3YQOKBBSHE7SSWMER52IZTRLC3AV8PF0P02KZ17UR4HTREYUX9ZAYNT3R0ALIH9SS9K22KWWCMWB82R00Z5Y7OXFKBNSW06K59IW6LW4CU63EORA4TEJ4H0NW7ZF92EGL5MW5WRW98R9G2ZQPZZQLX475STHZRKOF7NE5EDFFDUYJMT4ESL4SO96PJMVSI1SBCLA6R75AEVGPJH6T933OISJ9U0GSJ9T3288AGOY1JJKHN59QO7IRRQDWAP8L6O6IP6NN4IUODVLM0SMD44EX9QSWD00LB5G54MPZR62CLNRSMS5FACWLZ5D7UE8BQKGBI8C6JJ2P0RK4SZ09QSJI95CTV4400H6AT2B5A9LBFDF7AQG8WDWKO71CKS6788YWTDFB45EV7E9OXS1264IKZC3557PN1T74MOT8ADPOAYKSLODQ1M2ZFIGQJKLUQKSMTRSROKWMRVFPJQDXWF6GG7PUFLEIFMW69LMBETV7V1P2AED8MWHSSE983SVJFQ3TKTVP141FVFJOEAPXDJCT4E4H2Q4QE6REG28QF5RFG1EWU9NZN8512IF6LOL07OWRC9DQRMX3JNWC3IJYIRWR09SL5RYZ6KJVUYYWKF4TF1OK91896HZTT1AMEY64O01Z5GAVQ86K7CTVRFJ1UUBWP7B55POM9J01NGX28LJJU34G03T5ARLAK0LNYIIT170Z8I1KARGH2JU7NCZQX5PKJW3RNJYAERA5ADLV * 36#1VGE8VSKO224TJ9D9E24DG4OT5LL1D0HI0GS238836FQ0OSA2I. +-36#DJ8FJQ30SBRFDXDLQMJKUDTVHKHBH0ZT1Z6QE3DNMDTEPXY30EZ6ATCJSCEGDEXCM7WQ7OZLWFZVE1RH2614ILOHB19U7JY8HIVI2LVTKIJ60E4GYPNMD1ZFOPPUETQ7ZYJP4CU5NEX9SG7NRBP7YKTOY6SZVHAR3U0SS5Q25XU0HEABW9KYUETI39U4SJY0JN23TJYW3IGWW06WX9DNTOVMO89F7TUL22PFH2T72443ND9DN0HTTFQHEZNHML17XZ3MDY7U8370MUSYP9TTRYXSCC8IYZTX6VIUFRA2DUG3OMI2BRKRYIE4PM2V3AZEY7TOYVAIGB57M2F3OFEQ702WSSD4HMVP4GZ0TW7E2XXT838KGAGMHCB9R7AZEC19JUWQEBUCXOYMZ6A6JKN29Z7LZS4LMTRO6F9KQ2MAC = -36#PDPKCIYH6RDI7RJXHSSPOLK7CZXQ7K7OSYCKO47F3HVCWPQD6 * 36#J7382T2ZOT9P9Q1W0UT7X5Y3PJAC7FFIQD39P82U9PE979MF9415BOSM4A8GEZINF1XPD3508XW74VIGJPX2LC05KVIIWRNDDGMUEX5NGHZNY2Y16IK1PMJBRPU64VMKVZC3LG3MX22Z3OY8F537X5CTICT0ZOTP86Y138SCZJXJJ5DQTAIQ4MM8RYR7LZLSQW9XRI56TSGB3C42OZHZXP8OH46V45DEO6L398U1IBUWVIAV2AUW4NQO5XC0G1V02VGRYAUS5X31F6U8ATUXSWWFS8806F7LPVWX9VNCRJPXFDVURGGTB9T5LO8HTB80V2QAPBM1TFWCSWDNS1TVNKPDLVK6LJJJ8EWB1CCMWN2YRDPKY1N7E01E. +36#1BD4SB0EMKNXQPCQ6F2XFM7BGUMSP9NIJ0RWSUGZJQG28HS0VC = -36#1P75EXV6968EY26HBH17RCW9D1DZT3D11ZE5LXRONIX7GAX54EOP06ETA6WDKLA9IJ0M0AU25H3EWHNB5J8F2WB0R66693ZNK0 div -36#1AIISQMN2NGRV1S2CRRGZ326ETRKFOHBCX7443HFNH0JRDG2O. +-36#68OHVLKAZPNO2XU8RZGUD8F686P40F72TYDBJ1AAE4UYF5NHEIX44EGXINHRF28BDFN5D8ZWKIR7CS3SQXAAIAKCR7AWF3LZ4N11E4FYO9XPCDL31G1OGS15VJECNBEDTXWOULAJWVWN768R4CQ0VQAYQHJRUUPVFMM0YSQ83RVBFIPPRDSJ8MEJIPQ0OLXXIO9DMQG826J4QWHPXWQGGY31YE4CPTRDMT6NMWSBDJX5GS7B4B9P6MM8QPALYM0R85YU9IE3W7O5NBYVW90FI9HA846IQU6FPW6DBK2CZ5M2UQBP2ARFW4V74V205BR3WG4LU2UMHI3B4A3SVGJ0AA3VYV81791HHSGN8J2LB29K678CR7UEP5ME43VTC69HQTVRZKXWMU6Y9NH5H5I8Y51J65VVTY688HBCGBM1EE626AK1HAQ9TLX7S8UZ3JSFG = 36#7692UPXKYD3RYW8A02MXPY10SP70TSEU7RAAE2MG4BUX8ZCVUY4LWDOF5UUJFDP9ZNSMP3QFVW6U6PYBFYBL08BRHLTQ9AB2UQUQXTT4XW5JZC3IU3NUNJV9A8VTBU6RCSQ1PZX6GD48W292GJVVFOXB50J2VJRE30Q5RSD2SSYT9VSV24X3IVPQXW260HN9KXB20UZ734LL1VXTNUXL7NETRQ7RV1MDLPXKPVJW9YBYPIBYBHJ5Q7TY3BNNMUOC02N2L5TT79G3FF93C5G53BQYWJI27V3U25LTLLZU1GL7DSC1CONC02FC1IAW7EU6EAW48GJ5VSEW94A10ZZYDQFG8QJQ57QLC1KSGGQX9NOA1CKGO7C0KSM5BPFX9IHL5TUJ64Z3PREHYEIBV0IOWMJTSK1HPR0SUTX0PJ066UDAZJUYZRPHBVKNEEXW7J8AOC2MLB4YEKYBZ8H82KCG59OJ0SKEO0VCFB184OVQUGA31AIUO8 div -36#15DNC4850WQEYOCJL2VUU62ZOVMKHF56C89OD8FJ41TRF1EN6E. +-36#10QB2PM6IRQLFSO1RQ071862JJ01PK3013Z0SHJC4NVNKUKQQO = -36#1Y2CXCBW4EAOAVECN22Y49TY4P5FN52P16U7MW2EQ7Q773UPDZCLOR5G5CB52AG9JCKI6SGPQ3GW47V28HVKD30EMQLN7YQ9HC div 36#1WO6C7DDWO2NXDCF8JGMZ72AYOG9D0YN2UAQBXDT5B1KESFAK. +-36#3774K4B1NOXL4N40XYGA70GOGYGR7IKV19EQRSIYJNIV4QDA7O5LNSD8P5VZ7UPAE0J3905GVF316GO3P68NWLVAE8Z56B8EHNVI5LSZ6BR96W4Q6GVJ2AVP82KR4FGO3X82V8N9K1Y4NYD24BCQM43MKTV7HKOT546B7WTB5YK5EUAVUHTNZL74PI2UJPCQO4KM4HRSMAU81QJPFOQJGXG0E8QTD11Z4YIS4AOXOETZSJTA0JL04CXKQYALMN2B9QK7J0MZ1AEK8Q032DNOYZ6ERT24STKJ3DB3UVAU6R2EBW7DAHZLF4F6W52EENE4VV620F3AALZOIB4Z79S0N2WONA118UI3O3TNN33CD5KDN7XJ535O8ORMV7K68NWINFKCZQZWQ7RXYFEC2ZMM7UH1GQ7B13HT2CZ92R4POT30E3AMWUFLQKQOSI6MJ7Z07RZI28LON872F5XALYQEJKB5QBP18W72FV6SRGFGJK0LMI4H269CM4ZKYRZDMHMILETG8M09QM8002SEQKDYHQTMBOPIJJT6MOC5CY8F1IS6WYE2Y5XL727JNIMAODOQAH8VP1CWFCHR1U7NQ7IY1LXBFJQRWZJPUTU4KO2Z2U1O9AA7FTGP0QYATVZ8008CVV0HR05YDRJNCHSFC2TY3G7RA34H7NL6P570RYXFSJR5QJEIFF95E24MFX5AMRJ70Z5SY56AISN5IF3BXCW55LTPQUKW09Q9K2548TPUKVH7K5CTZR9RD6LRSGT4JEPLH4OI114O0MU4F5ROWPZ4IDEK000VROIV9QIXAKDT0HI9A39P386CCY6IXM2S66H5PBAI19VTUDO2Q8YLK4V6U38H8OQD7AUHMMZKSZLH4L2UIPJJCGX1FBSDLERRIM6IH7SNSOLTGBXBP54HXKCDIPYQU4ZNHNUUNITIZEBOGOF04OLDYDXC679LN7IVAMOKM6O8LRMM7A82XXLKYHOHXI50GWKWNNEJGJJRRNMDLT1EVZ7H4AWLX0BG4OVA1IBVKNYT4TZFKTEODDZRZ7N7DWANY0OIP5XELZN46X8SUM = -36#S4DGTVKCC5Q10GAJRKR2121Q5LZAVKYESQPQLRHGK4UAJAIXMD1O6FZDV12JXH3HKIDMCL3DJESC3NT19B4P3SQBMJYWYXX3SR4Z042342ZIKW2BGZLM7R69Z0CZGW11CFQZ402P716AU9LIMBMLM9FBYINQ1F7U6OON90S0E2YYW6PLLW2MOTN6GB3VIN27H768KGXSOMOUS1L9XM7ANJ017GM65VTP0HOQH26S7MVGK8BK3EEDZVV0HCIWEVOFPH9V2BCCMXO6JXDIT1MKRA4YW2Q2QHS029HQ93SV6OOOD15Q5ECBYQF6Y0SN9UBGFNDD2N74CG6E44VXXI8HJAY51SBADVVVF8NTBZWYUCN56OLYFQ93AP6LZ327F96HQDPFGL8QN5AB9R4E729YWFZVQ4MSZ90GWUP3GLI16UY7QV8VKA0446D1EF7HIM3TSQZOYIVI7X4KTWWJWDXNYJ27YXDMT84TVM076WEB6TTG9F8S8M86FO4ERWZ8BUWPGVGWQRVVQS4OV6GD5 * 36#43GZD078FMG6HD7PAUD4X1YW5V1YVISBLZEV60Z7ED9VQRS442CH16X5WDV0JYUY4KNLVAZBB3JSE72PCEZD5XQTK2QZ7TSD2Z3TEUN2GFEX9V1DMQDEJLTV7WMTNDEME294PPD55GA3K6YFBB80KEE6BUO0W8OPTR5SMGN1RHYV6MJ4FSPI67077C2LJEXIL7KVR3K8O7IT2BYDHOFKFM3QY1GUSOH9EFQ21HIASCQTNM5MOCAN1QS24UYQ8XPUL83PORRGTYF9YENDPA09ARGLNHV064SEYHDN2AGZFYJ2L2TDQZRINOH4R6125KHQ02MI3OH8XSA7ELQD0DHODBEZDPWKDRRB8OUEAZ4Z88728I2ZH7RS06NESNCPEQD8VC4IO95Y79VI3HT2H5YCIDX2XET5MJNIUBHVYTD5V4IXSY1SJWTXGDI4BZ611SK97C85B86SLASXPED6NYOUQK9CR8K3414NEFDGWKA9RUWYDE1BTARWQNGKO9W0953N03JBCIV3OEMDVGQWLX6HD4KHQ. +36#S3KAGJ6AOKVQ1FQF7HDA5HI4PNTAKSNXS74UJL0GS1Y7XQENK = 36#6PG3VGD2NCA7SOLXNUN2Q08QIO1H9CK69GOFYSBSWMHVD1UU6ESLMDGTMA9YHSP1GUHNYACMOU8P9MO2302B8QA62JPHO33540USOLDR6RADZ7MK4M5H07GRINH3PW7OHN2J55OWKAQ3PAS9BEL4WTG1CXU0JXYR4YQF1V8775ERQNWPP7TAYDX6883YZFE0APZRCXOPZ8GJW321467CDJEKE6RP6F613UNULVYMPQRZLUTFP89SUNM1PB4KIG291JQROFCX2N34M7EPYMVP7IZIM87MV1QM31W6H7MFY0XBHOUBEB028 div 36#8LC72UJ0SSOHB7C83C9LHJ39WF6KAZUCA7JQSZNPOX7SRTAOMUULGH3U4W0DYQFU7GM51UN2K1JKXX3HVPQXUNE685RGKHG8YNI0S0CXYWN9M15LRRPNEIHC8JI0LL5JHE866NQXA4MWP93OI6OL4OG4BKBPHSMUTST52LF6W45A716O1MYKBKX61NR9GW66ITSXFIG1CDL952YLYOM591EASCL6PZO7QN9GW769LWLKHGWA8SGEDF0PLEIMA1PZJT5V. +-36#4AJCN4KTYBVI0AUQF3NLBUCGHJD1UH7VR1BEOBY63FKVEPNIZEMA3VXZKZ1R052ZJ86JJQYRMXANZECA1D54XBHD6AAEBRVEQAENFD87NEKVH6AKFDTR3C0KY59O7ZD35VCFNPWCD1TG1PID8C6YT10LGYCMQRWHNC2N0LFUMKSIYVD5BMWE0RHG1FIIBHYW2GHNE41YLNFASDPQM6F9QJIAMRE7KU0LPT2YHOY5243WR2RLJ4GFQVGZFLZ04TDLJ00I7QEP1V8IJX1DT1XYOLJ7NGT60T4850RTX90C2FCQ1ZFAZ3BZFOPXOD50UZG10YPEI1VYVAGYZ9UXU55OBDAPY2KZ4WQRG8WGSF23O8DZW2U5HRPCSMT4URHW21FAWTTAK5YGLEHMRS9KGVYGE99C45G9C6B04XKSR0RF55PD3KYKWDVI6MLL1FLRIKKHM8EP48B9AIIDH9JW9FGB4AF13AF1IPYCRSDJJSVQHXAABN40NNQGL9UI77T92XVGU3EOK34HD66O2Z = 36#I691AT75IVB7PN74LC6SUS7MLRKA0028G8TYWS0Q7SLKFIA1VPRRHWPTWN6U7YXVFIXRR71KDD26Z02S1R1PF5HMWTBIGAAR3HFVRUN2ABU5N26GLMH2XFGUNVW91R34BY8V71JPHDAZPMJLY5TVE5H2WV6PAMHOCXXHGFKPLN4NMFNM9PXDVP867LXRI2QQY6J79XBMNJMNOVA7934L1BG5PS509EKY9VONGEXUVDJ79D1IJWMA9O39Z33YHA5W4OHACKS8Q0B2A6NE4KGTWAS7ZAK5514W7WXR3KGKJ97IQW4RZ1GD442B80V6MNHG5D6J9DZWK1UXGY4RV3XSCADCI5C6TK7BT3IYSVYKS3B2EXXYGEG47GJ5ZK7B5SSK7AWWUUQLTOVU5IVVPKEX0IY5V6SRX8ODN347EESG1HVW72MU3K3CZCACSPHHZ4PE6LR2UNKXOE0TCGOLC2YDKKH65QEW103LWYEJ2E3XLA08KCCM6Q2ASQP5JBYEF68N1FTI2GCJNT152V1ZTDPXNMUP9HUAPS0F0DN1R89J7DBPDCRUPT67S5J0TZ8EHW2GTQT8UBC2EL4YPX3BWJNLDO9REXSS7FIPJPHN2Z4SBKXLJAF64FBMV17DSLWGQ9U08256I784Y816B6G6HYBUZLQAS2AO2LLRQH3GAMVQ0QPVBXE0F3M8U4E7VRNZ2UOWPULAXA4RNR6IM2T7UNJF1O6092QFS88QZFMVWYP2DYPNZN7ISDEL791SBGGCPAH5RE1U9BDF3L3DHIP2PEQF2CSJ3UF99LG79HZ08VBKVQT4CKAFZ8HU9WK8QMRGI5ORMHA0D9VMGI8SC4QKIXXZ4AXJZFFL16J099QJHR0JUKJ0BP4HHNY3EF24RAWFXX3E4TADOM8URFMML8IFY5E6PDE7X5KW5LCAI9UZ3R4EH9ZY954U824PM1B24Y82Q4CINJNLAJ6458XAZ2CC4LRBDBWKX3BK8SF21EG31SBHH64T0OMNQFVYF5EIZ5A22AV4AGVBQ7C1DEJ0M7HESDPI0AN5VVOVSB1LKOFIIP1B55NQSEC6GEED6RZK6D3OJT6O5XJFS4DG0W0F3B9AD3AS6TIJOM7IPC36UCE6LSIITI64FAV div -36#48ER44PQTB4H89F3G9TXS91NPS03W16YGHWM2JGAD5RWBUTO03VHF502CZFL435QIGGUI3KW192A16XXCFPAWXIUNNTOBLF3C0TKV48KS7BXJ0YWC8NH26U4ZSBC7MHZ9M4HCYAB5BP4CW2QEO9ARSUCGWULB7S77A9W3F4DGRTD29IXZX99CN6EJZOJ0534ICFWWKQEV5TN1832P2ZOBBOXOGKZ09AB1L9KGGD419ID8TDQUW95BNNZ3TW2NN5EWJDYQAFB5O88U1J8QU8M06KX48RZUNJ1U1SJQSCIY85ZJ42ZZ1YXY3NCALLGL2XULJY0KJIO1VRMJID6KJ87Q9VS4ZP8HHK1I1XH9AFTQHIKHHK0XZVKOZNRKNJU14UCBJMBX6WO8KRERV37Z2A5E3U5X27QQQKRSW9F7094E5A4BZIUGSP1KCIA9VLHUW5T1I8L2ZP6BD16GUYMTY9Z0HFFSCRE19BV6Y5CGOU1JV2LLDHQSANTEQVLJ9IUYTRXNL42VQCE0724GRHOKS0927MDPMAQL5F9BB59JHDW92DW1W9U05KTHKW4EEYUHJEWN3B2RXXU9QXSZYVEU0X4RTSMAOMUD48945. +-36#1C26HDV113PMB02YO5F15ADCL04Q66VTLX2UZMZ732VA0NQQYG = -36#1VT3ZPOG3OOIEWQ9Q3AJWYX48Y6LGRRKVAZ22D1DBHPMMM72TJPAW2RPQM037SEINS7YL533JLJLPR15BV13KLOUXKAMNZFDVF36OX0N2V0RA4738VPCQMW div 36#1ESIY179FBNEKWB1O3J3HUGQLNQIDEXC805DNDXTB2AVVL7N9P3DWRAO755CGOW8S70G2T. +-36#KS9JG6HEQ8Y0P8OSCPHBNP0UDBHRABYLOPSU2AN4H0USRPERS = -36#4ICU37914Z1SZP9JD4HV8RLMQZHIWBCSA6E63H5CPDWFEFGW7XW7ZF8BH87N4EX6JI54DAVE767G8O5F7DGKL1SLRKUYSI5O82GYF0SFOJQTSCLARPQF7STBEOU7FGXI0IOGLKSNVERRAI3S2VS div 36#7T7ALYPB9YHR86716L3NINE1H0XNFP6JWCB5OWGG5A5LW13OH7FQSSWLQ38ILSI2VOL4VH20I9K9ND7EJYDWIHLV2UT94EVM8J. +36#2K81VVY4MHQ3R48FYDZRFKKUTQ20UJJTU6PHR95C6WKZY160VD = -36#LV219MW7Z0ISZJ2VUSU9UQHNWSI8I5MDPCPNDAE6WSOHHVORZ0I2KKW580EBSUEQHNP0G76FYKC21ESQJ1GMMZBB7PWA1Y8085WCT183ZODWOYHP0V0HC5RGJPMA2J573O20S4D7296HLILZS6BPTEKWW54BC4XH67H7SPKCR67G9H2DO0EDN7EJQP8I24RR063K1U3WSWKDNKJ7AZG0RDNH0COJN6BRY5B701ER4IOML9Z7Y8DJVOXQ0RZUP71CON5LYCJGNSLIN4IUZJ4EHUEITPF0EHGFCLR7OOXXZAE5O9TXFDZJGPGY08JAUZ8X0K9K5NIMIPRFXGNN6HZ2PN9T0JVKIJHNXQZ4YCO35IPYE2YDTOYTOPSKIBG21QL99QN9TTB4W19MDIN5I6V5733NW59PGIIR3QEN5SLT04T8XDMTH2T3O13O1HW01MO0MFEWKMJTYVZKRSFS104CS9R0GXRJQ3UTHFBAOMRJU8XTIH5M1UUY64BH1V28KWRWY8ROMT2EFUBK7WNYK1K4K1ZBO6L651XNTIDN7JUH1VZPA2H4TPXO2LCZAP18JIY7P5CF5T8Y01V07AMCWSV4I4SGT7WNC9R2B680D3P3DK3A8ON33Q7Q3T0V8GZWAL9PHM3R7TZTJ3B8XGH72570Q629SYI8RNB5G1OICNPJNEXBM div -36#8J8C97P57VNTX16OJPP4RTQ4IWTAQ8O8UFAVTJNXR2U5F3GAF8EVX9MHMGV3EATUBTNIUO67JI7O8OPEWH9GGUM0V6HKYMBFZMWNM82N75RF5AXQ6H069A97I2VIG9KUGVBNDXZWJ5LQVZBQ2W3RDKO75CO5YJLLJNZZUYBGM2L8F6635OO31HDI0JIEXDRTYLJJI5WWPF6Z3IXYY9X4VGMIL4NV2PKJO7D6XBG7EQNDLKPA0MLUE41S3JLTVRNTU9TJ5ITZTWQQAJSFHC08PJHJO15ZJ0RO0ZK7Q18B86IW6WQJCTVJK2I3NWR0XASTRTXNV97EJO7SC8JN7JI27BALV74WGC0RPHGLF2HT7WX1DNUE13ZI965MJZKCQGAYCBXBH78BSHLEW7WXQS1BJU5UXO50DB5M3GGM432YNAOJJMK079BE1MYW579EOQ69ZC6YH8TUH0JQSW3FTDBI1Z87NWLRKRIBWA2WUL3RNOGMDW4X6D9BZD0I3DH1T3TYHI7VOYR33HFQ8KUORHOZ7TZYOFS7MYCL0FG8OSGAWX9I8SIOE7WT2R0BIV4D7N9SDJD28V9LY5MJY8VUOXEZAS7P2NWLM1ZIWH82AEJH9KM8F6CLWKLDTEZZXBAA. +36#1AN3FM1Y737QP1MLV6CS8YAJOU2IBVK4UU07NC769JL51YV5HGUB0IZF69Y02HF1COI033XBXJCUBHQI1RCTFDG13M60GSODUQ49RS3MH5SFO5LXJ1D4J7F2T8QP64OC5HQUN9QTJBXVX0D1O1AJ7SNZ00OYAR3RRZCVYRCFHVQAP0OG9BEX7LHS3YDFNP87BOUKP715OPBCUU8X5CAQZ22VNCLEJJ0FPRURGPJ9FMQ5CIX8PG9CJ9T29N82XINQ6ALAAHC58VLBTDTR2X0SHWYD8XZRKU9ILK5FCP0GKUR45OGBSM38KLOA1YXZJGCPZ421ON6CKEUMP9BY5VMRR52OIA8F4L = -36#1IUXJENYHHJS5NVXQXGLPDTB523AKGRZSG68IH5WOMG51HJ67F * (-36#ULV4R16CSLU87WH5MQF7Y5HVP34R34X9RCB22IA4Q04J36JAJBX5IWOSSPDY2H6BC61G7FS0Q09ZYG6O523SAMSHXAWPGN8972NNVC9P1UXYXNKPWGLN3W0JKZHEXL5GMXGKVMO8I53QTD2DNVI7KV2Y1NVY32WJQWBHWRQCSAUMYSB81K2EMC692S14S2QJTLSXWWP9O6QTDFZIL628YL6B09XGASNRN844NBNMQI3GM6DK1TM5JP306V3TIZD9EBM6XHN8SR6TXTUKBA3NHVBPQ0M17X09DEICI2RAR0VZ). +-36#3YIBV5HIE1X1X0Y70SDKJP3Z6J113C3H5UR5W1NJP1XYWAM0P1S91JQC591M74KN0W4AZYRS4N546TMKKHWTWYSBZJXLQLQZ3NDNE0B7ZM2T7OMSPT6PW5M9D7UEYKNYUDSFZ3PTLBK5JUEPAZD95KXEG6FAABJJEZKI74OBIML3NAGA9HBGFH856IQV7J2NU3ND0EHMA72XWEYLR24QMZBRVXDZMFRTLR547CGXI4FHLOYFGO9VF72010221RE0JRITSABH0M0SX12EBIKTYDGGL1Z1Z51ZEVEKNTIQE7D50ACJGBP98D9QNUJNHBFARJIM01GCCH3LYA2382BUDIP49VNYPUORC0XTVVIQKJJ4VL3I7G92ZKI2BISJ2APKZLWDAJ2V1DEJAGAZUNK9G2M8Y9TTREM02KHUBU05AKDPUDB0QB64LDGWV0AS5Z43DQCMOQ5BS4HK4T861T5W9S1KPOZO3XF3FMCZI4F2JL5YSX6LLSN1DX54TTUFBSBR96IDP1N9XZCCYPWTDDTZ2K1NKDJK6PFEOZNR2UBTR544YMKJME5W7ZU5Y46B6D3D92RQ = 36#18T3PWO1YE3IRNZ5WUOTTRILEU8RRT6DRETRMBEJRWN5RI63E7XINLDX5E2MS644MX3UN9GI7T7Y36UEBMJQ1J9QTHOYSRPF8LXZJC20VR0GC3S3FMLUIYLM4KFJ0JI5BZZ0HK6DE4WLHUUV92IR892YD5WQGXVUYV2IG503R1L0LDTCJN2ESGAZACQ4H8QJUJJUDT8IIYZTXOI2027RF0YMJ4ECHJH6RJWRKSYBO27ZWEO9FWDFW9IS1LM6X85Y1L4MWZKYYA7O0BRDQOMSR5N5NE371PB71QOPDCM326X6GYYHZ6LU25A7WY5S9H29QJSYJ8F1KGR1FQ2W8APDJXCZ55Y2YMA6MAN7I6CBUQUI1OJYC1P7GA6FFZSAL52HH1DBVZXF1651NC8APP7BVM0TJTRU5YKXFK90M814UFM7QZ5WCI1KAM8DU61J5ZCNFEJ8NY4EJ1VP20FFBIC2UWA4FOTB8FK8M3A4C2V1MHK4TUNXHXG38RAGGEHPY1QTS3IKGPMRAP8M9KKWMH3ZIL2UM4XEYA4VEKV82UWMXWFOWUSDK4L8SFTIBBR6YFOTQT05YLK8FPKSUKW2REPYEU6U6C5OO27V7AUVVQRXO1KVKV5UFWVGPFVAS8QLFKBBMN7273Q2WEG1H6TLCNOYAXUS5WG38SCE5XV1ZWP9CV1QNBZIWXM2G4FPZN3J57APKTA0GT45EL4UP9R89TLABUKYL46LJ24Q0RC5UU9P0J7GED5SBSX7SJZC7KZYXHS1FXJ2VNB5UGM688X5K985CJAGJIDCYF0F51M6XEVSE5FEGAIF3T92ROX18PLYUMV0WMY7Q6LCZ5ELVT3P88JWJXBQ7KZLSOM2S7144DA5PSNRP6PK8D70IY6KXEOUZR297MCVDN8UQC9GPXCN8UROU2LYPQ6ILUOCL2NFY8TIRTX8PJG7K5SQN6DI2148KGKJXXOT7UZ46DSVGS75AAV903DUL2X10N2NGW3JVYOTTFWRRYD0ZT74O6CV2XFQ2TRWC1FNFP575AJKK3TW8JMVFICZ1NSYUXYC0X1AIEH20K9F21J2OU85XFGOWFUIIZAIJ4XLGF92M35SLFIHCI9Z5YULTMH4BW482PE5GY709Z03NLCJ1OEKZSIZZN92R9BNZQHS4AMDNL9QCIGXNV1OLLJZW5HWIU695WYX8XW2OFDVRE7DQUPPBQYJ1NPWCXDVCXR902Y7MWLRRRU7BL847T9LR1TN0JVJI6K1V1SBBNINUPDC7PTM div -36#BBHT2SZGOAYD43KY9971TVWGUQ8PVLH9VJB9CKAOEYBJ9A2DY27ZXDZEBE9C5BM8YM7CS7D3SL7IRDY3OCC76P0XJ0N1NX76DONZ6GDIFHMJLRA3WVXTOV8EKLSBZNEZSNVLGEZMNN1DHN4PRD7C4VZGFUASBXUOQTO0NTUR46AQGB9O1TVBO8KV0DT940JDBDCITAF4M9UNSCJYMF75HN1FYJFH6MLO4X67ADJIB3TLPMT4UKCO94C2I5OMJEYGCYJO1A0I6A2X6J20JOV9LK2NAA337UTWADVVUG1VL8VUE8V1IYI3DIPGU6VMOP8GQ57R7EQRHIC372H692FU24ZSBLPO7CDTOX6LVOXZTLWILWDBFUCFDJTR86YSA4P48VJL7EQRCP9JTLMOQQY8ROSZU5IDP9M39JC1PN8LVEIWKQBL0CACQJO259BF7XTJ9JTDT23DIKYSP8VHSX9EU0CPSCBVGQMRV3JKM9WD7534ST562SIUNDVP04IINQJOZ0O6YWC1IZFROO5E6JQ4CV383UWNAUSUTGZHL2CL67E64SN7VP0BHEDKV0YCD8KJCFIDVRIBDY5EEX11KCLYGBCWXU4WGQ4TGFI3FSAK3LQGQECVI2RLOJT16E9JP2PTEJMU4P1VGA234Z82FSLCDHHDRLVTI26CSKHUR0NSEAFGLLEN. +36#28D1AONSVG1D4KQDT0ZQODS4YIUPUWSRA91E9YI3F43IA87YZWD9FWLRIOSG40F1RW5TQRL78768OGKEVCKS0MVSBLXC261BDJQJVNEPG7PNGKWULO54FEW7RGAZ6ABAPJTPNFM6FX98O2AWOH16MQP1NC83NC37VGOL6X9YNSWHWY24YG4C3PPYNH426105OOX9ZNTCXPJZBB3TW717198LM13YDF30XRE6DE6WKUATXVM2VKG7M6EVD0JFWUGFY2P3UNVNYVUXGXR0CEILL3L8XR12EKJ3VKE577ZK75U6OJGDVPSB6Y1C9439ZOFNQ7T637KBKW5V5VSDV5VMQL46C6RXPWJID7JTNGUH1S2B13XU0ASDZMOYJ3AAF8DXLDP5Z21M28P1D24684Z3R8DIIUXEG371KE11Z20Y0315SVHWEG7YCCALHAXF77PL9XGYE7NKA15JIYU7LIF1NBZD9VWLJSYHZYF = 36#2XPD4D8WNCNYFQOO01D41V3T202S92OM7G8G8J5URHNO81QSR5 * 36#RDABG9HD323PWOXQB5JGGQK2YKR9EU9YH0YMF8RMDR7B82CO77YI8VS9OW2DGSPGEJYTPV6DIUHEU71YBIV0H0RRUB5VWMXWWQ6ZZTYZAWROPA69M4W2RAPYGK2NRF1USE0CLZPO9X7GY1OWB1GLH0TVE7PYX8CTXHWM9UU663JZ6HRNQ9XYZW6F2UZDG8D5TFFM5PCUUEB4JSJ1I1ZBJGFWXSD1PLG1LLSZ4GTSIW0JRAEQT76WY00A6TVB6GE9JD1L883ZJRMUFA8OY8MPWL5CCZUJHOCHGZ7DO8IQRAWD5LU44IFPKES0EX7YUPILQGC7L2QXPVAY5DKNZT94C955L2A2IQ9ZZ3GE3RI2PW6VOYGR8KY3Q11RYZT0JQT2J0I3K3M2TWKOAIBFBX6AOG7H0UPRMYEW17O89IGXPXPVER653. +-36#E4E98KOUHMBIVVYFMMNTV64XKKQQ4VVHQ3S75AY21IAVJM7A8AA2D39RZ0IQZAFXN7AVJCKPPSMCMU8INWM93J83GEEFBTAGK2ENAK2UIMKELAV3E8UTMKVVU0WFKA5XQD0P1E3QK1G2WXSDEH6HB0RUEN8BMNZ5NKUOXUTHOOWMBB6PNV74OQK3CS7PCSXKR2IW1BP250B3QYS3FLIRHX6N9DREGJO2F94HAGYGYGJQ68Y6ORVHZNTE2K3FTRWIZNRIHDC6OG4JREL7CKEDBXXHK2K1LSQCENH4WN15QMYQRAQD08Q1PWKUKTDAH5SC5M07S9YGRCTPAT4KQPYKBHUVVA3AEK7JT95DCAH12GWIBMLBP1KQ8ARSN0UUI9XPZFS64MXF57CVGS68H62KBN471PYC8S5RTF915BBYN0R3W79K7DHTZS1KSQFK4EGLXTLQXCW4VMPGKO513URF3RZHXA0463T6O9EA2TCRORJIDTIZE1UZW58RDJW9DTSNR1PO4M = -36#A8GU9CJM5I615GG4TU58LMI8I1G2K4SEMELZNIIHERSNG8D6JE9E5J100L3HWQUZNNOEI5JIMSABGAKAZP73HN55BINNTY8CGYABYDDR0TMXZCFB84S83AF6D60Q7VTV1JG1WBF3YDW64Z38K68N5Z2PHSSH72GLUS5FDN5GB346ZVDU0X222HFT13Y0D6K1TH81V8KQDIJU4MW3F2ABLGQVUH59HDY2ZXY98APF8Z3BVV4QHY9MU3Y3NGVRSGNIYYS8QBF1Q8E824LOEL9PCRGRGSI1HZG207NRX507OCHCA7EPBGOH8PQHRRQLLUP580FBH93Z1EUSWX3R7DGVGRKW267OH84YOPZ15OUSG2TNHM34V6YNBGZZF04HB99JLUM7EA2VU1Z764P5IARADE1VNN2W3KJJRFK377WPQ8P0PT8G6SOFVLLAP4BF2Z04TAGTIP5QHQ9K6FJFW4JXQKN7A7AO86MZLCFM71UIOJU5C4ICE2PABB1ZFCPY0OVSPQ6PD8V30LFXGDZ6J85PMSETBPF4BA84UHFD997IE30CVE92TQFWMNPBER2GFIJ4SQRVRMK9E25L3QC0EOY5I4JO5RP6S90KDBPLCM9S49U3Z9JVXC5RH6D41NYE8QH2F2EMJF62L1PE2FMMUWRORKK60PFYB7V1M9CD7OS2J4G1OR7AZGFXXI3TJKOGZOVE5OSAZ4FYBN9B3FVGIF6YRWKPNQRRPD6020NGO0EPJ4PEBBUM1NTJ2VGIF0N2CALZJWJ9N9RWD58HHQ0HO50L7A1VQLCA9CBPZAJYS4FWJ8RYNAKFVLT1QD1DBI9I3059IIL3DY7UXCH9HHJ0T96OBKNN7WOJUTQN2WVNS3AFKDSM4OJW0J64HC4U7VRBH02WJ6L0TOBKI0Y7RVV85EA87JSB5IQ6PP6SR3IDL3E3Q0KGP1IIU6CV0AV26FKJPL4AO1ZDE746MHW7G90401MXG805VRTURWGYFWYYEJC7EFCF9JKFOI3Y1TON9HP32324TOMQDZOGQFUUUYUJMPZKP1I9UBBRX2SR0X401DHP99UW0EY053P5MIA0PTRA9G5PSV6Y6LYYNCMC354QL3RNBC497I8ESZZGVD10FEZEK9WQEK6UMH6SACZYOP26BH358PSHRVGT3EVFH4C80EVCSWUBMQA87AC83XZPYW6J9BTP76SZEZC7O3OK9K5JQXL5IN65RYSH1QLVMQSM07B4G9DSRCC3ZE0JX28IW3ZW div 36#Q3ANEBH9PTJLP2BCMAP1ZO65D082X81O4H7P5BASKE3T55X84X1959RITWPRQGF6825KG28E5AXQSQK2VIE10GDBXVZRNUTY2L3A9QYW86PFOZDRXU3ZX0WUAG3N54XCNUGZWGZQ6BKU9BTCF2O89RF31D76OS695XIQ7NS9DZCH0WJJM8JRBNDI1SPLF4UEG3T8L529D6EE3HX32OUDCBAE54XB31GLVWCDMVPSOZYRG9QNKMEZ2CE416LBXODWXQH6IBKGLKX34AYH1IS1B7KMJ0JEPDZJWNIK17JKFMW146C4WIQXEIH7QBM375MJ6V0BVZZQCS25YMJPKSFHOE7BDWWR2L2S87TKXV9BTLQLUH5Z0Z74T8L5ISSH3C4OVPGEOM10OQD5W25V7KGVEIAWIPLYFC4KE72ZRQ681H03G60DTSMZ9N913XRU9M62D8GIM43FLQR73ZYGCPC45M591OZG1T06KN504RQIJN0XJCS4T9AQHELJV782DG437TFJQ19W18RW0KU7NWUKRIPBFVUTNO9AGUN712D5DJ84GY4448QYW66V3CD6006HZK35E6E4F2JZVADUAA2YOD6HLI5IRCO2JDR3RZ3I55AXVJP6WUQFQUZQGU9O53DWJA8U4AMWEZWR2OC3T8YE47C55BRBW1L8YYBT0KPGY6PZ4RO55CZDHE125D33J7POVGRKLTLRNG0P3OSWXZLBDMUCZLFG5N3JOQ. +-36#SWBECSVL4B1EUOSPZQ18F3X9S8PYPYSZ3HR1IP11ZJ90KXBYZK5TFRXZBS5BTL7NVGCMCPIN7NFU30D8C1UT6KPYM2XCPKWNE4QM9OLCZT8PAXTRLPVZI1DT8X2QQUW147LWOP38UO0HZYPPIM5ZT6SESTDXOVZBS5I5K7S5Z872UMYNTNQ8OOWQ3H6SAC8BXB4S8QJD83LCRIHQSJGELORP9STNSOEIXG2144JD3IDJZAA0IV6EB1EAVEXC64YM8QKS64XV3AIQU4Z0GP5CAQ2LX2Z9RNB92VXS5VETSXBUIHVB8XKT6UN8DXLXQDD4AJ2XKJT9B9CJRK = -36#7BWUIX5JCO1Q9E89V7K3M8YAC3YMWKWZDX3V3TRR99CVYDTE4Z6URLVGWU5PURP15BHVCGOYKHVAVUN1I0I14U21S15224AMDTG87GY6FRFWVA2UJCSYSW20D13BBH9WT79ZDWWMKT3ODSJAWPT4SD2OAPYMT73CO9VC7D7KTCP9NQSTV88S3AWTAAEJIVKCD8VHOXUZO5MHUIHUEA6SVEAC3C4J4OJ099S1E9OW07FDA60JD9MUF65M30BUI22NAGS9TK3YN70AFCOEX6BILFQR9B043EXU0D29TAQLPQUS3IA311HZ0MK3Q8AK8DNCQPZAZBZUK5L4HDK1WKPHACL0F5M3J4AOARYIGWRYJVWXB8D31841HUI2JR84YVXHS4BBZLJBGFYG8LLG2BGKP7B931AJDFLABOU53TC1LX09FFZPGU5F1LJSK12EH3Y8RTSQK867WANS96USDO8F4HFU4ZBZZEYF5EAYANVE9Q6Y6RHF7Q6DMD7OCVVHBJ2JCYBNQ4K18FD14NL0EHSI7J8TV5E8Q948CDSUYQSIG3PUOBGGQAV8IBL633YDBWVPGW5FIZX4V6DZGTGAEOFWFOZAMTWQP61VALD3HRKBITO0NORE9CTUXFZAN5OKAU2656EESHP8G5YT063YBMAH08TJPSKWHZI33WGPOPYB7VA0WRA44I2QGU5RMXVEVJNY5RADDCJMTY16MMGIE3TMW3UAM0W03XAZKHQRF0ZE12ZW7ZOPAWOAIEZIVDL7IWOW0E6IBBBUWB90SBNIGA8LMU0T43F0RSS2Z00 div 36#94RWXG6JTO15ASYIL3ACEGF6FMBDX2J8B3Z01NEKKXWWDKW3JO9VVOETXZII5FA5WT2X8YJ0E4A0V0YKOSQCNWJ9WTH4AIB95SUHK6MGXOEUNTEM4WHF35KSXUS96KS83P5FO8X534LVHGPMGJOIKYLGUBRCIDD5UD9GCBU8YV3VK8MI91K9KPLXV05KIZTL477R49QD3ZBIAA7K7OJNR8X8B2NBJNIQ9NLDDTWBARREIBB5WDSMTQRS81PYXPR65HI5RGEX05HDRDQ4KOIG4CCZ0F0IU3B594ZKHVWBCOHZC8P720RCXR5ETGU95JUYPJYJL53U2RS2BZLFJ59HEGELU1RESHWANF0S4CJB2ZI6YPNK95L7WPMR8GON6Q7MLU50B88YKHT043V9POID34KO1G59V0U0W40UC16H6JE9FOSBWM85JOVL7XHULXAJXLEW0JSVCJWYZVXS0EEOR. +36#3AJPK1MSXT99MGCO6C0S7MM05S73KXOA57T8XVPKZ3YHDKF34ER2U0P6L7F7OZ6ZACRKK72DCV78TDJZBQQM1570PKP7UIR5FCH4AHG8OXSW2X7L6K2D9HI95YW5UYEB8VUZ2D1RY7U97TIW601ORJVWISCFDUBJT1Q3ILIICLSKG2BH8LBG75NA7VD0PJYRQMG9JPAH0V2B13TS2NZJQNEA37N2PPIMVTOR3S0YRA6ECWM4E9U1C1MGQDTKR4S6JNAHCGRUPPH3C4PYDS3W79SZZ7YLR3SR8MYDQOMNM4453RTWT1C1J2T8SW1N17D2SOU3EXHKQ3RKH2UCBSJQSCP7PTJVH73F2ZCZYKGHWSKRW0P1TLW4VLC2J0K83OBQ5YNN41YK53F41CX8J286LNV7UPPJNI5K9BVXKUT8SMBTD1ETRBV1XC6MZBBKDTM4RYLBUBWLBGPLEX3AL = 36#57I2IHGVS5A7JO1V0A7323ZBGS2QZRZ3168ZLG755RT8BN2C7 * 36#MRE3T3X7P3JEPCVUY3EMKQ55JLQ4G181H50JX5571QHJXYWCEAJUH8BKB4U6XBS1HUYW3LKGEK8PYYWLON4IL42Y5JIPZK795GZWJB2RSPSRM88UG1LU3GH2H8GQNBZNC84MMMTQWMWGKCZLQUPVFQ1LSDD89MF2NI50RLRBSLIE15ZHK6Z581ZPOEGGPH37J2FEPSFN4WA431O1V6SU6BY3WHV292JOX2XF5K2ONOG3SS3JNDO4JBCCNX9ZNPNLRZ3CBRP2RFI92HQ79ESDIZK58GU7EUWXXMJRDQSHSD4FQYUUU2WDBY90TWRPJQS11TWU0YQ2YYAIA5MN12BSVFNJR700KFS3MLGR9GAEOH7VVI06T9ABQXZ8ASQNAUGGJGLK7RMIEXEVVX7C8MGJ8U5RX4HXLSM3. +36#A01TKFC1KYKSHWR599VSXL65ZNJJ1SDL7STTL5TIHT24PFJCCVB6SXUQXN1VM3LB2MWV814JB6929Y2NXLQS53BP0J9IMXCJRZKRSUFWT1Q8V426Y7IUFMPNMF7OMQN4GLH6CKFUFI1294S8Z24Z3YFXI70ZPD2QCEHM8K2VQ0CSYFHMXWGKGPY4WWCYNC1V7OEKLVJY9KRCOW1AIKP9M6YSSDKZNOEYBOXAONQASTQM9L2BMYYF2GITZX2RPMMICDMJXM8SPWJ26H4D1CW7DK = -36#FQHCKCG2MO2EJ9ZBJVMCYFFEROIISKCM62I0F9AEJO6ITTEKLVA33WM9JHNSU6FB2E8CCV09OGFKBLPIWSMGBVV8BDB8RNSSDTH84NNAH6E5WA392D2BP39R91SH3U5UTVQ3U7QH3O75MI0MUL8G3AW3E8LAKV9F9TIW6WC17IHFFXSYMRRM8ULHG9VEC6FAKLKC4CIC2943Y2HZENG0F7ZHL4SE5C9FSBPE0FNOLNMWTS0GBW4VEZJ4UA8DZ66T3P9DYGMRCU4K4RKNG4F53I4YD9QLXRBGCEYJ8JMQNII4MRFJQNJUNAZE9H3N8SPKE76AG5C div -36#1KN1QNQJI83ULR6MYTKQRFLR9HWTA1QGZ6UBYHH9T1HJY51RKO. +36#C9O33F7K0PFOBXANINK57ST5RRJKJT6L7AHHKL7FNIR4NFWY6G4MY2W929D02Z0FFUL9OVWPILO7NKWW0CV0OPMXDLVZJLGL2AADBGIW2T6I3R6FJLR7QOTWMSJR3Q0HGTODU1PZPEG4HOYRGSAAN0GK5PHLQOZO1N4JU10E5KTNMBKRS142T7NL2T5MG8FVBM9B800RTGRO25KXZZ87KW2X452ATWQ8ARTV4KKJTLG6XCDS3ZO0YSLOSLMIR6V5VA1K94YJ7G9X0XCG089JG8GZ6FH3O8J85SGOIDTMF3WYAKKCVSNFM1YPL6QKMMRFQYJEJ2NSVMSBXXH7DU7W7MD30B75YLINSV58TV5F2VV2LPWCFRL8C8OHM5K5D9PRCCOI0Y45VF35ZWWQ98WPZ1UK31AP8BYT0MLOS4XAZD1A35MC1BVA71CLWX124WROMHNWPEJR3MACFQATI74BSW3D8N5OVIKOKHA4LC6FRLY1PNMRFWCTE4KDMQ1RNNT5C1NNPE0BPWOP9VAAPCKS25IVU92OVIW3IYW4PTSZ59CM71UQCB89GSN62SEHWL9ES0NBYV7OL230Z4DO2MEQTUE0TF02BU6SLZEK5GWOHTF1G8VLY059RK39UM6RJY3ADT2Q2Q0FDGIRP1SMJ53BON9BI0PHGE9PZNW7REYYR0VTTC0IRUFPI6NCY7BSQ2WPW080K5HJF2Q1YGRA3X8FEVRANV9W6SXPSQXE2MJEAX217D7U8KBZJ1EPW5I5G60V7ZS8MH3HB2DFEA21I41KE7N8HE2GU0YHCVSXJ037WZFN8UKD8BUE61SYFHMDNLGZ2G0ESXUPIOUH7AVDS3ERDTIP5SBVEOMWIAVEM08MOYB2Y0GBALSYJEQMRS4128HFXAWT1NCQVES0EAU95B1M6KNRETQVPG643NPP0KCA0B7KDM0OABIM1PH3MRY1LZZYMD7QJ5OD7RI56BGGH4H6VEGX5X8414SF05YC4NNS6246C921UD6C5L41QSMPAE1FN4L864XG91MXTVQZ7GHAS7ZQ1SIN8IF1W5SHO = 36#527SB5CDFNVPX70L2U8XG7GYNHOYL7KUSEPH6JT8EJFP7GMVSV0VJU5Q8IBYWI3KGVW3YSQD4EU3KSKPCCZO3AHFKL8V2K40BV9VFDASKDJ2RHDSLUPM09M58GQLFAFZ5VR0XQW637W08LRWZRWDRST2H74ANO9R683HH6PLWK25UQA94ZD999S8VOD659KUZ09XIH0LMZR78AIOQ1LMI2MO9BCGTQ9I20R82Q4670R33DJSWZB34BO2LD4MLCORWCGSSM5GBWTZ91I2XG2TMYR4EHRUC6G3OD0XD36AXA0YEUI7F0632CXHVVGDKNKLXVLIQM1Q7QIX8G8B8VSUG7A8RKV9UB8N8T9BF0AWLBL8ZMV15URN8F9B488HB8L6EJPRDH04O6OX7M33UTITJ38PVD5VFA5V1NWD4K4WTTEQQ3HCKABFHMZDO2IH2O5CTH0ZZAW8EE7CQQ9WWMD0PQNIRHYP6BGE6OWABAUM0193XHNHGKZ6Z4N8W38842542GG6HX5744DRFPX9QLG52NM8MMUGHMC8O0Z41RRFVC4SW04BCPXLI8W3T6BFOLXXFSSZ1GQM4NOQ2Z0ZF64WEYNWAMJD5TJYZPXAD96SDZVAK6UY2XEF21YR3S3IM8EN9EUB78DJ44WAZ4MQ51YEFK48DTQRKT978YHQ5DKSVZAGNUE5DI81O8DZVH5M3PV26X9NSAMBAHT4VKAXNRSG6MUY9L7E1THN96DGYTFC7P09GQZYH2FPOW50BEV3S64H3FN9K18THRAPP7KY9S3LDBQHUK429SOKF2XSSFLHPON5TSORDJZV80PE92BQN7T5JK0ESTUJH344AOC0SSLGKCQ2UGXJ6U5UPRH8Z2XB0JCO76N9KXCZVZATCU9ICE0VHSWX2RKO0TQBGQS21B6IEU8APDTI1M44DZYOTUR3NYS6ZQYPV3DG1P6LCNF8HSMIXNUZYMBBG2UO7H6AVANEQU1PJNFGJAF0RJFRP0LQWJQA8CR11A2Z * 36#2F9C72OFK2KZ203VO86E6JC1JMDR9GY9B2UGZHDAODDZH2H2IC. +-36#CFDT28QD3THNFMGL72NY4QDOPB00UN6E67KN5KMR9YJ4DDG0P7B73AQ32XYHQ8COL4GVWUTXAFTBHUOFFX3KPNK8B5XAUXZTSJM1L57D2ZG0HQIDHYY22MZ6U07W8KYVI0KCG1O2I309WHV1FWI9YV37BDT3EZEK52VWNKXWL2GIK6VAEW0SL4QY8JJI44YQ9W1Y29010HR1TKCMM30UUXI3SOBBW2RT91L7Q5PC4Z78TJ4YJG6YZIMR3A8QUFX11TSGMC04ES3IQF2GFKXEIUUPE2B3LH6PPI6QWQ8RV67Y4PKDEGNT9NG06WVKB8JLSQYRX5JG87FIAYALSYPTG0E3N0PNIZJEQKEVO3SKY8KDQD4IQD086DR5I8VQHRWO78EC1TTURITH4IPXKOPQHESA1QCPSHDX5RDTBC7G4NKDKBDUKUYTOXLTD5M38GQ0RR97X1NLFNWSWJ57BVVABTCOWZY7ZD4IEJ44K3F1I4PG26HF0S8QH1TLE1JF389P29OU8MEU1Q9GOE98LOKWPUD6HCC70E9FD848EO4ATXTJAN95043 = -36#7HUJZ4RSTMW9S0KFLNIMNI81X1GXAVZKEULMLN6FWE4FADDHWJZV2YCIGHN5KE7AACGARCN6ZZWTSOITE5ELR9I28U2CP684Z9PX0WSWPPRI2AK46E7LY8PTVPI5Q9MCYDLKE2YR5DG2I4ZKL4B0J62OLJ9MOWFHHF6V7AMQW7GABKQRK68IA2RBKU82RXY9YH9S10VGAOQVNB5TLHUYN9A3K1FW118TBSC8WCSZMBBZD76SFYJNTX6PGJ9DAC8C989OH3ULZJJKP6KENL1QECWYUAG7D5KWCE54ZL7J0QCU6H2DKXZ3P9LLEJN4P3BKDREHTJ2TMS2TL9AT4QMZIJ3J2KB9XIPDH986CV4VUBA8AA8ZA6377XCQP2MNL5801NUR3H4E9WSDBUR2B2JX708VRFCV0HZHDFF8BVHVGS29BH4JLBTGU3NGFIUDU0QE2UE7TF3MTRDJM7I485AOOT78Z27NCVV3QOOIE7P3KJJ0CE2BWC3NX9IHHLX9KRH662Z3KISZGEB067VJDRQ9MO1UIQ6KTVJRJS7BP8ZDAF0DETSWXB4PF2EIFLFPWYNL2D7Y90PAXDF9TFU5BVZLTNOXBNV122Y2UMFY50PX6G801RFJYE94KBX9002JQDAQL8S5PZMCROC7I75NFSZX4GAORVBW96AFDXIC6HRZPOO6JVI66MDKA4XH6RR9UP0277D7R6HWXH0OOAO32ETXQ38RJEV6Q1PLFWZVFP7F4RPTZF6170XJE847K73HVSM1KKQXYM496ULMYS1C6MZRSG49BEO5Y9K9S3BGN032E3UW0OM6AUYCJCZ50QUW3FYG8TS0X5T4HZDJOL5X8IYPZBZ2395PU82GGUMZYQQGN14Y0XAS2FL div 36#LPPJK379NQ8GECRSOJAQ3V7IJAF2O920MKI7H0R0MORK5RG2PXF9GN83CW48ODWL86EFDLWFEWJIPD2AR2NGAHLN0XZMBXEENEFV55LQ49K9UNNREVXXHBZZSI69VHN9OVRDR91ZMZ3H1WITOA9MQ757OYI93LEEW2MFFOTKKJQQQFCJATZDEKG7M5VKTOCXAOKBMPEOD3CS2KHRMTNHB1TP9EK6TINMIFWAJDZRANDDLWJECVVSX20SXJY5VF7EOLSBQQBDMNXGQDJEAN1GK0L6O1BP8U35EHPVORY5VPFRETVWQMRFMLSEG512CCZV. +-36#1BJFYS7KPAYERC62RFWO1LBP2M77IGCQ7WOPKD8Y82AAX78CUP = 36#45QIA43MMPRRWF0VJW6TIRB894CD7EU90HC6WH8SKT2BKMCF0XFFY7JYBSIEGNL0AF9791T9MQJULMJDHLN66DPB1OZ18I1JYZZ div -36#35DZP6SESU45DAC2FQ9C574KEDQZHL4CVCL8V3YDQ7481SCQ2N. +-36#T5OWBC7IFHSL7C9DU8T5UIYHLKLGTUDHZKIIA79TE2891ZPFYVZSCEBDBXXNM06JJ64AJ5FKFKVK3UGD = -36#1ORXVZYPK10AVQ1K41G8RFTCOFURXW5QPYTU88NZIFMVCPLSVX9SIC2MV9118IS6NVATCWFCX94OSSC5AM2LUSWNSWZOF31B8ORASRK4261I86DWYMTBNCPICIZH6P4DSO div 36#231C6A49P269B3OECFA4SNJYAPZQTHFO2DMWTK554NGRLEB48O. +36#O4SYYAYJDTYMN4LNT21RAJ89PNN30C4NUMBX08AU8TGRGY4CI = 36#6JJK9YDVRO57A7H20WZ8H896ILSU5PFCJVQGKQNP0JO2BXXJTT77WU6EZDYBE4QWMEV4E062QRN8SMG37JE0OIYXUW44P3OIOV2JXHFLU50299D7V7GVBIL309A5WO5OB4O8LPWX4N9S6A8BM3C6CJDPVV35CE14BEHCJI6DE4B4JZHDWSMRTEO5PK7XEU45DZADJPWQI3I4QP7153U1JB4SWE2RWOME5OI div 36#9RD0414WKS1TPWJNRL6EXT6HKVW7DYKVRCJZ1TAVD0AIN6PSE3ILJWD5RSNT3JYAPLWOGK336RWJ9OYZ6KVJEDXFZI73KGLD9II351GATHAKBMHKI1K8RSM866Q11WJAT52QI2Z6MFAL5F4JPT8TDFJXYUVX6UJDE2J1NFYJU5K03IM3MP. +36#12CADZ2FYPN3FI4FMLBJDQE1JJ5ISY3VQCGXGO28ZR9LGD5932 = 36#U6Q81JHVB5B83CT71GTJ8OC99HIDC6TM8M7N5I5L8J6LAB3ZNGAXRGY3VUMKQDWITYKEA6QF2718THJXPUXE66V3CBTPMSNB0NOUJOX89YK7M5ET4Z7F79S9DHU7A67E0RXXD8X7Y7GYY85C9Y92E5D8YC4C6NG647P6O6LKI5H4ENXGTOC06GSTCXGQ5YIQZ85Z0ZR2LT9ATF5AHWN4UNWGM24QW59AGC0NHHE8MLXRGOKGTEQ0VU2CQ6DN0Z7HT60LIZNERR09M9W4HDJP0ILZTQC8LGASUQF112OF523NOABGWKG706YHPZ1FR3T0JEU4H00WLRW5POY0DS1VJLI5X2EZFJC4KW63CMUZRBFT3SUZHSCVJKP37WXC3U9TB06ZEREOW9I8S8R229PM6ZOE4U7ZBIJ12CCWTGYVCQK7MYEZ0NM5OCQ8W5NROLSEDEKTHKDMXUZ4WTLQIYV9C1NC8ZFID1TMC4VS476J7YM6AZAQJIXAM76SQFYERH4D1UWJ3IHT299PAOTVRFH49DJBKMYHUK6OS4YYX1EOG div 36#SCD6TV7853HBWYXSMKE1ZIKWFBNPE4D0L6B4X6H8499MA1YQHIBF8E8U60BBL9JPSXZNGFMQXTDTEB1SRTLPXQ24EUDIV06M17CRILQG3UG0HA1ONFG3RS6P42QNXJUPSAKGFJ1KJMEYNYC3X5UXC6PO8M4ZNGXVGAGA5RW1YZY7CAE0VN6UAN01DQU1ZII6L73T7EU7Z5ZG7WJ2M96ZJGK9CBX1T3UX6GLXWG6U4I1IOTCCCXGCK44G874XWHBZQ3VJEKJ94KZITYTXKAO5ZJ3BLKOTRNWUZDXROSRGZCNQQBNY2L7DSQAJPGDBAY9V7DKO9WS0MSDX7SYMW5XQD8UUBHRCJQUFZ7JA0BLCBQCGDAFHTIZQA08PTMZIDCPOXI3ZGVZXC9FUTMURP9I4J325X0Y23LTD7F99IU4L9KDFAXJQDSJTKS05NU9VOW3P49DDJ3G4WYZMG5PFGJZSU31TWLFDRICWZH0ZF5LCAFBJGTTXF2SNN708. +36#29O2X1K97G23C4MFILFEZ7RR9D0T3O20CUOUUXIN9VEYFWPZH7QCZGW53S2Y1M9Y7G4OBXYOVLWPO35SDQEJWK4CIRU632I1KS9 = -36#15BKNUFZ1VIYY372G368RQDLA1L0XTBOF1FWXWCOL1LJDC5XER * (-36#1Z5G63KHLKZEHXRGY0EZB4H95DMSDBB9LD9EUQJ0KB2Y9N5LKJ). +36#2VB90FUDXLNW3JCT89CQN7GPD62OX5D4ZECGKVGA7CTOVD1XTW = -36#1C95BFZTCUC3CAJ1I8ZZXB449E4TYPQON01F9YU29WP6XQ8H2XNMV6RALS5XIONTAYXG4O1NEKLZHCOHJVCD4BI91LYYZ92ZOHWQVRKAFFWGJRRT48EDBSESVEH7ZRRJBAB6LS66R9LO8ITW1H6FNAG41U31MNA8F95PEQ6604ACR4NGIYTF3HNURTCOEUP1W0W1IZCS9NMGVX31HYLTHX5UEG7YDOMJSX33TMCR0WITT28B8XMENJS4YR4OZFYNIRBPI36LMRVFKNA4MU8R4R8YBG8EOX648JM8QX8U6670QQ1WBM1MLC8076D0JAOTRTQCO1MZKHCXMX4Q5U0MRBOQPRN4LLTR8ORKO9ONUPE2TOF8EME0IL4ZOYA8YPT3FU9YTWQFLB10F11N02CVN2O6M0LZX23AJ5XFUM9CDW3QEUWZSY6S06GKI28 div -36#GTBL3KZECJ1293HPANZXN726F6Z44I8TZDOIX6VMJHFUUKFTA2VF93KF4KF7F74XOZMYNRUQE4DMIHOEUNG535C1TYRRENMJ5OX9E2VZRGZ1E30FFOW7UEJTFP4FOBB7U3B0YMB0RSWOBMJEGJH6XK32LZ0V3L8LS8BBL9QIL68V4ZFL27DL9KZJYZ2Z8GUVH1UNL2TJD9MXGNOKGMJLO4B8R2IOE6VLMVP9222QP66PQEJGR8F6553SHCI8BK6WP3PEL64BA9K6CZ03DPDN9LJDPECLO1IIKTDCC0MK1PNV718LIZURVLSJYJQXOXWSKQ1S569CCLP9GS1VWWY0OYJJ7XFBF8YN039M27N7SNGCOHBWWL1MLJL7OZWSPVULWAOMSEOBG. +-36#FJG7N7K3QO5FBVPZJ4P38GAIZJZ7NYJBX3HWJ8VOR864NAZ0UXRPZ1PMY7V4Q7N8ROF0N8R90J6NPLMKYVDWN4FQKK2MKU37DXF0XOFNY3SM2AQZ3JYB61AIILF8O1XP0OWJ7T1FC8H3QR00IU69FSV3S8QFYIB815GD1T99WYGQTWK4BGT79RPXEZGRUKW558UC56BJNUUM36043M008JZT37RVSNGL0YL6JBP1PGHYWHAY27UCDKUGCLX33XCGG3D2XJI4AW5ZA500A2X9CHI1O4NCP0NNAVVBB3ZL1JRSIMAR5VATF9YQFUA4KXJGJ7TEKHWAS5ETQ211M0HBCLS6NP5KBMG3VSVV9PINOVXPLE0SFD4XDBLCMD7D2O0N5FJJCRHGSNY5PZW00S1JBFHK6KH62S3UVD93TI15AAJYMEBMJIWVI853PSZ905OSZIJ1867KLE4YDL7ZYKTGE4X5FYJI8W0XM1FDNJ6URVFEMH46VQJV30DB3APS1QDDJAOCTB9XB1K1DQMDJUIINQJMOQKMA9N15GUTRUZH06WJJ28SH847RH6T1QW8LXMB9J6ONPIRCTEZGTN41EIP20N12CYNNV2Q2OQMWNFRCYWYOKVUQPUO1952054TVN53CTL00SCUQ2Q30SP8J8RGVD0VPFE2CPTUYN6PCQ55ADIPYE2Y6MNZWWMY2ZGSDTZNG4IFKEL5ABLM9LZL4IP4FCWJVGC2AKPLOQBLE40MIQYF32RBA63M118B0WNY0O4RVWRGTNKGPDS9IUNWM3DUE0IHXCBQCHYRCDSIZYJETI22DUA6NXJYOZXRQN7TJMPZNJ03XU3R1LKRTLQX40RJWO4BQEIQGOPY42XZ0UYM7XR6TWKXV4AFAZVHHRVV44KHCIK8YS6C44FSQYSBMFDY1NDDMS92D04OETE9G2MR314OXTGUFOFFHRQRN47DB7PNMXUDO2V14EFR1LRA3J7UWOCI0W9YON0DG4DC7G134UB35F74DIJ3T9CQW5CSAXR2C9LKPOI573HINJRTLNX5NER2FTB6L9FXMK2TNHS8GGYILO9O5PK7568HR8Q9UM8GPM9EAOJOK94KYPOGLCQM19XCAEN00V293D318KX2T2FBJNWGFRUDGJFWU1PBL094J6VQ8RUAP6JX1ZEUP49VAFM = 36#ESK0VSVKPXNIRR13P64B9V23WIQXC8JZS8THRI25NTN2PGJKF32X3UBMKCQLYO8LZMWA5V5T2E5UU1NFALYAABTKOVLSCC4URQR0QY8JPJQ7MTIZGWJGRRVZLXXP6IJAQOSY7A13P1AL8EXKJ4CPE0UT7V5VNESCR3AHDF9CUG4B9CHDJO3M4O47ZK143YFCQTFWH7SO90EO9U6DKHLX9YE41RC3XLWS8B2OFNB8TCPIHRDH8KOZ1V256ZHXBLHMU9402UUJWACWIYTV8XLVCC7QPYW2541IEPJP5ZERPFIRGWLV8A29WCD3H5YXU8XHX0RJFJFP05O0HSRC1A1PQWQOOCWVOXCSF3RGTDOA7D3O0DM8N03AMS7AP6ZUWJFV6GGTXLKRIQTW9XS446YBU8T6CC7P1J6AO8R097LD888WHHN2DQIF6S0G17E152LKKP0C811RMOHU8OF446JGIECS6221Q47OHT1GYL8GU11A4JERR6E9V90IO7DCD9VNI4HMIC1NK435JA7XUBH0H1OTFLWFI3ERK9OVQ * (-36#11TG4NPB130IOEG2TQCAK3DRVBIGJWDC029MS5GZ9FMCO9ZJEABGUZ9OY1HZJ0DRD3077H9SCFWMSLQS25W0SGXRP157JQ6UAN7PBXBVOA9WYR7EC4M8Y2PVCRIFLGX2QHGFF6MYY79WUQB8YZFDZ9Y86MMMXI3ACXLEBWLZJSM5GYUTY8VOG11VNVW3FM183Z2UUSNN70404M14LFDKGHIO4C1DKLWEF6R8ZGWX5Y1FOS3JWGP9C8YJJ5P0SS3C6974SK08BC4V4LJ3INRRA6V1JOX8IGH3ASW91BRFRK6VOYRXJ1CQ4JO4G4N8HOM6UG7CKMCV2FIABPJACQF5OSU7HZMONLMYW5LKLNXDI9NM8T3FQRFV6QG90F5P16HNE019YRMAPKN56KIZPFGWNYG22MTJCX755ZTRO6DPFRJK2YJ12519Y7FQ7JN6MT60PO7827SHG4XGX3RWM0923XR15NXBCWUAJHKMNVQLMR3O8A2Q2FM3D2V0MV9JM70L7KQ3RXYSL875IAX1Y8P7YZQIZD7IW3RCP7J0KGBDINHB6EIJ3MS69S98D2T023YH4XKAICXKFZDEF0HF2M2GJQJD5P1L333ZIUW1GWWXC1ITSXYQMLN). +36#IJREWBNEQRNT6U1ZCA2BO81RPRIY9T67DILCLU5LVDGMBYE64GU47A9KYWHMDF53QZTWL0YWRET65BXVRL5Q2ALJOX0C15YX05GGHMXQVPHVA2VVMFJTO9OY95UKXGFYTLF41RDZJTMAO8H4WF8515D4L0VB6L1KTTQWLEZZ7QXTMROOOSB3E6CG4Y2UK3EW1I4GWSZHU5HGGXT7RF34IA43FH1FL3P6M0T6132X3936TM88VO1WHT8GYX9XCUVFI4UQO5TGEF2QZLW5CQRRQSTVFVOQDK430Q7C4M8B1BCPWPYOZ50AYPTTLSMSFX0J5ZG6WLGYHOJV1GU4Z9LSYXTARQUN52FH9O4JOIG9IZ3P3QRRAEFUNIDUNENZEO54GRN9YCH95MV3R1SWYAK9X6OVL7NZ6B1J231SKURZR3D1ONEK7RV4D50B6N5KEL29KPH5F5YM5O3V9F491B2IAH1GJ381T2FU24BJ4EPN31MAAL5FQN24JTJQU9R6JXL2GEACEJVR26GSNZBMCJ18UHHVPP9SWSY6W5MO3A5TL5SRRSXU6RVASW4JXYD6TVJBI2G1K1QKD9VXGKBXB0NGEHKWPVJ98TD4LNQICQRROJ5W81J9DWEUTI0RXKR0ZBRQ2KKZL54DDMNU64PEGLKZLWGVLBZCK5DPGPACUUDKRWP72J4A2ZTS4ANFG26P2E0BR5NLUVUZ177EAWJR4X9IJEBG7GZU44AD18KAZKXS655EK3F7QSEFJ6L8BWKNZQ18RX6F8QQ1TCRVDS9YFM93C3SD4RX6L1C5B4BWRTZIZHEJHH9T2C8IESPR3QQBD7LKMYYWJ927A5E3CZ8ZMIGY6UY7H5GP2WJB2F0JFYOMU4UCQKZ7X38MAYYF9NU3YE7PIQOAE8SE0D55VF3LB0UX4VIA6FW2D1H5R6WSSRZZLPLM212XBF5ALWYPEWRZNJC79OBMUW3BUX6TSNM3KH48QE8ZSO7U57UHMK06J5D1Y9GRTEABADMVRO947D0W5M9OSL1J7JMTCL1H94KMUQXRRZPSLXAJYK2VYPNWH7JAQ2U9PD6D3JZ7K6854JP9C3D6FJ2X60O9TT9P3S1U6XPI2GBBO7CMF9J0WUYHMJDS1800V2QHYR0EI7J3BBEZSRFZQ82QHJH69JZ920M18NU9588OV788SW4026270RF091KTKF97SMMM5X0Z9CBM4VT3PW2JHE0VOVQ2PZ9TKNJWF6XDW7RAZ5JQT6GGK6TK3W56075V4HDNE1FOXA864IL4RRSH2IAPUBUROYLEWMIUEIHH6ZBJGC9V2UBCL5NZHH5YH1SRRL6C7C2DE17ZGPVWDFHOKKEZ6H3QN7T4BQP09GRZZA1BJ96GTFM0DL6OVHMOSZK3B3OH7VXF3G3I3IG3K0FSELUZQUXVRK2G59CLTH716F = -36#6RVPILBJIRELRJQ77RPFP91W46MOYHJFYZTVI8TDSHTR8T91MN9NJWBIS0FQCNPT0EEEHQFTW98PFDHB0BS6UU2FH8PO0ELSRUT1K3Z93QOZ20DNT2OK5L55I5N6ZTVX4IMZ2XJIIKURLKASG1PD2PHJFZ0YJA0DHCI6Y6BCHOQ3A7Z4WKOBJNFNN3XADU89415WGI2O3P9R4VU44KDB7OJI0A3EJ7X9XEXNCD0PR1UD8DO68VE1OQ6TMLBU90V88L2M1IZZRGHV4K5O6KWAGYYT7G2BC3OCMVE1WII1KBD2AXAZT0PXX7RP01GD80B0PQXU94NCIFINNIE497A9XJR34S0MZDY715FH26KZ8EPJB278282JLFDOI9OX6ZAUH2B2UQR4Y3YKIT9IZU8STDGKA1QPHYRPEKZU32RH4PP2US61SDMMMQUVWR7RVPX4QT73Z13AK028QMK72431R8VFKAN12NZ5DMPQW7 * (-36#2QKJ5VI2VRY7YERRXKY6ELUVSZWA2EN2FKSDE1I3YC0N2ZPGFZFGDS8WJ6R1486PXLZUN0RWOUB96DOM6RJUPKUF58MJBYR7RD0NRLFUKBJMW9IHZR9TEZ5NIEB1QL4LPPZXGNLHGDHW1C88W6ZNOT22K00TLQDNVA4C0EQK4BC4VS4MWDJ2IETI088X8RFO5D0XHQVQPM7U8YTWJ36OAN1S98MGFGHC3C8SIR62R39E313YE6BYTV0CF44L1JNQZSIABVEUVCWSWG64GN5A9GAFPNO22SOX6QQZT54MGUORFLHEFFWUB6JSROVROIW1TAAZHZQTFRIWPC3CUPYQPQNT1GVD6968JSFJ2AO4HVZIO6AUT8LRC3JQFJDXO07PHY5G6HSEJJQPLIGJBMK71TOXPJDYBDAAWPL9I8FFSPLVU3XL3RYO7XU04NMT1TL13M96S2ZEHZQH13QUGSVVIGBEAZ95L9ZIUR2YGNH78H9RUFCR8B4YZ9SR1A0YEBCBZY6DPNABQ6D5ZS0PFPYKQO3WKB3XGCP2WL71FXVNCPH52LDAW2YLDQ0EFGRNKC2FP2RNI05YKG8CYZOFRZ6SBEREPX18ABGDNYCXMOD4KK81NPIP7ZCNC0U1JLIJSAEWD4YIDQ7XWRBG4MYLITW0M6WEADC0LJ72V4VS170OII1SCH098LH1P1AQIPWBPPY0QRPGJA2GKZN76FRUHIPYUJPOQ6NW8KKGAPH28T3S04XWSR8FML4VUZM3RCKX1B3ZLG0DLBK9Q7RSV9NHO457K44EYVH81H0CH8B4XC7C7GLDAOLGAVYUE0KL77MRTJQP0XQI7P0OEKZK4TQNZQYS5NIWYV30Y9DW4XZR0VPA90MT35DHT2893D2DWCHBXZKTM4CPMGXDA9MA5R9XBLJ48V5J9JPCUVWIXF5990ZVNK528K8SBRFOX). +36#ASVP0ZU9KH4DBRUJIE7PINBH44K9OAOQHX68FYWW06J2ZX72R = -36#Z4TYT73K2C7DSUGHP2OVPEOSTF49K8BN4MNZ76QSEFUAX9RJW3TAHIEJ1EDL7T1IDN88ZLY933WDYJ2CYC3134JB78Z1I6APPGUFPH18MFNTDKBBRIK2CAJ5QFZWZ1RHHQ3224VUAASHOGJEIXEC2RYMAN9VK9YQSZVF4ORFQOTMWGNOPZKZ21VP4EVXV9ZV5I05Y7OXWM0RBEGROGHK2FDV0TDLCFLEJSVNUHL2VHJO1ZLW9IC5VAYBEEGQT8CWAR50C1F4443YVJ65HK9BE87QGG48R1PPQM9IGIYOIA8G0PEZ5BA3ZIRB7ONBEWXSZNK7RNZTCPHZEUDKL2UM526KRRAENJ6O2L89RT34PST7FUW2HHAYOC8D20I5NBSKQCGZ247KQHBQJ5RSP7OERZ4M2ZW6OOAA2FTWM9KGAR div -36#3938I1B2JZKBOA4MHTHEKE326Y6MYGN6KD6N90V8TC2U01WV6C3FIKGYKSXRC58R5KMABGH8YFZTB9OU3TCL1H9GKUCKIZYKJ1DI2PJJJQVS9U3QFU9OBRWLG9PNKOJB95QIIEFCJ9ULTNTL6ARXTVZT396EWRI6UNJYP15A5CKH11O13HSJMTI26GC4PYZW6YRPUPHSQ7LCGLKB3238TUVFQKZIRSBRVO5AJHGFSW502YD8PUC9RNKWGOQ78BS5CJB5ZD8ATCM144FK9OP64MUMT2QCD55QFNE6YDCR01N6VC43117S2693NABADFL64KEDY386E0EBF8KDYGK0DY2B8LL975YZ3ERFDFAQ2MBSFZJ6E38TPMZE8H. +36#1WHOGIMZDMYEUQZ6UT9QRV3DDK1B9HIX7SY7VR0KAH109ZJUEIX42H22PLEEB3HIL9C8DVWUDTWI9DFSBAQMHNFCQIWS3ELH9MN1DLT3WKSTXSMUNVMZPP6O1V7CIZTF9SA4KODSHMAOY17M0VOVB0YGGKLN6QWN4N542GDT7WFMLMI024WIDA4RGHZ9IZMYOAIL24VXJ0G3ZJWHS6VBHPPAUTXU981BQHD3YGDLCPQ857Z3F64865EZWON6GBWIQEUTWJ70QD8U9IA2C04OQO8W3Z37MXV06HLGMQZXVQ4QLMJ9NK6OM18V4NIWTTOFZ1JEV620HALDJSSZOMX4PRBJXW3IEZSMV96N8FZAX00VHTTATS045VNM569CUX9DC7NSDWOW4C990WVTQUJCSH19RML81Y8WD45PJ7XDM570VXYM5QLLUIVWMFN4D515MXXX9XEE1USIPNA2SIDUV3BYSYQ3UKHEL0S5MFYSC6KG9OBUC0QT74Q5TME7B6D67QD3A8B3IU7IJVU2FSPO8UU959SB29OKVWOOCR0S7YNXNKBBE7Y1EIZ0GR7FGRRIHS62HBONU0TRI8AQL5DJAVZRA6BSHFQQPI = -36#42E116UOGF5MHGI8OJW2HR933J785NBD3OVYALL90YOO0ZXD71PKYF9TPSHRKBY5WP7H5H75MY2X0ZA50PZG7AI9P92STC44HRCA14AVH1Z981AAG6WMQXN26J8EU8MSZMKHDJF9AT5J3VLTF61441NCVJCMTOGWOEH0SQSWEGTCYB5C0UUQTZ54DU9U7ZI5EJ2ZP5G8GN55D7W9QSMLZLSWYIMJO2DT2C940ZAHVOD52Q4ZZXF56CJWMXMWY4K2P3RHN9Q1VFSTNSA6N14FRK9O8YSPQMY3HZNFOHVGO46JWPQQDN71C77B9WP35P70940SPFG9CWLP8O0CJHPS10ZMPINRWGY23RZOMKRBY6PPM1NMTDIKBCMTK5BBMHKYTIJ57KMFQK8L64W5MHKFFD8MS8NA71LSFXA9P057HDD559ICK34MO4ZPURK4GY0PRMEL584YRICZF63APY890I5T04E721TG9MV4NV4LJLS9FFIQNFWQH3NTIS60VJ25X9JO9HWKJ2XEYZ2YR9NXUBQQSJP5OTP112NA71RJ8M48O9F0UUME8IBKU150EEUQVYTCQG30GLMLQV7A5Q7QXKY6N9AMSQDQJGDKNS35U32IT6Q3E5IOW6F0Z0HW36PTV307W8LT209J3EKNUF0 div -36#24Y0D97IOKTU2UB1B59XAOSPZ07EV6MDIO17UCLR0VKTX70KJE. +-36#2BC6ZQCJV4URKV1GPXXZ3X00F25KLPGDMIJXM87121PXQM7XGD = 36#CNITQW88CT3ZPXO0KWFH12SW4MT8K1T9NW51ZRY8964UPQMSKBHR6G3MWLM5AWM28M86PFOZZKUZKUJKZUGSLQFFV2MPWDH01ZJ7TR0PPW2EC26XFJEBYJV6WXKRWXT993WI1MTEGUFD65RYOHTCQCNCYN5BKDFTHAXDCVOILS98Z7FJXMS7VRZB0SG227DM1ZT31XXSHUSF2EMAXYY85C5BTJTM2A6V965863GBUZK3ORIML div -36#5GRU19UPVYFIBEFSOM6WV9NTBVB963RM5ZK2ON56ZTAB7614378BEOX3NHKZUT43TRWIKJKL726R6BDWIP1O6Q9QUVPY5O7NX1UOANWVR60KCS5S4FU0141H5YIG9SZ00ENSMDJBLKLCXBC9VUDS5W3R09FP58QLMHU9SNF7AFMRFDH2ZNHWQ0G9XIQ24Z3L. +-36#1YGKOUO18L0G7JLM1HFC12LKKMZZ09374MM8YXZ5HLUU553RDJ = 36#2KWBR5CV8NRYJG2XZM33NXMGM7E1LPTR7O3QO599PP9JBF2AKNRN8ZK0J5WPRYS59F7HQ3WGZG5UB3XN0L8D24ANNUGRNNNNNXFBSF6WVZCU59VYKHBXVX12PWWUQVND2O1W3XXXZ5DFEIEFFKLQI81N82SGBFGC0035JSKMM3P6OGDSFQC5RND4O6F2M4YP06PXCC5B2CZFY79WASAUQMAE38SWKR4X2UQ1XAZT2TBPFCL52T0KGR3QR859NB97NKXHCRUPSA3K025LF4DIAC8W8RSDS941BA64HAWO845D1D2583GR6RJZ902C1Z51VSP1QNW7F7KO8POSJB9G44 div -36#1BGP868T48S35L7YF5E8ISMUQUN8GSCD3CZCLHZKBP3KW71ONLVCO6G10YREZFR8Y6UD13P6IACRCE09I23KDH6FRA80R2JWS4RGPOYP54YMF1UZ2CNZVKI62CD5BS81G46AJ1E9X7W0QBJL46HYB9G9NMU2FCCRK03PKJCZG674TA73IXEW7YAWSEYKGWL3M4PNVFJCLH74MF4DYJEWDVOCFOTMDJBVGRPVT6HMLJBUERSAPNRXFDMX4Y11WTIZERR5ZS6G8YUJ280PDMDY3UBHS93VVDE7BZNM4. +-36#1E0NWPVWUVEURAELJ2STFOGJDTK0FX03BYWW03CVQZVAM14X84 = -36#17V60K9XTKECEHYBLFRPC4RYRX9PL9WLTXMVPZQ7XDOHCOLM7X7WXEXGG47OC1XAGUBR44NOUIPYHZI2PF052STVR7LILX8NJL3JPTG6NF2K461OV2B2HM6HEN0ERCPVRQN67KG8M99YM6LX4HJFVLHYU5TNBPZP6X4K9O6YWZUSUM6APJJFGMA8HI0251YCNARKSHG4TG0XZXRZX2SW149O1WMICJ72VTQA0S7F0K3J61KUQ1E48MHVXW9BEZ6UZPNUBJQTFCFTT0ND9EKNOCMKR8AQWNECFVVFFKS6BXQLL157QCQUYY5MBSWPTDLU4JNB5T6EJ2LV1ONN43SN6A5Y4O5T4P604MSDNM944O9H0TF6SV264348LQS3Y355Q5NWORTAHRBH7067N7V9A3JESBI5BP7B2VX3YILIX85MFCC08QIQCHDREALX0BVPEWHQB60GHOFD4LJNMGB4T2KQBXQOT04BU4C3WD8G68ZFOEKE6JZNW808NBLD7M9DJ24W3W0I7SO65FVFD6HOM7B624DL8DW71B7IMM7RNIHKSCML7VBO6FRXP6ZP0A0TMGFJVBFNMUQS1CC2E5ID5Z13S7ECQDW81GSHCOGYD5US948P5VPXPOLNXFNENMDTM8Y3RIAUUWCAUOK5EELFYE8Q2OVW0IB1UZN2NVR0R7ODWDR7D2M3ETJN164QDBFTB6388F22RHYNEMCKXHWEYT3PJZVVQJHY96BHC5RO8KY8QUPZWEQDJIRS1H0ZYF97ITCFT12TNY6MI7V7GGNT2FAZMWORCDZCEZRTV28RDYMZ4V6I4RXJL8QEAWK3HE0Z74HHVLBLXFLFP9675BS div 36#VKKWX26R142D5JFX0APVHPPZ4XDBB03SEW95LV8R9NYM8HGMQF05Y0WU6NO3Z7VO97MAYERLGUKP5ZP0E8SJUFFLP0I5151I67CIR4CVII3FQHW8UPPAOVI5REUPCJGHYYPPCKZ5VC2GPD6L1XMHGGBT9QAJB7PWZSKWZGMX3D0HLG23JEOQSQ34CS21QH9OFYUTY7CYYRLNFA5FCP0NBXWHNF6AGBL7ORJUIN00B0Y4J63FS777HFLXP1YPIYPQ95D51PD1G8CVEKT48UQEPH9LWQQXYKTN1ZTIG9KW7W568BRSUB7VZYL684YCW0QH1YVQYPNZW6ZCRCNU0ZYRFL9N6MCV239LG0KJFUJMHKPCIQ4TQ71RLSXOYCP7KV3FSX3YB4A7M3B7CR9QMC8292Y28X57I7FQ2HHIHP890P66IJWMAT9NJ3X89OZTEJWWFOWYB5H8M3WPFEN7C3BVFGATRX1FIQ76QE6H6X1NOA0M1OXWL8XTKER7AFNJH18HEMK7LFTGO3QGGBVSIZI7G11YXA3L4PJTDPXIZ15U1EHDYJU16DT0KH4KY5Q0KX8JT78B3811YQLABNSUZNR7F1E9Y34MXVPT7JHAGVDI0VHBD5ERQCI8K8ZS7HHF4OPQX8CIIO91X4M89BI89WJF1N9PCVESMZ6DW245WWWTAPGEC8706J98FLYDLD8RR8A1VG85723ZJS9OWQBOOFPW07OGE1BSDOIUORHH83G8RWRJAYIR826S9Q6N4DEA2PGPTX68Y89JMCWXY3EMW6G4YTINAOU9T3UXY. +36#1IHQJEBCMXNC2DT0SM7TNKNUJOPM0KRIQQSLIDN03X7ZZEQ9NG = 36#AJPXCQMJ2T62ZDSB6KB2FWAZX9REMUAYG13BJZO41KACX3KV7J6T9IH1U8IWN5T69A3HV8B0DUKH5BUO00157ZTL6WBC2RKX8EGGO7Y9MIZF6IZOCORHHY0T6FJN9066YTNC787LZHX04EJEUTA3M3RWF48A0TZHM9Z7ZFQD95TDRKCQS0I09WO65S2TAA9EG8YTYPXL7769I879XDOE1KA9HTIJXLIZXY0G2L8E99GNG0VWRUV9PCHAUQY1FWM05DJYO61Y6ZD9GYKW6VC div 36#6YUVW4WPHH1359M6YSZHP8Z6ARIQ931D4SQ811QE694FACFSBIBOR2K5GPR6RE1Q8A5C2SMUHET4V06X5JAEX9G9VG3H242UAPA3NJSPZQW8H00R35LTP89O5LIZ5CTQVUM5DA6FN7P4UU83AOZ5XT1CCNVBRHW069GAG7TUT771CT64XH93V75F2XSNOGRZ4DAJZXF0IZ0CK9ULZW55ISMPVFAD4MYLCU. +-36#276E4EUUZSHJZ5450ST20B9WY7YTJMTE0IJG2BT5XJQMG4ELAE57HR40UNWMTKYRJY1J4KXILP1UJVXDH353CTR88PO4ET8GD2HFYDZDZ2NR2CARQVG89H6M4OLER824UAK8FEEGBYGFZ5CKG838SR4ENWCAES5VO8LV8MZ464ND2DRW9IB3A6MKPCDJZBWUQ8CUYF43RP3WQI0YP9H8L8R81PCZZB3BMPPYMPFQY9W9UJGEVIBL08V3U3ZPGYJ4NO78IVUJPOUACYJHT6TN3JR4SW0PA5LECF92PIJ66XBRHUO8IFI93LTMMZXAIM9AEYTU3FA1TFDRDOAZXC6D6WHLLM0MF9YO2VP0GLV5R26Y8RKTMU9QO5QAFW08Q6NGEFPE8PWXZNDTTCSLYC7R0ILA9LBAAJBBH00HGE83AP2PRQRWR6BK49PLGV8BTZYDQL5P6LD0AA2BGWAESROBF1TXQ51RHC2S3RXEQ2SCELUZXXT3TQ3LQG6HO4IO9NPVI9GML1FD2ON1JUOMPJQA64U3BYEF9LJALRE52IELHLYWS7SU7Y04YJUIAURRI86QG2C2C78JU383KIQ7KMSN02R1PTGXT96MHC609OO51UOZ3VPK25KDGJIU912SU7V9Y34ER4EV2L7750DDOMGFXZ2P6EX0G8LLUO1455KNEI2TI3JH09A3DHZI268F8VBEGPCHYLROLZWKOGZXF2PZP6XJP388AH7N90RKKNZFVCBGJ2GHGPGP5ZW2CUAB1NXBHFR9KOJ2DCISO0D0R2ECVREJT1GQOE6X6GPJ3DYCPM4Q6CUXL410B67CZ6QR4MMZZ8PWRLL9KH3LYJHNGX56Q7ML6M4IK37PW7X1AK5ROV2MEJTNNQV5UL35KIIXX1V16Z32JSHTSJZDXL14RO7AQCQ0VMN8KV9DFKV6734B65KQTC69Y2113UJ8TR8I2A86KXYVXCQ8D9C2STRTGZW3XGJ6OZ4L5P0222WWMC3SA9CI0PJLMDNF7LAKFF4L2GX3UG49WK8BCY16A2TLE6RCCBV59FF40Z76DI41NJAEPQPACC03QMEPE1HFJT7WL4JOF6IZES53TQ15GJBUAGPHGMUXTSRF04X7BOISK4LUAMT20FNWKH1RK7W19NU7VHSG85GOQPXVSHGKW0EYXBLLGLNGXO6PK4RNUPTA9EG4HO2OH168J5B76P0C6RXO52SXJ21IFGC6HERR9G84JU5XTQIJKY8HP4SR269SNBVR9BQBDVPLFJV1BHFE80467W4JI5O3J161WXI62481DPQSTV2N1DPSMBFGY0HXUAJZ = -36#1YNHX2N6T357L5PQIYHC8J8NAP78XUHTK1VYMZI8ZERBXQRQX2R778Q9Y78SB9P8C8ZMSVYTH7PQ1QV0AOIL2XHH7GYO8N6P0XHVSUMFCAISWHBRZTX6RJQI1E7K44P5VWRWO5HCM8KLZZZXR5TF36R9HBUDQ2CT3BRP7MF7WHQ4ID302X3XR09Z8KLSNER48X7S9LR32YJWDNW04JF4QJIWPV0H4K9YWRZQSXX4X2E4P44YIUD0ATK16MUT75EJ9N10A8L3W3BWS62UKHMRMCMIDDJZCXHK97WOSNSE9AVK6TXOJUINONP6N74WPS8IN87W9GOB80BGXIARSK1RJ07AFDO078P1QNBUOUXA9L3QWP0NCTTIYDPSSA5DG4N6CDGMHDK04TZMC8P1C3ECPALGG00J2RSIRJ0RC4ZTQ3RNUF4IPSS8OESN32TU8CUQAHUC9V684NDYATKOYKCL40SY1GSNIOATHFTRB3GL9ST5KBDJ8FYW4C4GQUBHFXHO5MHDFOCU7LJI33G3BZYLS7SQWJ72H5GBLLWUEHXDT6BFGFMK9IX2XTTPR8TC9GT97BLXZRS4Y6S0WRA07OD0GDTFO8WSK1BEN1218ZXXD8J6YT36AHKK8VUE7TLUKKUYE21QWMUOOCRMBRV8C7WSBRC5758XGFSXBD1ILP6B30WEODS0NCLHE9LF3OADTIU4N3D0T57A1QGPEH1XT1XK6MDHEB9ZWH3D0J6P2QKPTHUQ4F1XUSVRF7E4NK7HOUU7PHZH8YU2YBDYJNG4UJU0GC351ZQIU00BS81B7K7HYJ5EGHLDMNQ01JGK8AC6WAO09E8GWEPPGQFC8MGJXAUAXUMU1Q42TGS31TU4LEIJPSDEIR9BG80F1QENLVYQG063YMI4YY8TFG1O51FJ0UBQBITPLXTQRA8LFL5FALNMPHJPFHGLZB9QBEXL7Z8NNIHZ1OLMHTL7ORBPO2SCPH0QNJ85BFSOLTM9GEGQNF4GJ1YX8HXCB6NLKL1OJH9HWDOSW1YRH7FANK5QND2CWHTT1DK9CVI95OWJTM9N53YOIWGST8K5Z1A2MFUNHJ79NZUAZNYTWLPMDJ9CTJBYF7H4EVF78OCRXZWUSLTA1I1SAOAAY3JMM85PAFAZRJYWWD36YF02FZKWH0VNP3SXMJW3PHQO82ZCI79LXTBX9X3V53CV8D3YOV6TJQ14DYJBWMVWBKXAFB8BEBRSA4SEI0CPFLWC854KBU0IX60NQDP4H2OLW3RJNZA3B87WQLMDSR9144Q7M4SSFX3HBAQ3CWDNBVEGRA66BRRVMFWGB6ZYZ0LP62FEHBGAFL9C4FYSK8GXC9J5TM3RC9OOW6VKGB25MS36G div 36#W4GNZ9YL9FGOS9G5VR40N740953GLRY8HW0AEQUM4BN4LE3XK. +36#ML7D7S66JCB04PSB68FERNAZITZJOALIQJ3HG9L7D8RB395C7 = -36#147Z2K4DZG76XMD54HHXQE6MCA8Y0O7C5SWBMSPFLP5MNWRJCBY1FBS18F4DG2VZ846DGG1VC29LXUT3K94GKZYGKLHQ38K9INQ div -36#1S3MN3EIGTMZEVNLORDA1AO0B156MHF2A3SC4LFPLASNFVG7FE. +-36#1UVAHHGZ6GBAMVS3KH6GDN24I413J2OJE2NK4YWR7EYIYH8N8Z = -36#Q9C04A1R5UXQCTYZH6D9XGSH1UVWL8MZFWLDKGMEA8OXOE9NJD7YDHDKVTSLVIWQRCMVRP8L1VNBTKXVUBPMA4BGS0KF1OQ7JG div 36#E4XMBQNIMJD8V8KA0FGVHBKSMQE10SQPTD4ZCRKUK454MNPGK. +36#1GCD4G80SBDWHAD4Z8LDB1WFW9OS8LTW1WPUJ7SGOASW5GK09Q0SUJIGSZLNWVYFL2ZAI2P1GAVYJGFYV8L840YCTCVHV8CH3D8ATFESE0QSF4BBTOIL43NDSVI2NAKY47EPWFHCFC6102ZDXXB7KSUPJO375JBIGK6AR2O83L2I8VR2E7F8WBBWVZQ8FNOJSB65UA8N9TRTXG2SBDZZE94PYO927Q82516RXBDIWWJOH1KJP79VZTWRNWKSIUCOX0AMACH1CKP3Q63FSYXI5IVA5PCY24X87JQUZK5BVF5R006GHM7VITD2MR6VNVV1DB87B6R58UT7USGGEBK93FD2LDB2IITV282TTY9E0ECPHT0OXXEFW1L4U1MOXFY0W20UTS4R7CRPMFR3Q2O9KUGLCJSXP2KKZR7NCRCS8YJF6B5DRJZKEQCMFJNEMRJN457YPHHROLUIMOTYU17EQIRNUMTVEP861KBFHVVSBUGLKVY97MUJPG59938UY3OZ3QVNIQTTAR4GC0ONR891D5GHC1RN7X2ZMBU8LATITWKTCCLXQUV5XCKY1MWSJC2BWOISTFEQBB3D9IMK9L67NVKR0PEX8MAUWWPHPAN8D34I6UWBB0LJ5TH0WVFIJPLN0NMI9P8VRAJ38H5M1BXB79K2WGHG3ZHIVLERQYORYFXRFGT1GWGABGFSOA2K4RV49CYKABS9Q5KQNT8DH6M8UAKV6NU5TDNQLRC9A6WQ9P7B280BC9HQASRCNHQ6WXXJMIX5IPQB8M869CSUR71HELDPO06ZLJ1VT3Q8WEFLRJ7ZA3XKN7W025FK7VTFWKJDBTO4HI4R8UCYKZ8V8CQ4HCR0N842NTOSBUB89RPFKIIBCUIOUQHX0AIZXVDO21D1JVTN5ZI41MVSWGNKHRT2XIDWBAMLYY16VS42V099OC21YRD49VV36RG13KBG8BXT5CEOZR25ERE046DXVT83LZJCT9ERF3C3KR0O1CCN6I0R73GQJMHGPTCXO251PRH = 36#QG4W5QV8QU0IN8OCY9MOEG4O04FSYL7XIA4FZWWHBH1OCAMO59J0UFRBR5WM6DAR3EERM6BN3QRMJ4KTVW9NQTIZA7RHNUANROI2S4OZJNFF52DLHKR64CA572G2ULFQK7A4EBJHM3TGM8YZFOGUQKF7722TUXSCUCSDX1J717PYJRNSOZC3APCZNW0S0IPRWPLF7GIAHBGBZUSDFI4IAE93OJ526W1C4ZUDUTX4RXXXXVJX3W1LF7W99GEILSNSBXFFPAZP50CWP5XKHWRHJW955T0ZRF81JKNFRRE14GJ1FU283HG1P837YAZ6CLPWFRLTAXDXXTRYBZT58OKC1E303WCX7AVDHQ8UKXG45GZDNPP7UTFB2RWNJWTVK7MOL42VVN5M30DOJDRZHXQA4G1P56DT1JM1WWCU7WTF384QPMSDQVN00LVMW0S8RCKBMAO6JFA8Q3LUWIQGS9JDHPACALDP0MKT1BGXWEM3C6E2CXQLVE3DSMU0RMOG6AJ49DBW7SGWRJRXOEO2V7GAXAVYJ94NPVIVLKUCNEANI6FN04LPIBH * 36#1Z8WII4Z2SVK9AJKUF2BPH7X7PLXZVZ5AYEJM2Q310D2OQ7JSVVKD2XCISD1EZTPJZ9RP7HN1ZSC3LUO99S73R4L3TAQ2T1U929ZDEK6ZK8OOHA8B55O782QFH89ONF9AI6WVEOZQEF9J1NW408U8I4Q2SY6JIV78DYMH8HKQ698RZ2CEM5HZGWRQTC55A2T4WRP5GXFHL845A6ORDNEQTITSG2IYIQQ8DJ6GYHLAQMNRXNRVMKTD07SEKFUJH9GHH3ITJ1CXHM7PI8KUCIRL5DFOPXASQ67UN6AE7OM9PN1DBTAEBYN9HF56H3YTJFHHEO8C87MJVO82RIDDBEBM7PY3IPCFD3SH6K3OX1STHJ3FZGWOJAYYXBWLLA8WUGGNZD6RPZV96SY3L7L9ZL40QBX2JO6EURTQSNCQOUCHUERW5NZEDEPROXL93RKY7S7AGYHGWCK96K1. +36#8HCJKIUYT0HVJ1O38E897ALOJEDYNA824WHNEGS9UPGFPKLQAHUII72MZ7OOUDTTH7LUXB81TV7YSY5E7GSDP8DN0QC02FRMSIBG0SJJ4PN3APTPU7ZYV2SKWXQSSWJT4UX7FFKU5NLAVZVAH7UXPMLQQFGHXVX9MVRFIZV926DS2L3MOCUDFH59AEWR6OFVFYLR4OQZ7TNLS7G8YEAJANUKBNXH2C22FWV7HL3111VGJVB5ZGDOCH8LII9LU0UVSFSZW7CE124CJZX118DAO17742DYRYYP1ZDN27CWLST7CINVMNMBM5T7MIFRHRY09U2W7I5XDK2KIP0L2IHUUR8TII4GSEBRFN7XELTWTKKGS6EEW8YWV1JGAATRI3W60C5SB2WZL4ZHEZ4LMF3DIICM3KL1B8JZMV2V8POONLFRC0WK2U1CAR3W1LTG7G5PPBC17YHHSSGEYHA0SFFWH2Z7K73B3K5OGQX2O5DBXTXG284F1I2DPCMT21P68QOKD6KJEVKEJGLGPMW1BTJ560APFYIU = 36#3WB5DA4X4GFBSOZYJ6SI1I1VSTGXMY1VH5RMOHL7TY23V058OZ8Z8X7FFTJLYYI7801ZWNC9PN7VQR9XUFX8BI2JD9D3EDXCN1DL1B16PTR2XUAS66BNTXAVBR9LNJC3JQ97R4YLPUPS3QME4GAJ47NB03EP0TCITVU4LXABPN141CPWVNQ4XIA680X5AV7PWN0CCFOCPUZR880KYXW0705Z75TFNDFWDWO4CJ672POX21YSKTXQ4ZFHBK87POAJBA4HPCJ2KA8492FNW9YO8PN0GXH1XFRTV89O74R3FNL225MM94LL29BCZ31WV39MCXAY2DDT50CS9PW6RB9JP7UXCZ5J6R94ZN4O8OBKQ4JRA0RX3E16M735XG0V9LLMO5S2RTKBBKOYZ6M7HGU3N5VX2Y41VBWRS7A8RG8DQ79SDP3WT535W13ZDJ7IGDITTJ633TH9WGLJHOXPWFYU9MJTMXSFIW5RW6R5SQ1WGDKJRUF92FUAZLIXSVQCDNT9XZ9M9EYDYW8H0Z2PHEF2I30450FF3RJ4866FIG9DRSGJBZI6ARSJQMFPRE2VSGEB754BYTEE65BKTO0WQJDKO1R6012V82BTFMZMO69K1J4PHUFRPXUT713B5NEO64WXBE1KYDIWQWFV4LWOKASKFHTAMJUJX7G9WCIJH7ASI2DQMFWHV6AQGET6CFPG3KUP80QFAM024T5OX1E5C0XWURZMKQ6Q1KWWZZ7DK14NUIXZ85WS6DGTPKJDTWFMOJN4RZMQKCVAAPVFKG8GAMY9ALOAFV7BPZTZYBQR51NQL9UKBNPSE8Q7KFR3W7RY0VOW8CKOFAMJLE342ZYKSC59JCEFIHXMV573X8I6 div 36#GJIR2BQLDUOMCNGY2KKUAJ77JB6IGDD336F7P49O69NFN5LT86YN5AB0Y6QBLN79FLF7W3BMX485JEYSCWWH55IGBDBHNJDZT5DW4GV8SLVTAPZUPCRLTRLM5J86QNPCWKZ052ZHWL4EVA56YUZDP7QQO8VCSOQLNPYNJELS4X1IFZHYX3GH4MHL0Z3V2AG66VNY7CNTKRRLS5PYFWQ0TR7N034A9NFJALF477D0ML9TDHJ2Y2XPEPVZWZ4NOFGD1LZ80GX6BIOEKE5UJY00RZGWE8JGEQQRK8GDGRUMYMDMWFH094DYRMZNI8000RKKG0JVIA4T. +36#RG9Z0GS2SMR5JV1CFRQFJGVX8U9J366SQ4C58PA7ZU9G8DKG9TYCZ1WD72NW134EZOPOPLELPF2MQ0SMMZKML5Y084U0LVNMQNYJZ6TIYTSIU2UCTWXNOFEJYK7L1HHAJ54JHQDPTGUUW48IBZNMCEX8F2K53WEOEEQOGHVQ2MOMP3BTWFDXLRM4M2VNX7FGRTDJCPZSAASANYE76Y0UXB7WN5FVIW9SRRQCUSFXYIKNZODRNDQFT8EX4POR119K500J0OYVW0BKZH69FZX23TJNPYZTX2DZGN9EGA2NRXG1K = 36#16L44Q7GVFBGAUO0HGAQNETXMH3WSXDPFA1HK89YXD1H4BX0WY * 36#N7FEP90SL4OF7TCIW0QVRUU7UQNNV6MV82IO3MOL8EKDW44267UXC88QMTPXPS0QIEHT3E8DRZ29VNK7B3UL66BR0LZRDSKWAPSU6QGPVF0YJOVV0V8PWYWP12R7E931U1LEP5ZZZFKUJXK2XW4L8AXN1ZWX6OYL778RZELEZ55UCIXCKRWA49ALA0WACG62JR18BOVSJBFJ8M1TRVHMRE3ZYAY8A410VM3503ZJSSIPCH1PS8KHBYZWRO58. +-36#IH8SW6OROHD2A04H031XCFD5RXNRNPMWWEK5149HTPDIU29P75CCR2K74VISLA910JCKVJPQ7LVNNDINZDZPLN5CTA99QCX3RAJDSPGYGA0BSCGW5O8KHPCW9BEIBKA1EZ1X9YWK9X4TPJSK8NMLZQT0W8L74MPT69YSN89YV4R82BDK138JB8D1FJXN7ELJAH4ZDUJS0XUS7OEZSJPNSMM4K9TWMT7M26LH88NO04NAZNI5LQQL6J27FLPTE7P8FH4SXOO3O829VKSMIMZ6YIGNV1AGQFZ9PY4DUWODRDLKKJVA0U3BDAODRJA1RIJYV4GODKFZBHS4LH4T7F58515DBMVD1RY4HRLAJZIJEVDF2SBIT95SR0FZTBO0LZB7ZEF3T9J6QIJK2IJQCJGRL2CP3CG1TWNHG993S2FWZ23CYAQ01CDRMZCMLMI3FV97CJ0ZBDD02K1SBTZH3C11K7AAW4CPTPZ1IJHAFRLBKM39K2I3R60Q1DJVD8JAWSGE9S32AY4XPAUGPRK8CZV79GRX2PWQO54GV9R84T2VV8SPRKSBFZSMWZDRGG55WZ98LTLMFNP821TRF9W8TXKQ7RRUNL0I57QFB8ZTZTM9JW5JSYO62097Z4Z7NMQQICMEHUUFGQP7YM8PBMAMDKT2WT7ZLYVT02AGNZ0BPHIJ4B9B1EF2D3OMGEKYTWVR9PAII51DFDLZS2NR0ASOOOSNSTAS66967WWIS7N769385LHAKQPFOG5UBX4FFVPTDO4QI5GL4FRY7SL48YUB9NB4ZZS01F0YQOTKUD56FAC7991KKT9YR2RAUMVADX05F6S3J4EAZULA5TRXSPUE86TXEOMQH7O1QZ3K2FWALOHHHDW393A1ZWWROKX9LVUV9E1SDU1YD4UP9PBIV53QEEO5WTLGYP = 36#HC75JKNA1T75TLT9GYPIDTT1SRSPEVV4AP2EG854AIDPVXM5URTSPLGWIZAR22H5BH8QQBELMHAKNLR0M4DF5MT7Z8OW4WK8RFHMBH0OUM2YMQX4LOPAYTPWF2L7OIMM87CXQGK1AOR8U5I55HLA2MRJFGYKT3TMFOVYL47IWRWQB3YHI634PQA9N7WDBLDKHAZ7YCJ6VIZDLEFJ5V6IP6QPJM3SXAN493444TU9QC5K8BAP0KY06R78GF4VE6BGKC9BYR30UK1JYH511ZTQ6WQ64Q02RHGV76BA0053LH5RN44RFXNBESBHU6BRU49VLHF91YPLED4628IRQ2LEGONGZCS7MTZJJORM77OIUPSU8YOPHOE7J97ML650EWN3DA712KAD3102HJ9GP7PUWFY5LJ7FIQS8FC74SSZFZRUIT1V3IACVYZ4AWB9CQ97G9IEPO17GB2G4QM0FSWWC6TOQLG3Q1GWK5T3605ST40PMINYCIW1ZFUPVJ60C0WVX207T2VYUHJ9MBRTZCX8YMXXWDKTFVB0LDMD8Y3XFYETM0V8XGK9GRYUG46O4GVXKVGC7N9XKBA4X2Z0Q4N1YPVBL5N0NJOTFWXPZ9BSJ7BE56MOLVCFB599HAWK9XF3MCH2CLABTDUSMJP1Q8K628YVB21KAIW3YTJWT6IDRUNUXPEB8MZ6B82F3ON91KWTKS0ZXM60TA2JCUN04SLNEL2GHS6ZOADD04X43M6OKLD36OI0DMK0MPH81TO4PZZE0PON51LAHL6GOJTP9CCH0IZPONHK2L0SO7KKBORPUZPV4UJABRPY9FIZJZS73A5X7IRK63J9X9XNK6OFZPTRWH0A583S99448600U7NRWH94HS7ZOPX775WU4R7MLU5CMH8UUH6ECCLMJ081O09CZQ7ICV2PA40H7HL1VGZMW1ETDUFYLW7KZVUZTXFID76NIPWH4GRD8M1I div -36#XS1B6085CGCYKTUEAALKIN0Q7ESKIQB2A1HF3GP1G5OK5961I. +36#TXY7PX5LZPENBRIQEHJW9XDT7HTN2G0M0BDGN1DW6IYGGJ5LAVAQGUPTR8UGQYEDJ44LZAWSFN2T9154AXXCRLZ9WM4P5X8HA858AG = 36#A0MTGM66VEIKLAR7ELUKV6OBNRZ51T9EYWYRJJ0CG7QV79MH3FAOMQ8MOZHVA2IPYQ1Y3AKE8U3X6TOW7WS76M3NGQYJUZ1XI3U2D9G9HB17E2DG68BE9WPHCI0ZDJDA4UZGMX2QVQ6ZKU2TWDD5U9K div 36#C1L05RVC458J7NW69QBENU02O7EP9R7JDORP4HHYGSBXEGNUH. +36#JU0KIKUOR2B20BABAR1PDE29GUOPCULBYJK43HFDSSC384KHUS13PJ0G13H2XKOFPAPUWB9LDRPLXHG74K1JXWYNSG7YZ5W23LTHSYC88O38WPV40QBOYLKOJZXB2Z40N3WUVZWCPXT4J3LFVV3HQOT19FKUDNXNOWIRH7NO5PK8EF4COWI8EHY2ESJ341H2H8OVTGCBEX2Y5WCZU6BSEHFPNASVBG9J8HGHIOIVA361YEDQ2JWEQAG2SQJ8L2QGOLYL7ZY0C09GYY7TQF3JEQZSOXKQH48IG3459FRFH4T1MNIF2ZSVVOHNERUPG69FIEF2ISDFE05MJEND3T2UH0OTACDP0XLCRKAD9VBP3L0MNQL0BOKL09S0ZBIE9QIY29REQCAROT2XVVACIOTG8YETIYLFAPTC39ELRB = -36#2AW74IRNXF2OQ91X6ZO4824TQBU0OUZGIC26677BW32J3Z8OVMLO7KGX6PKOL9CA1QS490IKE5IMRFM18EJDUX3XV5D8U57XTN4WOH46YZTQ5IKBI4QZNB21NAQCK9Z1IQETX2UQXE05KLX48Z4EADQ3OIGWN0YV73ZAV42PQD393JQ52TZQ4DH8NF93261ZAEZ65Q9A4Z41Y2TVPBJCV0LHC1K48LZWET5SS29VAAVD8G4DMTRG17A812RZ8AE42G91Z40CAA1D667JBLH01L2ME67ZGLF5B4N7FHNE4UVZ6UA1EREW2BVP6G7A1YPMBK8QAXV23NPN8LTASELV21GZOVC24Z3IMF9A6LNO5H6AQUDWDQPIUVJLDD8T1FL3AUIMQAYBSHE8CPOMTU4YAMM83S3HN76UAPXI3L5ZPJFUK56KN2R4010D23XZZJ7GAYGII6Q1RHNBFMOTLRADBHKGFK1PHRJIAFLYKQZK5D78YHM3F4DJJRWNU0IBZ47SKDSZ893Q2D23X50JW7WDUMLDUIM9ED3WTV6DMY78YY41QEKQZMJ41WWM840DL87TPLJNDW6JNPSTNRSAMVHGMS6NLQI0QZ475Z5KD1IUU7NPJD2GD5HXCDGZC8T78RT5VSDIO1PP3GV0YAMFA87ZYHVZ28J44XW9SZO9RHCAHHARH3817Y5A7X3CEAVIDPKDBD45MDMLNIC7EYQZXBGUIW95ZIDC6WC496TBWDM576F6WZO5UI9X4JHR4FWTX23KRBDNCNKFCU97YFDUWAEXCYNQ33TI6ZVWMMAFL0GCEHJMV2HWUFCO00GBT73HEA68I93UM2O48GKQM4QXA9FZGZSPJHUGUC7WRKNUTLVTDLI2N73N8E4GN92O4SIROGXS22XP8NBXK70HAS4SCJH3Y1B6PRHFW94SX1BWRFO1IF7060DPVSY7P3R3JHUMIQS9424GZMKME606I04PBLB5PQOA89E95RUNF12FV1WR1ZK2ABEEQIMYPVZT855UYYERX7248M7PZAO24LLKGGKHHIST3AXTAINRICTF08JDGZ8NYDTXLWZEDOT2CR1WAS2YDMSXUM3P13XTZJ1HV6KZI7MTNRSQU6PM72S28INGHW1G4TRFRLDKNIUD5GOMKB01AII2GOUC6KMVGYBQOG5CM47XIPW7P49MR0RBTEQ42J7OZVHA6788MAJQ8KDYYI0R4J5JVUCOZ4LI9THMPP5LKGOC55066BOGQFBTMHZWLM5VCLGX7MIC2QV5GST0OWOBHHVUDEK2GWGIAQCJQWCQZUCIG1TUD1R5KG2L354MADBLYBR1KKQ647H9ZM4IT4ZKJ8VOW5X6T0TWWNRY div -36#46GKPLX2I5M4VH72G5MXLKHII8NYD8WKJ0JI91DQZQYB6D8BR5U9G54KQC4J66HKXB3GG7CC2WUK0SMYGG55UG55WWEBXZZET4SLV287G6TQU4Y3PNI2XPJ2943GISUBEXVHBWLNBQGCXG3D53PFCHTP1FU55GFCHHNA7J8IQ6N99HTIU80POF78SKPSBAXU42ZA78KPKHDXGW809IX3621CEWMXB8NV6VAUEYZBBVG30F7UUD3HQEMLUUVVXIEJHS0495475ZNLS0IETV34236LYQB6HYHCACGYJXS2SPR0P54KLG66JS58A2TIU5UWTZBI0I40T72QQ7QVXLMN0TMI4S10XLD0W4MGHKJXGYS2I3MY6B3H8VJM2GHRKEYF2BLY9KR4R102D4Y645RS3L02FB388I3RF4QSHJAG4K6JFRCZJJ7ULJGELFTUC1NLMOZ3YTHMVQFI658QR87XODGXJQ2TIEJOUIXVMCI2UWKWKWFD7MNW4OSETXHFA804EFINSSRKVAKMBE9H3RLSROKOIWYHEIOFTFQ45VWINJ7W1OKAHFQQ6ISPOMOIZ0GK3WB2OPO1TL8UT2BFI8GW993G0N8BGK8DT6VEYFUGXVOKUWWSF6MUVP4L0XPLPMASJJHKCL0VVDHY0SJG6ON2F9WFUK393GEM8T9X7041KUE2AD9JMM2H07Z30Z1CH3UAFAJ4UOJ22A2OX2AU6574FTSUFS2H6PJZJALOUXGPW8UM18L9Q5L1J9T0DNQU7MMYW1DQSSYEF2N4W5VLFPRPV0W6RVK4C82QYM5AJBTF46CMM0V253TCNIFF5S8PJN7IHBV65AVIFPWTY1NESRTAEZVAK67RO01ISNBMIBCFOGRKDU25154RIUA9MSJ0RHBEK30WLSHC0KAEFH3AVZNCG6GFA3ORBQJP0WCS1SDBAQ. +-36#1JVW9K7ER9TXPHAN83Z1K4Q9Y46UQKM2GQQO5S8078L3PC2BSQ7Q7FDZQCT56TOJUMFDUUPGZL0TOU2RY7YSFV4OAV4ICRA2A822CEA7QSR39FR6W5Z4XXPN7QZJOFKPOP8GNCJFQAW0HNTEZZMN3TPL7YGUMUUYER1AYQPSVTFOY8TFGYE74NDGSTIFX709QYRLYRW6T3FXF8ZQOXEP1MI4J1LICKG93WFHJVD3ASCVUT8NQU8IZLELRT76FY56E7699IACW4R2TTWJ65PSFRRM9WGV897DZYYS4P5M04NVW4XG381ZLHRIV8KJ3TJ0XG7ZKAXGQPMKAGIWMTY7NG28DXB5YL935UVNBKZ1CWY4TNFQX1I6QHLAN95XBMIH3PPC3GPFJN4ZOKDI586K2409JJGK16ARNRIES8UQ9N7H14X9YHHKM5YSUHLTJLIX5AL6DCQN7TAHHFFV4AFPI46XEHR68S2HMPY332NIPNSUK298DQNZ7T8D6STK28XZL7U83TJCWU0 = 36#5N3S7SO9IDNP9ZGJJBFEHZFKVNR06M2Z3TMD2MC0YB5D9DU0 * (-36#9WLRVVCPEC6S8V8H310SDEQ8JWKD1WKWCI2WWYOYJ0EP3665754JYM381SG8KRDBLHWKLMYTPUC2SZ5D0TLS8EEKW06B6K49P6L3DMPAQ3VORIB3SEYAX4FNPWWUBO3YLFPK8Z80GAP43TG08CJWNNP04B44A67SIAO7A2WWEXMPYX23QIRQA7DH4Q663RCW6W07Z0TA1UBHAQA3C0CKOFW8GMAY49QXCVSL4C7TXU6HUP9SER8R0XIBBSSXOUVXVS4J9PO7CTM5PFCK9SEXS1UVKQ6JTDQP8F050ECB4BPFYV3LM75CY18VGJMPFFKCOPG3R640U53QVHN9M688KAGBV925BX56EHNGFQ2CDOH3VL6WLIWHB5SXM0WP7PP980MAIER8XITJ6JTRT5P46KJFG90ULUVJK438OUOAD953IHVGM5CGNQBO7T3BMQQY20W20ULTGY4945F293DLD760QCV). +36#DBIQRUXIQGD2BT78B1DDF8CE8VJVVA7YJOAJXT3RYTGN73QDT = 36#IDKZP8NGDZ9YLMMMZD68ELZ8EG2WXV5POY46N3PQURSZWU3O1P1P8CM0KFGTL2KQZ4RFR43LMQMKULCORR3QK7SA29FSV8TREV155A3M1WB8CRCKA3168XIONDS80PE0BO3MNKJD50NT3ZC6US2ACINV4TXTROOF9VEEZ9H div 36#1DO25QKG8BZV7CYBIW0AGDRF3ZL3L1DBYHT2YAE5U592GXKU3C8W97DUD42FQJNBSGD1GGB4N898JM1HOSBRD1JEKEH6KJ72EG88GUZF44MOVVVEAKSAFED. +36#84BT0Q7QP1GQJ6RU0I4GD8BRE3EKVQFU9EBBY3QAWE6PBO6T28C8U6KY44GM4J4THBOXPL2E0PY29SU9FJN2W6CEQC3V2G6JE3NE33JBPUDY7BSLWA1UASS9KNULG5PBX9HO72GINRY1Y1ZZ0VNOSBZIKA2VUTVSWYZ1LVZD8FQPJ7CYWSEZ06E6FJGQO048XR37S9PBQK0JV4NDUHCGKBGC2NWUF2DV1DE4ACVT8NXCJGHYANPD75CZ1SN154RGRMX1B3X9JEPCLU2EGTE90WC0W7CS9Z7X0FPEC1BJCEWH20ROSOA8VW7XSDQY35EXBWUV0R54LU48KEB7VPX57LXGLP9GOCEY085WJXBBKGWJHOEHOHMTHWW4RGCK3A30UD8LN95ZQGJP8D1CCFMDI7BAVYJWTPBLKGDXJLG20ZITR0CKHR573SU68X7MG8KWITLTC27VFLB4UY15CYUUDDBPQFWQ1FPX5LR4NNFQXY1XUYXP5UQFOQFUAB3JHE7U48HH3UH7P57CAIGSFQZ5DKPNMOJ3ZBG6HN894C8A0M2L8U686RTISE1FA84YJP4FGRYWT03LCDUCCKK17QPINPZ6C22MJLHJWKM7SCYMM6JQX2QP8YNIK74F25YLS5A0OIC66SB9Y6XIG6TR69MEPBCYHQH88V3SM6DMBV0FIS1HFTHYTP11COVL3L8WY2FQ4B7XXX = 36#G3FHTLOFQN2FG92B7PCFRSXV9GW4EUBOYW6CT3U65AM85X6NDY6JSE9IFWXACCJJCL73GWY0NVK31JISHN5UK0QW05JIEQXI6Y0VKP59NOZIRG8NIV5WK9K9HBKMLF58O5HI36VZ4D6TZITM8YYUYY0D6V04SJDPBNSUM3HP45CC9LKNSG8HYHGU7HOFUDF5YB5XD0UX2MNEN0F4HLRZ74YQ7R0PQCK4B5WIFRMI1COQ33EWCK4I3HP14UHG3NVWBYEU5CVE6LTC2166CLF21Y3VGP92WSJQ6CNU0W7WWDFDJ9YM93A7BE0RRVW9WD73UFVMZK3RGFUCMRGF4ELO5A9CDMIZDNFMSCY2KYTVJ4ABRYWPU4FVT1CNBF18066JOC1FLE99SZ7IAMKYWQ930OTLOT * 36#I5UDN1ECCW5PI6P7QOJM54QS002JBY67X5C7TT7RKRUBNP2BWNRTYVRBLSGN046CM8K9E9P6MN6YBMX10XV5JDV3JLW5OA2TWXXWWNDLM2G9PIC57EZJHUXNPO8D7ANULCUMH7TS0LRGLJQCBFXMHY0XDWVS50KF9SGRPL20YSDEFH5T10LXJRGYI3796JSX778KMHH498QUP7IPI831CC9DIU8FOQCBM95QANP3V5H86K49W76B98E26PQ3WKXIIDZ295Y6Z98FQHYG84H5IPFGQDTXNOAJL4ZPC24QXODL. +36#1QZT5QCU4Q6OXT2BSERS0PKPOIS30MQTF4Y1AE9FUE1T7AEXWB = -36#154FCPEOZ5R13TEO03S75LZIN99U19U68WLON3YEOWLU3OERJ6H9WX2DRUDSATWSK9XWJYSNKYRUKWM0J9TWK2T6PRD2EYZFURH2UQU03WV6VA98GHO4ELWWM0C8LDG5CE4QP22D7EL2XIJ0BRKBZRD90A9GLDAI0VZ3I9IT1A8DP2VC9IK9KSCS5UTI05MXWV37E9QDVMSUI1600PHCNPKTW8SMBZPW5DYRN7F22E7QFNLVLBBTRJKH9OX5Q2WJXWXB47VEUSQPSI6T48VYPVO0V7 div -36#NI11EST9UGTXQSMDT8YHM5D3ZI01CYJ0FD5ZMZG3YJ5HQN4P6UORRDRBV4XCKGA7Z3QO3XB7DJQSAOQQ7WPFO76E4F4NLTYX3KTCBNE7LYBF6BFOP40ZFXKMMS6WP2SODK6YDB7EIWNLGAWHXUWA6KBH12HAFV7XXNGC3TE3T8KNEJF1IFL54F8A2GNICKB0PZQ0SH2I829V94BOE16BKXKJZG23URDY0R6X742H. +-36#331A7ASP0IBST2UL9HYOEOYQB4Q9JGNJZXY7GX8T268IRW29SN4AABIRPU8QYXBONWPT09O8VKJMS6L6S29U1JGBC6F9A6L3E7B8P6O6P440MYSFPQEAZZXKC5SMD7P1XTBSA6J930JPD530AA98ILHT2OBKFVXOL4JK7DRPTVBD83FPWS3URSB54PP16KA5NFICJFPNGWIWL3AO1AHP1N46AZF73Y9OMTQ058DNTIIR8C1HV5N22X4MZFDKAI7F5QA9UUPSA27NZJSP77YALYZ895DYBWP5KIHFNR2MEYEPCMH29VKLDVSJ57INJ9KCY0PWN1ZJKJ0Y2HYH2A7BW0ZOG040K94OTNH5KLVD7GPR = 36#US398G2QQZC9O13XK61K78533O0FYVTJZ5W9Y1H7QYKGILJC3N7P23WJ03W7R8EUM3Y0LXB4REX41952Z1HX4X3XKMO6M364G3PCPZA83057H23RO1TEL96054ZU9XCS24PD0G0UO9ZM8D50X052A7MXMOS6W8INN2WGDXC7J8EAPCIKISWTDIFN04SUB4JV7FOB0LZ2VPJ0YQFAIH75VBXDRW60NA7JSGRGQDXDIBDF46XEDMTI77X4IPQXMY24XY3PD0PDLS0Q5O7BC3CC20HIMSIQWN6XYV0BBRTE2FKHSRMVAGKWVNA0Z1RX2356KW6LMMRK83PQHCL307WRYW09XG1DCZQ3CMY3UHRHGJWYXZ8Q1FST6HL8YKELU4DDIUDT4VOIR6HI7EHQTK0LSCKJJB1LWCTA668I5FM3DP122LUMQYZ12SXWPFKW1T087DEJUI0TKYPX4H24LWCKV7NIDUJ8L8K6GYDZRMO71GCNTAGUWNN3AVD149ECLA0CG0A49HIJIJRZSTE2TK7ZG5HYIO13YYR8W975I78V4Z30E9LH0P9PA3IZ1CIRO2GU69ARA31I8OVTMGY1QSZT5AV480TIQXUCYURPZ9GU7A8S2YX6GPQ8462XE3U1KF8EJNOYPF1AWDPW1UZYFMASEDXIZG8DH4E5RGRXWZMGP5UBFI div -36#9Z9JTYQS7B6D8WWV0Y5611FHF6NDAD82HL5KLQSXLUIVO6R6LTP8FCUOHS21DWDLUOYOY0R77JU6NGXIBXHJJJ7OJ5K3ZUILTTW2PT53XZ7ZUHDL0SA0K5893CM3VEUIRLQ1MAENGBZH5WHOZ8SZKAL9WC6B03LBWCE751SPWPSYTYYBQMP6XT2TIVTH0EL6R1MQMBTRO8OIURKYPZAIKIS122YN3M8LCVFVVRQX4O75HX4NOQBWUCIQRRYVTFG6RY2EUF764VS3H7UWZVMLAOW8OLOHW4ZFXE6UQ3GN5IXCUCH0HZ3DCND0PGIZCDO7YW2. +-36#19W8S5YIR7LYP1HS6DG8EHULZ38061UQO779VGHOI384EV7SBQKAZNN8RHXUNMTH6FWJROEPAYMUZY3ZQSWLGV0CAMPAYCNLNSY6FPQILLDTO4O639LISE2X297RM8FG0EVBZ7OZZ5O7IDVPBQ3HLMZE54FRH6ZYIHVZMPF8BXQBNLQ7KBKCXSQYYOI1THZLJ95H71MS962H4QKIMRNGH2HKYMNTTWO3BV47NE9YQLYTXGNPTIVR4C7BLLGBAFXHRFSG84JXFFN7GYLGRLFIBHZ6YLYACSP39CA4MB7PBI8PQ5LX62TNCUGUDKXQEF36PZTX5Z4R96778Y57EUEUNG09FYCPPZPA3N2EAC1139IDHDI2DKUVXMTSO7G7A0ANY395A6S80F68PMH3VMPHQKWZMFTRQNSS00TO5UAPATSA5SP6KLEBWZ4OT3XUGECEE79PT4YBTHUGMCZ4KVEGE6IS9GV6B6NF9V51H12JOKBSOLL1206WTEU6GK0O3VHYJK7YMG6JIQQCDA9A7ETRHLG48L8J6SYQRTF0G764HXL3SLS0SBIJ1BEUOD12DH6YRYC9V0HSB4LPCPE4MPPYF6YGYQP7W478G8UWGKBIPL0WXRE4SR2WPSJHUFEFX4RL0MMA5OPQPCXLRUDGEXDK7YXZJK9AQ8SP4LXJ245DYIMT8RJKPEPQEBQYIJGBV8VP0I1LH5DX2BC41I7X2 = 36#1TWP3LUYWJLLACACESWVIQ6HAE2VG4TUW1S0QP7SCESNX5TMWAQQTI735P8BVDFRWTYQFYM1YPT6REXMDE3LE6426CFF1Z88BY0MWTB4Z4PCXM2FIVUZXWC58ANR9PPVS62ZWW6N81O5L3BNOAGD2XBS49LW9O19FVHJC2NUCQ4U771WOHXR64CGVFHFOFXU6X0XZXQ1XM4NOGVWBY0NVT1D4R7X7382BOVZVPORV0GDLH1BZVQJG7BV7HSXPE4WJDW83IA45LXQ07CL7XKYQQYIIDRAY12O6H * (-36#P2H83J06CX2QXUEUNT1AE7NU7BII6CJZXSRD8E5HVDULUAFCS8N2S3PMHXT6LZG2JX3IISY4DYZ6HB4O7E6X95FQKNJFCG2YS9X32209I26JQVBZ93L6KK7LNKIKQONMF4G67TVN5BNKX6LT0DT6UJ3CX4DE4KF0DMB1E7BY8SKKZPRBZGPR0UQAAX41PCES7XJB2AZ7VJJSC04UA8JR93L5RX8AGOQ9O90XF47F9VK62QS6K3CKBMYMGDRFNPSJICZ4RB506ZHUUATLOPI1WYXP7G8BZRTSX32CR5J3VBJSJ2ANSTXKZC3YUT5724R7YHF9ZG3AHQNGZR2OJI2XV99IXXYXYNQB6DLQALEFZQ6BDGAJ78A3T2IC18DODNK8X55IUPSY6NWP6X0ME6NLL38JV7X2SLYLQWI8PCZ310714PY). +36#B2SMJZJCPWU8VIUDK50EV1QJEHMSWK9W6K6WLU4IQ91CEV4ZA4G0BZDSBVYFK65IZLOYQOK1B5ZRWMECFU9RFCJO78WVSPHNAYDC0UKGXOYN0CDK3D3PIEYD4JRRDYZO8011314P3MECSF5RSYLJG71HFKMFMNF5952FXACGEQE42OTIQH1HB5MF3CYS75XRG6NIFH98PTVVQP2IQGS4SZS8GJZ14QM7T13836CQZ3PVRN5L5EUIBIGA1JLFZ1Q5CR1T312NQ1VQEAQJ5UEW2YTAEHUG7VMGRG5EAB8PZZH1VU4KZOEITP5KSGF9Z5SO89HU012ICQAKKJSEUL4WUB267K1GH4MGDA7CNARGXX9KJERF901B1B6O626I2AWYHCIQATURGGIT0784S8SCL53ZNVLFQVOZ86ARI4LPYFSYUYWKLZHWHJ16HN4MOV5UFQG6VIY5PQT7VFQDHIA7EFV5YFM2NQRD0DUATQ60CXVKHZ2BHVDDMNA7QEDWVKHHOMJ9GYSU = -36#FA9EF938NC3W3RCLM5GH0X2IMPP8MQPVW9ZTP8JG0K199ZD3PS5IY1CGCCPNVGCY0FYV8EHXIK68SW0K17YCSUJ3WEQHO2GTA2REZHVPBTFFRNFO9O1V0LUTMMSUCJXSOAWM8X1AOM2M3JA7TS24YIHKSKYEKN0352H6X0VKP7DTT8OC14B8WJZKDSQ5X0AF46FVX8YLGBINT9544U84D56CT4IWNE85O7XS43I7SOCVBZ1YKGMO1R4OPU1YYE4KRC8FQMWDDHKYRIGH1AFIM4CUY4UBUJMD7A9CNUX4WC5LGFULOQG5Z8U9GWZ8XMPQ7SR3VS3U3GL1VR8HX4PIFPML88E3KWG1ZRS832CR14G894X1EYANOUC2AML9Y6EVW4YQ1DRLFOYMFP1WEUUSQO3JUEZID8E21KQP3P79J5ZU9DCDLMD935U2W58GIY5Q16PG3KDJC37WZPPP24YZYSOR357G54MGKJ67N2YLIE6BSN2PUTWKE8E123UNNY24TA8S2NT2X0SU0XWEJP7Y5P3QBPN1M24HY78CINZ2BZGSSH0KJVHSBFRY6 div -36#1DO8D22W37U2VR6MVARJAV55V5AWY0LTOQ7FD4GI470GBVYSAH. +36#BES2P1YRQHQ0AO6KKUK9TSLDB7A4R4GMFD0NP6QTKZVX4T3N2QQ9WPCKNYOL3QLTUJ3ZHGJZEZN5IOB6T7XV9EWPCC66A1MYVPK7CG8UK6GRVV8AL7GSPTGAA27L9V7CFQOUMMZF1B1CF4SQH6WN1L6MW1MLDXM2F4UOMWGPNKC2XAJJ041GVSU7UJ6O31UXS8ABT03NCBREK02DJYB40786KEUFD4ASOB2JUR58YVD6NJZDSKYH7QEVBEZAYJQPKV3EOV13X6PRMU1D06OQ2PI5KK40O2HZI0UBAC7AP8GVK7TELH0OT4W0XRSQ67UXWGQQK18IS6HLYYZWX4E2K3MMAXM2WE1SS8ALXR72KIMOI80G5SEGOFT1S8G6JM92KM5IXINA16UDGHO7H6KRL8XPLYKG0QONYTH1TN1PW4R43DY4FFFLIV5MBQQMX2JK27TBS7KCE4EMMGOOUSF6DH2XE9Q2164T0AHA2Y9EY4FACB7J7F7DU6WNQ7GGUWEAH92K3RE7OAS6A04FM5C926HMOZD2HAZH5LIBWMZ3UH186OBZ1LBXGV9QAFTMLPK3NYEOE1V4YXEDC8P3W3FCGRWFA01UK1D72VKG5TX2RHMGZME6CHDZK6UIBVYZTL9EET5FOGFJX17QX35K26JNVQABND6A0UT21F581093Z3RAAS5KF2NT207T3M3A6XEK7Z03USWWWLV3CUHP1HSCGHOA1AKDHKEALUHD2OHMIUALP = 36#18J80FL07XVX9NCR36B7V8R5OL7QO1HI9H5LYCK59TNTWD26D45FPZ2B7FX7INB7UMSVZ35HFZFVY87440TF65GKOSAHT05HBKW2NTVX0RDSP6APYWCL38P45FIYRG8W4DYOQQKWOU10WFQC63OVH0CTBGSZR2KP0N472UE0SCB9ALRIGXP5U77FKFXNXV7PSXH8K8V69ROTZF4MVBJX6X7EZUMCIBDKU77IICCUL687XU3R4ASIOLQERRL7R10L781RX909T00QBDRLOFUIEA8MGJN7SUEGKI1VVRS1BB3DNAAVLFB572Q9D3AJ1103QDQY2EO7Y2DUZ1C6XU09T22K1OCN6I21ULXPOS5D396R7FI00SCX9VUB2BKE4RTLC9AC3YDE8MU299TN2IR3MW84Q6WZ9IIHBJOWMWS3XBNA6IBS3X2BXJXJPFJWGCNLY26GFNTM1EYQENDEK7LU8XL5FBBARMXO7KXTRVYPCUOB9TJZY8CFGDXUXE0J8DLBNZ5WYQCSW33TTFIQQ698J4JZQA6DU2I8J4QTNHTGI2D925LSE9ZAMUEK02TYJGN6REVLTWXNWJ2FOE0QYFZCW9A92MOQINEEOUNMZJD4VENLV1GD44AC8UL2NBOVT360N3HA4MD7HD60TWYEPU7H0JW310J2W0VLSNJHYAZ5CVPG2QO25FJF4ZXD8ELTV3OHA9UYY83GUTSR0CL63XD69RE8YF50PBEOQ1KWMI0IO8EM80CJ38L2X4G0SLO6I3FEZBV5QWAKHDKV12WNP46XVM7X1E8R2WM9Q03TU2J7QX42MPOAN5PUXEAKIEGB128AU6YFQHJ6K4LABGR7116MQNL82LWMQL07WJQ4F767YQRBCR2HYLR2TGCO55FWUSSTNKIFW6ZE36QUCQWVUKFI6008FT2X3E203WT3UMJ0IF2AJO6B0YJ0KSVRBDWHCQW6JIJSUF2ME309CQOKJCY2WPKIA8SKXZKOCBSNLS4LHVLRDXQGKGJMUIF2B3B271YE9ZJO16GRWR0O02NQ5Q1LBPFV8PRT10NV2QQXQ26GFQUADMYAO9VFP2PX93J12XHNPJI8GA00FSWFDQZUIMB2ARB72X8328V6BZOUXTB7FWOCL78T083FRW0LEUOGW57CJA3YGTVTGC7KGDJ12DGEWP9E1FIDA1ZSY6FRP5GRYVFSFMOWAVJH2VEETEFLAIIWB3MOOCK210XKC55KXQJ3ARQKMY9QZG22RC3FJSV1F8NYZCK45G31KR7XX4JVEU7RO0043QUNR3X129Q0ZDDJRABE8FYYBHFYUC1KOFZ2JPSI7JKJ1LAQO4E9PP9MGO5YR1R1DLTFV3Z0H47XFY1AFLH35PTF89Y5RBFXH0WSGJ1MFFU53VPJYICKI3GJH5221XH44DFSVTMFGYORBQT17WBPH7YAUSWGHF7L98ZZPAAICKVUV4ATUY2LG66NNFRZ4P8Z6B83LEKJ0280UR7DBH2BJEVCCHYC1T84I1HF5KG4NDHUINDDZ35B8HUL5Q0W2PI19QLJZ4AUD4OJJS5V1824C5SOOZ32GS1RHW83K0E8C2OK14446X24QH9A28VSNGEWAUI2D4PZGDIR5JDQLEUFQVSZUGYZ45F8FMHXZM81ESP9YAKE1LNKMASUGWHTNW4WJV5M6P5Y2XVG7CFYFKSXKVKOR8F30VTN8X5AWF6C9ZIG40WB2FKLD6M4PWDLJSPIKBAA9EQPP7WIL76FFD6UZYRDA64O0JAQKKOQKA300TGOTXQRFOMSE5N6A9KDVPO71N0FUN0PHGMLN div 36#3WI4JS0P5YVR7B44WCS04TAYHVKFTWCX9NJXU6J1QCWAVDK3H2QW1B7KHJX2RY4OWF9T8FY4PNTJWIFDYBXGNMV1XCVJWUUWCSV5M5IG18JNGJDZLLFAU9U21OMSZW2FHROY5JM6X2KXX0LGU25XH4M6HKQOCC0OCBNX3UH53517FXT9DGE4QK1P0X5A9KX3T5Z17OIJ5CJDB8XMVN4XPCA9AOCSHTBDP7YD6WMRE66UES7SY662RQH9XFTHBRF8Q0WM7Y4ZKMP0AYMJ0G39TX3BYUV0RMNUM31FWYBHAPDKPCVD7PMMIFW7AYHY05M88PFOFPEVBTF1PFI5ZF13V5SLHMZCCUVL8PTI0LOXAPCW8L96PT8LIXAFQPX1O64EY6ZSNP5IY51DW5LGJN37Q0RVIA09G77DMPJB6N9KHWOS14KBJB6ED1KC46X86O9XH0UMPOJDPY731689BAVVJYZ0ZE3B1POO2R0JYMZG5K61GHQTUVRHDS4NHEXPS1VEJ09R2ATWYQPRYSU5JJ92JGBBDQZ8QU8WE25PV2063T5ZNM8XEVZQITI3UK9ZXCS6KJM4Y5JCFTVAK9A2I2SW36E9HXUZPE4A4EW4N0EX83A5Y3E8BKPJF9DI4Z1Q7G0HM3BZWIE9P59ZX2PXOY115XNGEDJQ0BQO1FMGMZI26LWI7T817P6TKC2HLPQ9W3S423ZG37W9P9ILMEK4UIMX4GT8YCNIR7JGHH697PZEP5FIVD2NUZPAKLUNVM64QTMY9KOQ9GJRTB0RH845D8YGPA7G21A6PMM7SZ9EJ0UMLV6V1DG277C2GS234ZWI0B1WDQF0CZTB6U0NBAG19NA7GALQ8Z1WES50N4E3670VM4FI29JS6JZVH0BB54ZD160P9MJXY5V0AMVBYK50DIGHVM8CH9WX83O643VRIJVJUT2JGCZDYOIWZSZUDHGJ8M8Q83ZFNBPZY4MX6SVHYUK6I2RW328ZWQ49LL96FHZURZDLZI2T6RXMO5UUZLYOZ1MRIDMEOJKB3ZPHD0Q30P2H1OU039FCG5KNRVNB. +36#7A5JK45LLP2S5EDXXI9BZC96XY724KBT7RHNNSGBBMD97GSFGJH2L74XX1WPMV3VV8JH5QS40A32GABWG4JDLRIHGB129IURXXXGA6F4NPPGQH7ISU1Y9OD8EK8P82AIN2720T2MTYSR28S73WWNNMBGNZ6ZA7004NS6O24A0CRFI07DOMM4K0HSAJ3E6B37I8FM2S4ASQGPZKF2O75KR0PB4OJTLE8LG0JOFEL1G5OT8E3RHWCDQZ1JYLEP2QXMCKLJ = -36#8IKXR96R4JN2IP5KMR8E6U4PPLPIA2Y3L7YQKVUTFO8I1B8QYV9ZVMUJN8SD193NE2U9JX4ZLSPTGPKNSEBYWO0FYP6XZ7F8ECC8PQQ8K4J64D6S9Y3EXEZD4C6AUCWP1RKWEKCM34897ZZ8DLYGK6NVDWOV87V2QKUJCPF5EPDQIL1NDJVYP6K9GS7FI1KCXLBOBKY7TFR78FQ0YTEBDLR6YMRA0NIXIDLR4MKJZYWYDCS98P5C43I28OOQGW4X5WME08RI0QLKVWRAC4MG68F37P3QMTY807VBRS0IHGS7ARKVS3SR8S44IJYNHIH0LHYJLHS8CBRSEAVMN7L85O068Y90ZNE0ARS7RRLYPBO1X2JS79L5PHA2AMBA0G8OAJ0OMZ5PDXKYQ8FNV7J7G968RN3PLH2H27BQEO5463DFCRZ3S5YA9SEORBJ4Q6O4DSA4CF5UQS7P697PEKIN0Z6TLJ133UCYIQPJ7EU09XKNLOGTTB4P9MF8RO23GZQ0BE81ZF7S5NFHSGUX75A5DCFDAHBUZ5BPNUJC6IOTDNS41ZDY1EDYZG65ADPWW99EV5ZO6GQ3FQC68 div -36#163MV04MSJN7DSWNPZ8SYJEDEYHVN8IQFDMGNHLELOLRKV8EKC87ZCFSFQ4ALPJ18X7BNWXR7B3XV7I5MYZ0LUW0BCF0680CLNM4ERFS2AQC791C6OLOSARL55VZAMJ1TAYG7PGZHFWVTLGZ1LFKWWWEBSE1FEW5TEBAHKFY1F4JOHJHJL13OSGX6947SDKX72DIUP0PGUBU6JEYZY1TAGRKXYWD07BEFFY5DS5LM34VXXY1WRUGDW5LY9KI5GZNNAVI2VEL0KO44EITPIE0C24OEG19194J01LVM9E0GXRPR9DB4GC4YE3O7RSCF4RT334UGMKEE8. +-36#G8100EN0Q3D9809FTAELYKL1C5U3SNONU0WDV6UDDAKY5GOKMPWEFZQVKL87KTSNSFC86EO6X6WEFOU91O6WF2Y1PGEQN8YSMH15M8KPTQUE98UBER8MOKF0UQFFF3PEZWQG7XH28L6GKGNGLXVOBD7MLTVXGINOHU7WSGI0L4FBL7OTPPI97FTC8C7HCJLJ9V0ZL7PRYJXSL9AWNJJBAYT89KUNNSXI2FTL4UQUSGSCZH63T6P6AY55ND7DS0NK8T5C55V4MYO8LVBPF5BBJ9VIQ1ZZ0TADB4EFVYHUPTD0HKS0RC39E96DJKC14SQIC9E78WDGIM28ZQNN6QQ5L2BEO7LKYSB01YH12YYFNCPQAFAG9HDFHL13Q4DMEMXC55RW7HZVW2DWPVXQVADAQQABZVOP6Y0Z0R1MJHHZDGJ0R6KSVPEYRZIQA6DOEHDRZA7HO80L6WDEAUAVDYYV7CWYXK2LIU8BAEWKOGOJKIDQG8PH4KN9DZNWHLABZ16DQO7ASMYZ3Z9RMTA97NW8Z1S6WKW7NJ5SSGS8348FBO33GGAA4LP4UCP953KTK3HV6EUWU7AX0FNNZY9Y7YHF5JIW2D1V3OZ54H2MLVB49YITK2WO4PNLK5I9BMZKW6M9Q4XGH9KPBP4MDK0430NGQCMBDOJXNPKH90HAA1U9DUJSEOYPRZDB5V5C4X3N0CZEYX831KQHT7HHU3RXUWBXGEFB5MK71A9KG = 36#45OP8RW01FZBI3J4GC2IRVDA028MESSL9I31U6XCW5YCLHP6BV3K2PU8O0BJQG36JRRPD3AWIJE7RY0TTREMW96QALY5QJ3XJ4V76VM385RUGDUB9OQ5F0CHI1BLPMV7NW2LR1YTHT91U3KK2HDCH3VJ4IKU8DZEWEAYR40KDSBU93RTPMM2SODHW9AUWKTU1PYYNQUSZ7MTZYMGO4L80S0CG0XJORNSF5ZHZFRNLQ194NVJL3SLZ2XKQSKUHADZ6IZDXCGFYWAIWU3YFKXZEBZ3TF5BRPFABUU9O244EBQ3NS9Z5PFT3V4VZP6TV6DVXHVJYY8DCRI028MMQWYS9ASAW4NZ3Z7HDAQGOD3RU0IAJT8SLPJ3UHLIAUCJU5I85WSJN4XG53ORFGTE8G14GHJ3CUE0AAF6A6CI9Y220J3M6SY28XUETVSOYK6LI06R9DABDF2D3LVSZBJAW2RFUOFNOGQVF3UQDLKU0IH7M15UXB7XBFMX9AB82S1PSUJU0JF90R0TVH2EYJIJI3HTMTQLTWZ297YWVZNCGAAM07BHHK9752Z644T48L1MI2YDC0E9361XBL97SYC62MRSAL7TV3AAVAB7579XCMKMP7WFZOMWJL6VA40US90TBNL1JW7RCHSH4624Q5MGJTS61ENANEQEYV5Q5DR25QJXP2717A1M8 * (-36#3WGKW2H6YYLQJ96IOOM24AAP4TNV7TUWE64X0R530QVNFLYCT). +-36#NKFFZE5PBPKPKGQ9CYUG6NXIXZKIF15N3ESLVVJ5BP4VKADVQ587VYUL9IGXXCA70OUT47UDT495R5HCZ6ZO6RK7E91BWITAB3JZL43M0Y02F94MKPBYJHY8NMR68CP2Y5F21P54CBC08GI83YTLIXMRQK5EU80VKRB99C27OCIMV1EOPZMRY1LK5N9EM087DQIOWPDI6A448DBYASEWA4SO7XZVMHREJIDDJSJDW2JASLK8I7BRK0VT3OOXV82Y8PW4HXA5H0Y6MA03YWVWONNNNLELYSEWL186K6KD0Q3Q3ML8CH1DMJJ89P2IX2FIXUCLV4H9PM7U6P8DSWIYPEOQBJEA324AGL28TI5BALILS9SBN4DJPWHRF0G1KFYT4MQ0UQL69HVSIAKS7JW7B6R9VJ159TYJHJWKCS9NLVP81E4UM5B152KBRP062G37XX24VTF3OEAPGXW59REDD5MS8OWIWKK2Z0Y2Y85NNEIP3N0YH5I7BUQA48C4GZUOKJA4WKNSMA01YGXCMN5GBVDRKO77T92PMN6PNHWDZJNWVTEDP818FY0P0D1KFTN4T4WYS380QFAYYZDZYUCTN69DTCD3UOO31A0M327PTFT4O5E3SIL2BZ8NM8N71FJXDTIQUD7YM69YTYUWZCHRCFE1RW5EY3YLZYPOTH21DV3LB2LKYRYIK9KQMGXBJNGADPFU1AYK7N6C2UXJT6OPOY2N3I5E4AIWIGMDZA7G0U0JQOQZYP6IF7J5VNBLSODEP3EAWY8XA88HUJN2E6K6LGWLKWZ7DCWLWT5VNDWJ5B27D8V1S6KE24M28ISBD5TYBJMH8KK6KASIFS3KV2SFDTQ6K50QHU3UKZ2XXNCIE0H82BRCM190LFI5KHJKAVMFT3CM2WOPXDQ59GILG3PT3NFLFZBEZF7WELO3WWMHXVZS7LKFKHF39IRR5AQ02IGY3E48PVL4KMBOJ71BMU2FNOXJ0RS8YD0MM4E42CNLKMHX681OPRA78T85EEV7VQR81XC2WZA4RRRXG486GA14I0Q14X5Y0HS7EEGYXO7CA0ELGLB866TJLJSR8VWMQGAPX0D3UD5HLPSR16N8EU51Q0DWCL7O73K63EZVKAFYPCC6XNURDH1UAFPWHQEWLLMCN09IOO611188SYPQ0FJ3DQIB71Q4KH7A0CD7G20RSFTY4TCEXTZSID9H6JFZN8GA8VPZAEIW6DN9IZ3F99UKOG6S6E214A8MGP55CKG5VZDGIF21E9WQ3KHH6J2EXBW6CQB5QYGRHQLQZ8B4LVK687TNI1LL7IOOY4WTUIDYHH9T38EIO = 36#4YXQEFO8AFPTAVTZA24GFTRZ09QWFM9NIL60IJBYEECFM66AKSD23ZDXQ65X077WG7P3HE6L1YPLS0RBOR2NCHODXFH1G8RAEKMFNR9I4JMSXSAECLB7G4TE9KYTTR1GNCFOHEW0YPB9AMFLZ5I464Z25XIO4H3VDD0I4NI2M4M5B9000TLFLD991PA5CLAHD3SYZ3AD0B3KUFQU4T3WMPHMFIVYCH0J4RADAVY38YXV9Z3SWX5FEONYS5DE1M6N60I4TCNRGP9IG7HZ5F2GN0QMSEM8ZCR3LUSRML93KBSC0QYH2DTTTS9GIWGCIPE12J1U5BUHGN5SBOQFPH929CEOUAI0JOA5P1PD4K7URDCRTZNIENGR6RZP8YZDQEV1LTIS2QUQNKSC84VVACS0AFGUGCOKHMOBTY3PTHQKFOMSTNJZE01YH405DQVG7EUAUSFUZ9JZET11SBWYTC9ROVWA198K6KO2Q8743DG3D0D12MM4W0B954WEAYHI5TJTNENVDFKNQXOV4FWCNTV5PU1I2CIJIUX3JYRS6RWVY5A1NTGYF4NLHKYHEPZ1FJ6F3CYNOWQY0A4C15ZEGZRRPW1VLMAOCO2PG32Q4QEX0O404KT3IWF6BT105DBHTGS67SEA0JWAIML97FRUBQPQXRDTRGP3KXU1O3OWLI1VX90JGIBO4P0NXA9ARM8H2SZGKYQXDZTPOF91VIVUKY5Y85BH0GNIZ0C9W3TEQRMAWDIL7X6920SYFNCI8VMD6JLQ3Q7S67AFZ6VA7P8YL447A0YE6AJSI6O3DFZ6IJQCZYGJI64LU85L7395UH40I9I71XHU41FQBV39XMEU8KURTKNIMK0RLTKN3NL6A31XMALDB9KRLLHSJD4WE6MOGX7JOCBHD4VG4A2DDIWXP5QDBFKZYP8FS6X3NN5WSKVM24A3CIDV6RWRGK0UXRVCCB1DOTEO212VSF7QTRC1YBA8BQG4GDU * (-36#4QOZ67AFGT0RN8HOG1JJ9WI4W1C79DJR9FJWY549U2IM8M509QANGDYIQRYY5PYIQUZZBPE5RPMOBV66VGBMEERI0H27S1KOV8959VE7L34N3L77OQPCIXU1DLQUQJV93H4CLNH07BDJELHLS0FQCNV36D6OK85KC4NKWLFMNNZC11ZYVOJUJCLN0YITX8NT24K4OVCECXGY1O0ZJSRDM8D7PNJA48IARS2FK81H8BFIGRS9UP2N57JT8VYS9IXKWG7YK0BI9LU3CU4TCBSU1PA5Q26O0TKYMNCMB2BPGPZH114JMGJF0JH7724K6L87N76YDPX0O983U13QNP53CJK). +-36#2H3TYGHBQE8BR9MRVJVP5O4GJSHIZEI5Z5DZQJCKRK4JAMECWXRHV2W8KDY08IVWNEBVBB9FMOMEQDRVU8SFE0WPN1CFVJFDDBHUPAYLB48I3TUWAWQ73ZN117KE9MGPZ1M3V0SXXM2USD3ARQNNCQ548SOX0XF47V1DNVDY7HTSZUGITV7V1ES41RMV7Q1IFA72JUA15CF3RNB6ANWRACUBZPQIN98OQNL1B92DNNR3D3JK81PD5POGUMW0H7HZ9YHZKK78C1RHCDK54QI75LUQFAXJ9KZF9KPRZ1WWQ37MV0OZQZ2ZDY0FMZZKU0LHLF5V612ZYMOU59ONB4A762HHHTJDI9U504YCNOALSPLD3PP4TNKMSRZT0QC9Q3ODDJEJOIFJDQH54Q6L7R4C3GWP83OMJX04BAI8MLN4JAA77Z0OUF2N9R7726KSCCUSD6HZU4A4WENRZTQMIEO0T4HZJC4IA61LM9MP23O13VMDRAD1IFD2C8HCLQAML7KYRSEPYOJ35PP2RH7QLVFV103G54VMV2DVQ9NUINQNCA927AAH4TAIGVHVS52BFJAVP1EE0AH0UEUCN9TCCG91RLFP5VNT0DZTJBR42CT45B21GZXXNH9AT4TXDJNM8A7O0YY8QJ6I7YEXXGZO3XWCBWQ1H065ZKSSWO5F3XONV03PN8UJIWA1TQ8Q3GZFDQTLE7VGU5SNXYII2GZBY5J5DTFMHTQLS2KHY8OW00W1BS5Z4S9HOVZ49FHKHY1XYRR6DL4UFYJR8Z5KHVIO42T94JMEOVM7RWO8WKAZK53WWGS1I8IKDNW03IT3JMKIWKUA07Q7X7G56HHHUKPBVH6Q8GS7P4KRSZBNMJUZKZACIPZJALJVMJZL6ENAR1RTFLSAJY282WIPLJ9P0HGKTAZOMG4R5DGYQ9BRZMRAJS0P3CNSTG6DUZF4VA9XTTQFSHJ9E4RCAMFTJLYXHZ6IEP1W4KC7W2KKAZU84225RA002W7893PVDLM2JOG0W8H02FNHJPH4OO4A92C1AH6JYWO1FG0BT5EQ9UT6WA644TTHCAOYE09DINFOJ2609T46G618SVVRAUUO350JUK4RFFP7VKED5RIPOOC = 36#DOHNA1K84TR0MKAMFO6SI0OOPOWH9GU5UBAJTR25VP0S22POWPUAXJZL36HZFF3PYSVBY6EZ9FC4N19S5W334GF52YGYNVKVZROTYBD1SCZ656N8O3W5WZF3Y2MM3OEE2V7LTCIB20GDF77KZI58JGRTCBUYXM3VHI54EDN9KNQ9JNGATKVGUWYGQ9X13T4IB6EH4931CAWDYAHXNW01L7W8IILICK1MX6RTGMHSBG5QOZ3AKKUZLT1H6XRVR1VTZ1WMEF7UF57PY55KDOW1OFPPWP15RCXHVD8PXEK79LGARLH4H8NYPOLHHRB23H68Z20W6T5VS893PDSPE905BFR43L6W6GRGENWW67L3U8YTSB7M7BUIIYXY6AA512A8RZVV9DSN61B8TGPM7FB70VO3URVFV5K5L6H5B9TP5PTAZE4J9IDZV8YFNYAED08M2HJEKYXSKYQNUQ9KDS1MMJWJE0UF96O1HHW7J8EBZNAR5RTN46JFYZ6WLHJKXKC0HC9CJNJV2PKYK8MH1M73OU3X16GN2CY7T1V6TZ0FYFGAOKYMLMZC8OFOZXGZHY36D85UEXX803EIE5FRDNUX28INJ9709ZRY6ZN4P6QVSBQNBO6VZ4NH3LPJB3OA1E2TQ70TXSWRFJCV8B6ZLZB147DUXH7VB4JLNNGAR0WEBH983DK4CVRZ7NRRBX6URCD34MGMURW0GQ2XVA0IBE66CBV8MMFB * (-36#6IHHLP898BZHVI36J607FS6X0KXMZOF5GUXB15ER2L3QFPSKBTDAAOK2ZKQWI46YBOTTAN14GETCU8BHZPO53GPYM1OEF76JMOS08BDJK5YW30LJOPIGGO0DKVOJYAXZ9TMS137TVCVT6WFEC19F2C7CRDTBTU0FK8SIYCZ8QCUFIAPVNTU05U8PCHUH0SJIDSBE8VAWAJFFWMMSY0Z9QFABVTM7O2FA24RQ4BLYIADFD47Y0RIODUIJXDS085YFSGY3W7WA6GGESUDBKECTSIYRBLD9YL5J2VY09FFGWZ1Q7SXEOSM834JSLAWBEZWFU72V3FEPU3WAXO7TNFX6598OT988A04XNFP5H23LOH0HRQSCAL6036919NSUCS3LSVO). +36#1NAHU1WUIAJ8JKMSDAM0ZTZWEBNWJEVH5SC5O1MCKXULM1500A7BE9PQTZ9UJWOZ873KJPVD2FT19647OBQEMABRBCLOPVS645XG7ZHU69USEETD9YXZ8WM7IQC3L53EHIFIQZRT4C6NYCKVF030ILAOX7YA7XW0QM0I4T5Z7OSPYYAS4RZZB2VJVK1E159BSV3QJSKHNWGLQG672H1Z6FOJWQV4COBEK0G9U8YY2WZZADNB3WBZFRNPW75TSUPBOV54R902IL5EX1C9TR5FU1RRYRSTUCLTJHV66FFXP5VZQJNZHE9OV4R6BO108HWCS2KVYMK0M5HSXDUPFFUTD4ID102I47RM8N9N2B3ILDO85FXTR8HKB02K3XKI1Z48E0QGFEWN6G3DEGHUDQ7HA1VADAQ8AWFYICYOFT5X9E160XP7JU95VOATPD13HIK502GQ4AH2PVNX74JQW7DIQK596NTNJU53ZP0E7UE3RK79AKLPJXXP88Q2A61FB51IM3NV0JY7UIIYQ8A6DSMTYCBTN1KZZNFUI7UF7S5N54MAE3HU94O6CQK5U5F3P7QHHZWBQBZEBPUJTPD24TR9UNXZKXJZO2IMAO7Z9VPEY3KOQPQWHSMLS595G34HXM3L2W4BCI22W3F9OYWW97D7OM5H5VXNGLIP5AKE04D5K87K5BFYEOIJK5JBO9V2RX0F9PRIM7EVHOBI5POUASK0V8N5E0T1YSQXG845VCZLZ6MFS8I3KPV6MZG2L4MGHG3UP4WZRLRI0AGI2KRH9PUWMHZX2NR8TR2XFF2GCCJLU92Y4I4922YUVNCMSBRWP1HJLUFPIN9NCXNK2YKTH3QXQVD1TC6IH3OBGSJ82D8DU0SNCA3OHPTN78JGL2NLJMY1O7BW6VSRQED3S42J41WDMAVDD47WUUBRRV9S0ULTVRNOO99UH9U8Z1LG8EXQOK7AI3XS82A8TSQ7O3XXFFYIWYE6YJGU1YFUL7KC4EERDHLLSKRHZ5Z1H778WQ1FRIETYQRS8Z5LCYUAUPKX4WKRKH2PPSS0GS9FF7VRTE0AAHZZCX0P4N8O5KQ7N1VBP1VOG3MQNNM9BN00B2X5SBXQ2E7IVR6NY4WCSGDDPMT8K52IGQNS3H9FNKRFPYEP9HFAZ7MHXTN341WF1YXYYG13YZMEPR2F8XSVGAYNFEHQO9O5E1BBMB0WBKFSCO1XK5ZAV3W5923RXN72VNYQBDJG35296676QY3S3730CLJQVYLM03K96H0970V4UZZPGNB2YA7YYKZ3URWJE3GOXS85BPPAN9O7JWQBB075F78QO7IU5V79Z4OVYDF2QJMG60A44XEBBADLBL8HJ6T8OT18WF3FOJA16AIPNFFGLNBK2B2D5TWHLECH9WDFRK5J02R2YDUDRNJLWY8QT9ALB97EP1AL4YK5ZBUVQ33A0B62GPJU9Q6ZCUD3MD5W0PQUB0NI1DU12IZ7YY76ATLRMOQBG6EMSJA085DHQ8TUXVPWB4WPRVK0G9ZXSKXJO836CUL07LXJKWXHHGYX7VOPEYOR519TUIQS09Q0UNVW8Y2SRC5JS8W8GWFEG8GB70RO4HUCJ3QGHNYPAE7S5C2FY1OHVK2H4NGP6YX9O9HSLS8U4L3KJW83DYOY7WSP6NANQK6DBZ6Q8P1MF827YA0IDMSASCIL3MR7Q3QJQIDV4GW121358BQ00 = -36#53FEFJ6KMKQW09U68I0P4HDWBL10516UUJPC2ISU1LY0XCD4YENLE1P8UESPZ0T0W5OY2RPQTWLKNT7NXEKIJ4R0ISPCD55ISLQYPNCSN5MY3RSLQ92HMV2EOFF98BGZV6WR5K6C4T23HI9CE019HSI1JZKT82N0S4SPN7CA5G0YM9YHFAX9P122PUVXQW79K3X93RHN1F4M7BJX6RLQNWZ92U0NMIR27QUY5S0D4YT0W38MKGJZ4W9OJ2XANK29SH7HXEX42EVP5CWUAMJOTV97TSZNX1H510SH2VTW4M6NLNEFIZO87804H5MTW8ZWS1063K7GDXBZVUOZIXIQOOK5MUJD585ZJ0OIMGC1EVQORTUOIGHTW5NJRGQ9JXADY0GTGSMXN73E8W5P62YI5NR0QPQMF6M25HMFV96ZV11OUUB5W9D1JR0Z6SJE3CCO4A8EGOL1K5G2VVJKDZWHMNSWLEI4UXWCP3SCXQJOTS1PRF10SM2D52L11NCLEL5U0BFJ2EM75DETIPE9TWRO66JO67RWY6Y66Q7FR9UZMVPPZMEA6CQ94NG22216JD5CVVSY7L5ZHY1KUBGFUD33TRZ4L80B0Y89SUDV09FQSHH5AABFXS6JBUM8A5YGY0G3KP9KRTNAEL7Y6OGLQWD5CRE6V2T0P9V33TWCYIOAGPCI2THB8NHR6WZOCBDZVTTAXK8CW1OYFESC235A0JMNA5CVSTPFF5UM5DU418XCD3A59RU2VJYHDZONSFQOL380W396NQQ5YXLC2LYZQ1PEHP8IMLC1F26E1OE8BZA8W9S3N5FME3IL16AC76EOH3UGT4XI0SFPPZRR8BXCWIL8KZ5R4Z9IKCH7B7BIS9XR1HWTESGMR95KJP65JJRE3Q59EACW6O3RYW0AFEA6XITCK6KYLC1MR2XTXIVE9I91SSQA8KGWJX2XTLRKYDQKLSD1CL1C7T2EOPEE2CGDDF9C7G9JRS2RB0I91HUD2SEC7S1JXDKJSZO51SGDXDVABS1165ABNVDYNKCK6WL8FZH4WANI9JV8RC8Q3SNA8HU7KFZ5AVULO3WN0RS53YOU8UO1SWQ2HDJIAJP4UI19QVCPJ99UUU0XIODY8PDV5IAMM2WFULDTMYN58SSWRBUMHUPZ8DH97N9 * (-36#BMX65N82WBZOOSAB3NTS4UC3D9KHIOVWX02U597SOCHNFD4DELY8C25V2IYEJSV4C4VSXYMUF24C08MWG8U6FWPFKMC11TPXXEEH7QCTW208BY4FJCOE4I4Y333AKZ39RNY73GAU7JHANJYTT40WZ7DVE98JPVPZK6WTP23POKCWLJ2B1ZOSAHXGPLMIMIHV905XOEX9K5ZLA1F2SV6O7AG0H0K5PEK0IT9ZJNXWHWSVARU1X5ALW1E2DLPH1W9EYD9LH0OO84KAZWMZVLVCTZVHKA88GGEP3YARRM8FUS6FIM91QXY8MDBHIHXQZA24N0DIEKY1U1IHIT8CJ3OAOBDHKSDMH8FY0IY5I5QXN0X6L0E1GU22U6I3LN3IBIQ367GUO6S0KWNTULR0D0VF9HU30BFYKNQWR3MBA9TC97C0X1N94FXXO52D48TQN5J900AP4K970742CJSB1Q8CFC0LGUB43DI8BEVH7DA7CDKV6E65K1HHO8LUREI45MKX6C0L8B9BOM72E5N22C27FVLIWBY253EHB6XI2XQXUO). +-36#54PISQRLZ0WNC72IQ9GK5PJKF4TV0U76WNA3BPUTM65CFC14VUVHXTMJB013PNE6TQKD6KR69FBNDLAR5B57AKGXZ7RU3410SFA9ZG0W6BSCFQV94QV29ELA1F5U5LD2XTOH11V7QHEUA9JU4F6C4YK8ZTFAXXNC66F9GP9F7KNAQY9QVMABPXWCSGKS2L6W3NJ3IP76J74TT1WQ4XN2PLLOQ15M5FUGHS00TLYOWNM117SVLGVEZ944BFKSWJSTNK8XOCD1MEKJ7DD21J6JO8TIALSISXE9MR1SSA7Y0USVG260PNQM68M8L0SFMUR2EZVJPPQH6QMBLRA81AZF5BXRGC46C0ZQ3FS6WGA31PY44Z6D7NQEZQR1ZQS3IYSU0VZ82JVV3JNJDCQDGRIJ2JV5O40MH7UZ2Z0V79WNSTUWMCSGK8ZVSBAX25UZUJY3BNO6C4LWW99CPK62U9OR5GKWCWG5HDI7KOCEYALMNXQDVZFMKYOVLT4V83T3GPU68AD4XG7FLRBQKNUEPYNCRJ99EME20ZODKCAIYCE2IOQHTY9ZKPXE9DOSSY98AFH36NMQWOYAU7NGDDZP57T57F46TXMM1HD6T2WPD96TMF174CT57VS986THOWHPKB4UKNA3EYBD9A9IH89UEJ6LD8VR9IUCX4VG0 = 36#3ISOU3CZ67VEVJCD2ZM37JZL7GUUL1J9SEYUDEQ56SJJWPOBEKEY9DYBOG4YH46T1KYTUXM271UHL39T3YW5RN2RY15FCU87PAATHO58DYJKMZF6ED1N1DL6UVMXYSP57WHHLX45WCY6BSGJHV0FTGCRRIV18RQVBT30CZT780C7COOGCEAFR8P46N02796O6M71BPXYIZMYUCRSANABJ3BATENZR8EH1PM1E7PSMVN45UM0VDM86H6GKEEAI1Q1M8ORJV40F8HQNOYO3V1XCXPED0BRTBVU8B4CNP2SEM963I95OOWTFATRNW7NA6O8EBZ2832XOC5JOO3WRO119E1NDHIHTDC1VS7E8MM8UYT9JJ9JN6X7JGM3NE5GK3VXSIBRBXP948YFFG88AVER8GY4HOSKC6FI4DA3EPH1X65TL7QHZB46FDA3QWR10E08ZFCNA2Q80IJUPZH2S067DDWQ0D0AMR1HVCXITD5RVXR6JBFWTIR69POIU3A01610P3NC52BTYW0HJ7BS2NMB86GNW32MB5X7VFHWS6IBCDWN4QUGTA5R7L46QW6HRR33XA74K0RL7YB1UKMC1V0F7SONKGL5S87DQ0XQ8M9ZO7GAMTJ0 * (-36#1GFX7K5ZSBTXOFHMK5HGGVD3M2RJYKVA5WH9IL0N3V2ICEGM9G). +36#2KVFLJ67YK8DB4B4ZFRX1U7HC64JXLOZF15J0I6XW46P7CN7C3 = 36#11YGPML0OUJ18R7559R498HCI7DG879RRO5812HEROVUFIJ6UQZ3NOG5UBKJ0G0Z2NHUM5AZYG57KC6BDY92HLO7MJ6XKA8QAP5FYMVF0UD3UNZZD94KG31KX0RPYGVOMSJQU3B2F7IWF7OWBJMJ3RMT2IRFJMN8N1PJD26Q3PMX2OB3A069I div 36#EPOCL1PBTVBZ8RUHZHN664O48UGWXSFJR5FONCTA4U39VA38H4U5JLI4Z56D54Q9N92NELG2HF2C4ZO3A3MJAAEE4VUBGFCAF33NWHUCJSOXRRMAT8T4YS668IADZXCGZF6. +36#2U5M7PYSWEAOQ35MW6QOU639TREJW9YCB7XMZVKUYE6KOUAMFD = -36#196MHWI8WKOWHWTL1G5974M730NBAVKTTSR5Y4L2BDACCH51WV4CHVIFSPCIV2Q96XISPZCGMIFMZN0T9BLSN3V0HI5B9S2QNO8S2H9AEXHNENXXJY4Z0MPXAISZCYP6UCG7WK184K9JXKLE4UGK5VAULV6V7LWTRNVFG21V10UMFY2 div -36#FX84YJW7DUPLZCYAA0KNVDQLF81HNJAJ7BF7S7XDRGBHRM4I2ZMXTKD6BH8VC3YDB5I70LUOXD1O5RT6SJE76SC1TE9MV9E1G90W6AE0KML3BZ1L1SOF0ZZKWBPBE. +36#KRWOGEGWX4E8TUBZ68SKTQYNMP9J6N0GZTTY75ZBY3PVUUWT6GQZXZXOWC0MG08MNIE28EZE4HV77KWZZNTF7MEW9Q06IXLEVO3FL8XRLPXYFPOXHIBTQT1SKJZD84U8IUA7WNZ0BFY2Y0ZI1RS6PKE0IQ9B0GQC7T8ZDR0ZISAZVNVCQN5I013AMKL6PORRQ6L5PUS3QUOT51KHX7MYFILNVKKCP5WBL3IFN1DVNUIYIRH44YZBW3OX8KXOZL2Y6JJBS9DLXYIQV6Z6QN2ISBY2A2SATEGTIAJYXPF98G96XHEDV4ZCH9YBGP6V09KINJ4IVC4Q5AOCOJY4GC7QV0QA0FTKZVHBXJ9I3BE3FLCR4AHE512U0UK12A5QN51039564RD2YYGNH9LIRU9YKMVICG59RQHGN15HFABB49ZKQ6 = -36#GSD4ZZ7D5U56T4TPSGU6SKNH4QWRLFO06BVHAULG256KURJSAR4MIOG1SN2VJ3DZW5BR5CRK7ATUZQNN12OW9SO5L197E9A1NOSFSM9E45DVFHXXGQ0XQSVFTDZEVHYIHH2B01QWUB9AACB94S1YMQVTP77IU3PML0BZPRNYPIQ60D3E5DS3ED26P6U6BO9LS0ROXNCXF17IGTFSTU6FH34GGI3BESFHTWCGX83MWG1FBQ3T1DF83CJECQ0FA91497DF24HUYL53URBJQIWB53UQ3PJAJWVCPJMAFP3IQPJ8VTE3L31030W1BAR6NO080AXHDRKIH11I9420PESMIIUH7ZUANKJJZ70UFG1G6WJS73KIBPLLPM59JG1B1FB3RU3YJXU7AQGWKEXZ32R2RA331PKNBZUG6P4AE92D387NMK9KUFG3YM2FRTF1EOPFNO8PG3S5GZJ8EWYUXA48FDPWXSJGTQ451G0OQ6L73SA07QYCDCFVS4X39R89M8K9XC9CNYPKR0JB6VSJYNUAD4GM7PYCK5UXE4WJULSC6F5N27CNEDSHFR2TLKHSUOWYLO2XEUXA76U1Z1MGVZOJOKZ14TXJ6SCJ9QMI666WUK8P8XMISWX4T2EFS5NXTWHGTV9JO0PCE8GB0WJY6QZFJD3UMBBQN81XX359B5NWOPACZJL6LS66Y7FC div -36#T39ID6BPBEQFL3ZO9LQB780HSPMY229B35D9KHAQVBUTRGNLENWOHFGQYCUKXQYMJ2PGKBJGBX1BXS5XSCWWC8M36PK5AC70R320GPFVYBXGUEOSSU76LS1150SJ237RR85M4DTXX7L6S4OJE695653HXZ62D3FUUGWUKRH6RZK2GST3GI6SGKVAMU86U58JCCA835N6YU6NMWFK1XR1HG44X9IHDOC426NXXG0GMCCLI0XAN45YCKQY60GNZKZ0JWCJUR4EDW. +36#EGKW7DRD1TJRX9R93WLE2QAAYAV77ZNYL9ZZQ4YAMVWI6RS89RQKE9NS9O38YG9UHY8NNWVI3B8Q2VBRVO5Q3248TAIRXPCKCLR1RJYHX6DDXL4FE50SXRD5Z2X97LIMQ2K0QF2OFLQ8YNHDX10HVA5M33IIYF1HDRV788GOOG2NLN13LSIKCPLOGFDQN1EG7YD8ZGXQORVRAKQ01UQLTATRJG3TIPO79D7B814NPX4P5NAMXMA7BAVMPKQ7SZZH6OKNDQOUMXM5ROIDBGL54FUQ98WSG1GE7ORZ8EZE8RS7S5FG9IAQBN08N54YXGODKZAOG0XUVI8NWCD93GC2M4NH6BPXB3P4K8EAQX4QRTFQ2E3LYPKIG8XFSU51M33ZHB4DKS0T6ZOMUYFKOTW3BPRJN00WJ05PUS46G1BV2PKKCJQ4W5YB50N80T6C9XUW23P80SLTT3SIIS3QBDIBA82S4EQ2XCAK4ECB8IQ779EM1TGTFS84N6NZDXH7YI8PTCD7USQMEHP8IG8QUPY96UN4W8N8VV9N8M165O50IGUF5XNVKNI5FGU4U4J9BJ7FCG2MXR35JC3FT06DU4RXMBCGD07VQYHQLRZ0LYP9ZBBYHSDPSR9ADE35BCSLE1WMQK0B8 = -36#2D51HB3I49HR4CWZTSHNN96BE95K10VKCTN7G3N1DXEOST03I4 * (-36#6449JY8TE2MF5XBL5JBIHEO9W7KR9ODQ06UDBIJV5NL9ZZXM1P5SRNK1T5TY8ADK9P02XE09XFVGA332UID9S2VXUM53DPOVU02R2ABO3S0FD4B5CGOWJ7ADG1VV595QLDHXESAIIJ3FZ9ZP23EVWT5T5VYKEF6062MXIIVBJS2PO11L572DFXXRUMG4O95G11VG104KNEN756HRJAUI5NXV8XENYQ11MVI7IDUIM5UEEIK6K3PV8NGIN8RBHEQ69CC8YII3W1ESMWICSP04XWD61H7NB6FQKM7CACBVEBIANBF08DSU26Y28FVQDXR598XPMEJ8Q0W7OX9KX6QFY09W500CGMRO8S4SFADZ4JQX1X4FPYNATJ4TH1W0NG74LC4O8JWNHHNA3N492HTF91P647776N5EZ7XDHNVZMW4F9Q0Z28VEIR1AC7V6IWKOQFNM3K1Z68JIYI2G006WM3STWVZMZ04YF9J04JOXW4TG7Q7IU0GWBPKOPAAUVUZJUYYU80GQ6DN1QZ5CT3QYZ19F1QPIFAVBJ513KA7G82YCTIPE5QJ58XRJMVAPW4P40I8LAWMQ8T3F3BU2QQGB). +-36#PYXN5PKYGRFCXEKFFBRZERKW4XKD70UDJ0EFTLHBJLOMRJGHES2818R2SYH67OBZMYO0ZT852A44SDC1VZI70MLEP9ZYBYL5NLCKI7ICT08CT3J62Y42XB9FJY7SAKXCUR06DWIB3NCYH9Q72RZWZEPARYPMZEEQM5YI9VZTTQHDOWKXXOYVLA34RRYWPBCR2WAP7UFP64HBSNIXACM3NZDFETBNK6WZQVBP07JOJEIQRTHKFKRCDKV5YWCE1JZS8WCUTB7GK7RAXME545JS1FWI232E65PC6M4IZMTEH5HGR9FXUPTNZZFX8ICY6SWAPDDAILBRD2DHLX8PYCU0SX4SAHA3WRIMH0FUN3GW6ZX8EVG5U84CY658Z0O479JIF5BJ5RP07CGQ0UNMLH75SIYPDMF66ZXYP8D3HJ8RBQC527CH6SFNI0T43WLRERVJH7KXM70D6DDVNTXV90K6XMGZHNOTG9P6FSG3RWWZWMI80HATLUB98Q1WF509NZ3A47NDO5EGMRC9F3MFJGYPHC7C1BZKODIRH5HYRWSC00OXFFXN8NISRESGWEUAYNVA2PFWL05SQTC13VWYI2CNDJG86MORXKN2XYEK50SD267L255XYD4IKZT168UEX5OI0O = -36#3AL30B6L38KT3GJFBHFF1YACDT9VAEA32MLDTOZMPKYME8LULA2UQ5EA9III1XBQBLT78LGUDXA9GFNMPDWCQV1EJS964XXNIABPGCCZVRWLGSOB46IXNOAYLW913W1O148XXYO2WZ6WPDDR66MXIK2A6PJEG38J0UV7JLSRT5HG6M9N4PF72BKBD9R8GMIMDWCJJCNLGF235P2H2M0Y9ZVAD49KNGWT2BPRMDF00KGKARR6IKM6AXBTNZZZ9LG5PADXOYQE8CP3KW2B8P8ZKYDGV82HMRGJHLFUKK6UT35C3OW60A6PYUJK6A37BOC6APAB5P8JCDGRSL3XED6UXDARLG65OHQJMPVF108UTUSKI30F2J58RKOURBOJ44HHEMD5V6AXDHZ3J5OGEHU95QNZE00CKYIMKETLYZ96MDUZWSTG5XSUX10CGID6SFVMD2ODJ3VST7QWICSZ16A16199721AG7YTSW2QW527BE1QJE2BFTFLX648XQO9HSTLJKNG34OO0NYL60OCJKLCGHKJ0YL58IL3QEVEMS55UHX3VXWMC33PL84SQOB655DGK9MLN2EB867EGO5ML9FAJIHV62ELSWRUSD1R61WBDPI1R5HBJD983RBGKYO8L71Z5RSOAEWJX6B26H480IWCBMZGJHH0PKD9G6QV8ATWBIZFYIMY17U63ICTEQI2K28WQB6XA6SV1E84MXWE2LIDW6FFYI1N84CQFFF71JFB4D5RLHSFDJ77X0M7QPCZ4ICJR2POO6WTB05MTK055PKPORS7NYT2MVBRI8EUYFZ43484I92A6PO9WZ5F7RM5M4NZ784ZWJSH6AFBR5JUKEKCVMWJR1NG8LZ0WJ7EUC72XTPQGGYY4EXDTHVRX2PPRP1NKU3JTOCQT6D0SSCDS7D5PJV0WNZM8X5X91ELSGM6A9EN6SATASIQXPD4A9BAM8BSFNXLQUGWIRNME9QWUOAO8R0AX0X52OF3IVV8IAGCB2OO3HF4V1VNNTD3YAHZMYGRXIP0FF8895NA74WHS7FGEJJNYHWADIB5WD80B4VJ7FGQRH17NQURFCMP1V9T4HD4TBQ3PWFJY63J4C6G5QE4SVJPMSJQ63NK4OVA5KTTWVBLR7BC div 36#4KDRWIQO790Z4ISN6TVWNR56EYE6RCAM3L0F08MTHQ7QB3UHI8MPMBGH60G6STNNIC2OIKAYGOJAKF1FFUVS5ETRYM0TUFRG4M9R0EC2MCHT6IP60IWXY0L7ZJQ1RTBDJN1G0QU9TUF9KOJWNTIWKVF3ZKE3F1G6BYXK05LN0PS9XGVTZW3YSU1TMD2O9GFDXBEVPSPMEF0G9LNZQYRLTH4DHJGSBJSNDJDL641W61G605JYACQYUSZW12THVS0SQWYHJP3I0J2OXF0B4DI286WKGZV7VWSFFKOKW3JC2PZ3FHEH0CLUFQ5Q1KULYFMO1BRGRWYUV3KRGQ0V9RPJVJ0S1JGM57YPWYGHA3B1WEFNE2BB9POBXXAWMSBWUYKK8MU3ZJL1TZQ012GC3HCW9LEKHA97MDVCYHNS8LVYYB8LQ1S7XYK1S5WHZ0SXW9DBKX8DR8Q71LR02U656FCNG2AR7SYSIE3WEKKMATTY4RZ5JZ. +-36#13ZEHNGL3FU3UDNCILIG0HDJNONF4YEEQPH19525A45L7E20O4QPVIMG01SBLL34EJIP24D9X7PI4WB6X14PK7OS8CSF2HAFWTH3QZ33VYTN2C6SBQMRKQONY83UZ9LWRE9P6HSQP76M7S10ZW8QKGYJ3JCW6BYCB3Z50BQ5OGZJCBK8IG0PPJOIDKXIAEQ5Y83VAINK3ONQLSU4B9BBUW8RNYW3GMIJXW66PCN7BZ4J5KDGADR6L7YU9KJE70ZWBUH3JK7ARALDP6PJIS409TG0V6YGBG9A4BVGHL78976T927MMITJVELA4QLVLI80P6YI27EN2XNCT68GRUOV9TUAUBP2PNIG7IEX206NZM3HFFDJNGEPSN4I33FRAC528BIJTB69T3TD4FC2T86KASHKH3O5F0Q3DZGFYOQ3HQOEQ0YCQ0G6M8U2U541AK14DTVB079M4QJB0APC2EANKC1KIOMZ0UUT1LKQUIKYDTA2MP5KGY8UAORU96EZPO6SXYS9BE77NUWTDC8SFIVKFE6OEIIX34C4Y8ZIBNOK4EXM9ATF42TNGWQ8Z9CF61FIB45CEVB298ESH9XN5TS2V8WR3DVXM1PXGQ06M6RKMJYL3HSWPVJF8GM2EV9FTLFS0D33EP1HJFTTGUEMIIOESUCTU19UVP3HW0WEPGPVC5D7CN0RKU7NY6NBBECAZCFYLBF2N55V09F2GP79HGWQ1AXKIGXB499GBA6QH5SLFIQ2947KURK7CW49VG2KDLXEH2NE1Q0JEUBZUIUQY06IOSQ3WVO21H5KS50M1N4884WDGP9MQ5HH10C5X4GCN6LR9YZ5AQQ068PE2HF10Z801DM20G5NGN6YJGQ7CDESOZEYQVMLXK50V8GXKYFJ5TNFJEILSFNUDL9FOW8FJY8EDGA2QG6DBLJYG3BYTIQGU4HF5SHKCE71MI1YIDVOJMABGYMJHGVVS4OZXN29NGPIZ3FNKR3IPYZMOFPKMTKWLK10DUPT0N845REIEYZIEKVH8MF5MJ0EIB50Q30CN0AHPD3FN7DFVK0I1GFET027SXY5VHIDRI75K = 36#18SPUZVDQCYF1UZ8SE095C0QQTKAQBU122XIP9FQSG8T52FUR8BYMYN6OBS3UKQL3CGAQQKS88SDRD5NJZ92NNDF68ALE54I8F4Z5KF2X1T9MHS72UAZLCWWG3XRJ7WVJB8PHWD89QCFIJZGWWTL84MMPMP7V7297VW0SDLNFQGKEX5STY015HT4V0C2B95QM1S7YSYX1ZTHJ2ZKHEYFXYNY5E0DVU03VVWTQ2GOAVEGSCXC7SJ7HTACWUB1V21XINCCDLDRNCHXWZO3A7AYQ7WF3E0DSUE3JOPXH7JAQ39H380B0KB3T7EAXA2N6YZEF0AI6PFX9R43Q5DORUH3BHFKBKPOJALRJXASE6QA0E0GAM511S5GNTA8JQ2U3OK0QH4YD1JIW4G2PPPAGNVUSEMNIYOCTLBMMOYW84F3JQFHP6SGF1I7OX4JLJAQ529L8Q26K7PQ1OCYGLQVD90XNQH5OQUQXZ5GUMHD8026R00HGDQ2IE00L25REIFBQYUGZBCGKQYRF71AO5NKU5514MMVKL0LD1KGWWMGYRJYAQHV09JMO7JP0EKTBXDVOY666WZFM0PZPGIQK0Q5ON3FX891RJ6HQCBZKWEQ3EXKMY6L1LTD37GEUU24LI8ONTFYH92LHKKH7OAVZTVE3BHOKGJMA41ZHPAREAR7LVURJPQD2GRCXNNWYNBYI9ZDEVT0QJ0RNIGG7BZMWLVZODNY64S7OOBXXC3IPCPV20BD6SXXKPD77FDEJ9ADB10A5DVK5XV5JU1IXKV19H4IZF8CRHMISQEK5A2OVLNUD34JYUJMPN6G5182ZOX0AYSP21FGC4SH1XLEN3X139MZIEL7UKHME5ZCQT6QB8XEL05E2BE29EWQQ1U07W3O6COUKI5N1S8VOYN6N5HYVFKTLMFRXZM83ARRP2MHG98CDRNO0IY3R8BCOOQQ63JXFAK36GCY91LZVM7K304RG2C9HN2XNG4OSS319I6OAOF5GHL9M3KV5E7X6E0FAWOYIKURZLX9XQDT * (-36#W4PYS5YNAN0EBGD5L3GQR9TAK35YPP8VD744YPDMSZNDL9N3S). +36#6CNN7AYSUR0UXVEEYUNUUZ5BRF967QID5SVL9T69QBPWNKFEQ4ZDHA6OGHOI44XBKN2ERF7SNVN8POEI3WP65R34RIMBI5S2OADN374DYN4NJXGMAWOISUJDT1S5O1AYD6YEXCI01S04N4Z9ODDX0QNVD2HOAJSJ5HWWVDGNGD7UW18GKWZXB41JI57MMQSHSDX72WU2MRWH79FHYHI4235YZJHLNIUU234KMEUB9BH9APKK5JWQ4G2HBSJGQ9KE499KPIHINUHI5XSUDKMWM0DWX = -36#L1S4TVIU6B795UOVJV4TRVCNA63Q6DO2SHYML095RGSEJ0Z3G0YRAMZCSIQ9H1XGVZBBC7CFBN40APT39LTIXAZWSVEAQOSJU6WAOD74RJUN35X5AU40QJP6VJ0JLQX1WO8KIV0JVT0TVCSTFMPG3DWQ5R7CIJQJXM1ML20U1PTNX4N3JLW1PCL3LNBN5J0S6EICUNADC37B2BQ99FRNHKK049QUVN4Q5X3S1GIF * (-36#AV27R99108M6OJI1IQHTQIKTFG55Q9NEK7HJ7TA1PNLRKI587). +36#7RHTVVB3SZULCVD57FRU0GGA6UMDTYAIB66ADB10YNI0N4MVHFP9B2CHV3SMS8JDK77SWPVDFEFN6JA7ULCUIK2PZQG3LDYM2U = -36#1L34LXYS0616QU22Z75OV1DBR8PUYMU86DGG9N0A1FN9321Z2Z * (-36#4W9617IESSATYJNNZEUEAH9OANILCW46G2K9FMMBB0GUIEHF6). +-36#1NZPZ2U5LAKU671RZEHZEB07CKUHSR7AEIN76Y8AK33ZYQ9TM87QFEPJPBQ28E0HAC34TL1VXBKR8E5QCJIRT32QQPM8HUDFP7B685O9GJB59H79MXF6KONAHP7J3LREDV3OND289MPW22N2LK41YEFZO7C5UHNCQU1OWX2FOI4MR58D1DIWDFWB8IWAEI4MY9KDM3SZ1N992CQB0LFXY3R6CSYP8DIC9NDXCAMB4KUU6MBG8KAMP5UDAMMKNOJF43D1K5Z96J77Y5RFL = -36#38YUMKN51845MZ929S84YUCX3F2S33GZP9IWY4996SOYPVTTP91D05KHQ1L3DN39S9KBA1KMR3SVVIKO01TOE6JL32DE986V8IYG5LYQ3S12ZD1122QUUQJRQRICMNME40PIIZ5FVN7MDG4DWU7JHQMZH05BU057QMQ0I1L6JMGRO0TJAXKM2KAVIR6FDAU8G2J1IZG90C9BFH125BKEB18BLJSGZWOPWPUN2VP8RZDP0PQD8LLVKY4PZ79RNZBMTIAG09EW1WTY3RW350ZTFVLVSP39V9PWNUMXCI5O6TJBULOL1KCF2GFI8CYEB73U06DQIHK76U9K8GBJHF529NLZ5121QLJP5RITISWC1GIOTEPJGBM01MGQG1REQA1ROHNF8NLPU1H1ZAI6SM2GA0DG82TMZIVDRIBHQO0JOD5K2DHE6J8OG2R6DY3JU8X0Q2XMFXD2TYPI3936O2J1F9H1RYZ7GHJQVFQAWI5L9RNH2THMBU8B4585AKAUZVOTYJWC4B08M1YNO5CD3L25WH0L0MYGP2HUL66WZWHJUEMI3ZOGJKC0M2A41FMUK54O082GKI6EFK7WDOXLY2486003LYA5L18FTVXA1MEV08B07ZEOXY527IKOX2EF4PRPNGDWE74PK5JV0MGYVXLRPA96AFLCPZX40DCBDTRLR8PVWILRZX0I18H593AG9L1LL7W5GIXXFU9JRQHCHONOVO51QLBT3A4ARG5862TYYPMXAT3PTBOPG0P6CF2DRSYO18HSDDZXR3UPYPKHCHIGUNCBJREP8ISSMKZTWU5N2Y42NDO4QEQKND120IO81S428VQS4SPNP39L7K92H5EWDKUZM0FJNHA13Z0KOS6YJ5EIA63VXXD46SQII4KWS0U0FO5OZTJ9OM9BINKF6H2YV93IIC1JCQF7A7EU9WNP03VKYF0SGNQRDR0VSN5YQNSDEAQL7EKC1LQPCGUTA2N973TAY725L91S4VU54KNBACVAFSNC7B5LZI1YSH1V5XZABH3J7L58UW4G6RB6XBFG7POWLXGHWL div 36#1Y6U3REB34A98ETOMVE5IICNVIMLFOGT4DJUUUTQXNN1MNOQTB5BGGXYODMLKXWWH87MWRDET128BVNU6CSU2F4Z0TDISITO2ET2G6898AFVEGHO06T3LKY8HTD3AH39P80HUT2BA0M6IE4H29BHBT8VETKMRMQJ1HEWDIGK479WI1P21USOCNEBE6QSL59Z56TSL9A79GIC39B9VCKQM4ZHLE55Q2F171VQ3A6NS09DU1YQQ4WM85F6FEIZ97UGR17Q5ATT0NY6MD5WNUQCLRHAT5TMIYU2EB64Z699EWBQZ3S9Z00H86W349OHI26LFX7TCR92YW6KQIJFCE7W37RSJAEDS0BG5BJNDVUKJ6XFM3D4V9I00TFOS9URVM376C0GGITKCUESBNJCAL4EAGGNPVQYT0YG9NGVFTN2LYC71NLN7S1PR0PMICCH6Q6S9EWQIYXMZPLYYT3E8ANF2HSA02D7B8C075172376FQPZ7MXP7DABSTUY9M3VFN554R4B9CHZOHRB6A1LTHAB1L2TIO174J2IME7G5V6K86CV6PX7I6JU5YAHLMQO6F3EEC8UUKAYZX75LV9QM0B2UQDEL0FMNIEPTOV6W4UN9AVSSJTM6EH38PDKYS8O5FR0VZLD20I5TG913CG4EQVCF5YUXFHVWT98O3X4LNK47N851YIT9J3MGKKMOWSF17J3TU7SX9IBDSC5HPDXFJI0J01KDD7TCF3A23A1QFHMKMDFMP6TQEFTC15R0LA8TRV1UY6TX8R5I6EN7P. +36#2ZMYRF00XASAKTPHH3IHIAHK3TC5N04FS1WKDFJZ0TFZKELZX55U5JJ8EQ7EX2X2WF7V4QY2YHHHWDMEGMLKUACW7EKE0O8W6HY9R8CIOJ3BXVN4YCOSMUJ3HITU6XIAJ0WXARV63AI5AFRIPYZWZAQJ7NLVFTTIOIO3FR57OR9MG903521CJ5SKPA22UCMMX7JFCU63OPVTF6AUD6IX80KDG8QV4QOW2DNMFXBEN89R2CFJXYM4E7AX = 36#53NOJSMAK3UD3PVLJKPK9RK2DBDBOIUDSALOFM45JUA8M0HTCKOSQHCPSR2A1QYTDJ9123UWOLIR3LK28UWVLV90M7YZVJDML7MR4C8ALUAH15FOC7G21EB1NHG3PGTLW4H513I1GAADCHAI605TSGJ0EDIGMLTSBY0CBXOV39V03HSY2QC0QQMON5RCPJW0OHPAMWAQB9EFKNPASEGKZ7MJ9X98AN4Y68FG4VTBXM0EVNXONFO1QMA5ELVLJX1N1BEN7K7IJKHRDCBXMGFJ3Z30727Q3ZOYD9QFG1M47EMA9QO1B363FAZ9T4YSTCKRQ3VYKUL38ZD8XD5ANO8U0JUCFRRLXZY4TYNMBW36Y3MOSSFRKVDSUK4ANLKPVI7K1ORG9A2ME9FPIXLT970KYO6RZXADZU5TN2G6PDMDBNCC4S0O25E1FY050GSTL78HZTYJRC6BB8N2FVOGKYE0JLYX6X6R06VCPUNE9NYPWWA2KZVNK8E9XDLE48CWI6PQNLSMVX5VRPAO3Y2L4RNYVFU6D4VWD8KGL4SEV9ZAJNBW63H9VEF7990047R0EVJ4L5YQBQJWOZ958MSPVEQDL7G31MXHMNGGKQWR118JYXQWIQOGHNZ6UHPPEBNYZ4Q9LCNGOAFGMX5FGEBDTT7X5HJTN9GJNZ23CFS51T3IWWZM6EYVH0M65CYRMNAOYH8MJBQDUGR5ZQMI36H080M1206KBBEJVY3D6XGFI0XTU5ORAOI7FR2V0V214ZOPEOBH9W6TRVN1DZATZL803LRF9OG2AFLQBXPIJV74ZXBJ7O6TY2EVZTV4D3K77WQ88BCEWQYIWZ5VMAZIWE82PMWOCSSRV1WL8FSVS1V3XG9O1V9NCGLKGX5UX4Q3AY31716CCUXXYH01LHEDLZTTWM61YU6WPZ06IRBSZ1CGFN6OAFA4UXH72GPK5T5NUJ7FRONZYTYQ2NZWN6BMOJGZ3AWLSX9FY4CRZQBRZ5W9RQUDOQWYCMZB8LNJ683FUFP8XCQMHIEPNQCDTWQCNGEBQJUAQMOJRWGBHT4KUGXMXF6UIR00CIC0Y6ITWHX2MZ1GCQHRLIFGTEY9JKXKBYX1R185P39TOSFK1SGMINUVSX084WCH7ZA20Z36MMC5WF707R59PDQ05MKDT9CKZSHAQ8CS2ESDHR52T9YA0CRHTF5H1VKA7529926NJ2ZCU9SCOMR1RZ83UF3KBM69OYVAGWK81185JWBECB1RP5NG19V472LLOCS2ZIYG4VWY06E12OPZOI301YK77C8RSTMR911XVX6LMKLBPQJTW94I92EIA6UD9AOHMX59P8NJ46G2EL7MYG43R6Z0VL div 36#1PFB2ABT5XC376ZH9KJMV3O5MDXA86RKVNS1A12LQ019XLJ5WBHWKDU0PE581SUD09KDF19KMH1QEFY30K1W4XSH04PMTE770QH5WG9ZB2O1RO801FHUNQ03UL7XQ61VBGCAGK7MGY0WTBG7WFEB74Q7ZUX15DN3AHACTQ4DPKFVUHCOIEV3SY9MN1SDON79WGJVJB3GNNUVO4Y386OJ0ZVCZMXK2TODMJX4EW4NI0U77GQ1EGAID5M8EDXSR0CCAMENXV4LR2GS2LJY1WNXVJJMRCXDYQKDJSYVJLFB7BWBQ6ZGH3PQX1OTDW0S5HVL3WMLXBQ58CC7X3Q72R0E07PUY1OES4E83DJIS2X9VZJ4M9GD5YVXZ5DH6ZS4Y1FF1B18N3QQ1GYRDR0U2V7ZGVDB52GD5RXL6FMEBQI245QPC5PBC0U81MKR5TDWNIQ5YG7XTLKVAIEIEKJFWNFY3O3Q8QAJO6GI7TS5NK9ALMUPCFWQRIXUGKG7QUR8FLWN2LQXFHIARJPNL9RXECP3SCPLN9OGVEDPU7WGSUGTFC42NWVY0JV8MDY2G1JZ571YC7ATDACNPZHOH1WUIGFXNN6FOGYQHHSLFFUYN1IESLAKESSHIJVLUL0XJ7LZMD4D5BTNZSAFDR5W49O06U4KDDNC7Z7VX4YLSE1330YTRL9Z38YOT6AQ953AINTE4V7SU5O8PGX2094LJK0VCVTQBF9G9ZXA9RJTDPVV84A7PLNAP2AR4EY0BETUY5ZMTEP146Q4OU1QIKERQL0BV7OI4OSI2XJG01504Y7UPU8AUPXPOR6C3L5XNOQT2U0UMI4990MFYZ08FXENT6H18898Z643XPSX1LCFHY3T75FEYX60T6X93ZGSYTBVPP0IVP3R4UA3AFXYIGHB2GIZ9SKBEKDRKE35K46MI0A6UECZ3AYOMVKA748ISCMPJGRONDCDOC3RLLEJFB463K68HGX457QQ7YFD7Z1UCWK94188GZHYYUQJMJC1G92T4WQ24YSRKARVI2P2XJVE5DI6LKOJYFWD3AX453WRPAGZI2G3NH9O9ZWXTIXN10A6NZOARV8N8YWX7ZLNLWMFMJSQANT. +36#3BTVMJ03EJME2286OCDG9BKCX50C3BLFQR969L9C1R3WRHVSP9UX7IZJBFNF9P2TYTA76UXOJ3QVBDGPI2PA1AQXSP83N5O7Y1H99TVH18IRNBI95B9U08FSE74R83YJSC8TAPWDRZYHM453APKHP9CF8858CCVATKXOW3W71NG7JYRU565I6VU7K9U65EJXK4273SSG4T51T5U0QCWAA89X6KP6NLNBSAS5FB6LPMTB3JJZG2QBSSUOBERCE7K7S7C7ZIF3NS9TPEBGYDE95TH7YMZB9GW3W1JWEOGR33ZYPCEV8CVZ35UCHNO8YPUBWN77E9IVUZUSP4Q9CKCZ6OPKA6AUMKF8166IMBMK9LGIDP47JLGCKFVKLB9GLUY807B53GSQOVR93ZQ03W1PWK4ZBRZ0756PC = -36#1GQ26TOUKUM89DJWDPQPJAT575XV4E3WDYXIZPZ9DW4SC9SXWXKJZ5AEYY2ZYJGLVGV9G4T7MLK9AEOKVD9V1OVY59ONQZWCTZX0BLCMGZZOQ1DDPPT6FN9YMAYAOATMB2BER5Q8SM2TZOD2S48W79SD24JE9PBWT50POJBPLZF2J1GNJGTGV2F947C8GCXCYED2WE4DI8O9SYCHITHRZQ2ISS8JTIT2G45BQ4HB3X8PY6XYC7CU1LWKSAEITM1OBFU9A3I6XK4OYNBD2WI19FSPJ4N6KR10WKUIAMT1UAVKLR7LDH3ZU7F8UI0MOSMPRAP83AD2EJGH8W71NUKY7GE0OSYCSH3YDA3OGO4M9ECAF7A6 * (-36#29TIX1688VU5RBK2GW4YD6AG0ALGLOGC4UUGAX9HHMRELUW3MW). +-36#2JNFYG4KTDVB081JUW7W30LY1OAWWSV0W2TR3KESLO215R8LT5KBTYK1MD97QU38L89V4M9RKPHCGZO53WR604H9M90KHTIOLMYMHZ861T9Y8XETRDBXCRJ22RBHWM2YXXQW4Y7GXQ4UWMJHWKOQOYG9O9GHGLSJCK21UD5K35PKMQJMB9GTDP05SEOC3H2IR7WRHM38VMR0YFW8V4SY7JVE6927RT1GZQI0A1JHBYI5XPP66J1TR3DSUSUC5B8Q0FLBL0GCCD69NF3YKMXG0YHUIQFOZRV7EDN0O40LZHDGKFTBG9NDHM7MM8KK1LWV7ZV3FK4JY1W33G5DPZ2K2E25WKJR9AESTOSS4JZL8XYFSF56ZNVGDFBYJ12KJO9WYOJJDGQ1O9LMEC0 = 36#1SIE3VYCRRF3QX57EJQEDNW8ODLCSC6LCN2EWDHTTYR7RZWWSE053CJJEHUOUEAZJHMSUHZIXIAL1D1RSEVONHFX96A9FMQG7S5L2F1GWEILEUOXXFFXZ0QGE79JV0KJAIJQQXUL729HE8I72HT7ZGV2TF3BV6VV4N8O8W88UPK70YV5X6ANWJGRLLL9SW0CZB5WJ84XVBZ9PWQW9DVUKGF69OK9Z2U2XVX5QOZSJQQUTCP1H9NMXF943487SKXTEH8SFSWPKOUVRCZ6A95C55XIHOK5TIXDQ3GYDD2QINDK0T4FVXOXVI2B4UDSTHCH8L84ZV9TX336RAZ1GMHN30LL3W81EC * (-36#1F58LPD67W8K9T37S4F5J6BCVODMJTD9DDGWBFPNKAO1LTL910). +36#5X3IL6DM82EX8DNTZ5XMWFMJBP2RZFOCRGN57ZQ5JB4B1D0G920OO1JLGL2OC0ZSA9F23YN8EXMEYEVEAVOYZJPZFDIVEYRNR0CG7OXWWNSTCGO1KV1QHEDJM79Y8PH56F1C480E4HTZI6IZWXZAGR8Z43JIWBLFGHNOSAOWPRQ28DCZ5FAVXNY57RT1ACP1SY7JGHG322PAJXJZN60VQ43G8BCTKEFKNLY9X2FEZPBJVV94F3I5R8RTAN2N9P3SN05EYZTJZEL2D4HL19SFXES4PDZU4APXIR4152ZCIWH41SWV13F970R19UVVM067BTEQAKMYJE5VGP0HWU9F8J4YZ974CXEU50TSG5X1RK8EAV2JFMMVHIPOWENDJEBZXGZ2OWL58DC999TNYSL45EW5VFUDHAJO2Z4RTMLEY8U7KB3KSIM9KVKNRYH9EPM57MCJUMUDKACUDF28L4DIVRGK2ZNH6X9YL5NXFNFSF = 36#2E9FLR3I5GC6NHVUINJTWDW04LBMR3FZRWWLBMSKRFFT32GVLX * 36#2GXKS5I898UIYEDTEA9GLK8TWP9NT3D96X18IMZPKBQ75EW4NCTYH51I5I485VF7TI2T4INWOMQ40Q06SZCDIN5O0RVHR2OT3IXL11RU7SECGXV6OF90K9625PAPENEE7DYXRWM0KD1UK5XI1O7J5MYJEW24IQXNGZX9OT1VYLC43JYNO5CMKFND5ZXE73D8B7MMSVPYTCQZ38HYD7PUJL5AT2QVMORF0CJT2G67GX7ZHBDBZM5LM5VEE9GN9Y35R8922R3929Z29KHA7PW9KXDG1DBZOPAR1TAY7WDHHDE7HK4RO9ACT6EQORHC95ZLJ7NC4EP275QUBYD2X2MOWME4B14E3K271KJ7WPCBIUGQAPFM7Y76BFNTTDK72COVGXEFJ0PI0TV2GRXZXSQ150L6G8VD2YR1M38BKNVHORRTN5UVCMQIA0PV. +36#AUZOOYMYSYKMRARXPCYDJYLKO9JZXEV5ZSIIKLKDFRHHL9HIJ818ADTV2YCN8SYY9SG6LBUQQ7FMD7FM6665MYM0K0FS3HQFJL3JFHBNV1UK175RPOVRK7OL6RNJ6SPHKDFO4ALIZZBJS6ASEG5MYD06WA1VLPD5SFROEQ9AC0LQE6N8C9M4DB9EQGV9UGR62DYCMVIKPC1TB1XI95ZKU5ECUBFYPFTTGV7P79YVJPFO9JUIALUB1DHBMXMMQDQ82LP0OSC5FV5CL08QY6JQ2OY0PY84PXR66Q4TGCW9Z7IIHAD7V4SBNM2KCSA6KWWBYOD2YKHBBM7AED4668RQVMZBW4ZWDVDDZ8R01HU4P7SLQA8HG4VSYLAFMG7P1UEYJCB1AK5SWJCC77EY3M5JSJNYUL9XUBN88IER1PO40I9ILHOPSWM8S1XDMPC6EUEOJIEP5JNF1RD5MOVM3CF10796G75ARMAQEXRAPKPPEX3QZ1HPR2S1KBC8U4L8557952HLU938K2N7HDAPO1GHKNRBAMIDIBOIUXFP1G5LRDIKU63IU4HSMLQ50CR01GPQGBNWVH1MV5C0DKZJCF5QIKOKNWROZIJM3UY37Z1U68T3ZXPJW38I3XRTERCVN0AUA96407BP8Z3SCXMTVSMMTS8P9F648KH457918NL8LDR0FV1E67PCHKY8MO38ICV3UGLDARWHHI2GSJJSV4BZ5QCVH0UEAMI4N22AZ7XWHHIY2RMZ9ZHF7D75TIJHL04CX98BVKZQ88OH8R7M6HXHER1ZNG4I1P2KAOUH1EO4H15E700LC9P1H206KUX14O3GY2P3D4OTMHMC935DM19W89IRFDXK74A6KEJ6X5W664SBS59E52P5VOWZV8HVE3U008UVS225KDSBS3JT40Q1M5UJMC31FIWLIVP6LW4BKQ51H6M14L2AGVBUC3D26S7Z5PZT550V5HEET5JM89NOKKOJJAK3J24BZZT97G5ITOT9RO2FJVEHKOWHXP3NETQFOH2QC9D8TVBRU8YMQGPK3T2DPKW4DZO9BWGSTSTVWRR79CHWX98C4EWLQ9U6VM1IEUPNQ4RCSTU6BBYMUI311YS7SBO1Q87XZHJIZHIT5ITXHDEXL7PZAIWWN2NVS63JW3U7VM = -36#6GIMIOT95V9IWP701SZQFZZZTXZU18G9FOLM7D8OTEMFCX5AXZDNK0XYFI0B21YCFHG2C2UZ0OAE2D2RCXKLYWMKIQG5JT8OR08BCXJ1M785LZK3HREY0U2GRGQ8DOFK2BM3T4NQNNLPF2U7HUSTA7RPN98ZYOHX10H8T02HUYID34KPET7Y8RCZIA70NER5RKL8BWNXU07LL8F3AZ1KHZXQFW319CZ8FM2SETTMX0FQEBL1FXUKCELY7DUN8EYH6EY8SM9BEDVU4VSXMIPQKQFB6CWG03KAE7YM6W0HN83A8OT1RG7HEZKF95UQ0NTY6GTAGES65YLR54JDLTDTQTB6NITZOF7KQYNPN5BXGOS692K94KBQXWVOM6YKK8CTOWOFUJDU06GO1AC51X84H * (-36#1OJAQFQX9MJBCRWYE3RERQL1WD262XDE405BFLCQ3JBOZUODY8RBTWFWK7QNIJYOXJFB8GFVPWCOK0P6FG72TAF1P4A7QUI48UKENDARGV97YBKAFYH9NUGKF24Q1JVYUSAH2C2XW9UP98CPC1W4S7XMUECXQGSGC5U5GXDGY6VIH5P198FZWCOT9TA5NWOPGHGHKV3MFRETEXOK7L2RH13OF5CJW7V3CQ2N6RTXQ4RSDPRD82QLVAAGCKP22Q833E9BT56MV324PFZ4MUBWGOIOJ8LNYKMWL942DK7BC7EYY7ZVI1I11RI7HNTOMT4AAINQYVB4JS0OADPLPYBTR0RYF8YCS0NNQKZFWG12QVUG5QCRH5RAH3WZ0DGVHV9HX85BJR2S5IN2CF8XVSWWMQNNZJZ7U12WD23JIP9WUJ9CO42U2055W6T08429B3SRY3TUTF8AB3WFHQYHRCDNJC46ZSWXNKWLV1LGR5J7Z36O7R1JRHMRINZC7ROM66J6YFBM3H6GKPWWLJB93XQSQ61KIA7AYIENROMA9616UMDVU0ZH35SUWTWASJRPTD81CO87B0CA2T7YX6F3JMRHJISU70P6KDKSUS0VHZ3W0LI15B6HWE3O2SQ7E1D3C39A41GAZ1QK5355XS4RCMAGEW6269JZZKDWRY25GYBHDTCPGLG9XXSJFZAGNOKJZ5HUWTTW63DLUD083MKGCPQO8DWELY947TSF1GG8QMR220EPJEIKDE). +-36#8UO0HUJU8NGYHYBVL6OOJH29A2OL31SA88X2PHM7I86Q6MUVL7189FMR5XWU9NRFKOT1UOJJZYIEHMKAC9OE9WTMXNW1P803C6552S2SP73WGJFJ25MKGS9KW3CD17QMI33MQKYN3C5STIHSA5WNEIDMWMVQDFPHZ4QT3R4KHP5JA5YNFTM0AG5YQMWWA5R53TNJVZGM5D188RC24BA2QSE6RQHO993SMO81EHFTZAZQ72IDE0TLR3IY5ZVRVA0KUTJR6E5D7YI9SJZSUTCHWLTAA59ADB0D9EMYO0QVT3UAHO840TOS77POLPGWWOMEXJUT2U5IFPD3JGRMMBXXI4P90EZRCZP9WQ3OVUKXHIKC4DP9JW90P3FW94NAKUJKB4WADUO8XT7WVF9OAS7MUOP19AJK26X575E6N6RWVDC = -36#54FADEBYGV7C44IYZJLMNC8QKAPX7VF9YMUCUQQYBMIM3OY6DV96K0LXM6F5KTFDSKKBNH2WIXTFXVD55IXDBIEPGYWOO8A14W3G4WHB7NXJNB8XBLAR0T9R86LFJOOG1QV4ABP7X0ADYLVKJ7SQ0BYWBWJKNLO02SIXT455UD4CAT4AYNXWZGNXH6XIXE3BELVKT8C59EWFM7ZVZGW6PVKMWJR7SFQDNYGAR3YEZTLCHAJIKD61VLIC7V69SDUBZMTZQCU3Q1VSBP7EY45KZV089E7XGZSH2VRHKYE4DRUBGASE3K945TD75Z67R3BWKDXNVNEWFGC1EC37L9ZMOPXUDI9JPACWBLF4Y1QKU7LHUNLGBVJ762J70NUGID2XX3C4HH8M8UZPL806OP773X979XFZ780O5HJW2Z1DE2F7UOUU11CPL9J7DCGQHAF1VMZK6WAAP6AH1XLUGKBLLDIPRU31B3HLQ63PMNRTLSA36W9DCV5B3AHVUMDWDTOMZ4OGZEFVI2G60IILAZABWL3C6J2CXIFIEM3QARMO2SBFJHNS43NJPMEQRPGK8U01D5GC0RTV28EGHMEOM6SWR2RY34TXULZ7AO8UAT1DRUP7NL7FNGPAIXE5687775URIW40XJYKZIFDCZ8HMQQF4L9C6Z9MTBYQCOK7K7AEJ4QAQJE5H47FZHDFL78YMNCJA19G61DOI7Y7PRS9E15J25LAUSRIL3XBXNMGVYD6A1DZYHRXDNSWXKVOI29EPKS03ANTD1NMOL2ONL2PKMAOJJH3Y6NKTC50APGJHCTO8TXWNN9AHEZ48PUG4L71W7BKI7G53IHNPD8OYVG01EAVJBF8Y35J7PHXXLLJFB2UQJWLJIUV5CKQNXXFR9HKIWBMXIAL5MKCJLNQIF5F0TZ55NR5QZSOOY334W08K5YKFO02KGG0TGXNAO2J8UQJBREUYEANKM2PJXHXZSCFVSAP0CQ0MVJWZG0 div 36#KU1LA7WROR786PYH4NXWMUEJ27PBE55NL18D8S6864U5SIKW99XCMT4RXNGHSHXGURSF7348MLEA60RJ53XAQCZBHXEN963BSHD6MYO7BMDIO3O50VNDYC6D5AMQKV61TCUPFZUZ7QS2ZG0V3BCYGBTKBS6UPKCMLQ6H9ALL33USSXHEXL52OEBNJH4T3W94SQAW8FO81G1S5W8GK6OWPUUP50GASDYLJGD8NBCCEJHHR638RQ1Z2BJH1M67MT43LF49FHEZ39IU7Y1WNWSD5ME7UYY1OQCR7LSA4KW8CJZB6063J8YILWKMVKUI764APZDA7SWTJ6NO4E108RKJ7UPW49H4XLPPICVKEB86GT0BKZ931TZ18U3MD4U1BCRJSL7ATIOGWTNT5FNGOYBJWWNXIE5MO7IK9H10WCJICG02NW56NBQ563BT3D587XJ5CAJRM76SB6M7KI90PU2HK11YH0GMUUNLH85GPU7T8NL2M8V96RC7R1AOC6NVPN0YTGDRH1ZMMRX6X2M66Q61CNV3SOUZ5IGR531HF9UI4FLAFWTE5US3. +-36#1YSASXQL1EXSK5OJ0D0QWCECC5F7IQCXFD809IS6EJ60RONPLK85V2G6S47XHF6DNZ7A5ITO2S6XVCL6JXRA6K5V2OVFOM5HO4AVAN27S3NRWD23UCXMK2CV3TBRBXUNCUTVZY1LK1Q03AL58AX8587ZRLJ6ZLPFMA64RPRZ6Q2031UILLN8YDBEC6GGWXNVNMN3MTQVYZUYVZNQ8O391B39UK71VEW0UI7DN7YMGA1JH9JDLP4Y808Z76MM2C6RBCQZUHQC1WQOI4J7CXCHWA981F1T18YJXSB30Q1BCQ8PQ4J0KB5C9RCJ3DQ6TB558BDFXMJMDHLZYZWROVLOO9KQKJC6OOW3U76UIY9MG4IZ6KHA9FISWBVF5R7PXHGHO8QPWOSG0N6CM35FJOTJHY2MR3JHJHSJDNIZXGB3V6PQK84D3S6H75UCCYBK536JDZFHFJ8007PDSV3JYB7NBIUO7D3B67WBU6J7QHOLWI2UQB2NYWCO3QX6XYQ3TW0980H50FWKMKUVC0GMFHVX4LQ3EDS9JMC54KVC2UK3PJKYYYRNJPFEJ9KAVFU31PSBCGOVYARA7057NSQW8V3S33WHF0H613NDZE0PAPTQM2U4GOZSKMI3CKYJZTXZ3ZTV8OQZY1KXY1LWZMAN0Z0P35L5HB3M4KFY3X7R7VKX1RO8QBCRMLCA = 36#SGZNENZSHJ6W5BOSZ3RCSBDOV9KB65OPG62JJGIETFMTMAKE5VWFUHGGQGJVC1D1DGYZDB4YMLJVWUADY66XVTUGC6VNG68TQJPU57U2DJ4IKTA6YPEJO13B1QG6CFVKK80FY8CQC68XLO67508PS0IYVBXKAYO3SFYUUZEAJ7ARNHDEB1I3GB7FO046L85VZZLF5UQ9T33CW061ZFFCMX74URUEEW4L5WI8VZKS90ZACHALA522SK396L7MQAE8K10KE89R8XEWET79BRUEH6RWAN7CTQS2G9R9TWGDXAG4L1NGX7W3OL1UDX0L6RXLHB012SCEW1QZ62TKUET71U8FNVP5SL2MUNPRM57SDS2I6HBA2K0MI3EUR466ZNUKRGIMML5PN7BCXKJE83PNWR8ROL7G0JN4A8JSO7CM1GSZT8FT84P8X9BHKMZCVKFR2D6DHTW386SDNCPGVPEMA3WEK6Y9Z7BWE4C6Q5J6NPYWGPG1U86XU453OGT2MCYYOVDKKKXDC5J6WCAYN05CKMLT7DOD3O0KRX959YC3H985Z6Z9JXHZQLGGGU49HLZCJXF6XX9UXLS425YE705HO8FRQXRBWFG77KTIWAB2QEG3Z3OO6O30FC033MPTDQB20N * (-36#2HI2QXJCVWIQ50TQRDS43K0XNIZ36EGLRAKFXESNLX5NFRVRD2). +-36#W0KQHOLZSXJ2EOLEN7UUNGWF9MDIOV4Z4511NUD5B1IUHABOFMHSWV1JSWUMMMQUH127YEMAJA9SLT7ONXO8DKJP7RDO1MEIK293G4AOG2ZFMQWS4IYV3NLQY8FDPJT2EU6NH83ND1VYSSODUX41RK0HCIZUBYM7L1M0X97WKFXLJDB554U24CEZ9CR9W4QS7OJNITBMXCQ3ML3LXAHIPIF1ELU6SNY8VLHHLB0O1F0IFRUJY4RA5L7T53JHLIUZXMDPG1VG8M8M3ZJ85N87WE5CDWTAJOB2QFAGA6JRRCPH2R0ZM4ZC80CPLLG4TEDLD4PVSIWJGIRG71G719TPVTC5NAT7H0K2D3V3U5VDGO47898L1HD5KT33QA3PP6J2H44N967K3UV1HL6Q2QIIVIW2RA05C66K6H1SRF1JJUHVQX39A3ZOG7DX67TCBH4GPNFBGW03IRHUZL5ZVH2JAFRE9ZMT2T3Z2GHCO513MQ51S51GERLY640YXYKKS59K = 36#4F3WPHOPOD3GLWF5QQM9SUFZ6353ZID311A22PNUYKZIKTFDPR33R5KTR7S1C0USS0XC0XEITVRSOVDP0AROPYJ7WTASCZ7E50L84RP9W9KVX8X5PVWDJP2DMVGJ101GRB6O3I1NBNSM0T02BZHL43EJWZ5IP14W81M6E51V5ZB5RVOPT4YP0MLKZV7KX94LZTG9XRIE9K5P1O992RALP3L9R8XUJZSUT5YKZ0CLY3X3QBIHN7UMYIBLRPBJV2VWTZO97PLSEESAK30MUC3RZVNWW7EMRP3QBCJHXHWB7R275T9UXISGMBO2ESU32KJEQ2ZKRJ0DVVP14ZHR1JY2TT2C7W7K2YLRJ72WBGPPFXJELNTH129B5ZX43CPF1NWFJ5GX1DM9U157REBQU6L6DI7B6EIH2SYZ2PWL6IBWW3G73V3IBYQR3YI1KFCI8W43QZXWKX8KMPWTMYSJBZOIOXXG7PCZXTB8POTRXLSRT5YQPS4AA9OYMIP219EUOMD4QQY7ZPZ9UEMA8QYR7RE9MFJRS3CCI0V4C42ZXFUR7QW9EM7UBYIN9YIM838QZLY2XNGIGSNI88CM6QPVF7661OP3O1BMPIWIAQJVMXFAIOEV3AA6YY1T6C6IL4NLUBYMH5J5CMC1H3228DBAFWU9QG778U57BVCLB2IAK4QR3MHGEWVOK01FG14SRYKVERC9G38GGO4FVJBWS9COV5KS43DQWJZ9SRWS03EN3DNODY61HN1M407T6ON2T6F18CZUCUME2F4XLAMQQJ6IZALHWQEOR92RS div -36#4YWOD593037XHXWNP8TYNLRWWRW32X7L06YLZE186K1C37ZUUWJ90UHMF0YGFXWGG0ALGHZSVTENGWL1W54GZ7ZTXOIZP4V6QYVHUHICFWG6NSLZUMNAH9L4WH74X3NIYQL6R4D1PPQMUW70WPDCWRAAW0SD7L5F4NPNTEO4N1OJFJEZ85P8W2QD3X4AXTK60VHSMLWEGDEQCKL5HD2NFUIQPN40LUO1ZIVHD7OGRMHS6RCQJK995PX7GCKAUQDJRZCVVSAWQMD7ICO35ZWJSO5NTB485. +-36#5GRU19UPVYFIBEFSOM6WV9NTBVB963RM5ZK2ON56ZTAB7614378BEOX3NHKZUT43TRWIKJKL726R6BDWIP1O6Q9QUVPY5O7NX1UOANWVR60KCS5S4FU0141H5YIG9SZ00ENSMDJBLKLCXBC9VUDS5W3R09FP58QLMHU9SNF7AFMRFDH2ZNHWQ0G9XIQ24Z3L = 36#CNITQW88CT3ZPXO0KWFH12SW4MT8K1T9NW51ZRY8964UPQMSKBHR6G3MWLM5AWM28M86PFOZZKUZKUJKZUGSLQFFV2MPWDH01ZJ7TR0PPW2EC26XFJEBYJV6WXKRWXT993WI1MTEGUFD65RYOHTCQCNCYN5BKDFTHAXDCVOILS98Z7FJXMS7VRZB0SG227DM1ZT31XXSHUSF2EMAXYY85C5BTJTM2A6V965863GBUZK3ORIML div -36#2BC6ZQCJV4URKV1GPXXZ3X00F25KLPGDMIJXM87121PXQM7XGD. +-36#1JNFMQ15OKIKTL3MF21P6ATN6YXKAR75EIK805CU5APW6VM7BCDMHDEG2H3M9YUOSXGX0O53VT426QL7I989Y358O794C1IB2XWHZ4KR56LEDUGBSYYGDNREIJ6QK3OYVYBROWBLIAVBRYA6VNALU9NGXBFE9M1KLTFAZ57BWPOHBFPT7AFF8D1FAF1QOZZ7HV8KF054O1MMNTBUYH5QC5IY1J9DMQ905W85R4H65VFUAN09YXBI61OPFKCSU7N6TDHCV8JXC7XVHQT = 36#2JT9P6RAFGQ2CLQQ4ZYOV36DSW63EVXMU6HX9BQZ2XJ3Y48SUBRU1MOAYW42HX613ZB0IGZQV8OPVCVRR4MRL7MV5NXB5MRNEMYJDJN9S5O90HZZ9Y14SUGFREQX4O87R8TQ5TFIREYI1B4L1WV36SV5XUWJE8NELQB13R4R63FEHE0BRO18D8T8M3PVQFTT725ARDTA80JBANN07TYS55B3I16MZRJVOUNVVNN1X5DRGK44TLKN1RGCRA36MH6RQ7HPC3BZRJYAXTFLPWU0JMC7HIQCAZPI3Y7DLXGSOCZVR5W5RESLZ3M5EH8LKD52 div -36#1NE55KLAP7A9XDS77LO84GO9BS9BFOWS3M0PRNZH3W9A2A2WHA. +-36#8J2LFXEW9SHL71C3ZRQIGN9F9FD94IH1A34OBXDPIETWSJV49JFQANMFEDPFLX2DZVVJUS2JJ2OJUAJ0YNPN0D08Q2SX9SVMA2DQG323FV1VEQUA49FNZXK1ODD6P9QVJR6DV1ZP4GJVWND7TDHBU7VRKTXRYZXPV8FS95JYUB6KLT5XYYIU44YBIGKNIVB3EHU = -36#9T9W507E8Y4SEN15HR7RTS0SM48PU8XHSMT0RGQJ6DRV237EQK93BWDX76TYC1A50DXS841823EYW4VD91MZWXX7U1WRS6OHSYSFW06WN9I0MXFV2CGQYGTCKKNTKPC7UY9G1SIUJ0QRUOZRO53XG17XHBAUXO1LMN5AYEWR724123WH4F6D94563BFO955G3WBYQRXELN397RS0LEHC90ILPDVU8CGWXBMJY3KTBD5EDZF6F9QIY6AUHJAQVZ8QTB1V3FG2MA3IVZQROQDOZ4V0PWJL2BZH6TRA1E2RZYM8KVW00D5PF6S0C0S68NU0AJQOFMKFQUSOIQPAR1NSNU27GNX1D5D8SFXD9C7JDPB5S8KKHTBR591DN1XDORHC7NEKTK2YR803QPIYTWY0XY9TE5YD31AQ494D313NGEBOB1Q4T5EC551U0I9IRFEIDTT6IYCGSIOFCZCRPJ7A8D4L9SY0VJUVE481EMTZBOJHI0N3DNMGU26XAVXEHIQ329NB62SE82S3P0MVHWOG91SBNI5RVT8NN6X77SMTO5R5H8ZOK55PLRX1FLWPJZ8YX0FT0GIZQMLPD83Y3A76GA018B12I4HXIVH2J3EWQ9G1K8D2DH4AD4H8ILU28M7R6V3DAUW7GNTUMDGR6A4E2J7TRL6LLJ74EVAV2POP28LW4QFJS03J8H2O6PYQJY5KXXU6O2LCRQLPJFNHF63W292QOXR81FLZAN0FZHOVEZ7I97JZIHJNIIH06 div 36#15EZYGUB6YZ3AJFXBX0B7UTZSZPBFFTNVKDW6NUN01TMTJVPJEGI4G7KGY86BWTXL57TT4BTGLYZ1MTGCJLIU6ZAJS7JDJN0C378I4GKPVV0418726C24HO4JAOOY9MMJMWSEB6WPOTQ6DI50YWGK2EWEXEQHT710H1C0Y07U7658EE4MAM9VEJES9XKQFCOL6UV7WNK8E4WWXT9P4QM3PXSKTU6SLRQAY8HWDMT09KESUTT1EA5Q1V0BF2HNSSX72SMQGC1R2WI3OVX4VSFKDOUJ3M1UTUX3O6TFSWLZAP2W0ZVAN87DSPV8CIRG8MAC02GSTPJL56DG0MG5WFEK1E688HJ0VZ2LBFVH0G4BDAGBTALTZR32KYMG9NUJNZ2W6SMXBF4LM8JYPKDRYSU8DOILQPXIX8HCAFCPEATRTF8TURDE2NVXDZC9DKOBLHMAZBZBAIOZUU12RHC7DWAYV12F5928I0DANL0B7DHQ5AQEKADM469CWOP00AQYFYN9MW9O49WUK40I7OM8N25V0FY4Q7INDGTP2LWYXGD29AY34ZPZZD4LQZ. +-36#3OI2AMYII6ZWI6IZU992PI2ORHWZYK918HAH51YHLKOARO9JVF6OFGPBDCYCEINA0HGHLYVJ10EG = 36#7SCR96L2QZ7MNILJCVR0C4S22XAQK15G8O79VQ0VJM3PB9RE5KS98DRSKLV7OCQMJ870DAKYL4E4FLO9Z6CTJMWIELH27L3IPLK7T74GZEKH6T205IUT1RFLZVOM3F479OUFTY8699JR41VEQ3LFW4UFYVOMFOUIB551DU4VZNC9SRKRC6K10J1WF62JTC2DMKAGWY9USOJ723UK3KTN4M22BDX6G div -36#24659QHQLI1JOEZ69ZJ5PGUIOKJ7QGNA7CRXCQ6TW5I8M8Y9R93NETYBK1VGZPQ4L0TUTAK2ADTD8B1EL1UEAN9FEFIMJAXLBU0TM70JNS6S1M4P0PX0OVRK9R35ZC633I24KL9JAFVZ4BSFZJ. +-36#M05108E46V7STT2ER2R2GK7225PJ3ZZDMMPZHZJZF03WQTK8TQ8VDZ1FJVVYJIYAQR6LNWBJDAYQ2LHBZUX6R7ZHSQ6R6DL1XHGMJ7I21E1MKN7OH40D8BAP9RJD9GJ7DR1IIU5304WH8SZZOJGS2Q0DR6ND6SVEPMUL8VTRVRAMIJ6YD6T0268HAAF1OL6QFC8KBC8X2SHBOOL4QM99LIBPOW8PZGDXAM97NCWU28UJ0AXW93MRGR44B5LOW5MHO4GFGGTRV6AEUHZRLFZEW9ZPNKMTJZKWK7TS23NR7KSGIUH2UASNEGGIFHKATKZ01PC6F8DUCJM0KPBMDCO0RWPZWD0QOKSWUNFNIU8KZ7TG8CZDZDRPSQRZ3IER5YKFSM9DS2RRAE0QQ22YHQQ4XGB9R0O3MI1RSJJAFEC0V8KIVRV0H0564794N763XUKAXAD9MIB0BZLADIB44P0OU1GK7DWFPDOUYOENYX7FM4TBFIB3OL2FAQ8TMTVUQW05N06SFKV8MMVLH75CE6I2203U1N4RKRCFXRGBLUO0HN6Q3AVOSOR9WXCNLFZ2SLWJXG22QBT06OZRJ2QPP35RB56CEMNO48R3TUKSB46T29LUN9LXGC8QAGNGRRDO7R3NBHIWS5H1RUN6ROKRQCQWHP2ATTY5UXL5YC2PYSKCLZ0T0HWPABBIZESCR9H23CJB = -36#KH6WFPK71XQEW7U1S724WTUZ8RE7KYMMZIEBS6C1XWPSY54M65KCG2GCBUSSDO5PZQYXQHBQ40ZZ4J8MOFLY6II7AW8MNFULIBKUWKDXX2FU5JX2S2V5J9O29R2RCLP94WAWEJQMXE64IYFTMP4ZGTRD2IY42FMKI90GU06MQCRB1Q8QG43F6AYSE27K9GGHN79BUKRU1NPM2XA6Z7XJ0T9KX7130UBX4CLJI5FW55WT4CY9977YQ9E9XVOTKV6L39U1M35D7JONW2DPCQNFNDDVWVK6G1BZKI3VT6URU6WL9EE8YDIGEBITKRAFUI53DR3887YLHMZO5T32QNBC7TS8LJTEU2IH64RS87WAYXGM546ASKVYED8C91GJL8CIMYZJ67QEVA87VCOJTX3RHRHEP5I91GOLCYHLTPMQ5LZJWJS06U8WQMHJJTDEXM9NH31YOFWOXRSQDWHTGNFIN5BE97UJZFK46ICZLDXRDF7L72AXOKRXEUIG2L5Y2O59IFN4RXHIMWOXO8PVL9BQD2ES9JX6FGY5MXC7SIESTRNJ543UUYU5M03EIW4NOUNY5HOCL4HT9YRM2VR3DMCU4CTUFSXM0AJZLD5FQOGITYHA5A2U0H1DAGJ5SJJ4A6ZXQYLX3JRGD9CF1LTNFOCSMG82M5QOJK9OQAJXA1B9UWNIA27HOFTYGGLIPP675MREVQ6ZRJ5WLGLKF4F77TPH4UXZNTF6QXB72LK0LCUT5T0AOS30P3AXGMEKZ9Y00SK7NBOGAADCWOP73TP0VTV0SO7MBXICV7V959ROWRXVLUABR5JY86CF3LU12BUHWF8J8HTRTATRKK0QBCXLMJP68FYGUKWJP9DJZBKI8S23DP1KKNQ99988KIQC7JY9G0ADX5CGAPDTIAX2UI0J8802WN9U9NZMDQ84RIEDIO7QCU2N6X2RSQ3HGKYH1LIG7J77RGH9NJ5AW4UUELL16EK0BUCAETEE94OT31VBUKOSG5WYPGDOWOLOGYBXF6LG5J6NYJQDYL36OJAON3RS21IP2ZS91UZ71H2JHRNBF7K9GX9GJP426CBGASURAITWUJYIB7UUEZFTBS74CCHP0K4OGYBUVRZ8MZGP1YF1HRQ03TA08DN7VYZRVIQW9KDKTOYCR9OHJB3MGELJBEYG4RB05N9HCPG629CV2FDHZPYW0AKUWWTWZVYKS9HNMNZ82NRPT7QZ59NV1224C7JN92GWMDJT1CJ3W div 36#XI3MVVV1MN7ROHYYR1XOYUCM1EP4LOL4JLPIQUV8Q2AAEEZNUW2UE0QR0YPPIB0E9L6XLE3KCX8F8HVCDDWI260ILSTY0AA12I1E5UJ9KRZONO64ACOXIP0LNB0Y2G3CK88821YXGFW7LFBM3TOJ1MQGZU4SGPD69S5F8P78E3Y49FRBULCN89KU9QUCVQJD22PFV1VQFKIPJZ0JY4S77O2SOIDFQF3JJYMPAB676RGWIUY97ZL7BXP64QKWHFCFAZVRXQY0B2XQJ0TE5J9FNKSH4QA29V4CM0S2I2R7J5FOVZNJ9T5JQG3P23ZXZOVE94E09CY5RQ8W8ED92YYFX0RFFOQL5CPAZIIDQZ5R8H25JSNADBO8X34DDLMSRPTOGV1FYCABXJED3MC4MVMULGSLAGF5CEC831RTDWDFXL2CPQSR2VC8C6EI1MI8PG9H67I0GV7IZXON8TNRLIZTN3N55Z2S9P28M3LJXHL7VU6JPT6CSHMFRZLEKXIL4OPZXVLITHKZF1NWYPVA87LBMMZUZ2E5G. +-36#ERUGARRGVKPEFN5NE2WRKQXJG0D0GRHAOFV6H6JJ8TE1077NF = -36#1VZ0LS8669OE0G96BCDXXJXHT9VEQYN9FJOOIET36R892YTNKWCD11DSTK4R9WB6QGP7XIWKLBKRJ0GRPFVDC8P4DSNV4TE8OOYX6KWZHUFMWXWY60CRML86SDKWH5RQ6R8XWHU9V7ENFA5P5IOIZ09OYH7ME0NODDYQ3AYEXEPW77AYNU5PBGI98C8B75FWRXDQELBSWIR6K9JCIEOYMUDKFC div 36#4LMVPKBFBN9PC8GFS4LWC6B8FTYN2608Q8WCRVB728ZTX15EKBHU5AF4O1SYI1HVCA3JWP97RLSKG7AXG2G70XIKTI0U29GSQRFDMVPE0KTN1OPN0G5KXDABJWWO1ORUXKM57KTEURS00UM97T9DYK4R2C99IRFFZ3EF4XG1K. +36#125T0UZF6492BH08EQ2BSM70YP57XN35UCNV7F9C1AXRGXA7IAAA80YC300CYXMYYW132IYVZY68GQM8N1MC2A859KKX06Q279HQPB3IJC2F5Y243TKJVWP79SNRULH6YUJZX2XKZWO8KULJZBIMCQDUEHOHI9VNPB63MT300CHTWUPM2AAPDEIWCFHIOEMZECRF9VDXKMVQIQXFW3RZKT3AOMDAQCRTELU3BKO01YEY4BLI8RG6AHAPVFBLWW2BAJFZEESYU83G365DIWHCFNMFZ72JO8XFJ6TW0AJ8WQM6EK58ZER28AXABNOHCUBV06ZG4YF673CWK0EJR4D93TA08IYMY60D94U3IDZBNZ0GOB4FFEYPUCAR88LL3R5Q825WLNAPCAOT0OK5YTDG7Q5JB57DL4IY01GJYDB5YGEJIZE50NN4PBT62KJCCWKXOQBZLEJ5A92K = 36#2H2IKC7A8NB10CVU7XG279WYXZVVKXXEP49VMFYZG84YK2Y4V8 * 36#FF9E5KVHXP5KBGOVFMPBYZI9PR0DR3V741S7VL8C59SN2ZOLGKO4DFGM6CGTU892VR26UECMVBPSSSAB02UU27BC0JF59K07LXBWEE1DCYFC0RGWY8RIAR3FB6AQM16VAMFTZT472Q5VBAZCI10TORONKRYE0RT3S5NE99BB94UUDHIGHX1J2SGBHPBPJR786DH0KBU6JEFPJJV11A71KUFT6NF1296WQVYT4DQMSTN030IICKAZ611YLA4L0TFD3QGWD1ZGY30E3V2V8RSTUEARQ60B30OG4X1EHU8XZIZ6HV0SJ5VBILFQOMEVS7JH05ML5HPEIWK69REZN73AWF606M049DO1ZWYVA8NISWDRM4YBN3AGOBMI3XQA5RGYND2RN92RW2GMNVJH3H5SRK5VR7. +-36#8HNHUGY9MYNO59NFDFGG4PHIL1HC922C4RC4L8HCAUEIF557K = 36#5UJA0IQB9RVFS3T9C95IWD0KG5M1VSQEOCDSDZD3EMD1K57L0ELG9WKGGOFGCVMMEL45JHJCDL7B4KCH0LE35R9LOC19ZC5ABZ5ILZV3T542F89EN52X2KVF6LV9GLAFWEKP3A4DVZ1IDOYZYOYGB1RALDZAVS3TZWRDY6H5SW8OV09ILWLI5YGUVMBCABN38AA4TR522ATPJERF2ZBZJ9RH13ONRCI1O7KOUL7BGYGDRALCKJQYFWRR4GW4ZPPU30G27DVF0WO12NZTL66WI8SM5KQW5UZ5XSVDFXY2XECKENKYG8BIHWGBC7JN1NME6HE84N4ACCE2T5IVE8PFPZNAMEJN787KHAD17HC2E7EUXD8CST41E9YUSH1WZAW0W1RRA5L2EQAVQ7Z8SOOUS7JQGAIF1S275ADBQMWTUMDYLGG div -36#OSOY8FRPY175A8NDSPMBTPTJFXMGUREV0137OCK6AB1E9N9T0J5ZAAM99Y1RNEQAPG2KUQAYFJTAFXSGQ2LMS4LUJL8DDN30ZMXRLKQOFAP54CHTZ67EAUFNXHQUU3GS97VY22S4BPEP7DDOPQH3ZP8BHTNEQCSP19AL34M9GUDI1IEWD7AF6GH0WMFYS2HLHN4JR7MQPWYP6QDFC72Q5ZZ8FBUV2GIFU2X85Y3SPFG912FSCFXMHBUUFAEF293C3LGPJ0QGKJADYHXKSI3B0NP868IXYB26DVDVCAI0JC7W5FBTWGUEPY80GWBCT7AOSTV321M3Q9F1IXCNI50H90JNVY6X14707ECM6ZL2GYFJIV3LF0VVL37SPZG37H. +-36#1RJKL04AHIVVUWAR04TAXOWIVYUV82USMNQD7MQJT26DOF2BLP6P76XXX0UOA1K9BSBD9VXVZMZ3SOU41IR3LAHUNKBM8TJRH7KOHM65TUFJ79WFN788SAO85KXXCE4SFQIUKY9LLC0IW13JKSALNKNYDMBQT1NW8XBGZ64X4OMVOBJ7QEZJYHCL59DIMHX126IY5K53NKK5ZVVLROHX9AAM6QHPX9LB9ZBAFLXIXEODZ9AWP6W36TBFRTTYCZL2GXOJPJUKCLQ7IOMTRBHUK0RKI82GC394BPTC5W93C2SK1JOTTUUNZGUYP4RN495TNN567PDCAU80WRBSM1RYCNXHW9PEIZDBO0KWGB8CEKE3I2QOYGB80QBCFWU6LUVFHC7QI7Q2TAPE5F4KVXDMZNNAKLOXBQMXCZAUQPXBKVLGCYMJ3U1ROK79P0P1DLJ6IOM870ARBQWIT0GNWD45DVWD5KF5QVOZWH1AJKFVK9C4BTODB9ITSK689SKEWX2SEZ2P3VO = -36#4L4AW7LOPU674RMNAN1FETD32IGDKI3PUKS96XQY15MKV9UJ6N72KIPNTN6DUAWTKBPF1IOQMC7ODTOUI1H5JR1QLEGKMFUOJSVEY7N9OTFZA47I3PPHWSJAY2AV8GVRLSTS29EZAU7CHENSU32Z2O0M7FEVI0F5UZ8E12FE4G2BZ7INM6C9B0NQ5MX1UN6MNYDM07CJGKQWD7Q49OCTAUG3CQW3GTACKU54ZSIIUJQ9GIVGELJCIEBHGLHSKKET351UGZQO1Z62XFMQOPVPID1PDGYFFE5SNSEA2YKVX05618TO2JS6XMC960E51UK889GB0G1EZ37SK2Y4O3X6CNX50PIK8BR07NP0NTEG5OHW5V4ESG208LYXEDP2JM9RMZS9O750ZOJT25KJOLPJM2D9VH7ZP6Q1GYV651I5PQZALYQN7NVAB40MKB7EVTH0HCWS3WLM0WUDUAWY71LIGXK38ZMO2ZOCE1P1AXTRLQPDQQJJXJ2QHWABZM5UZZKJ1QXPWLSYPF13RC3Z0YDLIJ7AIWSGY0RBV976HAEY5ZOJ8EFSLS3Q06CKW64YL7TRPTXPJL7J9LLB1M4HVK36X4KW5YV3S6T54XC9IYD9MLY61TMGJOUYI82NC42HBPK7OU3OB2GWAS4E3AGEGGGG3I9823EGXK8I870OGXTRCU209B2TU1R0KUH9BZOGNLRWDFFNEPSWDPZO8MZP1P3NEWRCTFUAKB9OFDAMDAHFVNQTSSBHQPY173J1L6PKEKMOY62TCAOYIT1VR7XVOV4SX2475R2Z34E05FM1COAMGB5KU3KUKR93LCV101KCC58AR83FUQUTWXN1K2W4R1UJTQ3XC9AXB8KZWKGNZ75U7YY6ZM2GGWUFTM2ZIOXOHETB51A2IIW9ZC4C4B2VJ9Q60AS6E9UWO8FR529XVJ8C4K8TTDDWDEB49PK6ZPLR7ATP9L95NLI6AMO1K2UOIK86KX94MEKC8G5KCIS6KMDA3W6MFWN1VLALHIO div 36#2LJOKZH1C4W0FN2TCH4S73H7WW4TB8QSCOC0EYBCHY77UHMVH9SYLEKC0LYUW7HT8352E34U5QG16N5ZDDAGRZUB7HZRTKL6DYLSKP74NHTMGHNNOXQ01ZGBTEKGT3BXD25PBZ2HR32B573OYOXUU3ZPIPPHKFSV04EA9MEHSUUV5E9Y2PYDXYBW4SBN7A2HPDYSMXXT6ZHS12OHXTZ6JNSD69DE7VFAZOLNE14JZG2NJDICNKL9R9J3M8HCZN8XHLEJT2FYW2IZ5NSMOED47UX0RJPAVTWGHASHKY1QCN4NPYQW792DEABNBEBLGHGYR19EGFDU7LKOG7Z995YAXK9S6QMFDPR7RR9PLORIGBT9AW97RRPNTN4N1HYPOGZKTA3NF0GDY8BBNT3MVZT6BM5ZLFE12JG98X8TXE9900LP2DQKWVXPKRXG8PA6DSS8RAWWWUNR5VR15R7OO7R3LCIF6K8FREYRF5SA7YADVNQ2BGYU4. +-36#1JE45TFZVAACGVEVXWRW9LVGQHSH3BYUVO3UHYYSFYDXT6WJYWGGBDK9JF3Y8EOIQT1YW6CAA1S6B94HMZ7KRXUBSD7OONSIPA59OOE65D29NPYD2ZSOBAX7MQOG2R7LYWOHCDDHE011WN1Q3NJYWH6U0W2D58UTF4AQMD0X1PR4E69WHWV32GMH1IF65RI3YF9VNYSFI94NCA9GF4Q0ZKCX0J2PNABGM4I68JEU5YD2HWTHWDQACGD7WG48WAI9YU6I2FN0DKLV8JCTF243DYZOJZRNDFHDEGK9BA1430NPTLIY7G2MS6WXK4LWF8A84Y2XCM0SEU64Y01YJOUBEW7SBVEB4JR26ZC0HP9I6M7O3NX30WAAOYTOQKG7URII6GKGKXDUHU7R3GXJCDDATGWOOMSWF3DIM650J24PGLLQQC46PK45PJR3R3L77RH7D7J7MAKNM526O8IA6WAJ7GG0AF67FSVG79E5HAWA3TVDSNWBWN995AXMYKJ2IL5VI3DYS2UJLC9KPWP4CB77KCL0HGELFQQATBJ8ZFM7YV9XCVVC1TQMNTGRAG928IABGR8SR9COYP9OXG6BIZ6P3HCBCZ0NAX2UUAGM16MG3S6G4S93JBSR46U3JVXB54VVO58XKVY3MVBK0JGTJI52GKJTNDYV8MF7KMDH58PZHYUTXCI3O2WZEX4YY4PAOKE7N768LJ97ZE03JS5VP4D0NPF8BFRES19MXY5J8BM2QYDCB6DOT45WMUSRWQLIEFT3I39YRHVTKJU7IUKK7YB4HQMII0X15NQUIONDLUV97GWWVJ3M318QJD8EAL9GMA4YSVD3EZCY53J2CFUVQJPGNZJE6NE96TUHY3ZXXWWK9FZ5V5SMNQ21DP18URLL9N3SQGKRCIDG72AHHFARII9PUQFJ9D1JOM28I4ICKF6OUWX3S78B5E6HGXXSU4MMKY5H8WSKUJQ5CDM3GP96456HE22T3MFXURMCZUESHWRYVS8NKP4Q5J010QMLOBI7QUQ5RYAHP7E04XUKC8Y3JTTUCAIQBHNGT4A = 36#1PH1FEJK64WBHDKGOSLA5JRD0P331Q2F6RLZEZTVWTJP0SXOJHHIDZ9TFGTDLDSN3UFF0EQYTEVNPWGI2TEZXMYVS7USSY19EIU5ABIYX0EJB69QV5WJ8A24X89A4JD9WMFA5IPPH7LGD2GLIR9F55PAKDWCCWF9MY9HLTYGJZ49CMZ8H67DHX2B8YPW1W3K36OVEBARU97CORNYO3HX6MYYC09FEBU0GF6WM5EJ2AFKLS3DFME0B9Y5F626PNBJIN1BOGIW0XSF2ERVQUOE1IOSGGJ33J7R0ZZUG6YUVK0VVORW9OS1AZH3J7QV68W06YIT6ZZQ4XFPJS54BSQNAKXN7AK4SX26Z8ENHMQXSRXUA4KG5WCY * (-36#WFSKNQAD6XY0YM3PGZLFJXFMIM40AZ3JZIYFQWGR18L7V3K4H54990STLW99FHHH0NRAO71MBJOKCCLSTOUI9JZB7VL4G6W09W5WWDW4C8Q3RI0AQSHOM3BA5SRJLVV96G74NIU6PVETVIP2B7AR2GPVVSTO1SXGT4Z03R1NOCSRB24G2OCTAUS7V7VMP69WN2AGZKB8KJCU7G4V1OH0GSG8VI6PA88DX0M8E2F0FH44HWW0TMRCXND9OLG6XTSBA6J3R4PAOC2JJVJVNKVO24EVC3DP0VDL07LRCR127JEO1CXJ9GEZEVO5YF1AHCSWOFL3WOUBNP80NPC6KFWEEKG07O93DIFXMRL37HKI4OQ6YEF6UG3U7OG7EGHC3IYVZAK77AERDVZMINPGRJ5KGPQJZWVQM28LMVGG8OE316OUGEY6A789Q91Q86JT7D49R10218CVDUG1QI3Q1RJ5J5G4WEH1V8TT3KKGT5EJ8D3F3F0XR02IZGAK1SROWS6O1O4NH4HRGZCTRLC5SMNVSJ8C7UXACTJF8330JMKZUATP8UVOTKQ8VPOPV1JPWPG7U71GBH6V5ZZUAF4U5HOTZNAVKF32XQC7IJC7AHG883L8F08ND5HHFVD6KSDHKZS017PH8C3O7LQ70BQUXJRAX21YQIAIOB2OTQFXWT3HHSD). +36#1CSD85A2OZR5J3VNFNVMMIYCA0IHGX35BX4EBH1YDARJ4ISNGG = -36#AAZMOOKVJHUL9L4DYBHCK681CZWHVBMSS93RF04KMK1FRHSAJ9BH4CZBHNQ5735C0YTVOWQVKX8P018D8X0Y11RTF514CORUU0X2O44LEZ4X3ANWHLI1JKL4YJUEF3HLWGJYPGKH3TSDKW8BRHW60D53UGAC69HPOK8G2V3EFXVIT8B4A5C153XLQJJ6YP48C811DMTHN8BO3C6X26WUWHTIFF06QX9PLFW8GCBMQQL74ZZ4UCQ0UCDHVZGO0QKG6HELESEMTPXPV2R8J3L6MXCT6H403QRHRB4WOAEEYQ5W7V05KCT9KONDB848RUSHZXTXGXU0F0L3K3NVE95C2GRB77WQ9YQWHZ438KASJM4UZ9ELNRNTQNCOGTYY9P1TI97K8HHEG58BKSUOOCW8Z7G4AQ5RL1DQAGW div -36#7LQXV8XKOR0OKJT51A1QFHQZYYCR5XSAAD87185QJ89ZV12JB1Q6WT4PWEMPJGEGTIZN3GUFDJHOJ5QIZWK9FVHCM1YFYUA58DA1DDO1OUUWSONR40C40JTKHP8BTSFNOF8687MOGD7F2BJ3GAN19UKFA88QHRA1EK16FFSNYONFCVXH7FW75MRL698P05EWW88QRC2RTQLZ6FEAYEL8WJPUDSYQB852ZUA9FCPB2XE7GGO887VGBWFG9KSRKP361YJMHIM2KAAWLLSILRKTGOJ53CK9XOIZUNZDNCZXT4OL11QN3LX2ZZGC9BK07LTQWPR5NOGSD8JU4FUAYBIOWBW3N40QB588OHARBZ2SMWIC7M9RZ2. +36#6DZ8LAGD948X5N2REKXPCGFM6OLV17CPD7RUH9M90POZZYX10Q0GFYAX2HFHP1MEMG3J7PP0Z94C7NRL7KVR5ZJ42FQU59E9BPWXFAI6JEBFM5CLM25B5KWDNIE8TD6YG9LNEYA1HA7KE282D71F775OVHOHUYVMQCIVZPW7ZEZMKM9CGL6C5WQ065G40AB9V9NPXKIGMW0XCGZD46W37X7PO5QLT2Y2Z3YY8IN30HPAVUS5311YLAPJ3CTYAODUP5XN5RUUJP4TPT0IP0FSAEHMVDGFSVZ63GJZL7116JUTU7TZFSSUV9ERRLEPLU6WJHM67SKATXWUKVKDYE = 36#42I23NFUWYDBJTEWTHA6ZFSN2MSYHM1JPEQYWDG20VUAK10FW6MVMCLSAQZQ7V581KGSC67S61JOM19XL4TJQ0FY0VEVVV2WIJ3AJN0LQD21LCQ3IM1QEJ2P3H9QX2BNXKQ8NLHA64F72CH51J5EBHPE0Y36M4PEOH00L8VA3E4K3570PH0MLCX9QXD0C7QLF5XOFDQRX4C9IIHJHBI1B2WZZAI3DSC3P7LSBAGH4Z2RSYXEA2K9WLN126Y20J5B1TD78W7LWXHEIQMPYD2D4VPVWM7UEMWSP * 36#1KIGS57F9ZUGKVYU8R31IJW44Q7XH9GIG8DEIO6CT4LZDYRBP2. +-36#3D9DXSLCE8QJLEGJHA7NUFTO5EHEKUGSZXXA1MVOPUHI74Q96VJL6Z6VJCXR1JDQP7GS9JQYG50GGVB2ZGV4V3K07C8RSJGK7WE8SNJ4L2O60W7302O1REYYMTU5DEE01QL2N3PRZAB16990CL5GYHZ18JCH2R9DHJP62A0U1S8B50XR50CVMO9KU36I3200MT8S0UMB5IRKQ0QGGIRBN7KR480JBAP1MDM1BH2GVE6XVIBYHKK5J2KBZE2W6IJZXXATALFF8WRHL36UBT8FHGXAWAICBFVYUEZA1HZKGY6GJ84RBIGPG0RIFT5CCIQ6RE9CSOXA44B8VW4UG8RM5GUDZZ1F2KCMOFW6HFMDNL4SA2LZL43KL74CWASETP1XQ8MBX77XIRE4DXN0OBGRE2RERN7GOT1HY85IMUGH55QINYQ1XF0DQSKGADJMDYNLMVN82KK71XJK4NBRY9EZBASCOXW9TXQWH1LMW6XV4ZL484B6ZY7ZNP2OQPR3X5OMOHP7QJS2S9LOHZE7IMVNZ9Z4V0PW9Q3SVQT7LGSFVIHQYB0BVU5 = 36#3B0QBR1Q2EI6OJXKP3P5A6DU86UK7CBWKEPAY0ZZ3KPB97H4EEYXEE4EWQ60ZOA8KXF1QZ6TA4S80SID0QMOVLBCTZ17JPIM1FIVEO6H2NOGY2YKCS31GK9QLTHSJYEXJTDACCTX0H5T8DSCIMELOUYDNBM82N * (-36#10OE94XDNE09UIFXXCBVXMWG91SC5ZJXHOQE7IFXHD7SCHXRZHOUGT4GIBN0N25TP0PD2D6JQDGR52JAQQWJ0S2NK6TNR51IG24SMR245MPCW129NDVD0K9XBC4G3FRUVG4ASUKH60HKCG7Z0KNJFK4RY87E25AWM0GFKCZX075XYEXIYK558IAOO5K0HYM2C7TMZHE2KY31ZOPB670QJEUO6S5AF2KX9K3NRIC3NHFFV2G8M7Z816UKA5ZTTFVCTZ2N5F6FB5LERG85Z8O5UVYXC0WE7NWFTVJF0EQ77OH8VCMKNV0A8CB76GVKHXZ2FMH1W6AJF15LAO7RGSP2WJHLIRDDVXTGNE78I2V6G47KBD8CSBUYUGGZ8HUJ2I0V0RML2BMGWF1O4BXAHT22WJ). +-36#AABHKPMFJZ0GEM88JROM542D01P9YAJCO9ND42PVTWBCJQDDZHI3YY0SQVDT6ITEKSOTJF9Y7GVMS81RJ1S3HG44G9RSE3R73TW0BCMX7LKA6NPDGR6YWBJLTDHZUNMAUHL9RQWYB2URV6KHG7K0L7L54S0PU3S5C7KRVYJ7QM5HYIABMFOVHVTDUHNBPJ99243R0C32ZSRNZSND82BFGKO83SGRX0W8PU4S42KV17ZO1C8BBW2OF36CU6O7T1HXYXXCFD435BN5MYTMN4Y9PB080THBC1690E8ZH9D2PEND8SZ6QTFYDHNKSVY26LU76N0B6NPX1CR90ULLT2W74YVZOT02EBZYAWO5JHIHKM0FHDIQBZM0IG2U8EARASBD6FQDFRKITENT7JEJKC7D3372JAKL4PRF9YDBRC9ADOTW74SP68SIWMJ6Y50RFX2ZT1HMLBDAN10OMO90683QUVZ8WRS3CXFREPLL6FIJBVZ919191VQ4IAII98JFJUACHSFKP9YU7WEU4U27LMFV7AZEZ8BYESHY5YK7TLMRSRJZCMK8C0IVLSTQBHO9JMEO4KKUX3TJDJ6DTQTJXFKY23OHQ8J9UO7B9ZXQIJN1TVX5ES35PMB1KKCVAYIN77IX9B34RAOTSN19N9Q0LVAXRDS7FAQ = -36#XNXMABWLQXSAE8POEU4HG432ZQFJHYY2AH50A3NZI40U2LYJ3CH10IN0GJCVXP00DMD9I6D2X9DDCC543USBUGR4LLLRJTE9QVY87LF6L0HRB8UM55AF1RFTV2PEE83KT1RMZVJSKHN706GOJKLPSL1P8KL3JQ7XH5JDYSEVVZWGHJYF8PO0OWR3DSZG6QHEOM1OETIP88YVZ3HOXBE1LRLUP5XSW833M5UXHRR2PUH8WDF74EOYNQX7Y95NLUX7EEF9ODBME1EXIOY0D3ELLLUKUMG4LAT4TJQ6SCIJINXLU1CAG0GXN572I5Y513H151JGDZMZOFYAEHBX8K2U2C5OR1PUASUR36SZSQV6JF0IEB0933B2PQWH41H30ED2DDWVOEBB974DN08IM838UC3ABPHO23GUSWOLCUZ2TXTHSZFGAH09N9V1NJR0UJFK9GBDMVT33Y6NUHXBS5BPUE8053MNAUJIZ2L35Y1HCJPPO7MGQ1EGVHW79KCQLN8BIE3MNA9T76F5G2EFOYXYWL7M6CIHX60FNJ6XNCUDQHFLFITHR8FEXI8TMCNEN7ECGAND5GH0CXLXNR1HV11G1TBCLNZF56NSAYDGWP7486E64EAPEP0ENUD9SPYCMK4KUU1QK24PQWCXV8AS89JB4E334B1S4WX1ZW3C3RQ1ZZK24HQ3HFCZULVI1FEAG99VDPQN3AXX1EKUKTWDERENA1JB0T7BFIE94TRAJV18RLMR1V9EZTSJM9GXV6KWT64O459N86DM div 36#39TDW5DU7YCWAQU2YR20TSADASQD4QBBTVYKG775SOTIWD6J469HRLZPAPDXL64YR7U8O49XEDAB2PMZTE1G242ZPJ9RXSRQ2PZDNUFOLEL9M5. +-36#NI11EST9UGTXQSMDT8YHM5D3ZI01CYJ0FD5ZMZG3YJ5HQN4P6UORRDRBV4XCKGA7Z3QO3XB7DJQSAOQQ7WPFO76E4F4NLTYX3KTCBNE7LYBF6BFOP40ZFXKMMS6WP2SODK6YDB7EIWNLGAWHXUWA6KBH12HAFV7XXNGC3TE3T8KNEJF1IFL54F8A2GNICKB0PZQ0SH2I829V94BOE16BKXKJZG23URDY0R6X742H = -36#154FCPEOZ5R13TEO03S75LZIN99U19U68WLON3YEOWLU3OERJ6H9WX2DRUDSATWSK9XWJYSNKYRUKWM0J9TWK2T6PRD2EYZFURH2UQU03WV6VA98GHO4ELWWM0C8LDG5CE4QP22D7EL2XIJ0BRKBZRD90A9GLDAI0VZ3I9IT1A8DP2VC9IK9KSCS5UTI05MXWV37E9QDVMSUI1600PHCNPKTW8SMBZPW5DYRN7F22E7QFNLVLBBTRJKH9OX5Q2WJXWXB47VEUSQPSI6T48VYPVO0V7 div 36#1QZT5QCU4Q6OXT2BSERS0PKPOIS30MQTF4Y1AE9FUE1T7AEXWB. +-36#LV219MW7Z0ISZJ2VUSU9UQHNWSI8I5MDPCPNDAE6WSOHHVORZ0I2KKW580EBSUEQHNP0G76FYKC21ESQJ1GMMZBB7PWA1Y8085WCT183ZODWOYHP0V0HC5RGJPMA2J573O20S4D7296HLILZS6BPTEKWW54BC4XH67H7SPKCR67G9H2DO0EDN7EJQP8I24RR063K1U3WSWKDNKJ7AZG0RDNH0COJN6BRY5B701ER4IOML9Z7Y8DJVOXQ0RZUP71CON5LYCJGNSLIN4IUZJ4EHUEITPF0EHGFCLR7OOXXZAE5O9TXFDZJGPGY08JAUZ8X0K9K5NIMIPRFXGNN6HZ2PN9T0JVKIJHNXQZ4YCO35IPYE2YDTOYTOPSKIBG21QL99QN9TTB4W19MDIN5I6V5733NW59PGIIR3QEN5SLT04T8XDMTH2T3O13O1HW01MO0MFEWKMJTYVZKRSFS104CS9R0GXRJQ3UTHFBAOMRJU8XTIH5M1UUY64BH1V28KWRWY8ROMT2EFUBK7WNYK1K4K1ZBO6L651XNTIDN7JUH1VZPA2H4TPXO2LCZAP18JIY7P5CF5T8Y01V07AMCWSV4I4SGT7WNC9R2B680D3P3DK3A8ON33Q7Q3T0V8GZWAL9PHM3R7TZTJ3B8XGH72570Q629SYI8RNB5G1OICNPJNEXBM = 36#2K81VVY4MHQ3R48FYDZRFKKUTQ20UJJTU6PHR95C6WKZY160VD * (-36#8J8C97P57VNTX16OJPP4RTQ4IWTAQ8O8UFAVTJNXR2U5F3GAF8EVX9MHMGV3EATUBTNIUO67JI7O8OPEWH9GGUM0V6HKYMBFZMWNM82N75RF5AXQ6H069A97I2VIG9KUGVBNDXZWJ5LQVZBQ2W3RDKO75CO5YJLLJNZZUYBGM2L8F6635OO31HDI0JIEXDRTYLJJI5WWPF6Z3IXYY9X4VGMIL4NV2PKJO7D6XBG7EQNDLKPA0MLUE41S3JLTVRNTU9TJ5ITZTWQQAJSFHC08PJHJO15ZJ0RO0ZK7Q18B86IW6WQJCTVJK2I3NWR0XASTRTXNV97EJO7SC8JN7JI27BALV74WGC0RPHGLF2HT7WX1DNUE13ZI965MJZKCQGAYCBXBH78BSHLEW7WXQS1BJU5UXO50DB5M3GGM432YNAOJJMK079BE1MYW579EOQ69ZC6YH8TUH0JQSW3FTDBI1Z87NWLRKRIBWA2WUL3RNOGMDW4X6D9BZD0I3DH1T3TYHI7VOYR33HFQ8KUORHOZ7TZYOFS7MYCL0FG8OSGAWX9I8SIOE7WT2R0BIV4D7N9SDJD28V9LY5MJY8VUOXEZAS7P2NWLM1ZIWH82AEJH9KM8F6CLWKLDTEZZXBAA). +36#2DREJHWT7SR6XC72K3I4Y0QWKPM8GS3FA9ZIS08JGTI8BDDHKE = 36#2CTEQ5XSF1W8W7M5DQ91VY149V9TKTQKIUFAHHEPSMIWLCQMUFFSSJ8X1E2JWILWS8806L9E2VFWN980GZ4MXRPNK9X8D82B26ZNWJA1W1B9UCQRLUKST0NE2HOL220ORYNKM5PIU2LR4C91AR20IOHW2V6CO1X5X4J7F69XN4MZT1L2XPHZTRHLJN0JC8K5Y94Y7P0LJP4V1IV0KKVM2ZSEIJG8SWW0ET7NI7E22GEFNOM1S div 36#ZLQA1P01B2L3ILJG3B4LUY8AQYM845XZ0FKVSMN43U3TI88JQBN1Z5B7MZVFGO5YK8NUD2Z9XCBJ6ZRAZDPZBNDJFR89HJMDG8MQLM6PEIVD7VKW7HKHVHPNN2U0PMK1SU23XX0RIYE136KOS9S6S77J5IQ8TWNS6SBSILZ3WT8CASJ39IRQLJQTUAIQA7K. +36#AOBDBUWGIVFI165TU1YIX231DWB2VPDWF9SHFC85E47ASWZX9TQPUHZHHPBQBVOQ32IJQXZDU4D9QVASSJ9HG83AXB1A4K2KCSDO08YXKJ64OBUM8AZ4BDYC0MLNWZQ40EVTQUIW01L47IF5WTWPK2FR8Z58I1P9RKK17E2FK9CX5KHVDXGECWO53JET7SAGSTCD5K9E760MYYYZ2V2FUMRIYLU1DUWL32DCT97XLRJPTVK2QAH1S88C0NOVKEYLC33K7ZOFVGX9P81Y1I2B9FVXQ1UIV742H1R85MAHMIHJ2PJ3DE8V09T57HNPTMZLONB914JL1ZCKSQN7RN7CLMA2FF0MLSLEP2NIHVHM3CLHRG5VWFPWLDJ0XDHY06ZSYYD0BAXSSD46NPE6I86JA8Y9TA11MSM6LKZI1DFVZF7WZDQYQ3VPQWV1KM2M4ILGN97NRCGJGIWY46KMDEAYJY62TJD6F3CPE3TMKSDYIUFMEH8ZO0XYXI8B8236IXP3YBK5EUETL15C8VFV2UL29B825LVGFREVN2XP6X = 36#CD9467WZMRURRRXVAQ6Y7GZRC1N9VRYDOLXCWLC0UMIIPH7TL * 36#V2MNNYMPODMAFJTKLTJ8TGWYPEIZU258I570I1OVGJ4GFZKYYN43BR4MWXJZI8K0U7P3NRDBQ3LG7K6RMHBVLQML2LCG5O0L7TKRBHE9GOBS3J3NWWNXP6BKXE9RLHPORIJNYXR7Z4PZ6C2G56V2YKLCCMLIULDSULUMT1VWOO3OEOQ6NAZYDNVBKO6T9D4UKE5SVFUWANQSEMF2GNKHCHLEP1LI1YBKVWX5GZ5OG22G8Q1HB1HPJDNI8AYI1V45RBDJMZUSXHUPNWZUD0J43N7RL4ZTPV4G5KDAURV0IEFAHOBIXPRNX0I36H5NLOXJ753V2EYJ5BKMGY6FAMUL0I7EOFO5KSQPX18AUAIPFE3B1TCRUZHWUCV7G4IPQABI8R3XGK04I27NJ4C2NJS627UA6QH3390R5FKREQBNWTFFPLTLLFSI5ZEVF1F9DC71N9O6NYC78EJKNAP28K8DVOST4FJ8Z267UJX1YIGW15ORP5NQBB0J5. +-36#Q75H8L8GNSZ38KRIE2K2G57KDP1O7Y2UAJ8MFUIW669OHE2KT8C2VQ24YVNYLMCVV3WOH1NGYRI95PD4A5WYS8Q2FUY8EUNJPCAH4SDDR57QK3E6VAKPBVOCZIPNNJN833F8KLFP5J0MU5OTBMCHKV1BM259WIUISTY6LH4940AB27L4OVSDC7NX1XIWGZFGRZVIJK2SRBM4X2SD639RGVIDUYDWBJQDMJ43H9Q5GF0SADHB9MSBRLOYGES4W0TIPNE8IICLH3M3020QT70NP0BW17CDKH9MC41XI65IJYRCIO4FDNS3AB4ZMKT4LMC7DWS2J8SHB9A7OEIGJ8TIVVZ01PKP2U0OP5S3DKT97C69JH841T3L4RBCYN69ENAA1QLDSQZASBNLWSZNZE914HC9YD5NH2QT9JRZMW7JDOPSF0LNFU384CIY8SKDXD8XGI63MISCD65HS77L1BENBGGLG34A5IXDM1FNPVITAWJ8P24XYFE9KSEU9R324JCIJ0M9NRAZOVTKWXS2HBVF5ZDIHMXQD5OBAQMEWALDVZJ6PXLTEKUA3JYDZ3TTT46FZ71MDOTNZNLGKZDLL19K0MWPP0N05J8LMTPKAHQWZK0ZMJZG87PWTUVX5GRRRVEC7145FR5DC61RCY1MU1WIZ5V80KS9G1QJ7DAVCOFC5LMZBITU9LDTSBP5ROMTCJI5OEF218PMOPVI1RPZMQBGQHU6I2PBE9RWTU674QGF3R6VOPDT13L6VTFV7WFHYM6UKK0NT4M0HGJ1OKGWV8G6KFK0QMEXZ0Y1WHATBHZ199NVJYLUP338YHDDAGRNOGAKEHNJUPTNGSHCU6ZCSIGM3W3FJ9TYQZXT3S1NZPYMEJDLG0AXYGK2PJT7VR8FW1EP7HH8VU7LBLBWTEBJPMJS8TZMUHUSPJ9L661EUXZ2NIXDW7QT4386JPBO9848PV0RHPZZPBG2A13VZ1JNIIR0EI03S55AC7MJO83QJ75R5L0C = -36#VTDFQ2DMDQ3Q63AF9EL2G8KSXT6BY9MZ9DD5B6DH0B8M6C799NZ8OHZ0VNPTU3LFQWBL7V8ZTABM4O6LQP8DSTJPQ5TMKSMQ33CME0FS2JD3WY3P4FIQCEJFGR1FSV01THTXRPH4GCC06N0LL24T9S6OQ7OXV1ICSU7GARR7302A5AQYHZGRHXSP0L8L31RNJK22N7N9DZ9U9VMY8YMBWHNBO87WA8NFJQCI7RIM9DB7VQGIEMTCL8BVXLPN55I0TSFIIA85DK3HV3C5PG12AR7WVKC8TSY3DZ30C5UNNT7ZU5FK3XVQLLMPDH366BZGCTKU1WH8OTA0S84X1NR387AAABQ06QVCL570PYL60WKMS711DJ4R6M5TQC3PIDTIZ9AZ9WG1UC5ZRT1P1CXFY1FPEGH80XTFHAMYHK9KPKJPS8XHP6WU0X9FHILSRXH4W3XU5K4PDCAAXJQ9BOWDBCBQZ3FV0Q1O7LYJUHKN8HZ84SZWIQGVS41YCFP6N5FEM6FUMRTH5INV16NHXL6L8T6PNKCG4FPEVQ683IE19EXH5G053HG2KJV1CRO5TVRZA7XCVMWCQQ3KRF9FLW6MZJVHNJC93LANHD8O0UJ6UFUOC491CTK85CTAL9K8Y67W4NAWFSO4Y4187J6OU6QY4AAJ9NLB8R14WL3F3JH6PAVEZ8XFVYG0R6WXLGUFDFAJQZ77HCQ5X6ZWTQ5K9KEOAE9WCZ6RAUCH9S9IHRZ2FNAANRS8OG9AS99WTPTN06CJDIDIKMZ1VCUTB49C9N4Z5V25L1QFSYAWN3IADNQI6TJ425X4GFXVEIIJ36SXVQR3D3KRMU1QX8BDKGVJPF0AZKXRLLL17RGJ24GMKZD2CQ0GR8J6D8BQYOF2FOSEI0V3A4JQS10OJSKYVB3BRDRVOOVKY7V9WB0C2YCSGDD7R16WHTAEB7ZPZEH3MNX95AIWVBCPQGJYQW2MN920ROY7OMA4XM1H43TMY033DYUSLCT3SG68WWA1ZUY393JNM58G5QNOZ0Y1Q0246T1O43T2MSM87M5K0 div 36#17PVI3HOMAWLYZEHNWOKGX7XR9SAA2Z0I9QPAG20KJMOVJVOGO. +-36#2KHKXHJZOU638IW7BQO76KJO97JNUS10RNZYJ418BUZ7BZPVVG = 36#3ME8EYT00QH9TXI22PEKTLLVC62AN8DALY2W5IKCYXNIFVIFV5JCWPY4VV2CD8J6H3ZD52AR51D8F4QR9NWAUSL1IRQ987XF93C div -36#1ER6AFXLY78Y6AWYCPFXN9Z3HLBDJZDJMD3SVKEAKW258ID5KU. +-36#2PTE3CNWMV3J17PGULQF7FRHVWZ1TLXTFWAU5TG0U8YHAQD2B5FTXE1APMUN4VZBYWTD2LCORB0VERYOEW03DK0MUTIVBU314GV2MG86S6FO2XDGMGWJRB4PWAHJNB89SWDCRWUNQZU01BHLHBX7FRD3YQZEWLI4LV9Q8XLC36EQGOQUX2SNPJET5CLXRQRX5DSNX1WOI24EE121MNSHUB2T40MDPP5384JOJ04ARM3VT146UUU630T9BNIJS9AM9TNDEXI1I5CX8OWYVHMLC8YZ7O4Z8YE0Y8DKVB6NL3SAIQ9S7AO5NYS8433UTGBNNBRSYWO6I6LLHVJIABCYS22IXCIJRAQK9BH8IAPQGFIADIUS6UJV8NWGZN7ENQTB24JJCFC7I957DU387RNC8J05A292HUYF8QRV4DASFO5KH7GAW92SYNIS3XRPAHCG2Q3XQMGZVCD8HIVK89S2XQZTM6N7CRJGKZS7CU8U09IE49F6N0ETM912LO7HOV3D5G0E0IMHVX74Y0OD780BM4NPGQIS8420XRC872I2JGXL2AJP9NOL833AIHBTM9QV86MFUO74WFUPQKJAB8OVCAPM0I2W7L54I4Z6L29 = -36#38RW8944O0NBUO4AL64J7BDXQJ7O5XA3GWKHVUEZLS3MQLA9MAPCMY6QKQF2IVFHYOVWMXRUQ73FKZU9KH798JF87RVCTG4CJUDM7OIDOVPW4QZ9NGUS4RWE4KNMYLYNW450HY2PSQL375KQ13KEV0I4ZMA9KVY8651UCSSAYW9US5CAKK4X4X824MD6ZZWJWI5SKEFKRAVVI26N3KMJH7JZGQ89E5S5HP75C7WF1QN5PC11OQQW6XVV4W9OE4ZMW1F490BJIKKO4KE371UB42RS3L98FJ8MJBM3NXTF14XH0S46EXYFQ0LW38WC1EL2HXTGDMGR4YJ9 * 36#U5LDSDKVQILDNRORT316R61YCOQC145P0XB667TNRY4LS5VAYWSJG65HBQ23Y0KH9YG18DIWZDW357F3QON3S48HARRXG3JKXCVHIH1K8ZNDOJUG9ASY80K6DXI5LKDZC2HO4A51V6S7XTQTXSN8FG673L612D9HSD2QMCPQ723G6UWK3RGQWB3KCY6VNLFGS1Z7HR7RRHOI2MGH1AWVFMEZ8N211XFHWQ9SUZL52P7KWB4C4GVNLP7EBFHO61UE51CU272C63Y9P3V30DE2Z7MUSD9. +-36#9Z9JTYQS7B6D8WWV0Y5611FHF6NDAD82HL5KLQSXLUIVO6R6LTP8FCUOHS21DWDLUOYOY0R77JU6NGXIBXHJJJ7OJ5K3ZUILTTW2PT53XZ7ZUHDL0SA0K5893CM3VEUIRLQ1MAENGBZH5WHOZ8SZKAL9WC6B03LBWCE751SPWPSYTYYBQMP6XT2TIVTH0EL6R1MQMBTRO8OIURKYPZAIKIS122YN3M8LCVFVVRQX4O75HX4NOQBWUCIQRRYVTFG6RY2EUF764VS3H7UWZVMLAOW8OLOHW4ZFXE6UQ3GN5IXCUCH0HZ3DCND0PGIZCDO7YW2 = 36#US398G2QQZC9O13XK61K78533O0FYVTJZ5W9Y1H7QYKGILJC3N7P23WJ03W7R8EUM3Y0LXB4REX41952Z1HX4X3XKMO6M364G3PCPZA83057H23RO1TEL96054ZU9XCS24PD0G0UO9ZM8D50X052A7MXMOS6W8INN2WGDXC7J8EAPCIKISWTDIFN04SUB4JV7FOB0LZ2VPJ0YQFAIH75VBXDRW60NA7JSGRGQDXDIBDF46XEDMTI77X4IPQXMY24XY3PD0PDLS0Q5O7BC3CC20HIMSIQWN6XYV0BBRTE2FKHSRMVAGKWVNA0Z1RX2356KW6LMMRK83PQHCL307WRYW09XG1DCZQ3CMY3UHRHGJWYXZ8Q1FST6HL8YKELU4DDIUDT4VOIR6HI7EHQTK0LSCKJJB1LWCTA668I5FM3DP122LUMQYZ12SXWPFKW1T087DEJUI0TKYPX4H24LWCKV7NIDUJ8L8K6GYDZRMO71GCNTAGUWNN3AVD149ECLA0CG0A49HIJIJRZSTE2TK7ZG5HYIO13YYR8W975I78V4Z30E9LH0P9PA3IZ1CIRO2GU69ARA31I8OVTMGY1QSZT5AV480TIQXUCYURPZ9GU7A8S2YX6GPQ8462XE3U1KF8EJNOYPF1AWDPW1UZYFMASEDXIZG8DH4E5RGRXWZMGP5UBFI div -36#331A7ASP0IBST2UL9HYOEOYQB4Q9JGNJZXY7GX8T268IRW29SN4AABIRPU8QYXBONWPT09O8VKJMS6L6S29U1JGBC6F9A6L3E7B8P6O6P440MYSFPQEAZZXKC5SMD7P1XTBSA6J930JPD530AA98ILHT2OBKFVXOL4JK7DRPTVBD83FPWS3URSB54PP16KA5NFICJFPNGWIWL3AO1AHP1N46AZF73Y9OMTQ058DNTIIR8C1HV5N22X4MZFDKAI7F5QA9UUPSA27NZJSP77YALYZ895DYBWP5KIHFNR2MEYEPCMH29VKLDVSJ57INJ9KCY0PWN1ZJKJ0Y2HYH2A7BW0ZOG040K94OTNH5KLVD7GPR. +-36#4QOZ67AFGT0RN8HOG1JJ9WI4W1C79DJR9FJWY549U2IM8M509QANGDYIQRYY5PYIQUZZBPE5RPMOBV66VGBMEERI0H27S1KOV8959VE7L34N3L77OQPCIXU1DLQUQJV93H4CLNH07BDJELHLS0FQCNV36D6OK85KC4NKWLFMNNZC11ZYVOJUJCLN0YITX8NT24K4OVCECXGY1O0ZJSRDM8D7PNJA48IARS2FK81H8BFIGRS9UP2N57JT8VYS9IXKWG7YK0BI9LU3CU4TCBSU1PA5Q26O0TKYMNCMB2BPGPZH114JMGJF0JH7724K6L87N76YDPX0O983U13QNP53CJK = -36#NKFFZE5PBPKPKGQ9CYUG6NXIXZKIF15N3ESLVVJ5BP4VKADVQ587VYUL9IGXXCA70OUT47UDT495R5HCZ6ZO6RK7E91BWITAB3JZL43M0Y02F94MKPBYJHY8NMR68CP2Y5F21P54CBC08GI83YTLIXMRQK5EU80VKRB99C27OCIMV1EOPZMRY1LK5N9EM087DQIOWPDI6A448DBYASEWA4SO7XZVMHREJIDDJSJDW2JASLK8I7BRK0VT3OOXV82Y8PW4HXA5H0Y6MA03YWVWONNNNLELYSEWL186K6KD0Q3Q3ML8CH1DMJJ89P2IX2FIXUCLV4H9PM7U6P8DSWIYPEOQBJEA324AGL28TI5BALILS9SBN4DJPWHRF0G1KFYT4MQ0UQL69HVSIAKS7JW7B6R9VJ159TYJHJWKCS9NLVP81E4UM5B152KBRP062G37XX24VTF3OEAPGXW59REDD5MS8OWIWKK2Z0Y2Y85NNEIP3N0YH5I7BUQA48C4GZUOKJA4WKNSMA01YGXCMN5GBVDRKO77T92PMN6PNHWDZJNWVTEDP818FY0P0D1KFTN4T4WYS380QFAYYZDZYUCTN69DTCD3UOO31A0M327PTFT4O5E3SIL2BZ8NM8N71FJXDTIQUD7YM69YTYUWZCHRCFE1RW5EY3YLZYPOTH21DV3LB2LKYRYIK9KQMGXBJNGADPFU1AYK7N6C2UXJT6OPOY2N3I5E4AIWIGMDZA7G0U0JQOQZYP6IF7J5VNBLSODEP3EAWY8XA88HUJN2E6K6LGWLKWZ7DCWLWT5VNDWJ5B27D8V1S6KE24M28ISBD5TYBJMH8KK6KASIFS3KV2SFDTQ6K50QHU3UKZ2XXNCIE0H82BRCM190LFI5KHJKAVMFT3CM2WOPXDQ59GILG3PT3NFLFZBEZF7WELO3WWMHXVZS7LKFKHF39IRR5AQ02IGY3E48PVL4KMBOJ71BMU2FNOXJ0RS8YD0MM4E42CNLKMHX681OPRA78T85EEV7VQR81XC2WZA4RRRXG486GA14I0Q14X5Y0HS7EEGYXO7CA0ELGLB866TJLJSR8VWMQGAPX0D3UD5HLPSR16N8EU51Q0DWCL7O73K63EZVKAFYPCC6XNURDH1UAFPWHQEWLLMCN09IOO611188SYPQ0FJ3DQIB71Q4KH7A0CD7G20RSFTY4TCEXTZSID9H6JFZN8GA8VPZAEIW6DN9IZ3F99UKOG6S6E214A8MGP55CKG5VZDGIF21E9WQ3KHH6J2EXBW6CQB5QYGRHQLQZ8B4LVK687TNI1LL7IOOY4WTUIDYHH9T38EIO div 36#4YXQEFO8AFPTAVTZA24GFTRZ09QWFM9NIL60IJBYEECFM66AKSD23ZDXQ65X077WG7P3HE6L1YPLS0RBOR2NCHODXFH1G8RAEKMFNR9I4JMSXSAECLB7G4TE9KYTTR1GNCFOHEW0YPB9AMFLZ5I464Z25XIO4H3VDD0I4NI2M4M5B9000TLFLD991PA5CLAHD3SYZ3AD0B3KUFQU4T3WMPHMFIVYCH0J4RADAVY38YXV9Z3SWX5FEONYS5DE1M6N60I4TCNRGP9IG7HZ5F2GN0QMSEM8ZCR3LUSRML93KBSC0QYH2DTTTS9GIWGCIPE12J1U5BUHGN5SBOQFPH929CEOUAI0JOA5P1PD4K7URDCRTZNIENGR6RZP8YZDQEV1LTIS2QUQNKSC84VVACS0AFGUGCOKHMOBTY3PTHQKFOMSTNJZE01YH405DQVG7EUAUSFUZ9JZET11SBWYTC9ROVWA198K6KO2Q8743DG3D0D12MM4W0B954WEAYHI5TJTNENVDFKNQXOV4FWCNTV5PU1I2CIJIUX3JYRS6RWVY5A1NTGYF4NLHKYHEPZ1FJ6F3CYNOWQY0A4C15ZEGZRRPW1VLMAOCO2PG32Q4QEX0O404KT3IWF6BT105DBHTGS67SEA0JWAIML97FRUBQPQXRDTRGP3KXU1O3OWLI1VX90JGIBO4P0NXA9ARM8H2SZGKYQXDZTPOF91VIVUKY5Y85BH0GNIZ0C9W3TEQRMAWDIL7X6920SYFNCI8VMD6JLQ3Q7S67AFZ6VA7P8YL447A0YE6AJSI6O3DFZ6IJQCZYGJI64LU85L7395UH40I9I71XHU41FQBV39XMEU8KURTKNIMK0RLTKN3NL6A31XMALDB9KRLLHSJD4WE6MOGX7JOCBHD4VG4A2DDIWXP5QDBFKZYP8FS6X3NN5WSKVM24A3CIDV6RWRGK0UXRVCCB1DOTEO212VSF7QTRC1YBA8BQG4GDU. +36#5HXPJZFBO6NAL8RMHJDZPU927958WSE6QU7777CPVJL7CL5T393Z1CLOTTDMA6DCZH2AO2U4YFEPT1HAAK2OT9WMZAAB1CRS3MU9FMNP1CQ6ZEVGI6PJBS4MDEWITGHBZB2B8E0JZFYYEUA25797OWB1TOQS2WF3I6QX7VBK7T04PRPJB2J0VQNHHDP8J4449QJ2GNQNF8IMG71N3TAQ7LEGSEKAWZGP8H3V7UQCQMYGQOSGVDKMGNYUPGUWNXWVH1YG20M5QQWK84LS5XK1QE7ZJ6C2SILVSDQOROLF93KE478JDTOOA9TSKQVQA8N2ZGGV53F5V36A7APJ9UUK1SB9BHL13R149FW2B3HAGKYFT0AQDIPZ96FE70YS5TDWATRTTV157A6N87AXTZLRZ8KSRMP4UCOIQ3I2L2Z37YBWGC9HHEKOL38AUJARVI2ZVN5FEQD36PNDQZ4Q0BP40KYO752W8TW0QAW3A5J2IIU48S5WH = -36#4SLXA0MNO988I1ZZEUVVROS53P1Z1EX5RSA7J8Y1NXTNVG7POAI11EG4AWSMCG7YBAY4P7TI6NV8V8O1YAY38HU2N2104AMODQF91IN0BYR6VE0TFSO2URIAPHN9T7WXVELCNNES66ZMTL4JKMUS6NVLZSEM6VNGYB7QLNR2KBKZOC8QNEKE6XL861CO1LC08WIU73LCWRKFUAGDA2G9INYB3AJIQVVM75BZ12WJRFRWXQXKDX07YL7VYHGPGH6KO4VII29IK4JBK1MHOW8MEHUVIWUH7CNUY0DQE86CNTKIWPABENEWTJOJ7F4YT4J8RJBVH7D80II44Y1E769PXF0QN1IDGIKFYL9W1PVBV1QTPAJ7WZOMA6XM3DXAIWIHEC5O5XP1AN152WT9ZVRUAVO3ZQ2B28ASSB051QYUR9O8I4C90PSM7VK5G502J3J7AEF4CNN9CTB27WCS2PFE13OYBSTJB04ZPCBWIEIEDW37Q9EH2REBJM14GBWSPCF28KUQ14X0316OL3REPH44RKZEJSAQHMMBPI div -36#VE614XT6NBUOLPSXBH45HW1GUEJAO9ZI93MP3047WFQOM111I. +36#1ED2ELL2GXZYBOWXIXI7PR2NXIRCGKZZPPSL60THAZRDUWHYWE2IZV7DM06DHCNZEL10AC0L50E2EK4CZQDAQ9XFIT6B4EIOHLG2N8VMVSTUJ04TMOEZHQ1B46J6QWY3GDNLBOTC58ZJOLRSYGN8HP8STAOLAMC1RMD0UGAN4V1EWTESOAWU708FGCSGE9RH47WKDCU8XON1YMMT48MPB65Q1Q66VDKYVKX3CX4G2SE6GYKZOW0SHTJ52JAN4FVL5O19LUY9Y8VVNB3HZL29RMFDKBOIIKPNO96RDSC3MBXDBMSZO394AJ5M7KQYJWM0WJQD0667LVVVG6714AKOOCPLUIK9D3R8W0Y2Q0B9O0O3GRDOT3LHQ87SYEESJYQSU5WNTNCE3KEUEWXEVF7FMDR65DC42QPDYU2DEK95BJFLRQHL5JHQ5ZV16RR6OIBMGIM0RIT5S9KW4QN2LMM1B0UF85POWKJW18HWZO0U95R16854ZMBTDCGV88NSAV3GJX0I4O9Y4U2S1KNVEME3KOTLLSALCAGV2NE4F19TQ8VHY9UKTQOG7FNL2DTI6Z7Z4W3BRSIIZ6I2ROHCCY2QDFBJ3VD04HN7CY78CPSEX3XYE88M1SIUCPYM6582J2IWI4JH7WO33JX3JIHTPS9ZH62SORXXBL6IUYJD7R88PHT965VH7DH12SVE8X5ZN6XIOMZO3MK09TSWP8BMECTO4K0UALR9EN09O1OHWX7R7GJVN17CVCNDE4P3SK8Y98MVQRK9TPJ21X66BFDZNBX3GGHJ1UNGGYODO8TFCXSXJSJ3MJ2AI89 = -36#2JMCXLMD0Y6II1CDKP2TIJK53PJLBDAX5XYG5VVN176PRNP3W9 * (-36#JSE7WHAAP44CMK5HJZ96K1Z6X4Z8QZN1BUWQHGWA3T63F3UBDJ9S2Z0IEUMLE02SJYGN64I6LX5MAK6RDODM0BK0BY7WV3HWHK49NBXJLOTJ0ODBZUAXSNA9P6BADKLYYBM9H25LVSV6DVJGDE145JHPDJ0DZFI62H3B5Z23BACCJJQA511LREYXXHAL0QU7PSIBO543GY58FXPUEW311R2UQK2XDMFGD1SDJD0U44TVXLP4T09RYBM0ST2AJAIKUSDS7TGYD64IUWTP3M7DHP3XYIKH71GLELASWMU8LHP7XOCFKFXI2PMOBWN6V8SNBFHZZ4QFNM419W95KKESPAJNNAWAO6NHO4227ON7D91Q0PR67PTBEPS62V8L0VRPZC2A0H0X2XK5X8RB8X9A2JZDFEN2IQH6IZBBONFH79JVVAEZENE66ELBB2846O1H0YFU7W7ICJ8UTVZGA31U22EHOEOUM8II4FQFGGITRG2KFGA77WWXSC8ILANLAZX4X5WCHANEL1UM8LB3VVDZXKFU08F7PPFPFDAUTX5IIB8BS5BBR437NBWEHTWVRV5B82QDZXCS5RY8WHBYMYI5FF6ND5PFYPN3ZWNRC1257IDQ8JMN8ASGTHDRB56CZ9R4PX1SH2B1XHOUORENR4Y13SK9474D25O68X16RT2BYOY4PDSWYQP5QU2ZOOABSVK4EUR4N123UH5N3PWM749MUESADLUK54U2U7KZ6BU75MY5CPDX5IS3BGVYP48SAW7KH). +-36#6H5O07BVFJ7PWX1B9JI07U5S3XRNXMPUX0EFPOTA4Y1A3U7NFGWY3190L1O2H4WMPHZ2C0F86WWK5LZGQ6C3FIAON3LH0C9XDNDHWPJXCMNSIXH9K8RGATK7XX3P7W7LYLF90IO4CVHN62DYQB6QT51FTYFKYSE2IN5UC37AM0Z0IP0D3EQSCC5OMBAI0GQ1B8WALT4I1O9GA3VVQVWVM4DGUEMP3FHIXFL5OEI80P2KQ79AIUH2KO1K4GK1XEZY3WR9SIWFGZ78536HR84WHSA8LGNY4LLL0JK00BP056SVJ34T7U8C8YZY8GLODOAJ1456134F9Y45QMLRNEQ8MZD035A4DA2BSW4BKWC6S33MEA958X7XEQSF53DX5GH8FE0MY5C94UQAQ6066UT7T3SG3I7EZGS7BDO9Q57NHTCJ01ZQIHIRACQGA1TI01V = 36#1I849V2Q64C23JYWK7JR3P1N7O0Q41PY92A8FKQC3I6R3YO3OFQPGLOF5XHS21GNM171EEI1KBUON36BOVO0BCGU09NF07JNJ6ADA4AVXVDVB0CRI73XP2SINLU44JVQ2KL5FTRDUUPU31MF8NDFHLUN7OFYZPSCATZUNEWT8MBRMNKQPMHAGKODQ04A1KP4VGRASTPAWXLVNK7VIRAPJ4M39R0XIS09LYZ50BZS16B8IO9JY3ENKMWCFP69JUPWIO83081FVMUEIL9VBIY5PIY6CYSGJYFLO9I3TAXSAAHF9UR3DZ82GYJFIG37O3JEVWBFPAKRSTCGLEC27KB7A9RLAEZY0NEQX7D5LB2JMYQ2T6MCBURXW8MJDLYFLALX7CK4YNUQYRVXPIPXBDORYL42BHC4D1OY7HGOU524E7Z0PECDAN5UNS8YJFZUTYWHEUKYMU0C5PGRH5DT9WKM4PLYNZDYBMF8R6ZJIBDS9GFQKQ6IBGF4WO1GAXSGRJCBSITF8H9LX0FM9H715KC5PPOI4CQVSADQF2VFWN9FFUMW3Y8YACD6GQM79CAMQDMI04B4E0K4FCJKOL5U99DGV3XJXL92GY97K9Q1BFPUUHBDCHQ311H6717MURJ8YIQDQYT5WL3NTC3WUI9YA8JAQ8DEPFEV206DVI0PYIRTKGXR3USKCAD6FSWB9AJGD9LH34QU0QDSB6X2247RR2T9NDXBUK39ME1NB13YMVP0ONEXDCC1KY3KVYJLL8P3C2Q0NFDDNAAM34RI4XXKLI9KW0XE9X2EE3RQZW7N5KX2OJRH95UCAD92OSHKWP0BUG22BZPUAU4YT15KVVF004ZEWZC61Y7M6RJNZ0B3WTNE43CCKG4A4UPJ3GWINI49NCWE1M51M8UZVKQDTM1XD2AHMMIEZ2ULNIB13Q7VZWP1NHNHWCOKGUQQMMM6R0IEGQPULLF47X8UN2CZEMTO2Z6IZ470M39HXDLM9WBSABDY70PN3KIOXWPL9ZPGDUES8L4HLVZCX49IJNF9FQCG0N6FCCK4PEPWGUDN7QCAUNKKM7D24SM8FX833ITU6HVXEUWGWS6V7ZUOBUMLTWBZPT7L49D7AVM8B3BZSGLYZACWJJ3H7RKXALQTKUEUIDK6GGF01VOBPGREFRX8T7PYE76IO82RZA1GXOHKE0X7SLWJW70G88Y7CIZKVEIDFG0ZSV9F42I06HQOHPCRZAULXM0LQMI6G0V6D7T1Z79T6W82Y9NJ4CF3P423TU72IWBJC1Y3EQ7T7SYZLGQXTANH7HDSN7QI2XDMQ52VG96P0QX4FOZM05OX4Z3HIXMQ1NW3FYPJ886347AJXY17OB3JX3JUDY77MHPD86LJD7LEZQLLKE1RC26HP5RF041DMLSMVYSAC2A1RPC2LESSVYVQYSKXDL766T7XOCAB5EHIFOS6O4Z0LLGHXPZUNEY75AGAZ6QOAG3SHAB4ZTGAAZ6Q7FDR60ABXOHV7B7P8GRU4AH65ZR1DTUIXFYODZFCQMLJI7JAZ5FUFHKRAU4GWWQ8ZJG37RFYB2A5Q2REWFIB00SGLQP6GRO7ZWGIACLJLZWO304QNHW2PU8EUVM0N5FJG5XJXVON8M441JDB8PICUMI34LIMA1HKBTF7LBTBC47CO3VC0P7QCWYOEVZ058MZK4G8UXM60RIYSBY9TQGX10R0FOMYWR4W2HJNP3B595062E6JXDFROECJ1YIQZG4NEHWPOOIYZ8Z8784F87AKQ6ZH6W9F9TQ5I3YCCWWTMO3L6Y0VCPJ7KR3Q7ZD8FUTHY1ODPOY9NH div -36#8DET0OV1U7T7TCP2TOJR8EGMH4VIU5FDT3WBSBDT7BFWUXDM9NQ8XE0T31UAH5DY9E17HKI6PFEZ4V42WWGM6QBX19S4HBTQZB9BOFNQIA8S8JAP4ZAYQXJIBAJW3VBGDD3B5XVLTTY6ZXLTTQYS6NB0MQDCWMB5KJYD9UUAZ2Y3IONL8I8RPSH5Q3DJCRR4NCMVK89L0FRHQXGL74U840W43W9417Q51UX2M11EUTO0VH9RU0038N59XFRV5FIQWWXJT82WP2M6GSNOL5HTCRYH0FXN1HO3DM0DG9O86SDLVFFASS80HBFG4IQ65FHDWBK1FUSNZQQ1AS3RYJ8TRMA64LU3WSVOHFHBE8VEJS52H65QJKQ1UD7DNG0PKVX2WZS7Y0NQ9Y1C6ISWGKU4GQU7HQUT6W6HU6DW6J7VSKJVRNJZBTZ18AIEUJQOURHOVHC01BP7CS449CFU0M6ZMSTOD6462Z5FEIW49JYQG40WRLZ26S089JUOPPG42SIR1SEUDLYU346LGIHQ73PKOCIHD7Z4M1WGFKRKBNQ43DIR4L6AMIBJK6DSVGZNFWNGA48JG8Z73HQZS0PHS6GRDGTB3AMHE6J2PNJV2XXJDUEF691G8VS9CO4EOMO49H9H0GXGU2HD6EHKGVJC39PX74BYBOFODGKSGCB1PKXMFPPLVL978P930D08PECW5JT2YFIT20FCNL94EEFDVJ0HZQ3F5OCHCXFG3VOSFS3QG9YZZ3J4NB61XD0F2WJR0I235D4P6Y1D8TD18W25LFSXTXJFLAB1K11VBXDGZEGLSXC1MZM0U4063AP1B29RQCENEJENMJ41LXZ3DSBOTONHXM4BUYPHWS3PNKA34MQ3SL4LSI0TCD18X9WA502CA80JCSNI7WRRKGG53K3WSPUWATM03VILAHKXNAVU108H4KEOTT1WR6N2QPTKWMECT9A7RP2EE7XJYH42QPRWIP9TLMIEXVXW977746M93MBGUD8SG8I28QLC9SXKO79XDK7BBHS540KR0H7FKUAZHN75FVCCQJKUTIRSKFQAZSNPUB8JPT5RDOBHVAIKBJJTGY3AV8428CB6U3SQ2UN1V2YBID08CQPAP1FLZCJVUMP0FEN98BK1670OBZ75RY1GTAZH13I4RI1C540GSZG1YP2XGN4Z321E6SIGPA48WNIZY5PWG8M22N5723PXK21NLZQULR7C17BDXFFOB1L1K1YCMI9J7KODRF81BUM8EF0V1VPQJSQ53PM2185T7TL1WEEOUMKN1G1OQX9W0ZN0IIZIGKXLF5EOSSACGHNE58FJSLP2CF8OPFZLTI1DRGRRD4C4J3LWQ22QGZY1D1CJHP29ZN2S6LB. +36#DOFA1FA4Z5ZP54K6TDR70YOSVKSNP3KFAZUAWEYKDJ6DLFT0MVLGLXGRM2QO30140QAEVCQ4OO33Z568D0AMNP30AJGPZSU6IO867C25HQSAV6GSMS5O4KZU41ZVHAAXI36H30VVKV4T3M4OVWVPRM90DW4170722JUC878DUIHQ40GAJDHEXAES5BXN1FFFHPUR4EIOO48I7N5G3QUT63MYW1U9K729FHB1ZO4GOYI6XQP291Y9WHQ0JJMDECOMV80KR2CQAGA35S9UPGPGWVG7MKOVOZK45Q2RIW1Z = 36#IB3KFZJF01F6L9CKGW7BQ6GUYUOUODKWH1CSKK0BGINYKTGLGUL333KYAOKQAM014SK4EX15NAALDA14XUHNFXNGEI4V3RSL89KXI5G4K89X4FA0IHY8NTFLHHVDUXYD3X2MKV62KNFZDNS4QQP2PAZ618Q78X24W5WEPKFI0EI92B7Q6XU7J0UOY9RS42WX7C71LJNMN67NGVIY8Z * 36#QW9ICBF6U0QPNYWFIKZJ4QL8PPUJHCKEROY432Q31U1LFXWWO4XN10AZZRVSZVY5L9KA7MM3UQ0MSFR2HDWT71. +-36#1POS9GKU5XVKWLOHJOYSHR49WNME924R25QOBQ5XO6J7KOFCWB62H4B10HN4HXCN1HU5MMHWDZFO73XBSV3HQAPTBALFZAEIIMZ67EU68KTVG6JA54OYGVHWUG49HK9WP7A710MJO6XB7CFCY09L9XA4V9GZ21KUWJV48D1SNRI25BP05SO6CB42Q4EUO039Z96ZB46XKWUMX9TNMQISDPO34J5QTVY1TQV8TYIOVHMCUEMILV6DIQUTJ39O801AEOK60JB689ZRKW6UHNC3VKWSSB91OZEKAQI5Z0WPLTW4EAOZ5SZ2B41VYUZSN4DHTIP4TKXD = 36#1D4OI4REYW5O1Z92H5A08UD6PQ3I6KIR6YEORJFXNHAG2J5N8Z * (-36#197A200WTL03GSJ9SV9G48K9UZNAULCTSYWYGFVN7P455P9BTJMMBC1ET5S0VMHXCRETE7N6Y7TI2FN5XTRRPCTCBAF3GYOCALCSGO4KCPUTM6B94MUM6EOMJ8I6WL72OTNOWBRHJR32EZF3Y5N7XNC99T1B5BQC6YAZ0M86XCPG3UJT883PXSK534Y218NSQB6M2LIZRVHROXC64DP6TLNX3935XKMTP9T2FJO36PNNDO1VDJB5DUK0MJPVERV39MQJT6LN0AC63P2DTOA0ITN). +-36#IPDFY9N6RMO9XUL1YQ0PXDR8S4H1TBUQZXWXLQ0LIA2LLZ3OW1KUQWZA0OXN2OBAJN5C11KW76X8RM6NMBJFY3MJW4HZ020HHNO8VDDGVF3NVMQ3AC8AMXWE1CB2VOL6780MP47IR9H6VIVA67XKD22ELYHHMXW3VMYGS2M984VOSSRQUHBSSSPPS770V0VFES9QL7JMGJ7APCB4C0YPIJKMCBFIWS9J274ZLIJBKWMLO85P9XC9LFBETTAAQLBWIX7Q5C7OMO51VQ6OOJIG7BXWYI02SGI73V9DTS8BB3K3V62U5YPE97M8V4ALS4X45FF9J0M44OZWKEVHKL0IITQLJ8KY3T39J6G46NU1DN7B7NN4ZEMTFUAIFN1DDDII48OUNGZN19M1IRHHTWCBS9Z0C1NB2KS7VRD8IJX6TOZ3Q31OEY5V1FDFKQE9GZ4E8UJJ7CC1JQFQZ7HS7QEKGWAJR1XVX2OTXGIDJAWDKC72PSGLRKINIXGWIIF2ODYD3R35SGJOXXFOURZU0IXKO6VAZ61UR3NF35QPFDKHDCYM9QJOQ3PZZ6KOF57KLOCIOYSAIDY0DWV69ZKBFXT7WZMPSOH1665ADVYUMCSE2PRIZKR3ZAI0 = 36#5MJGIICZGWG2VR8J4UO8MFFUX8K8IAS7T4RBMREZ2X4INUZAR09NXGR024HSOO70E41URM5535XUAXY9A6IKKESOGGXEGXSS1IL9V6LKVJU781CSWVLO3PY43 * (-36#3BOQ742JE107MWQXPMZ77AMM33KNV74CR42EH1HUDQLK3NLA34SMP98V2U60OYV2UMVNSXOWSPO101DOLRE8D10DWG5N3X7EKUTR5WMZ5JB7WP7PJSGM6HM9SWB4B84WKSOYIN3VW56Z0JQO95A6V6U44RDBUR4G6YVPWWCQI48SCZXRFDZOMWSLJ5SJFEV2RM9TM8FRKEWBH7CCQY61UO3L3ANZ8V2MPOLJIRQ9D4F43QRE7Q7B7GTAV50ADNM9YTS6UPPAEL9LVNTD63FBUI5NZ43E1IOWOWHHV30REAAKIYPOI5WG263QZK2SAJJEBB5W25CPGLD04FDUGXAVDGM9NCJDCJ8M17X99S3M00P8HZHUBQ2OA9964NUC4BPJI09WHCWMLJIN5Q01UX73MRINCGVVQ2WKAUEXS6BGH2K3AE8FGCQH75XWB3X91NKR7STH96Y1B6HK61SQUD87CQG0BJPINSSMB22AQ6RGDTHIVBZWJFSALN5673I0). +-36#65S3XZ7ZLTNH2BLKMVBO26N9EFEHX9R52IK8RHO0BUW3Y62IPWX02MOJ0CERNF385KA1GIZCLGCPF5CXBH7WY1V7VS = -36#12XDBR2O8YX7280FLBFYKC1G6MW66O808GGTSIC7FGUGE2AYQXIV5XMS9D7O7GL0YMQSGAPIUBE8MRZ3VJ0YJ78Z5ZUAAJVR63YV1FL85FZT09C5RA4A3EFGZXNDJE58XQZTK3G4791VKVPB6E1WLIJW0F04DSERF98HWIXZ7DKTOCOHZ1T6SB49G76WFO4QH9YUO3D34DUTD51YSWGQ7DTYG74MB3BF2F5F721MF4SBB9XW22ATVB4P0EZUXJURB1EQM1R6S55T0N5QR8IFTDQRRZG24RFQRPVGAYQ8OZ6WJ14XAH63DS7Y8D74DVVVF3MDEAOUM5CITXA46AUMYUP9ZRIPESFTDMB6QHATJF98TEJYS6YCEXKKNV24CPV8VINNMIPO5974RV4CCNII52FXF05J7TSOD849X2N27FRY9Z3VUIKRF5JTYGV4PE9CHHGSQINXBWB8EINQY0IRGYLV0YM6V73TCT30RC3G34IGEQGYMODF42RKPWI2LSWC7CEVW92U8EZ9L9NMC83CBYVVIY89Z4 div 36#6BH21ORCO79779D4A4VP29VU0CQ962MU9LNL1EHGMWZUIELXMUA9I1OMAUDL55D1QLKM4XCJGSJGPB3FNTOOLD64IBYM6XFIXRADA70ZIWJJNND03SS5F5HMZ7KW398MYEK3IDU6GTFX8EXPYE22F1WDK06VGZMIDGD4DXVYGAPBO94J9TODNY6MWJ9II8Y2048IL07KH1ANXXUKA07JUFEQK4N36WGEFQICNOBM56KDPX9WRE9ICWQTRLSJ3AEPVB9CUCIP28HHO6FG9G6JIFFUIM5UCQ5M9JBW1CQ8VG2G5FDGJ06UFE1K2RD6Z0O53FP9JQ21AAQBOQSQU79779DC2IRAVHJ14L4IX5FSVXCEQBEKZG22Y4OEFH0JGSAK56TJLTCESL7K8Q17T4GAJLP2RALBCN370PT93J25NIFSNT2AXTDFQ3TC42JLK5VRQH74. +-36#1MU3QHAHNKCSN1G9ZFOS7JV41NUK86T4184HU2DO8QABFMDW8KOLZLZ3UUIZXSMKJO8YN3FZKZRJ82K6YNXO9S6EZMF2IPRK401XR7360RXEGLASWMNR65PELND594W270MR3IINTTOY3N1UPF1IKFEP8VL58F6U3ETOWIRA5BCEJXCCWGRQN9VA144XLXTHZ6JZYRIGK3WFUG8LBBDMA2BBOWV4D5U2UYYPHCYHMX68D9Z2WOW08AMG0QDJSJ4L2O6I2N9GUF9XNAPNFOOAPKJHWMWDJAO9DMUMRCIWKARXOGO23AAY75EP778TN8OLNNSSHEGHQBA0OLD2AZEWH3CHP1M1T48IFVZL99F2PXMQ66233MM3ODL80U8PZO1II0VW6S3R4UOFJSI8FCBOZERSGO7WOFPZMS004YASYGAAS5LMJ64PWE7NKWYG4A0DQ9KWIFSKI8D69HYK9EK7PN6PIJZGWWA15PL5KQ4W = -36#1H3MI1W145EZFJPHTPM2LH2LWKNSKSX4F0IXGSXTMJBOMSNR8UNFVRBH7SZCQIFS3B52V5YHLON5I5MRBJ0IK79JOQDA360CWZYMASWQU81093XJ20HEDA6NTRQFXV4O55XXJICS88VP5J7OPV9B66EW74P7KRWH3K5HL6E0SDRVILFCFGVE950LCIQ4NG4L7C3TJMLNTKVIGGRFLC86BMEPB0E74HIMZY7BMN25V57GJUMPQNJSSR12WOBXHVXZ8BTAEK3R3ZQNR627P4C1XFNLGQV3CBFNT2SBAR0RZXWWZ8Z8GX8V16VKIRZD1HGAJVBF4CMQUAVVKABM5C82LCVSTWPFVQMAJD6Y63HD3NDX0FUR6Y3B2N8HFE2R1J2SIA9RSQPKDPISRSZ32EGTVRMU27C4QRDIIGG5YACNOD0JGUYP3NHJYOKE9YGGNHEK4XTK9XLEA58SDSJ6ZRT1EAKQ3P0XRPZQBOC7T04QR3NDKX3TIXZF6LWM7RLBK60AR6KK5QCDLS1BGAXZ1JSTQL1J3D1JGKUU4DYSOOJ4WWFGNEJFLAJCKILFZ49N5CZK4ANDJEL9V91HIB2M9PN8WJJGZMQXARY34VZJ31WDNSM6B74FY1Z0U4H73D7S5FQY1IWGKUBF6VN1PSSNM8 div 36#WHNUAQEFAJYC9ZL1U29ISA6Y8SFLL0TRJ4RSLDU4V25SSLKWFMKYCXJYW4XAH1CNIEWZJNG288IDT07Q5OVGM3XOKRZKXGCMQCRLD0RU5WFJVVDSWPWIKL5BTLTXH84CHTRY2LQVSEPLUB6UB84TCNVTYJ1X0NUQ7NZYTUOM7P. +36#2AF44MG4U24DV2UF7EQKAW2769DXTH2S6GOZUQIKBLED9FLW4CTHG30TBNJRGZZ3RTZVW7790F5XC2KARJ3JXNPD6O01IDYQSLY2JTN3UOOB72BWIF6VA5KH1REX55EU4NO6ZMZR1UTKMFWLAXFWJ41H9ACYSJT9L8AG8DGMCPOD46JGA7AYBSIUCKIGHFR2Y55VK7Z9O2H6UJJ67PUO26R507TYMCZGKHULE7JTVSORDD4D1VLWFV4CL7723GUCPZ0MDDN6EENP94NPK5IG5YJJTG440L43FZ21JG0AJ3121U4ASYQHLO7JQXGYMGW9RZW7C5NMON3SP8GUQIVQCOWAAAHMAH9ZJIVTQYYF2XJNN6BV27GRIDLFP4NY52GFD1Q8WT4R9UR6OTKVYBIPEO4BOM860X1ZTY7AEVXHX5EX510CUTKAE2Z0F07YIWH80RUQESKKS7SFCBLUJCG3DIWT8DC36NU37N3SMR2I0 = -36#1UND6P2LM3IJ9AFMGD090732RBERHXAAO7MJF1S3TEGRY556ZJ * (-36#18INXZFUGT6WZKUS5Q5NACR8KLGQ6TXJXBJM8KDGVLOZ13D1W26JEZDZO0OYRT6F521Z8OHB8F1CK6YULFEZBSJGKHGV2WBBRP3V2UY9AETAO0V93VNIQ350LJ2WFPWH9QA9Q6FLKCDK8FOVZJESGL26AMHEGEFNWY4YBX5NAQSLUH7GZNUCW8KC9ROIMMT7P7LBNN0N8G38T6C52TB811CJUGTZJULLQ1J6P2P36FOPNV50DNEV04JACUY1GMN4GSHIJ7RGQD5IVGBWHQLHJWP91E5X6SGTEPCBOWZ49RDA21GMT3E3XTO83EJLHT5O4YPFYF7FH0PAQ2NTOE8W8IRIOCG90OAB94V1MIUBJOB33KY0SMHFQM47W2ZF3XEYEK2V8SFDMTFTWEDMVCHVL1LYPO26QAE3R6H3L8M6EBGQEYBWEE1Z5TI0). +-36#1YPALGSQDQZSRI7YLT1HENY3C4MN69X4XMDDCAVGM6I8D5DVR = 36#WQ0KIW1JA2SP91ZPB8H8XWFKYB0948RI4V552BE92OLJXKL03H17DMUYGQJV1R8LMJ4QLCQ89VFK17FHJGZ50KXCOMHIE6YDWUNU6BQOCM527FZ4OZNUGRA98ISVLTR25F9ULWSKITKUY3JGRNXTB07WQ73NSU5SOYBKA0VO49BLCJ7YAJS1GD8VD7XFNEU8LEMGS2SYLY8T2TEXG3BCFNMC1GAZG3IV5PC6MRZJUQ0B4O1TYYB3KSB5MQ8LS0H9MN8V03SIZO1WV82YQ4NSJDMBBXRXKQGFA4DZ44KZXGMZELJ7XMADEBP3GBEZBDAKYAYMAAMVCEYZ9FKR20CA4CFSISV8FFYI21EUF5PZ3M52GIRA43M631RYG9QD7ZQD0I6GZSF4SCWNIHABM52NH1PPZYP3GXHLZA5GWPXECP1Z57XI8NFNOFPYKP1NL74SCX963SVSMV8UJLCSUQ4KZ7GM5J2WRM3BK1OWDT9QW1T3YX2AGJKBJD8UNPRABP898K9P1YHMF8I4RGPJ3DZXH38JCJMEYVSD6VUR33A3YS4ZCAISP0280QGN3UY72N4S20XYRHZPTMT461VR666HRXWTMMUV3MLQUQ3LZCD4A30FNTDKI div -36#GNTDNY8WZ1JM5XY6H1HIORK4IILZE5F8EZR47O9JKNLETRUF3KA41ITKYGCZI7GBHHYLTN1JD7OI64WQP0IL1ZVZ7JREQ39U5SLZ4TY4TJO8292OHLRSHM2KIZR8LW7JEQTW4WLYOX0KCDD66I10YM9ZDLC8PRU7YO2KCD3AZB1JM7Z354VZX4NVA4V7NLXPMGE05YO873HG8UDLS56ZT9S85MBZXAJP8J9ZANUATG5LBDQ5KYG1X7HT86F9JDEKTUSOT63XH5H23CGB9ACA8EIGE1TIN1MOHRIQTC05YFVB00NEMV7C2KU6RYDICJR22Y0EZ6YN4PBDWKVGUIKRBQ71ENIPMW2OQJFUA0EDBDNCL1TKDAU89FE49JCYU1UWQO4O913BIRYE3CM19AXTMSLHSLP8G40MT76D2RRDGUVEFZ31JZS00730KKYW2HA1XMLQE3YUUIF7UVG6R488NTSCC7MHTPPCOW7AFL62KUD9SEV5T9QY905TKDOIFNX1HNSATH285Z5C5Z8VY44Z12Z962DCMJLT35XTSWDBYXAE7PJOB6WHRQWMX7QGG4WLA. +36#2MYUFZ0453B4FTCSY4943OJB7VGF56EYMDZ9ARP2QTW9U14Z6DHLFCX99MOT4YNWPUQESM0ERIVPD7DTU4V8UDEFX04D4IJYAKMRE3RCTRH4IFSORAGZQCO0MP2H2KUUONCFP0TQ3N0G7S8BKN0CRKBL6SUFT5VQ4VYDGBHYK4PGIY2OMZ28BLF426XRUQUKMCZD2S4IBCEPPGJE2WW7WPD4M1770CVYBCUJBCFRSG32SELV8M9DXW4ZO3045PGDX5LJ48VOKRJLMJ31ROA8BGKG573K79C2ITKGDS9PHONFJCDDJZ7QHZXUQ2WGWL4UFXAI5Y7UNX0T6U4JDODWKDI1RSMCW48XBSIWM7N4ZZ4IBSCO0LOI4VA9YMG630U13NB6JIJD2VI2KZ7HPUFSEM6LAL25QKL2XSW5Q3VO94Y2DR7GONJ6QP3C5FUWICDMS4HB9KIL8VBT0BCSWZMSSPJAFMCVSSLL76IG6AR6GIG5SVMMF3U0EYIMGL26JSY298LLUWR5TFZ9RE2W3X3G5XU2LW1FEIGLM3U6X15X5MSZQ5GHB4YKH8LNZBB0ZWHAIA79QBIU844IEZW88EL4S5XVNU8WZT7ZMQGKGHM7X18YLW72BBP3FSTYG745M15WY1HH4ACBU993Q2QEM766NT2I6J8DY = -36#2KIN3UFQPG0X9Y71LPLTZNHFS99M5USBEY7ATV07YXTNF430MNJGMRRFRTSHX7217D0IEMWT0WFGN7SFHTYLM8FHO9R6LI3V1Z7QSFZXWW7ZGXAGK092INCGNGOIUSBENFMJ2SR0Q39KF78J3DT1C4KH79WQGUN5385XHUJWEGTJL3RR5IOW66845S54IETZ4A79EH2QC2IL1TLC59IE7RN7LCJDQM7S6ZHBINXLYX01K3UO42GQX2FQT45MCVVW6FHM7RPTOCVGQ1YWH89NRCYQIDCAZHKWHSD65AGJGWPVQU4Z0P3T29SV7H7X3DKSRP237N8BJ8CJRXMCAEU2D5BY34N0A55CVX6U964KOEFHMX959Y9GB8MFCHBVRR9MLAY8OBE88RXMDUDJ64I0RQKUQ6S6DQHJ8VU9PNTV03UYSM8M66N3PO5JH8XXZCM6GG3JH721F6OL472DZHNXD9GCP2BNTNMTFKVCZWGB1D7M7UMLF3QPJZ6PZYA3GDXB5N70HVG6MO04ZR6O4LT3QT5FLKRM3YWT6S1QC4KY9ZTTU50DAFZV3TSN8YRHLOLZW7IYHWIGD2IXEDHZBO5X0YKAEFJZ2AP1O0MQWYVUIJKSIPXXMFI6BOGIDLVUQHF9K6TNL33GDWPIYOGPY385SUYP43GAQ1N43XPSSXCWUBUM899MRDAGDOZSYG6X36DMT493VR3KEM8NBA div -36#Z2KB3E9725FZHRNL5KL10D5MU2AJP6KZVNYROA7JBVZ7PBPVD. +36#I3C1M1CMJ0857PUX79BIAAD79DYP1BPX1MCBAQAVAMGS6R6OVN5G7A1I175KMPXSQ393P00MVY611QKHGE5MIG0KOBT090DBL9XMHCTERQ2FDHKLYOI21SHD4Q0WDQ0FBNW3JQ15TOQ4WEYQ6X961SE4QW98GIIPOEW2NTSRO4L5LPPBNDBR29Q5ATLW1VRIXG3CMBKX619U0KHTE0C0A5U01BUV44D3TVCCW9BJ9EANZVPTOSYHKBEPEP3CO5L3HV2L4D019M2QNXQM1EIGHO9QGI0UOGBM86I2JESIC8NLXPK9HWUG7LYWQPDB1GCRLYGFHSAF1FRAV1YRHCD4FNJ12246F5MQBF4ZQFD1K97BJI401LLWT4XGMFC1FK47L0Z9D07C8VM96WR9DYPWRBIF40CTPTWKEC6MZUZ6L1PZZ0I7JIR081FAD53U3AN4T91BU9SWN42IZS2QX1C0GIVR2HVW675A4IBECG08UDFIBO3I43D9O3JM5U2N3WN7EQCET7K3DPEZT54N868UMH2CYWWLAGUWEXXWJRZPR1NSFN6W8OA4BI = -36#BORFTUZRD3DOHIB07FS3THM2KOTUQT9N82QXVH4R9XWHWNUTGVZ3CDVU48SDB2EZQ4IDB07IWQTD515CGXUX1CK09NFKEVLG49VSE555C3LVEC3EUI9U3Y3ZII9FC1X8ERYKOXT9ZXNIN4IGEQU4O2W8XLJUCZ1TB5UPGNGVWAGJU05NOS8DSJANUQC0M0V5VUBJ9IGTRY5HW6VNT4B5D0ACEWWC4RFDS0G14POJARVJ36F5QZS1113N9F0F8ABS8Z4RNZ4LNQ63L8EH8HT4OHI1DR8EQOBFZ8UDUS0AC66W3OYZCMVE66CKZ2D3HNVBW9D8EN9Q6M19O7SM4PGGFRUVELI9RYWX2KGLK8117EZG2J4EAVAMIAFI5H9DAJM0ZSHSKHWHL083HVMXXEVEND27ZTEU1LLSFY2N93ITI7XWMQSC4R8HIGFGNNAORTKMBKCX4MBUKIXUK5K18RLLUS3484JGRL26YMC4F89F8VRV2WOZ4TFB0XRJU7JJE2HKW9SU4NRPB83A90ZRMA47JT1GQLRF56R4FTT4SO477CBUR1EB9YI0QQSVF6AL81GVKHCKJ76JY3BDD6S2ADW1T3Z7KN6CRNOO33CI830 div -36#N97S4UZ7V5Y0WUZNHXW4AVAHK3I7V30QWH8XG86HX54PZUCRU. +36#UA1PXVT8KITEC6R7X8Z5ZD16EWZ9J8I1KPU97EQ0CQA9ZFR7H = 36#NDY96Y99EQOGQH8W2VSR7CPLUF1T14QOYYIR4K61MEOWRCWU0M0ZT4GYF58DB3243M54GMXO85R4QRWGCQKAYPCL5IGD56LRRT div 36#RT119VW210HZZ9GEZ8RX12BZ7AHY8TJRRSNRCGUN4HXJ0BHXP. +-36#14FFDOVZIT4ES6JGY5KWN01ER32MU2F6YQ62IV7R06PI83UU18QGSTLML8Y8PQGWXWLN0E0RAPXE47JFCNZAAFIU9O9490KR2JLA9JK4FA8JXV03BOFPSYLRO7HYG77TVYKSIRBRERGHH13FVMNFCQWW996CYCXQEY1KSRK1KJIME617KHAT8ADTUD1ROPZR2X7I9DU6CDVKI44NZDN7N7HBGEIB76KYRFSR7B3Q1EXGXY2LHZW2UYV8378J913492DOVTL0ZJKWC7F819366JEV2SAUWUSSRESNU9F31WEEHN8QB2IAPR6XBQLSLF7XD9XI7YXT7LJY5HEV5TSTFS9GXF3WQVFTXLLOF4XF3PG5Z3OHIYBNK1TZ1I9SLDJXOQPEWGBZVZEQ81DT85J6OUIO7SKTJH1J2DMUZ9GI11RHYWH807A9JPEJN2NBRM1QPB1DCME8EFZL6SOTVE11X25F10EWIJ64OR8TVZKS8ARF9GVVJDXBISQONREXD8CBLHSOFPEUOGPCOLUTFY8TCVU61VHPYR2AVFJLRN3CG7PINFC4MW8GUBBU7HFINTBLB2J6NANG2LBG0YHYZ8OU9RY7HWX8X09WCDM7CYKBS08ZMAOHR8UP7PYD8E1TZ95409E27UTMXHTGK2WCIMSXWRHHTZU = -36#19OSKRCQRQVZ0XVVAK4TQWBC5I29XJD1W7AMQA5RJCWRCZOFNJ * 36#VUSGBNH5P22O3JRGYRHI96DAZ4TWY3LSZWBYAMSG160JQQCMHRONO733RJSWYU2OVXNB424UZQO8D2SWDNOTIB6LMB9RB86SE9JJXB82J0VPZQGWTQ6WF8DP9AT9W98NRT53YQKAV0YGUT5F5ZOMUWOIDG75CVDGSC6P6T53IBFXR1Y1S264LZ9P48SCUVF56G3AX930BYL9VH2L9J4G0OTHFZN693NRHKTIARSA9RFVM864NB0RW6UR851I2O3MWHC4TIPX5II1R4S9I7PJAI2O6FT7JATAKDEGLW1Q7MVSEMJ9WY84R9QRXRNQI7HYT25TCUR5GGJXC7A9LRU4EX4BY82HXUIT66CECKTOUA2X7XX28X76VREH9NZ7U6JC3R32TBFPLRFAYOHVFRGDGDU6KBSP313DSUOGC2WX8Z9U8SRGHMC1RHTDBH49SKC2XP54ZBMTC4T82NRF2UH4D0X3N4JTS5IGHTU3IUUXTFFHAI7DBDW9E1REXDTO9QV3IVTAVAFKCZL550EX5EKMPC08Z8B08PZ9H5QULSRW8Q1DSTAJCTOD35IMXLWCRCPXZ7349IHAE5PM9A83FT8U8K2IF5JZKD560M3PSS5EU. +-36#RDTP0PW9JD0TRK2U235O0PZ40BQ9JLHITAUAC9G4WCM6BTBCO3BM4WPZTCQI2FKFC1OEKUAAJ7R4NVQR38OHCY6U3PGMWF3WMRUZKBPI1BXM6NBRTAYPHGLGHTMIS5LEC6K9KB51RIJ3YGK8V1D2173ZEI1EHCVBX1M90ACKKY8LUDEM1Z77P0PLGIQWCHFWGR1NN88SGOUCV6A01X98PLM29K1MYV6OT5CKYZDOM7T39HRBW20U5PVXEZL8W3JSIFGJWOEXQCDHPJ6M6HRDN4ZQ0FLONEI2XWB5LUO8ORLE2CB8UKVT3PBSC0G5SBKPZPRIYATD6QA6OZ9LUFJ4DW856R7UW419O3N13RNG5UBPA2F1M8TXQB12KCB1M1574S3GMSKJLZ9CCBP2NJW9QFYYNEB1VS3DANAZ66X2VFNNFLC32K35M7H7SORPOUDEPDZM0PB1IC9Q7IPVQRM1LRCCT1YCQDN42ZFIPA1DN2FX3INTZA49RR7YJ0SLW7ODDCD7QHNJHZ76QDIF8WGPBN2YQ8E4JJOPVLSNVCV1R4BYEME5C2DYEB253GN4SKHA6RAZAN15KMDFI54JOEIFX8YBDMGYDP2NNDQE2L6KDC56R4W94ECIFVVZXZFSDUY3WHN6U5N7WMGKB2495GEKH0M9ZOZV27ZS4ZJD3Y0UA8L5J4MQBRGMH0SD0AK7R6HKFFC3M0SCFCUWV3AOVFGP1J0LK3RBAQTIBQ7RZATCU7MU4DMY9V6C40R3P5JL59VITDKN4R3HFC = -36#25WRB0BFFRVJYQD7P5O1G205FQR978DA74C5IA7H4ZZ7JIPD0IIWBY9WC77WOK5HQHA6TBS42TE5SAWE649JY7Z56GB7G1W832O7DCXITB6N0HU542R1K8YYECPOPKL0XYXCZZ8FNP282TUEH8JWU16O56QVJ7CVG15OFS5ZLKE63IVBT1SQQ5L3OES25QSXIM22VL6YJ3153JGP6AQYTHE0APFN65X5YBVOEPS965RI04Y1JR8GIQ5KIC5O1YQNH2ZKKTPULDHI3EVXPWJTH48KGBIHK4J0QSN386A13VYQK7CEK8MS9035SAXTOXZEHXGI8N9EB5Z80CA9Z0EIZB8E2JCR9KTNUGFIZDLAUIVUEXIFQ7PTSAZ9OH3MA8CS8XS4GMO9B2YSX25MSEETP80A2KPTRFNXWKIS8AP8MV352MX0GR0LX6NMJXQZYULNC9BYRKCEZCL37KDMJVR7M0FFHNA0LTS3YYHH2JQYEW6WNOWJI5XA9CKV0IJIBN4S16V8RM1WSVDTRB9LO4VWNLETZPV85T0H4KK7HDB47DAPFXLO7DLVCBIQGRLXB9MKI0MDSKY9SR09DIL6I8DRXR6HOXTIW19IHSSN2KVX1RB7JO1ZPRR84D43GAG5HAEFSD6M07Y2FAFUYVG9QP4C46A1A1ASH9340NTAQ5XRRO2PUKRYDO3EUNC532E204L79LP0I4RIE3O23FWOM6GTJHWK97MIG2O6ATBQ7JLNLZUMENPM5D1RJWMQ46GKTBOWD91FH19OLMVPX8AWHBBLJHMRT9O0Y7UCBW97LR9GTUDXMRSA2M25G440CGQO div 36#2UF8FCHDFN2DTFZRQOXXRA98R15A8HBTSYBVMQWEXFFWB3HTS8. +36#12M8C93XP9IIMAR02JMEP3EWNA78VUHH1UJ9Y12KP1XG8FR7BEAFAU8KWDWMJHU1O3MMA50RT8HDXOGIM6JKK8SBX5T053ZSHO8O3WQ42YE9VEPDDHBKBX5Z0KWZ5BGLS77QIG0OP2D9JBXFZ63UVWUC2CTGEENB75NEAG1UTWPMAFZEIDWPGBKSEG1K40MWMSX8XIY1MXDDRR8KH9LLWA4F0BRW6Q0XOHTYXG74BDAUAO0NEN03GRFHDZH27P2XIVG4O7WY3IG7UMEKZ4HDUGM189NPN7OROB2VT0J7D2LEPYINFR7NSAJX0K3LOR9BP89IR3LZHNSWCG = 36#792G5X5OVX0CVJZL2OWOQ5EO9QJ3836WWT37O5LAIELLND1IGXTDOJJAOBIO9TC9VCJFCGW1IJKUPAU26VFEZ0H8PD5NBO8FGD8S2UEVBO63W91O45AT1YHTYLI8LLSSFTFTOPTJ5QNXNYIQIHIYSFQ44YS1MDQ0VBOJAMRYUB0YAJ7QIOAUICP0RDCYVZDA2KA4EF4DGRA3ZJR4GJLX5B4 * 36#5BPF50XW1N6Y1XV4CCU76CO45X2VY1OXUZCHZ9XGMV2VHV652QE4IUR2BQI3J8FVFP1XJ6KHZC11M4VTXIRUUIWF6KO9HDNMZC8B4F6KXAECUZODVLV7CEM. +36#EAIK4FET12Y99I8HIRPOBENV84C8MOSVJ44YUWNUH5L5NB3HMQ1GMW1M7LOAXOMBOEP9112AX7ZY18ZHHVUINS4KZ2TBCZLOG5FOHZG23GVVSMK0TID7HQHQMLAACGX74GIS263MT9AZG77ZDYKIWIAE91LW73JMHCX386RT8364UMH700TA6U3OVHTRV9B364N6O2US58CYC6G8KEGYYA089ARTRGPSTB1YCD6CI2QZAFA9NT308ZZ7W5E5LK7C6C8GK12PEVCKQQYR2T4LBGNWWB1UE1Y31RSA73G03YG2A4SKRF4XFSBS8S1NJ5HK0M5KKSACAJ8WXM9EPMQBMFU17YVRM64OUVW9CBUP9HGQG5A8HWFOOAQLLRSCN2SS718P9S43C7HFJX93NZ3AVNG21BCLCKW0OEHRKEZYGPX9QKKHVUM2FI3MUFJR28SQX2E8HWG1NVN15VXS8Z3DMBV1LNHF3KN1ZGNO28NGLQ0UK02PKO5ZVUBR0EDFXD7FU264JPO3D9XC2N3ILMWZ66T9EVXJ1PF7VMN7XJKV7J6R9A0DRM57I87O5HQ8OPTWLH3MP49GEH7L2VE6JIQODOZ4SOTJMXGY4Q7VWB4ZPPC9TFTJT122CC3R203FZO0H15LQNGT1XW2JZVOHFCH1X9PUYQRKY3OJ8PKS9R0OO4JPC154L84GZGGREWJ0OSF4I800V4A7BBXP8Z3YWC90PDB6EXMOVINSBCTF7JSIBM613FX4147EDQ6B3ZRBA1EH4BE69XFY3OORAT6BU9I29R2RDHAQBKOV7748YP40BWCULNKUUTSGBQ5WQKSAN6XT9DUAJXU7CVXAHCCBLM3V6SY980W7SYQDUMGY2DEDFWZR8MTX3FNZ3JODCQ8CKRMP5ZCZBO3QBGVV2OEXHFDS6ZUZGT = -36#DE83XCNEPUGDRTZYPRY9NZEN99LR9A6RWPOHRK1TH8LW1T7XHZNKQA4W8NO7A1D4WIYVEZE3146F1EOUSQHQKC5LA4DMFWYPY1J7IEBYFIM0LAVCVJZZ0RH6YXGDSSV87ZW08K4LB9QLEJ9SXJZE7SJCZ4YKH8PCKEPR7FNB9XL6E2STOSERXDILAJZHE99I512OJGKSPHE2VE37051C6C9E60BYHMODHVBIUS5GB806EBFV9N5MLIRMPE1XJAW63IY5EY8AP08YV3D3PXWXR9715K6L6MB0DG59WV6S2B2LQWXLNZ1YZ9HJD4UINAAYP3BUA3XT7H2CZFGI7JV9P4PISE204GP6O8U1RBD2FEMS7L6SFTRQXW1ZGCSF7265CZHJU9P1XRAAQ30TBWA1V7EHQT0IKPL7NA0DCFS9YVPC6KXKKGQ6ZGTZIUZGQZNGKZGEVIZ1OGD4QM4Z0J7O07EUM92EASDRHKL8KCP6FP6KX1KO487HQPYW7RXDCD353TOE78333EKO7U5GWMZQ0QWEVADRJ07MVPWQ1EI5HLE6P61BHUOPXD7TL04RE3XZ35VJV6DPN5S78Z9ESPFG0QQS9DM5M8W5IUMTADHBPL6G0MZBA9VH60ATOTVLGBH6SK09UFP8HK08X56WCHLLRL93JPOSR9GQQJCEE5H0U16W13IK4XVE6F8U70CKH311HBINUBLI3ANICH6M6455WZ56LFAGICDY9ADL5IW5JL7NZI5SIPADYT9C1E332FG8KN5A3CFAXQR59R9NF3SQRG1BQ4C17G9TYIMYS4QLSW5MS32G3TFVZFJCSZIK08609VR0WJ6XLW5XAY3CNPQY72Q3FF2902JDK86PCAARWQ47H3QPSYSEVRVI8IVMC66SPOK4DSN857CX6KGUUD6DEK7JJ5PKFDXVEHI3KAJV308KDVSOW52VPVJ36A21970175Q7IV4LC79 div -36#XQNXNBXNJ4IVZ4TTPKNV78ZWKRJ19GZEVEAEPNSZ68503WD09. +-36#6IS63WTLV80ONMLVFTR5AXFTN08HAZS4P10E21DIFAMIJGZ59ZGRGHN7OE83EGHSYJHTBX7OOO8CSJRKQ8JDCLQLDC6O6V5KLUF21JLW8V7VD7GJU0WV3PVNJH9UISQBY60Y30KAMDAKAMWFYJXDMVAGOHOFJAAKD5ELRV9KPS4ACLJFJ0NHFPC8R0RAULPJ98JNPWQWNK9NO2SSV9N85FZ5U4I0BGKMUOEHP75QS3KUOUV6N9GJWR5A26QBJF6KW0EA6EZ9U45HD5OGYQDOACOMNQNQTP42GB067X24N2YBKCKPQF8VXZ3E2BVQPVQ0GX2FR6N4K87WNWQW7KGBQ5IEDEDFJ7FUTCOA1REZQ02PRIVLNKMGR50Q400DP7DP68EQF79AWVW9A71O3IJUA5PN4YZ8FFXW8PC6CPDLCGN4JJ34XM3OPVRO6ZWY7R2OHTF8DS19UTN2SSJ31GJNT821YM02DQ9EM80MC5522ID4O3APCS5HDNM5XZJKFK0ZCE4W62NQ8OI8OS9XO3FQH303Y0ZWCHPTDNE3N2J7SYFCBLFZRU0LL420CNJ4XZ24RS77N87JQG5QKWDFVLVF4TIKKE8E2AIRJE2ARO89MYO6X6DIJFJJHJI2EC82MJMQA83RXK1KYWB5KV6FUC4KELDNHH7T442EG4OP7G7H6Y7OK5Q41NIN6I0O58TCDXB1N7O8F3RU1ZLC81W9Y1RLPN629SXMYM62RHFP0OHJ20ZT97UJ97Z30Z059B189302M3WBOGT8TJK5ZT6Z8QKO9K9J9BZB0WS70N1929AK0IGGHVRG6YOF21OJ8P4Q7Y2MS1P4LVJNTFOYT8X168XPH1C3UFAUTSPENHQBQJFCUZ88VR3YSVJ3JNGNGX11HY13JDDNZX8PGDI66LB32SPKOVEGDY2QOBJSPPZXX3TOOF6RTXF5OBC7SWTDZT30ICN70QUDZ7639Q100DSUSN21DYSQTB35UJU357HI57Y6UK9LXN5A42ZRTUAK9FXUD74VWZYBJPYQNU3ER2JJJWTMTLYZCPRV5ABQ9A51XIWAWLN53EYRL8XZMSS8UVZLCYDC309VYW8YMSN6HO578KOZ9ZW8D5RLT3V2OWJM4AIXIXY1W0EGADW1B62KNOCK3SEE8 = -36#TDI0RHO6JQJELPG3A7HZHTCH42UOI6SUS4DQXBQTWU1WGGLN8R3RTTCAEQ46OJI46OY2HK2GXM4T30I1Y3NHK93L40CS5OQMJM6L87LPI98BVF0JYFDLJHI48J83MVUU31SXIQ73R6ZSZETGY1PU04QBIOF87MXE36L1AZ1KRQA8I1R9P164I0S08CLPK1GWDC1YXDBZPN8HID4T4EF9TP5ACPIBNLFOZVWAZ0HW9KYRW3D1P969EUG093DHHR3E99V3CSX0XCUQCET33YH52NJ2QGHKKZ04YG607BOIKZZUCSRZMXBGZIU5IQMFKNDVSFQ5VUW8FVU6K6D6IA0129OWQ3DZT6NOS4L57V7KT2B6TOUBA57D24ZVRFG4BHKFRUELP31DKDMK5PKSVRT46U72YAWXSVZMD0Z3ZK3I3JPDVNW9S8L5AF9IODTZTJXMO4WG0IVZELV3RVUQH0FW2G2FLR39LCCJU64KXQH2NIIEGQT8GB2XV3SUSAON8O7FVEI2OTZR6R31PEUSJPIXJR8OO195P2E8RGYS3PKMWTF2ZEPF5H7J4INWF6V23G6RHZRNKJ530SKF7CVQSMMGRDQT27PW0W1YTLA6I31HG3M4C41SIIL05UTFSK8KQ7NW7IA746B2DZR9LVDN5GDYGHI3T5E76Y8GMH7HMGK0G6P77J77TGUOUAUWUITCEO8M10OK0WWRM46PC5XDQNDV9KIINEHK5BP2C84RC88GEX9ERA9TEALYP4LA2AIJS5CXXS4DYXBT7KIAE37GLSR5KITYCZHI7THLJIRRGTAPH2BHTKE1ZIR5W0YIFQFSQ2GM6HFTYD3U9KIHCVY5KGLE4TJG5TWV83SX4U98YO60BBVVN4OKSVRM96WH71G0AOGSIVFP2D94NG0YPH388QCSHHWIRDFIZFDTWI8UD0EF6W5D2TLSC1TXQ142NKA565VEFUAHPSFBPV8AE9TG93JB6PJ19E0SPT3CQHUKWEFWJK592KWSV6MLKIBEQWXUUYLR447831UHAIKSI3972Z7T7C7FS7GBT3UFXT3UHLY7DZDD7SYY156MQZFE4XR8ANKCBF71CGG547TS5NLNRBS3BVKK3YD651CDW9U1ORVPEBMHG1IHCTTJ3UMAV4E2JIOE9PLDW572SDT33OAVFNTW8CQUIUO14G5AA41YWZXVRVK8H68WML9F4VAXRWUR4BU4Z1YVQEZV3NB2NYCOODMO4PNH2QBOLV6VBTYUEA7F1QNQGM1K0GKWR2FGCLM6BG5M8IYGXI88P1XFWU0Y0ZQF5DT2CG1U3HX9EQ98CS82T67HU3D6D36D50SBTZUEDZPU4S486UMJU350PWIZECGOV1RIEGK8JU9PGLTE3KX89R3KUADEYHDWS3XA6RNR4XD2MQX7LSA69H3KUPOSD9I0VJZC44X00CNMVCQ6C8J8B6JGQQBPN67R4CG div 36#4I5EMEDZBFAVJDGUCTEK2BRXX8Y6Q30BEEZMD5GI6PQCRIJ75HCJW2UC205CCNBJK67ZHVKHR9ZMJUJ3BUAPUHCRHH8LG8T473H6ZX0UBN69XK49M6DGAYOOH1V0XB5RBJR6FL5Z2QAUDQPRZGLNYBA4ZXAGEJ09AQXT1IBFOA2WKRUOB24ZAIBFCTBB4S6QWSG0P0MS9XWEB3RYAVH8H3YOT2G36GFXMKKOADOVZHTD1Y0UH4RI6CUP23IGUMTLU117GBO9VA3AHYH3FLA4F7TINIX9PZUGI8VGZZ9GS6TZ9GS152EQ0G2. +36#1XVYB4W5N7IMDL20JAI1EXNFRLOLCYXR0DBZVSEKPDJML9G8JE2VZP22MGUW2FY3BPHMHAFA05WJ8CEWSGXU5HUPSXI58YRM48QFEHYLOS1SAW39SRT3ZDJUF0ZG2GI2IQQF5G4MH31ECNVOPP250SZDV25OGFN1X7PL4MK4IEJF4L5E0ZGENI9EJYG6X3XJQDHALT250TX7HUFCM545C0G224CV7FONATRK9Q6AQTH6PL0KK1TFQ8FE6NSP3667NUR24YK2L2CMFDTYVGYUYB7F1BUG2YWP9INBQFQWRFUFNRCZR8WFV2LN5M2LTM6AQI2XL45ZQJPT0ESX5G190SHJFXTERKXWK0H1QL6LOG467PRCHLQ3R8BSE1P1XN69WYV2ACT8FV5TT639Z5YTOH4SHYSUHDSVYFSG5WC6K41IZQ581Z6EG873DT550PCAV15YDIBYMTZDJUKR7GKH2LBKO0O59Y4LP1ZL56X5M59CDX1W6M0O7V461U5AA3GRYVDA1KBDD5TX7E5VG0U7LQMWFYQV2VPWGIR3X7PWZNLLYLPGYCOFKH8NGUYG8NWYRM6ZSVGPOKWQ53B2JBTBJBGDU69R1EL0EM1BJW5FYZBRWY30O36D7F4LKG5923TLOKX20NN2EAKYAU28L3B24G4GOZDZ6QJVAJ5GTTT0WNBLL08V6VJWLL6CJFB2L02GR9ZP1ZTRBMFH5Q1XR9H2UVI6AP3GPN2JW3PR1J4KF5XTL9PP6RBNELYISXFOBVD09T84WMWWVWXNXFCOTCP179W9IYN44MAOJD6Z8YL6IRYXDBT5GVLNXEJ6VVYVYM4KOM7XEG8GQKTWI4QCW07ADJJAQ811S47FIYUSVH6KZ4HJHNTOZ17H3BZTFQESAZ7EHH83CG8LOP2EMXTAKGZ9ZZENUJ3A0W7N57SLIHYP9FXG08Q6P0R2M5S5LI7O1ZPCVI6J0AS9BRNQIJHCMPMKEHG7W5D0N7H7RH0CI8RI8UFLHYBT4XXP4A5KM7CAMT8MEX0AVU52PM6MSWA0N5KEVYH7TY6TZ1QPP8OPE973Y686NRKQCZCFSWP954F82WTBUS0MTPUML7MX0TQM0B5YWWPCWDSEQ03Y4APR5S6SV672EUOA3WH61L9IK1PUXPMIODGDGQUEZ6XR44YJ85DTL0CKY085ONZHG1U39SJMV89OBL8MYUW4GQISVZ8CCBL6Y3T0DUUGUVQPH47EW8PBWOPME15HYZN4E79LL5LV9V8E61GJZO4ZVMWG7W9CQ330IGM02R8L6JE34LWURMAKW0WC48A9K5LIGL9ZIY2EHWEXOK6ZMF5DUJNEYY1AL47C3EX5XRJNOOKBSJQ0RWULKJ8T65GVVHPT7XDMV0A4XFP144GH2B7JIWB = -36#4LZABF68E9NYOJ3JKIIWDVKX43QLCK0605JN41HUCOS64UCJEPENSNPIGKLD44UZPH0HI5C6D49FIHT89AMSGRGOE4KUGJANS1QIXTZA3ZEG1210Y2UH8MJPVZIY50IRBD0AS1L50THWSUU48F7E25AEV41I23P8MXM1O72QC1CZ4EW8ZTJEFZ9MQVPMRP7MDXZX84330OGVP67W9OI8IV88XCAOM8XU55Y3HLSMJZZAHMPZK8SS0ZHMUCX914EO3KJ4PCL38YSTH629V1Z94BB589A2P86B4Q6Y7AN79TEV07J3XW17AREOMB9TFJ6HGVZTRMYCPFVZT8O9LSUYTNYRQ053ZMUPAST9I3WEWAIY1S6ZQ4KBI37NARLWK4ER1R37Y898TT3CIW7VE32T1GPOUL3F01UCMF40AL68RQJSAGGXN1TBSEB53LEIJTJA75BBXMQOEY5YAQ0LRMSBGZOSLX4JWZAWMS3TNZ51PVY6GL5ZZ3OW317S37WA8P69O578PRO32CC23P1JT9W7SGMOVY57AMSHGR87ZS7E54VJ689LU06ANAHDULEDKOR1TR8EUG6HKS4Z0QXYR2YW70NBJTTI1Z3QZAEJMZ8YDGF81W28J9ACLJHDZF1QXO5DZJFL8P1DIJQKWO46NSSTWLLG76H6E3WJCI0TUR5P7QSQRBNDWLK33JWNDO7J6540HMY524X3ACOTSWPBH0EMALO0WPIKDOSP1K5DUCX2T84C8ZO26USLN9VSSPCWO0Z6Z8P2PAJGEHME45EOMA4XRDHVJVC2I8XNQO7IGLMEHPPDPM5ORHHIDDO4IXGN4T6OLPNY6APRGYDO4ZUOKYQLXU9YWM8LNYMWXP8AF6VSPRI7DEJE8PL3COPNCD * (-36#F5OYSKYNCPGXXJM4PNCJRH52W3THCHMB0ZJNY3UII6UTW7FQ70M4FK8CXADZS5M9LDKSEX00V7X2GI6YCIA4PAFLFXU9RTQM05UKWBH4ST8PM3E307Z9GJIX5280XXRWLIC6O3RCWH2NK7CWRSXLR6T6JU08UKYAL6NRWIO7K8I1PMPADNHW9OYI1M9SHECWDDTQAPFO0BQ76G0KGC2DWYB85JXMXSXY79QFWN5K9UWCTXNQ88RQFOSHZTII807BWGOFWX5I6SOIGYWIY4DDT6BCTJNWA5UCK8RRCL7GHM8XDW48783QH6KYTJMAU2B4UQ8E4ER84FH3KZD0SC610IHD4GTUQUKHF0NX9AEMOIS2YQ86M4TYF1E19FO2K5GOPD4NG8GF7KQ03IZ8DSTS0GS1AYGNV55K83QZXUR82FDZLHXKWD6E9X1JWP3V8K8XH2RXJ1X3QM8BT5X40OXWJO48FB0JL8DTYBA8VU3WLFYKC3K6V5GDFHCD92A0N). +-36#15M8KOPQD9FVBU4Q2FT4C4Y07710SHUYHL7BJLZAHE5HYB8HOGXOIQ56IXIXG8UV0TXI7T7CVOEAR4EXMIFZYBDDLWLBQUZ2TUT9ZMY9RREYC1S6NGCDEUNC9EMEBB9TI8GRTOWJNHUDSR9Y2QIUAI6HGD58IT8946846SRMWYBX4PV5MEWDM5WR7CIAB7XC9OL1B5B1CUOXD9W5HT2P5U12MGYKXAZR4FBTHLYXE1O238RFXV7K6479OZHJ8V6DFPMUGBEM6XYVY5NXKZ8E7WJPWTXBIEGLXT6YHSNHYP8PD6F4CH38OVEDLPEGRCNCF9U5UMWRBB9NDUZRZ57I00010PGT766J3WCIYJOAP850YCXBXT8YDM7FFU18XD2W9YNMEAMBN40110B1U2SA1ROBLTUQRGS3PVHY168ECMCE1I5NOFK7CWRH3FFOH2O3VMMUA6F7SQ2V9JC3V142GS4MGMFP8EHR1LGVLAHSEYIG2R17249HL2G4JJB8T8DRS0QK1OIORO84YRSQGACURYZ5SWM34EOPEUJB4GRSETUEDNGXQY00DJS5R7ES6P15O3PDRIO7NR6E6A8HSZDEAU0FI009778LDYMFPR81NL13SGHDIQ1WKMYM9LD24UB7FPWRE0D2DUS3TBMX1HLK0OM27M5K03CO18LHM9YY9KDRQYID7U1XO0N1HGGASSN8ZHQ8CES1FGN0UEJFL0AZD5XXNE5KL1XY7J98SPK2Q5UL5FYEB292DRJJOC6QIXEVO0309KTS9CPIHTPQ0SZG5WTT0L3VRVCO9O671TIEH7EJD8D2T4BIRD1L3DNJRM0YUXWG2TJIJJBUNK5H7JCIPBUZDQFGGO1PLTPYE8I6JE67NF27XDAFMSBH4271UX7BEKOVE = -36#5FU5N5JYW2TEXW1DH7LJ539ZIALHGXQCGQLNJYAGXRMX1LDKXEQS696LLHHZ6NQ0NQREPBAQONMP9II09EJYDY30D3DQGVVE9ECD1AQJ3K46LYC0CCMCJGFVEHU7LDCOU320D5BYZKFDF87X2EB63OJRPIJ1FYQ2HTAGYO7K1D36XBT33YCWBR6MN33DWYDGQAZJ6UX52IO0X1KJLF5BJHH17RSJJ3PRPDPAI16PJ21SGDAJ55C4FOBZCUKLHMHH4VO99W4IF8AGH5YYBBFRV62NX65RDGSWU1530VRGCI22IWK1E4RVPMMO1XMU1VIFKLUWKH4P8QZ1NM34F8Z3N9V43MR3LWGJZRCP5276SKLM6A6P11DCGHKXSQ2K9OISTFMMDR7LVHM15YZ8A48D1G34CE78494J62P0IDUGNWE8O274EI5U0YZ61EU8B1EN479OWZ6NZPZXZJSA7PN9PHW1G42Q0Y9P7Y5085YW5ZTJGFKL65NU1QBURDP934O3HZHXA0TR4UFYNTFMQYOZ2EO67AEEYPYX4H6KLTHVDWTQCQJBY0PE58ADCF7M9TLH8VPI4NQ1Z6KYGW3RCFEGJ3D82TJ011NMGH * 36#7NEXFFWTFAY6L9W0S4D03I5PA3ZJT379K65RAOIDOCQH1PYH7FURRSZ5T297K9YWBHVZ2MKJF3FZYO36KHCJL0K4YQF26D2NEVRW1XLKLBI47LPDCURHIMY95PELVPU1H9DT9YK0GT0ITMFYME69T8N9TKV3P3SBE85NXJIRLOZ3V8B6KSW4QITR5SUXVLOBX10E3Q4HVKZRXTSS5IY6MB4ZQVHZGK6F7SGYU5Y9HZA94EX3KD0DWMX3IHBOYOASXS787M9U287FJYTE714K20ST8OZIW8DZZPM. +-36#2IHY6RPIO2YZ2NFO8R0XT11IASQZBM029UKVA2T1P60TKNVCRX = 36#2EO1T7X2BOJVBXUH1JWBDOX26AVCX0TSOCDP3HZ1YR3YCRM45N7P20LL4KRDM9RUL51JFT7O37NOQQTYK1RMU60PR2617L6NSGCGFHCKJ5I1B2QEV2XASHTZQQEZFGQ9U5EQKUVBTX3FQIFQA061V65YKPAF6BIJOCZ06T6ZD8FE1LY3GMQ6ZDOLHOTOU9Q18H4XJ6WDGLJFNV08J5IRMG7YJZJOC4J5XMN4O8Q41AW8KJMALIGITGP2VCP19BL3C1CE9AIUHZBXS1M1OCKLESBLU5G6E149V2EOG3CB1LGOTOTRJU38F716UYNSYQJ1GQRPKML4Z00VEAJBJB94Z6UOUN4Y4NT9LDCVYPN11OGPAH9HBKS5XBK5SH93QHLKD3Y1S6OBTZKQMPXTK6A8KH5384X2M9RUNXNZNFPDI1ML9ECVQ6MT344TBGGYP970O9AZMFAHF0LWY3HXNZ400QH7L2U0L8OKAPMPY0XJN03Y5W4M5FQ2QILMY880MLTSZ7M4L8T3XFYHHKRTV6KCG4YI6JIAOXCRZNNASVWVHT3RATLZN11UG75S06QUDQGW09MU60GQFZOSP95TOJSTEEN63GTJAJ38QLLIVGW44025JILDYGXEFNDTEYRVSNQ76NM1B0SSSPWZSX478JGPP3ATDPY6I1RE7F0UKP4AHPQUDXGNCU2PPIVVXHBX51943EZPXTR30THNHZL6FG8YOTHK4VNACBSJTQUYNK6 div -36#YH56U5OJC0XAXZWLZLJIU8DRDEUTOGW4YX7EWKOL38DFC9X42C75VDVEI5U51A9LT10BNK0VBCMG8QNI1QFDRO5CCR3ECAVWB2D9V497R52QG6VVONMRR41IDBT2UOM8YILGOJTIAAFUMA83CY2Z8GN05KQ7UYUUMM0YRLR34R6N3RA5IR58X7J6YAT0K22242U5LXRGCSHADHEI2V6V5MVPZ7IGVY1SS6LWLYIWDQJOZIDO8PSOPVOCIN5ERRTTEDD0ZR42V00TDHQIVHI63M8FW7686JFYWKNXWPQP65PA09W8N9KPKKDVGTIELOXRZEM3E2ZR06K7QU1JEZ60QQUEG1QKF0OIX7636ERHLR1QXOQYZT6Q7EW8WCEJKSFZI6QB1ZCHUF7GY062CMAXGU6Y5044X6JQQGUF6SM8OL9U1306010DHUD6HRGGQCLJ4HX8OE0DN12S8BTFNP3AMR0VL5SHHEVUKXO6LWZDVV9P25KEUGAISU253H2NJPZ2HPI5LREAWAOJMYB3PYLYI3PFZC5RGQBI5E2C3Q6L0BCOCYLSU4ZMBS26P0F2A7HOQCQGZX7ACNHTJUCMFXISKQ9FC5ZIWJYZ2R6VZORWMPMZL31G4B6JJAE62I7II6AMC3LQWHL1WY3PRX1QC992Y2LRS7TV26PUKSS8X3N92JHJ9C7DF4TUM. +-36#C1M21NVJJG0P9U0MRTAMOOJ8FIVTV8M0EOA9PU7PMJBKU3CHEZKN3Q9YRZGHX8CSZSUUMRCOC3RG3SJTW4GFQ7ESIN81JBK9B6834PD9MONHJFR6QQ2KJY0YPUYVPYN9HS4WO51F3H0HMINORCAV5T702JPWL17JSNR2P2HWMQIO5PLMQVY4AP1W0S8APSVKWJCRGJ5THDSEWX7GTLWRFI41PW5FE7X8GS5IJD8ZAS9AB9NXMEAZXHIQSANIFA8ZDZ3071P0G = -36#2EZ04IKXP0B3YO6UFBF7FI90JK3OGRCKWYFFJUEQX49FXHO4EEW1IDQGQTB9VGBJO2HQR1GQQB6OABEP3CKNVF1JL0RB4J3NZKLPEMTLENGYNIMGDWG51L04KRZ75E026VWP6Y7817AUGIF8EKFJQ39MUQGOG41STTKI8BON9DXP4KJ4C6JDUBSRS0LTPAGYVWU23PGDZ6QE * 36#4ZHE11SJ9G7AYPZXKXU5QTCWQ399FVX7BTA08PL5EA24M6IUC8328ZY8VM424W. +-36#214LZP7XN8YVVAUY401MAT6CWT2RAK2B9D93XOBUIPQV8N61MU = 36#247XFBIOR8YTU6XZN4GOL2RBNMTG8IVYDD6KEEJWUU88CD2MNK4NU7LDYLVIFAPFXKKDDDGOJW1TCZKIJOUZP2R3AQ54RD4YCO3D86U1HR4FU055W2BY9BX1OC6KAVAG8TH5JWSPJ7B94MPG9CCXQQN128M7VLAX2XMO7YCTPPKLMUW9QVQPL4FVAJTSJWWQ3MB2JNB7Z24K8I div -36#11IST2FCNBBT90MUS982R8IGYIJXB0TJC1OR5PCZ514M7YEXWW13CJPJGZAFRXMDZXPDNBXPSFMCWSSACF7LSRLE7VULED8UNRSMBC67SYR8G417K3RLIJ7XAWMS6H4LX57NM27UFXN13RPOD2PX4K2M1KKS3. +-36#1U9337MM347SE9W8LROJDWQ3CTGXWKOK2BY38DY7X9RAFGQW2B = 36#XGS110H1F0QBV5IWEJ19JEF9BYXMFTQTCHUS9AA484XW53VR0BIAJQIARK7TKF2AY50IWJ6F1LWO4FUTT7IUSL9BVLRWJT9BRCKQZ4RNYC0OG02W1OFMN2YF3Q8VNPMCV2PSYVEX2V6O4DMLWI1754LDL2GIN2I3735LESYD div -36#I6NCJX5LY990KMOYCZG7Z0KPCZD4EE1S2GGRXD2VWEDCGKDAQ3QC9WM3VX2E2UGVVJ04BMAWALU82C3EVMSKHG32EOL0FDUVG2PY13CT4LU0NT6GZXKRERB. +-36#2CL3NVG6UJYODNG1GZHC70JCQJCWYZ66MGGQDCY2YLWOFFQOWEGGNR1JQSS9M20NNU2LFCSGLA7HMTCA3RI7QYE0YZVW03GVV25TQRRF964NRTQA1KBVDS5ZTKQERGFKF = 36#VF3B1UZQ4F2BW1K3B0NRT3MKJIO40E7ROMEO3IWAWG68DC853ZHXX841BUZ030652RDABPTMVF31V83TBJZVU2T8O31QOJ6PWC15A2AE5MG0QDR4QGK4UGOIK780LCUN9L0UY9SADMUFL5035B9TYIV01F8TKGM4E7U9TMOJA05HKVHSP1PTT0HURQTLP7HXVCI4129QDD1UM6WO0EBV1VW6UUIUO0T2YDNYWHL3UY7WV3LA901JB4REUTS6IH5V8Q68MH80LVB70U3WOVZWWDTUMT6ZIY8L7FARE0TUZGTCL86DB3P2JQWO69IJCWLX4SLUPP1FHSKN34K5WCX6GJDLCMWCPID88ULJ8G6MYTELANW5UKXEH3KFJKBD3AY4JTQPJ2Y1URV715K44RHQL6NXT14CJ6K8AOISX0GNS0THBCLT2YT3EYOUD51JVZDLZVW5Q4J28RSMC4XUP1F1MFP09W6763WIO03FA2K702EV48752OA98SAM0V25MB2OFGXTSKYGL53MR3PBFO81TKW77BKH2QQM927OR7WVL0T3MEIOXRBKPVIIV1WF9H1L4BSW4J7OST7PRSY0L3119MXFUT1G7CCCCL3L66G4QZSPW1GWHYUN1Z0TK5LABTCP96ISX1GWASE42RTSHCD3FC7Z8HU9XOJQAZ29DP96K9EOHUUXPKHXMWIW37FW3E53D11PLQVUTDPEWXVHMCNM545MSA3AHN6TAWOR6SO9T64J66O3KT9PBJ69M1DVXK1PKDVA2VI5ZWQPIP5J4UVJTKUU9DE90PLCUQO0EZZ3BWB785382E5SKRJPBBE45NSEMYTGW382GZMMJTZLTFFJ6MB8E3I89CSFJ2NOK210Z647U1NQLHBWEDX1H7XGYT3OF8OEREQVNURBWQSF1ZLTXON2W96EJ726FJLZUMLE1RX0EB1VDVTBYYLL7E9WPL0Q8CRF2MAUYG1LL6XO3LZKH524XLCI2K4HE3RL28LTC4CYY0ERMT3YPDA68QCHG64FJ0ZOM4VZFAQI5DEK37MUT28ZMEHEBDLE8CCEG1S7SRGF45YXCCANHJO3X1QESNGJ81NYDXF div -36#DDE76YL9ZE756OG3ODJ981EVJRWL0SGOSEJWEH0OV8JPYB3OUADR5ESDTP94ERLM1FDSJ17V2LB0EEBVLNIXR69Z6GPYTFC71CCVZYFLSH5I0NKHVMCGQR2D4XVQ8PGKEBFUNVLYZVCS7N3QN4Z0EE14632CK3LWERN270FLKFWLJY3FS8TKEFQCOD7WCNJJXWK9LA26I3EOZ58J2E3JAMY8WB2XOACIARG5JI5CVDX8H652TGNYCNZ1UFAXWYWDWWA51TIE29SY3G03QJ3MA44STYI75MI9VG2JF8QPENHOURQV6QXOTR8WCV0KWT26V7CO8FNT6JFNIGLZ4AA8THFWZPB30OW261MBUSZ5W0SIBAUXMFZELRVICVDTPH5EWJGMJCYXLUVK0UQL8LI0XK1VIQMSC5I97YMH50DTZN08BU7P3XBZ0NNW9UM4YR5ZF5H19KT1S7JVEB0LBXXWEG48BVCAKCA8WX0I1M2SUFOKEUIUBZOJJJ08166M7VO3K9EKTEKBIKJ27Z64RQILWXQRGKX8NU8R4DFEMH0VGAISLRS7RUASHDBYZ71MHJY3IC7GO2Y3L5IESSZ4XX9LEM28SMI44HU0LMT6CQBCS3HI3XJMB61CWCYTEIA6G3A25TJ13CE82KCQBVAS2SQ5FDFNEM6FR7NZHKNTICTEE9L2SX7L8S5LBXNGVAJF7E8ZGNTIH9XFVBF3OVY2LQDDY8Q9DLEXJ0LQVDZWCHN1IQACAB5JNTMQVUZINE1ZNWH8J5UZVPP5GSR2T627O44KW1FFCWDDGLQ5WHV3SZB3E8WG1G1S3JTJAY3OOTPUELS5AA7RR179I5VRGDNI9MZUMUTMGVHB3TI9U574Q07VNRIN79BO7GNZ3WGQKUHEL4LR2FO876OJI9L4VBG7DJT0TGSUHRH564D91RIY3KNODLU9ZKBS3USGYPLWCAOTTVOQIMGBSLP. +36#HK5HAREIUYQ71HFPK4JJX4D5BEU0BX5FV0DE312P115ZWMJDNWEWNHGZV7L3QEOMXTFL992SVL3URU93YPLM8KJGXKXT2MUVBEXUQ96TDR8CU7ICV8EF5E5N45MLHCVOZLNTN5G4JQ4AI0U63RRJ8Q79XC9PNF4SU2Y5XAFAJV61G5M3SFKOGGXNCDZRRFTGLYQVYOTMK8VIY7HR6244TSYM2YZH3TPENK0SZ9VYINYGDLSH56KN5OPNGHJMTW1PMPIHNFZUAWI6VTWTE7YMUWDS0ALD4URUGZO7DBRBV2Z5LQ5P2QUWB125WKEBYEI2O8C23P15MKXD55OQPJIYLZCRAYF6R6EZ29JRL8223DCSSXRQ51NCOGSFPQXJH345346PKR863HO769ZW6RP8NZ580WKFHR2NNJL7GS83ACWWPDC2KLTCGFFNDTJ0ZE3BAHRWPUPEMQ5O9J3WEFNISSRFABL98N6FSC7XLUQ2RPRTJRQWGYOVPXS25W0W299XCP8QNJ3IFU4Z2NCD0PQ8UWB6ZZEJIR6L1PMMVMK6N2DX0DODX7UINSCDRYW1GEESCOAQ5IHSAS2LFVQEQDIE6PR0N3BRVSC7X841XR5MSQPHV6N4Q2VJ4WT8CCTLRPQUR8L7ZNA5A6127ZHNISBCPSIYG09ZX49UTTJ2L7Y5MPN32FIMNDL4U1V1WS8AE2CVCD7NTUKUB4PHY7TJ37OVJGEN6HSPTCD5WT45030KK3AE10SGGXEJE5SRXGZK3V4WDGKPO4I21G8UGPMUC7GCRKNGO5YNKOUS7A6T9RY8STUS3NP491HU60JUBM8DD7PMLZJFGF7PAM8FDICY1ZNTWTDOIETJ3S51CWXB5JWOI92DUXJ7KOWODNLV4VHM3T8KLTK268KH6GCPL1WHYO3ZRXITIODDZZNGFWPZ0PGZSZFXWLPPC9CCB92JWA4M = 36#2KC1BGQG64O698X0IW2TSXV60P1T6BLWXQMGUY430PZKVWWOIZ * 36#6UGURZSW4UFTTOXJJ2E7J1LFOF9C4Z1WQB3WNI8AEQ6Y3KLME5R7BZOPCWT51G2390J9LK2V4NWBSM51VUYO80IXYBLNS3DBYYPW6RGP5GLBLOQFP6LVO19A0WFHKUHNQ1PKWA6YSM97OMVCJX1O94EPJYEQUVQC5G0X7X0ERKPNVD9B2Q8YUMLZSTCNY77M07YTNL1USIYZ1QJ8KLL6E4YQ1YBQV5BB3V5BEGURXEO6OK59T45LIHT8O1QSF2RTXHJUHWWGEYQ2B6XDT4RBPZ1MNKVE5CRQ1H5BRKMYCBJ1FB3XT84FBHBDEWQK4MPNRR9AWK6J399FFYHBQ2SYITQKBMDD2LJ7JGV4X8WKXRV060EQSPIT0MRNQ9GZJNWUHJQN36LCG2GDEPZ9JHFVNIUUO8VZSQGTWFDHTOXHI7BL8GPBJ5PK80B2QGNQ5WC8K5SXX1UIWP5KT6RPA4OJKF5RKUG332WZ0XUD4NLP8L8ZTFLASNWD04UGNYV2GCJFT0VAY1CURTZMM6U883S3HITZ9JQTMLO7OWPOH4KI87OGFU859PUFCDI1HUFUKE50V5ZWDI0LT9BAKN6YYNC3X9USLOL6IYPXQC39JNRER0EED4J1UVQ8FEQ70JSTHJNA5RVR4MZ0W4YXHZ1XE581GTT7YNUEJTF9AMR8CIL4CXTFXKWHLONXXO4AU85AK9BUDRAREPIDU3LKYSH5D7YUE39ZC78MM71HIOHFP23I4ND9KQGMCVCWXWFIMJ6WACMPO57OBMRONSNXQ56PLMZY6VXSJPZ7P9W57BBUXBB2RBPVAMD6NI0UTSHCC3EPKKRCTMZS2ZG1JC01SJV85E4PBP94INIKRJV6QDDYRQMHKPZ1HUFZ1W2DHJB3YXG9P0XJMQR0Y2CY09E. +-36#J24O6AJ74DKVVWW2G96AHR899UTQT3AP6LLP21JO4OKXWY4N4HO9PLH7VBMVFJWXVFYXM6ZIDW74133IRH8UGPBJP9VEMFJHTC3P5Y9SGROH680YEFZKPLOX3P63M1W5T18AESPD4J7BV2TBHB9670TVXDE4MU1NOO2BN644DPP958CWODUW0Y84UPY7PTMNGUQDH77VW = 36#72JREWAWM27RS0YF2UDYQA08SGB17BQDFWQ6UYIKO6HGJTK36TSELHA0UQCTPMDPAZLG3D58X8DQSB87VD6FWPM30X5PQVLPHEI1D27D84OE329SP0I66E9V22XVVI6T79CUBNM0R5DQE52SC1NKSDCI9FU1KFVE259PW87FMHZDQ46DPQDUQN9WKZGI431RBFI2HSED4FW58N6V6CDY1SY0CZERDEZM2IEQOZDJCR10SZTVH19GOPBE8HUNZRC9GMO8VDAEGNMAXUDY2AOPX551JC6P6P5GHB4E2OKL287WNHAGTZMBDCJMOA5P6LM54QY6VDXDDKGMJSYL16KWIUAOQCVZUW3K8PZ2KWQPJELSGILNYOHCV8X2IA9FLWACKWE4VLWWXEXMIUSWO4CQQDLJPKNONDJ5JR8I17JMMGYI6VTVE1IF66HKY49FD2JA6WDFFUO75W6IOIMXN4U0XFURY4O5NQWE740DNZHBV6AC3LILK33BJP2YZHXW5Q8ONIRG6TMQZ7EUA5OL95GJM20EADD73Y8DV0UM5E3VYTE33ZMU2AX7E5QY6UZBEF8W9OTFMCI5W0P0ZTWQX62ZCX3YJ6OKIE2J8JA6YRD19CJ82N9Q4OV6ZUCSHYR9T6ZL61XIL2S0OK6TUA9FMR6KW95QOKT9UJVP3GQ71R66JWPJUTU6ASE82FFJNN78YQOJBEF4WW47QA1OYHQ07PEIZBLMCCHRXYIK7F7QY6P7J4E0W2JZ58CGF9NWG div -36#DCT0RYMFP7P18L2IMMJD1RJV3YJT9FV495GTAD0S8CTEJFDR7M6E3DFH6TY9CLPYM401D9CRDZMEU2VKDG9RK60P9CXCKO8YWDS85UYCEEXO74635EW3APS6OPIOEU7QWBUW7J0MN6KTFOV0MD2BI96ENJ0XOEVBHNGBTWJ8W0Z0AF5XGM634UZXVG1MDHXQEFOSA3LU63NIUKX9VQBHFECNIUHGDX9LE6MI24ZKGA7G3B5RV0VAWLUNWIAW6TY81AJPLMPSCOJSKFY8IYW71VB6X3KH04ZPUUAOPML794W3UY0K8Q7ORXPHQ87Q9IZ4YVQ9PH8D8TZ2RDRYMZ85ZLPAGMX7R9KNYN5JQUAIXBNVWE6WC3N7505HMT27PLRN3GNDCABMLH605WSTPILSS3OIQF3M69LLUT2CJUBG87SYQ16L5ISZ4Y4CHBGTNLYVWPAFS6I5SDGXX5FZIE43MHRLZPR0O1ASR4NG85B41EAV1ED7JZZTLXGPKQQAX0HB2EYKM2TX66N0SYMWRASXW3HEQDMJ7MFHZRHFKAXNEVQKS84W. +-36#KQYPLFCM4HEZRG8NKCFJXYZUZKUKBHGZZ7DUCYO1EBAKD0008 = 36#LG4U83SWBF3151AXKLSOE1UKRA78U3G68VWTUBCB4H8T0AF7NS04FGLKA95ZTBTCPWXF9V68R2UG9P9DIHJLQ1DVU61VJ91J9I0P79S5UCVVCUKGLPEUBH97AYZWJGL3V0SBP8HT6ID6C7PAQ2AD25F8LMGC45P6LXJVGK5JCR4884VXCFWU0PMJ32VIWS52KZB7VKSGR44BBBG34VGAK9WFNMW3A378OZWC14AXIK7YE3QJYTRJLUD6XH9PN7VDSU7PSBB80QZI4Y950MWFPTP9CZYVLEUV0LC7BNRAMV04223ORPT1WYVPPCLBQVD27UZ9CRESQPLSJSHKWIJGDAQPWVVBW7WJ3WEK1WWNDJDQA4A9XVDCDF9NBYP46Y42G4PVJ5KCT3OSZ8K4OO9008SSESMP4SKRYGQW9QXN66036IYIHGQX2RMD1SO1ETCG4893GEP2BTE1J41P9Y428OW8Z7X7MAJRB6GWQYNUJGRLXK8Y6ODM1A1M4IDDGC42FPMSIH5E48YZ254CBB5TWOY5STUIY57UVB7CW61VSLD5JVGU794O6S2TKC0PBE4UOAX3Q36Z0WNQN48UR2G div -36#117O5JGWMKQG1MPZ0UKBR4WZ98H0SQ30L4UMV7EN7Y1QW504CLDXCUCV74ST951WIIS9VYAG87HPKRABKVXON9YHKDU4T0AS8PKBUWZ02521SV0USVV3MM4TFPSOVWZ7JKP8O1INO35C4VR24Q653DCN4IN36YMHW4OTOE1N05YIP568KWHRNL1QACH3XV2YN7ZQGT2HE31ZFF2QOH0HWFLAJ1XJFT69BGFKOKL1Y40N9JPUH8C1YMKJG71WYF2R6KG1VGJWEM26U40Z0THA8KMUPU05TM8Y2U9FXHWVG6PO108I75I8MNCJ5422IHO4V2R03U8Q9YH3FORREJKTUHY8R0VE6UGGWZNQPVPVHTE2GUKWR8DDN4EPWIM9K3FVBQH00Z6L49U7WWJB7H7R5IAFXGCFLFQUXJTX1TLQ6NXC5Z1LYZWE3QRW5Y0WU8XOTTHIOJCF0PK6KZYPNXTWI2H1MH68PN364MQUJIWYJEQMHYT7C11X7I1GTYI1T0T6SUNC52LX3TBTH9WSV5FOFCTMHRQ8K03HCDT. +-36#1DIXTDOQSO9DN20RW99S5ZWNQXAD5LPY6QAXT13WOL8DQ9HHA95AGIFV2X0JQP7Q7ZHXOAZ7ON6IWP1Z3OPXWH3OZPMJZ7FQ89S5OJUWY10OPZ7XYCX9RM2F9VBRA5WVXDKCA4MMTSXUD1CMK4DUWR0YC3TO5O3YRSNMNGQ06C616H066SSRPIBF463QFQ9YGXMOKC1S8SUYGPA7MUY8H6Y1XIWFI7LUQV7N2543N5Y2S9WYDMQ2ALE00VWM580CB7JFVHDTGLQK3JLT7IG6Q3ZF9NPCIG8GIPI9N8KIEQTDJU28TZ7SA69XCIW3Y8MFK9KWLX7VF0B1R9Z5R9GTE4171POX48TCEV5HNBS43NCBMAIVAU57YAVH0ELH5DMM4FQX369TNCDRCI4WL99M9VWMKG6UCK319LTKZ1JPD65J1CD595KCWMCUT63SAYKGQNYZ68DOKWJXNNDBPLIH0FNHYQ3LU2FBYYPR8YDE2YOU00VVA6UTUFSW7V08ZX9IAUA60IJIAD79GHNAZFL01UC23J7Q7D7N2TS98B3Y9JR6FKYMY1MP2XDV06O213K7XUG1U39AD5TVXOBV93DU2D091F24Q09HLIO104KBBOKN8Q64K9YAXAJILCXBW1BF1YUU719QKBGRVZ4RABA1QWGH11L4EUHDT8X8HA9QPARW0PSAN8Z9S70ZD3XCO6XKYMTWK7GFSQFDJ26GXH0Y4O9KQJ7Y6N1NO6FTXC4GCEKSVFA1855QPRWVAW3RNO9ZZLU365WBGJXEIVSHC66PSR8FQD2AT7XSW8DJJ0U78TLI31ANTLLZQYLC3M7OQZBFSR4CNTZ7RVWYEP698409KY8HK2XKMKI6EGO1HXXK88XOXWMHN9T7VIKJMTENENSHAO0 = 36#DU3A1Y1T5OWPA0RTER9XCDNHYEM2Z69CP2S3JIUIH9WHZFXYN8ODNFBZTIOGBD2ZLYNY7X7HR6S5GHQUV5BV487LN9DMYQ0SQ8PN51B23YKJC7C60CADG75IFM824YJ4F2U5JFU0SIS6FBV5D0BXFEGUCGCQC4JFWRBXMD3XUDVVXHX4TFZUDGFOBCYGM8GS86CINCI4ZN2YZXCS2WF8O8MDYSIC0IODA5FT3JOBWM22TZ2YZHSMA3AUN2UCVIUFUQJ9021BC51IBKBUSOH07X92OF6JBEPFOTP6Y73YMIGFC2043EE4PDGI8R3O6ZNZT1GTRVM3UV3GHPJ0DECJNUHIUQZ2LFNEDX2GL6PFUOVBBTMZY8M3DAD9RV55PI885CLRPFB36Q5NMWST2HFFHO3LGSTWLSC3XLEY0BU09C64WO6B1FX3X40GOCWOTMIJ5JRM5KWYPOCRNLVSBFBP6ZEYH0KOAOE8GUHXQ9O48HL4ZR7DKTTBRM0FJD0W3ZJRSFKU2OSSE1HKHTHVCM2RGKZZSHRYVQL8XI01NL8KQ6BNETH16X43BNUEUXRCLV84FBZBG5ZTDKNXGDUYSY3Y916XOKAO8K14R9N8PR3EGY184ITGWX0TY9Z0L497CGKXVDU7MRLD1L172TIMW9E0ACI6358F6CE685TLM9LQGIDHLFJTUMSEMBGSAS8SQVFH3R9NO4ECTY2MLJ73Z6A4NFG13EKGO9YSL62VPOXRKQQ7KMBCJV9GRH4AVML6V8ME15JMTR0B6ULM1P28P42WHSDVERYYKTCMA63DK1LM3CEENK * (-36#3KV38L7HWF49OJD2NXC2IMFUWA65WGZRM7JY4AIP7NR5WGPQ462IHU10R5WCCAD8W77MM31850NJC6YSZO630). +-36#QFN9MZB8WJM98O1P84K84LXOVVCXYJS0YJ9J8FHF6ODBJJ2WX = -36#MUEWW9MGJH5WKPQ8BYBBDLDUTFAHSTOV6E8XC2RLSKWLGRFPMYEAZJSF4KCK51RWZNGXNFF01U1MFHCF7N8QC3FMQO37AQ2EV6YFIDK771GOIQ0SYBG9JPK25NUO8V17ZFWPCZC9B1H78TYYFX6EAFA3Z6HXJF7P6RWJEQ2DXSSHWSZJP5SV8U54WEBB75V25028O9ETX2K2BBNG29I9628H6XTK6OJ318Y9OC5FLQNWW2NQ7OLO7XJUFZ2YHZHXVNL5D1WTPZYB0P162JJC884O29HIPOYBYZFNS16B0BV1ELO0Z8D6B3Z7M6JS5WZOYNG7SZBO97W1RIA2JOMOCYBWFW479BLGGMPRPZLSMTLVD4ZA0QZALNRRXF7N5CRO0NVFQKLV7ZX2G3VSJRRA3OK4CZUGXMG7C8VE9BC7TE9J2SXZ4ZGJ3LGZ8YU3P7136RT00EFQ4GFSGC4B5QMB6RCYMWNUKE9CFGRFIVIHX1ANO9GX5NKOXPMK8SF270I1IGV8BAKNA5JQ01F949HAG13GK6VKNUPY51YL0Y40P5B1G8ASKCBNHWRRYEXMXB4DRTER5NS8FN6ZVDCL69JV41Y9W6003CQJKKUAVPBWR7BNLDR8VNJSF4QQE764HVL1TCV3DH32G307EIMAJF9TB4Z4ULOQL4VMYKNQSOQNRECF3JKKOTZ84PW4SSA9LFNILYSXR58QIAY5VZZIIAHPGCFEHBAYW3Z1UWT09JN1POB0NHKB8EHUVW2MTVKUIA107GF8MK06DQBX1SOA1JDI6GH2XEP6J6UDS0TX99LYR30VSAD0WGMV4VGBACO7PLKPFX1LY8ZWZND8ZUXXFS4XY1FVDF55HGUWBLGBL3K2LFHYI96H6 div 36#V406TORBYLNET08796FCUX450N2XXMUA8UM7QWKUUEQTNQLXMEKQYLQ3PZPY83QKZ6K74J9721QVH83TQ5NPZTD1WMYGEALO3KBROEUHOSZ1DT6RXZWPJLINB9X3T6794BDFD6U63DJIJ7ZO8SBB024O3OGY2T639YR085WFKJPYQH815TEV7UC23ONINBMR3PF218XYG6YLZQP84OEODFMC6W0FIBQ22N48LYDKHINAJD0HPZQDJ8GB6DF014RXFPFEKVP2RM0G6K25VKZT0A5BDI9G6PZC23G815CJ56OBV9QPJ3XMZ052OOSGLKR7F25J6IG9T2BS72HD5AQGBH55B9VBABKSRTI08GHDH7SKEDF36W48GBABT7FWGFUA7UQG50RR7F1Q8ZF1M2FVX6MCT194EL8DHE4BO3MTGTNV4E0TQI6FKPRWW41QI85KFE9OZOITL4MUR6RA10AMTKV17RO9V40I55MJOQF00GA1KPRLITOERTU62TVQ4TYP6YU50EGSYSWSYZ4QJNUW9UWGD5T6VS8EIG05EJS4OL8X0QQFU69H2730LV0BFMZ12L69WYR4L8WWIWZYTJF6WZ3DBT72Y55Z3GR8GNDXE9Z28IJQDDSO08EG0OL4U6RJPJICI8DCHKKP7EP3XBBUXYN0KGDBF9EI6QCVDB3RAMYR8H0K6VAVIPXKJ97E0J3TDTJ42AGAXSJD0SH2UL0KBHTOHBZIC3NWIVXMR9MN684IZ1T6HPGRH7ZOI1QHGQCX7VD37DTCGVQT4P4Q5SJE2DF95R2YQQCKL5TFXH2J06OIIU1WF0M4LGJTJAJK8ZKA. +-36#4Y8C6KMXJRK6UA7F6M1TW6DRSDNDPSUBOP9IA58NKAPEGKAJ2 = -36#CTG8NO6RF2UUTZA59IUGK5O3OJRUOWHO60ER267XXXFZVTRBELNG41U8SR3OQP6TSEL0GL1FMM59QY20JJGBASQJICS2YVJ6IC div 36#2L7EUX3VAJ9LGQ9GJRKNONR9ID5NY1M2UJ0WHXXJOKJ7PKVVO6. +-36#1W3GZIBJFIR2Q7RPRGKBTAQJ3XU41QQXHL75TE4AKURHI7DULGSD5Q0YCMU0CL5YC3COIWB5R0B4W0W7O845VE6Y8XV3C2LL1AISUGI8VFCS2R09K6XXFY5IE3P3RMNQQRN6WZUKSI64DIEVTD2DSDK0J8Y4IXJSAO0T76NWJGDZ6OI9T6ZCOSS0R7HOKVLXHOQH0PCMMF2448DT4BHJ3SHZ8YDVH8KQ5S8OT6PF70P64IQ7XGYWEPU5BKXJ1U83GEWICKDSYUK3O98957Z3VP3CG24M8095KZDQZ2SVPB9TJ4502O0J0O2D5GOQ53HJ9RAB47V3YSMFLGAVUSHEKBDFUK4G514JGCUXD8AILL2N0NCNY065M2X1RP59F9YEOM90L6EOX2NKELKEUOM62BUTYKNGD9G671SQLKTZ760KCETY2N7UZXKCCL6IWZ5QBCO1UJZ8NE2DJ2CDRE015CJGFGICKUP39NY0E8TB06W7ZBHCBW10UE4UYSZWH7QLKUQU385MSOCXRFG6A1SAY74GHP6XVNRRWI5VKWBWARQ9MJSTEKOQ9CXQCTY4RGRWB6ORRST98TEQ2HBLAX78BPIJZGGQCJTKH054106ZYT687YF4SDGF1FFKDYGM7XD7K57LUIK7V6JTB2NI6IXMVZW8VIW4DQ6Z5BP99N5TFZM8X6G4SLR1GUYRPHNP90R45EQLX4RUI6GY0NC5NSNYTSGXK1H2XFBNCAMQSI1ZIEW7IAM2UWHZXO9L5FVRVML092VADDAJN628GTYSMCARFTT6TVOEHFEWEN3BOQDAC1B2G7TM5TKE98ZLM8L7JG25EM816I8MVZT2AMA0XOJYA4EUAQ1AHXH1EEZGN6Z99E2Q1Z7VL0ADPMNG7DFEY9DAA8J1XJ54B1SSHLBREVI732KBAFAILCJSCT62FHXJXMKPFVNU76KAMDJH8Z3 = 36#2XJYAGQP30QU98CERXF89LZCLJCU5IHQI4I9HA3XOCLDAFN9SD * (-36#N83AEYZT363N1X4HOBP4K9MCXHZO9D0HOMNJJYTEZWO7DMFU7O0N1SB9WOB6CO7A174IRBVD1V6FH6FPYQ6G2CKUIMAMAGB5WRIXOBJEW0JEY9H6YSU4A7FI357MAADAZT5YKTF4I6345JLHS2GJS07IVPN9J6BNXAXQVJT9D6WGMBJYCCV016ZW7YRL2FK2Z0QD0JXIKPPXWUHR3N57XAZ1I4LECI9VOQ5ZE5QM6MS1JVT6ZG2ML61NUK40SYXDFJTOVAMDEDUM0SUNIW4BRX6LHCAO3IHUDV46RI9W2CA4SZLSKJNEUFQA930UNDVK02OMAU5R6UWWVC9BJ8NK3ZNETDCG3YZ5EFVQY9CJGSRIJ8OF11LJW5W96Q0IVNEC3HK2JERK7TG23SJZD2WW366MR79VSAIU7HICX88MIHDPYPW1J1LC9EI1CFRJB13OM4ZPFFJJA9SXR5M7J3Q0PS4LR5E4UVY4BNI67I8Q9G40EU2KILUYZWAP70C9V65ZXHP3JM28XRRRMC795M5R07QS53SXUP17285B6XG0KROFR7NJ75W0XIFSSLKJLHQ17AMZ4E7YB76Q6ZKIRAM1ZXZU4OT58MUS0YBYZO807UL79E9F5AIQARMOHNR5S1XYNDS5EQMB9BONA21E7IFCXKTPBFW6FW0XKC01N16FOUHT8SD0J3KIB0R7CIGRSP6JG4RKX5QFLLIVRGFE5XWGIM6RF0FK9PRW36ZASNIR432ZI8XKJJLOHVGYLMP4A200KMVUMWLLRVJB26RNY5DV2GCQE00JW4KN4VKXU2K4Y03AUFJ87YHROL4FIDUULJF7TS1Q6GC34A92HSPN0QOUQS6OEGMYPB67MWEROGLQB69Z3E8BPOR304B9PAY4AONQNS1CVAWA3). +36#8VO1SMLE68N2OPCUOYNOPTVBCBI1FHY385TOMF1YR7MD3H2CI7V7YG95M8HX6SMIVVMKS56TJSW4WRKKTTP8MS2XJ99DY65AFX733IIXNMQSBHTAEJD28JMG9Z03EJZ8G3OUQOV0LLCN47DPUNMAO0GH23DHT7H9GTYHZBEEZ5F7G5Y671CNZ8H18P50DQJ9G50PT9HUSNRQ2VGVX6OKW4OD1J46BANHE50M16MYJRNBTNTNZOM58VPHS612PBUTGD36ICERUJJQJMP0NODVS0EIJ9JKDMO8LIG1E1DJM64EMXEKP1YKNMDY4E77VBM1CSZDJK4F8JMOPN7960E6VKMZL9ZR62IEJO6KHQTHGD86N1UYPBK46LYM0UJN99769LAMC7ZIEGAYX7EXOEN4PRZW4PUEA7HULFMICB0T7PE4ZP3CQ3NY7T90AVKLDABT0F26V7JSJCQABXZMG95WX0SGVKD4GF82ZABAD0EPB68QEL2 = -36#2RL3P9N64XLARQ1T7Y7A218XUIDPIFHB4JVICLSF9JWJFX1ZRB * (-36#37K42CPNM864TWUTTXTKJ3JJJP4NKQAIPPR21PYJOEAA5GNEZATPCY2SX365JZSCHU4RNXZPL25YZDRMJYFI1TH6TLWF3F3WM3YVBD5PD6WS57WTS3M5TDTF5FLG3OLQ20924H5RTON59LK7CLDBOTT2AACP7D983T9AOSGC0YG3IX2Q2VV0M5338SDGZN4RZ2A6NR53XTY1QSHJNH899CIEF5UOPRVIQUXY6T7H6MIOIF8VR5OZ5Y6UNRBY3F8D6O7E67FXA198XJOMZB5FWYH8X4V9CGSYZGM05L2Q265AE2YPF1ZG1XKEN3JITFI95AX2ALOHU8HQTGMQQ0TYFIG7RTHWJLSCVMS2QXD1231BYHRA3OFPYKXHHM2CCDPKWNDIKQVP60CRWEAAG4W5UPL5VER1B28QQAFDVL6CM67A2DSUEIHV9AYPBUCV0A). +-36#2I6F0A2WJ3BM9AU0XE1WDDOQAYO32W7LW9TBXUALCBP6FH3YOO = 36#1ZCJT6S7FF8R4CX0HX6YH59XIXHRXS9XPJVNIWQ50E2JH1EI83KK9ZYZ5NYEA6TG8RO5PVT71MFSWXQ742XS6G8665X8MDWNJJC div -36#SHE0JY7IYUCZ1JTWBSTDEUWTFMXYSREWF6TRCF1MDM4W5IHXB. +-36#68JAY5F2735X8YWOWLYWDCOUD7RZS1MW4Z97T6C5VOJUGDS0LW48Y3YBS13I0CVARFJIFWIE6GBLKBLWHNLFCC0UV3P0IMVLN0G5TZCUYJCVA0TAVUS2M4LVSQK8UZK619ZR6UODFR2I5WEK169XUFVI5O5EUWI5Y8RS1HEMS0BQ4589IG6SY6X5MX9OZGIMBYGT0W67Y4HWQ8270KL2A3UWGTDI4HXTWEX5ZU6FX1GOLU1RQGDKR7ZYME54XW1XAMJ1QRXKNHARZAL3N5X5HYM1A87S6OHH8LWJXXND1Q1IE5YT9T669JQU4KCX4LH4DUDXZECR8FCV47UANRAZSJY1R5P17NXR21NVO8QA2PMGNEX1W077R57QCKUR7CI56B3S6WSYEW6WSAD6E2L10VIK1YFKZU1FPX6F5FZUQMSLTY7CD3TGI0H64BVSBH094TCBOGXHLQW4YA2025FS6EBMDD637ERJRMPKVD0D45LXR25VVD0LDTKZC0AN0BQIIJKBQK46Z12GL87BK84EKWAUSJ0672GVOYNK8PF90UF1PLQ2V7ISAJDCYV8J0UAJ136N = 36#9YQISF1XR6WGD2UXCJW9XP5F0OW6N7X154HWBI9X7SVK906W4XWXN39LM5CEAPPNXSZMZQ1PSRHG0S5AJ941DYHR8T2E1TXWVXCIP2ENKK76Y52WB8F4M1Q61F8LO94ZGJONABVPJEQRGLH20YVERWILDSNLD96B3QNIE2P1SXHWCCT0KQBAVCZUS96QI6DVUO7IOKGKKZBHIYCUKSZZERH43IIFCGNBA8ZMUAZQ8CU1K533QYMMNVGCEWMP17HA5U37S4EC5LQ780YO9UIMAC98JYVBN0EWGXVTX3XHZHHBEIBT9DM6YJGIW7I3MCONXRXB7AUBCEPFCNBE96OEQW8BS6ULV8BE558YSE9EHYIIFI50ZHGOID3LHB6CK57DUREKMWI1IAXKQQTA6DMWOJ6SMOV7ZGTUNKQ15TR82WY298JNG1WA70BI602EA7F4MXF428G3PP0LBL31ZI4XT8FYAKXGQ3GAHFIZ5TMCS7NWYACULH9V8TJ50UCDZ1HSW9CNPF8T3IIQG5TK15BQTQHPO4RMTZ20WZPVB7PVENM46RH7ZUFPILWE5GIOI7DGWX48QVWSI5WXBADEONDL4OU12EE9Q5XRQNS05Y5IF49ELX2LDBMKJOY9NSXMS07NOK9626GUHN4MG3DL70J6AA6DRI8FEX4TAE6XNUQ6CS8AUZP789PE8XLF8M2NRIFQGCIPAGD9DKBK8PKS17GSH9GYLLA7YSTKGT0EZREEE2A82NJFN3ZKTN14HFFG8OZPO0IPXKYXN2WVO1K46QCJMZ4HDI8MSJ1U2VLBO43H2URTJKIEEE1OU6U5KAQYR9BUGCY2BN div -36#1LILAIPAM7MUMX0FI7RWVC8GQ75IGPX6DPZTB779AZ5KUQZWUZHGGDP4GTUJZ2UUGKMC4TF72B44PS9CGK0B0W1NCFMUT02ZHD3TY754H58TEGYY978HAGC7IRUCP1KB9PQQ3ZR1E60G9XKB0GSVZ7UTJV9NTHKR3BNOG5ZDHZJBFCJVYSGNQV4U33RVQFO3D2V9QF6MFDFUL57N168AWBBYJ11A6H6WOINOG1I7NZCF1TF4HX3BK9HV7UMJFQME7J1. +-36#1CUFO38ISR5G175SW3UT8W92J6AK6IY9JFRFV8UX5B4ZUJLUUQF4EN7QWFIAW4FRZXH64HD9SWLJE408BPA550N8BGC44MLI718JCIL9ISPVB5YM9KGS2U59YX72CAVROM7QR299XABD05JVSZLQT3E0POYQSNXSQH5HBT5XDTBOYURRF9QGZF5FLNEF51JU9JZXV66HJ9I6XIDXOLXI7NM7J4169Z9CD0IGT16EOCQ26CK9FWMMNZIFLCLNXEPECNLYYYT8P29W6ASXF2LHAVXW2SH50XPE0XKR70L67HCXOAEEHVVPG3PUT2SOWY2N3GTKYFB4MSR3OK27TJ5JHQBSGDPB88MRN9C1LLM6Y0ZE75D0IQD1HX7H84JYMWAC296MVB652QHPMKFV0UI9531KAW7X5LOLXSILKFR73GAK08RIDI9CJSZ9Z38Y8STXCI3QLXOV2WJ1JZBHHHWBBVR17EG5ZGHHF6J14MMBJS2BVFD3761KNO9VDTC3CBX9YDW54DQ08FK1SOY2TSPR3CF97V322X6A3RJDTSJT20Q2FJK1919OGJLK7EPLUNV1OHTCYS3LAQZRJX4XTD4M675QGFH1W7S8KA8DUX7YJ2VSU6FKBHAOUOFERYN4YAK5SAP69XXZ4OT3W3H6ELYRLZ0WD9CADBXMFSQJJ9PCA5VR3MC3MIMXDFSSWWVYCSK174R1JINEBY9VAQBB6BPJZUU1QKBO1Q18NLKWXSBKGM4MDXWRNSP2F = 36#2DB7TWXFLHODV36TKFTIERA9FZ0K1Y6ORFKOQV78IPBQNRGGVLT9WEV2SA7AF7X25Z0O5IJ7OL98NW3FWCR9X0WOXORQYDTBCMM8YE6VMI3DSQBX4TLS5CSHT6X10LNJ8TSQCB2EYCSH2QJOI34HN82VEH0N1JMMZ0DJLSDF1J7A9R7KBC70EFSHCWRB35E5DH9FLMYF5FZFMMXC68GYW7RZTPPBEBZ2VXQQIV5DZL91HA4JL1S95902CYDFQUJA5QPXE1O2NMNGFE89KSJUE382PWSPIUFU3N43EINTTCUT5JMXK704YMVETDVFHJDSJC6I84WFRNB5Z3PA0O1HG2YK4QM6FCQW996IPDQRD * (-36#KM11F8WKSDZLVQ23PAQP5YC5WHKNQBV7WQ46RNI21CQ7WPIZO3ULRZYHLQHWPX8JZIPOU9W0FWW6XPUAD6SZ2ZZVHSNLEX3HUKRHJWP6ULMQRO7566OXTJHC5OYTTEZLFX6Z0QS7IOSBBZMLSRC045KQ4XYDLRNRFE1H90E3NDHC24XG5EGWTH3S66XS10E13GYX3BRJH87HNH6FBEEDEGBNVNC5D9KOK8E1UAZZ946211PPHRTXGA5LBWC1S9F8GZNESUABQGI2L17VAQ9Q5YWE93ZZCKB2RTM0USJT7BRRYDTHMJ3V6ACY5SLB8GCCE8Y2XR3YFNX34OUUKCYR2RO8D03Z2A0Q55BAA2VBN4QJ7L90V6T6M1ISSNSJH2XZPDANWL2NRNOF). +36#BSQLQMUAVA6PDBHNMKZ6H5ESE4OI4QQF7C646D9J95A3PZWJCFZ315T5H9M0CXZX1X3P475BOSQZQLQDIUJVCA4W2C2GLXERM5M18ZXB8CLR8EISHRPR52P8QUCS1SM4BG2XKE167AFQYJQ0RAIW9KLF0H6ED54G3KCPIF4DS2JHA9FPNGPJSQU0O9GDOH00ZG87D21HSYEQ43C3IWP4BR8D2V858HDMGZRS163B1QRDBGJG0P2BTBGSXA02I9RLAFN34NCO = 36#15TKHYR8K6JWVSEE4IO18GL8FH68KNA8JMMW4V21DMMA02PSKX1VWCVDC1TVJG1N996NY5LMVJOZ7DE092OU7AD5WZ772FO6ZN7N5DLN9F5FYQ7E6FK1GRC57B8XQ37JV3W0TFOA62E0EUOHAN1JB569RLZ379JKMRWORMT4UAJK0ZRPETBTHY8LQ5JIMZKETFS85CFQ8MTEI62W3RMDM66U4JKYXUGC6UDI7JI7ENVF8GTYQEY5I7NA6JSF83BIRCWVBM211N89VBXTCJENDD8WJ2PB2JDJTPB3QGLEZQD2PRZEI9ZI73NWU2FAI2PDZ9YQA186L4L33T75VFU160EA489NKU9RHVHG8MV3JWTCW7MWTTSB0VDDU33BZNGOWZZU5L5I8IM30ATBLRFORM3PH72BPOQCQ7XE7ZJEEM4ACCMK60H73SU1SYS6QU773DV3Z7A5V1UYZAJQ534V6L5LUIKLNT156SAV9I23SJVO1N7DUXX8DDMXP0LV50ZX7GTY6JLS9P8WFCJZEW6UNC1A6L9DXXOQVB3204AY2TNDPLFK6PVL5DTULW4FJ05BE3TZDG9SA8Y7MAN78KTXJOR9SOCQH5PR4I5Q8T1THNN08LJL92FBKBYWOAF1Y2QFN3TC80 div 36#3JLX7CMP7VRCZ5QXKXRRC60KRKU3MLVVF0D6WRAJNQYY8H1SGIC9SKPE6ZECDZZYUCC7E7VBQDELLSSODQTI0EO0F4FM9BBBJ7YZV9MJZFUHXCOZ6P9VE2ER7LPRZEC2DNCDB4TEHHJWSSIXQ5GRYP925OAF3ELGVJNB19R71GBBH4CTMV4PU6ORG63U3JHF6YYREEOZG8VLCYKJWKY6MBY1OWHRVB95S5BJH9L7XOPREJYIHN1X9E3VWJZ4SEWKVCP5EQVMVPSJIT4DK7PP97IITHN7HEH03QHB5H1VGJI3NHSRG6CFY1DW4BI8S53EY3KV4FMLH5BFVOUJBUNGUPWHXDPEPS0KWIZHPTGK8ZAPD9O3IM6BKX1RVSHQCC. +36#13OM6CJXP6VZ7X0JEWACN3Q5ERUMUA1DIMRL6JUKBOK6YBZPT49KS594YRIF8V5A5399HS13B7CZJ5ZODHTL8L65OLIKG8MB0Z6OILHWTTIYUWT0OCJJM7NC32VCVT2A38GYE6X1Y6LO1J4F91HT8RH1QJHTGIV0YW8AHC2R3ZSQH3G0DI3KPH8N0NTP1CGL5KAPK2HC6EJNJL0TSJOFQODHCODHSNRM1BAH7JUXSUE5Q1VIOABSMYOKO9MHIV8WEQ7HXZDCY2O640A8GWEOTX1IEIVK91F = 36#5Q2JXFJ6GF83YY1XUTC1NJF33LULMHQMR84NTOWBQSNO395S0ALC549PV461VKJPB548PA0NDKIZA15Z7W06VBDZUTXTWCPHFCNUCMP3NV3MWUQP9TKTQOYZCRIASXE73GGPEZEDBXS1C0RZ7N2U4TA0TA1RUPZAU9CU3RQB1YYOULU0Z0VN72LBF9SZ3TRX5C3DFSTT7UF1ZIYP2IC40OQKP9BZDYT3KD2OPF36XFNRKFFSRK1EXU30PLEE7PIHOMESWZI7PBGXD5OIW2CB4K7TGIFLZ84H9ED0RBMFI6UR5NMSB03YAD0M0BNZ5BDHDTJWZDVS4NIQA1N2C0H1PYMCM475UM7O5PAVPZC0PL3OEDPDZ4PQBRGR5JGPJO63JWDU0LL5VPGM77LXFDM30BB4OT8A7T75SA8B7MJ5V1BWRF4B1XR49M0K8U7OTPFLS6EIEPAVMTRIQTF60EPRVDFQZ5EBQFTGP1KL8F39RS1UI3QHLABP53ESJWLLK6L5K3N2CLMS98S60B6PGIT4NYHLZ8RGBA1WS1RE409ESW95O243Y9GB5KR285GWF13VR029ZVWWZIP2R0S486RNB823Q172RT3WLM18NNI8O1KSAKR11PXARNF4PODBCUEM19GW60PPS83F3IB2DPXRXRDT4S9E15D381O0E3D1WAJ27MHIWZGQ00Y1IWTFDH9OFWG1U5W7TP7BT48XXLV5ZLQCK7P36K4K96LF2EKYDWYBNVH7H1AXJ0WPMSPC4D5FO652M4J6AEJHGUTFV7O1KC1HYUMCB9PJO7ZGU9V3PNYF44TTR4HVE97CIFFTI0VZH9KCN5JBS0BI0DQDIU165L9YDQAY8E176W8MGBOAFGQT37IBMB6L5OBR6HX7S6J24IPT1UIH6B4TK2B52GO6241SLENEHZUH569KKB3EF3TNPG0YTUGZN0DR7XCC4ETHFISA1IOH2Y7V8CJIRI3ZF148P700YBEY2453JH47IY0WTVSI7UMS04C8SX7M96Q4K5FJRSKDR7X74X3BOLBVEXQEWSI5CV6KQWSPMZA7IHQ71CAGZVXSX8WM37C13MBFO4V5OCX1LNDKFPFDPRLEL7WKLOU7DX9Q7UEE4F3D7MZC43GYU9ULAVZ7R7GD0DEYCO9LM8URV2IYETXZMOWPLLA0MEVJZ73Y01IPHYTGOLLP33DKRQL7S0Z5LWA8R0RNFVPGGQ0APG76UMOIFS1KPBIF9 div 36#56XWGPKXKO0RA2TQ9HS4R21R1GVNVL8F8ZCTOF93BXX6MFNCLJ8YXWGW0HM88PH2D0ZPH0GE77GSG7T6I322D85ADIJX6S0QVIES26BXUNPFWCL8S2VDZX5XQMMQ5TOUCYIMYYXS2WISDS1EQ8UNHTR6SRR3PZH7JEK4EYNW4LTF6VG0ZY7C3WPGW55AFSIRXPW3TYGM1OQU1C8A8ZH9NOXSOYCQKH5R18B2DFOMWB596RJ3O4MKLD4LFHB39C8VW42TIGGJ8L0BC09UQWARNOEVM3VCUHBI6YB4GK7XNHIC4I3XXMUEFPJRQNYEURQ71OVO19X6KKIJ38JNU6NM3PTMXTPWWP1NNE7IAKZ8IOAJPSE2G2MIKUQX699VO68DUUUPGNIHLLP7K2SK2M0TTC8ZNVANRNRFNUJYTZCPRW9LRW5TPULCEFVSUK8CB4PCSUDEGKIO2NNI4SFDI6CUZ2Z198N422NEP28R5GCLG47J0S7RZ7K17PA5I8CZRXODD2DG43LYNS2KWYJ19RSK6RU868JEHP516C19GN0UX4U4L684IB45TGVMUFNVVCI82DWJ9EOP3U86PL77H2GQM1XTHJQCQ5IOQN861IXYXJE3GHNQR6L79DSC49QC48FB5EQ4ZMK9TYMX1TXO3RILNTO6XPB9IN9S5GDUS2VJ3JOK4W0IO4VLNQTMPEWUQOR8SX6I0FQCZYQDXTYV3BUQGX4EBBWYF8BIAQMCBNU9CHPD2ZF46ZFFP66UJTTEPRF6NJWWWB5EMBXOIPSCBOI391KLYBQ54PI9NOKLGZGY6LQMU1IMDB53D03BPL383CUE8RAE22GJQLQ89QAZCD6OL23NIO7F3A208KBFFTMV3SNQA64EQDQVQ2E4PY6ZI54AA07GPNVXHUKWABMY3LT80FAD7EWACA4KS1RF4EYEDGYUYJ0AA9Q3XFBLG2F. +-36#YURRNYGHFQ52DXWUD9EUN6ZPFKU07RJBLCIATA3QY9RB95RR942BUQ5O356YEAZQKWEM9SO27O4EDK15R4DJC15ZKLPYY8CEAQUN1UVACG67555V4H7KQU321SCRYSVY8B9TMR6JNL4TYH2YNZ5J2UV58MCJVJ4XFMSDC44SPMYQLR8OIHC5CZSRSTVSK2UUA3SMK6QR1QC5399UBEZBRS3E2TTR6V87VRICLI1TFUBN65LIPTXIN7KN8MX777ZJ5SP1HB4AAMU3FHI8YM9YB860AU8YMZHTC6BNWZ9LXHG3WMXBXRJKSVM07280LGL2GHX4UTQHOJB7CUTPC0EGIOB0IESXNJ6R84MH80KYA0Y47DF1ISP34T8ZJDYEMG796H9221SCQNJIODTWQCGQFZ4F388BDDE2ROV74S22ASW0M166390OMF71K8EAMP4SNQQ6SK72YCKOJH1WUWLHMBWWBNO1VGZEVZKON8J9ASADL613GYYNMV85LH4F0SBCBT2X8UAWRHR7I5OCDU50DE1R24NZRR01IFUA = 36#9TBCZ8OLUPUEWJ9DYWUKFMHF1PYP1FKYN1A7RWCOWDM1SW2SA * (-36#3JUMYU1CC9MFKZJ4MAG3WM538M024TMIAGEH2C1POH9YTZXGEJA9Q7B9MWTHLW40DB0UTCABBJOKM8FBV014Y9U1QFJQ3PHJ38OKSOSWFCC2CMZ18K6QHRR7JVG5PRUG767F9XVNWG8EEV4897BKHNW4SDFWGINVOO8M6WNN9NE7UZVPBIX0SX3VLOU4U9EEIL2QOEGG4B2KTFHYQMWSTP13BEKRXULCUGQFVTLA7O575G6TC4JSQCAXH2Y1XFZC7SDNAT2P8BY2NJM2L28QB4YK8LJ55K1AEX5Y408EV1YVH3IV0HCLJST08U1UG46VPQ21ZAOYSFKB8ESJFOE8HT6DO55UFHKUI04S4BSZ8R9C9O6PLZHDSKKPZIIYQHI3W18Z5KD34M1X2EY3PE9LMDDMTC98ENZPA1YG7AS6ZNGNJFWIHMIMS6HU3EX2MC4QCF2WZPRWDQ3DXE13JT0QABXBX2NAB5S0M726EHZTKZ0PJ58P1ZB1). +36#5F06TIZQ866G1L9HJ9QFW9VVCC6ST9PTA6HG66X8LJHDYVLPZR7R5N29B271MBSEB2XUY005DHH7ATHWRJFN4UQBK38GM1M71ORY0B3VP85P7NOPKKNQD33DN99XA825ZW2CPULD2FRBAUJH7ROGJ316YB5BRUPA6VQ4L6UM3GF4LE4SBK0DKH79G2UILEFGEO74GVBIMMQDYDXLCXNUHWBI4F9XBYWJ59PQARZBJDR7GR74K9FXC45N8FUYKCL5S4IETZ50U7TRP8XEL8TIL163A1ZAG0IJD39XLDJUL0ZH87L23LRBEUQMILJQDXXTF1VKACZNK76U9Q32760VWOXED0AVSD0RV9KS8ZAHM5FEYU2UHBOSQV05OZF3LX98NRRP67ZX9NT9Y3434YPHWFKUQS2TT60YLST3JCWJS7HIX5R94JJ2VDOW1XV7IQ0I067AJQ3Y0U3NOSB5UFZIDDAS = -36#20DOTP8XGCP2NU6331QRWRZAAJ1OSUNSRH8Y1ZIH2FGDVWREINCB6O7V3Q0TQHVFN8P120GR66KPAGF2Z83S8A7L1XZK4R5YTXYXC0H6KB6YG2ONQZQY8O5K4XLVNLGERU0X2RNH2DG2GZ2R5OJ8TY59G9XFVXAOF5UYQBX4PIEZOA1UPLA4CQ8JEJJK24U8S5HGFBH3T7CDHZRWT9N639ICFQFBTFU0VG76VIV2IIBYN6F3BCL2A7TCFP62K7W9MUWS0TS9TDZD6VH1440J30S18F6AVOPJB08SM55VMQF2HOKM29FZI43JW3P6J0YFGFT0FVOISW9YDGXURVEH67N6AFUDQ1W3A88UBZRZCNPWZFEYTMHMBK9LBEAOMOKSVRUB0YAQ4PMBJ9KFLV3NNP04BWQD9V8CI4RVXW2 * (-36#2OZNJ4BTMXDBJ8K4Y98A0JV3OPVD5GPD1SCDBSJZTJ2ZIL8XFE). +36#2QKA08DEUNVZ1J1TEXC99876T1QI3KQORBC4QHWT3GVX7OZYR3ZULIA34T5BDVSFIU63Q61BGMXJN800EW5PO1WUWDSNN07SWMZHRENW5AAHNB8V0QM97FP55O09SPNAX423NY76WEVWXQPJXRDXF60M088U6IOFRYZJ91PUF90LLBU3P5E6B0FE7CJ7V858F9CURFP0NIWXPFZXMNNO19PDC5MBBW1FPTCKHV92F3ENINTKCPVSVWE3RFS6NQZ08UOODYJG1SPKFCQQZBSIXOFGSA8T4K6YV5JOL52QCW122E779ASA65FI7J86XJ2B9FX39NOV8Q8QJFHKEN7Z3ZTA9OJQEHWR22RZBKLQVB9WZ51EE9MAV79BOLVTMGLUBHUF5CMS1IXXWIWO87PXUPIPE4KO1I9VLMNBF6PFP5YWTZ0W1FLFG5HK59FVL8KQ2YBYXCLVUL13363GYRGGWP4UGZ47XDY539WEDRCP43WEOBRFDBDAS95EZSP1PVFJXNQ9CC4WVK97FF906BYKO30V96OFBD9FV1YZUK9BY0SW4GMXJHSE2FW0XU4U606Q32VSVYV4O75OD4EZTZQF0MHEJ1ZO3L1Y9317Q8FV2JH2DHF8F6N2AXTGBH5PB82BC2QQHOWO2BJSNDCZOQQFSVLZ4W30PZ708YV8QPW6W6FAUEKU4 = -36#KPFAPR3B3HPJ3VVYYRH4U9RZ6ETESOA4CTM9LOPDLVL9EZ8F8JFA8VRGU290PJ65FKBAYLLT7EOS9M6SPKCARVEW6ISG4OFVA667G2PRNAU4A3KARZUKZOJD1ZXRPMWHMO84EXYM8EJEPJUAS6E5SBLKFZGWOWDT14PZQYYE0GSRWP0O26X2W1CAKQDTYTSNDCGHAMHYDWLCGC2ADQFX5ZN9X00JPNN1UA0VFPKZ6AQZ5JT7OIMJCC7A2BKNHCLVI5YRJIJS4FJBOPRSIO3UDPB4HTT3ADCTJ5A7FORSFTDFIHCG40BLMU596FL9ZX3D2OX38ZI2D9K781HD98W2JFEFUXVH4BFRRKV5FTHBDXMIJMSIO6R1WQST67LMSNUXMLB968S9JKWTSH17AQBPQE5QVY14JRW6W8DRBDYN325U2POT3ME79ESA4BX1HTZ5SPIS7S715KW6HF9TPI93H6Q8CG425TAK7NG5XHTZM4JAK27VJKOTFKGZSCC1CFDRIE2XD37CESYDR9AOYVRKB75PUSOZ1DQRTA1OSIWRPOD5X0Z8Z08CNHWQ9JCYRC1JD7UCN12QGP23MTAY2TE4711VBJU27EYO540W4CCNDETEK4JKGUVIVCMF2D2Z2YT69O2BQ3QMGSQZ55LCJJCV4BEWVXBX0HDWL9RFL0C7HNCQ7C7OA9TLEUQYAL4IXJVD2AU7PYETSK8MOFRLOH025LG196Q1Y1D4S div -36#7K9J0AENJEBI7CNWY2QFLH7XAYPQWQSH5H6RNTVBY8PSQWB2P. +-36#NCNNS1D2WC6FMBN1N2T1LCYGQK5RYXZRIAEQ6T39ASQI93O0TCOXI89WV61WQVSYA9WK9DX7D0B6KM9QP2QZ4YOVXPZ5QOKGBN9TICK5ZCNEVCG5AS0T8EQ8PGZJUEIN1TSOC4JAKLN232C88ZFQ0Y0BGKBX09AOCKNYX26TND1WY2MCJOT1DTTNGL3S7DGZ6IOKSTNDVDBU0UVDVXHVT5ONYY7ZV7XL30YUT7AXBUYX122VF7VE6R735EF24J4SLG8OFL9AJSFBXZF48OFKHZ63XLBEKBZTAUVZIN4OTNHM9VZDF5D185UX0F904BEI7WIV06YO8RT66K7TBFM542UFOOW93QK434DPLT4TVV3ESFHT7JJL0AIZDX6BC7M7BO0BU43RHPSY13E9H4KKN6PQUW7B8D385BZW190F323EYBKZJ7V6SGP7I4PXMOQ3ACTZW77YFKB26ZJ845OWNCY3CI6KGC662U0Q7T6V6ZB93O6SXGJHYS0ZXASZEUUD3F24J9XBOJ9B70CBYXKLQPXKDELH0JMMS4KNIECR = 36#CHECB5KYU4V5UWS2PURUKXIJ7XP2WF5NXHEKRG9RKS7ZT4X8XJHZRNEQB63YNYVE8488HOKXKOMYPEM3J99QV35TGG4Q2M68EI2RU5OUAMMGXV4V3E93TRL9TV3X0YO8WPV2975NL4F3XYLJGO6W8NNPTWC97L3HB90N8L6M4I88CUJEN60N7WUSBLOELVIFTE6WJOA0GN0Q88ZGG7QS68EYN6III3DGZZ5H978TTTO8FK8GAYZRNZQBUB2BVU2HMYQH9F6HV8I90GTHWP78S3N4BL6IIVKUXTF2WV3TEHWLPLJYTCRN3ADJSSCDN4A77IM5LLD56EW5JRJFFQ5BMWT65PGG2WK2UA0QP5NT21C8VY7WDEAN28854KP6ZLO0S9L4PX2B7RE8ENW6KRNW5NRGWZEVAZURO4Y24X223BRW38NHH20QOHCPG2LCR3OPNUOGSA76R78XEQ2YNP1665XYNDNKIBVL4XDO5QUMQI3JLAMSW9CW5D1 * (-36#1VCC0TZ010MA10H4VWLSUJPX4O6DXJ342HLYN35DA9FA195SLR). +36#7SVITUA2CDYJRS0OA6WB064SUSFKNIQ24J0MJN2UC2KARKI2UOPA3J4NH9ZQFGIT4G4RH0L6KB9XCSLNP96DS90PV0ZNSSSHDJ11XSB2L07LD61B8BZ3LKOW6NUJDY1UNGMOL3RW7J0CZSG435VRQ01FCPUV9FD80TDUPK2SZ9VFBHWM2EBF9LBTHGY5F65OCE73GCBX1B8CVDUYDEKWY9INTSILUO18Z6HUTJ7VQS5OWG2MRPTJHJWBJS2XPOM70P0V4421WHGQNYKVOR0PQ1YKTQVZIWRFJBSHRPQWRMCHAYCN86KLJSXYLMKG494OZ6D2WWOKZHKMNE5J2S8VNB9RBIBO2EJF2T9F43HBWEVKCB2YVWKFL7M6TTXURS7HBPJMMX1ELZBMUU2WYAMV81ZQPHVTTV52ESY4NOJFIL55AKAJEK5K5HLP9WO93YQK9TRYWIRC3BQSBY1KAXVY5E4FTASQ0YVJVSGDU72XAIRM2W3FAP0VX8R4I6NIQ4GHPOYVRZRSXQ6NHVBU6505AF5MVBXRIJXWLTSZYMV9D7FGEIL67AMMOHFECZJH7DJTRKC82A0Y7SROFWX5M2AOGB31EEKM3ITIAQTG6IU159D9GIGYBRQ4MM8RS1VMH8E1C43PVO1V12Z68PV5XTVRNMKSWSJA3BUQV62F3M4WP99DSAPWP5F8E24BFO5PCG890QQRK6XOMED3I8982SVA85Z27PRTFI5GMZWW8TZN4GPA27PZC6EIUH55Y7827010YWZR20SRC3Z02MCX5GM58936072A5RGCZ1NH70WVLYWK3CFY9AGNXH5ZCQXGMHX4YUPNJ79HZ0MQDB2IXUUVSBW68HD4HC4LEI10QT0V5C3R55BB07XSLQ5TP21VWPBZY9QQBZULPYCDFZ8TPJ9VESQTAEKULCNXSXTLQQ61ZHH8NKK6QR0YELLWVW2ZWK0590WYH9XH32J1JN9JLW4XJ23Q11ECB2P0WUW2H3ZOA5NMIZ0MUK9Q3HM990WNIWKZRXQN0R8FS6I80S6DMIIXB0TMNQ9Q1CW1TNLNJ5E61HJKB7L4UP82AHEJ7ECI9NRWUL82L9GQU43JKTJTMP3JIFO = -36#3IR56A8OTJUQ72XMHSAOE8OLDGRMI295S5WR6DAPZG77KOCPBWWNW9YHJ3UQD48ATLA8GNEA77QXIXC8X8PD7VB2FABTNDQAG9FYJPYOZ4Z13XJBNQ0H0D0D4OOIFC3NAS1REE7HB3EN3KF9BV7CSVO33S59REEHDTEJN10Z8PPAF6KEM6A0XAC6JVBSN2KA6LCBLBNR52ESTH377JVNCABCHRCAZ0XG2SYZ5JCBUU8US3M63062ZUII31V4P7PEDTYXU4ZWPGZX46LEY6UWI8F7UJ11H9L26MFTMDGOOUGG0QF74PWZ8T4PSJNXJHT9T5CPZ3WV1T096UKOEU064O3TWNJ9NYL28EWB2CHNE4D45UIGN1KYA9NW8I7QYX5J5TUJOHELLFASD436KSS5PTFKUPSMMUMRXGDVKATTG8S1BSQPYI5IU3JQX2I2G6PCJ2ZYSE45XS8DQMSNBC89BWAG4UH0HHXCVIURGSSNJ6QPGN59CJR7ELQXVKQX8QDS03KX8XQJP8J4YLIYKQ8YYCI2QPNGVHAJ0VGN1AO53HUAHQJEOXMRJFO3BY3OKCSMSUUBHBHYLP2KPQAYMNEW42FM1U6GWGSHAL9ZOLHD1Y67L3SC * (-36#27RTKJ9O643T7J2BSR948ADDCXW804EBC6HJ29QT0WSI2MEBA595087C1TTMKJJT5V15MB8YD3WGX8SZNA7E2FDCAVNOJPG5TNHZ8SIN5LUYA3P10CQZCGUQQ7LN0QSYVGCDBD7XAFX0RIB0746QNACKG0VIFUYEUU2DVQRBLWVB5VM3LAEQQQNPMC7ZRST50JBDCOCTCZWXMP0LLGUR5N0MHPOSVHOSBGB9AUP0SA7Y4MWKUKUL264BN5ZJ47YOZBN5F1SUGZF7321CH9BI0Q4L0H9D0PRBAQCYM2X0Z1RHKPE1NEYELC9WS1R5HGDIUJ4KUTPOI867LPRCY05HA58XJBSSI7Y8QDOSYBX3IQVK2JW7PUTVW66W1652TGOHQ3QJSFNHAXK8N9Y4SR0J44HJ4NDNOD5VKEPQ9EKVWF857LX43AN5GN8NUE8LC8KDBNJO44DW7BXGI8CM7HKIJ6AX693LB7RU13NWD4YN). +36#30CN8A2K6BUCE8PAME73YNPU2LFHQJD5OR1L8DAV0TJLOS8W8R = -36#15SHX7888X6FP04AFJCS23ATYD5L80PADWWK86SU6N2YRQPPSEJLZN0TWDGU9GGSR974MFK2BSOPSRLKV1PS2BCCRUXMJZ1QJBR div -36#DVVG1XTYIETSYVA8Z8VFVHG76BNQZVRO6KY728QF10AR2LIFP. +-36#2709MOH1Y36QLTCF5D2WVLN563VKP0WXBCT6C59FUR86D0ZG7EP7Q198AMYKN3XWU1QSRRM005LDMR3J0M1CW2FTEWMKWWXOE7S9D22JDBT8YYZATG0YH378F82X2K9P6ZT0WQREAB0K0PS2C46UQAS9UBPZRMOWQ9N4GWUFMMIBKSJ2UY1H3IXMFBJ7UYIORAQYJYI4J3WE0OLS19CRUH9J2858MW895R04XAAL1SCAODO6QZ8MUJNUDM86NYWVVVWQBGBLJBD78UAAMJWXJPARY0RSPPB03MTNRJXEZHMHZWGSA0JD9FMUJDYG2DSHYUA7D31S6G5DPQJ7NH3LYA8SOT2J3CKJLV = 36#7FRUGLYUOBAMFWRBZWKNRWBSU6TWIY889NWYMMSUCAY5M09IWKLDU4JTD96377O6EOJCFGOWUPAWYES2HGQ0GSZ25Q7YSX4RFL55TCHAPPEZ38SMN99ZYEF68D7682IKBEMP59JLZ4G389K4U1V2GZL7UGBB5RH480KL6QLDC4456UL14S07YAP343SBB7YQHONXF9LKTMRKEE3TPWX3V8TTQF392DW40FHP7QJCT6MKBFOOCBEIE6YRIWQKTDLHLY4ZYVFEMEXKBFBX1QSACY5Z2CF8WALUZF0KHKRQH7Y4ZVVRV * (-36#AME030AHQGLBNKO97G5P13V4ORSCVPKGNBBO19H29EBB3S4U1). +-36#4J483DNKBRGCLCCFUHCQHX4W91S26HSZ2KYZXF6OTB9AJRDBQFG4D0J9HH8QMH8JLS0ZJXIYK1ADAJ5PIMLW5516SMVSBZ3M6Z0OFEK1QSVVC65MYCHW98GQ32CJ44YQA1OTS3WBZNQUOEO948TGPW6ILWV6LYULNUPJZB6Q7WT2AWM8VERXHP18N3E10A4ILIXC5FG6HIOXDUU8ZHHW427Z2SZRCPWJRC1ZPL9XH3J6Q28BE80BZ5W388OHVF81QGX7HI75MVEX7GHH9HT09WKOQ4CQN8Q6PTAIMLNXDE84OQZB3FTOD66487S64RTXUT9S0Q7W7QFM7XW8FRHCMIV3DW0H04WFRAMV7ZH8MM1IQ9YTSRE18E9XSEFWGS5RQH9PBSHYNN1W5R7L6LPVVXNIUVWNFXQ3ALV0XRJRLO5H6LU1L1HSJMFLI97QKYC6PCMCWEVM4BO0COJCRW7P7QG594C2LG0X8E9KAJZYGJM8KLS2NMKM0S8DSZ6IKAG3HOCTX88UHGLLCAW5A8K0F1H4BKD87GU61YDZWPXQK98CML4TCOV219TQ22F6W6TPRCN234A8U4Q04BNSNPNRX45XDEM8KOU06RM6GG60O9N8AKH4UL44AB066YIGNU66X1A3SBB0SNEFZHJF7V1YR9U6HKVRD1T3FR8RA0F6QBRLMK4QH2FXCYCCQA68HDK244HZR4HW0D381VWXOR04JX44B3PC28CAGR5ZUWVPTKXTC7F9DATAJXF3DC12LLTWQ5B1FZM1MW96ID5FIEQ8V33D = -36#THEYM9VJ2HJ3O1DK6G1PAQJ141SL977PT7XTY1HYB9Y8U4OP1 * 36#5J61TCLAO59J59KUS5UIF5BXF2MNTHVD4F5JE16GSH2N6NTMSGA9L9YTB8DAAWX9XEUL70U7ZMSUO0518OOWBEJ1ZXF6FXNIU1RR1BKSCLCFMKDYJW5L1PEA2975FVCUIYVGD0ZVCMN70FJ7YK21JYBC8T17M1E7PZ1JFWNOXV5T991CKA4VVZHC7S87EGXSBR6HDHXGI4H87HU9EHW9CVFYAWO8L5SQSFULT5R1HCJHA3GF9XZT9ZWAVAI6D9HJVJ3QT6T0MNI8YN10JISJM718RHGLW1F0UVOOZF5G26W18AH58JJJ3INVLL8XJZ3PY6I8EHZYNRJT3C8469MBM0G9APY0WRB2W92TLLO58AU2574WW8IQKU8OE7ZZIOF2M6PCBHJPRRJVHATCC8X1CHB83J4VM4AQN0MRZ5S2P068ZZDNSN3HFHG0SCBTVJWH82KPYZM3CJNNX8KU6HOJSNLIIWQXSAJVYN32CO9V91TIH7DFG6Y1V1V2YT1NPT40CVX6P6LIPPID6B67NP9CB7MPOYOOZWXZO69OXOJLKGFOUIZNPUSK0RVJASAJPQSIH3M18R87HUEDDJR8NCDTPBHLI50QGXV868YPU5J5VG8RN9FNZDDOU6QRI21PTBGAFHG2S3MVA4VNY8K5SGEFJ0N25XJHS1JQRTIR3TTL0KKR85XW26WY4TKXJ9HAPOA9HHLZH2V3362CXG39VS89T3IE5SE94CWOR3KCS2D. +36#109B5LF1OSUYB30VI71Q5VRFLDNZOON2FH30SFX0H3C4AQKGD283SSKUO2JCP7705Z9S1WCRV9XRLSPUE7Z9MCF3G7J9Z4GX6VCLDKJ5N24OHV6D7N43Q8MEIKMK6W6PRWS07EFIM8WUTPF99SWD2GN6RDWM94GNC55VX6SZ3F1YB9W8CMC2DUS00L8DY4WT3WQGBIPPPFTGUO3WZX75K9GL0PP9BW2AABM4TXB1QT1I2ZYKHN15BNCVAK49HPWF50D762FZAOJ34RO1DP0FHIUIO0RFZ5MZCE5L2BPSRAGSKYL2QZN1VT3C9BDPQUYVJDJVJF80W8XAUCRKM2DI8EESM1ZR84I20N7S1TZYVD0IL1TUK3INH4EUSWSG3ZID1Q70PPD85P2W3P8DOP7DWYTLIV4R0Q32I6L2ECO48UCS7IUUZ0LD3K7QAQF622Y9WBVDOZQJ3UHKT5FXVXGFS75ZWMPY1KL1TMDQJS7KQ7KCEOA5QU2XXLWOZM5ZPV4WE6HBJP = -36#22RFHW7NHC31FTJVFEQTEUUWG84XUJZ7WPONF59ZF29L91BQYZE2WYA6ON2TSGJ0NYFCV291PN2JMX54VX6WFERN4XDSAELXPW4B8TJDKAWAVDJJVF5VW8WFHL37MHWWWTB9TQ7H66XDO6VO0LAOEGCV2UPDJRO9VHCGDMDFUZWLZIVIR15WM7ZPFWMX3N21SHW9TCWVJ4SN4TZUQJWFDVESESICVBC5CGGU69FFH2547RB5AQ2VPT2LUOOJPJIF146F2NGK7CK22FBPAN2XLNQHRE36D1VLYHN0WXOVMMKO1L9QNQZM0BRYRTV9HA2Z3QFFPSSKDDOX7DTTQUVKY5HEUFT05CZ * (-36#HGJKLL7T3LEIED55BQP0AJ55JDR5TBX046BX86617WANAJ06ROPB4W6EXL1ITBZGK9KET8FJAD7FKS42D1QK38R3678XHZLR3OMJUCGYPNBKRTHEO1R23TYDJ7GKNVILCLSG3BFHRPR1QDFR49J7XUJGV4P8D1ZG2MS6QFB). +-36#37TSV21DSKYONRHQCVBYX8MH9Y6Y64KE03CLQ6DSBKG904ERLJRIH9VBGTLW46008Q0LRTUBXI9CX4Y0B0WQDOY2VDFF6UJF04SBFRQ7YC441KJQLVRYVCK3VWWPTM3WJPL6HJKS2PSC94SMRHPXEWI0CXYHD5SR0L5OOYTSPXCV2EMUZS01UFL7R6JRQWAUOM1Z7B5YTPEE9ZK9I43OJGX7EKNLE2ES28XZPXRYIZMZSOF62II7XBMN9RGUYI0MFWUJFILXYL3KSX8Z6YXZZMW3E3G3SPMKVS5WKHNRAOMJDYUCPIF3O9ZNLYKX58E59S2E0K9UQA1PJV27RODMPNULFSPIITYLLS46OP9ATRLEDZAAE8YPP2W0WEX2W9NNUNJAXI973I6PNDLUGBOR21VE2CKQA55MVM0DI7SAWMVHNNTX0OQYO633J1LLHWMABBDJIOQLH3R31FV5WBJYJEVCKGUHZBXMS27PFFRFFYJNDJM7JTSTFOHDA254CL2GS3ZLJW98X8BUG7UQXZT1P2H7T0I7WS6FCFFKBDKAGPB15NJ1FR19UKI1VGL575290DHQOJ88TUB355J64RNHI19HY7S647N5KTZOOLNIM6U2XJNWABTITEH6A2LHL09GVY4MGB70SUI7U1X3LC = -36#2FA6ZWI11M4QQI3AK7C00WS752PGS1CYTII1IMW9IYQ23KJLH1TYOMZGRO11LHUXLRAWKVGGBRZ13YU853RZ0JUNBMOT4Z56D89F5QSLIBZQZ9F07LTN248Y84TVAG40ESF7PD8ARO5QUTRJVTJ9H0ZTXCJHHE6XPUJBZHL6RC75STFTRZ8WMA27L93KP03J2RARGM22FBF7SEDXKNMIIYQR8YCGUOB6EGNI0I4JU93H178H5Y8EW4LMAINU4BFNJKBX9KOYQY4295RFJEFJHJTVDBTTA6RABUYC9XW19Y863L928V0HS4YBSSAHN42GWSV4WTQRCCK7B1IUJCHGB7I3CWNRM9TZXUM7V1T079ZKGLOO0RBMM6J19324B5CNYEJCNS5UGNJ2LEGTHOP0N7DT47MA0QBLWSX2EJ32X1VCNW8U9NW7PBJPFVI0R4O6CY13SH2BHG8H3ZP02B347R4WDGUWOS7XXTBN2GS3WBK1ZDTWHGLE8NRLY9M52JU7LF36JYRX30ND2F8UMX3LT2Z1NWQJ7HXV9ZWS58WJG6DML58Q1IUZZZSJEFPUQ48ZO9BTAHM9UP1LHODJL4L9GEUBV22SWXXI6PQZ69D0CUAU12F5DUQW56CT3I64VKPWNTLGLJCIYIINFLRJLSE0QIZN1YUYJIXB5OXRNS9IEVDG7JEXUSXBY2Q1LW6I8L40ASA1P083XMDDVFHE9HCGKOKKDPPW1U474BXQ4Q2O5JBFZGLD1AU8NH43MME3HJ4KNIU72H485Z6NCVA952AK3YU1GPUWRW8G1SKYE0VADNR5H4BH8CU2N1Q3Q5A1AHJVAL0V2L60WMJSZN2ABM7ESFEZ8A2LIBO4C3LJIRXEZYEIBH8WS5SL71H0A2Z93LEJ6QM4LWHWG6L8AUV74GJO4AXB6Q6LKLJAHX5N0TO4MQFV27THWGVDTS39025TEF1OR3M9EHF4GEURQW2JM0GZ22MDLJHE8TQOM92F8ZBETFMAGOHL0VPQTZ1TBY7NGT4MHVL9IOJGDDA0YCBYW0CLZYKHTRYTJ7LH525BF8YUWXA472J3IGNT3YKYZJG99350XJVV9GMIE5LGFIHIREE1TQTZLD6M1MCZI0FNVZ9JT07R5KOPCVZLCRBON4FN2AUGH9TZQ0L45EFQLJVQNY32UI8MD6O div 36#R4M2UU986B8PFSZCA3C2XFM29Z1SF32VU3WU4B0XMKYRX7JE06SOVZVTZ31Z8KLZJ0T0N6B6A1KC0HR4DTCA4OI16I9870O9BJ5GKR8EHD15PDL4SE7WFPE0K6VLKWK1W6IIL0LD9NH9SXYIVOB1D8ME90KBSUV4HSF9TR3ROXJEBR86ON7C60VH6V1YN5BOUB9BRF4ZHW0XFQFZWFBHKF80IIZB9BH09EDYN36LXPDMTUJPHT1TDWM2EW2JS6URP4GSACELGHMNUP3BWAXCYC29M3JT7G3QWVQ9SH9AUCQQSEG563H7T8QBBY68WYCR5X8DY3M309HUTXQTG9LOWRATNOPSZI3QO9KFDWPSS44WICJYCJ3VXUWR5WVB9RQEZW57MY44DEOHJYG3Y0FLWPLZMJR0MFRNYKOFJ3B2UQATMF1WPWFP5OAH1PCJKFP5L8BJKX6NME0XBGZP5QG3RKVZT8RP30QSO5S3E5W4IR2C7AG8LLYGJC40JWZ8RG7H3SEE4BVMK. +36#1MZZ7UR6F6AV6G0224L1HT5O8HYMBIOV5LU2FZ3RUIP0ZNVLRI2LUTW4WO64TU2UUEAJGVQ842VDZFP1LHIXDV0BYONCSSZ4UYXC92QXNPK13YJDU37CRZAMK58ING6RIBBRZIA3GDW1DY5PX44DN8HGEX1FPJTE8GBUYPQ0Q4BXI16PGZHETB6D465LHOUBOO0IDJ8EUJRP0HDIW72RC89M4H03SVGFYZYL25BFO3YD7WTZ83JX1SHJOQD3ND9SQ622DLG5B45M80WKZJJVAPVG4C0A3DQYUO4VMR4BT85W7P4U8GW0NKNAL0F931471BW9WWIWQ2KHZM7N0K8P2A3TTR95XFKIK005SQ = -36#1YEYD7HXP5ON7ZVL54OQZCDF0HT5646UP33CVV7EB1OB6VP9N8HFGIP3TKL6MOM4U0J3POAADXI4ZWBGC5QZJ0FHZTK0OMHMTC1OC2GSZ95ZAP3WGDS69K3C9XOSQ9TE31VK1DW28SEVGMBC464VRNPHTT2O7MEA97R943ZB5BGZICRMSZXC5KZR8OQ54MKV9H54MLIQRABHUE3SZRNUUVP3OKO5GV2J0GLAEI550EWOTJ4IL8K5MCVNC5JN6KRAWFNKNPSI2F2DH5FWJSM6E3B259XAC773HIECXFD2SJ2YQ7JU7H8BHAKI8YNLK7BB6VOXPBG04PQX31WMR171V6SDB47BQ98838VIL3LC6A69SGWYK27WFUHSNJ1QFJ4S3U4KQ5M47ZJV6BG6ZSWADXQXSKE4FGWK2E4MW4YVDOJLOKTFRYKL3EXKLFE0G0LWYGFY0DDO0QOKGJLUN7CMVOKCCQ8H4EUR5C1W465YR6YRIWJ02AFCT4PC0RT89NTR1QN38XI9P39PGZ4SKN3EEBIUACABKVS37MBDA5KDWRICTST1NDDLAQ5GIPRF46Q112GFIQ5YS5LRAXI4470C51A3N65WHFRMX6MV44ENMA8WWKBN42B1IY1IV6K1F0HG2C62ZUWNMVDARS2LO53R7XLC3IXGTKIU2IGDY6UK0UK7NGCZSSC4PAJJJC81W04XGLDF1KAOQAIRJ0NBT4SJRJ6RJPER4894C652PAXXTEYIR6L4IJGQUG8JPKWA634RZ65A26O266O6T385NVXHVZYI2PTRG7BKMZ6YWYMY7FMWEBNOZ9N896BJT9V2EULG2DJ70PIWA8PH3FU0PBACLLQ50Q37WM5V7AHBXE94NHXQ01JPFVPTDG664JIO0RFPXF2SL2ZDDW0WHX3AXQNIFG4FFZ6V0MUG08SP94AW3HA76CJFQBAIOSFZ8ZQ409KTBAUPUGMKWDJI0KO6L2L3QXD734BDBPUYSZVN6QSOR3MOZ8IY6MD9SPWGD1YIM1XYIUGNE8H03SBR5A23UNRWY7EGEA44YGX6Z9RCOKXZ7NKDUVQ3JDZQIAUK55WHHI1LYEC2DTU2TA89J4WQGK4PRPLQF0HITRJSD2EQW div -36#16YRN2BGS65C46MM0OALVZOPOCFM5OPTLGHZOD0N64EOKBUTAB3NYC4FZ8B27IDDH8UT6GJVZPKTVQI2GQNX78TEWORDYJMJCAFVIUUXYGGUWTXRH55BXG0HHORUE5VA9BDOT8WEFL2YM59GOWF8BI0MYVATH15OYG972GIJRPM9IIFEMF05B0J22Z5ACIMF8PVQNYKROE7QNLMAEC5YBFA96XDCCO838CVNQXYQ13Y8PRMOG216YSESEP238N9DRDHOPXNRA05M0886M5EFAJGYMG0RU3K67AWJ5FXB8607W1CEFZOCVMFDEBG9FA3JIYHHLKQMEJYJJ17D056F3EJAVZEU0N71QEM3SGAECB0HTEQW9INP022PFCG1K8VO0680IXF8NWFHWS9OT7BINEH61EMF9HC2TUL0JSBL85ATEQZRBFQXMNAJFYMP6RFLATSE3Z0IMIT881XY3ZU7R1YRDGP6NGTAQQERLDB9LMFZ9FNCY8SXRFZDOUEKULXJDPSHYPZYYZ9JQ4DPZAEKPBEAAKB25EAYP6TRT7J6KAJIOFVVT2T42KUFNBRXPMVMVQYY3B3GQWA643FAIOM91T2Y5J1DNYDMCDIURDXBB41D38C6TZ53BLZ08AO0CGDCD4O0RLC1GHL271GV7ZKIN689P0DVSQUG5G1OL7GWC0BX72QSKCXA0XEERNQ302BPV5KOFGVC8G4JYX0UQABP1KYNXPXQVEYS8QGMR63IO5LHNSMHBR8LG1UBRF4SEIG4. +36#1QJP26SGURU5Z3KKG0UGXT9UBN3AQA1BOX7TO034GLRPJIS601IR98QOWPXFH9YZIBPG3ENPUJCOCMPYQBEYT57MXFNPP7FKJYF3JPU2D9Q9YY3A39QNCCEZBWI1L1O64CGLQOP4GTIQBRXXM51HRDW87SWF786OS9LFNSX2YTGZRDY5P6ZDIJCV155FPLNL365UAAAHWKHY037SXE5EGLKYVRI5WZL40AT2ZU06T0C04JBJLYCDYV48BOW0Q2BXAP3ZV19Q1M6FZUV6D1PCKBWZAQL02962XRXX45DN09WP164TLORBL5P4IXUXS9YAS6HVK8HOJOMQSL3RF65Y3OTPKH43FZF2MYTUFNZNRQAUQ27HNVMNBIZ6CMIBKQ1MH3Q3K1CJT6OT3YZ905D8AYK0W1W9S2I5ML4S = -36#I0RAE291L10JTTBO30W4W2IDIM0PEKM7G07AXMU49UP5EJMIJFF8F11VHBO0CK2V9TNHSLC12B1JGY6E8CCV0Y0Y0X7J4SPH6FM1FXGAWYMO1363Q331CW3JNKH6TDU3VACBBP1PJIKZX5OUU8BWPNAG21YMZT87A0CNSQYX7F4NEZY6EJ1GQT8U1MBUCPC3NV43WQAA48GV7GJYA8KQOS8QUJIHUY3J0H8F13UPRES5G0SL99B4UM8369IAKLMDA0IDXAU1IWMJH2OUECGLJJ226JD09TYTINIF7PRQW84K132OKPJAMD1WU9U4D1B6FQ8D68Q8T87G3KUPBIM1PS0SJMJ6EV0WT14PH4NVZS6NO0689FV0XFV27P69IIZWBHRCRXH2ZLS60PF8DWC6GXFAVA25LQ316LIOWWM0R948WNH2SIL69ABARONFHFEV2TSW1W50OJVFWOTCUTLZBJ2W2SUSIFBP8PN6EU1M7UDM2P85MJ6GH4425G49JOGR9Q2JB1V8P9X9VFDEO80OCB6G4CCN9NKDED93A7NIXKKNVFO6R62LNJT8GK0NC0WGU4TKL63BMQPGYVD7MQNJG20SE5Y804T1T2QKADJNMPG1JUPYMAWNPNQ0BGQNZ3CKPSEQF6SWZKNOZQWAWQDSWL3CJFPVV9MSW4SSL2LH92TB5MKJ62TTPC87DYQG7EVLQ8ONYV758WBCKH8T26DN47VXCVPMOSVM4GTEHT5K9XTS8MVELD2BNC5U0N7JFOK4J3CMKW62W6DH4WIN9INB0VYG70ADMCHK5CEGM9RDR1CFYC52PXTZPTGLE3ERXCQ12SZHSYDD1VPJTVLVCPGI4E6TVILIAUQDIDGP03Q7Q1O3RPH6QQUPLMUS div -36#ADEIGKKVG9WO2JMNFHYWSGSJE23CEF0WJFYONRYG0WPNNVK2HTQPT1EE34A4WBAL2KVS79OGODVGPZIRBAAP31AZF4I1B3SHGIFBDF1AD9835ZT4J79FCDWW8GAQIUQXXU07V9YQCIR9S075Z6E72JBSVSJAUVWZINISJ8UT067FW8BMRPH53UUY5V3CNA2LJIZTPA5ZD3LCI7D159CBMMKMLMJCWMOXKDCE0QMD09M0BP79RVBMIKGRQL9XPQKI234HQ025DVHZY7NPVXAH74YF36V3CRLNPKZ4DF3U5U9B2C8L143X447K568CYRINK9ZE7KU557TG0TYTMA738C4Z0M13I48L79VY665J3QKHAJ9FEE3AICSMUKDFYC8NSJ5YDGW0CUGBM1RYZUUNWXA4MVGK2Y60XBTOUXF2U272UDPUQ7B9Y4LNLODNG2WRBEMN9HWNKG4VFJB2OAECJ. +-36#1LEACVXHYGSX9AARP6HPLYPXATR5XWDE6EOD02QZXCB39HTBWYV2YWX0PMNS4GDNMY0XUKQR4YVG6BK4O59AG31TPPJ467BS4NCNAKF4361PLAPKB80E9P8ZZWFWSC2FD9GDWTM4U2MU3CTX06NQV61Z4ZYCE0T8O3LS5L7E63KJR9UV9VB34OCC7T35OI53EXA7I678Z90ZIW7YB6HC7KD7ECC924RRGSEIG8MKAUTCN4W8LDGDNNX3U0G3O8WXV45E4WDJQXUL4Y2C83VQ89CL6A2EOU3XE2NK16HTMWFS6QJJT61EOJD6SU82KXRJTVA91P9TL5AGB3XONHVRM3UG4OYQ3ZBGQB43OYSULPADELX12B06XYSJRQFQ8DDVBBI2QJTB5HQNC3TN92NVG5DPZWSTKBXBZCTIJDK2WKDKE3VODLXHGSSXDQJ3AWLDI7J26APFYTSVMEYXPVTC0IQ611OH5V808BVWRBQ4Q5M26MMXRBTFQXFDT8G899TLDCDCB62FV9WOYOT10S84REV4 = 36#8Y3HQVAD3V1LEPMRZ5LY1B3J1T2YZ4PKA2LF8CA6ZZDU662RK * (-36#6EXZCP3J4ZK0RU7F2ECHQ5MGQRAW09EB8RIRPQMXNXJ49109VXI9E3TFZRVI41AFSCM5KJTADCN9W7BDBODAUWXS4OC9SLKW9ZRLJ7RCYA4XZYW5V8EBW1K0D39QZPEHSZZWQQYIMUIS1VOFQU9ZED177IHXMAZXUHXKKBTP0C04UGR4NR0C4TDE56VKE03JXAUUPI6X2CO7QFXB3H8Y385O8HRIX8C5OK5BKT1X1CN3MKXI7VV9NREWM6CS0S1JD571KVBSA5X2EDRV7UAPEM92YUVHIGK4FOUPEI7ZOL0MOULBQOQYRKO9PBTEJG1ABA7RESQIB6D23YIDM433AJLJKQYXF02KLDW4WTFF348FIK0YW8ZT4OVKHIODF0NS39WZNXWGCP5LD4OXTS6SN0SEFA0YJDBMMSY686BEGXEBDOJ887NOZKLI31D7BKJY66XYBZ915KNGG5INN6L7XK5FQ2QUML1YJYFHFJK). +-36#43G1CWX82VEZ39XCGLS6H5HNGKIHKCVB66YH731HNHEMDZ1S4AX6IKKAJTI7UYNQRH5XX7O3BNFWF8JE22XXOF1Y6M8NOU8H4R2LUGWO0ITUBMAITC6CFMOYU3HZBW285NLP2OEEFCN5C4FGH39DN7RU9UKXTVQQ2AH33THA0R8RWL0HI7MFKVNDYN72HTYOE9IY1RK7UX1Q6LOK350ZJF9W3OAJVIE6DXGUUWI21FR155EMCJREOGYRHPCY0AVCAOOAB0SYGQ91FTS2GB9OTLLZGGUS1WOTG8Q5UHNCZR7ZB2RRJ8C0ZEOY2PILWSGC4ADMDJVN5BIOQGEQF8IK7W1NQRG28YPJ85EGMOEAIFZ6OTIN9EHEXI6QIMND23AKXA8TX0UH9NHOIL2PKR1ZQNFNUZWB9M6OBGMEHJ2BP00A1AQCM5TJ2W3SGLNE3EOV3AEM3E5Q6LCJABNQH1A55CPD2HJAYGBTCPC2MKLY0RE7H14PCXP982BCZJJ0JBWG1JNJKGHWC30578R6ZVHLS5W7IH0T42M5D9Y0XDXGQ706KLYN1G5WHC02JJM0C9AB91RXT1PHA41DHSQ837XCXAA6P9M0BQJ0AZYIYJB28U8MWI3K = -36#2LM7A8I51H1KOAA4ZARPNYQLYFTJBIZPFIUZ74P2S5M49QE6QAIAMZ2ETF0HTGPH0SMAAR602SZ0JHCWABWD5VIF8OVTJWDIIJY3SBEPVIG95MWB75H1BSGT35U6FGWTQ27TFUUAQY6AZQ9XQC44WCYQ2LJGAC93EQHCD3TEIIO4RTN194SDV73IWFCIFW2STN1IHDOBT6XYU09DUT3KDQRRH4TXTXLX0I3O1UV76SQOC5DFBRL7KRPIPWKU41HPMG3Q2TXZU9RDOYVH6HRX9URIN122UIA8A8R8EEW34R9ONN1YMWO2GAKYEG0YJH94NZRZX9P7QZV7SIG1PQK6WJOAVTHHAHQ8OVGOVSIE9A3TYL0F5V93JRNIFU6KKD7TJ3G6A34ZPFBAIMBZKO5J9CPDS3TB6VOE7GGA9RCJLERM5GGJR776W3YFSTC052JSSPHAD84966295B4FTRFCIKLABRDYHZNQ2OUDON5PNV8M6EKDYFT22HUP2LJ4PHHKDT1DVIFPOSNZRBB9WSWQPY9A5HL5OU8QAR0CGWL0NB0579RCTL8VF2QVPHO7ZJKBKEJ0AW2GFCAODOQ7TSANQE56V7HH547DTBWGVPKMOVZ5S9PX3DDIMRHGUB4K2ACOJIQ95LD0YX09CZQXJJYLUG65F00EM10HS div 36#MUV12OQUC5LOIWH2380EIPXBNDXF0SL8OGCHBUGXLGWYKURKE. +36#65DL20HFY7LCB5Y2WA7BCWEK8PR9BJXWSOZW4VH0VOFCXU1OSE61O6J16W4V5PA4C6L813L8QH552PFDV3Z4JEEYKSZQSNWSMA1D4HQHJ94FURDG37PSQH877AC0L0XWSWAYXDNPAZEKFPHZT0GO6N4LD09ZRKX7QRJ2QH8S1WJOSR3OX4HMVL8P8G6IP6S2VPBJNEA2561XCFB3OUFLG8J3F69SSQRHG7NQCIJQ6ZUBN8SLOUZYWXS7SUTA1PIBLZDLYMS0013KAIJ7UNVZ6QUC8BXHGDQJY306SPNVQ9SABU0EPQVG0DJ86OAXTIIVAZVK0YYC60A655R2UBIEV3KXPES87L88EMYCLXS3MFTM5I6Y78QVS7IGCD6THZNIWP75L3BFV3GJU0V08GUZ8KCQGTO5S5BQJCSYMN0VWNLCMZU65C6ICEWOIW9NNCELGDU9MMVJYKF2ZDBS4EC2YRYI3RMPWOJCT5JQMI7TJCE7WMEJXVZ8QCX7QH6KG5X1TYBLPB8GILREDHZHFKMEZG4TEBQWQLGU701YBFW71RXXUR1SW6X42DB71T0BKIO68KSK8DCCL34DTDSCBHSDIDL1X4JSX2WK8RLSLAL0R4QI9W11970S = -36#2UNR6U1LA1XZAM85ODEHCPH1111TA0KSD7UA3H09PSTJJUWLOT * (-36#25MPQEDP2S22RHDECFWDFC0CYSV6OQITZR58HI0LXCCVY0W1F7VWSVN321TFUO3L8REDTNM68EC5E0YS2QRUH3PFJP4XWFULX9MWDN9J8FGO0QP0YNVUDE3YV6R73A3EEFWGRATRWTC415USRENXUGKN7KRME54E05UONSB1FMMZ5SMKM6L5F1TDQD369NQ3890RUL28MIRZCHSG2GLT6D6KMQ4EWRRHBEL7Y7ZWDBS2H1CKLYSF98NAVPVXJWDNIZJRQFZXHFPRPOB7G5F1RR73ALE2KBSVJY724MEPLM5Y8LT4TMZ7NTHKYK9OWFSG3QXXR59L48CTAKW9IIDYTR8SJMIP7WUHMP5PGMZJNJ9QHSQY6S87LKX7VCYTI8Z65UPBTVGCVDKHD594GBES5DA5OH9VNEE4XULUNGVA4HJC3DLCCG1HPB4J5YYJC0NED2U5673IEX3LM4HVAD34T8JSXN064TR5102D6QTOPT9C8BO5T74PYVQ7OEP41TCKQIQDZD8T1B1ZHNHOUVRVH5BMFP31429DVLUA3337HUZ0X0JSLLQRMI8EY4OHNKNJSVW). +-36#3EYFCRT2OAJK5AIX0Z55PCZ4SQQF6WTXXIDXDD5AZ1YBBW18MJZTIOFC = 36#2QEJCEC2J822SF9YCZIWOY9Z7E39IFTRVEC7VO935YZZ4GU5PD3LBZXS5IBNGWXN4UKLM156A0C1529BSDRSOPFTGZ8ZEO5YU3H91Y0CO div -36#ST7IK9LEIT5IB2CPZ4ZCM9PHAW3TF51BNLOF0TW4VYIMASTIT. +36#3YXNW94YGMM9N9KIC2IVEISLRCH8NY34QZRL30D02TTREGGM7 = -36#3BMW0MMUIK1HBK4K3JUQHWM3TNLCBUZYSAT6ACL0TYZ1YUV5Y968ENJ7NXUN0M92LAUZWSKX1OXD4JAK7XFI5PV6UHCU6U615LA5ECHL6THFLI3NIJCGLJDPTDBEBAIBPA1GU7VXF6C9S0VZNPVXV0MEH05W0N0ZE4RETY3GX4AO5N7ZJMH23FH6M79AD1KJUKE1JC5PY5OPTQKNTCW89MSV7WM7SK0S1OC7QKYVNSNLEPP01DE4PF1GC0UYRBH91WG06UGLEX0ZR6EJJSYLQTC6HQGGESQETTHI266GU14S8DSGSB6Z1PEGRFQ24CT5S3USJYPJ7W6E5XLR90Z8GVD8LCXE40RQNVTF9EGPKNF3GB3X0DK4NUR2YOBNF9EQK8FT1FR7CHTZESMDX1NBRGPMF18DRDMKBYLCP1ZOPIUW9NU div -36#U4QSELUDRHRZXVW5DXCITIJEMOYJM6NV41R3NTXMA5CHLB8M7K341PNHZ5UN3JJ6OWMGHK2NORVH94PAG189P0FH7SN0VUKLAVV5OHSGTNCSHRKCQXSAMZ0EXZX8HYNFCK9JLSXGP4LEF3EJRKLK9NYY3O96J34V55QT3MJTA6W96OEHAJD9X8ZV8XFFDLO1W73K77DWH1GAYRACQDPKUWCDG08LV50NNXFGZQD7GGR1EM1W0XZK29NQ9T0JDKF7YYO8YWDT4G5EK5LWYT1RPFWI8QPOT5GV1NBCDHB5AUGAILXLRRKILGPAT446KGHGHB0Q6JPZ2DK605YDC2G9GJCSL3PYEQ6PQCYYYIWZK4KG6FI42Q9KE6X6RB4E6U. +-36#12JSYFAKT4V18DESUY5W1ZRVMETZL3KJL0G0VZJQ5K6MTDW7JU2KBI660VTQJ7PSNJP4EVFLQBMHQCGTQZ8ARQV957LG714L79Z4GVO9CC6XLVP9H001O75VHRBFLI6MF03SXN3NSFCL2DMMEI241SKTKNQ7LPWLF55YS2BYBWRLSEFTCR40M5GN514UON9Z9BJ8K2N1IGTC5P2GKX2IIA4Q6169NMAV316256I2MPQNEVJDT39SNZSJLCMDLJ2WQGWE3FI9VRU2WCBZ0SN93MIQVTTDDYTYDPEOW6EK8NQ176ZY3RNEQAM1FQ1D0700 = 36#JVTUH4BM24UF41EMS02YROOQYND8JVDE5Y6NERMD1CD7KVI9C4W1KZ3NAMHF81KBXM1J9GELC29GKFPJ67I3HXHTQ3VRR6RETB9EE1TX4CPZ1A71KEVOVT9 * (-36#1XSLPRMTC345X6VAMZWYKB7VWEEIF08GMYS6VK2X6JXLE5W8UOHWV4Z6789Y4CPLE94E8Y4MO2ET16N3WRNS8I9TLUJ34MR170I9I58UG8CM0JMM03H96Y8AAPDSJEU7W47DBMTO21DZTRU4CA6HOK0WW6IVR7Z9W6MK3UMSZBFJSKGUNUEJUALNDJXRDG9G6SPBU94Q8). +36#1GY205MERXAFN30RE502120E35C1R7RUTN0V2VK1PSGYLU8KPT72VGADKH7BRR0OU9B7DK8IMT6GITQY45ME7ZCP5K0D3NZFDF1DO7CL7TZM9HEDJUQ9BYSR79C2XI7D6CYOJ0MQCZL2BX2L7QVN3URPCZJH0XTLCCDT6Q84TY82JVE42DMYPBLQRWJ3077P9TNGYFEX9LYKQG4ZLMXL8LG1UCM918CE3PYG2QC3FHBK43AIVAOOG37A7MDOW28KYUJVYR3J79P23GJTNRMIM8A94TU0RMAFPDMKS0SLLSC4D8LQP5T4HQY67Y2BLWBRHB0S1PZACJ4KBKN92K98IWK3H73Y46OJC16JDK4HH43PTSXB0B4DSWSBP5GTMPON4 = 36#2UA7RBV250LGJ2VWWTRMA9RAQGTV17KZ5YD5XTB44X2NGYZ3FBFIA0BQO5XX9D0U1M3ITLL5YLPMVCMWQ4SUFYCKDPSJCAAB7CIVCCXVX8BFPDJHROM56H92S704WFH4L4HKANSGEQ85GGBJVY94WNLSI5PG9OSLPO41XQC7L3DWPM05035RUY7X4U8 * 36#IMUXIPKCJDGWQX65LL2U36BYR9KNPSETXIABMF5GMGMP0PBWBNQQSU1JQG4IG1WNR7MT4M51BG3S8CCL40FOLPRKL2CTWU1SHU6VL7CQUQ8XUCW2OVSCRWLMKRIZWDYKU43BJ357YRK3WZJ52GNEAMZI3R0JOUWOCIL5OD677HFRA1FC520A54YXFTGW3RI2UIH5HW. +36#OIW4NHXBVEXZJ0XL7Y5DZQUV9MISS06U96TEBZPZA6PATW0F1FFFTQCSDW4927K4JENK8U0BLYRXZJWFO7YNXYJEX1J9ZI18R7FCQW1URFV3JTYE6HS78AQYN03N2QUFPEZ5ZPEPYRJITRYA1Y7VHGZ4VBB0A3Y58YK23LIK0BU0Y0XBCXGC9E0PHP1VGPWDT5X63UMN8VADSZ5XUFP25MSYX2F4UYIWTVW5IW5D69LN8Z9LHDGWPZDIVKU2VNM75COB5YLNU6TMGHRQXPD8Q5W9PMSF250YP0G4GPXT43NEXDV4OIMHSPGCGK0G6HB2E2MQYP79802YKH3E319MXQDDEQ9T46QH7RI0SHBLG6EQFKTCIKQX9QGMOJQB36JR9OL7R34VG6KL0EGRCN4I9XTKC6J91RT50IOIBV5FDDXN1QNLW96LNRNSZ84BSB48K8U3L6SZUXYBC7K6IET8TI8Z2B27KYSXXYX5VBDYX55Q1YH5M0CGWD5M08DB4SL6VAEX895BBKBLK6CEPLBW9PA9M3WLCB41Y7V9R77OXVP = 36#1LR4AHBLVLJPV6K9TNG03F55HO94879U0EVZEKOF9CTWVI8PHYDPHET4VG2D0DKJLURBG1HFO0HNNID4L4S4JDWVI3BZ57CF258ZCAK1WNPXQVUEP7QRW33Q9I34YA47RD1X2OV9334QFEIZFEKSXCLQE95GBDTEGO86X444NXGH0F3Z7SVK5U76GNLUWD55I3LQ45MU7CDPX6S4VNT6D4CXG88S3H95TBPS1D2EW2EQ6NEQHMJ3779AYGO7DVTZR240OH24C4SJNKJM79KEQGB29FQJBOYM17GHO37NB6MLDBXHODQMVLEP24QLJZUJR1ID4FDWB8M4MWW1CAS08BPUMSJMJXY74KG6X403ODBPJL4HOA2EQBLJ15LSQQOXFPCJPR44E17PULJFPSK79PF0XT5KK58A4LZLGQ9YD3SVHO8KY880RUSUC28UKJKXWZKW6S2XXV9V66VL96268LE1Q3VFSDLWJL52ID7UQ08SP3OOB1Y6C4I2WOC92W6CO3UHD9OYX83INA68CBYVH4NI6HESR1E435V1JQ0MY5N0J8O9O3WUI81GOBTKNE72KBC2Y6F4ZHIQ89XW3MRNGO7B8GK2JJFM0T6OOVK18A46RRB7GV0PFTCVHY0P4R657OCRUX9UB6JXLQGJXACOG9L7DX4QQXJHXJ6J div 36#2CRXZJCQXHG3VRFK0L5Y3A6ZP2QDK9T270RJC3HPM8MI5QJ94BKDRPKNOTBFNWGJFSJT3B5QITDFL14N5FVVJ3AO1MQOR5AQULHQHH0Q0LWOO2HU0WSGS7RKV. +-36#8DET0OV1U7T7TCP2TOJR8EGMH4VIU5FDT3WBSBDT7BFWUXDM9NQ8XE0T31UAH5DY9E17HKI6PFEZ4V42WWGM6QBX19S4HBTQZB9BOFNQIA8S8JAP4ZAYQXJIBAJW3VBGDD3B5XVLTTY6ZXLTTQYS6NB0MQDCWMB5KJYD9UUAZ2Y3IONL8I8RPSH5Q3DJCRR4NCMVK89L0FRHQXGL74U840W43W9417Q51UX2M11EUTO0VH9RU0038N59XFRV5FIQWWXJT82WP2M6GSNOL5HTCRYH0FXN1HO3DM0DG9O86SDLVFFASS80HBFG4IQ65FHDWBK1FUSNZQQ1AS3RYJ8TRMA64LU3WSVOHFHBE8VEJS52H65QJKQ1UD7DNG0PKVX2WZS7Y0NQ9Y1C6ISWGKU4GQU7HQUT6W6HU6DW6J7VSKJVRNJZBTZ18AIEUJQOURHOVHC01BP7CS449CFU0M6ZMSTOD6462Z5FEIW49JYQG40WRLZ26S089JUOPPG42SIR1SEUDLYU346LGIHQ73PKOCIHD7Z4M1WGFKRKBNQ43DIR4L6AMIBJK6DSVGZNFWNGA48JG8Z73HQZS0PHS6GRDGTB3AMHE6J2PNJV2XXJDUEF691G8VS9CO4EOMO49H9H0GXGU2HD6EHKGVJC39PX74BYBOFODGKSGCB1PKXMFPPLVL978P930D08PECW5JT2YFIT20FCNL94EEFDVJ0HZQ3F5OCHCXFG3VOSFS3QG9YZZ3J4NB61XD0F2WJR0I235D4P6Y1D8TD18W25LFSXTXJFLAB1K11VBXDGZEGLSXC1MZM0U4063AP1B29RQCENEJENMJ41LXZ3DSBOTONHXM4BUYPHWS3PNKA34MQ3SL4LSI0TCD18X9WA502CA80JCSNI7WRRKGG53K3WSPUWATM03VILAHKXNAVU108H4KEOTT1WR6N2QPTKWMECT9A7RP2EE7XJYH42QPRWIP9TLMIEXVXW977746M93MBGUD8SG8I28QLC9SXKO79XDK7BBHS540KR0H7FKUAZHN75FVCCQJKUTIRSKFQAZSNPUB8JPT5RDOBHVAIKBJJTGY3AV8428CB6U3SQ2UN1V2YBID08CQPAP1FLZCJVUMP0FEN98BK1670OBZ75RY1GTAZH13I4RI1C540GSZG1YP2XGN4Z321E6SIGPA48WNIZY5PWG8M22N5723PXK21NLZQULR7C17BDXFFOB1L1K1YCMI9J7KODRF81BUM8EF0V1VPQJSQ53PM2185T7TL1WEEOUMKN1G1OQX9W0ZN0IIZIGKXLF5EOSSACGHNE58FJSLP2CF8OPFZLTI1DRGRRD4C4J3LWQ22QGZY1D1CJHP29ZN2S6LB = 36#1I849V2Q64C23JYWK7JR3P1N7O0Q41PY92A8FKQC3I6R3YO3OFQPGLOF5XHS21GNM171EEI1KBUON36BOVO0BCGU09NF07JNJ6ADA4AVXVDVB0CRI73XP2SINLU44JVQ2KL5FTRDUUPU31MF8NDFHLUN7OFYZPSCATZUNEWT8MBRMNKQPMHAGKODQ04A1KP4VGRASTPAWXLVNK7VIRAPJ4M39R0XIS09LYZ50BZS16B8IO9JY3ENKMWCFP69JUPWIO83081FVMUEIL9VBIY5PIY6CYSGJYFLO9I3TAXSAAHF9UR3DZ82GYJFIG37O3JEVWBFPAKRSTCGLEC27KB7A9RLAEZY0NEQX7D5LB2JMYQ2T6MCBURXW8MJDLYFLALX7CK4YNUQYRVXPIPXBDORYL42BHC4D1OY7HGOU524E7Z0PECDAN5UNS8YJFZUTYWHEUKYMU0C5PGRH5DT9WKM4PLYNZDYBMF8R6ZJIBDS9GFQKQ6IBGF4WO1GAXSGRJCBSITF8H9LX0FM9H715KC5PPOI4CQVSADQF2VFWN9FFUMW3Y8YACD6GQM79CAMQDMI04B4E0K4FCJKOL5U99DGV3XJXL92GY97K9Q1BFPUUHBDCHQ311H6717MURJ8YIQDQYT5WL3NTC3WUI9YA8JAQ8DEPFEV206DVI0PYIRTKGXR3USKCAD6FSWB9AJGD9LH34QU0QDSB6X2247RR2T9NDXBUK39ME1NB13YMVP0ONEXDCC1KY3KVYJLL8P3C2Q0NFDDNAAM34RI4XXKLI9KW0XE9X2EE3RQZW7N5KX2OJRH95UCAD92OSHKWP0BUG22BZPUAU4YT15KVVF004ZEWZC61Y7M6RJNZ0B3WTNE43CCKG4A4UPJ3GWINI49NCWE1M51M8UZVKQDTM1XD2AHMMIEZ2ULNIB13Q7VZWP1NHNHWCOKGUQQMMM6R0IEGQPULLF47X8UN2CZEMTO2Z6IZ470M39HXDLM9WBSABDY70PN3KIOXWPL9ZPGDUES8L4HLVZCX49IJNF9FQCG0N6FCCK4PEPWGUDN7QCAUNKKM7D24SM8FX833ITU6HVXEUWGWS6V7ZUOBUMLTWBZPT7L49D7AVM8B3BZSGLYZACWJJ3H7RKXALQTKUEUIDK6GGF01VOBPGREFRX8T7PYE76IO82RZA1GXOHKE0X7SLWJW70G88Y7CIZKVEIDFG0ZSV9F42I06HQOHPCRZAULXM0LQMI6G0V6D7T1Z79T6W82Y9NJ4CF3P423TU72IWBJC1Y3EQ7T7SYZLGQXTANH7HDSN7QI2XDMQ52VG96P0QX4FOZM05OX4Z3HIXMQ1NW3FYPJ886347AJXY17OB3JX3JUDY77MHPD86LJD7LEZQLLKE1RC26HP5RF041DMLSMVYSAC2A1RPC2LESSVYVQYSKXDL766T7XOCAB5EHIFOS6O4Z0LLGHXPZUNEY75AGAZ6QOAG3SHAB4ZTGAAZ6Q7FDR60ABXOHV7B7P8GRU4AH65ZR1DTUIXFYODZFCQMLJI7JAZ5FUFHKRAU4GWWQ8ZJG37RFYB2A5Q2REWFIB00SGLQP6GRO7ZWGIACLJLZWO304QNHW2PU8EUVM0N5FJG5XJXVON8M441JDB8PICUMI34LIMA1HKBTF7LBTBC47CO3VC0P7QCWYOEVZ058MZK4G8UXM60RIYSBY9TQGX10R0FOMYWR4W2HJNP3B595062E6JXDFROECJ1YIQZG4NEHWPOOIYZ8Z8784F87AKQ6ZH6W9F9TQ5I3YCCWWTMO3L6Y0VCPJ7KR3Q7ZD8FUTHY1ODPOY9NH div -36#6H5O07BVFJ7PWX1B9JI07U5S3XRNXMPUX0EFPOTA4Y1A3U7NFGWY3190L1O2H4WMPHZ2C0F86WWK5LZGQ6C3FIAON3LH0C9XDNDHWPJXCMNSIXH9K8RGATK7XX3P7W7LYLF90IO4CVHN62DYQB6QT51FTYFKYSE2IN5UC37AM0Z0IP0D3EQSCC5OMBAI0GQ1B8WALT4I1O9GA3VVQVWVM4DGUEMP3FHIXFL5OEI80P2KQ79AIUH2KO1K4GK1XEZY3WR9SIWFGZ78536HR84WHSA8LGNY4LLL0JK00BP056SVJ34T7U8C8YZY8GLODOAJ1456134F9Y45QMLRNEQ8MZD035A4DA2BSW4BKWC6S33MEA958X7XEQSF53DX5GH8FE0MY5C94UQAQ6066UT7T3SG3I7EZGS7BDO9Q57NHTCJ01ZQIHIRACQGA1TI01V. +-36#NNTM774QD11XG9X0CN2KRM6H8AM6F25LJYM1D704OXCRC8EJ013MPRBEO31DJUU783PVFDHQBGM4YPZBIOXW79K3P99XKJS49UBXULJE6KA3RPJWYTTK2QQ839GJ8N43LRJ4WA440AX = -36#2ILU2A7C0WV58AGBS8IJA0VM7MYNH84UR2D4M8DTXLNWY9ZGUZPPLUPCEDV39HKU5KXSD72IPI7QTHY86E48TSYYM0PYEGKYBCPTU2GH6Y0VXIA6CER4GBGZO3Y1I92MH3251BYT2M1J6VC7OG08L9BGZCFFMO6SLH65MG5A12YLWIP1PPRFDNTZ4TF7MEB8NCKMGTS9WPTQKB3DBKPI5C9IYYT3M7464BJ8FT6EZ2Z2KHEFD3C281YHG4YJCWM2KV4OTKOODBY8ZSEGN2XGYZOSBJYELPKOFARX7V9DPU5FY7BLKOWSI772CJY8D413XYGVKITKIGG0F3SRA8JYHBYY2GBAEZ2OW7RA758U1CMXX0IY1PNM6EJUA18U86KE8Y973G051BE91VHD34AOK8A9CSIV9K354FZZTRMS6PL76H1IF0PB0MPEEKS77HFDXGDY7X81F4E30Y4Z6BVVEHW7VA1RBHZ2PTG0ZWUGYJQDVICSOPCQDKD53RRURKT8EAWR1I6FF0HV55DG8IBMA131M95C5CXXH0V08OOLYA2D64VZXTJYIQAQ6O9V92E6SB7DYRC0CTQI49SBM92Y8CK286VVXDCX44TH4770 div 36#3TUP3X3RIVQKQC9SS07DHF7WMUGU93IZW4Y3R0GV08CXQTE7Z82NELBAR5QEDRYLCNKXN2Y683NCF9EE8368H8D5CMISZ25GXP7HN9AEIUXRL7FKSWK5VTW9667WO72WC6E5RI7UZGM63X1Y7RGU1PNY8LTO9OZE266DPSHPLD0E9903KMULN3E73XDLQLZDFTLJ9Q7UW5B4NQYIJJYRD6F49I9O830CKKQRVYX6RS904VKCF33UBB4NO83EZGCORR4WF5TP6D7FDOEGJTVPDH3DTVHGBPNH2FQKWGAJHXJKP6VY0ABAO73ZAJQHOWND6WSVG25U1FFRDYZHGB86AR58U2BEVG0JZI13SMF1RC0NRTU7CMWMNE1XN9NZHI8ZS7138ODVFS7E5CFUN1PXGXCTF9PYNXJ9I2THPORLRHVFB0RGEIF8JZLTA21P7GET0A0DFBWFU4YGOSGQRXE82T8VB2VPO. +-36#JKNYPG0GSS9GPKGXJ3W9NZWL0BH65I41KZEXXI7KWROAF0N7A99SFCBJ212BOMQY3O53CYYCI8F8RAXTRZ16BQ989BGESG71WSHNVLP3U1ZIPS6T56IMOUD2FISED7UAEZX7FCPY903PI9IHWJP7GU220VR7AYMRSVTL4KNPJZYF6RV8N54P2QJV8U0OUNTJT00R74YKQS0M87UDODC5OB2TLOZ8GDA0L6BHMECM1J3BOBYYW1VX5PRF9RRR33VS4I672YF8I5NONZTGOCN7E3URNEC0UF2XE7VP1ELKSJWS12QGTDNPCPJIW5ATXIEP38HZWUHR6LVSFM84LS0J3OQJBOJDUKRFNX4X3OEWLJOQB7YBHVOMF953EC0KBCZWXY6M0DROR011LZHH3EL9JTZAJH0XLZ79VPBNCH43NJS6ZWYT90VQ9KYALRD4FW7ARGL799C8RFL1GX8I2SCSA3EMTW2LL7FPD4EAOJ3APL1YJH2RDTAVP7C332PCNFQ9DKY4FCDXX7D71WWDLA0Z97FAQV8HDUEPI4BWHEXN1V5DWLUZ5AK5JLXBGQ93QE9SIF4AF2G8YFGX3M9CZ12XUDOYB1I97K5ZMZDK35HL2O4LV7PTS9SWMBCG8LQ7S915HQHWMROSUK2JMT1VFIJUMV5PC7YQ62WTV1Z9DM9TNA59AQO029TCDAO10KVZVOK13OCYEUK3HAF5GJIYMNSRTATJJNIO08SXYSRLX0WU0AZSTY7NXUGLVJ0HT1E2JJY7KICAK6HKTBYTRBL6IZTDJGRC4J72571WBRK20YJUWCWR61TMAZCWC73166EATZQMHV932JXWJV7CVUXQ67ZV7I3MHYK66XX7714F9JEN8W8FHFZPOZUTFBPF8X3SYSQ6IR0J0MU95D5R899LGEF6RVNGY982WQ8RK4PDIE7MJXYRVLQ2CIP2CZEZQ7DYF8YA48700OX4GIOE9SW44EKHT572IVE9U1LIS3T87PGJE634Q6RMNLZ66T2M4W17WPK6SL1BVUZDT92XR85VE38122IHLCP4O58L9FA9XCEGRBKT5H3C6E7XY700S140GP94Z2AY98WPDKI6X08XI7RASWDMJQQ8LGQ3DQW012E5I21P9AJNN6XP8EYA1PHEK43868LU4ZRJ9VZO9DG4QCSZCZOUM05LWJTP5XD9KARNHNX699ZYZ2JZN9BB85XXFWP8FNEDYOLNNSD5R3PEG8QAVBVLTT3D4C6KMTJ29W170A7XBQZ20RW5K3J72ETQA444F3W4NM8LK4VOJIMIHTNF1B67MPWSUSFHX2IYLQR024XFB560ECO2PUG5CNNYUXQXPHG0DXOJLCRD0OK52FK9D18MBM7WT1O4KHHF0UJ46ALIEZCW5MOXERH6Q6ZL6TU586ZSMAKZWC5K4IGTXHF1KSQU6Q17VDUWTNB1QC2JI7QP0WGN92PEJBIIIR42Y1QUER22BFR3I5NE12T3HOUNXS0XXS4P8TWGYTR31K7IC0IIF0KV81WQFJ0H3FO13JA4FBP7ECO1OSWD68A9HFYUA4CUVJPHRDHBN1QFC68E9QMHBFMI82LSGUM38QFH8CSXEFMYXHER12OPDZSY21LXRSVL7DDCHRJHDAGUAFYZ5AJBJBZRO74LOQBL9KB1M5WK30XADUN5UGYXMHN3YXAZL56Y6GY5KD1JGNXA3PRIFW1DD1GHWGFSYHEMBLG = 36#RBDNPGWTJZ50C5K0E2IZ3SKIMXF2ZCIANAY0G38WIGSF1YD91TEHBF8S9FW934ZWV36PVTRLB9G2PRSZARRB7NUAQ1Y12H7ON5J60USVDWK0MS883WTBWZIRW82D8TGN5O86MU4X6XKV69K7FTAEYQ8605RQ6UUHZW1C6DG77WDQMOO8RZT11XI5FEJN6C32QS45HX47E6MCJ5Q0NR2Y7285GCIQ51HLESYU1UJRWAB2MUWPEENU2GZD8Z5I15FRE9N964NCOQ9LN5HW63V468RJRV09MN3ANN7AOCI3G5Z8UTNVB6XI7CQN6SCKVEJ9EI0CNOS5UV2LKST30E78BRDSAY8FSB0W1TUI0HTA7EBY8RKRNMEYPZB8AJ163UL9V6XNGOMUDJTAWHSZVPG4S4D6SCFF2HXDNGV51LUOP88UF9Z6ARPRY3B1O1MS9T9HY8WNL4KA02VU00Z1KQPZV4CEO460H5AV0QBE9W6S321VQX7JEUW7JZTG5K89QUA8FKZ97H8I9O179UHJYII16C6VYI2I0TEFFZAD416F55FV6KCDHG6DQ85W7CWT5WP8U9BN4CHPSBCLF8M569WEJJ65RKBGIHLT2YOE57OEHHO9TF5SZYWWJZCHI3IDZ3H4UE838CCDDV2GAHMHR1Q8KKUKIKCB5J0NGUDJC7M30IYQEZOCVJXIX247N4V398SC5FKERHWCPW9YQEDEI5FDIVVVSIAWVDS5JMUX242LNC8JD7VSQIGSFOYXOPFKPBE * (-36#PSOJT9LBPCE3AZJGD3JRGVJEIUTGJCD4I2SRCKCFTFWQNVB7P0TH0BHIMWDK0AFEQLSNQV9TN0WGWOJHRXJUJPRNJJFY8U1WE5JR8DINP0M72VS7N1ZLHR58IRL70SAQ7Q5T7R1ED1ELWL7OJTTHDNGPPMLW4AS53I6JQ1CR4YI8GHIAPMTHC2CI2EWMWI4EYLM6WJZR93PYUQZLHL53Z3ENB79UMECVCWUJKFIJ2NKGFVX5IJ06QI8HP659XZUJ3981HION3FALHHF2C9JLOPSJMIC53XCPXCMZWFRI41HJ27GHCDDZZUS8COR6LGSYUGLG7QE9VQQMJNI7BN8LJJSJVYJ5KJHTL33XSV0Z4F3FZLXG2RJ16ST9G12KTTLDKYBNL5588N4MPLG790SSVIXUOCV4E8JDHTQB2IPH4YTQB3M2NPMV5LBBLA8XQIV3624ZGVVB5ZJG3TLP8P0GZVWHTZ8ZG7K2WNE0QYHCM33EYSJQGEM7W2KU5X0SBXN00SIWAMS9MUMWLFCLURPYBKVCAFTMCBVCBTX47I2AVAO2Q4FPB8X4AMAGRUWLMQHSWZ0XE0I5Q3GMN142FHMFOCSSEXZ5NZONFL1I23HF87KDUAD4V6Q4WQIMTYVG09DPYGRI2FWWOUH23KY72V1UQTJDXLQG7L3KLUUP7J5CPZUU38CBW02F3HPYX0S6POTU9W4NP8MXT058QGSPXMXGN32EHJ1BY753KZDJR91RP62POR5F7AEGN7UZSWRFMGT78LDKTOT283JYAOP05W3DVYVPQ149ICX3O5E0546191OVEXJEGTYCK2GZU7RKIMXI2LTOZXT3OWFZU0FZZQ57KRN98J0NTGH1AJRPEML09QTRPGR9JPV8KNZ4YUIB0ZFU3AZR4B395TMCUZLCUTQAJE4EIBMBZQFXDEEX4BOZW49LCAPUG2IH7WUZDFLE). +-36#5K99J6D7YOAKTASBNM7AL2I28YY4940SAVD7BZBXEZ10FPVAT2CR1VZCPYVG537L6JGJJBA6I6SAO8ZTQDZARUI71UF3MRY0O14NIAIZIRG41F9O2NTGENSBER7V99PI3E9PJHVYITX28XL3Y852N7YK1J7JCSR0UMH9Q98T1LVTAFYRGMVO0UP2E7MGCO0LK74RVKY4SPCCWKJCK2MUZ1SF1QMV5SO = 36#403PA3AENU4AIU3W8RN5B5IXXJFS1E2I1LOUG2HYKY6XM7CJC7P01HMCU5PS9L748XB46WAFLGAUN7S5EHYXXGYMLS28DIY6KVFZUT4PZV3MBTFY6NMZTRCATTLZECSWAV0W6UHP4K8Z9KZTI3LJDEMMPEJH416LYC6TVQ55ESVVU5UBI1377JDH1UBJ7UW83MDUDY3J02UT8CGQGUU5D55CFWIRM5XN1UJQNABLF4IFDAMJI74M4WZB1CZ11MUGQPZMAHGZN2IQ8OE9IY6FO3OSNXBFUCSL80P1DZSAFY4ZO9E8ROL6S19U0WS59J8DHR7CDUR8NVY20ENTTFYOYXKPOXS27PEQL1J1BGZHAK7AK1QZVC68SJPK5B5J2P0HPSJVO3RP1NE6OJI1XADT9NVDRC div -36#PWL3XPD3R78HYDJWZGLGBA02L38Z269XI3CVSLEOZX1UVWJF0OV5LFXZ3MHVS7MCR91KVV9U5KVGGCCS5ZIJAO653ECGM244SKAKCELBGD3O4ZU6Y8MR3O05G4X5MUHPKQW4FM90Q9CU8JMT969AC6EXYSLEMNL1BBQEYEXBIDFGU9DT24OFWG6KQXB. +-36#Z3CKZAJLBSSQLBRJHXUSFNET8PI3F8M97SGHDE7SBBZLJXN1GPE3OTXJY8QOZ80AYWHO750LNECD8CPXPVHE5P82K257U564G82BAQ09I82KDYJNBFAADJDD3C1RG9UBLYAO3PLVDFFZLXXD03HEUP4RKKTN8BTDXYZK18GWNXLCH5RBFTLPRTJ4NGSXSP7E8NI6HZKK9GIUPSC5U5ZHNOICK0Z6N9THZRWDMSP4XUMMP6BAI5C8WLHX9XP7XIVVUL1WV6IEXPTATSGPJ2IQRLKO7MZLQMK667MCE5LG0QOI17E7QW8U5L6VB7G4S6EP0SBMI99XGLUUQ85B494ZBDX06BOI85VOKE5IZJ8F0EL03M0K0KN332T58DXF8JWE67A1O00NIAE1CXDO5AX0WP6QLEQPBEOCUHNSMYEMWG35N6AUU2DY066MFEOQG02R3NI7BD5TYHBL3HE1R53D6QGJU6212Z3WJOLJJHD = 36#4L776FJ64HWLIBPWZ84DMW0QHP1RMIUKIFAP9TYRIIJ4OUVDPIEWGCZK7QGD4NZN19HBX9E6BWAD7FA6LV71ZQBLRYVRUYAWZVVCVF7EY84EBLD1FJZQDGBY1KIUXWOFZ08CN0EJP7K27G4DNES38VT4M4HHL6ZFXGIAY540U8U21DJEFZCGOO0AS1CNLPMSQIY8IDDW5V4HST44HXD7BW5M08QKVB4WXZAX0HQZHI6F75M5G5YCXWBVFF1V9NS5DIVYMM7V7INKYWB03HGCPN8AVNJRZQQ4X96XP73UC1Z99QSU7I83868WL6J7LG241RBADYOKYZUXE9YNYF0EW8ID4Y9SNU2RIDUHQCRS62JP54N4DTONZ7PITG7AP19LKXDIXDUTHLC0JXG0MDJ9UFBWIGG4J6GS442EE67RKG39MN35JK7V1CVFMJ39PXNADR8CRRP0KSBRE0G1C3A4PB9OAW1X2Z1M4T3NJJQC022SAMTRIRBJHLHA8TE3SHS9CC1R53JIRUKWCCV2ZNZEALHLSLHY9YXQTGHHWWJI514T7UPCCUVSYFVXSJS5TNPLUV3RY1MY6OD95W3XVGYEC5PWF8HG21PESYHIG4KBWWC8BUG0XF2HXJSXBU11B0FXWAK5M4NQ7TJWLYT7N9NDP3OQSPH87QARQR8MIN6ZZGHYK6M55N4CDL08AL0YC9U7EB9525MO9JECR68SAQPA63AF9Q3QGW591D2QY729UGKH11PCYZR0EXONCFLC7VZMRXO2OB8RRX7K1KCJZXH2D05MHGZIDOBFQ0KN0BM4ECQ07ZYTQSIXXNCYPMVY7AXK172DOHNYZ0ZNE6DHD1NM1JODJ2MGI7MT0NMA0RGHQMS8ERORR9RD3QDNR2F div -36#4PGWFRN5X6P7MJXKTHC2UIVJCEI1V03GO555VXAVPF3JOTVSVNWF8IASIN10UEOK1KH3ZKGVSQU67ZZNF5JUWD5Q4SKFSZS1VG0FOM3BS1D13VE1E54S5X093JP0J4TFJAW6V8IPUN58XDBB9DSP3UJNUSU4O49FMUD0O9O8DZSTNQ9GCMLII7C6LRQ4X000XIMFK8QMXRYWM6GZZNANU56SSB534B8K50STUS0FCFBT8NS47OFSEIHYUECZCKTDUCZGVG39A9JK0YLPGEVA67M1NXM68WNZLFUIVZJMCIEVWZCS9UBCEX18U1YJQ1KCEYX1SF0YGFIBUNJZMK6PRRASU7Q8411SB309G97H5I6ZNG0EQ4BR67APUZ2HC31940Z6T91HIXIY5BFCQ6UF. +-36#5SS36Y9B8NM1I8OJHTAT19VEOTA8IYFEK1KKE0GB2TB3M7RK89C471DFZU5DZSWR7NWACJB8BNTB72WC2VEABHAZW0DV35MT6HEE0JAOWJN1F4LFI7A5A7YCL2JOFSP3B179PYEUBEZX6JQD94WYFABAGC8RCYXAPA56KGC8B0IYZFX4H1QWGNE1YAIP5KSRC5XTCASHYT2255QYRXZRK54EEA96QP4RUHH0PSCYNRTT45WM56OBB2Y0TFW7753XV8P8NIEBUMCZRRS0WRA1D48G6XU188EYMUE0QRX89CN043LMF3YZ7UB7QECMERE13VNKGEG6YR7XZ8R9UVX8SLDKYXDQWFEAIUVV35GEO28YCFV0UQVZYSNTST6PATY0UK5YGGG1FUHK8TNSZQPRCWT89BGLGVCCDF6PPXIMTRIHLIT3O9NRMURTD0KPA1S5W1DBK06MUQ07GW4GFD7V9ZQ4MYF8NHGP082H8QAC5RRU06HLAVMCQDBF1XYR5O5V1DHEETA4JUS05TPV5M9NHZSVD422O1O = 36#4NG33WC7PQGS4J4ZNUEHAJ84KQEVRJEWEXQ97PHBOM9W7S09LK0YE8YTQC19XLSHSS3I82QCSUBT2SZCAIUQ2XDAEPOPKZSUPJ9NKTR8RYOJESZF6IRECV5KPL0WRDWF5UE79X7QT3KKPMNTK8LZOPUH0ZI7ECTUSY6SU812F4QIUSC1LUT84F7T691EANAS9PPUQH8O1ZZRUFMPF4PJVT13Q8TVB1TT9D5GE5LIRG275UQCHDURC4IC23E8D8CPQ1LTJTKUG62F3EHSSWESGU0G1YDJIDFS049ZN33DPE19874VQ4WB3MVILIEGCJKGLPPMF8S2WCMAZ9H71WHYOAMOUZFMYXGF3YI26XBSH49G6O2UIGA3IO1OHEAVFDO4HASSBR6PH52OHAZLPRUHN5N82LV8IY98KESDUYRUWLTTTSJAWFPMRC5180YCEBXT1BSKK957HAJ9GPUB0S0BZVRFP40IKTFO33HJWYMR8OW0AUYELK52TQB2C3RR6V88WG7JOU5P4OKZQYR01ZWZGF0PS75UW3NICY5W1D05PVYJEYF1ZU44JF88E0K5ER3WXF4CX083G79MHGO0 div -36#SVF8Z0YHOJDE9RBZE144C93644TGB8S1SUXZZRKP17RAOJ3A0. +36#ZHXCNZ1RQ31DJOGQW4OPWZ250LZJJ5XI8EUISGZS09L8IDDFQ53IAJC274F36HDZH2UWDGL6A3PEDIY1WCF0PIY1G00WJPPJICE16K37SFJ1BSUPXTCNRRHP1GF5H54DYUFQEWBIEAAV9B4FRAHM7XU5E35UVPS6ACH8HSZOI073RJZZO7WJCC571MCPTSXMFFD1MJ874KQCR1R7BDABQI8N0KI9EG7B1EQ4MUC3PAR1VFN61R7GYTGUZTWZOKDRFS9W7AGH51FA9NGQRVZYIIR4VRLLNPDW0RCFRF4456Y878QEU3HXABEV27Z87SEU3D9WK335TCOY8H5KCBJU5H13P1LGLQCTUSCK1RKBV4BJNMP9SS94R8RL7SHW1S8APBUMLJZ6EG9ZSXH4C96IXZLLUWZ9EA20A2P609M3Y3YCSRSO7UH2KC3P38G8C8BYCBBD72CJ56CZDYH2BNWU40CJJRVFGUVD5S4BCRMEZLWIO3MONL6KUWH8Z00PU5L3U3IU61V9ST9QZW1HGSNDN9A4HWA0990B1FNITPB4W2YHO04FQP0CKZCAD660DD73UFY8RMTNEHAW378P4V6AR71T2TP9I7UNEGI = 36#20FV78HPKXICOZ6BT4MZ9BJK3NIXYOCU0ZK2LRMTYQEW6XJDC5S2TP3P0BWVOGR5W5IOSA79II4JC02P1B28SOZX023AXL6NI7T9LXZN8A1KG8M7EFHDW4CQWJCCKZPKE3NLHGITSSNVNNNFC313Z7P3VCXW6UMJT7KQJSQ1YJT4Q6VI3U11XM68DB3BLV9J6VM60V10OR17Y3IESBI6TKUSVRASX13HA6Z6YZIRIEIF2Z5N9CK43CST9R2U4NDZTGNNK7HD44U3HSQDFS0VLAS1C0NFCFLFN77ROYII8RSVP02CDMEADNGBOBD9R8UWQOAQ7IN9LDVG4R2QPTZHJ0DSNZRVKLF40I0YVDAEU1SUAR5KVSAXI7CKPJJ1DRCO5D7UHHWPZZEHD5KKZS0SS3IFSHTTHOK64Q4XIJ2TWMGWOSTVWW4NUX89DTWB7OWLH8G5SON1SC0T8MVKOTT6Q85BA5ZHP5J5CX06XR9801900BAJ9I3TRD6JH30SEVG85VVAVZGKJ507Z9USRBOOC7XR5JNUR5VIA13IIVS4GYMN1YI6KWWGVWZWAL67O7IO8M8RUPN2KSLLOGMFSKTSNXQLYRZC76TJUCMQEHKNRTE8GIGTU6SJL8BT9UHA6VN5Q2XJMS57XAO3M3LR995VZBQ283UNHWVBCQJAMZ3FI0DCYY6J2NPGGCU6MHCSAAR5L8YQZLK3AP0E5T5NY3HZUT4BHNRT1UYB0D8G9659S34EQHYXM0OAZXM287G32DKP89FUA4SJSZC3FSWXOHJDA0QQB6G8X2MXHFL1LHOS9NIPKCZCPE1E1TX13ONREEL8CYLLUULLFRE0IJI9HDINCDWG2O6GF45SAPI1ZE8HFQD15X4G7802P1B3LNIZIR4YD1WXXMKSHC1P990UVNFFT2QS27UNE4FTW6SO8UO9EF8291QCZDY1UH1NWU244O1ZXOLMQT48IRF2XZM9NTIY649MZIDHG6MZG2Q1PF7RHXQ3H3VDK2809WYP8501RQITS1I6BLPG0RNX9RCN8STUK73H1IBNWVH10U3N21Z8DB85OP43BVU5A38IMY3ZDOJWU5JM6C99PX7UWTWVOR1K5VE0B2NW08UKH9QWX9PM6ZCGIM8YGFV3ITTNN93DEDVM6ULAWSYPORIOMFZ1OEQV8RE795HBVFLV4UO7BO2URISL5I59GED8S41X6PN58204GITYHYYZQDYU28564S1BQE4XVFXX3XCFI8UJTZ4B400 div 36#21GQZ9VD71J5PH9E45O0A16WDMNIDKI8L27XL1ZGT94JG5CAZMUA85SZMWBG44XB8J9SNHJU0JQNTQ3ZB7PW6WIEDCVI34XYK7ICZ7RUETVE6QVTEKJLPKH0MHUELJG9CNFNWFQ6UIHM1JXOV0G4EOIYB0W1JABHURPD4WERVT6LOR3OCCEZ4MLF3HXC5LFL08R3R629AFHJICTQ8TNJD5T989FACT8L3BCIV44BCSKHQF9N44DFTMW8KIOAA54HTNPGWRCA4MCN6EQZ6FCRT4NECTO4HAAX6N5DHS1TEKIKP598K9RJOCKNOKBARCVJT5WJM037O3QDPNI99ZS61SS5N0243KY6IP9JPKYVOWFYKKFTFC5U9N1FLL02LSQJOSKLSFEPFK0KJIOVNXD221IG9JEMYNRJAFX7W46QVJ6U7X3MVY0KYQBZCOQ6ZQ5H51NYQ5PP78VIDCLXLJXE0QU24RAVSD9OXGV0CUCM1FLX9E6AYQ3ZYRAWFD76Q9ZTE22U0E32EOMN7JU4QSZ5NXJXI2TX2OEX8NA0W7A88APWZJF2X977YMTBCRQYNLN9EZAHIR9WIQW4274NFPLVUOTMKWLLYTYT3BY7ZY5T96BTNKIFSW6QE6QQDBYU895CDU7RGC5C. +-36#PEF10C3RTX2ITBY6NSEJBJCQMUG1RRZR5Y8DTXO5EMQP7JEK4Y6ZPUKYAJM8JN4XHN95WUM2N90TSRIZXXVCFGFDPCL6Y27C6S = 36#HJO5EJARPGKHI4749A1U7YSSHV4FPXNFJXU27LASZVEN6J3YV * (-36#1G440OQGQ0ONXOYW6S7HVNGMEW4EKYRC8CJ56JC52FMT1C5WVG). +36#LQJT2XULLA5XVKSSZDSDJX0EG2T8RR67AZEDJI4JL9YCXUFZGJE3R9LBUEGPK820LVDIJGWNKBA1VYMWFLZU33KTOJ0X24VPY0DF0UCEWFO9O08NKO1A6Q4WYIYHDDMV2086ALZ0G1EE7YDV0TSU3M5M1V4TKT0BTJD0TP7TLHVPQVEQ3KRWD7UT9QX1L842N6W9UVZCHJV94Q05KU38FQ8RHWBS8LPX7QD8Q55GRCGNNTC0QB838WSYADNKX70N6SOY3VDK7HYI9YUTRB632L1IMG4BCEYZAWGHUZBBJX28JXM8Q68HSXXYPZ6QM2TORLJNCO1KU3KBUO27QOURRKGV1IFMTQYWCJCBC6B8R4JEE9Y7YVJJGTVKBHJTWDAPL87JVKQICM3KKKDB9WIUYW9B7XQB85HYWQF99KN9PEMVEIRA1F4ORPSIC937P3SV2KUUW4B1QD8JPYW4GZ2ONZFKW8KZC4JBNBAFZLF6G1U4LMIR53KZ0Y2W2EGVSXSM1AC8H4S30631SFE3B829O7E07MMFPJHIUXU5L5BEYM2KE70Q3YHEA12ZVMNG056KOTS9PSHTTFC8NNQDQBY88DIEDQ87S7MQKC8H5FYYNOP8Z59X7VQWFXGFJOH6KFFTLUXNTCL1RNNUZA8JELXHHK = -36#D8GDA6T2YMQ5042ZKAKTSN7M76ABU6TBBQQLHJY7657RV5PPIHQWMLI8F1RSJHQ843JZ3L9DMCXRSEHZJ967HO8GN15WHH04GDBWONJ0T20CQ9KP37EEKAJJL95LXGT4DT5FSV2PAQ4S8H3D6YMC5RD47EZMZMQLJ5BW4HNC1V1KU8RATP1GWAA0Q9VEDM4ZXJ8N5QFMZ4TMQ2M8MIFRX9ABWQKP1GQSPVJVUWHBJTOAC0NS1B2UH3PMKP3B8T9IILESQU58K64E1W41IZT7J1QZYNS4YHI64VXOXHL82VLH28PQVR2IL2PJJ3ALZG7Y30SW00PC20B9ZH4GBC5M5J80L3M55WT66STEOPRVN8SHP0SBEAUGBV94DDIQLKWYGBL50NS5DPJJF3SDUD47JWEDK947ZPBC21SCM2Q0OH5OD93GTWZIHIFHML7380RMJ62TI9LHQW62B3GXA9T540GEXRD08E8A8JI4AQKDYW2C3AS36KZG324YYGVGVE1JW60SC53AORN041WAL0GZDVPHRV8MUPRAD49H17GRQDQ2HBFLTHQ3Z7FTEX7C34SGJ4ULI4XSW1WJFAARS1ULKESGZJYJVX50VT72VQ1YHISOKHPIYH1EA30DNE2DO208RTO6ROY8BS17JU8Y00XUT1X10RUTVU7T8D836O7OW176J7MUWP4QKBBOWQ79YP7S7XYBO5R0VOQ43ZZKQBK312WYIEPB97P0YUNQRULBHAIIEWY2CU9PGXHCXX3KM9DP8LR032H7OQREDA57ORES7SWQ1LIL3AVTUN6KJ8GTBIUP37033FJZ3RAR4URKUZR5Y0JBH0FLQXLDYTCFET8UHHSNRZ2G5ZOCJ8WYQ8DIV9K0DTDN4507478G8AH9DYXM8ST76TR7ZDGY4SPK8I6IEJYNVGB6XXPZCCOG4Y76J031LO9IG3SU06K304W4ZX1L8O div -36#LX2G1IKCP6FE4E8FAI97AIDODQ2AJ7WC7HLJQJGWM1S7PDJA6YXX2DC7H6V9VZ521RSV30J0XV48JMRBUSNVI3XW94M2YQIO6KI95IM1PBANWDD3ORJS54YM6FLOHME1CPCRILB1TTCM7Q2D95F4P2AWNXLXPYOM4EB4B77TJLLAR3CU643ETZ2CJQDRR7AT1C15MO5UTNIU1BHWPK9R4FROF900GD4LTBAQEL6AB4ZS2BWWJ5XRZYC7YU4CVBF84X0LDOTY1LP5GR0A4S4TYF5KKD30UE9J5UE1M9ZWH4RL. +-36#22PX7BH18T42TPYG8N47FUKHGOXUBEKO21ICPLQG57FJ7CNBQB = -36#5BOPZFK1NDJWH0IF98WP0JQDTTGGMIX35LDCV8IRRLGX6SLEOX9EUNTRG845XBPLREFESZVB84OP5DOU0OQ6XJSDO5OMZZC2SSD div 36#2KCR7TBHVE7I1SSD81BHMSHK6848SXIVRH2YF822R2FDR39P9B. +-36#53DAGM7F7AB2LOEJGNW81E09Q7B11A3VYN7MY9J7CSZPFMNS12QDY3BXL3FU4GNA48OEOR5DG03KRZD38CM7J0EL1NJPXNT402270ZFD5KF2R5J8ES2UFL9DWGCFQI8UOOPN3Z7TYC2ZK8EKOWNI4FNZPQVZ0HRDJRL1ULHDI165U623ZT06TGAV5H2UA2KT4RR8Z6V9YVG0QUII57X65TFDXI6921EKO3CKHPQ2U622TUVFTUC3351MURH3WC0K701GNP59GRUL4WY98J69FR7FYM0GKHDF5HO43H6Y895RU4EPL0JEPCU8NVVM8L5DMJ6DH6F0KCHP1GK3LTY1GS9NWB85V0JP6MWWCEZRLSQYO7D36DP2RF41W64EZH1R7OTGZQ51L691P4EHG5IWUFUGQACXPC3IUK1W7EBXYDTIWVU3OI9R87ELZM1Q5MC3EOG7U0ECXIKXPRMW = 36#LC3U8CCYNZI963NRXGV1VPAY0R8H3EUA7UA9LI2FL2RJSPNZXOQK58NVQO9SY2B3F0H9XCYWJ3K3BAYQTM8KX8EOB1TKGUD2MUSNT7016P2542M0GPU6H07OLILF92YWZSUGYKQY9Q9ZYKS71QL91HP9YQLFBKD2AE71K8EVJNVBEDLKU9M0X3SPSWAZJGPTCY42USTDCYNKLV747I39L0Z7WGUW308II0QVE1ESZMBJ0ZHFAMOUVQ8QCZJGUWJV23VW8DIGXP4S53HAN3A1O29RT3X90L2N8W3EMZYV7QL2ZVSL49ON0IXGR3Q2BLVZ51HZ6HWLNUQ3E3W7T3XK6SBBH4ED9R786MMX54MFKAP0WCA33IRTHYQCSRKZB7OAOMKL8NJISF6APAK4BCN2LETRHQKQNCFLU8P23F8PTJ85F5OZ40412PCWFTUBJO26YDBFB76DDRQ72NSW717TS5BOUUUQ6LI2AUB415B2ZD6ZO4ZYH85GMJLXTWOESAMROM99ZJWWG68N263WXJUEAWGGE552WIBYEYCPWVC39MKV0RV8GDDGNS2I3NQFPI32XIX7MGEJIF6ULH4JU7OK69SET98Y52YKXXZ6CDPC5GTUMSTQL081MH1YRIUOPXYOK2DM1ZFI1RN6IM6RXTG3O0H1ZB5WIVOVAD8CRTJBPXRQ3TVOWCJL2XWF0ETDZPUXK9J4X4ILAUULIHKNB78F31KTYL6ZX53VC3O2WAV7QMDKQS463R71RI3E363XIS77OVHVJWEHJ5K div -36#46SR5HWPAK2N3863X9S5BJ75PNEE9VNQMGJOO9C2ST0NA6PWOFTL0GC8VHG40RC4YJBL292G9GXDBUMKFXKD0WMJF1JE3DWI86CQ3CPP4W918TP0BEUMWPNRGUKVX1VVUT8FW6J7W5SY3M1YXREB4BDR4K6Q42H757CKKWWIW3H9NDGVC3EI7KMH47WSVPT8BMOI0BE1D7G0CUL4KRTL5JBKWRIHRWEWEHCDAFQOEKV2UXO596JNN69W52ZPDN3DGOYEK1ZQP0VCZYRMHQ15D09MHLJ0OFFNWKKPOAULFTYZ276EKMY85G52M8NV. +-36#2P4YB4QW5DT4L5WMU39DRFBPUNMYSMJKM8A28EN2T3L1IYU97IOB3GX49EKGP6GGFQC45SOZXQJ3IZXV7NTSPZ8OAR45OOW69VK6SKKVSXSVY6KHQ7EGDSVLR7BELCRX6HGH5PYQ8HH9G7NJ4646Q2OJN3MYZFQWVASYX4A6U595L0UPKOWXARZYF61CEIULP3T8JTYKUO22SVGEB = 36#188OBMUUYC7BGKRZ5PFG4S4CVIFI7GVRZKC673A99NIF6DQUDO91A3WXTI7451BTEKIJACP8Z5YQYCHD2CZJRG9SRA06AU9MLMFL2ASL48BH9OFFWLQ833S7QDBX8W9B61B08SAKNYUR3SL10GPX749HTV4WIXZ70OR94HRFK7HQONEF62PCSY9HAY1G2NMA8PPEVO2SVYHWCYQK4WLMWKCD2EX6MBEKGI2UICAOIY85SUKMEPU0K4U1RR71NGM4CYZNN86P5GKPFVRPX2G71BY9UEKD6VEO8MJTP42WUH934TD5J5OAUMLREV8KAGSAZD0WPN0EAB324ZOHJ6VAQAMWA2F02MN50U12L7ME0RSFVGB0C1F0S0XSG1VJXF72URBF3LHCHKOVWIXQC5Z8E7W891T17OWSLAPXWQU9RIXAUIOH7TPR0IYS8EST7YH3KRD7MYJC3N5KU2NKHV9KZSSJPOHR3ZEOXDBZ7X5HZISIMAKOQE7X4ACWWS2VYO1OCNWTZ10A92GIJ4S2IE8VNXN4PT0WN0W1H0CLAZ8DMPVQ6AFSLRYX0U8GCCNUTGF6IJAVGDOWV0R71RF2BZUAHH3RYIPUDKJXB79UUL8WJDFDXTYNYZ9V3TTIAY4Y3B6THS8ZPC58VDBX6DIGAQQIVLV7YUDIANL8F8YIVK6Z959CND7NSD6ZYVAF3KXXOMLTZ1SXD0L3WCQNQEJ4WWKX9O8I4QORZ9YTV2A8BJPQU7U0OCMCZLA5SZWN4EKMZZL9QRV69Z0MYY39IEQIDFIQBPSLX7YT51DXNDN2ENZDW2PCVWBFFN80LFPJR1THNEOZDRUZ4JKHKXRRYRSDN99UZW1QF9ESYZZ9AJJO99P6DNMJFNZPRVJVHU2AFYAHCDZATWZ6X6Q739EZOWUL7F3TKMMK6MDWAFTR6XX0C82SKRN60KGSXW9PM2PDA97OXB4WUZG7MWM8XDR7ZT23RIVYMHEZHTQMT913613FTXO1Y20VWVC969Q824P1OS34QHFAGVXQ4LJ1RO6JMI36XPS5OXZ6BO1CFHUTFGQ2D691V4I988S4V3K3X6RZEUUBELJOF1EODSS7149IUJL8CWD8GLG1BN2YFZ00SNQ2974C2SG6M347IGN5TAJ4SVQHKL9 div -36#GE9BJ0T3HH820DZYNXWOOZU0J8LXKZRODHUQ66BLUSI1P970CNGDVPQC8KYFXM7E8KZA9N848CWB1AB8QXQ0O7Y2AC9O44UFGV6JYRJY4W0UMDN1ZZJG3SRTZKO7G8HL9IQZW67DMN6KB9KZ0FU1GC99HDGD1EDVD38ZB2LWRLKEAVMY9BC79NXQG6YD6HG21FEMSP0CPAZLIU58MMI2IUYK6IBVWLUDYS2SRYSXD2H20MPJHQWQQ1T70JOOGGCH2S0X8TJW3SFZE29APO7KXLHSGD1LX4DRFU78134ZJV6R4A4P4I4I61DF92U0PB4PL2K8E9SNASU8M0YBGWV2HKATM6B7T0GENBXVFS6SUZGUF6SN29YMQ4KBEH8HC3BGB4V6WNFVE4TKOCK1EYAZNCVI243HL8J6GT8SZE0ZPMCFQQNKTBCWO2X0O3LRFYQ01KEO9GN44HVMPJUKS2LXRO6ZWCQET0MLW5D2AT1ZUKH9OPV4UVLGY4BB2VFH5JL72RZ9FD3ATAJBYNQX76X16UC906UJOGOXGOTAZTPJ1708X5M0NZJAAXSCCKA1Z9YV8EQF6T33HWP3776BVCPGSAF1IOZ7D6UW650SV8O4HW67WJTGCQX306485U35EXM01ZI3S1QMTOJ6H6FIIDUC61P70390L9BOE4WTI49U2NWZGD2HXS67Z6BCPR72BIHG2AYNMLR98VZG0AZS8AHE0CPO870OSRG3ED3ORGY7MN7C325751531BGKY1185HOCQQ47H1O61OF4QKHET338Z8TDOX69X1O2AKAC5K1BT4XTGXBPXIL0R2Q7G9GKQBPSEY82NBUFNA8NEXYKV42K55VVDO9LELN9Z17S6YZNNIAEFFIDGXPC8EKX2C3AXXRR9R9ETXBOMZBYKXD9UZBGB0GW2V3XMPBSS2T6A4BLPZK9TR. +-36#1NGXW1RC0IBH1JJG41HJVGUW7N1VJDFEBWYHQRRI46D4HH1JOR = 36#1XIV4A2T59QAK9ZJ5BQK0U6VUT41BQSQR8IV2HVNVTVJM9UWQQ6CSF2VA7BCBPOF1GMAM60I8XATLFICPXU909ZBUZ19DKYQ8YIIZ98XJ1XQEY287HKO99L8PODURTZNHU1K7YE1P77YFVVAGRYRZ22X5X37LN23WDCIJUFVHBTND8C7KIXENOU7WGTEGTWA17MBHNDWQ7JOM3EPT5058SDWBUU989J9BIUCG2OS22I2ZTE9504OFFVD2SK3XR div -36#16334MSFW7BLIRASU9GLPSHT4FLPJ479OP85KSYY7LYCVWSIUH2TJFORH9Y7XHXHH409UB7ZT0V14I4JVD65B4K2OHWEUPPFO0HDMM7CQO4IQPKGBS17MREW5JHD50SXOFKPFM35L22IJESCGZ16SMPQJDXM4LYHTIR6AAOEACLVO20VFVNTU08WW3NSAAFV47QUQX91D13IL. +36#6IR3Q4UJVU71OARJBCUVP3TWL3A3JTNDHH9H82Q12VUEUHFWT2PJQVBIA17JHCHK7SN47JZGT2RNC4X21VWH1QDMXAKBNEQ7AUUJBLFNYASDA8KF6EQHR39BREOA16FU78NKH4JJYX5HBZID5I9H0IBPA78TQ78AGMNXP2WC5K5O41SWF1SIXOP7M38IEDV8UUW6V1VDN7HPRR158S4V0OM0C50JRQWT6E6AZUIFKC01M86911QIK2A5494NZC8QV5SGAMGJ6PLJ6FYR2HNYUGM8WCOJN6Q2861KLTX2IJPSTQ5U2SMFQPFCMXK3OPID3PNNLTE51YTELDR68JP4M8OXSPLUFQQVZGQRA5HGEO590ZU0Z7PCP7JBBXUVUHRDOZJIGDKXVYW1GS10F0PG = -36#1AKL2YFF95PFIW3D4TI88O0715L9EGY2M2ZYZ0KV66X8MAUUVMFN7WQBMYQ599WD6PBC1YVF2NWXZ01Z04B0ZTV3H5O822DTBAGQ6MZ8SU3DFKCVBMYJST7TDWMIVHCZXQ643GJ3WM3R0JJH1L9B4DJEQMCDDGRM0PLGLMZ1NQ23ZUCIOBB3OYR81JTEV9HKJZINW981W4PE475AOH9CGTZXLDXWXC4G5LRVK32MCRFXNMZBPH060SWM21MRTG7VQEKIOI58OACQI6EIL45MLK3VUODZR4N7RFEKTMVVTLTMOGV7I7H37GYN7DZN80YXH6ZGVWWSTFK145SFECBBIQLFNFYR2399TKSCXUFZPNGYFRQN6RWRMP9FHST56THVNUMXNCX1IZ4EO94EUK7Z0SEWMULHWH8ET7T9YPDL7GISSE6T2DHM8K4FVE3A777DIP08B0I5BXV1IAGL8ZH0OXBQF2M6V976WEKRFKHHOG4Q97YNRLE6AX7IAYKSWKIZI73R331TETOBL6BFZ2P592DJQN6VHSWNX31DZYPG6JP0N7ZI5KCQ9HSCR30C0YJ0PZ9SPQYG17KL7DJJVW1S div -36#753XAJ9VRYMYS9SUOT1QV2Y3W9W1JC89XQXRYV0JOYBXKVDHZPF5IAZR675SL51U8IZTFK7DI6RO5TDBBNP3E4PS59Y1J9XPQMS8DWPS8IXYQ3T9OLHDGBCAC27H5BFSAUHUG4XUYSUE777V04L1IAGIME2116JVBI1J1HDBMXRVISUZJAZQMP395NJAG8N4. +36#1JOPU24ZVF04OJIOUPOIGK5Y5OL0FPQJRBF4LLUG2N4VD26VLVDRR3S69AONSLA3SIRHARAJ84CFA993H1YCGFCNKZ6N6O6106LK3CC740TKK9EB8BDYBAX7AZAQ5V90J62KQX2YFF4BRX7AY4CKK2TMGUDBYRS9AVPBILDR16EBS04D6IP8HUD8YRXJ69Q79MPJ2QDKSCTQC2NIXY0FJZ92R2WL23M2KUJ2595QXCX3BY13IY5Q6TN7VAYCZASS3M816D0FJ4LWFTXO9ENW4WDUVMAF5CGCZHXFNJ9D1YHTQY4K5C3GWDYR52OS6NRU0BDV6EGTT478IUVRIJJAGQDPYG2QW5HIEKER3TO5SCER7UG3DXWDEH0ZMYOE6BG9Z9ZVLIV4LXTAWYYP1UBNGZC27YR7EVHHPELEZXJCSS8K4JM8VKUMR0IXS8BX3VMIWCASZ5LRR8G1DJS0OZCX6H8HUSHNZAUP8RMSIXLNV7590V17IHDU = -36#PCB49AXWTCJRNNRG6W7UXBRK7CO4NUN8K9YXFUYNRSR4DUO6MXGQX76C7UCPCKR7QYVSXQZ8MRNNLSVXYKLP1ZV5X7REHF28LLR48ST50I9A * (-36#273UEYJH8Q1EY57Q27W3XUA9TY3QTXSEBFLPGHYYMPSD9YRINRQD7Z0UZUD6IDHAU1H08WNKHXE72OOJGMLOCKV8F92RO476CR3KI7220L2G5F3ANR9WEQ9NQEZFBP5VGR0ZRXLWB9HYSM2N74TSIXN35WGIX7CJVDHJEBHOKBMPRIVLJBN84IB628C8YBN3HFG1GLYRTIW3C91J91GLJV76VEU71HKQGQ4T36U3QBQU8UD30XCWXPQ7P12JO37C7X0K9809X19GPI3CAYDJMP66ITK63SW6S0MLG8M92A71MR5MENKKP4HIF2GHRRS075HEJU6HKXOV3TRETS279REW7GO4UOM1TETTE1716YVKAYKVCGWBC51LSV4F2SV2G1I1EVD3). +36#Y1VEB0F0JWD0RY9RZSMD9E30WI29C5GWHPKZK5OVWL05U65O0519BJQYDPNENQ4P2QCK3H89RJUMOE7CC9G5MLQ5HP4FZFS9JDQZIKPXW91RYK55D9PO6V3VV5AOOVU1777BDCLTTH5ANVT53D40UMKVAC570Y657E4LMOG7G891E7IQF78CJPII3TTZYTMWHZXKKIU1COMVOBYEGVI7RGVA727H59UZ5QCO4O5GV63B7GDBGR7N9TATW63SI5QQ5B0SNCW91A3RAGXBSNPCJSFJAKRVO9EWY3D742A63B46ZDZO63DDBEYC3DF4L0AWD05289IILNVXH9R5EWHRK2KW8OHRLTH0N4GZ0E9ECB6T38SPETYM0VU6L4VWPQ6YWKTRO4JQWDU273UI0ZKK22HEUS4RMUAWLF7XT10G1CWXLIF7CIL1XD3SUTINFF3UUCVM7F6VMYT4ELZ9VY3WZ5JXAOEV2VKB2CEEJ77OYU7X70JZY5G7VDY2DNVDAOXY00VT09AF35UY3G4LYXQUPBLQFG6TPJZ8AO4SLKI8PMZA2BL95CJIIM4MMJ608LH590EIE1FVLCBD39GIIKT6IG8XO2LLNXW9QCIG5PHJWP7LXF1FQPNKG68POUBEN6WAVE8C5DGZCUTMB2AVWO5375C452JYO2EOJ8DPSYSLE9CAEY4DMYF9XEFCJU9YU8Y7X70BFNP31VVBIIUP60NQVD1LNT1IEANIVH86W5S95O6GMCZG12ODUUKDLKBZLGHS0XWTVIVRNI4ZM95YFSNK0YZQZ5PE8RI = 36#1DRPN467WQ6MTYTPUKIGCYH2LNXX62PYYLE1MRCUDCRXCRWYTT1SNI70D3310OLOC5YK3962I4ZZQ3BT0HO728AGKJOCF9RQD58GXM8VQVCV20QH9L1VN8TUH1EGLMHQSQIXAWQNSLEQ6DNE2Z12RI1HX5OS7Y8OLX7IRG59Y6J0JLXUBRP00GZYI8HR36PQY7BUN8CUK1PK8SU1OGR6F7UCJHXI4WTG6H4RWDC5XI7RWG7SMDZPFVNHHG0K6HS9810F6UIORWACY5657ZHH5R582WL7SQE2E0REAEWOMQ4RI7JASZ0P2IHUP16YFZUADTVZ8C1NM5O70HC2TL8R348NXA0Q4L6MY1L5H7NKYWLTCZM31UI8XG6NRMBRIGHQLY0XYK4RM0PX4RMPGVN9SN79DM3999821KSZ6I176RAURN3VFNJEEAE5FQP1TRO1UCJE4YUMC4Y8I09SAFEUVTNRJ8H93EXXKCZNVJTJRX0WEBHDE97ZQFESY57USOZKRCGXMKP0S33KID27BONYVUPFQ62ILIHVVVKFQ2 * 36#OMPKYNBRWO4DQ680FC7IPOO4VSC5Q3MONEY76C9K6OXYBZFAL8MOLAA8MCY37QAVQLPQBT68N96C9IC6XD9FRQ1PFCMKB8V7XJMM7XK5KIUFM9BIKKNGD9U1Z9CFRJ32C2OATS0ZCK24ZB4RUO45LK9K2ZYENZUD5U5B6ZHYHHR2UVPMN2IWJS6H71SCZTB02N3YXZNK6HRQ1TZ9FJBAULHPIZXSSGP76S4SDTKKVAD2DZA1MPEKPWJS4R. +36#BJM2Q2TWJW2EAICND1W1C7W0ODZS3TS9820XL63V0IIR1YXL3BEBQGRPEAP4GIC5VJ3AN98GFL5AVAQWK379RQHBGMLPCWMNS6ZQ0LRXHFNQ7IO17EKW0WI2WF25YN2KER6A248LJ4JFE9C3JP44QONK9KPXI8H0HOKSS7VPQR2LZ04CIDROLHWSNTQJKKCI8RQUPURAXOBFHGF9WYQSWRWLEASLTW1REPT796I9MCGRZNPP8DDVP7PSTWW1XHS9M3KTJV40HSV8N1DMGREQ4RMV09U7MK0Z2KOLA4V0GTPGW0MXAYLSA8JSWGI8LVK076CVMM9VCID9P4MNI1GZ5S9C71N5HB1US4ZI11W14W0WJ5BW04ILTSK1P00UGJUVVBLUALRTLNBUP951R3JPEII6HL8Q1YENXQBCZMJR5YHK26LJ8I5HWV6D4VFPRDU570DLXINKJ6JKAI1UGHAV7OO2X82UJW4F5MPBVUHRA1BT01KXAZJ0LR8WN753ZPSE6J7LNPYTB9U6WTRR4GXHPTEKW3RIHY87UAZ6Q55OOJ2KV26CB8MXCZS1FDOHRPGUVBPVTMXDO = 36#1ASBZUH6A63WJR8QL92UYQ9UGDX7MQDWKRZVRWQWR4ZDRBEQD5NHH94WSG06I6IWTYHARWE1I81KB5RPABVFG4406YJMTQTCV1PP9NPDXBTRHND76AQ0NSPCKK9OXQ6WAJSR357YMRVNFJKPOCMAJ7EPM61HR0084JKTOA18EONFTD0BZOA3DHWORYK3T7D6SXJ66DKCD5MPM7E10VF2NN6NLMCTSD1LD236NXHTBKS01YGF3WALTBSBHXP4TIOEHUSDBBYYLBSJ1V9R1CAFO0OCTXP7DET0BJSEQV9PCNTADDA9C6VHCRTHWPUL2OTXZ1A4YTA5MVFMCHZV7KJJ2WUZUM5A8738WHRZ16EFJLI0TD79IDVUD74JU42JG5R93ICOS51KAKQRY6I1F12AGGXZVXRQJC2KWCM9NBUGYTJ0OM91OCNORNY2MSNDE5ZAZJWVS5E9PJFBGGTNVRKSIROONKYHL6TF2MUZRI2MFN7OQZQGCLHT15WB4LESKTF72G25TRSB81299TOTDBZ5EBMLR2KHYC2H92DQGGL8YNHCV2E8H0QG3QOC4BKDW1QD49UJK1CAH29D9JF0F63B0RDJPS3O0EP9NAR3W8ZNWLUHJTODYMMHTOV1EEKZ4MRK7QTIZ7OXRYNNPUE377PXVW2E3KBB1VAXC8SQTJR6VR7YARLKY05T6ZSB6BXKKPLYY8CEQ30QUH34A3JQJTWHI35EZ4DHHJ3PH4R8XBDG0W9XFE70GGW3JVTDRSJPD51F1P94QI0XDRSIOQ7UWFYQ325498EUMQK3YHJCHKU8DNJGLF8PXNIF52UA5Q7W02ORZA9ZE3KOQK7OMCKCQXN5YNO7TFTALISYXPJHE4GZRN18J6ZYNYAO2KN9VBR4JRAQU909J5IVPXB7MKBP9QTFUFNOT26DUV7UGS1BTUGVUB8315YGCV1WCY4PL60MOY7MGZ2OFOPYA53AHT9KU4I41THN6YM2LR02R5XBFUMC3QIW1IA1T515U4S1X4YVIG4P6NQ4QOCKHNPD4LPI22LY8H9OHY568L45WXMO div 36#41W890NABRK7S07THVNPWW26SRK9PQOPGTVFZCSEXYO08J4FSI50499BUB5L6FYRHIHTP4EJJ1A6CO29FADRQYO59DT4JZ747Z0AQ5NN1J5REF5J95DF8GDV7VPQJEHPJVE8249ROVHRNYB476HA0PVQD593R1OAJTUWHSEBGRL6AOW4FC5Z6TARPM3O54ETBVC9THV8ZAJKHAIA2MVD1FFED83Z3KYKAPBSQ0CA9J62B3NPQ0CZPN2EX8H0JXGLHJR0T476Z7QB9BDIT755TR4ADYLNZO4OF2VJW3B0PGB81XPXECXXDQ5OI414UP4CMUQ5D72ZQSGJLKJFZA30OFHYENSGOABBHGMP0BQT5UURQTBIQCMUK592FSL45J2J9SAGW9FNTQDIHRYPK2823DZS579LIUV99IF6QGCBPW1TOFLOALY8GBG2HBWSU520STP476B692CT9J3DWB69ZAUB6LS. +36#21GQZ9VD71J5PH9E45O0A16WDMNIDKI8L27XL1ZGT94JG5CAZMUA85SZMWBG44XB8J9SNHJU0JQNTQ3ZB7PW6WIEDCVI34XYK7ICZ7RUETVE6QVTEKJLPKH0MHUELJG9CNFNWFQ6UIHM1JXOV0G4EOIYB0W1JABHURPD4WERVT6LOR3OCCEZ4MLF3HXC5LFL08R3R629AFHJICTQ8TNJD5T989FACT8L3BCIV44BCSKHQF9N44DFTMW8KIOAA54HTNPGWRCA4MCN6EQZ6FCRT4NECTO4HAAX6N5DHS1TEKIKP598K9RJOCKNOKBARCVJT5WJM037O3QDPNI99ZS61SS5N0243KY6IP9JPKYVOWFYKKFTFC5U9N1FLL02LSQJOSKLSFEPFK0KJIOVNXD221IG9JEMYNRJAFX7W46QVJ6U7X3MVY0KYQBZCOQ6ZQ5H51NYQ5PP78VIDCLXLJXE0QU24RAVSD9OXGV0CUCM1FLX9E6AYQ3ZYRAWFD76Q9ZTE22U0E32EOMN7JU4QSZ5NXJXI2TX2OEX8NA0W7A88APWZJF2X977YMTBCRQYNLN9EZAHIR9WIQW4274NFPLVUOTMKWLLYTYT3BY7ZY5T96BTNKIFSW6QE6QQDBYU895CDU7RGC5C = 36#20FV78HPKXICOZ6BT4MZ9BJK3NIXYOCU0ZK2LRMTYQEW6XJDC5S2TP3P0BWVOGR5W5IOSA79II4JC02P1B28SOZX023AXL6NI7T9LXZN8A1KG8M7EFHDW4CQWJCCKZPKE3NLHGITSSNVNNNFC313Z7P3VCXW6UMJT7KQJSQ1YJT4Q6VI3U11XM68DB3BLV9J6VM60V10OR17Y3IESBI6TKUSVRASX13HA6Z6YZIRIEIF2Z5N9CK43CST9R2U4NDZTGNNK7HD44U3HSQDFS0VLAS1C0NFCFLFN77ROYII8RSVP02CDMEADNGBOBD9R8UWQOAQ7IN9LDVG4R2QPTZHJ0DSNZRVKLF40I0YVDAEU1SUAR5KVSAXI7CKPJJ1DRCO5D7UHHWPZZEHD5KKZS0SS3IFSHTTHOK64Q4XIJ2TWMGWOSTVWW4NUX89DTWB7OWLH8G5SON1SC0T8MVKOTT6Q85BA5ZHP5J5CX06XR9801900BAJ9I3TRD6JH30SEVG85VVAVZGKJ507Z9USRBOOC7XR5JNUR5VIA13IIVS4GYMN1YI6KWWGVWZWAL67O7IO8M8RUPN2KSLLOGMFSKTSNXQLYRZC76TJUCMQEHKNRTE8GIGTU6SJL8BT9UHA6VN5Q2XJMS57XAO3M3LR995VZBQ283UNHWVBCQJAMZ3FI0DCYY6J2NPGGCU6MHCSAAR5L8YQZLK3AP0E5T5NY3HZUT4BHNRT1UYB0D8G9659S34EQHYXM0OAZXM287G32DKP89FUA4SJSZC3FSWXOHJDA0QQB6G8X2MXHFL1LHOS9NIPKCZCPE1E1TX13ONREEL8CYLLUULLFRE0IJI9HDINCDWG2O6GF45SAPI1ZE8HFQD15X4G7802P1B3LNIZIR4YD1WXXMKSHC1P990UVNFFT2QS27UNE4FTW6SO8UO9EF8291QCZDY1UH1NWU244O1ZXOLMQT48IRF2XZM9NTIY649MZIDHG6MZG2Q1PF7RHXQ3H3VDK2809WYP8501RQITS1I6BLPG0RNX9RCN8STUK73H1IBNWVH10U3N21Z8DB85OP43BVU5A38IMY3ZDOJWU5JM6C99PX7UWTWVOR1K5VE0B2NW08UKH9QWX9PM6ZCGIM8YGFV3ITTNN93DEDVM6ULAWSYPORIOMFZ1OEQV8RE795HBVFLV4UO7BO2URISL5I59GED8S41X6PN58204GITYHYYZQDYU28564S1BQE4XVFXX3XCFI8UJTZ4B400 div 36#ZHXCNZ1RQ31DJOGQW4OPWZ250LZJJ5XI8EUISGZS09L8IDDFQ53IAJC274F36HDZH2UWDGL6A3PEDIY1WCF0PIY1G00WJPPJICE16K37SFJ1BSUPXTCNRRHP1GF5H54DYUFQEWBIEAAV9B4FRAHM7XU5E35UVPS6ACH8HSZOI073RJZZO7WJCC571MCPTSXMFFD1MJ874KQCR1R7BDABQI8N0KI9EG7B1EQ4MUC3PAR1VFN61R7GYTGUZTWZOKDRFS9W7AGH51FA9NGQRVZYIIR4VRLLNPDW0RCFRF4456Y878QEU3HXABEV27Z87SEU3D9WK335TCOY8H5KCBJU5H13P1LGLQCTUSCK1RKBV4BJNMP9SS94R8RL7SHW1S8APBUMLJZ6EG9ZSXH4C96IXZLLUWZ9EA20A2P609M3Y3YCSRSO7UH2KC3P38G8C8BYCBBD72CJ56CZDYH2BNWU40CJJRVFGUVD5S4BCRMEZLWIO3MONL6KUWH8Z00PU5L3U3IU61V9ST9QZW1HGSNDN9A4HWA0990B1FNITPB4W2YHO04FQP0CKZCAD660DD73UFY8RMTNEHAW378P4V6AR71T2TP9I7UNEGI. +-36#H51B6BREIQC2TPUMA1R95PUJ66P2V5OP4I7J1T5HJT7WASQHCBSCQ745ILHHE0C2RLVH2WPT269PVVWUGYEPKICIHV95KECMDO78Y8NKT47WBMFSQY9NTGCCQR1KYEMVLXH0JDT6GBWNA0WZPRLIWLXCN5GC0Q0AGBEQ8H6RGDNVCZVCCV8MNA844TVRJZ4MFLAS1MLHYQAUK5FYAGKZWTK3CQ4I52L178UDM1VBKF6T6G2ZFNUDVCAOCM9DBK67LE1CYRZMRVIWC7RUUA44AEPZ5N3A712AMBPGA9NWQIE78DGA2MSRL74QD7JGOMC0D5YR0A3U07YUIEH602G4RDNXTEFG2T37JMJ6V4SND2CG6FOS0Y74TQ5NU15OKGTP7KBZMGPPSRF5DX9AOA5LWDTMKMFR7T73BWLOIRQYO552W7L3MG5YE9S68KSMKGXSDNKFVRAWLMXF0949L0SFYRL3VD8GM18KP8VHOGRKM0HQVY0SMCNOT0A8BZY4W5P336KY5SQV2CP5EIVNDVN3BEZ8CW3901OFE45NKBOVVMCUNJHP4B7EAZCHPS6Q9Z5Y5Q90TU7D4CNN86N57TG2M7U9BFNS2OAVLKI6K26V1D67O5YRRJE3ZK3RSEVWLNHZPDK9C1XJ3MTL0DQRIGCDW8VPL4R0I6MS1DGRY0CU2XZ0C1ZZQT3KFZEW5QNZZGYUMNW4PYINNRLADLD932UHS1J9R28XPJ877ZVBRM5A913MSJ1JRKMMNRWSJ4TL9OM7MAMFZDAO86JNMB6RKBEFQLSHW39EJ6K0HWX4X11LI4HA8W2F7RBDUHATE8TSN9JBXQWG8YNZ23ZHFR1IENY2MHSX0E4ACDCGZQD4SD14B9DOB53VNNTSOBMRDN48O9O0UQR = 36#4IHCZAKJHBCBFFK3MVWQ9C8U5BKI7MPKN2HGK1KO09Y9A1XADEPKZ7QF1DYXF46XY5R6HO5MDMS9EUCKVQ6EI0U96XAU3WUGK6G0PR2TVKVR5IMIIG3MDQK0T3WKIEG63EK4711BGRGBHK15LULI8RV77WNYKL1D8UDZFJ1M0VN4BJ94FSZM2ZNCMMDZ3NXMYFPF0ECEXLX3ULPIHKSY4GJ5QKNGKEYYUZB6ES2KHZ7M7GODFA95RIJCHT1T3UCC3W250K1G8JS562UDBK4TUV8JLPBHC32U0625O9XTSWE1C5RDAK54IOLX3X47OOGRFBH3MUF0UWPJ7FY123AW5HSHP009LW5CUYQTNJW08SH1RDK6CKXCS79FCPEM6B3KYRQC43BZF69TZ1SOS5SGWSURYP372NC78AUGVRSZJFDHX3RGXQ90RHGTJMBMOU75J155D1K40X0W46GCNV29UVFPELWDIXFVRLI6Y9WGO8ONWXZ4JIPGOR8L35Y73XAPXSQYLHY4CXX2J7S2VDJFX4510L2I81JXRNNFSTWMW9S1AZGO37D59UZJMCAHBU9V6M0HJLTVATHDL68ZJS44M7I2FGA7SLW74XQXG3QC8NSMVHPU811KYLIHGQ2A0BMM0VK2S896CVZGRKQWH0NQTC36AFMD8ZZ2FJNJAC7HC5QG2GEGEL7RTO3NZKLV2HMPSALDYLNCSKUJKUQNB4GUXDXJN23SZ5WT450C84G5F2HLS67OX9K469XPMH27SLFRWQFI1EA58YL5ANEPADDTBH3VWXDSPAWP2MVCVOI1XW3NF4KFJLPTKR0FOBRFC349H7ECX3K6QKR9OXRXBAUKP73V3XFYXRRBROC8C8K0JOTKBVPNWHSNNTA9UR7F90TCSTSM1U1UVQZ5VLSLVMYSXVOR67GZNWOIBTE4I5XX32X6TQXH0TDJQB7IBKBA5XXHO6BAX3VM9L9CIUSA7XPNJ7863X4XJH2CU54ILF276HYX6G4D5DBAV8840DT61RJCRKIKB3KG5R6F2DPGCI6T9SS0ZENDZOUVE4Y8HG48YOTQIQZGES2F318M0VA59CINPY8A3G5OMIGGS71X6JTAGAOB7Z3U0FLQJ5613JTIL9EAE94811OAY0F368HCAV9CL0F25Y2C1XRWT1Y68N1QHVF1VAQ6WO6EPDQ275FQM43Z5UVS044SIH8N3ZMKI2YENAUW8IYJ2MCKQXLTXQR5S4M9A1WTSNYPNWYGW0TZT579YRUKKGDXGGYLT69IRYXW1UI0NAJDFKSSZNJF1CZ6MH6V7Q8RTDKQK94GOFS7POO9ICWS3HEAG3NP33B77QPAJCSSAP76XUG0RMPQH76YRYSSR50DGNKQO6PI7BLHCTQDVS3Q7UZ0GTUXHGUPIJJED6ZZ8WM5V3EFJO1KGVAC6SSGEDH1CEJI539LIQC7X63VUVB9NSV42NYLFWS8LXHLTKPZKLQ2LC1VKY3GDBYQFGXBISY103EEO2A19U0P0P9ITMARLANDMT5XI1I6WE4I5I1EVQF3R23GDZGZ6T2I111CA7UHIDB9DL37CBC2KSPNTO7AF467EQYMB1ARZ0R22QBTLS8WVLZC2PGQEBM8EK27TRJOXP7EASCP9WB7O280FA7IMP75GU0GJQNNNYXLEDB6W8CWNXXRZZZ7A1N8C4Y5BKQ6S2NISR74TUQKS40F3NLD722RE8DRPS6J17DV8GXZ22E9SIPI9RMBJTH78BHZ3FEJ1MRFK99NI0JIPYZJW932RPL6VGOS7UV60FSMTTVWIJDIQY4XZIZS5G0Q7JTN9LLLZQSGHYTLF6EAUGQPZO59I4JCIYB36AYP3FNVQEMZJV7UAYG70OXDV3NNHG9QF0DTRQCNMT7ZC8AQBPXYVVE0JZQLNIHTXZIR3XJP1H9DWYPR20GFU7XNSZI div -36#9H9RYAQBWMXFAKOV56LSUF9S2NWZUGO6JMA1JH4AQ9A10U9JNJLE72P7AKKB4ONK1NT3TUSEN0LJJFN6UYIS31NRLFJ505LMND2CLKBSIPANFELFDKXS3UN4F3AML1UP4ZP631SURBSMBTYU5U5437YFW211ZNYC1A8TEIG9MMKHT1WEI52US11GVWWHGYYF1MCFGAP7QP2UC6EPT2XEKAO1Y88HJAFOZ5BSMZ14U69SKA9QAMGHEALJ3O1E12SG3FEHIMCR7NETIJL7FLH4XOSIF0P9J80HN6TQBUNJNL739F7V8JDKL0J0XBVJUQC9V65N08DJAMK4H3LX6SECTN0JUVYXU87IGQXKVNPMJZ3I1M38PQDNC2ZCOJUZYPXNGW7PW76NE7QW2J1JMEKKKXEFWIK6EW36OFWYQLEZFYIFDL4TBP50NC6ZSIV2PIWGD4VV40QH0KI7RLS19ZTMU6U05MJYBEOASBMHGHVC4N45VYFHYW66JRDMSIWR2BTKWUKVAF15OFWP0KYWXRX6GVLLFS5MK8TBEPJZ3UI64P6X2N5F6AIMD2QW7APSYSAP5B18UMXGLT5G2YYRP9JVFS6QDPDANDOPBHQFEPD5BNJ4GXZ483XJE284XNIQIYFUT5JAMPH2D1SHB99ZLFJSAZ6HR453T1OKXEGX2YO8Y2KKJRHPB21JCPA5AOGPNWUQKSR0JE5CDXEATDA9EXWV0NILGAMEFXUJS6RPUSNVLVA258E0HI8T0CTTZHR9CSOWR0F8H3TYEBINB3DMXUA0H51DSZ2Q84BLZ0EJXKWFPYHOTQK79006JQJGLISCV8H2CN7TODOUF985QNYB2TCSY6WKBNBMKIPYJVJXPA0A9EM14YD6CQ6ML4ONG51HM1V3PDYK6CDFV6EVUUJV74510Y7Q5B60Z8RHG5EJCGUE87JTM0A3DX1ZCFCTRBUVK7FKWO21OV6MG4NXC17WRXWECXDMKVUCHZV0QQ3SF2Q1DAZOTJB9RTYE42OK8A9CYGZ2G8OGFGT89XUM3PM2. +36#2ME7TZ08A2M8UF8JESGD0VK49R95RSFM9G1TJOE5R8KPF46HNG = -36#8BPVS20GI4W80RBDQNKYEL68QW78QPF8BHAHPV07RDRWCERY60JBR7PUFRUOTV5F22RXTWGBHURFBGN4UM2XBAGXGMM24KD90H0 div -36#36B08OCIJ5M7CPXW6UM4QQ1QW8YDOV5LNEPME8P3YUKX2BIBTR. +-36#79B1JVPKKE8HBXS4JGVKMO52TDNT3DB4EB4Y6UGDLVXBMIL7WBKCDURI13Y6I8BRGT8659TOFWO077DHFTD03VWZJCGQZL1Y6OTU0Q6JLERLE65XERQOYQRCGN6X0K77EY1HNV72V21VYXUF2ELIRM1NHHBITIE60P92X4WJJRZTS809V6F6UFDITRA4Y9KIRQ5FHPE2T5FA9YKBBCNKJTUDY3AAS2SQU3H48E8AERNYDVZJBREAIE21SYMDW3V3NIJDH68AURRD0D0UKK9RIE1097N9R40XJ5C3ZQW7X6GBI6H2NJOJ18R04L34UU4VDBKROTP34G9WO5W660FG47G0THJ31LPKLC7ATMCL8OGNN7NWWJAK9DE92ZGYLH8CQKP06WGN6RYJFA808I3NGV080SRM55Q6OC80R4XCSXTR2WJ733NH2WN3I5MN93N3EW2JG8UGZXO2Y85OCZ0BFL7WRET8E6O9P8QZ5AAG8XF0YZ4T0UY4VV5U93E1SB1E060FPCAYKAJC4WNO7Y7YK4Y2FLA7KLWPWAMRZ365QH4A34E1WEBY3PW0K2C6DJJC6AYO2JHACL6A2XG67OQTUUCKG316Q3JQR8MK9S1P8HE7YVG3H9GHWO7SKTZ75JDSRR007681OQIPM8X82Z3M4BI9WZ6BO1RJST7GYWT3QO3XH2N9C124UE7EP7RMBSOWLQASL6MWPEKCFLSOV4UV39E0A = -36#JOGXG852NJSG3PRY52Y43R7SR50R1P474G2ZX8MNYLER19NOK19HZB5QLC2R8J35HV0Q2YZVJ3U51NDOM6NVABOKR4WFOY7AH5LD5LS2NPPHCEFZDT3A14K70DMVZB3BV7GOLW22GRGWF0N4FO6CM9UDFJES3XT63ULAX3DW7HCCH1IUVW1WG5U3C8G11YU0XVQHZLJ6A2YKJ9X20LGUIHFR7YI0MLGQEJ53LHCVRNWI7LIZICEFZPY7WNPTR46E0870YKU398H9FWK3UEWHRSF4DN6GH2S1HGCQ2ORQU4ARYAVO2LRI4O0RQ5GYU92V8L408EB36ITA5G7AUGCI4AH4FFENWA7HNJRYAUFNHQHNWXJT5F33FR5ODWPRML66Z7SYZCUBPXNKKEP5PY7QVZ0RC4Q037BTPCFMG46WL4BQVNW1ROTHS0HBY3JFULYNTUJT8EAY6NCTJVKX6H81AR8CLGCF7LABNQIWNE4MB5VPWN8NZJBJ88K6NLK70MD2TZBFQE13OO8EHL6NB3FSTYA0Q3KJTNW6DGYZDQ4ZH14JHTHGPGX9EX2O8OWVKGR3NEW8GMDSCTFJAGUBFPFPVZDDF7E7WHCJWHSK5ZPRCR8JNDZ9YK6T6BI9HAZNOMRZ5FHCVKT89V3VJTVHMVDJR2WLZF4MDU9U9YP4GVAYBS9QJPN9QNKH7V9NIC7J3G7N6B9DWA5VYXTAJ9I45N0Z3IKWO1BAAQGKK2E797MMTOM5ZUSTM6GYC5LIH1WL6IZD1G4B8PT27E div 36#2PLSHSM10A043W04B0PJ2T6MGEGZW8DP4P7NO228Y0W74FO0F5. +-36#BSTMIYCACKCLM3VEYRGDAEHMJHDO6TKPZDDG1LGNKWY64J8N3AVEHR1V6RSP22H8P86BWB3FZI7C37RTKPXAGYO3JF8L7N913338VMINJNY9WQ2JG7URU5UESTU58CG6RWWWO0Z5YD1CI65OGLOPSJGJAZ6D79KX80ZFGQQEOCLCC60EFPXVNOSQPXDJAZFOE96PWXJUE9J56AEI1NKB781ASOC51D7M8HKSP2K54CJSR6ABATPF3OXQQA4MMXH380JYBUB6IXZ5GBCAJ1GRZESN4WAXDP15VVH1ECY591L6L0KVVPMZYPOT1Q2K0DYDULQQXZ2HILD8SF15HDL = -36#OKNH5CRYE7O0M2EQUJS6GT2RLL7CPT7ZLF937KJXVFYXAIVVG5Q996KSUR16JX6QNZ8L0Q5QIC1GUULUR2BUU4XQZOPLPAF38S9B63YC6KG77N7EZ4MZ10EXXMKVAE7ZM821HLX58R49DBAXT4P08WXMA4ERFI2OUDLK0GVQBS1ZIXTZ5H4ARFX7IXY09OSMT1ND752NLW02M0O91VGOYBP7XGSMG0L1K1KR21B1DZFSLRZHENLBL30GIQUTD0UKFVVXMAXZ27M4YMIENXL05AQQDLGUVJ40JJLKFEIL1YOTIO01YA2MXX0O77OUVGJNPUYIL9ZA43NUWON2XX8BCL0M35LW3SZ989E7FE3NOUYR2UQR7V12XB5OGC5FJNERAT4W2Z8GQ1KVGYW5UGZEU1PZOMY9YIMNDYXFC4XV7ZYY42QX4JX9D4E3BOLVDKONWZ0QYE1GNR1EXJKVJMUQP15NXEX4RKLHIHGCWCTH056PQROE80HUZQRKX9F45XGL23M96OX8UJH7NXSEO9IIVJ6QQVEZ7T4JRDWVXNMAHTX9XZJYY05HPK9Z1NDOUY3P1ZLTPMDAEERMII7UFYE5UCLMDDTMFFGJ2CSPYVI97HMDMM41AL6JKWTCF13VPBJHT616U0WR060SPLBAP1TX01CFGGYZZZY204OOHXRG2YFLCWHNPEZC3IVLIROGIAY4VIVG3I92ONRF div 36#22YSJNZQHO4UY4E7QC649D7XXCSE8XWUCOGQTDSBV371V1U9K96NP79WM2Q79ENIA5XRJAH6BBULYO4P9491KRX3I7MF9GJABGVTQOMA0LFO62RZ4B10UC9KATGHZ4WGNY24ZONF6WQVO4FXMQ1SMJKP91FHZA7QNMOPBS4C1GVTLMQGXGGTUV62UE0OBDZL1ZRR7P81FEFW5OEKJF4DQZH81REPX8W9HQ8C81J5772WO8XPKLROQ7D0H36W4NANXT8PLGFTJC0VMVVB1GV31ERKJICXYOLQK7QZMFDGWV0ERJEJGMIHHO4SS12FWL5L8TY5L3T7D7LCIJ7WFDJJE7JJ2WUJONN2YDIDW08B9GX4XZW1XCJL9HT57N. +36#4L0S9GOF1JSPY9P3R2G7KGT0G67NC5NC9UC4TVNTRG7590EBG8L915Y85M1Y5UXNTJ64W4NSBAPB53DCKO9XSD7C8CPO8W24CHO = -36#1K06D1ADUPHBD1PML1FPXAWG2I515ZUWZZ5SQ5P30NT5CUYV3O * (-36#2Y2QOT7P03B2KLJQI6QPQ35C95MEYVSGEXPLYW1NYN1YBB2FZV). +36#BIXAXY2HFL0P4ZN3AO6RHSVSNSBUQ7YXDUF4F0FDJA5SMT5J0P34EDCNBUAQLLUFRRTGBOBGBSN4T2UV87ZH4BW68AEVAI8DOQQYBHENBL7HUZBZ40X4SW4QXLU5YUXIYBAH9ZCPKZ6C53ZIEKVGZ5RN45SGPOLBGA5EMMT9FZRMYU1I0LHNU7KR2IILKC062VFIZOAFIL4MVN65M3G61GB9PG3JM07UY76G3BGCVB0FKS9YR3Q1TDXWFA0II4PXAE1D320EC2VCJQOKAT18NK8IRVBKXEF8KAOI3HH9695VQMASAI1FEA3GMME7QVTUTK7GEZOS2A09MG9YDFI8X7CH77OIJLHNFZS2QV1KROO1RRNDOJ8TW4XWUEAKHCBL7839X0BDW6FVW8NUFZDTFLUKEZ92U7AIC2MKN45SB5K49NPTPQMBBYMV83H53UT73SS0DZ9XYVDAV8EPAGYM9U122S661H1P3VYGU89HVCBOK9P22DXG5BRCQQGY30Z95L2IO4KSV9G1MD0ETKYAVQXG62I2L4PGDZSBBG8SM8XC807LBOJDAQY0W0TYPQNHHYRCWHK2S4LDPRF4NGCC82K0CELUN6PG41L2FKMRT8JHAX47JAXZN8FYH374JS8BRK = 36#2DWUEGPCSGVQFTYS175I6QNYLQTOKSY409M5776JZLDJT8Q4GTP9DP9OS0WIGUWYS56GR9YVWKQPAHA76PA5VM2C2RNHPSZAEPIQC78J456BK9O0METDV6IZGS4FG5ECMSGX6428G4VHEJMXD3PO1WJ8VMZ0AJJVD3J9EKFIUZSWUU9IW2GQZK5SA89ZC42XE9GQHB7XCQ6F9IPS7AUM4GC5R1BCQF6XCD6C4G0SN1RHUIIPJQGGH5VRL34XBUE3HJWQFJZHRIML0WA2WWUZDJ4YI9CTJCJ7CV3L8N4A9KMDTMRLUN1A1K * 36#4TV7CXQ2AKH7DHFQSGME82XWYIZLIXPOXTDMDAA0WYXIZFOP97YWRYZKRKGZ32NPUDPJXOUA5UND86I9GD6LZ4U90HEMVKRV3394YEZTIV7NLCPNEGPGG1H7J567KO467FONFP7XELC0G70DITV7YPZVAJSZ10W5WA2OXUA4831FLMFENYUH7NY36PCS69UNQ0WSFSYV2B3E26Y2JATLBNONONTP0JOXZE4TY5V07L06NBI4QYH90RN7NMROBAFBNAKGRU0SWZEUFWUY7NDU62A4KVVKMWFXG3IBDKX9B5QGWSJN09XKDOP3L3NUF2NZ2A7C3PCIVRGFA. +-36#22YU6SCF3O8ZMM4INDJBVIM53F9RRH5YFH0IW4Y46XC2Z4CL33 = 36#2FWSZEM23KK638IXHSCI7FQK19SJIOTHEYZ4ITHBFT3HTPCYOUDPTPS9PE9O20WMEQPZJNUZX9ZSDK8TT6VG0076V8WZ9XO1N7O div -36#167RD77CCHEFK1C6ATABI1TM50IICZ11HEBV66L36QS6CPDH6K. +-36#1ANKFKZUBJDT1B1E5EIRRFI6OXA1Q0P90NW36JR8VTVVIMVIF3AH7UA7M1MPIL0XZ87OAO8AYK95P4VWZ924IOB5XPC9IJCLTFQU8TH8V55BLXE5EZ6F60ORVJKHV57DOAETKIPCOF1XR279Z5XNYH1WI3T3F42Z013JMKS0NRQ7P4JPQVSEXAHPYGJNVO7PXRAU3UZ0WI3YSX0Z1ME85X83PCV53Q2U6UKBA6KKXKSQX2OG0Q0NIX5DPJC51ESRV8B0ZXON62CODHGR9HZ0HMD1SCOHZ50QDMCK05WBL51M4GONGZTY802PVOYMRO9X6FYIA5X00S2Q0N0C7V95TBPT96G3KPVG9IW7DY5COD61Q42OT5LAF97MW8ZH8N8QLBCR8PX0QR06BPYPBRU8U49KOCOZYUH91KENZ3FSEHJIBSG36NR2UP1UXYERCC7MP7GHL5SNMUBMYUNA5FOTWIOYHSJ5U2JH45MA51QE059RVOKR9GMJBR9YUIK03DB7JKQODNCZ8MWBFTX7LRUMH2H30WM12HPF1OUO0CKV12TDEOEY7NSYUU72SXHIPHXU1IP0E76GD87J7D771A6WUO3KHBQPX8YB6ZATS3ETNJRZOK6AHKE2YGJXT232VKE5OOD5HY39U7I31SXWKQ1A4GNLYAWCYKF3UXNHQNUUB2A6FP07UEHI59JWDMGULKFH7LM87I1D8T4ZGDC4AMMJ7RD1LPQLZQXFEOGCGZZZST5AXUDVHLRLU00CBUUGRF864LU8MM59FHP0ED8JQVL5WTLCRO4FJZMAE7FTJG9UMWPV1PTAIAVIVZZKF9X4RDVORZWEICS0VSRNA0T7ZD5X9U0L55KFWH9FF3R3S1IJ0XA7BFS9NO5AQKRP51Q5TUQUP2FXOXIG6EY52NCQU49HFIXI0NKPZR4C4UXKDGCYQ2PLUXF6QT58RA0QCYDC = -36#PR8ETMPXTAG3YSX5UZS8IJQWS4BS2YXC3NLL03M2CDFCHE7Z9BYXU4CBVGBOOEBBPO4WBQ9P32G1X2YOHUP65QURYOWVV42ZOZZ49GPP9U5XFWE07GGCGBF3SXKIG8JKW9J6R6YPO8SAUHXENVLQXFNKS7WF7J9CQPKIOSSMKUD9Z2TL9DJICQ4AMQYCB3TKV64UCH19JSUGSQ0WRW0CGSMQSOWZOIW86PPZT7J3C1UEBD1JSJK045WLG1PDQBW5OS072I6DEXFWKTLENLRSBV8ZI5ENL7UVZ3FKSH868LEMXFSQS2FF5L27O4NY9DHMRMZLAJO6PATA7DFSVRB4KWXKCDI654DS0LUHQX3OCS921J1KUTDB5VH2MJSC9QYFYOX29OMFXVMU7RU8GHUCVUVQLOBGTVII44F6T0L6WXHW6DIBKQ5R3FYM38HKAY0ZIZFWP4C2FG5CAWKONZPP1IN99GPOIUNIQZ3ZKMDELX2YS7XTL30NTV4OCHFL5NAIFBBRTZBOA1P8HXOM98SAGM3DIRRN7EI9Y6IET3882YUQJKKJGS2RN2GPSTD9DBCBRQK7H * 36#1T7JHWL1HMYG2FYRIF00ORO8CKJ0PWG9JWAYKPERAOBK308JWTZX05SXXPZBH6Z5A5122VLDP8BX5HQW9O81M8UWRDKDFSKQQCDLHLQ0595SCN9JJGEDJQEJBH2AY24L0OZRIHNV5H3LXJ22UNA2GHBS6H4ORN67FC51DWWC7OK5HK8EZEP7AA6GI0MUCU7LSEHHTZDMGDGF0V8SWJB0C3KBSXOUYKR7N5VY2IDZ7WW60GNJLKXDG9OLJSCD9XEDPDX9C5JHBAHOBUYGK2GNIK66RQUIAKHSB2YW5VV1VORJWAI8N3JJQO12M9KL1QXD9KZ51LE0LPAYCQAIE9LV616EL9HRPB98OX8784ZLSUJMOA2PG3P2LMO. +-36#OCTC48C8THHNUQZMS1256E31P72FBRYVKRC9H5VEAQZTYHK4HDJMH25DJAS59I1MHY7FWX8IL9ONRW9L4FM04Q9LCIW9ZLN8ADO103QZIB45UT65URQQVF7DUZET35OZNZ7VNTASQOJGJRJ1URFEDFQWL8YLSWCND0FGIN3Z7PYRZKN3TLZVYC1NS2R28BHENUU8OZ3388MM6W2G1EXGAJNKCWHPC1BQCORQS0QIGMLR5WCMWEU3AXHIHDH0PN8213JRXT6NAF9XLODKFR7EHT2ECS6WO68EAPAFKR7LXV6MMBJT9KY5S5CWKC8QR6DMWYNDOI7LZOOJRQ0X7GAV6R981RRDZC7Y4WJNJGSBL19L6QIDWFCNUG1L7ZMT8YOLAM5I32VTOOAI3TBH755XVF8QWQIKZ6BYDVC03KRRB6U85Z17VPUAU8BOAEBR9DFHLHVUVQNO1L3OP9H3JWFXKCY0TRUWXK3K9NBN80QN8N6UC3GL6P3RGPIOID8FBMTTFTANSVUNSIPM2AZTVUPPSHOKY0RDLIJ8G95L5TDTH0HVYUNUTXQ0OW9C47IZP60I2UFJ2PRAUU6M3NF227U9HQ8RRN88BCQM2T7LTH1GJWSASC644V1FUU7S0L23DJ5VAIZX3UCI1ZEPNTGB7AO2VOE0QSFJLI69QUUN9Q2CMXMAQMB8GBF65T7SFH1L7TSS4YUHGQAFWDCGBZWXHCHR2BSSXFX82ACSIHR3EVULUMWQXZHIVPP70MZAV1RGBNAZVDOBBEYV0BHGX65ST6QRA5QLXD9AMP5AT21GSEH96JHA9W17Y7LC08UWGG95BW62J8W4X8I5L3N8XXHM4JYBZC0CVYNV9QX9KNMU7MM4SJQXFE7VSMMYNBN4AJOU3MGKZYAN21KE597OMV9S5TGLEMTSPV2W9R0HCHIVKMS2L6U5S1ANNQ5JPFV299I49OJS4KHW7V35SSIDWBSXJCGI0TRZXRLAFOZ8U1PBJLGWYBMF2M0L74ZY5HE1XR5CH3VMH1WEWP5OBH28 = -36#GW8V8GQHRSCIQMXNH5MGSP98RQ4L57IIE0JAQAH0ODY3OR5LOHFB1ZDS1IJEGF74QD5Z8QEQEEEZSC8P5ULXGAMEWBWSHLC3QOW6JJQZ570536VYJ63O44097858WBQ7GPZ8B3PE50U5HR7BFW449GN818VMI4X8XJKHJ8HANE1K6PJ9RSK9G5U8FQ0S9D9QX0CYQ3YJ6W46UPPBU4M685VFWHXWX64LU0HW0ZYI9NVT0PV44Z9FYDSWR6P640QUU2ZP82JP1VOQFE0KEGF6IFKD09IY3LR3PK7C5K4D3EXI3U0QAW9PFO89DU6QDD2AXN183YD5N2OSDWZ1BFTGKXWQMGQK1CI4S4TQLZUM0XF3KLQRS211UBX307BB4PVW924FOECUGB3AUR0EJY41MCFLNX2NJ7SIYDNOG55OPSTSRKJRS4NNL808ZRY6GFPY5FL4K0ZREN7IJE0S2S2N11VOP1236NFYXYAJCXKQKRWLX81M5E2MXNOWN18TX73RD9YAHBWH9JYIM8GTZIJ5FA6RNT67AWCLOVZPDMXMG95PHQGLOC2T6YZUG7KXW4AX1TYRP41DLFGI7CIB7SIUM6USGRDQA8SP6VMTTX64QQTHYLH7II2E1H2XSYO2T04LYQF9I1CXZPW231N3FKJ62JHGEMP6S9RPBG6ZK3E9VAG0158UUIHNLASD7ZG9PVDA5MKB05N6ODG9R6VGFBORIXD7OKU6HQ2RASDMGQ75D7P2IEOAY45BLXSAYO9DJ8CUXR1OC41RXUHZMYIDN4 * 36#1FW8RBC2A323ZLU192HCL36D1L9NEP9ICZ762XVVWRE9TN1A3PJZM6K9B4T0F08Y5Y9CUOCKL2UFMMNLE8OIU07BB7PJHCQ3DFOR8DCO6HJFLQQ07B6Z7KGA30CKA4T2XKANOH1FQKRHRC8ZTSYNNKEWN542HNP3W9GP4HBIFZ8IAGDAR3RRSFAP46VY3373MQWR1GBT0VO781GHVCIN5D5VFC7LX64SDYOTF8TN2YNIY3RHGL2GL0OO4G2. +-36#2MUWWG7S5RZQU5ABUB95UL8Y36J4PMLNMV51BCAZ1DYJNI4WWOM2CUSMGNBEFW4YEEAS8RZHLTE9YKE7QOQJZU1AK0LEMOV91TPYZ3V2K4XQQ54943ZBSL3KV2W2DWA6B78MYE5WNEWYG5QI1K6XGH2T6TEDXZM2RGNTJGGOAVA3UG0VXSGHI58TOCW4QGBH7GZP8KA0QVGFZA69EVM5YULMLGAZ = -36#R47IQ1JLUGTT3ZQSQ5YWR3G8XGZ8TQATXMVQYSATPVQDAKT45ZCU1TBJLRRNSOYD3SOC8DJQ2IP47V7ZFAFIU3OJG5KNNP4AGGBRNESMUUCOGEMYKD9KHH9WPZF43W7Q2EH8VYC7QJWH569J3A0FAUTFZ3230FRMKHJAIDR1U7WKVB2YL1K0QDKZGG4HH83MUFK4I5P74PUMT8QNCEHQ1P8P1THB1OC1I0M2F7L9W1PLKO0LKCQO1NBIBJBQJ2KBXBO0DDAH2I3UUJ5YBES8NLME229LZ5K3NLHL1LE472VQRRQUOZYMCZJ4URG9FTINA01U3MLCIXAGSOC99OVZET00IIASFAB7GYQXQ593VC6052NT3NTWM8NTSGP1LRLBNYDQZFWMZL6MG999C61U0I6B35SFD4OCMQRMHHZ522SJZ6RA0OA5LAD02SDHX054E4CJ00WUNEL2U9CFO7SEBR3CDR69HKIWA7DQ29QCWS40Q3MPX5ZKVYZW1IV3W255R063J8VH9LEI36W5V9AMDOKD6YGDWNZM11P2X6YBP0IN05J63XHJSMICX6FNRV1KVHR0EA8WYCVCG3TS0J5OB8FOTFOHAPKLA65LJQ29V9M1GM6LR52TZRJSM2ENMQBD43IJU7JTVMYYUXFB0BCIWBZPHRFQDN3RRM1FV8Y575RDPLC2TBNC2MV09OL61FS9ZCJ5W443LLHOCHOCT8UA18RTQ0LY5W503C7RRJILU1DJ5JJ0QPW6LR17Q2TBCI01BQOMW5JZZZ4D2V7B123OZKCRJTJR9H59EZB4R5VOGSFV95VWLRBWTHWEAMHXDE2OU7G0T83OLEX08UMXO49VRYAI12KLMA0VVX559NRDQ1UWYAVH47PBVUTCS6F9AFUWVSAYKJLUACXYZ06E5TWAHE9JYV9HZ7KBNYMUYIMS9L00QVR8NSP5W5GFXGVFWMPYTD6Y16Z9POUNVTOKIJ4K0KQONSVF6XITXMANIAJTZ3WTRDXOYH0PH7NQ9SD1BDUAVLZXRXBFU9L7TNRKMF div 36#AAHDNGO3DX7KD3MTN3QGES6DNTA1M7EEO5ZMK02FUFJK8QPEPLDMOY0U05IXZT3VZRL70EEQKQNPGG4NWEML2UKZ47GFO7AEZ89JA83XUX2ZTKLYTSZIB7ETBY8ZP4EV2BTD9M2M2BBO9D0R0B650NHOI2B3EFNYM7SNOI9BFV63PUMWTBGO3XH2CO2U63TGXY1EUDLVMXY18TG1RIIE3T9FXNNIFHRYD7KKTT0S68WWCAJJYXUWIW9ZBALXQG3NZBUA6X18JYN96Z41P822ORWF6I5OHNJ5RXXW9YPBHZNNPXMZEBUHPRU36FUKWQET8Z4J0G1E0Q8VUWYAQ7F498GJHFU7941H8TOAI4MVY9CM8JGDLAOJFYKPY6RMUA1EO4F4CQVY2UG3HIQ86AE1C3OVL81I30TXLM4D7WI9PHO82RU1DOGI8HRV5DTEQWB9G9NE7CRQ2CRKGOAW8LDGJ1QYOI89BF2X6PJGWFJYMZE890RFOMK6TLTRUNL6WRW6Y51GBL8RMJXG1Y3B3LYQW5LXBQQ129RC9AEUW7ZWAS11NO410FQVNR5O3LFPJ8OBY3GHHKCKLHHG59IXZ58NDSTQK6ZMI8N803V60TRLV5OM5Q5T6C2URL90FW2OUBY1G51X04OEPZDUQTA9PD9882LO3YAWJUFLV1T8UDOCNUSGZ5P42V3UXK4DCRRFKFDCX9TU5VFD3WPX055FI5YM2LB38ZVJR95P8CABPYBJZKZLTHCDFS22SJZ5DO61W69QB85OEMXS1Y966Y57KWLRGUD3T03BFKEZTX4XNXSU5YSEROGP16MMHSL. +-36#1GOCMWIEN4YD5601IRIEWJO0SZ55ZQ610UKI9ODOYZ1AS42O0NNE1NH5OYVIRD7LJIF8O0XV5TDS3OHIFDCR5QI5FO4LB0PI1CPIN6QDVCN9KK33L2YVD3AY0G4UBQ2RK9F2PDNZARQ12RIMM8CXUCMW8MCBWWEOABHWD59I67ITZ8C89KN86T5W9HOQUGA96P37E3NZG4BCNYFI90VWV51KF6YTEQRH9UCH9L849IZAQ5MOY7A6U4PFOHG8C3R40D70H86TW1ZKL78MPOUBGATBPTLZYM31K327DTO7VQE8F8OS0RE3MNUSS6KBVALZZ6XSGT0VEQ9VL7PDELUMGUAZK6BXZIA99QA0KUWWTV3ZKVEFBF8T4SJXHVN8NWQ57E2A5CHTPMQS54Q31C6U5EM7CFPZDPGA6CK1Z64ZGS126O10MJMM6TAU45NO9ABR99S87Q0QTSFTZQJRI2PARXOWC19IIPU0AASV73UHKKGX2T2M3M0NLTGEKYSBZYDYSP9UCHAMDG33STZ8R4BCXSL3005L049HGFZWNRK6F0LZTILL2U46AXI2QIF0GTX0QT2ZZLV3PBTHQSBFIH2Q9FUTCQ1NMRTGXCL7H1GY01T1DNXUZY32KZ1XK8SMACDCDPFHXQ3097V0IS15I9SEPJQNDHH6XCZHUR87L548KX2YH10QOFU1K259SL2T93XYGH1YI4M0B1J4U04AP2LHRQIDOFS3ARSBRR5IREDM82JMD812V8NHRXFU5M0G0IEVU2GBWAGIO5FK91UF09FSCYPP4X0MGFUVFID2V84SVFU5NAA7QKNYK13EN7IEK0YJP1A6GPKQBL6L4GG1S378W0NB488RZ886UAJKMCO0V3P3EZ34FHGIO0X4KY7GJOK66T6ZB9E42BM4XY076 = 36#2VPD2LA4NM11YTGP0HN7BJVVBS6SGE9CVNNL0843GT5K6IU15U * (-36#IAAS3EDR5G0T8GVEHHYI8QHMXV754CCEMOUO910L74ZYTIXHQNJF34HDLF47L7HEZZK361YDEZTETU1SMBER3RCQYUB2DWEPXDQRHORNC90SW1O5PDEC9PUUZ1OD602DHW8W2LAICJF55CDVQ8QZK6NFKZIUCJZNQPGD2TBAKZ1KHDQF9VO7A7WZNO23UKKQ1GLMXFEQDBHK8XZBFOHJ3L6L8142POTVD1ETT3V8IC7YAZV5MCTJKGT1Q4O9SP1T4SZG68YTREVI0D14DCBH0QLP3G18KDEAKLMSJSEZBJT5W4T0IA9448DO9W8QV990GGPXD08YR7B6E25B67DG48B24YDENOQSLBP26WS67OQPIZ1LDATLHZH6I6EYEQ2WI3XQ3PW6KXZJ1GJ9GBMUC6M2NEX8D7R9AMHTFEAOTSVCNL3GH3NK8EAHV1OG3CLT25Y5ONFFYOZ5CQJZYA58K8MOIKYNQ9SPBOR3540DWPFD5UZ8IPCNVCB4NRXBWSWMXUZGC451ZKI9G4L9G7L2JZ9BIDBCBINNMDIIP2VIX3AA6IUCMJOUU32D22THCWQ4U4DJCSYIKGIM3MR9CDDNAKONW2LGANPC9C9YGVZR0GWC6Z1V2CE90BLHG7PS2G7H96QO8V94K6RYPTRW0S1ARLQWFFZ3P3ZNW4QN320IKHY5QVF7ILFTG48YHVM3NS6QUBLXXO9GFSP95PQZZFFIC8OUL23GIKW45BIVU5CMLWEKCT9MLPARXCQVCXLNAIEOTD67DABYOA321UIZW4Z3BH6KUL7E61CQ7YTD1NBIAUEKBXZKOU2BVY18GP2OPYVIEOI3NNF5VKYF4A5GSY2SRSDH4A9DKLT). +-36#3TVTMWZS3NU9LE7A8S3MPOXRT4RGMBNEOGBCU5Y9IAVN3CZG12UHCKADFQ43SW2SIA4Y0G3PZCFSSVA9XIM8IFRCDCKH676HHO18SUBTI59M9HQYUBUBA0DR6KDLDJYVK5UDKJHU2LHBW21YP58VMYOGDAWLYIVYHK41J172DFOCTUCI16BQ8ZP4489WH3JPN7LLYKHUQ237Z6VIKO9L513ZUF9PDWF6CVLI85RRZUBAKGQD5EYRUDY8IW05EGCLDOIH9FYJ8S6JMDUYN2RJN80BTSGKZ5EJFPI1OSKR7DXK4N6F3SZUW2UOEJ2NQQSO05PM5MYJ2UF1GF25NEH9T2Y9XAQQ94EHPFDRL3G000Q7UHXT = 36#34TTCNI8BZW680HV2S9SHP3P5U49I69KPIHY26OSMKI6PJ8XECU9WPM3SGSN0DFLG33N0OZEJNKHUVUBN2EGJI27EFKUXZ9B5SY70HXIFHD9XIYQ00C78IN348ST6AIYNG7JYNAVOVD6H6BFKKH1GO442PBTK440O649077LUZO5PDW4RWZCQF9LHD3TXFR22XMJIKHTJ8IHXYJ59R118913J8G0KL195OSP4L182S8AHYJEN9ZPUW608Y1LTMFJV6RIXYB6ULEIRMX5VJGCIAC0ZYN33SAQJ9RWQZSYJ9XC3UAAF20GDRRC9U41UQ2IKMN6S04PIKBK0VOVL6EVYDI3VLXKU7PRNPJXYKQH5OFHY62JZ6FZ8GY7SN3UBH05V7KIRGSZMTK0YDH54T4OTVV7039MV5LDI div -36#TGHUA8PSQZQ2XLZC3VCSTU7ASMPDA8TZAIJNC5LTUA1BS23DI. +-36#7B4JR5BIYVKUTIKCGYPEKK6YVVZ3GN4I46KMF2RZJ7N71X4RYZRLSDSFVZCRQWL396IPV6ZJRV7RM68QI3GKC6R861GPRUQXK5Y7C6P8RO1T4YNGM1T1G9MJT9OP8R5EPCVMWXV7KJDLL1NPMI1218GRUBB09PDLEJD5SLT8AUBX3HMAH5AIBCFMMHEQV9VMNRENP00L419U2TO83 = 36#M9673NGEBQ25VABZQ0MFHMP98JXBC4AVM7AHZQO7M7PNQRMTN13RXHKPHXG8UYZ2106W1XC3RVE6YR0G97ZH3SN4WGLLQ7FZFN72R2M6B2ZTOKVJHBA3S4LPSD2103D8SZ2YZQNPO87WF5SEXBNV30YHTUB1YX0H1KYYG4KNHEC91D4WG3RJRXCW1WEK0550UZZ7BWN98QARC68JOQ3TL3QV4T03OCVAOT5ARFE4C1YYHKQI14XOIW6AEHW8VHXCYNSJA26D8FZ96N7KNCEDZ82GI6Y72VC div -36#31M32VG51KKQSBQX8NTJ4XG3LCZ79ETB0254VYC5QE990I0LGLPOJUMF59ILRZ1R6FXWWMPB158ZK7S. +-36#XAM2UM6SET58ZV94HZL9V539Z9DBZ1D0T9SA2WX1VS2KQKSIM = -36#1HT3MD2BHQFNHOYHWTY3H6XEAYMJMFE2U2FC7U3EE84UIWXKJ3X43DB0WXNDJ4WVVVUWGOKJSVGY84LK4PW5BX0L773HAVRIPD4 div 36#1M6HLPKELR3RMP6ORC3B1JYLEHDELZAETXPM0M19R5T0YOKH8S. +-36#1IERT5HW398V4YF8BXB9ADLBBD0S9JYHM216PQZNG7BHE7J04U5Y1UNF7MQPTEPFLPSZ7YOYP6YEZDJCKRZY9PNHEQW4GS83DDE0TQ07EX9MNII9GEC361ZDVL31F0SVDY0GKZBH00KF2JXXA46D6RLF35WIQCVE5AYOGIW1PCG77Y2KM9YLXBSOP7FWCT6G9DBQPKSZGPNBM2E24CRUWW6A3ZRG61FITHL7VOHDXF0U4BQX7HXG0N1AZ0SAL70TB4J0KQFSBCWA5ZR0NWHDXX7WCVSL2I9C25MTUJTAA94ZNO78E4P8QVO6C8BE26W2DN1GY77UGJUJBXHJ7O4UF7FDJGBDSPVEP1VSBXX26O9TUY7AMGRNW8RZHQVRU0QYK8HL5T2Y9XCOXSXC00I1SDKFYJSM3WDZTJ1MYBY6CU52B8D9JP7A62KH9C4GWYLU8BAGZDW8TDFN84UR7ZJNTG5H8MXPJKO67TMIN1GPK195KJIE5AEGNZ170053EGSS00IXQ5G6ILWKLQH8ACYPSLP0 = 36#PFHKV06MSAHV68JALURALIE5NONNWNSHOULZ1BP6XRIYZMZOP95I4QVOHHSMOJET99URAXFSG21FUOP0E2BTMIOLTE97IYHIHKC1GIUJSSC8N0D0JNSOH727CNCJRRPBQB74Q28PGHARXL6BFOTSJNYHY8EU6MFYYMG4HQT1N36JJP49JDEBMNWWQYVG2TA8AC343RYFEK99H4ZS2HPPKCWJWS49XGZ4TPGBM3SGU42F3DEC77EZ689EL9ZWPPPX9N8TQX6Y2ZJKIHQNBPMFXIFHA6HUVOL3JCDW9VUS9SM13KUZ7AYBER2WSSEBVTXPW918XGSTDZ3URYN25XFG7NZQ61L8K96M00GHUE8WJR75XPAJP8JRTXRGMJ8SB0RBZUFCCVAHP1AMRBPO26RGPCYWGFNHH9DPVPEXZ87STB2XKNJWXI3KEAT80DT1FERJYF1VRAHPTRUQCUWGFPQVC142YT2FP2WSX7CXURHBAA92B7V7R2033I6SEERUZEIVIDFBR9NFKHLHNZKRQGN00JQU4QH2M6OIIUEX75BW1SCD63Q2TY0UER6XPYIBZFL0PTEEMJ2QHGR25S4IYSB69B0U96M6YZK2DUDMY0BPLWB456FCR6FCDX79Z908C4V8TP0H8IUKJBZIFBEZHWHJ8JTGLM330814KFFGK6O3LT9Q94B2DGOD70EH79Q6TCPXJMF2FIWOXL79SV3KEDSMGK56GBJILIC6NQXETCVI6K1UHHZM066FHXIQ47U7NBDXBBVZW9HV9Q0 div -36#GTQ0JUEK0RR3CW9678DIM3W3E7RSPHJQR5GD9S2M05JUGTU1BHM28VPXHU75L55UJFM9T6P7FSL8Q2LMZ4UVHAX0ASWIZDJU85JIPQ0Q2M48I53677S4SQXBTN3NPLDQZPU79KW8EVOE76D7XJKYSG8MACIIR19LN6ORSIT5OAQUQ0CFEEJZ21P2NMX1ZRGEZQM7V9QUXRA1P310TZA0HRRRD8M42ZSV00YO2LB7674AEAZL6OUE. +36#2YVHC48LM00FX0CPTZTQ0GCY9VU9CSUEJTIN4WMIQTYF91K5S1 = -36#750GWN4TJSR1T369KP7AD2EWW4197PVEMCSFS4MNCGYRYRYQI0835KPCQFGQM3JGONWWB0STM8TERUP59Z0POXG9PR6DSLP3TEV7JIWEHQQPPM9DJKQK7AL45IBR9LHTPYJQZMYVMHDDMIKNLFRKK2FZ7L21SO1 div -36#2EKMWM4O5CQ5BGDNG88KLASGRMM9ID3M6835CE005IWMTC6M0WIYICT9OMHA633CNBKTVYFDPFBT3PI4YRWVBBJ4Y787QPUE3G1UX2026T4QW1. +-36#9PUNS79BTB2ND65M9BDJQHEVNXPXJSLEFG380XC7V35WN2JF9 = 36#7PH0QQHI4R0OPI93JFRUXSJDDFQ4US1T7EGPQROI0TPXH813H1LV9RWSU7Z2OU3D185LP4P8CY8UU9RV11GRILSOC8IC7RNJMDGVH74CKR8XO81GFKZT9JMVGD186O1TRTCGXYGJ5EW3FBY359XL0JVML0R16M2D3I5T034UN623XKRXKFW4O4BB9L7WSM8WI9Q6LVZ9MMQ1MVL8FTBLXJAU9C3R6YOB1PK8TWZ6R6YVLWZ4MY3W91JBKH3456G8BOP0I26MG4LK5D0PBFF7GVQPCYFDAGIWS6YC0A5W43SQNLF9EEUP2O5Y25R3D491V698J9EDOGGJDJKO00RXG6RBU2QWMWGRM1YI3N6RSDJEP0XM32OUFXDEAF8AEY7397000U30W6SJWIHVWAPKOFPF5TRGGA8HLIVDAR7XVFUZ26FEHMMIQ5YZA6B69ERUSZSHR5M7P1A2PXK97ZJ4Y8DRDFS9G3BA9X3IP71ZS6ZC5IVG084JXH1CJMZF645JV4FY06YU2IU85ON3H50DGX3MW68UUOQRK0U9VZ65S14Z5DC6T298QHFQSK4QDHQ47W2YFSU1BEAW65DE6N3KE03ZS2M25CNB0SNGKGHVIVBTQG242O9RSRFXJXZWO8UR2ZT62H4XFO3PAJAA2DNBBKRNAR div -36#SJVLHNN7CBHYLQRRV08ZRW1XL6XTGKCJQ1SR6GL3JAP2P3QCMS5WNAGO1M2MOQR6Y8B817RTSXMRQYCZIO1LC782ZCDKG6QQN4BNJSX4PAK15ZALGYVDB8WHHICI9VDDTA5YPIH6CADH0PVUKOSQLW3XXB64RG1H2BTR41MXAXKUIBUNGBUYH8IHJSO3CSU0C1FOA9CIAZZGPQCC8KABC1LX7WYT0V7SH8JU7DSJFSFMZCO2GD2QYVQ55SXF7E9TS8KRKTKOAD8PF98FLQLTONVO47RBWEJKBPN1ZKUFPZRMHMLK8CL1VHZUPTX4FDWB9MPD748TKFPQ69IZKQY7NBG0EI5PH62WTJ9M3M34NG2JZNU0HFMW6RKQCD1MIG5T9TGSFKAM50KQKFFTP5Q6Q9A7X2TOPDV41T7XGKDMXUDT9S8RGQ8NMB2YIFON6NZERW7XD5DD84XGTD0G2IWXKOMVSGQFZ33C7MT3PTSKC97XB2QAV8BT3O655D9WGSPM1BJXSHZR0MJ2BEIGJ31E2P10AD0DFZ0LB8WEHISHN7OTIUXG90G2R1PL0SSA2TSREDG2NURY8ETMBR7OLPPOZ1TQSHPR4BCTPAH2DP2LJ. +36#A3BNNSJVZ1RODPUJCJ9PBOV52ZP2Y2LHQJWQP128EI0QZ5DVORR8PQVZWHC77H2WZ68Q84WESSETIFO449Q2D9Y3IK18BR9AI4O1BHAAXHRRFP5GQXOEWUTY685KHX50HCDCGYF4599YEBC6JRBC52KHQ9KTQY3UW47F8OP3HTAAGBTADA64S57SS6302JVDYASUA2M11V5JGZLGYR1SXM4EBQTU9J14KXOO67W1AEIIBEOCT8YE4A39OH8XH4BWN2US7QU3DBQ2YPR4OZJ4DOZOW4IR44XDO3SBI2M8IVWAHMAJ1O857IVXZARDXVMPY6ZA3FGC907UGCLL0KHCSGENFWAZ3IROGVA6P0EARLPAEDY7A9WIG2F4788CXFCNDVMHYXURFGWOSY2GDF = -36#H2LEDILXEMNWHUR82PTCLCIS97FFHG220ZRJHY3TDS0W0BU61Q1UMAW5R6F4Y4IMSEA05I2GJUSQ429PGS9T3K8DBL1QYZ8QBHKVMNLXVAWD8T9F4U9MLDWWD1RFBMV4STYCM6AVNCMROB56ZKQGKO38PI85JST9K0UTVCDKI4QF4ZIXQK8E3CR0Z1YR2ELX9HN2KOQB57B451JCXAFZG57XU4VVO15TQEW9DY13MZB6VU2SQ4CEAGC1JUD9Q0NNK0JWGZ1M9X90G2T2DYJBSPX6VBEG5QI1XGX2R6AFGGXB3MA7Q50C8OKIHX9YQQ2RDFVN8XPBZ8376CMCJKY2VPJABA0VSS04UX5OM6V9BR78ODQ4MD51JKARM54X1AD5DQU251QHZOV4KZS4MNSBR0WNONMXT8RW1T4YI2VLAD4SWUY2W6QIG9MK7B61SLYWWC6 div -36#1OWARB1XI22ERY0OQLTO74WIKXY1O6N76ALD6CD4YN6541VOSY. +-36#32F5SDI0YXLLWKQPONC9OYLDTCR5RBA59O9XXWEERM9MR3FDPWA8YJ0HMLEC54ODQIAV6F4WUZA96YUW0U7ER835EUHWV4056SO0BC8S4W7EE0HI3OST70YFOWXORX12YDWROZM78LFWMNLBHI75K7PID1A0NSANDIXWOTROCHLMMSA = 36#191S3Z5YY3BL1NQ1PS09SUSMA9QDKG8PEPKGYK09DQU3P99LUHCCQF5VKLT4FLMTQ5ILLSP2GL5FS9Z83OQL9EAR4UEYEA5OTUTYULRG5B7L5501HVASVB2Q7F32PY * (-36#2G8MX0OB3Q4B83C23U0MRGFKGGY3BP5TK8PVN6HCG3AB3TUGSV). +36#1BPBKNQ4OG5D5PK4Q3NXD41VQ8P1BQRAQP8AO2O7WKV0PU0AQB1DKBRO88GO9L8VHQ6ZPZ8S5S86UXKGSV232O38UU2W72YJSKSTEDLL5OZMQWIZLVNR52PX4E4NH9FF6XBO6RUYAJJV5FXLPHSLVOQC4RM7U2O8DGBEA4URZ6QDWQZCHAABDBGC0RH4MNUVUFRRE59HMCHR8HCIBZZSX73HJN2P33WBFLFE94I9TEUVKBI7C8KLHK6912FF108MS4XVVH4MXTKBN3VD9GFPJI23FTSFL2Y9NGOX345R5K2M8RY54X1FBUIWM085T2232UUQTF7AL7CS5V9E55JZZXFAPN1BW3T37KI0DB983UZEUJEIJ8SZ4 = -36#13WLDOT2YZ9DEZJJJ15Z1ZCPQJKWTGC2U895EQYYK91PQXK7SA * (-36#171950RCFB3LSTWHXU3G6UF08ZDCHNJ5BDHM9ZMZ9FXWLASJXCXTT1372NW99N1H1F2PZOXK0FDNEGNCQH8GWXWQF6IB24K0PDD7WAX4VO00YFKD99Y0NVYZJJGJ1UCL4T8CLKY8VAHO00U0BHDO42EGWHCAN6593QRXMUMAWMEYJMBB2G5FM5GMXO3XHGJIQCMFJ5UZUE4KWF8QYOPG5105AP4PR5F2DNJOGV3AMNL22VG79Z81VZ6LPZFKXKS74Q4RRY8JDI7DWHPLDYGBYWUVG9ENKM0K2KS7EC3L8ISYAFG5FSFM8DEIH38CSG8KEGL4). +-36#PV6TLO5FD12DFJE4XS177N27NMPMTA5016QAJTYZ8JRHCSV1603EPRRMEJLHP7SUX09TI02MRH389E294Z5P4ZEYYIERO9JP5JOA1QN77JV9DBJKP0W13QXP8N4S0IEH4XS61WM60MGTC03SXUETUHWSNQ9Y4SVEKWVUZQPENJKRKYV7FEFMKUBVPGCQWPGV2RFHMI11BL5ULSVN8MSUCFHA9WBO8718MZU5QVBV97ZE8RXYCB8ZHANRKHHCDGFSZKLD2T17581OMRKBQUQ8V8021BA9DITUS34QNG8G5FWFKRQ2KWMU6RZ7LEUJ784CZ4F98VG3K9IEKQI0WVEVWZU12W62F0GTXAC8PYVY = -36#14QUJLZFF0MJW6KD9SA35IRXH47AYHTE3KENC18R04VT8O9SQ7L0SQIAU0H6XQYQ8IVE4K70H38IJF4Z1JZVU0FZIZCS45N72N7V4W5QW1DVOYMZWMZYW80S0OQCE95EVYFUB3FJAMHLYNJVPCVAQS0WRKAZYUWGXLP3U68CSZ24CX14T3DE4SBV408AYR20CY6L5XR7Z7WJAP97NJGDE5WSW2NE4R0LSKF8L1BD2JOXINJFKPC38T397RAUURSGJLB3G5NQK1P2RJ4WYF94P8GW9NZWI78Y3OUS7369BDXHQHDO0S6552CS8A7SLNXSOIAD86N9OARZIL6Q3SDIWMNZXK2UUOKUU50QUNGJLYNKH6L8WXR9O02GRSV16JOPN4796L02HBIO59PIX5LAPM1AR0 div 36#1KPIH0SXL2X9H27U6MUZPUW5QG9HHLPET2PVY1Z374Z01YGUMI. +-36#TDI0RHO6JQJELPG3A7HZHTCH42UOI6SUS4DQXBQTWU1WGGLN8R3RTTCAEQ46OJI46OY2HK2GXM4T30I1Y3NHK93L40CS5OQMJM6L87LPI98BVF0JYFDLJHI48J83MVUU31SXIQ73R6ZSZETGY1PU04QBIOF87MXE36L1AZ1KRQA8I1R9P164I0S08CLPK1GWDC1YXDBZPN8HID4T4EF9TP5ACPIBNLFOZVWAZ0HW9KYRW3D1P969EUG093DHHR3E99V3CSX0XCUQCET33YH52NJ2QGHKKZ04YG607BOIKZZUCSRZMXBGZIU5IQMFKNDVSFQ5VUW8FVU6K6D6IA0129OWQ3DZT6NOS4L57V7KT2B6TOUBA57D24ZVRFG4BHKFRUELP31DKDMK5PKSVRT46U72YAWXSVZMD0Z3ZK3I3JPDVNW9S8L5AF9IODTZTJXMO4WG0IVZELV3RVUQH0FW2G2FLR39LCCJU64KXQH2NIIEGQT8GB2XV3SUSAON8O7FVEI2OTZR6R31PEUSJPIXJR8OO195P2E8RGYS3PKMWTF2ZEPF5H7J4INWF6V23G6RHZRNKJ530SKF7CVQSMMGRDQT27PW0W1YTLA6I31HG3M4C41SIIL05UTFSK8KQ7NW7IA746B2DZR9LVDN5GDYGHI3T5E76Y8GMH7HMGK0G6P77J77TGUOUAUWUITCEO8M10OK0WWRM46PC5XDQNDV9KIINEHK5BP2C84RC88GEX9ERA9TEALYP4LA2AIJS5CXXS4DYXBT7KIAE37GLSR5KITYCZHI7THLJIRRGTAPH2BHTKE1ZIR5W0YIFQFSQ2GM6HFTYD3U9KIHCVY5KGLE4TJG5TWV83SX4U98YO60BBVVN4OKSVRM96WH71G0AOGSIVFP2D94NG0YPH388QCSHHWIRDFIZFDTWI8UD0EF6W5D2TLSC1TXQ142NKA565VEFUAHPSFBPV8AE9TG93JB6PJ19E0SPT3CQHUKWEFWJK592KWSV6MLKIBEQWXUUYLR447831UHAIKSI3972Z7T7C7FS7GBT3UFXT3UHLY7DZDD7SYY156MQZFE4XR8ANKCBF71CGG547TS5NLNRBS3BVKK3YD651CDW9U1ORVPEBMHG1IHCTTJ3UMAV4E2JIOE9PLDW572SDT33OAVFNTW8CQUIUO14G5AA41YWZXVRVK8H68WML9F4VAXRWUR4BU4Z1YVQEZV3NB2NYCOODMO4PNH2QBOLV6VBTYUEA7F1QNQGM1K0GKWR2FGCLM6BG5M8IYGXI88P1XFWU0Y0ZQF5DT2CG1U3HX9EQ98CS82T67HU3D6D36D50SBTZUEDZPU4S486UMJU350PWIZECGOV1RIEGK8JU9PGLTE3KX89R3KUADEYHDWS3XA6RNR4XD2MQX7LSA69H3KUPOSD9I0VJZC44X00CNMVCQ6C8J8B6JGQQBPN67R4CG = -36#6IS63WTLV80ONMLVFTR5AXFTN08HAZS4P10E21DIFAMIJGZ59ZGRGHN7OE83EGHSYJHTBX7OOO8CSJRKQ8JDCLQLDC6O6V5KLUF21JLW8V7VD7GJU0WV3PVNJH9UISQBY60Y30KAMDAKAMWFYJXDMVAGOHOFJAAKD5ELRV9KPS4ACLJFJ0NHFPC8R0RAULPJ98JNPWQWNK9NO2SSV9N85FZ5U4I0BGKMUOEHP75QS3KUOUV6N9GJWR5A26QBJF6KW0EA6EZ9U45HD5OGYQDOACOMNQNQTP42GB067X24N2YBKCKPQF8VXZ3E2BVQPVQ0GX2FR6N4K87WNWQW7KGBQ5IEDEDFJ7FUTCOA1REZQ02PRIVLNKMGR50Q400DP7DP68EQF79AWVW9A71O3IJUA5PN4YZ8FFXW8PC6CPDLCGN4JJ34XM3OPVRO6ZWY7R2OHTF8DS19UTN2SSJ31GJNT821YM02DQ9EM80MC5522ID4O3APCS5HDNM5XZJKFK0ZCE4W62NQ8OI8OS9XO3FQH303Y0ZWCHPTDNE3N2J7SYFCBLFZRU0LL420CNJ4XZ24RS77N87JQG5QKWDFVLVF4TIKKE8E2AIRJE2ARO89MYO6X6DIJFJJHJI2EC82MJMQA83RXK1KYWB5KV6FUC4KELDNHH7T442EG4OP7G7H6Y7OK5Q41NIN6I0O58TCDXB1N7O8F3RU1ZLC81W9Y1RLPN629SXMYM62RHFP0OHJ20ZT97UJ97Z30Z059B189302M3WBOGT8TJK5ZT6Z8QKO9K9J9BZB0WS70N1929AK0IGGHVRG6YOF21OJ8P4Q7Y2MS1P4LVJNTFOYT8X168XPH1C3UFAUTSPENHQBQJFCUZ88VR3YSVJ3JNGNGX11HY13JDDNZX8PGDI66LB32SPKOVEGDY2QOBJSPPZXX3TOOF6RTXF5OBC7SWTDZT30ICN70QUDZ7639Q100DSUSN21DYSQTB35UJU357HI57Y6UK9LXN5A42ZRTUAK9FXUD74VWZYBJPYQNU3ER2JJJWTMTLYZCPRV5ABQ9A51XIWAWLN53EYRL8XZMSS8UVZLCYDC309VYW8YMSN6HO578KOZ9ZW8D5RLT3V2OWJM4AIXIXY1W0EGADW1B62KNOCK3SEE8 * 36#4I5EMEDZBFAVJDGUCTEK2BRXX8Y6Q30BEEZMD5GI6PQCRIJ75HCJW2UC205CCNBJK67ZHVKHR9ZMJUJ3BUAPUHCRHH8LG8T473H6ZX0UBN69XK49M6DGAYOOH1V0XB5RBJR6FL5Z2QAUDQPRZGLNYBA4ZXAGEJ09AQXT1IBFOA2WKRUOB24ZAIBFCTBB4S6QWSG0P0MS9XWEB3RYAVH8H3YOT2G36GFXMKKOADOVZHTD1Y0UH4RI6CUP23IGUMTLU117GBO9VA3AHYH3FLA4F7TINIX9PZUGI8VGZZ9GS6TZ9GS152EQ0G2. +36#13F89IF8V7CIALFJYVFWJBWQN2SRRWY5O8HXW3JDTAXUL7MFNAICONGBREYPXLZ8015N5TNDWB797LN6SDFSPA6E5RJJIQ9CD5PO3XBCHM2O9Y1F0FNVZXBVEUNG6TLRNQ81FVHJ3M03AMY1S1U1RCR3SCELMF3PQ5LLHGYBC7H5X6H5YJJ5GULNMAP845IZX9FYKG7D4OR0XQZWY3FPX5O8JIDAVVPXNVQQLQM920Y1DAOAITCSV9CXX4718CH0KMCHJNSNP779T23CX3NNMDE8QQE2FJGWAFR82IYTNOAT3UY5NGUQBQUI96N6GQCLPSR1JNK38REVRBWSI2QM1B5HSGMTB2R8S21QOLDJORPHL6RIGXIJBQZ80BHZJP6J0P9FJED91SXCOB5PIZDOQGR4SDSNGSXZNZAU42RUNNLT4FTC2TU8CB4ZLE74XTHBVRHSZ9O658DTUYXON8AWLVAVXBZQ6DQHQIT0T81T58HTI9XQQ222TD1LS4TS3VGL3O8SGNXE4BC6KRZK8D4UH6JTRAT3KEZ32TAS8INR1L9XNS7BK4ZL0U1FW6Q909G9QGV9PYBZ91SL7V60ZXYEBF159WUX4U5AIIRVLG6QC6E2PCB7L5YEFXTJXYA2LHYR37V3HHR22D2CZ1PVA4EBJC63GMA53DPNO7N5PBNGH3B909ONXBXY532M05D6EJY1Y6TBJEGQAGWKJG6GCX55NLXI7DVXOLZ498PX4NV3WVMANTMXSCCJEGL4Y0Z7NDV574F14XDRE2TG3SU6BXJY3DVTP6HI47K4ZL70M2U9C3AUNG32QOECPDBCHV8RIX8ZB3JP4EYYR2L1OKE4MEEM7DB6QN5124CCM9TWOY0XZ8QBZ5DPNYTL2B7XQCW998Y8Q495YAWGQWH6JTP8VIMGSZ7ETYQNYPFJI97M7CMME22KDTX6E2UU2R3HW9PIFWCPLQUFZBK81DQKV9G2ZW7PUZLZPS81GIIISQUYUNYLGQ57WDFBQ3T = 36#Y4AI79F0F2LG96YMWNTKG32YWKPAN6G4U72ATPR3HMY4OPUMRDO8GYL3YW5Q5388G62J3U9WUC6H8TK2PKAO7XJLHCZTZA0Y1FQF3XEQ6VLWOVQOCYZ18AYON5F1HMF6JFK93LAFG0SI8SJFTDERI7D7L720O3CTU4LXZQ2ZXIIS65W54FY9F81EKCQQLY78MPK7NEJ91W37MHYHGD9QG4RC5TGZV1W8Z6SXM9RGT81RK84PAS61LDGMYMSQZ330868ZOBW9GHMW1KO0OA9QSEHI5IMICU17GRVEZ47ATWZMIANQXD8PDR57476OL5UKSJYBN9D6PSC7VI5YXLXH9DR6C4ULF12H29CZ75TPG0YTFL2YAVFWHJM7PT6BG58L52S3LCSPZGQ3NOTPB678UH4K927K6BWP20GP7XHRFMK9O12YQ58AL2ARW45FB0NKJE806FPXRIWBFD24A06V14PPG3DH4CQXVQEZ6NKGPGJ5CDNKNZJI0W8DMGHQDVYFZXSHVPAR0V9UCFBUGL1TSQJK3QCZEYF96WLSBU8KUO2C9HZ9YIC4ZMJFT13FB0CCO08VWS8YEP2WO5Y9M1ZFAK086FSASCU53WHN2VHWMRMPXD8YGTPRRADHFQ1HZMOCAZFKR5Z8JWXRQRUJ4YDORZ88O2UWEXUA05LI0RGNSXMIUFCGJGPP8J4GI2FB3AIH1K8L05M9IYZLQF22N03GTKJWB340VRU38UC8SKBIQH7BCBDZ6QJ20RLOJB26G7PXBDK9T7L04LM4B946EBBB0P6UIOX4MM0NRH23KF6FZTSUJWI0X6R1EWJBPJDUTX5XPEVHVCC5NQJKL1F9258M1OS0GMRUFWX4YHVVBQC9B4859LW4QDRHY68HLYUIA0LUWNK0OA50U420BDWC1VJTFGY2H4HYW9Z5KOQKQOMMOM3894IT9WZP236R65909ZEGX5 * 36#15LGO007AO09E1MMVALQBAJ1Y9AEN71LTDOGD2IKDL57NT51D. +-36#SJVLHNN7CBHYLQRRV08ZRW1XL6XTGKCJQ1SR6GL3JAP2P3QCMS5WNAGO1M2MOQR6Y8B817RTSXMRQYCZIO1LC782ZCDKG6QQN4BNJSX4PAK15ZALGYVDB8WHHICI9VDDTA5YPIH6CADH0PVUKOSQLW3XXB64RG1H2BTR41MXAXKUIBUNGBUYH8IHJSO3CSU0C1FOA9CIAZZGPQCC8KABC1LX7WYT0V7SH8JU7DSJFSFMZCO2GD2QYVQ55SXF7E9TS8KRKTKOAD8PF98FLQLTONVO47RBWEJKBPN1ZKUFPZRMHMLK8CL1VHZUPTX4FDWB9MPD748TKFPQ69IZKQY7NBG0EI5PH62WTJ9M3M34NG2JZNU0HFMW6RKQCD1MIG5T9TGSFKAM50KQKFFTP5Q6Q9A7X2TOPDV41T7XGKDMXUDT9S8RGQ8NMB2YIFON6NZERW7XD5DD84XGTD0G2IWXKOMVSGQFZ33C7MT3PTSKC97XB2QAV8BT3O655D9WGSPM1BJXSHZR0MJ2BEIGJ31E2P10AD0DFZ0LB8WEHISHN7OTIUXG90G2R1PL0SSA2TSREDG2NURY8ETMBR7OLPPOZ1TQSHPR4BCTPAH2DP2LJ = 36#7PH0QQHI4R0OPI93JFRUXSJDDFQ4US1T7EGPQROI0TPXH813H1LV9RWSU7Z2OU3D185LP4P8CY8UU9RV11GRILSOC8IC7RNJMDGVH74CKR8XO81GFKZT9JMVGD186O1TRTCGXYGJ5EW3FBY359XL0JVML0R16M2D3I5T034UN623XKRXKFW4O4BB9L7WSM8WI9Q6LVZ9MMQ1MVL8FTBLXJAU9C3R6YOB1PK8TWZ6R6YVLWZ4MY3W91JBKH3456G8BOP0I26MG4LK5D0PBFF7GVQPCYFDAGIWS6YC0A5W43SQNLF9EEUP2O5Y25R3D491V698J9EDOGGJDJKO00RXG6RBU2QWMWGRM1YI3N6RSDJEP0XM32OUFXDEAF8AEY7397000U30W6SJWIHVWAPKOFPF5TRGGA8HLIVDAR7XVFUZ26FEHMMIQ5YZA6B69ERUSZSHR5M7P1A2PXK97ZJ4Y8DRDFS9G3BA9X3IP71ZS6ZC5IVG084JXH1CJMZF645JV4FY06YU2IU85ON3H50DGX3MW68UUOQRK0U9VZ65S14Z5DC6T298QHFQSK4QDHQ47W2YFSU1BEAW65DE6N3KE03ZS2M25CNB0SNGKGHVIVBTQG242O9RSRFXJXZWO8UR2ZT62H4XFO3PAJAA2DNBBKRNAR div -36#9PUNS79BTB2ND65M9BDJQHEVNXPXJSLEFG380XC7V35WN2JF9. +36#11DCNMW8W3UX4LIBUNC8QAH8ELO6K2N4GDJPSN84EOVH7THEYYYFYKGQI5YNZNZTGJ6LO28BSFUD40EIHG9RSIWKCCE24HWR21C9E7PPQH9FTVTFV8KU5XFT84YLCTU6J81MCLENHDMYEQMN0OM741PC4XMA0SLL7KLKAY4VM5YP3SGZL3OZ9FI1STSW6BRDELYAJN0SQGWZWB519I4ISHW5ZCVUNC3NV7BQL413CC8G = 36#1PJZUUNOICXRCTX58SS6AH7TV9LROZS1VXFNMWF61Q62O63RGW5P90FBXKMZV0E7PR5IGYBEOBI9V5DA5LQ4XIWA2G4XDRBLLHJVMVCWAR3IQVVPQ1X3VKJDZK330MZQJ4878MWHQM63N9PPFXOLYYGAKL8DGVCYKBBSUTC3Q93QOCRHT5G0CP9WJZ9CLEETF71SRO9LVRVG1ZQ64LZJ81XM0LMNMATFA4NNVK5EBIE24887HEOZUYOHBPDF02TBVFRBN6ECL7RHGX154ZTSUF71LQBMW3OJIBF3IR381GK4H9FYIA3CXU8RVOYPJQY4IY0HC6H762G7BRNQITWR2T78W2JKLPRWPR02ZF9F1EYCIBORPWZ11OEREQNDVKX7BBSRQ3VJRWHJ9B3QZ6IRDOB1UZ4UM0AWYXJ9N9XV8RDAJNFW737O3TUEKEY6BVBBD7VE2MWZJ1VON5X3SPMECQO48J2DMBDPPUKAV9WE4AYK7VGEHX912LH660W37POZZAM2YRE7UNRRUZOCNJ4X3FOWB74QP0GDRKU0T8FQHRFSC6RDC0S11D6C48KNAZKB44CHKEZN290S4NQZ11BBYAKNXMOFF2AORM10Q0M8FW40UUO49X4WP82LFMWYSRSU0W8I00S14NKEPSAQEJ2Q0S2GJBNVJ7S8N1I5SFBW19JK div 36#1NAPFQ7UC7NULY4KLND5AA1D1TOLHA39GS50GSI5RN81ZUHOYW9NFNV96ZMRUBNJS7K8X8DH97CVCJLB0RVZUTAMNTGIY4BU5KCLIBDJOPWTTVKDMCVG1GPW35VA2JFZHTI8FYNXXZ0CZ714BTGLM6OCFFJ7CFUWGU0PEPVJJ6LH4IVKB1ORN3XA2AI2P669K3N71BI8J7CLTEEYPCBF9XEEW8CBB39RL0DRNE6NX9O90RY6PI7AMG5NZ5M3N2BXK8BGOH211MKPW60FZX5UQ4L794INW773JHV8PFZ2083U74W5L5HS8IQQ0EJKGZ36SHRLVCKW1GOBN89UOGYHQD68RQ866R802I5VA37C6IJZO6ISMUU9OP9CO3D4VFZJUPPVZHHGQ53QMDVIUDGTNWACKI0B8F5Z1R8F3Q0QAECR2OXBHN5MU7OHUSHI7CSLZ. +-36#2WI5Y0L1JUTJ756ESSGDP88Q26UE5P2JDBFRO3Y6PO6WSY5JSTUQW2ODO14YD7F6X0Q8JG2EDZ6PTGPR3RKRT62D08K816SM63QTDRZRTEO5X1Q364OLC561KM502QA2C4UJC97P89MJ22A34T9ZH1DFVMNVKV2SCWLYLA3CMSR2QVYZLAOCMVVKW83FYPOANZFH2MHDS2YDA563P0MNM1F0FSTJWLD6HBH5654UZQF33QFFOT5G0D3I0MG0W7WDFH3J8WG4LS1RC7HNBXB3XQ216RRYAQMZB17EOT0ADZA043SAT9DBGCJGISWLH8YUQHNRHQTMLDCZLSQFQMJC8CK8TJGMVX666DGUEOSYY4DVVD7E3TNH3KGFF0QQ5BOHMN1R8Y2K5KCYJQM8M1IU6K2OGFJF3BO5S6IA8IYJLYD94GFWY5P5MWSYJ228HJ3UT87S6B3KFJQRJOTNYRYL511SHHWYJX22SYUS5FO26RZK3P1N82P6R5BCRADLR9TTZ67AM6KNFG2J8Y6JFDMX08C7QZG49ZZRX3AOL2UDU890RUDB8Q6L7ES0M1DS2ZGL6UJO7Q4J0O6P6DBLL6Z2VTQT1VPIPM1OY0YIHMM9NS1YG1253TN46JBABN80K709GDQQ5KYGCW9V9J10AXRHUSMIGVP6ZLU9GDX1NOU8NKUM19ZJQIVIMDYN4MUSOG6KQAWYUV0O5UMTHZZWNSOXA3Q2QZGUKR3RHEHB2ZTGBLSQGG981B619MYRTVGHXPYYXOC3IJ8EJURCK8QTOOAZYGOX8G42C7FUCBO4YAANDO3L3OFOMYHU2N6EJO539Z1MTHBZ3G0Y8GZU0KDD6XGPYP0VBEHRIKZFFDFLTWMFOWE0Z0E81RPCTBRA22MSYO3DDE9PBL8CI67XV0C9QVAYA0STR9B03MALP2QGFRZOTA7CCE6PAFL45GK2K7PDLVHU2RMU4YVT81RHE0TT57I0S0FOTLMOL0XIBHGYQ4MJB537KZ7UQ8H9GH = 36#2LH269XG2WSHSKLN60W5RMF89GC14JGAHNS66CZPEA5WXW8Q45UGOSJV9B4K8C4WFNKBX19LO45XG981DT48LZZ1BDU4UJVLDQMZKCU18IKEOY8V8GHIM9CJZ67VT46B2F87SUBDT9J0CJLNYNRD5ASVWHMX597VMO8GMJ5APBWA46BDSBJMCCA5VFEM52AO6Z1LQ3KYZVTOJHSCYIVAEHOBD16JXNXR5VTP416XQLFNQ10G24EPZ1SDDYZST4YOW7ER44230UL793DGV66VZ7GU099O5B06B7TCWDS1HMYYDGZ0GWHEXGCEOV4O90HQOV95NHHNY6Q9RIJ8NE08U3JXZMKL8D4LJQXILWWXVURQRY9S8ODEZKYK82WOXJJUSJRHVCAVHIKHKQMNXLQISPKT61XDE0V9RO7U2UGHX9Z0QOTPLAT2CFLJG51OJILQUEPZ2CH1TWME020ADBWUBS7PN3NXOE3FLUA6R3NHKWST3PIZ89XRAITXKTQ3PY0SXWKIGIH7419H8QLF6J9US9JGSJO3EWZSEQNS25ZSNMWGW5010SNDW1VICT19SWA2V2MEYNNIHCV5WMTLUJPOX03KF65CC484VIREAQ3HP4HDMJKUTTC0678L1GEP6TLRBUKVHL5R0MKJ9NE3B0SZ703HMUE1X6PUGMS25EI9MMHG9KVBZ8C2WCEVXFXFJP7YCHPOGQQWU120V1Y426Q8R3W0Z7YB0M5M3RM7CZ64OHENIEBFNRJLKRUFE75K5TTUJSCIMX8X2HFGQY3WCUZTB2AXGFC9XC8VAPE601139X6OUYMWMOLODI9HCJ1FS6K964PUT15J8E9BBDJX70HS64TQWSQOBV8VSQILVFGRGGI47EISE1VFLLY99LVDY21KKDXV6HHMBE7XB7VDPDZ8NQ7CH5L9DXF9WTYMCTXIIP1RA573HFHYHRX5XYWDDGVFIZQ8B5ZM66JQQAQIEHJ9DQSEQBFZOUDBADWPQ4FOUHANXO4ZH1AJH4HY5004SP8QDQRRDSXH6576QKZ44KS7BOOWU1Y1Q7DCWP5OZ6A div -36#W77CV7D9J3737X74H0CFMC1SDZ6YMOBYQPL8LRH2P1KQ7Q9QQ. +36#5MJGIICZGWG2VR8J4UO8MFFUX8K8IAS7T4RBMREZ2X4INUZAR09NXGR024HSOO70E41URM5535XUAXY9A6IKKESOGGXEGXSS1IL9V6LKVJU781CSWVLO3PY43 = -36#IPDFY9N6RMO9XUL1YQ0PXDR8S4H1TBUQZXWXLQ0LIA2LLZ3OW1KUQWZA0OXN2OBAJN5C11KW76X8RM6NMBJFY3MJW4HZ020HHNO8VDDGVF3NVMQ3AC8AMXWE1CB2VOL6780MP47IR9H6VIVA67XKD22ELYHHMXW3VMYGS2M984VOSSRQUHBSSSPPS770V0VFES9QL7JMGJ7APCB4C0YPIJKMCBFIWS9J274ZLIJBKWMLO85P9XC9LFBETTAAQLBWIX7Q5C7OMO51VQ6OOJIG7BXWYI02SGI73V9DTS8BB3K3V62U5YPE97M8V4ALS4X45FF9J0M44OZWKEVHKL0IITQLJ8KY3T39J6G46NU1DN7B7NN4ZEMTFUAIFN1DDDII48OUNGZN19M1IRHHTWCBS9Z0C1NB2KS7VRD8IJX6TOZ3Q31OEY5V1FDFKQE9GZ4E8UJJ7CC1JQFQZ7HS7QEKGWAJR1XVX2OTXGIDJAWDKC72PSGLRKINIXGWIIF2ODYD3R35SGJOXXFOURZU0IXKO6VAZ61UR3NF35QPFDKHDCYM9QJOQ3PZZ6KOF57KLOCIOYSAIDY0DWV69ZKBFXT7WZMPSOH1665ADVYUMCSE2PRIZKR3ZAI0 div -36#3BOQ742JE107MWQXPMZ77AMM33KNV74CR42EH1HUDQLK3NLA34SMP98V2U60OYV2UMVNSXOWSPO101DOLRE8D10DWG5N3X7EKUTR5WMZ5JB7WP7PJSGM6HM9SWB4B84WKSOYIN3VW56Z0JQO95A6V6U44RDBUR4G6YVPWWCQI48SCZXRFDZOMWSLJ5SJFEV2RM9TM8FRKEWBH7CCQY61UO3L3ANZ8V2MPOLJIRQ9D4F43QRE7Q7B7GTAV50ADNM9YTS6UPPAEL9LVNTD63FBUI5NZ43E1IOWOWHHV30REAAKIYPOI5WG263QZK2SAJJEBB5W25CPGLD04FDUGXAVDGM9NCJDCJ8M17X99S3M00P8HZHUBQ2OA9964NUC4BPJI09WHCWMLJIN5Q01UX73MRINCGVVQ2WKAUEXS6BGH2K3AE8FGCQH75XWB3X91NKR7STH96Y1B6HK61SQUD87CQG0BJPINSSMB22AQ6RGDTHIVBZWJFSALN5673I0. +-36#RNEPP8PQ7CLG4XZBO9M9EDQLZNCEDW06GTFR6VQUC1D52IX66GVQRSZS046G77VF0NA15DXKSU4CD0TH1OJNIXTFJLOCGQUU7FNROG4QI1FKRJ641CDY6I536X1WBKHG9TE4RDN6ZE6K1LMT9XG97R4UC26JJM28U8DIB49J11KHYT2H9C39GJJ70430WW2ITES97QY186AN7WV6QZSGV7F7BKBFIV6YWD8MN89OG2FIVCLH32JZ3Q9EAVDWGNKDTMC5SOOPXZHIAJIBMCH7J4UP1AJOCI2FB10DFPNDQRL61B0ZO08PVTU8OCFX4M2UJGWRRB6Q0EVXSIQ2QG5Z49MVRK7L16Z3KHJ4BGVBXZMLCV5FMIG8ZZ6J210P3Q2EQ75PP1X42TN6IRFFV3FOADBNIYFV3Y8172IT1BGY8F4BIGDANYXH4WT6DFWZHTIB6KWNWMO4NFTXWSZOUCAX4CQU7GW5GB4GG7WL28CWKV3HFB3VUJ3L0A = -36#TR7EFBQXZG4MG5U7D8D08A6QN7DRZEX2N8RZ4R0GKO27YNGLM * 36#XGAOYL64ZFNNI5330X9GHZCPH68KXPF6EQKVO8FBE3G47LZ9BYFRVNUHFVOQQUSHZO4D20AJ4L8JTXQ5PSE1TO3E7RCQT96300T7D9R4MJX2PM7DU8G99LNPXYD0P2OJ14SI82J5CUILIRIJUF0NDJ2LWJ7L93BK5NBVX60XTR0X2BZ0VTADH9IV13JK3FBPF31GZM6ULZG0KO3JPSZG2H9A4MTKAQMK5EV6JD6TY1MNT7T5QDB02W9UZQHD6EODP9H64IE3BSW2T7BGASGBS7UAZQ8LH3SE3XIGU4CXTLMI9H82CNJWJNU172LELRQW5D0705HABT2FXFOQ2LLNP5PY9U8WPACBCXEZ5N3U1G43JZE29GBE1V4GLVJAXR7P1BLJYQ0N6OUP9YJD2HN3QBZM5N0XT3EWIIUNGJHXOCDUEQHA7CMJBE5BOF1146O2NIN0P. +-36#1HYHO3PPWGYQQD0FFEAHFD4MXX50VP7A277HEV8FPM989EQ3PN = 36#6KN3Q7K3E5BCZJBU3Z7CSORUH05XF4IXYEM406CGBJZYQJ057G4U4AGKQ3C4BD15NTN0WEO9QQ1I6Z5PBLAPMQAK63D1J9UT3GM67QXS3CV7KQ162F6ANA1SG7H8R06KQMH4DP2P0JL6KTENYYZPQZQ7BRDE7IOT7MKT2KD8YRSLRMFCMU67PK42AY6X7FPG13814ZL6OAUNYP43AQSR13USKI51PZRBJLHCKGQY14XRTNUI0FGLFRY42C2GNFK1CSOWR5QKEWZ10EONHAXRR0ZBSFLWQNQ9FWSRUGMC9EI4XCLQ0L78PIRDQJIQHIJIPA818AK6DKBRETP8M8CJ4UYCEI95487ZSTMQAOO8DDEOK3WT7EUF4AMQ9L6P0HC70S2QQ2X6BKQPS8GV6H6V9ND1C4M4BOVJTKA3H194VFGIQCDMA3VOPD20Q5J2NMMWPYMFNNEZF07VE7KPTEVB2WJWW3COHHWTK6F5VLNP3RTG6E5DHOS6IUWXXY9F2AXW72N0813JBLPWJBCP532RG2F790T3QJQ6LTLXLON609LTVYCNV9ZWV60WWUC0QKYH1YK7D5R7PLYQ4VARKM6PNGQ538TDH941VO088UW4OZ2GF78Y6PUXIVGSLK4A2YUVNIHBXXYJEQ3SFLNS6ZOJ50AM861Q4EV097UDYTSLQJY5ZI94BYL7YVADUJ5PH9G15I4VL5JZ8WJG5JSY4SFI9QSOLFPEEXB790JJGUXTSIBFUK9XUUXJSB8JXG7W div -36#4DVTC2L0RRVUDGLEI5OBBAASQQJC6DI0WWSC14L5CQ86L86QON47GI1QUNUWAMD7N3BR3V4SM4VUWPZ56UP9H4KVHKWSPVD9F5D6T6YM5BU96J905M1DOIQWHE106VAQLUKSD1F4MDCREA9LQ64Y690MLW3UMC9RRVG46UORPS6VIOX2ZMUX1P6HG76UW5HQ2KX4KZXZEHA4RBD1WEBQT8PF5LHHMNAL1K4AGABEKS7KJNWNAGM9HH5JUZO39D0YZ788RZX71NXWO8AQREMHHNZ1ON3ES5035JSG35TD0RIK078VZEQSEUQX0YF9W9D6DYMU214D4I6FANZDAVHSCPUU0QJKODND3A0WPVS6MWPVUETA8B44KIEIR2NCD2CWV940SKNGQSARDHP4TB82AGTO4NWH5P2J57QJ2GKSAAYUZ3448EPO7E5T4VW66LGSZCNB5XU5DYXEHB4INTPD7CS8OTWHDFQJ840KKFNH06HL5UVE8ZZ9KMX3NHFB6SYXOY9RVD3C71JNJK7CANCL4TZWAI81ZLZ4BN1EC22UTBW37ZTC8ZBTP14I7VP71DVOQ5HP5VERVBVB06IWJRI7W3BV48JGJES1MYRKVZAGBWYWI81JVTS8N80W5DFOJE4GEOHDO04MHRSFZ8WD3M1PAM4QEF19C28YHYKVDSZSR953VLZA6JPKXJ715VXP2HUMR1WLTB9SJ2S. +-36#1YEYD7HXP5ON7ZVL54OQZCDF0HT5646UP33CVV7EB1OB6VP9N8HFGIP3TKL6MOM4U0J3POAADXI4ZWBGC5QZJ0FHZTK0OMHMTC1OC2GSZ95ZAP3WGDS69K3C9XOSQ9TE31VK1DW28SEVGMBC464VRNPHTT2O7MEA97R943ZB5BGZICRMSZXC5KZR8OQ54MKV9H54MLIQRABHUE3SZRNUUVP3OKO5GV2J0GLAEI550EWOTJ4IL8K5MCVNC5JN6KRAWFNKNPSI2F2DH5FWJSM6E3B259XAC773HIECXFD2SJ2YQ7JU7H8BHAKI8YNLK7BB6VOXPBG04PQX31WMR171V6SDB47BQ98838VIL3LC6A69SGWYK27WFUHSNJ1QFJ4S3U4KQ5M47ZJV6BG6ZSWADXQXSKE4FGWK2E4MW4YVDOJLOKTFRYKL3EXKLFE0G0LWYGFY0DDO0QOKGJLUN7CMVOKCCQ8H4EUR5C1W465YR6YRIWJ02AFCT4PC0RT89NTR1QN38XI9P39PGZ4SKN3EEBIUACABKVS37MBDA5KDWRICTST1NDDLAQ5GIPRF46Q112GFIQ5YS5LRAXI4470C51A3N65WHFRMX6MV44ENMA8WWKBN42B1IY1IV6K1F0HG2C62ZUWNMVDARS2LO53R7XLC3IXGTKIU2IGDY6UK0UK7NGCZSSC4PAJJJC81W04XGLDF1KAOQAIRJ0NBT4SJRJ6RJPER4894C652PAXXTEYIR6L4IJGQUG8JPKWA634RZ65A26O266O6T385NVXHVZYI2PTRG7BKMZ6YWYMY7FMWEBNOZ9N896BJT9V2EULG2DJ70PIWA8PH3FU0PBACLLQ50Q37WM5V7AHBXE94NHXQ01JPFVPTDG664JIO0RFPXF2SL2ZDDW0WHX3AXQNIFG4FFZ6V0MUG08SP94AW3HA76CJFQBAIOSFZ8ZQ409KTBAUPUGMKWDJI0KO6L2L3QXD734BDBPUYSZVN6QSOR3MOZ8IY6MD9SPWGD1YIM1XYIUGNE8H03SBR5A23UNRWY7EGEA44YGX6Z9RCOKXZ7NKDUVQ3JDZQIAUK55WHHI1LYEC2DTU2TA89J4WQGK4PRPLQF0HITRJSD2EQW = -36#16YRN2BGS65C46MM0OALVZOPOCFM5OPTLGHZOD0N64EOKBUTAB3NYC4FZ8B27IDDH8UT6GJVZPKTVQI2GQNX78TEWORDYJMJCAFVIUUXYGGUWTXRH55BXG0HHORUE5VA9BDOT8WEFL2YM59GOWF8BI0MYVATH15OYG972GIJRPM9IIFEMF05B0J22Z5ACIMF8PVQNYKROE7QNLMAEC5YBFA96XDCCO838CVNQXYQ13Y8PRMOG216YSESEP238N9DRDHOPXNRA05M0886M5EFAJGYMG0RU3K67AWJ5FXB8607W1CEFZOCVMFDEBG9FA3JIYHHLKQMEJYJJ17D056F3EJAVZEU0N71QEM3SGAECB0HTEQW9INP022PFCG1K8VO0680IXF8NWFHWS9OT7BINEH61EMF9HC2TUL0JSBL85ATEQZRBFQXMNAJFYMP6RFLATSE3Z0IMIT881XY3ZU7R1YRDGP6NGTAQQERLDB9LMFZ9FNCY8SXRFZDOUEKULXJDPSHYPZYYZ9JQ4DPZAEKPBEAAKB25EAYP6TRT7J6KAJIOFVVT2T42KUFNBRXPMVMVQYY3B3GQWA643FAIOM91T2Y5J1DNYDMCDIURDXBB41D38C6TZ53BLZ08AO0CGDCD4O0RLC1GHL271GV7ZKIN689P0DVSQUG5G1OL7GWC0BX72QSKCXA0XEERNQ302BPV5KOFGVC8G4JYX0UQABP1KYNXPXQVEYS8QGMR63IO5LHNSMHBR8LG1UBRF4SEIG4 * 36#1MZZ7UR6F6AV6G0224L1HT5O8HYMBIOV5LU2FZ3RUIP0ZNVLRI2LUTW4WO64TU2UUEAJGVQ842VDZFP1LHIXDV0BYONCSSZ4UYXC92QXNPK13YJDU37CRZAMK58ING6RIBBRZIA3GDW1DY5PX44DN8HGEX1FPJTE8GBUYPQ0Q4BXI16PGZHETB6D465LHOUBOO0IDJ8EUJRP0HDIW72RC89M4H03SVGFYZYL25BFO3YD7WTZ83JX1SHJOQD3ND9SQ622DLG5B45M80WKZJJVAPVG4C0A3DQYUO4VMR4BT85W7P4U8GW0NKNAL0F931471BW9WWIWQ2KHZM7N0K8P2A3TTR95XFKIK005SQ. +-36#E8BADSARX3NYOFMO67CCB0LAM2NFQ0TJV4MRK54M7CQKP6U02Z6I4JZ1HU7FUTRFRSO6LPY2ZN6TOBY5RN522ER2TISL3530IJJD9B46ZOFBIEPEVXIMZE2HPYDL5R1EI1C8X0L64Q2LHHSQ4QXKO21LIW4TSZFQ230P = 36#6RB3R43N3LAFOWNG76ML6SGWUDXQGJE66IE1DOHJ9TJUC6EFRMPZUALSN8VNNCADC0AJGSV2N43H1I7UU6Q3SERHYOXNEFBJT8UOQVY5DDQ7DI4OOSTM6525OWB00QN7ZK2BMAE27J3WLL18LJ1SCCBBSO2ATT9ANBWGMAPAWDNKKRAOOL6EKELX6SP6WPGP657ZQG1P80ERFSCYUJGKCANN02H852NQH2GPJ43YFYE42VMGG6HMR9VWCYCX37PNK1XABT51D5DWX6NFQC0 div -36#H3HWUEH8OI2885YUOF1PPIL081OEY7S0TEYKSKDITIL5D0C094Q0CH34NL6K6OEI765EKSLB24MB4G4R7BI8E7AQHOZTYAW8E35JXD93J623IC0. +36#1PL9MIKZ1JNRFGKWDATJ9TNAX3NYZONFZTRESYABTZGMHT0RCCCUJ3TUZQ2PD6R5RW4WCWDZ58MIV23LH1K6HASTBL4U419LU64OY4ABNWXWBQNYZ3EW5BEQCIYOKUX0CM193YQDEN7MKBLP = -36#KEI7WH7U7PI2Y41UKOXYQIMO8Q72FUZQ18ST62AUHTXDIO2EV1YA36GN8E5CB1548IDD52UYB2BOYNRTNLM5XL6E4BVWASSEWQQZ1NOUQV20K1P9B3F96IAI2L58JIPYM6AW9S5F8IZEPF3Z9B3V658KGGF7Z9JUFV8VCQB26L8K27PO00LAVF5EYVQ893RQ div -36#BXBKA67W324SSGVFDQSONTQLQ0HQ0422WA2YCIPGVD4BLFPCE. +-36#7HJT7KIOA5LSE3OMNBX3CC1Z42TRCS8ZPNVKD1U8YYVWJ75HFKEXYP7JEC6EPNT0WDLK92RX9IUQWOAZ88EAF9T44RM7BUFYPAX8YDXWBOBJTGWSXBI6H210325CKLIXLRIKH11PMDDONHHU5F8NBF17LPRMVR5EXV9N3N5JREBI83OEAYS6KBKF02AR0O4OYK3FXB89V8VG0KGEEM9R4A2BWHUDCCFJBU8VYOPUOXO1XM90J08HNRN0EK9LS7T5Z4D8FJMJTZRN7JVMR20G4RHPGVS78S10CF32JT8LE8NOWES8PBJD8Y1BJMM5IF3FI72RAK2Z3UAAZ1OBU611Q37MVA1QQ7B08PWBYVRMJ2S50ZTLJSJ9FBC6O1TIQ557O1YKWR7EPRHGLGXX5QKFZS8HXKQ4XJ9C = -36#2PJTGDZGG9NSDL7B4431BBOSKNE7AYWB5T5HTODT7FWDC2C54PMRJDA9YZN4U8FT4BTZDEH43BRC7OVYUDTF5X9B3HQTHS6TACJYNSE1XFXHS9IH4JJJHAEHNF917QPW8ILBS1ELPBR0ORV8Q5O7EMFFOVTNX9WVWB7HKZJFARO4P8Y2U7BE7LQDDD7VNNO62UK0PI9Y75K3P7CRN7PLMN8TRZ0EIKSFS5EB6NWXLQCTMCTZ3OKFC3RGYBAXDBJ35XWQ8DH36ZNW435WRRG9VVGV4IH3PI89TDHRZMMK07JKP5DCK7YNF49CF7LLABIE1JH5A9YBGE1EWKKIL7C8XL0PPPXRYTHQV3LVMK4ABKIC56O * 36#2RH39KMTCYOUVQE6NN75GRIWPSS3GXR1TNRE62KCCY98LJPZLN. +36#125QXA3Z4XZXPZPLUPTQJETADMZE4ILU6XGEQIRFBHAZCH12RX = -36#24PF4PVSJXE0567OBA234KZPTAP9VLF9GU60VE9AS2ZVW1267NBUBQI642VDG5YU9FXR3Y15EUCAZ2E8B3JECR2N95KIYMOGBZC div -36#20D4WTRAI87TX22I49Y9D23EKZBA3MB5ICRAGAUEEJAA43PIYW. +36#2PVUBGQK2EAH44KDZU5K4ACT0KERCKFVNYGZAYZ6EY0CDHCCQMP3PE8ULN4A6KJB66CR597YSK49I58FY1FIZIO9J4OR78COEQQSZG99GEWM8O8W5ENFXUM4Q50BKJFKE7N66BKRCSQ864F9OCD6YH3KVK9UHVUN2602955MHVIE7HRI42DM3E5I5RFA9DYQMX0HMD3X9A39NVATR3JFN6PC9I472ET8ZLWR6XNR51OLUTR2PSMZ7Z14LFOQLAUMCZWP38FXHGTK11YGWBZH1CQH4GGAWK5HB9EJAY72V0LQ26O2D1UXQ3RNRBPPI9VGF6LGB2KGIJKHY20SRQ84TR2ZYWP9BQYQK9ILO3PYYCY6W66ZFIUK8T038H9GRX6J631M1EXQCEJ034BXKQ4H65LQRHIIEJYZ8H5TCYBFROBBDFFQG2ZA5PDOBVUASOZXO3RNQDZPZENAB1QAU6SWWBRPEBCWWAKF2WJ94LA4EMFS03Q8VAPGFRYGP6CW4NFKI6F4H1RUAFCXEDL5NJLGXNEL5T6Z4R43PPIJVKEKAVDUKIJDNRIE1ST8EMDW55VVNUY445Z2BLOSIZAI6EOHRU435PFDIY54SJGUFHZRTIQU6EHZ15J7XSUG8ZSYTF7UX8QSQR14297VV3AFKABWF2BIXF2JLQGUTXZFRPRQZ0LKSAFSUF5AWE20FSUB2A3NUW1WIJ2VEVH813C21HXCTCLONF0XB7PWAYHN4FN9MMONC2BNFIZE58PQC4YRXGLU89G1QNVTRHY8LENN0IML28LV5LZNW3NMUVWRG3CHH0XO2TIDK24BX4JJMO81661HBYRKS5ZBSTRQOBWBAB4I1IJ3U98SJHRRJYS7XXFU0021JTALMLFEP594KAHZ3RP35BELB5G59EFCXOQO9IJNC8X9VWLCY5C402445TZ7IN57GOFWF5DDMXLL20V4PORGY5WP88RTVGQL15KUH2XMGNNNOS7QMZPLQWAYZF2PU0K2ODD9EGTAJGT2O4IJHHN7675OBU3GQFAX3J6MHH6CXHZF9KMHCIQBTI0D48UOD9G20YBIOKTUSATNHL5W11XOVI14TTDJEHBLC3784XF4ZN26R8IWGVBALMZVOQ3WLHXF1L25HOLSIAHEJNWNMQ3PNM3Q2HGAJD26SVFR5KW10LEQ4IQ8UC912IJUZ45JU9LRO7CTQZSMV835L1YP4LH846ETJ26ARG1CAJT3X5846ROX9740OEBOUKFW = 36#DE8QQE4BKEKF4VWF8HJC50JNR6XTGX9QJVPHVTWAUYY0WDUL8J03ZDFY0RPQQTV5GVM2FP1KBQJ0WI9AE4J8TO3R4W8BZT5448Z5XKTD5P05L11SCA8VU6FHL9KIZEOK87GH4AIF8MOR56B4RKI2ZKKIYNQ2ZC10ZS3I377HHM1WZOTJRIZV590M071PO5IECZTQPGWQ56JQBELGGWEKTPZZ7IBDMOFUO7PW6LZODX2XP73OR6FR1099YHN9PBQCWT61WPTAQOW1KP4MNSA5T9PGYSWVMI2PRKVJBS52XUY73UHNN3IQT7X5JODA1W9VFZJLPVUM6WBD82HOUUTWF8IH94P19ZC4Z0MQFW7CJ92EPTTPSMCSVGY2V415VYPJGW2C65CSJ956SCCRKA98CWVOMLYJU2O91IHL01NVPTA2RBQMY6R0W65CHR742PND3M8ZYCQAHEXZQK87WU17AXKD40HE3QHL2M14TKX70PBP44UZ4PANE0WWVQ3VCPJILCHJVNIPRBVYSL9GJCCM9QBNQLY5K6GMXNGGI6BRJDMG86WUQ2SLKSA73B8VHSFYHTM309EWGUQV0J3KI41LEPLHFK38UBG57SKIA7A6GD5PA0GEDVSCKPMIWUZAZ05V3LKSEWL5FZXL3XO4RKCT7F9EAM5KHL59LA3XZBIQZ7Z43SF8I6P8Q18LQU7T0OWA2RVJ08V7JOMB2NZEATTP6SJG5ARTODLLE28JHH20X9LYUEMFD2LIYD37OLKYEVLA646SBYFZZIVW3LPFPYMZQG4F5WMIFK7M4CQJ15TSAY4C76MLGZEFEM8DOBSLQLKV0L7ZV8LOSCAFJPBDUSFUFMMSVSSFLTPMMO26V354DHDD7EEA9S5SID2PZ6U71HDQE82JX02DFVZ93PNQWJH5ITR7LIL8S35X315OW8GZHHZ60EMITP20V1WUS112OOPE1CKOE2RUTDJO6IMLYDJGZUKVZUXAV9HU8BY6CPPAKUWW0RW1SAL5UBGM03TVLJ3BC75SK5PACPTBLDW0R1Y0T9ROYCZT8Y6KPQI8QDTCVVFVX8ZUESO212TSYUXNNBAS3I61YE * 36#7B24GDTE5P7O33T4GTSXLPAC59YRYTW6IC18CQU13CU0LT8EY8UF6B9JL49S9XUZADG32XHVZZKXK765SW723HOAGKL5D0YIGA9HI5OAWINDTEOB9LKT29AWZW9PM8FVT6ZCJ1OS5V4UUOHLUKA906845JNTSA. +36#GXB68VZ01GXFMUTT24EKLMI2X05JGRH2DND856HKUL1WLN9PY = 36#15T86GG5LR4IBO9TX5BUFB8Q9HO598GYE9H56UH5PTL6A6K6MAT9V0FL4F7US5QK3V598U7Q9GPGIM998UYKZU36FGK6QC5GI0C div 36#2GXLZ4G9FI74NXC3ELF38YYGOLSBN3G3ROOWOGNPR0XAVWMRTU. +-36#76GWOYLST2IL1U5L7YEV7PEPQ7OHQ9FV2V8HCF754A17GZADVUNTF382GNJGGAEIEYL97QJWZ8F88XFQ33IEL13NNM4MI8WTU0XMDFK77QNSL8BU6730S28RF5JO8AZ6JDB1Z6Z339II2FGRDNL18HBPDFQ6Q9NPGCXH7QODSDFOZ3RDUROW3OB8B39Q5EQP4UOIPYRUESAS7PZ1RBK3HSRIUIFCT5STHO3NLKA252GR2K1SJ6LRL2ASE0GJQEAKDOJD87FC1838TI524YK4ZOAPPLS1TM7EO9NPA988D41GYWBPZV9CF28NHSLI8OA8CAPI3 = -36#77RSGD89CYUPGLFQDVQIMNB23P618NCRVEZCJZBHKRV2VJPP1XF8R3JVHHSYGA1YKIOH3BO1L57G4IGVYC8UWXPG6MRORI2V5G03R0H976JLD634R75B9ACLA61HABIUVRLOD9VQPHFD1UWMUYYY2V7WRTONMDPT7YF4AOCXMJAF54PTSIU8FEMWS70Z1PUT601PXKMLHWYU7V2MVLLSRALD5HS02GN5WCDY9VTY75IDNHCQ7SC9A3W2H08EC17JYPYV3BTWW2ESH0K0W3JG9IO7YY6FERXUYGG56LH45YDPAQ5NZHYW1X25PMLJZMAU35JBYUGPYDSV6H7CLQ56LIHBHNAEBH0DSLBSVZ5WBZQTICUILJ5Z7Z13UF1EDM3PBWLXCELDI6HNA8VG593AVRRROF84WHLPA1CY19UY91ILQ7DLXCWYSAT0B3JQLVBTO58X8HTIV3FT41B2ZMJKT9LVEIJ1UAMOT6F3YRPEONF0UTRWGJJ6USPNNK9QFA0DDXNGYQ5CYD5VEHCPYV6W9ZW6F0RTBR47E8FT2JFFRAXNSSWIFJEJHALGL0I8CLTY5GB1824T1IKIHFW2RZYCXI6NAB0QJTEZCH6DUCUU0JY7AOPDRVRXKMED1XT7DSAMGG92JMHT78AF90L4Z4WXPO7WA7OJ6NOSR6ULZC3XBURXCER9GK6ONNM5VGT41PJ01PWYJ9L0G1MTE2MNIY88Z7I0M1MCW7VRXSNNIPC1V4WGVH7QCY2EM4ZNXSOWWLRBUWAOSVS80LJJNRS9E4VO97LLKLVG2H24KJ7J316B6ZSSWQTSWWBFT5NR2MBM8PICBG5YAMDO2W646II4F5LJB9CZNP8KF9EJEV4XLQO8OU9N57T9K0JNZGOJWCOQ8XCXBJNKE2SOFOU3VS89R7K1VISQ79YK43BFELV68IRR5LDK1SN0OKZLKUAOXPK9HKL3AKC96XPJW6UBZ16UD9AQZ89H1XCL4SOOA2GFO6JTXQKOE3DSKLPZAS9NPL1NL46WGJ9LLH9BEI1SHA98LTL079YB1KCMJHBX1Z92O9W7P4DK3B6R88CA6BRT7JD1KNWUMDLIUY2FENAOF43U6K3PDUPR5FAX0H8LEDBMFEYWSVJ857G10V0RJQV5K0OAZ07S8HUJ1Y9UOZ153F div 36#106J2NFQ3BRXB2DJJS4LJVAAAUL1DDDT4C2G0L65UARVM9FIPXQ733YK3X2EC7YCMUNZHSANHZW2FWKKWYL0IODX6KJ4KBYIT3ILV5J0N0675W2IMA5ZZNRQ1GKZZGYGG95MTWONUUOWI9HVFZU240V72NIQ4VVBRUA1QFJC3D25XW265YH02DWEESM4OWBIZIJU8XD74DE3DQL3VRERTTA0MJUYOLHX88ZWKRU6AVXTOX9OIHHJBJU36N6VQ7PKL3YU9VPBAW8QF676LSZ1J1HNG2H5WSEYQSHFH0X1GA35DYUUSYN8MA81CXQRCR7F9C4EJ457DZUVO1DPKLEUMXJQ8JFSU1MZHQ81XSL9CCGLDWZCQ5FSI27NODMMUGRE7ME6TFGPA0DYK3Z4K65FBZJHKANX772QPDH0XAUH5407ZDS4YVVVZ512ZP1QD7GF2I0L0O80OAXIBVKTW4UF8V89IY72R1LK5E8LEGKACXGNTACF5D3XS2465TIRR83T36LEXTV9XWCXNMWFP0KUXSRE5064PFS1WTCPC1KXBYU46KFFJCEH91I4TZ3M8XUYZQ7E42WPF2VPZL0A8A9XSKX3VR7AL4ZGPF8F74GB1J07GZYV4NQGWQDT3J1BJ9RTDD6HKJ29O36AL72JI3WC915LOZ9HOYDU6TKRNBIMMV57DSCBW2XOUJFCQ31RVD0G17F3UYLXI860AJA6P3S34IE1X3WNQR23BN6HL2Y9LF7GSFUVWCBZ8FV6Z4OEF4KUJDOLHUU9GGX1ETDVE6FROSKXPHXPFGB9CUQ1ZP6U5LKZQWIDP90INKLCIR4SRJE88HG2VNP175. +-36#2EKMWM4O5CQ5BGDNG88KLASGRMM9ID3M6835CE005IWMTC6M0WIYICT9OMHA633CNBKTVYFDPFBT3PI4YRWVBBJ4Y787QPUE3G1UX2026T4QW1 = -36#750GWN4TJSR1T369KP7AD2EWW4197PVEMCSFS4MNCGYRYRYQI0835KPCQFGQM3JGONWWB0STM8TERUP59Z0POXG9PR6DSLP3TEV7JIWEHQQPPM9DJKQK7AL45IBR9LHTPYJQZMYVMHDDMIKNLFRKK2FZ7L21SO1 div 36#2YVHC48LM00FX0CPTZTQ0GCY9VU9CSUEJTIN4WMIQTYF91K5S1. +36#79XDTJFOT1YDRPLF33CZDLHZPYK5T508QR090DNRE2XGEGYO0IWASA0DW8FMVZWXQPJPITFLY3VGZ5N9SNDT1JZNGQ9EWS9MHIF = -36#2ZP533EK1QY2UB03P1HAY9X9DTBJ9R3FZKPEM2AGEVG45XVOCV * (-36#2FJXIHTWJHI4UO340G136WE6R1CXRVQJLA4VYPUFFCAX4PN42X). +36#A5Q38CDCCK8NZWHSDVAF9K94JG2MHBAREWN15NYMHSKTURYUEOKLWBNBDGGWW0L6K5JVGILEBAYLWMNM6W2ZNYWMXWZE9CL5OOP7WF4G31TJYWSSKA6V3U70HN4ZGYDFUKHAUZKC57T5U0M5PQ57IVNFCHQQ67U1WSYH66DOZP8PPT0HXNMEY7HVV9LX4DD90Y572BH8MI2GJC31T = 36#Q5ZKDK4BDZ4AKCJFFKFFC5NQL5KF27YIJP29LZ7VEYFTS1QS58HYB34IIZQO4PUGVFNBPBCKIIKU4GFZXZV8LL5A9AV0EHEM3DFH89D108GR4UTSWUYL8LRJ4XHLGGAAPLFRJ1RZZPLU5Y5A2QN1D4FDO9JRNI6FTJBUKBQRJNJ6FWS2P2XRKD368BA7ZX2ERMO381SMSVNYK8J9QCYGFXKQ5KKVSHA7CYJIF9VM5KPX4NKNF50NYNF6GDVFGEK52B div 36#2KQ2ONILQK2OCT98KB8JADR76LTSUHH2U8TNZRRBGGX95OONKJ. +-36#2YNULX4ECPJQUUIWBWYD906WJD9BQ8AV9D1ZE9Q1JUCCFY0C40E1V11NW7MXLX5A4TVN9PMC5AYFBM81OUSPM3BXHX7IYX9WP6QH3FMLICMIVIJDLK6S1AKU5CGSW9KC3CO7F8P8C1M5HRBJB9GR61HI3F23VYNMX6FJ9AKVDSQ5BI9EXOVGRDZ0KOTX5QDWSLKBREAH6KY1SPL55HSV8TO1F3CKU9KYL6XFBW2S3TGNBOF26WMK5JH4QVJ52JXG0M0HS76JXZEIHB39UJSZAAUDR9Q0ADVBPJE573X44P2RUQRBZEB21SRW7AEEBWOX6PAY0PLDK905PDDT0SVS76U79L0 = -36#3QDA5MCI8LH3CSJ6DTKWQCM6Z409XLKAJLGZLYTBEQMCKTWY2BJ2O4PFJJJM1PG9MKDA8NHUN1PNEABZ8665DVBH9KFMZLSV8ZNGP24SDHCAP1PL7670BW7VH4XBQCALPNIOD6IP0DU8Z7M869ADQPPTQNQVL54DJHJ3IQRN9VJDWSTI93Y42LPIEU9ENMSRGTYFRHXZVEHNQDLPDFKPHPP0JUEBCAB8943ED9G6IRYKIECUGV7PFVHVPM2M2JMWVAOO1X6QF4ZXA3O963PX80XGBHCSKZAIC3MN0L6PO41ICC3NDXFV7GVA5ZM12HHWJDA99XONBQTC59HTB0W558GKTHMHXDUY9FW9S6D1XCOG9W7S9P82NDLXSWJ46E7JB96SK8F233O184IXS2GURE4FAPZX7FX4SLHO7T85SEH06XQ6CBW0FTXRCRFXOOZNBZQQQFPABM5EXR2AT0TWLH47GES90P6U1CRH0HB0FIM6A14LLZBA2ORC997PQ98WLIMQZZ4J8XBF16CGSHA6DQH9BSGCEJBUUOTKSSRCWOQN34MZ6HWPH5KTUVM8J8CCVMBWJV1QSX9D83V0RR4Z5LEH6NS5T37NOMYS0GMVWE9CPYY8GN5P5RMJNBI84Y4DK3F3SUN9PVK18PN2W15FNBOXMLRIXNF4DZ908BDJN7LIS83HG9C1U9Z2ZB1JCVSV38YVKYAIMILQSW91KYY3QJY0L19JNNPKIOY48EXYFVQNTKFWYSR5PBUDFVBWP833M4LHYD0FVOAPFYL9Z7BQ4BFC0YLABM6HDMVKFAZ5CR3YZPDOHFVYIURS1FTXATVDHD17QIRYZTZMKQASHVR6KVA3CN47G1NKF0VAVAGWCUHRQ0SD1PKR6ENQEL9UAFXIQCVEGWMZOFDE2R0FVQKL8F7XCEKIRZI8UM4V5NI91ZDVJL1G9BFRREE471M7EH0UDPEWBT60A136A3L0HOOVNF7H2L80HUIBOP6XD27T8XJK5GU25N1LDUVB48UJCYWLK9Z8QAYVDLXMQQ22G85BIX0AZGHMBYP8NEDMWYTS2CD8XDGE62WTCITAJGPK4ZQUPLEIR2JFF2UZPFTPQ7U2GTXATRWX02C8D8ZRRUUOLDICTKEW9ELJ16JX0 div 36#19CN9POW2P9W1DB2YJ3XQ2XWX5EWQAFKPSCWUXKOX92RST09Y3M9B8FIEBLXBMD3Y4QLOZ4Z6BLWC8NKVPVNM4DOD569F1FGLEJ8R869AGRIRM3YRH3SOSEZJZ9M5ITUQ0ARR0671LLM5C7QECOABRJHA2YVF7W3B36ZK2A5ARP0225COTJIQIXXAG3Y6FZX8WTBCTPE9S7N5C74A5QW69MPMB5EV0449U5UJ0ZPN5Q8MDYQV5H3XRB46YJHQ5LIZT0R788SLPXTWJFM71KW1AOPPI1DJK4RCG78ZT1K97LKDGS0XI1V6S4IP83IKKD8M0EEPAEM3VOX0F7N21ZV4QOGKY5147U7S71GNG05R4WUHDJ98M8CZ2IAWQE3Q0AXV0C5V8APWGF9KNXZ48600OW1T3TN324Z1L5TGZHCLLMCQT3TGYEO0OZ0HMY3Y3IEFCGWTNLE27502ITH6NUW8OS30C8N9OGW5D8EC57J0YG810HPWM6YXDGWM9PEDWUMVG5NWD8L9I3IM19IMTFCI0R8TN11UCIWBKELX61Q18392HLR0L2KQ4YMLKSQV9T9HOSNVZO3E3LTZH8FXP4LQGMJQPA5DG6TSZIEX8VQ79FJ0TE5YT61C35OVTDH0SWK9CJK5FGXDCQ8RD1L57KOY0Q0BT0BA2D678J6PIIZLSS5CRQF4YUDE6DIGDLJP64BJNMMPZ1MR9HW3PRIM52KKUP0CHHCC98OSB76XIEDJM68O8XG5GNIH9XVH7YTAMG8MSTOSFGTSWHJLTZZDJ6O80WR8Z9QWAT. +36#6LOR30YTCOQWEQKHKLS6IRA2JXM713MB8K9AEX9G5BO6KG0C5MU9ADM21VQOB5OAV7HCV7MPQKF3D2AIFUNP69R17T2MX5O1ORUCSA2I8Y9OY5C4SOA13R54IL98XO6SOIQOWUBXD5A28Z95NEKH6WU6IQ1YU0D6HU2Z6L2RY0T0SM00ALUOR2RQSVFC6NCPOQHOKF0V0AFOQ2BEII4LUYJGUGF8Q10AQZ7SVZE8YL3NDYCCPC6FMO6D9WIWT1OQG21C3WL9MA5SZ7NF6CJSTCOTIJLVPS0BRSHI3PJXDQH2RJVNOK567VGQGEIKDPBNGS8O7CEB4DFYIDFEM4J0E36A7P2KHRSTLM41EEUPPHHFBOS2MIT3DI93312WFBJ4XZ6F87VKMDYQ5TIES3JT2KBOD1G9WFNSR28B4XOL2NIFN12NP7QBHL780RIEFB4CNMSFEO9R8OTR4G42THDDTQC4CC9VMBX42Y3DA5J59XQSCG7QRQWGFEL8M977XF7KJ4KHW6UFMI18PPY2W4J7V8TX3RZ10G47FWUK8OSC57APUJSDQJJ56UDUUEEOO10HFTKRSBUZUSCRXYYFRE6X1CL88OBWY57CJNFOQ38XQKKSDI81222ZCDYBICX62SJAMPKGK49OSTXPPYL7A5C = -36#5AZ8TM97B8NK5M3S2OM40V9DHNQXUTQAYO9VZR9Z2YF4O64B2ZT5YT2SJDHW38VMRYT7VKQRTZ0HSM9Q562HG18XORC1G3A1OB5K3V7LGQWB26U6AJYY9J6K2EAOLOBKF6SIHRKIIGKHGGR2MICZGVADM9XXZJ54FNIN5UVGQ4GY1AB5VY9IG68C4XPVLV6V7C88HVYL9KBKNTTOAV4SIO24ARCBJE88WQSBBGWCLQO8E7L5PEA2KR9OMTW27S8C2P0K99WQ357BAA0PRGINYO1WSBS32M80L5C7Y3YUNQRDD256RP2R8ND51WLSIYQ83U6NE8M7I4WO8NBHNV7TFOF4G5XB1DB6UJL2SHVO2K6A9BTUPEIHG1VHOXNVG1OPQKKK9UOFJ13HY23D96WT06M08L1ZGSCETFZDCKDFULLGLSMF499ZB4L81D6RN3M94MZ0NPYNAPCOTWZYXVBXSZ40WJEKXEISA874U610PMU853FESYDLKVQFVXQO8FMUNQ1EPLBFQBERQFEX3YDAMIURLXS0WLOQNW745ENF05I7J6SAJMHCDR861DV9ULPWGU0BGI2UL2VE7LD9TBO28VC * (-36#18SYUNY0B2T1T8MZBQQ48Z5FPHK07XNGFPR71MV3YEZMFXGA3DPYOEITPCV84). +36#1Y8WNGTZLLGJUZ5L0T83I77INMG3PPGAOLBX3RR8XMP91HWKMTP7FK3TR1EIIIECT8P72NAHSCGXJ61MYW0TK7NWJ6ZDZYFROWNHC6DGWN1XKP9GP9L0G1906YDH1ZZW4F9B7L8RETA1DR3JDSBFE0B97KE4OV72UVIIYKKW201YE0K75YKS22SPFZJF3UHLEUEE4DXYXPF58C423YFQZQQKGT8TCBAYAXMT37UBB1WIP78KS89I0GRYN50NU7MGM0L55M35G4XKVCJ9612OJMBD6SBSJI9R1BV7SM762CVM6XEZ1QUATF5GBRTUCER6VI5AQW4V0QSQ14TW85BSRJKN9L5VD6JR5BMIJHNCUWVIW0PZBD3G6AIOH3FJW2UZDAJLE5PLVR6GODG5C6ELK0ODCFG4HO9CR232QGM74KI6TPFD2A88AEP7373F6UWN7B0TF3KRLCZGAT629060CAU3X7G392LWSAHFA41OMR05K4HRQHDWMP9W96U9P0HTVLRI68NKBU85C6Z0884G2KS2WAVUW4P7B4DUP4HA4X9J5KO57SXRH1FOP9FD7QIVV4HCVKSA3YOP0EKWJ6YZHDQVSGC6LNI85YYAWN22YLVAQ1XXDYO9UD9JDTMPBYTSO9UNWY7CEXHAD4C2MTXSDYM2J5E0DF9SFCUOW94GLPL = -36#3102ZPKI2O4P3CUM9DOKAZPWSQ9ZMHS2TZR6CD6INRBPM68OW0MFC9RHYVZYKV3WZVBFHPD92KI4VLIAUNS2YF98M4220L9Q8HIMUX257P3U32UMTAWU4EIKIB9CHKCZS8VE84DA26GFPPHDA24G4VXMSTFRFN0XPETBPMZRMBF17XD6B0PUQIYLRZ429RMPXXFC4V5R6W9AI0KTZ28PSIR34Q7OU4KY1NE7CE97I00I0YH42Y74MKNUSVYCWV08W05Y63Y4EYC9H1NZZXZLX3GGSNW8I90MEDCFSHP3VXE908OFVWBAJI474YPV14YE6872J9UV5X7C25EWHN3FJ8O4C050FPPJPGZ9YIE083JBFX4MDTRZBBX7KHHBBM0N76G29IHR4X4K8HK8BQ2IW80ZQC6FPNXLNPX1Q02F0R3SQ88NJDE1I6DHC9YJLHQWDZZNH1TTMD5EI2I6BZG5GRLHJP3VEWXH47KJUGQ7OSWB57Z4RHCSJERZNPB6RZKP9RPAQGJUQOC4MAMGARS7D9HGATKL5BB4Z3DAJ9MGUGG02Z4JZEU34ZYKRFJRAT5CN5BQZHUNFXFHN4YKIOR5P2IWQKNWCTWWD19NQG7OY0KY1IHBMB33FH5N97VNA072AO26NQR98NVSLTRJA0NQF91UPRGRTBCCFNVWXX4SWNCZHHSID1WJTWLWPNMB55Z18X8GE5PK65AGBTXZYEK9XMWBSSBF div -36#1JUZPM823MH1UWIC2X7X88QWHKDS83L22XPMEI7AEZAJ24CMUB. +36#PQMCRH3SPNTPJOHG1RPC7N4XKS46REMK4MEBDZDFEXWW65DYE5RQFZG4LYGFXRYKTM74S66A497K2U6IVA0HJSPF3QDOD27DIP0EB4YV0LT3ZELM9UTJ7G13VO72RXCHTBJNOFLJ91GZXXD9FUYQ91GPCEE91G8GEGFPDI3EBD733IMYZ1X3LSHGQSNIVXD7S6R1AHL801ISUPZ6SR261L0I6UDKKNMP018NW3EPI3R1GVJSXN7O1V6QM4SBR44C2D5OPHDJRH0OGPZDSV5ZKMD279S0A1IAMAXYFTZNJ1KC3KGPETYQ660M52IJJ58ZQ70B8EK6020PG0C19O74VOOLEZHN65JB3NKICCFT8FN7YGSSHWG4S5QDOO9REAPSRMT40OGJYBJOOM3KN7A8RNXPVNYDCDJL9AFXAN7WM9JUMS7Z7DLRGTZ5OL3X42LZB7A0J35OFQZM6F22JSCF6W927NIWSSDXFR004ML6A138YXYTZQQU5W7EJ6P7W4VW5C7GP34S9XAK6ANGTJN73LE81BX0Q2LJG62K1CZ2GIM48IOV6RRRT5SA46UG3J2ZPEET2K1FFHMNNB8KRFQRGIHLTC9O3RHQOT4HS4D3ZBS4X7IH7UY0QNLEOJ25H1Y2615HBHCXJXN126OAG8BUBRJHMNR1E82VZ27XOKK5YPHUQ30AQK5OHHEVLNZKGQ3XFF36JWYKCB82WEPL5QJIRUI6T7TMAPWXHG6MX0T1PQFEN3R3DFQG4O61ZO2UF17ZZVPGQO2KVCXHBQK4FGK755PMW4L13O7EGG8YGNYJT27KQYF8HINICPORX95SPJBOZA9YZ6HH7K8IHX9C99D3WCDSH27UODAVIDKJIRQ5B6ZH98DMKF925U57VPLOQV3TRM1EI1L3Z0HUE4M69757ETVBDXX0VM0RNQS2TNB56SDMH1 = -36#LCDS3SYYF3XY9YVPMIUEWGKCPYX5DB1FQVO5DCFP2EB3XVF83V90IGX1EXJXMKFFPQUUNVN6GQPW8B78UV94UDLGI7FIXZCQ1ICMS2XTDWR44S2WNESIDL3KLCC5LOR5XY30RLNUTHPGO611GQTEW4NKUWW3BHBR9UPDCFF15BS7RXGXXN1CI9ZZCQ9JGA4PRCDO4Q3ICYG4C1NP34C2VASR9UWNYC8Y0MGOZWEO2WT0IT1SNKIODLFHKMCC8HMPO366F68G0KDJHWKSP8MA1N1LKFCTCW93X8IE88WWV995MIEC16MOTPX420CWBVQ05795BL4GA48L5E379G3Z4NXZRZMVD94Y45IG049RW2IHYO5TU151016K50F7NMPITTQHS3Y7YP7L83B6JFU2MMDB161EOIQ8NAEA3J1AQ9U2NKIBPQWIMWEK95RL6DEH52IH2ZMF1I44B7O9UPH1GO2V7SP8ETQX9H6FKQOZL1AAYMVX5G5KSRP7FF58XLEIZ8SK8BFIZTBJY0P65GM2Y60IFDC82FHQS4CYFGVWFWM8TG9VB509BR4TB9TCZ1PX44SIX52OC336ZKT24WXWVSIM6A0200MR7OBTKDP7510DLVGUMI98QIZA39XBYBLA3V4SL4EXXWWSOG1HP12AQWP9KT7G8DOC8KL0V7VQ4KTW18H2M52017R8U40ECHG4Z1492V1RE5OXFXZF1AHZNB0PLCEYUN9H4TENKBDF500WZM5RHBVPFI6XL7AOULOY7E1Y9CBQ57HDB1OWLCC64I51UC0MJD0QQ81WNGL8BOJIXP72BTZF60UGJHT69PBTIVWJPQQBEOP2FFN4JUQY7F2X3GIPXXOUKRVI12I2BK4M2ARU0HA459XKVEJT96C9AMB8ANF2O7024ELG2AFQIHU7PAK9IF87FFIBQA63R4HH506EGGFGCSX0O01IJURUZ3I4THROGTYYSP9E14VAF263D5NLMCX2LBIFK60GPWX6R84IBYR9J3IO8IUK1VEFT9V98J7AIFVNS0ECHJVZFPKC2RKNJYS8WYIBPYI2WLR54SLV56YMZ522PVKXFFROP801ZO1MJK3IN6L3EFBIE102PEGHB3ZVHIJWKIDQP5ELF597V9QY6UON div -36#TUOLLTOBVONWZ6E3S16MWVO43ODZYS3TO5B6TWA4HGQ9QCGFGBS4I4ZP6SE1MNFTO286R6JJR8XXIGRS1F0Y2ELGNAD5YK9V86K2I85HPWXRM8U9U45OJ66UZ8HM8WY2HTUQ4NT2HMZPEBB8H8TL4HJ4BQUTKWZ1CHFBFBTPNSK2HXEVHP6KMRLIP5FJ7K6Z6GYCU05STN. +36#1STTUUAMI39Z05H9AIOCAT8SOKELGEKSE1QHSSM6KDJQ8CUN61SRJKH6708D6APOIP5XT03Y00C7K74RK3VM57YCYLXMP7HSPXZGXQVLXI7P6U5M6FGQF2IHCLQKY257GIBIXR1M57GNDH440IMQ89ROQFR310307QMRBVVOVA5VRYDWR1TI5EVW03X1KMLK4P5N6XSNJJV47JMS4Q54I2G5BZGWMQN8D2YM8Q455APHIGLCW624IBEYDNFVIKZ52C3MU737D016APDB9L7JJQU0KEJP6L8O1BGFG7R5Y0COWQ3FWMNH7LFRDE7K4WKKWMVMMYPC7SNI9XFK4733K6EQBPNZAVE06VMJXGGZ4C2HRFI2WLXZ3D7Y4DVBZJOIIQTRD8 = -36#5DMV8P7FLQQYYDGX8SJG57ZO9IV8WU9DPL4FS99GKZ753JVJWK27Q38E2FTD5SHC96PH1XUQ1R1ZE6A8QD4M0YNZ7EKVS3FCONDTBRBS9OMJ6VQOI38J8GC0979D * (-36#C1WBAKSDO7KYA7Q5UCMHVFG0FAO43JH42LLRJBR1R1ZF7GXOJMRPV1G5E2EHLI18B4D48OYQGP31X2FNMQQT8K5J7K05XOXKTYIVA5JVI46LACW6OB6YPK6YM3ZOC45Y549ZZUP95W570D0C9DP0H8U31TU5VTZYGOFH0AA8AXX0TJT35E9G545QNUBDYNABUR6CYEJYLXF8VPODD04E9T7JSFVL6UQ6A9DTCYQK0MD6XOYQ0QN9YDHAO9VULA5G89D4FHM66K). +-36#AO3D0X4RVBOM8OG3Y53WPDEHIIG9XJ6RJUMSMLJER3DS09PAIUSJ52FQ6O550CWBV3VWET74HKYP8JSJG3SY2U0GLLDBE8FDUOUWJPAKAZ4E2WXP66T9V90I1MDZRQ9K02O8BOH5FEW97PJ8MJ1AHEW8H5VDG2HFCW63YU9GG80KEOZAQ1YKP22DPKO = 36#NFG89SH0ZT5AV4D7MLCVX1DCL5XLPPJFTSE4JGE9SPCMPUK18QXU7FP2QJAP96KAPQFMMQ4ZT3FIVDHE8MNE6LPTXALZ24QEVIA1X9S3DZANABNZWHP8DDT3M4GAF1ELOTK8U909WUDEQ2MGE8O2MOLJXZHQ4F26U6OMNSS7FJWPV65P6TJQAO6Z2I9IV8XZ0MHJ8BDQMXYN3Q81M5V7LVMJYLC5ROTAUHMW1F0P5PBC div -36#271YCYFE6US5Q3A18TCG4S4P6BTQSRITYLMZXIH4G2SVXK7OCB. +-36#CRE7AY3KMGKUK92PLSAK51UUWQHSKV3PLYA40QTCEM27WDPBJCUMG7KGSB9KGFGZIJADSJASI4D3VC8RUVGMO6GQNGF1DNVCG4FBFXMEXAEA83UWACT341LYCYHR9HWAWRSTA9021L9QQEATFW2PVH0RRLW8LG9EYMDZ1PMBEDQN7A0S4IPPKMPSOXBR01UJ3IU4GNR0RK6AHX69CWE30P6787MUAMQPK6VV234IAY06ZSR6A54MVGNIZM4BJDK5EFWSEN6VBU2YK7SBGP3B9LI0OEB6VV3TTT9X7CF5KBMJFGGCYMI05NBMH214PK2K3IZ7YAJUY99RM16XW2GU3V30PPEQTBF5XDX5NEM2ASFJC229JCW1BVA5VG6V8FT66NPY = -36#5RYS6V3Z1HUUA67GXUSXVDOGZBYCXRAF4NSNYIN6P7W5FDI6I3GBQ00412IJSUIZVPIT1DHG2PZLU30F5E123FPJQA7L9CS0E2NVK8HOVCR9NQUDXZRRM66Z9W1L0JQF0I7EYHZ4OETMLDIN5SIS71R3LVXZ4EZXEDX43V5T7X12M6DJUT4A62X5IEAM65F9YVJVMPAFBCMHOUXF9LQAL9K4F5GH6ZXKD8G1HH24QZTCKUP3HRAAHDHYJX8TYLT8JCQ4RVLBQMJN2YQDLNO9W146QD4O9D2DSMNZHZRTASCC81N4WD01I39OTED0EG7H1O2PF10FIG3U4AQUA6SOXAGHUC45KWX00R5SC8EHR2LW8VPAXNZ4JV1RUYN2O2023HC2P9TQVGTHI8LHS3D7L4SU2HDO73O9Z4N4UO7XPA1YUMK7YGKLI div 36#GAOZXHA1E9XPSZ07NODQXG7BHFGWN5FBLAEJZRBFFY6AUNGG9. +36#7FRUGLYUOBAMFWRBZWKNRWBSU6TWIY889NWYMMSUCAY5M09IWKLDU4JTD96377O6EOJCFGOWUPAWYES2HGQ0GSZ25Q7YSX4RFL55TCHAPPEZ38SMN99ZYEF68D7682IKBEMP59JLZ4G389K4U1V2GZL7UGBB5RH480KL6QLDC4456UL14S07YAP343SBB7YQHONXF9LKTMRKEE3TPWX3V8TTQF392DW40FHP7QJCT6MKBFOOCBEIE6YRIWQKTDLHLY4ZYVFEMEXKBFBX1QSACY5Z2CF8WALUZF0KHKRQH7Y4ZVVRV = -36#2709MOH1Y36QLTCF5D2WVLN563VKP0WXBCT6C59FUR86D0ZG7EP7Q198AMYKN3XWU1QSRRM005LDMR3J0M1CW2FTEWMKWWXOE7S9D22JDBT8YYZATG0YH378F82X2K9P6ZT0WQREAB0K0PS2C46UQAS9UBPZRMOWQ9N4GWUFMMIBKSJ2UY1H3IXMFBJ7UYIORAQYJYI4J3WE0OLS19CRUH9J2858MW895R04XAAL1SCAODO6QZ8MUJNUDM86NYWVVVWQBGBLJBD78UAAMJWXJPARY0RSPPB03MTNRJXEZHMHZWGSA0JD9FMUJDYG2DSHYUA7D31S6G5DPQJ7NH3LYA8SOT2J3CKJLV div -36#AME030AHQGLBNKO97G5P13V4ORSCVPKGNBBO19H29EBB3S4U1. +-36#3QDA5MCI8LH3CSJ6DTKWQCM6Z409XLKAJLGZLYTBEQMCKTWY2BJ2O4PFJJJM1PG9MKDA8NHUN1PNEABZ8665DVBH9KFMZLSV8ZNGP24SDHCAP1PL7670BW7VH4XBQCALPNIOD6IP0DU8Z7M869ADQPPTQNQVL54DJHJ3IQRN9VJDWSTI93Y42LPIEU9ENMSRGTYFRHXZVEHNQDLPDFKPHPP0JUEBCAB8943ED9G6IRYKIECUGV7PFVHVPM2M2JMWVAOO1X6QF4ZXA3O963PX80XGBHCSKZAIC3MN0L6PO41ICC3NDXFV7GVA5ZM12HHWJDA99XONBQTC59HTB0W558GKTHMHXDUY9FW9S6D1XCOG9W7S9P82NDLXSWJ46E7JB96SK8F233O184IXS2GURE4FAPZX7FX4SLHO7T85SEH06XQ6CBW0FTXRCRFXOOZNBZQQQFPABM5EXR2AT0TWLH47GES90P6U1CRH0HB0FIM6A14LLZBA2ORC997PQ98WLIMQZZ4J8XBF16CGSHA6DQH9BSGCEJBUUOTKSSRCWOQN34MZ6HWPH5KTUVM8J8CCVMBWJV1QSX9D83V0RR4Z5LEH6NS5T37NOMYS0GMVWE9CPYY8GN5P5RMJNBI84Y4DK3F3SUN9PVK18PN2W15FNBOXMLRIXNF4DZ908BDJN7LIS83HG9C1U9Z2ZB1JCVSV38YVKYAIMILQSW91KYY3QJY0L19JNNPKIOY48EXYFVQNTKFWYSR5PBUDFVBWP833M4LHYD0FVOAPFYL9Z7BQ4BFC0YLABM6HDMVKFAZ5CR3YZPDOHFVYIURS1FTXATVDHD17QIRYZTZMKQASHVR6KVA3CN47G1NKF0VAVAGWCUHRQ0SD1PKR6ENQEL9UAFXIQCVEGWMZOFDE2R0FVQKL8F7XCEKIRZI8UM4V5NI91ZDVJL1G9BFRREE471M7EH0UDPEWBT60A136A3L0HOOVNF7H2L80HUIBOP6XD27T8XJK5GU25N1LDUVB48UJCYWLK9Z8QAYVDLXMQQ22G85BIX0AZGHMBYP8NEDMWYTS2CD8XDGE62WTCITAJGPK4ZQUPLEIR2JFF2UZPFTPQ7U2GTXATRWX02C8D8ZRRUUOLDICTKEW9ELJ16JX0 = 36#19CN9POW2P9W1DB2YJ3XQ2XWX5EWQAFKPSCWUXKOX92RST09Y3M9B8FIEBLXBMD3Y4QLOZ4Z6BLWC8NKVPVNM4DOD569F1FGLEJ8R869AGRIRM3YRH3SOSEZJZ9M5ITUQ0ARR0671LLM5C7QECOABRJHA2YVF7W3B36ZK2A5ARP0225COTJIQIXXAG3Y6FZX8WTBCTPE9S7N5C74A5QW69MPMB5EV0449U5UJ0ZPN5Q8MDYQV5H3XRB46YJHQ5LIZT0R788SLPXTWJFM71KW1AOPPI1DJK4RCG78ZT1K97LKDGS0XI1V6S4IP83IKKD8M0EEPAEM3VOX0F7N21ZV4QOGKY5147U7S71GNG05R4WUHDJ98M8CZ2IAWQE3Q0AXV0C5V8APWGF9KNXZ48600OW1T3TN324Z1L5TGZHCLLMCQT3TGYEO0OZ0HMY3Y3IEFCGWTNLE27502ITH6NUW8OS30C8N9OGW5D8EC57J0YG810HPWM6YXDGWM9PEDWUMVG5NWD8L9I3IM19IMTFCI0R8TN11UCIWBKELX61Q18392HLR0L2KQ4YMLKSQV9T9HOSNVZO3E3LTZH8FXP4LQGMJQPA5DG6TSZIEX8VQ79FJ0TE5YT61C35OVTDH0SWK9CJK5FGXDCQ8RD1L57KOY0Q0BT0BA2D678J6PIIZLSS5CRQF4YUDE6DIGDLJP64BJNMMPZ1MR9HW3PRIM52KKUP0CHHCC98OSB76XIEDJM68O8XG5GNIH9XVH7YTAMG8MSTOSFGTSWHJLTZZDJ6O80WR8Z9QWAT * (-36#2YNULX4ECPJQUUIWBWYD906WJD9BQ8AV9D1ZE9Q1JUCCFY0C40E1V11NW7MXLX5A4TVN9PMC5AYFBM81OUSPM3BXHX7IYX9WP6QH3FMLICMIVIJDLK6S1AKU5CGSW9KC3CO7F8P8C1M5HRBJB9GR61HI3F23VYNMX6FJ9AKVDSQ5BI9EXOVGRDZ0KOTX5QDWSLKBREAH6KY1SPL55HSV8TO1F3CKU9KYL6XFBW2S3TGNBOF26WMK5JH4QVJ52JXG0M0HS76JXZEIHB39UJSZAAUDR9Q0ADVBPJE573X44P2RUQRBZEB21SRW7AEEBWOX6PAY0PLDK905PDDT0SVS76U79L0). +36#4RDHVT7DG74AF7BV09MKFS6H9ADSTSQ9MXILCF3V3GDIYCTL5T62NYKUA1PQ22URXWDXDRZL9BO6GLZ76RK2M3R8IWGM1CS4BDN8XRHQGOHPZMZA5L9NOUDISHOUWLO173J10S00ZINELXVQN62Q7R7V1NZ8EF0U3NTW837UBRVLTAMR0EZXA40QGKQLFI77BM4XSXLJQJIUTN3VYKWQD6Q2YUZZ5BBZWJHDYSZ0O1LQ8GQ4P22OEZZ06WMWG11SLQ4DK8V347R3JTQMKU0YNGBR9NZBKTW8XJDFW83AL0VXXR86VNA9H0ZUBG4X7F07OB = 36#DG8FJU231C6UKMTQ1H1ES2KAHI4YZ2ZV4PTOEW50H36ODZY6KU7J5DTMP5OF8DQ0V17HAE8N6DOIK8QZQMKX6HCVAR6E2YJ5TDTRPX58X5AUI3XKNBCAO3BPA7BZ0OLL4YJ3XSODKD2UBTHLIG53PYJG5NSA6XSUTU5V5B5LZQC0955N0K455UT28M04ISCJZC6TX1BK0ILYCLXX57WAEXC732X82FBWSA1JFD8B8UU2F01G4QSFEDFHZ3HKMJMBLK4UQ8Q9K95MML1MY2SWOTNBM3F04HJZ3PJOU3OSW9KR6HOT4CRLN5QCYWNE0MYHM7SE8USJTJVDTUTCB8A2OZYYRVSO13XWATE1PZA3EFXCNA5VGCTLUNTFGJ60H2VFWJGE8BZLQWII6CU5RCRRSGCF3PGW0KO6MYJDW63KJRQ7FGVZRH97S9QLIJCLOCGNVIMSY2CW420CVQ6E5EKYKGVX7Y5U30VRO6UFU7V0I82SOJBLZMRE9GJR8Z83UL297FBN9R2QT26Q5KIASHTTF52P5L2FMT7EM65MXQBO76Q54PWC5RBLN6YFA2QOABI3NYFVEJG4QG8MDM8N5XFFJ4T0IJB93ZJNP51YEOV9WE96L6U2DN2TTRYBWMGXJ div 36#2TPYG9HDS7X6E9MUO3M0NPGGTXT2HBL8P10YVFTXDYBFEJL3JWDTX8R3N7F37E4BH1ZP7AZJO39IT04JIRJL51O6TZ5MRHYBXUNY62XI57ZB2EP79TMO6FYFMV4GG1B85O0KFBU8TRZH04SZEOQBNG3UGDQLQXLN2TTKO26LQHKJCU94MVWA08TK07W6Z4UET1DMEFNV3RGZ8N5XKCF800B8KG2IRENOJOED8T95ZMHCCFHVXQUPFFAOZG1XUD5WSKFWJHERFOWZLFAGE7A4X9J8T1HEW4EZROWA9LXYGDG204MY83OAIDKGVIS5. +36#32QC2DJIHT790JH29YW6MSZ4WXJTVKSHT7KUV9LOCBFYINSCP5 = 36#1541U7NO3NUA3KVCUMEWOM93NBUW2K0KVBUV0A78C4PQOZJPF04HDQF0I6WWWK9RILTCLJDUFID3PCT0UZ6SHV23E7CXMX7O309VAQUPOD9CG5Q34WIIF10BKOJQDEKDISRQFKXA01HKAI7RRZPZFTK4M22AM5R3HISKI6IO1ORZ8AWR9RZ23VG1P10E7GZ8HPLQJH4X9WA6K4BP8V3ALKCAT0O6AAAMBKN71X4XVIN9KFZX1KMMEWGE86K5YCL28IV3DZT3M5MUD3Y div 36#DD6HR4U8Q34AC6CZJB8IYNLRNEUQ0WLBLVF5LY2E3KUQXFBX48XZ31RG067SLOBQK61OR2RQCSF8ME4A8158LOV0LZI0H9DSR2EG2SMNFA6NGSSHQDN1BQHZ9760ZGV4ZYYUB1SG81MC0KPWLBZ0EFUFM2IVHR1WDJPC06T46BNZK7C5Z3ELT5T381L7YMMAYF7KVM6ZZWW2EALDTT2ZZGT9H7COE. +36#C4DDSPMA9SQILEBZBBEW5EGRXC8MNKVEUNOQSXLEKD01SGM6AT7HH9GL5ODK6L70SZLOZJKPEGRYKU61MRQ5V2J54N3AW17C66KND88PUULYHPTR5PXKINKOSSOP3SSNHISQHHHZRE1Y8XN3IYTH1SIC8BUO7ITAYHN5AX6DSG9OYFVW5ETW77XGXZRF71CYS2KEZXE0DTXL5WGIVIWEW47RLO7BESC3INUGFCENE56V16X8URTFNXJZEBG6BVSWXZ4TRQNUKE2KJR7UO2JRQRZUA9RU2J4XVXQBI0VTMD50IUELGA6WCKCBKTO7H9THJQPGRFFC3I0HGOXK9Z8Q4A02X6TL5WEUPO767971XP651B4VM55FJJM2U6RVLRJ6LQWBC05EJAEIQLW6XXNFDO60A6ONJI071HI59V29BQSH79WF5QBVKP3G0E14LA088V9B969JQJ06MU2858D1HBB5KPBG8JBTEU0OHJSEW0G27HNUFD2F4LVUJHOOZ9QIC58WGDMYH7CUW1213RUCE78UDA6H14GCAFKT1B2N3BO81OHO9BETEVAGKYD0EK0MY3B9LCOC0CGGIO5MNQ04WQ99CVV3ZOK96QWMXR56NOVH2F1DZMSS5W8QH3JV6GNKP5Z1WSMMSJRDUXBVEMSXE6QERO3MYL4OJ1KZPZVZ2OGFG6DXAXTI6HQ2A7TD5GOO46RSFL6K3MPY567VCQ3U7ZKV9KWCXZV53B2GQB43P1EOOP96R2AUX3I5IW6ULYOWPLEQJSAYE78BHTANY2RKS55GAJ9D2QPOF7FX8HF3MNPE7T2IMNND6TZNSBHI5MIN51C93QSUFDNP9XU9RKUNX38BOAOKTQ9ZY415WS6YIJ4U94L2706WVMB0IP5NMX9TJ06F799PKPU39JALMISR4R4R1ANIQ1ML2MP4PPOOFSIRSFMR4EU0OF228LUZQJ97CRL62O6MSIU7YQEAF08X7KOPXC1OOGJLL52259RWKF9G4 = 36#I56FWH9WHZPIIHX31KSLN0QGMW66DWCDJMH1PL2LCOIPDHMSFPYXCP0EC6T1AT8KTQ9B8RJZWU3U47KEYNBMWVNWEIM57F6HV30N572CKCWBU8EQ80CG5FDETM0NRJIHERLGLWW122QVIXUL0NHQNSXFIA23FKZJ0CH3FCBQUKO7DKQLIZ507G71MAN9YDK8RYX407PK8QSGHUE0DPCF5O1FKKLKINLEI0UTUZ1GBCBFLMV5KJULO6C30I820RP6UT5UUZTW6P1NN61D2N2QF9U4GE1OD3DJ83VAZCXU6HE70HGBDUQ27JG2QEXJ35UME9WB39SKT788O6E1J46I0P7PUUDJA6ZOT6TAS60ATXFD4JR5A9QZ0JYGJVRVTYAYAWW4HQM5H3D8N297UNCJXEMLPYZ9YANXI7NTMFZJZVO90TC5L420MP5GAXDVVCVO5X47IO7KXFONBR2GU0KRMLPRIWLOVB8TWI979KPV7X6AYD5CYFS1Q797BW2GJ2U0OWD94QU2QFMGAJ7YYTX3Q1UP3JQJAXLPSSKNS7WX4JSU1KN7UA0GUG5MP0UUY2B0SUS7QCMWY80VCBRILH9L9PTAM8HK1SHIA0R9YI8T23XECR52EDGFVY17L9RWNEVJ2H6C9UNWWGNSK5XVYUCVXYL3NH04TJD8SMPND6CBJP6SK92A5SCKW8BJIGJRHVYX34Y * 36#O1TNI3CCSO0JRFGXIV51CFHIZ8A2A0UXXYD7ZFFSWF8JOLY6DDG8UO8EEHH2XWCO22J98TD4RM1VFMPJWPIFWC7BMCLCSSX9W3KO9SERX6BAM5PD1TJNZGT2JNW6VOUHVWQ2UYA5CRGEBK2QVXT9YTA8I4TODGEKP0MXEFX811QJJI68BO1TD07O84VSRMXRJCOO6FQR1RMLS30BT2CO8WK3EOKQP6Z816OSFNSKVZXZ9YDRQ6D0V5SKAETL54HU9D58CJI184ETBSVFG7IAA5776ZE6WL1XNUOJZ60VMY. +-36#8EPPB7Y10S07VBS7YNN0MCHDR4GE7JEOZ9XR7DOLT522DUH5TR3M0ZWF38COXXG8MFHS7R1IKM5BVB3BLB0KUTV0B4Z1P2JF9NU5G3U6KYSTT1SW1FP70R5ZPUK1G53CSTESUZEC3M452IY7G9P7LQ5WWOE90DX4QD4AFDKH9GJ1UP8V6XOTB267L2IZEVGR879IQT7WHLCJDB6AR656YNCHFJGU51OVBGAHAY7DEREBFK9ZSWH7PPSQCR5Z8FZ9V1FTBGRJJNG2Y8EF0TUN582UH4LBB5CKFKGSYKTV027NK3III3YHD7UTNZ9SCBEYEK6DESL37Q8HKAD5X3SY9UGCHFNMJ0W4WULUOQLUE8O1JEP1Y93MW4ICEJ14P317N2GRZDU84J40ZJE8JZ1PLY48UNVVDQW9BLZ3HFGS1ZD5I7TK8RWLXVURO1RBMQVDJLZJRH0V3G3080QJYRGGJIWI7S1NOX0FXYDKSIQNIA7NLWPS7NEQ0H21MMPOZLA1TFO47GPIA0ZRHNGQXHL439LQJ583J2IIYCWYYNL0D3H9KCYNUI99NYRYX84CT0HY9COBZ3LSHU855WRDPHGWW2993OFN8S8BNM6UCJ33O65FMBF14QCDEEGGM4TDI7AEAG6PRED9KQOS7FYUYZ68JL5IMB68LY9SWKV6NU16ERVO317FJPC08XP647LMXFQFH8B4P86PMY37XJMDFH6JFF5YDQ8H6BYXH4QBQFZIWRCSD3UPNHWN321JQHZH3R3D6BSGT9AWA5TZ27AL1SM379LTH3Q534ME7XHAGK5ESDC0CVEC6ESU767T3FETQX4KNBF5MKDHUP8EDL2EH7AEG9DP3F1IMPHTBUWHBO1WZ9IGS1NK6IDCTL7WSATJAC6MVGQYJT87TZP9UWIHIGROGTJ0WG5XW4RXEFBOWU9AEGNMRL39Y0RNT2DX5HTF9ZKOBW56U9DNWQKZ5VG1ZKV0JJ30FG8WY5GOVXUM0GPUIQ495K5IK3BF = -36#HSNPKYZ6JFSF9G014LGE7XAYNVGZDOJ4NY2BPM5SGR7AX7KCNLVJ1H2281LWURS0CRCO9NA4SS4A0J6Y57URHABDIOKDI278V9VKCHLFIGDIX8PMLQHUE92KC4AM1IN32Q4AH4RNF6T7EXDJZV3DLZ8T1K79VJ5VE8RBELE3Z2J4Y0H425N3C9U5GGLR3B5LP0NY26RGNBY7FO2TG9ZRBFA4YHC6VY6GFLEE5FM8W9OWV0RVZECNEN7THR9KHO49M38FYNWKYGGSCW8Y42DUHU901ASCT3Q4MNAAVU8W1BS2OJ5Y9EIG4VICQPOTWJI08YO37QX8TF76DMA1R0U62GPU9588X1I6NEE5N11EAV7S865YQ2B540F6PUGB2CGU665LL33NOCTQK9O05USBHJ5BL8ZXV9AHBTU2UI78EVIMIST7STW9HN2IJJ9X9B3TVJP8AUTTHNGFF3WDXL8CHN4V3SO3M6HRQMIOI2J9AEN7LJMCO1KWXMFVPVWM6QWZXA6K17T7XAT8NO5OXJWQGT0WRPJQMF32O7KXDOOHOP94I7Q2LTER4OKAU2R1KX2OWNUG0E0QWIH2Q9TFMNC7JQS47W7FN5BLYXA8JQLXXIPKEJGMEU7VBAPXQXJUE35C4L20HTX8YOXWP8VQ76YSU6LOETZRQRTJZ92Z0JSJ9MDY3N0ESRBTLIVJ8BF3I0IF39T7K4M3DCA64NA36P9NKXHJ0AR24YE1ZJXN1J0KM1NBXLMUZK4ZKRYPPGYP29NVSZI6OCF0OGWE85805F27U90AKEPWQNOPRKYF64IECTCA885UJMRUHTOJH8DV0AEXJIEE3XSU04CH2B0S9LTYTUU0OYURLTUZWIU01AKZQXDF6E4V8FE5PZF3W675KGBBH8F2M571EG5S386YUQBQEVT2GIT56P8FVCXG0ZRL3V3HHJIVKF5J3ONN7NHN8CGOF6M6DDE21485U6Y4E9KR2LF25MIC3ZLC5XC7DKCNCN1D3AII8WY9DX9M8G7MEYU82MGHGSPOAISMJY64YCLWLDP3B33YXNVMC5L5I div 36#246TYAJM4TI9YGSAE1YDF60GWV3GX32WZX25PX6915DFA9WT36. +-36#ZTMJ2TBNQQ7XWMT9V1R54DUPMQV2O5DA46LT2P17M3B3C6O06 = -36#PEX552I470ILHPJ3V5CP7JJAPZOPOZQIYESCHOBMIIG617VPRFUHRJC8B9M2DFF6T8CILPGQAT0W19U6B6067XL4XMIMJ78DPU div 36#PJFXTNAUWXYIRHHGG809K4LX4C16EJ175PEL1STK2V1O3R6AB. +36#APKHJNNAGX8SNJ66YOTM0KAMUS9YK9UV8B7EPPG8K9DUKEGWD88MXQC6IQW947DJWY4FVS20RRFGYLAYTA5K05VS3BFPOM3N3YTI117JJARSJU2LDNML4OSE8ZSN9LG1TTT6VPC6HX6C2VQP07Q6TRUHUPIOXTNIQ5TV28XV0H9NMO6Z2ESM7P35TFR28N0SR0K12FX8QM7W9CAPH268ATWXNII03LPD5RYCDJ27XDHT54ARUKY06BK7AXD00VE5O7K3YRM0055CXWRSR9G5QR8YZPJUGF0068WXLI7YRNC9A1Z6LWZHRORU4ETRE7FYDNZUADBZXKA9L0I69VCMAT4HGA1U70DL7JKYJH8ZCWD32L6HK0LKIIU7 = -36#EUSZ19PG6TGJGB2X20JW4O1SKHJ4D7WXUP5NYJRFS29YYIOMIP5X9JVIN8S614QRHGCZ6Q110DJ79R0I98SDIE29SKQABT4NDYGQJ8BQY7YNVBO73WKI0X6FZDY80H4BDWA6KYSMTCCUJ4UNWKTI8LC4ZUN2BFNZMS8B23F5Y5MF605XM517KS5QX9KRSQ49GEHK6TC3ZLDTPVPVFZ8QENTVDPKP31W60GJJE9860C3C7NDYHMY93YQ6UODWCRSPLMYY9199SQZE0T13FE4UF78ZGJ2OY369D1QVP9BSFCE4PV5L2MBMK7TYE8KRLOKU5OY041EXV9Y64YS87IGZ5B3ZOWSK97D6RLCW4TO62TTGXLKR02OJSVY92PQDJUI12HN7CGSLCF7ROHTZ90I4K5EQ7EZO45NZQYVQZ3L6YNT7ZOZYIDJU6LL62M60MWODTID9G48BC8IRKZEC09QQ2OV6MLFZZG4W7Y871B7NVPOEHYQQVGQ213FGQDTC5RY0AJ0KYZE4TJZ9ZCCSE8WLM3K2ECIEFNN9UMSDUXFOYJ6S27 div -36#1DXMCLGX9FKNLCUUTXO5B8SBDRE2Z8BYHHRVUELPWFLRHJ2OAON0YG5H2XGAHNRIQ8EZ9P969I6REUFJJ9OU63PVV0EUCF8E2T1AB3J0Y0RG402HI24J6ZKG0J09BSGTJ0KG5ZC36Q66XFHE2WPEDGCKG0P4ZUD3CVPNSIYW75WO8E10BI3RXW1. +36#26Z0INVGCGPLLSCVAZ9RNDKYXV6PO9XCH1OTGGE1IHEPTCYYHX = 36#WGVIWLDH20ZZLHSRWYCUT8LIYN3NTVFXTKHYVYBYPDNR518CCABMI7E6HNLSJSNVNH36LM27LKDU5LV2V1SR3242ETSN310L9 div 36#ESU4L6ML35VJP2LRHQ8GPN203CP7DP3MJB2VPDR1Q5VKP7AX. +-36#8V0TFZCCJM0BK5YQM0KO4T5QBTGMDEZGGO608J08XFSVPHEKVBGY32341SOT14DFUVPK5HRITC8VG3SMIKWARBDGO72VECPBBPN9FKYQ3UK32NTTMM8JEUK4KV3U39NLHW8F6NIGM7B4I9M1XFZAYJV2NX0GI6KCHIECUU8S9AZNFXGY6IT5UO5VIEZBATF98LWRQDP5U39T4XZ1SBOA53ENQ3X5250MGM66RAHMB8GC2M8DQO7J99ZS4Y7LV5998T1MJQPLJ7YI0 = -36#3W4HOI9S3S8NFXIKMYVKDUT4GFYQ6HEPLHJC08FU6EJFO00WXFZIAPE75FU7YYEODG0B62GI0P2DPXA2YGLD7B9T26I2A06EE3OTPVIPJAH4VJZEQRJE04U2GTVBE716TXD0B5L8JKL9L7LJ0HHS56C6ZFARWBTCD2BFRZZR40MD0CYOO7GXV12ZUETZW8KTXBI9ZC240LRRLKKY0J0BY4WUP2I0 * 36#29YLY1OEBWXEV7PCJ17ZXYNGFM13B1ICC4IZ9E5Y3QC1XRHGNL. +36#31PLBHEN3KGQVWUAGJQ8NZO8G9U84CSI0D019BR5F4FM0K5JC2RCCGAPJ0QL0NPRYDGVRCLX3438ZD5AXIVLKSSRISSIBGBP00TTMB77X48UIOAN32HVYVEGKRRK5C4MO4CU51ZT6NLE9WXWH32TKIM5Y7GRLTH8J15AFGMDNXD61JJYM0VBXTKTGC6DC616IE7E3DMD4UGHE5WOLW4GM9VRFL7EFDQE4CA6S1KW3EJIT6VKD12IKI77Q94TNL3QUMILUIDZWO6ORPIE8W6WC89RDVM7X55BD0GYU9LDO57JD4VZ8P3JGQGGN1OUZHW0LIZ2YBS5UFQ9RYH2QP6WG362H9WYGNV5OELP0XT64WQIR2POQHCKC2ACAOR8GRVC9LXZIFRCC5W27QK9AMVUCG7DR0AB7FFQWP2RPOPF7GUE94K00QB13AZ5BOKVMT4C74DEA36TRKZ08GXYV10K7CPNFOQ6T0DS8NIRF7G8JTTW6SAJ9ZJG8U5ROS80VRCTTXWVPNX6P1JU9PHOTG4K2X1JBUOVT5014Z26GX0ULNNZMS5J1LQU5YHK61LAK9ALUY1KBLC2U1R928R3XJE42R6XP8F1XWAIKMV81ZQJPKTSLMPC7IJMTK46J0HJM2V7HQNGEC0MHA6GVLOIWQW4568WDXGSJLTOTCQK4IFWMKGYADBD4H = -36#IXZE9VQPQ408P0RUSCJX70N04UO3DOFABRKYF3B1ECNYWZGBQNK8O38MP6ZWEAN6ANDN67DWE8PNZBMD34IDOMZT3EU6RN04VICO8E62KID9L02XUPIYXR2F7NTVZ21K2JZ6WZRFJRGBB0LJV14HO7NHMPMF8HRRGEYZPYI4XM9YCLPGDC0J0I0RR70SU5U8MUL0PBSFTJ56R2FUR396JYSR46TSMTUAOD2DOTRJUKDZRU49HE1V3UJTBVHJBC086O3YJGZS5VQO9J0LTFCAXOS5Y50BIHBGJUDUDL3XJ7XO4DQN3SRHVQ7D8S7AK7L0KCVF7P6T1W4AZD9BPP9WT26MZDZH6D8FVE9T60XS23WZQGNXOTCRY8V4D4F4U26YJA6ZOXBUSUYKH0DY5N2LGBR2L0G6RGCJJEBX3JDCXVUHU29VQR2LNB0FU2E6KZVAWB491L7XWVCJODWAM14JXKFW5TUKAZHAC8TLSC2FCVUVDF97J7GI97C4QJ1IN8LANIK2TU84OQR9YHMEA1RSBLT12JI6SP6V5ZTNJFHMQV3J74L7TBA6WDIX3JVMGCI57R35YZFYI3105EX8PIA0QP0QW77KG3M9QM61BL8FXF0C2YCJL0PQZ74DC3SDI2W6APPYRU29JOL9GMZVMKIC7NA01KN1MDIGMBD4VNJGMTNZ8SB19JVIKI1L9Z5R74A6G6TR95QU1N4OU86QSBAEQ9VVLSRQHAW44SVYFSDS6SGYL4IRSF3KVA9BZK50WFWDCI8QU5WZQWICKZ46S3LOEA7MK7WHZBJSSV64V468245XMQ37J11OEB3R6Z3A7WZEECJB8JE6VSB3364XZRNB7RRHWKCMOPGZFETO6ZC5PZP4JKP63EG0BS1TF0G1ZOZ6BR4M82LGU3M58WWT2CB4XWLBR2ZIGM1VQZLPWBEB7F0OUN3NDBSJBP5FTUVP72EALZIUX95JHEAFA8UFIU9UPDTJ67J49E5L55KPRCT5ATEKLDVDNDTL96KZVL3PX8KURRYQOMMC11K10LYGMOUZD5XKHZO87FHWPKWNL4JU536JF6WI0T0S71IZ9JUTCWSXSURZYFZ83BGA33JTOKJHQ7IN8H00OBYS6G2D09OWE3QHA752YOEV3DKYDO57JAZA99HZVA5YP83LLGGGZIM4AX6KPXZ44WB8GKSRHRIVAGZ2MU7TJ3PO9MOVDD62KDV004353ZHG5ZXUAI1WJZIGFRZJKAI33R96DVQ1TSWQFLT1CSJ3YA4ZBWOOTZMHN6ZVORFJOQL5N68FB51WHP0RVIGDSNKVKZTSLLDRJILEAYOSUZ4XBIMYSLXVSKDDI3SSLYPIE3U3PVFUPDS8SEQSADZSXMIO2PB2E555CE4H5LZEFF83LTX5RBXN6LJDUO9WUV6NQESIXP0LI1SKUVZ168ZES90Y2LZ1N4IKGO7LB3JYZOG8LZG4UNJK84E8T3RX827F913UUM0TBW9DF9MEAY1K1S3GJYC89WLT3LIP2PJRDNXI5WNVWKLZ4UBQMUHKEK7IY8GNZ3CGOS2MU7AXM2VEQZXWHFHYA60OGT79J7LVTG1UIGDKMENH27G div -36#67S6C3WLBSTD18O87E3DJNWFOKU7FM5PXPKVL1HXKN98QQRCF5E9JDYP5XF664EF0LB5V2EDDMI2KZWX55HIFDYG8MMGIV1G6E8K68XO0MSIMJSOCR0TIBDDVBQ4TX7S6U4B7TCHSCE3D6EXC0JV0MNLFP9RTVKN01U2P08P8TCKWY9AR5KW0J8J7XQJ5H1AG3N1K43S9C48S2KNCZ6BXEBJN1FION2HACW4HDAWFDVVZSBAD21ZHMX8J8K2TV2C43LXT72PS9QFFEPWBGN1P4GPY0OKVMBTPHZEIMSQAV5ZGGXBVVRBNOV742AY69MXXDPQTSEPPP8IJA7ZVMF7SGGWECX758HI6K1XPGK8UJCUAZNDLT2ACMR4M6JZI4V2DCV1TXRM4NAPCBIE5YT7PQ01YCV4EH0AXH4V7WK0UKD8219WPFX8RWN0KQZONRZBV37CPFO44HN3ORQNGLLQBR7O9OHO6BDFSPZ6ZMUHQGE0WGCN8DQYHH8A521CPV0K2240YO4ZKKYWS3JTA7193S1E0U8UT06FOAG3BZCN78FUOJU80B7L3NIT8FIYA1N255ZTECGIOZFVU30NOEWWEWR5ELSRGZSOTMU5OAVIS6TW2Q5S1NW8B6M9LRNX1LMRZAZEFGTAYN5JJHV58C9MXSNYA9404II5KGKIM6J0Q2E6551W6YBA0M311GLK0JV7M58F9SCY6EJBFA94DA5IM66IW5EWJ7AIUI2F2Q7G291FML1U5IN8WHP633S4RC1EUIL9YLPP5XOGFGRRNIQQ3EX3VEKAILKNCH7KWD3LR88754R28RL2MLBN9O07G79K873GF0D97IQ0H029733WPOWIGW67JZAUNLDYF04EG5CI3YNLUR41BEQD6TON4FSJ79STSEUZAK. +-36#ZMQ4OY2R4JP4K7SNBO6MGDHKSC6XYIAMZP5FCQ5OBXBMVLC42IAI4FT51ELOU1QDA2LYGR6MQQRJPNQZB1MAPX4ESL3WHI1GUI81YUH190FLPY7ZNG0OSIP9Q4MYRP6TILD81326VSC0GXEP0BDVR6KLMPYXZ7B68471BOZI4BAXPOD762VGSIAYDJ95XFE9B4KVADXSFW8TKFN8L73VIFCE1BJPVYIDPSGVDOEBY3UBQRNH80JPIVGFGX98086VH6LL1IRRZ2BR9YM79AOVT0WIVQ3GS7K45C20CNLW5CAE7Z2LU5BA4ZF6H9H2QUVA8Q62E4IPGXCNVSC1G0YAF0XMET8APLPKTSEORMAHHK808O5BSNZUHPYD1U9W248OH2W9IW6GNCHU4Q2OAN1PBXGQII9JJJL1AXUQOPN9G5K1FLB7T04B9EMPDP2AJ74FGFKF76Q04E9I3CHK0A5U4LYTMWOPG2U9Q65FWXLUDDF36586A0EIURJC86WX8K4R79D6Q2IHU1PNXGYFKN02WOLKXCCJP4SWJL869HY4CQP3YNC9BXXEUMTUL68GFE8C7FX1DF2XGHWOU87EHZP2EO26SB9VQDUV9F2I0RE97R17PR6BLLU9MEKEUHNOI3MNQ0UQFL7L5NJCV247H6R2U4OSYKROWCNXF4GUXEMZ5KNMXE4Q623QS1PCMU9NP450W8Y763B8TK2OHKQ7ME7KH4VCIVXZMBPH3O4BD7I4GJZLVKWSIPQHKH8AHPYZOUE4F87SHYSLFFC4ZAGQGPKMKMAZUDRCDLJSB37MYC999W9GGKE9MCD5ML4 = 36#B94QVRV1GPPK2U7TLZX36NCEC3UW40LKQ5BD1SV6XWS8U3JACOF1CGOILHQK7V335HP9V9SENIFEJUNATN0J32K5U2SCEQ2PMIDQ6RG9NS5MDYIVPVYCQGPEQDBQGUGHOIKTNO2RT2F5JIYYD1WXUWUH264N8292QZCDVF66H5YU1XN20JTANTACJHTN8MPP4WYQ4V3H3NIBC4XZGUP5LD6TQHDSFNK019I83YY9SI3UBTPYET4T60V2OVPWURD5BAKWZ55X69IBN0L6FFE33BSFCL8GJRAALD1MBJSVYDBC304OYNLV0Z5EM7TYY7GM89VVAX72FAQBZ69OTP1EF75NAPNEOYHWJ9D9MAHY1PG36F7T8HRA09SO42YZ5HWJP4M52OLPJUG4LQRF80EWMDKEO1X6EW1Q02V5S08Q0H4HRQK7V1RDORUO4TIKKGT7YDY88YLC6M5G5TZAUMLCJFJQTURGWTCPQNTUXC9L6GTLNLUADMA49M5T41X0VD6O4VXIJBB3RRQ0ALLQAPEQN5S9WWXS7R7FE0J7WODJZSOWDDT2E441O13C8M7JYF8C43WG1ZML2MFA61CFF8P7WJUEPR00IM3DMYQBE0T8OAW2YTV9YMIPZHVYUV8O3ADDKO08MWFGXQCKTXX4UOQ2GU708YBO9IKXRVV18E41ZQ94BKY6TR8E3WCCXWPCAQCODJ4IL03LRUBF2WEYY45HAZNIQ45Q8JF9L0JL6BEHH5KQCTHQ3NTIMMCM0MFR4B9AAZASR5EFRE6R3R8KYOPV2ADDYSJFDBKAY4VE9WL3NTUBAZOSOSDS9124EBDZU71MPMDRXO1AYJLU1OPM98QXZ1CQNRQ0DEE2YDKRDDE34NWNAO2H9GBO5GJOLAMM75MFN93T7AVRILADENRV69EFOLDFXG3K15RLKNENW2EFPLBXLIYURUEGYQCQN75MSOABBIC5BJW944OSXV3IG9J09ZOIRLVJH93SFGQR1UNE5RZA2SRQGYRX0JIEMW1TRQEO6DH0IT00EZCPFBTC5IIUOAERLQWYMOC5LC5DTBKYERWE0GEAIMB1OGUWBM3HNW9SE3R6PCI4CCD3KLZ154FWFHPD4SE4NDKQL7JBNDE1EGUDT0U1QBNWU639SYJ5KQM4VW8PQM511XJ69A8ITZNUYDNAAS935HG8D3ATEF283FE3356Z2QMR9F00KT2HQRY8LTH76TB6HQ7CTT4FDVF31LVYRU76CEJ22C9TZKF4NKF50NM83APKW8IIY3KU4IYF94WFF06JAL6DRDHGV8D94JHY1WVZGYKNX338CE10CYKFDXIKP0C3U2HLBVWLQF3EDVYRY7BDS24ZGPE2KAFXHJGRI4WZS4SQHUC10QF9YTNHXBWJWKXIXQVT2D6ENQNINII7NDQFKOJ4ACPURH579BQ2DZD2AXGKUEW22JFQ5JPD15Q2FX21T766NWL4A4ETV97NAZTB3SABTUFRBKU0VHH5V0WYY7XTL3S86M479BRS3JULFED97E49HKHE1N8GQDWSCON84CLSWTCTF0OIIL88P9CB7L5VX937Q1CI5MJWSMU4FPSVOAEL3Q6F3M8L82LFVLHDEEDPIIH7TP95N7GA5OJYPKOOW6HV1X3JP2BWQUI2AZFXIH880PCHY903Z6HIWJ05XQTO719C1ONBUL7PRXT2EA73F12K48O9G8K5VCF4BAF1H7974OC6V7F7JFMLU9LWYQ28EDVCDV8CUS6YDSNW4DJPB6132SMWDCCHDOU873O3MYXIBF59D3MADIUIY56V7SL16PCM3Z1FLUX8GKX5GESHY3SB7QPC9PMF3ZM5YEEVKVD8JLRAYX8C8V0KDYAWE07GI3I1YCH34I7EZ2DZ58UAI04R5CMAMFVEHLAQIR8DEGSPQ6RCW3JFJG8N581IT8FEHO5WFL1NATJXK2DB5CYNEGE46US94GG6WIM5AHEO2U1DLZCV7YSFHTP25X1OY07NR42J58XZVU6SJ6PJGPLO26S8VFDB5LPQUD7HZ9UXLHBJEMT1FLJ883FC7S27JI0N7W4Q1S0LMYSBD2B8YKSRCEHK7FFTLG2W0 div -36#BDBOBFSZI5RCH4A3GJBEL5LTUUO28AXLKIOA0HBKZ6L1D6ZD0MI1MEFAHEIFK7C16YHVRBUYM84XXUNC9XCNXZ1KWXL5JGU4I8YMT7NI541HZ1M6YY7F9L047BBWKN5CGERSL1J3QIOJDZXVSIKEPKRIDF3H2OSGYVB24VHDNKMRNDLU3DQM7YQAFPWZZ2AXTDCR20YQVI8J98QCQ7XB8JJXAKIZXRB8SN6GAHZQ7JVP7CPFBA3XI65BG301KXGJ2O4NIG57S97QYGHV9IT92XKE8PG7R46ABR9KRRT4FCX1RJ2NVZZ8HD6XLZVOP8UBXXTWW5Q3OMH5Z2HQ52S2QGRIBP4IKPV3MNJ3UFK0QSN84BQA55R0MMH4LWMLL5HLIU5G1JDM6E9LEJE7R5NGIPYGQI13VCX17WU5LZSASUEL5BLVQNPDU5J17V81Z088CKSJ71YR1L8378SLF3TXLP2HKRICN01NQNUJL5U9PK5RBUP3J9FT4F9EVODRMC7K6IRVJ3FAAMTMH61H1RURKSZSOJU32RIN7NICT7ZANDM6H6ZK45PR6S4B60O4JM96UEAC9EZ0S4VGINSNQZQ60XIYYBWFXY0BSLXSQCG44477UP07NHHOBJBSHWMRH4ALO2SF0M2H0Z01RQJPY2Z6SAN7P98A0I5PNCCOTVUTD2OBLIO12PUBZXF9PSWSLEVC3DGGSF5BAGRNY4Q17CDY76E1K4TK2EFX0TL79QAB8YNYJAUZAM8RF07NR8Y7ARPC2S620BDXV6IYBVS7OJA0HH2YC0J29IQVES19XVMB78Q7BQK5YR428FSONF0AO7J0PWD4HM1JDFNUIBQSQLKC3DU7AA6VO8NXFKONNRNK1BTK8V6MKMGDXPLL24YQWWBVNAI9AMZNKDUJQ3J9UIB69GLJI5J6PHFZGTWDMOO7C3BDH8BSJVPAFMI2CK1ZX6KD1RX4YWDRJRL36FY2ILRM5WJ8BOP13MU478FSQV9U91FKZKI3D83LIOPVEYRAFATHB1UY0NMPUGMZM7QUU1UKA0QGECWH0PJ50DVA5VQL54TP2MU39PNCWPLMHXPPM34E88EWSWA5NZ6B9PTL7PJYX7JJN5P14DGUSPPYCXBPL9WZD9RBMN3V7W9XNBGB2YZQ6OOLBDYEG9MB6XXLDCYGIAEPZS4CQ28XQ1K98N021F6Z6UOU6A3FIQLUW0I2ZXS08UB16GH4JOCB8HS2M9374JD2NV7M1USPWV8IFUW1NA6WR36L02W5Z0. +36#1M6HLPKELR3RMP6ORC3B1JYLEHDELZAETXPM0M19R5T0YOKH8S = -36#1HT3MD2BHQFNHOYHWTY3H6XEAYMJMFE2U2FC7U3EE84UIWXKJ3X43DB0WXNDJ4WVVVUWGOKJSVGY84LK4PW5BX0L773HAVRIPD4 div -36#XAM2UM6SET58ZV94HZL9V539Z9DBZ1D0T9SA2WX1VS2KQKSIM. +-36#TUOLLTOBVONWZ6E3S16MWVO43ODZYS3TO5B6TWA4HGQ9QCGFGBS4I4ZP6SE1MNFTO286R6JJR8XXIGRS1F0Y2ELGNAD5YK9V86K2I85HPWXRM8U9U45OJ66UZ8HM8WY2HTUQ4NT2HMZPEBB8H8TL4HJ4BQUTKWZ1CHFBFBTPNSK2HXEVHP6KMRLIP5FJ7K6Z6GYCU05STN = -36#LCDS3SYYF3XY9YVPMIUEWGKCPYX5DB1FQVO5DCFP2EB3XVF83V90IGX1EXJXMKFFPQUUNVN6GQPW8B78UV94UDLGI7FIXZCQ1ICMS2XTDWR44S2WNESIDL3KLCC5LOR5XY30RLNUTHPGO611GQTEW4NKUWW3BHBR9UPDCFF15BS7RXGXXN1CI9ZZCQ9JGA4PRCDO4Q3ICYG4C1NP34C2VASR9UWNYC8Y0MGOZWEO2WT0IT1SNKIODLFHKMCC8HMPO366F68G0KDJHWKSP8MA1N1LKFCTCW93X8IE88WWV995MIEC16MOTPX420CWBVQ05795BL4GA48L5E379G3Z4NXZRZMVD94Y45IG049RW2IHYO5TU151016K50F7NMPITTQHS3Y7YP7L83B6JFU2MMDB161EOIQ8NAEA3J1AQ9U2NKIBPQWIMWEK95RL6DEH52IH2ZMF1I44B7O9UPH1GO2V7SP8ETQX9H6FKQOZL1AAYMVX5G5KSRP7FF58XLEIZ8SK8BFIZTBJY0P65GM2Y60IFDC82FHQS4CYFGVWFWM8TG9VB509BR4TB9TCZ1PX44SIX52OC336ZKT24WXWVSIM6A0200MR7OBTKDP7510DLVGUMI98QIZA39XBYBLA3V4SL4EXXWWSOG1HP12AQWP9KT7G8DOC8KL0V7VQ4KTW18H2M52017R8U40ECHG4Z1492V1RE5OXFXZF1AHZNB0PLCEYUN9H4TENKBDF500WZM5RHBVPFI6XL7AOULOY7E1Y9CBQ57HDB1OWLCC64I51UC0MJD0QQ81WNGL8BOJIXP72BTZF60UGJHT69PBTIVWJPQQBEOP2FFN4JUQY7F2X3GIPXXOUKRVI12I2BK4M2ARU0HA459XKVEJT96C9AMB8ANF2O7024ELG2AFQIHU7PAK9IF87FFIBQA63R4HH506EGGFGCSX0O01IJURUZ3I4THROGTYYSP9E14VAF263D5NLMCX2LBIFK60GPWX6R84IBYR9J3IO8IUK1VEFT9V98J7AIFVNS0ECHJVZFPKC2RKNJYS8WYIBPYI2WLR54SLV56YMZ522PVKXFFROP801ZO1MJK3IN6L3EFBIE102PEGHB3ZVHIJWKIDQP5ELF597V9QY6UON div 36#PQMCRH3SPNTPJOHG1RPC7N4XKS46REMK4MEBDZDFEXWW65DYE5RQFZG4LYGFXRYKTM74S66A497K2U6IVA0HJSPF3QDOD27DIP0EB4YV0LT3ZELM9UTJ7G13VO72RXCHTBJNOFLJ91GZXXD9FUYQ91GPCEE91G8GEGFPDI3EBD733IMYZ1X3LSHGQSNIVXD7S6R1AHL801ISUPZ6SR261L0I6UDKKNMP018NW3EPI3R1GVJSXN7O1V6QM4SBR44C2D5OPHDJRH0OGPZDSV5ZKMD279S0A1IAMAXYFTZNJ1KC3KGPETYQ660M52IJJ58ZQ70B8EK6020PG0C19O74VOOLEZHN65JB3NKICCFT8FN7YGSSHWG4S5QDOO9REAPSRMT40OGJYBJOOM3KN7A8RNXPVNYDCDJL9AFXAN7WM9JUMS7Z7DLRGTZ5OL3X42LZB7A0J35OFQZM6F22JSCF6W927NIWSSDXFR004ML6A138YXYTZQQU5W7EJ6P7W4VW5C7GP34S9XAK6ANGTJN73LE81BX0Q2LJG62K1CZ2GIM48IOV6RRRT5SA46UG3J2ZPEET2K1FFHMNNB8KRFQRGIHLTC9O3RHQOT4HS4D3ZBS4X7IH7UY0QNLEOJ25H1Y2615HBHCXJXN126OAG8BUBRJHMNR1E82VZ27XOKK5YPHUQ30AQK5OHHEVLNZKGQ3XFF36JWYKCB82WEPL5QJIRUI6T7TMAPWXHG6MX0T1PQFEN3R3DFQG4O61ZO2UF17ZZVPGQO2KVCXHBQK4FGK755PMW4L13O7EGG8YGNYJT27KQYF8HINICPORX95SPJBOZA9YZ6HH7K8IHX9C99D3WCDSH27UODAVIDKJIRQ5B6ZH98DMKF925U57VPLOQV3TRM1EI1L3Z0HUE4M69757ETVBDXX0VM0RNQS2TNB56SDMH1. +-36#RC0K6DNB1VZY9GROERJ9R8N7LE8KDHRQZQ8PQFMG3P0GIH36DN2Z8UF5ELHLD0Q0YX606GFAE7M1AP0U2QT29Q0GRVVGICFUJF2BC8F7E01RX7CWZ2632YEMAMFW6ZOO19Y6DZXTIGPP3I7SZ4QR2LSPOKGBGHR0OI2UT59S8BD3QDOSDP771ZDCYW45WZUR6UVBZRJ6MLFGFZ7EDYMBYH032NK2SDSIH3YEDX7I10PMPCC8HE8LDJ9KMDGEOUJZW6ZQT6N80PIQE945MQN7A9AC371X8EPF0INT151UW5NZBR28C1VEDNUMIEI4M9717LYK282HILPWUGASTC996DH1DD5TOVLHJMF3B8I0NNTOV1RPCQW081M5YGGUI7LZKFZI7IQJG1R0GNIV5IVPMSHVDL3PRL3IZBPZ09P1EDRGEAMNRJJ0FPLIKEHY6QDXLF6T095WTHOZK8LASSEQJYA6601JHMPXV14DKA0IC11IDOTE31US7UV5J4HWVA6VDHVIYSIDTEZQTJLF34KVTOIOJZQU334PU2UTXCMNQLY = -36#1WW18JGTFBCT0XC83VODW4Z2EP3F6RLEOJGNMLI0NXW6ZSX3KJ1X2HIG17SA95LXXPLZJJ2HHR8QV0AWN6J6ZZ4AON51FF8HZH9F5E8IML02FDAV0O5VAY51GTUCLI2BREFNELXTQ73FORB97W6BYY71L5H6PK1T8ULJ29EESHZ1B7DNSBUNHVVB8EU9B352EDNR3UY3Q1FHWB0JYCK86P47SZ9EONU7FMYPGNEAHKLF9I5R3A4SRHNA3E34WTN9ZPVZ23BEQ2K61IYALZVG1LG5OT9LKBDC2SKYFRGB8BQAIU0JSFV8QVEKK1N0RUSI6W98KVTD3RMF1G1K23HPBUPK3XSG2RYMYMKMMOVJUN5CAJKXEJSK6NLGU2D8UKYQ84TS9G0EA229L5Y7MJOKFBC7B0890NHO7IQTTZ9RBMJ6CJ9ZTLWEEXLA2MOCFBWF841LWUDW79C1N55XIGZNWISX1COQ7OUB1GHRHK9YM29095LQOGS5M24J4AXRRRZD7P39W545RCXNY8N94QC8ZXLR8VW4OT4FPOZVKFAR7NDXOT7ZZ2I0W34IVLW4R1BYXG8OZODL36ELTD5C1SFGETGOYJTGNOIJOH5I704KGUBBAO7LIDF0A4K77VYXPD2JA4ZMHM4AW5NHNLG4J7AH173PRUHMVQXZV42J0F6YSY4BPC7LMWL8GYYCFNQ58IKOO div 36#2IQC280VILCV7OHD5RC2VTQ9ZH6LXK3NKEE69BS2RL1J5FOR9603YD802MTMF5UK5288QKUMDNRJU4A41GW2ICZIE2ZIF42ASSADJ8R4BVG8RI98PKTLTNH83OZU3F35TDXT7KGX1PSXS05G3GU9ZO. +36#4P75HTC9W4O0JCV74PF2ZAG1M1LU9Z78OC5DGJRTYV62TVPDE8GLTVTTIRU6WT4RT2PK99XZBM2CDYWLKAY8QDPBXAZOB48TCFVGY97K2ZMBJL8VF1PIAHI2TSJNFP8K25ULALBOMGQBZLI2U6ZM19L16BRPWBJES76YTZ6C6X0C61FPD4PMNF1QG4TXVLFZDBMS6OW84I81LG1E1WC642EFPHJR64QI2HQ7JG4H3WPLGH016XHP1L1EA2E9K47DN6UNE7ALD4VFQ2P79DC4A6QM5LXBFKWI = 36#1HFV08VIM87BZ52JZ5C4TV83520PEDNY6OJ94THYIAKKAF72G0L768SOQEMSAG445BID8LXNLLEES6KE6HKENKK1LNGINU6EAT6C6BHEN8SX6IORRO3CJE4BPY0G7GA2Q1O85G37ZA4OXLVJFNHU33YD8K2I4SG24J0LKKX4TX11BQR6LFWKP00HQ79NWMZSRM8VQLE3V4OLPP5JYWDRREIGEF5RWTFZMGFQD4NOXZN9M2CF4IMQ6KXD3R4STUL7BJ9BOYOTFA2HYG7YKK4JW3TTU9DUJ2KV15X8N2GH1OVRZYX07NS1TPTIZ2P0SOBTNKCL3JZ0KMQVDLEE0KKBKTWMUPGMKEAUR763A2C88WKOOBLYLAEUXPO8MJ9TD986D7XJXO47U9TDBI82CV62JPO7QAKD8O3SQCELRCULFQPJRJV9H4Q8YQQWSM5A7S03P85Q6I68SUROJ4Q9JLLY40H8JNRKW2CH3PMDY8W1I div 36#BDC2N8SSACOAGA83R39GLPLOI135LX7O56TOVASD6GQXPN7CLQWLMEL7RUJXLM06LG8DW1WABTOQ5TSFEQJ72290ER4CV3MWE580EIJT4IB2DC65P5SXVEQ1U3DJ8KI1USZW55TU2JICG2SJRF8V3VIWHUSZ68VLMU8V6UXLZFL698OT85YEEP7FQIRBMIR7QG7UOJ6TF. +-36#2ZMW3EW65ODGUJYDPTKVRO8V2661I3H4E5I30WAWAJS9IDILM3D0YMQGPXZ9AXU5RVOP91YYBK6NB4QWJR8LODN3VVG5IBH0C6ZWZLACNGCKFAND1EGDR4B1NNAVDFE1Q6TMWWR5ATTEI2YJ2IB5P6SG2CZLPINXQ06FK5YRC12SS8PD4GZBPE7LSMMFUSP315LMD3RIAH09Q2X9BDQKZR0CE52D8O9GV9T3YGR4ID3OTIDKZEWPN7LRFWB6EFDUHH6QQQCORYTSKUP5XHCIPKANBTJZ4GRBEWI0W9BMT8MXGQS5UTL7H0Q7YJA5DR6JL6PD34KTM5A7X6OXTN5583RPWT5N65YSUCTCY27S4SLLNDGRXDZNYJH5H07TQ928C3G7XCKI4S95V8AEL34F1XZTJV6CF3L0N4PEFYZ6HXLRUDYM9NJZXI0YRABWPV8FR2D7RA5HG3JCFK7XMF8XHPOXEWFU9BF293JXN772XKQC3Q56BC74X47CZ4WA4YJNFP3IGMOEJF24HVMVSH6APNKKFP269F5PCTJ4S60KPPB1HALJD069A6Y7LTJ9A0TMM7QLOYS7PUOA0IOJ57LIMFN84U3GXOXZ7TCOQOR76RSGR1Q05EY7IOMS5QB41SM66CFMGAQA3TEWAKK8PEYUBNZUXL42TQZMQ12BWO1PN1YJMOBMBLCDRLP5XIFCDXOTZEX1WSBPJF9MR6JLFV333LV9TJX8HECNH5H94IEMMOVBMMP0MI3ZO1JRHL8DQYDKU846DG5FSAA2F12SLFGMGWDMO172BKNOC5A61FSQ15UDNTFCTVLU5IJHY5VS6QDYRSPUCQO4B28HJROKNLU51MMWDZYNEUVDQD41E642DMVIAAIB3NQBF9AC1JGTKR410JOQBIKDS3EWBZ3L6T3I4H5BKT4JYKYJEZ5IORM0JUGC44B3WF4Q = 36#FO8Y4Z8U90ABLMGV22FYLBF83DY5HQH6EJKXOK4ZC13H95EV2 * (-36#6V830EP6QUX76O39Z6MPNET93EIX9XNNPXIPT6DF9WQBFAVU7RAV0I0BGE5ZX7TTHUZSZ4N2TSQBDFXOXA85CLC5R27XI4PKSXJY63OEI6R7XPMX1C361LWXYYR549QQZ1Y58I0VNEAQZPUZSLS5OVE06D6MG3CPQHH6AUK92OLB2DGAAKUHI874DVWC4BWTKJ6ODA7NYF9NFZ692M0I02UBLQX6EJI98U8GST5K7PGY1N6G6SU64MYDOR6LFJA1881NKNS7P20XUJNQ87ZQUCBEL8R5WJLIP2BAOOKZDVSKAG4WPNPEAT3YC5Q7KL13IQY0QAXQFXE1T9HIVXLSD4701S92W5R34LDW3M8Q4H1UH7EKVGDNEEHY5PNNWLPX68VNKOVJ6P6YIB6NGCBD7GEUQKVFL6R1DXPZJRNX4EGKDVXRWKP6EU43CJB91R66EQEDSGXVGHGKV2VZVOXY6OQ9TZ8UPFBZOAZUPO0N55V3VSUUGBUKHFLW9VR8QYPJ4LFJWI8UVIE6ZBGNRIG8YCKRVW7HNCHU1MZE3Y0Y9K6ROFCH21MX144XFSRPEEDWZTMJOIHSLYLWP36A454S7CU4C8PAPV33AEQORPDZ3R3XGCX644QWRWHBC55PHSJ4XWHKKV26O7W9AIYYSU1VQ91MNVNTYNYSAJVTR5EEJ69CZPQKB957JKNDW77MV8BXVBZBDAGQCKFAERYVWN7UNOH3ZBTG24F7EMFEDXWO58D7EDPND1TFBCI47ZWEFA86278NG22VQCXONURV3L95U5WV0DH50D3T2GEUBN1QINUWKWMHLO03WCBQ1T8IVWKEA1EAIIKDEG1SXV98VTC1D4LX1VDRTJ0AP2QAI89MZRUNBMLOE9DPWIYHLZFRCMUJ1PV). +-36#TQI4F3PBFC14FUVLLKCO62MVS8CUSQ9GXUWH6UMJTHQCMZO25U27X4HIK5ZOGP90JNPKHNTWDZ1C0L3TYWDWIRG2A2RFJMQJNWH4N7NUHZRROJLAX00KVCTP08XGTSFY31JMRU6O01V8KNEUH7VEZSRDWGTRCJ8SRXOM72H3TY3ECDGBPFXEMJ58RCWB32GOOHUQPS5HBELJG3HQMFHZII0ACB2D963L4TPH87BF56OGQKJ9TXB77EN4003VM67AP8QU4O4LFUGKXKJG28VAXRZZ199OWIR59O946O3P1ZANA7BB8NMLXHCX0WUCQQL9BZBORC576OJPTUMFNZGC9327JDY46ZBFMO9VCCV157JOH6VI9EM46ASZI16B9V9Z5 = 36#LYJXBTOSCINEVLA37CQTZZR86BS4OGJ47NZJGC1QKVAQA3NNMC8SM8BBLV2HDFJBUA3X8VJ4KEE95JSG7X1MRREJWPRIDPBNIZHQ1QGBA8UBDKLIX3MF20D8G67J98CDKJ721OWH0VOPB3X0996O7BZ2HZMBRTK8NF0NCXXQ1A369K44QC9X3OQS8AFTXXUYBXTR9P1RB5ZE3I693GK8N03D2VDYG8F8212VS75HKERTACPJ17B639SBL1QET2HOCAF7G75YE0MTSD1YNSMYKF4EJ8BPIGAVTRLIC6HEFHENFZ9VH1YI3SR5DPSG21CILGN0AS2YAE36C5EMNQ632LHVNBLY4SME3NUNMJW8T8NIK4AOWO39KBU2JOY4NPWRC8VXEIJYOB5BNZQ5LPX5KM86VWTGI4GN2VYNPR0KZ3EE1UAAYWOIU5CORLZRJG946GL1QSWNWXAQ7WTGHHJUEXK2CGNAJQ5GT1OYG1YFV1M2DQBQD8EFPE01XI9B10BJJZIA2S875D1IECR0M0YVTI8D4CSSVJM3VUVCIVYPNB4P23IT34DYN4DDWC59NUOQU43HRYXG57T8F70RYE44CBS5FA3W7EOWBQQ157APUHEYBXWKTC4RKDWRHNYLE9GK4VUUKGU9MZ2I5ZG4LBJXIT0SL98J33S5YBDDU68DEW2GETB1P5E1Y1IP81O6GHEQSCKTDNPMD1DLQP0BZDI8XZKU0N0OMYP1DOTETXDCPC0ENQRZ1LW4DQ7QGDLX8L3CY67SGYNFK3LKZ6ER1FY9KYGZ7QXVRGKWWIYUR0416GF4LJF8ZG9XQB8O3K45E0YGFIFU0PJNYX07VJVB9Z6BIM3GUG9OUTRBZHEHYHYD88QL4O7N5PWEHOTDGA3JOCXDI907FO074U9VM7LF0FZAZGT5NSNMH57Q5294QG2O1V7CNPPOM0ZA div -36#QL2VL74T50V1V53ADRYAX7OQLVDRRYCKRXHUOR1WTJFME2LFJZSYGZF0VZ9HQ1NAZBG4C9ZHHYIMTQQ9C17QMED4PKOV3ZANLP9WU6MTAWCD715TAOLDBYMT6NDYB7N6Q2WTI758A753AHUDOILD24VF9ZGTYVDO1YKZ8RC28IXR3GRSRAFEQ4KYWDCN2ELP8G0GRVTK9ZLYYXLFAWD3ODP09FDB5OUMACOZZTGT9PJ96CD64BQ4UCIMUZ429AELEVCQYH771O2OO37YZJFF0VM3T5YUW4EANP6OOTAQDU8XU2AVPQ41AM82NS6KJT92A5BDBHYJYBQLV6E919MLUVED38MAPV5T4LS7K522VOC6CI7JEUUFLLLKTYQJ7LNZWMSBZJITBXUUVGAFF90GXHZFV5SZLCSF7N3UT9ON49W7RJBG8A3AQQ0PP3ZJMCIDD5IIIBUGRDK1QTUBNVYL3MJ9G49LK2EWUMUGXL8GWYMXXILUOKOF75KHZWJDT659SYVP9U76OD5FJNZ7V7IRO8ILTKNQ2D8CSDMPSCHEJOUAJKY4UT2. +36#3JLX7CMP7VRCZ5QXKXRRC60KRKU3MLVVF0D6WRAJNQYY8H1SGIC9SKPE6ZECDZZYUCC7E7VBQDELLSSODQTI0EO0F4FM9BBBJ7YZV9MJZFUHXCOZ6P9VE2ER7LPRZEC2DNCDB4TEHHJWSSIXQ5GRYP925OAF3ELGVJNB19R71GBBH4CTMV4PU6ORG63U3JHF6YYREEOZG8VLCYKJWKY6MBY1OWHRVB95S5BJH9L7XOPREJYIHN1X9E3VWJZ4SEWKVCP5EQVMVPSJIT4DK7PP97IITHN7HEH03QHB5H1VGJI3NHSRG6CFY1DW4BI8S53EY3KV4FMLH5BFVOUJBUNGUPWHXDPEPS0KWIZHPTGK8ZAPD9O3IM6BKX1RVSHQCC = 36#15TKHYR8K6JWVSEE4IO18GL8FH68KNA8JMMW4V21DMMA02PSKX1VWCVDC1TVJG1N996NY5LMVJOZ7DE092OU7AD5WZ772FO6ZN7N5DLN9F5FYQ7E6FK1GRC57B8XQ37JV3W0TFOA62E0EUOHAN1JB569RLZ379JKMRWORMT4UAJK0ZRPETBTHY8LQ5JIMZKETFS85CFQ8MTEI62W3RMDM66U4JKYXUGC6UDI7JI7ENVF8GTYQEY5I7NA6JSF83BIRCWVBM211N89VBXTCJENDD8WJ2PB2JDJTPB3QGLEZQD2PRZEI9ZI73NWU2FAI2PDZ9YQA186L4L33T75VFU160EA489NKU9RHVHG8MV3JWTCW7MWTTSB0VDDU33BZNGOWZZU5L5I8IM30ATBLRFORM3PH72BPOQCQ7XE7ZJEEM4ACCMK60H73SU1SYS6QU773DV3Z7A5V1UYZAJQ534V6L5LUIKLNT156SAV9I23SJVO1N7DUXX8DDMXP0LV50ZX7GTY6JLS9P8WFCJZEW6UNC1A6L9DXXOQVB3204AY2TNDPLFK6PVL5DTULW4FJ05BE3TZDG9SA8Y7MAN78KTXJOR9SOCQH5PR4I5Q8T1THNN08LJL92FBKBYWOAF1Y2QFN3TC80 div 36#BSQLQMUAVA6PDBHNMKZ6H5ESE4OI4QQF7C646D9J95A3PZWJCFZ315T5H9M0CXZX1X3P475BOSQZQLQDIUJVCA4W2C2GLXERM5M18ZXB8CLR8EISHRPR52P8QUCS1SM4BG2XKE167AFQYJQ0RAIW9KLF0H6ED54G3KCPIF4DS2JHA9FPNGPJSQU0O9GDOH00ZG87D21HSYEQ43C3IWP4BR8D2V858HDMGZRS163B1QRDBGJG0P2BTBGSXA02I9RLAFN34NCO. +36#2BP1QL6FUR3GANMT2E6H48E7WA989YXAFRFP7PFXGBV4WYU6BA = -36#2TFY71I1LDUHKS8FS96LVW24JZ81TSBT3NCMIYO1YR4S8FWKA36NF8KLKK77582DEZ44TQ9O5G5IA166PBEI1AXXBYYLD6YP8SFSE8VEE8CPDKS6WNVGKPSLMV61MZYRLLRMVNC4F5SAD9HUZAUS0VF48Q6I4G65R6O1XMSQEJX23K19NIAXRO63ZPWE86XHTF72L777UHGY0Y55LXM4FJMH1AHMFBS4SH9WT1YUEDVYQDNI div -36#17MT61GCHSTY8LWUZVUYG2H29L3WI50TR7PO9JVX627BYKE3J6SM0QP4FAHOZUUURBCNRMEX5QCZ7RRMLCX2MW57C65N0WZWJ7BU2M5YNLBRXL3W84CVPMNU0BIJHINRWU1V0O0D5A9DAZRFQV4CXIC4WUHWXF8BRIMFPDRONM20QNHG5BGJIEI0DNDI8L9. +36#7SCR96L2QZ7MNILJCVR0C4S22XAQK15G8O79VQ0VJM3PB9RE5KS98DRSKLV7OCQMJ870DAKYL4E4FLO9Z6CTJMWIELH27L3IPLK7T74GZEKH6T205IUT1RFLZVOM3F479OUFTY8699JR41VEQ3LFW4UFYVOMFOUIB551DU4VZNC9SRKRC6K10J1WF62JTC2DMKAGWY9USOJ723UK3KTN4M22BDX6G = -36#3OI2AMYII6ZWI6IZU992PI2ORHWZYK918HAH51YHLKOARO9JVF6OFGPBDCYCEINA0HGHLYVJ10EG * (-36#24659QHQLI1JOEZ69ZJ5PGUIOKJ7QGNA7CRXCQ6TW5I8M8Y9R93NETYBK1VGZPQ4L0TUTAK2ADTD8B1EL1UEAN9FEFIMJAXLBU0TM70JNS6S1M4P0PX0OVRK9R35ZC633I24KL9JAFVZ4BSFZJ). +36#2EMN2ITFDYC41SSKITCEL6FHXF94LLJRR9KZQ80ZNR32FZDNEOJ6CJBJ6Z5LII53FT7NFIJ62TCZKUHF3717SXQ3X7QUZT7KXU5OSHS400IDECTNK3BT70Y3CJYEQGXF1PHQ9L87HJRHA92KEQ1EDDI4JEF0ZR56P0RQ8OTIMN3VFD0Y9TDW9E8124BDA9N3XWX2DSABZ61R429JV8ZKVBF18TP77LVIHCYTXZD59SIAHBVBUKRDEBEJ0SRDGVCA3IR85M5PRCVQKJ9ZI4ZZZHF29P88YUHPXLR91E3OF1SL43KOYBO30HTTY3W0W3J2G85M4PZ14YF08HFK3U73A28KNHMU4OS30ER1C0STNHVZ92JQ344XE0BLCV6YLAVEQTEB9AAQUW08E20DTZQK0MVNL2MPDZKGE8NK474VI3 = -36#4JMGXCDQ5LM1XF0W7B2HSGA00CE2V8JHHOU396P0F14WKFQDA0LB5G1C3UCPKS6D3XL2BSKAS9XTH5K2EFX2N6LTXDAZWXBTUYSA05G2U1YIA9GOCUECRVA5I80XI87PTAAUEECSTZVFSRYZBV0T2WXBRUZPZYSB5BFWYRJTO1WCRVFUG6PRUXD0155T2O024ETMS6AOFOI2OWWTGHM99SL3JIRALAWSPO4Z6TU7HNZVBPDVW9JN8CEV3WUC7DYF2UYAJL64T8LM2F9WEXE0UPUZC5LBBSCRRIMRSJ6JMN2R39Z8Z1773CNUY3QA4I3LPTBFGAACU0AFWBIN6YE4PFXYCP500AVILTJXLZ96FQ5Q0AADRX5BQIIL71EY9VZ77I8CCSF71KEH5EH1YRZR5PLZI50W09OJGSOEJXMENFJWM07OSJTNIA5XUD4QOPQONPABVD2328P8900LJVSQOYOW0KD3KFFCKXK2DBD65CNI75MWDWVFPYJ2M7HAZDUCMTXLAZB7DELCWVL109352B104R805J0RCPTWR9G9U2YOF5MUAY1AK73OVVVDH7QIBE8KTQNJVC8XJRYJGMB609LDWYFW9BMUY9IIAURDBOF3YLRGYMWZ4YCNL0GBN2O9VPJED4YD5XTC36S2QJLWF8YUGEJJT6CCW1L5N4PS8X19 div -36#1VZVKNVO4P4EG1WX63IWMXZ96G7A5589AHK3IJYLFSLGAV4BH85RGWRALGDARZ38IR2EJFY1Y0T4075TTD8HCSB1XRIEYUS60N0XJKSBYOOJSQB6YPHTIFOPDQOCXNKZSZTIXRE8NTTL0DPIF0Z914Q0PEWGY7SVRMLCJZ2J68TU9H9P4XTNORKTNJM06H9EYG8OTZUDAQF1S62Q95FDJ5RDXNOFS1ZLNH08JILL9IE1QKV67K1MXAAC1V4XYH5ZLIF. +36#1MO21LYUW53KJA63VA3RPWSQO5NP8R88BDLYHC95VE6DO4RAX5VTYBGDKRAIMYBLRTXXES5MFU32IAV2AOI0S4O88BRSQ6T1CGP0FKTT1RZPOX18NY27MEM55S2ABYPCNGAVUO26YB0PRBCZYXX70ACF9N8E2JW3SY3PFULNO0NZ71MFOQHZ5XMTGTCBAWVWLGQBF4HCVQNS1SMVFXAPCGMY2L6VKGXUII9MQVHSSE44GE5CQMVBUSR0I4NTZ38PM1UFMZDE8TPBCB6DUGCYKCID4I05ZTSLX4XBMS0L6MTDBLNSXR3RFMAXW2EDQGEVPAQH7AFWPNQSCWB6L6XR33 = 36#2HD6V5ZO3T45TWUKHNY77D8YAHYKJ0UFT374ED0IQZNUFB5Q7TAUAUHIY1BZLJUL9TG32DPTMAFR5SQ17XAT2HP6SYNCPAZ4MDT4N3FO5NVNIG6A7WRWW5EVIYQW3V6XALGT0E413TPM6EUVMQS49ASDSDTN1DJMA0NQEPN6QLOGKJT0DZ8YUOD8JZ4WWM7KXZWM9Z927LTIY2J4F4NDZ6YOAI3UVGVQG8ADNEE5ZMMVU3DP1PUQ1UTU5E9QW9MUW7PSZ5W3EK2I2ONBCDL7EZUBMZE3U0UX5Y6Y0UK2C0BGOJ0GRA2NL5DOCL3R3STQR8WSI80CREZPZGKULRA0R1J1OTKET1BP3NBCRUMAXP3CXGVIFPYUFJPICAVF0PQD8R8Y0UT3QJHHMKL8FAR0VD10JNH1QP4EAR9Q0OKVEDC40EMLM0XLKAGB6FQTVFHX0KF7UTRA1RWTH8BU37ME4NACXXWHMTMXBVV7WHYUZZQRVET2U0JRH2DN1C152X06UNZQXY7O26664B75Y52G5WMFHBFI2LZ5LTGPVEC6SFW15MFV8EKTVU16U8ZM4YR6SX0MEKTPHHPXRGG0TEJCZL3XG52O572262SQDTA6AW7VJSKEUHUL0PWRMFO78EXADVK9R8COCSISNT2LFVRIUEN5UKV25OTFOCBCNQHZK1IO6CX4JK7PFP2BLBDB7Z30T3B6IATZ5G8F9D1AOX03XCTUR2MG8A58HSP4XK4WIHZXYNLZ9714PQFYYNPFR4ETUL8BQFMQ0L4EKSHJRTQZACLC8H35Y64ALUBZ6AN2TFXIDSY2XVCM08G6UZLUYP0EPBXAWZC4Z4J3MC1J4GL7RQQE76MOT7SUYZ8WNRL8ZJEOS3I4ORS5YTSWJ2Z7L7GE4S1KZXO2YUYI6FTQ1H40ZQR9I8VLWMRK4XJL0QM15MPUGYMHOYPZVYAG3SLYWOB02JX2AZ0KIBRNGSXIPIVXIZ5B8ETIBBOL7RBBAD0P5LI5NMW4203O8RPQMD8YZVOCMFRXPYMJFCYCR4HQO div 36#1IU4R88LN3V987BFB5R0ZAXXY29R69AAWZSGOG4XSZPVVVUDVPX88S8NZEHW2O93CRBNLDQ8ZCBOLWMCXLQXEBUUKKOVRHK6UUTBN4CQM8XNBQO3X7ZRBRTU2PLMCHARK8ZR9HUDDP6RSBA6HZT0939I6Y5YXREEICOOLQCQQ84SYGIQH9BGW4PFRVMJSH4XBTYYCBLDEVP8XQZ94YOLY7XARELHKHZ4TRKHZ9LOU5Q2H71TJHYHY1GDVBMAM1JPDFBJEAO0VCW67VWIW2GVS1GK71UOAE5801W55COMCL340YPIMQ60128BNI4T9C77EU6O7AMTX66RANMXFMOAFVXHFGKLRT2085H5VZPBPU3WN6ACBB322PX6F7M7CPU44TTATJMAKVTC8JH0ADLNNS42NIKY66BV0I5U3DJI0DGK1LRDDUDAUPPPWRCCSQTOKNLH7R8X6Y85WC4KV783GAVMYD4P73CQR3LUC2GBYCEWA5MH9Q470HPAT07XW4SBLBOU2C2B61FGOMBJTKEP7ONDKM3MKET6B1WBTCOF6LXSAWQQN9GO84W3Y1GJZYTKDCALCQJI75YJCN7AREI9TKK3ZO8RQDFO1LOCR4K3CEHSAHYCKZ1OTJFH6DBZLAJFRX6TGT4ZQQV27S9FMSXDLGXTRM5DK6RZHK9631SZPJW7DYHMP3QDKYHDKH0W. +-36#EDV7TBL4AI22BLBPQPG29HTVF6N0TXFNRNVF9ON6CCPE3M6P9VI6NOHSB6PIC6NT15VIJ88JBF4MFM2HM1WKW34GHUV2IQVDV3IBZVB7KG5RSAT0I0EVCMWDGZQ2F0E3PYR720J5T5C12W4SIHPB4MCL43VDP4AGW7K4DJ3BNCDEE53UZLJCCTZ2PBYPZ36EUI3WHOOXHN8LYIHC1Q2EVBG4TRA3OMX9ZIZSW9FWYT9Y3SVMO3AH7PQ8CXZWI0D9C0AHPGCKHPYXAMEP3HQ8IC59HVF697R79WYFFBXJSBN3VUWLXC73E7P2QPGE8QARX5ADFFK50UMPW1JZ2AHCWB45UL0O39MXAWMHNP8PE6UOI16BB78YU7XE4LJIEJ2JMRV2K8DLW0E72HPV0GLCBA3X19X2BX0T7QAKK6GHCKL2XTOUMZTRCZ9LYLPPFV88JLW9305X15M4DDNL4EZKV4NHS7UJYO9HZMYW6AWY8SUCUT75S3PFQVHK3VNYY23H6K7WRDV2Y6XTWJIRPGC9B8MWTNY8IWIK6G88YLYVUXEOKJNOSBB3XH2F14S7B7581CNU57SNOLH9DU30OUXNFJV5KA4H9XLIINDTA2GLMVT9EX4A3XXTPJKNXTU5D2DYW1OR4OHS6FC3NZX89T1VYZRF5A0MBC3GSSMUG7DVFRKEPC5H038R5S71O116LZWYD450XL90TB8EAQ66F7SG3TFXJJ2WLX16010EYD6TW57F03MWLTD1MFHM6SA6MLSQ4ELKKNM0D6TILMH7X49YKGJ9397ASK65PDO6JDS3LPFNTW2TB3050R0Q08TGOTDRK18MTP8JMN4WN2O2CZNEVOWQBFEEG9YYA0C2XB04JD2QSSE8S = -36#GG1OIR711ERL5AJBF0YQTU65GSWHXPVC4UM5YJ6H3J9J4WALZ * 36#VHMB5TQIC8ZRPE5YR4N3XX0NFGQ5RKFCQU3TJ2FLKEFLNJ3ING5IDAA8UZRH2BW2Y0KB8O1TY852PBQMS28V91LO4K736TO4I4DJLVFRXHCT0OIQY7Y0C5910VW9FCYE6E1IP08FX1JRBQB2T9IN0HVM22BWKM1578DVW16E7Y23RJ380S2KGGXHJR2R2G69KFPZ08LXDLJXWIY4OPW07OYS11HHGT8IZY2HYWFM542PN8B48H1LXBN8HDKG4BHRD7RI9YFQNHDEL9DMVA683ICSNNY5LXIDY6FGZDJGJVG9X5FJJSNVOU2NL680RQ4T6JVUENB62IAO47UC73LUWZM4F60WTTE5VA3GDDC62FQ0HDZITRS016X36QUQ5EO08OLUYWVWKRZM5MTLL7NDCM6TCSOYJ5YJDU38F0Q0314L8PKHXJMVLZ9Z8SOS9E7LSBQM88SPRJU9YS2EDTAPQ4Q2IT4TMBA70VFULG3M8QKISVTMNN319DGZYAMZUZ1GD1F5KNF45FGB1AZAGNR6VAU5398H77RZ0SCA9JKERM7QJ81IHCMQMYV1F8X1FAX9J23TE1Z8OCKFH5SE7RPU6RR4G3KP0GALWLXUCDXNP3ZA3CTQ7254FFROTK3P5K8TRF07M14MD3TP34NZ5RCEQIOQAQWPG6JBTMOS8L9IB5R7MQ21JQ2JBA403G4VJLBFDGIKGTZ9M2J8927PQ7LZOKF1U5XQ8E85272VR20KM12HDGT4C0SW1AHTRTGKXR3ZJP7MP5ZZUVAU36ZMYB4K3FJ5I061ULPSTFUFQSABCOSV3ZRFE61QFHWZWQ8L60N8. +36#6B8OUECLB82W7VHRETP9WJR8AVI7IJIKJ1QC654U0CRIRO58VAGNNML94YGK50Y98YHLFIMV0ZR7AFHH7Z8CRLGVVVNK9TVLRLW4HLNGRJMCFMXJGT5L5S5XOYW70E4YTZR5NV54WKY4E2ZUGTHEDGUNWS2M32JZYZ976URYABPQGIZEIYDAUQE3CB8N3R8EOWE603M6E41Y573B5332NAYZ0G91Y6CLWS4KB3IEJ8LIIKOSHLBUP73BC1D7888THVWDTN5P6WQ6SLLHYFTQQVZUX5KGGDHJOHLGGCKW4V6WFFFRI76N9XH34OM7R2T8GZVIDPU20DFNFHWNRUJBKU0J69GVD1BW8TRRCOFKQLXRC71Q8XBPEJ90LA7EPRAMI7665Z4UCV0TXH78PMY0O6H8G0RXKZ90UM0208P72S4EYU18XSW3475NPGY5D1CQCNBH75CR3XN8SBABS2GHUXHJG8G5Y60NP24YJQ7SFYUWUP1AEUUQPZIB2CI2U5EDUA8JQI7V5M6SGLATT6GRGH1GVROD05YH6FXLGR6F5XQGTXNFXH4GA1IHZ78Y1GSU4JWGNOBLCXUY5GGIULBUO1EOX1LCUCXFK4PID5B2NW27KP5192JEOQ95IWM48HLH3BZIMK9ATAVLRI2E6PETTD7ZEX1JBQZR5VCPA3U204LR9IJZ31DO4OB64XW7B5Q5T79Q3XO7CEXW9ZTIX7Q1LXIU56T55ELHF0S2P8NWJQETFBEBIZGTBSOIZ0EN4HGJJ0UZ9XJO3Q8P3Z4ZEW5JRVKF1PSZEKLRY7JHYX14LHCY11TZ3ZWT1SHDSXCZY4H1UW7U7ULHJZQ3CQYYD68ALUHBV791117IZG5II7VPJOMPQDW1D2TK7GQHNOYA4H65QWGXMSX71ZAZHHG1OG0VAXU76ZA7U9DMKKE4GIFKBTZP3ILRKEGD69LR3D80MNBSXDZDY0X2ZGE6P2VY01Q5U3E2Q24WM9GB60K615ND4V0NTYB9WKYF86UE2FSDKIUZVUQXAHD4XW1CXFFZHLW7C0UYXH1S91BVM68QJHK80X6QXPX1VRH6PCUUQQ94J2KX7PM0VDYD3LBI47G8QWM33TFL66LSD0APFKKFATWUWZ6I7KJSGQWR64V2IKFCUQ06MQF0KSXV6AQPXN7BZ79B793EU7WRLCGB3Z6QOTOOF0R1CV6EPVK1C25H3X2INGXBYYJQPDMH78EW00ADWZS4PADZPP968JP02MGMNMA08Y1BEG0WNA0O1JONPFY9FSJ3Y4SL1Q2AMX5IE0ZXQPT0W9SQ6GR97G6P2TF55QB5OMNF = 36#DEV56GVNMZIMRX8HH62JEQUFD3H9N8GXR1X9Q6P970ZKX85CWXXLPE4TVQO9MNK0VAYNCUMZVH3OGJZDM1MS3QM5PMI7SUZGQT2JXPWBZULXKPC7Y1APR0421VF01RPJMTFMI4Q2M77MWR92494UQE23RYSJ6VROJ8M1UPDB4RNMT6D7ALOH2T68YECOI4YZYY14H4VXHBEQ78FUCGCV8WBK5I5Z12JQX73IMLFSZSM1YSRGTL86OH10BRDT93TFNJXZSY8B1ES5JAGIZGNGO1AZW08RC2SGYXP5BPA4MSRCEDTN8LH01YWLY0TUSEY1TWG7O2U91OW0LC9P9V7I57EIWS968AECGSDYPQQP2WOXSBH89QYIS6GJMD7PMSZZVLZ6JMXU8Q37A2YRRAEQHJK093GRWVT1NW41M6JE72UG23WV3EAAN4A1VG78FJ6AXVJENCVOBE3LWFGUOR7M4Y93A73ADVWIR1BZGX8SZ8ZYKP975TXRTHEVZRPOIP6Z57LYOX8RCC24I6MIFPECJRT52OONFW24WM70GOWLXIJPLVNBI5J3OAGSDS00ZNMHPGJKI00MSELKZ8WUQLJYQSWLQDOLZYQARBBHXL8LPMQWI3NL2PBCS8ZVS0EWFG6PV3A2OBMK3CZVV26KSSOOX7W7KH5PK254K3O3HTOUAGL9Z0056PR1BROACQ7HD7MN36F7ID * 36#GXWSXMPV9IVHP0FSVZBHVD0FYDS68NUVTRYHPAF9S3Z9UC6P0TO6FG6D3EODU7TUK5R3GQYJRH0B87JEH2CSU4CLIIP8QFHIRMBF7IDJIHRE6BWQHAJVXIXA9KCH227BH1ZA85YGGDXSL4JGLRZIKB9O6MHTBIGS00OQ4YFI0IUSIRO1EWJ6B3O4LTS7ZQ39HPB2D12TCSMYMECRGAGUQ4WS33JNSSWSZ814AL5FY291G7NQUB97F9FVJ9UBRAIA4KS6MR1V3O51550EVRSUWSJNI5V0K1D0IUAIB39P3MGPA1NHJCSJJGDAB10RQJN7DFMVP9NL6JKJLPYR3BVMP87LK9E1Z8T1ZREIA7VHWV6HEG52IXRU3Q8JIERKR27R14ZQC9JS1NQ1SVY339PJJEUU6XN5FAHFB3YL87QR9ASA20R0ZXLA88CFUS08B5UALNVY5R2EAVVMCW9ODFMWLXDD5TX5HND3GNEN2IBE9Y7C18IMHVP4INWWX48CY9E6275NFASVUDLMS4SU43AW7DVD6QHH0PPVW6J9C0672LGRISED70J560I1MIUXZMYX59PKIDGQE38ODXCY96TXJHHYXU08KNXY8O6I0F. +-36#MKVGS7RGUZV5LMQEMG35V8F4VPBUVNJY41YCKD34MI3BZSAB3 = 36#ZIGLEWBS9JWH0OSTLMAHI1Y599VD8A16AXH9K2JQN2DXC0BOBGZJZW467JGT23FYGINOSBTT3H3V3SS85Z45DKYS41DFOKK6F0 div -36#1KMAZIOF5QDSF8BP1B0Q4ZQCDR9CJKZWJ2IUW9MO4QEYB0G3T0. +36#3C0S2UKNIDF0BRFKVS0ULZQREMH77BBBK2XUSBDKKDIQT7KWLSACS8P22OXHVL8PR1T3VY896S1T205H2WI1H9WL935NXZBEE79CAP4CAWVDYGPC11Q8F2A85HKI2RBTCELLAPG760QFFJ6VG732T332KZ41SVY78Y2U1LUSH = 36#RPR3CBO43HPTZL5W4LLBF3QFHPX7KK9V8UEZG9PVIZVTAG9J88PAIE2ZAA3SIRATL45XLFATA3B0L604LW1L8UKQXM56TMZ7DFOQGVXVD8XZ00NK48UJUTEBCW67FRUEGSCYKFHXSRFTT9AJ46STVO3IBQM8GF44DKAAJUI1C7LDGEZWW9QIC2NC2RCXEQ0YLHWJO03LHP5X7BGHIXR409UYQ div 36#8B9S6B450TTCWVV6IFSPRYPRQMPL2YANRH3P52IARTFO0R3YA. +-36#LCDS3SYYF3XY9YVPMIUEWGKCPYX5DB1FQVO5DCFP2EB3XVF83V90IGX1EXJXMKFFPQUUNVN6GQPW8B78UV94UDLGI7FIXZCQ1ICMS2XTDWR44S2WNESIDL3KLCC5LOR5XY30RLNUTHPGO611GQTEW4NKUWW3BHBR9UPDCFF15BS7RXGXXN1CI9ZZCQ9JGA4PRCDO4Q3ICYG4C1NP34C2VASR9UWNYC8Y0MGOZWEO2WT0IT1SNKIODLFHKMCC8HMPO366F68G0KDJHWKSP8MA1N1LKFCTCW93X8IE88WWV995MIEC16MOTPX420CWBVQ05795BL4GA48L5E379G3Z4NXZRZMVD94Y45IG049RW2IHYO5TU151016K50F7NMPITTQHS3Y7YP7L83B6JFU2MMDB161EOIQ8NAEA3J1AQ9U2NKIBPQWIMWEK95RL6DEH52IH2ZMF1I44B7O9UPH1GO2V7SP8ETQX9H6FKQOZL1AAYMVX5G5KSRP7FF58XLEIZ8SK8BFIZTBJY0P65GM2Y60IFDC82FHQS4CYFGVWFWM8TG9VB509BR4TB9TCZ1PX44SIX52OC336ZKT24WXWVSIM6A0200MR7OBTKDP7510DLVGUMI98QIZA39XBYBLA3V4SL4EXXWWSOG1HP12AQWP9KT7G8DOC8KL0V7VQ4KTW18H2M52017R8U40ECHG4Z1492V1RE5OXFXZF1AHZNB0PLCEYUN9H4TENKBDF500WZM5RHBVPFI6XL7AOULOY7E1Y9CBQ57HDB1OWLCC64I51UC0MJD0QQ81WNGL8BOJIXP72BTZF60UGJHT69PBTIVWJPQQBEOP2FFN4JUQY7F2X3GIPXXOUKRVI12I2BK4M2ARU0HA459XKVEJT96C9AMB8ANF2O7024ELG2AFQIHU7PAK9IF87FFIBQA63R4HH506EGGFGCSX0O01IJURUZ3I4THROGTYYSP9E14VAF263D5NLMCX2LBIFK60GPWX6R84IBYR9J3IO8IUK1VEFT9V98J7AIFVNS0ECHJVZFPKC2RKNJYS8WYIBPYI2WLR54SLV56YMZ522PVKXFFROP801ZO1MJK3IN6L3EFBIE102PEGHB3ZVHIJWKIDQP5ELF597V9QY6UON = -36#TUOLLTOBVONWZ6E3S16MWVO43ODZYS3TO5B6TWA4HGQ9QCGFGBS4I4ZP6SE1MNFTO286R6JJR8XXIGRS1F0Y2ELGNAD5YK9V86K2I85HPWXRM8U9U45OJ66UZ8HM8WY2HTUQ4NT2HMZPEBB8H8TL4HJ4BQUTKWZ1CHFBFBTPNSK2HXEVHP6KMRLIP5FJ7K6Z6GYCU05STN * 36#PQMCRH3SPNTPJOHG1RPC7N4XKS46REMK4MEBDZDFEXWW65DYE5RQFZG4LYGFXRYKTM74S66A497K2U6IVA0HJSPF3QDOD27DIP0EB4YV0LT3ZELM9UTJ7G13VO72RXCHTBJNOFLJ91GZXXD9FUYQ91GPCEE91G8GEGFPDI3EBD733IMYZ1X3LSHGQSNIVXD7S6R1AHL801ISUPZ6SR261L0I6UDKKNMP018NW3EPI3R1GVJSXN7O1V6QM4SBR44C2D5OPHDJRH0OGPZDSV5ZKMD279S0A1IAMAXYFTZNJ1KC3KGPETYQ660M52IJJ58ZQ70B8EK6020PG0C19O74VOOLEZHN65JB3NKICCFT8FN7YGSSHWG4S5QDOO9REAPSRMT40OGJYBJOOM3KN7A8RNXPVNYDCDJL9AFXAN7WM9JUMS7Z7DLRGTZ5OL3X42LZB7A0J35OFQZM6F22JSCF6W927NIWSSDXFR004ML6A138YXYTZQQU5W7EJ6P7W4VW5C7GP34S9XAK6ANGTJN73LE81BX0Q2LJG62K1CZ2GIM48IOV6RRRT5SA46UG3J2ZPEET2K1FFHMNNB8KRFQRGIHLTC9O3RHQOT4HS4D3ZBS4X7IH7UY0QNLEOJ25H1Y2615HBHCXJXN126OAG8BUBRJHMNR1E82VZ27XOKK5YPHUQ30AQK5OHHEVLNZKGQ3XFF36JWYKCB82WEPL5QJIRUI6T7TMAPWXHG6MX0T1PQFEN3R3DFQG4O61ZO2UF17ZZVPGQO2KVCXHBQK4FGK755PMW4L13O7EGG8YGNYJT27KQYF8HINICPORX95SPJBOZA9YZ6HH7K8IHX9C99D3WCDSH27UODAVIDKJIRQ5B6ZH98DMKF925U57VPLOQV3TRM1EI1L3Z0HUE4M69757ETVBDXX0VM0RNQS2TNB56SDMH1. +36#461ZWI74Q4MXAUY12SFWSV1J6W4FWJ5ANMOOQL5AZX3DM7NJ8EE5F5KMANCKB8JD0K4PPKAX3V4EHOFA2PWV8MTN8QCV7TMXK05D44OMKHWGPUHM7ZAK9ZX8NXULJBPUKFENBL3KBNB9H1C1BX352E5TI6AHSRGELTCESP2J27LTE7EMPRWCC4QSWHZ2K5NEU8U9LAWPA2MF25NCJ19A0WYQRPVH2UENVCJCJ2ZXPSZ6VWSQXW6FBCPA1ZBA2C0JO1CAQSG3ZRLLGAAVFUSHXZ4X9WELO1HZA6TR5QD2FQQ169AA8VPMEHGW4ASMJKXGO8WIKWJGO1YO46AZNHYL1QOVWZRHOF570FOIFB1B9DAEKI3YTAFFUWMY7684K5SRQM09H61Q89EAU12E6SR04Q7BFIXW1ARKN1IK33VA4LBGJM76JSU0IJ6YU5EYAKDBX39WLHGT7S3NBUSDKSV7D25L8IXZDRSXGJBAV6 = -36#1TI81YNGK65PRQKJD1BMXLVZ6GGJ49DKVV7GXD5H2ZI0QBD03DYEDS6QJ49G1DLFHAEP5GQ9TBOPOQWOQUU7E2ZIKWD88G8A47KTRLO44GKDQZ9ZUQ90QIL17ICAKAZPIUW929T2D7R8MFSXWHWE8SDESZR9G0Z0ESTH7JGO34LAF8CG85L4UKIGLQVW5QPI868MLUBRFN1TSR5ZACB24FMPKG0P5GQBZV9KEUJKX7CFAOWBS6MIIABIH36WQHB46LG71P3FI9U7870LTE9Z9SX9B37NVDLVE25L92HRK6IPN7BCJYRDOH2TA15X2TQK5JWPSGSFTHFPWL95CNIMXBZFGCMGPO8JOX2FSG9CBCWOKI37ZLZIX9KXSBSF3PUW01X1D1JTS36VOA4QVYIIMO1PT7ZC7R4KGBDXI0P01CKFZMPS77LQY * (-36#2AGR6H7MHHLWIHL88UOISDQ1W5X5RPJ9E9WPL5IC0X5QD9SOXX). +36#MU9F82GVL3MQ2OH8MNST8F4GCNSE0EB5TE2JLP1EYD5K3O37R = -36#3244L38D9GSL35B61LRSTVA9LHF634BT7ZP36DS7OH7LLU8HASF5CR1ZQ8O2L31MHBMMZUU22QYB3HXKOIENPB0YNP0D2BKD8WTGMDNLIZJ7BXYI7R261TIFR026VKZ6382SBEHIW8BNWDAWJBHFP472FOAWY2AKBL7MP3JM9B9UR div -36#4TK0RW0351B99NIJPB7FQIXU7NFQ1DOPEDZGV8FXNLB420JZMDDQM80CKGOBB1W3D5JSLIU1KHOCKNDHFLSJ4E859WACL0KKASBTO152RP3ZNN4AQKIWWZ7TVZ5X. +36#191MTRBDR5W22WQSJZ16EIGJGCUW3PYG8M56A3GL4T8G9HNK91 = 36#RGZ4EL59KOPWAA0DBICVX5N4ZZQ0R4BQX03BM61P2UE8YQ2ZWVVCLR0CD6VJCES5SEZ618752646R1SYQ4RM6QHGX7JVAXAFOF div 36#LYDSOSV5WEA10THEDWLUEZHB4PGS2T44NWGNAP8132URUEQXF. +-36#17GQLW74OGNNQWYV6U5JP94UH1U7LNHK893EMJPFPVMVB8SL8H1EOH232LW2RPA5XWOP313SW79UDW84XD4EOAZPDT2JDTAEHB7XZICKTGR3EP47QT7FAOFEYAZQO858WNY0A80T6B0NJTTJQOTV8OJ2AC3PCX7I81L6ACGGFQUPHWYECOK8FRI1FHSGUA1R9PVWKXEMUF5KMX2A8VCTPORG11TD5MYOY5UOOZLICNCW7DGPN5C3U8TKO8R94V8GLH5GSWTFN82LA1GYW3WTWFJ8JHZW98H2JVDMT4QY3L3RBMPYBF4CR811CBLS1XG426D1KW919AITOPHNXTC5N0KYXYNIV4S2LOW89LA24P5RJU3I64JC0OTSZD2R29U9YWXJPYKFE96PBVN26QLF2RRP6INC9FIYH494K9TO7JCIDV0Q8MPPQLD3LPYV77YT44ZC39G5C9N4A0I = -36#Y50I2YQMQNQFBKYH6U931J00CS6WJKR4YTIDDDJE1XTMEWKKRL8PIJTGQM3ORHOB2JJYCVCKG05O5UYA9972ATEA6C85D5CFG1TVI2CWUF15YH6HUAAXOFMWDSICCTL54VDOX8WPWV6U3CKBSX4N3BPIVT0IF5OHDT8F3OL3W40CSX1Q2LSDDC6F3MPH6DBUHRDPIXCMA4TEWASKJVWAASK027185RL6P1NHGQBCV3F5WW2CT1XI82YYLB3T54Z5PNF4STSKTEI9ISKRMTXYOYILCA086ARJBPC4RTO7MDPN8M4I9X45OEIKFY6WN0D65EURTXKFIHHUHHKU3MGM2N3UHVUSEVBFL22NUGB1RMO69D6R5LZ361QYK2J1MMN8HNGF7TQAK3HQDAH6M4CRDZ5N1HBY03IOGX0UOJSOIZD7A8QNQKL472KANVVT9G8Z2AHNH4SL2WJOSK4ENOPB2UCZF568OBXDMCN8NIY98QG55J7B65DXY3X05KZQOD5RK97D5PG4I3VEBCPOELA749DYF12MKPIGYIYL66GGL4SAN2T36VSKDS8LSB3SLDUIZOQ9P9PK0AGR5P590V2MWXJI88XVTG6ACZPCFFJYIKNL8IVY22R9JNAZUTDSF2EYMFFB7VVDH15MUWW6PM70QJ20DDV1NMGMY5OP0IUHMXXOC93QNELISNCBKG2HVV3SLMIN97SKVP8I1DR0OYQRN8CEZWCJQ460IQH4GVHL7OR1KGUN50P8LI238P8HVTHP7DDQZRZPJS0XX3NM8KFLOOCF9T8CWF39L32H0P7XF8F6S4V59POT724GQLB2P06PP616N1HPE29RJE9BXGJK6D44H64H16PAFCIP3EYAGVT0W6FZ8OQWRPDFWBCUL8AN002IBJTPWJ6YT8MNZH2Q7NPQ5JWYKNS4IH3SR8EXABRK1R51CZPWZ6VEVNYGZU0PXHJC2WES2GHF1RMUZOS77UIZBXT9MMKMZ9Y26OHR7R99FB9XTAGELLSIGPG6ZI div 36#S9XN8L00VBKMX2IE7U6GAAM6MI1MRZUPDCQK1EQQ7RYU9WZLEM1BUKNKYX1HOCGO1XH64TFVLMN8WL8F4JHMXRZBFFXSXW2UC96ZSRNOBQIAYZIP1AEHPSV05V3DP7YBSX94OJ35RZVNVWW2C7AZL32HXDN5Z5X6ERBHU691ZB854ONQJ7GVM763ROTEFD7VJ5YDIPXA6XW5FC9BSR6UCQ5XRGT3SRJVYFKFQ5MC64YMFNQERDXUX2UXIBIZPBBI1BX6845M4EELGL8E52IC6I0FQN4U2DW5XPPA60B5FNF9F9MZL20GDUY1DQ4OR166R7TM61KE1DFCHKIF4CUD7IF7II7B2R88X5S94F72LQL4920QTBVH16MNZFA2LV349PZ945C26LXOYZZPPW0YGSDY8T8GFEWQNWU96E8KO298ZDBMXTMXQ2EQMZFAM5GL456SLPZ8H9GA6X05RK2KL5CZEPIWYMMICWSGPT0OPWORN70LYX3WR7DQ8PVTQ8H1JIBDW9JVF68PB79JPXGQDIHEC421AOYSCJSTVYPJQMOK68XZ. +-36#209QLPPR0UCY7IE9EC1JOKJVJX2YTTHG8HIWN1PJ2IRPTC4CLL6AW122HXKFU0SZQEFOE2IU4OWJVSOB0Y46PVBIG2MGO5GOLRK19ERWM6GS11NU81QIHIXR56BWJR47LQ8TUOBJZLWKMEL0OHZU1D9EC1QVTHPWN24VSYN20OTMQD0DVUSVJKVAUEWS8S6EYNN707PHMHSBTDHEFV9736MLRY040EVQW3DNNCF5OZX5BDCDZKWVKMPWM6AAEP364QVGK53X7XBKQ1E5UF = 36#5AS38UWUP0BFPGAHB1L21BDPFEH3XYIZAAWF8GVOL1TLH9XZCGBWZ2K596PGUCNJT2P4P2CNXTBTAPFACZEB0BI07HXLX4OCOBSFSLAF7NDIGBZ8PYIYFSIPD34G4M3GJ7SJZP223Q8UM8EENTMZQPQ0VQ84K9GQ3IRPUGJBRKEDIBUSDZYAP3EI3DPOIUBHKAWQ6MLUG9U4S9818E0TA53E8UCG978OQEL1ID34XND3CYBB357DMB0XLKTKDXBGOVEVG6GOHO81TYC37GX2N8UNIO2LKAWP2E9HS2Q5T8MX8P05AILDHBPV88C840MQ3XF div -36#2N16UZBF5ZFRNL0XXLTUJTFDXN27QX6ZRLMVK6BSTOQWPTCZH1. +36#TCQ33OYXR40SU7FIOCH5ZI45LUTP9Y6S96UMPHSRNVAZPQ8HEJ67IJDO1KSTP3ZWPBXQG0HJNKBADRKZECPZI5IPXHKWDFMRIYOMYGZ1BH9WEHOAJI5CZT0YVWHJO8AJQZZB7G57DD20KQNC8YS1PDJ21H0MJNZ66U3UG4CCMSRTQNL81GY9OJP48KNTROTCY8BSZVRNL7P4A0GZPI4XNQ3G8S2NUGF2LYZABT0WMD7HKJ7D14EYN7X2QXUUZ6OY2UPTNDUPBZFO0WDP3YADZHCIZB75AIFQDVVVODV9W7TUQ56Y4FRFRPIRHYNNZXJES1X2TB3ANLYLFH1M7FG573PMVGP8T1BU3DNW8F9IIEGCLJLDTP3Z2PBJB8YDWR6ZRHZFBPYXIO2ORCAR80Y4BUKT38UXXFGJ2V5NMQ81ACJI3N4PAZ17YH1BCS2YA8UB0ORJ47FID318QIQEUULBW54YZZZKROK7JJ0YUEAKB873TY8P2DY626OBG1YXBP4Y1P887EIBN0B48LYLSIOUFTWEJF3RAYSSRLG50CI3ML24YM1HDVE6IUR86QIOLNKFO6TKIAL2VD2E5NO2DMV94WPSZGFTPAAY93130RPH9GPEBW23MNDPH8TBQ4EHWD6WQC1S9MF0RTVBWEJ3NDD48QMOATQAKCHM74LBS905TDNJZQ7YIUV4S7IWQ876OCUKXRP1EPYTARRGXT5GCY6W4BCBWSEE67CI7R1R9W3CSCQBWU13YFH77A3PUAA74P3V7M35Z0DUC589KPU9H05AQUZX2GD6T6CPMQKT21TPPE8ASVOOQEQO4L5CZTCLLKKYFC5VXHEYPI1JFN0R0WUHOBMVO6GQGQWTH0DLKJQ7CUCR3UO5EZV7XTN3EAL4BDNTATZI6FWVF29OTSG2XPYLY6G6KFITBNFW3DJTGP1R2KGRMF9E0AHJTGC3S6YBIW3MPN5TKZ63XPWWKQJE4MWQ0IY5BIUN08HRZ1KS3CL62IURELT6WCXJWL79UFHX7R7LALR68LW61U900PTU5JAUGLZVS198HDLU0FG2XN2ZQL0VJRS37HTT595RS73J843SQJM7PITNGRKLLZSW51GY87HK090T30GFLKB4F6BKZ9H2E9VQO05SPRTMET6RVT2DNHCTH4XRIJUT6955MHPKJ4XJJOJM0FYMZG7F3J72FS4FFUPE18FYED4T089Z7ZTBBBR76VQI2T6O35PW9M2KIFQZ4FSARE4707FXR4ENN97Z99ITXT6VMGD5PSRZGYU9DWSK0HJO0CWG1U2K12B4E4S8TFHS7MR4YXOEE239BGXTZS64CJMAUJUNGHLPQSO6THRJ9KS2JG3ZT1M9KW8O3J = -36#6T6A5P9HQWXBEM9D6QUOFB8G3Y0PU93G7Z7WNT4HWU0EMMIS192DXM76BQ2ZSABMH4W3SDUQKQ5I5U8XEELB07510O7WONLU2ZBONMRCRP71P13UYMQ3LZCRWJKV8Z8VYZSZG6Z44BU15TYJGLKB7NYCO32Y9LQRW797WXYIBW3VDZF0EMGVK9CVKSYUO0OWMI5B4EVNE6LDE2DF7F626ESO19VMAFHMQ4AUOLK4OYDNNG4T3P38Z8HQQVRPB95PNM8LGMNLCLPYMZY3NZPPQWNXDZO9XMIH545BODXXNV0K0GKY1917P2VGV1RWL77R44H44DDVJRPPYVT16HECK38O381CGZQ1WJJ3R9BOLK3VQTFXAFZY6VZTCPNX5GI7 * (-36#4B5VN3M9J9I5RKMT21WWZ18R6YTR1H1ZYJ3AJUJQI5WON4WQIY9GN5ERR9FIVWKONIPT9F4KXH91ZRNGSNSR8AZU3LOFZGH8TF28L0POTZA4719YXKSAGBERQUVMSAKZGX3OLLRL0A6B9WHJNZYUO5OTNH3UT9ZTUOXBO5PBICFTSCJ1YSD3I80YKXYAC0L5MWPX5GHQ3N4ZFOTLLGKSEI0J7AT3VRX8J9FRDKE2SHH5IWDJFLIQENLQEN234T0XCZUUIFW09NSM6W1KUBW21L2NJP46DJTMMYV0QQDHH8TG3QCQJ0W14X204T43Z7U3D4P379N6MIDWGMEJZVHTYV4MXZX4TRY9XSOWCNIPFZ9XWJADKAJQLJ65CYOB0YA6XP62P3WIJXAYCV1CP1SAITKP9G77BK79H70CRWNGYBH2A86EF2CXOG53E7DUS65P3HEFZOPTRFXW1RI22VTGRLRSC8A37NC42SMZRGTTPEHT9FGS4F0SU8VWT92MMQRZG5WN45GHPEVHG1PHYJM86MPPD48W50XGXT0KM1VCS57HNHLS132218FYTDHP7OE7VKTJRWXGBKIOKQGFSXIDIBUKV7B73NBBR0EA8C3Y4YS7DQ8C573R2C2SJ95J5BUECON90MMDHKSVM7FQ6881FLAJM5HG76LZJAMHSDDLWXBPGPDZ0YFT4Q3PG8JIGWMDEBDHY8AERI310CGQGYG7TWNWADKNFD7BMFEOGR5OVUFADEDG974ERZQGEMG7JMWMCKDMDSIWFJQ7I08Y39HPOA0W6T7H8WJQRIPL1F8YIVS0A3PQZRO6R2H9FPOZFF5ATMA3I8HMMS53Q5LRTVVYCE01DEBRZ793VOY69Y8C1Q4NHWW5F0LIZ7M4DNXVAEDVDDDCC2NXUZKY99SEL2SWMRHS99PQTX25EFB63F04Q9SF6BFF3E7CC7MNYYGKDSOCHILCAB5SWPJ8FNIZ0T79BDD). +-36#WQAH39MBES6PWFFK47FP8JLTFBTWQ8GY2G606XH7S2VE0M5K6 = 36#NT8IFGPIO6C48LAPA0EOHHKTA5IPLCUW2NRA4JXSKKQK9SLNPQX47X3YY72PA6FOJH7MOZCUIR3A4UBOWT1XM6DRJ23FARRHXRE6SZPQ5W4KHXC4Q29U7SREF4R0CGVCYZ1GHBTARWXD1PCGFQPHLU62YSSP1ZZDMDP19N7UZH8RSUSGZHDTMLVL4T7UDPKFPQQGY9RWU6ACABCM68497QB4TCH7JLRYM8IJD5UVN4RB4FBHNQ0BRZFAYUFRHJQW4YBCL4ECJAMZ2CDX85H8B7NP38MZN6KYXM1NM191GLGRIL8UQGL0YPAHO021QWYZEAGGKFFL6L83X2MZWJ0HLII0W31DWRKNPTLSUKMFQOGF5EPGDGGF1ZP85O8YIQQELU7PQFUBEZ9SQG7ESB7I5ZL5CDWYS538AZAA9ZL4U2FDO7DHTFDOPV7Y4GI9JT8B2PW4HOZQ0Q9UXTGY034UIW0 div -36#Q6VF2IC8XC7GHDVSRX4T8XX65SMDSFVZPWS5OPTO969UMEOTSNOQK7UK7Z5OV2Y550R77LWLYJ3KPJDQO51Z1KDGX65DZZKJE5P1R14XMQG79KNS6NV5ED8DN7I86J50ZQXNNJ1E9YU08QD1ESO61NDBJ0WBS75NM4DHO575T5P22H1FBRL3KG4VL0A90LPD3SPS6YE0I5TAGO7IPRAOMAKVCIBHGOFQFFS4XA3MAPTPTVB6O9BU04GC0X77CIAK4M78Y94803LPUO1QACUF5LACX0Y0QTGFG4JMFVOLXFABNQR6Z9IZQL3VBNEJ5CXXE4GII1RMHK02KUX8KUHZ68CGBVPKRM8V2SBZQNVTM9NRHNG2M40886C3HVRMGZGAFP013WC9SXD83JB5RGPQB5ITOGDBW26H500APC. +36#2FCAOBO5VNFU47TUBGYAB5BL776JOL2L0RFPVPKMDHGVWR1TB0 = 36#5TR0IT6SJSAHSM1KZPPGIX5T38A92RGBISJUP9160YJOIOIJKT6LFXX8W5O381GWMED6E3WG9CZPAKQ0E4IPKGWCAJZ1SNHC8R0 div 36#2EGC6JBQYV1POEKF01AP9LC15TIE3LG4MSKASMTOI241JCA839. +36#IFVGG6P9ADFDYWV51XOVJDS0FKH014MD5LVA1N76VLBSM1WQJQDN6BFF0QAQ3LY2J72W19VA0EPNU97FN612S26761DNV6G7A6LJWADIPL9F6DGWUJXF8C8AQLRFFOHHKGHAU4VI4AHU1CKZK4UPK1XRUNDQCN8FFX470KH5R8YFNH3S1UY03BHJ875MD9NGQRM35I = 36#1JOE1CZ7GZK3TK0GR1R8ALA51Z5KBLCE9ZBE5SEXFAKSAXE4STEVMVWSRKD8I9FM3VWCMY4OZ3CJ46F2DAM9862V0HLKJDD9HPVF78YZ48ASVAIHSA0YER1QYB1NAXW5195X85RZXZTWHP1EW9M9G13KFL64NZ2QVJI6Q55SZ49MMMCEURKPBT2TBDO1PCOTC3QQYKT9XATUN5THO9OBE8Z22VGWIEULS77TJ0E547FG09RDJMK2X0FYZAZ0G8F8SJK2D0BXHY1H8KZRWUBOHLZX7PQ12G1ZUZ04DJOCILLEY9V3CHKQCTTFLL63PT4630ULYMYMTWJXONDYBKE6A08WU01EBNL7CKBIP2SFGHB4WQGR44XKL4841TO17CFTP0GXH6USARRJKMG3PW0I977M8XYFE43BE1TD6W7VCJFRJ63PZ51E11QUBPZ7A0SQTCRGQKXPMYL116PM8PYQOVBUMVPQJV2VTAWBO2D4OHLI div 36#30OXCO29VCXEX16H018MJXLLDHP6Q8EXGMM47JFPN9BI649C5CAD0M1584IK9M4TAP4IJW1A8Y3D1JVLZ7JTZY3U9ILATAQ5M10JHW1JPOH37WB4OGUG2279LM0POEAGLYSYJXYX9UNMNOY6DYQNOS9OVECLZXAI8JVKT626D18R56QIGIW6VUFEC4IXCHSP46D6PX4FY7KJ7HLWZACK60VBFFWZMBJ522W1MGN6KRC7YEFLDN3KV0RM9DR3U3VP9O865ZGH2Z4PXR6DKG5AXUFPS7XNA5G4EONI0H. +36#VF3B1UZQ4F2BW1K3B0NRT3MKJIO40E7ROMEO3IWAWG68DC853ZHXX841BUZ030652RDABPTMVF31V83TBJZVU2T8O31QOJ6PWC15A2AE5MG0QDR4QGK4UGOIK780LCUN9L0UY9SADMUFL5035B9TYIV01F8TKGM4E7U9TMOJA05HKVHSP1PTT0HURQTLP7HXVCI4129QDD1UM6WO0EBV1VW6UUIUO0T2YDNYWHL3UY7WV3LA901JB4REUTS6IH5V8Q68MH80LVB70U3WOVZWWDTUMT6ZIY8L7FARE0TUZGTCL86DB3P2JQWO69IJCWLX4SLUPP1FHSKN34K5WCX6GJDLCMWCPID88ULJ8G6MYTELANW5UKXEH3KFJKBD3AY4JTQPJ2Y1URV715K44RHQL6NXT14CJ6K8AOISX0GNS0THBCLT2YT3EYOUD51JVZDLZVW5Q4J28RSMC4XUP1F1MFP09W6763WIO03FA2K702EV48752OA98SAM0V25MB2OFGXTSKYGL53MR3PBFO81TKW77BKH2QQM927OR7WVL0T3MEIOXRBKPVIIV1WF9H1L4BSW4J7OST7PRSY0L3119MXFUT1G7CCCCL3L66G4QZSPW1GWHYUN1Z0TK5LABTCP96ISX1GWASE42RTSHCD3FC7Z8HU9XOJQAZ29DP96K9EOHUUXPKHXMWIW37FW3E53D11PLQVUTDPEWXVHMCNM545MSA3AHN6TAWOR6SO9T64J66O3KT9PBJ69M1DVXK1PKDVA2VI5ZWQPIP5J4UVJTKUU9DE90PLCUQO0EZZ3BWB785382E5SKRJPBBE45NSEMYTGW382GZMMJTZLTFFJ6MB8E3I89CSFJ2NOK210Z647U1NQLHBWEDX1H7XGYT3OF8OEREQVNURBWQSF1ZLTXON2W96EJ726FJLZUMLE1RX0EB1VDVTBYYLL7E9WPL0Q8CRF2MAUYG1LL6XO3LZKH524XLCI2K4HE3RL28LTC4CYY0ERMT3YPDA68QCHG64FJ0ZOM4VZFAQI5DEK37MUT28ZMEHEBDLE8CCEG1S7SRGF45YXCCANHJO3X1QESNGJ81NYDXF = -36#DDE76YL9ZE756OG3ODJ981EVJRWL0SGOSEJWEH0OV8JPYB3OUADR5ESDTP94ERLM1FDSJ17V2LB0EEBVLNIXR69Z6GPYTFC71CCVZYFLSH5I0NKHVMCGQR2D4XVQ8PGKEBFUNVLYZVCS7N3QN4Z0EE14632CK3LWERN270FLKFWLJY3FS8TKEFQCOD7WCNJJXWK9LA26I3EOZ58J2E3JAMY8WB2XOACIARG5JI5CVDX8H652TGNYCNZ1UFAXWYWDWWA51TIE29SY3G03QJ3MA44STYI75MI9VG2JF8QPENHOURQV6QXOTR8WCV0KWT26V7CO8FNT6JFNIGLZ4AA8THFWZPB30OW261MBUSZ5W0SIBAUXMFZELRVICVDTPH5EWJGMJCYXLUVK0UQL8LI0XK1VIQMSC5I97YMH50DTZN08BU7P3XBZ0NNW9UM4YR5ZF5H19KT1S7JVEB0LBXXWEG48BVCAKCA8WX0I1M2SUFOKEUIUBZOJJJ08166M7VO3K9EKTEKBIKJ27Z64RQILWXQRGKX8NU8R4DFEMH0VGAISLRS7RUASHDBYZ71MHJY3IC7GO2Y3L5IESSZ4XX9LEM28SMI44HU0LMT6CQBCS3HI3XJMB61CWCYTEIA6G3A25TJ13CE82KCQBVAS2SQ5FDFNEM6FR7NZHKNTICTEE9L2SX7L8S5LBXNGVAJF7E8ZGNTIH9XFVBF3OVY2LQDDY8Q9DLEXJ0LQVDZWCHN1IQACAB5JNTMQVUZINE1ZNWH8J5UZVPP5GSR2T627O44KW1FFCWDDGLQ5WHV3SZB3E8WG1G1S3JTJAY3OOTPUELS5AA7RR179I5VRGDNI9MZUMUTMGVHB3TI9U574Q07VNRIN79BO7GNZ3WGQKUHEL4LR2FO876OJI9L4VBG7DJT0TGSUHRH564D91RIY3KNODLU9ZKBS3USGYPLWCAOTTVOQIMGBSLP * (-36#2CL3NVG6UJYODNG1GZHC70JCQJCWYZ66MGGQDCY2YLWOFFQOWEGGNR1JQSS9M20NNU2LFCSGLA7HMTCA3RI7QYE0YZVW03GVV25TQRRF964NRTQA1KBVDS5ZTKQERGFKF). +-36#4L4AW7LOPU674RMNAN1FETD32IGDKI3PUKS96XQY15MKV9UJ6N72KIPNTN6DUAWTKBPF1IOQMC7ODTOUI1H5JR1QLEGKMFUOJSVEY7N9OTFZA47I3PPHWSJAY2AV8GVRLSTS29EZAU7CHENSU32Z2O0M7FEVI0F5UZ8E12FE4G2BZ7INM6C9B0NQ5MX1UN6MNYDM07CJGKQWD7Q49OCTAUG3CQW3GTACKU54ZSIIUJQ9GIVGELJCIEBHGLHSKKET351UGZQO1Z62XFMQOPVPID1PDGYFFE5SNSEA2YKVX05618TO2JS6XMC960E51UK889GB0G1EZ37SK2Y4O3X6CNX50PIK8BR07NP0NTEG5OHW5V4ESG208LYXEDP2JM9RMZS9O750ZOJT25KJOLPJM2D9VH7ZP6Q1GYV651I5PQZALYQN7NVAB40MKB7EVTH0HCWS3WLM0WUDUAWY71LIGXK38ZMO2ZOCE1P1AXTRLQPDQQJJXJ2QHWABZM5UZZKJ1QXPWLSYPF13RC3Z0YDLIJ7AIWSGY0RBV976HAEY5ZOJ8EFSLS3Q06CKW64YL7TRPTXPJL7J9LLB1M4HVK36X4KW5YV3S6T54XC9IYD9MLY61TMGJOUYI82NC42HBPK7OU3OB2GWAS4E3AGEGGGG3I9823EGXK8I870OGXTRCU209B2TU1R0KUH9BZOGNLRWDFFNEPSWDPZO8MZP1P3NEWRCTFUAKB9OFDAMDAHFVNQTSSBHQPY173J1L6PKEKMOY62TCAOYIT1VR7XVOV4SX2475R2Z34E05FM1COAMGB5KU3KUKR93LCV101KCC58AR83FUQUTWXN1K2W4R1UJTQ3XC9AXB8KZWKGNZ75U7YY6ZM2GGWUFTM2ZIOXOHETB51A2IIW9ZC4C4B2VJ9Q60AS6E9UWO8FR529XVJ8C4K8TTDDWDEB49PK6ZPLR7ATP9L95NLI6AMO1K2UOIK86KX94MEKC8G5KCIS6KMDA3W6MFWN1VLALHIO = 36#2LJOKZH1C4W0FN2TCH4S73H7WW4TB8QSCOC0EYBCHY77UHMVH9SYLEKC0LYUW7HT8352E34U5QG16N5ZDDAGRZUB7HZRTKL6DYLSKP74NHTMGHNNOXQ01ZGBTEKGT3BXD25PBZ2HR32B573OYOXUU3ZPIPPHKFSV04EA9MEHSUUV5E9Y2PYDXYBW4SBN7A2HPDYSMXXT6ZHS12OHXTZ6JNSD69DE7VFAZOLNE14JZG2NJDICNKL9R9J3M8HCZN8XHLEJT2FYW2IZ5NSMOED47UX0RJPAVTWGHASHKY1QCN4NPYQW792DEABNBEBLGHGYR19EGFDU7LKOG7Z995YAXK9S6QMFDPR7RR9PLORIGBT9AW97RRPNTN4N1HYPOGZKTA3NF0GDY8BBNT3MVZT6BM5ZLFE12JG98X8TXE9900LP2DQKWVXPKRXG8PA6DSS8RAWWWUNR5VR15R7OO7R3LCIF6K8FREYRF5SA7YADVNQ2BGYU4 * (-36#1RJKL04AHIVVUWAR04TAXOWIVYUV82USMNQD7MQJT26DOF2BLP6P76XXX0UOA1K9BSBD9VXVZMZ3SOU41IR3LAHUNKBM8TJRH7KOHM65TUFJ79WFN788SAO85KXXCE4SFQIUKY9LLC0IW13JKSALNKNYDMBQT1NW8XBGZ64X4OMVOBJ7QEZJYHCL59DIMHX126IY5K53NKK5ZVVLROHX9AAM6QHPX9LB9ZBAFLXIXEODZ9AWP6W36TBFRTTYCZL2GXOJPJUKCLQ7IOMTRBHUK0RKI82GC394BPTC5W93C2SK1JOTTUUNZGUYP4RN495TNN567PDCAU80WRBSM1RYCNXHW9PEIZDBO0KWGB8CEKE3I2QOYGB80QBCFWU6LUVFHC7QI7Q2TAPE5F4KVXDMZNNAKLOXBQMXCZAUQPXBKVLGCYMJ3U1ROK79P0P1DLJ6IOM870ARBQWIT0GNWD45DVWD5KF5QVOZWH1AJKFVK9C4BTODB9ITSK689SKEWX2SEZ2P3VO). +36#M9673NGEBQ25VABZQ0MFHMP98JXBC4AVM7AHZQO7M7PNQRMTN13RXHKPHXG8UYZ2106W1XC3RVE6YR0G97ZH3SN4WGLLQ7FZFN72R2M6B2ZTOKVJHBA3S4LPSD2103D8SZ2YZQNPO87WF5SEXBNV30YHTUB1YX0H1KYYG4KNHEC91D4WG3RJRXCW1WEK0550UZZ7BWN98QARC68JOQ3TL3QV4T03OCVAOT5ARFE4C1YYHKQI14XOIW6AEHW8VHXCYNSJA26D8FZ96N7KNCEDZ82GI6Y72VC = -36#31M32VG51KKQSBQX8NTJ4XG3LCZ79ETB0254VYC5QE990I0LGLPOJUMF59ILRZ1R6FXWWMPB158ZK7S * (-36#7B4JR5BIYVKUTIKCGYPEKK6YVVZ3GN4I46KMF2RZJ7N71X4RYZRLSDSFVZCRQWL396IPV6ZJRV7RM68QI3GKC6R861GPRUQXK5Y7C6P8RO1T4YNGM1T1G9MJT9OP8R5EPCVMWXV7KJDLL1NPMI1218GRUBB09PDLEJD5SLT8AUBX3HMAH5AIBCFMMHEQV9VMNRENP00L419U2TO83). +-36#4CQRJHBITM6LVBNAUP16M37DEXIGVAOKACB85CNXM6UR9UMDA746EL5AGEY7ZLSCA0MUR8JAK1X0HEW52MDSSB5CCMTZ69D0TV692UFTU2L7J3U3IV75A5ERIMW85DKH0TJY6ORY6GOWSTN8CTR9QU = -36#68KBK83SJ4ALGTDNUQBWZXX9DXM15A8SBMJD6P1L52QYV7GAGQEKENW9RG206LZL98BN87VAG51WKA4PP1WDP2SG4WIPE3OIIK6WA4Z4FDBT25KFOABWFNOT6RHSPXJ7OXJPSTTY00UYAY6MX1AFY76TRO3EOYK08ZS2GGZ1MUT4CI33YVPDFP7OGIHGB80GOIAWEH0RS2K87OHO16CP18IKIPNZ5TAKP5IXKUUQBBB9YJQB7JBSXN4HK4P19T8D8LLYZV9TBSSB4OG2GJ5M1U3BD0XPHLXN06EKDEDCLYWAZM1DX9NULYSTJGR4376GA9S2JKDQSLNNTIBKPZOSC8C7IKZJGX417IP48E1YVM80LHA4ICTVTNA95WBIHP7OAA7UPF0QX8QSZYTRW77UJCI4QBEYMCY9ORYLCXKV1SXZ36P0E6Q4432SNDN7ZAIGT9VRQG2OP9C2TO div 36#1FKRHIH6UXK0HDI627HKO5XQ2QOVZGO8OUSSMIE0HQ8ITK93ZQJWBZ93PQ3EQTSMNCOSL53DNWT1PDO4FK0QWZOTQGRRHGZX1IJOBYPA5LPF6K92QNCBX4FVBA4LCMFVZWR7FES8GJ30CJ0KSTFB0WG8I8I0B5IZPVXHWJMA2IM4DSYF34B64T9PH0D20YI6HSW90PRS2DINSESOA66M6BGKTZCFQE59JE9S72823T01P0G29R4U35YIPMFMH6YZM2VJWMCEM3KXFCRF95UWV2OFTNYFRZVAD8BKUI15LFGNNRSYAF6EC4KS2. +36#I5CG6K1ER02B8CF0KHQXKNNTSUCWUDMWNN0ETPS0ABN3SA4FYX5AS56IU4W5TIB3JJRLB15MI0T4FFJ8OXE9FTWJAYVQO2XUOEEUER985YUZQE54WC9DIYLZTYJV0CZM3J5EERBI166TPIPBC = 36#6LBLMJDUD8UA184G5PEEQMX4D30O3VADXNRG8L0P78EUG0G0TQRDMOMWKII8LVHXGOFLM2KNTTUGS1AHI3BHNK3ZPZJ4B0JN0NJKPLC59PSL3HKRFKPSAZ69PESYROF0TYUNROUSLZZN29NCTNX798MXK3A4SVE1EQCMQRDOQW9AZJRTOKBJ3L2WWB9L1VRWDBUPGINX0TBDDV5V7ZR927I7KF9T915HWV30HA2ZJ5CNHG0Q6DL57TFOMJ2PM7QZD0F5LQVVUUOUK2DH80JCSN06CLO43FHJTIGR5EE79NOOIZLP214R92WV1LSIAYZCRN80G56CP99QKM8FVXY8K5P4QRP5N1HIZ2ORCGYNZW2GI22EWZW41ZHF50VNFPMROJU4YZEGX0LZIQIFA1K9XCDX1Q1BBFOQNQTSNNLOPQIVD92RW2406L3KPCJ93PB4M8Y4NWORTHF73R45LJJOQH956Y9L9EKKGPYSU7ZWS9BXUN1IR9PA09NPTDXEO317HQVW677360JJFC5Y3B53N8D25ZFS957H9T40DHOXL6A2IVT849VSIOMUPKWW6S0XNF5K2R8IKI044CAOHPMK74G7O5WLVOJTVVLWGXPVIHQKESAP0QQB59GVNJDI4AHSKBC9WTRCV872N6QXWE2SFZH9MMMQTSMTFFEJ4WFVZG1N169IC9T0PS1LU1QG4D8EGXFA0YJ43TI2WF60E27YUI8XK02SW28X1VANJG5BV6B49JB2FAY14QCLG0 div 36#D2RE1P3VFEHCVAMYHEHVSFRBEXX2TG1D45ATPY74NVBKV3V5U6S1872NSVC4JK8CYOAHXJ16LMQBKQMBWYW6L5TJZN7IBQJLENZAYJBE709JPN6BXJL4NEKRERNXCKY7EFR82I1DA646TOK9L0OGOB74I0A40TWOESAWD3DNJDYSEL91MH3DVKG9REC1R0TI8T7E5C2HU9WJLJAZAM4R77ZOTM7H9NSKI8IM53XEFB5IDWW8A4SAKBS6IURKS8XE0UDL7J49SQPZHEABOVSYSIMVI75MRBB44NRBC80BWD778VBWEQ81SWG2FPPL0Y2IJ36ET9S1ZEDUHZ0CHZ3C581O5BAHSGG9BJBCZO3XCMUN4RLGLBPONFOE2YG7M4QV3W6S5CVRW3RF3JUP5G3M1T67XCCBU4VZIEWZ72WR29X3DUSQFX4V5Z7OQ1QGFQ5ITQGJHFGOX4Z6H4VVX1K8EN3CWAP19PHCBFM8ZSMT8VHZW9WV3H40QP9XJFHQROBWHTV5N2GBAI64LJ18D5Q1XDZUSAOIW2P3HDLVAHKOH89890TESJBJTWW5UY73IRXKZIC8Z7ZO9YZUS8GABEFOC7684FL0UEV3CF6O00CRU. +-36#2D1KA080XFHC67H6PEWGHR27VWR8KI1XMU7CYDR2TVJ2Q5B0LA = -36#3G58K8Z9JX3CUSWXLUPN8EQNHCLZPRQGV4OWKDYE5PK0DS2N1PQZRVHNU566GOR40AK8F3PJIXY55Q70IG8HI25Z4996RW7OF6S div 36#1GJVXRANOXFP1OLQWAEF55T73DZWOKGGYHS2IDI8U8MKTLB61A. +-36#2XOW4PC6H189E188YGPJNRLCWLVAU6VA1YI1F0DLVEFZSVU6VU7PVLZE04WUMFO4IVQL2I5JC1SVHFR2Q7XVU44X4UOXNFRG9P5XUC4TVNUE8TLT6QXDLMGX55EXI0IH63K9NYQUUEE4K3059365MY2BBJ6H2FWCOAZ931ER2NBC4K1J6Y1RGU6Q0Y6FTKLQJM2FY6FTZJBF6C4RSXYSXNYCNX3N9N0LE6REXVFHEJRQL3XGQI00DDFSHNF7AYW1OR8TB8SBUYLTNK6A6VRTIE426CIT5NN96OEAIO4FCQIAY49OOQQZ10H7EQ9HTOLWU206EXO0TPCZWV010PTC0EEONWA5FVRH4LHBCVW831H0GH7U5A2NNP70PN6R4D0I1BFC0RRZO1P8O02E1VC1YXZ2IGROFR8UIFQMKSXTE6PP9C464DHXUB1ZZ3OPP0QIZN37V2APP3H2ZV6TCXL0DLYQ73Q2B2EJFIMKR6PVD24YYM5MXRAS80M97UL55LRGYQEBJKL2BW08LHXPIR4P0K74VG3CGWTMCR4AHA982D9V0CE94SL6QTF6DYY3HVZJ219H1G752Y382O2ZDE34TCYHHFJLA52FW18GI5PQGN2ECCCAKI7L8LEY9P4ATZFAWTJ94HPYXZIKGJK7ZYO3H4B1FOW8DVTPKGJY928HYUZAQQHO15WQIRB2G7GKRO2C3RMYII4GD35N3HUC077PH8ZSW452XXS6M2L3T7J4FLQTI02SBR5S4L95YTODJ75QFPBVQQ0ZCNGASTKYBK7KGS986GQLCR2UZKXCAP6O9E9G53A1XYPAFRRUSQP341NN3H86H6VEZMDTW73WXLF6MYLCNB2T8BORPM5TRG7L5B0HY7XDDTAV9QGLT3SZZD8ODKKOOZLP3377IM4I8ZQVU9Q12X3RSYIVQ7KZ7WDRAPVAF3UDIEMJJLEYTB2Y33JIZYGDDWHXGO3D3PJMTBU8829FCZU0PTBMO2KA9PF1R1P5Y6PV14ZP0JRV7TWQ5FAJVRICXHHY4W6BNM6L7Q8XRCFBY0G5FQ7002KZ9BK2ZIC75HN30AYXABLWFDZ4D6U7XGYD0OGKBVNC88P9C309JPTVIBTTRV1V4TB3GM9FD21UVH7DJUWB9GP94A1SYR0O0C6OO7DJXBIRQ5YPOFNLJMMN0QVC0G6JNTL3Z8MRA0UHNP5JSSM6VQ3INASXPEFZ0A9FLAEJDTKTHJ8W1WIDKTCWFWOMPK1XXIV0B4TLB6MCNB1D9OW93958U5LV0JSE5SXT6YUSFQYJDW3DPYO48FNC4D5CHWP1E7UIUMJ060BWRCFFFPYX45NAC1WONWVJFAL2XU1BCSR1H5R3F5C2OAE8BU0QCS56ZL2OWP16LFF7AJNBTT76FBXR9YKGNCNUOUCTES9V9JE7FA7XISKQSEKYN1EVV4MBV18YC7PZOKS1JC1N8DZLJ20WSKBWDNHTYWLECP75IOHJDQYT7VUUU1EDN5FOOIXHMHGTD6BDPBRJTKVDT6DKDP5KBMARHPB9AQ0819VZR4N02IEICF6TU6GZH2PLZOP6ZS1ZKUNIUM3UBUDD3XGEB87IX1L18APN1T7VWS6W02XC2GDUZ9CDUJIMSB4VHO8GQVO2ZYJ4SBTD4D4DMGWNH2MDYS1LE3PD4X129WVKGEVOQ4TVNDN4TNPLZNWIGZIFZATXNAKKZLNRZVAW8A1L8FHW1XIZ09MHVJ1JIZU72UPFHI6QVUSPJMRBRN7CQ9BXSQEWCYJ951H242O1CBGSUYF2QDKA786S2Q4XAY07YK2ZQBQZJEI1VNH5G7JT2SYMDEEUI0TS7X7WGNAN3I8CGQ28V1WMWEMEL7VZPTAPYUFILD0HI3AT1FK6BZHJBJEC7QYQCT8KQRRJ3DDFTUXDG9G93P1XD3WL14E0RVJLAJNKPDZBTG3ZXWY3O6E5XW00N9CATHBXTCAM7QL17C2Q4WPMNU8YKMORAHMTMSE92B4HATGBK113MJ0XX3XMMUPX1X0CP7IML4DT0Q2HF717DDVOXFLDJV2UIDTBGEI9G0UG77APCNI0NW3BCEYRBNWBRK8SV4BANLUJ0YGDFSX52953OZJJJCWE92I2HS3I5EMQN2XU0XY2VJSEEHFDWBD4XSS8OF7DWGLL1A1ZXENA82TQIOBB3OIOBSE9EXRAQFSI5AJ2LNHGI2W = 36#IWL88CC88WX017S60Y8P2S3SZBWFQYSCN1WZ3CWKKXMRTJD9X6VG8NOMRHFOTXOHV1GS54OSL3NDFZWSK7EX1J7AYL8X4S66A4KZ7AZ5XC3X0BETB9BXA1YTEWLIL2227BJPY5SS4SFU7DBIQ464DTDKD5JPEZKRWQPHOPLED7XZGT9A9KKX37TM4R0TQCPB0YJ03EXLIJER0L4HLZGZK5W2YAMCTA73NZY3QW37BSK83QE65RTNZ9SWE4R3XQMLDUQZZLU2BI4C7Q50G4O0L8HCZHJCM6C8SDML947N0GM305N021F0X6IU27WIB1H3WIUOAYM6XY44BDQXA1LE5GTN7EH4MKI6GC2MFX4QGNCQRORQ4JZ37ZNFZNLS1VEPMMTT1HSP20UW6AY38BD59R319ZWM954JJC9CHK9L7LMCBKK2RY1OE1CQPZDYJ0EIKZ5G7T1Y7S5MANBVPICIUB9WP7HX6L1BU23TXS4JMNYYKNRV81P06DAC0NGWJERZA8NZUPIIMJYBKP1E4ORKUX1VWTGZTJ412OJ093IV2QI5RL9KSD2YFQERFTQ8D3SHA8BBAX73GRHVL0NNXIN8N0OAQELAEUJZA9MXHOFUUO7UJ191UU36O2HF1IAWEEV6ZQGWRJ6DVUA1WNZ1A7F2KMWZETIBSMO4YC4CL334RM6PBYYIX9JS5ACZP2S6KNQZTE5SVWCEPKDSASLX3D2ZCKXW3GD14WM2JWK8I40DU9BHM5958T66597LSQ97W4RDPJNSGJV7RSK8TGLZ6DH5NKK5XQR92P3TCFK02WM75RX9NMQKEK7JN8LZW5XV4KGDRFKD5ALXZPQ2XHI6ON3EOF1XO4H6P291ZSX1W00ARRRC2MWGWO1R0HPAIAFGLOVDJ11UEOD6S9DV7PZORVAS * (-36#5L9E75X0UA8OF9YZ2ITF2XBXX0HM9F5A4997NQIEI4BSF04SGUXMF42F8NYTC0V9E902OXBT0D424MZQ0E5MWVJNV77KKSHF2BYDQZI365GPC5BOY7IPRLOQUV0VA8TY3QLT0XXBUGOJR5LB1FCW7V3EZFBIFG73IR9O2U0AYZ3AFT242L2J37VIQYFR1QN4DV6IBXZ2Y8DO54YJI5R88N6D77TPUQDZPJL29XOR7HHVHR0N6H20NZTU2HZ0MBOB4SP7V3J97EUUG9R5KVFEPVJBJJSQXH62JX3ASNGMJCOXU90D3ILYU3GMPZVQB2RCOMHZZX7XWQJ843UYWNBAHG4G3H9IZIWYT3I2V2JQL6STGSD37X763AUOLU6YSJ56Q142574B2SO64EWXKV27IIHKC5VN6W4H3HY0BF3O1N5WEBPF7BEJBHYFB01DWA1EXTWKSZ1HAUEGE7UIKEZGWTFMAH5ZZKJ666R2BPNL7LV5BK9WPUP3N166D57PK5S6HBYD2XGIJLRYNZAV6IIVZDMOKI0WVVG7RM8K9682KYVCYF1O6HC8TADM88PJ1A3FWW9TL09BVXE5725CP1L2FSINNBSSXGHYY9VIBQZLV6P4ZBHC5KOV4IHN9PQFKUPWND8RCWET57XF9X752P251I9LC4U2OIHRX79B47VEGGABPXCXFTYJNQY5QJ7FE1K0BJXK42LP4ROHPJBJNICXB0Q8MICRG5KY2W8Z6MYC6RK00SLHGI75JV6Z1KERDL9XRMYNX8EL9ZYOEBZB2KBY59WCBJ6H48HBXK9E1VYS4K2A4LNVSXUMGIO8MNE9OTD0LRHACVH3ZYOGFGPIEA48MNLPPQEMW6MFR2RV7IPL1BB5X23P5VBYQIHSDLYA3EBFIENOZE5FG2RL1O09OPTZFTY7TFKTF3CL2VRQLNYZO0JLXY1VPDOK7P44KK2JEOAPIK11JJTRM1V8PYNUWX2FGQVYQ5IVGGLHDCGVGYLL8DG8NZSDZ6LCQ5FBZ2BIPU8BVH20GZBPZB8I2O2XGKTRC60U1JSYKAQ56J2ZG5E0DIHV7FOC7JUGBDMXL77XXJ7K0LTG4E3OO8G68SEY0LIL03L0POQMJY5U7XB8J195VZZPZ468FU93VJSOKE74DTNFILOUPNFVACR1LXA22FI5O9G5L08K41QOE2KTJXJN30YQPGNHUHCUPNW2IGW3TJ9AA4L1EOQ6XJ1S9FH0YYCRKQWBQUY7QGXUHO4BG91KKRWHG4FY2P9MK6N44HWV750PYNE). +-36#1K6E4QVK78T0I1PVTJ7LYW9WA60KUCUTZK2Z4I6DIV4AZ2IVKBAY9KY615YZ8M48AQUU22LBU2SA3B9BQZDW15R2PGSPXM9F8ON21NQJI82M5YBMTYBXZ640LMWOWMWOLN5ELOE4LF8E6W0KT6AH = -36#1JOGP2PU63PSGK6UNQOOKZK3PRQCPC9DEI2TJQ2COUODT215RXVCGZJAS7JCS87LAF0LT8VSF4MFH0EYU9TM9JYP59UR8F1ETFU5MISE7HETH5QVQQVP0L8HUFYZOOALNWC0WSYX8I5UZY1XWWQ47ZEVKKXTRVS9BRZ2EPK84B0S21A8PXT81JT7697FLDLKYZJ17 div 36#ZOIDZX142PWDZ4WLELOOGYZ0548334JFW9TL3WE6PSV9RON6B. +-36#19OSKRCQRQVZ0XVVAK4TQWBC5I29XJD1W7AMQA5RJCWRCZOFNJ = -36#14FFDOVZIT4ES6JGY5KWN01ER32MU2F6YQ62IV7R06PI83UU18QGSTLML8Y8PQGWXWLN0E0RAPXE47JFCNZAAFIU9O9490KR2JLA9JK4FA8JXV03BOFPSYLRO7HYG77TVYKSIRBRERGHH13FVMNFCQWW996CYCXQEY1KSRK1KJIME617KHAT8ADTUD1ROPZR2X7I9DU6CDVKI44NZDN7N7HBGEIB76KYRFSR7B3Q1EXGXY2LHZW2UYV8378J913492DOVTL0ZJKWC7F819366JEV2SAUWUSSRESNU9F31WEEHN8QB2IAPR6XBQLSLF7XD9XI7YXT7LJY5HEV5TSTFS9GXF3WQVFTXLLOF4XF3PG5Z3OHIYBNK1TZ1I9SLDJXOQPEWGBZVZEQ81DT85J6OUIO7SKTJH1J2DMUZ9GI11RHYWH807A9JPEJN2NBRM1QPB1DCME8EFZL6SOTVE11X25F10EWIJ64OR8TVZKS8ARF9GVVJDXBISQONREXD8CBLHSOFPEUOGPCOLUTFY8TCVU61VHPYR2AVFJLRN3CG7PINFC4MW8GUBBU7HFINTBLB2J6NANG2LBG0YHYZ8OU9RY7HWX8X09WCDM7CYKBS08ZMAOHR8UP7PYD8E1TZ95409E27UTMXHTGK2WCIMSXWRHHTZU div 36#VUSGBNH5P22O3JRGYRHI96DAZ4TWY3LSZWBYAMSG160JQQCMHRONO733RJSWYU2OVXNB424UZQO8D2SWDNOTIB6LMB9RB86SE9JJXB82J0VPZQGWTQ6WF8DP9AT9W98NRT53YQKAV0YGUT5F5ZOMUWOIDG75CVDGSC6P6T53IBFXR1Y1S264LZ9P48SCUVF56G3AX930BYL9VH2L9J4G0OTHFZN693NRHKTIARSA9RFVM864NB0RW6UR851I2O3MWHC4TIPX5II1R4S9I7PJAI2O6FT7JATAKDEGLW1Q7MVSEMJ9WY84R9QRXRNQI7HYT25TCUR5GGJXC7A9LRU4EX4BY82HXUIT66CECKTOUA2X7XX28X76VREH9NZ7U6JC3R32TBFPLRFAYOHVFRGDGDU6KBSP313DSUOGC2WX8Z9U8SRGHMC1RHTDBH49SKC2XP54ZBMTC4T82NRF2UH4D0X3N4JTS5IGHTU3IUUXTFFHAI7DBDW9E1REXDTO9QV3IVTAVAFKCZL550EX5EKMPC08Z8B08PZ9H5QULSRW8Q1DSTAJCTOD35IMXLWCRCPXZ7349IHAE5PM9A83FT8U8K2IF5JZKD560M3PSS5EU. +36#72QMJSDQCRDQ2MK8AGIHE1ZC762R4VBUR11YRLL4C4I9QYLEZ5WU7F218PJW182PYSSCJ8XS5BYQYIIJSJMIE4RVNF5ZFOV36L5FFWW8N7PAA9H0HSNUIQ4ZL3MPJN41B8P5JGDNPL99G4IYQORWKPRFMTDCHHBTEQFTBYN4Q7A3W7C277G2CQVLLA0NO6386F9QCX862CHM4R8NYQ6WS0C8S579517COAKMX05AEBMXYIKQVP3I0ML2SM1UDCH7553H80D3DZPJVLBUTQEDYU2CYLUQBDQIGCNK80JVLOC1NRLXH19LV1OTRDPMI7P0UIFELJ2125Y5G9OPHLHFAXO98DX24PWGBGZKCY289WZ92VAEN6D46FB59N1ZL550S745Q3UE3N8QF3LXCJMPXLCM330R2QLTISBL7OV74QZBJY7RL2HQGNB2BJSTB564M6JFY19YYFR2TBJH699L7N761Q4PO1FJOKASJELQ4JMNANYLTFM1JAXV7IYJNTCJCHQFZZRCV76OD14KZSBAYLSFRN8BHBA0S84TSYCNVJK9WSXEMORDYWZWPNNDF4J1NVWQBBKKE5XJHTU1SK5FE19F9C7QZA3YQYF1NC3VLFIGJUVKPNGV2DTAETT7O0X4BNT3H41V8TAW3 = -36#CAY2SUWTDOGGMWAYYM9WTBR600WTV5UA5VIQSFN9DFL0EXRCN3XDO2COLFIJYU7YFPXKS7NFRMX1S464PSCHLPDKA7I2XB16DFQW0ET1ZVRJTWZTYKZ044J7EM2HJ5VJZSUU378R9BWE843J0O2RJKU0HRA7EQQ1NZD7YUOEQI1XNPAOZVIBVNICWDL10B65ARZYY8YCG12HVR39W7XUFP9ANNFLDO4CA0P9THBVL13VLW4DU88OPO9ENWFAB3NUXSOVF5H54ZNYNLHEH8VOCPVLA6QYTNUF9YW5C6VWKUY67NS1G6YM37N76DCX2UDN27HVDMY47SELKXB4Z1LCAIRDJKZTCSMHX3IKTVIEJI3EF4ET0HQHVRZKMGV29YGS6M50592E100RNGRFY3D5E8HXELIGL73X5YP42Z4475314WDYK4XJF5O17NOYIDPSQXVCLZ8EMXKVTMRYEH62NI9X3M8DZ4OPIOOIY7KTHON9V8X018T2AZ2DKVRLF585R1FXRLZXRPEHGEGDD4J1L37R2WFFH4QJCK7169XAWX4TGQH6GIQP5MKFAH3IX380UU38USUMM00S6G53DOFBMDARIO7A6IH89SI1UJOBH2914H5GAL1PB5LMCJW46L6YYOKJHOWCIMSWYR7MXIDXR2PBWB9Q21X6UYYQPFYM2TPNYGFRA56UMWQKXJPOB0 div -36#1QLIFL7QQMWDMMT61ING3QY6CPTQELK1WP6XKE7677VYAQ5BNO. +36#2DZO3V73KJXG6BGEJTH8DP17V14EQEHEH8YS0WRZ72OJUAR2U1LXTD7RJJIPM72I21PZ7O37U4Q0LE4OY7OJTS1JBKVX5137S90 = -36#2E8CIMUH62IM9O5B4A3UYQTJQ3GX8MB7POIKGOCPNGFAQ3Z724 * (-36#ZWDKPKQNP77KB1GL13KMR54PUZQQ1ISOM00L65TK93M5U0NXR). +36#1ETPC4S0EV68N0VMHANGG43R2DD0EF4MB6SWBBSVERZJ2REYSQZPVGVYOMYZFVV5TZIOOYFWYBOQA7UF26ZZQBUZCB70HXKETKW7IHS6KGELZ = -36#FTSD6J4ULQJ74VZ43NCK24X3A4R41IF97FTSO5CBC8YQKZ02R3VXL9TMTG9XNTSM2JD7D639WISC004Y0V98WL88X0WYAPGORZCZZESCZ0ZNV5QWCJWULKIWE4CJUAMC4H4OKSQUVBAX23RB61V0NWFKWUX78RW3TMQWRDZOIHR8OYJHDSGH4BIFF9JL0PB8J1QI9QIWY07AV9R24NFDZT2I7ZLOYN6SL8Y9K38CZ16TEKQL3QDIWGDQ754FP7EWPNRQNUQNIUEMU8ASOSKET1TDHEW10M7GWM640HXM7KXG2YE85D0DIL8KXFOHP1Q8KUUXS5MX0KFI2QO2H329M6QH1Y145KDW8YSX9C2W4R02YSJJX4OGVQZJA8F32GOA97PA6FGOFKHC336DDZ3GGIU4L53NOYI2NDQWM9ITCZ9UUSM1ZBAQZRMLTXMMJO7RAG4PPN24OD1XDS4ND6005PWF2JPVF0HLK84JO9X6LDUAW2FZGZP1DKNYPCEWZ2NOIN3ENRX9XN8SDFYL8HCD3OPDKBOW7S5JGPP5LJCXTTZPXGYXMKLXALHCFZE4CGB1GHGLBTWWLC220 div -36#B7L5442M2NNA85V1B9QA9XWICQFDIS6GQFT6IRA0NL055PIFNHVRD6WBQ8O3LZ6M2IGD6A1CH6B0ZEOBX608O1R1DYK2WRBFLE5JCZC0I895X7U3EYSPE55K66DHOPFM80HD41STPCL49OA0UF5AKHPXAEPTTK63LTB99OQF8KAVRJPADSJ9VP9YR57IG3VLJSM1PMLYRMPY6PPTB9BV35F2PZ09LZ88NVPXDZIXBJVZQHSK0OFHSCHUACHXLEQD3G76O4M6DZ7JMTAJZ1P732MDPGPZA69FDRF55VAYGR57QFKZ8LGSLRXL473PENI1QMOUPFKC2FE1J2R5YUAEGZJIFMA5C96JWI6IYP4NVZ167LEHCTH75WRT21UJWW3APN2GJDBRXTEL03KWIMZ6T1NWL79KJZJPUQQ0QIH5JNY551ARSCYB8P1UTPPEB20GD6VB0I7CCNH4XVTSE3S1C2ZZMCQIXQPY0. +36#TOA520QTLKFRJLH5RV1IW6DQO3O5RH1WNLP2TU3XWG03P4FDTU9RLNDALJF4E9IO3INCJC6GI2CBCKPHJXYTRX76DMHFO2DKJZP3XE1QEDS8JVRJBDF7CZDC = -36#TYZ1IW75Y2YMM0MYKVK1HNYV9IAQG554O88SOV8XUWLWU7F91R89Q44WRXUIH8EZWLDGSJC * (-36#ZN5OF09NRUY3ZYUCS835ML86FBRPUBCII18Z3JZI1XAL831XA). +36#MRE3T3X7P3JEPCVUY3EMKQ55JLQ4G181H50JX5571QHJXYWCEAJUH8BKB4U6XBS1HUYW3LKGEK8PYYWLON4IL42Y5JIPZK795GZWJB2RSPSRM88UG1LU3GH2H8GQNBZNC84MMMTQWMWGKCZLQUPVFQ1LSDD89MF2NI50RLRBSLIE15ZHK6Z581ZPOEGGPH37J2FEPSFN4WA431O1V6SU6BY3WHV292JOX2XF5K2ONOG3SS3JNDO4JBCCNX9ZNPNLRZ3CBRP2RFI92HQ79ESDIZK58GU7EUWXXMJRDQSHSD4FQYUUU2WDBY90TWRPJQS11TWU0YQ2YYAIA5MN12BSVFNJR700KFS3MLGR9GAEOH7VVI06T9ABQXZ8ASQNAUGGJGLK7RMIEXEVVX7C8MGJ8U5RX4HXLSM3 = 36#3AJPK1MSXT99MGCO6C0S7MM05S73KXOA57T8XVPKZ3YHDKF34ER2U0P6L7F7OZ6ZACRKK72DCV78TDJZBQQM1570PKP7UIR5FCH4AHG8OXSW2X7L6K2D9HI95YW5UYEB8VUZ2D1RY7U97TIW601ORJVWISCFDUBJT1Q3ILIICLSKG2BH8LBG75NA7VD0PJYRQMG9JPAH0V2B13TS2NZJQNEA37N2PPIMVTOR3S0YRA6ECWM4E9U1C1MGQDTKR4S6JNAHCGRUPPH3C4PYDS3W79SZZ7YLR3SR8MYDQOMNM4453RTWT1C1J2T8SW1N17D2SOU3EXHKQ3RKH2UCBSJQSCP7PTJVH73F2ZCZYKGHWSKRW0P1TLW4VLC2J0K83OBQ5YNN41YK53F41CX8J286LNV7UPPJNI5K9BVXKUT8SMBTD1ETRBV1XC6MZBBKDTM4RYLBUBWLBGPLEX3AL div 36#57I2IHGVS5A7JO1V0A7323ZBGS2QZRZ3168ZLG755RT8BN2C7. +36#4LMVPKBFBN9PC8GFS4LWC6B8FTYN2608Q8WCRVB728ZTX15EKBHU5AF4O1SYI1HVCA3JWP97RLSKG7AXG2G70XIKTI0U29GSQRFDMVPE0KTN1OPN0G5KXDABJWWO1ORUXKM57KTEURS00UM97T9DYK4R2C99IRFFZ3EF4XG1K = -36#1VZ0LS8669OE0G96BCDXXJXHT9VEQYN9FJOOIET36R892YTNKWCD11DSTK4R9WB6QGP7XIWKLBKRJ0GRPFVDC8P4DSNV4TE8OOYX6KWZHUFMWXWY60CRML86SDKWH5RQ6R8XWHU9V7ENFA5P5IOIZ09OYH7ME0NODDYQ3AYEXEPW77AYNU5PBGI98C8B75FWRXDQELBSWIR6K9JCIEOYMUDKFC div -36#ERUGARRGVKPEFN5NE2WRKQXJG0D0GRHAOFV6H6JJ8TE1077NF. +36#BQN4UXXD1XVCBER2MXG1FJZLNHQS4ME3OHOA06W2O07TZ770KK28NH6C7LNK0DZEU1WGATTZH777CN8RKJEVJH63Y176NK058WBT5WHSHZCSMYAX42CDNXNR1J4QN0R30IA1T7GXP2WB9FRFM4RE8H6UN15ICGWPS31S3L40IWRBCKZ6ZG993MBT8F5BBJ7KKFYPH0NL6CIUAL7R8PAS88TTZ0IYT4HJKH1OH875OZQ772XHYTUGRCOUSKQRRR86LCDGFWLFC894EOONAX0MHO86UY6BAZ4K5MWZ9XYZ8T5N2ZEF1I7FUI0QWAH4YVEWV3EFCFX1G8QUUORMHLQA3SNRAL779WMN9VTL31L0PONRSYMN2LEPHJ1GYC4RKMZDSBDTBJ9URFNBLOF2FQRP6SF9MWOSLA16SFDRANDMREY2TLJ66ONLXDPQZJAD0XYGREMB5QZ17F6NUFUM3F8TAUQQIL1XMLXZKS49NIKYYKUICEL074KE397QC8JN5CML7LIXTRVXX6DY8IRQRIYHMZDOOSLLCUTACM4M33IBBPQHK6S9EBYQ8A1USYTAV38E5ZYVJOZW0DLDAMT892YAXBM46CXO03V5N14ZOAKGI4LWR6OYPIRH8HE5NXQZK2MPDSWZL0EO97F6NZWRYA1HC0KWV2RT8WKZ4PU9HWRN4JCH22XJQSFEZ6RPFOJBUX6A6U2AVVE4N2A2MY0KWTLCDEXKVS9WHQX7AVCLJY8C4K3VMFPSJ1VF2WGUP469F4LNT7POXH4BJ9VJ77Q648RLRU2M1QYH4BDOX26I6C084S0CYROOIGTNGZ9LD8GGD2FP07KVYMVN1XG2M2R9Z0P3MVP220NY10V9G9IUI1DURI10FMHRA5HM1HCQCKD9UTC215BGHUZN47AA1VZ1713BD4H1VSVODCE1LY7FZ67TXYY14QX0JI97ZVDCQWD626VVCORQT20W36EM3K5WOPOO9B69C6Y7HUVIVGUAP4GTXKXPPZ6RIJRSDJHWQHJ2P1LD969Z0IOC0486RF5OQKXV0TXS7L8XPWODB5Y289DLVDZ4JOSM5T5D4PEMJ2O4PY05577UR7FW6HW9SJZNUBQLWZABL89X7RC0R4Z3ZA5TJRHLNKGOASIH31HURTWXRZWGEU5F2OTFM0NGUC9615SKC0COS69M2F9E00IR = 36#1KK1678ELIDKGI9UG4DX88M2G8HKRW0NNKVAVK5N7LN8QLELS8HJ4D25KPS2PRPW6UI1KSYDHYWKWXK77V96EGMCKY4WIQ6BAVZ9ISI60DSXUZ1N1LP80VDV65LY5V0DD2S9HJ30D1IHVYMAP6E5D0G0ZPOPBLGNXDMDZ1R6153OD19UI2HZB0GX422RIRTA0DWQGO7K76NJ1XR32M1055QG7SE39QVT6GI3GWF8XM5RJBE755AV8JQ5MTMCSN63P6HQHE0PDYKJ6ZYFINS7SVTUT8ZL15RIEHO7RIPFKAEPG44EE0Y4C4AWRMPN5U53M710T8C3WTAJKRCX2C8X0JPP6HWV4N269VC2WR * 36#7H0X5VU7I08DF1OAF9WVEFVL7L6QIWVYS7B3MGEE0OZS47ARQ7HNUO2RXZD4GPVXM2LEOFQ0YMVHRFDPJQSDOB19BFRY3X8N597J0W2UC7QVBUWFDZW5STYJ2PW10J5JG2Y2ZZBOR5TFIH9WG1AORGC7H6RWMFNTODKOKHSY5BT94IPCK7TGCDEFIX799LTHFN51SSN3ADLIJ6EAMSL7NC4QLREHHTYWDQPY9CGLNPOH9PGSQU5U6VTCIHAHVE94G83GBU7Z87RYKJS54ABFXG7BWI5F57G8LRILKZE8T3O314CIXUNEVAF7SQKVACR0VDHTE1Y1PGID8MMKL9LWRI9W869C10M45MOL3AIZGPTLD36JHUABUR0TE6JGF2W2WM01Z12SQ5H9Z3S33RGJ0H04E3NGHYJM67F9B5OKWAUL0XLXSQTU25ZT5HK4HLK07P0UJH8WJV0ZM5S90DVP2ABWN130PM0F1VTVYRZ8FK3GJ69HMBJCXS692097S50ZEVJP8L2UJAI8REE6Q35ZZJCG2ADUQDAGUDSNTV9JNZRI7HED9PMTCMN3EAMT01MUIUDGG5KF6ODL2HOH8LEC02OJQ7F5O7GLFWR19XUWZFM06XKYFDKZ41N6UDBEOEUCA5LQZFWSOCGB2V12WR48D8JKV3XT09N6FZRAH1HUUJYW9MRF0LF4SPXMZFLGZ7DB61AL0L1T4NKR1TM2DL6X53G886UQ0PLJ4QVDSB53IBK4QPQXVU4QDFUSRS800MRZELVY6P3AKTGBC6LRZGCAMA025Z1BQ59R9U7P18V2MFKH32QJ9M9NV6HDLI4P7AX. +-36#AN1WFK6W90JGF1NB7A5BGMF5JISLY5AEEIGK7V2SK3WUL6TRDS4CY2MJEIP3EF23KEO9S8PEA5U5FDBYCWWMX1HIW861K6FMM4M4J1LGD80R9KG8PA4BZY0LNBQZP19MULRNWJQ3714Y3VS5JM9UA8C5AZYEMKG98WYG53W8QE1DSFB1IBIFM3KPCV2F8F33Q5OYJ523BCJNCWK68LW2H3HJLCR538WPQMNUZNHH2OOIPMHKPPIFUXFY6HQWHOTY9FUTT1NS8GB7R8VDGB5NYN1MA04VCZ1IBHK6N6WFF6CGELOEMNZ4Q9EOXZMFA9ZTOFFBODO8V4HQ004A6 = -36#4TY9UT79ALRK1CCX27IH6I63LDXFTILRL4Q1TIA0DJMMY9X5IN6EIQCUNFFGGFWXCUHPFZ6EA8ZIE7FMTQMPY702HVR6CVFJVJH8V9YFE7GG0O7YSX1RK2WR7KOAN7BERMIJCFY0LB8IA042CPZUEUGJSTR3GFFJ8L28IGQNHJ91PJBFL82QBOUP4MM5QSXTV6A27Z0T9ZLDPDS90H6QT2GZSCLN6SPJJWX7AT7SEKNK43NI3NKCPPWZTZGKDDOKV95S0K4T0WRUCXQ21W60KZKYFD0SIX9F * 36#279VAR6Z0TP15EQGN5LCSUD2JRY3TK01S49ARFBQD5N7OY3Q4A. +36#19CN9POW2P9W1DB2YJ3XQ2XWX5EWQAFKPSCWUXKOX92RST09Y3M9B8FIEBLXBMD3Y4QLOZ4Z6BLWC8NKVPVNM4DOD569F1FGLEJ8R869AGRIRM3YRH3SOSEZJZ9M5ITUQ0ARR0671LLM5C7QECOABRJHA2YVF7W3B36ZK2A5ARP0225COTJIQIXXAG3Y6FZX8WTBCTPE9S7N5C74A5QW69MPMB5EV0449U5UJ0ZPN5Q8MDYQV5H3XRB46YJHQ5LIZT0R788SLPXTWJFM71KW1AOPPI1DJK4RCG78ZT1K97LKDGS0XI1V6S4IP83IKKD8M0EEPAEM3VOX0F7N21ZV4QOGKY5147U7S71GNG05R4WUHDJ98M8CZ2IAWQE3Q0AXV0C5V8APWGF9KNXZ48600OW1T3TN324Z1L5TGZHCLLMCQT3TGYEO0OZ0HMY3Y3IEFCGWTNLE27502ITH6NUW8OS30C8N9OGW5D8EC57J0YG810HPWM6YXDGWM9PEDWUMVG5NWD8L9I3IM19IMTFCI0R8TN11UCIWBKELX61Q18392HLR0L2KQ4YMLKSQV9T9HOSNVZO3E3LTZH8FXP4LQGMJQPA5DG6TSZIEX8VQ79FJ0TE5YT61C35OVTDH0SWK9CJK5FGXDCQ8RD1L57KOY0Q0BT0BA2D678J6PIIZLSS5CRQF4YUDE6DIGDLJP64BJNMMPZ1MR9HW3PRIM52KKUP0CHHCC98OSB76XIEDJM68O8XG5GNIH9XVH7YTAMG8MSTOSFGTSWHJLTZZDJ6O80WR8Z9QWAT = -36#3QDA5MCI8LH3CSJ6DTKWQCM6Z409XLKAJLGZLYTBEQMCKTWY2BJ2O4PFJJJM1PG9MKDA8NHUN1PNEABZ8665DVBH9KFMZLSV8ZNGP24SDHCAP1PL7670BW7VH4XBQCALPNIOD6IP0DU8Z7M869ADQPPTQNQVL54DJHJ3IQRN9VJDWSTI93Y42LPIEU9ENMSRGTYFRHXZVEHNQDLPDFKPHPP0JUEBCAB8943ED9G6IRYKIECUGV7PFVHVPM2M2JMWVAOO1X6QF4ZXA3O963PX80XGBHCSKZAIC3MN0L6PO41ICC3NDXFV7GVA5ZM12HHWJDA99XONBQTC59HTB0W558GKTHMHXDUY9FW9S6D1XCOG9W7S9P82NDLXSWJ46E7JB96SK8F233O184IXS2GURE4FAPZX7FX4SLHO7T85SEH06XQ6CBW0FTXRCRFXOOZNBZQQQFPABM5EXR2AT0TWLH47GES90P6U1CRH0HB0FIM6A14LLZBA2ORC997PQ98WLIMQZZ4J8XBF16CGSHA6DQH9BSGCEJBUUOTKSSRCWOQN34MZ6HWPH5KTUVM8J8CCVMBWJV1QSX9D83V0RR4Z5LEH6NS5T37NOMYS0GMVWE9CPYY8GN5P5RMJNBI84Y4DK3F3SUN9PVK18PN2W15FNBOXMLRIXNF4DZ908BDJN7LIS83HG9C1U9Z2ZB1JCVSV38YVKYAIMILQSW91KYY3QJY0L19JNNPKIOY48EXYFVQNTKFWYSR5PBUDFVBWP833M4LHYD0FVOAPFYL9Z7BQ4BFC0YLABM6HDMVKFAZ5CR3YZPDOHFVYIURS1FTXATVDHD17QIRYZTZMKQASHVR6KVA3CN47G1NKF0VAVAGWCUHRQ0SD1PKR6ENQEL9UAFXIQCVEGWMZOFDE2R0FVQKL8F7XCEKIRZI8UM4V5NI91ZDVJL1G9BFRREE471M7EH0UDPEWBT60A136A3L0HOOVNF7H2L80HUIBOP6XD27T8XJK5GU25N1LDUVB48UJCYWLK9Z8QAYVDLXMQQ22G85BIX0AZGHMBYP8NEDMWYTS2CD8XDGE62WTCITAJGPK4ZQUPLEIR2JFF2UZPFTPQ7U2GTXATRWX02C8D8ZRRUUOLDICTKEW9ELJ16JX0 div -36#2YNULX4ECPJQUUIWBWYD906WJD9BQ8AV9D1ZE9Q1JUCCFY0C40E1V11NW7MXLX5A4TVN9PMC5AYFBM81OUSPM3BXHX7IYX9WP6QH3FMLICMIVIJDLK6S1AKU5CGSW9KC3CO7F8P8C1M5HRBJB9GR61HI3F23VYNMX6FJ9AKVDSQ5BI9EXOVGRDZ0KOTX5QDWSLKBREAH6KY1SPL55HSV8TO1F3CKU9KYL6XFBW2S3TGNBOF26WMK5JH4QVJ52JXG0M0HS76JXZEIHB39UJSZAAUDR9Q0ADVBPJE573X44P2RUQRBZEB21SRW7AEEBWOX6PAY0PLDK905PDDT0SVS76U79L0. +36#8WT2UFCZMNMUELZS3JME48LT9YMPI55M2QLJA3MIDS8558SHNB1F4JN5LJHXX8U4X032F55V22MAC1ROJ2LJQ1YLAJX8N8ALF8908BOIJ = 36#1ZCOGFGFXC9FGJ7O51HHM5TFIFNE9PILAARQIKS4Y48EMIW8KV * 36#4HUYRJN7YIAIHJJ5B89OZ7UP5GXCVZ0TB5PM0190R3UG1N1J5S4SJO7P. +-36#37SLGBEBT4L6BK86PD46LZYLGLZBRO4XX7IH6AOHB5KUNCHE6T0V8WDUZHFNE6ZMY7WR3SF7MJMAOJJ03QZVEVA90LCJHUHSSKWR1S602VKSD4Z6K889IPK5IBFVFYBBZ4284NG9T0CNWW57FLMUQJ9MLOR7WCT3SUQAIMK9D3S71NI04RCB6GG4BDNG1 = 36#8B3H2FXN3BQ7SKKH5OU4ZOXY31TYLMP6EMF5VN2DBR8LJSQCEA5IL3J1FF2TTWNC8ASKA1HU2ABRNVHYM2O648SQN6MM3Y4H3QFPAU4DJNC5SQDOQSQYHNJOTPFBVURNHUGKL4M7A0UBZFD6JN2CTXFR6UKTN8BBEVSHO7VRBJL3TEAXSJOX7LP1MT3LVODAJD18MNE4E91EYZGQ2VI02FBKHDPNQD9NKWSMEU7D9Y48YIBWFITK129W755TFK1CEOI6Y93GJH885C42JS3SSU5APGBTJYP9ZRW6XTLL3EYBS3RODAO0MYAUKK93TI67LBI8Z34AS67ZLBJP569EKOTMDMORVXTDITVXJM53W32RZW0P2GMMT3DBXJ6IL9T5H10PU8BX2CBWOJTPGRHHV1XOX25R3JZPBSS1GYINTJZGUMZJW div -36#2KZKCFP4HC8R6PZAYW1EFKKFNKP7T9EDAZKWASWKJ34HLQLVT7UWKRV9W7ZA0EA58ORWKAIFF4AP44CQW1MRJUX51QCX94P90SFPGTY3DQ2BAMAQ7ZB5TSOUGEGEXENWUJU2USADHSILRYEW8UE6CMGW7UIZZQH4HXENNH4G6ELKMF0SBVB7V0DCJ8S55X87X8V9F81HULO2WGM15TFUJ8DH9EYYE7627F2AG3XLQ3O8LY95DC9BW. +-36#1FL91SM4KY5UH23PDDNQWAACJ7DQ8YO7T51IV04D0CFTFO3GUCH3GPTOOXFIQEU9R2TGX1P1RXFA5ET1QAJIESOEMRPPW08UNY9SW9ALNQMGKX22JS7TYPPJUD2ZN1RPK9NL3GLX0B2EV8A6F7K3MTA8AQIHHZBWIDQR7B8WH8B70E9H9TDFH6NJGSX45E4K6AJKID6SLS2LJ0614I9UQCUDEGCO2KNM92TC0NCLPAVL3DMSJD28NRPN877M5L969774Z1S3Y5QQNY8HH5MOUHTT61YTNKQC10NWQQMLZ6FVU8R1CN7HIB44I0LGYS2B3PPR9YS98BPXCFH2X3943UPCPUNXSTE88CZAUY1UL60GUTUONWYKYW0G48SSMVMAJZTZWF4D53YP5CE06F80BMPKVS83ATI = -36#1RCF9UBAYLC2ZQ4B924DJCIUXZONUIRX7YBOD2AV25I1NFD89YI6SQZBUO06RS9EYYHII4Y0YC3XUODC35MVNVBRAARAFX6JEA6SZI9MM9H9WIIH5F1BSJ909GLB4T3XX5RXNB8CIMO6Q3H3Y2M5TPI31GPUZWRIXQINJ3OEOS3GI7XZ9OPQGNR7VA05W10RMC44ZRFX24E8DQEXWZDXEGFROFQT3EHG5ID268A * 36#TBI5OC6I9Q0177YEEFNS26MTMQCFTT4FT12BQM5SY4JUSM2EIQ24P7EI9THT9PPJIRL6JX29C20SS6G6LMK85N9CW742T2DGTKDFF0ITO6UV65FT6IZ0GMY5VUZ8NE2MKWXS8WLLSWRBJ7DI0GB6QXFLTISWY1BTZXC4I2KN1LG1YBZEQRC6ERVR. +-36#1FKILIJP6H0QWKMV09WV17TTQ3GERTRTE6DBJSKB8901Z0OV5GH2NUML9BMQXX6FE5V346UZ0MYPX0X8QKTJ7CJ3JJSXY55EITLV71DU7YTKHHI43C8FJ95FHAS0ZEAHA60506YSRU2GZ = 36#3MAD19IOVUVPJAH3DR200D58BCRTL38MI1RIRQ6KIVG18E1YAUNA4DTUNYIJN59UTCJO7R7QLLLAJGJ56TQCHGRPBPM934BK1NKYO7RJG34SYIGVCYRGWWOD79ONY2NKVJRUKB9U46K8OL1VVS0VXD81YW4PKTDMU92QOOWZQERBIMG42LDREAI5G7LAD div -36#2IY96TUNR6MP2GRFUCSSUGUP5LCOH27VP9H4XB7FQGZPMGFKN. +-36#2IY96TUNR6MP2GRFUCSSUGUP5LCOH27VP9H4XB7FQGZPMGFKN = 36#3MAD19IOVUVPJAH3DR200D58BCRTL38MI1RIRQ6KIVG18E1YAUNA4DTUNYIJN59UTCJO7R7QLLLAJGJ56TQCHGRPBPM934BK1NKYO7RJG34SYIGVCYRGWWOD79ONY2NKVJRUKB9U46K8OL1VVS0VXD81YW4PKTDMU92QOOWZQERBIMG42LDREAI5G7LAD div -36#1FKILIJP6H0QWKMV09WV17TTQ3GERTRTE6DBJSKB8901Z0OV5GH2NUML9BMQXX6FE5V346UZ0MYPX0X8QKTJ7CJ3JJSXY55EITLV71DU7YTKHHI43C8FJ95FHAS0ZEAHA60506YSRU2GZ. +-36#17R882MF11JOI528V4ENW1V7CLMVUQ1IFDRTOMIFH40P5Y8IMEBH4BU7360NE9BF0AYUTY91XR99XORKMSEGZTP3P5FIQRIMV2IHVPWGEB4730O2K009T1FEHROT7DLQOWAM9U8V36MKTHG1AVKAOT6AL9YWYFKEF0MYJDF4LZQ8QJCMIJ1OC23CV3XXN4BASAGTT2XMZCYWOL2WKNCW2P4OQRNI4EMAFKJCSUJSHMFX1K66LAI8HD0Y3MRQC5WNPL5KDIBW79MM50V = -36#BEUPE6YGNXJ24WOVA679AGZ98RY20WB4QYR9927RNCR3Y0RGMOLX4P3GPV9HHNMTD5DS2AMDK9P3RJLDE8ENBDX7JNG79BGHPQ6UWEJHN7HUCTOXQDRIY2L6HO5KWHJGX1DBN1EYXLRMPHZGYPX9MBEOTA3Y9L8M36SYHK3WUH88ABD86PM77FWLVNXJYU9N4YAZ75I3U3T1UK1V3G495RG5IJ5K3RXHNECMD7FT9F122H3F0ON4WX88X8FRENKQU6W2GTAL6VNEYHECW3PSOXEDHXWRAVZJJUE4QBN4R2UP65VGOCVDX6SI61X2XX3YD446WHEOPVZH6IOA718PMV6UC37VDK7XICS1MN7LT39CIN7TBPK1I9PWMVXPU9AVF3GEAKWKCRL18 div 36#9E0VERP0W4L192XF5EPABITCTIINQ6X59BJIPMZQ6E5FCVV9F6G3I1PE47LN47KNZ60HQBRDQLVY3KMP2Z2DNHE7N27QWWVVP22ODY6HGH1W4C4JGLRNIORDZUXU7WK. +36#3EDKTXDFKU5I9TPS72MS2RKXPGIL0EAOEK2614PS173TS9VRMQPM1YSZC4POTIC0W50DTAMP7X43A4YOB7MZ844CW9EXVQMZGZHLRT1EAORG192EKBPQOVY3LIHWNTQN2TQZA1YD9MD5Q2CTQNL4KQO4GD5UOCYYT4634DIHXEM0XGO19CA2L3IIUKDV6GZIC5ULNQWP1FPSVAX1AIGX7W6QPUA9QZVHMDLZ9B2N9QBJD8NAR95C3ZY9MF8K5D146R0YO56B532XW6QGFZL80OIKKBUI8HFOXE4HJPCOA4CB1UW4KIR9NZ9IX55ITFDH5JCJPV3C04ZX2XAEV0MNZKHR1JM3FU600JLOR4RK89LA1YFAMFOMZVU8GUPY941EGOXBLVQ856HYO85VGT2MUN0TCNJQHJ2S15O2J3D3ZOT4P171HX4GRDDMLVYESECDBIREFLWC1D15F6RT612WIERQAERF6BR7FZBZYRWP20TT16KKH8GH05N3T969ZTOPCC0I0PYGTHULMKPKU5ZD2OLIZ63M5GSTTOT9II6XPTQBN04TR8JE360ZL9Q2QP03Y35URT0UK154EGE2RCH4EWIXBOZPUQ47G38M7IN56LNAKNVU5DJ99CU4QL6VEO7NBDIXIZXF8M8VV8FUW9VM354F = 36#2GTTV7BU4IO9FP975PF8K7EOXTSEWIPTQCJAC11BXB6S0T5B7XY5UR5JM4VOAMBFGFKVC6G1YO1BIDVKHNFRMPD4Y80S3S3PV4AFRXRLZAOUU2K9MXN2FIXM3G3EJHWR836LKC2D655D6CO1UVE7671VAVCZWGIMD5L * 36#1DLGXJOQT9K6B91QRCR62Q0Q4RLCF4OM83RMIP67FD9MQKOIRFLOW0TT7FSN3FDS09CTAM6P639B9KY8K2UN9KAHLD9WPFYBN8NCPTPYMHWDT7DVR78BUUY0SWKDZO1FSK6XNNDZCX4ZGRFYUKJRX5K8X31TOVJ6ERQ212CRPLPI8LDJANHD44UW5O8L7DF0CEJQJO6NMWFBETW14MO6CZBO83N1GPNSFYFPN1N9WB2M73EH6KV4OGA15GFZV3UHTQDMBPOG5O3NRC62RQXZ1LYUZJ8QQJL1E1R2QVHJZ0BGVXIS1UAHUY9262OJ2EBHROX8E8NWK3W5IGF56HJQA42Z7R8H9JQUBYE989ENWF2UAZ32TWUTZDPDRILYAR1FJJ06AMVVE9XTHD85QDJEMKJ4ZMB9AYR6ZHCJFDWNFA9ZCEDUH4VTNNQ08LTSFGTT45XT0UIZ532QX5RURIPBESL6F8J5N9M65HC5QF60NEW8YAJRKPKNBB. +36#79KRJMORC00CA8JJMWTR3I6JZX0C9MEANVHK28ZKGD8INLOI6MVG21689QHN2WOG7J2UCMN5BMT82MQ0F7JDS48P1OGCC4B85QMCPQXUZQINAZX1TMWIO5TL07QFXNBO8QS20H0JC2KPLJ3E9LK7XN9LCM1X2T07OBUUJKJOOTGTP17TSW0JD1J652BMGKM17JADJR1GB3NBM7IE7G9P3LHHJ8GYTT7IXOJOB3IUWB49ZO577FZ7KW7BIUYLPUK7L42HI0UU5LOMRAD75ZF0K90I1U3ZJHB76RL35AS3PGA7ODEPY5HJIIAU9FC2AYX4A40J4WVG0E11CAM27AE2JGAQELBDTSZRNBO2K9E6YX32GB1SJ9976KGMHEIQ4IVAIOPADCDWJPTSJB9V6LEKQ3ADUN0EJ3S24KLKJCMR1RV17AZXHXJWK5R3P82OI68CZA3X3KPNJH4OFTCMCRHJL6PNT0TXWQQ27S1A50LW5YOHS93VROA1VKISOWVR04O1W56PV9BKBE0Z20WJF6OZV52B86K5FUTVHZMJFMNBAYH8U4QXJ0YETWCHUEM757YEFOZGGVNZB2IYY5C64QFUZITUR1LDR4CGC88VLOR2QS97BHNWGB4STJD2U3ZAZOQXTMJENL1 = 36#7JTFQMKCLJ1FOKG7FETXEEOKEAM5TXFAOZIHK5YE3D3B0G6UUCHAX9N35TY2PJE1KFWWD0BNVFJT87TJ9S8E3LNCIANYM4ETKQONYYU996RCI5FSAW4A2UQXQ9Q2Z90TP5VDTUV5FSNK2847MOSDZQS85UEKVBYRMOYBDJ2KPZ5M7234HSUJLMFBI0VLV873WY60KK4G8DVQXLUWHH40BESGPSWRJW0UWQIKOSCROVP7AXO96U8MM0VORS4NODS1G3X9LF0LY7WIBP5L5ZA7NT3CSTV4A2KV3BQ7LFDSQQPOYWY3SXIMB28XSDXV5E3Y35RGTXU8DD8VFL79U6WCMPMRULXDCOPS7HK1I2R96E2ZVCG4CQFYF81ZLA4TINHUUP0MVRG9D29EHEQJJQFC8FS2G0P8LIQTKNQSY4IWY4LBXK3U2GTSCTLW8KTWHPVWY12BTIB7BH8RLVS1UH1MIQZY54YRIZIHWFRJ14RIDECLHJFU8S1S27XTQ36FQK39H2ZCNCGJUIVXI95WPVJ1UMBYIS9S27KL4AWLMK75DAW9JXE76YUGZCDHCS4K0L1GZ2X7AEFDMLQVEG4ZHMUQ3P43F50UVI8DLYJM4HUKZW0N1GY1G40UP2LXU6H4U9UVXIRA0O1OZ1IEBY1TQD66KJBKN4E6KBZTKO02TZJP2VY28ORNYIQ9JT3SESXVCM4Q0LFVI532J0HZIPG3JN2NLEHDFWOK3KJOO7CKJGR6ISP div 36#11EQLZGBU8WG11X9MAQGHRZKCZUK797L8I957EMGO9TBXEIQHLXL9ITAIKDOS2KA4EWDCQFYQMEIEOYCGCCD2HGVKDC099V8V927P. +-36#6V830EP6QUX76O39Z6MPNET93EIX9XNNPXIPT6DF9WQBFAVU7RAV0I0BGE5ZX7TTHUZSZ4N2TSQBDFXOXA85CLC5R27XI4PKSXJY63OEI6R7XPMX1C361LWXYYR549QQZ1Y58I0VNEAQZPUZSLS5OVE06D6MG3CPQHH6AUK92OLB2DGAAKUHI874DVWC4BWTKJ6ODA7NYF9NFZ692M0I02UBLQX6EJI98U8GST5K7PGY1N6G6SU64MYDOR6LFJA1881NKNS7P20XUJNQ87ZQUCBEL8R5WJLIP2BAOOKZDVSKAG4WPNPEAT3YC5Q7KL13IQY0QAXQFXE1T9HIVXLSD4701S92W5R34LDW3M8Q4H1UH7EKVGDNEEHY5PNNWLPX68VNKOVJ6P6YIB6NGCBD7GEUQKVFL6R1DXPZJRNX4EGKDVXRWKP6EU43CJB91R66EQEDSGXVGHGKV2VZVOXY6OQ9TZ8UPFBZOAZUPO0N55V3VSUUGBUKHFLW9VR8QYPJ4LFJWI8UVIE6ZBGNRIG8YCKRVW7HNCHU1MZE3Y0Y9K6ROFCH21MX144XFSRPEEDWZTMJOIHSLYLWP36A454S7CU4C8PAPV33AEQORPDZ3R3XGCX644QWRWHBC55PHSJ4XWHKKV26O7W9AIYYSU1VQ91MNVNTYNYSAJVTR5EEJ69CZPQKB957JKNDW77MV8BXVBZBDAGQCKFAERYVWN7UNOH3ZBTG24F7EMFEDXWO58D7EDPND1TFBCI47ZWEFA86278NG22VQCXONURV3L95U5WV0DH50D3T2GEUBN1QINUWKWMHLO03WCBQ1T8IVWKEA1EAIIKDEG1SXV98VTC1D4LX1VDRTJ0AP2QAI89MZRUNBMLOE9DPWIYHLZFRCMUJ1PV = -36#2ZMW3EW65ODGUJYDPTKVRO8V2661I3H4E5I30WAWAJS9IDILM3D0YMQGPXZ9AXU5RVOP91YYBK6NB4QWJR8LODN3VVG5IBH0C6ZWZLACNGCKFAND1EGDR4B1NNAVDFE1Q6TMWWR5ATTEI2YJ2IB5P6SG2CZLPINXQ06FK5YRC12SS8PD4GZBPE7LSMMFUSP315LMD3RIAH09Q2X9BDQKZR0CE52D8O9GV9T3YGR4ID3OTIDKZEWPN7LRFWB6EFDUHH6QQQCORYTSKUP5XHCIPKANBTJZ4GRBEWI0W9BMT8MXGQS5UTL7H0Q7YJA5DR6JL6PD34KTM5A7X6OXTN5583RPWT5N65YSUCTCY27S4SLLNDGRXDZNYJH5H07TQ928C3G7XCKI4S95V8AEL34F1XZTJV6CF3L0N4PEFYZ6HXLRUDYM9NJZXI0YRABWPV8FR2D7RA5HG3JCFK7XMF8XHPOXEWFU9BF293JXN772XKQC3Q56BC74X47CZ4WA4YJNFP3IGMOEJF24HVMVSH6APNKKFP269F5PCTJ4S60KPPB1HALJD069A6Y7LTJ9A0TMM7QLOYS7PUOA0IOJ57LIMFN84U3GXOXZ7TCOQOR76RSGR1Q05EY7IOMS5QB41SM66CFMGAQA3TEWAKK8PEYUBNZUXL42TQZMQ12BWO1PN1YJMOBMBLCDRLP5XIFCDXOTZEX1WSBPJF9MR6JLFV333LV9TJX8HECNH5H94IEMMOVBMMP0MI3ZO1JRHL8DQYDKU846DG5FSAA2F12SLFGMGWDMO172BKNOC5A61FSQ15UDNTFCTVLU5IJHY5VS6QDYRSPUCQO4B28HJROKNLU51MMWDZYNEUVDQD41E642DMVIAAIB3NQBF9AC1JGTKR410JOQBIKDS3EWBZ3L6T3I4H5BKT4JYKYJEZ5IORM0JUGC44B3WF4Q div 36#FO8Y4Z8U90ABLMGV22FYLBF83DY5HQH6EJKXOK4ZC13H95EV2. +-36#CB3LVUS42M5T474NZ9785MRZGZAFQQXOCG1VH2ZQBJXZDIU51CKXBVQF6Z72NCY6S7J7IGUJ50660Y1DV9MRY62EOY1JNZYML64SDTJ5JRZ637WS573P48DYW0DIYEFFM2JHM5PAESTRG9TEEITIPYHO3KGGSHFL4W0QC51UE774KQIJY6OBHD26LVQ04D1PFKDIJ7LSNVWBEMYCOUVHOAY7LO84ATZG88X0115X4QB86OWII9C8I888C4LJ3YZBWAPE0L7NI8XEIA4TPMKH5FSYCDDAAMUQYPDQV79VJFKBCSHRBVZTCAD95A2KSBYCQQB3U66FI927R1TI2IKUAHH8TL1F6A4OPPFVSH37ABZ84EUSZTPVIZCU0Q2OJGJW6QULB7ZVRJ1BOS1EJOH3DIFN3ZB879ODU8T4T0E755HEDKEQ3OFDTE95BNWFG3X8W4QE1ZD6S4R0DOTMAXR3O3PK5744ZGQ6W1BHQB8PMK0NBK28NX219ZMUEX0JJP1ELL60H77D5DD9F4EI62CB825Q3R2F2PNX4K6EG6WU20P9J6OFZKZ8O0U1F73QNTVTY4JR8LAB3KJ2J4AOOXG3ZKP6JUYXL9V8G6A5EU9B5QH6LIBN7C1YFVNQB3NLIQXXQATK19GF3J5TPA104TK15HGDRJMA37S1L1EL0AVE0SJGKNOAJTJ5E4B5MJ2ZPS0CKXUYGRG0CPVCCTKYKRTXGEEFME4MV5H71OGY34AAI5VS92KYENP1VHJ7O61614IAXSF1A0B2S58FVPWTUE1W2YZXSNPK1ZGINROO8GTRRAD0DN92N3IB57PO7X04TC53JETA64IIP4J4JUTBMWCILNAFUEP83LD9DOQA5A2R4M68BL9YLA16LZMR67IM1SQEU8ODSKXOK1CU6WB5HFO7M58TSBJRJFU5CN7G5NTK68EGUKFQFSQL7UQ81WXXQMXQFJSGOKY35VN31FAX20W45FSE7T2PHJD9Y2VYVCHY4GSVV42ABFG5GAG8YO600RBGFFBMEPO1ZE80X5D0YMIIVA8MYWT6ZGSD6RDHGTCIC7GE2C0C0531WZ49QOYQOP7GQ = -36#1TECVL8J0W6IXIAQHNQMSL06CT966YOLWRMW8WNLRA7VSL1OQO92DVH6OV48CQOJW9MMPXESX5V5FCUZHYCBSX7F76KV037RGU3KM589WHMFA48M7QNRU0OWC8IKFXWRX4WYN8I8IGQ7FJN59X9V4Y1II0N4RNUOTIXVSCBID13WLDUT36I8B1EWVT8PQJ9IPTNTNP4ZAOEGQ79MY8ZKNY31QOMCXYRTNFL5F7R553SFKPCHL5VP9C5BM3VGXNCHB6UTD2HXO3OF1SFL2JBU06BJM27LTVG5AQLQZULM4O57JLHE287A6AP7P8Z0OEYX8LLCRXGXL9490UH9RMWX4JYM0UTVA0HL6PPJUDSGPM65SJTX7BWQ8AQISE8XHM27102FL5WAW3I74ADQHEURNSVUQHPA9HXKY5S7NIG8TZU3RU6PTG8O3A5184YJBWMZX4KMGWJS02D1R11YE705G67HF16Y79ZLRG4L77PKDME2TL0JHP7OQHPY81S9MA590AGM0GX5EFOMF74636NHQHBZ7C3TJU6SHULGLWFCBZH8BCB7KA5QOE4XD7AGF3IRJTGN0BQ3LF8WUJ4XY4CGWQROQ9XA * 36#6RWUXP0V36UHF9QUN7RQONHIJ40T3MGUVNF81XNIUW13E07011BZUKG08MX38FAT6FJDCE16TD4C0XD67DCTLPCIPCIOAPSTTI9SE3LA89RUY4LN84P6D9Z2BUJOUE7B22XUX092K744BODKY9GDH33X2H839P4VBZRK63R2LRS23F5EHABS4MPYUITJ4IS0BK5SMF81R1DCWFNF10GV19FLJMFLV9COA4CNY3B1517E4JHTUF5VD47GF67531F3TAFPLRSSP5FDSQAP07X0SJFT7PWUHSNXTKIBENH19YJ78M4E90ZD7DT1CGVQCUZQCB4AX6UH64U2PCNU09A9D7ODPB8ZYR4X2P4VOUE2P64A5QCN9R5WRAQCFB491SOM66SH56WYLYABFZ96AQLIYATHKF2S6NQFGWM8TKSB03URCSFCE314DDR1XEDZNMWK5G1CCW7GXYF6ZPTP4TUSS7J72EHVQQ1BZDTQMZ. +36#9BV0TE30FWWLBMT2E1FCVTJUWP6XL9585QXCKFRD2SC9Q2L4KUJOXKTD7615JOQ2M2WXPE44QYRANIKGJLNWGL0WSWB4XY0REZVGUR5XAND3215JJCJHR8PEB0B1TJYAI3E29J89RKUZSBA0Q15EIOF32G24USX15QB9TT9UFEA0I765BH8U1TS5RH8JJ6AUVPWDC09YSZ5BAHCSB11WZFY40FLTAIQINSQYVUADLZBYSX27SA13CIOQ6FB261Q2NJAKBJL4OYO9C9XI2WSV6344OHYA2UVVJCPRRMGVWMWQDCT7EHN2R46CJAAVNPTDTWIYOPOZ7ED667UTJE0F0664PMFDUWM5BO8UWGN21Y3O6CVDXYEBH4RQK9ZWGB4O4J4H1IIO89SYGBBJ0BJSSETTFJHGERYASHKPVVPIPAW73GUEYQA4NZH9Z6MBPCPY5NKQC = -36#2BZR8KI7BLWNH8I4CPSELBKFMDP2LQRTE0EDVVURYRK82DVVHU * (-36#3ZYA80FTFHBUWEY14C133UD22U34E8B8G0UMQUWM7EK80WRGND1TEU283Y2MHP3R6UUJJBN70UTSXLB9AVZJVKSHSD8LQLFGE3UJHU1ZGJ74GBGO7RDBEI70OU5DEQF2OLOEDD332WVEEL75U35S46L7BCR3ZG0MC2R5NZQKKWTM5QR3096RRO4D18LO49YE47RI8X4X3FY0H6P1T3XLO9H9C1YAIUCFGMWVCJ3ICMYPEC9YVASEYK459I5RZPM1BXE4S88AGWE7Z5HJ0GMO6PXQFAKOCP7GCGLXJ18R1Q7FF1TU27J6PP3R4GOQ9S985FUZEMWSKO8EQARJHL1ZEJGMXL4JBPMLGWAGK3VVDGFTA89O8G94SVFAXM5JRDEI1TB3SHJE3KP1R1ET171M). +-36#1B2B1PHPY9WAI6IWWQX3PX14404M6H82CU0YLF507P5OSD0Q8SACI0AM0IMMJM2RAONA6JN2L390I5HCXG37S2L6C8Y4VOTPB9MEDBJCGEKON6QHF6DLQJT5FAQ01PC7VXCJSYCM738CRHI8JZFAHTQMNH7H0CKFRAVIDR96VC6Z2243PZ9NLI6ZCGYWJ863621EL1LIZLLQM8A8RG33BXAZD3PGUOSRD5UO3NO2M0HM7VR7N43SYERBYPQFRZKC333R0NL8F2XBRLCP3WCWZALTRLV3T8HBL2046FPB6Z9X1WJ2BXV6TZGCDU6E37ZJK2HWULIFC5A0B6GMBLQ06ZLS098BRZ9I07AZG78JLL1VAQM5VOJBHGYH8ZB2HV75TYVV7USSP7HKGB2CQ4MVZY997F1M3VMC4XAT019K6LJH7SH5UYPLS3P7R8PCFEUUKOAINY9ZDNKZF19RCCOESK27TE3SCZURCSU8HARPQA9SUAK3PC7IZRIOCVZ9OAYV0DVVIP91UEZ7OCG0RFEVDGEBFH634IWHJFSCIVGQW5HGWZXYPVNQ8I3E6OI7HLXW1Z8GDYY3MRNWLZ9TBWKYE2NOELVT117KWBYQGPJ25W5QHV6KPZ52ABGY7GWR0DWKVK5FZ8BX34NCW14KJ4RKVFDTGDNLE8Q4APPYXCM7WTAH9PACB34ZH34EISVOEWDGSBDIT6RIOOHNICWL2DUAU61Y953TC3HA6FLPPPIY8MKNVYHQE8GXBTOSE9OBDFPAYZ1ZSHISWVMPJS9LC7GSQSL7K = 36#9Q1HS8FAU6RR43MT80TIZPLP7GNU1H2PKD0ESEOH1P68YUXGVYM1WYAVYEMVEEKG4PUGGJX659PZI8ZSHOB9WLAQKQR3NPZX34K16CAW26NUQ1G473OFMAKTCRFDUOA71CMV9G1MIQLVGVXMKI451CE1Q7CAXVNHP2NUR1ME3ZI4BN505GL6J11XHZ4POW9466JSOS2PD3HMTOY5XCRLSI03C97USVN4W6S83Z9JL0QT7T4IA8KNCSQAU7EN336KDOMIL8E6P1YJKONBHEQQ7ICDHY5TG6AY1NZNG6I0N444GBDTHGPR26OTBJDCH8ICZHMQBI922MPU3SV2ZW7OBDG1TUUQHKD9JHLR4ZOLAGZ9JHGXDBTOHJI4SEZZI4WM9A479WSJRES1BG6TJ53BXP2NV8NH8S1F83UBCHOKBSKELDBEYJP5ZCQFT1VADKX1WON1774VHI95RJNDWISE667NDMFHT7UVK8KY10MKDL7L0KWMR11K2ID0FIRVMZYL2 * (-36#4U9164FXSC4W9504VKXB1PECVW0NL83YM5ISVDPF3938JQC5ZIA1YRVF4D2GKUXAWD2XPLK9HBGP4I45LJK8K1PZ7FU239GPKKOAATDWUA8F93D9PYZK392H1JJHYPRTI9J2KIP8VB2JWJBIBIV9Z54L9GXM7CRV9TNYC9XE8O5SILK0QGMIPORKN1KG75FHF9WEP4AAJOX9J9D7WMRR4ZQML1T58AQQK5BLQRSMNX3JQ47B9L36LERV3B7MF8TSHK52RCYP39NERQJLFU1B9PXS). +-36#ER9MIG2WWBKZHSPPV2YLC79DVVFIWEFYGJ8UCVN7G7A0UGD04 = 36#1A4W29F914U4ZCLXH4QTTTQVT429CAI12JNOHB52EGOM6MPSC6B0MC55I2MXISGYOUFTIOB5S0R7H8ATNFTGQGO7DPNLLRPGQW4 div -36#34JNQ5MUC0136HZZNPM2T2M3G7FYVWRPPFVOWOHLIJH1XBPUH1. +-36#5YRLSCLV5HXHUO9Z8W6CPHH486TAZ4BAOOR22S90E2GXG7XSDLPSKZBRZ5OP5JDOHQ6Q6PJ589YU6K89N5SDJBJ0B9 = -36#AA98GN6IEOAHRQHV9YL4DUR8I65JDUMYI89TAC9JB46BHUCL75I3ZQ3FRTO5BG88KLHVP9SPO64CQHZSXXBZUG9W83LJVFOK4FPGYS4I6SVCMQPB68LPVKY9JFCCZ5EJPMCSZX190Z1U0C1TZ2F0NGCW6I0NUJQUGIWW0EJX4RSHA9R10GH3VAWYZ8YETU0M44YQ1LWA0CXFQIJDPMX6ESRUN7FJSSLARTR608M3ZQURY6VTPVNRMIFEVPBEOKB9L38QZ3EMZGJBJYR6CVHEOROD6DU0GJWIXMEYL7XNF1XMTP45MSGJLCEGFVDTU2SGIWHZD8OGQU2ABPVGQUYQQYHV9QLMHXRVQGSUZLQEMRI5IOUN3JD1D6J01PA4MN1T9XMQLXPOSOVY4SFMESGSMDKTYQE7MY5R2LIV546AG5ACJTFRASL4NXGA2R27KOR div 36#1Q2AMMAEPEQ8BZDYJ473J74ZB04LUPQMCTIUD6GCY5YTLD0A2APMJWN928FFY3SXJOCTY8EYR5KXUQ663RSOE2TVOHGXE9VOBJI0J9ZVWG7POA804M6C8C47W5DNBJOJNKLUWDW20XMJ4PACF3TGI57QAZEBHPRI6Y9RBAU2LZO4T8JJX1Q9JYBHO19CV140IM1Q4NYUBXL7X5ZW90QOKFFH049EUK9NSJXA57846GOIU46SWVFX05S8MTAPXRGS8KR571QZXBBRL4FLBELPXWRRRJA91VH8AMLVYEV17QIUW2UZUUE7DQUM6NJ7TH0KDQUTKZMP8P0RC4CZI0HTJ0CVKV9FH5QBA2L2MN. +-36#2PSAG6YBOY8O4K6SPQPIEFZR8MXFALP3TQVW3ZNKFBMB1ZDO9F = 36#6URKMK7MR884Q4NVQUJ29SBZZZQ4TZYCXRMMTG78KKSN9N8R02L3B8YOT5GHJV6ATD8ROXWX0M3JC5B98L6OUDMYB5V8U9D8ZHN6DHXFP2QBIWJQGH9CMIW0T68L2062PC4GEMGCZOKFZIKKOFO2HDE0VOU4UH1TEKKPZA75XESO4J7E9XLZN16DAC44G19F7L9LEYQM0QXBUUCUO9YMNI20DOOTQJQYSYHUDEVGAD9ZXKGXTAPJQP9J5DY1C6YHAOF3O11Y6PWV3LMFWZ8ZJA6N6HI52Q5GKPJBHSKIMHLXIK5R3XIRW4PRJ80ZKZGCB4Y7ESETVPWZ1ILFELQTFA7J50JJ5N0V05YSKXK9AE5SSZBCI4FUSTPZ8D6E7FBACJPXFF4R0B59LTV9D3HYYSCVM6MVM637Y2W0EBK81A7C1RHE2MY9DLC74DE2A97VKYW45DB04JAG4UDE304DWODH2QIADXDO0256VNPJK6JSZN25HRYF8OHZNF div -36#2IUI0G8LJHEH6XNBQSNTM1SRH9H92L4G9KHN8K28ABNIM7O2Q1BS8TANUPJQKCOHP4RYPZJ9K1E604S6GI12G8D77A5Y63UTOZ1UTTUI8SDKPDEWXJU3CG0OIR9SVN1ES5V2264RJ6PV7UVNRT9KQ89P78S6A78S6XXDST3LZA2270WAA19E5HB8SA5RSOZR8QZQNQJPZJSAZ88G67R6IS65SFXNJ5G98URBCNPF8FTH2FAOBVM19OZDE0KUQLJB2GNWMWDBDKUBP8XDQ091OH4QHIRH8UJGR3I9OZJTVT0LOKM2SPWFZL0SDFA3RJVYZE2FUW2OWLKXPQ31HAVHAX0QDBL4U1N1R5ECWUCP1G59KZOMGUD8BD7CWBYKRXDOR9QV32G6K18NIDDSRFY0M1NW3WIUKMDF05HW1F30Z23M1BFTYAF6VT3PKMYHY6WLQJBIPLARD. +-36#7FSK0SE7JSH1O3SZACWZZ2PNU2BWR0P8H3IB85OP5UYET0JWZYSUGUHM9CHW9JEEDRVQLLAX3IG5HJ8HYK9R9133P4X4DZD2QE0WZBW40DGMAH3WA0XFFJN2E3HR6YXU2M04YQUKIGDM48NMJGOVKNLBUJX6EHV5ACFMC327F29UQSPCWM3U2D6AI5UFUECEP9EDZZLTA1REJUJ97J4OR4J2JR0JXKN5XZIQ6X4JF2DPB73VSYUQLS9XFDV1CPSC7ZOQQL75TF4WJB2YJZBSZKLCKD4F4ELC0UTAYAA3LMEHJFQW535064OL52GHIKF85Y2TYC58E7NVRAIF13GURUIL6S2HMXNHMWV86SONRX6VH5SWRU0MPZ4407FQAN9YGNR5BTP6IGBSLC8K7SSXSJ0XKMWEOVAFSREGQKF0UZSKJQ9FYSBOXPXPNLMULZQDCCMQQ95R1Y3265EF090XL21EZM6X16BLRZUYXRGL38YIT5L8BNT7F8FE2W350BNPD5VAWZE84T3DJZCTL3X6T12Z2CCVGHC37YL7CLC09WM2O7UJPHIES1EQ7W5YTS4P9F26OTNROVFJSQD3KGV32TG8ZPR4G24CIN9CA7ZK8HPOZ1292IF9189GNPO673DKORV7SS0EDISSZB82ULMB938YROE8CAK8XMEXPGE9TF00TU89EP20M0JWMDJEFYWPZIJG81IW0VU2O4NOX = 36#2VM4P0QV4ZE06CIGMLUJ5FHHRYZG7NRO8A41BX5A0BTO11MZEOYJQAJRTFXSZK1PRBPSE6V8L993XQ2W61BLK8QWDIF7NJJ8864H8DL22J8PIC75OETE11B4DKOXSV44AAC0Q9GLQWUSZ3N6MBACEP26G8FPUGZ0616HAPZHR99D7EBMCEVFXCJQLUTFVZ544ZMUKT48FROPCMCCGM2MJVIHNX9HRURRCN32EO2BL5FGGJL7WTMTLB23L39NZUCPS49BM2XUPL3OK7MVG1O0SGQSHHGEJB6E4TF3O33SVI516XFGDLU9ZDOVXV194UQUVABKNIJVO9PXCDMYV67Q55HCAENNATOI38GS2WTGU56DJD50GAEWJSQCLYY3OFEDVNUVG2XOK20VI0WI9LBPQ3XHZSHLZWZ4OTZLWU1ERBAMHKMM0QGQK9B02EMLE47D3FH8T99J3UHFODWWE5GF5SQZL91P7LLWUCMTT8S0N3ELE8F0F1I8NEOT24B96VP35PGTWWG8CYBY993TUQUHRVA8ZT607UBVXKN7GR91NG3SUMHSOB7U9Y30BJ8KKH4K3F51342O0NDUZ51VZUIZY5LC112UYY126LM14K6QIFW2IGPOL4PKGY8VDLO5RY9EDXPO42IKEP5PEPEVGTX2SEFM9RASH5E1 * (-36#2L1IUWNIP98LZOWJCNE46FG0OSVZXYHCBRQQROEMCQB30QJ1UX). +36#1QMAX1VP99JB8QI9FZNZA92SYVVMFC18I8MX5SZJNFBFF3C5X5GGAKCDKDBY11M5GSXI734OALCLURZ4BYCIOAOUIUWI2DWY6A9K8E0RVGOIW1N7GWMAIPKZ8UNKWHCUSX41YADWHXGMPY3VOXYQBXPV516VWPIWXYE7JVDZBM8QIHIZ0LTV9FAXQ6CMQL5LLNV93X6SSVNJ0PIRADLEYSUT35DBKKBWOJVVQK2KZZ80M6X5Y5PMPP2YQV7W2XB3MBKQRKAVEBH804D7JAZR2MYSZS15NR4PMJVUWQ2VBM8J7V6VDVX5LXZE1Q0U2EK93DW1OEPE8C1EGVJ0U56TAVWIA8OW2WTEGMQEBQZRHTC4XEJKFZQ6JCYICWZCNGT3W6KG9ASQTZ22VEQ0BT22I9FFZBCNRNMNOEOZRYHV79I26LYUV5OWR4RS1A9CYUKPNXND1LGUXPBTVL4PTS7N4HTLEJB1H0G278JJ49OIXHP5FYUO2DZK = -36#12S8V18OR3EADYJZALNX0ONHN67EURUCZQLIBWN3L9D4V6XFDQ1K1ZBHME6A7IK4NYDCY36NMHGQ1ZZBIPJDOAM1NM9FYQ251FXH89TUI1BIMUFYC8UI45EFL68X893TIIP6OMWQVNBTYHGFX8QFQQTBSK7ZVBC1CPZOGY6JOAZGYMZXY96DEJ233VG9J4GZAQZRI5Z06C2V90EUPNGEXT2ZBD7ZIH66J5PJM7U2GMSTB926C0XEMOYTA4PCRB49J5NK15CC9W8BPCGKB5ZI7AK9IW87UG8NHQOYBNRGA5FWB8TEYDP46IL5O6Q0BVEPA464KDNQCUQR3GAQ7VIHL9HXQ8LR0OU8Q5CSY1OCD1HH05FQCL9YC1Q935HBKUY7K2HEETOGY5WE3AB0KSRB2T8SVKA8D1G14 * (-36#1M4G8TWJ8AQZK8X55Q8SIU8XEVHW4I3EVJQFJSA0XKV26FTPTDTPLC55SOY1GLXXXG10UN6NG1MYAQSA995E). +-36#VUOUISPYA6KP2W309HUL7PEL0N3VNJQIUZU2GGY8VTU5CQ9K1 = -36#71UTKXKO2AVKH53JY00GFKRZCF278SS17HKN2SEO4AJM98TB9IYKSYFNMCJ5JY2LUREQPQSMC0D5KS6GDRFHYZ72ZFT6FP1EU3J8QVGG9CNA4R15IZSME3O5XDIPNDNELKYXCFTH3JRPYUX16D8K76R6M75EAYFHB47Y2UPAQX86RMV6Y5KYFF7P38PF2ARUTO06X7ELK65QEI5DRY7UP5V7P56BHK8V1HPSDHH06SGGP7KOMQCEO3T2JZ0XYOGG0YS2V5RSWAT0BDZ9NXMR7633MTGU33XDFWXE8ER237QWV7BYOSW72KN40FAX7JQ39KM3DBFJTB9V326YJNKF41GQ6MD6E2A0GLX8RZ5UAYTC4ZGB1VLKZ2BWOTID7OSOEMCN4BX1BSRXDC9WEN4C56MFWIG8BF5LCI8S6Q22TPP60LT6IP5XSLEQRLOLTAJB38BMYJ5OSV4MHEVMXD05G7RR85UNXDL10CE0MP97ZBDNRGEXJNHA82EIVCIXX88Q5QN7Y13YK9X6FNVL5YZCEZ32S60TTMMNTD94TP6LS4QQXL0T2RS07NMV51TWQGVE5V52KTDSSOTIZIV83KYLIAWK3QJEN52PG17ODAXFJ9DLE56YYI5ARDUBLJ85H68VUI6Q584J72UGU61A7M2P5ZFBRFWF0PKS3ASYMIYDW69AXI0NP9VN2X4ETERKZXIGLNZJNBX9B6ADFAJ0601G4AUEZDKPZLBM5VW2AURK9A4D7RBKXVFBMYXPXEBARU8S95GK729ROMFTL5A5J82GYQI2UB2DKG3GCWO54S61GHASDQWWSO4Q4MZWTBB5X97Z7MXMTDLLMKEF0SBR5RGFFKTAPGEWN6795KWW9DJQ3NURDLFPZJUM1Y8F89PHOPAH44ZN8D15HEWGA4ONGWPGZS2P6I2LU4CM9ZKNKIJU9O3Z4M17FJOEGZJBFY7MRQVULSQME7HQIX7MAZADLIFRHOL4NJX8PXKUVEYNZDGGD8BNE7OU2BJWG9WML57Q3AD4A5OMA8BBSSWLR4MSI7GIY87XHCN7GINU8KKNZF0RWI0I1Y4Q4I4Q8H00W0D3TDUH3UO2G5G9G6Y885SE46OTE2NIXHKE7ZBHGW6MZ6XDBYFWYS24HLTQ52TUUGAKUQP192LXZRHJBI0927WQMEHDY6DFUNVTQKCDCSFO32SJL5M8H22H3TLNNUA9VGUL3QW0CXON00U80ZCBHIHJWCKY94X61Q5QQ0XEE3WCR div 36#7YWS52UE6BDZ4IMG7YBDE861LDSLUUQ44SN11SYM0Q9AP7AG6DDI39JSX8U933JNR7TNCQNBZUQBQLBNBFPWVMHPD800LH0CG9AO2F20JEC05I4VA0L8JWXXIPFC3DBBEIILDQLUWZI2VB4HNO5IHPC8FITVPV7S5HRV41O8736BC4HWI3YHW0R93TTYVUHVDU7OZP6LFHPSTU14NVHQ9S8NLQNZHV8LQ39YI33QXWEKV3G0XXA69VZ5K4Z4S684LEX51B999WYV3LJCA7JDMG2V372NKYXNEM5BE87N6VN6NGX0XN4SZJS8YM5RGR9IOPQUORCH281XXWGZSGJQF98WWZCZBLCCZ52D5JXPBFFLQLG7KO4M4V7EGZT2AGI9GTHA0WZOE9ABCSK2SRY2J6DLRU64V447H2S3OAM45LOYOTDPMF56NOEW3GHZWIDZ4N5EJKWTQ45SBZJ8QUM2829JSY2UUD1WJW4BNNVR7898CN72BC7R2F7U10ZBA8BJ6WU4KFN8LOOEOR580ZMG827S564IOL3K7R883ENN5VZDMQYCS4TSMP24EZZR1YGNX7CT18RA48VKDYE2CV87SM0D8E9D80XZJ3QS9ZO5JQ6V4L6EHWPQKRBLKWAN5LF5NYWZ53X6UDKJXLKMG9LGHEF2BW59LZ5SKIOFYAS9THP0CQAS33FZ5DS9ELIM8ZHUU4WDHJTTDTKINZP59ST26UNCZMUJQHPXFMK983S47N08DAGUWDPSXXMMESNFWNFO9VONV9I6M6LDKGVSSNU6AQW3E5OLP0PNOQMB5GV67KI05EIPL73TS18HVR6TQPN688MBCEUS5FZG1XOV4WPG2P4LC8PZ6ZTSXIZ92AQMCI7MPFDI7UOMB7KERYVOACYP0QCSA4APVZ1UVD1TYWEP7TL9NXJYXRYNPFBC4AXRWN70X3RU3FM66TNRS34DWT0NU8OI2UQ4EBIP9KFVKTOBY35TAN8M35N7AZ2KYW4ZXCYWFRNZO8K3G9IU2HGRSWNU9AQ1AE5GPUOCRGIGIBFZIN87AJGCBEGC9P0JUGUR93OWKT5IR83D9NQZKBP96YJ286BFAWO0UADOD3DJWCM0MXZO34N4D6HBRLMCI60PW53JVIQIFRT94887LJWXO1JLJEGAQRY9KAVAVPT775LOGVX3C8OC31FZPHXPC80P6BVFZTYC42CR. +-36#RZMJMY68LB66Y61DRSKDCDRJ7KVG0U81IUI5M4NSL5D7JKQ5DKRGNIDQW9IQ2GPDTDMSK91VMOLI3PEWI7BXZ0DMDNL508XAEL3Q3W5Q6GKM2MSSODABPBITUX9LD51XYSXINWZBRIJ25XQ67LHIR8BR1Z8EK7Y6YDHW2HHY2LPB6YCF1DIPBXYCT8ECKGUHV9W9QMT1UMP310OFDJAAXMVE2LAPKJGN4K07UAVZ6 = -36#1AZHQ2U3CIBQAQEJO09FCAGNECOGJFETMKRKRRIU8PUABPMEFOE5LK4KZSN6ZKHDYFHYBJB98HIPG2SGIT3HUMW51Q1BYSBKYEGP12WO1EBF9JFA5SK3DNUQ3J0QAIOX54FC1978AX72LYY9UAC9Y27FOSEYU6FGV8R3YETRK3LBSA9GQ6F07IGLOYDX3IVW0U99GPL0CM8HB0IAEVC2KSEFWQY4IC61AVOB96ID18203VLKUAMBF9E4GP6UJY2F5KS4YEEREKZ71HXGXO0MZKK3AS27HAPI6DB5JJGAK5N1BBDWXYUA0XYQXHV0WHNBPAOS7Z3UYMOOK2G2J0AVV0XLDVTOJVKQ5KYUV4AZ7AY59ML1CZXNX5YDXWI7GCI0BQ55Q85VKRHZD1FSVEPS2YRAVL27XZ9EAG5QA0QU1XW4YK61Z3W4DNE5VQ9QKDIMK6C6T06HC9G5OGTXK2O3LSOLK150XX8O5C5US4Z7VGRBU6Z1RCAPHHIN6DVBMPKG0IED1HVID870Q949HDL1NH1CQBGIQH27O0JPN6YAPEZJIE3C9N5TZTWH9Z0XQBZCTL2J8YNVIRQFW9B0UEDP0OVM8DS17LFW65LMESHMP8XBBHD3NBZ94DDMBGSA382UYQC8FAQV9XABJHYAKET49O9WGXRWKRX3LSCMODU7YTQZ0V7KNECFZHQKKLUZRW1AXIF64AZWF5HDS8QAQWLV8DDSE7R401CC8QG46I8JHPZH1S5E4AV5HDJFJ72HX1UPB2HLC7HQF0DBDI57B68PYTR02RXZBVSSSHCWXOUJ7PB9RMTPSR7LSHQZZIASZH7GX2480PKESMDH0D0EU7TZ6WL1RAWN8A6ROZ0GVTJKESALCPFR7VVQPM4JL0DFINQHRLDQYV4IJMAXGE6MLZPPRS017MXTQNI1MEHHMXFR8HXE1H8U01PHM3O8YZB16HDSHQ11WZVV47DIBPCM6RCB94XIKBYZLILMWPBUDSGZC div 36#1OFKYXQN6A7131R0NO82H7UJUPDI42V8V4519JKF2K9UFK8TKMXPBPFAWDPKIA3NWMFGOEJXKHU7DMBGKMG3OZZU2ANBWM692B49YU11AHFNRQ3RE0EVCV6ENP2UTT8TRSAT4A8K7MYL8U1YZGL9WIA9UMUHEQWGH9A3IALREAUIFBX83HQO1WMVR1RY8T1AK4TQ1PLNLKJA1NF0F6IQ0MCU0ARQCKXQEKZ10FMFA1OSIYW8Y55TSL9EPIS3IBFFHV5NB5524Q9HZ05EU2G2DNJ1RZD1KQEBZRCMY2YFWVESH03GLCHIEW3N624G851GUIQZHMTFI3CB35QUHMKFWI7HMSXC4ER37UIKSD6QNLCLGZSINKXPUUB173P9Y86CIQG8KBKYX63AHY70IEBJWJ3VDZJ86X1IR3TA5WK07RZWN1PW1QJJQ3LM52MWEWRRU2RYE8XTJECW4FY0OQ6OE4M82LCYJG0TZAB7LLS29SK5S84JZHFX74HJD5SGTV0P5OI3WVBF3J0IEGEISMD7F809I1MJ8A8DE9DZCXT0KG0JOKH46CIAE35T8B92QOOFSO41RNK4H6VLG1KLG7TFJ2OBW98TGYOYZ0YU339RDUXB002YB1T31XB8ESWQ91B7WJ1KX1C4LKK766QB2866XW3K9J67H241EMLCO1045DLE09NCXQ1KNFURW92ZVU4BKNEIKHPKMU6P7H2D035A11AN8T7B0NZHWMPANV8Y645V429LJ3MK038WYL5XEMD8. +36#6TC8QKOB2SYV2ZZCMARK6OC7V9U4KBFGM284TJSG1RU4SDPPEO6YIX1D3D596GMU5YEHMN2T6VJLXYPTI29BFK08B15WN5WQ131CXBVFI5ZBWCJPFZEPR21N2M91SIT2HDCAZJO36K8CE8NUIQ5S2UEX9TFT3C8YZ3BNIP91DPB92GGNCW4N9ZIDUSTYUFH9DADX6OLU2JU9ABMH54HK5FL90OP6LHZLFRPDN0GF7TJGG6XYJDFPEF8J4ETO1TP3VVOB9IX0F3ZJMAMTMEY8ZSLS3LCWQHEUC37Y8YYHRGW6MH3BHP28I84YAG53JVECWSUALESFKPIGLNZ029E0Q9A1B8023ITODHMC38TJEUQCZLQLKJTRNKYT1EJF6XLQFI4IGPHSBRS5VUUUDUHF8I3TISTFV6X82QE687965NQZ06ZI6B1KHO624PYZ2P2B79CODAHONICYK2RTE56E70T9XH22M0WOHGVS8DG3L1FMS510Q0XZUYFFQJF3JJPIFSK6GINU013AOUUX17Q8K84GDZ00LHM2HJPDJW5MDGVTWT7ER3IUCAA7TZCA0IBLTVKFUZPHW0K7IY2UN04LBXOIW95TUB7ER01J18NA6OY2N5P4NX9J8PHCJXESZY8Q5EOVOC2DAZH2OAJ4Z0CM3CINUMSOVQWZ6SAXTF2900RM0EV9INC97VHJBRS5Z0H7OLQZWQ06IPUL93XS9H7O370FXXKPA52TQ1VMIAER0LDF9H39XGQD3G59HYEXUVY92HC1A29Z5NY76KNG54P2F00CEHBR1SC5J4MU8AQFXK3WRDLZWVBYRITFKDEVHEGFIXTAFIKYRPWLB552MNK84VV8JX40FLI7ISGG9UJKIZ7SFC5PF6Z83LMUYFK52XQJD4MJCA831JB5AQRVM52RTIHZTXGIRH3EX2LM10GCYWUX9OYA0WY4TDCWER2HI9Z9BWQ0GYOGPEN2CDIWGZTDZU4QIGJYNEHN276ABQWU39IOUYCKQK7461QXVQNLLJWLI3WCRCXD2OONRFWDDM28OILHQJ8IOX78ZAZBES0AJ0Z7KY9WYYILWMSVQVWVEN19IDF68PCJOIQE125GQKTNZRKBWRVM590LWK0BBUZ0TMMA5SZ7U085CYI7HG9PAICOL6UZPQOX9G83VYK5B7H5H0C070V3IK8GCCH01OB7DVID71EEW89WNUMP65O15BSEP5PS2AOEA5AK6A6MBRWJIIDTT6NWM26L7Z06DL1WAG0Z6B34HT7SDRO6XLTT4KXQAHIYBSG2BPWOP345OMDEVN0HL0QHTFQTXLAUA4AMQ1FO8M1N9Y4MJIDN4BARNBTVANB1ODXS4HYH0QS7FLLCOLL4CTJQMKWD5NNZ5J4C59C8N00YA0D67WKW0ZF2WVIZSHF3NJK00FFVYY0ALSALER660N8ECBZ1WRHY8NH285JJ55PRF66FIYCM86ZXVL9FZ9YUQFIJUAXKHGQ1H7C7UTCDR0EK9CCW1C5GHN3MD68TGTHLONE3RPYUUYO9OOFLOITB6CC = 36#13NVWKN7MIJ1YM2WCOVR3L1Z9LEDIX7IRB6R6ZEPYFH2JEHA38OC519Q2CIA05P3860TTPGFIC5NQ8MBWNEJH5YD722ZQ0QEVJL9BW0YB5JIWEFQRLCHN17DYFAZKLMHL4JTJ0URIV5QED6DKHKL6X13NB5IGC2H9BBHGKJB2UMIZQTAB2KW1IGUGSY6YQR2BTSOOXJGFUMPEKCU0PTAX4SFDDI10CVKI3HVDCXK4T22AZKH6VQ36KPF3WIZB7I2AFZ33KQPFGQNNL0CXHN57GVSGEWGB5IY7W3UG3AMALR5GDAPQ7N3WJ57MA6NRPGM44T2M9IQZT4ZX3AI249QO8XETS9JP4KFPEDYC683TCZXD8R27J50CJVJUB98KK5O9DKE5FVIB67UR2BK2JANQ772JFQK90XHHFILWAPUFJF8PFL993WQR9712LIQOHTZPN8GN0FVJQ9DXKA9547W2J397PF2WSWKGET7V7380NC8YEYC5IIZR0FEXN91QIVK9PLZUPGUW6TRR3OTVAH1Q4PHZDOHYFLYXAEGO36RBG1Q7PNMIGMUT6 * 36#66OGECVD6VMKPA8JEUZGBA8UAIIP9YN3UGBMP81764RX0NX4PAPWBS89TQNM7OWPS089SDGRYNF98BT4QOFGPF9PPL2YLAFLIWFKUC2UDWVZTVB2OU4IHO7LVKP5DHBF2JK1L1VL4YUTW3KOPPK7LJHZS7VUX3P484WE7ORMJ66KTV1GX5Y342WBAY0PO4F43V64QCBPH689PUGAQAL1X8JVH0O0DJSTTU2OQHWKO0UQ6R3DZNHNTHBHNHSL8W7IHMGKL4Y35U4695H6AVMHCDUOWD3FXESRAHZS1S4MSNKPOOTO8C1TG6YT6N3EQEKBO2UVYWZ9GCYR1YPAQXG7UQ7BGTT1VW7U329YS0L0S75PQS7PP837811ZDQ7SHTDG59H9EEWY7N87HJE9IANFN361VX4VJZ3RC1CQZMPJHB3P6W01WNSL42URV1TRGOR3ENWCXQVNZBR7D69628UR4WQQJWHLQHNCNK16LX0ZE1VR5DQPEXFEQ2NAYG7XLCJ3PR1G341KYYW55SSA0YCMGHIGS7B5C8NRACC6A9XFRP2W1EF742YUC0C0BFH6AWXCEU6KPONJ6XJZIM1NF6QFNW1QXQHFMFTUILEKA9TXXEH1747JJJ7BRRZ1Q9X4TLOCSRQIWLRIDF408KHTV5CAT55HALOIINA0MBRW1ZNPVOWRI29SP4LN9FDJHH2VKHR9ULN4G6YG5M2T4LS3GMRW7WU8HLPKPW4DL6RSJIE141YPZMFI4NM16E9C695QVE115YBTTEEGCLR0DLUETECUY66X5SBFVED155IZG2ZM33XICOKYWG9N2DBQ0MNXSE2STUDUPC9KXD6DROWI2I4GX68ONTLEEYQUARLE8CGNL25VWTTW2KHY3YZYRG8R7DKQ9MV3UXJVVM6JZEUFZBA1I9SIILJQKMOU2MVXWQEJQE0JSRXGNJDX9R1FWM2R1NIDFX0HOBBBEPLJVUM26E. +-36#2YKSU85QQOK13Q24BGXJB10TYHJAP201WN9NUM8O7UQZAJ5R2Q = -36#55K22HOF6PSKYR1DS8WCO1LH5JNEY3FZWD5G2TO7HQ9OEYA2X9IXGI1139J26WFYMQDUSQKW0LJ4XZ2LY0PSWAVDI675B80HUZEZ3RJ3L00MUQZL4PX32ILQ7C7M4H2VFR2UH40KUKAZKZRM3PS6JKU606A2XAKELMEL2YIJIJM1QD0HVM7OJS6VLR2MNP35JQ7J8U2TULLL64Z6JQG9DIW5MELSFPSRKF2GW9WF1YBYWD816DQCVBD8FWHR0MW9YTL901QJWRM4JG7BZ5EJXJMKPRVNLJMIHJ50NL8FSJNX0WD9XCFZ80YU3TOWW0J3F395X3CJ8MX8XX3AHX617JDACF6ZJVK5B434CX597YTO5QBD7VMJEBT71YWQSOMYC0ATUZQP1327FZBMUK0W7W87W51ZSTHGLGWU4ZCG9HJOVWUHSNQ48WUCAGIOTA39WU6PANHPN2C0T3KBMOIA3EDLQX22RQZBYMTWA5FTAIKQ3MKPLPE2C7QLX9XR22QOOTIIJVBJAANNMA4KPWCKG2IPZNFJ4TE5NGCVMBCYOMYWPGY2CI5VCB0LFPRZZIQZRM4U5SW3QQ3RRKGCA5FG4N39JMA2G5CYHT60SMXVN3J9OQJ90C2GLRVC7F4D32NFA03BS7IDKM071WTG7ZLX6AHG66DH06FXYS9GZVXMBALR93ELY93AHZC17AIRDUQXYN985A3S72O3JMBQSMADB59ZNDRC div 36#1QOED7OM7ET18J9P3IIVNEY802L3TZMIIW1P8JX0FGXT81MA3S4K1NKHQOHGLOH9NGGPGYUOURZGAX6SND2O0IVAZ81H4I67LUVED012R4RU7K78UBXX1Q9JHNDB8M3E9E3O80Z1TFO7BD43ISI924M5S6EF814KFC2JFYMD2AT8T6M1VBQWUET4U9RT2M6LVES92CVSCT33QV8IIB2GQQFY140TN4XNRLWZWT537XLJHBZ8TN95VQHGFUJV9M2B29X8B3HH6KTHXYBY1DSO6SA0G90HEU13K52S19LCBVG8C8US7M6APFSD97M96XSW9XB89RHFD79S38X0IR7IKWXH5F9MDKU6ASY0GIWZDN4MC8QR32YQRVAIQ4CDS7KIQA4JG0LT8PHGD2AUNSKTD24IE7K6LY86V6CTQ6JL8AOM3VVDCJLVD7T9HTPUYA6DYXU0DPJ3JHE77FUUAMC0D6173VDGJ9L8B67O38MIEY5ETJPTS7VRC2Q8IAGX0HJ3H6VKW2EAKMIE4Y03SF8ZAVGBH1ATSQ3Y6YPTGIMVPT6BPKUQLTZFDEUF848LJC49HQQ6IYBPX7IZ4BM7Y18A1KLC2RUG6U9JR4TEFNNIAK793QBYDOACM021CR2EUU50U3KB7BYZLNHHQXPI1QRYTEFJQBIF54BBVCISE1ERRBO. +-36#CF06MOGWEZZ48SIAKFS2Y9E2J8NOCZ2EHJHOHUV8QS0640O9UNGMWAV32MJBY5WH62MEV4XZWR5D4GFRXHFFS571FN8ME4F3L98OXP7AA4HUNYN4MGZ2IU6ITNJC490BBIFUJQEFTZZEJI3ZZ2VQ99WE9HOWQWGB5YM77EKRQWBDVVSD9E6MSOZOVLGI3Y6OPBIEW0CKQJCPG4TWM1RCP6ITHCODKH7DMA57QRNQF07L82IQ76CMRMMKJ5HKIF8N98L3ETTN7RRHR1A54O5NXH536LFV05YK3ODVSWMC2PHU8B6RVGY52EGAX2YE7XN9UGHMJX87H3F78XZC91E5ASS8X2IODDLDG2YL1W0GDURF616VF2Q5SKRTR060JGKK9BPS2T3D5HAIOEBSYH08JJ1GXDTEIRGIL7U4045S2150EQL18 = -36#1OTZKTW43VF0XLJTPWQUWPT8HNMY8TKV1FD47KIYAB4OVU6RIKRXBZ52JSIB7KMV74X50T4M95I6NXNX2BVANYR3UV2YMJSAF6OVNWYYFC3PV0IPWAQ9ZG49GGX421MANV502BHCEOYROCWKEMAH7KCF7644H2QAN9EFBPJY5Y3ME6XFRBF99SSOGH3HV9K6QJCFQBQW60WSE8S8JAWCPKVMLHHUNW9YQUGEIYAX36JNIJYNJFOUEVDKITZ6UNHLQRBWCGLC5CQCEPNS38L4N5KF3ISAN0KNC01M4LS8U4726IPFKTG97O1MDIR9OIKE075F4DQZCYB5Y4SO5PUZZIPQWTPM6CB4BTZH6IRXR2FR1BB6ARSLPJ98BV99FRKVYFZ9939TR8JDIIF09AL63QB7W2YFNM018FNKRA6SHXF3U9DU0MAODLTGXXAA9Z1E0DGD5EF55KAI1W7OVZHQMH6GC6HBI900OLSOUMNWYHIPOJ7J5H2QDQMWECEUMDU2HAUK93IHBPEKAY1QR3Z1M0UMYDLQ5AVAGT04LMAPUC4TAD235IGJ5STS3MHXI9T7QTWD8E8X6Y3AGGMXRAJSLMVJVK78UPLP8ARJ1IFXBLWCEPDMJA3VQE7G8G5XS20DMQD5GW0NB0HAAWG2KNWVDIB39250DUREPP6U61A6FAFT28N7P80NQHZ5FGKZNB2P80L1XJXNOUQT35OC8I51TK4SIVHZ4C80ALCGGBV7BDDCV3XI6O1Z5AP47CHA448VRX0SVQDWH277Q9M0KPKPDY4GLBJFZWVO4PB0JEVFJYMCF7BPBYVDFNR818UQ9XNSPBS8J181W9ERQ077H4OQZ0NKMHWA5I4F0W6H9EQ0NGJDMLY9YXDEFRQCI1ZIUGIF48HOFFPP6XRL2T68GBQ94L4CYQKJAQ6JCHO2S7F9UW2VG7T204R49ZYXK9D0II3MN30H9OTAP49H5TSD0MBAN2FGXS2ARTMIN2M5W3ZSQJS4S3NZTWR5CB269OBUK033T7BNK5AGQZ1G9XD0FJ6NF320LZFJKRRIPNUS div 36#4WDF8ZE7US7YDQ5IILELWJAASHS4RI03LI17Y3LFYC2Q2YY4R7DNAGTP8MHEPVKA1HNX8JCUD6V8NJXRUZIS33P5I0YJMAJ6EY5PSPPVEYPRM8S5AMQNDW0K0JPKZJMJPJ64HK4MN9XB4OEZP2E9MQFJ6V15J245RVHDH3QD88T3VUHJGT2FSN9XCGYCU70V3EFTG3E1T3DZAPOR2E24Z50COSMN734DNWTI4ZZ2B633QFWU1LHGS7XW18ONCEHS3RWE929LB3V7XZJP5SIQQYRRJLI4J0KFF1J055VIXW48FVZ9MOEWFK6S0ISSTQW7Q2TVHK6JQU57QNJC1XN9KYJLBFJPF8WMU1HW6LC8LIABRVIO6GF0P8XPNZV7BTU9AO9U5PQ8OED2W0R930V3V2VP7UKOLPXPCDTC6HI6N01NI0893UTF7D3MKV3GT060INLXWKXY42INU57Q35MIBY196W093GE3ID0SNL0FB2VYATDLHONTD8LYOXHP7MRHTDDVFC794961JZ2BGIRV9YVYMQO0IG3SPWK4CTWLCFS0KM9G8LATEE846TGLBIKEXFC38Y854FSFOGB1G201POY5VCLNUL2O02A9BB5L8I932266N3Z. +-36#10HPKDYHSO986NQAV22YS7GJA8Y6ZJW414YV6R7P4DRDOQCPAWKOEGG56IPQ0HQ9ZU0LSU1UYZ7P51J4BNDEC72PXTRM8SBD4F9EUTOZ0SN77AW3ZQGXPWSIRWEP7QQEY192Y50IL8D21ICPLCT7ALJS5D0RSLJGH2PP33W7SLPQR4INCIZS6XE3LGZ22HY1537WJGMHOSBT563WMANW3UMRJGLOBVJADZTSZ3YVLN86IK1WUI3V6E8OQFKFDX1J7ZHZB00IEFU1MN8FEC6126YBZDDQNYQ8T1T1WD1YB082EE5WOEO4O60JCSWZ8UCGKMX79P7AZYSFS9F0CST1CN46QF9F01GNX8KTRFTYLAO0ZMWU4AJAZDNN5WX58TUYWCXYICIMISX2OKM7MVXQ6RFFAVKCOYFFM51EFLAWSGRVMM63W34SEHXZFTLQL7R6DUN54GK61VJ8CJZMI7T8A506DAFN574A9DEF8NALJPRNJ219ALXZISSUXGAP7P2Q1JT3YBRX6PNH7BN4W8R18SC5OXT1JJ8CI0VJ42SFTNYOMO6FHDFSPQKRQZUGODFU890AVZMHV5PBM0BBY0VWVHPRNA9P65HZO1GAW0MK8J6HFZX09JXEQSHOL4BHWLKSM1ARW87X0EXLNYHK41LCDMD47Q4WR3PN4XC3QG2MWFRBSJNI86AAPVHIN6D9KIOE4PZHNPOI4WOALS2E8LNP4YVVC80TL6U84XR0Y3QLQI68JHKGJNCJZUWGEBCOWPQBBWGVCOZY5FG5W4LDW93FM7BSLLVSJ7IN3U6FMETKKQI4UE7P5UE88ISOAP01I13J1OLPSS0OOCTCUDJLR3ROHAHWKMAQKRKO2S7CDJ3CMWJAGVI6QBYVJIDNHQI743AHSJPRKLH3TJLBEFDCRFQUNLLB02EDLSC35CMB1WKTJB9 = 36#2IZZVJNEEWA90MMND64J3HLEL5A7N1ZT197O9QSF1PRHKFZDU704HIG2LPXA3XHE55W0TVLOGPDB3HQVNVABDIQ674ZNW0NFGCB9B6CU2CMTMO3ZQWKYOKS9FPH9CGGDPCWU7P4FIMKWF26AKGV6VPN22ROZQY3O1NEX1I4ZCVTN0ZFIPBC9XBM7PAAS4V6LKR57D4GJZTUQDNCVKRTA81JN15YJR3R79INCUSJYWO7QAG9EYTZXZW30V60OPJMRYFNYSLQF9WVOJB80OZ784QCA3QLYNEK08IKK5RHNMZV8KRGMZC9ZYKU06T8XT0OMBMCJCN6628QAZ * (-36#EFPK8T0WR6J9Q17VBP0NO8W0A25YPLWR4TOK7ADQPUXWQXCTYTPTXSRA8ZZ9MEUETBECGMKPKVB6KCU8VMAO7NTTBU9H4WV3ECFWS2MERPAIMPXAB3S08EPUTM9AWRC92CJSLAODDXBGARZIQR35WB773MSABJ2OSCOJ11GPS69FHT62TLC20PMB03A485HRT9UV037I2IUUSEG6ZQPLXZKEEHYIG8ZR7GA88RX342Z0YY19CRXX4SD7Z327R3R7MAXPD2WJ1YW83D00R5MFZC41R9SL4EBFINWJTBFZ0YGZ1K8077I8Z07RYOLT9XCXX1WD41830612P69LREXAV7GKOLWSN1QG2QPLYZU6S3NBWRZ0ZPP2T4JH775BKPV9E929IDJ048DWCBFVAUI1KCTHA8MV8I5UB7BGSY7OTX7YPJ07OIX59TQUEXDFNDXZWPR8XMMA7SZA56YMQKWLBQ6M6B8U7PNJD8Y2YS5CF8E9594H8YC69E5FE3IB51WM8OMXLSVJBU5OYT5GAO94YVZ91OTV5NA715JP7H9EJHU4EVA5V6Q3YZGDQYM9DLFXC6IOX3WEE49HLT1FQLRUNBFI53L9XR). +-36#FX84YJW7DUPLZCYAA0KNVDQLF81HNJAJ7BF7S7XDRGBHRM4I2ZMXTKD6BH8VC3YDB5I70LUOXD1O5RT6SJE76SC1TE9MV9E1G90W6AE0KML3BZ1L1SOF0ZZKWBPBE = -36#196MHWI8WKOWHWTL1G5974M730NBAVKTTSR5Y4L2BDACCH51WV4CHVIFSPCIV2Q96XISPZCGMIFMZN0T9BLSN3V0HI5B9S2QNO8S2H9AEXHNENXXJY4Z0MPXAISZCYP6UCG7WK184K9JXKLE4UGK5VAULV6V7LWTRNVFG21V10UMFY2 div 36#2U5M7PYSWEAOQ35MW6QOU639TREJW9YCB7XMZVKUYE6KOUAMFD. +-36#13TJ0MQ1BR547EK5CUYRY5HJCDJPULA14OZI94DB0UR9AKM5K3AMF303XCL5RSW3F7BD42ORK7AYKFKQLSAYHUGNBX9JX6NNK5VLHAKU5X2HYPUWX4F7KYECRS85MWQ3RNA8XJZ4V8JKAHUUVJLUIEUDMEIOECJAGHB9MPIM9RJFS78P5SCHMNM1E6XYXLP5F54BZXRYA7UHA9X0TBTI77ODUAXOTT1EXAB5 = -36#2YCIS05NOGYD5U2GYLI5KA913BC6SYC82DNQTSJY1VVBO52DW1 * 36#DH9L5WKN93RZIZOII96HX8LVKLEKQTHY3VA8S3DVS2P8LVOK54CSSFBDR44QIOI6E1D6WP0V09ER0J7PV82GBA9P39MGK81GDJJ6FZURAOMS0D282IZ5NOEHJQEBOK8H8XV7XYY0KWB1CO45RFR34NPEJ71LFEBYKHQQ28B58BOXBQQSV5. +-36#NV2V9K1N7TZRB0GH9L9FU316RM8OWFV2H9ZRXBBF0XCJ8OFB953UMXS4TSTDP7GSDKAZ60OO6YDX2YOW0E6YOB7468CN2CWQT3V1CK5ZNPCQSPKAVMQHJZLQQAE1SN07JESHV3LHWZL2F6OT9APF1NWI2OB3MQR02ILYAONV8HFGY6CI75ROXWIBVUTYOMJVFJB0R5JH6GIWF8LS137FFMKLLHK1YTM2NMLDA3T7NFKTFZQJYHTLOFBDZ4TVT3X1A9C3TABDJUHE0BI7MPXXCIRXDJ2C2IMLUQP1HVB2820UEZ2Y3R2OYNH8G1IX9PSRZ759U76NMB7KTXREP58COM88JG31ENBLAONLD96SSZIHGKPDEK0VGRSTYGV2Q8OQNU90VI12HLZPHVJ512LTZGR6C8Y7PM8CFCV9MWXPZQL4CD36J4VN5JLW2TDAHMI465LEDZP9CMOCEU5JR4LDQPL2Q3KRR2AFQBV3UE92PXR9YMWH43QRAXZYH6DV49G4GNZMJ7GM1EG2VKT5GXUQR8ECOI9NBKALLC2PNX0XI0SKJCEVW770T5AIFM8M6B3N45C8M17MIJTPONRE9XJTGVQD3IYRYEXJBVQXTF0GH4UG2F2Z6UEHK6LG3KL2M7RWRQ3NHR7J4SS70FHHDDYVEGBXHYQE = 36#20CUU2WZKJEBRP4FWTYCZBJ4SM9RD6CJ1JMURUVVW3QMJFJVI5 * (-36#BVF428CK47MNQU0395LBVTQA7MK5ZDKGO7FXJ9T20L30K160WTI1I0O1IDZT9I6UTH84UI8EM261UVTGSMIMTPC46NW4JGDSDL7ZEZUFUQZSJKZGE3YLQ004X4LUXBYTBRU315SS2BVJ6I51GO55ZS1LAODKQ0IO6Q7MMG3UJC32Z0UTE1GMH2J6CJSWJJR2DUGEXJFAPA4TYW671Y265LVRNJ88QJ8MJ2OO72X8SVOYFH9W562CONLBQ9216EZA30FGZBVT61VIE1TYRU9MW0ZB95QEZFLYA24BAO2TVAUAQ49PBHXABWLJZEHL7Q5ZLX9AXNOZVMGTJ3PLQYGLOKR8WLQOAQ2URSMFDKE60XRWTI3QRM1J6S7J2TB4WBBPJZPNEQVRE90GIO60LU44RLUYTEMNSQT14A6YZNEBMMDM9DMFVNJBBAWFLD13MHJKXW1OZ3BQE7U0814O52IHXQKV9C70Z8HG1VG5QZ8RQ5UPTSP9MGIZ9CYJSZAJKUD5O3LMZK88WEDS17WCEVFUQ3FW3FHCEUNXX3IWRBXTWX4E33XNFPFHOAQNT93J41FHVXD2ABIR1HVDQW1K53D1Z76JOT5IKYH7CIHSMVLF55A). +36#1BOO3H2RB9TXR24JTV5A9ZKB1FU2IDFR074ZXYNVBMXA5IW5D0ODR20DBVFOWWPVLFUIXULND262K00QK4SZHNAJO5QQQ8GY9TDUBQ2Y9VSNUB8GT6DO7HUE30J71Z49MXJ1KSUIANWBWD00HQQB11OCAFT18RMMZ8G92VDIUS7Z26TVEU51T5DXVJ7Q3RAH3PWNUDTFLY4KMKAQUPYG3GCL0PI49UTQAR8SMU15K00NSRA0EENA8E462HBD1O5O53Y2OT60NGIXTM7UAMSX2ZJ88WLNPU1L7R0NWFAAG59JQAFUTL7N4Z98W6BVF4I89ROEMEPQ8ANLTK7QFIMKE3KWOZB0X3Y7OY2KOYZR9XLD2CC6HVGHW2SM22N3O7R0KGQ4IWYUEWPCGTTU8YECPZOMAS1HRITUEI1L05E9YZVZ280WLK5VQGM96EIJC2DVYSY9FZDM5VH6X75V0V9WV6B78NWTZUEFDEJN1EORII664M0KSK351TWYR6R3SVSRJPQWUZKG9EAT1MJUA19OV4IBOG3G167M4WP27VXNO7U7T0V0HQIQT8GOLGBGZYS7DBSZ95AJJ0HZ5ALF514PCBLK66XYKHTNP274H8K8ZJFBQE419WEEX1EJTNENYMO9TCDKFNUQ3572U9JCJQIZYF8ABLOLHB5JB1T476Y9HQQCG0WU67KI6DD51NIQDYKW17BQ98GY0JZECMQNZZEHHY08CLAVT75W1OTOF5S7GDRMZL09PYGX6HUKY9RK0A5ODG7O2KXHNDZIX1BWGWC0NK47HHKV6EVO9F011IFZR0SC52JV1FAIBSZUPOAVLU7USVLL6005W214TJG43A7FUDKZXU99X5K0MP92GWETBU3TMYQQEPV9EDYU5QPL0RR4LFBBRCNY3SE0HL6QZ7DYCBG6HRLN7DADVBAZ3Q14IRBMGZ0NKU3NZ72B1L7MYIAG4NJLL9 = 36#FSXM3XZKBFSVJWMCJSKYKMWG3V1M8FCAZ76JKSZ5R6FZJVDT * 36#30MH8Z5C8RTETH1AUUDVTCQOX2ZK7UP1ZCE2HXVH7D2DM6VJJD9AKOR954C0MIKU1BR4KV0PDMFWSQR2RM6ZZJJ5Z0RDVJ28STQSEGZS55VORNO97MSKRJH8RN76ENP5BFDXR4209I12P8P9ATG0224N27885BNE38KNFWFEL3ISWYLOEJZMSDMYF3LUPQ9XKH6KG76ZD9MUL31AZUSC2D6LI1VPFP82D3DG0QR6SS77YE6ZNK5EUIACCXMHRJ6Y7T9AS3WESIOWLTG8DPZFKLY7Q96KYK3MPA6JWIPBDQGFTTEFYG1F6Y39B5J5DQSQY0EQA5RF58BQT8XQM28I6MD5FLDVC7L92UXI92A6Y5U2SBPRDW5CHGA96FLI69K3MDDDV7FF288Q6QVK8EICT8CDTX9U622CMJVBHBA8MYTRVACU29PQI3R5OFQWI7ILSY3KUK9BVTO6GE7DVIE0AUPP8YHEKL27L4A1GPOBHQI89LL8IT1LMYOI8JPXTIVML3Q0PUTP4KQJ7G9UVAXOTQQFCFKU5YEGDLBSVLEMSH7D8599HDSSBSP38718OSRKGAYDP5LSMWMZ77MUSOX9L01PFQLMULIRP69NOYRM6XM556H3NCE6K77QFLDAW3TMZ43A2LMRDMG6CP8Z68TC5ZHFZ29P2OJNKMD8IVKY7K8V0I24FZT91S4DGV5L1OT9O8AUHW9BNUZV98D49Q1V0BF2UWCS282T8JS29UQMFVFMB9S5KVG787N8911I42BYU5RSQDZFJMA9JTBJ964L4YFXBA0WD6WPSR882HGGPLUD1HXIM07ZZB5OS30RPDMZWTGNH0E1YSA1EJAB9KQ7UD5YD9JIYHQ16KTYAF3V0W3BMXXDVWR2G17E88O440UHK29I45TCXVZF2X5728EUP9. +-36#GMP94ICIPNGWN9C7QANURM5KWEIJMUSPPAEQJ2X5G1NT4WOZLI0IJC1BAZCTOIV936TEK7LT6HIAF91Q9BLE2RKEK4HGNAB340JT7KUDS12MG53JQXGJC28MBW47HR43RA608PQSRJMHQLXAIQV1NOMPWOMP2ZXDEH9JMC67W9HSOD32LYJ0WYGXX0JK5UQ9D1QCWF49KTYT8Q3LK3YJAOVPMNGRFNUC1SGNNCOYO3O977HFV5BGR8QQ8IYALR9HV4JOGM5I24A27 = 36#1PMU4Y0IFO0O69TRBSOWSTJFZKBPQXQWDU93GS6PC2R6DCYQ6LH29PYGTCBZ5F5S2VHJZLIONYSQUE6RHJXZDW9EKLRIUR09EYGX4L3UA8U4JIF7LNTXWF5L8699TOAPUJXUUWS5DOO8ITDWTCJ2PHHRA1CUVOB1QI9PEUR5XVD2AYF9PETEIVTC55SA8RJENXZL68T30UX1A8HLZ6Z0PUDJF8RQEILZ9SKB6QMEWKOXI462BF9GMXCIKU8YLX1T7W7NWOU7L0PT1PS3QYE3K2JUC2VH5CRDDFFIRUKKP40HEJY8JAR3FMXXNOJX2BS18Z div -36#3PF2ZLTBOHI5EG1Q5H2XB7I0HWKBCHDU9LMTF8RRWBBRFS05LIVA5. +-36#2BLWMH2TM3WH176JD0BC3SG4AP4QMKUSTULFYPGN48YVENDV2O = 36#GDSI0WZZ4LJCHTQDX18H7C898NYVWX97PAQUNPNLN7Z4E1TYKRGH7UK1DKDC3UJ0TRWAX42TXINAXZHMBIIOQKJ7J4FAFZ7LJ3BB34M26J7XQTA29G6PF9QVNVCVLY90KSYZ139V5D5LJHO4F41NLMEW6UDLRNA7930TGK61KFNLE6CW8CEGJV2ETW45J61AMR3NVQEV3TQ6V30ALS8OAW3P072S75LJTFZEMAGJEHDVNHBFGHVF25DDCGOSK38PFJUNVF2LF4HWZ4K2305BOJ6PHSFXT8UXDYTAU55ZCHSOKVB386GD2FL46BMQO7CEP1YOFEJENRG8O16TU4D8OGF43ITCMC3W0 div -36#71Y92G3DK8AJLRN1OCIVHX984GKY0946QMOME9FQHIO2BFCQRFDXJBJCBIXAQ7MNU9YZA6EIM2GF45ZVLWTQTVBXGY8JMZ8MGTVB36FFDAA2IS5WAE72R91DXCZRENF788A8XUJGWW9K99UKALRFETJZPPKDB73XRSHDC0IO1DOPP35U9151WXYS2FLTH87D3US9JGDF0BQQ3DQ3KZ6ZSVV1L3OBFN2O4RYVQUCSTDYV3OFY8EZFRYRUKN04RCL6PBLMBRO5K6YIRZL36SRKB5TAPULQJQ1T03NF4YF1R7IYUWG3. +36#2IZ1MUP5XJSGT6YDBCHL6D1LZ0ELOJQOUK8ZJUI3711QME82HM = 36#2G36YR6RGTYCQFMWYO50B38228EOVLTE9JI0H5VBM1LVRVFGZFGG33FPWS4Z7NLGN8EZ01RL20CRMPKZKFAV8PSX59DKQCIGAMMMFX91OFC4QDP3CXLJRYIIZ27K div 36#YUWJ96IPRQTFXRT11O7QXJF1ZML2JTCQ0ZUB59ZWDWV9FCC7GCTEWIJMTWTOCJM9QKO6M730EW. +36#1QBTY3OU70RKVOW2Y28DOXAYJ1WX7DZDML0S8KLA9WB9LFNY0RF11Q37WJFLU4CVAOTWSBUK838J71P9CL71BTU9G6DWUAJDD4CS47WVPVNFTJEAZFQUTHD9G2SL7O0ZDUERQE9VALJK6M9LKYD3XVS2KWBJQKQF7XMYY5LZVMJ5RDWVWINBCD5IK5MOBWJM2MJF549R9O38O3Z0XEB0NGLJ0UTN643K2C4IUZR5OCVEGBBM9QQBE2921J5VW87D42TMKL15C5Z0VNVJCAU7Y4GIBG25A6FJZ7BQYLU1JSYASQQVIDTYDZ64FP7S2MO8O8U0NYASC0LW617XUWMGNNGV7N8CAC1Y0TIRGGJ69KCZDMW1ZZEI6ZDRAL0R9P8KNEAI6F38QN7VX1RX1KIHV3VCB5PKZ6UJSZW4Z3HLYG49MXPF3DTMRFVXQLHWV9CPMNPFKXKJG5C3JR05CTWF2Q7L0UOYGKPY5CNGUJZQGRVMRKJP48FH5LK7DQUEI6SDVXPB4A13MJMOWK1D9OARWE056QRSYL82WY7E3XELK8T5QB1KZKVD1BS9PMPJ4HISSTDHC3FHPC8XUHYXS2U78AF8ZPWD1X1Z201M0KKCORDUODC4CMN6T4U1BIQCOIEYYX1CC63T2ZVSVDEOO5WH24N4DO1YPKORPE1I0DGILOBP6550WK1NJ829SPKIESHHC6QX06HJC3LL7MNQ6BKKW8QNWLY3UYBDT8AW9MWGJQHHNAL29Q4D3XPCSWYSRBV8B4YY3KEJOV6C16KWZ727R8N59XGWDBKZ35AYIHODRXUIKBE8JEBTDQ7WATGLF0VYEXV5O7SA157JH1AZ3Y15M19CRMS0PM8T1GG1713UIKEY2DCAMF3RJSQRYO4S1TUSV2JNFX0R6W0H54CC4413NRP27PJ9QU1FP001JUAF7YTODSNQQQM7OG5WZBRMVCDH2DKWULC6MFLNOCSMVQE36JBMSUIMJ1D8FL52YFBCQOCWYKNOSOOE0B2VBLTO57RAML1HFNOS1RGHRX759CQIFWOM40WYT3VFIKVNPP3FGBGWV99P357CGXSBSNXNSBJCZERVEDY12HFC8HHZH11B6O05RLLVSS6BR3P8CB5PUCR09RIJ027N88JDWJZ4GNOZLY7QXTIOP21LGFMJUWUSU7ECOP4TX = 36#1V2XSK77S8ZTV3ZCCW2Y4XACQF7YYAWJO2PZKGHVWV4E5L6C3KI8NSEXWE524V6MMHTG40RJD1Z9OZDNOPGB4T2ZY9RW800Z8Q6DVN9V533H6PMABNLROUAGRQB5GW1R5QBPLQS0ZOS3QUALNPGDRDAJX3FEENSUHAMN99UR80OBCTO18YLR3DCXEC24WTNIA3UPU74JB1CM9INENX0JPRE08CLKJCQZGUY4G147U2QG1U4XWGU3SJJH2UTV62J3LAJ5DVLIHFP67ST0S8936CL3WG2K9IJP0MX1TCKP9FP10PSXOWAGNPCTXI40YXF8DLQ1PLB5YTG8KKB1J2QOB0JSR1DV3C394XHWJQ0FUIQP6H6EV452PE9P11E912L2NNQF3IO7U0E8R54C41AZQXKSK1LKRGY42E6H5XV1SNXEMEKR7SEO951LHJH5C1N57H9I9NGBIETLQWY6QEWXSYPXDOHQ0CHQO6LN1UUICC5N2C8VYF0I8NN8WGALW69JR2HI5RPAAR8MLUFKW4YPOP26Y6JPUW2H8X3W5IHPGKVU4NIUOZJZ14OZWTMZSVD5GQCKDFXRVEE6DXHEWN5Z67LMXMT3YASAECUE3MOHR342WSO9XEUTTIOY44CCZ68EXQUC52F0B8DYTXSLBXI5OR8ECL2NDAYMXL35KBW2VBKNVBSHWKR3V7F0WFTXUU0FXPXP3AVGJJR4GYJVWCH1RZLNFH2X3BZWGYT7VRIIE4P94ZKNHQ0RU9IZQN1C9Y79389LXP1J3OMWXJTF1RXXTLPHUACPAGQE5B6Y5ES7AEJ66YCICYW73LOXK2W5DLGHUN4QTV5F3TOTJR5WH3ZEBIB0BYNWAHLR7NQ9MC8KWJ6VUS7ZFGKQ8C5EYXN457D51LIF084G8QZPVWZIWMGROYYHZTA7CMAB62F8E0FK8DPXGJF1PDDGYP48EI4CG37GZQ5G55EYTWIPH5LN3YHOGAU3ENIP0IOVSRXKKJ8PVPZPYAMRI5S9O9KXIQX5LY6UW0XVRD995DLJ6SNEXGZP5C51C32E9GMT70E7GJ8RUSXFXAMG7FUOB9EPYTCZZBC8QRYPUS9PA57BETFU6P5U7QJDEDAEMYFVEDITLAF6069YGGS1KGJR0EW485EA036J5XDEYM7JQ2DC7DAGRC1QUFZ4JWE342RZX8XAAT6921VGWS4XVLN8V0SMFKKMIR0DUU2L2TYXS6G6MG2H0KIWTLWDG7K7PNFCU3B26176MMP8VA00NV8ETW3LJJFHQ106ZH0FA5K0L5J2UDAQUES3ZNQ9WJLDTIZ0RZE7Q8GXHQSKQEMIJNALVG9YLD475AJMUH5E7NDIA6601C7O5F743ZOO428MGH3UT14DTIXHTKW7PIHVQET0CHJOWLG4KCN0KR7LIWJHZ7R35VIFW23VMMUBW6B9V24OU61AFPG9VGBCS2E31AEY4EMOB11OJ7W5TA4ATHIV635BAAP6 div 36#12QTTOUIW0TDXDXD45PSV7K1SX5WL92POY12SON3GPBCXH2HRDTUQFJ6OC5FGF1RMF2Z319CT68H9TRS8DHX0KQVAALEU01OBPMKJSA3DIPS93GWCS67BXZ9CTW6ER1G5NTXU5ALY3XUHYJTE1GMOBIAHSABN16L4BKZ60YHWCAZD2RX9Q7K61ZZOLRXQSEV52KOOSQM3Q0CQPTKDO2J2XNIPJ5J6HIDP0E7XGRAEYNLQXZPU2HY63SHFKD55DWAHJDKNA4X8COLLOZLFEV7MZO8D941A9R2PNOE1S9NC9A9NR8JSTVM. +-36#2P1MY1JGVFTQJME0MJB7K1QYD40K8C20TD9VOYAYPYMHLSJB3Z = 36#J930XQ0Q0V9JU7OFMYM1TD41G6SKH0M6KKJGOVVFUZKOHXGJ2ROYMX629CHN4XTHGJL7AZNIMD0QWIW90T9UWPMDKWG0YRAK28GW5YPO24YFA4RJV73X8CAM3X3NXJM52PWR1HOZWMY div -36#753U1N07FU0UKKKEQSMIA7E9EDKDXSSIA7OKZ7BWNS5A7KGU1SSK0G18IMU0954LWO2HRNXG6CDBURPQ7JZJR4O1L2. +-36#DBL0IBRGPXC6AKBINSP19HQ7HWILGAKFH4ZALZR9N760ECP56AEL2M47ZAPW72JTBPUJ3DQ3I12QZ0DH8IMUD1CPT1FSWBBOTZ274IXVDOGPNP70VUXM7T60PJJ5FS03I6XC0J1ZWCTXYVCQZ145X2LL8BQE0QG64HRWQ4XDDC5SCYRLNVLGKM6M1O6RW9TV8AEC47CONT8JI8R0NPYVXSLGSJ8JGPDOEFZLREUKXK760IQYY8CL0UBDKRK3DHMTJYQ20UF5UDA2UR1BGB25IAWLEEJ6IUL2UMWX470TUB13M1L17LR5VJPHY2QPWN5JJTMDVQXH7L6Y9IEM9IO53XTM4R7VR4JW428MDD2Y6L0NRW8CUGPVZLE47GJL6WMFWX1XWV5QHLFCTF0H1B16UN7H1T88NCXTCZGSWOJTS60KNEKPC87K3WPTPYXUWGFJ9Z4U1F841QO3JLLRVMG0X1U4A47NI5RE6TLGJ8G5I0OAU5WRWKMQIHQVUKN0FL778GQHSYZ88H3RCRA2D9331EUKUH3MESIEW7ZK9UV1U1TTKM4DMFJ1RMNBWFL9ZMIAU5RHC60ZYMHWYZK55VUIKXTEB7CCFZXBMOOKVRFJ297P7R2M2Y2CBUMQNKCI26BAQHE8TABEW2LFP97Y8LSETX5TR6XUK1WMTLDMKR2IG2XHKTIF7OOU7WLXSDNBLJFJLBQ39SAO4QLD4TYIV1G0JZ7CUG2APJZG0M4SMM3VCKG9PX2ON8MFFJPJAXUVD5LK3RG9OFVPV4HTZD6JN94D3ASIZVHGC3X4L2JS6Y4U97MQQQIRR95J3T4V6OIMFFKPLRITTO8UAZSDQL6AGTT9V40R96I77ORBIHE8YY56DNIFV25ZN03I9GPL = 36#775350C437KPCBOT20AZESIFO5PXUP2CFBNA5EKUKY4A4TFAP7UHWURCBG3ET5F4LKHVU3B90HYRYZ2Y3JY6RW8QZ8BB75B5X7D9CV810HJH53S8JMBS4M9FU61ME97ZZQTGEDQBOKTF9T00A7KNA4SUKPTOE9NCNJM5DVYNI7MRI44OCY18KOHWFWVJ6WQ4L8RTD824CF2L5FXYCCQLLWEDOIWTISYGVM777YJUYRWWGIN71EFDEK8L5LHA9UCZF5QQUVPKRRBXJX7MH4LNH3QYLTC5D9YO6SNW3DROYEBRRTGNIKAGQOWUWT8J1URWW75PS7XIRIEY2U7HPTU8XDE7KTROAN4XQ0WN5U3K4MUYEVQ9ERZ3LGBBPMEQ5QW5APP8EBLFMNP22VI0QHTZWYJ9BJ5M0G8FZHR325I22O7ZW5Z6W19VMCJZ0B91WU8GQD6AHIZ07WYR4GJKUSFWEXHW3GY6YEBJ45U9E3VLKT0C3CNGB58F5PBDK5L8X5GRQ0MOOC3GPRSL90S8SC8RXTARUKW7IY55SVGL * (-36#1UMGMD00CDTD9H3OA1I14KP7HLGPS074KRHKR4FNK3LZ7GM13MCXA2VBT8HUWHX9KOX2PLCS0VJVMJSIN6MQ3JZCMB8UKB0C5ZGODHOERKDN14B36EH21PUQQ6FNOQL51LWVKN3P7ZYAFYWSZC0XTA2ZVQX1GXOJXENBRUTND8SVTO0U1EPEBJNS1JXT9DMG9OD4JGT403A5J2KF8V48IJVCNC7RZ2VAZNB0944KN609YTPV76BWHN6BLE1LWE8MVTZBSTSNDM9S0S7LNJQ6BWMGOAQN67VU6YUB09N9PMLKPMWZP8KK23CU7EDPQDAOOCF88UFDHRVEEGU0XFTL1). +-36#EHH1EVG1CQEM2TGCTFTOLQIQOOD9QIM0XL7YT1WPNBXMNNLOCYF5400RN7YMTOTA3FMHYC6S9XKJPNH7F34GDB2HRHIS7D3IU5ZUMKEBMYJTSKW34VA1NULIV34FFGLCDPIWHW8LCZ4FMJS5VD0B548PMC083Q82552Q4GYWH8RE38KZEXXE995J5J1100MFM1BBVP1909CPIOPF977LFSMBFISKE93P28H4XLJQ71XLN9IB9C52EGQT9ADD973N7E84WEPZ5EMJQRW6ED5P6FU3XRSQPFX2UOFVB8Z4OH9CSFO5J9HQ20TTKRDLQNSB4JVEL5F6HP25BT0ANDRFSOD23PMWK77XO57U4RPJLKDPG9YLK6KKEJ0URSKJOARQUSY9FT5SNOIBYZHI7QULM61OXGFBR2VTUXEGDN9UACK1R9I2U3XZ7UWCXNGADN4J178WY3C89DNW8MDK245SC0AASRCN4YTDL4LZKGZB23UWOYVUS8Y13IPULYLHU2D4YD04AUTQ8X7P3EYKBND7LG7CE9P22K0ZPUAZS48AI5DDCSJYGFR5HQ0PW9WEMX7O95W0LGL51VKI26Y7TKS239AZ65TI7UL6GYBR2KGM8DIZY84A4AM8YVEBDPMW1YNUHSOVZYSKQHOIW4BG45O4HR9A1YYUWOSNFXQXK7HUSK5OLR1YB6Y8TB0DYXUYI09M6OEC1Q8NEIFRQ7NAI7QFK9V4YYMCXGGCEUBBK8PN4O33RFQ9P1PH2HE18U9HAQ6QKD5DXGPZ917EMQMUC0YVC7GBOVVB707HY4KMZ2XTGXY2Q9JROKAXUTHBV7YMPIDN9ALXGXCGDF7PU0JRKYOXB8CAOD19VDYD1OYK342J0US2CMYE5YND631LNUPG7LOG7NY84MOKC5OEPF9801YVJJSR5PG0XFGGUOZQZ7E6K7AIKEJ2AHL0YG68R4CW53G516NQ0W66JUH8OU5S5YLSA4P4892KTQ44D2V61J3GKJY2VV1596NP6B7C5I0GXA6WGAZSH7IFT9C4XKS7IN82OBFOODBOU6MIVS5ZU1JOIM7YCBWTQINEKHGVS3I0XA206FC0MSLAOPWV7SSF9P1T2PW3COX4A9ENS45XONEX0LHB8KQ2U48LFJO = 36#2YDQWJZRT1ZGQZJPB0W491D7AC2AFY9I4JPY24W9E4KY4KIEAJIJR8BRF55GKZARJFGEDQ6I7796TWL4LLILN1JHHEXMKAGEWXMFMBH3CQTENWTS8I1X91JOBMX6CW7PB6FXMZP821SNRWZNB9H7UJGWXYISXQ3NCZMG10GPR3R1GVN21W9X589MT35GV0Q9TPQCCWD264T6HJEAO1UEAC8YDIDLFO8YNYJUD5C6YKH6YFA2M8TE9V2N9WIS7D0T6PZYKYZ043HMM4KFTYTI2ANU30FNSNITZT11PO2WGLXT4T5CK8NICAHFO01UIFDS9XVO6EEZVV0UB0DV6PQP2CT6E0N6S0WMR62GL1BAYPX6TLIDJJIBJZBR4UV21R1MP5H7QZV4SD8KUDLJEIS7UEBGVA08I5983UM6HDGCYC2RI7Y1U1YKKMO2OTYEW1KFY4S5YRB34GAVAZP7HOE4XTSPW2IQUZTBOOCS3KSXG6ZSLVP9YLBFP3F5DWQTW3FODZFPKYLKDADDERSLU17TTZIB8889ZH4WDCCD63TV2B3PCRO68EYMBA94RGLC0VMBFHK4UBB1M7NEXXOQ0BW8JM0JT5DVF69MRRWEI08C41CWFZ50BE0CK732B2D2VN3ADBDOZEO7NI5760RXH1D0Y0RCFEE20OK011YXV10BPRCWMFHBOD0YHBHJC15CE4VCBAQICLUJGFIFGELW9FSN7J2QB996FQNN3D17RNT1RYCHOTKAKDED5CLCNJYG3OAYHKG5ME5SK0KCFQXPH1EGYB3CAEXESDDTEOGF6R8FUDDWXGWVEG40GHKQPJ5INVTORMMO1DJW0LQKY0VO4BINMWGWJWL7HJYSNGMLK3 * (-36#4WGV203MSCIUPHAXC6NOR4PT41QGKGVJ7W4MGB2I9MF8CYO6MOC9IMKD9Y2YA2DTWDCY2PP2WXWCRH0UMQOBAPDFTXZSH6OPSLORJNG1TPVHMDRGE1FZ7HOBR0XMJ31WBKV299FYK2L2DZNUKR6ANOKBFLDR6TX6KGK8I9HCK591W95J8W6WL4HKVAUZSYPLY1GCRDXM5MRKOGQ1BZVRBQFT77BW0YJ4T14LIQ8MGKAD7RLNU7UGOGU94R685FY765C1EJDPOWBEKYH118). +36#5OWZQB0OBZBZ3YRGCBXRG60TZE3GQDDBE2M5UZXWQ6W7FMYLPQCJIO8MDZRL4I24OUNXS4HREPNT9MLDGAJ9RPJAEI = 36#10QHC79ARMFFZ34LG6K444XJVH700O79C8QNN7NP57D9U604A9NNALZ4SWFO9QMUD7EOPUNP93DQABNS6Z4LK9S39CG8LO49F8XGN30ECW6FHOXAWTLH9254CFDDU2KLGLD9R9XTW0AIPXCA283RM7IBE5TLVEVDXBM6KLZVCNPMTAFSQW133P3PTZHHV5TPORRM0QCDH3PS57IBLZU7EZBH39WXD6SZPD5VU6B6IF52K82V687XH0U62J30F2DBHA1Y1EZANVCZI07H3YUC02DYJHNFBRS0CUIIQMIJZSZHU3YO5PYH0QU4R1622RP55HTYU7QK4POLCHQBJZLTYL74J565QF4RU3JKDRNIO24A3EM6G2QK8CZFM8PEUCGNJUB1L8IUCLOH6IYHND0Z464SIRVFFHMFL89C0 div 36#6GC2MHGHMQPOJWFJSKNVOPQQNFVK6HK0OAP1GLPVBK2KRVJC2VKMMVQ1U3SN70BOW319ZJKAZNIEGEU4YQY551N08WQD3V16X5VIDJDA0B05G22RJWILED4KB3Y0VSA4OIST6IJDXDC5LARB20R7WFKUEWN1ALD4OQPGHHQLABMNC0EVZO1RPW1Q7TZ6TG5MVU4YQDXVLY6JGHJWKU821WUXKE9HVL2BMIK0XCGB08NI4RAL8G1TIUU4IV0C2LYBUEOUHNKEEYHPKZKHEAD44TK8S1JCOGCHJZBTXU5PXMH96E9TT7UUZH5GQKAZSVXK229VLMNINXC. +-36#2ZKL3R760JX09WX273SCPGCV8OWQMQIE1MQ84CC4OD1O51R6L9 = -36#1DHW4112NWQR1HHYFT99921GZQYF4JM9VWH4BROIDQOMU5XWWHBGYUSPON77DQWJ6TJKDUMZJBUV5FP0L9EGD8PZNZE0NW2B6720S0HGIH3SOQWY4F41GSGL7PSC2B534FZT3MD40E4QFPY5SKSC0CL5SQJ8C8PRHHEL5IV3C1YER25AHMO7D6JKF8C8PACTEH8728376FRP7CI5P5EWYSPQ7UGHFNRF190OK3BSD26H6EOP3FSIK797ZG5D2Y4EUUKZC6QE8W10IRMONU7P7CN7TCU009HVVIEC9K0NT42EODCM95KH54GNQTK7Z5B325NQ6KGY0RDN9NGD6S7Y4I7OBJLUWUL8LCS8XXGS2XQFN5G3VC4QVDBR720V6GJKT34AGEZB8UXA5F6YY5IBNEM7S0T7FP3WVNJIBTAW38LLO8LTZSKC29NQLPEI7D59Q22QAE05UTV0B27TXUREO035QV6L05GROXYJGW3VRUZEGULORZ8M1RKL7F75FE35SFG9A9I9WPFDPVFL8W1VPCFQBPF7A7FIKCQAX99IKSL3R5G34Y5ZIKD5G1Y95SGSNQV0CY1M422S2RQBFSNNFE9NR92QIXEIJU8DV1L9Q5IR3BWV1QNRE97T7WGB13UTJH97SBAP5BNWGGXUU1IIZ54XQUBZJEPHRERRTLI0LA228N5OZS890TGVQ7ANSPHYLSLJJV2ZUSURZR div 36#GKBT8B28MRNDFBWEAHVBGV06Z4YOMBRSGDN0QZPPGS7A1XF5EB05GSN5KKPC0III291V75T7JX8NBCMY35QTK51NLZ7WRCPDGJTKG1EX3T4IFKHCWNFB6BFN0NX0NVH1Y622IZ5B05TDY62EE838MYQHE76RMQCHWNFE0DJISMT0WTNVI8FSHSAHJD15CECAZLXYFP9LANZGQJ2UNDTGI1YSO9CVDPWIS5RH66TO5G1PQWDNKGQ6HLLTN7BZQL9ZJEIADFXJTVNK0W63UIDWLU0TXZCJ6FRR7PKOUPF72BY3TOUK3CFQ1Q4NRG97QPXWRLLE9WTYGNS7Z6H6EAGHAT6O7YQJUIIYCFWTHU1K50HRYSF2FBMZQYHRUS3D5N3Z1T19Y10XTJILRNER96CRBNASUS16HU1H0RPJKYC43S7CKJD2WRJTCAA12R2GCWICOY7AGFE442WPO9EUWOMBSG2ZMD93H4U87H8QQFTU6IZPO576N6ELV3FGVYSO451OFJK4LTXBMPLGSVNMQ2M6QEGRWQXV94HXGM1KRGRGIJNNI8CYZORU8AV611ONETDVTIUQZFBZWTRVV2IX1F7JUHUHI7F7XRW0RRMSRZHYDGP45L3TQE126IQM0ZOGJDFAVBRZAGMZ2S1339XNEZ5S2GOIOMEB. +36#4EIC2T831NN5JDES8OXZAIU9A3UT6CCIZT2YJPDTGHR9W8B2MRBIAHPGZMJYGSP4UIHCPHFF5ORMICO9E7U5OU8RHWX4YHF923PSU54L3ZAX3E8X0661O2HEUBCLQ6H8PW6BO2EGGMJM5SEFTZND6VDKCU09DSDLFG1LUKGS71AF2CFYTLQ9FM786UQQ55OZ7DMRM5BMTNKB9CN3X7JV2GJEADOWT8K5ZPRSGQ3RCYB413H2QF8QSSJWY1FWZ40YPN7R42N3UK1MIX1ZMCD6QF3J820YGIAO4X9QEUO0WOFT82YXLNFGQONETTE3J1E13OI2Y2AQ0VE13Z2HSRQRKS6GJAIS16PBD6BO9BBNHK8W88MBW2KU3NTY4JXGJ5A5B5IRHXG85SRBYWSU3E0ZO30VTYKS7Z3ECLPFO0T8YW6LB806SPL6WZRD6Z1O6ZCZW6DZP2MSXV9Z64QAA8YFBDU23L3R11DS7UM5BKNBFKG1CLJQW71ZHNKLQLLT31KCYFVR6A63IM99TFKE80FVUSNO27TJ9QPT68DLWQS5B9LONK0YN40O6K2OMU1WA0LF18EBN74JJJVOSS1BF14C69HR19ZQA86BMNWGY2UA4NVHVT4YC1E46NLL9ZW85GQ3Q1J9EDT0N7P5PTR2GP3GXBNZH2JHS9AZUUC3S8KGPT130X128SM5NT3IY6OV6WJRT5X5X3C37TBZAC3QIBP8OW607YFYV1LTCW7LFIOG8F53F3H1AKOYG1W2CCV8K8YUO831PGQ780 = 36#307VF8IZKRTCITKNFYTNUPKBGS6SGPES2KGI27YM8NN72F4TIF4J4RMBFTBK2SS0HFHW0N1IQK12JPLO1ZRHXETH8CO9WJ9V1OEYQQGQND8HD88FQSEN8XOL9KMUI8XXSNZWYR987TTOFE21V3W6MOWD6DOKDT3SRL87AEYMY1C7JK6MVZAT7PZ85DKEDCZBQS0KB69NY15YJ31JB9D4CL4VQW1NPT7K2Y1XLN5MVV0XK87OY1BS49V2FMMLDG0KKSWD2MC836LI1WBNSRA14GOBU75052OZFMEBKACF1NHM7ZH70BAZREQVRSZ9FJ5YZX68G41FRZU3BEUNGLV5LOGWXB0IUBK7J4PA9UZG1LAGA1E15RHHJ1WI0QOWFS86H2F87PYHCDLC788S0L4SOBQPY4EVPJ0HX242AG49FCNSRML6V4FLZCJT9UQ9LPY6FYBO6Y2U2QDS2PL0DTD4SCQLYQ3Z327UR7DOR4NR2A1IVKZGYLX7QYTPD9O3T09QWTAHZMVDEP6AAOPHWGA5ZOPJ1FRM2TVX4C78V0L6HU4CL7LCV1V9WFPOE497NLRBDUNX0NMP63ZC3KFYITTPSLEPL23F6TOJCGPJ4YZCWOU59U3O9QIWYMOIS3OA8UZ6TWXPHM6R58SXNN2EGF3MCV0627SL4782N8FONSR2DIV10PL2GS4REPCF3NNRQCI2RCDDN8LSHT1KDXZES6LWFKWEI * 36#1GQ9NBZBWZEFY2C74PQTSAQG3MO70UN88G0TP2Y7Z8VPYU0U08. +-36#1DO8D22W37U2VR6MVARJAV55V5AWY0LTOQ7FD4GI470GBVYSAH = -36#FA9EF938NC3W3RCLM5GH0X2IMPP8MQPVW9ZTP8JG0K199ZD3PS5IY1CGCCPNVGCY0FYV8EHXIK68SW0K17YCSUJ3WEQHO2GTA2REZHVPBTFFRNFO9O1V0LUTMMSUCJXSOAWM8X1AOM2M3JA7TS24YIHKSKYEKN0352H6X0VKP7DTT8OC14B8WJZKDSQ5X0AF46FVX8YLGBINT9544U84D56CT4IWNE85O7XS43I7SOCVBZ1YKGMO1R4OPU1YYE4KRC8FQMWDDHKYRIGH1AFIM4CUY4UBUJMD7A9CNUX4WC5LGFULOQG5Z8U9GWZ8XMPQ7SR3VS3U3GL1VR8HX4PIFPML88E3KWG1ZRS832CR14G894X1EYANOUC2AML9Y6EVW4YQ1DRLFOYMFP1WEUUSQO3JUEZID8E21KQP3P79J5ZU9DCDLMD935U2W58GIY5Q16PG3KDJC37WZPPP24YZYSOR357G54MGKJ67N2YLIE6BSN2PUTWKE8E123UNNY24TA8S2NT2X0SU0XWEJP7Y5P3QBPN1M24HY78CINZ2BZGSSH0KJVHSBFRY6 div 36#B2SMJZJCPWU8VIUDK50EV1QJEHMSWK9W6K6WLU4IQ91CEV4ZA4G0BZDSBVYFK65IZLOYQOK1B5ZRWMECFU9RFCJO78WVSPHNAYDC0UKGXOYN0CDK3D3PIEYD4JRRDYZO8011314P3MECSF5RSYLJG71HFKMFMNF5952FXACGEQE42OTIQH1HB5MF3CYS75XRG6NIFH98PTVVQP2IQGS4SZS8GJZ14QM7T13836CQZ3PVRN5L5EUIBIGA1JLFZ1Q5CR1T312NQ1VQEAQJ5UEW2YTAEHUG7VMGRG5EAB8PZZH1VU4KZOEITP5KSGF9Z5SO89HU012ICQAKKJSEUL4WUB267K1GH4MGDA7CNARGXX9KJERF901B1B6O626I2AWYHCIQATURGGIT0784S8SCL53ZNVLFQVOZ86ARI4LPYFSYUYWKLZHWHJ16HN4MOV5UFQG6VIY5PQT7VFQDHIA7EFV5YFM2NQRD0DUATQ60CXVKHZ2BHVDDMNA7QEDWVKHHOMJ9GYSU. +-36#2G8MX0OB3Q4B83C23U0MRGFKGGY3BP5TK8PVN6HCG3AB3TUGSV = -36#32F5SDI0YXLLWKQPONC9OYLDTCR5RBA59O9XXWEERM9MR3FDPWA8YJ0HMLEC54ODQIAV6F4WUZA96YUW0U7ER835EUHWV4056SO0BC8S4W7EE0HI3OST70YFOWXORX12YDWROZM78LFWMNLBHI75K7PID1A0NSANDIXWOTROCHLMMSA div 36#191S3Z5YY3BL1NQ1PS09SUSMA9QDKG8PEPKGYK09DQU3P99LUHCCQF5VKLT4FLMTQ5ILLSP2GL5FS9Z83OQL9EAR4UEYEA5OTUTYULRG5B7L5501HVASVB2Q7F32PY. +36#329N9FJCBYQHSQCQA15CVNWDXRE8L4SK3VYB7NN2PN1HZEF9W992E1DHBLH4NH163A4NO11VC3GFLO065UHV9MKSF75CCV2PGILMQ535VJEHXX8N2LT3KWE18IWB00C6SOUZO63NELCIDF2Q09TF6EPQETHRLQB8R6B8CYSJSTL5BN3SEVSJMX52AA87OYPQX6OQFNDODSHN0HV1L19BV684CHZ3I6CB9GDSZBMY9T6HB802OQNFG3W0NXYEMTE0CO5TOEKRU14KIZN73O95KP5K3SZ7ST1B1T8UM7GQG3H1R58RRIUDGPMJO5PDMN70GAKLJ8JO60E8LNRHTIKUNML7XJ393VSW5PZGQWZ8Z59H8I0IGMAYGM937LGEC77706TOG4OPBY8U2S2MZHGDOY5Q28SMCK1CKDQ6T2Z6P2WOU2887PZP3LKCP873RED6KASJJCMKR0NZNDY8DH51SETC5CCGDZ3X9E19C8EG4B5LUWT9DJNZKQ5B5C8YC4LM0C8A4MACVLTQNNSILC6LWS6BDYA5BLMRSJEP57VWQ6EN6ON21B044CN7WGYDXB5ACIJX0W2ZXK6ND8364JXEKAJGI4KAHVKU9QDVIK0LEFA25AUW3ZQ34M3339RF = 36#3VDUNA62ZMLKA1N7EWQ50CKQ5UFASO69RXWM2IQVQEVM9ZBBD1SHX6BC5YP3G2Y0KH17O1P6R1D3Z5H0Z1F5M4OFSXBMGCGLW2DOSE3IRS9S2HPAK4RODEMA1TXJW9B5BSSNQ6MFVNQG53G0FOSCSENJPUITD8RARMAQOM7KVYL6RHE627K8P74Z0EEVZ5G7NNEVH70FXJVDCXHMX3KYU7R05871VE2U0A7GWCSTB0ANF6K6PJFO9ZE1MTM1DIBBIEN0DLND0H7L7UQ6T0TY1VJSPOOE677QHK5Z8VS0UB0MKCBYEDOVLSDCAVHDUCUG3G73JJJC84B583WBGKATPRWZLKBW57UNG0WQZ0Y3Z7HCVI206V6ZZ18TOV9WIQUUE5NAYC3QNYZRZ5KD82CL6RLUD86EA11XG8HNCSP30G49Q8BTCBS5K271W75VC2IQZP2YDARPB2ZUNV8SBX9O7LM4RZWUGS5ZTODFXIA6RVK1HW3TYGB3B4VOZKLKKY1LQN3DIZA5ZL5918GA2Y38HW7FZCSXT7YBZVPN3Y8NZNUKEXHMQ0CNVYH9C012BAE260EZ5QXO1S3C7L8I23GOIZQRJYAZMBM6YC7QCISI7357HKHE45EMIKY4VYROYDOXWCCEG9J3WU4U3E83L7KZXLR2XIP1MIO472VJ6SMX0UYL080X439CA5J4B7NCC2QC6MK9Z2OJASGQG6N06VO9OK054W9UZL05P5ZHOEMA6CSWIFISW9RHRPT7HCNL8N4NSTZBPMF1GS5DCFCE9GT7CEYGVNBH8TYZVUGX5KGFK7ABROWSTY344T2ZRB6XHF1NO0Q0YNNBD7WT79LS219S1UUMCKGYMHZHNLPUUL6PNJ4YHJB48C7I0MREB1WHA5193GAM0PN648ANGPH98N3L0LEGJ09NJ6M7TSYQETJFONS3F8SGIJVHLPNZKMUWIHNYMXCGPV6QW7L8K8HFOKZWF4TUECW2PWG4GDTYNLNMINXE28GS1MV5LY4OX1SL73LJQ4P3FKO3L89J0IA4INWU3MWKM7Z6PFJODJRFR8G40I8EC88Q5N5123HFBDJ3W4QZIYH14MO7B1S8WV3BRNRV647FEVEOA3NVHLWSVX4RRO5H6LKKN5NEAE7WOPGK2L5W8UM3CIE8ACCGR1POOPPGHBH4FPOAM56 div 36#19I7R3CQZG7U10BYMXX7WRM0WWRISY7E5JDCA70PQG1FAL91S53LIU4MJE9EXZR0QXCRHDJ6LEAF9JBZOUFXM67UUZ7XSRZ8E2EKQUJCJFKIWO1LPBZIJ1IX9N8OMIH2Y8KJINI8DUG5ZENH8ZOJEU2NW6FJQHPIOAJ5MQIHVO26UQBRMJO4W7X1KE4WXP1DRULJE8KZPW2GZGB71U5RQM51HMKPLJ1RY8UOLK6GZQV3ETFOSRB6T5VGTGSRJ2DWZXXU6P0IAIRWRMP800V3DICRVF2HI7JH1YLRSZHM9AVV6FDAP5PQ8GQ2RNICX5UHLYK6NTG05FDVL2SZTD9MFJX165OWHROQH4DU5DTXJY19FFL3GSCLAMMVK9FHTKADC8P96QTXOFHUXT5M5PHKGQO2MEKRUN83SVIX0YXXBT152N51NLTFJ6ONC76KSOMWHNA849EUX0E8S28D6MOOGGZO0I5SM7NWY23CTM3IBO7FN5CF6DGGLP5F69LKI0LNJ3MHDACCU9DSOXBG0P9ZSXDZ3UE32NUMTQRY. +36#780LW9IZG3COMATMSSY8HNTHR0JYKAW92T2J0Z13U2A9MYBAJA5GD0RF7JQ0258RPRRS838O2YC4OPVK84H8PRKUV7J5JPR3YDQJ8KFXGU1E3Q9RUOAOK9H2XQT7U5KLABXYKUA1U4RBX432S1C1DWHAVL0WUJB2SOBUW4AV16KOE09W19USXFSBXGUSPT0P5KHVAY1M0760HQYVF1ZPZVLXQ31JDRXG4YAOWDWVUXE9FIY3IPK5YWGJ3898ST696OBARJY60JFUPUNDTGTUDL549HLVGP7HHHVCW8BV61TRAUO8QXQRFVPWPA0SPQ1FIET6VI1XH3PVMTSKGXWX5C7BKRM3AUC76XAMELIYNQJ6LTZ4C7QV2WSO1PSEWO4WCPY9246W9QA4MO3AMI410DUA7X4RL88AIXR14E2CNKZ1P6YVALAVZBS2MB8OEAV5LF17NWDCZHSA8WV6W3WY7EUDD7GRS31LGY49WZ8DYDF60LBUT3A4N7MBIYJM79Q8R6G3Z1D0V91AVR4GJQL3FI5BQP5ATAADF8WUB8FG4MQ8LDB2X7LYLR3VJSQU59J46TG33FTERKFF9Z4LPV4V8EIEJKE36AI8EUWGAHTV1HEQ0BFH1TDOU6O1AO0L0HJ1Q2VS7IBTI56AQTP0ZCI0NZ0E5EGCJJMI17LBI4FNZ6LI5FIY7Q2A8YL5KI2WZ2IH189BSJT65WSSNR7AB9U329HDSEO5E0IDSUBCB95GYFZFB6EPUDMCP01PLOS8V5H0QA73RPF27ME7T3YPUSHYR49BNR8G620P3ZXKW723ETI0I8PQ6D8NU1MCHZ7ZUVJ0ZZIQMKZTT9V3H8QVWS8675EKPC8EIFA1UGBUT1UZH54IK8ZS78VEUMO1GU8916OJ3ARSE8KAWL7GXIQ6D4UA4089VC2KYC8SH1FI3VGMSY1ONOMN1BMA7UEP4M6Q3YT1QEMX3JTQUDNFGFFYS2844RGC8I0H0YOIZ7WPP8I6NRCQO8AEX12DZ92JAMGW5CUNQ1FK9ANOI9CIP8FKF7GK4KGMY3Y32W0J73TOJUVUI3TM2663RE5FQKYUUFO71T6HEODGXGCH12WWAKCXDOHCH14DHGT9EVB9XWLC7612GSFXCRLVOGJGO01ZX7AU49ADNHZVZXNY5XIMT8HKX3WK8LSXDN1Z23YGWA0X2I7MWRN9902RAX21Z9O83XAJTC93J8MXZ02E39N0BULFY4YZ3S1SA3GKEVHBHHB2GARRX5TNJMYA9SX0NJOCD0FSLW82BWYYTMRA4YYFTDZKGH6FPJ5WOSG3LHLJEK87EXSSROO1VFZ6ET4EX629G6OHL4TDT61Z462DRVLOIU4WJI5FLUGL2BGQYVF17J8GEFLHSFYF1IWCTIR2STIF29R5YHOM2QV3WCGFXZ7R189HN0MJD353I3753LHS2F9L4IGK0BI6CC837YCAD3GG36HWDPWHE2CIJS6VWM40PRS7QNWFYKUTOHFDOXC7E1MQ4MWL245BUKD0FB2DMK9DYR38PUQPZYH3FDK8OJYJ97U1OBYZTF2G5LKBE090W8O3VN28KZVBYYBKXGMZXJKDD2JRPEL8Q5HCKJBU1Z6YBIHJG3JA249XUUO7QXLTOY7CDTMJU3FGLKSPFDBQN9DP5103DUSGC = 36#2RFZPHD3EW2B6XMOXD6TJI7A3I9IHMAA3DA4V3KW1NL8BT4WSYAAF89LMDYPRKK3PYYJ4LHI5F4GVBLZ0LS7LXO2ZAVCDMQCMGEQV69KNMYHESUT8IESUHY4XXKFQUTP8E3JM7YWXPTQUF1K950P88XYQYYVBUGYJWJBV9S3VJC0XOY436IFMPWDM0OYW7QEY47AQ4QP3LAW7TPGQND0XA1TA84PCVT8H48ZRXLVWSC82EMQOKVRABYV6J8LN0H2CYL9YIXR3IY8Y5UBCEB27VCZC04H6WKSZOQNLNV30W6SJIDGKYCFHOGMRWT8IJX7CRQ9DNT2Z6X3GFV0GMM8DPXNEV6QO1E9OO8RLZCQZZXMOQHKHQEVN1O50TGJN9GQR2GFYGKMVQPCCZHKM0JAEQY2U * 36#2M4NHKMQWUJRMT579KG9IM1VN2K2XJK2GJ1BXR9BK8BCLZA3Q91BOMDCPY3FSTN099Q8N2XMN7555GUKXB4KIDQ5CSRVPWXVIAJRHNZRMAAJMERLGDI49KX83O2L4ZC896WXK5AX0CHRTVMF0YVXDQMB8N5871HEN57VAHLBX2V7JQGXVT61Z1Q0HLNI7SLT99WHAXNBD8QWK5JRBRSVU3NIPORKEEOJ7PYWJ48FU89YXLOIHJT8RLOQAJ89VFITAJD3V5KJE3T237DNHBFNBDPXLMILYZ5ZDLOTHZFN9HSSRAQVKMDLLQYIDAUT2WFAG3EP26IOPX1XV0327IHW3SW2FRMS01B1Y5MXQY1IB6GPOFPOYRRY2CA322TPW6YUP8FJKJF0GDSH6L7LEPW0S8QURJWDAC1UH7TZC59KCSHDRXOYS1OVGE6PGV4VMHS4U5N70AHKA9DGT7LPTFW6HL5X7D25CDR5AGYR3JS820AOUHSKU0RTABD46RLMC6E0WIH2IZDXY44NKQRU4AB7JFD6TV23MFFKN3MLCXE4D6T4TILJ0ZLT2TH95M0KXHJ29UTC7B86F0FHRH7NTI4O7TOX67JKYZO3TZCG6AQKUZL2AN13K285YKCC06YBFSRV7ZPX5C4IWLR5PCQ203C6180TZBEN9ZO0UFDUR086Z9M65UH4NSX9VBFEUPOBLUTW9XOD0KNH52IRBCNAXPJYPYEUFYRMCDYWS0VSO860NSDW32UIUQBNFRDBIYXT5038D53NISEVHETMV8LLTYW8P7901JNLRK2OKIMHGW6KQ02PWUO6G5EWQ3956CFRU7EUIB93XA94NVMEFCIU4P50WV3DAADB2UXXZAYGNIYA09Y6FT0Z6YA5HSBO2UXIWR21VZ8WYX6KWY2O4GR4PYK5HHQ7NMCK1KGDDEXENN70NGV3676YCMVTWFUA6V02N8R63ZYIBQJM1Q45OYK74IO5WIAFC6GUAPYTG4LE4RT9XJBMEALYSA3Y8CUAH06OB99SKP9MASBG79NAGJJD91HX7J8YV6T2CGXZE7KMLPEXWJQ3K91ST4Y2U8TAXWB8U757D58V4IWT8RDEG4PLMDLPQAGKB7S99170BYYLHIZ3GMJPUARPBIDJXENUCAFYW4XWP9VRJ5UWP28K2PTHOKVDYBPKZ6751GB4IVMTMC9HFG6VO7J3Y80HPYMV1CQOZUFS1J8TKA9ZGYVX6IAECKB85YH2PS6H2DZ5YQ7H9WN2A. +-36#2XSABQ183X6EMBRJ9UOIGVHGK0M65ZIDR98D1166TWB34JU4QH = 36#50IPAO8FKQ2TBY5UMNJ8OH2SEMZKCWXKIIY24DBWN086I6N2RPZNIEKTHBM7QL71RFRDYWHWL1A88ZSZ79XP139ABJWJSYRA9CU div -36#1PFKRHSJSXBVKIDHX2FDTW8U4FLY5J4YJD9RO57UOBJMS80026. +36#18T3PWO1YE3IRNZ5WUOTTRILEU8RRT6DRETRMBEJRWN5RI63E7XINLDX5E2MS644MX3UN9GI7T7Y36UEBMJQ1J9QTHOYSRPF8LXZJC20VR0GC3S3FMLUIYLM4KFJ0JI5BZZ0HK6DE4WLHUUV92IR892YD5WQGXVUYV2IG503R1L0LDTCJN2ESGAZACQ4H8QJUJJUDT8IIYZTXOI2027RF0YMJ4ECHJH6RJWRKSYBO27ZWEO9FWDFW9IS1LM6X85Y1L4MWZKYYA7O0BRDQOMSR5N5NE371PB71QOPDCM326X6GYYHZ6LU25A7WY5S9H29QJSYJ8F1KGR1FQ2W8APDJXCZ55Y2YMA6MAN7I6CBUQUI1OJYC1P7GA6FFZSAL52HH1DBVZXF1651NC8APP7BVM0TJTRU5YKXFK90M814UFM7QZ5WCI1KAM8DU61J5ZCNFEJ8NY4EJ1VP20FFBIC2UWA4FOTB8FK8M3A4C2V1MHK4TUNXHXG38RAGGEHPY1QTS3IKGPMRAP8M9KKWMH3ZIL2UM4XEYA4VEKV82UWMXWFOWUSDK4L8SFTIBBR6YFOTQT05YLK8FPKSUKW2REPYEU6U6C5OO27V7AUVVQRXO1KVKV5UFWVGPFVAS8QLFKBBMN7273Q2WEG1H6TLCNOYAXUS5WG38SCE5XV1ZWP9CV1QNBZIWXM2G4FPZN3J57APKTA0GT45EL4UP9R89TLABUKYL46LJ24Q0RC5UU9P0J7GED5SBSX7SJZC7KZYXHS1FXJ2VNB5UGM688X5K985CJAGJIDCYF0F51M6XEVSE5FEGAIF3T92ROX18PLYUMV0WMY7Q6LCZ5ELVT3P88JWJXBQ7KZLSOM2S7144DA5PSNRP6PK8D70IY6KXEOUZR297MCVDN8UQC9GPXCN8UROU2LYPQ6ILUOCL2NFY8TIRTX8PJG7K5SQN6DI2148KGKJXXOT7UZ46DSVGS75AAV903DUL2X10N2NGW3JVYOTTFWRRYD0ZT74O6CV2XFQ2TRWC1FNFP575AJKK3TW8JMVFICZ1NSYUXYC0X1AIEH20K9F21J2OU85XFGOWFUIIZAIJ4XLGF92M35SLFIHCI9Z5YULTMH4BW482PE5GY709Z03NLCJ1OEKZSIZZN92R9BNZQHS4AMDNL9QCIGXNV1OLLJZW5HWIU695WYX8XW2OFDVRE7DQUPPBQYJ1NPWCXDVCXR902Y7MWLRRRU7BL847T9LR1TN0JVJI6K1V1SBBNINUPDC7PTM = -36#BBHT2SZGOAYD43KY9971TVWGUQ8PVLH9VJB9CKAOEYBJ9A2DY27ZXDZEBE9C5BM8YM7CS7D3SL7IRDY3OCC76P0XJ0N1NX76DONZ6GDIFHMJLRA3WVXTOV8EKLSBZNEZSNVLGEZMNN1DHN4PRD7C4VZGFUASBXUOQTO0NTUR46AQGB9O1TVBO8KV0DT940JDBDCITAF4M9UNSCJYMF75HN1FYJFH6MLO4X67ADJIB3TLPMT4UKCO94C2I5OMJEYGCYJO1A0I6A2X6J20JOV9LK2NAA337UTWADVVUG1VL8VUE8V1IYI3DIPGU6VMOP8GQ57R7EQRHIC372H692FU24ZSBLPO7CDTOX6LVOXZTLWILWDBFUCFDJTR86YSA4P48VJL7EQRCP9JTLMOQQY8ROSZU5IDP9M39JC1PN8LVEIWKQBL0CACQJO259BF7XTJ9JTDT23DIKYSP8VHSX9EU0CPSCBVGQMRV3JKM9WD7534ST562SIUNDVP04IINQJOZ0O6YWC1IZFROO5E6JQ4CV383UWNAUSUTGZHL2CL67E64SN7VP0BHEDKV0YCD8KJCFIDVRIBDY5EEX11KCLYGBCWXU4WGQ4TGFI3FSAK3LQGQECVI2RLOJT16E9JP2PTEJMU4P1VGA234Z82FSLCDHHDRLVTI26CSKHUR0NSEAFGLLEN * (-36#3YIBV5HIE1X1X0Y70SDKJP3Z6J113C3H5UR5W1NJP1XYWAM0P1S91JQC591M74KN0W4AZYRS4N546TMKKHWTWYSBZJXLQLQZ3NDNE0B7ZM2T7OMSPT6PW5M9D7UEYKNYUDSFZ3PTLBK5JUEPAZD95KXEG6FAABJJEZKI74OBIML3NAGA9HBGFH856IQV7J2NU3ND0EHMA72XWEYLR24QMZBRVXDZMFRTLR547CGXI4FHLOYFGO9VF72010221RE0JRITSABH0M0SX12EBIKTYDGGL1Z1Z51ZEVEKNTIQE7D50ACJGBP98D9QNUJNHBFARJIM01GCCH3LYA2382BUDIP49VNYPUORC0XTVVIQKJJ4VL3I7G92ZKI2BISJ2APKZLWDAJ2V1DEJAGAZUNK9G2M8Y9TTREM02KHUBU05AKDPUDB0QB64LDGWV0AS5Z43DQCMOQ5BS4HK4T861T5W9S1KPOZO3XF3FMCZI4F2JL5YSX6LLSN1DX54TTUFBSBR96IDP1N9XZCCYPWTDDTZ2K1NKDJK6PFEOZNR2UBTR544YMKJME5W7ZU5Y46B6D3D92RQ). +-36#4NG3V1VNU05OTMBGFIUSNNF7ODIRM1H7S11049O00CMNG2LOMURW9BNLQ3MB9FBL3IKR2X24WYTA7MN64KSUPRA3ATVM7TFM8C = 36#X2AAQ6VCGWB4K6C3LPT4FSY56RBQKEJAWUW423J09ZSGZ81DG * (-36#52BHJ5KSVXNW2Q0YDNVFGY0T8PO2VPJOQ9HY9QD6RKJPBXT73). +36#2RNDRWIC0DE4WXKWBHCPYF71DUXOZZEULXKWPZQVRK80O34Z77Y448K98F99HH363LXXVO2TTKO2FDV31A0BHWFOL3GH9DCNZQYNLWSK5KIMEZG13V9KPGZWWWNW4YL4T6NZKJNEQCNI2JY6MFCC7JSVUQEQRD59BI9SDOC19KO5CHF6NFE5NBCFOBEBBOGJDTGDWISHI8IUEZ17W9THUO8F662SEY10DPH7UM9BBDCLEGV014CJALFP5BFYI8YH3T2KCHL82PHBJBO4KZ42QYEAKHXILKD2N0W828FU2L37IRGSFKN58NAAHHSY = 36#Q5MSI5PSFN5GTRFOWU0CK0PBTMG9NTUJ83Q93INOEYP5P1ISHV9EMI5GPDKE325NEX4JY7Q69U7WRBON0Q4XPMUNNSVX2KXS7A8YIFEE9W7I5Z5C0ZZEXDHKZ5GT0IVALQ443NMUBULCAEBKR2HHGFIRH0MS3PE3O1NE7PHTX4V84WLX7PZC02BACL4NGUNG92VNLN0LHW3LW8B573BRVWSYQ8TXJZCXI5O3JA73C8V1QMN9U9VALJ7QS1ERP04QTYJC3EIFIPB45R6JQOHX70Z6PGVIWQD2GLN4L4KX0PTD5MMKR50QFQFQ8JEGRKGI0VR3SSUQZS1L7Z9FB2GKTI5QZD25ZAFPP6XXPFVJXA0MY2WJW03W59FUFUL5LWE3E6M3K8O8ESY25IEUDBWD14NQV6PJOA91GPY5A5TDEPJ3EU4IO7X88KPPI2ZRT5E78S4M530W2AHGHK1DU947MIP07VDGGDKRR7KJ3DQW421UL4S0HMW0EWR7WLEXL1VVVDR7O2BYM3498XTORR37BK3H4JQ31KMY0ADN40OZNBJER3BJE3W7ULP91R3ULMQ9EOZ29HXW0JM1PFOORUCYIG4W283IBH6VX88Z7ZE03HZVBL4PC0ONYS3M14V0AL6QBAO3B2O77NSJ9IE0QIO3Z27A76R7HA85QNI16YSN0CRJE6U1UZUR2AZ7KC46X598OBLVAUTLWOTXW7R5DJ4RNTGCRFHLZBUFI9N2CP4KC9ZONQBPKAYRS67WXBBAK9QCG6Q7BCEV4LTG1DA3ZH0D259C7I9EXTJI0T8FH965M2Q5RST1OV639YHR9TTJUSA8GPTT72MKI6SJ120V853UBLEYW0X3X9O1UWE64MN751Z7WY1S8UT9W33PJM4152C8ZEM5UHDI3G4ZAZM35N2REVJ878P5E5FTCA1I24LY2VIR3KJKBI48MBHD820SO8JOSFX3WWTD8H0U1W div 36#9G6HIW3DW368KWO2Q30WPH8NFK4619AI7I4VHT5989T4QST0S98U1CJ6QVD9TLGQGXHR7NMUULTNZQJNPFGUY5K6EOT8VMVKOFZOLC9LVIMAC9NRMR54KPZ528OQQ2GZ71F88F3G5IEU9DRUTOEJ0FSOTWUCD7EOTEGENRGZYXRJ63URRIJQW1JGKSC77R31DALKW3N9X3KN8HUHLWK3ZOUS7A9KNUW0WGBG26T3KR5JIF7FGZ09292W8HRUAKLOCHE6YSKTKMZ1RWIIB2FJ5CID4XGN5DAYSDF1EFM8YLI6E4YID8EW333O0KQ01TGILPKU2NKG1YS78FRTUUDLN9J0LQNUKI0V3HYWPRP5IWZWYHV40I66I4VU2H0SUZ80445QNFR4OWY5PKYIZNS3PTFDP70JCZ4L7C2FAUU4JSFD2WFPIHVOO2ABSQAUN52UEWAGN7HIXYE1H96Y8L8HSNA8B77PBW8SSM7ZSNWHEOSRJZSBLF4O2QX9UEZ9ZCF8X2A7RFZ6535CMVS43E0848NM1OBGMM3S6X8QIWEVDUG5OMR7UC6Z9ZZ7UU6AAOQSZHHQNO0KDRCZNZ2B91KGZGO3CQY85I95Y43WGJ2JZT2W7GFN1RD2X6PDFF6HINLOIU3LTXIMDAUX44AQCS2. +-36#B1KOUQVGH3N6PK3W8WAA09HVHS6GJKWN8OEOK79G1NMJ3GSEN6BPTKHDO330K7Z4BYFILHTS3OJENZO87Z4RM1C1OSEA6NK0HU75HVLT31M7ZCG823TEZ5TCP3WXAT4W6OXGW4PW1HSS5ETNQSBJRUQD4I30FPR7BLBXFNRLNEV7C9GOIM4LFF6C2DN4L3VVRHG5GQIBXXXH1N222A14JVPWRBCRZFWSAJRQUWMATGLSVXM4OUIHFGN4ZJXPOUYK31TA7WQ9AVQ3NO3MKENI98QGSPROLWQ256U2WJHM2KA7WWHB75DYT2B0AN4S15DT2OXXKSF3A5R1EH7HGADOAEMU72KHTS1OISYEQHDE7Z24FW9D4D9GUCTKDINKEH2J7EKY7HK2N1V7KC9QXYIVV5HHJFA5NNOLL8YUY0BP1N5GFLY3JZREPI389LY51VKYVKVM2Y82QN2K0QDO4RJIQ7GV24ICD26JWCLNSHTKMGP0J8TQ8O4C22X9Z2JUDSYUIDH = -36#YANHZICHUZX01PJTCN4KDZ1O5099G3S14U2FX77TZQZR2SHK5SF92T98W06LRST4JCMXJ5Z * 36#BLBUUSYVPCSKHNKYTN5A78DDO5Q7F17LUE9JKIAAX5HBAJ6Q487V9XAKBK52C1CVVR267PGXQNCAL4B96RF3MW778MRJ3HEVKXOJ1FWIAM7NSER47K88GDF5559S525US79ERJKPLNZGFB15EPLAKEJ98JFQV7SA1K88X0STQV15MXLXPOQB7FVO4QPATWCNH7HO2TQQU22FHCBJU45FJOQMUWK563TLUZRFXZBH9PZR2RXKGWQP1JB2PX4CV4R6P4F9PJ5LBW3K9WWZY1LGBRBIXI8GH76NV0E7XA3N5IJHRUD8XE0076UTA2RTYP5V4IYKOW1W7WUP012MN7JPLJ1D35FPAZX2B2YX31K24BAB2DWYAFUD9UK03WYSUC86P5FCY3MZH36M385CEUQM6WLROEIMJA0W50APZK2DCIYK888PRQGRRIVI99SJ. +-36#3TUUM5EIR1CV13AAIQ4E927X5N4NKSAYMN35B0N0Y3I6EGDFML7HKO9Z2NAYXY4UP492U3F518MD88WA3NDGRFVS8AQJ9BEMQQGWILWZ71OLFF499YHPY8TNQILHFC9CBJHNTTDRG1ZO7F7M76TN1RRM183MVEDOVNDG9MUFOOF97FVMOHQUHSI8IOGZ7LMVBDNFBZZM0T7TCG7S0ZXMEUG1BV7ZSK63RYKZD2N9EREKO6JINVDQT6Y2P9GKJW358GCWKLJMW3TIU4R3PXD12E6GCJ1O41A55SD2OBHO4OHDF1Q2Z48HUOBXISZCD3U2IPNLZXN5KG8KPDF8ZQHHYR4XD9GKR7HG0YC3PTTJ5P7BW2MPPIXDALJQW4HVX55H45LRQR1WLJA8LWWIPZQHJKXVODCQI6V9UFQROQKN9S11P2YZALNPAT35GY4KS2L5AT3H70LXJ2LA8UP098GPV0ASQL52Y457GNJMPRASFHIII3EO22ADPBLONHLL94C065FELYBZJ4LHFUFNDAKNAK121LOGESANT4QAADFTR2X973BIQKICI1BJ32HCBQI5F16YU0F1VR22NEQI2MUYL4JXVGD25WWDPQCVG1DTWCQF6P7N33501VD3M1RQH6T2J3IDYY64LLID66EZDW0W26G5E1P2U74DENEV9ETZ49J1PW7B2JIOQYDQHZ086E83XXDVZ7GKA0GDI8H6E7JD6W74IT946NGJ9X4T4SANR5JPUSUIE5UBBJ5S933QB1TH03OJ3IBIKSKHW1GGPZ7ZGDOC4GX23M623DZDIGWJ3YBL0YAO8Q0FWJGU6ALYYWFWTSF7I4FCXB70J6QSSPLLQUY6JUOSSC3LELUPX8E31WBN9GF4IXKQ9Z2TU0LJ8A4GXTZGHACK0X1SAJUATBIZX725QCR6B0P6V40Q11MOAZ1UIWFXM0EP998UNE3GN62D64GPSNEGYKCT0W82XBJ81XSJQJ95G3KJ6XXSR97ZG3185X96CR8CQHPU3OH7NKSN18YSZ8KPLXMHZGFNBO7TO4DDA2DHLJZR5WYAJTXDDXLDG8YWU2J5H9V0IXQ3Z9W3Y2WUGXYTPYEWTH9BLW3XTBNX6ECTVAYJCAJCXY2MRDID8GF3FGYVCDS4IMZ9 = 36#4X9HJ7JKJ2MYZ2L0DYAZA023KUL7XN6HOZRLJTU59VGC6CY8K5XI3I288WUC1LYRUXFSUZUOYHJNKQAYNCKA8Y2YG8VUW56OBKOSYR8H37A4CSFNQCKJW8045APJW497AM7CRNTQK90FSDFMKAAF6IDJHQTBHR61M045OCQ6QV2S11EWRM2AXK7Z35Q4MCUIMGNHAU4AD1OATGNN3O8OUDA3WMS1495Q3MC5TKXG4MBHEZMV0NE4POOCXV3VNN58N2WTQW0DAKUQW4T9H4O5JUL2BQ5IS48VJ5DML17LUFV32EXI6BJQAT5F5DD4VZO3808SO8JW2TL5WZW4K25PMW5MNR39U96B3V0QMDVYDUGLS5EAXZX72WWD1HN4GX5HAT07B3ONCP5XAJ3NL7I6Q99QM41MZROCI6M5V9G8936I3W381A2CQ48CDM9RE2LO19F9P252K68KFFUYKVQFNFIHGE2XGTW818Y84RLOKLRH4WWJK22PHX6NMGL2FK5DUCGJWWYWAGK1OPX9AL1400QRDZEJKVPE2RG5I9446AUOV65MBUG73NXYVYQRMUONMQMUAGT5IHD9YLRTT6WTFWQCROGIJHF2XK9VO14ZJU7JVTJLPUBIAEXBPLOO5USP5OO5KPVORC4ZHVE5D1I34PYUJNKA85DSN9NZZU1P67A199SCYZBB93ANJWI0CUV8VT7FRQLNUEFC7X * (-36#RZW4XE68MY4QVD7UQOTN9ZMUGWAXDE4FE9I48B404SJDHQ78NBYDVB05ED0OG0UDIW2XT3O74BI56EE3OPG598GCYQ4L8M1DLU2OR1MHAR3XVGJOXEC26C0AWSWOX0HDMFE0RVPLVEMRG9EAC3PQR8ZCZ743PR6KGG5YW1HKTOX565JYPSNL0JWDAU5S40P7IA44L46NFMZ8H342DIJXE1KFAZU9UH9BAGGRLTJAWJLKWSCVDPSM5O2HI20IWCUCW4ZLM6I2SGJ6LC31SCAZKPP8FS2DFLIGB9O1WSKYMF01PBWIVDV7KSE6QEF5C2JKY5FKEDEXHOCZ7SN0MD1JM32CY97VAJ5997WRAD4NNV3G9WVP8F2XHTEHPAH3OAI7H2RC1O4RNFXVDWI01WLJGARTKQ5RWE0VNHL4P8P1TZH509). +-36#2PJTGDZGG9NSDL7B4431BBOSKNE7AYWB5T5HTODT7FWDC2C54PMRJDA9YZN4U8FT4BTZDEH43BRC7OVYUDTF5X9B3HQTHS6TACJYNSE1XFXHS9IH4JJJHAEHNF917QPW8ILBS1ELPBR0ORV8Q5O7EMFFOVTNX9WVWB7HKZJFARO4P8Y2U7BE7LQDDD7VNNO62UK0PI9Y75K3P7CRN7PLMN8TRZ0EIKSFS5EB6NWXLQCTMCTZ3OKFC3RGYBAXDBJ35XWQ8DH36ZNW435WRRG9VVGV4IH3PI89TDHRZMMK07JKP5DCK7YNF49CF7LLABIE1JH5A9YBGE1EWKKIL7C8XL0PPPXRYTHQV3LVMK4ABKIC56O = -36#7HJT7KIOA5LSE3OMNBX3CC1Z42TRCS8ZPNVKD1U8YYVWJ75HFKEXYP7JEC6EPNT0WDLK92RX9IUQWOAZ88EAF9T44RM7BUFYPAX8YDXWBOBJTGWSXBI6H210325CKLIXLRIKH11PMDDONHHU5F8NBF17LPRMVR5EXV9N3N5JREBI83OEAYS6KBKF02AR0O4OYK3FXB89V8VG0KGEEM9R4A2BWHUDCCFJBU8VYOPUOXO1XM90J08HNRN0EK9LS7T5Z4D8FJMJTZRN7JVMR20G4RHPGVS78S10CF32JT8LE8NOWES8PBJD8Y1BJMM5IF3FI72RAK2Z3UAAZ1OBU611Q37MVA1QQ7B08PWBYVRMJ2S50ZTLJSJ9FBC6O1TIQ557O1YKWR7EPRHGLGXX5QKFZS8HXKQ4XJ9C div 36#2RH39KMTCYOUVQE6NN75GRIWPSS3GXR1TNRE62KCCY98LJPZLN. +36#1ZCJT6S7FF8R4CX0HX6YH59XIXHRXS9XPJVNIWQ50E2JH1EI83KK9ZYZ5NYEA6TG8RO5PVT71MFSWXQ742XS6G8665X8MDWNJJC = -36#SHE0JY7IYUCZ1JTWBSTDEUWTFMXYSREWF6TRCF1MDM4W5IHXB * (-36#2I6F0A2WJ3BM9AU0XE1WDDOQAYO32W7LW9TBXUALCBP6FH3YOO). +-36#71Y92G3DK8AJLRN1OCIVHX984GKY0946QMOME9FQHIO2BFCQRFDXJBJCBIXAQ7MNU9YZA6EIM2GF45ZVLWTQTVBXGY8JMZ8MGTVB36FFDAA2IS5WAE72R91DXCZRENF788A8XUJGWW9K99UKALRFETJZPPKDB73XRSHDC0IO1DOPP35U9151WXYS2FLTH87D3US9JGDF0BQQ3DQ3KZ6ZSVV1L3OBFN2O4RYVQUCSTDYV3OFY8EZFRYRUKN04RCL6PBLMBRO5K6YIRZL36SRKB5TAPULQJQ1T03NF4YF1R7IYUWG3 = 36#GDSI0WZZ4LJCHTQDX18H7C898NYVWX97PAQUNPNLN7Z4E1TYKRGH7UK1DKDC3UJ0TRWAX42TXINAXZHMBIIOQKJ7J4FAFZ7LJ3BB34M26J7XQTA29G6PF9QVNVCVLY90KSYZ139V5D5LJHO4F41NLMEW6UDLRNA7930TGK61KFNLE6CW8CEGJV2ETW45J61AMR3NVQEV3TQ6V30ALS8OAW3P072S75LJTFZEMAGJEHDVNHBFGHVF25DDCGOSK38PFJUNVF2LF4HWZ4K2305BOJ6PHSFXT8UXDYTAU55ZCHSOKVB386GD2FL46BMQO7CEP1YOFEJENRG8O16TU4D8OGF43ITCMC3W0 div -36#2BLWMH2TM3WH176JD0BC3SG4AP4QMKUSTULFYPGN48YVENDV2O. +36#2BEO78HFRF8FDQCMBKIS8TH2SIIHY7M0UY0AR43EAATMD6B3L7A6Z9847M0C7PRA5F4JMVJGOOP7J9Y3VR1DFVN7OJ4XNX9T8G6NYGAY3J01G9XW0Q8UQ1228N18SZORMQH903CAVV4IVVLF2ISUXPV65FPUCS = -36#52F9N6J0WUWOBV3HYBAM13XUZD41O11IXOPI9MPD5SU0B0FVRXM6Z9J70SWAN725QSJ6DJ3OSYSBHRMQONF305JL3E5LQUH9DOC39MU1ASQOSMSK20C9SECKW79EIYV1AICMRARQQENK39B2MIG0XMWF4GPL9TR3NIM1XCCCSQ6JQ1HHAD4PYDH2K6PUC3L5R5DA8Y8QJ0DMUI4 div -36#26QJ96OIL69LUAJGD0VMJBLCR0I0P4FYYXDXWBPBVON03ZO45D. +-36#1WISCUW80ECURS5RBCV1WQ0STJBXXL53HUTDL8RTCZKFKNKO5X = -36#4JI6MXMEW7ER993BDJTQGPGW1027G3BBSGY9EDDV4HPMG60UXECPTY97KHRUG93KVJ2HFKBK5PO6UCBMLDACT9JQUSFDOB7OKFHFC25VN717NGFKUSB696HX9SUP9TASI9KESG7AYGXHF6TL2IMG3W8SN8QKF1ZWQCLFA0A32YFRDIFN7BJ7QNLIKT297RADBWN1GAI6BS764XFRCMKAKGYAQVM1SSYBMXAOQBAEDP6QVKPA6Q417ZW9TQP2LOYGJQJ63GMON5ISRQP2CS80VF7F2LM6 div 36#2DWHBTHC4Z7R4YYQUMNQA5H6YVU45Z5RXEFU29UI9Y06BW0D0LLFDBOIKCVVR33EMFDHB588KREUK6SF72YZTSD6EO2T3OQT1NUKEM1ASS1A79UD0AZ7VB6MR1Z01HV7838NL1EWZFSPGFTHMSQ5MZOU795TGEOIKAYO5XBAWWNHK8XCP1EG2X784SR1G8TWEN3PSLDSOC5RAJMBJW2H0T8BAN1RJVZY4QX8NQPAQ0M. +36#2TS7U9E5F3FXYHR5QPR9PE80IFDYQT1NX9MSKVFL64N69FVWDXS1KCNN9EB7OG6MUJMMP8JPPHX7ZS1LD4S7477MTBO3URAJEBBBYEQUVGU3NNQROM74URSCEBDLDOYLTRSHMHA2G56HAVONYPOLECA63PDF66GR2KF7T9VLJNKB7RRCNCAPAYUAU0J60Q0ERI64WVC0TC7PVYM9JYLNLKRJ7LNO4JO0SBPWJH7FYWRGJH3JSN7WN3II2DL2CN49M9N5TI5C1FX3CM87X8GLW37I5UQR0AF81LTBRQQCXVJ5KX7I729USCUTW9PTM1YL3QXDKD7VMJN88XDFSG95HOXGKCLR4X2L0J6OXGRZS69MLKEQR9J3THDXSHLB3Q2CC2XQCLFLHLWS6O8QF92C6357Z1WK0LSPA88569H7QBFJR55GO8Q3YHRN77683MK9U20ZAVDMFIKBM6D0QAWOS9D4K3LD9D0T5LDB4SKL1YB3GA8QB4TPPB56SDI7BFKW5OA904CAU92MWLZ9Y8790D2YF8G4FZMAE4XLJI4RX4RBGFX4IVQLYGI78JEZWQNNKT3W3K36IR4MP1KEVVN8U23WV5171FPTMTVNNOGNIXQPSCIMYT9KXRH4PGPE56PRZ3H7PFNXSA19BJC57R9TG6W947EE46PRB3IWTH9RFMAG7XC1G2BH0CQ1FMQV6MHEN1P7TS5EY6X3KIPMSC96QJAPQFMAARB42DNASK9N16NQM74QL0R7DIS1NAUD3FJ40HDX40BZKHF32D9C1DQ0UCLNMXINIB5KL1 = -36#3K7P4GPFGPCAL5XFWQWH5M4ZKNLNODXYF5SZSQSD3YCR2454N44TEPG4Y9RBOZIZA7AC6NJYO10K25KEC8HY8O5K9UIPAZIXUXCX6ETM6OR7KE1XB3NUDO797MW8XS7W5PZVQE28XZPLF7JNWS6BGBIAD391JL4G24JXG4AZAA048AF411Z1DAQMRUWZI3NMJJ1117IMPDEF3PMJAYGOWPG9MAPQGV5O4R8NWGXW8RH5EQIECLU9QFJ6TBJ64EB936PPRAPTW6P689K83IUYPWLBXHH9O004Q5DAFXVM2W3T6A29DHXQ6Z2MTHV2LX893FAQ84YJJ7EB4HHCM84Y1GGZI4X13Y1CN0VGL5A9WOHJ60C3YUJCIUU6W1OC5CJHWUONLLWKQSJHMT00I84ZXKNN24H2HYIVYLXAYLCJNYFM8RPFFP7752Z8SIYGAVRJOASM9RTOQK1TX36EFVAEWN2W31GDUCPII9LASKH6WDZJSUQENET3SARW0C1GA853PL7HKGWGQLVSZ5PM6YMTP4CC50X5HB4GXMHEYM0JUJLY1S0UCJXBDQHLLB6WKCIQDQ4TU9ASVGFE5OW1JNS5E8JZJX3RF6HZGXDSSTSRZ4WYI3O9V8V4YQ747LY50AU3JKAJN6UNJ6DHFO99OWW0EWX32Q5IYZCCKKCC3VCUZD7WS6K8R2U8V33X50PXCP3VKTEWTHEMDP45AD6GXG4VIR2E9I8EAVTUFEESH1UHEIEXUEY4DFJ1ZSAM07EO7UT8NJ5PTSQBC60MK8S0OGNT24366U13LI1LOYE5SVH50AXAUNBJYFHG1V83W2WR5GRQ9S5KWP2LJJK70BJ8VARBCIFZJCQQKZZYMSNGQQQ1XNT6GX47BB78P6I99GTBMKIDNB47MKPHQSZ1OMK0AT4YXXB3OQF5X6Q48OZXQQRN043VDEH307IPL0K3JYDGSRXCU4X2W065JE7UW1JPR2BXQNS16TFDBCHCHGEQFWATHP90403M5KFWJ6KL1FY8Y7Z3WDVHWF9DXY1KNCURM14LBMONBZWGQBBNXZX9EX5YC9BCSD1J6J65XEKC32XIJ7CL9AABPWX5LXFVDZT div -36#19CJ2IT1AW9MEW3ZEIS86EV5EVR5WZKDE389969P5DYYN3F6I833YIFW6JFFF3NKNZ46ZVD4K7YY1E1US53LZD0RD8DCS2YC09NFN5U7W5L6LHB4AWWVS9ER9QHNQLF1RHMGEHI4GU0JWP39O1FUM7SFXUI7GDHHNS08LX1GRZEQNHPBQIURE54AW9NKECYNWB5EEN4GD4E6YRTZL9R1OF4E3ZWRA5V67E2RK2MDY9GXI9S1XN5WAGDL02GOGUXOC4J5A5CKVB3TJ6JTWFD7M8FPDLC66WGFX3BFMP9N92TN2T. +-36#U0T40DJIAW10FRYYV6H7QNU9FQ3YUZY5O94UU9U1T2YG16YF4O3YSQSB3W7HIWIAI8M6TVIMELIFE375HERB6MGW2DJYNFMKKE3IRV3MPP9TUAQ6XG866W6SJHAXO060ME6RUU6QFYU2TVGKDLJ8KERRTOOYKG8GTAINCBGWFZ1VIUNUZ5MXISBSGCAWDURZ2NNJ7SO7TRSMCPKZUIEPO3M9Y7TO0RVKTCX7DSWM76RAZPZR3OLFHPROQPQ28MRPQH6WNVKE1CF36LKIHVUOSJKL1BGW9OY5SHK3BOZMB4ZJ5BMM5MKGBGS50S0T9KFCNKJD3OITD2Z86Y9XM7SZCRDJZPHO0WYRROX08KID4DYHSSWKHVLRDAY0VWBV7LJ10LHC5EWM8P30GP6M5XZNZT31OCIN4P2AJ4JCU20MRH9Z3B51GHXGHSOMP41T3H2XTB3NJV5V2XC9MQP0TGENJ5NL0M951F71ULUE8V09ZFC427UBRZKW6OTXFMZY9GJBS11XSGQCV3IA67UP2PSGK4O5NJUXPYP14L618CIYRWCPMWQFVY459I3EG57FVM8NVJY8W060WWSAY63TDOYTR56APT1UIB2ZA4X1E602W3JMZ6OFSO2CL8RDYJPR14F4KJVY8BYF7HY7FZLYKJ86WQLJW1XY8I8U6Q4I3G9LYA3F6ZM1OFF0DF6J1KAHZXD75T6GHJQNKMUXX024O6KCRKHFHAUVQB9C4UJQ9CW5RS1RJXUTWH1L5X8L9G5NAR1NBAT5D0BTMP88662JNWILCGZ86S8953PKUDB8N3VZ5DGBLHA1AF6N9I125R6DV8E12X3N64G1XH76CKLHMSEEB257BY2NKXOV6RTE3RKU8M245VDQUPI10FQZEDFD1IYEWE9647SOZO1G0LIS9K5B6TDVQHHUOKJTCE9AYVHPXW4CE78RA4Z4D117GZS60UFVQBWD8JDCN2PRGL75RKY3C7YZJL7Y3UW1X571Q6HEQ4T3U3GJB24856PD3LLFYT948YC80I = 36#2FZ8VWWOBG38EC99K6DJEC30OKJS7GF5F302K0FZC9L7DQDPCI * (-36#CA95CUWVCNDZ3JONPVGKS4ONQAUV3Y153YYSAISI77VQHDSB1CF5ZRMEH1Q9PXAG6FPRF3JULFWBAG4TJKD81PST7FDYG7W89RFAPBV8Z5Y480N6LNSR3YFTI41YA2QQQTHTI9O6MNMKGT1Z0XF1Q4EY35BGULQYBCXVVO59WAS3YMY5MYPM293EY09SF8R0BPC6LKOZHBEBSCN5ZAX367TPD0P5H3RCZ0OE29IKQPQX7KP6ZVSCDOJSSVXM2K6U1YAP3EWDOTSB6YVES3RJJ9GHT8BG2J70H4WRIJOB9M0PINCVWLNAOG6YQ43KZFSK4NNZVBTV3LCUYJ1MZ824KN4W457MU9F6AV2TKO5BS35D0VXPO7JK0UWRT94252OVMK7DS5IRFEKFCNQ462V3JG3B868SE1MQ0PAFEAC6BFT1XEX9QKN4J5EA9IR5A84ZA43TNEF23LYKLDR8OTKJJ0PCHSH3NQLL0TJJSX75GRVDL0T5MX2IR0BP4T1575LT3ETCBG5OY8CU7ODGO5N67306ZYGR7Y2ADR6LC9NGVUNR6LOD0I8RTOY0LK6H04TROCW6VO2EDBE9ENEI2XEDVOEDAXGLSZM0BY91ZBL1PRIBIF2DTX6CTH78B54B1JEC7D19U8I9Y6PY38HKO7OX8F1K7IBAQ4K7VERCTQRGJWZ7KAFDTG2KO7QWXJDQWONV86KIW3U0EL3F1Y4VRX19Z9HRW6QE2AIFU25JY6SL9F2E0KU0LNIJ0P18TR588T0S9ABPTJCFE5RG4J54C7LEE6XM9VVZDI6OH896SDJAPTKPQ5MO5BO9FVHR3GLNG3W335E8KHZXEAL107JEOJ3C0WK69YM3I8JRIITC4DYNZEGPKFJTF22MXD0G2JR1I2GPCKHPZ1K3ZCO1EIO1YKRB8E75K3NSI8IF7J68E60B1OIX22TCEKPCGIDB24ZK2097MZSJ4TNV3NYFRJ2RQ1ATD). +-36#1GB5571YL0FY4L1N59HIS3QMVFDY44WYZFZG0GKT0XPUEEB67C09QDUZ3SO5OKD4UTIDRRHRIV734ZJKJI2DVHV9QTJVIHGOSXHSTC6Q9UGKIQ03I0OJZW7LCK5I6AZHO2Z83GBCOCPKO4HXGSYPTQDND1OIYBDMI4EIEUVO8XQB433SFQAASJ1LBZGVNY0FBLS453OCT2WG96SK2ERDF7M20ZL3QDOWQV3DO3GTVPJXAGBKQHSITLT47HE8R0MSR0DI282UO4VC8DVWIW72LJ78XEZC0CWJ0GXT70H7OFYIU7ADGBP1ZOFLHW9RTWMNAMAM5GNZHP0WDL4EHR7MM7FC64UW5ZFR8CKAJRFHL924M0KUPIIKNM7NIP85A6KBPYKKB7LBYRX954YRBVJR760KJV21Z7E9LL1W4CGKNSIBMZNF2R9VM4KLQUKBMVNRJHJ8N9K2VSAPVWALVTRO075QGWLNGYJE6BYRQQZBXI7CF2H6J0RVY3N7271HZ7N16Q8MADZI20E0AVGV02CSYVPYLJC00JNDKBND4PHJZ8CETFT0HASWQWBT6A87GB7EEFFIBRMXKMMHY0PLHCY2MC8BA10F65D7F7TLZV1FK64G7QOTUY27CWCS1374OMJK29OJ8SH9LXT8AOMXGSPCF79MC8BLGDC9OCK57DMJKDW5HQT21Y67ZYA1WTR36D3IZ48BMEBLFC18XZ8MN6VK4WPRKFPCESPCO9MFC762BOGEC1LAW3RU4WA8KXCXJZX9XK0O903XBHMYZZLA3MBBHCCUH7HK5XC1ZO4QZH7B8L110I6N3TDNBNHXECRATS9V1QMOB4751A9OEL0HM701H6M7DZDJW5OUPU148KQHTYY8XHQZFK1AZGCNZHTF5NNU68O0NP1Z7BUPQO18G87AIYAYOYY8866U2ICJSVYGLM09B9J8KX4UFMKCTE0ROWR3LCTOZQOUGBKZZGCM7TOZ3ZPBB5AP0XIADBFY0QZX1E9JERVDJ7E1RD2WDP8723KHFMHRDFBVXDG5XH8KT2QZMI55P8N8KJ6ZHKFSLAGKDUA3R6KJV4ENCDBYBEB4P87LJ4EAAUNE8SF64HA5O5S5WVV9LPJF1BIC38KAUJOFMUDURLITD1E7C2M9T2CS47UBX33MAPUR5DKUG0U5M9LHR49V9LZQ4NY67V4M4KWM2747458OU0HPQLYP18ASULJVPZ6TTGACPIGQERGI4WY7XOUJW2ANYW7W0LU6VEQLC2FJQ94A9TGNPW4SM9555GI54LL3V0GS3QXCXC8GTPT2YFE7TI1QMA4YJTROL1K3VG6MF6V2GKKJYCMX9AFH0VV3RF7O65APH02W7YOE9ZI4K90ML8D6LLC58701JQLT1M83PY2U81PR504I75BQA5AO38KIEVHJLD7GBD6TCX8K1VO077A9EYKIMDXNKZUKXDLWI3NRV5YQ778K6IRJ5I0Q5H15SH43PHR56EM8Z9U7Q2E8R497P46VMZE5CU8J87HI2LB7R = -36#8RJK0U4788EZHKVJ507Z4N6BE8P9GFRYLEO82OQLWL5AOKYB2JVNQXOG3N5V3Q2OZDA652N4MJ5HI5BSQS5SPKZQKIY0HITKDBA9I4MEEPARJ8DWAABT2F50EGXWSO9G3W1BGI67TS945LUARVA296UTWR0RJDM45QP1RPA65ASHM2LJ8JIK0H7KVNP8CIOKY125PNNBHWZGGXDSPDXMI1INMPK6I14TUAVHLXWBOLA7USI9B7878HRN0OX606AE3EKGD4SI020PEAJER6A7VASB6G59ZURC47KQSZWJCERPH57TY04CI7ZQZIATXTX5DQ0DI6LYVMHG3JTOLNYYQUHUGE8K11NX95PUJ2D4QEIK80B5ELY8UV1X58JR89DAS5VX38HKG4NU280UTRBBNUMVERYSUCQHVHAFTNL2JNE04YVP1B35A3PB8V0V1GV4G3KKDJG4WFMVP4VYD7EL5H75GE06HMB8QIPKE2FSYVM3TTS5UHVI4SSYX2PZQO2HVE7EME7JXBL7W5TU2B6RI0U51J7OJDMMW067GOZDB3O11XE44AV8OMQCR5L8WKLI9W9EMP60EBD4VCTHC08X8NZ777ISSZ7SQTA8JS6VFP1EVGVPHW83J61DXFEEI45PT1XV6EBXY0GP2AF7EMBNKHLZGK9NYY9BW4LDHKJNWG4L4LQ438OBA4VB3IDGW83UTWAXAZL67NKRI1UWR73GDEZGJ7F9WS7XBUBCKOO79ZWEENAA1U6N14CGNBBVAGAD39NBCAUNUEUV9H5EDJXARCANPGQW483KUTULCXV6BQP0C9CM1UT1VSLKRGS6S7NHQZABGCGUA4LA14HL2USKFB7VZ4LMD10XUT0L6DBM81PAHS022L2ADP2X9TF48QTAF0R4BEJCLHTSRY2S3YKVIGPDZFZDV5NH0OKHCZP7SV835FZ3DATESEWS9YESA1OKPM2AV7UEEETLT5TNF2EMC69SAPSO52YVEK2HC2C1D3P3CREAO71VN0KQT9NN5K01504SQHGD0CO1AQFYDEZUV7U4BAC981NHKL495NPZ561ST9PERHNT7HAO0QJD60FP1Z4V6CY47C36MWUUU39QRPLD4QH8Z1OKG2FK55VTES0Y7F6X5ZMKH9DUAQGYKJWQW3D1OIAU27KD43BVUSXX12IIXERSXG1AWF4BFH5MIVZWGCZ25RBMZ4O58X7WCP0TTMF8ZI006F0CSXVHWU5FCYTD4ORUF9N42BDW485IGIRSQLJZ4P32T2EPE07V3RG6AF2HLV3WYAN856VID47VKNYTVOQIVYZXH2GXZCYCQ8L0AYRXTIKOVTCJ2XVW6JAZ2EQ5663XI5XS7EL10ZP94NHMZNR * 36#5YUG6P3WKJ3XWR40HVLU6EY85L7DDI5JHJOBCW5Y79Y55E9RN0ZA19R8T88VILV7AH5MB6ZL32B7X0G9UC94A3CXIDTFXEGA1358G7BVWJPJIES1LI5GP26M2YV8W1M8E34OBPE49EUMTJUQ2PW0SH. +36#76SYNNH1O2XIYNI8SEKJOG9SLA6FYH9X4Q44ODLIP49BZ8ZOPKD022HYG0R6NH6O03GKPSM9H381MFWCQE1EN7T0RNLKOUMYXL0OJ8XI0QD3OPBJMWNVYNXHN0RO4H88C90KZ40PZP9AD3P8F5CIX46F8R62KVYA15O6NODYH59RTQTD1TZYK4AH1SOASXHLT6L5E5PW6KJ0GQQ92S3IZRTRUJ314X1YZMSI2804TJPDL7FHCRW9P8R9M3S7VOEQXLX419CJC1QHUS51XI6Q12TEFQ7NRKT8VFQE907O2ORZ4NULOD8OMLJWQJYLBHMGE1BAKA2VQSMENZXP2HPLQIF6TXDFMISYVR5IRYK0JPY4SQHP = -36#D95CVCO1OWKGZ5DQBA1OLPTZSR6E1E7LDQDWLAMQ6W6IVG0C0TOSXCI9OU81BTBOYX45X15B2AX6QO6V5XRY6JCP64KDW9X8Q3JHNNK10SIF16697VAOKN3JDNBDULP8ILDMQJO79QIAYBXSF7THHJ392FW9178V8F1ZVL3C8UZJATVABOO7HAYN98OTENU3CAT3SH1KN4X3W1OVW20ZTBAHR8UW8L68H4E6D3K8GCNV4CPMJ7POBXTHYCV3TED5SFE5YVT9ORDWYRW81HSPGID3Y9VJUF2HM81NVLPMTPP4BMXQ4A4BZPBW3F8P5HX1E79CDMRAB6B98XY3IRBIIJRMZA0JKRAD4CBFBEZCER9HO19O1D1H0WTERSE3Q0CZLCHEP6X1P30Y8YCBJ5AWOG4B6601UHCI8 div -36#1UDE154BWY8NCB7434NXUUQ0H9POA2P2VVKEYVYAHZ2M4K9U4W. +36#I8ZX7ZN0YMMNKSO1H18N00IRLBE9UPSV2F2G24TSXBT78LFWOKHVD619J8XZABBZYAFYKHHPB2LHZ8UW4HDMBCTT6EH7VMV8NIQ9QCPX7TVO40J6L2C7Q1U4JVD85K4OJDHRE2V2801LRIAK6040QIXNU88TN3HQ63PKMOAYWMOF2PTHVNR6NULGDDCUYZ9LM5PYCL9KAQM9NV5DWQTWDG1G = 36#2Q9ROY5LQTNR65H30HDDZXKJYOHN824Q7E7EOLX97IUL8S51SK * 36#6OOGVTIPSGDKWA2VHOJ2JAWY9LI6CPT9D0XULYBHUFT82XJ62VT9MAF5BVGUHLF0WR6UQ5G1OTM5D5QXEMV156L1Y7Y8FCFYZJ8WM0EX7OV8INWHYVPSK8TLQ5YBDGN4O2DB789HIIK5KXBZ7MCTOFV2WZKG5HPOMRFB3AH. +-36#8LYP9DPZFGC58NCCEQI2CW2N83P1EPNXJ71RXUAVQYIUVGV96MWSCS0IQ4JFWPPLL8DARSFRG1CEYB3TB38CCGJO3RTKY88IADK9X89I4TP050RBJO5N01S2EHPTKOND4H9THOOU16C5GSNU8VXETPXXHJ37NCJDK53IP2Q48WLI1TJD8903NQFEGF8S6BCA83AC5UR = 36#F1MGL6UE9JQ2DCMTIM0MGNWZ3QJVQJOLUGDNWCS7H1MYHSL9KT3TNZB66A1BUK50MNSN2O7WRJQHFEV75RBRNU0GSX6W1IK3YC106Y4CX8GBYOCJIJY0L0I2UBOSZIBE8CUY3JBL1IME8DYEYIN3UFGGKBCIWKP9VA93DWHNTRAU4ZNTH3WLSELH5DG7CVGF7TMIP4Y2D8GSLFVU8LQ75574XFJQ8UP04GD0O50ZSIV9AQHQIHF5WQU8ME876LF0NZRJ6OZDVEUEPPP4N2LVWEC4UR1IFHPB144A0U35F4YI7P9CGUZAUIDPP421K8XJO1597LUND00HIFRYY9CYK5VONI97JU0KUMU3ENPOGASTXBSDCPE7EYWZF3E7DKXER4V7AREKDTRKTRQYK4GVU08VULGYQCVW0EZEMOZ2J5PGUBDSJ83T4740MI58OMN4IZC622FCUY6UPI07N0H0CKEPKV335BF44AI div -36#1QWLMOQAMMBFQZDSJXFODX7ZZ6AQK898M3K2ZEF1FEHJC9GAGISO702K2LBR3EQBNER0EQ7TS1IF9ZVPCD14A7B5DR36FAP9A92Q9DNLXACOARQJIIYCKCDO14TSKFLYIWZCYYON77J54V062Y25555KB1NUSINCJITND3JAODWZNG9QBVUAQFPYBM40UGODI1XORB3F8FV0Q0UUCL63181ZS2UQ1LN23NYG9YANXKFW9OHJ7500PHV2O8NWK1HH6H9Z4GL0JI9PTDIEX9O1L7U7JPPMM. +36#81GQGC9E3EDX0KLFCQ0IZZEV9YCF8E24QTR3U27ZLABLLBKHZ555862Z7QFUQGZTYO2P9IICDSMFOA7N1FW7TVZAW655QMTM6CCK3DX0SM0U3DGQ341CCMFUZNH1NLDX84GX6B8IYTJSBK324SDDMW6UT56I2T7BMV5L9EMWAPG0L4JSYVJZW6OQTXJQLKHHN7CQ5LHNARLJBV = -36#57FM999U9NKAAR139PZOFOQMM6C0L0FAYU01IV9Q72T6Q78IC7HZKJ8LGX3ROKMOIW3V0V0Z2VAZPBCBAS13C5TKK3D2UB2PQMVXV1IEH16P1I9ZCTTJ151WY3I6C64YGBYMWFBPM4N2UJRPM2DUVODBURYIKKV57WG1ON2LLIN7M219MMFZACELHRGH1ELJZAMGLZ0JST5R6EUQ74URK8MOPIQDF12GDHT4OMP9NA6WUBWE3IXND3MWVL15VIEA75QJYQNUPFYAFCX8R11GY698GHJPBEFABBXLVH9DX8RODDXNBJD6B0FNHY7G6RULXL8MXZXAXNEY9UX9850KJEM55G2MGWM46KIG9X24NT4O0H2XCZPUNUMZERT5GJT0BGDC4OUSRR868GKQBKU5SMJ551KZ8FS6D5U8REHDQN30ZD8L0XU140QW9BKCCSUABVD586IZU6MBSU7Z69KVDE1FILE6SDOBLZ96K3Z2JINR8HV9N0Y9WTEPLJMOIYKZE5LVDCEGCU8YXWZJ7KPH1L13FM2ZAL8Z5SJNH72O6BFABOBJH65QD3X1O786KOGXEZMLBI6GI2VE73G2HLRG31JQRDE0K1UH1AVUWB2WYF62EJVD18QGQC6NZM4WV702M17F9TR9NECIHPEA div -36#NB6MDNNE9769CJFVMT8692657UXMHXPC25L4MB57EI7GWGMDLAKH1W393KMQ5ARYO2SL6Q1NDVEN9XG2EYOWCN53ZPR8FPIQ5ICQLZQKUBP51FDBVBR5N9WMVE29IZDV2ZFAL5B2DQGB1Y6XNXD2WXKE6CI06FW6RB8NU4HUK0G0BHIF4A0DJOW2CUSZBVZ6F9BEUK4CXF4YZ565MG1H94AFLVQ2R9SXGBOS6T9AAGG8QUXHFGSLFRNNODGWDLKYJRK3XNJEYFNL62PS6EGISUEOQBG94H2JQEFVSYANPTHKY44UHW9E85O4QVARE6XVOUPPIZ3Q2L9A7L07PEWA4JVJ1M6DX4M1NW9F5QGZJC47V1BWEIEZ4MLWUR5S6GMEUVUTTW481M31IU3V25ZZ8ATVV7M85WD3LQ126GAWHN13BN96D3YB5R83GFC0O6D6DY. +-36#1AB8FPBUH7TONE0GDCVKAMNC5BZF82T0IIXDZN0NFEH88RTPIHARPLAX1AGDEO2A4U28FUUFWDDO6M6T0I4LS21G48IIDLBQKGVL0U130RMA0U583I781BKXMUC5YSOXNHK3AUT69DAWQJZS5ZTXE4AKGQHCCWYOX9JZ1R9WX8VT2COL0YWYPP39UO63MDGNN18BL = -36#63HSKQ0RC9HKUHU9NI3NHJCUQ099CIZCPIQZZVU7PHNJS17HBWC0EGYK7M1B09QTS38ILIFEW9ZBDN9ETYWZD7SA2XW6565ZSCJ1DKGDTM6BFTKJZ3B356PSE4T1HVP6I09G4OFQJDHBUB7C2BU1LK10UZ21FUPREW60MB3I1MBVBWPN4KP4GVDH80OXBMXW5RANZN7ZUYW8JIG89PE3A8SHMHCIS05CHQPUECMTLT4CW0YS420RZHCZMLDMLMA38CWXJ7379LUNOWK8XMSBZBQRHUQL5Z7J9YX1RLC2JDNE2NVIX3WNMQW4SJEACFH76IHX4KV07DC18ON0T3GBV93F1Y02AICP28M6HH3JP5ZRWAIST445S6ZJM6Y6R14AUZO1Y869Z4WISEEP0YU217P6MXZJG1DVWP39D7JRI28VFLLRPXL2465HLBATHB53M97MDGFVMJHNSGF95WA8PGQBAN01U75TGQ0QXQTHGXQ76N2SKAL94U4ELKAZKFMSIWJNGC9ISISFY802ESNYYFWL11ZEDB350JGQNJK1Q61SK9KFJM7L9WNQYXYQ0EEZQMJ86UBB0TRIN0HVOFBET8LP0OZMCE2JLW7JAS8S2RAPW15CAQAKXZBMUNB6V2PNY1XJDIBYVO7QXFQR53F div 36#4QMCC6F3FG4YFFA6H7ZOP8777MGPXILMHSNHTXWICJBXCPV7RVYHRZ7VX8EP4RGSWZ9JZ2ACSO3A8AHC0AZC54EPJFI8ZMZ1DTNOITAG66UDYS9STWOHSMIFYM8YJCK3EDU5FBAUTVQ19IG0VY1D5MJQBMNLE7EDJLYWTCYM5TJVZ72DVQQMD98NMIH1NI7YMYLG6IK5MTQXUR7CY2MVX01SXJ0K01JTIQLVBTLJQZKHAACYYUQ0BEK0XGW78CGNS0VSWZUIT4ZNWBPN3EB7P1FRFRHAXK0II33XLA5K8O2SOXNXL08YT8XC4BIA5F2F3Z9UIK2O64KXQ1WOZQF72PMLJDQGT2217X3M69SMRRFLVQRAN9X8PFRWK0W4ZH5CWK3C1Q9W1GMCS44DUE37RL3XC6H9QNA854H26HMXPWG56ZDU2QC7DSK35T76AEVMR43KN51DCWNEMAZ. +-36#B6JPI8OD3LZ41204QNE941MD35X2KRWO297EK3XMREGQX4KJD65EVESN492BY45BQBL1WBOMWCXYVEA7XNJAJ5XZQ3ABS0U9HC = -36#1WINCWEFJ35M5MLTGBZU2OI9607JAQ5S148LY992AVVY9P3VWG * 36#5VI2RSX0L8L4PMDY14VMFLEV25C7G9G18I6ZTUL96XUL1RXAU. +-36#Q97JC41RCOZZQ99QXZO5PFFU8XNVWXKG7XR3JHVG954HDFRHVYC0SU3PBG9Q5O4987O6PGL3S0C95R80K5TW2NSG0A12WSAELAO9RY6X98EQY436MTEIYZW14U1I0J2MD9VWJI9SOTDUYBDWIZCGHTQU36PMPDIL18CLTRQTLU7RD3RRPJGKAPA7QL2RX2QDLMYZFCG567O7TDWLQHNAP32W2I1YW89TWK9HHUX3HFOGJPBA0MKSW3HWZLVIYB5A16N7OC3A3TY3SVXC7ZY = 36#3CCMDXGWLM9FJD66Y62QLJS6P9YNANN8S9ADANVW8LUL5A214IXLRMK5BB0PSWU4UVOJ1ESRM5OM7VIYYTYPZ7BOD9FQUAK2CLU3W3HP10E5H37Y96EIFNSTLUCUF89LP4FFT2BFJK7P2K9TINMHTAUFYYNUYA3KVPAEV5KGP70KOD8OFV00223K7H9EH1YVUUA31SF8RB0TZPY0E2KI3LWUUY0EV5IYOQ16JNJ29QKUF07H3TI9I4SWL8KFDE90HIU4YIT80CNS7RG90X9W7QH7TOBEHUSK796DFHUMV9ZPFM1XWKR5XWTCTPB2H7P0PN47Q4VPWFPPHZ7EY95RQRQNZDSNWRFKGC89VVUULXZL49WNCEBQOU7R63VUCVMW9YFZM4I187UA3V0MJ5Z09JUL363EV99M6NK86QLD36U0A2Z5VZNLEHQF2DI3KFVK2UFAZ790HPJUMXLELCPUCVPSTVG54DJ0PVVPNNVFPVHGJQ6UX44B5S6UZWMW2UU42T22F4XL8PMLXTBOPBDMZP2JRR4CSXK84JLOY1SEJ3ONCSCE61ZAZMRP8CX1Z8CWN5YBC2U5IEMXDF6ZUV3UF1N91B3FPQESN28S3BYD85NNUIW div -36#4L0KCLITAA4OTPXOXNDUSOHHFH50TKRWKCVDKWPPFMFA8M8BJ2E5SNQN4ZFTPP6KG8RM1VLVIV6PMR9LE0C60IDAOI6QY1MQXT79ICSFDA8L647SGJL04V6OKJ9OMTSH6AS1MLFBXLCL0LG7ABJY40B522ZADN75M21JKYIE274C01MXN7681B514TS5P3467U7RH249RETWUWRDD99XOJAOZMWD7FQ1SPGMWZNLCJM62Y00TRZ803I337I0HB4MS3XVIOPE75Y14FTZ80SGPOQH3UWS4TXRJLTUULOIOGNKDJP1RBMFTZTJ827MNAKLO6EN71VY75SVGRWJTN2N12AYGAQK. +-36#34C37CTAIHW5T2NEW4SV6H08TYJSJVA0TJFH4M30ZRZ7BDMHHQ = 36#GSLAF5IW5QRKYU74EPHPP65UUTB65296SZFJ6Z5E49V94567F2HAU7JF680FUQC6ATHR2TU1N76Y2B118B4E1O16KTESD5H51Q div -36#5DR2MBGEI80H8SFQOMMCQB9OOMVIF9CH18FDNC5YH3KY8HQG1. +36#66QIJ5N4CUNMP1FXUPOJ3AA9F4H7MB7FHUEO9KL16W0MIC9QHXQNUS8YNZOL8D8FUSK9GSU3D4KSQGG4SORESVBWBBFUBGWP = -36#B4EJ8OUDWLMIFZ7YFZNIO9KFE3ANJXS42P8I5FQU1K80ZDARAVG63ITM6RTXIU3NWTZX3S3UJO73FHMU43MU4Z34C6QBW9QHOXNOMI3702CPJD5LECNWQZIGRXDO9Y0G76M723TH10AOTMW4B div -36#1SPRGGS4A6LJHH3LE0RUCQ44M2QEYD4WJW74GG77602B71L8CZ. +36#8IMVVBJLM3JT2L0LI6EL8QYEOD1GP52W86INPFL4NOEXIPVONKHPX2BOKYM7SK6MB3HBOXZ1BHW6O7L3IDIJJI8S5KUS3R8RNJBJNC2FCN65ODH60LVT48F3IXCQEWHGDEDLCCODB7SQMZRTVF0JYPVN0OJS0PQ5H2G1JYCWWXPZ8PAFOGKPKK5S3CFAMQ6CW0YFSXY9V174F63ULYVGTNI0CVUL28AVN21FPVJ6RCTVE3XHCJEL925HXQPPHFMFICRHG6PNIO4RP0FMLBAY84KDIS7P68Y7BN53DM8VJY7DNFXOH97RW1LK10SFK523WLNAR55L3LS4VQJ2QK8VU44CBFFOMICITDCX9BHZG7PYB6C9T2W7ZC2G629K2ZTNDQOS1ZJDH2R0YVSWMUTJ6H1V8NOHNH0H9M3G84HVLTHENZZ = 36#7E65GQLO13FX0TWIC32JQA4WE900I99EVJAVCRA5LG3QKTSPRREV94W1E3QKYT4CL7OGMK5YOUAVW8LAP4703ZGI3HIHOEL9Z6GFFOEBE63DD6UAX1J5YL7B8W18LHN5JS5KAIGX1SFWE3WPFV9PN0SRZADZPXH62BSS9ZGYD8HMWBZY2TPGZ43FCK8ZWVD79MCUS7L7ZP1OZWKLT668ZJMD53KSDUIGRD1EZ2MXGATEQ0HHWWJD5SD5U7QOWSV6ZY480SA0T4LJKG5JB1DU2LGKJW5KDZ4RSPEO01H2G5T6W1VRQRM0FU24RKP8PCI5GJ2IUJEJ8P12PELKEIBRPV9SY1XW8SZADGNCDBTNQCHIBJQ70YOQ1L0RXSZEHNBU2DC0ABTY59QZ5MMXMNY6J676ZSYGWHVW7C79S6BESP4I5AAP4TG81YB3V96HIUO9YFCFLH69RTUKPWZ7WDD58XOWHJPQ5G8KCYUI6B6YQQ9OCP4WHHVP6L3L9UZVKTE9C2B15M2Y9DL8B0NCOFM12GVFJJRAH0Q7EHQGVUD1D4NBLQ1JOGJKOSUZQT1CS0APTKOL8ZW6L0O9EQDVKTP8T2DT12LO9I5FE6ZKACGSC8KZG7QD7OL95CK4W5Y1MHIMV1I0JEPZVMOS7ZW7MVR4AG4285DW9PI57IJ30EJY1TH0WFZACR8P332GYOE2I2PMACNOEOWEZDS3UOQWNCCQSQQ1PQP9OLFSH14L5CNWUPFPD5JY8361SGKCUUEI29T94YG5EC835THN0H10J98LG0FMCNFUKUDZR9MAGJXS9S9OK9HKQSY263VI5DEUVI3V4JK5VWGZ05585UPR7RDSFCVWVXVP3D0ZSWC3N851C6UYR94WP6MPP7OHYGM9LI0GPOTA9EHHNF9WJQ83HW35BN90BVHZ1Q4R9A715FLM4YC6USEZHFSSI56SYA4ZIZWH59IZ7O1ADA4KOO5Z5PLBBRUJVDHPP813G0DZL36JL7ESG9GWGEVHE09KB4O6J1HA9 div 36#V8Z3GEWJFV1FXMEXCUZZ8QHFB6YH8NFL9M0LQNA350TCMD743TYFE9II3HXDY63S80FKKNC3AEVR7H9ZX6RPUMKA6R0YQWQ23RUM8V187XIFSCRSJW3PEZQO4Z5V1EQOG3P9NX9W9HA7JMPD70274EMH79U16YUBYLE1JAX8VJJ9JIR8MN55K9L8S9YOL2DGENTDIAG5GTJ6FNLDOEKEEQXZDC7XN24H0TZ2NZZGQJWUV56PDND0L3J8282B6UQEJD9TCJM60CZXC1OPYLCVLQJHZ8YJ4BJCT9J2JAFKGCF0BITLHXADVH80F9R62WCXUOW1VR0C3KK43OFQYA3YQSKCQ58TZI20KBMKGDVDQZUGMIC7LQDU31O0S8NPHWIWVTEYZ0H9NS2ENM00QN8GIZQECXYO11P72CS9AEG2T8DD3NDSIZFBXUJUSJWQTKFZWDGPW3WFCN6DPW1B6B2NEOJ2BQKZ1P77IGTZHARWGHIDEHFXH776AQVW9UVBUIFSGO8PY37NI29TI2MTP2TFN9N8DGJQ8IVBXWPJGHKZXAUGJJQ5G78L6HZETG6LLIQYAT90JNBGU2AI0PMIPR. +-36#B7L5442M2NNA85V1B9QA9XWICQFDIS6GQFT6IRA0NL055PIFNHVRD6WBQ8O3LZ6M2IGD6A1CH6B0ZEOBX608O1R1DYK2WRBFLE5JCZC0I895X7U3EYSPE55K66DHOPFM80HD41STPCL49OA0UF5AKHPXAEPTTK63LTB99OQF8KAVRJPADSJ9VP9YR57IG3VLJSM1PMLYRMPY6PPTB9BV35F2PZ09LZ88NVPXDZIXBJVZQHSK0OFHSCHUACHXLEQD3G76O4M6DZ7JMTAJZ1P732MDPGPZA69FDRF55VAYGR57QFKZ8LGSLRXL473PENI1QMOUPFKC2FE1J2R5YUAEGZJIFMA5C96JWI6IYP4NVZ167LEHCTH75WRT21UJWW3APN2GJDBRXTEL03KWIMZ6T1NWL79KJZJPUQQ0QIH5JNY551ARSCYB8P1UTPPEB20GD6VB0I7CCNH4XVTSE3S1C2ZZMCQIXQPY0 = -36#FTSD6J4ULQJ74VZ43NCK24X3A4R41IF97FTSO5CBC8YQKZ02R3VXL9TMTG9XNTSM2JD7D639WISC004Y0V98WL88X0WYAPGORZCZZESCZ0ZNV5QWCJWULKIWE4CJUAMC4H4OKSQUVBAX23RB61V0NWFKWUX78RW3TMQWRDZOIHR8OYJHDSGH4BIFF9JL0PB8J1QI9QIWY07AV9R24NFDZT2I7ZLOYN6SL8Y9K38CZ16TEKQL3QDIWGDQ754FP7EWPNRQNUQNIUEMU8ASOSKET1TDHEW10M7GWM640HXM7KXG2YE85D0DIL8KXFOHP1Q8KUUXS5MX0KFI2QO2H329M6QH1Y145KDW8YSX9C2W4R02YSJJX4OGVQZJA8F32GOA97PA6FGOFKHC336DDZ3GGIU4L53NOYI2NDQWM9ITCZ9UUSM1ZBAQZRMLTXMMJO7RAG4PPN24OD1XDS4ND6005PWF2JPVF0HLK84JO9X6LDUAW2FZGZP1DKNYPCEWZ2NOIN3ENRX9XN8SDFYL8HCD3OPDKBOW7S5JGPP5LJCXTTZPXGYXMKLXALHCFZE4CGB1GHGLBTWWLC220 div 36#1ETPC4S0EV68N0VMHANGG43R2DD0EF4MB6SWBBSVERZJ2REYSQZPVGVYOMYZFVV5TZIOOYFWYBOQA7UF26ZZQBUZCB70HXKETKW7IHS6KGELZ. +36#1OFKYXQN6A7131R0NO82H7UJUPDI42V8V4519JKF2K9UFK8TKMXPBPFAWDPKIA3NWMFGOEJXKHU7DMBGKMG3OZZU2ANBWM692B49YU11AHFNRQ3RE0EVCV6ENP2UTT8TRSAT4A8K7MYL8U1YZGL9WIA9UMUHEQWGH9A3IALREAUIFBX83HQO1WMVR1RY8T1AK4TQ1PLNLKJA1NF0F6IQ0MCU0ARQCKXQEKZ10FMFA1OSIYW8Y55TSL9EPIS3IBFFHV5NB5524Q9HZ05EU2G2DNJ1RZD1KQEBZRCMY2YFWVESH03GLCHIEW3N624G851GUIQZHMTFI3CB35QUHMKFWI7HMSXC4ER37UIKSD6QNLCLGZSINKXPUUB173P9Y86CIQG8KBKYX63AHY70IEBJWJ3VDZJ86X1IR3TA5WK07RZWN1PW1QJJQ3LM52MWEWRRU2RYE8XTJECW4FY0OQ6OE4M82LCYJG0TZAB7LLS29SK5S84JZHFX74HJD5SGTV0P5OI3WVBF3J0IEGEISMD7F809I1MJ8A8DE9DZCXT0KG0JOKH46CIAE35T8B92QOOFSO41RNK4H6VLG1KLG7TFJ2OBW98TGYOYZ0YU339RDUXB002YB1T31XB8ESWQ91B7WJ1KX1C4LKK766QB2866XW3K9J67H241EMLCO1045DLE09NCXQ1KNFURW92ZVU4BKNEIKHPKMU6P7H2D035A11AN8T7B0NZHWMPANV8Y645V429LJ3MK038WYL5XEMD8 = -36#1AZHQ2U3CIBQAQEJO09FCAGNECOGJFETMKRKRRIU8PUABPMEFOE5LK4KZSN6ZKHDYFHYBJB98HIPG2SGIT3HUMW51Q1BYSBKYEGP12WO1EBF9JFA5SK3DNUQ3J0QAIOX54FC1978AX72LYY9UAC9Y27FOSEYU6FGV8R3YETRK3LBSA9GQ6F07IGLOYDX3IVW0U99GPL0CM8HB0IAEVC2KSEFWQY4IC61AVOB96ID18203VLKUAMBF9E4GP6UJY2F5KS4YEEREKZ71HXGXO0MZKK3AS27HAPI6DB5JJGAK5N1BBDWXYUA0XYQXHV0WHNBPAOS7Z3UYMOOK2G2J0AVV0XLDVTOJVKQ5KYUV4AZ7AY59ML1CZXNX5YDXWI7GCI0BQ55Q85VKRHZD1FSVEPS2YRAVL27XZ9EAG5QA0QU1XW4YK61Z3W4DNE5VQ9QKDIMK6C6T06HC9G5OGTXK2O3LSOLK150XX8O5C5US4Z7VGRBU6Z1RCAPHHIN6DVBMPKG0IED1HVID870Q949HDL1NH1CQBGIQH27O0JPN6YAPEZJIE3C9N5TZTWH9Z0XQBZCTL2J8YNVIRQFW9B0UEDP0OVM8DS17LFW65LMESHMP8XBBHD3NBZ94DDMBGSA382UYQC8FAQV9XABJHYAKET49O9WGXRWKRX3LSCMODU7YTQZ0V7KNECFZHQKKLUZRW1AXIF64AZWF5HDS8QAQWLV8DDSE7R401CC8QG46I8JHPZH1S5E4AV5HDJFJ72HX1UPB2HLC7HQF0DBDI57B68PYTR02RXZBVSSSHCWXOUJ7PB9RMTPSR7LSHQZZIASZH7GX2480PKESMDH0D0EU7TZ6WL1RAWN8A6ROZ0GVTJKESALCPFR7VVQPM4JL0DFINQHRLDQYV4IJMAXGE6MLZPPRS017MXTQNI1MEHHMXFR8HXE1H8U01PHM3O8YZB16HDSHQ11WZVV47DIBPCM6RCB94XIKBYZLILMWPBUDSGZC div -36#RZMJMY68LB66Y61DRSKDCDRJ7KVG0U81IUI5M4NSL5D7JKQ5DKRGNIDQW9IQ2GPDTDMSK91VMOLI3PEWI7BXZ0DMDNL508XAEL3Q3W5Q6GKM2MSSODABPBITUX9LD51XYSXINWZBRIJ25XQ67LHIR8BR1Z8EK7Y6YDHW2HHY2LPB6YCF1DIPBXYCT8ECKGUHV9W9QMT1UMP310OFDJAAXMVE2LAPKJGN4K07UAVZ6. +36#4F3WPHOPOD3GLWF5QQM9SUFZ6353ZID311A22PNUYKZIKTFDPR33R5KTR7S1C0USS0XC0XEITVRSOVDP0AROPYJ7WTASCZ7E50L84RP9W9KVX8X5PVWDJP2DMVGJ101GRB6O3I1NBNSM0T02BZHL43EJWZ5IP14W81M6E51V5ZB5RVOPT4YP0MLKZV7KX94LZTG9XRIE9K5P1O992RALP3L9R8XUJZSUT5YKZ0CLY3X3QBIHN7UMYIBLRPBJV2VWTZO97PLSEESAK30MUC3RZVNWW7EMRP3QBCJHXHWB7R275T9UXISGMBO2ESU32KJEQ2ZKRJ0DVVP14ZHR1JY2TT2C7W7K2YLRJ72WBGPPFXJELNTH129B5ZX43CPF1NWFJ5GX1DM9U157REBQU6L6DI7B6EIH2SYZ2PWL6IBWW3G73V3IBYQR3YI1KFCI8W43QZXWKX8KMPWTMYSJBZOIOXXG7PCZXTB8POTRXLSRT5YQPS4AA9OYMIP219EUOMD4QQY7ZPZ9UEMA8QYR7RE9MFJRS3CCI0V4C42ZXFUR7QW9EM7UBYIN9YIM838QZLY2XNGIGSNI88CM6QPVF7661OP3O1BMPIWIAQJVMXFAIOEV3AA6YY1T6C6IL4NLUBYMH5J5CMC1H3228DBAFWU9QG778U57BVCLB2IAK4QR3MHGEWVOK01FG14SRYKVERC9G38GGO4FVJBWS9COV5KS43DQWJZ9SRWS03EN3DNODY61HN1M407T6ON2T6F18CZUCUME2F4XLAMQQJ6IZALHWQEOR92RS = -36#W0KQHOLZSXJ2EOLEN7UUNGWF9MDIOV4Z4511NUD5B1IUHABOFMHSWV1JSWUMMMQUH127YEMAJA9SLT7ONXO8DKJP7RDO1MEIK293G4AOG2ZFMQWS4IYV3NLQY8FDPJT2EU6NH83ND1VYSSODUX41RK0HCIZUBYM7L1M0X97WKFXLJDB554U24CEZ9CR9W4QS7OJNITBMXCQ3ML3LXAHIPIF1ELU6SNY8VLHHLB0O1F0IFRUJY4RA5L7T53JHLIUZXMDPG1VG8M8M3ZJ85N87WE5CDWTAJOB2QFAGA6JRRCPH2R0ZM4ZC80CPLLG4TEDLD4PVSIWJGIRG71G719TPVTC5NAT7H0K2D3V3U5VDGO47898L1HD5KT33QA3PP6J2H44N967K3UV1HL6Q2QIIVIW2RA05C66K6H1SRF1JJUHVQX39A3ZOG7DX67TCBH4GPNFBGW03IRHUZL5ZVH2JAFRE9ZMT2T3Z2GHCO513MQ51S51GERLY640YXYKKS59K * (-36#4YWOD593037XHXWNP8TYNLRWWRW32X7L06YLZE186K1C37ZUUWJ90UHMF0YGFXWGG0ALGHZSVTENGWL1W54GZ7ZTXOIZP4V6QYVHUHICFWG6NSLZUMNAH9L4WH74X3NIYQL6R4D1PPQMUW70WPDCWRAAW0SD7L5F4NPNTEO4N1OJFJEZ85P8W2QD3X4AXTK60VHSMLWEGDEQCKL5HD2NFUIQPN40LUO1ZIVHD7OGRMHS6RCQJK995PX7GCKAUQDJRZCVVSAWQMD7ICO35ZWJSO5NTB485). +-36#NB6MDNNE9769CJFVMT8692657UXMHXPC25L4MB57EI7GWGMDLAKH1W393KMQ5ARYO2SL6Q1NDVEN9XG2EYOWCN53ZPR8FPIQ5ICQLZQKUBP51FDBVBR5N9WMVE29IZDV2ZFAL5B2DQGB1Y6XNXD2WXKE6CI06FW6RB8NU4HUK0G0BHIF4A0DJOW2CUSZBVZ6F9BEUK4CXF4YZ565MG1H94AFLVQ2R9SXGBOS6T9AAGG8QUXHFGSLFRNNODGWDLKYJRK3XNJEYFNL62PS6EGISUEOQBG94H2JQEFVSYANPTHKY44UHW9E85O4QVARE6XVOUPPIZ3Q2L9A7L07PEWA4JVJ1M6DX4M1NW9F5QGZJC47V1BWEIEZ4MLWUR5S6GMEUVUTTW481M31IU3V25ZZ8ATVV7M85WD3LQ126GAWHN13BN96D3YB5R83GFC0O6D6DY = -36#57FM999U9NKAAR139PZOFOQMM6C0L0FAYU01IV9Q72T6Q78IC7HZKJ8LGX3ROKMOIW3V0V0Z2VAZPBCBAS13C5TKK3D2UB2PQMVXV1IEH16P1I9ZCTTJ151WY3I6C64YGBYMWFBPM4N2UJRPM2DUVODBURYIKKV57WG1ON2LLIN7M219MMFZACELHRGH1ELJZAMGLZ0JST5R6EUQ74URK8MOPIQDF12GDHT4OMP9NA6WUBWE3IXND3MWVL15VIEA75QJYQNUPFYAFCX8R11GY698GHJPBEFABBXLVH9DX8RODDXNBJD6B0FNHY7G6RULXL8MXZXAXNEY9UX9850KJEM55G2MGWM46KIG9X24NT4O0H2XCZPUNUMZERT5GJT0BGDC4OUSRR868GKQBKU5SMJ551KZ8FS6D5U8REHDQN30ZD8L0XU140QW9BKCCSUABVD586IZU6MBSU7Z69KVDE1FILE6SDOBLZ96K3Z2JINR8HV9N0Y9WTEPLJMOIYKZE5LVDCEGCU8YXWZJ7KPH1L13FM2ZAL8Z5SJNH72O6BFABOBJH65QD3X1O786KOGXEZMLBI6GI2VE73G2HLRG31JQRDE0K1UH1AVUWB2WYF62EJVD18QGQC6NZM4WV702M17F9TR9NECIHPEA div 36#81GQGC9E3EDX0KLFCQ0IZZEV9YCF8E24QTR3U27ZLABLLBKHZ555862Z7QFUQGZTYO2P9IICDSMFOA7N1FW7TVZAW655QMTM6CCK3DX0SM0U3DGQ341CCMFUZNH1NLDX84GX6B8IYTJSBK324SDDMW6UT56I2T7BMV5L9EMWAPG0L4JSYVJZW6OQTXJQLKHHN7CQ5LHNARLJBV. +-36#57FM999U9NKAAR139PZOFOQMM6C0L0FAYU01IV9Q72T6Q78IC7HZKJ8LGX3ROKMOIW3V0V0Z2VAZPBCBAS13C5TKK3D2UB2PQMVXV1IEH16P1I9ZCTTJ151WY3I6C64YGBYMWFBPM4N2UJRPM2DUVODBURYIKKV57WG1ON2LLIN7M219MMFZACELHRGH1ELJZAMGLZ0JST5R6EUQ74URK8MOPIQDF12GDHT4OMP9NA6WUBWE3IXND3MWVL15VIEA75QJYQNUPFYAFCX8R11GY698GHJPBEFABBXLVH9DX8RODDXNBJD6B0FNHY7G6RULXL8MXZXAXNEY9UX9850KJEM55G2MGWM46KIG9X24NT4O0H2XCZPUNUMZERT5GJT0BGDC4OUSRR868GKQBKU5SMJ551KZ8FS6D5U8REHDQN30ZD8L0XU140QW9BKCCSUABVD586IZU6MBSU7Z69KVDE1FILE6SDOBLZ96K3Z2JINR8HV9N0Y9WTEPLJMOIYKZE5LVDCEGCU8YXWZJ7KPH1L13FM2ZAL8Z5SJNH72O6BFABOBJH65QD3X1O786KOGXEZMLBI6GI2VE73G2HLRG31JQRDE0K1UH1AVUWB2WYF62EJVD18QGQC6NZM4WV702M17F9TR9NECIHPEA = 36#81GQGC9E3EDX0KLFCQ0IZZEV9YCF8E24QTR3U27ZLABLLBKHZ555862Z7QFUQGZTYO2P9IICDSMFOA7N1FW7TVZAW655QMTM6CCK3DX0SM0U3DGQ341CCMFUZNH1NLDX84GX6B8IYTJSBK324SDDMW6UT56I2T7BMV5L9EMWAPG0L4JSYVJZW6OQTXJQLKHHN7CQ5LHNARLJBV * (-36#NB6MDNNE9769CJFVMT8692657UXMHXPC25L4MB57EI7GWGMDLAKH1W393KMQ5ARYO2SL6Q1NDVEN9XG2EYOWCN53ZPR8FPIQ5ICQLZQKUBP51FDBVBR5N9WMVE29IZDV2ZFAL5B2DQGB1Y6XNXD2WXKE6CI06FW6RB8NU4HUK0G0BHIF4A0DJOW2CUSZBVZ6F9BEUK4CXF4YZ565MG1H94AFLVQ2R9SXGBOS6T9AAGG8QUXHFGSLFRNNODGWDLKYJRK3XNJEYFNL62PS6EGISUEOQBG94H2JQEFVSYANPTHKY44UHW9E85O4QVARE6XVOUPPIZ3Q2L9A7L07PEWA4JVJ1M6DX4M1NW9F5QGZJC47V1BWEIEZ4MLWUR5S6GMEUVUTTW481M31IU3V25ZZ8ATVV7M85WD3LQ126GAWHN13BN96D3YB5R83GFC0O6D6DY). +36#1R2C304CZ2KR9DL98SCB34WUMK2NKXIT19B9R2Q07QTHYDLK9UT74IELA5QHQ1MWGNC7D7RCUQRSBUYQPL79B82UG17JNUIJ68GAZ0HJ0K4EBH06CE7TWTTED4TN0VNI5XW4OQE7NT28I29ZJXOKSTB4THX86D1JI7APVCGHZHOO59JZUPIOCENLJ09HV7QJVCDNHUWSKDWOBS8VFN6ING3JT1NFF6TIK466Y95BP53Y7624W447PROBCMDNRIP2FD2FYFLYZ8YOVZP0XEKWMFT1DP83LQOMF779GUJF4ZJQ95DJQ4TLLT6AU7C7VD003YN9GSOIQRJ1K4V7MUZO7955OBKDT4WWH602UKQE0AWS27MV3UAF3O9QT98TQI9OSVQ4QGXA4K79YMFRXBHFQSQKLZZGJ667GH95LV4Y8Z12KD9UW1RXUZ98MU1RTMF4KE02VG = 36#11MYX6HBMJQY1TJT1AWZ09E9YZVW7VMQ2T7VY6X0760E3WSMCUWBAHPF56WOLP7AX7ZW2020CFNEHVAD1LY5LHMEUZC99SJQ7RBKUWCOUW6PGXGHBCH9KCU8D1KH8CJYFAIDPIQ9BJP3KVS83YKDR9FGPHF3MLGBAWIHIX9MJWGQ4SCGTVPYS1RF37JVWHMGWQSALHL22EXOXNWIPSB5KVJLF1003GPUBN0F11QK11K1PAEQ1J29RD30Q9R3TA64PCZZN53ZA6HYN2DQP63OJCWQWPTJJSMKBCO0IRYBRO8WCINQXI3V6MWUTWJFDUJNP5W553WCZ0L1S21AWEIC486X1ST46K0MYIBUDFLIPQVZGL0OER2DZQLQV9BA8V37V2QSIPYDYV2T69JXIHGSD7O7I13CVMOVTIZJFNS9NSFGERJ18RKI9I8KXM8CGKSOINDF8QQ7F3TNQPBR7ZA5EQJ7ETET7JJDERA9OCUX3SFLVKUNANFAJC7FUL0Z1XEZX92757TQ3ZEOHRVJK1JCVQRTLUR2BUYP0F60GKQ7H3MEEME6X7G83YTPCXNNPN6P61DUX04VXSOUTUMPNZ5XNA2Y287Z9MMAB58WXZ5T2MKSUWG24A8UK83DXSI2EMD8HCKH3AE51HBKKVWDF2U4GARMVOAMLNYSSQ2B5MUBPX8CQB68FIKSZLQLEL45IO31K5EE02ZU6079ZY7TT66AMW52RD2O3DGT7HQ4E00VT57W0WN9PJWL7EC2KT9ZXHFPH52N7EF33IGEALWICW5BL57PHYIDBIYRSWAPHLX83QRIGQY7UWOXR6VMONMW div 36#LHGZS66EXRS4ID2ZPWLPJ4HYQWH7ZE3B03CUKQJALDT4BRKPG77X097IZY16VL091V6W9ILS7R2608KF6PR1NS1WYM7MQZ8RW8SOT8E8P5OC31Z2HWY35SJTAZUQVCCMZX1PJ60OIORRAZ0JSXTDBFVWD1PRDAC0FK0J3S5ATN4VMTSTMIGM5RP62ZNLI5X0PSKXXNYRREIG406XS8XA7KRQT5OYXVX9Z8G6Y2Q2ZANQD0S1BWK3W9O9GMCDQJI2C27PLQ6XKA0EL16VMLIA5AD265XUU382L9JH0TF45LPWOUHH9T6PB8OME3E55PFUAX3ZQEFTQTOZD5QJY6QJ91QQECGWWZZ75V1OOQ17VB3L7X0RI2LKB2. +-36#7G6AQL5JQV3SV4HU8E7Z5XEJ7CQLQDY2ZXQ3KZ9HXPYKPTNWF4ID036YGIUPAVOM5XYI5WJRKMKNI113K8FYM50SWNRJFSJL2TMWDNPS5CO2PM6HZBVOBDUC19KWOJHGVXZI0K2GR9VTF38IUAGXU87FFYFARY3NTHD3N0ANFL2C5QYZ2U2FJLFO6ITR6DKN3XI017XE7VQEUY7JLTD8W6IUJ5I424VVSY = 36#BTSQBXCUUIO11UMH07X32POLSK237RZY6YUJ99Z5DO31UE745SP02O3BQX0X9P2GEN6C3M8UX7INR1QX1ZB72K36DWUTGAOZK1VA25T9Q07AH53165DVX8828JC5CUNI52FMYTPAQ50XW03SI40OCP2DMLURKVYOFUDKWTA6KH09WIRRE5E7RTEQMPRC0Q0WO1ACIO62TOUAZSCI1MKPFYEB2GZSBUS7AAGT2LIVI8R5I8R3FC3HBUENAIVKTQ5SKZ3B4H644KRZ4QRY9QXTL8BA6L540N1F2AL6PJRX12C6XVUXOK3RWLVD41EDBSV7CB8752Q1QWRJ15IX9YFS5HO37S9GFGQ78V71CHJG1SP2TC0FF7YJVWAHRUOFUVTSKWLSCFDPVJGPTL3RD1OB14V6HC8OIOS1T5CIRV1P920X85YFITRH5L9EP2GI8PGU0YEHL98B0R4FV76GECTJ94MF7TU4SBBX38D1AY8RUNFT4R7M37FU7E2NC4GL8GUJ9K67KV2YVCNZSD95E00UJG0153YUTN6U5ARFSQEERJ1TZZP0LKOIR1FSA3OYWV94KY82SMZWI4CMZHVH9GOB7GYDDKV5MA6EOZ26CC48474C7ZEUNLKR2MSM6D5BLKRJGCVARAZVB9CXWYIXWNFS249WFGL0GJAA6CLXKHLT2S6K2VOJ9VYR1RISOP640OAWNWNZFUMPY3SGZBPUIWN201F3RL59CN2YQGUVZGIOZU5Y41TV82DF1JL7O div -36#1L5QN277M51P3NMVFUBNAE0STG8W3X6IBD1KHDTNE3LNL19N807PF4SUBF5X2K3PI18YU9XGTYDB81B9FA27EY7BVYLRS8O0CW4Q4AX60QHTM5LVST87G18KFC0YYB9KBFPPSHPRRQDWIJ0BJ1DHXXOJUH11DSRTHUJLQ44GMJJPUU8T0TL4Y3JM8TN8IZOKP1DK9T3QRQAOK2LW1149OWMU61DDYR2XNV2C3WY14F84X28ORGMJFP4SO0XTWBTCIAKL2YEI5ZEX3W22MRGJLP46T66GOKJWT52GJ5JSREZ3RXPC3FPWEERDI821CDB6N4TJF0MSBSPUP947P02SF5MSLI3WZBHURVNJ63DVHD5JUZ2SJXBRFQ98W6CZMLJ3S0U1F30RZVZ5Z2Q7FIK7CJRIUSSV91GOR291CJ8UHLKFLEXYTAX1UAG9T7S23CUV62B9HIX2YLPWQMI8MPUMLWSEKC7D195JPR39HM8K3BAC25QXAOARE6YXE5LX7DP6N584689GLE2TLP4PRG1VISB6. +-36#NFD8JATPXRKRJ68AWSGBP7U2NKO1XPSB1QB856OVH5EWWMQH1 = 36#GX43T93HFC77DCZJQVI4Y17ZD8BMXX3FLKDLYW6W7SPJ5IYMDZ0E57IUS5V0GM21X8TXPY9AZ6YAQ96X8L7P1NUWDFHQAF7GV8 div -36#Q00U6XBP4VIQ6MTYU9KOLSGKGO229PT63GSD1GND60FZZ4638. +36#E4XMBQNIMJD8V8KA0FGVHBKSMQE10SQPTD4ZCRKUK454MNPGK = -36#Q9C04A1R5UXQCTYZH6D9XGSH1UVWL8MZFWLDKGMEA8OXOE9NJD7YDHDKVTSLVIWQRCMVRP8L1VNBTKXVUBPMA4BGS0KF1OQ7JG div -36#1UVAHHGZ6GBAMVS3KH6GDN24I413J2OJE2NK4YWR7EYIYH8N8Z. +-36#WFSKNQAD6XY0YM3PGZLFJXFMIM40AZ3JZIYFQWGR18L7V3K4H54990STLW99FHHH0NRAO71MBJOKCCLSTOUI9JZB7VL4G6W09W5WWDW4C8Q3RI0AQSHOM3BA5SRJLVV96G74NIU6PVETVIP2B7AR2GPVVSTO1SXGT4Z03R1NOCSRB24G2OCTAUS7V7VMP69WN2AGZKB8KJCU7G4V1OH0GSG8VI6PA88DX0M8E2F0FH44HWW0TMRCXND9OLG6XTSBA6J3R4PAOC2JJVJVNKVO24EVC3DP0VDL07LRCR127JEO1CXJ9GEZEVO5YF1AHCSWOFL3WOUBNP80NPC6KFWEEKG07O93DIFXMRL37HKI4OQ6YEF6UG3U7OG7EGHC3IYVZAK77AERDVZMINPGRJ5KGPQJZWVQM28LMVGG8OE316OUGEY6A789Q91Q86JT7D49R10218CVDUG1QI3Q1RJ5J5G4WEH1V8TT3KKGT5EJ8D3F3F0XR02IZGAK1SROWS6O1O4NH4HRGZCTRLC5SMNVSJ8C7UXACTJF8330JMKZUATP8UVOTKQ8VPOPV1JPWPG7U71GBH6V5ZZUAF4U5HOTZNAVKF32XQC7IJC7AHG883L8F08ND5HHFVD6KSDHKZS017PH8C3O7LQ70BQUXJRAX21YQIAIOB2OTQFXWT3HHSD = -36#1JE45TFZVAACGVEVXWRW9LVGQHSH3BYUVO3UHYYSFYDXT6WJYWGGBDK9JF3Y8EOIQT1YW6CAA1S6B94HMZ7KRXUBSD7OONSIPA59OOE65D29NPYD2ZSOBAX7MQOG2R7LYWOHCDDHE011WN1Q3NJYWH6U0W2D58UTF4AQMD0X1PR4E69WHWV32GMH1IF65RI3YF9VNYSFI94NCA9GF4Q0ZKCX0J2PNABGM4I68JEU5YD2HWTHWDQACGD7WG48WAI9YU6I2FN0DKLV8JCTF243DYZOJZRNDFHDEGK9BA1430NPTLIY7G2MS6WXK4LWF8A84Y2XCM0SEU64Y01YJOUBEW7SBVEB4JR26ZC0HP9I6M7O3NX30WAAOYTOQKG7URII6GKGKXDUHU7R3GXJCDDATGWOOMSWF3DIM650J24PGLLQQC46PK45PJR3R3L77RH7D7J7MAKNM526O8IA6WAJ7GG0AF67FSVG79E5HAWA3TVDSNWBWN995AXMYKJ2IL5VI3DYS2UJLC9KPWP4CB77KCL0HGELFQQATBJ8ZFM7YV9XCVVC1TQMNTGRAG928IABGR8SR9COYP9OXG6BIZ6P3HCBCZ0NAX2UUAGM16MG3S6G4S93JBSR46U3JVXB54VVO58XKVY3MVBK0JGTJI52GKJTNDYV8MF7KMDH58PZHYUTXCI3O2WZEX4YY4PAOKE7N768LJ97ZE03JS5VP4D0NPF8BFRES19MXY5J8BM2QYDCB6DOT45WMUSRWQLIEFT3I39YRHVTKJU7IUKK7YB4HQMII0X15NQUIONDLUV97GWWVJ3M318QJD8EAL9GMA4YSVD3EZCY53J2CFUVQJPGNZJE6NE96TUHY3ZXXWWK9FZ5V5SMNQ21DP18URLL9N3SQGKRCIDG72AHHFARII9PUQFJ9D1JOM28I4ICKF6OUWX3S78B5E6HGXXSU4MMKY5H8WSKUJQ5CDM3GP96456HE22T3MFXURMCZUESHWRYVS8NKP4Q5J010QMLOBI7QUQ5RYAHP7E04XUKC8Y3JTTUCAIQBHNGT4A div 36#1PH1FEJK64WBHDKGOSLA5JRD0P331Q2F6RLZEZTVWTJP0SXOJHHIDZ9TFGTDLDSN3UFF0EQYTEVNPWGI2TEZXMYVS7USSY19EIU5ABIYX0EJB69QV5WJ8A24X89A4JD9WMFA5IPPH7LGD2GLIR9F55PAKDWCCWF9MY9HLTYGJZ49CMZ8H67DHX2B8YPW1W3K36OVEBARU97CORNYO3HX6MYYC09FEBU0GF6WM5EJ2AFKLS3DFME0B9Y5F626PNBJIN1BOGIW0XSF2ERVQUOE1IOSGGJ33J7R0ZZUG6YUVK0VVORW9OS1AZH3J7QV68W06YIT6ZZQ4XFPJS54BSQNAKXN7AK4SX26Z8ENHMQXSRXUA4KG5WCY. +-36#BBHT2SZGOAYD43KY9971TVWGUQ8PVLH9VJB9CKAOEYBJ9A2DY27ZXDZEBE9C5BM8YM7CS7D3SL7IRDY3OCC76P0XJ0N1NX76DONZ6GDIFHMJLRA3WVXTOV8EKLSBZNEZSNVLGEZMNN1DHN4PRD7C4VZGFUASBXUOQTO0NTUR46AQGB9O1TVBO8KV0DT940JDBDCITAF4M9UNSCJYMF75HN1FYJFH6MLO4X67ADJIB3TLPMT4UKCO94C2I5OMJEYGCYJO1A0I6A2X6J20JOV9LK2NAA337UTWADVVUG1VL8VUE8V1IYI3DIPGU6VMOP8GQ57R7EQRHIC372H692FU24ZSBLPO7CDTOX6LVOXZTLWILWDBFUCFDJTR86YSA4P48VJL7EQRCP9JTLMOQQY8ROSZU5IDP9M39JC1PN8LVEIWKQBL0CACQJO259BF7XTJ9JTDT23DIKYSP8VHSX9EU0CPSCBVGQMRV3JKM9WD7534ST562SIUNDVP04IINQJOZ0O6YWC1IZFROO5E6JQ4CV383UWNAUSUTGZHL2CL67E64SN7VP0BHEDKV0YCD8KJCFIDVRIBDY5EEX11KCLYGBCWXU4WGQ4TGFI3FSAK3LQGQECVI2RLOJT16E9JP2PTEJMU4P1VGA234Z82FSLCDHHDRLVTI26CSKHUR0NSEAFGLLEN = 36#18T3PWO1YE3IRNZ5WUOTTRILEU8RRT6DRETRMBEJRWN5RI63E7XINLDX5E2MS644MX3UN9GI7T7Y36UEBMJQ1J9QTHOYSRPF8LXZJC20VR0GC3S3FMLUIYLM4KFJ0JI5BZZ0HK6DE4WLHUUV92IR892YD5WQGXVUYV2IG503R1L0LDTCJN2ESGAZACQ4H8QJUJJUDT8IIYZTXOI2027RF0YMJ4ECHJH6RJWRKSYBO27ZWEO9FWDFW9IS1LM6X85Y1L4MWZKYYA7O0BRDQOMSR5N5NE371PB71QOPDCM326X6GYYHZ6LU25A7WY5S9H29QJSYJ8F1KGR1FQ2W8APDJXCZ55Y2YMA6MAN7I6CBUQUI1OJYC1P7GA6FFZSAL52HH1DBVZXF1651NC8APP7BVM0TJTRU5YKXFK90M814UFM7QZ5WCI1KAM8DU61J5ZCNFEJ8NY4EJ1VP20FFBIC2UWA4FOTB8FK8M3A4C2V1MHK4TUNXHXG38RAGGEHPY1QTS3IKGPMRAP8M9KKWMH3ZIL2UM4XEYA4VEKV82UWMXWFOWUSDK4L8SFTIBBR6YFOTQT05YLK8FPKSUKW2REPYEU6U6C5OO27V7AUVVQRXO1KVKV5UFWVGPFVAS8QLFKBBMN7273Q2WEG1H6TLCNOYAXUS5WG38SCE5XV1ZWP9CV1QNBZIWXM2G4FPZN3J57APKTA0GT45EL4UP9R89TLABUKYL46LJ24Q0RC5UU9P0J7GED5SBSX7SJZC7KZYXHS1FXJ2VNB5UGM688X5K985CJAGJIDCYF0F51M6XEVSE5FEGAIF3T92ROX18PLYUMV0WMY7Q6LCZ5ELVT3P88JWJXBQ7KZLSOM2S7144DA5PSNRP6PK8D70IY6KXEOUZR297MCVDN8UQC9GPXCN8UROU2LYPQ6ILUOCL2NFY8TIRTX8PJG7K5SQN6DI2148KGKJXXOT7UZ46DSVGS75AAV903DUL2X10N2NGW3JVYOTTFWRRYD0ZT74O6CV2XFQ2TRWC1FNFP575AJKK3TW8JMVFICZ1NSYUXYC0X1AIEH20K9F21J2OU85XFGOWFUIIZAIJ4XLGF92M35SLFIHCI9Z5YULTMH4BW482PE5GY709Z03NLCJ1OEKZSIZZN92R9BNZQHS4AMDNL9QCIGXNV1OLLJZW5HWIU695WYX8XW2OFDVRE7DQUPPBQYJ1NPWCXDVCXR902Y7MWLRRRU7BL847T9LR1TN0JVJI6K1V1SBBNINUPDC7PTM div -36#3YIBV5HIE1X1X0Y70SDKJP3Z6J113C3H5UR5W1NJP1XYWAM0P1S91JQC591M74KN0W4AZYRS4N546TMKKHWTWYSBZJXLQLQZ3NDNE0B7ZM2T7OMSPT6PW5M9D7UEYKNYUDSFZ3PTLBK5JUEPAZD95KXEG6FAABJJEZKI74OBIML3NAGA9HBGFH856IQV7J2NU3ND0EHMA72XWEYLR24QMZBRVXDZMFRTLR547CGXI4FHLOYFGO9VF72010221RE0JRITSABH0M0SX12EBIKTYDGGL1Z1Z51ZEVEKNTIQE7D50ACJGBP98D9QNUJNHBFARJIM01GCCH3LYA2382BUDIP49VNYPUORC0XTVVIQKJJ4VL3I7G92ZKI2BISJ2APKZLWDAJ2V1DEJAGAZUNK9G2M8Y9TTREM02KHUBU05AKDPUDB0QB64LDGWV0AS5Z43DQCMOQ5BS4HK4T861T5W9S1KPOZO3XF3FMCZI4F2JL5YSX6LLSN1DX54TTUFBSBR96IDP1N9XZCCYPWTDDTZ2K1NKDJK6PFEOZNR2UBTR544YMKJME5W7ZU5Y46B6D3D92RQ. +36#J3OIEQVQEQO64IMXM4JQTUVCMWEK4EVXS05FHZIBUHYP2MAYD4T6AZ4DUCD5RPW8M1706HO2UK8BYK5BV59XUKLAOROZMBKKVIEI8N3B3M5OK6AXUSWXIHOVR3G7Y3JHGSFOV685QKVZ7NGFKWWKXRYCG5TSAIUEF17WQZVNI3Y3UJHCZEDDGRA9XEPRF9T5AMCHH6O8QV0ZX947LA7NY2K7HZEQTPD5W06ZSUD3CY24MYF2ZFG7LMVJKH3ANTA4K7ECWW6O5HVWPWEW211VWS8IZ7SWOGJHG7WDQEZDIN6GTK6KZ6GXVSWI13EZKEMKRN6QFHD34S4DZCTLVE4I9RHLO10WYNUI6OMQLK71SQ035JQVHJQ71DRVYOW4N5QOD67QPNOEZ49NPLQ2Y42L5Q71DADOSPFJIVE0P3ERUVGBRZYDDGFYGEXZ3O8CGR2KJ9805S94S7BLLR6BB1MY9XNX0LTOFXN423AJBW4EEEOLKZK9RIYJ1E8K0OI1D9GR4RSO4SHZCQYZTAGQUIQXHOX0DDGALIPA2CICOAL56XL98M6ETM364ERG8WS71Z8ZCTXZI9KJK2JAINV8SBDBBRDX710OAFTAE8XUK9KHJDP0TV5GB9PIL82B81FC5CA17EXA49N8UDM8O87GYLPT46OL0MUYEEC9Y6X4MIL0BHN5R78FLG0Q0AQE4CS7ETBBDCGASLFC2RC0HW35TTWTPUT42RP91LHE5N40P57DZ8Q7XUE9GVD3VY5IJ0S0BI3QYB3WQ6OT79HMDU4D04KROQQGD038EMVG96SG572AKUG7QS9MOD0LLAYR30N12Y9Q4Q9DFY8KNQI2623CW5GFZD0UWXN7CN9Q0UH2IP3VYH5VJWGFU4GRIDGVCCMGVQ228K849F1KM2D1I666EKHXM5TU731D8R8KKDHSQI18ER9TAAQK1DMSIXH1Y5E8KOZ1HIB05036B8VAJ6FL2ZT2BFVG3AM7F3522Y2UAIW56UPKKLUAAEJ4BPEOO61I86FEI42TJEVZBUUWF719WRV0YZWGINL4I = 36#LFAOEASCLYJ7G1LAQ7NDS140BILBSKW3X55KQUA31Q7GFLPQ8BXCL34WFY7YLWIBQZY4P86U6I1NYAIPIYBO0WO8OR4XN0VFF9YC4ESQJRNXVCFB8F0JDYZL5QLO2YAKY6599EZTU3B7AWY7RBMFMI2L0636WNE6C6CMCRK1RV9A0TE6U1DMLDRGQI86G2ER8HLM5GABQU8VT88ZM3Q16O715CQIUNML7W7URQS3LZML08L6S2M5H4D5AC5RUATDRXG4R3NJ9UB19C2D48BR04PFAFQGXCH2Z72H4JK148IQR3ZK1DOY04QY2IXPOQ1Z0WCGQPCCDXF8QZLEDVLPU7ONGE9W514JDLAHWBYZ6CPNPJVVJAFUGNYVOB7L5E8ZK0B30JD7GA0V1JATDDOLH5AYFY4GV6BJBOJFQE85Z6JO78XL1UZKRI29TQX5FQC258KOOP3XTT4XRN0GA9M * 36#W3I1ZOR9N0HMI7746NHST8SNKT19YG96TUALO1XXHCX2884PO5K7SJ4UH9W7A855XP8DYUD8ZJ9AGHBIRAQ392XM9BDZ6JBY7HNMNAF1464C7PUQD9A28OUE03JTL2KD9PP5DP4BEXDGPM86EO4FY1VTIKW73D1XEPPOU0YBMHY2WJU9IYQILNW762PU1XOEOIF0DA74DGRNH45M9CSHFHG42EN3ZYST81Y9UW9UL5DL5946IDEV2O2M1ZX4TG7DCMPBB75Y2K0QSA37YVZXZV6GGDRDNT5AMHWN9DBTGL7XZYDJ66UQ01F1IKISQZ8TMDAISHHEZZKZLMLKNW1AOBOKV2T652EM2POCEP5N5UNSISRA6WOC000CZG2NKJ8M1N8591L1RB6LR189JFT7UFELQ81SEBSWPXY5MNQMRAKFSYZ6L7IJMTAELHK20TZ0SDCYK2YU4LYTM8CSN38KJOOFHYMX7TGD7AN650MLL9EE24RQJ1QH6V2MG4MDLANQZK21FIPV90E4CYMVBTJA7W2HXAQ5FR8CMQW2TES3JPWSUQIDM6VSNWYB1VOKGITEZ68GR247T9. +-36#2Q4KK5QK1OZ06KOWRKB3U0FH9K3URTN4M8PHAXG05NNCGQM2BQK2OX4Y5XERCRQ7DSZR13K7EM7Y56FQWOC3DLCRULCRCAUZLQWTVKELCOOUH6HN2UPQEEDYPH1F27KZ505UF914HSOV2288ELCI0TUXHSDTZBWYUY3DGHUSYLOFG5Y947GAJSLC8RKAKRY82IR9KFO9ET4 = 36#VB9U25XUAQ1GRZG71C1HX49XBOHT2XUZNUFKKO87DMMGMTIKKPLIJUPKREOKRZV51RPH7R5M2PDHC24OF23K7CI2K9QX4PET98G1KTVEIU1RSUD11BL56I8JHPO2G1BHVRKK2U3H616KTQRHWMHHTDAPK * (-36#34TBCYINF39224AZ1ID446EVQ5ZM97B2H5IRCN2FAVJIA1RNVT). +-36#4TR067HXYFNESMF5YFZBTNIEV1FM6SG11PO9OYIONOLG9UVWOCYARR77A44UAEEMIYKUPA5HTIGG979THJNQCDORPW5JUDDQS28 = 36#1NJGAD3HJZV6OLLKU94X4538BNV92XOQU6PZQB1K6Q47P26B7Q * (-36#2X1Z57JIRUY36NZVOQN4U22UZBQSHECJBEH1U0GRFOQ0DOAG7S). +36#4QRJXN987Q9VKQYICH99DTXHTHPR4VF2HPNQ8M3CHWBKKQ3FWR7X1538CUR8MS918AL0TINBN1PUSI37LRWTZIJB39DITEMCQM38ABPV = 36#41QQ04XGTJR6Z6EO39BU4OIHZYA89XM124EOW66ORFT2DPGB9KGN3TXBVHPZ5YNYGBEBV8ALBDQTL71CRGPFQJ74DW10S8OWKQ0WVO8FNASFUAD50MKOQT5X14BBAHGBAVLU0FEL6WNUOXF6R4D5JGN1L div 36#UQ39KLH8WPVV46Y999HLNG6L8UASS3Z7ID9UTU3PQ3GH5KF83. +-36#B4EJ8OUDWLMIFZ7YFZNIO9KFE3ANJXS42P8I5FQU1K80ZDARAVG63ITM6RTXIU3NWTZX3S3UJO73FHMU43MU4Z34C6QBW9QHOXNOMI3702CPJD5LECNWQZIGRXDO9Y0G76M723TH10AOTMW4B = -36#1SPRGGS4A6LJHH3LE0RUCQ44M2QEYD4WJW74GG77602B71L8CZ * 36#66QIJ5N4CUNMP1FXUPOJ3AA9F4H7MB7FHUEO9KL16W0MIC9QHXQNUS8YNZOL8D8FUSK9GSU3D4KSQGG4SORESVBWBBFUBGWP. +-36#3DOXDFXQUVD1P72DIMTH0VCP5MLDXMMJHT04LLHT20EK3T0NR4UP5FWHZ1AU0YNCJF0L564O8NQX101EL63044I5YK7CGIIG436HOKNR44S248DL319XI1JCZDV1HSB3GP486UDRXGHROX8YSY9T4Q829F0K0F2ZTEOSNK641LYESZ3F5CS0I55ZNWA45946M2WOIF78PLSPG0BLC7W2WRCBWFJIPWT2Y8J1BWVQCB7W5VW2FM5XUXMVR3QEPPBT8YGFGFNA5LHF3MLT297CL4PDSMXVKNAZATJ5FCN2WIKSMKS5416TFNWHRMGTGTEB0A6IICPPSX22WKKC52R1XHWK92QI11P980JB25H6192C62ZBGSRC14I7GK5Q0AREJ65GQ4IIAAY41T = -36#9MHXZU0WOIQGTKZTVHKE7XZ7QIVOPSYYGCSLU40V7G00PMLLJ84UT6M5K6ZVZ8M7CDLTGPGFAO8400HVMZGMZABHC4Q80R4B9WLC75VBLLHF2XGZ0I7UDR2PGG1WPETYJJS901BYP9FLAXI04Z18DOB9AVVG2WG2RA8BWJAJHLBC3ETQQQS9VKHH81O2PVRK9W253ZTF2MMEUSUJJ2T6HOHU5O2IWRANK3F9SAXZA093SILGD1A6SX6QM8RZVFW0GBZJDWB10GEGY34T2E3VQ0T4AUSD8TOPS327TEWHYZ5UI8IQJL0HDCMO3CEI3UUEX98H5SL74NS6YFJRSUETB51KUEOUWV8LFQZFQHXP2QPVIKNVLDD5F66AJPX8AH6WIXKBC75VO933WYXK95UVQK43SOD64112S4MLNE8ZG7GC0GYJYXVOSK1Z37FXY7JWX312NFIRO0JBLP2UVJBYUHI9YBEBROMIBJ2QXS5XUI2DGJL55H div 36#2UI50RNW3YFWLXJ5YPZ26FZERHBKQZAHP4CKFRTFGXM1VOSTUK20HF96HWJO3SZHI1CIFZPPUHS4J6MOR3DQ7UMEJS7JNJ7IX7WID. +-36#54FADEBYGV7C44IYZJLMNC8QKAPX7VF9YMUCUQQYBMIM3OY6DV96K0LXM6F5KTFDSKKBNH2WIXTFXVD55IXDBIEPGYWOO8A14W3G4WHB7NXJNB8XBLAR0T9R86LFJOOG1QV4ABP7X0ADYLVKJ7SQ0BYWBWJKNLO02SIXT455UD4CAT4AYNXWZGNXH6XIXE3BELVKT8C59EWFM7ZVZGW6PVKMWJR7SFQDNYGAR3YEZTLCHAJIKD61VLIC7V69SDUBZMTZQCU3Q1VSBP7EY45KZV089E7XGZSH2VRHKYE4DRUBGASE3K945TD75Z67R3BWKDXNVNEWFGC1EC37L9ZMOPXUDI9JPACWBLF4Y1QKU7LHUNLGBVJ762J70NUGID2XX3C4HH8M8UZPL806OP773X979XFZ780O5HJW2Z1DE2F7UOUU11CPL9J7DCGQHAF1VMZK6WAAP6AH1XLUGKBLLDIPRU31B3HLQ63PMNRTLSA36W9DCV5B3AHVUMDWDTOMZ4OGZEFVI2G60IILAZABWL3C6J2CXIFIEM3QARMO2SBFJHNS43NJPMEQRPGK8U01D5GC0RTV28EGHMEOM6SWR2RY34TXULZ7AO8UAT1DRUP7NL7FNGPAIXE5687775URIW40XJYKZIFDCZ8HMQQF4L9C6Z9MTBYQCOK7K7AEJ4QAQJE5H47FZHDFL78YMNCJA19G61DOI7Y7PRS9E15J25LAUSRIL3XBXNMGVYD6A1DZYHRXDNSWXKVOI29EPKS03ANTD1NMOL2ONL2PKMAOJJH3Y6NKTC50APGJHCTO8TXWNN9AHEZ48PUG4L71W7BKI7G53IHNPD8OYVG01EAVJBF8Y35J7PHXXLLJFB2UQJWLJIUV5CKQNXXFR9HKIWBMXIAL5MKCJLNQIF5F0TZ55NR5QZSOOY334W08K5YKFO02KGG0TGXNAO2J8UQJBREUYEANKM2PJXHXZSCFVSAP0CQ0MVJWZG0 = 36#KU1LA7WROR786PYH4NXWMUEJ27PBE55NL18D8S6864U5SIKW99XCMT4RXNGHSHXGURSF7348MLEA60RJ53XAQCZBHXEN963BSHD6MYO7BMDIO3O50VNDYC6D5AMQKV61TCUPFZUZ7QS2ZG0V3BCYGBTKBS6UPKCMLQ6H9ALL33USSXHEXL52OEBNJH4T3W94SQAW8FO81G1S5W8GK6OWPUUP50GASDYLJGD8NBCCEJHHR638RQ1Z2BJH1M67MT43LF49FHEZ39IU7Y1WNWSD5ME7UYY1OQCR7LSA4KW8CJZB6063J8YILWKMVKUI764APZDA7SWTJ6NO4E108RKJ7UPW49H4XLPPICVKEB86GT0BKZ931TZ18U3MD4U1BCRJSL7ATIOGWTNT5FNGOYBJWWNXIE5MO7IK9H10WCJICG02NW56NBQ563BT3D587XJ5CAJRM76SB6M7KI90PU2HK11YH0GMUUNLH85GPU7T8NL2M8V96RC7R1AOC6NVPN0YTGDRH1ZMMRX6X2M66Q61CNV3SOUZ5IGR531HF9UI4FLAFWTE5US3 * (-36#8UO0HUJU8NGYHYBVL6OOJH29A2OL31SA88X2PHM7I86Q6MUVL7189FMR5XWU9NRFKOT1UOJJZYIEHMKAC9OE9WTMXNW1P803C6552S2SP73WGJFJ25MKGS9KW3CD17QMI33MQKYN3C5STIHSA5WNEIDMWMVQDFPHZ4QT3R4KHP5JA5YNFTM0AG5YQMWWA5R53TNJVZGM5D188RC24BA2QSE6RQHO993SMO81EHFTZAZQ72IDE0TLR3IY5ZVRVA0KUTJR6E5D7YI9SJZSUTCHWLTAA59ADB0D9EMYO0QVT3UAHO840TOS77POLPGWWOMEXJUT2U5IFPD3JGRMMBXXI4P90EZRCZP9WQ3OVUKXHIKC4DP9JW90P3FW94NAKUJKB4WADUO8XT7WVF9OAS7MUOP19AJK26X575E6N6RWVDC). +36#1NAPFQ7UC7NULY4KLND5AA1D1TOLHA39GS50GSI5RN81ZUHOYW9NFNV96ZMRUBNJS7K8X8DH97CVCJLB0RVZUTAMNTGIY4BU5KCLIBDJOPWTTVKDMCVG1GPW35VA2JFZHTI8FYNXXZ0CZ714BTGLM6OCFFJ7CFUWGU0PEPVJJ6LH4IVKB1ORN3XA2AI2P669K3N71BI8J7CLTEEYPCBF9XEEW8CBB39RL0DRNE6NX9O90RY6PI7AMG5NZ5M3N2BXK8BGOH211MKPW60FZX5UQ4L794INW773JHV8PFZ2083U74W5L5HS8IQQ0EJKGZ36SHRLVCKW1GOBN89UOGYHQD68RQ866R802I5VA37C6IJZO6ISMUU9OP9CO3D4VFZJUPPVZHHGQ53QMDVIUDGTNWACKI0B8F5Z1R8F3Q0QAECR2OXBHN5MU7OHUSHI7CSLZ = 36#1PJZUUNOICXRCTX58SS6AH7TV9LROZS1VXFNMWF61Q62O63RGW5P90FBXKMZV0E7PR5IGYBEOBI9V5DA5LQ4XIWA2G4XDRBLLHJVMVCWAR3IQVVPQ1X3VKJDZK330MZQJ4878MWHQM63N9PPFXOLYYGAKL8DGVCYKBBSUTC3Q93QOCRHT5G0CP9WJZ9CLEETF71SRO9LVRVG1ZQ64LZJ81XM0LMNMATFA4NNVK5EBIE24887HEOZUYOHBPDF02TBVFRBN6ECL7RHGX154ZTSUF71LQBMW3OJIBF3IR381GK4H9FYIA3CXU8RVOYPJQY4IY0HC6H762G7BRNQITWR2T78W2JKLPRWPR02ZF9F1EYCIBORPWZ11OEREQNDVKX7BBSRQ3VJRWHJ9B3QZ6IRDOB1UZ4UM0AWYXJ9N9XV8RDAJNFW737O3TUEKEY6BVBBD7VE2MWZJ1VON5X3SPMECQO48J2DMBDPPUKAV9WE4AYK7VGEHX912LH660W37POZZAM2YRE7UNRRUZOCNJ4X3FOWB74QP0GDRKU0T8FQHRFSC6RDC0S11D6C48KNAZKB44CHKEZN290S4NQZ11BBYAKNXMOFF2AORM10Q0M8FW40UUO49X4WP82LFMWYSRSU0W8I00S14NKEPSAQEJ2Q0S2GJBNVJ7S8N1I5SFBW19JK div 36#11DCNMW8W3UX4LIBUNC8QAH8ELO6K2N4GDJPSN84EOVH7THEYYYFYKGQI5YNZNZTGJ6LO28BSFUD40EIHG9RSIWKCCE24HWR21C9E7PPQH9FTVTFV8KU5XFT84YLCTU6J81MCLENHDMYEQMN0OM741PC4XMA0SLL7KLKAY4VM5YP3SGZL3OZ9FI1STSW6BRDELYAJN0SQGWZWB519I4ISHW5ZCVUNC3NV7BQL413CC8G. +-36#8RJK0U4788EZHKVJ507Z4N6BE8P9GFRYLEO82OQLWL5AOKYB2JVNQXOG3N5V3Q2OZDA652N4MJ5HI5BSQS5SPKZQKIY0HITKDBA9I4MEEPARJ8DWAABT2F50EGXWSO9G3W1BGI67TS945LUARVA296UTWR0RJDM45QP1RPA65ASHM2LJ8JIK0H7KVNP8CIOKY125PNNBHWZGGXDSPDXMI1INMPK6I14TUAVHLXWBOLA7USI9B7878HRN0OX606AE3EKGD4SI020PEAJER6A7VASB6G59ZURC47KQSZWJCERPH57TY04CI7ZQZIATXTX5DQ0DI6LYVMHG3JTOLNYYQUHUGE8K11NX95PUJ2D4QEIK80B5ELY8UV1X58JR89DAS5VX38HKG4NU280UTRBBNUMVERYSUCQHVHAFTNL2JNE04YVP1B35A3PB8V0V1GV4G3KKDJG4WFMVP4VYD7EL5H75GE06HMB8QIPKE2FSYVM3TTS5UHVI4SSYX2PZQO2HVE7EME7JXBL7W5TU2B6RI0U51J7OJDMMW067GOZDB3O11XE44AV8OMQCR5L8WKLI9W9EMP60EBD4VCTHC08X8NZ777ISSZ7SQTA8JS6VFP1EVGVPHW83J61DXFEEI45PT1XV6EBXY0GP2AF7EMBNKHLZGK9NYY9BW4LDHKJNWG4L4LQ438OBA4VB3IDGW83UTWAXAZL67NKRI1UWR73GDEZGJ7F9WS7XBUBCKOO79ZWEENAA1U6N14CGNBBVAGAD39NBCAUNUEUV9H5EDJXARCANPGQW483KUTULCXV6BQP0C9CM1UT1VSLKRGS6S7NHQZABGCGUA4LA14HL2USKFB7VZ4LMD10XUT0L6DBM81PAHS022L2ADP2X9TF48QTAF0R4BEJCLHTSRY2S3YKVIGPDZFZDV5NH0OKHCZP7SV835FZ3DATESEWS9YESA1OKPM2AV7UEEETLT5TNF2EMC69SAPSO52YVEK2HC2C1D3P3CREAO71VN0KQT9NN5K01504SQHGD0CO1AQFYDEZUV7U4BAC981NHKL495NPZ561ST9PERHNT7HAO0QJD60FP1Z4V6CY47C36MWUUU39QRPLD4QH8Z1OKG2FK55VTES0Y7F6X5ZMKH9DUAQGYKJWQW3D1OIAU27KD43BVUSXX12IIXERSXG1AWF4BFH5MIVZWGCZ25RBMZ4O58X7WCP0TTMF8ZI006F0CSXVHWU5FCYTD4ORUF9N42BDW485IGIRSQLJZ4P32T2EPE07V3RG6AF2HLV3WYAN856VID47VKNYTVOQIVYZXH2GXZCYCQ8L0AYRXTIKOVTCJ2XVW6JAZ2EQ5663XI5XS7EL10ZP94NHMZNR = -36#1GB5571YL0FY4L1N59HIS3QMVFDY44WYZFZG0GKT0XPUEEB67C09QDUZ3SO5OKD4UTIDRRHRIV734ZJKJI2DVHV9QTJVIHGOSXHSTC6Q9UGKIQ03I0OJZW7LCK5I6AZHO2Z83GBCOCPKO4HXGSYPTQDND1OIYBDMI4EIEUVO8XQB433SFQAASJ1LBZGVNY0FBLS453OCT2WG96SK2ERDF7M20ZL3QDOWQV3DO3GTVPJXAGBKQHSITLT47HE8R0MSR0DI282UO4VC8DVWIW72LJ78XEZC0CWJ0GXT70H7OFYIU7ADGBP1ZOFLHW9RTWMNAMAM5GNZHP0WDL4EHR7MM7FC64UW5ZFR8CKAJRFHL924M0KUPIIKNM7NIP85A6KBPYKKB7LBYRX954YRBVJR760KJV21Z7E9LL1W4CGKNSIBMZNF2R9VM4KLQUKBMVNRJHJ8N9K2VSAPVWALVTRO075QGWLNGYJE6BYRQQZBXI7CF2H6J0RVY3N7271HZ7N16Q8MADZI20E0AVGV02CSYVPYLJC00JNDKBND4PHJZ8CETFT0HASWQWBT6A87GB7EEFFIBRMXKMMHY0PLHCY2MC8BA10F65D7F7TLZV1FK64G7QOTUY27CWCS1374OMJK29OJ8SH9LXT8AOMXGSPCF79MC8BLGDC9OCK57DMJKDW5HQT21Y67ZYA1WTR36D3IZ48BMEBLFC18XZ8MN6VK4WPRKFPCESPCO9MFC762BOGEC1LAW3RU4WA8KXCXJZX9XK0O903XBHMYZZLA3MBBHCCUH7HK5XC1ZO4QZH7B8L110I6N3TDNBNHXECRATS9V1QMOB4751A9OEL0HM701H6M7DZDJW5OUPU148KQHTYY8XHQZFK1AZGCNZHTF5NNU68O0NP1Z7BUPQO18G87AIYAYOYY8866U2ICJSVYGLM09B9J8KX4UFMKCTE0ROWR3LCTOZQOUGBKZZGCM7TOZ3ZPBB5AP0XIADBFY0QZX1E9JERVDJ7E1RD2WDP8723KHFMHRDFBVXDG5XH8KT2QZMI55P8N8KJ6ZHKFSLAGKDUA3R6KJV4ENCDBYBEB4P87LJ4EAAUNE8SF64HA5O5S5WVV9LPJF1BIC38KAUJOFMUDURLITD1E7C2M9T2CS47UBX33MAPUR5DKUG0U5M9LHR49V9LZQ4NY67V4M4KWM2747458OU0HPQLYP18ASULJVPZ6TTGACPIGQERGI4WY7XOUJW2ANYW7W0LU6VEQLC2FJQ94A9TGNPW4SM9555GI54LL3V0GS3QXCXC8GTPT2YFE7TI1QMA4YJTROL1K3VG6MF6V2GKKJYCMX9AFH0VV3RF7O65APH02W7YOE9ZI4K90ML8D6LLC58701JQLT1M83PY2U81PR504I75BQA5AO38KIEVHJLD7GBD6TCX8K1VO077A9EYKIMDXNKZUKXDLWI3NRV5YQ778K6IRJ5I0Q5H15SH43PHR56EM8Z9U7Q2E8R497P46VMZE5CU8J87HI2LB7R div 36#5YUG6P3WKJ3XWR40HVLU6EY85L7DDI5JHJOBCW5Y79Y55E9RN0ZA19R8T88VILV7AH5MB6ZL32B7X0G9UC94A3CXIDTFXEGA1358G7BVWJPJIES1LI5GP26M2YV8W1M8E34OBPE49EUMTJUQ2PW0SH. +36#61QAFG9SQK6HO6AMQVFIMW99ZJF0P2LY71QP7IT8HYZI1T0OF3UUS9YKY83QXNT1KU4IYVU3LH097PRURFA3P0AEOURL5A9BJIDQGY08A60H4CTBFYD3CRYV0DDTRRS3HXO0SRHGEM8Y7W4O8FFLDW0KWAZLYNXG99NWB5WVJEVC5EA8RF8QX62LFFDDQKPRMNN3U8SJLTQWQG29JCF89GVPDKGBYKD1ZZIJ3M06A1ZRR4UMIXEWDPCIYZ8YHX39ZCXN2QKGNWIV3ORUHJ6AZ5XKZP9IPN96PXP32EXKZW7QFR4CZS0JWQ9KCEEO4W3KXO3PASDNMDFNL6W5WCSY52E924QGUIXTVSZXXQPYTAAVTULB0TVEIXX0SP3CL4T0RBPZ1787VB9LI7BLSP6VRGSPH8216ALZHDBYX6X8Y1ESMQO1P7RBT5X7HBS84XHBGB2BUGK86B4BIV55AHLD5QLH2LO5AW1VB8O62W90SLGW3W9CPHQYZDFVCC2ESS01O7D0T3SU39Y3OZNKEW1S4SJ50VP4ZBEFGTFO0PW0B04K4QW2JDPY6PFT65T0VF18HMXOLRXC8WS138NMYBOTOG4A5HOIWUU5LTWKY3Z310ZMSCM8G029BQFBLSE46JFPAB9C9Y69PSWRJAUG0EOZ77W8I6OA2E96DYA6G30Z0K0DHZ079NV1IDY3BPA7E5IXJCP74FI6EIP3NDTAS4LGZ7UKYKU0NTBLX02O5ZQ3RSHZNEM8NE8487QJJ6KCYCHQN13L72ZOE2YUNBQ9TT4TD13EWU7CYXHY4ZUZ24D9MEZHNN6PPLKMAG2SZ5536AP3HQOT0A26A8AKR9NA34Z15BOV7P0AZH2VZTH0MV9FQL0GFEUIHJWT2SHMDNL7ZBCBI7BTBJVXOL2RK20JBG6E2NBGK5CAITK1LFG7001GK1YRF = -36#4N5DDCASAU1GJF21QUSDAYKLAQ0K9J35UGXKHGPO38WOCJRYAI03A2Z2SV91WLAP5I82O4J4GD574MR6RLEGBCD8HZVG7M7NGBUH6VMSL544CV0C2NUK1SHJSJ0KREBML6HYLZEEWT9SBIF2BPU6EXNMFVIRE2INLVOWI014ZUBOSFAXN3TW33DLGKP9YD1MZ3A5BJI5ZM461NKUREXSSOY2LFX98FCDNEM855C4JKJZFMHG291XBZ47XYRJ1VLOOF1XYVZ2Y5TMHA5281KO6P3R5WH2EQ6Z57J4GK7B0YZ0H7XSB3NXCQ00AX26JBIIZ5NZ0CAEZR6CPD4YO7JHE0A0LECOQV511W5SZEQUKP36RYJPQO5RYWGEU28KRTLKMTPAKK1EPP0ANTI9AZETY85J653AXR4WRNQDROF2FDHT4U4654VGG7EAURYA4YWKQ51V139GSHPYLC9Y1TS5LH977YP8EB8434QSYBS2MHL38VR9XV5Q3675L5P9HNCVIE9HI896YXKFY09YKCV9271F5EUQGO5M0Y5507O0827FF0UNJZKAKXMJSR9SBIKDEJ8OMXNOY9F6RN2L41WCU4650WIMKN8SGGPFCTVWIJRBO3VQ8BMO4EF4D32MJ8RNX03KYCYQC4MGAADAYFABCDOPH6A7GDJA6NRDY64R7CATLE0ASZ5CV6YJZOCFUVGPDQZ5FHY151XERYLZF3RDJUS4F2B4YREAGLV0SUZXWW0NGMWEUCW0QYJ5HNGHGZ1VOXJ12MABSO1UYEXFXI3Y1GZJPO0F4WE699YZDV1O52BDHSXMGUA7W8BX8XDMJI1KBT6Y3CX83OHYSF93P2ZABSXYTVSS7E39GELZ24NDUSIMHCIBLX0BW5W47ZQ0AGUNW42A2KY2NBEBSMAR34IH0ZS07ZX2NKAZ2YCNX828JO30CBHZQB18MOYU9IDTA3A4TB02ACRJSNV80JEQW10417NXOOWKRUDPUYFSUMPP41IRE6THYPP1ROISITLUIGKKXZJPMJAXUB186RLGWUO74PL9OOFWJSG7ZXE8DAK4AY0Z850EAQPH0546977088N6S4THREV6YAVPU9JWR6WEIZSY30EXL178AHQNODIMY10HYX0BI9J22U3SPK7UKEJSQMAQ63LC5236YTXA50VD8L4DGAQE5WY3060VJA7LE6ER5WSC8F13POWCLX2KU210RZX74XV54PME74BZ6HVCV2AJBA0ORBL6F4AF3EEDZQYED05Y685IJ6QRSR5MCJCYNPF5WVURX28KZGHD0X99V6YU9TOBRLTGNG4MJ5OZP76RCS4J2M4QB4YIQSYGFTX4N46KS9C7PCDHTUNEIZWJLMNSOYRQ3DE3M27SQSK558V1LHNWCRHLOG45885VCW1V5XJWXN8C009DJCJ4J45HDCV3M11ZQNQR007C145XVG13EB0CQ5S3E2RP72R6LP5M2VLVKY9FK9MC93SX2A6M0LM85VU2XBO60IVA1FE2RVJ0DCZPNS8824DCZM8G30SBJFLTD6O2759A5R5FKX5GHL4G57FXBPOLKARHSFQDWCV1AI3T3CA00GWT7JTBULJCHKUJLRTF3R2QMZJW2PMC3BR3E1PJL8NKNU7NJUY9I862J67WCY66UYFC4WW11C63RIGC6K7RVZ3WG84WNFOI2OMHR div -36#RMXBAFCLZN4CCD7Y4IERD6CCPGY6E3KTOR8HT1BYAEU2S9I4ZYPFXMG11G6AKZGIF99EGA5AZVK7OZAAVKBHL0EX2F6CP5HRNHWASWUQ7JK6TBCG2JJ06QWHA534SPJ371M7NGZLJKXGYC703YWA22LH49BWZYG4Y71HS7MAEKS5DBD8R7QXGEWDA631ZWDAZHDL1NC9SN5FIKEMIYWPR5FP6Y9QV60BOPWE83C8DLEFKR4OHFPL1V6OCRHOOAMXKY8Y3YN1OINLXZ75DAJZ163K90H8YI2I0KRAE0RSDT4501IBLW61YBRPYEQHBS7KG8D8V0IC7I7HHN22TAA9Q4BVUESHI6CRZ47Z3LZ0KWO6BXUPNCB2BMQ6F0YQ0BQT1IOO62F3WD41S620YGE8ZJDU13HD2FW7YEZJKFQK9Y349J4202FU8JSQKCDZV2F78HCDTPH8TLSPR7YP6W9OSWFVBU2VWNRJ4ZSM0LATQ1Z7OM1BIZOQYDDT3JNZI562G6MSAYA55SE9I9P6ESAH57ZPTUL1DPBVZ1UW5TZ90NA842RFWXV7BNTZPQ0U4IQSK7OJDG4K6DLHUDE7F9JQ3JH3EBKEZ237SHAOUXD0ERDXORADQ5A7S3SJ0YDWZC9H65Z43UAGYGBQMEK2Z997P2AOUGRVZ355WKTWI8NPNXO7KBQ6K8EJW58KMQTPKREK6WIIGXB0KMVRZLAWBJ4OOHREJ6FOYUA6VY4DUCN4O6UL. +-36#EG6JW5A6XL44X3RSBY0O4HPS5TEPPBQE2IILKHTFBJT86ZYJJ = -36#BLCS0AFMLX4YVTD2O2J9L28BVJ8WI10IFC61RRDNYFUPRWVHW1X9R17KS774YGM4E93VELYE5MGG5L2U8NA410SFVHRGKB5H5KG1JCG8LQYOIRC7J3QH0P7346CYAZ3491D03WP4NIY032Y0ZI819HTGAD9V1GLTQJGWLRHX57JRWTJ0V0DNG424M6LCGAOCGK0FAKEG9YFYH12UEX9HTZW663398G4VIJOFBLAVDM5O417NCIVT0LV038WE7NGLIAZ0UXSXJB6S759M3QZAXUE1DE8O8OEWJG9L7OD27BGZ4NMN2RHFCCV2B70WO8YKKVP1D70XDY2BK6ZF65K8HP4CH67I66JALH0XMSSRMCAEX66UZVANV14A2DHOAGL2BSOG1PXMIEKMWSU1XKKF417OSHGPLCQS6HV58Y8E888K7VNEG8D4V6RDU4JKI117JEKC5P0F1QRLJO3SSSZN2CR5QG5QIELW37O2P54TMUGV4ZTE7BNM39Q94Y1LIA8RCF24TIPIMJ2MRVJ452G2TQCTCVQHA57PLPOSUN2P9FI8C7HWVW02JZMURC4TTTV6F8CMPUZQUWI7JJKSXL3CYQPN6RH7V4I8YMG9707EHPA876V53ICL44KM9GMSV6XN3ZBQKLP4U9K6M0L54NLR9AIBZUWV87Q4FH0KPVYS9AYQKWBV8BJSSONDPKPIVU1JFRK126U8R0G18FOWN3PQIS7XLF1LI49RR943FCCVLLHXMHSJD9JR2JZHWMCE79L82J204EJKYOTC5WHCP3MA5YII73QN4NC3KBWZ621P1J2QAKZCIS1VYD92YISDJJEQZHQINRD7CWBJENZNSZFA3WAIEH2JHAL5C5AP5SUF2FHDXPXUSTMB8G9X1ILRGS7XJ0UXYRBGYK8AR5Z5XFILINX16BTJZVFIDNQ2ODRF2QAWF1QV3VTGWST6 div 36#SVT9M085YQYAZL813GIODM9XVF8SPGL8G66MVE8G16RQ826ZM8I38FMC8EMYSRRYN3NSOF5NIUDWQ3WUCR85C6XI446AC0CIKY1I58OBG2XLOGWP5XSGZ8U48OZN91KS8A0A5XMD8BQUXCV3RIZ2OTHJCFELHI5RLN79M4ERXD2WMMKQSSPO97UJRBSHHQQAKHFBEVOVTM6UW98ZS4JFNNKFQKH9E7YA1PHWGPPV6A89XGH0PTIIU44M763O4NDH92DTNP4CSRIJL2KN8KSV4EN55F9CHD572IRQA3DZYUP2647OI7RLJ414B45H4VUCSR3M7EVLWLZ69RH6JC4CVFHL675VCUBWSKJ75ZOY5V2BK5H8OPVC0QNNV3H5U3AG92DWWPAW3L4AB2MQGVJCL8ZRUSOLJFD7UAEMATWPTX5059KDPRU8NPLWZ37LSNW1PZZDXO282NHJEEA5LSCU86VENJ58CS3DC1WV5HFX9D4HNONMYXTQ6OI0QJ7Z6JNLRXSI3EGP7V4GN87N42ZI17QRJ87W7PTPDEZENSMLGF24EGNR0QBEDLBBVPJ1FIHR5062CB0OC7T6BRHO1KEOXC8X71QV1S0DLNCZW7AEMXVV80K8Y7C4JKAVY4TYN3D9AT9GZSF6C7G1WL5O7MMR4S5Y4HBV0COFTI8J9TZ0P3VFHDRQL3F6OJX8PGYQZBN6JOCWE9EW84EO7PP1F60E1CP711HV92U3INIGGFIG1IN4NX2J6FBOR4LUI0O7IOTB275X1OOKHAYB1LT3PJNM3LSCFITG91K2K99JAOWYBBG6JLU2ADM021OYBXHGW5LD45BK0KU20KG1JP5Z8138NGIPXSE6XHU3SPFIZGT9F5A6T0P5JTVIZPJRC75764SPSGL6PK6. +-36#FA9EF938NC3W3RCLM5GH0X2IMPP8MQPVW9ZTP8JG0K199ZD3PS5IY1CGCCPNVGCY0FYV8EHXIK68SW0K17YCSUJ3WEQHO2GTA2REZHVPBTFFRNFO9O1V0LUTMMSUCJXSOAWM8X1AOM2M3JA7TS24YIHKSKYEKN0352H6X0VKP7DTT8OC14B8WJZKDSQ5X0AF46FVX8YLGBINT9544U84D56CT4IWNE85O7XS43I7SOCVBZ1YKGMO1R4OPU1YYE4KRC8FQMWDDHKYRIGH1AFIM4CUY4UBUJMD7A9CNUX4WC5LGFULOQG5Z8U9GWZ8XMPQ7SR3VS3U3GL1VR8HX4PIFPML88E3KWG1ZRS832CR14G894X1EYANOUC2AML9Y6EVW4YQ1DRLFOYMFP1WEUUSQO3JUEZID8E21KQP3P79J5ZU9DCDLMD935U2W58GIY5Q16PG3KDJC37WZPPP24YZYSOR357G54MGKJ67N2YLIE6BSN2PUTWKE8E123UNNY24TA8S2NT2X0SU0XWEJP7Y5P3QBPN1M24HY78CINZ2BZGSSH0KJVHSBFRY6 = 36#B2SMJZJCPWU8VIUDK50EV1QJEHMSWK9W6K6WLU4IQ91CEV4ZA4G0BZDSBVYFK65IZLOYQOK1B5ZRWMECFU9RFCJO78WVSPHNAYDC0UKGXOYN0CDK3D3PIEYD4JRRDYZO8011314P3MECSF5RSYLJG71HFKMFMNF5952FXACGEQE42OTIQH1HB5MF3CYS75XRG6NIFH98PTVVQP2IQGS4SZS8GJZ14QM7T13836CQZ3PVRN5L5EUIBIGA1JLFZ1Q5CR1T312NQ1VQEAQJ5UEW2YTAEHUG7VMGRG5EAB8PZZH1VU4KZOEITP5KSGF9Z5SO89HU012ICQAKKJSEUL4WUB267K1GH4MGDA7CNARGXX9KJERF901B1B6O626I2AWYHCIQATURGGIT0784S8SCL53ZNVLFQVOZ86ARI4LPYFSYUYWKLZHWHJ16HN4MOV5UFQG6VIY5PQT7VFQDHIA7EFV5YFM2NQRD0DUATQ60CXVKHZ2BHVDDMNA7QEDWVKHHOMJ9GYSU * (-36#1DO8D22W37U2VR6MVARJAV55V5AWY0LTOQ7FD4GI470GBVYSAH). +-36#2503M62TY18ADJYHM082VC7BT2TRDIT9PTZTKCJB03GXGMQZHW0Y5PGIDBM28WZX6V5PE05I5EMWP0KS5WFRQ8SKODLGMVJAELH22JVJS2OP3BGW7DAHJK0C8YUTOS1MAVOCWF04OCT9OJUS37G8OC869V08976Q3W9Y6EWMLWJI0AOPUSMG3DQASNK08E71J70G2CBO4RJ3VA5XEO857PVF2G6GVNFHK6L7Y1O0NPDWWV55RBG350MB9D2172EAIW2WLDTC23LPGZ3C5CDO0I4NSHHHUJRR7MDFZIAU0247FUH4994JPXIVV64LGBVCP9UO3DEP9DWRTWC2ADNATPNZ4V6UEUV1XBE6080OK5NC7KMZFXK9AHPJFPDNOM54 = 36#1Q2OT22H1VAD0OHGXMET3X4YYTVV1DFRC5BKZHS12VJCFLTN9I18T70K90FR87VXCZ5GRJZN2CKWP6A9YQ6V91XJJLT13MY1XHZ79E8424ITWE429LBLYX9R3DKW573LHPRJLSGYNUF97M0LALC5CIQZE31482OKGQ62A601HEJWQ0O1DCMFXOZM8MUU73O1PG6A3THFO2E882URVC3J5545206TBL02RDAC7SJFMAIPGB9ER1DQTPK408YAX2MRUUS6OAR7XH3BQDB9MLGXREO2PABHB887PZCI5FBIQCSX6F0IPDS9X4WZ2D563NMHXEB5J2J7K4XNK8J6KSRJYLYX26B0ABH962XXHUE6AZC4MVA6QEDROI9IPPBMXAVXD6NDI2U3ZB6AD7HK6TUGXPYD5HQ7MOZ6YZ38MJM0UFNK0PR2S60LKTVN35RJ67GSZKC0KPX1CYKB9FNRN1WATQS1W6JUQ6CGHCXLNEEW9IF4BE1RUHL0IYI3DKSIEO31C7VDQLUY60OBCUO6RGHDJISMPFZBJE48Y0S0ZW9GUFWG90F5JBDLC3VK0OXQ9EYZKSCDQHBRE69DDLOPU99VBFJ63YFBJ0GL6NU94XY68PHECO2FWG5SBMIE73TC1TU8QARZ6OCCSTHV4D51HH52EHRHMJUAQDX63JABCRAKXTYOVVPV3N15YTXUAZZXX93Y1Y3G03NJXQ2PYPG0SJWUSUDPBKY2KYGTX2UWHQSSDQGJYJI1NZMMSAHQB02EJYFZXBCGOPUZW7J1UJQPBKANWNCTYEBFM7ZT71TLFHQT9TPM96DUH9MSLJ9B0GDL37XWI9SGG7ZH6VS05VLTUGFAVXAZBPIYZQ4PS7CJI0318C4M1S5BJ8A8FPRZFN8BGUSDUJK4VLVHJ3B1UK3L87W4Q8472DK417W2Q8ZR1I5IXB4UYHFQ2N6ZHEIQN3DBYDBCS5TB5PZKEREPZDZP790QECYLXNAA36H291WLDPHQA9VCAYWQ34O79HJG2XUI3N1KLSCV16QUS0LZ5RJPCZE53Y2VRK8A1XNL8D63FB8K8I2YFRMUVPHYF7DMG2XPXTHF5I1KRX5ISWVVTJKUZ366NPRJ5XYH9DNFUL9VV8FKQ8PXG06YPIKNKD89TGQJUWF3MH08GZXEFZ7MTUDC80N5A3JFAOF9LHTY6CRNQCVRRPYBAX32XTCWYWQPYOQUDSTAPY3SJICTBVAUJ6K0EJ67H4FF9991PHQXNXQVNSUDVD02PWSU5MAKAUVARB6SVU5NYADD61DFT61418A4IKZ1AGP1ML6WRJ33YK4PGNI41HLFY3SC6T3RPWVCB808 div -36#T0R2E8KFO02LD36F75D8BLOFTKNDA0CL64ZRI4P9ISGDIWPB83JTTYE41IW3V4U58R8PL3QXCZ7H5VN4FVJ15BL5UA7WIAVY377T1REIPTCYH1A4L1CS47JV0ZVKGF7D7QXD6M7OLJ7NF16IW3WRNEJ04EZK5M5NQHQY0C6EXO9YPE3QEZ7U8RWYKOPX9QC9NJXLKGUSEFTFM2PJ5JEJN4L0P2RMR35KBEJAGMYWC58ABHJSHALWL8EF0L53IZV89CALH007DT595CT6X79A5B5OROEXQB2QWEZK2TVIM56LXH8G4RJAAD8NVH8CI2MVR4N3S1EOU0U8G5TAS7CFMZ8WS0LUWWSGURS94FVQOS7B87J78VJ82S8VUNJWVVXSW0QX3ENX0D1OY3MYCH7EFJQTWF59OHMH5Z8VNRKW2LSJUDHCT1M2AZJIHAG2V732NJ60C0IBI1KN0HRLD46OMCUIAI8MYDSEYCKE7D2O5XVUL0D3SYZ98XDZSW4KM9LX5TM7ZKQLHYXEGJ6PB7TN48OJ8RGPN97XGQ6N4920X8KRISO6RACUQXQ2DRH7IE94CPVNQJF65UCWQBLQ2LNGHIHPJY59BRXXAH0S84FIQ8BRB2U6NWV6JFL9IIRPF0WWF1EIROHOZA8JWH266MSAFR68AJE9E39CTXFIXP054WIKZH6VB8KZA1R12UB3QNPBPCIMAG9D7GKE8N0WN09KW1JQNX3VURCYQENSKVGLPHD3SL2G6R1N5BE369P2FZPWN9X14M6YCA451G3BEAIPJS0GLDZH7ANNQL9H36XD2LY1ZQSDJIO9CKEDVPROVDXYM6MFB7ONPCFCAS5O6S5WLJ3WRWI15XX4E08A0L86YQNV9P8PRSVSAHAFVL5L49YSPNOBK3ZZQIFUGVMGWWOL9Y30ZJ6RSRFII1H59M8CBLS46KTFEN695CS7RUMB. +-36#12G4SA70B89HVN9EUBDYDF7U6NZ3ALSBL4PSJMX62KVJT8YQW4 = -36#6DVY90IJCPTRA1ZM9UXIS6CWUUD2FT3VZ2LB6BMAJ2UMLT99U576KA5YPGBNUQLM2ONH9TC2MHL4RF7QWVZGMP663OE0H12QPS8OTHNFF7U9H9IKHPKZ3KF13ZNWY5OPRHLRE2XR8VYNL0QBDQKG2UF0J3QB6X25OXBPVNVY0BGR8E7IGPCWBZPMEL621TF6632NNI6TGCNXN6NK1ZU8H8IQYWVFB9EOEEQMDFYI9922H74ZQNO91UT3XVB38UTMF3LE9TYTMJ0QFTQO div 36#5Z8ZNQKSL6JJYRRPAF4U8ALS0RPXMTXGKVB73ZJM0SFMVBHLRDOHGWQT8SQDJLJWVN0IHLKHO92Q65E4ACOTH6N8KQQBL4QRUDBJL6VKASO2J36U8C5RHMQLVRUIL4VNTD47VQJBID1HHG6WSWDEROLFSTR40P7JFTIZ54M5PJW0HT0KR6J7FCYYLWMOIYZ7G24Y2GI3UFSWAI4AVWN1H2403TGTB3O. +36#1NLEFXPS724HD9RM84XQ1A8HGBKLTREPLFPN35ERLWN7B9AX9K = -36#7ZFY6HW4EOZB9S2YZM9C7UWEND0WBU44S79I59TCN553YB8F67IO47SQLOD43KVBI5LD7228NV1STQL45FH8I08MGBBOS524FLCWX51JK2A100QCZIOWMF8UCKLORGT9A5GF6LHKN2QI9ACPI8TVVKVQ1E3GCCLN0P85H56OZ2J8SMZSVQZCLGS0KIBHK8DN7LNTPCBZ3AQPTNR398BTCIQRP949KDYYQZS div -36#4TN0NZ1LIMM8BAC3HRM30M2N0FE91QJQ99O0BOEO40NWD4SMHLX47YA5J7RVCJ3VIFLKMKSWKBPICPM056IYCCQJYN0RO7449450C3NLCY2IACPPMZFL2L55QW0PP7JPUQK9GWXVN81ZYAE3Q0ZPLNSDIBW64T8EOSI52ZKSCDO7YPW1L5. +36#8RQPRSZMJ1YBZINRG5YFS0ORGQIK7WP6H8AEDK4K9ED4N7CV7G3TN7QXK6VME63FRDAN0YBCTJSJJT3204U1P0HG483R6G3D0X2ZELDE66BJY6XRU9T1YUT9X5IJ75F8OC3W9IEQ92UQPIBRY4XIW9E40RXTR6VWEV7QBAFZ5AG7HOYM3P2FVYJHPD2HGJDOI1P0KUXAN08TI4WZHCWPTWAEDIC33O0VUQZOBY6N4A3A7JQM8J010FBMQ4S9S10SH8DN9VGR4O0H89AP2SGD685CGAK6RRLYXMMS8VUC9XQR2YUIC1BJK675H4X4HSYVK6F9HNM9X4S89GTU9E9Y5JNK7YL1RKOAT5L1K1IQKL05MFAYBUXFCG54PNMTKJ5GUR06R818SQK9WL29MQ0VNPD0TM536QWX3ELDIWUUNA9VR6 = 36#6VEEGZVF03B1TUOR68LQFTH8SHZGHZA7TWZA1BWYLCRYFUNYXE21PRK38NK3SONM6JUDUISB93P9FYFTP1LD9B1CDA4QB1FKQP733GF0DUWYTBTQNJYRDR5406OAEC3S8QUB6A2T3I0ECE4RRCLI86DS2IJRBUJPSU94WZHA3KL0VDAKFZR9TREME3AB8H2PHHJR6BWCTP7YAX816JS4P3CX2HHP1MEQCAW7HY72Q8BAU5GRM974RG93RAX0FUXCXAFCOTUPYYXCA5NTZEH40GQQKDEO4FJG38WPPHPC5BVTU6GCW1J8GE333BIE45Q2E70SAQX3A35UE6162R6LJL2N8X01ZRYP41YA3MY1V7PW3VTWZPE1M3PK0N1DM6IF8821KWNXUOZIGRWGHZ4ZJ545VIFKBAHFY0YLSHM5X7JCZ2SA90IZ3LS38WH82683AS7D7VXIZKOH4QZFU336BBOP4IE7AOK1VV4PY0QYPT90TCT9NQK4M4VWHSO8IJZGL8PTQQET165I1WNAGQRF3XGO7GFTYGMLSGIMPKQ6CXPN1USS770T9C1JZ6GFGUWVKB0W8LDQAY6OBHUX2INI823YQL8YFCMYGI2F5R0WF2EIKHHZRME67Q3DI5B7RDU6U0T1MYUCA3DNHNU7OA0ARFZ63QY91ISZLF6URNRCA9M6AM8C8JJSYVPFV2Y30Z8V9A6MTOS7QWIBTBETJLPWKV06098VFDV5GMDLRHHWE25EFOJ0ONJ9B5GI84OA0GTJVF27Z2CVUNGC9J2XCJL2J8JOOEZEQLJRRHGNKBN07Q1I648OP8QN6BWY1YD8REM9EU3OFKY2DZXYMK9DM1PZK02937EBUPKA2DSL9LXKFH2H6VT68K89TFORMGY4C7X2CUJJ0FXYKCWBPTKWB31AZJUO5DSBGHI6QZ3YA8RHJ83DW5Y96Z4Q051Z40B84FWM2QIN2BQFAH7C8XBS4QOONM6WMSAN0IW9KGT2AYR9MA8TYFAVDVJRSUFCN0X8P95SDKH52SWVOUNOAOW0VTQIXK9ACKTZKOJHRUQJV7KI8U8J1NJPEW18LPGNC8SAN1UWR2DZLGOOWUHMRFUV11JNU div 36#S7HCURLO7HPZSXE9CTOIRQI9XXOWGJSC73W2EWR51C70PN6QSGK1SECHWKZ84POWO5T8IGUNPFMPC06EMVLAQ0GA1AEH5392BV7D1D64HJAB19DYNIY4GZLC1U21UDUM2J9U51C052W2S4US287GNVV1RXLIWQVY3N8SGSLHXTTHHIIFEE7T9RT86EY00ROJ0616XNP8WCJ2FYDIKMILOFYRNTEAJ3JIAD2ADKITUXDGSY9PPYOEBD97YKIV8ZRU1VXVIEPCX3RBF9LASDKACPEW4YS9QG21XU1KIB5W5PYEUSNK3YCJUN4N95JA7GQRTFXM5IMES24G0H3F9ZNZ1HQ0Y8GAP1WFRPSHQ6O9MW2N0HW7A1BICNJCNOI3CW3LF3G515UUTDT6CNC84XLY8F39GYUGXVMO4FHX7OOKXX5O9NC0GASIPU2RCI3IZLGWWCC6120VRCVS8RY34LQVUCZWAKPXD5TQISPW5GTI6QILQLRBGLCFA6UQXT8X9SA47F7LUYCZTSHB5IFXEO5ELYZS9IS3FOBGU2ILTN4A47YYJT0D6G63QGA5PIML0L1SP57Z94VIN6IJG7MAL608M5K7H4C082O9MGSDI1R8Q9K3P0J8KQX8RNB124N5LUZDBK568KBNHT5UC1WDD8UWE9WC6JC1D3CEMCR4STH. +36#1G4W4AAL4QGN09V75WETUFG7LCGJ4A43M7659HYWMFTLOSE0MT = -36#PPGIGSIT42IHPAKQLYC0AM1EYE12FE6PMIEDUFXO29LKBEP2UEQJUXF5Z8OFLMFXTSZI3KPGYB7G4CIN0ZI3PQLJI7OX8DOYMU div -36#HR15O9N1KZ1VQ5BW4M3KHNM73L8U3M08ZJH659B0QYVJ6LA66. +36#2AVUVAVTG0NTIS0606M6UV7L3HOY6CT8B05FTRA6WMPEJAO142 = -36#OERE57DLZ66SZHT2ZB3ECGMZ6H6R0PJ7PIGL49LCB7WJ1X4GRUM0PANG5U3QWB6T07E0QH82B8S1VXAPCV0JSOT2Y67WLEBBPJ9FC2B0469CW7U8E4X3GMTXYCD3T15QE1JO6777DMGO700BCN5TIK5YZ0NVZSUSY3566JL3ILA1Z0ORG5LUYG3I3WS87K4U9JJ8KM6GI3NDCZV7K80UDRD56OV9TTXI7KDS1NNSHSPQJLVNGE0G4LUON090035VW0LZ78ICIGZ42CZN4DM52TZNMA5EUKL484MR8Q0H24UNORV2R7HV5MTHLWYH6IT3T45F7A6TW3JT3HMKX57ZJA1KKCRU08CWE45478PT67KQJLKOE div -36#ALOFAGC3ADC55SNSEO6FAQ53RX9XE2J13K0RHDCUF6WROZDMF8XO0MI7UAZWA9CMP88LH9E59AVQA6X4QZBKWD1G8SYUEP2QO1EZSPUF44XZ5VBRHAQNC9Z62F6J8ZVT7KNMN4V9WHPY2S1WYCSXMQOWLV5N394426SABXODI9ID68W2LYE6KTN3PXYXFIR14EZTF2Z65JS8J30MJ5OJME7VWA21WE6GJB8BLQJSXJDX97MDAJ1B4LUI96IJTVSUB69VOBFFTSYUFUUB0DGJV9ZUIIA67G9399CFISIL7OP9Y8NRFI8S6UD4Y036NSG7. +-36#2QJ2DYQVMCDKDY6JONCM7XSZ6B3NDVUBDL1DJSJCUYFUGRV8DE = -36#2GAJ5VOC3O4DEZPWYUFBE6M1KAYRIP963SEFQOSLURXGE83T8XRB74IM82KUTT21VOFHBLNX15W3XJLHDKTG578Y3555OYI4AZ1MW744YHQVE30DTAIB54DFXCIRXCGPK2RHQW4QI4X9SN81WDN3OAS64IW0Z8 div 36#W9CITL0Z1S7ATFGHGAMS1IGU7P1FYYPG5RV0RWT4SPO284SM2X0MRWTPQEA6YIYJSLJ8LCBKZNNXV3A0HS2PTDK2U7AXB6NIIVUJE6RATA6Y. +36#4I4K0I2CBLBFX2XUWI8IQ2ZLAUJPF7YE78HMWCRIH7UEND5F3JWTQ8Q2KT38T7AP5UZ0H24U01H8CDBP7MR0IG15PMYZDHKD84Q0J86TV3C3LB3TQ29L7URSIUTI3JC4SOF01OJS5G = -36#DV8QZJI9K4U8G7A2XTEB0ML9IJ1XU9Y3F92772KYPZGG0PLKSPKIPHHH6DEYLUE8EFEE04GNC4Q1CAVVR8DGVX0L8G7KZB9D3ACSDYKN4IXO6PC4944HQFZFBOY17I743VW4D01V94AMF0ZUBC8Z4YKLSOC7EGQFIJIK7OLOO99ZZI1WIDZXBB1TG0W div -36#32UTRGICEHOLBTZYNPCFBK0UM6YL8HMPSYBYJ0QHJ8X580HS9K. +36#1SR9XKBXWD32WOMQGIP9U6V300E5Z3GHOL1UWUC672Q7TQ5IL757D85LUFJKVZQZUGK3J97QGWVRNSQLA52EE2OBEU0X2QW0N6C706MDIZ5LR939S7V7UT2XGJ6P76UYWU9LCM9QGNB6OMBYW3JPPNCJICYLC43N6QK22H7OAFUKAM1X7N0J29KLE2WBU4O516MH62MCPJJLN72EK13FRSZYKR95GIMD8GTBO7RN8Z1VZVQSIW198QEIF6EL7CXFH8W98VVDNKZXFPPZAW64VT8RJ9J5 = -36#9VQXA4HUF5BLIECUOPOX7EVNNLBUFLEIY10O9S6GJRQF84I475KMDR9IXU8Y8RBVMGSBD5SB2X1 * (-36#6JWWMFQP8NUGXLHUXJ0Q34B4LXWVGDO64F3NKV02I4DE1YFJJCNYLW3PYSKPNXE7555IACIV5LRBHSV4FUPBNJYUQ21AJIQ4T8YEM9RG1JH24A3OL9UHMZM0TNGF91O4YPRNUVEAD2N0N5LFYCMH2IIGDBVOW2R9N8T45MTYN41YPAOEEVXVSH67VZLUAPRN6I4EPE1AA4OX38OY5). +36#5RBT1DSD5AO65RVIYPVZ1TJAXDIUWKKIFO0NIHNZOKLJL3PXEZB7K3LOYYOIZY0038JO9328M2T3ZLQ7EUXLWPIBRVK8VFBM83INNHT0C71W7PGTIGV5XF4LNS = 36#16DBK236ELXXBROU7ZZWUXJ46751G5QMVQSK0EAOK5VQSM9YRP2OCLENBDY5KBEJZ4ULYFMKRDUHHECNAKG2JAJNKV776NJM9VUDJ3NFMH9U5BLLIOVO5MUQQG53EB0VA7MXAE34DPT17BO4D49QD5N0JHPJUUUP4UP3WKM1LQW0C2CPZ78B713BXURS6V8HS7I1QLUJG89W6ZJ8ZH6MFE3T398UYBXHG5VEPHOXVDA78XCHAXDNF92HSIFH1NC div 36#7CUQ9L6K11JULYI5SWRNE9FC7JIWIIL5IJJMGSIESBKC5L8JBUDCYB36TPABLLC6F33E1D6JQ7H2VG3TKKO6IGNEA6C614YGRBEHJ2V0YG9O0VFDNL4DI9Y67O2K0L9X0SYX3. +36#S9XN8L00VBKMX2IE7U6GAAM6MI1MRZUPDCQK1EQQ7RYU9WZLEM1BUKNKYX1HOCGO1XH64TFVLMN8WL8F4JHMXRZBFFXSXW2UC96ZSRNOBQIAYZIP1AEHPSV05V3DP7YBSX94OJ35RZVNVWW2C7AZL32HXDN5Z5X6ERBHU691ZB854ONQJ7GVM763ROTEFD7VJ5YDIPXA6XW5FC9BSR6UCQ5XRGT3SRJVYFKFQ5MC64YMFNQERDXUX2UXIBIZPBBI1BX6845M4EELGL8E52IC6I0FQN4U2DW5XPPA60B5FNF9F9MZL20GDUY1DQ4OR166R7TM61KE1DFCHKIF4CUD7IF7II7B2R88X5S94F72LQL4920QTBVH16MNZFA2LV349PZ945C26LXOYZZPPW0YGSDY8T8GFEWQNWU96E8KO298ZDBMXTMXQ2EQMZFAM5GL456SLPZ8H9GA6X05RK2KL5CZEPIWYMMICWSGPT0OPWORN70LYX3WR7DQ8PVTQ8H1JIBDW9JVF68PB79JPXGQDIHEC421AOYSCJSTVYPJQMOK68XZ = -36#Y50I2YQMQNQFBKYH6U931J00CS6WJKR4YTIDDDJE1XTMEWKKRL8PIJTGQM3ORHOB2JJYCVCKG05O5UYA9972ATEA6C85D5CFG1TVI2CWUF15YH6HUAAXOFMWDSICCTL54VDOX8WPWV6U3CKBSX4N3BPIVT0IF5OHDT8F3OL3W40CSX1Q2LSDDC6F3MPH6DBUHRDPIXCMA4TEWASKJVWAASK027185RL6P1NHGQBCV3F5WW2CT1XI82YYLB3T54Z5PNF4STSKTEI9ISKRMTXYOYILCA086ARJBPC4RTO7MDPN8M4I9X45OEIKFY6WN0D65EURTXKFIHHUHHKU3MGM2N3UHVUSEVBFL22NUGB1RMO69D6R5LZ361QYK2J1MMN8HNGF7TQAK3HQDAH6M4CRDZ5N1HBY03IOGX0UOJSOIZD7A8QNQKL472KANVVT9G8Z2AHNH4SL2WJOSK4ENOPB2UCZF568OBXDMCN8NIY98QG55J7B65DXY3X05KZQOD5RK97D5PG4I3VEBCPOELA749DYF12MKPIGYIYL66GGL4SAN2T36VSKDS8LSB3SLDUIZOQ9P9PK0AGR5P590V2MWXJI88XVTG6ACZPCFFJYIKNL8IVY22R9JNAZUTDSF2EYMFFB7VVDH15MUWW6PM70QJ20DDV1NMGMY5OP0IUHMXXOC93QNELISNCBKG2HVV3SLMIN97SKVP8I1DR0OYQRN8CEZWCJQ460IQH4GVHL7OR1KGUN50P8LI238P8HVTHP7DDQZRZPJS0XX3NM8KFLOOCF9T8CWF39L32H0P7XF8F6S4V59POT724GQLB2P06PP616N1HPE29RJE9BXGJK6D44H64H16PAFCIP3EYAGVT0W6FZ8OQWRPDFWBCUL8AN002IBJTPWJ6YT8MNZH2Q7NPQ5JWYKNS4IH3SR8EXABRK1R51CZPWZ6VEVNYGZU0PXHJC2WES2GHF1RMUZOS77UIZBXT9MMKMZ9Y26OHR7R99FB9XTAGELLSIGPG6ZI div -36#17GQLW74OGNNQWYV6U5JP94UH1U7LNHK893EMJPFPVMVB8SL8H1EOH232LW2RPA5XWOP313SW79UDW84XD4EOAZPDT2JDTAEHB7XZICKTGR3EP47QT7FAOFEYAZQO858WNY0A80T6B0NJTTJQOTV8OJ2AC3PCX7I81L6ACGGFQUPHWYECOK8FRI1FHSGUA1R9PVWKXEMUF5KMX2A8VCTPORG11TD5MYOY5UOOZLICNCW7DGPN5C3U8TKO8R94V8GLH5GSWTFN82LA1GYW3WTWFJ8JHZW98H2JVDMT4QY3L3RBMPYBF4CR811CBLS1XG426D1KW919AITOPHNXTC5N0KYXYNIV4S2LOW89LA24P5RJU3I64JC0OTSZD2R29U9YWXJPYKFE96PBVN26QLF2RRP6INC9FIYH494K9TO7JCIDV0Q8MPPQLD3LPYV77YT44ZC39G5C9N4A0I. +36#2EGC6JBQYV1POEKF01AP9LC15TIE3LG4MSKASMTOI241JCA839 = 36#5TR0IT6SJSAHSM1KZPPGIX5T38A92RGBISJUP9160YJOIOIJKT6LFXX8W5O381GWMED6E3WG9CZPAKQ0E4IPKGWCAJZ1SNHC8R0 div 36#2FCAOBO5VNFU47TUBGYAB5BL776JOL2L0RFPVPKMDHGVWR1TB0. +36#F5C4BX8032FQM271L09RBJE296B40CIQVRK7LDXK3SOP1H0ZQ6MB0KABLQC7IBNMFEV6A707L6C71PDUXXJKQKSNCMA6HUUJNLGQ00K88DRWXTPOTY87BX7NQUWGYSAZRI78J5EG4QALZE4PSMDSWFNTFHMSS7I8SHBAV9HXWLBTBVOV3J = 36#A2K12DN33T07OBA6U9HFW2ZWRKE785MAND7R17AJ8FP6SEX6LQCQR92BAXKT35SVBBJWAVZWZ46GFFUC09EXX5BG7ATKPIX7I5L2HH2KUMJLH7XMWXR38FR56OHBGGG077JFMN5B2MVOTJBZ5O9GX60UDXEX2I2X5SBYXAUUYCIQYCG0YFOVIILCRG03HIIFS8KL817KGOG29X067H11TJLD6Y5ZJJ7UCZ4L33YDLEMBA2PJXG4HAV1Y8H219QLA80V6O9D7UVA49EXC0FOFW0WKC2EJ7B1L7YEV1DN4W1QM85H8LJ0YHWXLC3G1I1NQ9232JZ4EWRQF2SJYDG35NRBO9O90VXEH8P0TWJDOZ62AYFMQZU63R9HTNWYTRFDYVD2BSO19SOB7QOG5FJW3YH7T9RZNMCPL8MDZIPISP4ZWDN9QXT2A43X8G9XZZU8WKFQMYYDONL443T9ICXS85GGC6ESM3H9MSUPULYJZZPC40HSMRPAZW668G8KI4VFJJBDAKIHOGT0ULS35FN00TAOCRNP8R5SLZFU9ZFU967D1PU66TPPLRGLIHOP5ROAVORAD5T1B4ZNP05C1XAII7D1BWJIAR13AHSUWYX82NZ3E0WX8QXR5XAP2M3G1TC0OGBN6IW5ZXTXS6HKKPTJIU5PL5L3LGGJAA3RRQPOES0S8E69N882XUZCDRPB6GE60QOW6B7SIM25CGGX6N div 36#NXMBPK198099RWJ07C2EL17WIV2Q8NUD2NQCNF9QC58XQXU16OI2D94HAA00SSVARVPYCJDE3ELU5NSUBA9ESHU87KRHNJ3KCCSBPLFMRD42WI3AQOZ1KEQ0HV0R3EUI6XS4FADDPJIAWGD8XD1ZTFMBSL570WPQLA6DMCI6VJQVU61DC0JI413WAQCFQMW4938LHNLXMKTJGA8EIF1RPJLMCO3FSIAPP2EJWOWI1FRZKV9AVQ5VKRYW5SWJ4U9TGMSHUFDANG9IYPJRPNLTUZHF6D7LW379XO7QLBXBEMWX2H53BE22AJPV8PT29Y1AYZDL64CYCSM48F917WFYPQXQZ2155CBAWL6SJ90XVD51L2SAFJNN40JC6ZAY5EFFNDRNKOOXPE7T50JDMEUNKBL4NJ5939GQCBKL81W752XXMMVNX4RZE605XTG2OQ4IMCNGUVHLSUCIMG0ISKF8GUG5737NWY6EZOLAIGA1QPD7YDTPZ9G41OCGBQF4EGWSQGF6CHMM9CS9TSWJIQMOKALXTDIIF75. +-36#13847ZQE69ND0L8FCU84UDHP0IJKODHD6EUCUA6WM6X2WJ31UWGJ4CHZ9PJ6K3VZHYGHMR7HK76NVC23UKZQN9X5PLOWDYFGPI0 = -36#CJA80H76OPL0BRTW56G5IT2BBS509LFZ6M2AFZDQR7CUP4XG6 * 36#34NBROIZ31J51ZHGHR0YF6117GGJU4X5OIRNINIY7ZPSI4BY90. +36#4BXSI2E4C3N751XXNAO3OUVSK0I6MY4GUGVGB68KSZL9QRHPKQVF0AVKAVQAEQUDI1QT2Q7BLRC9YQ435FD7P77DFFB4HU0WWEALHGH3GY1 = 36#2KVG7WKVBK7G54FT77LC2H5D5BEL8X5CLHFKTWGNEZQLC6F2X22SBIQOAP5KNMYZROTV0MUDOXTAP4O9J35OU3S01RT512FQSQGPG53SNHKF32YA5RN3AHFSNN5OPKA5CMXVMR8VB33AQATGD0PZ5J7O75WOZ21HCBM8BNOB8LETIUUEWPX7DCPXJHHM3B2YZC2RDUUA7WVAXY5Y8SFCPBSJAND80SBFTY4SWJBCFTJ7D1YSW5WPTLDQTZGUOLGH5OSKL2NKS182PW8MYIEGSU3KXDF2Y1I5BLKZ0CT0AD9M47001SQYMOFUIJXEDKKTM8UF5QT81W66DE81J122PAS20380MR7CU5YCBOMS5LGIGN5HF5MLRQK9TZUA2OVSHB3XQ9NS3METC66L1WJE9HGADWC8SUTILK1AA2KCMZEXSE2RSXAS24YOOXEU16FZZFGRQ6CKVI6LU18TCIF0DEUYG1BK7B1FLWDYDVDXQFT6C9MMKDBLMLM1PRST2PB2FEAVACB2OCAZ6MQBC21U5WY1MQCNQ24KUYJUXBR6S2KU52M1DN5GG05EH199BGRZ2LQS1FGUMZTM1DVNTKZJI5BNPAUJN100F1J1SW3ZS4ZR7CUS1UPGHYTTLYFC898AOZWFJ5KK12WXJG774G7TIFFRHIYCQOWBX067IT96P8GOJOT58VF2DUZ4W0HBXMCL4R67ZHF0UTV7F4486O6MWN2U9 div 36#LFVA8XUTOJLL9270ZA6RORKO4I21YJ9BF5SAA07US032KU64C0VVX1A0BZSBQN9J88B4UD2OU0C4PA069OX3DJVL0LCH0Z97821L7RPM7SP1X8HGWF5ZOAVPM8HBZ64DUH2TK1IRKAIQIBEDDFOUI4OWOO0VEC0ESNGIN3BOC1TOIEW17A10IH3OEUOROR8HSGJ9HVQASXTVH3M194F3KONPKASVIZ9D1F6Q3M26A4AZ4S6CCX822P51DU9R7JYCFRNOPW1D8N7BG64Y7WYECSZ7TM5EU3MLT5LJRMOKBBV9HSVVNYHSE4FQ1VH3WJZ5LGJ5UXLSR6FPJPVIZT29S7S9JC9FA3ZEEDXZ34WHMQMIRKIG8ZHKQY6UG52YVZ4D8PVN5HHQOZF307LHOJ8WNF50SMZU5B94DUQ4AY0RA766550TZ1YBCIT75Q1UKS7MXMM3NZ0VCHGWMBAGUSQJ47JG0P6T0Y5QBUJ4LMTD13994YQC990X0OM5LBB7U7XL5N1VHBBD6NZL2UG1WEBEPY9BM20LEHH0HNMPH2OP0W6K9OK7E1SXIHXFPHGE22J0E24Y2B25Y5PFMD9NCCRYWMWGLFV1FF9HV4QFQQIWN84IC9. +36#VYCPU4LFY2ZEDOJELR7VFQYW44K3BWX08DAQGDRW0SWG3FFD1VMZ6AT8ZAJQHF2AKCGSULFZUEQA6866WOD9OJ7SBENYP5DGIOWUB00ISRI7ZHXAB47J241LL0USIKHE252LIESCPW5WMEVC1C63C0MO8YBXZYTO0I5JGCP1CA4N5X7PI1X1CZWVVSO3VJETTYMLSFTH2FA2RK46V1JHU7CFSZ17WOJK75TIHGBHOPZFZRJVV26MO3CDEM7MZPGAU20VPTD5JUFX1WKQNFCJJDCWY4D5YFLKZYDNDSL5PYU1M98HP8QGS6HAGF2A1L8ULHMN44VZW9CB2CKGJDWRXBG = 36#FHNC2THR9DCK1581L42Y0E4IDX3BP2NAP9Z07V9Y6RUV4PSFCRXU6X5GO95BKZL827TGF4UZZJ9I3L0TT1DI89C3DEBY5Q9R22RAZJ0GRIRNBGQ3AL5KQRBX4WYQU6VTPKBKVMWUMXUUSE5G8WHO0HV9B74IUOHVNGXRPGHH9IVM08ZE7NAV66KW9XY6INE79AQN0V39RI7KGJ42BSBGKKXTU2CNLDP375WAQ2JCZCSMIQ7FFWMBJRSDNJHVF1XLT8P1Z0V0I13MK5ELAMN7X1XQYP92OO88CNLQCDWW4OHIQ7V5T8FVAMFZFWA3FLQD4M9UD3V4I6D6ZVO3O9MHRUSI8F68JNJNJBWLKW02EQGZVZIWXNZPNJPYIGF4OG8HRQP5QYTS div 36#HG92YY5TIC6FIAK9D1BEW5SVILHB3AZ0WE5R5FPHI578MRRQ4. +36#8M3O918CTVE4EHJZ06LH4KE3YVV3S305LPRYHL12ALI85SF1S01U0OO3O9Y2KY224WK895WZDNPKHRIUR85O435AL9K7TX0CMIER1PT0KYL2JX956Z074RF668EAINGIPGYAVJY42PLP59VGC7D4353ODC8YFMP376R91EDEKFQYCHGH1E8ALVERUFIPE26LPM9CYBUIHD2ZMBIRY818E25ISB6B124TS555KYIOTJIO4MV13EZFY60R40CS7252QSWFKMD10NGGPHL9S8RGHT7ZCLD2CDQDU1THHHUKIRHAVR6TWOL9OHH2RM5JJPSMZA38X07XORV2F1TT29UOI5AQTNG51IOUHPXAQIXJMAR71XS9ZTQYPSNRIEFI3YAYCASVKILP42XCM0B0E0SHOAQBR1NW692EFAZQWX9SY5T9K3S6ZL6BJWGS47CUQWOBLE73AE0RJLHWGMQ9TG901Q3MN26FFKWT3RJIKXCCS4W6KU76SJPT7X17AGHQV958JO5UQ7M6MLJ6N333YDM530PU0TBSPGDW9P54AEU5KKFU5JMS75Y27KCY46X299BKNPELHS07BHZB6PGLG7I878LHKEG99IJYAA9AG962CF7ODCWUTBWF0WDGF1J93FT8NH25CBU6VH08NSJJ2GY7NLC6I91J75QXHGHOH4GGV4X5DYX4YZT5VNK6TJ9XZ85QNMRHUA55D0JIMCOWLH0US6JD7RBWMP3158G5N1EJR7HPZNSNXWGLQ55WI46TF8NKTHW4FJLZ5ISW0ME2CWSN98KJOA3G5FOT0D0S4X2DR3M7FZTHWHWTHEG7VDLTJRB46UJDRXQTGYMLKXOYB03LLBD1IZ5W5TNY25VU49OS8L8XTCBN30674N4X1G2ZXBILG0J3U7XO4VPYM0MNAGZ0DFAVZQ326CCX9RIRFMXDB78VHAKKYKBFA1Y6C = 36#5BZPHJ4TPPT95WWL981P6XZKSS74VNTCSRRGE59D67W0NAPZTLE6FH8TE1KMR9V7YFK8OOHJS3SSIHU4X476PGCQLX77J1WGINUIU3WQAMRHYCYW37O51Y1ZVMPDYVFQZXHPVM46341MEVVBL2KWO6PAJOW46HWZGJDCS1WIDWHLA222C6D2RK8UFDQDC6L0PCE2GWBMK9OVH6P2PW72ZXQ76PH36WMB6P38RRWEGDIDUTFRBGU0HTFIGXKC5SKMK4ICC17R2R05A58W8TI1MJOVMCD5F8ZD1EFBA0I5B99I3L5MICIKWK0MTM5JUU0MCH5HVI8TTFW4RUJ31FZ3S7URKISOTBQK0O80DHBEBDLO74KPEJB1S65CZ5WAHUSUCQ3UTIMH850C5XOZOB83O2UK02S5W7OLZEOWENFWEE96JM43ELP0HROIQIZOQXL3FCPLFLPIEOLYYIHAHUE78PNKY05UYC9UPDFS95YIW63ORAQQBR5D75ULDP76TG430KKNDZW8Y3AYQCYKKIF2BYD1LRMTH5LFCG99OLNA609K37IOIQIKB6HBF1G9E5MXZ8D0CFZDJR9TMJO5G69Z7KFKAEH1RQ06QBPBFQ2TPFMLIWQQ7ZKBZDNQNPBKHIEJJ05XE0YAKO8TOFAPHW8E7ZIX3ELBDLJO9O9OP5HZUECX23LD1W63U3610MPZYO2T08OI4PVAI8CPIC7UYGUA73E7Q6KPPY2NREWS * 36#1M59ZB880H71TQ1DCLB1MPQD11UJKNPIL9OEN5QHEN4YLRERHAPCNPMA6ZUWAFSQLL6P3WQXYDDH4RNI9EGV1KRY6NOO4WOOLBNKFDL6AXP6IMMYPI0O2DJLM0EPY8RQERIACPDQAISCW7M8T3NW1S6CBB0APLDULP6NQ7UT4M2PUXWBYAV5MZEMUBFA5RWTZKQPR5CSP7H4K7PVLLKU73. +36#154SPKIJ0564UUHQJQ7HB3R28OF5J621REGJON1CSA6AHT535T0IUT36A5I2ZQP1W3ESO0HVNZEI4RQT60PWS1J4CU26D7Y8JZUH5COI276BJGH2N1U1 = -36#5GORV08BJ4RZ4LYAWKFPAKKINZ1WLHSRHSN77DYUDBVOGS7PRBPPMCDPRJ7WRHCE0VND0ZRY2D8QICC9QS1PFYML8TSUY2KSBFVIICLQQY795C2GM6RWISSR8GYM5ZIG8GW2TS31O6FTB94FSDK5WK4MDK0KJ3VHFHMD div -36#4S54EA5S9KYUF5VLWQD3KVHTUY9V281UHKVERKBAS0S6QIHSD. +-36#295WW8TIV8RGJCYHL5E8IBLC1DMCP5YZ04IHS94G7GGBWAND5GV7FC3HP34A0IPLHBNOPPUL5SEQQRCI7GC4NQN = -36#K92427R9UHOSG7LX8BAI0QKAZ8LDR138Q2ENTP3AON0CCNQFBV140ZE76D7WXIQU12HKJDE2XT2J7FKEKGAE8A82EPA8IG2RGZ9ANU8ABPPBYUW5AK4OR05KS1TE2BW8USL6TWPM01F1BPSO5FCIS6RGMW9JX6MY8WG2BQYC89PPBSSN4SJPR6QXIYUH7K2UGU1LCTFEHOZQBTCY2B6CSFHWO5FXOTT9Q7JTGHAW2D7UAUU6Z910KTPFLZ7RTEDYSI0OEM1Q8VXNL9JBRTOZ2CAUNKEYTLV7S5NJQID3MMZIHTGQG65K8XFTTPCQKX9PZM437QFKCGQZ83AQ7TCXIR00WA60K1FUH5BG1X2JCOY0HX5NL5VZ2J1WL58KYH8QQET2U5AXUW0PEVEUK5BXY53FMWK86V3SZD5JUTQH4M8Z2GWC3TDTXUXU32G31JWE1VBTCV6EGDK7V6B94RSKFXTRORLSPYD5JVLPGM708XDSTRSO8MYUERGCA9XL4P9IDO8FHFU1FUO3LMMPD5BGFVZKQFSZ02TIKEPMZ2W1A346CJXK944S0JZOXDX6TJVI0HX2OGQ4NALXMLBWAZN1AZLW83KEUL4L470VM3U4FEDSBXX8OX37EDD32MFGC7TQTYSZYDXJDDXOUKA1UF7PODQJ48PMOD099IX6KLNL84FX4PT7VV9XE3R3A291AVMWK8PUYSJHI118PPKC4ZW7LORPTTIILMKGVUZECUJIFFN6PNS6H60VV8VFDBEI36ES9SVNYK7EY08ZDMY8ZKSF1GAACB4HLZR0HVM189NNAN7PWE4HKWCVDT1MQUXYYRFFEWFISDJ3DK30DTUHFIURBFPKDB50V1P1V1RL3FB0YU8E31OX81BU6L497U7O0CU0MBVSMBRD4VR7ZUAQLMQ12O div 36#8ZDBVL7SFHST07VF3V5CQU69K171M1QO6SKLHCK2WLDXG7AU79EK032R727WHJUBSMEIXJXVNLY8J6V7QSR6Y4KI5MW8AO9RNTNMWN29H621MGS0JAJ4UWHVO8W3T1OOQ1WKGR8KQZ94Q168VZVZND8Z63RKSA2NXXF5W1XYGXQXSRUK0EJ6FS0SLECPE3NSHTXNEWHN6LEJNVQGLMKHPGLPWA8SHI5VX8XWYQ7X800JWL92A10N47L1ZHIMW4GIZE2I7Q31DDRD7VDKNE5IP62PM64ZT10FS11QTG7DXMFKQAIVFMCLVWSPK4P0YGJBCD2PN1QUIOWIZFW7PWAD5G26H0N1G2AYR5J7GH0GWAM48PJQVHHUNMON0RYF4NEPAAXTZPQ3DSNN16JBQ9C40GQCXZP2C5GRCTUOBV5SO1ZRCCPKI98J692H1E48CYGEUBLKH5OUC8548TTA60JOW04FBNFVCH5ECT7D0322AJ5IAMKARBEL1YG1YFYO2P8WZYP23OFPP1OOQ3L5M2XWWCFM9TO5FDNSJ8LW8N8J428FPSQS56IG1PVTP8HUG3I0X9RH77A688XKSFG2M1XLT279Z11NZYLJ90AKE8Q7LBZVN4965XXP0CS5L2YIOV4ECM0S7JWTQJPKQ225L5A3C9MKMRVSWOX0HN6TUNUYZR4Z0RET0ER5ZY6AJOFMOXBE8YKZGJIUPLGTR1PDCGOWVM0V4NP4O8ML8ZEKFD1ULPBTHXF6C754PBT70YH48OHXPZWFLXOWDSABS5ESG4DP0XM8JS6KHIYPPDFZTA2B9FOQGMR7DCC6PPZBSKUOOL5C. +-36#15Y5CY9NODUI5TU0HX70G9MQWLOS9HCDXLC8LUSCHJ8WTQ4UCV = -36#3MT394X6O7ZG9NTAUYUW1ANZDXDRNNA369CHVZFFIZ4XOPQ306MREZ03V059QHVA5LJG0LTUUP3F5LWGCAETWCY31AJIE61E288KX7Z9GA2GZ4S3P8SE0O5AE75O92OU div 36#349B6X8XV8VVLVARCA42XXQ3ABNIGGYPO3EN28TZNU3M2UUFI9DHNP0FRGPHKZ3OBG9NGT9UIKNTXTU. +-36#KAT2GHBVA9DPO8BYMHEQDT88WIPXQ0O8BXAZ0ATY9Z1ML9HRM32QD396XM5MNMCDBC4WOX7VCWMYLMLJZS9OL356KCT8WDWMV8Y7UHATDWFIZGTU8L7XY8BI3UPCAZCS38RFFZK8F2W0PQ0M7D3BU1NPWML7KDN9KZOX96H1HY24HG8BQ2CB2EZNHZ7YHL3B6XOO9JR9FJ3KGY4GFNP7FP723T8432PGE9WGSOVO067FFEYR0WNOF8DP31CIPQ3SXZKWOONM8YOM6AXF481WUGXPB5K2ZLNY4V9KOC35BLSMDYFN3SZKVCZ4KY7QO1U0CUQMY1XTO7FD6S3BB4Q4VW5HBEOOGZKY0I1JHPKMRVX0LUKT5FY27D9EIUQWP191UWBYYHO49ELEGB47W3CQP42C9OSD3C4KBBVB302OQPNKBUFUDIW67OCLDWL0D9Z4E3OAONTE2X92TO02SFK7LVYMK38EN97I4CNVAK3AG46SDCY28AMG79M7D6OF8G2WXTWKUCIR0TY7O3YHJ0OQBZ7SZC15ORFYMX2FBQEPO0E7ULBIL1P074B8GA2DJ0 = -36#FJ4YMX6AFCR7TR8ZSRR2G3CFJDY8AX36OEPISDTJL4SUU3DKDL9Z2W0CFSN6ZU69WW67JV8HEET1PE3TW1QV2RS8AZQ512DNYWQ7DGI6LMCO1SDSFRBQISCSJ5DJ38S05C9I878MX4ARFNIWIFXY5UFYIWLCMNHNE460KLW57NOG5SVSBW2H3R9X4K91L31S44W8LKJMYB871PZX6HA2S7JRFOON4MU7NL4TC4KZWI2KZBH2MRP2ENGCV9D5UNX32OMDDMFKL7EHA26OU1R7M1P8CEF1XXVOEL7BRDO16C5FGJVXCVKFTEMSK4CJFX4YC63BKU1HB2TETNODHWMXROYL3XCNX57YQMWPY3IDLEL7PCRSEWJ81STWT3NIN5YDO203PSF9YUH6VXRARB22BR99JL4D8QEONYUBBD1XXZYBHZ67D34OXLY601GCW5GOXZQ3U1N9374GV3RHAW9BF5GK13AWMI0YLDWIKLXEIDTRO6F520JHLTVXKHR2UFFPJNOJX95TVYXRK7GCSMD7XTR9QHWL5KCVTJHNTSENL1NQHZOG9VFJAV3XOJ5WQRR3U5TR6ZARIR8QD397YHB2NDK9PZ564TCYV7HVO765JWSOJ00 div 36#RJKBFMKLPLLGTTDQANHYXLO2XD9I9TBC92G2ORCX2VV0GUT10. +-36#AAZMOOKVJHUL9L4DYBHCK681CZWHVBMSS93RF04KMK1FRHSAJ9BH4CZBHNQ5735C0YTVOWQVKX8P018D8X0Y11RTF514CORUU0X2O44LEZ4X3ANWHLI1JKL4YJUEF3HLWGJYPGKH3TSDKW8BRHW60D53UGAC69HPOK8G2V3EFXVIT8B4A5C153XLQJJ6YP48C811DMTHN8BO3C6X26WUWHTIFF06QX9PLFW8GCBMQQL74ZZ4UCQ0UCDHVZGO0QKG6HELESEMTPXPV2R8J3L6MXCT6H403QRHRB4WOAEEYQ5W7V05KCT9KONDB848RUSHZXTXGXU0F0L3K3NVE95C2GRB77WQ9YQWHZ438KASJM4UZ9ELNRNTQNCOGTYY9P1TI97K8HHEG58BKSUOOCW8Z7G4AQ5RL1DQAGW = -36#7LQXV8XKOR0OKJT51A1QFHQZYYCR5XSAAD87185QJ89ZV12JB1Q6WT4PWEMPJGEGTIZN3GUFDJHOJ5QIZWK9FVHCM1YFYUA58DA1DDO1OUUWSONR40C40JTKHP8BTSFNOF8687MOGD7F2BJ3GAN19UKFA88QHRA1EK16FFSNYONFCVXH7FW75MRL698P05EWW88QRC2RTQLZ6FEAYEL8WJPUDSYQB852ZUA9FCPB2XE7GGO887VGBWFG9KSRKP361YJMHIM2KAAWLLSILRKTGOJ53CK9XOIZUNZDNCZXT4OL11QN3LX2ZZGC9BK07LTQWPR5NOGSD8JU4FUAYBIOWBW3N40QB588OHARBZ2SMWIC7M9RZ2 * 36#1CSD85A2OZR5J3VNFNVMMIYCA0IHGX35BX4EBH1YDARJ4ISNGG. +-36#DCT0RYMFP7P18L2IMMJD1RJV3YJT9FV495GTAD0S8CTEJFDR7M6E3DFH6TY9CLPYM401D9CRDZMEU2VKDG9RK60P9CXCKO8YWDS85UYCEEXO74635EW3APS6OPIOEU7QWBUW7J0MN6KTFOV0MD2BI96ENJ0XOEVBHNGBTWJ8W0Z0AF5XGM634UZXVG1MDHXQEFOSA3LU63NIUKX9VQBHFECNIUHGDX9LE6MI24ZKGA7G3B5RV0VAWLUNWIAW6TY81AJPLMPSCOJSKFY8IYW71VB6X3KH04ZPUUAOPML794W3UY0K8Q7ORXPHQ87Q9IZ4YVQ9PH8D8TZ2RDRYMZ85ZLPAGMX7R9KNYN5JQUAIXBNVWE6WC3N7505HMT27PLRN3GNDCABMLH605WSTPILSS3OIQF3M69LLUT2CJUBG87SYQ16L5ISZ4Y4CHBGTNLYVWPAFS6I5SDGXX5FZIE43MHRLZPR0O1ASR4NG85B41EAV1ED7JZZTLXGPKQQAX0HB2EYKM2TX66N0SYMWRASXW3HEQDMJ7MFHZRHFKAXNEVQKS84W = 36#72JREWAWM27RS0YF2UDYQA08SGB17BQDFWQ6UYIKO6HGJTK36TSELHA0UQCTPMDPAZLG3D58X8DQSB87VD6FWPM30X5PQVLPHEI1D27D84OE329SP0I66E9V22XVVI6T79CUBNM0R5DQE52SC1NKSDCI9FU1KFVE259PW87FMHZDQ46DPQDUQN9WKZGI431RBFI2HSED4FW58N6V6CDY1SY0CZERDEZM2IEQOZDJCR10SZTVH19GOPBE8HUNZRC9GMO8VDAEGNMAXUDY2AOPX551JC6P6P5GHB4E2OKL287WNHAGTZMBDCJMOA5P6LM54QY6VDXDDKGMJSYL16KWIUAOQCVZUW3K8PZ2KWQPJELSGILNYOHCV8X2IA9FLWACKWE4VLWWXEXMIUSWO4CQQDLJPKNONDJ5JR8I17JMMGYI6VTVE1IF66HKY49FD2JA6WDFFUO75W6IOIMXN4U0XFURY4O5NQWE740DNZHBV6AC3LILK33BJP2YZHXW5Q8ONIRG6TMQZ7EUA5OL95GJM20EADD73Y8DV0UM5E3VYTE33ZMU2AX7E5QY6UZBEF8W9OTFMCI5W0P0ZTWQX62ZCX3YJ6OKIE2J8JA6YRD19CJ82N9Q4OV6ZUCSHYR9T6ZL61XIL2S0OK6TUA9FMR6KW95QOKT9UJVP3GQ71R66JWPJUTU6ASE82FFJNN78YQOJBEF4WW47QA1OYHQ07PEIZBLMCCHRXYIK7F7QY6P7J4E0W2JZ58CGF9NWG div -36#J24O6AJ74DKVVWW2G96AHR899UTQT3AP6LLP21JO4OKXWY4N4HO9PLH7VBMVFJWXVFYXM6ZIDW74133IRH8UGPBJP9VEMFJHTC3P5Y9SGROH680YEFZKPLOX3P63M1W5T18AESPD4J7BV2TBHB9670TVXDE4MU1NOO2BN644DPP958CWODUW0Y84UPY7PTMNGUQDH77VW. +-36#PPGIGSIT42IHPAKQLYC0AM1EYE12FE6PMIEDUFXO29LKBEP2UEQJUXF5Z8OFLMFXTSZI3KPGYB7G4CIN0ZI3PQLJI7OX8DOYMU = 36#1G4W4AAL4QGN09V75WETUFG7LCGJ4A43M7659HYWMFTLOSE0MT * (-36#HR15O9N1KZ1VQ5BW4M3KHNM73L8U3M08ZJH659B0QYVJ6LA66). +36#27F9JEE9VFC12C1MW7YB6VQ0EQPCLM0M7BPICV5P0NFN1N9CL653FNWVI7LI9YD84CS6ICQV4JXM1NCNKRONP4XZLVW2YW4SJ0YE9FY26DUKG19VBV7BRFURIVTLXG5KXG0NEL91TRBQ6ZU5BTHABNFGQZ5W0ER1VIHLGOFMMIQHSJWYFC6KO9PHYVHWXP8YEI1Q7V84QTBNQOAFQPSG29D0W98C = 36#1J0EAPKXKLGVVJ72OHAQFQQD16GRDYI0NVF205KBFJJ19JGQN8LSZ246VM47PWE80GWJ9Q7VTRV1J91K4D2AGSS4TIA542XOK7Z6OAE7CYUH1YP9ZWRIY6OIMO5RG6QX3QYZH8D46O8GVDWBI037FDSDDE5AQDYVIJYGN0HJ8GDLZSQZFPSJSNPJTHO5GGQULT5UFW7XDK7QMP6TQ1VVCSS6IP844H84O49BHWY2CNNSD9T0C4EA4FEULRGIIPU3CBUVXPITYBZ2EUJANRNWJ3BWI3FE3CI0X5SPF9GXY5AG5NPCGDYEEVM6325VERCO44SBYAF9RZWHI9JREO8M4DETZ7K7XJ1RYYV0G5UUYZYOHK31S92PRNZATJX0UDDNI95HVG61128GM05FJ99VUZESGQBFKBQA51SV5IT3S7OV4IDEKOMGW8TP3DDVYOMH5SMX41XEI07HYQRG5VUDXIJV6IX0JJPFOY2D8DCX1SZQAR18ONCCX9SJJO div 36#OXN3ASWW4WBVNOZ71MCID3NJOPSE6VPU6HZPZGTBLIDN5RGCYFC1M94IO2VAXATDV9H84F6BZ0C52H3YSK059CX23LXBBPMWMWEZNNQ3BIHKRVZ8LS8C8127XVKL6BL2I7VALAZMGNZFA9MI621JC703I3X9ORVZ8WT6S2AT9MDXUS5WD3G5RKDS3EFEZ0Z2EAJR587GV7SL92HC3S6UKDLBJT6NW8DOXQTCU73LXR1E1P49IZ1VSV84DDLL3ZLSJ8WYKTHN3IJXCN27HWQM7W7VU29J6B. +36#MUZUC2YZRTGYBJB4LIMKXAVCYQ5Q6FZMN4NE0VV72IJ0OH04NGVL66O20OBDW63E3GLX6CD9J47ID74AMF41020C4XBMBD61317RFPVZRX1S98WGPPNAI98PZCMW43BQTQRKMPTY35VYYONE5ASWZH2U240F6BOUSGF8PTGDX3J2E1U6B1H3OT2KW90NAJHSALU733GD1HIFDW4XIC2CKFVBF0545U82UZ62ENUZALGZOPNV03RMO9WVII9B6HWYOIM6PMA9UH61JJAT7GLAJ8OBIH3LYZZE8HMFFOXDGCESG07TGYH6PZEY0L1P3IQ0O2UNUY5ZAT4ZRZDVH7Z0TAZQ79GVW82FLG2PY12K6LU8BDWZPN9HW429XFH54ADA9CO1N21RBGZUQ998E5GYPTBUN57PKCJBG9PWSUYN2DIIFQTEQW2HRJOX825N2C6F481K5LOHE3ZE5P18BZP8FEFKBMNCCW3ZZXC74Q29MO4R0P0QWEPSWLW6LTO0VYL5KBWA7R52FI6APDTSISAR3O7EPMPFZJYZ3823BNYFB11XC4T97KVV5L570BK7N7KPFRRBZK1RZG9W5NVTZQMJURHW7ZJQHUUSJVNL63J2MJGZ54FW3UHNYUOMLO0IS1G0PGUJGKT2F7BBQR2RVIH59A9FFPKSCZHZOSEASFJYMX16K1AAFF7APDSS3W55JJK60QQ1Y737KURDKZDF3D1K4NU4 = 36#5AOXS6QI7NW467XBHHZL9THKV51MCRETT68A5RX6L5YRBVPLCW2MO9I42WOZKWEE0M7JZ9XMS5QRFI0F62R8CT888JWJLCY9DPFP9HEJA6W14W3VE0CTXG72XFV0DJLU01P11FE5M8Q15DF8OODHLB4TUV47OM7QORVM0B5T5MNVF8T3SWFQB2ZNXPBPPVAHRAUY4UZVHRTXERWO4N2UUXRC1MY9TF8XEM9PFLV7OT2YAOSCNOZX3WZGWQ3V3XGY79P040859OBDQC2L8YRS7LVNLL27U2XGLXZKL245HIPZ20MWXA2ITRE4ZFQV44TYU5H06HK31LVTAA3F1S1Y5BEDZJKF3KMURO1OMYEA2385RXR8FU5E435G0ROFCPR6L311R38I9NK1AU4A4WLPAGKCXYE1PU3NS6BFFARME1K549MQ7022BQXRPHBWUK8N4R0IZEDIRQCGPM17G85SP1KDJPEBGT8G9SM6IMREXFKHRG2LEKT6UYPCOTFU510TVSQTGB50XOJUI8XKZM6NSKGESBWVWRS24S2IFDSLLYBPXG80WSZOGBEOZ3NLSDEY9MT7RHNN8KI1APGF38VTBDG * 36#4BDAXC6O3LIC06I88TZSXTY5HIKX9P1EGG1N82RN7CZZHQP68UU1NZEXNRWAGDEH9D21YSEXI6SW9HPHA8S5ZS0QGKGU9RJO8A35UFK68RWFW71N0DY1QEPK8UNWGCMEE7. +-36#D1ZBIYWAW03A437ZUSV8GRUL5IWEMWJIZFP7RIK9C31ZGLB9GMOWY9JA5GXVS64S8UVZ9PQVVT2CT0Z2Z7FNXDQKRAM7SH0OZRMV37L5OORR50HIK4FKZ8XB18C5K0PQ5KW104XVVJIMJ9S4H9I5YJMCEQL7KGPG080VP6501TECEH6VSDRX72LDNMX22110GGXZ02V3Z2LEQIXMNXFV8RGL5L06RH4CRUB9EDGFSFL0U0YJ450ULTMARGYF3TKYFCIIXZM67JIKLNLZ3MO0I4TMSBG40XN38O1T9SJ5CMD9A31ZG7T3NSSDK8MDTPUAE5B2T5O06AR4EXF8T95LHXR6E467S1N4D2SXP3JZCMVPPL2LZ27P3EFYZNK = 36#89IXYT6L613VJVXI7TFD88EZO3NSFYA7ISKE4TN143LYH2DERTYYNHBPZBM0P4AW9YSU946X3T74ODKPAOHP5L7PIZQCPZ7BJKMVGFHQ9Z9AJQ2L0JMGMWXY7VTXHGWH1B9UQR6FECJZE04W8XCQ3UJ8QAF67B4ORWNDEOXXO9QUNSBWBLJ4HALLFFBTQCG11FD0PZTZOMPGZBMR68OKG997SM9TFKM56SPROJH88UWXL0DMNEUEOXNXXMOHMSVVL4DHN7LI2LEQMW6RJUVSZV82OJ9L80LKJ43TWZ4W53GHB83L77I52ESCZEAV07IW1AQ048UT01YLGZA2EL6MAFZ1ZXICM0FIZ4FXDE39PE3RRMKP23JZYEUSYNRSTIBB3Q972YNJUYDTSEU15W7889YMNOGJMHDXCSVKG4SPPREO div -36#MSG1KOJC0F9C04SB5QWPNQW1WZWLSRTZR7QNRH7A8PCK8YYZ3. +-36#2YNHHLC3J2X3J1VWG4ZNSNC1LWC7T1VUE6NT9IECGL67B56E80 = 36#3XMWMKW28XEUYH4R2686DR7UTPTPJSQAS04SD2I5YRE96HQLORQFLVO59EH65DSLFTU2VJBYH9KI0TG6LIKHUHBEPC4L3LMMAO0 div -36#1BT40B417DLUOQ2XWTU41VSREIWDBYCBWXQ26O6EF1TNVBG9N3. +-36#VK4IRB7YQYQOIHR77MS2H8DJ62DWCCTRE0DUZU80LN5HMFQYB = -36#WLR4MRWJXOAXK5IUCIDQX60UFSC4DFZ8X0U2RLAVLBG9VUR6L3F19UE09GQLWT4EIA6VW62OHZH90TGG4KG1E3GCXZK10EL8YEZI3KG904AH7BDDDNH7N3GNU3NCAP0ZX9XMBC1B4JJHGVFI4RCADLZ3BJRQ1OI9ZBVGVL0VODFJ8IW5QNWCYQF7XAU8CRWEE7V7FXQNRIEWT07MJ9VHB7VKVV0CSNE751QJ0DB3SC8FHH0SR0LEG745UZXCZOXM22GGFYJK2V5EB2B18NVDBCUX2R8AFURPJUBWVGU41CFAAAQG5B9T707C4OA7T8JD7RXRIWY0YWG1AHXF8E34RR3QLT5V3UJ5GR3C7JY17K1YEDJJ5JRQQYMPXAHGHF8K1WEM6R4O27TA5MJV08VX6IZR7BAYBYJXXT0XSKIZ7E0JTF1LU81PJJ1LZN2R5IEWB0KNG251RAYGMC2W5M52C3C6WE974V3D9VTCBU10XAKPQKSJULZ20Z1W254HF4N9DPGSW91KY7NN7PV3Z3UPQP9Z38YOA7QIY9F4ZIEBNNULR3WPN5697601TXBLXK0FE2SY44GYSWLN33T8OQ3C0KXOANKTSJSMAAECSVVDHKU98OGRI2YZN6AGMH0FC66O8F2NG6 div 36#116X85NR5NA6797QDRIJFI73WEKVGIBSXW76ZZ3979CBNQJPOTFLEFZ7JUQ4TQXP6DXZR1LPV6XZJS6LYZX7TJGZTIFNPG93DDLYLIW3HRX9N67T8RVNW5ISCLHESOR6KTXNESIKPENKNRZO725ZF8VIZCGD7HT7CEUB1GTOZ5BRUPTWLVUMKT4EUGRQFUYTOKA48266JZYXI7HU8UZMQ5I90HLLCY83D3NT2DR075GFKQARF58RU09QUBPDJWSR27C2CET2D7TKHNXDNFA6YP26MTGOWZE2U50N26HQROQMV841N2TFYBXXUTDQ0QIS3NW4UWDH3Z4D30A32UARMWXYDOWDDGXIFVO6MNV0276QUH5E7SW0NCMZKD0M7R9KLE001KDUJDNEL0D0HOBK407QEXV7SWL3MCH6PL4NKL3KF5WUZ87U7XUU6UZIYJTSSWF4V7IECRM9YB9PACJSHOMD7ITT0TJPZ6XKU55ANTXMQMO97CRTROPAM483JEE9TEQST7UZVYDD2HCR7IHKH73NYE1XWNPSP2X1D0QL6CS4CZWPIZAPEGXWH8JCLODJGE9617EG6JZZT4CKTYSSTU. +36#RBDNPGWTJZ50C5K0E2IZ3SKIMXF2ZCIANAY0G38WIGSF1YD91TEHBF8S9FW934ZWV36PVTRLB9G2PRSZARRB7NUAQ1Y12H7ON5J60USVDWK0MS883WTBWZIRW82D8TGN5O86MU4X6XKV69K7FTAEYQ8605RQ6UUHZW1C6DG77WDQMOO8RZT11XI5FEJN6C32QS45HX47E6MCJ5Q0NR2Y7285GCIQ51HLESYU1UJRWAB2MUWPEENU2GZD8Z5I15FRE9N964NCOQ9LN5HW63V468RJRV09MN3ANN7AOCI3G5Z8UTNVB6XI7CQN6SCKVEJ9EI0CNOS5UV2LKST30E78BRDSAY8FSB0W1TUI0HTA7EBY8RKRNMEYPZB8AJ163UL9V6XNGOMUDJTAWHSZVPG4S4D6SCFF2HXDNGV51LUOP88UF9Z6ARPRY3B1O1MS9T9HY8WNL4KA02VU00Z1KQPZV4CEO460H5AV0QBE9W6S321VQX7JEUW7JZTG5K89QUA8FKZ97H8I9O179UHJYII16C6VYI2I0TEFFZAD416F55FV6KCDHG6DQ85W7CWT5WP8U9BN4CHPSBCLF8M569WEJJ65RKBGIHLT2YOE57OEHHO9TF5SZYWWJZCHI3IDZ3H4UE838CCDDV2GAHMHR1Q8KKUKIKCB5J0NGUDJC7M30IYQEZOCVJXIX247N4V398SC5FKERHWCPW9YQEDEI5FDIVVVSIAWVDS5JMUX242LNC8JD7VSQIGSFOYXOPFKPBE = -36#JKNYPG0GSS9GPKGXJ3W9NZWL0BH65I41KZEXXI7KWROAF0N7A99SFCBJ212BOMQY3O53CYYCI8F8RAXTRZ16BQ989BGESG71WSHNVLP3U1ZIPS6T56IMOUD2FISED7UAEZX7FCPY903PI9IHWJP7GU220VR7AYMRSVTL4KNPJZYF6RV8N54P2QJV8U0OUNTJT00R74YKQS0M87UDODC5OB2TLOZ8GDA0L6BHMECM1J3BOBYYW1VX5PRF9RRR33VS4I672YF8I5NONZTGOCN7E3URNEC0UF2XE7VP1ELKSJWS12QGTDNPCPJIW5ATXIEP38HZWUHR6LVSFM84LS0J3OQJBOJDUKRFNX4X3OEWLJOQB7YBHVOMF953EC0KBCZWXY6M0DROR011LZHH3EL9JTZAJH0XLZ79VPBNCH43NJS6ZWYT90VQ9KYALRD4FW7ARGL799C8RFL1GX8I2SCSA3EMTW2LL7FPD4EAOJ3APL1YJH2RDTAVP7C332PCNFQ9DKY4FCDXX7D71WWDLA0Z97FAQV8HDUEPI4BWHEXN1V5DWLUZ5AK5JLXBGQ93QE9SIF4AF2G8YFGX3M9CZ12XUDOYB1I97K5ZMZDK35HL2O4LV7PTS9SWMBCG8LQ7S915HQHWMROSUK2JMT1VFIJUMV5PC7YQ62WTV1Z9DM9TNA59AQO029TCDAO10KVZVOK13OCYEUK3HAF5GJIYMNSRTATJJNIO08SXYSRLX0WU0AZSTY7NXUGLVJ0HT1E2JJY7KICAK6HKTBYTRBL6IZTDJGRC4J72571WBRK20YJUWCWR61TMAZCWC73166EATZQMHV932JXWJV7CVUXQ67ZV7I3MHYK66XX7714F9JEN8W8FHFZPOZUTFBPF8X3SYSQ6IR0J0MU95D5R899LGEF6RVNGY982WQ8RK4PDIE7MJXYRVLQ2CIP2CZEZQ7DYF8YA48700OX4GIOE9SW44EKHT572IVE9U1LIS3T87PGJE634Q6RMNLZ66T2M4W17WPK6SL1BVUZDT92XR85VE38122IHLCP4O58L9FA9XCEGRBKT5H3C6E7XY700S140GP94Z2AY98WPDKI6X08XI7RASWDMJQQ8LGQ3DQW012E5I21P9AJNN6XP8EYA1PHEK43868LU4ZRJ9VZO9DG4QCSZCZOUM05LWJTP5XD9KARNHNX699ZYZ2JZN9BB85XXFWP8FNEDYOLNNSD5R3PEG8QAVBVLTT3D4C6KMTJ29W170A7XBQZ20RW5K3J72ETQA444F3W4NM8LK4VOJIMIHTNF1B67MPWSUSFHX2IYLQR024XFB560ECO2PUG5CNNYUXQXPHG0DXOJLCRD0OK52FK9D18MBM7WT1O4KHHF0UJ46ALIEZCW5MOXERH6Q6ZL6TU586ZSMAKZWC5K4IGTXHF1KSQU6Q17VDUWTNB1QC2JI7QP0WGN92PEJBIIIR42Y1QUER22BFR3I5NE12T3HOUNXS0XXS4P8TWGYTR31K7IC0IIF0KV81WQFJ0H3FO13JA4FBP7ECO1OSWD68A9HFYUA4CUVJPHRDHBN1QFC68E9QMHBFMI82LSGUM38QFH8CSXEFMYXHER12OPDZSY21LXRSVL7DDCHRJHDAGUAFYZ5AJBJBZRO74LOQBL9KB1M5WK30XADUN5UGYXMHN3YXAZL56Y6GY5KD1JGNXA3PRIFW1DD1GHWGFSYHEMBLG div -36#PSOJT9LBPCE3AZJGD3JRGVJEIUTGJCD4I2SRCKCFTFWQNVB7P0TH0BHIMWDK0AFEQLSNQV9TN0WGWOJHRXJUJPRNJJFY8U1WE5JR8DINP0M72VS7N1ZLHR58IRL70SAQ7Q5T7R1ED1ELWL7OJTTHDNGPPMLW4AS53I6JQ1CR4YI8GHIAPMTHC2CI2EWMWI4EYLM6WJZR93PYUQZLHL53Z3ENB79UMECVCWUJKFIJ2NKGFVX5IJ06QI8HP659XZUJ3981HION3FALHHF2C9JLOPSJMIC53XCPXCMZWFRI41HJ27GHCDDZZUS8COR6LGSYUGLG7QE9VQQMJNI7BN8LJJSJVYJ5KJHTL33XSV0Z4F3FZLXG2RJ16ST9G12KTTLDKYBNL5588N4MPLG790SSVIXUOCV4E8JDHTQB2IPH4YTQB3M2NPMV5LBBLA8XQIV3624ZGVVB5ZJG3TLP8P0GZVWHTZ8ZG7K2WNE0QYHCM33EYSJQGEM7W2KU5X0SBXN00SIWAMS9MUMWLFCLURPYBKVCAFTMCBVCBTX47I2AVAO2Q4FPB8X4AMAGRUWLMQHSWZ0XE0I5Q3GMN142FHMFOCSSEXZ5NZONFL1I23HF87KDUAD4V6Q4WQIMTYVG09DPYGRI2FWWOUH23KY72V1UQTJDXLQG7L3KLUUP7J5CPZUU38CBW02F3HPYX0S6POTU9W4NP8MXT058QGSPXMXGN32EHJ1BY753KZDJR91RP62POR5F7AEGN7UZSWRFMGT78LDKTOT283JYAOP05W3DVYVPQ149ICX3O5E0546191OVEXJEGTYCK2GZU7RKIMXI2LTOZXT3OWFZU0FZZQ57KRN98J0NTGH1AJRPEML09QTRPGR9JPV8KNZ4YUIB0ZFU3AZR4B395TMCUZLCUTQAJE4EIBMBZQFXDEEX4BOZW49LCAPUG2IH7WUZDFLE. +36#IWV3HT805OVP9QTYL51U2GQAPIUCVE4FATIFRTRNPYF7S7QYS = -36#1F7IXCRMJMYI0O7Y0CCZ0CR8TFX0DQ1DRYIHCY0KKQ073LRJNV0YWKNO1TE4JP9TSQ4F7P9418SDW76175LPA9AMB8P0EGYN920 div -36#2PH32VSURGG3J3S98UFA484K1OPDSVXWPH9O6512RZLML5Q5XI. +-36#FJ4YMX6AFCR7TR8ZSRR2G3CFJDY8AX36OEPISDTJL4SUU3DKDL9Z2W0CFSN6ZU69WW67JV8HEET1PE3TW1QV2RS8AZQ512DNYWQ7DGI6LMCO1SDSFRBQISCSJ5DJ38S05C9I878MX4ARFNIWIFXY5UFYIWLCMNHNE460KLW57NOG5SVSBW2H3R9X4K91L31S44W8LKJMYB871PZX6HA2S7JRFOON4MU7NL4TC4KZWI2KZBH2MRP2ENGCV9D5UNX32OMDDMFKL7EHA26OU1R7M1P8CEF1XXVOEL7BRDO16C5FGJVXCVKFTEMSK4CJFX4YC63BKU1HB2TETNODHWMXROYL3XCNX57YQMWPY3IDLEL7PCRSEWJ81STWT3NIN5YDO203PSF9YUH6VXRARB22BR99JL4D8QEONYUBBD1XXZYBHZ67D34OXLY601GCW5GOXZQ3U1N9374GV3RHAW9BF5GK13AWMI0YLDWIKLXEIDTRO6F520JHLTVXKHR2UFFPJNOJX95TVYXRK7GCSMD7XTR9QHWL5KCVTJHNTSENL1NQHZOG9VFJAV3XOJ5WQRR3U5TR6ZARIR8QD397YHB2NDK9PZ564TCYV7HVO765JWSOJ00 = 36#RJKBFMKLPLLGTTDQANHYXLO2XD9I9TBC92G2ORCX2VV0GUT10 * (-36#KAT2GHBVA9DPO8BYMHEQDT88WIPXQ0O8BXAZ0ATY9Z1ML9HRM32QD396XM5MNMCDBC4WOX7VCWMYLMLJZS9OL356KCT8WDWMV8Y7UHATDWFIZGTU8L7XY8BI3UPCAZCS38RFFZK8F2W0PQ0M7D3BU1NPWML7KDN9KZOX96H1HY24HG8BQ2CB2EZNHZ7YHL3B6XOO9JR9FJ3KGY4GFNP7FP723T8432PGE9WGSOVO067FFEYR0WNOF8DP31CIPQ3SXZKWOONM8YOM6AXF481WUGXPB5K2ZLNY4V9KOC35BLSMDYFN3SZKVCZ4KY7QO1U0CUQMY1XTO7FD6S3BB4Q4VW5HBEOOGZKY0I1JHPKMRVX0LUKT5FY27D9EIUQWP191UWBYYHO49ELEGB47W3CQP42C9OSD3C4KBBVB302OQPNKBUFUDIW67OCLDWL0D9Z4E3OAONTE2X92TO02SFK7LVYMK38EN97I4CNVAK3AG46SDCY28AMG79M7D6OF8G2WXTWKUCIR0TY7O3YHJ0OQBZ7SZC15ORFYMX2FBQEPO0E7ULBIL1P074B8GA2DJ0). +-36#XS1B6085CGCYKTUEAALKIN0Q7ESKIQB2A1HF3GP1G5OK5961I = 36#HC75JKNA1T75TLT9GYPIDTT1SRSPEVV4AP2EG854AIDPVXM5URTSPLGWIZAR22H5BH8QQBELMHAKNLR0M4DF5MT7Z8OW4WK8RFHMBH0OUM2YMQX4LOPAYTPWF2L7OIMM87CXQGK1AOR8U5I55HLA2MRJFGYKT3TMFOVYL47IWRWQB3YHI634PQA9N7WDBLDKHAZ7YCJ6VIZDLEFJ5V6IP6QPJM3SXAN493444TU9QC5K8BAP0KY06R78GF4VE6BGKC9BYR30UK1JYH511ZTQ6WQ64Q02RHGV76BA0053LH5RN44RFXNBESBHU6BRU49VLHF91YPLED4628IRQ2LEGONGZCS7MTZJJORM77OIUPSU8YOPHOE7J97ML650EWN3DA712KAD3102HJ9GP7PUWFY5LJ7FIQS8FC74SSZFZRUIT1V3IACVYZ4AWB9CQ97G9IEPO17GB2G4QM0FSWWC6TOQLG3Q1GWK5T3605ST40PMINYCIW1ZFUPVJ60C0WVX207T2VYUHJ9MBRTZCX8YMXXWDKTFVB0LDMD8Y3XFYETM0V8XGK9GRYUG46O4GVXKVGC7N9XKBA4X2Z0Q4N1YPVBL5N0NJOTFWXPZ9BSJ7BE56MOLVCFB599HAWK9XF3MCH2CLABTDUSMJP1Q8K628YVB21KAIW3YTJWT6IDRUNUXPEB8MZ6B82F3ON91KWTKS0ZXM60TA2JCUN04SLNEL2GHS6ZOADD04X43M6OKLD36OI0DMK0MPH81TO4PZZE0PON51LAHL6GOJTP9CCH0IZPONHK2L0SO7KKBORPUZPV4UJABRPY9FIZJZS73A5X7IRK63J9X9XNK6OFZPTRWH0A583S99448600U7NRWH94HS7ZOPX775WU4R7MLU5CMH8UUH6ECCLMJ081O09CZQ7ICV2PA40H7HL1VGZMW1ETDUFYLW7KZVUZTXFID76NIPWH4GRD8M1I div -36#IH8SW6OROHD2A04H031XCFD5RXNRNPMWWEK5149HTPDIU29P75CCR2K74VISLA910JCKVJPQ7LVNNDINZDZPLN5CTA99QCX3RAJDSPGYGA0BSCGW5O8KHPCW9BEIBKA1EZ1X9YWK9X4TPJSK8NMLZQT0W8L74MPT69YSN89YV4R82BDK138JB8D1FJXN7ELJAH4ZDUJS0XUS7OEZSJPNSMM4K9TWMT7M26LH88NO04NAZNI5LQQL6J27FLPTE7P8FH4SXOO3O829VKSMIMZ6YIGNV1AGQFZ9PY4DUWODRDLKKJVA0U3BDAODRJA1RIJYV4GODKFZBHS4LH4T7F58515DBMVD1RY4HRLAJZIJEVDF2SBIT95SR0FZTBO0LZB7ZEF3T9J6QIJK2IJQCJGRL2CP3CG1TWNHG993S2FWZ23CYAQ01CDRMZCMLMI3FV97CJ0ZBDD02K1SBTZH3C11K7AAW4CPTPZ1IJHAFRLBKM39K2I3R60Q1DJVD8JAWSGE9S32AY4XPAUGPRK8CZV79GRX2PWQO54GV9R84T2VV8SPRKSBFZSMWZDRGG55WZ98LTLMFNP821TRF9W8TXKQ7RRUNL0I57QFB8ZTZTM9JW5JSYO62097Z4Z7NMQQICMEHUUFGQP7YM8PBMAMDKT2WT7ZLYVT02AGNZ0BPHIJ4B9B1EF2D3OMGEKYTWVR9PAII51DFDLZS2NR0ASOOOSNSTAS66967WWIS7N769385LHAKQPFOG5UBX4FFVPTDO4QI5GL4FRY7SL48YUB9NB4ZZS01F0YQOTKUD56FAC7991KKT9YR2RAUMVADX05F6S3J4EAZULA5TRXSPUE86TXEOMQH7O1QZ3K2FWALOHHHDW393A1ZWWROKX9LVUV9E1SDU1YD4UP9PBIV53QEEO5WTLGYP. +-36#DV8QZJI9K4U8G7A2XTEB0ML9IJ1XU9Y3F92772KYPZGG0PLKSPKIPHHH6DEYLUE8EFEE04GNC4Q1CAVVR8DGVX0L8G7KZB9D3ACSDYKN4IXO6PC4944HQFZFBOY17I743VW4D01V94AMF0ZUBC8Z4YKLSOC7EGQFIJIK7OLOO99ZZI1WIDZXBB1TG0W = 36#4I4K0I2CBLBFX2XUWI8IQ2ZLAUJPF7YE78HMWCRIH7UEND5F3JWTQ8Q2KT38T7AP5UZ0H24U01H8CDBP7MR0IG15PMYZDHKD84Q0J86TV3C3LB3TQ29L7URSIUTI3JC4SOF01OJS5G * (-36#32UTRGICEHOLBTZYNPCFBK0UM6YL8HMPSYBYJ0QHJ8X580HS9K). +36#406L8PW4TUM5A3YHUUJ1VVT0M3BVJZS2ZG9VVTN1W2HTE2V9FEBDPCIRLKD39VBWC4MAHUJVXPVYKB9RGHF2M36IE9I5QMPPCU1XMY5K2Q7KLWJOAVMPYIOILUONBUIB1MC02UQX6Q7FMLQC7UIK5AJ3 = 36#D6JNLKC56BQGZQAFWQK9PQ43EECHZ43UET9OIS1E2TBZYHZ8OGFB1T9JJKRBCCZQIF4H08HXD2D7BNV5GOWU1KLNW69P535L69MLIFM57YOD5KAMD9ZR7GG8ZV1XVQJ2QALZDDV64X81ZNBMUX1EK8RHJ00PBXX5H8EM7W74FHLR6HRZKGITEIDRJPKDJLUP4BXVVLNCZDLRV5ZQ2G0UKAME9WW6HIO5UGG912YPP11ND3MEF533SM8B9306CBLZQWY3YYX91427MGI51DVFPUPG33CPMWPE6MXG1MCKNX5Z4L37WKP0SSTWR0AHBNDKE997OE0C375FLXFRD27LFXJFKRURR3NT678OU3TW85AI7YASVWT34IG4Q1MER86B8UVFFXXS7W01E7G0RXSRXNB46YERRINMYPCTJUYYE19UKLKH2QB4CWRPI3COI5A5RFHGP0YZ8XAFBVUH0QKS0KXWER5KA5QBJ8FA1BUUX4UMHSMIX2214UOBF8HUOGHZ6AELNZX482UBGGXAMD013SSV2LWZPVSZFGQI7RV6U6PJ7PSQTKAALS5MTFJFZC9FGS6UYTK49CLYIYZKHEC7T5IME9YV2R5VV147RCRAIOBMH6IPVOVNJXGYQ7EEI5YL6310RMD9WG23YLZNKCYGRW9DHXLGR99LS4TEI4SC1H24WBTYHC4KCC0FBN11L12DBN3CJQNP7DFLOS04SGKPHQ7J2COFH4SFN1F8JGK53I3Y4KF049GPZYP0LF7FL6R92XRB0AM3TLOTIOBSARZYQKZ59AUEI7RB4GVY58YNURRGTUAHFSJAL0VDLDNK1PQPBMX13QOBJW65LSDYTZ2CX9LY5DUBCRH4BN99TW6E7NZDWS5X div 36#3AHHOXFSOX17UN7Z0FJUOGM7EE4KMMHB75ULMW2R2M3PSRVLWM0X47SBALAHQX9T0PUR5Z6U9DJEYAUF5G4Q0IDT4NAQ1FLPVZXKPYU0UXK0CXTJBOIGRGQ467U2GXCVRAENX7IJA6DICKR0JQT0LM3X4GA0N4C2JFWG62EXD71QD40Y0LXHGVOZYA5BG3JOBN6SDPDKG23K4LUXBUUUA8VKUVNGIKFH6C62VNJ9V4CU0H6WKZ40WYSDD3X1ZSLRFRHSHZ9H4T1J4VO9L63FQTHQQAK7IQSU966537VM0GDIIMM16PL7JF5D0CA4IY7MR3TCU4L9T0SQTZ4E4T66MA7BBY727W9HBL6TGS104DPFVJDUTA9WR3DV01FRBU04SAH81QDBE71SFTVS1B3S3MMS81GLQOM10W9K03TYAC9VL6F6XOZ7X57EL00VL5NWQ1GKA4Q40810AAA43O0VRF1VDLACUTS11ZIP2KRPGMSMKMDKR0GOQE56IXW71JAV2FFZTOPNLYDE9BSYX2U50YSHBFEBZ6XHRZ23O9CMISJFFHB8GKPLLM2EOE7T947325OA0X43BIYSUHG1FZPPZ5ELALM1QA19PS8G66WA4XNCKKHC3FIHRNPBSFVMBVF0FU7DGOHGXUEEU4EHLUBUK6QK08KL6FEQ3NEHVFM1PXSN4PF2LDXHS1M4IAHR1Q4WEYBL1S9YTXTD65UWQOEHGP1GB. +-36#7CCEGH1OVU3IZY5CHWF58I4B0Z5XWRSYDBBST6W7IOJJF8DJ3XCM2DPG07Q8B7JNX1UD3X4ZCD37D0V7SZSUL6DKSA9NNPT5DLGYVW7YCNWTSRNIIEGN49I7MI0JF6MQYCVEUYZNC4VEYALEARZUJWPPL1MD0SWBHHQIOZXKIQY48VGC9RY0QL9KR9IP3GNGQM6OD53PWYYMT524YVV3SKSOK75VKB6AP8USV233GPI9USB63RJCNLYV2GZYZYXADYTC8WHTGW65I3FGAUNXG7G9D3DJ82OO4ICZCD9B3OWRZPYNIPK258IDEQYIPFVCBHMMVLCQE8XTW8FE55XNUDDF3XNDKGAFW9HT1I5AX7TWL2G8IS196MD9DY8AZTVZNUV0LEDP1V8NO2EDN10VHHYTPAQJ9SXAGEO = 36#30XI4S7LTXRZEKCV5Q29NDWY8GUFPHKI8JFYU3XMJ6FPHWK66O * (-36#2FD163BMHLU22J43ZOZ2NJD21LB9WVWD48XE9361H37ADIZBW2MNELINE3Y57ANQT78CDYUUW6GQQW9K0ZXKE5787GHXPBT88USM9WG7HEYIBIDQPAEHDV51AHK3DWUGZ3I5DGATBGZ7XX5U7TNR0HCBRB8QZNC485ZJXC1MI46JU6F5EGR45B34WHS65QILAM5DOB2ZIDSRUKZSPY7IVC35VAB5VZYX5N1RPRT01WE95TGWC32TZ2BPFXV2S1N49JXRU7HFN97M59PQ1IHTZK60ZMGP3W33DX5HWUB3DZUA7Q1E8540BTTQA2U935DXKPBI6MMNRF3L5NMOKP7024CYJXZ8B3UZ32IG96BRH1P8O5A1UD). +-36#1AKL2YFF95PFIW3D4TI88O0715L9EGY2M2ZYZ0KV66X8MAUUVMFN7WQBMYQ599WD6PBC1YVF2NWXZ01Z04B0ZTV3H5O822DTBAGQ6MZ8SU3DFKCVBMYJST7TDWMIVHCZXQ643GJ3WM3R0JJH1L9B4DJEQMCDDGRM0PLGLMZ1NQ23ZUCIOBB3OYR81JTEV9HKJZINW981W4PE475AOH9CGTZXLDXWXC4G5LRVK32MCRFXNMZBPH060SWM21MRTG7VQEKIOI58OACQI6EIL45MLK3VUODZR4N7RFEKTMVVTLTMOGV7I7H37GYN7DZN80YXH6ZGVWWSTFK145SFECBBIQLFNFYR2399TKSCXUFZPNGYFRQN6RWRMP9FHST56THVNUMXNCX1IZ4EO94EUK7Z0SEWMULHWH8ET7T9YPDL7GISSE6T2DHM8K4FVE3A777DIP08B0I5BXV1IAGL8ZH0OXBQF2M6V976WEKRFKHHOG4Q97YNRLE6AX7IAYKSWKIZI73R331TETOBL6BFZ2P592DJQN6VHSWNX31DZYPG6JP0N7ZI5KCQ9HSCR30C0YJ0PZ9SPQYG17KL7DJJVW1S = -36#753XAJ9VRYMYS9SUOT1QV2Y3W9W1JC89XQXRYV0JOYBXKVDHZPF5IAZR675SL51U8IZTFK7DI6RO5TDBBNP3E4PS59Y1J9XPQMS8DWPS8IXYQ3T9OLHDGBCAC27H5BFSAUHUG4XUYSUE777V04L1IAGIME2116JVBI1J1HDBMXRVISUZJAZQMP395NJAG8N4 * 36#6IR3Q4UJVU71OARJBCUVP3TWL3A3JTNDHH9H82Q12VUEUHFWT2PJQVBIA17JHCHK7SN47JZGT2RNC4X21VWH1QDMXAKBNEQ7AUUJBLFNYASDA8KF6EQHR39BREOA16FU78NKH4JJYX5HBZID5I9H0IBPA78TQ78AGMNXP2WC5K5O41SWF1SIXOP7M38IEDV8UUW6V1VDN7HPRR158S4V0OM0C50JRQWT6E6AZUIFKC01M86911QIK2A5494NZC8QV5SGAMGJ6PLJ6FYR2HNYUGM8WCOJN6Q2861KLTX2IJPSTQ5U2SMFQPFCMXK3OPID3PNNLTE51YTELDR68JP4M8OXSPLUFQQVZGQRA5HGEO590ZU0Z7PCP7JBBXUVUHRDOZJIGDKXVYW1GS10F0PG. +-36#SHE0JY7IYUCZ1JTWBSTDEUWTFMXYSREWF6TRCF1MDM4W5IHXB = 36#1ZCJT6S7FF8R4CX0HX6YH59XIXHRXS9XPJVNIWQ50E2JH1EI83KK9ZYZ5NYEA6TG8RO5PVT71MFSWXQ742XS6G8665X8MDWNJJC div -36#2I6F0A2WJ3BM9AU0XE1WDDOQAYO32W7LW9TBXUALCBP6FH3YOO. +36#1ZL46JG7BVLV3F0N2TIK3NH8GEGT7QG9ZSOL6UNEST01L6GJPWV8KBDEEH46LCZCOPHQXVOMZ1SNDJ98Y801RRD3T5T69Z0FJOZA4GVWAJBA6NB7I4DG0IG2BCWZPISCLYEKRINKR309FZG9NPQ7VKYAEHDL9AYHJHUPY4KLG2H6RDX3097MBULMJ5FR0Z7K26TQF1CQ3RGBN1QIDA62D2WLQI0TSO9SLJVPNBV9JK5OTTXETQ7PDXC2JP53B0ZAV7A5R6888LM024U3C6OB0LW2IK8KTA0X5GF6RHP3KXINTYXF48TKBTR2QPU571GSZGU6H9LAUL0AXB1K6JPWARHN521LEJR23CP31JY7CZ56RB92ASHQZD1MR0QTE6AFO5KH2RJMVI10H3YYP1IQNES2AQOYZKZ4VZGPRXVCPB7HWTYTNHP4TNJI1ZZU35I65D4F5AOC0WTE1NOBZ34VQRZT11ZVNAQY8K8QES5YJ42AI2520UETVDE38AXI3SGU5BKHMGB3RCMGUFOWOYN8TCVPYRPGVNONDPZQ0WL5BCQRALFKCLO17V9DU9J0GFDB0LJU9BNYN8LUCCHZ7GPR2M940LCIQE4X44S4Y7O7Y12EIVF0IEXQT6ZODEY42NNRJ61QZ2I5OK5OAU0TZ379BSN2SHY88F1FV6IESLE7UZODZ8NQ5KSJ2J0FCVH5XO0B2EXR6WCJ8B8K8HT3JIGZZAUIMV4TIRNZDCQE0SQTJIARGDGBKM4L9KUY98WDX7FLLG7CANKN6FF0UEE4YKLNDZSW4WM6VSSEU4702JE3SY7MSQNWPYZX4GJVE8AH35IHYP2WF0AJFCCPRXL1GLDJ6CNBTS941X4D04OWQAVDV0BU3NZMDBM64DDG2EHHFRNOQNIH6PNZVCJKMANPFPKC0K5UN4B5WFQCUREF2EI22S8JL5DATIN7TRQNVL0OYMVCAJ73WDW4WPSBRJMBBUP95VHGIR1IMSAKQM2WZ2OHYAQYNPBQV6X4B7D1X3TBXQP8PL0HDKWI76B5HC8MF7L3DY3JAL8PAZAD5EGSMOAW9HR4W8BYL7WG = 36#DNZ83FCYWG4QU7XY2EDF1GODI4CQFOSH5WK378RJM18UBNWH6R6ES86E8NIG8OZSAZ78J1GZZOXHJTTLZD2YNUEGGNZBKAC9EFPB86ILP8076HVSVV1BV2VJLMMWVCO1VEY1J30IZX7AHMCNHCXWO03DNKY0IYOYVF4QF06QQWTQU6EQKGN60HQRRUZFGRVZDZ8URHGOS3VHGJS53F07ID3W8DPNGJTF3PN6SMGDV633WX3XTC3LJC74MHE9KBJVTLB11FTP8XFL1DRKG34CO3UWNZQUJ15V87U8D30OY4P06GUQ42Y7NYU4LK8BXJJBO7TZOYR0SB24T4AKW0PK88MTANWHFC7EA75Q76CI2ACUFVGP3JH4BQCBMOQIEKR4D968WQL7PTFHFVE589OQPSO6ZXG3W14A2BS7VMQ1IHUDWETGG0EQ6YQ5Q6FHKB070NPNFWU6YXO2XF4H9ZHZ6DHHNL05Y5G9G22LDPP84HZF3MUQSL2WXRPEPC3SJH9V0MSS0DKVKMEBOLC38DQLWD40Y3RSE5XUFLNQGTL11WGOIYO3DNO11KAX1MKY5YZORV7POYNM5EW9ASPO8ZOV1YPMDGI2PPJFLM5672XTBXOMCRXCJMK0UG6SBINXPLAAE36YE7P6CX82JOO7235WL95VOQ4BWGQ2R4JXOMU65IY2CFQYJYAO6RC9GF1IEQKKDUKIOW4IADYXFH1FJWWOOPUC9LWOJ5HVADE9P4UWCY513TXSF02Y7U04RDKROY5QFNPEVYY4JVI224YLQO45SCUI8YB3Q1QM035W4SVZS8INR4DZA100PZJKWRD1VXLLENKUGINWFPTTHL2ERYE9H1TJB2PMRCLY8ERP9NZ4F5HUKXK78HERTXEQ7ZGISY9ADW7OWFRQUQM7MCEBWQLWOV3527VWNC7KQMODKPJ3GA01TXB8PKJQGVJGP04YD0U6KYSEHS4U5TIZ0NFYZNWSZWFV51GICR8FW8FYN5WX6HM6QTYN465655QZESPBVDEANP7ON6ENTD9KM8T2FBX0U3ZAGV8S2NMX6B5VFJ724CL6HP6X20ZGDMF4MC8171OZX6BLD77CRUWGIW3QBX77MRGLHR433N4GZ40V3ZH3VAP700DU5T2RGRO1D58D24YEODOUUVMBG7UR3FDBXYPNU4CIM6Z6EGDB5VZJN8252WGH54DKGR2XPQ8930T11XJ3V0SDFYLIQ77ZBOIFO5JXNMJ0KGWEDNF4ONEO div 36#6VER93HV27CO6M5Q8VSXQBU538P25IF8GLE59QFYBR65G1GFWFCXYNE15P9TB6HTAWL3U4I0DNMUHZT0OX54V9TRO4TME3XQQPWIZ2G561ET55JE4SV1VTG719LCNPRZNE7MG553UH2P8WKGFQQ4XFANCT9GFY7HWI540ZRPN4LWU3W96. +-36#65KNL15EPB1QFKGZ2T1KO4T8JFQMV6ELQFX0NS8HLXVVPU965S76Z06DQM58JAY400NZFRYR7F04AUOJGQHO7D9PHEY4D2JKXV3Y7VMHKFRRD1289XV9G90J8AZW5WS04IY9S6ZA07AK7ARQWWNHBQX063T4KULKSYNRZ83YB3OUS4OT9W5TL8GFP9NRYBZANZZ8L3N0HTKDIZNTNNSSX7LSQC6D2061DYM3QMGYWUOYHBLHIXHY8H8WIEFIJWGOP96WQ8SVU3N09XIOY9Y8MNAUEOLVVIZPHZVL0Y4ISCT7O5UXCCEQ82SW1ITOPTF8T08DJ80BY8925JQ4IF22R21UCOTXF3WIC8ICQ3QBWMN4QO3JW4WKOHSYZKQFU15GGZ1J915Z4L454AMQWJTRB8K60YK5RBKL5R4LRCF4W8FGJY = -36#38HVRGS2CRS1YXQ52J4HP5NXKCKOZMJK0WSEAY9D7MCIDSAUFFV1FT5WUYMOJLOBK6ODF6ZNQNLKAYG89Y2WP1BP2PTLNYQ46P8TA4OG7COKT4L4X0NEQYZPU73GEZ1B7C6X52B3GE9M0I74K4922WF2OEFT448301BMOV51VXYFKJN5OY9MLRFPAC3801ABREACNLV1IT41YIAONM06LQGFOGXIVHNFGU50Q983I9R6RQAQT728ADRI9FL9FZ09Z10MTEBL5Y5R20NICCCV3S83RAEM23XZAH78OTC50OO5229DEKTF4S3PWEC20C31S50ZYF9VTCQIAL5XDXCAQMZ96L7ZV18TR5JOKGV6ZJRBO380S2ATUIPVPPWX1 * 36#1WGYHYUXPB66V7SEJ6QOCS0QEP8698XX9F6C0FA5LVN2O4EGDY. +36#VX6LYZ5W2C5A34VAM8HDY6BQ3KCYDSHG0G1ZOECKIQWAMJ03OA0ZB9AZVZIQ5DNCG4KB1B9B9JUYCB08GRYVOSHE9PH7OA86VF6R1XP1CGVTSDVQSAKG8YMW67VKVNBY5J8JNIUQ7YHB3X4ZSKERUVV28OL2WEXN54OW1BGSYXUFFJ868P3774ZMC2ERHWR50HD4AY8JA75MQ9IQL9ZQ0ZV74BL1CAXQJ9524X6IK9G60I7897JOGIGAC3RXUPJF51BWA3AC4UNN5F8ZAQ0E8RY0HJQ0WKBQ4SX1Z39ODZ95 = -36#12WZ6W31D9LM1F3QUW7EQJHG5RXCVI25WWJOIM3YFYHFGWM6R67AUQJIPR4Q1OV3HRU4QA3RSNX4Y2ZKYWOX0PCGMW730A3DHLNOEKQCMV55U9XFXPOC0TI68AJHLI86X6HIW91U9O78OSKIVPYGCDXTD5SFQGDLXE0JKNQ4ELUOMCOBS2TXG6F6K70A6R6AUEAHK6OF201QQ6TQAWVWFZ18QDB5ZTN7UTB0SEVXNHO9O5IXWZGC67E1MP06WGB9366B4GPSW9V0F7CEAC9V3CS9LXO0REAHLYWMFPG68H0XOF4NTA5JJI6HE015PMFUA742TL9HVCWFEIVA8GDOWS9IH5IX5J div -36#17VYN8YH3ZTBWI9AT77TAUSRCJRRWMGA6JLR17DGNEDMG3F6HB. +36#7YWS52UE6BDZ4IMG7YBDE861LDSLUUQ44SN11SYM0Q9AP7AG6DDI39JSX8U933JNR7TNCQNBZUQBQLBNBFPWVMHPD800LH0CG9AO2F20JEC05I4VA0L8JWXXIPFC3DBBEIILDQLUWZI2VB4HNO5IHPC8FITVPV7S5HRV41O8736BC4HWI3YHW0R93TTYVUHVDU7OZP6LFHPSTU14NVHQ9S8NLQNZHV8LQ39YI33QXWEKV3G0XXA69VZ5K4Z4S684LEX51B999WYV3LJCA7JDMG2V372NKYXNEM5BE87N6VN6NGX0XN4SZJS8YM5RGR9IOPQUORCH281XXWGZSGJQF98WWZCZBLCCZ52D5JXPBFFLQLG7KO4M4V7EGZT2AGI9GTHA0WZOE9ABCSK2SRY2J6DLRU64V447H2S3OAM45LOYOTDPMF56NOEW3GHZWIDZ4N5EJKWTQ45SBZJ8QUM2829JSY2UUD1WJW4BNNVR7898CN72BC7R2F7U10ZBA8BJ6WU4KFN8LOOEOR580ZMG827S564IOL3K7R883ENN5VZDMQYCS4TSMP24EZZR1YGNX7CT18RA48VKDYE2CV87SM0D8E9D80XZJ3QS9ZO5JQ6V4L6EHWPQKRBLKWAN5LF5NYWZ53X6UDKJXLKMG9LGHEF2BW59LZ5SKIOFYAS9THP0CQAS33FZ5DS9ELIM8ZHUU4WDHJTTDTKINZP59ST26UNCZMUJQHPXFMK983S47N08DAGUWDPSXXMMESNFWNFO9VONV9I6M6LDKGVSSNU6AQW3E5OLP0PNOQMB5GV67KI05EIPL73TS18HVR6TQPN688MBCEUS5FZG1XOV4WPG2P4LC8PZ6ZTSXIZ92AQMCI7MPFDI7UOMB7KERYVOACYP0QCSA4APVZ1UVD1TYWEP7TL9NXJYXRYNPFBC4AXRWN70X3RU3FM66TNRS34DWT0NU8OI2UQ4EBIP9KFVKTOBY35TAN8M35N7AZ2KYW4ZXCYWFRNZO8K3G9IU2HGRSWNU9AQ1AE5GPUOCRGIGIBFZIN87AJGCBEGC9P0JUGUR93OWKT5IR83D9NQZKBP96YJ286BFAWO0UADOD3DJWCM0MXZO34N4D6HBRLMCI60PW53JVIQIFRT94887LJWXO1JLJEGAQRY9KAVAVPT775LOGVX3C8OC31FZPHXPC80P6BVFZTYC42CR = -36#71UTKXKO2AVKH53JY00GFKRZCF278SS17HKN2SEO4AJM98TB9IYKSYFNMCJ5JY2LUREQPQSMC0D5KS6GDRFHYZ72ZFT6FP1EU3J8QVGG9CNA4R15IZSME3O5XDIPNDNELKYXCFTH3JRPYUX16D8K76R6M75EAYFHB47Y2UPAQX86RMV6Y5KYFF7P38PF2ARUTO06X7ELK65QEI5DRY7UP5V7P56BHK8V1HPSDHH06SGGP7KOMQCEO3T2JZ0XYOGG0YS2V5RSWAT0BDZ9NXMR7633MTGU33XDFWXE8ER237QWV7BYOSW72KN40FAX7JQ39KM3DBFJTB9V326YJNKF41GQ6MD6E2A0GLX8RZ5UAYTC4ZGB1VLKZ2BWOTID7OSOEMCN4BX1BSRXDC9WEN4C56MFWIG8BF5LCI8S6Q22TPP60LT6IP5XSLEQRLOLTAJB38BMYJ5OSV4MHEVMXD05G7RR85UNXDL10CE0MP97ZBDNRGEXJNHA82EIVCIXX88Q5QN7Y13YK9X6FNVL5YZCEZ32S60TTMMNTD94TP6LS4QQXL0T2RS07NMV51TWQGVE5V52KTDSSOTIZIV83KYLIAWK3QJEN52PG17ODAXFJ9DLE56YYI5ARDUBLJ85H68VUI6Q584J72UGU61A7M2P5ZFBRFWF0PKS3ASYMIYDW69AXI0NP9VN2X4ETERKZXIGLNZJNBX9B6ADFAJ0601G4AUEZDKPZLBM5VW2AURK9A4D7RBKXVFBMYXPXEBARU8S95GK729ROMFTL5A5J82GYQI2UB2DKG3GCWO54S61GHASDQWWSO4Q4MZWTBB5X97Z7MXMTDLLMKEF0SBR5RGFFKTAPGEWN6795KWW9DJQ3NURDLFPZJUM1Y8F89PHOPAH44ZN8D15HEWGA4ONGWPGZS2P6I2LU4CM9ZKNKIJU9O3Z4M17FJOEGZJBFY7MRQVULSQME7HQIX7MAZADLIFRHOL4NJX8PXKUVEYNZDGGD8BNE7OU2BJWG9WML57Q3AD4A5OMA8BBSSWLR4MSI7GIY87XHCN7GINU8KKNZF0RWI0I1Y4Q4I4Q8H00W0D3TDUH3UO2G5G9G6Y885SE46OTE2NIXHKE7ZBHGW6MZ6XDBYFWYS24HLTQ52TUUGAKUQP192LXZRHJBI0927WQMEHDY6DFUNVTQKCDCSFO32SJL5M8H22H3TLNNUA9VGUL3QW0CXON00U80ZCBHIHJWCKY94X61Q5QQ0XEE3WCR div -36#VUOUISPYA6KP2W309HUL7PEL0N3VNJQIUZU2GGY8VTU5CQ9K1. +36#1KQNIKXKW4DL0IQOJ4MGGVUNCYHRK1STL60Q0I33BB1UZ7JCMERYHDSVVH8RN4LUVQY9H9JJ1ZL8E7YJ4TDIJFVC99CTT3TJ741OC2F58R70GJUSS0UPMEHBOZEBMBDH7 = -36#45PK2G97F5R2W2SSIM3IKNULNZGBPTJ0965LE5ABFNX9EDA4BTMVWZ8CAKCLOVAVQ9Y4UKU25978TCH16SOR50LT03RKC4DA5H9ZM0F2KYB0X90D74WWWO5GMFJR7Q49O5EDNMC0DX6KYMAK1X8NR6ASWE1NJ83PJW65U4UL1RND51H93M div -36#2MZI8PX332TA8C71RC7FLFF578W5LM1DGVSE0MTGDDMPG6A3PY. +-36#1HCCK32W0P1OVSAB7KUZ8T5LDPBGT96V9P1GWNLGPX70E72FD5 = -36#2QGGP4JHINT5Q1Q5EMD2Y4OKJP29PT2HWQGIN1RAGZFSZI1MM9GB0ID8QCY4WIKLHNVN7DH3T5YMHS29XXCZOYBA7VW21XFN79G3YYFYQK42QNLI3SWNDKRLQ0VM73SWFXH6BT69UNBCMEBE0861CZLLEHR85Q8C8NQKZM2SQH1DHNBGS4BQT419QDLGEXMUCTWCK9I9TN8GKL1FU578OAKD3YZQI4KURK5HGQSKP457IAD29BNINF div 36#1UG2TPV1WO3P74IOV3TPN0J240H2XK0YFM7ZGW4AVR32IETP6RLRSM1M1AJ5GD8XZZ2LD7CWH4B8WNP0IM7JCZIGJEFV540FEWK1LMSKS986MGDJ3DI3U7RR9EIBY8D10E10HPUD4FDGX87MERD8K43TC2FGW1J3KWZWQZGQJZ59P3JMS1ZBCD0WJLUAOEB09WK43. +36#3GJDCT92BEMNDD2HW0K2ICODYWA3I5RK7IK4J8ZC7JGZLGE3CXW0PGCU4P1YJSI6MIYAIMQQ17GBXJD2JAXXNTSDLYHJI45IGABX3NWCCCIJ7V0V78O7MP0N0UMA1ANBYIMBXJVJOC21RE79A33CEWDI9HMRU8DVBDT6KI1PT9S958C2WNA9Z4VO1FLPWRQVVEUNPYFHKKE0DPI12MI8OQSUI80Z0IE3S11P2V8WMFFGBD03U3EE839GKWXWQIBKVWRIV8RV32E9PCHERGW396IH7AWDP4XA1TEZI07YHQ1R518A7G1QWSHAN23T5WZTNYHKAPELI6QY33ZVM6FA3FVLAK1JCOFZD78FC4M43GXL1L9STIV4IJJ5533Y5X466JI745RB2MY2B33A7X5LTLTUFKZ1 = -36#82OY0SZYAPFCKUPHJVY8B2WUV0M386IIP7B3SC82CET0SGFGLBM25KSDCEB606QT2UDC0YULCFHCLV45AHWEW7RP4D0JU4S87BZ7UG5D1LPRKF3Z99GID289H9HXACCDZD6MXD23A5212NULQEOSHT74CI803KZG02T3WIH8TFN8CNQUTH54WRB7F33WG44BNIT0XM67VCV66JFAKZW5QPOKXXNKXL5MD6FJ6CIG88QUQDD73FNEN1H9SEK8P2MHDUGR0NGAX6CFIKGUCVQ31XOLPHAUK5TMBKEHY3S5V2IO29SEPTHQ2AKK2TQ3MR62ST72JDKW97FSIGSQ7R7AEFK2OFDTU06TLQGDV3UJFOV5JTGNJ2I9EJ6JU8G9B38X42L6GK273S7KWZMOX8570JPMMBI2O5RYPDM6B01GJWJEGQTXHBIEB4IPETLJ679EVO31VP86RNEKY div -36#2C12ZEEDTQYDNULCSER5FXO6NRXCJCGTL57Z74FG69VCF0J3IY. +36#3I78BOI0G8NCX5KPPVMMLG32QG19S2GTN8OT9UACZUUWWD990FSPZC78UHQ9HEVO8TR7UMFT8NMDXGIQYLAJYWPDIB3ZG5TC1NBTJVIKFL1BAT6Y3RCCZIZ7V7YZ0RASAC9NX5VR9K7P9K21T70AFGVVOB2NUZTQL93SZM6WCAV5SQVNRNJ3Y4P4F5ZNQP8GGC3Q6PYFKZHKDPDXG = 36#26F4857S4VWGQOAA8QMULU8LDLBCHYBPTYVPMCKLBG23F6YGRZ * 36#1LXNB4SSSJWCN5U4YBLC61R8WWYA1QS2R6EJ97QK5ZIJDWAJBWSNV2TO42IRFQNC3SYQ5YQVACBMTQJY9UN71YC6NUI0ISFDWCHJRDYGWNZDVI4J2OV3JEHA90BO6T9XLKGLQ3RB4SN81ELL5QP2YAR6H488H1MK. +-36#1MP4RM3POVFQPIVJSTLIOZOQ33MF2LTS2X4YJQNMTOXO7NVL9E = -36#49GXJADZM1ASMZFNM9G2GGBEP87YF5TKL4ADQVP1PNKA20UGCN7NAW7R3E09187UPE9DNAI2S4G7SNDH4366X491FEY3E8I9SIO div 36#2M4HCQYZR4MRIJ0VN16QBLCUPXCTIALM0WUFKDVTE28D6V9E1C. +36#CD9467WZMRURRRXVAQ6Y7GZRC1N9VRYDOLXCWLC0UMIIPH7TL = 36#AOBDBUWGIVFI165TU1YIX231DWB2VPDWF9SHFC85E47ASWZX9TQPUHZHHPBQBVOQ32IJQXZDU4D9QVASSJ9HG83AXB1A4K2KCSDO08YXKJ64OBUM8AZ4BDYC0MLNWZQ40EVTQUIW01L47IF5WTWPK2FR8Z58I1P9RKK17E2FK9CX5KHVDXGECWO53JET7SAGSTCD5K9E760MYYYZ2V2FUMRIYLU1DUWL32DCT97XLRJPTVK2QAH1S88C0NOVKEYLC33K7ZOFVGX9P81Y1I2B9FVXQ1UIV742H1R85MAHMIHJ2PJ3DE8V09T57HNPTMZLONB914JL1ZCKSQN7RN7CLMA2FF0MLSLEP2NIHVHM3CLHRG5VWFPWLDJ0XDHY06ZSYYD0BAXSSD46NPE6I86JA8Y9TA11MSM6LKZI1DFVZF7WZDQYQ3VPQWV1KM2M4ILGN97NRCGJGIWY46KMDEAYJY62TJD6F3CPE3TMKSDYIUFMEH8ZO0XYXI8B8236IXP3YBK5EUETL15C8VFV2UL29B825LVGFREVN2XP6X div 36#V2MNNYMPODMAFJTKLTJ8TGWYPEIZU258I570I1OVGJ4GFZKYYN43BR4MWXJZI8K0U7P3NRDBQ3LG7K6RMHBVLQML2LCG5O0L7TKRBHE9GOBS3J3NWWNXP6BKXE9RLHPORIJNYXR7Z4PZ6C2G56V2YKLCCMLIULDSULUMT1VWOO3OEOQ6NAZYDNVBKO6T9D4UKE5SVFUWANQSEMF2GNKHCHLEP1LI1YBKVWX5GZ5OG22G8Q1HB1HPJDNI8AYI1V45RBDJMZUSXHUPNWZUD0J43N7RL4ZTPV4G5KDAURV0IEFAHOBIXPRNX0I36H5NLOXJ753V2EYJ5BKMGY6FAMUL0I7EOFO5KSQPX18AUAIPFE3B1TCRUZHWUCV7G4IPQABI8R3XGK04I27NJ4C2NJS627UA6QH3390R5FKREQBNWTFFPLTLLFSI5ZEVF1F9DC71N9O6NYC78EJKNAP28K8DVOST4FJ8Z267UJX1YIGW15ORP5NQBB0J5. +-36#817E819LFT40VLC0N5ZWNYTJYANPQ01LQCK0MYRB2BE7FL15A = -36#EJRVA70EUQ4VXC1PJIVRWO8691AKMXD8OVUM7Y93E2QKWW0AAY7LONT6M1BJ5JYVSIRFX802AZH5NPQ2W187R361K70DED7HB2FO8PTMTREX9HXWDEG50VTXS794I2LE424OX90Z8F73II4TQWFKPRXF89MUV9L6UJ0VG6BCWG6HUQON5PQPX2C0SE79OHHT28QSI056RNVGSTDX8T3MB7XA6R6P5PGLENSMW7AK7J5D8VLOQG5AZU9Y1W1V7QI31SUWNZC8VS3WSPO54ZENCVLS6YX4JMR6VY73SEPZAR9YBUYVRQILO9VK0PYFC2BA7NKQB5TPOD4TRD2OGJ430R2LFDN7VC7K1NBSB4PJA3YA5N5E58NMC3HM4KH52SRBP0D97BDDRRLBQ5ZOBHWVJ5RLQHGTXGIPSFKSWLB2GAMH1NNNS2ZSML02V84LSFKE5SXL2B1YCPHK3931TKZ9GS3NIUTB7WTSY0AENKI4RF57SX1PE6B5TRAQKMTBRQJDYI6XGY6HKWUKMXSDKZJYQ5XDLCGOUWGEL6XR65VQ0RQOV3GVSHMOV9GFBFDATRL0TFCAHCFEYW3PI9W2QK5097530GP981LQ51YQZOURG980EHUH0FV8ZCXTBBXHTFTPWHOF9J8EOGGOV8RRYTFB1XQBGJCGRVKA7A9N45FXDZEG5VBM8T0Z6YBZIPLGEWZ0MF820SJEQJ3Z7D374ISTEF05PR0PEZSBI3SXY6UDT7WUIB3WTMTIX0BWOZS0NPYA8VRDV3HX9DTLRMPYU328TL16BLPEH18MHPN203FQ6FE6AN6TZ03XV1JRSME7VVZET28QKTR83XX293ATDMO24JGZXK8EDEK6WYSKW3YFGWDJ5DH2J04EFEK7RV65Q02D7OIHS4R0HVHWWQ20FMNQK75D7UNK26GVT4XXHGET47Z5XDRO6V9219DFRIWON8LH1RHAI09VR95NKYCSV33MQVY0IEH1V4IGOP9XWTMG72LJQQEY77AMPLDB6VWKVRTCKX7GI60DQ5IIQ706ETPHXWM2B3PUP4W7VS6G9R374YBDXBG3GBHG5CTSGX55FCJW3WJ1YGREVNS548AC6RS7A9QIR947P3F3NAPFLI9NI9J4R95BZI div 36#1T75QVH2B621GVEW14OB330ULCN836OK1BKM9XZTOOYYIIL2WK5IIQQHKCGHG7XQVLVLBOKIYGAES7559GANGK7721JLO21KNF4MK3UDLZKBG2LFUBM6Z5E71RD243BTMBF3XY14IT0VO9XOOA908DEXOPG4XHW2O0XIXI8JHMCQAL64A3AP5TLM637JY0GF89QGSE82XP95GFLG9XDB54QXV0P05K3V8DEBXQJ6TBC9OQ19UF0FL8JFPKGL2B6CE2UVVMCWJDJD5KFNNAPP1TF2BHBKEGM0UHLV20F6U7GAEOX14BJ8URZYT585SYJV1EV535HQ2TPVGQUWSY0NNW8O904NHLGMMWQUGUHJ4LL4J6SI4HGRQ2KZY9N00IJE05J8T8ZY65PA6H4OTSVB25T8REPW6TYVZIRU2R6W4KVHZMC9DBPOS42FNNMO2CKH861H49MY9TP6SC0YBS725ER7TML3FRVOPAXDAMEI1ENLJS848C135PDFNSG875YARV107OXCKTOA4G1CIOX2G9A2QWV5SREU0HSX2SQ2OW1AJI4NPROAAC8YQB8CAHKX01I8J4H5HEYIKWIZYKXDYRCYMGW9NXLAYAO2SX2HC89HDAW00S6KQDJCSB96ZKZMFJIA036H2SRZSYORVL76WDBDEM64DDRJ94DRUJWZNI1D6YXRNYUUQO9AOIOZ8Z4IB8Y8U0ZRBBE4R7LOW1AQUGC2GV9GCH7ULDAUQ4JGUOPB4ZOXG9YXEWCIJZ4WKHTMZ2NAYEVYL5CEQED1OKWFEHCGO90U3A00EZE2ED2ISGN9ENY8EW4XZQK2O6LQLTVFLC52D566L8T3NFFFZ2BO2K4F6ZYV7WMWAE80Z7NW445PQLM9O1VSIUR50062TDKMV45VZB8M5LDKZOIBHTKWZBXHCLRPCMEY0F87GILG03XRSRZ5RQB3FKIQKG0L2A0PHQZ63GIGELEHP5B383HO2TEXEA0UHVMX2ITIUDAPG5UZQFZHTQPEMSJX3DN9EI0KGPFSH5FZZRFKZ4MGR58N6VDZZ59B575HQT3DD8NOZN8PANPAVKMOP56XDP960T9F69. +36#2F0437LV5FC52WRM30DDWIBATWCQOF7EDC7VK7Q8JTHSR1CWSOI4WXPKY72SFY7IHT38XEXCEBQK6IGGJPLPLDLQ9M0H7G3D5G9MF50PVCN77Y6ZE30KPOVAAY7AY8P4OZBZWY432F4XEGSZ = 36#YQQZZ68GAA13H2N7TFIBTXWQ3VRETH8ANHWUZTSPL959LW5IUQDEUWJGPJYPO7LBP70YALO0GD4ZBIJERJR3O06PYQ2NTD * 36#2I5FEW5B6L7AMLM8A14IT5X7HEASER7UPJGASDLK0IRH0LS2UB. +-36#8DG3IDQ8TLPNVLI2WL7VRLFG81BPFHWARNVWBGI4GAMVIVU69CHXTV1MJMOPELOS9RSKV0D59KTYUDDQ4S52S2GPUDP221TKYNDOC7PEQ239KRSASN934SAJINQJ5MTJCV8QXDYND7CFDQY11HYYGXQZPPE1DQUXMNL2XZLDP9L2BGUX4DPJWDUER4C4TIS24SYA7SXZHIQHWOFSROG74A9FNZ1GHQFA0JKTI8JD8L7O0HVZ3XMZW0IX7TUBC41GDSXA8LSVC1CZS731J1JE7KX9OYS7R4H7SB14W70NNOEMY8UJHP03VLFWI7F11K13S02QI9945X8L3K23IQHZP561U3F0EMNKNEAQW9CG3ENC2Q9ZM0DRAHPCHHKSOS7MS5MS2MPLKIZOK0JRG8RR1VXR1C8O6MH7QNBNM933TZYF1SQ35NOVQ3QG83JBOT8KEZIW8DX6YRHEE92O1KVYCDWNUN4UNAFPCV9Z8WKLO7S3COS04T6R6ZI6O3H86JEBZDM5K0J44L0HBD10HANXK3PCEK9HNVIM9UEX5FNL3216DIY3L7DO181OC0PLYGPIJCUUBOJONRSMVQHFH8FLC3AFKJD3TF1M14W30QGWLXRZJR5QUJ44NIFUOF90KUCBJXY7GJDD40Q2GQ90T7FXJ4HOMI5EP9CH8YG9QYDXWALC2L3TO7KVO4Y4EUS8JRB752HXJV4OZUBHY2HXUA4S1X5E2AR84X9V2IUSBLM7TR292N5N4E18FVZ74UNBNWIVWU8AXZT41RAGG1RZ2P15ZZNLL9LCEHF36PDXCT5D1OZIWCPQEIVO6XRMYYIE = -36#7D853YLH9JO4YIT5ZRDII75J21X5CRRQPJ7298O9CA622W7FX48FS9JRGOKHP7P29NA53WF0U04PVNL0DQW20ZR4A3LDOX4ZBN84POCNINV5ER27UEODU893SMAPG65QF1CWP8QVJSV8TIJQTT3E4NOTM454BRWMNQL0NS37VJOTIMJH59LYVR6PHZI4CO7LV * 36#14WZN58LP53G1K45R6YVA5G6RQM8DA3V9X9IUWOHOTKO53P2C72JFBVKP3ZES6514IKSIBP6IZV2SZ3GOXIXMOTYIHL748K7CYNROELNO88TM7TMYHWA2T0G5V7UAEEQQES5SDOFV2OISU4Q8ZM0A5EFYLWX6BFOBF70B61BGY6VP27Z6H07XX1TEXQ8CNWC3TPHZI4XWOW9ZNW0LWDEZWS62HP7Q1MZNTPVSKQ9ZZAX9J9TRGW1UR2KMA9RUK9O6PJC26VNV9A71WP880CWKR6I559U7KNFVCB6Y2PW4RJCL43I85H33QRRJJ1SO1F8IM1C512KBJ4QHKKJH0X59CCSRFS3GTD7N5DA1NKKW3U92PGN5V1UAH05TE4193Z45AULH0ZYIAGEQYXCKH7W08TJLUJ2SZB3L574X0EH458BR61XNNMFIC5GVGZDNSM1EDBPLF4FU3DOS4RCANMGB2CGYZCRIDCBFBTMI100R1J0VFVU3KHRMAJK02OG9VK0H6GBFZPCU21FBL6RPUAHALHL184EED5EOLHOUVO7C2P6PHICFN704358HFG0Z8J8W2DJFTBXX4WT1YD81Y9KDYJ9A6ZQ3DBT0M4K98GHZ70MJAF3ASHP20L1OR2Q. +-36#CJA80H76OPL0BRTW56G5IT2BBS509LFZ6M2AFZDQR7CUP4XG6 = -36#13847ZQE69ND0L8FCU84UDHP0IJKODHD6EUCUA6WM6X2WJ31UWGJ4CHZ9PJ6K3VZHYGHMR7HK76NVC23UKZQN9X5PLOWDYFGPI0 div 36#34NBROIZ31J51ZHGHR0YF6117GGJU4X5OIRNINIY7ZPSI4BY90. +-36#753U1N07FU0UKKKEQSMIA7E9EDKDXSSIA7OKZ7BWNS5A7KGU1SSK0G18IMU0954LWO2HRNXG6CDBURPQ7JZJR4O1L2 = 36#J930XQ0Q0V9JU7OFMYM1TD41G6SKH0M6KKJGOVVFUZKOHXGJ2ROYMX629CHN4XTHGJL7AZNIMD0QWIW90T9UWPMDKWG0YRAK28GW5YPO24YFA4RJV73X8CAM3X3NXJM52PWR1HOZWMY div -36#2P1MY1JGVFTQJME0MJB7K1QYD40K8C20TD9VOYAYPYMHLSJB3Z. +-36#1KY8ZZQEEY4XAVGPRB94M4X6ZSDUPDIEY00CCQWFREJUREP7G4QYJR9P480Z30ESNZPJFH8FX6HFQ7SDA5HYFU8P9A5JVVG176W = 36#2ANCLXDCXZ1N7YYSDX80YABCHDJ30RTVJ3PNC2VMV5AYT3ULUG * (-36#OT1NC02KABUUO2SMKNV90AWQ00R4U0E4J1ZCXOR4VXJAOV5BB). +-36#THEYM9VJ2HJ3O1DK6G1PAQJ141SL977PT7XTY1HYB9Y8U4OP1 = -36#4J483DNKBRGCLCCFUHCQHX4W91S26HSZ2KYZXF6OTB9AJRDBQFG4D0J9HH8QMH8JLS0ZJXIYK1ADAJ5PIMLW5516SMVSBZ3M6Z0OFEK1QSVVC65MYCHW98GQ32CJ44YQA1OTS3WBZNQUOEO948TGPW6ILWV6LYULNUPJZB6Q7WT2AWM8VERXHP18N3E10A4ILIXC5FG6HIOXDUU8ZHHW427Z2SZRCPWJRC1ZPL9XH3J6Q28BE80BZ5W388OHVF81QGX7HI75MVEX7GHH9HT09WKOQ4CQN8Q6PTAIMLNXDE84OQZB3FTOD66487S64RTXUT9S0Q7W7QFM7XW8FRHCMIV3DW0H04WFRAMV7ZH8MM1IQ9YTSRE18E9XSEFWGS5RQH9PBSHYNN1W5R7L6LPVVXNIUVWNFXQ3ALV0XRJRLO5H6LU1L1HSJMFLI97QKYC6PCMCWEVM4BO0COJCRW7P7QG594C2LG0X8E9KAJZYGJM8KLS2NMKM0S8DSZ6IKAG3HOCTX88UHGLLCAW5A8K0F1H4BKD87GU61YDZWPXQK98CML4TCOV219TQ22F6W6TPRCN234A8U4Q04BNSNPNRX45XDEM8KOU06RM6GG60O9N8AKH4UL44AB066YIGNU66X1A3SBB0SNEFZHJF7V1YR9U6HKVRD1T3FR8RA0F6QBRLMK4QH2FXCYCCQA68HDK244HZR4HW0D381VWXOR04JX44B3PC28CAGR5ZUWVPTKXTC7F9DATAJXF3DC12LLTWQ5B1FZM1MW96ID5FIEQ8V33D div 36#5J61TCLAO59J59KUS5UIF5BXF2MNTHVD4F5JE16GSH2N6NTMSGA9L9YTB8DAAWX9XEUL70U7ZMSUO0518OOWBEJ1ZXF6FXNIU1RR1BKSCLCFMKDYJW5L1PEA2975FVCUIYVGD0ZVCMN70FJ7YK21JYBC8T17M1E7PZ1JFWNOXV5T991CKA4VVZHC7S87EGXSBR6HDHXGI4H87HU9EHW9CVFYAWO8L5SQSFULT5R1HCJHA3GF9XZT9ZWAVAI6D9HJVJ3QT6T0MNI8YN10JISJM718RHGLW1F0UVOOZF5G26W18AH58JJJ3INVLL8XJZ3PY6I8EHZYNRJT3C8469MBM0G9APY0WRB2W92TLLO58AU2574WW8IQKU8OE7ZZIOF2M6PCBHJPRRJVHATCC8X1CHB83J4VM4AQN0MRZ5S2P068ZZDNSN3HFHG0SCBTVJWH82KPYZM3CJNNX8KU6HOJSNLIIWQXSAJVYN32CO9V91TIH7DFG6Y1V1V2YT1NPT40CVX6P6LIPPID6B67NP9CB7MPOYOOZWXZO69OXOJLKGFOUIZNPUSK0RVJASAJPQSIH3M18R87HUEDDJR8NCDTPBHLI50QGXV868YPU5J5VG8RN9FNZDDOU6QRI21PTBGAFHG2S3MVA4VNY8K5SGEFJ0N25XJHS1JQRTIR3TTL0KKR85XW26WY4TKXJ9HAPOA9HHLZH2V3362CXG39VS89T3IE5SE94CWOR3KCS2D. +36#2A13K74Y67NV371V1N5F3S9ZHH7HOYCULIB0J2L2MWSHXJO7TDIIXWWN8ZY6CPNK704EPW94T1M1KED9FU1WDH06HNLI8F6XVHHCHMJLG5KKL2IADEBKVZ3RRZYRCICSZEN5E88ZAYWEPNTLD6D1XYC0JCYEEJR0GT90T2LDM5VBEYXXV6QGM982KLN26YAI5P4LHH2QCMNODAO = -36#3E84ZWRU9S10930WV6WRK750MS4V728KT44LB3G0D41U6G1XY8A4NO09DACCSDV8W8AXADY5UAO70VGK47FRSQUGWTRVDUCVPPJ1HV5Y6447LDLRO41F6UZJ09WX7RXDU1U90SIT0S2KP556JNUOCFZQLTSQ6511VUUUZUTFQ632JK5CG4Z444ISX21XJVEC95CF6BN1JKEXYV6BQG802XXOW9KYBTW9UCEGAVIIXNRZRUWVN3T8JAE5M2PVDUS0 div -36#1HN1S12175UUGXZARVGFSHDSRT3RN0HYGDLNMX0LAK482M9YRX. +-36#8BPVS20GI4W80RBDQNKYEL68QW78QPF8BHAHPV07RDRWCERY60JBR7PUFRUOTV5F22RXTWGBHURFBGN4UM2XBAGXGMM24KD90H0 = -36#36B08OCIJ5M7CPXW6UM4QQ1QW8YDOV5LNEPME8P3YUKX2BIBTR * 36#2ME7TZ08A2M8UF8JESGD0VK49R95RSFM9G1TJOE5R8KPF46HNG. +36#9FZ5XEMRE26LCIB1RIFDJYZ6ONDDCDVTHXRLNJL6WXRIQU96YQCUWK9GDW200CVRUT6ZA6RDV57WRET6CILYORZ3CW9ISRFR7YY82DGXRXKAF3KVYGLDWWDFO8SI1SANYL5ZBLD2YF6BFITLDVK2ZQBEY1J6W4WV4OJ78QDTVNQ72IXNL2BCHKKS2NRR02K1B0VZ8DLTLDMRQYHIM41HTEVQVXYI5IVG4RHMW8ABQ2HF3MUF1CIFZR8WZFI7OK5NVBVJDWU2TCTU9CX5OYYMRF12VU7C1RE95TSNBBDCTW9IULOA8XC6HKTU0T4GO7CYDN0BUMFD9PO971KARJCNXUM0R0EYMRWXX93YWXHM174DVABW02PSHA0UDC4C0XGLIO24DNFBJBX4SRHI40JN557JADUEJ2ED8UXIVQEH64W06XZ5ERKLQAEHBJY6GM28OQZA8ZCXMP0EKNQ0BQNX4ZOS5LLQQ146PUL89Z5P7PIUDIPCT0DOV5W17QX361EHK4FGUQY30 = -36#H3N7CSUARERG4IVOVQLA6JZRYZL5E1N5RH74WVWRMA0CFUOELT40PP3DQFXXR9M13JNZW1QIQBOF4NK7XYH3PREM3OFV9W4BQ0EENUV41Q6S4VOPE8NR47SFEUIEP93ZLGA965NSCF9ONGDB1R869YKL40VA3KRTH3PDEDWW3GPX8ERK6J0JZ4P929I07BZD8E2ANRW360NXLRP740EXXKAKJ7XR594ZWXWN5LZRFWHC3H6CH3ZC7PTTVM1H0C5FJ4AAWBWIEMXQ45IOZZAO7KCAMKLK558RM8Q2M7L1G3KH2EH4O8BHBMMWOCLGMXGVF02TTG2P5IUZMNMK00EE6F12M8URI3M11UWBI40296444RYPFKZ1R9U1AGVMGVDFOF7I4DN053LQUATQ68QYYQXZ7JB04FXROIE96T47SIUTUV17NHYOYOEPLQ05VMRZG2VIKVIL7OB3LUQP0DXUZ3FS9QK3FY84LD55RL4YQX8F2G89O19HEIHQ7H07NR0379Y7F2BZ4ZFC6K2F3NZKY4CUJO64ZW6QCGZX7UULRRX4ZJR2TE261GFBA2GD2RETW0Q7VYZ0E3BRVYYD479BFF9Z6RECDRLZH5EDP7I0 div -36#1T6UOOXMFMFHH3GQRJ966E6QANV5SM43VXW0D1SY57S7AXFO899MQ00AM9SI9PAGLWBOJSR1K2LG8PXMEKL5EDAF293VOS2I. +-36#27I84957UOU7PS9J68L407VNO7C9N7X4F4D1C480P47DI15GDEVUIY2OO8SVVI4F5SH053T0GA5P136YSNUHMQSJIDDYBFGJ9NIMKQDITXMWYCVY4RX0QQ5LXEX5GZLBLTBSPUQI6LEL7EXE74JMCVAZAG9N7Z62VDJVLH1T7W7YR3DIL0JLM2IGZ3X3MG6Z63DX0OCVISSKHL85C2U3INK08OGGREHYF1P3V3GR36SNKQU1NHCTA4673U6MYPP06BUZBE32KHHRWO6BYSNT19M2PB07G4A7CNH5BXQQ7O6MZ3V45LEHJB0XSCVNJJ0NMU8C0WNA4FGSBFGO10ZNXYT597JPW5VC0E08QJ6EE8HEN7C77KV6ZJ337OEZCVEANNNDUGTWGE2HA98RWF63LM8L7UYOWVHEFPCH8KZPDR0MSBQ9XMESHM1PXS3L09ZHRNRS6SZ3M8U0PCXSXCFTR6P95SCCM1RVU9LB6RC8E261GCITGZBANNTPF7FZIZQYFL5ME34MSO9R8K1H5HUI1IUNDNSPFUQ8TG1NHTDPPC79K06DU579XWIIZ19WQICHXP1TJLGQVZK9DPIMH6FQ3GSH4KT7896K0AGM3ZYLR0FU261ESHIFX541MOOZTB3496D01KGOF9JUR1EO51BAQBFCPIU8T8K316PUZ839IMTBX9MNV1GOGP5L6T5FT914MOR92BQJ002ZTO73ET474HTCQ1CBGBD8NPVVG8P5KA72PY9WJICO7TD9JTP0BEPT9YC7S1QAXC4ECTSSQIZTPW5LNISYVJ0ORPC268RFQKE7V6VUW0I2TS0DLI9GA7630QVSYKDW0BLZ3SDUW69TOOV8V09US4IY5UZCPIJWI6KOPFWZW6XZU5QC197CNBUX5RMWFHUDT90DBSRXD7VFPWI40OSECGWKJNQ3QUI1L6ELK5NOSLNSJRUPH8VEIKOEY926HOTK63U9BIM8VWW2H8Q1LJ8VD0LQIZDZBTPC3S015ZGRU3BXLAP1C0V7H4V22SIXM4N2SRUM9AXCEXATPT8H90B5B1QYFQLGTUFCB999IFBPZOXJK9R8BXN8GI7YFFFG24O7L06D9FMIOPXW = -36#4S7C7H8PS2NBKZ82JLFNCCJNZM3MIEMJP1AIVEB8HZWXTN2LBB6VU258WXX5GLVIPJDCWD3I91Q7SORLOO62W5PPQ7QWBQA6ZUT50M47LDAV36T95ZXPYQVS3CWJJPRDFFSG56HW2C5FH465PQXZSLMBN0LEJ5PCOLITZPR1A9ULC4KQ8Z955OOXXGB60R2UHD6BDWAK1M7HJOBSSPEU4P05AW5UA97Z9GQBYXUWDH3BZ8PWCLSGTSYXCSNBH2167U1N7QH7PTZGRTOSVS6F4A0OB3BC9VFVDP8 * 36#GMD0661DJVMIB2IS3QJ1551D3LR0SOHGTC6P69Y7K7SOAM0QLMXJ3MMYTXD7JCU8L4T41RR1J1DSQNI2VGZTD6UXFJYYPE5XQJHEP3L1MB3QWV67L4178409VWFRHFNAVU9RBH3RMQD1U5RVDD504LIEHNK597Z019CV567614Y5VL5HARCRBTEYCFBCAIZUD378UOVLNR1RRCRN8K1XV0MJXQTI5G1XVWRJVA8B6G4DQ47FUOGKXL4QX9OY8IYRFOEQZMHIKNUS1JJRD14FT1IDNCHUY6SXQ63F6G2EY4O7Q0XQ5A1A67XXZIPVY3GELCVOWBZQNX46SY8QWNWK2RCDN1A92GTN47NC7G3974K1Q8O65ZDQ1J9TRV8Q5G8XUNIMTQUDPOXB4A7RKG1971MK2JPQC3P7UWKL6LBCTSC6ZY22MZ2G8M881UL2E6DW7DJYWAB4PJS9LVK041O8MJ4MV7KXS1B1EBUCORYWFC1K6Q43OL4MQIARXVNJE7BK0F1ZK64T8QOR6SDPPXMY58HAUOZYHG4BZ5OZB2L4LG3SOFRYKVKCI04DDMGMB4APSLJ5XPI1IXCA5VJP6DCQ605HZPTDWPRPCYT5531MD75DCK94S3WKV4RLFMEBOYOOV2OJZ0IGDD2TR8DEI5NQB73MUA6Z6MS3MVPI832D1V9ZETQJ8BDBQUCJ66PKIRQXYQH4WUYZCIUCJ2DRLBUQYXB7LI4MSYUCH1I4PDO7NHXJP0RL7WRJJB2TL904WK81Y0CIQ4YOA3BP6ZLQN8XO9TPGLQ0EK1SI3X7GINDA6DZPA3S1V. +-36#5BOPZFK1NDJWH0IF98WP0JQDTTGGMIX35LDCV8IRRLGX6SLEOX9EUNTRG845XBPLREFESZVB84OP5DOU0OQ6XJSDO5OMZZC2SSD = 36#2KCR7TBHVE7I1SSD81BHMSHK6848SXIVRH2YF822R2FDR39P9B * (-36#22PX7BH18T42TPYG8N47FUKHGOXUBEKO21ICPLQG57FJ7CNBQB). +-36#8ELZ6ER0XX60DEVDYNKYGU41U5I1CH11CHTVKM5LEGO8P2TEZ = 36#5YG9VLSVJZBWHXRUSSR5Q7R24TO8WED4UTTKCBN0PBF55OXH1DLT6EKOOCVQC4HLRS7WLCZ9TFORXMW688L05F6TVY4IDDL648WPEOSO191PG8PZVCJ34V1XN1MPM9GJ7L7TAZUKJ4NTUM3SI1B4APW51SDZMSGOM55T73N75K3D27GUEXLG9ZTFQU889TAANIUXXPEU6MVN2S2MW6FFC22GFNZ4SYUTXLFN8LJQL2W2KRLJOVBFDLGFUVUEIAVHURNR0MZQBH60AOEL0QY65ARK0HJMAOZ9X1RM1T7W3NI0OVRCFN8QSCLKVKPYQ74OUMM5JFYTMQU07QSD85B6GLQ4BR0JSVLYV6DXJOILWRYOONX8Z553K7PVITRYKFA2PTRR3QF7NTNZZUEWG2QKELWLR9NNRN87TUASTHOG7RW6VJOYHWFI247R49ABAOEEV6OZZE7ZYR4HW61TZE97A9E0XJY0ZFZENS70HXWJMZK2D1UG5MGCMJAV8UABY3MHBY9SW07OAQ6GKOILF2TRE6J3TWNW6ABRZQG8QNL9Z8YA2P2L6 div -36#PIFVKO7SMVFZJP8ZM38Q2ERN6XT7MI9GD8YR71OPF40DP6736ILR2CPZL6LL9ZE54XQ6IP7H74YLN1KXCYJ7RV4HNF62WYZ02WU56R861FWMTQSY8M1KNL00I9Q2C9PDZZXO0PJBHFMHCQHM0NUMBZZMHG0EPZWN0DTUKFXXVHFQCJ4JKJ0HWPN3OCHWGKYP8GMR2V3O7COZSE6T9YYGZOAT7R08MUJHY3AP1EYHG4KP95E3VS43NJCCXN4LZ1ZTVA1GV5D4RP6WOUX1FIAZGK480BM7FKYDU77NAXWNNMYMPDPP3LPIV8G6YVB9X7G0QDI3PW4JZG6KYB18W973LZ0LOIERK0AQTKAUIANZENIFPEOKTFPD6LRGI08CHF4CAW5MBSE7H8FQY01SGZTGR4QY2NFFAIUJ91DYT91MR7BKOWRQ2ELN1K3NR9TY4PWDU763FRG934SZC1IIERQW0ISNH325MAEHEZ37WZ98OY0YKWX1L90ANS4DMB9T1RWU. +-36#7HUJZ4RSTMW9S0KFLNIMNI81X1GXAVZKEULMLN6FWE4FADDHWJZV2YCIGHN5KE7AACGARCN6ZZWTSOITE5ELR9I28U2CP684Z9PX0WSWPPRI2AK46E7LY8PTVPI5Q9MCYDLKE2YR5DG2I4ZKL4B0J62OLJ9MOWFHHF6V7AMQW7GABKQRK68IA2RBKU82RXY9YH9S10VGAOQVNB5TLHUYN9A3K1FW118TBSC8WCSZMBBZD76SFYJNTX6PGJ9DAC8C989OH3ULZJJKP6KENL1QECWYUAG7D5KWCE54ZL7J0QCU6H2DKXZ3P9LLEJN4P3BKDREHTJ2TMS2TL9AT4QMZIJ3J2KB9XIPDH986CV4VUBA8AA8ZA6377XCQP2MNL5801NUR3H4E9WSDBUR2B2JX708VRFCV0HZHDFF8BVHVGS29BH4JLBTGU3NGFIUDU0QE2UE7TF3MTRDJM7I485AOOT78Z27NCVV3QOOIE7P3KJJ0CE2BWC3NX9IHHLX9KRH662Z3KISZGEB067VJDRQ9MO1UIQ6KTVJRJS7BP8ZDAF0DETSWXB4PF2EIFLFPWYNL2D7Y90PAXDF9TFU5BVZLTNOXBNV122Y2UMFY50PX6G801RFJYE94KBX9002JQDAQL8S5PZMCROC7I75NFSZX4GAORVBW96AFDXIC6HRZPOO6JVI66MDKA4XH6RR9UP0277D7R6HWXH0OOAO32ETXQ38RJEV6Q1PLFWZVFP7F4RPTZF6170XJE847K73HVSM1KKQXYM496ULMYS1C6MZRSG49BEO5Y9K9S3BGN032E3UW0OM6AUYCJCZ50QUW3FYG8TS0X5T4HZDJOL5X8IYPZBZ2395PU82GGUMZYQQGN14Y0XAS2FL = -36#CFDT28QD3THNFMGL72NY4QDOPB00UN6E67KN5KMR9YJ4DDG0P7B73AQ32XYHQ8COL4GVWUTXAFTBHUOFFX3KPNK8B5XAUXZTSJM1L57D2ZG0HQIDHYY22MZ6U07W8KYVI0KCG1O2I309WHV1FWI9YV37BDT3EZEK52VWNKXWL2GIK6VAEW0SL4QY8JJI44YQ9W1Y29010HR1TKCMM30UUXI3SOBBW2RT91L7Q5PC4Z78TJ4YJG6YZIMR3A8QUFX11TSGMC04ES3IQF2GFKXEIUUPE2B3LH6PPI6QWQ8RV67Y4PKDEGNT9NG06WVKB8JLSQYRX5JG87FIAYALSYPTG0E3N0PNIZJEQKEVO3SKY8KDQD4IQD086DR5I8VQHRWO78EC1TTURITH4IPXKOPQHESA1QCPSHDX5RDTBC7G4NKDKBDUKUYTOXLTD5M38GQ0RR97X1NLFNWSWJ57BVVABTCOWZY7ZD4IEJ44K3F1I4PG26HF0S8QH1TLE1JF389P29OU8MEU1Q9GOE98LOKWPUD6HCC70E9FD848EO4ATXTJAN95043 * 36#LPPJK379NQ8GECRSOJAQ3V7IJAF2O920MKI7H0R0MORK5RG2PXF9GN83CW48ODWL86EFDLWFEWJIPD2AR2NGAHLN0XZMBXEENEFV55LQ49K9UNNREVXXHBZZSI69VHN9OVRDR91ZMZ3H1WITOA9MQ757OYI93LEEW2MFFOTKKJQQQFCJATZDEKG7M5VKTOCXAOKBMPEOD3CS2KHRMTNHB1TP9EK6TINMIFWAJDZRANDDLWJECVVSX20SXJY5VF7EOLSBQQBDMNXGQDJEAN1GK0L6O1BP8U35EHPVORY5VPFRETVWQMRFMLSEG512CCZV. +36#N16IX94KI1GEMHX3Z5KFDCBZVHDCWTE7YBUDFD64KURSGF0GP4FB2R45KMDEGJD3OZSP9LOXFFE0JBKGGPCYC4ML9VJMPMJVQT693YHX05PJGFLZG9CCX1JOHSN375MOA14VMWACDXTSO6E27UH3HAIQZXE0ATF9TBA5EXL9P8U2L9RUFSQ41JR122JMYAN00ZEWHU863SYQLMHBSAAMW1AGB1Y10ZHQCP26DEHAEJE6ADPNL1O02RJ8R8T0GIC9O6ZF29YWKIZY2UOE27QU3XQVKGU4UOTOWRZDB7BWZ1LGQ8PYH9HOQ05TIYG8Y3KH60SUDKUX9QZFYZDGFH19NNJECT5H5L8IXUQXG5NJE6KQR1IVG11P4P7S90A2HJ6L9HHBPQK26V6XWWU82MLC979VPE52H959WB2BOQ3P51TOOXGI9C5MRCZVS1AMEYXWE03MYJUS9RKVRY1N0TQC34HVHPTSMZMRDF4OHRL7H1LCJCQBZPSB5F2LCS89YPCDMFEKURISUD4YYAV2UO0NRFNHXCHH16KWPMPKDYKMGK9NKWK913UB41RGZZP4UTRDLAIS = 36#HFS8K5Y4HYCMROB91RV82B8L2RLBHAXJSXCEK2K5PGN4RBX5 * 36#1BJRILCBUN8TLHRC3IVVZ2F4LVFPMW9Z6GGMDNM216IDTQQVN6DZR5ZGW16AZV8WH8KO41QKTOY0SODSOIN37MIWQ1GGXWWL6J1OKMKOSSGTXS093GIVVZ6TTLN96044XPTNTQ2EK8OSSYSUE178FFWMX2NDW86DA0J1OHO0ZLT9GWJW5CLFCE5COHURZ6KTEGS4KAEF4R9J1ZPNVWNWLH9HY383SVSOTU6OFNGYBEWJETCX3RK3LCV4JCIUAZEUOQ3GC35XF5TWJD4BYZ3BZHSIFV63YRRIDRR87H1TYXZ9NPL70S3CP45E73UKYTXT2YTYAZKJGMYV8QUIPFFD3U1RSDCVGZAWN6FD4OOS16S8PD5UUT61DC3AY62XAO480X91O3BZE25VZ5M5IWW7B0ZXGSDNIL2TJN2PO5R2MZOV1DBZ1U94J52XT76JHH4V39MFLBNZPJL6PTFBTPZL1ZWYXNN7J51G5V4ZHQKTAP06U1ACMJIP4D3TCT8U91692S3MCNDOSD3P91K7CGV8K. +36#CW8HK80E2NSMO44NKVTA92TQXV16AJYW28DGBG2U1XO2SGMTO = 36#D6IK72BBO1C98KA5RNIETUKRKCHV750P71P5K4B95EQ2N6R0WW67U1YESNJ6VAF324LAR529749TO2KJUCU0JYZ6UA2WM2M5G3SGAYU37OFDKOSJAXKQUUU2F9Q22A8MVTOZ4H46C div 36#10SP4LIIJ6SL8JWZ0L0NWCY71TZKYEGF0M0L5RCER6GOG37V4OD96SCXIVYII5U0P11AHZ541BJYLUL170LIRWT8Z. +-36#238RHV9Z74HEOX418X9NGRW00WD8N8Z5O94Y9V41KN7A3YUMXLH3KFIV4W8QOKSHDNNZCERY5JVBHX97MUDQ8DU5HOKMQT3HUZRNPCMCI7OURA5BQTTCNXV8CAUPXFN8K5PAETQZDXW0LUJ4XYNVFMIIMK3RRQG3WNZXWVZXYX0CIZIELTZUH0AI = 36#JDI2T0CNF5G2475W99UABHHGZ5KTAAHU168H9GPPVHPQF30GI * (-36#3VT1IREVOKRA9GD543C8XPC6MR9BW9942XR5HAGXXE0Q5ZBIMJONTM95R0WQTHMITOXUAHHBV1WUNR1XIQSS11YKI7TWJB3TWKEPU2I78BECNGWX67KS2MXUEHTMT4HHW8SI4HH). +-36#3ANHZK90AFTX6QT4431MKD1LB7Q3LD0KRQXY7Q3IHV4V2GPNIEEJPF5T6TQYQOMDBKJYGB7ZIOLS3JNY3AUUGIOO7DNULO5A5VO3KVDKJ1YG42HCENA7FJK6AV50P6K2SLDH3WV56OQVQN6Y99HH3T50C37OXWCBPCJ97OES6YP45O35T5A6PR7XP8YSNT8VDLOI2VIW10OATDFTE6Y4KUYF1E7MC4QMVCD5SY6Q57GVVY7KHZF8KCITV3TPWLUXZ7KEEXRLANLPML0KQ8CN57KYX2B8PZSNYMV2SDMQMB7D6NTAVWRUBLU2CST5EGTNLY62CY47D7A7KPV3X6V9C7DQEM5CCQESVHHBQ8DAQ3AV16QJWOXAEEL5D059SAKDUEV5Q4A5JXO29CZKT9BJ9LBPSBRD1BNNHM77W8I6D2QR454HWIA8NUSW9KO0DWSXFH4D2XUZKL0N35N8GDHZJ2QMH0OZ5SZSSC01N63Y99GNJGYMFONCI7IPAYYHEDJW6UMNOE0UQX7I38FVVUP8ZQ03CGDS9ZWZ9V0PVK54ECL233S1SDKC5WF43WTJ5P0ZF27YOP41N1SPLL = 36#CZ5CWGSA4PZ8498TIAN8ZB8CMAJKOUXG3WD2MTUS1OGFCEQUHG4A8C15OR1DDKAC1WTAWBXFWNMQ1ZHJM9JM21CP5XX1RMTE36EDPC0XRF8WX29OVGZYTG1K7KO5JBROMCAXJS5VTLA5I5HDM9N76WY0K0LW83ASQP6A07HHAFTJKNZ1QP3BU887YGA9RBGO20GEGLRH36TVYW7Q4DJC9YGV2LKV5WD86HTC94WAN2X4VDDQ8H9GMH52K0SI4MKRY14GMN33FULCLK546XCAQEMU68TKFYURUJZ2HPW8XR6HSK23Z60LL1NRSHXB0QASSGW6LMUR650V26OT4OE3R6IE2HFS0Q70MNDZRY9HK9WXO2PRGJLELWCKLNFCI0LLWMQBKT5LWMNIU43V9K6TXB7TS31UQ6XACJ7T5CZ7LIBQ9HUL4V4WLMVVWQC0FBB8DCZ0BEJG51SF60XOLL09OCH41GRG6BZ4JP674229WU27NTM1AWITXKC63789EW9Z6WQ6QOCI63AYKJER72TGL0LZSFY1ECA7WZBQROHVFAUYUNBONCGGUO3SO12JKR1GKP7V4SWGTPHJP95X38U76BD0JRX40HU2URKTZVUTNN791HUXSTUILZ6BQIJB1G719VN60HEB9AED0GNGZ3VP45X div -36#3XQHQQ6V1RN09H6LG38ODKXW60Z9RW5P3BQ45XLAVFEZ0FL3ND3200RYIO3V021T7J9NH1EQE5. +-36#20DOTP8XGCP2NU6331QRWRZAAJ1OSUNSRH8Y1ZIH2FGDVWREINCB6O7V3Q0TQHVFN8P120GR66KPAGF2Z83S8A7L1XZK4R5YTXYXC0H6KB6YG2ONQZQY8O5K4XLVNLGERU0X2RNH2DG2GZ2R5OJ8TY59G9XFVXAOF5UYQBX4PIEZOA1UPLA4CQ8JEJJK24U8S5HGFBH3T7CDHZRWT9N639ICFQFBTFU0VG76VIV2IIBYN6F3BCL2A7TCFP62K7W9MUWS0TS9TDZD6VH1440J30S18F6AVOPJB08SM55VMQF2HOKM29FZI43JW3P6J0YFGFT0FVOISW9YDGXURVEH67N6AFUDQ1W3A88UBZRZCNPWZFEYTMHMBK9LBEAOMOKSVRUB0YAQ4PMBJ9KFLV3NNP04BWQD9V8CI4RVXW2 = 36#5F06TIZQ866G1L9HJ9QFW9VVCC6ST9PTA6HG66X8LJHDYVLPZR7R5N29B271MBSEB2XUY005DHH7ATHWRJFN4UQBK38GM1M71ORY0B3VP85P7NOPKKNQD33DN99XA825ZW2CPULD2FRBAUJH7ROGJ316YB5BRUPA6VQ4L6UM3GF4LE4SBK0DKH79G2UILEFGEO74GVBIMMQDYDXLCXNUHWBI4F9XBYWJ59PQARZBJDR7GR74K9FXC45N8FUYKCL5S4IETZ50U7TRP8XEL8TIL163A1ZAG0IJD39XLDJUL0ZH87L23LRBEUQMILJQDXXTF1VKACZNK76U9Q32760VWOXED0AVSD0RV9KS8ZAHM5FEYU2UHBOSQV05OZF3LX98NRRP67ZX9NT9Y3434YPHWFKUQS2TT60YLST3JCWJS7HIX5R94JJ2VDOW1XV7IQ0I067AJQ3Y0U3NOSB5UFZIDDAS div -36#2OZNJ4BTMXDBJ8K4Y98A0JV3OPVD5GPD1SCDBSJZTJ2ZIL8XFE. +36#5LQJ3QVB0591X7W2OLBGF6LKLQDGIIR4PEMOWVFPO173FPWR4GYSOTVSKMYE0IBHOUH5NFHXA368RRKISTV5LNX5XRY71SZ7IMMSS42HQ1VC6LI46OGBJ9ZTTZAX7YSQJQH2G6EX4U0KMAHPP92CAYOEN7UBT00EBC8FJYY2RMSB3HY9ZB3HGI440J9X4WIYYJXFOTE1ZXEVR20F1Z6VH6VDFMUMZ3MZ0FIU9XNKBH4E2CWBYCER8PP5FHMS78WQ3J7JXKTQYZ6XP9LQSYAMZBYPEV94K9O2M61HMYX28BKVRNFASO3P1AW8Z01KMHOXR5IEHCWJEOJJODP0QUANHB7IYD6FDGL4Q3UA6719J9PMZHC9F1AHWI0P2XS3QFH6ESIIXWSD8Y7ZJLD2SQP5SDF4OHBE3O20WZGJT1XMB48KOOE36WUGO9S5AV79GQYILJE1AMAJRBFSTESHS2MU3CULSQLIHZCBOYDZVNQZHDP89OBXLPCE5WOZ5E0DLMM6A7CQ89LTSLZSDVGIHBJF1F5UTN31VJRG1EZXN5HOEECXF8YR8F7OUHBXVZE4QTA2JFPFRQ7QYP6I24AA78BKMDBRCT7H9ME2X5VR95DSX8P5NCY0OLX60US0D7VWRTT5QVHAEJGIA3RPMTKP8GTNHMEDIYE03DB418SXTTWS17Q95K8O4EIGVUGGMD170HDC5LOF326XF2N3X8JR2LEIKIO9H0W7VGTRGYH4X9W48VM8VHVXT24LHXCSFD1F26WO4RZ684XJDKY1PXONSFZF6G72EF6SRJF1VE2WQ313KCX6E2FLU7HBLUQKAXPV9TIMY16U0Q5RFV9R1P5QSMO1NJTPNXEG7MG85I5MSMHL46CZJOAOIAK37O437U6OXDX13NQ6QX82151MSFCO5VMJ1LH562QSF9KLX9V8WNZOWSEVM1U3ZPXCDR9KRUO4D0TPCCMMIP7ATJN23TSNRIUW4N8O77GF98V3IQRYYS8IY14GTTQ5T2PAV2B92XQDID36S0FD2J311C54G7AILFI8ZEF0KMP2RDIKXRUE5LQTNWE1AAPJJGSJFT3PWBZPDVJDJ61595LIKS8CI7M4TTGTZPSL54LMOLS83CLMN6IKTDS5S7BIJGUDGQLRQA52VRLPPPQYG3K6H2WFX692Y71HWBZIJ3BHT2WMC89YGUYQWD5VJPDNLY5X1HWBK7JGJQLDBZ4A9MT2HC9Y96Y39K10K4RIVZLXTE0MZ48OGS9MMIZJ54FQQMTPD53UY4XR6AK0ARPPTOMLU7YD6YXA73EY9P3M3SVW2RSB2G5JJI269BVFXQOV4O99YNY4JNYHWS14FI3A8I9COX6ERVTWHNGH936HR4MLBC0VNSQKL7PI7DBBTDAMARF5INPD1YM50P7DVEQ4M1EOUDVKA3TZO18S5FKPJ9AXK75ADU06XGZFFL74X9791TJJ1AY94MC0I4CG8WY6WQ3LOTD9DP6IX7101HFSNX0FAZGK6IK8WL2EWEHS7ZXUY5Y1XQE68DRA0ZLPJZN51U5QT6BA5WIWZH8HWETGHWQV7XK91TZCJ60AH1C210KQNOR = 36#2RY8UL75Y8UYY9GY0XL0SAKWF9Y89BG7HWW1SHWR936RSX7CXE0AAQK1AKA567IGYG5V6O6O2UVO5BYTYDEUTX50XLYOYUTS02LP0U0BERMDZ26EBEB1JW2GKQXWTZ4PDSV3GGDOW54ZDADDLLAZD6GUORWDXWEDN9PFTJHDDNYPAKKISIWBXT7ZN31OZML7C4S7ZSHOM3RK7OH42DUU7BQZW6EQFNBYZSR7WWAKTRNGFX5EYCKYCXYUKHDAZPF6Z3IRUDEKCW0B35ZRF08XTDBPJ3YK5QBL17VRZZHHFMJV7C6W5RMSKUBE7R5GFK391OUH3CFLVVT7CUWH9AHCI2JK87UB8537QW4WWWHXTGJ4KCPHWPSG9EWV7YHFLD7I9JY2GH2LZD4T1V2MJEVFQBZWSH8DID7J98WH97EGLLN3HV4ZG608G550ABJK0M6L2VE081N3RP5U4C4U65YAPSAWLR4HT0X7DCYCIFX1XUI45TFXUGBZ9JCY3QSWA2YUAS1HRTLS6A0FAEENBP2NIMUQ774RWMYJBL8Y3H0TAZUASR8ZFEKPL76VEXG7XDJEBDGOX1A0FX8C7OXA7HQU796I820T7M3P41CURNR6M5Q9DFDX1DTW7P73HVCUC5DJ5QP4854O1HN5BRWWKQRXU4K7EMJWY7302266R3NPCYDAQMWG9U23W500LYF1SFZABE8FFOVJGQNTSMLPNOHEH8DF8MBW72ZLU40YCFRU5BLS3W41X5U7DTB748JV1ZH8CQFE96OEY3UEUQMUM5612MVQ3NPDNV38DVNOMJQGQY3527LI6B83HQ4TN2OL9OLO231ENR959DB0BO5VL9577OHG2POM7K0JQTY8VZQ0FVDJL11ZUHPLITN5FT4JRDQF3AK4E05ARAMBRRBY7IC1P4FM7G70XT1X7VL5B61XUSRP46COUABFWWXXY3Q9B6JIPQ4XGUX61K1NUKX40ZMU05MMAJDYDI0YRQHG5WG71QBAUBZWYYBXDF56EXAN81AA7HNVW15AK8BAJ0S456D2K9V2IPN5FBV8JWTNEKQ7HV6M5S1VTMQ48FAWWGKLP86APWJ7VVKG461QHY7J924W97X9AR2MX3MK5IPE4876LAH0GHGEJYZ5NS29EGFNV2AF9X796G0O8Q88BMGLS42EJDY9TPNDS3SYRCEWC9YVI1POJCWEZOIK2RVF4AFRMNGRF30UWW8G2CNGU0ID * 36#20NSA6OAW0FNO1C4O3CA4SO39HJX2J82CXIV22JL4IW1FFKYV02OU5P78A2W9UTBR3HM21P57JGR9MELBWR3QCYR5G95SD9O6CQWY6M7FLG0RX07UT7FBX5FVNMWWCA3PW5CJIY92VY65DD04M89QOCLBF4RKUEW3SJBQJKXJJIIGJNOJUUTXJYCFFQ5HFFBN3EQJATLBB9496O81X6BKYIZN25UTBWDXO5A5W5C3FYEP58A4R04AO97ECJXO3DCFNNT145VE132SB6PBJDAXPBCO3ZA1RWS2JI56VKF8AYJIO7BERZEBTFJ6V6F9P3UGSPLXGIB7YJVZPW9OIBGD5OC1JM8SVS124XR. +-36#16PO98EU4HDA9XBROEH58PHJ4BCNO2I3P8GGTFQOPJTQLCV26STDXHTRJ1SMSHOSMEOKH49TXW82MJ8V7NBWETLNKDZB4OYP3YHY16KGSWB2T117WIFLVB8OEM1CJMPZEFTDMI3R1BVZTZQ7BD5181VZSKKLH5ZJF0HX6UD1ZWR6U7FFSQLG6E5O = -36#1L8OYWFUBONAXHC5M318NNQVHBOWURAMJTFUJDB9FS56GP2TKNC6LBWK688E40ES7KNQ9EKLWY34K942BORI1Y7XHZNIX1KNOX4KHIVZ6986Z7NT34FSJ081WL0BLPO8E39E4UF * 36#QV2CLSDPZHD0TNDXYG33AVIB3F8V25UOVEVSBIHO41TVXV1IS. +36#2RPJURXDJX7LA8M2HLVZM5WQ7B5RQ19XFVP35KLHYDSRY5VDQ3 = -36#6IJTDFYK2ZX3ZNI0Y1544ZZ5NWE7UQR1E848ZIOFKVY3NDYV1ZLOB1S9CODN4TWLTL2B3VPZFIXT6636QDZASPZ7T3YK1NJJXQ3 div -36#2COME02PWMMLZ66P3ORO1R15HB7UZ1ZS1NGXZCLESJZNLJP2O1. +-36#24NIV25XZ4EZIAZD2UP1YLZI0BD3VQJEW3JETRV0TS6VVRN3PJA9S5YEZLGUTHC6UI1AGXPDU7CLA36M05YOR9P5F1IWWMS399HRGOEZ4NLVAJYTS3FN0U8UQ5C2L4SK8D6G9X6ZTMJVJPGQHQG0HR1V4M81405RG9POZBEUYHTZVZVZK9D33M1PVFWL6QETVNU2U9ZXOH8U00B0MROIV690IVE2YCNN4FA5NQHD0MEW3U72RTDJ4NZ2JVXO1CUCJ6XX0ZNHP6O825INEKB31NDOCQ5MCXF0MHV3M = -36#7BW08BXHFIFOYJSRD9WXKKQ5IP25LXDVUO0JXAFL7BRUQZWII6IJFAH3U8O6C0G7ISUQXFNCKIM6RR2TFCVDLTKMMXHQV4VRGRANUPHHWOVZJQS1ZNNJMAWUSO6BY7AFGI6D39XXKUJKBVJXRR4OCIFM7L2HD8LNPERH7FSMIGFM3DZNL9L9R8U9SZKFQCD6JUHOZBRHO7SP22V9N6TT4FW0WYBYOEVB86BZG5K6VBSYORCXYJE6J04C82XIEX4SEEWPR06TIU79APDJ41T7TE7WC5M3JPQ66CML8FZCD4IBKI0P0BLSQEHCO15GT6GA4S1QB2GMH28XPC9XD6BAYLH167F4PJALIF56H4IG69SR4DS60UHWSVI4G91JWO2G0UJHKZR2LHDWSRN5OJYCVY66QV12TWN0M78OAON2FO810VYH8MHNN0CMHEUUCGCOUG57160NWO682ZEPGNBUHM7JGP6XIGADF120U408Z2IL7V0VP4DCA2YUA9TD6N2814N5YV7HVZF51QCUZB47HQFG2H1UQ2SP5RGJJM9TY8FLVVUW6WDGGV83I4ICUZ67ML8TWAW2SKHV2CZWO66JEWQNSG8ETPNP45BCTQXINED69F5NVPHWL1ZZQZ2ROYNECKQ950KGKDFZYJ0S5EYF5D4ZMKR2JJ4FWX1A8U7W36NL7F497WH89FJ0XUEXD9M6561VGOWS3X9YSPE998K36T4T4LWPMY0Y525OUKBH6J2F8FJLH51ROUWZ310CEMV02GVLF9IMCW4V0KA69NNABRMXPUMWP3PVYRGX5CXWBGLC2LJP1Q9Y0C413M3Y7G3M5L86AUC3FB40VDT5JYIO3FJ7JH01U1DDAAPLD758FMQ2XWXHBNVSI3P2YEF28885F1AD7O6IFSUUVPVU76TJ74B3FO5FK6WCG2QSQR27EJGA1UJJ89637O6KHP2F38BN8J8AF5Q2X3PM76M2E5ZACOLFKC1JYYBM8OVPNCAM div 36#3FXN46AHK3O777LIQG9D7IZNFMX1HCF20PABR7Z2LF80CZNSRRPQAAXQGK7S7ZM69MYHKUN5E3PT2I8ORE2FY5Q4W0JNWF4F47KQVT99ZKGXY37S93B6TSZJG2E5ISO74GPKJKVGKK0MVBR28X2TFYHYRIPNLNLY5SUNJAZGP2FSY5T8VWP7SOBEUNWRA2VFZB546LOLQRAAUVL5ZF2VY6NWYEEMGZC714JS2VLR1FVZF8JAZEIT2ODVI83QHNXIHTNP0NGQRF0GVKXB97HTMVLUWVYD8GWLRICPVBQ4J4VM7P7N1F3NSUW4O16V2DK4X2UW1Z0E6Q3M3LWBB0DOQM8RO924J6QUPEAI5EG26KBSBKR86YM5NMCNJGZ7UHYOJJSW21B6MEZASRD14A0IRDEJ7KZZLG1N5BF3PXC0R9RHCV36FX9UXZQAR7Z1YYS9PUQVV5L6WX9NT80HENDMMTAW4W4MORXXZWWCF9XH97RWJKDMNOIH1Q1GV5W7G49AXEPIY7G915HX6GM65PLKLBWWS4ABHO2PQVNHB38H5W0HTI4N9NS6B9IVFOIBM367DTIT5V15BWSMUYWZ71SAP1YFGNVNZ4G1YRSXYV8NL37LO4UWGPI5UV85K8FINX1CDHFRTQ32UA3LWW6F7I5P28WQ53UDSBLK0AR076QJB9G9KG88X726MXTR4X1Q591OU2HJ. +36#SJSL3R0K6CI0VTVCM1TGLAMOR8M0LK81L36KY1LM1EEP8358B74HYJROSEMAS3OQXWKOPZVG2E9HG79TVZ7QW7LAUXVSL2H49F1BOTMCI3FZBYYC7L1CA6KMZN6SQI6ED6V1TCR0GY5GS37AJJEHDGFID6Z2TG2VZB4XGQGVESD8X85E3SL34HH19JV6EW4UQ3BENWDGI8DGGT5YCU9E5O9KCKBWKLNHYKC2FP8UBJ1CHILL6QJ2WUVGC57Q80HSE8SEIGABQHRMDN3VDG60PBYCVAX6Q8HI82B4HXBLPOOYUFXINSYKXONMZREB3Y7N959R7BODYPT2MAY8ESGYT8HOSHHGCO8FLC91FJW40VYQXOTFJD26C30X19HPEXO4NO2USZ500FJTU0A2TFC5QSUQ99KUEFVOHM91P6I5TX07Z9ZVDSEXCBNOMY838DZ08FCL7QNGR5K27G1M14ADF6FZW50MLTOB3A3R9ABQNGJQFKZX6E3O0PMA2S4MLIRTQ409CTGQAO348ZPQAG7LUO61BUNT112X0A3M99483J3RTSUO4RZJYY7M0Y35USFCCP3ZLFJ3V0WO5LS7CT9OZUFKGZ2CT7XVT5WIRFE69ZD4C8DX3AVOJVOBT52F3AW1TMW23X6S200JV2KFV3CCWJ9ZEM0WSVNQ4TRHACPPPTN5F4GH9GC20R4Y4SHEY43X26Y6ARXC3OXYJDU4CCS4546PZXAZP1G2UC5D4VS397JKRJXSE66HGLHCTWDQ3TS9M6NOLQJK9MLL7N8D9F6AOXM46N0XP26FVZ6BGJ2ZUGBL3HNT88EUGGJE0ELK2MSA5MG7XJYU5BISS1P8ICWFW267RYJ6XJWPDB5I0W6IM5W6JI2S9R6KWJKVU0P022YBGV9P9ZIK0QWMVZJALLHVPL4R8W0CEORW4RBI6D0BR = 36#19XE2Q9JETE7MUG2MVYJA1A2X3BMHA8ZTAW8OKDODZSTZG06MMHYYGECL3H05EIL714RUBOM7LH1UHAI39M3AIZTLBHHL7C8JKPXYY858BW2FA896FTC4FZCL8EEVFXKU3GNYM86IYFUTLGY51WMPNCAQEYKIWB4RYXFKSE7A9ED3EGP5RRP9V4JMVF7B29YBA8HM3PV3E2Y1SANSNV3PXEE3R7990T2DZDT2JUCYEKTRAA5KUFT5FXQ2UC2PC40TJB991TENSB51YHW1L6BQNUJB8GXJM6981K7KQQ92EF2VTUYLFL00DEUD1ATW6LN6KDFZGFCIHAJBN83KS5534QHQYV90FIYIKKDYXVWRMCP8CN0EMBUXPYMD2X4ELGO28XGT1I6X5H2S41C3G9KPL * 36#MDMO9AFCR1AM7UHSPDJ9CTHVBFC4J9N9SNTO2BF4SPRDD1NQ4XPM2K4W9B2UFYJ4QLCNESBNH8BK5UGU9Q4CS5A47DZ4CXSZ4DSGQ022A4WBR94Z4XXD6OP4AJNP5Y7ANJFD8QQ6BT2KYKPPA2OCE50CG07VOMOWCPYRSY20CR2VM967X6OSJFB7B3RR81JDDQDAG6I9JYMRY8SG8310RICVGVSEDRN6ZP5XZVF4MP6SUMPT0A83HSM3TN0KPV2SNBQ5US4NR0WMA3CVJLFD3YR7GW9S3YNK5AH0SVFUR5HZ92QWWIBBMZX776K67TGVJLIXJGDO6A11UKVF49Y4DD9YCI59UJIT6S1UBHJNL7MA0X04FK2O17FAA8BNQVTNTBFTVWWH3TM8APJWL678YZ9T48E1AW0VC7B2XLOND8PGJMYOOL1XUYEMLEAULBJHS2A7Y45ZYDK4P8AAYO1EWPAN5CIYGWQLB6LC80OM10DNSTCOYPI1VXL0IU5PV3E4SBI9QG37Z6RPWCRZTEKF. +36#3KZJB6VHLZMYA2NXR9S2JHW5C1211DDUDKZ9G9R7O4WJBYO4BPHWY2ONGKER2OFL73E1S4NE71H6NUDF76MGBTQMEL50YNSJY8TCY6D93P7KN1QGWANOARTTV86FIOW42Q1MOXBFSQASCQQELP1AHZEN4VC5OGG75943D6VV22VTIAKVHORGUMES75KNKHR9NVLPVIB34YBVTRO94AG3NXJ6NS7PJI2HLMXYCEPISP8S0FAJ45I790K7YLHN8L9QGIY3YL0OVQCI4T5FDDZ6A0MNUDAFYYPGN6COWIEDYUV7FSB5XR95AQH0L3D74H7NXQGHUNIA4RFKX4Q2CN3WJIQTGZBVRX8YL11NZLB3FSBI5H3V42JS0785GQSVGLP52ZA94TW47VGSALXGCQ8BU604U0OBJ2DI03TG7MD2X5F9WVNCQANCI37YRJ0QLY9L09AXKEGWEC9B1UYCLCILUHM9ZNXCQ58AZID1APZ066M0T7H0BCMU5U8YSTM5KGANGUA59N7Q03MTNO3C2RXAH03L86QMM6SBATXQRIAW4B9DVMAEM9CEIX21QB80CGT15DG81RGR187NM9XJO92RUP4C562P5F7RJC3DBZI78GG5HWBI1X70E1DVZN2DORLZ2ARJQTKR94OCDAM7S9OOWCMNZTXIZAEN60AB4SD2HM89D2IK3GRBHB18ZLEUXSKNF64BSDRXMEBETXS42QOZCLZZLBHL9EXSG1RFZVF1UNHBBH0805YPSPQDWYVJUPY49ZJ9ZMYEQR5L5BRITKLG39RRDYAS30ERZ7GYL1X014929T9185XB = 36#HC4008TOM2F6MMVJ5AEE4S1HQC8X30B90444TM8KL0B2TSMHS4REYV3TOQYDSXMP0EUJNKB2ZU4Q8EAJA6M8DH9MLQR7S0EJ58CPX0KQECW2QTRUFTZZ0C5Q93IPG1HXPRKO0O3G8FYRBU9P1C3IYYNCLNS22O1TFK0NM66U0NPACIWFG3RUMAJDCYAJAMG096D6QIWC3KATVJBQTIGTH93BLZVF0CUK4CSQLLR1 * 36#7FUJTXLTK9CWCF18OEZVTK802JXEF4PK9Q36BCR4DQSMBVSH1OMSC3HPKU810DPPCJE6IAT3RCO02HV3VPOCPLNDCXPCCTPX3C8P7JYE8ODCV6I70V1Z8SMDAD5WI0LZZY64LJR3DNHQPX3XHT2LACHY3I7NJJ4093DNTS6FYIVH7P3N3NZS679XMTLC4H21L6PLUFY11YX8MUMVQUYV2IEAW09JYXJOKA2CT1T7ZHO005ES1BCKRJMW0WF2WWLDFB8KFV68GKSVNLCLDADYJZTQ2P7CCVQX4NOIBEW3ZCWHKMXSBWRHX7DNRTI9S7T57PPCG0ADHA021T6OPCIH8TXQBCWPNDYW4OD77H4RWERGUG502F4MNGV3PHXJYYR9MXX2G79GARQO9GOYWBMVNSTSLFB4X0EQ4IYUDDL2R8YW4U2OJCP7G9S8DGMV9KI1SZUJFS40SPO26WQFX69CZOWWYJZTGR6RMBA332E90X0YV34B799PIC4U14Z1F8V24MF57SNDF5TQE5M6GLPFZXF0QZAV0QVDF003800XVA64RX7LP5C806BSA5S3HAGIMX1GHKN4MIOB. +36#W3I1ZOR9N0HMI7746NHST8SNKT19YG96TUALO1XXHCX2884PO5K7SJ4UH9W7A855XP8DYUD8ZJ9AGHBIRAQ392XM9BDZ6JBY7HNMNAF1464C7PUQD9A28OUE03JTL2KD9PP5DP4BEXDGPM86EO4FY1VTIKW73D1XEPPOU0YBMHY2WJU9IYQILNW762PU1XOEOIF0DA74DGRNH45M9CSHFHG42EN3ZYST81Y9UW9UL5DL5946IDEV2O2M1ZX4TG7DCMPBB75Y2K0QSA37YVZXZV6GGDRDNT5AMHWN9DBTGL7XZYDJ66UQ01F1IKISQZ8TMDAISHHEZZKZLMLKNW1AOBOKV2T652EM2POCEP5N5UNSISRA6WOC000CZG2NKJ8M1N8591L1RB6LR189JFT7UFELQ81SEBSWPXY5MNQMRAKFSYZ6L7IJMTAELHK20TZ0SDCYK2YU4LYTM8CSN38KJOOFHYMX7TGD7AN650MLL9EE24RQJ1QH6V2MG4MDLANQZK21FIPV90E4CYMVBTJA7W2HXAQ5FR8CMQW2TES3JPWSUQIDM6VSNWYB1VOKGITEZ68GR247T9 = 36#J3OIEQVQEQO64IMXM4JQTUVCMWEK4EVXS05FHZIBUHYP2MAYD4T6AZ4DUCD5RPW8M1706HO2UK8BYK5BV59XUKLAOROZMBKKVIEI8N3B3M5OK6AXUSWXIHOVR3G7Y3JHGSFOV685QKVZ7NGFKWWKXRYCG5TSAIUEF17WQZVNI3Y3UJHCZEDDGRA9XEPRF9T5AMCHH6O8QV0ZX947LA7NY2K7HZEQTPD5W06ZSUD3CY24MYF2ZFG7LMVJKH3ANTA4K7ECWW6O5HVWPWEW211VWS8IZ7SWOGJHG7WDQEZDIN6GTK6KZ6GXVSWI13EZKEMKRN6QFHD34S4DZCTLVE4I9RHLO10WYNUI6OMQLK71SQ035JQVHJQ71DRVYOW4N5QOD67QPNOEZ49NPLQ2Y42L5Q71DADOSPFJIVE0P3ERUVGBRZYDDGFYGEXZ3O8CGR2KJ9805S94S7BLLR6BB1MY9XNX0LTOFXN423AJBW4EEEOLKZK9RIYJ1E8K0OI1D9GR4RSO4SHZCQYZTAGQUIQXHOX0DDGALIPA2CICOAL56XL98M6ETM364ERG8WS71Z8ZCTXZI9KJK2JAINV8SBDBBRDX710OAFTAE8XUK9KHJDP0TV5GB9PIL82B81FC5CA17EXA49N8UDM8O87GYLPT46OL0MUYEEC9Y6X4MIL0BHN5R78FLG0Q0AQE4CS7ETBBDCGASLFC2RC0HW35TTWTPUT42RP91LHE5N40P57DZ8Q7XUE9GVD3VY5IJ0S0BI3QYB3WQ6OT79HMDU4D04KROQQGD038EMVG96SG572AKUG7QS9MOD0LLAYR30N12Y9Q4Q9DFY8KNQI2623CW5GFZD0UWXN7CN9Q0UH2IP3VYH5VJWGFU4GRIDGVCCMGVQ228K849F1KM2D1I666EKHXM5TU731D8R8KKDHSQI18ER9TAAQK1DMSIXH1Y5E8KOZ1HIB05036B8VAJ6FL2ZT2BFVG3AM7F3522Y2UAIW56UPKKLUAAEJ4BPEOO61I86FEI42TJEVZBUUWF719WRV0YZWGINL4I div 36#LFAOEASCLYJ7G1LAQ7NDS140BILBSKW3X55KQUA31Q7GFLPQ8BXCL34WFY7YLWIBQZY4P86U6I1NYAIPIYBO0WO8OR4XN0VFF9YC4ESQJRNXVCFB8F0JDYZL5QLO2YAKY6599EZTU3B7AWY7RBMFMI2L0636WNE6C6CMCRK1RV9A0TE6U1DMLDRGQI86G2ER8HLM5GABQU8VT88ZM3Q16O715CQIUNML7W7URQS3LZML08L6S2M5H4D5AC5RUATDRXG4R3NJ9UB19C2D48BR04PFAFQGXCH2Z72H4JK148IQR3ZK1DOY04QY2IXPOQ1Z0WCGQPCCDXF8QZLEDVLPU7ONGE9W514JDLAHWBYZ6CPNPJVVJAFUGNYVOB7L5E8ZK0B30JD7GA0V1JATDDOLH5AYFY4GV6BJBOJFQE85Z6JO78XL1UZKRI29TQX5FQC258KOOP3XTT4XRN0GA9M. +-36#1A4NAOBR8PJ106U59D9JW7GPC0ZSXN2CQHWPVEQXF2LLBDPJ6P = 36#28PYTYGL28KJWHDQ72WYLX4ENE6J07I074LIPSEVV0VMOZWLV1VRVJRLWBX8ZOY73TDH3MOCWB7IRO2MH6T6C92AZGIA6VDTQHXVBP663MH78SF6GJS6O8MWL65A2V3RHT5CQX9Q6HERXRM9WUNW9SYOPH1YR7L4B div -36#1QZVD7DELI0DSAVG3770Z76EGLNCZD2KKVMU5YP6N5SY8QKXY0KDPI24L784GLTPQQ8P8FFYCP9QT84TGCCLRW5TGJ7L2VQP12XRISK7EQMCAYYZ. +36#34TTCNI8BZW680HV2S9SHP3P5U49I69KPIHY26OSMKI6PJ8XECU9WPM3SGSN0DFLG33N0OZEJNKHUVUBN2EGJI27EFKUXZ9B5SY70HXIFHD9XIYQ00C78IN348ST6AIYNG7JYNAVOVD6H6BFKKH1GO442PBTK440O649077LUZO5PDW4RWZCQF9LHD3TXFR22XMJIKHTJ8IHXYJ59R118913J8G0KL195OSP4L182S8AHYJEN9ZPUW608Y1LTMFJV6RIXYB6ULEIRMX5VJGCIAC0ZYN33SAQJ9RWQZSYJ9XC3UAAF20GDRRC9U41UQ2IKMN6S04PIKBK0VOVL6EVYDI3VLXKU7PRNPJXYKQH5OFHY62JZ6FZ8GY7SN3UBH05V7KIRGSZMTK0YDH54T4OTVV7039MV5LDI = -36#TGHUA8PSQZQ2XLZC3VCSTU7ASMPDA8TZAIJNC5LTUA1BS23DI * (-36#3TVTMWZS3NU9LE7A8S3MPOXRT4RGMBNEOGBCU5Y9IAVN3CZG12UHCKADFQ43SW2SIA4Y0G3PZCFSSVA9XIM8IFRCDCKH676HHO18SUBTI59M9HQYUBUBA0DR6KDLDJYVK5UDKJHU2LHBW21YP58VMYOGDAWLYIVYHK41J172DFOCTUCI16BQ8ZP4489WH3JPN7LLYKHUQ237Z6VIKO9L513ZUF9PDWF6CVLI85RRZUBAKGQD5EYRUDY8IW05EGCLDOIH9FYJ8S6JMDUYN2RJN80BTSGKZ5EJFPI1OSKR7DXK4N6F3SZUW2UOEJ2NQQSO05PM5MYJ2UF1GF25NEH9T2Y9XAQQ94EHPFDRL3G000Q7UHXT). +-36#1V3Q8OAY2NR3ERQEXKOOBRB50BWJADP0LV1B28YMT4W0B1HRECFNW539YGQ3AOCUBHMWZPBVU43UY91QQC1V5CAR0K93H4M9C39 = -36#1FKCPTL065W7XQO9A5RBAK4UO6R6Y054W8DDUEUMJB7DVT8E7L * 36#1AUIVCMWKDQ2BU0XKYDIQ1OLRMU0DKWSMHAATSQLB9SBLPMMKL. +36#WF1XX0C99D0S8OMXRYPAXCEJMUI4J4TFW6RDOE97VE2XBX9P3 = -36#2Q2BBCM56UQL8MZD5EI6ZNAT6IVCQ9ATDYW2F9BPFIRL8TRJ6QAN22YA4I9N547M07KK7F6MDYVSZTFMA5USZFJBQIVCN8ZLTNTFK8UT1LONICMJYN3ZPIFN478VJ2SVDYJ90AWGJL8J9K84YWAP6N6GD5FF0ER29EDJ7UASVU5MX2ERDE1WP1JOGL77BRD5OYVTR5HS1LNSZ41QA5H2JMVPLCRB1PDQJDE0U7RM8MEPH9 div -36#30WDG15TYH51ZSWFK5FGMTETSKSYVDIOV4HXBMREFY0Z6YOZ89T7CKO8X9IAY3THQH5UE823MRHKXB670G8HHV5RCDCXE2RCZDSZR03AMZ7P454PVIAXCMZZIT6D5B1UDL0969KJEBY5WCZXR4UBXPHBW01N654DM1WWQW3B5F7QZQRV0M33YTD2OQUKR. +36#2HT51LZW24X606N58VWF90TKGBCGHVU74VYA5MGGF5L7V8SJ9P = 36#4YY1OB90X2GMPKNBAMKQJ8P4FKJX4W48FQC8JJN5AVLB9OKAWCCYSYI2F8RIBMGJ1U9OAXI9A2TL7Q2ZX9P94SBV3O8DYIK7QKZ4UJNKQ235FRYB16WO4B07B7R7P374ZLMAM1RJHF0W90YQZKGG3GR3DU9GQ27093DPV5OS1XCO576BCWQ5V9OTS99JQJM7UXXKBO4DEUJN46IGZCKBEMMPSU1DAB1493RJ3T50YOQML8VX8H1TGQ797AAL7O3OTDVLD1YLJKLS41W2VAOM2MB32E97H2ECM5SB32U5M3VGWC52QVK79B7KCN9Q4UXFH07DNL3JZ48GF0M49ZBV930CCX1U5KZVOEF6NJWO3RICV3W86HE8C93WX08HLNKY75M3X7M5GM6D57XKO5Z4O09EZ0J75OT9GK6WKQ4BCROBN4T91BGGWLU83WD2RJI564MV3TETILIX2ESFASLB3V82HLDSHDN615IVC7PDA50JECS6Z95SNPHNEHIN04I8XHYUJI8OPMTOG3ESTVE5LVX791117BDCZQ662KVNKHA3G45SV7KUMDED6LYZNUKEDXA7W8SG3901HPP9E40AWH1CEXTG8ZIVX8H59NDWUD3XARO443YIM79P3WST60S9TC div 36#1ZQAAKXEB4PX1261OK9IW5FJFAYRI8KQWXVVT3NW3NFQQMUOQYRH5VK5Q5BGF1DAAXVXGDAXLJ1U6XMH4ST4W8L9BRRA8UOFQC4J3Q8VT97AZGUQ680E75FNOGGGGRUPE60739GWG53D06J9PWEPJ2CSTO65LHKHD6TT1J19ZR3MDJRSQXILD9ENQ9CEMAFBOTY622CP4753VBNF8N1PPHQK3KJXZXK0HIAMK6GLUFCHZDPV6GX3445PX93KL64PNX05BAUAQ9YXH5R89B724678NPXJPK8YK0GKYI6Q4X5NNFU2FM7EM3P7KV06ZG9T34QS59PFVYNAAKPZ5TLXMT77O7ZGJHR7X5W3KZNVW3A9TU5669PTMEUSQI334MPC9EG5NYZO2PJVICDX75AD1J6GN5VKMJR9M0PTO6HVV5EWVSFUQHYI90WL18P235AO0VHB7XLXIE8VIHNK9FAIV8MKWLGX17K2CBPXCUOJ66GVRDF7SXAXYEC6A0MXAAAM85AD8VFL41WFDJ78AD6MJAD36XMZ6HJYFKL7T1FCPLL3A79JGADB1WASU1C6C0995JPHCN9SHKPP2XJLC. +-36#5K20HIRGMDM2LKR5HZ9Y8ID23HIQ8MTRP648RLG8IG67XE527NZRCWIX8MBQNFC54GCKZRJCGBV2HPQ0PYWHVA5V6MFK54KC1UJVVSURONN4PKYEDK7IDL1I6AZ7EPWJI9AAOT18QBS72XYYII3T4QPSLZNE2KDI8R5HUWCEBU9KFA5AT1LZ2EFKE5HX03UIZZW508SZ4QE54LI4THL1NXOAY0JDFTGCO3JYUZGUNNF214E1GSMRPPH2FZ24P05QUHOD7Y6YBJ2F11R1AKU963J0FQ8G8HINJYVO4LJVMI24FE2410EB9ZQ34ZO9NOU2HDFKRF7HVXBYAVQRBIV4RCEPVFCTQES0AUZ4CXNY060N8C3YU0I3G4GV43Y7XOKPVH5Y0PBTNPD9AUWHALR4MPA6UKXQUZOG8XLFQOVC4OE97XZUHMXUZ1JRP1QQZN4OP2WVX640DEZMARUZ41TQCR8Q1PTWH7PRDI3FAFWL7P8SKP8NJTEPXMCHHWGDY7U07GWWWAGJDWTDMFHRR4R7N3D3G5VPUFC9NQ6U2VIUSCATD6JCPC7YMK4OV9FM2MX4JWKN4ZK8ROTC1LH3YN925860RR48ITCQPNKOQ874EF4T409UQ8MVYB2DCSLE2QYLOVJV5AMU0H3PBIY5WNX7QAV5W2T3AJW9W6SHCIFNO3G4ZYOPC2OOK01ETOBAEF41B8SNHDEZU8IUODB8GOFRK0L2DJT5RIPQUH2E2S7QFZA79ODCBZ2OZ636MH9ANI4C3X8FGUB9F3HG9E5QDJTYF42W9QXNXPZC4OUELI41ESFR0K9Q648A6RXTLQ9AB1LMO89CTT1NZGX8S48QB8D5ILW71767QYNODSBC3BMW1ZNQ8AVF42KUUYOHQNTP0A340I2ML4DDKMGXJK3P39MM741YRAN5Y64B0OCGWWB8VWBZOINQC5OLLVWPVNUSGSXA26T1P99NF6PAJYKLUQQ76RGBLPUCPPPYUTF0EHQ5HPBD82MY2JJIWE6HGUO9ONVUXS6WJDOSFKX7H3AJ62YX = -36#E2FP8BQMU4LX09VOOMETP990OHI42ZE24AFP8YH60UBJ1W3OO0NRKR993FG5KI3R298DFNMDR2GOI0D5ZP5CMAGAF2NE3DMQEUW8Y8P1Q04AJQRKKJV7L2OR7RU4ESDEOF5ES5VYH2MJTM9GXNS5RJSJ77WBC3PFFNU4L47TVAXPQKVPTLDQFER0YWXCL8NN7N9KZIFUL3X76CP18YDM74B8R43OK3MCQKJC3IM8HFO11BUWK51JC2BTVI6Y1VYG4ULTP10E6PQ51CCC5GQHE2T5P488S11BX * 36#E7YDM6MMVUYYJOUEERHXJVFI91GMYCPWZVRGZYTKYSITJRBLDJRLCC125J3RI9Q4OMGZKUXETO12VMGZ8CWIG0HAUWQJYTH9MOU7JOWU5NI2PBXA9KD91GGHI1VTRAH8DO7YIBM7FAJ4HK85OXM50R59538YC1SQZQPZXDY10RJTSDNZWC4D403M2EDHE1SBSZDTXM5DQWX2SSWA1DV7XK6Y28C4ZIVVBUYQKUZNZPZGR8UKBZ844JMD2IAWQJG9YRPAPE14M471YIICGASTLOA4R6ZUZDQ5LCV3BIBOH4Z7AOTLY03PW35XDIBV0UOVNJ54N26H761WW5UDX0UIVNJQPX199AGBK6FA28MRILM4O8NNTRBWIVXU4LVBSE7UYARNNICJQHNYL57KB1HJV2GFEXL9IM08CYQW9QGR1XERASL25MCSR59QB6QL5SW1F4RIL3MF15OGX9UPU4CFCVGB21BL9ENLHHOJKLUA21PRDB5IYNBITQB9FQVI6GRHR1UI1EN4L35AVEUAZ5QDD0GKSXS40W1C3Q2ZVQL08GTAXK3R423XQBQNQ881FQCHTB1CT8VAZ52LYL5050XVS77YWPBGHNQBM2W17Z2Z0C04CZ9VGVBZ0EIJLLWXYKPOGFRPG28V05B7LN0UK1PYNS7E7MDMAX6BFIJINO8L00LHAJTIW91NALYC3WB6C56CBI7V9HQG3BNMMB5VGE3XNMHSUSZKPQE80AJMTLKMP05FVQAYWSD. +36#50IPAO8FKQ2TBY5UMNJ8OH2SEMZKCWXKIIY24DBWN086I6N2RPZNIEKTHBM7QL71RFRDYWHWL1A88ZSZ79XP139ABJWJSYRA9CU = -36#1PFKRHSJSXBVKIDHX2FDTW8U4FLY5J4YJD9RO57UOBJMS80026 * (-36#2XSABQ183X6EMBRJ9UOIGVHGK0M65ZIDR98D1166TWB34JU4QH). +-36#2FJXIHTWJHI4UO340G136WE6R1CXRVQJLA4VYPUFFCAX4PN42X = 36#79XDTJFOT1YDRPLF33CZDLHZPYK5T508QR090DNRE2XGEGYO0IWASA0DW8FMVZWXQPJPITFLY3VGZ5N9SNDT1JZNGQ9EWS9MHIF div -36#2ZP533EK1QY2UB03P1HAY9X9DTBJ9R3FZKPEM2AGEVG45XVOCV. +36#8AS9GIQ1Q2MEW8PNW27EQXXPAAJ2CEEXTKCOJE4Z320UQLAWR8T8XNK2XNSJ882LYQ3TUQYJKH1QIB85VG4QAN0LBQATHNUFF1ZM8E8IVVCO2XE7V9K = -36#3FKUVJQ3LR59NSO9QAUXDJY465A2V1FSY6K5MKLBHQ2QS58LK * (-36#2F1EXLA3R81GU7VP79SKMJPXA8YK452YQKURX6036MQSPON9I2SI7UQH4L9WZM623U1). +36#LC3U8CCYNZI963NRXGV1VPAY0R8H3EUA7UA9LI2FL2RJSPNZXOQK58NVQO9SY2B3F0H9XCYWJ3K3BAYQTM8KX8EOB1TKGUD2MUSNT7016P2542M0GPU6H07OLILF92YWZSUGYKQY9Q9ZYKS71QL91HP9YQLFBKD2AE71K8EVJNVBEDLKU9M0X3SPSWAZJGPTCY42USTDCYNKLV747I39L0Z7WGUW308II0QVE1ESZMBJ0ZHFAMOUVQ8QCZJGUWJV23VW8DIGXP4S53HAN3A1O29RT3X90L2N8W3EMZYV7QL2ZVSL49ON0IXGR3Q2BLVZ51HZ6HWLNUQ3E3W7T3XK6SBBH4ED9R786MMX54MFKAP0WCA33IRTHYQCSRKZB7OAOMKL8NJISF6APAK4BCN2LETRHQKQNCFLU8P23F8PTJ85F5OZ40412PCWFTUBJO26YDBFB76DDRQ72NSW717TS5BOUUUQ6LI2AUB415B2ZD6ZO4ZYH85GMJLXTWOESAMROM99ZJWWG68N263WXJUEAWGGE552WIBYEYCPWVC39MKV0RV8GDDGNS2I3NQFPI32XIX7MGEJIF6ULH4JU7OK69SET98Y52YKXXZ6CDPC5GTUMSTQL081MH1YRIUOPXYOK2DM1ZFI1RN6IM6RXTG3O0H1ZB5WIVOVAD8CRTJBPXRQ3TVOWCJL2XWF0ETDZPUXK9J4X4ILAUULIHKNB78F31KTYL6ZX53VC3O2WAV7QMDKQS463R71RI3E363XIS77OVHVJWEHJ5K = -36#46SR5HWPAK2N3863X9S5BJ75PNEE9VNQMGJOO9C2ST0NA6PWOFTL0GC8VHG40RC4YJBL292G9GXDBUMKFXKD0WMJF1JE3DWI86CQ3CPP4W918TP0BEUMWPNRGUKVX1VVUT8FW6J7W5SY3M1YXREB4BDR4K6Q42H757CKKWWIW3H9NDGVC3EI7KMH47WSVPT8BMOI0BE1D7G0CUL4KRTL5JBKWRIHRWEWEHCDAFQOEKV2UXO596JNN69W52ZPDN3DGOYEK1ZQP0VCZYRMHQ15D09MHLJ0OFFNWKKPOAULFTYZ276EKMY85G52M8NV * (-36#53DAGM7F7AB2LOEJGNW81E09Q7B11A3VYN7MY9J7CSZPFMNS12QDY3BXL3FU4GNA48OEOR5DG03KRZD38CM7J0EL1NJPXNT402270ZFD5KF2R5J8ES2UFL9DWGCFQI8UOOPN3Z7TYC2ZK8EKOWNI4FNZPQVZ0HRDJRL1ULHDI165U623ZT06TGAV5H2UA2KT4RR8Z6V9YVG0QUII57X65TFDXI6921EKO3CKHPQ2U622TUVFTUC3351MURH3WC0K701GNP59GRUL4WY98J69FR7FYM0GKHDF5HO43H6Y895RU4EPL0JEPCU8NVVM8L5DMJ6DH6F0KCHP1GK3LTY1GS9NWB85V0JP6MWWCEZRLSQYO7D36DP2RF41W64EZH1R7OTGZQ51L691P4EHG5IWUFUGQACXPC3IUK1W7EBXYDTIWVU3OI9R87ELZM1Q5MC3EOG7U0ECXIKXPRMW). +-36#5CZVPV6EOWNLR3X09DL9KQNRGRBVB89Q1XFBDNLG3ZV9KI2RUKMZDD9RLM8Y1I3R61S148MKP0GGN5VLZF4VFF4F900SNA0XOQLIGKUEKBD7IC8VC6ZB2QF90G50RJTRBOZJ3JIBVT7KX5I2SS8AEC30T11C6ETIHSFXCI464DQRI1QZAHZMYQ6TWJNO7HMR0W1SOKTEZECG3G2X72WMUAUO3X8T6FTAWQAOMLJVL4JKIR55VZ4ZWMX2GL7O7Q6MIMQ0ROS7KTRG0VG1W4YC7CZAJ876C1QJDQC1ELBRWCPKB24SAK1QAID50Q3JO69M6858ZGBNU6ZQW7EMBLAQPAPE3C5C9JBE23WRS7T3FIAVNUTW05VVMB7TT29C6VBH74UM0M4W68OJSTXV8CH6GL44ID8QB37NO0Q28OPNDX5I4A6BL37H9HFLWVHENN4OC8FW0CB07VGHK4OO1M92ZIVMDQRDSFZWMFWCL324KBCRVWYS452EEHQXCHG1J02N71L6DB3D3TVLRKYHLAVRHBLE0LK4X7AODH2M6E1RC9YJIQP2UWY0XERXD7AED2SZIWV70IEEAR8OBFEDMUYO59IFSB5L0BH88BR554ODV8XSMBXZQ2PK3BBJC3BDCMAR4IJVFFZB2ESVISNZTFII6J1N5CU3MBAM5KK = 36#527GJNTPPUX2363W20LK6AVTVTM1VTQGLNOLUFBOC4UKQE475DQ80IG6KVY6UIAIDBQ3WQ2C55LLOJ5YXXP9NW6XX059HOFG2LZ9WMWU3PYQQYM9182GC65JQDV1KT62JG0H6ZGNS4JHMQULMCH0EM5CRNMHSNRLPE4EU1DLRNEG5D7N5ZWSRRWOW89ZEKWZZZDO8JD1MGF3WNU87GJPZ8HZLCF0LQGJ3I57DW2IDLI8IPWXGEWK2MH9F2FIYX18YQT812KU7XV7DE39Y8ZEYA5LBGQR7972XXZN4XVX5KTT6NP498K464BJGQ7XB4XZ5JNIG99TI384MOJIILYKD2FF29XU763QFGXUMUMRMYV0L3VVIHJZ92AXUKKPPKW22IJ3VJ1GOJGKZH1E1I4PYMUP6XCAK3HSR3PA864R5TUP3N446QCGHPKYFSWO6TR9LO1QRRKB94M93PC2VMJB2EHMO45VJCB7GOFYN9P8X8664EE5KTO8M4BL809MP4LVT4YGBPK3X33M4P9U9S9WNPEAV6GGPN1QPTJJN0T158WZGMYN32KZISHYAPMBD0MUAX56K3O2Q04M4RHV2B2792KKHBXX1AK3CZU2QM9RHKSN6HAMSGAJB3V17T1A48KLJ02JWWWF097LWDP43LU8BO0R9NZZZSJIM69C8NT2HC99QHUX7PFWC1OJYORMMEKF8HVEUPPDY3SDS8XYTDMTII0Y9VBN9UVQNAMI8LNWGJAQ2FRU09UMQB4DQTYK0CSOX8RLDYQ7STMX3S65FDTHBBFMGXNW4VF8DH21XSLTZG3BTYUA5IPZCD533ZT0AXEGMR789MLFT64PS9Y0UCDP4CAG42XHZ3KXN0BP9L68J1O02P0UJNQGQCQGDJOX3EATMUHO3SN2M8LDDZ8WSIVQ8SIZ0TUOO14OGL52EQULHTJEDC2JF5LFLMG8MVGT255UOM9IYKMMDEEFX909DX4C5EF69B1CK095GLUGF3MZRWJG2JQJGZ05XBASFKVR6SFB152VO9JT0UAQIE3FB3DTNUWOCS5EPCC8FU7TILEPG8CW5SY3RG7OZQYEYS4K9PPL08H1J0UXRXRKZ42GDI1T2NND75347ERV1530EGHUNVV35LZAO5CKC1N9HE7KF64P8DMVCMN8GI422C99B6P8QEHFU9PF3E37QY2AGO2ZN646SR9V6GILDV8FCNLXKLU4UAQ2GPOZBTCN44CO4DPB00NK14JT6B7VQAAOLFG4P9M2QUV7PUWU3SRKAX4ZC0ML9HNB8YON3BXJABDEPIE1MEQFO6FHIAJEZSW div -36#XZJP10J5SJ8VO88GWI1QPD5WRDGFA2YBK3WFL6M9XYGLIBPLC4RR99KT11GS9859NATW9TA70E0X90FSUX1CFMH83NIV0M9WLDTAD64UN2VWAO6MNT4S3PUF87Q2B23VQI3B2E7OS70OZZB1DCHIQAKUC9DR6O0DJI5GDX0OHL8B6ID0GVO1H416R96CPYH01QPVWQFNLX1WDBUQ3A9FOGUPCWTG7Y3LT09N6QOFZMJW26UTFMETYB0UUEHATNVD7M3ET4M0TU2HHF45Q587FP6KMJN4T969B285978OOEI0S6WF2NU6J0MS1NSCSTOND1167H8SUBKEQZJOCXDS18ZNGMJ3WK9YFMAIBF7R5GSKVFBHNM42GQ265X3OG5VP01NKEZK7BPIEQSJM8P9GMC0NGDUBOBP20G0DWSC15OJP8E23KBZ255L8MF4WNU2PBFNNHD9Y9YH3MAVMLIPPXQQIVXC4WDL95N72FX96NIG2UYHJ1SYLV057A3NKR7JWVWOUMW0N93EM23JQOVUKU7TQTH3ORWO68SCSSQ10QKZ80146GEBZLJDAVI0RXTF26TCKE3BBZYD006QTJF3BT2VM6RMHFDSELB3P4W9YBE8M4S2PEOKHMP86BW0AR3CG. +-36#3BMW0MMUIK1HBK4K3JUQHWM3TNLCBUZYSAT6ACL0TYZ1YUV5Y968ENJ7NXUN0M92LAUZWSKX1OXD4JAK7XFI5PV6UHCU6U615LA5ECHL6THFLI3NIJCGLJDPTDBEBAIBPA1GU7VXF6C9S0VZNPVXV0MEH05W0N0ZE4RETY3GX4AO5N7ZJMH23FH6M79AD1KJUKE1JC5PY5OPTQKNTCW89MSV7WM7SK0S1OC7QKYVNSNLEPP01DE4PF1GC0UYRBH91WG06UGLEX0ZR6EJJSYLQTC6HQGGESQETTHI266GU14S8DSGSB6Z1PEGRFQ24CT5S3USJYPJ7W6E5XLR90Z8GVD8LCXE40RQNVTF9EGPKNF3GB3X0DK4NUR2YOBNF9EQK8FT1FR7CHTZESMDX1NBRGPMF18DRDMKBYLCP1ZOPIUW9NU = -36#U4QSELUDRHRZXVW5DXCITIJEMOYJM6NV41R3NTXMA5CHLB8M7K341PNHZ5UN3JJ6OWMGHK2NORVH94PAG189P0FH7SN0VUKLAVV5OHSGTNCSHRKCQXSAMZ0EXZX8HYNFCK9JLSXGP4LEF3EJRKLK9NYY3O96J34V55QT3MJTA6W96OEHAJD9X8ZV8XFFDLO1W73K77DWH1GAYRACQDPKUWCDG08LV50NNXFGZQD7GGR1EM1W0XZK29NQ9T0JDKF7YYO8YWDT4G5EK5LWYT1RPFWI8QPOT5GV1NBCDHB5AUGAILXLRRKILGPAT446KGHGHB0Q6JPZ2DK605YDC2G9GJCSL3PYEQ6PQCYYYIWZK4KG6FI42Q9KE6X6RB4E6U * 36#3YXNW94YGMM9N9KIC2IVEISLRCH8NY34QZRL30D02TTREGGM7. +36#94RWXG6JTO15ASYIL3ACEGF6FMBDX2J8B3Z01NEKKXWWDKW3JO9VVOETXZII5FA5WT2X8YJ0E4A0V0YKOSQCNWJ9WTH4AIB95SUHK6MGXOEUNTEM4WHF35KSXUS96KS83P5FO8X534LVHGPMGJOIKYLGUBRCIDD5UD9GCBU8YV3VK8MI91K9KPLXV05KIZTL477R49QD3ZBIAA7K7OJNR8X8B2NBJNIQ9NLDDTWBARREIBB5WDSMTQRS81PYXPR65HI5RGEX05HDRDQ4KOIG4CCZ0F0IU3B594ZKHVWBCOHZC8P720RCXR5ETGU95JUYPJYJL53U2RS2BZLFJ59HEGELU1RESHWANF0S4CJB2ZI6YPNK95L7WPMR8GON6Q7MLU50B88YKHT043V9POID34KO1G59V0U0W40UC16H6JE9FOSBWM85JOVL7XHULXAJXLEW0JSVCJWYZVXS0EEOR = -36#7BWUIX5JCO1Q9E89V7K3M8YAC3YMWKWZDX3V3TRR99CVYDTE4Z6URLVGWU5PURP15BHVCGOYKHVAVUN1I0I14U21S15224AMDTG87GY6FRFWVA2UJCSYSW20D13BBH9WT79ZDWWMKT3ODSJAWPT4SD2OAPYMT73CO9VC7D7KTCP9NQSTV88S3AWTAAEJIVKCD8VHOXUZO5MHUIHUEA6SVEAC3C4J4OJ099S1E9OW07FDA60JD9MUF65M30BUI22NAGS9TK3YN70AFCOEX6BILFQR9B043EXU0D29TAQLPQUS3IA311HZ0MK3Q8AK8DNCQPZAZBZUK5L4HDK1WKPHACL0F5M3J4AOARYIGWRYJVWXB8D31841HUI2JR84YVXHS4BBZLJBGFYG8LLG2BGKP7B931AJDFLABOU53TC1LX09FFZPGU5F1LJSK12EH3Y8RTSQK867WANS96USDO8F4HFU4ZBZZEYF5EAYANVE9Q6Y6RHF7Q6DMD7OCVVHBJ2JCYBNQ4K18FD14NL0EHSI7J8TV5E8Q948CDSUYQSIG3PUOBGGQAV8IBL633YDBWVPGW5FIZX4V6DZGTGAEOFWFOZAMTWQP61VALD3HRKBITO0NORE9CTUXFZAN5OKAU2656EESHP8G5YT063YBMAH08TJPSKWHZI33WGPOPYB7VA0WRA44I2QGU5RMXVEVJNY5RADDCJMTY16MMGIE3TMW3UAM0W03XAZKHQRF0ZE12ZW7ZOPAWOAIEZIVDL7IWOW0E6IBBBUWB90SBNIGA8LMU0T43F0RSS2Z00 div -36#SWBECSVL4B1EUOSPZQ18F3X9S8PYPYSZ3HR1IP11ZJ90KXBYZK5TFRXZBS5BTL7NVGCMCPIN7NFU30D8C1UT6KPYM2XCPKWNE4QM9OLCZT8PAXTRLPVZI1DT8X2QQUW147LWOP38UO0HZYPPIM5ZT6SESTDXOVZBS5I5K7S5Z872UMYNTNQ8OOWQ3H6SAC8BXB4S8QJD83LCRIHQSJGELORP9STNSOEIXG2144JD3IDJZAA0IV6EB1EAVEXC64YM8QKS64XV3AIQU4Z0GP5CAQ2LX2Z9RNB92VXS5VETSXBUIHVB8XKT6UN8DXLXQDD4AJ2XKJT9B9CJRK. +-36#RLE1PYCT1F6EQ5ZGHOUXHD6SBI9RMKJXAOWRQTJFHRWHAGWWTY9LYECLB27AQH8QBMLLLVJ5YQVM5PJ7UGBKANN6KYC7X14RHU = -36#2BC9CM93JPMSWRZB564X10S7O2HUUBL89I1NP257P4V66LL61U * 36#BX3V7VTXGLJZ0Z7HM7AUV6YITUK0HJJNS3CGH9QNYHU9KQCVD. +-36#2LN82EI8FD27230IXOTAF10IRWHZQTCJFZ6FDP19O53K9BC2LP = 36#4YYVDRDI1LJUOUC28I78IVQYUOQ5OVNMJAPMRUWVMR3R7GVPPH2TWRCXN7U5H3FH1V2ZFY1LZ7FLKW7BMK7CDZJLGLV7UWJ3PBCN3ZTJ4UZO9J49RKV6I25LIOT844TBM7UI5YSE1NCBZQR9KBRQKVMESJSXU60U2MZMFN9Q7Z div -36#1WSU0M258PZYJT4YP436B4368M4KB25FMG7UGBLLUTONVEYNXJHKVSY8VJC139AB0TRDMF24LQMQQC68VT6JCH0GNLF9CBEKXUBYRCRDCKXO15OTEA02RR0PN. +-36#OOW28FPQEEG7XX6ZTLSHIZLD1RJVWFZUQAADUJK8J46C2S2X2P80RSUSV1QD4JERYAH91EQP4Z4TTB81IVX6XF5EQ6S4LGLXERYLRN4FCDLIB9VFMJKEKQ92XL8547QHDEAYUP4GK8DJ8LTW2AMAJ5VMWADKA4SANF88UPJOZFFUXRVK9DFYU7P9N4J0Q6D5VDA8ONXGKGWL82VRWFVS61IOHE7061BMTSEPT0YRZGKP5XZKZCKT0L8QYQP8463XLZTYWYKLA2VVIYBNKM7MD69J7EIDB8X9XA4LF2JF7FIJJ79FQ1WRXLA80ATFPL45Y2EEM2FHLLO01JZGTW8NVP00L8L5C3RFULCXQZZ191CDWP6LYE8GFWXXQ33H7E2IZ8RKZIDH4VOK8ACZVC6U3EIPPGN7CYA93YI = -36#1KMFMVJMY59SPM4D3WF3V7FXF4WE3QQMWSFYXNRCMBCX32LV7CEAP1RAQ6G1MCF1CEYOWNILK5JXMRYVNF9B6OCJ7TFE0G6JTCD2BB9GNS10ELVFXAEISI0I1FN92W2L50TLSG4UDYON020JCKBO1FMGDY3WEY8OIBT373YD45SZV8LVDE733QD02JK8QUW2BK4BBQXDGWTJJ5D7KH10QF2LS5R538229MXTY9QKSEHY24YPN6XO4WYAHL08KAOEU51CHBLVKIB40AT8G6R7OMGMF8VE9J7QWGL7RBESQXL7S3GWK7CXG2EE9IZZEZ0L5I21KM9FKZ97PMYNW8O1MN0GVM54GTJBHQEIB2C8RETN3VK7XJL9VMLEWZN99SRAL7B8O1ZM871GD7OM81GALOZMDQ9E9DYVK1Z0JRAXHPK2E42LZ215G1G16TODPIDAJ172ZN34QKL8IAWN1N8JI div 36#2AK14SBWX2LH44LW0XDBSEYZFL7TUH6JPYXW7NL5ZONB51HQVN. +36#11MYX6HBMJQY1TJT1AWZ09E9YZVW7VMQ2T7VY6X0760E3WSMCUWBAHPF56WOLP7AX7ZW2020CFNEHVAD1LY5LHMEUZC99SJQ7RBKUWCOUW6PGXGHBCH9KCU8D1KH8CJYFAIDPIQ9BJP3KVS83YKDR9FGPHF3MLGBAWIHIX9MJWGQ4SCGTVPYS1RF37JVWHMGWQSALHL22EXOXNWIPSB5KVJLF1003GPUBN0F11QK11K1PAEQ1J29RD30Q9R3TA64PCZZN53ZA6HYN2DQP63OJCWQWPTJJSMKBCO0IRYBRO8WCINQXI3V6MWUTWJFDUJNP5W553WCZ0L1S21AWEIC486X1ST46K0MYIBUDFLIPQVZGL0OER2DZQLQV9BA8V37V2QSIPYDYV2T69JXIHGSD7O7I13CVMOVTIZJFNS9NSFGERJ18RKI9I8KXM8CGKSOINDF8QQ7F3TNQPBR7ZA5EQJ7ETET7JJDERA9OCUX3SFLVKUNANFAJC7FUL0Z1XEZX92757TQ3ZEOHRVJK1JCVQRTLUR2BUYP0F60GKQ7H3MEEME6X7G83YTPCXNNPN6P61DUX04VXSOUTUMPNZ5XNA2Y287Z9MMAB58WXZ5T2MKSUWG24A8UK83DXSI2EMD8HCKH3AE51HBKKVWDF2U4GARMVOAMLNYSSQ2B5MUBPX8CQB68FIKSZLQLEL45IO31K5EE02ZU6079ZY7TT66AMW52RD2O3DGT7HQ4E00VT57W0WN9PJWL7EC2KT9ZXHFPH52N7EF33IGEALWICW5BL57PHYIDBIYRSWAPHLX83QRIGQY7UWOXR6VMONMW = 36#LHGZS66EXRS4ID2ZPWLPJ4HYQWH7ZE3B03CUKQJALDT4BRKPG77X097IZY16VL091V6W9ILS7R2608KF6PR1NS1WYM7MQZ8RW8SOT8E8P5OC31Z2HWY35SJTAZUQVCCMZX1PJ60OIORRAZ0JSXTDBFVWD1PRDAC0FK0J3S5ATN4VMTSTMIGM5RP62ZNLI5X0PSKXXNYRREIG406XS8XA7KRQT5OYXVX9Z8G6Y2Q2ZANQD0S1BWK3W9O9GMCDQJI2C27PLQ6XKA0EL16VMLIA5AD265XUU382L9JH0TF45LPWOUHH9T6PB8OME3E55PFUAX3ZQEFTQTOZD5QJY6QJ91QQECGWWZZ75V1OOQ17VB3L7X0RI2LKB2 * 36#1R2C304CZ2KR9DL98SCB34WUMK2NKXIT19B9R2Q07QTHYDLK9UT74IELA5QHQ1MWGNC7D7RCUQRSBUYQPL79B82UG17JNUIJ68GAZ0HJ0K4EBH06CE7TWTTED4TN0VNI5XW4OQE7NT28I29ZJXOKSTB4THX86D1JI7APVCGHZHOO59JZUPIOCENLJ09HV7QJVCDNHUWSKDWOBS8VFN6ING3JT1NFF6TIK466Y95BP53Y7624W447PROBCMDNRIP2FD2FYFLYZ8YOVZP0XEKWMFT1DP83LQOMF779GUJF4ZJQ95DJQ4TLLT6AU7C7VD003YN9GSOIQRJ1K4V7MUZO7955OBKDT4WWH602UKQE0AWS27MV3UAF3O9QT98TQI9OSVQ4QGXA4K79YMFRXBHFQSQKLZZGJ667GH95LV4Y8Z12KD9UW1RXUZ98MU1RTMF4KE02VG. +-36#9WLRVVCPEC6S8V8H310SDEQ8JWKD1WKWCI2WWYOYJ0EP3665754JYM381SG8KRDBLHWKLMYTPUC2SZ5D0TLS8EEKW06B6K49P6L3DMPAQ3VORIB3SEYAX4FNPWWUBO3YLFPK8Z80GAP43TG08CJWNNP04B44A67SIAO7A2WWEXMPYX23QIRQA7DH4Q663RCW6W07Z0TA1UBHAQA3C0CKOFW8GMAY49QXCVSL4C7TXU6HUP9SER8R0XIBBSSXOUVXVS4J9PO7CTM5PFCK9SEXS1UVKQ6JTDQP8F050ECB4BPFYV3LM75CY18VGJMPFFKCOPG3R640U53QVHN9M688KAGBV925BX56EHNGFQ2CDOH3VL6WLIWHB5SXM0WP7PP980MAIER8XITJ6JTRT5P46KJFG90ULUVJK438OUOAD953IHVGM5CGNQBO7T3BMQQY20W20ULTGY4945F293DLD760QCV = -36#1JVW9K7ER9TXPHAN83Z1K4Q9Y46UQKM2GQQO5S8078L3PC2BSQ7Q7FDZQCT56TOJUMFDUUPGZL0TOU2RY7YSFV4OAV4ICRA2A822CEA7QSR39FR6W5Z4XXPN7QZJOFKPOP8GNCJFQAW0HNTEZZMN3TPL7YGUMUUYER1AYQPSVTFOY8TFGYE74NDGSTIFX709QYRLYRW6T3FXF8ZQOXEP1MI4J1LICKG93WFHJVD3ASCVUT8NQU8IZLELRT76FY56E7699IACW4R2TTWJ65PSFRRM9WGV897DZYYS4P5M04NVW4XG381ZLHRIV8KJ3TJ0XG7ZKAXGQPMKAGIWMTY7NG28DXB5YL935UVNBKZ1CWY4TNFQX1I6QHLAN95XBMIH3PPC3GPFJN4ZOKDI586K2409JJGK16ARNRIES8UQ9N7H14X9YHHKM5YSUHLTJLIX5AL6DCQN7TAHHFFV4AFPI46XEHR68S2HMPY332NIPNSUK298DQNZ7T8D6STK28XZL7U83TJCWU0 div 36#5N3S7SO9IDNP9ZGJJBFEHZFKVNR06M2Z3TMD2MC0YB5D9DU0. +36#1P1GRF5B4RLN19D6MMTWI3OYCQIAT4HKFHQZG8SVJZCU8FAT7Q = 36#ZHLDFDFNRMEMZK8VY64C5V0H14M9KTWDWN06J225H4J2LWMEM9G3QCRUQ31YDZVQO7EJYQB3FE0YC0UUM7KIMJZB50O24GUV4Y8GVKX4796IXA54VP9EXT8D97Y9B58DRCEO4MHMY1PNIHPMVV14H8Z4X4SOFEHWBCMUORNGS6YMADGAL5PF2YJX0ZBZMBNKIUOH8WX6IRA0Y7ZOE6EZI0P6JRYH15ELHF2HZB2L87RBQWATRYI6428VOI075DL6I60Y9IQVL54BQIQ94RJHFM01E9N0XY7D2RL9V1ZUC02KD4XIAR7KVXMZY0514MJQ38RW3KQBOWP6PY30HN34JOW3DNYL326EU8SN83LMN045PS6FL6UCSWLSYX0XCWS27JMM8ZOM2JYIWNGHQS1GP6C3EOCQL5WHMAO1ZCONYR9P4Z8KII41LD479C003IT22BTV3OIOCFBSQK3HVYZSY9DGLMT9A2Y7KYRR0VUV2RYUXMJEGU8IJU5LY84UW0 div 36#KXHIYB4ZRQNA7UFY34CZ0J9FPEJEYWXY327C2HDTOW7LDTP49PJ7X75FX16ZFVCNGPT2XUMPI6DW73XXQ0428C7AQCRWX9KN8MRKLYT6VTKFX8BI52ZP0JDPLJJXHRPQPLUBI4YX52MWTKXIM93DIROCSYWS1BMHSVJH4EE8ESQ6AKTWTBF60X1WO6V6Y1GJDOBROUIY5QQRJDSNX3Q156P3Q33KOCTHA5E1YTPID8G43KHG89TQW98CSY2EHC2SDRHD56P67VTV98SCELCK3BA4FPHZR3X7W4TFS46QZ4DT3AD1DOXD1MOF3QZVYI5PPHVET9U03ZZSL4L2XFPXNXQ8159XCVOP4U3UM9J4LGW7MM2VUUEVEWOGQIIMJEO1WVZJA4KUODB6D757V3JE2COHSJAWKXZP0VCB4FT9O4DFQIJBY2EKEF24D3F897ZX6RPXEG99L4040. +36#1FW0M3HUKG2JG8KCDXCGMZOVGL9LCYBMKW1XQVIPP65SZBK4GD9ZM2FI34FWYZ7XQCSKSQ6ISV3J3NCFVT6RXROXZU6O3K94OBC = 36#KWTTO54AP4J9KG7F5XX9FK2KLCJJCNMRHXEG07SOE4FKH1Q8C * 36#2HBT0BKGHSL3CWVWO7S93MEK4J1AAMXHDQMLLYZRP7360HGU6A. +-36#4F08AZ5ZB264PH9ASM3YO2G7GOLR0UYU32T4P7DXDHLULW9W8IBIW9BTWXYYQ3GQ1U4BCLNNYW6LLAFRBDZ0UQ74Z7VENELWGY51958ESCJ9FNG17KU78UUUK07TG05V9I0EIMYDNQNJTEJD93R6VE5P7ZP4273G0C0VY3RYFHSYEE5SNPLS05J5IN9PNSXQS5293WGGVX4X662PJ5EHE07QR4VM5QIFXSFTF1BO4AQXBZSJ6M065IIEZ2SSMROA8PE6F7PWJRYP48YTFXAMRVW0CPRGZN2I2LULZEOO6N6TQ34JL5NIL2DY5J2CB9ARNARG6GOTOBYNDDGQPCLRV2BCPGP1G0LDIUO17L5M89WMK735O2GXFB93KRJ2AZU4XXIZGQO2J0HTXJDBRIZ2G1CCX1B5AT7L2O6YNV19XH8B657K9SDDSS2WICWRT83JB1J3VB7XMO1HY70P29RT11AFIQ864QVUZHXJNCOGZP7QXY1JOAPKDWZB7IJ6N3ZFYMMRYCZTGO42LVTUH80ULZ5B0W2E34H49G8NA01WGZ3RBRTO353ZCVIVIYUTOE9OTIWQFARTADZYJU6VOPPE4OUKYBI4BTQBD2J2046RJU8DEJ3XAGJHANIMJCZF12E3WW95UNRMPAKQBK20S4RANBJBQXF7EY1SLYM3JJR0QDVFM8M5ESUKK0QXVWDNSTWS9MUVD5S5F924SDUXLTVWB6PACQ6E98BMZ29B57TDBKGJBFCS1LZM1KK5ECFCYGIEK1GACHZ4Q23SCBNJTFA70FJ37T31QAHBVK49HLZYKT6LGP277PSJJLMPBXL3J7D8W7BSA = 36#88D6ORM5MASIV2MQZQ8UU9XYB7AQEWDTY6RCPYI2IRJX7HNVJPTO8XH2QGKGQX2GC1FFA0V31CUOE1HRDFPBSAKP5IXYSXY23N3A8HSN65U6VQ0KZ5M5OAX9Q8BW0N0C9VR6T2ST5A4INTRW1Z5SYXMM59Z42TEFBOLCIQZEUWXBTC6L1DZ794DGE1Z97L8PTDHUBQI0IFD4YEEPF86ND7IFN44QFBGJRHG47DZEMN7G563XXTO2JA6KNM3MDVPGY6ZQHRVXE5KEXUEKIM88YXTJBL9YZ120M8HP8FCH9DI2XJGF18A4NHS7L8S8POJTGLGZJHACVXKZBOBHSNM0IIKGELS3EZALKB597W3NCIT3Q7N8Q5P3NF2ENXYGEIU54XPL06DN9P7TH0UF4BTEYUYSYITUJE0JI46G2JU21AZLBJINK6XB2OOM2NFGN7JNCA4MARLNFNBHH6DTC9DV3OIPACITDO0MMZENO2AYU8I5RLAPY0P7P817ODDHZPQSW1YXNCONVSIAN908ZPMIC4Z3EW6J9ZV0O0QM6N47NDNE7EEKSG0Q43PTJONNDDI2VGZJ7C2XKNPHB146BQW5TOS5H97C65UE2QXUKFNSTWIEBH7PI95XP3MBE70OQJ0G9UORBHBV35BW6GS14CBNVKFMKNEM6JDAV9Y96HEC0K14UVEEW91A3IXMKTKZSGB8REHZBDEB36D447NNYHAI7M850PB2VTERRMJHVJCNGTYD2F3WE1Q4AWSSJE6MR7T4S2MJWOHN86ZB8F85RGEP6UHEJKI84G386R9YZUN4OUO9P5ILX1XOJN8CO7QC6ZYXN0G6U5UX4L8HLMTQQI3SRGS6K3YJUUDBZ3VRI8MHDALSFZBKPP0LIX38XCTANEJ55Q4HMQINQCECX76168ZTYHE72K3COCXI9KPQP17H36LWXRKG7AMG47KYJ01U90GEGTKMUODNWBGVH6Z68MUU8FRVHZ91SUJY17RF40TQCP7NYV2ITKH4WV8N5OCW3CG76QL9XI58N12BCEO4JVW7UQFGVSKJAYF11HEZNUMFP26MJAPZDLS91VJK5HN06EDYMP5DRI3MOIBXFI1RVRQNKY1WFCQVR2HJV4HXM4WFMXNGVXUQL7XHOG0AMITX0A36BCQJMRIBF89JA3MXEJ4T0UN5NGOA57L7EFEHXM9FWQ0EMJIYK99BMOSHQ9G4YFPKD1H5LCEXKG59S8YB9LEZI29POBKO1V1XVXUWLZM5CATXOBIUNF68HFC5YX693FXS6GS6S3WHI3XNV6YF6R6490CDRBTO2YA1USIQQJSGJRDC3108XLJOQ11A3MQ03J0UMCJK04HM2G0NXEN2479CO2Q7AV728A255NJ21D6KXU7AVLDD3FC470JO1R5ZPIORBQ8ODKT0J8LELCBT8L0FHDJB6E702LPK3U7V3FD6S13P6Q div -36#1V3KFAB786RZUASN0NV3SSSO932JSG55HUB1FZ5E7RSNQBNH3D7SI6JUAF5SCXFG0DQUV952IXG0Y2IV939MMBRWYZAVKXV6B34HH0NM2FE0NX14P8RA6KGJI125C221REHFEIMSDGJM1WMF5SFQM9R02U0ILWEY24UL7BVNFM5KHX6ADWRS2GCG8N5YLYQV8N0OM4RJVYV5UQEXYHLIP5FY2G32977II4B0GKBLIYNB234WC9ULE6CNB1LFT9ZTJXP454CC80L095W6QTAZDBD3C395WAB5125HNHSQP7QJLIUS4XFN88PJMY4W156V5LBVJ7Z07BEHP639OJQXVC78RB7T0G8ORDQ1NN0BHW83WWXN58M03SKB7SOW46NO1TTVRJX6GPCNRA9NVX2JZKB8DGSZQ98121F5U3KX0DTBJVFZCYWFAJB7R02GNN9P67KH5S0W7CQLJVT485W7WII3645CX4LF9O584CGHB1FMM1NB6EYE6L6J6T80JDN200NHXKIE3OHA1M10ZS1XLB6KZOD5T88SNLM7IPI3H8HE99RWYB042OKZ778MCV1F4UWBOGZQ6CSKU5UQCA2OCG5VWKK6TKNIVBR56U6S3H. +-36#3RXBOSKSV5SKZ15YPEMD9I1NJZ0F51MJAYKLIM1RFGY9RCFW3V4S6DT6WLUBKZ4NYZUXG7LZQ38N6BR0Q1LLO6DDFDCS77SOH0F = 36#1BWEUFKV12SIEX9YZVA5VSG9FUA44QUC512E22RWEGFD3PKZOZ * (-36#2U5MN2KRZYL87Q9YA0CW4L7LP2Q63V76NQS0LFFDIOW36BY8KL). +36#8P9A80YSAPSJ057084342JW69J9MTUAAD4GM1SSBAOLGZ6AJ17GEDE0UGORE0ZM80Z3T21RM2OZ8UQYX30IE27HALA23U7WMRUNUF6KRCZXPSOG9UE8SEEP4PX011PC181X4LR78Y92G6GFVA1Z67RCP32VQH7JK2BRG8JBOO9JMEK4QIIK34SQWQPR7L74AQ9HFIBO8VTGQIUCY4DA022Q5JLUOELHBMIMFV08S0OJ3EJ3YNHRL0LAJDLUPD96M1Q4VYPPHCZER1ECXUTU9RSSQK07SUZOA5WYAJZEKVOSFZS838EOEAAM332QN6X215HT02Y7DA5K4L0NFXMV793J9FRBT47LBZ55LA4A1VEP0VPF4IPFURGNKNF37UBJQ7IUTK5CDH9OMWCYXA8TAGPRGE4X1SQZFTK1JRW3AT6TIN7UG9T2TKOT6MS64Q9IF6GKATKLOJ37PU7JGGV29A4PZBELC4SCP71SP2JSK6P5U59UXJBGBD44R3JA9QHCAF1SIBFM40AMKSH7AH05A1W4KUYR1U8YWCATYBD0VQJ5JEKW7G30BJR756ME1ZHO7TC3W4X0ME1T5H1GTQQYW776G4M0D58NMSLJIZ7NZUGFA1EQW42MPYY8PNXVXIIPWGGG1U55TX6DAIG453KPYKT8MZZSZ5DMN7PTIND7LV291V5OO664ZVSQPPWXBNF8V6EIH3VPY8XGKXQEZOZPVAGW5HII2GLAI = -36#TCKQS8ZO9QAVH7Y50KBZRNF3A1GVGWLLZ8947XQ3E1SQ9S16B * (-36#AO8R6H7I96HH6OXGOXJ2RH0FIKL7IYATVF7J067H314NLHM1E85SXMLR6614AOLCUDLWRGFXWX8X988TCGGWO8GW769QROLKA2IZ3GZC428O0G1A58DOMZDX1R4C8CAUAR31WHERE8OIZLKFPCJ7LIMWV624MTL0CVBA1V5CB7RHHCXURMFZRZOBE57B7UBR1ZTO6HDCM4AVZ6BSG9RP4I3IV14F9RNTL2BSQD8GA5L76FXA4IVM2IFNFSFTF99UTLYFDSR8O6ACAR12RR14TJ5AU5OHYD55O99X892NDUWWGUW2X7V4YEXS0ECP8440B6SSCN47B7Q29A94PQB38K3DJZ2KKTGEXMO3B49HTBW038VKSNI8A7M4WBRO2ET4UWE9BHB85FUSHZIZ652T4JDN261KDOHEWZ25LMFJW0SMGML1B3H9M7QJRN2RGK8OAJL3O42ZJSXQ32IDKUMG8WOVJK92TWRO8ALQ899LZHKL7PZQCU6BIFUKWZ1DFHAHUJVHAB0TEJCC1GH11YRF69QKZN7UXX3Y8XD7HRON1Y6FRQSQ2ZQS6QCRFTANQAMFZLHJVEMKPJKGH49AR9X6BGUPLWLY6FBZY9RZEOOHPJVO4SU08Y54DM9WHL7DS4M7TZAR09065KM0U86UIAS7MJTH7I2QT09KVMFL7ZZASEO2W7I). +36#1MA9J265J46UE52V1H805NCC3AJKWSRHLTNH6BJCRP2OXDCUYO0TDBY5L0LQI1W386KIA09N740M5V0D2JAJEEPCOC2PPO1D9VLS90RDGXHONVQJWK4MLKM70QWNM07PDC52OG6HQS1RTQ7TQDLII126PT9Z6Z6SM4CTNAO6DK0NHE6NXYMY8E2L6JTKOF7BZVD56SAE5NIZK8ZX59C2KVPJCLL5DZCMUHIMAKE3IZ40J24KXJ43M1NYAYD0YEECQD6NG0Z5MEDX7RLKQFZ557MSVDU3Y4GM6BQJA1DIRYU1J6MS13A64E103L3MA301REEZBY3XH2EX2NCOQW1I0GN5MHPM3OCTQ5NJHTR0MYDQX1PWGWNP1ZVWMM = -36#SGVH47YEHKUKTF4M83NBAN32J0NIX9UB4BY0AC3W58KFO4JMJ3M37WINBVNVFF4JWD5JCX3C9G2XUAZ3BD9S8RL6I8JL48QJNOL81MJ0BQ372JPG5UZTGSJCO6TS9WAM0AJXF32LK43NZUBM051NBWII6XE7WXJNND35JNB8WFVXJ6ZHPZTSZLPG335SM9H1Y2SDOWU6HKB1Z10GH9JPOGECDT32713XUGOHEX5FTGQME4G81WHU7JCH131C02T58P2HPXUABFSAK5954DIP2W1MPBP6HR62DTSXBM6WGTE12XYKYCZVG7QC0ULWDJFYPKM6MK3X0I9RFBC8MZIIM71ZCWWHOFM46II2IUIXU5F3479DTGP0LG6END5PO2JPPPP1A293SS4MSGFTCQR1RBYXFKJHYZI1H4IHE1VYE8 div -36#HL0LYN6I0K9GXEFS1V7EWIWMMUKJO04OWSRDLDCLHO6BP7D3K. +36#10SP4LIIJ6SL8JWZ0L0NWCY71TZKYEGF0M0L5RCER6GOG37V4OD96SCXIVYII5U0P11AHZ541BJYLUL170LIRWT8Z = 36#D6IK72BBO1C98KA5RNIETUKRKCHV750P71P5K4B95EQ2N6R0WW67U1YESNJ6VAF324LAR529749TO2KJUCU0JYZ6UA2WM2M5G3SGAYU37OFDKOSJAXKQUUU2F9Q22A8MVTOZ4H46C div 36#CW8HK80E2NSMO44NKVTA92TQXV16AJYW28DGBG2U1XO2SGMTO. +-36#1E97HD4JVT96FSTN2A1K21V1A4GNHDVXED11K9DJA1NVMGNRCK = -36#37X8AN6QFY4R443SIC18MQ34Y2Y2J6WJM589HKEXH56ULTTA9W0NS2BFPLHDISFVSZWEMJ0KZ2DOB4DED7SCOYP5IZSWJZ0K1UCS98USA615SE5XNE61BJWGKIC8IH7EZES7OR4EYQGMIRZQHU1I5J681YOADJGUBQDDVNH2GKAE7A098PW6Z0BSLZCSM9UGIMSJQNC97BFPFA25GUMP2U5R78ZGO47MQXQHLV880AFMWSGA498HQ4OF11AGZG42KANBT6L2XODPMQ53R80UWQ9W0RP1PQHP17VSBKZM8G4KQWOL7RURYE3HTELVO56RN5EU2ZARZ2LMADLU165CFWOTMUUXMZB48HLTCMZAZZ23HA5WB12UGFPWRDT244D1EA43JD0J3AA4Y2QZ9E3425BIUYUSS62AGH0WCB2VQKXMKMLLISPWYY0E311MGM7OKV29HOM0VJ00FBLK0EY5KBPN5TMDRY42X3MI59J8JTH70LU7U4CLYOD18USK5A0XSW85PYJPXKB9T7Z5RRB9SLEQQ7IYQXLX58QTDACO1NZEE08DBYRKBOCC0FBFIQY9N7CFBHSJNP7WM04K8I1CUQ98A3UILRCOJU2HAGT0XW4XLYSG5NVNRAQ43HEPZW338R6PW7BEYYSRYXK5HJG17KEL5IKZF70AZXKEB05AVVIVFVP84M0NOGR8B9DCZX2P8OU4Y3D01M94PCGCH4O16583VZDKTJ7O838KKIGCZPR60SGPIHUTPZFI3R5HCUJ06AKFB0C7TTYSVEN5WW7LLY1JD7Q4F0WG3JLFPER0SXW7KCRGLLYZEJ7YZ5M9BOQQUX9P3GA8Z8V51I4ROOG div 36#2B1FLW786UJ0KO2724XGQ2QXG3T1W0ED3DPOGX96ECWDCFLD94ZZNJMXZLKTLVNC2X06BXPY8QX3TTBRTNLV5ZH3UR39I22TNECT6O9C3X3U7CLXHIB57MZD5476NHWCM3D6R71S6O89H7SFNVK7N35LZ2O6WYUO5K9ZDB8KM8GEPJTJLENUP12OU7Q6NQ1LMHK37T4ZD45UCLI85NJ2RC8GK6EL99GXPIMEW2CFBWUZ8JMJHWQ45A9IBN7FS9BO2GTUIAM9T96Z6KJSXJYD7DYZ16OMOMTGS9SZJT878UX5NEWO0HZ225PKPZH32HQPVY0GSSLXFTUD9N1SKV59LMC6D1JNZOR2HLRA8KHMBMV4KYYULXAI8LBUPMJ8ET2PQBLS2KRA6E55NFV3Z2G5ER6PTYMXEPKPS7O1SPB9XUXCJ04AYYJXNJRG6S7I15DIEJ9VYMRN6QA3EWEJ9HI3K3K21XF0XDF548WYCXKQZOHBZ0RSXV8IK2M7L57V3DAHOGLUY65B0L961VXCFYMQXXA0GIIZW4FKE18V8BOOO5UWKTZ48E25S5NM4MXCYDG5KI4RRWAGZ8USQYR81ND9TBW0NRXL2TOMLGDHDD1P6W2JZN05B0UM19D6D3UH4C8QO2X8ZNEHOU5AX96MQNYG6LYYGJWN5G0T6EQY3RPGGZ3GFIXONYTTGZHHCZXO77Z8J9XVQ6O6LTWRTGLCFQD4UMSD5ONK2U1M5F8WJLK581ICI4YC0RAH88DXVXC1XJDEXOXE4JZEYT4MHQF79W79DNWU3FRS2NWPP8. +-36#AY57JU45A13B1KL5947Q1SMJAN6OUEECOS0OYH0ZIO1SO3CL9DLO8BYYQUYERRM1CJN76LDDXHVM1HMM7UR7YRVI3WYG7VJZM8TRO70P6NGN3ITGXFW2PKOOOWQES7WXUQG7C44AFZWMAJC7ZC3EPZ3T3YMILE5VCHD7KHTUQPCU14WO3C84LJ7BYY3NYXRLIDOD9A36L4NLFFBZX6OEKLRM33QPZ7EPMG875T8C17WA2061V62OFGT1K1KOVYE0K336SREL6J2K7GB46P58UH4KHMTF9C7IRZOIE4MSIL23MLJCOWAZ8WUWIHZW285X73JWJLYYJICQ2OIVWIWT4JMRVNOEJECH72JGXB7ROIY2GIPBX0XHG7EUUHNDMRGCSRHDEPU8Y7WMMPTGN3LM2ZKPTV75RGB19ZQETETSJ7GM1PP18LDX5LB420FQHOMXV28DNA5V4YCVKM9ZM6QNMVDFUZU66FSJ0821WNXDAMSPU1VEJ7SFDEHS4JTIBGCKI2GS3TNU9HJOTGSV2CFRU86Q6PFF58TLARBXUZEP8J6KI1WRNHVAZJYM3558AUI622BWQSPJOYYKYH7MFBAAXPNQFI0BNJNXQXZSIRXEZJT3GNCTMQTVHRDFOEQCRQCXZG2Y2T7EBIOBH6WEKDF3FE15TFW2PDBC8WP4RTNA2UEH25KP2OBYSI3GLGP1JJTW0TDP64I = -36#19KAJGAJ3M1UX4PQWDAQRBRQUO7XD4ZR1P281XX7QX4A9ECNSI * 36#8NEXNRSHHCO83DYFTCMFN3QLY8883X6IH2KI9I47LDIBN37BRXBTV6QZZ4JEFAD13CUMT6KQDFQRFIREPKUTUDBRNI5M1UOGSEIS8LRW5IC5HM5I4L6PVO8BOTKCXB331NJWM86M8NNVA1EG3YS2U5JROUI1708EC9I2J5OE81LHK2INB3CDHJ1LU1PN35VDQBJVLRTQY5OGE2BQBSVHZUPHYL3Q0ADF3HQ7H6I9714BJ5QUN2YVH3P7Y2DVAX3EJ7QADNBE9XHEJ5Y8R5TRV4EZGIM7NDJ3QA0SJGWA94M9N6UTQYZCIFQB7BQ180TP5K27XHLQ6BCGNOS1M3E0F5GXZGA6VJAWRSS1FUNR7CXX76X3J2RKKRRFIWUHL8DSTBDPQB19F4XSJZGBK7HKC544Q1ZL49LEQJT55QAYRWC9OYR63XGM2HZ6Q1O3X2M7H9DZ9QW8III8OPS3AYB7S32VFP85QGFVYL20QR0M3TD2KM7LFDWZY1TCGM3XA25PKN197OI2N3PD1J6Y5F7FIJ8TMKU6FIZTY3ZTUJL2BF2O0Y4HZL381F19HTM1VNEAW1OC205PQ0UHWF66H71AUBBJ06Z95HXIGWGI0JL0TUCJBUOBMQYNCCUO5RXMOVM9O7A47266MZI4L5HWWALDPL. +-36#MSG1KOJC0F9C04SB5QWPNQW1WZWLSRTZR7QNRH7A8PCK8YYZ3 = 36#89IXYT6L613VJVXI7TFD88EZO3NSFYA7ISKE4TN143LYH2DERTYYNHBPZBM0P4AW9YSU946X3T74ODKPAOHP5L7PIZQCPZ7BJKMVGFHQ9Z9AJQ2L0JMGMWXY7VTXHGWH1B9UQR6FECJZE04W8XCQ3UJ8QAF67B4ORWNDEOXXO9QUNSBWBLJ4HALLFFBTQCG11FD0PZTZOMPGZBMR68OKG997SM9TFKM56SPROJH88UWXL0DMNEUEOXNXXMOHMSVVL4DHN7LI2LEQMW6RJUVSZV82OJ9L80LKJ43TWZ4W53GHB83L77I52ESCZEAV07IW1AQ048UT01YLGZA2EL6MAFZ1ZXICM0FIZ4FXDE39PE3RRMKP23JZYEUSYNRSTIBB3Q972YNJUYDTSEU15W7889YMNOGJMHDXCSVKG4SPPREO div -36#D1ZBIYWAW03A437ZUSV8GRUL5IWEMWJIZFP7RIK9C31ZGLB9GMOWY9JA5GXVS64S8UVZ9PQVVT2CT0Z2Z7FNXDQKRAM7SH0OZRMV37L5OORR50HIK4FKZ8XB18C5K0PQ5KW104XVVJIMJ9S4H9I5YJMCEQL7KGPG080VP6501TECEH6VSDRX72LDNMX22110GGXZ02V3Z2LEQIXMNXFV8RGL5L06RH4CRUB9EDGFSFL0U0YJ450ULTMARGYF3TKYFCIIXZM67JIKLNLZ3MO0I4TMSBG40XN38O1T9SJ5CMD9A31ZG7T3NSSDK8MDTPUAE5B2T5O06AR4EXF8T95LHXR6E467S1N4D2SXP3JZCMVPPL2LZ27P3EFYZNK. +-36#3VT1IREVOKRA9GD543C8XPC6MR9BW9942XR5HAGXXE0Q5ZBIMJONTM95R0WQTHMITOXUAHHBV1WUNR1XIQSS11YKI7TWJB3TWKEPU2I78BECNGWX67KS2MXUEHTMT4HHW8SI4HH = -36#238RHV9Z74HEOX418X9NGRW00WD8N8Z5O94Y9V41KN7A3YUMXLH3KFIV4W8QOKSHDNNZCERY5JVBHX97MUDQ8DU5HOKMQT3HUZRNPCMCI7OURA5BQTTCNXV8CAUPXFN8K5PAETQZDXW0LUJ4XYNVFMIIMK3RRQG3WNZXWVZXYX0CIZIELTZUH0AI div 36#JDI2T0CNF5G2475W99UABHHGZ5KTAAHU168H9GPPVHPQF30GI. +36#9DJ8WUDN983IB2FX2ET965AEG6QOSYXLZVK0EEH98E2TS8CNYJBNWHWDB4MHNLC6DQPNWYL331V1Z2IVPKM639MY7C44DT3AUI90J8J0ECB96YTA4MJ95L3W6HEIS4IRAPYBLE1BEWX3ELIUUAT5RH8DEI24ZIAQHR67T1L4GJ8N999RVVRFGC1YSIKLT7XZ3COK0QPOIE9OVE84FMK7CKP80C9PXOJR6IOPAZSA490DADT0R4DGYGDBUUCSIVLR5HMKHIZSISWZQ8710S22I972TB0Z0TO5U2KFIF6I4SEJG3AXN = -36#1Y44BKQDPGBKYSM5VTE3U78Y6QEK16LG6LNJXWW58B0IBTC0QN21XO3MNBW9NI14SE93DX55EJWWO8H27HOWHT4ODVFWEXVS5SXY977Z69GPJ5IDW99A19KT6RMAKR07ER7KNL7TYLSZT824K4YKFEY2NAJSYZZURGAB4VRTMF4NNOGAEE4Z1W0ARPVKUIXEN2PY94YTRPFMGMXU0BJR83TRNDRE5ZA88NJ3FU421XRPY6UFBRD4CR67YRO93O2NH09RPUGQ2KU0N85XKNGNLDYC902VRQULMXA6ZKQ2DPG21HFXCLAOM5C15W8YUPO1BDS2SZZH71UYIGW2K87V4V4B0ACJ8Q8TV57G1D6300PPM0J div -36#7H7MJ2LNEF0S35X85W45MZPHMTZU5IMLNSSS9TXVDDK0SUUPVLB6PCNM7YJ03T. +-36#1ATQ80ZH7MILFR3TY3P4Y295XQBTEB17PREXIJGYSLCRA9RXNAFI52TJT1KXR35EMZDK4KT6M6WDWEHLO75M5Z8ZISY44R5VJF19FWQRMKLBYLY1UQEDKW7KHO9AIHK557LAPURUQ8GMKMZSG606L808VPE64X8MA9FXOIPZGG4V6BSYGOYN4NR05B3XDUGQV36ZHR0T61D9UU8NLTZBH2F3TI9QAIHL8I5AV70WHQTK1YOSHPWKE7SR4WJRTTJU79HVISTKEU349PXTP8V7NFVH9ALW9PKATGSS7L113VMEPOUBH10T543NA5VMKXXD00PX885BD57YCJNKZQ4R77GHX1MC2Y1SZYS7UJQL5ILCM3R6THLAOH3G7ER32AT4E66DZABBP64GHLXHQLAV61LI76QU = 36#HFTFAMNIDR0U6UF6GUFH3SIOGYPT7K90NQLOLLV9SVXDF8FSJNJ2HH756JL46CVEDZMIPTCQ7PE0MM0R5DSKCQQJG6A9V0LGF9VPIOUJQL5GLZXEV7VP3EPFSXVYVZL4OM07FMMHR24O42H9WMSO4EAUSV081KKRXL7J7NG0WDLQIHMUCISCYV4MW067V1BTULK6HU0EOXG4VL9E73DQBHWLN4XEHXPHSX3301BFB7G77H674PEX1C1NLLF6DM7U42L439QRHV4QK061UYLP20UVC75YNYT58X7L7X8IUBJLMXIMSHEAJGS08US26ELTZL33GENJ0U2L7AFT81LCXBDOIYM76W3HRORVAD2766 * (-36#2ONU8SK08GX9DT4CEUQRBKBIUDVJ3NCM622XHGXBAE285B9BTH). +-36#1AVXHTS7QAAZ64SVTBOUKRXJ60XN2MT87K6WNJZASFSMOWPQB7BRDO82U3KZHT7LRFJ1WVMTKUU1SIKAP7513VLPVWSHOY93KQCZXMPKQP9SFH4P6VOBFO9PQCJ5A9BUP2J1AXNEAJWZIYR75IOXRD516TG7ZZPVERX5BA5X7ANNQVK2UWF9N9POZDG6TESTJ0AQ5DEXY2COQ0G85R1SFCC49UUYY0BWTQT5532YNRY9UC91NK7QUV8I1J7GZB3C7FNN27T44WUSB5UBY80IR55QA4QL0MKE05OC6FQY2WKZVX4WONZ4LAY9P5BVHYO0ENJPNJEIILVF8KQ7AZ9S9O0G7KJEWA9TPMV1O15EA24IA3B2JFHQ = -36#4SLUBX3VKIP3MGI6A8AS8V0MJS3BBUNFS19PDZ3YDXE2QBL12TL2NOLG1KTGIZE4HNSZFHU5POPXLZMM7GTKD2ZJL3JJ3B9HS3AC3MBBEI5VC9ECQ0T80M0R3N6XE88EPG2VYTAHA1MC5S83PTZX05V76EI76LQOD7V9QURD6FYNSSO3T80Z3Z8TUFP0LND5Z3AOS6N453ETQBRNXRHZKZDP74G4PRG6B0V16D85GH8GALIKSO2MIWU3PMZ84OETBBI74RE707SL5LIF8N75SWVHU7ALS6R9GOVCOR0KUSDPOY57F7EQBDCVTB8UGBMWRSRMMJGL8BTQFHALSH2YV3EJGSA1UU6YGDHU6HYM3ONXNC0YT0CYM9BZANBXW2HZYC1R8HJK7NZDE6YTGI9VVMR4BRCTAIMBJS1VI8HJZKUQTOIZ4UE1TNJYVY1M2LT754HJQPC45NTRUDC46AOV6VZ6QJ6 div 36#3OJ0IBX62U1ODLF1IHCMPDB3N6DJYFK7QA7M0KFZLV0WSEK5AUS42HLJGRT1MAHEXM9EPWZVZW4PNOEP695ML3WI9R7M42CS4EXWG073. +-36#5HQD7MPC0KZHOF9RL0XQZV9KZXCXY49BEVUB7SOJXL7969DK3 = -36#4KFY97TVK64CEDYAQMCFABHE3NAMROFFZCN85LCQAKAUTARJHVGERXKGW2YRVF5UVZRLGUWEIDIZRN1X5EY2DXL2Z5DVZK76ZTBY4QLJ1U50OUHRN5HFVY8IGKNR8WHVSASVNE3N4TGSMTY5J6JC8UYPDGCTL23M0XTYAML1VL09UW0TJBBNLKE4R7DC42PQDDW6Z2HTENICIFYRFC1JO38HSCRNEMQBCKH23ZZYUD7GTYNJU8LJ17Y0VYZHU7B0611ENJV8N38MIDW17S97SAUBYN2WALT8IGED4MO5C4RZS4PYQ6IS8U6JXBP5RF1IOTZ98YBZLW1UDJNUY9NDXOU2RIE0KJXX5OUI2BEHBML2QX66G8P1A304CUL89NTJUIKNFVRXVFL9JYJA7VXO8QYHVJPE46LJIM0F2FWVIHASGA57JN61UXYCVYJRK0AKKCRSE0NTSWQ7WOORTRQIYJVEDW5WNJI0NQKUO4H7JVEXS9Y5JJ8B39NJ6O871VGN2U6BB2ED3E8XE7A15KQEM9AR16GLUB3EU70TTWKDGXP8QD8PADEKMNQ2W7FFGKNEYFFYHL1S5YWNEDX2878E7OARPKRPDNO5D43X02N7MET8TYKBBNABLQEJAVBWR5S6B6TQ8BAV1K2RFWU9V8T8IFC5MERFQXZNWRUQZHZSNDUMT729P77TH9JUX3TTWQG1WKWKM8UV3PX7Q8EOHGDGR3JN2BIYVLMJTCEAUH9YTM92AJ29CC25D06WMTF1JDDG07AY678D530GMYYM4OFPA1T8Y0OAH2GKHFDBT4R5WLZS4CE16AXEVQ2YVDVIP3CIBNUJAPQWJTFYW6ASDKW4W6DKQX1WT44DT19CGKJI4M2YBQYZELOE6NW8JFPUVP33AP1D3ATO08ZX8X3094VTVP6OJJCQ1AULRJTH6EVO7S2IHHJ3SBLHVQP3E9 div 36#TXT7LFXWCY1ASVQY0OP71QBEV3R9JL5E52CBQH4ILW3U8ZEAUOESOELEWJGVO0LPHCD1XDIEK4TYJBRKW0EUXNFUDDQ7UE0LDCUKXPBAWA1M0ZTIX70OXFMDIR4SQGN4CQSDSJZTPMB3QEKQP2V75CTUAA5YRNK5T09I4SJN950QWTVVOQ6L684QS6IQVTH4DU2MR2U0DGRNC9LKLXHUWRGCD4RNK512WLZ0DOGAAHXOORT02H0UVUTF4NEYIBY78FDYE7SF39VI8TQZ9CJA17RRG0IBR02W342V6AI464RZKC4TDI425SUFYGUM9V7V5MWT69HNK6HV4L75AV4PW7R4WI284NHMGMKKV4GB8O9OAX25AM7SIQM4LLP3NYSMUPGOIYTF43YIGSMI1YG7OH8FURR35VZVNMNV4I5D0V3FR3KEIHAO92HBNHHNRM7IL8XISJVL180YW1XMA6G5K1H35XXYVGV9Z3Q5HPJYRQ3S4LT37YI5DC9YI9DCSQGA2UPRCAGDI7CY2AH8T3XZIL2A0C0ZYE00CLZTJMS9U0Y6UX4LJOEEVCDBSIRXKCMDNABTRWS9T8B3EX2Y96OF77X18TFPKKXJOU602Y7CR33TMH52UG26DJF06ZK7ZYC7L05YNYMLRHPMFRWF6L2UC1JB519J95KML1HYO0E72YFFC5UJOW310TVRSN0ULA9MK4V0JYQX7UZY7NKTUPRYK130V43MJRK5KT7C17C5H9MEP1X8KTGM3L2HTNQ0RWRYZL80AOPYA6ZPO3X72BPYQO2CUR180TFIVU89ZBEI8H36871MX0CK1IB3PSR4O3H9A9YCEWA9ZNQUGXM2KY9JPZ01OKU7WZUMUV6HR9ABSG0D7A0DMDW0MXFO0MWKXT3TOQO4Q3OGR. +-36#24PF4PVSJXE0567OBA234KZPTAP9VLF9GU60VE9AS2ZVW1267NBUBQI642VDG5YU9FXR3Y15EUCAZ2E8B3JECR2N95KIYMOGBZC = -36#20D4WTRAI87TX22I49Y9D23EKZBA3MB5ICRAGAUEEJAA43PIYW * 36#125QXA3Z4XZXPZPLUPTQJETADMZE4ILU6XGEQIRFBHAZCH12RX. +-36#2EM9E9MKGGVFK1SAB1GRUKHATLN5KEX7PSLD9XWSZY21TX0CZQ6VGY4ENCR4OHB40TN7P070TRQ5QYP4AXL7IMG8BDZOTWF7KLS67UEU4L4WJ822JGN05911X7R071PE5AHSZFOXOFCJ30K04CKAT9R7RRTSW7HIIR1GN5Y1HJ5Y9E9YVA3DVIPNPXR0TRAD14N2BSEHUTMVKB4RROS5L00D8EJB54L0HN8D2EF5P2NCFO9KWIQE9AGE78IV048JCYU3Y5V3YWOG95I43BBLDGI588BRD8XGIRP0GJYKIZM2QPT0AUR3WADPO9UWJR8UT7T2FMZY0D9ZV7VMSFGY3LCPMMARJ56J1J337OYVYOOFF5Y6SXOOS5D54 = 36#XBJKNBRLEUYCFM6DWYG2LU4HK76EKZBGR3Z29V621E8LIK6B0CYQJITMXQ501QSVN6ZGLA9BIVUS5LY45KBNWTG50JFWACHJ7X9XIQCHAEOR48ROW434IVQ312G27JDRYV8F25M57OL86CL4GFWDVYOKN29XLRWR14R3630VVVHATJSS8X4RPJY1R3Q4RQ3JU506ILBL9JLBBQ9UNT9EOHEQLRO9WBU65C2VJSL1Z1FWYJF1Q2GU014OQSMPI3L8Z15XGUASNPPXQXBKW9CKGN47NY1DOBUU6S30JE76Z5NWYCDRBJGN4LFZM6HPPZZ9STO7P42NSVX6Q0IE6C0JTAM90X28VVZW55VB9I6VDSHII5C2NOHD0VGRLDNVLNBVWXJOEOVTQ88ETBHOVDFGLAKS3JOGI8845L6XHQ2Z4 div -36#DUJSN57J8B0JSUEBEUGTAI1IUOESZNWA8Q80Q88Q6X5WN0MEA. +36#OMPKYNBRWO4DQ680FC7IPOO4VSC5Q3MONEY76C9K6OXYBZFAL8MOLAA8MCY37QAVQLPQBT68N96C9IC6XD9FRQ1PFCMKB8V7XJMM7XK5KIUFM9BIKKNGD9U1Z9CFRJ32C2OATS0ZCK24ZB4RUO45LK9K2ZYENZUD5U5B6ZHYHHR2UVPMN2IWJS6H71SCZTB02N3YXZNK6HRQ1TZ9FJBAULHPIZXSSGP76S4SDTKKVAD2DZA1MPEKPWJS4R = 36#Y1VEB0F0JWD0RY9RZSMD9E30WI29C5GWHPKZK5OVWL05U65O0519BJQYDPNENQ4P2QCK3H89RJUMOE7CC9G5MLQ5HP4FZFS9JDQZIKPXW91RYK55D9PO6V3VV5AOOVU1777BDCLTTH5ANVT53D40UMKVAC570Y657E4LMOG7G891E7IQF78CJPII3TTZYTMWHZXKKIU1COMVOBYEGVI7RGVA727H59UZ5QCO4O5GV63B7GDBGR7N9TATW63SI5QQ5B0SNCW91A3RAGXBSNPCJSFJAKRVO9EWY3D742A63B46ZDZO63DDBEYC3DF4L0AWD05289IILNVXH9R5EWHRK2KW8OHRLTH0N4GZ0E9ECB6T38SPETYM0VU6L4VWPQ6YWKTRO4JQWDU273UI0ZKK22HEUS4RMUAWLF7XT10G1CWXLIF7CIL1XD3SUTINFF3UUCVM7F6VMYT4ELZ9VY3WZ5JXAOEV2VKB2CEEJ77OYU7X70JZY5G7VDY2DNVDAOXY00VT09AF35UY3G4LYXQUPBLQFG6TPJZ8AO4SLKI8PMZA2BL95CJIIM4MMJ608LH590EIE1FVLCBD39GIIKT6IG8XO2LLNXW9QCIG5PHJWP7LXF1FQPNKG68POUBEN6WAVE8C5DGZCUTMB2AVWO5375C452JYO2EOJ8DPSYSLE9CAEY4DMYF9XEFCJU9YU8Y7X70BFNP31VVBIIUP60NQVD1LNT1IEANIVH86W5S95O6GMCZG12ODUUKDLKBZLGHS0XWTVIVRNI4ZM95YFSNK0YZQZ5PE8RI div 36#1DRPN467WQ6MTYTPUKIGCYH2LNXX62PYYLE1MRCUDCRXCRWYTT1SNI70D3310OLOC5YK3962I4ZZQ3BT0HO728AGKJOCF9RQD58GXM8VQVCV20QH9L1VN8TUH1EGLMHQSQIXAWQNSLEQ6DNE2Z12RI1HX5OS7Y8OLX7IRG59Y6J0JLXUBRP00GZYI8HR36PQY7BUN8CUK1PK8SU1OGR6F7UCJHXI4WTG6H4RWDC5XI7RWG7SMDZPFVNHHG0K6HS9810F6UIORWACY5657ZHH5R582WL7SQE2E0REAEWOMQ4RI7JASZ0P2IHUP16YFZUADTVZ8C1NM5O70HC2TL8R348NXA0Q4L6MY1L5H7NKYWLTCZM31UI8XG6NRMBRIGHQLY0XYK4RM0PX4RMPGVN9SN79DM3999821KSZ6I176RAURN3VFNJEEAE5FQP1TRO1UCJE4YUMC4Y8I09SAFEUVTNRJ8H93EXXKCZNVJTJRX0WEBHDE97ZQFESY57USOZKRCGXMKP0S33KID27BONYVUPFQ62ILIHVVVKFQ2. +36#4YY1OB90X2GMPKNBAMKQJ8P4FKJX4W48FQC8JJN5AVLB9OKAWCCYSYI2F8RIBMGJ1U9OAXI9A2TL7Q2ZX9P94SBV3O8DYIK7QKZ4UJNKQ235FRYB16WO4B07B7R7P374ZLMAM1RJHF0W90YQZKGG3GR3DU9GQ27093DPV5OS1XCO576BCWQ5V9OTS99JQJM7UXXKBO4DEUJN46IGZCKBEMMPSU1DAB1493RJ3T50YOQML8VX8H1TGQ797AAL7O3OTDVLD1YLJKLS41W2VAOM2MB32E97H2ECM5SB32U5M3VGWC52QVK79B7KCN9Q4UXFH07DNL3JZ48GF0M49ZBV930CCX1U5KZVOEF6NJWO3RICV3W86HE8C93WX08HLNKY75M3X7M5GM6D57XKO5Z4O09EZ0J75OT9GK6WKQ4BCROBN4T91BGGWLU83WD2RJI564MV3TETILIX2ESFASLB3V82HLDSHDN615IVC7PDA50JECS6Z95SNPHNEHIN04I8XHYUJI8OPMTOG3ESTVE5LVX791117BDCZQ662KVNKHA3G45SV7KUMDED6LYZNUKEDXA7W8SG3901HPP9E40AWH1CEXTG8ZIVX8H59NDWUD3XARO443YIM79P3WST60S9TC = 36#1ZQAAKXEB4PX1261OK9IW5FJFAYRI8KQWXVVT3NW3NFQQMUOQYRH5VK5Q5BGF1DAAXVXGDAXLJ1U6XMH4ST4W8L9BRRA8UOFQC4J3Q8VT97AZGUQ680E75FNOGGGGRUPE60739GWG53D06J9PWEPJ2CSTO65LHKHD6TT1J19ZR3MDJRSQXILD9ENQ9CEMAFBOTY622CP4753VBNF8N1PPHQK3KJXZXK0HIAMK6GLUFCHZDPV6GX3445PX93KL64PNX05BAUAQ9YXH5R89B724678NPXJPK8YK0GKYI6Q4X5NNFU2FM7EM3P7KV06ZG9T34QS59PFVYNAAKPZ5TLXMT77O7ZGJHR7X5W3KZNVW3A9TU5669PTMEUSQI334MPC9EG5NYZO2PJVICDX75AD1J6GN5VKMJR9M0PTO6HVV5EWVSFUQHYI90WL18P235AO0VHB7XLXIE8VIHNK9FAIV8MKWLGX17K2CBPXCUOJ66GVRDF7SXAXYEC6A0MXAAAM85AD8VFL41WFDJ78AD6MJAD36XMZ6HJYFKL7T1FCPLL3A79JGADB1WASU1C6C0995JPHCN9SHKPP2XJLC * 36#2HT51LZW24X606N58VWF90TKGBCGHVU74VYA5MGGF5L7V8SJ9P. +-36#2GAJ5VOC3O4DEZPWYUFBE6M1KAYRIP963SEFQOSLURXGE83T8XRB74IM82KUTT21VOFHBLNX15W3XJLHDKTG578Y3555OYI4AZ1MW744YHQVE30DTAIB54DFXCIRXCGPK2RHQW4QI4X9SN81WDN3OAS64IW0Z8 = 36#W9CITL0Z1S7ATFGHGAMS1IGU7P1FYYPG5RV0RWT4SPO284SM2X0MRWTPQEA6YIYJSLJ8LCBKZNNXV3A0HS2PTDK2U7AXB6NIIVUJE6RATA6Y * (-36#2QJ2DYQVMCDKDY6JONCM7XSZ6B3NDVUBDL1DJSJCUYFUGRV8DE). +-36#1HT3MD2BHQFNHOYHWTY3H6XEAYMJMFE2U2FC7U3EE84UIWXKJ3X43DB0WXNDJ4WVVVUWGOKJSVGY84LK4PW5BX0L773HAVRIPD4 = 36#1M6HLPKELR3RMP6ORC3B1JYLEHDELZAETXPM0M19R5T0YOKH8S * (-36#XAM2UM6SET58ZV94HZL9V539Z9DBZ1D0T9SA2WX1VS2KQKSIM). +36#2TNIB8K3HB5DMEG3J0IAX7NPCSLG6RMXQIYD03W796M9M1JN3YE66RUXI644HMUMJB643LDZMYQNJTB0NNHA5B0G87G1R5JN3Z8XBN3N2Q8MZWHTV52DLW6OXITOK3BS4MJOXXVV9CUJ8VQ04MRRO1W8AL0H17TRFHPOW5S44138IWCMH6QC4V7VIUD3I3U99VO07BLLXEA1MH0UYSIQTAISCNHIG6B2G1COIWBAU4D7M4M80WUSRFL6ARRA7CLPDF91VSGNUCNPZCKUA09CH2TA6GG2T9O852L8JUXOSLFAO17SUKW9NVG7HF7GX = -36#BGQY5E1G1EE6K9ZPTE8EKYXVFRZCMHIZ5AUWHFN6FGSNXHDPY0VFO5ODW2IVH0ZGTFLTQT9SB0BU4BO6DNSUTMFFHYU89VMCT80H8YTCYMW100HFY74B9WC9YK7HQVE1XZQOV17WDUOITVJ0WNUDILMR5KWF * (-36#8V6L4B2D9Z6PXATWMTIJSZUJPTZFJN1Y0ZXJF7FVZ8QMJ26DDZA1RUD4ZIS4M0VC2SZH9WRLZKRHM027TQC77N0MMPUBE586AI3U877DF9ZYW1SC6NLA7F1LDSSKRNMLLWFKDKIR9F0A2NJMZ20HSGL0E4046XWM7). +36#HFS8K5Y4HYCMROB91RV82B8L2RLBHAXJSXCEK2K5PGN4RBX5 = 36#N16IX94KI1GEMHX3Z5KFDCBZVHDCWTE7YBUDFD64KURSGF0GP4FB2R45KMDEGJD3OZSP9LOXFFE0JBKGGPCYC4ML9VJMPMJVQT693YHX05PJGFLZG9CCX1JOHSN375MOA14VMWACDXTSO6E27UH3HAIQZXE0ATF9TBA5EXL9P8U2L9RUFSQ41JR122JMYAN00ZEWHU863SYQLMHBSAAMW1AGB1Y10ZHQCP26DEHAEJE6ADPNL1O02RJ8R8T0GIC9O6ZF29YWKIZY2UOE27QU3XQVKGU4UOTOWRZDB7BWZ1LGQ8PYH9HOQ05TIYG8Y3KH60SUDKUX9QZFYZDGFH19NNJECT5H5L8IXUQXG5NJE6KQR1IVG11P4P7S90A2HJ6L9HHBPQK26V6XWWU82MLC979VPE52H959WB2BOQ3P51TOOXGI9C5MRCZVS1AMEYXWE03MYJUS9RKVRY1N0TQC34HVHPTSMZMRDF4OHRL7H1LCJCQBZPSB5F2LCS89YPCDMFEKURISUD4YYAV2UO0NRFNHXCHH16KWPMPKDYKMGK9NKWK913UB41RGZZP4UTRDLAIS div 36#1BJRILCBUN8TLHRC3IVVZ2F4LVFPMW9Z6GGMDNM216IDTQQVN6DZR5ZGW16AZV8WH8KO41QKTOY0SODSOIN37MIWQ1GGXWWL6J1OKMKOSSGTXS093GIVVZ6TTLN96044XPTNTQ2EK8OSSYSUE178FFWMX2NDW86DA0J1OHO0ZLT9GWJW5CLFCE5COHURZ6KTEGS4KAEF4R9J1ZPNVWNWLH9HY383SVSOTU6OFNGYBEWJETCX3RK3LCV4JCIUAZEUOQ3GC35XF5TWJD4BYZ3BZHSIFV63YRRIDRR87H1TYXZ9NPL70S3CP45E73UKYTXT2YTYAZKJGMYV8QUIPFFD3U1RSDCVGZAWN6FD4OOS16S8PD5UUT61DC3AY62XAO480X91O3BZE25VZ5M5IWW7B0ZXGSDNIL2TJN2PO5R2MZOV1DBZ1U94J52XT76JHH4V39MFLBNZPJL6PTFBTPZL1ZWYXNN7J51G5V4ZHQKTAP06U1ACMJIP4D3TCT8U91692S3MCNDOSD3P91K7CGV8K. +-36#G06U40PW0RWSIYD4RNBZRE1VKFFRSA8TJQQSDDQZJCMUD49D3DHI4EDFOCT1WB3QUGWTUCOOMH237HZ68KX3T7HT7L2P85Q955HC3LCXIE35DX88ZNLDXTV7AVBJX93PJWD1HB4VHD4FCVEEMV546GLKQ5IPDM0Y4S4FXJY8I101RI650WNMLDUC0B5JQU5KRKRW3UQH4AH0GOCYL4SBLLCKTGZI05UY = -36#156IAK524VLK3RYIATV52XNEXLZ16D9F8UV2RLBORS1HE7HV3SLKJ2HARP9NJ151IFQTZ704ENBOM6YYPTXWH5ZVBD2HFTS3XIQSGUTI1WCW8PSGLA8HB0IP4R9ZTHBTB73YUAT7QEEJFVBZP6Z272NOG7XZ8VHJVUWLHCLIXZIIBNE2KTPZSO14GTQ2BEPHDBLKO4KBIDUH22YWGDEUFIXRW0YFZL78R2HQR5EIZTHH6YB756GY3KGKSRCAZPLTTURR6NEPRV84T6BQ8K div 36#2KMJKZFHWDSN5OUG4R022ZMK1CNYPA91RM36Z7PVEYAOIAS42Q. +-36#2COME02PWMMLZ66P3ORO1R15HB7UZ1ZS1NGXZCLESJZNLJP2O1 = -36#6IJTDFYK2ZX3ZNI0Y1544ZZ5NWE7UQR1E848ZIOFKVY3NDYV1ZLOB1S9CODN4TWLTL2B3VPZFIXT6636QDZASPZ7T3YK1NJJXQ3 div 36#2RPJURXDJX7LA8M2HLVZM5WQ7B5RQ19XFVP35KLHYDSRY5VDQ3. +36#VZ02G7AOT9L2TCUY0BBRFREVNHB2B678Q92RJZ9NELFTXM6LHX4YXZZNPJ39NRGP2MZXHL8O4DDXFA9BV1820UUOWE95J7EXLDJMNFC0S7KHNRWS15L7QIJROA78L0CIKYW5TPJDS0UBJ31M321I2G3JIQ202FRL = 36#6LSS9RYBHU13J8L85XX61D2T6Q1GL9CX5UOBVP65KIDSZRL4147VNAXYMRJ93WXCA2DTZWAL6MX3MA92CISIGZWW34K5KKZ7HZ2CAFFXAYHF5CHINBAU8ODWJY6W0K8SN3J7BF64KXKOM0O3VOHSSJPVMX2GGQHXFPF6QH6696KO9HT3JZ1UA3SR8ADKFRKME9L2BXA7LCVIXMS2THQ9ERW2IURE1UFOEVEZ25I03NZ0SBWX1FS8QAQ6SW1NL div 36#7FR8GMXVG28BR5MXPJRUOQF4RKS2WG5M39VFJHNPQ8LN3VS3QF3IPVNN49580474IPHDN4Z739X62V1FQL2UJ86Q9DU6P. +-36#1TECVL8J0W6IXIAQHNQMSL06CT966YOLWRMW8WNLRA7VSL1OQO92DVH6OV48CQOJW9MMPXESX5V5FCUZHYCBSX7F76KV037RGU3KM589WHMFA48M7QNRU0OWC8IKFXWRX4WYN8I8IGQ7FJN59X9V4Y1II0N4RNUOTIXVSCBID13WLDUT36I8B1EWVT8PQJ9IPTNTNP4ZAOEGQ79MY8ZKNY31QOMCXYRTNFL5F7R553SFKPCHL5VP9C5BM3VGXNCHB6UTD2HXO3OF1SFL2JBU06BJM27LTVG5AQLQZULM4O57JLHE287A6AP7P8Z0OEYX8LLCRXGXL9490UH9RMWX4JYM0UTVA0HL6PPJUDSGPM65SJTX7BWQ8AQISE8XHM27102FL5WAW3I74ADQHEURNSVUQHPA9HXKY5S7NIG8TZU3RU6PTG8O3A5184YJBWMZX4KMGWJS02D1R11YE705G67HF16Y79ZLRG4L77PKDME2TL0JHP7OQHPY81S9MA590AGM0GX5EFOMF74636NHQHBZ7C3TJU6SHULGLWFCBZH8BCB7KA5QOE4XD7AGF3IRJTGN0BQ3LF8WUJ4XY4CGWQROQ9XA = -36#CB3LVUS42M5T474NZ9785MRZGZAFQQXOCG1VH2ZQBJXZDIU51CKXBVQF6Z72NCY6S7J7IGUJ50660Y1DV9MRY62EOY1JNZYML64SDTJ5JRZ637WS573P48DYW0DIYEFFM2JHM5PAESTRG9TEEITIPYHO3KGGSHFL4W0QC51UE774KQIJY6OBHD26LVQ04D1PFKDIJ7LSNVWBEMYCOUVHOAY7LO84ATZG88X0115X4QB86OWII9C8I888C4LJ3YZBWAPE0L7NI8XEIA4TPMKH5FSYCDDAAMUQYPDQV79VJFKBCSHRBVZTCAD95A2KSBYCQQB3U66FI927R1TI2IKUAHH8TL1F6A4OPPFVSH37ABZ84EUSZTPVIZCU0Q2OJGJW6QULB7ZVRJ1BOS1EJOH3DIFN3ZB879ODU8T4T0E755HEDKEQ3OFDTE95BNWFG3X8W4QE1ZD6S4R0DOTMAXR3O3PK5744ZGQ6W1BHQB8PMK0NBK28NX219ZMUEX0JJP1ELL60H77D5DD9F4EI62CB825Q3R2F2PNX4K6EG6WU20P9J6OFZKZ8O0U1F73QNTVTY4JR8LAB3KJ2J4AOOXG3ZKP6JUYXL9V8G6A5EU9B5QH6LIBN7C1YFVNQB3NLIQXXQATK19GF3J5TPA104TK15HGDRJMA37S1L1EL0AVE0SJGKNOAJTJ5E4B5MJ2ZPS0CKXUYGRG0CPVCCTKYKRTXGEEFME4MV5H71OGY34AAI5VS92KYENP1VHJ7O61614IAXSF1A0B2S58FVPWTUE1W2YZXSNPK1ZGINROO8GTRRAD0DN92N3IB57PO7X04TC53JETA64IIP4J4JUTBMWCILNAFUEP83LD9DOQA5A2R4M68BL9YLA16LZMR67IM1SQEU8ODSKXOK1CU6WB5HFO7M58TSBJRJFU5CN7G5NTK68EGUKFQFSQL7UQ81WXXQMXQFJSGOKY35VN31FAX20W45FSE7T2PHJD9Y2VYVCHY4GSVV42ABFG5GAG8YO600RBGFFBMEPO1ZE80X5D0YMIIVA8MYWT6ZGSD6RDHGTCIC7GE2C0C0531WZ49QOYQOP7GQ div 36#6RWUXP0V36UHF9QUN7RQONHIJ40T3MGUVNF81XNIUW13E07011BZUKG08MX38FAT6FJDCE16TD4C0XD67DCTLPCIPCIOAPSTTI9SE3LA89RUY4LN84P6D9Z2BUJOUE7B22XUX092K744BODKY9GDH33X2H839P4VBZRK63R2LRS23F5EHABS4MPYUITJ4IS0BK5SMF81R1DCWFNF10GV19FLJMFLV9COA4CNY3B1517E4JHTUF5VD47GF67531F3TAFPLRSSP5FDSQAP07X0SJFT7PWUHSNXTKIBENH19YJ78M4E90ZD7DT1CGVQCUZQCB4AX6UH64U2PCNU09A9D7ODPB8ZYR4X2P4VOUE2P64A5QCN9R5WRAQCFB491SOM66SH56WYLYABFZ96AQLIYATHKF2S6NQFGWM8TKSB03URCSFCE314DDR1XEDZNMWK5G1CCW7GXYF6ZPTP4TUSS7J72EHVQQ1BZDTQMZ. +36#3W0H3NYEF50W66F8N842DYQT8SNG0N729IF3XSTKTMM2F63RMGJ3VIMSUMN8BU3X6OKP6VUKEGLHVRYN2P5THRRPFKY0UEBNJC11AQUBJWH3HYLZSPYPH7UEJN4I1CM6AR88NDPILOVOUWE46DGZC77MT7Q7CGG32RSLR9RJ2RUV1SK6WKEKVKMNVF27GH2KKSGMB36G6MT89RPQXF0X6YT4XFQ7I52BVO35R2P8SQ3UBH8QICF5LUCWRS2KHC2Y5INHJX4DL26ZH6W2S2FNOPGUE8E6NRV8YVDGK05062V58D7JBT4T1LNU58AKJTLX5IHY89SOKOZR0O1CERYIPBXLMOVFIW10NLK784MBJ0XUQKR1FBI277WD6LS9F = -36#3A746O6VR890FOAGEFUWGG69A2OIEQCDE6WTQ7HU786VE45YYP92TFJL3EXRIQG4US0JJ5SOX9MZ7MXUZ5MDZRZI4RKNY6RQIYHH1OZRM980RMMWHV6CLPJOBZVLSLGFKOD4VS0TJ8PGNLF5L51MOV5CEJYEZ5NEHB0B7B960IUJLXLDZKATDH7ARB46SRXA2T0TEAM8JFEW3FKJ02D883OH8MO8GWYGEE5UXMZXRHHI3POFG5KS9HQEOB4PDV2QTWYX49USR3EGR815BJIBGD8SWXHQZDAZFZY7LQEQS70KBOVV4U65T568TIBNUGGZ2SX5PJZDJ7OKA8Y6IVSICNK4UCIKTJ3X47JYWVUB14ZEO6BJ19BM2DQYF6Q5KWS2FJZQU8X7F381E472WGRXR9I5LUEE9YG6KP5DGZBGX72KD6NPFTP0QWM79RPM2T8JEEXOXMAQSH9CBY8HMJ0OPVY6PAS5D2EHXXTAOYMRZ6WAFLAJDRQELZYI82KV4Q5EW7I9Y73VLS64MPYVE5WA1TMG0F2Q9WDKTYG3QUJNPQKCAT29C6XTIHC4B2QKHHET1DYGF2AD1QWMOWW9XWPSQEFJS16V138Y5AM7NOMDAY4AE1JM5141CHXMKLPTS6JHIKIR3JMBTJ364Z6X81YN62KXZ0LB2VFCKIIRFHF1XDS8ERDTFQ4VWYHK98IU6TJDYZXXUZLR3K823W47VCHY8LRQ4R div -36#UE2I8N5F8ZDEJ0AMPMC5VJTU3XSGAYO07MIDADEF6B7SFESMOQEPV74BFAVMAB4YZK6Y8KWU0HT27XUIR7FUK4LUMQMJL8VRZ5TL26G3Q9686ODYHP0Z6B2FKIZIXNQ84A9Z0BC1HFIZOUTECPTHRZTLNWYRF2CPC378O230BJDGQHM9S1DXVAMHGZ0DUGW66QZGC5NUFZEKVDVS12JXXB43CWAUZULDG46Y4GT5KPAWAIFYHBWR21DGUK5XGK0TPCPCJW2YZZ8MKISW5A97D5PHJ8ZZP8NFMZ9SS3BNUSUC9FFGJQ01IYQ5AFKHGYMJ87BRIM44Z0ZJVHJATVT7P5263YF6X. +36#6IQNBKVSVQJ514BDOOFEEI6LONOG4NOUCZ085M18YNV15EGOGFT6MBZ0259SCEC9CG5T3UA0G3V61LQW27QU5K3SG307ONAR4VZXNQDJJ6WM7VY5FNR4YN5EL7JL0HWCDQ5QMIE3BWJ8CXEW2T66AZCGCKIAD81QHD5Z1GWP7H4YSG8PIV084ZEBZQPPKAXSCER4FPZ7RCH2LFFZ3GWIBI33CBV8BOANFPGEEFCLH57KGZVS2DSCWEE87L808JWJSAVY01IKKYF9PQWQCQTN8THEOPBSUPSSSLJA2VKCIXT3EK9M1F60FIJ03NGIV3VGFFTVXODYDN75Z1T2MJ8JJFB7UBT70AEE9J5TQUQWMUYJICYAFNQBPAJPY3UDJ0IHJTYQVJAR4ESELXX7PSM3FYM7EAERBRYJP9OIC1ZP71P9SIS74T2QJXKMSKHSA8SIKM9S1XHGS5VCW8ODB93LGLJPADYAZ5M1V07YAP5XN9QI404K2QDTGKOKDLLNZLWE25I3RTSTC6VOCAJ0YUCWISUILYKS0WUTDUIOSQ13RPBEK1HTAWTS91TX8XR75UP7FCCQ6EF7FDNXE0K5VUD9F82ABJ0RNBZ1IZ2FB6GI5HXEX2PA6NDDLC8PLCZT2TXQMWDDGZMVJRS8SFW8P7E01R3KE6A2S23BIFRB8C9OZ6YKT7DT2UDT97UYPQANZBM8T6NNMXAFMBAXJNRBAA1UR5YECMADZJ92HW2YGOSJHQYFX9N49FVWKUGP4PXIGX921WJ31L627N0CN8CATULSRYKMTIMRE3LHCS8L4VKJBBLJL00VQYD7P6S5GESE = -36#1RG3VDO1BYUA0BLGUM1PHKFY62ZKM24I44JF31HOIF99RI7QQ95K7MUGB9ZQTJA2RQXT508H0KZU26XB21T48QOPZHGV9GSR2BY2AXYFBYDG0GV3OMG9ZYTQFBHZBDF28MHO2RKG79QVSUTMXNWJRA9Y9O2EFJ3C57BRKPR7XWRPTVV4ZZULA4D34KVFX4A8PY1FUBU3JSLUNHV4V539P6E6EBFAAQ5L0DYY0WQQYQGRPF422NGVMKM9U7KUJ6DI7E3DTZVWY1RIMULANP32XP34UWQPVJGTOPR4XUXRDBTDWUFA5RB9CVJ209EBD24A73FJF64B22XPV4XU7PGUPKDTON1E0CXSX5C6SQINEO07TPSF6BFVEGOLXMCKGCZS0B1S2MGQTQZ2J5YYJNKBUIL8MGKDXURQYZIP5WZNFQ85W0RHCWSK2FT1XWZQQZNSVV57ARX2CX3BSO3MGN81L0FLOTJU8SRJ53LWKJMYCEMUHFKXTPAJ0V7Q0V4V1WL4YLHX3PPPN1NC59QNVXCTJN1WCNZ86EVPDJI2T0LFETD72SIMSQEVQ47YTIOGLM8M8MCLQ94UAW7CHGY2OZUQSY4L5C3N8NE4CW9QZ3MNYIIPFGTM31BK96KORPIVNJELHGOGTGM8OMXD660FHH70UQCRPK0J1A0LVNQT0CB3Q24VF4UOU2GFT8OJA7DMHCHORBLXIBOXKJYD1QEUN7BRZNOC5WGN5G2B7CY2IP391U6GNNFATX9ASMD74O9P9MSHFU0CN883WA768EZV9GTO0185P9ZYHE3SHOZYFR7B18YZ6E50NX1ERE8I4OA98OR168SS6CEAB90J1WM2QDHJRNOBZVK9ZYZV8G51CJ4VTEA4DEFE43XKJDUPK62KXCCF52HGS9RI4C7J0LA0BJ1KE3B2JDVD5NN4R6WEJDJ9LZ7NMFI3IEYWBP5FCUOWQDONMSLU5N7UMT3Q9D4GAD42CYK2JJKDU9TKQZ937AHI3UDOP9N8L0XTZAZUC5FDXAEMS99DJ8ZNDNM49WLQST0OAQ3HHLSPWMF219XEA433ADROQOVJZXJUQR72UWXDXH21F3PHVDK4J371Y3KDNP7HBI9IPUAU8PC20XMAQ10AOZK1XOXH1V1L1MCR0WJVNE9UNXOC div -36#9QAJTJ0O6K6SU43C1L7UPC5RU6HN7WH4CAUV4OEDMU4UDE1DHI828Y7MS8YVRA8QLEL6GU7ZD18Z0AYDHF5E04GXR0ECZQ11G9HSBVDIOC3VR89W31W88HIF7ZTHG4ZYDTIJCSMXJ3CY07ZVUH2FA7YAMVVCRDEBE0UASYH74HTWL09ACDWP6ECVQ9LMHLNHZ653J2XN5RCJZXMSTF6IHYWGX124Z3XPDCXS6S3G42WLC1I5B1AXQTR1ONGR9F0W8JQ7ZXFK8YYBGUG1CG9P4SGB2SAFNF8JLVKSECKLIBNU3OVGYE8JAIIJX0HDK5SMEIBW4ON6. +-36#2JGOT0LCPVN5HES3E34J0G76UR93JG9N4T8TWGJXTZ2A1ZITPEO2CO40L1MVSTLDSZQB7OJKIL8WBARNZYYRDJGTWIXCML15G8G75AF7QKIJB94RVQDQOJHAYEUOST22BP4FZ3IWB718UV8JRVKVSFIEVOK5VM90RU75B5FEYYIFC2PE2F56T3V4SGSDVBTP79X2PG2NMQGGCS82FE9GALD6O1YHB4CTGXU6ZY5EF1X6Y8JXJTSYBZRVT04D9J04ELFCOZ8WH0IX4LGKQTC7DUB = 36#8LVNTU2XW27VA5J6XRIB23W8TO6JUHH8B0QOO02WYVHL8L7OQB33H6HSPC0CSBXEX6PXOZ7LGHERIOSTGRZORJQECH79I4UFFW5EXE1OMLE6F82LCRXHIEH4JOVPG5M13I9DL88YRCT4MTR8WBC0B4SF3F4Y9G2HVW6QLAKAOT31YNN7FPUGLLRFLYLTRU24H8ZBLBS2A4HGT8VYK3PA9PDC15E4JIAUMLX06VRO0FVADJ45N7BT4MN6NWDU9GX1QHT36E0WFAIE8EQCV0N108QQ3YFIZRH7KB78A3NOSVSZG7U5QWM51AADY7OPG1HADW31ECDBFT15CDG5EDWWWRQ6EZHCKF0LIZ950AFZ46XXH1KHVB2JA1SAAUN36A6PFOA8UDU84QSDVNRKWDAJVCGST2VX4HVENYEGR9FDMOI9ALW1D021AOTMM27VO3T1DYUMGXRBQ9EPLJGMZ2KY8FEXHKEW1OQWZXWT9HJZZ8JLKT5M8DFFKPSB4I6P17WKOK1WLUQ75TY7VKZ8GWEZOQDNHHP0YR0ZQ50O4BLVKJBKCA42WEFG6A1S9XZOVYDXGCCK3MMB8BYU0L68MTJXDHZX20OA0J3ATIRB3KUP87E65EMEDUPHZ802BLD9KMN6QT3TM733ZCVOLXULHW0XJ99JEL491OOKMD42O6ZVLTSZVBS9FA1E65NZAP5N6I6K58F9DAFPQDIPNGLL1QOPHU6ZM7BXLL2ZC8FN471VWL45J960QGZ36EAG3UEBEGD0FLWY8EJ7MYJUGKYGYRNSW3HTWLO058PJOF9S9AD224JIIRZ9XP19F338H1ZZNO52F5SP2HGLHY2BDKMXJK6AFKN5ZPG280U73UWZNEF1XEFJMVCVKRSKDDY3YZ6SO9MTMK3H4ILY2H4LNDHU0I03U9KENLSAL780RIZZ48YTS669TJE8B92W6SOZVIDG00MFW6OASX9AVKRBSNVYFYOE15QI3433H9ZV9C5Y2RXHIXEHQBDJRZ0JYAL3523BSNQK3UKIDL5FBFRNXII8D2IPLVG3W7ER9OGBEVU55WS0LD2M7C3N1M8SX8QDT3DQ70E9BQEKRU8EU24D4RV div -36#3DYUZ0PBADNMQIBZQ68WXDGPTX9IGSM0A2F85EVNQHEVIA75RYMFD8UT0NDPI1LWFRV481LNEQCLI5EV179RJ3O509EUFDKW7Z4F8SMGI27GAFFFSRO5SNAKE7RDK947L2TTXYUAFBAIITK2WDHFDEJ8GPPLSQYHMGCMVFNR0K1A6YSSCI2FN02Z3FHH7CV7D9BGRSIP504UBT7WV3EQFCI3WHS49A4BSW5Y2G3D69925RYZLMNVS58UQSIK50PSGBAPTFSY5S8E7TNEMVJKF6GZXHR9IIR6YLS7JKPFK70NLEL1P3Z2FK4LT4XKRKJXUFWZ7LU3WLJZR208HHV4DG9TL595CIGPGF47K4P8HQJWMGO1UHKKZBQA8EZI5OHLHG2UF41D19E735K3DE2NBBK07CGPDDXVHI80CW1BE3I1ZZF9Y5OTEBKP3LDBP1KCRVS085HMYK6OHS7GO1XSV3FYSABO1WOU9JDIH9G5R4N7V0GVDY6MYLVUIPOUSF8R3I59KVLVCZF9X903QSVH2O5JQM9VJNWDXYJJHHZO1YZ9USPY00Q2JN49O4TITNM4CICLLDS4SMJ5801MZQR6CYT2BW0YCQGRVEEIXKR0YUD8XVNPBLIS1VSFW6I87G25IR51WF29QBQRU80QGFYVG9BQ8EI7UHESEO9B81UOFBXZ0V9MX9K02EQR81CCHIDQ7KMT6PFGJ9VN2F3KENH01QOU0JPDYGXN6QTY8JR7QG25M4U1CX0LRN4BFCRGDHANHXURL3XU156HMMIV5JXSXA8EOD5YM3UYR6QPITIYQL9JWWKJ3NOVVCMBT. +-36#FC6SLV5QQILVGQPO3XAJHOAPCYGPYF5JR0YUVOOKBW6VZCXJE5UCZ2Y1HG5YC51QPCQCY18SCLDYOSZGOI7YGQH5QALXBLKGSAR7MYUUFREM2I26Y9FXZ5PYEB6I2QQKD7CBCL2ZEVILN4XX1O4DZ4Z56RHXTO54O8OKGY6DNH0DNVTDGGAIDC6TTMROW83ZSJAVGJU4X1T4SW9XQRWB9RHFHWX79HUVNTNFSVAIQTV9A8SFNM9JRBIQW83BAAFN2I17KDDAT4NGW8PTOSI8L3JVOQ3XJ3BJZVXTA7THZ8HP8R9C1FGXCXJ3WFDL53SQP7MQKTF2RBBIDUJJ2FO8XM60CVO3WNQ037LALK55PO80TBDGJ5PJ3ULJ7CM3NMER9FKTG85EESBEI4EIUB50P4ORDYZZD5370FPRRS7ILHPPCSQVTVGAPPGY742P999K1G58HK4QOS2A4YBIEA99KJYOCML6J3X8NTQTKOMKWDNYUGXHYMHBO6336R76RMGMAT3WPPR1BZK8TB1J3RE2Q7HHZWOASEVO5BDKSQ3G15XHOAVSN81YSM0PVH86HDBGFW0WPLXM3VRH4S6TWJHIU6B99IGIW36AN6DQM49EB9VUP3WMWAE5Y0XVNEAX1719SZ1JE6Q2H9D4SDGTQOCKDBHRTEINW7F0PVK63HXCNY10FXPNR5AVJQVWK8EAA5J1TE6ZWBY43S1L9CITNORRI3TH746EZXY6DMCVNIE8YZ5E2G2MWXOKQLUUE19EYALAF34J0H3BYS3WC1XHNYY9JRDV51T3PII4BICIOU44SJZNABZ1X37RT5FW3D1W9V6J9UZXRPJUKP25RJL25L4DGIZ37AG8E7CXEATIHT3XKK4ZHZMSJ0RM27MUWWEPZ3CYMG5CGPELOFVBEK3FGXWOSD8OOTF1NPK2VK3II9S7FDYNY4JPOZKP3W8SBO3Y5U1PW9OVAOTMXXR9CAK7NZS = -36#2ZQROS23EWX8NMV24HT8W2TG69KTK1RMQZKOW5AY55BREG6S7W * 36#54I18K9GBXFF5SDOGBFASBD5PO03Y454J6VZ2CP8OW1WO8ABU1VKYUQQV3QRIORW8QQ1HYJEDTT0J6PRIEYLQ5YRPDWOJLIJJWG5CJO03ZSX61SRDFRZATAMN79IPF76FPVIDM8MA4LOS7YQSWO0FDRKC911UGWKY7ETCA0D730M48R4T96H6WNAGSYJKPJX32BC5T0SMK6CV1N00WT0XPDOL6DZIAPVGVGQIS4SFQU9FOFUXDBNVUTOMTB5QLR6DE2VQ27N971X7HVA0ZHYYB3UB4SOM9BZYPK38BVFWWDJC98N0ZGG29OP7J9DZYF8BLYV2ZPEA6FRRP1VJHGLUNVLG1TBJ10A1MVMYVOTHTONN8WPJ42NERVYUK5IY38YV3RKXDMQOFMF8UJC35J7AWV4ML8MS3ZIJ93OPCI4ZDCDHGGO7OTE9EDRCOB2QX27UCSAQ4KFLIA0PQ7K89AC8FZSGWPVXGHU7GBVJZ3VPXIMQWCJ16X877DZ4X8W23RGA446341PQBDP0R9DG2ZDWVS9VZY3JDLATXL26EO29PYZ3WN474LCT8ME4H5GLZSD522KUQ8EIAINK2P2M14KHI6CXO556FTIKJTBG8TKEPHJO15U9HIO6AHIINIUT44HPYQR9C7FFCW995QZOSS290U5ZABNDIBZRP2IXLSFCSPXXG7G99SYHQQFMG2RNKBMHUTI0ZLZCQB3XSIMS909MAWMSKSN3R01YSV08AB2FIN3N8AFR6Q94X2HH1GCIUTLA0X8KDUF3KAPB53AC313JL7MIWUF9LWCFO1CCHBB79B3S3EJMAHTDHNGG0C75Q30VKMXXODRC8JYDVHYTHNQKJ3MBX433JD1S2I6QUMQ5E8NJ2WVD56CJ4GR3M7CU6SI1F3XMZVBD4ZV500U7XUX0PTMU9JY8K7P42. +36#1PO7CP60DY02WIXLCJJQD7G40H57838WLIDNWCSG7BY60BFY4SECHI25WATA1F0M8D2TUD1HCFYKHBZHSM4A546503PXUTWNFLFGP9MJ8VE7KRFJ3CLHU0PQPA86TXV2U64C1NS6VZBY1Z93D721Q7IJ8SGLOD3K9OABQM0GIGUO8CB411A1DBB4920EOM8SSFC3JD1MKMFO7U25NK5WF9GQAKPUDE4HM5EJ3FO6KA07PAWXIIH2CAXHV447U7DJZZVFW7N6VPS85ZV19DEI3EP2EQVPQKRE392OL4DALACDIM1RR54JSAT2GAUD4M7T0M6P2HPV65HDIM6EQ5WYR81FHUNN65M6XRCTS2R1JHCUNCOSZP1QH0BVF14MGTVDYNPA3MQPMETXQF3S18G3XQGMGGHOP944E15XN66PTLUY96DR749QTR4A23N6H3TDX3NQDZSTVB13EH4Q122DQPQ3HYQ29MLGETKZ62XTLHYOZ03SIYR9D3IG0TAGHPCZ3T7VEUO0BDGBGMMY46W897LLCZED7HTUCYWX0RLOE1TJXN5DFVFPIREBZRO0ZZNXXTZF3N6G2HB8V4RANGK63O3KDWRXH3CAHWNGI2EMQ6D0TT7SGZM5ZCTTBHQ7YMK8GVBH049CBH15B4FF1VCZRB6WA9Q33JSMFC0DHB6E16E83U9XIIEPEC6D4PY3LDPEUMAC87ABPXO0O5S0J61QM43Z5LH87FWBFCBOBPXOPV0DFQO56H8CDO6L2VFP5R50MTZMZ55HFJOCR6FUTTY3UN0SMK5XS2E9FQPS8KS7VBRQ5W8KWT6NH1THRUG96FZOCWBWGJKSJG0Q5L0EKAYAHMTBVALLXMST3FKIIRC872JSP4XSPLG6WIQP79B40BQRFPTCIB59ZGL5ORW0LNAAJ29XENX6Y86JY1HI187VKYXTD07V6QH2IILR4RWYWC849WX2KHC4EXGZGN6HL2AO9ST8SA0IZGKW5IEIZEWIMOZG30TPZ0QTX5V8704UI5IXXG6R8IMGA0FXCWVQU3VV0K57BJJGEJIET4N1LABO8IT0TKJ3ZBLF44S8FMZ54H2PMUYWVLXLYF5KPCISYICLFUTUBCFBBWSSJF055BXSE36EPIXPPH4OYXQJECJAGAKDX6AQV6GA0P7XRXJMB0EZ9L7JGVJHLS2X2AGD61FI0W3LASM1570C6U0L3PA4FO1YBX7HGZO1YGZ9ZE7H5H6YT2FD2T7MTLXR4UVEV0MYQ16I348J6HVQDOHQI97C8QBFK3AD4F4Y8WFREQQW4W7R3R0JD2PAYAKZ1EF2BDEJHTGF83B8QON7JK2IND7JO0TAJKPOCD8X7F50MGCSLVMXCAS6LCGBUOPOKYYMM1EVPB9FGGVRVGWJ7B41SNT9G1L8USDLBQ32P5VQBBSE4SID8TVDFD04P95SXBRP3L147PUU5OR8GSVR0BMOOLZ8NLFD6A18S3MLMGVQU607C736BWENLD = -36#KC1C364LT67GA2KT6BKOHUWJZZO062RXSC16ULYI93PZMMGFFOMCB99OP0WB58ISGSS1LD5SXYE8N1IKV8Y2OY7UH4VBQGFSPRMPM0X1NP23JTKD9XWP9JEF8UVTJ5L77VBMD0LC34CMLCSK4KIHDQHGVFBNGZ4FFWQGZF9Q9KP36JG6H33BGBG7IBN4A6HU26OAJ7ZDNP6T5F5LH8XSX3QGDG7IR36FT9CHPRZY87EZJFNVS9BMC515TH6NLB73XDZTGCU4N12GHIQ8H0RSB0VEOOEACONZFBUSVNWBDG3C9A76786LRCYZR8WP5LH8H06SIAVKTEKNW4UC1PMNG7DZPF8AALTIETDMIBCN0Z4EPNXLW45TD5TA23RO687ITZZIH4ZALNTSCTMIU1YIYNR9V0M05RMO4MWGE8JB7SG5NQG50A9CJFOX4986CCCS1R51ZJ62U1ER4BGF3X70ZMZ9XJ9IS5DDTKDK9DOULSZ7YQTC30TIWD0ZFQ9JI6AGYC3D1FYSZZ68LTIDGYIPEF1Q7HIF8802CBTU8L2O7VPCL8WNWNTOLE0C0PVAP8TPZ4KMYPXEJNNC3IRLS0C8T8MLO2ODDRAAEWGHHG9E63SSE3TYGWU26H2X254WDK9F8XT8HLKPHMDWC669ZQ13XLUI27PH9A7IZGQVYA2M0ALD0C2PDCQLVWUP3GTXLG1OJZD3Y3K61TUZX5TH8PFK1MKP0JK91MN8CZJDUZ5GLSE86P0CJT9D80GRXN9XORQ7K7WM948T2952P969NTK7LCGQ5USD88Y3BK1BHNAUO0LS685L98RV99MWB0QVNNI4D22JS19UU7MQCJZDM3Q7Q6471Y0Y4KFSS7YD2ZBZJ3GVB616QOPNCAYTAT8YC2KAZ7UFBJNPHW1E0TGOW9YHAJ3PNBHY3CBNFKO7J7CW75T8GATHCPFQC05CS557NMNQVSCVAJSY73T6X6U517PUJKPEH5W953N36NX97SOSYXSLGLGX7QQ7OZVD7497NBG9DTAI8WT4NTUV5HLYSSLPDPRQ8TICNBV * (-36#316NJSXVRJPW1DWL26XJZ8ZF28UVLHQA29O4IYBA3TOS4ZCCGYJ3OW41S62T053EXFNCHX83O5OLMHX11RZHVNC6HWVR5VTZTC0OEIWDE4GL0ZIPMO2OL7BZA398NVWJQ7TWGAM4ZRO1OFQF1LWT3CIMPUGMX1O4B9CAVXAD9MTEGC5DHI69LJONG1URYJJZ77QA8RP25VRKQOT5XYW1WYOUR6OXZ4NG6BQPXT20RH3BVSPINXJ8YVFJ3Y57JQMJ9FYLZUJ6223YIKEM6WPW3DF46LIC3AX15B1TP69IKSCU52D3L28L2ZDJ1CEG62YPJ49BRT3B701DG2QYGZII26RXV7HUH6ID10B1NIEQOVBWG9BD6RSJUBST6OAWSPK7YZQNDDU9JTU58ON6B0ZE6GH3TZZ4U7RE72JM1T77M3NZZ2KN860N4O3QQCJ). +36#5GPLUXW8OHHZ066MFZOOZVIV26P25E50E5STA13D8RJTIWEV3UNNZDAW5859PN5EN9IH53D314FZ8WEESD8B4BQ95U2SLSPPG87IQNY959XTBG31K5ZKVQLGYBZ8MFJ87755K00H9KKHC1U7G2UTVE3YCXW1D8T2EYKFDKTEL384V1FZ4TAJ69G45JHUX1L29QZFI25DEPN2EGZGNEDH3ICYR9JTLJ49UFTOKSAATJ72AX694JVGOL87MHVUX5QCEBPCG49XU8B7Y3PYD11XM0X5AQCD447SRU92893TGEPNU3RRK1KOYM351N8ZKOVXTYJ4DA9SRZ9TILYFKTM2VPGWFRXK87WPJ2WNBAP6A7BBPZ9ZWTUPU468A5F0R7OUIVHDIE43GXNGIRH9E6T57UH8T81G183TLRDYP4K8P0EWENXML7RR8IIZS4DEXKDL2AALXUJPFAZY097YSH0217J2XK3YLC0VQEHO13W399LHTMW0WA3HC4760QFX75E9VSL6OSP025AH2U099W41F6AAD03UK07PV7W6JO0PH0AXIJY1HI8BTSXB3K58NSRZ7WXNLCN3KUC249CYYGBVGMWZSMFU8688665O9QV7Q7EIBQ6O9IN82L34MIACSYGKBW7NWF0O4P2LGGO2EK30MP7IVUVJ7B00G7WC6BR1SSNDTR59KVD3UL8UM9XRVCUNA6F5NZH032IWU671YLQ0G2FEFYPSJUC10MEV8WOEE8TPKJN6OBE4SOXPEGUU3Q7FZ8VRCRIKAWDSJ7QHR3M5R51KKEYK2C1F3R8BDDX0P933TQFT549MQ15MFTG73ZYZ95TSWYLBC19VDN7WLA6JUKCIV5P5S8MB9V4PVOXL5N8J42B7Z4ICF6ID0VVAYIHI9PBE3SX9J5UIVK1ZO1RNV0NKRQ6ZM66PJXDXBZUV11TSCDSG6FFSN7EFR098LMH1M1QXDITWA0WAZTAR40ETAG0JYKIQSMBFZ6JEKX12LHW3NF9TU97BFFK9VA89I382J6Z9RDFAPKO70NUQ1FLKEXL5C5AI3PIICQJRP0ZIFAE6M0780USD8F1MCONKHDOLF30WVHVEUBK9SNW5YD7YSP2PD0A0M02M818BPGVG8Y8XMQSKN3F1SXX5RSQLEMGVSRFP9XGWDNB7E7C8UOGZFEB222F = 36#XTFF8SCOZL35MNPVIF4G19GIRBZTJSUQST24HDR4LY5DVCDH99XAJDU0OJCJQUUVE2HN99RYW2OEZBEIGKFG4MWAS69OQ6LJ1WQ22PVCM0U7BW23NO1JHGPMNX1GQZWTIV69P649J90PJASA2L4S588V9DJ34G19F8TV0Y94FUYE448V2CVOADNDN9HL4EHFQ907G0MM060Y7ECFXBCBWKJ9JZO5BGQ3K9DQXLL94I5L7KDXYBM42UBV54X8RNYE1K15ULGDV60VGTJF4SBTVI51RH68E4AAFCR2RY5IDOKPVSZNFF4RTTE73D2TEUM2COXQ7JNN5LFLH9KODG0KFIRJ16HOI7ZQNPZM3M0EW596HZEW4JJUHWMSNGTCZUKSBE2X4CUM4VXISA18POCWAEJOIC3RWNEARSAVQWANNLI4BQZUGKT6BRMYV0WMZAGENOT1MYQEVRZO88VI98K5MY15ROIZYR9KZ41E0YW741FXEWUN57DPKWIJ46Q12E4J7O27Z9FQG06L3T80YRWWPTWXFY904NNJ5GOM6TCMNLJ44IOSPS8M7LPKM9B0AL30U5S0M7NBM16BTKB4W59QXCOJDS6LKC93WC0SX4FYSE153AM8VZR0QSDUI1C3UVQLTL3ASMJ6B9BYRGT7SDLFBZFRZUTUVNZFI6XF635N6DFTPWU5EJY79PXUEATBGC3LU2XE10XVEGNTO739XSX5PJ9J43SZO2FJQTYJQQ1IZS2D4UVF6110390OWHWBNZ6LWH0FRWPXFAKVGJFZHHUTQHOVDNMYCT424H3XQBG38X4WBTON443OWRIHTKFWC15RB44IE9MOM28V6QYF2PTE1MZSPCT2VU3R6H27QUJRX9ZSKP8QSJGG9077CL433Q9XIT8V54Y5T3AZ2JKY5BEKLA2NDJ267C6NN97D870DAU04JFQTSIFF8SEG0INVFH9F1J7SXP1WNRVYMLAJS7GC4ARHDPY3AN8J91Y89NKX7LBWTQ1DMDU80OJIIK7MBMP78E0DGIJH04PMH3EAVFUNVSHA3N0VG6S07HNGIT8RTYDM5A4Z3LVGOUJ42ZCH9N59WJJDATZ7OYHTFUZRSYNV87OQWBDVRCYVSC30W3OXXZI46URMJBELH7R4VIZTV81B15U7LCWI35QQDB29YJTY3RL2L89XNT5EVB0S0G8WIZ6P2VRR7IUWJW3CYMD9XR4J3CUBIXTUB0ELW240819ZB51JUTS7DA9FD0T3AIRQBXY3XK1L39D4570580465OZCUBCSIQ0XX9FJNLF97ZZPGCOVVTWT5LNSN6OCGEWKBY0ZD3LXXEVXTKA118R4R3RICQ0NMKLTG5O8VIDD1XX1F1ONTCIHVHLP5YHWAWICLTIDCGF1QOME53 div 36#66STQS7NXFQTPPZ52PJZR6G8IDQNCY0PMTSR1VP2RPAMB46NO7DC9SI4MQIKHN530WYG0N4NP8J3U6D80O1YAI2VDBU8NU7VM12V3HRTVVZMT1IMIEZX23UODVZB650OS2CWNWOZR7XHLEQOQCD01RDNXOW5O7CAI83M2N8MTU62EXSFYHDILHWDUTKY4T7XYZ818NY2JUAKLPXIDMBSBA1SB10H. +36#1Y6U3REB34A98ETOMVE5IICNVIMLFOGT4DJUUUTQXNN1MNOQTB5BGGXYODMLKXWWH87MWRDET128BVNU6CSU2F4Z0TDISITO2ET2G6898AFVEGHO06T3LKY8HTD3AH39P80HUT2BA0M6IE4H29BHBT8VETKMRMQJ1HEWDIGK479WI1P21USOCNEBE6QSL59Z56TSL9A79GIC39B9VCKQM4ZHLE55Q2F171VQ3A6NS09DU1YQQ4WM85F6FEIZ97UGR17Q5ATT0NY6MD5WNUQCLRHAT5TMIYU2EB64Z699EWBQZ3S9Z00H86W349OHI26LFX7TCR92YW6KQIJFCE7W37RSJAEDS0BG5BJNDVUKJ6XFM3D4V9I00TFOS9URVM376C0GGITKCUESBNJCAL4EAGGNPVQYT0YG9NGVFTN2LYC71NLN7S1PR0PMICCH6Q6S9EWQIYXMZPLYYT3E8ANF2HSA02D7B8C075172376FQPZ7MXP7DABSTUY9M3VFN554R4B9CHZOHRB6A1LTHAB1L2TIO174J2IME7G5V6K86CV6PX7I6JU5YAHLMQO6F3EEC8UUKAYZX75LV9QM0B2UQDEL0FMNIEPTOV6W4UN9AVSSJTM6EH38PDKYS8O5FR0VZLD20I5TG913CG4EQVCF5YUXFHVWT98O3X4LNK47N851YIT9J3MGKKMOWSF17J3TU7SX9IBDSC5HPDXFJI0J01KDD7TCF3A23A1QFHMKMDFMP6TQEFTC15R0LA8TRV1UY6TX8R5I6EN7P = -36#38YUMKN51845MZ929S84YUCX3F2S33GZP9IWY4996SOYPVTTP91D05KHQ1L3DN39S9KBA1KMR3SVVIKO01TOE6JL32DE986V8IYG5LYQ3S12ZD1122QUUQJRQRICMNME40PIIZ5FVN7MDG4DWU7JHQMZH05BU057QMQ0I1L6JMGRO0TJAXKM2KAVIR6FDAU8G2J1IZG90C9BFH125BKEB18BLJSGZWOPWPUN2VP8RZDP0PQD8LLVKY4PZ79RNZBMTIAG09EW1WTY3RW350ZTFVLVSP39V9PWNUMXCI5O6TJBULOL1KCF2GFI8CYEB73U06DQIHK76U9K8GBJHF529NLZ5121QLJP5RITISWC1GIOTEPJGBM01MGQG1REQA1ROHNF8NLPU1H1ZAI6SM2GA0DG82TMZIVDRIBHQO0JOD5K2DHE6J8OG2R6DY3JU8X0Q2XMFXD2TYPI3936O2J1F9H1RYZ7GHJQVFQAWI5L9RNH2THMBU8B4585AKAUZVOTYJWC4B08M1YNO5CD3L25WH0L0MYGP2HUL66WZWHJUEMI3ZOGJKC0M2A41FMUK54O082GKI6EFK7WDOXLY2486003LYA5L18FTVXA1MEV08B07ZEOXY527IKOX2EF4PRPNGDWE74PK5JV0MGYVXLRPA96AFLCPZX40DCBDTRLR8PVWILRZX0I18H593AG9L1LL7W5GIXXFU9JRQHCHONOVO51QLBT3A4ARG5862TYYPMXAT3PTBOPG0P6CF2DRSYO18HSDDZXR3UPYPKHCHIGUNCBJREP8ISSMKZTWU5N2Y42NDO4QEQKND120IO81S428VQS4SPNP39L7K92H5EWDKUZM0FJNHA13Z0KOS6YJ5EIA63VXXD46SQII4KWS0U0FO5OZTJ9OM9BINKF6H2YV93IIC1JCQF7A7EU9WNP03VKYF0SGNQRDR0VSN5YQNSDEAQL7EKC1LQPCGUTA2N973TAY725L91S4VU54KNBACVAFSNC7B5LZI1YSH1V5XZABH3J7L58UW4G6RB6XBFG7POWLXGHWL div -36#1NZPZ2U5LAKU671RZEHZEB07CKUHSR7AEIN76Y8AK33ZYQ9TM87QFEPJPBQ28E0HAC34TL1VXBKR8E5QCJIRT32QQPM8HUDFP7B685O9GJB59H79MXF6KONAHP7J3LREDV3OND289MPW22N2LK41YEFZO7C5UHNCQU1OWX2FOI4MR58D1DIWDFWB8IWAEI4MY9KDM3SZ1N992CQB0LFXY3R6CSYP8DIC9NDXCAMB4KUU6MBG8KAMP5UDAMMKNOJF43D1K5Z96J77Y5RFL. +-36#1YCT9TLKI2UG1GCOCV5CFY1XYG9K86OTJOBFSVCKCWHZM0N6Z = -36#KN37AUDQDNWK3EVENUG1N4U6GCQX1FOIVG6ZMIAM6NKZFXZYM71L2P81P1TQTZ9F8XGGSOUFJ0YO1L8SXUCX6FCIQP485MYTLBX0JQM343AVNHE74E5KZXS15B8Z4IQE0BL8K7QWY7WPDZELTK7OJ0L3HIR60KKQT9P406UOB6JD0Z28R2L5HEHTL87FY6CAB8SVNNARV382TATT6Q53 div 36#AK85V5GFS6JKGVK37KN9674WMEBXL7AFP2ZBQ1MAU1CPAG81E9LEJ7SP9X2MMTDFD5FS4IFFUKLQ89M2YIX14J0GVCKHZKJK2YP97L7RZ0AF6JIF9DTBBBEELXG5GCLLWTSSEQ2LPJABWU5ICE3WDB6X8MJNGCBY5A9X. +36#2BOHNNKZ0JKHPQTYJGQMN904LM301SEGP1RKPHXMO1OPO518LH72WLGLCUVPOTJY9P2WRBBOBXA29077YJEQUZ58AC9ICUCAFBDQ0Z3BD88O36EV79WT5P942AUV0KM97E6ZQVY2NQXHYSHQSWJ4GP98UDDN2FVZ1U8GYIMHGLNMT18IX9FQKN24ITVHSKT2E3GNE1FZPC1PL8JSJKYBIX3AGCSD1ER7ZJR3A2QQ0RIYTB8V554JDM9MI76OLIKL9AXVNHBRG0JWYDQ4WQZHIV9BDI5R0Y8NTYJTAG8HU41JLSB3N3V2JZUHUE6F2XNZSKCQN7FFQ2L6488EINI49T26URJANVP1JPUMBRADCLZNRADHD1J6KK2MHPV9ISBNCI4U3Q2G6GU8GCF0QVE8EOD2X8DPLTXM3I6GM6Y7I1CO6D7BLTJQYDGWUIXPT6LJCODA9IN04KRWHAPASVL6RBZRO7I4I1IXS74FKL34LH54CVHR549R8K9DPQOUMZHID6JCJN6QUSCOU9TY2PCS5X09RQ4O47NKTU1WO37A61BUES9DS5O23NGWIV56V93U2TINHMKMIELDMWXCMN8X1HVKGE7D5LQ0HEFJWASYQR785H6Y5U17M6CHR5KNNEC056G9NVHL06BLOUTO5E92SJRYT5WB6OXF6OGS45LHST4SJNYYCP6732PU9NMBZIOPMMVW3AJMS7GU8NGIVCUT30P6LSYFC9QO46QNB2H337NBDETZOBSYXS9SA8FY1SJG9SGFDJJ9E60OTPAZUS4RC79ZD4T3U2T3ZT2YI78POFMH21O293V6101MLKOOTTR8HMTUFJS8Q3S9MHV0G8XFVMT05I3Y7784BXY07DQO2XNTUN93KO4WM = -36#557YLRKYR34DSXKQPTXNCAUAZ6O52SK5OYAPYNY1SNAK1ZRFB1NRRQXOEXFI9NV0UWPY3X6IK2X1ZCH5WFFUM8KSB6DCEZ0B8YZWMKVUGPBN0UA5I2ZQV515JEHZ54RFBU7ACJCI11PEXVRLUYUALUNTDFLPFB3GD81U2ZCSTW6ZI58SWPRYFM8R5XLMYDRXU4UAW3J57V40AG8OXY82ZS1B129UAM88LR76QLAAA7HFPVWXE2KSOTBZ6GOF4KCEYVLMBZTIQYJ5HU23YBJK5SNO64WVWMFVC3SOLV5UTCK5AY2M4V9BZEWFZ7UUHXGLGMZNOM26VN9YXKOYYUJKPOF9ATSWR54OSE0DJK2BRRO1UZFSZWIHCIX1IVYC9C65Z92VWWT28MC7RJI4MZ14W4QAS6P4UGUOH73PVGOQG2RCJX5QNHI6ZCQHH8O8L42Q1AG18411VNY5809JU1YR9DT85QZ23M2RH5JXUWJEZHKNILRA7BRCVS4W7IQ8UBLV3RHVC0NVD81D9CQZZ5DBEORTZGTUMGSZ1W8FRCNQ2OVIL9G40GOJA5JDN279320YSQ1OQN6P9SY8QUD93DZ8VGZC4BN2VU0W0GMDDFE85OYGRSYE29H4N899Z3I1KN715CZIUJ3Z14RITD33UFATZVZ0O0MFM7VUZJ1LMU8IX1ZVDFI18YXGQRLXB18QH4WKO3IPL8QGZEYG37NT744LTJ6R9SUDWFGIPKX9UYNMNU6QXHDV88Q5WNEG26TMK5KXTKB615SEBVLG2HYVKLQM6XXGDEAY1C9EGAW4KS0HXDHNXW8UHEW3ZB4N1B138MYOYSFH8MCY1YQ2XJEXUIOE1CAUR48DCNVWZBWSTJ38WBVRM4XK0EXYJUSQBTVGTB8NPXQFKPL9OC5RU12U6WABHT1ZK9H7E2BHISVGQKGKNSY71SMUZSNMFNAOTORLAY389AR7H51GN99JMG00494ERN1A0D2QEERVVXFMQBGCU1M8ZV5ELZCGBLZO0SAHDE3C8U0A1MNMWVZNJYT6FMMSRL7JFAURQRJA6O32A8MZAMXFWOPH1UY79JUNVL0OF9DBLV9GDMPGJEMS1YC9QAZ5PRN1EM0MNCM7IXLS div -36#27OM62NUYBWB29UCRMBGR3A3JYHN5AADOP5JKQFSGNDWTQFUH6ZXI9TF2K6HN3GIRVEHZAN7VCU1B2PY6YV204K4VC7WCBCZVFJFOABQ0T0ZH4NW41VM3M146RSXZ8HO5ZFE0FRLIAWC60AK4FGXOGDUIOTIJEN6583A9O7IX1YUG88YKN31XWYUSSO0M59UQTP9YBT3HLK44PV42XNJOTEB7NTR7HP1OBNEOTYG0P5LPZSG. +36#3CM5R1XEUTZIIYR6M5BVLT3D4KPABT73922L0OG4A22ZJ9RRO2HY57Y8SEP7BRQVD7ETSAHVPCSUT1KO7MDQVC3G6A8GSBU83ZN8PCSZPPX65W5ZICZHEM = -36#6OWA4AQNK6A6ZQTMLE9KARGDU58YNOUN2OW54A1R8ZQ3X7U8EJX2VAUWLX26AP7S6WA85L6IB6ZADSYRZSM3PL5QWHNK2EERRQ1L0SMX6HXZSM8OXJDFEHB58KWB3ELK3GH4X8U3CF9TTDTU9TZNJ6Q6QY99BCAUQNQ876K div -36#1ZWENCDV7ZHZ2UMS20L8EOAOJZ6I30OMCV38WV9HUS1GWKPY9E. +36#1W72P69JH3JTNFKGURGL8XWWU7JA62R9AY7562S2BFM0VIDH1IF4TKL4GAZTNOG64TTCA8P7F831TWUMLQDEWLXEECJNDICZU9E1VMB7SJD5U9FOKFN2I1YQX0VE9H8VSSFNBO43EHC1HQ3FRYWJOBMF3T9QJ11M3HEN6W4LWW6QMXOOISZQ4B942XT34WYNNYA2HWP1JPM0HUAFKXTFOGOXG4D8EDPCD5H25TAL8TSA0Z7QI7DZRSTIFESRB08TT0CBQMPEJYU96TT4P7YURMBQPFAE144SGI96PAT0FEXW3W80Q0Z7OO243XHE8LHK4DBTAYQ0O4NJU482EJROJIGA3CIHGU4VOF9B02SXQ7OFK393NE6Q235S2W7EZTIP6DEEYA = 36#1NH9PL5UVIX7BSJIDCIT0DPEWP0B1C76UAK2AZ9SU0IOT8ON8H53TQBI7DC07O9J4KX23JXCWD7WRY8ONJBDCUQYH9L8DXTJ4N2BG9JKBMSXGCDPIRNXEYMS1GI8NJTAPGEG2T80L3C4U3L62KTD885WFC7LCRXZPASG3TCIQMYZLYAO8WN0FDF3B5X6YZO7NEIQP08C51I7XWAROZR04JQWKSEZ0512ABVINIMXMZL2XNYYOVMV9IO0Z7IPYFZPDWXH5IZH98BF6TIE37RJ7JA7L4VOETDTV751RVMKOJZQAETORC1NKZ7O7Y91VZBB7RVDFN26UVKGB4Z2RJQPA * 36#159XHEYE36X84FR63DIFITUQXKFUNN1MEVC7HR8WD1RGDYPKVJ. +36#PA8LCG87DHX2A79Q2ZXFTORS60EOHD76XC4SZY0LA174PK0DPCQYR1SO2B4LOXE0JO1NE09EGVTZBHYLD9FNCNLJP0IOWB4A8LHX7UYNDHHJWFU2OCW8C997WP0FNHNTQBEXUPNFHCV6H7BVEI2JKNW8PCOIF6M7QS1FYSJ24OI2R0KGJL192YUEHCPCTOMOTAXOCMV3JHOGL3L8V8EUR1YO2M7A1QKAPMB25YBBVJ0UAHCBPA5AJLDG6SD6C0AIGTEU6Z98SS0QPVPTHIGATI394MV3T7HVAFVJDB5QBP8DYYF314WR9HSJ2X04SW6AVZBLC87MOOFPZZSCUZU7G5BMC8WWQUF48O4ADJUCFKSCFVA6U6U3PPM8D43WHLXSD7UPMQU1V2KFM84SM1FYCZF0ZMBIK03L3OB5RFCMCHILN7Z6ZPDOU1FU70P43MGIWBL9B5JTXVYCG4AH83HKLGXM9YCPF1BH0XVG57KL6FGAL97ULINHUEUX2TPMYRDCXLRVCC2TTL61671RMXOBX19TV65D5YLPS3UOESVC0I5HDA4ABV7L8PSEH6RUJ7LO33R6U9VSG520LL0VP17TQFFY853TZD7XUK1AMSGSCJHVDT2JQDOI19TUGANUG6EIMMORQI5I2T4GSHJ3V2HZQ4ZZHDME9BFD04ZOL7JHTSBL0O1S6Y0P9694PLA409E9CSBIC9PUQ1SE4P6SWQ9MXJEZTQKTW90ETVWOOL808XRB3KCFSG8DVE8QZPOQ8DHZW01KMRGPL5P8R4UY4920W40N7O1KA4ZO9IBYOBB98C9JNCUOQKL7OYWICNUU13E6P3WGICK5WXVJHIH0C3DB317BR1I0U7DP61GBJT8W74SDYJ7SIL97BRJMW = 36#IQYW1N8ODPOFWNX6TYBXWGTG6Y5TDDY09VCOUR9RW2PJRSKDX8IFFDP9M23TZACNURMCFD3Q4NH9SHVX4NPU6QD2E2GJ5VF8XVV9YV4HDANA2LI7ET9OA67HHA3BNDIMX5QS84MNYIXRYN1WT14ENL9KCTWKXSB32QF8QNIJUNXETHVG3J9CMAJ3FJZPEESAMH8LOJ83P47OC36C2ALQH62MYM9EYU71MTKI0TWQJZE5MXQA58G71Z8PLLQNE05F1XM1IKMDA4TZXSVHT7D1AGYYVVMF0A0XXR2XHEP1MXPG0GUGZ0ETGXJKVHX30VB5AGK6ZYIOE09AM1GZN1JJDP30PM349YCFGBOC6TFF9TNFWZ0ZD977O3HGYRQWR5ND821M3TSXS5Y0SWPZEO3A8N06NJJP96IBYJEGZYOUIIOLZMYCEDLGMJ7WG53QU7DH55198PGFQC7EH96KYHF2BDS1KVXTJ6JIHL7RVLUDCX3C33D8RYV9RPVHKFWK22F9Q1ZGTNRPE2WF7425AGRFL5BCWB9SN89E5T11F9Q7GGKG0G30BQRFBH4H7ZDXU5JMXY0ZPRXE6OOA6VL2PTB8N3I9VR4OKW4ORINYHJANW4A6GL1ZSC6Q81S2E1BTMT77LN4VWRYGI5KXIHUGPR20LSFV7SINWJKIBYQSC35 * 36#1CJQKLFKPOGTEFWK5OKC5HOA4RS6I6P5ZWBDV0BHS02CSWEIX4R39ZK556UP2OWVZWQ1F7QWM2FK48QQQQ4O5FRZKMDQJC4O6Z8SWOAUDKX2J7BQ5ZCPCI06FQTAIKJRVDDKRKRQJKXOOQZIN01QIFYRGU8EVH033YIWUHFJZNLAKXROYSUHU0AZKNN5QO5OEGOY501LON2QX6GL1NS. +-36#9UKXTKW1KEC0AUXQHAD9TN6F9VAU9WCNJCM6644LU9T78AS59 = -36#KG0GAMQDD1WAZDD7E2MMW455RBMFF8UZPABMZ3GWE41KWXPI84DRGJT9DKWRASUY7R6V9DDGV7OYVKO3R51KSI4N5XJWSX0AI0 div 36#22Q4U5T54FY3GB9FEOY5BPAEFNNC2DOQEHV5OKJALRC4SJR9E0. +-36#K15HQIPTEYXJM014XRZEM5VUS8ERDA9WRXDDI84CNA0JXT3GMWHKRVQ0K0B84R6V8GG7HDQ1QCS745KDH9EZ8A7SVNE1INXI1UPSX6HYGIDFK4A91B2X64MHLFZDGHN43MI48QZRKKNV2M4FDH05R2MFJ4ENJ3REPVPEX7916M5USCGKXRGORWC8YXTQQ3GP0L8K7VVAP7WQKNLH5HGJY3KZ5D1JYA2PWM8XPAHMOXEGR5W6ZNQAMZHC9VQI5S2I81253E7HRZOVN5UN30FW5OKBRBCQ5QCMQHIY8QRICSTHUBQ1ZSZDJTJ1RJ0Y397LWEL9JSRU30JAZUEFS8HNXKEETJ724YLQ39791XTCJPJVWORRXJFMCX95Y2FZ8UPBAKFG5TK8LSVXZ8JEEYJUI3G5EEEGR1Z1YLU2CI8LBIV3LI895XETMH36PNTSH5XWLNB5RYUAP7160P1FUCFR5CJW05DFFCN6XGK9SEO52UXLKQ4DB2ZI0GH4F347WDQ00WCT6WHH27XVX6R8NGQJJ59JRKE4YSR1YWNWHQQ8NOJUEY0VR5WEH80A6D95GAP6XIVS3K8JHI71Q9LRU6YHI43DV7G2GFIGEPOKABV760PPH6WIZ4NPJZDD3T6F2IKWBYSRONQ7D0EFWL590IUYNH9QB19NAW9LXPX59UVGX4JK230063EU11CQ5S9XHSS23IIMGRPYB7F8FRG1FOH3MYA4MCUBP7FFUNP3DQ0RNH0953UYIL2D7M3ADQ1HGXYB3AC1O5YEOS352 = 36#3JWJ29EYGSPCUCYDR1A0Y3YSU2NDG3I81MBNKW1U0IU34T6D4YD1UK8OLF0OVYMHJRJMCSTYCSPIOK7Z54HE634C87DBEXQ7BJY0WV1N66WPGP6GSF9CLX02X0QWHMVOVRJKH078S80N25E66LNFZYS8XQT0LHVKRJXNYIRN51KTQP7YDT0HCITIJINILYMEMP1WRHGSLLV6UZHB256YJ2J0J96Z3QW40B2O1U5ZCYGSY8HFI3ID2VEV249U4LZFZ168M5GDEAJ38W0595EZ1AVDVD70985PGLSOUWVBS274R8S73LU2CFZ35SUW7AAVZGMSE310FPH6ETHAXW0R16PUL9TM4845YFWXO0JLQ2026VLEE1KXFPZ44YHDEHBVUEIJM8PN7E7 * (-36#5MZ68EPQUOL7DNB44EIQ55ED9EZKYF89LDXPINQJI65SFEAMES4S1V36RGA498OFZEVTU2GMLXSAMD2P2K9HET3IWHOEC9AZEUUMHUMLY352TX6ZA6N6VHAIH52164U1KEIVV3Y66S4RLUE68YS0SNWNHMVZ0QEXVXX8XTCQ3AIW1CLHIGMHNHL3IGRBEMPEV90VVNDQ6HGH5RYQ21OSQ4PKUSLR0J9UDGDPBYMBPENMA1S8H9HGP7EEI642EHHOHFOVRZ1M35E2H312SCKHZXYLXX9TLVJZYLDJRL7C5BEBTY6Z4JYS265R2TVR28UMODLMQU7JO4SNTTWN94Y2LV3AY5MDS8DDCHM7Y7A9ESW9R1KW242Z6OR7HDYPRDKQPKQ). +-36#8Q12OCRXKZ35TKX1SJMAR2L4WLRYDHO3T700COOWAY7AE3JSUUJ6EVM2Z3L6O12K2Z97UEHIZW8KB6P4MBFTPLIGAWP044686BBFPOSQFIPSC0LCIEQR1FHH5L8AF5KZYB3HSPIRTMOHP0TX2VBPT59EQQOIKYXSZS2DJ5XXLCCRQ4W8WX7080JE9X931RN6HLGVER0S5CCILT4YU15PYETSVOACVK0NAPBVN57GDQU0Y7YYQ0PRAYP9KDT7MSVOC4Z9M8YF9KKRQOYLV2E3QYIGHGZ7DIUAHP7OSA5D2UWOV986ZVYGJZZF8KYINVZ6WNB9XDUBHIFUXNEQGGI06NQDP0PPCA2GTO8QHFZZITPK832JM6MR2ECSDU2SZ8AJ9EB5V8EX9OGYNN0XXY9UPWN9DVY629IUC5EXXQ8FNTJY170XYOB1SHD4SGXT2MDPIZH1IJPLBXUXJ0YDQEP6DACVJZKOYKDIIOQZ3JYD3O46SYGOXQUXGWIH7N09NYXDWOK91FJ82HANXJY124L4VAY4VHTEN393WPC3DFC4KD6EGU6OZ45SXGATFAITLLVRM73B9JY0FROXQOHNGGFHTTNWXOP4D0KUG3UM565Z3JPBYLYASH25EO7114MA5NYJ0JYRU36Y5BFKM1AMSEB72J5S1AH7EPQSZG7W2GYDGHS3HGTDT4MM0FD7G7T95UMUKUVDZYMOZLTC3PSK0W5IGDW7EVPRN24VK3G9ROTBODA0GWCS2REO9NMN1XGMNAZ7HQ9AKB37DTKPIL3AN9UHXT3OPG1NCUVVO5W2AFXCUS1BNAWQ635CUFJ5IJ1AA8F3M74S70EUHLWAF95SN721NG96CSCGYK7X77ZQBNPT4XIO6J4ME4G34W30PDLYCCQ1YSC8VAN1NNPRMEGNEAHHXBUJMRA4S3V0RIDBPOBB588AF5HY8M0XDIPM7UVWFL8655WOB0L80OZGX3Q18650P08D832C8R04IXJA3J62W4EUAT72UADS9Y5EJB7VJCN25WXV2C84EY14WGIM4RUB0WSZXJ03ARUFVPPU9TPPVG7WU3WIP05H6KR9IK18WA24AHYQLHDJ19UJUHY1T5CDXOYIRFU2Z7M5JGC = -36#HJUV2MWUVHLVKODPMH22SXW1A44MRKZA4V5PJ252RGCE4SCQUESKUAQ8NI80GL31JE02IGTOKJRX4N369D4NDCK62ASXU1ZBLR649O4K15P1ELWN3X5HRSBC4JBGTJZE9Z658EDWIVM9ICPYEJNIT0XITY9ZTD5E4CQ1IUVAG0CP3I8QFHEZHON59P70ZIE2A8FBYCHBN6JM0X0QKRJZXFM430EKYAJ9W5G430GZQR8SZR1SKLYEA61HEVEB83UFY93X5APXY06KYQBTUE6I993UI6HO8GEJ9JL2X7UNAVBWZWBECNH5K3PV6J0I20TDK1LX0I6K7PU7HQ1LF4EH98HYF926JYB3NHBIZAS9LEDTUCF7GIKPIQHYWPO5Z4MX7NMWKSFI2079B81ZLHR50EYZ9X2VJZC1II7ONCG7ZF673RXY1DL46WAQY71Y6QFESXJ59I2UMKXDQNM14AAFB2R84XXLI7 * 36#HW3SJFGM1V9AWZERUS6PVW3I8IWA2QUAIC935ILACURD3H2SM4RGIMCJFR5AOUH6BTDBVLOBR7FXI36VSFC4LLGVEPY113D3OUZRI2RTHN9X9T5DJ63YJDT94RZNUSL37EQNYIR91V2IVE99FIOX32EKC8MQ2JEOIDV8M02KXMEWMIJU3WONOR3OVQLH1FB4ER8XRZM673Y2DGVD06TPBYGHV93X156C0KUSR3ZCOHQ8SQJ0UKQUET50H3P16JZF4QY9KS0QKM830R4IKH3MH4E32ZQKSY20I83JIIBQCW35HNAYGVV8XW64LQTT88MYN89MWIWF2OIWUQDRORH66ERIBQFMJCB878QBXOFCTMWH7HRK83D73BG4SXPX4ZCGR8GYBYRXFBQ0IAW4ANW7R8RB96XMI5UW3KJ3XZTM89QC0ZKG605OW955AGQ0IMMD898GTE9ZC5HAV0DPYYV38LYYDS9W4PP78ZKLT0ZFZ54X230XS6WUG8C867MP9D9EE25XJB365GE2GTHRHPXZMXY70VN3FMAIK98S41KY2UA2MEGHKKRJ3G41SM7BYHINGACHS91G7OOT1OVFR0BC398U4HDM589IURE3LEGKHG1V53IJT6R2CRVS7D47GDHXLW72C. +-36#9VB5BGQ7DGD8U7A2OFUFR6W9NJSJHLPXDW607AQ0MMDV7VRY89XWTI0F0Z06M5IR9B8F4X1ZBVHHFKSJ1IBYM05NS6ZFQ3YER51EXU5YZG8U85HVIYEVK4UY4LWZLXYRLZ700TH3YE5D43BRV3JNUECCYEC7UYYMIK0BA0UZN7Z5X103NMRPSX4HHNCV40ZK97TVRXZUOV40JBQHWYOIB8NBYBQQXKHVR3PWDS8L30HXLFX89O2A7FD45 = -36#20XO4JGPHOBRNETATJIE23BJ36OPUVXMPZF957EABN7YEKZQLM1UT42465OGQ97ZFVAJ3M8J7G5C0X9XSU0E1B2UAKTG331B60UXOJD3Y7206R4SBJW1SN3LUX78PG031UEI8GVOPERPVCUY1YU71FYD7Q9D2I3WTVJUI61GTZ9C5LLIUR5YZRYFAZAIZ2O8JS0SG5I1S9XQR5NR8C1BMQ2P6C67N3JE0E852H47U5KH9JOXS8EMRSDDC0H6FITTE4GXZ5YU8QM0HT58FEOW34UV4MHD0HHX32IOOSLXXPVCM011V1TM5WB418S9OQAZPTBR58VVVIB5XAZVRHMW63PS2W4YTXTK0ES39KTZHAGI5AZ9068D3TVIGDWWVFNRDV6NROPGBRKZ1WAVNCQOO1IT438J1HT2NVORO8K4CA4E9W13KNI8D7N2RW9GW6J4HR09V1IQ81L3PHGH14Y05RSO9QAK65ZQHCTVCG1TA0QOMKY7DZ5IXO85Z1Q97LLS45KMPTKA8ZFAKYWU3EXRF5RU5N6VPJKUA9GRSL2ZHFNV6KT9K29S9LUVMN3IEY2HNF7RYBXJEOHSR4L1ZVRH9S5Z div 36#7E16VSEETQYRAKYIPSZOM3IL9B79O3OGLGL1MUXWFMCBWX85FJVRR8YY5Z7OQFTXWE0RH62BFR2PAM4IVF3DCBY9E6JJ2XPAUFP35Q943O4NXQM7EK67IG46Z9YCBSZK9ZWH120TC4GZDBK0VOYHY1D4RRSQFT4B4OB7AY8N5BUREXTVP1TUX5612HNS80IK0HFSJPVOLZFNOVDYHQIX7XF6MOWR999PK7GRPP44FW2M629WMQ1RIFGLBEWVBJ00L1ZUPW108QVXSGCX2SBK05TPSPC0A7736GN79OQFCYNF5NXHG3C5WLMJY9LCO8MASHQQR8Q3BO8BAPO8NSMP9MBYEOTZ2H7. +-36#9H9RYAQBWMXFAKOV56LSUF9S2NWZUGO6JMA1JH4AQ9A10U9JNJLE72P7AKKB4ONK1NT3TUSEN0LJJFN6UYIS31NRLFJ505LMND2CLKBSIPANFELFDKXS3UN4F3AML1UP4ZP631SURBSMBTYU5U5437YFW211ZNYC1A8TEIG9MMKHT1WEI52US11GVWWHGYYF1MCFGAP7QP2UC6EPT2XEKAO1Y88HJAFOZ5BSMZ14U69SKA9QAMGHEALJ3O1E12SG3FEHIMCR7NETIJL7FLH4XOSIF0P9J80HN6TQBUNJNL739F7V8JDKL0J0XBVJUQC9V65N08DJAMK4H3LX6SECTN0JUVYXU87IGQXKVNPMJZ3I1M38PQDNC2ZCOJUZYPXNGW7PW76NE7QW2J1JMEKKKXEFWIK6EW36OFWYQLEZFYIFDL4TBP50NC6ZSIV2PIWGD4VV40QH0KI7RLS19ZTMU6U05MJYBEOASBMHGHVC4N45VYFHYW66JRDMSIWR2BTKWUKVAF15OFWP0KYWXRX6GVLLFS5MK8TBEPJZ3UI64P6X2N5F6AIMD2QW7APSYSAP5B18UMXGLT5G2YYRP9JVFS6QDPDANDOPBHQFEPD5BNJ4GXZ483XJE284XNIQIYFUT5JAMPH2D1SHB99ZLFJSAZ6HR453T1OKXEGX2YO8Y2KKJRHPB21JCPA5AOGPNWUQKSR0JE5CDXEATDA9EXWV0NILGAMEFXUJS6RPUSNVLVA258E0HI8T0CTTZHR9CSOWR0F8H3TYEBINB3DMXUA0H51DSZ2Q84BLZ0EJXKWFPYHOTQK79006JQJGLISCV8H2CN7TODOUF985QNYB2TCSY6WKBNBMKIPYJVJXPA0A9EM14YD6CQ6ML4ONG51HM1V3PDYK6CDFV6EVUUJV74510Y7Q5B60Z8RHG5EJCGUE87JTM0A3DX1ZCFCTRBUVK7FKWO21OV6MG4NXC17WRXWECXDMKVUCHZV0QQ3SF2Q1DAZOTJB9RTYE42OK8A9CYGZ2G8OGFGT89XUM3PM2 = 36#4IHCZAKJHBCBFFK3MVWQ9C8U5BKI7MPKN2HGK1KO09Y9A1XADEPKZ7QF1DYXF46XY5R6HO5MDMS9EUCKVQ6EI0U96XAU3WUGK6G0PR2TVKVR5IMIIG3MDQK0T3WKIEG63EK4711BGRGBHK15LULI8RV77WNYKL1D8UDZFJ1M0VN4BJ94FSZM2ZNCMMDZ3NXMYFPF0ECEXLX3ULPIHKSY4GJ5QKNGKEYYUZB6ES2KHZ7M7GODFA95RIJCHT1T3UCC3W250K1G8JS562UDBK4TUV8JLPBHC32U0625O9XTSWE1C5RDAK54IOLX3X47OOGRFBH3MUF0UWPJ7FY123AW5HSHP009LW5CUYQTNJW08SH1RDK6CKXCS79FCPEM6B3KYRQC43BZF69TZ1SOS5SGWSURYP372NC78AUGVRSZJFDHX3RGXQ90RHGTJMBMOU75J155D1K40X0W46GCNV29UVFPELWDIXFVRLI6Y9WGO8ONWXZ4JIPGOR8L35Y73XAPXSQYLHY4CXX2J7S2VDJFX4510L2I81JXRNNFSTWMW9S1AZGO37D59UZJMCAHBU9V6M0HJLTVATHDL68ZJS44M7I2FGA7SLW74XQXG3QC8NSMVHPU811KYLIHGQ2A0BMM0VK2S896CVZGRKQWH0NQTC36AFMD8ZZ2FJNJAC7HC5QG2GEGEL7RTO3NZKLV2HMPSALDYLNCSKUJKUQNB4GUXDXJN23SZ5WT450C84G5F2HLS67OX9K469XPMH27SLFRWQFI1EA58YL5ANEPADDTBH3VWXDSPAWP2MVCVOI1XW3NF4KFJLPTKR0FOBRFC349H7ECX3K6QKR9OXRXBAUKP73V3XFYXRRBROC8C8K0JOTKBVPNWHSNNTA9UR7F90TCSTSM1U1UVQZ5VLSLVMYSXVOR67GZNWOIBTE4I5XX32X6TQXH0TDJQB7IBKBA5XXHO6BAX3VM9L9CIUSA7XPNJ7863X4XJH2CU54ILF276HYX6G4D5DBAV8840DT61RJCRKIKB3KG5R6F2DPGCI6T9SS0ZENDZOUVE4Y8HG48YOTQIQZGES2F318M0VA59CINPY8A3G5OMIGGS71X6JTAGAOB7Z3U0FLQJ5613JTIL9EAE94811OAY0F368HCAV9CL0F25Y2C1XRWT1Y68N1QHVF1VAQ6WO6EPDQ275FQM43Z5UVS044SIH8N3ZMKI2YENAUW8IYJ2MCKQXLTXQR5S4M9A1WTSNYPNWYGW0TZT579YRUKKGDXGGYLT69IRYXW1UI0NAJDFKSSZNJF1CZ6MH6V7Q8RTDKQK94GOFS7POO9ICWS3HEAG3NP33B77QPAJCSSAP76XUG0RMPQH76YRYSSR50DGNKQO6PI7BLHCTQDVS3Q7UZ0GTUXHGUPIJJED6ZZ8WM5V3EFJO1KGVAC6SSGEDH1CEJI539LIQC7X63VUVB9NSV42NYLFWS8LXHLTKPZKLQ2LC1VKY3GDBYQFGXBISY103EEO2A19U0P0P9ITMARLANDMT5XI1I6WE4I5I1EVQF3R23GDZGZ6T2I111CA7UHIDB9DL37CBC2KSPNTO7AF467EQYMB1ARZ0R22QBTLS8WVLZC2PGQEBM8EK27TRJOXP7EASCP9WB7O280FA7IMP75GU0GJQNNNYXLEDB6W8CWNXXRZZZ7A1N8C4Y5BKQ6S2NISR74TUQKS40F3NLD722RE8DRPS6J17DV8GXZ22E9SIPI9RMBJTH78BHZ3FEJ1MRFK99NI0JIPYZJW932RPL6VGOS7UV60FSMTTVWIJDIQY4XZIZS5G0Q7JTN9LLLZQSGHYTLF6EAUGQPZO59I4JCIYB36AYP3FNVQEMZJV7UAYG70OXDV3NNHG9QF0DTRQCNMT7ZC8AQBPXYVVE0JZQLNIHTXZIR3XJP1H9DWYPR20GFU7XNSZI div -36#H51B6BREIQC2TPUMA1R95PUJ66P2V5OP4I7J1T5HJT7WASQHCBSCQ745ILHHE0C2RLVH2WPT269PVVWUGYEPKICIHV95KECMDO78Y8NKT47WBMFSQY9NTGCCQR1KYEMVLXH0JDT6GBWNA0WZPRLIWLXCN5GC0Q0AGBEQ8H6RGDNVCZVCCV8MNA844TVRJZ4MFLAS1MLHYQAUK5FYAGKZWTK3CQ4I52L178UDM1VBKF6T6G2ZFNUDVCAOCM9DBK67LE1CYRZMRVIWC7RUUA44AEPZ5N3A712AMBPGA9NWQIE78DGA2MSRL74QD7JGOMC0D5YR0A3U07YUIEH602G4RDNXTEFG2T37JMJ6V4SND2CG6FOS0Y74TQ5NU15OKGTP7KBZMGPPSRF5DX9AOA5LWDTMKMFR7T73BWLOIRQYO552W7L3MG5YE9S68KSMKGXSDNKFVRAWLMXF0949L0SFYRL3VD8GM18KP8VHOGRKM0HQVY0SMCNOT0A8BZY4W5P336KY5SQV2CP5EIVNDVN3BEZ8CW3901OFE45NKBOVVMCUNJHP4B7EAZCHPS6Q9Z5Y5Q90TU7D4CNN86N57TG2M7U9BFNS2OAVLKI6K26V1D67O5YRRJE3ZK3RSEVWLNHZPDK9C1XJ3MTL0DQRIGCDW8VPL4R0I6MS1DGRY0CU2XZ0C1ZZQT3KFZEW5QNZZGYUMNW4PYINNRLADLD932UHS1J9R28XPJ877ZVBRM5A913MSJ1JRKMMNRWSJ4TL9OM7MAMFZDAO86JNMB6RKBEFQLSHW39EJ6K0HWX4X11LI4HA8W2F7RBDUHATE8TSN9JBXQWG8YNZ23ZHFR1IENY2MHSX0E4ACDCGZQD4SD14B9DOB53VNNTSOBMRDN48O9O0UQR. +-36#324EAPSQW22K4PPAOJQL4CRP1H68S9VF8WNGZPJMAI96I8CTX4NLBC00BJ7Y1OSHMUWETZB8NTFZ5KJFV2IQ4AKW3PJM8E4DUQ6W3PYYACJFIOHQZFNO0I5QM5L7N8YF83CX9V3OHB82RK0TLFEGJKYU1YW4COLN4OMMMRNT1GPJ3A4UHKOEEPGIYEHRGXB99EWBK8MELE2BVR8X8DBD4O0MZBLKKL0C06TKORVJYG1VORIQHKGRPVS0LI8Y9OR3C9FUCMYABQQA2ZITWI2FFLXT57GKSVGM82E15LKB4ZMEPFRBRXG05AKAI2B5GODTOZ27BMDKU9BHUIUG83IEOTP9PY11URH9CWN3RR5BIRZPT3J90GNOPV84YW2KBXOQ01IU4NWHA3K5WDP745P7634H01OWTVH7DWM27MS550DLJ8DJ4CKUSE81TBFKYQJ2HTE3KZML3JJEVW3GCWKRPY6WVPGH0H9WFLNSQISZQYDNSZ2HKDPX10HNA1CDA5YRT8RGGR8W3AUOB = -36#EFYUO15FPOP8XFX5RSYXM79O5RS0GB8GBI600JOZKGAKILZ7NHU78W5836EMWF5LCR9PPZCDGHD2LTH4MEOGOLS0N3DT2IK7PMPPDMBKV9AQHKM7ML40NCIYGVAGUKB7T44XQ7765DJJ1O27JZORKWW7UGJR04E6XN9B099HD4R9SEQJMY32WLZXLMANJSBXMWIHNCKY9EK9QWJO3AFCC9BOZNQBXEI16BK02LE58UVCK8IZLT7YQ4X71S421LHO17MU8TU0MY1VI3JBU13MJU3030S4RX6Z363QU5EL30VJ6ZMMK7REE7YFGTPNJ6XJ1CHBW7JPDN8Y3ZBD5HTP8JD2DCJX7O4AQS0GBZSSLAV3AIPXZMU9J0LE1C30DGQ208JRSPIHUHJGYQEQQF7KXU2JX8K0RK2S6GWWYPNGKZ0GL35NAQLL0O3W4C1SWHCGL23BH5T193Y9A7PM1XVMQ2LNTS1LMGASBGQ92FFYFIN58HFQHVVNFJI75TBYXPUTVM6P2HSNPZEHI8NKHGI0AG1EZ4OAXG0F5L6ZEHPEJGPKE91U9CDSU2FX69LLI7IBOYFAZ7NYFGZK9UM2TWNA2NXCOE78K2B7G7Y3BSCTWTYMUOBRV33DEEAXT0DE0P4MHV728ZKANSQE685MXXLT1O5OO2LN65KMUSMD814ZMROMH9N37LC9C64OOAYEZ2YF4JGI0JLF21BO6R2X959490XW45P6H8NTYPY0N div 36#4PZDHQA0749Q409ZXWYA8YI54B2NT7K4ZX82NA5XVPK24SE0WZ5HYQQ8DO233770UROT8STPVV6XHZ8CDVMJD3WARVAJJ7MNHVI0Q0W6OZHMTLBY13R5LHISY8I47PKXWI7PNMVVZUS1AKQZ0IMS70Z1KAJK0VMRCZZL7QI8OMKU06CEXK4ZS1MP65G1DS2HT54HY2Q67LHXLUEZZ1T75H37P. +36#CKOS96N5GLV3S4B2G6Q2KFN20CY11X0TIYQ6RWBPYMUJJWZ4H66RACE237O1O80SB2FEZI13OUC786QZSWA4THW9H50VSHJH5XLPF3IGRLPX2MYK3X7MF80KQU030VVY35K05PUD4FRFGPQ3C = 36#1BCDJBTPOMGNS6DSI33HLKJTFOW7NTXL2AKWI7FFFCEZNJDV7C * 36#9K80462AWLS04JY6P3ISFAALWLUX6JUIBUMUOU0ZBVKRCQWPJPLQGYLOEE1BNIZINRED5HF7JJQ9IQWIFJ2TX3KZPE0AOMXP. +36#4Z1XKU9Z491V8K50LJEXE6O0UG65N3K94D0Y2DWJQPA6BN49T4TNT34SD6FYRB2YNHFI5XM10MIV1OIOQPYSEJBUS8IALW0JFE69ITMVV80YIUR5V9XH1BEE494CLMBCAJ58JSUOZ7KDULHJE5O5B3C3QF3DSPJA989DJU3UVHCRTHC686FH05ZXO3HH15NZLBYIPYIBIOEIB7Y3T407ZBJOIJ6ERW1P1Q96QE0XOP = 36#9WNVFDO255M187AAP0PTKK3KTM5LTI63I8JUN3CN806GVQIZ59D0II708UIG57VJTBPAIHRNXEUDR30H2W0EQF6M87ZOIQQK60W7M50UYVXNAWKF3SQO4JXMWZMZZ7FOWOSQRV8NZ1PWTWWLINSH7ZDK8KA5VGCJX2KRMCZEGHX6EG0WW1SXS634ZQJD93KT4Z7FYWTFZGQ74NI3UYF8I9G29SN8VC4R8SVIF1C00Z6O0UZR0XMHZRLS5WRZRXQ23UGXLK5JUIS53GQE56JQZ0XHG09 div 36#1ZPJOBCQRXX85WMJV84KIODSAPV1M39431UF7Q2CIFMFDONSU9. +-36#147Z2K4DZG76XMD54HHXQE6MCA8Y0O7C5SWBMSPFLP5MNWRJCBY1FBS18F4DG2VZ846DGG1VC29LXUT3K94GKZYGKLHQ38K9INQ = -36#1S3MN3EIGTMZEVNLORDA1AO0B156MHF2A3SC4LFPLASNFVG7FE * 36#ML7D7S66JCB04PSB68FERNAZITZJOALIQJ3HG9L7D8RB395C7. +-36#2Q8CGYT87DKO1VY57GUQH27GCRPHQNXGYNFDHBVKZ32PHTR83H6CRLWF14K91KCVRHXOR1B4I4CNMERETQCP9RER3IDBDKH8QMVSFR8X2QXN2EHTRIE02USYVRM7WL7LZKRGNLFI00IL4WIE2763REZ7XJFC8YCZ92GCSM9P06R87WD2T4SJFX5R3ZKPHTZXLQRWSRLLL3U6YAH8PCMGQ55CMV1T6V8L0LI1U3COHEJAOCUBPESU7MRNJH4VQOPWOKRUO2HSYN8AT11XV8FSSUYZO8UC8J1DUKELUJ66VEC9TFTSR3O8V8GC9XHHZHWD3ES0C0ALW4VD76HC2F3LVQLFOPCFZSTUPYQGPE7O3A3B0B6P3RQDBDHUVULZN2TW8LZCKPFW7RDXIVPHS6P7LSZB61WFZ4MZNVOFDF72IHB9Z9VWYGUABXUSZ1S82ZZ0NHQHB7MWZ843AXBSS8EJHI08YQDHP14P1HM2XG7ZULJMJCU26INTMNKBHAY5VSOCTXBEP8E2QFL894Y1KT65FLI89RW43XI9ZV4QXWLMVKKC28QHAP7D3E2LOJTDHTB79LALKXOCYE75ROHMV58IJ4AHSYCFKUCZL2UIURWJC8WZ1VIBSHVDW761W3LF3UZYKZKE3VJK3BCAZTNDEB18Q6A0UF432VM5EHCDGRZ6HDWZKMH12UWS6DS7WO3XFQGDX882M966TR0VK7GIJCPUR8MUN251FQIIGLPOA97IZ768VGFZXQNH1ENE4QE1ZNWXGT96OXWV9GPG4Z8AHSZE4P5UUSSLGN10 = -36#1QKA01P17TUM5SD0UG8G6KUK2EUVIYAU95NOS9C6G80EZBBURPJGGKW7FA6V2NNOAE20PMED5SR3P9R9FXDK8FFYL7EJS8V7XR81OBDHR1OVCDH8YXEGHT9PE6DZXBZROKDNZMAKR0GH5BLJ8U2571VBBHZ7SJLXZVJL5VBK42LKJX5RAGCZP61RA3G4Z2SG28G03DZXYMTIOVOE4NU7OGCHFIGIDQW40PZI * 36#1KIVINTLMLGXUZ5C4L28PQ57JU61X5I03YDWV4VCNK3ZZQY3CQ6V079EWGKD1TI8QPIZDGY593LSGT37YFI8UJQUWS9H24LM9IWB945Q375M9UG82DCHD7440QUGITKWK2XP78AJXRQMHB1Z35QJGWTU1U6NI9ULNIRWAY74HN1KZ8F6BNUCGQPCZ8TTCBYEEWYZAAK626VGXBQFYUFWX1I7ZL4J5XXM3W8LANY4WVOF4JJJOKS97AD8ABVHBZOBNPTLPN9GKVUIF0GPV2MGPHA7JLPLQOV57KNO7JGRBEXVPRMIEIBSO1Z8O1FQAFI77D5DLD1LB3Q4UZZX5ANRQ1BB0NG3FELLQ2CUM9F6G3UYNJDVGEYKIYL93PO3X2VCK33M3FNDZ8RFNF2CTINW8C10TJ6ARSEH88XK3UEMT58O9VPD5UDALLSHMBYJ7E9K9OI4JNTQ5OOJ9INKDLZDXCC7NJOOHUOMZNJU3IZAX9HCMWEM10XTDFAPZ2NMJK4FAE4LRG54PIQM7XSST8D06BXCK9JCCSCOBSCA85UH88T1K68ZSMJEJZOD3GBTY. +-36#3V8B8F5ZOYBCNF6JS47H0ECU8FJN0GDREMMNU3GNZRJ948NU52MWCUPUV6MS5ZVGAFHIPHI9D8BET9CPQUPQL20XBBEZCZH5BU6 = -36#2BC87SSICNDMT7SQR6T5XWTQVUYD4X2VYM9QEBPDF5LOZVHQHY * 36#1O55JOU72HAG7D99WY3GB67FT72Y74ZVG7QRP39WLSVORQ3QBX. +-36#QOF105LSWLGICU5IH03FVTQMGVCSZ4R0DO63FHCUNI1BH49VJNV0NCUNJ1DL5W6XU8SCQDVJZDP6U0S0QN009M = 36#9SEXVR97I984USXP1M3B7DDVF0ZOF457GG1988U7YEA1A9PMSQFVWQ034XYSU2TO65PQU7WDYYUYUAURDV3OI5JWNE9T05WSMGBBKL3ML0PSK5S1MJM4AODWZZPXRPF7PE93Q895IUHEIISOCNMXZ4FL25U1UQ2CVURRGARGIB4IBYOOH5K7CLR2PQMPDJRTQERYDC8MZBFRQ16XV1KH8HCLRPXJED6OUY3CFI2IVGL9L3LFUR3EU29SQRPH9ZPEPFBXTSSHRMY1OWBG9VJVNSWA9PXU4BL6OH7F3L2HWFZYH80JEL8WGZE1OZY9EG1OBYU73472GH99IGGN96UGGFONDI2VI7XLX9G5J2U4IZUD6J79QK6W6RNINIMM7YW2I3QRU4UDAS7Q59FO37WXL90JJZGITP7LNNCL707071B3VK9ZO6FBVV6I9J5VNJH0WWRT13IKEM2WQSOFA69U0OJ2ABQ5OWKEU5YHASJZJFLMLP2Z7FDJTDHHINLOJDZRNXLFXIHINXH81K0WKE9ZOMEDLBWZWEWWUN99B0VD6RLZ24LK0BMXCRZ6NC6SQ1JK div -36#D7JXCEIJCNH1TE1QG614WZIJQ1LUDEDH4M8Y50ADOX0TPL5PDW3X776HS1RFE143LCALPZPJCHWNKG0L9B3OVD2HRFWVYTSTSCVOKY58QIRY0NGTA866HWMYUXNL22S9AIPAY7P4R3S2MIJDP8KVEYH5E70YTUN4G557RP0M4V0ZC6M0FSSARZTJRH1JX9Z1M5OQYJCISW9YWL1XBIKINM2IN17L5V38LVCCYVVN1IG0V7D367OEB0NUOB1B9G1ISLV0BP5SJYWEQXAPXE6W6VWTU6TJIY1N57AU73F6KADDWPO8OMX3Z1II2ZUXR4MDK5AAVE9K1I9ODHUD7EUY51J97U2P8B2T42R3T7TMH4LJGMINS803TS3XLVEO4AYRIYGCOYKCNB085DRI2QY2AXDQO9Q9AFFYPWQT4OPI2BQPA4UZCAA9YW4FOEGEB05TPKFFM4KP3FR03NSAYEF7IQZNKCOBJARD4QDEJVGIIW. +36#103EW64SANZIRZT8WF2YIB59M7PBS4XEDPVIRL629WK6U874TC1B1D8W7827JZQO79ZIM7YN63N0T3UO0YN9KLT3MV30KH3NMRHJM2LDRJN3HMCEIGIJNU9CEC4M778SFO4BUCHBH9EQVD8D27MOOZOKDZCSTCXQSO78VVRNOJTKWLI2NY8BGNWJ43KLBJKN5FPABSG9WBW9Y08GV399P7DKJUCSMWGBT1IRXT0GCF5F3UP6N5MJM33DRGTAMOWF81WQXFK4ZOQVJKK03HVMI3HEAF6YR5ANAEEV9XIVEH1MJ = -36#1UG12BIS008TYHCC0Q750IEHRQNW5W5T64LO9DLU0Z6LXN5M6CFOCAMSOA24YR8LWJMJN2ZBIT70SW11ECAJSPPKDYOEHCHGS64RYTFG2NU9CPT7ZSE74A80OW0Z1XQ7HPOK4S5QYICEQY8RXM3S24813NZ17RANDFK0VVD8QB0FGO5VFSVC493VUXF0J82TYFN93IE24Y15VMBBV45G11QIWUFN1VB0X14VM5T50FZ750ANY1JMHS5PX5OWC97O1ZK6N5P2S14B6MA5IOLVL093AE98X3G85A9LIVRI354RPGTAC5VT3YSXM68IUL9IWW35TZ7KPY0RQ4H68UO09I5DNORTI90JVME077XVZS8GYUMDE81FQN2MR1O5DL3N686NFVK21UGP2CAC2HIPFDQTMYRLF4FPIO2WLFS6GDG9HB4M7YNEHXSP334GK0578VN0WON27O6FQRLRZR7XJB98ZDNTG5RGI7SZF0XF11CK1CNR71XANKZEB62KPL9YCFKWSW6W0O2IEF8LE3JNJCK816L8EMXYOSDS573K4IT7CI37A14IR1N8R756AWED6QHC9ZECAUVDDQIEIQUOUBVWJQ05S05JE56DH28IE2QFLVX7DZMC3NJ6Q4GNKQB5XXQA48ORPMRVNAU8AY65OI38BNO2H3AYRXJ72KM2FBZY34UC8T77VKM2NV6CPW4M8X91V464TWWSXG0CTF1AB5HNK41ZQ2C9339X0757VORA8G4N6DB5Q9R52G69U2X2ZZ7TNDKAHUCN1MRG div -36#1U9QU2MKPYFXM8O73XEKYTMZ71H5UWEO7UBW7NE3C40QYNYPPHQ4AARZKHCGQWDX4D50N9Q4YGYNG8NB2GNYD85735LROJ5GTM1DAOD24AFY7MISXQK82WKLQYJ2FADLGZI3O3TEQBRGH9GQ3O8EZ15W54VIJX6QDDPTAYF5ZF13YWZC81J81QD0Q6133YKFMU4ZFQ8ILWEIZ34CVV8NQS0T0QZIZP7YDI67X9QSJ0YBTGM2J9OIG4G0RBWPSB3BO9WTKA6PWFKDCWONDHIERQT9W35VSRIWHR049KVENS5HEKOG4MM94IXROAPCUGDCENZO4G5JHJFCDCJB9S3B8ROR1A9MATU8Y65SPDLWQC5GK6SWTM4WTOBDJBH8ZH72TS2VV5P5K8CD46SV4SCTFO4JJQXF7YDFJUJKSP39S5LE7GTLD4GM8HRKRFB738F242U562UFZPCYO41TBMKF9IH7XRY3FDSMBA9G. +-36#WPI55SKXMWCQXIJA7SW6XUPQMT4X2T942LX9EYFWU1IXLL336JSB2YGI9D9Q5TUOWGZRPT600RGBDWS2793UO2RTQH7ZQ7W5YWD0SA7IKGG5FTVCT1OH141WCCSQQDYSZB13LML15P802TNBEBE0SGU8GLQAXKICP0DRFGEWIV0NGUNLZSNQYZRRPTWJ95DYUI9F83ABDNLT5WH210R2PQUCDJAVOCX3NJCX9HNESLD8KEK74945SQ1XNDU9VOD86JG0E58OXCM0YB08ZKYOMSN2EKXE594W7G6KSWE8P1XK60PJXZHXPCSNFSU6SUMZBGQH8I97ZOP3K7867GMPR3001L4SZBS7C6T2TT5JJUEVCNMC6P83J4YAGD7AZ437FJ824M4ZX4ERUARETJTEJBSIO3NK63PWO09KFABOKJYTMZL0JA95ZA43BENO81NRI5LT0RN8L48F47Q922EHTQ6JUZP2QQUNYCBIHSSPI4Z5NL6136HZVBLGG28UZTABFRYL3MTH7F9UBK8RAM2G165Z8X8PG97QKE30Z = 36#CY4R454JWHXG0HPWCNB234YDCRXKRT6R8HE2EIUG0KAKEIWNXHPAEFXASN04BWCDVTMW8SPGLDIOC5415UNKE5WLUF86WWULCAQFQ5KHF1CXCNVUS71BBXUROAP6O0KIQ61VO19Y0BREJ2PHSO5Z179WGI4JVDM1LKFCYJRTN0C8G6KH0N704LG7ARDIZ1G4FBYHQ5MFGW6UEKRZXVFXEISJ902DU4D98C0K192EC5MO8WYBQCOWPEHURUA57YRPYH4XRPPSQZD8B3QIOR8RVNMNCN0V2DBIGBGNS71EMHZ3ROU14DTBHUM9JPUTC37RXCSFIFKFG7LK9PDY7AUCR4QVRMMNBJDZJDWQC81ZQYF8LFH8G3EW0HFW1LT29AA4L3USLAUUXZJTE7VVSJLMTTVLCKOPEPE1JW42WDW8I4G2JDLSIZL1BLB2J9NZK1ZPOOBMON53DX277NVB0RUIL25S81HV4QJYSWATI9QVLTVXMFYQ8FST0RED5VNOI7F9A8T33W0OXVG425GI1Q11RSPXKNDD6KC9VZH5B8OVR5VQDWE0MZWBLZHUBC2FFFWD0II53J28N7RZRW7AWXMGU8AIMRMWPPMN521LSSDIQQ2U6RT0PYRX9B0UC3YHKFIYBTVHAS0JMJTFO0M1YVW5MZH4B7CDOOTU2XH5N7CZ4FOXNSRU1QJJH9EYBD1SB4VGKTHMETSYIASHMVQBOAFSI61A9YGIZMD9B3ZTQ7O2ZDZEIG5WGBYZPYK5H96VNEO1JU4422KWHMGPGDPA1JKNBLFI7UZCRVXG1DR0COD782NVG22104R1K71MY0FBZ8AIL84FQV6AVQTZC3MTLUN7MPRF5IFUYU4TFS4X4WA3HJR3MVNINPOFERI09V7BGKZCG08NA46KJIS4XQMG4PZ9I4Y3MY1RYDE7XS1JHI8CAV5MEDB2D9J8ODXRVHKQUMYZI2DL2TPWIIGYPKAV314V8S8OFBE74W62GY5I4G66UGZV4ZEPNECXLGHQX5GM9K3LTJG9ARAH7LB81RYQ8ZDVAA81KMX7CDMEZASKLDHVCTDY4M9TB5N7UOJNOKY5O8HQAXV0GKSCTJTOH2WQ1I div -36#E91GCXYJKIMOJKIMWALCVLZO18FITPBG7ZDOJLMAZEXMGQFD90XO4C0V9O2VRZEVSKJPCCJZO3GJJMKQZZ8V800FTH4H2U85PMEXVVRDOS8P7MKFE6KTO2JUCEXKU1C34191OE4OFM90DQT0EIHENE8332K7U0G91TYZ6QHIX48JL0YCWWONR0VKNH9RQHVEEUYZW1YX9SVHYKJ15A8EUQ7S93MRGQYA8J5VBEFQL3E6UGFYM2C7CHO0VJTU1S7ARMR5696032IQBKGKBENV9IEAUQA7CVKRK17AGKQCXK4XL4VCCCF651G45IE9FZYZ9AVSP7GW037IF100UXH2N0LNW3C64O03XBU6EVPPLRXJ78R372GX3MD9V6PZ5L2URTTGWNY3JGJN84IW0QP8O2D7M4X1WB9822EFMGD0H9KO564RUC398EB2XNNZIBDA0XBJ4HUU7EQ5JMWZLA8VF9Q5ZF05LW94CLVAWFNVAHJZSYNO92QMUM0HTZXUBYPR53XJ7NP64PGBF832I8K4IXXE0MNN7LFI87KHX6ATQP8GI. +-36#2DD0BWY0MGXF0OPWYOAZNDL88IS5VAEZDVW8I74ZIU5SX8H12Z = 36#C265B2VBOGN4609B0C2I6UY2AV1YLK2JT34Y2Z9RKOXLI1IYW0VGUOVGX9FGQUEU8WKDLN1NHROXHNLLFEAREQW6KHFPXS4JK047P496TVDIRL3SBZWA0MAMC87A75AQ505EIQX3W2MZ0DAFV3IOHUG8PO3HAYFU1LVZWVM7JKUUXR4HDYT6SZEL1QMND2VF0BR83Q8B1FUYC53HQP5T5XVZ8A3MBY5965XV15GP4GCP6PQ5GM2NZ4PZHC44B302KP1CFWEB8IVD0QJKVD3UZ7ALFUKE9ZDZLQ78ZV8F7LIQ1UA93A78U731EO90KFEXCDQMOMF19K5YUFS98258KX90KDLSFUDTKTRJU05URXAOCAB5JDV7AOZIRYFEEKYS43Z8NTF81ZAH9L0SI71FC5ZRR5YLTZ80UE378T7BK3WX4S8MYDDFSULAWN9C0X26SFBL7XZ5YPUJYK6PC0U7L8JUZFNJBX5WO8JOFZQYCOJ8S14MCYNYIJJ9VK7WP2ZHLBAW16MEOI8SB9PKNT2EMIGOEXU46VB937H649FNMFJVYCAMI0HEJY1B0GO75CRKXTZJXP1F7O8QHJH95HI31QVBQYS4RP8DTR9455GFEFJZLMCV0X8C div -36#533SWMLKIVAVUG96IMKEOKNZXSWDLMG0U614XJO7ALGBMY30VOHABL8QOU28T5V1CNU360ONWMGAT10V7ECFQK89GWYELITJF26J0GD3B95SVR17J3QHV5K7UHDKQF5XIU9BUL7YNWB7S8JI3608DK3DUXH8D3DBQ8K85DHGN4YGGZLPFP79K04HCFRGJLK0I3FMCOLLAQ3FHCHEJBK8DB2PXQM7BYFDTBRB45KEPOBPNXFBSSIBKUN01J6Z8B4NZNAQ3MT41ACXU1OEXDADF5XPVD597EWVFQX2HVBM8TEPSLBNY7S0Y6OFIT945X4L9VPFR3OVGHPWOCJM138Z086L2ICFT6PRSONE8S02KBJ27N2BVR4JBUY412LZK00H6JOY0NQH7W93MQJHAFLAXR8WQCRRPIPW8Q620WT7Z8EHPUENLCNT10585W1LFXFIWMKB1TGPDAP556KC8GBEU2X40EK6G7ABZ13G6R66ID1M7GUXAPOKXP6BDQ4WYE9MNUB26HG0BR92JJTTAVCO5NW977FFODP8NOXBVJOWGJZ7KIGOHN2XHCU6DU6RPM981RO. +36#GMD0661DJVMIB2IS3QJ1551D3LR0SOHGTC6P69Y7K7SOAM0QLMXJ3MMYTXD7JCU8L4T41RR1J1DSQNI2VGZTD6UXFJYYPE5XQJHEP3L1MB3QWV67L4178409VWFRHFNAVU9RBH3RMQD1U5RVDD504LIEHNK597Z019CV567614Y5VL5HARCRBTEYCFBCAIZUD378UOVLNR1RRCRN8K1XV0MJXQTI5G1XVWRJVA8B6G4DQ47FUOGKXL4QX9OY8IYRFOEQZMHIKNUS1JJRD14FT1IDNCHUY6SXQ63F6G2EY4O7Q0XQ5A1A67XXZIPVY3GELCVOWBZQNX46SY8QWNWK2RCDN1A92GTN47NC7G3974K1Q8O65ZDQ1J9TRV8Q5G8XUNIMTQUDPOXB4A7RKG1971MK2JPQC3P7UWKL6LBCTSC6ZY22MZ2G8M881UL2E6DW7DJYWAB4PJS9LVK041O8MJ4MV7KXS1B1EBUCORYWFC1K6Q43OL4MQIARXVNJE7BK0F1ZK64T8QOR6SDPPXMY58HAUOZYHG4BZ5OZB2L4LG3SOFRYKVKCI04DDMGMB4APSLJ5XPI1IXCA5VJP6DCQ605HZPTDWPRPCYT5531MD75DCK94S3WKV4RLFMEBOYOOV2OJZ0IGDD2TR8DEI5NQB73MUA6Z6MS3MVPI832D1V9ZETQJ8BDBQUCJ66PKIRQXYQH4WUYZCIUCJ2DRLBUQYXB7LI4MSYUCH1I4PDO7NHXJP0RL7WRJJB2TL904WK81Y0CIQ4YOA3BP6ZLQN8XO9TPGLQ0EK1SI3X7GINDA6DZPA3S1V = -36#27I84957UOU7PS9J68L407VNO7C9N7X4F4D1C480P47DI15GDEVUIY2OO8SVVI4F5SH053T0GA5P136YSNUHMQSJIDDYBFGJ9NIMKQDITXMWYCVY4RX0QQ5LXEX5GZLBLTBSPUQI6LEL7EXE74JMCVAZAG9N7Z62VDJVLH1T7W7YR3DIL0JLM2IGZ3X3MG6Z63DX0OCVISSKHL85C2U3INK08OGGREHYF1P3V3GR36SNKQU1NHCTA4673U6MYPP06BUZBE32KHHRWO6BYSNT19M2PB07G4A7CNH5BXQQ7O6MZ3V45LEHJB0XSCVNJJ0NMU8C0WNA4FGSBFGO10ZNXYT597JPW5VC0E08QJ6EE8HEN7C77KV6ZJ337OEZCVEANNNDUGTWGE2HA98RWF63LM8L7UYOWVHEFPCH8KZPDR0MSBQ9XMESHM1PXS3L09ZHRNRS6SZ3M8U0PCXSXCFTR6P95SCCM1RVU9LB6RC8E261GCITGZBANNTPF7FZIZQYFL5ME34MSO9R8K1H5HUI1IUNDNSPFUQ8TG1NHTDPPC79K06DU579XWIIZ19WQICHXP1TJLGQVZK9DPIMH6FQ3GSH4KT7896K0AGM3ZYLR0FU261ESHIFX541MOOZTB3496D01KGOF9JUR1EO51BAQBFCPIU8T8K316PUZ839IMTBX9MNV1GOGP5L6T5FT914MOR92BQJ002ZTO73ET474HTCQ1CBGBD8NPVVG8P5KA72PY9WJICO7TD9JTP0BEPT9YC7S1QAXC4ECTSSQIZTPW5LNISYVJ0ORPC268RFQKE7V6VUW0I2TS0DLI9GA7630QVSYKDW0BLZ3SDUW69TOOV8V09US4IY5UZCPIJWI6KOPFWZW6XZU5QC197CNBUX5RMWFHUDT90DBSRXD7VFPWI40OSECGWKJNQ3QUI1L6ELK5NOSLNSJRUPH8VEIKOEY926HOTK63U9BIM8VWW2H8Q1LJ8VD0LQIZDZBTPC3S015ZGRU3BXLAP1C0V7H4V22SIXM4N2SRUM9AXCEXATPT8H90B5B1QYFQLGTUFCB999IFBPZOXJK9R8BXN8GI7YFFFG24O7L06D9FMIOPXW div -36#4S7C7H8PS2NBKZ82JLFNCCJNZM3MIEMJP1AIVEB8HZWXTN2LBB6VU258WXX5GLVIPJDCWD3I91Q7SORLOO62W5PPQ7QWBQA6ZUT50M47LDAV36T95ZXPYQVS3CWJJPRDFFSG56HW2C5FH465PQXZSLMBN0LEJ5PCOLITZPR1A9ULC4KQ8Z955OOXXGB60R2UHD6BDWAK1M7HJOBSSPEU4P05AW5UA97Z9GQBYXUWDH3BZ8PWCLSGTSYXCSNBH2167U1N7QH7PTZGRTOSVS6F4A0OB3BC9VFVDP8. +36#KXHIYB4ZRQNA7UFY34CZ0J9FPEJEYWXY327C2HDTOW7LDTP49PJ7X75FX16ZFVCNGPT2XUMPI6DW73XXQ0428C7AQCRWX9KN8MRKLYT6VTKFX8BI52ZP0JDPLJJXHRPQPLUBI4YX52MWTKXIM93DIROCSYWS1BMHSVJH4EE8ESQ6AKTWTBF60X1WO6V6Y1GJDOBROUIY5QQRJDSNX3Q156P3Q33KOCTHA5E1YTPID8G43KHG89TQW98CSY2EHC2SDRHD56P67VTV98SCELCK3BA4FPHZR3X7W4TFS46QZ4DT3AD1DOXD1MOF3QZVYI5PPHVET9U03ZZSL4L2XFPXNXQ8159XCVOP4U3UM9J4LGW7MM2VUUEVEWOGQIIMJEO1WVZJA4KUODB6D757V3JE2COHSJAWKXZP0VCB4FT9O4DFQIJBY2EKEF24D3F897ZX6RPXEG99L4040 = 36#ZHLDFDFNRMEMZK8VY64C5V0H14M9KTWDWN06J225H4J2LWMEM9G3QCRUQ31YDZVQO7EJYQB3FE0YC0UUM7KIMJZB50O24GUV4Y8GVKX4796IXA54VP9EXT8D97Y9B58DRCEO4MHMY1PNIHPMVV14H8Z4X4SOFEHWBCMUORNGS6YMADGAL5PF2YJX0ZBZMBNKIUOH8WX6IRA0Y7ZOE6EZI0P6JRYH15ELHF2HZB2L87RBQWATRYI6428VOI075DL6I60Y9IQVL54BQIQ94RJHFM01E9N0XY7D2RL9V1ZUC02KD4XIAR7KVXMZY0514MJQ38RW3KQBOWP6PY30HN34JOW3DNYL326EU8SN83LMN045PS6FL6UCSWLSYX0XCWS27JMM8ZOM2JYIWNGHQS1GP6C3EOCQL5WHMAO1ZCONYR9P4Z8KII41LD479C003IT22BTV3OIOCFBSQK3HVYZSY9DGLMT9A2Y7KYRR0VUV2RYUXMJEGU8IJU5LY84UW0 div 36#1P1GRF5B4RLN19D6MMTWI3OYCQIAT4HKFHQZG8SVJZCU8FAT7Q. +-36#ALYNOTFNW472K2HRH1WPEPQ406TURE92EWC77TBQ0L33RAJPN1DF92OWZIT5PJL1MEPLEPJUKBB5J7U4TNDYEROCOL2FCBKSUNU29LND17M4C4K8PJMV1SM70ZXH1SWL96NMT1U52EIY57B9XNCG6SIX85H9N0F6I3MYJ357OLN2R1KBITU4BKXF2U3C0DDWCV4YGEHWIHSNLHMNREASP8XP22YMM33FDKL1GNK3JXI2NPTA582MF9REAXJDA0WT8D1OQY8ZCWIRVG980WHZMJMSFWVF3DIHCALF3AYTAXMSCDXBE0RA2TZF7CJXHNC11DMCH1XCTYV986XDWFS2T64BN2X7AWIM9J0O78URYKZSYTZCM87PLWM2KYSHHKLG072JU73Q4IV0ZCNIJ1KZ90WI4Q2QPI904YFJ8YRFMQ0Y4IDGVW7QQJ2GHP1QF1XE93NIBPCH9QWV8JIAOHPU24IBHL0CKEZ87AN7B5U0Z8ECJ528NN2C1CDSXUYFD75V4LW364B34MAJSNSBC00G9HQZSST1FTCTOC2TY0FR6F0YPCX5JDVEKCE9ZGXZCILY6RVU22NS1I7HPX0Y0KTDNSPOP5TDYOXAN62129UME1QZOJ676IJHSPTDXVC0BK4GO1F9JMBPV7C0YVYIGDG50CF3OHD26ES21LHC8ZD5XJH9O6837X9L1Q6WBR3 = -36#1WV8LYQOVXEWWO04XTGF1DN9MHF2JPD8YYFS9RC1SB12DEDQ6PH0QDGBMXDHV05FUVZWDL68BKYAF8CFVGKXF7OR078JMYYPP7EYDRMGPFLCPJXN71OTHMRR7GXOUMS5440UAP1MUFLM78QN6H00FX17AUNRDYN21SEOYASXGY85UE8J0CG4X8WVHAGEPE2BVZCPTI9VYXNCMEC9PKSPGHATRX85VW9IMQMMWYONED8VUQNV5WI0LCL7ZQWO3SK7SBV5FQS66AMF1ZLX0KTW9U20O8Q59SO0LRMHETY7DX8C0N1OTHRFFXALA9796ZOCZLU1ZS4TPJ5D2TSL0LN3K28CHQSS0BIHO6H17AOW4WV429F52J1V7SK0G93BM737DK09XA12868OSE8APUKXXC1MN1426IE5KY4UYXCRS04MOQLIEA88VAV3OO8UF8BAXLE9PJ189ASGSC99GX15G55ZY7Z8SVLO6KZ8ASCJSH2WG60A5L41MSTPUFE2NF1JUQM8MM1XTAD1KQ32A2QUYO3GTOQBMJZIITRRVYLOXV65OC3UKOGKHE8KMMQL18IU2738EQ28BI8C8LLEKB33KA52O0J47JJEWBXEWC3L2YGLH926EI5BFID3VZS17JD42XGH04OJ8PDH9RV1NGQLOQJFJ4MZ3P8Z9CT0PLDVV6PKY9CJ022VPBJY9CBBH6RR6Z19USJ826I286G8KO1KMP3IFFOYUPYM3RQY25XJHWPN9HRKCLA1P5X62BFQWCNSP8R4R2OXSUWKQVMBAT0 div 36#6HO27UYVGZ69IT3J491MDPLCW4KXJ8K3W5RBQ1EWN5WMG6Q8IOU9ACBNIGB3VG1FAZ0FR00FCH9OXTEHP8BQMWLO. +-36#2OFLN8AB423Z7SBJRHULBSE2QOJ545MN5AAM3TO5O3BGITAT2F5TCKZOQN52FJRFZZOUYA0M7TK5HIKY2A191G9WWBRNE689E710FOKXZP065KEUTYJUOFHYSX0E5Q0WEBQ8KL2ASSYZBMH1EORLM7T1ZHV23CVK11I = 36#7WTWFVBFDG67OX8HPQ4MFTVIUAPNUKZFIU5KYU3PVEFVTZAVSIETYCRUA82S14SRLO0DLUWIDO3RD8X8LPYKWM1AO888TSZBTZKMZ6HJ0PQ731W6XLXAE5A9P6ZFT6NHFPJPT8W03MBVQRZR761NZNJ0E56AGYN8QIN36XHV0ETDD9LU5NMJ1P1EJ8K5T6VK2M0KZSC64G5BUU588MDI div -36#2YBXKQMDR15QWSH0JLDKQQM1I8ZO4C3W49I84LNDOTMW8YYYGX. +36#1JTU59T7PWDKDBFLJE5W7PD85UJRHWU6UK9MQ4U0AEEG0CVR6M = -36#7QJ11XRQIW98XNVF9N378AWSFKRMTCWBAWR8S19MZV6S7R4PZXDZ4I21DON7LXA67L2IJGOOIIVUN3IA4XJRSUJ516MER6LLA6II div -36#4ZLPMU515R4DJMTKINP9SFN6N4PTJUBL4PBJ76P2JYLZ5UA2KER. +-36#2HG5TYFY1UHLNEMBUANTNJKV21K26PQ6C194NOGBFG5IJAHZMF3HM5PHIK5IC1ZYI9LHLL89QAF4F2M9RNUCQS78YITWPJ1UF64A4LLTJWPFRZXM309CKV43J1EGYHOX4DP9PR1Z5ZWYSEUNKV851VNARA5D3LH0R9PJA3Z0O8LIVSQD2TSRNTD5H7T8Z2J94OC3KNWJXGA0IZTFJ5WPKDCXHH805NG5CI790K2WO2TYKOVB1P5INXNTC70IY5035KP1B2W5FENIH9O3RZ0BC3EDFTSTFR015IRUNDIREITMM506C6EUNC0JW1S2YJTIJ1 = 36#1D37XKFTNKWBDZFP19MF8XFM542ZXSD0M08EN9ZPOFKH8M6HU9G8Y9SKIBG6HLORW0HR7VJ0KL7CVPCOOB7GRVB5U99NW4PYYYQSFXWTO6WVCI1YXKXPMSI1OT0TLMPQRDYGV31ORTMXU1BSD1Z51QDRJNDGN8M4SSQ6AOXMV90HBMTQR8OY71LDNX6QRLSHHPVKP57R2HAW52931EHE4MV1YJ72PJD83F4Q4Q688GPPIEXWNED34NMJX5C3MGMPRHY5KWBOYUM48K51S8TLQ37D2IZ40X5MQDVPYCNXEUXCYVDTITCZ39VKZUTJ3V2WZ77UWSMHVCUBZ7M8K47J0J6FY26FSUI0C8MIKBSUVBTUXQ27HU7Q32Q63T73P6E08YDQMND3SEPMCFPPTFIZCGL3VOEYY0W1M136K30MZFUE5BUEUTRZJ0MQ78YMOKC2WM6LU1GU8Z2MADXG680P33FYMFOY4OWWG95R297S0JVZA53IFDPSPDN87AJ0BC9TWHMX2NQ7J1BJ5V3V5ZBJJX0S46K60XKRHGAST6MPZOX2RUCG338BCXO0HB6IV2LOTZRALYNYJAYO0KZ0Y1F6GJAAQ70CQCZYJ9NYC29GWGPACHUQZAQIW1IDYE6UJA478O85NR div -36#JR8QVQ2PNJIUNP7QVH7E59Y5A0IYSB15XW23ATZU330FLDD82IYE5FML1L3I6RFGP8G6BSESK9E8SQ01ZYQ7KZWIKIETOF7D29L3DDGKQIDTVO595EQMK4PLFLVYVUGHGAD2WSO6LK2O8ILF0KX49K2J30I74FM489ES0GWUSV0SM7OPKALYYMAMJD5UAUQ6CNV5VHUIQNSILJFG5XU5T0KQN9U6HD75KVQU7LUOBFOAYMSE2L4NRWM0ZW91XR0U6H8ZQW5XYG5M4RR6OZEFY9HSBXGWZKRADOTARDPLPYK3ZTWWI8C3XHI774XAU7KVIVER. +-36#E1I6QGQ6S5QDZP0IZ8YNB9XR8YEJQSWMQ0N21I248Y4CFZ61HSNVHINFD24UPHVUT5WIHNID7HAJ8HP225IOO2216PCYQVY104A6PDVFCLWWJ6F86ERIKRAPIG0SKTNT70Z90MB9VIRLBWWW5F6NEMOXWICG4YZ3SRQ72LPMB90XEFUYXL84LAZXPS9449333WH55G42LR0TH2SVI7I77JX49AADP5DN3ZN7HWWZO0F29KL54G6IEBGY65XOYMCTTYOPMTXBTNIVV2DNPXR6Y63H9MCJWRGEDLDWIVV6D7P7MYBVTRKEOVHDYIPA6PGYZ3V1ZCUL4YQCPG137I = -36#1IKAH0PLS3I38HCRAX52GFOO398E3HSFXIR434C85HQOGL65FI * 36#99ISUCX5Q8M7XPQQZ25SQKV9C52828U7N5CW8NH49EEEOE6AVD4DUYPGA2RMWREGGT1DCUA2PM7JJNKW23J3BFVC4JZI4BBNB3ZP8JCWCAU4BVOQ9UCJJ5RADHMH3O8TLZDZ8JBHEXBECY45OZQB537GW01S13ZDOIMDCTEL2NJKPK48RYNFYS9100R6RI8B4RDVVOKCCB160W9UFRKACUFPEZPVXVFQPV69UMMPVMXK2WUEHPPNB0TTZFOYYHX3BCPG64SK5Q5G2SP0T490L8EDNVC01P9KX. +-36#3ULUAWXIIKHATZFA5VDN3NJNINGWCIE2G53HBVXIUNMDQSUM4A3ZB2ZQ9SVWADFVKQQRIZY5407B8VG154RGAZD8Q2067VEFMSN8BPI4FMZTQPU659B76NMHZT71ZOFWS5GWDTPAOKKHYZBQIE6JSOYPFHQY3PHQTKHPVS6ZR5TA2UXYEO5BMV8YBPHS1MLPI1M8ZBTRX01SK397W13IOE1X34GP2I16Q4XYP6WLZGHXX4GU50DQW9ZH4D1MJKR243XTOSIW8OZ28A0YJOHMYPE8QR8P5BBS003G7NKOW6KUTNMI0EWGDXYEW17723A1HN7UHE30PS6E3VNDR5MYZ06W8D7UA8ISN6FKCDS3P9LQBN9OCTV5ZFY1QV21SQATKONOTFAE4SCKEH27L5L7XG0G1Z8RBB3OK7C07GOGJPI2AML4TD3GOWD41CWPHRYRTLGMNCB85G30GG1WXGF3YK1K2TFA2YXT34MV466MW34O67LMR8SN0QMXLDQ2DV0D98SFQDJZIQ307W2U7TT215INGBU6K18JIGM241FD2RT090267MAT5BAS3B6PISZS1ISCS3WUQKEZVCXEP5FEH5PAKX5P67V0V84OQ69QOH1F7OGQO6EQ9L7RR3ROFCREHCNAPHZ2M0Z27C2UQO94SIFSTYX2J2BHS0Z4MZNZD0TY3JFQCF0MAC9377CP2U3K8AXUEXTKRR1L82JBH4784MHBSTHNET3PLO0VO8F3KF3GEJNQXZ15H7QX6KASNE6BQSRZH2EZQRDM7N6N90VXZK4QG5X8X7D2Q7415HVNRU2VPCR8JKXX4C73UJMC6KTO5YYBGM8LREX801DFV74A6BCALLXNKITP6B2IBQGIXB7AWCNQ74SSRWQFHAY8BFUKCB42P12B4P8V8159OTUKLAF9CH4NFHYJKVL8VQSLWRWFCEFA8BIZZC20UGJOLOCLF08PQO2WW72A9A7QGNEKI5T5GA9Z3BYGKC2EWR4ZY4E3GGJH161WLJ48PY76J29GG46S4CREFU0OZNFM5QBHSISRYR2OHOY9H42864JGDX739O7DNRRNAZXGRHMP5PGWT8Z42KNFUODQGVZQ1X1HGBQUR9HWESX8TYW3TKC9KZV3S4K7PVRYAY5IITVWVIK0TXVMFWA8IL6HSSJANZYJE1QX03BTZ1CFY6K4ZYYLOVD8FX4EYB1YAPGR06ATCKNKENLIBY01S03H189JOCUK08EYQS0QY8SH5IT3QA0KIJAQTRED9GUU1YRJCKTLZKDT1OI0L6VUMP3W8QB6H3USTKY9 = -36#1XDLOX0H0FQ02YV7VNQLHGASQKTXUNL31MVOX4INYV1Z8Z25S7R193IL9EHSWNGI8L84O6Y5O438UW5ACIZFA1SYQBUAXBFA9NVRUZ2MMCALUFQ96GOP0IQEDGVVCJYYD0PPO7TGW3Y38IPHCBE4FN7GVF8E3R61U97IGGL6RB9VJRDPX3I9M541SB2LW8XTL1F20LSBI5VLNIML51OSIOOW96AVL4J5CIEY3XWE78FDI8RH1JNS9LB7FDX7WIA1A5EMMV4CBRE8WYWVB45KJNOKQ411FF2JCJH01FUTTJ9VD9W0RFNYWTHEFG7ZW5BW4H3690IYOQVH1MTLJDH77G84V6AZ6P4K5OOE02TIAVV1VK1PYJULP69UK9G78BRIDIEMH3K1QNYLG1TKH3ILFOQ6B7JNF9RQ6J2JPI9HU54S1CB5X7C8TQ0UXAQ22XFN0D8IYK7LQ67NTZBJ2IC5XX7ZZK39RXY22JJEIGZHPSYO1KBXKTHJVLOO6CZ07P1XCI5ELB2WWJUDO1PWK7DJEQKXAETPT90MIEA20997YYF5LT40ZTOTSVDM8UEFMR3P6U4EXAEPKN8O50AUYOK4UBJ0H3RSBNZ47DUH85DKSREO9 * 36#1ZX7T6N7N8BW5OKF41732KJUWT1GPPKPXV8QCCPTC5X8P56KLAPCQC6CA3OEZ2LB8R88KOO5G6I93JS5YEJ0Q24M2G126DDA9U27FTRI91IP72U8WFITCAG16LZ0ZZPQOCSRLP48PJ4MGHW3CR5OXXUVNQ3ETN268FEQFZBLGH7PJMFML7NBAROF7VW3GXYA2GUPWEBDF09FC7MRAR3PKJNAFUDXMJ3GMT0GIJVPH02I0MGOCUPNRQFFUHRYC1MOQ393D49LF69R4NKY15O3IDUII9XS9OU84SR4B4GD76PA95JKP4FNO6VXETVXJFRU7NY59ASG2U71AHUHIEO6ZWN5MPAZ1AFGLZSYQJHPTO2D6JJ54KMZ0S8F2ZK0K5ONAV401446DKWUEAJJCUJ2AQRVVBSVB0ZQ3329O25ANX0W8MYW92Z7L4VKBG4F5B90LU2537TL7KLUNZLSAIQHOQWM28H1A9MIZ3Q1H6JRWXQN8G4ZIYVNBE6PGYEI3YX0R7C8BI4C4RSXK1TWILZUOI1GND7SCCY7F6GGU6QKQOSRWGUW9NZPTM226HZ4AC6PU7TGT6R0K7CCWHX8DMYZPUHSTG7FZ4V8FOY2UWCOMPANN6NYTKOONGNR8RA94J1UHQP38SLGAMRMS1J4H7ILMK8KCYIA276QOB0466E1S3YH. +36#6DDJJYIK5HTHY07R0DL3GUX0VWIAU3L6I4TOPA6QNH1MGSAVSJUZCLRH6ZST4MAE6XKOMJK0S2WMWMW1Y7HDQXANXW7LLUY8GSG = 36#226LJ15STA6KUNUKHJ98ILWEDLIEMXDCLAX4X4C9Q9JN6WNZQ8 * 36#33B9AP6SL7BLQA9O9SE3MWK2JBXVOMU6RYYHEOSAG0DDRKFV1K. +36#34CV5MCHBRKDE03RSQWC9WYHKHNZ165HC37B0SNYZU0DRCYAWSWJWZ3Y5395BAMCV34J6G0I3D54B97SHSZA886KCKIQ4UPTEZTS61M9JMA476ZP58UDH9U2L3I37SSCGQ3ELLS069YG3U0JHA0PDHX33R6ZFZS6LQKAAAJ4OPE6A1WVH1OKKLCZA6YFVGNT1LWDBGKSCAJT60AXMT1YA1K23HHSZL4J211S9EGIVRYYGSFCGOTAUY4M2AK84F0HQU5P3878OQOMFSXFT4KKX4FZ5C4B1ZKIVU6N3EZS4PFN9NL8YJ78ALCAS49M9YAPK7UIU8DYWK03NYQ1HXVSHDLQZD4RQ83BYLICMMG37FI0CW1QHZ83SM210M77XS4QFQKH7Y1XPQ3BDBUIJNGNFIKKA3WEQB03V9LOXJ90N0MGJAS7KBDJX0JA0YYZ63IKXHWJW705G16LUOCNDSF90RAB2JH6VIK9BLH4CU832GRQG2YM0SA6KTXFCPXM28L9PRWGAVFMKZROFZLK0S1WTUVGFPWIJXW6BPO0DES2JU40ZDT9O0AP0MWJPIWL7LDDG2W0PCT4E0EP6I3VEPG5T4F8N4YDM5KK3F2G6GQT1H2JFQC50ZXIUW8V0MRYTYW0T6NM3MJ4GXJEM7A8VBPJJ1NQU1SGRF2A172CFGYGK1TVLVMCDTGTVU2JURRAVZRV9R6QJBFZH3JEI9YBVKXIUP7N5U2G901ZSGGDPKOU74CA9Y33PSJH0A6TQ3Y9TDOLESZZCFD7C1L003HYGB3W2E7HKAPOXBAOBT6VY813YJK8K2GQ4BHP3OOK7RRLJ0T0DHRATV9CRL7VB1IK59DERFYXPGPBVNJP8ZBX2OGVZWJACW7YLNY8EXQUTRR4T4ZILTG9TTUE8F3DYIFU65O8KTG78UDXN79WPB4ADJN2S3UVBU7N0IO2ZWU5I47H3JOVF1AXPRACTQA24MEUSSHGEWZQ57R9K4AC1MPWPW6EVD6XMUBQ4UQSH2PAWHIU490UOBZJ63SWAXHZ3CAZJOBAZCHQZEN1XES4920OF4B0CNUQQBIMO6X1OOU86DK323P2O1RY92KKR4BJCZUQWR8Q2UZZ96YRU9OWKINKIG8IVPEU0S9R8151KCMM5XZ97EP8RQVBSIZRFBN2T16J2S5UR7V3M7QL7EVOZ3LS7XD3MOB1YGGPBUPX2ZSKVUS2QJ1ABOE6WJYIVJ = 36#2WUCQ3KWTNQ587IR0R34VQ6KTX4AER6TYV0NDOWG0H6LUY4T2U3VAESWDJU0T86X2ASWQOQFV9C6E2DART3IU3AGJ8WW08RWMVSQE8E8KL7LOJM3ISVYQE0NW7LIKRVVV7Z6RCZK6LB1AZ3CDVMNP7UI6369VZJWWE9JC05KG348WBLAKTTPU2GQNMVQES4LDYWTV6KTCT04IVH64YJC27M8546W27DC6UGTZTEN6NQYXY9KTVXGJAJQWXNGCA6Q1N1Y4DSXGSAV1UV7EP81MULKI8DWOCG1JOHHBG0YXGXOY0L3WADZI2TQB6XTD3UW82RK5T6X3O1BHROLVXJTBSLL3ZVW0L2LYXX1GLDOULPXHQBIHA7RDIV0Q3YSY7ZKDHCTZUGVVWOZEVE5NBR6QR9IIXLP5AL54DBLS3BH8Y9V49JYDH7UCZ20ROVYGK41O7FYF54MYR9JBYM5QV6DJ02IU23NWYL2M5J5R347IC4KHK68LAJ3P06JVHVITMAZ0Q1ZJV7ODGUDFRQ6J53IFLWKMMDGH298VOV58JPW5WV9AGUBZNKBYADPNRMEZJX8I7O290LB75PXX6L4RJYLPB8G2VTZDII4CABK4TFHB4KBLIR5Y52HI2JWNFKJXC6L9HAGI7WNMH265K1HSP3JBC4T6B32O4OR1CTSNL84AI3FUL1GCRHX4AF540VWGOXDKO7K5EMKJZGMPTUXIAX7503PU7YWVG7G572BO6YW3508SU2EH1KOW316YLTWYWBW4IQYM53CJ2R8CAKHV78S2KSW8A4HLNRMCBI2TUP71NYGG97GWW4HMNULS10KWN4ES1I720M5F6U51UOSMX8VNXOK9ANSQ1MB0GJRKK0A563ZGEABC6N3LWXUHCP6RAR7XTWKPAN4ONIOTXB1KN7WDQRYAE7DRSVG9QH17B3YZ3Y96ZL90R5ZLXAI5X2BW4A9AZ1NBVAYZ03N04CY46SM3T5H52758763IPHIP8OP3UR64LCL88002WCUDZP3LB9WPGF96RGBI4IXH9DU612YGCFH7U2EEZ38DTE5DDT17R4OR24X4VWN8KSQ5QW0ENFEDTMJZQPUO4QHITPMVW5UYTSOSI9SB9CKAIKRDKRX4D7C84KAXM0U6VNL0HVP0MIVYE1D3A2P3B2F6UOPJVR8AJT2IXS9BP3N3G3GCH6Z63NDZ2577GXFXSESLWF4O7RTLLFXW0J231A0DN855H2EV2PMMJB7SRQXBI3C3UTEEVE3NWNAVAF9T211IGNFZYSLC4V772E9KJCN45G218ZWW09GLB94Z09J8JH79A6RKOPO89XL9VO5VKAJAKSPHOKZ953E5KJ65L9FEJMPVL9LT4MADKXTA2BEF4GUKT728CJQDRN9YH49MA56FHUJUJO0ITL9Y6Y8MYO0DJMKHP3XYQ6JZS8X3K56QP75I2YFDTL9DX0SXU2 div 36#XLBQV2XE8PD50RVXNSHUNAGDEFMH93KARIYC772QSQLW2373SYRAU09TZGKY4ZRPTIFAV1A1BTCTNHPAU5ZV5X1DR7MDAPVA44SAJ9T362002959HVBBJ4CYZ5G7COG9K5QT42REJM52D00CC8SK1IYUI2WFS3HJR7M3KTQ4J52D7KU0N996D3MEK4T2MBCHZFIJXM5NDAO9QIGGH5SAGH5M4QLLRXUZDKPUU4IL2. +-36#MURJ65GCQF6R1Y8UL7IQIBI3V7QTTLTGOFR4J5KVH5GWKKWK9CKK84R0DYOMKDOTYVDU2VZTFT7M6TG6A085L3NU2XPP2TZ02WIXTFMYZ8F53HGH4D5TA47PHEF0VRFW3FI9W50HETYA3L8F6B7CEQZJO4F577Z6QA0TDTRLGTUKTCV8NHOZF9F38IPNMBY4VZBMO8FYYZ58F30HF73TYQ154MFAOSCR7SURRFWA7CGTJU8Y9330UEBV86ZP6NPWF93YGXV1FUJOM8C3NID5Y8MVBUJ2LTT7BSH5HFE525D94T08FPE238BQ417EZHZYAIHSVQMAB0ZHMV1HBS3E3MCKLC5DJQJ2EADHZPYF1FQDTY1SUR121JOH1WQJMLF4BCIIEX99WBXTEEYR64N3QQ92TN4ENB8AO6OU82SUWWQC1F2NJ9NHXGW4BRVJ05QL5SZ4CC05L5Z6IF9O3KO5PQO19J05JRFY3ZIHOXMPYNCF152X7YRJJXNBW713CKV70F1ROONNZ50G0ACRA9HCP9ZRXO065LJX1JGEJ = 36#3R0WKXIH4WNU3VJVFQ1EKTX9CQQRLDUP4MHYCTY5Y1BCMCQY006CUEQM2OKVQV6QXI9XNSKBONPKB6P1CYUBDPX2ZP7Z1W4633HOY25PVEIUEB3FZQ6N7B0ST8O10EOK6BJSKQ2ESAXZQ8CURL91EIPGJ9UDV61UIOVNENYFA2EA1D19BMEUDMGJE1HSKHLHTUSO9YNSM0R588UVMKJKJ06Q6UPQTLS1QAKE1ZDMLUDM7V16FJIOY4XNPWQQ11SC4QZ7KC822THOSU16HV89M8PPEEPW17GCAT8J7EJ75T2IOHOJ2X4H457JPGXQRQLTOQ5VRY7AS64BP884GSHUXD83W7WDJHZJC70NMP3D53E0JTOYJF66C2IDUZHDY7QH1JUROL5FXLS73ZER6FI93RR9GVQOB7QAL3HDY9AWVJJ515U9HNKTYB081O680RMPB2FJZS3Y9N7IIE40VUKNK9T6Z4ENMW3SI8SRH12ZJ8DTXP59ES6NPJJJVBJXA29813FD0DFBM1KTJ3DENVS05MXBXU0WXMCTEI494A85FZRH2I4NWJX3G598SEJ84HIHYY0Q7PH639G67GPD9UMRJ3UFIU8IF9L7WJNSJQV05IF58Q58R8WVHS2R2SYDWAYJZZUHIBTAA65VUXIQSAC8MNSJX9PHGR7WZSPWA6Y5IVYORZYOXJS220XCIPY01TZC9VKEZ2RGOCUOX5IEZVGO79SX3WR03PEMVN5R2HN512EEWNWNUYHJCYWYU6GADTRMFAR23QJZEKC9G0BQAHU3P5S9CWGHC4KGGYVHNDKVND4PS39CK8AGTH535ZLKNO29HJWBN5PDRB9Y2R23PRYE9KRXLVXYC668FTKXGFKZ65XKWVVFYR85WOJ9DJPUU7WF4Z6XG3P5C9Z1B7MI6L4Y1LBWAIO7FSP5F4IW6S5NH4EP7ATVWGDNUIJTJ7S6SU05B131T9GEAAFQF6YCBNBD87LLOX8DE46B2RFRSWSAYRBHHLDWEJ1XM9JF86VSWG4PFB6M60SSF5NRR8JC8BNJV4JYYVIGQQBDGGQ5TZ709FLWAU24VQVPEVB23RC48WWDECJEU5YPXB1W1QIXFLYE3VN75F36CFSRF7X7UMZ4U3NXB0IA1CIJ32H2AEP4ETDCBYI4PDG53MDYGQ7X13NNSHS28Z7OW5D7F84U4EJUT75EGMJ4KD6IUEOZ346QYBBP8LA1JVDAE9TMDWA8XWEMKYLTJ5VUTH5 div -36#5WOS927HHS6SDXFYNH7QS4DGF3EHCH0M0EBZZCAYFGPQVWUU2Y4IKICP4SFP6YFD4B4D42KFJIMXGOGP2W3LSH5CJLYMZKUS211ACL2QII3OHUE82B29BCDEOO9J06G8NJHSNXS53YZWXAU09WOPTDT5BPKFRY4X0731KGHHC0AP2S1JRHSFL86NKYG3U4GZB88T0KLWWTB7QSRPH936YAA004IIF91ALXWUEBP89LID0NG91Z3J6XQL4WLXKENCVPLT507KBCAN316EVF0ROOBUWB1EK235I7QXWHI38YD78KUS2DMUSGOXXWE5E10DJPVU22CV8MUQOF8MLTLJC12WLINB5ZMLTPTMS8GFHF0CL2TCRJJTZNFWNUE3LQNZ0O3KJ93GW4I08SU2SXLUYQ5BV1YUDUFNAXGK3BMLN5VOFUAAOB0O75CE1GU1WQMQRE1NZB2OJSUEK4044RZLO8NE331K281ASEW4WC9P5B954C09PRJIAGEVF7T3FCDQ89YCI5RFNEU4ZYE6Q299PLPRXENPUX4K0DBXJKZXDTTRDZNUABFM17LID7B9CPUQOAB61RQAAODRIHEGVEIJUYJJUKRJLQLVARLH08ZL74X1KG3VYQ9B0CD30ZD1GD7ADZUHTMAL1XCRNMBNOMHE3PGNEO4N9LKFSFEYHHCRDQCUZJX024ANZBNRPN. +36#MOLQVQO4D7NK994K5H6HLUDI8B8NB07F3OCNZ2PJUOZ5UD5NC = 36#HADFS96M7YVG9MFWZW60GO5AJ5G6INMITE9ML3G522324L20HHEFBGZH93FXH2UINWCOZXR9RJY0N8LCM5JMTCPMI0GZS2JRRLE1VNJOAL0VH0BXRWQ285WIKH5LXOG8W6CL2DB4QYA693I6JC07BSPWIVP6I2BU25O8IGVHWCJN1T4311PBB48K0 div 36#RFQS8KVV9SRNBL2ZA9HXNKYD6CFBABDGN4AYP2EVT41A0LEWIY4I6264DJNS8EOC2YWYZ42JBTYR7Z5X4U9SDE6FK2F6DQ8383ONZCV3NR523N9JWJDZFV6JSQH67266IWLY6L26. +-36#4JMGXCDQ5LM1XF0W7B2HSGA00CE2V8JHHOU396P0F14WKFQDA0LB5G1C3UCPKS6D3XL2BSKAS9XTH5K2EFX2N6LTXDAZWXBTUYSA05G2U1YIA9GOCUECRVA5I80XI87PTAAUEECSTZVFSRYZBV0T2WXBRUZPZYSB5BFWYRJTO1WCRVFUG6PRUXD0155T2O024ETMS6AOFOI2OWWTGHM99SL3JIRALAWSPO4Z6TU7HNZVBPDVW9JN8CEV3WUC7DYF2UYAJL64T8LM2F9WEXE0UPUZC5LBBSCRRIMRSJ6JMN2R39Z8Z1773CNUY3QA4I3LPTBFGAACU0AFWBIN6YE4PFXYCP500AVILTJXLZ96FQ5Q0AADRX5BQIIL71EY9VZ77I8CCSF71KEH5EH1YRZR5PLZI50W09OJGSOEJXMENFJWM07OSJTNIA5XUD4QOPQONPABVD2328P8900LJVSQOYOW0KD3KFFCKXK2DBD65CNI75MWDWVFPYJ2M7HAZDUCMTXLAZB7DELCWVL109352B104R805J0RCPTWR9G9U2YOF5MUAY1AK73OVVVDH7QIBE8KTQNJVC8XJRYJGMB609LDWYFW9BMUY9IIAURDBOF3YLRGYMWZ4YCNL0GBN2O9VPJED4YD5XTC36S2QJLWF8YUGEJJT6CCW1L5N4PS8X19 = -36#1VZVKNVO4P4EG1WX63IWMXZ96G7A5589AHK3IJYLFSLGAV4BH85RGWRALGDARZ38IR2EJFY1Y0T4075TTD8HCSB1XRIEYUS60N0XJKSBYOOJSQB6YPHTIFOPDQOCXNKZSZTIXRE8NTTL0DPIF0Z914Q0PEWGY7SVRMLCJZ2J68TU9H9P4XTNORKTNJM06H9EYG8OTZUDAQF1S62Q95FDJ5RDXNOFS1ZLNH08JILL9IE1QKV67K1MXAAC1V4XYH5ZLIF * 36#2EMN2ITFDYC41SSKITCEL6FHXF94LLJRR9KZQ80ZNR32FZDNEOJ6CJBJ6Z5LII53FT7NFIJ62TCZKUHF3717SXQ3X7QUZT7KXU5OSHS400IDECTNK3BT70Y3CJYEQGXF1PHQ9L87HJRHA92KEQ1EDDI4JEF0ZR56P0RQ8OTIMN3VFD0Y9TDW9E8124BDA9N3XWX2DSABZ61R429JV8ZKVBF18TP77LVIHCYTXZD59SIAHBVBUKRDEBEJ0SRDGVCA3IR85M5PRCVQKJ9ZI4ZZZHF29P88YUHPXLR91E3OF1SL43KOYBO30HTTY3W0W3J2G85M4PZ14YF08HFK3U73A28KNHMU4OS30ER1C0STNHVZ92JQ344XE0BLCV6YLAVEQTEB9AAQUW08E20DTZQK0MVNL2MPDZKGE8NK474VI3. +36#1952H3BCY98T2K5EKMLOPC8T5U4K7TFXBGWSQ8THKFP83BU7P4ST1X9HZRGR1KGBUSA9685VM048CDMO3MUHQP1K6GG34GMGX49RRSZZ5RBUO28TIN0I0J1UTQW24V56Y9OFFBEKJX1HG3VYY4P0GWRNHOFB5EY3LHUZDJIBCJZ5H5W8F5SZU49C6DF2XABJZ5KIUSHH5M5CIJXW4B7UIIQF6NAPNFMX8P5KEN7LWHNM20VJAN0GBNFZAXHJ5SP9CAUQ3K7OSEPDWVCJ0F924X1P78SJ9Y77F7PROH9Q6EPAIKL4R2O1CD6H5KSCZ0MHNGKFYRW23CSM9MJMXTOA3ORQ3C0TLH41GR1EPY3XFHE8492E0PCKEXSE14FSURY8GU2T2FYN6OQCID79HQZQS4BVUFIQ8MZ96ZF39OEV4ZRHY9K7DXLUJ9N6F8Y180IQSP9VDBTT74XPC13CPFHB9H2C2R48N65BPF3IDV4JYU4HMEVG2LKX9C0SX3NJ3WEEHYPKCM5S2J9WY8CRPI4PR2NZ3HUKVCXNQDJ3HNCMGUDZMJADES5Z5R2YUIPFB0DQOUJCVEOS4P3PFZ6QEG0C0VNC0IBLOXH7MAJW2QNNVY9HN32US2UODVW2TQJ = 36#4FLMOJZ3EKDOSMEQS3FD8RPT1GYMA1ZNLUK2A32KZR9JBAAZUDWSFTQG8MPAU7353RJTPYE0QOJQ45QK3W6MPM7S0G7GKJ5ZDINNEG2ZNOZXQN3LIOMEEXURCS64X4JZOTNGQY29C5Z1XMOUCNPVJRD8Y565SB5VXVAUM5YI8NSRS18IK96WS23GKGAUJVRXNIDTIMNW67GMCD70HSSGK2V0ZA6RL75HZNHE5HMB9ISVIGD5W1S22EAKIOXB7LT9KS309O2I6X27KEKFO0DUFZFB9F32QR45LAEFSW53DM58QP4EDJYZCIO9JEQX4Q5D1YN67EEKM36F4J95QY5YI6H9MQ249UU71FKXR20DIAJD3NUIJGUUFQR66HR4ID09C94QDYY4KXK10JZEJ6O7ATISGNG2UUN2MFZBPUABAKJU9P9HY78705JUBT1AJL6GW5SIOM4JTFL5J33TJN5BDP2NLMSHWO2LVM8GWHXTUIZCAAHN9I4PAYZ6O6G1IWPXBN36DZNCK6AVNF5LYK1VPFMEIDOHU6195WGGAXFKEQ346QAMYX568654JPX326ZJ8T1IK35NAPDXT6H9M44U1H11DJNDTC67FVIWO8ZJ3U23I97BS5RMWRAKLDFC01CDXDO13WE6C9PKHKVJWYAA9ZLTBNN6X3LOUB1QHPKUDPUNSMQL67H0CPSOH94Y6MSC1OQ6X4QKSC1RYYHJWBITR0KH6MGUZJBJPF75GBS53TCD0OEQZYJDBLVCJ89BRXNUPK3WDJ0LLARQ7HLRGY8E5G13AK3JDWEFS63CYL85KO6F7H3HDVEWMVQF5MTJ7W0EXBSTFWK3SW5HXXSXGTR6JD856XX1PZQ1LTZ4WTKHJAF3CYQTNXLDOM9XL49NGTYJ1KR6VUUELV504E73Q79DNF3Z3T153GYNXAQKGCPD5NPJS1RUDX083I9BBPIWZKGTHJX8FGHJNRD5M81Z4EMELJ7G div 36#3JA60KTUQQ4IP6DCB3S5NIZCJR8ZX1EUUJE9TV3GKUXYEKKLRKG0IDL7E4CB9713S6OJ2C3KRSDYJG593R8IWZJP3PGRQF8SS1EXYU55XWX29Z5FVEFDAT1JG9EYH56JPZQ3HYDLUUY53SH8EWUDKN7ZERG9R27B3EHZ2QZZ3V7UAKHHUCNGGWVGT71F01LZH9E00WLGZ4LGZ1PY0V6NBCPDBRHYBFXMLZA6536CUKULOO9DFBM31ZZVUINGY6ABFT9V6GNB2BWNVIZUQMR0E08RXFPV1IT59W42K2WFY9X1KL56L0TI749S3XP2E1GJC2B54SMY31HPKM7XC3H2F2548LL0XG. +36#ACUAFK2CGQH6XH5FCKN4VGCA5F4ZO6JDQNUH99XRKGLA5X1GCJX2J6S6JATA9BSPGZRKKV421Q98ZXTR8V69JIY49473OALFYT6TV958XSDFG3A1JFLBKS1PE1YCG2FXVQ495HLXCCT162Y6TUPTLEFL15P6ERYABZ7S65YII2O0S3XUNHAPG0VNFI1D0TZQDJDW3EQL3PCWEJWYYEEZWYT073X54782W0XHK6VS9XRYWFZJFIPRLDRXRY646NSNSDB2FKEN88U5116UPRX3Q2O2VV9JJSM9MWDPR7R5FD7JFHZK1J1BQTTRTR13OGMVYZJERFCETHIAWKXIY4VWUHMN22TMQVTBDHC1B0PXLPKIQPI4OV2HEVGZXK48R2OPTHE2HBC0KZGDIO3M1PTOW1WCYWIKM76WUXTNO0GAC = -36#J4EGPKKIWFJD07T6Y1192FNXRUTB184D0TF0GQJ9PFBLRWJ2X5UCX84QKNWY5FEI8DWKEPQZB92V2AKXTSQ36JY5O98B2V3P46M4BJU2K7C8TE74G01CSP0QZWNW89WHDVJI5F5M5BCNU5X2H6HV86AAWVNTH1E7P9SCJJFHKJMC6IVDLR1N89CQQNX5Z24C6POMRKC62S0YH066JK74DI42CN1C6TVM1O7F68V8UPKZSXVWDOUGYXL6KM9EL4TUI8HC96GTNEZD6KNL9W9FTW0YPKFJ5SM8YAIX02UOJIOE0LCS1QQ9W54YIK0JK6CG7PPSP698UOV4F80QEB6D6Z2PR1RW4SOL7BNYQW9Q7HWFWJBXMATW0PU9UB450A656SJL5ZMO8N8D2JOZDPAOZOA0AUV17Z2TDI6AAN0Q5CUQCT0FZI09LAJDMVXKMCFTJFRLLR1CGUOYZUOIWPKXRKPSBCL5JY5XK8K7QX1A35KKMAF50SJGTHXFT0XQZRZTDSJ9O9S40JN6TGH8J0BQH0C8FWCT2MJFJJEGUY4W85PDYMDPLRC5E1ZFVQ77CB2OVJIHOFNXUVLSKE96NARBCWLSEJWZD97D99K0TVB9ZC div -36#1UGW2GLKNV7GXFPLJ8UPW7B8V4ZOID4R16YWOWXDL5S7UJX074MQEV1GEEOUT7BYM15A04TJAV2QRSUNHZBBSNL2VBUCUH5FTS4SXKJUYAS5QWT1IEJXXXERD02Y3V12T3EVC0YTAUIDT13MF1XZLN5LAJS1N62PSWCN11KC3NGAGFXT0DHJBMYW9KH3Z3Y9TM. +36#ZOIDZX142PWDZ4WLELOOGYZ0548334JFW9TL3WE6PSV9RON6B = -36#1JOGP2PU63PSGK6UNQOOKZK3PRQCPC9DEI2TJQ2COUODT215RXVCGZJAS7JCS87LAF0LT8VSF4MFH0EYU9TM9JYP59UR8F1ETFU5MISE7HETH5QVQQVP0L8HUFYZOOALNWC0WSYX8I5UZY1XWWQ47ZEVKKXTRVS9BRZ2EPK84B0S21A8PXT81JT7697FLDLKYZJ17 div -36#1K6E4QVK78T0I1PVTJ7LYW9WA60KUCUTZK2Z4I6DIV4AZ2IVKBAY9KY615YZ8M48AQUU22LBU2SA3B9BQZDW15R2PGSPXM9F8ON21NQJI82M5YBMTYBXZ640LMWOWMWOLN5ELOE4LF8E6W0KT6AH. +-36#22VBCPFHV5YJ7RLD19F0SRWOY68IZRZYRMEATGXDHQXJIUHDBY671JBD17GOSYSQXMR5JBVSSJD6OFUTAAFIFT6DVJITN8CYAU3B2CVT1IRKQSP3OOXC0FS409UDZ04ETE6NLZ8ALIBRXT1UNFO808P1TEKCIX7ZI7T4B12W1PS3P4UA4J0V7MDA2ABOC3HT0PM4MUSFKMD3DMDCQUQX0L1MC7MDREC1SK6FP8CZ708QQ94787SMCNC05MHV = -36#CFXXPMXHJL1IPT6GX5GJ8RRA7YLCC4PPGW1JFBQEKZENLBZP7 * 36#60M5RFFTSX118KJ39YI30PR9FVRD7PU60L0ZV8E8CEUJTLHK2GWY7W2W6I3TV1PPGMOYN4CH1CBKXV1SNTTAKM4GBLM9FXJGK1HLH18S3ZICSGJ18DNDFOEK8NVFXTJ52DV4PKHW5N2D7OQMRTX6D3LM2AHHTKE7DUEGGLXVIP9LU6Z98D93U9N9X0TSAZMGXFR3BYSUU0P. +36#4UUB4S46JYVK8IFSHL33TX5C4IIH4Y3MVD9VLTKG6CW0I9HHT6TDWTN6G0T5U48FV62OACHWPNPM9KYOI8UYHOB4E2IOQ24RNQ7EEXAKKIVOB4MREYMTXN35N816PJNWWX4QFJ5QP7NBDT1H0WS60QN5FZDC95KOGZN868PBABAFIEY5K8UWGBAHY6HNMBC7FV9J5HH05V24TQPCGGUI660O11H8LWVNNOSS6RJ21MX8NKS6AOI87SU2F1HJFS02BN6M4ZN6F2MYDRF77J269P64LSUNYUACDRTTLLK4KOEBL66BIV7A9KKZMH04OZSROROTGIM8V6BWTC9R46LHS71JCMCSPKZ13A3HVX9MRL6GRHNLLYPMJWLKT7OOZ6S54U2E61ZILPW6W3JDIOLZEAHW287GEDAVBZ1WC97640V8VC5D8LGGBJIDGS4CHRGAAA4BSKKURTMF7DYIRU0RCO6H0T4BT1WSDZF9LCX4C0H97ZXR4I3V7P7CSCMKQHK83BDKHPM0YCFUQOAV8C20Y69S5WUKC9H7NHR39LRU9XAQRHGFGXW04BZ124P4RQJMDHLQX0XN3FBK8MSN6L4QSZFXN6H52HCF2L2X62EO2MACPEOLQJVKAF5Z67P5CE7ZKNKW7XY2BEA3HH0JKE94VJV81V9UDWXLRLQHSFT80SKD72KEXU7BH1MYREWMET85K9X4F2G2YLWE2IJDXADNJFBWUTHR7QDCKG2M1924L948XH29HLI7E6B90RLWQS4BDICO77F3M2D6ZC5QIHIOC9INE3SXSWI16Q320B8REZCKNYTX0BKNIT16GWK01PJ5PYNZEPZLDULKGH4Z43O0MT82SHASBJ9CVQ5QYDAA9878HUWDGN2Y4BZ81B12MH6VCFU76LW0CYACM5Z6SWDRKH4VNWWOQM8AVEHJ0PP1SRKAA55LWRVDTFVLI2HT4J4Z2QZYREHZ69SPMS25I4MPGR8O6A5A9DH1LP54H7SG077TN8N8MPUDO9DUOP2JV465TK5T9Z5M5MO = 36#4UWEBFZK4TU7XGUGI7OF5K2PM7YKN48GW0I8G0G6IAMEH0P0UXL9WKXS8NN44R6KYNDTTWRJ0UTZJZETBS6HJWISI9YVAO3OIN4A50OPRH1PM62N2D35LNZ6UKCKHI8L6ZTQQYE9V9QFQD6FTY4418YYDRISW8C78GHGG4B07HFC8SO92B4QEZR1K1RACOPFAMZ9PDIHZYLXIECEGQT5OCQHDKDWFCI0V7Y5L7XZGD6T1ERU23FWS9I5RY14BJQYVNSL54E8GVSCTEA2DMB3TDLNBV4JB106S888RWQ4NU2RZCAOIQ8B58FMYRW3T6EM25WC4AMT7RMLKXERE4O4275KS6G1MB312ETY21SWM7BJAIKKI8J2FYXNNL9ZSHM3CI3Q9BJ10P2J9C * 36#ZZKIVRAY1AJG8U5745KH6AT3P1N8NOGLWI8VJY6G5HL7L5Y62IOTCB61YAJNTSJRAH3N98Y8ZZNG7DHGCFZ07H1XM536MOE718MN2YYTKYPDMDPQO8RKVNCLHU3YANN54KU0WWJL17X4J6VULH1K154SQCN98VVBW6N3EY82SYS53S675KUN4QYGU1KCCO60PUELOAJ9ZY3U9HGSASDE622GA6664C8T7SIDWEB2HFRYVSA30I5HFLK8WK3Z5J204VIX01Y0F04C9XCGU1OY9LT6MPH492VQ3WRVM2AIYKQU0X00CX4KIYPDI2M5ZZDGAJOO5UXERIBS256OBS8BTY7884CP5IJN0Y5U0C5WB22PTLI1XWA68OD4VH6WZPV3UMCHCZBZFR3JLA0VVPX2002Y8HRKC785DMSX9IR5NPZY7UC1XEKPWAYXFFLD71LWO19RM4PA8OMOVP1NXB33NGKR0KBOERFAPNZ969ORMZK3EXTFBGAOH8C8OBNCK8NPY2ZMX540FU2C1NSNNDAPCI4HTR3VBBCD6B7KK3GFM3EK13GM3BHTMG260OR0L438XFHHX4D5SDUDV2JAI4G54H2M7TU08I0TVUCIQWQ4BEV3OO8R6XQVBJNKLWB75. +36#HG92YY5TIC6FIAK9D1BEW5SVILHB3AZ0WE5R5FPHI578MRRQ4 = 36#FHNC2THR9DCK1581L42Y0E4IDX3BP2NAP9Z07V9Y6RUV4PSFCRXU6X5GO95BKZL827TGF4UZZJ9I3L0TT1DI89C3DEBY5Q9R22RAZJ0GRIRNBGQ3AL5KQRBX4WYQU6VTPKBKVMWUMXUUSE5G8WHO0HV9B74IUOHVNGXRPGHH9IVM08ZE7NAV66KW9XY6INE79AQN0V39RI7KGJ42BSBGKKXTU2CNLDP375WAQ2JCZCSMIQ7FFWMBJRSDNJHVF1XLT8P1Z0V0I13MK5ELAMN7X1XQYP92OO88CNLQCDWW4OHIQ7V5T8FVAMFZFWA3FLQD4M9UD3V4I6D6ZVO3O9MHRUSI8F68JNJNJBWLKW02EQGZVZIWXNZPNJPYIGF4OG8HRQP5QYTS div 36#VYCPU4LFY2ZEDOJELR7VFQYW44K3BWX08DAQGDRW0SWG3FFD1VMZ6AT8ZAJQHF2AKCGSULFZUEQA6866WOD9OJ7SBENYP5DGIOWUB00ISRI7ZHXAB47J241LL0USIKHE252LIESCPW5WMEVC1C63C0MO8YBXZYTO0I5JGCP1CA4N5X7PI1X1CZWVVSO3VJETTYMLSFTH2FA2RK46V1JHU7CFSZ17WOJK75TIHGBHOPZFZRJVV26MO3CDEM7MZPGAU20VPTD5JUFX1WKQNFCJJDCWY4D5YFLKZYDNDSL5PYU1M98HP8QGS6HAGF2A1L8ULHMN44VZW9CB2CKGJDWRXBG. +-36#1JOGP2PU63PSGK6UNQOOKZK3PRQCPC9DEI2TJQ2COUODT215RXVCGZJAS7JCS87LAF0LT8VSF4MFH0EYU9TM9JYP59UR8F1ETFU5MISE7HETH5QVQQVP0L8HUFYZOOALNWC0WSYX8I5UZY1XWWQ47ZEVKKXTRVS9BRZ2EPK84B0S21A8PXT81JT7697FLDLKYZJ17 = -36#1K6E4QVK78T0I1PVTJ7LYW9WA60KUCUTZK2Z4I6DIV4AZ2IVKBAY9KY615YZ8M48AQUU22LBU2SA3B9BQZDW15R2PGSPXM9F8ON21NQJI82M5YBMTYBXZ640LMWOWMWOLN5ELOE4LF8E6W0KT6AH * 36#ZOIDZX142PWDZ4WLELOOGYZ0548334JFW9TL3WE6PSV9RON6B. +-36#XJYKPK761881XX34QA53XKR43P8WNT1EDQNI8XTVWCS3AUWWE9YPJ50AER7WECPMLDWVXQKG2WMW6WQYONR335KAT9B2E735UURVVX7 = -36#E3GGWYHNPINSL378BSYMA6F8UUD9IVU6TECLDGBU2LP92T5YWGSE7HQ8PMB6YD4ZH1R706EKMWYPP5M90Z0YE68WSN3SF7DTCSR0XPRU1JPB1UG3D93Y37CJ7W3UK5YVA09BMIAPMAJNO5ZW7638TE2O div 36#F4FXE9TCMR7KB57AV1UZSZXOCXFYG6KKB2B40ECJGF3T6RKAO. +36#73VKA51KAB7O59Z938JYYK6E90AIZ1GD5MNXNBT98RHQCC8U71WB1JDA9IKOON3F5H1S41JDAZFLBUO3QCL08ENHLKH99L9Y44XUWPBNBMT7LJYGM4ZOI3X6YEEOPVQ4SVOI1QDNR8B8W = 36#38TEBO656H2M1FXRXCVA2P3MJDRGXO6CF6R5L16D6L9I4CI6WC5NCF2OXO7KBWSAU4B5O7L7LT0CIGCWBPA127U0V9FOZC6Y5PS0RWUP82NJFA4Y81SW87U6ZNEUJK49BHW44U6TVTNMZ1Y9WCQ64Q0VY1GX7382WSGJ60GKH8858S6980EMIQ38CCRALOLGGNPPG1VJVAMMEXU5NETNK8Q18LWWF8MCWU14N7FLR92F4F6I8JLVV5CW4Q6L28KEH6TH6WQVON49A2VREBN4L1EXO2XM2262O1DH0HK4B9OZ6DBN5OVQFC61R0L2CPMK1O9QMMER03IXKCEYJDCM0B4BONZCZGZ6DK3DB4KT4T6EIVINJLI3ONFM1AUBILHYQZCLQTN9OS6DA0NC4SVCIVLK9YD5A7P0QWP2DS9R1KL3F4913D2P61Q1RK2890Y5NQDYLBZLYGXKFL769QYXD8E03FWWYXOBK4AE0ZN3ADGSGTE0F6DXWDC div 36#GFO2WP8O76USIKH1HLE7Q9WE20D921S8WD78PMC1HOJWXHBRFMKWUNMU7HSVNJJS7ZRHMQE4BQUHGZQKW9L7C1VAYEHXJ9X1ZU7BYSVT9SD2F50AS378ZPUVADCPWVCAGIKCJQMQFT1HBETZIXID6D31Q1OC31FHE0WZDCA7QNVNDQYRDW4NDSY904OR8TXNV2NOS4F7O6Z8A2NLC6XTD1DQCF34P3EO4N6S63NENZ716M7MFIWYHSK77AJKPHRKTEGEU9Z4AAW2E5I3S8OREWHBXGE8KCE09MWT8OUZBU7K5G0SY4BUMTRP5PNU656I7Y5WBGCJ14D7KALG3Q95ZYWHDXV79K7P5C7IKPIMA6. +36#1X2YPQ4SCIKCQVN2IJGMQ5Z46KOOWNVCELWS10C1R6AUE5BHMV = -36#477KTKATTO32TOQKBJ1C1QQSEVAMOF04XHQBQGBOPN9UN8702G61DNSJEKRQTQD0E2NZBF8QX61TSJ4E2QNM7AB4GQEAIP64R66 div -36#26SQQETVFZ0BI4RZ8K8Q7D00Y1U5MURJHHFMFKT2MXAXTWD9J6. +-36#1A11EIE9BRCVJDO4LU9ZTI1N6PP2YE7EVB8HPXYROZVVANRB80VJ20C6BY39KQZY2D8XF9ON9NPE6PMY89M5AOIQMHAFRNDTOIH6MEI6L51RNSLYAJA13QNO8EXD2NPONMS3P11XJP3BV90APSRLUYQVC40OQFVMZKKQKORLYAQV5RO34RIBAHAS2B2A6GX7IEZZ6JN0LRACV02ABJ3QAMQ2ARANU89E7893HX3QTVF2KGZ7IE93S = 36#2Y9LQ5L6I46MFG1TH144G7IBE7W62P7JNWWPRQCIE26G98SX1M * (-36#FLCSD8U6CHN19BCJ55O2HOPNE1JGOMQYZKIQ2075HXZL3IZ8JJ890IMQ0ILVVHA2CBA6C4OKLGSMY64EUW6XYO4FBZMBVUL0ZQ9JNMLYYLG4QA17I21ATMA82IP6EGLKT7EW40RREWLABO84METO3DVCZY7PQ93DQ7K87BGKCD8PZ9P4SUQF0NX5LQQG3ZSJIZG). +-36#PDPKCIYH6RDI7RJXHSSPOLK7CZXQ7K7OSYCKO47F3HVCWPQD6 = -36#DJ8FJQ30SBRFDXDLQMJKUDTVHKHBH0ZT1Z6QE3DNMDTEPXY30EZ6ATCJSCEGDEXCM7WQ7OZLWFZVE1RH2614ILOHB19U7JY8HIVI2LVTKIJ60E4GYPNMD1ZFOPPUETQ7ZYJP4CU5NEX9SG7NRBP7YKTOY6SZVHAR3U0SS5Q25XU0HEABW9KYUETI39U4SJY0JN23TJYW3IGWW06WX9DNTOVMO89F7TUL22PFH2T72443ND9DN0HTTFQHEZNHML17XZ3MDY7U8370MUSYP9TTRYXSCC8IYZTX6VIUFRA2DUG3OMI2BRKRYIE4PM2V3AZEY7TOYVAIGB57M2F3OFEQ702WSSD4HMVP4GZ0TW7E2XXT838KGAGMHCB9R7AZEC19JUWQEBUCXOYMZ6A6JKN29Z7LZS4LMTRO6F9KQ2MAC div 36#J7382T2ZOT9P9Q1W0UT7X5Y3PJAC7FFIQD39P82U9PE979MF9415BOSM4A8GEZINF1XPD3508XW74VIGJPX2LC05KVIIWRNDDGMUEX5NGHZNY2Y16IK1PMJBRPU64VMKVZC3LG3MX22Z3OY8F537X5CTICT0ZOTP86Y138SCZJXJJ5DQTAIQ4MM8RYR7LZLSQW9XRI56TSGB3C42OZHZXP8OH46V45DEO6L398U1IBUWVIAV2AUW4NQO5XC0G1V02VGRYAUS5X31F6U8ATUXSWWFS8806F7LPVWX9VNCRJPXFDVURGGTB9T5LO8HTB80V2QAPBM1TFWCSWDNS1TVNKPDLVK6LJJJ8EWB1CCMWN2YRDPKY1N7E01E. +-36#3FNPS6PXEGKBFQ9QE8ZAT9WMDT1HHNJ1YZK9GP2O1UGTLWM80L55LK3COMZFIOTNQMWR07XYTHV0KCX93HFXGSQMOC30YDI0CHJ346DJN3GZF23LL9E1JXD7RS4U6Y5DBMQVNIF222SR4LAR7JWSU8CG1I2DA13CFQ6TKE1CMP5ZEJEL9NZFXRXMYLIMWE00PJXZZB8KT5DQSLPNKAS58NWP8HFUY7HKBXDN2J7902222GCOBBM81B3L9GZMY52XQIMAKYGR02WQIAJYZFLT96JN6Z4ODE2SH08V6NKGXZQDDNTYF8B502WHMG131N9QCEI3JBDCBO0ER1WXC1J061FNJAWHVE25TKWPM4E1GXEE17VNN2YJTJN0 = 36#24JPWQ77T042XOW83VODR9E0FB488NZK31J856G4GL2THPRLJXUQ129ZBH4G7XWLVX45E5JTIQNBMDC455CFXJ06O4FWV37GABYLRNQBU6N7Z7T5UJJJEK3G4JDJRLM232282ZEB3MZAMI5RE6ELPC25VOJH6ZC37S4JBC8SP0KNT2WSSJ0HQ0OJPAFP35GTM1FIAACC1C2L0UPM838KZXTDDICBVTISW8MJGD7NWZF1KU2CIOGTJXZMUPU94PC3FB82LJVV94026GPQVHLHQJYCQAHVRODBO5RTPBLMKNQ30ASE2VHUSBGDN5ZQCOCJKXOQQNG * (-36#1M5M8UG7M08NPX319H8SQYBW91MUV7K9OPN27PPDUUMTWPMHM9). +36#2ANCLXDCXZ1N7YYSDX80YABCHDJ30RTVJ3PNC2VMV5AYT3ULUG = -36#1KY8ZZQEEY4XAVGPRB94M4X6ZSDUPDIEY00CCQWFREJUREP7G4QYJR9P480Z30ESNZPJFH8FX6HFQ7SDA5HYFU8P9A5JVVG176W div -36#OT1NC02KABUUO2SMKNV90AWQ00R4U0E4J1ZCXOR4VXJAOV5BB. +-36#2KZKCFP4HC8R6PZAYW1EFKKFNKP7T9EDAZKWASWKJ34HLQLVT7UWKRV9W7ZA0EA58ORWKAIFF4AP44CQW1MRJUX51QCX94P90SFPGTY3DQ2BAMAQ7ZB5TSOUGEGEXENWUJU2USADHSILRYEW8UE6CMGW7UIZZQH4HXENNH4G6ELKMF0SBVB7V0DCJ8S55X87X8V9F81HULO2WGM15TFUJ8DH9EYYE7627F2AG3XLQ3O8LY95DC9BW = 36#8B3H2FXN3BQ7SKKH5OU4ZOXY31TYLMP6EMF5VN2DBR8LJSQCEA5IL3J1FF2TTWNC8ASKA1HU2ABRNVHYM2O648SQN6MM3Y4H3QFPAU4DJNC5SQDOQSQYHNJOTPFBVURNHUGKL4M7A0UBZFD6JN2CTXFR6UKTN8BBEVSHO7VRBJL3TEAXSJOX7LP1MT3LVODAJD18MNE4E91EYZGQ2VI02FBKHDPNQD9NKWSMEU7D9Y48YIBWFITK129W755TFK1CEOI6Y93GJH885C42JS3SSU5APGBTJYP9ZRW6XTLL3EYBS3RODAO0MYAUKK93TI67LBI8Z34AS67ZLBJP569EKOTMDMORVXTDITVXJM53W32RZW0P2GMMT3DBXJ6IL9T5H10PU8BX2CBWOJTPGRHHV1XOX25R3JZPBSS1GYINTJZGUMZJW div -36#37SLGBEBT4L6BK86PD46LZYLGLZBRO4XX7IH6AOHB5KUNCHE6T0V8WDUZHFNE6ZMY7WR3SF7MJMAOJJ03QZVEVA90LCJHUHSSKWR1S602VKSD4Z6K889IPK5IBFVFYBBZ4284NG9T0CNWW57FLMUQJ9MLOR7WCT3SUQAIMK9D3S71NI04RCB6GG4BDNG1. +36#C265B2VBOGN4609B0C2I6UY2AV1YLK2JT34Y2Z9RKOXLI1IYW0VGUOVGX9FGQUEU8WKDLN1NHROXHNLLFEAREQW6KHFPXS4JK047P496TVDIRL3SBZWA0MAMC87A75AQ505EIQX3W2MZ0DAFV3IOHUG8PO3HAYFU1LVZWVM7JKUUXR4HDYT6SZEL1QMND2VF0BR83Q8B1FUYC53HQP5T5XVZ8A3MBY5965XV15GP4GCP6PQ5GM2NZ4PZHC44B302KP1CFWEB8IVD0QJKVD3UZ7ALFUKE9ZDZLQ78ZV8F7LIQ1UA93A78U731EO90KFEXCDQMOMF19K5YUFS98258KX90KDLSFUDTKTRJU05URXAOCAB5JDV7AOZIRYFEEKYS43Z8NTF81ZAH9L0SI71FC5ZRR5YLTZ80UE378T7BK3WX4S8MYDDFSULAWN9C0X26SFBL7XZ5YPUJYK6PC0U7L8JUZFNJBX5WO8JOFZQYCOJ8S14MCYNYIJJ9VK7WP2ZHLBAW16MEOI8SB9PKNT2EMIGOEXU46VB937H649FNMFJVYCAMI0HEJY1B0GO75CRKXTZJXP1F7O8QHJH95HI31QVBQYS4RP8DTR9455GFEFJZLMCV0X8C = -36#2DD0BWY0MGXF0OPWYOAZNDL88IS5VAEZDVW8I74ZIU5SX8H12Z * (-36#533SWMLKIVAVUG96IMKEOKNZXSWDLMG0U614XJO7ALGBMY30VOHABL8QOU28T5V1CNU360ONWMGAT10V7ECFQK89GWYELITJF26J0GD3B95SVR17J3QHV5K7UHDKQF5XIU9BUL7YNWB7S8JI3608DK3DUXH8D3DBQ8K85DHGN4YGGZLPFP79K04HCFRGJLK0I3FMCOLLAQ3FHCHEJBK8DB2PXQM7BYFDTBRB45KEPOBPNXFBSSIBKUN01J6Z8B4NZNAQ3MT41ACXU1OEXDADF5XPVD597EWVFQX2HVBM8TEPSLBNY7S0Y6OFIT945X4L9VPFR3OVGHPWOCJM138Z086L2ICFT6PRSONE8S02KBJ27N2BVR4JBUY412LZK00H6JOY0NQH7W93MQJHAFLAXR8WQCRRPIPW8Q620WT7Z8EHPUENLCNT10585W1LFXFIWMKB1TGPDAP556KC8GBEU2X40EK6G7ABZ13G6R66ID1M7GUXAPOKXP6BDQ4WYE9MNUB26HG0BR92JJTTAVCO5NW977FFODP8NOXBVJOWGJZ7KIGOHN2XHCU6DU6RPM981RO). +36#14H3QY6312MX65BBHXJWTBHPUUH6PVJDX3YBFEP1OMAVM1F9KEK7QNRIZQW0DPFMQBDBIPVA9JTY7KB89RJTMEYQQ23D1XDE1UVUXLTKVCF2QVHIH1T5KURZ0W0YTM0GXUO5J7U0K7PEN96V7IXC9P9WWBOKJ = -36#1MFCJQH9V0836LUCECRCDOEKU6USG4CLK062FIY4F5FEWWJONK86C8SADKTUNL8A5CAB0O5U2Y3Y0H1RNUBH5QRC09WC2Z6XAD92T3PSDANIY9ITFYVKWG1NWZKVQ71L9K84HEMOQWDQJCFALYV10O29W1CMFQGN58WLAYEIF5475HI7BEZG09TLUEAM9A7M54K2FVGFK3EFFS div -36#1FYSJB9Z8215UXMXQYCOCYRZL4DYLP14HUQ6I4VJJGAFBT9VZS. +-36#AACYXWDI28WJQ2SAXD9V12UQL0HWQKXAZ1HWZ3YQDXPIWXI6YJUH0A2VF0T6GKRXJCHWRKHMLRNS309W9V08Y7GZEAJ7JZNN4SSQOD08XNBSDLPWDKLY4A36DMY1RJNYKKFEI3MMD31VIVT5PHBDUXLLEWKSMVUEX7T0Z6P530GWOT3NLBKRR2GIXNS4WOHSOGEU1C2B0CU2CZ69LT15QBRQAD0MZTQG6J0URRRDMPIGTGBC43WVXA5VQ6XREXQ5UN1M0HBKHU18W0I5OL4I2J7FNVJCADXBSV3P3RMN64RZRL2FIGDXU7XYDKIG458EUZ769RAOPD10 = 36#5WAS8JVLUU34HWXYYFAAJ10NS3OCRW6HBV6MQX4F209TS63S9IUX4L6JA0O4U3RMS1B1JLLH0F18EXLT7J0DDOPQQC38G9JEWB4YAPA7D6KW8MCDGFOHI0JWMATRTM9YZO6TK68VWHBKMTOJC03S8GYSA7AQ5K2DFNTPCVE79LKR3PKMG5PK1T1FXBSJ3WXU8CIENQCBJQRT4RPU1RZLEVF3SWGSI3FZW505CURXG0QGK5Z7KAS4XVHYECMF9U * (-36#1QSW7EAKFRUN0QLJJHLAT8KBS6JDYGGOERNE1KZ475C0RHFXJTKDK2G15FPTH03COKJ0FEW6HHCL5VU). +36#IU0Q4I55H8I0D4PZ7CXRESNPDBUH2C6YIBACIFBML13RS583QHPT9PXDGC81VRURKNFKWTI053OAKGHZ69WVJMPK = -36#M1Y8GINJDHX5K58ZXF848HNTLNHOH867UDY0O0UZ5J4TJIAG2Y0O5WJTASMZAO7QB6ONKQCQ8UJUGRU7C0QFC2E1755PLPJ7FHDIFPM7KBUNXNNQSKKYS918QW0N02Q6V4ZDLYI1DGSIH74BGO4ISTZ1AXB982YL9BUTIBX3AAQJF4VHCQ0YGP6XX77E6G2OZ8QYHMVZYM2C085MX4JPLKKIDXM79ONYAKR2YYT99XKMY9NNZ95KLEEIVX0NND7B2GUYOKXY9OYFKJ9UT2D4OJGRRK3NA7D6PPFFQ284MOAZBEROGFPBYH96GXE5W11KXAO8ZHC9UIDM4JT2QD6N0NFOV5MEJ6OHD4K1ZKZ71ECQ7QVVZ4657VR9DEVYJSPWV7Y8EJ2TNFJFFTQ5GQT2HW049CN5C3Y56B7Y49Z45LXNDBOHOA6BUIW div -36#165LFZR0IUQIGPQFL1GQ1XSFA7142IUHUBG8MPPMXU8U1OK0C5MQTRZKTC30CJ1HAZEGB3DT6MXXGL10J6W967YDH776WDGIV8O7BJ8MM6VKSVYW8YM000LAC0H4W6DVZLWGOQXN6KJDRTA9WGFUYVZLQ4IDU26D7T4I6QNJ79DDR8UO2UP3JSCA4BN0YF8YV7K0948A28WVCAR4TVNOV821VEGP126GAL768CBCGAVOVQG3PHHGD8YFK3O7UHI8C6MBAYWQLF6CVOJ4AOPDQYJXN8XW8XODG8XSUUG2KZPCH7UL2FFEIGBTNCZVKZOKNPZJHPGU6ZXNZTK2ZI7TEE594XAHNXA7. +-36#3GW4CRAONCAFM9DD75JQSZJV0Y0LI1DIZP4FOHFKXP2L36WTHYXGUUR2X8ACPINO15GS6WG2Z3MTCII1IIVV5BQ6 = -36#CX70JNF4SDEAU6ADQZMPU861MKSU3B7ATWMGTGDOSVRN6XTWNDK6Y0WRMT57JNSJQHN77XNM1XXXOL0170150XC3I3O2IBKPXBEWNPB2MP10IWOJNIAQSGAZH0V03ELK7X875D8IVZBKH780VCGFO3OW77OUE4UPLBI59KZ5TUSF836P4R6PYRXUZLR2A2WLCMJAW4ZR1EGLUM6K3O2KPKWQX0V8A3KWD24KB0ZUUDU1WGY9KH19O4G274O0VAWB4Y6B9387QW39LSZHDTDB7JE1RC9951FLYER9YIAILPM5BM3QZ7UOTQ4H3GCDENWR9OG0ZL86UU04XX9BVM5F9X78Z3DU766A3SZD7L4QNRRT6678XUDDA2FR9WQLC1J4L9CB0 div 36#3Q3AUT1QO8Y8QCBR2PP661R87LM9T4GHAXEARWN4BUXR6Q3FRWECXU1UQJIIWBYQPCHOBI0Z2ASQFQKAH3MXK4G6HC3RHMQLRQFECFN9KRU7LCTJDGT2VZ1CFHE0FP3B28HAZ4NA856WXYLZ3MSEUFFJXS32OMCH9QO9A7UKMN7B6NK5OHC3IS0SIHTMU1G231OF6U5FQO3OT7KDNLLATDSYNIAYRTA3AVTETHAJZ7FI4U4KZ179XBGI6U8N1Z2L0TQUYBRUAR5YH7ZQK7TMLE17N9NGWSIWOXD7TYUB9DMAFU. +36#LPFN3S0I0H3J9XAIF4YHN9V0ZY7G25IGPI3TAHCSUXLOJT2Z3 = 36#1PQT2K6ZVFE1OTWJPDKEUMJ7SAENF7ZN47WR0KQP9U9H3B67K1WJZ59I3JQBKLL7UDTFEKEGNVHX5C61FX6FP131DTHQFL84FFGC6G6WQSPNPRHHAEYXTCU7WOY7IVGA74VOYZDEKLP4LCWJJHJWSIKNUZI91YEKMI7KDFSBRAKXA38JH1ORKQH92367V1SG0ZX0T6QT86143G8BL88E1Z1KO3J6F div 36#2UEI0HPUVVJSGFGZCQX2MWO2IKOKYKT07FTC3ECCTJIMW3D0UCP0GI6ZRXU721NPUIB3P1YR522IGXOQZO9MZFX3JX8O394G2LRTS5ZK5OSG9CU3GNV894M467YTK16YA0HWZXS0FCQ3R2QP91V7MZRO3VPO6KRG0RSA2OC76TBT. +36#1WODNIX37HTTKKLIVEU10G4476IG5RMGGDL416IDKR3KWRF7M0Z36B5QFEOAEALL1PK10072HHZN8OIMULYQ9UBFO9ZDFP7Y9619WZDQIZHCD0Z6A7RUOZJSV88PPJTA25CC3AYPAXFBNODR6XC69LRBLDC5YZGRLHB8ZUU4B3TPMT9ZIOLHV13HXI524XSLAIMBN6NGMG1TIH6DEHRONPX2QAAMKLNAOGECBG5B61D3ON4AE3TJQTICS2W1ATQID4S7PIHNJMAQ1M0NAJ9U0ID7S07I4OYQHJDEQY4YG7323CW6ILT6Y66302JBU23F6BF3ULZ1PVKBP3ON5NUG9QMTOMTVPPI281PDWUUEBH6CCFZJLUACB9BIDEY217Z6IB908IR39S74CAX7AJMYQPOOF04YXODGGJ1DS1C7O9A91MBDM16W13TZBJTGAF5MQJ45QT4FHMGIIOBTKCNHNL4116GUQY0XUGZ8SU4REGQRKP6PZY7QWWPOJG847STE5G05FCGBXZ4B2MS6YZ8O99PVHTB4SD8JFRYOITZKK9ULU8MRP8YOS2OKKZZHL27YZL1JPTLX7ERX13PGCQL8EVPCD8TM3PQFOEKRNBSG9MIO7N5G89LCNNUQKTWRI1B77QTPVJSUFVTMOKXZ68JLAFN6YB5JGGE1PLG5C54080AUHGWK4WSS50OOQN7PRQBO8HSVLGCCAY9CFFC20DSD8TIH8QXMX8WU28FS885C3TQ60N4W = 36#184962QBA2TD8IHH490XI0B5YDF17YLBBJBUYFJWCTCXQ0CEFOEH1YTANAB1YQK4KQW3HQLRYC4BI4JFGGND5OHVPN7VQFEYCRUP1ZJRKLQFJX83B5NY3EHCD5RV5M0QO0FL23F7FW6M15VBG20ZISNWL51AQORVJUVNCIC8I7JH5FRCXN2QY9AKDMICC9UFYCA9H1ABBIP86WFOLMRWQPVDLRIP7D34JH61G9E * 36#1K1FQ5E5A96YYMALC6K2BK1VBJDWJ6DK23NY5W15GMSBGU5HH31HOSPIPAYY4FJMFH9D30599PP7X00STAB7G5OHOM7AWEGBMORQH1PY79HKZL3INSX1F1PYIDF8A4V6BRO2PWA2ARG7GPNZFU0YE8FEGLEOGR92NS13V56P2WK6WELD1XFQKJJ3PWXGKB6RZ3HJB78LO24UKZO0IBURNWCB3ZSJOC80ETJWEMNPXV18TIXE3HJU89IJ364OQMVGVNO3WDAPSSNY38MUJYJN0H067OT7CXDXAKXKCXPH8FO07I75BQ4RQL7R3602SUFZ0UCUCJ3E6MBQ2UFHBCOXWW67FQT5T8RV7PJ1HQXQ8MEEXFUME00J44Y8YJNN5WFFZNDDDP5RF5REYOL4128TWOHACMQ0I26RTASXZ41LG456VU66B1ZD97K8L8CLZQTK708FTD48LXUKAN0DE202TZ7KCBI35LD65EFN3ISLGQP80JE4Q07P887R5K2RGJXU546SP3P1XS. +-36#3PS5KOQUL4IL1GP21APAXU7FB1GQTP7JW2W6E57H5Y4CY8J17103JNIJM6EC5QR7T5WRG25FCSQ676ETVD0JFKMFP8XQFCPAYYOVTU8KGFLCRXP1JZ34YI2Y4HZLUNCAZDVMDPZ3J3UFDQ66SUPGHVGUJJLCU6SE3OZH50KLIID781GQEY161IP3EXSPUOG22X2NEAII5XGVOUN2A9YYLQGII2KB9F1O7Q05HOPDHTIZC0XP2WNMHPQCIMMHYP79NKS79490B3VX3XSR = -36#4O8CRO400OICK71JH7Q5TRNJA85D678Y7PXVX0YKUO5OMW6DPBG5GSGLMVNIVDQF69GE69WE03H8V0UCHQ1PW3PTHUFD8C2ZWLIJM6RZDCT5NOIFMC29BD9XJMBGW44HAHFNLHW0Q4H6N8BMX33H6I865H4JUZI4X7FNT5VFQXUS1KN9U4E8VC24II9TMBB01P7N8Z42L3ANDD8R4XY0SQEU136SISR * 36#SMLXWY6IN01ZVJMRSF52JYQDKFPGJ9LKNMSZ3MMHU6JTSKBO1. +36#4I5EMEDZBFAVJDGUCTEK2BRXX8Y6Q30BEEZMD5GI6PQCRIJ75HCJW2UC205CCNBJK67ZHVKHR9ZMJUJ3BUAPUHCRHH8LG8T473H6ZX0UBN69XK49M6DGAYOOH1V0XB5RBJR6FL5Z2QAUDQPRZGLNYBA4ZXAGEJ09AQXT1IBFOA2WKRUOB24ZAIBFCTBB4S6QWSG0P0MS9XWEB3RYAVH8H3YOT2G36GFXMKKOADOVZHTD1Y0UH4RI6CUP23IGUMTLU117GBO9VA3AHYH3FLA4F7TINIX9PZUGI8VGZZ9GS6TZ9GS152EQ0G2 = -36#TDI0RHO6JQJELPG3A7HZHTCH42UOI6SUS4DQXBQTWU1WGGLN8R3RTTCAEQ46OJI46OY2HK2GXM4T30I1Y3NHK93L40CS5OQMJM6L87LPI98BVF0JYFDLJHI48J83MVUU31SXIQ73R6ZSZETGY1PU04QBIOF87MXE36L1AZ1KRQA8I1R9P164I0S08CLPK1GWDC1YXDBZPN8HID4T4EF9TP5ACPIBNLFOZVWAZ0HW9KYRW3D1P969EUG093DHHR3E99V3CSX0XCUQCET33YH52NJ2QGHKKZ04YG607BOIKZZUCSRZMXBGZIU5IQMFKNDVSFQ5VUW8FVU6K6D6IA0129OWQ3DZT6NOS4L57V7KT2B6TOUBA57D24ZVRFG4BHKFRUELP31DKDMK5PKSVRT46U72YAWXSVZMD0Z3ZK3I3JPDVNW9S8L5AF9IODTZTJXMO4WG0IVZELV3RVUQH0FW2G2FLR39LCCJU64KXQH2NIIEGQT8GB2XV3SUSAON8O7FVEI2OTZR6R31PEUSJPIXJR8OO195P2E8RGYS3PKMWTF2ZEPF5H7J4INWF6V23G6RHZRNKJ530SKF7CVQSMMGRDQT27PW0W1YTLA6I31HG3M4C41SIIL05UTFSK8KQ7NW7IA746B2DZR9LVDN5GDYGHI3T5E76Y8GMH7HMGK0G6P77J77TGUOUAUWUITCEO8M10OK0WWRM46PC5XDQNDV9KIINEHK5BP2C84RC88GEX9ERA9TEALYP4LA2AIJS5CXXS4DYXBT7KIAE37GLSR5KITYCZHI7THLJIRRGTAPH2BHTKE1ZIR5W0YIFQFSQ2GM6HFTYD3U9KIHCVY5KGLE4TJG5TWV83SX4U98YO60BBVVN4OKSVRM96WH71G0AOGSIVFP2D94NG0YPH388QCSHHWIRDFIZFDTWI8UD0EF6W5D2TLSC1TXQ142NKA565VEFUAHPSFBPV8AE9TG93JB6PJ19E0SPT3CQHUKWEFWJK592KWSV6MLKIBEQWXUUYLR447831UHAIKSI3972Z7T7C7FS7GBT3UFXT3UHLY7DZDD7SYY156MQZFE4XR8ANKCBF71CGG547TS5NLNRBS3BVKK3YD651CDW9U1ORVPEBMHG1IHCTTJ3UMAV4E2JIOE9PLDW572SDT33OAVFNTW8CQUIUO14G5AA41YWZXVRVK8H68WML9F4VAXRWUR4BU4Z1YVQEZV3NB2NYCOODMO4PNH2QBOLV6VBTYUEA7F1QNQGM1K0GKWR2FGCLM6BG5M8IYGXI88P1XFWU0Y0ZQF5DT2CG1U3HX9EQ98CS82T67HU3D6D36D50SBTZUEDZPU4S486UMJU350PWIZECGOV1RIEGK8JU9PGLTE3KX89R3KUADEYHDWS3XA6RNR4XD2MQX7LSA69H3KUPOSD9I0VJZC44X00CNMVCQ6C8J8B6JGQQBPN67R4CG div -36#6IS63WTLV80ONMLVFTR5AXFTN08HAZS4P10E21DIFAMIJGZ59ZGRGHN7OE83EGHSYJHTBX7OOO8CSJRKQ8JDCLQLDC6O6V5KLUF21JLW8V7VD7GJU0WV3PVNJH9UISQBY60Y30KAMDAKAMWFYJXDMVAGOHOFJAAKD5ELRV9KPS4ACLJFJ0NHFPC8R0RAULPJ98JNPWQWNK9NO2SSV9N85FZ5U4I0BGKMUOEHP75QS3KUOUV6N9GJWR5A26QBJF6KW0EA6EZ9U45HD5OGYQDOACOMNQNQTP42GB067X24N2YBKCKPQF8VXZ3E2BVQPVQ0GX2FR6N4K87WNWQW7KGBQ5IEDEDFJ7FUTCOA1REZQ02PRIVLNKMGR50Q400DP7DP68EQF79AWVW9A71O3IJUA5PN4YZ8FFXW8PC6CPDLCGN4JJ34XM3OPVRO6ZWY7R2OHTF8DS19UTN2SSJ31GJNT821YM02DQ9EM80MC5522ID4O3APCS5HDNM5XZJKFK0ZCE4W62NQ8OI8OS9XO3FQH303Y0ZWCHPTDNE3N2J7SYFCBLFZRU0LL420CNJ4XZ24RS77N87JQG5QKWDFVLVF4TIKKE8E2AIRJE2ARO89MYO6X6DIJFJJHJI2EC82MJMQA83RXK1KYWB5KV6FUC4KELDNHH7T442EG4OP7G7H6Y7OK5Q41NIN6I0O58TCDXB1N7O8F3RU1ZLC81W9Y1RLPN629SXMYM62RHFP0OHJ20ZT97UJ97Z30Z059B189302M3WBOGT8TJK5ZT6Z8QKO9K9J9BZB0WS70N1929AK0IGGHVRG6YOF21OJ8P4Q7Y2MS1P4LVJNTFOYT8X168XPH1C3UFAUTSPENHQBQJFCUZ88VR3YSVJ3JNGNGX11HY13JDDNZX8PGDI66LB32SPKOVEGDY2QOBJSPPZXX3TOOF6RTXF5OBC7SWTDZT30ICN70QUDZ7639Q100DSUSN21DYSQTB35UJU357HI57Y6UK9LXN5A42ZRTUAK9FXUD74VWZYBJPYQNU3ER2JJJWTMTLYZCPRV5ABQ9A51XIWAWLN53EYRL8XZMSS8UVZLCYDC309VYW8YMSN6HO578KOZ9ZW8D5RLT3V2OWJM4AIXIXY1W0EGADW1B62KNOCK3SEE8. +36#BCL0V3JEWULSNDQJ6LCRU0RR7IULLYZ1MJMIOYSLMD4HPW8QJGF009XSQSEIFGCWDQP7340CQBZAREMNHG1YKPP1BGZFN2N6OE9MMG5BZMERJNDEMTECT8L2QP5HI6O4OCV1UPYUEDLG5HLFIPO1T00NTIB5QMEOKD2LBNIBVI6M81T543FM7PE9I2KRNKLSUCE7B0GCEPBMRXJJA2EH8L3166G0W7VOT6FIWCPRXRWCJLRWYP2DSLMQOTYMP994R2CTI64A1AW4Z8JHIFTHLNM8BVAOOAJ85YGX56504JHWB5NL288STX6U7H251N8EXXLE3OJFDF5RLDOWDQYNOBJ8LQ10EBOOU8OG80KKK1SYSXJV53LF7C68A0H6M0TYSTDAQI984OW7WFQLROUR3 = -36#2B41AIRJ15VWN0ENJEPHAO7512YLCL70MKV6JFV20XAGC5H6CTSAD4EHDATWQTOI57OPSG00696MWYT8RC03SEFQ1K7JESUYCWW1L7YQEBJD9ZDO1E6JSP2B6Q8KSO0CKRLUX4EJ9079PBJHRFKXEOI0FHCAA95B9Y2NFAU1IZAY9TJKL6UU19HHMRUXAI00LHU25T6UI5S7IWJJATHNN7QGFMG3YC409TW3HZ3CODT8J8BV1AOZALVYISUHTEB2PCD0PP7S3SWSR0HYT4TDZUXMKL * (-36#4WZ7MSIW1WXZFSRSPTS7UY6KLFZVUXSTK2IC7A4OEN7IPZXSPYEM48493GUNDIYWFXTK2Y4HSX29HT5XWMT31L4PKX229WAK0QIJ17HCX21FRDG1R9BXST7DYR37). +36#1FTJ6LL8F3Y8NL7O02M8ZERX1SZ0C5DQB6IW2ZBEQ7ALUDPGMCFI5LAAECO7UC225GZ5TNK1CAAB6ZI1STJ7RNYSZWFDAR09ZH7VWPSPELT3SOQAJNW98G31O1QPXD1EWS3QEO8BTVR3AY1R2PJVMOAQ3OSM4O8B6NXB65GNBTKZTDGB9HSXYP22BEIMR7CI81M88101FVG42WWATTGRYEJRSWZTVYET2JWFOFOUGYVK84VDXVGBACC7O6XURPMYZR94S1FD5YYNEDWFVJ3MUY3Y1RA3W8QRR03TBUIZPA77XL8W8B09VNRPCFYG8J66V7P9PGZ4XFWGTOG5GHB2D6LEFT4U46ZUVFVN53J47H53QUEU5V2UWIZ2G4BFIIJJ80URTRLWZ934CXB9M5RPYZ17I7YYKJTCDODWGCC = -36#ORU6C91APY3FL34M1FJGCT11LVBPCJSC3E2902VLJMRGMBO73QCWR5FI3IR7RK2YBMA0U4F0MBYLP2URH0WFUZNML5SBAL41VCLKGB3GZTW1EF304TN8KFXOAO58GY2A9NQ66HD7DECUGANAF5FFWJQ571U4X8L2496NXRYTGDVTLWEYU77FJZW17GZBW2G5O6GKIW6JEGOQBITHIDVI0WTI92TFD0BPINSQEQR97PYP3P5N9VRR336KEAUZHQH90318OWR24EXXOPZF2KYULUPM5PN6HGQE3IHYXM2F8A04DP4RKC46QUXZ0AXG3UUZ3DWWXERAT17VKG3D8BNTL62EKASKO6AEL5I9NI2YGIJMX6QP13SHBRCKDEL2XZAJB96KA4FQXK8IID03OG03EAUMMZDMRG6ZRRBZADD7SY3SYF8P9JX02XCOSQFIYLULVUE7RU2SSCKGVRLC7L54F8IA2S5IM1LY6XZXSUWI6ZCVMTQ1PSOGC9DSHDYYZNZ5HEL10CSYFT88OX52MWXWSQECPR1IC3QS31MDDXMRF11296WGV0032MWYQZ989QJ1AUFTWQSBFSBA63Y1QV0J788E0UDYK7N7PWEZO5HH8PO8HRS4TAOQQPPCI676T204E5F1IJSQ8D9QBJ1Q2EENK6J2SPE253MI8C div -36#H7KEND2KTKD39HSXPZANBVIH541IT2JELQL5X3SEN0KN8TSHZB7V0YOKG11WLTHWVB4ZBHPO9CC9K8JTYLLEEFZW8SP7ZS9A5C5VJR7XO4FEBPC5UWAOM6CXP4O16P9KY85WBHJK7TC6CQUAA9HH2WKZCL46RU8U8BEUN7UD9YP8DLMW1AT7K8WDZIDQIXMIC04B9KYSTRCVJPHJWZUNDG2VTLTBCCAOJG3LPZVS2NRGHS0ZB8V9FC36X4HP. +36#7RZ547O7TUUV7PWM790CJDDPKD71FNLFRK28E1KCYPNIQB2SOHYOUZOGEJ1MA6TD4G03ZCN0U1HUASXSF7NP2ASFZDLI18AW4WZ0TDX7U0QVNC74MXZ456NEW4XOEJAGSUQBEOOOPM1IUEG4N391KIBA8CNRZOXDOSXEWKQWB4CURBVI4QHTSPY5LUOV7Q5UX0LEKH1HKTVEBWVELSLBYN92K4RF7IVI0E2P4NE4L32T1M9XGZPU6AEPL30NXKXC2RJ6RR36QGP8MDNDVMFYV0JBQ1C9RXF75XYOXSV4QEEFAK5GPA2AC03A6W3Z5S1DNG6F59ROJE6VFH6P7ZV35NS1BDGD9I7UYH32Y81UFK3N2WA1PSW7LJWPKFZMW8OKXGUII9RNZQK2IVC6HUEWX3DH28RZ9H8P54DDW2G1B9QPOFOA632TCPZNYTDJQ8PCTVLF8Y9M7GNOAHN53UC = 36#33VG1823X2LUVAQ68NF01WZCADJ6KFHG5852VA5FF066KK26BSDHQY97BXIEPJ8BWPL895X5NDDN5DK9BJQUVO4MEMF0LQ4YQIJVB0UZ4O2GGH24YLMFRQUY4LVPWHWA4020XOUTJV9DXVL2NKWYJMO13PNNUHH8UQY6V858KV4ODXSB6Q9HLPG2GFNLOSBXRC3UFT6R79YOR66CBFQGQOLY6W4FW69QCWIUQQPYUBXE2U76Q1WQEDE3X5MRC39ZXI0HPYJ2PJ7EW3F04R0MFLCPWRRPBD71V0PKXMPW7IDZXMU2DO7QN4NPB1LM4BU7ESFNW0R3FN6IYWIT0Z6Z5HZC3G87KL7WIL81PZ6Z97UL6W2BIC30KL3D1XA3B2XTFA4ED43VTCEOJ9MQN972QG2OSNZLRP36C4 * 36#2I3DYWHAIOV0AYKRJG60H3LBID3W23C9FV7I25RWRCQHSJ80PL. +-36#BYWH8P35HAQ9GOT0U9KTL5UTF2P7LO2VAEBT4HQLVOLH4WML0TKJWN3LE7BBZVRY1I1E4OK0757XT07NI6LG6S5FCJJ1B1ZJ6PLTPAICVY8G6D8EYDYCPB7QVP31MC949SQ2ZV5IQCVS2WZ3JA7K7HICMDJ2L1GX0APRNLLCAUFHTW1D1AWXWWXHTIUGXE9AYIVUMHGUPNV2DRRXKGKCHV1M4BZMZVTE53T1M0CIDYP89C9CK5Q9MEF4DSK3AMW5VATFHRF19FPXS8E7K2CRBQ2O5DBYPGQB0XMOHT88TXYHB3MN5LQOUN636EILXLEDUULNAD2IF1L47S0SJP9TVIEHGY3A96GS7JHFZL3NSPAED03X2IZIEYNLPHUW0TR9LMSPXW2U2OM4NTH1C8ZG6WCN0KB2HR1AZ12CL0IP64BO5873C763CBQJ52S78H15VL7RY094VXCXXDTIAPRFOI9M2Y5NE6CI9JKMH071NZW7SOOGOIY437AZU37VIAHFAB8D3P2V0G95DPCED6LO7PGZHWH8FF72Y928WQJ0F5138ZM84V98WCGU4ESSI2CUX0OQZJSDE51D = 36#503OZ0FAKHZOYEZ7HQRK1OS7MYYPDNEZC68ISQXS9KJINQLK7NOL6RNW1GUR0S1A49M08U1CMMINPTQVEGJSEF2MK1CGV5W4A37NUVGDPOWKMHF2QITSK96L632K3YWXCQX08X6ZN1IFN3974ZKEB8R4OT6ZDS9S7M3EY7V8V6O846A36YJHDLXO9V1A89G1O2EOEY9RPAGZ7DZ3SN0YBGQE7VAKISGH6TDLSN0DLMVL5U7ETC9IFWGH0GBQL8DNR5808KP68YEHYTJQAOW3CDBVRUGPB57XIWZLGEK2ZN2QL8N4IAG55DYFR3R91Y3SXH57TCAIE6K4P9DSAKOSSRZEOVQFQ7YVNMIBG1T1C87D12HIYWI4I9WOLXDB2XCZEPPZC1ZJOELORTN6SVHCL1B2RUMQUZTUCBW8OTQNPCBBSSDRGUFWK3CSRHJK9QBF6OP2S2OD81KHVBI6SXDFKRRITBOF7CB7BIMNRJL2YUMHDW6MOL27W6K1EKELWUQ5OUJQUUBMET5A6ZOOCU604UKI7N293G156AWNRJ7PFHQ5UGILREOQP754V9QMD0EORL3AA7KKFN82NN450JLVE62O1PBMBOGOK7FE68R7ZPRG5SOG1H15JGIG1PVQO div -36#F1OMWV635FRQYHAQMU1K6K412QGDUEPUTB08HSRDZYJXZSQUO. +-36#558ECTOS0XRCP06RFWY4FF3GF37GV9B2IMDM4DUK1NV7NCL7A817GPJ7DSCPVPVFUZKO6CETG48W9SR7KNDQ9G6V8R23D6Q8FJQHY9N9YNHTJ1E2SQP6Z339JY7KY5S7PPV5XZF70SW4SCR7T97KSUA30G5CPSCR271B935XK82FSPOV125BXSQA0CW1HMKSILPCF8N1ZDSJPXOP05XKSX8JD7XBEGQHR33LCPXXT8N3AYX1H2S56KOX5MUHG19HBODY6S8QL02AWWQI0PZ7HUD5G65XSYUP9D377VGRJCG2XSNETJV2ND9NW6MNOXZGO4G2PFKM2B77KIVFEF7V83CZ8E6HOS6O0WFFV567WGZHI8EDGT5LUOMEQ4S4VH1B55J945E08OO41JL4IXSM29HPFWCYW3ZYD2L3REG7BE0Q2R2PP3UXJOSLBMJ0OT018PASS4XFFA5VUOZBQLRVRXSZOEKTH1N1APFE0FRZNB4KJTMG3HYOEZY706PLFRB2OBKW4OX9E6REUN6Z3RHBIP1DXCW7NOFNPEST6TO43XRLBL6ZCL89BZ9FNKCG3R7ZH9VGZG3MZT0Q2KYCFIYZ4GBEGRFQGY4QKDRKL9GEUUGJL3PCOFADIYE4QCJ1YNFY1XQ0MPQTJWLJEGS3N8WMWNRA0MJXK3K6LFLAMS5N83T4F8KTWPRCSXXBJFV9P = 36#CGNBVFIIND3LQPIP96L4HSEFVMJ6TQ79SA1W5ZA5DEB3S05R7XZJD0VKLAYZVMAYXLOM5I0FPUNRV7XLWZBFQU8UNI4SQQQUB8V3VU0SZZSC5FFFPZJMYJHM3BZUVQB2JURGW0GCBW9M57J7YL1LL8S88TNFFA4YH6HZNXFNV24IN90IDMTA3U29YMSKVUQIA2JVYBDWENMXSRX9ODXR230122AWVC16NIQMBVMYILRZPE3QBOH8TK09LHBE1RGBN69408JDY27F22G94VI0VSZVM7CQ2YJEQWL37K5YRC2FOKARULDCWZPFSMC5LHRLQ33JVEKHVLCDKSDPRFMS592JEPWP5R1YXLPJBZ1LTHM6Z7EP01PCA1B23SS7CC7XP8ZHB8X3G2BZLKJTUPTUOEN7K605U8WZI14HGH7E82TSIIM9TBHQ7K5MGCT95313A0PUL4GQTYYV8EIZAMZ78W2HL9UAGQM5A1819A9Y7WTAVRMIK8GS1UQP2ZDWBMDVMUELW8KDBAD2KZONRXIORK1593KQ8IHL28NG5GS1ZM7KJWSQC9TP8VG2HSN4MBQ8X54PVQ19MJSFGNBVAZAY5QFQ2DK3ZI8B9V5T9UYHRDJO8YUTPXYAJ3CDD4AWF2JSXSO5OP1A7WOPZS7WYCTUZNQBKB2MR2LTLO3F9OMZC2FB7UT0F9W107UWNNUZL0QS504U4QM8V3AIM7S48M47HAUQVNVMDYSLXHAWXI9I7R9XP8 div -36#2F703TGI0TTSCTK34XQ09AIC6JXMSM2LBSGNID4MRJQS4ICC3W. +36#NFG89SH0ZT5AV4D7MLCVX1DCL5XLPPJFTSE4JGE9SPCMPUK18QXU7FP2QJAP96KAPQFMMQ4ZT3FIVDHE8MNE6LPTXALZ24QEVIA1X9S3DZANABNZWHP8DDT3M4GAF1ELOTK8U909WUDEQ2MGE8O2MOLJXZHQ4F26U6OMNSS7FJWPV65P6TJQAO6Z2I9IV8XZ0MHJ8BDQMXYN3Q81M5V7LVMJYLC5ROTAUHMW1F0P5PBC = -36#AO3D0X4RVBOM8OG3Y53WPDEHIIG9XJ6RJUMSMLJER3DS09PAIUSJ52FQ6O550CWBV3VWET74HKYP8JSJG3SY2U0GLLDBE8FDUOUWJPAKAZ4E2WXP66T9V90I1MDZRQ9K02O8BOH5FEW97PJ8MJ1AHEW8H5VDG2HFCW63YU9GG80KEOZAQ1YKP22DPKO * (-36#271YCYFE6US5Q3A18TCG4S4P6BTQSRITYLMZXIH4G2SVXK7OCB). +-36#C09OA13X8HWWZKD1KQII2CM00QARUXH8XG9U3Y37MAAKOUAYE = -36#8UD1JR57YHCVBDBJQC1FTI38U5RT8VS1GCZA2TXZ99DSWCOY7JXGNI0T8SW4MNMGUM5MOCL4S6WCAXLGQQQ4BNOZWGCG6S1QAER01EQO60KO1UF5M740UPQ1P8SQFB5A9YM5W67600YIUPX1BNUX5UUWK51MHNNLSKMJPEY4AOI69RMO7OHX8TJUDOC0G1EP0Y0ZDCJL15PBH9UO35BFFCS3E4MDNT7PUE6JEB374L9Y6SEA53BEHRA9JKCIJ6Z8U7SF9FV75L6RGTQ5ML3Y0VFAB23OBMJAK0S9XSEE0MOJYM3M8SNAOVZFBGFWRL4HQH6A86EM30JTUJO4SIUOQMGC3NZ1S83BP0EFERCKQT8NDAM44T52J6MAGC2XTYW10JOFVBB8UQ32WC00RLL194PTPRUHGON6PPGD2F78NLPIJBK3BZ3OJTY52ZDJM7QO4L0QA721M0VUIFRF83QDZKXLZHLYBQ4G6YJ04LCFTKOV8DIYBD016DTAH6O0J57N66J1KWI225M73LWSI66JRLONHLTIXPBBKCHM3XOX98CBINQY5KFC2SETG78V5TWDQ417QCZ56J5PIKARZS5V585EEF9S336ZVXFCH9ED3D2AA div 36#QIHR4SPSLC6YC1PPO7VNM8FLTVVHB6B12IK67KO3QDSXT7839YM6E9GICQ4EQMFSMLVZVLIQXOACOC0X163UIS337QH7THNQO2KQRLS4W9WNSTYT4X5UKCRG3L6V9IOSCT74XHAKEUS3DD4RJV8N69C340Y1HPUNJ6ZXHD50J98ELAMH484HLUXSOQPNS80T2NR505JCVPWUXSTE169P1JUGAXJKGFBKFID5G76HXZDM5AL5WIXV81WAR5TC7DDHB566BZLN25YLN7T6TGB59DZUHAMQBGJTAZ8EPV5M56I49BF7HIZCUEVDEO5S3PMXOX37IE7805PPNNJ9S0TC2C4G7HGUCYFQLZN1BNOPU69O3JNEXCD28HUZ4AU9G5HGXHECJWQI40NDQUILFP6524N6QLW1EX20KZBMI4L29CV4Z4WQCVUQA01DOJG0TI83JG25OFTN4SW3DLKPYQBZ7ZTUQX3S12OPZU81RW3YP2QNQYN98LYMFX5X42UNY8W2C9ALEGTK83G1G53PUUTQYQ5KMEMOAJIBZT2GGU2NYF1CQO4ZNON9SDS1KHKB. +-36#DPJUTHIACPM8HFIGTQ9JELAEU6JKJQ3NB8KP1A55OZ5G7ZUA7FGRMHLBHTLAN89OR7QGJA5660L90KS0ZU6XM3GLM5BY4ACR88FUGR7W7XD1VPYGY7N19A2KCQZB3T9BIO7504M50I2JYZZE4ZY7SID2FK8BU1ROX2J0S8959DXBJQN6J59B32DZVZMPUKAR7T2YUH96P6LY53JGNEO1BOLR2H9SN88CJP7S0CYLL6FXBAC4NFQI38DPV1ZMM4R8DA6YBSXHP77F62YAOJ3LVH67EX8V868MKPXF459ROB2S2LO78POVGUQBORF1TLOJFS5FKHFQH5IEHOTW87K0CQJXKS0L1DUG3X3TVDUPNUT8ECFW0XEQSPU8ZQZYVTPRGJ6UQGZHS2P97STA7NDMLJLUASDFRUALGR3WP40XND8FAD6QJNWPHW07GBWFGD1QQGYLSQE1KI0JRYNGMPJMPDJ82MW5TQ8J584ITYFB24PPFIV65UZ61WHBR29H3T09J0BIXKKHSPEWYZH58NVVLB4THV3OKVFS1P9JYPBT3V30I3LQK2CDYU42TQRG066Y28SWCZYOOWWXOJOCHQZ3W0SIQXT1UUUR = -36#B7SRHKHWMHZO9BHPBJ5YIH3AB1YZHSURE9TS4XBI989OK3QVBVBSO8LQYIMNTH9V1C5REZT8194U3Q0VXF1B07WQDXR2XLJIKFK9T08OE1BIMWDTCHX52359YKUJS06TG6M4ZFPSR5E36TQLZCAYYH0E1074IU8DU41B3JVR5WTJRXE3ED81V7TQBT0MTP7Y1LDOGUMC4541ZRE9Z3N4IWTMPZRX85CJ4OGKV3G40UWLW5F5DBZ9NZZUZH52DR7AE6IZ4Y61Q9BBIH3235X12ZFLA1VPGUIZQR1CVFAR3FJM9B2GBIBK0C654W5FDO043N6F3PAXA83L3QRY50CB7GNPCKZ27W2NT6MGOL2VHHZ82RJAVFDY1S083KJCU8435JTRSIJCB8PBVHB72KUYGBRTV3RV4DTUTETOT0WXJL3Z9RS6TJ1NNEONAIPKKQ5HL5NE2LR69VJ0XBSO38TFLHA0IFHRR013ADAZQ82RZY1O9UINIFW0C397MODBS4ABCCHAVDDJL1K7JHCSOYLB1U1ZG5KN0LMA4OCFA0AA0JGS60ST * 36#18028YA6DFH9NFOR1498QLEV86HG90BLJ51C580IA3SQZPA9R. +36#18J80FL07XVX9NCR36B7V8R5OL7QO1HI9H5LYCK59TNTWD26D45FPZ2B7FX7INB7UMSVZ35HFZFVY87440TF65GKOSAHT05HBKW2NTVX0RDSP6APYWCL38P45FIYRG8W4DYOQQKWOU10WFQC63OVH0CTBGSZR2KP0N472UE0SCB9ALRIGXP5U77FKFXNXV7PSXH8K8V69ROTZF4MVBJX6X7EZUMCIBDKU77IICCUL687XU3R4ASIOLQERRL7R10L781RX909T00QBDRLOFUIEA8MGJN7SUEGKI1VVRS1BB3DNAAVLFB572Q9D3AJ1103QDQY2EO7Y2DUZ1C6XU09T22K1OCN6I21ULXPOS5D396R7FI00SCX9VUB2BKE4RTLC9AC3YDE8MU299TN2IR3MW84Q6WZ9IIHBJOWMWS3XBNA6IBS3X2BXJXJPFJWGCNLY26GFNTM1EYQENDEK7LU8XL5FBBARMXO7KXTRVYPCUOB9TJZY8CFGDXUXE0J8DLBNZ5WYQCSW33TTFIQQ698J4JZQA6DU2I8J4QTNHTGI2D925LSE9ZAMUEK02TYJGN6REVLTWXNWJ2FOE0QYFZCW9A92MOQINEEOUNMZJD4VENLV1GD44AC8UL2NBOVT360N3HA4MD7HD60TWYEPU7H0JW310J2W0VLSNJHYAZ5CVPG2QO25FJF4ZXD8ELTV3OHA9UYY83GUTSR0CL63XD69RE8YF50PBEOQ1KWMI0IO8EM80CJ38L2X4G0SLO6I3FEZBV5QWAKHDKV12WNP46XVM7X1E8R2WM9Q03TU2J7QX42MPOAN5PUXEAKIEGB128AU6YFQHJ6K4LABGR7116MQNL82LWMQL07WJQ4F767YQRBCR2HYLR2TGCO55FWUSSTNKIFW6ZE36QUCQWVUKFI6008FT2X3E203WT3UMJ0IF2AJO6B0YJ0KSVRBDWHCQW6JIJSUF2ME309CQOKJCY2WPKIA8SKXZKOCBSNLS4LHVLRDXQGKGJMUIF2B3B271YE9ZJO16GRWR0O02NQ5Q1LBPFV8PRT10NV2QQXQ26GFQUADMYAO9VFP2PX93J12XHNPJI8GA00FSWFDQZUIMB2ARB72X8328V6BZOUXTB7FWOCL78T083FRW0LEUOGW57CJA3YGTVTGC7KGDJ12DGEWP9E1FIDA1ZSY6FRP5GRYVFSFMOWAVJH2VEETEFLAIIWB3MOOCK210XKC55KXQJ3ARQKMY9QZG22RC3FJSV1F8NYZCK45G31KR7XX4JVEU7RO0043QUNR3X129Q0ZDDJRABE8FYYBHFYUC1KOFZ2JPSI7JKJ1LAQO4E9PP9MGO5YR1R1DLTFV3Z0H47XFY1AFLH35PTF89Y5RBFXH0WSGJ1MFFU53VPJYICKI3GJH5221XH44DFSVTMFGYORBQT17WBPH7YAUSWGHF7L98ZZPAAICKVUV4ATUY2LG66NNFRZ4P8Z6B83LEKJ0280UR7DBH2BJEVCCHYC1T84I1HF5KG4NDHUINDDZ35B8HUL5Q0W2PI19QLJZ4AUD4OJJS5V1824C5SOOZ32GS1RHW83K0E8C2OK14446X24QH9A28VSNGEWAUI2D4PZGDIR5JDQLEUFQVSZUGYZ45F8FMHXZM81ESP9YAKE1LNKMASUGWHTNW4WJV5M6P5Y2XVG7CFYFKSXKVKOR8F30VTN8X5AWF6C9ZIG40WB2FKLD6M4PWDLJSPIKBAA9EQPP7WIL76FFD6UZYRDA64O0JAQKKOQKA300TGOTXQRFOMSE5N6A9KDVPO71N0FUN0PHGMLN = 36#3WI4JS0P5YVR7B44WCS04TAYHVKFTWCX9NJXU6J1QCWAVDK3H2QW1B7KHJX2RY4OWF9T8FY4PNTJWIFDYBXGNMV1XCVJWUUWCSV5M5IG18JNGJDZLLFAU9U21OMSZW2FHROY5JM6X2KXX0LGU25XH4M6HKQOCC0OCBNX3UH53517FXT9DGE4QK1P0X5A9KX3T5Z17OIJ5CJDB8XMVN4XPCA9AOCSHTBDP7YD6WMRE66UES7SY662RQH9XFTHBRF8Q0WM7Y4ZKMP0AYMJ0G39TX3BYUV0RMNUM31FWYBHAPDKPCVD7PMMIFW7AYHY05M88PFOFPEVBTF1PFI5ZF13V5SLHMZCCUVL8PTI0LOXAPCW8L96PT8LIXAFQPX1O64EY6ZSNP5IY51DW5LGJN37Q0RVIA09G77DMPJB6N9KHWOS14KBJB6ED1KC46X86O9XH0UMPOJDPY731689BAVVJYZ0ZE3B1POO2R0JYMZG5K61GHQTUVRHDS4NHEXPS1VEJ09R2ATWYQPRYSU5JJ92JGBBDQZ8QU8WE25PV2063T5ZNM8XEVZQITI3UK9ZXCS6KJM4Y5JCFTVAK9A2I2SW36E9HXUZPE4A4EW4N0EX83A5Y3E8BKPJF9DI4Z1Q7G0HM3BZWIE9P59ZX2PXOY115XNGEDJQ0BQO1FMGMZI26LWI7T817P6TKC2HLPQ9W3S423ZG37W9P9ILMEK4UIMX4GT8YCNIR7JGHH697PZEP5FIVD2NUZPAKLUNVM64QTMY9KOQ9GJRTB0RH845D8YGPA7G21A6PMM7SZ9EJ0UMLV6V1DG277C2GS234ZWI0B1WDQF0CZTB6U0NBAG19NA7GALQ8Z1WES50N4E3670VM4FI29JS6JZVH0BB54ZD160P9MJXY5V0AMVBYK50DIGHVM8CH9WX83O643VRIJVJUT2JGCZDYOIWZSZUDHGJ8M8Q83ZFNBPZY4MX6SVHYUK6I2RW328ZWQ49LL96FHZURZDLZI2T6RXMO5UUZLYOZ1MRIDMEOJKB3ZPHD0Q30P2H1OU039FCG5KNRVNB * 36#BES2P1YRQHQ0AO6KKUK9TSLDB7A4R4GMFD0NP6QTKZVX4T3N2QQ9WPCKNYOL3QLTUJ3ZHGJZEZN5IOB6T7XV9EWPCC66A1MYVPK7CG8UK6GRVV8AL7GSPTGAA27L9V7CFQOUMMZF1B1CF4SQH6WN1L6MW1MLDXM2F4UOMWGPNKC2XAJJ041GVSU7UJ6O31UXS8ABT03NCBREK02DJYB40786KEUFD4ASOB2JUR58YVD6NJZDSKYH7QEVBEZAYJQPKV3EOV13X6PRMU1D06OQ2PI5KK40O2HZI0UBAC7AP8GVK7TELH0OT4W0XRSQ67UXWGQQK18IS6HLYYZWX4E2K3MMAXM2WE1SS8ALXR72KIMOI80G5SEGOFT1S8G6JM92KM5IXINA16UDGHO7H6KRL8XPLYKG0QONYTH1TN1PW4R43DY4FFFLIV5MBQQMX2JK27TBS7KCE4EMMGOOUSF6DH2XE9Q2164T0AHA2Y9EY4FACB7J7F7DU6WNQ7GGUWEAH92K3RE7OAS6A04FM5C926HMOZD2HAZH5LIBWMZ3UH186OBZ1LBXGV9QAFTMLPK3NYEOE1V4YXEDC8P3W3FCGRWFA01UK1D72VKG5TX2RHMGZME6CHDZK6UIBVYZTL9EET5FOGFJX17QX35K26JNVQABND6A0UT21F581093Z3RAAS5KF2NT207T3M3A6XEK7Z03USWWWLV3CUHP1HSCGHOA1AKDHKEALUHD2OHMIUALP. +-36#1OTZKTW43VF0XLJTPWQUWPT8HNMY8TKV1FD47KIYAB4OVU6RIKRXBZ52JSIB7KMV74X50T4M95I6NXNX2BVANYR3UV2YMJSAF6OVNWYYFC3PV0IPWAQ9ZG49GGX421MANV502BHCEOYROCWKEMAH7KCF7644H2QAN9EFBPJY5Y3ME6XFRBF99SSOGH3HV9K6QJCFQBQW60WSE8S8JAWCPKVMLHHUNW9YQUGEIYAX36JNIJYNJFOUEVDKITZ6UNHLQRBWCGLC5CQCEPNS38L4N5KF3ISAN0KNC01M4LS8U4726IPFKTG97O1MDIR9OIKE075F4DQZCYB5Y4SO5PUZZIPQWTPM6CB4BTZH6IRXR2FR1BB6ARSLPJ98BV99FRKVYFZ9939TR8JDIIF09AL63QB7W2YFNM018FNKRA6SHXF3U9DU0MAODLTGXXAA9Z1E0DGD5EF55KAI1W7OVZHQMH6GC6HBI900OLSOUMNWYHIPOJ7J5H2QDQMWECEUMDU2HAUK93IHBPEKAY1QR3Z1M0UMYDLQ5AVAGT04LMAPUC4TAD235IGJ5STS3MHXI9T7QTWD8E8X6Y3AGGMXRAJSLMVJVK78UPLP8ARJ1IFXBLWCEPDMJA3VQE7G8G5XS20DMQD5GW0NB0HAAWG2KNWVDIB39250DUREPP6U61A6FAFT28N7P80NQHZ5FGKZNB2P80L1XJXNOUQT35OC8I51TK4SIVHZ4C80ALCGGBV7BDDCV3XI6O1Z5AP47CHA448VRX0SVQDWH277Q9M0KPKPDY4GLBJFZWVO4PB0JEVFJYMCF7BPBYVDFNR818UQ9XNSPBS8J181W9ERQ077H4OQZ0NKMHWA5I4F0W6H9EQ0NGJDMLY9YXDEFRQCI1ZIUGIF48HOFFPP6XRL2T68GBQ94L4CYQKJAQ6JCHO2S7F9UW2VG7T204R49ZYXK9D0II3MN30H9OTAP49H5TSD0MBAN2FGXS2ARTMIN2M5W3ZSQJS4S3NZTWR5CB269OBUK033T7BNK5AGQZ1G9XD0FJ6NF320LZFJKRRIPNUS = 36#4WDF8ZE7US7YDQ5IILELWJAASHS4RI03LI17Y3LFYC2Q2YY4R7DNAGTP8MHEPVKA1HNX8JCUD6V8NJXRUZIS33P5I0YJMAJ6EY5PSPPVEYPRM8S5AMQNDW0K0JPKZJMJPJ64HK4MN9XB4OEZP2E9MQFJ6V15J245RVHDH3QD88T3VUHJGT2FSN9XCGYCU70V3EFTG3E1T3DZAPOR2E24Z50COSMN734DNWTI4ZZ2B633QFWU1LHGS7XW18ONCEHS3RWE929LB3V7XZJP5SIQQYRRJLI4J0KFF1J055VIXW48FVZ9MOEWFK6S0ISSTQW7Q2TVHK6JQU57QNJC1XN9KYJLBFJPF8WMU1HW6LC8LIABRVIO6GF0P8XPNZV7BTU9AO9U5PQ8OED2W0R930V3V2VP7UKOLPXPCDTC6HI6N01NI0893UTF7D3MKV3GT060INLXWKXY42INU57Q35MIBY196W093GE3ID0SNL0FB2VYATDLHONTD8LYOXHP7MRHTDDVFC794961JZ2BGIRV9YVYMQO0IG3SPWK4CTWLCFS0KM9G8LATEE846TGLBIKEXFC38Y854FSFOGB1G201POY5VCLNUL2O02A9BB5L8I932266N3Z * (-36#CF06MOGWEZZ48SIAKFS2Y9E2J8NOCZ2EHJHOHUV8QS0640O9UNGMWAV32MJBY5WH62MEV4XZWR5D4GFRXHFFS571FN8ME4F3L98OXP7AA4HUNYN4MGZ2IU6ITNJC490BBIFUJQEFTZZEJI3ZZ2VQ99WE9HOWQWGB5YM77EKRQWBDVVSD9E6MSOZOVLGI3Y6OPBIEW0CKQJCPG4TWM1RCP6ITHCODKH7DMA57QRNQF07L82IQ76CMRMMKJ5HKIF8N98L3ETTN7RRHR1A54O5NXH536LFV05YK3ODVSWMC2PHU8B6RVGY52EGAX2YE7XN9UGHMJX87H3F78XZC91E5ASS8X2IODDLDG2YL1W0GDURF616VF2Q5SKRTR060JGKK9BPS2T3D5HAIOEBSYH08JJ1GXDTEIRGIL7U4045S2150EQL18). +36#6UXBP9P9Q74FEW7NTDXDF28WY431ZIW16Q6CKF90E934B422QGFQ1MNGA9KBEIPWX50D73OGE21TDHP81D0CW045RXFDCMDX2LI = -36#26HGO9C1UO7QMUA58VWKV92U20RLLZF7ILDYWTLA0IXMSIRW3I * (-36#359EODUUII3WDRMS08DL11AMOG9XYRIR3YWUXBP5OG65OGNZ71). +-36#477KTKATTO32TOQKBJ1C1QQSEVAMOF04XHQBQGBOPN9UN8702G61DNSJEKRQTQD0E2NZBF8QX61TSJ4E2QNM7AB4GQEAIP64R66 = 36#1X2YPQ4SCIKCQVN2IJGMQ5Z46KOOWNVCELWS10C1R6AUE5BHMV * (-36#26SQQETVFZ0BI4RZ8K8Q7D00Y1U5MURJHHFMFKT2MXAXTWD9J6). +-36#831BH8H2FJ7M48RZ3R960WJK3LCYR0RSTDQYX7P2AR79A23Z1H6KUJ2KT4BKJE5GOSDWUGTVPAL5KKUGV1GZTWTMKZ0ZFCD6ACB0Z3W2BVHU1RC7PXYJUKLD3JM35NUYMQUA54Y0N3HJOI6YN2INYO5Z2BJSEZNHV5X1ZDEOAB84KGPWDK4L4V29N01E5MQOFKA9VBAYMMFB9OKS5L0EONX3NW = -36#KP3SH4IENNOA86PEG6NZF2O3NHGB17HX8V8REY5XYLTGHRTOOLVVKQTHE8V69KUOJ8JA97EAH4DI0UKVF7CXC0N3D0VS6LBV813W7VYG5Q9TWIBVIZOSBKIG6L6EG4IWLGQ29DM3H0UQRKWI1CV5QH4UUNXDIGXKL75T99S5WON08PIDI04PB13DWBUBBFN10BU8IXL352635ICF5V5H80NNYMNU0NA4AI03ROFTFT07NU22LECD864YUJ9GPE2Q142KA7VVRZK div 36#2K5ZMAG9GRZ35R2IPPLON52Y959GUAES1L5UWXO3ZEA5W655O4. +-36#UQJABS50XKSRLXT54N9QLM6ZNS45NWMPZBDQUTZRZTOW3X8LKLI5W3E0F0AN6JWQ5SZ5QV991N8C8912AN0AKB2BKVNASK5F5LQN3D965TSPVRMDWZSI2YUTOSC2RM4D23G0WCMJG6GQ9WI53EKQZJTFUR51M57IKKJIMWS0T6OGHBWR9GV9OUUBKFVI3I1KODZYWXTE6W6WIL61QCKI63J4NMC21J52ZXUXBTOVETWA6EYI5OLHKDXTRJQMWG3XGUU0T67VMEH3SOJG1QTQP8H100BX4N1MRNBAQ7S2PI98RWO60TROXVHUHGHVVAXNXOT4Z3QYV2A0PBMYELKMRNPQ7LNG3MYQNEWR9LWF5ZLVDYVY7TOWI8XKEKWYWWGGBGAGCE46T1CNPB19FDDNG3LR08W8461YSASLG4KGBKDAZXAH96SB0ZH4EDQ9EINC6JNR9GQ7J8ZW2B6O9NDKLHDUPZICKNXOUEN6S9VU1KZ4V0NBGL = 36#2KO0BWJC2KTTCY90Z4GRBWG5DOTPYYUCVQNJ4TCFBW1BDG9NZ3AP1NA7PNDVQGWQGV3GYTPASD7MJ6Y5WNIARW4ICFC34H0QC8Y0CU1ZM0WWBGC7ZO5EMS9O2DXCRMV8M8GB59W0YCF5DDVYKMIZ3WSEPYDP5OO6AKZS6FNX3TLX9STGQXU3VZ0SB935V2E9W8CHI2RY1NP1ROH7PGEQA22OG5MN2YHLF4FT7XIIS2BW3VZGHRBL9ZZ8QFX0UX6CPT828YJWFN7RKZNUS6MABKUSEGU5KZ9M7B0C6DV7AMJCGATI9TJTGYXSP2B0RY8VS7WW52YDL7T5BS8TG1K7FILVSBGX5IFPLU9JBSTCC2QK6QV8ME5S8JJFQCKRC8YYLP9A6SX61CMW7FQODXBR92VV7WCCUYZVGJVCM3IMPDHVQVWZGB5Z1KXD45NVKNXRE5W5JZN7UIVQQ97AVFDYY278I2CATF64DMOL1VRBIG3JPQ06QPM1FCY4KSIVQMD808WPQFTMH303OCUO5PP50CN3V7O4CXCXB4MC div -36#30J7KLDGQ5G7XM688U9K46P5S7J24Z5RQMQR7W3OFTZP7NYAXG. +-36#S8ZHIQEUS0I99YN6FN3EFUC9M6M1IK5I5Z4KNQLDPST18LU4ICC7B5DMJ87X6J0YZTNIWVDODPAII94WFKMVLXPALUSO9AOQ45BV3WFNI2PGDMNLEAO9LLG4TVH28RFNTA2NLRA3844OE4H436R9MZG6VM05BZRXNIYMDVN7PE22HZWK3G6ES2O1T9191OFBNSBT7H9O6L1ZED6N469FHXFRGJDA6ZPC56YG94V1M7RNIMDGO50S45ZGMOMV97C4W4WGUTI7WVJSWMOKWPI7MJT62CJU1SO78E2Z0LEAZI9HQ756USEAX7ISQADNHYUKCIZMTOO2CI9389IGFGDIP3YHHRK94717JS00C996P3YZK8M2VK3U7G5AWXO3GRCHE4OH0IIL1MGUBFD7EKZMBR96H98OCJLL7AVGVO8Y9AN8B52GLVXAAS542PA57S6ZG675QOGBSARN2PTMG5B7TU0RN5FJIHM07ACIKMXOPGE319M0ESV86CEWME6KUXE4ONY8Y21DK3JCKZAGHP5LA151HT4D57TA17VN6Q0TN06LMVQQL3RZNS4PZSQZZ5WG4P5CVH5JWJ3QBXK9CQRQ8JOEUV83XYUM130AJFT1LEH9MNHMLNFKJ17PS1SFYQ7DGP61TXKUN6EXWIOOA4WWTJMPW47G75EAHQBAH = -36#IYZ9X1JYFP20TU7V8QDD5JNN5P5VQPQW0HN19B8JFA9GLPSZ0OGU2TO101SOJM2OF551SRMEZL4AFX3BFFJBM6QTQR7O6JD54ENMEA6Z65X6R4D7QOI8CJ0TNYHE463GMQSQMYKNZ9GB6CZDLI7AI0JV34R4YVY9ALDIS06Z8FIMKTKDR02Z1U4HOEMH8S1A4ZCP3MR4EJ6ZF67UELT0RL2KC441NILHEFL6W3QHPFG2JOAV5FACN6TH7FMYUWCGNMCQB64UGD0MKJ8AHBIKMFU7RZDNP383JM57BNZ97VVC12QBCIDIB6TKU3F3ONEZ6XC2VENY5N2BXIZ0W960TRXE3D0QPGWFYB3QO4XHSD0HAR72JWLJCQRIWG5I2R96Z8LUDP9BGNI70OCB76N9AM9CFY8RT4VBKJVCTS4AQDMVGHYMH3RYRDI7O8OWTINDTILZ8HXCTTB8PDHRSFIL2ZJ7IRBGK54GT5KJ8XBG0I18M78RM2LVXNKHVVB3DFDZHGCU204QQ8S0ZZKZH5JMGTC8G8FFSGND1922XURZ02BFUVEIHFGD6WQFBS2SZKS843T7BIXC110EP099B9Y47JL1UJCBXKTBNFMBRGXR5EKVN1FQXZBBIRXKR3BYSOSXZFJTEPYNN0Q14W0PRU9V94DWJWAJOM20BK7O0SUUUCJP84933MT725AYACHKI1Q7P2N6PUUERMKTS016ST6QSQR8BSH9O66M48VCEVV9KTHH0P0ZVLUGYJG70OTKEUVTQ1TA09GR8YUEH5TUVTJVB9P6YMEU8VLGTMV59270ESGOS22DCJ7X1080ZN7AP4TJL4EW3BWUHO070Q7Q85W2WVPP1B6OC7HGCMKMDNS0RU7IOYE6268AQ4S8RPTHI3OFAGT6SSOFKMT6VQMPGH6SQ4A4CTGVFD1E4CB7X82O747GSE9REQQ9R8DI84NK0MWYLWW992CF9BEL4FXR5M3S1JD8SMXRXMQMCN6A75VY12VWF00CPO7PT6MOVGR237D099G4XCV0KAAV75UAZWC3TGLPWW5EDUCMBMK1IWL8F74SM79GW3M1IBX44GKFS2O8U1DZWL7YXFW953P686EP4UJBDTJK0AHYW0C2FCIM5EU9CX1J480R6QQEYDIKC3UFJQUN9IKHD4IC8NCB4YZ0BS55H2O3TGYSB889ZY8YQZNLE4PJCCHHN6JSTQ7E84BTKBZKS04ELN62I3MIL1MRG9WC9Y3XWS5G6W8 div 36#O6CW9YNJK5KOPKKP933WEE5UM4MZX1L7Q0MQYOU172H8SMWIZO6N108CSE8F2XA7P4GV5P5YGIH6KPFBSB5OQNW18ML9YDG5E2FH0R632N3KOYJERBQM23G8TXVLL8WDQ7WJPJ83T9THKTL4MJ19NII1M9XN9P53W800LL1JCX1BUG0O28F7SZHEKCIE3Y7SXWNXX61HS5L7INSZDFKMPHNO8N0QFQK77O50IB3QT7FHB5TZACSQTY81UN33PGNQQ8RJXLEJIE1VBJS5WPGFN1QZ640JM2AGVEAAFY2NO9BUIO4DPWOP0SSVAKGCCUIJG5MU6OO1NT2ZNKOQXADGW8E2IAXBU296HSS3EL9OPKKO6ORP45ETKMNNZSN6FHCTCQX89B0JZ7BGT2974ONJS5BGVUY7PVBGOSRIKMTPM1BGXRH8L4K0F011VFWCM0GBFFO7S8S8YPZ6BZ1ZJMJF38TJC3ZN1LUS0W4BKKN3TOIB93V0O1TS9FBSXH8KVBWYF6UA1BAKNPE66AHTG3DMSNG1ESUE862G5QMXNSQA8SCY625URMO6PA3E7LNGRS. +-36#64H0G2QKH4VDL02SJB4ZPV1T9547IRW5Z5YSFBM8HYCG7G4EMGNBE4J5U0V2TXL0WTLHRV9DB5Z9ZQR09K7A095H0045ZM7M7VJRX9F7W0CPK8WOTU82VRLXLIO1VDUMXK7P4ZNBAHM2IHWZ504PKWPJ514TIH6JK022G6ZWBNPV77CSYE4Z0MVVBH4EJMZVMHSIA505MG5ZS81DOSITJKMYS5YUDIVAS6KFIWK4HZD4ZQB9HSGBNRZ7KTFERJGUJ82CD0CN698SHPRU9Z31N9UP5LOJOAQ3MEV8MOWYXVQIKGDDLN10ZEJQGLA6VBH5W23JVMXBN04QXAO61O7VCZ2INUZBQP93NT2R86V0RZV7ZVVUG9VPO6SDQ5Y8JPMH8UX1GDGMA7WRWT12AC2K6KFCS62SN0QA71QPOU = 36#6CEAOW24K8AEG6LN7YXAXUINTCO25UAS5TFARDMGU6JY4TRMK70FNXX33XZJ09V8AKFXXN5MJGOWO8YUP7PJJS5BHSLP9DQ5BZMZ8SELH2BZ0JGETHOHIE836KT3DLBQ52X5FOOQB91WHJZEI4I9EMIMVT4LZ6PDOE5YRF88KBKU17F3UJ8V4IG6HG2YRSJCZK78H575GT0J9SYEI08P6DSQG10K4PQVUCACU8J3U505XV2T6ODEYRIS7J4M9NRUXJYCT7ML8RS56VKIMQPXGKD08I2XAXWLI1KDBUNO81YB0C2WDN835I4CV5P5S6E * (-36#YR179VV6PKWG7T7BM74R0BJMLVE2NL9Z65GS2Z5EHG8G15P5A1D9HUMG6824M3KGQ3ZANOULV1XA5RKJFY8SYPNJM4JCKR9BBKXCYFX). +-36#3X5MMIXA9UWDT3EM0I5SK2XW5YYNIGD1CEABKCNTOZ99D5FX7MH2U54LTR82BS6089ODKMFR23BL6CI00ATRJ4KKQ523OGPHBO = -36#3P5PGYINB91AZWGDXYLXCNR6679EITR97JFZFV3LYOEKQQ36F * 36#125U9JV652E50QY8CHPMFK8M4CEYKS1F0KC7DWGMG0O9CALB8S. +36#C5KF3S1JTRNUPDMUZKRBM1WTGNZ1M5ZFQ44R4AUWQNCY9RQ8XE1UAYIJOKFH5K = -36#X7K9QHH4LK7LF13TPAAK8LIUYTUK3D2E44A0MB6PQJ8UNTWNAV22C61OAZCDSHGAHME739F5BV0XEQIHSNDTI02L1HPN2MTET4W91A6RENAB99K div -36#2QD1ZSX2Z25EDLSZWXNEWYJHOMJTLAPCT2CNK8X8LABAVUB2XJ. +-36#3JEMYC1YDMY9TF6FTBXMMJBE0OBG8BLZIEVEHJYF0BY6JMDSXOKHHOMLJ8ITCPC2RZTH45ANI0RR9I6DVZBLZHSRABY6CBM0AF878F8SX05X9TO90HZUW6MS4QTMI9HUM7AB8BEK3WULDEIOHT8JX5J4K49C9HU2YIHM5WQ5ZVH24PIHEAZDPZLGOQJ5LCX6H9WR2BQB4UT4106Z61GC3O9I582S613IKNEFM88W6DMWZ8N5XGADNX1W7W2XAYQAWFRWIBCZ6OUKQCM70ASA9F5VANHD313IVSTO0JTN2S1S24UQ8D19CLKANSIEVTWT43M4L9QZ5GNKTE8WRGB5A086NF8V9U904MT783G308HVQ0NT6QK4AMMH1QBTC2D8B71FJNH465XKQW2APPUPYOV = 36#LO71R88MF7JX4HHQA3J4K5VTCMUCSA1QGQRXOHE8QDKV4G3UXWTPN78RYHAE46VC1QYJ957DMOTQIAG3L00P8VTOV9VD0YDCB145OCYJR8YVTCINI17GLEFSILKEZNR11QSFYP6HDQMX53KG3WPQZPL8C5KP2RXRECBP433C8TAR23PFD8Q2W8SGPYCSZ6SLWU1SMID28SF3YDSXAJWZXXO1LQABZTBXOIIK7J0EAZ8MN00RWRNYYG6ERN1IKC8719P1TZP1OQ36YFS99K2OUYHV2GZ5WUNYTPNPZ8TWNA6TDW784ZRE7LRW991MQQG7W8FGCTFDOB9MCEFM7842U679UZT782U113FD5H8727BL7I086CKH7UEJO6DVTH19X70S5NL1KDXY4VP4KGG6HFWGV52VPN8FLNGSCKXJZ4FMMIO8GFEWAJZSK2D6KLULK1Y265RHFOUNEDI0VF2ZN45FKENF0DS8EE4R0AENKAWST8SONY4L4PS9NE945YBDVS0NHFF8QBUGJP9O9KOP2YLUHKH18J2LXWSPF0B98WVBE3W6V4YQTNN6I1K6RK3G10Q6WBQBD0X div -36#64G9VST9O9FYKOJ6OSOVKT3MWS1TBIA6W0F20UNQ9Q7TJ7481PCME08QJX6ZHEVPXMZWUKW4OLWR5USGXWWCD7B22XDIHV0L3DBOLTZ94VSC885MOGZSOFC3XPA04K547RLHR31GKY5K3ILZW4KVJWSEKHZSI07LOIRVEU25W2RR8FKLWLCOF. +36#2JT9P6RAFGQ2CLQQ4ZYOV36DSW63EVXMU6HX9BQZ2XJ3Y48SUBRU1MOAYW42HX613ZB0IGZQV8OPVCVRR4MRL7MV5NXB5MRNEMYJDJN9S5O90HZZ9Y14SUGFREQX4O87R8TQ5TFIREYI1B4L1WV36SV5XUWJE8NELQB13R4R63FEHE0BRO18D8T8M3PVQFTT725ARDTA80JBANN07TYS55B3I16MZRJVOUNVVNN1X5DRGK44TLKN1RGCRA36MH6RQ7HPC3BZRJYAXTFLPWU0JMC7HIQCAZPI3Y7DLXGSOCZVR5W5RESLZ3M5EH8LKD52 = -36#1JNFMQ15OKIKTL3MF21P6ATN6YXKAR75EIK805CU5APW6VM7BCDMHDEG2H3M9YUOSXGX0O53VT426QL7I989Y358O794C1IB2XWHZ4KR56LEDUGBSYYGDNREIJ6QK3OYVYBROWBLIAVBRYA6VNALU9NGXBFE9M1KLTFAZ57BWPOHBFPT7AFF8D1FAF1QOZZ7HV8KF054O1MMNTBUYH5QC5IY1J9DMQ905W85R4H65VFUAN09YXBI61OPFKCSU7N6TDHCV8JXC7XVHQT * (-36#1NE55KLAP7A9XDS77LO84GO9BS9BFOWS3M0PRNZH3W9A2A2WHA). +36#5ELQ777GVNSZIDGPN9FVV1BO7WSRLGWVHG4DLR90876FQJRKOMR76XQ8MBC0HULWMJF6QMT086FUD3LFJV0ZLXXCF9OQY25KVO6J98HIXC1JJHJD0924INJ542KI07CL1GEDFN159Q6D4OVPYHZTURZZUOJ74EO6TOX8X7Q20AIPYRHNLE5GCTSIDA6HOUIEBKPGS9V0DFS6DIZSGSEC = 36#35HF69BRJW4ZQZGH4JC323I5YMEQ4S8I8LX06JMYXOUTUB4WFX * 36#1PQE8U66DVQ6ZJ0CNQZQD8HJ9K6GWDYLBG0FZ3MNEL29P7C1I6VOKO4R8M0YEGLAQ2SSS0V7XLWBEQ78KQDL34BOC59MXDKPU27GRWOSIEOZLU3DJ3ELIBH6M42OQF1MUZOFW86DU6DRVU49CW8KN4YP3OX4UA874LW. +-36#U4YD7E96LSC3WJ0S73CG8AMBTJASNJQF5EQB919EU0ABHPQT7W90LBNYNFT8FIHV0I5V9E0QR9GLRDSJBCR6U77CWINVWRB48HPXEC7TIFL8LFSG98S37QLAI3PD4BPL7OTFKD7YC77HF082WPW0XW61L58K21S461GU0G442XBPQA7DQN8E03NUXCYQLDCOFQIBNGUUCA1FGTHZ3USWMELEY25F3OYL6KUWKTF7SN2AN3FWWD4803TTZIXY6PQEC9FK6R4MAEDYHJFTYK4Y5GA8092ZHL7HS00CVV1FZHEQUWB82XL4866IYRMDVUG3561WL7GU83W5L4PLMCB5Z1AXU9ESIYYVDYNW3QZFKV8FQHPI1V634PFNIGM16ROH7991STNAXSCZV4CMXA4Z0C02Q6AY5L9AQH1BXLBFPQ4UQDZ65IICOLXR0840UU3S0BWZUJ83ZKVAPVB8K8PZQPD6N5TNP2LUE4APBXZ1Y3BI4V334N3CRC2AR4ON5OPZP1DBLO6TCAIBJQLYNWC5XPCJPQPOI9IAM94YJTEHO3D8SK3MMWM1VEA8UYOYCMWZGGMFGIMWCL7LAXGY3E6CDAYI3VPQVWCGZ2UE0OBCQQFW8EVKD41V2K39UIRZLBTILZCSXBTAZ8YFZXWJTRHPV3NTLH30ORXZDNTQ2OR4TXSR5JSLZNUPX9GBBBZFKERI9GQOMGF10Y4MC5B36SLRITY3L4OVC6AHZAI7QP1NAF70 = 36#1F9GJXOQHO9I17PZDZCTRSA9UV1IPSALVRG9FW99VW7SZMB4A0JJSWMTU5LYD7QNQUXPEQU97V38WFNIBIT0NGYC4K0A0EYC99IFPFJ6LFS5WF3Y33F3LTUE19NF52Y9FFP3ASZ6VDF3JT46VLOQJ0VKHRQW17KP63PDD1RIZ5ODPWQ2UIO7CQ4K7Y8A2V2GYTYWIQH657L2SFL56ZSG8A9BASR60X729XOL2ZMKP6K6EDI37HHWCEMMSA88L4CS7M069YCLZCD4RP3FE0CQ6NQ2E6DF48X0IKQPFWT85R8FCK2SJ64FGS0IGWPS6X8RNXY60G1BAFPP42HNO0EPPVN3Y7VQUC9Q8GL3VB86RENHMKF59S9AEHMCMVKO3QC0SPK7H5M3CXZCSD4A4NDAU95KG3S88YFFO3EPLC64RKHOPURFATFRASEIVN8D3Y6NE2TYLEUGCGPP11B5CY7GG6RMNDZWLQEC * (-36#L5XA992DAQD7JTJKUJJ34B0350D8AA62L0PAPA8DCKRQ3OU7RQT8CUED3ABQRSXNXVIZRNREMJAFW9GD2M9NMETBHK3212RZC8YBYRCESARGPR20GGN36C8J6D1Y3OYYZYMMJS4SJFPF1E6OU36NM75MK7O7UCUJ866Q8AZN0JLNFA0XG6D9B3MMFFK69UZCD7UC9FUSN6FW3V5FIPIGD3MIH5B8AA9MILW9FIXT1XELNCDMQ09NS7G464VPW6DVQQN3GP7SUDTO3). +-36#2ZA96TMS2UALTK2OXKGC73ZXT1WK8NVZQJT0ZY9CSDPLXUAY661QL5AO2TG8QANODZI0U68KVGB9LLTFCB0MFN9ZO5F2SFSDIIDLMAFXIN45DEOG6LTLSAYKLBG7ZMPOZ914OUS7829EZ51H9XKFH0R18KUBFRTK9F7YA5RBSBRYIIWIYWQ27SV2XU5UDF5SEYK5MZ2BIA0BTJ991WOQ6WDFCXA = -36#29EGMT8WOCBGX76VKMSSJCIZPWM4ZE7S4S6YHRN0BX1OND6HGWPM3G4BCZUHF1TOXOUQH35OB2X0A7HHOAQ6OPDOIM189GW2PAFZJZZWPXTGI0Y2H971LISSGW92LPZS5ZE29RZ0E5EARFR7POXV4TR5URE65UFIZLAAGQ4DND06KF7XZ5ZZ6IX8E5OCBJAZMTTXGDXXBFFKHPDYZ6AWELCVR35I68SZG93WEL73XUYO2EDAWEAQTOGUAV465BH3KV12VEOE32U29G1DMN7R1A4NH3CD08QSYC0ASYUTRUUC1HGCZ7446SPWOWP5UQBLERKYWRWSD9L9JHZVVIO3F4LRJ1DZL0RWZ2RJ0ZT31Z1L8JIEYX6159BARZZKUGKK6JRFD0LKWGLQAY2GIAV5MIUITLVM7VVO5TUCIKD7DIAHT0IIJB9IZPPSMKGK811BOE3NUCANFX8HB67XD448CQH0CXHTRYI5S1E4XS6OLC0TFH2FKCUGGNQTJ4852RWONQ5GZDSB2COP8DPQXE0980GCQ7ZWN77OXASABHZO4ZZ354KK8I35PBUJ89RJH4V55XZFR4ZV50E27Z8PMVCNMPK8FIQGL4T3SYIAS8MLY0GR4NLOIHVITM2GW1YJ2GGU5PSPT06F3SXKU5W5R21JPRXUQXGKNHBXJ6I3AWBQ05EDFBU8IKLJJ5XS6J6PO17VIVAUAR92HXCC62URO213FK0LY778EC71U8OQ5F2V9RJ043TVG99M7F59OKDSEYTPKK9RQDFN4IDXA4XBRNGI6TB73158WKMGUUV5SYLBN9MFHQLT207SHZWELRULS9NZZSEUU2K8I9NFOSMUBYXFBIMM1UENIUUZY6XRF0MTW div 36#RBBY56KIYM1MOURGPHLQ5R1FGHATPRRL0FMVQH9USZFR6BLKBKIR3QF6YDJ1398TCHX1XFURDUADVPJHD3JGC2U7XFSXXEFC3GXXQSX0F9ZAI0NALAVHJLQEHEWJAWGEVG2V2U45QNS3FJ014DUYX6FGLWGBTFZMV47LND875KWFSYAUCHXTLP7KGVQFLNVCN6P0FFQ1C3RVL1FVNV5RI598LAS1JY2CZ0RXF5P2QE1TEWANXBBC06A33NZWH2908URDZ09L3AMD4TYM8SDI2FS6I1WC77TSEJGFQWLYJWRESPQ8SLEGFLNPVGDMUQYMWSDVMFQDS19QBZVUYDG5J6722HPXTDG09FC7C8Z6M0CP1FYBIHBP9FWB2BP5Q0Y7XPJQGXDSZ23NT1Z4QQBLX76A9NE28UPHYSN9OMEKH98VMITY5JTHQCQTKQTR4Y5DAK8R7S09BMDR22TBI02G6HOGPJK97UMQ7MITKFYJ0XXPZ7AWV2O3OXN75FVUPI3M5LXQPNSW75G0VSRZVTZB6XQTMNBM66LI4H614WH3I9O6E4OGOZEEMD1FJKTI003G27JQC1H4U8BNW4PI9OM04216SWCADBQF0VGL5XINLU7KJ09KT85C30DV0ZFPWESQCQH0N9LR8L3OEE. +36#CPSG2WV7AWTN72FCD2K6DNHOM928GHA2VF7I2PLPJ4UC5AWMZ = -36#KJLO254Z4J56Y7ENV6Z5KYP5DP78X999CNF0I048CS7XWILX2KEVJ7BLUNKZ1SOJLO7VK2T36PBOB1CRM8TXDC4EWUS8EDLU6Z0WGD65BW1HP5J0JX0F4ZV56KCMIARBSGH5H876URRWG18MQV div -36#1M5T17BDYXCGL41CTC847Y56COM4K658B51D56Z3VRBJPO8VK3S89OZ53TMPI9W9BG45OL4296VVW9MAVSANZGZENV6AUUC4G5. +-36#2V772QFJ3IBIEWHNJF6GP5W0N46JZWSEL8RUUNE77ZTF33HI3WJG0E59NR2SYH4LWLR = 36#R96WC6CYEET2ZEX34KGKTMFS8VB81WLZDYZSGBAOG3WL29FD1YFK2CU5X3B029WOLQUQDTMI9G4D3CK15ZI21TU6KZHS0ARRKA2R8XMOO09SL0XR7WSTGHI9HWC6ACX4UQ0BZD5VD8QQDQFALLB3GJY2X8FJZTIXLI8ETO3HWRCZXN3IXY1C4SWU56BHG1I5A1ZIM6CPTRTR1IT9DGW89X6WLG2U4TCT515FEQ0RXAXFT1E9HAEAW16E2FQEEZY70VIJR59A9J95NAZWMZ7MNCSXSKNHGCRBLM1NYWWK959OUX4USWT9GYND5EG8NG3K1O8TSYR97K582UDNLKE2FAMB5BU1SAFGCYEAUZS9311HKNR157J2172IPSVJKU856DN3GV7J4H2RKQVBOKVSH4KIH9RSFKXK5JK6DNCYLDXI6WBN6OP8OEXBWK432EZ0MMHLB656ADMZA0CP1KL1BT6ZFGJH9ELD1DFAE37WS1R8R8JN8KNTWL53GZ8IQC6YC7M31IWT3S0Q0FL5MFWK87AC1ZI474R8UXQR9ICU8VAQR12T23ODWAOK3HQR6AN1BL0SIDWJQQZV5V12HOA387KD1QHAWOYTXQAXBFST1GYKE4CBQLHGY5C7HGXNKTUHV4VILO71Q9KKVOULRTIIVX9E9X9JUCQA1LG30 div -36#9I9YAOQBO4J3AV26YP2ER6KKWKXGM7QSO2LNE4WQRDKRIKVA171ZD8HKH3BG9I0SU2OSI1OJXO1S2YITJSEY7LMU8ZNX14ENV63CCCPJDJSVRFM4ZQ9WLOJ1MHI56N5SNQ53UI1YW3YWT4JICX7OGUL7CFRQ3TB843UV0ZXA3FZX36XF1TVJV6FFL84CGLT4JW6ANQBYRYISB3MKM1TWT7QEPPM4OFLA28D1P0MRFNEXVJA9MMSA46EHR6P8U8GMXTU5PMDBUGR0Z7PLLX1UR97L3EZX4DV906VNAMXKWL2SGMV7ERX7VJU2MD2825N5TN5VI5EIXWIVU369HUGGT0BYOTVM35M5W3Q4B85KRMCDV3IFDD9KM6IRFPU47SWUDOTOFJX39L83AANB7B6N7Y7YPT7R25UI6U32OD3QVDQCUS5RNKOTMUHA4VYUCTVPQ6J7MF5NASVBKDS7D6EGKWAZAE9EYHQ3DQTSC4IT29SAKZ5LWPU48YJ9XSJ8L0W2SQRVW91JVMS9PHK4RWAX66LTZPS9EJACJVE1N2QF0D1AIJ1YWEV8BT1XIQTNPMBASBBWESU5YHUN67F06160EKG6G2YSJMOVFKK. +-36#3HP8OIB8QPSD8PH9YQLF27L3AC04WYP1SHZOTZFHYFJLMD05BQWVP04UIB9JZGGV4GARU6PS0WIX0BX2YNYC1LM16UKB0XY6W730LLHKY9PH42GKTX63YDW840HOGHOXIDYR0480SL79OQU4RC36BSZJZ164KBDEO3YNAZ9WD7NQUN7FS7UK9T6R4NG0IQN7Y8NM7RAG44B2DHS8SB9FU150PZ05OPPTWDJH1KABDXMHSG3NTFQ24P87RXG7B8VY8LL13QHH270BD6H0LYTH1OGVKLBX8RZ4ORDAL5L796OM849WG155WXX41JA4IWOSAON1UJQKSTCHZJYTL90ZIZA09RQNSXNKBFNZRH9BCMCXN6I63CLPSV0GT86QDKZH4Z4K0 = -36#8JHNB84NGWMEX8XST79AIWVQUSODDK0FZ5JCDSJ6ULRKZFIQ0 * 36#EPSUCL5T897UUOEQQMK65OUXQ7ZCUJYBBJE0KISMHL64NHRR7KBU7344APYT4UGGPKH1FDGZHHJ6QSOW80IVPA3L9C8H8LVW35AXT3EMF8BB56MMUNTE9SB10STO9342FFL41NZCZ11AJQGQS4JEMEJHVQMRG24TKBTAJN29WYMYGBNC5QV6IQYWWSSL1XLCCWO804MJAZ2O0RHT076G50MU3GZ0FYYHIDWAJ6WHEZKK2E1C5TOI285SHFLW9UUVTGFIBQ5LC7RBJ5ZSZZEGLXSTZGR4R2QZJSD7F2PCLIUTJ6STF9QEQZF099JQMLDH41YNHRUX7DVRZN305Z2Y. +-36#2HXDP7VEFSITPIX7DR7NTTSM9NXYF75K02RWPHO3TVZMXVM9A7 = -36#183QEQP9HTFVT3P2N920NCVBOSNK845F8PUM2A100YTPGF530FVKP3I47RRX3RA2QR2QRJPDPTEC7RQGVQHDQURFURACJML52A9 div 36#HNLV2GFHVCH2JZXKMOZ0KSRGK2LW040X5PXGPTUGLVU35HKTR. +36#RATJVMAXD5JDKEA2JC2IU2342247FRR5FQFY63C5YQ690QUFSLKDY3S2J817QM9US15JNI56VLAW5T2GIL10EYNYE2VTJTTMTC = 36#2NKCY0EMCCN9OZAR1LOFHC5RG9Q8H6RBJ4Z9U3ZDWM6EMOJFJ4 * 36#AA8EFJLXBDWCDDSBAXM1OPKCZQ98JNWH2BV9QG0565RUEKAZU. +36#7E16VSEETQYRAKYIPSZOM3IL9B79O3OGLGL1MUXWFMCBWX85FJVRR8YY5Z7OQFTXWE0RH62BFR2PAM4IVF3DCBY9E6JJ2XPAUFP35Q943O4NXQM7EK67IG46Z9YCBSZK9ZWH120TC4GZDBK0VOYHY1D4RRSQFT4B4OB7AY8N5BUREXTVP1TUX5612HNS80IK0HFSJPVOLZFNOVDYHQIX7XF6MOWR999PK7GRPP44FW2M629WMQ1RIFGLBEWVBJ00L1ZUPW108QVXSGCX2SBK05TPSPC0A7736GN79OQFCYNF5NXHG3C5WLMJY9LCO8MASHQQR8Q3BO8BAPO8NSMP9MBYEOTZ2H7 = -36#20XO4JGPHOBRNETATJIE23BJ36OPUVXMPZF957EABN7YEKZQLM1UT42465OGQ97ZFVAJ3M8J7G5C0X9XSU0E1B2UAKTG331B60UXOJD3Y7206R4SBJW1SN3LUX78PG031UEI8GVOPERPVCUY1YU71FYD7Q9D2I3WTVJUI61GTZ9C5LLIUR5YZRYFAZAIZ2O8JS0SG5I1S9XQR5NR8C1BMQ2P6C67N3JE0E852H47U5KH9JOXS8EMRSDDC0H6FITTE4GXZ5YU8QM0HT58FEOW34UV4MHD0HHX32IOOSLXXPVCM011V1TM5WB418S9OQAZPTBR58VVVIB5XAZVRHMW63PS2W4YTXTK0ES39KTZHAGI5AZ9068D3TVIGDWWVFNRDV6NROPGBRKZ1WAVNCQOO1IT438J1HT2NVORO8K4CA4E9W13KNI8D7N2RW9GW6J4HR09V1IQ81L3PHGH14Y05RSO9QAK65ZQHCTVCG1TA0QOMKY7DZ5IXO85Z1Q97LLS45KMPTKA8ZFAKYWU3EXRF5RU5N6VPJKUA9GRSL2ZHFNV6KT9K29S9LUVMN3IEY2HNF7RYBXJEOHSR4L1ZVRH9S5Z div -36#9VB5BGQ7DGD8U7A2OFUFR6W9NJSJHLPXDW607AQ0MMDV7VRY89XWTI0F0Z06M5IR9B8F4X1ZBVHHFKSJ1IBYM05NS6ZFQ3YER51EXU5YZG8U85HVIYEVK4UY4LWZLXYRLZ700TH3YE5D43BRV3JNUECCYEC7UYYMIK0BA0UZN7Z5X103NMRPSX4HHNCV40ZK97TVRXZUOV40JBQHWYOIB8NBYBQQXKHVR3PWDS8L30HXLFX89O2A7FD45. +-36#2GURVYLAAGDI2IGZTELUSWNQK4L7S8XU78VCY6CK4NM5TJYFWC = -36#2DKB9IND1IDNOQU50TB3SKHKXN06BJA17S8MODRHU6TQ6NHIUNSKZRM5WH8UCYYB6VNP98KNBYUI5JXR5I7XC4Z80T7OROOYWSPXSOGO5XAZWIDZ6KTY5PV2YMXVF5BNOTFNQMXE2PQIQLNJNT77LOWUD9PJ71M109PRBYFVRAYHXQI38R7JHQ9YLAMU38YPXOS5YHL7P4YKNTJ9KSKV28H762L8SRSW88M5Z9TOD5EJ10YAWMFPMU1I3YGS1FLZI5U2PGJMAZLX6OBO4XH5OVFY9X89UV14SW3G8ZZ30IHY8NDA3XRK3YOMPC6HFPFQJO3ZM22F7ZRKPDGVCE6BJDMCOGPJRTVEWIA7T5BXT6141FURJ9BP39D0DQ6CBL3QQOHLIRS5UFOQG1HKVO7WECX7CPQP5UYCZLFTWHL8PCEF99XUZ2OZ0L576JMTSITFU3R8QW89KGNDAHGN29P15AE0EPY87MD6IQLUEQFDWFCQZGDQGYG6HL45ERQ1A4NX9S78YTSRED64Z0KPF9DIRFOPIHULFG89YERWQGOALKBYJRTNGHSG8YY7N8GAZ9Z9MDC div 36#YO05Z05WNYFF8G01FQHM0YN81I3LA7TSB3577CMBHIAUUIFLA3DY6PFRMX0SNFJ1A0UYE3MTXSN7JTCNPQFJSFKTJU7HTN55ALBLUX8LHQU69IJRXAAABPR83EELZRXLTR00026ICFT06TXWPG22HQV4DNNLTD71BTDMZ6RGDEAAOUDA48R64VVRXP7HKX6BG0SKTOOYCZEOVDRYZ7OE1JOC414FZ14FPA7WMPDPEJC7UAHAVC1F5PHG33PUYKGQAEASHA3NGJC7NVCJBY015REL1VNI9WG0FSDFURV9GFRY56Z7HDD8JX6LLS4ZL678JO0EIMDFIOZAJ24HEHFC58HZQ9RMQCRHQ2CF5JGC0I4BARREAMZVGLFM1VOFJEX0WOKURVWMCJWROWUK5ET5LJC4CP2Y1MHE49TNSM12MFUQCU9UBUBQP2YYYIY5B1A1HB0I89F36H03WJZQ7MQN7FVURPWJKWPZ3OZDCJ8ZG8604CX312BDO2RYO5T4OLRH92EZBGKFA5QLM53OG. +-36#WV4HX6XPKWLTAHFSZ0EYNRNMW9UXDIWGE2RAVI28RYZMDC0YEJLZ0LLX4ZRYWZGS4RJ4WTW9HODTS9G1AX8ED2SLLNAD7WNGIWZFQF1S0APS5ZHZT2M6MI1C7YARJ8QXFP2GYV94B1DPZ98GNJU7RB1Z1CF6QGJ7PQUHKLUKB0OII4N3OS1SOHVDRTM4CW213CD77F5TPI2BO46P9ZEM7XWP7KXLHXIXC3CV6X5ZCDHHXWKF8V9EVHZUD2B64PHUS0RHDH78W9RTUEH1ZOWDT6V0GX1NWJX1DY4UGTB1AIMAFSA = -36#SJP4BCLRADWB7WAPTN12HK6Q05FNB0QVBCFXYS3XM1U2SWRO0HM6HZR45WXGOM0CO056FIRLY5PA3RZB54CHN6WT38BS525Q3O7BUXRVLL9D7PXB2ROIKK3IYE3ZRZM5J4RNZIY5PJXP2VXRHMOD5OO7QSA0PLYBRS5KJ4DSTHFIS691YMEZM2N0Z0VIW0F6D9J4WRBTAW1EW48R0I2KWJ3VBJ4K25M9E403KKSN2P9RY18VF1SEPD2DBX8LDVQ4TRQD89LNJW704KFVSGL8ZO9RB54CHGL8YS0YRL3PXBZWYAVNKFV07EHQMJBQENA5L5CPTL4WQSER5GMS9OILLSYZ711JOGO6BY313QR5TX6U2XSC4KCY3A1YH3QO93W8NIR5ZM6UQPUI5I3CYT8QTK334OX7OFS07UDS7Y35NBWNPZEBXHWDRJIOLPVOWZ9PFDITM9FUOAXYT05DCUY0RMIQG1MWABG3DCKDT0YIRQLQX2UE176W3X27NS89HHV4WF9YXY4QRRPTN2Q2M2WL4XPDLWJC0ZSBHL10ZJYPYWKCB2EN1K96JKRNEFG19ZEX3HT809O2XYUYE464R5FWRV36LENGFNMURL1RJKCNSYTKJ9VJ18ME4DKGQEKOYIMTSM4SY64JKFJ7S9ZY9PROVLG61Y552FW1CX9Z3IJU1C89Q5NTEPSFYOR14Y0H7MRWMJPSJKV3JC9JPQ3V8SO8B31MZURRZ02WPU5MYGHXBZR0TY9SBX9RHKIM9IMRMFHOBHY0DHJZT9ZZI4UY1GECYLJPXCOVAOZIQ7NBL1SQ9VXLEHW2KZ8TV1ZY1RRL02XI7VWQ4VS215MQCZ4GGFSP6R8QAP0I37BDXD3P6M7NC30ZJBW3IYPKV08DJ25K8R7RXNPYX6THXQTLOTEU2ZFY2ONGCR4FI8Z6P2DWN415454A0NFW01TUXZBZJIOL4JDVAFHGRE div 36#V9QSSALUAU1X1ZD4CB0QFDJJBEBFJIEMFWFBUREKJHV265DLT3QA616JETU9EPQSN9UD0K37XYSLO2NCK3S8DYJFSH80EUXTZV5POJGMKB78GEYY3V3194V9Q0D3XAN8L4O3R2X90W8WCA2EAEBWEFPR4HRFXSSOVPYGXSYKFWVHAB4HGPBFW6HYB96M62WN0HUDWI99NHDMO7FFHU47AVIF1CI7ECODMLIOKHYP5KRSPL3HY4GW8T9PHR2MLEDK18JQD4AD6416I2AX75FNQX4J5TNWKA10Z7CK8UH99S77N69GZRZPEGSRD95TJ9I964TXCXZAWPJGVMEPSUWJWA8R9YEPSE5ZP9Z0Y4PHIODT52AUJAPEWQ5NWY2YBAZA1XN1EWEUGEAME8I49WZF3AHL7L8ATYHS6W8HF0NTWU3B55BAFD825WEL5QS7WN52WYRAFC7NHIY7444FZB1T49NW2P6BL81IGA3VQ5RKESNVH446A21NPEB1ZSYJ13ULFCSM49EGS9KA2C8UO11XYLNC5LOPBNZ5NAOXZV40R3260YY09VWK0ULIJDN7CKF8OLPX98GKVB1WPHM8OONIP7355YSSFO13191T3GLASAX5HNIAA39BILVXZI7WEXNLV4YCBQQ6Z9AO0B50IBD3SL5. +36#32FJQ8FKLS9OU9ULW6XIN9M6JTRBEW75X8VUWFPCB48QFRU1OEK7HLIF2YVISEA1XI19BA4JC0E0JQWQDU15LZAP09LFR50OU1LFF8I1IVMCYI8N76BE52OLMFAAAWK10C3PI7FQ09D25CZ1WMIUB064NFPP9VU1LH78VH43PH11MCYI7DQYMC0ECQ36CGUBYYF9143JLC68DVG0G7L4RD8K8R67OT67PSIHDU8WVH6XJ0RNQ57HTW47DT90Z8HEH9J7W1NVTRZ7UZO0H3N22WVXOJQJ0FGGRV34V8C4FPNWX33WIJ0EE9MKWHP3NGDXVJE9BPQVGLAYY24V2SJBBY3KSI7U6R188DFUJAEY2ALZFY90GIFT67JHU6KFPTRS6V9YE85RQQB0690I8NTQUWGVYWA2BUGYM1ZBBFUTR4X7JD5O6ZXFAJX5UB6MYKBWFE3STJBL6TPQ42DVBKUOU573EQ9MG43GX4I5VMTP9FWO5IDBVZ2NDMB5KAT5ES09ZAS95XZNPO0VHBJJM08T45CFQNDAQ4XYJ9TM9UZ = -36#7D6MFJ4DBPHZ97X8SOM2SOE8A95C4FNU76L8X0L0NOY7RU8X4TF0ABQA5VB46I4GXRD5QVIXKS03TGCJZ3YZ4I4TB9DPSMWADBW1498EDBIIDQP8QCGUW3YWLYV2ZW70H9ALGWGRASOPDBIZ07SMFD3MF8GABC6D5YMAQ1WSIULBLK093AOWDA1F69OUGR0IW1F7USZ4AZODCCH3VPN71D3JGYQ66462SAUN5H6ALQO32A76AGGSS9JGWRKX2T20PCR2V7H6HDX1ZDYU1RJS6QGJL09REQMECXC3D20BUUNLM0K669Z2DP8JT9RKFE1WJ6T10YTTW3YMFGGVS4QTZCI3ZAWC03CSCVMOPO1L4Q5Z8V92SAZRE8C0H5CM9JSCOWRYCSGUEDVXTZNMGE8XI66EMHRRVAAWBG942295UKHD9MC5ZPKIRHGNVC0IEFAGEOUFIE76D7YO50H54MK5D4TXWB0L0ZU628OBRHDWIRIWZL0UNMZHUVR33GOBPB7O5PROKWFGIDUELJW22B3X0TAON3F734UP9KYR2AMIORQLZIETL20E4IRIE06ONYTPABRVZV84QLW4GK1ABXQKX2KEIY0AC1ZRNRFGYYSNPBBISZTR614AX4BIHHVDDHADB462VPTCMBDMRZCD548ZOIEBKZNOJGLW5EF8Q6N5DIG div -36#2EG4OW70PR4NFAI36KQ0O9JK78BU5CDQFZBNENLOC2GJO5PZ3ZMAQN8R3VA1XBNIQNZ0LZBHNRUGQ17GB0O7BZQXK6OW5906O4X70NT2MGFZ81KZ05A3BHZJC1SXHNBXB0MPK. +36#30OXCO29VCXEX16H018MJXLLDHP6Q8EXGMM47JFPN9BI649C5CAD0M1584IK9M4TAP4IJW1A8Y3D1JVLZ7JTZY3U9ILATAQ5M10JHW1JPOH37WB4OGUG2279LM0POEAGLYSYJXYX9UNMNOY6DYQNOS9OVECLZXAI8JVKT626D18R56QIGIW6VUFEC4IXCHSP46D6PX4FY7KJ7HLWZACK60VBFFWZMBJ522W1MGN6KRC7YEFLDN3KV0RM9DR3U3VP9O865ZGH2Z4PXR6DKG5AXUFPS7XNA5G4EONI0H = 36#1JOE1CZ7GZK3TK0GR1R8ALA51Z5KBLCE9ZBE5SEXFAKSAXE4STEVMVWSRKD8I9FM3VWCMY4OZ3CJ46F2DAM9862V0HLKJDD9HPVF78YZ48ASVAIHSA0YER1QYB1NAXW5195X85RZXZTWHP1EW9M9G13KFL64NZ2QVJI6Q55SZ49MMMCEURKPBT2TBDO1PCOTC3QQYKT9XATUN5THO9OBE8Z22VGWIEULS77TJ0E547FG09RDJMK2X0FYZAZ0G8F8SJK2D0BXHY1H8KZRWUBOHLZX7PQ12G1ZUZ04DJOCILLEY9V3CHKQCTTFLL63PT4630ULYMYMTWJXONDYBKE6A08WU01EBNL7CKBIP2SFGHB4WQGR44XKL4841TO17CFTP0GXH6USARRJKMG3PW0I977M8XYFE43BE1TD6W7VCJFRJ63PZ51E11QUBPZ7A0SQTCRGQKXPMYL116PM8PYQOVBUMVPQJV2VTAWBO2D4OHLI div 36#IFVGG6P9ADFDYWV51XOVJDS0FKH014MD5LVA1N76VLBSM1WQJQDN6BFF0QAQ3LY2J72W19VA0EPNU97FN612S26761DNV6G7A6LJWADIPL9F6DGWUJXF8C8AQLRFFOHHKGHAU4VI4AHU1CKZK4UPK1XRUNDQCN8FFX470KH5R8YFNH3S1UY03BHJ875MD9NGQRM35I. +-36#3DWRL68E7VR39Z3JV6ZJ3H2CDM09LLWJDXMVT2LG62VTYIAPZO5ZSO0B9061JDWFXMKGXVOT4TASSAL3AMW831JBDY309II0O3NPSO474FMI7DF5NUZ8DS9IDWEZYGAV0W4DY9JIU564SE8DCS1GLPNDYSIVI1G4DUNAC5QCLUIF6CZJ0UVZVVJ7R92QDS1P7KYUD7BNNCBGKR12L5JHEI44HRFTTB0D5M2LB20DGY1X5QWEGR96L41K01LFPQFO62S0GBZ30JT5PN78XN172L6056IYFIPBQ6Q8RQJWHK73AZNKIC074OFMDFKNOOWCAZBYDA5VKWWXYWF2Q86Y72PW3RT2YI3HNV74RV6LKTCMTZ5OO7HDIU0JUCJH6OHVNGAPVATNTUACQ4KLB6ED5EXEFETODSBE47GSDLMUDFZ8PDFLM4TVTK170GY7QRKHWO71AFG3JIBZZR5HHJ6XY4WONOPINVN874DOK62ZVWJ1C8KBT7VT3I9GQMYUBVXRQRB1C6LWJ20ADAODL0H5O23HDUH5XFAJO1CLBE1RK50ERHIISS65KH10OPWDR4HWUFQPTOESBQ5W60M5DCU2SZ6UU62ALM4KUG4P1B429HJ89N61629NH6OOC7YUMZ8RJYYWFNS88ONE1PSVWTDHJR34NGSCFGKAVHQLEJ9XM763AYXDZV07SF8S60A3XKFTWMW39FPM3RA73I2WNQ8B6IHMECBKUFRVKBEMWXNY5FBSILLCCYS9RERA9TA9U62252EM20ITNKAPQI5EYD37KB9PYI9Z7DQMD5BAUF8RCU0MNDH0PLDZ3TYSC4GJ245K2AFN6B0L1HT223C7FTGJ4F2XSGHX05KLZJ81WZLSWWVY = -36#55S1YGMS84PZCNW57H7XQ2OFA7UA85GG0ECUO98TNLTOC7RPUJGEHGUYTDNK3Y8PB47BX4PBBW6KBQOB8N4AR4ZNLMDI7Y8C3CMH55EV53YP2PCW7VNJ7OYSJ7Z4W2O3B2I88TL5CCAXG5CVYZBTXHOU1LQN5R4DSA7ONAX8CL0YNGW9G9WRFAWEBCCE3KD6LG2CT1ID221KFMJF7ZBACT6LJ98CWBPCGPMDNRQQ95FOLTAIV0OFIBBQBR85O4PA9XCD9C8OCODY4VVG471SLLIYU69FJ5LB1G8IU1H49AK4O2ECQL3C8A9Y19A1ND85N2JJBLAXACNFX0ZAEW9HYOQNWDYFZPWF95JGYSCDQZ8CY76KM01T2PBZA2PSRDWHQKPRLDTVBAE32FZIOUAAJF52ASTBRAZ892H4C7MX8BQOE0B9S3ZSOF62VHSAZ82O1W3L22N6HTF9I8ZZBP9YWSJGKO9Q0Y7UGMO6L1YWFDGSXLPKNEL0D6YUZBF8HPLHB93NDLWOX73NK1GKO3EWCXA8A4XD4251YX4B9C2CO1ZH4ZWJ9LT7J2RNHKXXYKFKSCS2SL1DEIM4YZM3J7S19TCPVJ2WILW0RMEGWDV12CJ5XPGNIR5NY99BSMUBF2RGC9Q91N3DJFIV40TRC1FY4VAWKA4OW0H7X1D7G8DVXS5I5Y0YJWA3DF7O0DNWTUBIOGGG5UBLDHSXP8SA1L2VAZASQSWXL6EZVFZFH6FZCZ9GLR2F2BJ4C3ES1D1PL754KWTMYAF6BPSN74N28SU7YG3KKATX13YBOG3FBEMZZB1HRLZMRJ420WM2SM6D9HG1QIXMI89PJCXYM1B88AQ11PV1140CPDLUUF5W9JHG26JD7UE2PIGNJO5VIJ217I1BZ3E71EW6R4YAU37YZH0T8IZ29AHOK div 36#1IUZ7XI0LTFEGW0D9MFHIQZKK2JAU9P0JTUURIM48XEYIQ7QPQ. +36#1F9Z35506RYD18KV7Q5FE1UZ4Q6ENMU675R535TGFYT2ZI5ZQ0O2SXI9BZ0I17ITDGGU0HPZDUFJA2OFV3PAM5RB1WLURAHAEU57G4JSWFUQ7IMCAXJFCD23Q0NEOPWHU1PAJ727M3ETMULFRCKF16LD17Q0KFE5S4SGARBV7V34I4G9DAIPRXG6W6OGLVII5RHHUYD7680RGU6U1WBDR7O6PE1F0I9T0ZEZVPR7Q5ZJN5PXIVCXHA4LNBRXKRBPAWRM60HEG4YD8SZC0BQXIYHKCG8FPTLXUVHGSV93WMAY9RUFUGGZ183RSWFH7SY9FYRHA0RO5FNBHFK19XB2RBGWTEUI3ZYW0HHDN5XGLYIQZIJEWSFH058SKIOMK0FZQBFXQ2JNAZDVKONJ1YE8RPY5CK4TBQMIS5EOTSFBZ3ZXYAH6GSPYX3KJF5QKRTK2VGODABJJRKUU67UI0FRVFTDY6JERUF7ZO1V3LUIU26LB5NN9KSZBD6722IR49OBAPXYYUNMLAUTLZW1UM74HUFG61GOCQHSLZMK9S0YDE5UP6D3KD2A8VE28O7ALY1YCSP114H2B67LLMYXM5L87P1JBOQPM23HAL3YUY1FQ7GRTRWPEFB3U3HA94EPGU0QHLU5GAXCMHO4VKA8TO3AP9I8NA4XROOU9JI8CMPGLSS0BWCO4UWVHQZL2620N50S6FYVNDRV9HVPCFLRQID1Y9I2UFP0K2BGQD1M1REMEE7A2W5KDW6GTG1HEHIJ20WXSP3MUC80UKKGQ1H8KG4OW8M091NODI3MXJGP94DRAEJ63D1812HNMJNVMY7UHN4PFF7592PFCY712D8D7YT2IFYUMR6GUCKMBSID8FFTEONMGQT43LMXYJTTMZN6JS148PDW8EZE48ELU7YWR0UAK52MNOAT87W0IQAQFCLWKZJ6Q11RFPRBN5I079J14GVIST2APQX5FEDOYY3VO6JU4IMTV4BE82O8U5KDZNC8DKFN2U2VZ1A6FAUUN8V0TQWF00TIB7S8G170N6ASJRPFVK6UTPLVUQVTFEFJFUR3JSLU43VK4ZD9MI595XOW6B13EF4ABTKFH6SBQZ4Z6YLMT5WH3SN2NBPWS8UJR4B26J32128LJN65YRY41FF8JK05LNQMBCQ5Q3CB640QFTN4NJNESY4CA8RJA98CLOVPGPEBGZ98NT64GA4L8YS6RF2JMAN00SEVF84IMZPZ352IOCOJQK7PGJ1I4SWB928SF3P4CKRK5E0XJR1FUYDONLTXSULHN8HDJ1JOLVKOGVREMVH0R24S8OH2ZOIBN6AH969CFMPAS8RXZAHORUXPCF3KADHBBK3PTNE16ECEBHU6A107AHRPHDBENW53Z40CEVH2N1M3TNULJLS1UV9D8YIPXJOUG7N9WCJNV6PR0SQZ378EXK6VIRWTPR9XN1ER4J5M68B6FRG709WX8IF7RSXJHN7KFXVXAUT384WZ0T63WS5HB8BIQ9TOBIKFR4SG4K149SENXUHT7LLXTGGBRJL1H36VO8YJFY93IXULESAMX8O8VA1LMJJJ5OT0T96GTAOM62PZ84G890C11XGXPDZQE2K0JCE3DOSD3QAARO = 36#DBPYMNOO9TJC46ZRTA7O2US512HIC49SSME7CPW9IVIJ3WA5XY3QSK4CIVPN0J5J5L5D8JOXTTFO4H5PDRZ2FQ940PUO6YCQEVZXSPWZXPIYSUTFSFM16NF98KAHOQWXBGHMQ61ALYH002CD3TJ3Y5N7EYFJV0KVW91PGJ26ACS90TLXUOKM7O4MGAZ9IMYH5AQSDBGRZF7VHZMBU8QU4NJBHEARUNN58B0MNKCTHO2VIA059UNC175NVZDJ6U9NIJ220122HMW4WH6CM1VWAIKZRP2QWPN9XPGD7KOQWBRQQAW8EXAV9IEHJFGPP92MQXKWKPQM0Z67OUX0ODFZ39T1OEGGIKQAO4V2CTTQJB6EC76VXHNV8V7O0TXR631T6EF145MO9J66AYOUAGQHBT3C0WDYCR2CNQJEIKTVRCUJWM5HHEGQ51IC2AAWTVO0ACFBVCZ8FHVZYUIW1B9XSYRC7DM0Z4N3SYEHKRWX38V7R7DMEOZ2Q8HYSI397P7VG5UCWLTGCZXGT5ORZZALABUT5KUS1SQ6N7ZADZUXI6HI8S2DKLY73H492V8JLI9J1WDE51M7FWIS7HX83HO57DDTCSS4O4X5YLYC592Z78N9GPSPRT6T84H8JYQWB0CHRV698T65RLT73YMQBOGP5KVL2Q6R1M21QEPXJH9P05RXGM2CPVJRABHX65UP5DQ2XSPP2TH3FKU8UT7PPHD1GX58LJ * 36#3UJ10ZW4WFEBP9WZM9QFMXZKFKGP44P9D6YPLVHO6IQV12I9AQZ8PMZFVIU39W74R4IKWGU7MVZ9P2I2QPR668J54XIM2KUK57W18BKOK6UE8F2AJR8M0R2V334GL00LQIMGNQK5RA9D6BXI2NMEDGXGXJ5R2GHZS2ZDP2F2ARFTCE9L74ZKAPJ7GBI2AL30AKL76TII0UKVC0FHMBFONS446W2BNEEUTR43OB9FHMNOAOXFHKJRWS0CEQ0YOP2D8XKZM2HTK5QHS0DX5HVAR2HRXZLU9WJH8LVD8CS7IPQGJA4QYE0LTAAV482H6QUAC4LDODW0IEFN1SRO3129JNJL2TNL4SMZDJPN3V22MVUS2ARVPB6NL1WY6DFPSOMPLBR4LDIL69PMXTWWRGAJ7C9LB9MGX61GN1SB1PYZNBCTLQMRU4LRZID3WJ9SWNLSQN8QABVHWJ86827AMD6H6O6R2RQIL1HLGBJ5NTLQMK1BY4LON2TA6BELD6RTS2TT328Q0X96I1YLG04LP9TWX06K9343HMNIHVE8FU1JKHEWKU1HAEVGAESHATQTRNCQZ2BHX7MZOIYAMD62JV8HK0D2DU73JYAM0O26EYBM72W2RANKD4CJSEIN9IGNVCPC58MLT9LXJQW49JTUVZW1H5WUJZXEJOEAIDF1Q00E7N8Y02R2H62PRLB9MPEJF7L11PAROU5I5Y1C9RNV0IZ7V9BM53LO1F5ZZKI2UH2S0XIC96MQS74A3DH643OCY1M84P06QDUAXDZJD9G55GB69EDK6IQAQU7FIIICCS2U9C0BYJ7GOM0TE3X2TEL6SHMX4BKYFC79P3RNIG9OCVQB4O7O2U2CDLJFDWBQO49SWYIHU9P9CRIHUXO. +36#SGZNENZSHJ6W5BOSZ3RCSBDOV9KB65OPG62JJGIETFMTMAKE5VWFUHGGQGJVC1D1DGYZDB4YMLJVWUADY66XVTUGC6VNG68TQJPU57U2DJ4IKTA6YPEJO13B1QG6CFVKK80FY8CQC68XLO67508PS0IYVBXKAYO3SFYUUZEAJ7ARNHDEB1I3GB7FO046L85VZZLF5UQ9T33CW061ZFFCMX74URUEEW4L5WI8VZKS90ZACHALA522SK396L7MQAE8K10KE89R8XEWET79BRUEH6RWAN7CTQS2G9R9TWGDXAG4L1NGX7W3OL1UDX0L6RXLHB012SCEW1QZ62TKUET71U8FNVP5SL2MUNPRM57SDS2I6HBA2K0MI3EUR466ZNUKRGIMML5PN7BCXKJE83PNWR8ROL7G0JN4A8JSO7CM1GSZT8FT84P8X9BHKMZCVKFR2D6DHTW386SDNCPGVPEMA3WEK6Y9Z7BWE4C6Q5J6NPYWGPG1U86XU453OGT2MCYYOVDKKKXDC5J6WCAYN05CKMLT7DOD3O0KRX959YC3H985Z6Z9JXHZQLGGGU49HLZCJXF6XX9UXLS425YE705HO8FRQXRBWFG77KTIWAB2QEG3Z3OO6O30FC033MPTDQB20N = -36#1YSASXQL1EXSK5OJ0D0QWCECC5F7IQCXFD809IS6EJ60RONPLK85V2G6S47XHF6DNZ7A5ITO2S6XVCL6JXRA6K5V2OVFOM5HO4AVAN27S3NRWD23UCXMK2CV3TBRBXUNCUTVZY1LK1Q03AL58AX8587ZRLJ6ZLPFMA64RPRZ6Q2031UILLN8YDBEC6GGWXNVNMN3MTQVYZUYVZNQ8O391B39UK71VEW0UI7DN7YMGA1JH9JDLP4Y808Z76MM2C6RBCQZUHQC1WQOI4J7CXCHWA981F1T18YJXSB30Q1BCQ8PQ4J0KB5C9RCJ3DQ6TB558BDFXMJMDHLZYZWROVLOO9KQKJC6OOW3U76UIY9MG4IZ6KHA9FISWBVF5R7PXHGHO8QPWOSG0N6CM35FJOTJHY2MR3JHJHSJDNIZXGB3V6PQK84D3S6H75UCCYBK536JDZFHFJ8007PDSV3JYB7NBIUO7D3B67WBU6J7QHOLWI2UQB2NYWCO3QX6XYQ3TW0980H50FWKMKUVC0GMFHVX4LQ3EDS9JMC54KVC2UK3PJKYYYRNJPFEJ9KAVFU31PSBCGOVYARA7057NSQW8V3S33WHF0H613NDZE0PAPTQM2U4GOZSKMI3CKYJZTXZ3ZTV8OQZY1KXY1LWZMAN0Z0P35L5HB3M4KFY3X7R7VKX1RO8QBCRMLCA div -36#2HI2QXJCVWIQ50TQRDS43K0XNIZ36EGLRAKFXESNLX5NFRVRD2. +36#84UNJQED6LH363VU1NQ6URG5VK44YB2OHSVRI4FDCABILWD794FIRTH5ADOB551MHEWNTFNJ1GKREC5769HIR4TNI6ADRGK0JOE592V421Y7PSJ0KLOIFQHCK8BQFHIACI4E3B07MTEJVSEE3VENTX8CRWOGJUVB9O0BO0V3IQ3CNEFI38KQJN9OOLHBIN6UV9N558IC0JYMGA2CDSDMXYR1EHK15EMLR1THEF2I83D5TB82IC1UQQ1MJGW77GLXOLXE411JZHR7O4JU145HMVRIM33IALFHLU06BINGEBNW4NTIP6SUBTVA06AV02EIWVYFVFFMMIG9VO4UP6XXRV2L7TJZORXPVQNJ6DVJR3K257MCYDISHGUYV9BM4K = 36#1NA3Q80EWUFNV8QY3Y17PCB0M8OUR9IRHK48318I9TSMDS4E2RI8FKPAIAVTGFIQ0TVI3M83MLRF88FE18F43BJ0BWTPDAODTBCCKBS0H4D0BYSNP86Q5KVI0UE69XXSOKSL5Y9TVXLV7RDMMC52QWIFAECZA8XKJGTUQM1XEVTFMYP2V6IAB947YTPCPC8LERSHDR6CRYVZSATNW95Q65F9OU3NWSP2KFHJOFM4BGMEO819CK2U10CK6KWSJO5Q21CHKCMVXZEJQ84DV40VOHCSR2KJN7S6WB34BW9P3XTAHV8MES94ORFEBD0CNNSNIWHZLTMPB2KRIS * 36#4XUCMO4SO83V2VFHBQ2DFYNHXIU4LJTW94S3OEO876V23BP0T. +36#1VP9NKKI8MYJAUATTW9BTJ1E8CYAN5DTQ3VSFMU6LRBSZAF74F = 36#14NWHN4W7AX12IWU46F74SXHYE1E5XDF43XPEG73Q95QPZNEQ1MSK60P68X6MCQ8MB5K2SPQO67WF3IOTX62U72IICH3FV8UWZWVYJ67FZ9GBMQS33S68X8HC6Q5TLT42XTV0TDXPM5VOVH6QMI5H3UFNB7C6MDR37HXO2YDPSQQK1QJD99WM1L1SO6330JNU585L4T4PIEM7RJ3X6TIHPGKWY2OIQFO05D6TXL5QIN5TVRYRMPU7Y3SFF4E1WQLGPQY0MFY45KT3BOCS8R9VY9FYUENJ27ALJD1OJT10UIYJIDBUYKNP64T75G1YGP0T62YVP6MIW8VRU9STRJJSOWPFR3A64ZIZSI451VHLTBPNV7F0ETXU72T6KACSRUKGL6PCWDPU53D7OVQY68NW5B76TUDJFYVT3YN7BFTSZGUC div 36#LMF3YVU3UCB58M5M9IKC5IT2IIPJFCZ2U93FVOAUISY1XOK78V6XE5FXIT1U17B82ITNTN9IQGQ34YO02N3OIOMEY44X8Q6D3ZZ4UTNV21J75RFIV2QEL353J65Y2YOXVQEEX5P1PV2II5MIVBWZQSLR3D45HGGBUZPJA8HOB315G02TNWZM9834HHQ6VS9AFU6Z9QU5CTOL7DK7L0HNKLO3YMDRI7MIZOGH049V3DBBPX688SRRCBVKFEI6NE6BW1H9ZSTQRCVYVKW4DOY57Z8DHHSRVXHQDBDQ0PZLTQW2GZ7DPPZ0CDQYYS5BJVO81HIRH12BFNTLFZF5U0P2IBNYFP1IQFZ9XN3BNIRM8BLBX6EHJBKISQO1WVW. +-36#9HEX9EYCNJQD37ELGERIARADKSYWDTWNF8BMUM6Y1U1HVEGDEBUL6V6LHL5LCWM3HJOVRSIPNNA8CDZX1FS8GB9LY7GZOEBPF2S9PJB6XDPGXMM3J2M65TZWAFSR3N9HLU2HJOPE0938QLISV2DDD353O4LC874KNAPNCJ4AECEVWNLR0BKAK366U17APH4DMZNJ629TDATV8G615MQKOIQOMP5HXK2M40EWTGOON9RN58LGPIENEEQSODE3SICVSCSA6PNBUP23FQW6V1OO2K1PQ12FYSC9GXAGMPFWFHEXYQSZFFUUKY7C869KYMBOAPWTAOMEFERNVD94JK32WDN16UTE6GFX5515S7HS5J1ZR9F6PGIQW6XP1OIZJMKPRUOC1ENE64KU69VPCOJCRW9XJSLQHXW3HU4WYPP4AEZ6LW4RKCYJ7XHJKX99E979XMZ6KMYX11RRF8RDZ7OF5YII = 36#ZQTAKMYVTCBOBFU15R2KWVOG93K40B5UHSCHXT4EREEPAFUTUC47Q17G0Q44UQHT1OMIMKFG9OACBX6JRDVR7CQVE3DFF74TH3SJYJ44H2OH7FN4S2NIB8KP4RELYGUEMC7LNO2T4ZTN2GHQURT82BAER2YUCD0N9PRR2LGFQJY7NO3UQBR0KEAAYWQQ846PN0I9C0T0P3H02Q1FWOE4WGD8T54EWP4G6N9WU48BZMGVUJACPX77YE60GA6QVNHOZVZ8D72NF90TV5OAX6TIA7JSCPYVL7UQYX774QZXV2TG71P0CAN14QZ4TBANKK74L5SU6R4H1TFSOLZQ0P2LMWTYHTLDQ7RAI5A7H5FVKBOM79B3SVN7SHN82EC4HK30BPO8TUZJBHRXZ8AQUIJN555X3JQ9542D62U68L02GCZXXHMYP1WU0NZDW7ALCOYE7QYKTGHA9Q8XK1Z16AFHXGC7T0DWN40U8Z6LYRNGBDDHUUSWGVAWETJNEOA6GMJU1W6YXCM0 div -36#3ROPI7WWFRWFKVWMIFNUA7Z6ZY6V5L9KB39S8M4D4FAYFQAD8. +-36#RMXBAFCLZN4CCD7Y4IERD6CCPGY6E3KTOR8HT1BYAEU2S9I4ZYPFXMG11G6AKZGIF99EGA5AZVK7OZAAVKBHL0EX2F6CP5HRNHWASWUQ7JK6TBCG2JJ06QWHA534SPJ371M7NGZLJKXGYC703YWA22LH49BWZYG4Y71HS7MAEKS5DBD8R7QXGEWDA631ZWDAZHDL1NC9SN5FIKEMIYWPR5FP6Y9QV60BOPWE83C8DLEFKR4OHFPL1V6OCRHOOAMXKY8Y3YN1OINLXZ75DAJZ163K90H8YI2I0KRAE0RSDT4501IBLW61YBRPYEQHBS7KG8D8V0IC7I7HHN22TAA9Q4BVUESHI6CRZ47Z3LZ0KWO6BXUPNCB2BMQ6F0YQ0BQT1IOO62F3WD41S620YGE8ZJDU13HD2FW7YEZJKFQK9Y349J4202FU8JSQKCDZV2F78HCDTPH8TLSPR7YP6W9OSWFVBU2VWNRJ4ZSM0LATQ1Z7OM1BIZOQYDDT3JNZI562G6MSAYA55SE9I9P6ESAH57ZPTUL1DPBVZ1UW5TZ90NA842RFWXV7BNTZPQ0U4IQSK7OJDG4K6DLHUDE7F9JQ3JH3EBKEZ237SHAOUXD0ERDXORADQ5A7S3SJ0YDWZC9H65Z43UAGYGBQMEK2Z997P2AOUGRVZ355WKTWI8NPNXO7KBQ6K8EJW58KMQTPKREK6WIIGXB0KMVRZLAWBJ4OOHREJ6FOYUA6VY4DUCN4O6UL = -36#4N5DDCASAU1GJF21QUSDAYKLAQ0K9J35UGXKHGPO38WOCJRYAI03A2Z2SV91WLAP5I82O4J4GD574MR6RLEGBCD8HZVG7M7NGBUH6VMSL544CV0C2NUK1SHJSJ0KREBML6HYLZEEWT9SBIF2BPU6EXNMFVIRE2INLVOWI014ZUBOSFAXN3TW33DLGKP9YD1MZ3A5BJI5ZM461NKUREXSSOY2LFX98FCDNEM855C4JKJZFMHG291XBZ47XYRJ1VLOOF1XYVZ2Y5TMHA5281KO6P3R5WH2EQ6Z57J4GK7B0YZ0H7XSB3NXCQ00AX26JBIIZ5NZ0CAEZR6CPD4YO7JHE0A0LECOQV511W5SZEQUKP36RYJPQO5RYWGEU28KRTLKMTPAKK1EPP0ANTI9AZETY85J653AXR4WRNQDROF2FDHT4U4654VGG7EAURYA4YWKQ51V139GSHPYLC9Y1TS5LH977YP8EB8434QSYBS2MHL38VR9XV5Q3675L5P9HNCVIE9HI896YXKFY09YKCV9271F5EUQGO5M0Y5507O0827FF0UNJZKAKXMJSR9SBIKDEJ8OMXNOY9F6RN2L41WCU4650WIMKN8SGGPFCTVWIJRBO3VQ8BMO4EF4D32MJ8RNX03KYCYQC4MGAADAYFABCDOPH6A7GDJA6NRDY64R7CATLE0ASZ5CV6YJZOCFUVGPDQZ5FHY151XERYLZF3RDJUS4F2B4YREAGLV0SUZXWW0NGMWEUCW0QYJ5HNGHGZ1VOXJ12MABSO1UYEXFXI3Y1GZJPO0F4WE699YZDV1O52BDHSXMGUA7W8BX8XDMJI1KBT6Y3CX83OHYSF93P2ZABSXYTVSS7E39GELZ24NDUSIMHCIBLX0BW5W47ZQ0AGUNW42A2KY2NBEBSMAR34IH0ZS07ZX2NKAZ2YCNX828JO30CBHZQB18MOYU9IDTA3A4TB02ACRJSNV80JEQW10417NXOOWKRUDPUYFSUMPP41IRE6THYPP1ROISITLUIGKKXZJPMJAXUB186RLGWUO74PL9OOFWJSG7ZXE8DAK4AY0Z850EAQPH0546977088N6S4THREV6YAVPU9JWR6WEIZSY30EXL178AHQNODIMY10HYX0BI9J22U3SPK7UKEJSQMAQ63LC5236YTXA50VD8L4DGAQE5WY3060VJA7LE6ER5WSC8F13POWCLX2KU210RZX74XV54PME74BZ6HVCV2AJBA0ORBL6F4AF3EEDZQYED05Y685IJ6QRSR5MCJCYNPF5WVURX28KZGHD0X99V6YU9TOBRLTGNG4MJ5OZP76RCS4J2M4QB4YIQSYGFTX4N46KS9C7PCDHTUNEIZWJLMNSOYRQ3DE3M27SQSK558V1LHNWCRHLOG45885VCW1V5XJWXN8C009DJCJ4J45HDCV3M11ZQNQR007C145XVG13EB0CQ5S3E2RP72R6LP5M2VLVKY9FK9MC93SX2A6M0LM85VU2XBO60IVA1FE2RVJ0DCZPNS8824DCZM8G30SBJFLTD6O2759A5R5FKX5GHL4G57FXBPOLKARHSFQDWCV1AI3T3CA00GWT7JTBULJCHKUJLRTF3R2QMZJW2PMC3BR3E1PJL8NKNU7NJUY9I862J67WCY66UYFC4WW11C63RIGC6K7RVZ3WG84WNFOI2OMHR div 36#61QAFG9SQK6HO6AMQVFIMW99ZJF0P2LY71QP7IT8HYZI1T0OF3UUS9YKY83QXNT1KU4IYVU3LH097PRURFA3P0AEOURL5A9BJIDQGY08A60H4CTBFYD3CRYV0DDTRRS3HXO0SRHGEM8Y7W4O8FFLDW0KWAZLYNXG99NWB5WVJEVC5EA8RF8QX62LFFDDQKPRMNN3U8SJLTQWQG29JCF89GVPDKGBYKD1ZZIJ3M06A1ZRR4UMIXEWDPCIYZ8YHX39ZCXN2QKGNWIV3ORUHJ6AZ5XKZP9IPN96PXP32EXKZW7QFR4CZS0JWQ9KCEEO4W3KXO3PASDNMDFNL6W5WCSY52E924QGUIXTVSZXXQPYTAAVTULB0TVEIXX0SP3CL4T0RBPZ1787VB9LI7BLSP6VRGSPH8216ALZHDBYX6X8Y1ESMQO1P7RBT5X7HBS84XHBGB2BUGK86B4BIV55AHLD5QLH2LO5AW1VB8O62W90SLGW3W9CPHQYZDFVCC2ESS01O7D0T3SU39Y3OZNKEW1S4SJ50VP4ZBEFGTFO0PW0B04K4QW2JDPY6PFT65T0VF18HMXOLRXC8WS138NMYBOTOG4A5HOIWUU5LTWKY3Z310ZMSCM8G029BQFBLSE46JFPAB9C9Y69PSWRJAUG0EOZ77W8I6OA2E96DYA6G30Z0K0DHZ079NV1IDY3BPA7E5IXJCP74FI6EIP3NDTAS4LGZ7UKYKU0NTBLX02O5ZQ3RSHZNEM8NE8487QJJ6KCYCHQN13L72ZOE2YUNBQ9TT4TD13EWU7CYXHY4ZUZ24D9MEZHNN6PPLKMAG2SZ5536AP3HQOT0A26A8AKR9NA34Z15BOV7P0AZH2VZTH0MV9FQL0GFEUIHJWT2SHMDNL7ZBCBI7BTBJVXOL2RK20JBG6E2NBGK5CAITK1LFG7001GK1YRF. +36#2I3DYWHAIOV0AYKRJG60H3LBID3W23C9FV7I25RWRCQHSJ80PL = 36#7RZ547O7TUUV7PWM790CJDDPKD71FNLFRK28E1KCYPNIQB2SOHYOUZOGEJ1MA6TD4G03ZCN0U1HUASXSF7NP2ASFZDLI18AW4WZ0TDX7U0QVNC74MXZ456NEW4XOEJAGSUQBEOOOPM1IUEG4N391KIBA8CNRZOXDOSXEWKQWB4CURBVI4QHTSPY5LUOV7Q5UX0LEKH1HKTVEBWVELSLBYN92K4RF7IVI0E2P4NE4L32T1M9XGZPU6AEPL30NXKXC2RJ6RR36QGP8MDNDVMFYV0JBQ1C9RXF75XYOXSV4QEEFAK5GPA2AC03A6W3Z5S1DNG6F59ROJE6VFH6P7ZV35NS1BDGD9I7UYH32Y81UFK3N2WA1PSW7LJWPKFZMW8OKXGUII9RNZQK2IVC6HUEWX3DH28RZ9H8P54DDW2G1B9QPOFOA632TCPZNYTDJQ8PCTVLF8Y9M7GNOAHN53UC div 36#33VG1823X2LUVAQ68NF01WZCADJ6KFHG5852VA5FF066KK26BSDHQY97BXIEPJ8BWPL895X5NDDN5DK9BJQUVO4MEMF0LQ4YQIJVB0UZ4O2GGH24YLMFRQUY4LVPWHWA4020XOUTJV9DXVL2NKWYJMO13PNNUHH8UQY6V858KV4ODXSB6Q9HLPG2GFNLOSBXRC3UFT6R79YOR66CBFQGQOLY6W4FW69QCWIUQQPYUBXE2U76Q1WQEDE3X5MRC39ZXI0HPYJ2PJ7EW3F04R0MFLCPWRRPBD71V0PKXMPW7IDZXMU2DO7QN4NPB1LM4BU7ESFNW0R3FN6IYWIT0Z6Z5HZC3G87KL7WIL81PZ6Z97UL6W2BIC30KL3D1XA3B2XTFA4ED43VTCEOJ9MQN972QG2OSNZLRP36C4. +36#7TERKZEU1L4DQCEY6U5U4HQYU5J05HBFRARTXEXFTF2MNZ1FM3HEBCE5GTV15IFH42M0YHATJ01AFC5HIB113W4ZGP3PZE3WTPIQ52E9UF82M3L9MPSS7XCGPGBFHCS5HX35OQG99GQD7427TLKKK787ESN8SCRPR799KAOMSK5GLDEWC0LYWHYMWD27ZYLHCEWH3GSCJIC0HMRW09CWUB5I10X5YVJL5KNR4XX0MMDL11Q0ISD14OHV650SZKTOWZWRZ61XCS5GKR8UTGNRGSTPI8JSOCHKDUE187KGV3NPXDLXAKJ4WPMHTBPM47M48BLKKSNMRLAV7THAVR6Z43N7Q2FYLF69ACMBW5P2P0U3YXBD8EJ0FOR7TSIYZHRSWQ2BKCVWUAS7PJCXM887OLXTLDQ015FRB2D6Z70I8Z8BOV82209HNJF1Y16YWDO4JM0KB7MGJB5DW4JR8Q93GY9QX1GESW4YKAKJIMV9292CCUH1BP4X4RW5RSYZ81QDDAXYC7MEIZWTOE74VH45B1AVUQS1O7XN0XOUY50OL2YE1T513UWDKYXXA15OJC5XAMK0XTF17TTH3E28AZ6JGKEPPX5KMPX05ZO96OPQJ3L5DDEM9DF3WT4X958F3BCSPPEESOT9LV55EY3WNFW8T2MUVVE0BM1ZDON23RF2S6S1N8HLCZQZFD48GNBEPKU7G2OL4D0TZDRYH2W99F4FTIQUTA0K6H1YV41Z3Y75EVFLLN9EEB3XG8S4A2JQM868DK1QB81ZAYSLZSESP3NPCAAL01YSL5IQNUPRCVWDAUV59BOYUEEEP = 36#43MUBUU6B7ZA5D4WBCPC6I4XSQ7WKGHK016U0N63AG2ME46EHVAFO5S7HQ58P4GUXGP0LAF0CXBV64I2LWVT5UED064RNNL5O8LDMDL61P3IW3WD1S5KV5AKOC9YDYBJPQW0GUX8H1E38MWO9O37MX1U2WVDGN70UVJDH1L2FW10GK1XZ60V6Z9S41WO7T2QTQWGDU0TNYIFGSR5GSPPRVTAEDFML365Z63GPPAL2E8M681ITNMUGBKU3BLRQ3DQBFEVVA8BIF8GQV97667TJNAJNZ3BUOH6VVS0LTR80TZGXCEPEHPILTEZ2TOVWVQBBD4G7VBCN8KD9K6K7POJR77WIDQ610NFX869TTSNLFM9VUS1XL250KMOOSECJ36CUZUEQ99ARX4XO4KDYJ0TG1YHH99E3VNW7H142BGM8Q0N57VP4X6IEJQZ72C7TVOBI85457WLIRUND0GPVVRHN0Z1FFEGQP3GOS3F7ZQP4RHNMAQSN602SUBYB2Z2XF7DQ74KT4ZLSPZ6BF2OLMHQECUKUCRTGRLA5O1O7UFI5YPLVDM6XHJ9H2CQXL4R4O7TY2SBK82DMG7GNLX7QH0EBNKX6KQCYHZACFMAUZD1ID2HWIED5G5U68EPA8LEVHAD0DL7RFQFVGS0IAZLQGTQMDKILPYEJ7TRI8ZUFZM8QCVS82CWIJNX4RRGWRQTXXAECS38F8IWHQH0SAF9KQ50KSOQ7MN0A79XMJRZOFZRAWO4OGGPGXRLB43NT2H28QDOI73B * 36#1WMC9UZPCKE8HTGV8O9IIDITQ6REI7T8RGHYNMVQGUEJSKDQHZ. +-36#1IUXJENYHHJS5NVXQXGLPDTB523AKGRZSG68IH5WOMG51HJ67F = 36#1AN3FM1Y737QP1MLV6CS8YAJOU2IBVK4UU07NC769JL51YV5HGUB0IZF69Y02HF1COI033XBXJCUBHQI1RCTFDG13M60GSODUQ49RS3MH5SFO5LXJ1D4J7F2T8QP64OC5HQUN9QTJBXVX0D1O1AJ7SNZ00OYAR3RRZCVYRCFHVQAP0OG9BEX7LHS3YDFNP87BOUKP715OPBCUU8X5CAQZ22VNCLEJJ0FPRURGPJ9FMQ5CIX8PG9CJ9T29N82XINQ6ALAAHC58VLBTDTR2X0SHWYD8XZRKU9ILK5FCP0GKUR45OGBSM38KLOA1YXZJGCPZ421ON6CKEUMP9BY5VMRR52OIA8F4L div -36#ULV4R16CSLU87WH5MQF7Y5HVP34R34X9RCB22IA4Q04J36JAJBX5IWOSSPDY2H6BC61G7FS0Q09ZYG6O523SAMSHXAWPGN8972NNVC9P1UXYXNKPWGLN3W0JKZHEXL5GMXGKVMO8I53QTD2DNVI7KV2Y1NVY32WJQWBHWRQCSAUMYSB81K2EMC692S14S2QJTLSXWWP9O6QTDFZIL628YL6B09XGASNRN844NBNMQI3GM6DK1TM5JP306V3TIZD9EBM6XHN8SR6TXTUKBA3NHVBPQ0M17X09DEICI2RAR0VZ. +-36#CQNORAO6Y5BX58094HCVGUBOA412LP73FS80XXLG8NCFWSAZ65Z9CTNDDN3YSTZMAQIRZY93O8DXLNRBBSHF9YHVJVK2BBT9OTKXPC999W3XBNPGTCF71HZUYIQSH1LI5S5S9ZAJ5QRPVVGPQIAUF8J8J7UVB7Z4MG7UK6I4B0RP8QQLG5UCNVWP71NMBVYZMH5FJEWHJB6Y9LAXIX9C10U37Q4QI7ZDPUORPWVACTYNB6WS94YAGT877EO0SNUSBF66T02XAVT1CAU04Q3KDNLDO3G1VUCUPOWEJXQ5V72UC3ZH2VO8KDCGR6RK3SI2CWPKBA44CLDRHHA568XV11UEUHJ15CC32HKG3VX9E46E190IVV8OP2MGVPSEK22KIF88UXBI90CPCD64J9SYJ69ZH20Y3NMMQOB3PHGUTUV3TYUR7JMD2ATJIJ09JCABK5F4LKDIWTJNXAI4WXP44G88RAZ28H36J19KAE7GK1WDJ1HHGL2C5U64L3BY1XOHB79MGF44DPOAY2XAK464N1LFWKHTUUVHFSXYGKZ4B1DZGOG4079W563NRQRY4OZFKWJY9NJ9XB7HIKMSBV9JYOWHC5FM8QRGV0D1SKU2FL4AN2VDEHIAEMEWI8FFKOUKQ9XLXK0C8RIA6UBV8WG40W4MHHB95EULXX4OFUQNCO9O682SB25NFLWSN67H61IVDWQ9CLPXPOFNBKSL1WDJHWEXJ8GWBHY146CP45WW62T2N7G4O3O2JTQ4ND1VR4LDKDSWUBINQF5HSGW1VNGLBUBQGHM82786U3X5VTLBXBXD8SUKANV7CLRG19O56ERJHUJZRYTXMKY7OP2SFFMIZTOVVEJ8M7PQB8WRU69UJ0MIWSY8YSIO7HO88EPM8Q08POJ2X61PCHVYDWM0WDYHJTOEEMF5B3M3XADLSCOOCCITQIXADTUGJ0HLYE5IQAA7KO4VEP77BMXS3OF4UEH = -36#A72ATVTRLSPYG8TYB4UXDX9MW5U1HQGU2UA66QRN8JDTVY35P92AUZO8AA2G3MENZM3Y0XE8NQQQA4X5OBO8L5159F8SLSQAM27EL0I42VS0LXPBEDRXA3FK1BC2HSAYHWBH8T57XGGNR4KMYD6KROT2R3X7EMNHGSPO58YKD8MP2W8LEP2GNFR5DZDAUL1OU97ECHYLOFTPZPG8UKUVJJJG1GMXFK6ODSBRYQ9WU0KFAT0Y21E0P4Q2APDRLOZBO0CYCBDX3FCRJ4IWXWGJIR6ZQUPGUUX88H2AVZQATT8OELGCE4BURCO0EG2OWS3QRG205SVLWLZHO148ZG1H9DF8H4D36SD6A7R647R6EVZVJ4I8N7PXBIOOKZHKLHMCACOXEMIQHTOTNNGAQP5QXKBCPR8HRIZ71KKQBNZ5NXY0OTVYI21BGB8QNBCRQQXAEYPIYTVCU7OO7DS2G39HX6LCA5SY4TB6FHPTP2OLOK6I7AMQI5V8Z0HGEF8HJ57J02NWLRWGNF5WBZ9E4YVEMH55YEY7U05E9OI02MT95M0AKUP9V261V55ML60I8LW0VZI25H5CS89HAS6SEF0RE8LW66FMA1SKX85OZ2VYJBTUD8MI28ZPRPMYKKGHPWTTGPEBQ3NG2P0XJVFPGYDYDIZR4BZRY7O0PDXK0FLU52TUW9E34ZRR13OAGQZOXBKA9F6F2D5VA05CPNBYNL4IJTQAWPXMELA5T3YSWP33AP7JEV25O7QBF3AABS0X1YFHDIJQOHYL8V48LY955QH0ZKI59W8YRQMI7Q9XZ6RJZQMPZ4WGQRYPELDJQ170HFHPJFOHP8W10BNS7PACBYR3HCJ2LTP3Z9WZ9BH4NNGI6VD5IA4K217DTBF8U78QTDCWZBJX5HTNPYATHWKEAEFCM5MSSMCAE3EEKAUWUQR3DUYFDYLDBSZHZI58GBR29O1AD44XH66O4E6DS2YMG7WQXY8DO2S3SZBBWG1YAB7IER1G2475Q55KWQBNELZ0NX5SF6IXXLRTRSAFBB7GS01OZ76IAIRJ32XSDWHAX3GCVEZZVZO2YZTUEIUE5ELE60VGB0U28512RF7KTE1ISOJ2RT2X90NK4TM5X32L8DK48BCJW605B7JCMUVN1MY5XZ16GZIZMBKV5H13SL45VNKXK7G21SQY41I28E4Z28YH3I9P6GZ07F8JEY6DPMMZK8PPH2F066UE2UI1KTI5DOJT2P1IGFCDO3YYMKDNZY399M8GM9FY69DMUMHKASMJJ1CZTC7WFBNXB2MIE9MO7A3NGKSK9L56ALKEU0TYIZOBAQZ57MPLG7QGY94QD9WXX31PNGK94ELVOIFAPES2OVSAEN2HZWA6Q690QU5EGWGQQW5QF8ZRX8KR8NUTC7B3TG79ZTOXCTIMQFB4K40S91TUYENYHHCSV9GQST8FS0IKQW15ZTWF8GIWNJASG3V31VEG82K2BEE0LOQJJDFWR5D div 36#ST6SE7EK2F5PAL5H47EYBOC9Q4ATHAIQZAB75DDTMRXM0DE0RU61CQNUAAXDYKXPX7X3NF1I88X7TG8J0SGR5PRW1LV1OHTY7R3HKUIXM41N12WBC4BW9UQXBQW9P893OMJ9XCC50FG1AG8RKF969JU0WYA6QY1K2O05TMEGHWF0D9UN4S19V0Y7H15SOVXG81FEHXY8NYN300WV1VCBEC84XPGQKTC2VST2S6CGHO5BCWOMECR2FTF64UFJYW63KIKH7JC64SXJG7D33N5QPXRK81Z0N68RNADC7MT3CR0MB9XP4GL9KAGJZMWS4CB8R0ZONAQT76MOJLTRY08MYHNBP39LNUW57NGMT5F59S78P6PHPR33BDRV968P2MXH3MDQ5Q9H2TXWPTK24RPTV9ZED3BDXXUEW009LDEDZ4Z9NHH4D6JCCR99UEPOI5CH15C0HA9QOZCPPAB459EPTOCRMY3RBQY15ZIZPH0EES01LGZYIW155QXJWDSVK7D5. +-36#N2YKTC8IF412XF27THWJ9J4PUPLQKVHAFK9OFJDLODCAE8HRPRM9EGU2S8ACUZM9MV9QU63GP2WAUF5LAQJDXG0NOHJ69SLPX3AIPBIQ3UHELYOJ2KMFEEZCF559X584EUN4VCIYGO7LTGFYSYL2XBYVSXRKTXP1S27PE7TVGI4CEKGBTBXVUS827A262R8OYPEIE3L0O02WHB57T17X9E7EKRCNKCS4JLAI9SY7EF54QEYS3ALF4GAR9DIO0UQ72ZK1I0ZWVML4QVRQMZK8GG0MWTQTJ8YM80HAU13NAZ6UFLEFGWT8C1IGTCPKDGTPY49G4NCLFWMR3ZXXHME8SBDYHTW3M3C9NCESQDIQWXB3AI1AI27WJF48LAZRFKW01EUFKQBGRM3J0ETUXI92G8CGULN48BS4H34MDNQO5ZOK6W6S2HGA1ZIQDNE9SD56QIXPGF4KZ0EEGB015EZQK07Y9TNXKQFROR06QFRNN5MZCEUM16LGYFYNSOYXLMPVBFV3J95W8710DSCLNGQRAS1OC7L3YVFY5XS2M6RFZAZ6Q528KHJQ7P6OVJ0GKGQBLPR5I86PQCH3M89XHR8GN89MIBL = 36#ODPJ437JH8H39C4MZDRA0JEG84WWX6W0YP5C8VQQH7KU81SSQC13GNWPE1DD88XCKV29S5LC8DEICEOUZ8CBI0Q6W8OON4J9HMRPNXB98EXS7UEITLLEL50F9Y4N03PXUMR278QIZ7YANJLPQRAFDYIFMJ139YHRT9OVV4L0P8TH5V5AIVKZXZBUF0F0BAE1NM4RXHP0IQRFS68ZVKAGBX1Q3F9V87KCMI1FSPXAIW47HEX7JQKABG9XU77ZJV9CCOBXVUX93AQC5EAVQ1LL5J95LX7D4RBV1Z92TV88X77CCON5OZ9ATL6KKDBR2NIVGJDY7HWOBXC2IP * (-36#Y2Z00VLB2RWIOF5YA57XSK9SGLGCW7607FXZ4RPTWH2L3IKUX46FSAED7J8AJA6TPLXJSXNTV1I3II4MKC49BRXUW5WXZ312U4LU3DYW4N9LK289SUF3RBDZ54R3BILEA31IZ94MYM0T0KEHFVU9T5Q3AZMF0RBYQRXUXUILQITSARMHE11RV5LN8MTGIJI2JGC5P6BPJBCDB7DIQBTHSK3XR3FW8S843JOK27NO6QG06OK6ILLQ0R4ATW5NGK5YB9KTWN84V79FL). +-36#197NP2I29ABGA0CAMEQ6DOEEDXESOSV94CDUL9NEZSW635OXPE9V4WPHKJAAL6HDMCUDP1LZEQVCZ2SXQ5Z1JWGVKOUOE73UAGUQUQ5XHEVOIV46BGMHR1OHD4LO8KMRGXAY9AKB00W5W9R66W3P4A371L7E7VFE15LP846WJOAYMZMOL6OH7VE4NQIEJ0UVQ92V4Z6TJP1I3Q3H6GDOBP7GC9C4YKCFRM70 = -36#RLOGO44Y5MU5I2TTOOQC2HNQRT4WRG9JYOE1NC5BSK82RFWD6C1Y6O7DXMGYLVJHVCDRUIVY9JXH9AJANSTLYBP0KFI550L3CNA36VSBYZZFQN8V4TWI9VVHXPKD91W7KUER5EAC95DL82H7NRWWPGL4743Q36NYIK7GBTOGPVAFI26HYUWEW267XOLSIUEHV3XRNLA8TUK5TMAI231WQI7EMNS06XLAAKIAG3HRZNI9AOSSQHF0Q2GRH7BL1QSMMGFOJ07FRCX20GELXPH8LDPT70LZE7R9VW9E439XYU8JQZJOB6QYEP06SW1CRCR04THV3P7HN6HQ1S69T0OB9PCGKKMIYCLHYJFCBSQDE6Y3ONMQNZ7VFDNXWAERGK0RE76OFL46N1PHSENRLHR52KUFCL7SNNK4EG2N4ZG34IG34V39HSK7BX8TYONHQF1KU8M00GL572XLSC3K41RRS20VGD8WDE1S6CI51NCBC7069WEKQUNKHYBH4RW5JYMVDMDGAMVFVPHR3MYD4AAE9VDITT05ZYHAN8ELR90 div 36#LZ7BK67JTSD9BCCMKL3NIQE5R5P8S937V3QT2XHZOP1KHPMR73OAEOR955ALRLW0AC5JYNNKOK8JXZC6XNC0CVOSFRJBBQSA728VZBC6CQHRPVUGMVQBWETJHKC9A6M1U9S1PU072C6UVZW0YSDK4UN5GS8AS9LHIM8CPEH09C1T5W3H66PG3FAY9QTQUHE7JGGTGJITPWR2JA12ZJOSRXRJO9Y0UCFHSI745Z3PH7C3J1WP659PL62X69NREY8FJL84W400WPAN5PM3Y4L5H5F1T6NZRK3WOQFKBM1B69DQRD8FFNC7CEN0SZKBWVXI1VGR. +-36#10W8OS56DJBAWUHZY5XPKGFZZALQ9HWP95W6X1XTI9LO52E8N = -36#23GIZA16M5K97NLBCSXG4BVHBA4RGQRI8B4FF43L3JAZR681LVL0THTLXYVVY2V43XCNNK6RBM13TKZPLSLBVD3F6UKHDCVBNU div 36#21ML4SGKQXYXD9OGFZK09QTTD03CUWGTX2YM75BDQRRO4WG8G6. +-36#PWL3XPD3R78HYDJWZGLGBA02L38Z269XI3CVSLEOZX1UVWJF0OV5LFXZ3MHVS7MCR91KVV9U5KVGGCCS5ZIJAO653ECGM244SKAKCELBGD3O4ZU6Y8MR3O05G4X5MUHPKQW4FM90Q9CU8JMT969AC6EXYSLEMNL1BBQEYEXBIDFGU9DT24OFWG6KQXB = 36#403PA3AENU4AIU3W8RN5B5IXXJFS1E2I1LOUG2HYKY6XM7CJC7P01HMCU5PS9L748XB46WAFLGAUN7S5EHYXXGYMLS28DIY6KVFZUT4PZV3MBTFY6NMZTRCATTLZECSWAV0W6UHP4K8Z9KZTI3LJDEMMPEJH416LYC6TVQ55ESVVU5UBI1377JDH1UBJ7UW83MDUDY3J02UT8CGQGUU5D55CFWIRM5XN1UJQNABLF4IFDAMJI74M4WZB1CZ11MUGQPZMAHGZN2IQ8OE9IY6FO3OSNXBFUCSL80P1DZSAFY4ZO9E8ROL6S19U0WS59J8DHR7CDUR8NVY20ENTTFYOYXKPOXS27PEQL1J1BGZHAK7AK1QZVC68SJPK5B5J2P0HPSJVO3RP1NE6OJI1XADT9NVDRC div -36#5K99J6D7YOAKTASBNM7AL2I28YY4940SAVD7BZBXEZ10FPVAT2CR1VZCPYVG537L6JGJJBA6I6SAO8ZTQDZARUI71UF3MRY0O14NIAIZIRG41F9O2NTGENSBER7V99PI3E9PJHVYITX28XL3Y852N7YK1J7JCSR0UMH9Q98T1LVTAFYRGMVO0UP2E7MGCO0LK74RVKY4SPCCWKJCK2MUZ1SF1QMV5SO. +-36#2GWKSL864R1WNVTZT1WDTPRTW2KLQPOESNH4UQB2830ES8T0JC = -36#4F4ZGDDQ8JV66CF3R4ITCB37SFSBNUKQ9UT3N8EACUR9WEKNWQ66AYPKEBJ3U01HBWWN74IA1G5Y7O2MHXJVIA6L77QNOGZUSI4VBY60ZZXS51AVU31TSPXAE3CTQKANV1AAZF9ZTQYL4HIHXU74LQYLND0ELDEGS120MM669ZRHIVUBC1WCBH6TEBIX4UYQT2XEX6LHRB1DT06DK6MT5DO102GCFFBU5HH3Z250N2JGOA5W3YRN4OC8CXXF0HF1VLSR8CFQZPMQ2YYOTMWZ4SPPO9SKAXBYCOCU5REKLU6GPZRYOU99PT5VFEWVZNQTY506V5K9I62TP1VOIRJQC7NY0O1HC0LG5LFRKVJLU2XXKZHU7X7LMQ1R27P2GXLLD4ZBEKWWOTI1BQLLMD2QL130PSNSCR31NHKDGRATYXWL2GLSWMDDR5Q27X13ZVU4JXHJ9IBPRG80K0WOWXDGMR2ZDYR75VAGUBPOYF9EF39YE5DT82Y53D728E8ZWIAHWF67G08T4HTUNU9FRH7P448Y36AAWG4ITORYI6S7ACCCZ1ZTCLMVQP60QTF35LMT5LMT01LCMX0ADOUT1O8X109ZX4AP51EO div 36#1SFTIVV4OSA3BCXTUTVCMNAZ3NOMPN84BVMYKUMAYNIR9WSTH84YLEKHFWRTY3ERB6OOODD1DUNNAE0MNNKPEYXJBI37RO2CVKCJDBT80F1D4DLPAQBEWF6WLPUJVDLYUPDRTOMBTP5NFOK5K5NRRDQCBOFC9Y64CRUXJA4QNXL6ONS9SKP0MNVS8PPUH7ZKEOM9DX8TIC9OZ9VN01HKLXMXRWBG3E4LZEX0MGTI08FEO4UD21QCFDPTMS60K63BWUYF23XEGG8M01UOUQUHAIDBQGGZP3GIZ6RFPDH43EHBYJYXNGPGUGMFAFQCZHM9AKESK63KMYGR9GDEQ9CRRTY31LS8IZIA4A2IXB0Q2TL69PGUGR404UPPGT2IMV6VT98X7J64HX6ZWSGWV1SJTGF0DSIGA09IMOTK36M73XLG1QV72YUU34Q69R05LGYU0LOCSN4RHCE4SIZNT2AGQ67ORWFE22EWLP3U6X5NDQFQZ9DS5EEZUH3XMC5ALH3E74BFH6XQJLZ7JI1OHOC0GJAU0NHSZIQHUC4TX0A63PSHFKK. +36#109YGA34CF63OZU5Q2HJ0CCRKBXGYCYNDY9Y39EY44BYAF3564 = -36#5MPJ8D8UBPNMAKEX1OCOLB9BFCJ3T01ZKNOIGGF9V6I7OC2H3MRRYSI2R50NVM959QERLEY5WJLIO9ZLINAM4AB880ARQJE3DUUMDTGOF114L30TROGPPP48BLOYW div -36#5L5W8RM91Z07VNSZM6SGTT68N9BNJLYV3AJX2HVQCOD6CUY4KIY812EB7EH1KRAP7KJ3Q16AM15Q. +-36#1F58LPD67W8K9T37S4F5J6BCVODMJTD9DDGWBFPNKAO1LTL910 = -36#2JNFYG4KTDVB081JUW7W30LY1OAWWSV0W2TR3KESLO215R8LT5KBTYK1MD97QU38L89V4M9RKPHCGZO53WR604H9M90KHTIOLMYMHZ861T9Y8XETRDBXCRJ22RBHWM2YXXQW4Y7GXQ4UWMJHWKOQOYG9O9GHGLSJCK21UD5K35PKMQJMB9GTDP05SEOC3H2IR7WRHM38VMR0YFW8V4SY7JVE6927RT1GZQI0A1JHBYI5XPP66J1TR3DSUSUC5B8Q0FLBL0GCCD69NF3YKMXG0YHUIQFOZRV7EDN0O40LZHDGKFTBG9NDHM7MM8KK1LWV7ZV3FK4JY1W33G5DPZ2K2E25WKJR9AESTOSS4JZL8XYFSF56ZNVGDFBYJ12KJO9WYOJJDGQ1O9LMEC0 div 36#1SIE3VYCRRF3QX57EJQEDNW8ODLCSC6LCN2EWDHTTYR7RZWWSE053CJJEHUOUEAZJHMSUHZIXIAL1D1RSEVONHFX96A9FMQG7S5L2F1GWEILEUOXXFFXZ0QGE79JV0KJAIJQQXUL729HE8I72HT7ZGV2TF3BV6VV4N8O8W88UPK70YV5X6ANWJGRLLL9SW0CZB5WJ84XVBZ9PWQW9DVUKGF69OK9Z2U2XVX5QOZSJQQUTCP1H9NMXF943487SKXTEH8SFSWPKOUVRCZ6A95C55XIHOK5TIXDQ3GYDD2QINDK0T4FVXOXVI2B4UDSTHCH8L84ZV9TX336RAZ1GMHN30LL3W81EC. +-36#27OLBELN1YCBWURXQ6LLP3P1NZBJ67F1XJ1Q3WAPHSWV1QFAFJ = 36#2CRIV6MZS8P0R9DPN3XO2XY0ZUSUR3R8ZFNKTD0FEY2O9TJOIQEKGNFONL77KJQ7Z011CH5F2GD8JD998L0RF4C785I26V1XXWXUXEBHDUX2BSH2VB72FTUZIPEGR8JSRD1HFGPFPCSXERNAX42G5VLHRCU9AC3XXWYT9F0HCP1WNJF67O8IK6F1ZDICC6H739ASDHH3T946CWBV1MHJWP5MCVF4V6NX69E39G1MUES48SKW7YHRKVIKDOBJIRRUYG4BRHR9JWTAVWQ3FSG8X77HHLW1X8ZTY7GBPWLR32BHH5ZJIH8EJRQUA3SGJJDM0VNVM9PD2RE9O1CV8F4QCTWGOFRM46LDC6Y5HO6FIW92QUP0BBTY0B1UQC2DMVUHXQP12ENHZ8UZGKX386UVR58O5MY8YP4FCU0OW3527H2CFAVNQ53W0XJISIJV8SD6Z4T1229MRP9S9BXKGTPWUJPL3KSK5IFEJ3XJI8JWD1CFVYYB26HORFMBHG9ZLSCIDKS14WF3RPON6YQDUVPWAT8YKKX4W2JE5V6M2CSQ7RM5J3ELHDYH6XG8K9TX6RET1XLGDYQ8HVVNKM8 div -36#12ANA65BQFR4P5V3S6C7OF7FIL99UFGOYJ3806CND92H6SYHYNIL9B06GLV6I2RTGOSL9S1C99U2QITT3KUPXXO54O2IN77F5LEEDFBCVB3K1UWND2TJ5NJYNUM5S6U8R2Z2YUTOIPY8K8K6W15L7RGJMRM1M9WBU8PODZVKZT5TH6SMUI43YUULCDN69V05LYZJZJUVONA6EJ2C079UF9AXGH3UA10Z3E3MO503YRVS8XGYIAUQNK9LZF4HAU4TO2D3W0LC3C30UPKQE6QSNKFANNA3AYWFQKVWN9600LT72BK7DEU3AJHXZ455WX4CGE8Q2SR4YBEI0SYYRAJZEAKP4KVRDJL4GI35409NJC8YWC9UMYSJGUCX0U630KK9C526FECZJ0USJNRR4GYJ4SSPQUQV9QAE1U7TQRTU9KC29YRKECGZJ04J2WU7H8MF13U0MBVMOOIP4X2VBSCOJ75F86XAJR5OALGJIGHZHUIJM7FDZNFR82N8ZTJ6F4PML9TDNP9T0X5YO5PHML9BE1QS7F6O68. +36#1PR1LEUY78YK5EV3K5KS286L70IFVYLZXHH5E3T3UIGA8E9QAC2MKN0W9BX2IAOJLC8FDG8LHSA5YXG5CXBL5RF03VG2CZTH8ILBICU38UPDRPROI3MK1GMNP4RXQ093OD0KRHDAY4GWBQ8P6QZ16YWN4EUGM3YO874R9G00FLB10H43MXSJSHY5ILWXNL7DIQUPQMYDPDS0VLBL30G11QOSMSUXFR9EFBZFNHNMOTXNSNU8OX5P97GPQZ39NQWUB1Y8F8WSZPJBCTP2SGG2J05R3V2Y30GINZKDXRFETE9VBXAT8VY1W0S7WPXXFS6YGXVA0BJOWUXV9OR1ZKPPMO4KAFS1G5LQBOHJ24E21FID27FCGVJZV5K7H7ST8UJ5K623K8PPJGZUTHTQXCJG96JJIXDAG2OTY0122I76BW8OKD1CIM2ZT4Y7LVW6ZSL27WWS1J3HEEDQYGU9AMV7QJEN2ACBR0OKVDA42UUCQ858P1G6L263C23MSY7SO54D35QYJJZ1DDELP49KMU3CDMIKOQF2RXVM0H2EX0FK1SJ17C02ZWVFVIXB6D2LQA1N5D7LJFVUVV8MMQ21INB9R997CF36D8AUIALNDZSVVGCT5LHWCD2Q37P7Z5D0YV9Y8WSULJ0J62C0JHAZNL243S1X4AJYMJYVQRF4EPAOJBUKOKHMAHD90GWRPZ8BGUH0E28HFT2OYFKQLTHG7MRUED138TVSUUMJPPWTUKU0OP7K909JYI2HB81B16A6QSI3I26XF844JWP8JEWKRF9WNWPFH3BB5FRGOZD3R3BILDS58L1P9R2CCO5VHV5XWDDDXG0FZSO6S75CAIZ = 36#HSHG1Y7SCAJXZHTR06H6P48NC37OA8KNA0BDYGOK4VB1GJEOZTA9YZS8AG5R83W3UZQIXLNTPLVOGX01SL5JMMLLS4A23TMX8B9ISREIL8UX91MAITEVCJX3ERMN3PVYQND6O42SGIU5VNF578CLLEV1Y2AAEBTAZTUSDXTL8MNE75G8EHKRXK82UTLCCWQKGD0MLHZYDHVYGZY51L7TPDOB951F7FXVWYX6UVWKDIF2YR5RE59JRHRLFWFXMDIJZBFSY1RBL9VCS73IQBLFK7P1ZKDGZRPE7J86N1OVFNTBI8ZDEANCHC24CUIUTUJZ0FIGAC6CI5C5PT3KNY28LIBHVRZ6X12K1JAEN88BTWWIZL9MTVID7HC6F8V7B14N5Q33SSCPUDMWHNLE6VZV1K1DYA7KG3KUVODY4EA3RB2Y04JDM821ICZTS8L15BZAZI7B06GMZKASK2O69JC02NOKIFU808I9OFLKENYP0DF3BALL9N6V3I9JL8AWG3CB9A3SHIXPNFZFIHN3GV10ZIQZ8AWJLEV2FP633HH9K9DRBCE0UVZE3HJEIAZE2854BRMA30OIR7PJT0Y67WIFWH38RQ0UB1CZWTCK5EYWL9QTK77IJKA9LA4KOQIWV03JK6DUY6KJ9Q1FENZ24SNRL7HF3XN8O0LLDIFH5WKJA5ND8M2DZZP008OIR31FTUZ2SONJ3Y4T5OPE8ZZNGE3QJFDTWMKG2HZZAGO9XLLQ3ANOQFH5TAKH48T9W87SFXSRPAOZQC3S6E6UK10IRXJO9EI5V8O7OQPI8M1AE2000U2FBHLW5J5XT5ELJMTHFZMU9N8AD29HBYRDM0RNATBRYMRJB1Y489VZMAO9LW2FQKDNCCX20F7M8JGIMHZ6UFB7IGQP8XW2BDHMPYHZEXUVNJD2GYCTNHB626U9V5YZM9F881EE7GEAL4HHG72RKBQH4PE3N9RXDFETZZGVFHE div 36#ADE4O68YTRY4A0LUZWPCN85KOFU3QFCBHSI093C2D704B4IRKFHQQB2V4UTUEC9033X8CZ9XYDFHNV4FEY3QSGBGW8L46J3DOT4XDIYOA5D2V7TXD0G5YAXGW3SCOZOPQX44M. +36#1BBD0HI1YQN72BK0JPSP7T8LL2GIOGSPN5MAW8A5V0R6ZBXT42 = 36#14V2R34SUNY7RG1DIF3ZCSKFI5D76ZYHKY8P0H2JQXHI6O93EINVUXDEOLWQVK9UB0N5KQKSU79VKEIO6AF1GBUW19U0WBZ4ZHRU7GG3HWO div 36#V39L3WTJ3L8S3QL7DMHA8IPXLHRHHZ6SKR77EJVST2I6YBCCPZ9DSPCAC. +36#16LL6KXYQMIA5PKUWYNZRO9RET5CCA27TA5KBQDVI4WKMKGO2UOPPMH4B8T4K6UV71295D46LZ2TBGBYFPSAITTMPYEO8YVNMIRG0DX7CU4BIQ9KJTZ5SJC1YA55527WRIRPI0F685Q8P7ZZ8ZACNFN40DBBHU9ICLJKLZWCZ3CGZRKNR8FGTF7URYRELTAIIFZ0YVI4S8B04HQV81RD9JGBVI1SCDV76VYCINOTAKR1UPL2VN26ML69TKJHPZBA67CX6TVI47GTSROCHSU404PCPXVCH3ZDKCVYYMFBA5QTQ1A4NBGMPVLROGY8II8MK2NLJ11GFBRIO67BDJ5NZUVHHUMFRLXYZGA2IGL00FO7SO4T3JMW5WHN13RRSWJSH9 = -36#XAODTXWFXWFJ25YAGKNDKP9U1N25RF9SXZAA5MSURP87D7Q6HXHBJRCL2H301HP5H074LGFTKOVHE6L9QE5F7YVWT788EMVZ7OVKL9L6F20Y9K1I2JRZQR43T3RLTOKSH9HWHVUPQFWUJFL6Y2LO1URSTRHHM4U825CZMG2U8XINK57J7UUHT07EVRHRKJ1WBZ0ZOAJP2KXRIA0RI2A9N9QTBJOMNE5J374HXWS2S45DGVC6VDR929OG45OEU6L2HB2RTA21UY5ISRR8JH0KQM8X9KJY4O5DGZ0R8UN44GEQMXEO09ML68P3PT6VB8IQV64N9KATFWPSR01OZMNGUZMNSTSOQ2HANGEMCW77R3RRIWJR5WMUA614KWQS29U8NER93T76EY3A9P72WMBHGUWCX8VJJGYGWE3P1Z5ATXT5AM3S2RNR1J393MLXR2KQCY1ZKN0URNJX6H3UIVAP9S91GHW5WV5JGZKHL0PYQ4PGDFJ2C6QSIOQIFJKOPNX0448BVOGPTWS3CT82O0 div -36#S4Z2UJ39WOXL821DIQDFKO85M5YWUWNWAH5FJULXREWSXFWT6EPGVR5PPR5LZ9MLJKT6GP7RCBCDLFM3LTD4GK16OEDGRB7TPSFCY2M8ZY1N2WQLR97IQ0B23NV0RXL8RNN4FY2SEOKXIVNGG. +-36#1LILAIPAM7MUMX0FI7RWVC8GQ75IGPX6DPZTB779AZ5KUQZWUZHGGDP4GTUJZ2UUGKMC4TF72B44PS9CGK0B0W1NCFMUT02ZHD3TY754H58TEGYY978HAGC7IRUCP1KB9PQQ3ZR1E60G9XKB0GSVZ7UTJV9NTHKR3BNOG5ZDHZJBFCJVYSGNQV4U33RVQFO3D2V9QF6MFDFUL57N168AWBBYJ11A6H6WOINOG1I7NZCF1TF4HX3BK9HV7UMJFQME7J1 = 36#9YQISF1XR6WGD2UXCJW9XP5F0OW6N7X154HWBI9X7SVK906W4XWXN39LM5CEAPPNXSZMZQ1PSRHG0S5AJ941DYHR8T2E1TXWVXCIP2ENKK76Y52WB8F4M1Q61F8LO94ZGJONABVPJEQRGLH20YVERWILDSNLD96B3QNIE2P1SXHWCCT0KQBAVCZUS96QI6DVUO7IOKGKKZBHIYCUKSZZERH43IIFCGNBA8ZMUAZQ8CU1K533QYMMNVGCEWMP17HA5U37S4EC5LQ780YO9UIMAC98JYVBN0EWGXVTX3XHZHHBEIBT9DM6YJGIW7I3MCONXRXB7AUBCEPFCNBE96OEQW8BS6ULV8BE558YSE9EHYIIFI50ZHGOID3LHB6CK57DUREKMWI1IAXKQQTA6DMWOJ6SMOV7ZGTUNKQ15TR82WY298JNG1WA70BI602EA7F4MXF428G3PP0LBL31ZI4XT8FYAKXGQ3GAHFIZ5TMCS7NWYACULH9V8TJ50UCDZ1HSW9CNPF8T3IIQG5TK15BQTQHPO4RMTZ20WZPVB7PVENM46RH7ZUFPILWE5GIOI7DGWX48QVWSI5WXBADEONDL4OU12EE9Q5XRQNS05Y5IF49ELX2LDBMKJOY9NSXMS07NOK9626GUHN4MG3DL70J6AA6DRI8FEX4TAE6XNUQ6CS8AUZP789PE8XLF8M2NRIFQGCIPAGD9DKBK8PKS17GSH9GYLLA7YSTKGT0EZREEE2A82NJFN3ZKTN14HFFG8OZPO0IPXKYXN2WVO1K46QCJMZ4HDI8MSJ1U2VLBO43H2URTJKIEEE1OU6U5KAQYR9BUGCY2BN div -36#68JAY5F2735X8YWOWLYWDCOUD7RZS1MW4Z97T6C5VOJUGDS0LW48Y3YBS13I0CVARFJIFWIE6GBLKBLWHNLFCC0UV3P0IMVLN0G5TZCUYJCVA0TAVUS2M4LVSQK8UZK619ZR6UODFR2I5WEK169XUFVI5O5EUWI5Y8RS1HEMS0BQ4589IG6SY6X5MX9OZGIMBYGT0W67Y4HWQ8270KL2A3UWGTDI4HXTWEX5ZU6FX1GOLU1RQGDKR7ZYME54XW1XAMJ1QRXKNHARZAL3N5X5HYM1A87S6OHH8LWJXXND1Q1IE5YT9T669JQU4KCX4LH4DUDXZECR8FCV47UANRAZSJY1R5P17NXR21NVO8QA2PMGNEX1W077R57QCKUR7CI56B3S6WSYEW6WSAD6E2L10VIK1YFKZU1FPX6F5FZUQMSLTY7CD3TGI0H64BVSBH094TCBOGXHLQW4YA2025FS6EBMDD637ERJRMPKVD0D45LXR25VVD0LDTKZC0AN0BQIIJKBQK46Z12GL87BK84EKWAUSJ0672GVOYNK8PF90UF1PLQ2V7ISAJDCYV8J0UAJ136N. +-36#IMGX4DVNOP3041Z5QYLA4RYFDOGSRTCE9BHHF767RVWOWRV5O = 36#IWYZ1RPSK5SV14AETY85UDGG0ZRVT3DM5L6EFU5FF29FYX3IIZH2GNO38S7QWLPM98KM2SDSB02J1YVXLXUH8H0P7D163Y94NGHKZ2DCDYZI8HY4P1FJL6GBCLXOEV5GZ51UHKDMHF0HTB5RFBNRYEYEOQIXDAT4K17ONDVW9IBNG13I7HYNRIC5TH0OXDCWKUU3ZGYVEPUXDJ10JU3VY82LZLVG8LECN0FTSZFJ3XRIP1LTXJJQFI9ZEDIQ8KQSAOQ8V2V6EDYRQLP6ZSD5SCDQPLOEZ29KIIJAYJZ5YKBAUN7XG8366C8K0A8MTWM6P20DSGDBUUS7KCJGQBLFEBYJ9WVCXKIVANHOHQ5BMMI3UEEQQPLW6VYICNVSB7UNTH5ZUTJPSGKWBKPGD51VK18VLMR5VJLSCR3KQKOR3BCYIZLLGIWHMJUL1QT9A8PX6QC103A0JS91M4O5TNHPIXFBWGP1SWMG8X2W9FMVISIGYSZER6AO07M3UV7RJDQE3B6F4TNLPQZHQLY0T1U7CJLLBG0RBUFULQX90JYYOFD8C7RKBSK8QLF22EMQIHOIRI88FAE13EFHJN2637TCXYL6QR9IKMOWXUZ1A1LSER39FANQVTDYMIQ1FY9JGCIKB96N38X8HS40DTM7OQD31YDIP47TR3HNY6X5UEXGZ3TI4373VSIBNA88TTGL0FNXYRX4V3PBQFQFF771H81LEZM2W3TQE7G2GPJPC0Y4LC div -36#10KARM3FRB4RY96Z6LK6PTG50XIBAQK0X189WOKLOLT9Q124XYK68GCQZT69ZGZC8CFU6GTJQQNVWWYA4I92VB0BDXCA5VMKTEWWSM8KQGBFM7SSGLIJ0Y8UYQN85V7PQNCOPE3Y4BNCXFCALT76QMB8UGW7AC1Z7PRG6ROQC18E88N77VLUJTMUTKF8C3MW8UHWY6YH6MAS6C3LRBQM2SG2SW4I1NIPDXSAJAONY9BWLKLX3UVBQ4K4PIMFKUNB1LVTNI7ZYB77TO3OV7L3OOMFRULDYIQGEPK49JWS1U0K4K4J37J7RC8R0WIYXVLWYCFXJKJYOFYS1YG3X8V1FL8DRW35BKWOPQYXPQD3VBM5UEI8U7FYX86MSLEGJW37HQQCRJ36FQZMZ1BQHXYIX0EVFIG7754HRBZ5SUG5LG4ZWJ9KE1CVPS0XZA4488N96JKLJGD8B802DFIPLLWINXAXOB1F93R34U24EKVXQR1VMPXBDUHUSX7FYR0DTI5SM6F5955DVLWWFP6C0VCD7GKZSWKVDLW2HTFJS6ZX1U0IDBJ4KG82J7EAGRQKG4VFI08SELOWEGQ0V295VRMMXD2ZYT600KS4996WZONSP8IVNOQCX2F99MRPH6KTHOYU9YEJQSQR88QXLCUAJSSHQ3REKE1BZ6K17770O1I5ECO24JZ1BRL486BLE8. +36#T4WV2RV7LK3ZIDE18L32UATXX8B5C4HJPOTYSH9CUF353R5PM = -36#G03XTCYH6MALKF2GP325TU3ZXKT1868EK1HRZ78IPMXXOYUPA0Z31SUJ81EGY12QF2SQ3N95GC5TBJHBBGT86Z4O42BKKCCXU6T5MIPHE9A8L98NEN19RB5LJRH4Z56NIWQR8JFCD0FU8DP5NGE0WTUXP0AML31OJB3V6LG0IAPIDZKI65Y9W0L94LPSCMHMYM8NGVMTFRVFWEZDGYRSDD2G4SG6IFN0JAX1Q2JTS5D95KM3RZS5NKCWXB0PI8BRV1D61STWP02AMYQ3VEXQXAK2Q4X7EXN6X66TYF26CALHXRMRFM41HAWGDIZ935JMGPKMZKE21G9DZ67LNZUJO7FJ37F1G8UXVTW1LXOIR9U0IW3QX4M62KNXUR6O29QM7VV31CJ7ZLIKGX558U43B1HCIXQKYDF02L0IFKHSDUX6B1ZACTQHCUD7O4YX44S8TNFD8H9CVO4FV923AP56AD4FZROEO857XNELRB9462FO92HBF0287X1GIOANJPKN8GFP34SZPO7IAUT9B9G8W1BV9M3I6 div -36#JRTJJ6F7BM4JHFQTVRJCZ8Z1AO9WKH7IXAGUAESX3G9PMXCSKZGH334S6OCVLPW8CEPHJURH671DF39LT0LBM237SR7I5KLCF717G0WXE1YJADI5HX537IWPHXA0823MZ4AO94T73399RRRB7DP4OI57DB67TZSBAG358P8AU2WLBE5D1TEGEQ0ADAZ55S7JO0MK28RDB3I9VGBD9U2D5HD65L7CHZ4F1PU2I3SU1IO4L30ER9TQ85JOVERUCYF3W1EKWMRK25XSI2L25HJYT078XPRFGYOY28INMBQCC7ZV47JAIK5X12V9LWC0MCRPG823TME269Z1EUZRCZLPNRTMDXXJO1HOWYZGV703405KG6EEIPD2EDM5DRITXNIJU3ZZVAWHFQ8ASN0DP0H8842596QE5ASNFOE3SH083BT6LS4L2LE7LGFBWRHABTBL115ATWHMMA2A4XCKJTI46XXUXG8KG1RSLBLLH5BPYYLF. +-36#113Q5LR99K7QLO8JSQPQM41G0QN0ZUKVQTNHW66G2WN3E0TXFQ = -36#3HSJDKVXZ2JBV0BNE29ASG70PL9IME56JVX2MRBI8VKYIUBKQQV99I3WW6SA5RU3UW9M3Q3R4F4RPFK3R93MXB551III0SUY54Q7Y5H3ULD1J7KHKZD64JO7T6XFN2XL5AO8FAUIGSHHZZO3C08EOR802WKWMBC143XMO6LO94DA1H235SNLVGNSSAAG9O6AXYQAB5T2ZVDHVYBNOYYP8SD7RTNLBF8I31VDMA2D14LLSHJGJO06NK93YI950NJ1JKCCH76CP0K3P4LKIX8M3JXLX7X30S24SGQ28I6L6 div 36#3E1UOZMJN30LP8J8N3T9D9O3G1PRDX6NKOXRSSLLKC4GV72KDBMP2085PLDNQC4W1F2AIUDZQDWQS52WW87S7EG20ON23CBOZG0J8RHBEHN93D1R2I9YX6R7C8K296OUVD6PA75DXE3SIYOGIEVS6FJ7DJFDXVFITARPUXJC09WHC04R9UAAM3G0DAPAXF5YXBQ627AHHWDDU0AMEAZ4I8TUUWND7NQNW60BMMZ4RF6KEBK336FVDEZ3. +36#1M762YKWMUPV8TKA332URLBZC09HQ8W9Z438XUS7YBZANIZ92O = -36#TVYKF5K8PPFKHB16MB59L6TSDP5KE6EVAAIOXWA8KKI7VZQPAYM09636J0RJ7UNCCW4WPGJTQXOLP4LEZ0UA57V6HZQYAA85U7L7SMA6R8PMYMZ0ZE6143FJGXO40BDPYYY6QK8CQM0OGXTOQ017ZIO div -36#IHJVQ144B0CS1N42HEH3OYM1OWOW792OKW6IH25LEDCS1WZK92Q13L2AHJB4SWU5O5TKFBOGCQ9SUH4SY9R6TKQ529Z8A7L08JZAL7. +36#2SBVXOSKKTBFLRG3AR9S73HN6SYUKJ3L988X8A4IFIYQDEL7ZV = 36#DGZG8RKFUAY3DJZMUJO4K5HTBR21GMF4ADRJNQ1SIYZJ9ZMU0J82QUY28R21X6CGM3KBMIRTTSDQTR58OKWVF0X19Z8QV3ZDPS0UTRBZCF3YF4J6297CA33EREA814D5B2TTIUVAWSPUKABV0B9WXYU1AN8Z0O0J34W3KKUL6SZQRFFFRO4HBATVO8D9T8B7CHUWX7G5DLXM6WOUN5XHW91C4C85LL98WHFMIYD8VRSE3VK60020NLNXT68V8BUP03IOSYJVKOKFNNOF4SBNN899O240UBSMV1SLJG35C9LLL2X div 36#4U0PSLA3YGVF4I2J1QGIQ05UW68IPJYMVBWALZIZJOGV0YBMNWUBO6T5L0J5POUMZWME995JUX6DHV2Q41BNUI2KCIMUKB03GAUM5YCL731PHOSJQKK7RJIP1ZO3UOIR0RLC3DHRFFMPU22TPMKQ7RZRYOSM7Y3CEJO1I9VL8WD174WBIEQ4BKMY8H02UDPBJC4N9GZN53NNM038JVXDDCN4GJBBE8LGD71I1ZFIV3AYAJJ2L9ZQPGZHWDLQZF. +-36#8J8C97P57VNTX16OJPP4RTQ4IWTAQ8O8UFAVTJNXR2U5F3GAF8EVX9MHMGV3EATUBTNIUO67JI7O8OPEWH9GGUM0V6HKYMBFZMWNM82N75RF5AXQ6H069A97I2VIG9KUGVBNDXZWJ5LQVZBQ2W3RDKO75CO5YJLLJNZZUYBGM2L8F6635OO31HDI0JIEXDRTYLJJI5WWPF6Z3IXYY9X4VGMIL4NV2PKJO7D6XBG7EQNDLKPA0MLUE41S3JLTVRNTU9TJ5ITZTWQQAJSFHC08PJHJO15ZJ0RO0ZK7Q18B86IW6WQJCTVJK2I3NWR0XASTRTXNV97EJO7SC8JN7JI27BALV74WGC0RPHGLF2HT7WX1DNUE13ZI965MJZKCQGAYCBXBH78BSHLEW7WXQS1BJU5UXO50DB5M3GGM432YNAOJJMK079BE1MYW579EOQ69ZC6YH8TUH0JQSW3FTDBI1Z87NWLRKRIBWA2WUL3RNOGMDW4X6D9BZD0I3DH1T3TYHI7VOYR33HFQ8KUORHOZ7TZYOFS7MYCL0FG8OSGAWX9I8SIOE7WT2R0BIV4D7N9SDJD28V9LY5MJY8VUOXEZAS7P2NWLM1ZIWH82AEJH9KM8F6CLWKLDTEZZXBAA = -36#LV219MW7Z0ISZJ2VUSU9UQHNWSI8I5MDPCPNDAE6WSOHHVORZ0I2KKW580EBSUEQHNP0G76FYKC21ESQJ1GMMZBB7PWA1Y8085WCT183ZODWOYHP0V0HC5RGJPMA2J573O20S4D7296HLILZS6BPTEKWW54BC4XH67H7SPKCR67G9H2DO0EDN7EJQP8I24RR063K1U3WSWKDNKJ7AZG0RDNH0COJN6BRY5B701ER4IOML9Z7Y8DJVOXQ0RZUP71CON5LYCJGNSLIN4IUZJ4EHUEITPF0EHGFCLR7OOXXZAE5O9TXFDZJGPGY08JAUZ8X0K9K5NIMIPRFXGNN6HZ2PN9T0JVKIJHNXQZ4YCO35IPYE2YDTOYTOPSKIBG21QL99QN9TTB4W19MDIN5I6V5733NW59PGIIR3QEN5SLT04T8XDMTH2T3O13O1HW01MO0MFEWKMJTYVZKRSFS104CS9R0GXRJQ3UTHFBAOMRJU8XTIH5M1UUY64BH1V28KWRWY8ROMT2EFUBK7WNYK1K4K1ZBO6L651XNTIDN7JUH1VZPA2H4TPXO2LCZAP18JIY7P5CF5T8Y01V07AMCWSV4I4SGT7WNC9R2B680D3P3DK3A8ON33Q7Q3T0V8GZWAL9PHM3R7TZTJ3B8XGH72570Q629SYI8RNB5G1OICNPJNEXBM div 36#2K81VVY4MHQ3R48FYDZRFKKUTQ20UJJTU6PHR95C6WKZY160VD. +36#30N1D66XYY5HYQ460AKMQ6ONLI1W5ZHKHQOGCLXAVTIOQ1W7P7 = 36#DC3J4G39XA1LQ7E5VA8RC4R6IH5PZ8KR2M2LYZCDRJFDS39OQY4717E9E5Y0YRPRNEXSZJJ60NNLZGX4JGOUK4P9594NFQWF0PWROC4MZVFHBFOJY1CFFE3B65IUD1EQKZSSWJ6VUTYF9NKE2DB1RG8ORN33NZJVJNLDX6Q17P1MEP3IV9JAQGLZYGL1GG2MQ05YYVEH6 div 36#4F38O7A74B2Q82BZUTWDSHIPL79ATBOWMIFMY7F3YCY2L886KG8DG4542CMRVXWBAJDAZ45Q4STA7FSMORSCJFCQ02E6O2P5L4695ZS6K0VR19FNUK7DB4VNUG9MA7HZPAHUNDJ03P6R294Q2ES50EM6. +36#G83TKFANY02JCRTFYNC8CCCT78DR5EUU5WCYEIM9TU1EB6LTL708GY3G2XIL7ZAZ04IXYU214PWHQBOKAF9TRTDMYVAZMVB0C1MBCHS2ZSQSXCXXDSZFKSJ7ZCHZWAW2LT9H3AIN = 36#2V31GHJX4Z254CD2ZGM6G1CHUZN1LD5ZQIYAIN5DRZHJ09S20L1MN7ZVTUGAJBUF61WR5L0OA42R31SN49CILPRB9KJKBF0V7V3F4A1TC6N1E0CJFA6MZECI1781FVRF8PGDL1GZFWGMTR9HO633T9S8GLWBM39N4STIIC8B8QZY9NYF1F8Q8T1UKRH6VSYXRXETEDVD1MJ4J4GAZPRDLIICE4VE5C77U56D9BJ6THKOXXKU713OBYW1Q304LWEJB4KUEWTJ1ILTBDFAA005CCYWBDNF0A8GLC3NAEO4Q9Q597CBT6VMPXHTWDT5PJSZBK24PF0XUC4PP6 div 36#6CPYO83IQFMXNGEHZIJIIF2I1GL0EU08TB7GDP0L6BKB65LDA0DMVLKVWTU0YODZ3HPUDZAAQ7WWSTAA1ZRU15907LLKBNB6IMBJ5JV6N7UO6GQ2DH2QDH84OJJXVKIO21W46JC1A1LHR25I0ZCALI69I89BIMX1NJV21D9SOS8F42HEAPALGCCEU6M45T5QX49LUU. +36#191S3Z5YY3BL1NQ1PS09SUSMA9QDKG8PEPKGYK09DQU3P99LUHCCQF5VKLT4FLMTQ5ILLSP2GL5FS9Z83OQL9EAR4UEYEA5OTUTYULRG5B7L5501HVASVB2Q7F32PY = -36#32F5SDI0YXLLWKQPONC9OYLDTCR5RBA59O9XXWEERM9MR3FDPWA8YJ0HMLEC54ODQIAV6F4WUZA96YUW0U7ER835EUHWV4056SO0BC8S4W7EE0HI3OST70YFOWXORX12YDWROZM78LFWMNLBHI75K7PID1A0NSANDIXWOTROCHLMMSA div -36#2G8MX0OB3Q4B83C23U0MRGFKGGY3BP5TK8PVN6HCG3AB3TUGSV. +-36#25M16J7F87JSELHEYULNO5QOG5AP7X84EVTJLTVYM6AVWY5N60 = -36#62MISFIYOELV2P7KLBENENOKZJ94Z04IJMDN84CJPQ1ES3U8EJ87UAVW1P6SD8MCNZIXIYM2SU2MJOUR3FYCCKIO5EBK53YPFAG3V0ZZE5Q3WBKLK7L7ZEIKXO9T0FFD3EC20KGY3BIVLLGLAYKU3MZPHCAIP1UWOME8LRICFWEGO78QMB27323U5040IA0M659OVM9XIINM9MY2WU52JW37FJYWVQL40VX7H7766B7MH9GP0U8AKAZRJ5RY75Q2MWMLAT1RLARSLO2RMR3SKSHVEQH6RQJFTBFTELZOLXJ792JUTIODSJNNTJ0U3HLLNBPO08MKXUTX3F0PRZHZ7VTNJPD0EQCF1DN8749A4M3RAC1FZF6D6FSE85TU6EVZRI72Q3ELB9MXIYI15MOWFQRQ1C9HBAA8RG7NQPT1GM11ZK0J42T34409J0JK8KXN9OEMLGB3C47GSGHZM29WIFGC3PI2VO0V38YHOXIWBO70AUH6QEJSGRNH8ZCFWA00 div 36#2TEPGUU9I09ZESMWUG3P92DV9NK09798IPLH3KQ019D9I73T5U6C6A2U03MX5NN4BOR3MBA3D7PXBXC7VTOLH4G2ZHLTGCTJQ73TA340MWQNU12DWVG34E3PYQ6N5CWOEDGJCKSK65PF3PVQ3DXJNX67MDNTAKMJL02K1FP4QLPLK9SM98Q6LDPECRU2BZ1L4UKECCROUY54OJF5GP36CC6XRYW5ORV0OI3ZTV6DWQJEI26EZ8G9RBLTGG79DLUO6QA7AONUDEVIXHTI0KD3CS19BWX24UIAFAOV3SPSI99XA6JSH39F7Y37LX789X33TKQ002IY0GG12XPWX75WB1V508L38WE5D1FILFC45E1ZFO6JG4YEK9M2QMCNYNP39PGAWGOKPWRI4Z5VD5TLUZBZC4THR2SJR28RXWXBSX2YFPODE8X7HLWSSS4Z7PD9F6BQXCAXBUQ8QNO. +-36#ZVGA9JLJMS68DCW0D5AOP6T2ZCE4S63H7BPDR2GSPBJKLXSAPHHQE1V0GREYQOLJYR4VPT714XLLRMJG9Z5IRMFGRNSQKIGLPK = -36#28KE1E7AW54B98QYKX5JFEU7TZSBR1OZ2SFQMC8J8IMXKQHAWK * 36#G12G52LGAHETVBENCG1Z9ZMOJKPKFK5JY2VLAKG4V6DXY68UA. +-36#3NMWALBDC1PV5THGOHV0J4Y8PGUAYICNY84C1XJXFRB7P4YJMR0Y99J8P6N3BPV7VQB83TVX4OWVUEO2RXNWWXBC5K2MCH8D8GD6NLKBYE643OAK7PMVXN99I3MCRMAKT71YON11VLIAKZ6P6RHS52CM7LPDTCBGDNRW42AHO7LCOMDYAJMEGURJY61A6RE3ERRVPZ8LYQBGYRNKH6X15D1EUGTUZLK5OIUVTXXH8DMH6U62K96X837H98EUY2YW16GG2H2OPJXCHYPI98PW3YFL4LUFYM0WTGKJY5QP9HJ = -36#11Z0X8VIFXJGBPDHEEE4S0IVJOG1TCWG0M21FXMT89Z9FLD47TXYPS5GO96QUQJ42OBA8CUZJLPONJ0AR81KC8MFK8H78649FC6MZ458F6RC0YB2JCDQKYZFY8A679SXWSSVZTJU3RHQ30RFY4T26WL6598NM6O9MH8U09C50VS47S5V5AFXOUSO3PUTWMXYDMPRWWXW5G1SXXQEU1FIT3XMOHERAT3V2CLPGR50VA2350NZAWIDIRHNMRCFNN162NDB4A0Y5VOSFEO8FK5BCVSTS37LHZ0QR0HSLOTMZT4LGZZS04RXG5NR02FVXROBB3HOJWWAVK1H34C3ICMWP03FEAQ3N5B7HA2STOXPDR6LNWYKNEDGPMEIYO7J6KZ1FR51AVBZVTTP1LWOB82I7B0D029ZMCE8EPA41CFYF3BEL3JP0R4SLICU75AAXWIBO7CU1YW7E5C57WZN7P7KF9ER2KYC4WYFUT041QDBR7HVB9Q56HD0VC21DV90XEJDBWOC1KO07XGM0P9EHW3QE9DYHTZ4AQKV0N6IGF0ITM3RQK8FD8V9ILWYVRUJZJM3NA33ECHNW4GCM1VTUKIM72Y8IE2HFI6GFG3IN279EAI8K6MC6ID1BX6ZME8JOW0LMM4KY35BUDBMS4U8E3IQBT39NUREADJ5E1GIGTLTBCDPZYH5JWSNBN5QTXE6BB72TPQW67ENCRYCB5JLWXZK10RU8ZDXFOPOPDU93MZBY414DSF777BBFN9MXHSQFKN29NN2VESTP2EW2YY7B8UZ6DUIZNYEEE5SH6A249GT5RHX65XR99E19LNK5I5LJUL18PMFUSO7E1E8DHD0838HRLDSUGZW2QD3T4O8WABJOPR3GKPFZPQTE0R3CS163TRJ2ZY2U2THWA2T514GJ9984421FTEYMV1DXU7PLXBJT7UF02PFJ3W4C02BABROQWNX86AKHVSEMR4KJ44S2RT3N086PT5S5IKAK7HGNAM8X8B3HZF3ZG18NFLXP0RXKJGCX8BLYIB8AJLT3MPKKGIX16R510FOB5F22291QCH1VAOQHIBZKOBYN00ZYHWIWN8SL8903XG9 div 36#ADUTEZ95ZFY8ROXEPMXOB8EF0ZJDXMUTZUGVYKY038G66KPX281XGNMU5L2OKXR7XV6F4WSP6LDIZIO1XHBM1SCHTBR6IGX3593ED7X27GLJESUMVJLPX1ZWMHNQ6BDH329LI8XH329YG4BTBMUDB2PQEAPMM32HOUAKN4HAQC76E3AXPP6VIX3U2032Z09AR7N42L6LFMZXFZFAPH8FEIMQ8XMSU5KH0JN6UR0HPIB9YVD8MN7I9C99QO1L5LATDO4Q0TWFXG1LMXTKBQZR53P9IYWHYL1XPT88BDEFLIAX2TILWRSLGDF6D5AGPXOGB8TMAOLGVWJLGWKVC7MQHHWCSIZIO1LE7OORCLBSYTM7S50SVEGNMRSFKXAWEPV8RIYZIGY76VB5M26P5SY88CZGFDS2ESIMYNV8ZI4WQOK39OOKBFZKVMWTH6TEGMC7ZEUJL8H132M63VWDQELCIX3W8DQFZKSFRVB20HW85VIH8N560MP9D66HKUGBONLIQ29MHX9R6W150MP28A1E07V6C1KR5J0QZ9ANEDOWX18GY4Z72MUXAC0SYF9Y7ZZQAFZP23EPO8L2OEDDA9EZ0F16ULWBY1QPJ5TFQSH0SCX3SBU3GGGIKIP3QKHEW53IAS3JZ8TRLTTKX0CI8B6G2RGOCE9RBCQI63W50WAUD63C0526IHACZ01W7T124Z7A1O2V2GS5QKFB56XEKY2VKE2BCSEGRWC9PRWTBOB5YSJUM86OM5MZZFRXKWRMKJZ69PY0MAFSSV67JUKYHUZ6V69DU47TR. +-36#HXB5YZLODEHYHCHUV30RETB0AT1M58OCNCWOEKLHXEURNKILAS3FRFLUUAZ3XB1D5CISXUNG6GXHJ9GKE5HUXSDNQVKU93EUMC = -36#XF8IA67MNPIXGRGD5JF4SWJ98S71JHR4FLU338OCSGS5RAJUY * 36#JB26BVDDLMNJ0OGFRHCVMP2AX7XO5CV0PO0YBLSKZSBHQ653U. +-36#32NZ1LLKCFI2NS2OO72DEGDB0DNGSC8DDRNFNBTGEHBHIHRLO9 = -36#85V9RTASPBH5ASEHLI938P8805SP6W1YMNWETHWMYZYYYTJMAQVTMOE09C3KGP1AHV8R4JMA0XLGOWUL5BCJTD2QUGNE19PV2I div 36#2NLH0LETFHBTOA3GLJ6J8XD9CO9FSOKKGEPPYH30OBYJ7GP5M. +-36#MUEWW9MGJH5WKPQ8BYBBDLDUTFAHSTOV6E8XC2RLSKWLGRFPMYEAZJSF4KCK51RWZNGXNFF01U1MFHCF7N8QC3FMQO37AQ2EV6YFIDK771GOIQ0SYBG9JPK25NUO8V17ZFWPCZC9B1H78TYYFX6EAFA3Z6HXJF7P6RWJEQ2DXSSHWSZJP5SV8U54WEBB75V25028O9ETX2K2BBNG29I9628H6XTK6OJ318Y9OC5FLQNWW2NQ7OLO7XJUFZ2YHZHXVNL5D1WTPZYB0P162JJC884O29HIPOYBYZFNS16B0BV1ELO0Z8D6B3Z7M6JS5WZOYNG7SZBO97W1RIA2JOMOCYBWFW479BLGGMPRPZLSMTLVD4ZA0QZALNRRXF7N5CRO0NVFQKLV7ZX2G3VSJRRA3OK4CZUGXMG7C8VE9BC7TE9J2SXZ4ZGJ3LGZ8YU3P7136RT00EFQ4GFSGC4B5QMB6RCYMWNUKE9CFGRFIVIHX1ANO9GX5NKOXPMK8SF270I1IGV8BAKNA5JQ01F949HAG13GK6VKNUPY51YL0Y40P5B1G8ASKCBNHWRRYEXMXB4DRTER5NS8FN6ZVDCL69JV41Y9W6003CQJKKUAVPBWR7BNLDR8VNJSF4QQE764HVL1TCV3DH32G307EIMAJF9TB4Z4ULOQL4VMYKNQSOQNRECF3JKKOTZ84PW4SSA9LFNILYSXR58QIAY5VZZIIAHPGCFEHBAYW3Z1UWT09JN1POB0NHKB8EHUVW2MTVKUIA107GF8MK06DQBX1SOA1JDI6GH2XEP6J6UDS0TX99LYR30VSAD0WGMV4VGBACO7PLKPFX1LY8ZWZND8ZUXXFS4XY1FVDF55HGUWBLGBL3K2LFHYI96H6 = -36#QFN9MZB8WJM98O1P84K84LXOVVCXYJS0YJ9J8FHF6ODBJJ2WX * 36#V406TORBYLNET08796FCUX450N2XXMUA8UM7QWKUUEQTNQLXMEKQYLQ3PZPY83QKZ6K74J9721QVH83TQ5NPZTD1WMYGEALO3KBROEUHOSZ1DT6RXZWPJLINB9X3T6794BDFD6U63DJIJ7ZO8SBB024O3OGY2T639YR085WFKJPYQH815TEV7UC23ONINBMR3PF218XYG6YLZQP84OEODFMC6W0FIBQ22N48LYDKHINAJD0HPZQDJ8GB6DF014RXFPFEKVP2RM0G6K25VKZT0A5BDI9G6PZC23G815CJ56OBV9QPJ3XMZ052OOSGLKR7F25J6IG9T2BS72HD5AQGBH55B9VBABKSRTI08GHDH7SKEDF36W48GBABT7FWGFUA7UQG50RR7F1Q8ZF1M2FVX6MCT194EL8DHE4BO3MTGTNV4E0TQI6FKPRWW41QI85KFE9OZOITL4MUR6RA10AMTKV17RO9V40I55MJOQF00GA1KPRLITOERTU62TVQ4TYP6YU50EGSYSWSYZ4QJNUW9UWGD5T6VS8EIG05EJS4OL8X0QQFU69H2730LV0BFMZ12L69WYR4L8WWIWZYTJF6WZ3DBT72Y55Z3GR8GNDXE9Z28IJQDDSO08EG0OL4U6RJPJICI8DCHKKP7EP3XBBUXYN0KGDBF9EI6QCVDB3RAMYR8H0K6VAVIPXKJ97E0J3TDTJ42AGAXSJD0SH2UL0KBHTOHBZIC3NWIVXMR9MN684IZ1T6HPGRH7ZOI1QHGQCX7VD37DTCGVQT4P4Q5SJE2DF95R2YQQCKL5TFXH2J06OIIU1WF0M4LGJTJAJK8ZKA. +-36#1KFTO5SKT90U4ACVE52WE8N04RSQLPCWNVVJ4XKHJ84DTSFKYWARFIR81V4LY99VDT4ZLPIEPHL2M3CCV5KPMQ70I84IHDH9JS2JTOO9068DUN4ECOC5W24EX4Q50CLTYTUUEO9MI1G7LJX92RC12NYAIUKLZY2DOTNV7QC1L567HZ59PFQ7DOLSN0WI9R1WQU57X0BSX527O1SZ2B5MDSRV4U7F4SV9WKL6D76EN7V76OT7WGLCEM81E1W9BVBH821XX6XK2BKUA2WL2AQ208LG3LBT2ZK7WF47C9STG2YKXGPCJZML6RJRJKTX1YE1S9Z2K4AOAFNCY5BT4QP7ACSQXT0YSXGBVXJ4C8ECUWLQL1SQCBRPR82VY1XPYE1N9I3QSWO6CKUX8VSQ6K87TUHEHD8G3F5CJXH5IFIMY3NYV7NI1JDDSM0XSF5ZJ3XYIVETBZ6OGLGD69XH6L3N92D9TKDZ7GMHQAJ2YM83XCUUS1FTGZH66OAKVK7HTUTJJ9RV2U01OBSD8WJQ889SNK4U351EB0UO6L7VB2EKGSC63VWKBMOJGPU1U16JJ9NR5PSOSIFEMIQ6W3I2GS6TY0ZLFADYY8WZTFX241RPP0VLMUK5G59N9JV6CXLNXEI4T4LCGMPU37AJUB49E4DTREWLXW2RPBW180WXWC1MT27C3KBDGKW47N14GN6R8JZ88VX1SIPDVWZDPRAA6TKHVI17MGRSHO52NS9I8KNRER3RIM1TMRWEXJWKYI17CSE6NPALMG3LHMQ22RM7Q3DRKLZA416N4QE8APNB2EZSM7PWR16603XVKJ3RF804R3V5G2OGO5NA0KHXPFIB1F8P2ASUXIGNNHZZAUP7OKHGW2G0EEJRM3EJHOGJF1QTAB81LUJ3NLJVNXGSKPDO9BSNPVGLZ0RPTVUYO1CA8RNQOKOW = -36#SV86KWB0Z0ZWREGQ68NRSHF08FN0HZCRWBAF62EXVED8JHWQFIEGBECEO61IA7X3ELXON2U2Y2NVSE9ISZDBH8YJO4YESP1Y0HNTUYF7M0RNXKJAN3LR0WP6OIUH5HU8N0VB1KXPREWFBEHWAJYOEHFDPB8UA9M3CJ3WGU4URCHAVITNLM7RZ4MO03XQW5VILSOLFO3WI7P8O6I4RL1HA90ZP1Y5RJH3H2Y4HE64ZKR44C72AAHI41YV5LK30S418WU3S0EIXQ9VG1FD8XLTTMFNH55Q4S472FABB28540DZRBHP8VB5DO5DGCDR02ALCDIOQD5L6MP37ACTKNB158XIVIK6LWDRQWFC81FQL2NRNNKJR35ACQKHUMQWAIQ6588K989TFUGVGMCKBQZR1QOBHW2TZ3NM3OPGA5BORX5ZCO1CZXJPE95SVGZ266Q6JU40JFKKTK6I2SBOWPYJNQNUJNS6BPFR0W5LNTI8BA2MWD8SSI3QFF77DET1D21T0MAK2YQQ4VAPNZDU3N503VKCYZYDQKKPRMJT92GKIFTXUGDYYII635YTFHAWMVBYFWG5N0A82BD7Q8E0W5K4DWUJ9MEYBEV6YPVQT6XB4OMS93PHTENSAT8X9RLNXOAR7LVI9D87SG5KGQ6K51DLXO4TEXMYS4L3QFO2XWCAP96EW690BEQE15K11W2P7NTM7FA9CITPI2ZX6JZ6Y9OH4ULN4O29PE85CARMUQ163G1G9SYKW8VJHFI8E8YRDJFZLB98NLP8JGCVK6JZH9CVYLPFUOFMYMNTL4OEW789FUUNP3X3FAX9RMH1YXQV3ZBG2M8ZTR8VV3YON02A6AUV8M6ETP9N51U9OO4MH6E5OYPP9PKKALXELT0OBN4 * 36#1YDUJ6U6RTE94HO51VBQR4CTF73F73LXH5H1Z1J7JMRETGBN8. +-36#ZZBS1BFOVPTCS0T52UKX9RV8DH91RNC30BBAP3R4L6SI82DGJGNIAT0U6K7QHHXOJAID9Q2BL70UZ07ORHZE6VIBBFOE26XKOXB7EG7SDLY84A1XTDAIKAZX7WAJU35OOVJPQBDUQEA259ST2054TNIR9C8A5RIPXAFUM56HYX3JBV2ZW3QHR20VFFKA6L6U2YMI6QFCKH3HKL0AUK3ZJMOHE20YR6U5OW642B9A92BJGG3R53PBNIAN0YHK3ENGS5AYRJC1MLH2JKY7WZ365HHSRHP6FCJKXGWTIWQB2QOZ0J9V2I2Q100DR4ETBVK2MC9EYUD4TLBUVD9AO4RJ1FG02SJN4WF1KID1HWHAVMP0UUQWJ9HD2M0GYR8WQJG71YR2HDX16295H909CGNTICMUYUX31QBRD30AFINROJWVZ8GLNTJ66905EUQ = 36#H8O2CBORSZRH9GYFHT0GHXKARNVW15YGKAAIOI59DDGTR1M642ONLJ6QSTYFQVDX56MQU01RUU0XKXY9LOEPZU1YLC5ID46NXY07CWW3X9EHBZH1FOBHP5GUCDE26CLGCWDMJI7AJWE3BX7DU6W5DO7GX48CQAT6OA2E5B9TKS3SEFJZO8OG7WA57UF390TRX6WYPON7IT2FBP6UM549F4BGYC926JHZKI54D4SRU8HYJGSK1QUMBK9Y9VFF7HH0MTBQHLD2T1Q7K3X3B5TD24J96S3MG1QPE0LE0SU2BPVD64IVLXMBQF0MZFY2HTCPFYSSSY28Z7HV5XXSDKALKPNADDTJ1KVD3N3XBQEA59PXH99KKQF5B12D9J8LRVE1NM3H164I0P * (-36#234QH62JDUWEZA2W2A8JOZL1AYGJDY0QKF8SHXMPPU7J8YK0LE). +-36#JR8QVQ2PNJIUNP7QVH7E59Y5A0IYSB15XW23ATZU330FLDD82IYE5FML1L3I6RFGP8G6BSESK9E8SQ01ZYQ7KZWIKIETOF7D29L3DDGKQIDTVO595EQMK4PLFLVYVUGHGAD2WSO6LK2O8ILF0KX49K2J30I74FM489ES0GWUSV0SM7OPKALYYMAMJD5UAUQ6CNV5VHUIQNSILJFG5XU5T0KQN9U6HD75KVQU7LUOBFOAYMSE2L4NRWM0ZW91XR0U6H8ZQW5XYG5M4RR6OZEFY9HSBXGWZKRADOTARDPLPYK3ZTWWI8C3XHI774XAU7KVIVER = 36#1D37XKFTNKWBDZFP19MF8XFM542ZXSD0M08EN9ZPOFKH8M6HU9G8Y9SKIBG6HLORW0HR7VJ0KL7CVPCOOB7GRVB5U99NW4PYYYQSFXWTO6WVCI1YXKXPMSI1OT0TLMPQRDYGV31ORTMXU1BSD1Z51QDRJNDGN8M4SSQ6AOXMV90HBMTQR8OY71LDNX6QRLSHHPVKP57R2HAW52931EHE4MV1YJ72PJD83F4Q4Q688GPPIEXWNED34NMJX5C3MGMPRHY5KWBOYUM48K51S8TLQ37D2IZ40X5MQDVPYCNXEUXCYVDTITCZ39VKZUTJ3V2WZ77UWSMHVCUBZ7M8K47J0J6FY26FSUI0C8MIKBSUVBTUXQ27HU7Q32Q63T73P6E08YDQMND3SEPMCFPPTFIZCGL3VOEYY0W1M136K30MZFUE5BUEUTRZJ0MQ78YMOKC2WM6LU1GU8Z2MADXG680P33FYMFOY4OWWG95R297S0JVZA53IFDPSPDN87AJ0BC9TWHMX2NQ7J1BJ5V3V5ZBJJX0S46K60XKRHGAST6MPZOX2RUCG338BCXO0HB6IV2LOTZRALYNYJAYO0KZ0Y1F6GJAAQ70CQCZYJ9NYC29GWGPACHUQZAQIW1IDYE6UJA478O85NR div -36#2HG5TYFY1UHLNEMBUANTNJKV21K26PQ6C194NOGBFG5IJAHZMF3HM5PHIK5IC1ZYI9LHLL89QAF4F2M9RNUCQS78YITWPJ1UF64A4LLTJWPFRZXM309CKV43J1EGYHOX4DP9PR1Z5ZWYSEUNKV851VNARA5D3LH0R9PJA3Z0O8LIVSQD2TSRNTD5H7T8Z2J94OC3KNWJXGA0IZTFJ5WPKDCXHH805NG5CI790K2WO2TYKOVB1P5INXNTC70IY5035KP1B2W5FENIH9O3RZ0BC3EDFTSTFR015IRUNDIREITMM506C6EUNC0JW1S2YJTIJ1. +-36#7XRI0HCWKOY13QE19W3TC7RS8SC0TAW009JL0IOX9J46T6HB0UWY8JRSYRAPMDMQ4L941LQL3KA0BN4417JPA7HUBIWTE005I0NMSV4GXV46HH60QE49H3UK1LIF7NQURRRDYY95Z574XUYZJGNNCUD70L0W9H3IYAD2RM76ZVX0JYY2NTT3X24ZN6O2S4399P5ZO84SD2B7U8YGN6EDOA6O4NI7NBEN6PE6I5KXQ2VFGREE50ZXYVT3HXLUP1GP0DDD5G2U4IQJRQ9VLK2N3JEF1M7KCGL0WUGH50LSEX2STGVSK9U4YBSOLEZIM4REK4KBRDROBTFXUHL3X4O24V8AJXRSCCPQB8K0MH774A30EV59JCRZUN68Q40 = -36#43EX8ISCU05K0ZYQ1TB0QBXQYO6P0278G095AYYK221HLK128K68ZYTC3QEUQ06RYXDWLF79WH4YMDNLO01WKHATI3KARZJLR84BFNTPVKPEND7D6XQOQ3SRQY0QBFQGZFY64V9HBF3DOJUHCIC46AWH3JAP16M59C6Q0S5EW * 36#1XSAX073WKRTXAESVXTN6Y5F5ULSN9DBDNNF6YUKVVEKLZ1L7UTY57MVV8PYH8Y66NYQZPXHJU4I7XHC6BD2397OLAB42SZH1FBK4DU1170KLJNMVU485ZIVA0OV7R3FVO1SM270KKWCEN46ZHHYD3TSZR53JOBX53KVN963RHMDJICI2FEPN93KSQFBLXUBQ7U0P1XGPKEX4B9A23I. +36#FO9G3QQVHQD2BKWNQNTKIVF7S9G9TJFVN06YRTYSIUEPFW078VMLLYSQHSEHZU82HBQP5X2QNPXWXHMBXWDGT744OU0JI8S26SHH5LR2LJP2AFHPGFU9JG0AL9IHUQXE8N9ON5MGBKYGW00SEYBJAG = 36#55WEMKY57LG2WUEZRSLGDYTG9DMCACAWQ4IU5C48NAM4FUP7IXIFT9MRCJND6RUIL6QTILIH1JF2QMEHN7KX5VL4S2SD1VDX44WD3W34YTC1IK2ML5ADZPKTKW17Y1NSFA0RW2OUF7FDXEMJL8LUVHT0A2PB4YYABPIV0IY7ZK7ACMFLM68ZVM5T5KRXQ8RN1CP8P20VCD5YTG3JW5UWPN27VN0XAF1PF3DCRWZKFQCDNV4ND91EAIH1A5WGT38AYJFS436N5FCGYDIXLG4NIDKAICE4ISOQWGPBHF78ZVS3H03XHQRVHWF8DEQXLMWWX8VZC8R6N5WHDP6RANKXNH9FNY3IMB8I1OHP6OPF960NZCB9O8G9I4UVRJ30JY34UHTU5HAZUHR5KPU55PKI8MVBZATBC0LGN1RR6074JQB3T9XVHJW6JWHGEN7OZOJQJPSV3L9PFRY3ALLTKOVOD0KTKXA3BLTBGNR9XUQIR73KWTZDP5J1H840U28OT81TTSEKTSLV8Y2ZRV9XS div 36#BUZ55NP5UNZJM5VX9YWDZYYY769NBI1JFTUTPZBH9T1PPP7FDTVYC2HCL4J5NHLY53G3Y1BJWJP9BJQ099DEN7V4LBKP0SJBPTZFR9WMDXYMQKBZ1YNUGKV761SNXLPE9SZLA24ZU6TMSKYODHPQ56D63WKDCLOSYB1FWD5IDG1J9YL5P8DBYH1DXLLEBBI0X1YLPVZZI5A1JAQUAGZMCFST78G2N07P7Q1DLM3VDLDPLM71T3SWDRTDAB46J3ORSMZR16GWSFC1PNHTAAQ68FRFOMD55PFWC2SN6SN0HJ52GHO0N63XASEEBPPL6RV8145IPH2JQDPC1M3K2V65G74GGTKJGUOTZNNXLYUE61PS86EFL9PXCMAZZHM. +-36#1C7QA4DUPLAMWSXCQ9UAGU1I05EFILJ0G9QHF4809WW4O1KOJ1FCQIIW3XMMFYCQKWF4AHLYHWSN41RSWZQ9YSTM9LWXHP2CLCXCRMV5NWOK5KJ9B5SHE1R5PG0RORRQDTZUKHKSL9CBZE899V7N9ORKFKESF3V6LIKWAQ9H1HTKMX1S3YI2TGX4SPFBINA4CG626OH7723H159VS6ZAJWG6SCR56TZDLV1284MMNESIYBXHACUYY3W9PE31HXHMSAQOV3ZV4I7BOVV6FJIMP79BJLFMQ357K6VD2XXLXHHG1E77IY9EJPU20ERRQXD06PJ38BWIHYJZGBA9GQPNB93WKYUTQT1O0QW1T51RL08FD1OGNESFOXAB42A5WDRD9QOMSOY98LH9P16J5FEH7RHCAUZI366SRCJ5O89SX7DIZB40XNDK5XZXCZ4E7NTGO9BVKJX26XR9FOLLDU1I43K57255POESYN6GUG9MMEG5NI1Y698WNI54O = 36#UO9WSPYE18DL2KN0G5IGMYHPQEGS9JPVWAZIE08J6HWLW6SO50V4GFQ1IQVJZR5E6ZXC7QRXDVSFQ50GVZN5PANUJHB8XIOKDUYJ2QDSBSQMTK7JN66H0FGKR1645I0D53JX6LX0DML7C7ETUVAVXK0EGIMHB6P5PNHPPH1Y8HS2BVD9S12FJO43BJ6IM31DC6HK9PG1TI8L6F8ZVWDGVF03XBW19Z2P8E2SLSN1QXVN55VL4C2SRFA07BNOUJM2HDA0DAU3X6WGHCLC32JQFKOTHROQ647P5R7RZEAP8HCBJCLXQFZ3F7MW6U3MM7J20G667YB79QAKZVPXDX3G7MHZH1PULC00YX9RYURUJEEM1R7MCOCSKDQSJR6WOJHBVVH5SMOGCMJ03CRSVAENBJI0YF8D28VBMN7B98K7I6MUVLX7KQNJV2194XGEWC8X341IQPDTWDTJC3OD37E056GJ5H0J8IX2PSIQ5LQPD5GSF7Q2OWZVUJ9AA2OZC8XMNM0QKKNIPT10EQY9JZDL3124UNRM077QL58NWH38O div -36#MWINFNJ8F7VPISVP0HW2LVIBWY142V7X3WP4PO35YSZW0LET7. +-36#BDY6QDLKKT2WNF2FRFP6S025GV907H7FVU0G03BZTBU0MR8BDKOMYAPOXN9CY6A6XN0NSRHRJTMMZCTKGVFACNGOSW7F90PZ9TH9DLSHNB2PC4MYDDD2IZ7TB997KG4UA0KXQ5B7BXBVZWMJ02J48ZYBJQZX1V7HWZ4FRV8ZZ494JTTLTJG8PIJYJF9I3VROF2H058U9KVUXCQI978SGFXYHQC9ZHF5NIRBW8TSWPWCENM74Z07FVW76QJ24SXFRFQIEW9YVB9J8IQAN1F2D3VZSI20MYS3C4ZRF5ONQC6AEM3VXTSTB9UKVG4KOI3OCDLYR = -36#1WXR9FDT0WC47KF9O6TZUBCLQFRMEV3019UAHXU23OS0LHXXFGIO935O4D7S2GZLFE1NGE2YMU0QUY6U3RCNHCRTF3WFA2236HT8X0VUO0SL3EG6W5QHM4PKOZ7X0OUTUXPV53UJ8HVSSTLVJB55HPHCSMEG0T2EKH2TAIIC4HV8LY0L2HIIGUNZA2UEV16ESWY5VJM3R7JJPI3YG72O2EYVJAX8573BISM69SCV4WKMRAOI9FMFDV3PCBVX * 36#5Y2VR0YIBDW9DSQ1X897G7HBZE1V9IWW0BFGT4CBM7CP1IT1FH84J4WKYPJ8N6TBLYEJUHESF. +-36#1H6CFCQCFNZTL1AXXSDF5POPMFCVF4EV7J4WSNESZAT4ZZOI3F = -36#9Q2SELLCJCB2610CRKA229HSABHW0XDLVQGY0RS962RR7X17EHV0BG0ZRE684NEYRUA1INFYP6TENCKKJ0OH74CXZ70DA4WFU8QV9MIU9DL0PW3H5IYHW4JBCT7W28ZNS1YUS1IUPFQIUPNU8H2JEACZ47K7YEEI0VO9EY8J4DJ0TEUXEFO5ZJ43G2EQUVH2Z6ZQYIFPFVEMGIYFEQ5K1IZZFYBKV3B9GJECROAWL66UZHD5CVKPVQIMRFLNWVPA2JECYPGXNAWVRGJSRGD3AF0HHFUIAILV660QMDDRO74JJH1P8JXTVDXL0313EOBHGRF2SQ2YIIL2SBOAHMTCDM2QKNUZS6DHK9E3BIBG4E59OVTDTP7CKVPB5YF1610UP5897UVT319U53JK1QD27GA5EC85949WTD4TRD98PD2D2ZSY5N0GMKL9Y7I5382VIF8NZ3HA6HJSBPEFIMKTJYN4VXEZD0RVJZWFO2VTC3L6M01OXS5PYW7CSE67G8P0RIG9CQVMRXCBZ06H5AL4WSMGSOE3IRUQDYFMT4JKL6JGZD4LR8WIB0RSSNF5MPQKVFDNTH7MWIXJZZ2BWH5QYONVC2BM55JCRBGCQSG0QF0YV551LWWG9O1OIYEDL3PFPRPIDKF1M739XVBPADJMBPFRV2CGHH063YU3H4RQFXOFS8FW0NR691JVZKSW7YI9MRODNJ98K8WR85PNFYS230YDOHKV051SVGU1CFKTFWPML3FDOF3RZNR0NTLV3UNYPG5S7CYWNV3D45H1NZ9 div 36#6L00EKINFVNNNNGBB852GCE7HATIUCSE00X2KY3JNO45Y3UE7FHGYKMPES2KJWXTQ86TRJ2SC0J3HOE978UHYGQ6OB3HH4QG4ZLL78130U51IN0UO3J0NQGPXVM20GRTMNI7GZH9Z3WS7GBKM6BBI90YTJFD5OOE22J8NVDQTH487I2TBL6VK9954GR50WQS56UMLKVW23AJ36IWIUKQGZ5U4GYGNOFCDQ3EGALODN4N3GG5DPIITGENH3PHZ62BRHIWAFGLQJ8R1VAIMO2Q92BM1NF4OS51T70JIMSJ7GYW5KMS7BBCSM2FZW3EDRPPVBA0FA6YKACOEYSZL3RX68VUBKL2I4XVZMEFQG87OHUEUD915N9JFMQQ5JDH167ASNFCGGRZPD8PZW13WMZ7GKVXJTBOWZI2I33HJX3MRUFLYJXNG5V2LREWKYSONOMCXK9FZ9JLOR7I1DAMMTUSP6QBIB3RCUAYT7WSEFQ7K0B3P4ZJL6HQGMRII36A26YEN39O1NTPRRKGPGJ90BEHOF3QGAHDADIBZ26XUWCGN0NSL5GDEXFAP12BRFDD6KIVUIVUXN8W16AMRXYUJ55W3CXNI4622YS70L3JZVAOOS28NDEC7SGCK9A9V5CJI7VSHD6JV7LMYZJ49PDBL45OUELL3XGJ1MBIA9C12DD6IWTYU8UVX66UWT0B65LEJIUSNQHWV49ANO6BTQ1260BBPADOX2S445A01R. +36#XBCG6O6Z896P6A5PTAIV6R49ZMTL3BE46DONY5IWV39CLURUVJW58Z9T6EEJRD5TFHX489K3EEWT19448N3EEL8AVEDS62GQ6JPFZ5GVCJ1QN8PFAFVQLCPYBVXOIUKS1Y3J8860N1CU5MOCLFVC7NZLX2P5FE9SSIFLOQEIYXAZC9S2YW5P0H9NTY5B4PX286KA0VJY65FUEJO24ACU5CPQNS2H4QW7GV9MZGZ2ABU5I44CZBT1JD9958IOE660GHFF6ZGE4UKS6GPLX6TGLLDMSYAMGMZF99WDRUIM844S7I9EWT7EKGVFE37HTONNCTFR9G5TFIH6A399YC33EZTFDXS5999PJX64CS53QQFXUQIRM67XY4G7VK956QQX3VS8A6KD6SD8GPSLLZNCZ8NKAWS5VOTQLBZB00L1YR7LAGO6H1K8H0G0FECA67Z87ATBYLVRPZOT1ZTCPT66RE4UJR5WML23UY4XYU84SPLAOZKX7I0R09CONDCDLNK0UDWHK4A9TVE83XKS2JP3U68VL4JBPZMC8NXC5V4X07JBGWR0MJ5YHECAE8O3PV6DYO2DJ0FV2X10NJO0VR4G9QN44H684HU098YI0U7TMZOH9I7NYG0S7VBER6FDJ541LVU87XHSVXL9RW6ZUM0JMOQZQW71EVGRSY5KTPSFBK1TAWM53UKDDYGO0PUI7GIK2139ZUM2JVUO37V5HOJGM8FXMV1CTQZ9TF5E5IQ11V8ABP4QB4P4V4RQAB4QNG2TWXXGGJFZUU8QR79YGHWXZ6LQTVUYD4V4LWKFTAUWB665PKCZD6MFEL6U6U0C03PA0O43D396D8KKQLCBYU6ZMJCWCORPXKD5TFEB6TSKJ4G15JQR7FSIN0PGMI8AHA5RTLGJ0IPQG6O8UM8LNB0EIWBVUC7Z84PADC2DCL6QXP3GB9J4GOJ5LM9L5LFC9WV1ZQLE4L9FOUS2N12UKA9ANYNJBEM5Q3MZMQMVI0AZ2H3Q3IMFB0TVNQWK9ILR6WTS69V2NQ44VD4NWE2BZIXXINJK7WY56LT2SUPJSF39BN5JVB7NMHRWWDDTH2VO268GN63IDPRVXSNL91K2ZZFHVXXP5KZ8G = 36#TBCVAZ1UCRGO182PUSOOURW9Z7LBWFR2KC3UDRKMERBI6UCX0VHHTP0QA4KET3ZKDOT3X0O38R26WDYG3IB77RA1V8ZQPRK44I1J5FAWIEPJQUCC00EQR8DD2C7LCGGPBZ1HFUZD1RE0WUNYTJEJZBZU40QJ7LKVOSTFE4YVOK8L0APPUCSGIEII07W046CXFO1RJB6Z5JKXNYWCI2FDH8DKIOIWFTYBZFTCKATCVOZ4FDGTRB9C9JYN3J89F4X7ATW60N6UFQ1DNCK96RFBRT9WQJXV0W8WOLE9KT60V0YV6T8F725CLOJRI4WLUUKKQWPM7133TW2QTKRXQ5YKAH4ZPRNNJGMJV7Q4CSTUP6Q8DE9AQ08QC3YTUJZLMDQH69A2SQQDXT3DMOU8IUWNIJ78UB0HXI9YUQV9Q3LIESYT5X5EOGTMUVZV4JIZ8YNP7JJU1YY4SOSNFYLQ2JS9AX1NGLVIRBVIV23TW9PQOY39MOA1QPD8W6WJDW490JJAA31WEY7MMZCG * 36#14WTJF3DMV47SAD4OOJL555Y98F4RIW9WIL5NV7NIHCX9K6FGGIM2L5639U3X2JGLEJWVBBS2UUR0HIB0AOK0MM4PREIICJBDM1ZNLNKGTP0NTOV0D1SA2NEJIODZMKUX79DRBEF6SVAHDPL5W6R7L5YQNH1NPV2BFE7H2L67D16AAZA5VO5P7B63WBSIEVWS8LQ9Q8RCZQ6T8XKNCICQ89LZ8X7VYMZH4XAT3RZ4O8ZZQVTGF2S88J5LO0ZZK3ZV2N7F214BES1MDMW4LS73XC8RU7QNW2XND6I4C5ZDRXTV0CP2D6RHXEKH5DCJ3E7BR0A7ETBILUZNUYUJHU6ZRQTYJFT8IQ9FZQJCSUGO7C2ZLV9SZNKGDYN1QA2MYC2DGRI2W14KJ6EYHMA6DA0Q3FY5OHZTWSXE72V3FJKBAHXNSEX7Y3ZFPOO22TZCK7AHT9WHX1L5XP2YHSDH3DKV58B2UDCTY224P3DSIV2INX2HO5T3PUSF83OCE4IB0GK8UGKRRMJ81JMAEWKXX9W57WL4TW34X2YXFQ3AMK3RZ2EBUHL8E7Q4M0G3CSG7375FLFGCV0UWWQ2I78V4A. +-36#26HGO9C1UO7QMUA58VWKV92U20RLLZF7ILDYWTLA0IXMSIRW3I = 36#6UXBP9P9Q74FEW7NTDXDF28WY431ZIW16Q6CKF90E934B422QGFQ1MNGA9KBEIPWX50D73OGE21TDHP81D0CW045RXFDCMDX2LI div -36#359EODUUII3WDRMS08DL11AMOG9XYRIR3YWUXBP5OG65OGNZ71. +36#6L9H76J9LCSEINXWSP5DZRFT4J9HO23TZ1SI5DKIIXOPHSHH8KSNSMAMD5RI6FF8VAFVBZWQOFYXL4FK61VQXGDKWFM21W4NWMHUPAGONF4UX2A3UA3UMO1IS9R6RZU2SPEHQH0QHP6PDY469MSAQY0C7G51DZ0N7MP97I632QOW6V7QWL1JDCNMTGM827CRYOSZHQON9FISIMSM23JV8BGR9XPREXTNP30N0CAB8DYFM4LW021DT8CHALEO6N7Q5BNAGLY9V522DGH3Z55W2DDEDPUV4ZVUS7PIT4OTB11XIMAMOKB9624C8LK542DBD5IXGDYELTNTPUIRS3NFSNO5WFYXD4YS6MX6GQ8E1A9G738O4YTF6ZA366I1R7PGAPQE43I886XS8KSGXYMXGXEEMRRED1OTKGEH6GBH4PBY4U3M2SP6KJTO0PRNCNIGRJ5GQAV835EYUERFC27IXC93YTBEPHC607KS1YV4HMG7M0M3NXK9YZV64ES1T8Z7WWD7A8L103VDWSZC2OTA9XJ7NH1PJV0F00YXQRH1XU0BPHNPCUIB932MQKTAD1XGV727KPPXSKM78OAT6IDYN75TP7F36PXPVYL90PA9GMS5YUOJIVM0281V7L2ZI5VVW2PMUVBOKJTHVBE2QLWVV66DA2WQLYAVMGZLBTCFAQ4G90C2NY5ARHC2PNEMV4O93J6N60542AMJQ96SXBA38PMSUALAC6R91TWWRANZEE2 = -36#2B9NC09BTOCCIPWS0FDC8BV6S7DBXCQW5GYWPG31JU9UYH6ZXV * (-36#2UKTA4LTGLNPM9Y1HG9TMT7ON0SM6CXEZGPFJJLUD7V4CDBD0CTCS8543OF0PB6G5BT66HTFA4M93JX5T3CC0ZSOF4C0F6MOHEMEND58L1Z1734I2DIWTOM69TQEXKMS5PP9S9O2CBO17JK7479V6HVFZBUYODERQVWCQNRZODR6QYOHS8DB1AFZNFCI1YEG38PJOA4A0S3TJJ2RGW0G2WWB6DVGIFAERSMA0TPF9AI6Q3TP64JN68SOG17GB7IKVNSQTTEB6HZJ1Y1R4R5IJRAE37J9M1BEOKBTI0RARBA9QZ3E2WCYOANFPSU06X6RQ873D40HA8ZWN92QUFJZUSIBH3VL8YPCMP3WB7BESAEYHSRUY11EGP7GJH3VEMA25UHAFVJW16Q2J9KH9ELK0OBLVRM5AVCHHFN122O1XDY3O9AI57GUNZ1AMHMED8KWKIGJJ5HYLS9E622DSVM27V0P65BKXPYSU0NW9R92ZSV39WSY3Q1ARQDHW3ZMBOYIREVPJJ1MJUSAFUB43HS0R8MVGOLR6214BZGF77Y23IRELD3X515HZRVJLJ1Q5PTY8HBN8IOHCAY4NL7L0SFW1P0FANG0677J445IE5IPPLKXCBC084MJXX7VO2WC0EDPDDQHJX4JHWWBYMYUE4EHZHW4GK8NCLURBSYEI04IR7G0V6E17I1X338AKE). +-36#B1Y6BL88PFVIKT0L6AATKGZL2ZXNVIZMN3V0GULVM304J0584P0TUJHYGO57B3YN8DJ4KRZ67L8M14XF1QNR6Q17U2GIKP2U34P1COWXKRRGKKIJL79M7XZN74F0E6PEU9WVRTJGHWSI90FTHDS40WGSZLKRSJN2G91FKDWINTEWGJD057SY9IW8I5E24EKAN7RWH8O3J8G7L6MXORYGAL4W3ABFOKM3T32R4HFVNAT9D05SO5MF2SE2SY2TPTF0WPI3BIIV847K29YJXHOVLYUUWSI1YYDBF6XHBVSLF8O6SWI5A3FCAF4RAEOA9L63LLUL00XJC31JOTODVF7H983U0WSK94VKRPMEL5HHL17JAZ4N3WUHMMA8WTCP2HZOF18FWFLB4XDS7BXQA2IE1HZ0F05M0U23YL4QCN8D0PG81Y8R6JGZ3EGKFV6UEPY750GARTM9YKMOQ7PPYR75A1DFMQ8GIOHD8J9PNEYVFF83GNBFCS91EHIXW0VPEV6JN84VAF23F8VIYKO1NBVGWXQCPRWFJ0SNYE385V0HSGGXCUDBSVT0PG71RQQA7124BYVNFSE4BKVYV0J7JPSJX81OAGLPZ8AFXRLITF8TLHGUHIWKNVBK27UX0ER99L51Q4VALD1403E4A2ROBVYZA6CMVO2NOM0Q9AOLTB96PWTBYA1L7OLW94DNFX1XIE8PQC89CIMU1Q9XO9GFDHW0B5WAJITNXME5ZSA76QHAXFBBUXIVQQO3QP4J2RP8KYAF1X1DDQ9QTNAGAUJC7ERQ3CVL7X54MU3S85SV3KCW3QMZ75IJVFPKCPFB0FY0QOY2XEFT5MVHOU94ZBQ7E3UYCVISS6Y9695HOCJ1Z1NAXDUZUUJJ9I = 36#IHTZSPHA3KD7TFZ7S591M17AXGAS0JFME57X8G64NPC6W5U48NR67HPL9EPGUTETNWP0GUWWFMXWRTRJI29GW90KHX9SN9HXR5VMN5FFEHJ6ZOTCIRO8I96P1H2FYDD6FXF6WJKOD9BWZASO9RG2QFWU3DE7B1V14CTCQ7E8AUOBJRA28LPWEBWXT66OE6J7MBFCS9APK7TZ3QS70MC5EPYGARRXXFW41J3C8JLAILY3O834JY1RFD8Y4GW8WJ6Z9DK8V2ZQIXDZ3T668HKT1HN23YJ1DL0I8QSMK4AVOHNQH3GOXGXCG6DSF2SJ92M65SXUH9DU02UARCK5HH15AHPLYP9Q91WSMCJDSVR8Z1E5NGTZJAH1DTB9QP7LOJ5S5GVXG77ACODLC5TUZFWI4TIQGY6UW7NNMVLINCEFEK3KXX3NTANV59JJ532EIQ5O2EG1WM4VLQYCRAKMB5NI74Z34MSNIR1P785FXWREKBPDB8UZISNWUEHCMW65GR7MZ2L06X3QGW0BS83R6UIQN0RBMNRX2JZF7ABC4ER697S2K2TKPI0K7MU0HPOAFS3FOJ10FDGXTU5GOK9S8AXZIM2ILQTJEHZOWTOMV5K2T7SR41WXEYK0TTHR1BYH2GUBKB1PLF8D3U1GDSA5GI6AYIFGC5N44K5279SQ17T27TJBDRHYX5WVVBXJZ19FNYPXKBK8MJXG6MEA2LIITPEX60WZ3LGT5871VQXGH2KADM7W831NHJ5M58J0DRVN0P67B8BSZAXL3EAZQ67AKQ5O78OHFS6UAP2UHKD28PAW08NV9B4ZL6UAQDMQB9OXJC9Y0HUZ34WXPQ80BLIWTUD7G4WHTOZ2GUWRHNJA8TR96B8B6PREJM2HM8YOG5U3ITMHEFNZMF2XMTICUENEMSIM137LN7M5H42JKI div -36#1O8EZIW4EKW4DZ17C2EMBNN6Y16JU0353PYPMKL6MHFBYEQZN. +36#2FDKO5M156XJV6F4SSNOYE1DCD1TFBHFHZULUNIIF20H1HFLCOO2RA1ZSV7HG8V5TRK9ZV3CDWPTW7JJ5O69MCK4OYU2TED698C5S6IZG8202DKHB18QDFZB7GJTHM50JZ43K3KSEBZZM8Q3RBHNP0QT5GQHFBUB1AIMDTY6F6LGWIQBAANQ7C0K6D3MO4GQJJLAIQ2SN2D1TPESAWGUB21KIZ1LJAEYC3FHL2ZCFQBM88X7ICEG5V8HFEYDM0J70G7YWQNZ1XPCE4PDQ42IX8WXXGCCS = 36#3D7S0RMP31WDQICJAQMVLBIMYCICLLH9KVC5YUDZS0G3IDP3E52ZMFW5H4JUM4LPWKTPBQWIM1IL4TWGZZVDKK0C0LU27BPGDTPPLFQPQ2YNR3AAL9P1BSGHPLXH3K3QOCSYL568Q8GIGN2K7UAXXAYK143N9S0GCG01S77F58ET6AQ4W73ECPGOL7T76RNJHUIRXIL208L5B0OHPNCMWFA8Q8VITGKPWD72R7UZ1YVCIWE58I76AB9TGRPI4I0TIE2JN0LNB7T4HMCF1DYIMW6B8SRMKGPO0JZWBE2E7WZBGCSNJZ4OS9YR245ZOCX4JQGQ39VP4KUCRW div 36#1DXWQBEFD9Y89KC6R7Z60OB3XO2LD1MIUJFOMOX0X4BB0P0795. +-36#CFBK33BCTVQ4I9X5UAV1CTE0IALE9Y8YY4JADAUPTGCFPK5TBUHLCO4L53ZP23GEZ4NSRZTO3V1AQ5L2UJ9NUFXCX60Y5F7ZOZ6TKHS516RRB48S6Y6GUZALIIE9LC7MTWIFKPM4V6LGQ3AP0OVKRZE81KWNE2PG009HZPVP6AIF4994DFQET8R079H09HVXF2KULHMX8MO5B1JI3EMMECAXUENL5PE44PSJDYVB7MJB2U51YDIADBRJQ0K4HDV4JR9MLL0S5IMOYDV949E1L0BXR0L8AXYX9YLIH6HFI884RYDC7W7SHMOUE5NV8EITZ1MBGZE7ZGK80KKQBY92QQ39AREKYJY16W3X4OG66YQE89KK0W5319W3CLNQX3YXAY8JPV82HNS42 = 36#12GCR54ALKGWP2ZRMFAV73CU02KYY1UAAV29E55GWHODOZ9RI3YILQYIUFZ3APLRPZH * (-36#BMRRU26BUB8TSY9GKWVN1Y5LR0MWKMCR8D51UW23FDS1YCESF3EKU4TSCQIT3A3M5L3NAE0FLMAFLVNC2MGHSFYREJU7P76UAPLALDNVIAULVE3YG6UZGYZKE48RW42W8AESZ5LWLW67J7QIAAMPTKGD6GA2L5BDEZONYNDGQZYNWGV6J90P3TS4QLIOECWVVCC2Y21NZOV7099ZXA86L3ARMSZDV6KJB8Z4OPWIV13NQ5MR195S3P9HQSKEZF10I5QRLI5I5IVYTSXMRYPMKQQ0WUJSU5DWCE5JV83UXPLY8Y9MT8ALPAP6LR8Q0AUGXJGDJ34CKEY). +-36#AO8R6H7I96HH6OXGOXJ2RH0FIKL7IYATVF7J067H314NLHM1E85SXMLR6614AOLCUDLWRGFXWX8X988TCGGWO8GW769QROLKA2IZ3GZC428O0G1A58DOMZDX1R4C8CAUAR31WHERE8OIZLKFPCJ7LIMWV624MTL0CVBA1V5CB7RHHCXURMFZRZOBE57B7UBR1ZTO6HDCM4AVZ6BSG9RP4I3IV14F9RNTL2BSQD8GA5L76FXA4IVM2IFNFSFTF99UTLYFDSR8O6ACAR12RR14TJ5AU5OHYD55O99X892NDUWWGUW2X7V4YEXS0ECP8440B6SSCN47B7Q29A94PQB38K3DJZ2KKTGEXMO3B49HTBW038VKSNI8A7M4WBRO2ET4UWE9BHB85FUSHZIZ652T4JDN261KDOHEWZ25LMFJW0SMGML1B3H9M7QJRN2RGK8OAJL3O42ZJSXQ32IDKUMG8WOVJK92TWRO8ALQ899LZHKL7PZQCU6BIFUKWZ1DFHAHUJVHAB0TEJCC1GH11YRF69QKZN7UXX3Y8XD7HRON1Y6FRQSQ2ZQS6QCRFTANQAMFZLHJVEMKPJKGH49AR9X6BGUPLWLY6FBZY9RZEOOHPJVO4SU08Y54DM9WHL7DS4M7TZAR09065KM0U86UIAS7MJTH7I2QT09KVMFL7ZZASEO2W7I = 36#8P9A80YSAPSJ057084342JW69J9MTUAAD4GM1SSBAOLGZ6AJ17GEDE0UGORE0ZM80Z3T21RM2OZ8UQYX30IE27HALA23U7WMRUNUF6KRCZXPSOG9UE8SEEP4PX011PC181X4LR78Y92G6GFVA1Z67RCP32VQH7JK2BRG8JBOO9JMEK4QIIK34SQWQPR7L74AQ9HFIBO8VTGQIUCY4DA022Q5JLUOELHBMIMFV08S0OJ3EJ3YNHRL0LAJDLUPD96M1Q4VYPPHCZER1ECXUTU9RSSQK07SUZOA5WYAJZEKVOSFZS838EOEAAM332QN6X215HT02Y7DA5K4L0NFXMV793J9FRBT47LBZ55LA4A1VEP0VPF4IPFURGNKNF37UBJQ7IUTK5CDH9OMWCYXA8TAGPRGE4X1SQZFTK1JRW3AT6TIN7UG9T2TKOT6MS64Q9IF6GKATKLOJ37PU7JGGV29A4PZBELC4SCP71SP2JSK6P5U59UXJBGBD44R3JA9QHCAF1SIBFM40AMKSH7AH05A1W4KUYR1U8YWCATYBD0VQJ5JEKW7G30BJR756ME1ZHO7TC3W4X0ME1T5H1GTQQYW776G4M0D58NMSLJIZ7NZUGFA1EQW42MPYY8PNXVXIIPWGGG1U55TX6DAIG453KPYKT8MZZSZ5DMN7PTIND7LV291V5OO664ZVSQPPWXBNF8V6EIH3VPY8XGKXQEZOZPVAGW5HII2GLAI div -36#TCKQS8ZO9QAVH7Y50KBZRNF3A1GVGWLLZ8947XQ3E1SQ9S16B. +-36#2D51HB3I49HR4CWZTSHNN96BE95K10VKCTN7G3N1DXEOST03I4 = 36#EGKW7DRD1TJRX9R93WLE2QAAYAV77ZNYL9ZZQ4YAMVWI6RS89RQKE9NS9O38YG9UHY8NNWVI3B8Q2VBRVO5Q3248TAIRXPCKCLR1RJYHX6DDXL4FE50SXRD5Z2X97LIMQ2K0QF2OFLQ8YNHDX10HVA5M33IIYF1HDRV788GOOG2NLN13LSIKCPLOGFDQN1EG7YD8ZGXQORVRAKQ01UQLTATRJG3TIPO79D7B814NPX4P5NAMXMA7BAVMPKQ7SZZH6OKNDQOUMXM5ROIDBGL54FUQ98WSG1GE7ORZ8EZE8RS7S5FG9IAQBN08N54YXGODKZAOG0XUVI8NWCD93GC2M4NH6BPXB3P4K8EAQX4QRTFQ2E3LYPKIG8XFSU51M33ZHB4DKS0T6ZOMUYFKOTW3BPRJN00WJ05PUS46G1BV2PKKCJQ4W5YB50N80T6C9XUW23P80SLTT3SIIS3QBDIBA82S4EQ2XCAK4ECB8IQ779EM1TGTFS84N6NZDXH7YI8PTCD7USQMEHP8IG8QUPY96UN4W8N8VV9N8M165O50IGUF5XNVKNI5FGU4U4J9BJ7FCG2MXR35JC3FT06DU4RXMBCGD07VQYHQLRZ0LYP9ZBBYHSDPSR9ADE35BCSLE1WMQK0B8 div -36#6449JY8TE2MF5XBL5JBIHEO9W7KR9ODQ06UDBIJV5NL9ZZXM1P5SRNK1T5TY8ADK9P02XE09XFVGA332UID9S2VXUM53DPOVU02R2ABO3S0FD4B5CGOWJ7ADG1VV595QLDHXESAIIJ3FZ9ZP23EVWT5T5VYKEF6062MXIIVBJS2PO11L572DFXXRUMG4O95G11VG104KNEN756HRJAUI5NXV8XENYQ11MVI7IDUIM5UEEIK6K3PV8NGIN8RBHEQ69CC8YII3W1ESMWICSP04XWD61H7NB6FQKM7CACBVEBIANBF08DSU26Y28FVQDXR598XPMEJ8Q0W7OX9KX6QFY09W500CGMRO8S4SFADZ4JQX1X4FPYNATJ4TH1W0NG74LC4O8JWNHHNA3N492HTF91P647776N5EZ7XDHNVZMW4F9Q0Z28VEIR1AC7V6IWKOQFNM3K1Z68JIYI2G006WM3STWVZMZ04YF9J04JOXW4TG7Q7IU0GWBPKOPAAUVUZJUYYU80GQ6DN1QZ5CT3QYZ19F1QPIFAVBJ513KA7G82YCTIPE5QJ58XRJMVAPW4P40I8LAWMQ8T3F3BU2QQGB. +36#34XDJEX5LEHKRPBZP67UQ7054Y22MXACEEBYPLF8KVQR62NKIE = 36#6WWMNG2U3N10QHGEH1PXXUU1NCTTYRYMPBELNZJA5ZMO6YDLNVBCOXNJR1YUSHAKW1UGLKL751U481UGBP0W2ZLM6R9N9B0UCW0N7Z0UAKYAVYJ2OOMQUYPLFN7WDOGSRZM0NDM1L44DIK21EFSSU3VF54NPM0O0DF0TKQWIYD00J97MJER6N3MWIQQ7TBK9B8L59JURSL4VBVGWS833CRA8LJHSDH8GZBGHR07DQP6PXCFNWT6LLFPY div 36#27CK0VZKISPJX73U8UMNNNARU78EBH4KKUVN9AL3P9EA31LAQFCHP0Z9MDOEVDTV4FU6K0WUN817G93B1DYITJXX2PMTC8EIH38DF7ZPVJVYJZPJX8ZW6FNMPXQ4DWG5J30QE07D26DVU5VGPKX6368BRPZIH0OPCFAS50E3VY7TBWPEGSYVTL79WMTG3BH94PJKV35. +-36#4MEVKGMIQPKBHHZWXM072CCYOCEHT1KHBPK1J8PDK97X5JKQ6YT4LUJ89KDAUQVJCPU5TXBGTQJQAW87AR9U5JE7RCONHD04KLIVQG1K8YDZG5NX59Q9Q2MBQ2GY5AM = 36#1T982PTGSEWSFTKRTVAYGFOV1D5MZVLM1GR63Z44L528W26484MDZVZVD3UM8KDUVLJYN32EIBASF8BJQCSAYW7R9L6L4K2CQ1Q9CB8SNSNI1GE7JS1TS6VBL66U1IIA402VH3E52PGR21WA13LLDOELYW1NOVRHYCSNWLOU2QOQR8P6QMMM7Y2BYZ13O834ARSU87JMLB5TW7MQ4B3N9ZZ5KN9RIOJCT2VE73SBUW577D2OW7IW7I9Y0ZAQ20T3ODXI3QUABHMUNOZWSI36OFU6IAACMHFMMHA8RICSZSSOXLF78RWFC4S5H3O99MEGZSVC2I70SNZZBNJ5CJEBJLHG98X3AAY40AK7HRY2KKENIK73Y7L7VDS43F8511SJMMKE2PSXZKUDWCQTZN80QCFVSXH72T46CG3LCB0K6EL7HU9FBI9K div -36#E47DX7YY3HPA28P2FGKETFWE1MUH8XRUYK0QHK79S5U5HI9IMF0WSX9D80WL46KMLK8XOMF74DREVVP1D09QXADFTDB1WHT1SUC85F16KWUD537KZDX84O14D4UAOWZWTL5STBWN70AKWU06E3UIDY8OP1MLU91X4QA7G2A01X1VLGH0B1X7J5K4K1O9BPJ0TRAM4D2G53AM0IF6M319YQF1FD547U8ILAG16U63EVGNYT8LTMLJB2DZ6G3CW5URY0GIT70HF5YFH945OFIUF62RKFR3F8ZMLM9K1C88L98AXGDAPPJLW. +36#BVWZQLUWR4TGTABLGOBUJQG01W0S9OQXWEC3AMZ9A4A61T4GT2EYPA3LLIFHUJY35Q6TERKQFCMZNHVFAGM4LWVK7Q5YM1IFQWCOWR87HX7A0PB3QLV18VKXV78JQAQP155CQIEKUOS58Q7FGPKVTAJSMEZD3JQLMSOWVOXW4A6SBHR259BSC0F66767DGXIOJXOCPEEOKS5FSGGSPTIS95O5O5AMBMKA2DFVLQMA6K1XAHLO5K646J2OOFBQFSQZVXFURVIF15I9264M6MX1DH9Z679CXD4ZURCK0PZLYUPN7DMJAN7V3SYZZYCQE798FIDHOYN = -36#7JC8C2LDF4PM93X76RMLU58JSU0DO584HVOCL85U4EYKAYSNEBMSP7CP47JGNRNLWRQHMXBGNOW5ZH98BLTNSC9C3HG0KB1YUTR3PCXS9B45OZL59GXD7ZZW5UM8G18R7N9DWWUW7GIRATD6CXS24CVIFPMFRCZF5SPN2DG6OXEY68HPW6BSE47SI5QSEUUPH3I5XNKTDZOK3DQQYTB9IO71K5YHDF685VTSH45Y5GB5MYOGGFTJK7SZSEE7AAGRB691F7MICXKL7ZO8VHAQWU92QMOV18CCO67ZG5DDAB6RXI17K1FCJ1D8NUZ2TWX0FBWCMBNJ48I9XUKJ7E8H6DWEC23IUHLPSW2Q5TSTI7KMVXNPNY6ARTSNAAX7I56N4O2T73NFUFI9BIIDV6BD3AHZ9VF7MYUGY2YE8ZVFBCP3UXUL8OB46JS766J83LEXHGYYNS3KKS1RFHZXFZUS4Y93JT7ZGI2ZC0WL0UBJXTP4KRM3BWH3PZDHJFXZ75YXGAWRNHGWPR36GJTXNX69WHZ1XQSPFYLU8TNH5MZNF7BRWW38EG1CHCLOZ5IOXCKW7J4LG63MY70T04PIZYSOJUY2IOQMR5ISUJCAJY1DK65A0AQ0ZB3BCFV17W10FDD3LIDN9NS2NTLX3QOFOB3DGJVF6BRO6S0CRF33O863JW81S2DLNU30LRE5UEGXRA9OHF2L3WIANT9GYC0D5QU0CW0N7FHS1BU68RTZQ5D5O4IZ2YQD65PNQMK594TWUYGNGHJWFIEGY76U5WBYBI2CBB4OR70N6KY2GO7DAJM0V9ZYGRTX8M04IL5CAK8FSPKIGV9JO2UQ86P1N82SAVMQ88U0II19ZMVIPRA0377ILSN4KVMD4967R0EBXPG7G4N36OUBWRGNXU64QRQVOP13RLYCAH1B2JU14N0UTO4T4M525QL6SARVXFD2BE0ZC17HZSGXO1RU7JQ79CTF5QGH0BU2GZX69284LZQ2ETUIAJPW0CIAI5CYFVFLWK9KKRXJ9WE3C4YZ99PQWBQ40R11MT95VQYHA4X1T1XD4OW8YSX8SZK21QCU3N8MVJTW34XEH18VEJ6RP3X23XAKDSMHV8BFDVF8LFT422HBT7NWHFA5628QO8OQICA4ZQ5P0DOZAF2MFKYDBEZ4WG2TWW2HRH7W811E5GTZCRZ8HYVXN9FMHE88LLT6NFJU1QN87XUXITP2IHD5SCCDMJ div -36#MTSCEAW0LWVC8410HYEAEOAO8HGXC8KTHFUHSHGLJF78QO84LY716RWGMYVOE8UGT4P6YGN8V60TMA9QXA9P7KSAGEK06L7SJF2WQRQO7A3GJH2Z4CNB6NZGJWG109OAHAJ3OTJT2TZTUNNUWSRMSK868BVW31805ZASIMLOE5N3ZYF0Y94F9JTANDAZT14HO8HSOBOF4KZEPT3RIW1YJX2S7ZPDT4OS075NSPTV9R45PBB2BC5F8E2NK1NNT2T44SVQX0LE2ZQNCVZB1MZUKA7Q79OGLJKRZOW3IGZLLW6WU9FH1BKJQN3JGDVH0BS6KO1DR0VZ0ZMOFMAP11J8XII32WDXIOO46QY0T0Z47000EIUPLF8RG4MHM2SSRJ4K6LSQT1FIYCHLRC4O3OR96FSTGTU9RFLDKDD85LKKJHFC4NKIE0EANQQAO39C8XP5TD309DBW4D6J6EUCXHIDGD5Q6VN8Q3KZN11OXVS0QXW6DRIQUHHDX8K87NVBKV0Z11TB5WX6PMDR38PY71000US18UJR5SVOYZBZXUF1QA1SKO4JLHA1VK0391T7PNA5Q0GRFKKSBC0BPMOK01R53QSXTUVC2F2WW9PDBPPOVHRTSLCF5CO020YEUZHDZ8ZUZS57XIZEW6NPA6KIKLGMQG3WDNML2N8GFGYEQ2ZZUACVBPDJH1BUD107KTGKNULC59PM76UIO02N1EVII4122MB69ENJCWFW2Q3Z88ZLJJS3HRO4RAR3E5EXU3EMTFWD62GIO9U9ECQ8L9XN1ZD5PMWWPUOVJ447E762DI96C4B1NHKZ7WRO8ODH0E32RAWHPH11NGX5JA8RXMHHVVV2QVHIS6QCRMNNL6OWTHWVYAXUMM6F8OK68ANXNGTHVAIHUWC4YT. +-36#BMX65N82WBZOOSAB3NTS4UC3D9KHIOVWX02U597SOCHNFD4DELY8C25V2IYEJSV4C4VSXYMUF24C08MWG8U6FWPFKMC11TPXXEEH7QCTW208BY4FJCOE4I4Y333AKZ39RNY73GAU7JHANJYTT40WZ7DVE98JPVPZK6WTP23POKCWLJ2B1ZOSAHXGPLMIMIHV905XOEX9K5ZLA1F2SV6O7AG0H0K5PEK0IT9ZJNXWHWSVARU1X5ALW1E2DLPH1W9EYD9LH0OO84KAZWMZVLVCTZVHKA88GGEP3YARRM8FUS6FIM91QXY8MDBHIHXQZA24N0DIEKY1U1IHIT8CJ3OAOBDHKSDMH8FY0IY5I5QXN0X6L0E1GU22U6I3LN3IBIQ367GUO6S0KWNTULR0D0VF9HU30BFYKNQWR3MBA9TC97C0X1N94FXXO52D48TQN5J900AP4K970742CJSB1Q8CFC0LGUB43DI8BEVH7DA7CDKV6E65K1HHO8LUREI45MKX6C0L8B9BOM72E5N22C27FVLIWBY253EHB6XI2XQXUO = 36#1NAHU1WUIAJ8JKMSDAM0ZTZWEBNWJEVH5SC5O1MCKXULM1500A7BE9PQTZ9UJWOZ873KJPVD2FT19647OBQEMABRBCLOPVS645XG7ZHU69USEETD9YXZ8WM7IQC3L53EHIFIQZRT4C6NYCKVF030ILAOX7YA7XW0QM0I4T5Z7OSPYYAS4RZZB2VJVK1E159BSV3QJSKHNWGLQG672H1Z6FOJWQV4COBEK0G9U8YY2WZZADNB3WBZFRNPW75TSUPBOV54R902IL5EX1C9TR5FU1RRYRSTUCLTJHV66FFXP5VZQJNZHE9OV4R6BO108HWCS2KVYMK0M5HSXDUPFFUTD4ID102I47RM8N9N2B3ILDO85FXTR8HKB02K3XKI1Z48E0QGFEWN6G3DEGHUDQ7HA1VADAQ8AWFYICYOFT5X9E160XP7JU95VOATPD13HIK502GQ4AH2PVNX74JQW7DIQK596NTNJU53ZP0E7UE3RK79AKLPJXXP88Q2A61FB51IM3NV0JY7UIIYQ8A6DSMTYCBTN1KZZNFUI7UF7S5N54MAE3HU94O6CQK5U5F3P7QHHZWBQBZEBPUJTPD24TR9UNXZKXJZO2IMAO7Z9VPEY3KOQPQWHSMLS595G34HXM3L2W4BCI22W3F9OYWW97D7OM5H5VXNGLIP5AKE04D5K87K5BFYEOIJK5JBO9V2RX0F9PRIM7EVHOBI5POUASK0V8N5E0T1YSQXG845VCZLZ6MFS8I3KPV6MZG2L4MGHG3UP4WZRLRI0AGI2KRH9PUWMHZX2NR8TR2XFF2GCCJLU92Y4I4922YUVNCMSBRWP1HJLUFPIN9NCXNK2YKTH3QXQVD1TC6IH3OBGSJ82D8DU0SNCA3OHPTN78JGL2NLJMY1O7BW6VSRQED3S42J41WDMAVDD47WUUBRRV9S0ULTVRNOO99UH9U8Z1LG8EXQOK7AI3XS82A8TSQ7O3XXFFYIWYE6YJGU1YFUL7KC4EERDHLLSKRHZ5Z1H778WQ1FRIETYQRS8Z5LCYUAUPKX4WKRKH2PPSS0GS9FF7VRTE0AAHZZCX0P4N8O5KQ7N1VBP1VOG3MQNNM9BN00B2X5SBXQ2E7IVR6NY4WCSGDDPMT8K52IGQNS3H9FNKRFPYEP9HFAZ7MHXTN341WF1YXYYG13YZMEPR2F8XSVGAYNFEHQO9O5E1BBMB0WBKFSCO1XK5ZAV3W5923RXN72VNYQBDJG35296676QY3S3730CLJQVYLM03K96H0970V4UZZPGNB2YA7YYKZ3URWJE3GOXS85BPPAN9O7JWQBB075F78QO7IU5V79Z4OVYDF2QJMG60A44XEBBADLBL8HJ6T8OT18WF3FOJA16AIPNFFGLNBK2B2D5TWHLECH9WDFRK5J02R2YDUDRNJLWY8QT9ALB97EP1AL4YK5ZBUVQ33A0B62GPJU9Q6ZCUD3MD5W0PQUB0NI1DU12IZ7YY76ATLRMOQBG6EMSJA085DHQ8TUXVPWB4WPRVK0G9ZXSKXJO836CUL07LXJKWXHHGYX7VOPEYOR519TUIQS09Q0UNVW8Y2SRC5JS8W8GWFEG8GB70RO4HUCJ3QGHNYPAE7S5C2FY1OHVK2H4NGP6YX9O9HSLS8U4L3KJW83DYOY7WSP6NANQK6DBZ6Q8P1MF827YA0IDMSASCIL3MR7Q3QJQIDV4GW121358BQ00 div -36#53FEFJ6KMKQW09U68I0P4HDWBL10516UUJPC2ISU1LY0XCD4YENLE1P8UESPZ0T0W5OY2RPQTWLKNT7NXEKIJ4R0ISPCD55ISLQYPNCSN5MY3RSLQ92HMV2EOFF98BGZV6WR5K6C4T23HI9CE019HSI1JZKT82N0S4SPN7CA5G0YM9YHFAX9P122PUVXQW79K3X93RHN1F4M7BJX6RLQNWZ92U0NMIR27QUY5S0D4YT0W38MKGJZ4W9OJ2XANK29SH7HXEX42EVP5CWUAMJOTV97TSZNX1H510SH2VTW4M6NLNEFIZO87804H5MTW8ZWS1063K7GDXBZVUOZIXIQOOK5MUJD585ZJ0OIMGC1EVQORTUOIGHTW5NJRGQ9JXADY0GTGSMXN73E8W5P62YI5NR0QPQMF6M25HMFV96ZV11OUUB5W9D1JR0Z6SJE3CCO4A8EGOL1K5G2VVJKDZWHMNSWLEI4UXWCP3SCXQJOTS1PRF10SM2D52L11NCLEL5U0BFJ2EM75DETIPE9TWRO66JO67RWY6Y66Q7FR9UZMVPPZMEA6CQ94NG22216JD5CVVSY7L5ZHY1KUBGFUD33TRZ4L80B0Y89SUDV09FQSHH5AABFXS6JBUM8A5YGY0G3KP9KRTNAEL7Y6OGLQWD5CRE6V2T0P9V33TWCYIOAGPCI2THB8NHR6WZOCBDZVTTAXK8CW1OYFESC235A0JMNA5CVSTPFF5UM5DU418XCD3A59RU2VJYHDZONSFQOL380W396NQQ5YXLC2LYZQ1PEHP8IMLC1F26E1OE8BZA8W9S3N5FME3IL16AC76EOH3UGT4XI0SFPPZRR8BXCWIL8KZ5R4Z9IKCH7B7BIS9XR1HWTESGMR95KJP65JJRE3Q59EACW6O3RYW0AFEA6XITCK6KYLC1MR2XTXIVE9I91SSQA8KGWJX2XTLRKYDQKLSD1CL1C7T2EOPEE2CGDDF9C7G9JRS2RB0I91HUD2SEC7S1JXDKJSZO51SGDXDVABS1165ABNVDYNKCK6WL8FZH4WANI9JV8RC8Q3SNA8HU7KFZ5AVULO3WN0RS53YOU8UO1SWQ2HDJIAJP4UI19QVCPJ99UUU0XIODY8PDV5IAMM2WFULDTMYN58SSWRBUMHUPZ8DH97N9. +-36#QPF05P9ZBR18FTLLFSBBMSCR2W1QB7PSXDVTBZW5LBA9M8D78M7SM9MSSZPDKUBZTNE1R68FKBCROE33IV392TIVIJFQ101WF967OXVZEUTMSFH36J2YTV7K0USFU98SVAZTY3G4AGM2I46OYBLHV6LTFV433B5FUZU7I7AGC7I5D66F9604GB88LEOLDKU7C8THK272XAOGXCL45XZ866F8Q96BGY7N5RH4BIXAWLO96XX5G7BKJBDZVOZGSPSWZQXCBB0RSXX7QGQVZBDNPCQUGIB7N3CL7EW55LYGN029Q06W4SEYY3ZEQUAYUXHBURISFU4H7DDXTH40RIDPTH63MU2WIDDSNNZZGUM0WQ5ZPJ1KYBDVPOJE3AMQTVI5UVS3TV0O5NBD3KL9O31TJQUKGXIYYM0JTCCA911KXFWHKK1VVGANMA5KQ6R8FD4AMA6FVHJYZUPXWATYXN6L70LFP24XBTBL455IJUTPJXEJEXQ1DMLZD4F9DFJ0XPTTDGCK3H4P919GZLRJ6UD1EACWMFW6X8M2J41H2IEIUC9B6WLYP4UHSR1TISLR7ZKW5N730C9K6Y8W7IOMLV84YX38KAH6Y1KRWKN51W = 36#VUQZRT2U41KY4W2821E666HES5N384GTGZOJ9S577JNQDD2T2MA2ITV37VL3FMAPAR0EODAXPM8PI3ITI2XGX8CD3CQ7JQ0SUFDJ327TJRLR0RYXRL92H9I0OZRE7MFIDXCFTYAIP8XBHC3TM34CH0T8CKBWKYZMWFNANROMOD9L7C638O4VH8DVZJ4NEELMZJAEENRJLKOKVG4NZZC5DDOFATEUH9GCW1XIIA9QCD7VNZIP1KOL4P6O5OIJPXNVHXT0727F2ESTSD0F6KCOIZ8NBONSODAJBK06LO1MC9201M9RAPQA6339QIR8CN1VBJWQHK51JORQ5IXZR0UHK3M6BJ2GPI3AUXZFQYECPKNA1WERVEL73UWE5WDXLJMILWIKBO9A7C0VR0BL45OZTBH1QUPLXG6QB441P7KNK2HVW57IAURBM6OKQ299CEO0TLHZ2SYTQ32UYFHI1NV1OVO69W55AP8LY1F6ZUVD75YUG7DEQL71C68CFZEY52NOWQ8OI3IDC76OF48LF5Q71JXVBVW4AIKRJ5JOVXMBFH7N0424 * (-36#U6JNAXM3L5C3KQWC17CEEAVWT18SC4WWN3O2WKMZ590EE827IQAO9Z). +36#2M2MO0XXKI76O2LOFVB9TGP0IUQP4AK0Y09Z71OOKR9IKI0Q1UN4DKEQM94A0I96BY5HF6MVF0K3886AJL36SMKHZQ9SV6X96R2U6HCI5ASBXPBKFXJRAD5BQTCLM44XYIOV8F600XTI3VQG8JU6WN810JK46LQH5U6HQL28F2J6N17PF6V567S4YNMSOCHCFAOSXFHNX2SNSVHWS1NMY1Y45FXW6VSK = -36#QXYH4M8Z87NEX8736GOO548I1POTA4064BG9XAKG4UYIP6OWSX9YXF8E2UYLBOSKZCT40TDC19QAM7SWTSLX2LJSWGQ4AUXVQ02ACXIFX9E0A0EP6HDR3LQKEVE2AL8WGJGJCKFBU5V0RTAW2GVVN3XY062VCS76WL95KXJG6ENCQ1Q4FTT29XXXYIZ8CNEM88V30512FRH2HLC9BSRLHB6TO41I5CPH7O5JZ5Q23DA12WNJIGLB28UBPGHGLRD2TPFIQVVNM3A8RHDVBV4WMJTJYY8GR6SHAMKQKQUYU3VVP3BRWK1QB116RZD7796DKIMM4WDJNX6ALZPW60PWBYXR95OM0KRH9RQJANP478SPULD9VZ78A0AN4PFM5ZN1D2OLLCYR41ZL7QKTKP8MXPPSDLOLJYN56U52G8WSZDESAPVVDX5BJXWK9BSUCYAGLOGKNDWUIYT2DQGQ1OY5PNZAJV3X65184YYDURFD625O7JTBOAAUX3SIMXQHCG92WGAT2ES8A821OVASY3SDH6GXA3BJ127KNRLOOR8FVJEXSU00TPRKZG7QQZFO0DDB6RM6XI5GK95MC20YHWXTQW18OD3TSEULM0AE42N9XFBFBA1HYMGNJXWENSSODJHC5E3UW38V1CXXIWE6UYWNBUQO4LX6XAFQYDNNPNFUDSMRBV46NM7TRAVC8JYDULRSB3ZK0QYBSGZUJFD4Y538QS6UB4CI04MQXM1B3FMUN7VM5CXWJ3DS21B2UXZ513M7JMYZI3DSLTWA6R6I2VNXEJR1J5BL5P2A2W0WUT426LKRYMCQ4LD29C div -36#AB6NDLUMXL3NDASKH5OK19H4PWP8OUDFABZPL960NNCGKGLG076H4FUYZKXADJBDF1HG1FL40RU9FDNURQEX62ZRT61AQI5T8HN8008V5DS7T4OIDMI88Z6KV80T8CV8Z4DSRHXXZRVU8QNYY6OKEANRLIRFJZTGG70JEMNGUCQ3D416LP4U4FW0Z1EV5O2ORCSC112H7XCRHCRN6STPV19ID5KJE579XO573KO6NIUO1XM7V5OO21KKNZT8ZVBUUXKPS83XRAKOZIJLJSKQHA9M4Z7G3IOSR14WQ4AL8VJ57XC9VTAFPPT2PHBSPEF6VWJ2VB93ODHWTHHK36SQD5DDEBWW4VM8I3EWH6KASW3D1F1ELEPAYEZ8N7H83IAQCDDPQOLZ57FJO5D4S36SP80NS0M2PTH6XWLBPXSCOI4EDXY8FK5KZIFCW2KA6HF8OSFZX7HNDUTAFJZGE70P03FHV4N8QMDH7IXCJ8VAP9XZXNBEJ9KZZQNPD5222CGX2KZ8L7NHIQFTH8FA5SD57S5KG1GPO0WO7UB24C056UVZVDQCSV1K411LJ916G7CF1CRCT896EIK6IEA5VI1DJDO. +-36#EXJ2KKPHSWRH3AXZMNEITNGQTJPXFN97HJYY8K31QWWMQRMJI1RT8M671ZEZSJKVVDN4YAX5JQT5TL7Y = -36#3XUVOO1BM81XYE12X8PG8ATL3BM3DKT9BVGELJF4D9VTX4Y8L01DMAUY4JMQ8LAA737ZJROWX0PE88IKFV7ASDB3LOIGIWC0IIM3SECZDYYSCN7858TM5119N6BWBT7GKA7Q1V53Z091GZBCL50OS40J9BKD3DSUI6UGUBRJQC742XNXEAP7MSAVZW0U751BDVKVO9M4VCTEIFDQMRG1X02C4EK2DYU8GU3JFMORPF92UZ4LQW1WLZIN9SY5A71ZHUVV4XFTVH5N8YCQKQTBBMGWKW4POMM96H97X2X1YS8SH9DS7076AKF4ZPNVP4WBGLKOXKFGIPBRNNTR8POAEDG4GN11RPSL70FNMFGD8MU div 36#9I0U5JCB9OZ94373NY6JHU5USTHKKD9NFH6ZQSA8R6M1TRZH35U26KTEAN3K3DU43ZMGV7TZEGC3OM3RPGZH839X7I0IE39OSPZDMD4SOFMHCBBOST4MM47F5TWPNXFKHS83756OFW2HHXU5K1M210YF3DBDPJH2KJN876EYT99BMPF2N6VXKLTZ5VI8EI84IERUXJYP4GC72ACTXSI8C50H7F4A35UOYKXJSNURS1C4BDL2S0F1KCDQ61RKMKK9023O74NT0AF42FNU3YBLUEUH2IL. +36#5WCUIEXQR09C220FY1CLP8QPOOTVN8GBFBIL5P2KK2XXLUFXP4FHQK2XKWQUQOYSD890K93K0FKZXQH6IEIFCYMXD99G297APARI165HOYNR4MDOA7TER0DG86B6ULSLSPX0753M63A5LRGIOHFEFIJWTO2JHWGQVEV7P2MOCZPRNWR9BZZ6PZ8I = -36#1YAIWW91C3QEG85FCH2A0TKS069SUGL5MFQ07P19P9ZO679KTDKAG6X64QSH3JG8R6DGADFR0FYTBDUV2SNWN9ACYFOET46OPQQ4ORHERWP8XRLXC3ER1RDKATG4SN663PXSCVSLKDXAU7NEEDVVY8BFHP53LARURH3XFOM9X37DZ3R248PQNX374GZALWGNW8E8WA8PPXEOYR00SNR5XMNZJEXIRPLQG8I9NHEP250E5OJED1GL3VGRKLFBG2MVUK6B04WLH0841VPQ1YXH7UGQTRZ0E0278XOMHX5RX4LK6B0Z0FBHGQ5IWL2RBOUVO0ETU8YX2BN6YMAKE8K4LYF1QN81C0DPVRLRD91YU7ASGW2JJCD99OOZOJEGXGNQQDSFXY69LZ6PMZ9L8K035Q0GCRTZNC5LDKORDMEW75U45FL8BNK4LNC3CLSB6PF8T666TV84QUT399OMVCHXPXTIJGSEUAYQGXNFCZ2U7PGWW32KLCGTDCYZFTCERLY6RW712SVV87K3UC2TF196MJJNFZ702E066JZ4YVJULNF9LK2KXUT3ITB9WBCDUQ7HK2C4PYQBY1NQBUIGS6K9XV8HVVSMPVU9BGYHBWD2SCG67XXLLOIE9UGCC45S8ET9G96DM0WUPZAKZLM2VI253CS48V87U65BYNDENCNDX15OU7YBOYDGW8IVT3NUYX8JOGNUD6AN64AGIOR3GTC7SI5FPKNBTM18OT70HMDK86WS49PAMR05BW7UNRCR85EXX3I0 div -36#BWZMNP7GE2TL39IYFTO5RWMXSHSFIHSOIOPA0I9SCBDIMPFWZROB8OCJIYKIFJ64Q915AHICBGW3A6JBCGVQ10WSZDJDFD3JEYME67JAEVHB78Q75VL2ANQF9GZ6IL51K8V6R759WQD5VSXS9LEQB7LVFO1CCJZD7IIGI3UVQB5F43Y2N7BQEZ4OT3QNCA0AZ0HDWZOS0RL78SP0460TUCYFCEILVHRRQ5L689IWLE6ICFQXQJM66IAYAJKXSTECQU0CF2SUSAELSHF2P82XFPF6MCHOZG805X63PKL92EYS5RYGQGRUM476XAQGZ2I0JLEC9HHQCMA2WNWIXQKFUY25Y5A53O09VRJBUHMHKZZP99IXTII22JCQT33WU68FK1MVUF5Y5LQG7NCQNKRDUGVALAI821IWMM71QGO420GCEEBEM3LDJXB2TQBX2GA2ULFXXYO3VIQUL5ZHOBPVSG5C0TGU6JOF5D3U1QKSPCOQUGO181X836JLGEHAFSIXOB7RIQJZ0YI28827E5G3C45B2NTYPJB175OZNDPWHXQDQVLF53FJ05NND6PD7UNPIKAHRCJL77B0. +36#DH5U950MH3SZVBVEOYEY3L8UMNO46SW795DEGQJAUNUU7K6XIR0Q9X97TBS49GXGIR69OUASACZ0OIN4ZH01047P7K49KSWT65K8A4LTFY65T0SDQL7HTG6MJPD4SXYFI2HMPNNB7B1ZY510EUAIMD4PB6FTWCY2AEMFSMMUUPT4BYLW8AYN7E7AODSQL10Z24OM6FZT0FXQXHYUI57D02HGLJQ9F7RJDAF0GVZGAURENVKFPA48HSW3T1W0AEF0ME9S51YTSP9RREND9YICEJNUSVYG64UNHFF6WZWMGE41BMI1OAY8YXNZ8H1XJAXG4MFFG4MKGE6I77T9N2DUU06EM568ATC5ROEGAW6XQBXIUDO3Q6WTRE9J0R88I2R2QVU78ULZG1W9X426I3ZBHI1EYN0MXJH5Q6MOECYC4I4OBVF7PSM84P1BPVQ45C2T0VUFV2HINJ2DL1CCB7 = 36#HVGFR7J58FQ92TODLFOEQI6ASGEEDANWC2EQ1A99DZM4NI09S7F6V9SBWC41YVN7JMTJR6L7FY674UZEEDXUBHAJMZ7VASFQ4Q3MOZVQYUC5K5LXK3CK02CMWAGWVDJOGY2O0FFDKZD9O858KUM4OCFGPQQ7VA4E0QXDS753RCAIT1A7YZO3PCFH9VYZVT3WRKJ4K1SD6ISIY1V10A8XW3HYTXB2R0Y2QX0OYRG9ZMYYP8QYQIVNOB66HYDXIM0SXAQ5B0KDHNHNX3SZWTKFCAMKG1OKUFU5KC3U8JWY060YRBFSLT1ZKBM8ZY66M50A1YCBI4MVSAMO63J99BOP4Y7 * 36#R56BWM43KQKRIBJBWGHG37ZY01BHOFPRMJYCWU1GTQNW5QSG1KRHL5NYOR73P0UZFBF1A8XTZ0J1YEEBODWA42SYSJZUBMKRNAXH6UMNATZYARD8P6AOYTXL871. +36#WHNUAQEFAJYC9ZL1U29ISA6Y8SFLL0TRJ4RSLDU4V25SSLKWFMKYCXJYW4XAH1CNIEWZJNG288IDT07Q5OVGM3XOKRZKXGCMQCRLD0RU5WFJVVDSWPWIKL5BTLTXH84CHTRY2LQVSEPLUB6UB84TCNVTYJ1X0NUQ7NZYTUOM7P = -36#1H3MI1W145EZFJPHTPM2LH2LWKNSKSX4F0IXGSXTMJBOMSNR8UNFVRBH7SZCQIFS3B52V5YHLON5I5MRBJ0IK79JOQDA360CWZYMASWQU81093XJ20HEDA6NTRQFXV4O55XXJICS88VP5J7OPV9B66EW74P7KRWH3K5HL6E0SDRVILFCFGVE950LCIQ4NG4L7C3TJMLNTKVIGGRFLC86BMEPB0E74HIMZY7BMN25V57GJUMPQNJSSR12WOBXHVXZ8BTAEK3R3ZQNR627P4C1XFNLGQV3CBFNT2SBAR0RZXWWZ8Z8GX8V16VKIRZD1HGAJVBF4CMQUAVVKABM5C82LCVSTWPFVQMAJD6Y63HD3NDX0FUR6Y3B2N8HFE2R1J2SIA9RSQPKDPISRSZ32EGTVRMU27C4QRDIIGG5YACNOD0JGUYP3NHJYOKE9YGGNHEK4XTK9XLEA58SDSJ6ZRT1EAKQ3P0XRPZQBOC7T04QR3NDKX3TIXZF6LWM7RLBK60AR6KK5QCDLS1BGAXZ1JSTQL1J3D1JGKUU4DYSOOJ4WWFGNEJFLAJCKILFZ49N5CZK4ANDJEL9V91HIB2M9PN8WJJGZMQXARY34VZJ31WDNSM6B74FY1Z0U4H73D7S5FQY1IWGKUBF6VN1PSSNM8 div -36#1MU3QHAHNKCSN1G9ZFOS7JV41NUK86T4184HU2DO8QABFMDW8KOLZLZ3UUIZXSMKJO8YN3FZKZRJ82K6YNXO9S6EZMF2IPRK401XR7360RXEGLASWMNR65PELND594W270MR3IINTTOY3N1UPF1IKFEP8VL58F6U3ETOWIRA5BCEJXCCWGRQN9VA144XLXTHZ6JZYRIGK3WFUG8LBBDMA2BBOWV4D5U2UYYPHCYHMX68D9Z2WOW08AMG0QDJSJ4L2O6I2N9GUF9XNAPNFOOAPKJHWMWDJAO9DMUMRCIWKARXOGO23AAY75EP778TN8OLNNSSHEGHQBA0OLD2AZEWH3CHP1M1T48IFVZL99F2PXMQ66233MM3ODL80U8PZO1II0VW6S3R4UOFJSI8FCBOZERSGO7WOFPZMS004YASYGAAS5LMJ64PWE7NKWYG4A0DQ9KWIFSKI8D69HYK9EK7PN6PIJZGWWA15PL5KQ4W. +36#231VMHDTO6BK7S8LN67MXNAF3GT8E8LB45O7WSZRYGNQRFP4TL = -36#2VIHWB34N2EA6NQIHDWI6VG1B4TU3LC7WORN8ZURKW7O8N7NB9R4MCCTMZN7LSS2K2FO91BL4S8NTN4S7KNTMRACGD2VLU8UQFF div -36#1DNH3NHMNVMJVEKLKSNAYBKNFPB151KCNHMI3GDJ0VSYRW83WZ. +-36#1AGB0NE998DVGPGGGHDJTHSE3ILJSOLOBVC689J6I5KEDEHVAN86C232NGTI8IJE5YDDEZCWXEGKYREKJ15JIAEZEH34SKVF30FBU5GSVYLX0XH7D73H48P1L1E13VPRXTW3YL728Y49OMDU88AEFVYAKO15L00OPX44VRU0N5CAB18VGV3YKPPGT1DHJQ21I365KMBOX28HD7DSUBBWDJBJGMH7LBDOFBN9K5CQS523HB1LB6TJOD49YJI8YMKBXCYNLMITR4BCBZBKQURTW29J6AK5Z5I3XXI6TIFBG5SFSUJZ79P0S5STCU43GGUKHBZ3V8RTTDABPX6Y4FVYEK2UNHTBDHL3FRQDCGDO2N8W07Z8P52NG8W8LHZF8LG6DSVZX6ARYM72JVDAM0BFEO5UY23GYN4PGNBMLE4EU3U2ODSZZNO8ZEATEOSROIEL0ZU8HT91QPPX84X3JUDEGNWZYYFLGYJDAR4AKRAW8DS6C04AW71NHJ90V1ET33SYRXAKQ1IQT7NJ3BPQMTXHTMLC40ZFXPTL3IUTMMRACJ41SSJWX82079P2D34W8LAXNZI8BU9Q0OFY5PE7ZCNIHOS = -36#2GZZNZLI6AUZRRABGDSG09MLGNH3QK057OVTGXTET6R0IJ6HWK * 36#ISFUPINEHTMEXXOZY7GY24GRXDHN193325CUZGJ7AX2OFL7CKN9SXU05ZMJFU8M3PE0TLHQ297OYHWDURKQBAM6OIZM6U5A7V0H56ONJQW8RCCIZ5IB16QMWPP6VC6GRIVIDBRDK03NTCAXVMLT3RDGB8PNVYG9PLYL172Y5G85NZHPZ37IM68DARABK7GZWIX85345BHYEHDRZ05TIWKQFI3NIW8ES9XWG77BP0YQ0J8HKU6VLXJUKX6NCZHZK2428U538TXNAN6S0ILDKN14A75LI1MZS54X886RFRHTEPU9HR6WTLYCCFSWHKLFP71FYMCO6UQ0UUTMBJ4LNH2KRIWB3QOM4AIRKVK60YW3J3D2S3WXTMI309YN3LVI8MUWAHZ6447DOFI68U2PV5O414HKDLWW717NOMK7ULRY99RG3EZMMZVWAYAN6Q9DVOBNT2RK38L7R5NX6Z3CRB458GZKA4XGFFD3MSILWKR8FMSNF8UJYA70820QI81K0VR18CT4T5AHO3135LJ0ZKXXVK6JH4B65BKSHPN. +-36#2W93PBBYS7YG1MCP6AVOD2GDO7GZZOGH5Q30KFGSPDDAL1B8BQ0SVEO8S150I5RZCJR83UPK5VVTKAE9T9K17XUNQX2M90ZXXD02P8BXDR1BY9EFHZX7KKSHIB3005XH4C1BO2CXQBA9HZDIPJV90ZQXX8DKF4NEEBCL5VET4NTH879I3AP6VMOUW6NN1T58IYI4IYU84DPLJWGX9IDN38NZH6M6D1GDTIMEHID1F65VXJITHQOFED5PNNPWKTR3U7PY = -36#Q0T2MC0NID17IEGIXQXEN2M0C4PAFZEA0KC1KO5ZWKSN3WHIUP65PSIKA8QMLKCN8Q6B8S6LHP3T69GLQ37WQ8NWVKCCRRX8G47TZSFDTA72JZ3LKA424ZADQJ91O7KCMJV3K01B8WXKV0CZAGR49GCB6BFLBFM5C5YIFS9JWF1JFF2K7CYYVKDS8J577WDZ2KHB3M9FFHCUX84Y0C3QGFFQXD0ASX6CAOXYOZ41X0B2OAP81QPT5D6CXY1VLKF1NIVHYF7M5CKLA08TAITHP6E9UIEQGGIYVF6UOBIJ50YT7FAIED11UQPFHMHXKV1YYYCEQ48BB34AN9ZKI7GHT0DYU26W1K4NSRUOL3PW7CQ700XB08OI6OGG78QOTU9HJZNQBSFO6IG9L2LBQSGQK1DJ6BYWYATH70ED5QITQ0T44A6PK6XQI84962G58HP0DTW2K4JK9ANUIE79Q42T4O8QDVVQB6YA3N0MZZTQM9DG8L0RQT05B0U3IGQ6BXXW6VP6GVJUSB9X0CHXXXK9S3384RKXGT51QJ6O3X0WJ46QB5TUHHUWIW7R4NRPF257VEOY1W8ZP39S9BL5CZQP44WQ9VSYFZGCWDQSJ6G7X7548MQEUHAJM7UU8MRDXYSRVKBOM6 div 36#8ZHQYU2YK72PAHTLKYQJGU2NAD8SGSPO0IL8REOJQCYIGN9SU5EQXAS1YEQUW4P2LJT43BUEIAE38RKR7KBYFST1ULR5MPDVBMB7M299C709O3GSQN8GQD45VHOH66JHUX86LIFZFD8C789ONJ8DIR3IGDT7WIMXA77MEZMIPRMIEFMIJO0XIUAOCAPGF3J6QR8COEV5U7OD32D9RGNHTFNKPDZSYIN5OZX1TXTZ2954DAU3O0IKEBYR1MS7W0LTAOC5WZ5F3OWH2EXQVTMMD478XFOUD6B5I81IODGSMXHGPPBDS6PGIVWMHZFDCBIB2AH31VDPU57HYDBAIXR0P4B5Y5FB1KS5Y893MHZVPIFPYB2DCHC1BXQ6TGIRHIR4A3X. +-36#1FRKQD7UPYY8ASWFNNJNSC8MIU88WVUON05W43LPXS89LKHF8E9OO5XMOIYHN3YCLAXKPJNWHCO40YKA6YYLOTTDTPQCH2MA4SSVY1OJS8A19KLWF3Y7LMSH49SQ1FNNXE2G4AI6TTT63EWKA2F0OUZBU6ENTJ7X40SEZF7GQ6310H9Y6IDYYCIE1493SACH00DJ274P8R3O3JCHSZ53MJTLX2171DAU7GGVCLM4LT8XC4LNAM6KZ6XX29344TI25QNZDKU2AK0W4U55NXKRG3YBP0IK1HD0TDD95SJCAKNP98YB602SZWQG73398GNMEZMYZTO7RPI1P909JURSUIGGGCYTVBUO2NCMV2SPJQXQJWF7VKLOKZ0L1B7RCLBNZ8WQ0QHPEBRYPUTXY8TI5TTO8ULYG2983PBJK5KDVMDKBO9157C1UYY26LXDT99846IUYR4PWDT96CKQ9BOPJ4V3RJOL16AEUYI73H7H12E3SU37TRKWW8DMAAIIIDVABOHVYRGB7K6P7GJ7SDQ33LX8MOVTO4O33W8JQL06TITTJPC4Y8AIW8RL3F6J44S56H2OKMQH65BDJNTTYQ7UDLPQVXFYR0GZ3FEWZMXV3RWR3D0L58NBIC3RH6RYWHG69UIX6OK7YQL12H1U2ETEK1ROCQ3A51U7SUAQB8RZR6Y03TQZRG4SS15T84UPU6NLYF0ETB109L16UQEHWR868ATA2DX8YYWC50MYI7SFYN0ZF124MJXSIXLFTEMUI4JA0XSTCWZ1E7QOXBAGSZCQ0TGARGILUCMN243MWENQPQZE7GJRWQB2VK2E4C9IE12YUKM3PT94XY25LSDNRKS2JDXJU86TUD25GRDGSYKITDS92052KBWH9S6XJF60MMYK6UGYR9ODOS7NZX8ZTDP74D6QPX7HJNNFF38J64S3LPESJB3A6FPUISHFFNY8SJ5S4O60BRHP2ZI1YUY0GRR8T2F5N94UVKQ0LPE0MUSF8H1YQYK7VVVVEVSMK5035NOBS069NA9HZN7DKCNHUPE0OOE2XQTX8VWE9W5KVU3MNRFVXTAT9SSKDX5NFVML8BYHPF = 36#A6NCW4VJEN2NK1N2H557UL0IVD6QW85Y6O7ZZNVGBD847TT68869IIB6KOA7N2LPCUHVYUEY0KVVAXHDJIVVBJ6PHU0TPO1TSPB01A40XK6OT57XDS5N1AU17499QKUZC85EABM0VH2PNCW3I57QU2VR80CMOKO835FJNPW43AN37INWIKXI9P2U1JB1T0XECL8W5WZOZKZIG0MR2AHDW2UJ0GMM2KRQPMW08MATURXL9OYH5KYJ55OAJOSQWO255L6U8I7ESL7B2YOO91RNX3W1V0QLMOOJMYN57Z67EPOCF2O8MK8DQTTB83VAPX5NUBVR15XK4QOLLBY4GWIMN9T4HBBEOXVJJ2975ROZ9Y9V6UI1FBGYIN5BROHRZ0BXYWS5GFCUNO30B4DK6ZHP9YD138HU72TEMLEN1HRA38TS6RACYZ22FCYF5DSQFWT8XMKO13NNXB3FBSQ9K5YSMLCB2RI13GB91C0EHHIX4F0UNM2O067KMCJWXKYHY2GK1A0Q8OC443XS3EK9YRMPI7SA265TEUGXDLNGOC38UEIP4CFIJCKYDVAWDLCUYKNWDN4XEP0XG9V07EV1SQ8YYKFX87QT30Y7O7Q77JC6OGTPPT022TWUUHHE9GWCPCDGOFY2RN8BAJLDE19I4R29RTX9V1WHRJFNHKJ3ME7L7ECGDR5GGONN4Y0NMXCMRIK1EFSVHXPE2KGHX1DCXIS5QNUS0X3JS2KICDMKRTN2B44LMGIN2CZCMPHMN2BT37BNLC6MSIS3E6EPLBT2L8WRW231OR9Z0JBMY51SAR5HH6NB9IPSJJFS6I4IUL7OHJICV9AZWK75ULEL4KI9K7AD9C2LC3YJNRH2O8IX4TWWKY5J9SLQ9RZLDOVQR38OQDT20WFRJPVCZ5PPOBEBXQ8YT5BQ84QMBW4NP09N5HMJETKX0IOTQXGBEXZGQSI59CB2T5FCJ7HV04IFMCUBI6O357Z7A13EOVGAIOXY7AGYB5IL6RH89A52YHBLOAIVKZLYXO79HQ3VF8XR5EM4C346LE1VJCZWVN0KHSXFWN6IOW9DKUWJO8DAGGQP2UR2QAI95V0KD1HBWCB72UKSAPBY7KQBQOIYY8CP1OSM4GDVKRSM8VKX2706A6HRTD5511JGA8RNOYLCK1BMFHHKNBLFBCGJNF2TSZAW8FBW7WP7W03U052UXOG5QPB5N6XM2RVBO4NXZ6I487Y0MQQ96GJHI3HZQA09YJZ16D9BMDCSIW3J4N87C53A04QDNVK95EPFQB7HI58VULNGJOKEON1N3Q1N3MLUNL7Y2EDWULCK3V1Z3DPXAOQS5WGNX2L79DMJCNG5Z1HDJ1EKCJ9DUOY2VAGIYI817LPUWI0VN40ABZZYDUMXVXZCNBENK4UONTB2PA5IF7GXHYDMRM5JVXLX11M3IJ2CDIH9ROHOXC7ZR4W6V7Y8YSMKCVQLSKMKFYMT1HTPHY6RPD47VZ4TR1KQL3OT674D4ZNMYWABHHRB49J9JCZ8MBWMU3R34GUAK3454D34ZWKQH2FX6OORMR29T1LHQ9IHXJC9XP7DJPPP6HCKR7ZNMAC div -36#72ZBOP7TNHDCY4WV5QY83Y10ZWHKRFGY4DP1C795AXOW7LZ47D9QUZTACB7171Q3O58G1VENSU8NH5SXTJWX3YFS3IMDD6CPFKILWXZUOM1YKOTESHW2H9QP2DK0CDGVFSZN2E2TF76GGIH6NF22OPRHKZUDEWPZNIG9RYMEBCCI2XML3LGNHT33R8SX8UQ5WNKWX29C3K5BOPG80L8FBO39MUYBQYZMLESPABRHYO331SMGIVR3N8B0NKV4S2THYGLIWT5Q2I9RMO7EGXFVKZYOS6DWLTUHVXS36DUM0J9Y1XXT2A63TONOHQAWA6PUMFREWJ7HEKSEI9KVO60OU59TBMXXAEEQRKOUPNE7L2G9E0376C8G9CE5E51SZZ8XQNRGPTWE9KWWU9GRM2PGL3TRXYX08IXC4TE4PKAL3XZUBAKM3AA27OWKTOEXB3YWEWH9ODO00FKU4GEIHY2IYM2GMD9J0ECLUGH73CY7OMIWCPTFMK. +36#30X4TYIPZT7YSL0SD04N1PB03TTJSJT13UDEGQBIZSRERG2KGP = 36#2JFWLRUHVW90RSMX7WRH91252JLDBU1DMPE0KFS32DZAPUCQSTS9DTZ8UP4WQRGRYZ5PI7W87NNE1R8DL47LA2LYORYKWJFXUJF div 36#U81292LA5WJ74E0SDKPSF6XHMK8RCLMPKVVVBUV8QT23IJLLF. +36#26IGBLPRAW1CIPAB1877FUDNPK4XF5FA8HN3I1MMGQOM2STA4P = 36#1PHAPLTJ35IH3Q5UIQKDAXE6M6TVYYVW4V3H0KDK2NVPJHF5BT2HZGZOBBSHXECBHNNLJ0FVU2QYLCRHRK52JNN7I8RK62UEDFCV379SMXKEGL8KIB9CHD7LJGI9NVF7TPXNBDSTI3IANLS4FBDSIW8VT9IQZK70FFZMV7DM66GW6UIZ7341NQ97GYA2YT9I9X8OP1ZF31VR4TVXNMOP0OBJ4672R87N6FLXDUA215GN8WFCHK9G3JMP1N6I4B0DAQ7ZTB87C7GM1HL17Y62STFSS06W53LQD9YJUC3GW6L7CB2LK9BEJRCT1JW9DQ523U1WBQPMYKFN082W81OH0LOWIAJ2F3F81U3VMFV8LVMR5TULW6ZN3PMJLVH2IEN9JR9PIM9MQWBQ6AI0EZ801EGBY66AJEJVLGN568OK2ZCUBM02UL7R31QPWCYAP6XIXXAEAX98Y5J5GGHFLZJ89343VHCAXS9AI7KNKCQ52CMD986FIFYX5YKE5W0VZ14ZLIFIEBMZHA3QYTN6FHN0OBHZ2BVKYZ2PSO5EWQG6Q1OI8ZTEO87NFIXRHNPW0DA55EOCTK46BIT8Z9L6UEE9RIYQ74W77ZMDM1MAETEO0SK3B7IISIZG0XTA7CTXS6R557CVNCDO4L8K1TGE5LKN7ASSSOK div 36#S6UOZCK1H3MNSM11CTW67DO50KGGL5F3K59WWK6LZHIMJAW9FVBL7CK9PLH491XE5T5IB35VLM87LDXXEA2F763DVSKNO4DH0EE0GOOKBFAVWQ4P9ORMAT3SD8ANM19J4209IW31J7OFO39JDFVO9N8R0B25MORU8ZV3U1B2M8C222SUVJSE52T2V2A8EFPM02GPOOXYJYCUH09CZUGQWCWVUMD1B4RY0WRSJ5CL6PI9MN3Q3NIG3LV1R2MQQKAAK240ZIXS96O2Y8ZA1IJ9ZZ042WLPLEFE9K1OT6K0VGTNNM29CE0QRXYV641YP2QZU234T640L39WPPAAL3JJ4TDUCY0VLKJBRARBB3PEJLP19LO5XKKK4G0YTA4F0YMWP6UX2PMSG7VY01974FY76WZFKGNWZ4COPO3HUYKWKZ8YS78KZ1XJ37ZLT26ZD0LXJ1F5KRAEKGKRZ4COBQJTO2IILJV9QWW2M5YL0W2YPN9CQJ15UACJWLW2BGN0RG2X8KMPAGTVW77UV0OTJCYSNJUARPZCPGKVMTH0XES9K23IVEPRXD3U3NRE0ZX1DURJM5W3YFVGA6Z2VGW93H5YBBR0ZCIJLSHL5H0S7GGB8. +-36#1G440OQGQ0ONXOYW6S7HVNGMEW4EKYRC8CJ56JC52FMT1C5WVG = -36#PEF10C3RTX2ITBY6NSEJBJCQMUG1RRZR5Y8DTXO5EMQP7JEK4Y6ZPUKYAJM8JN4XHN95WUM2N90TSRIZXXVCFGFDPCL6Y27C6S div 36#HJO5EJARPGKHI4749A1U7YSSHV4FPXNFJXU27LASZVEN6J3YV. +-36#40H1S6TV9TKCIC5RHP3AF5PXI6QLIPDNUZZM60T4AZKQO9JLQU9JJQ6SYWFRZO0AP0KBEBDSRTRAH3A76MFUQCH8YUVKBGB1KS9JI45DSIKEH5CU = 36#U6QTWGTWQW4PD4LXM69YEJQZ5EJIBL6KSPUSF8O8UC1DYLJ6KEMU4ORGL4Q3JFX * (-36#4SAIQTY70JE2AKMNHRMILEO8T62UK3ZSA8K3OA1LU4VCQGYAE). +-36#80SM360D62GI3C3CKR5EK9I2LV2OE7S6SPFWI1KMKYCNB381X4E4XKO46E69H6E958Y72GMGHVD5ZCH0UEAJRKCT1K4L6X49WFIHHWSG11FJDGAD809VOHFCBI3FMWBSCS7A5D9QYGOYOEQ563D4R8Z6V5HEMGRMJDRKZACQJZ56QI0GGN4BQQYB16RG0W8UUZHNRW9FNQN7QSII8UGW4H7927JQOJP11XEMPTZZFHCN734PNTXVQ4HRUQB0DUZOR34PD89WNRRMOAXQCE33JAVB4S3H7RC3PO20DYE0UZLWI2H9QF10OQNSYTM5R9P5S8EQAEV6W8SOBMSNGNNNUSB2UY1L916Y3LM4GUQLV6VRW019T02AYKJ91SWV2GGRUY2VX5T9G4XRYT2A44YS46V5X9S3U5WW55RFMC6QC1ZKDAL9UP4DARNMND08WNT7A1HZD3SFQYBQ28P91A0S141ST5RZIFBUXQWS4RJBLZQ1XMQOWZ8H80PG94Y347U6DGLGMZG5AYADF6R4S87U5OXV5QQTMZTVTCY29BAW2R5SLD2IMT189ODSHJLK1SS5VS4XQQE7YKYZ6NAG9IQR2WOWA2NWLGAO2H2EP7SP8W7MM3Q7TQKZSPJE8PXBCVLJ7I2M10IAHGJQS9IM2KRCG72CV3T870IIL0IUS2IGEPS9NQO78DBX7S5HOOCKQ97OI7N4X36911OLRCFC7YKI = -36#3ON3PMVLXDY62CA492BQ7L86CZO8P9FSA4I70MPJMF9B4YZNH8ZKN43OWIWD83MV63R8C1ZL4CMOTS8V83TIZ6KDVP318VQ4KUXZR39H5OMEZAPVTYEXB6ARIE8WE46NOF8CVBB27MYWQ6ZZKS0K67MH6RX69CHR03YPTK4SU5MIDDBCZ42D11WV8V0CEMLL0D23VMA9LF24U05JDOLO6TI8URBBPIUQ6J1137XUVNCS7ZC19AOFKNUCFMXI9XP3ODKCK3TFI2LE66AS9HPMLFYSUQYCJBV5ZFXM7HXIVGX0RK5ETV9HQTK02ZVE4VR8RK7MXFRXOMEW763PCVUMQL1GI0SZ7H4RR7GD000VZGWL5P832TRT6DC4BA168QTKJGSNSSLTH5LU0P18Q4NLVYQW49SUHNXRBC1HRE320BNF9WBVLR3K4D6ILJXQJUP5J3Q72BW5G5SM17CKNQKR3P7Q9H83F1LFXS9PYFH6M07SCURO88X64R6TZX2IU8HC89SITPGH2EBFYA9XHI5G6WUKTFNUSSC3YIKST6X7YP5U8A5ZWPIMJ8QQUS4OYB8PTNKXS036TD8KUG3SBEOHYKHYVURMJ9T84YQB17YN7GVIMW070163QD2YI9NCE023Y5EVV8WIGETZ6KAUHBX1626U61EXHQ8E5QI * 36#26DPZ2R4BCTO8P2X9YYMV6NOYGZVV8KSXVWU9A5E8B6910IC8D. +36#2RH39KMTCYOUVQE6NN75GRIWPSS3GXR1TNRE62KCCY98LJPZLN = -36#7HJT7KIOA5LSE3OMNBX3CC1Z42TRCS8ZPNVKD1U8YYVWJ75HFKEXYP7JEC6EPNT0WDLK92RX9IUQWOAZ88EAF9T44RM7BUFYPAX8YDXWBOBJTGWSXBI6H210325CKLIXLRIKH11PMDDONHHU5F8NBF17LPRMVR5EXV9N3N5JREBI83OEAYS6KBKF02AR0O4OYK3FXB89V8VG0KGEEM9R4A2BWHUDCCFJBU8VYOPUOXO1XM90J08HNRN0EK9LS7T5Z4D8FJMJTZRN7JVMR20G4RHPGVS78S10CF32JT8LE8NOWES8PBJD8Y1BJMM5IF3FI72RAK2Z3UAAZ1OBU611Q37MVA1QQ7B08PWBYVRMJ2S50ZTLJSJ9FBC6O1TIQ557O1YKWR7EPRHGLGXX5QKFZS8HXKQ4XJ9C div -36#2PJTGDZGG9NSDL7B4431BBOSKNE7AYWB5T5HTODT7FWDC2C54PMRJDA9YZN4U8FT4BTZDEH43BRC7OVYUDTF5X9B3HQTHS6TACJYNSE1XFXHS9IH4JJJHAEHNF917QPW8ILBS1ELPBR0ORV8Q5O7EMFFOVTNX9WVWB7HKZJFARO4P8Y2U7BE7LQDDD7VNNO62UK0PI9Y75K3P7CRN7PLMN8TRZ0EIKSFS5EB6NWXLQCTMCTZ3OKFC3RGYBAXDBJ35XWQ8DH36ZNW435WRRG9VVGV4IH3PI89TDHRZMMK07JKP5DCK7YNF49CF7LLABIE1JH5A9YBGE1EWKKIL7C8XL0PPPXRYTHQV3LVMK4ABKIC56O. +-36#1GQ26TOUKUM89DJWDPQPJAT575XV4E3WDYXIZPZ9DW4SC9SXWXKJZ5AEYY2ZYJGLVGV9G4T7MLK9AEOKVD9V1OVY59ONQZWCTZX0BLCMGZZOQ1DDPPT6FN9YMAYAOATMB2BER5Q8SM2TZOD2S48W79SD24JE9PBWT50POJBPLZF2J1GNJGTGV2F947C8GCXCYED2WE4DI8O9SYCHITHRZQ2ISS8JTIT2G45BQ4HB3X8PY6XYC7CU1LWKSAEITM1OBFU9A3I6XK4OYNBD2WI19FSPJ4N6KR10WKUIAMT1UAVKLR7LDH3ZU7F8UI0MOSMPRAP83AD2EJGH8W71NUKY7GE0OSYCSH3YDA3OGO4M9ECAF7A6 = 36#3BTVMJ03EJME2286OCDG9BKCX50C3BLFQR969L9C1R3WRHVSP9UX7IZJBFNF9P2TYTA76UXOJ3QVBDGPI2PA1AQXSP83N5O7Y1H99TVH18IRNBI95B9U08FSE74R83YJSC8TAPWDRZYHM453APKHP9CF8858CCVATKXOW3W71NG7JYRU565I6VU7K9U65EJXK4273SSG4T51T5U0QCWAA89X6KP6NLNBSAS5FB6LPMTB3JJZG2QBSSUOBERCE7K7S7C7ZIF3NS9TPEBGYDE95TH7YMZB9GW3W1JWEOGR33ZYPCEV8CVZ35UCHNO8YPUBWN77E9IVUZUSP4Q9CKCZ6OPKA6AUMKF8166IMBMK9LGIDP47JLGCKFVKLB9GLUY807B53GSQOVR93ZQ03W1PWK4ZBRZ0756PC div -36#29TIX1688VU5RBK2GW4YD6AG0ALGLOGC4UUGAX9HHMRELUW3MW. +36#GX43T93HFC77DCZJQVI4Y17ZD8BMXX3FLKDLYW6W7SPJ5IYMDZ0E57IUS5V0GM21X8TXPY9AZ6YAQ96X8L7P1NUWDFHQAF7GV8 = -36#Q00U6XBP4VIQ6MTYU9KOLSGKGO229PT63GSD1GND60FZZ4638 * (-36#NFD8JATPXRKRJ68AWSGBP7U2NKO1XPSB1QB856OVH5EWWMQH1). +36#9I0U5JCB9OZ94373NY6JHU5USTHKKD9NFH6ZQSA8R6M1TRZH35U26KTEAN3K3DU43ZMGV7TZEGC3OM3RPGZH839X7I0IE39OSPZDMD4SOFMHCBBOST4MM47F5TWPNXFKHS83756OFW2HHXU5K1M210YF3DBDPJH2KJN876EYT99BMPF2N6VXKLTZ5VI8EI84IERUXJYP4GC72ACTXSI8C50H7F4A35UOYKXJSNURS1C4BDL2S0F1KCDQ61RKMKK9023O74NT0AF42FNU3YBLUEUH2IL = -36#3XUVOO1BM81XYE12X8PG8ATL3BM3DKT9BVGELJF4D9VTX4Y8L01DMAUY4JMQ8LAA737ZJROWX0PE88IKFV7ASDB3LOIGIWC0IIM3SECZDYYSCN7858TM5119N6BWBT7GKA7Q1V53Z091GZBCL50OS40J9BKD3DSUI6UGUBRJQC742XNXEAP7MSAVZW0U751BDVKVO9M4VCTEIFDQMRG1X02C4EK2DYU8GU3JFMORPF92UZ4LQW1WLZIN9SY5A71ZHUVV4XFTVH5N8YCQKQTBBMGWKW4POMM96H97X2X1YS8SH9DS7076AKF4ZPNVP4WBGLKOXKFGIPBRNNTR8POAEDG4GN11RPSL70FNMFGD8MU div -36#EXJ2KKPHSWRH3AXZMNEITNGQTJPXFN97HJYY8K31QWWMQRMJI1RT8M671ZEZSJKVVDN4YAX5JQT5TL7Y. +-36#4D9QCPT56SM0R25D6EL8NX3JURNRU3W6VDCS07ZAWKWJ5OAERU5RMTUN3QB8AFMQA2BFD963HC6FMEB42KXZVNZ6I40ZAK21OSMP5VF5KNZ6ZQ05F8Z7ZG5BGYYKTTX8PQZPIABQ99VSDFPNX7FIWTGQA6RMOHE0BGFD26A7V1IQOC618KSIB2YPTIYARVFTJY52GP2A1G87YF2G1K5D73GV89Z1WHY7TMW6WSWNOMSDF3Y02O0R4U5HK2UR5MNWYW0S8MXGR8YIGS52V21JL0S83QES3ICHYFZRLTF5TR5NWIS7TGIAW07AMK76EPBFH6ISXBHCRYVEMIF47I2UC63NVQJIM428H73PP7HVO1ZENYK2DGEA = -36#266WNAWNDE54GXUSI1Z88OYGOV4A6DS5LOWL3QX353VVXO1CRB * 36#20EP17ECNO67STZCC9KT0C2I3LSDMLVLSS137OIZBLG7M3AO950P6O42VHHBS0K0M1NUL4MFN31AW93I6PUCIO5XCP1M6DLTAAYKKORC53VAE5IV17QOPK7XNMA6JE08TG36KFTMP04DX4ZB6FFW0DEHE6IWSDCUUFTNUSZKKNYBPK6SM7HHP5AYZK6QC0X23923NZA88MJWIQA5RPBIQQQQNWWNF6TXMU7F35CRZ13JBQYXQY2QMKQYEJM1C010QZRBOVYR7H66SRDUU78LVZVLWVTJ3PQKJXFYSI33JSKLJE68TGFEZ4FJQMQ5XFFV4WE. +-36#1S3MN3EIGTMZEVNLORDA1AO0B156MHF2A3SC4LFPLASNFVG7FE = -36#147Z2K4DZG76XMD54HHXQE6MCA8Y0O7C5SWBMSPFLP5MNWRJCBY1FBS18F4DG2VZ846DGG1VC29LXUT3K94GKZYGKLHQ38K9INQ div 36#ML7D7S66JCB04PSB68FERNAZITZJOALIQJ3HG9L7D8RB395C7. +-36#2NWLBTTO81EQN9BURBZEI3J3MYS5S7QL8YVAG0DOBF2DKI5YJGYYSEURQ0D36FRM1GEC1W5VAG2KIU99G98Q41NQE82C0XFO482O9O9LGFSYUC19O6HCKEAZME63JK8ZNFSKX2ZTYV4BFMCDNGWRR8W626A1IFAO9Y2CRH5Y3EP75FLEPHHYOY97HO3WWMYRHILXHHJ0X52HBE28DJMI0V86IRVDHB2NR7GY3DS1NC8YAC38Y3PFY9C4K0H759CX20TZWRB9I5DUO8VSYAYQUDLUNI04K4IN1477YJOPMRP2R4IAF490H808JEJ10LNXWBU6UNTCXAZ70L9Z0V3HSB5HDFRZFGKVQRO8JNAIIL0K1VJFJSZCKKX2UC4GN61648X1X4TK02UMQY0WANNR6R7UAXJKSC3PXGFWTB7R7NF1H9R78Z4D5TGF9XO2JL8RR0QACHEO0MZZXHYRHFGJD1X3EPVF076ILSDAI3GQMFTCDQARTG9VHXGT5V0CZZ477NZVBP321MA2TZRP4TAX4CK53MWPK4H9E91IWQOYAYHTIVX0Y35SBLWQ2MMSM0JKMVJ49O81GAU7NKUKP69HA92UBZ1IXCR2YL6I1H3PXD6SUFZ1FBBSNJ1943REWYAK9E8HQFDLCJJVHBMU47LRLY0A3FW6VLKG64LE4ANZQFSTAY4NSK7I2PVMRQ09PPSCIGMJYGGO00VGONSOGWP0LG9DKCYF52TR2GNHU4K91WZ1TKXERWOR9SE = 36#DF5TUEHFAPZZO1MGI11L0MSTGB4VV40OHSTEZAVXTVYMLHFCTUPNCOPMMURGMVPKM525NVBBDR8HN3JCDZ6NACYBQGW30R67EGY7UEBYSYYKD60N9DQ3B6P478XBAT9P4V06L7ET8K4N718BNIR1S4RL2WDQYGIA2CQGMK9A2SH4OOT6UVGDTAOZURSYX46FEB3HHPXDCOTRGWZQOACRCQ9X4MR78ANKG60KLSO0MX3VZ7MYHVOXWHCW9Z4CO4PDU917B3MFY6DS4NTUCW21X03P43TVA1BV8G9I7EDBTIAKX86ESF6357ZNTX1H1PE8YNUFBD5E6PNRX96MCG0SWBDJ5X71LSONJ5JL9RBL3LT6BPZFFDM42BE8VXOT5OZAK83EXAXVN4YXNGA4ZPTQCBOKXXURQ49Q9FNP5H07JGCAX0UEEBAOWOVTIL22X1GIA2MPBDFRX1D46J59RS20PQESU9CHB4Q * (-36#758ZSSOLZN02HNPX2NIK5CM6R4AYM0QLMP7GO6K4SNRZO9YE0F7ZBWVJY0GX4YQI7TX5Z90FUMKF78VJ8BHTPQ15680DCB17OHD6F0LAEYYBYK1QW50FNVDVUUHLX8YQGJPKC6UO7DBFPLDZ5CRPTK2X43KLKX4EUX11IPXIEP6GVWL1VMUP2FKCHLL2DHE0F79WHLIC13RQRUOSPVKDHJOQXVQDHPXJJCZJOJ3C2R6V9LF0UXGAFLQHT1NIRV3RWLXWCIWFJV1BFW3F1SE4KG1V). +-36#77RSGD89CYUPGLFQDVQIMNB23P618NCRVEZCJZBHKRV2VJPP1XF8R3JVHHSYGA1YKIOH3BO1L57G4IGVYC8UWXPG6MRORI2V5G03R0H976JLD634R75B9ACLA61HABIUVRLOD9VQPHFD1UWMUYYY2V7WRTONMDPT7YF4AOCXMJAF54PTSIU8FEMWS70Z1PUT601PXKMLHWYU7V2MVLLSRALD5HS02GN5WCDY9VTY75IDNHCQ7SC9A3W2H08EC17JYPYV3BTWW2ESH0K0W3JG9IO7YY6FERXUYGG56LH45YDPAQ5NZHYW1X25PMLJZMAU35JBYUGPYDSV6H7CLQ56LIHBHNAEBH0DSLBSVZ5WBZQTICUILJ5Z7Z13UF1EDM3PBWLXCELDI6HNA8VG593AVRRROF84WHLPA1CY19UY91ILQ7DLXCWYSAT0B3JQLVBTO58X8HTIV3FT41B2ZMJKT9LVEIJ1UAMOT6F3YRPEONF0UTRWGJJ6USPNNK9QFA0DDXNGYQ5CYD5VEHCPYV6W9ZW6F0RTBR47E8FT2JFFRAXNSSWIFJEJHALGL0I8CLTY5GB1824T1IKIHFW2RZYCXI6NAB0QJTEZCH6DUCUU0JY7AOPDRVRXKMED1XT7DSAMGG92JMHT78AF90L4Z4WXPO7WA7OJ6NOSR6ULZC3XBURXCER9GK6ONNM5VGT41PJ01PWYJ9L0G1MTE2MNIY88Z7I0M1MCW7VRXSNNIPC1V4WGVH7QCY2EM4ZNXSOWWLRBUWAOSVS80LJJNRS9E4VO97LLKLVG2H24KJ7J316B6ZSSWQTSWWBFT5NR2MBM8PICBG5YAMDO2W646II4F5LJB9CZNP8KF9EJEV4XLQO8OU9N57T9K0JNZGOJWCOQ8XCXBJNKE2SOFOU3VS89R7K1VISQ79YK43BFELV68IRR5LDK1SN0OKZLKUAOXPK9HKL3AKC96XPJW6UBZ16UD9AQZ89H1XCL4SOOA2GFO6JTXQKOE3DSKLPZAS9NPL1NL46WGJ9LLH9BEI1SHA98LTL079YB1KCMJHBX1Z92O9W7P4DK3B6R88CA6BRT7JD1KNWUMDLIUY2FENAOF43U6K3PDUPR5FAX0H8LEDBMFEYWSVJ857G10V0RJQV5K0OAZ07S8HUJ1Y9UOZ153F = 36#106J2NFQ3BRXB2DJJS4LJVAAAUL1DDDT4C2G0L65UARVM9FIPXQ733YK3X2EC7YCMUNZHSANHZW2FWKKWYL0IODX6KJ4KBYIT3ILV5J0N0675W2IMA5ZZNRQ1GKZZGYGG95MTWONUUOWI9HVFZU240V72NIQ4VVBRUA1QFJC3D25XW265YH02DWEESM4OWBIZIJU8XD74DE3DQL3VRERTTA0MJUYOLHX88ZWKRU6AVXTOX9OIHHJBJU36N6VQ7PKL3YU9VPBAW8QF676LSZ1J1HNG2H5WSEYQSHFH0X1GA35DYUUSYN8MA81CXQRCR7F9C4EJ457DZUVO1DPKLEUMXJQ8JFSU1MZHQ81XSL9CCGLDWZCQ5FSI27NODMMUGRE7ME6TFGPA0DYK3Z4K65FBZJHKANX772QPDH0XAUH5407ZDS4YVVVZ512ZP1QD7GF2I0L0O80OAXIBVKTW4UF8V89IY72R1LK5E8LEGKACXGNTACF5D3XS2465TIRR83T36LEXTV9XWCXNMWFP0KUXSRE5064PFS1WTCPC1KXBYU46KFFJCEH91I4TZ3M8XUYZQ7E42WPF2VPZL0A8A9XSKX3VR7AL4ZGPF8F74GB1J07GZYV4NQGWQDT3J1BJ9RTDD6HKJ29O36AL72JI3WC915LOZ9HOYDU6TKRNBIMMV57DSCBW2XOUJFCQ31RVD0G17F3UYLXI860AJA6P3S34IE1X3WNQR23BN6HL2Y9LF7GSFUVWCBZ8FV6Z4OEF4KUJDOLHUU9GGX1ETDVE6FROSKXPHXPFGB9CUQ1ZP6U5LKZQWIDP90INKLCIR4SRJE88HG2VNP175 * (-36#76GWOYLST2IL1U5L7YEV7PEPQ7OHQ9FV2V8HCF754A17GZADVUNTF382GNJGGAEIEYL97QJWZ8F88XFQ33IEL13NNM4MI8WTU0XMDFK77QNSL8BU6730S28RF5JO8AZ6JDB1Z6Z339II2FGRDNL18HBPDFQ6Q9NPGCXH7QODSDFOZ3RDUROW3OB8B39Q5EQP4UOIPYRUESAS7PZ1RBK3HSRIUIFCT5STHO3NLKA252GR2K1SJ6LRL2ASE0GJQEAKDOJD87FC1838TI524YK4ZOAPPLS1TM7EO9NPA988D41GYWBPZV9CF28NHSLI8OA8CAPI3). +36#L5EM397KCQT70PEKTFIXRHBUL15RBMSF6DM8BC5PHUFNMKU549TRS1HPCCWH7J5WCP6LFE4ZVB9SPG7HCAHU3MB3D6603MZ19M3JGIYQWYSDABCGYPWDT4ZM5OFE5XB2KC3QIWD1Y5MZIBWR6LDG8KK9BO2YG9TJB8B4BM513QT2WUL17VA6N87FNRXSXX8398KFQDRT1P3GBFPD429CSD2BWMPEB7N5X96KRYQT2SHKIRJVTNA2OA8D7F3RLBMVUDBMH7QBW5YAI63HPKWO6U7SKYDI3U7SHXPS67DAJY9LFRQ22G80TS0SRB5CTFPYYD7 = 36#O66CIA0SR25E1W5PFWXLX1UMSN39NGFWJRQ5O9GN5R6BB5QBACV7PQT1DGAA8CIBS3L2XDJC2HQYVOOHAJLE7TVTINOX3VV0FJ67SSF1GWSQ3EWHAFEDSO798ZACIAF19O4Y8FM6529GKXWLO8RM6X0A5VK9O2FEBBKWCTGTK3R3IDXCC191CVYX3PW7GF1GACO94NN5F9GTEG7QSDIG908GQ2MT1DPSJWTX24OC9GSO4W4Z49QM075FOZ9NZFEJCJ6LDGR9CU7PNMWU0WFVB4S5KTGOM00ADD76GQNLTGQKJ3BNZ9YQV14O9XOU6O255DQY71Q1BV5NQNNXHO33BN792Q013D1CZRUYRS9209EALOFH2OYYR4TFCHO7LI9YEH5B9BP1VD00PO2SZFOMPHLBJTLN36CS0AANVQX3QRABFAYX1241UULUU03SBJVKOICC82L3N5KNHOK7AC2D1J5AZD8LYTZ6XGHYXF315HFDH0J4AYD6NI05G7DY0BNBZ20JYZYVI2ZGPC2IF1D6QR64654EKRYIEHPTIMVN96CJELYCGDQXPIDW3YXUQP6VQJQW8WKQEFNQ5Y09Y1HL7J9DBUG7FKBICN div 36#15550YUH9M0DC5B11FJ6UXL32IP3ORP2ST3HU6L7OSFSHOZSVPAYP7LQFPF88M87ROJB9VNX6Y7UI8Z9U65K59ARZOA5XUOY89FRM4UD1NZ94P18B6GDUD1KZ7N5LPOP8766EWKT31VKOLG2O3U6YVF51TV8CV2R99SXXWTKIXUJQMB62LTFS4YCPYC1IR8EN6890G0HUKOHN5EOMUK5YBSBWF4W9PW9ZVPHJ4VC5UO36W9TNUT7GB33H2T1SSQ3Q2F6YAJL8OTK1JBTCBFYE8UE7DLFUJET. +36#LO71R88MF7JX4HHQA3J4K5VTCMUCSA1QGQRXOHE8QDKV4G3UXWTPN78RYHAE46VC1QYJ957DMOTQIAG3L00P8VTOV9VD0YDCB145OCYJR8YVTCINI17GLEFSILKEZNR11QSFYP6HDQMX53KG3WPQZPL8C5KP2RXRECBP433C8TAR23PFD8Q2W8SGPYCSZ6SLWU1SMID28SF3YDSXAJWZXXO1LQABZTBXOIIK7J0EAZ8MN00RWRNYYG6ERN1IKC8719P1TZP1OQ36YFS99K2OUYHV2GZ5WUNYTPNPZ8TWNA6TDW784ZRE7LRW991MQQG7W8FGCTFDOB9MCEFM7842U679UZT782U113FD5H8727BL7I086CKH7UEJO6DVTH19X70S5NL1KDXY4VP4KGG6HFWGV52VPN8FLNGSCKXJZ4FMMIO8GFEWAJZSK2D6KLULK1Y265RHFOUNEDI0VF2ZN45FKENF0DS8EE4R0AENKAWST8SONY4L4PS9NE945YBDVS0NHFF8QBUGJP9O9KOP2YLUHKH18J2LXWSPF0B98WVBE3W6V4YQTNN6I1K6RK3G10Q6WBQBD0X = -36#3JEMYC1YDMY9TF6FTBXMMJBE0OBG8BLZIEVEHJYF0BY6JMDSXOKHHOMLJ8ITCPC2RZTH45ANI0RR9I6DVZBLZHSRABY6CBM0AF878F8SX05X9TO90HZUW6MS4QTMI9HUM7AB8BEK3WULDEIOHT8JX5J4K49C9HU2YIHM5WQ5ZVH24PIHEAZDPZLGOQJ5LCX6H9WR2BQB4UT4106Z61GC3O9I582S613IKNEFM88W6DMWZ8N5XGADNX1W7W2XAYQAWFRWIBCZ6OUKQCM70ASA9F5VANHD313IVSTO0JTN2S1S24UQ8D19CLKANSIEVTWT43M4L9QZ5GNKTE8WRGB5A086NF8V9U904MT783G308HVQ0NT6QK4AMMH1QBTC2D8B71FJNH465XKQW2APPUPYOV * (-36#64G9VST9O9FYKOJ6OSOVKT3MWS1TBIA6W0F20UNQ9Q7TJ7481PCME08QJX6ZHEVPXMZWUKW4OLWR5USGXWWCD7B22XDIHV0L3DBOLTZ94VSC885MOGZSOFC3XPA04K547RLHR31GKY5K3ILZW4KVJWSEKHZSI07LOIRVEU25W2RR8FKLWLCOF). +-36#1ZK4TQWS4ZUJR4KO4NC1JUVRF86MEUNNK783Q4N180QWQ337L2 = 36#WX2H1AFPFQW36RE1U82FVECM3M8W38MKAYD8EBJFBKR2IOHH0R8J5C5VBM52UWI1KUGYXEZ58XU341NSECXKKFVQ2T27U8QYHAB0BFJIWDKTI0X2SQ6YE01BEN4HB7EYE7EDF8NVRW28AXHD1Z5HN0BL15MJP2QFUFHXJH8404U0DV7B0L3Y74B6PD89DXNQVV6L6R1NN9P3OP6RCX764S4124LU0LUJ09DYAAIMJABXOBTLRMY160VRTWPTOMV6O91RM5E5KA3A3RVKBTDHE7CEG4TXDCNMVCAAGT9LHWKKRFZXVB1Z56MU4GEML1S6Q1VKEA1EC6IMA4YLJ9SUQNK9U31DW div -36#GK6M0UOXBHVLDCWGBQ0CNDK0V3NS1EQIY2DMKHYF4X9BP4ZL236VBKQLNWM0DHW2U7ZS22BP24HKG5T94KKSDBGAW9FZFLFNT2762FNJKK93DXAKD6HJBAMZBX2IX1KXYGP3DC4AZ2EGPS3ZKW7FEXUQ6V7FC2BWK7CLHBCDCRYK8LDAT7G58TRDYBEEUUB3EPEK27E7A2RRF78N16N404BB0DHE5ZPGKBQ1L08D3IP5RDNLROPMBZ88DVK2NLI2DGQVQND61SMCQV2T6GWLL2ESW65OMI9889BNI76CVB9Y. +-36#MN4PF6EAO24VV8605P233YLV28JH90HTT5T8GEGCJ7WY7VPP3Y4GHMM1XPY85EHV6I1BQ7LEPEVPL1XMIORSEW128LMPLVXXZFSKF85GNI266CXTM19A8D6I5SHWSYB4VY8WRAOJKYCYDPB77140MQI7TMAMF5RFRAG44YD9NCZL9I9R2WEA3IVCD8Z08YMYP88YEW81UVCOXZ2EIR0THLC4YHOP03RK3XYAF6IJ6D27DJ0S6EGDLB6243CB6X4FIH9OER4X3J75QMBXCXA94KB2RODWJCQPZODMOL23X7YD693AXBO7GQGCF0PBINMZXEZMPRI8T876WV6E78U3CHBUGKVP6CK8X9TLCCB4VTI8UN3FI2AS5EWTKXPPO8E4AZ6JPSVCG73SXW50JCFO3Z50HPY4YWTWZLGHWICO0CC6T6VM4RBM281VYINAIKC3HYQAP4WD3MPRYS2ZKHIPQLJSOZZWY3F4334BA5XO7OAWGHDYY34540LZ2K0O06KPJU0SOSK580IBQYNS8CDDRLZUHN8AE = 36#9AE6MQTJH4IAZXFAHQ91XSYT7RIX6FN2K9YUGTDFBZR30GQB11V9BAM7Z19KVKX3JPQ2DRP32H4UCIRQWJ3DF3I6G9VWUM0ITRU1F2ZCRYVLX1208OTR382KMMKK6I3B3GKOP3THEZPCQF6741MQP6933DVK8XBAT2PWXMGRVOCBHXV5TFAHS5S1SR7HX4YBDTUH03C4KHZ8RUOK5XHMJIX7KROHPB40C3GEZ01PZ15YL0DV0ISRAAW2DFLB1MQVXU1DG3JUZ878ZU5ID98LWNK1NV2IUAGONNTCWSHMCRXE4EAPLEB7AEFUO0B6AO2129VD44SZBFMC9K7CZQG90V8ZEV51C67WEZ8HO4XCB9MWSSNURWHYWFHOKQHKCO7XE376XWG5LV4DPBBDUY5GUBQOY1FRRWILJWATHO1COAXDVSF3TJLZ1U42ZYQVKALC2Y7WTUCRS1DXC226497RNW7B659ZQR3XVBTW33WX236A * (-36#2FR6BPYCTAT1GSBXL8G371VTFETVAF88JBMTU0CWUZ7OPNTWJN). +36#IWL88CC88WX017S60Y8P2S3SZBWFQYSCN1WZ3CWKKXMRTJD9X6VG8NOMRHFOTXOHV1GS54OSL3NDFZWSK7EX1J7AYL8X4S66A4KZ7AZ5XC3X0BETB9BXA1YTEWLIL2227BJPY5SS4SFU7DBIQ464DTDKD5JPEZKRWQPHOPLED7XZGT9A9KKX37TM4R0TQCPB0YJ03EXLIJER0L4HLZGZK5W2YAMCTA73NZY3QW37BSK83QE65RTNZ9SWE4R3XQMLDUQZZLU2BI4C7Q50G4O0L8HCZHJCM6C8SDML947N0GM305N021F0X6IU27WIB1H3WIUOAYM6XY44BDQXA1LE5GTN7EH4MKI6GC2MFX4QGNCQRORQ4JZ37ZNFZNLS1VEPMMTT1HSP20UW6AY38BD59R319ZWM954JJC9CHK9L7LMCBKK2RY1OE1CQPZDYJ0EIKZ5G7T1Y7S5MANBVPICIUB9WP7HX6L1BU23TXS4JMNYYKNRV81P06DAC0NGWJERZA8NZUPIIMJYBKP1E4ORKUX1VWTGZTJ412OJ093IV2QI5RL9KSD2YFQERFTQ8D3SHA8BBAX73GRHVL0NNXIN8N0OAQELAEUJZA9MXHOFUUO7UJ191UU36O2HF1IAWEEV6ZQGWRJ6DVUA1WNZ1A7F2KMWZETIBSMO4YC4CL334RM6PBYYIX9JS5ACZP2S6KNQZTE5SVWCEPKDSASLX3D2ZCKXW3GD14WM2JWK8I40DU9BHM5958T66597LSQ97W4RDPJNSGJV7RSK8TGLZ6DH5NKK5XQR92P3TCFK02WM75RX9NMQKEK7JN8LZW5XV4KGDRFKD5ALXZPQ2XHI6ON3EOF1XO4H6P291ZSX1W00ARRRC2MWGWO1R0HPAIAFGLOVDJ11UEOD6S9DV7PZORVAS = -36#2XOW4PC6H189E188YGPJNRLCWLVAU6VA1YI1F0DLVEFZSVU6VU7PVLZE04WUMFO4IVQL2I5JC1SVHFR2Q7XVU44X4UOXNFRG9P5XUC4TVNUE8TLT6QXDLMGX55EXI0IH63K9NYQUUEE4K3059365MY2BBJ6H2FWCOAZ931ER2NBC4K1J6Y1RGU6Q0Y6FTKLQJM2FY6FTZJBF6C4RSXYSXNYCNX3N9N0LE6REXVFHEJRQL3XGQI00DDFSHNF7AYW1OR8TB8SBUYLTNK6A6VRTIE426CIT5NN96OEAIO4FCQIAY49OOQQZ10H7EQ9HTOLWU206EXO0TPCZWV010PTC0EEONWA5FVRH4LHBCVW831H0GH7U5A2NNP70PN6R4D0I1BFC0RRZO1P8O02E1VC1YXZ2IGROFR8UIFQMKSXTE6PP9C464DHXUB1ZZ3OPP0QIZN37V2APP3H2ZV6TCXL0DLYQ73Q2B2EJFIMKR6PVD24YYM5MXRAS80M97UL55LRGYQEBJKL2BW08LHXPIR4P0K74VG3CGWTMCR4AHA982D9V0CE94SL6QTF6DYY3HVZJ219H1G752Y382O2ZDE34TCYHHFJLA52FW18GI5PQGN2ECCCAKI7L8LEY9P4ATZFAWTJ94HPYXZIKGJK7ZYO3H4B1FOW8DVTPKGJY928HYUZAQQHO15WQIRB2G7GKRO2C3RMYII4GD35N3HUC077PH8ZSW452XXS6M2L3T7J4FLQTI02SBR5S4L95YTODJ75QFPBVQQ0ZCNGASTKYBK7KGS986GQLCR2UZKXCAP6O9E9G53A1XYPAFRRUSQP341NN3H86H6VEZMDTW73WXLF6MYLCNB2T8BORPM5TRG7L5B0HY7XDDTAV9QGLT3SZZD8ODKKOOZLP3377IM4I8ZQVU9Q12X3RSYIVQ7KZ7WDRAPVAF3UDIEMJJLEYTB2Y33JIZYGDDWHXGO3D3PJMTBU8829FCZU0PTBMO2KA9PF1R1P5Y6PV14ZP0JRV7TWQ5FAJVRICXHHY4W6BNM6L7Q8XRCFBY0G5FQ7002KZ9BK2ZIC75HN30AYXABLWFDZ4D6U7XGYD0OGKBVNC88P9C309JPTVIBTTRV1V4TB3GM9FD21UVH7DJUWB9GP94A1SYR0O0C6OO7DJXBIRQ5YPOFNLJMMN0QVC0G6JNTL3Z8MRA0UHNP5JSSM6VQ3INASXPEFZ0A9FLAEJDTKTHJ8W1WIDKTCWFWOMPK1XXIV0B4TLB6MCNB1D9OW93958U5LV0JSE5SXT6YUSFQYJDW3DPYO48FNC4D5CHWP1E7UIUMJ060BWRCFFFPYX45NAC1WONWVJFAL2XU1BCSR1H5R3F5C2OAE8BU0QCS56ZL2OWP16LFF7AJNBTT76FBXR9YKGNCNUOUCTES9V9JE7FA7XISKQSEKYN1EVV4MBV18YC7PZOKS1JC1N8DZLJ20WSKBWDNHTYWLECP75IOHJDQYT7VUUU1EDN5FOOIXHMHGTD6BDPBRJTKVDT6DKDP5KBMARHPB9AQ0819VZR4N02IEICF6TU6GZH2PLZOP6ZS1ZKUNIUM3UBUDD3XGEB87IX1L18APN1T7VWS6W02XC2GDUZ9CDUJIMSB4VHO8GQVO2ZYJ4SBTD4D4DMGWNH2MDYS1LE3PD4X129WVKGEVOQ4TVNDN4TNPLZNWIGZIFZATXNAKKZLNRZVAW8A1L8FHW1XIZ09MHVJ1JIZU72UPFHI6QVUSPJMRBRN7CQ9BXSQEWCYJ951H242O1CBGSUYF2QDKA786S2Q4XAY07YK2ZQBQZJEI1VNH5G7JT2SYMDEEUI0TS7X7WGNAN3I8CGQ28V1WMWEMEL7VZPTAPYUFILD0HI3AT1FK6BZHJBJEC7QYQCT8KQRRJ3DDFTUXDG9G93P1XD3WL14E0RVJLAJNKPDZBTG3ZXWY3O6E5XW00N9CATHBXTCAM7QL17C2Q4WPMNU8YKMORAHMTMSE92B4HATGBK113MJ0XX3XMMUPX1X0CP7IML4DT0Q2HF717DDVOXFLDJV2UIDTBGEI9G0UG77APCNI0NW3BCEYRBNWBRK8SV4BANLUJ0YGDFSX52953OZJJJCWE92I2HS3I5EMQN2XU0XY2VJSEEHFDWBD4XSS8OF7DWGLL1A1ZXENA82TQIOBB3OIOBSE9EXRAQFSI5AJ2LNHGI2W div -36#5L9E75X0UA8OF9YZ2ITF2XBXX0HM9F5A4997NQIEI4BSF04SGUXMF42F8NYTC0V9E902OXBT0D424MZQ0E5MWVJNV77KKSHF2BYDQZI365GPC5BOY7IPRLOQUV0VA8TY3QLT0XXBUGOJR5LB1FCW7V3EZFBIFG73IR9O2U0AYZ3AFT242L2J37VIQYFR1QN4DV6IBXZ2Y8DO54YJI5R88N6D77TPUQDZPJL29XOR7HHVHR0N6H20NZTU2HZ0MBOB4SP7V3J97EUUG9R5KVFEPVJBJJSQXH62JX3ASNGMJCOXU90D3ILYU3GMPZVQB2RCOMHZZX7XWQJ843UYWNBAHG4G3H9IZIWYT3I2V2JQL6STGSD37X763AUOLU6YSJ56Q142574B2SO64EWXKV27IIHKC5VN6W4H3HY0BF3O1N5WEBPF7BEJBHYFB01DWA1EXTWKSZ1HAUEGE7UIKEZGWTFMAH5ZZKJ666R2BPNL7LV5BK9WPUP3N166D57PK5S6HBYD2XGIJLRYNZAV6IIVZDMOKI0WVVG7RM8K9682KYVCYF1O6HC8TADM88PJ1A3FWW9TL09BVXE5725CP1L2FSINNBSSXGHYY9VIBQZLV6P4ZBHC5KOV4IHN9PQFKUPWND8RCWET57XF9X752P251I9LC4U2OIHRX79B47VEGGABPXCXFTYJNQY5QJ7FE1K0BJXK42LP4ROHPJBJNICXB0Q8MICRG5KY2W8Z6MYC6RK00SLHGI75JV6Z1KERDL9XRMYNX8EL9ZYOEBZB2KBY59WCBJ6H48HBXK9E1VYS4K2A4LNVSXUMGIO8MNE9OTD0LRHACVH3ZYOGFGPIEA48MNLPPQEMW6MFR2RV7IPL1BB5X23P5VBYQIHSDLYA3EBFIENOZE5FG2RL1O09OPTZFTY7TFKTF3CL2VRQLNYZO0JLXY1VPDOK7P44KK2JEOAPIK11JJTRM1V8PYNUWX2FGQVYQ5IVGGLHDCGVGYLL8DG8NZSDZ6LCQ5FBZ2BIPU8BVH20GZBPZB8I2O2XGKTRC60U1JSYKAQ56J2ZG5E0DIHV7FOC7JUGBDMXL77XXJ7K0LTG4E3OO8G68SEY0LIL03L0POQMJY5U7XB8J195VZZPZ468FU93VJSOKE74DTNFILOUPNFVACR1LXA22FI5O9G5L08K41QOE2KTJXJN30YQPGNHUHCUPNW2IGW3TJ9AA4L1EOQ6XJ1S9FH0YYCRKQWBQUY7QGXUHO4BG91KKRWHG4FY2P9MK6N44HWV750PYNE. +-36#3K7P4GPFGPCAL5XFWQWH5M4ZKNLNODXYF5SZSQSD3YCR2454N44TEPG4Y9RBOZIZA7AC6NJYO10K25KEC8HY8O5K9UIPAZIXUXCX6ETM6OR7KE1XB3NUDO797MW8XS7W5PZVQE28XZPLF7JNWS6BGBIAD391JL4G24JXG4AZAA048AF411Z1DAQMRUWZI3NMJJ1117IMPDEF3PMJAYGOWPG9MAPQGV5O4R8NWGXW8RH5EQIECLU9QFJ6TBJ64EB936PPRAPTW6P689K83IUYPWLBXHH9O004Q5DAFXVM2W3T6A29DHXQ6Z2MTHV2LX893FAQ84YJJ7EB4HHCM84Y1GGZI4X13Y1CN0VGL5A9WOHJ60C3YUJCIUU6W1OC5CJHWUONLLWKQSJHMT00I84ZXKNN24H2HYIVYLXAYLCJNYFM8RPFFP7752Z8SIYGAVRJOASM9RTOQK1TX36EFVAEWN2W31GDUCPII9LASKH6WDZJSUQENET3SARW0C1GA853PL7HKGWGQLVSZ5PM6YMTP4CC50X5HB4GXMHEYM0JUJLY1S0UCJXBDQHLLB6WKCIQDQ4TU9ASVGFE5OW1JNS5E8JZJX3RF6HZGXDSSTSRZ4WYI3O9V8V4YQ747LY50AU3JKAJN6UNJ6DHFO99OWW0EWX32Q5IYZCCKKCC3VCUZD7WS6K8R2U8V33X50PXCP3VKTEWTHEMDP45AD6GXG4VIR2E9I8EAVTUFEESH1UHEIEXUEY4DFJ1ZSAM07EO7UT8NJ5PTSQBC60MK8S0OGNT24366U13LI1LOYE5SVH50AXAUNBJYFHG1V83W2WR5GRQ9S5KWP2LJJK70BJ8VARBCIFZJCQQKZZYMSNGQQQ1XNT6GX47BB78P6I99GTBMKIDNB47MKPHQSZ1OMK0AT4YXXB3OQF5X6Q48OZXQQRN043VDEH307IPL0K3JYDGSRXCU4X2W065JE7UW1JPR2BXQNS16TFDBCHCHGEQFWATHP90403M5KFWJ6KL1FY8Y7Z3WDVHWF9DXY1KNCURM14LBMONBZWGQBBNXZX9EX5YC9BCSD1J6J65XEKC32XIJ7CL9AABPWX5LXFVDZT = 36#2TS7U9E5F3FXYHR5QPR9PE80IFDYQT1NX9MSKVFL64N69FVWDXS1KCNN9EB7OG6MUJMMP8JPPHX7ZS1LD4S7477MTBO3URAJEBBBYEQUVGU3NNQROM74URSCEBDLDOYLTRSHMHA2G56HAVONYPOLECA63PDF66GR2KF7T9VLJNKB7RRCNCAPAYUAU0J60Q0ERI64WVC0TC7PVYM9JYLNLKRJ7LNO4JO0SBPWJH7FYWRGJH3JSN7WN3II2DL2CN49M9N5TI5C1FX3CM87X8GLW37I5UQR0AF81LTBRQQCXVJ5KX7I729USCUTW9PTM1YL3QXDKD7VMJN88XDFSG95HOXGKCLR4X2L0J6OXGRZS69MLKEQR9J3THDXSHLB3Q2CC2XQCLFLHLWS6O8QF92C6357Z1WK0LSPA88569H7QBFJR55GO8Q3YHRN77683MK9U20ZAVDMFIKBM6D0QAWOS9D4K3LD9D0T5LDB4SKL1YB3GA8QB4TPPB56SDI7BFKW5OA904CAU92MWLZ9Y8790D2YF8G4FZMAE4XLJI4RX4RBGFX4IVQLYGI78JEZWQNNKT3W3K36IR4MP1KEVVN8U23WV5171FPTMTVNNOGNIXQPSCIMYT9KXRH4PGPE56PRZ3H7PFNXSA19BJC57R9TG6W947EE46PRB3IWTH9RFMAG7XC1G2BH0CQ1FMQV6MHEN1P7TS5EY6X3KIPMSC96QJAPQFMAARB42DNASK9N16NQM74QL0R7DIS1NAUD3FJ40HDX40BZKHF32D9C1DQ0UCLNMXINIB5KL1 * (-36#19CJ2IT1AW9MEW3ZEIS86EV5EVR5WZKDE389969P5DYYN3F6I833YIFW6JFFF3NKNZ46ZVD4K7YY1E1US53LZD0RD8DCS2YC09NFN5U7W5L6LHB4AWWVS9ER9QHNQLF1RHMGEHI4GU0JWP39O1FUM7SFXUI7GDHHNS08LX1GRZEQNHPBQIURE54AW9NKECYNWB5EEN4GD4E6YRTZL9R1OF4E3ZWRA5V67E2RK2MDY9GXI9S1XN5WAGDL02GOGUXOC4J5A5CKVB3TJ6JTWFD7M8FPDLC66WGFX3BFMP9N92TN2T). +36#2SXGSJBFZJNIVMKDHA417SQKYEN20V74X5TPF7NTVPSL1BZ6C7 = -36#1L872R9FWK99UE9B80GKCV8PKSBOU60ER3U7S9U1KV828MG38W0N1DLBU2UR02RQ1PVAQX1R6MWTSDEJVDXXM0NGSWJSRE7OPKVSGVL1BW8MQSS3SRFNWX48CACEMKKS2FKW03SPM15ZZ1RS1L3X21E6SHM0KND4TAQEBL22M22TCH6DFBVICW408AUAO8QYC16QSPZSK39M0TF0LMPN233QNENG5XZWF93YABK9M98B6DDL7546CZ64BORX2TK51XU5YZXM8D1EOMU13S3S7RBR2YVBE5E6F7OJ4SI44OBDBG7N9K0LGAZ8GCBY7554KFZJOEAN72N1IXD71MTUA03XP10OTPI0P3YSQX4SVYJ89BOQ8VW4O8BQGVAUGGMVICSXAC6J9ZN9BM2W1WSI8ANN7FCCQGA1LKJJ8JJGH9LC489VHOIOIOUE4PD800MJKESAWVMS6RSW7ACW8AJ0ZVAWIZTCJ89EBVWLZJ5T25CIFHM4WZQ4AEKX3QEEDSY935W6GSWF8RULLLCODFOBWKFCPRO43WKU69PK682IDELZIG62YJZJ3C4BMIGSWVBMW48J9V086U5G46Q66E4G6KTO9BUA7C7UMFKV14ZFOONZNIPFMAGB79C9REQFO27RWXWGUMEA3UYVAC1MBFS5X49RB6KPORR9ONYNQFUU5EKO7D4Z62D9CWM10C3RF8GS0AXK1T0CAO7PYCH3767Z90C00KFPDBMGXT1FQQ0VBW0O912DXWAK2N1B5148UCBQR6KA1LK3695BPF379A6OP4V9KA95KDJE5QWNIANL0XK75K div -36#KEU80PPAANLYXCJTWLQC0PHQUUG8R8ZYZUQLNQ95ODLK18DKXFC9YS8AJ2P9WQE6UY0UX2MU4B3BWLQUSS1X8XCEF0VMBW8QXN0PG81BHH8JPU1O0HWT27IX1HBZBLXPPP7TT79AWPEO8CAT8RXJLKF13O98AZECYTOA74H0L3CY7BCSA95UOZXPQEQ1B0APVIEC4GK39XH6XV3RM5255M3S4513R543GN3QGASBNXSWXUC4W8D3RCI3U6MTYAUIH2W07KON7ILF15HGE5XB9TDJU5L1XVJT3JN5VXBHPY8R005T0DRGYVDJ7AC3JQUV138CI4ILJOMOXY535PNAE937RRYXCH3WM3F6IVCX32AFPD3XVWD6U7V5918IXJH36EYWO16SF2H06W5G2E7Y4EBDPX64MDM2TTRMX2H0HGWQC8YIH91CWVL0Q8XRH7216ZZAUR8ZZLBG02UUKOVT4EGFRECASG9V3L3GSK8ZOJC791D3FDAQAADWK6AYBDIWVZ2NYZBHCJEZBMBA06CWN53AVED8NHWQTVYH9YRAABG5UHKB7PAZWL51T2DBJWXXZIR9I2WUHY2KELHXWX84MR8J96YPK1F5FOF93S38UCLOUSXFSWY7LL2HDV50CAB1SGOGHZ7NNPSMS989BKRCAOA0FRNS0BWUI47RVKG4NIPBZOPQN4YN6HTZ5QPU9CMW0F53HP8Y71M90PHQ6ESMYXGSEB5MX6WDJ9PUUDOKNAZ70I6GMKTRBBZGQHS8. +-36#2USVGJMJBRIHNNG6KW4UHDAU7KMS9EPN3ZORL5317GVU3SOC6P = -36#WPEYSIFD6FROCAM9IKNKXU631IQNK5IOC7VU9B270695B6TUTVMCX85G8SUJTVUU9CX3AL9POX47HFQHB1MF7SRYE11WTQCFWKODMT7OTTL3Q7IYJ6PJHEW2PMZ0TUH5AFM4LEEXMRE96Z74RBQZZX6R51HJW4GT0TQ43V9U2SZQYF96FU9O6WU6JIMD22NKDUNW4Z73YRH8ANU9RAZNDVYOW83BDONZYRU084798Z1RGHZN18BSFSEDESMIW0W6ZWX4V08DCVWGPFQOIXOEWQU1L9A92Q7OQ67T8KQ3KASBKDXCNWIGGBYASDPAOXESJUKGJPJVWGMSF7IHI8Q0HFCX81OOMSGXQ6WD6NM92K8Z0XGH92KORRRSA0PQFXP01YU6RZ4DOTB2SSO7WMQVAZB0QN40Q4P0O9WQ8YN7XYH0MYHX6I23XQQYJBZUKSWTA0QT7P68OL4YUU5K328Q2X6OXXQQE9KASBO2CZUZJJ4076R97G0QGVMW43YUZHA5WIGLH7H2OF4ABY2QK5BLTGSKQZQPS div 36#BGBDZETN9M3U7JPW2TMUMFP47SIVQNOP6G0I1XWB33Z5JTPMSAMLHKFQCB8OZG0E3XYK83X8WARX6C8KVJZMODRIOZJK1PFL6YSTKJHVO2V8GPV8B59G5G06H8J2ZB1Y9FW5GC3UNIBM95SCIIAU3TSXPZW2LO105LH6GM0WS6ETF0I8UUXHSRA552FD3O244W4JLVUMT6OX66RRIXC2EQZS38GB67P870YBLXDM2CRY280ZYM9O0KUT2LB87M6DKXJYBU98BR53KDUOFMZC5DCFQHEWZNYFVK3T8W4H4ETAST42MXCO1E7EMVUONMBG5XTBUT2KUTFHKA5HEEAIYT17O8CT1ZDMS9HNM37X1O57MCT5Q8QQ8CCR6LQ2PPS4OC2NJS4FG2C1QU541ZLK7ED22QFXRD2TOL7PQ1JMS5JESBEQ3VOOU3WAMW9KAMAZDFGWAS2LSPIBL707OP8ZCBLTCCUVVDIPUT5QTZAUVGN4. +36#2OKGMRSWUYEQGOBA25T8EFY6PR0U0DBMXM0XI5A5B0FWC9JO0IXWNQLJ2Y6CMHFH5XCXTZ8ZMTZUYNRXNUV8IF8F4GKQVXI4BE6ZSJPVQQH3B4E9OWN9QYNP4477M5XB8DZ13FX8036AKQ1MGUUZ5JYR3MSCVN6VM2A0P7F9RNZU9RKQ0W097L4VLD4YH1BNYWO3HYO7BD6HSG7M9YSOD0GI9YGX125G9KK3YP8IA88LYZVBKS915F2EE0VLZ0EJ8Y3VJZ0JPZOJD2VP9GAOI48V7D2828AGWZ8NFAEVDBXINWZEZ2AKV1VT8SP6UOX373A1W02QK8YBEXTCJFRDKQTFRPIBPMI76OC2 = 36#3C161MM21CQCRTFQSW5DCCQ1RE4JIHDHQ3YK0B5A83X2RSYSPRFUTBJGUJEOSLFTQGMOBPIJ7ZRUP0DXLYZORY6RF2HSA4AHH86UVJXF4MJRSSIGAR1513HP6N073MG4Q4AV88ID4TM9BX2LB8OXVHSC74BIVZZK7XFWDG779KF79ZEYPGVXBGFKFBIUJA16AWXOQQ4CTS4DH2TDAINF333M92IHQCB0DRKGRBTFEKBP49XD1TQRS5F6NRP8EVNSVHCL4FNVI5CPRGH9FK7BVP6DOAPIH2R765CFD5C76JHQIY8Y1Z8CUS1S93SNIUG3N135MSD09JGNI4OSCJMCCJKDVBHRWCQ741DOQPRJVR3YKDTDKSX899HAQRWOUG5N0HPMYQNA7VWMTJ5529MHK div 36#18QWERDMY6G6Z4PIIN7UBBO7YF29FSHUO7F57ALV1HGMV7S0KS. +-36#HEXGM6Y9W001EXEZEOI7PR5HVGG7ZFPHZ987GAU6ZTMKRGG5LP8RE5X13HNY7T7NDYPWW04RIPW1J49PH3SN3X04TPL6KFW9561VT8IE31QGU2QJ1GX1VOWV7BOMWQEJGFIC8SBN34H6PU9CPSYTP1M3Q93MJX2W7W8KPK67Q2QXHSNAT2WSG2MMTMMVZD2YOV2HQJ7KVHYEFJ4CW23C94JFOBV7RN8NW5F50C5FQWFPHQRE1UON7U4OR77PQTLYK6QRWOL467DW5WUQDAUQPK684SLZW1OQS12SAOJSFXARZOCATNS53P1ASV2C2OCXQU8NU69GYD784AJGKHJHJHA7HUFMHMW196WDJKVYZ54ZQZGO1DO8BI1HOMWNU4OUUFDAL6UX00SQ6FW02481X03U89GA3OJU7OVJHYNLRFV5UAMDM9CFC7IWZGYRZWB14IP73M7PWTB0XQO5NXBOXSNBTDGCKCAT3J4EAGDIFJMMCE7ZUPHDQKAVOKG5OZCXOW36B92ZMECO37GCMLBVPL4CUACDND4JTEPZWX5TTBFUI0ZFJU4Q25CE8GFTSIZQU61MMU305KONS8ZIPUJ62Z2LIE1E07W2WF9N1IND827G0HH659U6O7L6R4TKGRS9OXH1K3AEFN7HAH54UGUC7JVX6R9OLCYCQR2AUHQPUJ0KR0BVPPZL2OM0TGV2VEM9NY2WP3TQ6P2EIYKQLTLFL76LCI58VEF758R6U6M5VYXS0DH6WVBJJRS1EJYCO9M9BKC4PAURKND7CZ3RM7U9S1IDQ4DNNHN3PB03SQCO6JT2FEZTN3WTGVMRMA27PXP31GBDCQS5Q0B4Q8B94LN06Q895C7O7DEBE302GBXLFSM1LCJYEXJGIVNMPX7TPWAL5ZAAYCGYPOD5BGKMKHQH12F9F74I4T6T0H0QUF659F4LACR9ISJG945IMYZYE455VBCKGQAP98CLDSY4XCPWCTSX4A7LCBV49DPUMLCYEC3990EAVOME4ZX6VEMMDNKIRBO1CSICQBS4570JCS48RI540GD9YFO9CCGPMWUO5I2HGQEASFITYDTV65L6ILN9HWDNIR1OJFL2RKJFXW0R88HKDLUJG595E8P398YW0U5FU4GC4HEBZTDVECCSBYMOTMZZS0O2MC4CIM9ZATT2GII10UESTVN95JD0Z5L1OLSH0USIOFC7G13F1C62WXBVBICJFDD3GGF5J3G138QR7Z4IS4ZDFOXLRQA1R4K2KHOLYXS3S6H4NGQMT1C2GNX5IOT5TB6H2OQ0X5FM = 36#VWKN17RFA78YSRU3HF6GUNCOLTPYZJ55PNABTYIHE7NWPCM8MEJFRWXDSMTS3YWSKP1NVS7CJMRP4YR86K28ZSOXDA2FOUXNRW0RRTRXA6RE4PBXFJW33P1UY2RQFBHOB2PXGREVJ6LKF9U7ZFHT3G1OM06U1QL4TBM4MFYKAMLXA7SK9A7LVAHFF98VY7SWQK036UF87MO557PXG78G66LQVT46T9MWPNLLXQ87MYH56E7EVBJPUSD7ZFREVAE2QE19C828MT8OWS15AWYRN8WEKHYFTXVIJOSYHOVMJ50FHAHYJ7RVQ7UUGYJZB4RGW3H4EB6ZEADSIEIEKQI7Q4MBX1SPESI6WOSVOLQURA5RZWOC6ISPZ34FD1NUFCCO8OB5DERPOCT4AY4ZF073RCMFEAEX77PZODJPLYY10QEB2J450P092SJ24D8B79IL1F5NZM09N3NCLN5L0W8AZN932XJ9GLNBP6V1PSFY3NH9Y8BTEVW4BP7B7F7GK487ISU5Z8B3FEV9BPYIIUAES2VV2S9QFGRSI3C8VP6GGHT4KFSHP7KHRZHEUNP7RHFZ92ASUAGO1LCY0F08KHWCFTFA93CPAK5MCC84BJSGFLNIGQHVRCKC1NOJTWJ3TKIURHRANAC6PS6AG0E89P47IJWYHHUVVWUBQ6YKIQMPRH6EUUZC09E9V5W12Q2B9CKDX8Y4QDGIAGTZIZZDTLTS9HERA1WGBXUNCWRFD4HD8DJG489JAL30SMA6MV613D5N59AH1I6XGQH4XHAMJY0FN9XIAEDCPHH89E2SN0M1Z9C2KAJ2DIP48C9ID4GBYJV4IWMJZYLF1669RM * (-36#JNEE823EH6OTUVTY9TD2GGG9G9JHTYC5BVITSCOILN71SA2TQ34OOGZVSY4NDIBRR8EMKHHO2FSWUYUUDUC3TAJF2N4IX28OS2KE2NJBO3MIRNT5KJKAPJXSBLB8W29Z9VOT61YBMOGY9KUYBAGYKGU9VNC2KN5LGSA8QOPKY9BCP95PAIGA0YQT19VK39WBRVOHUMCN6YPH5UCY9P0EI4K6KSA0IA30MTF572XFZ385WL1I6T7IFBSITLKXBAJOP8T7Q8HJIPUOJLUPG4JTBC42ZTOZONQO7ZT5P28I9ZBN7PRS6QA50T3OBZBOH253JD6WDP429C35DDQYAIJZ43XU6RIWUOWSR3NPSUZP2C40Z4LNMA2LZFKABIRCRMCNP95YAIVC2VCXFJKSOREU0SFWWGJO5ZU5BFLW45HPJ0OMRFLN9BJHFNOTU41HV5DP61). +-36#VE614XT6NBUOLPSXBH45HW1GUEJAO9ZI93MP3047WFQOM111I = -36#4SLXA0MNO988I1ZZEUVVROS53P1Z1EX5RSA7J8Y1NXTNVG7POAI11EG4AWSMCG7YBAY4P7TI6NV8V8O1YAY38HU2N2104AMODQF91IN0BYR6VE0TFSO2URIAPHN9T7WXVELCNNES66ZMTL4JKMUS6NVLZSEM6VNGYB7QLNR2KBKZOC8QNEKE6XL861CO1LC08WIU73LCWRKFUAGDA2G9INYB3AJIQVVM75BZ12WJRFRWXQXKDX07YL7VYHGPGH6KO4VII29IK4JBK1MHOW8MEHUVIWUH7CNUY0DQE86CNTKIWPABENEWTJOJ7F4YT4J8RJBVH7D80II44Y1E769PXF0QN1IDGIKFYL9W1PVBV1QTPAJ7WZOMA6XM3DXAIWIHEC5O5XP1AN152WT9ZVRUAVO3ZQ2B28ASSB051QYUR9O8I4C90PSM7VK5G502J3J7AEF4CNN9CTB27WCS2PFE13OYBSTJB04ZPCBWIEIEDW37Q9EH2REBJM14GBWSPCF28KUQ14X0316OL3REPH44RKZEJSAQHMMBPI div 36#5HXPJZFBO6NAL8RMHJDZPU927958WSE6QU7777CPVJL7CL5T393Z1CLOTTDMA6DCZH2AO2U4YFEPT1HAAK2OT9WMZAAB1CRS3MU9FMNP1CQ6ZEVGI6PJBS4MDEWITGHBZB2B8E0JZFYYEUA25797OWB1TOQS2WF3I6QX7VBK7T04PRPJB2J0VQNHHDP8J4449QJ2GNQNF8IMG71N3TAQ7LEGSEKAWZGP8H3V7UQCQMYGQOSGVDKMGNYUPGUWNXWVH1YG20M5QQWK84LS5XK1QE7ZJ6C2SILVSDQOROLF93KE478JDTOOA9TSKQVQA8N2ZGGV53F5V36A7APJ9UUK1SB9BHL13R149FW2B3HAGKYFT0AQDIPZ96FE70YS5TDWATRTTV157A6N87AXTZLRZ8KSRMP4UCOIQ3I2L2Z37YBWGC9HHEKOL38AUJARVI2ZVN5FEQD36PNDQZ4Q0BP40KYO752W8TW0QAW3A5J2IIU48S5WH. +36#403PA3AENU4AIU3W8RN5B5IXXJFS1E2I1LOUG2HYKY6XM7CJC7P01HMCU5PS9L748XB46WAFLGAUN7S5EHYXXGYMLS28DIY6KVFZUT4PZV3MBTFY6NMZTRCATTLZECSWAV0W6UHP4K8Z9KZTI3LJDEMMPEJH416LYC6TVQ55ESVVU5UBI1377JDH1UBJ7UW83MDUDY3J02UT8CGQGUU5D55CFWIRM5XN1UJQNABLF4IFDAMJI74M4WZB1CZ11MUGQPZMAHGZN2IQ8OE9IY6FO3OSNXBFUCSL80P1DZSAFY4ZO9E8ROL6S19U0WS59J8DHR7CDUR8NVY20ENTTFYOYXKPOXS27PEQL1J1BGZHAK7AK1QZVC68SJPK5B5J2P0HPSJVO3RP1NE6OJI1XADT9NVDRC = -36#5K99J6D7YOAKTASBNM7AL2I28YY4940SAVD7BZBXEZ10FPVAT2CR1VZCPYVG537L6JGJJBA6I6SAO8ZTQDZARUI71UF3MRY0O14NIAIZIRG41F9O2NTGENSBER7V99PI3E9PJHVYITX28XL3Y852N7YK1J7JCSR0UMH9Q98T1LVTAFYRGMVO0UP2E7MGCO0LK74RVKY4SPCCWKJCK2MUZ1SF1QMV5SO * (-36#PWL3XPD3R78HYDJWZGLGBA02L38Z269XI3CVSLEOZX1UVWJF0OV5LFXZ3MHVS7MCR91KVV9U5KVGGCCS5ZIJAO653ECGM244SKAKCELBGD3O4ZU6Y8MR3O05G4X5MUHPKQW4FM90Q9CU8JMT969AC6EXYSLEMNL1BBQEYEXBIDFGU9DT24OFWG6KQXB). +36#3OJ0IBX62U1ODLF1IHCMPDB3N6DJYFK7QA7M0KFZLV0WSEK5AUS42HLJGRT1MAHEXM9EPWZVZW4PNOEP695ML3WI9R7M42CS4EXWG073 = -36#4SLUBX3VKIP3MGI6A8AS8V0MJS3BBUNFS19PDZ3YDXE2QBL12TL2NOLG1KTGIZE4HNSZFHU5POPXLZMM7GTKD2ZJL3JJ3B9HS3AC3MBBEI5VC9ECQ0T80M0R3N6XE88EPG2VYTAHA1MC5S83PTZX05V76EI76LQOD7V9QURD6FYNSSO3T80Z3Z8TUFP0LND5Z3AOS6N453ETQBRNXRHZKZDP74G4PRG6B0V16D85GH8GALIKSO2MIWU3PMZ84OETBBI74RE707SL5LIF8N75SWVHU7ALS6R9GOVCOR0KUSDPOY57F7EQBDCVTB8UGBMWRSRMMJGL8BTQFHALSH2YV3EJGSA1UU6YGDHU6HYM3ONXNC0YT0CYM9BZANBXW2HZYC1R8HJK7NZDE6YTGI9VVMR4BRCTAIMBJS1VI8HJZKUQTOIZ4UE1TNJYVY1M2LT754HJQPC45NTRUDC46AOV6VZ6QJ6 div -36#1AVXHTS7QAAZ64SVTBOUKRXJ60XN2MT87K6WNJZASFSMOWPQB7BRDO82U3KZHT7LRFJ1WVMTKUU1SIKAP7513VLPVWSHOY93KQCZXMPKQP9SFH4P6VOBFO9PQCJ5A9BUP2J1AXNEAJWZIYR75IOXRD516TG7ZZPVERX5BA5X7ANNQVK2UWF9N9POZDG6TESTJ0AQ5DEXY2COQ0G85R1SFCC49UUYY0BWTQT5532YNRY9UC91NK7QUV8I1J7GZB3C7FNN27T44WUSB5UBY80IR55QA4QL0MKE05OC6FQY2WKZVX4WONZ4LAY9P5BVHYO0ENJPNJEIILVF8KQ7AZ9S9O0G7KJEWA9TPMV1O15EA24IA3B2JFHQ. +-36#I0J2TUY5HYWRJHC8YFG7Y66R3LNNA80RVO7GNDLE3F2J1QF30USK0RE0ZSNJ6EAUFAX2EAZ8K53M7J91DGK4NJQ7UNUM9ILCTJOPLYIATRIQ4KPD83O1B1B3RFBSQOUIBBQAPZY1MCVLD1QZMG0ISY3KCQLA8EXOYGA3X9YRC8IULGOXOTU5H = 36#77435B28MEQUA00WX4A8N6LY0EP2799DQXU3G71NGMKTG9BDCHEUHU5SLSLQH7INTHN58JNTLOZ1HVKDGFUWXRFUNQCJ5T5ZSF2JUV2IZFY7J3MT4XVYB40Z6I8JM2IAIIRS9RRXKFI0K26VJFAR0D7851TTSITEB3Z74RJNIHM230ZTOE13F9QKN5S8O2R6D4DXOOV7ABT2AMEZ3CTCAB998MAATRVP1RXYGXX464M6ZFN0J0IPCDP5NWFR5PVKOIXGZEU6K1DDY13EG1BBHKAPMHJ5LYGE5R8WR6KZQXD3OQKKCRU6C9UCSQPMZIIAKHXHWKEMTWCLF5GY1LFHGR5RUTA1FDQ6X1SDML8T720IQD3OAMI2LIUX70JELH55OZ0HE40P8I5Q16RU5UGUO4CZ6SXHXUZV5FID7U8NOVGYZJGUFRT2WR5QUKDUHYQL9LLZVN1A2UWRTVEU7BXKB3YNYGG3QIVL95Y51X06XGDXW3ZEO4EEKLLI0IYIU9BG1LRDYHA3QR1B18575FYIA6RQLP9RZZE1OWT5FAKUIAIMRVMW5SN0M2GF2WXV6SCM72X7WDPZK5PWHVK9M733D00CZAJYBTFKQYPLKROOEA5DHJE1PBGDVFNL5UCN0LHPVSQZOJ74CEIOG0H0T5K7ET94NVJQ98 div -36#EDSXGOM8T42PTKIEUTSCBZBPPDUWUSEW414DY27RIHZ89R1CQAZ3BDKEYQMK2IGRH9YGPWJE6ATQW9MTDBEEU3GI48PKQK8C5HWTY3F7JZ4RV3H2HAFSNN4KVPCJ3R7DXTPP6I4U5CER7FXTWKWNHU7MJD6APG4ZKOWTKMEDVP0ZOMD38R7PVVYKMK11ZMDTLIOLEAYDDDN8RPM3P8QSNGLCZU5G4YLAUG0XKACW73M63QKMEKYC02FD4DCL4X3LS0F2GAH2A7GBXAC7NYYXN71RFAW8NHZF5LBQU495B54ZZ16ZJ6ZB4CACFS72VD8H24XWAIUI1PZC38RP0SMRDM7ZSBZ0B622LHQVSRMVBN4K849DRO0D0BGYYTM13D8DE6A23Q87SF1O5MCRXODAV241SUHXB7L9ZQ144P1ONCBV52GV3V1A839AYQZ9RSFO9NXN7LE8N4RZUNDZS6JQ8XQQR0HY8VUYBS8KKMQ0S. +36#4YXQEFO8AFPTAVTZA24GFTRZ09QWFM9NIL60IJBYEECFM66AKSD23ZDXQ65X077WG7P3HE6L1YPLS0RBOR2NCHODXFH1G8RAEKMFNR9I4JMSXSAECLB7G4TE9KYTTR1GNCFOHEW0YPB9AMFLZ5I464Z25XIO4H3VDD0I4NI2M4M5B9000TLFLD991PA5CLAHD3SYZ3AD0B3KUFQU4T3WMPHMFIVYCH0J4RADAVY38YXV9Z3SWX5FEONYS5DE1M6N60I4TCNRGP9IG7HZ5F2GN0QMSEM8ZCR3LUSRML93KBSC0QYH2DTTTS9GIWGCIPE12J1U5BUHGN5SBOQFPH929CEOUAI0JOA5P1PD4K7URDCRTZNIENGR6RZP8YZDQEV1LTIS2QUQNKSC84VVACS0AFGUGCOKHMOBTY3PTHQKFOMSTNJZE01YH405DQVG7EUAUSFUZ9JZET11SBWYTC9ROVWA198K6KO2Q8743DG3D0D12MM4W0B954WEAYHI5TJTNENVDFKNQXOV4FWCNTV5PU1I2CIJIUX3JYRS6RWVY5A1NTGYF4NLHKYHEPZ1FJ6F3CYNOWQY0A4C15ZEGZRRPW1VLMAOCO2PG32Q4QEX0O404KT3IWF6BT105DBHTGS67SEA0JWAIML97FRUBQPQXRDTRGP3KXU1O3OWLI1VX90JGIBO4P0NXA9ARM8H2SZGKYQXDZTPOF91VIVUKY5Y85BH0GNIZ0C9W3TEQRMAWDIL7X6920SYFNCI8VMD6JLQ3Q7S67AFZ6VA7P8YL447A0YE6AJSI6O3DFZ6IJQCZYGJI64LU85L7395UH40I9I71XHU41FQBV39XMEU8KURTKNIMK0RLTKN3NL6A31XMALDB9KRLLHSJD4WE6MOGX7JOCBHD4VG4A2DDIWXP5QDBFKZYP8FS6X3NN5WSKVM24A3CIDV6RWRGK0UXRVCCB1DOTEO212VSF7QTRC1YBA8BQG4GDU = -36#NKFFZE5PBPKPKGQ9CYUG6NXIXZKIF15N3ESLVVJ5BP4VKADVQ587VYUL9IGXXCA70OUT47UDT495R5HCZ6ZO6RK7E91BWITAB3JZL43M0Y02F94MKPBYJHY8NMR68CP2Y5F21P54CBC08GI83YTLIXMRQK5EU80VKRB99C27OCIMV1EOPZMRY1LK5N9EM087DQIOWPDI6A448DBYASEWA4SO7XZVMHREJIDDJSJDW2JASLK8I7BRK0VT3OOXV82Y8PW4HXA5H0Y6MA03YWVWONNNNLELYSEWL186K6KD0Q3Q3ML8CH1DMJJ89P2IX2FIXUCLV4H9PM7U6P8DSWIYPEOQBJEA324AGL28TI5BALILS9SBN4DJPWHRF0G1KFYT4MQ0UQL69HVSIAKS7JW7B6R9VJ159TYJHJWKCS9NLVP81E4UM5B152KBRP062G37XX24VTF3OEAPGXW59REDD5MS8OWIWKK2Z0Y2Y85NNEIP3N0YH5I7BUQA48C4GZUOKJA4WKNSMA01YGXCMN5GBVDRKO77T92PMN6PNHWDZJNWVTEDP818FY0P0D1KFTN4T4WYS380QFAYYZDZYUCTN69DTCD3UOO31A0M327PTFT4O5E3SIL2BZ8NM8N71FJXDTIQUD7YM69YTYUWZCHRCFE1RW5EY3YLZYPOTH21DV3LB2LKYRYIK9KQMGXBJNGADPFU1AYK7N6C2UXJT6OPOY2N3I5E4AIWIGMDZA7G0U0JQOQZYP6IF7J5VNBLSODEP3EAWY8XA88HUJN2E6K6LGWLKWZ7DCWLWT5VNDWJ5B27D8V1S6KE24M28ISBD5TYBJMH8KK6KASIFS3KV2SFDTQ6K50QHU3UKZ2XXNCIE0H82BRCM190LFI5KHJKAVMFT3CM2WOPXDQ59GILG3PT3NFLFZBEZF7WELO3WWMHXVZS7LKFKHF39IRR5AQ02IGY3E48PVL4KMBOJ71BMU2FNOXJ0RS8YD0MM4E42CNLKMHX681OPRA78T85EEV7VQR81XC2WZA4RRRXG486GA14I0Q14X5Y0HS7EEGYXO7CA0ELGLB866TJLJSR8VWMQGAPX0D3UD5HLPSR16N8EU51Q0DWCL7O73K63EZVKAFYPCC6XNURDH1UAFPWHQEWLLMCN09IOO611188SYPQ0FJ3DQIB71Q4KH7A0CD7G20RSFTY4TCEXTZSID9H6JFZN8GA8VPZAEIW6DN9IZ3F99UKOG6S6E214A8MGP55CKG5VZDGIF21E9WQ3KHH6J2EXBW6CQB5QYGRHQLQZ8B4LVK687TNI1LL7IOOY4WTUIDYHH9T38EIO div -36#4QOZ67AFGT0RN8HOG1JJ9WI4W1C79DJR9FJWY549U2IM8M509QANGDYIQRYY5PYIQUZZBPE5RPMOBV66VGBMEERI0H27S1KOV8959VE7L34N3L77OQPCIXU1DLQUQJV93H4CLNH07BDJELHLS0FQCNV36D6OK85KC4NKWLFMNNZC11ZYVOJUJCLN0YITX8NT24K4OVCECXGY1O0ZJSRDM8D7PNJA48IARS2FK81H8BFIGRS9UP2N57JT8VYS9IXKWG7YK0BI9LU3CU4TCBSU1PA5Q26O0TKYMNCMB2BPGPZH114JMGJF0JH7724K6L87N76YDPX0O983U13QNP53CJK. +36#D6ZR1T5AEAJD53F0AFEQB6FQHYJUT89SP1HSL7P1LKPSH9K45P98X97XNN94FR6NSATWGB2BFPQXKOPQRSW8N0AUKB1D370H1WCFWM0X7 = 36#OA8BSD46WI36NZGU9MNCMI9VKJ9N0ODIHUW41U225OK5KI5WBW616DYHIUCLCJLMDQ5PYPY7UQ81ECDT957O5C956LWO37NM3X20DIOG0ZMDMECUMGH0Y22LWC1YAKJIRJCNBC9R75BXNAXCI6A406OM91 div 36#1U9B0BW9LC6Z1EURN1RX2V6HB1IFQT61OSGCXS0BH0QDC63JOV. +36#OBK8S2NC6NJ41I1FXKKNUCS4EU1TSR473X5B95X3MNSI3E6OZXOKM30SJOAIH2DZIXU8142LEVSP2MLG7PYNY3TXDA0PGE8JP = -36#H47PDO0Z1SD788IPE885T863P12W580GSUGAT76HL56ST7TWC3KMIBI16MOQR5MEW74QLA8VW62EELXPRYJA89SVCO00YKFIQJCAX36XVTCZLP7NINEU4N39RVGWY4E0Y0MMEUB0UJM7KU1A0HE2ETLI0F2R0929JNW2JTPSL0XTE67TJYUIB2LUHZVDDCM5KW6HYIQ31OU0QBFXBFJ5UNHVYVPRN8ZKNFLVGLYHJQJAHIXIBXZ7SQ5AF3QGWRIQ4FLJF5AK3OMCO609TWWIMSLO6O0ERL44UZ1DK2UUB448I5RFK0SDKQ2JRH57WDJDQPNE26OFP3RA88A8I7HXJ4K8MC59DLUJMIONTU6TIK8GL4XWFOWTBSJOK2JGKIQB5UTUKV9M76OX3SMCMZRYT1Y4MAQKS5T5HWODXNE64D4YB4LWQ52KFOMX8IMCZOW61A9TYP6F18TWM3B3X5YYWU4NBYWJ3IYKTZOB8FOPFGXDIPUL8EMMWE07KR399480KEVGITMM0JK87KVOYLEUY945OXSDSIYAQ332DKRWJMS9WSQUP1CE0G6ZSXBOKN1PHS0MKCTNE3H715XXLDUFQ3HM8PFU2PULG3UP1C3TJY9O7OHORPI2E3JN6NM6XS4KYRND3HQAZAEDJFGKU5C6EWMOQ40BGX5H854TST31221TM8RE6KV7Q88DEB0HT5R7X10CSYHST64ANR5HRKU4C div -36#PC44T6CNTM0LSW95VTEJQR7JC6CUTGPS0S6MTF04Q5YSIQPE48YX5NJ1KKT4SGEGXF4BHVD8BKO8RDPD5CWKOLJR3KQC2RYIVT4H661XJAQ01BCDQQK2SNTBRLAYDPZRZ1JF67BN19I4I6NMYUIMPSWRYR7KFW43A88YKG6DDKL38FJFE3AFMPLJNIWD0QR11RTDYZ48Y1BQV6FAA1BJBPZFEFI9WWIJTUOWKOBPCE8CA1TDCX4J8JX6UNRA3HPF213DJC409DZ4CVBHDBWUKG97592ZFULLZTRQWLW2YYP2PGAVJBC18WKS7IQ13CTD9DWFYUMFH0QAG162VE3D3BJT3THCV1UQ0HAS8I5SQIKUPVYKSGI72D06WPTVGHV5S494L5RCW3QK76YPLSL108WW4UBTPJ13MOJGKZAUWFNUBRLW9BCURUQ4O248J76CQVQVSPOP2INIHN0DF0VA85ZRAA5KO9F25UVYX4XPMNU1YWPU1QFHP4GKDNEGMPDB5WKNHGRTC0M6EQB5BOA4HY8BZNW9MAQDXSWLOY1PKY9MKGTSSAB9FPDYBFJHWE7SJEE8VM9NZ25TH7ERCDCEK6AO15PMO5VQI2MQN9KCAKGGG9WICY8C. +36#24BDVSHZ4EJBHFTP7ZWZ7SIVJFGD817YH2HQKDV2R0VDK9RZU2CRYV46EA0YQQWSPO04E5Y59SMDTH3URXXPPEVTGTWM1GX8WSICKGXZ6TMKT0OYQASI9YJYP4P27FMSL9WTT3YWXS96081GTDSKNRSNCQUGGM7ZTEX7MCCPEYLZUXIFDHDB16L8GAU9CZKBRDT2E6HZY534IIOJXQFSPDQGEGWTWWK4C71JNL9PX65DJ8DV9HY07AWTTHC59MZRXK8W0GQG207HPWZAYKIEQ7GFMN8CRG1C1G6TR9SEFSRT9JSHGQFG69ENFXH4Q6MFG9AZL8YYQRANDZ88330SY0FRAUDZXA27O6QYMEEIV3C7LUJGKF4ORW9L80JFR3MZ78PXSOTW204A3XFWEVDDTFZZL9D1VA3WPTORBL8C6LSK69N5PU5SAVC0O57UHL8AXZX4QY55PT2RZHDGZ3XVQ0J34HA61H0HRQT9TV1PRMFWASP0CRUUSMXD85TXWHA4SLEBYH836A6Z80FDY8TB83S99WVOH9R54MJIGUJAYWNH3UB3F5B86RUFW8VAH4D0Q843Z6OPMJR42ZUYSNWKODTUUNKW7RQ4QPBVKYIISON6QGQUHPRJ5G33ZVZ3XMD11U2PKM9ZG327UV204JDJ2BKB4KBW79CHY4YRYWT9WQZZE4ZLMF99779QP2OI6CQYUMF8QIE99GT3L05W4J23M3BG6EIXLVY91OWQJAUIM2XAOI3X4NC79RYPLX1NMCWMQKQMNC7CF9GEQQCRV5FQDCPEQS6HZREJMAIB2HS4W8T54P1A = 36#7W51YBP407MX3H1UYXLVWB6PFOU3TUNYWXR7REHME4Q9QST4Q0P8VEFA0F6T1EF648DY124JOVTZUK8BDF8ABOLQD8HFXVE4W3B8XD9667W5GORFW8ONBYZ4RHJ1UF0886WYBRZLFXMSA9PLFA3OAYL6AK5Q1NEQ8BHJL4S7UBBXD0ME3ROAPFR0ORRCSV7NWSXTOROBXHYGZCV1WLY2SS9XZWNUB121NZKYUN35ON8V4X7M3O6D1SAPBTK7JI6H1NG855SF95SK1FPFTRZEAYW7KYMOLCPB1CDGMKPIZFWFA8E22L4M3GGGUOJRCNDQVFAWTO639RK67AC05B3NDDS22RV0W3JJU6KKSNE143ICDXUB8364FMC5H1D9FAPNVCWN2NX0H5QC5ZHOA9PTRF1501RSWSGH33FGTB0J64WTL7261ZEVNZ3A9P6G8D2DL1F1NLB6RO2BPLTYH6SKZSXPZT68NLROTVLS6M5OK6OF6UO2DZ0XVY9DVC4TTMSF9EY01J8BGX7XDS1366C7Z5JKHXBKNUC4KRUOOQDUJC8HKK5KOTWGJ606QMH45KFNPOYO8228IU0UPO3ZNU5GGJSTF26841PRPOBTS3G28LV3KOWB9NZTZCVNGZTW8M23Z0TBQRRGIHY6LVFQD2DFWUS6JOQ5BCNMJ4YG91RB7N8UXOXTE0T29JB30E718PROJCFOWUUF1P9H0HYAQZ979SZGCMY2LK8PBA90XINK6J1AXUVAV1R4HUOXGVOXNLL7QZRCQOL33ER9IPI6HXG7NVHOBIC55YQW1Y8P8EB2X622DRW95964PMA4O1HRADVT89V1EK7BIJP0BRXHJ53UK61EE8A4DIX1ZBBV8LNVB6V7F00XQ6GG1BMMDKFE1GRUHNH0P0EUIKBSODP3Z4FJJSO2D36HN4CYP8S3JIEOG49VU909DICQEIHWXE2X3ZN7WL6WV7J8CJH7M30V0OKJ0EEVU5W3HWF5WZYM117PEGJLHCBWEUOID15QPNSDXL21EZBGF9ZHR1N1LV72WK0NAQRST70M5GMDZ3X11J2AOKNC70ZXH4E48CU9ODOULUL9B0P55KUG1434 div 36#3Q19EZAUHGKX1VZAGIDGR11L1N3RGYD2W35H3FEV54TS07G1CXD8YFF2HSZSA59FILMWX5GW9S6WRG0PUWDFVJBYLKZ70EKX5WL84QLPMFRYFJODJAS5PFCLGRS4CZ6I9WKYCSELVHQT2NOL418D420TD45S3QM9J2MKQOTZ88H4YKFKYNDREWTZWOQBSEK0ISIGECN8V1B3PND4XKXHC9EAXZY8ICP02AH8VAYA2JHD20EI6A3HFBGKVM1S7GTTIL3JEA8UDWJ31X2BEDXY9WDBSKGP4. +-36#85V9RTASPBH5ASEHLI938P8805SP6W1YMNWETHWMYZYYYTJMAQVTMOE09C3KGP1AHV8R4JMA0XLGOWUL5BCJTD2QUGNE19PV2I = -36#32NZ1LLKCFI2NS2OO72DEGDB0DNGSC8DDRNFNBTGEHBHIHRLO9 * 36#2NLH0LETFHBTOA3GLJ6J8XD9CO9FSOKKGEPPYH30OBYJ7GP5M. +-36#IAAS3EDR5G0T8GVEHHYI8QHMXV754CCEMOUO910L74ZYTIXHQNJF34HDLF47L7HEZZK361YDEZTETU1SMBER3RCQYUB2DWEPXDQRHORNC90SW1O5PDEC9PUUZ1OD602DHW8W2LAICJF55CDVQ8QZK6NFKZIUCJZNQPGD2TBAKZ1KHDQF9VO7A7WZNO23UKKQ1GLMXFEQDBHK8XZBFOHJ3L6L8142POTVD1ETT3V8IC7YAZV5MCTJKGT1Q4O9SP1T4SZG68YTREVI0D14DCBH0QLP3G18KDEAKLMSJSEZBJT5W4T0IA9448DO9W8QV990GGPXD08YR7B6E25B67DG48B24YDENOQSLBP26WS67OQPIZ1LDATLHZH6I6EYEQ2WI3XQ3PW6KXZJ1GJ9GBMUC6M2NEX8D7R9AMHTFEAOTSVCNL3GH3NK8EAHV1OG3CLT25Y5ONFFYOZ5CQJZYA58K8MOIKYNQ9SPBOR3540DWPFD5UZ8IPCNVCB4NRXBWSWMXUZGC451ZKI9G4L9G7L2JZ9BIDBCBINNMDIIP2VIX3AA6IUCMJOUU32D22THCWQ4U4DJCSYIKGIM3MR9CDDNAKONW2LGANPC9C9YGVZR0GWC6Z1V2CE90BLHG7PS2G7H96QO8V94K6RYPTRW0S1ARLQWFFZ3P3ZNW4QN320IKHY5QVF7ILFTG48YHVM3NS6QUBLXXO9GFSP95PQZZFFIC8OUL23GIKW45BIVU5CMLWEKCT9MLPARXCQVCXLNAIEOTD67DABYOA321UIZW4Z3BH6KUL7E61CQ7YTD1NBIAUEKBXZKOU2BVY18GP2OPYVIEOI3NNF5VKYF4A5GSY2SRSDH4A9DKLT = -36#1GOCMWIEN4YD5601IRIEWJO0SZ55ZQ610UKI9ODOYZ1AS42O0NNE1NH5OYVIRD7LJIF8O0XV5TDS3OHIFDCR5QI5FO4LB0PI1CPIN6QDVCN9KK33L2YVD3AY0G4UBQ2RK9F2PDNZARQ12RIMM8CXUCMW8MCBWWEOABHWD59I67ITZ8C89KN86T5W9HOQUGA96P37E3NZG4BCNYFI90VWV51KF6YTEQRH9UCH9L849IZAQ5MOY7A6U4PFOHG8C3R40D70H86TW1ZKL78MPOUBGATBPTLZYM31K327DTO7VQE8F8OS0RE3MNUSS6KBVALZZ6XSGT0VEQ9VL7PDELUMGUAZK6BXZIA99QA0KUWWTV3ZKVEFBF8T4SJXHVN8NWQ57E2A5CHTPMQS54Q31C6U5EM7CFPZDPGA6CK1Z64ZGS126O10MJMM6TAU45NO9ABR99S87Q0QTSFTZQJRI2PARXOWC19IIPU0AASV73UHKKGX2T2M3M0NLTGEKYSBZYDYSP9UCHAMDG33STZ8R4BCXSL3005L049HGFZWNRK6F0LZTILL2U46AXI2QIF0GTX0QT2ZZLV3PBTHQSBFIH2Q9FUTCQ1NMRTGXCL7H1GY01T1DNXUZY32KZ1XK8SMACDCDPFHXQ3097V0IS15I9SEPJQNDHH6XCZHUR87L548KX2YH10QOFU1K259SL2T93XYGH1YI4M0B1J4U04AP2LHRQIDOFS3ARSBRR5IREDM82JMD812V8NHRXFU5M0G0IEVU2GBWAGIO5FK91UF09FSCYPP4X0MGFUVFID2V84SVFU5NAA7QKNYK13EN7IEK0YJP1A6GPKQBL6L4GG1S378W0NB488RZ886UAJKMCO0V3P3EZ34FHGIO0X4KY7GJOK66T6ZB9E42BM4XY076 div 36#2VPD2LA4NM11YTGP0HN7BJVVBS6SGE9CVNNL0843GT5K6IU15U. +-36#2AFK3W22WWPTCEJANI61N1MWBAG7PF60ETPNFI78X5MGKUXQUA = -36#5TJ1QIT4K8VMGX345XQPT1F6OLHUIJM5H20ORJL0B1BZTE6R4AVVBPF0J4FDYXOHW6DBIX3PKVRRRFKKILTU02QPF8INMK2NJRA div 36#2JI7X0Q1SRF0DR33O704Z2I189R8MAIOBZ9WBZSGWI6W16Y3SJ. +-36#2505LNZMJ0NQGACWCMPW6TISVOW34Z2YQTUGG0IRL2QOY3I0PT = 36#R3R9NAJG7QH02ACDMUNEEQIYWZKGZQ2S125UDPYI84G5Y8LZKGRN1NQKYKC11WZKFNBL346Y32YETOVRJAL3M72SSG6AV8AKJKB1U58H0VWLK3DTDIPM8IODTQVYVG0CCOC4Y873WBQCXUQRP58RWNWMTDJ0BLT2UYOJ2VR94A034BJJOWV6T4IXT7HJVNH79I01LLIPSFPOPJCFWMGIZILTXYJ1K6159LDICGQA2MM79HFDZGQ857WLOJUQ0E64WCZ90WB6JTKATUM24SCOLBM0BHX1ZVVA6MZ88HWC37AQYKF8B5GFKT52HFTTXGXBF div -36#CO67SGRDGNB4FF9OIFRIEJY2H39MPZQ3H0MFCUIJN4VYBWRPB4Q0BHCK26BHG8KDSP8RN4XH5RFPP0863B94S0YMV460JZ6DFGR2UKCI7NU1XAL5CN53SGGGZHEOO7B0OUVQD0AEBWLK9MBYEWMKU40W1UGD4KTO2W8VET22OEC06B6ER033B8YZSNTWN2WFATGADLID4UXD28EEBMILAI22SG7GTIF7COT32DIZT7HVWDZRMKATZ37U30AGNG3V819VP2HIV6NYXTU3. +-36#3WGKW2H6YYLQJ96IOOM24AAP4TNV7TUWE64X0R530QVNFLYCT = -36#G8100EN0Q3D9809FTAELYKL1C5U3SNONU0WDV6UDDAKY5GOKMPWEFZQVKL87KTSNSFC86EO6X6WEFOU91O6WF2Y1PGEQN8YSMH15M8KPTQUE98UBER8MOKF0UQFFF3PEZWQG7XH28L6GKGNGLXVOBD7MLTVXGINOHU7WSGI0L4FBL7OTPPI97FTC8C7HCJLJ9V0ZL7PRYJXSL9AWNJJBAYT89KUNNSXI2FTL4UQUSGSCZH63T6P6AY55ND7DS0NK8T5C55V4MYO8LVBPF5BBJ9VIQ1ZZ0TADB4EFVYHUPTD0HKS0RC39E96DJKC14SQIC9E78WDGIM28ZQNN6QQ5L2BEO7LKYSB01YH12YYFNCPQAFAG9HDFHL13Q4DMEMXC55RW7HZVW2DWPVXQVADAQQABZVOP6Y0Z0R1MJHHZDGJ0R6KSVPEYRZIQA6DOEHDRZA7HO80L6WDEAUAVDYYV7CWYXK2LIU8BAEWKOGOJKIDQG8PH4KN9DZNWHLABZ16DQO7ASMYZ3Z9RMTA97NW8Z1S6WKW7NJ5SSGS8348FBO33GGAA4LP4UCP953KTK3HV6EUWU7AX0FNNZY9Y7YHF5JIW2D1V3OZ54H2MLVB49YITK2WO4PNLK5I9BMZKW6M9Q4XGH9KPBP4MDK0430NGQCMBDOJXNPKH90HAA1U9DUJSEOYPRZDB5V5C4X3N0CZEYX831KQHT7HHU3RXUWBXGEFB5MK71A9KG div 36#45OP8RW01FZBI3J4GC2IRVDA028MESSL9I31U6XCW5YCLHP6BV3K2PU8O0BJQG36JRRPD3AWIJE7RY0TTREMW96QALY5QJ3XJ4V76VM385RUGDUB9OQ5F0CHI1BLPMV7NW2LR1YTHT91U3KK2HDCH3VJ4IKU8DZEWEAYR40KDSBU93RTPMM2SODHW9AUWKTU1PYYNQUSZ7MTZYMGO4L80S0CG0XJORNSF5ZHZFRNLQ194NVJL3SLZ2XKQSKUHADZ6IZDXCGFYWAIWU3YFKXZEBZ3TF5BRPFABUU9O244EBQ3NS9Z5PFT3V4VZP6TV6DVXHVJYY8DCRI028MMQWYS9ASAW4NZ3Z7HDAQGOD3RU0IAJT8SLPJ3UHLIAUCJU5I85WSJN4XG53ORFGTE8G14GHJ3CUE0AAF6A6CI9Y220J3M6SY28XUETVSOYK6LI06R9DABDF2D3LVSZBJAW2RFUOFNOGQVF3UQDLKU0IH7M15UXB7XBFMX9AB82S1PSUJU0JF90R0TVH2EYJIJI3HTMTQLTWZ297YWVZNCGAAM07BHHK9752Z644T48L1MI2YDC0E9361XBL97SYC62MRSAL7TV3AAVAB7579XCMKMP7WFZOMWJL6VA40US90TBNL1JW7RCHSH4624Q5MGJTS61ENANEQEYV5Q5DR25QJXP2717A1M8. +36#2PLSHSM10A043W04B0PJ2T6MGEGZW8DP4P7NO228Y0W74FO0F5 = -36#JOGXG852NJSG3PRY52Y43R7SR50R1P474G2ZX8MNYLER19NOK19HZB5QLC2R8J35HV0Q2YZVJ3U51NDOM6NVABOKR4WFOY7AH5LD5LS2NPPHCEFZDT3A14K70DMVZB3BV7GOLW22GRGWF0N4FO6CM9UDFJES3XT63ULAX3DW7HCCH1IUVW1WG5U3C8G11YU0XVQHZLJ6A2YKJ9X20LGUIHFR7YI0MLGQEJ53LHCVRNWI7LIZICEFZPY7WNPTR46E0870YKU398H9FWK3UEWHRSF4DN6GH2S1HGCQ2ORQU4ARYAVO2LRI4O0RQ5GYU92V8L408EB36ITA5G7AUGCI4AH4FFENWA7HNJRYAUFNHQHNWXJT5F33FR5ODWPRML66Z7SYZCUBPXNKKEP5PY7QVZ0RC4Q037BTPCFMG46WL4BQVNW1ROTHS0HBY3JFULYNTUJT8EAY6NCTJVKX6H81AR8CLGCF7LABNQIWNE4MB5VPWN8NZJBJ88K6NLK70MD2TZBFQE13OO8EHL6NB3FSTYA0Q3KJTNW6DGYZDQ4ZH14JHTHGPGX9EX2O8OWVKGR3NEW8GMDSCTFJAGUBFPFPVZDDF7E7WHCJWHSK5ZPRCR8JNDZ9YK6T6BI9HAZNOMRZ5FHCVKT89V3VJTVHMVDJR2WLZF4MDU9U9YP4GVAYBS9QJPN9QNKH7V9NIC7J3G7N6B9DWA5VYXTAJ9I45N0Z3IKWO1BAAQGKK2E797MMTOM5ZUSTM6GYC5LIH1WL6IZD1G4B8PT27E div -36#79B1JVPKKE8HBXS4JGVKMO52TDNT3DB4EB4Y6UGDLVXBMIL7WBKCDURI13Y6I8BRGT8659TOFWO077DHFTD03VWZJCGQZL1Y6OTU0Q6JLERLE65XERQOYQRCGN6X0K77EY1HNV72V21VYXUF2ELIRM1NHHBITIE60P92X4WJJRZTS809V6F6UFDITRA4Y9KIRQ5FHPE2T5FA9YKBBCNKJTUDY3AAS2SQU3H48E8AERNYDVZJBREAIE21SYMDW3V3NIJDH68AURRD0D0UKK9RIE1097N9R40XJ5C3ZQW7X6GBI6H2NJOJ18R04L34UU4VDBKROTP34G9WO5W660FG47G0THJ31LPKLC7ATMCL8OGNN7NWWJAK9DE92ZGYLH8CQKP06WGN6RYJFA808I3NGV080SRM55Q6OC80R4XCSXTR2WJ733NH2WN3I5MN93N3EW2JG8UGZXO2Y85OCZ0BFL7WRET8E6O9P8QZ5AAG8XF0YZ4T0UY4VV5U93E1SB1E060FPCAYKAJC4WNO7Y7YK4Y2FLA7KLWPWAMRZ365QH4A34E1WEBY3PW0K2C6DJJC6AYO2JHACL6A2XG67OQTUUCKG316Q3JQR8MK9S1P8HE7YVG3H9GHWO7SKTZ75JDSRR007681OQIPM8X82Z3M4BI9WZ6BO1RJST7GYWT3QO3XH2N9C124UE7EP7RMBSOWLQASL6MWPEKCFLSOV4UV39E0A. +-36#2DJIQCSAQVBAN0Q40NLQ4XJKQ7BYCY736NPC7HO50V8MR67AB2 = 36#6KXTUOSRQ0YVLY44081XLU2IY7U9Y5BY2OODKLCPTBI4HQMMN1YJ85VHEE1UIK3FDRED7PYG2Y2HE2AYZPZA22XF9EEJDPYQ0AVJNTPVV52GLPB8FCUNQV159UEJG2QKHIICIKUYWU7LK8NRM0K div -36#2RPQF70LQOGQHPNMBYNBZTYRPF7HWVP6CNT021RPU0H1SO64AI2AU3FJIAHDS1FQUN32KZII63ZT81OJNOZTMO3HJ1NBH6V0ZA. +36#1HV9BL1VVDSR58U1O2AJT0WEE0DHW1XQT8CSAH6MI306F8GIIF2NAFDG24SKOUYV = 36#28SBUEKKQAD1OSK36SEXICHKNDQS38PUKJNT4V9RU0BVCOLGORRYV2D4OJGLG8U84EQ2ACRU1NPHCYDZKET7PLYQYKNENPLUV8KMZ5FV2D0JRIRW1 div 36#1HZMJI4HA6SKG8S0WCUP6MZLJP1KP8B89LOKHQ799XDD58ZHS7. +36#1NH9PL5UVIX7BSJIDCIT0DPEWP0B1C76UAK2AZ9SU0IOT8ON8H53TQBI7DC07O9J4KX23JXCWD7WRY8ONJBDCUQYH9L8DXTJ4N2BG9JKBMSXGCDPIRNXEYMS1GI8NJTAPGEG2T80L3C4U3L62KTD885WFC7LCRXZPASG3TCIQMYZLYAO8WN0FDF3B5X6YZO7NEIQP08C51I7XWAROZR04JQWKSEZ0512ABVINIMXMZL2XNYYOVMV9IO0Z7IPYFZPDWXH5IZH98BF6TIE37RJ7JA7L4VOETDTV751RVMKOJZQAETORC1NKZ7O7Y91VZBB7RVDFN26UVKGB4Z2RJQPA = 36#1W72P69JH3JTNFKGURGL8XWWU7JA62R9AY7562S2BFM0VIDH1IF4TKL4GAZTNOG64TTCA8P7F831TWUMLQDEWLXEECJNDICZU9E1VMB7SJD5U9FOKFN2I1YQX0VE9H8VSSFNBO43EHC1HQ3FRYWJOBMF3T9QJ11M3HEN6W4LWW6QMXOOISZQ4B942XT34WYNNYA2HWP1JPM0HUAFKXTFOGOXG4D8EDPCD5H25TAL8TSA0Z7QI7DZRSTIFESRB08TT0CBQMPEJYU96TT4P7YURMBQPFAE144SGI96PAT0FEXW3W80Q0Z7OO243XHE8LHK4DBTAYQ0O4NJU482EJROJIGA3CIHGU4VOF9B02SXQ7OFK393NE6Q235S2W7EZTIP6DEEYA div 36#159XHEYE36X84FR63DIFITUQXKFUNN1MEVC7HR8WD1RGDYPKVJ. +36#1YDUJ6U6RTE94HO51VBQR4CTF73F73LXH5H1Z1J7JMRETGBN8 = -36#1KFTO5SKT90U4ACVE52WE8N04RSQLPCWNVVJ4XKHJ84DTSFKYWARFIR81V4LY99VDT4ZLPIEPHL2M3CCV5KPMQ70I84IHDH9JS2JTOO9068DUN4ECOC5W24EX4Q50CLTYTUUEO9MI1G7LJX92RC12NYAIUKLZY2DOTNV7QC1L567HZ59PFQ7DOLSN0WI9R1WQU57X0BSX527O1SZ2B5MDSRV4U7F4SV9WKL6D76EN7V76OT7WGLCEM81E1W9BVBH821XX6XK2BKUA2WL2AQ208LG3LBT2ZK7WF47C9STG2YKXGPCJZML6RJRJKTX1YE1S9Z2K4AOAFNCY5BT4QP7ACSQXT0YSXGBVXJ4C8ECUWLQL1SQCBRPR82VY1XPYE1N9I3QSWO6CKUX8VSQ6K87TUHEHD8G3F5CJXH5IFIMY3NYV7NI1JDDSM0XSF5ZJ3XYIVETBZ6OGLGD69XH6L3N92D9TKDZ7GMHQAJ2YM83XCUUS1FTGZH66OAKVK7HTUTJJ9RV2U01OBSD8WJQ889SNK4U351EB0UO6L7VB2EKGSC63VWKBMOJGPU1U16JJ9NR5PSOSIFEMIQ6W3I2GS6TY0ZLFADYY8WZTFX241RPP0VLMUK5G59N9JV6CXLNXEI4T4LCGMPU37AJUB49E4DTREWLXW2RPBW180WXWC1MT27C3KBDGKW47N14GN6R8JZ88VX1SIPDVWZDPRAA6TKHVI17MGRSHO52NS9I8KNRER3RIM1TMRWEXJWKYI17CSE6NPALMG3LHMQ22RM7Q3DRKLZA416N4QE8APNB2EZSM7PWR16603XVKJ3RF804R3V5G2OGO5NA0KHXPFIB1F8P2ASUXIGNNHZZAUP7OKHGW2G0EEJRM3EJHOGJF1QTAB81LUJ3NLJVNXGSKPDO9BSNPVGLZ0RPTVUYO1CA8RNQOKOW div -36#SV86KWB0Z0ZWREGQ68NRSHF08FN0HZCRWBAF62EXVED8JHWQFIEGBECEO61IA7X3ELXON2U2Y2NVSE9ISZDBH8YJO4YESP1Y0HNTUYF7M0RNXKJAN3LR0WP6OIUH5HU8N0VB1KXPREWFBEHWAJYOEHFDPB8UA9M3CJ3WGU4URCHAVITNLM7RZ4MO03XQW5VILSOLFO3WI7P8O6I4RL1HA90ZP1Y5RJH3H2Y4HE64ZKR44C72AAHI41YV5LK30S418WU3S0EIXQ9VG1FD8XLTTMFNH55Q4S472FABB28540DZRBHP8VB5DO5DGCDR02ALCDIOQD5L6MP37ACTKNB158XIVIK6LWDRQWFC81FQL2NRNNKJR35ACQKHUMQWAIQ6588K989TFUGVGMCKBQZR1QOBHW2TZ3NM3OPGA5BORX5ZCO1CZXJPE95SVGZ266Q6JU40JFKKTK6I2SBOWPYJNQNUJNS6BPFR0W5LNTI8BA2MWD8SSI3QFF77DET1D21T0MAK2YQQ4VAPNZDU3N503VKCYZYDQKKPRMJT92GKIFTXUGDYYII635YTFHAWMVBYFWG5N0A82BD7Q8E0W5K4DWUJ9MEYBEV6YPVQT6XB4OMS93PHTENSAT8X9RLNXOAR7LVI9D87SG5KGQ6K51DLXO4TEXMYS4L3QFO2XWCAP96EW690BEQE15K11W2P7NTM7FA9CITPI2ZX6JZ6Y9OH4ULN4O29PE85CARMUQ163G1G9SYKW8VJHFI8E8YRDJFZLB98NLP8JGCVK6JZH9CVYLPFUOFMYMNTL4OEW789FUUNP3X3FAX9RMH1YXQV3ZBG2M8ZTR8VV3YON02A6AUV8M6ETP9N51U9OO4MH6E5OYPP9PKKALXELT0OBN4. +-36#KC1C364LT67GA2KT6BKOHUWJZZO062RXSC16ULYI93PZMMGFFOMCB99OP0WB58ISGSS1LD5SXYE8N1IKV8Y2OY7UH4VBQGFSPRMPM0X1NP23JTKD9XWP9JEF8UVTJ5L77VBMD0LC34CMLCSK4KIHDQHGVFBNGZ4FFWQGZF9Q9KP36JG6H33BGBG7IBN4A6HU26OAJ7ZDNP6T5F5LH8XSX3QGDG7IR36FT9CHPRZY87EZJFNVS9BMC515TH6NLB73XDZTGCU4N12GHIQ8H0RSB0VEOOEACONZFBUSVNWBDG3C9A76786LRCYZR8WP5LH8H06SIAVKTEKNW4UC1PMNG7DZPF8AALTIETDMIBCN0Z4EPNXLW45TD5TA23RO687ITZZIH4ZALNTSCTMIU1YIYNR9V0M05RMO4MWGE8JB7SG5NQG50A9CJFOX4986CCCS1R51ZJ62U1ER4BGF3X70ZMZ9XJ9IS5DDTKDK9DOULSZ7YQTC30TIWD0ZFQ9JI6AGYC3D1FYSZZ68LTIDGYIPEF1Q7HIF8802CBTU8L2O7VPCL8WNWNTOLE0C0PVAP8TPZ4KMYPXEJNNC3IRLS0C8T8MLO2ODDRAAEWGHHG9E63SSE3TYGWU26H2X254WDK9F8XT8HLKPHMDWC669ZQ13XLUI27PH9A7IZGQVYA2M0ALD0C2PDCQLVWUP3GTXLG1OJZD3Y3K61TUZX5TH8PFK1MKP0JK91MN8CZJDUZ5GLSE86P0CJT9D80GRXN9XORQ7K7WM948T2952P969NTK7LCGQ5USD88Y3BK1BHNAUO0LS685L98RV99MWB0QVNNI4D22JS19UU7MQCJZDM3Q7Q6471Y0Y4KFSS7YD2ZBZJ3GVB616QOPNCAYTAT8YC2KAZ7UFBJNPHW1E0TGOW9YHAJ3PNBHY3CBNFKO7J7CW75T8GATHCPFQC05CS557NMNQVSCVAJSY73T6X6U517PUJKPEH5W953N36NX97SOSYXSLGLGX7QQ7OZVD7497NBG9DTAI8WT4NTUV5HLYSSLPDPRQ8TICNBV = 36#1PO7CP60DY02WIXLCJJQD7G40H57838WLIDNWCSG7BY60BFY4SECHI25WATA1F0M8D2TUD1HCFYKHBZHSM4A546503PXUTWNFLFGP9MJ8VE7KRFJ3CLHU0PQPA86TXV2U64C1NS6VZBY1Z93D721Q7IJ8SGLOD3K9OABQM0GIGUO8CB411A1DBB4920EOM8SSFC3JD1MKMFO7U25NK5WF9GQAKPUDE4HM5EJ3FO6KA07PAWXIIH2CAXHV447U7DJZZVFW7N6VPS85ZV19DEI3EP2EQVPQKRE392OL4DALACDIM1RR54JSAT2GAUD4M7T0M6P2HPV65HDIM6EQ5WYR81FHUNN65M6XRCTS2R1JHCUNCOSZP1QH0BVF14MGTVDYNPA3MQPMETXQF3S18G3XQGMGGHOP944E15XN66PTLUY96DR749QTR4A23N6H3TDX3NQDZSTVB13EH4Q122DQPQ3HYQ29MLGETKZ62XTLHYOZ03SIYR9D3IG0TAGHPCZ3T7VEUO0BDGBGMMY46W897LLCZED7HTUCYWX0RLOE1TJXN5DFVFPIREBZRO0ZZNXXTZF3N6G2HB8V4RANGK63O3KDWRXH3CAHWNGI2EMQ6D0TT7SGZM5ZCTTBHQ7YMK8GVBH049CBH15B4FF1VCZRB6WA9Q33JSMFC0DHB6E16E83U9XIIEPEC6D4PY3LDPEUMAC87ABPXO0O5S0J61QM43Z5LH87FWBFCBOBPXOPV0DFQO56H8CDO6L2VFP5R50MTZMZ55HFJOCR6FUTTY3UN0SMK5XS2E9FQPS8KS7VBRQ5W8KWT6NH1THRUG96FZOCWBWGJKSJG0Q5L0EKAYAHMTBVALLXMST3FKIIRC872JSP4XSPLG6WIQP79B40BQRFPTCIB59ZGL5ORW0LNAAJ29XENX6Y86JY1HI187VKYXTD07V6QH2IILR4RWYWC849WX2KHC4EXGZGN6HL2AO9ST8SA0IZGKW5IEIZEWIMOZG30TPZ0QTX5V8704UI5IXXG6R8IMGA0FXCWVQU3VV0K57BJJGEJIET4N1LABO8IT0TKJ3ZBLF44S8FMZ54H2PMUYWVLXLYF5KPCISYICLFUTUBCFBBWSSJF055BXSE36EPIXPPH4OYXQJECJAGAKDX6AQV6GA0P7XRXJMB0EZ9L7JGVJHLS2X2AGD61FI0W3LASM1570C6U0L3PA4FO1YBX7HGZO1YGZ9ZE7H5H6YT2FD2T7MTLXR4UVEV0MYQ16I348J6HVQDOHQI97C8QBFK3AD4F4Y8WFREQQW4W7R3R0JD2PAYAKZ1EF2BDEJHTGF83B8QON7JK2IND7JO0TAJKPOCD8X7F50MGCSLVMXCAS6LCGBUOPOKYYMM1EVPB9FGGVRVGWJ7B41SNT9G1L8USDLBQ32P5VQBBSE4SID8TVDFD04P95SXBRP3L147PUU5OR8GSVR0BMOOLZ8NLFD6A18S3MLMGVQU607C736BWENLD div -36#316NJSXVRJPW1DWL26XJZ8ZF28UVLHQA29O4IYBA3TOS4ZCCGYJ3OW41S62T053EXFNCHX83O5OLMHX11RZHVNC6HWVR5VTZTC0OEIWDE4GL0ZIPMO2OL7BZA398NVWJQ7TWGAM4ZRO1OFQF1LWT3CIMPUGMX1O4B9CAVXAD9MTEGC5DHI69LJONG1URYJJZ77QA8RP25VRKQOT5XYW1WYOUR6OXZ4NG6BQPXT20RH3BVSPINXJ8YVFJ3Y57JQMJ9FYLZUJ6223YIKEM6WPW3DF46LIC3AX15B1TP69IKSCU52D3L28L2ZDJ1CEG62YPJ49BRT3B701DG2QYGZII26RXV7HUH6ID10B1NIEQOVBWG9BD6RSJUBST6OAWSPK7YZQNDDU9JTU58ON6B0ZE6GH3TZZ4U7RE72JM1T77M3NZZ2KN860N4O3QQCJ. +-36#5MPJ8D8UBPNMAKEX1OCOLB9BFCJ3T01ZKNOIGGF9V6I7OC2H3MRRYSI2R50NVM959QERLEY5WJLIO9ZLINAM4AB880ARQJE3DUUMDTGOF114L30TROGPPP48BLOYW = -36#5L5W8RM91Z07VNSZM6SGTT68N9BNJLYV3AJX2HVQCOD6CUY4KIY812EB7EH1KRAP7KJ3Q16AM15Q * 36#109YGA34CF63OZU5Q2HJ0CCRKBXGYCYNDY9Y39EY44BYAF3564. +36#5ZCLJGDW4HZ0J6NLAGFBZ77VBYJ83873JF725QVPY4YANS2F1BQRBPFAG2XZAMN8V6I5YB9A6LOCDVABHCS6X28X9VBK83IAW8U5B129F3O97XPA5R8VSSUYZF2UTXXJVZIPSGLVWRC223N8D2AO5P0C5VN9NHFJ4D9POQ10Z282L1VN7XK38VDGSNQLQ7TEE7SQ4D0MB61EWH8VU744U2ZXKQD1VOVIAI = -36#32V62VKH8HX5V7LN6IUL5IV7RYSPTLTRKUBITYUFKLTT2XL899 * (-36#1XXEE1JLJ27754FB3KJMPQK7QD6JHB3FAOAR4CDS7BD258K6AO41CVS0I5Q1AWBJP4KYQRNQFPCGBC3IFME0J66CQCGQAPCDA5JVUZ1ECM7RSPZBNJOZ61UJE3TF8QMQS47EKE0Q9A3IWZ2CKSNC0381MD8VVQ95JRCKI58D866SNAXJ6). +36#BK41FR4CSZKUKX10I9D3BLVTQ0VHY9CFQPB10VL1ESXJTO30D8DOGTDQP5ESBE4VO073AMLQIFRXGVNZ5AY7MK3MN3BZH8RGLUD19YWPHUHXZ0BJM9U83KTTLWM23DHJBDB8U1KLXD72M36KZDV4GIIO12VNJC2SDK5ROITBOGXLBNFH269NHVCCAPOB2ORT8DRI6U9999ABVCMIN53S4EF1IX4D5TKIA5PZV7IB9T1Q08TBIYI2RB8GH4RSLMXYG3U32D7B524RZDFSOB6IJ6ZLZYK4SWVXBITWTQSGGMJQJE9K3DWTT5U2ZQ46JX94X83WCZGN2I1U9XOGW29VR60GRIVEYJA4T2MCHR3083JEL1LV6VXRM8 = 36#49UXCEPSI7R86VQFHS8KRBSD0T9C2RRE4VTGJDDL709EOIMAUUFDPLR24JT9OEJNA2SIFGSNWSHFPJFJSQHUFG5BZKOUSCCZDLRR93LHM0YPI6KX69PNC6PF2BL6P7VNLDQRF05ILYZMHAE5I5GOE5IMD2WRZHJIOMMRYVZK8R5KQJ2LJU33K5JPI8RYNKFRWNWVSZEBAT0U6HM2SAM6YFVU6V329HZL4X5XNNN5EE3PUEOL88SX96GOO91YD7KOAKI8G8PW5NMHOOTU9H87GOH5FPA7HVOZYVW94D60SGC7BWBS0SDICC9F3BR387GBOWXK1OI9JIS5ANGTN2ZBQUYH6BSWXT5NVNJ9GH13EHCA4AO61JWCF1L3IVTJ3U3PCAJA88A996E9YYYNYZOIEK0N29FQ82I8V05MWTDTAVIIIEIF4MS4JY9IA920QNN1UH1F4XU7AWW6HGEEV6DJ1JKGFS06ZO5ERKDCLATYPKVOXVCDRQ9G8CDVARW8ALQNAQF2R9CGKEIGVYD1B6L31EGA010PSQGOJZ4W2VE2K6NAWJD0IIP6O6ZYJ8B5J3LAAA4MQS9AA5WRAZ4UTIKC767C72VZUM0OR59TNW7QZ2O8FK8EMDIGLSOUY8DZXLWYGXLDQ2BVVGJGCF9Q9QF0YP31M8AU2J1XRCYJ7DEPRCDGY0ETAKNK6WXPO8Q3QVR125M45359V7X7F0G2CE638MDEOK4D4FTJQ9DNMEAIM4JI6QA5DBU0XI4Q1P594Z43YCKIYVS53X3QTRAECFUG1XWDAZSM1O7ICTT39XETFFC7DJW015F8AABCOHR4TGEZ1N3ZD1V5VFL1OI44GBPU1HESQAGZI8E7QS7U437XID755PVE5YQVZ2BRDT8PC24J09W2FPVDVW41X79U654HTE1MIC2YLEDY4U3MQFUFITA740W5KZKHZFLQQI3WDYKL9L6T3LWNFUK721NWH659C7LBJDSA4YLJTGDX4S4NNLI8YB8YGC03HWBNJM0M732VWZN7WM0QM2JGQWN04TJOMA978A7WC5TRJQDMANTX2F4FRH9LTG64RYYW88SLHBSQHG0Z7XY02234GNDAVMHGTT74R67GU6855EVJBEOGIPXO4LUFWY0TQGPOW7DAO2DWN9FMT5YA54EH3GFN70E31H6GCQQZ9OC1S9A69ROEUCI4WG6N17HF60Z6XD8T8CSRDHHDANYS0A0SHC7B8P07YNJ4MVLSS0RI58QPW93LI7DVBTBE0AGLAWAVCS5JRGSJYLB4QQDC3VYGH2H5B3KH7Z0V90MC071EQVUAWSR0K39V9IGW328 div 36#DB78CJEAEXFPSWJZ7UDY8EJCHGARSR8W2CP7DUQWGGT5Q8JX6AP5ZRE4E7SBV4FF3568VIEIJO8T1E182YUWD9AS1H9XURH9TCRSIAWTM7CCWB2Q0SC43BWGPIAXWVW94WVYF4KATSF2VVQHISVHU2J24CQHTYE356407P3MRM46HGIBEVHL70VXY3FYUBCRZTKZDZM4PN3PWJ61QJSGO6ZLQ2HN3A13CGF9QNOR41DS25MHGBOT0KPMZUKJV8B786XKT161G4NJV9UYHY3UW1ICPK4GPMCKN9XTNWZSCDJIEFP9WPMQ4EPZUZKMYB7I52V4MNA0RCWN99A7UVWPF63S43PP3L90RYNSEMM30PHVP9FNWASKH3BP8XDME4AYX3ECZPH6VEBY7X7PPORO9AOTT9L8VOP3ER7MB71P1RNDB94Q2HPNFDAFPQ6GCYCSYDG8UFCWDU8IDSGA88ZO3SI6JPKAVDX5436BDS4MGOVXMTDLRIYW7K3QHNXN2XTXGF5OG0XIN0L2NE9TTROGURN55RNTZE0OR40DSNJYE9R42K969LTO1S7UTJFIKHYD7WM1LAAE7LW99WTRBSG0KY1SHUCIT2J2GF1VNKYWY48IZ3VN9Q0G20QVF7PBL53B0N43HF7YKX1FG2S6JX4U4PNL1G7HYLBETO8J4VRGYA1FE2BUDKWCMNTANB9MIPMZF6ORZU5R45H6W26RCT7DLBXYG480CKG7W35G9IPXXPAGE6PQGDWMVS44NG8ER8D379G1SI13QUX2UL1DNICILATWXCLAVQPPGUN181NOZ3N7SR0OUUO35IS673D1KADK7YFQN0HC81XGMICQEUW9T9OBQGN9GSZQ9Z6PRJPZEVXPZAF9NWDD4NWQY1J0KFER6KAIEM0CWZLTFTFYVRGMDTY4L9UH3AX8PPYL6V8BLR4A3QOXYHTRDM00VNRZS. +36#VHDLBUZ3WH41PQK4V4GI5KBQG7QJVQL706ZC80YZFIOB5DJSY = 36#1QTDHFEWTM00AJDSU9LNLAHK7ZV0J2GNCJ2E6YJY432NFHM56S13ZBXP34N8TK1GW554CFTRQ5GFZVFPCIID99IK06WVTPJPVZD5AOE976PX3WN3SVYXPGLQH5KVKWHV1VCBH5J1RWICHBA7E0HAOVI7XF235AGMGGIC744BSELLIFI12IYBPT55B1P1WL40DJJL26PITN9KLETUK9IRFM0MDTAWFYZJOTZHHQXULNNYXVMJ92BVWTO778WHE2EHH31XDERVN6UAF5DBA3E39TKBRJ71J9BSPFCZF187AQYNH22Q5VLXCU4S7YD3R3WRND76SFBYO3WAARTCBXC99BQZVXOPCV6XQ09ZJEQLELFAO2THJUKZCR6MK2SDBW5Q5ICDERF7U8UVG8WC8HISJOECE1SXKJVZ17JRZZ38HIQFYS div 36#1ZTUI7SY7Q8T8EHCFR84I12R6FR8ED7Q2ICY9OF1IYAG16SZCIUHPZ4I1W7T0V0DD14THHM8NY0VE91I5Z2K83JBSEF8B89465CZJ1MNPSRXXRQ7FMQIDAAGQ1C2G2P57IQLAESLZ3IMA645JSTYPI1OU2U9B2A8LN0GBCUZ7FMSZ4OGFVQKCV0HP7QYV99UPEQ5MXD2R0GMOO058U8DVRCP3VD84SWFI7J6SORW6A4L3BM0GG53DS5KNQSWFDCWTJE2V1S3QLVBVW99X9DLUQ767G5LBOQ5PUGXD00T4S5NUM3PYGOYGJ32W9UB4J4GWMG9KKYZB61WQ5P6K3LQOA2U7JKGVTDW6LZFO52HKKGLKUO4SX9H6AU9PWKDM. +36#1IVP77YMBMU9F9HQ9CFN1C7XZVIFVYXVIOSJ4W6H3HPVH61C3L1JGBVYDIE3IM3QDHU12ESW88SUX3KJY0YW4HFMBKUXBHH5OP4TNN5L09IP13F2S51BOU7IU78KJ24V9N2WWE2ZEMWNSROHKIH5WDYNS7M2FV2BJLPXW221AN48MN5Q7SIBDO9C5TDBU7ACUJM6VMZ1DQ1F53R6SXKJF6J816VPNOA03GYD8FPYBMGHAKM3LEDJ25389VW4V5PPU683AJT1ZJCGBB2L45DP77288WAI0LDIAZC9NPK4II133J6XAYE = -36#37R4A9P8GVE7H4XAK7ETMT6XZXMPROUN7E400W9KTBSX173FT7BFYTWAOE2RM6DO259KU4GINCQ45QC0J2CYU2XZWQENK9Y3SQ6XGLDMDI7YJGU2FJTP70UAB81NWNF5QMI8GY7W650FKRYU0L8488FTIGSZW645HQG8XNR2KM4LHMLX6Q4B2CZKIOK7E6Y8OV432GZ4XTLZ89LOPMV2JTIC19Q2M998TM14JDAPWU2MZI9IRI4958YY1PM6IJRGVDLKUUQ03ZWL0TYAKGUH6A6ZNAGK9BD7I8GXXOM2CMH6USU3BJ4BMJPLX9CA6DL0ZB1JZFKKPYTGJAPP1CIFBDWBO7HFK4FYELPXDL9PIVW8709UYIOYTEG0B4Y20ZINUFL6TTZBZY1I0AQ8CR766S1RR58ZEC8SODCYLSFKTWTHV953IZK6GD56EGJY9XJREI5IOMJUK2LSHED7E4Y9G7R4QQL5T2PZ5LYFGPZC6YPABVEHZK3WY78LDHZ5FR0LLYH1HBB5BLNHCH9JPWOPDPVYA4QLO3ZFEOS9MBVTQFLZ8RB4J45IECXZKIF5WD8CNNV0O57Z86MFWQL4Y4MMA5QSLE3E898LN7JCPWGMIWCOSRK6ZII31RODV0QLY3H0H4GA532M5KR3KY933QIWONR8RXXVAPQX020C0NTPE57V9M7P9XAA8XQCRH49XQ6CTRXIRUMRGG9RX6FO7YRKXCF8O1CU3TQWOBRFO6Q3H5Z4CMBEDOPEEJ4NYUV29EVKS0X9T0SP5KANV0FHNTPJEX88WLQGE86S3OGM6ERDA7J8MGTDQK8I9Y4Q2T80IQFM9G6KG1GSRSVCQ52FI40I7A6ZIHJNK5JJKF758QQ7JG8Y5Z7RPZLNM7MBGUYX1SSE2020IQHPMRWIUIFCWJGPID9AYMG331145NPAATQHF3ZDHG9ROIBGUDCN55RA8E5CJSD3BKPQVD70HCKVNH4BEMP8YFNIW6OILXJWYPFQXP9HBP6OURFW div -36#23XI6QN11J76YPOF18Z848PQ0EAUC5UKFZNQ4TL7TUDNLKXFN41OMFUQ1SNUWPY6406PPR1YJR8LK4LKBHVXH0J0HOPJ093KV75NURMKFYMTLLM9XQ7XN254VHV7N8BUC8TH1WUUPZIJW30X9DI6PP70B9MNVHI8OYWXD29OAMD8HX0K31VP719QG27FVK544CXMKXEOIGGAMPMZW79HUZN71U0VPBRLC1Y2OV2ZDQGUI8L4RBRUJXX1OUNIMF9I6RQ3F05F7X9C6D88KR9Q8K9CZ3V30MQWM3JUJLDA8T0N4V7150QEB0AOU4ATI8HKS87B4CXI60R9FZZXDN115N3R88ZU3WHN13P0KWZCL7YE2S4HHZI1QHDKT7PI2P3YS3YJREXW8QK0QEG5PDQZX8JPT0MSFXAHDO0UQKFH92IKCBDXZT9A7QOBR62UIN85QT5W2HA5CEJQRZNG92KBCPPOX426UY59T8GKNN24A12O67V47SYPCZ2BXYOZFJHW9DGPVOTI3006WXDT7L0XC2OA01FKN5JD9PVLOFHETOX49QGFOWYZWLWPJH38EQA9150UUCZNUZI24F2F9GPG9BHLWUOF14JOSV7SRSH78K04PEKGWDRNCIQZCZYNHUCW9I1LONWR6XWXDHFYNJTUE2MO0CUMZTAYUZZ4UQLHWW7MGLVO36HZ38VL6FWP46RLAA. +36#N7FEP90SL4OF7TCIW0QVRUU7UQNNV6MV82IO3MOL8EKDW44267UXC88QMTPXPS0QIEHT3E8DRZ29VNK7B3UL66BR0LZRDSKWAPSU6QGPVF0YJOVV0V8PWYWP12R7E931U1LEP5ZZZFKUJXK2XW4L8AXN1ZWX6OYL778RZELEZ55UCIXCKRWA49ALA0WACG62JR18BOVSJBFJ8M1TRVHMRE3ZYAY8A410VM3503ZJSSIPCH1PS8KHBYZWRO58 = 36#RG9Z0GS2SMR5JV1CFRQFJGVX8U9J366SQ4C58PA7ZU9G8DKG9TYCZ1WD72NW134EZOPOPLELPF2MQ0SMMZKML5Y084U0LVNMQNYJZ6TIYTSIU2UCTWXNOFEJYK7L1HHAJ54JHQDPTGUUW48IBZNMCEX8F2K53WEOEEQOGHVQ2MOMP3BTWFDXLRM4M2VNX7FGRTDJCPZSAASANYE76Y0UXB7WN5FVIW9SRRQCUSFXYIKNZODRNDQFT8EX4POR119K500J0OYVW0BKZH69FZX23TJNPYZTX2DZGN9EGA2NRXG1K div 36#16L44Q7GVFBGAUO0HGAQNETXMH3WSXDPFA1HK89YXD1H4BX0WY. +-36#BW6V1ZRWRH2ER4IUTT9D9JFCZBDN7TDE53ZDO6O6HRFUKQX9ODW5XAF1PFQKRAU5YHME0GWS3IA3H7BHKRDR74ZZG29JVMIOFHW482B75E54036DD08LS6O3QSM3NE0CSJO59FLYM6CEVKBAZ18Z9E56PCQF9J9YUPI1ROYAC7ATD4B2SZ07L8YHZXSSL5TDRCFM7X0SLK5WW6RT4RT5PXPN8CK8Q3614MPB8Q5TXEOQ6J0RNI7F86NRVL25HT5DDGJOVVWFL4JUGKXYPEGSTUXX5JEEAW7DRO41AHE6OQC0ZG5P6AJOZ4341JJW8F4Q54FGGHJ2XPX5IQE5D49GDLKW4F7JOUY1Y4MDP31JN3FS0KT1IVQ0IHBMQLXN9RGHM2 = -36#6GMO1XMGDM6H5GA146E6KUG6P0PK9WUWER0TDET3E6LYT3AETN03JWNR079JZ5O1VXKEQ571URGD1JQVKFH70YW7JUSF604EYM5KRBLY4CM1B6WYHAZTJYON63QGU5YVN3I97VHWL3VQS6GMFJF6CPDATM4W9K66S314PA1HH7W2IQ6Z4RVSPC3KGFRVRW939WD52N1RMSEFIPVTORYKDR30N1LKI97406PP592S6LSJOMVABD99N5MR48J7O0CIORYONZN8HD1QJHKKXUILEKIQG4GTUVTE3MHMJFMWQJ8V5CUUKIBYU3I3N9HNXV5W457RAIWENFOIW2J2V * 36#1U9HJ5B8CLJSAAN985VYXK8FSQ23S6KE22PSWBVOWOH4UG3HIE. +36#7NV8D7UFY8GBMGM8PLCEQN3S82N179RLL9KMLB9RU9XR1JJR1SH7E9JY627VF8MOIXSFRF2HZD53E409KBMMNHYUH5O7W7YZZ6XV9W85UJJU97EG8LBSRO3F9UU4FHDNXRHIPNGFNJQ95QRRV1YFATEYSAY3T7BZ5P3925XVHJL0CVM5HUP8PGMFVBBD0YGFC7VGFIKMTFVVLHJ78E2NSME2G0VLVZYCEN6DY7NGTJGCB8M2HW2DT0UKV3H0D5VZDG4NVET4YLJIJIVOBJNSCRZFAOHEOMVOY2KQ6KXLW7AIXNUMNGQNIUZWCH2E66BWVBXMRC68ZGHRXTBA93A8C2OMU8JO6WSW4WJVIO9XY2SFF4FQO3JXFXSUI83Q7A2ZU5QMZG48LWCCM6U52UEOLQPD744QY8RI2U9NTOSRL7DSTBCQ2PKDY60GZZIS496JDVXJVY3GHBRMEFRZ71PET4BWD6NNCO0C1NIDG2MGXQ331VDPNI6UCAD2EV1K407OMMM57BMUUXTN2ZNICC05D2908PY52B286Y2R1U4MCZRKD7Y4ZCDON8ZNOG9T1QHLH5SNTPF2JSEF5101J894LMN7BB5O = -36#YGUJKDZWFFA6WKD14MRSCU33XP0J3UPBKB8USEKWPSIT9RTZ75W8L4JFFMU6EMUAVC71OM5GIP5OAHJSKSY3A14WPQNHOXN82JWAA9WG7ORM9DC77ZH5VSYPUJ87M69CLMOCTLNWBE38BCJ8RF7PKAAJXL9EBRF4FF10OKJDD8KKD7QRQ06WQ9YC9PB9X3Q0G9IX783T5NE1UADVJF63FN9TPL5PX2KP8CLYB7581S3UB6CWARTD7NTRSCHRK26IKUOUJBQE26SOZZNHQO5UAHBS3EOB6CTSAZPVOFX0UXDXW911Y2LFISUHCUIZZEY7H3DJCPXW3PSBW6H0YJZE16DQIFFR2FGM4AHZIQA56WKN8LI6LR5MK6LRJBZ0Z6MEYYSQJS7GOOF26JC136PV0D1KTB0DPLQFLINJKSI75F1L5E2OHQMQULFWPN17OZ4TK6ZF9M0XFAW0TEAV4LA96AQQPGH3K14UQ8LW7EVKE1XV2GWGUBFTZ5EBYA28B7RO400KKKFFG238DB38I07Z64RVYJVU7A1HIYC7JWZ5VU5 * (-36#804N4QAL5E91H8TZEA8YUCR2JHPQN7NBYZ048IZVK930I208C). +36#7FJ0DYKEQRYXUVIUHLFL0GXZAHEUL2GKG0W2EW5S2NMIVALMYJU4LZGZ6SDGX6WM2484N1Z75PUFY5CX8Q3YR7UKOQTX4Y063IMVGO0532E5R05SGCVN06TCG4CYMIZ02ILALTFOASI7P1BEL7IHV058LYRMWD65MS9F49YCJPOXHBG3NEOLAUP4Q4Z51VLY8K14DDQFALJ2MPA8PPXSEQ81Y4A4GLQCXGS60FWJ04EBIMR89Z6UBF0KFNWA3MFO2TJ3420HEBQ54O38AUUU6C0QRQBBJNVB8C8GQKAPELOLB5QL2U4AVAW7QEJT4Q39GEWFYTBO6S19W2OM = 36#IZUNHE7YIAGBYWODYXVQN5GO2K3QKBWSN3SYSBVU2EGQ71G3PYU5SN0NLAJ431VSKSKMCWR3B1TSPPJPUF8O3X3G2EWQ9IAKMCM0N19B70G60Z63CXEU0OJIFOQHUA96ISDG5H9IKKM5O57AABORXUHFVWM9D2TJMR5LZVDBVCWDAGKC8W8I0E9DU4KVL64YKBLVC1EPOFT5NMLHHFSVKIRMMX27FSEEJHLJ8TIDWBVB2BFWBP7518P9ICA4AR3XGP8T7Q06VCDZZ8QTKWGLOMU7RRTBE3UKRSX2BRSZBEXU3PRVFPV89R68R9WT8OUCOEUW6I8JUB7ZXJRUQP2CO8LZ444RAA87KV5WLSUK4ZDM8U4Z3OEFE3IU17ZBR4AHU div 36#2K0TEGB10OTVNA5KDO98OPNW1SL72S6WUPD9SP78QWEEU7VC43. +-36#6449JY8TE2MF5XBL5JBIHEO9W7KR9ODQ06UDBIJV5NL9ZZXM1P5SRNK1T5TY8ADK9P02XE09XFVGA332UID9S2VXUM53DPOVU02R2ABO3S0FD4B5CGOWJ7ADG1VV595QLDHXESAIIJ3FZ9ZP23EVWT5T5VYKEF6062MXIIVBJS2PO11L572DFXXRUMG4O95G11VG104KNEN756HRJAUI5NXV8XENYQ11MVI7IDUIM5UEEIK6K3PV8NGIN8RBHEQ69CC8YII3W1ESMWICSP04XWD61H7NB6FQKM7CACBVEBIANBF08DSU26Y28FVQDXR598XPMEJ8Q0W7OX9KX6QFY09W500CGMRO8S4SFADZ4JQX1X4FPYNATJ4TH1W0NG74LC4O8JWNHHNA3N492HTF91P647776N5EZ7XDHNVZMW4F9Q0Z28VEIR1AC7V6IWKOQFNM3K1Z68JIYI2G006WM3STWVZMZ04YF9J04JOXW4TG7Q7IU0GWBPKOPAAUVUZJUYYU80GQ6DN1QZ5CT3QYZ19F1QPIFAVBJ513KA7G82YCTIPE5QJ58XRJMVAPW4P40I8LAWMQ8T3F3BU2QQGB = 36#EGKW7DRD1TJRX9R93WLE2QAAYAV77ZNYL9ZZQ4YAMVWI6RS89RQKE9NS9O38YG9UHY8NNWVI3B8Q2VBRVO5Q3248TAIRXPCKCLR1RJYHX6DDXL4FE50SXRD5Z2X97LIMQ2K0QF2OFLQ8YNHDX10HVA5M33IIYF1HDRV788GOOG2NLN13LSIKCPLOGFDQN1EG7YD8ZGXQORVRAKQ01UQLTATRJG3TIPO79D7B814NPX4P5NAMXMA7BAVMPKQ7SZZH6OKNDQOUMXM5ROIDBGL54FUQ98WSG1GE7ORZ8EZE8RS7S5FG9IAQBN08N54YXGODKZAOG0XUVI8NWCD93GC2M4NH6BPXB3P4K8EAQX4QRTFQ2E3LYPKIG8XFSU51M33ZHB4DKS0T6ZOMUYFKOTW3BPRJN00WJ05PUS46G1BV2PKKCJQ4W5YB50N80T6C9XUW23P80SLTT3SIIS3QBDIBA82S4EQ2XCAK4ECB8IQ779EM1TGTFS84N6NZDXH7YI8PTCD7USQMEHP8IG8QUPY96UN4W8N8VV9N8M165O50IGUF5XNVKNI5FGU4U4J9BJ7FCG2MXR35JC3FT06DU4RXMBCGD07VQYHQLRZ0LYP9ZBBYHSDPSR9ADE35BCSLE1WMQK0B8 div -36#2D51HB3I49HR4CWZTSHNN96BE95K10VKCTN7G3N1DXEOST03I4. +36#19YJ9QPQL8LC6BEDX68BI2GQLJLLQJT5648326QKEG8LCARAGG = -36#3Z8Q266UWTASKX1TCVCI8274BL4XAQ9TJIZH2PP2LUHVRI9IN1FSD3LFKS0NY9LOE5UMIU7A6OGSW5MO46IOVHTZFPSPVBFTKN4 div -36#3479PFYRHK85OGHNAPDFJQ17K6DGEFPNAPDWMIK4IPA49BKULG. +-36#1XLWJBCIKNC0NA2F86R55KWLEF32YP9XPX0YR56HTVG1FQMRWGC1MGYH69DU6J4A1AVSYOYGSLUWM8MQT2IYAQDQ962I3AXFC4KT3GP8AA4Y7AZUU8YPL97TNBQCJ5JPSU346MZJBMC7AT1UA7D8SCLSWCDFJFIA823WSQR1S8Z57I74QFTH0ZHLP6CNXCLZPX4C5OUOAW8S68Y8KWSJM37LGOAYOT1V22C5TX7PELA8GFOPOHVM3IZWZX9K7OG55ENL3NY317ANSZXQ643U5WH884D0MX2Y05DKNO = -36#1HTHA0MTYJOQ3OA2YT8M3ADGB69RG9QJIR751LN77I88CJHVXX * 36#1AK82X3V6IMORNKDJONEJICF7RMM0MVX0QA6KW4IYXY8423GJO3GBNRIKI9TL3AAIZPSZ2ONSZO6F1D6FY2DKRXW5BK3Q4PCKKFGV2ZDMY1LM1I9G3M2TLXDDFA8QL7RAAA92KUZJ0D9UZV2JD3EQBYCBTS76W6WT4SKBYHAS571KP4NLTI6PP13SW05XV1IOUGECXMGOI76Z2JTA7RZTEKFWVWQDVE47LK2SJD4ZV5K2RYIXPG5G. +36#2BPPKXXHOTUOM3M99SM2W981SX22YXF8Z5EVJGUDBLV2DAL6OLV9MMF14AI287A0HE1J2XUPWG936449QKTYVNM8A12DX91VQXEJGQQTZTCGCW0JN7WRG5GWZGC4AG30T6AYM9FJ6MPBTYZ5SP94H80JOCPCSHR7FPW052QKYAE3LO488GDH5P5K7FFE7FP2RYHM9V1L7SCWRTNPMXFDEX586PETCODJAKQ7WMBPY8CY5GVCA4417KU7 = -36#F00OLS1YHGL01RAXMY5WXYI8ETXWVCWU0W0YA4V055DXHKKGB419AU2P2NM4KHYPGS4NARI15YKJHAR5FVFTUVOBUJ1UYAIN576344MH8MG22SMP3DJLA3MYW0WTI6IKWRDYWOKYD7EKIPX4UJC3N3VPLW66T3RJXGS94VWTVKQ5IUT2IS2M6JX6WSX8M1P6ZDLQAXQ6WFZGHKTJRGG0ZF8WLKP2II79X6XUQQ6T3GKX6OSRM02A40R1DWDHNT1FNK8E7310RECTVSE2CV9J6MMP80JKCJB7T9OVXLRBUFCASU7RTD5YQTBICNAI3BB0FO5NVRXXQUB31TU75S58MNA7OO34KIWQ5ZRB1BGBNLZO843OYSET45YNRO8Y3J4XRF5F div -36#6G86182FS1HCEZEKA6L2BPET49MVWDJ9EL4STU2122O3120KVFXMC34K8RBMGCYVIORJR218Q3ILJ1DL9YDZJYCWEQW7S7FTMT8LAZXG88RKT0P0FSFSBQMWC9HPOY3QCUPP15ICAIVNX. +36#3FXN46AHK3O777LIQG9D7IZNFMX1HCF20PABR7Z2LF80CZNSRRPQAAXQGK7S7ZM69MYHKUN5E3PT2I8ORE2FY5Q4W0JNWF4F47KQVT99ZKGXY37S93B6TSZJG2E5ISO74GPKJKVGKK0MVBR28X2TFYHYRIPNLNLY5SUNJAZGP2FSY5T8VWP7SOBEUNWRA2VFZB546LOLQRAAUVL5ZF2VY6NWYEEMGZC714JS2VLR1FVZF8JAZEIT2ODVI83QHNXIHTNP0NGQRF0GVKXB97HTMVLUWVYD8GWLRICPVBQ4J4VM7P7N1F3NSUW4O16V2DK4X2UW1Z0E6Q3M3LWBB0DOQM8RO924J6QUPEAI5EG26KBSBKR86YM5NMCNJGZ7UHYOJJSW21B6MEZASRD14A0IRDEJ7KZZLG1N5BF3PXC0R9RHCV36FX9UXZQAR7Z1YYS9PUQVV5L6WX9NT80HENDMMTAW4W4MORXXZWWCF9XH97RWJKDMNOIH1Q1GV5W7G49AXEPIY7G915HX6GM65PLKLBWWS4ABHO2PQVNHB38H5W0HTI4N9NS6B9IVFOIBM367DTIT5V15BWSMUYWZ71SAP1YFGNVNZ4G1YRSXYV8NL37LO4UWGPI5UV85K8FINX1CDHFRTQ32UA3LWW6F7I5P28WQ53UDSBLK0AR076QJB9G9KG88X726MXTR4X1Q591OU2HJ = -36#7BW08BXHFIFOYJSRD9WXKKQ5IP25LXDVUO0JXAFL7BRUQZWII6IJFAH3U8O6C0G7ISUQXFNCKIM6RR2TFCVDLTKMMXHQV4VRGRANUPHHWOVZJQS1ZNNJMAWUSO6BY7AFGI6D39XXKUJKBVJXRR4OCIFM7L2HD8LNPERH7FSMIGFM3DZNL9L9R8U9SZKFQCD6JUHOZBRHO7SP22V9N6TT4FW0WYBYOEVB86BZG5K6VBSYORCXYJE6J04C82XIEX4SEEWPR06TIU79APDJ41T7TE7WC5M3JPQ66CML8FZCD4IBKI0P0BLSQEHCO15GT6GA4S1QB2GMH28XPC9XD6BAYLH167F4PJALIF56H4IG69SR4DS60UHWSVI4G91JWO2G0UJHKZR2LHDWSRN5OJYCVY66QV12TWN0M78OAON2FO810VYH8MHNN0CMHEUUCGCOUG57160NWO682ZEPGNBUHM7JGP6XIGADF120U408Z2IL7V0VP4DCA2YUA9TD6N2814N5YV7HVZF51QCUZB47HQFG2H1UQ2SP5RGJJM9TY8FLVVUW6WDGGV83I4ICUZ67ML8TWAW2SKHV2CZWO66JEWQNSG8ETPNP45BCTQXINED69F5NVPHWL1ZZQZ2ROYNECKQ950KGKDFZYJ0S5EYF5D4ZMKR2JJ4FWX1A8U7W36NL7F497WH89FJ0XUEXD9M6561VGOWS3X9YSPE998K36T4T4LWPMY0Y525OUKBH6J2F8FJLH51ROUWZ310CEMV02GVLF9IMCW4V0KA69NNABRMXPUMWP3PVYRGX5CXWBGLC2LJP1Q9Y0C413M3Y7G3M5L86AUC3FB40VDT5JYIO3FJ7JH01U1DDAAPLD758FMQ2XWXHBNVSI3P2YEF28885F1AD7O6IFSUUVPVU76TJ74B3FO5FK6WCG2QSQR27EJGA1UJJ89637O6KHP2F38BN8J8AF5Q2X3PM76M2E5ZACOLFKC1JYYBM8OVPNCAM div -36#24NIV25XZ4EZIAZD2UP1YLZI0BD3VQJEW3JETRV0TS6VVRN3PJA9S5YEZLGUTHC6UI1AGXPDU7CLA36M05YOR9P5F1IWWMS399HRGOEZ4NLVAJYTS3FN0U8UQ5C2L4SK8D6G9X6ZTMJVJPGQHQG0HR1V4M81405RG9POZBEUYHTZVZVZK9D33M1PVFWL6QETVNU2U9ZXOH8U00B0MROIV690IVE2YCNN4FA5NQHD0MEW3U72RTDJ4NZ2JVXO1CUCJ6XX0ZNHP6O825INEKB31NDOCQ5MCXF0MHV3M. +36#D6JNLKC56BQGZQAFWQK9PQ43EECHZ43UET9OIS1E2TBZYHZ8OGFB1T9JJKRBCCZQIF4H08HXD2D7BNV5GOWU1KLNW69P535L69MLIFM57YOD5KAMD9ZR7GG8ZV1XVQJ2QALZDDV64X81ZNBMUX1EK8RHJ00PBXX5H8EM7W74FHLR6HRZKGITEIDRJPKDJLUP4BXVVLNCZDLRV5ZQ2G0UKAME9WW6HIO5UGG912YPP11ND3MEF533SM8B9306CBLZQWY3YYX91427MGI51DVFPUPG33CPMWPE6MXG1MCKNX5Z4L37WKP0SSTWR0AHBNDKE997OE0C375FLXFRD27LFXJFKRURR3NT678OU3TW85AI7YASVWT34IG4Q1MER86B8UVFFXXS7W01E7G0RXSRXNB46YERRINMYPCTJUYYE19UKLKH2QB4CWRPI3COI5A5RFHGP0YZ8XAFBVUH0QKS0KXWER5KA5QBJ8FA1BUUX4UMHSMIX2214UOBF8HUOGHZ6AELNZX482UBGGXAMD013SSV2LWZPVSZFGQI7RV6U6PJ7PSQTKAALS5MTFJFZC9FGS6UYTK49CLYIYZKHEC7T5IME9YV2R5VV147RCRAIOBMH6IPVOVNJXGYQ7EEI5YL6310RMD9WG23YLZNKCYGRW9DHXLGR99LS4TEI4SC1H24WBTYHC4KCC0FBN11L12DBN3CJQNP7DFLOS04SGKPHQ7J2COFH4SFN1F8JGK53I3Y4KF049GPZYP0LF7FL6R92XRB0AM3TLOTIOBSARZYQKZ59AUEI7RB4GVY58YNURRGTUAHFSJAL0VDLDNK1PQPBMX13QOBJW65LSDYTZ2CX9LY5DUBCRH4BN99TW6E7NZDWS5X = 36#406L8PW4TUM5A3YHUUJ1VVT0M3BVJZS2ZG9VVTN1W2HTE2V9FEBDPCIRLKD39VBWC4MAHUJVXPVYKB9RGHF2M36IE9I5QMPPCU1XMY5K2Q7KLWJOAVMPYIOILUONBUIB1MC02UQX6Q7FMLQC7UIK5AJ3 * 36#3AHHOXFSOX17UN7Z0FJUOGM7EE4KMMHB75ULMW2R2M3PSRVLWM0X47SBALAHQX9T0PUR5Z6U9DJEYAUF5G4Q0IDT4NAQ1FLPVZXKPYU0UXK0CXTJBOIGRGQ467U2GXCVRAENX7IJA6DICKR0JQT0LM3X4GA0N4C2JFWG62EXD71QD40Y0LXHGVOZYA5BG3JOBN6SDPDKG23K4LUXBUUUA8VKUVNGIKFH6C62VNJ9V4CU0H6WKZ40WYSDD3X1ZSLRFRHSHZ9H4T1J4VO9L63FQTHQQAK7IQSU966537VM0GDIIMM16PL7JF5D0CA4IY7MR3TCU4L9T0SQTZ4E4T66MA7BBY727W9HBL6TGS104DPFVJDUTA9WR3DV01FRBU04SAH81QDBE71SFTVS1B3S3MMS81GLQOM10W9K03TYAC9VL6F6XOZ7X57EL00VL5NWQ1GKA4Q40810AAA43O0VRF1VDLACUTS11ZIP2KRPGMSMKMDKR0GOQE56IXW71JAV2FFZTOPNLYDE9BSYX2U50YSHBFEBZ6XHRZ23O9CMISJFFHB8GKPLLM2EOE7T947325OA0X43BIYSUHG1FZPPZ5ELALM1QA19PS8G66WA4XNCKKHC3FIHRNPBSFVMBVF0FU7DGOHGXUEEU4EHLUBUK6QK08KL6FEQ3NEHVFM1PXSN4PF2LDXHS1M4IAHR1Q4WEYBL1S9YTXTD65UWQOEHGP1GB. +-36#1FYSJB9Z8215UXMXQYCOCYRZL4DYLP14HUQ6I4VJJGAFBT9VZS = -36#1MFCJQH9V0836LUCECRCDOEKU6USG4CLK062FIY4F5FEWWJONK86C8SADKTUNL8A5CAB0O5U2Y3Y0H1RNUBH5QRC09WC2Z6XAD92T3PSDANIY9ITFYVKWG1NWZKVQ71L9K84HEMOQWDQJCFALYV10O29W1CMFQGN58WLAYEIF5475HI7BEZG09TLUEAM9A7M54K2FVGFK3EFFS div 36#14H3QY6312MX65BBHXJWTBHPUUH6PVJDX3YBFEP1OMAVM1F9KEK7QNRIZQW0DPFMQBDBIPVA9JTY7KB89RJTMEYQQ23D1XDE1UVUXLTKVCF2QVHIH1T5KURZ0W0YTM0GXUO5J7U0K7PEN96V7IXC9P9WWBOKJ. +36#V8Z3GEWJFV1FXMEXCUZZ8QHFB6YH8NFL9M0LQNA350TCMD743TYFE9II3HXDY63S80FKKNC3AEVR7H9ZX6RPUMKA6R0YQWQ23RUM8V187XIFSCRSJW3PEZQO4Z5V1EQOG3P9NX9W9HA7JMPD70274EMH79U16YUBYLE1JAX8VJJ9JIR8MN55K9L8S9YOL2DGENTDIAG5GTJ6FNLDOEKEEQXZDC7XN24H0TZ2NZZGQJWUV56PDND0L3J8282B6UQEJD9TCJM60CZXC1OPYLCVLQJHZ8YJ4BJCT9J2JAFKGCF0BITLHXADVH80F9R62WCXUOW1VR0C3KK43OFQYA3YQSKCQ58TZI20KBMKGDVDQZUGMIC7LQDU31O0S8NPHWIWVTEYZ0H9NS2ENM00QN8GIZQECXYO11P72CS9AEG2T8DD3NDSIZFBXUJUSJWQTKFZWDGPW3WFCN6DPW1B6B2NEOJ2BQKZ1P77IGTZHARWGHIDEHFXH776AQVW9UVBUIFSGO8PY37NI29TI2MTP2TFN9N8DGJQ8IVBXWPJGHKZXAUGJJQ5G78L6HZETG6LLIQYAT90JNBGU2AI0PMIPR = 36#7E65GQLO13FX0TWIC32JQA4WE900I99EVJAVCRA5LG3QKTSPRREV94W1E3QKYT4CL7OGMK5YOUAVW8LAP4703ZGI3HIHOEL9Z6GFFOEBE63DD6UAX1J5YL7B8W18LHN5JS5KAIGX1SFWE3WPFV9PN0SRZADZPXH62BSS9ZGYD8HMWBZY2TPGZ43FCK8ZWVD79MCUS7L7ZP1OZWKLT668ZJMD53KSDUIGRD1EZ2MXGATEQ0HHWWJD5SD5U7QOWSV6ZY480SA0T4LJKG5JB1DU2LGKJW5KDZ4RSPEO01H2G5T6W1VRQRM0FU24RKP8PCI5GJ2IUJEJ8P12PELKEIBRPV9SY1XW8SZADGNCDBTNQCHIBJQ70YOQ1L0RXSZEHNBU2DC0ABTY59QZ5MMXMNY6J676ZSYGWHVW7C79S6BESP4I5AAP4TG81YB3V96HIUO9YFCFLH69RTUKPWZ7WDD58XOWHJPQ5G8KCYUI6B6YQQ9OCP4WHHVP6L3L9UZVKTE9C2B15M2Y9DL8B0NCOFM12GVFJJRAH0Q7EHQGVUD1D4NBLQ1JOGJKOSUZQT1CS0APTKOL8ZW6L0O9EQDVKTP8T2DT12LO9I5FE6ZKACGSC8KZG7QD7OL95CK4W5Y1MHIMV1I0JEPZVMOS7ZW7MVR4AG4285DW9PI57IJ30EJY1TH0WFZACR8P332GYOE2I2PMACNOEOWEZDS3UOQWNCCQSQQ1PQP9OLFSH14L5CNWUPFPD5JY8361SGKCUUEI29T94YG5EC835THN0H10J98LG0FMCNFUKUDZR9MAGJXS9S9OK9HKQSY263VI5DEUVI3V4JK5VWGZ05585UPR7RDSFCVWVXVP3D0ZSWC3N851C6UYR94WP6MPP7OHYGM9LI0GPOTA9EHHNF9WJQ83HW35BN90BVHZ1Q4R9A715FLM4YC6USEZHFSSI56SYA4ZIZWH59IZ7O1ADA4KOO5Z5PLBBRUJVDHPP813G0DZL36JL7ESG9GWGEVHE09KB4O6J1HA9 div 36#8IMVVBJLM3JT2L0LI6EL8QYEOD1GP52W86INPFL4NOEXIPVONKHPX2BOKYM7SK6MB3HBOXZ1BHW6O7L3IDIJJI8S5KUS3R8RNJBJNC2FCN65ODH60LVT48F3IXCQEWHGDEDLCCODB7SQMZRTVF0JYPVN0OJS0PQ5H2G1JYCWWXPZ8PAFOGKPKK5S3CFAMQ6CW0YFSXY9V174F63ULYVGTNI0CVUL28AVN21FPVJ6RCTVE3XHCJEL925HXQPPHFMFICRHG6PNIO4RP0FMLBAY84KDIS7P68Y7BN53DM8VJY7DNFXOH97RW1LK10SFK523WLNAR55L3LS4VQJ2QK8VU44CBFFOMICITDCX9BHZG7PYB6C9T2W7ZC2G629K2ZTNDQOS1ZJDH2R0YVSWMUTJ6H1V8NOHNH0H9M3G84HVLTHENZZ. +36#1RYFTKOYJ36ZS16AML82E2IZEH1IOX82NNK9KWXCUG1HX499U7 = -36#3RALW9CHDAPMGLX2EAN9UC3NJZQCM581BKL57I1KT248V042XIQN8275U9L1RDKH006RVWV0WMTSQXA2AO8ALFONY37QQX9GW9C div -36#245KNX2PFVNLQQGPIEM9BBRZTANJEAPS0AWGCX7Z62R8KA941C. +36#2I5FEW5B6L7AMLM8A14IT5X7HEASER7UPJGASDLK0IRH0LS2UB = 36#2F0437LV5FC52WRM30DDWIBATWCQOF7EDC7VK7Q8JTHSR1CWSOI4WXPKY72SFY7IHT38XEXCEBQK6IGGJPLPLDLQ9M0H7G3D5G9MF50PVCN77Y6ZE30KPOVAAY7AY8P4OZBZWY432F4XEGSZ div 36#YQQZZ68GAA13H2N7TFIBTXWQ3VRETH8ANHWUZTSPL959LW5IUQDEUWJGPJYPO7LBP70YALO0GD4ZBIJERJR3O06PYQ2NTD. +36#1AH0V74W6HUHUWWJFGI5Y1MTNV0RV6JZCB8WJFADQ3BV78GLEG = 36#1LOVVC223SDVV4TEGY5ZJKB1HXRUSSZHED1DH7KJY6UF60XSVFO4YAF50O06WIAZE5F1PNC3LBI7SLDEXKV17R4J1325ZH5C7BC div 36#18OUKHBGQY6H6DQHKCTGLSVXQE9TROAA3AD40MH6K7LC7610G3. +-36#BV1YW5H0RM3LNBXDIR4JYQEN7IX0SM09DDVTAO8X7PA6T381AQBKWXM41NKIM65EF8WPMSIZMHFHODUAXLI8DXK6EPR2VKOCUEZ6MP52C6A4JOFYD6QVVEPIA9AV1HJUB6PUJXWYC8HVD27KVWNS9STNUBHZSNWXMI5ZZ9JPY069IDYSHB0N0IY57664X7IJJ1FN970HEISJZ5V08AIYN8CDAQDE3GD5OXXKFDH94UZWLHVA9CHICVNER8VM6IZO2IRVZWWC9K0F0SD2XIBH1NEO0 = -36#N07BSVYD4DEGZQUXEEDCAID1Y1WWBF9BZICPVG6BZ9IUA86J26ELRS5T93VOXN59NGID51FCR65U99SO2Y4TZR2FCTKV83SSIHDI2NSSEPYRIDLLHPBLBY6R08GQZTV1SJTAXC1W115UOOSOGJ4KRYDXQF2O248WQKX46FASIH7GRKM1TVDO4WHECW33ZCW58XWUQ714SPEITZJJJMVHBO5F8U8SMKN0K3HJDJLC * 36#IK9OU0OV4V7VEQSP4DSYGJEKHYV8G1JFQJ31FVA84730NKN80. +36#10Z108PY4ELBR98398FB2CMNWDABTF90FRNNYJ7OFBB2WMC568 = -36#4536WK2PYCYVHUPKA21MGFTN9VZBOTZD8X84A1N1I7UIPXFNY96AMU2AZLQMWI34JN5S87YO7J0DWOK6QPVQI3PYKP31MND212EERNFQH5PEMS3LLY789PUK5GR4PUB8UOLNX3XDOGVERWSF5RLIL4K7U31WUGM7RL0TXIYTSS25RDKV18P8QPBB98ZAZB9BZSMLI0XPC36KH1AC7Z2JBFWC3GEKYCJOIWMSB6MGAFSKC2JSADOJ8HP2EG4C3E3QV5HNYB7M7ELJ5YZSTDYV9LZX7IZVGSZNGR94S3QUQAVO10CXPKBC0GB7VGFZKU8XMCZ6ZKSFWGZ8FVQ5KT6ZDP797I0NH8WGL23VHSLKX6OGKM4WI87QZ4DW8VS705WOYKQUYRO4JV28PIO2MY26GL9B494KKRM3T2UK94Z4VJ3EMYA0AG2ORSNKOA1TUU3BYLZ6DO5SDTD6VQZ7Z3RKVJC9V8L7AF2DAF8X1UEVMI060H0PSL9BNO3MMGPEC32N3ADTXP9YV8MYE5AMTPI3OWE5K9QIQKKCT1LYRZZ33VO8O859LFR0BA6R31HCPGGDYULSOZFMBZV0GY0KPWPNEDIJSWTWOQQCFEC0P5J23WMN8JXRQ9T00ZTPUTR6HRPWSNAZA270JJZ0OHZ3LYQA88KDY46MA94ULJPP37CH4ZRAYS5WPX49HBZ9UVTT1MZH5GAFORXJKWJM2ETT3XIHENFTXMXU3BKPBHIONYZE8HCSXWLXASFQNDEJESQBOH0DNAFLZBOEV9HZATH4PNNGSO44G2R3H5NA16YNJXOS9SN5MVWENF51LRF1U968O52YATCQTQSBKVU7CEKALT0FS2ZPWAQ3XK8H5L9356BUVWVYFEAAW5JW8QJ667WBMFPKIRI6056UTS4RD9NVZT28VJD7KZU7YLDSK7DYIZHNWLHJB6W4VG99TIONVE9BE1F209AUQIWBL75WX66UVMNS0YN9KUWAN9VOVA2P7UOCRE7HB516CLNX9L82PKIZMJ4D0PT1VKJMY0OIKA5V3HR2CJJXOP4V4POXJHPQWNCEE2ZE7RSFW0XW1CYR93TC4AOBIZLV0W4V7LYJPA24FR9WVX55AWX9BTV9V5IUI8IK9SY9KLXB5QXFRF0IXKW8C52GIM9XWT84S8OVCSODJOBH19A0ZQ5ODCCWCHH5CXP79UFMWH0T04Q5XZ88Z10Z6C10XDWQEYUBPHUXYIMRJPM95OJKZA3AAS0 div -36#415Y2AQ9TJBPMQBHW48JEOOO4WQKQDCSNBZS4EEBZ33O4S0HTX9CQE9KVMX7F6522SHU9F3G2TYKY4OPZ49ZO989TJS8V78464M06UY6XVEJYIU0BXVG3IZXBZXP8KNB119GTBBG0BQPS49ES5IEFV567PEWOENREBRKMWTWZXQIKWQMSQZNY2XN0WKVM2275T9DRLYZZ4N3IZFJ32FFXTISWSGDH7QVEHN0N8WNMPFLZ756HI5TVSZ2J6P20VMQI2C1QT99UDIIHM5BRYFV80E6QQMC4BD3XX8Z6I415H9QOAVCBQKTFATH6VYGHHR8HGE00AY2EB4KG1K9QNDIFLI9I9QZBYQVQC0PNKT28Y2QCJT1GOLBNU83VIPNS5L5NNZORLLX5HJN416FGW37DDORRWF11XH7Z04L5NFYLWYEPGNBO8Y2J85E3VBT5WFKAT0QL4KF3D6F9FE4K3D4D6TJIO86UQOOHMGC0D2ZHNFGB9Z1HVCI3R65RX3MWAQ1BLM43O1VXJOVH37F6PEL2FS5ROLIHP68AEBM2T2TWA7SR89YWFU390QN6ELF71H87X7GMQDUFO44B9IK9CN6EY9DRFHUZV2BB2H60POQAL2VIJ6Q88NCK64YF0CRWXP9YH4BN9ITXDVDRK488XKOHJ4C9PZG88EJN5IFFUIKKD91ZVHQ3I9AMJPG4D13HAN89ZEJJGAQRIPK6L3OROXTWPUEN4ZSY5HTG5H3V5M9JL74D9IFM1356UQZK450KN4PHBBK45XGKU0LDSNIL9VBGUAQFDRF48UDXMZ8Y02Z4V907PMLJ1CS3WE2MQUT433S8YZUHZN869ZKCZ3EH9OPYOJNOOLPW648UH3IKG5DITQDFK34NKV4IJA1CEW0RHKX1CV4SV8NT3OFJXKFFMO25QQ93G8V7ABZWK2M90FJJ9ZGMBPWXCBW7FY9TDGEQ66M2NPGH5S0J6X1WZA2ZEPC3QM6S6C1QXPU60IXKD6RQLEC3F6Y2PZRQC4GHH7LYR129MXAIZOPN011ZO7GPGSWLYHQ7RDEEC2N7REKWSJD88J0HW8LCPV7GU47PHZ1Y5SHAV09KV62MFNW77JU7L0390ZFMQ9KIAJTNE3Q0JA1530HGFN256AK9JQAPUH9MSAUWGE15NUBHUQZFXH58R9H5VH8P6U9L3NAFPPYQ1TYRMQMWR. +36#JDI2T0CNF5G2475W99UABHHGZ5KTAAHU168H9GPPVHPQF30GI = -36#238RHV9Z74HEOX418X9NGRW00WD8N8Z5O94Y9V41KN7A3YUMXLH3KFIV4W8QOKSHDNNZCERY5JVBHX97MUDQ8DU5HOKMQT3HUZRNPCMCI7OURA5BQTTCNXV8CAUPXFN8K5PAETQZDXW0LUJ4XYNVFMIIMK3RRQG3WNZXWVZXYX0CIZIELTZUH0AI div -36#3VT1IREVOKRA9GD543C8XPC6MR9BW9942XR5HAGXXE0Q5ZBIMJONTM95R0WQTHMITOXUAHHBV1WUNR1XIQSS11YKI7TWJB3TWKEPU2I78BECNGWX67KS2MXUEHTMT4HHW8SI4HH. +36#16LGKL2KO27H2PO78Y78GWFIGWCLYL3R0HYX1WM3SU8YRBAWX7CJG2D9CPP9O = 36#3GLS0W9WK49UQHKNM0KRWZD3UKYEID5Z1SVYK0VM4S8J5NHZLJ587ZSC8612B9LNEOAQFKN2X3YKS8MH615837Q1B6B6CZGI8IANSSJ7M7FPKC div 36#2XB56LOCT728WMS8HAB7H3R9XJB482KYEX9G22A5VP99S3PTOH. +36#947GD35SJDQEHP8ZQKOO0UAACYLFIQ12C3HSWLYI1R9KYUAGQ = 36#F5EZ6XUTKQTN3GGNUYQKGJD21SK8PCOYSKCE8VWSN9EF83U37UN99RZ001DQP7M1TCXWJ3A2SW2R3ECTBWZB0CMUF4VM3HBVJE div 36#1NTP5PUUJX26E018G2UZ3XOCPEIE8JEPE3VLUIJO31LZ7CWGRD. +36#NT4Y6VMBI6H6H1TWHLMDMF2PA4J88VYU93E1UVI463ZUYVRSSPKSWH65NDOF4PTDE53Q9K2JADUYCCMBI1NGL9GDUQORGZ3KS12SZOVEF50W8UQVAP0A6ZYLHSTEK5I2NPVD7RQX1MIGJTRUFG2BKWXPDEMZA0Z6ZPBSE4CO4JVDJSASYVB8VOAP4TNLQ32KQ5LJBTIM4ONQDQF79PVWXRW6NJFXJPI5Y07YCEK1PPOFD8IMWQ8R3XE20JQES3JCDQE3YA1BB2QQXUOSULWSR81HECIFK65UK28CG0YAAMA7FEATXDVQU8W6AIO3PNI19CP9Z396EQNQ1KEQKJVLE88KGFYMHIHX71EILRC6QSX94J9R8NKLNGTVSP6EOR6D2OLIYIUMIY6YYYW67O8L40D0B35Z72W6NA7CDH5SHV2X8OPSIJKU2HOAMUINMGN8DX31CBZU5GFNWMNR6JGU5QIRD4F2FT11FZ0Y67UE9AME9O80BC91ZTO7UE0P8WPN0MPV8ZQZWOU6HN1WA0D52JJCK6L8PY4BPVRSF97GATKCNVM8TJ9H1QVD4GV3D7GPU9HWTG4DLTI1NS0PP6LHOJPUJNIEYLX40ESOQ1PYIJ1UC8JN4E0I1J5F40X85C118LP1L8B87VRLZ0J9HYJ9EZJ73T78P857SG0GP5VA78NUGORZOF7SAX83JHSNWM8YU4V79I6FLY9SAE4Q9082U9ORK5ARPAQN6IS7Y7K1DLA3OJGWMAOZ900BDZWNHATG1I7TEQ1397R34VDQMCUWOR79MFC = -36#9NBYMK2V8YP0BIJ8GGGKXOTBXTGORY3GUNP75AMH60VTJMNUSKBCZUD2UBNKD5XKRU7C7I0G94YN5FAZ2M2NECOHMFGZMV23878I5ZUQL4SIX4QIRDEYJX1SYPO472UJHIZ82IZIPDD0MP9DPQ6LQ6HI1IXOGQN3TOSX6G9DVX03UEJNL52BL2TTA33394LFZKHMGYK1VITVBACMAP4Y98OAHBO6ZEXGY59GYJJ1MWIAYE9RA3G892LTKC76W6VWZB4GLACSYOW8X86EC0MRIWSCOOZMUXFBS2L0XQ6S08M8BEMW1BKWTIWOHKOWK4LM44POMZ8ZSIFJZHXKYXOLJ9B3CO89OVWVKGJMQ0NUPNMANV4YMERKHLZLP5POXSR4ZTA6M348UTM17SQOKF9XH1VF5UXID0HHXGACAM5X75XR2NPSKMZSFFBH7R1GX8FYLQ6JT3NIUYW21CYXFCXC3VSJ88F06QKHK6X4SLN4CIFJ1LNHFBT132AGOMCGQX5VYXJIJDSBCE8X7D2ZOAMSXSFEQJON1E9QAM303V5J67WTGVNYV3DG2VYJKLEJVFCCUWXR0TJUA2FHWBLSDIPYUVGOQIRCSUDPSEGG0NLG0QXEWA4RBC5GTP4GJA942X92TOAQJSOJF5I7SXG2O4BV98Y0BCWVLGB9OUND7ROVHF3L4UE8P2TC6FMUB5I7AIWAF76NQ1RR7IC7TCK93RG6J6EX5ABNNQQXSA09JTYX43 * (-36#2GU8GEDMQUPAWP3PE7YAV8JCLSYNIN3DZP0OBZR2F7ROO8P2FS). +36#4KDRWIQO790Z4ISN6TVWNR56EYE6RCAM3L0F08MTHQ7QB3UHI8MPMBGH60G6STNNIC2OIKAYGOJAKF1FFUVS5ETRYM0TUFRG4M9R0EC2MCHT6IP60IWXY0L7ZJQ1RTBDJN1G0QU9TUF9KOJWNTIWKVF3ZKE3F1G6BYXK05LN0PS9XGVTZW3YSU1TMD2O9GFDXBEVPSPMEF0G9LNZQYRLTH4DHJGSBJSNDJDL641W61G605JYACQYUSZW12THVS0SQWYHJP3I0J2OXF0B4DI286WKGZV7VWSFFKOKW3JC2PZ3FHEH0CLUFQ5Q1KULYFMO1BRGRWYUV3KRGQ0V9RPJVJ0S1JGM57YPWYGHA3B1WEFNE2BB9POBXXAWMSBWUYKK8MU3ZJL1TZQ012GC3HCW9LEKHA97MDVCYHNS8LVYYB8LQ1S7XYK1S5WHZ0SXW9DBKX8DR8Q71LR02U656FCNG2AR7SYSIE3WEKKMATTY4RZ5JZ = -36#3AL30B6L38KT3GJFBHFF1YACDT9VAEA32MLDTOZMPKYME8LULA2UQ5EA9III1XBQBLT78LGUDXA9GFNMPDWCQV1EJS964XXNIABPGCCZVRWLGSOB46IXNOAYLW913W1O148XXYO2WZ6WPDDR66MXIK2A6PJEG38J0UV7JLSRT5HG6M9N4PF72BKBD9R8GMIMDWCJJCNLGF235P2H2M0Y9ZVAD49KNGWT2BPRMDF00KGKARR6IKM6AXBTNZZZ9LG5PADXOYQE8CP3KW2B8P8ZKYDGV82HMRGJHLFUKK6UT35C3OW60A6PYUJK6A37BOC6APAB5P8JCDGRSL3XED6UXDARLG65OHQJMPVF108UTUSKI30F2J58RKOURBOJ44HHEMD5V6AXDHZ3J5OGEHU95QNZE00CKYIMKETLYZ96MDUZWSTG5XSUX10CGID6SFVMD2ODJ3VST7QWICSZ16A16199721AG7YTSW2QW527BE1QJE2BFTFLX648XQO9HSTLJKNG34OO0NYL60OCJKLCGHKJ0YL58IL3QEVEMS55UHX3VXWMC33PL84SQOB655DGK9MLN2EB867EGO5ML9FAJIHV62ELSWRUSD1R61WBDPI1R5HBJD983RBGKYO8L71Z5RSOAEWJX6B26H480IWCBMZGJHH0PKD9G6QV8ATWBIZFYIMY17U63ICTEQI2K28WQB6XA6SV1E84MXWE2LIDW6FFYI1N84CQFFF71JFB4D5RLHSFDJ77X0M7QPCZ4ICJR2POO6WTB05MTK055PKPORS7NYT2MVBRI8EUYFZ43484I92A6PO9WZ5F7RM5M4NZ784ZWJSH6AFBR5JUKEKCVMWJR1NG8LZ0WJ7EUC72XTPQGGYY4EXDTHVRX2PPRP1NKU3JTOCQT6D0SSCDS7D5PJV0WNZM8X5X91ELSGM6A9EN6SATASIQXPD4A9BAM8BSFNXLQUGWIRNME9QWUOAO8R0AX0X52OF3IVV8IAGCB2OO3HF4V1VNNTD3YAHZMYGRXIP0FF8895NA74WHS7FGEJJNYHWADIB5WD80B4VJ7FGQRH17NQURFCMP1V9T4HD4TBQ3PWFJY63J4C6G5QE4SVJPMSJQ63NK4OVA5KTTWVBLR7BC div -36#PYXN5PKYGRFCXEKFFBRZERKW4XKD70UDJ0EFTLHBJLOMRJGHES2818R2SYH67OBZMYO0ZT852A44SDC1VZI70MLEP9ZYBYL5NLCKI7ICT08CT3J62Y42XB9FJY7SAKXCUR06DWIB3NCYH9Q72RZWZEPARYPMZEEQM5YI9VZTTQHDOWKXXOYVLA34RRYWPBCR2WAP7UFP64HBSNIXACM3NZDFETBNK6WZQVBP07JOJEIQRTHKFKRCDKV5YWCE1JZS8WCUTB7GK7RAXME545JS1FWI232E65PC6M4IZMTEH5HGR9FXUPTNZZFX8ICY6SWAPDDAILBRD2DHLX8PYCU0SX4SAHA3WRIMH0FUN3GW6ZX8EVG5U84CY658Z0O479JIF5BJ5RP07CGQ0UNMLH75SIYPDMF66ZXYP8D3HJ8RBQC527CH6SFNI0T43WLRERVJH7KXM70D6DDVNTXV90K6XMGZHNOTG9P6FSG3RWWZWMI80HATLUB98Q1WF509NZ3A47NDO5EGMRC9F3MFJGYPHC7C1BZKODIRH5HYRWSC00OXFFXN8NISRESGWEUAYNVA2PFWL05SQTC13VWYI2CNDJG86MORXKN2XYEK50SD267L255XYD4IKZT168UEX5OI0O. +36#XBL4KYFF1XJSBC6DUGNST27BXPPW8SUNSEROGCIJTYY10WSDU = -36#54E6DMB24O5R3MBT38356RUHYU5EFHIOAJTZRXS04Y2D3QJ6KK0GI7UG5WEJZQMK44DDXM0BZ26D7717XGWXVS1JQ5R6UQBA5V0SR1CGHFLJ4S0IPOUI39SEE4WP0ONFW9BQ747ZL3IY2I336RIIFT9OKJHS9FROTOYQW2ZD2BOZ45L3WZU56XRZU4J1O4QHXX2UND5PRGD07I40NT634AQXUG2MFTOYGFZSRCF9IKBM1U584PE3XRTZFT2BWUBMSQHRPNMZVTGESMFMLP6EFI8XVA3P6BZT0ULLZED4CA6NMUI9K072LDF1H3X8R7RYOWMCI3ZBMD8UG5VJ4LLN59FR3P8WY9WU div -36#5J7P7PJT572U0O9HXLM9MASMICZ8SO1RSIXYCWQC5ZG8889LLQU615I2B4DZBI3UV26JKO6MZNIINI5T29W32M3FZRXFZN9IUHQEQLFT365RKWLMWZ1MWC7AA2T0TWO4OOND5L5SKMR9UTGS4RAJ3HUK2FDWFL80QBTAL1FX5S96W7MO5JVHPIQT54BFZN9BDAM2T2KP0ZQEM1S8MY45GIDQK5916SOGC2X4LUHIL8NHD66KEMK2F8C7GF6BITEJU4NM8DUMIY97FFWHTZOE9KIU82YNHFTSKZPKJ71TGRLA10V. +-36#46SR5HWPAK2N3863X9S5BJ75PNEE9VNQMGJOO9C2ST0NA6PWOFTL0GC8VHG40RC4YJBL292G9GXDBUMKFXKD0WMJF1JE3DWI86CQ3CPP4W918TP0BEUMWPNRGUKVX1VVUT8FW6J7W5SY3M1YXREB4BDR4K6Q42H757CKKWWIW3H9NDGVC3EI7KMH47WSVPT8BMOI0BE1D7G0CUL4KRTL5JBKWRIHRWEWEHCDAFQOEKV2UXO596JNN69W52ZPDN3DGOYEK1ZQP0VCZYRMHQ15D09MHLJ0OFFNWKKPOAULFTYZ276EKMY85G52M8NV = 36#LC3U8CCYNZI963NRXGV1VPAY0R8H3EUA7UA9LI2FL2RJSPNZXOQK58NVQO9SY2B3F0H9XCYWJ3K3BAYQTM8KX8EOB1TKGUD2MUSNT7016P2542M0GPU6H07OLILF92YWZSUGYKQY9Q9ZYKS71QL91HP9YQLFBKD2AE71K8EVJNVBEDLKU9M0X3SPSWAZJGPTCY42USTDCYNKLV747I39L0Z7WGUW308II0QVE1ESZMBJ0ZHFAMOUVQ8QCZJGUWJV23VW8DIGXP4S53HAN3A1O29RT3X90L2N8W3EMZYV7QL2ZVSL49ON0IXGR3Q2BLVZ51HZ6HWLNUQ3E3W7T3XK6SBBH4ED9R786MMX54MFKAP0WCA33IRTHYQCSRKZB7OAOMKL8NJISF6APAK4BCN2LETRHQKQNCFLU8P23F8PTJ85F5OZ40412PCWFTUBJO26YDBFB76DDRQ72NSW717TS5BOUUUQ6LI2AUB415B2ZD6ZO4ZYH85GMJLXTWOESAMROM99ZJWWG68N263WXJUEAWGGE552WIBYEYCPWVC39MKV0RV8GDDGNS2I3NQFPI32XIX7MGEJIF6ULH4JU7OK69SET98Y52YKXXZ6CDPC5GTUMSTQL081MH1YRIUOPXYOK2DM1ZFI1RN6IM6RXTG3O0H1ZB5WIVOVAD8CRTJBPXRQ3TVOWCJL2XWF0ETDZPUXK9J4X4ILAUULIHKNB78F31KTYL6ZX53VC3O2WAV7QMDKQS463R71RI3E363XIS77OVHVJWEHJ5K div -36#53DAGM7F7AB2LOEJGNW81E09Q7B11A3VYN7MY9J7CSZPFMNS12QDY3BXL3FU4GNA48OEOR5DG03KRZD38CM7J0EL1NJPXNT402270ZFD5KF2R5J8ES2UFL9DWGCFQI8UOOPN3Z7TYC2ZK8EKOWNI4FNZPQVZ0HRDJRL1ULHDI165U623ZT06TGAV5H2UA2KT4RR8Z6V9YVG0QUII57X65TFDXI6921EKO3CKHPQ2U622TUVFTUC3351MURH3WC0K701GNP59GRUL4WY98J69FR7FYM0GKHDF5HO43H6Y895RU4EPL0JEPCU8NVVM8L5DMJ6DH6F0KCHP1GK3LTY1GS9NWB85V0JP6MWWCEZRLSQYO7D36DP2RF41W64EZH1R7OTGZQ51L691P4EHG5IWUFUGQACXPC3IUK1W7EBXYDTIWVU3OI9R87ELZM1Q5MC3EOG7U0ECXIKXPRMW. +36#KC4VM3HET177XN3CMIL2IHGBA9J9771ML2QQ3NXE2WA4Y15VF = 36#1OY9W505UKE6CJ19C257IQ5MLI0JIIEPS9E5P8N9FL7CJEQFEEVJXOCHDUDJ6EMWJ8NEE5NUPV2ACJ1REJEJ1C40GOH6A8L2L7O div 36#2ZW85KA4MYN4HM9DF8QBEDXJEWMA0CQQK123FTIOYCIEPNWPRG. +36#PFHKV06MSAHV68JALURALIE5NONNWNSHOULZ1BP6XRIYZMZOP95I4QVOHHSMOJET99URAXFSG21FUOP0E2BTMIOLTE97IYHIHKC1GIUJSSC8N0D0JNSOH727CNCJRRPBQB74Q28PGHARXL6BFOTSJNYHY8EU6MFYYMG4HQT1N36JJP49JDEBMNWWQYVG2TA8AC343RYFEK99H4ZS2HPPKCWJWS49XGZ4TPGBM3SGU42F3DEC77EZ689EL9ZWPPPX9N8TQX6Y2ZJKIHQNBPMFXIFHA6HUVOL3JCDW9VUS9SM13KUZ7AYBER2WSSEBVTXPW918XGSTDZ3URYN25XFG7NZQ61L8K96M00GHUE8WJR75XPAJP8JRTXRGMJ8SB0RBZUFCCVAHP1AMRBPO26RGPCYWGFNHH9DPVPEXZ87STB2XKNJWXI3KEAT80DT1FERJYF1VRAHPTRUQCUWGFPQVC142YT2FP2WSX7CXURHBAA92B7V7R2033I6SEERUZEIVIDFBR9NFKHLHNZKRQGN00JQU4QH2M6OIIUEX75BW1SCD63Q2TY0UER6XPYIBZFL0PTEEMJ2QHGR25S4IYSB69B0U96M6YZK2DUDMY0BPLWB456FCR6FCDX79Z908C4V8TP0H8IUKJBZIFBEZHWHJ8JTGLM330814KFFGK6O3LT9Q94B2DGOD70EH79Q6TCPXJMF2FIWOXL79SV3KEDSMGK56GBJILIC6NQXETCVI6K1UHHZM066FHXIQ47U7NBDXBBVZW9HV9Q0 = -36#1IERT5HW398V4YF8BXB9ADLBBD0S9JYHM216PQZNG7BHE7J04U5Y1UNF7MQPTEPFLPSZ7YOYP6YEZDJCKRZY9PNHEQW4GS83DDE0TQ07EX9MNII9GEC361ZDVL31F0SVDY0GKZBH00KF2JXXA46D6RLF35WIQCVE5AYOGIW1PCG77Y2KM9YLXBSOP7FWCT6G9DBQPKSZGPNBM2E24CRUWW6A3ZRG61FITHL7VOHDXF0U4BQX7HXG0N1AZ0SAL70TB4J0KQFSBCWA5ZR0NWHDXX7WCVSL2I9C25MTUJTAA94ZNO78E4P8QVO6C8BE26W2DN1GY77UGJUJBXHJ7O4UF7FDJGBDSPVEP1VSBXX26O9TUY7AMGRNW8RZHQVRU0QYK8HL5T2Y9XCOXSXC00I1SDKFYJSM3WDZTJ1MYBY6CU52B8D9JP7A62KH9C4GWYLU8BAGZDW8TDFN84UR7ZJNTG5H8MXPJKO67TMIN1GPK195KJIE5AEGNZ170053EGSS00IXQ5G6ILWKLQH8ACYPSLP0 * (-36#GTQ0JUEK0RR3CW9678DIM3W3E7RSPHJQR5GD9S2M05JUGTU1BHM28VPXHU75L55UJFM9T6P7FSL8Q2LMZ4UVHAX0ASWIZDJU85JIPQ0Q2M48I53677S4SQXBTN3NPLDQZPU79KW8EVOE76D7XJKYSG8MACIIR19LN6ORSIT5OAQUQ0CFEEJZ21P2NMX1ZRGEZQM7V9QUXRA1P310TZA0HRRRD8M42ZSV00YO2LB7674AEAZL6OUE). +-36#2B9NC09BTOCCIPWS0FDC8BV6S7DBXCQW5GYWPG31JU9UYH6ZXV = 36#6L9H76J9LCSEINXWSP5DZRFT4J9HO23TZ1SI5DKIIXOPHSHH8KSNSMAMD5RI6FF8VAFVBZWQOFYXL4FK61VQXGDKWFM21W4NWMHUPAGONF4UX2A3UA3UMO1IS9R6RZU2SPEHQH0QHP6PDY469MSAQY0C7G51DZ0N7MP97I632QOW6V7QWL1JDCNMTGM827CRYOSZHQON9FISIMSM23JV8BGR9XPREXTNP30N0CAB8DYFM4LW021DT8CHALEO6N7Q5BNAGLY9V522DGH3Z55W2DDEDPUV4ZVUS7PIT4OTB11XIMAMOKB9624C8LK542DBD5IXGDYELTNTPUIRS3NFSNO5WFYXD4YS6MX6GQ8E1A9G738O4YTF6ZA366I1R7PGAPQE43I886XS8KSGXYMXGXEEMRRED1OTKGEH6GBH4PBY4U3M2SP6KJTO0PRNCNIGRJ5GQAV835EYUERFC27IXC93YTBEPHC607KS1YV4HMG7M0M3NXK9YZV64ES1T8Z7WWD7A8L103VDWSZC2OTA9XJ7NH1PJV0F00YXQRH1XU0BPHNPCUIB932MQKTAD1XGV727KPPXSKM78OAT6IDYN75TP7F36PXPVYL90PA9GMS5YUOJIVM0281V7L2ZI5VVW2PMUVBOKJTHVBE2QLWVV66DA2WQLYAVMGZLBTCFAQ4G90C2NY5ARHC2PNEMV4O93J6N60542AMJQ96SXBA38PMSUALAC6R91TWWRANZEE2 div -36#2UKTA4LTGLNPM9Y1HG9TMT7ON0SM6CXEZGPFJJLUD7V4CDBD0CTCS8543OF0PB6G5BT66HTFA4M93JX5T3CC0ZSOF4C0F6MOHEMEND58L1Z1734I2DIWTOM69TQEXKMS5PP9S9O2CBO17JK7479V6HVFZBUYODERQVWCQNRZODR6QYOHS8DB1AFZNFCI1YEG38PJOA4A0S3TJJ2RGW0G2WWB6DVGIFAERSMA0TPF9AI6Q3TP64JN68SOG17GB7IKVNSQTTEB6HZJ1Y1R4R5IJRAE37J9M1BEOKBTI0RARBA9QZ3E2WCYOANFPSU06X6RQ873D40HA8ZWN92QUFJZUSIBH3VL8YPCMP3WB7BESAEYHSRUY11EGP7GJH3VEMA25UHAFVJW16Q2J9KH9ELK0OBLVRM5AVCHHFN122O1XDY3O9AI57GUNZ1AMHMED8KWKIGJJ5HYLS9E622DSVM27V0P65BKXPYSU0NW9R92ZSV39WSY3Q1ARQDHW3ZMBOYIREVPJJ1MJUSAFUB43HS0R8MVGOLR6214BZGF77Y23IRELD3X515HZRVJLJ1Q5PTY8HBN8IOHCAY4NL7L0SFW1P0FANG0677J445IE5IPPLKXCBC084MJXX7VO2WC0EDPDDQHJX4JHWWBYMYUE4EHZHW4GK8NCLURBSYEI04IR7G0V6E17I1X338AKE. +-36#1F2LUJ6RHD5M1YKHJ0CD1Z8XGD3KNYI3T2K86U25S0K6NX077G = 36#CUPN8BACI78X2VSDJLO0QJNUFMVPU4E0U2ASZFOBUM42JQDCWTVT808IKGQ97JYS9HCOVGCD6S8G0RXUDIKI0J8Z80H68RF6LXGLG12A31YAO3HGRU728H09G9NUEZOQDTJBY6EGKA4H0I20IHPWV7ETPH6U9AXMVRAG7ZVFEAENEZ9W88MSLPRKWIWB94JID8662NMBA6S6BKIQYOUOEUMT3RZ6NZJKR4CMTOM3NCFDHHJ1VWK3GRTWZG7YLPFJPV3G0X6ASGDAQKI7DD19XH4S3UL4956TG8U1SSUC01YDXT7M8IJ2O75QAM1CR49CY4IE1ZZ5YV1XK6SHF9Q2H7SEGKMSRKC1OUAR27SB2AS21SU2HQVZADWTGSFDPBU4Z8W1R1IK55FCO9N1TAAU374LA8Q3X2DOD3535W4JFHX7FM9L2I4N5WJWBPKQ3E2JAMV8FDFPU0YCE0CLQXEUS8OKIQUVRAKBW5JW div -36#925NZBU8E4I7BRO4F2M1MZ7UZ8GFQQVNBON45TMD4AOJIBYBEK0BE879UIRWKGYQ7T3WYLQ06W56WUFRNVJ9UPAV0UD78KS85T12JG7RDBZLZR9S7LTYGXRPGPLJNFAK4Y8I7MEIXK62S9T6FHDHIY86Y4VVG2HRX4ZM73AHNN7R6LW7XJZPKI11NYAR58Z6M4YFHXJOEM2I5U3TMEQ6AC7E8HYQNJ4XRN9PJ5EDUMWAKB6MXG4JPMTBD4SKHQED7F08QF1FF8QCTZ7K3GP8XPCVSSR2SSJF7IB1JEJVCCLK1UON03HH7J0J6CN1DCMGYW74Q3CRC7QAH02KABZUV6RKO0SFYHSK8IFP98SP38F0NU7YLOGBSPZ70YSPTU84P5ULY516HPM2Z4I4OKLP3PP1WTAC7RX6OV6CK2Z7KE8FECK8PZT. +36#1WMC9UZPCKE8HTGV8O9IIDITQ6REI7T8RGHYNMVQGUEJSKDQHZ = 36#7TERKZEU1L4DQCEY6U5U4HQYU5J05HBFRARTXEXFTF2MNZ1FM3HEBCE5GTV15IFH42M0YHATJ01AFC5HIB113W4ZGP3PZE3WTPIQ52E9UF82M3L9MPSS7XCGPGBFHCS5HX35OQG99GQD7427TLKKK787ESN8SCRPR799KAOMSK5GLDEWC0LYWHYMWD27ZYLHCEWH3GSCJIC0HMRW09CWUB5I10X5YVJL5KNR4XX0MMDL11Q0ISD14OHV650SZKTOWZWRZ61XCS5GKR8UTGNRGSTPI8JSOCHKDUE187KGV3NPXDLXAKJ4WPMHTBPM47M48BLKKSNMRLAV7THAVR6Z43N7Q2FYLF69ACMBW5P2P0U3YXBD8EJ0FOR7TSIYZHRSWQ2BKCVWUAS7PJCXM887OLXTLDQ015FRB2D6Z70I8Z8BOV82209HNJF1Y16YWDO4JM0KB7MGJB5DW4JR8Q93GY9QX1GESW4YKAKJIMV9292CCUH1BP4X4RW5RSYZ81QDDAXYC7MEIZWTOE74VH45B1AVUQS1O7XN0XOUY50OL2YE1T513UWDKYXXA15OJC5XAMK0XTF17TTH3E28AZ6JGKEPPX5KMPX05ZO96OPQJ3L5DDEM9DF3WT4X958F3BCSPPEESOT9LV55EY3WNFW8T2MUVVE0BM1ZDON23RF2S6S1N8HLCZQZFD48GNBEPKU7G2OL4D0TZDRYH2W99F4FTIQUTA0K6H1YV41Z3Y75EVFLLN9EEB3XG8S4A2JQM868DK1QB81ZAYSLZSESP3NPCAAL01YSL5IQNUPRCVWDAUV59BOYUEEEP div 36#43MUBUU6B7ZA5D4WBCPC6I4XSQ7WKGHK016U0N63AG2ME46EHVAFO5S7HQ58P4GUXGP0LAF0CXBV64I2LWVT5UED064RNNL5O8LDMDL61P3IW3WD1S5KV5AKOC9YDYBJPQW0GUX8H1E38MWO9O37MX1U2WVDGN70UVJDH1L2FW10GK1XZ60V6Z9S41WO7T2QTQWGDU0TNYIFGSR5GSPPRVTAEDFML365Z63GPPAL2E8M681ITNMUGBKU3BLRQ3DQBFEVVA8BIF8GQV97667TJNAJNZ3BUOH6VVS0LTR80TZGXCEPEHPILTEZ2TOVWVQBBD4G7VBCN8KD9K6K7POJR77WIDQ610NFX869TTSNLFM9VUS1XL250KMOOSECJ36CUZUEQ99ARX4XO4KDYJ0TG1YHH99E3VNW7H142BGM8Q0N57VP4X6IEJQZ72C7TVOBI85457WLIRUND0GPVVRHN0Z1FFEGQP3GOS3F7ZQP4RHNMAQSN602SUBYB2Z2XF7DQ74KT4ZLSPZ6BF2OLMHQECUKUCRTGRLA5O1O7UFI5YPLVDM6XHJ9H2CQXL4R4O7TY2SBK82DMG7GNLX7QH0EBNKX6KQCYHZACFMAUZD1ID2HWIED5G5U68EPA8LEVHAD0DL7RFQFVGS0IAZLQGTQMDKILPYEJ7TRI8ZUFZM8QCVS82CWIJNX4RRGWRQTXXAECS38F8IWHQH0SAF9KQ50KSOQ7MN0A79XMJRZOFZRAWO4OGGPGXRLB43NT2H28QDOI73B. +36#XGAOYL64ZFNNI5330X9GHZCPH68KXPF6EQKVO8FBE3G47LZ9BYFRVNUHFVOQQUSHZO4D20AJ4L8JTXQ5PSE1TO3E7RCQT96300T7D9R4MJX2PM7DU8G99LNPXYD0P2OJ14SI82J5CUILIRIJUF0NDJ2LWJ7L93BK5NBVX60XTR0X2BZ0VTADH9IV13JK3FBPF31GZM6ULZG0KO3JPSZG2H9A4MTKAQMK5EV6JD6TY1MNT7T5QDB02W9UZQHD6EODP9H64IE3BSW2T7BGASGBS7UAZQ8LH3SE3XIGU4CXTLMI9H82CNJWJNU172LELRQW5D0705HABT2FXFOQ2LLNP5PY9U8WPACBCXEZ5N3U1G43JZE29GBE1V4GLVJAXR7P1BLJYQ0N6OUP9YJD2HN3QBZM5N0XT3EWIIUNGJHXOCDUEQHA7CMJBE5BOF1146O2NIN0P = -36#RNEPP8PQ7CLG4XZBO9M9EDQLZNCEDW06GTFR6VQUC1D52IX66GVQRSZS046G77VF0NA15DXKSU4CD0TH1OJNIXTFJLOCGQUU7FNROG4QI1FKRJ641CDY6I536X1WBKHG9TE4RDN6ZE6K1LMT9XG97R4UC26JJM28U8DIB49J11KHYT2H9C39GJJ70430WW2ITES97QY186AN7WV6QZSGV7F7BKBFIV6YWD8MN89OG2FIVCLH32JZ3Q9EAVDWGNKDTMC5SOOPXZHIAJIBMCH7J4UP1AJOCI2FB10DFPNDQRL61B0ZO08PVTU8OCFX4M2UJGWRRB6Q0EVXSIQ2QG5Z49MVRK7L16Z3KHJ4BGVBXZMLCV5FMIG8ZZ6J210P3Q2EQ75PP1X42TN6IRFFV3FOADBNIYFV3Y8172IT1BGY8F4BIGDANYXH4WT6DFWZHTIB6KWNWMO4NFTXWSZOUCAX4CQU7GW5GB4GG7WL28CWKV3HFB3VUJ3L0A div -36#TR7EFBQXZG4MG5U7D8D08A6QN7DRZEX2N8RZ4R0GKO27YNGLM. +36#CY4R454JWHXG0HPWCNB234YDCRXKRT6R8HE2EIUG0KAKEIWNXHPAEFXASN04BWCDVTMW8SPGLDIOC5415UNKE5WLUF86WWULCAQFQ5KHF1CXCNVUS71BBXUROAP6O0KIQ61VO19Y0BREJ2PHSO5Z179WGI4JVDM1LKFCYJRTN0C8G6KH0N704LG7ARDIZ1G4FBYHQ5MFGW6UEKRZXVFXEISJ902DU4D98C0K192EC5MO8WYBQCOWPEHURUA57YRPYH4XRPPSQZD8B3QIOR8RVNMNCN0V2DBIGBGNS71EMHZ3ROU14DTBHUM9JPUTC37RXCSFIFKFG7LK9PDY7AUCR4QVRMMNBJDZJDWQC81ZQYF8LFH8G3EW0HFW1LT29AA4L3USLAUUXZJTE7VVSJLMTTVLCKOPEPE1JW42WDW8I4G2JDLSIZL1BLB2J9NZK1ZPOOBMON53DX277NVB0RUIL25S81HV4QJYSWATI9QVLTVXMFYQ8FST0RED5VNOI7F9A8T33W0OXVG425GI1Q11RSPXKNDD6KC9VZH5B8OVR5VQDWE0MZWBLZHUBC2FFFWD0II53J28N7RZRW7AWXMGU8AIMRMWPPMN521LSSDIQQ2U6RT0PYRX9B0UC3YHKFIYBTVHAS0JMJTFO0M1YVW5MZH4B7CDOOTU2XH5N7CZ4FOXNSRU1QJJH9EYBD1SB4VGKTHMETSYIASHMVQBOAFSI61A9YGIZMD9B3ZTQ7O2ZDZEIG5WGBYZPYK5H96VNEO1JU4422KWHMGPGDPA1JKNBLFI7UZCRVXG1DR0COD782NVG22104R1K71MY0FBZ8AIL84FQV6AVQTZC3MTLUN7MPRF5IFUYU4TFS4X4WA3HJR3MVNINPOFERI09V7BGKZCG08NA46KJIS4XQMG4PZ9I4Y3MY1RYDE7XS1JHI8CAV5MEDB2D9J8ODXRVHKQUMYZI2DL2TPWIIGYPKAV314V8S8OFBE74W62GY5I4G66UGZV4ZEPNECXLGHQX5GM9K3LTJG9ARAH7LB81RYQ8ZDVAA81KMX7CDMEZASKLDHVCTDY4M9TB5N7UOJNOKY5O8HQAXV0GKSCTJTOH2WQ1I = -36#WPI55SKXMWCQXIJA7SW6XUPQMT4X2T942LX9EYFWU1IXLL336JSB2YGI9D9Q5TUOWGZRPT600RGBDWS2793UO2RTQH7ZQ7W5YWD0SA7IKGG5FTVCT1OH141WCCSQQDYSZB13LML15P802TNBEBE0SGU8GLQAXKICP0DRFGEWIV0NGUNLZSNQYZRRPTWJ95DYUI9F83ABDNLT5WH210R2PQUCDJAVOCX3NJCX9HNESLD8KEK74945SQ1XNDU9VOD86JG0E58OXCM0YB08ZKYOMSN2EKXE594W7G6KSWE8P1XK60PJXZHXPCSNFSU6SUMZBGQH8I97ZOP3K7867GMPR3001L4SZBS7C6T2TT5JJUEVCNMC6P83J4YAGD7AZ437FJ824M4ZX4ERUARETJTEJBSIO3NK63PWO09KFABOKJYTMZL0JA95ZA43BENO81NRI5LT0RN8L48F47Q922EHTQ6JUZP2QQUNYCBIHSSPI4Z5NL6136HZVBLGG28UZTABFRYL3MTH7F9UBK8RAM2G165Z8X8PG97QKE30Z * (-36#E91GCXYJKIMOJKIMWALCVLZO18FITPBG7ZDOJLMAZEXMGQFD90XO4C0V9O2VRZEVSKJPCCJZO3GJJMKQZZ8V800FTH4H2U85PMEXVVRDOS8P7MKFE6KTO2JUCEXKU1C34191OE4OFM90DQT0EIHENE8332K7U0G91TYZ6QHIX48JL0YCWWONR0VKNH9RQHVEEUYZW1YX9SVHYKJ15A8EUQ7S93MRGQYA8J5VBEFQL3E6UGFYM2C7CHO0VJTU1S7ARMR5696032IQBKGKBENV9IEAUQA7CVKRK17AGKQCXK4XL4VCCCF651G45IE9FZYZ9AVSP7GW037IF100UXH2N0LNW3C64O03XBU6EVPPLRXJ78R372GX3MD9V6PZ5L2URTTGWNY3JGJN84IW0QP8O2D7M4X1WB9822EFMGD0H9KO564RUC398EB2XNNZIBDA0XBJ4HUU7EQ5JMWZLA8VF9Q5ZF05LW94CLVAWFNVAHJZSYNO92QMUM0HTZXUBYPR53XJ7NP64PGBF832I8K4IXXE0MNN7LFI87KHX6ATQP8GI). +-36#DLW3HR0GKAQJ8FP0LYZ9DIQX6MY7ETIIIVEAB6PK3PGMNIUG8QDAN7JRYVT3EPISD1WREAOI5Q3X9EBBAI3MB0YQ51NFRO86388D3EV652414OQMD4TYAQOZK5IO09ND1FRUWU9KRV4MHPZY8T32VTDRWF0O5L9F0SAYZC1KNJYLIC85NFZSS2P3F1PP2H0TQ6HHLSEQ6PCOITSOOL28P144RO1TU1W52CVSHNTBFHLOUGV07O56HGCXAMJWN6Y5H0Q5H729D2H8VRO6DGOIX6OT6Z5QG6F0BNIDVP3NU0XPWM33GSKL55YAUTT5MR0P3247L7HR6DCXPZZGCHXBCP5VCH5GT6F49XGZ6RG8I6SIUUFJJRIPQ = -36#3PXLG6EIVXPEY2QIXD47AM4TBXRDBIDJIV9EW8YSS9WIZ17DPG0K2LER7O6MLLY9IBFAKI3K6QF63XN42X6XDKWZ8CJY8N7R6U6XSW4DNNORNU3BWJZHUL74EF3POJTYF1SQG3RDSSCJFO8JLO6RWLKC8X6M33H6W24LY75GA1ZRWCRH67UFE9US4NACANXQRH7UKPTTKTWI04OD8SMIFI4GAGBFD4K68BET9F46G91W6ZHQXXCN39VEBNG7VLR1PX517BUJWP2Q2CTN0HPXH0NR84NQ1HW1UG24HATI81JG3EQX1N06YQANA6K0KRCF1F1KR1PUNOD1JEI8620IJ4XAAVAFX1GQLZE9TP48EELM781CZ710NKYY0CXDMG8TFL4J9QIWC0XO9MJIPSBKQQN9SQNTJ4D8PUNUGDQCT5TJ2MP8BMJGIZES4BWQ6Q1GQ7XYFWRXDHX0MJ19ME div 36#9UBG8PK2MGYEYJZ0UTYOGFIIMU7C5DGSYMHRXU6R8UPGIWMLWDRJW3G4LER5D92Q7Y6348B0LJT78OAKRIVXYRMWMFA6D. +36#1ZUG8N73KUCNI6JX5GA6BPZ67QKMBQKA73ZZFLZOID7HT7TTZWRXFDXVF2GT39XSR6REBQ0U98LBLKDZERA081UGQ5XL9LPU9YMG30GH76Z9R9IFHMIQ3VK6ALWSZWLFLS203LEKQOVPIHVOZLWKWUX8KPAXV5NQIPH6NB5MVDRJY3OI4PNMO5FTELEJ947Q7MHE729VPXFPOHFPFQBCUUL1B148IJUO43XTFQHSXL6VB5GQZOXC04XLHKSM33ALR2G8I9M5LGJVDG6M0XAZA4I1VHP9149BL5OES1MEMVK0VG8H31S1LFJRD7XKX1X1A9OPNBXMTKJ9R7ZMRSI0ED34OIT27WQB4C29WUAFTT8Z6HELX8C33ZKTY4W5JZG6XDKAOPNO5WXXNYR8YS6PD068K5H6IEJ0UDX1A5YV6RSDVOMSV88OS3G57E0M2XMN2D7E5B904B7S3U5RLZQUC17MRCZL8ED8J5HI0GE6V5HWANH2GKPI7GDTSEJEL946UZCYDYWOPMGH65IXZTHLN6VP3Y2G697GB4A9ZPGBQF8PWLR3UOYD0ARYWT3CTLEUYDD0V17WEXNMLIJQ917KQBSYLALP4O9GEJC005GV3APAHV3B5Y2ZFGD5OY8TKMQB9XTVW1U8PZ66KGCFWX28RR5RGX5YXE0X173AECNRKWX92RX2B6RESSD5PI57L5KD7OWHGO73755JFXEDU1KAXGSN0UM7F65H9DNZRHC44TIAEP6DOKDEG98X74CUWVQU = 36#3MA0MQNV714677Z6ZMFG8UZRG4HXGFLSCYVL6WF9QOEDDUL82864TM9YWLUW5J0OW4J9CBG92EC6KR7HI4FPJ72G3EAIFSXWV9FQWZCZACCK5KEI7VV5FMWVVN3BSHZ67MRBA1EGE31DSIGP7T8O3VKDKU3329E4HN1IANY43FJ5O4DAW3EJNBTXWGLXWRKX48AWTS5DC13FFSSIJENYS36FSXA8SXIFP7OLPRT99VDHE9XV1MQE4YBM5S01XG3XEKYM7SERQZA5OVOPRJ2KBUDNH4ERLBHV9GMKH8YMTGF3KU7TFWOHR2CUU6FQLRUHWRKPPN6GLWOJIWN9UXHLUVSAZJ4DOSKZL9CFSKIMCMMS76JDBWF168UYN1IV8C7VASSE0LQH6J3UYSOQ3QRN22NXXME57VP5LGZZN84CBQF6OQK34J11GCOC5HWUAF0HJFDUKWYYOBHYY4MYUDNRM02UZ0EOY201M9YFD3UW62QUBXRUABFZO1SSK9BV2DVLO1EO6CAKP5NA6VOZRE7RNCKVYWN3JE1EYRIMK1EPN53K4T1PIAQVS2HL0W9DM7WHO53X0PS8K4JOJGW26SQQJXAWIYRN79K35X02XMBFHU0OV6ZM7EZXTS54IY0JO07D9M5WAX24HDLQSJQPYLK4VBRLJ9LWOR6RSL2SQ51QRPFM4DJ949OO9TOUQNBLADOW4M872QAX38ZR8X480EPQ8M51S0ZQDH9NKS3UBPNXWOKYEYQDO7CYG33KGWLXMLZ7YG35KPDKKJYWD15PUL1CG6SNLYHYJHHQCSBNXIHO5F5E7FRF0HM0DUR9YIRU82PIUKHO0EHK4708BBEBYQYT7OQRBKPAOJNZBZQA4VAWMLHY8N84387HO1VL9IA0XNVV6DQFHW4N16P0DPI7YKW48QUF0C5LJL389KBDNV2MZ9LVI9H515S95VZ5LANGQKPW8VI8IHU6LXX4LTB3X9GZJZ7QXQPKFLXJV5WLF2PDL26NROT6T5QZGS2Q0ZX2TXX3OOIX4K9QWJK6IZDZIH208DRVCW4QG59PQ5S92C8C1TWSIGJL7CIE7VJ7Y8XWUX5L9MLNZ91W373WY6VRJ6LZWN2ABLL3DDZX2TSF2UXTFCO9W58DJ8LJEY7W37Y9MJYT538CN22RO88XFHW40ISWRF3OOAIQVYIKC7OCH5EL0SSD1RAOGKOL1G1E52KIGWMK4RWRO div 36#1TA1FF5GSMWCMUVS7YHCUGWG0LVGVC4A1UA3X6OH96EK8WFWMATJPVVUJI4XVES0LYQ8B8KI5QS0P1403QYGNXP2OUYAFEODZO65J7NBHAMCO1HJINRA4Q31NFE9MYUENAIF0TSKAK2STTHNFQN77XU0KT3CMVGFZ3Z49HOBNIL075FZPH52PXXOG0DP5JJTUPVUNDSBB2NUL8PBKB5LUFJBLIH0X6UWAH9FL8KZUL82RR7Z9EUYM18KIVB30T517W7HUANPZKI5BHF1V1WQQ1BBBQYY7WGU840ROORNI4S84D1PA29FG9XMK19H7EP43PY0EYVPUB7HBNA8NX4OWOJR6JUAS1ID26EEZE2HRM3C3VACZUPIC39XXYNGMHGQHYZJLWARHCSAJKCSLJ7FTOHQTT0CX38F8BGL0NXMZBLXGAMPKSC7I5STOONXQEB2CFLZME. +-36#FRWI5L514EK9UGIKS6KQGESB41COL29T314JMY1K949YIDGNBOOBZK9URFQB2QSY24EIVPZAG1W6OAEHCA6DJ5QWOHVNCO0ABG14DSAPZRCLC0J0H7U3N0T7QH1SYQJRQHZI72E7WOE1U7XOX6VM0JM216D4Q7NXUCN0BMKR4N02N0C62H1SCZ = -36#YIH2EJ2PUYDDFE3V0PZI0ZP41MW8CCHCFR054QRFM63OU5OU9W3TR9HG2PL8MPJHW9UI9SR15W3P9QOA7KN4BMWYU8SDNI2FSFO29EEDSRL91YRGZZSH0E75WYBILPEJPKLV0E9NBU2Y42ECJLTQ83TA8MZCFJ9O4R2PJBBK8QPAZJNTM7UVZA41ZP5G50OZHYXVSRV3L72E2IW902WPMQR6XXVKVVX0CIDLFYVKONL1P9DGUPUV1RC0F0JWLCGBY5XWT2JXEV96YJY6PJ3KH div 36#26RFBJXWRAI69WW3M7WWKK6QL4WRZEDMX35C19SGN7U8SA2XWZIT5JNKVBIJ2K736HRT1O1074CIL3XUIYB1TB7QXD3LFHAJ. +-36#1YKI37XJMU75DY42CQZB8NZGBJMM8GLS36RBD3Z3F44A658O44 = 36#4Z5ULNU502NI1QIYMJVDTBVZEK8VCXSJDC5SK1SJRDLA933LK33VBLFG2Q0T59TG98USQ5YLQG6FBFGBC2EQ2D4R8MM8BV5RZ5W12LH2GRLCOC1X9V6IO34BLD1QD2340UPBY4TWSXVQWYYBYGYA0SOYGP35NICAN1CUEVTJYBXUQ34CDF7ED2BNCK39F0QJN2TZFLQDS11465PEBPBSDSYTNTGSDLWSTM81C9XGTZTKZGXU08KNX2W9P5ZENYXR2WGRYZDQTW2CD5N8R4Z4HH3XE3LGUVLH719CDD50UU815Q10HKJ1EMPA8CVWUIJH0EQHQYWSM5GL7A645SIRQTINTNU7K9MGLM95VFRI0W4D9NH3RBJGXEO7LOYRJEKZA68ZJJ7IDV5FUETKV3WFMRK67O51242VM26V55KN7XQCCLDTMLRX0AJZC div -36#2JEANVBT6W0BZOY6A9L79Y2IVAM9FCIVNKH1D9ODJGHFWGYWVVIVLO68CSEMEIZ18PZHQGMB8ACJ2APDX2P4UWIN3NIUBY30LF8XRES4F0O5WDW7SHPROWCBMQJEVJH1IUXXF50EMVI4SBLPD19VZUHGXIJ3H2JMPVCK48S9A02WO6UVFXCIG4ABHZZTLHKTQCPCNBIBFXLXFY2X2CX93FSF6VJN7INTDE1L55SD8QEJTQUM19BBACKT4BZT7G57HPWTJ543DHKFRHHLDPAPHM70R5G6CVGM4XBBE1COUAIYPHQDSI4VHO1SX0PATVXRP6BF8MLYM5C2DQ3UBWOCA4Z6GSPO1Z86NQJCEKHR86BL3QSEXGVZXC0O854E9CRHQXRBGH5U. +-36#LXWS0TF838WCBR4P1U2048VP1BZI5SNS6LZ4ZJ8QRM5TN1GPZ = 36#1A4NJSQQF5IZEUJKA55R2ZHDCD0GLLY60YDODVNRBFZDIXZ3A2NHOCCQ42XQCZF0ADU94UW57LB0QAVQ15BDSRFLBCYILS9SY7G div -36#23OMEI9Y5XP9F4VCP0715GS700QKZ2FZLMZLAXKZCU23CLM48K. +-36#1EEUJJSSE5W90MV0FC9XWZDL5Z1HR5ULEJ9WG9XCMLBBAJ8OJW8SWQ7J08ERE9HWZO054K7L5OU2OIUHCU4FWRRTSZE64UY46UEES20DO4IASMGHALU1SDPL10LFKTZYIE91KZ6TDTM2CNAE2TDZ82XMVCT4NVWW706RBIEW4GC0YXRGXGLNT8TQO9WWHXWFXEBPQ6XXNP3K3WOU7CAKC5LO9PU3K2SBILY2YAEF9JEJM7ZMGY9UCWJCTAI3TKMSF3ZXH3Y8FCSEF8JVM2ZT1AN411S6WBFHA837L9XN95WH3XH2NR3HC4GS72OXMH75ZZKAFONCU9R36LM34P5KXDPYG2FUSIWBMIJOXIEI7QZWESRJDQPNQ1OMOUMKPQUSCTQG6N7G6KE4F4QKCJXN57VIQE8DTJVRQG36S92067M62KVUUV7OYTFMFK5V45Q8RJ4B7K677FRKPR6ADXX49BU6E7KYWNEZKMXCHEDWZU0GDZM1F1LYF3WTIC7HFJ04AB0ZT5MR4V5OBAOQ45RNQ22UFJPGBINSWSQP6EKCYEZCN2EX2DY9U1L79C77F1VLR6E23A0FIM33VQ46WFUJCO9LNPIIWPBVU5FYZARY87WVSSLOD1C5IDQRZGXNYNJLKGANMQXMX5C8YJ6P5FZI0NOT6LVITO17U0XMKQMH0FMG4VQP514XKCBX4MRAFGJQI4PXFHQDBY44Q04YCC5LKD12OXSXER97V8QW3RV0T5LY9JQI00RNKP19P5I6 = 36#2C0151O610MQVR9YAACHMGUY0ID2WW8ECABIPH98X9ZGQEM3S3KMRACODI1LBKX1FN077NVYU4XQ7Z1JG1745NGJWHAMT4H14RY21XCSGV0OHDQHI0RBL2YAVJ764VYS2MR3ALW7N7GXT2DOY02AR4UFHV6TGZ900GNAZ28SUQUCS4B29RGBEXNZ3LCT9QPSBVQ2T32NUBXG7ABXTR2MPLJEVM4SZJOE6ES2S6SOP6JMCGRYS9KRLLCLHQYHU4XULP25F6OJU1AR9YRIA8AUTM85Z2OIQTBCMUGG253T1NQCRQ18312B6MEO1MI3RX056D11P7ZAGCSCAE5U8S60FTJ37EGVAVVP9G05SATPZXMQBZDFS621AD545U4JP8L33IAEQEF9T5UUU4QJCCLR153UL6PY28UKW22M080X3XM45PQNU9ZRVW082YQVPEF529ZPO8L7D6FAGCIUKW60L10IG07L9JTUSULRG5XK08H6K9ZF65C7KB9FL9G3F0Q3OTNBT880F11YV9JI3GT8Q0VQNKIBBPAA3DM0BES3EX2AA518YBZZZK0FQIDTXSWIIHTHFD7U3YW476YALF4DZ259LLT8SE6CNSDHDT3SF1XV2FSDVM9TZONBZF9MYD0U7F4VS9ZSYJGY7MB83IOZ6AFUYKEM0PVS9DOJ4XEZOUU7JBFKZRR2AIMF3GMNPYIY2BSG82LRE42DJZO1VCEXTO4KF7Y1YPTVPJURH3HCVLH3AONDXZMCLR5W59W4ANPAO1PQZAAV7AKULW7U2VULDV0MD4ZNKIC07A2GJCKEHEX4Z6CO6ILCFCCBQKHLYUWPEGPBNOQT3HZNF7VK9TZ7BBCUADKZBD20AIXN69B7HYUIDB2ZYP4JV09MB0KINC8CGSXFO5EK7CL17BFHA8QHNRPEIIUK5ISDJDEVQRT66UBMTA3DND1CK024CH75YX09H1T7M322AJK5OGYPLLPGZXIZN23GWUQIODNAP9ACPZ6MQ1OK04EZ1JY262L9G679U0AQCBJMV8K6C3Z8WV61A7X8U7RJ23O9WIN7GUEMC67Q4ZCOR7Y1Q74EPWLDG1TWYWB3N3ZF4PXQHQNZD3W0MBHGID13QQKVLVDDP9ZLBMJLVL6BEMXC4Z5JY8VCKGHVCE44CE7AYXUJGMGEY0FS44SC4H0S6FOTK320G7PM86UV94FYQUEJYWKE18J4Z52Q5L7790Y1JPG6N45RFXAQTC9K6751ALMWGJUN2YJEN2Y3ERZ3H0H87R7MWW1EGPWW2PPED89HDJATKRFVV8SPWOJ1MVWROJAVSGTLBYQYTD7SVS1Y6T38836PX2FQ1Q81I1YMRXYPZA6C4KDFJHPVPP2MYQPMXJ41OXUTQDQ0B98PVNDDE5BF0WD7U64RYT0SUR3T90YEVOXMDMTS3QO5P2QRBMZ063RVU5BKBKHSQGVVMK656UP3X424ATB9J6RW4FVIQ48JNJ8UNNMBVZZUKF601PN0KWQ4T0BQ52B03AKAXJDOSWG1VQAORWIM7ZXLQWOBVCWXG05SRIQ2SPLZR2BTOO7CVSA580SG7E2UWMCQXWLSI div -36#1NZHLMY01M5HRW3ZTH7KI9740YCE93LQN9H9U5B7R0L57KHTTTCMRJW2JFQ3RP2A7ICYJLZCHMDJJ3LJNK01474676ESSEGMP0SQ5KW69D6U9BODZ1SOT551DEAJLI9J2OGNLVRTWB7Q4Y65CDBGOTCC6H2SIU847CAKOXKDK4BV9XME0GY093I6GFMI4G0K6IRPP807K0WIF0JCL6RCL81HWK3TTY3O73ZMC4LNEMMQQNDTTIRWLGU7MDXK6RH0CD2T8L54NNV20V0519NULO0DRYC2K7AVFEJW3ESO7M50I1SRCR5674YCAAIR6OE6ON5A77T6C3KEW8HG8U9P0KUIXEZ5WOUHFOB0S6RFIFHY9DGJ32B81BV1R560K1OYABXQHW631UXDCN4A2ZS2FYGSJHG0QMKY42GV73854IHXX1TCXF9Y1GRQCOSJKOWD0VG70JYKD5VW6MMROMQCQRB0QDYRBMA9SY21AV9RBXFNPP6R3TCOXGWVMB7V4B8Z7NULA9CQSEAD7AG76Z9PCWJ6SMXLHOZPKAKYK1UKEH1B6PBJ7IP7EWO61PUTV016FMALY07W67PB5UBPVX5EK8TDC36235RRDSLTL5S1QTQLGJWVU2O7YA5UWCAPR0EP8UAX7Z8JLGI0OGYX0VEMUXI8W8E7ZLQ5YEY4HRF5IS5YMSDG1ZTC6G7KD10KYXKN0HHREWFVH16LV1WFYEPCZENKSPSUCA0QSMFVRWVJPXR09BXTBVA1PU3PDK7OOY27BEB0KMYG2V8EK0ATKB4CK3NPHACVNYERPFHIMYGN0ANGQU9Y7FGTVR. +36#LA5UQTIDQVHKVWX01ONG7UHB6BEMLW5LPG1AVQZ4987DSURXWXMKHTMZY526ARYXASV0SJX0G7CGDZR301A61RBBF59E4SAOF2BLINWQ3ACIS9J3PGAKBNT4IO49EHNZ1JCI2E9KLYQWIAUZWDTA37B3Z7HCLHME9FUOIQWAG1SMP22FLDS3HE38Q0O7THEYLRH6PE6I4YBE7MF8U9KFRQCXWKFRTARB0YMR9X2LHN0BRO2P5X7JU43BTE0MXY7KTHU45R7KLHKJ5M18ZS1K229UOJVK9B11TMKF8X7DZXZR7RA1SS9PF9LNQ50KCMXT8Z8PW2RMFSX4BFF91RKX2SXEYPTVVSZGDHFNIKGDXW8OHSFTN0I3SVA3F21UXWZH07Z4MSH6F3ER6GLG5H3CU0EN89B6E7LC9GPMKT2UFZLG87H06L7F0BK75GRE5KGGSEE4EP8CAG9C3Z7BDB5KWG3WGRQ2ZN7GTOBY5AA8ZM6XG4YA5RXE112IQGA0GLU8BZYBRESEG1CFA42DPKN690VKV4ONN54912J2UQU2WGOFHGXGR53BFE17QEI340WMCPDLDIA2KLFPTCJVR2W65DDSLKPZH7313OLXEB793AG94VOJUGGRACODN5HR1RZV6EUNDQKYQJR6MVYDK0G245L7WCTA78AQ1YLTFF1OM0JV5AZSFVEOBEGE87H6815H1AN9UX4Z11WB4EE84RUYZURB6ENOHCQRH1OCZNWJKX3U7GFQ6YDDF6508562ZZU3J6WZT2NQHJTAPSW755YMYV0M5Z8RIAXCFNYFOBNN10JQMSFC5SG5GIRMRZVRMMHRD9ZRSZGMX89M2KRQ7FQOFFQ79RCOEQUNU73LHPIJ0O4I35Z1URXVIXIPD4EX0CL17BJZZB7XBXCT1BJ9KEOHPU8QGNNPV7C21KM8GMXHOHLAA9O0VGB301KHA4OGLFHFT034ON4JBXRYDJF5KOWF5FITK7RASWIFXO3N24LZUIADXC4VQY1BYFMGIUS7BSSTE1ZD4UVNGPPFXFADL8TFIIX4QUT515FU4YH8HMV6XB7QHYZPDWJIPK27R4HH1V48T262DZ7D9KBTBFDN5UUQYSU4A9NYV2BXW45AUTA1L5LWFX3P0SUZU8N9KRYX1708051PJ1PQE2T8MQVKJB3QEHWGZ8YSZG51QNIOTM1J98MRL2DON7OKX0 = -36#7W0Q4JFHNHGGTJ2U9IOCIRJJCNW5GAKLLICOSXGWDCFZPWI801JSCRRWKIBJ7THU6OT36WAC2GI5PP87RDYGRDWXEN7MXMEBY0YE7VM6BENJ67J1K65W0WQY29F3IMNSKRS4AQRVZCZG97ERL68DS4SZQ1CW7L1YLHL44TWDJFF0XKUWVQFJLKN9Y1POY7AS8IUUGI4MY6OIIMRIG060MPUCJVWFJI8YQLKCSGLOJGLWM1PL7JTAJQ32HH0FTG2OQAMAX5WXJH3DU7MFHO * (-36#2P41JZFKMZ1DZ2RUNADOBAN9J2L9FVRMDJX9D4CDJ631TFOSNPBZGC5EPIKUZDWR7O258UWA2KSZ5BRGLJ9S94KDTNJBM41X2Z299B1BHEV9OU3P2MWKOFH003DIM1LPW6PJIRGD7A7CQI90EIMXOTRJ8T4ILUBD4VDAVS4UXOIZFM2C8LULWIDEUO4CR1B7JSU80O5NISDCVTBXK2Q1PRGXNLAEOKX76BOY45KKDGSGL2FZFQCMNTJQWZ5RMRJ7T9FZC1VPIPB44S16XYG97UERXPMVBJ550YCN8F6YE5KKK0EPYRW4SHLUG87FTD5EBEBKY2GYYRIETMHAKX6UMEZ874IV9TQHZZOBB2TFDVADQLTLIJQ7M6IWNWO69BS5AJ8JA47Z62FMS873M6DZEC9BV7ZRD3TOKS61Y1LQIHSSJPNPT0Q4773P8NNUTFIKXG1QH5PYP95W8TRREJ5QRADV9RYJM8XXS6ATJMWIW5OSEWSMLRGCBRXR2HVOU0DYL4JDS5G8BRE6ITPCXHQTAE35Q4VQ9W9PL1TRMMDDI4KOOMF9W7TRIHEC5CLHYYSCP1YIT92TECBKS8Y145PMSNAL97DJ2E5IHI688DV8YMETK75UGBHHI1BZ66X53B9G5NW8Q5AAOWB73A4T6HNC7DWYVIF5SJ4N6VD51GFT8EOAF6SAIZRYNQLVGVEY437WVZJP4SR3AJYTXIUZUOAATIDNVCGGYYWT4YODWVQ990I1E3A3ESFB6NJVG5KXO7PVNLKEHQPMXX6NREYAWNM84ZPONPHCUDEDRXJUFN102MPJHO58J8YKJ41C3GAHJBDH70HAXP842S10JF0KEEZO5848EER2MG633NX04NCYQ5UG7CF4ERPWRXJ7DZGL18HXOPFEL7UO0VB4MIUMK48NQP3ISVQYF94THD34R). +-36#1M5M8UG7M08NPX319H8SQYBW91MUV7K9OPN27PPDUUMTWPMHM9 = -36#3FNPS6PXEGKBFQ9QE8ZAT9WMDT1HHNJ1YZK9GP2O1UGTLWM80L55LK3COMZFIOTNQMWR07XYTHV0KCX93HFXGSQMOC30YDI0CHJ346DJN3GZF23LL9E1JXD7RS4U6Y5DBMQVNIF222SR4LAR7JWSU8CG1I2DA13CFQ6TKE1CMP5ZEJEL9NZFXRXMYLIMWE00PJXZZB8KT5DQSLPNKAS58NWP8HFUY7HKBXDN2J7902222GCOBBM81B3L9GZMY52XQIMAKYGR02WQIAJYZFLT96JN6Z4ODE2SH08V6NKGXZQDDNTYF8B502WHMG131N9QCEI3JBDCBO0ER1WXC1J061FNJAWHVE25TKWPM4E1GXEE17VNN2YJTJN0 div 36#24JPWQ77T042XOW83VODR9E0FB488NZK31J856G4GL2THPRLJXUQ129ZBH4G7XWLVX45E5JTIQNBMDC455CFXJ06O4FWV37GABYLRNQBU6N7Z7T5UJJJEK3G4JDJRLM232282ZEB3MZAMI5RE6ELPC25VOJH6ZC37S4JBC8SP0KNT2WSSJ0HQ0OJPAFP35GTM1FIAACC1C2L0UPM838KZXTDDICBVTISW8MJGD7NWZF1KU2CIOGTJXZMUPU94PC3FB82LJVV94026GPQVHLHQJYCQAHVRODBO5RTPBLMKNQ30ASE2VHUSBGDN5ZQCOCJKXOQQNG. +-36#3Z8Q266UWTASKX1TCVCI8274BL4XAQ9TJIZH2PP2LUHVRI9IN1FSD3LFKS0NY9LOE5UMIU7A6OGSW5MO46IOVHTZFPSPVBFTKN4 = 36#19YJ9QPQL8LC6BEDX68BI2GQLJLLQJT5648326QKEG8LCARAGG * (-36#3479PFYRHK85OGHNAPDFJQ17K6DGEFPNAPDWMIK4IPA49BKULG). +36#4F38O7A74B2Q82BZUTWDSHIPL79ATBOWMIFMY7F3YCY2L886KG8DG4542CMRVXWBAJDAZ45Q4STA7FSMORSCJFCQ02E6O2P5L4695ZS6K0VR19FNUK7DB4VNUG9MA7HZPAHUNDJ03P6R294Q2ES50EM6 = 36#DC3J4G39XA1LQ7E5VA8RC4R6IH5PZ8KR2M2LYZCDRJFDS39OQY4717E9E5Y0YRPRNEXSZJJ60NNLZGX4JGOUK4P9594NFQWF0PWROC4MZVFHBFOJY1CFFE3B65IUD1EQKZSSWJ6VUTYF9NKE2DB1RG8ORN33NZJVJNLDX6Q17P1MEP3IV9JAQGLZYGL1GG2MQ05YYVEH6 div 36#30N1D66XYY5HYQ460AKMQ6ONLI1W5ZHKHQOGCLXAVTIOQ1W7P7. +-36#G6S3LZNN7TAW0B9EKOV5GWP6QCK9KZ7PZZJPGTKZXH40SG3PMOHTECO2MT68OKMR4AW81PJIJBL59RB47AT9QU4I9N1EX8343AM9L3X8MX00QTI3S8DK8CZA6RGOFN48LY5KVY8YZELDX2B8VSZCFFNJGI5RWCKXABY1LUAMLD7J0TL4OB8ICQCCUBO2PE7GQF6H40GKT2GI3Q2MF12WILKRF10U2VFZF9VBR05RJ6CCNQT3X877UA9HMDDID25ADM8UM9A849U55GAQEU88OSVVBZ2QMC = 36#2Y8LY7JEJIOV2RBBC98SP1NRV9U4Z00UCVF27BMKS77QE3HU6K * (-36#5HH9YZSJQJ0ERVXEYT8ZHCCDHW6C9QMEUIUUB0R6GJ82CP74VOC6TE97YE5BKH67YSDD9Z9PL68D9WIL63W99G3F550NDHI1GNVAKF5V2IG9ZPJV7WI31Y7L5Y4MTCOBO4IFHRQ2X9NO2V5VWVJ24FZTRA32ICHVY4R10ZGAOSZY9LVAISEAWGHYP1S7HRVWPY2Z523NDN41NJS03WX7B2BBH2DHQKR9BCMTQO03QVP7F). +36#3MAD19IOVUVPJAH3DR200D58BCRTL38MI1RIRQ6KIVG18E1YAUNA4DTUNYIJN59UTCJO7R7QLLLAJGJ56TQCHGRPBPM934BK1NKYO7RJG34SYIGVCYRGWWOD79ONY2NKVJRUKB9U46K8OL1VVS0VXD81YW4PKTDMU92QOOWZQERBIMG42LDREAI5G7LAD = -36#2IY96TUNR6MP2GRFUCSSUGUP5LCOH27VP9H4XB7FQGZPMGFKN * (-36#1FKILIJP6H0QWKMV09WV17TTQ3GERTRTE6DBJSKB8901Z0OV5GH2NUML9BMQXX6FE5V346UZ0MYPX0X8QKTJ7CJ3JJSXY55EITLV71DU7YTKHHI43C8FJ95FHAS0ZEAHA60506YSRU2GZ). +36#V51TZIAARINMB0O3IHFTC61IZF9WJTG12PNSMMXHE9J39Q6GH4ZN5IH5MQPX19W79VIUKV6JFD6MWKY0FCS3X46EGX9S1F1FACFOUNNEX0TYKZ9Z45TEH28K7D91VFIQ1Q6FKV11FDMVC4698TVGY1M2YCAEQRUWR7AIIBTTB302P412KDKMG03IFCH1RPK2P8JOLUUUXRSQFDE50GKT6B2XOD4TYZO2Y54JHT66VCRHTLD7L6DZ0ARQAAMC0KQWVZBFN8KM0TF9EYDOWGEZB9MY6YH2GUCSKE901YH6VTXWAXBQV6RI5AAFERP2EU84FAHZVYCGSA5EAHKZOPM0CAC17OYG29BKTHVJTWDJSWZJIO5OLC6HEMIFPM03IEB6S04772QPI5FPLFMIZVYNU7EDD4XNLJQS08N6RS0ECBML30U9A = 36#RR8DMNRQRUPNOW2EES98L3SJPKOY4WEL3HUXPVYFX4M0AV1BIIIYBXAQCOQ7FFS6XM95023BZTEUMOZJBBMXV44TNP5EAP9Z4AGOHJGW917S5D82HJ05CAPX3T9547TQCZP580QP5IH19CMLKNH0063V1OE7TQK1D5FT6XJ74KCD8QNBU89N0OMJX7QFSC8HOTQ3JXZ1BOD5YSFNGWDXX26DXC2SA3H0S8CAFE3VEM0QS8QDH4JRIKVGFQDHMVPDLZLNJEA97DTFMH7LYGMDVUDZNXKAG2Q4VWYFMR9NA3RO2FYCLWZFJQVANI151DRL9VOBFZSE7MO109WL3R6D6FQ1CF6CGLZ2CZQY9L0OT3RLCA0AXMHK6Q482Y1EENG4K8TZ20RGYNEWX933YFBDOKL5ZNQDYMLWSUEVK9IVE5T7WPI9MZO75POQ4CV9ED5D3KV5TXETWT2RWA5VYYABGOK6OSH8AHGVJ6CHMO8S0QX5914UX39DJJ46HY9CX6XJY9POP0G159EQN7JOYWC6NTO2GALU456ETF97UFNPTNX8HZLIX2YHM4LD8YDGQXCPFASQS9TB7X6XV2FMT5XMQRNGYJPJ8WHW0TMN7TLG9GE05DC7KL9WSVBXGC3L2QVLO1WI0OIBUIJAP0X9IPURHKKR9WKWIMH7SYPLSWG9W204XPWUN3NJRU2R2SD1WNQXGT6YZD6NY41TJDIZK0QNOS1DYVMTHT1SQVNX776OO0X43V9QL3RS33T3XETPEM1UJSVYAQMEWOOYO4HS7SC57STR36ILLR2N0TXXRU9ALU2TCALH2MIT7IM6Q3NKF8X66AC3QGC9IBIYSWNUJREJ8JSBKBMLIB40F9YQXGHRJAYBUPJ8PTOOPCUD8CZ3MTUAU9UII28EDU6NEVM25PORY886C9613GAG0KSUWVRERM0DYX5GSJNYF6D120FYHGH298BO3I2DVTDIC3Q5ZHECND6PU04GANTL0D2HE6B47O0ZH4WVAG56BC8WRO4A5PUNYCQ0ZK9MZVMMNWOW2PHI609AHREQGRT9FW9XXT76VJTW63U7P0W8BF0VR4JK5PEW3M8QJC0ZAU04YBNYSI6DAYHTYYOQAVH0G3H9CGWOFAUWDYHEXPJ8HQZK8BRQB9BFBJ1OU7N2QMD2CXAX5IPN2VAI2R00V9WVOXHWR48TZ659URMTGIUSAA77VEWPP9S1G8N5F6LWOKOPPZ7HD6CESAIMCD1SGAH4A56NE1LW3GHSJO45L6AJOZE2 div 36#W365R9UGFF5PTM7PFC1GKTLZEMS9NCJJL0CM60K295PAIXK6SWPOJ20JGTZCOLYSCNDQBGI25M205V7DB3NPQPAMJTLR2NTO58AKXABODWOX7AYD653UCAIAI3CZCUDD8XKU0NUGXUFK9CI0RQ3Y43ZWRDLV4DGDRIBUZE8VV1BIAIGNEB5TXISOCM1MMLW3XL2EF8ZCEBR09OSNG0XT7XDCNQE3HAO3A3M9BNHIX1NFENR0WAINOWC3JX29PAC9RCXVNOVF6D656D7DLWKOGVF2KTEZ4CPG0YPRLD9VVVLTAMH2OVE53LX61DOZSPTPBWFCPYM8NBDO1Q57XEDBZMHK8LYISC1ZUSWDNTEDVWF8KMB00GADV8A1VMH8MDSZ05GFRM727E5Z7UVVRGV2GR44521AJPYK2U7L1W0UDZ7DEZ0IPBZ1I1GJ80CQE3K1JPJDA6FNLOK041EV86YHMNDTDIGW7XYV7MQPSVY7UM8DCXTA13PWPP31L0SMHBS3S432JGV9GN40RG91G52QTI3YQF3JYO9GA432WNW274086SP5D10VBXICMRPU0WNSUQO2PSKVWXEOI7JJ9P4ESPBHTLZ4YGLG2ZRAN0482I57DPUEWS7GK1HCPF5ETVIFZ6WS1IHSWJT9Z5AP8F5MJF9WNY755Y7H5IVBS6CN2M4403P6VUL1IF7OBT3GYQI0RUT3XJIMJSF25GIRFQ8WVX5C3YBH83L9HJP3FXLA13CSUSW6ANZ8H092N31NB3VG0S9GHIOL3YW24JCTFJDMIRV3NDGGI38U42DDLZEJXRBRFNG5JRV31K2ZVN0Q2MMFL8EBQ2B. +-36#13B2AA0VZW3R3S4MSY8N107DIA53259AY9CTQTPMF7ATJYOKOM2J99GKHQ4HQF2W9XQEG5DMGCOKGZCFINJUSG4T1RDMTT5LS7AQ5XAP1C3HJJGA0B7T7MGIVJKZEE3FPYSUVI7DDOLX05YKJ5HSE6C99JYR68SS564JV2OWQUBHUL61WWLVG9XH9Y5DN8WJS3HX3QXUF6IYCCZG9M0LMVX8P2EDGU39LX5GR0F9LGCU78PYXKMV6XZMOSSLJ1GMCJ41SDZ5VX4GAS7951O4537GBEVXL8TRQTWJ797NP6YUMED7TVJZKAB3RLGUMSA7P3LRMI09QBCRAZA8SZ1FIFO46A9BZM8VIFO1TY7NQCAEMF2Y57FW582OU9VJ25B3HODIGNIUBD41RSPQII71R3ZDU627VA895K8X0CMNGL2V9OZJW7GN6AKRQNF7SRNTG8U7DOBOWL46LW27C8MZSOHBHG0ICKYI9A44K030VH8E31LOFOP4NXXPZ7BY75G8GEN837KO9KTYACLECOEF8LD1CJP1MROJOVR = -36#2S8H33X0TMSGZJEDI7SYRYG3707RJLBMHRSZ5QFUDGGB8599U4GKJPTQDEQJWIIAMZLRO33WAGK9XWFECCVNUSB1HRKYAXRSCCWP85A3IKXIPEY0HXGBX7YTXT9FN98EHAKGHT6G4M4W23DN0ZN783R174FPXI7M4DC5ZCK3GX4FJLEMSGBH9PG4QSVLW4Z4D2OAEC2UDNFV4JOOC9ODQYC3XT96VO63JLAKRVJ6VXMLAXVU1PIS84DQ87EEND2JN3T54DI8YHMXKXGSDYD9V6J7XPMFSGVDBYX8HG93OYNLKK9BJRSF1SPFFRF1MLHXSPZB59SUF17FGCGR6FNVHRLQ3LYTCWT3BWBFQ04R4P9MJ9EL9NBKXG1JH1LQWMK6VA46HZICVKUJW7NQC6ALW7WGIZU20UKPKUOPB8ITD9VVX3ZNUI1K1LBY3GLODCV598AC5ZKXFSHZPAGKHLY0TZWY24KTQEI7NCPI0SDXMYOOVWHD1P3H9Y08ADUKZC1CVH9MKESPRN6LXAVLVX75BS6TMEO6TFKGUEQBNFYWT25TU52214YD06B9XIBM6D56UHQIMB6O4LKYRB4D92K9 div 36#2JSUV9AP3FYFYL10P2ZJW8TJMLBE67AGOW56E5N8EVTMY4U45R. +-36#2E4E7GWEPQEMU03LV3V0L8DJPO0X7IME3GMN7OR98WONOPWFP0 = -36#1PFOBOBLYNQ9X1SL672FTA4YEPGDYRENGNN4ESTRW8BNBNLEYH99AK40VYMLCO3O10K6SXQW014PB3EER8IF8TGFVVAH1HKR30 div 36#POI713UPOHQTOC3MVFP7XZG705DGL4ZC6E2AQZA63F8FBOS3. +36#4WDF8ZE7US7YDQ5IILELWJAASHS4RI03LI17Y3LFYC2Q2YY4R7DNAGTP8MHEPVKA1HNX8JCUD6V8NJXRUZIS33P5I0YJMAJ6EY5PSPPVEYPRM8S5AMQNDW0K0JPKZJMJPJ64HK4MN9XB4OEZP2E9MQFJ6V15J245RVHDH3QD88T3VUHJGT2FSN9XCGYCU70V3EFTG3E1T3DZAPOR2E24Z50COSMN734DNWTI4ZZ2B633QFWU1LHGS7XW18ONCEHS3RWE929LB3V7XZJP5SIQQYRRJLI4J0KFF1J055VIXW48FVZ9MOEWFK6S0ISSTQW7Q2TVHK6JQU57QNJC1XN9KYJLBFJPF8WMU1HW6LC8LIABRVIO6GF0P8XPNZV7BTU9AO9U5PQ8OED2W0R930V3V2VP7UKOLPXPCDTC6HI6N01NI0893UTF7D3MKV3GT060INLXWKXY42INU57Q35MIBY196W093GE3ID0SNL0FB2VYATDLHONTD8LYOXHP7MRHTDDVFC794961JZ2BGIRV9YVYMQO0IG3SPWK4CTWLCFS0KM9G8LATEE846TGLBIKEXFC38Y854FSFOGB1G201POY5VCLNUL2O02A9BB5L8I932266N3Z = -36#1OTZKTW43VF0XLJTPWQUWPT8HNMY8TKV1FD47KIYAB4OVU6RIKRXBZ52JSIB7KMV74X50T4M95I6NXNX2BVANYR3UV2YMJSAF6OVNWYYFC3PV0IPWAQ9ZG49GGX421MANV502BHCEOYROCWKEMAH7KCF7644H2QAN9EFBPJY5Y3ME6XFRBF99SSOGH3HV9K6QJCFQBQW60WSE8S8JAWCPKVMLHHUNW9YQUGEIYAX36JNIJYNJFOUEVDKITZ6UNHLQRBWCGLC5CQCEPNS38L4N5KF3ISAN0KNC01M4LS8U4726IPFKTG97O1MDIR9OIKE075F4DQZCYB5Y4SO5PUZZIPQWTPM6CB4BTZH6IRXR2FR1BB6ARSLPJ98BV99FRKVYFZ9939TR8JDIIF09AL63QB7W2YFNM018FNKRA6SHXF3U9DU0MAODLTGXXAA9Z1E0DGD5EF55KAI1W7OVZHQMH6GC6HBI900OLSOUMNWYHIPOJ7J5H2QDQMWECEUMDU2HAUK93IHBPEKAY1QR3Z1M0UMYDLQ5AVAGT04LMAPUC4TAD235IGJ5STS3MHXI9T7QTWD8E8X6Y3AGGMXRAJSLMVJVK78UPLP8ARJ1IFXBLWCEPDMJA3VQE7G8G5XS20DMQD5GW0NB0HAAWG2KNWVDIB39250DUREPP6U61A6FAFT28N7P80NQHZ5FGKZNB2P80L1XJXNOUQT35OC8I51TK4SIVHZ4C80ALCGGBV7BDDCV3XI6O1Z5AP47CHA448VRX0SVQDWH277Q9M0KPKPDY4GLBJFZWVO4PB0JEVFJYMCF7BPBYVDFNR818UQ9XNSPBS8J181W9ERQ077H4OQZ0NKMHWA5I4F0W6H9EQ0NGJDMLY9YXDEFRQCI1ZIUGIF48HOFFPP6XRL2T68GBQ94L4CYQKJAQ6JCHO2S7F9UW2VG7T204R49ZYXK9D0II3MN30H9OTAP49H5TSD0MBAN2FGXS2ARTMIN2M5W3ZSQJS4S3NZTWR5CB269OBUK033T7BNK5AGQZ1G9XD0FJ6NF320LZFJKRRIPNUS div -36#CF06MOGWEZZ48SIAKFS2Y9E2J8NOCZ2EHJHOHUV8QS0640O9UNGMWAV32MJBY5WH62MEV4XZWR5D4GFRXHFFS571FN8ME4F3L98OXP7AA4HUNYN4MGZ2IU6ITNJC490BBIFUJQEFTZZEJI3ZZ2VQ99WE9HOWQWGB5YM77EKRQWBDVVSD9E6MSOZOVLGI3Y6OPBIEW0CKQJCPG4TWM1RCP6ITHCODKH7DMA57QRNQF07L82IQ76CMRMMKJ5HKIF8N98L3ETTN7RRHR1A54O5NXH536LFV05YK3ODVSWMC2PHU8B6RVGY52EGAX2YE7XN9UGHMJX87H3F78XZC91E5ASS8X2IODDLDG2YL1W0GDURF616VF2Q5SKRTR060JGKK9BPS2T3D5HAIOEBSYH08JJ1GXDTEIRGIL7U4045S2150EQL18. +-36#CRZGSHFCTJJN3J9NLPBM2197EQJ8TR2SWIXKUOQU7QKPSK3RUWLSGGT0FH7M29J5L3GKITY33W49G7QZ14HEQ92NMRJAA3CSHUIU662K3HJI4OS60H90AOAHA98CKGT5MJ89JQKNVOKL8P9N0THRN12L17XEDXDO6QN27WXDDACYY8X2G5NT1FNVAHBZCHI3YEY743PM8N5CA9YFRMBUUIR30LGOMYQWRF1TBOBC5QO7MJGG3XF = -36#ZDSP1DLZB5RABL3ATE08DCUPF0QED0PSKC31SHMELAI801S8PTNGK3I25GPFZQEWBXQ3U6H2G6RSZU7PVZZ9YYMZK6DF4EKEF925XR5XSWHVZLPLDDUW01C0SO49ZO0VKTB7UY0IUBY5GKHUFDAJC16YYY8GF1L04IO8C796Z50LM9KBVXSVOBKNM0ZG3A1M8HGPT16YXY1CN5PQFUAO10QSCVOCGJ4SDEFCNW8589HQ8ZL9UZJRCR82MY1I2TG6WAPGR0W25KAWRB6TRI8G0ZLV95A6XMV6YA90H0KFSC0YF0TM7GRIW1PEGFW7ZT9E7LHL9D5H1BX3LW23O9P5V1NDYXQRK698ER54FAIBNSEJ6P4XJBZVR4M8320J9Y9SEJIQ7ALHJY97IGST2FXRWUYG085ZERMA6TD4NHLS32DC42N6ERLWF7OQA2EU3EM2UT61HOBO5T9LJKHFKL3HUS3GB818EJZAFX438WZ6XTZANYAJWZ0V3W4F67DNVWWN0LC427HZ18PWD9FC97JB0T2BJR509XP27N515EWSZYEF0ZRDJOZXPWE8H2XRHPIDNQP2DXO3VMFU263J4Q8EYUUSTR4L3BEWIK8F8OO60VZDQ5WT7SUS7G7DCXALKZ2OPUMVXR8VYVPO10DJH0THQXJ1OS2N4K1GAKTCQ7N9UCTETV1AW2TMMHKESOWFEAQCL4WC9KXQDEYI72ZKSLS30LM31O6V5LIXEJKHHDMYUV4HCRWW1OMRTO7CHH0OAPCY1VJIFTJAXMJHEPR1NB9EGLYXDMA15S408LU0BFH7KDVE5H1IUNY8O9K8FCRWTJE2HY8LDF1R9U1QI27GZ34NGEXWAVVM29SIT3X3PKNTK38EG4WBN6VEI4WK5QYGXGQS5ZOI9TI1SMQW1WMF8Z2O5HRHHGP2BKDTFKW4L6R58M58LC8XNG4V3ODUZ877DSMOKJ8N9RI885TIQC4WXGRRFW6TDYDJK1VICI7P67BWNK39LKLN553P5HYOUUC7TH49QT97LYJN5ZN9TDSJNZIFHVDNEFJMV7XX2HE6YTER9OS3GD9KD6F9LDJYSZ39QVD825U8S59DB90J84IBKVNBNGYW8VK3BU0NE9HR659GO div 36#2ROWF1VLSJ103LKQAB7EUK3CJHOBJ7977KQETBQGQ9IJTXSRS8CDJMPZYY1A41JH7JI0F4LF6GCWCCND3CBQBXOLIHADV9VL5KC1WHXN82PSP2KVOGGXMC56DIJUNKLOPVSZANXU40CMBGODPGTXAH4V1D89DY6M4XURKCZCPVDYNRLCIK3GQA3NC4QQ0RLNVILRSGFEEWYNTWS1MX8GUATGOP41RUZ94Z8RUR7FGUWB2LL5D610VV3SOZN5DYZIW579TEGIYWA60173W7P6YCOQOTVI93ZWZP0YGSV013IJ0J7SPEBWZ57DY0GBP9TBD6ZXV388JEYHBPSZCLFVKQXR7GC3YUYTPK03EHYVBSR8BFJVR0UKOWFJFTDA1CVGONIHTU5MD8FN19YXIDVWUBOBJXD8HKCURUDG7AUWE1B6Z4P71J4S115ATQ1701LIAGTUSRREG4NQ6W7XHWRB04GFGOVAWIKNG01Q5MWLM3I2FXJO4UMUJTV1V5TFKONTE5HFE0E619DO8TOKPRJ3LSGILKBO7X0YFG90RVE9X6NJ6IMBLG2RTW0DM5VORUH9F97P453WANSERE5MTHBZOMYC460OW9S1704NXVBZYNA49T2ASZDDX9CSXF13QINIUJKG1BAU8ANIZNHZWMLTCS75U7FMVXT7YLTVKUGEO79FLB1SZHCUCHTZWXR9MR6DJ2Z92GNWWJAAY2F4HEQNNWPU01BBPJR6SEXHS0AB1DU1GKRHYIHCUWOGLWW202JG3MYVORIHQY2ONFFOT59KY41XAHLO8UTRZQIBFYTO0H0ZTHXVJB3ESZW1NKAVGWIY294LDDQY0KF9D1876XWNVEXKDQJ43QW9ARX044BAFDUHHNT81OVUKL4. +-36#1KN1QNQJI83ULR6MYTKQRFLR9HWTA1QGZ6UBYHH9T1HJY51RKO = -36#FQHCKCG2MO2EJ9ZBJVMCYFFEROIISKCM62I0F9AEJO6ITTEKLVA33WM9JHNSU6FB2E8CCV09OGFKBLPIWSMGBVV8BDB8RNSSDTH84NNAH6E5WA392D2BP39R91SH3U5UTVQ3U7QH3O75MI0MUL8G3AW3E8LAKV9F9TIW6WC17IHFFXSYMRRM8ULHG9VEC6FAKLKC4CIC2943Y2HZENG0F7ZHL4SE5C9FSBPE0FNOLNMWTS0GBW4VEZJ4UA8DZ66T3P9DYGMRCU4K4RKNG4F53I4YD9QLXRBGCEYJ8JMQNII4MRFJQNJUNAZE9H3N8SPKE76AG5C div 36#A01TKFC1KYKSHWR599VSXL65ZNJJ1SDL7STTL5TIHT24PFJCCVB6SXUQXN1VM3LB2MWV814JB6929Y2NXLQS53BP0J9IMXCJRZKRSUFWT1Q8V426Y7IUFMPNMF7OMQN4GLH6CKFUFI1294S8Z24Z3YFXI70ZPD2QCEHM8K2VQ0CSYFHMXWGKGPY4WWCYNC1V7OEKLVJY9KRCOW1AIKP9M6YSSDKZNOEYBOXAONQASTQM9L2BMYYF2GITZX2RPMMICDMJXM8SPWJ26H4D1CW7DK. +36#36JCCUL5HRYFM6VL9PAK817X9XN1BOIG8KG3P1AARKS2MBEJR3 = -36#10G4H9YEV1N4X2YCP5LGSHT48BED5Y4LTFKV6H8DW8OX86ZPH6GVTU4C37Q66EO1VBYT7I95T60WX4CE9XZH2BW8WLIORW937QXIOWBPNBCU0TOGGZUWBEL0L66MFEFBKD7K2R849AFI1EENGSO1GUGVPCSA0FC74OJ0RHJ6KL9BTORXPLDER22TZ4HUW70NRMDPFOQI896GS7K1EHNDEXNDQ0HWI5NAMO28AJ4A6NC7H0DEZ9GUYFJOGCWJTK6SN5HRJ0DISGMZVWV8DRMZFSG2V1X4LGFMM7MMKUX5NI5DDWVBHB3VT0P5VVCIIZDEDQKMXHENNRDLC1FIRG3GIIYW0GTTSLXLKGXMCI29BGSX58BS3903T5W2QXS2VCM0OGEWEQ4UMN9MM6T0RH6OXAE381731LI5T1USEKIJ8OK3EWFVF4VSQ6Z3REPK7N2D4OGENU7LS8XDD2ME5Z45XCED1G0Y83NYKZ6JHFL36HZDDF46HBYVJ84VI0HW6K539JR0CCE73W3TC3MF4U9M1A09OXMJM7RIKFJVI6VGE51WR88X5298OO4NA45DZLLFB73HZ0UGK6PZVW2HS96PLEFWRXL1WH5URJLDAQNI9IK0NC5OQEUKT2JNNT1OW858SH6UWONV1DRGZ2EBTFI10GBBIPV45FCSNDHBIN26NF7AMJ5F5V8Q00GSU75AKN872Y15UG9S3Y3F6WRP3CSGXASXP04VLKQS7NJRE9PPEOIGE7QFOO57K2J91YEOCHD4G6RXOL4BSC4ESQDL7OYZVO5WDGHPQF8RNJRZYJLV6SV54RDZSTTI1L501NVTUMOX4SP846RKJAK8YX9W66NYWQW05FXPTV5D9NZ8UWFL2KCI7C6KOURZMLXPG6SLEOOWITTWY0QR998HDMD244O0PUHCP1X6KB134EV9AAL9DUBKF30EK3Y003SUKJ0BU2W3 div -36#BGET0SEXDCT3Y8KEUZNFUFI63PM9C438TNQIU5GONG75KGZ9TNIEORNJJU4TL7KK4W3J4MKRNU2BML5VHYZ7O449OF4KTXGH08UX8VCO80N398J4AZVKKOL72LFA2CLVX77NRIAN2TW7IKWLIROACNPKU22U8TTVZ5X537X2JSXWD14CLD51FCLYO5TN44P02B0VD3ZJCS8EVY1AGYZEDY6OQCHY52NFYCLK3WD9P7OORMJ4CKFDEA3YDK8JWRM5PBLMUO9O4EMDDUJKT9AXFKQKW9GFLWOVUENVSO7SSVC4V6RIJX0Z036DH391ZH589BHWZJ30FDQ5GK8QHXMI22NI0KMG55CB2G3BEB6D2WVTIXFUZ8LLPRR0JG0JJ5538OVOGS7YHWOHRWO5NP5ZNRK0L7DX4X7LWF8N7OG3TH9K9OMD9O1OEBTQZTAFU3BXW8AWWQ4V1VSSWZ80IK46GCW01AN5AAV56MBNBZ89RAEJ0U4UHUT2W97AMF8O54LRDHTJO2NYT142RRQ4A06LEC9XSNPZHX1HPKWCOR57SUG69A4M35JG2X3K3AO6ODGDRW6ST739FJS6VYQIPDA41WAGAZBZN8YZ78TXI1AH490S58RNFVCYZOLW1V9Y0RJNZD7MQKOPHZDRDI7DRUZ4NE0FFWSCT1S98A9HO6AUGQWZ4DHSX76RT3KC5JRLRG71SNUIW2LEOEVEOUGAFRIIMNQ8WDJ10IAJVAEQ7FGMPSL5UQP38N4HEQ4KF4ZPEBSLOI37JA3L2CVY7ZQ8DLRW5T9D43C24N3J6CKR5XOSSX3NU9SD6WXBYPYSUP3136JVKUC2FPSW9GF297J2KW5IH5QA2LAFYGT816V0X9I1GGOXRE84LSDJ8MPE2CED3D2Z9JNAL1BVNFS7DP. +36#HMV4WRXUYUN3VTJJ5WCHV2WN6EDRQ8DEH023HY5K7PTNHDKW0QGPE6X2ZPYJ976WGUF5E6W8AMXE4SOFV39J09EPOT7GP2SJW3HEX8L6UZARWMVEJH9URDIO5H87O2VYBM8LENI3GZEK6C3S3VUK1IG9IVARCXZC1YY7V6K1ZJJU3Z542Q2PPP0RWT53O7VP0RG392AF192YWA70QDMS8GF2252PLLPKQTLNWRIF802YZUB401CHT6TQE2KM94Q44TQ1JMPGAPMMX1TLRVFQBXZ4VW43NIHM9KPIY0STBENVZ9646VC4DYCJC2S7V69CAIFTYTM1BCNEJRGJ14ZC1YUO85894V0I0WCC7I34MUKQCHG5QK6P726J2U7F3V0SU0SYW3B3K7OBZH8SU4YWN0KQVP3NPC9JUSMINY1SSFODHWA1HYVSY61SSHQULYFWGJF8H4IHNWQDGBSRP4C71V78PDWDJE9MCB9N43625TVM5H2CDMVRCA7DAXB1CMQQTSW27EH9AOHDUAJNS49PDUZRVVB8 = 36#AM6M6CB5HMLBOW1OLNVS6P3MQY9VW6P73KFRRHDEK8G0R8LS5X7EZXSJHW81CLPOPQMS9KSMGE7X3SZM7V7QYLP1T9RA8K7SMTCY3S4DEH6GVCG2YKWZKXKTYO42LAY8UUM3Q0F431IP01B1Z7IRNCKCVX3TOV2SXRN3YN149IHOCUDGZOSPW8Y50SZ2NJKKU9RFGAFPUEIF3P2VJXM3V22INGS6HOH6PG0IPVFMTSLVYRKXQVIFGH1870TCNJG9AYCXBG0V18EQV54SU92YWC969UN1J6I0RLQH4UULTAR7T8T1TDMY2IJQAQ86GUC7PQXT5E2HH1I6J4E5JXQ28I35QUZ6JIV9WAJPUSBEE8FECRX3TNEPC1DVYXEZRVSSPSUM0FYSWRHPZX3KWVCNDAB823HTJ3JRC83ZEMW869XLZFQLC94O8S81NISSPLU2IW9RCVGLHXYDYMP47U9YU2I158H2GG9Z6N1MUHBM78M7RI22WK0KB9P18ICTIG54F51ZR8UVKDTA2H9J1RCB0H35OOWTMCT4GJQH0W2F8PDZP0AZ5HP2BC5N0FECO5KD19PW4MIXOMBZJA05QYZDWYOMG11LPRBAGAA6Z4JKLGRZ2G5H7BY7B97IT5ADRFYIEKY3HEL7UAICZLY0XGF0RJ0FGV8Q7K2BQ7U8WU047B583FJ00RLZJ89NSULTSVHKP0SUQCPBFVQD6HASZNHCGXTVQFDL3IZ8DUQZLM58CXQPDC1F0EF8ZW3TNR6KYV9ABEDJ8UZJYTY0RZ3CIDH51QAHFG95ZC1V5INCVEO6TOZFUZ8GZ648XN4W8Y8WWE1DDVWQC8V7I7O131YG5EPG3ZAGYV2UQ5VBQK9XJ4YAVCSGH5MJHNPG7RG4AIUVT6SJV42IPVLPR3ETDKNS7UB55YQB8ZIB0Y7YSZ3C67N7YWK723VJD3799M2J4839BLAG42H6XXZ6DYH4LIEWFNY3ERJ4LOFRK2SOQ4QRRSZRDWOT68DQD97POBPMOSFFKS8AQ57OXSPJXWEF6H1MWEJM35UH3TL1DWJVH9SIFA0ZPCE9RUJG9FGU7MTDFXXCFBZ7UWXBG9G079JBXCSDGH3V045MLHS8ML4SQQVETY8VLEYSO592KJ1TNI21YHM48UB5X0ZZAZX9OZSJOEK1QU8D2SA2YPS9HVBFVE1XO1MEF48LTH3D123YC div 36#LO6JW16YEPP455L9FKCKU0HG1KWNZMNUDINFX82VWRSE0T38UG4PDJQQIGIVT8WQFO7ECK46PPFUZWX8519KOTETQZRZX9Q74O72SYEZ1AMMUVHKOFADD59N41D5TYCH50O8N03JR3RWSQYWRC2Q3DHDLUN8L4MJUE0LZIR8LP6LDUGJ315GW473G2I10P55KKJLL9M62H30T0RC8Z37H1Z1H0WFM2XJZMT24XZRU9QMLSCAD9EDOCBP0B059A96LHDTY27U1D5S3JTAZD8K4LAB66E8KF8EB5SHZT0ZVFY995HPHEXJGBPRJNB305IIEN6GG59TDEGTC33F9IU38R197FKADUCF5MUSSGEMH8B6ITZLGKSIF2K6IQ3LUZ5US3H2IE6B8ITSADT1ANH3X27AE8BDAM7VDB82JRW2WL7GXU18X23V6TPEXUCM3BNE2HWISZJXQ9UPZ17NAXQXIYJH06Y8ZFH659SEA5AT6Y5IG8KSC1DQA5RR51DHQFU45RVRJKX401HFGU8IW4PZ5S84CZY59CNQL0LQ1LWN7JNGAG0KNIJZHCEDH65SJN7H3X9D4FJVTQT30M2PQ77XQ4NGHJ1JHDVS6X722B4TA9HWDOSZAGXZFG4ZYY8RXRR636EOJ9GEX327V6OML11ULCCCX. +-36#IYZ9X1JYFP20TU7V8QDD5JNN5P5VQPQW0HN19B8JFA9GLPSZ0OGU2TO101SOJM2OF551SRMEZL4AFX3BFFJBM6QTQR7O6JD54ENMEA6Z65X6R4D7QOI8CJ0TNYHE463GMQSQMYKNZ9GB6CZDLI7AI0JV34R4YVY9ALDIS06Z8FIMKTKDR02Z1U4HOEMH8S1A4ZCP3MR4EJ6ZF67UELT0RL2KC441NILHEFL6W3QHPFG2JOAV5FACN6TH7FMYUWCGNMCQB64UGD0MKJ8AHBIKMFU7RZDNP383JM57BNZ97VVC12QBCIDIB6TKU3F3ONEZ6XC2VENY5N2BXIZ0W960TRXE3D0QPGWFYB3QO4XHSD0HAR72JWLJCQRIWG5I2R96Z8LUDP9BGNI70OCB76N9AM9CFY8RT4VBKJVCTS4AQDMVGHYMH3RYRDI7O8OWTINDTILZ8HXCTTB8PDHRSFIL2ZJ7IRBGK54GT5KJ8XBG0I18M78RM2LVXNKHVVB3DFDZHGCU204QQ8S0ZZKZH5JMGTC8G8FFSGND1922XURZ02BFUVEIHFGD6WQFBS2SZKS843T7BIXC110EP099B9Y47JL1UJCBXKTBNFMBRGXR5EKVN1FQXZBBIRXKR3BYSOSXZFJTEPYNN0Q14W0PRU9V94DWJWAJOM20BK7O0SUUUCJP84933MT725AYACHKI1Q7P2N6PUUERMKTS016ST6QSQR8BSH9O66M48VCEVV9KTHH0P0ZVLUGYJG70OTKEUVTQ1TA09GR8YUEH5TUVTJVB9P6YMEU8VLGTMV59270ESGOS22DCJ7X1080ZN7AP4TJL4EW3BWUHO070Q7Q85W2WVPP1B6OC7HGCMKMDNS0RU7IOYE6268AQ4S8RPTHI3OFAGT6SSOFKMT6VQMPGH6SQ4A4CTGVFD1E4CB7X82O747GSE9REQQ9R8DI84NK0MWYLWW992CF9BEL4FXR5M3S1JD8SMXRXMQMCN6A75VY12VWF00CPO7PT6MOVGR237D099G4XCV0KAAV75UAZWC3TGLPWW5EDUCMBMK1IWL8F74SM79GW3M1IBX44GKFS2O8U1DZWL7YXFW953P686EP4UJBDTJK0AHYW0C2FCIM5EU9CX1J480R6QQEYDIKC3UFJQUN9IKHD4IC8NCB4YZ0BS55H2O3TGYSB889ZY8YQZNLE4PJCCHHN6JSTQ7E84BTKBZKS04ELN62I3MIL1MRG9WC9Y3XWS5G6W8 = -36#S8ZHIQEUS0I99YN6FN3EFUC9M6M1IK5I5Z4KNQLDPST18LU4ICC7B5DMJ87X6J0YZTNIWVDODPAII94WFKMVLXPALUSO9AOQ45BV3WFNI2PGDMNLEAO9LLG4TVH28RFNTA2NLRA3844OE4H436R9MZG6VM05BZRXNIYMDVN7PE22HZWK3G6ES2O1T9191OFBNSBT7H9O6L1ZED6N469FHXFRGJDA6ZPC56YG94V1M7RNIMDGO50S45ZGMOMV97C4W4WGUTI7WVJSWMOKWPI7MJT62CJU1SO78E2Z0LEAZI9HQ756USEAX7ISQADNHYUKCIZMTOO2CI9389IGFGDIP3YHHRK94717JS00C996P3YZK8M2VK3U7G5AWXO3GRCHE4OH0IIL1MGUBFD7EKZMBR96H98OCJLL7AVGVO8Y9AN8B52GLVXAAS542PA57S6ZG675QOGBSARN2PTMG5B7TU0RN5FJIHM07ACIKMXOPGE319M0ESV86CEWME6KUXE4ONY8Y21DK3JCKZAGHP5LA151HT4D57TA17VN6Q0TN06LMVQQL3RZNS4PZSQZZ5WG4P5CVH5JWJ3QBXK9CQRQ8JOEUV83XYUM130AJFT1LEH9MNHMLNFKJ17PS1SFYQ7DGP61TXKUN6EXWIOOA4WWTJMPW47G75EAHQBAH * 36#O6CW9YNJK5KOPKKP933WEE5UM4MZX1L7Q0MQYOU172H8SMWIZO6N108CSE8F2XA7P4GV5P5YGIH6KPFBSB5OQNW18ML9YDG5E2FH0R632N3KOYJERBQM23G8TXVLL8WDQ7WJPJ83T9THKTL4MJ19NII1M9XN9P53W800LL1JCX1BUG0O28F7SZHEKCIE3Y7SXWNXX61HS5L7INSZDFKMPHNO8N0QFQK77O50IB3QT7FHB5TZACSQTY81UN33PGNQQ8RJXLEJIE1VBJS5WPGFN1QZ640JM2AGVEAAFY2NO9BUIO4DPWOP0SSVAKGCCUIJG5MU6OO1NT2ZNKOQXADGW8E2IAXBU296HSS3EL9OPKKO6ORP45ETKMNNZSN6FHCTCQX89B0JZ7BGT2974ONJS5BGVUY7PVBGOSRIKMTPM1BGXRH8L4K0F011VFWCM0GBFFO7S8S8YPZ6BZ1ZJMJF38TJC3ZN1LUS0W4BKKN3TOIB93V0O1TS9FBSXH8KVBWYF6UA1BAKNPE66AHTG3DMSNG1ESUE862G5QMXNSQA8SCY625URMO6PA3E7LNGRS. +36#VB9U25XUAQ1GRZG71C1HX49XBOHT2XUZNUFKKO87DMMGMTIKKPLIJUPKREOKRZV51RPH7R5M2PDHC24OF23K7CI2K9QX4PET98G1KTVEIU1RSUD11BL56I8JHPO2G1BHVRKK2U3H616KTQRHWMHHTDAPK = -36#2Q4KK5QK1OZ06KOWRKB3U0FH9K3URTN4M8PHAXG05NNCGQM2BQK2OX4Y5XERCRQ7DSZR13K7EM7Y56FQWOC3DLCRULCRCAUZLQWTVKELCOOUH6HN2UPQEEDYPH1F27KZ505UF914HSOV2288ELCI0TUXHSDTZBWYUY3DGHUSYLOFG5Y947GAJSLC8RKAKRY82IR9KFO9ET4 div -36#34TBCYINF39224AZ1ID446EVQ5ZM97B2H5IRCN2FAVJIA1RNVT. +36#ARDW5ES0D9QUO34MPA2T0WFE7MLJF84XAIJTA1HCN7PDF0WOF7SAITJMIB68FCLK33QI6RLIVGE13LT306XU2RUI20G0S2QQHAYT0N4NVA2H69V057C3XA9MNCQLSG16JNE4ADCXWYU7AM4NIR3MJ8P4WJVT8YNKBV0C1BQ4JHFE4O6SOGXXKKEIGEDEW99NSHMYS7TXNPI64K80TS0OQRRUHMAUE3D79SBF2VB26HSR9QTC5FL8TF4L5LLE6ZDXN3UNK3F5RGA13KDLZI1VRJ44QB38PWQ7VDZHV60U6DD3QI0FC3LAHSUPGXG6X4KKI6MD97N54ZI63J7PXW7E8E11SV61CO480PFHXM1R7AZCLH4TRXX54GSRR4ZXHS4ETI0B6EIHPS5DQKW9F9DU6M45778N6SY94OHR1RPCXCT339H06EHHI5VHLUPE76APGSO3CKB3ASD7HFG0LDJ0E9RK2N21NBGAZ9DPISL80BRDTEQ38J1NR44761CZRW0LY6M8UHINBZQ9G3B6YPB15NWM06G2VMIAF4I9UU4ALYCT05NHTAT2WLNVFJY98J4FTD1E0XKSGYM4951DIKMNDSBBU70G5RFJOY3UILUM3YBNS1Y8WLWOWY9OJAAT4ODO9ZQ5BSEA50N3JA17IFF35S6I3X3UERJSUSZ2MQWB5FHA62GOOEY0HTZB6RFAZGXV32XC797I5ORHWIZGQIB8PXM2DAD5G07U0YBRBZ7PCOM5KX6TD8L27DXXPO5IR88MIJQYO2OWGZ82NXWU08ODEUK2S97H0MKHJXQ2O3HJX2PKQ86LL75UJ8NKOV4GTFIHBYQSDS451R1Y01AVHAN9ZNNKK26MKO10AM6R1N7PADHNBH4RO07I4GBPL64V5P1VDEX5SBMYE1CTBPBF6RIY1B30USVOZQCJQKMQ55LEG29LVRY0X1SO2X449TSRPQBPCB20HZJM5FT1UB4LYW4UHBI74DMHIY82BQFI56GZSWJ34NAM8E1XNWVEMC2L4HHZ25KYBYJKEEEKJ16DA2ALGAYD4YRB3LFCI5YSWLYSFI = -36#4WAYCN19YEJ6V47BPBQROZ7PTLO7ONXEKCNX7ZOF2H0M0T8GW6R73RV2G8CUNQS3EQC7ZYFVB9F8WKV7NRSKD77QSO58B8J0T3PGJG4YL6UYXKYEJMXA6TWGTD3EWT9O4S2JLOVKH4W8QWQ4H5RRWC8JGCTJ9L2FJZ34IVCJAI3XP7ADJXAM50LL7DWWIV27SWIKB4Y148IPF82F3VF8YA18UVTA8WVEJAN05QW1CBZY13PQJFZLKJQ891QXBR61I32RU5RRQXS204MROQA4HSBKQX9XTDS075TD0NWLA022VDHNDW74L9IW637ILFZ6P5TBPVSP6IWSTVZ7AQCAW3JJ4P2T1TP9NPEODSO5HBUAHESMYS6ICPAGALM5599V57B6U87KUW60E7JQNMW0OXXF89QKRPGG8VPHCSKB5NPZFUH2U39174ZHDQ9E0VWDMKYWHYXUBP3FZTKAE3C3TBN64TGWV9I25USQ2PGBE3M2DL54XRIC9SDSVP0VV9XHUXSZFK7JO7Z234PLLNNEJND5XG9N147HMVVRKZWGC619QOB04E1T0AZT6U86Z807FIST5NE29X9ZVS09V2FDNVOU7N9ZUWAB8OAHZWBS14YDK6O5927YT6VRGE72R1XTUF7EBDO84PZ7VX0HMYW3HA0IYQBU49JVPDOX4OYFGI4H33QDG9H70OPUIVI4SRW183N7XV1NI2KJSVYGUYME2M7EKIH6FY64NZNFJ3Q2GCWH2ZTDYVJGE4W07N71D18GSEAG5ALGZJS8E1N2FH3NCV65RA7KVBA72HTAYAO4BVIGH7XIMBTTZ2A5MA73Y5S21QRHFW503QQC3NR1JNOVA1BLYEVVCFDN3B0NJR59U7846R7ED5Q5A65K6RGGNJ0U2Z1D3RCC9UBHFVUTL3UOIO8H4QDDE5P89C1A4UV9VKG25UT5RIXUWBXDITKVQG6UAGI5ED34XNJXXKUGAPVA98D8QRHEC2FRK70YZYE54Q20AGWD1AWJO61I2 * (-36#273N8Y238F8AFTW5P2J2F37Z26PNQBPUVTLXWVMOB115OERBYR). +36#GFO2WP8O76USIKH1HLE7Q9WE20D921S8WD78PMC1HOJWXHBRFMKWUNMU7HSVNJJS7ZRHMQE4BQUHGZQKW9L7C1VAYEHXJ9X1ZU7BYSVT9SD2F50AS378ZPUVADCPWVCAGIKCJQMQFT1HBETZIXID6D31Q1OC31FHE0WZDCA7QNVNDQYRDW4NDSY904OR8TXNV2NOS4F7O6Z8A2NLC6XTD1DQCF34P3EO4N6S63NENZ716M7MFIWYHSK77AJKPHRKTEGEU9Z4AAW2E5I3S8OREWHBXGE8KCE09MWT8OUZBU7K5G0SY4BUMTRP5PNU656I7Y5WBGCJ14D7KALG3Q95ZYWHDXV79K7P5C7IKPIMA6 = 36#38TEBO656H2M1FXRXCVA2P3MJDRGXO6CF6R5L16D6L9I4CI6WC5NCF2OXO7KBWSAU4B5O7L7LT0CIGCWBPA127U0V9FOZC6Y5PS0RWUP82NJFA4Y81SW87U6ZNEUJK49BHW44U6TVTNMZ1Y9WCQ64Q0VY1GX7382WSGJ60GKH8858S6980EMIQ38CCRALOLGGNPPG1VJVAMMEXU5NETNK8Q18LWWF8MCWU14N7FLR92F4F6I8JLVV5CW4Q6L28KEH6TH6WQVON49A2VREBN4L1EXO2XM2262O1DH0HK4B9OZ6DBN5OVQFC61R0L2CPMK1O9QMMER03IXKCEYJDCM0B4BONZCZGZ6DK3DB4KT4T6EIVINJLI3ONFM1AUBILHYQZCLQTN9OS6DA0NC4SVCIVLK9YD5A7P0QWP2DS9R1KL3F4913D2P61Q1RK2890Y5NQDYLBZLYGXKFL769QYXD8E03FWWYXOBK4AE0ZN3ADGSGTE0F6DXWDC div 36#73VKA51KAB7O59Z938JYYK6E90AIZ1GD5MNXNBT98RHQCC8U71WB1JDA9IKOON3F5H1S41JDAZFLBUO3QCL08ENHLKH99L9Y44XUWPBNBMT7LJYGM4ZOI3X6YEEOPVQ4SVOI1QDNR8B8W. +-36#234QH62JDUWEZA2W2A8JOZL1AYGJDY0QKF8SHXMPPU7J8YK0LE = -36#ZZBS1BFOVPTCS0T52UKX9RV8DH91RNC30BBAP3R4L6SI82DGJGNIAT0U6K7QHHXOJAID9Q2BL70UZ07ORHZE6VIBBFOE26XKOXB7EG7SDLY84A1XTDAIKAZX7WAJU35OOVJPQBDUQEA259ST2054TNIR9C8A5RIPXAFUM56HYX3JBV2ZW3QHR20VFFKA6L6U2YMI6QFCKH3HKL0AUK3ZJMOHE20YR6U5OW642B9A92BJGG3R53PBNIAN0YHK3ENGS5AYRJC1MLH2JKY7WZ365HHSRHP6FCJKXGWTIWQB2QOZ0J9V2I2Q100DR4ETBVK2MC9EYUD4TLBUVD9AO4RJ1FG02SJN4WF1KID1HWHAVMP0UUQWJ9HD2M0GYR8WQJG71YR2HDX16295H909CGNTICMUYUX31QBRD30AFINROJWVZ8GLNTJ66905EUQ div 36#H8O2CBORSZRH9GYFHT0GHXKARNVW15YGKAAIOI59DDGTR1M642ONLJ6QSTYFQVDX56MQU01RUU0XKXY9LOEPZU1YLC5ID46NXY07CWW3X9EHBZH1FOBHP5GUCDE26CLGCWDMJI7AJWE3BX7DU6W5DO7GX48CQAT6OA2E5B9TKS3SEFJZO8OG7WA57UF390TRX6WYPON7IT2FBP6UM549F4BGYC926JHZKI54D4SRU8HYJGSK1QUMBK9Y9VFF7HH0MTBQHLD2T1Q7K3X3B5TD24J96S3MG1QPE0LE0SU2BPVD64IVLXMBQF0MZFY2HTCPFYSSSY28Z7HV5XXSDKALKPNADDTJ1KVD3N3XBQEA59PXH99KKQF5B12D9J8LRVE1NM3H164I0P. +-36#1UO8JNWQX71WSF8KGBI8GRLC001GOI4I8L313LB0BH7BSW0NVWIEOOVM2ELNR7163MTEEXCUCI1RL506JVF11RIJP1DNU78D6O552404VW6QHMP2U85DBMTDECYZ3A80RX9U8VAKN5FILLBNUS65BSCDM6BZNMUFUKRFBLZ4HW5KCT8QWKV0P6XQJ245VKKID72HUM0IGKLU2MEFTKGWQNLGTZUHY2SUJMQHWS90KMP0O9Y2ETP7HG5LWI4VIXDC5J75BX9MDCVI0YFCYQB8WMJMFUUKLR481MR8V2W524CF8YGZ4W1NUFKDC62OB4B6TUJUT6V0VVV3VQSQ1N5SW9TC405PSUG14HEMQIVE4A8GIF6BAM6LFZ3212JY6T236TZM19PS1835969BSYU5T0F0L5PF893VSQ6MHSU7ENB6XD4X44JJO6TCWZA49F2TG7GQ9RYQL09EDE1A8GL6YFWY2JSFMY76EUU2RV67CMEVWRCFAP557MMX24GTMKIQS7PUMSPKBOG390Q3VPKTE6QJH33N3ZHXVQYBXKJGSRNSHTEPBNRD2NI5F07AR5P92C8H93RCEK0FKWEJGADKO3YEUHX7HREYHY29ZBPLXFAOWJHO2A9ZLINQ97UXYTTRA3U0YKTOJMSNXZGZ5JY25HJ79DRDS0F1ZA5VZVVH6RJAHWBOVJS3DWRA58SD2ZOW86ANN08YXGZZJQXUFU0011FOGRLHM7ODRXI5XPNGXSZY3DPOOSSXXVHVIXETF72C7AXAPRQXU9HPCMNT76F6K52 = -36#3Y59UPJEC13IL5J10JM6IJ4BKBL8QJH2N7JN0LFY7LWF6OAU1TO2NE6K3946LRPI61E8TY5CMNQNFGEL5YVD8Y20CEDA8HKR3IKNV8QEF4ADPYBAHYHRS1WOWVR50GRO4TC2IHDPQL1TRMYPCV3AOM20LB2QFFBFS06YYRTOVA3GO60ULSAD876S4SBC61GTTG3MAYHGA494H31SUOENQYDZL1SBWJI767TN44NJVY3FZO7OII5UZ0D2Z5HLL0BNR2TYHQX12U8GACENB57M8FOS9SL77K1WT57TK1LJGABHQVBSXQ1W4TS62U1MZR1H0LXP6BN61CU6ZDCT3K3L6NBGK3RGJR3MI5Z34SK0WG2ASUD9YL4O3WFWYT0CLVASUCLWRJU3MBAQ66G1ICS2CQLQZM3HX4ZF1800E9ZMUXKTM * 36#GVVTDIPB12C8EBOZFN3VX0BP2ZGYH5T2WRQW9F6MYT0MZ37PON0JK6AP4NC1KMGLXKRP28LFLZ0YJE0AHUXQ89MJIYE0HY6HS8WEE00KTKGISRG66N4C71E82YZ9OBKC7LN7P2UV4UOBJ0R8NX5JOPAMZ6DH7MJUGPHUC4IHOAXZCM4GYOSF1QLQMW0B6ONI0OODMEPBD5P2Q5V0SBIRV3JE6W5O2FLEBV0GNFAOC1645H8VQONX1M9QM4AXPQOKQ3L0EC2VX3RDYG970LL93S79TOF885BRWAGJOJGZGHK62BU8YUZI1RPN2CCRWXPPUGI0LOSTVIYZUHH2D4AWQRT1BTF10VZ11KWVHADJ2N. +36#2F9C72OFK2KZ203VO86E6JC1JMDR9GY9B2UGZHDAODDZH2H2IC = 36#C9O33F7K0PFOBXANINK57ST5RRJKJT6L7AHHKL7FNIR4NFWY6G4MY2W929D02Z0FFUL9OVWPILO7NKWW0CV0OPMXDLVZJLGL2AADBGIW2T6I3R6FJLR7QOTWMSJR3Q0HGTODU1PZPEG4HOYRGSAAN0GK5PHLQOZO1N4JU10E5KTNMBKRS142T7NL2T5MG8FVBM9B800RTGRO25KXZZ87KW2X452ATWQ8ARTV4KKJTLG6XCDS3ZO0YSLOSLMIR6V5VA1K94YJ7G9X0XCG089JG8GZ6FH3O8J85SGOIDTMF3WYAKKCVSNFM1YPL6QKMMRFQYJEJ2NSVMSBXXH7DU7W7MD30B75YLINSV58TV5F2VV2LPWCFRL8C8OHM5K5D9PRCCOI0Y45VF35ZWWQ98WPZ1UK31AP8BYT0MLOS4XAZD1A35MC1BVA71CLWX124WROMHNWPEJR3MACFQATI74BSW3D8N5OVIKOKHA4LC6FRLY1PNMRFWCTE4KDMQ1RNNT5C1NNPE0BPWOP9VAAPCKS25IVU92OVIW3IYW4PTSZ59CM71UQCB89GSN62SEHWL9ES0NBYV7OL230Z4DO2MEQTUE0TF02BU6SLZEK5GWOHTF1G8VLY059RK39UM6RJY3ADT2Q2Q0FDGIRP1SMJ53BON9BI0PHGE9PZNW7REYYR0VTTC0IRUFPI6NCY7BSQ2WPW080K5HJF2Q1YGRA3X8FEVRANV9W6SXPSQXE2MJEAX217D7U8KBZJ1EPW5I5G60V7ZS8MH3HB2DFEA21I41KE7N8HE2GU0YHCVSXJ037WZFN8UKD8BUE61SYFHMDNLGZ2G0ESXUPIOUH7AVDS3ERDTIP5SBVEOMWIAVEM08MOYB2Y0GBALSYJEQMRS4128HFXAWT1NCQVES0EAU95B1M6KNRETQVPG643NPP0KCA0B7KDM0OABIM1PH3MRY1LZZYMD7QJ5OD7RI56BGGH4H6VEGX5X8414SF05YC4NNS6246C921UD6C5L41QSMPAE1FN4L864XG91MXTVQZ7GHAS7ZQ1SIN8IF1W5SHO div 36#527SB5CDFNVPX70L2U8XG7GYNHOYL7KUSEPH6JT8EJFP7GMVSV0VJU5Q8IBYWI3KGVW3YSQD4EU3KSKPCCZO3AHFKL8V2K40BV9VFDASKDJ2RHDSLUPM09M58GQLFAFZ5VR0XQW637W08LRWZRWDRST2H74ANO9R683HH6PLWK25UQA94ZD999S8VOD659KUZ09XIH0LMZR78AIOQ1LMI2MO9BCGTQ9I20R82Q4670R33DJSWZB34BO2LD4MLCORWCGSSM5GBWTZ91I2XG2TMYR4EHRUC6G3OD0XD36AXA0YEUI7F0632CXHVVGDKNKLXVLIQM1Q7QIX8G8B8VSUG7A8RKV9UB8N8T9BF0AWLBL8ZMV15URN8F9B488HB8L6EJPRDH04O6OX7M33UTITJ38PVD5VFA5V1NWD4K4WTTEQQ3HCKABFHMZDO2IH2O5CTH0ZZAW8EE7CQQ9WWMD0PQNIRHYP6BGE6OWABAUM0193XHNHGKZ6Z4N8W38842542GG6HX5744DRFPX9QLG52NM8MMUGHMC8O0Z41RRFVC4SW04BCPXLI8W3T6BFOLXXFSSZ1GQM4NOQ2Z0ZF64WEYNWAMJD5TJYZPXAD96SDZVAK6UY2XEF21YR3S3IM8EN9EUB78DJ44WAZ4MQ51YEFK48DTQRKT978YHQ5DKSVZAGNUE5DI81O8DZVH5M3PV26X9NSAMBAHT4VKAXNRSG6MUY9L7E1THN96DGYTFC7P09GQZYH2FPOW50BEV3S64H3FN9K18THRAPP7KY9S3LDBQHUK429SOKF2XSSFLHPON5TSORDJZV80PE92BQN7T5JK0ESTUJH344AOC0SSLGKCQ2UGXJ6U5UPRH8Z2XB0JCO76N9KXCZVZATCU9ICE0VHSWX2RKO0TQBGQS21B6IEU8APDTI1M44DZYOTUR3NYS6ZQYPV3DG1P6LCNF8HSMIXNUZYMBBG2UO7H6AVANEQU1PJNFGJAF0RJFRP0LQWJQA8CR11A2Z. +36#27YBCQUKIKPK5W6CAOC6JO8Q18BJHW35EXZVBWK81GPBX767H8H45RZCSE130WOFPFGQTAY6S9JB0HIA6TFGZTX8DT82UB93WD31Q2WGDJFVZJX0RM5ORWIH6HB2RCCLKM0VDL7KIAWGTWAUDA5C896TJ8T9ZEPD8W4EBNOSM8JUCCT9WKIR7YCYG7VXDX9B92I9Z2O6GNNOTADGYOKKJCDV6YZW5FPOZ2DGGB3TMY98BXLI84YGNBDT439NJ80E5UG33S66T5REV1HF3D0983NCFIQPBS1KK1PTXJJLPFG06KV8LU8BX7XAC3PCD92WMET0JD5MFE7SBDVRUAKMDHO6WJX9RUVV4VM76RBNLTXC511AN86QA9BPOTOS7I2V7UVBCNB749ITHPLUWITW71UVR6NWPV3HICG3ZYJF3HP1JKCYMXW96QQUZYM68I49LFMTVYK5YJ825J5RJ596X81TOCJN1EGGWBDR50BY2ZJJIKXS5LBM4CA8F9JOKYVFW9KZ9RAIW4LHUP1NCIIMONFZGPSCR65M3I82KETNPH40D2NKSB3GEA00BW8VE3N9D0C9B34P0WO74BYGAZ0440ZIOP5FOHO0TL0H2KS56LFC5X97DVEJ6CT7C6ZTIC6FLLW6FVZSSODVWJNI9MW6NH1IF108UV4XB8K2YPUNDCOF1BQKAUQYC31R0DMT66ASXT1S1PJDCSYNQLL8ACK0BJRNPAQZ51ILORUWK7MTP8IX0LDRA47IXTQJ1QPTSELRABZHX094TSFC1FT3OQYVK75FFKQYSI3Q7WNC8619NWLSK294MHTBQRTTH5ILUP1LDA1UY82LN6TOMP663U925RV94TKWOVL5BRXWS64FWJMHKQRNUOLUSCHTKRHYLLHILRLVVFK7WW5SM9FW6GIANNKUZGAEBTLS2VQTEZJ2PQY7FLJS3NWE2WAH83OCD20PA14TAA30B68UYMIQK5J47D72TMB270FF3J1762OH2B7URH25T2ADZNGRWUGJWPEWM28BBPLE70BA5VM1ES93YQG87ORWI3EXNX1VZMF9BE1E9A813A2TXM3XF144EI1S6JA8CEP91XGYQ1WU1D7ZRFRCB1CK2I3BE045G15TIVU5GNAXAMG4F1CZTC8ZE912EB0XOG40S4Q2A6WA8INZ41DKA20UX8D17VD53IXCHB5TQMJ5341RV3GS5Y46MSQQGIB1BRYR7855X9YALR8514QM4WS0DYCJ8TJNDJYUGC0VF14AP0LP96NLVVVQ05UN6WIJ8E52UT2GB6FEBCM353SMT9EHPW5YZR8VKTOCGQI4TTLSZ3OA54V96UN4TTC6SOZO6FQ8PU9K0 = -36#2OG5HAPHEZTX0SGBJNYGLIQ1ZAACTOJX0TLPIFOKPEVF1ABI4JWN0QF2TMB3Y1RM88OW802G1KJQGQ7U3H1R6K06OYK04AKWNNZJFIKQ0QO8PTPHBNR6ZC6RTQPJ677GY2YNN0FTNLGT7QER6U1HGG3O7BT8RDTZO5U7KBCXA0BW9RVIZAF9RHU8K5TYFQU0FN1F313TUAK0G2HT6L147PWB3AHZNU3GG0TSSNEYBP27PJSP174CUGBLW7CN5EQKI0B1NY45WV5QHN58LV8I3HP72K9ZLC8HPVNU0K9OZL32WK62JAF0F796T830JH1MXH4ZNJ77E3EBP0JIREQF8G630I25FHM1Y1Z1GJ1U7XP8SBT07UOCK7CCKMO6MMLET5NTHHBCBANBF7CQ8V0KBXTIWX1S0WR0YB0BG23BS0ILFNQF7RGYOD93YSU38V048D8A8LQY4SQ8GBM07RJAVMCRP6QWBN5YIX9R6O601FR4C62OBNXTSXIR7ZQSP9I9E1FKVSHBVI4TONMZ2FKWRTDC7E7PPG3Q5SWN3TBAMIAMXZY9PYP7I9Q84UHPJCY5YE7TAQYLD4X80R6WC1C05M2S2PERDKNGZMQG6ATQUZGIZ5O4Y8FHEUR4V0XU0HHX1ES907AGKOODFYGPRW2BJKEDOTI * (-36#TUCHV41V5POHKSW1FPAOQWCKDEXV10GRJPEPNPWRJ1ZDY7Q4YOYC2J1B74DEFGVT7B77PI86WQ6E1J03ZVXLCHVLL1NEIBR80YM8DJKAPD451IR636Y7GPP2ZJSDD8AC6LF7MT25FVDRE7Y01BKC117AKAM8UTSDWXRAIUF097DKMMI98QDQS6QUGGGR3G2V6SUC1QPOT9CKBK6V6IPFLV54O5L9M3SQ1MWJ75E8NOVKAL8WYLYOO3UVA39FXZ6EIAJF1356X6WYRUJLCG5HNRZKGLI3RX69YKWV3OULLSK1C1NY4W1G04V04L2RD0IHZVLMT43DVCV3R8ZRLDWG0ST20GVVEYRO21SXYT0TTB6FKKYMN5VQ6U49OPLEW9YDFWTQPV4DIBFPROAQRT4NGDOGOBVV6B13NPANB94GIBBOULG5MW5DIDECXUBUJBXMKIZL9N32IZYYCG9ZFZBVCZ7EJFF0B6ASJHA4B6HZTODZ8BLOFN8FU5CLJ1MXZX8S5R5DX7VB1QX80FCW249BDNQJFP6ISMT1FXI585B03MGJUJUPDKRQHG5MDQ5GXD1LW926KZMNN1SCLE8PB2MN5M2SVDMV0YWM9BZT4PUSQGGIIVDFI8H15QUGUDX9APKC53M8MIKVX9QJOD2646QKZ4Z4Z2N4OS1N0V22R37PWVWNERKKI8). +-36#8IKXR96R4JN2IP5KMR8E6U4PPLPIA2Y3L7YQKVUTFO8I1B8QYV9ZVMUJN8SD193NE2U9JX4ZLSPTGPKNSEBYWO0FYP6XZ7F8ECC8PQQ8K4J64D6S9Y3EXEZD4C6AUCWP1RKWEKCM34897ZZ8DLYGK6NVDWOV87V2QKUJCPF5EPDQIL1NDJVYP6K9GS7FI1KCXLBOBKY7TFR78FQ0YTEBDLR6YMRA0NIXIDLR4MKJZYWYDCS98P5C43I28OOQGW4X5WME08RI0QLKVWRAC4MG68F37P3QMTY807VBRS0IHGS7ARKVS3SR8S44IJYNHIH0LHYJLHS8CBRSEAVMN7L85O068Y90ZNE0ARS7RRLYPBO1X2JS79L5PHA2AMBA0G8OAJ0OMZ5PDXKYQ8FNV7J7G968RN3PLH2H27BQEO5463DFCRZ3S5YA9SEORBJ4Q6O4DSA4CF5UQS7P697PEKIN0Z6TLJ133UCYIQPJ7EU09XKNLOGTTB4P9MF8RO23GZQ0BE81ZF7S5NFHSGUX75A5DCFDAHBUZ5BPNUJC6IOTDNS41ZDY1EDYZG65ADPWW99EV5ZO6GQ3FQC68 = -36#163MV04MSJN7DSWNPZ8SYJEDEYHVN8IQFDMGNHLELOLRKV8EKC87ZCFSFQ4ALPJ18X7BNWXR7B3XV7I5MYZ0LUW0BCF0680CLNM4ERFS2AQC791C6OLOSARL55VZAMJ1TAYG7PGZHFWVTLGZ1LFKWWWEBSE1FEW5TEBAHKFY1F4JOHJHJL13OSGX6947SDKX72DIUP0PGUBU6JEYZY1TAGRKXYWD07BEFFY5DS5LM34VXXY1WRUGDW5LY9KI5GZNNAVI2VEL0KO44EITPIE0C24OEG19194J01LVM9E0GXRPR9DB4GC4YE3O7RSCF4RT334UGMKEE8 * 36#7A5JK45LLP2S5EDXXI9BZC96XY724KBT7RHNNSGBBMD97GSFGJH2L74XX1WPMV3VV8JH5QS40A32GABWG4JDLRIHGB129IURXXXGA6F4NPPGQH7ISU1Y9OD8EK8P82AIN2720T2MTYSR28S73WWNNMBGNZ6ZA7004NS6O24A0CRFI07DOMM4K0HSAJ3E6B37I8FM2S4ASQGPZKF2O75KR0PB4OJTLE8LG0JOFEL1G5OT8E3RHWCDQZ1JYLEP2QXMCKLJ. +36#92TG8KY0ATW3RUTR53QE19E7Q3BMCINGYKAJ09S7O1T9GM2UY = -36#2MP49P6DUKIHOLCTLY0WLKXXZDD6K37H1Y75J3KAWU0FC4W9DDU6V1B2UYUL6W4CPX7L6ZSJFVBI10Q23Q3CAMQHD732Z9TXM2LIQ8XSRJKT4F676S5HQOI6UHVZSFDEMFC6ISZGTBE12MUVDOQ9NEGP0TW435REI4RU5GEPFVCY7MR602HHA4O75RADC88O4SW42I1R82GZZVJQ5XPKDQHKNGCW4TOQFE0ENMDEBK4HUB1IB1QBLF3MSAQNGW6L5HGQWW8YH8PAJ7ZBF3KJS4OTA68YDDWHQDFNUMLC54TRI5EKXM081Q27RE1SYNMOC5JQ7GR0WVS4W7V60O21V4RWQS9OD1SASURU52FNKO0RQ9ZEA1WO9C757CGOPZINHN73IVRQ5J0PKTQ8 div -36#AFIW19JOK77W4THZT775U6AZ2YH25RJYK3ZULEFTIECU1ITUAWJ1Q5DGFQA7EE964W8S49ABWR55PBWGE7JOB1TWNJYQLBIV89XBXB69V8LIIZ9CS4RUGW5OMHWTIWKT330BT0HLWQNLDMCQGV1OMN2TAX3NEY9HA9QUU3FUTDHY8J3A2FYL1XU3DZ0FLX9DXKGJB5PYP55TIF65K71NTCHDVVS7NNSOVDA6G8RAWS9UAIK10FIEC2Y5QN5PTGEI1H7R2N567KWWJSPHUXSTDPMJNJ3CKVZH4JNH141Y0WUV3S9VUMWI2KUVH0LGVGTGHPS2LYDN7CLR396CQ1KAY9UEGZ39MWW. +-36#1UG12BIS008TYHCC0Q750IEHRQNW5W5T64LO9DLU0Z6LXN5M6CFOCAMSOA24YR8LWJMJN2ZBIT70SW11ECAJSPPKDYOEHCHGS64RYTFG2NU9CPT7ZSE74A80OW0Z1XQ7HPOK4S5QYICEQY8RXM3S24813NZ17RANDFK0VVD8QB0FGO5VFSVC493VUXF0J82TYFN93IE24Y15VMBBV45G11QIWUFN1VB0X14VM5T50FZ750ANY1JMHS5PX5OWC97O1ZK6N5P2S14B6MA5IOLVL093AE98X3G85A9LIVRI354RPGTAC5VT3YSXM68IUL9IWW35TZ7KPY0RQ4H68UO09I5DNORTI90JVME077XVZS8GYUMDE81FQN2MR1O5DL3N686NFVK21UGP2CAC2HIPFDQTMYRLF4FPIO2WLFS6GDG9HB4M7YNEHXSP334GK0578VN0WON27O6FQRLRZR7XJB98ZDNTG5RGI7SZF0XF11CK1CNR71XANKZEB62KPL9YCFKWSW6W0O2IEF8LE3JNJCK816L8EMXYOSDS573K4IT7CI37A14IR1N8R756AWED6QHC9ZECAUVDDQIEIQUOUBVWJQ05S05JE56DH28IE2QFLVX7DZMC3NJ6Q4GNKQB5XXQA48ORPMRVNAU8AY65OI38BNO2H3AYRXJ72KM2FBZY34UC8T77VKM2NV6CPW4M8X91V464TWWSXG0CTF1AB5HNK41ZQ2C9339X0757VORA8G4N6DB5Q9R52G69U2X2ZZ7TNDKAHUCN1MRG = -36#1U9QU2MKPYFXM8O73XEKYTMZ71H5UWEO7UBW7NE3C40QYNYPPHQ4AARZKHCGQWDX4D50N9Q4YGYNG8NB2GNYD85735LROJ5GTM1DAOD24AFY7MISXQK82WKLQYJ2FADLGZI3O3TEQBRGH9GQ3O8EZ15W54VIJX6QDDPTAYF5ZF13YWZC81J81QD0Q6133YKFMU4ZFQ8ILWEIZ34CVV8NQS0T0QZIZP7YDI67X9QSJ0YBTGM2J9OIG4G0RBWPSB3BO9WTKA6PWFKDCWONDHIERQT9W35VSRIWHR049KVENS5HEKOG4MM94IXROAPCUGDCENZO4G5JHJFCDCJB9S3B8ROR1A9MATU8Y65SPDLWQC5GK6SWTM4WTOBDJBH8ZH72TS2VV5P5K8CD46SV4SCTFO4JJQXF7YDFJUJKSP39S5LE7GTLD4GM8HRKRFB738F242U562UFZPCYO41TBMKF9IH7XRY3FDSMBA9G * 36#103EW64SANZIRZT8WF2YIB59M7PBS4XEDPVIRL629WK6U874TC1B1D8W7827JZQO79ZIM7YN63N0T3UO0YN9KLT3MV30KH3NMRHJM2LDRJN3HMCEIGIJNU9CEC4M778SFO4BUCHBH9EQVD8D27MOOZOKDZCSTCXQSO78VVRNOJTKWLI2NY8BGNWJ43KLBJKN5FPABSG9WBW9Y08GV399P7DKJUCSMWGBT1IRXT0GCF5F3UP6N5MJM33DRGTAMOWF81WQXFK4ZOQVJKK03HVMI3HEAF6YR5ANAEEV9XIVEH1MJ. +36#18QWERDMY6G6Z4PIIN7UBBO7YF29FSHUO7F57ALV1HGMV7S0KS = 36#3C161MM21CQCRTFQSW5DCCQ1RE4JIHDHQ3YK0B5A83X2RSYSPRFUTBJGUJEOSLFTQGMOBPIJ7ZRUP0DXLYZORY6RF2HSA4AHH86UVJXF4MJRSSIGAR1513HP6N073MG4Q4AV88ID4TM9BX2LB8OXVHSC74BIVZZK7XFWDG779KF79ZEYPGVXBGFKFBIUJA16AWXOQQ4CTS4DH2TDAINF333M92IHQCB0DRKGRBTFEKBP49XD1TQRS5F6NRP8EVNSVHCL4FNVI5CPRGH9FK7BVP6DOAPIH2R765CFD5C76JHQIY8Y1Z8CUS1S93SNIUG3N135MSD09JGNI4OSCJMCCJKDVBHRWCQ741DOQPRJVR3YKDTDKSX899HAQRWOUG5N0HPMYQNA7VWMTJ5529MHK div 36#2OKGMRSWUYEQGOBA25T8EFY6PR0U0DBMXM0XI5A5B0FWC9JO0IXWNQLJ2Y6CMHFH5XCXTZ8ZMTZUYNRXNUV8IF8F4GKQVXI4BE6ZSJPVQQH3B4E9OWN9QYNP4477M5XB8DZ13FX8036AKQ1MGUUZ5JYR3MSCVN6VM2A0P7F9RNZU9RKQ0W097L4VLD4YH1BNYWO3HYO7BD6HSG7M9YSOD0GI9YGX125G9KK3YP8IA88LYZVBKS915F2EE0VLZ0EJ8Y3VJZ0JPZOJD2VP9GAOI48V7D2828AGWZ8NFAEVDBXINWZEZ2AKV1VT8SP6UOX373A1W02QK8YBEXTCJFRDKQTFRPIBPMI76OC2. +36#9K80462AWLS04JY6P3ISFAALWLUX6JUIBUMUOU0ZBVKRCQWPJPLQGYLOEE1BNIZINRED5HF7JJQ9IQWIFJ2TX3KZPE0AOMXP = 36#CKOS96N5GLV3S4B2G6Q2KFN20CY11X0TIYQ6RWBPYMUJJWZ4H66RACE237O1O80SB2FEZI13OUC786QZSWA4THW9H50VSHJH5XLPF3IGRLPX2MYK3X7MF80KQU030VVY35K05PUD4FRFGPQ3C div 36#1BCDJBTPOMGNS6DSI33HLKJTFOW7NTXL2AKWI7FFFCEZNJDV7C. +36#H4YZKE5Y92TJJQ9VPEK5QGF3CO7VHGAGVGXLM92527HX90I8A9NRSS3OB4MZB1I07HJBTT5BZWP725X0E99XT5P7U440BX5ZL26VD4GI708YEY64EYG2NDRWQNZ6VRJW9X7N2HS5S1WPEO1TWNWY6PUQ2WO1SZW8FCWHBSEDJ7794ZTOWKTUKCS40R9RGO9PFC71K8V9ZD4XP5Y25F2N4C7CO92BHD09A5B33M7IJ4FW4TCOA9VMANMA04XOODWJSUFDO8WRSE1YVCOIBYUA42DEL1X19IBOQOFYDZ37QES6ETKT51CIEQRWGV5D9MEN9Y0LU7223LXD9F4062IWITOY5MLK08JX6M1LK7EIJKH4MG9GVR6TSH33FE9MI6CDTQTJ7E0GRYR805CJ5F9OLOT93OMZ6C2UHU1C9SQBA9AYBPRYZHWR8NZQYGDR7W8QG9XI3Z7TGLPIAEG6CFZ4SJ14P6A4EPGQARR27ME5MPXTD2KI2A43M5P7IR4AJWS1K3FMBPAG9FAPHR79ACSLAX0R41JX8HLDACEDCFO9Z9X0EFALNJ5B0AAMRSUWS3X3QYRCK4H4LNCAGET7AJV0XKQMVP6BBN5GY55H57HLIITYGN8818R1J9HYOU2M9FHP5GIJ4KUVOS13AWAMM0S52X5GT7DI92Q3GLB9S7VS28JYZGC3U2TILH5PYIIRSEKK4TS3RL9RMH6OLYWS2EKWYHKZ7M1V8DPU2FQRU851GA678EOMH8UF = 36#WSVTBOOCQANQ4ABE0PMCLOB16NZRCZW3BD6ZHDK2NWO1VQZ9F * 36#IT46NOKZRJ37VMJINP0PN1RRPUSNN4LZ151JHN5CFQDZ11Q9PZI57KMVXLU6G9G1PC6HG6DY8Y5YND19MC1KE4V4KPI5ZWZA7QDBTLUZY20MRYRMJTWDTEXJ0QZYY2ZV7UFMM49AVYW360IK6FNQI7N2P0F1Q4VH6XWR1DDNKA0U7IB7CIEGP8ZWKOMRGFU6SNP7T7SUTZVDDUAB8UVD3A9IYQ9RP6PSJ3LCZLQ73CIY99YDHKHVHZX3KV4QGYLI1KEIHL92NEL3C5EM5BTO9YNH5KXBL6I7R5H71FR2SMSSTT8DQ4839G54WYVBEK9P5HAW5UH5WPA357GDQMJPGZ82MT8B3H49KM31ZW0J8DJZQVBYO8VZOXTB554SZYZ1CZQC9FCN4C2DWJCJ981FNDXUMBICIWPQ4WGDTO83YJMU4GY23QRXGEWWNJVUAMY9H1WH2GWLCV0FUM78CS4H6AFY1WFCQ5BZTIVVLQBIOKA3HP9AH6M61Y3VCZ4PHH8QQBP1UCCC8WR8Q3KM1U9HVWR8PZ50Y0NH436UOYUWQXQS0HQNV1AGJ4N9ILXP8VK7L1EHOF19O0LLIPITFVVNG442C49IUOI9LY2TM2GEGPRGC9YEAQ0Y0NIF2K7QD3D7W6TL93DEZP2UK60X167GTIEI1Q1FNS2JB1SYQJKPO4MJE3RJE04NTXXSAODLO9AD3N1. +36#76T24YC0PIZFCNA06DPEAGDYQL7ZEW0XD03XO0ALER0C3DASUV1WOI8O5CXIYV036HRSNP2LS7ERZ2CXL9SWAG9KNTKYGS1JZ3TSF6XVDH33T2SYTX34QYR0QMZX8J1K3RIRHWHOGTRWUHRD2V27S5LC97BQ8Q9CKHGZZNUZSV3ALE4I664S7ZUG68UBOBXQV0CAKVQXOMEPQPZYDDS9S5PU6VOBPVC4VXT56WSDFVTR6KB7WVRXQHYHT0SAKIYMNN7XSAYMKA3QUWXAK8478ZV0PKAQY9HA5YPV5K13RIA33QB280R4WWAU7MUAPLSBU2I6D62VP3HDQEYBH673TU0YQGNSDSUBYJTUFLX31DOGQMI7US2ACS1ED3C11XD6QX9R3C50VRRT9DHR8Y0XBQFZOKSNX93C890KBMURIRYGZBW84YRWB8V83X1HG8ODH96L4WZBMDM2GG27QN8R1PAJNTR51NJZ6R5X9SI4ZQY0C0V = -36#B6OOOTTURZTJWP3P3LWTFCFJ9B3ZUW081GJIZ13DWYM9ZXMOSFHPQD9SBRCIWLVQSOMHG7OSG7GH457YTTY6QUE7QFAJOQ1MBD0ECDVY547S4PVMWW8C7VLYXVRBBP187B5EAEUK72I34C4EFAV8V3JACT00Z36F8FQKXLJ05ZRQFJUEO51EGW7SDJYLIUWH58LGRDCF8L7E3BM8U3ZCR9GE1IRK5G2EUE1081XB13TDHYGUMSGVGZ9X074HUNARTZLHEPELIQBJ8GARSNNC8CFNQ4YFG6Y89GMD2TNH5CNR4KCI8J062TEGMZXZOW73KPSA9DGH2YOVT1WKLCSEHOGS3820PEA0NBQIOJWKKTAKL2JN0KKXIATDEUGMDHNXUNC69Q3IR7N5KSZ8Q7MJ0A7I675RQ7TCL77RDBNKW6A4XMVQH7MGDZ5VF9VC21NTSPRO7GD0YI4VQFHU5LZL8NZ04FC8RJR5JDP6LDVRGW9RGZ6YU48T5DBUKYUPKJTRGUI5G6L0NWYT6TFT07FXC6FU8DR5IBTCBEF0X81AAQGU4VCH8PSFLPB7OVHJV4MT9HKMOWQG6Y49SZF61U0AFL9DI9MPQWBI5ERZ7X7O1E2PJ7Q4ZSG6D0EF8M480Z6J8QYWOI78B7MKNQ3573D2PO5AZPECB8BT1RP6RSYOLF7OE9UQ2PXIJOU0O0BG205SADBBYIBJM8CHHVYERWVXVMXC7VHBJJW9ZAVLY1IUP7OP6XC8QIGF1TZ61NPQRJC6MULDGRP4LFHSCC3WMCXURZR6DY8T77XZWQ6M3OPCQVWR89S2FX3FVZDBB1O46WLNS4D6650CAIK36UX7QRK11DGDLAL2NSC4WIQYJRZBEIU4TNN2P7A56E8FEQLLZ83G0Z3D4U32LZ9HEXZMWA70T1JTPC76DABCYOEK9SP246Z1TZU7QM7K6U3DR5YJDD1J4Y70U5DUC5173DVFWFMZIPKCA16TBU6WNGJPTQ2WYNQYZ2XYE8EQ6PSOAJ4R0XJP3PN6JJ80BQ79LPGGSS045RJKT9 div -36#1K0HFRV1CXEQXVAZGLEZ3ZZQCXNZCBKWB7T2Z68C753OTHHE0LCMJQHJECGBY3M32U4U5QOW226PZ1VVJKB94DA5SS4M4JTJZNIVU37SJ4P5U3ZD0HZO8MYZ0XQMIHMKWTFZF8RUQL0W12ZJKRHLS8ES3W64HFMOSB7NLCJ2JLH81R4R821FO84GX2MNXW30EZPSKEIZJBUKT2M7P5UDRPCW7FQDCIP415BHJQG38UBUDNSEW4J39TST7SXOLJ2RL2A2LQYC89RYAMHBRCNQUSPWF3EHAC56R2V0WNLVOBP1YUH4I0TG550QUUMPZZGZUG5BSPUSI99993WMT7NPPNH2D9JIV71JPQ3BW8U0DWABVIQFZXYWIQ5P60MB2VVM33CJJNDH0T7Z3L8MKHVTJOEH04MWNP5IKLSX656CHQJJP5CURKGS40409MXOGLE9MC2FYZXUEXQN5VC4YP6CWPZROBY60TUBDTSXE0ZAS8AUILUFCE9BAJ9FQ4NSDQ29WGCV919W12W8ZFMPNS7YMM880UFF6WH54J1B1R99IX6R. +-36#2NM6GBL1A2V3H83J5SC6QZ0M9VP3WAID11YGJOJQBD42SCIUXZQEXXKJW7XYVXPUSCINOQEKFUCXCGSEBYHIP8Q06K5CXPXDQ28Z0PZ6YBN9KE7F6TWS4X7ME3TLXYHU4RAHK0IUGP9XSAIASXCS0PAZC2N5DHZEV96LKSRYMCYSEDOMIIKPCZYSROA3Y20T15GKG07333V2MMBSW0DYOMX98E61GTC368PJCLWO8S9J3JPMCGT6ILF4GZTNXF74NQOG3DUK6VA7BH4GWWZ5WM6WMGHH5W6P0S04H166PMFVP6E1CSUHAOCPYYVHXNRCEX78LJI654O6PAFI7QNY9DJ6QI7BGC0MJ2M7G6UJPU14Y4R6Y3A2IMPYU4Q7IY9IKEMQYXX1GDURAH5F267A3X5OZJJ9OG4S8Z = 36#4A2OEI2KGNUMYPIG1E9QB74GIYY45QOO75QM3VDZ0NVZYQFHGZ51YKX5DJI2W7OMU6ZY7ERHVRTA96KF74OPYZP67E07ETDCYRNA7FJL9SI8K9FJFTQ95GNWEQF0MLIQLE27BG9LW37PMYJGHXTU1CRIEM7FC9JZ7ME9PW0ZZ6H8B3WGO98FGFCTQMNF9KH4A8H9JLKZYD7WE4N6MJ1QMWI281YXQTQVRFEAZUOXBSYNGE2RARLXW63Y25F7OKD3GB4IMTP5IPIDQ4O7JELWVIJBAXCA8ROGBXACNFK4MXM2F56LIGRKWAOYMPEGYL5J0F5WPD7MCZIKCM83CC7YDPRDMDB98T077ZPUDNZ2E9TZ0L92A78CSYY2EI211OTN83QNQGH475XJC73QAR6514PBNB0A48GXG8U2Z2RTQXLNBEOTNQYBYA8EJ2A4GB1GGVGIELY3ES68SJBVWH6 div -36#1M0CSX4UO6PZEO537BL2HG4T7GKPFZ1TSAHQJ6FLUNN46NUN0U. +36#20QQGPOJOK853FP2XU7K8JNLIZFA814E5DFX8UM57ROVXFZJFCXUCTO3FO39FUTAKQFX2ESCW3XWXD51O1RAP99XP52P3TUSBUVD3MCK8WQVC9VGMD12K1MAA1V0SOR1B6G4F1GVBU8C46JI7PEI2B2MUR837X1NVSLINJYRACP2AKT71I8L89HDUILQXLN8LNOKZ7Z5Y77Q8848WBQ756I6WF284J3EMQVLFV4NNOGSJDQOBF46LUYY9TPDT6OSQNFPA3RKMKTJFMRE8FH17NDBAF31AL48Y71KKC4U1M3LMTRUZAS361CP7U8RGO07 = -36#1G8KSYH4T1XGHS63MPD7TECYWUW9YNQ4SZ8ARP07WGUSUAI2H6WLN3HL7PBM6476L6NQWX4ZBH2WSNXNKUJ4DX79LGVGXXEGIPVHLL80BDLU2HRDVBCQ6GKYGUZOKTTLDP1T5BQ5GRTPODLDR2IRNZJGTBN1G5P5FJKJZOR5I5RFVRL715US42DNINMJN2BMX30AEH5P8J30Y0QPZXJI5PEQ15GJKV66MANS24ZZ0AVUZHCTX80073I35O44W3JLFPBOJD7UE12ZZHPELB7VLNIDA2XD5954HXGMT8QXDH57HCP2FVKKD8JZHCPIPVPENN0AGGIATD1SYPOUO94G9UWQCAHRO7N9RHL020OZM10NJMQS2 div -36#PUOTFLTFN2G03PV579VWSHBQU15BSKQ2SDCZ5XZOJ5MV1GRTQ. +-36#FLCSD8U6CHN19BCJ55O2HOPNE1JGOMQYZKIQ2075HXZL3IZ8JJ890IMQ0ILVVHA2CBA6C4OKLGSMY64EUW6XYO4FBZMBVUL0ZQ9JNMLYYLG4QA17I21ATMA82IP6EGLKT7EW40RREWLABO84METO3DVCZY7PQ93DQ7K87BGKCD8PZ9P4SUQF0NX5LQQG3ZSJIZG = -36#1A11EIE9BRCVJDO4LU9ZTI1N6PP2YE7EVB8HPXYROZVVANRB80VJ20C6BY39KQZY2D8XF9ON9NPE6PMY89M5AOIQMHAFRNDTOIH6MEI6L51RNSLYAJA13QNO8EXD2NPONMS3P11XJP3BV90APSRLUYQVC40OQFVMZKKQKORLYAQV5RO34RIBAHAS2B2A6GX7IEZZ6JN0LRACV02ABJ3QAMQ2ARANU89E7893HX3QTVF2KGZ7IE93S div 36#2Y9LQ5L6I46MFG1TH144G7IBE7W62P7JNWWPRQCIE26G98SX1M. +36#271642UP2TKWO1J22Z9NMPURKUE5YACQ3KB6NU28X8HDIZW30LW1IEABMFRA35SPQLMCUJVY08UCIZRN8YXR446VAXCRWHIUCLLQTBIE5ACQG9DMZLTXEG9SFT4HIVY4GNOIEG7DT58UD6SXFPQHR5TWPHHO8MHVEW06R7IHMLUXMT62G2O5CFLHYFO2RI0KSYTEKBQ3SY2MJSM6ZDQJ3XGR0B70W5WWIH25NK613MMXJWQO6XVLXN9SOEPN9741PQJWSUIDMFH1WUFSJL4B8RDRPO9J2RD1K946BSPFI79E0U89BP93GC35QLZ9Q8I0I06VXZ1RHRI6ESA0E2JDJ3H0FPK3HHTHD5LQZVCOBYGSGJYOG3XLPB9ONBAYM21FZAO8QSIW80LJTF46OQCINQBH4R8UI42R6BO5XMAI76LQJLC6ENZF3VSNZIB96WBNPB9R522EPTTATET0H7D69TZ = 36#EZL2BNSCHTKN48UNPK89OG8B0R9VICURKLSVZ5BKYBUQFMEDDNT41E6VVGCL2JVAUECT5W0RBVMYJTUH6K1WICTJKYN5RA71MQ0YTYEQ7RI24GZ2L2QUMS7E31ILU1KFA6G4W10FRO7ITE13R0ES5XMGWSU303L5JVJAVDNURPGZIQUJM44GQM30Z8SB5RJR5X19W0FQEGOTJC2FYNPL939NC317AHLLQPJBFHT64BI2FU74E4EW7DHUED0DXIVREIYO8J9J6E69ZNNFEISL8ANLZ6HMOK1LE3VJ4Q8TPMJMPH23UETF3OFDMFB2GA87DBN15TE3H4WOQFK8A2FB4KJ9EFLIS10HPY2861CWJRSKJUIM6GVCC1E5WBI6D9BLFVTY3Q5DD1ZUQN49IWVZHFPL7VR9Y5QSPD3HD4371YBX0ZRZ1VNSKM8S0U3VSTK1GA5C8RBMJ5NDBT5S1S9L6FXBCNS8PYHABEI328Y4557FFA00NZYPVRS092MAFWW4WC4ZNPRDQ7PLLJS84NSA5NM8W9G4VMS3A0S6E96NU13WY1BD7D2VO5LNAE8ZPRBQ9TSRM03ECAUMZHHHGLUDG4I814UPG9ARX6MCD2HN2X4HPB3E0WXQ39ILX5EAZORVZLGP9DQ07MANNR3MWH6L129KU6IM9J89FQMM2SUELUENPG6T9F98NW9UXB46R3QQTEGVJKOCMCHBY0XMKLJ3QWXJRVKWP08RHXJJ1XNU85LPCS0OZW1SBIF6F3D6UB45WQN9Y74VXN805A7ZFY5MCFTQS8LGL930IU791ICZJQ9ZXETXUWUXF6NPQTLC5NNFH5KY5AGS83L2ZVJV22J1T3NM2I0LKZYTL647WN6RZPQT7ONFXMMG6G7VAKPZ06DF5D5LERR6ENVXED0FPV9XFIKU0UHNQ68YOBW44C4RQQKO18PQ33BP7P26P8BJG4PS6ZF0W78DQTXYQUISBHGPC7BJ4N1IQAZMOPLTONJ894Q7ZHCYGM3NM4FNFVB9XGPICIDAVBYIKXV42CO8VQFUJ1UK1YVPH0N7DA6GM9J9OGGAPL8KCJ9RK3G54WXO184ESNZ4PE62Z8ALPEWUQHRMYPPULGX9L60CEGE7NGXWMZM7LO3HI0BD38IOH2V0A6QUVL9XOGAUNHLS470KM36NTTG1POFCK5LC21XQA7JBNSQGQFQZJRAXR60I6NCK6L6OOHVMMKN5CJAEEGCHZVIJJH9PFAUTWXX8OJW4CMXSYQW0YBPJ0A9M0VBWNXKCHKT4WEFS6WU div 36#6TSAE1DZ2AAM1X7POLP9TGE4WGID7JXFX043RZO6CJWXUOL8BQUQ6UVE1X93FLXHDHHFPX60LDVTJTY1VJHUD12GBOH61YDWGZKJCR188ZINFI6QZSB43WEDFRXDI7O6R0GYEH4P5941QR5J6CD6AGA553ZSSZ7UYT8SVR46S0HUUOCSJLOVUPXA53N2UV8C31MY7O7GHRPI64RUKNIID7WWTUV5HMFY4E4YUQTWTIB4RUZEWTZT507XKCD5QIAGT0E4ZWTZANBU4V22P3CM8JYPYHPITFWG391EASC1I34416JC94QDMU0TUZ3GVS90OARN2U3ZG9B49XM31A1P8L6ZUVXAQPD87H1OPAWMQR3I41XT6YTN54DBJZP7GSIFT84EH2TXP86N8IZNOS3QFLRKGEB2GZ3CRAOEZQ8ZAUBWVCGBWVCOABXLFISY9SWBDFR9IN5D264026FER6WB8JLPJQKOV32LDYYN9PY4WRT5QES4QAXANOMZ6VR7K5F09DLGG1IXVGI4X1BCN9W916B0KVW9OPHU5XOWFPZON4KEWDV0DPF4IHNU42VEDXHZPB9RGJXN3V75AWPQIKY4LQDSYN2PVEZUUTDWNNEJ6PR53P80DSKZFBB18XI372DY4HHBMF86WUUI4YE5B6YM74JCQO1YCMA9WNBBGE0OTJXI9CTAX78SETZGTY4O4QR9NXR39IQ9700FX7FH1QTT58WS68H6ZNX2L3AU6SXOGB5LC0K7ZMEIMMXKBIDQ1JAYA694UFUXKPHCFL0TFNXBIG6JLYCBXAVGPSMYJHFDTANC8EY36. +-36#1QUMI4MKZ8UGWPE2FISH54DMGGNQAB0WMVXH5FM88E2QVQC5TUWN19SV0WODBSRV7G7GVRKSJYMIAYR0O6FU7OPXSL6268O3F0U8G5T7Y3MJ2TT0NAOC79G0U2SAUO6PI75A50KUEGGND3H204GEEBBUU15X2QT8U1TI94R77WON8PSAKFVDQG67K295U1ISRMC = 36#M8EQE64CB712PQ3ULS9LI6OIP6LW3KEH5QGLR2GZ4ZHLOL7ADU3Y7TC69GXAVHLL25CHT2COYJTA106WTNBB9NVLK12JWA3ASO9N2MTTYXGYMOE32NC68KDDFN58GCOGBXF04MEPPJKFVQ1D9VR4NTV273SLKLWVMCE7YANK18JBTSH2JOKUXXT169D37OEYPIP1U5L831EBZH12XUXRGOAGWA3VWJ6AOXRLYJGXRP123K4U7RO div -36#CQGOC3FDIUW0B8AXU0MLHWJON27B9K5F79Q805JZT40Z6FTZ5. +-36#2M67PHSQI5UDJ21TDNN0MDEXVIW6MDDAH5WELJDL21HQGXU91M = -36#1E9IZLLVN3NI77JDF6XQ21O85VZKXPEAEFJGXA9MMWYI1O3T8SSIWBRFI7BLQRIPTRAPIWQWSUN6Z1RVGJY51KY1PHHROI8E7CE div 36#J7QNDNKPHACS7DGCCWEO6IR5HJUBMPEHJW4UCKAGD8GRAPQYZ. +36#OKPM51W68BFXILJSA5ZYREQVGDIHHMRXAAUCB6DYV81ZP9RRH = 36#19EO94ZJRNWDLQ25VT7CZ4W0BLWJW2G5JR9L67NE6QE9NWO81ETLFNIGMUS2USWUNYTXK2QGKZU78R3LZDGVXQ8XBIJZKD9GJSDKINBEM2OSEUZCXL4FFLPJUCDOFGD3BUZPFTULR5S9UZCIQNPVPCWOMHEOYI2B1HGLABQAAD6D90C9KDFKHKNL8VRMOSRCK4F2SLK2PXAO1CGCLS6T0RIPJNS5IEENJ9CSANJQ7VWR1JO6G670V9I578RSAPW0643O333TK95K7S2AVDD62BHJ8A26N79ZM4TJX4XKX53QLCG98PVHSAWEGIZ8W75MA8H97JMZ80AYHZESVKL0DVVMJQFK div 36#1UILVQ6RNARSAZ50EI9TJGHSTITEXE9ZR0B3W4XTZ5JLGOCHV2DUTXLBDO0SH4T30FMPRQMFSGVK0VNGKRVJT14E5KPL07J5HHGHC8PLP4KVZE8RF55M70BJEN6AABK0L8TPLNAKEDSS1YIZR8Y17ECLWU7JU8ILCS2CTPH3TUF1C4D4VTTC1OB6AVPUKIBE64P2B22OTWI65ZIZCT2NH9RLW08I8JL6MJQ2V054XHAFKTHW9180MTU8TQCINOSOHE3RBLAQNAUG0TKEZ5ZPN401B524EK5F5TMLSNHVHSG. +-36#K5IGVT829LWW3OIMT3VM9LF2D4POJVD3GE7KP591S8HM4GTSB7SM6053O6NCW0CTFDJE62VM5H4YEPAZH5SA670R35OEKSU5R4MNWBXLM61KX26A9UPT4U4DLTX78V6CENGWHVW6RBR4FLP8A5BWKLG8DZA9WMR0O0 = 36#6D5K2XUCRBZSNY1A99JSAV6UUZBQBKDJ2OYJOMGMCG29NI15C4MVGRVEG4409VA0BK4EDZYG9VVB7YEIZAJYZ521K2RDGLOQASO1JPUTXFFUC6RX0ARNT2VAQ4SZBT2BUEU2X5FXCEQWB2KI4KSID3IC1YQMRAWM9UQ6AXOYZEIFBNRY940VE65GF2UTQFHIPL4DMP2JJX01HIAQBC0 div -36#BDCD8VZCCE1S6MR0QGSDLGWL0VTO8IIPU7C2CPX67NYHHSE7Z. +-36#9JCX1Z4JIROFIHROSC3ILZUYU0CIELIL00VF8YOPNKTQXLKCRU64KGWTYBNYWSG7MMMR3WBAZYUEHVDSG7CK3HONSBS7L5YQHDMQE1418PN4E9QAM82N7G70FRGCPJMZAYT4OCTMLO44BOB3XG0UU9KTSJ1DMZYHHRC61B8T12V42EPVS0N5DU0F5KG5S85EAJTOC6G1KE363ZMMUVVTO1WE8L2D69F27FJJOSOXSXBFP5KAV25BFG2MNBRBZNFP0YE54AHTCMICL0VMSDVOALE6UG7KRIV5F38LG66OVLXEELNEI0PA1CM6KC4LHAACVSQ5YU5MLA4ULG0YFY96IRDFEQ2TWVXYH0D55EPHY4HKT18NHX28X23X3INYKD2KWVA3IFMKDNTV2XP1GA9QR4BFM1XG6WJFCCN4QQCCXR758EIVHCMPWY54IBN58KHXM51NN02IZ9X7U1SVM8P3L7UJ5GFATUMNYRU17GAK0H1VZF5OAVBWSL45UQTH0X7ZZK4NOOPYL3H17TQ7S2CS60PTFZEYM4BQG48IFNO4SBOEGT6FDU3MR4YBEWOJTK6U89EW59Q9F0OW6HNRC43UTCW5ZM2A6MX8LACKVQ949H6TAOUYI29B0BN4ZOMMRSDNZTKFOW6KOX5TBFKY9PVS6QCE6CTJIEBK4L8OIGRI0G = 36#18Q9ZXDMRCJ7ACC0828TEFD0UWHYJQI601EJM4LM0KCHAQY4AG * (-36#7OCFT6DA1NB7PT1X7Z59RIUXX5RJPN90R8A1J004CP7WEYVTUCQKYD5UT2J0UD12J2MWPN4CKFPYJMX3871ZF2UFS1Q3U3M3R1G98QYAJ9ACE43A7FO9V1USQZZXVCHU6A817YCHBSY0PE2BGIUIW6EL8HDRNVY23P6TK9GPR77IU6F8GJTLLXSH86S04EOI5ZHGEDHFFH46CAK2TKAP6LXX8PO7UICI6ZSO0N3MUMD8I0X795CI9TIRECOQDG4S78FFXPP54H1WVWMAG3730HGGEV1EX63W9GJOKHPOYRMT9ZY90YQGIUYGYGYIWIY42DH69B3L3EY5GQDYPR1T9SXULFMJ5DL5F25A6S7HMU3A8XT8LV6CSR2RL1N555C8ZIYXZKWO2TKMV7HXDXCNED7W5NC3FFAPW9WVT0D1MUTYY6YVAGWZSJPEN7RAE5SQN4B4610VNPHPPZ7VN15N6K5AH3QSCORY9MF95O5P4Q00KGOSRP469CR20Z0UUZDQWRIB1SXCDW52650Y35QUDEWQ9T2U0KZC6L8LP4SRONJ2SM3HN4ZCADY6Y7P4NNE49TV8Y74HJI54E6KKHJG0YL05RERI7B7XUZG6JTRAA0ZQ0PJF5J2CZYSYA). +-36#SV86KWB0Z0ZWREGQ68NRSHF08FN0HZCRWBAF62EXVED8JHWQFIEGBECEO61IA7X3ELXON2U2Y2NVSE9ISZDBH8YJO4YESP1Y0HNTUYF7M0RNXKJAN3LR0WP6OIUH5HU8N0VB1KXPREWFBEHWAJYOEHFDPB8UA9M3CJ3WGU4URCHAVITNLM7RZ4MO03XQW5VILSOLFO3WI7P8O6I4RL1HA90ZP1Y5RJH3H2Y4HE64ZKR44C72AAHI41YV5LK30S418WU3S0EIXQ9VG1FD8XLTTMFNH55Q4S472FABB28540DZRBHP8VB5DO5DGCDR02ALCDIOQD5L6MP37ACTKNB158XIVIK6LWDRQWFC81FQL2NRNNKJR35ACQKHUMQWAIQ6588K989TFUGVGMCKBQZR1QOBHW2TZ3NM3OPGA5BORX5ZCO1CZXJPE95SVGZ266Q6JU40JFKKTK6I2SBOWPYJNQNUJNS6BPFR0W5LNTI8BA2MWD8SSI3QFF77DET1D21T0MAK2YQQ4VAPNZDU3N503VKCYZYDQKKPRMJT92GKIFTXUGDYYII635YTFHAWMVBYFWG5N0A82BD7Q8E0W5K4DWUJ9MEYBEV6YPVQT6XB4OMS93PHTENSAT8X9RLNXOAR7LVI9D87SG5KGQ6K51DLXO4TEXMYS4L3QFO2XWCAP96EW690BEQE15K11W2P7NTM7FA9CITPI2ZX6JZ6Y9OH4ULN4O29PE85CARMUQ163G1G9SYKW8VJHFI8E8YRDJFZLB98NLP8JGCVK6JZH9CVYLPFUOFMYMNTL4OEW789FUUNP3X3FAX9RMH1YXQV3ZBG2M8ZTR8VV3YON02A6AUV8M6ETP9N51U9OO4MH6E5OYPP9PKKALXELT0OBN4 = -36#1KFTO5SKT90U4ACVE52WE8N04RSQLPCWNVVJ4XKHJ84DTSFKYWARFIR81V4LY99VDT4ZLPIEPHL2M3CCV5KPMQ70I84IHDH9JS2JTOO9068DUN4ECOC5W24EX4Q50CLTYTUUEO9MI1G7LJX92RC12NYAIUKLZY2DOTNV7QC1L567HZ59PFQ7DOLSN0WI9R1WQU57X0BSX527O1SZ2B5MDSRV4U7F4SV9WKL6D76EN7V76OT7WGLCEM81E1W9BVBH821XX6XK2BKUA2WL2AQ208LG3LBT2ZK7WF47C9STG2YKXGPCJZML6RJRJKTX1YE1S9Z2K4AOAFNCY5BT4QP7ACSQXT0YSXGBVXJ4C8ECUWLQL1SQCBRPR82VY1XPYE1N9I3QSWO6CKUX8VSQ6K87TUHEHD8G3F5CJXH5IFIMY3NYV7NI1JDDSM0XSF5ZJ3XYIVETBZ6OGLGD69XH6L3N92D9TKDZ7GMHQAJ2YM83XCUUS1FTGZH66OAKVK7HTUTJJ9RV2U01OBSD8WJQ889SNK4U351EB0UO6L7VB2EKGSC63VWKBMOJGPU1U16JJ9NR5PSOSIFEMIQ6W3I2GS6TY0ZLFADYY8WZTFX241RPP0VLMUK5G59N9JV6CXLNXEI4T4LCGMPU37AJUB49E4DTREWLXW2RPBW180WXWC1MT27C3KBDGKW47N14GN6R8JZ88VX1SIPDVWZDPRAA6TKHVI17MGRSHO52NS9I8KNRER3RIM1TMRWEXJWKYI17CSE6NPALMG3LHMQ22RM7Q3DRKLZA416N4QE8APNB2EZSM7PWR16603XVKJ3RF804R3V5G2OGO5NA0KHXPFIB1F8P2ASUXIGNNHZZAUP7OKHGW2G0EEJRM3EJHOGJF1QTAB81LUJ3NLJVNXGSKPDO9BSNPVGLZ0RPTVUYO1CA8RNQOKOW div 36#1YDUJ6U6RTE94HO51VBQR4CTF73F73LXH5H1Z1J7JMRETGBN8. +-36#3F865PL9JSLTX37CYU5FKUMH6404XTBB2W9W53S38IHDCD2ZKOPXYBR5NS930YYUJBGFXAX8X32VOJGHHLN0QAV8XDAOZXX5SPQBDUOD64RH605KDTBA1GCUCA4PXPMIKMOCHY8GEHQC34ZEF57I8VVZWSNZV3K8B465ZIDUE37LRKOIOBQOESSLE78EEWRBBAHZNNI5W8OIJNTF2JWQDD9EP3B3RMQTU43D52ONILEIEF9P5ESO8MQK1PE1C64UKEULGEV4W9867VZ341WQ32PRVBMCT4ZV6E58JNQ31M6JC5MPI2UIGF0CX8N87HOO32V53E3BEF2F81HXJJEW1X1BF74L04L6PGCQ06A9B82OG202U4G27055VCDWKNFAUI6MJ0ZWMU4VMEWRX1YNSAUSUQULF1ZICPRKY29RFP2DEDPZJJRBLHRX1KD96B2X7W6OY9WS39SWLL3GEODNY9U59GLTU7AO69BNSDI1Y8P7XVG2C9P82VZUCKKZ97JHB4NTAT0IQ02ZQ1UUASGWO8DGJMA7QYQOFV3ONPGQFNORRE8VF0MBUPS922OBHNTZFR0X8BLF5ELZQCSZP15MEZ60AZUXXDESBKKWMZNO0KP8JE77WNQXL3NJTUOU87MG5C0ZPMO0NADSQY7KS8UTEPDQCJ6HJLLOA4D4LXW2GISLA2U5VLKYGEEC3GQVGSS18F870C2D01D3NBBI2ZWDIY0GHH9BI9NV4V66CK9XX57IMLVT98FR5810I5LFXDF6YGOPLI2OJS8LY6T9I5MSDJR4SU09VAOX4WGRVUL2BTOUT4BJY7RVMX00UW86XR5B263P5XFRXBUFGD7FGSV48TPMQXLC1WA0C5C24AJ8ZNNHLTC2TF5QWGPWTHYYS3GAI8CUW1FRYAQZ1ROS8NO5Q64L21KVUBKK7BOYO2PUSNP50G8N12GKJO9G81F5 = -36#ASI8H4CTH1UMNKX1D91WR29UPL58YMX01KQN2X7V9NW5UDH01OTTTI43VPL9XVI27AC9O2GZLKMZW0OO2F8M5MEJR4NXAXKMUQI3P4PNCPCP38ZSRUB2KO63Z4LXG8TOH6U54MPOCWI2X17Q996868JNU5OD013STSK8FWFTYURR1D96ORRNN9L9KC9JK16VVDT08PPTTFEATGDG4WH9EE2PUWI61TAHA7MJC6GSS84J2244ZERV32V3O4TY1NDQVNFWF6YJIA910I6951Z41OVK8F1AFEIMWNIIS2LM7A1X6RODXOBGS3TX6UUM7JUK5WBOKYFHPXJL97H5Z19RJQZST02ZVWCJTIV2PT3MSN51NCSYZP24L7G18CN7VOD15N7EKWN31VPX5047XSG75ZM5CTH5QRXIDXGCA0RQYS7EJWKATZVBE8610X7G50WIQ9HKWTGNDT4HMVWPKXTGNQOKCOBY3QATC3PIJU138BLSLMRV2IJRQ5ZWHZ7J0RTRLC3BUBD28LBCQ8NWWKKHQ8XOHF6QNOMV8YLL0HB28IRO7P6WD9BTE4N36V5AGHGEO63TWUVURQ0WX4J77SKIR7SH7DDIKG5FA7VZC9RV1NV43R79RGGCJ6115IN7UB1HB1087V07OFK4J5CEKNB5XEJHLC98GJ2PEC03WTZEMJW73QMIGMEE1RD8H9CDFLWJS66A1AXWU7LPOJQFCATY1DF4V8R4NQAJSTPTI9I9LCBWGOXVKZ2J5JAV14KHUMXUNMY2Z8FXC9YR52Y30IM63MTZIX0TEYCA016WMXJU6E4J5XCXUKRJLM0Z2N332N4T9TTJY5ZOQQLLL4NU5VQ9JVH3CNAK6U9RFWHLNV7IHAZGAORRZ4LMKADPX5BY1U6MKRA1Y6M73C0HBAFUUK0M7L1XLDZ3RPBN1GUAHMF2QL94YSTHHI5NGR5HJSX7CM3S43FO4L03LBD5YLOHWN1V43UMYA8LPEG1BYDSLT8ENI8VT div 36#35HZQ3MVJ9VSLPL3ANRKHF7F1SDRRJ1LSBLG5JIF53JX8N7P3D. +-36#CDBK5QBNJF3W60C59IDX1GUOYMTFETCOGX4BHGEXHWMIF33J4NSAH1Q892ADOHPKMT20KG3TLM19QOJQROE2N7OBV0Q1IPGS0H1YBQ0NELIK8667Y03FWJAC3Z30C18Z5VPRNS8FT6PDECOME0Q95D04WFGR3G2KIY113U2TLZUTABTBYHI9Z8QXUQUN15B6REBAPYCFC08GJFUC66XIX2MJIGIFIUBGX8F5K0L8DJL80BYEZN3APS7TCH8OT0CH2SA82TUUOL1654XUGJ3R1FHNEZJZUQGN506QSNYENNRHP4PABTTSGYGJYB3LUVRTEE7LFISF06HA0IHKLJY8C9NPQX6CO5DIK1EXYL25WJRIMI5KMX6Y685R4ZYV4F4OTSWCCR9HLDEIVEYXN8DRNXDWL44YRMZTAD2VRZH3N7XBDK33VMPNDFQ3IRGRG99DFJJXO4XAE3S6N1FMPWXQ5W0P0PMQJOG8FSR6FRPSQHER47B1ERFSS95ZJ8Y = 36#24TMFPIZK6PTMYDZPCI943II474JEW6OHSNBL0GED5FA379QCTCYDD6Y1JRRA6EKKD7XUXWMNUKYSCECD1FTJUD9MY0BUD8M0X90HJKYH9VZ68I2B6438D8JLXYCFB2FP0INL3FN0WS8WXA157GYT7ESRRC5GCAZPBD20NSNFSNK23WSIOQZL4SZFABT80SBY9VM5BZOLAI22JEF4SDZ6NHAOZP7GCL7J5V3VD0PRQXT9K93D7YDM9EEKOEN064HZ65TSC8E0B6LB155BID7XJMYKEDDQ0F3DSGVZS0KCIHQ3Q16QXPA8OE46ZZ4RYCAKMGEL3PZN6TUJVFY79NT918636LX7RTLAK89Q74U41CVFGJ3NJRMQEXZVVG1G0T8002NTGXH3IW9AW82UGJEXYVTR1IVM9V * (-36#5SOK1NXKRJAG1Z0TF864ZG7RQB32AE4SOALNC7WQFR3H36MD3ZB5L5Z1021A3RZ9TH4DED7U9JCTWDT9IORC1IJJ7D4KM). +-36#2QKJ5VI2VRY7YERRXKY6ELUVSZWA2EN2FKSDE1I3YC0N2ZPGFZFGDS8WJ6R1486PXLZUN0RWOUB96DOM6RJUPKUF58MJBYR7RD0NRLFUKBJMW9IHZR9TEZ5NIEB1QL4LPPZXGNLHGDHW1C88W6ZNOT22K00TLQDNVA4C0EQK4BC4VS4MWDJ2IETI088X8RFO5D0XHQVQPM7U8YTWJ36OAN1S98MGFGHC3C8SIR62R39E313YE6BYTV0CF44L1JNQZSIABVEUVCWSWG64GN5A9GAFPNO22SOX6QQZT54MGUORFLHEFFWUB6JSROVROIW1TAAZHZQTFRIWPC3CUPYQPQNT1GVD6968JSFJ2AO4HVZIO6AUT8LRC3JQFJDXO07PHY5G6HSEJJQPLIGJBMK71TOXPJDYBDAAWPL9I8FFSPLVU3XL3RYO7XU04NMT1TL13M96S2ZEHZQH13QUGSVVIGBEAZ95L9ZIUR2YGNH78H9RUFCR8B4YZ9SR1A0YEBCBZY6DPNABQ6D5ZS0PFPYKQO3WKB3XGCP2WL71FXVNCPH52LDAW2YLDQ0EFGRNKC2FP2RNI05YKG8CYZOFRZ6SBEREPX18ABGDNYCXMOD4KK81NPIP7ZCNC0U1JLIJSAEWD4YIDQ7XWRBG4MYLITW0M6WEADC0LJ72V4VS170OII1SCH098LH1P1AQIPWBPPY0QRPGJA2GKZN76FRUHIPYUJPOQ6NW8KKGAPH28T3S04XWSR8FML4VUZM3RCKX1B3ZLG0DLBK9Q7RSV9NHO457K44EYVH81H0CH8B4XC7C7GLDAOLGAVYUE0KL77MRTJQP0XQI7P0OEKZK4TQNZQYS5NIWYV30Y9DW4XZR0VPA90MT35DHT2893D2DWCHBXZKTM4CPMGXDA9MA5R9XBLJ48V5J9JPCUVWIXF5990ZVNK528K8SBRFOX = 36#IJREWBNEQRNT6U1ZCA2BO81RPRIY9T67DILCLU5LVDGMBYE64GU47A9KYWHMDF53QZTWL0YWRET65BXVRL5Q2ALJOX0C15YX05GGHMXQVPHVA2VVMFJTO9OY95UKXGFYTLF41RDZJTMAO8H4WF8515D4L0VB6L1KTTQWLEZZ7QXTMROOOSB3E6CG4Y2UK3EW1I4GWSZHU5HGGXT7RF34IA43FH1FL3P6M0T6132X3936TM88VO1WHT8GYX9XCUVFI4UQO5TGEF2QZLW5CQRRQSTVFVOQDK430Q7C4M8B1BCPWPYOZ50AYPTTLSMSFX0J5ZG6WLGYHOJV1GU4Z9LSYXTARQUN52FH9O4JOIG9IZ3P3QRRAEFUNIDUNENZEO54GRN9YCH95MV3R1SWYAK9X6OVL7NZ6B1J231SKURZR3D1ONEK7RV4D50B6N5KEL29KPH5F5YM5O3V9F491B2IAH1GJ381T2FU24BJ4EPN31MAAL5FQN24JTJQU9R6JXL2GEACEJVR26GSNZBMCJ18UHHVPP9SWSY6W5MO3A5TL5SRRSXU6RVASW4JXYD6TVJBI2G1K1QKD9VXGKBXB0NGEHKWPVJ98TD4LNQICQRROJ5W81J9DWEUTI0RXKR0ZBRQ2KKZL54DDMNU64PEGLKZLWGVLBZCK5DPGPACUUDKRWP72J4A2ZTS4ANFG26P2E0BR5NLUVUZ177EAWJR4X9IJEBG7GZU44AD18KAZKXS655EK3F7QSEFJ6L8BWKNZQ18RX6F8QQ1TCRVDS9YFM93C3SD4RX6L1C5B4BWRTZIZHEJHH9T2C8IESPR3QQBD7LKMYYWJ927A5E3CZ8ZMIGY6UY7H5GP2WJB2F0JFYOMU4UCQKZ7X38MAYYF9NU3YE7PIQOAE8SE0D55VF3LB0UX4VIA6FW2D1H5R6WSSRZZLPLM212XBF5ALWYPEWRZNJC79OBMUW3BUX6TSNM3KH48QE8ZSO7U57UHMK06J5D1Y9GRTEABADMVRO947D0W5M9OSL1J7JMTCL1H94KMUQXRRZPSLXAJYK2VYPNWH7JAQ2U9PD6D3JZ7K6854JP9C3D6FJ2X60O9TT9P3S1U6XPI2GBBO7CMF9J0WUYHMJDS1800V2QHYR0EI7J3BBEZSRFZQ82QHJH69JZ920M18NU9588OV788SW4026270RF091KTKF97SMMM5X0Z9CBM4VT3PW2JHE0VOVQ2PZ9TKNJWF6XDW7RAZ5JQT6GGK6TK3W56075V4HDNE1FOXA864IL4RRSH2IAPUBUROYLEWMIUEIHH6ZBJGC9V2UBCL5NZHH5YH1SRRL6C7C2DE17ZGPVWDFHOKKEZ6H3QN7T4BQP09GRZZA1BJ96GTFM0DL6OVHMOSZK3B3OH7VXF3G3I3IG3K0FSELUZQUXVRK2G59CLTH716F div -36#6RVPILBJIRELRJQ77RPFP91W46MOYHJFYZTVI8TDSHTR8T91MN9NJWBIS0FQCNPT0EEEHQFTW98PFDHB0BS6UU2FH8PO0ELSRUT1K3Z93QOZ20DNT2OK5L55I5N6ZTVX4IMZ2XJIIKURLKASG1PD2PHJFZ0YJA0DHCI6Y6BCHOQ3A7Z4WKOBJNFNN3XADU89415WGI2O3P9R4VU44KDB7OJI0A3EJ7X9XEXNCD0PR1UD8DO68VE1OQ6TMLBU90V88L2M1IZZRGHV4K5O6KWAGYYT7G2BC3OCMVE1WII1KBD2AXAZT0PXX7RP01GD80B0PQXU94NCIFINNIE497A9XJR34S0MZDY715FH26KZ8EPJB278282JLFDOI9OX6ZAUH2B2UQR4Y3YKIT9IZU8STDGKA1QPHYRPEKZU32RH4PP2US61SDMMMQUVWR7RVPX4QT73Z13AK028QMK72431R8VFKAN12NZ5DMPQW7. +-36#1KKYD2A6GOXBX9Z33SOH2EJVL0OH89UW2SDDLJN633K34OPRMPDHA7P9RU1C27AMVVV81T484YXMGTLG3NYNVFOK9N491EJ5ZD1VV7IK10X2U9GPV8TV9Y9ZZOV3A7WBR55BUJA0HY4LQCVMW1C7X18CCRMMGSDQHTHAD354VBHG7FMAHH0DHVSDHO9QBJIBU18F8UVBWTHLH4ZA2B7SRKM590IJYT493QM9VXTYNP34RFZB243T408VB2D2LBVN90A3BUFC909KSMD2VE3Z53A4CZ8A5S4L6V6496ZJ4RCCIHZ75DX = -36#1XRQFT2GI2QIN855BQ5KV8S5KB1IH4XLI4OQSA1K08XQ8KF0XYSHPAIPICV06J5QE7QZLR8YKBL0HVTBELITBQQJ6LA2WS1AMEC6FFSHMNPKIBQPJ9LP35ZD0UQK6XLZZDZ3SZ04OBP940GWSEKQ8O7OXQL7H29IAM74FJ7SINXY6NVPGP1349JCH0XHKQC3ONSWEW7KODBK9Z2DDYJXGD50WP448TBAOWF1DDRTM2SU8DHWSZUBS627M62HXB7QD74KB7ZTV08O8MW30FHVY1165K0GPTTGS9AL6PKPOJ565D4WWEPROURNJXAVV0UN89CPWSRGPXH2MMXYI2VBGUAXBIK06IGFCFBU div 36#18E2QAA13AVSTOAWHDX0FYOQH6MZ34L2Y4ZMEYKR4G50LT0SPE. +36#HADFS96M7YVG9MFWZW60GO5AJ5G6INMITE9ML3G522324L20HHEFBGZH93FXH2UINWCOZXR9RJY0N8LCM5JMTCPMI0GZS2JRRLE1VNJOAL0VH0BXRWQ285WIKH5LXOG8W6CL2DB4QYA693I6JC07BSPWIVP6I2BU25O8IGVHWCJN1T4311PBB48K0 = 36#RFQS8KVV9SRNBL2ZA9HXNKYD6CFBABDGN4AYP2EVT41A0LEWIY4I6264DJNS8EOC2YWYZ42JBTYR7Z5X4U9SDE6FK2F6DQ8383ONZCV3NR523N9JWJDZFV6JSQH67266IWLY6L26 * 36#MOLQVQO4D7NK994K5H6HLUDI8B8NB07F3OCNZ2PJUOZ5UD5NC. +-36#KEI7WH7U7PI2Y41UKOXYQIMO8Q72FUZQ18ST62AUHTXDIO2EV1YA36GN8E5CB1548IDD52UYB2BOYNRTNLM5XL6E4BVWASSEWQQZ1NOUQV20K1P9B3F96IAI2L58JIPYM6AW9S5F8IZEPF3Z9B3V658KGGF7Z9JUFV8VCQB26L8K27PO00LAVF5EYVQ893RQ = 36#1PL9MIKZ1JNRFGKWDATJ9TNAX3NYZONFZTRESYABTZGMHT0RCCCUJ3TUZQ2PD6R5RW4WCWDZ58MIV23LH1K6HASTBL4U419LU64OY4ABNWXWBQNYZ3EW5BEQCIYOKUX0CM193YQDEN7MKBLP * (-36#BXBKA67W324SSGVFDQSONTQLQ0HQ0422WA2YCIPGVD4BLFPCE). +36#3ISOU3CZ67VEVJCD2ZM37JZL7GUUL1J9SEYUDEQ56SJJWPOBEKEY9DYBOG4YH46T1KYTUXM271UHL39T3YW5RN2RY15FCU87PAATHO58DYJKMZF6ED1N1DL6UVMXYSP57WHHLX45WCY6BSGJHV0FTGCRRIV18RQVBT30CZT780C7COOGCEAFR8P46N02796O6M71BPXYIZMYUCRSANABJ3BATENZR8EH1PM1E7PSMVN45UM0VDM86H6GKEEAI1Q1M8ORJV40F8HQNOYO3V1XCXPED0BRTBVU8B4CNP2SEM963I95OOWTFATRNW7NA6O8EBZ2832XOC5JOO3WRO119E1NDHIHTDC1VS7E8MM8UYT9JJ9JN6X7JGM3NE5GK3VXSIBRBXP948YFFG88AVER8GY4HOSKC6FI4DA3EPH1X65TL7QHZB46FDA3QWR10E08ZFCNA2Q80IJUPZH2S067DDWQ0D0AMR1HVCXITD5RVXR6JBFWTIR69POIU3A01610P3NC52BTYW0HJ7BS2NMB86GNW32MB5X7VFHWS6IBCDWN4QUGTA5R7L46QW6HRR33XA74K0RL7YB1UKMC1V0F7SONKGL5S87DQ0XQ8M9ZO7GAMTJ0 = -36#54PISQRLZ0WNC72IQ9GK5PJKF4TV0U76WNA3BPUTM65CFC14VUVHXTMJB013PNE6TQKD6KR69FBNDLAR5B57AKGXZ7RU3410SFA9ZG0W6BSCFQV94QV29ELA1F5U5LD2XTOH11V7QHEUA9JU4F6C4YK8ZTFAXXNC66F9GP9F7KNAQY9QVMABPXWCSGKS2L6W3NJ3IP76J74TT1WQ4XN2PLLOQ15M5FUGHS00TLYOWNM117SVLGVEZ944BFKSWJSTNK8XOCD1MEKJ7DD21J6JO8TIALSISXE9MR1SSA7Y0USVG260PNQM68M8L0SFMUR2EZVJPPQH6QMBLRA81AZF5BXRGC46C0ZQ3FS6WGA31PY44Z6D7NQEZQR1ZQS3IYSU0VZ82JVV3JNJDCQDGRIJ2JV5O40MH7UZ2Z0V79WNSTUWMCSGK8ZVSBAX25UZUJY3BNO6C4LWW99CPK62U9OR5GKWCWG5HDI7KOCEYALMNXQDVZFMKYOVLT4V83T3GPU68AD4XG7FLRBQKNUEPYNCRJ99EME20ZODKCAIYCE2IOQHTY9ZKPXE9DOSSY98AFH36NMQWOYAU7NGDDZP57T57F46TXMM1HD6T2WPD96TMF174CT57VS986THOWHPKB4UKNA3EYBD9A9IH89UEJ6LD8VR9IUCX4VG0 div -36#1GFX7K5ZSBTXOFHMK5HGGVD3M2RJYKVA5WH9IL0N3V2ICEGM9G. +36#12S33MI8KG2YL1DECN0BF0EFOLB9ZV6IL8EQEBL1DSL5PT84TPIH1SVNJ1OPA2X01CZLBRI1IGFQ63RHDVVDJ7LUOZ7X40BN3K7P71I800K6JUTH8HB80XMH2UH7P6P4SKMB9AJVVYGHMGNLJ1UHS0T7A6PSUFDI3FA4LLGRZRA8E3QZ2FPJR766EIKQPYAQK2ISDHPRVOC8EEF51Y1MDZP97G52VDQMKHY3YCU3X1N6SARRFEYU0AC2Q8HHR7O1ZRPDXQ3PMIBGRBUCLEURQ70WA7SM1NKNOCJONJMBWR9UMCXRS70UJTVMBJ0FHV7SBGUG44XIJPXHARB8CHNQVSXTBYYJOYJ4KU2IWCOVTCRFROVIH54UG9HPM1C3368EAM740XOT73G5R0KS85P4UE1QR0TGCXBCJ3PF76KMZ3YIRK1BIY13IIM04LUZ8T7IXI1SPIEZEEZSQ1NXEJ4JGEZBCT2HPPI4T8QW9ONP5ZGQE4CPLSN5UET8IKR98Y5XYEJVCAGDEYA8H0VA7389BVZ3NEYY8WDS88PRBZN2Z1X0X8VAQELIW8ILZ58MVBMAAVNXCX90M5C93CCXPR016YCTZKR1UDB7XFGE9F4LHPSHABTA9Q5JZZVWIG7P3XBI4KG2SMMF46S4KUAI1ONL4YHRSJK5IQ7IBM6LJPT07LY2TK5UEHJQ9R52HT67VBZOTY8B2ZKVQK7WDS0SRUG8P5AJ71L9IMN2SXTPIYO = 36#6P745OH48Q9A3I8QQNNT3VKIPWUOVIH4FS7OOR1KMG31X1LNNIRF29OZR87F227LFWMLDS8EW5ZULALMFQFVQ6KD41DL88YQCV693LM2FO5IXCEZRJX5ZAQYNCETWFE0MFOWH1IMSLWLW4A1X6Q4OBB8CZ4BXOCTNOL69K6U3XT0V66SQ8A76BAIEKQVU8O3X19SH8LW1UUV33YAOWMCO17N3WUHZI7KUT19KSW71RFRU5C6N9IZF454IPTYYANJWUXW6KCII3P90QE9IX752M0Z2LX66HO3FN91T5PKDCYBN02YMI03VEODBRPRUK29FUMQT8DEWPTICDD5ZLA7FPVAHKNY418E0DBXE7A593W4JN7EWYHJXF42731318Q51H86LELEG54345VBXKPYI2A1290L609WYDTXJFZB9CIKUTDZIR48J5WNLJA1ZP9DTOWH680J8QTOWJZQUTKH926YBG2A3A5DPQMWEWLYGJLB85LF4CIAJAR7VJAP9INWFA3RF4ZHPT2D112ELESZJ53J0HX8EPXLF0I1WV4LWG98VA7DXIEO2P8QO0KT90400GV5AWPIY8405RGLRZ4HQG87BZUNLYVBPSBHC1DUYR2G1717SFZCXMO8EI36VO6W47FKZDN6JTVA32JZAC84FVFW6Q9WAECBK7G1CCZNCVDJXS69ELJYZT3JQTXH2RBZGRDQ17WERAM2X827ULVOBRGSUSPDFDZ0J7GLEZ4LFK56J4R59Z4X7BAPODSPVKBTMA4BMGXJDAHW9LM9LOWSOJQSC6I9YJJGJ3WCV8PD34VYH8ZTYKAT3BW2DV3LWZEY3AXWYHZBWHV9T502YH6OZQ18AJBNX1W263F7S8QN8ZDQK4LJM4G6RI1OCZ9HFIKAUWMDAALUAV9IZQTQJS3CEWPMQBKKGV8ZSXXLH3PEGKKYJVBXK8362EQM6J9Q6JZBF4CDPFPYVUGDK63FEAGYBPTKKBYD10ZKTF91T95913C2XY9UUMT9QTDXDESL4ZS1P7UGZU6BNV5783ZRIUAKZN94XEA3Z2GCCY2V8XZ17VHIHYD4F1ASW3XVEHAAAEYAJM7CC8ERXSWJBJJ78ITA7HW2APMOZB73GW807E2ITZDP2QX3DEZRK0YSND5QC77K8QA3CA8GB9CJGDP96O2NWR7XLSD9JXA1WUB88BXF30UG2Q7USCV2CHFAX79JVVDQMRNA8JUTQPKJWONSDJ7HNV7LKA15F33PFIB3UVPC div 36#67WM9KCKMB7BFZJA1G6SO12ULYL55VELJ2BIBU26JWIWZWAJJZKE57GMOOAXY6BMW4552D9D6CYB7NUIQHHJIGEL8VK3QPZ58DVAJYTQ20V6SB780E6LBNX24HV8VJK64G8RJVB001928G4JAC07TQCLU5BGUJRCSCD0D5FN1SEW1QQLVFD92F7XCN2XJGELT9U81C7PP3A8YLHH5FRXFN9OLUJEE1QRR5HVQCPDKN2GZBFHMXWKKCE4X3FY9FQNNRC2H03B7U0CMC5V1CE8EFI7855R58AD91TD77HECRO1ESTUKG7TR2BRLKN1PVT0D5IKZMNP1BPLKFHJI6FDU2XWVD68KI8ZEPKTADU4NODCU7KDGATNBDC46P0ZZZHESS65O77D8KO3MYO5KSYTSD4OC811L9QIG0UNRGZQRNK6M350N0TZ9S84JQOCWA8VALHM5YZOS51IJLOM5DSDJVL3K3MGK19M5I7U3QN4WBB9S3TMZT73JPKO8QKZTW3F98. +-36#NJS0NL6PZ1DL5ANJKT9BW30AHQBKWZZYYVNK1PQIHBP2SYFM3 = -36#2M4HMWW4UTQ73Z5G5TUCDEW2V5J460S2MU35VM7SMS0NFD2SKKCR9YQ0ZBFD2CLDBW7M5KWMGB65BH8C4Q0RK6262UXN47E7MFA5UGIJ209XGX1B1WRSB1P9M8HWARM4NFMH2KE1M8PFXA1V1RUIPM7BEMX331Q8K0D2Z06P335W8JLCBJ2XNU div 36#3ZVZMV1C2XIXVVWXGCNKA69TVSG6PEKF2H9SFBGFKU5KUQHOY4IBIP6CT6U0QG77V2R8REA2V39GIA6XB5B8TAN8T5ZMJU28CXZSVHR5YXNRH277Z60SUETOB2VX4Y68MVE2M. +36#1PP4C1PC5YMTYHQWKXTLT67M6FSWUD169Q9NLUGEVES8VDNZQRERP276N5ZD3VQ26W4RI3HQAFWUSY8CQFSJ4TOQ7R55F3FQ6B8ZUMVBFFAKTYTGQLEHMUZL0AYLR7G5HJA6V40UNTM1NYAZ4K87D70GUKQUR92M6P4475B9FIQYWDK5C4SEIXU0SFZZQ1NKMWSD9RXM5H7X4FRVNGCEC2A3U5OOS3V4AFG0 = -36#3JTNB0ZS0MSMO3QR2UG8SVVVWIAZ4FWGYEBQBENEVUCA80VOUYUNBL8CESKCN2QLQSJO9BNJOL09EF1TAMLIOKD44VY01UR18HDVEQV49PBPPUC3DJ6EXMB7J0FIOO46Z6R7EGFH30ZGRTMPM0OW4LTIF6PA407AKWLXOCH8AG2L9KE5Y3S9I84WSS13C4REB4MUBER54XCW3DSMXDAJ8WJD8EQLAYW9WG9MZCCYNT4H1YQOAINXIC2J46DN8ZVCL3HY9GY9AQR5VCE2G1DC0 div -36#22L0FLL59N55S00FS3RRIC3Z0QNEEPV8M77BMFR4LGPTCOFHEC. +36#2TLUBM5D27RE7JFCEWVZCQH21GGQQJGE22FXAI7TYDFDPC41PI = -36#2A7UQ8SQ4T5NM5SN4IRWMHC8IO44B5RW2V635P8CKNI0O1JIBSG75H2BU4NOVOEER2VWWI6JWD96HT3S377HF7EVUC87I4QNINQNVZNLV7B0U0RBV4COWEWLJAIMA3G2INLUSQAMB116N686OT2Z6VGRTM9E6QQXNN1EFH8KX1JA1KHO8FLUIXC59VAZRLRMZML011X9ERBKOK17KDESRB87DMHICRBOTHNX3NE5CA72FR324S7OBSHVLNZGJTH8R6WQDU0ZZ8O69UC7GNF2MO6WMVNFGL52NQHFJFEJPGT7FS126ZHYJO1E0PGY4RVUY5Q3B4R2R0FHYNGXFFBBWYZ08ZVKNY2B4SXBJE5FEO6MH9QHW60XBVW0UW9693IT4V49ODTCOSBXP4M3ER1QBHVBN1VMVVNI4AYAT4CDJ97K9PB5IL0FUN09KJ8P27UUIWYK6F3OTM6CBCQEYZ4Q4EQDUKW0MI8MA2QACYRK64E25VKS19NA6RRM92N4LAHJL6G1AE17TCMOP12QP3JNQGKUU3SLB6M2LWKMH060D0WBRVP3TNAE2WHDF2V5U0KS7I8R0U3P755OX703WR013SZSEBAUZI6Y6PIR81OS106LW06NDIYY9CN04L6ZIWVEAYQJ5I1U7BXBGU3IDDUX9DAXJ7NEGN8A6UH4CLD4MH4E0OGKIDYEXI5H54WC5KNR9J8X6J7E9H74EF2VUX8XD71RIRV01P0AOWP9Z5814JV60Y7JCJCBKVXZ526KNXKT3MO698WDO4TDRXIQMGMNE9BIH5XCSG5H1UJJPCCNK8J68MVSMHDLS73ZDRSU2F7V9XW29P7OSUXMGD4FE0BMKMHOM4OX059FJIHPHMBDRRP7DF78GEHT3QK3N2BGS1NH1DHBXH558FECZYX9DFUQKIRPJRX9MZ5RHX7IKQ0BYPZK23GGZ6PABYHP8PLRBMF7THDU4XEPG52ELWYETY7E5KZUYERHQVHM3T3D7XVZ3010L0EKE30VYAESTD3GX7GBJK4HGO23UXF474W4GWP6R5B8210RDKN9UC20QGFLO0 div -36#T4P40RTE6UXYLQB01P4DA86LWD0CQFLG9GURUQMKURD3PE4JBTT4VXWKZM5Y0F53CGZZUOLH9G45TOS4M7U4WHEZT85KOS75X1O947I4XCFWHLUILIAURR3YSTD2GKGEU799ITVVP86605PTZEVT06LXV87SGEADC4FK05V3KX8VMY2JXGTL6JIUNE8SN7W0WWYM82YYTMD950K2L58WSIHJM8LS080W72675YWZPKMD8S31QXPK5IJIN95HV5B3XQUCKIZA6DPAL6ZSV7VL17MB1H7BAKQMIAMZ2FYUB2EBTX6L7XUDN5SMW794BKT0ELVVD157E83807D6DYG38GJ2HEWYAHRKGP0XARFVU1991UXXU4LPSRL49Q8UQ3TM3KT98IFH31YL5QYQ4N3RJ0LCZ4K1ZCK7MPBEJ1SAYHSWM1U3A8UZOVEF7TIGUAZTB827UX4XJEKMLBXMY0IVHKZ6SM4Y2EAEI3O7BDJKNRF8ESDZQPPK72RSWGVRCN7M6C5CS2IU40S1DOUZ2QRVKL458DXB4PTECVIIXU3A7LR9WQZ0UTGLFRGWO69TEA4JK18ZI4MDS5QQV61UK3BLAGEW7ZMTNFY9JCW2UBPNOWLNORISHQ744KTGN10990D2WRNGZSZ7WQ4CVIAWM2PP5G5PHTNK9EM4AILLF4FFPEU1FRPOY2HQ39H1RFNNY7V4UDCGQYKXICHOISGDNJQ3WM9ADMQOMVTZKX0AZA4WW800XLGFX3Q6BUUB8LICEDN2P9AILMSYH06U7K1XXV1T4CC2MTBHBD4G3O6M4GG861YCP2GAPL1D9EG49KFTC2IAY93PXVGPPPE3WFWAW2PFO3OX90RXVM1ARUJCYUXEA927GVP4C8QAQXNI6NBBU3VS9Y23QX7YF66XKI3CJHAGR4XT6GPPO98JNC66ZHG5224DQEB1PT8JCCGZUZ7J8W5DD7GRPVN3ATF829JX8GUASRB4AC077601I935RLEOVI9VEXMPP5KY3NMW. +36#2KCR7TBHVE7I1SSD81BHMSHK6848SXIVRH2YF822R2FDR39P9B = -36#5BOPZFK1NDJWH0IF98WP0JQDTTGGMIX35LDCV8IRRLGX6SLEOX9EUNTRG845XBPLREFESZVB84OP5DOU0OQ6XJSDO5OMZZC2SSD div -36#22PX7BH18T42TPYG8N47FUKHGOXUBEKO21ICPLQG57FJ7CNBQB. +-36#20XO4JGPHOBRNETATJIE23BJ36OPUVXMPZF957EABN7YEKZQLM1UT42465OGQ97ZFVAJ3M8J7G5C0X9XSU0E1B2UAKTG331B60UXOJD3Y7206R4SBJW1SN3LUX78PG031UEI8GVOPERPVCUY1YU71FYD7Q9D2I3WTVJUI61GTZ9C5LLIUR5YZRYFAZAIZ2O8JS0SG5I1S9XQR5NR8C1BMQ2P6C67N3JE0E852H47U5KH9JOXS8EMRSDDC0H6FITTE4GXZ5YU8QM0HT58FEOW34UV4MHD0HHX32IOOSLXXPVCM011V1TM5WB418S9OQAZPTBR58VVVIB5XAZVRHMW63PS2W4YTXTK0ES39KTZHAGI5AZ9068D3TVIGDWWVFNRDV6NROPGBRKZ1WAVNCQOO1IT438J1HT2NVORO8K4CA4E9W13KNI8D7N2RW9GW6J4HR09V1IQ81L3PHGH14Y05RSO9QAK65ZQHCTVCG1TA0QOMKY7DZ5IXO85Z1Q97LLS45KMPTKA8ZFAKYWU3EXRF5RU5N6VPJKUA9GRSL2ZHFNV6KT9K29S9LUVMN3IEY2HNF7RYBXJEOHSR4L1ZVRH9S5Z = -36#9VB5BGQ7DGD8U7A2OFUFR6W9NJSJHLPXDW607AQ0MMDV7VRY89XWTI0F0Z06M5IR9B8F4X1ZBVHHFKSJ1IBYM05NS6ZFQ3YER51EXU5YZG8U85HVIYEVK4UY4LWZLXYRLZ700TH3YE5D43BRV3JNUECCYEC7UYYMIK0BA0UZN7Z5X103NMRPSX4HHNCV40ZK97TVRXZUOV40JBQHWYOIB8NBYBQQXKHVR3PWDS8L30HXLFX89O2A7FD45 * 36#7E16VSEETQYRAKYIPSZOM3IL9B79O3OGLGL1MUXWFMCBWX85FJVRR8YY5Z7OQFTXWE0RH62BFR2PAM4IVF3DCBY9E6JJ2XPAUFP35Q943O4NXQM7EK67IG46Z9YCBSZK9ZWH120TC4GZDBK0VOYHY1D4RRSQFT4B4OB7AY8N5BUREXTVP1TUX5612HNS80IK0HFSJPVOLZFNOVDYHQIX7XF6MOWR999PK7GRPP44FW2M629WMQ1RIFGLBEWVBJ00L1ZUPW108QVXSGCX2SBK05TPSPC0A7736GN79OQFCYNF5NXHG3C5WLMJY9LCO8MASHQQR8Q3BO8BAPO8NSMP9MBYEOTZ2H7. +36#I9KTJ5G9LZMRB8Z6KY3F6IYD0SNKIQCHPXDOV2PD9PZ2L30H9PY9WCYUYC24PSHUGCECW04Z7UI0BUP2NXQLAUD0D8U2OFENFGEE7FN5AB8ASC70B547PP7R4IO6CE4JMVMTKS6KA00PM5N2A2NXIRWRWRX4IJF1YOEROVTC6KS8XU5XCMDCQHMMVH74G1X0A8OXZ0FOFFN381UP1GCUFDIGSJH7DN1516AWO2D0CZHEREB7US7PEW2ZQH1YM6UFBAD59MKQXBP25DXTCOCW07FNWWATOJ81PFQJC3AFBT393S2GAJQBCSJJM8MEKHZ5SDX3AK0KX3TBK2LIVOFNSDG9NQBBF3KVHO7H2HIAINHGINMD801M9XJ1XX68FXR81OL8LPPERAMI797HES8BXH629BSNT9ZWS6KM42X3KA2PDG6FZ9XIG7TZKLAKXHN7NCZ8T2L5ALF7JUPCYTRCB5YV49TO9UUTNHPOH272VNCY1EQFU4JS1DG3NRLQF4KD36LJY77PLF25E4IXWELUCL6GPFRDIJHQO8X0NDHH500WQZCPA3WXVRWOXHSG5AC3WJZ0G9HHZYUXUD06RPH1GF3R6LDBO7FL912K9A9F1CQX0WYVFQWI8XN0D4PBVRZ383WY1SX3DOZDH0OCSMWSIIP7OV5FGVSL1KVGZH8O4ZSRZRPR5FWBT01L9Q26E614U7KPWC6BN791BORQLV7BBAY5HS9QSEJ66A9J67GKPIVHQZD7U55V29N9HJRFWRI5ER15PWJPSZ7KUULL3Y16P6LQW06UOF4NT2LQSPIV0NHEMV4A9VGZC59ABDV9RINI03I1GAUB34YUG5HR8TD0IQP3NRQHUS24K5QU186XM9SEI1XV7JTEI50E599QDQUWUP5VCJ5LS9R0RDZ0J4SFG9BZRCUKS6KT65L1T8PT12MF7OG8MNGXQ4PMAGXI7RWYX8XSUPXKYZ3JR82HYVRU4OOVSW0WB913V8MU83K5HYKZ239H3UDB8541W85AGPQWF2PZWW4RW3I5MGPGPBDWCPUZCD2P256VN09M8NFX4A6GEGJBWQTCCN3J66DXR491OKR8MM7W6QBIH04D701N1WDC65LFBTI9CF466P5EPF7Z128TJK8Y5W7YUX8AA3SVPM2P9JLJEG7U7U686EJSKO08B46KQD9PKJWRAT0ZQKUXFD8P8PBCV2W71NT6JOLTIY5QMBV4UC9CXOEMA0BCG2G6Y4G7SIAJ7200L2G461PEL20TFALABXP7OP6QHEWIR5IVU79CXU2SGY2YVEQ5SJWQJ7UJMC1Y8CPOAWPE7I2I51TNZ = -36#OIZO8DLP65M6H94N3X283SYQTJP3CW1YO8HZYCH6G9Y8KEYLBSBI5Y0M3F7OVXFY17WPKYY0O5J152A2VO46M4RVDSQ3465KCQAIASPUYUZ319YR2665FEA4J2OKCTBEL80LBKL9MWNST4UTBF42JUUNTUXGH42M2HKI7ZL11XJN4ZPEBCDYZAL6IX4B132ECIEVDSP3XOYER992JP8TCUSYCK5KGEI2ZJ446H0PPT9V51OJFOPGO0JCM923FBB4VZDJNQ6K2VNYB5NG9TD5ZNYT6W07G4OVSGR25G6064RVWVUIJNIIG6UKLLUB8WGHVXEZTGUOHIC0Y7KWIKP6QEW69CBDT8FTP1GIZHSQ2MXRHZRUY8MT5I7WZZ9ANU0CSR14IY6U9E6U0WG40D0D92PIO1ZZNGF6TWYO0SX4DPL6HCBQ55JY28BNQDPROPPNG31KJY5JFOIYGTAMTBEH91JGO3WIKWCYEOG9N1E6GWW8I6CDPWOE682CHR5J5D81YEM7I4QCMMD9CL1K8S1O820VUJ1KNVNLRI33B521YLQVR0V5CSXD8XD1RHS7HTMLYS0GSSCHGX3KGC1ABJT36C5YGNH6MMR1J5K9MOJSZD5CT0J8I3PCKOHUUH2R2IQM2UDYWZFC8AO4R0E0B6FH5J2IELLHO6BMPHH28M4UVV9AF7M21HRGAG7BYWAQDPIO27ZKDG9M17VOZ5FHOOWX36BTRXTHITKOKZS93ZMOYNQFBUVSMXF479EYZ0EHJECAU9ZT6M1AINSVJ1YFWK7WF0LS4ZWVUYSJQ94NCQ7Z8LDKDTDSAQZ43BCK0PX632GQGQ97FSI6BPXQW06216OXVLCJT2MNG0EON4MN8NQHZY55OZLRJG5QB9BX6DU0LCRAYH29QPT7ZXHI6TPVWQYYL71OHG8GW3S778GGETWJ10IZWUA6J2OY8AGZW4QI7PDXZJWAROLB1PCGS0A49T8F8VMZVSR4O7UUF3G7BLLYD2J4LSIXEE850D46LJX8Q94Y0V0EBUUNOD4UU7HRGZ2CA8A11QHXGZZJCUVP5J5QDVIY6NNT568JJHHAIFUVS3CQ5A4T77RVYDN1NP2IHORVEYUPH1VITGNGCC9RIS8PWBXENLGDG2NGELLGC0XX044QCJZWP1A2C1Q17MKGUWAKG0MNSQNV2E4725QIZALTF4OSQZRFKKS2U07RDIG74EDYX00SG07BDTSRX23EIZQILSA83WZCY22JROYCBT2M3LHHBDVJIWFJ5S836P6UYL7FX5VOLPIM5HHUFE1Q0X9K1ANEWKFMSGRIJNF6CTROM0IZ2S0RG1LKL99VSLBQ6Z0K5DH4VN9EE34Q9T6ZMX4OUZRG27BQO1OY9U9GMGX6DPBTLNTGDDG7YPQV9C0RWNKR84DGEG6R040FCCWNZTNRQRWGY7GD7T5CQASTPS0R0AWVCPHJV9QMHDW0JI8DNZLA2I79PLMUW804EDUDNNL8WEVF6J17827CJVSQ1OHQZHCO1ZTOXG92PMJ6OPZIQMP7DWTFU092YEU6U5QHEU7ORN3GA52N1R8BRYCVDDVUR8X07NRGQAWCPWP78OA2V64E7QP2 div -36#1CC9AVSNAUSU5SUECAB19OLPFAVSU66EMDP1RFQAPX8Y3L29Q17VP4IH4TJKK2WEGCY5GHPON90CVB0EIKYJB1BWBZ5WJ0AIIF6FZKRFO4UIBWJLU7IP25GBH3S1GI9CRNKD0LVNYYKXW200W3CXNHFZFTS90YTC6KI23O5QSEXLLY08TEY1P7MNPELOXSECB7P09SKLJCD3Y1GB4X0XI3SVXLPX3QSPF2RK9WLDRY46LVL3SH451ZC7S54K2JG1GJCN8VA0K4558RYAIXYY. +-36#3T3O05IWE9BP3S6ELURKHT76FB6F0UQK7FCOF56ZDWNHCVBLJ6ISVD3K5DVIIUCIE93YQJLTZX8BF23I4LKAL1JPWUPHI64RXPK9O44OUJRVHDQ6UXRAEO0S3Q2TQ0D1JYTCIJBYAEDJUR7IHGBJ9D87BSUZ4IE9FDV5C19 = 36#HAHQRLFTRQGZVL3N1CSW6ALC06SZEN71JDJ68FVBD46RF9NE98JFVQ7MW4IK6OQ9569TQAYX97OT30S5FN0AB5I17H1SL6J5XP52YMZUQ54OTQV1LEMM0ZT08HV9QRUR65J6DHRMTMZXQA4D61AJ91GO4Q991Y2ML6BNAN1N8HQUQP0AQFF91DL7ZZHQF38NW9W4XYPSHDNFOT6G2QD11B28V1HWNVPMYXTE9GLUZUE2QYHLVQG0KCPR5H4URDZ13VJOOFGIVK8D369Q7BY1GFEOD9CKFU7OMH9CGJC4DGW3TTFOW0GKGKQNF4UDT7BL8CQZJCRP03OE6SGE3I7CIN2YOE51VROHXYB8Q6MLI97H8IIHB0H34Z5SZ3PB9LQE7ETK5M4KI46XCOPF4IDT156V1Y32AYJO9F8QBCL6ZU9Y25JJVJ1O3I5W1BQKH7DR5LHMNEMMHLOFBPN0UXOY7GI4O9IY1U8TDZSWAPAXY9R3KZMATJVKU3QOM316CAZ90EW1PUBA4S74LT2ZEU1RRQ5CM5CSJDJN8LZZP2IPTG0FMOQJG0NWF7390PLLB6XDZ1OF4B6MRES4LBO780057CO9W5MZDGMUVCQO8LGV0C1SINZIQS57K3QNFEM47WVXGN1X5N1I6TFEOWFDW0QAAKJR4DNB1MV1I3UAPVUHP49ZDWI1BNOVP7BD0R8AC1QW5KHNFR0HUPB6GQ7IDSSNYRONMCV8MLMA9JCR62Z4SI9SXKHXOEXCQSELWKGTTZMWT4R7CJMWRUF4LXXK5TN0PENDRSYROPKT33XGJT4JR5UZ0XH5PZNY9HFROXYW1NDD1VI6U5BNZM66L1SWJUZLOPRQ383ICTTAX3KZ4HI4M8XXINZDIVNGT38SJRKPKBQGTNZAMTUXJX30JZWJB6MDK1Z1FY0ZRSC7T1W39KTY2993KLQ6E7ZV8OWIG69X364N0DKBWUTK3JEDOAPL5S0BAZL7AINH1WZ547E17JGCHSRQ3DOTB4EB2EOS8T52W4Q947Q3CJ3QCC0H1O0IRBL5POCEN9HKA0YZW4N5AT6DHUE3TMBFQJZYR3ELEOHYLMQF7BDEI24P6IFIU024AANBIE8J94H022TIDURBADL5C4QD77P25XYLU1V7BSN817RBC0AZTPHEI259VJF9XWTBVSPBZNXC5E7EXZ4RM40UZY6M6ML82K1RHEM54O4NUSB36UG8F5GRYDG2LNKGL1WZL3AY36ZUKB9T1X1SCD3SV7ZRZNHH5I94CU22HYH073LS93R9W1ERK2Q0EKYRLTS6W3AGAE599820AD1OFUDHEEYZATB5FZGX3MD481AKCCDD2IIFE2UGOB88YHA7QZTN40BNTJMHNBJWAFTE8XR54Z8475SLYSOA1FCNH2Q1XX4YOV1Y1AKECVL471YK9DAV25N6YES8TSMG3P78KCG9YLG0SZJSPRJLW51YDNRCVOF5N5R7WCIIJDI90DJJBTV40C6SZ43DWQF8HNEKOQLCXJU46WL8J1W1NLERR div -36#4JGBEQEWLTYXML6LS9LGIAK8VM3NEAA7UX7R3C2L7GQLB9HLS81GJKZPDQL1V9EMNY5RR6A9OX59NM67JE9YW6RA2OI7BMCH71EV9ZXBX1OTW5GXB0KIKYT3OPO2LELIQYLUFI8DB28ECTPK46GWD44I612B4CBRYK5OHP5A6A4GY5RX2041JQ0UETXROMDAE5DVKMCMKIH8207GZGUECUM5IWYW9RONHXNMKP71AZMTUS5BRLEJ0Q6SFKPOF0XIV2WK2V3JZWLC0OBOKA5R95V5J82FNTUMO62NZ3ELXJN41SHSGF2GMZWOHJ3QNPOUBV2IMDLFUDGW9QXSWNCGGWKIHQR8C9KX68JGZ2JMD9A26Z58FI0MY7JL3J0D4X8M9LRD6MO70T9Q20L0WYYWLD9WBO6ZA545Z0Y8KSEG3BQ4Y6IFKWMNT5D7FT7KU1M5KSRMBZ9QTOL7FYMOO51ULQKV1U9Z0TNRTC5AJKNQMYAJUESYGQI4W5QAS46I2YE4W2QLS3C6PINPC80IHMB8LP6HOKIKK9KUUJU2MU5JDHDNOKBQ9U1C280BX1Z20ZSL88ZLB22JL6BVCQBNKNUBDLTUW10YGZHW21DQCRJBACA27T6M1WIGMY6AVALPV63J6U8GITPB2BTB50WVNUIIONK5HZQWX9HRQMC0I6UFE94RH38KW63X1J4ZN2TDPT2FJQQ6FR67L37148DQBOYBOKSGOMDM6SBC8OEPFOQ2P1GEVTV5CW0RHY5YNGM25I8SJABZSOSKFZ9ECMAVWGZE0JLTZW4DSIVI3YR8LSPBT3VSD2Y7MBLU0T0ZNV34GF2EJCHG9I36D2YP4X0EBWD05ITIQA36QLIUD8LMOTFD3UA3EJFWPB7AX2OWLSAADI50LK306WK1LNMFGTYU4XHOPFB0L2DQYQ5D1XP6TZEIFU2FI4X66XI29VNYY1QOI4QOLQIGA2O4BXD53VFIDBVY5F8WD3X8T3ZYBWSZISFHZKCMGQ1XGCFNPX60CR78QA8LCQVQ8C7MYA8W7CM9GN0Y1FQ8686IYQ8PJ63E040XFVF7L9RS3FQQUSJD8QGSAMDIUHN2B2ON8SDCW5LQD5SSO22WI5S7RH3AOQ0GKKM502ILFFO0B5BXO84WY5X2ZV6075KYCG7KTKKCRF94NJXXL2XLEBRJZEQ2PR2XXVM893865H3FZF3FUZFO7IJYJEO4573TCT1M9ZI05D64PZ8JFRBBRWHCYN8JN4FQUAGQVNMWZ88PYLHTXVU6ME0TN4H6PGW0C5YN0ZKM2TB5OS8TEBLCBT5NIC0QNA1KJ2IOFEF01A1XHNNW48SZ1WN6RKTYQXN3KFFQEZX7NYK3HXF. +36#2EO1T7X2BOJVBXUH1JWBDOX26AVCX0TSOCDP3HZ1YR3YCRM45N7P20LL4KRDM9RUL51JFT7O37NOQQTYK1RMU60PR2617L6NSGCGFHCKJ5I1B2QEV2XASHTZQQEZFGQ9U5EQKUVBTX3FQIFQA061V65YKPAF6BIJOCZ06T6ZD8FE1LY3GMQ6ZDOLHOTOU9Q18H4XJ6WDGLJFNV08J5IRMG7YJZJOC4J5XMN4O8Q41AW8KJMALIGITGP2VCP19BL3C1CE9AIUHZBXS1M1OCKLESBLU5G6E149V2EOG3CB1LGOTOTRJU38F716UYNSYQJ1GQRPKML4Z00VEAJBJB94Z6UOUN4Y4NT9LDCVYPN11OGPAH9HBKS5XBK5SH93QHLKD3Y1S6OBTZKQMPXTK6A8KH5384X2M9RUNXNZNFPDI1ML9ECVQ6MT344TBGGYP970O9AZMFAHF0LWY3HXNZ400QH7L2U0L8OKAPMPY0XJN03Y5W4M5FQ2QILMY880MLTSZ7M4L8T3XFYHHKRTV6KCG4YI6JIAOXCRZNNASVWVHT3RATLZN11UG75S06QUDQGW09MU60GQFZOSP95TOJSTEEN63GTJAJ38QLLIVGW44025JILDYGXEFNDTEYRVSNQ76NM1B0SSSPWZSX478JGPP3ATDPY6I1RE7F0UKP4AHPQUDXGNCU2PPIVVXHBX51943EZPXTR30THNHZL6FG8YOTHK4VNACBSJTQUYNK6 = -36#YH56U5OJC0XAXZWLZLJIU8DRDEUTOGW4YX7EWKOL38DFC9X42C75VDVEI5U51A9LT10BNK0VBCMG8QNI1QFDRO5CCR3ECAVWB2D9V497R52QG6VVONMRR41IDBT2UOM8YILGOJTIAAFUMA83CY2Z8GN05KQ7UYUUMM0YRLR34R6N3RA5IR58X7J6YAT0K22242U5LXRGCSHADHEI2V6V5MVPZ7IGVY1SS6LWLYIWDQJOZIDO8PSOPVOCIN5ERRTTEDD0ZR42V00TDHQIVHI63M8FW7686JFYWKNXWPQP65PA09W8N9KPKKDVGTIELOXRZEM3E2ZR06K7QU1JEZ60QQUEG1QKF0OIX7636ERHLR1QXOQYZT6Q7EW8WCEJKSFZI6QB1ZCHUF7GY062CMAXGU6Y5044X6JQQGUF6SM8OL9U1306010DHUD6HRGGQCLJ4HX8OE0DN12S8BTFNP3AMR0VL5SHHEVUKXO6LWZDVV9P25KEUGAISU253H2NJPZ2HPI5LREAWAOJMYB3PYLYI3PFZC5RGQBI5E2C3Q6L0BCOCYLSU4ZMBS26P0F2A7HOQCQGZX7ACNHTJUCMFXISKQ9FC5ZIWJYZ2R6VZORWMPMZL31G4B6JJAE62I7II6AMC3LQWHL1WY3PRX1QC992Y2LRS7TV26PUKSS8X3N92JHJ9C7DF4TUM * (-36#2IHY6RPIO2YZ2NFO8R0XT11IASQZBM029UKVA2T1P60TKNVCRX). +-36#1DXMCLGX9FKNLCUUTXO5B8SBDRE2Z8BYHHRVUELPWFLRHJ2OAON0YG5H2XGAHNRIQ8EZ9P969I6REUFJJ9OU63PVV0EUCF8E2T1AB3J0Y0RG402HI24J6ZKG0J09BSGTJ0KG5ZC36Q66XFHE2WPEDGCKG0P4ZUD3CVPNSIYW75WO8E10BI3RXW1 = -36#EUSZ19PG6TGJGB2X20JW4O1SKHJ4D7WXUP5NYJRFS29YYIOMIP5X9JVIN8S614QRHGCZ6Q110DJ79R0I98SDIE29SKQABT4NDYGQJ8BQY7YNVBO73WKI0X6FZDY80H4BDWA6KYSMTCCUJ4UNWKTI8LC4ZUN2BFNZMS8B23F5Y5MF605XM517KS5QX9KRSQ49GEHK6TC3ZLDTPVPVFZ8QENTVDPKP31W60GJJE9860C3C7NDYHMY93YQ6UODWCRSPLMYY9199SQZE0T13FE4UF78ZGJ2OY369D1QVP9BSFCE4PV5L2MBMK7TYE8KRLOKU5OY041EXV9Y64YS87IGZ5B3ZOWSK97D6RLCW4TO62TTGXLKR02OJSVY92PQDJUI12HN7CGSLCF7ROHTZ90I4K5EQ7EZO45NZQYVQZ3L6YNT7ZOZYIDJU6LL62M60MWODTID9G48BC8IRKZEC09QQ2OV6MLFZZG4W7Y871B7NVPOEHYQQVGQ213FGQDTC5RY0AJ0KYZE4TJZ9ZCCSE8WLM3K2ECIEFNN9UMSDUXFOYJ6S27 div 36#APKHJNNAGX8SNJ66YOTM0KAMUS9YK9UV8B7EPPG8K9DUKEGWD88MXQC6IQW947DJWY4FVS20RRFGYLAYTA5K05VS3BFPOM3N3YTI117JJARSJU2LDNML4OSE8ZSN9LG1TTT6VPC6HX6C2VQP07Q6TRUHUPIOXTNIQ5TV28XV0H9NMO6Z2ESM7P35TFR28N0SR0K12FX8QM7W9CAPH268ATWXNII03LPD5RYCDJ27XDHT54ARUKY06BK7AXD00VE5O7K3YRM0055CXWRSR9G5QR8YZPJUGF0068WXLI7YRNC9A1Z6LWZHRORU4ETRE7FYDNZUADBZXKA9L0I69VCMAT4HGA1U70DL7JKYJH8ZCWD32L6HK0LKIIU7. +-36#395HGQ53QW3GQK2SYKPWUPIZ2258R98LHAD3EKPTR6CW78U6XE5Z4I9WJF1VPM3Z5V1Y9NG5A60Z6OM1X6FR5XZWH8FEYKNLXR29LGWRHCQ8JV4DDVZF884RWIC7EDQT3M8WUSLUZGE7AKRMM9U5BUDIN8ECFAMB9M6DQDF4VUN6WWKSFQ3SRH3RVNYIJVW8I10SSENKQ4S = -36#97YKSCO3J67FV1H509OJ7REXQCK8AYS2S2W4TG4LBE5SDNW0JYLY7KRY1QJYX41228536OG3KEKOH961CYLVETWD4NQOEVWXNI5LLTWEYY0TG59QRI2KRZIFHDTSSL2M40FWPM37P5UWJ698WGZLPQ2GTEE4PYQVFJS8MLQI5D47D0RRGJD2AU5L9COCELG16V5GMOLXQJCYD81YMWR94M5XKR86UNSNQJUJ11H3N687T0TI48DR1K9H1LT8 div 36#2U0BGOJ32569UG3LG3Q3ZI0D2BQUPPEJNV5L9T2OVG3N2CHR2H. +-36#7X08O4IB0XS3DON695OL8HC3EI26A26NW5L6S63Z2LBS67XI11EY6DCMUO2JE5UBW6WIPJJQNJRFEPBYHLH81BMSAZNQZ56JE4NTRMXKA78YK1296W8OT8V5AURXG0ZY65U8N9PQ73F6O25T5SJUBX1U9U9CZ3ANRB1FTGWGJRXSCPF1B4JMADMD21J39X4KI6E7ZUL53AZGDFVSPICQ6KC9AQMRIXUO2W7Y4AZBAHKQUM472UF8CQRYOY8EKEO4HWN22IS4I11JTOIM41F8XIP9DE9R5LNXNV96M0COMVNTU3EVPUCFK1PG09VRMCOPE1RZ540QDP8TE6M8J37FYFA4XQ618JCJ584K2U9MLDRYBH61OV1CDLSI7GY4NXM8XN5H6CQY6TOQQIT269KTDUWA5LV7UO = -36#2UYGCI3YIPZB72K85HA9JP5N9B7N67MRXA8F0BAY00TC5KIEA8 * 36#2RNLKP6U22E324F39513SAVH5XXA6EJEN24Y5FSB9FSJJ46KJD6DK0NUAEBRFSE7VRLY265NX7Z3KD6E4XPFZREN0DGB3KE60LTQ36P2U12M691HLO51FOAXYX34K7JLASHMS6Z8ERCLCUE74KZXLJJALBW1NUOKHELU8SZ0WDG8QKB62FWC4PYCYSNJ64HX8ZUFEYNYRMOFP3FD1ILW4VVEH35L6VO9KMT09XTTNJCTTE2GR4XI13HEZDQLF9V0W5X4XGNSHPBIF6DZ22NIWXDTXI1ADJ96N9GC90DRETJHKHRKGOQ8O33JCLJ6LD8LFKMECYFFWJ49RX1S6J9RWBNPYRNE9VHDQYMI59TRQ5FBC. +-36#1PFOBOBLYNQ9X1SL672FTA4YEPGDYRENGNN4ESTRW8BNBNLEYH99AK40VYMLCO3O10K6SXQW014PB3EER8IF8TGFVVAH1HKR30 = 36#POI713UPOHQTOC3MVFP7XZG705DGL4ZC6E2AQZA63F8FBOS3 * (-36#2E4E7GWEPQEMU03LV3V0L8DJPO0X7IME3GMN7OR98WONOPWFP0). +36#SS62P83Q3CJZANHXC1A92QDQNNRIE7ZOZANBVK77K0SX2STI7X2YJUSO6XYZ24RN46ATSYQOZHC4HK75U1KWTBEE31JDAIN6JMG2JK9LZCJYIV6MJZIKYFT325FO6H405C9PJ8A4MDIGC5F9DGA9CW19NYR9HLMUPXZVYIFZXJZU2KG9GS8M32NV2MMYZA0BRCEDNNOV1ZZMT6S03HTPHMISJYQHZX7JXCQZNLSVBH3OWVNE4Z3CQ314KQL0Z6A7ULU4NY8KE4XH84T93JH62FF0B6DS90C0CBY8EKEFVW3VVE2EF9YEESRTHNLFWOHM0S46504DYMACCMJ0A6H4B323EIHR4FQFKC9V7L7PXNGHAQ7A6VSR4TGDCH4CKQ2YD9B56PT1U0QW7GTEY084TOVWCLD12BM6ID591BOMSPVD5V52QTI6QOBH49KOYIJVIYH8YVNSW63EH6V6HFXV8IDYSVNG4MGQPPMCQKXGXX4G6FSWKRGGPK2WJRCXQBVW0FNSYUWI9R7WHA3W5J5CL8B0QTWJ5FXUEV3Q4YH7MZCR57Z9GXAY1NY3HOZDTL84K4XED552FF9ME17H5OL3F11W5Y2MQAJN05RT3O1FE2QSWCGTDVX2LGAZ7TTCZ6J2NB7BDDGTRCOCA66LQI9ZNYY0HS63UK7BN9F5Q0OOVVSSNQ0JHAHA1YX5A3G0F7R0KMNFQXA8F884WDI4MZMC5PGKD2CV7N266GMYB9DG402AF6JE0I033HQHD2GI61RQOMOHQ8WFU8L0CJXZXFDBKGOEZ867T2HONW89GRVCMLJH7DLNWJT9GF327ADZO3DJA46NN5ASP9TFLMWZQWAIU2HOTO3ANSOJ5WX14VQ0ZHFRFAXLO174QAEBS6F2RALRKUUID1MNPNUFGNXNR8JKBRJLAQ2RJZL9C7DV1P37SRWLW8T4DP0DP9BPLW0I8OFI48G355G0UMTAHRHTTVE47XY3XXWU0MZ0WAU43IZV7U2P6ZV6J87MJ844X9J19HAB2L2PFNXSNKN4CMQJ5G0DAGFM44DD46L93RQNYH6DTSAWA6BF1COFF4QEM0DVVO1Q8IOX9E2QJ6AFN7ZD7BVJ8YF5OTVQD7FL54NMBRT188FN27KQY4XRHO3L8Y6TXJFBZASA25Y4TJ2ET1PCAOS3HYFAKEAYH96XDVOWTEN0IAKXITTN65UD5F2849MCWYXA2AD83KXTX2NYEXOY53XEQ3D1AX9TV2KTHX4VMWKO3A7M85T9GGU0143IA32KVSB4WCOTGJABBE9ZS3I030EC3RV07RKS8GU6QGBXZAPANM8DWTIQ8AN44I0OEKX3SKNCJGY560HT88C58WT8W1HD8WKJ74B5Z75NS51GEERUZ4IYWYCPWJAOPL6VSGLRE3JRETZIFOL1FYCKAHKJH9VU4PZ3B2SQNX9HOZUL8GJFVVLZLXF2DWDT4YC6UMAX5BKEYAK8F12NOYF2TC468Q32ILY61HOVHQ345FGBCILBPDECQA84S5L4FE1E5243GPILXR4K1QPZEOHHMDMMUYRWGV48L8D8E4PW0JJRFJ4075AZYQLCAM8Y5L803PPWA13WN20VKQX0FDMDNIVKK4KWBUE27RWET1P2XN4LF25W0XU6EEGI = -36#T1KBFBIDCMGKJM5ZXZ9P43WLRWGGQITBZEXZGNVSQCW86UC6NHSIEPIBMO416ZXFRNJR1ILN8G3CHJY9NPY34ZT7QKSXOIVJX800ENF8GC0SX2SI90QTV80VP04AJ8I7BQCE7TV7730O71PKC0LU83L9IT6DJUCI39Q0VPFI7D3I7VUATV5G7X4APG4FZA8XJDE22HVO088SORWNJK69HIVZG7UOQPPVOZ7CQ3E8SV1DQRORSKTZ0TNX0W7GV3CFRWU4NHFPJ5QMCM838662GEW8T82HKCNYLKRQ8RL0EDZROHSO6U4AUKTB92GACE4FSEQ2RF4BIT9PQCHXGU38JUKTLPO2NB2LL27659W3AACTUDEK02MILFW9F5MJUUDI0X3USMZGT9H4DNSNEI37EW6BLNOWU2Z6W51FJAYWI7VTT6OELF33N25NTLYP3L8QBA87D5ROXIVFZ4EDEJ3NZLDD8W62CE634JBG9ZAUJ22ZVDQF9PQB09CZVARAPVCY4325AX21CLIFYQX0SQYS7O9NYZHSQTE2FK40YXUQFHCZFI7X7TKNSPLO6KKJU8HGKVT34JL1C9CQW2M3DXJS419R9I5MQZTHDZLMX1LHGCS3N0FF1XFXIGDMBG4SB2IMC0HC8B8LDV509FESBW1SFFBPWTA983WTTXRYOZ9IH9ZCECND86G8GP3QM2BJ3SCMZRGB0NHAZ7PKJY8CMJPJERGXC5YM1LFICX1M7IN02YQL1DR81FWHEYDRKBWQOLV78X08MJAXOXXOCFEYCMGM4RQ179OFW732XC6HN692V1SXW2LZLMP5HJTIKLVX7LEUGM5JBNXLTW1FOWZXHQS6ACM57IFHOM17ER1CCQRJXXSXNPQFZCRJW0XNUK9L7DELXBGPJ3X39UD5S63ABMXYT1BRSVN0LFO5Y5TEZQ6MQB8IZN4ZUQ89PPMFVOPKFHWKG9STDZXAN30GYKGJDXJRNXQSRNAWTE22TY9273FBAOIN8UJHINLJCZ3XRSB6C3U8MWKH2DSS1YDK4MWHUZZR5BBMGXZAX6PQ9G2P2BHDWILEOXBI7JNQLI784E4AXT030HN039ZQAUOUP7XRMY42AY68YNJH4P7HIC7UWE1UG1QBVB84EE2FATTDXJKCMHKKPTN8U2QYL59GG3DN2PK0OMZT88VEWIKOV1EJV1493PLEOKAJS8XHDDWP9ZM9TAHKFXMG57DM8YC2CHC91FU2PBK08IOHLRHYDIUOT6AAJO201RUMV5AAFMJVGSXL5N0XPU8QO7K4EPYIACBKK8QK5CPPTU7QTZO5ZOUKJV7F7KEWMS3JYSM39C1HZ9QGDQ3DUQ1XVME3IBHYS8POR8L5S0FTPZ41OKJJTQBS0TABA0PFAMR0UVJI2DJCFIMG427P61BZ07 * (-36#ZOCQOK1RAGMEDE7JE1WH7E6GVMN6HBW9C0612Z4ALSUI6G421J57HF2HQAYBRK4793R05TC9OSFAGFT7PLBYIFM9BCAV1ZMOVTOG1D1EGB1HZ9J7E57CCK2HWTCCN927NQFAQS2MBI2YWWTOX27X51H6ICKLT80CT3DZNW0KG21K6OL5QHMJWB6QKZNXBTL9XO0QJHU0AW1J8S2OCA0OULHNWSW0FIZ1XB5JU9NP7I). +36#231C6A49P269B3OECFA4SNJYAPZQTHFO2DMWTK554NGRLEB48O = -36#1ORXVZYPK10AVQ1K41G8RFTCOFURXW5QPYTU88NZIFMVCPLSVX9SIC2MV9118IS6NVATCWFCX94OSSC5AM2LUSWNSWZOF31B8ORASRK4261I86DWYMTBNCPICIZH6P4DSO div -36#T5OWBC7IFHSL7C9DU8T5UIYHLKLGTUDHZKIIA79TE2891ZPFYVZSCEBDBXXNM06JJ64AJ5FKFKVK3UGD. +36#6F8KEM4VWIX8ZTLQ6H681GIMNH6VSBHEI25SE6N5LE2J0DUH8NJSRB1BNSWVMXZ740XAZBCKIQ8729YPASEYBQU8G96ZB4XCE8WLA6OVSB0FS7BA193RZOZG7L3KVE24D2ZPRUV4WQDKS5M5JZGHIYDERY3L4MLVJHG05XO1LJLTP0412PJO4S5R9HHBNSNQ2DAY8TBHF4ELRKNBLZBU0SN9WIW944FAEC5EL3Z11TNDVKY0KM5R1S707QEEQJQ8OE9D49OC0BLLRC7QGNZGMPZD5L342OLQ3LZF3N62E2FQ4CDM8H0PPTS5YZJAXANQ3ST48XG6YBV1SEXSVZMITLVVSWMISX6PBJIRSJ4IPD89V85UZR1SC3G18YV8BAD4HO9L7FB8CGJGJAYOT1KIDE3B2MFPMXPCQXM4AX26BBK9AEU8J68H3U7H0C273IXOZNNYSIWGUFVMN00S6Y = -36#G6YSATLPPF8QDQWV8F3QTXD90ENM36ARE48UXQDRWTZEYYAL3KGM5QIZKGHHW5H1TAT1I8ZXJ33CRUAI4FHYI3C1WBP0ASK5LK4A9LE1TNQ5K3CCPGMYHS5EPK5F86WOSTX5FN9B8JIUVBP67PDAQ8MESP32JVQA1N0FC6CK8VX8KB8EDE938BKLYGUJ6089O706K6OO96HG9UQJYE3BUECQCUFAAKJU0U6BAC43FYZPTCUJ2RBZILCR41RGJ0PGEPQATG55CXTSPSIBQTWI3J49VAVGGQZFI171201PY4G61NG6PGA89I8SY3A3R76B7Y8ASEOOM71OOFN1OABL6S6FEY314EKYAUZWRODYOW7NKZUL5XIBUFPK4JTQR2ZXO4V3J9I55DT27FY7LEPHW07ZHQKGSC8BR7MJT8TOZWF8L1DDQK9ZTMZSPSK2LEO4AQQULQZPPEC2WZ2H4XMMW9J9DY621VHINBPU7R2L8L6NYMIDZ5R1TMYO597ZGHEGCBS6XB76OTS71W3D24R02TEKNSGVI59LZ4TN5V4ZAY8GA1QLOBGG4IXIMRETUI7D4GHM3XI6L8LRMU6YEWY4EM9CUPVYO67HK4YYXN2FV5NMSBKH6E1CB7JH6PRUOGQA2U6J1BINLPBSFG2U7YS3D9DC73FEJTI6Z24IYQG3MYS0OVZW3MHYT4LM5QZK24URG9NIY0QLF3A557X2MB077P81MF4I2ZL7X9WJ0X4Z9K0DG2A0SXLQZCJKC95XOC8GTWCQV7YO9JT7U53XLSQSSHVFL0BQ9B4DK0STWOL6OKGS79A1GWZ23DHW3S96R2T6RTT98TGJ7GE div -36#2IRAVJI0P736H1G3ENA639DDZNM4ETJ5KKOCIEUKFRZ33A1BHWSNYRWTQ992BI648TTML2XGSITQQKEKBKYLF21JOXM4EIVSZPJB6XRVPKVLZI6Q1MA586M1A373JLA1CEG8CLUA1LSZJI1Y8AEINOB0SACRWSQP4RU1AZ01BX8GK2BS1ENNTZXML7PTLB37VKKU4OUV7NDT5VNFIIZ8HFRN6RG2O1TFH0EWYBFMA8577Z4BVH4OMEHIJRJZGG5W4WHG3C9J0OUELFLH3WAW1FR69LGEKUW76JKQJPKLFAQ8C3B6253SUSJUILYSJFWF9NZC8PJ6U7IHSLXO7OYWT39CS7H9BKS6RCOL14OPD3ZQAWQEUJ8G92BDCB. +-36#17MT61GCHSTY8LWUZVUYG2H29L3WI50TR7PO9JVX627BYKE3J6SM0QP4FAHOZUUURBCNRMEX5QCZ7RRMLCX2MW57C65N0WZWJ7BU2M5YNLBRXL3W84CVPMNU0BIJHINRWU1V0O0D5A9DAZRFQV4CXIC4WUHWXF8BRIMFPDRONM20QNHG5BGJIEI0DNDI8L9 = -36#2TFY71I1LDUHKS8FS96LVW24JZ81TSBT3NCMIYO1YR4S8FWKA36NF8KLKK77582DEZ44TQ9O5G5IA166PBEI1AXXBYYLD6YP8SFSE8VEE8CPDKS6WNVGKPSLMV61MZYRLLRMVNC4F5SAD9HUZAUS0VF48Q6I4G65R6O1XMSQEJX23K19NIAXRO63ZPWE86XHTF72L777UHGY0Y55LXM4FJMH1AHMFBS4SH9WT1YUEDVYQDNI div 36#2BP1QL6FUR3GANMT2E6H48E7WA989YXAFRFP7PFXGBV4WYU6BA. +36#8ZDBVL7SFHST07VF3V5CQU69K171M1QO6SKLHCK2WLDXG7AU79EK032R727WHJUBSMEIXJXVNLY8J6V7QSR6Y4KI5MW8AO9RNTNMWN29H621MGS0JAJ4UWHVO8W3T1OOQ1WKGR8KQZ94Q168VZVZND8Z63RKSA2NXXF5W1XYGXQXSRUK0EJ6FS0SLECPE3NSHTXNEWHN6LEJNVQGLMKHPGLPWA8SHI5VX8XWYQ7X800JWL92A10N47L1ZHIMW4GIZE2I7Q31DDRD7VDKNE5IP62PM64ZT10FS11QTG7DXMFKQAIVFMCLVWSPK4P0YGJBCD2PN1QUIOWIZFW7PWAD5G26H0N1G2AYR5J7GH0GWAM48PJQVHHUNMON0RYF4NEPAAXTZPQ3DSNN16JBQ9C40GQCXZP2C5GRCTUOBV5SO1ZRCCPKI98J692H1E48CYGEUBLKH5OUC8548TTA60JOW04FBNFVCH5ECT7D0322AJ5IAMKARBEL1YG1YFYO2P8WZYP23OFPP1OOQ3L5M2XWWCFM9TO5FDNSJ8LW8N8J428FPSQS56IG1PVTP8HUG3I0X9RH77A688XKSFG2M1XLT279Z11NZYLJ90AKE8Q7LBZVN4965XXP0CS5L2YIOV4ECM0S7JWTQJPKQ225L5A3C9MKMRVSWOX0HN6TUNUYZR4Z0RET0ER5ZY6AJOFMOXBE8YKZGJIUPLGTR1PDCGOWVM0V4NP4O8ML8ZEKFD1ULPBTHXF6C754PBT70YH48OHXPZWFLXOWDSABS5ESG4DP0XM8JS6KHIYPPDFZTA2B9FOQGMR7DCC6PPZBSKUOOL5C = -36#K92427R9UHOSG7LX8BAI0QKAZ8LDR138Q2ENTP3AON0CCNQFBV140ZE76D7WXIQU12HKJDE2XT2J7FKEKGAE8A82EPA8IG2RGZ9ANU8ABPPBYUW5AK4OR05KS1TE2BW8USL6TWPM01F1BPSO5FCIS6RGMW9JX6MY8WG2BQYC89PPBSSN4SJPR6QXIYUH7K2UGU1LCTFEHOZQBTCY2B6CSFHWO5FXOTT9Q7JTGHAW2D7UAUU6Z910KTPFLZ7RTEDYSI0OEM1Q8VXNL9JBRTOZ2CAUNKEYTLV7S5NJQID3MMZIHTGQG65K8XFTTPCQKX9PZM437QFKCGQZ83AQ7TCXIR00WA60K1FUH5BG1X2JCOY0HX5NL5VZ2J1WL58KYH8QQET2U5AXUW0PEVEUK5BXY53FMWK86V3SZD5JUTQH4M8Z2GWC3TDTXUXU32G31JWE1VBTCV6EGDK7V6B94RSKFXTRORLSPYD5JVLPGM708XDSTRSO8MYUERGCA9XL4P9IDO8FHFU1FUO3LMMPD5BGFVZKQFSZ02TIKEPMZ2W1A346CJXK944S0JZOXDX6TJVI0HX2OGQ4NALXMLBWAZN1AZLW83KEUL4L470VM3U4FEDSBXX8OX37EDD32MFGC7TQTYSZYDXJDDXOUKA1UF7PODQJ48PMOD099IX6KLNL84FX4PT7VV9XE3R3A291AVMWK8PUYSJHI118PPKC4ZW7LORPTTIILMKGVUZECUJIFFN6PNS6H60VV8VFDBEI36ES9SVNYK7EY08ZDMY8ZKSF1GAACB4HLZR0HVM189NNAN7PWE4HKWCVDT1MQUXYYRFFEWFISDJ3DK30DTUHFIURBFPKDB50V1P1V1RL3FB0YU8E31OX81BU6L497U7O0CU0MBVSMBRD4VR7ZUAQLMQ12O div -36#295WW8TIV8RGJCYHL5E8IBLC1DMCP5YZ04IHS94G7GGBWAND5GV7FC3HP34A0IPLHBNOPPUL5SEQQRCI7GC4NQN. +36#QIHR4SPSLC6YC1PPO7VNM8FLTVVHB6B12IK67KO3QDSXT7839YM6E9GICQ4EQMFSMLVZVLIQXOACOC0X163UIS337QH7THNQO2KQRLS4W9WNSTYT4X5UKCRG3L6V9IOSCT74XHAKEUS3DD4RJV8N69C340Y1HPUNJ6ZXHD50J98ELAMH484HLUXSOQPNS80T2NR505JCVPWUXSTE169P1JUGAXJKGFBKFID5G76HXZDM5AL5WIXV81WAR5TC7DDHB566BZLN25YLN7T6TGB59DZUHAMQBGJTAZ8EPV5M56I49BF7HIZCUEVDEO5S3PMXOX37IE7805PPNNJ9S0TC2C4G7HGUCYFQLZN1BNOPU69O3JNEXCD28HUZ4AU9G5HGXHECJWQI40NDQUILFP6524N6QLW1EX20KZBMI4L29CV4Z4WQCVUQA01DOJG0TI83JG25OFTN4SW3DLKPYQBZ7ZTUQX3S12OPZU81RW3YP2QNQYN98LYMFX5X42UNY8W2C9ALEGTK83G1G53PUUTQYQ5KMEMOAJIBZT2GGU2NYF1CQO4ZNON9SDS1KHKB = -36#8UD1JR57YHCVBDBJQC1FTI38U5RT8VS1GCZA2TXZ99DSWCOY7JXGNI0T8SW4MNMGUM5MOCL4S6WCAXLGQQQ4BNOZWGCG6S1QAER01EQO60KO1UF5M740UPQ1P8SQFB5A9YM5W67600YIUPX1BNUX5UUWK51MHNNLSKMJPEY4AOI69RMO7OHX8TJUDOC0G1EP0Y0ZDCJL15PBH9UO35BFFCS3E4MDNT7PUE6JEB374L9Y6SEA53BEHRA9JKCIJ6Z8U7SF9FV75L6RGTQ5ML3Y0VFAB23OBMJAK0S9XSEE0MOJYM3M8SNAOVZFBGFWRL4HQH6A86EM30JTUJO4SIUOQMGC3NZ1S83BP0EFERCKQT8NDAM44T52J6MAGC2XTYW10JOFVBB8UQ32WC00RLL194PTPRUHGON6PPGD2F78NLPIJBK3BZ3OJTY52ZDJM7QO4L0QA721M0VUIFRF83QDZKXLZHLYBQ4G6YJ04LCFTKOV8DIYBD016DTAH6O0J57N66J1KWI225M73LWSI66JRLONHLTIXPBBKCHM3XOX98CBINQY5KFC2SETG78V5TWDQ417QCZ56J5PIKARZS5V585EEF9S336ZVXFCH9ED3D2AA div -36#C09OA13X8HWWZKD1KQII2CM00QARUXH8XG9U3Y37MAAKOUAYE. +-36#3CF2Z64R5LLFIGBQXBV0I2FQ6WS3XY0QK6UZOTQ5LTOX3U1JYBY4FPYCTF40KDL48CW1R2K2SVXJSUNJF52MOUA7FY4UTPU2T4BD3HB6MEOQAJ9M1A61LUXSL3UK0J8Z5RLNNO4DP2082HYO531J5XMW7IM5YYFQ4LNWJKUKRNTJR47D7Q50PN2JZKLUF12RCWX9EVBL78H0GQ07G1C2XAS3DYLZKNX51D51J4INX6TH8205LJASNCP9WTEYLL45BG7JXO6PV67S7BV2OBHA3KUJACUBZ5GOZ0U2KR3MNJTFQETGXUJWCW9J2F4IG2WNOWF65V0SGXHT27GLO2ZQ02OOZ7429GZ998DJLIPNZUT98OTTH94QXU = -36#13754QTVK8YTT6XDDJF2DNT45ALIEQJVFEWJ8L4LR5MYISZKNF * 36#32LCZ66H5QRCO96P2EWMG1HOA551U2U2I54L3WEEFXGFPK4197VDAKWNVZQV2WY2DBHKCTFCWR2K7XNZEKE87GNCTARBFUMBKDSLEMJ33PMIH0D02RDM0GQEX76C2CGF8DVOG1CI7J2LMT33KESUNXRW1Q8GY89AERFO4YNJHU8UAVZLTY35YDP7KHGW5JE4G97XKMYUH514QLF89OA6USDITIW8D9N36XBPH8MZOMKMQL1LE7UZC4IWMXYHY43NL4ZMKZGYZXNC4JSZLPYHVOAO5WKXIBQ6F6VJS4QFP0O7QPYA3TO2XRZFCSNJAJO0JU12E. +-36#T1KBFBIDCMGKJM5ZXZ9P43WLRWGGQITBZEXZGNVSQCW86UC6NHSIEPIBMO416ZXFRNJR1ILN8G3CHJY9NPY34ZT7QKSXOIVJX800ENF8GC0SX2SI90QTV80VP04AJ8I7BQCE7TV7730O71PKC0LU83L9IT6DJUCI39Q0VPFI7D3I7VUATV5G7X4APG4FZA8XJDE22HVO088SORWNJK69HIVZG7UOQPPVOZ7CQ3E8SV1DQRORSKTZ0TNX0W7GV3CFRWU4NHFPJ5QMCM838662GEW8T82HKCNYLKRQ8RL0EDZROHSO6U4AUKTB92GACE4FSEQ2RF4BIT9PQCHXGU38JUKTLPO2NB2LL27659W3AACTUDEK02MILFW9F5MJUUDI0X3USMZGT9H4DNSNEI37EW6BLNOWU2Z6W51FJAYWI7VTT6OELF33N25NTLYP3L8QBA87D5ROXIVFZ4EDEJ3NZLDD8W62CE634JBG9ZAUJ22ZVDQF9PQB09CZVARAPVCY4325AX21CLIFYQX0SQYS7O9NYZHSQTE2FK40YXUQFHCZFI7X7TKNSPLO6KKJU8HGKVT34JL1C9CQW2M3DXJS419R9I5MQZTHDZLMX1LHGCS3N0FF1XFXIGDMBG4SB2IMC0HC8B8LDV509FESBW1SFFBPWTA983WTTXRYOZ9IH9ZCECND86G8GP3QM2BJ3SCMZRGB0NHAZ7PKJY8CMJPJERGXC5YM1LFICX1M7IN02YQL1DR81FWHEYDRKBWQOLV78X08MJAXOXXOCFEYCMGM4RQ179OFW732XC6HN692V1SXW2LZLMP5HJTIKLVX7LEUGM5JBNXLTW1FOWZXHQS6ACM57IFHOM17ER1CCQRJXXSXNPQFZCRJW0XNUK9L7DELXBGPJ3X39UD5S63ABMXYT1BRSVN0LFO5Y5TEZQ6MQB8IZN4ZUQ89PPMFVOPKFHWKG9STDZXAN30GYKGJDXJRNXQSRNAWTE22TY9273FBAOIN8UJHINLJCZ3XRSB6C3U8MWKH2DSS1YDK4MWHUZZR5BBMGXZAX6PQ9G2P2BHDWILEOXBI7JNQLI784E4AXT030HN039ZQAUOUP7XRMY42AY68YNJH4P7HIC7UWE1UG1QBVB84EE2FATTDXJKCMHKKPTN8U2QYL59GG3DN2PK0OMZT88VEWIKOV1EJV1493PLEOKAJS8XHDDWP9ZM9TAHKFXMG57DM8YC2CHC91FU2PBK08IOHLRHYDIUOT6AAJO201RUMV5AAFMJVGSXL5N0XPU8QO7K4EPYIACBKK8QK5CPPTU7QTZO5ZOUKJV7F7KEWMS3JYSM39C1HZ9QGDQ3DUQ1XVME3IBHYS8POR8L5S0FTPZ41OKJJTQBS0TABA0PFAMR0UVJI2DJCFIMG427P61BZ07 = 36#SS62P83Q3CJZANHXC1A92QDQNNRIE7ZOZANBVK77K0SX2STI7X2YJUSO6XYZ24RN46ATSYQOZHC4HK75U1KWTBEE31JDAIN6JMG2JK9LZCJYIV6MJZIKYFT325FO6H405C9PJ8A4MDIGC5F9DGA9CW19NYR9HLMUPXZVYIFZXJZU2KG9GS8M32NV2MMYZA0BRCEDNNOV1ZZMT6S03HTPHMISJYQHZX7JXCQZNLSVBH3OWVNE4Z3CQ314KQL0Z6A7ULU4NY8KE4XH84T93JH62FF0B6DS90C0CBY8EKEFVW3VVE2EF9YEESRTHNLFWOHM0S46504DYMACCMJ0A6H4B323EIHR4FQFKC9V7L7PXNGHAQ7A6VSR4TGDCH4CKQ2YD9B56PT1U0QW7GTEY084TOVWCLD12BM6ID591BOMSPVD5V52QTI6QOBH49KOYIJVIYH8YVNSW63EH6V6HFXV8IDYSVNG4MGQPPMCQKXGXX4G6FSWKRGGPK2WJRCXQBVW0FNSYUWI9R7WHA3W5J5CL8B0QTWJ5FXUEV3Q4YH7MZCR57Z9GXAY1NY3HOZDTL84K4XED552FF9ME17H5OL3F11W5Y2MQAJN05RT3O1FE2QSWCGTDVX2LGAZ7TTCZ6J2NB7BDDGTRCOCA66LQI9ZNYY0HS63UK7BN9F5Q0OOVVSSNQ0JHAHA1YX5A3G0F7R0KMNFQXA8F884WDI4MZMC5PGKD2CV7N266GMYB9DG402AF6JE0I033HQHD2GI61RQOMOHQ8WFU8L0CJXZXFDBKGOEZ867T2HONW89GRVCMLJH7DLNWJT9GF327ADZO3DJA46NN5ASP9TFLMWZQWAIU2HOTO3ANSOJ5WX14VQ0ZHFRFAXLO174QAEBS6F2RALRKUUID1MNPNUFGNXNR8JKBRJLAQ2RJZL9C7DV1P37SRWLW8T4DP0DP9BPLW0I8OFI48G355G0UMTAHRHTTVE47XY3XXWU0MZ0WAU43IZV7U2P6ZV6J87MJ844X9J19HAB2L2PFNXSNKN4CMQJ5G0DAGFM44DD46L93RQNYH6DTSAWA6BF1COFF4QEM0DVVO1Q8IOX9E2QJ6AFN7ZD7BVJ8YF5OTVQD7FL54NMBRT188FN27KQY4XRHO3L8Y6TXJFBZASA25Y4TJ2ET1PCAOS3HYFAKEAYH96XDVOWTEN0IAKXITTN65UD5F2849MCWYXA2AD83KXTX2NYEXOY53XEQ3D1AX9TV2KTHX4VMWKO3A7M85T9GGU0143IA32KVSB4WCOTGJABBE9ZS3I030EC3RV07RKS8GU6QGBXZAPANM8DWTIQ8AN44I0OEKX3SKNCJGY560HT88C58WT8W1HD8WKJ74B5Z75NS51GEERUZ4IYWYCPWJAOPL6VSGLRE3JRETZIFOL1FYCKAHKJH9VU4PZ3B2SQNX9HOZUL8GJFVVLZLXF2DWDT4YC6UMAX5BKEYAK8F12NOYF2TC468Q32ILY61HOVHQ345FGBCILBPDECQA84S5L4FE1E5243GPILXR4K1QPZEOHHMDMMUYRWGV48L8D8E4PW0JJRFJ4075AZYQLCAM8Y5L803PPWA13WN20VKQX0FDMDNIVKK4KWBUE27RWET1P2XN4LF25W0XU6EEGI div -36#ZOCQOK1RAGMEDE7JE1WH7E6GVMN6HBW9C0612Z4ALSUI6G421J57HF2HQAYBRK4793R05TC9OSFAGFT7PLBYIFM9BCAV1ZMOVTOG1D1EGB1HZ9J7E57CCK2HWTCCN927NQFAQS2MBI2YWWTOX27X51H6ICKLT80CT3DZNW0KG21K6OL5QHMJWB6QKZNXBTL9XO0QJHU0AW1J8S2OCA0OULHNWSW0FIZ1XB5JU9NP7I. +36#FT0P2BHXVUTYZ6SA2TXVXULOEDKQGXMJT2OWJ36J7MH35LTU2 = 36#19FBG50M1K5MUM2C8M4IECM32JJT7M73R1F6BWI1KG2GG944X4JV8R7XXC268K91A29CPBW03UT281PE9XL55ABPY53A6WSKS8NN176IYQVDX6UBR2X372C79BHLWM0789SIG4GCWN5Z0TH7KSK663DZCU4QXALO5ZW4AFHPTWQQCLC7CQYRDT3MKGX5RYTOWFDGZ7TUT5QGWY5AS0SQI7VG5112A1CNVI9EX637P81MH3VKSWZMY24Q3QO6WUKBJYRKA8JCDHMV4G1DN1AVRKP3A2WNPO1PPZBDASA0IQYFIPLWS41F3BAVWLYMX843Y32MX06DE25ERZIGIM6ZRIWAL43I7Y8KECB10OVMEI6EY2KQ5T1851IWHAXS9GOGOADWO6PQ9GFMON2BVFE2JLDWTPCCU7GESXVUX072YBANETEJVCDBN3LR8NHLHF09RXZKCP08LAI5BU8H1CQLKL8CR1YQXHI0RVP6WTYGGQDIEIL228M6E1MBPRB0O6CPDFS87VZ7LDO8W7OIC1GXQHVZ6C5UC7X37BPVM0O4VA7L9IM828O355IIRU6L6N9RNGOG824VOKOLEEM27ZJ8ND4WUBTAA5BLNWCTQ6FSRI8RDIID7E5RB3MHGVQ90R691PWTOTWVYB14GTJYEFZ1E5W9Z4W8L1ZHMC4VHS55R3615CL4LDUX2LMUS6VLY37KW5BD1CR85C7TTKD08G9ROFRU8L84LHONNJSC4JRC7BXZ8XU5YWL3GAUW036E652IGEQ5I122BRZUYQ2QWRIOVXPI8LSSFP47I0Z6WA3C6SXCPV4JQ29UK2VA189550R86UJI1AKRL1HL5V3OQQ0VY8JVGBE8APVOL23QUQE9I6IF93AAN2EEKRDR0B5PK3A1EOFKQFNMXAXSG62KR4EZGZHTH4G6CZGUND8GOCFUO6T67LMHWNVEASQWI73IQ6OYSEYKUXIW3VPQQQDMV03EVYONFZY5H8QRAD4NTSBD1M7M div 36#2VGLRRHPKANU5WEB77QIU34YKF0G8WZC7LABIY8IFAYUDF4AG4QHA42O9CUDQEWLBUEAI94I3VAS16OHW49LBVXZJASM7Z2ENARDJ7RY2RUZQLWJPXX89LRR8WFCBBNYE39HG14Q17C0DVRH4MO73TXSOVU67CKOSS08J9QIJ4R8A55BZ4D7COXCHBGGGDWSR7DHADE2WU89JGNUVPJ54NG70SU2UHJKQQY1HSN5KUSZL515E3DYYUTCWYUVOEI105GPIU5QOSUE2R3TQ2NU3IIPM9J6JM1B85FBNID76WOT5ACM1F2PKHT4RBT7JM8CSWSLRC101T0TLKLEUVCEB3LI6WU8GI0O899UNTDNV1FZRMYRKYSR68I0HEWY66LW4C34L11UHFSMTAOSU3BE3OPTM90RRN743YDKU7SJOH01RWL0634KPN7EWO6D2OEQX7WB8ZUOCP1IQDIVUSUU78BIDRO4UISGAUGFZ6EO3SYVGIKCF3TRP65CR9K3Y0V6X4GBL9TAFISZT5D04A0BNOSNED4D9PRT3AFE571SWMA8R5JGOTZX3T5WA3H0PNGBI7NL724509JE75FUIPTZKF80LZB3KRDZE8U0UL0TFMYTKLRK318UAAXCZAVEBP1TJ0O62XU5MUBZHGXJYTL93UQ54ESSRMBJB95UY0KMCLCIIZS8UBEI8B91PWSFOPX9JQN6FFVB8YNIW16GUNANAWTM4CVTYOC0B4SOT1JT63EYRKJFWOA99IZ0QVBORU0SQMP8B7KIN5BFLHSBL6E1U0026YQDK9VZJT7XMINO5D1IAYYNQC9IFB5T1UMINO1SD9D1PO0F3PWLF0WUW52D9W1IIGWN49TBHDOZENSPFFVMVOIM099PSVCEYJJHKNX1V5ZYXC5ILB1VT62WKTKXE2CAUP6WNOG04YDRSC3R2S6F7N59BMBU8343SIT. +36#1WO6C7DDWO2NXDCF8JGMZ72AYOG9D0YN2UAQBXDT5B1KESFAK = -36#1Y2CXCBW4EAOAVECN22Y49TY4P5FN52P16U7MW2EQ7Q773UPDZCLOR5G5CB52AG9JCKI6SGPQ3GW47V28HVKD30EMQLN7YQ9HC div -36#10QB2PM6IRQLFSO1RQ071862JJ01PK3013Z0SHJC4NVNKUKQQO. +36#2789UVAAI1XFQI8FRQYMZ5DJJS00HI5B0LLZFLUBTDHTE0826Y = 36#5LFXEW2LL53UH7I6LIDA9Z3OKWT54L9UTN2AR9P4AN2MKRKNHPWTW6UPURP1FBU0S949MO7IC7EBCLUY52WQTHMARU0IJ5K418K div 36#2JJ38MA40AC5QM9G7H771PUMTVFIF33TISTD3A1Z9MX8ZTLDWQ. +-36#JYVPIRI76T5725DO85ZFF26UWTA3CNUS5HOEYMJHMK0R40N2GZBET09VJHVMNX7LR2I842PZ468OM6USP6ULY1V67PLI1HJBNHOZM6J9ZUKOF6F1RB8GDDWRNQG9DH9FSM3EUUNPLVK86NPNMD40X8V9DKYGP3S0AF7UNO2KZBHYGBYNJYLLGJBMOEQGRBXE2SBNXOQH0J0R339BICZJU3AH0AVXAFFJXYFAE2ABCSY2SYMO0ZSH0NMQFK8Q6Z5KBP4NV6SG1RZGGM7YMU44Z3LA6JLHUEJ5S2TDMB9EFEOEZFO4MDRDBJSIQ0RWZQS5YDE5MTZI7G8YCVP570ZRYOECW4PPO9V0G5A85HB3AP4XSGITK698SE2E9SVDSYCO78IH63WPFDV8S3OUDSTZ65TVT86L28W2L1DRYQWRCSOFDAD7JBEQXWCJ5D82WMCZ2Z241A31EDK2QIG2O2DN85M8893V0D19TUITRLQ1S7KU01P900SFG0FIBSLIKQP9ZODZ613C1YSKTJKSHKNL52ZJG0SY9IACEE4CTDYOBN053BJQNL3PSB52TOH7J27AH31MSRQFQBG3UN9TSIO3T2RVMUKZ6M1GXWS9KCHY9XFY = 36#F8DCCMBSYF8NKXTA8ULRAU023JQA92U2ZXLPNLB3VV67IBEWHPO0E56SMY218117LVB5C4P7QQLK45VEPOS3E2KWRQ7FP0R56Q03MA6WMZ0FR3IZ8CKMM2YD8PZOW6V8RU1OBJC5B8ONF44HP90FMRRDA8RADL21Y9XJE36XTOVW2PTYYMT1DER7A7DFP31X6PR3BRXZUYAN4MYXG23IG9YOALWNE2UTE8D8AD6JSPJS3FGJO8958RPMQEYEZ59RI5HQ0M1COS6U32JF2PWUY0Z2E8L71K9JCXIAD4AYSL23VWZ5PGH23UBKIWMLLTSI689ZDSR7VOEKVSABHXJAJ8XN9BBCNV0U1WRA42FD06YW8KX7WNR6WQFG19AN0NJ0SQQY300O1CLFASVKF8VPHVSG4VO11TOWO68I55OZ8ZFX5JMXQF6QBWF410OJCCS592WIEQLITB9O0X31BJHB6WIE1SUBZ9MJF08A3GTO5QJWCAHQOY0TLVH5WON2UU5SQ4TERET5VAXP8KZ4TDC4S6W4X9MO473N1BM9QCFVJKQGC2N3OPAYI8YOW51 * (-36#1B6Z767OX52Z7FZ6EZNVF0XQSAMRG99QR8RNVAR2FBHUK313PY). +36#OA8BSD46WI36NZGU9MNCMI9VKJ9N0ODIHUW41U225OK5KI5WBW616DYHIUCLCJLMDQ5PYPY7UQ81ECDT957O5C956LWO37NM3X20DIOG0ZMDMECUMGH0Y22LWC1YAKJIRJCNBC9R75BXNAXCI6A406OM91 = 36#D6ZR1T5AEAJD53F0AFEQB6FQHYJUT89SP1HSL7P1LKPSH9K45P98X97XNN94FR6NSATWGB2BFPQXKOPQRSW8N0AUKB1D370H1WCFWM0X7 * 36#1U9B0BW9LC6Z1EURN1RX2V6HB1IFQT61OSGCXS0BH0QDC63JOV. +-36#6OWA4AQNK6A6ZQTMLE9KARGDU58YNOUN2OW54A1R8ZQ3X7U8EJX2VAUWLX26AP7S6WA85L6IB6ZADSYRZSM3PL5QWHNK2EERRQ1L0SMX6HXZSM8OXJDFEHB58KWB3ELK3GH4X8U3CF9TTDTU9TZNJ6Q6QY99BCAUQNQ876K = -36#1ZWENCDV7ZHZ2UMS20L8EOAOJZ6I30OMCV38WV9HUS1GWKPY9E * 36#3CM5R1XEUTZIIYR6M5BVLT3D4KPABT73922L0OG4A22ZJ9RRO2HY57Y8SEP7BRQVD7ETSAHVPCSUT1KO7MDQVC3G6A8GSBU83ZN8PCSZPPX65W5ZICZHEM. +36#P26RXUNXAR3HY0V3KMO9WSEWVQJV4KYZQTXH6PUQ58DRR5F28HOCM1Q9DFFV3S52P4KTX8Z7VCXH20OJOC02FY3356LRCOFA8QYWT9ZB5IYO4U1YGSQ2OVQPNNTTGS = 36#AEDOWQE5LHM7D3MTH89N8GPTEM1RTKHC3EWM81PASLN1ZFK8L7DAG0W0OBBQU5W6WCRLX9W7UUM2LGGOX1I1IXU7EH9ASMBXKJUGM2SDF57SECOXWISEWWJCTYHJ4LS9G1DE86IPOB75IY4S07ZO0MEXB1GW4HFDWP15HOBR2A50NXW div 36#EXSSX0M80YIGGMZGCXKXNTEUQNKYB8TTWFDI5650UIPQ5B48N. +36#7CUQ9L6K11JULYI5SWRNE9FC7JIWIIL5IJJMGSIESBKC5L8JBUDCYB36TPABLLC6F33E1D6JQ7H2VG3TKKO6IGNEA6C614YGRBEHJ2V0YG9O0VFDNL4DI9Y67O2K0L9X0SYX3 = 36#16DBK236ELXXBROU7ZZWUXJ46751G5QMVQSK0EAOK5VQSM9YRP2OCLENBDY5KBEJZ4ULYFMKRDUHHECNAKG2JAJNKV776NJM9VUDJ3NFMH9U5BLLIOVO5MUQQG53EB0VA7MXAE34DPT17BO4D49QD5N0JHPJUUUP4UP3WKM1LQW0C2CPZ78B713BXURS6V8HS7I1QLUJG89W6ZJ8ZH6MFE3T398UYBXHG5VEPHOXVDA78XCHAXDNF92HSIFH1NC div 36#5RBT1DSD5AO65RVIYPVZ1TJAXDIUWKKIFO0NIHNZOKLJL3PXEZB7K3LOYYOIZY0038JO9328M2T3ZLQ7EUXLWPIBRVK8VFBM83INNHT0C71W7PGTIGV5XF4LNS. +36#K4KUAPAYOSU9LY9G5EUMNY8ISPWUKBEM98X4XDMA81AE6W431MWO4XQYF11AYDYDFN7T48CUGRXY6UWY0E6OW8W6UWS0BLMUESIPJJVN5SSUTG4CG0W0KUP3SFQ238WXQG9ZAGUH5WM4RFWMSBSQKRQNZABBE8T9L6ZF9CCXB8PDCJJW9G2666JR8C6P7JHH6EC8CICI99BUAWQ86OFGYI47ZM030GZNCBLVW5OO5D5J6O8HAEYJZ7RVQFUUGEHUEV4K89VFJC6OH8E9X18EQ3NV3I8RFGSAPUDMTYULKZFHX7JUHV406K1NYSR4G1CILYT94CJUOMX3TW1T76ID5H2WW6UK46YEYIQZF2J6DT9CH7677LXVLRU1UAKSW1VLZ7JS3GUUELP8DNDIRAXD881TW6TFCADEEGHV5581HUH1UOYJWLGK0S60DST3MF68ZJ64W9Q6803WDXVG73LZ8X5KQCXO2PPBR4WDBW9ZAE6ZMVAL098B08HJNQ9BJ19GWBRHHP3MPDAUYVNRIOMBDN9P576TZH6JDH9MD04TALUIH9C0RFTZ8EZ7B3LP8E36A4DKBW5ZNCLYR8JZLA2BDQKMW2MB4G4SM7W4XJMPQDQV34BU8ZFUVV84UKKQM07EMLTR1C5G955G9PI6JBY5RYK9N0DLB01I2UBDOM04VJM5RC9NZ6VFJU59KA02KWHLNQLBYQPYN0 = -36#13YK826H3PNP3LRA91JPF6JWU8J1NW7X479PT1ZWG7URVSMUUUD162MLL52NIT4SPIU9VB9D614RPN3YZI1U5VV7L4IAX2JYZ99ILLEUBFZF4VWZWMDVJC35EXLQ6P47P3MCQTQZARDNFKRVOEOIFXV6HMKVOJF9OFPJTR8KVFQZX0UY3I2CQRVT0W423H3UJXADS8M2L0USKVTGZEWJX1AXX8OKXR4TA4RT1ONNW8U8YVGOPMUB28XGLO44DLY7QZ2MYPURA * (-36#I4RTTGSQZKN97H7X7119A12058ROSLILSAIBGTZ0UYY0EUVJIFB7WQGC3N0EVZYBUM4VKWMLAC0WFUTC587RDNEVNOSQUCQJ3UH7M2N799L6IIRTVIXVEVCWG7E89NC113HJPPEMZJLXWVGGB5QQH5TO4NXEOC0ZJAT0NUFD93FXGM4WSK23XT25UP2H34FTV64UFW3XFG4ALA5PLPRTVQAQS74ZWMS58K3NNZ9ES5NQ9F1SKVQORKZJH9OFJ2WJBXK46EMRBI5VGFUUE00TWLX1WOFCAVKDTC39E4QLNBJQ8TQC1KTDU88YDVU2OJU5C18QWB8NY9YAPOU6QU2NX61OXKECZCXRCD6HYTY4NC7SZAZBILMS36WUPBK0J92YP932F9YSRLI8H3NDRE7NHOHGIFYEFMQ3H3XBRAVI0V1JWIGBV5CXO0P9QFCH2G47II). +-36#1MFCJQH9V0836LUCECRCDOEKU6USG4CLK062FIY4F5FEWWJONK86C8SADKTUNL8A5CAB0O5U2Y3Y0H1RNUBH5QRC09WC2Z6XAD92T3PSDANIY9ITFYVKWG1NWZKVQ71L9K84HEMOQWDQJCFALYV10O29W1CMFQGN58WLAYEIF5475HI7BEZG09TLUEAM9A7M54K2FVGFK3EFFS = -36#1FYSJB9Z8215UXMXQYCOCYRZL4DYLP14HUQ6I4VJJGAFBT9VZS * 36#14H3QY6312MX65BBHXJWTBHPUUH6PVJDX3YBFEP1OMAVM1F9KEK7QNRIZQW0DPFMQBDBIPVA9JTY7KB89RJTMEYQQ23D1XDE1UVUXLTKVCF2QVHIH1T5KURZ0W0YTM0GXUO5J7U0K7PEN96V7IXC9P9WWBOKJ. +36#188OBMUUYC7BGKRZ5PFG4S4CVIFI7GVRZKC673A99NIF6DQUDO91A3WXTI7451BTEKIJACP8Z5YQYCHD2CZJRG9SRA06AU9MLMFL2ASL48BH9OFFWLQ833S7QDBX8W9B61B08SAKNYUR3SL10GPX749HTV4WIXZ70OR94HRFK7HQONEF62PCSY9HAY1G2NMA8PPEVO2SVYHWCYQK4WLMWKCD2EX6MBEKGI2UICAOIY85SUKMEPU0K4U1RR71NGM4CYZNN86P5GKPFVRPX2G71BY9UEKD6VEO8MJTP42WUH934TD5J5OAUMLREV8KAGSAZD0WPN0EAB324ZOHJ6VAQAMWA2F02MN50U12L7ME0RSFVGB0C1F0S0XSG1VJXF72URBF3LHCHKOVWIXQC5Z8E7W891T17OWSLAPXWQU9RIXAUIOH7TPR0IYS8EST7YH3KRD7MYJC3N5KU2NKHV9KZSSJPOHR3ZEOXDBZ7X5HZISIMAKOQE7X4ACWWS2VYO1OCNWTZ10A92GIJ4S2IE8VNXN4PT0WN0W1H0CLAZ8DMPVQ6AFSLRYX0U8GCCNUTGF6IJAVGDOWV0R71RF2BZUAHH3RYIPUDKJXB79UUL8WJDFDXTYNYZ9V3TTIAY4Y3B6THS8ZPC58VDBX6DIGAQQIVLV7YUDIANL8F8YIVK6Z959CND7NSD6ZYVAF3KXXOMLTZ1SXD0L3WCQNQEJ4WWKX9O8I4QORZ9YTV2A8BJPQU7U0OCMCZLA5SZWN4EKMZZL9QRV69Z0MYY39IEQIDFIQBPSLX7YT51DXNDN2ENZDW2PCVWBFFN80LFPJR1THNEOZDRUZ4JKHKXRRYRSDN99UZW1QF9ESYZZ9AJJO99P6DNMJFNZPRVJVHU2AFYAHCDZATWZ6X6Q739EZOWUL7F3TKMMK6MDWAFTR6XX0C82SKRN60KGSXW9PM2PDA97OXB4WUZG7MWM8XDR7ZT23RIVYMHEZHTQMT913613FTXO1Y20VWVC969Q824P1OS34QHFAGVXQ4LJ1RO6JMI36XPS5OXZ6BO1CFHUTFGQ2D691V4I988S4V3K3X6RZEUUBELJOF1EODSS7149IUJL8CWD8GLG1BN2YFZ00SNQ2974C2SG6M347IGN5TAJ4SVQHKL9 = -36#GE9BJ0T3HH820DZYNXWOOZU0J8LXKZRODHUQ66BLUSI1P970CNGDVPQC8KYFXM7E8KZA9N848CWB1AB8QXQ0O7Y2AC9O44UFGV6JYRJY4W0UMDN1ZZJG3SRTZKO7G8HL9IQZW67DMN6KB9KZ0FU1GC99HDGD1EDVD38ZB2LWRLKEAVMY9BC79NXQG6YD6HG21FEMSP0CPAZLIU58MMI2IUYK6IBVWLUDYS2SRYSXD2H20MPJHQWQQ1T70JOOGGCH2S0X8TJW3SFZE29APO7KXLHSGD1LX4DRFU78134ZJV6R4A4P4I4I61DF92U0PB4PL2K8E9SNASU8M0YBGWV2HKATM6B7T0GENBXVFS6SUZGUF6SN29YMQ4KBEH8HC3BGB4V6WNFVE4TKOCK1EYAZNCVI243HL8J6GT8SZE0ZPMCFQQNKTBCWO2X0O3LRFYQ01KEO9GN44HVMPJUKS2LXRO6ZWCQET0MLW5D2AT1ZUKH9OPV4UVLGY4BB2VFH5JL72RZ9FD3ATAJBYNQX76X16UC906UJOGOXGOTAZTPJ1708X5M0NZJAAXSCCKA1Z9YV8EQF6T33HWP3776BVCPGSAF1IOZ7D6UW650SV8O4HW67WJTGCQX306485U35EXM01ZI3S1QMTOJ6H6FIIDUC61P70390L9BOE4WTI49U2NWZGD2HXS67Z6BCPR72BIHG2AYNMLR98VZG0AZS8AHE0CPO870OSRG3ED3ORGY7MN7C325751531BGKY1185HOCQQ47H1O61OF4QKHET338Z8TDOX69X1O2AKAC5K1BT4XTGXBPXIL0R2Q7G9GKQBPSEY82NBUFNA8NEXYKV42K55VVDO9LELN9Z17S6YZNNIAEFFIDGXPC8EKX2C3AXXRR9R9ETXBOMZBYKXD9UZBGB0GW2V3XMPBSS2T6A4BLPZK9TR * (-36#2P4YB4QW5DT4L5WMU39DRFBPUNMYSMJKM8A28EN2T3L1IYU97IOB3GX49EKGP6GGFQC45SOZXQJ3IZXV7NTSPZ8OAR45OOW69VK6SKKVSXSVY6KHQ7EGDSVLR7BELCRX6HGH5PYQ8HH9G7NJ4646Q2OJN3MYZFQWVASYX4A6U595L0UPKOWXARZYF61CEIULP3T8JTYKUO22SVGEB). +-36#1CC9AVSNAUSU5SUECAB19OLPFAVSU66EMDP1RFQAPX8Y3L29Q17VP4IH4TJKK2WEGCY5GHPON90CVB0EIKYJB1BWBZ5WJ0AIIF6FZKRFO4UIBWJLU7IP25GBH3S1GI9CRNKD0LVNYYKXW200W3CXNHFZFTS90YTC6KI23O5QSEXLLY08TEY1P7MNPELOXSECB7P09SKLJCD3Y1GB4X0XI3SVXLPX3QSPF2RK9WLDRY46LVL3SH451ZC7S54K2JG1GJCN8VA0K4558RYAIXYY = -36#OIZO8DLP65M6H94N3X283SYQTJP3CW1YO8HZYCH6G9Y8KEYLBSBI5Y0M3F7OVXFY17WPKYY0O5J152A2VO46M4RVDSQ3465KCQAIASPUYUZ319YR2665FEA4J2OKCTBEL80LBKL9MWNST4UTBF42JUUNTUXGH42M2HKI7ZL11XJN4ZPEBCDYZAL6IX4B132ECIEVDSP3XOYER992JP8TCUSYCK5KGEI2ZJ446H0PPT9V51OJFOPGO0JCM923FBB4VZDJNQ6K2VNYB5NG9TD5ZNYT6W07G4OVSGR25G6064RVWVUIJNIIG6UKLLUB8WGHVXEZTGUOHIC0Y7KWIKP6QEW69CBDT8FTP1GIZHSQ2MXRHZRUY8MT5I7WZZ9ANU0CSR14IY6U9E6U0WG40D0D92PIO1ZZNGF6TWYO0SX4DPL6HCBQ55JY28BNQDPROPPNG31KJY5JFOIYGTAMTBEH91JGO3WIKWCYEOG9N1E6GWW8I6CDPWOE682CHR5J5D81YEM7I4QCMMD9CL1K8S1O820VUJ1KNVNLRI33B521YLQVR0V5CSXD8XD1RHS7HTMLYS0GSSCHGX3KGC1ABJT36C5YGNH6MMR1J5K9MOJSZD5CT0J8I3PCKOHUUH2R2IQM2UDYWZFC8AO4R0E0B6FH5J2IELLHO6BMPHH28M4UVV9AF7M21HRGAG7BYWAQDPIO27ZKDG9M17VOZ5FHOOWX36BTRXTHITKOKZS93ZMOYNQFBUVSMXF479EYZ0EHJECAU9ZT6M1AINSVJ1YFWK7WF0LS4ZWVUYSJQ94NCQ7Z8LDKDTDSAQZ43BCK0PX632GQGQ97FSI6BPXQW06216OXVLCJT2MNG0EON4MN8NQHZY55OZLRJG5QB9BX6DU0LCRAYH29QPT7ZXHI6TPVWQYYL71OHG8GW3S778GGETWJ10IZWUA6J2OY8AGZW4QI7PDXZJWAROLB1PCGS0A49T8F8VMZVSR4O7UUF3G7BLLYD2J4LSIXEE850D46LJX8Q94Y0V0EBUUNOD4UU7HRGZ2CA8A11QHXGZZJCUVP5J5QDVIY6NNT568JJHHAIFUVS3CQ5A4T77RVYDN1NP2IHORVEYUPH1VITGNGCC9RIS8PWBXENLGDG2NGELLGC0XX044QCJZWP1A2C1Q17MKGUWAKG0MNSQNV2E4725QIZALTF4OSQZRFKKS2U07RDIG74EDYX00SG07BDTSRX23EIZQILSA83WZCY22JROYCBT2M3LHHBDVJIWFJ5S836P6UYL7FX5VOLPIM5HHUFE1Q0X9K1ANEWKFMSGRIJNF6CTROM0IZ2S0RG1LKL99VSLBQ6Z0K5DH4VN9EE34Q9T6ZMX4OUZRG27BQO1OY9U9GMGX6DPBTLNTGDDG7YPQV9C0RWNKR84DGEG6R040FCCWNZTNRQRWGY7GD7T5CQASTPS0R0AWVCPHJV9QMHDW0JI8DNZLA2I79PLMUW804EDUDNNL8WEVF6J17827CJVSQ1OHQZHCO1ZTOXG92PMJ6OPZIQMP7DWTFU092YEU6U5QHEU7ORN3GA52N1R8BRYCVDDVUR8X07NRGQAWCPWP78OA2V64E7QP2 div 36#I9KTJ5G9LZMRB8Z6KY3F6IYD0SNKIQCHPXDOV2PD9PZ2L30H9PY9WCYUYC24PSHUGCECW04Z7UI0BUP2NXQLAUD0D8U2OFENFGEE7FN5AB8ASC70B547PP7R4IO6CE4JMVMTKS6KA00PM5N2A2NXIRWRWRX4IJF1YOEROVTC6KS8XU5XCMDCQHMMVH74G1X0A8OXZ0FOFFN381UP1GCUFDIGSJH7DN1516AWO2D0CZHEREB7US7PEW2ZQH1YM6UFBAD59MKQXBP25DXTCOCW07FNWWATOJ81PFQJC3AFBT393S2GAJQBCSJJM8MEKHZ5SDX3AK0KX3TBK2LIVOFNSDG9NQBBF3KVHO7H2HIAINHGINMD801M9XJ1XX68FXR81OL8LPPERAMI797HES8BXH629BSNT9ZWS6KM42X3KA2PDG6FZ9XIG7TZKLAKXHN7NCZ8T2L5ALF7JUPCYTRCB5YV49TO9UUTNHPOH272VNCY1EQFU4JS1DG3NRLQF4KD36LJY77PLF25E4IXWELUCL6GPFRDIJHQO8X0NDHH500WQZCPA3WXVRWOXHSG5AC3WJZ0G9HHZYUXUD06RPH1GF3R6LDBO7FL912K9A9F1CQX0WYVFQWI8XN0D4PBVRZ383WY1SX3DOZDH0OCSMWSIIP7OV5FGVSL1KVGZH8O4ZSRZRPR5FWBT01L9Q26E614U7KPWC6BN791BORQLV7BBAY5HS9QSEJ66A9J67GKPIVHQZD7U55V29N9HJRFWRI5ER15PWJPSZ7KUULL3Y16P6LQW06UOF4NT2LQSPIV0NHEMV4A9VGZC59ABDV9RINI03I1GAUB34YUG5HR8TD0IQP3NRQHUS24K5QU186XM9SEI1XV7JTEI50E599QDQUWUP5VCJ5LS9R0RDZ0J4SFG9BZRCUKS6KT65L1T8PT12MF7OG8MNGXQ4PMAGXI7RWYX8XSUPXKYZ3JR82HYVRU4OOVSW0WB913V8MU83K5HYKZ239H3UDB8541W85AGPQWF2PZWW4RW3I5MGPGPBDWCPUZCD2P256VN09M8NFX4A6GEGJBWQTCCN3J66DXR491OKR8MM7W6QBIH04D701N1WDC65LFBTI9CF466P5EPF7Z128TJK8Y5W7YUX8AA3SVPM2P9JLJEG7U7U686EJSKO08B46KQD9PKJWRAT0ZQKUXFD8P8PBCV2W71NT6JOLTIY5QMBV4UC9CXOEMA0BCG2G6Y4G7SIAJ7200L2G461PEL20TFALABXP7OP6QHEWIR5IVU79CXU2SGY2YVEQ5SJWQJ7UJMC1Y8CPOAWPE7I2I51TNZ. +-36#4YHSV8OBVB849CCG6IKMHR92PU5ZIXSJA0BJLB26TSSSOS94N05XCPYNNFCSLATGGO046F89WBHZE7YJTVVT85HMMNKKQ5AUZ7C5MNKY28IYOJIRLB7WCFFXP30C6UPYC6GQE4IUJ3HR16A9ULEAL44XPR6A4PGP70QHGI3T98EV9Z9Z4L8WDGCAUEKJB49UARDG81U3UTE9FLC2LAYMNOOBZJ7Y4IW7UIQX633NVZXMXAZXIJV6M1ZBATTJ2DZS97KC3VT4WW7BKNBN7CN8FSR7GM0F4B9PRPM9RP81WUTRKGPLOE565C0CFQT28OVAQ67X47DTV62PG9FY4SY88XGSA3YP4RWTU8FDIDUN18XD6T5LVV6ZOJ9TTZQQQ6A3AJYMSPBD3NPBXS0CN2HZWGXJ8PFIV7U5DXMIFXAGO = -36#9HB5V1RY722FDAFK1MHJCDH0T94UBG0KL1LC6AOAJANVA2NXO * 36#ITRMMY3CUADTC8V4MDIAPUWNBRUHFQJEARFI2H1ZFS5Z25T71LWEVPU0BGLDXWZ2D4GC614H061ZO9SE2N5LE9Q9DT9HRNFZYQVZ2L808AQ9KTCMMGQ6WFD2UJYL5CU78OVNSVZMGMY8V6TAR025F4MKXBW84TFY2FT6UKCBL16BHRFJTNMS3JZDQOWJ8LHMY1II23R3QLV5IH3AJRW8F394F1UQ9ONW04CVU6CANZYQPRY8SACXGMNAE6HB3NFJV1KPQGXX64OYVQ1FU9DW1LIXRPPZSJU4TY6T84FRAU3DX1MBTGKR3RBJKR5WHB2L0FCDHQET7CVW778R950YFP7AXRGYQ6GN9RXD5328OP4JFTBZZCL87EAY. +36#WTZQCLKWEG36GL2RUMU61T882U55NFQ4R67208D7D67A3I1QVEIZ5AH0UCZGGS88JX0TIV3NFUFEMS4AKCYR09518D00SMICPZ59F9FTDAMMK2WJV8C44J2IF1D4RVEAVIJ38Z0NVYJ46BUOL7WWREP7IYWH64GNKM6RAM31BQLWLUPHQYPE9I0JI2JMG4Z2W18FO2902Z4B4IDTCYDDG0HUIZZA53EAXI6UF8UJ99PQW9Q1GIK4O5VC1PDJ0X333EZ6NLEUHIUNKVUQ6KUA4FVMTFFM49EMTIUBMVQDA4HB4RDO6DY5PDHVDPHKAC8RQIYC3LOXIH7WXPWL86I1X7SKFBVVI0SG0VK6UK21L9HQIJWJ4KEA1FZ6EKZINDTAMJE0JT7D2CXB7WERC1W3KQI0GDX68IFX68VOI95ODR6V1MZJ3PAX4EMOT8JROBFCEGBXBSHB4PD144R8B9KRMHWLBISD1AMYH10U73CUQYK97NT0ZI7AJUB0RGOJ048H8QHYUJ542 = -36#UDHQWYEUJC6LIOKUXSBAZU4AAIC3VR16T9CES43CZA1RVI0B059K0YGWVCMGU9NTS1VNWJ9Q9DDL99D2ZRU00K8WU3FM0WDPZ1A0U8IIYVZC4G7GIMQ9ZNBPRLJA9U5E1ZRCPLW7 * (-36#12WW078SBI813SNXISJFMZC2HB3SY7J1ZGMF3T33HKXOP3T6MBMMOCDSJLQ9JD9Z3ZF2M1Z0KREHRGLMJ7V1YKXRETRNQVRPMZVXJGNCZR7Y5KKLORZCL06ZVBI0ZQ8X6TJCBXW6UTAD0LY3C3XI0KFQ100KW4P7M28QF27TMERXXEMLDMAQAAX03UQKI97GLE98TBXN0D1NBQVLRCNMKR8S934TE57PL6WESY64KOIB534J9H46B3GQUURBCTKFC6FZL82QCR6P65JAF9U0OEXMV5RLB17GQ3C9K75ZLIQ76AKFHTPJEMEMFT1HNXC6NC1B7NSZGWGYS0NROMQ5HWJ7LR3SZZ5DDXFVJDVT0NIO0SU31W4EU5ZAG0MWK375PQ). +-36#54HULQ570NAQ0AAECDUC99EGQ3DD0Z02BMZWO190O6LAVMFDIHRF3W0E470NS3Z1PX3RCC8BWM3XD7DSW3Q0234 = -36#R4TQJRIB0KA9EVXZDUG4ZQ7KYLPB7OUK8JBED1X2D1PQV8BXSG80PY4IK6TKBA1W83FSGNC1AT2ZV926R8DONR2LWSCC3IOAPP3UO0HGL3P1LIA5P09QS7Z7MF4P7HLWMSG9WCG div 36#5ALRFRZQX8GBKLFJCX34M1FKFI2UT2WDQFXV4I1XACZ9OV3R4. +36#3C816QPX3ZJ21BVFETCBFMILOUJ7BUER21Y8O32WS254U6VFBDRMP9OVPFRSVIINA8Y77E9SSG2KVKEU8RJ96X1P1CFEQLWWJAFJH11A6TM3AJSI3NNTVTI2LHIT0PTHX6F4DFEPQZ0SJ93SD60QAPKTYU85NBFYTCCK76QLNWLJTE0K50EXM373G265YB10V7JF51HGDFVQ5QO5LBZ85R1SJBDU525JH060FY2EX891PJI74BKQUY2LB8OC1LZHHPRPC4FEMWLJ78F4405H8PNLR8437JQ2N2NY43SGJDBATS5IE1SUH5GHGCG3G6EBC2OKG75B5CSBKCR22EK7YD14HATES6YH3NHCFR5X9HKRD7HM06R3M5HRCYPVFTJMF6LN1MRFGGXT65JOSJFFC7P16ZH1J28W45GQXVG5OKY1YYWD0A1BCQ0YJM6T9PX9WTLCUB2C45QKJNW3V1ZUX5612YX6GGDZC4T40SUURFNGU9ILG3VDGRTCCJQC2DV5J57OBASC4GMD86KCEEW4B7FLAUZAHJDPXIT5MGU8RQJU5RBI3LJ4V711EBRT7QHSHGIMSPBAKLXXUMIL0ZJEV1A2RZ0SC1XN4PORHWUHTQIP5OOKG0U4GEPGS3CIOOYCOLZKUG11U7W5SLJ41HTN52S0 = 36#1NULHQ4D3S5TJRWY27IDRL9KH8SPSZCJJU4IKG0BQ2F7O198JU261NE3Q87FD2UALOS5Z7AENAKAFSSB7J21E6LRJT2JV7AGGEEOMJBI8EDMUJ7FP1DYTFXCOV0B8Z3NOEN3K0FRRWGPBGFWOCPGZSJAVF9P18Y8KYKR1CRR3K8L2VH3QYDEYHBNQX7FXD3Y1H4ZPV3BV4SUSMIH9KYE5KVNBMM9KO8F5BS7D2BX7N3TE4G1C02H7L6WE9EV0GGG2H9Z8PSTSFWV6OIO5DZ0NACJ0LALLQCYQF2B197MXEG0Q5JLTMCJ5TBNSP62Y5V428TM * 36#20BBXWR0669X2JREBJ3B77O9FDDKOJJB3NZOZFQYZBGEJNJTGSOPO3QZ023UYX3RNJT1PVD1US549BBQ0M6SF89GFA45OI78W15PWOXTJFSISRXGSALJ4FG1R84X50U4XUW6J1QMKEIVII1WU8IMXO23SALNOWHXOSP77V1FYY2Q09HOK428XOBITWUBEG57Y8I5WO60F4UB59KZ5LSQ300W42HYCA21M1EFGXKV5MSW6XWZYWTWPEO6HLD449GSEZ339QOT60TEB8W139OPXDT356GGMVWCQHGIE2EKS7MXXY3BX4SU7MIEL42RYM3XJA5IFA3IRWH9NCSARGSY0. +36#28ZXOJV5LTCMFAZWPUZYT1E2THXOM93YW2HQF6K7EG2O30OI1Y = -36#VKE7MMWPHEGLHEWUBGIP5A7RJH41M1MZYFS7R0D4RWJQXQJ8SHUUPGC9LRZXNWSUDJNR7KZX2LHNDEL0V9NDE3SLF8828MD4336KMR0TTWJ1Q49X3ND6BCQD7TOUHL4FV62MG4CPUJDW5CU315KRI3UPC4MQ8T9RDH0IJ4DS div -36#E12PUEGNGMGO7DMOSE10QT1JFC3S223QG7KF0NLVBKU67NA7KQPT0Q94X11IBKYFEUPK51IBXQUQT8EGFE3UDNZH9ECHYMSZDY6KV60K4DAZ3IJ4DIPPCX4. +-36#LW96ABW89FD97GB441E6V8IZL0FBEB6EPHOG8H0IOC4TJP0WC = 36#LUGTS3WKNFTPEY0LWQROX3TYAIGJYJSS43GMDG79NCQQ86NRAE1RHYCQZ6333WEC6LXB49UO6YFEJREZNU0UJVQO2HG5N5OTYHAMZNNTX8811HKRTIO89AVK4E0P5HJAQYKI1IDJF7F54KTUQE7178PB9SSC26VNVX7KJ5M5MIFH9SHE622M1FHHEINW0VUHC9SMENQ8LUZP3S0 div -36#ZX27CD4NP3277T2BZ5JM318BUN4POQZAQO1PJ4T5KA879DDRRBCBUPSI6BKPUF7ERD5FOLA6M8FJ7S875ZJO70M4ANJGP3V0T6F9K3UQAV0WAFRYO1ST4AVUVX6YH6X8CSNJZX9CJGIUB407DSPH1TKZ2K9AFC. +36#LNEE5GX91368YCGK2NGCIPIQ2FTQ0IYHCN863BVR0UFYRZ1CF7HWVZES6991YCNT2UH058L3V4ED0007N68WSC7T0Z0BKT8U1T6D69MTJVT01CLJEFB1NFX5WZF8IYUDIB101ZPK2S2ZC2LB9YK825GKWPC5OZD2B4P54AL8FZV2BE8QNY1BEPED0Y29KVJYTTJ2CIEACLYX2ND15GPZPQKJHUDSRMEBXOU6CZ9AZAZG0X9029IW9F69BXG8MQ692CVFCV1YCRBM8VFNSTGA0UYCXT30QVFH4ZDGSTYDJPGBIVY7587WL20MM3HST8P0RKTHQFRJ3338N9E6QDXRX4L9XFO6OKVGAF8PQF2HZNC78ZJ5NW93YFPHQO9VL0Y8WUSCE6L22F39HUUL0Z44O6T5SQN4EQKWNLLKAQJZ3KLQHSHE704ZRY3KCMWG3FZXUOOCH6FVB5PZZ8T9FH2YKK9S7I4ACG14HJOUPURO2J1S66IKHKDJO764892ZE1VXDFFQBDLVFSI4MCIUL9DN5QM48UMJZQVUKV3F36PWHDXWVJHJYUNE5TETEWCZ1GXQIDWR82BTT9NV7TYMOAIF9UT77OLTWCZGYQJK41PBS7T7DYNJVHPUV97S22BG3AD0QK6Y96T1LLYX8DKWQZ2BCXH4ONQT9IU = -36#13N2URYMOWIY4AVTFDRNRSP74EKDJ1EYEGI20C3WCU9GYWWR13 * (-36#JNT6SZ0RCP26LTKWRJ5ZGOODHR05U4QMCEWSXB36KZ0W6QW17NAEFDL6VV1BUS5OM390Y536R6FACK2MH2LTVSQWUU79UAPBDSR8TJDCJT5ZWXHTLDAOCC8XTX7LS9YS4MHSKKCIC2VIOBB6XZKNE5FYA3TD1VPIZYK3I0CHJZ34OEMN8949X8KJ5DS8NVCLTDW8C4LER53B26QQDJYVHOD0UX8P4HWUJ3W7CO38NHBL7OH9JYNQDHZM0CKSD07UAY18QMH6FYOT73ODDDRWS0DCK01QVHRZG7ED2Q3F9YXVCKEC9V5MFTCEDUFU51DATTIHWKV638AA5C6W41ZFNICNNZ54QMBGGQ13K4QPIKYFOLHEUNB7U8RP4RESY2H624DGGK3UOMUAESB2SFG3Y9ZWH8HU7PT3QZWGZS7MUFIMBBGFZCYGDMTVNG1DEI5DQSNUOZ7DO9VK9XJMJXCPNAHY63KSG34BCVX49DU2SGRYVBBP3GLJZS1FXTHVDA9IGJZBYB1DIP2FLMDQXHQ2NLTYUZ1RDTGVTOXLE66ECG14SSR6FJVPHX6LM02GE6OZIZ1JB1EACNNGYB4IV4K0104OBW6L6DK97878MZUTJOSYUY). +-36#131ITKXIBIERVRJ3K0NPP14GKEDFLEEV7N6SH4RPSX8IZ40K2O = 36#DKTFQFHQFDM4ZNJ0Y11WEXF1XAHW2OPFF53VQ9HPX44OD5C5HUD148RE7J0D887QD419AGLU82DGV680GJ7U34W5YJPF1YHIILRLENABGGTHM24ZQT3PDUFM4U6YV6Y2JTINUGHAFUHCTXPCZSWI3MHBWZ86VAWV7GU354JK304GB4VZBZYTYZHS43IXQRNKJHO9TPLFKMWNC58PBC5686Y8WPM34LHYRFRLLCE5FSV4Y4VETCOTMYYQDGTZDDAC2LPS1QHVGEXA88QPT8P6NQNE6KPA7YGUCJVMQM42AM9GELHZQQ11BXZ3BFK5CPNQN2X3BMWREGY31N5T9XFMX4X7LFVPW71U8WKWJS9E7CPMB4I7BYQE6S75DLEW1078VOE124MSWPJGY4GWJA0KK36DP0QB0G1RZ2ETZ73CDWRTLX3T80ZDWGJLS0 div -36#CIQ6SEWTK7XWQOGU6J1D17J1MSKOJ3Y7JUN52P4AXZPS6ZASNVTKD8K9MW9LPK8ZRA5E3QW7Y646DNBH9J3F59ODXU2A85SRJQ2CVE88CCKZCMUP8DE4GQLNS5FY2AM1K5M28RFWT84PG2SM8FM277P2AITZPOT1HON0QYBIBTHQ5MGDRFN8SDNP1RYX0P6YE12Z7W16KAP1ARFGZT1IFNCM7PV31GX1945IJXGD78PDKLD9EYD4LNRJLDA6I0SNEPIBD8P9KUIVT4ZA30E3IGNXUFD87BFXOIKT2TD8FP7Q77TBX3GUP5Z2JJE9OH1DTBK3SOY5ORH2MJDW1EYI0Q30Z12MKFI6MCQZ3FRD4DQJ4GXEE6J9ALC0V7FCIAHRC45ZFXKCO. +-36#1O0Q39RO5NV8CC5755EK5M81AG20ERS309AJ1CMDKYQRE8VXG0C3K9LTEFN4DA445196120JX1DYONGX6BG39Q0CAEVQVN9K0NBUOUX2WY52W5R0MFJ2AF2P6B8BGFKT0938KVXCMF5DVG0RO136EMTRJYYOJ4KWYEFX7971PQEXKMHYJ5V2AEGWETJ0KOKXBY5N72D92KY7OQGPJ6K7YJ5U9WWJPIWRIT6E4HF4P2Y24NU7COW6QED7QRCIXHWXJHKPDPER475RKIV1OSIKINH9CFMQWFWNEESGYVJ2BN33DBKJZH9F2Z52VWS3G32G7HX7CNOJ2JP6YJGKNW24MKTMEH6POHAFEW857Z95329VK94IEJNNZIQ6FOAYNLAOXLSR005TO6L5I4OQH7GP3QLY6R6PLTZ9YJUBED8Y6MVLBN5Z40G6DU9KVOLA5CLHILLQD17QPINRZ41VGF9U3DVGVBWO6S5RULYJAUA1523X8GTD30U1TPTZGOTEH11L66N0BPT3KLGKRSCT7WE = 36#12WOUUF30ZVXUMV861NPBN0C0FTYAYDVAB1QJFMVHPSSKKHAZTR0WV7MHGIWB4RLOJOBRQUNTZVMT2B64AI9RHSU9SYOWJGIYQ8AT4OBLTA9Q2EF6697CS067H09AN1G1F1XD75DOF2R15I3Q9JW9D9UM1LO386KT2LHKQBXU4Q3BK0549BMREKCL4TNOE0Z4WHK395KUI82ZN31711DN312CTSVNODLUQ5PDVFDEGSXMWRSV871KHJA1H0G1GGPG6IWPF6HPXSFQK4908UGTH6IP1VU23IV909R179GSNL4F8Q0SRG16WGCBT1PVW8WABM5SGDEUIPH20KMUUZSHBZYWOH5KO1O4UD6L4CYPR1YQAPWC78LVIKVK3EHZPL8B0MSI0NEXV4ZCSE340ZJBC9GGBYUN891QBKH7YOER884SZFOPKVX53UPVQF8A3K03MCUX1V16G53PH5FM1EYHLQTS5ESQ6BZZMCZTBL890WHD02SRQ4CMB5YXKWTHUR8JQ9B25RK3DDGOZUEU7GP70I6P9ADLB02AWW771D7JEH5EBOKVAN125DHO4MODOJHJNKAIAJU6OX0NZ3UFUYTSO27RYI66BK6AG8FCEQ2G0QF33LXQKYFCANYNNPM div -36#NC4RKS2V1YKOXVDWO7WGGMFZ44C7CY851A4SIP5WLVPDXV56MKTZRFYWYB92NESIA1J13HUSYQC52SJ24XAMDALLX1H17OH8CVN59S1YZ. +36#Z4V4YVKB0IO61IW2ABXM0EFF8AVNH7UIA1IRSA7968JR32TWV29NABFSGMO4PSEON48DFOILH1 = 36#1G5RX4D49YLA2XJCE9Q2OUZZHFMWFCSINAD631X6GX1UVT3TAFVHNK0VAB1FSJUFL1IOI44WGW236NQ4DQAU078LKASD3B8YAN0KIUWWMBD61R0DIX6YLJJ8J7RR div 36#1HFZWW4E0UIC7VZTKWGENO681SCY28NBDRZTE4PJ2XHIXNP40R. +36#CRZP4GRKBZOMYDBH4J4KIJFVWE9961MY7RDCO5KDOTAKXHBF865SZ37U2813YRQ204E32Y8QFZETGRI4LSTO9MMCOKER4V619QY6Z49N3O6T5W3K9JIEG9DKK7NWIIRY7Y6JSH6I26FO3HM87OZVYN0G0HU5YLTZSHQBAEC10J8RW0OJGXZ0XQEG8FE8KWLZ67FQZNOPL2TIYZ8DDGT77FTRTM6G12ERKNF82BNOUBPIR0O28Z16VSDKKND117KTGBAIM0E7DZ33VTGFZZ667C9AXILQY6L814D5YOB0AZKRLC6UTWAULWPA53K1LTC1VV83JVYSJ6D8N6GSRR4QV2OQ45GSTEBQTX0WV3H7MXAHM1MAXY0LDXOTRAJG2JWE5G48FZ930LXIWUT66H8S7OVUCTR4SM0WS11FF2M1LML2WCM318H4HRDAKKDDODW26GDHHP76XBO6EKVCTYC03EP6GWU5M592QPXEKFION974MKY3VNRQ8K7TU5025M4NR6YYDYMOBHTUXABB5NEEEALI16QIWYHGCGWYCXXK52EHZYDM2PV5FDHQWQFHVU9FLTWWGVG5ZO40741HHO0MWN672V4QH7IJ3A2TNMQV77PR2U28XCOHRXVLUARUGJKWOALGEOVFJVY0N3GZA4QARRGF9O3OOLLJRN87HP4PUJ9FUN1JZUFZFK75MP9FL4GQN162SDRS7F6Z98FLLKWEK8CNH6D5OB8UTTU625D6VXYGP1WSP4FH7EH47I43QIS83H4SSAO4810IJENB7XDAEIJJLE1IV00UM366E5GEMNZJ4QFN5FGV44W147 = 36#110966G5T1TIITT6HKZFHEBN889OOPXS52R4K3ZB05W3JUTHRJQE4HF604D5PUHZ5XC2IL7WW1RH3XA0MZ22IYBO24V06GYSKVER7J8L2NZ736W1IJI5NIBDBAA3OHHMPBUSOTAXKE0OYF6YAFAF9WCSJGUELAUWH9Q25EELNZTRFYX0C2G51SSY048XYINB6OXYZ3HB84O773ZR9PUW8DN39SZWT5HHVWS8JVKU23GX3GUN4P0UTZFEAOXK1HUMZL54JHA8SOLVL45QBF1ALI9XSXWFKNXSNSQIAC8PGREBA7D036NVAY8XD6039KWFXR1RIKHD9MHAR08FKRC3CEBR2QMGZTHDQDAUUZV35IRE5LM0HNVFQ4Y2RTEOGXVGWITBYYPQF6PF3M9ZK0DJFH87ZVNI4X4DDB52SKMGQCKEELEHCO3CA2DMTFH1J0UQGU9PY7DPHY6EYRQSY3MS13ZH5LY1BBUOSUGHADE7E2KA6KTR6LB5CV6CDLJ4YOLYL63G2S4K93YLFX5F4LAIDSPHRPK6IQOPE24L1IMRTC3PX37I8L1MK2Y6P1SLI3ZDRLRWXF2L08421LYEXI30Z5B8DRA9ZXUJWFJI3NAASZQWXCA0S1UXIP1KEGNQRNZ98ZUM9CNUV7I8CJDT8CAC7AIT9IE7PGP1NK5UDOFIGLH8CJUZ6UHQ7J2JKD69O5JJ29FD6R50EPQV1CZ9HUAAGXGBLDZ50092N8ARSXX0EGE5LUS29Q6BAD3GEJNV7U6P0UNAYOSBSGKOTC1YTXW0X4U8HDEJ3MXFOFTW4XZ1LERJFCHBRGXP8I9PIJSN50U8NQTYWAXRDDMV345INVOJB8S6F9KI0OG4UMK4H089JEGKKPCJRP72YEQOKXJRBP493NH0XMFZTMLMDEM7NIBD93EGPJPGT3Q50X3LG4B1Y8MK68H1VE8SP9GSIUFUIG div 36#2W9JUPN01OCWBOAEB8UUHPKM2GN36W00N553TVM5PV4WES0YE9127KDGIYFL308GWK9GTWXBDTX0Y84UFOCJQ1SEAMPH9WUS8QYIZ6O7GVZ1FY1PJKIPS4K74MIXV5C51URS. +-36#1AVNUQWFLNPNVQ7RL5W3GTNYOIZ3RM4AWJI9A0XKDUT9Y25IY2 = -36#BII482JJFRLNIWZJ8Z2ABJ014ZZY8SXUXEX0Z9IZR1N902SMG4JXFOTH6JKMWIG7QTD1G8CAY0KUAWTCN4GRIJV7GZ3WQHP0880Q2CJ8E1BK9AQ35941TWXU09HQPN5SJB75QWZPM1WC8BJVQ4607OMELO5Z9GKBBSTJRTV2TX05EOBPH8W3LBS4L3FMJYTJCEYONR4J3QOE24XC6ISTX1R7VWE88575BSUG1L0TFZWGSJFB4G37KZN3QOEOLHUHVASBH2PU321SCGK5DEOBJIM6O417LHC8X2KT6LX5LKRKQ4YHI0QONJ085YO2PY6SKSA4MU570G1L18VONXDVKSR3B16HOVMDBMEIU6W3M5FQNF60WFGW2PRESPYHBT7J56RKXRK0SGMYGA3JBD6XM5YZ2SJF648HOE92JFNGQMUPK0K3XN3FHBLFKBB9MPIKFME388KPMTDGNV52KIMSNP61KYQFWN1MRA div 36#8UB2Y42CVMCP83REZZYUC8NEV2CORDMXI80UG8MQTTE8Q0YZ7264GEOZF9TKYHQBZVRJJAUUZO3R0O9UA8K85F7I65JYL1Q6EUIRIA2PTCC2TG69NE59R73A59N915HNGB7ISC39X2PZI1OPUZA368VNX8YSY5IW5TORI08LQTTVZ03EA7EFS5KXINVI13GR2EVY2VBS0C3EDV6IE4OV3TQX4NV4N2HT8XJYZPO7BDGGFGO0WEQMQS8A1OOLEK5Y0IP4RWBJ94BRTBN8XLMYH82NBARCILGDG573NQITVNL3AKMK17AP5T3333YDMJ7C398NCN61J45ONTZ39YZRZPETOT0HOM4TSNM7W4LI3QT5R3EQWHNTXL641EADUI5AI2DEOU4T497KPW84Q5JXU5UQR9R6X7K89JTGMAP678THE9RIN. +36#2EFHNIF0778VCCG1KURDTXWTNCZO6396EX1HNL68M0RWK0WIFDWK5BUH68IAGFOLQM7GUAZVK5F6S3ZUSG5ELR16VTJHBXN7NDMHFZTPJG3SWZRFMT64RH2DSR7R2JSDPJE16N51KQYIYCWPKHFC52HB0ES30I53XOIEOTOUC9BP195CX7RR1CR7DKU6MVKZ3R4AHOMFC95IXL30WQMTD7TOPNURBX1DMY6UMNO835ATS88JHA69U2MO8LLZUSE8RGW5M2SFJBUW01QI019O6875BXLT7TT2UQHILKX2IY285BHPNOFEZR5OI7ZKM366DKH3RWWF1XAD0QN0RFAMAWYLQNWGU2AKX395I1C5EOW30659CJBDA3KH529ANTV45FZG1JYFSU8IIY6JJRMC824WE13HXMJS47PPY7ESQ3UEJCR9PZ1SB49G76PJWS0268QATFCZL2GJY4FREOVV2IZN0OJ5A7SJB153CPYKNSF4EKMAO0XG51M7WW1NJXUV9RQV2DUQKX20KY62922FPZTWA54VX7IR37XV4RNGDY1HPVG41ICA8UYAY6NDF1C9TYXC8E7E18PXBNL6PH5IQTSLGSILE1EUB7DVI984KHYQ96HTKPJ7SGHXFAQJWB4169A85ZBB3CJUZCFCXW0IYTMO4HJ8PFUA3A3YHA4XHKTU92WY8M4OAA9FQCWK50CEDWL5WLNGU03BRMHPDTPFRZ1I5YCN197TJOHEBPA2ZAQK7G4MEQTMLL5D0VZ08GVM2RJ8XS1W8NYBD6JSPKUKOG33GSC518LP74CKYTBH4OKLRO8K9RNY3ES = -36#1MQ25I49R8WG43VIGYXERZV9V8Q943RRBGNHDW9ZVFD4QV6HDK7CI4ZWSGTHECR4SZCQ683WSLII71PWKYN3MUN100R55CF8BB16BK89NPEFZ0IK54U593F623PG6LVWGJCFQZZ11YZGVAA5GLQ8PFKMO13APQCC2IJAGAJSYW0KSZTRLI5WV5XADSYSB441JJTZI88HUB6FRKGZ32RD4FB9OVRUACQPK9S1GVLKD4Q0S4M0XKSJ33PAN5PP923FJIG5WLMD78HYY23XPL5ZJXY4QNAPDIG5ZU7ELK55RRP6CADC5WBUMZ5KGLFPPC1EQXJ1BQ0FH123WC2TXWXV4FSYBQ8Q0LOS34GQHVD33QF93YW5UDZPT9HRN3ZXPRM5N086DJ9H01B0DUFTBC2DDG06CA89T0AMZM4JO3GJG6FQ2YXY9UMALLJ04JA6O8GG0CDOWXDSR1Z4VRZ68VFQRG3N85WM409MSFIX3KIARONBSCHHYHGSY1ZV9I5Q6Y780KSNEQ8WX1UCR6Q8EXZRELUYHFXK4Q7PA09HAN0OLYLIJD943WYN9728LJ41X1ECJI1515J0H58JX1BDOPTKNVKLQ5AACDYU7119TRP56I3SD21LCE830UOZ617DWYYNWJS9P4DTWPL2QMLM4FGMIWVJCAKFHDYRLV2FCDFE8KMUO4DKY08UF79HIMYYJXQ53WKYEY8ZKAJGTDGRHASNEAJBGKC13BDYM * (-36#1GZGOGA9TXH1M56S6RPLJN0BXFTP74JH6BNYN9K3W0BGAUAYQ4958RSJIB4O8ON114Q1IIA845Z5AN42DKNHCBY). +-36#14FJZUOBXO2QXHMRY6ONOXTKZHNSQ0189KD5BLKULXJOE7CJ65MHOREDQGGRWTW359MP3MPKZME0RKN6PP6YLNQ11JU4V981AT12I3R0HKXSBES0CO9QTMTTM1VV37JCFGA8V0MND7KSI6ET9NZGHKEX23GVZ2ASV4ZUGP6NKQKPTN1WFDOO0R4HERUCV4N1R615FKOY1LLVJO6C3HSU9CS5JXGOSR20HRIDG200HD2QAWUWBYVQDPQBZZ4MBCWK6DDFQTB68S3CG7PYK2MBD127DY6C6QM8ZCEU2Q4HLSKKCHNYPX41R6LGPY1C00QWAR0J2UO92NG3UGYZP3PO4070GNO98MMVJC7I2OUOPICC3O3TM230SK1MU01FT6439CSXEHELTCV1E2RWYOET4WMFXL1UZ0ZBP8TG8W4ECPYEYVGSWBDTDHRGMA8EU7R4MGD8GDXBMXHZRZ7UL3OBS5B4J6HIWLZL7AVICCBXMZ07HZ2IJSJWGX9HRZS0M4DKHG2H6D81NE585VX90CJW794TK5JWJ7P84CBBVN5MX0R22VIM7EBUYMRUK0FPYRPH2ZK3D1TZ4F4WGLMFQYAYGZBGL7LSR7IVSC6CSNWI4NSHCR9NSX9PEVFGPMK4CPZZAUXXC0DPKYPLB9SWDFUGR5CCDDDSGAL52R2VTQ2TFM0S1EI1N107VKMTRJUUOMYCGMU534N3KQZ4CELXIO0PSRFG8 = 36#18RYET6OYH1K9WY01NLW9T8OAMGFUF42C6IY2FGA8X04HWLX1IO47J1O36M73AYP90HX2OILS10SMZ2TY9RFHOOG8K0M423146KY8HLYK3K5BT6C7HOV8A7UZHGRIYHN33ND9BDZBGVXMZEDV2CHIQ6GO7E9V3QO2WTOY3ICK6HFWZUQAJVGKUUEQM3UMAN959TWAIN805QS7H6Y1V5FW6O0ANZ8D6TX31U39YDW6FVZBM40IY11NH1CTJNU5QB9KHBL15501G9LYF9FEA3D1E3AYULKER658VDSCPNC6X983C7Z1RGBW48RGMR68DBH0BKYLBFBL14FRIXRM95O0SNWH72TL6LNNIG20EZ6RBJVICMSP20DRD6HFBY6I6SNO0DY6K1U70RLSKYA0QMAKV7ZL4LS8B27ZE2U7T091OYCSF8Y774O3W7QEKZ83L29LLEMC30TIBOKVL3SA5Z2Y9O8JALP5VH14L1I5V9GRM0QS28HKUBOKX4OIDX7KZT0M5D2VD3LFL8JUZRULXDVQS79VZGS2RVD9H14CAYSS7086LX66M41XH8H28A5O5T4OM9SYKCOHIINHXD2I4JBGA5AXC2O2FR1MCN060J2J908KETHU1LDBZ1YEIBC379LGOGTN6LC0T4E1A8UDW3Q4W2EDOT737H1V2M4VZFJ * (-36#WI96TST31T9BEG4Y4NNZ3R3GLYO48KXW8UTXTKKM7NAEUJK08). +36#30XI4S7LTXRZEKCV5Q29NDWY8GUFPHKI8JFYU3XMJ6FPHWK66O = -36#7CCEGH1OVU3IZY5CHWF58I4B0Z5XWRSYDBBST6W7IOJJF8DJ3XCM2DPG07Q8B7JNX1UD3X4ZCD37D0V7SZSUL6DKSA9NNPT5DLGYVW7YCNWTSRNIIEGN49I7MI0JF6MQYCVEUYZNC4VEYALEARZUJWPPL1MD0SWBHHQIOZXKIQY48VGC9RY0QL9KR9IP3GNGQM6OD53PWYYMT524YVV3SKSOK75VKB6AP8USV233GPI9USB63RJCNLYV2GZYZYXADYTC8WHTGW65I3FGAUNXG7G9D3DJ82OO4ICZCD9B3OWRZPYNIPK258IDEQYIPFVCBHMMVLCQE8XTW8FE55XNUDDF3XNDKGAFW9HT1I5AX7TWL2G8IS196MD9DY8AZTVZNUV0LEDP1V8NO2EDN10VHHYTPAQJ9SXAGEO div -36#2FD163BMHLU22J43ZOZ2NJD21LB9WVWD48XE9361H37ADIZBW2MNELINE3Y57ANQT78CDYUUW6GQQW9K0ZXKE5787GHXPBT88USM9WG7HEYIBIDQPAEHDV51AHK3DWUGZ3I5DGATBGZ7XX5U7TNR0HCBRB8QZNC485ZJXC1MI46JU6F5EGR45B34WHS65QILAM5DOB2ZIDSRUKZSPY7IVC35VAB5VZYX5N1RPRT01WE95TGWC32TZ2BPFXV2S1N49JXRU7HFN97M59PQ1IHTZK60ZMGP3W33DX5HWUB3DZUA7Q1E8540BTTQA2U935DXKPBI6MMNRF3L5NMOKP7024CYJXZ8B3UZ32IG96BRH1P8O5A1UD. +-36#4HEQ2UNFV9B96EDXG20XIR3CRQAC70TURPXUXLFXARUJZ7A8Y2VFOLAP8QG1MI1GYO63G0E7ZL3H4N96N9KHYXIRPYH7JW68PKZ8AA86QTNLG1P5DZYCPEAIU6H3TTQCFT6W5R5C6OFVNZSDIPZ54SPA89T6R4GXJ68YCMTUT9UZLV5CWQ5CIRFZMMPRBNNVFINXUMPW38HWBAKE5CSPCUIU9O0M3XPHC0CXO3DLIHUJRAD23I3CM5DUYMQDH6Y0V44FK370GJB9935BHXSS7EXDR11H1BBXGIJQO1K9MS7Z4KVZR4G3UMZKNPNEC74JIZ17RK2S7UT4ML03VOMHY5VIDU6RG2PZFX1CN3TAJOTEZ82BYH5IOMM8BL7I4VIX24X77LBQQXNCJN2OJGJKIZQHX62QBI021MWVBZY0 = -36#2LFC9IDH5KLU0J09RQTMSHJB68OLD519TUT2SGN7M7NE0FZFKNFKFK3MZEQ61J9RPVQF3GSA1S5EJ6EOIZFP8BTWG45K7BSVE9XA8B3NOI6ZO9WB2GAMX5ZSY6J6PE5X6FJQ50RJ07R7GD2RGH8GBGAWA4O7DEKR7JIMIDV4KYDG18XB9NEGX9EGU6ANJPDA1UYIRWK334AVVI2A2NGNX9PTYKH5NMNK9MY2D9MU7KRBLAG4ASSS33YE1S03TDEMN8CH8T6N04826SXPLFDTSU1DQA0BKZLGB3G4ZKJ967NPWV6II36HVCVVBWUIS7OV6UTJCXOW0Q7QZ6W4O7OQLP9A7WI8P05AHUL8C12GPKP0S0VFNM0BC33R9N2D8FU53RBXNBETVFGE6SLOH85HJBFFT1GNERE2QIUOI2MUSK0ZXR4S2KVRODMYLSK5XCBFGPNSJ4ID2WF4HRDIZDOHIXHWR3TH1Q1ZEOO6SWPLZG9P6NWJBTTZNNF1JQJE2YZJCEQ1RXAP86RW8F087CQQ8ONA7PO16YGWIMFXLOWWMQP7TBSCEWDKHOXGUYLJE48QEL7N2PHBGFYBGE87IQZGT0T2RIZ00 div 36#KU58QC29O16NDBRILG6JHANYY7XXOVJ4MIWWHDK2R3ZRBG5SCV8L8WXWRFT0S03FSBHYQ5KU6P3HZGRQFN1VIZ1AYFIQ9NDIQW91W4J0ABJ8QGVF2PNLZKLK8LUK8PHU39BI9DGYVCYANRAPQ0YBXA3MMDVOD62ABHT3J0QD2RMLJF8OUG8II. +36#78C5EIPGRK0PQ22A1GS2BG9FRIN9URVWGKAVSAWJYWZDFAPO97XHD42SMHYMYC7TV6EATTKE2E477W3C7DZXJN2MIBW94X21BIAB3W4JTAUDLJAYKBAXNBENTMUQ8A19LNLSHGBQ2APC4JCXUMT30R6ZREBOBZCSTD696LPO0QI2QK3A9LTCZI730EXRVNB87S8GUE6GNNT6ZFFUB71P3ERJETT1XQ5WBR318DKIKE88T89O6LAAA1LWHMT2GCP33QXRQHVFZ4X828N33OHW25TGVWK1VI6FJK2NCR14MMLN2UNFXI7ZTPN36J0GG6DI1I7MB6EPCQD41XYDPCTLBSGJ5JQNYFWRWII0YYTPM6S9JTJ9U9LNU41N41XB77DLOFE3NHBJO55X8H51US18BBQ9W30NAOOY7E4C7PF4P9UMW4EQPF9WKLANO9FDNF61KRODOCQ8T0HOZ0E32PD6DT0RO9LS03DSTHYY049FXRVLZNO1O24H57DXG5RL1RQ56LY0B6JQDST5AX5R9KQEUSJ8EU3B5ZE2B1VNY7Q = -36#JQYSAWMGF1I9ARMLP5U9BU4UTYY70ZQ23E6NYB8G70KVF4H1GCGD7Y43RWPJINS5IP49K2QV40W29R5NQ5AOYZPM7Z60KNKB2OHSJMHU0CBDHRANOBFYWZCEQD7MCE22AOO68KQBAQQPR4AOFK2131UG3YL5G5I58S6FV0H9V2OZ34NPWXU8ENYDWDUVCE2ZSW9Q51LLRANHMNKYZMH91HOAF84WA8I3QO87405N88BKJU12TMHFLTL89A6FF17VYOXOF34VNK4ZU66D1FGJA67IHKSQ34DR3T7J4V7I9OQHK3FSI25GUZMCU5YGJSWV56QD80M0EV2UJ2AUOLMRRHBE1PB3RC8X0BKB956MMRJBW5JVJNT0K5U37A7UGVCVY5JD7934M6O35INYJDDWXRBBCILIOJMVUEJ307GQK9GV5UPM9X5TVNASC04W1TB6A3KT9BOGG0NO0VM1L8RSZQQVEIGY8XLOHQBWZ4T09F8PCNREE30JC5U3POOGCKDDJJ7N1BG5C5D1LPEAUUK5VAOA810VSO10SLESLBK3A74CZUTIGPY6GG0QUEUIP5QDS5PB7S4Y877WSNTJUML2I1GA div -36#2QBARPE87VC7ETD3EQIEKRXRC8UJO8EPC2V6I7YI0ESGZ8SGTZ. +36#3HXJQ8215YTOVLBNDARAJHZBTB7KOIVZZ78A1FVUAUW2GPT32NFMRBJUQAHVNFGJL31WTYPSM6QPVJU3V3QCY8MGSENW8X6NA9U7YNCKT1FQYKHLE1RA7K28M72E2RIV0BWWS8FY8EV8ECZGHHG35T5JE6N8DH1NUKQOEMGKXZLIMBVDRCU6L1VJCPRP11L3FB3M9L2CIO5G241OUBSF2OWQ9FGLAR7G1S7JEJEWOUHX4DA4NOCWTAWIVZB523V6FIB3UN68BESJWXJVKZLA0AJCM40ZOBFH1V1VJLL3F9DWGBGMSG3OVPYX01OC4ZQKVAEGTMOH8H9UHAH573OQCEUADABE6BGYCH4PKV45W9K71RJ0K5HOMNBU6KK1MINPJW3O5MHHQA528NA5SQIUTNDHAM21XW5NOI67JDLA4XRHEHDI23YAIQQIZMCAJ2M3523GRQJTGYIXD3D = 36#3JV7XYZ7YW7MLTJD2BR6KGXZ0R1V2EPK19RD5XO9C7Y2QDZ750YOXXJX9ZI219B8H0YHKDGTNG63VZFWXLSJ4OR3E4O8WUGYH8SYI5WAPPNE9RSSCHMO2UPTG9WSW9227ZP2NOG6S7MT5ITV1PIHOVIBXRULXWRXWG5I1RWCO7P33Q4X748IT03OQMYP98M240DZ66IAG756ZAHRE2T1PBOH8TVEEFTH74PRJVPXH9L7JUEADJSE2JZ3YO72D7QBFDQ0QH0PO26JSC4KSC6RKGPWOXAUHLWID3CROT9AW9FZLTVMCBWTD15S7N4YV9UZERYGQSD9SLWF9DAHXX37MR4XI0HOP0YRXWLXQXUBDQC07P8ED6U05HGLGM9DV95SN85U877OYI95HPRKYAPUD5R53XT2EQIMY83Y3UO45WFSCP1BC7QRQRVYM9ECY52H01JH09FOFK01RTUKDO15TFGR8CQIAQXTW49M7Y43XYV7LOEBAC93OUJZ0FVB6G9HPB3FTF9KYHOJT93KOJQ968SO4GURC98X0DDWL421SXCH7H3RB5Q7FBRZ98Z9VWT8FUVP0EVB5XGVE96YIYJ1HWSUZBARGNTU0SRHCNR4WIOZXRLQISSTK9MK4A0H4TTIDNNQFOB4O3XY65Y50H5GAZGN93CDL9FWEOYPKENR2E98N94SGS6TSC7JB08OE3SYTNV73R801V5DYXTG8OTOHITYD8YHI95V76CDEM90B98LTHS6T2A2L90DBOQIP3KQ8VR37LCKMJWFI6GVIN6QJ2MTJXAVTM1YYNMIE6KB7XDLZJX1E3ELSDAJHKO24H95YCGXB389U9YSDTG4IGVYRVEDLJM3DXT0ULUT8BOBS5Q7LFSN0HWV4MPIOLZ1H39J4C5QSWHAKI84AN6RWGD7X6N728KTGUL82A9S3D4GQVT23TB5XIAPHQCV0MOGQQYXWIIYUFT1099A2XAXBGAB1ZU523I9TI79TD96672B67LJERR81Q2FLGEGM5X0F4UX2NV476DEGFVBE7VCHISVWL5299QZ42IY3PPQ3WJKJB0X98NQ846UMDXCQN8P7T31YXFZZFD6SQ96A31VNCVLG3N3SD0CJNKRLTC32A2RMN7KG71BECBMNEL1TY8LZXV8ANOXGXIEX6BDTYX3 div 36#10JX0QL25GY90UQ2T5FYVC4OACPUR9LGDN0T32UTZH0HF5X6EB45MODU6C90LH8D097IU9MWQ1BIBG1JI18C0OL7Z2BOVL02TY41Y8IGLNP5OVVRMFL6CJZ6YD7HFS5V906HZFNOW8IJ7V4DMTIEZNRMVK0KU5B69PMIRXZIUIB46MP3M7MMQW36PJZ0RH8U4B4BIRJIZ8TVFAVR6SZSXDE2VPCHQXEZG5TB0WTVDUOIVZ81X9642VGMC030UYVO1D0PS7IDTGCXUT87J0R6NSR4Z1U3RSFJU1AU1WAN93R98KYNFXIIC1NK83H3N4ZVPTMZCF7VQPWYGZ5TJDRW102H0JARKI0753YJJEH8CWRTCIAU8DN5BQLIIQLNXBOV8WMBOJJ1JGGU756JPEHZLJTJDEBAPD72WMRP9XXNQO1CN375GBY6AE5IMKD3OO7DVFR6KT0UMIWW0QLY9WE78LR1E4J2H19P2287U4OS0845NHBUP0P8H5HIRPWT7J1MMSN6TERYR3X1YKC3WWYF8TB5MBYW4D38FQF1O40HZ10ZSCVZ0NZBOAO22SSKRF9BGXBNMG73F8RVDE7VICEJYWIVM62CGTXVSOTJ3GWW68YRFYTB4CFFZ3I5FDS3KO4U3T9VFUYRS5Y3Q09V0XJMJJGG29GA4LOAH4V3J4B4WY0I7QC1A5BODQ67RKHX6NQAZ3. +36#110966G5T1TIITT6HKZFHEBN889OOPXS52R4K3ZB05W3JUTHRJQE4HF604D5PUHZ5XC2IL7WW1RH3XA0MZ22IYBO24V06GYSKVER7J8L2NZ736W1IJI5NIBDBAA3OHHMPBUSOTAXKE0OYF6YAFAF9WCSJGUELAUWH9Q25EELNZTRFYX0C2G51SSY048XYINB6OXYZ3HB84O773ZR9PUW8DN39SZWT5HHVWS8JVKU23GX3GUN4P0UTZFEAOXK1HUMZL54JHA8SOLVL45QBF1ALI9XSXWFKNXSNSQIAC8PGREBA7D036NVAY8XD6039KWFXR1RIKHD9MHAR08FKRC3CEBR2QMGZTHDQDAUUZV35IRE5LM0HNVFQ4Y2RTEOGXVGWITBYYPQF6PF3M9ZK0DJFH87ZVNI4X4DDB52SKMGQCKEELEHCO3CA2DMTFH1J0UQGU9PY7DPHY6EYRQSY3MS13ZH5LY1BBUOSUGHADE7E2KA6KTR6LB5CV6CDLJ4YOLYL63G2S4K93YLFX5F4LAIDSPHRPK6IQOPE24L1IMRTC3PX37I8L1MK2Y6P1SLI3ZDRLRWXF2L08421LYEXI30Z5B8DRA9ZXUJWFJI3NAASZQWXCA0S1UXIP1KEGNQRNZ98ZUM9CNUV7I8CJDT8CAC7AIT9IE7PGP1NK5UDOFIGLH8CJUZ6UHQ7J2JKD69O5JJ29FD6R50EPQV1CZ9HUAAGXGBLDZ50092N8ARSXX0EGE5LUS29Q6BAD3GEJNV7U6P0UNAYOSBSGKOTC1YTXW0X4U8HDEJ3MXFOFTW4XZ1LERJFCHBRGXP8I9PIJSN50U8NQTYWAXRDDMV345INVOJB8S6F9KI0OG4UMK4H089JEGKKPCJRP72YEQOKXJRBP493NH0XMFZTMLMDEM7NIBD93EGPJPGT3Q50X3LG4B1Y8MK68H1VE8SP9GSIUFUIG = 36#CRZP4GRKBZOMYDBH4J4KIJFVWE9961MY7RDCO5KDOTAKXHBF865SZ37U2813YRQ204E32Y8QFZETGRI4LSTO9MMCOKER4V619QY6Z49N3O6T5W3K9JIEG9DKK7NWIIRY7Y6JSH6I26FO3HM87OZVYN0G0HU5YLTZSHQBAEC10J8RW0OJGXZ0XQEG8FE8KWLZ67FQZNOPL2TIYZ8DDGT77FTRTM6G12ERKNF82BNOUBPIR0O28Z16VSDKKND117KTGBAIM0E7DZ33VTGFZZ667C9AXILQY6L814D5YOB0AZKRLC6UTWAULWPA53K1LTC1VV83JVYSJ6D8N6GSRR4QV2OQ45GSTEBQTX0WV3H7MXAHM1MAXY0LDXOTRAJG2JWE5G48FZ930LXIWUT66H8S7OVUCTR4SM0WS11FF2M1LML2WCM318H4HRDAKKDDODW26GDHHP76XBO6EKVCTYC03EP6GWU5M592QPXEKFION974MKY3VNRQ8K7TU5025M4NR6YYDYMOBHTUXABB5NEEEALI16QIWYHGCGWYCXXK52EHZYDM2PV5FDHQWQFHVU9FLTWWGVG5ZO40741HHO0MWN672V4QH7IJ3A2TNMQV77PR2U28XCOHRXVLUARUGJKWOALGEOVFJVY0N3GZA4QARRGF9O3OOLLJRN87HP4PUJ9FUN1JZUFZFK75MP9FL4GQN162SDRS7F6Z98FLLKWEK8CNH6D5OB8UTTU625D6VXYGP1WSP4FH7EH47I43QIS83H4SSAO4810IJENB7XDAEIJJLE1IV00UM366E5GEMNZJ4QFN5FGV44W147 * 36#2W9JUPN01OCWBOAEB8UUHPKM2GN36W00N553TVM5PV4WES0YE9127KDGIYFL308GWK9GTWXBDTX0Y84UFOCJQ1SEAMPH9WUS8QYIZ6O7GVZ1FY1PJKIPS4K74MIXV5C51URS. +-36#RQKUVY8LY4EQN37NY274GG5NDJD7W0QH8UW9HHCUUY19YXTPUWQGWLK6AAIYU3QPSDM9AFGC79K4OR5RWQS71UROKXP8X6E6SQSOM45J5PFMR75KZELWFWNH8O5K7QXU3VFM10KIY7PE6UJ49MHYPHVBLIYS1ZJKSKTOD6U5NY8KSYGU5F02BYSVLRTIQ9HI45LLEO0RYVXEIA967JWIEBQ15M5VCI1UARHN2UVAWLXURMTAR0FXD20WYGSY0VADRAZWQJ903I3QHXKSQN8A112H11KCCJDV650WNNCLC3XMTWV3P0VPSRISPBYPVNCZ5GBDWL6H67V99KI90JWT5PQZUB6797DNMSGO47PR15WCENOHV3X49WOS8199VSECDPXPBH22N0D60C1HG0B0ZHTMHNUD891U1HJZ508SWPR9DDG07VM976TZ6J6BI6ZFNTATUYPBXY7A6JI8ITJ93O7413F9HZ2ATZVWP3BDFI6R5D0FVLHPOM9CA37EA4XFZJ0FQ21B5J84GYVKDLKYPJ6AZFYWY3MX50DVQ2J48ZR84DXCZNZ8RHDK3KQFEWO750TOLZA8HY9SF111010OBAS03FILCIRR39ORKBKZ77WC8CCCP1GA9U2DZ4OD4DTYLM6VUFZTT70JXLC18KR5JIWM3LRHZOZBCAJMVATJH7L7JBJIZGDAFDTSXS7EGU9IT50HMWPX71HVA0V8TV5366HU98C38ZXU9T2MS68I2DL49YP87SNY6C7EB0SALJ6OGOTZ2W9AE7R1WAC4T18L39T2TS9ZAKLL80QGD9XDSR9CW3J0NNEWUD0EPJFQVIO29IH1KNWREX3XSG1A94NX9BI5WIXH27B6ZX0J6JYB2TNLXCL4QOO040VL0A8ZNSILFLWPFAVX03IMB1F4DYVMV6KM6NIM7B0LBI2BYO2CQD371C5ESJ703C50KCDUYRNI0MVPHAM2JB266HJPGKF5LEWSWMARE320L9F2QUBOM2AKHR5WR9ACTY9DIR5FXXEPZMXLTD2N3TCUQQHQW0Y0 = 36#3SI5VFCOGZDGJS12AWAE52WELO0TOYE77QSQ9MDYCM8MMH9I1C6EJC0SZG3NVL74FI96HQA116KNIS2WJ3ROAQC2SRTTVOWWJPWGN1QR02VKALQOYZGVD4CLQ5WNDCYLN6RFYHYWZ39J5DBSCESRCDEKRC31PVB2097QI8K979PG99W2MWJP7GIBLDNW19ULCPQS8A7TLK4W3ZDS04A2YZZGQEKYQ3UZTUUTGH89Z3ACZSKHCFPSOFRY3S0AOLORKGZJIPY75D2V4SBIRVHU2SLV1MNM5MFI976NSS53DPXB0EP8A67560F8K6WL5AF86ZWHPIH2TC3QUQFZIH25F935QE0IDE2H929ZMIGHLLGICYVQ4CR9VWDA6MGEISHD3M22OJ005U21335RM6NSBVHO6XG4A6WQV0R0PC2B5WGUUUVMMW21T8DHUQW6V7PWQ0VYWKSFOCC6ZEFRG3EFQ8URDLAIX2KWPTEEXKLWEBNHU9UR9AX1YJ0X0PNMUOM59DSF92M1HHMK6PNM5P1SXMI5TCWFQP9D4PKO2NKNBSK57JV39GAS1CJF3H4F5GP31QJ54371YPPF93MDYOJVZF6OF5ST823W1SUNJTTMDFXNQ2YN76FDC9YUVGM8KCF90S4NI70KSI4FA9Y3MSIBPUDDEVA1TS3GWCO9JQAJU61OYWXXDIQIM0UK0WEWVO5GRQ823ESNUQIGH720QZPL6MT0SN1XH6VBR4S1RA1KO3ZG08HNEB7UN4YY34VEFNCAI4JON0 * (-36#7BCPARAHP2F493NNP66NXOA1OQ4F6ETFSDV5K8UM54NLTUPFR7O451QKZ7YH5V62AS6BYYRPIVPWW7J5CPS09MQNXW07V9LXXJW24TDQXP2PVL57Y2ZRFUT3LMBGMA988WXR4IYZBHV5ISJQQLZ4ZHU3GB9W8OQDNO4TXES3Z1J7IF8979CESM1SFUBE9M3LVMDFLGOHV56JZDSTOSGN6261GJRXATRLRBU3DNFQL6PXQT6L1E8K9YT9I3SCY5ME9OTOF36ZUTGMOWE). +36#26E0SPFLSYGD7PIXA11KXEM85Y7JSAIAYTBY0B76FU732ODIY8 = 36#IFDS86VR0X1ED2QHALQ3S4DXY2A9YC18786B0JNZK4PM6VN0PL4LGC72HI5L8MSUH8KDHJOKTTVFVIDLJQV67KST20D3TQ1CYEAS7XQKJKS4CKOZFF13XJ45XDO53OR1S030TPJ6SKTXLJOODPSDV6A7ZKGRFFUE75AA8PWWCYEZQ4GPFCY0A7UQ8HFH8HCAKXY4P753RYE3H2XK39EHVY3TX3AC0PUH6IQKGSU38A94PWGH8TR8XTSH3S9IUVEJCED50SJ71KS2ZKSUA4HSPIS4I96EDUB5J7TMFVFXQZELWK0LR4 div 36#8GNLDCYWPFPDUE9WMYQYVO83E5B4KKSS71E85M6JR3RB1PSK53PYGTIUN61Y5VC7BAZTLF1NPTWWYRLNR6TG6G2PQJAIUPKX1R0SCMRVRUIRBCG4KHYKFXJRKPO93GKR4PM8NJR28NW3PSZS25M52PK9JOEZB1P5GTL7BHHZ9O6UA753OZR6ZYQI9N4IXICVLZOMGIUJ2RZGAY9AOQDJXGHJ4YFDMYMGPV2F37TH1140WQJGUX60XAUJ3R411VO2E. +36#307VF8IZKRTCITKNFYTNUPKBGS6SGPES2KGI27YM8NN72F4TIF4J4RMBFTBK2SS0HFHW0N1IQK12JPLO1ZRHXETH8CO9WJ9V1OEYQQGQND8HD88FQSEN8XOL9KMUI8XXSNZWYR987TTOFE21V3W6MOWD6DOKDT3SRL87AEYMY1C7JK6MVZAT7PZ85DKEDCZBQS0KB69NY15YJ31JB9D4CL4VQW1NPT7K2Y1XLN5MVV0XK87OY1BS49V2FMMLDG0KKSWD2MC836LI1WBNSRA14GOBU75052OZFMEBKACF1NHM7ZH70BAZREQVRSZ9FJ5YZX68G41FRZU3BEUNGLV5LOGWXB0IUBK7J4PA9UZG1LAGA1E15RHHJ1WI0QOWFS86H2F87PYHCDLC788S0L4SOBQPY4EVPJ0HX242AG49FCNSRML6V4FLZCJT9UQ9LPY6FYBO6Y2U2QDS2PL0DTD4SCQLYQ3Z327UR7DOR4NR2A1IVKZGYLX7QYTPD9O3T09QWTAHZMVDEP6AAOPHWGA5ZOPJ1FRM2TVX4C78V0L6HU4CL7LCV1V9WFPOE497NLRBDUNX0NMP63ZC3KFYITTPSLEPL23F6TOJCGPJ4YZCWOU59U3O9QIWYMOIS3OA8UZ6TWXPHM6R58SXNN2EGF3MCV0627SL4782N8FONSR2DIV10PL2GS4REPCF3NNRQCI2RCDDN8LSHT1KDXZES6LWFKWEI = 36#4EIC2T831NN5JDES8OXZAIU9A3UT6CCIZT2YJPDTGHR9W8B2MRBIAHPGZMJYGSP4UIHCPHFF5ORMICO9E7U5OU8RHWX4YHF923PSU54L3ZAX3E8X0661O2HEUBCLQ6H8PW6BO2EGGMJM5SEFTZND6VDKCU09DSDLFG1LUKGS71AF2CFYTLQ9FM786UQQ55OZ7DMRM5BMTNKB9CN3X7JV2GJEADOWT8K5ZPRSGQ3RCYB413H2QF8QSSJWY1FWZ40YPN7R42N3UK1MIX1ZMCD6QF3J820YGIAO4X9QEUO0WOFT82YXLNFGQONETTE3J1E13OI2Y2AQ0VE13Z2HSRQRKS6GJAIS16PBD6BO9BBNHK8W88MBW2KU3NTY4JXGJ5A5B5IRHXG85SRBYWSU3E0ZO30VTYKS7Z3ECLPFO0T8YW6LB806SPL6WZRD6Z1O6ZCZW6DZP2MSXV9Z64QAA8YFBDU23L3R11DS7UM5BKNBFKG1CLJQW71ZHNKLQLLT31KCYFVR6A63IM99TFKE80FVUSNO27TJ9QPT68DLWQS5B9LONK0YN40O6K2OMU1WA0LF18EBN74JJJVOSS1BF14C69HR19ZQA86BMNWGY2UA4NVHVT4YC1E46NLL9ZW85GQ3Q1J9EDT0N7P5PTR2GP3GXBNZH2JHS9AZUUC3S8KGPT130X128SM5NT3IY6OV6WJRT5X5X3C37TBZAC3QIBP8OW607YFYV1LTCW7LFIOG8F53F3H1AKOYG1W2CCV8K8YUO831PGQ780 div 36#1GQ9NBZBWZEFY2C74PQTSAQG3MO70UN88G0TP2Y7Z8VPYU0U08. +-36#319XZ5GMLXO3H3SGRZ6WUUFVJEJR9SIDDU3N30PVJCBM10XIFFWH9IREON3MZERV8KMKPA7LQUWYFDMZUHY0Z1KXTW6FH5CCBQOVGZNG6PF4BSZF4YVAIOEHSD9K9Z4T4URPH7PEPURMRW4SOQE95C4LXAV6N2NGTJFUXBF2HBM1Z5DPGWRCBNVGT9ON6E52ZNU4IHBZYDT = -36#1WEAW7OBSCRQ0KF653QR6J62L2W0E8Z9PN0E838T26UO9P9R9OEYILXS7TS13EZ75WCUYRSHAEYMP0OP4VYJZ3OXF9DPV9RFYST4R8LCU8GC56L9ON4D88K2MHNB4Z8A6LMZOTLQU6R3GCBY9UL2B7CWZLTE928IISQKHATQFHZYCKH40U8U2TLEYXVUOUVZFY4CQUNDT5AQ054HMXI8HAWS0WAG95XHPNYD91XS14KUFEN98K25MOYU3T8ULY5S7AB4BSL4WQH0QT6NTWDIM1GPIXRB8Y89ULLRITYTEXFPQQ1ITFAWA48FI91Z4I1MMSIURIABAEAF3EG3WG7T47GRJQYMWLSGP251HEUHM3LUZ3MKRPWG4PM03L3RCEQQVJKH6L2XNIH5Z4N8DGZNRBOA95FPBAEKTLSNWT4BGN7WPWA1G6MBLZIFOTRWE3G382T5W1T0YL72OBW9687GIM3FHDW19U5YRCR9MTHVA0ERZA847FVKNE6LLWGUMKISQ7TA91RWPXJXNV1BXRZ60WDXLU9J3I7OTC46KODR8PV507X21N7QYAX5AJOGIK9O5LD76CYPCOBNZAU88DK4XVHESCIAIUP4PLJQ5NHVCVCEGZBFO160FJXSF5KZ9QII8XEIW1JOZTK48LCWIQT8UN83IXG0RAHMERAQ18WRJBLAUK3CTWWGH6I4GDESE9TK26YYQOXPMHE6MOGSUYBDDS48O050PH9MNPJ5MJFAOKUMRH2NJFRNJMO459FLLKKPGBJ6KEZ53PHV283LS4N1TI8N1XW0PGW97D0XQ7NAQQBQLQ6X21YNNMJC59YR0G2I6MVN5PJUYOGMEW4LGF8856Y5TDIC6IPQNMY0I4JES5ZDCDU222VXTTHYC7CBH9UQADQO div 36#MJ6JTA1IK3DEYFMEC80R5VYZL466OWOBJ3KHUGJKTQL06RI6OY38F91UA5P9S1PG5NLZ5SS7NEL9CD9OLPJ8B8I4GXWQSHBTEEROUJTWU72IIGC7QAVYS4UJ6NT5LL1Y75BLN8VUM6IHEIRA7JI7ZRNPG4SZQR0KDRV5TJRIPTRV6GPPKUIGP9T239NNF2ID0YGB7XNXRIOW4BP92GKJ0HIXVE2P3YJZDOIG8C9ETQFO30RVS0GRGBK1CZV74R5EEJU4AECY5YPVRXHX21AHZW30O7ZDWGEHA9L6MQNQ03JHJ6WSVB9S7MLY35G4VQ67IRMSL3GECMLAMW10Z5NKN9WFRKI4KNRF5NG0Z54LTKIPWBE8GRRLJHV7I6UQ5O6GBMQVD5WW7GROL9Y79F4PM2UBX6387RYY76KEC4SQWRJM1ICN5RXHNTLP6CR0L82S3OYKC76PGZAZ9Q8KILVF8IKONEN23JEZ4O7MJX9EHEWRUQEIXKCFWXBC61J2IAQZEQXJW4Y0EXULAM6G92IC3Y4E42ELN8L8SQM4NPBA5SFB0HUJJ3VMWE8ZNOEP0B4IBR21R6W06EDUE8BITKGSHUNLOYI7VUOBXUNWC1YLY3SAEM2C741M6OZXTHS5MD5173GXAI2OAROHHO658VMAHVI7BQBC8M79RMY6FIH4V50HMQL9G2OCJ4OPC. +-36#S4DGTVKCC5Q10GAJRKR2121Q5LZAVKYESQPQLRHGK4UAJAIXMD1O6FZDV12JXH3HKIDMCL3DJESC3NT19B4P3SQBMJYWYXX3SR4Z042342ZIKW2BGZLM7R69Z0CZGW11CFQZ402P716AU9LIMBMLM9FBYINQ1F7U6OON90S0E2YYW6PLLW2MOTN6GB3VIN27H768KGXSOMOUS1L9XM7ANJ017GM65VTP0HOQH26S7MVGK8BK3EEDZVV0HCIWEVOFPH9V2BCCMXO6JXDIT1MKRA4YW2Q2QHS029HQ93SV6OOOD15Q5ECBYQF6Y0SN9UBGFNDD2N74CG6E44VXXI8HJAY51SBADVVVF8NTBZWYUCN56OLYFQ93AP6LZ327F96HQDPFGL8QN5AB9R4E729YWFZVQ4MSZ90GWUP3GLI16UY7QV8VKA0446D1EF7HIM3TSQZOYIVI7X4KTWWJWDXNYJ27YXDMT84TVM076WEB6TTG9F8S8M86FO4ERWZ8BUWPGVGWQRVVQS4OV6GD5 = -36#3774K4B1NOXL4N40XYGA70GOGYGR7IKV19EQRSIYJNIV4QDA7O5LNSD8P5VZ7UPAE0J3905GVF316GO3P68NWLVAE8Z56B8EHNVI5LSZ6BR96W4Q6GVJ2AVP82KR4FGO3X82V8N9K1Y4NYD24BCQM43MKTV7HKOT546B7WTB5YK5EUAVUHTNZL74PI2UJPCQO4KM4HRSMAU81QJPFOQJGXG0E8QTD11Z4YIS4AOXOETZSJTA0JL04CXKQYALMN2B9QK7J0MZ1AEK8Q032DNOYZ6ERT24STKJ3DB3UVAU6R2EBW7DAHZLF4F6W52EENE4VV620F3AALZOIB4Z79S0N2WONA118UI3O3TNN33CD5KDN7XJ535O8ORMV7K68NWINFKCZQZWQ7RXYFEC2ZMM7UH1GQ7B13HT2CZ92R4POT30E3AMWUFLQKQOSI6MJ7Z07RZI28LON872F5XALYQEJKB5QBP18W72FV6SRGFGJK0LMI4H269CM4ZKYRZDMHMILETG8M09QM8002SEQKDYHQTMBOPIJJT6MOC5CY8F1IS6WYE2Y5XL727JNIMAODOQAH8VP1CWFCHR1U7NQ7IY1LXBFJQRWZJPUTU4KO2Z2U1O9AA7FTGP0QYATVZ8008CVV0HR05YDRJNCHSFC2TY3G7RA34H7NL6P570RYXFSJR5QJEIFF95E24MFX5AMRJ70Z5SY56AISN5IF3BXCW55LTPQUKW09Q9K2548TPUKVH7K5CTZR9RD6LRSGT4JEPLH4OI114O0MU4F5ROWPZ4IDEK000VROIV9QIXAKDT0HI9A39P386CCY6IXM2S66H5PBAI19VTUDO2Q8YLK4V6U38H8OQD7AUHMMZKSZLH4L2UIPJJCGX1FBSDLERRIM6IH7SNSOLTGBXBP54HXKCDIPYQU4ZNHNUUNITIZEBOGOF04OLDYDXC679LN7IVAMOKM6O8LRMM7A82XXLKYHOHXI50GWKWNNEJGJJRRNMDLT1EVZ7H4AWLX0BG4OVA1IBVKNYT4TZFKTEODDZRZ7N7DWANY0OIP5XELZN46X8SUM div 36#43GZD078FMG6HD7PAUD4X1YW5V1YVISBLZEV60Z7ED9VQRS442CH16X5WDV0JYUY4KNLVAZBB3JSE72PCEZD5XQTK2QZ7TSD2Z3TEUN2GFEX9V1DMQDEJLTV7WMTNDEME294PPD55GA3K6YFBB80KEE6BUO0W8OPTR5SMGN1RHYV6MJ4FSPI67077C2LJEXIL7KVR3K8O7IT2BYDHOFKFM3QY1GUSOH9EFQ21HIASCQTNM5MOCAN1QS24UYQ8XPUL83PORRGTYF9YENDPA09ARGLNHV064SEYHDN2AGZFYJ2L2TDQZRINOH4R6125KHQ02MI3OH8XSA7ELQD0DHODBEZDPWKDRRB8OUEAZ4Z88728I2ZH7RS06NESNCPEQD8VC4IO95Y79VI3HT2H5YCIDX2XET5MJNIUBHVYTD5V4IXSY1SJWTXGDI4BZ611SK97C85B86SLASXPED6NYOUQK9CR8K3414NEFDGWKA9RUWYDE1BTARWQNGKO9W0953N03JBCIV3OEMDVGQWLX6HD4KHQ. +36#2UEI0HPUVVJSGFGZCQX2MWO2IKOKYKT07FTC3ECCTJIMW3D0UCP0GI6ZRXU721NPUIB3P1YR522IGXOQZO9MZFX3JX8O394G2LRTS5ZK5OSG9CU3GNV894M467YTK16YA0HWZXS0FCQ3R2QP91V7MZRO3VPO6KRG0RSA2OC76TBT = 36#1PQT2K6ZVFE1OTWJPDKEUMJ7SAENF7ZN47WR0KQP9U9H3B67K1WJZ59I3JQBKLL7UDTFEKEGNVHX5C61FX6FP131DTHQFL84FFGC6G6WQSPNPRHHAEYXTCU7WOY7IVGA74VOYZDEKLP4LCWJJHJWSIKNUZI91YEKMI7KDFSBRAKXA38JH1ORKQH92367V1SG0ZX0T6QT86143G8BL88E1Z1KO3J6F div 36#LPFN3S0I0H3J9XAIF4YHN9V0ZY7G25IGPI3TAHCSUXLOJT2Z3. +36#PSWZG1KG239XJYB0GPY6ZM802ULDS66BKU2CVYIXVCJZIQ1DQVWQJ6ZNFFJLGNWR1IV3MLYH8YV0U3LVMDMXUTBMLGCNMAVVVCPQRJMEQD7PY7XC2AXTENSF4I9XWEPHNITE6EMVJEBGY5PRFY0O8Q5UOB59TAFAFLGP0GBK264HEP9VK4E61D321PJPUS4F8X3TUKP4GIHPRFDKPLSGGW20JBHMXG3Y0ZPKA7WKU8MTHVPIJO970DC6FUQ39WLV6EAEKBA56Y3NI4KC6RRNLZK60LRUU7LEUBS0DVX8Q5YDINIYQSU7QUXJWIA8NFHTIC22HMM8D3IZ21GN6P240T2FO8HE5UXQF2TXCASPBMWAT2P35JV0B68MRHLVC5YGNK3KMNFRS1KF235K5AKKSZREXSANLZ7Z1H4668SF584M2S2PEBHGZ91LS6CUMQ8QCFCU6HTHL4RSF8YWY3TDOQA6OSIMNFOY7WJ8NN2FGINDDGEX59XSILDEK4O9RCPAAN5OCIQKHNTOZJRDW9JCG8MCFFRZYJDNTGWZJA8HHL1457HE3RF1NS6CKJ4R0L84QSLLGS5D1AD1FSKWUXNKV3ZDUVMDHENC = 36#3WK8IHTHVPXL27MP190V5PHUAMHYHLKK0Z0EIVZOVHM0TAT9GE3KUCXZDRXDTT48HR4RU1K1LP7HUD8YB0KMWSLDUOAMCUVB0F9TZ9M4XOIC0HIRWSHVJ84R6JLN88Y3MQGX8CQMXSD0OXJCPPFAD7EQZNX * 36#6LWPZ024INLSYOP17NTEC69M69J6FOFAQ0EXXZZ7GBR76KFEM6L5JXW1G20H7OIQIGOQTZRZNH8YCNGQDQZ1ZPWA8RQFIZF554LJEFL60O9ZLBVGX0S86NJP1FA0DV4QSV0R8B8NMUPX0S25XJRY0294NH0XM3G8KCL5ALINKMBIT0Y2G9O5ZUXILYCNT0QHXJDI5M4GHHSSFMO7V0EQOWCCA6H5QBDB5Y30SI8DGG1W3PX57S49Z7Q8X8BMJJT42E8CYYCTJXDW7X3GTC38GNOZT1KZJ3QVWBP2KX32BCD8R9QXBZ0TX9Z6YGNF2V7VVWSGJ3SYHXNUY8EFG4THYXGGV1UZGDE4T6CERDDOLBJJFGI0142Q3UQJ4TVSQRRDE0TMN60A3SCWEVZX74SS2BCNZYWQL15KGUNL19G0O4BB7H7HPCXYHTTHX4GMOA7ZATPA88. +-36#4WGV203MSCIUPHAXC6NOR4PT41QGKGVJ7W4MGB2I9MF8CYO6MOC9IMKD9Y2YA2DTWDCY2PP2WXWCRH0UMQOBAPDFTXZSH6OPSLORJNG1TPVHMDRGE1FZ7HOBR0XMJ31WBKV299FYK2L2DZNUKR6ANOKBFLDR6TX6KGK8I9HCK591W95J8W6WL4HKVAUZSYPLY1GCRDXM5MRKOGQ1BZVRBQFT77BW0YJ4T14LIQ8MGKAD7RLNU7UGOGU94R685FY765C1EJDPOWBEKYH118 = -36#EHH1EVG1CQEM2TGCTFTOLQIQOOD9QIM0XL7YT1WPNBXMNNLOCYF5400RN7YMTOTA3FMHYC6S9XKJPNH7F34GDB2HRHIS7D3IU5ZUMKEBMYJTSKW34VA1NULIV34FFGLCDPIWHW8LCZ4FMJS5VD0B548PMC083Q82552Q4GYWH8RE38KZEXXE995J5J1100MFM1BBVP1909CPIOPF977LFSMBFISKE93P28H4XLJQ71XLN9IB9C52EGQT9ADD973N7E84WEPZ5EMJQRW6ED5P6FU3XRSQPFX2UOFVB8Z4OH9CSFO5J9HQ20TTKRDLQNSB4JVEL5F6HP25BT0ANDRFSOD23PMWK77XO57U4RPJLKDPG9YLK6KKEJ0URSKJOARQUSY9FT5SNOIBYZHI7QULM61OXGFBR2VTUXEGDN9UACK1R9I2U3XZ7UWCXNGADN4J178WY3C89DNW8MDK245SC0AASRCN4YTDL4LZKGZB23UWOYVUS8Y13IPULYLHU2D4YD04AUTQ8X7P3EYKBND7LG7CE9P22K0ZPUAZS48AI5DDCSJYGFR5HQ0PW9WEMX7O95W0LGL51VKI26Y7TKS239AZ65TI7UL6GYBR2KGM8DIZY84A4AM8YVEBDPMW1YNUHSOVZYSKQHOIW4BG45O4HR9A1YYUWOSNFXQXK7HUSK5OLR1YB6Y8TB0DYXUYI09M6OEC1Q8NEIFRQ7NAI7QFK9V4YYMCXGGCEUBBK8PN4O33RFQ9P1PH2HE18U9HAQ6QKD5DXGPZ917EMQMUC0YVC7GBOVVB707HY4KMZ2XTGXY2Q9JROKAXUTHBV7YMPIDN9ALXGXCGDF7PU0JRKYOXB8CAOD19VDYD1OYK342J0US2CMYE5YND631LNUPG7LOG7NY84MOKC5OEPF9801YVJJSR5PG0XFGGUOZQZ7E6K7AIKEJ2AHL0YG68R4CW53G516NQ0W66JUH8OU5S5YLSA4P4892KTQ44D2V61J3GKJY2VV1596NP6B7C5I0GXA6WGAZSH7IFT9C4XKS7IN82OBFOODBOU6MIVS5ZU1JOIM7YCBWTQINEKHGVS3I0XA206FC0MSLAOPWV7SSF9P1T2PW3COX4A9ENS45XONEX0LHB8KQ2U48LFJO div 36#2YDQWJZRT1ZGQZJPB0W491D7AC2AFY9I4JPY24W9E4KY4KIEAJIJR8BRF55GKZARJFGEDQ6I7796TWL4LLILN1JHHEXMKAGEWXMFMBH3CQTENWTS8I1X91JOBMX6CW7PB6FXMZP821SNRWZNB9H7UJGWXYISXQ3NCZMG10GPR3R1GVN21W9X589MT35GV0Q9TPQCCWD264T6HJEAO1UEAC8YDIDLFO8YNYJUD5C6YKH6YFA2M8TE9V2N9WIS7D0T6PZYKYZ043HMM4KFTYTI2ANU30FNSNITZT11PO2WGLXT4T5CK8NICAHFO01UIFDS9XVO6EEZVV0UB0DV6PQP2CT6E0N6S0WMR62GL1BAYPX6TLIDJJIBJZBR4UV21R1MP5H7QZV4SD8KUDLJEIS7UEBGVA08I5983UM6HDGCYC2RI7Y1U1YKKMO2OTYEW1KFY4S5YRB34GAVAZP7HOE4XTSPW2IQUZTBOOCS3KSXG6ZSLVP9YLBFP3F5DWQTW3FODZFPKYLKDADDERSLU17TTZIB8889ZH4WDCCD63TV2B3PCRO68EYMBA94RGLC0VMBFHK4UBB1M7NEXXOQ0BW8JM0JT5DVF69MRRWEI08C41CWFZ50BE0CK732B2D2VN3ADBDOZEO7NI5760RXH1D0Y0RCFEE20OK011YXV10BPRCWMFHBOD0YHBHJC15CE4VCBAQICLUJGFIFGELW9FSN7J2QB996FQNN3D17RNT1RYCHOTKAKDED5CLCNJYG3OAYHKG5ME5SK0KCFQXPH1EGYB3CAEXESDDTEOGF6R8FUDDWXGWVEG40GHKQPJ5INVTORMMO1DJW0LQKY0VO4BINMWGWJWL7HJYSNGMLK3. +-36#1YI10CUJMI6J86Z05R2MQT0DSGA00QSFO5Y7ISC6QOXR3N64TU = -36#TCRYKJMT3VBMT51ANBAHO01P9DV9TYG0HTAL7WYAQRZWROZIHD18UQ3KXA7O4WEL8X2T5KAWV28JDQ4NU79R405A1R144TYO60 div 36#EZMHKZ06TMFM2BMAULZ4O2UQF6I4QDXTWZV3Q9RJ33AQA2EZ0. +-36#6R2NPH73UCEEHWVHFGIMJPM6PGH2FVLCZ5T2YS2A7NCINT4Y2LKNI58CRKBGKXHY901BHMRT53CIPV3938PI0C20K14O2504XA34O9S8VZHPWJ2QLKA1F61AB431DHU6W0DE7EJKN93A010XAH43IIOIFK6 = -36#14K68MY29BPWOUQA1L6AM07JDKEFTTTTL9W7ETMN6VBR5XS78ID5RKLW1Q371ECYQEEK7FIREZVI3KM6SE56VY9O39927OTWDGXAQ6ZFGO19VW5IFTTD31U0LBH2VMBG8X3FLVDP6H8WFP6U1T09WXN79UO59WK50EP1MFSC4D8KIQHEYBS5IQVR36QTND04CQ8OYB00ADM0RJ8ESN4VHP5J1IIRHV8TSV1B10BIKG41QDFDTIEZDGE9K7Z9H3DSV8PNPTF4WF7N4Z8CHGZOL0WHB6SGI97Y8Y9OGPAHC4R317HUHNTJXE688WKZ4R06E75E2U9JJKZXRHFVQHLCEBWU048PMVGXEDKSVBDIVDEYGAE17NSBIDC6TIURBD02JADGCO div 36#60983SAGHSBL1LRDZUV47BUGHPKL7N5ZJIJTSQVITUYDZW51RIJ8Q0A8APIYGY0YN7MAMYAIZLL4EQTT9B3T3QZA8ON6SLSRG2DFE2P98BKXXKTDXVWFAO27KUAV1IBJ7HWFUV6LTEAOCPX0GCOJX7U973TOL5IJFY0X75OCEUIIQ0DAAOJ1T80RNGP5YOHSZ1BAGH81UT7VH5C2AZNQN1KYJ9GK48XBXRL4ZFIQASS. +-36#2SGV9TX2M1H3N1GJ7YDY0A1FWZW98M1GLQ9USDTCXDPNOGMELRY2TXL8POW2MZ0XF0QKVE49OEHW0PXXHBNQICX58SS04HJQL7279KVXKEB48OYP9EGZCLD6M1NZHZJEQBP6QWCUED4NVQ5SRPMBRVDV4D79JX4RJ7Q8BQCZQW1NH5FK9SQR1WSUOAHNABTEHS2FW46V5SHVZABYOLDP5RHJ6U9LAKU7D4P3697UIWG9GE1IRMZFKWAM3ZNDMI2EOZE35XNPXZFWP9Z18SQQA5VFGUD21VRQ1S9VQXRS3BEQBVHJ3ECDVT9C1KDXXVIBVQ7VRJC2VB9SLWQKHUU8RZRF5669G6XR7LGX2L3DKYKHBC2QRZRMML8WR5BDYO4KTENGUSVIJR8FHIUU0QK2V0RYK4TRYX3WF52UPG2L5DNWW29IBECVWPTH68WNLFS2TC5JMJAWSCNUILUCSYLN5ZXJHTL1J0DT1FLBX3EALRS9BNA6B5S0IUE857L1MRVYTNGPEEQUVJ3XZN55C282UGLEQYT1KLF1JZKFBD7J8LBO9RO92L2XFJANSPVIGWURBW1EA2UZEWTJFMSNSGJ5NIFKKIR43X2PKEJYGY9RL6G28UGOA1UN5G94NXKDR2EK9HJ489ZTUGKKHY3LTSWDA6VEV2WKXXWIMRL26WBYHZDSQ1SE7FU84GZLJSN1PX7P7HR5662KF15BCPI9S7H01MHUOGUDJ7PBJ25789AP2RBEGHI9HMII61FZJRIOT0QVSG1G6VGAW3M2MLD3068XJUNAMYL3YEO0MBUISY4OOJOK7EGJQXLF9PWQRNJACVGJ2T6PS6YE3CV7WRNKFU1TA04XSOCVDGS64ZAT1NCRIM51N6GQYR7CGODKWGXK00GMB454SV093ACEZ10I0L3WH661WPIMNPXIPBYIUI1POEQADHLY0CLKX7TRFVIYHTIB59JRRSTI7T85Y7NSN2XAYFMA7L5 = -36#2SI67Q19K47UDONO7F8YZBZSPLG2BBJY48H3UQFDXQJDXQJQ3WNYY7RGI0KRPCRTXUKA131LYMN5H01A9AWM631AIOAC7YVO0UA2LCTJT63E3EELE4GI4146OCB8LHZ7JKRCU3FRIIBIAF57MHG4YX468H5FC57XAQPRL9U74KTLBZ42GUQWUH7GDWZ5FMP0LIHDZNWVRRULS0YA9UA8DALM43EROYDNAHSJ7UY0V8243AFH2OGJWKKPN1KI1U64ZOWTO4SQJ961L9OI4VHT7T46RS66YFVI5OWIZNTUS5PIHJ0GA4MDRL2NZNU6MWT1MC0AM6G4GLP5NYSHLMJJTF4TIS6XGQEP1DUI3D2DE2YU75RWLUEHUVJ8DLTIH5PP12VVMR55QTCGUXMP3SES0SN0IDVALW5MW077LIMPMMFLNIC9CEA94D068QC5XHUSTZJXAYDHFYVYNDH5L53KHRST8PXKEG5GZD7E4K23UCVS7HT5VBIM45KLOILPCKDZ58P2SL38PWUTL6B5Q3JA4Z74NZLNAUWI10M4BRNCUYGHOVS2ODMRKAITIUUNXK7THH94RXKFLRFJ75AWE4RI20YTELCJ7EFZ8AHGVSFFAECECJC9KF890AAZ43L9O3R51UP0TX1OWL9GCTJQ611HBMLFZ8D23E0Y7QBN9JCKREK7O0UV6KBPPR9AH3HQP0Y1DK2744AGFCRENDUXX2S5MFAJ4NDJSQDM4I1DX7SYM4ST09U2A5K5HBUPG3LDF7F7VQCKE1ZUZAO8L1HYVXFGH0IKVM45Q7SZXD3T2LOCGZIN316U7Q24DKQAYV1IPU48J03RSFEC7O8B5VZVRPI07RA3UPOSFBD25A5OAU9HNDR2PAJ5QAG2DLD73I21SRO0C0KJK7XQ4PCGJQOO14FCIRIXQPSPET83ICFLJS37W5 * 36#ZZJ6OZXEG3DNY2WOJ61OE4QG67UDN2WMJFB10D63W8LTN2B51. +-36#6SFKDDR9I5D5QJB0GV84U5SAHS892I674KXWJ3DVHRYDNHNGO51HN2MPHI4SMLXVE5LN1TTZVMRI20LIYNDSXUPGXZPHDO3KI8THUWAKFSWPAGYTEZNX3CDI390LK68U1Z5VI5CG4W4VEV7GZUE7T8467CP07S9N6TQG4V13YLZY9IV1V6US30VU5Z0GZZ28VR4CP7XHVWCD5MDJGHEDC16S2ZSQ108DCI1NVLL6X3ZQM5BXPL0 = -36#FTMWPVYW3J1EEMWQFBHOPMDC4P5PTSBD7JDGWPLQZ8CGQ0U8LM4TJ93QINGJNFQ7505BYSNDIGWM4YDFH3S7STP944Q49DK87OR47NLTAZH13WE5URPALOM9LO05R0SJ8ITM2F23JKCTALJ9P5C5VZ3UFQA4KK663UD0J3NUZFWNYLGHH6RBDGD1YP0PRTP3LDACHWO0L7YFKPPMNMEKCEO9VH83XIO4YN7HOTI87CGH32W075QCMLA3WED15OC8MG2RQ480XWY1GISL3D5NHYQO9KAL9JHMHS90 div 36#2BW99KTK80WKR3PXEW5XSK3I79HRPP3CFW67BIDRPF5V3SFR4X. +-36#AJN12V0KGYIWD3M104JXBO97TLVGUZY9OEV4K2BNNBXVW9J5D = -36#HK2DZV1F6RFL3I0M7IMK8IIMYB2L8LIXL0LBELQWAV4NYBBFCUW37HKL1K0N6AA4OH8D9LC8G8QJYS9JO1JWUJKBYWXEMWN552 div 36#1NXQ36J5SQ8OYN75KXJ0JKTY0I1FSTS6XEYY6HK1DLRH9C0AEE. +36#49VTUC6TNKTSMBP45TG86XZWVC4VJSZZ8D842Z9ICQ4QY4EC8Q8STEK7KCMK7I4YDMEAMQ752ZAX2JFU05F96HTW5XJLPUI4PLPW5769A3DDYQE56A9HZ44DKA58I7HJB9UFLDZEICCKYHGPCJ1PRKOJMKB7YYDCBVE40KIVCHK9OATIEAUXM2UFZB8K0SW7V4QF5MJNXTDHDHHT0TD2K4NZL98L83X09EEPRIPOU84L4TEQJJIES0EY58HUTADW63R8O8S018VR99FAQ1C7HTHK1PC4SEN14FKSTCVZO2IPMZVRVLHH6JMAU6YH0L2Z1EOUO15XT2MYEMZX04MD8J1IFSLIJATZ0L3NHUYO = -36#YKP68NY95QS7Q7LJ5CVTFZ39JPF83DR04JAK5I4KC7MLFBSDV * (-36#4G85KYNZU7LTALNHAM7Z09X9XTOIK9IR6IK5UVKB9RZS21Q69H1Z42NEW4O5ZBTX884S7GLKTVW3Y64N2XNGZ9L840N68T5T09W251KS9I15EPHW4ILG7NNUF7E56I6WPLG2ZS5RZKLYZW2JCV2NA1GMIKZFUC1AOPZ9HX10RGC9TJAIC81PHWEJGUWMTAQ7LEZ78X6IFK0D59AGKRAIK2SX5OPHKFST8OTGKKYSSOWYMUM65VRSMJAA07TXKDQNE832Q33I14YC34218XYRJ33UHXIQ7P6WELZDVZYPN1U1MXED093962O). +-36#183QEQP9HTFVT3P2N920NCVBOSNK845F8PUM2A100YTPGF530FVKP3I47RRX3RA2QR2QRJPDPTEC7RQGVQHDQURFURACJML52A9 = -36#2HXDP7VEFSITPIX7DR7NTTSM9NXYF75K02RWPHO3TVZMXVM9A7 * 36#HNLV2GFHVCH2JZXKMOZ0KSRGK2LW040X5PXGPTUGLVU35HKTR. +36#EK8O6W1AZSRO6K1XJ2O7QP7RZL60PPWR22ODSISJQGOL31ZZULL64G5XJS2PUJZ5Q0FN6CULIVYIR0TLRDC1SN0VJ5YTPV6PPBK3W111AAZ66JEE0GR5SYKQ19CULS2HLY0RV9A4BGSU01V8U863NF37QOTJSTMJSIC0ET9OKHK0P668R7AOUTYQ4HJBWKDU6YISI22594HOZF2AELBOIL1O7GP9CKFPTFNVRF619DL6JS97SAFME59E3AZM1PV9ZAN8JK = -36#7OCWHJQ36AIOVH6767BB19OK6OQRNWW6X9X8YEZKZ37YU1O2MWYSZF06TW8VRLS9TU547JW82OOI9NNP4XD5GVLR1Y776URDUVRQVMBN4W6Y8X9WCK4YCI9KCG4L1PI00ZA752GR9WGWIYKXN7CHLFNR4 * (-36#1WAGKPKJQI0QF31T2LMKIKN6B06NO8VRJF0V9BX13GVE3CXAV5BMA6M8R69ZGWJGKF6D0S7ITP41YZVL5HMTJW7BJ26ML1BQPRYEM4Z2VLW52N). +-36#2AW74IRNXF2OQ91X6ZO4824TQBU0OUZGIC26677BW32J3Z8OVMLO7KGX6PKOL9CA1QS490IKE5IMRFM18EJDUX3XV5D8U57XTN4WOH46YZTQ5IKBI4QZNB21NAQCK9Z1IQETX2UQXE05KLX48Z4EADQ3OIGWN0YV73ZAV42PQD393JQ52TZQ4DH8NF93261ZAEZ65Q9A4Z41Y2TVPBJCV0LHC1K48LZWET5SS29VAAVD8G4DMTRG17A812RZ8AE42G91Z40CAA1D667JBLH01L2ME67ZGLF5B4N7FHNE4UVZ6UA1EREW2BVP6G7A1YPMBK8QAXV23NPN8LTASELV21GZOVC24Z3IMF9A6LNO5H6AQUDWDQPIUVJLDD8T1FL3AUIMQAYBSHE8CPOMTU4YAMM83S3HN76UAPXI3L5ZPJFUK56KN2R4010D23XZZJ7GAYGII6Q1RHNBFMOTLRADBHKGFK1PHRJIAFLYKQZK5D78YHM3F4DJJRWNU0IBZ47SKDSZ893Q2D23X50JW7WDUMLDUIM9ED3WTV6DMY78YY41QEKQZMJ41WWM840DL87TPLJNDW6JNPSTNRSAMVHGMS6NLQI0QZ475Z5KD1IUU7NPJD2GD5HXCDGZC8T78RT5VSDIO1PP3GV0YAMFA87ZYHVZ28J44XW9SZO9RHCAHHARH3817Y5A7X3CEAVIDPKDBD45MDMLNIC7EYQZXBGUIW95ZIDC6WC496TBWDM576F6WZO5UI9X4JHR4FWTX23KRBDNCNKFCU97YFDUWAEXCYNQ33TI6ZVWMMAFL0GCEHJMV2HWUFCO00GBT73HEA68I93UM2O48GKQM4QXA9FZGZSPJHUGUC7WRKNUTLVTDLI2N73N8E4GN92O4SIROGXS22XP8NBXK70HAS4SCJH3Y1B6PRHFW94SX1BWRFO1IF7060DPVSY7P3R3JHUMIQS9424GZMKME606I04PBLB5PQOA89E95RUNF12FV1WR1ZK2ABEEQIMYPVZT855UYYERX7248M7PZAO24LLKGGKHHIST3AXTAINRICTF08JDGZ8NYDTXLWZEDOT2CR1WAS2YDMSXUM3P13XTZJ1HV6KZI7MTNRSQU6PM72S28INGHW1G4TRFRLDKNIUD5GOMKB01AII2GOUC6KMVGYBQOG5CM47XIPW7P49MR0RBTEQ42J7OZVHA6788MAJQ8KDYYI0R4J5JVUCOZ4LI9THMPP5LKGOC55066BOGQFBTMHZWLM5VCLGX7MIC2QV5GST0OWOBHHVUDEK2GWGIAQCJQWCQZUCIG1TUD1R5KG2L354MADBLYBR1KKQ647H9ZM4IT4ZKJ8VOW5X6T0TWWNRY = -36#46GKPLX2I5M4VH72G5MXLKHII8NYD8WKJ0JI91DQZQYB6D8BR5U9G54KQC4J66HKXB3GG7CC2WUK0SMYGG55UG55WWEBXZZET4SLV287G6TQU4Y3PNI2XPJ2943GISUBEXVHBWLNBQGCXG3D53PFCHTP1FU55GFCHHNA7J8IQ6N99HTIU80POF78SKPSBAXU42ZA78KPKHDXGW809IX3621CEWMXB8NV6VAUEYZBBVG30F7UUD3HQEMLUUVVXIEJHS0495475ZNLS0IETV34236LYQB6HYHCACGYJXS2SPR0P54KLG66JS58A2TIU5UWTZBI0I40T72QQ7QVXLMN0TMI4S10XLD0W4MGHKJXGYS2I3MY6B3H8VJM2GHRKEYF2BLY9KR4R102D4Y645RS3L02FB388I3RF4QSHJAG4K6JFRCZJJ7ULJGELFTUC1NLMOZ3YTHMVQFI658QR87XODGXJQ2TIEJOUIXVMCI2UWKWKWFD7MNW4OSETXHFA804EFINSSRKVAKMBE9H3RLSROKOIWYHEIOFTFQ45VWINJ7W1OKAHFQQ6ISPOMOIZ0GK3WB2OPO1TL8UT2BFI8GW993G0N8BGK8DT6VEYFUGXVOKUWWSF6MUVP4L0XPLPMASJJHKCL0VVDHY0SJG6ON2F9WFUK393GEM8T9X7041KUE2AD9JMM2H07Z30Z1CH3UAFAJ4UOJ22A2OX2AU6574FTSUFS2H6PJZJALOUXGPW8UM18L9Q5L1J9T0DNQU7MMYW1DQSSYEF2N4W5VLFPRPV0W6RVK4C82QYM5AJBTF46CMM0V253TCNIFF5S8PJN7IHBV65AVIFPWTY1NESRTAEZVAK67RO01ISNBMIBCFOGRKDU25154RIUA9MSJ0RHBEK30WLSHC0KAEFH3AVZNCG6GFA3ORBQJP0WCS1SDBAQ * 36#JU0KIKUOR2B20BABAR1PDE29GUOPCULBYJK43HFDSSC384KHUS13PJ0G13H2XKOFPAPUWB9LDRPLXHG74K1JXWYNSG7YZ5W23LTHSYC88O38WPV40QBOYLKOJZXB2Z40N3WUVZWCPXT4J3LFVV3HQOT19FKUDNXNOWIRH7NO5PK8EF4COWI8EHY2ESJ341H2H8OVTGCBEX2Y5WCZU6BSEHFPNASVBG9J8HGHIOIVA361YEDQ2JWEQAG2SQJ8L2QGOLYL7ZY0C09GYY7TQF3JEQZSOXKQH48IG3459FRFH4T1MNIF2ZSVVOHNERUPG69FIEF2ISDFE05MJEND3T2UH0OTACDP0XLCRKAD9VBP3L0MNQL0BOKL09S0ZBIE9QIY29REQCAROT2XVVACIOTG8YETIYLFAPTC39ELRB. +-36#3Y8020AYQ5LDFYH91C6JC6O6YQK7OJDBEK0T6SF9Z9R2E1YEMYGX9U7U9RLQIY83RXAX2P1C056GD7JAG28RSWJHQDVNC2B7VT792OBOI79QQL2MJZ52Z306SQ7ZNMD3Q9H1XGW41ECIWDRXDFWMD0W2ZAZN0UWFQDJFXK8YR02BSEUC7KL4B1AKTDMAF8E2YO6CS5KL8QPONTTEZ1CG8QOGTZI7R3SA983WH5864DGKPOVJEYX16MB4MYG3V8YNQ = 36#8GBA7OVIZG83Y8EH0NT8QIQ3RKKBCQPC29VT6U03NR1O2TLV39BQZM3VJAG9R6L4YWCQGEPPVPICDSOOHC89GN2CLRC6D2JCHMYP5EJOU1VEBP8JG0ERCN5KZGF9GBWWNXFJ33FIR9IFYCWI90XUIGDSDW46O05P5KS6WUTA7ZTA855EPJ0Z0WU7S1FNE8QN6FL7QWK7IFDVDU7US1RMJQIQ5AAOYRU75432IHN0L67YJRN81WFL7JQ51QCM4RTWEAITOLGT655H52CRDUPV5581GQS95PAOFAIZBWZNGMNRLGIN0A div -36#2511ZQF8DC4YCAH931N9POUO0YLM3RAUXNVCK3XFRXN5PGIFTZ. +-36#VTDFQ2DMDQ3Q63AF9EL2G8KSXT6BY9MZ9DD5B6DH0B8M6C799NZ8OHZ0VNPTU3LFQWBL7V8ZTABM4O6LQP8DSTJPQ5TMKSMQ33CME0FS2JD3WY3P4FIQCEJFGR1FSV01THTXRPH4GCC06N0LL24T9S6OQ7OXV1ICSU7GARR7302A5AQYHZGRHXSP0L8L31RNJK22N7N9DZ9U9VMY8YMBWHNBO87WA8NFJQCI7RIM9DB7VQGIEMTCL8BVXLPN55I0TSFIIA85DK3HV3C5PG12AR7WVKC8TSY3DZ30C5UNNT7ZU5FK3XVQLLMPDH366BZGCTKU1WH8OTA0S84X1NR387AAABQ06QVCL570PYL60WKMS711DJ4R6M5TQC3PIDTIZ9AZ9WG1UC5ZRT1P1CXFY1FPEGH80XTFHAMYHK9KPKJPS8XHP6WU0X9FHILSRXH4W3XU5K4PDCAAXJQ9BOWDBCBQZ3FV0Q1O7LYJUHKN8HZ84SZWIQGVS41YCFP6N5FEM6FUMRTH5INV16NHXL6L8T6PNKCG4FPEVQ683IE19EXH5G053HG2KJV1CRO5TVRZA7XCVMWCQQ3KRF9FLW6MZJVHNJC93LANHD8O0UJ6UFUOC491CTK85CTAL9K8Y67W4NAWFSO4Y4187J6OU6QY4AAJ9NLB8R14WL3F3JH6PAVEZ8XFVYG0R6WXLGUFDFAJQZ77HCQ5X6ZWTQ5K9KEOAE9WCZ6RAUCH9S9IHRZ2FNAANRS8OG9AS99WTPTN06CJDIDIKMZ1VCUTB49C9N4Z5V25L1QFSYAWN3IADNQI6TJ425X4GFXVEIIJ36SXVQR3D3KRMU1QX8BDKGVJPF0AZKXRLLL17RGJ24GMKZD2CQ0GR8J6D8BQYOF2FOSEI0V3A4JQS10OJSKYVB3BRDRVOOVKY7V9WB0C2YCSGDD7R16WHTAEB7ZPZEH3MNX95AIWVBCPQGJYQW2MN920ROY7OMA4XM1H43TMY033DYUSLCT3SG68WWA1ZUY393JNM58G5QNOZ0Y1Q0246T1O43T2MSM87M5K0 = 36#17PVI3HOMAWLYZEHNWOKGX7XR9SAA2Z0I9QPAG20KJMOVJVOGO * (-36#Q75H8L8GNSZ38KRIE2K2G57KDP1O7Y2UAJ8MFUIW669OHE2KT8C2VQ24YVNYLMCVV3WOH1NGYRI95PD4A5WYS8Q2FUY8EUNJPCAH4SDDR57QK3E6VAKPBVOCZIPNNJN833F8KLFP5J0MU5OTBMCHKV1BM259WIUISTY6LH4940AB27L4OVSDC7NX1XIWGZFGRZVIJK2SRBM4X2SD639RGVIDUYDWBJQDMJ43H9Q5GF0SADHB9MSBRLOYGES4W0TIPNE8IICLH3M3020QT70NP0BW17CDKH9MC41XI65IJYRCIO4FDNS3AB4ZMKT4LMC7DWS2J8SHB9A7OEIGJ8TIVVZ01PKP2U0OP5S3DKT97C69JH841T3L4RBCYN69ENAA1QLDSQZASBNLWSZNZE914HC9YD5NH2QT9JRZMW7JDOPSF0LNFU384CIY8SKDXD8XGI63MISCD65HS77L1BENBGGLG34A5IXDM1FNPVITAWJ8P24XYFE9KSEU9R324JCIJ0M9NRAZOVTKWXS2HBVF5ZDIHMXQD5OBAQMEWALDVZJ6PXLTEKUA3JYDZ3TTT46FZ71MDOTNZNLGKZDLL19K0MWPP0N05J8LMTPKAHQWZK0ZMJZG87PWTUVX5GRRRVEC7145FR5DC61RCY1MU1WIZ5V80KS9G1QJ7DAVCOFC5LMZBITU9LDTSBP5ROMTCJI5OEF218PMOPVI1RPZMQBGQHU6I2PBE9RWTU674QGF3R6VOPDT13L6VTFV7WFHYM6UKK0NT4M0HGJ1OKGWV8G6KFK0QMEXZ0Y1WHATBHZ199NVJYLUP338YHDDAGRNOGAKEHNJUPTNGSHCU6ZCSIGM3W3FJ9TYQZXT3S1NZPYMEJDLG0AXYGK2PJT7VR8FW1EP7HH8VU7LBLBWTEBJPMJS8TZMUHUSPJ9L661EUXZ2NIXDW7QT4386JPBO9848PV0RHPZZPBG2A13VZ1JNIIR0EI03S55AC7MJO83QJ75R5L0C). +-36#7K9J0AENJEBI7CNWY2QFLH7XAYPQWQSH5H6RNTVBY8PSQWB2P = -36#KPFAPR3B3HPJ3VVYYRH4U9RZ6ETESOA4CTM9LOPDLVL9EZ8F8JFA8VRGU290PJ65FKBAYLLT7EOS9M6SPKCARVEW6ISG4OFVA667G2PRNAU4A3KARZUKZOJD1ZXRPMWHMO84EXYM8EJEPJUAS6E5SBLKFZGWOWDT14PZQYYE0GSRWP0O26X2W1CAKQDTYTSNDCGHAMHYDWLCGC2ADQFX5ZN9X00JPNN1UA0VFPKZ6AQZ5JT7OIMJCC7A2BKNHCLVI5YRJIJS4FJBOPRSIO3UDPB4HTT3ADCTJ5A7FORSFTDFIHCG40BLMU596FL9ZX3D2OX38ZI2D9K781HD98W2JFEFUXVH4BFRRKV5FTHBDXMIJMSIO6R1WQST67LMSNUXMLB968S9JKWTSH17AQBPQE5QVY14JRW6W8DRBDYN325U2POT3ME79ESA4BX1HTZ5SPIS7S715KW6HF9TPI93H6Q8CG425TAK7NG5XHTZM4JAK27VJKOTFKGZSCC1CFDRIE2XD37CESYDR9AOYVRKB75PUSOZ1DQRTA1OSIWRPOD5X0Z8Z08CNHWQ9JCYRC1JD7UCN12QGP23MTAY2TE4711VBJU27EYO540W4CCNDETEK4JKGUVIVCMF2D2Z2YT69O2BQ3QMGSQZ55LCJJCV4BEWVXBX0HDWL9RFL0C7HNCQ7C7OA9TLEUQYAL4IXJVD2AU7PYETSK8MOFRLOH025LG196Q1Y1D4S div 36#2QKA08DEUNVZ1J1TEXC99876T1QI3KQORBC4QHWT3GVX7OZYR3ZULIA34T5BDVSFIU63Q61BGMXJN800EW5PO1WUWDSNN07SWMZHRENW5AAHNB8V0QM97FP55O09SPNAX423NY76WEVWXQPJXRDXF60M088U6IOFRYZJ91PUF90LLBU3P5E6B0FE7CJ7V858F9CURFP0NIWXPFZXMNNO19PDC5MBBW1FPTCKHV92F3ENINTKCPVSVWE3RFS6NQZ08UOODYJG1SPKFCQQZBSIXOFGSA8T4K6YV5JOL52QCW122E779ASA65FI7J86XJ2B9FX39NOV8Q8QJFHKEN7Z3ZTA9OJQEHWR22RZBKLQVB9WZ51EE9MAV79BOLVTMGLUBHUF5CMS1IXXWIWO87PXUPIPE4KO1I9VLMNBF6PFP5YWTZ0W1FLFG5HK59FVL8KQ2YBYXCLVUL13363GYRGGWP4UGZ47XDY539WEDRCP43WEOBRFDBDAS95EZSP1PVFJXNQ9CC4WVK97FF906BYKO30V96OFBD9FV1YZUK9BY0SW4GMXJHSE2FW0XU4U606Q32VSVYV4O75OD4EZTZQF0MHEJ1ZO3L1Y9317Q8FV2JH2DHF8F6N2AXTGBH5PB82BC2QQHOWO2BJSNDCZOQQFSVLZ4W30PZ708YV8QPW6W6FAUEKU4. +-36#FTMWPVYW3J1EEMWQFBHOPMDC4P5PTSBD7JDGWPLQZ8CGQ0U8LM4TJ93QINGJNFQ7505BYSNDIGWM4YDFH3S7STP944Q49DK87OR47NLTAZH13WE5URPALOM9LO05R0SJ8ITM2F23JKCTALJ9P5C5VZ3UFQA4KK663UD0J3NUZFWNYLGHH6RBDGD1YP0PRTP3LDACHWO0L7YFKPPMNMEKCEO9VH83XIO4YN7HOTI87CGH32W075QCMLA3WED15OC8MG2RQ480XWY1GISL3D5NHYQO9KAL9JHMHS90 = 36#2BW99KTK80WKR3PXEW5XSK3I79HRPP3CFW67BIDRPF5V3SFR4X * (-36#6SFKDDR9I5D5QJB0GV84U5SAHS892I674KXWJ3DVHRYDNHNGO51HN2MPHI4SMLXVE5LN1TTZVMRI20LIYNDSXUPGXZPHDO3KI8THUWAKFSWPAGYTEZNX3CDI390LK68U1Z5VI5CG4W4VEV7GZUE7T8467CP07S9N6TQG4V13YLZY9IV1V6US30VU5Z0GZZ28VR4CP7XHVWCD5MDJGHEDC16S2ZSQ108DCI1NVLL6X3ZQM5BXPL0). +36#2Y8LY7JEJIOV2RBBC98SP1NRV9U4Z00UCVF27BMKS77QE3HU6K = -36#G6S3LZNN7TAW0B9EKOV5GWP6QCK9KZ7PZZJPGTKZXH40SG3PMOHTECO2MT68OKMR4AW81PJIJBL59RB47AT9QU4I9N1EX8343AM9L3X8MX00QTI3S8DK8CZA6RGOFN48LY5KVY8YZELDX2B8VSZCFFNJGI5RWCKXABY1LUAMLD7J0TL4OB8ICQCCUBO2PE7GQF6H40GKT2GI3Q2MF12WILKRF10U2VFZF9VBR05RJ6CCNQT3X877UA9HMDDID25ADM8UM9A849U55GAQEU88OSVVBZ2QMC div -36#5HH9YZSJQJ0ERVXEYT8ZHCCDHW6C9QMEUIUUB0R6GJ82CP74VOC6TE97YE5BKH67YSDD9Z9PL68D9WIL63W99G3F550NDHI1GNVAKF5V2IG9ZPJV7WI31Y7L5Y4MTCOBO4IFHRQ2X9NO2V5VWVJ24FZTRA32ICHVY4R10ZGAOSZY9LVAISEAWGHYP1S7HRVWPY2Z523NDN41NJS03WX7B2BBH2DHQKR9BCMTQO03QVP7F. +36#WF315F0RSJVOQRUXPKD95X490BZVUBZYRZC1Y1M0I8XJTC2LXIVXESIV08Y2VHO96U4BPWFGN1O58PVEYNQ4J5G0E53WA0IZAM58N9A33O2RLWCUUJDKQA9VRPPJNZOAXUYXA4TFXR106Z = -36#17V0VZ2O6W8UVSMJAKYQBEMG2RSJPKII8T79SNDBMQ4SZ2OUM6KC9HDWB2JVMYSKYHABDQTLBRR6SN6Q7EGOFEJW1W8PDT113ZSG8SSQXZOWKN1AT1TWXQRWTFH26KFJ2WFBLICH7KI88B74053WF53NQOP7MBWFICWQQBJZ1GZPBOBVFDISC8O9TXEPSSFE div -36#1CPFYH9CF3KY11LRFGXDMSZSYCO9L0Z23V2022SV6A7BT9Y5UM. +36#GDSI0WZZ4LJCHTQDX18H7C898NYVWX97PAQUNPNLN7Z4E1TYKRGH7UK1DKDC3UJ0TRWAX42TXINAXZHMBIIOQKJ7J4FAFZ7LJ3BB34M26J7XQTA29G6PF9QVNVCVLY90KSYZ139V5D5LJHO4F41NLMEW6UDLRNA7930TGK61KFNLE6CW8CEGJV2ETW45J61AMR3NVQEV3TQ6V30ALS8OAW3P072S75LJTFZEMAGJEHDVNHBFGHVF25DDCGOSK38PFJUNVF2LF4HWZ4K2305BOJ6PHSFXT8UXDYTAU55ZCHSOKVB386GD2FL46BMQO7CEP1YOFEJENRG8O16TU4D8OGF43ITCMC3W0 = -36#2BLWMH2TM3WH176JD0BC3SG4AP4QMKUSTULFYPGN48YVENDV2O * (-36#71Y92G3DK8AJLRN1OCIVHX984GKY0946QMOME9FQHIO2BFCQRFDXJBJCBIXAQ7MNU9YZA6EIM2GF45ZVLWTQTVBXGY8JMZ8MGTVB36FFDAA2IS5WAE72R91DXCZRENF788A8XUJGWW9K99UKALRFETJZPPKDB73XRSHDC0IO1DOPP35U9151WXYS2FLTH87D3US9JGDF0BQQ3DQ3KZ6ZSVV1L3OBFN2O4RYVQUCSTDYV3OFY8EZFRYRUKN04RCL6PBLMBRO5K6YIRZL36SRKB5TAPULQJQ1T03NF4YF1R7IYUWG3). +36#6CEAOW24K8AEG6LN7YXAXUINTCO25UAS5TFARDMGU6JY4TRMK70FNXX33XZJ09V8AKFXXN5MJGOWO8YUP7PJJS5BHSLP9DQ5BZMZ8SELH2BZ0JGETHOHIE836KT3DLBQ52X5FOOQB91WHJZEI4I9EMIMVT4LZ6PDOE5YRF88KBKU17F3UJ8V4IG6HG2YRSJCZK78H575GT0J9SYEI08P6DSQG10K4PQVUCACU8J3U505XV2T6ODEYRIS7J4M9NRUXJYCT7ML8RS56VKIMQPXGKD08I2XAXWLI1KDBUNO81YB0C2WDN835I4CV5P5S6E = -36#64H0G2QKH4VDL02SJB4ZPV1T9547IRW5Z5YSFBM8HYCG7G4EMGNBE4J5U0V2TXL0WTLHRV9DB5Z9ZQR09K7A095H0045ZM7M7VJRX9F7W0CPK8WOTU82VRLXLIO1VDUMXK7P4ZNBAHM2IHWZ504PKWPJ514TIH6JK022G6ZWBNPV77CSYE4Z0MVVBH4EJMZVMHSIA505MG5ZS81DOSITJKMYS5YUDIVAS6KFIWK4HZD4ZQB9HSGBNRZ7KTFERJGUJ82CD0CN698SHPRU9Z31N9UP5LOJOAQ3MEV8MOWYXVQIKGDDLN10ZEJQGLA6VBH5W23JVMXBN04QXAO61O7VCZ2INUZBQP93NT2R86V0RZV7ZVVUG9VPO6SDQ5Y8JPMH8UX1GDGMA7WRWT12AC2K6KFCS62SN0QA71QPOU div -36#YR179VV6PKWG7T7BM74R0BJMLVE2NL9Z65GS2Z5EHG8G15P5A1D9HUMG6824M3KGQ3ZANOULV1XA5RKJFY8SYPNJM4JCKR9BBKXCYFX. +-36#5DR2MBGEI80H8SFQOMMCQB9OOMVIF9CH18FDNC5YH3KY8HQG1 = 36#GSLAF5IW5QRKYU74EPHPP65UUTB65296SZFJ6Z5E49V94567F2HAU7JF680FUQC6ATHR2TU1N76Y2B118B4E1O16KTESD5H51Q div -36#34C37CTAIHW5T2NEW4SV6H08TYJSJVA0TJFH4M30ZRZ7BDMHHQ. +-36#E2FP8BQMU4LX09VOOMETP990OHI42ZE24AFP8YH60UBJ1W3OO0NRKR993FG5KI3R298DFNMDR2GOI0D5ZP5CMAGAF2NE3DMQEUW8Y8P1Q04AJQRKKJV7L2OR7RU4ESDEOF5ES5VYH2MJTM9GXNS5RJSJ77WBC3PFFNU4L47TVAXPQKVPTLDQFER0YWXCL8NN7N9KZIFUL3X76CP18YDM74B8R43OK3MCQKJC3IM8HFO11BUWK51JC2BTVI6Y1VYG4ULTP10E6PQ51CCC5GQHE2T5P488S11BX = -36#5K20HIRGMDM2LKR5HZ9Y8ID23HIQ8MTRP648RLG8IG67XE527NZRCWIX8MBQNFC54GCKZRJCGBV2HPQ0PYWHVA5V6MFK54KC1UJVVSURONN4PKYEDK7IDL1I6AZ7EPWJI9AAOT18QBS72XYYII3T4QPSLZNE2KDI8R5HUWCEBU9KFA5AT1LZ2EFKE5HX03UIZZW508SZ4QE54LI4THL1NXOAY0JDFTGCO3JYUZGUNNF214E1GSMRPPH2FZ24P05QUHOD7Y6YBJ2F11R1AKU963J0FQ8G8HINJYVO4LJVMI24FE2410EB9ZQ34ZO9NOU2HDFKRF7HVXBYAVQRBIV4RCEPVFCTQES0AUZ4CXNY060N8C3YU0I3G4GV43Y7XOKPVH5Y0PBTNPD9AUWHALR4MPA6UKXQUZOG8XLFQOVC4OE97XZUHMXUZ1JRP1QQZN4OP2WVX640DEZMARUZ41TQCR8Q1PTWH7PRDI3FAFWL7P8SKP8NJTEPXMCHHWGDY7U07GWWWAGJDWTDMFHRR4R7N3D3G5VPUFC9NQ6U2VIUSCATD6JCPC7YMK4OV9FM2MX4JWKN4ZK8ROTC1LH3YN925860RR48ITCQPNKOQ874EF4T409UQ8MVYB2DCSLE2QYLOVJV5AMU0H3PBIY5WNX7QAV5W2T3AJW9W6SHCIFNO3G4ZYOPC2OOK01ETOBAEF41B8SNHDEZU8IUODB8GOFRK0L2DJT5RIPQUH2E2S7QFZA79ODCBZ2OZ636MH9ANI4C3X8FGUB9F3HG9E5QDJTYF42W9QXNXPZC4OUELI41ESFR0K9Q648A6RXTLQ9AB1LMO89CTT1NZGX8S48QB8D5ILW71767QYNODSBC3BMW1ZNQ8AVF42KUUYOHQNTP0A340I2ML4DDKMGXJK3P39MM741YRAN5Y64B0OCGWWB8VWBZOINQC5OLLVWPVNUSGSXA26T1P99NF6PAJYKLUQQ76RGBLPUCPPPYUTF0EHQ5HPBD82MY2JJIWE6HGUO9ONVUXS6WJDOSFKX7H3AJ62YX div 36#E7YDM6MMVUYYJOUEERHXJVFI91GMYCPWZVRGZYTKYSITJRBLDJRLCC125J3RI9Q4OMGZKUXETO12VMGZ8CWIG0HAUWQJYTH9MOU7JOWU5NI2PBXA9KD91GGHI1VTRAH8DO7YIBM7FAJ4HK85OXM50R59538YC1SQZQPZXDY10RJTSDNZWC4D403M2EDHE1SBSZDTXM5DQWX2SSWA1DV7XK6Y28C4ZIVVBUYQKUZNZPZGR8UKBZ844JMD2IAWQJG9YRPAPE14M471YIICGASTLOA4R6ZUZDQ5LCV3BIBOH4Z7AOTLY03PW35XDIBV0UOVNJ54N26H761WW5UDX0UIVNJQPX199AGBK6FA28MRILM4O8NNTRBWIVXU4LVBSE7UYARNNICJQHNYL57KB1HJV2GFEXL9IM08CYQW9QGR1XERASL25MCSR59QB6QL5SW1F4RIL3MF15OGX9UPU4CFCVGB21BL9ENLHHOJKLUA21PRDB5IYNBITQB9FQVI6GRHR1UI1EN4L35AVEUAZ5QDD0GKSXS40W1C3Q2ZVQL08GTAXK3R423XQBQNQ881FQCHTB1CT8VAZ52LYL5050XVS77YWPBGHNQBM2W17Z2Z0C04CZ9VGVBZ0EIJLLWXYKPOGFRPG28V05B7LN0UK1PYNS7E7MDMAX6BFIJINO8L00LHAJTIW91NALYC3WB6C56CBI7V9HQG3BNMMB5VGE3XNMHSUSZKPQE80AJMTLKMP05FVQAYWSD. +36#M8EQE64CB712PQ3ULS9LI6OIP6LW3KEH5QGLR2GZ4ZHLOL7ADU3Y7TC69GXAVHLL25CHT2COYJTA106WTNBB9NVLK12JWA3ASO9N2MTTYXGYMOE32NC68KDDFN58GCOGBXF04MEPPJKFVQ1D9VR4NTV273SLKLWVMCE7YANK18JBTSH2JOKUXXT169D37OEYPIP1U5L831EBZH12XUXRGOAGWA3VWJ6AOXRLYJGXRP123K4U7RO = -36#1QUMI4MKZ8UGWPE2FISH54DMGGNQAB0WMVXH5FM88E2QVQC5TUWN19SV0WODBSRV7G7GVRKSJYMIAYR0O6FU7OPXSL6268O3F0U8G5T7Y3MJ2TT0NAOC79G0U2SAUO6PI75A50KUEGGND3H204GEEBBUU15X2QT8U1TI94R77WON8PSAKFVDQG67K295U1ISRMC * (-36#CQGOC3FDIUW0B8AXU0MLHWJON27B9K5F79Q805JZT40Z6FTZ5). +-36#3ON3PMVLXDY62CA492BQ7L86CZO8P9FSA4I70MPJMF9B4YZNH8ZKN43OWIWD83MV63R8C1ZL4CMOTS8V83TIZ6KDVP318VQ4KUXZR39H5OMEZAPVTYEXB6ARIE8WE46NOF8CVBB27MYWQ6ZZKS0K67MH6RX69CHR03YPTK4SU5MIDDBCZ42D11WV8V0CEMLL0D23VMA9LF24U05JDOLO6TI8URBBPIUQ6J1137XUVNCS7ZC19AOFKNUCFMXI9XP3ODKCK3TFI2LE66AS9HPMLFYSUQYCJBV5ZFXM7HXIVGX0RK5ETV9HQTK02ZVE4VR8RK7MXFRXOMEW763PCVUMQL1GI0SZ7H4RR7GD000VZGWL5P832TRT6DC4BA168QTKJGSNSSLTH5LU0P18Q4NLVYQW49SUHNXRBC1HRE320BNF9WBVLR3K4D6ILJXQJUP5J3Q72BW5G5SM17CKNQKR3P7Q9H83F1LFXS9PYFH6M07SCURO88X64R6TZX2IU8HC89SITPGH2EBFYA9XHI5G6WUKTFNUSSC3YIKST6X7YP5U8A5ZWPIMJ8QQUS4OYB8PTNKXS036TD8KUG3SBEOHYKHYVURMJ9T84YQB17YN7GVIMW070163QD2YI9NCE023Y5EVV8WIGETZ6KAUHBX1626U61EXHQ8E5QI = -36#80SM360D62GI3C3CKR5EK9I2LV2OE7S6SPFWI1KMKYCNB381X4E4XKO46E69H6E958Y72GMGHVD5ZCH0UEAJRKCT1K4L6X49WFIHHWSG11FJDGAD809VOHFCBI3FMWBSCS7A5D9QYGOYOEQ563D4R8Z6V5HEMGRMJDRKZACQJZ56QI0GGN4BQQYB16RG0W8UUZHNRW9FNQN7QSII8UGW4H7927JQOJP11XEMPTZZFHCN734PNTXVQ4HRUQB0DUZOR34PD89WNRRMOAXQCE33JAVB4S3H7RC3PO20DYE0UZLWI2H9QF10OQNSYTM5R9P5S8EQAEV6W8SOBMSNGNNNUSB2UY1L916Y3LM4GUQLV6VRW019T02AYKJ91SWV2GGRUY2VX5T9G4XRYT2A44YS46V5X9S3U5WW55RFMC6QC1ZKDAL9UP4DARNMND08WNT7A1HZD3SFQYBQ28P91A0S141ST5RZIFBUXQWS4RJBLZQ1XMQOWZ8H80PG94Y347U6DGLGMZG5AYADF6R4S87U5OXV5QQTMZTVTCY29BAW2R5SLD2IMT189ODSHJLK1SS5VS4XQQE7YKYZ6NAG9IQR2WOWA2NWLGAO2H2EP7SP8W7MM3Q7TQKZSPJE8PXBCVLJ7I2M10IAHGJQS9IM2KRCG72CV3T870IIL0IUS2IGEPS9NQO78DBX7S5HOOCKQ97OI7N4X36911OLRCFC7YKI div 36#26DPZ2R4BCTO8P2X9YYMV6NOYGZVV8KSXVWU9A5E8B6910IC8D. +-36#KP3SH4IENNOA86PEG6NZF2O3NHGB17HX8V8REY5XYLTGHRTOOLVVKQTHE8V69KUOJ8JA97EAH4DI0UKVF7CXC0N3D0VS6LBV813W7VYG5Q9TWIBVIZOSBKIG6L6EG4IWLGQ29DM3H0UQRKWI1CV5QH4UUNXDIGXKL75T99S5WON08PIDI04PB13DWBUBBFN10BU8IXL352635ICF5V5H80NNYMNU0NA4AI03ROFTFT07NU22LECD864YUJ9GPE2Q142KA7VVRZK = 36#2K5ZMAG9GRZ35R2IPPLON52Y959GUAES1L5UWXO3ZEA5W655O4 * (-36#831BH8H2FJ7M48RZ3R960WJK3LCYR0RSTDQYX7P2AR79A23Z1H6KUJ2KT4BKJE5GOSDWUGTVPAL5KKUGV1GZTWTMKZ0ZFCD6ACB0Z3W2BVHU1RC7PXYJUKLD3JM35NUYMQUA54Y0N3HJOI6YN2INYO5Z2BJSEZNHV5X1ZDEOAB84KGPWDK4L4V29N01E5MQOFKA9VBAYMMFB9OKS5L0EONX3NW). +-36#4KFY97TVK64CEDYAQMCFABHE3NAMROFFZCN85LCQAKAUTARJHVGERXKGW2YRVF5UVZRLGUWEIDIZRN1X5EY2DXL2Z5DVZK76ZTBY4QLJ1U50OUHRN5HFVY8IGKNR8WHVSASVNE3N4TGSMTY5J6JC8UYPDGCTL23M0XTYAML1VL09UW0TJBBNLKE4R7DC42PQDDW6Z2HTENICIFYRFC1JO38HSCRNEMQBCKH23ZZYUD7GTYNJU8LJ17Y0VYZHU7B0611ENJV8N38MIDW17S97SAUBYN2WALT8IGED4MO5C4RZS4PYQ6IS8U6JXBP5RF1IOTZ98YBZLW1UDJNUY9NDXOU2RIE0KJXX5OUI2BEHBML2QX66G8P1A304CUL89NTJUIKNFVRXVFL9JYJA7VXO8QYHVJPE46LJIM0F2FWVIHASGA57JN61UXYCVYJRK0AKKCRSE0NTSWQ7WOORTRQIYJVEDW5WNJI0NQKUO4H7JVEXS9Y5JJ8B39NJ6O871VGN2U6BB2ED3E8XE7A15KQEM9AR16GLUB3EU70TTWKDGXP8QD8PADEKMNQ2W7FFGKNEYFFYHL1S5YWNEDX2878E7OARPKRPDNO5D43X02N7MET8TYKBBNABLQEJAVBWR5S6B6TQ8BAV1K2RFWU9V8T8IFC5MERFQXZNWRUQZHZSNDUMT729P77TH9JUX3TTWQG1WKWKM8UV3PX7Q8EOHGDGR3JN2BIYVLMJTCEAUH9YTM92AJ29CC25D06WMTF1JDDG07AY678D530GMYYM4OFPA1T8Y0OAH2GKHFDBT4R5WLZS4CE16AXEVQ2YVDVIP3CIBNUJAPQWJTFYW6ASDKW4W6DKQX1WT44DT19CGKJI4M2YBQYZELOE6NW8JFPUVP33AP1D3ATO08ZX8X3094VTVP6OJJCQ1AULRJTH6EVO7S2IHHJ3SBLHVQP3E9 = -36#5HQD7MPC0KZHOF9RL0XQZV9KZXCXY49BEVUB7SOJXL7969DK3 * 36#TXT7LFXWCY1ASVQY0OP71QBEV3R9JL5E52CBQH4ILW3U8ZEAUOESOELEWJGVO0LPHCD1XDIEK4TYJBRKW0EUXNFUDDQ7UE0LDCUKXPBAWA1M0ZTIX70OXFMDIR4SQGN4CQSDSJZTPMB3QEKQP2V75CTUAA5YRNK5T09I4SJN950QWTVVOQ6L684QS6IQVTH4DU2MR2U0DGRNC9LKLXHUWRGCD4RNK512WLZ0DOGAAHXOORT02H0UVUTF4NEYIBY78FDYE7SF39VI8TQZ9CJA17RRG0IBR02W342V6AI464RZKC4TDI425SUFYGUM9V7V5MWT69HNK6HV4L75AV4PW7R4WI284NHMGMKKV4GB8O9OAX25AM7SIQM4LLP3NYSMUPGOIYTF43YIGSMI1YG7OH8FURR35VZVNMNV4I5D0V3FR3KEIHAO92HBNHHNRM7IL8XISJVL180YW1XMA6G5K1H35XXYVGV9Z3Q5HPJYRQ3S4LT37YI5DC9YI9DCSQGA2UPRCAGDI7CY2AH8T3XZIL2A0C0ZYE00CLZTJMS9U0Y6UX4LJOEEVCDBSIRXKCMDNABTRWS9T8B3EX2Y96OF77X18TFPKKXJOU602Y7CR33TMH52UG26DJF06ZK7ZYC7L05YNYMLRHPMFRWF6L2UC1JB519J95KML1HYO0E72YFFC5UJOW310TVRSN0ULA9MK4V0JYQX7UZY7NKTUPRYK130V43MJRK5KT7C17C5H9MEP1X8KTGM3L2HTNQ0RWRYZL80AOPYA6ZPO3X72BPYQO2CUR180TFIVU89ZBEI8H36871MX0CK1IB3PSR4O3H9A9YCEWA9ZNQUGXM2KY9JPZ01OKU7WZUMUV6HR9ABSG0D7A0DMDW0MXFO0MWKXT3TOQO4Q3OGR. +36#2KQ2ONILQK2OCT98KB8JADR76LTSUHH2U8TNZRRBGGX95OONKJ = 36#Q5ZKDK4BDZ4AKCJFFKFFC5NQL5KF27YIJP29LZ7VEYFTS1QS58HYB34IIZQO4PUGVFNBPBCKIIKU4GFZXZV8LL5A9AV0EHEM3DFH89D108GR4UTSWUYL8LRJ4XHLGGAAPLFRJ1RZZPLU5Y5A2QN1D4FDO9JRNI6FTJBUKBQRJNJ6FWS2P2XRKD368BA7ZX2ERMO381SMSVNYK8J9QCYGFXKQ5KKVSHA7CYJIF9VM5KPX4NKNF50NYNF6GDVFGEK52B div 36#A5Q38CDCCK8NZWHSDVAF9K94JG2MHBAREWN15NYMHSKTURYUEOKLWBNBDGGWW0L6K5JVGILEBAYLWMNM6W2ZNYWMXWZE9CL5OOP7WF4G31TJYWSSKA6V3U70HN4ZGYDFUKHAUZKC57T5U0M5PQ57IVNFCHQQ67U1WSYH66DOZP8PPT0HXNMEY7HVV9LX4DD90Y572BH8MI2GJC31T. +-36#2WK3LZD3YFVNN7BBHIPNC68VMPJ7DI013IRF96CDHJFDYY6YWC = -36#29J4H4LUGC1YCDJAB368C36HAATPFX6IH8IIVYYNR5U6WL1GY9H3VCOAKN751LEF6JDKS9K8TQWERTZLJWE2CU0M3PPUHSW7Z60 div 36#S2KUIZ9ETKNKUF63NO5VFEYM481R1DDB1X1UWVML9VELA7TLI. +-36#17V60K9XTKECEHYBLFRPC4RYRX9PL9WLTXMVPZQ7XDOHCOLM7X7WXEXGG47OC1XAGUBR44NOUIPYHZI2PF052STVR7LILX8NJL3JPTG6NF2K461OV2B2HM6HEN0ERCPVRQN67KG8M99YM6LX4HJFVLHYU5TNBPZP6X4K9O6YWZUSUM6APJJFGMA8HI0251YCNARKSHG4TG0XZXRZX2SW149O1WMICJ72VTQA0S7F0K3J61KUQ1E48MHVXW9BEZ6UZPNUBJQTFCFTT0ND9EKNOCMKR8AQWNECFVVFFKS6BXQLL157QCQUYY5MBSWPTDLU4JNB5T6EJ2LV1ONN43SN6A5Y4O5T4P604MSDNM944O9H0TF6SV264348LQS3Y355Q5NWORTAHRBH7067N7V9A3JESBI5BP7B2VX3YILIX85MFCC08QIQCHDREALX0BVPEWHQB60GHOFD4LJNMGB4T2KQBXQOT04BU4C3WD8G68ZFOEKE6JZNW808NBLD7M9DJ24W3W0I7SO65FVFD6HOM7B624DL8DW71B7IMM7RNIHKSCML7VBO6FRXP6ZP0A0TMGFJVBFNMUQS1CC2E5ID5Z13S7ECQDW81GSHCOGYD5US948P5VPXPOLNXFNENMDTM8Y3RIAUUWCAUOK5EELFYE8Q2OVW0IB1UZN2NVR0R7ODWDR7D2M3ETJN164QDBFTB6388F22RHYNEMCKXHWEYT3PJZVVQJHY96BHC5RO8KY8QUPZWEQDJIRS1H0ZYF97ITCFT12TNY6MI7V7GGNT2FAZMWORCDZCEZRTV28RDYMZ4V6I4RXJL8QEAWK3HE0Z74HHVLBLXFLFP9675BS = -36#1E0NWPVWUVEURAELJ2STFOGJDTK0FX03BYWW03CVQZVAM14X84 * 36#VKKWX26R142D5JFX0APVHPPZ4XDBB03SEW95LV8R9NYM8HGMQF05Y0WU6NO3Z7VO97MAYERLGUKP5ZP0E8SJUFFLP0I5151I67CIR4CVII3FQHW8UPPAOVI5REUPCJGHYYPPCKZ5VC2GPD6L1XMHGGBT9QAJB7PWZSKWZGMX3D0HLG23JEOQSQ34CS21QH9OFYUTY7CYYRLNFA5FCP0NBXWHNF6AGBL7ORJUIN00B0Y4J63FS777HFLXP1YPIYPQ95D51PD1G8CVEKT48UQEPH9LWQQXYKTN1ZTIG9KW7W568BRSUB7VZYL684YCW0QH1YVQYPNZW6ZCRCNU0ZYRFL9N6MCV239LG0KJFUJMHKPCIQ4TQ71RLSXOYCP7KV3FSX3YB4A7M3B7CR9QMC8292Y28X57I7FQ2HHIHP890P66IJWMAT9NJ3X89OZTEJWWFOWYB5H8M3WPFEN7C3BVFGATRX1FIQ76QE6H6X1NOA0M1OXWL8XTKER7AFNJH18HEMK7LFTGO3QGGBVSIZI7G11YXA3L4PJTDPXIZ15U1EHDYJU16DT0KH4KY5Q0KX8JT78B3811YQLABNSUZNR7F1E9Y34MXVPT7JHAGVDI0VHBD5ERQCI8K8ZS7HHF4OPQX8CIIO91X4M89BI89WJF1N9PCVESMZ6DW245WWWTAPGEC8706J98FLYDLD8RR8A1VG85723ZJS9OWQBOOFPW07OGE1BSDOIUORHH83G8RWRJAYIR826S9Q6N4DEA2PGPTX68Y89JMCWXY3EMW6G4YTINAOU9T3UXY. +-36#8B2P7337TQT3VCFMKSQKS28B8BWPBPMIRN9L6606SERE2GGN278BNA5TUNK2QF4BLY96R6X77CVSFZ9UHFS4ZYD753IJC7DOC88K27G51AB6VXDTQ1M8CC5W56O0RUKBVKOQ7GEKPIAFGAOUJX6PY6BXA20FI1KKPDC7Y98UF581WGDNGH6F20K7JGHZVMRYDF3DKDRRWG5CWIVE9SEKNMRF7OJ9TNMRJNO09QFAB8VM5PWUII2E2M38VHO4AYKQGI405OHQ6S7E01HCC7UXAK0Y1F7WTAOMC8HO7KY2N7IZ3GXWWEAWYWDOIP7IR7SKZEDF1C8YJR5B98PEXJ2JOZEY7CMLSFWZU0MASOB6M1SF9GW2P6F3UDF6Y7T8N0Q2GIYJXBLIM15DRM7GFIDRFMHCL5USEDH7G7GWZPBSZ70A6DYU71IS5VIAZ3MFBJTRVXVMRN4THDDSXUILAG3VJ14BRANGVG2QKEOE6S8RZQ7PR1BG1FDW79ISSQF1VG3VKU0116ZC614SSBCTPGWUOBN9LUN63LXI6NSFHCQCJJPJAJB9M2RNMA894VQKPGSF46ZYUL9WUGZ7 = 36#Q0NI045OI6SSAIHRW2OQN7BADNPPI0LQUW9CAY7N5R9Y0TJN8N7EVRGFA1BTEQXU3INT8AUK2GC62Z83WWSWZ6N9Y7MKNZ4VDIA03T24Y3DSKFJB1UF5RRA54ZB2TTNCUBX273PCLPC09XDCYJB4M836SMDSKLSCRD02J4UQOAXT4Y2GGJ1UN5TNBUIG99QUD2WC0IZADVHRZCGSOB1JJFZP69HXKDEBOEM9V6MHKXL2PNA0KPLLM5MZ5CCFEYAYPVPCG2Y8DX7SFUNSY6KCQXXSME2S78MU3WH8TXG2DZY36YGE7K79K3RDC0BP2X42RV7ASGYVYCN7I26MPP5VZOGDF1RVF5VOZ05KB5B197QC3GKJTOU3L7GAOZKGFPQKBCTX7MJXWZYY9BJUB53CD4L8P9PAUD086OY1ICPEU5GUFKIU61JO6CUBUMID50IIQLKU7P68QUKK11XR6S3Y6XC8FIEB2OY8X64GJR2O97ZSYTCIBT8N9H5X3LRBCE6B8YB4N54V7K24H68NUDSYO4HLOY4507MW4IPOB0GCOQ9NQNSO5HA565GYXCVCA2J990GAHIT7XBHJ2KEYPQIA96SS4BUTATLD6A8MBZYMNTXG5CP0UV6OD4N1CYABF div -36#34QURVPFOY73N6HCCWJ4ULPJA6X6DLSV7T68WAG0VRCS6NBHQX. +36#15TKHYR8K6JWVSEE4IO18GL8FH68KNA8JMMW4V21DMMA02PSKX1VWCVDC1TVJG1N996NY5LMVJOZ7DE092OU7AD5WZ772FO6ZN7N5DLN9F5FYQ7E6FK1GRC57B8XQ37JV3W0TFOA62E0EUOHAN1JB569RLZ379JKMRWORMT4UAJK0ZRPETBTHY8LQ5JIMZKETFS85CFQ8MTEI62W3RMDM66U4JKYXUGC6UDI7JI7ENVF8GTYQEY5I7NA6JSF83BIRCWVBM211N89VBXTCJENDD8WJ2PB2JDJTPB3QGLEZQD2PRZEI9ZI73NWU2FAI2PDZ9YQA186L4L33T75VFU160EA489NKU9RHVHG8MV3JWTCW7MWTTSB0VDDU33BZNGOWZZU5L5I8IM30ATBLRFORM3PH72BPOQCQ7XE7ZJEEM4ACCMK60H73SU1SYS6QU773DV3Z7A5V1UYZAJQ534V6L5LUIKLNT156SAV9I23SJVO1N7DUXX8DDMXP0LV50ZX7GTY6JLS9P8WFCJZEW6UNC1A6L9DXXOQVB3204AY2TNDPLFK6PVL5DTULW4FJ05BE3TZDG9SA8Y7MAN78KTXJOR9SOCQH5PR4I5Q8T1THNN08LJL92FBKBYWOAF1Y2QFN3TC80 = 36#3JLX7CMP7VRCZ5QXKXRRC60KRKU3MLVVF0D6WRAJNQYY8H1SGIC9SKPE6ZECDZZYUCC7E7VBQDELLSSODQTI0EO0F4FM9BBBJ7YZV9MJZFUHXCOZ6P9VE2ER7LPRZEC2DNCDB4TEHHJWSSIXQ5GRYP925OAF3ELGVJNB19R71GBBH4CTMV4PU6ORG63U3JHF6YYREEOZG8VLCYKJWKY6MBY1OWHRVB95S5BJH9L7XOPREJYIHN1X9E3VWJZ4SEWKVCP5EQVMVPSJIT4DK7PP97IITHN7HEH03QHB5H1VGJI3NHSRG6CFY1DW4BI8S53EY3KV4FMLH5BFVOUJBUNGUPWHXDPEPS0KWIZHPTGK8ZAPD9O3IM6BKX1RVSHQCC * 36#BSQLQMUAVA6PDBHNMKZ6H5ESE4OI4QQF7C646D9J95A3PZWJCFZ315T5H9M0CXZX1X3P475BOSQZQLQDIUJVCA4W2C2GLXERM5M18ZXB8CLR8EISHRPR52P8QUCS1SM4BG2XKE167AFQYJQ0RAIW9KLF0H6ED54G3KCPIF4DS2JHA9FPNGPJSQU0O9GDOH00ZG87D21HSYEQ43C3IWP4BR8D2V858HDMGZRS163B1QRDBGJG0P2BTBGSXA02I9RLAFN34NCO. +36#1A4NJSQQF5IZEUJKA55R2ZHDCD0GLLY60YDODVNRBFZDIXZ3A2NHOCCQ42XQCZF0ADU94UW57LB0QAVQ15BDSRFLBCYILS9SY7G = -36#LXWS0TF838WCBR4P1U2048VP1BZI5SNS6LZ4ZJ8QRM5TN1GPZ * (-36#23OMEI9Y5XP9F4VCP0715GS700QKZ2FZLMZLAXKZCU23CLM48K). +-36#Y6ITRJT1AND2HZ55Y9BG3H7NKSN9L0HHFR0TYCUD90OO8YKG6LH9URBCSLQBSW252VZ6BQ4N3RBWJD8VMFH25XMV1REWGVQEZT614F6J3331TRL2OGWO64ANT362P9SHK9H0VYCABJZDS1U7G9LLKNYNU8CCY3YKMFXGYTTJ2GMPMQKIF8DCR0J6AUJ2XD0JI6CF1QMO8V1KFII1S9VAT7HTBKEGYVN8N7Z01WX7Q2QORNWXS9Q5TRD9WQGXA62G2YMI1WM3BZLIE0N33GH10U3ZDLJEF5UYUN4TUNW98EKZ1XKQI1Q75E1EH2SVMGUU1LAE35ME3HK3TRXTD56MDX5LMZ9TCYHB8YO6ER28LM4KGQO07AASKO99C4YI1R79EPA6VYKNKT96FW5FUM1DNNXCBWREJTHR4VZH97MS267G52UD9RZW0D6E4ZZ76EEJV636KLB6KWCY4C5SJ0SL04VX55LCNFR6OX7DYSWLWBAHR0WN3PDGD7UZV48GO83UMXC1JE3BIHHP8P8WXZCCO0IK9RI7SIJANII1G5L0DJOCBPCQ4PIQ11P3389A5GVBNC54ZSPIRP05AYG2VXBIVP7UP1YB9M229CHVGYG1DZO4Y509K2CN24BNE5LI75JG14XCJLTS2UMMWSX3Y83768W677NU46R4GAB1X07C7KMWV5PBZRW6DMXXWRVADVEAMTTAJOT0U2R7ROAHHPW0TODNLGQO1YD782IZMC0LEH835HTPHRJW1Q = -36#44MS2ROUGBL4UFAZO1UNP37MOG2MT71V7XRB3D7FT2OFGXRWM0H58IYFWZAHAJZEPEW9KWM8ZEDBW1RPWWT2QVCRNWRUVHE6EHN932GP1WPNCO2VTY6Y4NAYBZDJCMZTLRFSKVSSU3K2FHDMIYX0RU9CKWH9PQJJNSNINFIUYGFBS802XUBRMJ5FMDZN9DNB6X2IFIATVLEUIIXDICQUXMGFSSMGTUWB1XC591JCSK812FG92AD0ROBVVMRTP5AQGROH7MKKKAG40VSND62J1TQ1EJ0TP0ZBQUEF84LN2923G0O1BREBVRWW8K99B2WWS01UIMJKS0RICR5NA4P7D4S3GZHKTU5G32036R5GVE0RQEZ2R6IMUJ1HIYCR333V7PXW6N4U1X3EP2IIURA0U8OR5VDR3G81T101ZQYE9IWZ3QSOHWH85C1SUKU0G3EDAKB2PGDH9LQUEOHPHNVC95LFPV2UT5JVTLGGL5447SR63TJSB8F9NYPT8M8O87AKV3FYBTAUPBWYJKZ53YVHG3CDN9P3X2Q5JQ29S33KMH6DVYJRI1MNGOU0IYZ2BOH5F4P647ZI33WACLC45QLCFT1DSRYF0KNXNLZAK2PMZKT9IRGE5BAV1EK0K5WNIFAU6HR7K6MMIQL8KZ7J3JISH0DMVKDDWRZ7E3ZB28PAWZYA3U9BR29LEG3MZZXJDHDA3VRSD2WMMEHB0R0FRXUT7L2WCXWY69X24FBTFYFT2NHNLW665WI3SPD8TK4RUFNS6B6F0H74QRTS7NF1789UT61C0NK4B3WKGOJEO9FWQPRIVFY4ER9MMB0QY56790L7HSE02M5X5E3Z2 div 36#4CJHYIH90MYNDUVW6E1WU1BVECSMIMTSJN9QRG6K4ZQWFG72DK0003AW5EA0XRIGR0PCFWYLF5A8D15KP246NQP. +36#BMME2CLPNKBE0RD15WG7DRQYKH40BUWNN9I3QWHAUPYLKBOYJ = 36#CXL30Z00OQ4UJ769APD40MR93BGZ7GEFGE2RCTQIRII67BLM4F7JJ46S2VPJLTR9KDSABKM1N76PV3UXJDH7OOR3AC69THMGPPB4U4RDY260BEN2P7BA6LECB343BQOQ22HK3Q9NZO50AR9RSTLRIS0OQSEK9QUMWEGNNPSU0HXD4KFNK9F43H2ZE4I0KWW70QK8QPCL2IA8IWL5LTS1643CJ75YB8K4L2W2NBMB0G3GOYYP1SQQK3V1JYR9R0F78Y5HUPA7PLWBS0M7DM5FL0784ZY8D6JK71IMRZZIRKHH6R30B8JTVK5Y3K4ZPZB0G3K5DBTJ2J298HZCQSYW1RWPFG07NDLGTJA4DDX4YEM61XXUULMWF22GFSAB03X66P0YI40HZLK8X4AX9Z177ONKYQZVA4YU8F3ZCOX2GHM3MYZQX6T9MA70L5RATZM5T5DGMFY8DVUSLIT9M2MY8 div 36#141E64MCATZ46VUSLZWWEO6LCQUERONM45R8I0V0S96I2OSON6WDLCIYW3MM9DL6ZN86RDP6J7NNFAUNABJX19DO1XP58625OT12UXSHH8C6WQ6HM7WZV9RH9YLXZZZ6IQ0SUG1WXZYJL24JPUXUIFNFR5H6WC7R5BD6YYZS4WOEYLEYBNC7CH62NSL5AMNP1GH2KB2LTJVTPJWS6N121UGJBWRO07H3ESHW9UHGJCVPVTLPISEQLPZXK6ZMRZBH61FPXF4IR9KD5GBHJKK3EF4SESB8KGUAJVDNQ51VOZPFWYUIDQ4B2Y9P3YG95DFJN04JFR4NP04E7TITOE98JXUZ5W6D5SKJXO8O1SBUGN1RWG5ZKOR8O3SJLAXHBPO4H43FD9PUNZ42XMPEU49VXM9KGF7T6SCPSAIA8. +36#CDN2I2JSG57RQVJ1DALE2TMDSKTZERM0KSKNBCN52T73ZZ3A4GVNDUKVB9MOLE858HCFQ1WUFI7N82BO44X8UTHLJBACV5ZBG1DS02T3EK1LGB034T8F7YN1Q9GACQWKTEXFENUUP7VFAPRKTXOGGMJ9NTVYFEMGXZH39MIGC9IDAMGT0ECAKBCGP4E7FWR7UQUUULCZK4BXDHMPEP4RPBMOLCII9DMV854KWAQ9BCQZOIT69NTOCTTEKZYSZY6T54QGOD4ZX9MWQ67KBF5URB0R97BQZIUAYOM8ZJGB03MU1TLCCMXZHW5NFDU8GP0UGNUQ8YWYV6COZYMLIC8SP4CFEKWXA0BWDTZCK7IZN5Y1C60O7I4BC2R1NW2PTGWK9HZS5AWILTOP8G2NRGUC5DR31JN17EMORB8XKTAI55GUJLL2EZNVJX9BAZR65Y2CVF6VG8I8N3IU6FDJEJ9DP6IU8NYQRK7BKPNVUEK4OX2X2XURJVLUQTB6SIJ8BW0SAD5LO26R7FAN23TT89LLQFQX2HA89T7OM76LR7CHPTY9Y7CKN4XS31T92BH4KV721F7HK2S6CM = -36#IYA4HGB1YTZJNVW0NYIX1AT3LLPFZMD6BLOYPJDC3GTCF3X7XWUIEZT6DZZ5V6TB6VIYI8775ZRKD6BZZN4SNZIO2SK6L7VHEL33NFYL3ZNJ2KRV2O3NJ6WZFR2IABD4P67FVBTI3HXZ17IP3O8ZVRYLZVRVZ6L8BENRW9XSXKL81JTZ3GZHSYY3CQOBCGVOJOU3M1GR6Q5SV1L333S3XCJMARFAO6UWDA10ZAUH8ODV2Y8HQ8YD4GPFM0ORVJR7O2EJLXWTDRWG9OPELZZK8X3J5270Y1JDK7U9T3X00U7IR5EOYGYEW2D77Z8F5MCTTKE6S9NQQ72PWSZQJECKJ0HAQ11F6HVNEEB7KOULHJ07GDFIZKTTR8KFN1Q4X0GQ0FCAEJSRTOKTR804GO8K691VR18NQRLYNYXS3KKEHCIXD8G2DEARU69RXO16FB6CTTFA6R1J127QI4EPWT4HILZIV91COIE6NUDNJD9C457CREU7QHRBJKDGJJZZSSRYBIDF5L3OP5WCTH4I30WR4KT4ZVY9OM2M1R5EPVAUTHYOV3P2HQ6TS1RZ24EO5MGV53VZRYV1CFJYFVWEMZ1K0NYDLE2SR7GVFDZ68NWOKCI14E02SHSM10Z7MQO div -36#1J46VHDLYGOFO7US4MUT46BI3O2PHOQ670W1VUWOUE0TJTU8UO. +36#2UAMAMJXSXCGUPRY6J8LI27D7ZCLQNCPJJPSP87QSM45I7LQGM = -36#2J0K1P6FN2LCPMFP6I38MACU6N2Z8UWPJFY1IY0UV6PGQ24HH80D1RUPDRQWPQ0H9YANV92326GTT4KVAM5CQAEZZ1FY3MYP7LS div -36#W13HUYFBJ741B173RZ6IY1WMOVMP5U9QCD0P32KMW4KOQSKKG. +36#FF9E5KVHXP5KBGOVFMPBYZI9PR0DR3V741S7VL8C59SN2ZOLGKO4DFGM6CGTU892VR26UECMVBPSSSAB02UU27BC0JF59K07LXBWEE1DCYFC0RGWY8RIAR3FB6AQM16VAMFTZT472Q5VBAZCI10TORONKRYE0RT3S5NE99BB94UUDHIGHX1J2SGBHPBPJR786DH0KBU6JEFPJJV11A71KUFT6NF1296WQVYT4DQMSTN030IICKAZ611YLA4L0TFD3QGWD1ZGY30E3V2V8RSTUEARQ60B30OG4X1EHU8XZIZ6HV0SJ5VBILFQOMEVS7JH05ML5HPEIWK69REZN73AWF606M049DO1ZWYVA8NISWDRM4YBN3AGOBMI3XQA5RGYND2RN92RW2GMNVJH3H5SRK5VR7 = 36#125T0UZF6492BH08EQ2BSM70YP57XN35UCNV7F9C1AXRGXA7IAAA80YC300CYXMYYW132IYVZY68GQM8N1MC2A859KKX06Q279HQPB3IJC2F5Y243TKJVWP79SNRULH6YUJZX2XKZWO8KULJZBIMCQDUEHOHI9VNPB63MT300CHTWUPM2AAPDEIWCFHIOEMZECRF9VDXKMVQIQXFW3RZKT3AOMDAQCRTELU3BKO01YEY4BLI8RG6AHAPVFBLWW2BAJFZEESYU83G365DIWHCFNMFZ72JO8XFJ6TW0AJ8WQM6EK58ZER28AXABNOHCUBV06ZG4YF673CWK0EJR4D93TA08IYMY60D94U3IDZBNZ0GOB4FFEYPUCAR88LL3R5Q825WLNAPCAOT0OK5YTDG7Q5JB57DL4IY01GJYDB5YGEJIZE50NN4PBT62KJCCWKXOQBZLEJ5A92K div 36#2H2IKC7A8NB10CVU7XG279WYXZVVKXXEP49VMFYZG84YK2Y4V8. +-36#2XENKVOK2IPNIHNDWPE8I1AB50L7U21QSEHXV55U947ZQOWD3W = -36#4INTN98G92DUUS6Q80QEWW8N9Q13XKU6KP1COPXHULB78YW7MPJ2A76AASIXDEUJ1W6OTHYGUDSH9DFTS3XDIY6C928UDYMQDIP9TTHDN98NHNYWX7J3C4WN7TVHM3FXVSZOQDXKR6JBCF4BNOHTMRWJE7E2I001WRLAWGQ6PU1K7H8ZUQCSWM2VXWGC1XUA7MKDUI515ALYB3U3KKWHW3ARDEVM4H2SGQYEED6MC9BR7P3HV14WCD8QHG5C4SVI5EX7T3ALD6T1OW1PO5RCYBLCWUBAGE574MHRB00VY7T2HU9DR72VMXPTRK3D5IYOZ8JKF427KI84ST9Y4EU0CO0S3TMC7B8OBWTHBEGG5P3OJTUUK9K6BZP94M9N000D7BQVHGWRI93IZ9SEHYEWBIQ8BW511VQXM3LAIUPJ5K48UHL478MJ78QYU1Q39ERTVC74XJSTI6QUA80ZLO40XJIC3UHI4SOMJF7R64J6UD3WUNW7Q8ACQQAHMBPMS35HUN32CK25S02IX8QPSSNGKEL9NKCPJ4LG5V2JNFVQH2A25BAFQD8X17VW div 36#1JJYGF1C0PXW60XUWDG8LEV2BH9C6C92VG5H1NKK17GT8ZF4HAY9U2FD8GFZYN30X7OLNX0SZOEXRKWB88UM90E19SEZCN4C39E2MR951SFLZTD1I2QGUQSIP6ZUD6HDGLS69YK6ZCJ5RGCV1WUJJIEQO3WQJWKT6DMDF3SXAPPBVAHAC8WTO64V7TV99M1MM3GNXJSIALAQB7NISP8PQ39IEJVKPSM9PDBKGZ9LWLKYJNMUOFCKOOH4UR2ZIXIFYACHRSNKRYT5YH9KICBG5HJ7DZQ7CTXKXU64JPLBU2GR55AOM0WZEPSRZLZ812L71EUZBG9SUIGNR9EI35W0UW08L6CEYXFLTMLXZX0UWHKSTYTKK8OZU4TXAFKXTPHLYKU6AWSS05JDZNIKQEN3QDT9AJ5T45711XL7ZIJ56OM773X5WA7C184MJ4BEEWI2HBF04HKXQG8DQNCIK2URAA7LOS34RLYTDOH2H31RF8QK6VQYBRALZNV800E08MC1TUFAUB1. +36#134OR52MTEE65VOU8OP54XL21U3BVY1PA012M7GA5172F4JYKXZTFP569ZMPREE46OUPUWT95LU8K11I9P38A49O8X97FNMG34NPQEJA0SXK3PIBFGDR92IVS9Y8LDPI85SUJDN8HPMSPAAYFX25IXCY2DE7U7CUYMA4R2RSYJM5CB8OYUGI065DUKDJO9C4APSZ94OF7DXNPYISD0XED0IUJVVZJF4KMVUEB5W2OKVFVAUTOXEPO4Q88KPLRTHMXINAB3Q2IXWOSAFR5JR6RRVW9X7L9JJDJFW8R5534Q6V2PM11OILEX91FVRN04MJOWK7DHA1OLNXRRTRYSPKZB98D57DFL135ZI0UMYAQ1XZQX8GS40FVWFLCQ6RVYUSE128OGTD5NIYK0CNOETH4BL6K7NUCPH4U8KDF6VD9RW5O8GQXUQ15ZG3852VHZMCVNYGJ65 = 36#2BQEZ2HNOF3Y3L4LY22FONFRBAC0TK27UKFUYNQPSDUU0A34J5 * 36#GTN4ZRYHH0KARD3TJGGTSYL3G8U20SF0Z3PR4KX9LJP43KDMKHIPLR6WG104BX9628UQZ43AIBIF8OLLSKCLH1F2GSYNHH9VGM31A0MS0CJK9F2LNA0L8C8LPYERKMFWKR7F0YTYW5MMG3P9YYB4GZ29WJ8JL84JYMGXGYR00H4H2W7K9PV16KP34EGC11K4HX1A0KBODCHJBP4HX8JU4SSS63FDKI5MWMVMOFLX8X2UCYETH55HT8ZJ20GOLD3SGB9DVIKY211SH9S16QE1TEEAOKZOPNLM43M1TBL7C5QQUJ6ACZZMFGSECY428TNTJB0AHVY3ZYSP2X1TAM2CDDMIMDHZV8DZITJYZG8RIVNCR073DEXRNHCVMW2DQ0BLD0R9SROSN351OZH94IVJ1. +36#XBJKNBRLEUYCFM6DWYG2LU4HK76EKZBGR3Z29V621E8LIK6B0CYQJITMXQ501QSVN6ZGLA9BIVUS5LY45KBNWTG50JFWACHJ7X9XIQCHAEOR48ROW434IVQ312G27JDRYV8F25M57OL86CL4GFWDVYOKN29XLRWR14R3630VVVHATJSS8X4RPJY1R3Q4RQ3JU506ILBL9JLBBQ9UNT9EOHEQLRO9WBU65C2VJSL1Z1FWYJF1Q2GU014OQSMPI3L8Z15XGUASNPPXQXBKW9CKGN47NY1DOBUU6S30JE76Z5NWYCDRBJGN4LFZM6HPPZZ9STO7P42NSVX6Q0IE6C0JTAM90X28VVZW55VB9I6VDSHII5C2NOHD0VGRLDNVLNBVWXJOEOVTQ88ETBHOVDFGLAKS3JOGI8845L6XHQ2Z4 = -36#DUJSN57J8B0JSUEBEUGTAI1IUOESZNWA8Q80Q88Q6X5WN0MEA * (-36#2EM9E9MKGGVFK1SAB1GRUKHATLN5KEX7PSLD9XWSZY21TX0CZQ6VGY4ENCR4OHB40TN7P070TRQ5QYP4AXL7IMG8BDZOTWF7KLS67UEU4L4WJ822JGN05911X7R071PE5AHSZFOXOFCJ30K04CKAT9R7RRTSW7HIIR1GN5Y1HJ5Y9E9YVA3DVIPNPXR0TRAD14N2BSEHUTMVKB4RROS5L00D8EJB54L0HN8D2EF5P2NCFO9KWIQE9AGE78IV048JCYU3Y5V3YWOG95I43BBLDGI588BRD8XGIRP0GJYKIZM2QPT0AUR3WADPO9UWJR8UT7T2FMZY0D9ZV7VMSFGY3LCPMMARJ56J1J337OYVYOOFF5Y6SXOOS5D54). +-36#1RCF9UBAYLC2ZQ4B924DJCIUXZONUIRX7YBOD2AV25I1NFD89YI6SQZBUO06RS9EYYHII4Y0YC3XUODC35MVNVBRAARAFX6JEA6SZI9MM9H9WIIH5F1BSJ909GLB4T3XX5RXNB8CIMO6Q3H3Y2M5TPI31GPUZWRIXQINJ3OEOS3GI7XZ9OPQGNR7VA05W10RMC44ZRFX24E8DQEXWZDXEGFROFQT3EHG5ID268A = -36#1FL91SM4KY5UH23PDDNQWAACJ7DQ8YO7T51IV04D0CFTFO3GUCH3GPTOOXFIQEU9R2TGX1P1RXFA5ET1QAJIESOEMRPPW08UNY9SW9ALNQMGKX22JS7TYPPJUD2ZN1RPK9NL3GLX0B2EV8A6F7K3MTA8AQIHHZBWIDQR7B8WH8B70E9H9TDFH6NJGSX45E4K6AJKID6SLS2LJ0614I9UQCUDEGCO2KNM92TC0NCLPAVL3DMSJD28NRPN877M5L969774Z1S3Y5QQNY8HH5MOUHTT61YTNKQC10NWQQMLZ6FVU8R1CN7HIB44I0LGYS2B3PPR9YS98BPXCFH2X3943UPCPUNXSTE88CZAUY1UL60GUTUONWYKYW0G48SSMVMAJZTZWF4D53YP5CE06F80BMPKVS83ATI div 36#TBI5OC6I9Q0177YEEFNS26MTMQCFTT4FT12BQM5SY4JUSM2EIQ24P7EI9THT9PPJIRL6JX29C20SS6G6LMK85N9CW742T2DGTKDFF0ITO6UV65FT6IZ0GMY5VUZ8NE2MKWXS8WLLSWRBJ7DI0GB6QXFLTISWY1BTZXC4I2KN1LG1YBZEQRC6ERVR. +-36#WF3B1JMRX6VHWRZ3M0ZNKAXH0GLRCVZFOPFBRDUW2H3YUDHZ2PYJHL4UZQOX5Z84NCYOJKF1GKI8027E92UKRV74RMFYGUZF52KIRMETDPANYRU3DIBN1B6RB5HTV22X7CH01ZNE7TC9KYNUFSD70R5YQVUSXEQ6R6JPRV92V8OEH9AKB1JIF45EN6304LS6W248J7SQWI8KQ8A8DL2QXKOKPK40JQNNFU8G5R7498208JYFRS6L3N7H4STYMX0AM43HNM7RE5RJFZY77SMKAGE2EMHBFZXB434Q4G2V3DEFD5CRVFN3430OV5DGSLNEWMRO4LKLJP2KJC7T7F4GMHJFDQGKB3WJSZHR1U1XFOR9MRV2OOQIK4E1CJFKL9U3CN1S94S2WHGTQ54IORFJMGYZ4JW0YZCKSWI5XQ65U1M6REP32EGMZ3LBJ6WTICOCA70ZLZ2NL2YXV6CDPZYVYGQE01M9MA2IGPT6SU1IDLXEQ2YE9DG4AS6SKLMCZU67IXJ4X6QDXV23BXHYHWC84KTFQR1NXPBMBA13SPHBSB36IBMXTP0EJI6DF0X8MDMWCSM61I8ILTNO9WC67A6JZPP6KAT8DXL5WNQ6A0C27HI0YY5T6E32Y8FLK66ZZT5BW83MOQDVY9TGZ1RL7L4PSK3PZENSUGHS5QBBTTNGJGYGIT5LMI02K4MQXB7LM34LDYBJ0E4SCZB1NRP8KD0WUB8EQ977BY0Q7KTMNCNVBBOMVRBHLVJKMGCXKNEXCMTWIT4179K9BCT0EBFG5JL0KBE399M0YZCHAKWE9H26CZVVSU9DY42UMYRFZ279P2O950 = 36#NREN13BXHM5T0MTOPT6ABXTGBJZR4K8ZA29GVA8B2JKE4XCKVY1PBC51LYRKUJICISUEBSYFEW9U5CKNELIZ4FII7X1QLWK07NY48VZB97ABE4II7KHFK5MPCWLGDDHM3XBN8LQ5LNOZWR1OBEOHWZCLPDHQHNYVMDKGCXYG9LLCVX3VN7PEZH6C0JCN1YD54KCUBS0FT2UN1GWT9W8LTNKQJGWIVLYAZMH6IE1E4C91NSY3JRWR9WT82D9E9BOO2DBWRT4P5P8PETMHITJI596QE14ZGWW0KBZW78HQE8NI714OGQXUW56B27YRDYJWZTLLNAPJYDEVA7YWE8IV5OOECC * (-36#1D482ZXXRP0FJTO9FBW7MO6LE701U5TM6MM4MRT3JZC50BNK6OLLZBGW1593B0Y2Q6XQO37OBB4NJZGNS660K3HBL6RRUOMDDR5SPCA75TZ127J0XJLVJ37RWN8CMIWXCXHW1A9I87CXBMDCWAIFZHKOQEPNL06PEX0E177FH5O8U4FOT8BLGKUSBWEYUG5KT6DISLE9OQ4TPPHT9EQFUNLCT4JB572CHSZEV7G2WGKN100J1L43BIFFVUNBVWIIJOFASLR5SDMIGYEFTBGC16V6FJOBUAT99Z1J30G0MAQOMBH4YNMTIIVOJU74Q8R4V9DULRL6BXE9FRB5JN0JWEI7BBXRK6378ISRMEDGF9YVTWTBRD2DU42EIP2Q1URS84XDH5JJ677ONOAMAU2Q2JXLUCP9JJUTIZOYJT6MGHO5CF019TBVA5XAZRXMK3R00YY43AL6P6TSZNK0CXZEDK5JUFZEGR8JENG6MPOUF). +36#6PG3VGD2NCA7SOLXNUN2Q08QIO1H9CK69GOFYSBSWMHVD1UU6ESLMDGTMA9YHSP1GUHNYACMOU8P9MO2302B8QA62JPHO33540USOLDR6RADZ7MK4M5H07GRINH3PW7OHN2J55OWKAQ3PAS9BEL4WTG1CXU0JXYR4YQF1V8775ERQNWPP7TAYDX6883YZFE0APZRCXOPZ8GJW321467CDJEKE6RP6F613UNULVYMPQRZLUTFP89SUNM1PB4KIG291JQROFCX2N34M7EPYMVP7IZIM87MV1QM31W6H7MFY0XBHOUBEB028 = 36#S3KAGJ6AOKVQ1FQF7HDA5HI4PNTAKSNXS74UJL0GS1Y7XQENK * 36#8LC72UJ0SSOHB7C83C9LHJ39WF6KAZUCA7JQSZNPOX7SRTAOMUULGH3U4W0DYQFU7GM51UN2K1JKXX3HVPQXUNE685RGKHG8YNI0S0CXYWN9M15LRRPNEIHC8JI0LL5JHE866NQXA4MWP93OI6OL4OG4BKBPHSMUTST52LF6W45A716O1MYKBKX61NR9GW66ITSXFIG1CDL952YLYOM591EASCL6PZO7QN9GW769LWLKHGWA8SGEDF0PLEIMA1PZJT5V. +36#2BW99KTK80WKR3PXEW5XSK3I79HRPP3CFW67BIDRPF5V3SFR4X = -36#FTMWPVYW3J1EEMWQFBHOPMDC4P5PTSBD7JDGWPLQZ8CGQ0U8LM4TJ93QINGJNFQ7505BYSNDIGWM4YDFH3S7STP944Q49DK87OR47NLTAZH13WE5URPALOM9LO05R0SJ8ITM2F23JKCTALJ9P5C5VZ3UFQA4KK663UD0J3NUZFWNYLGHH6RBDGD1YP0PRTP3LDACHWO0L7YFKPPMNMEKCEO9VH83XIO4YN7HOTI87CGH32W075QCMLA3WED15OC8MG2RQ480XWY1GISL3D5NHYQO9KAL9JHMHS90 div -36#6SFKDDR9I5D5QJB0GV84U5SAHS892I674KXWJ3DVHRYDNHNGO51HN2MPHI4SMLXVE5LN1TTZVMRI20LIYNDSXUPGXZPHDO3KI8THUWAKFSWPAGYTEZNX3CDI390LK68U1Z5VI5CG4W4VEV7GZUE7T8467CP07S9N6TQG4V13YLZY9IV1V6US30VU5Z0GZZ28VR4CP7XHVWCD5MDJGHEDC16S2ZSQ108DCI1NVLL6X3ZQM5BXPL0. +36#2E9FLR3I5GC6NHVUINJTWDW04LBMR3FZRWWLBMSKRFFT32GVLX = 36#5X3IL6DM82EX8DNTZ5XMWFMJBP2RZFOCRGN57ZQ5JB4B1D0G920OO1JLGL2OC0ZSA9F23YN8EXMEYEVEAVOYZJPZFDIVEYRNR0CG7OXWWNSTCGO1KV1QHEDJM79Y8PH56F1C480E4HTZI6IZWXZAGR8Z43JIWBLFGHNOSAOWPRQ28DCZ5FAVXNY57RT1ACP1SY7JGHG322PAJXJZN60VQ43G8BCTKEFKNLY9X2FEZPBJVV94F3I5R8RTAN2N9P3SN05EYZTJZEL2D4HL19SFXES4PDZU4APXIR4152ZCIWH41SWV13F970R19UVVM067BTEQAKMYJE5VGP0HWU9F8J4YZ974CXEU50TSG5X1RK8EAV2JFMMVHIPOWENDJEBZXGZ2OWL58DC999TNYSL45EW5VFUDHAJO2Z4RTMLEY8U7KB3KSIM9KVKNRYH9EPM57MCJUMUDKACUDF28L4DIVRGK2ZNH6X9YL5NXFNFSF div 36#2GXKS5I898UIYEDTEA9GLK8TWP9NT3D96X18IMZPKBQ75EW4NCTYH51I5I485VF7TI2T4INWOMQ40Q06SZCDIN5O0RVHR2OT3IXL11RU7SECGXV6OF90K9625PAPENEE7DYXRWM0KD1UK5XI1O7J5MYJEW24IQXNGZX9OT1VYLC43JYNO5CMKFND5ZXE73D8B7MMSVPYTCQZ38HYD7PUJL5AT2QVMORF0CJT2G67GX7ZHBDBZM5LM5VEE9GN9Y35R8922R3929Z29KHA7PW9KXDG1DBZOPAR1TAY7WDHHDE7HK4RO9ACT6EQORHC95ZLJ7NC4EP275QUBYD2X2MOWME4B14E3K271KJ7WPCBIUGQAPFM7Y76BFNTTDK72COVGXEFJ0PI0TV2GRXZXSQ150L6G8VD2YR1M38BKNVHORRTN5UVCMQIA0PV. +36#BK2ODLVWMC0J1U3KGHZ2ICUY9RSROUSE88VFK11JIDFUE3R0QOH9V9SMXYXUPTREMK89FUY0J2P1B0I9AKOP1RHWXHJGP4DRVJVD4IJR1HSZX7SLN8F3UELSWZZAE802NRPGJ96A1F3FZ9I2KGGV5WQ51GP75BHMNN91Q4XPZIX7E7DN7AXK5GVNVAF580PLYJPZB0UKXZ1HA8I0O0JAHLADPVZ392F1HHAP522231UH5EKB06K5PMKRX2XYKKZD28CVHDL4WN8YRTIYZSLDU3NWUV5XH1402G86PGXGY4B69P25LDK67L871B6K89AG2UDTQMOSNZ1EPNNVK8IZ8J8O7OJ0RGH04XS8RJL1HUVUB5D9RBKGF9SQLXP6OT5E5JRFSF73RHV6CLOMDQEC25N8Q4IW9884JTLTZAHA2RXFLQQ8TIXXO7Q4KUZ31MAMX0AGXMMKJ2D207IFDIPNHA98914AAH3QRSERMATL69OZDB51TYHHJFTP9HZPSDEULZIZIDOJBPW1NUHUFA1Q5CJMGPRO51PYD8ETD14 = -36#1RDA0BB5MS9GSSZLOC13WDSGCWJPC2LFULY1PK6ORJ4JUWSR76HJ0AUKOPYGCB9Y99A1F9H0K9WK6ZA0UVU7LS1ULTYPQUH0M25SQ5X51KOBASI9IUQKN45QYIMV4AKRCGNXAJ4ZOELYVYOYF2UZL6IXBWOI52P7B5PRYCCPDW70DC9Y9TCWOERAG3TY71T8QHAGD0U7GP7MX3GKO0UR7Y9G9EYW0ROZNKRZ5K6UCTIIJ5YHXL0KR5SLZE7OOKO4C368LSDZTBI8DPJFFKGGU5UCFIMTJ05M5T16KKG6SW40UG9IY91QHJYWCGVD9CYXUP58W9PV21H3PG7MKLDPUMEFP2JVGTH0AJOMUMHIGSXT5XPZOYGOI8EQ2NFKN91PY4ECS9OLEC9MSNFQXL569MZA9CIUVFCU3H7EI949VZHEK2I0NZMIW5O5VBQWHFI8OUAYOR8YYHS6PAD2G87AA5POJE48V2EJCH55SM126M4SX3VLW34603STRR6CYIUSGLRB064FBLS82S04GR1NXN7UWXZSXXWE4MVGPHHCWP8GEINJE9NSGK9G8VLOJIGPKF1TCAX6AZ7NA6J0TCGIV9GNECIX32DF9LQTNJK0BI26H9E0YBOQQZKJZUR7L2J3BHYMVXKTWDQFB7D0S7XBE0TKYMXECHKPSWBHDWS0OP6DS6AHZ60URS7VHAS9VD6O9N6O4U4IX90E0M4HT9ZKKB5L6RRO3GV97FHRQILUNSPO2G3W6WZGSX6CT2J0YLWUMK4KNHE4LR2LASKKDPHA6JSWEHHULERVK47JX1SFQ1JQJI3RFKKSEBFB27VXT47FDGAZKWY4VLVR5OH7DPXS4W1GF7RWD8W2RXNQ2ZOZA4NZAG2V2VEQQQIZ1A1G81GITLISPGPW88YG9C0C1TM9VW724J51GICBE40ILXIKS0TSBEDKM00GG82VX4SKEWE5C41DEPWCYY3LE7IM0GZWSZ505UVD00WN0G1TLJVLVGEBBTL8IXP88895S div -36#5HDSDHS8XJ7EG7C6H60O9AMZYTH6I6OFJZP733BKL94YSTMA3XHOIIDR4BXWID83SJ7SIZ64DCAP4BY95KG68JKNZR23BA4270N0AQD8OWGWPA5TRGDGUCIH7SO3HZYDY1M57N0PLUA54G71UJLXJO9ZGLGEUQF6TZKVLPPN3WOKFL8DBYZ41J1IDO2C49BGW9MC5IHFN9QDZSEV1E5WCFMKKDKNHSWFD9MTLFNP8YQKG6H3ASEIAKMJ7VSDHL96GXNM4W7TXT8Q47FFXS84ADXAISRK8N52ZKH7D6727DFDX4XZ0SAKVIXQDIH6ENACR1TMGGRPU4IAOLIJH624UDJYC30LY2MBK169N7QWVVCRYB5EWE0U9VSTGZD9D528BAO11672T4AWO52D368SJF7GS47VI3UQZMJD94GKAT03KU6OD1IQ12BDKNGQ9X6ZJ78BANAVDW80LYWMXG. +36#1BCDJBTPOMGNS6DSI33HLKJTFOW7NTXL2AKWI7FFFCEZNJDV7C = 36#CKOS96N5GLV3S4B2G6Q2KFN20CY11X0TIYQ6RWBPYMUJJWZ4H66RACE237O1O80SB2FEZI13OUC786QZSWA4THW9H50VSHJH5XLPF3IGRLPX2MYK3X7MF80KQU030VVY35K05PUD4FRFGPQ3C div 36#9K80462AWLS04JY6P3ISFAALWLUX6JUIBUMUOU0ZBVKRCQWPJPLQGYLOEE1BNIZINRED5HF7JJQ9IQWIFJ2TX3KZPE0AOMXP. +-36#2M4HMWW4UTQ73Z5G5TUCDEW2V5J460S2MU35VM7SMS0NFD2SKKCR9YQ0ZBFD2CLDBW7M5KWMGB65BH8C4Q0RK6262UXN47E7MFA5UGIJ209XGX1B1WRSB1P9M8HWARM4NFMH2KE1M8PFXA1V1RUIPM7BEMX331Q8K0D2Z06P335W8JLCBJ2XNU = 36#3ZVZMV1C2XIXVVWXGCNKA69TVSG6PEKF2H9SFBGFKU5KUQHOY4IBIP6CT6U0QG77V2R8REA2V39GIA6XB5B8TAN8T5ZMJU28CXZSVHR5YXNRH277Z60SUETOB2VX4Y68MVE2M * (-36#NJS0NL6PZ1DL5ANJKT9BW30AHQBKWZZYYVNK1PQIHBP2SYFM3). +36#18028YA6DFH9NFOR1498QLEV86HG90BLJ51C580IA3SQZPA9R = -36#DPJUTHIACPM8HFIGTQ9JELAEU6JKJQ3NB8KP1A55OZ5G7ZUA7FGRMHLBHTLAN89OR7QGJA5660L90KS0ZU6XM3GLM5BY4ACR88FUGR7W7XD1VPYGY7N19A2KCQZB3T9BIO7504M50I2JYZZE4ZY7SID2FK8BU1ROX2J0S8959DXBJQN6J59B32DZVZMPUKAR7T2YUH96P6LY53JGNEO1BOLR2H9SN88CJP7S0CYLL6FXBAC4NFQI38DPV1ZMM4R8DA6YBSXHP77F62YAOJ3LVH67EX8V868MKPXF459ROB2S2LO78POVGUQBORF1TLOJFS5FKHFQH5IEHOTW87K0CQJXKS0L1DUG3X3TVDUPNUT8ECFW0XEQSPU8ZQZYVTPRGJ6UQGZHS2P97STA7NDMLJLUASDFRUALGR3WP40XND8FAD6QJNWPHW07GBWFGD1QQGYLSQE1KI0JRYNGMPJMPDJ82MW5TQ8J584ITYFB24PPFIV65UZ61WHBR29H3T09J0BIXKKHSPEWYZH58NVVLB4THV3OKVFS1P9JYPBT3V30I3LQK2CDYU42TQRG066Y28SWCZYOOWWXOJOCHQZ3W0SIQXT1UUUR div -36#B7SRHKHWMHZO9BHPBJ5YIH3AB1YZHSURE9TS4XBI989OK3QVBVBSO8LQYIMNTH9V1C5REZT8194U3Q0VXF1B07WQDXR2XLJIKFK9T08OE1BIMWDTCHX52359YKUJS06TG6M4ZFPSR5E36TQLZCAYYH0E1074IU8DU41B3JVR5WTJRXE3ED81V7TQBT0MTP7Y1LDOGUMC4541ZRE9Z3N4IWTMPZRX85CJ4OGKV3G40UWLW5F5DBZ9NZZUZH52DR7AE6IZ4Y61Q9BBIH3235X12ZFLA1VPGUIZQR1CVFAR3FJM9B2GBIBK0C654W5FDO043N6F3PAXA83L3QRY50CB7GNPCKZ27W2NT6MGOL2VHHZ82RJAVFDY1S083KJCU8435JTRSIJCB8PBVHB72KUYGBRTV3RV4DTUTETOT0WXJL3Z9RS6TJ1NNEONAIPKKQ5HL5NE2LR69VJ0XBSO38TFLHA0IFHRR013ADAZQ82RZY1O9UINIFW0C397MODBS4ABCCHAVDDJL1K7JHCSOYLB1U1ZG5KN0LMA4OCFA0AA0JGS60ST. +36#2PAGV55Z4AWEBA0AFVSRL4XV1H9VJHNBTGQDHNWGAS687YTGTAX28XGTTKU2MAY0GC0E07J7QK82ZPS572T5WEO0RU0VYVLGJFSALXRR1N660OR95PPMH8CW2DN2APXS8B3TRJ2CG5HJB2EBK2W83I4ND14HRPPNV8PH7Y0OLXOIWUUG0M4CPWI9NZSK5FOAGRP8Z8AX4Y7JGBP4JIN8QLH1M4566VCNYQUO1LKZV516LC6XOUAJP53GJ2ZJZ4WAO76SEP064B9L6X3CZS6154F9JI8ARE2AMZSFINKE68OO0YX4A2DT5HD4M8RD06TFVBK2ESG4LC28I8DFK4VCCWC4MS94JY1DTO5VGEPD8I6QWTQ9NC69U6QD9W16NFKKC7HD9PP2JEOY38SH178Z6TWMNBEDZWW5AYJMYOS5V3M4WFBP9J7M5KBK6CS6TBMHC9TCEAFPEG0ZC6TH26SEPN2EN8P7E4KZAAENQ0X8D507UPOZ6CDF52JZQ7OCNFG5IE32BBM25VFFOIA1HM4OQJUIW18PPJA6EZYWB87NZE0338PIKGVNBUNF3SJESFK6M92XMUNJYUVH9ZVK2Y9VD975LDYJXDQIJNQVR4ANW9KMPBV7Z8S23S8R2APSEU4SEC5ZQWQXO8W6584713HVB9OJW0S180JD9OMJ42QRMNV8MYVR6X37MF1H6DSW9J6BECQQY6TILQ4ALYK11GA0KVMKRABZ6ZQHMR1QQMZOJWQMYOMIZK2DOE40UFEZ7KOLB020E88PS46CPTUULZ72F1ELGZ02NSTBDU457MWC7G8WKQMWQFXLWNF7E8Z1EG485E4FT642NUAS4KJ7FMO1252BDGG2LXKHBXMSZ172WJXV1TLSA0HIHL69L45G9AC1KKWN0EOI2N428I23CL23GJCIDDA925O9V21C6U5IGZUWXEPU2EJUBKLX = 36#VIOGGY9P5QP9HN3R46BH2J2T4KC0940DFAR0OT0ZJK27D4539SSKG96UYBULUT6521BVGQAD7W6WPPKFVT71646YPZS4G8W0N2I74TX0WVGYENF5RUV1FCOJBIG8X9H4QCSZG32IMMXSHPMNSUUJAZOHYI4MWR401J704UC69N840121RMLKO4JMPON8GX1QNRGPT7TSDAPPJ8S805N5168CZ7PN4S08R2LNXLWOCHMY7NEMOGQ6FU4HKANWCW9P7JIGMVNGE9KTZQ7QBN6S2OMU7N7D3U95A8PKA90ZWP2DP4DGGE93JJATD3P5MJ1023J3JCQ98TYOTTU229K2CGBZNEW17RJHE9X1UL5LD3ZJXMAF4VBU89AVMLLX52I6JXLP6INGY5WLXXQG1L4EOZB6YOG16UNZ1NT2NBZ6ESR4RXH9CP5CALKWX07DOV79GZYPDYCEBXI3CSEQNNIT9KYIR7O6XOB0CQPPAX3UJZQCASWJL2FVSWCY5IFG81FTI2URRW37JH4QU2168B6047U89XCPQ3LJ24X3UN5O01Z0EZJXZBOIDEPON4ZF5A021Y8FTXZVXKJY2GZ5QPA1HGFXHXJSI5H77EZNF341DILLN20CJ3AO0N61EDJN8YFHDA6TPTAKF0UTFNIPSIET27XWUBI7Q6A9IZVBOQPOCPK34KEEU69N633IGCNW3FYF53R72WZMUG2ADJG68I3GRHA4T338U7GZGO6YJZ3K47CIOB5OHHZAZUY9O53U0G4EGXV7AYKJQPRYZZWMUPCHF31U2HYFB6VC12E9E1A330EZ2QPCNYO675XDSWVXP3L2JDL4IA4ABOQY6FQ5X2A7HCQH38AVT0AHSUTQKW9WP4AI96989DED78P9J36DIY2SGZ5XEJVDIV6OGR3WDX6QUJ5P210GB6AK1RLFAN6VADKM7NZJGBH3FM7H1J74PJWX2D3ZQ8IZJIGI28OECNW1RIL1OI0J1IQO086NETGR5SFFOIWZWRAFRW8330H8WVMY7NL40Z45D112AH1BRP7YN7EVU60823SWTZMTVYLB4INHEBMDBRDOC5SDBTC0YZXJ659QBCUSHKJZDVL1TIMY4UQ2D70B7ZH07FKAMAMZS8O42F9B7EVMFKAEINA8WEX0Q5DMLHSPS3PE8MV31MWWWFC8KNEU3SM9917HNQJ2XAB3XKVL0ICF9991F6O0X4C824TWT2S58VF0HA04RHN9U2RC2U44LTI9WQH369KOS8BWZ5S04OFD3MNHGXIDL07NYQZI3CP0SR352P354L6YG3HAQGC1PCD7LQXRF1YUZNTFYQ29X6CREAT75A7STVMKB81GYMZ4ZMYDFCANFQGMPSVLDXA9TGJLYOMIA0SHY8BER0N4ABPZSR5ATV2X7S3SPW7WE9GU0BQTHZPMXLMPCCD9375VZJWYQK256L7W213S505YZ149RF9V2G3G5KYL0SVUENKIN4FJUNX7L15KD8NMNX7J9U0Q1WG61R42CCDKPTCEYTDIAA05Z2PH6Z8MWK81A8PB2DXOZZO0A57G9PC9SR div 36#BNUXU9ZR50W2OAW07PD53J83IZ734F62MOVPQ4PUWHV1WMVAZ43O9HFPEDGJ3XIJ650TZS9VNCXUX5M934XW88R9VTPQC7HO2FXMLF0VFN7DZDJAFWGFSRYTK2YJIDPJ5OXS8NFL5GCDEZ06D1X3H7KKIS207KLUMXGOY1ILTHXGSAGKA39S2TYIGUSZHIMXSQJ7ZVOIKCPR9W8IG9D8VCJHGKKMUMTDZF4UO20S77G4ORVU8HSWQEBG3YVJWRS71C82IX8H7SJYXPQ04ZW6LQC345M9OF0B5FIRGWMM0L3PJQ5TSQNZ4DFGXEC7ARV8FUTY6A41B69Q46O9RBFDLD6LDM45CCYPNEX7ARPITHSCR0HRLTHVALSU6H3TSUBPWJKYMKFZR2V7IQRDR07135OVMM40E5ANE7AOG17A5HK9JRFLJ19PZTX6S68Y11ZWN4OM0X1DKE6GH4BZT02QCNL8IIK8JND5NRT813IQ7VTNSRVYZX9I8WXKGJFC3HJOVTXKIQE4TDPRJW5ZPA4I1WRZFJV2J3HTA7SS2TZLRLTUNJ8X7BOKXY8UFDZTQ3ETSJPYM6BWE3NTMLYMPS1VGUH0TBG5ZU6F94F. +-36#1UMGMD00CDTD9H3OA1I14KP7HLGPS074KRHKR4FNK3LZ7GM13MCXA2VBT8HUWHX9KOX2PLCS0VJVMJSIN6MQ3JZCMB8UKB0C5ZGODHOERKDN14B36EH21PUQQ6FNOQL51LWVKN3P7ZYAFYWSZC0XTA2ZVQX1GXOJXENBRUTND8SVTO0U1EPEBJNS1JXT9DMG9OD4JGT403A5J2KF8V48IJVCNC7RZ2VAZNB0944KN609YTPV76BWHN6BLE1LWE8MVTZBSTSNDM9S0S7LNJQ6BWMGOAQN67VU6YUB09N9PMLKPMWZP8KK23CU7EDPQDAOOCF88UFDHRVEEGU0XFTL1 = -36#DBL0IBRGPXC6AKBINSP19HQ7HWILGAKFH4ZALZR9N760ECP56AEL2M47ZAPW72JTBPUJ3DQ3I12QZ0DH8IMUD1CPT1FSWBBOTZ274IXVDOGPNP70VUXM7T60PJJ5FS03I6XC0J1ZWCTXYVCQZ145X2LL8BQE0QG64HRWQ4XDDC5SCYRLNVLGKM6M1O6RW9TV8AEC47CONT8JI8R0NPYVXSLGSJ8JGPDOEFZLREUKXK760IQYY8CL0UBDKRK3DHMTJYQ20UF5UDA2UR1BGB25IAWLEEJ6IUL2UMWX470TUB13M1L17LR5VJPHY2QPWN5JJTMDVQXH7L6Y9IEM9IO53XTM4R7VR4JW428MDD2Y6L0NRW8CUGPVZLE47GJL6WMFWX1XWV5QHLFCTF0H1B16UN7H1T88NCXTCZGSWOJTS60KNEKPC87K3WPTPYXUWGFJ9Z4U1F841QO3JLLRVMG0X1U4A47NI5RE6TLGJ8G5I0OAU5WRWKMQIHQVUKN0FL778GQHSYZ88H3RCRA2D9331EUKUH3MESIEW7ZK9UV1U1TTKM4DMFJ1RMNBWFL9ZMIAU5RHC60ZYMHWYZK55VUIKXTEB7CCFZXBMOOKVRFJ297P7R2M2Y2CBUMQNKCI26BAQHE8TABEW2LFP97Y8LSETX5TR6XUK1WMTLDMKR2IG2XHKTIF7OOU7WLXSDNBLJFJLBQ39SAO4QLD4TYIV1G0JZ7CUG2APJZG0M4SMM3VCKG9PX2ON8MFFJPJAXUVD5LK3RG9OFVPV4HTZD6JN94D3ASIZVHGC3X4L2JS6Y4U97MQQQIRR95J3T4V6OIMFFKPLRITTO8UAZSDQL6AGTT9V40R96I77ORBIHE8YY56DNIFV25ZN03I9GPL div 36#775350C437KPCBOT20AZESIFO5PXUP2CFBNA5EKUKY4A4TFAP7UHWURCBG3ET5F4LKHVU3B90HYRYZ2Y3JY6RW8QZ8BB75B5X7D9CV810HJH53S8JMBS4M9FU61ME97ZZQTGEDQBOKTF9T00A7KNA4SUKPTOE9NCNJM5DVYNI7MRI44OCY18KOHWFWVJ6WQ4L8RTD824CF2L5FXYCCQLLWEDOIWTISYGVM777YJUYRWWGIN71EFDEK8L5LHA9UCZF5QQUVPKRRBXJX7MH4LNH3QYLTC5D9YO6SNW3DROYEBRRTGNIKAGQOWUWT8J1URWW75PS7XIRIEY2U7HPTU8XDE7KTROAN4XQ0WN5U3K4MUYEVQ9ERZ3LGBBPMEQ5QW5APP8EBLFMNP22VI0QHTZWYJ9BJ5M0G8FZHR325I22O7ZW5Z6W19VMCJZ0B91WU8GQD6AHIZ07WYR4GJKUSFWEXHW3GY6YEBJ45U9E3VLKT0C3CNGB58F5PBDK5L8X5GRQ0MOOC3GPRSL90S8SC8RXTARUKW7IY55SVGL. +-36#23XI6QN11J76YPOF18Z848PQ0EAUC5UKFZNQ4TL7TUDNLKXFN41OMFUQ1SNUWPY6406PPR1YJR8LK4LKBHVXH0J0HOPJ093KV75NURMKFYMTLLM9XQ7XN254VHV7N8BUC8TH1WUUPZIJW30X9DI6PP70B9MNVHI8OYWXD29OAMD8HX0K31VP719QG27FVK544CXMKXEOIGGAMPMZW79HUZN71U0VPBRLC1Y2OV2ZDQGUI8L4RBRUJXX1OUNIMF9I6RQ3F05F7X9C6D88KR9Q8K9CZ3V30MQWM3JUJLDA8T0N4V7150QEB0AOU4ATI8HKS87B4CXI60R9FZZXDN115N3R88ZU3WHN13P0KWZCL7YE2S4HHZI1QHDKT7PI2P3YS3YJREXW8QK0QEG5PDQZX8JPT0MSFXAHDO0UQKFH92IKCBDXZT9A7QOBR62UIN85QT5W2HA5CEJQRZNG92KBCPPOX426UY59T8GKNN24A12O67V47SYPCZ2BXYOZFJHW9DGPVOTI3006WXDT7L0XC2OA01FKN5JD9PVLOFHETOX49QGFOWYZWLWPJH38EQA9150UUCZNUZI24F2F9GPG9BHLWUOF14JOSV7SRSH78K04PEKGWDRNCIQZCZYNHUCW9I1LONWR6XWXDHFYNJTUE2MO0CUMZTAYUZZ4UQLHWW7MGLVO36HZ38VL6FWP46RLAA = -36#37R4A9P8GVE7H4XAK7ETMT6XZXMPROUN7E400W9KTBSX173FT7BFYTWAOE2RM6DO259KU4GINCQ45QC0J2CYU2XZWQENK9Y3SQ6XGLDMDI7YJGU2FJTP70UAB81NWNF5QMI8GY7W650FKRYU0L8488FTIGSZW645HQG8XNR2KM4LHMLX6Q4B2CZKIOK7E6Y8OV432GZ4XTLZ89LOPMV2JTIC19Q2M998TM14JDAPWU2MZI9IRI4958YY1PM6IJRGVDLKUUQ03ZWL0TYAKGUH6A6ZNAGK9BD7I8GXXOM2CMH6USU3BJ4BMJPLX9CA6DL0ZB1JZFKKPYTGJAPP1CIFBDWBO7HFK4FYELPXDL9PIVW8709UYIOYTEG0B4Y20ZINUFL6TTZBZY1I0AQ8CR766S1RR58ZEC8SODCYLSFKTWTHV953IZK6GD56EGJY9XJREI5IOMJUK2LSHED7E4Y9G7R4QQL5T2PZ5LYFGPZC6YPABVEHZK3WY78LDHZ5FR0LLYH1HBB5BLNHCH9JPWOPDPVYA4QLO3ZFEOS9MBVTQFLZ8RB4J45IECXZKIF5WD8CNNV0O57Z86MFWQL4Y4MMA5QSLE3E898LN7JCPWGMIWCOSRK6ZII31RODV0QLY3H0H4GA532M5KR3KY933QIWONR8RXXVAPQX020C0NTPE57V9M7P9XAA8XQCRH49XQ6CTRXIRUMRGG9RX6FO7YRKXCF8O1CU3TQWOBRFO6Q3H5Z4CMBEDOPEEJ4NYUV29EVKS0X9T0SP5KANV0FHNTPJEX88WLQGE86S3OGM6ERDA7J8MGTDQK8I9Y4Q2T80IQFM9G6KG1GSRSVCQ52FI40I7A6ZIHJNK5JJKF758QQ7JG8Y5Z7RPZLNM7MBGUYX1SSE2020IQHPMRWIUIFCWJGPID9AYMG331145NPAATQHF3ZDHG9ROIBGUDCN55RA8E5CJSD3BKPQVD70HCKVNH4BEMP8YFNIW6OILXJWYPFQXP9HBP6OURFW div 36#1IVP77YMBMU9F9HQ9CFN1C7XZVIFVYXVIOSJ4W6H3HPVH61C3L1JGBVYDIE3IM3QDHU12ESW88SUX3KJY0YW4HFMBKUXBHH5OP4TNN5L09IP13F2S51BOU7IU78KJ24V9N2WWE2ZEMWNSROHKIH5WDYNS7M2FV2BJLPXW221AN48MN5Q7SIBDO9C5TDBU7ACUJM6VMZ1DQ1F53R6SXKJF6J816VPNOA03GYD8FPYBMGHAKM3LEDJ25389VW4V5PPU683AJT1ZJCGBB2L45DP77288WAI0LDIAZC9NPK4II133J6XAYE. +36#6KK6E1S8FRTM01MFUDDEVAZQFU4T1IQ7DJEIKUI2XJ472CGY50S3AJWCLZGAQJL5RMFG8H8N7KJG0853DT6B7NJQK4IUDTKLH9E0QVPSNHOGUXV52QFAHTHZCLZLEJ4QYEN6JPPQ5SU7PDOVHAI9IGYWGQQF4KGY4H06PLBCXSDNFTE6BJVS4TOAGEMW7ESUKT40J6NWYKKQ1KMDIAXOP5YM6EGFYOZEKR66Y7VWT4UOWEFLYLKW5067HDZJBHYUTBEXVC3JWF4868JRFGG7G2LPZAQOSGOPRXOZC8WS5CSFSCWL15DJHUG6WMM5FMOVAXW2UUGH2GYHMVTHJOGRJYVKLNBAG7RYLLSPKZOT7P5405826DCHI86EYQ7CJ32759WE0M1A1NC0 = 36#3U3JYGNTGJRL9CQF7OSVXHQ4I3WDAY4EKHYFS2FROEP3F1JMJLJ4S06TIX7NVFH1JH1WZZZ7U13GWXEAKFIC7E9R0R4QQ9B6FBVGJOQ82CNKXCDCOLAVAWHM9I6WPZ9NBLFF4KLFMQNJ2KOJWQB67FRDKIUVLDLZKDKN1JP6BBW9J5GW9XIJZ93O57000YOIEKR5J1J0PEVMNQYHFYEAD554QF3XOCJDASI4UH4ZL7POZAMN1G0UUQW0NLW7K8FX5GXE3QBW2GJK9ZSMLFQF81UZD9YHHMP4ARGZ4ZEOKJYPDCKNWUEVT9M2L27614U * 36#1PO0U2I8CNDJ1AHM97BNKYDPIGHCULJ956YSGMVVCFE42TTKZS2XAY5QOG04PBZXYYBBSOHS55G9G0. +36#1LXNB4SSSJWCN5U4YBLC61R8WWYA1QS2R6EJ97QK5ZIJDWAJBWSNV2TO42IRFQNC3SYQ5YQVACBMTQJY9UN71YC6NUI0ISFDWCHJRDYGWNZDVI4J2OV3JEHA90BO6T9XLKGLQ3RB4SN81ELL5QP2YAR6H488H1MK = 36#3I78BOI0G8NCX5KPPVMMLG32QG19S2GTN8OT9UACZUUWWD990FSPZC78UHQ9HEVO8TR7UMFT8NMDXGIQYLAJYWPDIB3ZG5TC1NBTJVIKFL1BAT6Y3RCCZIZ7V7YZ0RASAC9NX5VR9K7P9K21T70AFGVVOB2NUZTQL93SZM6WCAV5SQVNRNJ3Y4P4F5ZNQP8GGC3Q6PYFKZHKDPDXG div 36#26F4857S4VWGQOAA8QMULU8LDLBCHYBPTYVPMCKLBG23F6YGRZ. +-36#TYZ1IW75Y2YMM0MYKVK1HNYV9IAQG554O88SOV8XUWLWU7F91R89Q44WRXUIH8EZWLDGSJC = 36#TOA520QTLKFRJLH5RV1IW6DQO3O5RH1WNLP2TU3XWG03P4FDTU9RLNDALJF4E9IO3INCJC6GI2CBCKPHJXYTRX76DMHFO2DKJZP3XE1QEDS8JVRJBDF7CZDC div -36#ZN5OF09NRUY3ZYUCS835ML86FBRPUBCII18Z3JZI1XAL831XA. +36#8AGM4YO4S5MCGACXYNENZ10RO4KJ12QU24QG7DJIG6A6SMYRRGSY4KWI2RNYN5RJ98LXWRASAU4A0V6YC5VR55J2FCFMAB1KEYVQI63WLV6NMPWH1Y9JXXPQL418T2EEPKU92Z3TBHJIV24FPXW2YTYSBFD8C11BMO4NZN693AQX4T3PFWX567V61N3LMSPTKQIMU6VNZRO1DJGFRAG8CWGT05C7KXP97ONRK4XMPRRQR7173D7RCMTV8Y3F9BSL9JZPCTL7FNMM797S39QI6EFCXLL9PHYSH6RI3ARVTCC7E14MR1F5OEJ52RVHI9KQERMMF87HMQ26YTIQEZKLK67Q2P1NI3GM87SKCWOA8BRNS14GC4SPMISF9V6PBHQQ97CA8D76VNHLQ7T0RNL3 = 36#BW6FPYA0L38TG4JYLBPP1EJQ7C0TUVUKEZ2B90PPGRLRUNVLENV0ORQP6DB4X5ZUGOQT4H9UF64DYEL2UJRLSA8PRGAB4NAMCYSCOC3UC6HLFSU2KJC8YRR2OTLYTASX5PB11D7YLRV6G6TNGRIP63BZQE8GDD2YWZ5CCMXB4J1JNUKUH3NEUCEIL962L2B5XXE340EL4FCRNGYPK073ROOOPO75TXHBILP3JBPNE0JFHQAMZTXOHOLHERHEU83BZR0U893OPPC96TOA6GWZ4SV9NYB7WZG2RRW0ETH4LLKTBX534NEZO23XDC0Q6NPRD9HPGYNLOAU6G3RHEWU7X2SPXHVTAU3EZJWSIO87P1DFC5R5KUJ0VBQCFMV464ZRRBFZQYQYR5AHP1EBVHSMBHBW6ME1MUBMV1KYKF8GXR8URX7XFKPYLFM265URZJ466YN8O div 36#1FN9M9OP3JM4DNKHZHZJ57QHG5JJ7F58UPWGIM0HWB2MSNRE6W. +36#HFTFAMNIDR0U6UF6GUFH3SIOGYPT7K90NQLOLLV9SVXDF8FSJNJ2HH756JL46CVEDZMIPTCQ7PE0MM0R5DSKCQQJG6A9V0LGF9VPIOUJQL5GLZXEV7VP3EPFSXVYVZL4OM07FMMHR24O42H9WMSO4EAUSV081KKRXL7J7NG0WDLQIHMUCISCYV4MW067V1BTULK6HU0EOXG4VL9E73DQBHWLN4XEHXPHSX3301BFB7G77H674PEX1C1NLLF6DM7U42L439QRHV4QK061UYLP20UVC75YNYT58X7L7X8IUBJLMXIMSHEAJGS08US26ELTZL33GENJ0U2L7AFT81LCXBDOIYM76W3HRORVAD2766 = -36#1ATQ80ZH7MILFR3TY3P4Y295XQBTEB17PREXIJGYSLCRA9RXNAFI52TJT1KXR35EMZDK4KT6M6WDWEHLO75M5Z8ZISY44R5VJF19FWQRMKLBYLY1UQEDKW7KHO9AIHK557LAPURUQ8GMKMZSG606L808VPE64X8MA9FXOIPZGG4V6BSYGOYN4NR05B3XDUGQV36ZHR0T61D9UU8NLTZBH2F3TI9QAIHL8I5AV70WHQTK1YOSHPWKE7SR4WJRTTJU79HVISTKEU349PXTP8V7NFVH9ALW9PKATGSS7L113VMEPOUBH10T543NA5VMKXXD00PX885BD57YCJNKZQ4R77GHX1MC2Y1SZYS7UJQL5ILCM3R6THLAOH3G7ER32AT4E66DZABBP64GHLXHQLAV61LI76QU div -36#2ONU8SK08GX9DT4CEUQRBKBIUDVJ3NCM622XHGXBAE285B9BTH. +-36#1SOYV0R0XZQV0AL49IDBL2HKTPG6P3VBSW82S3BSYKNRE3CXUMJOLXGUUM1ODWVUBHOMYB57PI0L7BEP3QZ69PDRP8ID8TS3J5HQI7S2PUAKJWK8M797WUGEHSCDAYDZ7COHOWN2TZR4480OMGYDSWA16LCWGW363YQ5SZPBY3N0WPU1SG7CXBSO9UMXNR2TXF4PX697AEJGSK4G7WP095N788T8TW9BIGZBUTEYMZMQGPSU9JYLMBGJ7Z1DY5I1VO8AG60ULYZUVFREAWHCLTRXS4Y6LYGP4PDFL7FZEQRP7MIG6NAIIHOF5TD06R2LLAGZPZ7617C8AILO91OCBLI0U538AC5IFFJLMVPTBD6CSZZBK0ZHUMUGIIHU5WF7WEYYW18P9ZWNFWDTT50AJOTIPAHJXIY99AVWM0CMO2ZGT65I0GIAH4HEFJ1RSBQZ6MR4EAHUI38I86WLCN4HRRA2ACQWX1NYBTTXRAYP8R4DOEV10SL26RX36RUNDETLJB0SANA0S75Y0B6J5KNE6BW77EJVTLSCF39FQQXTEOJ7VX36P5GWE009PF7K2T0QSOWBS9MS0Z4RD7C84U88HOGKXRHRY1RT98UH1G71XHRAOL35PKJVFGKCV2KAVYV5W0OGLPSBQ28UENOQQN = 36#9SC6THA0ITZLS867H1260GILES63NZM4HZH3ZVKU7BCGS0N1J4YG0TZIFL395ODLU5CKKZTZNQTHN48IWGQC53OGUPGXTG5IA825T2XET3MF3ZXYB56XKGYEYL5MMWYIG2NWD3WWC43TBIQB2QOQBDLBT0XVXT55ZD71VA7CVHH9GDWWOHPT8WQEW75KTDI4O1CPDLPJPKBFGCZCG0EVW2X0OIG59QM3KK7BDU0BCBZW5HPYACCO6SXEW2AG30AV9FZWAFQ5CMHAJBQFDA0M6DNUY5PVWQC83J3TJVMD12Z9K9E1OJAUCDS0R09W7XYPZ7W7BBYKCKIPX9C1HCQIOY9W9MZKJA6S0KG36NKLTHCQNB0C97 * (-36#6LYLIPKWO6M8RO8CZA0ICBDHG7PNF033TN20EORIYYXQ7TDGLIW6FPW2GP3S63QZ2MT1X1UL1FSVJO2AONIMFXAGITVO3BN3CLRWT9SWXY6RDG63DT1JAHZ4KRM87DIBGMMZI31WT6K9ONNBUHYIHHYQT025LM9G5IXZGZY8ASGRR1Z2ZQ1O30F29AUL76QLUOOOWNZS2XYWX3ZJHPRIZF0N2BJCKJMSXNRIMCN6RXQMHTHLTFXC2BT2HDI361GHA3CM5F1E8SMKM5E00GZHGBOFLQQR2ZCT). +-36#9PG30IHM3VO7Y88DBTM5A9NDWPPBYO3FT5OX0ZNW25GY4KZLWTHEA5O2DMJUK10AAO01R97K8D1A0OGYJGMMMR997R2LJYVWO9WGRT3HZFJP24KVKNX2CMHMN8164ZYF174DRAY6BUN44XDPJ5YVGORUJGXEAJ6ASSRM44K0AZP1157ELEQ939CSQJTT9B65DHPGFUK5STNOTSO07AUY118DU3QQVL892PULCKDC0SMTLREPF0ZVC82B2KMSWZYA4YYTOZKX89B2KK8MTV4N1HKOUKLW6CO94XMOM62I6183ULWTTOQA8TTTGG1BPJIRLUGFWNNABYBJHKCZIZQVEEMJ5027EBG6XDIXVW2NN0MZIJ2IXT1N3D19OAGI47AYBYJMIGWKCEM6BLHB35KPZBIZ1WU797ANXPA1J8NYSCR6SJXDBOD2VAUVQWTGMLZ97IMXEGU24W1MEXBPEYL6PWHBH9M98DAWLB0QMANHT9WB1D765TEMQBLHWI0M4HSEIF680GRQU4SE546CYH2RQ7PIO0BAXKC6EHN0R4HM4OPBQ9JZ5VHAZG3ZKJIYDCFW64QVTI80VGX0BFH85D4LSPRBZOEKJXB9LLSEK8IBQN1BK8C2U9SIGWJRG0HUEGIEBH7QVXFZUKMKHQVNKPNB2GL4N9H45RY0D7KINRAOUXERW6MEB85XAOUHNEHAAXR833A9ALYQBRMXMBDSIPGM1CZCDSU78BL9QFJ5YDH1RTHYRP3U9FWS851BEST2R45EMMUJUHWCWKWK37ZVB7NXP737RMCY0FL2NWULEASXEC7IQ404YMD5V8PWGRU2NY7OHX2CH8ICMHQ = 36#1IBZ4PYHIB3C4G6G40MVLBCADRWC68NEMS2D6FM733VPCXH50IJH8LGVD7K33NWRIH17B5EB7EOR5YMJNTBD3PKVWM98930UEC8VZ3D07U46JII0WPZJA7EOLW70H1SIHD9B036U8XBRCBS0HZ1GJCAB28O15ZIVZR1AOZG4OTP23JVWD560RJ9BW03IAGD3W2747MKLC4WGYQY8HTSJ84XX49KWV8DVSFFUESHF1MMRIJJVY40JI0GKH0MWEXQ5VJG7GYLMAW6BTUQYK737P7MRUUM75M7Z1E58MCKI2615TWG007AAARNZ10J8SVQUGKFB4FK1QMC4Y3WE6OI9S9Z5IDRY9FZWZER95GJTTGZG35VVMBGTYYSLTV4O5LMQPVA3ZLW2SDVZUPJAOFUF3Q7M4RNXDW3840FK87K95HY2ADQXHHBONUF2 * (-36#6FJDFH2EJWW02UJLSCYRK97YB7DJJ2OCOJYEB4PHMF5AGZ8W8PLV45TZUX7KTO6X0UHJLYUDJ2SMECG35CE2C6XIMJ6E7WPZ9IINJTUB495OSCRYEMCN6XD42EZU8DNWRTQSNAGKB7KMQNKYDYSPR4QKHIDE8ZY6A78DDFW8WC3325KYOJEZM07SU7Q9E513ET0YAAVPF0VXW3QAX7YZ3BD380BCAK4Y5O0SYK3RNCZ7L9NWSBEYH44MDVP8PJ6SV0G8TEHYPAOOR81EZI323QMXWF9POKKFP3BU4S31XPHUOTZ5EZYCX7NN1V70AEHGQ7J1PIQHR6QUY1HDY8DLKBSCA3XW8AOX5VKK5L1WQNVD1G7BHY6SG2V1FOVG72C28S6CLRP5G7IKLPBG441D). +-36#U4QSELUDRHRZXVW5DXCITIJEMOYJM6NV41R3NTXMA5CHLB8M7K341PNHZ5UN3JJ6OWMGHK2NORVH94PAG189P0FH7SN0VUKLAVV5OHSGTNCSHRKCQXSAMZ0EXZX8HYNFCK9JLSXGP4LEF3EJRKLK9NYY3O96J34V55QT3MJTA6W96OEHAJD9X8ZV8XFFDLO1W73K77DWH1GAYRACQDPKUWCDG08LV50NNXFGZQD7GGR1EM1W0XZK29NQ9T0JDKF7YYO8YWDT4G5EK5LWYT1RPFWI8QPOT5GV1NBCDHB5AUGAILXLRRKILGPAT446KGHGHB0Q6JPZ2DK605YDC2G9GJCSL3PYEQ6PQCYYYIWZK4KG6FI42Q9KE6X6RB4E6U = -36#3BMW0MMUIK1HBK4K3JUQHWM3TNLCBUZYSAT6ACL0TYZ1YUV5Y968ENJ7NXUN0M92LAUZWSKX1OXD4JAK7XFI5PV6UHCU6U615LA5ECHL6THFLI3NIJCGLJDPTDBEBAIBPA1GU7VXF6C9S0VZNPVXV0MEH05W0N0ZE4RETY3GX4AO5N7ZJMH23FH6M79AD1KJUKE1JC5PY5OPTQKNTCW89MSV7WM7SK0S1OC7QKYVNSNLEPP01DE4PF1GC0UYRBH91WG06UGLEX0ZR6EJJSYLQTC6HQGGESQETTHI266GU14S8DSGSB6Z1PEGRFQ24CT5S3USJYPJ7W6E5XLR90Z8GVD8LCXE40RQNVTF9EGPKNF3GB3X0DK4NUR2YOBNF9EQK8FT1FR7CHTZESMDX1NBRGPMF18DRDMKBYLCP1ZOPIUW9NU div 36#3YXNW94YGMM9N9KIC2IVEISLRCH8NY34QZRL30D02TTREGGM7. +-36#34JNQ5MUC0136HZZNPM2T2M3G7FYVWRPPFVOWOHLIJH1XBPUH1 = 36#1A4W29F914U4ZCLXH4QTTTQVT429CAI12JNOHB52EGOM6MPSC6B0MC55I2MXISGYOUFTIOB5S0R7H8ATNFTGQGO7DPNLLRPGQW4 div -36#ER9MIG2WWBKZHSPPV2YLC79DVVFIWEFYGJ8UCVN7G7A0UGD04. +36#1KIGS57F9ZUGKVYU8R31IJW44Q7XH9GIG8DEIO6CT4LZDYRBP2 = 36#6DZ8LAGD948X5N2REKXPCGFM6OLV17CPD7RUH9M90POZZYX10Q0GFYAX2HFHP1MEMG3J7PP0Z94C7NRL7KVR5ZJ42FQU59E9BPWXFAI6JEBFM5CLM25B5KWDNIE8TD6YG9LNEYA1HA7KE282D71F775OVHOHUYVMQCIVZPW7ZEZMKM9CGL6C5WQ065G40AB9V9NPXKIGMW0XCGZD46W37X7PO5QLT2Y2Z3YY8IN30HPAVUS5311YLAPJ3CTYAODUP5XN5RUUJP4TPT0IP0FSAEHMVDGFSVZ63GJZL7116JUTU7TZFSSUV9ERRLEPLU6WJHM67SKATXWUKVKDYE div 36#42I23NFUWYDBJTEWTHA6ZFSN2MSYHM1JPEQYWDG20VUAK10FW6MVMCLSAQZQ7V581KGSC67S61JOM19XL4TJQ0FY0VEVVV2WIJ3AJN0LQD21LCQ3IM1QEJ2P3H9QX2BNXKQ8NLHA64F72CH51J5EBHPE0Y36M4PEOH00L8VA3E4K3570PH0MLCX9QXD0C7QLF5XOFDQRX4C9IIHJHBI1B2WZZAI3DSC3P7LSBAGH4Z2RSYXEA2K9WLN126Y20J5B1TD78W7LWXHEIQMPYD2D4VPVWM7UEMWSP. +36#ST6SE7EK2F5PAL5H47EYBOC9Q4ATHAIQZAB75DDTMRXM0DE0RU61CQNUAAXDYKXPX7X3NF1I88X7TG8J0SGR5PRW1LV1OHTY7R3HKUIXM41N12WBC4BW9UQXBQW9P893OMJ9XCC50FG1AG8RKF969JU0WYA6QY1K2O05TMEGHWF0D9UN4S19V0Y7H15SOVXG81FEHXY8NYN300WV1VCBEC84XPGQKTC2VST2S6CGHO5BCWOMECR2FTF64UFJYW63KIKH7JC64SXJG7D33N5QPXRK81Z0N68RNADC7MT3CR0MB9XP4GL9KAGJZMWS4CB8R0ZONAQT76MOJLTRY08MYHNBP39LNUW57NGMT5F59S78P6PHPR33BDRV968P2MXH3MDQ5Q9H2TXWPTK24RPTV9ZED3BDXXUEW009LDEDZ4Z9NHH4D6JCCR99UEPOI5CH15C0HA9QOZCPPAB459EPTOCRMY3RBQY15ZIZPH0EES01LGZYIW155QXJWDSVK7D5 = -36#A72ATVTRLSPYG8TYB4UXDX9MW5U1HQGU2UA66QRN8JDTVY35P92AUZO8AA2G3MENZM3Y0XE8NQQQA4X5OBO8L5159F8SLSQAM27EL0I42VS0LXPBEDRXA3FK1BC2HSAYHWBH8T57XGGNR4KMYD6KROT2R3X7EMNHGSPO58YKD8MP2W8LEP2GNFR5DZDAUL1OU97ECHYLOFTPZPG8UKUVJJJG1GMXFK6ODSBRYQ9WU0KFAT0Y21E0P4Q2APDRLOZBO0CYCBDX3FCRJ4IWXWGJIR6ZQUPGUUX88H2AVZQATT8OELGCE4BURCO0EG2OWS3QRG205SVLWLZHO148ZG1H9DF8H4D36SD6A7R647R6EVZVJ4I8N7PXBIOOKZHKLHMCACOXEMIQHTOTNNGAQP5QXKBCPR8HRIZ71KKQBNZ5NXY0OTVYI21BGB8QNBCRQQXAEYPIYTVCU7OO7DS2G39HX6LCA5SY4TB6FHPTP2OLOK6I7AMQI5V8Z0HGEF8HJ57J02NWLRWGNF5WBZ9E4YVEMH55YEY7U05E9OI02MT95M0AKUP9V261V55ML60I8LW0VZI25H5CS89HAS6SEF0RE8LW66FMA1SKX85OZ2VYJBTUD8MI28ZPRPMYKKGHPWTTGPEBQ3NG2P0XJVFPGYDYDIZR4BZRY7O0PDXK0FLU52TUW9E34ZRR13OAGQZOXBKA9F6F2D5VA05CPNBYNL4IJTQAWPXMELA5T3YSWP33AP7JEV25O7QBF3AABS0X1YFHDIJQOHYL8V48LY955QH0ZKI59W8YRQMI7Q9XZ6RJZQMPZ4WGQRYPELDJQ170HFHPJFOHP8W10BNS7PACBYR3HCJ2LTP3Z9WZ9BH4NNGI6VD5IA4K217DTBF8U78QTDCWZBJX5HTNPYATHWKEAEFCM5MSSMCAE3EEKAUWUQR3DUYFDYLDBSZHZI58GBR29O1AD44XH66O4E6DS2YMG7WQXY8DO2S3SZBBWG1YAB7IER1G2475Q55KWQBNELZ0NX5SF6IXXLRTRSAFBB7GS01OZ76IAIRJ32XSDWHAX3GCVEZZVZO2YZTUEIUE5ELE60VGB0U28512RF7KTE1ISOJ2RT2X90NK4TM5X32L8DK48BCJW605B7JCMUVN1MY5XZ16GZIZMBKV5H13SL45VNKXK7G21SQY41I28E4Z28YH3I9P6GZ07F8JEY6DPMMZK8PPH2F066UE2UI1KTI5DOJT2P1IGFCDO3YYMKDNZY399M8GM9FY69DMUMHKASMJJ1CZTC7WFBNXB2MIE9MO7A3NGKSK9L56ALKEU0TYIZOBAQZ57MPLG7QGY94QD9WXX31PNGK94ELVOIFAPES2OVSAEN2HZWA6Q690QU5EGWGQQW5QF8ZRX8KR8NUTC7B3TG79ZTOXCTIMQFB4K40S91TUYENYHHCSV9GQST8FS0IKQW15ZTWF8GIWNJASG3V31VEG82K2BEE0LOQJJDFWR5D div -36#CQNORAO6Y5BX58094HCVGUBOA412LP73FS80XXLG8NCFWSAZ65Z9CTNDDN3YSTZMAQIRZY93O8DXLNRBBSHF9YHVJVK2BBT9OTKXPC999W3XBNPGTCF71HZUYIQSH1LI5S5S9ZAJ5QRPVVGPQIAUF8J8J7UVB7Z4MG7UK6I4B0RP8QQLG5UCNVWP71NMBVYZMH5FJEWHJB6Y9LAXIX9C10U37Q4QI7ZDPUORPWVACTYNB6WS94YAGT877EO0SNUSBF66T02XAVT1CAU04Q3KDNLDO3G1VUCUPOWEJXQ5V72UC3ZH2VO8KDCGR6RK3SI2CWPKBA44CLDRHHA568XV11UEUHJ15CC32HKG3VX9E46E190IVV8OP2MGVPSEK22KIF88UXBI90CPCD64J9SYJ69ZH20Y3NMMQOB3PHGUTUV3TYUR7JMD2ATJIJ09JCABK5F4LKDIWTJNXAI4WXP44G88RAZ28H36J19KAE7GK1WDJ1HHGL2C5U64L3BY1XOHB79MGF44DPOAY2XAK464N1LFWKHTUUVHFSXYGKZ4B1DZGOG4079W563NRQRY4OZFKWJY9NJ9XB7HIKMSBV9JYOWHC5FM8QRGV0D1SKU2FL4AN2VDEHIAEMEWI8FFKOUKQ9XLXK0C8RIA6UBV8WG40W4MHHB95EULXX4OFUQNCO9O682SB25NFLWSN67H61IVDWQ9CLPXPOFNBKSL1WDJHWEXJ8GWBHY146CP45WW62T2N7G4O3O2JTQ4ND1VR4LDKDSWUBINQF5HSGW1VNGLBUBQGHM82786U3X5VTLBXBXD8SUKANV7CLRG19O56ERJHUJZRYTXMKY7OP2SFFMIZTOVVEJ8M7PQB8WRU69UJ0MIWSY8YSIO7HO88EPM8Q08POJ2X61PCHVYDWM0WDYHJTOEEMF5B3M3XADLSCOOCCITQIXADTUGJ0HLYE5IQAA7KO4VEP77BMXS3OF4UEH. +-36#2QD1ZSX2Z25EDLSZWXNEWYJHOMJTLAPCT2CNK8X8LABAVUB2XJ = -36#X7K9QHH4LK7LF13TPAAK8LIUYTUK3D2E44A0MB6PQJ8UNTWNAV22C61OAZCDSHGAHME739F5BV0XEQIHSNDTI02L1HPN2MTET4W91A6RENAB99K div 36#C5KF3S1JTRNUPDMUZKRBM1WTGNZ1M5ZFQ44R4AUWQNCY9RQ8XE1UAYIJOKFH5K. +36#5WAS8JVLUU34HWXYYFAAJ10NS3OCRW6HBV6MQX4F209TS63S9IUX4L6JA0O4U3RMS1B1JLLH0F18EXLT7J0DDOPQQC38G9JEWB4YAPA7D6KW8MCDGFOHI0JWMATRTM9YZO6TK68VWHBKMTOJC03S8GYSA7AQ5K2DFNTPCVE79LKR3PKMG5PK1T1FXBSJ3WXU8CIENQCBJQRT4RPU1RZLEVF3SWGSI3FZW505CURXG0QGK5Z7KAS4XVHYECMF9U = -36#AACYXWDI28WJQ2SAXD9V12UQL0HWQKXAZ1HWZ3YQDXPIWXI6YJUH0A2VF0T6GKRXJCHWRKHMLRNS309W9V08Y7GZEAJ7JZNN4SSQOD08XNBSDLPWDKLY4A36DMY1RJNYKKFEI3MMD31VIVT5PHBDUXLLEWKSMVUEX7T0Z6P530GWOT3NLBKRR2GIXNS4WOHSOGEU1C2B0CU2CZ69LT15QBRQAD0MZTQG6J0URRRDMPIGTGBC43WVXA5VQ6XREXQ5UN1M0HBKHU18W0I5OL4I2J7FNVJCADXBSV3P3RMN64RZRL2FIGDXU7XYDKIG458EUZ769RAOPD10 div -36#1QSW7EAKFRUN0QLJJHLAT8KBS6JDYGGOERNE1KZ475C0RHFXJTKDK2G15FPTH03COKJ0FEW6HHCL5VU. +-36#5TD7QDT33S150ENTA9WG2C8KZM80S6TKAKYIRTXJ7LXUSD4H787B6G1YX0H0USQT6BPEL7L6L9DNM9A1Q7H9XU5S3YWY0BPS2QW = -36#356RAJ751W9ANS4MRM1EH9V6RMO6DVF8OX6XURCEBZALFW5OI4 * 36#1UL958HRPYE29C3AX2SR72CP54N7JIKTXTTJXFTHC70V1SAYXQ. +-36#305AXLJRZ3H8Y0G0VYXVEL186OEUEURVFIVX4BUXIO27SLK6D5 = 36#2AEJY7OH28MLAAK9BIYNGWZ1IHK83D47YVSYF3606SRMOZ0XF5L6YPMBR0N0QSQDT2DXLHIEOV2MKA9SWXPG9OJBIYDKVHWADW49CNMPOY0QYJKIPRW0AIZ2RH82D6DDQFPV6DFL8D4TOVTH31IU3DMMXP0GY1GB5WEF18XIB9TSOISDX9166WISS79BN52LIYIE1KY6EGQDCV9AY2FG41I9HE4HHZJ5EP8F3D9IF6K76PCJIWXFLVLN8KPI5OOT5SB9HYW6ERAIYIQDD6LFSIFAKF43KWDVN3Y6GX6U2AT2299VO1MT9WA4MR6CCMFBXPMH9BO3JY03F8C7AXVGN0MT5RS42LYKSWJNURQPQFWZ div -36#RFI5LEQA7VGPB18NA70H9UAA1QGU4N7HIE70CY5564HKD0C5IB04A4KMSSBGAZWG7K06OQSS4E9ZA0DIQG24HXQP9SUT5OS1J5LT8CEWERXOI84G1OG2UN1T3PQR7KTBGLX4ZPKBPX6OO0AU0FMRA9NT42192H1Q11VZ6XZWORZMLGT0TH2UPYVHWKZQXZIRBHQIPW97ABJPTXCXQNG9WJSL8JHCNA5MRKDPF92FQA5QWKJVGPKPDYOCORYYL9UXX5MC1MQWHNRP4IV0Q1ZPFTP63239DUC831E65FQJMML7JBJWLBFK39D0H7. +-36#1AT7SCQWQULTVGV6EANJW67MCBI1L1PEIU8U0QNQKDO0Y0N15N8OVTX5TQ2M6NSKI9KK31W54QD2PMBSN12NVIJE8BEB3JV4KBVCOJANZAHG8HIB3SL9F6AUHHSZRLQCWU2978P6JVSDUBGYAGW83LH3ZLXCY5EGOO4HMPPL9P8BN44F60693TEQHL9KFHELOO15BFTI7QIQYP8REZIG45GETVG5A4SYZ03LOWYAQL4ZJO2FOADNDBQ1ZPKOVTNGZBY7ME9L6F31CIP19M68HQEW8GUZ83S5ZDEJAD4KT7CBV0MVV3D3JKH4TFCWWCCYTAC6YWZRNL9NBWT0QR3QD2U4HR4ZMWAGC12WMBM74S767BX8HGEYZ3DY6WLNRND2PAKMFLPKQA10CJ58SIAHFG50BJYDLS40WTDO98VS7ZWPNU9N8X3F5D48CE2JOECBPRB1C4B28U75G3VYL7L68B7VCNT253ZJBPABZLIYI9K33MC5GB4CUQJQ8H43CJI6OOPJLN85DRCQBF2BVB6JIM6TAEQKNABABAOQAYLYDP2K9PJVLMDVQLGTF1ABPHVA8JTZI27N3RD5JSCLB80XO6PT90PTDNCNEG5MLGNB5TW7ZMD6REU7P3CH8FKWURH2TX53OAZYAHATO7JMYOSNS6AA8RPU39DUD3VXMVRU49L98NE6S6EA0DE9YU2ITZCW5E2SFOUFMVHCGERUX6KVAMM7912SZHUNJEV4V58BE1DCD5NIG8H9VA8UV1830ZDX4J815JKQNXS3L8SM2E17LOODXI2604DCL6HL0KALEKGPW7BSFUFX4LSKLNR3G98WGB1UX24C4JHMPPJTZPQ45YDKW0K36OI1DL57UUY6JHCCGJZ1XXQUHN07N1H6N8OIV98X6R1NX1B8A8UCRHCMKFQWWBOWNAI7O6MJCA62VY9UBO07EDU8IDV2J2QQK5N4NSLFVXCY4KVE6OXJ0VBR8KWHU5P9XZRQH9IKSXJ4LLPD67D2W5EDYS2AX6ZF0KHLEHBDK29FXW9FWWO93GBB1D769SCU058S8MM9X8O6FO30IYXSYOG18E2CAGDXDH3CH89SBOGKCFLSKGKTGPHPKIBPLE3BH5JI6Z3J7APCF3OH8WOWB25GLR762I80NRCQLGLU40PUJOYGSTXAQMHEE1Y556U9C88HYZS5BY9CN6EDIUFBIB070EFYGRDJQHLIO5ZOY2RCXR03UTQZ2W81BW9D4NZJZUHN15UQKL2J8XXVH6MR8ZL41CJKPW9F5K2TSC44O74K8STCPBYLKGYJWSY6L9DIM07ZVGWTEPG9H8DCRI7GAQA5H4C0V0ME7Z5ZSUHXLY20GOPLCK6C7C0QT3T0BU20CF1QSRQUFMF1I027RNR = -36#M3GYS9DGL9DVNMXS2RH1STMU3CY3S5U4HXC5GYMDIT9G9WGUXY5TZLL10IX8CGX3ZMNQY30II23OEJD39YATUOHOBVX2HLMGOTYYHR1RYN7590HLGL35EN23DHMS5X4KDUC7X01L288SBZ7BWN4VX0TBUI6FXRIHHR36VFSRTV3FNZKHXMVTD4GAUH5GR9JTRWLF1WD9805M3OED08XZ3H2JMAGKYZLLLOPXHBOSABCINBC517C9K1IW2Q17OOK84CSUAGI60LXRHRA4FEOY0LUJ00PZ6YXDYYUBRUERFOVMOGNSPHNM6BLZR4VCXMUKOK7UV6VJT4V1866BLVDFBO709D9OURF4GZL2198T1T4SVIY7RZ0CMAINOHVYZZUAHSCCPV0FR2UQM509BWYVHCHPZNXPUAXFS8EI0EP3VIOU9YX8FDFZH8PW2O0JBYW59H2N2W9V8V78S1ZCV26HN02AHL1425H9EHJRO3M28F99YY8A5DNGAI2BBWPXSP0RHXWS698CZMA5254ULTY2J47BKN8NEGGJ9MGF7HL0QDJVZC8SWLMOCXZ8GLHJTUBARW77JH3N71DTD3F5702Z5UX53HF6JZD5B22HAVS5O734A5S1GALIDC8SFCVI56FYQN6YLJ77Q1140O99EIEGCWQNTTKUX95W1N6IC3X6YQ8NU0VBLFP5BICGZ3C0I5CVYC5GPLQVKCC1V0H6NYWYSCBUP2NBH61YEI6J11AUYQA22PVVDD2DEN86XN2HM2YXGW2VGRUM5POL7EZB16554LZU5K9ROA6MHXF2PM6ZOGKDX8GLP93G5V1Q9EHMYYF87PDXPL7DV0E3RK4090JRFRWXHNILET5SI77O5SN37JCN2AZ4X9TVAOXCYR18YU6OTKFN4FZ1MEXZIWNXNN2ILCKKA9JDFYX7Y186799I9XJC8NJK1 * 36#249LCGU8WWWGICW0WLTR6GS3IXR8OO45YW8Z7HUJ9VGBK3NEDAVPKCNS6C54DX3W8YEB1MA0JESAJKJVM8EUQ5FJ46U09SSPH2S0TJ780L1UXI52BIVIEKMQUH4W9ULINUZVZQJDU9JELOIDG4MWGSWHJH5D63ZQC76EM7G2FPHWPN7AYSHT23J6AKX4IUTO3EWVNN64VNPH8WEB1NH6GPVLZRBB6C3UWNCPWNY9V9L61NY0FJPQP3AFG1EIEAXLJY7E4EIY9GWK8TCIK3ZBUBUBFBNBD61WZU2FQ5YFQ8IB63PI4ZQX028FY6PCXDFLFJHNJZSYDXA9JPTLOXTWR73NM93O57QC4L7Q6AG15JAZPWDEQ5I7B8W1163FOD2COC46HG2XRGGMWQUVXECC57YJ1RKZ7WGNUZXBT66IUKUF6I7ZKHK1JN24UNYBNR. +-36#RZW4XE68MY4QVD7UQOTN9ZMUGWAXDE4FE9I48B404SJDHQ78NBYDVB05ED0OG0UDIW2XT3O74BI56EE3OPG598GCYQ4L8M1DLU2OR1MHAR3XVGJOXEC26C0AWSWOX0HDMFE0RVPLVEMRG9EAC3PQR8ZCZ743PR6KGG5YW1HKTOX565JYPSNL0JWDAU5S40P7IA44L46NFMZ8H342DIJXE1KFAZU9UH9BAGGRLTJAWJLKWSCVDPSM5O2HI20IWCUCW4ZLM6I2SGJ6LC31SCAZKPP8FS2DFLIGB9O1WSKYMF01PBWIVDV7KSE6QEF5C2JKY5FKEDEXHOCZ7SN0MD1JM32CY97VAJ5997WRAD4NNV3G9WVP8F2XHTEHPAH3OAI7H2RC1O4RNFXVDWI01WLJGARTKQ5RWE0VNHL4P8P1TZH509 = -36#3TUUM5EIR1CV13AAIQ4E927X5N4NKSAYMN35B0N0Y3I6EGDFML7HKO9Z2NAYXY4UP492U3F518MD88WA3NDGRFVS8AQJ9BEMQQGWILWZ71OLFF499YHPY8TNQILHFC9CBJHNTTDRG1ZO7F7M76TN1RRM183MVEDOVNDG9MUFOOF97FVMOHQUHSI8IOGZ7LMVBDNFBZZM0T7TCG7S0ZXMEUG1BV7ZSK63RYKZD2N9EREKO6JINVDQT6Y2P9GKJW358GCWKLJMW3TIU4R3PXD12E6GCJ1O41A55SD2OBHO4OHDF1Q2Z48HUOBXISZCD3U2IPNLZXN5KG8KPDF8ZQHHYR4XD9GKR7HG0YC3PTTJ5P7BW2MPPIXDALJQW4HVX55H45LRQR1WLJA8LWWIPZQHJKXVODCQI6V9UFQROQKN9S11P2YZALNPAT35GY4KS2L5AT3H70LXJ2LA8UP098GPV0ASQL52Y457GNJMPRASFHIII3EO22ADPBLONHLL94C065FELYBZJ4LHFUFNDAKNAK121LOGESANT4QAADFTR2X973BIQKICI1BJ32HCBQI5F16YU0F1VR22NEQI2MUYL4JXVGD25WWDPQCVG1DTWCQF6P7N33501VD3M1RQH6T2J3IDYY64LLID66EZDW0W26G5E1P2U74DENEV9ETZ49J1PW7B2JIOQYDQHZ086E83XXDVZ7GKA0GDI8H6E7JD6W74IT946NGJ9X4T4SANR5JPUSUIE5UBBJ5S933QB1TH03OJ3IBIKSKHW1GGPZ7ZGDOC4GX23M623DZDIGWJ3YBL0YAO8Q0FWJGU6ALYYWFWTSF7I4FCXB70J6QSSPLLQUY6JUOSSC3LELUPX8E31WBN9GF4IXKQ9Z2TU0LJ8A4GXTZGHACK0X1SAJUATBIZX725QCR6B0P6V40Q11MOAZ1UIWFXM0EP998UNE3GN62D64GPSNEGYKCT0W82XBJ81XSJQJ95G3KJ6XXSR97ZG3185X96CR8CQHPU3OH7NKSN18YSZ8KPLXMHZGFNBO7TO4DDA2DHLJZR5WYAJTXDDXLDG8YWU2J5H9V0IXQ3Z9W3Y2WUGXYTPYEWTH9BLW3XTBNX6ECTVAYJCAJCXY2MRDID8GF3FGYVCDS4IMZ9 div 36#4X9HJ7JKJ2MYZ2L0DYAZA023KUL7XN6HOZRLJTU59VGC6CY8K5XI3I288WUC1LYRUXFSUZUOYHJNKQAYNCKA8Y2YG8VUW56OBKOSYR8H37A4CSFNQCKJW8045APJW497AM7CRNTQK90FSDFMKAAF6IDJHQTBHR61M045OCQ6QV2S11EWRM2AXK7Z35Q4MCUIMGNHAU4AD1OATGNN3O8OUDA3WMS1495Q3MC5TKXG4MBHEZMV0NE4POOCXV3VNN58N2WTQW0DAKUQW4T9H4O5JUL2BQ5IS48VJ5DML17LUFV32EXI6BJQAT5F5DD4VZO3808SO8JW2TL5WZW4K25PMW5MNR39U96B3V0QMDVYDUGLS5EAXZX72WWD1HN4GX5HAT07B3ONCP5XAJ3NL7I6Q99QM41MZROCI6M5V9G8936I3W381A2CQ48CDM9RE2LO19F9P252K68KFFUYKVQFNFIHGE2XGTW818Y84RLOKLRH4WWJK22PHX6NMGL2FK5DUCGJWWYWAGK1OPX9AL1400QRDZEJKVPE2RG5I9446AUOV65MBUG73NXYVYQRMUONMQMUAGT5IHD9YLRTT6WTFWQCROGIJHF2XK9VO14ZJU7JVTJLPUBIAEXBPLOO5USP5OO5KPVORC4ZHVE5D1I34PYUJNKA85DSN9NZZU1P67A199SCYZBB93ANJWI0CUV8VT7FRQLNUEFC7X. +-36#E91GCXYJKIMOJKIMWALCVLZO18FITPBG7ZDOJLMAZEXMGQFD90XO4C0V9O2VRZEVSKJPCCJZO3GJJMKQZZ8V800FTH4H2U85PMEXVVRDOS8P7MKFE6KTO2JUCEXKU1C34191OE4OFM90DQT0EIHENE8332K7U0G91TYZ6QHIX48JL0YCWWONR0VKNH9RQHVEEUYZW1YX9SVHYKJ15A8EUQ7S93MRGQYA8J5VBEFQL3E6UGFYM2C7CHO0VJTU1S7ARMR5696032IQBKGKBENV9IEAUQA7CVKRK17AGKQCXK4XL4VCCCF651G45IE9FZYZ9AVSP7GW037IF100UXH2N0LNW3C64O03XBU6EVPPLRXJ78R372GX3MD9V6PZ5L2URTTGWNY3JGJN84IW0QP8O2D7M4X1WB9822EFMGD0H9KO564RUC398EB2XNNZIBDA0XBJ4HUU7EQ5JMWZLA8VF9Q5ZF05LW94CLVAWFNVAHJZSYNO92QMUM0HTZXUBYPR53XJ7NP64PGBF832I8K4IXXE0MNN7LFI87KHX6ATQP8GI = 36#CY4R454JWHXG0HPWCNB234YDCRXKRT6R8HE2EIUG0KAKEIWNXHPAEFXASN04BWCDVTMW8SPGLDIOC5415UNKE5WLUF86WWULCAQFQ5KHF1CXCNVUS71BBXUROAP6O0KIQ61VO19Y0BREJ2PHSO5Z179WGI4JVDM1LKFCYJRTN0C8G6KH0N704LG7ARDIZ1G4FBYHQ5MFGW6UEKRZXVFXEISJ902DU4D98C0K192EC5MO8WYBQCOWPEHURUA57YRPYH4XRPPSQZD8B3QIOR8RVNMNCN0V2DBIGBGNS71EMHZ3ROU14DTBHUM9JPUTC37RXCSFIFKFG7LK9PDY7AUCR4QVRMMNBJDZJDWQC81ZQYF8LFH8G3EW0HFW1LT29AA4L3USLAUUXZJTE7VVSJLMTTVLCKOPEPE1JW42WDW8I4G2JDLSIZL1BLB2J9NZK1ZPOOBMON53DX277NVB0RUIL25S81HV4QJYSWATI9QVLTVXMFYQ8FST0RED5VNOI7F9A8T33W0OXVG425GI1Q11RSPXKNDD6KC9VZH5B8OVR5VQDWE0MZWBLZHUBC2FFFWD0II53J28N7RZRW7AWXMGU8AIMRMWPPMN521LSSDIQQ2U6RT0PYRX9B0UC3YHKFIYBTVHAS0JMJTFO0M1YVW5MZH4B7CDOOTU2XH5N7CZ4FOXNSRU1QJJH9EYBD1SB4VGKTHMETSYIASHMVQBOAFSI61A9YGIZMD9B3ZTQ7O2ZDZEIG5WGBYZPYK5H96VNEO1JU4422KWHMGPGDPA1JKNBLFI7UZCRVXG1DR0COD782NVG22104R1K71MY0FBZ8AIL84FQV6AVQTZC3MTLUN7MPRF5IFUYU4TFS4X4WA3HJR3MVNINPOFERI09V7BGKZCG08NA46KJIS4XQMG4PZ9I4Y3MY1RYDE7XS1JHI8CAV5MEDB2D9J8ODXRVHKQUMYZI2DL2TPWIIGYPKAV314V8S8OFBE74W62GY5I4G66UGZV4ZEPNECXLGHQX5GM9K3LTJG9ARAH7LB81RYQ8ZDVAA81KMX7CDMEZASKLDHVCTDY4M9TB5N7UOJNOKY5O8HQAXV0GKSCTJTOH2WQ1I div -36#WPI55SKXMWCQXIJA7SW6XUPQMT4X2T942LX9EYFWU1IXLL336JSB2YGI9D9Q5TUOWGZRPT600RGBDWS2793UO2RTQH7ZQ7W5YWD0SA7IKGG5FTVCT1OH141WCCSQQDYSZB13LML15P802TNBEBE0SGU8GLQAXKICP0DRFGEWIV0NGUNLZSNQYZRRPTWJ95DYUI9F83ABDNLT5WH210R2PQUCDJAVOCX3NJCX9HNESLD8KEK74945SQ1XNDU9VOD86JG0E58OXCM0YB08ZKYOMSN2EKXE594W7G6KSWE8P1XK60PJXZHXPCSNFSU6SUMZBGQH8I97ZOP3K7867GMPR3001L4SZBS7C6T2TT5JJUEVCNMC6P83J4YAGD7AZ437FJ824M4ZX4ERUARETJTEJBSIO3NK63PWO09KFABOKJYTMZL0JA95ZA43BENO81NRI5LT0RN8L48F47Q922EHTQ6JUZP2QQUNYCBIHSSPI4Z5NL6136HZVBLGG28UZTABFRYL3MTH7F9UBK8RAM2G165Z8X8PG97QKE30Z. +36#5WRXWFUU5I3SAQTT8LAUYCQB2G66H5PLJE0CN1TXVM09C5Q5FUPB3HWZN9SYHE30VLVECA455W9XNH4AN7PAKWC83MGC3A41J12F8LLGMSDNGILCCT9Q52ILAEJOAYRWJHDP7EAYMCMNGLZSUJ77E5ZY978TW4OTATJ0NDAWA3LRSXIDX026WOHKK37U2JY6DRA8S8G9XSD422NU3J7J7O0RNQJA2HBEEYTY2CCMIU906NDVE61G7NZ1YNEYQY0ODUIWN93UX1SND9ZIWZK1594MN5W433I9LUE0H6 = -36#HTM0EFVVV5HN31NP96O56T804KGXXFMCBVGMT1ZQNDRAHJBM20EKKYXZXXY11C451QNA8S5J8C5R976X86OY7Q5GBSURC2A97PF4E6THIU0CETRXCHQ9PKICX6BHQXYQRJAQ7SBLK0XJS37QRNWZCBW0LQ58WTPZNAYK706YNT4OBC0GT7OBZXI8R5L6V8PTK6XGWFFLBDMSC9E8MU6P6ZEZW9WJQAQGA5AIC6HG9W83YNDYYDVKL32HM25XZN5CFF7G77ISWIEFOY2ZIT6GZ7FKLX1HYXDAJ2T594OFJ3J436WXPECIZ2RU55EHE7FY9VDYQDFMZZZZVZXAXV45XI div -36#30JZUZ0IKB257RA2MJEVLYE9NRP0IX5AADRCL6IMAZD8IOT93. +-36#KZISVNGOAKU10HV6XDMKXJRDZ1UCC8B997ICMQY3OMPLD8I56ZK92PIEJ8EYABXD01245XSI43J4KLI9P2B7YHXEFGZVU8HCRNG26R8I7G3ZZAZ3DM3SBOQLJ77EYP44TPW3VXS0Q6OXOZSCRQR27CVL9X69XWF8S1ZYY6O711VTWJCP3LO795YYYYQ2D18R85JAS5YHN = -36#J2E3WN7L2HDP24ZK6YHFEAGX6J76R1ECH0EHHA62S3J8YSH65MZD8J66BYF9EWZ4FPW1ZU9S1E20DNNX3XLEENOTJIT14H5ONRZDIEJBMNJHDHDEWHUO40FA4JPTBFFOJF28LQ1WQ7QJVH50QHAJ7WSLHI7Z9PRT4U9F6J20RR2F22D0F3VVG6CJZ8DYS6AMH2RIK9OM2I3LTOV4KJJGXQR158R7HPB7QNX3DT4OHOY37YS7ZHD8YZLWC4ZPPVMDBN7XVMHXCM03K8KMZFMDNP80QAVGAPTSO9485N5NJJ6N4T4M6YFW2E6H2IU26D5TR8ZPFECP10ST7YG6C5JPL4YBF9KU3HG1V1OQHLG19BXP1RKLA67FB9RTH118XTFEIL2UY2B7XQOTS5N5HDJGKOLWW9L3FANY8TSFI8O1VYF4M1KNKY8XZMW2N2AURQSL2E0ZQLW9A40FWZSCTHZ0VS0ML7OKEZCW989I521U12VMTSL77WEZX37KZ2PWAGQWJ76Y0OWT97LDNMC4TV0Q4O0FLA18ZSD6EN10EG1XFX5FEC8B5ULT1M1HD4SO5XKK36U8K0913E3U2C28TR7U1CT470HWMHWJKAN9A6ITFIYFZMM5R8QVKV9ADWG5Z7PD1854QEJVSH9PHIISXS0IEM5N3462SJ9J2CH7XT62QDTC50JTC56EO7MND8O1RX08LEV26URLTTM24V7TD86T792HJT8M85VNULO7SGM98FM div 36#WPEYXLZWF6FYTPGFQHG7SCWEHUOMKP8RZXPLTRR0XNR9TU2PBOS82POZBGG9CA95H1H89V34DCLGF4HZQ0NL2Q8MADK5FI4D29IY9I48KVR1JWT77TZTNFNK1GK76VZU6O3TFHC001P6QJL2W4XNHPXNGW895I1NKSMPD0U06LY5ME5Z3RHIP8AILG3D2MILU4GWWJ0G36STQ7TTVBI1WF1JRXYJYWI23NF6WQ4SZXC8LTLTYU16LW43BKX5E3UPILSD03OEGP59914D45KKECJW3EB25NUSVBLCFJ95I7LR9B329JZD7R9ZCIMNQPUWS928L7X5LPT3B1OLJXX8CAPQARZW3U0Q4GHDY0M1QIPJLWFX8RX7162I1W9P82WNEZWG9T5TANR5WO5SMK25H0WIPXF2QWMQKBWNHF1JBN15RIP5C27YV39EES7RUXJ8IMQKVABQGP1G47K2TCBH2IEYDTVY2BDTJ8IEW8CKDN87C7MBBFLYJ6DF8D9U2PH2J54EIR5IEJMYTS1YPODEW17KPO48CXJMNQ. +36#1PMU4Y0IFO0O69TRBSOWSTJFZKBPQXQWDU93GS6PC2R6DCYQ6LH29PYGTCBZ5F5S2VHJZLIONYSQUE6RHJXZDW9EKLRIUR09EYGX4L3UA8U4JIF7LNTXWF5L8699TOAPUJXUUWS5DOO8ITDWTCJ2PHHRA1CUVOB1QI9PEUR5XVD2AYF9PETEIVTC55SA8RJENXZL68T30UX1A8HLZ6Z0PUDJF8RQEILZ9SKB6QMEWKOXI462BF9GMXCIKU8YLX1T7W7NWOU7L0PT1PS3QYE3K2JUC2VH5CRDDFFIRUKKP40HEJY8JAR3FMXXNOJX2BS18Z = -36#GMP94ICIPNGWN9C7QANURM5KWEIJMUSPPAEQJ2X5G1NT4WOZLI0IJC1BAZCTOIV936TEK7LT6HIAF91Q9BLE2RKEK4HGNAB340JT7KUDS12MG53JQXGJC28MBW47HR43RA608PQSRJMHQLXAIQV1NOMPWOMP2ZXDEH9JMC67W9HSOD32LYJ0WYGXX0JK5UQ9D1QCWF49KTYT8Q3LK3YJAOVPMNGRFNUC1SGNNCOYO3O977HFV5BGR8QQ8IYALR9HV4JOGM5I24A27 * (-36#3PF2ZLTBOHI5EG1Q5H2XB7I0HWKBCHDU9LMTF8RRWBBRFS05LIVA5). +-36#SA3A1E644W4812WWI29774BR6KZSQ7SBK4OMPWRJK7WQQH149N40DAM3ZXJYKNR6P1PRHWNVYUOCOPX85NBPJ2B8PQY2EI3ZIYTXD4WBOBVOVE1VEUV2OGPUYL6TY66410RRG2WZ3HURORDEOUJCO8PNH9EQN8FW0JC45PAAKLPTTV51Y56JNPKC0JNPCM99ZT1R6U92TQG1YWD51MFWC3P5COLAT2SV2228EMNZRDETDFE9Y46FWN5KVL9Y9Y1KJ4XIIUC30ZGOEHHYCHGC7UMQ3E98XG268AX2DWA0TL1OLQPHDEB2VFZR1SNJZUE2NUG9IBGI4912HBZF3L4I34ML3NT66VAYO7QU4LFNTLY1FMKBIN0SXNQA8A2A6O = 36#6YL5HF3239SXD0SZ2G5I2SCQWWGYC87GHYPAV6UDVVYP1LLE2YXMVHGLBHOS2QKMANSNSPSTMRENBJJKIIITGDP9DYLTFMC7WERV2LB2HIA46T4KW72QJWQWH03IHI4AEAZO3XSA6D4DBQRIFO6J74BX2N91MCTTQJD2CA2GIWXNYEKY9LH1SQAI9EZHR8KUHAPLODJFDCBVJZNIR1DY585N27QO0VYA1DW4LQGQW6M4YKUN8YJ88RO7N1FHC264STLHP0D7R5J5NOD8TRJR05XVG6MZ4ERAAEJDZRPW32XYLDID4LE22E2U7YHS0VTGWVZ635P68YN79YAW3LK88KWPL9226KWL78LXS7A9H1Q4C6IUJQYA98ZA70ODW1Z05LYPXV1ANFACBV8A6LHMH33N5VLLRIRJ74ZF1ESTY9QD5XC div -36#8UZNTF0CO9ZKF2TSWVZR6NIDDJOXR855I8L7XBV4DHD7189XW. +-36#4D8R6DRW6UJXA7HXZPKQCF2478E5LVM36JKUO3Z9KUNDHTFY4PMFBW7QEKDVRZ4Y4NPIX14U1CFLG4XE6I9KD3AVVYFGV4QD3IU = 36#2ZFJODZOPA24ISANGEPSTSDR6A1TL9OHVNYG214MNILZIEXWOM * (-36#1GOWASNDTUWC7MRH7PTA3LWXDHS67BZAXI0JKWRNGTNL09BYFL). +36#9BP0M4TD35TRSTSBDZCGR0DLSHCHLRBJR0WKR7P5SK528JRGQQNRQ5E0YCQ37UNJRJ6NJXTDKSGRM6U9FQW6BSSJY5XQGDFEQB8JBQT6EY3CCHVXZMN43MDKWCJE9JBVCLS3BWWD7B39BXIPF3GYWTG9VRM8WFSD9756XJEM7Y5RXX2C7QE5KFIE0KU38RKH5A5QNX5180IEA3IBMPJVRIKZP8KHK0TTV2RHCNXWC3PA86RXW6IGPDP5G52ID87Y6WNEHRYH6MIAKY703GFIA01HLEU29PQLRNECFZKMB2FUFTWM7FDIUS5OKUIUZ09I91LTHBV6NJ0RT1XUECDOIJIAIFSL17OWQ54PGKHNI6XVHQK6B2WHDI9PO8W78AS8DLCI9ONHIDV35Y78TL1GWVFTNWA373PARG6HYB6S4F2UWR3IRTLQ7X5R0VCMBQRGXTBPU3YJTER0RGWUUYPRLVZ7SPGT6D9CMOV8GNJAPZIX4BR7V6KGDH6VONCJTF8RLRC666ZVTZXCB7U5DXSCVSP7YPEFGN9ZB6LJM = 36#30WA2LHQ9YORDNA2IP81G56M8MV4X35CXICKOV8JL6FISNNI6B * 36#32Z63N82D4VRC0UQVGL7BFZ35DT2S0DJ3AP8XLME45XF9V17GMC55J3W92MQBUF3R227K1Z08N4NAU0O4R6ZXS9469AGTFCL2UE0ZCIHP21552U1TFZFPB7XWDBRFMKOUULL57EYFIYZGYGU1K9ZHNWHYY0LWR6Y6N6BQXE3F16BSMPMV7AZSCQ3SG6N3JD827584R0IX0QYQU3IECPT1F43BCMEGNCXS718V5UOW1F1MYU0WCALJDHVE3XYV7LJWL43RB6L31IS5CWL6EHZG18KXPPOPP8KHGIMCJKSNDP6LOEOKVAQIUMY2X12XUO33VYIM8E093CWBGUW6WYANRP6Y1BT0EARI48ZR8OH7RV9HU6HBEY5UFC133SKBIJCCIUKYVXA08YBXHZSP30A42XFM2TLD0SH3T58BTD9D7A5MNQYBT21LZOWVRFBZQNNC0IS41USOJVELSLVA9LJCXEI1T7T933LQILP87Z88NS2GCFOQ2H2. +36#55WEMKY57LG2WUEZRSLGDYTG9DMCACAWQ4IU5C48NAM4FUP7IXIFT9MRCJND6RUIL6QTILIH1JF2QMEHN7KX5VL4S2SD1VDX44WD3W34YTC1IK2ML5ADZPKTKW17Y1NSFA0RW2OUF7FDXEMJL8LUVHT0A2PB4YYABPIV0IY7ZK7ACMFLM68ZVM5T5KRXQ8RN1CP8P20VCD5YTG3JW5UWPN27VN0XAF1PF3DCRWZKFQCDNV4ND91EAIH1A5WGT38AYJFS436N5FCGYDIXLG4NIDKAICE4ISOQWGPBHF78ZVS3H03XHQRVHWF8DEQXLMWWX8VZC8R6N5WHDP6RANKXNH9FNY3IMB8I1OHP6OPF960NZCB9O8G9I4UVRJ30JY34UHTU5HAZUHR5KPU55PKI8MVBZATBC0LGN1RR6074JQB3T9XVHJW6JWHGEN7OZOJQJPSV3L9PFRY3ALLTKOVOD0KTKXA3BLTBGNR9XUQIR73KWTZDP5J1H840U28OT81TTSEKTSLV8Y2ZRV9XS = 36#FO9G3QQVHQD2BKWNQNTKIVF7S9G9TJFVN06YRTYSIUEPFW078VMLLYSQHSEHZU82HBQP5X2QNPXWXHMBXWDGT744OU0JI8S26SHH5LR2LJP2AFHPGFU9JG0AL9IHUQXE8N9ON5MGBKYGW00SEYBJAG * 36#BUZ55NP5UNZJM5VX9YWDZYYY769NBI1JFTUTPZBH9T1PPP7FDTVYC2HCL4J5NHLY53G3Y1BJWJP9BJQ099DEN7V4LBKP0SJBPTZFR9WMDXYMQKBZ1YNUGKV761SNXLPE9SZLA24ZU6TMSKYODHPQ56D63WKDCLOSYB1FWD5IDG1J9YL5P8DBYH1DXLLEBBI0X1YLPVZZI5A1JAQUAGZMCFST78G2N07P7Q1DLM3VDLDPLM71T3SWDRTDAB46J3ORSMZR16GWSFC1PNHTAAQ68FRFOMD55PFWC2SN6SN0HJ52GHO0N63XASEEBPPL6RV8145IPH2JQDPC1M3K2V65G74GGTKJGUOTZNNXLYUE61PS86EFL9PXCMAZZHM. +-36#2WL4O9E7839LDHKDJJ33VR4GGA78W79JGP1XIGBF7OQ7GO05R1 = 36#2GMT87JDDR4PCFVU7O42Q0KL7H2X0P6N3HPSW0QK5CNLX7XCLCDUBL1QLDN70LB57Z22BME27WCBD0UVSA3SLXKFOL9YNG2EWTF8VISMGDZKLS90KIVCFI7Z0PFCKRQOAOYX34NTQYXC6VWR8Q80762SNDBRY0CC6NIC7N9Z9XN5W7A91DV2L3BBMR6OU7CT682JMF82518NRNNJ6L2VKO4PZH81TAKIC4URDMQ3K9ZUAN1JDALRA8AWQ4VWONC26A75S5BKKCS9GCC4RDH3OZK3SE7IVFKDKWP2CYI6KPX3WDVG793P8RMM5MFVTW6UFTTJ2CA33PWGRSM6OMNAG9UV44I3SR545NAAK7XB842R7OTOI9A62QIFJAG30CZUR0L4J5BTQBC9FQRVEJ3F7PEWYONN721EQQTTH88BLB1VRP div -36#UIBA1TG07OP0MGFK7EUZEWSEMHLIVEP3Z7670PYFTM5KA3MDX10YJKMS50GN0BRMG6WJQRCHNM8MH0AVDXETPJ7IUP4X8TUL2S31IDN8W6PDY3JLCYGIVROQWVBQXJ2KH5RG3E3572OFDASM790ZPKB3N2IW1H49RJ46R9EXLCW77C4G1S61O0V85QPX9ULIVKQ815JTHLWK0RWCYB8GT9NDHFA20ZJF2VS3MTT52CU7PW1F1EQO2TBTY6IIEEDHUYQ70XW138I3X9BI6Z7R0EVUJ90BUM79HTX3R8C189DOQLIBDQLHEA79D41D6FCCY00VZ1EUP44LCFSNLZRVN3EJEI8K5G81FZLSKYP0765AG06I4HHO6CCRXW0P. +-36#356RAJ751W9ANS4MRM1EH9V6RMO6DVF8OX6XURCEBZALFW5OI4 = -36#5TD7QDT33S150ENTA9WG2C8KZM80S6TKAKYIRTXJ7LXUSD4H787B6G1YX0H0USQT6BPEL7L6L9DNM9A1Q7H9XU5S3YWY0BPS2QW div 36#1UL958HRPYE29C3AX2SR72CP54N7JIKTXTTJXFTHC70V1SAYXQ. +-36#1Y0WD6N4PTSW0EF6EBK0H4GHQJHA11P19WB7UTSCK6MPHTQI0I2D1CWXFJUS1TLDEJI5AERH3JZMBKCR1XBGMOVSU7B6M4OBKII3DV9I93WTT0PNRPCXVYL008UGLR9MKXYRFNM1DXTQT7Y99KS6A3XZ58F6LB24CH0IVNTF85G6M59OFZYBWN03C1IQ6GZA0R9ARY167PQXQTZK4VC7R32U3EYWCWSWW3AMBHIC0DZTXDC9S8Z5VOKVU5UV7FO9DP64ZAE73MH6Y2U48VA1K9U89WH2FHMCH8DC5VNSPPTSSZNQ3QPKVGTO4RZS8P218FZSI6UJ25CKH00LFBNJ2EO2M7CLQ3NGB = 36#1H8SHUOZRTL0A8ZGO6UTIXOXYWUH0H9J0L5ESHXA7VJ92KRR35 * (-36#1BCGDU9Y8UH3QK7BFBWWTZ999XTG04D7H78PNTIQGFTW8T2SPBHPI543859CY3JSSOHNACU26UZIKFXZ8EMM2Q2HQHLVOSLLF8G0HN5DHZPLEBXUDYKW4OIXAU8WP77BGAKX86G1CR6M8SV8JO1JCJBJ6ILANACZBW84UU8A1DRY7M17UX745P5WR0RE28SB8YI0D1GE7T7BZ8G0TYIN8R433FIK7BZUXHXT1D4DY8Z6PQCAEKT345VYIAJZE4IP8R5DS83DH34JHRUV8IOMA27TI6Z1JZROOW5PD9MJZCTX27RV). +-36#TR7EFBQXZG4MG5U7D8D08A6QN7DRZEX2N8RZ4R0GKO27YNGLM = -36#RNEPP8PQ7CLG4XZBO9M9EDQLZNCEDW06GTFR6VQUC1D52IX66GVQRSZS046G77VF0NA15DXKSU4CD0TH1OJNIXTFJLOCGQUU7FNROG4QI1FKRJ641CDY6I536X1WBKHG9TE4RDN6ZE6K1LMT9XG97R4UC26JJM28U8DIB49J11KHYT2H9C39GJJ70430WW2ITES97QY186AN7WV6QZSGV7F7BKBFIV6YWD8MN89OG2FIVCLH32JZ3Q9EAVDWGNKDTMC5SOOPXZHIAJIBMCH7J4UP1AJOCI2FB10DFPNDQRL61B0ZO08PVTU8OCFX4M2UJGWRRB6Q0EVXSIQ2QG5Z49MVRK7L16Z3KHJ4BGVBXZMLCV5FMIG8ZZ6J210P3Q2EQ75PP1X42TN6IRFFV3FOADBNIYFV3Y8172IT1BGY8F4BIGDANYXH4WT6DFWZHTIB6KWNWMO4NFTXWSZOUCAX4CQU7GW5GB4GG7WL28CWKV3HFB3VUJ3L0A div 36#XGAOYL64ZFNNI5330X9GHZCPH68KXPF6EQKVO8FBE3G47LZ9BYFRVNUHFVOQQUSHZO4D20AJ4L8JTXQ5PSE1TO3E7RCQT96300T7D9R4MJX2PM7DU8G99LNPXYD0P2OJ14SI82J5CUILIRIJUF0NDJ2LWJ7L93BK5NBVX60XTR0X2BZ0VTADH9IV13JK3FBPF31GZM6ULZG0KO3JPSZG2H9A4MTKAQMK5EV6JD6TY1MNT7T5QDB02W9UZQHD6EODP9H64IE3BSW2T7BGASGBS7UAZQ8LH3SE3XIGU4CXTLMI9H82CNJWJNU172LELRQW5D0705HABT2FXFOQ2LLNP5PY9U8WPACBCXEZ5N3U1G43JZE29GBE1V4GLVJAXR7P1BLJYQ0N6OUP9YJD2HN3QBZM5N0XT3EWIIUNGJHXOCDUEQHA7CMJBE5BOF1146O2NIN0P. +36#159XHEYE36X84FR63DIFITUQXKFUNN1MEVC7HR8WD1RGDYPKVJ = 36#1W72P69JH3JTNFKGURGL8XWWU7JA62R9AY7562S2BFM0VIDH1IF4TKL4GAZTNOG64TTCA8P7F831TWUMLQDEWLXEECJNDICZU9E1VMB7SJD5U9FOKFN2I1YQX0VE9H8VSSFNBO43EHC1HQ3FRYWJOBMF3T9QJ11M3HEN6W4LWW6QMXOOISZQ4B942XT34WYNNYA2HWP1JPM0HUAFKXTFOGOXG4D8EDPCD5H25TAL8TSA0Z7QI7DZRSTIFESRB08TT0CBQMPEJYU96TT4P7YURMBQPFAE144SGI96PAT0FEXW3W80Q0Z7OO243XHE8LHK4DBTAYQ0O4NJU482EJROJIGA3CIHGU4VOF9B02SXQ7OFK393NE6Q235S2W7EZTIP6DEEYA div 36#1NH9PL5UVIX7BSJIDCIT0DPEWP0B1C76UAK2AZ9SU0IOT8ON8H53TQBI7DC07O9J4KX23JXCWD7WRY8ONJBDCUQYH9L8DXTJ4N2BG9JKBMSXGCDPIRNXEYMS1GI8NJTAPGEG2T80L3C4U3L62KTD885WFC7LCRXZPASG3TCIQMYZLYAO8WN0FDF3B5X6YZO7NEIQP08C51I7XWAROZR04JQWKSEZ0512ABVINIMXMZL2XNYYOVMV9IO0Z7IPYFZPDWXH5IZH98BF6TIE37RJ7JA7L4VOETDTV751RVMKOJZQAETORC1NKZ7O7Y91VZBB7RVDFN26UVKGB4Z2RJQPA. +-36#2TGFT167FS8H3A3TQXIEJWV4TVC9HZOMQGFT2RP8H120539Q99 = 36#7HANECB6WYYAA6JSPI61KC9RV5W03U2Y19JNP6ZD8CBEYKOPH1TA2T0AY4JXLB9GUWRATAWMN2GFSNJSDKHMGM5UDS015RMWHGJN1RJMXW1RXLZE1F3ER5LPL8YB2QU5HQEHVK36DNHBF46PV0A2HBSFMJ5I45Y1684VONX47QNVZC4KBO6BH3291MRG7VPY30X7XRA2V00M8NZGTUBFFS2KA8D570IISNONENPBLD6S5L8JI80MT4ACHYDF8NMUMEMXV2GI14NK8MKPKTLXMQTXV7HB007I1DPB3SP32TZKEA6QUUTM6CCY80EV58K2AJ0BC3GE54NXG45WBI4F7FXGK2NFRQQV2YS82SHYZL6XJCR58W8F75EMYRJQ8EV3L47759G4U5WMGDN93E6WTE3AJGG8YHN1KS9J9JJHRFKEVUGRM0GKXT8IIKOVA8G7LL0TZBAWNLD4IS5RYYFC2JET0BR div -36#2NJYRZCR2F7B80HV5NIDN3MZW1F0ZZGVYUAJV31U7HPVR1ZT1UAQWH53FX80K5JPFLS00TT26G4SK38953NMCX2ZPNHF8I209FTKGFNHFCVTAPDB494DDZONX9QBAQT21ODLS5YPLU1SY627X3URXQR9QTHP8BU2HPGF5XP4O3JBUADBL1PFPTJ62YJ7DZET1248EJ9ODWHKYLZZAXC19Q8H0Q2GJXH0Y0DU4I5R4W500XHKK2IS37GRNA6AMDON4CC6K6EG7SEE7STOXBAT0N6GVZIL7HK2UV5S0BHVVF7LB114LFJ5CTZ95ECPRXPECAB4RBUPUHJGITCW8P3SUWBT7W3ALQ9R9HVKGPMJZMUYWYDVHDP7TZETF14QC2TH2W227HYIJZ2BIBRVU9A95TZ47GPDT1Y3PGTJF3B5YB. +36#1BT14EQUS4W7UZUCEH77IK8AFRU2T7X4BZ89NJLLQ8885H253YREKHR5SJYK6B7EPFFPN2E10KXDTX63T2GLKS3EDMVGGV42SG4HW9IPOMOABJLUI2IBPN2WP5RQK524OXNXROEEZFS6D430L96U2Z02QBPAK7BMR28BUFWIRDNNEJHC5ELWFUQB380TI2JANNSHVEXRKRZDZLSXV2EN2KDYF2P6YAZMSRJ0XATCK2D6ENC3I48WXS88YD6CYKWKKHX7Y0S24JERSZVSYBCNZDWZHNTO4LHPKMZ5H05ZXWAUWRA1NG107VU3L36NLTZFMI86 = 36#1KDB1FK3W7IYK1RBKJIC2KV6XFUBHY1TG8WMC4GEANWPJ5JNRSYTTUH1TCUHK49Z0P42IP8ZRGCH1CL3F2585E4Q7VT3SDO7V6BTYRQ2766OFOUO46SCNSOKSWZI7FYPO6Z1JNGWTEAB4B5YTB27ULK4OQ8TN2NYQ3191GO3WHIH373R4O9MMXIRSSOO4MQ137T7TKMVWS511RPNTUL583CKTR7JC2BS7FRLW2AK5OK2K16PRZSK2158128QR44QIM86AGG2EWLQA0VM6RXHL3CP3ZLEUMLHG4BWUSUIE5500S8DTSKEFW0R3RKLD7DST2RX8RW186S5RAPR00ED3DCVHIZW3SC1AZBA1G2NEVW0X6RBS0FXK3XW76AZ4UOGJDNC2EHVEZUZBIX1Q3CWUBEPBCVGWZEJJ3XS8JPV1J0IQ0VJ8RTB2MN184TFT2INF3HA09OPMIMGMQFB04J20AIB8O1WTCSQ4UXUCMK3ANPANY8VXM0V135UPMGLRVUFZ2MWY5PX03PK0RL5G6KGTOU94WQHRBCKQ0 div 36#16G55361UJO1T94SP2486AUENR0OJYHK0ESVVC33YD2TRTSMPAHX15VSBE4WNLU4D4QMD8R3QILPM8G63CBXVEVMPRMGRD4RAFSEEFZ74AYS43KCPHFWDEVJYLIIUZSSEOYIF08VFVUTZVU32NR1JOPAMLK8NOY3US2KYJAFHFGOQ5390J8ITWUSU5ZGTKMEUHK1IV2TOGN87YUDFYE04PSC5D6730C. +36#33VG1823X2LUVAQ68NF01WZCADJ6KFHG5852VA5FF066KK26BSDHQY97BXIEPJ8BWPL895X5NDDN5DK9BJQUVO4MEMF0LQ4YQIJVB0UZ4O2GGH24YLMFRQUY4LVPWHWA4020XOUTJV9DXVL2NKWYJMO13PNNUHH8UQY6V858KV4ODXSB6Q9HLPG2GFNLOSBXRC3UFT6R79YOR66CBFQGQOLY6W4FW69QCWIUQQPYUBXE2U76Q1WQEDE3X5MRC39ZXI0HPYJ2PJ7EW3F04R0MFLCPWRRPBD71V0PKXMPW7IDZXMU2DO7QN4NPB1LM4BU7ESFNW0R3FN6IYWIT0Z6Z5HZC3G87KL7WIL81PZ6Z97UL6W2BIC30KL3D1XA3B2XTFA4ED43VTCEOJ9MQN972QG2OSNZLRP36C4 = 36#7RZ547O7TUUV7PWM790CJDDPKD71FNLFRK28E1KCYPNIQB2SOHYOUZOGEJ1MA6TD4G03ZCN0U1HUASXSF7NP2ASFZDLI18AW4WZ0TDX7U0QVNC74MXZ456NEW4XOEJAGSUQBEOOOPM1IUEG4N391KIBA8CNRZOXDOSXEWKQWB4CURBVI4QHTSPY5LUOV7Q5UX0LEKH1HKTVEBWVELSLBYN92K4RF7IVI0E2P4NE4L32T1M9XGZPU6AEPL30NXKXC2RJ6RR36QGP8MDNDVMFYV0JBQ1C9RXF75XYOXSV4QEEFAK5GPA2AC03A6W3Z5S1DNG6F59ROJE6VFH6P7ZV35NS1BDGD9I7UYH32Y81UFK3N2WA1PSW7LJWPKFZMW8OKXGUII9RNZQK2IVC6HUEWX3DH28RZ9H8P54DDW2G1B9QPOFOA632TCPZNYTDJQ8PCTVLF8Y9M7GNOAHN53UC div 36#2I3DYWHAIOV0AYKRJG60H3LBID3W23C9FV7I25RWRCQHSJ80PL. +-36#30WDG15TYH51ZSWFK5FGMTETSKSYVDIOV4HXBMREFY0Z6YOZ89T7CKO8X9IAY3THQH5UE823MRHKXB670G8HHV5RCDCXE2RCZDSZR03AMZ7P454PVIAXCMZZIT6D5B1UDL0969KJEBY5WCZXR4UBXPHBW01N654DM1WWQW3B5F7QZQRV0M33YTD2OQUKR = -36#2Q2BBCM56UQL8MZD5EI6ZNAT6IVCQ9ATDYW2F9BPFIRL8TRJ6QAN22YA4I9N547M07KK7F6MDYVSZTFMA5USZFJBQIVCN8ZLTNTFK8UT1LONICMJYN3ZPIFN478VJ2SVDYJ90AWGJL8J9K84YWAP6N6GD5FF0ER29EDJ7UASVU5MX2ERDE1WP1JOGL77BRD5OYVTR5HS1LNSZ41QA5H2JMVPLCRB1PDQJDE0U7RM8MEPH9 div 36#WF1XX0C99D0S8OMXRYPAXCEJMUI4J4TFW6RDOE97VE2XBX9P3. +-36#GK6M0UOXBHVLDCWGBQ0CNDK0V3NS1EQIY2DMKHYF4X9BP4ZL236VBKQLNWM0DHW2U7ZS22BP24HKG5T94KKSDBGAW9FZFLFNT2762FNJKK93DXAKD6HJBAMZBX2IX1KXYGP3DC4AZ2EGPS3ZKW7FEXUQ6V7FC2BWK7CLHBCDCRYK8LDAT7G58TRDYBEEUUB3EPEK27E7A2RRF78N16N404BB0DHE5ZPGKBQ1L08D3IP5RDNLROPMBZ88DVK2NLI2DGQVQND61SMCQV2T6GWLL2ESW65OMI9889BNI76CVB9Y = 36#WX2H1AFPFQW36RE1U82FVECM3M8W38MKAYD8EBJFBKR2IOHH0R8J5C5VBM52UWI1KUGYXEZ58XU341NSECXKKFVQ2T27U8QYHAB0BFJIWDKTI0X2SQ6YE01BEN4HB7EYE7EDF8NVRW28AXHD1Z5HN0BL15MJP2QFUFHXJH8404U0DV7B0L3Y74B6PD89DXNQVV6L6R1NN9P3OP6RCX764S4124LU0LUJ09DYAAIMJABXOBTLRMY160VRTWPTOMV6O91RM5E5KA3A3RVKBTDHE7CEG4TXDCNMVCAAGT9LHWKKRFZXVB1Z56MU4GEML1S6Q1VKEA1EC6IMA4YLJ9SUQNK9U31DW div -36#1ZK4TQWS4ZUJR4KO4NC1JUVRF86MEUNNK783Q4N180QWQ337L2. +36#7T7ALYPB9YHR86716L3NINE1H0XNFP6JWCB5OWGG5A5LW13OH7FQSSWLQ38ILSI2VOL4VH20I9K9ND7EJYDWIHLV2UT94EVM8J = -36#4ICU37914Z1SZP9JD4HV8RLMQZHIWBCSA6E63H5CPDWFEFGW7XW7ZF8BH87N4EX6JI54DAVE767G8O5F7DGKL1SLRKUYSI5O82GYF0SFOJQTSCLARPQF7STBEOU7FGXI0IOGLKSNVERRAI3S2VS div -36#KS9JG6HEQ8Y0P8OSCPHBNP0UDBHRABYLOPSU2AN4H0USRPERS. +-36#D0HYQCYPBM1JBRLMAMZCI09Y4JYUCZJ7HR6OZX9NEMKNSJLSGBXGXZW9VQV8UCWMGOYPU1NKMOTG64P61B9OBABYJ4SKQFTFFFO1HVIASJARR5YONISY2N47ZP9J5WUG9AMT6EMG46P7NO0ZB9ZGZW90XJNBQRTIVATSRMLPDKVJR5F83M5BD172H94FIT7K1EIDZL8KXEGT9T5Q27BMUFAXP983X1NS7HDHRB8PLKYSGKI68Y791E3ELFHE7ANIHUW6MGWNPIJY29CLXH4P90SLS0L5PFH0UKCUJNNW9Q3WRAMGTZD6463NQYX3NS8EXX1GTOCA44XAK3L2XIN564DKGSD3XLV5TXBWZHYCH9RYDVMLU8Q3V2722WTAVUYFR2O7S7S5YEXP5XJB61B0JY09DTJL98QUSA1XO2MEMM9X66BMARMK6SW1JDAP833HF32U4G5HUA2VQU4EKW07U9TUMC8FDWE7UYU49SB7NZQZURXURXNUX6Z2B9S5GT9SE46NHB20HKA0UW2WAHYF96C5YJM5OOJHWPEZ9D69050XG9JXYWTXJ8WOVQHAZ5BH88I0BNRUG0GZKZ8YCL8VANZSR7DYV7O83GRDQ3P6059SK81G79JDP146R6GJG3MTFG5WTZCV1RI5 = 36#1ODG1XULXK2RMOB8I304ZGN8ZXOUC5Z87R8LX068XXG4D69UXSBYXC0FZOYUXA2228R69LD3DS5NEAI4OPRQLTMU8GA4LBRICYQJ16RLZQ7CEL8L65P3A4FBSZ08W39QIS7696AS8K3YTX72ASF212YE3GWJPNN3IJOZMI0QA6GOLJNN1DVEAMY5922XWDQ7M5B1IA6I6FY8M7PI5AF3SNWKK7U2LM1Y5I6CKT40HNCTNB2DN02GHQ8NOTDMTULVJTPCX363T4ECU5WUELFP85POXMS34E4Y7C6ZHC0A5LXVB5DEMHCMR1KU5K6E0IWWG5JWZDMCZJ4MPFDNSE8REZ0UCWPV4N2VO9ZE75DU46WBS78EY67T347K0P72KDD297WVJHMWCXOAX3M0TYQPBNBAMYF812GYNCB34C6NTJCXTSUHMF83WRMP5PX84HEFP6UVRHOSNN0HMPOQFXYNMQTZNZJDQ7UCSTDXI2I4G6HV5BKNTCFYJA1E9D138597JA6U7K7UK03OQVZAQ616P72VB0KL6NOST47JRLDIWSA41DVDA570BJF2CCR9G9FROS3RXP1GIA4CQYF829BARV7CV5GN * (-36#7RCZ2X60P4I0HSS8ZETK697JBCIDLMCT59D4X68T5A3GUFUYJ). +36#1JIBXPOD7AG1EU4M2O6SBOCUAZFNMK13J10L65FUPV9287GC2M3H5U6O0BN4HXY9D84MIJCBTQ0HJOLCIKTWA7PPPL3T7BGJ8TDIY7DPN8SU3DV5YL28H4HIVHWC5N7O5DX2IVZHW5H5OZORBB96CL9DKHBAMCRLZ9BBHN2B7YCX86A81YUBKLNNOWM0O3JPR5I5BTW126I5SYGFYOQR9V6WF412DVT8ZC910RY2CKZKIYX9C6KO7N7AZRU02O7QZM0Z05B3L0H7CZFIQIH69QXYPQMK7I959LW8H9I8UYVQFT0AWDPJYMOGCAJNSAFCC80WG90YNLHYAEED22Y4LXPCQPSDKY71HM1YNWACOGNV2AFAMY8MIFR6X58J8WHT9F55ARMYX0A3N8JDAGJSBUJGMFHXB3OXRCKQN = -36#OE5RGOUZXDR5MBKJZOTYUF3P7OQ5899IOGLMPF5IGB66PIWNUQLFSHJP8ON0YLNQ3YNR6B5XLVG6OS6EFGD4IX41US9C7EXT4EFUY8XINNGVNKSNTDFFR469WSBBT5N0XPVEW55I9IOYH8CHRDRSUN8BJQ2CG544AGAVG6GH8SECGM6ISILBC5A4V8LBTS42V9BBU8OZNRRX2V9FO7NY67LOSA9A1ACBKR99GJY8OIR42Z4GFW4V4FUF3S9B6PDHK3DSLQGGZHAN7R2NZKFAYF9CBHBYLXSULBKD6XBPDALDQBGVDCTDPMC5VAIJP4KFY4MKVV0ZR8V8BATLXHTODPG9I9WAH433MWR5Z3DZ9J93J6436M5O7DH8W4A1NP4T7650L4CKPLM8Q0ZM404NPHHG3T6P5X4SXZQ7KHSZ9AQJ45ZN0ZGHX73GNWAXHB6HQKJ9UG42YC4QHXXKNJKT7 div -36#FTITLGRQDH0AG9D01SFQYL3KWF6JH2VMFWIMOE6LFJO0JAK85. +36#2H2IKC7A8NB10CVU7XG279WYXZVVKXXEP49VMFYZG84YK2Y4V8 = 36#125T0UZF6492BH08EQ2BSM70YP57XN35UCNV7F9C1AXRGXA7IAAA80YC300CYXMYYW132IYVZY68GQM8N1MC2A859KKX06Q279HQPB3IJC2F5Y243TKJVWP79SNRULH6YUJZX2XKZWO8KULJZBIMCQDUEHOHI9VNPB63MT300CHTWUPM2AAPDEIWCFHIOEMZECRF9VDXKMVQIQXFW3RZKT3AOMDAQCRTELU3BKO01YEY4BLI8RG6AHAPVFBLWW2BAJFZEESYU83G365DIWHCFNMFZ72JO8XFJ6TW0AJ8WQM6EK58ZER28AXABNOHCUBV06ZG4YF673CWK0EJR4D93TA08IYMY60D94U3IDZBNZ0GOB4FFEYPUCAR88LL3R5Q825WLNAPCAOT0OK5YTDG7Q5JB57DL4IY01GJYDB5YGEJIZE50NN4PBT62KJCCWKXOQBZLEJ5A92K div 36#FF9E5KVHXP5KBGOVFMPBYZI9PR0DR3V741S7VL8C59SN2ZOLGKO4DFGM6CGTU892VR26UECMVBPSSSAB02UU27BC0JF59K07LXBWEE1DCYFC0RGWY8RIAR3FB6AQM16VAMFTZT472Q5VBAZCI10TORONKRYE0RT3S5NE99BB94UUDHIGHX1J2SGBHPBPJR786DH0KBU6JEFPJJV11A71KUFT6NF1296WQVYT4DQMSTN030IICKAZ611YLA4L0TFD3QGWD1ZGY30E3V2V8RSTUEARQ60B30OG4X1EHU8XZIZ6HV0SJ5VBILFQOMEVS7JH05ML5HPEIWK69REZN73AWF606M049DO1ZWYVA8NISWDRM4YBN3AGOBMI3XQA5RGYND2RN92RW2GMNVJH3H5SRK5VR7. +36#77PIUR238JFIJVNK3HKO0QH9WM327WVV6UWBO3P71CZBKVFSR4RHLF9GJKH5VJE7144EFY5F691W77VXBMAWYLE0NN21BT0KABC0XPZM6VS285N46PK90QYS6P2VPSEN11PQ7OZAWCXW74ICCZVJ = -36#5FCYGNCQ8IQ8ZQIU3KIZTKV191LHD3TZIR7WDUA3NPF475L790JJZ0YIS3KBKTTKYYE7O9Y8WBF9F8ZJ6CMFBRTBDRTEP5GW1BIDHO5S29M8WZODYJGC1DDMPT60TSKDZOQ85QA8ENQYAJRYEYR7ZRQ3FOY32XZDO52AFE1HXP9N60DA2498NG08AVANM1OKUDYJ4 div -36#R2VV9L0BIXMFTNUL5XY53U45J5YJDOV6HB1VOJIA948QWICJ4. +36#6E4WXPS278TSYE4AD0AKQVLHC2Q7ICQ2XBKLOO4SMC26BWX2WFGKNTS6TS8WFEMW7X9LSMUXQTLZJXF9AKJKHMMI8FH6SFFVJZEARE80BKG35FA4F7ZE0TI7FK929F5PU49ITAHUCASB0LFGO1CJE6RMWT38CTVJNCEMSZ2VXTEPT8DEITC0CDRQGECXSHQ65RM3M1OZW3DDCIB4MPYN0X8X42CXVT3AOPYTBOBJBDCZDNKJ9F5VUFXODZ2LYADPXYCM1P1BDYAVD4F6KM9TRAAI14YPJHKRN7EWOU4BVAHG5XORZPZ3WJ2YJTJWNFQCK7VJ0I5F = 36#G8HJFN7I0PWWY64XT1V0PL1MLAH9BTS07U5HWZGKQJ9L2HDS3A1ZAZXGU5TCJSQXXRGUSGCORGV1CWWKUSJZ2LMIB1QAI3SYVMO49KZ18PRGWS05D8VV7480KDC4YSFG3P0DTSKO9G5RNSWIOFE6PUQCV1TLWWOT53ZRQW4FTCKBTDM3OKWB8D7RXPAHSGRS2BOC9AQDVNBWFQ2E0YLAWD150RUPG7T9WA9BRCT72D8U18PWPQNEUQK4I1MJ1QQF1128R6SFQKQNGMECZCPVA8NH37EHAO45CEHUNTRVWKZ3QZOS2HJZYXXXV599TI3IBGDTXPKNH8CL5HZL8AOGHB1A89AUV496MMX1H9E3UC6XU3C3GBS8Q0WHWG8TVV29TGYUQVDB1656X6O7I7H2NKSXAXJVATQTMRKPTQPN8AALD1ZSFA6CW5MDJBST98ELAN8P178CJCBOSZ4HGTZTAV9L40LV67T1PJAWTWYRAFU593HCOCQLZJJX3OYBZAFIVQCCR85BY53ULZF364KBQXGVP2MBC4WCIOWUED2GA638VXAF7PPRRSUT0RKDNZGCB901EXGHG97G5OWYCZN2H6DU03PKU0JKMTK6HML46RKYCJHDYY3ROZPO5BU3PG1B91SZG9BPEK2H8PPBX70AEWHPBYJOHIQKH344D7PX79I8NX7GU2AZ89KKMEVD13E3BA5TP6TJHUR1VVRNADSDXXEVIHZANZ1QAMZCB5QOERR02HM6FYBERUWP41UQ74RT9NXZO1LY6SN6HBL626PTEOAS8M6T8X4W808LNBLD51KAYZKP0EXJKJY8MF2FS5AYYYR1501BKVMK8Y8AT2604VBPHYEC41QFG7I8I5SURDWB21WFUURQD68CSXBA1ZCNMH5IP0KAT4CNB0MCDHRHIVIPY6SQJO51FGMVMAZS9UFPZACQKOJYQSBGRMFXI8KJUMLFVN36JLCOESHCMTY7ZCNZ5IA83TG94LSN3IVPQ38E7ELDHFCR30OOQ1Y1EIFZTV8OTEGXCM3HSEPJI0UACRQZBBCWZM2V5M8829U8HC3M8ZCBND7HIF8W69YD609Z1DD10S06S3G18MGGQKQX1TEL2UI4HIAC2W0A7VZ8BE3FPT5C7110Z0CWVS6QDHD4ZDLA5XCZ5U1Z2R80CBPCMIVENHNWPNAJASUP8JQ2K9ZUPRJHYBGCSO1VWBCV74LC9BUPZ1LYYC42ADQLD50V0V0EN8YGNXGYT818ZUDGS47HHLA4GN24NWO4C38ZPZQXKE3I4OMMWQ0VJAPLRG9D85WBT3MDGVVGDA19D1KV9DHYIT9AITO4P0ZOPJB88O68PL7ATLPGLJCBQ1CEGGUIFK0 div 36#2JFI5ZBTTQE618WTGRB8L28YVB0CY3N6UPRB8SRF6Z5PANM5LUUQR6JEEZJUEB57YTEMDL4I4EGS8DAOVEU0JBJDYLGWQ36IYYY59VSJY36T2DLU6XNQOZ736PERV1IB8RAHTRFVNPV8HKT4GLW9SMTD3JN4M80KMRXNXM17FGGJPCASR3NM8UQ3RCCQE6XV7A94M2Y827K4F97E2DVXHHEGTEIVNDWKHTSOWQYACTA05VAX1KBXG4XMR8OWN7YHTT5WFFWLPO0NVJ59RYMJYAIMNA097M2M8JOD8G6A98VK9GMPPR0HYQSRZTV990QH85DRU17BT6YCWW1KQPHG7LQZBN7ASUKDG6M5TQZKXEX4MJQ97R0ZRAWJBBUVHL5ZI4MD0MFZOQ493LDCGB9HNVA5TUFQUBRGT7732TURAD0727Z24ISCD0B02THJ8MDP89DEUOEDGB9P27UPKP2U7QEWLAERU37QDUJF8943D33RWZ02TIKW15UJZ54JG8G790RRN3IBCUFYNQAW6NCEQWN0JVO3KXINVDGJ26VTWJ83D0B2JI3VX0885VNYM40CXZPGWU1WDHCLGMBJM9MTK61WIOC3DWISQT9RGU29TUYLVAMPVMUQFVK5EFVEJ80EPFVKKQ8FBX9VXUUD316P9F1HTOACMPAOY3A3NVAK3P7RJO6E1H7GM2BPC8D6SD1QTEQX7528QW3U73J47M6VZIMA0FWYUC7SUDWTT2Z4WNP47OTI6PSSBAZKXB82RO1L3ZRS331ZDCR5S4NYE4J3MMH5DFEL53CN9LBWXSH3K6OTR9VJQTZS5V6X9IKU3U8HN9MOIUQOYEZ3WUKKZ0Y1SNRYCU47L5UX87T57HLV3KW518YVLNQHY8U9LQN37UWV4GFJH99KXPUPR0QDR8ILTER4Z6QL2ULSUZKFQRANZS5F8FHW7QEFF0PGC7STEX2OHIJQ73VAK6AJVPTHQEGIVOA7F666VZCGQPRH10NTWIH2PCRGQ61111WDF0DETOJND5J4762LWW9KLDXC. +-36#753XAJ9VRYMYS9SUOT1QV2Y3W9W1JC89XQXRYV0JOYBXKVDHZPF5IAZR675SL51U8IZTFK7DI6RO5TDBBNP3E4PS59Y1J9XPQMS8DWPS8IXYQ3T9OLHDGBCAC27H5BFSAUHUG4XUYSUE777V04L1IAGIME2116JVBI1J1HDBMXRVISUZJAZQMP395NJAG8N4 = -36#1AKL2YFF95PFIW3D4TI88O0715L9EGY2M2ZYZ0KV66X8MAUUVMFN7WQBMYQ599WD6PBC1YVF2NWXZ01Z04B0ZTV3H5O822DTBAGQ6MZ8SU3DFKCVBMYJST7TDWMIVHCZXQ643GJ3WM3R0JJH1L9B4DJEQMCDDGRM0PLGLMZ1NQ23ZUCIOBB3OYR81JTEV9HKJZINW981W4PE475AOH9CGTZXLDXWXC4G5LRVK32MCRFXNMZBPH060SWM21MRTG7VQEKIOI58OACQI6EIL45MLK3VUODZR4N7RFEKTMVVTLTMOGV7I7H37GYN7DZN80YXH6ZGVWWSTFK145SFECBBIQLFNFYR2399TKSCXUFZPNGYFRQN6RWRMP9FHST56THVNUMXNCX1IZ4EO94EUK7Z0SEWMULHWH8ET7T9YPDL7GISSE6T2DHM8K4FVE3A777DIP08B0I5BXV1IAGL8ZH0OXBQF2M6V976WEKRFKHHOG4Q97YNRLE6AX7IAYKSWKIZI73R331TETOBL6BFZ2P592DJQN6VHSWNX31DZYPG6JP0N7ZI5KCQ9HSCR30C0YJ0PZ9SPQYG17KL7DJJVW1S div 36#6IR3Q4UJVU71OARJBCUVP3TWL3A3JTNDHH9H82Q12VUEUHFWT2PJQVBIA17JHCHK7SN47JZGT2RNC4X21VWH1QDMXAKBNEQ7AUUJBLFNYASDA8KF6EQHR39BREOA16FU78NKH4JJYX5HBZID5I9H0IBPA78TQ78AGMNXP2WC5K5O41SWF1SIXOP7M38IEDV8UUW6V1VDN7HPRR158S4V0OM0C50JRQWT6E6AZUIFKC01M86911QIK2A5494NZC8QV5SGAMGJ6PLJ6FYR2HNYUGM8WCOJN6Q2861KLTX2IJPSTQ5U2SMFQPFCMXK3OPID3PNNLTE51YTELDR68JP4M8OXSPLUFQQVZGQRA5HGEO590ZU0Z7PCP7JBBXUVUHRDOZJIGDKXVYW1GS10F0PG. +36#9YQISF1XR6WGD2UXCJW9XP5F0OW6N7X154HWBI9X7SVK906W4XWXN39LM5CEAPPNXSZMZQ1PSRHG0S5AJ941DYHR8T2E1TXWVXCIP2ENKK76Y52WB8F4M1Q61F8LO94ZGJONABVPJEQRGLH20YVERWILDSNLD96B3QNIE2P1SXHWCCT0KQBAVCZUS96QI6DVUO7IOKGKKZBHIYCUKSZZERH43IIFCGNBA8ZMUAZQ8CU1K533QYMMNVGCEWMP17HA5U37S4EC5LQ780YO9UIMAC98JYVBN0EWGXVTX3XHZHHBEIBT9DM6YJGIW7I3MCONXRXB7AUBCEPFCNBE96OEQW8BS6ULV8BE558YSE9EHYIIFI50ZHGOID3LHB6CK57DUREKMWI1IAXKQQTA6DMWOJ6SMOV7ZGTUNKQ15TR82WY298JNG1WA70BI602EA7F4MXF428G3PP0LBL31ZI4XT8FYAKXGQ3GAHFIZ5TMCS7NWYACULH9V8TJ50UCDZ1HSW9CNPF8T3IIQG5TK15BQTQHPO4RMTZ20WZPVB7PVENM46RH7ZUFPILWE5GIOI7DGWX48QVWSI5WXBADEONDL4OU12EE9Q5XRQNS05Y5IF49ELX2LDBMKJOY9NSXMS07NOK9626GUHN4MG3DL70J6AA6DRI8FEX4TAE6XNUQ6CS8AUZP789PE8XLF8M2NRIFQGCIPAGD9DKBK8PKS17GSH9GYLLA7YSTKGT0EZREEE2A82NJFN3ZKTN14HFFG8OZPO0IPXKYXN2WVO1K46QCJMZ4HDI8MSJ1U2VLBO43H2URTJKIEEE1OU6U5KAQYR9BUGCY2BN = -36#1LILAIPAM7MUMX0FI7RWVC8GQ75IGPX6DPZTB779AZ5KUQZWUZHGGDP4GTUJZ2UUGKMC4TF72B44PS9CGK0B0W1NCFMUT02ZHD3TY754H58TEGYY978HAGC7IRUCP1KB9PQQ3ZR1E60G9XKB0GSVZ7UTJV9NTHKR3BNOG5ZDHZJBFCJVYSGNQV4U33RVQFO3D2V9QF6MFDFUL57N168AWBBYJ11A6H6WOINOG1I7NZCF1TF4HX3BK9HV7UMJFQME7J1 * (-36#68JAY5F2735X8YWOWLYWDCOUD7RZS1MW4Z97T6C5VOJUGDS0LW48Y3YBS13I0CVARFJIFWIE6GBLKBLWHNLFCC0UV3P0IMVLN0G5TZCUYJCVA0TAVUS2M4LVSQK8UZK619ZR6UODFR2I5WEK169XUFVI5O5EUWI5Y8RS1HEMS0BQ4589IG6SY6X5MX9OZGIMBYGT0W67Y4HWQ8270KL2A3UWGTDI4HXTWEX5ZU6FX1GOLU1RQGDKR7ZYME54XW1XAMJ1QRXKNHARZAL3N5X5HYM1A87S6OHH8LWJXXND1Q1IE5YT9T669JQU4KCX4LH4DUDXZECR8FCV47UANRAZSJY1R5P17NXR21NVO8QA2PMGNEX1W077R57QCKUR7CI56B3S6WSYEW6WSAD6E2L10VIK1YFKZU1FPX6F5FZUQMSLTY7CD3TGI0H64BVSBH094TCBOGXHLQW4YA2025FS6EBMDD637ERJRMPKVD0D45LXR25VVD0LDTKZC0AN0BQIIJKBQK46Z12GL87BK84EKWAUSJ0672GVOYNK8PF90UF1PLQ2V7ISAJDCYV8J0UAJ136N). +36#ZHLDFDFNRMEMZK8VY64C5V0H14M9KTWDWN06J225H4J2LWMEM9G3QCRUQ31YDZVQO7EJYQB3FE0YC0UUM7KIMJZB50O24GUV4Y8GVKX4796IXA54VP9EXT8D97Y9B58DRCEO4MHMY1PNIHPMVV14H8Z4X4SOFEHWBCMUORNGS6YMADGAL5PF2YJX0ZBZMBNKIUOH8WX6IRA0Y7ZOE6EZI0P6JRYH15ELHF2HZB2L87RBQWATRYI6428VOI075DL6I60Y9IQVL54BQIQ94RJHFM01E9N0XY7D2RL9V1ZUC02KD4XIAR7KVXMZY0514MJQ38RW3KQBOWP6PY30HN34JOW3DNYL326EU8SN83LMN045PS6FL6UCSWLSYX0XCWS27JMM8ZOM2JYIWNGHQS1GP6C3EOCQL5WHMAO1ZCONYR9P4Z8KII41LD479C003IT22BTV3OIOCFBSQK3HVYZSY9DGLMT9A2Y7KYRR0VUV2RYUXMJEGU8IJU5LY84UW0 = 36#1P1GRF5B4RLN19D6MMTWI3OYCQIAT4HKFHQZG8SVJZCU8FAT7Q * 36#KXHIYB4ZRQNA7UFY34CZ0J9FPEJEYWXY327C2HDTOW7LDTP49PJ7X75FX16ZFVCNGPT2XUMPI6DW73XXQ0428C7AQCRWX9KN8MRKLYT6VTKFX8BI52ZP0JDPLJJXHRPQPLUBI4YX52MWTKXIM93DIROCSYWS1BMHSVJH4EE8ESQ6AKTWTBF60X1WO6V6Y1GJDOBROUIY5QQRJDSNX3Q156P3Q33KOCTHA5E1YTPID8G43KHG89TQW98CSY2EHC2SDRHD56P67VTV98SCELCK3BA4FPHZR3X7W4TFS46QZ4DT3AD1DOXD1MOF3QZVYI5PPHVET9U03ZZSL4L2XFPXNXQ8159XCVOP4U3UM9J4LGW7MM2VUUEVEWOGQIIMJEO1WVZJA4KUODB6D757V3JE2COHSJAWKXZP0VCB4FT9O4DFQIJBY2EKEF24D3F897ZX6RPXEG99L4040. +-36#695W23CYYD2TSEQG4VYLFDFVK1KAX9R0P6HB97WGWSYSJ9110GN76FNOQ22GELL2RNN4E9GE3PFJR0837VCOX6SUC2GYM25HB89V6X40GWS79A36WITGRF7ZU03G8I5ZHF42V3I3FG0LBMR0H7MRFTJ4BG9AV2KIDXURU3OECRH5E64TVAOHJVNBN512JF1G8YKKHW6MMYILT653Q8BO3739Z0XCL3NIL6UXIVS44L6QQ2TDW6XMG7XUCGN3NIA1I273PC7AYPB6MIX7N9OLKWKQD4IB24HLGJ2KO2YNPSPBFXJOQ5TCSYX7SR469WSAKNTO8QU8IECKT1GGBRALUFYOS0QSYRS2SI078BHONMNDQ7ZNYXHMWPT1RMK6GPYPOJ6GGK8MMFFNY7GF4V7W4SANDALEKQS0J2X212KPWJ9GXWZWDGWMP9IMO7H3R5Z747EAXA1BLH43CYUJ0NCP6CTGH76916MBRBPZRAQWP28EY8FWACWAWNJSI5OK4FSO16YBXP15OI8YPPETH9ESS6FUAB6XBNJBI7W8HI6NZCAGK4ADWH48C7PTUDZJ09V1DPKD2XE5H69ZZRETQFHUF62CYG60IDRJ95HV0JZSB68UDQTVEVHZUKDHGK75YEKVOZP846PXLTJ9ER2LPGM9M1NE8IPI94JOLVJ0KM79BQ1JHGV0WBCPIHM7QJOG0 = -36#2M26UKGWO9HRWXHJTWMK49V3EBKP6B85S361THY59IF288E0E8 * 36#2E6DIT0CYXEB9L8FM93AT55K4RN9IYE3VVVLENJVSRA6NJOS943COLLSGZ8IEIGV6E8IORZPOVHN1PAS2IVJQ2NWBHCQQN5LA64JXQQAT4MDS688G9YRLEND13LSHO3VYRIH4UA5Y6F28E7VMHRCS41674WRM7BDKMJLB1PZUFOO0IYVDC82UAEJY5I3Y2ZPJYSAR2HVDYF1N9RANGV53OOH4UDVOH73827BRJY3E6XPSKEGM0Q87TXIM0IROZE38HR6ZVG67T6WNHJA7BBPJI1ECAEJATFS2RRVPI6LUY2L0YQ7AAVXUJ9I3JN6B7BV4YFBF5RDY5DDDL597CDAKHUUTGJW52WTNAXUDX1118DS96G742TTEOMIR5URKMUH1PAI1YMOXUMGZ1BE1PED1TSJCHTP4FN2AUYNW04Q4LSZSIY5G4Z7FXFV1GRU6ME6MRIDP66OKZXOKHCX964M8LGN2FH4O7WAZ4M49NPTN6LHEBIM1BI4RKXWHS43VVDLQPNWF2SZBRIS86WL4JZNE38IJQ4D30OC2GEBE3R2QLE1L2K7MNMSBCEYGPD33AFIEW1IKR98KMYPWZE4E6OOGR9A41WQC5DI4QHGJ5HZ77FZS9HAZ6RNNHP42ILJPH3MM0Z4YO4B4S8R. +-36#6T38TCSENOWDT1UX7JFG1O153DKKD01NJEH70UQOCK8Q9AQ2BCL2B2EWI8FOZEU9B6IJ26FC0MLAFFP1SAPTBN3KLGXAWAT8H954S7W3BK8MFICX1V62NF9P32RJ1BFVEJ4BX5XWVF3FSF5RMN41JJU5VJDS092WXVMCKO5KIO2C8BENPCAF10W62QJZYYV4S0FSVQ9MS1CIZ5VNWDLQBMIWB1ZP5LKXXIFD7UMO5BBRAWRID7HG1NW360ZHUJ5NRFQ96SOX0V67CQ21YN9QZA1YJPYRPTWI7OKD04IIQTYXGLTNI00H6Y1MCD6ZHXO891N3R9OG0258R27K949LHIK628MIWR78SCX5JXI0MOVQLMGTE5MYDB7700CM6GN0212UT1K58Z9ME42LJZ35T5GC4MZBG5YE248G0B9V2DX3TB2A6JF103SJ8GM9EWU53 = -36#57DWGMN6T8QFXVHI6756CYZ9E9Q7Q3RLCOTYY44EXRVG6GH54Y8H06C6U188I27DD7DP6QB3DA1EH2BGVK8ZANIY6TPRDQF4P9B3QLHA73Q5OLIT5RRUM1J7I26NYAW7JF4A8LFCTEXKFU7VXWXD0GC1WWZF8GGGS4GRLYXQDY8YRBMXNA0WO8Z8KTYCZQX44IXSH4BZ3TFUYJSEDIUB2EGKY1Z13JIBNUW8L8M5LD9PATUR8LPD1FBXRHV9GV75D0PFMPLI0CY8HCE9R7L39736N1KUFK6OABZS2TNKP8QL1YEDUH57JVBMCZQYVJO96FTMDOFWA6O03G472G5DG181DVZ1CUC5FVBCYFAD0VR4J2BU6789QBI0FN3WPCC9RMHITYLI8Y7U9I105TMWZQYR25MNH7UBH9RPD2K1CVTWJMBFT5U4V91NUMLYQR4O47IC6TV4GBJPTMP6GCF9RUSE4QLL0YDBRL6SPPG7IU1MGELCL0 div 36#RIVBIMGHIO8CX1C8JR35OU7RY19OIMEGSN2OJDMGBZZ4O2WJ0. +36#2H63QUQO3YDB5OAID7Y1B4GYFRECH04AC5URSJVR2EY1PIE35CO41RNXXPYI3F0O3Z4WV7NVLFB85Q5TH9RRH7AU8I4GJCVH4UXU7K1KKRUDJ1BED2LYEP690OEKPJPLKG47OGQ1ZKX6FXIA482C21CS89FSM22IR02TT0YQF0JSMJS6CDQV8K1CDG8ZT1F3CPJ5WG8QWILE42OUNEIF1GXFBRK1IGVMIM6CST0IUJO7OZNXBW522P7PZDIN4T1C81HYOI2ESP1D33YVXBIWQNYK9H0HELQDNLJ1UFCNQLA07D027N2VNAWF7RGBB83L0AXD8PGNBHKB4SQGRRYXX8KO3I6FM6ZNCSVSL4M53RWZ0FYJ1EMMH056AZSBYR06O81CK22193HZMW9Y9Y0M37PUGULV96VM3JXZ2UUT00HLGOFSWVTHCFECDICN3TQMHKMK3Y8CCS1EQFHF8DIT7984 = -36#7TDU0HGAJU793X429BL1X83GEQQGILQUI9LMF964Q1DHO79CKH0OMFNFUOBMLL52LYDRB70V4RLG9VJN80USDTZ4OSQ00GIWX3JYOGG61ISQ06Q49ACCEYU2EJXDNKUFSEIDG6DOI8S9NXIGS12WFN9PZY6BJLZZ0DN4N13WDMGE27VAET3DF2UZBLL0DNNIR1OBUDW3HR58K0UFQ665ZJVZYQVPT7XEGFZJUUHY0FTCLSFLOA2I0WZ44G7FFQG1430UZJ1M39GSLCEOOH83P4BD3LIBV46VQVJ0ZKCR8D120ZPUFFFK3WW3UJJMCVH70BODCGZHFCW9TJ0P6DQD6UUO643G4UQC2H9ZYQ5TCKE4HT96DKWW4M6PRONLF6OPTRA3Y1CWEGFGS7LBZG68MEU74NX9XFP3O3KBJ7KTFND7URZ4RTFVL45Q7Y2G31LSRK50Y6KCBBJAPYT9ANI7I5ZWFAYVP1HE3HW0XQNK2VE952O9XS27IHCHBBY5P7Q5I6T8U9CY0 div -36#35LO3LX1XT99ICEWKTNZ2QEE99RNIPSC718K0J7S95IWIA1QQI. +-36#Q0T2MC0NID17IEGIXQXEN2M0C4PAFZEA0KC1KO5ZWKSN3WHIUP65PSIKA8QMLKCN8Q6B8S6LHP3T69GLQ37WQ8NWVKCCRRX8G47TZSFDTA72JZ3LKA424ZADQJ91O7KCMJV3K01B8WXKV0CZAGR49GCB6BFLBFM5C5YIFS9JWF1JFF2K7CYYVKDS8J577WDZ2KHB3M9FFHCUX84Y0C3QGFFQXD0ASX6CAOXYOZ41X0B2OAP81QPT5D6CXY1VLKF1NIVHYF7M5CKLA08TAITHP6E9UIEQGGIYVF6UOBIJ50YT7FAIED11UQPFHMHXKV1YYYCEQ48BB34AN9ZKI7GHT0DYU26W1K4NSRUOL3PW7CQ700XB08OI6OGG78QOTU9HJZNQBSFO6IG9L2LBQSGQK1DJ6BYWYATH70ED5QITQ0T44A6PK6XQI84962G58HP0DTW2K4JK9ANUIE79Q42T4O8QDVVQB6YA3N0MZZTQM9DG8L0RQT05B0U3IGQ6BXXW6VP6GVJUSB9X0CHXXXK9S3384RKXGT51QJ6O3X0WJ46QB5TUHHUWIW7R4NRPF257VEOY1W8ZP39S9BL5CZQP44WQ9VSYFZGCWDQSJ6G7X7548MQEUHAJM7UU8MRDXYSRVKBOM6 = 36#8ZHQYU2YK72PAHTLKYQJGU2NAD8SGSPO0IL8REOJQCYIGN9SU5EQXAS1YEQUW4P2LJT43BUEIAE38RKR7KBYFST1ULR5MPDVBMB7M299C709O3GSQN8GQD45VHOH66JHUX86LIFZFD8C789ONJ8DIR3IGDT7WIMXA77MEZMIPRMIEFMIJO0XIUAOCAPGF3J6QR8COEV5U7OD32D9RGNHTFNKPDZSYIN5OZX1TXTZ2954DAU3O0IKEBYR1MS7W0LTAOC5WZ5F3OWH2EXQVTMMD478XFOUD6B5I81IODGSMXHGPPBDS6PGIVWMHZFDCBIB2AH31VDPU57HYDBAIXR0P4B5Y5FB1KS5Y893MHZVPIFPYB2DCHC1BXQ6TGIRHIR4A3X * (-36#2W93PBBYS7YG1MCP6AVOD2GDO7GZZOGH5Q30KFGSPDDAL1B8BQ0SVEO8S150I5RZCJR83UPK5VVTKAE9T9K17XUNQX2M90ZXXD02P8BXDR1BY9EFHZX7KKSHIB3005XH4C1BO2CXQBA9HZDIPJV90ZQXX8DKF4NEEBCL5VET4NTH879I3AP6VMOUW6NN1T58IYI4IYU84DPLJWGX9IDN38NZH6M6D1GDTIMEHID1F65VXJITHQOFED5PNNPWKTR3U7PY). +-36#7406SYBYDR2FXV19T9G8VGKP8LNUMT68GJ4PB77DQ0P493LSX50RWW7ULNRB8W3JEHWCOBTHSE27XC4MQGNEYTZL4F91FI3NH4VXYEWHHLDLCBWVGC17N1NCBS9RQDMRU1DPKZ74JH7IC8O17MT5MH2ENVD8VXM9S1IHJ3LG03DMT37B7M1WVMNH7GCJSQNFMP7UIE80U0TLT3JC5CM8R3DSNV1KBFFAUTY9XY0K54RIEAW9I0Q8YOTW9GN2M5T1TJ51NHRK1QQD59RROIJB2YWUU73ZGSENTCFEMHD08S82CIB84M45J9SBOIVND46DV0230ZXCQAYP3U3V4DDHREY665IOX6VVDM6A1J2HE2RGHA78U7VEASQLC2QU44KAD9FXKGQF4NET2XBX28GA6FJUKSD7O32BQLV0LE3HGKXBR8IT6QYNOR2E8S8EZXTPMKODAQ1B30HK4TJ7IS9YF6A15PVMDLOFTL6W32LENERQTJR = -36#6C9XA6LRLT8KOHDVMON31YUDQBXZJU2SGDQYEN0AYSVP0U9B1ISN66HKNXTN47K8J1573G2R9BE9ALN3H523TY52HF1W3WH2OVG5B3HAXLHNGPMVXMSFXJA0ZHD6D374UH72F1MSYPGV3FIFVY7UNSE4OC59L1C4DRT852H3AWYHYI67ZNHREA1HB17TS8EJ8NRIOCXKQ45K2GZ5SUF1531UF3HZ2NCUBBW97RY3UI7ZU4EJYLFIZPLE4TTJG7S91ISOM06ZDJKL2R3AW5FT001YMJMTO9EJG1EQXL6MEA8MFAU3ZZAFCARWQ3EPLB7E5K0OQ1X9UBIDRV1URF4IBA9WPJOCTJE43YQY5IYXEHBP9TQRD9XU1SEU7F2X3DLC561LFV3OMBUIPCQY1RV3H2K8ES7J1OVGFXDY72NEZU9WGBI4RC6TWA62DG5NP2IKIBXKWDQCA4MZ8HAUBLHRN4P4KVRVOBSHOPKV41GJC8AXP9L3OI27ZY1MACFWD6XTWWHYRKFSAZGORMK85JZQ1ALEG4K5J444X1QVWEJZMN7MVUSKX2NUC2S1L0SKB4LICZHREE4XBYGEQOPV52J7VOMRDI7QB0BCFB4Y59GDC8LN1YO69GB8A9ACB9G8N2MD7V6X0JNQIBPQ4T64HLSTDOZ6ZP6RTFKLFLPA2FMY3ZGNSY7L5RTZB148VQQQ772DWT85PXMS2MAYYHXP7I5OCNV0D2VI51B8ZRTPSP5I5CUFA3GG0JC3UZGGL1PTKQE40WRFSR965RPSKFNW1GXT6P4M6IH1RPPTI0W5M1F9X712DB579DWX4CFWNYVMH9N3O5JJ6VNMQULFOGCPDFQ5SHF8UVWYI1ZYP9AY5EA8T4IIG95Q0RRSVEDCKG5BVVKD397HI5BOH6H5F4ZXP53HVH86RETN7A3NQMR div 36#W3ME11OEWCDC9YVTK3NA8251SXEF4K79YWRHPYLBAY8NWR6FHZXYWLFEC5NR2N4DOE0MS4RDEJU3468IX9KR3WAB4EU2UT48KUE07YZQQ5LV5VN2I7C96U73HRQVP2ER2SW8BP3D5M4RUMAK7OFIRGRG01EGO2T5KSTZ704SYQAHSHTKUJVA08E5WQQ85T6SCVOR4PWDSJINTNGZU7LAOM192GF2F3FYUA2M2DO09E2HLFDR4ANLGWXLU09R0EJXP1I61U8VRLEUV55YZW65KY42OXB6AH27OV5WP7JJIKXK0DAWX7372A63Z7LRH9VXFH36Y6TEXF0TJM9CUIRHP4LPGDLFHRMXQ6QXU37ZECQO3XE60LWNRDVPYQZZNRQUH2X73JWYUASGO1HFE1IB8G5ZFW9S7NX6EE3WWFFAOBON6AWV5OMD. +36#H0W7YEJM1M3KCLDOYPUFDD0OAJDP7FJKJ4O7U3P8YL4OGM3JU0EJPFRRCG26LXCRNQH6DTIDJ9Q3VCD809QG1XVW16NCK1O20W16LRA7SWGXC5AKA8DNF6P1V837SO3LF1SN8P7MQM0I8EDHPMJBYJZ1TQSXU37RQPKVRTLRQ7S2JLNP4MXCLCHKI6JE13MRT0YWOEMMN1HIKCD9R9X1SV1753CI6X6Q7M8RAVFUIBE5DMN96420T57ASO2UXEPZF6889XKAYBWWI42BRS7EENM4TTSJ7XDBTR5DY2V42RCJDENIXZAEFV3DBISGUOQK2WDOEAY6F8X6GYG9FH34LUGS4N0PDFUW7I8WGQD7F38LX5Y3U201Z6NNOE6YTIQ752PLSSWFT3U69RY23B5O5UA3VD1V5WQECR10LIBV3YDS7JNUE445HZ3ETA1BCT06Y7HWQMKCDJ0QW0PRMQNT5AEKBCUTRSK256P6GMNH5PA9BTNL5EJ1REJW1ZMK6GXJMZ6CH2KHB2JYB9RB352E0R3FNT4QT0LWI28FBIQ0V1X5Y6WXK0NWR1RQOGZJZOC3G1HPSP95RHEOPGTJUIP4BXPTVPS7TVOVFJAF176MV6ECXK3CW4PUWP9K67ZMS85TDP9EZS4HXAF9U86D5EUYD4V3HFEMM8SAXN9ZCP7C4W2QW83EQHAGK7K79T60XRSVF6PHQXH67K4WKZ31WG5ELJ8XF5SMQNEOQM6G3XORIB0XFXV5AYEL3GGZY6PG4FDJ28B16STZ3CTJBYGRHNCPWB5GUMSP4X7XY3IWS0V2F1W7HOYYESOMPDNF6YF8M1TS8HL031WRH3L4W3XXGGH6IP = -36#7KUXKEBPQFN3EBIIY6HSD74Z2TWOEA65DS3Y8PCL83WIC3MLWIZKP15CX7QV7JKYKJHHVL8YSQRN6WS444FLHCBH9Q89TJ7QVQMTWNMO82F6MTC71T92KOHJMW5OEU48T6X18ZO7GNMD3E70H3C60NWR299ZCI7CI8RJN8H5YZVDYDE4MO6VK4FLG7AKO9L7P0YSWYY8J9GH7EZ4C8DKGXMMTTXEIUJKJVPRTYZ7659P6KHU2HZZMNZ2NUXH0KMGTBAX30FBE8P6TEH1WEPEC4PMMMSY90F94EV7YD9IC0H4UKE6X6RAML3WKNJLNQKYCXH1487DGJ1LR0VWPMZH15DUM8Y1J2ZZDPYLJO5BAPFL9CTZ4QZOEWRB2FG87CXTRNBWW3YH4JHAWJ62RCLIUPWOEGU5EFRMPN0B90L9CQ1BT45TKU07RQPPOLJVSZ53XD0N2CQC9KTTFH8SWEZDAP4E3OJ3OB2H1CVRRQWQZJ7BSRD5W87A3Z9L4WQ1IOKJCUAKZVMR7D0WUB3PNCMQ0KBLKT924SJCTXNLARZ4JWAG1PZ5ZKL9GJVG7CNGIVJD88GXOIA1KKZEOMEDQQHCLBRO5JBSFHRTJZVOU0ZV3IUZHLRTIY7DTQABQHIXR78KLNMCG4FIQB8TC3G17VDKQFLK9HP5HFMRYG63TARVOV34HKAQH2QI59XIJEHWP8QGDXXD7B1AAB8NXLDW3Q2N8CMH7AJ7LGN1T8HXBXBRZGZQI9RSF43D5UYBK0OHS1AXXMWFG7GPJEQJXL3HEFSSRUOUSGIPL97LDZSX7GTKB90MRWWMUDBYAUTAG3E6U9M739U5XTRN3JIBY4MN2TM4S61HZGAK422RXNL16MN97N6IA2D3IILWRE5O9AM51CLAN43PVAB8QQYWNU3HDCAA6RJ2J7W4NGU8AG2MBC54DV63WQKT5A61P73MIV96GLZRVP6F96GP5X791KE76UPNEDDPK5B4HEWHO2U3RQCTB5LV04HROYVZX5CU6Q76UWB4XVHP4DRBYV79UZXY83AHXFGV4DQR3FULP8H380MYJ0ZZNU24Z292AYO8GAY5TZH8CCP2H7YWQLYYINGQ4AL31SFJ36KXFJIHKN2AGEOJ6ZBASPZIKICNN9P8ZX63A7W442RJVI7QAJLGIXUXXKEMEWAZSMVEH8GS1R31514EHBFPGFD5AS5WABMR7K3K136HQ8SJTHHLCRNNDSTSD3LOT68RUMM8W6M34B4POG91Q01LRL2AIBIDMLWPDQ9V91NZYD41YKHZ8DV6CENJC70ORPGAHQK341OV0UCJVRDATFBDLVI1KOPRPD49S85ATTAJRSD2N6S3G1LMH8COWNV1KXC87P3D6709BW24ORCB4D9AMTLPU5KNU37M7SSPBPWSMUC2ILS0BJGS0Z3VJTN2L9IATHYRLCV2MVMOLK8FOSR2INSGI5PXKT0FP0YWZPZJ8I2UHG4K0TSMAM29H6PU0SIS7WJM0A3AC86XDCWPCR8ZX94VSDGP1HPAGFBL8XRNWSYFYI0FTHKDP9Q83RATL1KHOPKBY8LDTQ5R5EU58TKNJPN2F7MUSC0186KYXDIIDLFIWBTGVCNC5XDU89ZWSUAUCPEUIYN04URW4AIQOIAXHAVXO3B73HC6UUHP div -36#G0Z4KH0Q37H6B0ORZD3Q3RYA67OVX0KO0MKUKOUETP2EVDPNWIPR2BUR8QXED4JQ4KA8FG5WU8YQ1472U6S97U48V72XNRBWRGMCL3RMF8W8O6UMTT760ROR45A3XH7ESEE6TMFVMB8NU6SC25H99SFVK9Z29HYU30OQOKS3EH7YB7B9XJSM4PDAGFFJS28Z21LNXAAMO6C8JIHN60GTC51MII9SGVS764QRA8MBFTDA7QDZUW7XLRBZ7BTVV4OQQFOP3C48OJC81JGU1UJP1W9QBK0OB0F83V22L3JHXECZGSIQFM5WR5D0LFNKUSKIA2ZXD6558U04192FQX2R83GCZ8QE3AB9814DR8RTMR1XUTZ11NW2W6TBN2J6CFSJJWTQMTK2CWS52N4XZGN204GHCR0501GLS35VUL6729EC9VPBH7NJB4BPE769YWTXI71J742V8GAKFGXS0K593EIN4ZQ1PUBHQEKT8Z1CLO9DPNHRHP7MGWIWYN9LPDS7BTZBUHPTLIVFWR2PFROJCDC336V4KBVKBZEBCSOKPROB494AT6KOPRTH6L5NBC8S4QX8U4Y1Y0H934P5D467OFKHW38W5ZLQ1VHIEVGUIK8J0LQZOWHRZO9MU9BWZ8PHZ5NCSZ132K53WXE38MBGNCSUNJSFJ7O6KF4A565TM7ZOHO8VNOWN2T672LNJKWC3G8CAIM8VQDNCRS8NRA7K3EIMDHF576PNGTMPNEW3TG7W4IQJNX97RV6UQICL4JPTZ8ZJF55WVRGS5ET6XC0NJLFUI7GVDWUJGDAEN1. +36#1V2XSK77S8ZTV3ZCCW2Y4XACQF7YYAWJO2PZKGHVWV4E5L6C3KI8NSEXWE524V6MMHTG40RJD1Z9OZDNOPGB4T2ZY9RW800Z8Q6DVN9V533H6PMABNLROUAGRQB5GW1R5QBPLQS0ZOS3QUALNPGDRDAJX3FEENSUHAMN99UR80OBCTO18YLR3DCXEC24WTNIA3UPU74JB1CM9INENX0JPRE08CLKJCQZGUY4G147U2QG1U4XWGU3SJJH2UTV62J3LAJ5DVLIHFP67ST0S8936CL3WG2K9IJP0MX1TCKP9FP10PSXOWAGNPCTXI40YXF8DLQ1PLB5YTG8KKB1J2QOB0JSR1DV3C394XHWJQ0FUIQP6H6EV452PE9P11E912L2NNQF3IO7U0E8R54C41AZQXKSK1LKRGY42E6H5XV1SNXEMEKR7SEO951LHJH5C1N57H9I9NGBIETLQWY6QEWXSYPXDOHQ0CHQO6LN1UUICC5N2C8VYF0I8NN8WGALW69JR2HI5RPAAR8MLUFKW4YPOP26Y6JPUW2H8X3W5IHPGKVU4NIUOZJZ14OZWTMZSVD5GQCKDFXRVEE6DXHEWN5Z67LMXMT3YASAECUE3MOHR342WSO9XEUTTIOY44CCZ68EXQUC52F0B8DYTXSLBXI5OR8ECL2NDAYMXL35KBW2VBKNVBSHWKR3V7F0WFTXUU0FXPXP3AVGJJR4GYJVWCH1RZLNFH2X3BZWGYT7VRIIE4P94ZKNHQ0RU9IZQN1C9Y79389LXP1J3OMWXJTF1RXXTLPHUACPAGQE5B6Y5ES7AEJ66YCICYW73LOXK2W5DLGHUN4QTV5F3TOTJR5WH3ZEBIB0BYNWAHLR7NQ9MC8KWJ6VUS7ZFGKQ8C5EYXN457D51LIF084G8QZPVWZIWMGROYYHZTA7CMAB62F8E0FK8DPXGJF1PDDGYP48EI4CG37GZQ5G55EYTWIPH5LN3YHOGAU3ENIP0IOVSRXKKJ8PVPZPYAMRI5S9O9KXIQX5LY6UW0XVRD995DLJ6SNEXGZP5C51C32E9GMT70E7GJ8RUSXFXAMG7FUOB9EPYTCZZBC8QRYPUS9PA57BETFU6P5U7QJDEDAEMYFVEDITLAF6069YGGS1KGJR0EW485EA036J5XDEYM7JQ2DC7DAGRC1QUFZ4JWE342RZX8XAAT6921VGWS4XVLN8V0SMFKKMIR0DUU2L2TYXS6G6MG2H0KIWTLWDG7K7PNFCU3B26176MMP8VA00NV8ETW3LJJFHQ106ZH0FA5K0L5J2UDAQUES3ZNQ9WJLDTIZ0RZE7Q8GXHQSKQEMIJNALVG9YLD475AJMUH5E7NDIA6601C7O5F743ZOO428MGH3UT14DTIXHTKW7PIHVQET0CHJOWLG4KCN0KR7LIWJHZ7R35VIFW23VMMUBW6B9V24OU61AFPG9VGBCS2E31AEY4EMOB11OJ7W5TA4ATHIV635BAAP6 = 36#1QBTY3OU70RKVOW2Y28DOXAYJ1WX7DZDML0S8KLA9WB9LFNY0RF11Q37WJFLU4CVAOTWSBUK838J71P9CL71BTU9G6DWUAJDD4CS47WVPVNFTJEAZFQUTHD9G2SL7O0ZDUERQE9VALJK6M9LKYD3XVS2KWBJQKQF7XMYY5LZVMJ5RDWVWINBCD5IK5MOBWJM2MJF549R9O38O3Z0XEB0NGLJ0UTN643K2C4IUZR5OCVEGBBM9QQBE2921J5VW87D42TMKL15C5Z0VNVJCAU7Y4GIBG25A6FJZ7BQYLU1JSYASQQVIDTYDZ64FP7S2MO8O8U0NYASC0LW617XUWMGNNGV7N8CAC1Y0TIRGGJ69KCZDMW1ZZEI6ZDRAL0R9P8KNEAI6F38QN7VX1RX1KIHV3VCB5PKZ6UJSZW4Z3HLYG49MXPF3DTMRFVXQLHWV9CPMNPFKXKJG5C3JR05CTWF2Q7L0UOYGKPY5CNGUJZQGRVMRKJP48FH5LK7DQUEI6SDVXPB4A13MJMOWK1D9OARWE056QRSYL82WY7E3XELK8T5QB1KZKVD1BS9PMPJ4HISSTDHC3FHPC8XUHYXS2U78AF8ZPWD1X1Z201M0KKCORDUODC4CMN6T4U1BIQCOIEYYX1CC63T2ZVSVDEOO5WH24N4DO1YPKORPE1I0DGILOBP6550WK1NJ829SPKIESHHC6QX06HJC3LL7MNQ6BKKW8QNWLY3UYBDT8AW9MWGJQHHNAL29Q4D3XPCSWYSRBV8B4YY3KEJOV6C16KWZ727R8N59XGWDBKZ35AYIHODRXUIKBE8JEBTDQ7WATGLF0VYEXV5O7SA157JH1AZ3Y15M19CRMS0PM8T1GG1713UIKEY2DCAMF3RJSQRYO4S1TUSV2JNFX0R6W0H54CC4413NRP27PJ9QU1FP001JUAF7YTODSNQQQM7OG5WZBRMVCDH2DKWULC6MFLNOCSMVQE36JBMSUIMJ1D8FL52YFBCQOCWYKNOSOOE0B2VBLTO57RAML1HFNOS1RGHRX759CQIFWOM40WYT3VFIKVNPP3FGBGWV99P357CGXSBSNXNSBJCZERVEDY12HFC8HHZH11B6O05RLLVSS6BR3P8CB5PUCR09RIJ027N88JDWJZ4GNOZLY7QXTIOP21LGFMJUWUSU7ECOP4TX * 36#12QTTOUIW0TDXDXD45PSV7K1SX5WL92POY12SON3GPBCXH2HRDTUQFJ6OC5FGF1RMF2Z319CT68H9TRS8DHX0KQVAALEU01OBPMKJSA3DIPS93GWCS67BXZ9CTW6ER1G5NTXU5ALY3XUHYJTE1GMOBIAHSABN16L4BKZ60YHWCAZD2RX9Q7K61ZZOLRXQSEV52KOOSQM3Q0CQPTKDO2J2XNIPJ5J6HIDP0E7XGRAEYNLQXZPU2HY63SHFKD55DWAHJDKNA4X8COLLOZLFEV7MZO8D941A9R2PNOE1S9NC9A9NR8JSTVM. +-36#EJRVA70EUQ4VXC1PJIVRWO8691AKMXD8OVUM7Y93E2QKWW0AAY7LONT6M1BJ5JYVSIRFX802AZH5NPQ2W187R361K70DED7HB2FO8PTMTREX9HXWDEG50VTXS794I2LE424OX90Z8F73II4TQWFKPRXF89MUV9L6UJ0VG6BCWG6HUQON5PQPX2C0SE79OHHT28QSI056RNVGSTDX8T3MB7XA6R6P5PGLENSMW7AK7J5D8VLOQG5AZU9Y1W1V7QI31SUWNZC8VS3WSPO54ZENCVLS6YX4JMR6VY73SEPZAR9YBUYVRQILO9VK0PYFC2BA7NKQB5TPOD4TRD2OGJ430R2LFDN7VC7K1NBSB4PJA3YA5N5E58NMC3HM4KH52SRBP0D97BDDRRLBQ5ZOBHWVJ5RLQHGTXGIPSFKSWLB2GAMH1NNNS2ZSML02V84LSFKE5SXL2B1YCPHK3931TKZ9GS3NIUTB7WTSY0AENKI4RF57SX1PE6B5TRAQKMTBRQJDYI6XGY6HKWUKMXSDKZJYQ5XDLCGOUWGEL6XR65VQ0RQOV3GVSHMOV9GFBFDATRL0TFCAHCFEYW3PI9W2QK5097530GP981LQ51YQZOURG980EHUH0FV8ZCXTBBXHTFTPWHOF9J8EOGGOV8RRYTFB1XQBGJCGRVKA7A9N45FXDZEG5VBM8T0Z6YBZIPLGEWZ0MF820SJEQJ3Z7D374ISTEF05PR0PEZSBI3SXY6UDT7WUIB3WTMTIX0BWOZS0NPYA8VRDV3HX9DTLRMPYU328TL16BLPEH18MHPN203FQ6FE6AN6TZ03XV1JRSME7VVZET28QKTR83XX293ATDMO24JGZXK8EDEK6WYSKW3YFGWDJ5DH2J04EFEK7RV65Q02D7OIHS4R0HVHWWQ20FMNQK75D7UNK26GVT4XXHGET47Z5XDRO6V9219DFRIWON8LH1RHAI09VR95NKYCSV33MQVY0IEH1V4IGOP9XWTMG72LJQQEY77AMPLDB6VWKVRTCKX7GI60DQ5IIQ706ETPHXWM2B3PUP4W7VS6G9R374YBDXBG3GBHG5CTSGX55FCJW3WJ1YGREVNS548AC6RS7A9QIR947P3F3NAPFLI9NI9J4R95BZI = 36#1T75QVH2B621GVEW14OB330ULCN836OK1BKM9XZTOOYYIIL2WK5IIQQHKCGHG7XQVLVLBOKIYGAES7559GANGK7721JLO21KNF4MK3UDLZKBG2LFUBM6Z5E71RD243BTMBF3XY14IT0VO9XOOA908DEXOPG4XHW2O0XIXI8JHMCQAL64A3AP5TLM637JY0GF89QGSE82XP95GFLG9XDB54QXV0P05K3V8DEBXQJ6TBC9OQ19UF0FL8JFPKGL2B6CE2UVVMCWJDJD5KFNNAPP1TF2BHBKEGM0UHLV20F6U7GAEOX14BJ8URZYT585SYJV1EV535HQ2TPVGQUWSY0NNW8O904NHLGMMWQUGUHJ4LL4J6SI4HGRQ2KZY9N00IJE05J8T8ZY65PA6H4OTSVB25T8REPW6TYVZIRU2R6W4KVHZMC9DBPOS42FNNMO2CKH861H49MY9TP6SC0YBS725ER7TML3FRVOPAXDAMEI1ENLJS848C135PDFNSG875YARV107OXCKTOA4G1CIOX2G9A2QWV5SREU0HSX2SQ2OW1AJI4NPROAAC8YQB8CAHKX01I8J4H5HEYIKWIZYKXDYRCYMGW9NXLAYAO2SX2HC89HDAW00S6KQDJCSB96ZKZMFJIA036H2SRZSYORVL76WDBDEM64DDRJ94DRUJWZNI1D6YXRNYUUQO9AOIOZ8Z4IB8Y8U0ZRBBE4R7LOW1AQUGC2GV9GCH7ULDAUQ4JGUOPB4ZOXG9YXEWCIJZ4WKHTMZ2NAYEVYL5CEQED1OKWFEHCGO90U3A00EZE2ED2ISGN9ENY8EW4XZQK2O6LQLTVFLC52D566L8T3NFFFZ2BO2K4F6ZYV7WMWAE80Z7NW445PQLM9O1VSIUR50062TDKMV45VZB8M5LDKZOIBHTKWZBXHCLRPCMEY0F87GILG03XRSRZ5RQB3FKIQKG0L2A0PHQZ63GIGELEHP5B383HO2TEXEA0UHVMX2ITIUDAPG5UZQFZHTQPEMSJX3DN9EI0KGPFSH5FZZRFKZ4MGR58N6VDZZ59B575HQT3DD8NOZN8PANPAVKMOP56XDP960T9F69 * (-36#817E819LFT40VLC0N5ZWNYTJYANPQ01LQCK0MYRB2BE7FL15A). +-36#43EX8ISCU05K0ZYQ1TB0QBXQYO6P0278G095AYYK221HLK128K68ZYTC3QEUQ06RYXDWLF79WH4YMDNLO01WKHATI3KARZJLR84BFNTPVKPEND7D6XQOQ3SRQY0QBFQGZFY64V9HBF3DOJUHCIC46AWH3JAP16M59C6Q0S5EW = -36#7XRI0HCWKOY13QE19W3TC7RS8SC0TAW009JL0IOX9J46T6HB0UWY8JRSYRAPMDMQ4L941LQL3KA0BN4417JPA7HUBIWTE005I0NMSV4GXV46HH60QE49H3UK1LIF7NQURRRDYY95Z574XUYZJGNNCUD70L0W9H3IYAD2RM76ZVX0JYY2NTT3X24ZN6O2S4399P5ZO84SD2B7U8YGN6EDOA6O4NI7NBEN6PE6I5KXQ2VFGREE50ZXYVT3HXLUP1GP0DDD5G2U4IQJRQ9VLK2N3JEF1M7KCGL0WUGH50LSEX2STGVSK9U4YBSOLEZIM4REK4KBRDROBTFXUHL3X4O24V8AJXRSCCPQB8K0MH774A30EV59JCRZUN68Q40 div 36#1XSAX073WKRTXAESVXTN6Y5F5ULSN9DBDNNF6YUKVVEKLZ1L7UTY57MVV8PYH8Y66NYQZPXHJU4I7XHC6BD2397OLAB42SZH1FBK4DU1170KLJNMVU485ZIVA0OV7R3FVO1SM270KKWCEN46ZHHYD3TSZR53JOBX53KVN963RHMDJICI2FEPN93KSQFBLXUBQ7U0P1XGPKEX4B9A23I. +36#7MHK9RJQ2KGKEX5C3O5N27WI5GKQQA6P5LHP2CMYGE5R4KJRC51H6T8F9VQEWT661BLRECK09EEOW45S0CH8B1NXNEVMYQNV3BK = -36#2SCOO154SQB0MTR4CIYXFXWXULVWKZPWHE2QW0IHHIWOJMED65 * (-36#2QGVDSOB9TL50KPVHCJ421DWG9P9IDPAJE7OH7UYOMJXUIQAJ4). +-36#WE4DESF8UEOJYHP1VRLZIYIDECYI9654G60PRCIXVDVTBEAXCBUOGSU7EOLIJ54M3JN6ELOC9QF08IEV50UOL3CN1JU0870A32KCLM59GOXAL8N1DI9JP93JJC3UIYKMGB2XJU0D4EYYGV3X0CKNCLEQRTFI46HOCZN4I69OMCFQ94F5Y77U443PW0JZJZVJSFFNRUIAT6ZXII5M6EV760RDDNYG0KCR = 36#7P6HE062PNXG0RFVV4XWJ6MGL15ZAD049HJBMJO5FO7E22PBID9TQOXQU830EJ5CFX736X20D0JTAB4NDK9P0BLF8GS3OBZLISDCD2RY8BQJPCLMHT8IAL06NTA1J7GCB45ZBVLIW122TH8CBVRMN3N3GXCH2HD82AO8D0ZPK1B4MSS8VCXZ2WEQQW9HCVRV2DJONXEN7UWQQOQ6U14SX2DB9QWYI0IRBVYYNWJ5G12EIVTZRYI03YMK0UL8Z7IXMBO3FWMEJ8PPY2DCWJJPXRTMYCY31IZK2TMGC8JPUX0R div -36#8K1UNRC54ED3NRPTY69WHSZHYDS0M77J3F9VLBPELXMNLS94G2Q8A7ERVAEKTPRAK2SBKB5AZAHT. +36#XNMVFRVNK67W21L5JR69MUE601I6P2PTW50P6E7UNQX38126EOT4ZXS2L8FBMFWIUT878YJCA8NFQMJ6CZB0OOJYUT7835WA5V9DUPP7KGQUHZPKC926BOQR9CN4IVR1B3IRMKB1PRDU1W6LJ12C7D26FKNOGCQZ1FFTZ4SBFFS55ELS5Z0PTAQJMD5G1QAWYCSOSFSWRK21Z961RMB2OJOT30I8ZKUW2D2UZX5HW9LUZU7BOE1LHRZJ4TNG43DANX804NQD8Q4OCJF1MKUP422NDO06YGQQ9GW7A46XUXF218XJYKFCQPOP79006NSYD8Q0D2LA03AHUIWOUGKI6AYDCVIVWBU4GLSODQDQ8QU95TR1RMC6OTU0R9LZXG5HEW6R3LN18XX4RHADXI7J8WOBVECNSF89IB1WO3FJFDVU9MGNRAFD3KA324BW40P4VLTQRM98OE17YGY4JF92AD20HLZZVL1AHT6U1EUB3GS6A8JN924FZY939OBGRGF5UDEC0TO4VXDH3HEN34YF6RY1GP2RJUH70BKXLAEMA09VIR65WFGDR9OYQJC5TH7ONTQB8WKHA4YT2MC0D3LHJ02SI1I0UWDLI8EAB6F3BGSMFTL26Z5LH8PFA8KJWTVNPSOX9XAEX3J88CU1PIO3YLTWKQWY566PZG7ZIUZX6K0NRRJ9NT0UG4MC0MUHGFGC5S8GOZ1Y94G6BLQ4WN2BDOD7LE0O72N0FZWJOWUNFR07 = 36#NVMXFKLYTZACLIQXHAHBMPXGVCK0JMZ06YZF21TZ71TVDP544CUB6V31S2YRTB9FTM274P5A6Y0Z909L1T8JNEOJ * 36#1EQOE3MV3QJM1FFAE7AYU0ZNO29TL6FTQPDLIS8Y6JOYFUW50TG1TRCHX8C346KB08OT0IB63I1X9K5FRK0PMX7K6DZ4CKWOL3XCKD6RS9XNNHWVO9KCD8QHMSKPD6JQD2FKVFHOV7Y0MH3EB80PZWGQAZGCBKN6IESP1U2YU7QK6XECSVLIOAMO3SF8UWK2TKRVVN5QIRDRXY3MZPVT2GK5A5Y257TXG303TTRHV3GSGBQTN40EG8QN17S7PDZGW47KBKLN138CMHRZXD4BWKAPR7ZC6COCJ5G6QARP3CWUCN30I34EI7KAZYM41SBRALDQ4HQG511Z66KCAVXJJLUPUZR9KFN20YC0RNWO9GTU8Z9TBD0JT2PXPDTF01DRLIM6P5AGB4GQ4J3G55T4FOMUX1TC3TL8P9PEIUSHF9B2TV6GS6KGX15TJZX91SWU3BQ9RYGA4O4C4I911PQ7JWLCCVV6CSFQF8I1WH133WX4FFN8KE5N1DBQQROIAY7JDB9V1NEU10ALBEHWSQSYPHZ6GJ802VBPXQ8CWXNFSG24QX41738Y9PVNPF4TE55AWJBPUUORZ9K1Y1F9EB3X85ZUOU2UN62TRW79EJJSTHMJ836UPXSXZK8LSIRWVRY1CK0YZ33ZTY4QYV0GOOHHP. +36#8QCC08W1AA1M09IS849ROTUWNEMUMSEBIXRBLVDGSHJSUSRPTX2VMVGT66N5UKQG6OWA77JLVDOHCQBRFIMTBBT6KGCPM56787RWWZ5ADNUGUCG2FPLYPHKP6EVBLFAMLM4LU4DG1M9KG722JAALW7DNWYF2RWGW82USZ98CLANPKONUSMACGGJ04AOUQPR9JLMZ2PA7GNG6ANJ35TT79FV81V11JAU2VCK01C2D16OW39IN0041ADMXP8113L5PRC8C6YSS4HMIPQ1V1H0KG0 = -36#F06INHAQRJVEMY9INZPNSQ8KQWBXLQ6A38AG1BVGSJXUJWJVGSGG7BW1WR5WXV64GL1II5S81ATWSANW9THV8SFRZCVWD85Y0YC1C6CTWMBHBQXU45M9LT8HQZ4JW5D1VLF6SHEN6LSCBLYDCMTMLL02UYEJNYCW5GW1Z22PIRTO2ZP5LOIR8K6SX7EZIBKU5EAEGHSIYE3CI55HNTPEMAL6OB9G8YHTD5IM0 * (-36#KY63HYGTPPGWRJTAP3LDKQN70W8MKYN2CC28HZ4U7FCIQ9MR4). +36#22Q4U5T54FY3GB9FEOY5BPAEFNNC2DOQEHV5OKJALRC4SJR9E0 = -36#KG0GAMQDD1WAZDD7E2MMW455RBMFF8UZPABMZ3GWE41KWXPI84DRGJT9DKWRASUY7R6V9DDGV7OYVKO3R51KSI4N5XJWSX0AI0 div -36#9UKXTKW1KEC0AUXQHAD9TN6F9VAU9WCNJCM6644LU9T78AS59. +-36#UYYD9447RXB7JBLLMQEP7PC90O5FBPSHZHG2G95G504KMCEP365EE2LRXPQK0ZMKIL78LIAYXGGCDCL5JEK8ZWA14JAT5LIKO238506EYPXE7GLSLBZ3VOGL0ES3OQGCYJK1A9ERA5WLEWIUREUCGD5MV1Y3260PJSKDEF41OKPN7D2PFVMHLAO1IVL3SFDLGTH8TG68T3NNFJ9SEDNUKKGU43UEUZB88XNU8QTOON2AVNBNCZ1GMPAQD4UVF1QB8WSWFMAYA5WLF1EPVNHU18MFZ050BRLVYA2P6Y88OOYO0H31A74LW1V8EKVV31K1GF5BK4FMTVWHTJCQN6PXT7OREHU = 36#XL2MM73QPSYBIEUPCDRIMM3XTJZITJ5DUUXWA6ARZ61XV9RGV * (-36#X74505SSV6V05FXN46ALIE5KFQWPSBG4VVHJSAODCEXKQPM4E9Y8BNCECO7MD9W9ROI60BTKL56Y3ET0X72H1FOTV13UDMNSKTVORIVZO89E60NSBW1LVUD0Y23W1EHD9AEKY3T68PRXNCZQUG72UFGCGGCQI7PAPTLSVUXLXCCQGL92DCDO9R7CQMKO8DR7VD6NNONC2ALKDY6GTS9EFB06UV0CMTVXPT6N22WE3D3Y1BJDKDLLMKKQPXVP8G6GHN1J8BISWXXZIQNDU15RLTG3NTPFOZX5ILJZP8AH4U). +36#LR0W41RUVC8VBL98XE03AL1VN5A27N3J1ILC58TNI27Q4I6ATP5MYQLHLTEEJW3AFDF7PBYENSBKUK6HWXVGMUZYHWSFNYGU9S1YJA6Z75DBQEXEO4XNLJ14SBYG7T29VZTND556DRD1842139N2CI08UWLQ8H8YM22C448S0J2KL1ULG0XPXZ17BVL7MVRO131CMC65NZ8D1K8G66CTF93WPZVYOZA3GFUK6M1KVQ3HJPCR9ZQYBLU6RRCCQ1X67UTSBAYDT2OC2IMSYNEEZTE9N8SJQLKS55DHZ6MSRNLBGDP1K22WGC7DWS385NMU0OQPVP8K056JZHYZ8EVSIH3BOJGFJS2BPKMTVB4HED40OWAE2FEGEZX6VFUXS6L2SM9PDL72SB8CEPL54IZW1584AK9ZVQ1F67FK987TFM9HV7K3HXM9 = -36#2MGNY674MTSA9EJMEU1EFTAADHUUY4AJGG3V9XDZKZVKMZBHTX * (-36#8AEU94Z3VHHU7SB70ZTTW9CA7HUOAVCGU490PJGK6D39HCSKHCTUZV7HELQPUWPRWN01PW8XP81A02EXU7QTN5QZPPO2SETSD71D17T6K9YNSX48J0TBB4WQG2SMTWBFH6CPA7TV7HK79C0DRBRGF95VSC23H23UERE85KMAHB8UUTFFKTQXP4F2ZPYIJEO5VL2SUQAY5UUEAYD8P4L5OHD6DKCS2DXI5SED14Q922DV9H5P4G49WACLFLOV03JZR4GYVVTPA0XKKHTRR6APF7E403ZWG7MG8ZI35W9AMILOCGSOQJAD1N5JB53XI4J9WKSRJLD2OPL5X4QH9N5EDILZRDVAJLVM31FOIA5MY01OKPJIPN63GHJ1UGP9LDXV9ML). +36#23JO777S2GSQB83UXQSFYZ016EHWP4I2RTETOMHIBC7P0Y3BZN = 36#OT7Y9PDOQWEJDFPR63K9ZD6SG8SIH53QQVAM52UQ7TXVWB6YY04NN1BSQDG1VF4QGS16V3OU73NMLUW3M0XT2412FGDDR0TWSHR15IQ4ABS7N3FYFHRMPSQY2HBK020K9OPR0KYOY5QL0GQ4CTRMCSE3DB5UTPUEBGZ6PRI9JP0S1MJ7KS8DA7WL6M384ST4DUHPG4BNCIGFKWN9A91V4O5UJOEGH1RDJ8Q92IBXX9TIBFA51YL80H3G7HTK1FMZ3JDXWU33BUIKPWVLK799142TLULD83MQSGQ9IKT0UZIHOSRXP7RPPS9V6YTJYUK7BICN04XUYZM42XERAW6LWUPOZ68448ISXKDF1AOGUN4D7JSZYO6CSU0B72N4TLW2WH4VZHR42VEWI2IJPJ82WRJCDTOEDPRJBEY2MQ3LSFH55PHUZ2KAZMXJQO87RVXPZS9XBL84TP8EMR6CMRIKULB5UIZ0QKXSA9YD88JD15OVU567D1OWSRNTPLW1OCAYHIZ4WE1PTJYSNO3NHYI7S2MKGT9CR5FKJ6A25ID48JPYORTCBDM1Z4FWV8GQVOUGFVS44R42A8MKAMEDVX8I3258ZTMEQUPDFGK0CC2WECF2HEW3TBLHBAHEL36NZCZ9W1B6M33Z9T6WVVBANGMEM1CQMIJY1E96L8BFW9SWMXPWTFIQRKF42K59DWZNM1REJ3FRXE49NA0JQSYD6GQDJIQAG754PHKPXTOXVAKJ59MWJ18I967I22MYB6BFPDV0Z4N6OHU6PQ86RXZYBQC8DX4KK1HH9K8LR96EHFY5VEMTYK89PVHUHP4G6OM6L3E1PV0FX74M2RCSDGVUIW2KG6EHBVTH5O7V74SHOH26QW2ECNZR6JRJSXEFEG6W14GMSL7EQKAMISFJWZRBI7N49HO90DFW88D48TBT2MXB1FUURLJCFXL7O4OD5KVAVP6EL2D251XIJCFXK117ZM8G0VOL6WOP4PKX5565TOTPCW58Q33599W57K2AF6WRGHMXOK3ORV div 36#BTN7MLDM3SMGH8V9ORCWHWEQAXOR6GJMEKG3R96NSM0L1YC0ODIZMVXDAOXH9QV6AZF3VUVBBH9GKJ7YZPG56ECM4CBV5PXMW2L4LG1SRI1VM3BAR57JNAVBID8RS0F5CBPJNPBMQQ4WO2MGZYMBQFJT5OXO1ELVQF1DGZO23AYH4BMSATWMC37OOC4N1ZM8UYGO9PQAQB42P9S6ORSWDU0W7WZHX0HBNB2DPLTCQXUF10M428UCP812ZHITPTEZ3MMQJ2IZ4BYL9KN7KPRB639FOSK61KN2KS7MAD8RSZ7PB800C8VNMOXSJJDF852Y0M3COGCS738C0MESX7SBHYH9BLQA98I4GPAUB2HOHK4HQ2AZFR3IW86PSNIAE8578WHJU4VMJ05527J4OSJUGOPD9R5JVQCZMM9VYBSV73PAVK3M9HQITZKJQK1DQ4SQXFE6H0CKB6RLDR6DRDXX0C1V8ZY7H1NJHV4XKHBID2P94QRNXHDADYI9FQ3L52Q2C0HO8S7WFIAXZBM9F242KWUALKF096C74KFLUPPQ03CQWTNLWSAKHIBLUIELF177VBD786SC22MEF05JMS45XCDL05Z7ED4M9C187O6ZLHEEDTA52S173EQ6SNWK10Z3BBZ4HSTQBQU2W0SCAL9X3KSLGSUCL44NS1S4FXN4ON3T4O7RQOBWM7KK5BZONVQF1VXBFXL4SWTN70D9NY0N7ASOC87MBX9V9QYR1FWBD4V0ZC2WHTO1XNWDIE0DSQ5FSF3MW14QB28PIZVUWQO0WEYNKT3GDWN1KR3PWSIMWHJCAQZSQMNQGRGWG2P97H2VH4MENANM3JBPWTJ5Q9IT6X71KO22A344LV7C5I8QN2EO9J6I262533XMHGFEL8RT28WGOPALXVQA3V1V7037MR6LQ34D8W0WZSSXGPMW8LS2YUCC1FR07ORKO1XTL95QLBXIWLZNQILEABR27UUEH. +36#1K1FQ5E5A96YYMALC6K2BK1VBJDWJ6DK23NY5W15GMSBGU5HH31HOSPIPAYY4FJMFH9D30599PP7X00STAB7G5OHOM7AWEGBMORQH1PY79HKZL3INSX1F1PYIDF8A4V6BRO2PWA2ARG7GPNZFU0YE8FEGLEOGR92NS13V56P2WK6WELD1XFQKJJ3PWXGKB6RZ3HJB78LO24UKZO0IBURNWCB3ZSJOC80ETJWEMNPXV18TIXE3HJU89IJ364OQMVGVNO3WDAPSSNY38MUJYJN0H067OT7CXDXAKXKCXPH8FO07I75BQ4RQL7R3602SUFZ0UCUCJ3E6MBQ2UFHBCOXWW67FQT5T8RV7PJ1HQXQ8MEEXFUME00J44Y8YJNN5WFFZNDDDP5RF5REYOL4128TWOHACMQ0I26RTASXZ41LG456VU66B1ZD97K8L8CLZQTK708FTD48LXUKAN0DE202TZ7KCBI35LD65EFN3ISLGQP80JE4Q07P887R5K2RGJXU546SP3P1XS = 36#1WODNIX37HTTKKLIVEU10G4476IG5RMGGDL416IDKR3KWRF7M0Z36B5QFEOAEALL1PK10072HHZN8OIMULYQ9UBFO9ZDFP7Y9619WZDQIZHCD0Z6A7RUOZJSV88PPJTA25CC3AYPAXFBNODR6XC69LRBLDC5YZGRLHB8ZUU4B3TPMT9ZIOLHV13HXI524XSLAIMBN6NGMG1TIH6DEHRONPX2QAAMKLNAOGECBG5B61D3ON4AE3TJQTICS2W1ATQID4S7PIHNJMAQ1M0NAJ9U0ID7S07I4OYQHJDEQY4YG7323CW6ILT6Y66302JBU23F6BF3ULZ1PVKBP3ON5NUG9QMTOMTVPPI281PDWUUEBH6CCFZJLUACB9BIDEY217Z6IB908IR39S74CAX7AJMYQPOOF04YXODGGJ1DS1C7O9A91MBDM16W13TZBJTGAF5MQJ45QT4FHMGIIOBTKCNHNL4116GUQY0XUGZ8SU4REGQRKP6PZY7QWWPOJG847STE5G05FCGBXZ4B2MS6YZ8O99PVHTB4SD8JFRYOITZKK9ULU8MRP8YOS2OKKZZHL27YZL1JPTLX7ERX13PGCQL8EVPCD8TM3PQFOEKRNBSG9MIO7N5G89LCNNUQKTWRI1B77QTPVJSUFVTMOKXZ68JLAFN6YB5JGGE1PLG5C54080AUHGWK4WSS50OOQN7PRQBO8HSVLGCCAY9CFFC20DSD8TIH8QXMX8WU28FS885C3TQ60N4W div 36#184962QBA2TD8IHH490XI0B5YDF17YLBBJBUYFJWCTCXQ0CEFOEH1YTANAB1YQK4KQW3HQLRYC4BI4JFGGND5OHVPN7VQFEYCRUP1ZJRKLQFJX83B5NY3EHCD5RV5M0QO0FL23F7FW6M15VBG20ZISNWL51AQORVJUVNCIC8I7JH5FRCXN2QY9AKDMICC9UFYCA9H1ABBIP86WFOLMRWQPVDLRIP7D34JH61G9E. +-36#1HQZ80P74A4RLY32P06WZNBTME2I0AZ9JN0ANOPPMONJB2L95SZZ1YU4NN69H5183CA9EAE3ZG5T84ABYWAJOFMHXHBBP9C7NGSI2T5MAG27FKAFJKJUOOE38RGC8V0JQYCADD4HR3CSSZKGJYD7YKQAHF9MRI12W9LAH32VGYFIZYP4CSRXTSW5UX9K2IKF5VAM4KGNCCYMDEBHP2U3QO8U8YEGALZ5CT60HR8TMVAQ2DNE7EX3NGCGR1TKRYF40K55WWMY749Y2EXZASTKLUCF18CONEQT0WOW8S4J7VXXGUYUA2KNDM4JPQ71QPJXZ8KUNM48U05575N2JNPRQGMJ3PCNTW8GGQL43C12F7YLHMH6DX9MN0Z8VPZMDCONC635SJIT3V4CESL9122KNB9UKXLMXQHSA01H64Y9USYU0XHTEUP60G = 36#LIBT8J8UDC1BMH1VVHKC89YPU1AQFECC6A627Z7B661ZJQF5WLVOBSNE5M0PNYK9UP1K6EXAAD3K5K4J5IH1Q9HDY7KV1VO7C6GFRD2V6CWPPABG4J8AIWGZQH7QPHSRFL3WC86XYE1XGH44OK4GHN9X2BDZEX5JJ8JDP9791K * (-36#2HYL9UZLZ24CF9Z5NAORHJ2LBS68418K1QYYMMH10KBR0XRXKKP9Z3EBRYVDZZBZESJWIYAMC9IWD4U2TOHR4XGEFAUDD1IUFF29M9FP8TN73W3E23QC49ZDEFHSOOHLGS9QO4VGCF6UE5RZDBRFG55PM6POPJZWAC6H0WNXEV08ZS79CZ5DW31EF3RVESQWRWAH75K91A1ZN4ED6UGV27LCOVJXR6OBNKTODUMFSZ7Y0NJFFC81364N39PNMWE9GBI7KVRWZ67Q). +36#17PVI3HOMAWLYZEHNWOKGX7XR9SAA2Z0I9QPAG20KJMOVJVOGO = -36#VTDFQ2DMDQ3Q63AF9EL2G8KSXT6BY9MZ9DD5B6DH0B8M6C799NZ8OHZ0VNPTU3LFQWBL7V8ZTABM4O6LQP8DSTJPQ5TMKSMQ33CME0FS2JD3WY3P4FIQCEJFGR1FSV01THTXRPH4GCC06N0LL24T9S6OQ7OXV1ICSU7GARR7302A5AQYHZGRHXSP0L8L31RNJK22N7N9DZ9U9VMY8YMBWHNBO87WA8NFJQCI7RIM9DB7VQGIEMTCL8BVXLPN55I0TSFIIA85DK3HV3C5PG12AR7WVKC8TSY3DZ30C5UNNT7ZU5FK3XVQLLMPDH366BZGCTKU1WH8OTA0S84X1NR387AAABQ06QVCL570PYL60WKMS711DJ4R6M5TQC3PIDTIZ9AZ9WG1UC5ZRT1P1CXFY1FPEGH80XTFHAMYHK9KPKJPS8XHP6WU0X9FHILSRXH4W3XU5K4PDCAAXJQ9BOWDBCBQZ3FV0Q1O7LYJUHKN8HZ84SZWIQGVS41YCFP6N5FEM6FUMRTH5INV16NHXL6L8T6PNKCG4FPEVQ683IE19EXH5G053HG2KJV1CRO5TVRZA7XCVMWCQQ3KRF9FLW6MZJVHNJC93LANHD8O0UJ6UFUOC491CTK85CTAL9K8Y67W4NAWFSO4Y4187J6OU6QY4AAJ9NLB8R14WL3F3JH6PAVEZ8XFVYG0R6WXLGUFDFAJQZ77HCQ5X6ZWTQ5K9KEOAE9WCZ6RAUCH9S9IHRZ2FNAANRS8OG9AS99WTPTN06CJDIDIKMZ1VCUTB49C9N4Z5V25L1QFSYAWN3IADNQI6TJ425X4GFXVEIIJ36SXVQR3D3KRMU1QX8BDKGVJPF0AZKXRLLL17RGJ24GMKZD2CQ0GR8J6D8BQYOF2FOSEI0V3A4JQS10OJSKYVB3BRDRVOOVKY7V9WB0C2YCSGDD7R16WHTAEB7ZPZEH3MNX95AIWVBCPQGJYQW2MN920ROY7OMA4XM1H43TMY033DYUSLCT3SG68WWA1ZUY393JNM58G5QNOZ0Y1Q0246T1O43T2MSM87M5K0 div -36#Q75H8L8GNSZ38KRIE2K2G57KDP1O7Y2UAJ8MFUIW669OHE2KT8C2VQ24YVNYLMCVV3WOH1NGYRI95PD4A5WYS8Q2FUY8EUNJPCAH4SDDR57QK3E6VAKPBVOCZIPNNJN833F8KLFP5J0MU5OTBMCHKV1BM259WIUISTY6LH4940AB27L4OVSDC7NX1XIWGZFGRZVIJK2SRBM4X2SD639RGVIDUYDWBJQDMJ43H9Q5GF0SADHB9MSBRLOYGES4W0TIPNE8IICLH3M3020QT70NP0BW17CDKH9MC41XI65IJYRCIO4FDNS3AB4ZMKT4LMC7DWS2J8SHB9A7OEIGJ8TIVVZ01PKP2U0OP5S3DKT97C69JH841T3L4RBCYN69ENAA1QLDSQZASBNLWSZNZE914HC9YD5NH2QT9JRZMW7JDOPSF0LNFU384CIY8SKDXD8XGI63MISCD65HS77L1BENBGGLG34A5IXDM1FNPVITAWJ8P24XYFE9KSEU9R324JCIJ0M9NRAZOVTKWXS2HBVF5ZDIHMXQD5OBAQMEWALDVZJ6PXLTEKUA3JYDZ3TTT46FZ71MDOTNZNLGKZDLL19K0MWPP0N05J8LMTPKAHQWZK0ZMJZG87PWTUVX5GRRRVEC7145FR5DC61RCY1MU1WIZ5V80KS9G1QJ7DAVCOFC5LMZBITU9LDTSBP5ROMTCJI5OEF218PMOPVI1RPZMQBGQHU6I2PBE9RWTU674QGF3R6VOPDT13L6VTFV7WFHYM6UKK0NT4M0HGJ1OKGWV8G6KFK0QMEXZ0Y1WHATBHZ199NVJYLUP338YHDDAGRNOGAKEHNJUPTNGSHCU6ZCSIGM3W3FJ9TYQZXT3S1NZPYMEJDLG0AXYGK2PJT7VR8FW1EP7HH8VU7LBLBWTEBJPMJS8TZMUHUSPJ9L661EUXZ2NIXDW7QT4386JPBO9848PV0RHPZZPBG2A13VZ1JNIIR0EI03S55AC7MJO83QJ75R5L0C. +36#DXU5UEJ2JBXPURGG78M34TO192520A6JXD4G1XY1WN8OBCD9KIWN2BB4P81RZLXZ0RWG7Q542P8WX3Q38AHNN028902CFCY9SJ5JA9PRE5906PI5TRXY = -36#S1QVQIW72ZYS8YAFCB95V6LJLNBFVMJWJLROQU3FWE5Q6UU4UNF1CHLCN66O1ZB10U7KO5S0D7YTLVUWCT6HI6SOZ8WZANZLE6ZBJFSMG0D7UNJ9S6HT8XG7ZPF6AA7EMEKPYSKLAKPK2W5DSC85LK6ER4N479Q5M6TG2 div -36#20FOFAIUZNIZ9YN5ZNORUT2W1YSI5NXO858IYFY0AWE068DEAZ. +-36#2XOHP3QI3VIF60PFJIFJUPTISPS0B0GG0CDK2MQA8C7GCZ7CCW = -36#7BZX3SEYAHYVA6O73EO630T1BBL1X7B4U59Q1T3LQIM488NML1JAT63841JZTEFQFUXQ1SRWMJVZZUJQSFRF19T9NSD4KV8G23K div 36#2HXID16LPH4GQJM2M3OW21HW2WEM2IQQPGNSB8V2HHLCZPJR7M. +36#6VEEGZVF03B1TUOR68LQFTH8SHZGHZA7TWZA1BWYLCRYFUNYXE21PRK38NK3SONM6JUDUISB93P9FYFTP1LD9B1CDA4QB1FKQP733GF0DUWYTBTQNJYRDR5406OAEC3S8QUB6A2T3I0ECE4RRCLI86DS2IJRBUJPSU94WZHA3KL0VDAKFZR9TREME3AB8H2PHHJR6BWCTP7YAX816JS4P3CX2HHP1MEQCAW7HY72Q8BAU5GRM974RG93RAX0FUXCXAFCOTUPYYXCA5NTZEH40GQQKDEO4FJG38WPPHPC5BVTU6GCW1J8GE333BIE45Q2E70SAQX3A35UE6162R6LJL2N8X01ZRYP41YA3MY1V7PW3VTWZPE1M3PK0N1DM6IF8821KWNXUOZIGRWGHZ4ZJ545VIFKBAHFY0YLSHM5X7JCZ2SA90IZ3LS38WH82683AS7D7VXIZKOH4QZFU336BBOP4IE7AOK1VV4PY0QYPT90TCT9NQK4M4VWHSO8IJZGL8PTQQET165I1WNAGQRF3XGO7GFTYGMLSGIMPKQ6CXPN1USS770T9C1JZ6GFGUWVKB0W8LDQAY6OBHUX2INI823YQL8YFCMYGI2F5R0WF2EIKHHZRME67Q3DI5B7RDU6U0T1MYUCA3DNHNU7OA0ARFZ63QY91ISZLF6URNRCA9M6AM8C8JJSYVPFV2Y30Z8V9A6MTOS7QWIBTBETJLPWKV06098VFDV5GMDLRHHWE25EFOJ0ONJ9B5GI84OA0GTJVF27Z2CVUNGC9J2XCJL2J8JOOEZEQLJRRHGNKBN07Q1I648OP8QN6BWY1YD8REM9EU3OFKY2DZXYMK9DM1PZK02937EBUPKA2DSL9LXKFH2H6VT68K89TFORMGY4C7X2CUJJ0FXYKCWBPTKWB31AZJUO5DSBGHI6QZ3YA8RHJ83DW5Y96Z4Q051Z40B84FWM2QIN2BQFAH7C8XBS4QOONM6WMSAN0IW9KGT2AYR9MA8TYFAVDVJRSUFCN0X8P95SDKH52SWVOUNOAOW0VTQIXK9ACKTZKOJHRUQJV7KI8U8J1NJPEW18LPGNC8SAN1UWR2DZLGOOWUHMRFUV11JNU = 36#8RQPRSZMJ1YBZINRG5YFS0ORGQIK7WP6H8AEDK4K9ED4N7CV7G3TN7QXK6VME63FRDAN0YBCTJSJJT3204U1P0HG483R6G3D0X2ZELDE66BJY6XRU9T1YUT9X5IJ75F8OC3W9IEQ92UQPIBRY4XIW9E40RXTR6VWEV7QBAFZ5AG7HOYM3P2FVYJHPD2HGJDOI1P0KUXAN08TI4WZHCWPTWAEDIC33O0VUQZOBY6N4A3A7JQM8J010FBMQ4S9S10SH8DN9VGR4O0H89AP2SGD685CGAK6RRLYXMMS8VUC9XQR2YUIC1BJK675H4X4HSYVK6F9HNM9X4S89GTU9E9Y5JNK7YL1RKOAT5L1K1IQKL05MFAYBUXFCG54PNMTKJ5GUR06R818SQK9WL29MQ0VNPD0TM536QWX3ELDIWUUNA9VR6 * 36#S7HCURLO7HPZSXE9CTOIRQI9XXOWGJSC73W2EWR51C70PN6QSGK1SECHWKZ84POWO5T8IGUNPFMPC06EMVLAQ0GA1AEH5392BV7D1D64HJAB19DYNIY4GZLC1U21UDUM2J9U51C052W2S4US287GNVV1RXLIWQVY3N8SGSLHXTTHHIIFEE7T9RT86EY00ROJ0616XNP8WCJ2FYDIKMILOFYRNTEAJ3JIAD2ADKITUXDGSY9PPYOEBD97YKIV8ZRU1VXVIEPCX3RBF9LASDKACPEW4YS9QG21XU1KIB5W5PYEUSNK3YCJUN4N95JA7GQRTFXM5IMES24G0H3F9ZNZ1HQ0Y8GAP1WFRPSHQ6O9MW2N0HW7A1BICNJCNOI3CW3LF3G515UUTDT6CNC84XLY8F39GYUGXVMO4FHX7OOKXX5O9NC0GASIPU2RCI3IZLGWWCC6120VRCVS8RY34LQVUCZWAKPXD5TQISPW5GTI6QILQLRBGLCFA6UQXT8X9SA47F7LUYCZTSHB5IFXEO5ELYZS9IS3FOBGU2ILTN4A47YYJT0D6G63QGA5PIML0L1SP57Z94VIN6IJG7MAL608M5K7H4C082O9MGSDI1R8Q9K3P0J8KQX8RNB124N5LUZDBK568KBNHT5UC1WDD8UWE9WC6JC1D3CEMCR4STH. +-36#6FN6SW77KEL92LDFV4SRNXDY028PIBXEKCK2OA1GYWTPCWU31J1ONCDDCF0FXBZMCIZHPKWX57GG3H2D2HAHKYJQVM408L5RI076Y64LK1OIGAAJCZ6DAEAZDDGZI44DFQH30NP8T5261862H6UP12PNYS86TS3LNTKPSXZET45O6GXIFC00UBKHODAANK2SAFFDTIPCNJTR493MMQAYDPRSGXHNCEI9Z8EX7UJK2A2JW7CJAHF558HTS1L47GZEDV6TW1YF527LKA4RC2VSFZQGHRXIUARBYW4P5MC6N8F5Y0H9L05HSJU3QB6FTVTL08G5GUR4OD3HZ34AJ3MSCG09LIVP235II46CTAI48S5LA8C73PCJ9EVK05EUDUSGURXN2VZXQ6ZWEMZGJ6SCXUDEV0S1V83U36YECFXOW7N9BU8VXEJS503DCGDI4RPU9WY1714KW0H8F59UURRH5EP4HXGWJNK64E4WEA50FY7QBT1V5K75VLWK0IMZ7E84VGRTDVXZSCFD1D29KY7X1C9KC8SB12S4KNXB5S7TT6OTCC2LH26HFOYZX1BVBLSCVGKMOO971QRVPS3ZZRCM48ZHNH3U5QDPZB642NPBO8HUGLTINS6SPJ4AGSE35RVV7MD8LRZVUEOXVEIYYWKMLKBTYZE803XUPV42WLPI0XSNRVRGQ8O30P26MV3HAAW5924DLGFE0AC1TFBFOBI0T1TBU8FEPENXAHIAP7S6C5N2AG7WD1CVX819WJEUIU9B6SOZGJWWCYZ0HFQGPZJBVAQNR6KF2ARLGZ7E4JDZP3KKRRZGOKA36QINGNYIKPOIUIN2MJD7DZ6VPWG0XBWXZ3KCBK5CZ5RGTT6DU8FNO3KW0PY74X5OBP922I5FVAZ3CKYWQC6390PFWY5LNY55U9ID388EP3JHILB3Z6VOPIYVMVTVE8S9XLK7LMAUD2ITMYETPF45FBRVZQL9IAUKO44AZP1MYVZSGT64SFW54ET4Z9H = 36#1QAYH0NR5YLC5CD7A39KGSJMJRUX4FU0MZ0X43QLXIC4GESIZ5G7WB0CN7XS8FVANHVPS9R3AN25LE6EL359SI2QJ5GTMJWUCZCBQ5C15NB2ISFKEC1NLLNC3X6LYCS7QXW47KXKORZE7FIPMZBXCJPXDWTDPNJB9QIM69R8CGQ2WVLEHYTIUS07LB0Q46S2JMSL6P4JEOPFT0IKYUOCISQOA548CELJQN1QBBYHGTW96P5ODV1GT2S2G32Z9XY0685VH2HWDF9VGCNJBDGEY9WOR0YMIJCY34CHVGBUSUJDE88RGH1T5D3COE2XX3LMGVSSDW5HS7AOAUHP1M62SIP93F769S39IYBHSPSXBXHYFW27KK684AUF765T0P2P05K9KYIU2E2JIP0IZBL10A3E4GKDEK2C6MHLBGP8N3IP3MJLGEFFIB0G6037MNF6EIDQY3IIMD7JV5EQKGDZNCGKMJKJX3GSPAK33YA23LG83TEIO5XZY1Q9MA5OK55HUL24E7GMS54WSFP174LIE8O5K72RIRW77R07ADGH7H6GON6HQWEXNKJKAAAJSV6EZH1RV7HSR746Z7ZMTTZ2NJA2IN4VO484CM59CV9UARB32PMUDIQARKCI1XODT20LR03Y2ZC2SHKJPTK1SS6ORH4QUMCSPU61QSKDSUBDO3SVX2Z9UO8LHUQJ07JKMJT910LG2DCC8HJSVD20WO0S2SV9KFFCT16RXLPJ4X5JVWC12FKHV1RS8MKFYF1TCX0SDDVE7GMK8MH5DQTH5HEUDT4A0L73574DLPO6JSRMLRA6GC03IB1SRZCAWWZDI6G4JT7OETGDRO895W2EGRP5TW543ACNF8NIVFF95I5ALIX60FV0EV0NDQP50FL44DPLIMPNLRQ2GVSPYV67UCXWQ1XQZQ719N7PW868LAKKJBV24FHKA9RXTRW0FJ2JHOAZKWWAZMIKGW5U95X06UQ451ABHQP9EX1J3V2H4LE1WWPZ5WVW8X4J3CDA5I0AU9RDRW6402X7OL9W4IPP8IYSVGNLYQIXYMP32HCBKU53X3TPK34AVTDCT7FDUQY67PUIAV1TCX6NYLLPRHA8RRRWLYZCO2YA11YXZ470MFDX9M8XO4IDZW18I8TPXOWKESULLVIJZGYD68AOMH div -36#9OKVG97LG8WKJFIDOPVHF4UTZYL5SR9BNKKFDJ69FS7R6H6UVJW3VAELF5T80PZWZGRAKLJQ05DDZ0VFTBH15W2G3XO834SXLMV2Q7WC986USS4MNT4G95UHR4SRK46MH5YILYX9S2UUNEBYZ6WGH1928UL1M51. +36#1QFDMHKP3SE16RYTXOYWP3P9U3Q3KCQ75T9V7YU2LF5Y3AA39H = -36#3BS7DA0DX5X8C2SW0RZSQTVIWDGC8IXVWHW25X6MYMEKHG25MSNRV00I7WPM0ZIWWOT8B98AMT9WK786SEJMLFBVG1NMCDAM286 div -36#1X2Q6IUAPT92WASM6KC0S2GSIQA4JEPB569NBGB20YCTB9GHOU. +-36#WLR4MRWJXOAXK5IUCIDQX60UFSC4DFZ8X0U2RLAVLBG9VUR6L3F19UE09GQLWT4EIA6VW62OHZH90TGG4KG1E3GCXZK10EL8YEZI3KG904AH7BDDDNH7N3GNU3NCAP0ZX9XMBC1B4JJHGVFI4RCADLZ3BJRQ1OI9ZBVGVL0VODFJ8IW5QNWCYQF7XAU8CRWEE7V7FXQNRIEWT07MJ9VHB7VKVV0CSNE751QJ0DB3SC8FHH0SR0LEG745UZXCZOXM22GGFYJK2V5EB2B18NVDBCUX2R8AFURPJUBWVGU41CFAAAQG5B9T707C4OA7T8JD7RXRIWY0YWG1AHXF8E34RR3QLT5V3UJ5GR3C7JY17K1YEDJJ5JRQQYMPXAHGHF8K1WEM6R4O27TA5MJV08VX6IZR7BAYBYJXXT0XSKIZ7E0JTF1LU81PJJ1LZN2R5IEWB0KNG251RAYGMC2W5M52C3C6WE974V3D9VTCBU10XAKPQKSJULZ20Z1W254HF4N9DPGSW91KY7NN7PV3Z3UPQP9Z38YOA7QIY9F4ZIEBNNULR3WPN5697601TXBLXK0FE2SY44GYSWLN33T8OQ3C0KXOANKTSJSMAAECSVVDHKU98OGRI2YZN6AGMH0FC66O8F2NG6 = 36#116X85NR5NA6797QDRIJFI73WEKVGIBSXW76ZZ3979CBNQJPOTFLEFZ7JUQ4TQXP6DXZR1LPV6XZJS6LYZX7TJGZTIFNPG93DDLYLIW3HRX9N67T8RVNW5ISCLHESOR6KTXNESIKPENKNRZO725ZF8VIZCGD7HT7CEUB1GTOZ5BRUPTWLVUMKT4EUGRQFUYTOKA48266JZYXI7HU8UZMQ5I90HLLCY83D3NT2DR075GFKQARF58RU09QUBPDJWSR27C2CET2D7TKHNXDNFA6YP26MTGOWZE2U50N26HQROQMV841N2TFYBXXUTDQ0QIS3NW4UWDH3Z4D30A32UARMWXYDOWDDGXIFVO6MNV0276QUH5E7SW0NCMZKD0M7R9KLE001KDUJDNEL0D0HOBK407QEXV7SWL3MCH6PL4NKL3KF5WUZ87U7XUU6UZIYJTSSWF4V7IECRM9YB9PACJSHOMD7ITT0TJPZ6XKU55ANTXMQMO97CRTROPAM483JEE9TEQST7UZVYDD2HCR7IHKH73NYE1XWNPSP2X1D0QL6CS4CZWPIZAPEGXWH8JCLODJGE9617EG6JZZT4CKTYSSTU * (-36#VK4IRB7YQYQOIHR77MS2H8DJ62DWCCTRE0DUZU80LN5HMFQYB). +-36#15BKNUFZ1VIYY372G368RQDLA1L0XTBOF1FWXWCOL1LJDC5XER = 36#29O2X1K97G23C4MFILFEZ7RR9D0T3O20CUOUUXIN9VEYFWPZH7QCZGW53S2Y1M9Y7G4OBXYOVLWPO35SDQEJWK4CIRU632I1KS9 div -36#1Z5G63KHLKZEHXRGY0EZB4H95DMSDBB9LD9EUQJ0KB2Y9N5LKJ. +-36#206382D4B6J5P0SGZ1ZQSRKB0SCONSASEUK9R18MQAQNUVABR7 = -36#508UUV9HWNJ34Q57D36GF5ZUBA6GT6K6WMDED1UZTHFH6FHG9LYYTOKWFLX3JQTOC3ANEYLC2J7PA15X3CY60RYZJ9I30Y7YQ72 div 36#2HWTO0SL8GTGR8FPT4U6ZGVU0GD65NA8W2ZQTBP3YULCNJB18Q. +36#10LGS8V2L0OI1ZA611U9ZMWFDX1QCLQOA81CU73FBRHGAYE9DFN6534YF4H4E27A0LN5PFJTNKJJ100U7R1Y4LE0U3ZEPC1Z52E381TT6HEIWGWPGSZE1CF7US1MHS59UDDWTFECCBHDN29926OKF8EUCPEV4569C96UVBQW0AHEN7B6R6NHRUWFX1TMX8BFUA5G5TULGDKS7J4HQZUI0JR1GJ0B1ITDDPZ6FGQP1PNW29O4PQ91J4TLOON8XK0ERU122PH3S4NQA8WQU9OH7UZVEUJ0FVORH966TJWNW4XXIT087MXRZ2Z039E3X5E7Z2QJY2V5XXX44ARMIK7JYK5CQEB8O2OOYQHBE8YKR9MZWO1JKQ2KEZM8WD0SMCNMSPXCS40ESVTOGLCAIM8UIIA30R4I6 = -36#2ZWTZYAWGSVSYOGQCY0B96MNBXY08RCSSULADEX7O8IZOS8JGJOXYSJSRUOB83YC7Y34Q9HWRW90WS541DHANQFPQDOT0F4FAEGWE5FVA2JU70XSBGCJ0U9UN2EXHS2TR7O36PGVH22L1VFL13DE8D6RYO584CZEWJQXKWHQ9H27GDT8UK2TB4ATVBVPHN045L5MJZ1KLJMSZFJR9FDHY3MMTV07T2XVH46V3IQYJZ4ZLMHPD6C62JRX4U3UUYVSQZ3GB0KFAN0L6C2U9V4N8WH86U8K3TV8DMLL4LDFIDWLUKX2MRKMGV9N9BR6 * (-36#C7IHCNKV1OS4LEYMD3IWN4P5UZTU4RXR6AFGRTHF9KNQAJ52H0N9JG8D8X18QHPZ7QHLZR3EOECA6TTW3ZF5PWHTM0Z9U7J1J). +36#5UJA0IQB9RVFS3T9C95IWD0KG5M1VSQEOCDSDZD3EMD1K57L0ELG9WKGGOFGCVMMEL45JHJCDL7B4KCH0LE35R9LOC19ZC5ABZ5ILZV3T542F89EN52X2KVF6LV9GLAFWEKP3A4DVZ1IDOYZYOYGB1RALDZAVS3TZWRDY6H5SW8OV09ILWLI5YGUVMBCABN38AA4TR522ATPJERF2ZBZJ9RH13ONRCI1O7KOUL7BGYGDRALCKJQYFWRR4GW4ZPPU30G27DVF0WO12NZTL66WI8SM5KQW5UZ5XSVDFXY2XECKENKYG8BIHWGBC7JN1NME6HE84N4ACCE2T5IVE8PFPZNAMEJN787KHAD17HC2E7EUXD8CST41E9YUSH1WZAW0W1RRA5L2EQAVQ7Z8SOOUS7JQGAIF1S275ADBQMWTUMDYLGG = -36#8HNHUGY9MYNO59NFDFGG4PHIL1HC922C4RC4L8HCAUEIF557K * (-36#OSOY8FRPY175A8NDSPMBTPTJFXMGUREV0137OCK6AB1E9N9T0J5ZAAM99Y1RNEQAPG2KUQAYFJTAFXSGQ2LMS4LUJL8DDN30ZMXRLKQOFAP54CHTZ67EAUFNXHQUU3GS97VY22S4BPEP7DDOPQH3ZP8BHTNEQCSP19AL34M9GUDI1IEWD7AF6GH0WMFYS2HLHN4JR7MQPWYP6QDFC72Q5ZZ8FBUV2GIFU2X85Y3SPFG912FSCFXMHBUUFAEF293C3LGPJ0QGKJADYHXKSI3B0NP868IXYB26DVDVCAI0JC7W5FBTWGUEPY80GWBCT7AOSTV321M3Q9F1IXCNI50H90JNVY6X14707ECM6ZL2GYFJIV3LF0VVL37SPZG37H). +-36#3661L02ZZEGTP95ZT236M04LZFU8T5CRNAU3HNEWDJAGV7LYOQ = 36#BN9HFKZA5J1PANF89RK3LFYRF1WDQCTP7L3UX9MHPQ95F0Q0815LWMNMPF3SPUXH9CFC4U6YS25JB1553K0TP35XDXGDXVPIJU04QGZX1QUN95S7G9KNCUDPOJ4OGGPQQCCSBXZJS5IG5XG0IJQTI42VA97JYOCP8PBKQMLNBWGM7USYUK74FMVI51TNY2MABT4I8CVWWS0UAH91KXZ8WYX3FJBVIMMVXAKKWW6DH7HZQYSGYR70Z649TJJ0O27LLRNAB5E8TJB4TJ7EZWFGJ9EMAJCC7B47J1IP1FPJA883PVA2LSJXJNLOEDWZ4 div -36#3O7CR73R4PAXUB0DV58NRJDBA1HGIS0LXOHCG4OQQFE6D4MN85LNMDGICJO8P4CPWOI4P7BJANESAU3GMMFWOH6J2148HOZXWK7TIYY788U4JP002AZ1YOL1IAF1IOQQ9D0MI0NOXO7M040Z9LZAZ1967XT8YO5XF6S3HP2ZFJI9HO571LODG2TJDRSWCH5S2Y9XGDQXIAD20FWZK589I6ZP4AJYUDHAFBY7RX2MHUFV21QZA9MHRLXPS4OUO88OKDQUAZ8VF1IW. +-36#YYJ1CZWTZWEI2360WMBXDIIMF03CD1BPGSLI80TK0K7HIIPLXK73JO32QIODW08RBJCLDJA3S0XIPEH6H79DD220JCRFQVQDGSSLP04X1Q6UVWZTF08K2JC7WLR0R4M1455BAQCEYNXZJAIF2OFK5R0 = 36#1NTLDCANXK3V2F7QYEVVSKOW26698CU8DX5V1TSSWSDIEA7P1I * (-36#L1D36S6AAJ3ZF5R88U8Q6VUBVYGUHKH9D55TE2MEABTCSSGOFHA7RV6OKN70MHN6ANKJ90IE61NMODB749IYRG3KX5BLPD4GOUTQVU). +-36#2UFJINOOBHWD6RRMZC00MW8339N2A83221I4EBO0QLYLZRCLN5 = -36#15XHNFX3X5NIOGL9DRP0FJC3TOBVRRCOHDORN8I4K2NY813PRWYZYL7ZTTACBS8Q08EQ1MKC38LXTO62HKZQR4TBKLTIY0D9YMDTBCYFK6NWT71JBYFVNZQ2FAZQNAUPVXP8AHWV888DAK0OVHE09RISZ2CDKKIZIFIDERJMYNE0XDXY04Z0LLBGDTH0IY539RT9QIRFIC7PXDZOBDNSF64QCKGFIL9XF29R0LAN8Y1LZKP9SFSB9IPL6OQ4V8CUDIFUEZIKD6XEA3IFSFM0HXGABQVGVDN4LPBRCDJT52V52UB4DV5Q2U87U30SL0S19QI8VWPZ4F8QZXYOKW318HN0M221JWQ99YZ8MCU1J8NF1JUAD23ZJYDDNI76FWJ4Q60MC59EC1E4IT9IW5PZZFQ7Z div 36#EQIKHV8Q79ZQKHC997WZBW2F33IQT81FMVFW9URNR843LV1DX6U5P4SUF7TPZSUEX3UBBTZPRL4AWOO9TNMWU42P0EI8OSKD178FZAQ4PX64GSDTVRC8O6SZ0GG91124A4XDK7V9RWITK9M81H7MGX0STS2A1XZGJGNIZ3RR5PK4D35AQM41OBSCAGABTR5K3UQU1Q4KC4A9N4Y8D29WAH2EPCDIGTAD25J54SDPUOKWRSKJP5BJD1S1VFTELT7HUY8OM3KVBM1MR8YM6M7MWVQ581C9LQTZLHF6GKGDP2LSEVLXWLFDN8YE2B9VWTHGSHHRPWMHPP6OXI9MT1JL8CWTR6TWAYXSCN56CY7. +-36#EYJPF17CIYLAN2LU9BM43PV8X00YPDJHH5Y6BPIIJ6NFX6NJM = 36#12BGDK6U1M7USDJS0GMMJC8X6Y0D2SX408URS982UP9FKGSHYYSCS7QMNT01DNNX3EXUX98ZDCOYWXXN8ZPN31XPMPLJAL34OGFVASXDCAHG2G01KJZ4WMC6Q3PGBQEVRPORX19OXV8N0T1KPGTU7ZVX499WCKGSDORP5OFDYAMQZYU4519QOY4XZ0EDN53MKX1Y04A5RQAUGU112MZIJLM9O08AEPKZKF3OAI div -36#2K7MDMEM43HIAOLR33O48JZWMMLBKCXE8XOAEFPRO0Y5LG8TIMVP7ZJB55YJBG421X6L9KM7VQ65YHUQ7ZWP5FZZE8M8MFCO2GQT1BEGEDY1QBQ9YZBH43HY4EJN0736E1TIA8GFRPGK5CN9VXJ5ZNF12H1H7UH2285Z9OTT1JVGWZN93EBZ9. +36#16HSV1K8TK57A76CMUVYNOR3CILJ0CFRLIZ5CRPZVXEXHXUCORC27GU8VD3I96L52C4WKBX9GHWX9T3SRJI2K8XLIQGAUG7RWDX3BH2WC8AOTV61HKASGZ2JNPCG3YWZ82FN6AIIIGJCQH6I9DOEODHWFI14QL7W = 36#M7VXTLDEFD04ISJJAPCFTMS18WWZ1LTXNIXP664C9NQH3H8UXA50R5TGEBY5NB9DVWMUVXZONUWWAUP7PW76B6R6LOOUFCZVDAGWXYOTKUO8AJ3G2XXUNJBY4HASF0H8U7DRQ9YJVM6JUYI15R8W8JQTOOSRRGQLRRF5N01KHLFF2HO0J7D3CYL8T7QRJQQ9JTPH7ZIAB0WGU5828CN2Y29V3QHWRMY7QE5VX172NIF6O0HOWAWFIS9T93FZEYLY0EVPXU2E3KCSGA6MBZMZF6KCHBOUWV1JB4Q0ZO804AZF79RMGMDEMEAK15PGFIRYKP6H1SOXTS66B20GFLTNRC3SKVHQM895GDOU6USLUZVC1CRS0DSHJWQQY0W0CL8FJE9GB52AE2LTZY11IGU5BS8RV1YZO9UGZ7UEFPIQ731P4X3RFL0JJDS8WCUSSMD8ZQ2MPYCB6ABI2EUBQ2SSC3S div 36#ITN0KN3MEA2T6RA8VG9466Q0WR7NN44LZUDZZ9LTHUX7JTTGBS1T6YCY4ZB4BP8A5IH7G94WC4MYJX1ZO94S986QANREW1K1QK6FN635M4LF3AST5GFBMDCO2MH115G1OBNNTQJSIOH2VWQHP6LQCA79KFEX9JZUYAUA2NEZ7MJ7X5S44RV52I6K9TTX7ZVG26QNN0EZUB7UG92577KCGYBJ12YD5D8VOOGGH7AQYXI2GYV3YW9VVLUWA6ZTY0N3R0ZNH566262VML8ILAWPWS19MR2S83F0PN4EV4GS53IYP1EW5EC6HML2. +36#1TWP3LUYWJLLACACESWVIQ6HAE2VG4TUW1S0QP7SCESNX5TMWAQQTI735P8BVDFRWTYQFYM1YPT6REXMDE3LE6426CFF1Z88BY0MWTB4Z4PCXM2FIVUZXWC58ANR9PPVS62ZWW6N81O5L3BNOAGD2XBS49LW9O19FVHJC2NUCQ4U771WOHXR64CGVFHFOFXU6X0XZXQ1XM4NOGVWBY0NVT1D4R7X7382BOVZVPORV0GDLH1BZVQJG7BV7HSXPE4WJDW83IA45LXQ07CL7XKYQQYIIDRAY12O6H = -36#19W8S5YIR7LYP1HS6DG8EHULZ38061UQO779VGHOI384EV7SBQKAZNN8RHXUNMTH6FWJROEPAYMUZY3ZQSWLGV0CAMPAYCNLNSY6FPQILLDTO4O639LISE2X297RM8FG0EVBZ7OZZ5O7IDVPBQ3HLMZE54FRH6ZYIHVZMPF8BXQBNLQ7KBKCXSQYYOI1THZLJ95H71MS962H4QKIMRNGH2HKYMNTTWO3BV47NE9YQLYTXGNPTIVR4C7BLLGBAFXHRFSG84JXFFN7GYLGRLFIBHZ6YLYACSP39CA4MB7PBI8PQ5LX62TNCUGUDKXQEF36PZTX5Z4R96778Y57EUEUNG09FYCPPZPA3N2EAC1139IDHDI2DKUVXMTSO7G7A0ANY395A6S80F68PMH3VMPHQKWZMFTRQNSS00TO5UAPATSA5SP6KLEBWZ4OT3XUGECEE79PT4YBTHUGMCZ4KVEGE6IS9GV6B6NF9V51H12JOKBSOLL1206WTEU6GK0O3VHYJK7YMG6JIQQCDA9A7ETRHLG48L8J6SYQRTF0G764HXL3SLS0SBIJ1BEUOD12DH6YRYC9V0HSB4LPCPE4MPPYF6YGYQP7W478G8UWGKBIPL0WXRE4SR2WPSJHUFEFX4RL0MMA5OPQPCXLRUDGEXDK7YXZJK9AQ8SP4LXJ245DYIMT8RJKPEPQEBQYIJGBV8VP0I1LH5DX2BC41I7X2 div -36#P2H83J06CX2QXUEUNT1AE7NU7BII6CJZXSRD8E5HVDULUAFCS8N2S3PMHXT6LZG2JX3IISY4DYZ6HB4O7E6X95FQKNJFCG2YS9X32209I26JQVBZ93L6KK7LNKIKQONMF4G67TVN5BNKX6LT0DT6UJ3CX4DE4KF0DMB1E7BY8SKKZPRBZGPR0UQAAX41PCES7XJB2AZ7VJJSC04UA8JR93L5RX8AGOQ9O90XF47F9VK62QS6K3CKBMYMGDRFNPSJICZ4RB506ZHUUATLOPI1WYXP7G8BZRTSX32CR5J3VBJSJ2ANSTXKZC3YUT5724R7YHF9ZG3AHQNGZR2OJI2XV99IXXYXYNQB6DLQALEFZQ6BDGAJ78A3T2IC18DODNK8X55IUPSY6NWP6X0ME6NLL38JV7X2SLYLQWI8PCZ310714PY. +36#5VI2RSX0L8L4PMDY14VMFLEV25C7G9G18I6ZTUL96XUL1RXAU = -36#B6JPI8OD3LZ41204QNE941MD35X2KRWO297EK3XMREGQX4KJD65EVESN492BY45BQBL1WBOMWCXYVEA7XNJAJ5XZQ3ABS0U9HC div -36#1WINCWEFJ35M5MLTGBZU2OI9607JAQ5S148LY992AVVY9P3VWG. +-36#2FR6BPYCTAT1GSBXL8G371VTFETVAF88JBMTU0CWUZ7OPNTWJN = -36#MN4PF6EAO24VV8605P233YLV28JH90HTT5T8GEGCJ7WY7VPP3Y4GHMM1XPY85EHV6I1BQ7LEPEVPL1XMIORSEW128LMPLVXXZFSKF85GNI266CXTM19A8D6I5SHWSYB4VY8WRAOJKYCYDPB77140MQI7TMAMF5RFRAG44YD9NCZL9I9R2WEA3IVCD8Z08YMYP88YEW81UVCOXZ2EIR0THLC4YHOP03RK3XYAF6IJ6D27DJ0S6EGDLB6243CB6X4FIH9OER4X3J75QMBXCXA94KB2RODWJCQPZODMOL23X7YD693AXBO7GQGCF0PBINMZXEZMPRI8T876WV6E78U3CHBUGKVP6CK8X9TLCCB4VTI8UN3FI2AS5EWTKXPPO8E4AZ6JPSVCG73SXW50JCFO3Z50HPY4YWTWZLGHWICO0CC6T6VM4RBM281VYINAIKC3HYQAP4WD3MPRYS2ZKHIPQLJSOZZWY3F4334BA5XO7OAWGHDYY34540LZ2K0O06KPJU0SOSK580IBQYNS8CDDRLZUHN8AE div 36#9AE6MQTJH4IAZXFAHQ91XSYT7RIX6FN2K9YUGTDFBZR30GQB11V9BAM7Z19KVKX3JPQ2DRP32H4UCIRQWJ3DF3I6G9VWUM0ITRU1F2ZCRYVLX1208OTR382KMMKK6I3B3GKOP3THEZPCQF6741MQP6933DVK8XBAT2PWXMGRVOCBHXV5TFAHS5S1SR7HX4YBDTUH03C4KHZ8RUOK5XHMJIX7KROHPB40C3GEZ01PZ15YL0DV0ISRAAW2DFLB1MQVXU1DG3JUZ878ZU5ID98LWNK1NV2IUAGONNTCWSHMCRXE4EAPLEB7AEFUO0B6AO2129VD44SZBFMC9K7CZQG90V8ZEV51C67WEZ8HO4XCB9MWSSNURWHYWFHOKQHKCO7XE376XWG5LV4DPBBDUY5GUBQOY1FRRWILJWATHO1COAXDVSF3TJLZ1U42ZYQVKALC2Y7WTUCRS1DXC226497RNW7B659ZQR3XVBTW33WX236A. +-36#C7IHCNKV1OS4LEYMD3IWN4P5UZTU4RXR6AFGRTHF9KNQAJ52H0N9JG8D8X18QHPZ7QHLZR3EOECA6TTW3ZF5PWHTM0Z9U7J1J = 36#10LGS8V2L0OI1ZA611U9ZMWFDX1QCLQOA81CU73FBRHGAYE9DFN6534YF4H4E27A0LN5PFJTNKJJ100U7R1Y4LE0U3ZEPC1Z52E381TT6HEIWGWPGSZE1CF7US1MHS59UDDWTFECCBHDN29926OKF8EUCPEV4569C96UVBQW0AHEN7B6R6NHRUWFX1TMX8BFUA5G5TULGDKS7J4HQZUI0JR1GJ0B1ITDDPZ6FGQP1PNW29O4PQ91J4TLOON8XK0ERU122PH3S4NQA8WQU9OH7UZVEUJ0FVORH966TJWNW4XXIT087MXRZ2Z039E3X5E7Z2QJY2V5XXX44ARMIK7JYK5CQEB8O2OOYQHBE8YKR9MZWO1JKQ2KEZM8WD0SMCNMSPXCS40ESVTOGLCAIM8UIIA30R4I6 div -36#2ZWTZYAWGSVSYOGQCY0B96MNBXY08RCSSULADEX7O8IZOS8JGJOXYSJSRUOB83YC7Y34Q9HWRW90WS541DHANQFPQDOT0F4FAEGWE5FVA2JU70XSBGCJ0U9UN2EXHS2TR7O36PGVH22L1VFL13DE8D6RYO584CZEWJQXKWHQ9H27GDT8UK2TB4ATVBVPHN045L5MJZ1KLJMSZFJR9FDHY3MMTV07T2XVH46V3IQYJZ4ZLMHPD6C62JRX4U3UUYVSQZ3GB0KFAN0L6C2U9V4N8WH86U8K3TV8DMLL4LDFIDWLUKX2MRKMGV9N9BR6. +-36#2IUI0G8LJHEH6XNBQSNTM1SRH9H92L4G9KHN8K28ABNIM7O2Q1BS8TANUPJQKCOHP4RYPZJ9K1E604S6GI12G8D77A5Y63UTOZ1UTTUI8SDKPDEWXJU3CG0OIR9SVN1ES5V2264RJ6PV7UVNRT9KQ89P78S6A78S6XXDST3LZA2270WAA19E5HB8SA5RSOZR8QZQNQJPZJSAZ88G67R6IS65SFXNJ5G98URBCNPF8FTH2FAOBVM19OZDE0KUQLJB2GNWMWDBDKUBP8XDQ091OH4QHIRH8UJGR3I9OZJTVT0LOKM2SPWFZL0SDFA3RJVYZE2FUW2OWLKXPQ31HAVHAX0QDBL4U1N1R5ECWUCP1G59KZOMGUD8BD7CWBYKRXDOR9QV32G6K18NIDDSRFY0M1NW3WIUKMDF05HW1F30Z23M1BFTYAF6VT3PKMYHY6WLQJBIPLARD = 36#6URKMK7MR884Q4NVQUJ29SBZZZQ4TZYCXRMMTG78KKSN9N8R02L3B8YOT5GHJV6ATD8ROXWX0M3JC5B98L6OUDMYB5V8U9D8ZHN6DHXFP2QBIWJQGH9CMIW0T68L2062PC4GEMGCZOKFZIKKOFO2HDE0VOU4UH1TEKKPZA75XESO4J7E9XLZN16DAC44G19F7L9LEYQM0QXBUUCUO9YMNI20DOOTQJQYSYHUDEVGAD9ZXKGXTAPJQP9J5DY1C6YHAOF3O11Y6PWV3LMFWZ8ZJA6N6HI52Q5GKPJBHSKIMHLXIK5R3XIRW4PRJ80ZKZGCB4Y7ESETVPWZ1ILFELQTFA7J50JJ5N0V05YSKXK9AE5SSZBCI4FUSTPZ8D6E7FBACJPXFF4R0B59LTV9D3HYYSCVM6MVM637Y2W0EBK81A7C1RHE2MY9DLC74DE2A97VKYW45DB04JAG4UDE304DWODH2QIADXDO0256VNPJK6JSZN25HRYF8OHZNF div -36#2PSAG6YBOY8O4K6SPQPIEFZR8MXFALP3TQVW3ZNKFBMB1ZDO9F. +-36#17AMUNTB5R0AJR67FLQKYNBWH8IFDHMRDPBLM2LUPZSVCMJ7YS5PEJZU06A8B4JRBZ51VE7RIDMACCKJHB3ZNDK0BBZWKW92V1FNTB27N0K3Z2VZRR0J9S12BK12RZ4XGE3H4Y0JUCJJ5CYY0XQS8413FZG4UUWOKBM3Y1EK760A4Y0SL2DOP5FG2FMZ4DQP3XTRDYKY6G8KIF29MKTQ6N6XEC4A2IVLC2BSK9LD1JI6V5CLQQHKGNOU29CYUIAFXY4HZ95YXY3KREZ2TEKF989F86JHDJ0SAYY41J5E1SXVRC5D8188YRV6JUVSLA02PPV9TBZDDNDF1QUM5SAQ77I602RIRK8HK7V15CE8QAXETNCKM5WXA2S5EU7RFU3QGDG2CZPHCRDKHW4SY4ZHA1MQV8YIKUZ7XR3J6SR9Q5SUTKHRDV5NMN9JBJ3NWGBP5UCTUMNTEED4IJJ4FRTIAHZRL4RUF5DYHPWEWCUM1F0MUKNMLYWMFI5TYKWUIXN8YEUKGVW3RPBC7J017ELWQSTPC7G9S040OW4QM8FSAJZJI3N9TWH8IMLJPQDQTK8P7QHHM59AFEM4BI7OVABAGTXU5DFO02ZD89ZQOHG5S1MF7BTXTM1I56P0L6QGKBU06OC3HL = 36#8MODQJZKS4OV019OOPWYIHPPX5ONCJPVT5Z2RV1QTI58ABUU3BXSFXDJB53IX2Q7LFSF1FH6YPD7PCJ4K2PHNWK3S2LI1806O2FZLHNF0BX37JETRG41L92EL9IN54C97E8OKY63Z0WA7N0MHY3JFO65G2ED90YO9CQ74IFHSGJAGCOV21E8U2MNED88M2LHXAO5UHFH7WHLJ1TGOOJ5CBLNL0P4T9HBVWB5D5ISM11ISR6WDYQDIL3NZFVIOIJSDTBSGJOMDVB04SY2BWS3IEXXIRWDNUZL5ECVWL2JI3ZX8Z481B1LPJY83H8A9NM70WNDU7X9XCUDQY9XPFYJ75M90B7K4TTBG5IN4HWAQIJ3NALPU44CBGU1BN2D97W8FCBO1LVLLVX7HQ7T0TG2YXGO5YBZC0GFB1GU9O5KUKMUSGTJDM9E6S231TJU2DKDV3JQO7G1P7TB3VS32Y6TH8JLS2YAFGN0PLQQJN96QRVXWLUJ4IIUO1VNM575PMENSWGJGK6DDY5FYQHAWBCPDK7B8GMDU347XFAAWIMT4GHWQMTO9UQ81AEWJOZH5LUEU73NC40F88ZVF78TU6KCRZSLJJV7EMWG99F9VM0OWTX3LHX5JF542BV8X9LYXA2NOE2SK8PM9DMCP15WQV2G7BSOAEDR9O4Q4YOH4AD5HSPMVS1JN1ZPS7NAQZM4JN03VR1OTLQGK6BVCMNJF7FZIMI4UFW52OT2AOXP67BCC5CE7IZGIRGLAFWBT7SH56ZJ2OIT6UFTM6LS9F2GTW2V9APQLZ9WCTK7AD0MNTH2O2OVBX8CE5C11L5WU73TD1AMYWSEG3P10S8KC5793YSHWAUG218FNSQHEJ8EXWJ6MBYJZO6BI0YY6JKR8RSXHNGSFKT36I1ZX0VC9A43OOEI5S1G11L6SKXA1NZHCB0L8TVQYWPOFQB6EQCNK14V4PJD5R13EUS5EVT7VSX2ZEKK29R92V0NEQETWDJPUWEV09ECBYOF7FT7Z4Q0FINEG0ELODE037HUYQH73H9FH63TP9F6W3YLL96JIBCAIIAV11FMABWG4X541QMBMGE84TVTXUE2LZ23SYV38NHD94LAL3WH62AAO2LPG3GVZYKF1UFIITXKKCCG4OP2NXNOUGP688MRW99W30Z79H1OG0XI11RWEOW1G0HPI17KY3BLU00FYVBZVSAOH9C36482D0D716A3RWSRWXJDWII7JFF15YHPDGOAVUNU6HS6NNIBN9QS7SLB9PRF2XEHPMT1RB2H81DB8D5PJBFNPA4QBO9XGR03VX5N9V74S870MVJ7I34TX7KAOD2JXAYCH5UKE2L57G3LL17GWB53SCWSTBY2FKLJ5T99CRVW57BO9IIJOJRK3MKJARY1OJ4P6C7HSNHQNAK3U52FH9CJZKMIX4MQ3A16K7K991XZD9A8EE60NPUUVP5BEQY8NLOO8QIJLTE9WW4UNHZ4OIU3OPMDPKAJF5OAKFN9PWL9 div -36#76BS1APM8GC26JMPXSHYW4GO0Z9XP6FCV9IVID4Q31PYPKDBJ9L5JT5K7O5FW09ROGZ41086U9SU5984SM2C8K3T59F7ODE7X6WZFMH29HL8R2NP8I36CZYC5RSXRPQ5L6MKHDG3P0WSDDXOJQMF3Z6H8L2UZKYLMR2D1D6Y9PRMNQU01OAPC3L5QNJTWTXMXB5FZ6VKO6A1S5HC59TXCK2LX1SZ2DNA1RUUPGOOBBTE61SFBV2QT31IHS8C15CH6IWSGYOZVXFPH0ZTVNX7RD76HKH21SOE97PAMGCGB5OE6DJ7WDZUOLE9Z7Z9IVJDNB4DAZWW1HPORFFXPSKU4NZDGZWP46KPDIZTYPRQ8EX3AFTELGURK2ZBWFQL50NOUN9EQXY34QAVCD17AJO6IYXDAI0JHXFENJBTCVYWWS8UWPNDYRZ3YAPZSD1CHZ98AVRDJEH5W5DHDLKBJDG4Q4WH4H55S2SI6MQJFIFR8E9II9R28IPMI9BUK5P1KYN866BD4WIEQ7BZSIOV94YE7NVC4RU5G0SIBWGBFC3M6MT8OY7J5CIEK5VSAL2JJLAP3BC30POH0ULL2WYB3PWJIBPXQL1W0ZWMUK67L7N8YM9PRGCIPV1VL23VJH01ATROU4LKHSLFB0GVH01AEVJL00WNFC4YG6RVNF21ZT3TPCSKZG99WGV58R6SKZZKXE2HW6BRMXRX473E6W84UW9H5MF6039XGRKGIACLVVMU8YYXEF6HKWT5KOMO50JKXXTXN77GT8ZKTLF3031NQWIXD50VZE6MYIS71Z56ZOQRINNY8QLC62H3VNWZQANRGXWA5H2TY4S07FE8V6WS6QIYN1UM54L. +-36#ET9IK5FTAZ6Q5QJGOAQ6MW9SPE5X7D30QV7FJUA5CV63H4T7XOECRBR7NP51F45VOOMA6KSGDZ2JTNPOKMPXD326O7CDPRRZSWB2EDH3GPJE39CRJXHXZDNXSPS1NLUKDJY9L17N4OK5I9OFTS6DRRKJXNYMENNF3WKJ4FEYAD09GLEOGAXE3DVPOX89OGPL1JV2RCD66REU8IIPL9TLBTDKZFU20L3CTPOJ7TAC2T1RC035HLB7LKTU2ESBZQBG11R26CM4J12D6GPQ7LKC8LEOJ420YB6NFINDUG3YFJ556KEMOA8IQPV8JPUYAGLF2FS1ZAECOBRG97Y6FD996AVE1B5CS4BKPLSV9K3HYLGLPPO517DN59BWTFX51MFT64E065GKRTHPSJXQ = -36#FKBUNU9CJLCFK5FV21VHXYILZN3ZF3QCRR508TL4INJ7M0X8JMMW31DH8GS9QBU0JPT4E7W5XZQMCFXJBX2IJEWQEDX1F7J4MJOWC2NGSFY97WX3G42XGDJVGMYOSCQ1W75G4HY921UFXNG6S1M0XV7ZR8ZHNJICM5529UWRAM2V2HCUUASD0IIY6C6Z9F9F6Q2MP0YFR89GL8UZX3Y5D9ULWGQEFO5GGXGRKMN88AF09W74X91S8D9EKE6AEODBGD086U1KXIRC3IJH6GIYINLFGTVZTAGR6YCEII6IYMFJ2SN469U6C0M79CQOPG0TLZFC5WPO7U4K4BUQQC3LSU0YJM0TDRA * 36#Y9EFKK82YT7GP953KNWX71XO6VV5XRYFANDQUHAVJJ4IPLHBH. +36#6L00EKINFVNNNNGBB852GCE7HATIUCSE00X2KY3JNO45Y3UE7FHGYKMPES2KJWXTQ86TRJ2SC0J3HOE978UHYGQ6OB3HH4QG4ZLL78130U51IN0UO3J0NQGPXVM20GRTMNI7GZH9Z3WS7GBKM6BBI90YTJFD5OOE22J8NVDQTH487I2TBL6VK9954GR50WQS56UMLKVW23AJ36IWIUKQGZ5U4GYGNOFCDQ3EGALODN4N3GG5DPIITGENH3PHZ62BRHIWAFGLQJ8R1VAIMO2Q92BM1NF4OS51T70JIMSJ7GYW5KMS7BBCSM2FZW3EDRPPVBA0FA6YKACOEYSZL3RX68VUBKL2I4XVZMEFQG87OHUEUD915N9JFMQQ5JDH167ASNFCGGRZPD8PZW13WMZ7GKVXJTBOWZI2I33HJX3MRUFLYJXNG5V2LREWKYSONOMCXK9FZ9JLOR7I1DAMMTUSP6QBIB3RCUAYT7WSEFQ7K0B3P4ZJL6HQGMRII36A26YEN39O1NTPRRKGPGJ90BEHOF3QGAHDADIBZ26XUWCGN0NSL5GDEXFAP12BRFDD6KIVUIVUXN8W16AMRXYUJ55W3CXNI4622YS70L3JZVAOOS28NDEC7SGCK9A9V5CJI7VSHD6JV7LMYZJ49PDBL45OUELL3XGJ1MBIA9C12DD6IWTYU8UVX66UWT0B65LEJIUSNQHWV49ANO6BTQ1260BBPADOX2S445A01R = -36#9Q2SELLCJCB2610CRKA229HSABHW0XDLVQGY0RS962RR7X17EHV0BG0ZRE684NEYRUA1INFYP6TENCKKJ0OH74CXZ70DA4WFU8QV9MIU9DL0PW3H5IYHW4JBCT7W28ZNS1YUS1IUPFQIUPNU8H2JEACZ47K7YEEI0VO9EY8J4DJ0TEUXEFO5ZJ43G2EQUVH2Z6ZQYIFPFVEMGIYFEQ5K1IZZFYBKV3B9GJECROAWL66UZHD5CVKPVQIMRFLNWVPA2JECYPGXNAWVRGJSRGD3AF0HHFUIAILV660QMDDRO74JJH1P8JXTVDXL0313EOBHGRF2SQ2YIIL2SBOAHMTCDM2QKNUZS6DHK9E3BIBG4E59OVTDTP7CKVPB5YF1610UP5897UVT319U53JK1QD27GA5EC85949WTD4TRD98PD2D2ZSY5N0GMKL9Y7I5382VIF8NZ3HA6HJSBPEFIMKTJYN4VXEZD0RVJZWFO2VTC3L6M01OXS5PYW7CSE67G8P0RIG9CQVMRXCBZ06H5AL4WSMGSOE3IRUQDYFMT4JKL6JGZD4LR8WIB0RSSNF5MPQKVFDNTH7MWIXJZZ2BWH5QYONVC2BM55JCRBGCQSG0QF0YV551LWWG9O1OIYEDL3PFPRPIDKF1M739XVBPADJMBPFRV2CGHH063YU3H4RQFXOFS8FW0NR691JVZKSW7YI9MRODNJ98K8WR85PNFYS230YDOHKV051SVGU1CFKTFWPML3FDOF3RZNR0NTLV3UNYPG5S7CYWNV3D45H1NZ9 div -36#1H6CFCQCFNZTL1AXXSDF5POPMFCVF4EV7J4WSNESZAT4ZZOI3F. +-36#5EYG0A7RQRYAXLIPGBEPENIDY9RCWYM35JIF6NU7RGS2WVRLDHY6MCBNKC6ICMY3OV5TQBE95EJBXWLCE8Q1G3H1RUNPP06N16I119AZ69Z1H5PQTPPLXY9WBDNMN44UJYII9KRHWH5IRGQVMJJCOFTSFC0G6V3WFO9FCOKNDNQIRHUNMT6WN3WX7ARTJXM7J0H1JEVYLVJ1HBGFAII38SYZI0T8NAHPIG2H0IFMKOTLUI41N9ZN2F8ADWVUBUEDEG20U4IVDV21MGURWEBA1NJKKIDXRMUFSP6ZT4POQI07QZNCK4F2CJ2NQQYAOL9SS4AY2D01CHU269MRQ00LNG79MJPQACBESE1U7LVT4N4JS33T644B24SPUTIEWCTD0E7EHG1RPR4CP9AXLICQ5B3G7TWIXPSW8AGAGYO0OX5S3TZ8RRN1AJEHXL1RUYJ7JJN3JHBWJH07HTK8FOZIGOKI17SCGIF21MVPSJQQY6YZAWPQ1JSIZHGQU3BASZTFHY6W97HRALKUE5GRA6REP6VPWGU0KX43O4VN0NWRSA2N4XAZ48ZHLK901N0Z3G58L8A82W3JOJL3710XRZIZAJ0SHK64W6PPSKCY64M7HWE1PB127Q4L86JDT1NR6GZQPQ0QYFGFHQMDZ5HSEUBPMELWVRG7XH0BJDZIYJ5OKCI87TEYPE5FPNPSE3X6P3MDX06GOM3X4E9EYDMR5GIAXCX6MT6WMM4MS7YJV0PCVPCIMQPJIP264P9520EGGMLL2ELTUWRIZ2YYGW0 = 36#248RJOUDMD2QD6J3IYT9B3528Q6EQSXP1CGGYAGA4L5XESZ8KC * (-36#2K1WR3U0AV7R9EZJEQFVMMS4YV409UL5VWWPKRVJWYY3V1BPGJLI5UWKKPLXOURQ76RCI7HJACPXN40TH1UX3CSGZ2EIFVDRKB1K7CORH7767FLXXKAHN7HCILOSTBNU6UQRZ188ZM6ISO00HHNWBD5SBP2K0WDOWYNVU4CSDS0XCV2BCDEK0KPJ356VKEBYIXCUFO5A9HEDQIVU8KWLKFX7JZ2KWDAY51B9K76G7JBPT88DW2G18DDLBF4KYZ1IPM4RT6H5B5J11Z6PE1GER0JVH36DTP78UW11NMH1JZP5EVGNULE2BVMUHPQ2ST7SFUJ3R8XRA7J2TH7MDILKB5S1BA8K7P9O5TQJ1CTLADYRWW45E0B2NF9HZXKDJPMN6JDVSA0B7OOHNU2P23CJPVSWJE1SFG4JZXKF3NX5E9YSTS76OW3B1YQBF7IKRDR3OF2AF0CMCL1RZ5M310JBWUWWGXVKB1WEL9TP7SZJYLS0CGL2XVPYHKOHAKGUML6A0K7IWHMI3U8WLNSXBOET0XSYWBO2Y3DX5Q26GLQJE77QPR5AFO4LOAA318RZNC8LLT4FCQB411EALQ69L17VM0P4RSYZ5QNF78S1WPQWS41VCD3JORLBQIJ10FY1LWAFY0Q19UIC7UGUD652IWRXKW4WJM7A1ZMBJ7WHM5FNK45ZF6UY771R7P0R4UMU5MSB8WRQV6WN3IJ782C06O4GGCHT9EB1MO). +36#RIVBIMGHIO8CX1C8JR35OU7RY19OIMEGSN2OJDMGBZZ4O2WJ0 = -36#57DWGMN6T8QFXVHI6756CYZ9E9Q7Q3RLCOTYY44EXRVG6GH54Y8H06C6U188I27DD7DP6QB3DA1EH2BGVK8ZANIY6TPRDQF4P9B3QLHA73Q5OLIT5RRUM1J7I26NYAW7JF4A8LFCTEXKFU7VXWXD0GC1WWZF8GGGS4GRLYXQDY8YRBMXNA0WO8Z8KTYCZQX44IXSH4BZ3TFUYJSEDIUB2EGKY1Z13JIBNUW8L8M5LD9PATUR8LPD1FBXRHV9GV75D0PFMPLI0CY8HCE9R7L39736N1KUFK6OABZS2TNKP8QL1YEDUH57JVBMCZQYVJO96FTMDOFWA6O03G472G5DG181DVZ1CUC5FVBCYFAD0VR4J2BU6789QBI0FN3WPCC9RMHITYLI8Y7U9I105TMWZQYR25MNH7UBH9RPD2K1CVTWJMBFT5U4V91NUMLYQR4O47IC6TV4GBJPTMP6GCF9RUSE4QLL0YDBRL6SPPG7IU1MGELCL0 div -36#6T38TCSENOWDT1UX7JFG1O153DKKD01NJEH70UQOCK8Q9AQ2BCL2B2EWI8FOZEU9B6IJ26FC0MLAFFP1SAPTBN3KLGXAWAT8H954S7W3BK8MFICX1V62NF9P32RJ1BFVEJ4BX5XWVF3FSF5RMN41JJU5VJDS092WXVMCKO5KIO2C8BENPCAF10W62QJZYYV4S0FSVQ9MS1CIZ5VNWDLQBMIWB1ZP5LKXXIFD7UMO5BBRAWRID7HG1NW360ZHUJ5NRFQ96SOX0V67CQ21YN9QZA1YJPYRPTWI7OKD04IIQTYXGLTNI00H6Y1MCD6ZHXO891N3R9OG0258R27K949LHIK628MIWR78SCX5JXI0MOVQLMGTE5MYDB7700CM6GN0212UT1K58Z9ME42LJZ35T5GC4MZBG5YE248G0B9V2DX3TB2A6JF103SJ8GM9EWU53. +-36#JK7E9UP5VEEK0MV3QDFN1GMUH2B6FIK7EG0GAZYO1GXCNQS6Z = -36#16SRAJ0SUPOACSNV2EOSD7HX5VNS42ML49487UZQ4OH9S6FJFQSY8VY94KTYCUVFWL0CVMBTFP6AP2X4ME6EG139EAVITC363SQ5ZV2P9ZNVJO6TN9H8OQJAEQAETHIFEHKA4R5P1P6M2GT4AE1ZLT3VQFVCWYB56ZGG9DWXQEF63RI7XALZYFXE0LI69Q div 36#26RKG8ZBEZR8HRLW1EBIXBGOGU5HCOPON5N7NJ2DS9WHZVAEL4YMFMFDD82A79M9O9FVEX913D66XGPP7TOAXC8NOQ1D0ISIOM6BKXWPOQJXX2HC1OFYO2OUL2GIKJC0US5CO0J3HVBOA. +-36#52F9N6J0WUWOBV3HYBAM13XUZD41O11IXOPI9MPD5SU0B0FVRXM6Z9J70SWAN725QSJ6DJ3OSYSBHRMQONF305JL3E5LQUH9DOC39MU1ASQOSMSK20C9SECKW79EIYV1AICMRARQQENK39B2MIG0XMWF4GPL9TR3NIM1XCCCSQ6JQ1HHAD4PYDH2K6PUC3L5R5DA8Y8QJ0DMUI4 = 36#2BEO78HFRF8FDQCMBKIS8TH2SIIHY7M0UY0AR43EAATMD6B3L7A6Z9847M0C7PRA5F4JMVJGOOP7J9Y3VR1DFVN7OJ4XNX9T8G6NYGAY3J01G9XW0Q8UQ1228N18SZORMQH903CAVV4IVVLF2ISUXPV65FPUCS * (-36#26QJ96OIL69LUAJGD0VMJBLCR0I0P4FYYXDXWBPBVON03ZO45D). +-36#1T0PQY5CQBTQ7DTN6O3OKGSJTX7W7S900E2E562L5R02KV6UCN = 36#SGC4ASRZFFUB7HEP3J0000WDVKJFGZLFPZOSMZ068BVATVEXD6T60BNTNWNIEOUFC49R9S77GBGZSE5L0QYEIUP17CVUP8B6BO7095C5VPL9D7YA1YU2HYJ73QP1ZUSBVV7SQY7829XQGMSZY8VMSXF5ZVRRJRBXF5H8ZWI9G29WL0OEI7FYPA1F74Y5KQ6VBVI42TKDO0BJTA35HSG77305225XG17P308N1XL7LIIHAK8XETM5K9KJEXMQJACTTN952JKX6Q71YS22QWUAHSMU1IDPQ439CXXCUXVC7BN7SKD7CJ6STK8U0UOFYPQORSTLI7HTMZTV65IREJZEVLZXWNPP1A5S4GGXVRCH8YPQ80Y6YP4KRSMFMSUQWTVMH8ITJK9B90V41D4K4LNNO9E4H0WMFHVD13VU1UAQZDCDCAXXSADDJZIYJCHM7TXXNL2736W0UHIOU2QKE57LNH2DZ div -36#FR5GF7G3KAGBM6JQ4HXSID8AM0ABS5NQ8L1M8UU061DCIBCBZFQGNT9A87FSIADC73Z9WKSI5LR6LRJB2952TF6FFBEHTXVXI26W3MX71E16MVZ35XPP3PBJ9S610GPCOWNJZIJLRGP5ZNOIH1XHPUDMTR9MUA8MKE8ZEPWQ8R0HV7XS92H1BUVNI8W8BRW93T5SLWC9HSM5VHQNFD2HPDTC1XNX14G31MMHQRFWR5OITV1BRQKLDVPT0KKURV8RHUTIQ8W57MO33NZ8ZD7TGN71F15KCDV0TCOTTN1C1VD6S9EFJ4KV20JHSVSYMYMBZOLHJ3NW7ARQJ15S8MBPMCIKBTANWX59Y553JFJH3R6HB1WFJW9DVMT1O9YFCE13YC24RV0XQPG4JVMAS9G05NOCVDBX8K9VXBUQ6HQP. +-36#B0B0L5EZFMZ42YI9HK8HWFV7MO79BYCUBZ4JI73EM1YMMSV6T0CC8Y6FRQUHJOFEZCS30CXWMYYEWBFSNT3Y60DZXG83LBAYNDS1Z3ZJE7F7EHO46JKZWYULBM0C0FV6EN61QLD1T9UAF27QUI5T05KZF5D98IN64LWKDQVG1XETTRSYZ37KAEPP5Q5XIJ0O9PZZL5OKC257VSA0Y2FINXSB0FSKMG09FZQDUBMHJD7U5TGPWFEO9Z43FK767H1NLJQPSNW4KM548ALS6P2I6Z2NXXLOB4ELP0A66BXXGQGOISJMI73YRRXJVV79NZC5TMCFTNVL5CE8BYUFBFRH89ET0C9BTZFM1Q74HTL0M0B15PLS7J19GQ38YJ6QIJZ281HL8XEPDQO50812K5FAHVXS9BU7DVKG45854UHOPXHE6IMRRADSOSK75HFMHSIMF2N767Y8M5DCPPLWW5NFFDC5VVX55JUNM3IMT6Q4AFFO038FECZZCHX7Q26K0YLR1MRYWPV2K6WIB3RRDSJTRQKNCS7YVRBUYDPKIUB9TNJ5ORUXYBUSG46SYK3R73I7C7O1LI38MDWF3EJHA02K4VAO9A7QAA88AP7BOWGKLRJ4WOZHZ46OP85LBTLPUOXM78PV7PQN97U0MMHPRHUMQM6N32HQW8VNQZIVSDBMMHXYJGS9IBJ7A7UTSYGZNSI6RJ2GSKYEJBDX4QVS94PAFE6KQY5BZ8LH6OM6X46YI2D70SKCLJXXA62ODPYS2CBFRY14FIUE4AHFS90N6GIB0H4LABC8PAG93CPWT9XQ9IQIW6C09FB1VLDVQLFB0HLHYQ3FVG59I76K1GG4D2F0T7GEDLMD7R787C2TGHGAA697VHT56TE6VSXZ50DIDC1YK24632HT5M3ZLNUZYK3PM69E9P91QGPZPXUM3WFK7PAPUIB7Z2JXO4A0KS672CYN7GIC4QJ44XOEKA8GKKSKJATU = 36#4JYEC3A8OC3VSTZPZ4VXDXV5NX8TZDIZGJYP90G7CK22WDXQSU64PHHSC4GU6U1CCU69D4RGJZ4LMG4EFR8I64202WZPBWA2DJPTHFDR1L0699GWAS1CKOUJJWD8YBT604T17PLTDF36WMUVN5H4RSKGZAX7R4UVF4WTR3OJ4IO7QXSJY3PDKYC5MJMAPCMLAGURU1RBJDJ4HS093GNIEX55LO8DKYEXJ81ZZHOSJTZQTSZZ9B9BPC8BG66SFA5OIE4WWNY1N4YQYFGYDGTRBKAZPRPYJHBLF25IQCFK9CAHHHEVDMJJNI71BXJ5F0GJ26TCFE5OXEBV25GSQWS82YFNZ1V4A6U7ALPEHEXPVB0RWLQIIDYJGHIMF3OGON3SR3C0LORCPOLYEPLK7ZM589928Y7OE7B04U5KCTUVQPKFCLVW3OPY05HN57THDZOZE5LSREU7X66RB79VV51CFEKBKS7Q2589EN7L2K0DBFXPTDME2UOU2UGRG8E8NEMB9JWEIWBWNM60N1VG8AJ66D7UP61C46FLZC5S511037SIEYLYM7AML7PYCPXIHARSHAWY1ZZP3R5Y7B7F29QUBZV64F7ENVI57WS1Z80TUH1IBMG28W0AUCQ3H93FGLVL1CB3YX6C0SH12QJEZOLP36FW0M1YEJJ7HU6PBX9AS9UX1XYKCKBAM7FVMGJD3POXQ64XHPECIHYJLBEASW6D9YU95G7YTO1PBZLRBSQZDGFVNZA9F940M5IEKKPJ63LDOG3XIPFVTMT4U5JBFRN2CWLAAYHMY0X5CCDZ9POPQADKL58ZTRDR5S4OEJ16FY8Y50YQGCUKKV4AVLDUQM24P2LF30UPTM1IDQ0CEJBYG15OHLOWP0XD8LH2FMUN1HS1Z9GNU3JC3SCDJBRZ6DE6WVZ4RFJA57YIFHXR3N6 * (-36#2F0MTMEBZG60OBZH7RQ1A9HZI5V6UGF4F009QSICGKL61LYCDT). +-36#2F4YEUVA0PQFP5K0OK7DJR0JULZBJBE10TRB496LWI4M7N8ICH = 36#91TFRLUDW2VUFPEJW4SVIPQD0FWNOMTNKD52G8F7CK4G6BCZ2C0DE72XTBY9PX2NOC9V7W0ZZJ0QBLI1YE07M7WR6KNMXEPZYRDAO0O4EPG3OBD4KKZDTG0RGJR7FTOVD3FKSO37DR9BZCYS6OYD1J40OPNTWS9ZGAYKOREXLIYBFTEEYPR1LMGGK0NKZNFUY1Y6VZWCF div -36#3QLW4VV98JI998EVGBR7L7E66KM0O9WPHRX114XK1C0VJMOFN8CDIBW5AUP06NNUI4CZNLWWAYS5ILL8GZYJQK4XBTU5TS9MLRM8QIN7LSVV58FJZNMIZ38AWHADP0TS9DBG3ZA7PA7JB07Q7FQMH273. +36#S2KUIZ9ETKNKUF63NO5VFEYM481R1DDB1X1UWVML9VELA7TLI = -36#29J4H4LUGC1YCDJAB368C36HAATPFX6IH8IIVYYNR5U6WL1GY9H3VCOAKN751LEF6JDKS9K8TQWERTZLJWE2CU0M3PPUHSW7Z60 div -36#2WK3LZD3YFVNN7BBHIPNC68VMPJ7DI013IRF96CDHJFDYY6YWC. +-36#BGQY5E1G1EE6K9ZPTE8EKYXVFRZCMHIZ5AUWHFN6FGSNXHDPY0VFO5ODW2IVH0ZGTFLTQT9SB0BU4BO6DNSUTMFFHYU89VMCT80H8YTCYMW100HFY74B9WC9YK7HQVE1XZQOV17WDUOITVJ0WNUDILMR5KWF = 36#2TNIB8K3HB5DMEG3J0IAX7NPCSLG6RMXQIYD03W796M9M1JN3YE66RUXI644HMUMJB643LDZMYQNJTB0NNHA5B0G87G1R5JN3Z8XBN3N2Q8MZWHTV52DLW6OXITOK3BS4MJOXXVV9CUJ8VQ04MRRO1W8AL0H17TRFHPOW5S44138IWCMH6QC4V7VIUD3I3U99VO07BLLXEA1MH0UYSIQTAISCNHIG6B2G1COIWBAU4D7M4M80WUSRFL6ARRA7CLPDF91VSGNUCNPZCKUA09CH2TA6GG2T9O852L8JUXOSLFAO17SUKW9NVG7HF7GX div -36#8V6L4B2D9Z6PXATWMTIJSZUJPTZFJN1Y0ZXJF7FVZ8QMJ26DDZA1RUD4ZIS4M0VC2SZH9WRLZKRHM027TQC77N0MMPUBE586AI3U877DF9ZYW1SC6NLA7F1LDSSKRNMLLWFKDKIR9F0A2NJMZ20HSGL0E4046XWM7. +36#33B9AP6SL7BLQA9O9SE3MWK2JBXVOMU6RYYHEOSAG0DDRKFV1K = 36#6DDJJYIK5HTHY07R0DL3GUX0VWIAU3L6I4TOPA6QNH1MGSAVSJUZCLRH6ZST4MAE6XKOMJK0S2WMWMW1Y7HDQXANXW7LLUY8GSG div 36#226LJ15STA6KUNUKHJ98ILWEDLIEMXDCLAX4X4C9Q9JN6WNZQ8. +-36#VKE7MMWPHEGLHEWUBGIP5A7RJH41M1MZYFS7R0D4RWJQXQJ8SHUUPGC9LRZXNWSUDJNR7KZX2LHNDEL0V9NDE3SLF8828MD4336KMR0TTWJ1Q49X3ND6BCQD7TOUHL4FV62MG4CPUJDW5CU315KRI3UPC4MQ8T9RDH0IJ4DS = 36#28ZXOJV5LTCMFAZWPUZYT1E2THXOM93YW2HQF6K7EG2O30OI1Y * (-36#E12PUEGNGMGO7DMOSE10QT1JFC3S223QG7KF0NLVBKU67NA7KQPT0Q94X11IBKYFEUPK51IBXQUQT8EGFE3UDNZH9ECHYMSZDY6KV60K4DAZ3IJ4DIPPCX4). +-36#1WSU0M258PZYJT4YP436B4368M4KB25FMG7UGBLLUTONVEYNXJHKVSY8VJC139AB0TRDMF24LQMQQC68VT6JCH0GNLF9CBEKXUBYRCRDCKXO15OTEA02RR0PN = 36#4YYVDRDI1LJUOUC28I78IVQYUOQ5OVNMJAPMRUWVMR3R7GVPPH2TWRCXN7U5H3FH1V2ZFY1LZ7FLKW7BMK7CDZJLGLV7UWJ3PBCN3ZTJ4UZO9J49RKV6I25LIOT844TBM7UI5YSE1NCBZQR9KBRQKVMESJSXU60U2MZMFN9Q7Z div -36#2LN82EI8FD27230IXOTAF10IRWHZQTCJFZ6FDP19O53K9BC2LP. +36#34C2JISEY74OE0D3FL6BRSC6HQF10WCAHH3DDHOFI18Z39XHRA = -36#2QHDX9P6OCFTBJOQGYRR9AA68PCTUBGSM6CS1PB3M9B6EARAMHLS5ZJ9NF5N9TRF4TAPH00UXOCRYUDK2J5M9B8MLK1DUSYFWYGBH6YM42LKQ6DICKPGJOOPIKN59TVFEXXEZ6FA39BPIYGPQC9K7ZSARYDRLC7AUAOSGH2PLRDZQI4VNK4RNHLP1JAEN2XFX8WLBD1OX91ICEQ7YD7FYLEW804GO2I1CKNZHSL98AL5KE9NQYUYWFDD893WVIMBJCUAI80FNTQF6NDKPZWR3BBDQSVC2BPOMWBAU5CUWK95LDGG021Y66JYFYWJUZXCV4UAB7CF5EGKFJ4D73AUC8SCKMVPVG355G0KC3IHKNTIO2D9BDK4TA54Z4JTZ27WIGKG94I8LVCUGR1JUBH0CEMH4RW3GO080GDI8FACX96NOF6OOZHKJKU4MN7MF3XF7C div -36#VK6QLYNOLV0RGGNY88V36XXLIG04XKGIBYA085EF5KLJT5D136DYO7F0Y2XQRBPW0PINEF0QCGD3Y8VIRLY01MGRTY0A5OPUY5WEGYQ6IWS24TOB1WJOFYTNNSAVKQ543PVJ4U3KFSJ6JHFV1VDGWP4TGGKCT8BBJ8N5QF8TZ4R19KEB0IAVYBFAFXBX3YP18TCEWHK1Z2W1HPJNIAS1Z84S3IQI5QGI966784GX454VCAETP6D3HBNHFBVHEQ2C22EI1UA36ULHOXDTYVWPCUWFB9MHUOHQ9DEE3UDA5PBSEXH58SDE9SHC06BGZ49R22LL48X3CGIQZWLVM74VYDGZIWFPTGSMGSE9N8FQTIKMAY1ON23F5XC43UWE29JTP2KG1X63924UILMC. +-36#AN8AK8VEKS268BTKJJGMUM0EI3EAYCFR6P9FEHH0MCIORW6DC1CUMQ3RAXYOKVZE2WPW5W5MDSA7WDCRRFQDQ8QDIG805F3O3KW0QL6BCQPL9WMFBT4RQWVN8GXTACIXR10XA7CJCCF1JC870NS34CCDZEL8D4CPLI4HB7O5MYQE95I3B9P61EVJYNG2MNS1QI8XBJCTU0NQ7DM79SH2XZX7C3SS9STT12Z9O66OP35SA67JZBG0PVFM1OVMABHGVL4DRIAIUXKOS42SNW507NXK8DWELEAXW1ZDFID9GUA5OUJ3PGV2SXQRIL39H9NCWBJ22KFY89RMJ3N2I5D0U4K85H1WGAHFPG4RPN6EBQDNWWMQ6RJ6RCZJWTJT5C3G41W4QJAJD52XJH20WFXW0C7UYVWHODL8RCVJQQD9X0EORX29I5VQDUKZOSJZCATPXZQDSKVR0GJL9XMPJWPBUEQ0L8O5TPOHPZ16HQ616DMPMBFFZ7P17NGLJO2GE150MB5ULAAJK5YDSABRY9XBAXL5RRWI3OCFCJKIKRUO1V09TGV066M9CYHOWFWT58XKENYFW9QK42589RYMM7U6787W5W = -36#4FZO00VLQME6ZVT3DUW8DO37H6CDWWY5MZDSC1SJ41GF7FR38THLS1DYI4T82T2EA07W39Q6MW28MQHO88L600LJ4TLXM6IFSO6S0JLIN7YJ46VBDK08HGPHH3ZN302UF367T9Y3IK0KO9XDT5PJB9FD3RZRYN2TQEJWXTND1W6ZIXRA9CY9TPYIQ99RB7EWLHJ1CJ88J55EZV4DJYL0OEJ77D6CBCKSP338V24L7XG5HAF39GX5OBLBKVRVG8JBK1Z94Z34WGQ3YAXJ6MW3U259P9JFWF2OBKG6OWJEGPSUSBXFEU7V3OPZ186Z601UKCXVDBVLWZUZ3N2EXIBYRTPBPNPOE7H3A2JEGOIQM7PV8PUQE7B0DVCUDF3ZEV0HRPMJAMWHAOW454NU8S67KB8HSXRBT43CPOZO3RR0E5A5GC90HVT6X5UE39WYRLS0MYEVKJSK0L82UDOOB856PQDUVQUU77QAGMUI5WKROBS1K9C2REK7DBY4MEM8ZDGZ1NS36Y3G8MHTB2P52KLQH8EXHN2PQXKY6CL7KM52WUQ6ZY8NSCILL6MONNRDAS79RAOKO4C28S9241N2Q129QHWVW79D40PKK9BOEHI1G97I0POQUHF5W7PGUYBLG78IZYFT2H3YSAZ96NC5GUSCV0OCHWNKTG8VF78JUIIFZHAVJNAHY9G62INGLRWQZME4JIFMNCSKS9DNIMXE5MICK9GC79P3D3UKDWWDTML8SZVVKI5T7113S5MNJNMNUH2B2C65ROUWPSLSXWR7RFIVL6ANJF0 div 36#F11WVU9JEAYKO2DOCW96B9789J5771S5WZS5XESCCYPMVKA3QHZA7C5E4HU5KKAD8WCB4ILNNI3R5KGQ7RHY1D13K0UV88VVGOJ8F6WJP0BFIG3JDUEASUIMZHE98B24Q0YWBVXY2WS0Y60AZHYHHA2KKY06QRK2H5E6K83OYK53K4VWCAVIK2FOK9EPGUIRR. +36#1ASBZUH6A63WJR8QL92UYQ9UGDX7MQDWKRZVRWQWR4ZDRBEQD5NHH94WSG06I6IWTYHARWE1I81KB5RPABVFG4406YJMTQTCV1PP9NPDXBTRHND76AQ0NSPCKK9OXQ6WAJSR357YMRVNFJKPOCMAJ7EPM61HR0084JKTOA18EONFTD0BZOA3DHWORYK3T7D6SXJ66DKCD5MPM7E10VF2NN6NLMCTSD1LD236NXHTBKS01YGF3WALTBSBHXP4TIOEHUSDBBYYLBSJ1V9R1CAFO0OCTXP7DET0BJSEQV9PCNTADDA9C6VHCRTHWPUL2OTXZ1A4YTA5MVFMCHZV7KJJ2WUZUM5A8738WHRZ16EFJLI0TD79IDVUD74JU42JG5R93ICOS51KAKQRY6I1F12AGGXZVXRQJC2KWCM9NBUGYTJ0OM91OCNORNY2MSNDE5ZAZJWVS5E9PJFBGGTNVRKSIROONKYHL6TF2MUZRI2MFN7OQZQGCLHT15WB4LESKTF72G25TRSB81299TOTDBZ5EBMLR2KHYC2H92DQGGL8YNHCV2E8H0QG3QOC4BKDW1QD49UJK1CAH29D9JF0F63B0RDJPS3O0EP9NAR3W8ZNWLUHJTODYMMHTOV1EEKZ4MRK7QTIZ7OXRYNNPUE377PXVW2E3KBB1VAXC8SQTJR6VR7YARLKY05T6ZSB6BXKKPLYY8CEQ30QUH34A3JQJTWHI35EZ4DHHJ3PH4R8XBDG0W9XFE70GGW3JVTDRSJPD51F1P94QI0XDRSIOQ7UWFYQ325498EUMQK3YHJCHKU8DNJGLF8PXNIF52UA5Q7W02ORZA9ZE3KOQK7OMCKCQXN5YNO7TFTALISYXPJHE4GZRN18J6ZYNYAO2KN9VBR4JRAQU909J5IVPXB7MKBP9QTFUFNOT26DUV7UGS1BTUGVUB8315YGCV1WCY4PL60MOY7MGZ2OFOPYA53AHT9KU4I41THN6YM2LR02R5XBFUMC3QIW1IA1T515U4S1X4YVIG4P6NQ4QOCKHNPD4LPI22LY8H9OHY568L45WXMO = 36#BJM2Q2TWJW2EAICND1W1C7W0ODZS3TS9820XL63V0IIR1YXL3BEBQGRPEAP4GIC5VJ3AN98GFL5AVAQWK379RQHBGMLPCWMNS6ZQ0LRXHFNQ7IO17EKW0WI2WF25YN2KER6A248LJ4JFE9C3JP44QONK9KPXI8H0HOKSS7VPQR2LZ04CIDROLHWSNTQJKKCI8RQUPURAXOBFHGF9WYQSWRWLEASLTW1REPT796I9MCGRZNPP8DDVP7PSTWW1XHS9M3KTJV40HSV8N1DMGREQ4RMV09U7MK0Z2KOLA4V0GTPGW0MXAYLSA8JSWGI8LVK076CVMM9VCID9P4MNI1GZ5S9C71N5HB1US4ZI11W14W0WJ5BW04ILTSK1P00UGJUVVBLUALRTLNBUP951R3JPEII6HL8Q1YENXQBCZMJR5YHK26LJ8I5HWV6D4VFPRDU570DLXINKJ6JKAI1UGHAV7OO2X82UJW4F5MPBVUHRA1BT01KXAZJ0LR8WN753ZPSE6J7LNPYTB9U6WTRR4GXHPTEKW3RIHY87UAZ6Q55OOJ2KV26CB8MXCZS1FDOHRPGUVBPVTMXDO * 36#41W890NABRK7S07THVNPWW26SRK9PQOPGTVFZCSEXYO08J4FSI50499BUB5L6FYRHIHTP4EJJ1A6CO29FADRQYO59DT4JZ747Z0AQ5NN1J5REF5J95DF8GDV7VPQJEHPJVE8249ROVHRNYB476HA0PVQD593R1OAJTUWHSEBGRL6AOW4FC5Z6TARPM3O54ETBVC9THV8ZAJKHAIA2MVD1FFED83Z3KYKAPBSQ0CA9J62B3NPQ0CZPN2EX8H0JXGLHJR0T476Z7QB9BDIT755TR4ADYLNZO4OF2VJW3B0PGB81XPXECXXDQ5OI414UP4CMUQ5D72ZQSGJLKJFZA30OFHYENSGOABBHGMP0BQT5UURQTBIQCMUK592FSL45J2J9SAGW9FNTQDIHRYPK2823DZS579LIUV99IF6QGCBPW1TOFLOALY8GBG2HBWSU520STP476B692CT9J3DWB69ZAUB6LS. +36#PJFXTNAUWXYIRHHGG809K4LX4C16EJ175PEL1STK2V1O3R6AB = -36#PEX552I470ILHPJ3V5CP7JJAPZOPOZQIYESCHOBMIIG617VPRFUHRJC8B9M2DFF6T8CILPGQAT0W19U6B6067XL4XMIMJ78DPU div -36#ZTMJ2TBNQQ7XWMT9V1R54DUPMQV2O5DA46LT2P17M3B3C6O06. +36#35C4XVI36DFG24BTU22J8NP7CTNVLUOMD4S118G0G1SHJC7046BUVCUR2BYOI4L10PM3FF874XF5NQU0HY95P6NC81J82GG2R6RRROX5RC5RXC3K0CT7S00EE4RWIGTCKLK878X24QO2YF3MNLLQDKCZE642FYR1BXI9XWZFP64A6NOH9H58KE12PCOT35GZ234KTTCHCCGVFA7ZJA0QXI30WCCUUNYLJXW03N7O06IXMW1Z277ZYNC5I37JMW8KJNCSX7FC = -36#26GYSWXN54PUKHRRVHFO4C0QW6VV1K1CP43XDE60AXKH4DPHMVC5S99RV2FOJVOJA7VUMHWMCX07AI06ZAOCXN6A5S2MHV90T75LKEMV6FW * (-36#1FZTVUBH06MALRM3M2VI4DR96C0I08N84JP701727H7BFWC86IGQPJPOSDT0YVD3QOTKI3T90SKAAEIW98QU9CSWJ6QOF6QYOCDCTZBL8TKRMVQZR9BQ9SH2DX9UYIYREV9EH4COZLTMNJNCUARXBC2WZES6T6). +-36#2SI67Q19K47UDONO7F8YZBZSPLG2BBJY48H3UQFDXQJDXQJQ3WNYY7RGI0KRPCRTXUKA131LYMN5H01A9AWM631AIOAC7YVO0UA2LCTJT63E3EELE4GI4146OCB8LHZ7JKRCU3FRIIBIAF57MHG4YX468H5FC57XAQPRL9U74KTLBZ42GUQWUH7GDWZ5FMP0LIHDZNWVRRULS0YA9UA8DALM43EROYDNAHSJ7UY0V8243AFH2OGJWKKPN1KI1U64ZOWTO4SQJ961L9OI4VHT7T46RS66YFVI5OWIZNTUS5PIHJ0GA4MDRL2NZNU6MWT1MC0AM6G4GLP5NYSHLMJJTF4TIS6XGQEP1DUI3D2DE2YU75RWLUEHUVJ8DLTIH5PP12VVMR55QTCGUXMP3SES0SN0IDVALW5MW077LIMPMMFLNIC9CEA94D068QC5XHUSTZJXAYDHFYVYNDH5L53KHRST8PXKEG5GZD7E4K23UCVS7HT5VBIM45KLOILPCKDZ58P2SL38PWUTL6B5Q3JA4Z74NZLNAUWI10M4BRNCUYGHOVS2ODMRKAITIUUNXK7THH94RXKFLRFJ75AWE4RI20YTELCJ7EFZ8AHGVSFFAECECJC9KF890AAZ43L9O3R51UP0TX1OWL9GCTJQ611HBMLFZ8D23E0Y7QBN9JCKREK7O0UV6KBPPR9AH3HQP0Y1DK2744AGFCRENDUXX2S5MFAJ4NDJSQDM4I1DX7SYM4ST09U2A5K5HBUPG3LDF7F7VQCKE1ZUZAO8L1HYVXFGH0IKVM45Q7SZXD3T2LOCGZIN316U7Q24DKQAYV1IPU48J03RSFEC7O8B5VZVRPI07RA3UPOSFBD25A5OAU9HNDR2PAJ5QAG2DLD73I21SRO0C0KJK7XQ4PCGJQOO14FCIRIXQPSPET83ICFLJS37W5 = -36#2SGV9TX2M1H3N1GJ7YDY0A1FWZW98M1GLQ9USDTCXDPNOGMELRY2TXL8POW2MZ0XF0QKVE49OEHW0PXXHBNQICX58SS04HJQL7279KVXKEB48OYP9EGZCLD6M1NZHZJEQBP6QWCUED4NVQ5SRPMBRVDV4D79JX4RJ7Q8BQCZQW1NH5FK9SQR1WSUOAHNABTEHS2FW46V5SHVZABYOLDP5RHJ6U9LAKU7D4P3697UIWG9GE1IRMZFKWAM3ZNDMI2EOZE35XNPXZFWP9Z18SQQA5VFGUD21VRQ1S9VQXRS3BEQBVHJ3ECDVT9C1KDXXVIBVQ7VRJC2VB9SLWQKHUU8RZRF5669G6XR7LGX2L3DKYKHBC2QRZRMML8WR5BDYO4KTENGUSVIJR8FHIUU0QK2V0RYK4TRYX3WF52UPG2L5DNWW29IBECVWPTH68WNLFS2TC5JMJAWSCNUILUCSYLN5ZXJHTL1J0DT1FLBX3EALRS9BNA6B5S0IUE857L1MRVYTNGPEEQUVJ3XZN55C282UGLEQYT1KLF1JZKFBD7J8LBO9RO92L2XFJANSPVIGWURBW1EA2UZEWTJFMSNSGJ5NIFKKIR43X2PKEJYGY9RL6G28UGOA1UN5G94NXKDR2EK9HJ489ZTUGKKHY3LTSWDA6VEV2WKXXWIMRL26WBYHZDSQ1SE7FU84GZLJSN1PX7P7HR5662KF15BCPI9S7H01MHUOGUDJ7PBJ25789AP2RBEGHI9HMII61FZJRIOT0QVSG1G6VGAW3M2MLD3068XJUNAMYL3YEO0MBUISY4OOJOK7EGJQXLF9PWQRNJACVGJ2T6PS6YE3CV7WRNKFU1TA04XSOCVDGS64ZAT1NCRIM51N6GQYR7CGODKWGXK00GMB454SV093ACEZ10I0L3WH661WPIMNPXIPBYIUI1POEQADHLY0CLKX7TRFVIYHTIB59JRRSTI7T85Y7NSN2XAYFMA7L5 div 36#ZZJ6OZXEG3DNY2WOJ61OE4QG67UDN2WMJFB10D63W8LTN2B51. +36#6C1A2F75QJIEYGLP5M4XB0SBAZZVWQ04RI6415VA0MGH7UURE3IHIZJPQZQDQXGK1GYC1HGMCEA24S1OXBRWAL4WZU824LCMP8AFXRCECX0HFSNYNB578OMRHKRQBAD6YDQA1Y325NRGD0K7R0GQBECOLIEHYJB7AG8MHHZS12VJ9UQDJAOWGM03SK34MZU7NYHOKGS86W40AYWG00DH4Q75Z50MLDZYJPX627M3MWF67GABNDOBJ4L9EKE0MJK5EF71LYKDB0UM9XIRHN5P2RAKT532LB9DEKYM83AAXZY4U7BUZTFTNK6CKSI6BQZ27LV1NFO1NKX5NWGT6QMX7AN039N2XDQDLF3PG3KJ6QCW1MA5Y7RILLDL = -36#5ZP2HCQ6W0KGONUBJTQ4Y2Y4P5Q9XQFB15C6V9JNYBYBQFHMSSXS192OWXVR8MA50LG2RBJOWGO0G98K8X76XS5CX21TNKIOOLHH2LAGUDEPU7OI58RZ2H0L0PD7BDAHB64DPBDF51X74SXWM4HNOCYZ6Q4OUU0K8BX0L5JSGGC42XJXWT46AIUK5SP8FLCKIE9QFO6KCC80F33113QMGTIJ3N117Z94FL4YMAGNR3OORKBU7Z33XUA9WHM9LO4LV1JRHCYY88OVKOZUIYSWEKHCKTCOZK1YXLF8T83KMSQ4US4JZNYPETSQ95HHS4TZA1J7AYNF06PPGWMI5KANK8QHZMOQ7C032ACLVHRUHZJCYK5TSINXP2ONR2NQKAC2HPMASLZ8HMISCBEJ5CDAG999FH3WQUX7OR1MJQDHR div -36#Y1VEMR6T4ED93MUL95OLH36HIUII29JVRANRG0PHNJI60H2MF. +36#5B079DUBDYG0DO8EV3X576V57HXKG5VLJZOIZO3U64ITGJKU8O9HO61KVHNMUJPHUHFA6YOIAOP5KD1RCM09UE7JDVZIIMDFJH0BB7S8AADF57U0MH8OK6WQCYDU4TWCV65NFDLQHYS4YDRDMWBPB12HNBS7MKN7GZKJ1LFASSAERJECYU8LQPJN8T6YAQ6K3MH5Z5ADIEJ3HTXN18AZTC1J6XFLQT2Q4W174XQLF0W91WJYGY3B937OZFPERFKYW079GDVN8SE971OSU30L149N6BDEDPMFFJLYKY22Q1GQTTLQU98V0N7GWURFW9JTEF0OQWULFC6WNJVFYKD1N4233VH86V470ZFAZZJNPOBHDNYQXHZFIQ4UCNCOMEYSFUZJ9L4CAMBHLFJLPQT176OH7P5SBEQGJIVNDMGD1UIRK7MF6Q532JXFKN5250DK6MO6CI6V5GCLT9LL5DOLIT0EV9XAJBNID7GZC9ZEELEIU5AVSB5X2YWQUGTYZAHSVFTO0VC9Z880Z9IUPSP5N6TEJ6OQMG8W9G7FSQ2FU1MD32KAL2SZI6OTBPRGOTXHK63ESPQ4977DHWNZMX7MDMAO3F0B825L32XSIVB1Z3YVPPHWUXDY2DEMREPWE83033ATXMPG1HS6MYQ78QCFNRVOW9I79ZBX2MI23P7FZ354UUNKT4NU2ACV63LZP8WP7U9JMYAW5V3HG4LQHZIH8FDW0729843OZY9OQU8J0I8CI9KBH2FCCUHW6QSBQNM7UX8YTEKKIBLA2KPLPFT5YLI367D062NNHLIYEHIYIMLCF700TFVP7B3524998URWMIHX7WHISBKU2QOGN8Y59EZP7TEI2Q3VMQU9Z8KY04FH8LYWGAVJI2I2M9ZL9BRPL5UAZML32QLBPDQBT0K3VJT5J4FEW7WL8ET9UV0DQXFBEH35LG40V4HBX1BR76TQIP2IVWJO = 36#K64TC88TOVFLU6M8886SRK8HOJU1RPUUWXO2QIJY7ATKHND33I7D642E7DHE5JG4TB8688SCHFNGX1TMV0ON1EG0Z68O1W1LG30NSI83VJTEZCE29W05WAGPEC857Z6YWAVHQY6VIJNC0ZO9PXB972JVYS8ED5Z4EOAM6MB5JPSOUZZK4XET2PK6S36Z8BTC8IX231A666IP7KX04LO51FAPH5LN7CBBB0YN928SCUELUJZRMTNWQTQH0QX862OA9ZIZVRH8XYLGUXFQR1I81ZHAF8DUPSQZU8A6NC9XLZYVRVITOX6CWVTRQLPK4I6KMLYHVTOTKAZ5EHJ0125ELKNRDJHWHDX7GGT0L1D1ZRKHISL80O0WEGAJ7L1G4HCJLQ0H24ATEWBQOZ85SCVOCPFW5QM9EO40C5D6BXUQX6OILWRP7JSCHJC62K42SYW4XM4VCRG04DXZQQSMR92LHPSETFVC0RS4T2A2L0GLQVDRRO2737QNS9BLO75ENIPHVJBJA6S5MKMV0OC0JZ1HB7D5O4Y829T38P144TOQ80HWQ4JER85LHTQ7R9JXZKEH9TU755XC3EMWPF9CLURCC0QCSTP97F6DKEQSFOWGCVZ0QNF2BGFOK5FE2TBPLEVEYWWAJ98MNGDGFE00L91UTOELSP8IQ1WZIDN1SRCXBAPX7MSRTJP39WAL3GDDPQ8YCU5MSA4JJADN0BJZFIPJTIYOMZXOKSE9DX4ARTFBSP7N4K38SWHRKZUFVCM2PX79FROMN8TBKL84PDOEO18UKGF21HBNP5BAWCDMSEPG54IVLLWCDI0N5D6JNXRUP01JKERRXE3YIJTBDDQ3J7FNT7FSF7PTXTTPAHHCU2KGZ6U * 36#9GWM0GN23XJ6X55XLWHE6ILU2F1E6M21JCA9RV3SJCWZD05LNPNSRRO8MU86YCBNPAN1SBFXV54GP3XLGL0LS36J03O52. +-36#5FCYGNCQ8IQ8ZQIU3KIZTKV191LHD3TZIR7WDUA3NPF475L790JJZ0YIS3KBKTTKYYE7O9Y8WBF9F8ZJ6CMFBRTBDRTEP5GW1BIDHO5S29M8WZODYJGC1DDMPT60TSKDZOQ85QA8ENQYAJRYEYR7ZRQ3FOY32XZDO52AFE1HXP9N60DA2498NG08AVANM1OKUDYJ4 = -36#R2VV9L0BIXMFTNUL5XY53U45J5YJDOV6HB1VOJIA948QWICJ4 * 36#77PIUR238JFIJVNK3HKO0QH9WM327WVV6UWBO3P71CZBKVFSR4RHLF9GJKH5VJE7144EFY5F691W77VXBMAWYLE0NN21BT0KABC0XPZM6VS285N46PK90QYS6P2VPSEN11PQ7OZAWCXW74ICCZVJ. +-36#AV27R99108M6OJI1IQHTQIKTFG55Q9NEK7HJ7TA1PNLRKI587 = 36#6CNN7AYSUR0UXVEEYUNUUZ5BRF967QID5SVL9T69QBPWNKFEQ4ZDHA6OGHOI44XBKN2ERF7SNVN8POEI3WP65R34RIMBI5S2OADN374DYN4NJXGMAWOISUJDT1S5O1AYD6YEXCI01S04N4Z9ODDX0QNVD2HOAJSJ5HWWVDGNGD7UW18GKWZXB41JI57MMQSHSDX72WU2MRWH79FHYHI4235YZJHLNIUU234KMEUB9BH9APKK5JWQ4G2HBSJGQ9KE499KPIHINUHI5XSUDKMWM0DWX div -36#L1S4TVIU6B795UOVJV4TRVCNA63Q6DO2SHYML095RGSEJ0Z3G0YRAMZCSIQ9H1XGVZBBC7CFBN40APT39LTIXAZWSVEAQOSJU6WAOD74RJUN35X5AU40QJP6VJ0JLQX1WO8KIV0JVT0TVCSTFMPG3DWQ5R7CIJQJXM1ML20U1PTNX4N3JLW1PCL3LNBN5J0S6EICUNADC37B2BQ99FRNHKK049QUVN4Q5X3S1GIF. +36#RFQS8KVV9SRNBL2ZA9HXNKYD6CFBABDGN4AYP2EVT41A0LEWIY4I6264DJNS8EOC2YWYZ42JBTYR7Z5X4U9SDE6FK2F6DQ8383ONZCV3NR523N9JWJDZFV6JSQH67266IWLY6L26 = 36#HADFS96M7YVG9MFWZW60GO5AJ5G6INMITE9ML3G522324L20HHEFBGZH93FXH2UINWCOZXR9RJY0N8LCM5JMTCPMI0GZS2JRRLE1VNJOAL0VH0BXRWQ285WIKH5LXOG8W6CL2DB4QYA693I6JC07BSPWIVP6I2BU25O8IGVHWCJN1T4311PBB48K0 div 36#MOLQVQO4D7NK994K5H6HLUDI8B8NB07F3OCNZ2PJUOZ5UD5NC. +36#1JJYGF1C0PXW60XUWDG8LEV2BH9C6C92VG5H1NKK17GT8ZF4HAY9U2FD8GFZYN30X7OLNX0SZOEXRKWB88UM90E19SEZCN4C39E2MR951SFLZTD1I2QGUQSIP6ZUD6HDGLS69YK6ZCJ5RGCV1WUJJIEQO3WQJWKT6DMDF3SXAPPBVAHAC8WTO64V7TV99M1MM3GNXJSIALAQB7NISP8PQ39IEJVKPSM9PDBKGZ9LWLKYJNMUOFCKOOH4UR2ZIXIFYACHRSNKRYT5YH9KICBG5HJ7DZQ7CTXKXU64JPLBU2GR55AOM0WZEPSRZLZ812L71EUZBG9SUIGNR9EI35W0UW08L6CEYXFLTMLXZX0UWHKSTYTKK8OZU4TXAFKXTPHLYKU6AWSS05JDZNIKQEN3QDT9AJ5T45711XL7ZIJ56OM773X5WA7C184MJ4BEEWI2HBF04HKXQG8DQNCIK2URAA7LOS34RLYTDOH2H31RF8QK6VQYBRALZNV800E08MC1TUFAUB1 = -36#4INTN98G92DUUS6Q80QEWW8N9Q13XKU6KP1COPXHULB78YW7MPJ2A76AASIXDEUJ1W6OTHYGUDSH9DFTS3XDIY6C928UDYMQDIP9TTHDN98NHNYWX7J3C4WN7TVHM3FXVSZOQDXKR6JBCF4BNOHTMRWJE7E2I001WRLAWGQ6PU1K7H8ZUQCSWM2VXWGC1XUA7MKDUI515ALYB3U3KKWHW3ARDEVM4H2SGQYEED6MC9BR7P3HV14WCD8QHG5C4SVI5EX7T3ALD6T1OW1PO5RCYBLCWUBAGE574MHRB00VY7T2HU9DR72VMXPTRK3D5IYOZ8JKF427KI84ST9Y4EU0CO0S3TMC7B8OBWTHBEGG5P3OJTUUK9K6BZP94M9N000D7BQVHGWRI93IZ9SEHYEWBIQ8BW511VQXM3LAIUPJ5K48UHL478MJ78QYU1Q39ERTVC74XJSTI6QUA80ZLO40XJIC3UHI4SOMJF7R64J6UD3WUNW7Q8ACQQAHMBPMS35HUN32CK25S02IX8QPSSNGKEL9NKCPJ4LG5V2JNFVQH2A25BAFQD8X17VW div -36#2XENKVOK2IPNIHNDWPE8I1AB50L7U21QSEHXV55U947ZQOWD3W. +-36#2HI2QXJCVWIQ50TQRDS43K0XNIZ36EGLRAKFXESNLX5NFRVRD2 = -36#1YSASXQL1EXSK5OJ0D0QWCECC5F7IQCXFD809IS6EJ60RONPLK85V2G6S47XHF6DNZ7A5ITO2S6XVCL6JXRA6K5V2OVFOM5HO4AVAN27S3NRWD23UCXMK2CV3TBRBXUNCUTVZY1LK1Q03AL58AX8587ZRLJ6ZLPFMA64RPRZ6Q2031UILLN8YDBEC6GGWXNVNMN3MTQVYZUYVZNQ8O391B39UK71VEW0UI7DN7YMGA1JH9JDLP4Y808Z76MM2C6RBCQZUHQC1WQOI4J7CXCHWA981F1T18YJXSB30Q1BCQ8PQ4J0KB5C9RCJ3DQ6TB558BDFXMJMDHLZYZWROVLOO9KQKJC6OOW3U76UIY9MG4IZ6KHA9FISWBVF5R7PXHGHO8QPWOSG0N6CM35FJOTJHY2MR3JHJHSJDNIZXGB3V6PQK84D3S6H75UCCYBK536JDZFHFJ8007PDSV3JYB7NBIUO7D3B67WBU6J7QHOLWI2UQB2NYWCO3QX6XYQ3TW0980H50FWKMKUVC0GMFHVX4LQ3EDS9JMC54KVC2UK3PJKYYYRNJPFEJ9KAVFU31PSBCGOVYARA7057NSQW8V3S33WHF0H613NDZE0PAPTQM2U4GOZSKMI3CKYJZTXZ3ZTV8OQZY1KXY1LWZMAN0Z0P35L5HB3M4KFY3X7R7VKX1RO8QBCRMLCA div 36#SGZNENZSHJ6W5BOSZ3RCSBDOV9KB65OPG62JJGIETFMTMAKE5VWFUHGGQGJVC1D1DGYZDB4YMLJVWUADY66XVTUGC6VNG68TQJPU57U2DJ4IKTA6YPEJO13B1QG6CFVKK80FY8CQC68XLO67508PS0IYVBXKAYO3SFYUUZEAJ7ARNHDEB1I3GB7FO046L85VZZLF5UQ9T33CW061ZFFCMX74URUEEW4L5WI8VZKS90ZACHALA522SK396L7MQAE8K10KE89R8XEWET79BRUEH6RWAN7CTQS2G9R9TWGDXAG4L1NGX7W3OL1UDX0L6RXLHB012SCEW1QZ62TKUET71U8FNVP5SL2MUNPRM57SDS2I6HBA2K0MI3EUR466ZNUKRGIMML5PN7BCXKJE83PNWR8ROL7G0JN4A8JSO7CM1GSZT8FT84P8X9BHKMZCVKFR2D6DHTW386SDNCPGVPEMA3WEK6Y9Z7BWE4C6Q5J6NPYWGPG1U86XU453OGT2MCYYOVDKKKXDC5J6WCAYN05CKMLT7DOD3O0KRX959YC3H985Z6Z9JXHZQLGGGU49HLZCJXF6XX9UXLS425YE705HO8FRQXRBWFG77KTIWAB2QEG3Z3OO6O30FC033MPTDQB20N. +-36#16MMR69TKJCDYBD16H3MZ0RBZZQSRRR68CZ27RBP9JN39L77X7VP0A9JKYA5BJJ1FX8B85OD8M4S16Q16I727NKZC6R1XLX18D0XAOYJI0U9075GTTG90ZJ5AKW3YYFPMAC2UA2YJF9K75ENU88SRIQIXTHG11RJ0QYAQN7EXYNYXM195XHM22V00BCQT575QASASP9UCIACAUKA1ABSXTMCVF7VYGCPAZP93QUYZTYM4U5TIS4F1NNP6I4MNSRK0F97SXLNP04GL5NFBBMYGLK99Z63706G7UPP1GLCU6RUWA3K14JIVO3EQV6C4A0CQ4FCQ2SAFLNBLTWU9YZY4FGU7OW4DZU3GSFBGCQKI2TYSZAO8FE32II0V3GQ80RVD04PCKKJS1L8Q8CLUQ7DHEE0A4M59NSZ7YQO8Z8D4EKG7XTLGIE3P4TNAK6QBUU7VSHODMAF4SSDWZIMET2UBT5H1KVNHGFHEZR5JM4AJGD9WZEHGBVY3CNTBY7K7LRUBXMOZFKC4KB3748H31FPIJSW0 = -36#1V28YHFWDKC7YZQXAD34SCOEX74VHLSTIH3UDG0VQHSYYZ8ZGW * 36#MVT67OW8KR3BK75BM8TCA9A5JQ4XSQZDTZJHI169IAUKBXFEPDK0DZ0HZL181O5M4YHDEM5S0AVQJ74SO9S2EJ9W4MIBDG8V0X4DKNPKO9UFNH4FY9PD185LV25RQHPYX393R6TK3M30ZU74WTE4VLKKT562QY44LSJ9FUTA8IIZHXQLTCW1OAETUU7SMVM6SGTDLKXA8H42ORY2I9GFT1KN522V8GOAG1O1L7TN6IMTE979JMQR5TKWPTI5CBJQK0YYV29TS6AM2YO6AWYQKJY4CLHW7SWPVHH28YN9B36TJW9B65JU2I35UNB6C79OB9Y8PD3G0QYKQK9E72BJ62IJJMM3V79WG67M1L7Q09JCMMZB7I42BMH6XZC6H1TRLO1DMBPBFVKKB7L4YKX4PJG69JW7BJHLPOJVOD9XQTACDM1BKYZ9T8XIPBMMKOW4LEEPIVS4T45CMGZJ4MLK96C017Y43S3B0JCFCS0. +36#3MA0MQNV714677Z6ZMFG8UZRG4HXGFLSCYVL6WF9QOEDDUL82864TM9YWLUW5J0OW4J9CBG92EC6KR7HI4FPJ72G3EAIFSXWV9FQWZCZACCK5KEI7VV5FMWVVN3BSHZ67MRBA1EGE31DSIGP7T8O3VKDKU3329E4HN1IANY43FJ5O4DAW3EJNBTXWGLXWRKX48AWTS5DC13FFSSIJENYS36FSXA8SXIFP7OLPRT99VDHE9XV1MQE4YBM5S01XG3XEKYM7SERQZA5OVOPRJ2KBUDNH4ERLBHV9GMKH8YMTGF3KU7TFWOHR2CUU6FQLRUHWRKPPN6GLWOJIWN9UXHLUVSAZJ4DOSKZL9CFSKIMCMMS76JDBWF168UYN1IV8C7VASSE0LQH6J3UYSOQ3QRN22NXXME57VP5LGZZN84CBQF6OQK34J11GCOC5HWUAF0HJFDUKWYYOBHYY4MYUDNRM02UZ0EOY201M9YFD3UW62QUBXRUABFZO1SSK9BV2DVLO1EO6CAKP5NA6VOZRE7RNCKVYWN3JE1EYRIMK1EPN53K4T1PIAQVS2HL0W9DM7WHO53X0PS8K4JOJGW26SQQJXAWIYRN79K35X02XMBFHU0OV6ZM7EZXTS54IY0JO07D9M5WAX24HDLQSJQPYLK4VBRLJ9LWOR6RSL2SQ51QRPFM4DJ949OO9TOUQNBLADOW4M872QAX38ZR8X480EPQ8M51S0ZQDH9NKS3UBPNXWOKYEYQDO7CYG33KGWLXMLZ7YG35KPDKKJYWD15PUL1CG6SNLYHYJHHQCSBNXIHO5F5E7FRF0HM0DUR9YIRU82PIUKHO0EHK4708BBEBYQYT7OQRBKPAOJNZBZQA4VAWMLHY8N84387HO1VL9IA0XNVV6DQFHW4N16P0DPI7YKW48QUF0C5LJL389KBDNV2MZ9LVI9H515S95VZ5LANGQKPW8VI8IHU6LXX4LTB3X9GZJZ7QXQPKFLXJV5WLF2PDL26NROT6T5QZGS2Q0ZX2TXX3OOIX4K9QWJK6IZDZIH208DRVCW4QG59PQ5S92C8C1TWSIGJL7CIE7VJ7Y8XWUX5L9MLNZ91W373WY6VRJ6LZWN2ABLL3DDZX2TSF2UXTFCO9W58DJ8LJEY7W37Y9MJYT538CN22RO88XFHW40ISWRF3OOAIQVYIKC7OCH5EL0SSD1RAOGKOL1G1E52KIGWMK4RWRO = 36#1TA1FF5GSMWCMUVS7YHCUGWG0LVGVC4A1UA3X6OH96EK8WFWMATJPVVUJI4XVES0LYQ8B8KI5QS0P1403QYGNXP2OUYAFEODZO65J7NBHAMCO1HJINRA4Q31NFE9MYUENAIF0TSKAK2STTHNFQN77XU0KT3CMVGFZ3Z49HOBNIL075FZPH52PXXOG0DP5JJTUPVUNDSBB2NUL8PBKB5LUFJBLIH0X6UWAH9FL8KZUL82RR7Z9EUYM18KIVB30T517W7HUANPZKI5BHF1V1WQQ1BBBQYY7WGU840ROORNI4S84D1PA29FG9XMK19H7EP43PY0EYVPUB7HBNA8NX4OWOJR6JUAS1ID26EEZE2HRM3C3VACZUPIC39XXYNGMHGQHYZJLWARHCSAJKCSLJ7FTOHQTT0CX38F8BGL0NXMZBLXGAMPKSC7I5STOONXQEB2CFLZME * 36#1ZUG8N73KUCNI6JX5GA6BPZ67QKMBQKA73ZZFLZOID7HT7TTZWRXFDXVF2GT39XSR6REBQ0U98LBLKDZERA081UGQ5XL9LPU9YMG30GH76Z9R9IFHMIQ3VK6ALWSZWLFLS203LEKQOVPIHVOZLWKWUX8KPAXV5NQIPH6NB5MVDRJY3OI4PNMO5FTELEJ947Q7MHE729VPXFPOHFPFQBCUUL1B148IJUO43XTFQHSXL6VB5GQZOXC04XLHKSM33ALR2G8I9M5LGJVDG6M0XAZA4I1VHP9149BL5OES1MEMVK0VG8H31S1LFJRD7XKX1X1A9OPNBXMTKJ9R7ZMRSI0ED34OIT27WQB4C29WUAFTT8Z6HELX8C33ZKTY4W5JZG6XDKAOPNO5WXXNYR8YS6PD068K5H6IEJ0UDX1A5YV6RSDVOMSV88OS3G57E0M2XMN2D7E5B904B7S3U5RLZQUC17MRCZL8ED8J5HI0GE6V5HWANH2GKPI7GDTSEJEL946UZCYDYWOPMGH65IXZTHLN6VP3Y2G697GB4A9ZPGBQF8PWLR3UOYD0ARYWT3CTLEUYDD0V17WEXNMLIJQ917KQBSYLALP4O9GEJC005GV3APAHV3B5Y2ZFGD5OY8TKMQB9XTVW1U8PZ66KGCFWX28RR5RGX5YXE0X173AECNRKWX92RX2B6RESSD5PI57L5KD7OWHGO73755JFXEDU1KAXGSN0UM7F65H9DNZRHC44TIAEP6DOKDEG98X74CUWVQU. +-36#1NCCYUHU3W8AEH9Q899GCFGGQVWHFH7M69LBD6KGWQVW0O6B5V = 36#21YBJAL8YJEKGWFJK2CCI09OXTU9IMKOASFA2CDV97S7NJ7YH4AYZHOOORTXCXTBG9H2UQZSAUI75BQJ2BRXGXZ0KRVDEFM06BP div -36#18V2GADDOK2FV8TNV49AK42OND3388JRHRC0FTLH21EMKJ87YV. +-36#2YBXKQMDR15QWSH0JLDKQQM1I8ZO4C3W49I84LNDOTMW8YYYGX = 36#7WTWFVBFDG67OX8HPQ4MFTVIUAPNUKZFIU5KYU3PVEFVTZAVSIETYCRUA82S14SRLO0DLUWIDO3RD8X8LPYKWM1AO888TSZBTZKMZ6HJ0PQ731W6XLXAE5A9P6ZFT6NHFPJPT8W03MBVQRZR761NZNJ0E56AGYN8QIN36XHV0ETDD9LU5NMJ1P1EJ8K5T6VK2M0KZSC64G5BUU588MDI div -36#2OFLN8AB423Z7SBJRHULBSE2QOJ545MN5AAM3TO5O3BGITAT2F5TCKZOQN52FJRFZZOUYA0M7TK5HIKY2A191G9WWBRNE689E710FOKXZP065KEUTYJUOFHYSX0E5Q0WEBQ8KL2ASSYZBMH1EORLM7T1ZHV23CVK11I. +-36#3RALW9CHDAPMGLX2EAN9UC3NJZQCM581BKL57I1KT248V042XIQN8275U9L1RDKH006RVWV0WMTSQXA2AO8ALFONY37QQX9GW9C = -36#245KNX2PFVNLQQGPIEM9BBRZTANJEAPS0AWGCX7Z62R8KA941C * 36#1RYFTKOYJ36ZS16AML82E2IZEH1IOX82NNK9KWXCUG1HX499U7. +36#QFQ6PL1PT4JA1034FWIW01L2I3TKKZ05TWXX73AUYO0FM292MEMFK3JVQCCPISXPTQ2VSMN4JAFC5KR0A8U6541Y5VDU6JB7X09AG9PNVU0JRIGIX6XW00YSZXSV5PNNNIK5UW9I7YGLWVJJNM93WY23OYGNYFGRWM3VDHWPO4DBO4CMCS6MT9CK3Y9KAZJA0EAZE4LPB8WFO08A2P4VF7MPK62PNVBT653X0OEW0J8134B50JQDNGVLKQB3EX6ZU96TQOOHIVZRD585MPS2YC997H4QS5Y3GXFF97EH6Y296GF4RE4STEFYOYE9EN3MH1NX53JOH0X7LZBWW4JGUCKQTERFDQ3IFSPOF8SORBH68179CGP5JM9Q49GRFGRSEGZQEL1D9WG9Q9NVROQQYJZWQQ1U0S0209CYSK94S369SY0GNXGBW0R1AJ2PLXSBLFSC8JDERNWKLE2WLO7IX2OSNBUZJ8TVD7IJTWUSZKWI69IXG2XWHS6L9460EDNMP7QW99HT37NN8FGCM6N75I4S7SVL195PW3J8ZI95Q195JWB82PC3FE2V9FJHKZS8U9NT0W10GC849XDO07RCIQQFACIQV4ZBX5BBTCGT0LBI9247XHPQZN8RH6NPOJPTKN = 36#12YL7IQWYG6EFLFTKMJDSUEDRM07T8WHQ8QUNVSGOYYT162MA7J4QTNQX4QJC3CYIN2LBI6JO13E14QO3ZLMW0AXFQHJ39E5XHXHLBOZC33OGSZR0OJSHYDU0Q3JI3C2YK9B89LEEBUTB2XYLQTRVRN8KLJEKE2P36QNWJ8EWCK17LNNIJHP3AJ6W6TZ0JTUK8QB4EVD5RZK5JG4SGWUD88IMO6JYTTTNJYW3G9MLQKE4JWRHF4JZKFYV65OQQ2TWI6GV68TPOJV0WSHAKEQF6BPT73WZT7KK6MSA6X5FGEN9FA3O5T8ASQBGMCTWI5I0XVOMIRPN72OM8OA7PQ11E2MR61XQVS0R0ICIAA1JGUDXT8H78QVKVM5AGIPDJJ3CLM7QZVGGLNYZPTF8TCPO4NMHTVL76FS9WUCDDWZDJ2X8OJNR8GRFWF2DNL6WA4RP4SH7JW2PW4I4AUP66AY9JMQ31O0PJB3GUIODMNDKD64PM7O7186N5M0MGVQYTBWH43SFRQIBEMWCNLCNGMHBB737JIUHJVSIE63QQ6FKD2Z8JMYBJLDQ4PMLP0ILNNCFXE4VSEBTVRAE8JXOWK89BYI64O5CTWGY3985XGIV66H6O216VAJHCRIFIESHRBXMSEPETKAUPG1TNKLUI07YHHO6PK36KR9KP2LLG2VX5E72CU3BC8G div 36#1H1YCC5BM7ZSMBZSEWHFES5PI8F05ZIZXHSV8QD93O7BSLZ0SW. +36#47JRC7P1LP37D2HTSEWW1PY336ZESQ6WNPRPUC31DY4MMHWTE1SMFRABF1OTN9HA8HZT2A9FP0OCT88BEUUYA2UJMKHOMA60Z0 = -36#1J5HE69SZYKCTIBAZ72T0NN99VZPQSRPSS5F9O0Q98KKQ5MS6 * (-36#2QX6I4K6W6HTJL25RGYP4599B4SYZ2M5O9CVM4KIMDFIERCO9U). +-36#5HH9YZSJQJ0ERVXEYT8ZHCCDHW6C9QMEUIUUB0R6GJ82CP74VOC6TE97YE5BKH67YSDD9Z9PL68D9WIL63W99G3F550NDHI1GNVAKF5V2IG9ZPJV7WI31Y7L5Y4MTCOBO4IFHRQ2X9NO2V5VWVJ24FZTRA32ICHVY4R10ZGAOSZY9LVAISEAWGHYP1S7HRVWPY2Z523NDN41NJS03WX7B2BBH2DHQKR9BCMTQO03QVP7F = -36#G6S3LZNN7TAW0B9EKOV5GWP6QCK9KZ7PZZJPGTKZXH40SG3PMOHTECO2MT68OKMR4AW81PJIJBL59RB47AT9QU4I9N1EX8343AM9L3X8MX00QTI3S8DK8CZA6RGOFN48LY5KVY8YZELDX2B8VSZCFFNJGI5RWCKXABY1LUAMLD7J0TL4OB8ICQCCUBO2PE7GQF6H40GKT2GI3Q2MF12WILKRF10U2VFZF9VBR05RJ6CCNQT3X877UA9HMDDID25ADM8UM9A849U55GAQEU88OSVVBZ2QMC div 36#2Y8LY7JEJIOV2RBBC98SP1NRV9U4Z00UCVF27BMKS77QE3HU6K. +-36#1V28YHFWDKC7YZQXAD34SCOEX74VHLSTIH3UDG0VQHSYYZ8ZGW = -36#16MMR69TKJCDYBD16H3MZ0RBZZQSRRR68CZ27RBP9JN39L77X7VP0A9JKYA5BJJ1FX8B85OD8M4S16Q16I727NKZC6R1XLX18D0XAOYJI0U9075GTTG90ZJ5AKW3YYFPMAC2UA2YJF9K75ENU88SRIQIXTHG11RJ0QYAQN7EXYNYXM195XHM22V00BCQT575QASASP9UCIACAUKA1ABSXTMCVF7VYGCPAZP93QUYZTYM4U5TIS4F1NNP6I4MNSRK0F97SXLNP04GL5NFBBMYGLK99Z63706G7UPP1GLCU6RUWA3K14JIVO3EQV6C4A0CQ4FCQ2SAFLNBLTWU9YZY4FGU7OW4DZU3GSFBGCQKI2TYSZAO8FE32II0V3GQ80RVD04PCKKJS1L8Q8CLUQ7DHEE0A4M59NSZ7YQO8Z8D4EKG7XTLGIE3P4TNAK6QBUU7VSHODMAF4SSDWZIMET2UBT5H1KVNHGFHEZR5JM4AJGD9WZEHGBVY3CNTBY7K7LRUBXMOZFKC4KB3748H31FPIJSW0 div 36#MVT67OW8KR3BK75BM8TCA9A5JQ4XSQZDTZJHI169IAUKBXFEPDK0DZ0HZL181O5M4YHDEM5S0AVQJ74SO9S2EJ9W4MIBDG8V0X4DKNPKO9UFNH4FY9PD185LV25RQHPYX393R6TK3M30ZU74WTE4VLKKT562QY44LSJ9FUTA8IIZHXQLTCW1OAETUU7SMVM6SGTDLKXA8H42ORY2I9GFT1KN522V8GOAG1O1L7TN6IMTE979JMQR5TKWPTI5CBJQK0YYV29TS6AM2YO6AWYQKJY4CLHW7SWPVHH28YN9B36TJW9B65JU2I35UNB6C79OB9Y8PD3G0QYKQK9E72BJ62IJJMM3V79WG67M1L7Q09JCMMZB7I42BMH6XZC6H1TRLO1DMBPBFVKKB7L4YKX4PJG69JW7BJHLPOJVOD9XQTACDM1BKYZ9T8XIPBMMKOW4LEEPIVS4T45CMGZJ4MLK96C017Y43S3B0JCFCS0. +-36#MJWG17FJER0VRVP8ETNS51V07IXOOUH9EAW1U6V09GN3L4HBEAWIDX5GHXTTQ1UYB3PUUKB6GN5FTKZOVP97TOP3GXOIKECO1CWPG5VPZVYSHBJH4MALMIS7HWFUOLAP6D6ST81BB4GLL5KN65MT0F024BE68RTFP2ZVWSEFXIC6338KQII8CB0F65KQEPHWEH1BS0OJD10BUXM460ZA9P43QM3E419W0SB3S0DWBNIOGW6QL15PWQUW8Q14XWSL474FROWNUKP7UY3AMBEBVO4TW5Q3WZLB5N5JDIN0ZJYPXMZJD2WO05YFLO8HC6UUTEARN6SKIY0DFIC253XTCPUXN8C1F4FG7DMO0KKRO1T5TOA2OOV1TJ8KPCW38NLWHSDFUV22LU131QBHAPD67ELLB84GD0BK3WQIMWBS15R02DHBSLDWJQWDVEKMM4W18HA89UPHJ9YA4CUIWQP5FYRRO7V2QWLL5QKHPWB5KPGMRRY2WGYW = 36#7KPZGFO88H2AMUJPI213LRIN426OH9E0FPHD2YNYW8Q6RWPXIFKW8JVNGS38O56M8ENXAI7Y636IX6PXWUR2D2WMU5VFDTQINEN8LGNSL19MEIOGYX27NSEVW8HYDB04ZL4XDAY2KXP5N1QN0FQ9HE0Y38453MMWTHLE5W8PLFRT6LCOQI966YVBFL4O9RGNLLUDUW0NVAHDX54XTRYN9KAH2HURPBYVIGYS6AMHWHJWSBA6X07AY29EQXF70V2NF6AQ0Z6M4BWG5EXRQ0JPZG4ZA00X2KEABUWSML75Z9MQPBN8IUYWCLSJISM6V7UN7JUKSIGSCT7SQ1V55XL7BD8212M5RHER9QVZMWW5VBGN8FGS2KPFWIKLX2HT3FAYPNY4IKAH8TC75XPG14N8IFYH2DYJVQ06Z1QA6U2BABKS0XPIYHQ1W2E7CWZC25CHDN8WHN6SWIB3DJ1POV2XS0KEPJ9R9WCVESAPT09AGGY7205EP81Z3HVI5ZDY7X6QQ69Y68ZNTVTTD6YBQ30B730TEIYGCIJH7VNXU4B2GGDFGGQWFCUOJ5R9970L2ZTIOSYN7ESA5X8RIV5P7SP48Z4JD05E2ISFF4N6TA78079UACSNHX4S4PZ2S9OUEM2TD3EUPUFAYUICYL8V4LCDIIQXMC0VCE41SS74EIMMTVVBJZ7PJ1GDBIUFY2JF73XLVVT90DCQG4J0XDIH02NE2IUO40ANWNR11PSK9VIDZX2OCDGP0PQRR18MK40P9G7O0LJA4Q160XVES3CZZ6LUA5GYYHPLVSQ1Z820Q6G58JURMGNR04KMP9WAVXXKBJVNWFMAITLEZSBQX3N9RU1TZQLSBP2S8ZBJ57OM900XXXVRCRMWJR4OQZDB9GR1BDW6RNLC520OFDUDSCG6HAA0JTGY4MI8ICYJ9N8XVSQYLERJFS8VPYI7U7RFJKKD8CXA0P0UTQNRY21EC6J6QXGJL2AHORYXHT2LWPZM6SHBQ0TGER1ZUX6X5Q4PT2UC3IZLRQFLMEAD7GZN68TJABV8KW div -36#C3BZN1HV3NONEBOOGR7K8I7BLURMN0PSJ4JB52XVTDX1VCOL89RWCND1H55F89DACMWBIOIIATLIBFIVJLFR90WY7FJLIH72OXILS9MQOSX3AC2YI1L639DXARQUDTCIKV0OPSWEJD5CB23KMSIHIP2EFEFSY88ZRZVMS8GM155TGVTY6D2JLDGBII46077PBJG1MEYQ7FS9NG40A7U7ECL2T51AEV962RXAKD8DXTP0FXM3BEBVZLS7UVKZN8B53VZ1GOJNMTKSS433WN49YAKS9HMDCYIKR2P8KYVCMDM7ITT87P21PRCCPE227U76G4G6H9ZZ9GO83727TQ256DIN3J4LW4B8LO3WUKEBPUEW9YQ4PO8V6J9FS5BQZ2QO599VXHTT2GRLP245TK8E3RHT0GD0W0LXBH9PB3YIM5PMSRAZWGBOE2VXTJBW91QA609JN9FZS3CRW2ESJ3WXNNHWN0REHNKROIQ74IFVEZLQWQU5XD4SEOHJ8FH5XOUATMEE4IZXR0WGX4J3J0W0Q6KXCM1F3ZKD1A. +-36#T4P40RTE6UXYLQB01P4DA86LWD0CQFLG9GURUQMKURD3PE4JBTT4VXWKZM5Y0F53CGZZUOLH9G45TOS4M7U4WHEZT85KOS75X1O947I4XCFWHLUILIAURR3YSTD2GKGEU799ITVVP86605PTZEVT06LXV87SGEADC4FK05V3KX8VMY2JXGTL6JIUNE8SN7W0WWYM82YYTMD950K2L58WSIHJM8LS080W72675YWZPKMD8S31QXPK5IJIN95HV5B3XQUCKIZA6DPAL6ZSV7VL17MB1H7BAKQMIAMZ2FYUB2EBTX6L7XUDN5SMW794BKT0ELVVD157E83807D6DYG38GJ2HEWYAHRKGP0XARFVU1991UXXU4LPSRL49Q8UQ3TM3KT98IFH31YL5QYQ4N3RJ0LCZ4K1ZCK7MPBEJ1SAYHSWM1U3A8UZOVEF7TIGUAZTB827UX4XJEKMLBXMY0IVHKZ6SM4Y2EAEI3O7BDJKNRF8ESDZQPPK72RSWGVRCN7M6C5CS2IU40S1DOUZ2QRVKL458DXB4PTECVIIXU3A7LR9WQZ0UTGLFRGWO69TEA4JK18ZI4MDS5QQV61UK3BLAGEW7ZMTNFY9JCW2UBPNOWLNORISHQ744KTGN10990D2WRNGZSZ7WQ4CVIAWM2PP5G5PHTNK9EM4AILLF4FFPEU1FRPOY2HQ39H1RFNNY7V4UDCGQYKXICHOISGDNJQ3WM9ADMQOMVTZKX0AZA4WW800XLGFX3Q6BUUB8LICEDN2P9AILMSYH06U7K1XXV1T4CC2MTBHBD4G3O6M4GG861YCP2GAPL1D9EG49KFTC2IAY93PXVGPPPE3WFWAW2PFO3OX90RXVM1ARUJCYUXEA927GVP4C8QAQXNI6NBBU3VS9Y23QX7YF66XKI3CJHAGR4XT6GPPO98JNC66ZHG5224DQEB1PT8JCCGZUZ7J8W5DD7GRPVN3ATF829JX8GUASRB4AC077601I935RLEOVI9VEXMPP5KY3NMW = -36#2A7UQ8SQ4T5NM5SN4IRWMHC8IO44B5RW2V635P8CKNI0O1JIBSG75H2BU4NOVOEER2VWWI6JWD96HT3S377HF7EVUC87I4QNINQNVZNLV7B0U0RBV4COWEWLJAIMA3G2INLUSQAMB116N686OT2Z6VGRTM9E6QQXNN1EFH8KX1JA1KHO8FLUIXC59VAZRLRMZML011X9ERBKOK17KDESRB87DMHICRBOTHNX3NE5CA72FR324S7OBSHVLNZGJTH8R6WQDU0ZZ8O69UC7GNF2MO6WMVNFGL52NQHFJFEJPGT7FS126ZHYJO1E0PGY4RVUY5Q3B4R2R0FHYNGXFFBBWYZ08ZVKNY2B4SXBJE5FEO6MH9QHW60XBVW0UW9693IT4V49ODTCOSBXP4M3ER1QBHVBN1VMVVNI4AYAT4CDJ97K9PB5IL0FUN09KJ8P27UUIWYK6F3OTM6CBCQEYZ4Q4EQDUKW0MI8MA2QACYRK64E25VKS19NA6RRM92N4LAHJL6G1AE17TCMOP12QP3JNQGKUU3SLB6M2LWKMH060D0WBRVP3TNAE2WHDF2V5U0KS7I8R0U3P755OX703WR013SZSEBAUZI6Y6PIR81OS106LW06NDIYY9CN04L6ZIWVEAYQJ5I1U7BXBGU3IDDUX9DAXJ7NEGN8A6UH4CLD4MH4E0OGKIDYEXI5H54WC5KNR9J8X6J7E9H74EF2VUX8XD71RIRV01P0AOWP9Z5814JV60Y7JCJCBKVXZ526KNXKT3MO698WDO4TDRXIQMGMNE9BIH5XCSG5H1UJJPCCNK8J68MVSMHDLS73ZDRSU2F7V9XW29P7OSUXMGD4FE0BMKMHOM4OX059FJIHPHMBDRRP7DF78GEHT3QK3N2BGS1NH1DHBXH558FECZYX9DFUQKIRPJRX9MZ5RHX7IKQ0BYPZK23GGZ6PABYHP8PLRBMF7THDU4XEPG52ELWYETY7E5KZUYERHQVHM3T3D7XVZ3010L0EKE30VYAESTD3GX7GBJK4HGO23UXF474W4GWP6R5B8210RDKN9UC20QGFLO0 div 36#2TLUBM5D27RE7JFCEWVZCQH21GGQQJGE22FXAI7TYDFDPC41PI. +36#2JFWLRUHVW90RSMX7WRH91252JLDBU1DMPE0KFS32DZAPUCQSTS9DTZ8UP4WQRGRYZ5PI7W87NNE1R8DL47LA2LYORYKWJFXUJF = 36#U81292LA5WJ74E0SDKPSF6XHMK8RCLMPKVVVBUV8QT23IJLLF * 36#30X4TYIPZT7YSL0SD04N1PB03TTJSJT13UDEGQBIZSRERG2KGP. +36#99DIPX17PDQFR18UYTZUQLG02V7D97LEC17TUP06K30GP1WU005QLK3TSBZX50QF7M0STAEZ1LI90PXDA2073EWDT87H2T8129ZGXO12GICFXC2LAIZ5VSW6NAZAONJQUYRI1475XUPRFACLLN6VI9ISMIPL70DKIGFV5PBC95PJN001CP5UCWTA55QHKMA2CELZ4N1162OWNMOUP24IR9R4W05VZ7P2EBJG8VDPY9QDPHYJ6EYO7OCP8JYPTJGOVJ36 = 36#FPQKVTUL7MQ169Z8RGKMCMCH3VQVCHRUMG34UIELLIQA54XTM8XXANVQHRNTN39YC58G02PQ1EJDG31Z4GE38DT2IDDL0OBKSCELBICWLMYTLY6RGPH9893ADGK3TTR9759QYZ2YWY8NIZAGKLHANUWBM4UME0UP7Z8W47CQEYVIP5J8Z72HF4PBTI6MRV6IL1D04SOHF6KF52AR10F5KLMYDPKB0G71YO4HGTK0665E64642HTV3VKGWTGTWJW3V6YUDXPLZWX07TGWROQF2CF2P1AFRNETGE4JSQDLGRLO33CGJEJLU div 36#1P3B8G37FABMTORBE73X5SFNCQ1KI7C5OQPPGTZ4GKP1RLX1V5. +-36#HZ58LU6CJYIXAXPMWMVLT1M0PTX4WCYHAZ9C48BRZLAJCGTVQG83HM0GHXV49GKMSYGIRO0KEJBQ3A0O8O9ZVTWNDCNNSNIO6MIG6EAA4ECPNP7T9VQFOOZJ10B37BX0X0MS3UDIDDTJSTEZP2L2ZT1MAV41FOFE42GD7WY4CAGASW1FT39ELLUR0EJ8JX455IOQR3RDHXVF1J8D1MDK9C94Y0GI7VQVEDKGQHAYQ0ESNUS7P8EUYV17GNW6BLRL3MTKG6H6361MIHXQUR0352F6SB5M9KVSUY2EN3Z2FVES7HVEYB18OKH6E84UP6WT29CLPGKXJX2WMJJIKPUIC0TE7DO8M8YSZXCISW0K5RAD27WQO85QXDI7M2UBP1QHWD8FT2GDIH74SOKVZT8JZ4CXT0ES07Z8WYBATZVJICF26C542T75GD4Q91DTEQ7NDB0AH = 36#HHKOQKFCSGFFNXY1L09KRX7A486BSMTBYNMJLASYPFCMMQVRI5TTBXCBBQX0SIBU51SC7LQ79KGLB3C96EAUDVZKWC6QVPOZVN29LO2IATLM2HGTNYF22BUQ02RM08ORL6UQ8MX5ZASJCZBM9AB7B05TIICDQA5DMWR0LA06XO5PSG9EI7WDF50RK7OE834VN4TC5EFXEQ20MTTB6UJAD3VMNY1ES73Z1JV4AID66CKCMMDXDZH1LRJNQA900FCCKXL57KSVAVXD0PCTAZZO4US0TOGCC60ANYRBWJ7XZRP0KPM6BWXW95RDO36GBN6NRPGIOJ88CB3DJ7JU79O9IDZH6P2DX8QUF6MHITHCE7I3LAJZNHVLX5YNIGA6ETGT577I2BB7GFA8DD8ZCB9NCX5DURI4QS1D8J99U0IQ8W2BM2LD6KNI0RWROTEL4UXJDNL023YB2328SOTHTLOER186AI2DJLWF2RC0GQ4J330Z08FAHDCZY div -36#Z0T84M78VH3IHE241988QNJ4L5VPP22RS1ITNQ4VVT30K132. +-36#AB6NDLUMXL3NDASKH5OK19H4PWP8OUDFABZPL960NNCGKGLG076H4FUYZKXADJBDF1HG1FL40RU9FDNURQEX62ZRT61AQI5T8HN8008V5DS7T4OIDMI88Z6KV80T8CV8Z4DSRHXXZRVU8QNYY6OKEANRLIRFJZTGG70JEMNGUCQ3D416LP4U4FW0Z1EV5O2ORCSC112H7XCRHCRN6STPV19ID5KJE579XO573KO6NIUO1XM7V5OO21KKNZT8ZVBUUXKPS83XRAKOZIJLJSKQHA9M4Z7G3IOSR14WQ4AL8VJ57XC9VTAFPPT2PHBSPEF6VWJ2VB93ODHWTHHK36SQD5DDEBWW4VM8I3EWH6KASW3D1F1ELEPAYEZ8N7H83IAQCDDPQOLZ57FJO5D4S36SP80NS0M2PTH6XWLBPXSCOI4EDXY8FK5KZIFCW2KA6HF8OSFZX7HNDUTAFJZGE70P03FHV4N8QMDH7IXCJ8VAP9XZXNBEJ9KZZQNPD5222CGX2KZ8L7NHIQFTH8FA5SD57S5KG1GPO0WO7UB24C056UVZVDQCSV1K411LJ916G7CF1CRCT896EIK6IEA5VI1DJDO = -36#QXYH4M8Z87NEX8736GOO548I1POTA4064BG9XAKG4UYIP6OWSX9YXF8E2UYLBOSKZCT40TDC19QAM7SWTSLX2LJSWGQ4AUXVQ02ACXIFX9E0A0EP6HDR3LQKEVE2AL8WGJGJCKFBU5V0RTAW2GVVN3XY062VCS76WL95KXJG6ENCQ1Q4FTT29XXXYIZ8CNEM88V30512FRH2HLC9BSRLHB6TO41I5CPH7O5JZ5Q23DA12WNJIGLB28UBPGHGLRD2TPFIQVVNM3A8RHDVBV4WMJTJYY8GR6SHAMKQKQUYU3VVP3BRWK1QB116RZD7796DKIMM4WDJNX6ALZPW60PWBYXR95OM0KRH9RQJANP478SPULD9VZ78A0AN4PFM5ZN1D2OLLCYR41ZL7QKTKP8MXPPSDLOLJYN56U52G8WSZDESAPVVDX5BJXWK9BSUCYAGLOGKNDWUIYT2DQGQ1OY5PNZAJV3X65184YYDURFD625O7JTBOAAUX3SIMXQHCG92WGAT2ES8A821OVASY3SDH6GXA3BJ127KNRLOOR8FVJEXSU00TPRKZG7QQZFO0DDB6RM6XI5GK95MC20YHWXTQW18OD3TSEULM0AE42N9XFBFBA1HYMGNJXWENSSODJHC5E3UW38V1CXXIWE6UYWNBUQO4LX6XAFQYDNNPNFUDSMRBV46NM7TRAVC8JYDULRSB3ZK0QYBSGZUJFD4Y538QS6UB4CI04MQXM1B3FMUN7VM5CXWJ3DS21B2UXZ513M7JMYZI3DSLTWA6R6I2VNXEJR1J5BL5P2A2W0WUT426LKRYMCQ4LD29C div 36#2M2MO0XXKI76O2LOFVB9TGP0IUQP4AK0Y09Z71OOKR9IKI0Q1UN4DKEQM94A0I96BY5HF6MVF0K3886AJL36SMKHZQ9SV6X96R2U6HCI5ASBXPBKFXJRAD5BQTCLM44XYIOV8F600XTI3VQG8JU6WN810JK46LQH5U6HQL28F2J6N17PF6V567S4YNMSOCHCFAOSXFHNX2SNSVHWS1NMY1Y45FXW6VSK. +-36#REQ041UXXTKVDY9ZY5BCU4Y6KFQ3YP28UHLTOYKHNG6BQ35EY6JS4BDVVIJPZ7IN9LPQBLFXP0Y4292E7EVFML95DZPZLC4OR2PXI87TZ8QQO90IBMKPMX8T1M2S0HRTT9V0E7Y6SV4 = -36#N2T136Y0SSEU932TXQWS89OO9N7189FEINTEDLSUUAVLY5B9YQ9JT71JPPKFEU14HNO00QYE7U4YGFHTKUH3BNGQYZ8GPAVRX9ZFYN2F602UZICFUO3MCP0KS320YF9DVX139AE7T7WOGZ27K2BHGVTV5VW2FLWS8Q4564MAHX5L43578ELQIT3VB7J4 div 36#UB7P785VKS88SPQ7C0Q6ES6FO3LHRFLHR6N508H32MY20ELAJ. +36#26F4857S4VWGQOAA8QMULU8LDLBCHYBPTYVPMCKLBG23F6YGRZ = 36#3I78BOI0G8NCX5KPPVMMLG32QG19S2GTN8OT9UACZUUWWD990FSPZC78UHQ9HEVO8TR7UMFT8NMDXGIQYLAJYWPDIB3ZG5TC1NBTJVIKFL1BAT6Y3RCCZIZ7V7YZ0RASAC9NX5VR9K7P9K21T70AFGVVOB2NUZTQL93SZM6WCAV5SQVNRNJ3Y4P4F5ZNQP8GGC3Q6PYFKZHKDPDXG div 36#1LXNB4SSSJWCN5U4YBLC61R8WWYA1QS2R6EJ97QK5ZIJDWAJBWSNV2TO42IRFQNC3SYQ5YQVACBMTQJY9UN71YC6NUI0ISFDWCHJRDYGWNZDVI4J2OV3JEHA90BO6T9XLKGLQ3RB4SN81ELL5QP2YAR6H488H1MK. +36#1ZCOGFGFXC9FGJ7O51HHM5TFIFNE9PILAARQIKS4Y48EMIW8KV = 36#8WT2UFCZMNMUELZS3JME48LT9YMPI55M2QLJA3MIDS8558SHNB1F4JN5LJHXX8U4X032F55V22MAC1ROJ2LJQ1YLAJX8N8ALF8908BOIJ div 36#4HUYRJN7YIAIHJJ5B89OZ7UP5GXCVZ0TB5PM0190R3UG1N1J5S4SJO7P. +36#2DVXSXJ409JLOE34I0H889NMFX6C9GCYVZ8UVLDSBQRCBPFJF6 = 36#HTFNH8TMLPASSI5BNI944Z2NR7GICBPMGIYBHL2SW67L2RC70W2E8B9GV6SPG7A0GOMFP8JO1V73ASTWLZDM0PO6HVHGPLZBQIX3JGG6LRZP9XXZFIS3GO57TZK1AARZH5AQCMM17YN3VUENVKVCX8GDB0DRA72XQINO9U8XM801STOPACZ12D560RAI51AIQR8JPGAKLXRRH13RLJRRGF0P6ZYMFZ7SCTQ0WQSAIRKNC3FLOUESGI43ZLLB30ZZS9R4XLEL5PD7A499SRGO div 36#7GUYVNR2E6UXCTH2F0DMGFIRV8XPTG7PPOPW6ZUZVZ585YCLYOAJLGG4W5KHER01HRCO4233031HJU97LU49F2Q2B2R922A3JJ7EYET397TWOZUWH0C85EDK7KN701XH0CIG7FDC4Q2XBI4DAXQL1QRD3QJ2VPQZWZ2IFXAIIAF1BR2X2HB4WWJW4RNWE68ECXX462GT9UWOSE5ZZPQJG9EUYF2J8HL08YS. +36#3CCMDXGWLM9FJD66Y62QLJS6P9YNANN8S9ADANVW8LUL5A214IXLRMK5BB0PSWU4UVOJ1ESRM5OM7VIYYTYPZ7BOD9FQUAK2CLU3W3HP10E5H37Y96EIFNSTLUCUF89LP4FFT2BFJK7P2K9TINMHTAUFYYNUYA3KVPAEV5KGP70KOD8OFV00223K7H9EH1YVUUA31SF8RB0TZPY0E2KI3LWUUY0EV5IYOQ16JNJ29QKUF07H3TI9I4SWL8KFDE90HIU4YIT80CNS7RG90X9W7QH7TOBEHUSK796DFHUMV9ZPFM1XWKR5XWTCTPB2H7P0PN47Q4VPWFPPHZ7EY95RQRQNZDSNWRFKGC89VVUULXZL49WNCEBQOU7R63VUCVMW9YFZM4I187UA3V0MJ5Z09JUL363EV99M6NK86QLD36U0A2Z5VZNLEHQF2DI3KFVK2UFAZ790HPJUMXLELCPUCVPSTVG54DJ0PVVPNNVFPVHGJQ6UX44B5S6UZWMW2UU42T22F4XL8PMLXTBOPBDMZP2JRR4CSXK84JLOY1SEJ3ONCSCE61ZAZMRP8CX1Z8CWN5YBC2U5IEMXDF6ZUV3UF1N91B3FPQESN28S3BYD85NNUIW = -36#4L0KCLITAA4OTPXOXNDUSOHHFH50TKRWKCVDKWPPFMFA8M8BJ2E5SNQN4ZFTPP6KG8RM1VLVIV6PMR9LE0C60IDAOI6QY1MQXT79ICSFDA8L647SGJL04V6OKJ9OMTSH6AS1MLFBXLCL0LG7ABJY40B522ZADN75M21JKYIE274C01MXN7681B514TS5P3467U7RH249RETWUWRDD99XOJAOZMWD7FQ1SPGMWZNLCJM62Y00TRZ803I337I0HB4MS3XVIOPE75Y14FTZ80SGPOQH3UWS4TXRJLTUULOIOGNKDJP1RBMFTZTJ827MNAKLO6EN71VY75SVGRWJTN2N12AYGAQK * (-36#Q97JC41RCOZZQ99QXZO5PFFU8XNVWXKG7XR3JHVG954HDFRHVYC0SU3PBG9Q5O4987O6PGL3S0C95R80K5TW2NSG0A12WSAELAO9RY6X98EQY436MTEIYZW14U1I0J2MD9VWJI9SOTDUYBDWIZCGHTQU36PMPDIL18CLTRQTLU7RD3RRPJGKAPA7QL2RX2QDLMYZFCG567O7TDWLQHNAP32W2I1YW89TWK9HHUX3HFOGJPBA0MKSW3HWZLVIYB5A16N7OC3A3TY3SVXC7ZY). +-36#QTTMXBMVJTTQG986BPB8WOWYBZVKQX03R0212FFGC9C1I5DQALJTOQ15UQILQY73QQ03AVXTPOLYDTIAHU56Y53V3GXA7QDTXADBETLU4ZUTC9QEWKIXADOKKS4U0EHOXFL88KQJW092CDF76KGFXBZ2DG4SIN7GCHDC9MXBDZYAG62JQV1Q8OHAWNFJ7NE8IWEMBGWIA = 36#4U5J78J522YKA1G25OJW4QRQV749F0AJUJ31P8THG176TOYCZ8EDT0KS81FGK576MC7BMAKKAWUGLYQPP7O713Y1JZ39H60J0SRA2J16F8K70L9YPXUEV24ZSV7SWIJVK5B2XIHC2XPQ4EBHH0Y19SJ202VAZG2Y4JBSYHFB2FI9RWUR2V8JHFOWUPNJO5ECIYYTBLM4C9GIRB2K6NX73T7NX9M2HR7CQ3QSU2KEHXFQ4PWT3BPAPCZH23T1169HOCO5TM4IEGWEXPTHAY8Y46MHBG3E1VI3Y6NKB4F2DUP1EDAFA3KB7I0KA1CA5XC8A2OL9TAUKGXDHZRXHFSRHJQT1ROY9FTV2VQW8XUK1MG85KOG1QR99ZW4UOXW5HJ9LKDX29U8GOAPVAI2L5X66VR0K9I5L3QDF4IC5EK5V9P5DTKX8EV2T83FNIDZWPF8J9PDPKUBK4WJOF2V0RMNAJ5DD423639E8UJ3H1FP1NIV1NHEB82JD6MDQZGTY934MSK8C4141NEFNAKOQI99RRGHFS5AQ34QPFX5K8AVAI5J7QVIT8CP9PG0OJVWPO div -36#6HOU71FZWU56YL1EITCGBFIKJIV1OYOCOXHPYELUXC3EA4GZXT18ZY0XV4R514F48QXUET0TJBYNJBMB7MXKJPX0FZ0GGXEC418IPH5Y2CJQ6QLPFTF0DPMJ200NPRBGG9U4LFYKQR4DK55TK09O3TX4MWA20MD7YB3RL59G4SKNTB3DNNJ91AEG15X0HHW1IOYIHIEW9BET7HO12D2S2RYNQ7FD1U9L2QEWPKBKI4HYOGRKB0NRYC0VJLNOMS08HNNRO3NR7UANQN6XXQ875JDA6YKPQKISKFFX8OOKPKIB019GCQBZX5JS8J2540OJY8WR7X60XBARMNA4SB030QKY5IUG2CLJ95M6SIKWJ4ZQSVPBYNY66. +-36#2XZ9DNWPYCAR39BQ7YQ74B375QHGTNOJSVEHIDLNTB2YAGLO7BMXDZ9HY3BUVZ2LPJ0L6EN0V5NGDGM88EFELMFHNTRWEMMVHWFGX9ICSCHHFA7EEW0MIQ0P5WHJJYOPRH5F9ATU8SIW1YWETG0WQ7KRKYIEAQW23EFYBLOKCWM9FRXV5WYGMNRKNNWE0YFW06XLF63YA5P4CGMA3AS7J9JSV8FWI9827SOZV2ESYZP12Y1AU0WVI056ODURZ99MDGRP5GNYF0WO4OW3XRMWEO8WS1P1EJYE8G8E78IQTLN6ICO4ASNETMOCYOAAVJ6XH7BQ8GEF9S08HBWU89EI4U3BMZM81MPGCWXRC0P9LDUR8B5WV9VKMYKJB8D9N0Y5V5KTOVIJ4TSOIIGL9OWFPPZFSH7TO8CBRJ2HWW69Q0UBYOOAX326XC5S2XGOHBRKDGU9XQAZG7T5S8NZZXK4NT2XL7DCO414TDJZ8UFXXF4IFFP9KK7JRTQUHW2254VMNR26HHS9VZBS4OYOOVLKJY4KIBN4LGV8XC549CHBG4KIX = -36#1Q8RZS25317DBOZ860XO3WQVEH076WXLEWG10AB0Q2O3GPI8UCVQPMXHXEHPGO8DT7J2Z985LXBXV5FOVIPQHR7GAU00VNRW1KK0ONTJZ9XMZ8DBI1FO68U1EVKN5P380CY3FZ17IK1MBAQNG0Q821YHSCOPJXBIKSOH1L4XDZQ6KB6KRU1V4R5HM5X3WJEABX6K69IYAQPXYYBH51Z9ELANRNRSTA6CIU56QMVG873XA1EUGKF8IIIJVSETKSLT53VEZCGXHAHRNF99HYHEYLNMYCUCQIGPWT9EGQ3RPYMT9WT9BRG6FI1T42PB7F5YPRY0E29BFT5A5OMFAOEACG2EXHG6QH7614PBPG170O9G1D0L9OH88L4JYPIEGABNSYX1FK3GOKW0SXUA35MA33U3VUFBFIZ908P5NKKTBAZ7UMOPHUP80LAVNNIG64E2C99U7WCGJ7EP2K6AQF6M0O7AD75UCE9NWPGNGDY4RP3FMGMDY4IZKH1QY5I8JP00BQZRY4K0FKERYR346S09MKNWP2DP1L21LFJVWF53N48U9ZI4VFNHZBM42J9KV2IDS8WSSFR1S16MIUG3MAY9KDL0SXML6ZZRW52XLPDG59J7Z3YN6T23UFESDZLIY94JDX7ZFWQ93DX03J6X633RNCO3OFICT6GQD2ZK2YKA0UTZRX3J3I7WRXGD9OMI1LLXLXGK7OQGVR56GWYX div 36#L55ZJ8J0X13ZWI6C536BSGRZYU1G4CI0AKUHKDZRI757XTIAA1QS73T56E05ZDGZCKOHICWZV2UGC2Y0747C9HJFSCY4HVH4099S01KUB0T5H9VZZAS3K4Q3SFP4QJHNU7GK9X2MV2V2LT2DDVA33R41KRROIBTACQP. +-36#9N4JM6NHUG601M5H9DMPGDFV5CAFCCZ60QH6O12PLUNFGJP7UT2MEFP8K3LK3LQ56JWPHFPIZGRHLR9ZARO3SHAR5A1DXRBXCXY9I8PFYM7XC6X8JSSPG9PP0RP3OWCF7S0NQ4ZWKMOT2RSSUI908R3K0VDC6EH8RVVQZ15Q0S9FK5YFW6ILADST3TKSAJ615ZXJQK6ZKWLG15LPSJ10WAA0JW39A7I3D8ZX6MO9IYA0ZDD7IP695BU1B08CLFLTMLZ22U0E3ZCRK0LV7NQQFZ21OPNVGX2FWAPGPI6L9R66AANLQ22W2PKVUVLC4U2NV2O1D8AM1ID8JY8M23CJGR6D17N5FE576DDM35L34G7OLUWSAIGWKGUS8MZGKXGQ2AQ82I5KMV75RQKI6OZTZ781K9AHVO0EHCD4G26YQ2TCT4WA41DZJ5KSS7F4HPKHXANUJB587GLATE9QIQCNV15GIXUURCNDIXPMXAUD55FRV17MM1N8DZMO5HT40SXNHA5KGL9JSR60P32PLATNNTMT29KHELULHLS8SQ60M2GTIT080DMBNOH8UUAYFBL8H0I8WKG9UWLNVUCY6IGQANKHZX2S9YSNNM8BJIBA3ZK7BRYLFLNOSUACQRV427T30HNH1GT0LE089RXNWWND0O78CLZ6N0F5MDF5OAZHWYUKJRH5SXG8WMFU0NUSTYN6W9SXR64HZJ5M78VYY8X3G7W4NE6RZJJ9EB7HEPRJQH2S5KCK3DP62FWAQAM87RZWHHDMQWBQ8CGD1MOTZ24OP0B0GC32EOP8BJAI0NGOJS6K7WNHNI0NF4S6XR5ZS5AB7L9LOX0MLPEE09OIRSRJ5G9LX0Q3JJDI4CE4OA29DBP7LC4MLGUSBSMFGJ46URCUZB99JRXOKWZVCTNZV65FRJ6U31MY1PM5SNK4JH1V7HEEAX5RA4YRT8PMY22F6PVYORTSZVWECVT0KGEBXF23SW0MCK4WLAZ9WFTS4TRX6PRKD1NAW8J9BN1TX70ANRLF8Z33ZAY9DKA3JLOHTK12MPJDVXJ08J3H56DDAY7T31Z71Q59YUT6YB3JUTRN2DCZLFU7TTCRD4OWPQWO36TBLCQDE1N3H73MRUL7FGWSKDFK8N3XTKKSPRETAWKKN8U162NNBA3LDD7B5669QALIKM8DAUG1JTY1BNK8ZGJSQ76W3SP2WDAQCEH0EHX5D06KAZK4YRW6D2BBFMOK12PFX5VVRU563BU06MCZBEUU7E1BH6B6VFEJNAUONIJVP05Q9I5R4EAOSVGFNPM5CPAAWOBKB2I4G4D8U0TZCXPJAWT5JX0D4VY6N372TB7WFR3L50SFX96TEEQ3DG0Z8L660D1DIKCV3HPXTT8ZG125NU876XFVSNOHX67CLV8AD75U6AGWXHQH2CKWS2Y0TM86M6G0YPB1WHO2DZG8ZHVWY6L20W3ZDWLKQMQHIQ97KR5L24ROP9W0OOWEKUFVWZPN58SYZ9YRF8 = 36#F3FY2ACNX14OXWUH0BGYNWLJ9NVDV9MCBDUSXKLAY961YRCY92O5JARNJSVWIX3PQPRUNEH7KDM78DF5GP9AAP39ZV7MWGCP07D50GLBUREFJ293RQGD3B00T3NBCB6AWUT395W3X6A6KLGXN * (-36#MZTP3F10Z9ZTJ1YEPDSOVAL555L7N9251TC5QBNQ0TZC8LMWBF7S1H0PN1GGXZUDWC44NZ0FZEJXYBFQD8H2GTICKRXVICKE0KAYV0LQV9KC69YF5LQGRTN7JRTPQDRXKZRT9OLS1CHQ8UFJJN5GQRLHG1JTV9ACUDJ1OLCOLV1ITUHVSFRSEO133U4I878Q0Q7A7VRXI09PSPI2KNAJXUEAL045H3UMRDLGVIC16AZKVLMUP58EAKHNBAJCWZTSMY3SXE48IACZ2JXQYEEEZS1PSDGPCJU0N2R6QO0BMMJ7J2D9DB2SCVX1HWMN5VQXRANH5AXYASGFNK6K07VV4YTUWLLAKSD9O0L2ZR6CJQMTNE20ADN9MMZU18TS82UWVEUH10P7HV6TJB793U8HIYAD3O1C3E3Z7KN6CZFTJ69I4UAM30JC6Q09EGCPC0UANT7W977ZMXK3EN9DS1AUF73CSEP95ZJKD1N34GZ7DW2XL5F7OMWSHW5KBGHIGL88P08KR3UG34TLBG16QO7E3WYN4MKW0QVBS42RVXXHHEW4ABJHT5BLM2V2G0ZR9J8NSFV8GC6458TYW3PTI17SUOUM40HIHRAU2FOBNDXVGR2VY1OCFDZ6ELWO5U7URPZZE1NXYAF4TRDMHDA9B5C1F24I6V6GW237EB1617KJXWRAGFZVB2B2ZAXWNFROAW3ZXOUIO28YIKIVNR9J8OJ33UB8QQ546GBTVQGUR9UJL5JSJKC6PJFIB04LUIZBSISWRRMUSSVFKO73BOMCJ8FMJE5H4VPZ7PLN74BD89FKWP73GL2ENHAPAXRO2700ACIVI5I80R33PVC7E4DI8JGQKEZT1FG1SX1TPIIPQGXL4QZMQAFNRRE8YEAT3BMVT1OVTH6QXTVN02AKMRZ3OZ47NMYHGGLW6QJ75293KGW6NVH9OTCCFYVYZ4FM28P9LXN43HFANJ5KUI3BZH7TA9FKQ80YC2PJUI972ENJFROQNEGRG1YC3XBI60C53C26NTQ8BUJPHTNYS4Z10CP691WLBKRTNXUD7T2ZR46BQ0TD5K28MAIPMLNN1UMNSCB6T35BGQ4KIW9BGD0UJVXWFVSCZS97LT5WU46ZNIJ6MK4IIAV7OML9J5GH15PUU6PC9ZZYLL3ADY95PBDTZAOBVQ8N46D97SIEHL196GFWGLJERJANYXJ8PZ4XJWATVRG89OY67CI1QFFRNFA0ILCDFGRNRERL859CQ8YL50EOBT2RXQOIVXLTM2TPSC4L09K8TN7R466HJYB5IWW88H5TUDREEQGWCFSEP80XRGOYUC5I6J4PATY7AY6QMC84I5Y2VHEQK4MFBFA551N7G). +-36#8Y74O5VRN2WUEU3G148CTR0VG25Y7UG0VOZ73E78GASQZ5LIMVD8U6ICKZZOC9OZVNTYYC8PUZORGJKA74WRAZMIG40X8CJWYWKI7CPV94R8AY3V0WOQ5RAM8LJ1JIU3R07K5BOFDMNDPHQXNCIVO429QYSBO701RZN3ZVMBDQH0JNAF8ZIMGQLDQOFY5VWYV38A12V1QJ8D93ZHH7210CC8ME4W8ETUJ6WQTIMRC789H69GWSL0P8TJKCZ860PGYA0BU9XP0IQTGZAK353DTZUX08B6BLB3QLG6K5N77XZCF93ZUAWZV9K = 36#6SIF6FF967SJVC96BAUBFKBZAIDYCKV2WZN85JKR7KKOKPORF8DLQ4A56BMAGJWDAHCZ1KE19V6FRPASLRUCDG74WQYF9VDMK8EY3VN608YLFQ1TCQJ53230JF3FMC6LYZXZVLB7OEAYS1GQKIRMK9TIKYYWGI9Z8HDXAI9LYKJ8D844O9BR8OUPIT0V41YQC752ZF0RI0DOF2VF3QAC3LHTFX489A022UKBDE9D9X66EK6WX2SZDK7I581NNR1EDGY3LNHC3EM74GN6WIBMANW440LZ0BPBBP4D5HAVTEIMQHHH7D2CFO9HTMRIFUIX72HVL4RE334VJ4CLBD37SULVFUYMYCAFZ5DQ4RMO div -36#RBILPLNTYC25WJ9JYD3J1QNNWAHZX4H0KAXQIYMIGK6BURV8C. +36#6NSPYHHDZ8KNSN18GAUEUJIFUUIMY5V4FCGOGO6WBR915V3O6D7627S78RHRQ6TVNVY5RZ0FW0OLQAHEC06XAJNWFO1GZ25LNLEH9V4NYP3N8EDUUUZACX8BF9TO7V07HPJLXESTL372D3YN6SDTH1SHAPR90M4E65IAAB908WKE840H25604BGO9NZSG6VVXEYIRSL44F0KHGIZF2HAQY41TPMRHLCJ57ZV1B9TB4HEZFO95H17FF2NRVGZNIALMEKXUPKXTGGK09ZTCEKA5YRF4J4YBS5XEWGWW328QDTAWH2ZMNI0KAXGBOKUCESPMTJPU62KCUW38ZESDEEINUCQBIKJORPTBXJ95K3DMVWQRSWOWQXTW9EK84CNN5Q1BO0LUE2Q5LDUKKHJZABN33919S01QMGWXUQH8UE0ZG9GDPGTCUEJ1V8KG3Z5GETEUI2YMM21F6UMFGMMHS553M7LUXVVUM6AN6RH8DON2ZHKC73YWAPL6LPW9GLFU142XAMW0X9IAREVYLHQT1ZNV69F6HJ6O52AIDJBBSDA4JAN1CTGGGWRRG7Z1R6SYXGA3S59RRP6YMGMT7SM6I2W753EF4AG6S40V15HG391L84F0GQ2CGY0MQC2Q6LT9YHM9OZGEMZJL12YRUGF7UG77PPS6P0SPGNQWA9RQB3Y1S78B006G1ESLC4BKXX6H4ZJ5Q2WTRM3E3L16P62IG = -36#ALLMHUXZ334JEBN4OZBIAL8W9QFFBQYDB79G6XKUPY3H5W298 * (-36#MMEMEB6U4MSBU08VYSJC8B8CT13YR7M171SKM4I9E83IDU1HVBQ6FWC2ICKXSX1NSAHO6E7268XNLCLLQQ8EBSVFB0ZYIAL9YHKPIIB2WNTV645GGFKOWJMHPTBL39A3XIUUQYRD82Q1BKOMZIJP3R4TNO8S0WF97J5Q914MTAA1SEMOJ2Z8J0UQ2LQQY54NDW2P99K3MT93QJH0D0TE851I3SEQ58KQCKZEO7N2LTJ3QTJP2GQT5COMJGKKVNXX3G89U2WDLC3Q31NK8T3RIDOQLIG1S4KBAY8J3D2YSM15B099Z54QW6IGX1H6VNRGBWUL62NXNHYFZWBZ95GIL8XWVVNW36MFUIYJIN8CN8S9KSJ2N63CHL46YKKXJPBX4XH9EABBTXEEK195LUNZM9EAD2TKTHFCKM2227KS1I1RZK7D6P8MVZUPK09YSXLLKWNSF858VEENZXQY4QJK32KMTO5NHZJO92DADIMNQM6YBAN3UYMYEIAXKWYYUJCJ038S6A3J2T12AK58NB2ODVDQNYUYB5TB92FRAP01PRTY2ATEA7B141I4OZ82337V8HAJ9DMOR7L8NISW6H3ABCI0WAZ980LNGY0I98VQNU2VWE8JJK12306CZBIDBV43EQ25IY813SOF2RHN5ON4GIDM2TEMY5OI2). +-36#3OJKPF082EVZ6C4FM2QB6OF1PT0YQRZLH0PX0B7937SD3HDXIGJL7ZBALAL5GRLJ2ZGSZ2TKGX7RBGMK1ULVY0KUYIVKYBOVINJ76YI2N89UTQB2D8859SILRWGNX60N6VMDKQ91QZ74VHPVLC5PYPY2 = -36#4SO6V1JZ1O3VVMHX2IQGVIHDNS7BQHRGOXENGHCF27UIE3LX64NW9G1C16BV4KFSCSS74GSIRNO4J4XXS1Q5W1FWKZ9FDOU05B21ZYHLKTZ4TK20SVC5UR70U6OEU8FQ3KL87MFNPBSNAFHX0QXSTKY5FA4YVF6OME6HROE3W5XACYTGM33T0V9WSLYY73DJDIO4OFRPQTHQ4DC650M63ILUK04EULY2I7IBJA6NLMGD800F3FEU14EKSDEBR2NYZ4R221GI4LOTENEJE0IJBOYCB9WVNBRAYFR8EF20GVXZAYZ8AKH7K3QKDV23WYCJ5I8VBG1CLPAB3KJQ5RJ3E35KVX5DPEJYISQL9T6NDQW62OBE31UX1KXUGYHDY7D1100UVLWRN8L19IP8XMU8WVMFQ6VTBNK7NH61IOASS399FZKFFD5HUEG51DE434IS7KWJF243MY5E4NCXBCB0IOFVW61PXQJT9Z8PTDK4EDYERVMBW6JO9HNO7AURL0RG4UURQ5X2U8JCI34V3NEYEJCZNTXV3RZLFYBES64JK1F0SSR9YU9P2U2GT939631Y4OWXSPWDO8W0N30MMQQ8F3S9ZOEXQV6FV2BZ9YW0I5HNBOFB0M1KONXWM87Q335QT2AILSRGKCJ72ND2283W7DDJ2S1MOXH836LTHKQEIVR8VQ25RV3CEXW897Z4GIUK5SIVLFNRCM4KFB6TXGTN4OX85EYF8DRM91UO5JWNLB2K2KAB9GQ5BTPLL6OEKAW97BFQKGHG6SZE8SKKL4452VAZ1FD6FI0K8WURX1RW47P80MD8IICNBAAORA9CP2JSY1N280GV11SKQU345VOFFU0EQ45D4ZDTW0T29Y6CW4OWMZBLWN4DH37TEGX2IK4NJ3N273X3RCHD4TF1PB1QQ9SON1KZ8V1QJIOTIH2IUJOPGFNBVB7XMOR6HDO5OINZB0X0BEO7Y34XYQROXMXRESLPXVSOBWZ1TET2ACI8SKL0NUSE7UGFTVXFBEQSCL4TT6QFLVBJQYKS0KRU2YLEN0AL10V8A2LMWMUJ7PO div 36#1AWDB5SJW9G1A1QYFTQB2JL00D68VL10IL2GS4O762EWXUI3O6ZY4FZDDM8FSPSHQ5ND1BM7S3KZJD096HOTP107FK4PO4945SU2TTQAAQMGPRSX1T0R61MMYAW22REHAXAZTKE79IBW5GS6DU75ZUP41RM9VHC1RCUUUA127ZLELYFD3T3IFVRGQZ0X8KR6X11EIQHW3DQ03AIZHDERVVR77VWBFZVFOGA7J06N6QC4YAVPZ199RI1VNKOVKRQXJVOTY29MNL8P9BRQ2POT35OGSZNY4OCVFCID1WGXI5DEP8M0WSF2K5AI0MUHBI229C938FSLQ5WVJGV7ILPOG110XAVYHYVJ7DLZFWN81B9H10S8GN1KF1K9JYWQMDU5IPXMJ3BR90FUBHUYDL0XC7CG6JVW2Q1FHXAMOCU4AAKIJK2HKZCYIVISR1CTASUV3CW1FPGBC8PLLGW6MRIHW2ZUHM5LBL8HNWLIB5U4MK0Q7RZCDO1XHV45IVTZ34V1WGHGADOJHWHFNX1AGDHF17HR8VIBX368MCJ8QV0T2CC6HF512TR1KZ5Q8BUVVPI5E7DBH0BJO4AP2YUC35NVB7XIG14AVW4RW2CV9P6N39X6J9O05LY2KORWZPBOQW1F0BK8TWU2IUM7AT9QI1VUNJS93XJC28Q587TD3NOUCO1QDHHYTVIIZ8TLGS0CZ9FU1MPPIYRGGD9YOVR78BAW0LK1NOTWJ58OVL0MBT90PXEAOY32AVTHPVYUNGYRWJBE7SR7SE6MST9H7IYOPU1AZXCTBN4VG7CBRV7M155DPW2TDEDPV9EA31DHS5JIBWCYGD2O6MCVKOQ9ZUJJWLRTLCTLL71BZCH3BX2F3E2JW5LH393YFSIYHHVU13Z09H01YTWLBD9AO2TULGOU. +36#Y4AI79F0F2LG96YMWNTKG32YWKPAN6G4U72ATPR3HMY4OPUMRDO8GYL3YW5Q5388G62J3U9WUC6H8TK2PKAO7XJLHCZTZA0Y1FQF3XEQ6VLWOVQOCYZ18AYON5F1HMF6JFK93LAFG0SI8SJFTDERI7D7L720O3CTU4LXZQ2ZXIIS65W54FY9F81EKCQQLY78MPK7NEJ91W37MHYHGD9QG4RC5TGZV1W8Z6SXM9RGT81RK84PAS61LDGMYMSQZ330868ZOBW9GHMW1KO0OA9QSEHI5IMICU17GRVEZ47ATWZMIANQXD8PDR57476OL5UKSJYBN9D6PSC7VI5YXLXH9DR6C4ULF12H29CZ75TPG0YTFL2YAVFWHJM7PT6BG58L52S3LCSPZGQ3NOTPB678UH4K927K6BWP20GP7XHRFMK9O12YQ58AL2ARW45FB0NKJE806FPXRIWBFD24A06V14PPG3DH4CQXVQEZ6NKGPGJ5CDNKNZJI0W8DMGHQDVYFZXSHVPAR0V9UCFBUGL1TSQJK3QCZEYF96WLSBU8KUO2C9HZ9YIC4ZMJFT13FB0CCO08VWS8YEP2WO5Y9M1ZFAK086FSASCU53WHN2VHWMRMPXD8YGTPRRADHFQ1HZMOCAZFKR5Z8JWXRQRUJ4YDORZ88O2UWEXUA05LI0RGNSXMIUFCGJGPP8J4GI2FB3AIH1K8L05M9IYZLQF22N03GTKJWB340VRU38UC8SKBIQH7BCBDZ6QJ20RLOJB26G7PXBDK9T7L04LM4B946EBBB0P6UIOX4MM0NRH23KF6FZTSUJWI0X6R1EWJBPJDUTX5XPEVHVCC5NQJKL1F9258M1OS0GMRUFWX4YHVVBQC9B4859LW4QDRHY68HLYUIA0LUWNK0OA50U420BDWC1VJTFGY2H4HYW9Z5KOQKQOMMOM3894IT9WZP236R65909ZEGX5 = 36#13F89IF8V7CIALFJYVFWJBWQN2SRRWY5O8HXW3JDTAXUL7MFNAICONGBREYPXLZ8015N5TNDWB797LN6SDFSPA6E5RJJIQ9CD5PO3XBCHM2O9Y1F0FNVZXBVEUNG6TLRNQ81FVHJ3M03AMY1S1U1RCR3SCELMF3PQ5LLHGYBC7H5X6H5YJJ5GULNMAP845IZX9FYKG7D4OR0XQZWY3FPX5O8JIDAVVPXNVQQLQM920Y1DAOAITCSV9CXX4718CH0KMCHJNSNP779T23CX3NNMDE8QQE2FJGWAFR82IYTNOAT3UY5NGUQBQUI96N6GQCLPSR1JNK38REVRBWSI2QM1B5HSGMTB2R8S21QOLDJORPHL6RIGXIJBQZ80BHZJP6J0P9FJED91SXCOB5PIZDOQGR4SDSNGSXZNZAU42RUNNLT4FTC2TU8CB4ZLE74XTHBVRHSZ9O658DTUYXON8AWLVAVXBZQ6DQHQIT0T81T58HTI9XQQ222TD1LS4TS3VGL3O8SGNXE4BC6KRZK8D4UH6JTRAT3KEZ32TAS8INR1L9XNS7BK4ZL0U1FW6Q909G9QGV9PYBZ91SL7V60ZXYEBF159WUX4U5AIIRVLG6QC6E2PCB7L5YEFXTJXYA2LHYR37V3HHR22D2CZ1PVA4EBJC63GMA53DPNO7N5PBNGH3B909ONXBXY532M05D6EJY1Y6TBJEGQAGWKJG6GCX55NLXI7DVXOLZ498PX4NV3WVMANTMXSCCJEGL4Y0Z7NDV574F14XDRE2TG3SU6BXJY3DVTP6HI47K4ZL70M2U9C3AUNG32QOECPDBCHV8RIX8ZB3JP4EYYR2L1OKE4MEEM7DB6QN5124CCM9TWOY0XZ8QBZ5DPNYTL2B7XQCW998Y8Q495YAWGQWH6JTP8VIMGSZ7ETYQNYPFJI97M7CMME22KDTX6E2UU2R3HW9PIFWCPLQUFZBK81DQKV9G2ZW7PUZLZPS81GIIISQUYUNYLGQ57WDFBQ3T div 36#15LGO007AO09E1MMVALQBAJ1Y9AEN71LTDOGD2IKDL57NT51D. +-36#4SO6V1JZ1O3VVMHX2IQGVIHDNS7BQHRGOXENGHCF27UIE3LX64NW9G1C16BV4KFSCSS74GSIRNO4J4XXS1Q5W1FWKZ9FDOU05B21ZYHLKTZ4TK20SVC5UR70U6OEU8FQ3KL87MFNPBSNAFHX0QXSTKY5FA4YVF6OME6HROE3W5XACYTGM33T0V9WSLYY73DJDIO4OFRPQTHQ4DC650M63ILUK04EULY2I7IBJA6NLMGD800F3FEU14EKSDEBR2NYZ4R221GI4LOTENEJE0IJBOYCB9WVNBRAYFR8EF20GVXZAYZ8AKH7K3QKDV23WYCJ5I8VBG1CLPAB3KJQ5RJ3E35KVX5DPEJYISQL9T6NDQW62OBE31UX1KXUGYHDY7D1100UVLWRN8L19IP8XMU8WVMFQ6VTBNK7NH61IOASS399FZKFFD5HUEG51DE434IS7KWJF243MY5E4NCXBCB0IOFVW61PXQJT9Z8PTDK4EDYERVMBW6JO9HNO7AURL0RG4UURQ5X2U8JCI34V3NEYEJCZNTXV3RZLFYBES64JK1F0SSR9YU9P2U2GT939631Y4OWXSPWDO8W0N30MMQQ8F3S9ZOEXQV6FV2BZ9YW0I5HNBOFB0M1KONXWM87Q335QT2AILSRGKCJ72ND2283W7DDJ2S1MOXH836LTHKQEIVR8VQ25RV3CEXW897Z4GIUK5SIVLFNRCM4KFB6TXGTN4OX85EYF8DRM91UO5JWNLB2K2KAB9GQ5BTPLL6OEKAW97BFQKGHG6SZE8SKKL4452VAZ1FD6FI0K8WURX1RW47P80MD8IICNBAAORA9CP2JSY1N280GV11SKQU345VOFFU0EQ45D4ZDTW0T29Y6CW4OWMZBLWN4DH37TEGX2IK4NJ3N273X3RCHD4TF1PB1QQ9SON1KZ8V1QJIOTIH2IUJOPGFNBVB7XMOR6HDO5OINZB0X0BEO7Y34XYQROXMXRESLPXVSOBWZ1TET2ACI8SKL0NUSE7UGFTVXFBEQSCL4TT6QFLVBJQYKS0KRU2YLEN0AL10V8A2LMWMUJ7PO = 36#1AWDB5SJW9G1A1QYFTQB2JL00D68VL10IL2GS4O762EWXUI3O6ZY4FZDDM8FSPSHQ5ND1BM7S3KZJD096HOTP107FK4PO4945SU2TTQAAQMGPRSX1T0R61MMYAW22REHAXAZTKE79IBW5GS6DU75ZUP41RM9VHC1RCUUUA127ZLELYFD3T3IFVRGQZ0X8KR6X11EIQHW3DQ03AIZHDERVVR77VWBFZVFOGA7J06N6QC4YAVPZ199RI1VNKOVKRQXJVOTY29MNL8P9BRQ2POT35OGSZNY4OCVFCID1WGXI5DEP8M0WSF2K5AI0MUHBI229C938FSLQ5WVJGV7ILPOG110XAVYHYVJ7DLZFWN81B9H10S8GN1KF1K9JYWQMDU5IPXMJ3BR90FUBHUYDL0XC7CG6JVW2Q1FHXAMOCU4AAKIJK2HKZCYIVISR1CTASUV3CW1FPGBC8PLLGW6MRIHW2ZUHM5LBL8HNWLIB5U4MK0Q7RZCDO1XHV45IVTZ34V1WGHGADOJHWHFNX1AGDHF17HR8VIBX368MCJ8QV0T2CC6HF512TR1KZ5Q8BUVVPI5E7DBH0BJO4AP2YUC35NVB7XIG14AVW4RW2CV9P6N39X6J9O05LY2KORWZPBOQW1F0BK8TWU2IUM7AT9QI1VUNJS93XJC28Q587TD3NOUCO1QDHHYTVIIZ8TLGS0CZ9FU1MPPIYRGGD9YOVR78BAW0LK1NOTWJ58OVL0MBT90PXEAOY32AVTHPVYUNGYRWJBE7SR7SE6MST9H7IYOPU1AZXCTBN4VG7CBRV7M155DPW2TDEDPV9EA31DHS5JIBWCYGD2O6MCVKOQ9ZUJJWLRTLCTLL71BZCH3BX2F3E2JW5LH393YFSIYHHVU13Z09H01YTWLBD9AO2TULGOU * (-36#3OJKPF082EVZ6C4FM2QB6OF1PT0YQRZLH0PX0B7937SD3HDXIGJL7ZBALAL5GRLJ2ZGSZ2TKGX7RBGMK1ULVY0KUYIVKYBOVINJ76YI2N89UTQB2D8859SILRWGNX60N6VMDKQ91QZ74VHPVLC5PYPY2). +-36#1Z5G63KHLKZEHXRGY0EZB4H95DMSDBB9LD9EUQJ0KB2Y9N5LKJ = 36#29O2X1K97G23C4MFILFEZ7RR9D0T3O20CUOUUXIN9VEYFWPZH7QCZGW53S2Y1M9Y7G4OBXYOVLWPO35SDQEJWK4CIRU632I1KS9 div -36#15BKNUFZ1VIYY372G368RQDLA1L0XTBOF1FWXWCOL1LJDC5XER. +36#4PZDHQA0749Q409ZXWYA8YI54B2NT7K4ZX82NA5XVPK24SE0WZ5HYQQ8DO233770UROT8STPVV6XHZ8CDVMJD3WARVAJJ7MNHVI0Q0W6OZHMTLBY13R5LHISY8I47PKXWI7PNMVVZUS1AKQZ0IMS70Z1KAJK0VMRCZZL7QI8OMKU06CEXK4ZS1MP65G1DS2HT54HY2Q67LHXLUEZZ1T75H37P = -36#EFYUO15FPOP8XFX5RSYXM79O5RS0GB8GBI600JOZKGAKILZ7NHU78W5836EMWF5LCR9PPZCDGHD2LTH4MEOGOLS0N3DT2IK7PMPPDMBKV9AQHKM7ML40NCIYGVAGUKB7T44XQ7765DJJ1O27JZORKWW7UGJR04E6XN9B099HD4R9SEQJMY32WLZXLMANJSBXMWIHNCKY9EK9QWJO3AFCC9BOZNQBXEI16BK02LE58UVCK8IZLT7YQ4X71S421LHO17MU8TU0MY1VI3JBU13MJU3030S4RX6Z363QU5EL30VJ6ZMMK7REE7YFGTPNJ6XJ1CHBW7JPDN8Y3ZBD5HTP8JD2DCJX7O4AQS0GBZSSLAV3AIPXZMU9J0LE1C30DGQ208JRSPIHUHJGYQEQQF7KXU2JX8K0RK2S6GWWYPNGKZ0GL35NAQLL0O3W4C1SWHCGL23BH5T193Y9A7PM1XVMQ2LNTS1LMGASBGQ92FFYFIN58HFQHVVNFJI75TBYXPUTVM6P2HSNPZEHI8NKHGI0AG1EZ4OAXG0F5L6ZEHPEJGPKE91U9CDSU2FX69LLI7IBOYFAZ7NYFGZK9UM2TWNA2NXCOE78K2B7G7Y3BSCTWTYMUOBRV33DEEAXT0DE0P4MHV728ZKANSQE685MXXLT1O5OO2LN65KMUSMD814ZMROMH9N37LC9C64OOAYEZ2YF4JGI0JLF21BO6R2X959490XW45P6H8NTYPY0N div -36#324EAPSQW22K4PPAOJQL4CRP1H68S9VF8WNGZPJMAI96I8CTX4NLBC00BJ7Y1OSHMUWETZB8NTFZ5KJFV2IQ4AKW3PJM8E4DUQ6W3PYYACJFIOHQZFNO0I5QM5L7N8YF83CX9V3OHB82RK0TLFEGJKYU1YW4COLN4OMMMRNT1GPJ3A4UHKOEEPGIYEHRGXB99EWBK8MELE2BVR8X8DBD4O0MZBLKKL0C06TKORVJYG1VORIQHKGRPVS0LI8Y9OR3C9FUCMYABQQA2ZITWI2FFLXT57GKSVGM82E15LKB4ZMEPFRBRXG05AKAI2B5GODTOZ27BMDKU9BHUIUG83IEOTP9PY11URH9CWN3RR5BIRZPT3J90GNOPV84YW2KBXOQ01IU4NWHA3K5WDP745P7634H01OWTVH7DWM27MS550DLJ8DJ4CKUSE81TBFKYQJ2HTE3KZML3JJEVW3GCWKRPY6WVPGH0H9WFLNSQISZQYDNSZ2HKDPX10HNA1CDA5YRT8RGGR8W3AUOB. +36#1HFZWW4E0UIC7VZTKWGENO681SCY28NBDRZTE4PJ2XHIXNP40R = 36#1G5RX4D49YLA2XJCE9Q2OUZZHFMWFCSINAD631X6GX1UVT3TAFVHNK0VAB1FSJUFL1IOI44WGW236NQ4DQAU078LKASD3B8YAN0KIUWWMBD61R0DIX6YLJJ8J7RR div 36#Z4V4YVKB0IO61IW2ABXM0EFF8AVNH7UIA1IRSA7968JR32TWV29NABFSGMO4PSEON48DFOILH1. +36#57I2IHGVS5A7JO1V0A7323ZBGS2QZRZ3168ZLG755RT8BN2C7 = 36#3AJPK1MSXT99MGCO6C0S7MM05S73KXOA57T8XVPKZ3YHDKF34ER2U0P6L7F7OZ6ZACRKK72DCV78TDJZBQQM1570PKP7UIR5FCH4AHG8OXSW2X7L6K2D9HI95YW5UYEB8VUZ2D1RY7U97TIW601ORJVWISCFDUBJT1Q3ILIICLSKG2BH8LBG75NA7VD0PJYRQMG9JPAH0V2B13TS2NZJQNEA37N2PPIMVTOR3S0YRA6ECWM4E9U1C1MGQDTKR4S6JNAHCGRUPPH3C4PYDS3W79SZZ7YLR3SR8MYDQOMNM4453RTWT1C1J2T8SW1N17D2SOU3EXHKQ3RKH2UCBSJQSCP7PTJVH73F2ZCZYKGHWSKRW0P1TLW4VLC2J0K83OBQ5YNN41YK53F41CX8J286LNV7UPPJNI5K9BVXKUT8SMBTD1ETRBV1XC6MZBBKDTM4RYLBUBWLBGPLEX3AL div 36#MRE3T3X7P3JEPCVUY3EMKQ55JLQ4G181H50JX5571QHJXYWCEAJUH8BKB4U6XBS1HUYW3LKGEK8PYYWLON4IL42Y5JIPZK795GZWJB2RSPSRM88UG1LU3GH2H8GQNBZNC84MMMTQWMWGKCZLQUPVFQ1LSDD89MF2NI50RLRBSLIE15ZHK6Z581ZPOEGGPH37J2FEPSFN4WA431O1V6SU6BY3WHV292JOX2XF5K2ONOG3SS3JNDO4JBCCNX9ZNPNLRZ3CBRP2RFI92HQ79ESDIZK58GU7EUWXXMJRDQSHSD4FQYUUU2WDBY90TWRPJQS11TWU0YQ2YYAIA5MN12BSVFNJR700KFS3MLGR9GAEOH7VVI06T9ABQXZ8ASQNAUGGJGLK7RMIEXEVVX7C8MGJ8U5RX4HXLSM3. +-36#12IHS1ZWJ1P90G9Q8IRZ7HFITAU581SYKHX4KOHKG43GTZS9BXRA91DUTN3PHS869AFV9X5U4UOE0XQ5K8EUYVRPPO750SMLKNJH9GFPVE11BZRZYS1LI78DZ1NYBYJN7MNOUTS906YMGJE76HYE4FKGXA85QCTYKODUJVXN3N553VYCT65 = -36#HPY65VRNNIVVJVLJ4V9WYMPGS0EQEQPXHMFTLAOX8ZJQGZR3YXLLM9XDKJC2CFQ7K0YAF1K39U8471CTNWWT6U4IJKJJSRERI1H3Y2FWXMRG1IUXNTI8U1U3Z6GH5X4YI042ME3TSWFBMPNXV6TM04DIDJJT5EZ6HQOPNYV2CR8RCEGIZPMW9S1ZVBDKVEA3D4EC25UJ3H59HWSVJ1M6IAEOBLG61OQPVYM9796E9GO9AKM7J69VMVCB548H9N0TPOSYDES23014VQ36FI5SC21TBYJS0FZ4T5BWJE2DA858IGD5FU2OT65YOAE1VSO8ITF55PDEE1M0NIT5QFFHI62RML609C9JA8J0I2Z9TSCA4HOMWKZTSCVOUKYAQ606D6VG8XTLIMUJF29XI6GZ9THE4OKVP7HLQ3Z div 36#GKB7MSDYOM9REF8AF1LZ2ICXCF41MEC8SZ6LD56Y9YV5IWDELR65EUGC9OZ01NY84U5EVJZAIW66O0DLV0FSIGYWQBS5NB0Y9IAI766V9GXB2LUS7EB05M3DZTC68K93ETYJD1GV7GCRU4UMZUWTD6TJZXMF519F8USKRV7QHQL32QD2V1BNJ9ZLAXJ1F50XG2GCY8ESUG5OUQENWJUN82O3CFLSJHMGISPACUAR50TWM6PL7. +36#2NJSETX1APOY053NU4B2B74ZDJ71DGZCBWAWP5WM5L0YWQO8TV = -36#3XNXCLW3IO7FR5M7N2FW1J8AA70JRCT69PE0YWRB5LJ2OGZRYLB4JXJXFBXZYJX0R1FCSR821ULKRGC0K443S2SH1ZFTKBZM2H7RUF6CXGQ8256MVZGECDHN7KD3IW0UOUMROFQSUKS41X5EY3061NZPFRIC6XPVY440I78LP3SPSH7H6LDOETQRREIK74LH9TE5ZFFUXAP3XWBNNG93G3KXAY4XWD8W61OR6SG1TG4NPYU7DMRYHJJQE8JC6OV961KLINBH8KVNWELRFWUW8IG1YPHWMP5K4WAUUY5IM0L1TCQJLQZQYCNYCQAAA1P80FKCYPUW9SVQB2GDEHZ584DKRW98DL9G7TAKVI8BUD1G3WDUPLUMMUTEFZ8LHEIALBURZED68ESEJ3TEJK99TBD6CPBNB0VANKLFM7ICEGG8YN2U88Y7258TCQG1TWC0XHFW2DCVOM8KQ3B6S4H75 div -36#1HDHH0NG5XP8DP93FBS1FBINB4JLILYMUY50AK4EGBPD3AC4XL0GJK40P7SZZ9KEG1TML0LRKAOJPTLI6HPJJ650UQVDWWPWX2RS4UTCKV0U8GONCP2ZS0SXDRL39ACOIUF6X735LTT0LYI2G34FY0EOPSDQLRYC9DEMQ62PQLL3W1WRQ941MVN88Z8B2ILCCT7JL8JORXRGZI32EJ6F1ET0KERE24049QWH275XTG5KRTPCAYUFO692GAUB4CCLW17GZWH3QSLSWCE92288Y9HJ1FSDLME0860SW59G7JMFQ4H9MD67349XA4CAIT053IYUBDWRY37ITSP5V45W01OVP8DJ6GLPZYSSI3GGUW4T2OQHP74SIZK46MICM3XGEFIQAQT4KW233JBCCD21KVH15JDTW9U7HF6Z. +-36#7OCFT6DA1NB7PT1X7Z59RIUXX5RJPN90R8A1J004CP7WEYVTUCQKYD5UT2J0UD12J2MWPN4CKFPYJMX3871ZF2UFS1Q3U3M3R1G98QYAJ9ACE43A7FO9V1USQZZXVCHU6A817YCHBSY0PE2BGIUIW6EL8HDRNVY23P6TK9GPR77IU6F8GJTLLXSH86S04EOI5ZHGEDHFFH46CAK2TKAP6LXX8PO7UICI6ZSO0N3MUMD8I0X795CI9TIRECOQDG4S78FFXPP54H1WVWMAG3730HGGEV1EX63W9GJOKHPOYRMT9ZY90YQGIUYGYGYIWIY42DH69B3L3EY5GQDYPR1T9SXULFMJ5DL5F25A6S7HMU3A8XT8LV6CSR2RL1N555C8ZIYXZKWO2TKMV7HXDXCNED7W5NC3FFAPW9WVT0D1MUTYY6YVAGWZSJPEN7RAE5SQN4B4610VNPHPPZ7VN15N6K5AH3QSCORY9MF95O5P4Q00KGOSRP469CR20Z0UUZDQWRIB1SXCDW52650Y35QUDEWQ9T2U0KZC6L8LP4SRONJ2SM3HN4ZCADY6Y7P4NNE49TV8Y74HJI54E6KKHJG0YL05RERI7B7XUZG6JTRAA0ZQ0PJF5J2CZYSYA = -36#9JCX1Z4JIROFIHROSC3ILZUYU0CIELIL00VF8YOPNKTQXLKCRU64KGWTYBNYWSG7MMMR3WBAZYUEHVDSG7CK3HONSBS7L5YQHDMQE1418PN4E9QAM82N7G70FRGCPJMZAYT4OCTMLO44BOB3XG0UU9KTSJ1DMZYHHRC61B8T12V42EPVS0N5DU0F5KG5S85EAJTOC6G1KE363ZMMUVVTO1WE8L2D69F27FJJOSOXSXBFP5KAV25BFG2MNBRBZNFP0YE54AHTCMICL0VMSDVOALE6UG7KRIV5F38LG66OVLXEELNEI0PA1CM6KC4LHAACVSQ5YU5MLA4ULG0YFY96IRDFEQ2TWVXYH0D55EPHY4HKT18NHX28X23X3INYKD2KWVA3IFMKDNTV2XP1GA9QR4BFM1XG6WJFCCN4QQCCXR758EIVHCMPWY54IBN58KHXM51NN02IZ9X7U1SVM8P3L7UJ5GFATUMNYRU17GAK0H1VZF5OAVBWSL45UQTH0X7ZZK4NOOPYL3H17TQ7S2CS60PTFZEYM4BQG48IFNO4SBOEGT6FDU3MR4YBEWOJTK6U89EW59Q9F0OW6HNRC43UTCW5ZM2A6MX8LACKVQ949H6TAOUYI29B0BN4ZOMMRSDNZTKFOW6KOX5TBFKY9PVS6QCE6CTJIEBK4L8OIGRI0G div 36#18Q9ZXDMRCJ7ACC0828TEFD0UWHYJQI601EJM4LM0KCHAQY4AG. +-36#3EO4AP7DCNBVJX8VRZ4E20TJDAK4AOVRAQX6QJ1SKXISQTZWD6BKBU1UBKPBS87HF1W = -36#A5BUVFRH1XF91EXOTYUSE8DFDGYW5WR1QKG3IOGNA2E1QGGRFKGLP9EB6LH3COHUDRFSPLZZRP41UH9X4NNI5JD7S3CY40W3OU78X2G45AIIVZLREWW8ZZQ7BGNWM658P4FHYXQF4VMC76RB1R93CTWIMHIIO1JM0QFCHEM3NNX3NOBD6JZ900F74SPFV2HX6VLHZM1TIU14 div 36#2Z7OH8D8XCJ8V9SD7KZQS7WSIPT1U088RKHOCVK07HAYRSISPHLT29L77IHE9U6YRTTXNQ3208T5HZTU93XLE6SVU2DQNFQPARICFU3GHFWDIYN9IC0EMBPF88JC4UJ4DPPY09UOCQ. +36#1F9GJXOQHO9I17PZDZCTRSA9UV1IPSALVRG9FW99VW7SZMB4A0JJSWMTU5LYD7QNQUXPEQU97V38WFNIBIT0NGYC4K0A0EYC99IFPFJ6LFS5WF3Y33F3LTUE19NF52Y9FFP3ASZ6VDF3JT46VLOQJ0VKHRQW17KP63PDD1RIZ5ODPWQ2UIO7CQ4K7Y8A2V2GYTYWIQH657L2SFL56ZSG8A9BASR60X729XOL2ZMKP6K6EDI37HHWCEMMSA88L4CS7M069YCLZCD4RP3FE0CQ6NQ2E6DF48X0IKQPFWT85R8FCK2SJ64FGS0IGWPS6X8RNXY60G1BAFPP42HNO0EPPVN3Y7VQUC9Q8GL3VB86RENHMKF59S9AEHMCMVKO3QC0SPK7H5M3CXZCSD4A4NDAU95KG3S88YFFO3EPLC64RKHOPURFATFRASEIVN8D3Y6NE2TYLEUGCGPP11B5CY7GG6RMNDZWLQEC = -36#U4YD7E96LSC3WJ0S73CG8AMBTJASNJQF5EQB919EU0ABHPQT7W90LBNYNFT8FIHV0I5V9E0QR9GLRDSJBCR6U77CWINVWRB48HPXEC7TIFL8LFSG98S37QLAI3PD4BPL7OTFKD7YC77HF082WPW0XW61L58K21S461GU0G442XBPQA7DQN8E03NUXCYQLDCOFQIBNGUUCA1FGTHZ3USWMELEY25F3OYL6KUWKTF7SN2AN3FWWD4803TTZIXY6PQEC9FK6R4MAEDYHJFTYK4Y5GA8092ZHL7HS00CVV1FZHEQUWB82XL4866IYRMDVUG3561WL7GU83W5L4PLMCB5Z1AXU9ESIYYVDYNW3QZFKV8FQHPI1V634PFNIGM16ROH7991STNAXSCZV4CMXA4Z0C02Q6AY5L9AQH1BXLBFPQ4UQDZ65IICOLXR0840UU3S0BWZUJ83ZKVAPVB8K8PZQPD6N5TNP2LUE4APBXZ1Y3BI4V334N3CRC2AR4ON5OPZP1DBLO6TCAIBJQLYNWC5XPCJPQPOI9IAM94YJTEHO3D8SK3MMWM1VEA8UYOYCMWZGGMFGIMWCL7LAXGY3E6CDAYI3VPQVWCGZ2UE0OBCQQFW8EVKD41V2K39UIRZLBTILZCSXBTAZ8YFZXWJTRHPV3NTLH30ORXZDNTQ2OR4TXSR5JSLZNUPX9GBBBZFKERI9GQOMGF10Y4MC5B36SLRITY3L4OVC6AHZAI7QP1NAF70 div -36#L5XA992DAQD7JTJKUJJ34B0350D8AA62L0PAPA8DCKRQ3OU7RQT8CUED3ABQRSXNXVIZRNREMJAFW9GD2M9NMETBHK3212RZC8YBYRCESARGPR20GGN36C8J6D1Y3OYYZYMMJS4SJFPF1E6OU36NM75MK7O7UCUJ866Q8AZN0JLNFA0XG6D9B3MMFFK69UZCD7UC9FUSN6FW3V5FIPIGD3MIH5B8AA9MILW9FIXT1XELNCDMQ09NS7G464VPW6DVQQN3GP7SUDTO3. +-36#2LM7A8I51H1KOAA4ZARPNYQLYFTJBIZPFIUZ74P2S5M49QE6QAIAMZ2ETF0HTGPH0SMAAR602SZ0JHCWABWD5VIF8OVTJWDIIJY3SBEPVIG95MWB75H1BSGT35U6FGWTQ27TFUUAQY6AZQ9XQC44WCYQ2LJGAC93EQHCD3TEIIO4RTN194SDV73IWFCIFW2STN1IHDOBT6XYU09DUT3KDQRRH4TXTXLX0I3O1UV76SQOC5DFBRL7KRPIPWKU41HPMG3Q2TXZU9RDOYVH6HRX9URIN122UIA8A8R8EEW34R9ONN1YMWO2GAKYEG0YJH94NZRZX9P7QZV7SIG1PQK6WJOAVTHHAHQ8OVGOVSIE9A3TYL0F5V93JRNIFU6KKD7TJ3G6A34ZPFBAIMBZKO5J9CPDS3TB6VOE7GGA9RCJLERM5GGJR776W3YFSTC052JSSPHAD84966295B4FTRFCIKLABRDYHZNQ2OUDON5PNV8M6EKDYFT22HUP2LJ4PHHKDT1DVIFPOSNZRBB9WSWQPY9A5HL5OU8QAR0CGWL0NB0579RCTL8VF2QVPHO7ZJKBKEJ0AW2GFCAODOQ7TSANQE56V7HH547DTBWGVPKMOVZ5S9PX3DDIMRHGUB4K2ACOJIQ95LD0YX09CZQXJJYLUG65F00EM10HS = 36#MUV12OQUC5LOIWH2380EIPXBNDXF0SL8OGCHBUGXLGWYKURKE * (-36#43G1CWX82VEZ39XCGLS6H5HNGKIHKCVB66YH731HNHEMDZ1S4AX6IKKAJTI7UYNQRH5XX7O3BNFWF8JE22XXOF1Y6M8NOU8H4R2LUGWO0ITUBMAITC6CFMOYU3HZBW285NLP2OEEFCN5C4FGH39DN7RU9UKXTVQQ2AH33THA0R8RWL0HI7MFKVNDYN72HTYOE9IY1RK7UX1Q6LOK350ZJF9W3OAJVIE6DXGUUWI21FR155EMCJREOGYRHPCY0AVCAOOAB0SYGQ91FTS2GB9OTLLZGGUS1WOTG8Q5UHNCZR7ZB2RRJ8C0ZEOY2PILWSGC4ADMDJVN5BIOQGEQF8IK7W1NQRG28YPJ85EGMOEAIFZ6OTIN9EHEXI6QIMND23AKXA8TX0UH9NHOIL2PKR1ZQNFNUZWB9M6OBGMEHJ2BP00A1AQCM5TJ2W3SGLNE3EOV3AEM3E5Q6LCJABNQH1A55CPD2HJAYGBTCPC2MKLY0RE7H14PCXP982BCZJJ0JBWG1JNJKGHWC30578R6ZVHLS5W7IH0T42M5D9Y0XDXGQ706KLYN1G5WHC02JJM0C9AB91RXT1PHA41DHSQ837XCXAA6P9M0BQJ0AZYIYJB28U8MWI3K). +-36#1GFX7K5ZSBTXOFHMK5HGGVD3M2RJYKVA5WH9IL0N3V2ICEGM9G = -36#54PISQRLZ0WNC72IQ9GK5PJKF4TV0U76WNA3BPUTM65CFC14VUVHXTMJB013PNE6TQKD6KR69FBNDLAR5B57AKGXZ7RU3410SFA9ZG0W6BSCFQV94QV29ELA1F5U5LD2XTOH11V7QHEUA9JU4F6C4YK8ZTFAXXNC66F9GP9F7KNAQY9QVMABPXWCSGKS2L6W3NJ3IP76J74TT1WQ4XN2PLLOQ15M5FUGHS00TLYOWNM117SVLGVEZ944BFKSWJSTNK8XOCD1MEKJ7DD21J6JO8TIALSISXE9MR1SSA7Y0USVG260PNQM68M8L0SFMUR2EZVJPPQH6QMBLRA81AZF5BXRGC46C0ZQ3FS6WGA31PY44Z6D7NQEZQR1ZQS3IYSU0VZ82JVV3JNJDCQDGRIJ2JV5O40MH7UZ2Z0V79WNSTUWMCSGK8ZVSBAX25UZUJY3BNO6C4LWW99CPK62U9OR5GKWCWG5HDI7KOCEYALMNXQDVZFMKYOVLT4V83T3GPU68AD4XG7FLRBQKNUEPYNCRJ99EME20ZODKCAIYCE2IOQHTY9ZKPXE9DOSSY98AFH36NMQWOYAU7NGDDZP57T57F46TXMM1HD6T2WPD96TMF174CT57VS986THOWHPKB4UKNA3EYBD9A9IH89UEJ6LD8VR9IUCX4VG0 div 36#3ISOU3CZ67VEVJCD2ZM37JZL7GUUL1J9SEYUDEQ56SJJWPOBEKEY9DYBOG4YH46T1KYTUXM271UHL39T3YW5RN2RY15FCU87PAATHO58DYJKMZF6ED1N1DL6UVMXYSP57WHHLX45WCY6BSGJHV0FTGCRRIV18RQVBT30CZT780C7COOGCEAFR8P46N02796O6M71BPXYIZMYUCRSANABJ3BATENZR8EH1PM1E7PSMVN45UM0VDM86H6GKEEAI1Q1M8ORJV40F8HQNOYO3V1XCXPED0BRTBVU8B4CNP2SEM963I95OOWTFATRNW7NA6O8EBZ2832XOC5JOO3WRO119E1NDHIHTDC1VS7E8MM8UYT9JJ9JN6X7JGM3NE5GK3VXSIBRBXP948YFFG88AVER8GY4HOSKC6FI4DA3EPH1X65TL7QHZB46FDA3QWR10E08ZFCNA2Q80IJUPZH2S067DDWQ0D0AMR1HVCXITD5RVXR6JBFWTIR69POIU3A01610P3NC52BTYW0HJ7BS2NMB86GNW32MB5X7VFHWS6IBCDWN4QUGTA5R7L46QW6HRR33XA74K0RL7YB1UKMC1V0F7SONKGL5S87DQ0XQ8M9ZO7GAMTJ0. +36#4764FU1FBE6E7Q8ZV1Z0D6QZZPWXWY9DYGIPAJEYY99TVWRZM = -36#ZE3M7XQEL6AXP2FDF4Z26A950IJDY5CE4BP84OFKZP2A4QGUMDLXHJTAALAFNFWYER9YWOZCTG0FQP039H7J57RMPYG1HSWS1BOL9M1DYETZXY9XR30HQI5KJSPPAAVTNQ2Z8VWASSHULZRNEBH6K28SFG8J65VP2RT0G4IDW7LJY3GFG5V84WTGAF9DMLC8DDY2JOLP5JB0ZIPNVIWA7HNSNDNTT5OIENLQZQ1KIHJZ1T6ZZFIQSD6CAV2I3AQN8IF18WP8JNGOB63U6OYPYU2MUWVS1BC95APH4D0LARS39CMXCCEZFDR8Y1H6K8XH0E0YVZF16C72K376QKFHJ82RS8NS4H0ERLBW div -36#8FF0SALUH0GOTF326L93DUX7E6FRQUF9SJ6OX69PDY5MNQ3YHLOCO4CN2QYWBYS5W6A6A1Q0KWWB4VJJXEIV6PA21CQL7SDMJQMS6MMZLXSMAKT3PDIWW246QJW4JFK2KMDISJ5RJ3SL87AFOGQMYK6SIECRRI442O18XSNMAO3G05XL2FQI8TCZIWPI4D7HV9GPHZH5Y3K8BNDL5TY6MSNXDOORFWNISQUB3PZ8G2LK5QAPZUP82LB1HI3VC80N7B1Q22V58HKZ6DXU0OAFCZ8POHEHX9M11Z20PIGSBW4V6CZU9H1Q. +36#2ZFJODZOPA24ISANGEPSTSDR6A1TL9OHVNYG214MNILZIEXWOM = -36#4D8R6DRW6UJXA7HXZPKQCF2478E5LVM36JKUO3Z9KUNDHTFY4PMFBW7QEKDVRZ4Y4NPIX14U1CFLG4XE6I9KD3AVVYFGV4QD3IU div -36#1GOWASNDTUWC7MRH7PTA3LWXDHS67BZAXI0JKWRNGTNL09BYFL. +36#36R8FF71F7YYM3KPDVSPI4VXO8CELLWPH45PV9G1JXP7K4F4N5 = -36#44K7YEKQ36XZA2AQWLOPUBUEU0Y60W004KRJR6T2K960C2ZML5GN9QY78QEQDBXPIEVPAVGEK8IV7I0ZJMS69KZTKZKI3P1HD5Y div -36#1ALS0I2L7N8WYFJGQ5XU2POAGC6HWV61Q4W0ABJRWTUDGSW2UE. +36#10NICZRIKMO9MVAVHJQ3XUMG60ZKJD1WWRJQ3L5C5395JNN33U3U10NZSYU7F42YO0X9RE0PQ1NEK79UC65ZL4975DK5J2D499QXWMBUUTLPZKQR7Z3WH4TPYL5RDK3AQ5M5VOR874OBWPU8C21LPTNV3GOQSJVPTCAPDB13N04AHJADM8PV94PGFX99VMYXDJJTD0HJNGI2FOZPLX0T = 36#NE31Y773RH9BRPR5SBLR1N2V13W54E77S808AMX2UQESMF0FN * 36#1KERWN2U6927XCNT32S3TBHCW7YH0F37D4T21TVKXBXNP35TQX2M9RK79AVP1FVD92W7MYYJSGR3LQIV987G3E5LTP45YYNLIMYJS3RW41SMSD8PHFTFIIRNYRZW5UABXKE6WY5AMY4T3XCTBWDUCVI7N49ZLJOUV4V. +-36#UWWRS9WOSAIPFVQ3MIJKDVJMJ1N9GVC018D54ZWOPYRQRY0FXEV9DTA1XKO6O74D4R3RCLURA4DEYM2W84NWNZ8EEPPLQXEK1JKAQIA67K14STF0Y9X0RUZ10MNRDVAM69EJPPCVRBJ5HM07MSWH1P1VFHZOQKUY1PRDK89RZRIKRRXCVNPMSCWZO0ZYLDSL2VOJQU1ACIUYBLRPNPOP5FOHW4PIHWNACXUZN9ZC22MN6Y4OKIDB9C1IIUCTL6YSYEDQ9TMRDVIFEOJPGY85R0J91IOZ35EFS75H95OESCLUXE5Q33NVD5GJ4NNU5ZNJA4T6HTLS3C9G9HXU3SGDXSQT8P251YNTDCY8STQBKOY3PYST2SVWJUEOOVDX9AZSWS6D3ABNGNDIPG49QLLYRRJ9WEUNSKIJZICB4LZDVV3XVWPWSAZRFGO8082YZPCYVAWE5U2IVHWA1LGLUB6P5Z1XR2F31UHXHCTLA8688AYJ1XR5I7RDF5OBF6RF4XDU2SJLK5ZQ3P7H0B8SGJ9YLZX1F4NS7OMG09CNDGJ6K7SUNQVK5BS9LNJJXA5REXKV9S9I7YH4BEMZ6GL65IMZSHY1NOA75O20T5Q9I0RISF0RKEC1YSYKHMAN5VYZ3SK795UHDHDX96MDX2AKWHPQSD401SV2GC6H98QI3WSF1L6XE3HINIXW8I37AQ6OFJAHVFE1UY1H5RSSM4X3FVFDP457X5O6TW42OUX52MOYIFIVQHSU6EJJ5CSJXHXOFPWLSYSQRCN8UUHMWVYHPLUT07KDR3E8AI3955S3JT02K7OTY7UKUI58NIF25FB4I4MQV2971G15MG4PQ4Q6P9W7ZSGW0VLR7I622GZUY23Y0JUWENRIU645WO2XKNV205I49PSXMXO6IMKIT2VKCQD = 36#1AM8QBHZFVKZ70A27QF0KL7X2PUIHSTH3FQR6EDY8ABE0KVPW12THOVWDY5Y4WADL7GK6RG5YDOK2HDP3AHLB3FRPZZSVH3AK7MGPKK7OX2DW5XID53EJ8ZEBRMZF3MFIKD6D3X4Y8GUDHAUW19IFHO1ND7AM1026KNVDEARV5OZ58RRPHE1HRD2T13JBL50D7K5ZGIHMWYH8BNTSARO7A5SWKGQ9GLB42TJCQSI1OJQNZRD00ERKRQCA8TJVWNXN9PRL290NYDYYG6R517ZTZ3EYNMBL32MBP3XW06F82ZDP0BQKVSC9PEPATUGNDEWNIPNARHL5JEBA4TIC0VCK37FC6TI4RX6I6VTSPF9BNCTUG6HHUO5AIC6321LU0EV16NTRL2DSOWVE6O8DQBA2GRY1JMCU3BWOJACSGO49JF56SXGYMRYHXATJ1GXKNRQ3LE2EG7YFMHXX3BVTAJW7H5DCCS51DASZI8DAPNERMF0ZTJEPB7B68FW1NRNRS0PHOWYXF32JOBUR7QY5NSI6SEF90Z91CH8TV5GHZNAF7IKQMXVMREYY2CIQE9QAT7TKR3A1CZEPLZ1OM3XBKP8FWX8SGOQK0SRLJGF44OJXNRBSA602Q7J1F6AZ96HG0KRKVBGRUO6YU0H * (-36#NVFH4Q7YH4XW1MT9FRB0SP4JYULJ6LX9AOPSXZYDHRT3RAXC0CNGVG4UXL9ICRHWMWIEWQX2SHVRR4JUKR0UG9JVSSFA841HELNIL6UHN5QXH99OBSIPZRJ16A3FN1VOEKB4KXDI43B8ISD74XB4SQX8HVY82HIY9NTXNQ1A196VM558SY6Y3RKJ5RKJ2JHQUG2GASDN8CSK1T3UXJZIG9YSSHJOXPJN4BZB1JOH4U7HS4R60PC1NXTY7H1V9QVUHM44IHC5). +36#FPQKVTUL7MQ169Z8RGKMCMCH3VQVCHRUMG34UIELLIQA54XTM8XXANVQHRNTN39YC58G02PQ1EJDG31Z4GE38DT2IDDL0OBKSCELBICWLMYTLY6RGPH9893ADGK3TTR9759QYZ2YWY8NIZAGKLHANUWBM4UME0UP7Z8W47CQEYVIP5J8Z72HF4PBTI6MRV6IL1D04SOHF6KF52AR10F5KLMYDPKB0G71YO4HGTK0665E64642HTV3VKGWTGTWJW3V6YUDXPLZWX07TGWROQF2CF2P1AFRNETGE4JSQDLGRLO33CGJEJLU = 36#1P3B8G37FABMTORBE73X5SFNCQ1KI7C5OQPPGTZ4GKP1RLX1V5 * 36#99DIPX17PDQFR18UYTZUQLG02V7D97LEC17TUP06K30GP1WU005QLK3TSBZX50QF7M0STAEZ1LI90PXDA2073EWDT87H2T8129ZGXO12GICFXC2LAIZ5VSW6NAZAONJQUYRI1475XUPRFACLLN6VI9ISMIPL70DKIGFV5PBC95PJN001CP5UCWTA55QHKMA2CELZ4N1162OWNMOUP24IR9R4W05VZ7P2EBJG8VDPY9QDPHYJ6EYO7OCP8JYPTJGOVJ36. +36#HSHG1Y7SCAJXZHTR06H6P48NC37OA8KNA0BDYGOK4VB1GJEOZTA9YZS8AG5R83W3UZQIXLNTPLVOGX01SL5JMMLLS4A23TMX8B9ISREIL8UX91MAITEVCJX3ERMN3PVYQND6O42SGIU5VNF578CLLEV1Y2AAEBTAZTUSDXTL8MNE75G8EHKRXK82UTLCCWQKGD0MLHZYDHVYGZY51L7TPDOB951F7FXVWYX6UVWKDIF2YR5RE59JRHRLFWFXMDIJZBFSY1RBL9VCS73IQBLFK7P1ZKDGZRPE7J86N1OVFNTBI8ZDEANCHC24CUIUTUJZ0FIGAC6CI5C5PT3KNY28LIBHVRZ6X12K1JAEN88BTWWIZL9MTVID7HC6F8V7B14N5Q33SSCPUDMWHNLE6VZV1K1DYA7KG3KUVODY4EA3RB2Y04JDM821ICZTS8L15BZAZI7B06GMZKASK2O69JC02NOKIFU808I9OFLKENYP0DF3BALL9N6V3I9JL8AWG3CB9A3SHIXPNFZFIHN3GV10ZIQZ8AWJLEV2FP633HH9K9DRBCE0UVZE3HJEIAZE2854BRMA30OIR7PJT0Y67WIFWH38RQ0UB1CZWTCK5EYWL9QTK77IJKA9LA4KOQIWV03JK6DUY6KJ9Q1FENZ24SNRL7HF3XN8O0LLDIFH5WKJA5ND8M2DZZP008OIR31FTUZ2SONJ3Y4T5OPE8ZZNGE3QJFDTWMKG2HZZAGO9XLLQ3ANOQFH5TAKH48T9W87SFXSRPAOZQC3S6E6UK10IRXJO9EI5V8O7OQPI8M1AE2000U2FBHLW5J5XT5ELJMTHFZMU9N8AD29HBYRDM0RNATBRYMRJB1Y489VZMAO9LW2FQKDNCCX20F7M8JGIMHZ6UFB7IGQP8XW2BDHMPYHZEXUVNJD2GYCTNHB626U9V5YZM9F881EE7GEAL4HHG72RKBQH4PE3N9RXDFETZZGVFHE = 36#ADE4O68YTRY4A0LUZWPCN85KOFU3QFCBHSI093C2D704B4IRKFHQQB2V4UTUEC9033X8CZ9XYDFHNV4FEY3QSGBGW8L46J3DOT4XDIYOA5D2V7TXD0G5YAXGW3SCOZOPQX44M * 36#1PR1LEUY78YK5EV3K5KS286L70IFVYLZXHH5E3T3UIGA8E9QAC2MKN0W9BX2IAOJLC8FDG8LHSA5YXG5CXBL5RF03VG2CZTH8ILBICU38UPDRPROI3MK1GMNP4RXQ093OD0KRHDAY4GWBQ8P6QZ16YWN4EUGM3YO874R9G00FLB10H43MXSJSHY5ILWXNL7DIQUPQMYDPDS0VLBL30G11QOSMSUXFR9EFBZFNHNMOTXNSNU8OX5P97GPQZ39NQWUB1Y8F8WSZPJBCTP2SGG2J05R3V2Y30GINZKDXRFETE9VBXAT8VY1W0S7WPXXFS6YGXVA0BJOWUXV9OR1ZKPPMO4KAFS1G5LQBOHJ24E21FID27FCGVJZV5K7H7ST8UJ5K623K8PPJGZUTHTQXCJG96JJIXDAG2OTY0122I76BW8OKD1CIM2ZT4Y7LVW6ZSL27WWS1J3HEEDQYGU9AMV7QJEN2ACBR0OKVDA42UUCQ858P1G6L263C23MSY7SO54D35QYJJZ1DDELP49KMU3CDMIKOQF2RXVM0H2EX0FK1SJ17C02ZWVFVIXB6D2LQA1N5D7LJFVUVV8MMQ21INB9R997CF36D8AUIALNDZSVVGCT5LHWCD2Q37P7Z5D0YV9Y8WSULJ0J62C0JHAZNL243S1X4AJYMJYVQRF4EPAOJBUKOKHMAHD90GWRPZ8BGUH0E28HFT2OYFKQLTHG7MRUED138TVSUUMJPPWTUKU0OP7K909JYI2HB81B16A6QSI3I26XF844JWP8JEWKRF9WNWPFH3BB5FRGOZD3R3BILDS58L1P9R2CCO5VHV5XWDDDXG0FZSO6S75CAIZ. +-36#DTZ1QZMBMDSW5PVTNJLBN45I2P16Q9RUVRJRGM0ROR3HI1S9 = 36#22ZVHR41XJ6SWYBCCJ75QRLLJPCVGHLZB40I2B582PH2AQX44AEU0T5CE13XTE8Z3X2AORGBE5I2IL213FHCLMC4X6DX3QK72L7C7X7MYU3OWMAHI21USV1WIZ8UZOVKZGVTDOGYSYARX119E3J4GP1K3AXBYG2AZOSAKZ4NQEFRRAYSXK9I7NFP5ZRQDQAJT9X9CHIHZ3F7RPHQM8RUZAW5IZPKYV2EIHWKXHUQONIV3VUEK8P0KTWG6E0K8FQMAH71E6FA5Q1YVEAOIN1IR div -36#5F6JWTW8UTXL857LTOQK31AKPR4GBWEE35RKCKL2V81F6CRSJELD7C7JEZLBTEUMTG8E5WOS79E6UV25PRSKIKQCZ8BYHQ6KQ6YH5YUQ5DSUGH1RSQIV0M3ZTZ5VBNMHMMI0IK9LJL8JQOU4KHK20VRVZ7V3IV8LS92PSY1BHEF2STD6M24D8LSCQ2HTOED9EIPS14UNESFET6Z4Q87OY5KPHXAKBHS7LQLNF. +36#2VPD2LA4NM11YTGP0HN7BJVVBS6SGE9CVNNL0843GT5K6IU15U = -36#1GOCMWIEN4YD5601IRIEWJO0SZ55ZQ610UKI9ODOYZ1AS42O0NNE1NH5OYVIRD7LJIF8O0XV5TDS3OHIFDCR5QI5FO4LB0PI1CPIN6QDVCN9KK33L2YVD3AY0G4UBQ2RK9F2PDNZARQ12RIMM8CXUCMW8MCBWWEOABHWD59I67ITZ8C89KN86T5W9HOQUGA96P37E3NZG4BCNYFI90VWV51KF6YTEQRH9UCH9L849IZAQ5MOY7A6U4PFOHG8C3R40D70H86TW1ZKL78MPOUBGATBPTLZYM31K327DTO7VQE8F8OS0RE3MNUSS6KBVALZZ6XSGT0VEQ9VL7PDELUMGUAZK6BXZIA99QA0KUWWTV3ZKVEFBF8T4SJXHVN8NWQ57E2A5CHTPMQS54Q31C6U5EM7CFPZDPGA6CK1Z64ZGS126O10MJMM6TAU45NO9ABR99S87Q0QTSFTZQJRI2PARXOWC19IIPU0AASV73UHKKGX2T2M3M0NLTGEKYSBZYDYSP9UCHAMDG33STZ8R4BCXSL3005L049HGFZWNRK6F0LZTILL2U46AXI2QIF0GTX0QT2ZZLV3PBTHQSBFIH2Q9FUTCQ1NMRTGXCL7H1GY01T1DNXUZY32KZ1XK8SMACDCDPFHXQ3097V0IS15I9SEPJQNDHH6XCZHUR87L548KX2YH10QOFU1K259SL2T93XYGH1YI4M0B1J4U04AP2LHRQIDOFS3ARSBRR5IREDM82JMD812V8NHRXFU5M0G0IEVU2GBWAGIO5FK91UF09FSCYPP4X0MGFUVFID2V84SVFU5NAA7QKNYK13EN7IEK0YJP1A6GPKQBL6L4GG1S378W0NB488RZ886UAJKMCO0V3P3EZ34FHGIO0X4KY7GJOK66T6ZB9E42BM4XY076 div -36#IAAS3EDR5G0T8GVEHHYI8QHMXV754CCEMOUO910L74ZYTIXHQNJF34HDLF47L7HEZZK361YDEZTETU1SMBER3RCQYUB2DWEPXDQRHORNC90SW1O5PDEC9PUUZ1OD602DHW8W2LAICJF55CDVQ8QZK6NFKZIUCJZNQPGD2TBAKZ1KHDQF9VO7A7WZNO23UKKQ1GLMXFEQDBHK8XZBFOHJ3L6L8142POTVD1ETT3V8IC7YAZV5MCTJKGT1Q4O9SP1T4SZG68YTREVI0D14DCBH0QLP3G18KDEAKLMSJSEZBJT5W4T0IA9448DO9W8QV990GGPXD08YR7B6E25B67DG48B24YDENOQSLBP26WS67OQPIZ1LDATLHZH6I6EYEQ2WI3XQ3PW6KXZJ1GJ9GBMUC6M2NEX8D7R9AMHTFEAOTSVCNL3GH3NK8EAHV1OG3CLT25Y5ONFFYOZ5CQJZYA58K8MOIKYNQ9SPBOR3540DWPFD5UZ8IPCNVCB4NRXBWSWMXUZGC451ZKI9G4L9G7L2JZ9BIDBCBINNMDIIP2VIX3AA6IUCMJOUU32D22THCWQ4U4DJCSYIKGIM3MR9CDDNAKONW2LGANPC9C9YGVZR0GWC6Z1V2CE90BLHG7PS2G7H96QO8V94K6RYPTRW0S1ARLQWFFZ3P3ZNW4QN320IKHY5QVF7ILFTG48YHVM3NS6QUBLXXO9GFSP95PQZZFFIC8OUL23GIKW45BIVU5CMLWEKCT9MLPARXCQVCXLNAIEOTD67DABYOA321UIZW4Z3BH6KUL7E61CQ7YTD1NBIAUEKBXZKOU2BVY18GP2OPYVIEOI3NNF5VKYF4A5GSY2SRSDH4A9DKLT. +36#1541U7NO3NUA3KVCUMEWOM93NBUW2K0KVBUV0A78C4PQOZJPF04HDQF0I6WWWK9RILTCLJDUFID3PCT0UZ6SHV23E7CXMX7O309VAQUPOD9CG5Q34WIIF10BKOJQDEKDISRQFKXA01HKAI7RRZPZFTK4M22AM5R3HISKI6IO1ORZ8AWR9RZ23VG1P10E7GZ8HPLQJH4X9WA6K4BP8V3ALKCAT0O6AAAMBKN71X4XVIN9KFZX1KMMEWGE86K5YCL28IV3DZT3M5MUD3Y = 36#32QC2DJIHT790JH29YW6MSZ4WXJTVKSHT7KUV9LOCBFYINSCP5 * 36#DD6HR4U8Q34AC6CZJB8IYNLRNEUQ0WLBLVF5LY2E3KUQXFBX48XZ31RG067SLOBQK61OR2RQCSF8ME4A8158LOV0LZI0H9DSR2EG2SMNFA6NGSSHQDN1BQHZ9760ZGV4ZYYUB1SG81MC0KPWLBZ0EFUFM2IVHR1WDJPC06T46BNZK7C5Z3ELT5T381L7YMMAYF7KVM6ZZWW2EALDTT2ZZGT9H7COE. +-36#MMLY98Z3J65UAUKQTF8NUV0C0EECEJJCF6D3Z303BQZ7FFZY56LDJLR698QLIAQK4VU69QSJUHFSGMD4JXJOPV5G8NZR9O9RF2JJYOTNFQ9P90IHJKGTJXQU8Q0681WACFGVI6M0J8GGSKPHLM3VADC7YPMFMPVFXM40S4HIVDVL2OILI74JNKYEZ3HQKV3Z7RPP7M9GGW034CPDRJZZDMUFQVH27WBI2R3RETAJXLFDEPAHKEUBSGFCNMI3SKOBH3TNJ6IO4DMXD6EQAN4JS84S2TAPHF5YVD6O11DWQ1OJSQB10IJ1HPR2D1 = -36#2EP41WHBXMRVDNUM1RWMAQMQX7XA3DKUWA4VVFTZ7PM9FSK0X9S79PZ9TE4M2BQF7M46MAIUVFRZ3SA8R5S6GS5UTSYDOWTO6936OV3VRF6XYTFOMTCTBNS9QCEI2WOH8IMOUZR5S86LUR2FZY3YWCXCY0EAWENIJIADT07I4B79P0H1M8ICY0BDQT8570X80DMHTJ1MN50VN3XFEJW7ANFYPJV6N0XMDY2HO3SYKCZRWD1GCIWGK2XYCGLKY6LYT11KPV3ASQH8BC6JRZ1NYOK1BU8635W7HR4NALD96UGPH3SX4UBXCGRWR50V0J28QHLPKXDMWFUEV2SVGHQJ3FD9XJI3WJ4Z3HVOS5KV68M0GNUSB6DMD div 36#3TXIR7VCV0CAHM1EQVQXN8ZEBMRAMJO4SDV7C3FS73BW3XGF4TKVXZINLXD. +36#XVLW2NANHFFG483JEJ1XQJZ3B0330ZV0WYFHZOYC1XWWFL2O3T1BSCC3BYE1I6NSW60GWGA1FPMGR2U89MVFV726DDLN904QH8FTQ8ED5FGP77ZXP5HDPZQWEMDETU64M2UB8MGS7KMWDXTD8FKZVF6UQVTWI3I297J592D8UTP8QOZBA0T4P4RH4Q0CPFL2S9IVCWRMDPWGPBVYR96U9UDD138X7CBV9NXOMVXRQX22PYW84XEQNS20N605LVPL5KJPL0Y8Q97SKEFQMO46QKLBD6GZ962T1LGDTZ0UCGAE3DX7A0YS8V8H5O6MHY8ATORMUX68377RYX3EH0JQKOWMTG3KFZY32R9ZNNJ0QE6LU79GNW0FMC3BGH18QPE3GKZF3WK8CK7ROYZ1R08A7PDPHVOX3WJIZ886F9HFFEQLCTVIR8KRH6M6GMI72KVLYFOL8RQA17NXE74DT1QFGWZV0NBF5287S3Z6KLUJ2USBPEMJE4VU3KHUM5MSGIT9L4VCTG81YH5PKICV9Q5VS0L5ABEUOGZ0G8RQNYRVMF9HWYGTKB7JKGY147LM9K5CGY6KBG6XAIKAU6K8QU43R3ZY9DYDF6JFO0JKBAMDXI2O5JJNGWAZ4ERRTL7W7HLO3XYXTTXXXYA41F1A1MDABUBKAFQDDUPHHLWNIO2PF7DTY1DI2R1GX34UUFLVFBYVZ9M59NSMWY1HXAKDFY251IVFHZU9KOAV92IQ6CI4IO6REJVJYU81KT11KOEA5ZAIVGHKQ0Z87OFMVXAV1ZG3 = -36#1P7XYP4UI0STBOB0OGB9RVWST6II68LCPSD8O6PPNSJ2UFVNO4WIH8HAF217RYBP3EV8UJPXSNRUPGX0Z48WQ205UGL6YUL80HHO5VID37ALX473ARL1MO6IJHV3N5G56YEJH8CIEH1IQ2DYX3ZGZY7NFOIMD9CEI952AGLAJBOEF3DWCKEOSC6P6L * (-36#JX6A6AOCRLN9FU8WMZ5ZQXL15UDMGH2P7JJ0TK9A8BFMDVQMIFMOT8FJNKH820JDOLT9LXP0C6C2CJ39XIC7NRM8RWKQQ8CQ5IYN4VJFA7V78UYW4TLBUYHWXEMAPJHIC1K5W7ULO2DG7AC0H4UP49I68H2E3I8UDDID55X7IKVYVD1OFBUNYJ6W4I6CTQNQ91VQCD61TJQE4NYS4UXHZ1Q6229JZ4ZM8A1J4H5NQUD7EZOCTOIW3BTJO85BBDQYVYT1EO26TS96HFD12KR9SVJAPBCT9CPU1QXRF244Z4ZPO3YVAHUUZ3NODLJYRAPHWF451ZNLVV6ZSYJVJPWN5KM7KXM5REEAQ3F8Q1U5337X1SHLKFJ224HUUJ33XSCM9KS77AEH5WRRDTMMG2U4LTZPSM69DWG3FHZET6PDDBAZ7ELJTDOIOABB4ZVJEX58J7QDTMVWPZWS0Y1QB6KZF4ZXM2O563317W4CI404AB1LTI950UFCLRG9X5CN9ZU5AWF12HTUHQ5CZDCROOIGK86AJ22BM6KMARCYIYX59KQ4N4EHCVK0OT94S1JPW37J0OWEZDJT5QZ3K1SXZKXJPYMM4Q7). +-36#9MPMU0K342YBYCUMJLXYXBN3T7YK9ZW1MHI0ZRD37F1YNN3T70IFZJ3U7TVUXMBVO2PSKON1RPJ7Q859KF3R3R9NPTIPYNV4EILEFVKRFJN3HTCXAEFEYBHUUR4BW46SOJC2BSXDSXH1EWHBWD7ZWCH3RD21ZG9BGXRGMC6KQC2TOGFDCWRWLA1QE70F6BVKZEOQY5TB8HHMSNCJBFNABWZUG51H3VL35FZEZX1CIA4J3VWEGPUFLG6BXV2X49LDDAADZGX9RNQ18KGKM0W = -36#D77H3IEKQ5FBHRC4XXV5WTYORH4A3C4ZIH1L738CZ5N1WVQFAW0E5DLOC85SC4XRSO8XR5DLBEZSW1ZTH68Q7LSOI88U1GOZEO4EYOCW719ZAF64M5WSTQMOWGZG2T340USHXAFJYVXDJX75OC8GAW1V0V3XTTPVLJ8B2I20MTBB379KB29129BUR1JSZJAREEKPTX7UXRLL0JDHIET7US1O0GWMZBJ9B4 * 36#Q9K9UOKZW9IGAI9WMR2MMN704Z09Q2EUQ917WAZOSQP2V9058. +-36#52BHJ5KSVXNW2Q0YDNVFGY0T8PO2VPJOQ9HY9QD6RKJPBXT73 = -36#4NG3V1VNU05OTMBGFIUSNNF7ODIRM1H7S11049O00CMNG2LOMURW9BNLQ3MB9FBL3IKR2X24WYTA7MN64KSUPRA3ATVM7TFM8C div 36#X2AAQ6VCGWB4K6C3LPT4FSY56RBQKEJAWUW423J09ZSGZ81DG. +-36#UE2I8N5F8ZDEJ0AMPMC5VJTU3XSGAYO07MIDADEF6B7SFESMOQEPV74BFAVMAB4YZK6Y8KWU0HT27XUIR7FUK4LUMQMJL8VRZ5TL26G3Q9686ODYHP0Z6B2FKIZIXNQ84A9Z0BC1HFIZOUTECPTHRZTLNWYRF2CPC378O230BJDGQHM9S1DXVAMHGZ0DUGW66QZGC5NUFZEKVDVS12JXXB43CWAUZULDG46Y4GT5KPAWAIFYHBWR21DGUK5XGK0TPCPCJW2YZZ8MKISW5A97D5PHJ8ZZP8NFMZ9SS3BNUSUC9FFGJQ01IYQ5AFKHGYMJ87BRIM44Z0ZJVHJATVT7P5263YF6X = -36#3A746O6VR890FOAGEFUWGG69A2OIEQCDE6WTQ7HU786VE45YYP92TFJL3EXRIQG4US0JJ5SOX9MZ7MXUZ5MDZRZI4RKNY6RQIYHH1OZRM980RMMWHV6CLPJOBZVLSLGFKOD4VS0TJ8PGNLF5L51MOV5CEJYEZ5NEHB0B7B960IUJLXLDZKATDH7ARB46SRXA2T0TEAM8JFEW3FKJ02D883OH8MO8GWYGEE5UXMZXRHHI3POFG5KS9HQEOB4PDV2QTWYX49USR3EGR815BJIBGD8SWXHQZDAZFZY7LQEQS70KBOVV4U65T568TIBNUGGZ2SX5PJZDJ7OKA8Y6IVSICNK4UCIKTJ3X47JYWVUB14ZEO6BJ19BM2DQYF6Q5KWS2FJZQU8X7F381E472WGRXR9I5LUEE9YG6KP5DGZBGX72KD6NPFTP0QWM79RPM2T8JEEXOXMAQSH9CBY8HMJ0OPVY6PAS5D2EHXXTAOYMRZ6WAFLAJDRQELZYI82KV4Q5EW7I9Y73VLS64MPYVE5WA1TMG0F2Q9WDKTYG3QUJNPQKCAT29C6XTIHC4B2QKHHET1DYGF2AD1QWMOWW9XWPSQEFJS16V138Y5AM7NOMDAY4AE1JM5141CHXMKLPTS6JHIKIR3JMBTJ364Z6X81YN62KXZ0LB2VFCKIIRFHF1XDS8ERDTFQ4VWYHK98IU6TJDYZXXUZLR3K823W47VCHY8LRQ4R div 36#3W0H3NYEF50W66F8N842DYQT8SNG0N729IF3XSTKTMM2F63RMGJ3VIMSUMN8BU3X6OKP6VUKEGLHVRYN2P5THRRPFKY0UEBNJC11AQUBJWH3HYLZSPYPH7UEJN4I1CM6AR88NDPILOVOUWE46DGZC77MT7Q7CGG32RSLR9RJ2RUV1SK6WKEKVKMNVF27GH2KKSGMB36G6MT89RPQXF0X6YT4XFQ7I52BVO35R2P8SQ3UBH8QICF5LUCWRS2KHC2Y5INHJX4DL26ZH6W2S2FNOPGUE8E6NRV8YVDGK05062V58D7JBT4T1LNU58AKJTLX5IHY89SOKOZR0O1CERYIPBXLMOVFIW10NLK784MBJ0XUQKR1FBI277WD6LS9F. +-36#12F7YCDRCK21ZPX9DNE8E5YYQYA5QHWMPAPN1HO9W9XK0FP3W6 = -36#2KZS5151906JVOFFKE824DRL1IKCC2YTP87WCYNNMV1XBRKHATFW6WW5QAETVS590JHYZMUBI1PWTEZBXKUH52JQMXW2NA8POWU div 36#2F4OKM5FAFIJWGX9A1MDK1J46OCYHVS4QZ29SL18I2PG7YCHCT. +36#12QTTOUIW0TDXDXD45PSV7K1SX5WL92POY12SON3GPBCXH2HRDTUQFJ6OC5FGF1RMF2Z319CT68H9TRS8DHX0KQVAALEU01OBPMKJSA3DIPS93GWCS67BXZ9CTW6ER1G5NTXU5ALY3XUHYJTE1GMOBIAHSABN16L4BKZ60YHWCAZD2RX9Q7K61ZZOLRXQSEV52KOOSQM3Q0CQPTKDO2J2XNIPJ5J6HIDP0E7XGRAEYNLQXZPU2HY63SHFKD55DWAHJDKNA4X8COLLOZLFEV7MZO8D941A9R2PNOE1S9NC9A9NR8JSTVM = 36#1V2XSK77S8ZTV3ZCCW2Y4XACQF7YYAWJO2PZKGHVWV4E5L6C3KI8NSEXWE524V6MMHTG40RJD1Z9OZDNOPGB4T2ZY9RW800Z8Q6DVN9V533H6PMABNLROUAGRQB5GW1R5QBPLQS0ZOS3QUALNPGDRDAJX3FEENSUHAMN99UR80OBCTO18YLR3DCXEC24WTNIA3UPU74JB1CM9INENX0JPRE08CLKJCQZGUY4G147U2QG1U4XWGU3SJJH2UTV62J3LAJ5DVLIHFP67ST0S8936CL3WG2K9IJP0MX1TCKP9FP10PSXOWAGNPCTXI40YXF8DLQ1PLB5YTG8KKB1J2QOB0JSR1DV3C394XHWJQ0FUIQP6H6EV452PE9P11E912L2NNQF3IO7U0E8R54C41AZQXKSK1LKRGY42E6H5XV1SNXEMEKR7SEO951LHJH5C1N57H9I9NGBIETLQWY6QEWXSYPXDOHQ0CHQO6LN1UUICC5N2C8VYF0I8NN8WGALW69JR2HI5RPAAR8MLUFKW4YPOP26Y6JPUW2H8X3W5IHPGKVU4NIUOZJZ14OZWTMZSVD5GQCKDFXRVEE6DXHEWN5Z67LMXMT3YASAECUE3MOHR342WSO9XEUTTIOY44CCZ68EXQUC52F0B8DYTXSLBXI5OR8ECL2NDAYMXL35KBW2VBKNVBSHWKR3V7F0WFTXUU0FXPXP3AVGJJR4GYJVWCH1RZLNFH2X3BZWGYT7VRIIE4P94ZKNHQ0RU9IZQN1C9Y79389LXP1J3OMWXJTF1RXXTLPHUACPAGQE5B6Y5ES7AEJ66YCICYW73LOXK2W5DLGHUN4QTV5F3TOTJR5WH3ZEBIB0BYNWAHLR7NQ9MC8KWJ6VUS7ZFGKQ8C5EYXN457D51LIF084G8QZPVWZIWMGROYYHZTA7CMAB62F8E0FK8DPXGJF1PDDGYP48EI4CG37GZQ5G55EYTWIPH5LN3YHOGAU3ENIP0IOVSRXKKJ8PVPZPYAMRI5S9O9KXIQX5LY6UW0XVRD995DLJ6SNEXGZP5C51C32E9GMT70E7GJ8RUSXFXAMG7FUOB9EPYTCZZBC8QRYPUS9PA57BETFU6P5U7QJDEDAEMYFVEDITLAF6069YGGS1KGJR0EW485EA036J5XDEYM7JQ2DC7DAGRC1QUFZ4JWE342RZX8XAAT6921VGWS4XVLN8V0SMFKKMIR0DUU2L2TYXS6G6MG2H0KIWTLWDG7K7PNFCU3B26176MMP8VA00NV8ETW3LJJFHQ106ZH0FA5K0L5J2UDAQUES3ZNQ9WJLDTIZ0RZE7Q8GXHQSKQEMIJNALVG9YLD475AJMUH5E7NDIA6601C7O5F743ZOO428MGH3UT14DTIXHTKW7PIHVQET0CHJOWLG4KCN0KR7LIWJHZ7R35VIFW23VMMUBW6B9V24OU61AFPG9VGBCS2E31AEY4EMOB11OJ7W5TA4ATHIV635BAAP6 div 36#1QBTY3OU70RKVOW2Y28DOXAYJ1WX7DZDML0S8KLA9WB9LFNY0RF11Q37WJFLU4CVAOTWSBUK838J71P9CL71BTU9G6DWUAJDD4CS47WVPVNFTJEAZFQUTHD9G2SL7O0ZDUERQE9VALJK6M9LKYD3XVS2KWBJQKQF7XMYY5LZVMJ5RDWVWINBCD5IK5MOBWJM2MJF549R9O38O3Z0XEB0NGLJ0UTN643K2C4IUZR5OCVEGBBM9QQBE2921J5VW87D42TMKL15C5Z0VNVJCAU7Y4GIBG25A6FJZ7BQYLU1JSYASQQVIDTYDZ64FP7S2MO8O8U0NYASC0LW617XUWMGNNGV7N8CAC1Y0TIRGGJ69KCZDMW1ZZEI6ZDRAL0R9P8KNEAI6F38QN7VX1RX1KIHV3VCB5PKZ6UJSZW4Z3HLYG49MXPF3DTMRFVXQLHWV9CPMNPFKXKJG5C3JR05CTWF2Q7L0UOYGKPY5CNGUJZQGRVMRKJP48FH5LK7DQUEI6SDVXPB4A13MJMOWK1D9OARWE056QRSYL82WY7E3XELK8T5QB1KZKVD1BS9PMPJ4HISSTDHC3FHPC8XUHYXS2U78AF8ZPWD1X1Z201M0KKCORDUODC4CMN6T4U1BIQCOIEYYX1CC63T2ZVSVDEOO5WH24N4DO1YPKORPE1I0DGILOBP6550WK1NJ829SPKIESHHC6QX06HJC3LL7MNQ6BKKW8QNWLY3UYBDT8AW9MWGJQHHNAL29Q4D3XPCSWYSRBV8B4YY3KEJOV6C16KWZ727R8N59XGWDBKZ35AYIHODRXUIKBE8JEBTDQ7WATGLF0VYEXV5O7SA157JH1AZ3Y15M19CRMS0PM8T1GG1713UIKEY2DCAMF3RJSQRYO4S1TUSV2JNFX0R6W0H54CC4413NRP27PJ9QU1FP001JUAF7YTODSNQQQM7OG5WZBRMVCDH2DKWULC6MFLNOCSMVQE36JBMSUIMJ1D8FL52YFBCQOCWYKNOSOOE0B2VBLTO57RAML1HFNOS1RGHRX759CQIFWOM40WYT3VFIKVNPP3FGBGWV99P357CGXSBSNXNSBJCZERVEDY12HFC8HHZH11B6O05RLLVSS6BR3P8CB5PUCR09RIJ027N88JDWJZ4GNOZLY7QXTIOP21LGFMJUWUSU7ECOP4TX. +36#6UGURZSW4UFTTOXJJ2E7J1LFOF9C4Z1WQB3WNI8AEQ6Y3KLME5R7BZOPCWT51G2390J9LK2V4NWBSM51VUYO80IXYBLNS3DBYYPW6RGP5GLBLOQFP6LVO19A0WFHKUHNQ1PKWA6YSM97OMVCJX1O94EPJYEQUVQC5G0X7X0ERKPNVD9B2Q8YUMLZSTCNY77M07YTNL1USIYZ1QJ8KLL6E4YQ1YBQV5BB3V5BEGURXEO6OK59T45LIHT8O1QSF2RTXHJUHWWGEYQ2B6XDT4RBPZ1MNKVE5CRQ1H5BRKMYCBJ1FB3XT84FBHBDEWQK4MPNRR9AWK6J399FFYHBQ2SYITQKBMDD2LJ7JGV4X8WKXRV060EQSPIT0MRNQ9GZJNWUHJQN36LCG2GDEPZ9JHFVNIUUO8VZSQGTWFDHTOXHI7BL8GPBJ5PK80B2QGNQ5WC8K5SXX1UIWP5KT6RPA4OJKF5RKUG332WZ0XUD4NLP8L8ZTFLASNWD04UGNYV2GCJFT0VAY1CURTZMM6U883S3HITZ9JQTMLO7OWPOH4KI87OGFU859PUFCDI1HUFUKE50V5ZWDI0LT9BAKN6YYNC3X9USLOL6IYPXQC39JNRER0EED4J1UVQ8FEQ70JSTHJNA5RVR4MZ0W4YXHZ1XE581GTT7YNUEJTF9AMR8CIL4CXTFXKWHLONXXO4AU85AK9BUDRAREPIDU3LKYSH5D7YUE39ZC78MM71HIOHFP23I4ND9KQGMCVCWXWFIMJ6WACMPO57OBMRONSNXQ56PLMZY6VXSJPZ7P9W57BBUXBB2RBPVAMD6NI0UTSHCC3EPKKRCTMZS2ZG1JC01SJV85E4PBP94INIKRJV6QDDYRQMHKPZ1HUFZ1W2DHJB3YXG9P0XJMQR0Y2CY09E = 36#HK5HAREIUYQ71HFPK4JJX4D5BEU0BX5FV0DE312P115ZWMJDNWEWNHGZV7L3QEOMXTFL992SVL3URU93YPLM8KJGXKXT2MUVBEXUQ96TDR8CU7ICV8EF5E5N45MLHCVOZLNTN5G4JQ4AI0U63RRJ8Q79XC9PNF4SU2Y5XAFAJV61G5M3SFKOGGXNCDZRRFTGLYQVYOTMK8VIY7HR6244TSYM2YZH3TPENK0SZ9VYINYGDLSH56KN5OPNGHJMTW1PMPIHNFZUAWI6VTWTE7YMUWDS0ALD4URUGZO7DBRBV2Z5LQ5P2QUWB125WKEBYEI2O8C23P15MKXD55OQPJIYLZCRAYF6R6EZ29JRL8223DCSSXRQ51NCOGSFPQXJH345346PKR863HO769ZW6RP8NZ580WKFHR2NNJL7GS83ACWWPDC2KLTCGFFNDTJ0ZE3BAHRWPUPEMQ5O9J3WEFNISSRFABL98N6FSC7XLUQ2RPRTJRQWGYOVPXS25W0W299XCP8QNJ3IFU4Z2NCD0PQ8UWB6ZZEJIR6L1PMMVMK6N2DX0DODX7UINSCDRYW1GEESCOAQ5IHSAS2LFVQEQDIE6PR0N3BRVSC7X841XR5MSQPHV6N4Q2VJ4WT8CCTLRPQUR8L7ZNA5A6127ZHNISBCPSIYG09ZX49UTTJ2L7Y5MPN32FIMNDL4U1V1WS8AE2CVCD7NTUKUB4PHY7TJ37OVJGEN6HSPTCD5WT45030KK3AE10SGGXEJE5SRXGZK3V4WDGKPO4I21G8UGPMUC7GCRKNGO5YNKOUS7A6T9RY8STUS3NP491HU60JUBM8DD7PMLZJFGF7PAM8FDICY1ZNTWTDOIETJ3S51CWXB5JWOI92DUXJ7KOWODNLV4VHM3T8KLTK268KH6GCPL1WHYO3ZRXITIODDZZNGFWPZ0PGZSZFXWLPPC9CCB92JWA4M div 36#2KC1BGQG64O698X0IW2TSXV60P1T6BLWXQMGUY430PZKVWWOIZ. +36#5DDBOL6IOIGNLLZHKA1NL6AJL6VYT92776VIY9EEIT8ZULVO5FZKMTSU5V5P2GXJKCVI1LV07ZJH9G9VU8AH908EYC11NIGZRV8GY73RU14FLV9HHFKMKA2YDA6INLQBVNGYU479F6ZD47LF606GTC0TPEZIR7R1XYF7CTDMGNZV703H4A1ZPE0Z938ODJO1YV5Y9RSQ4WAFDSF36GSYXW0GDF7MP2A6AVYUYH44PFIDESJBIV4CGGYFZ215FEPLZJ3HKTK2ZM6Q9KVOU41G7FWIG6C5PHSX43TS74DO0JT8DJ6PVV4QABIQYYGNQR3T5FFZM7FB7TG8VLVOUA4YUCLY9IIM696TWK78O7LTZZ4K8YWQY6P9SU8C5PE0OY0JM7BFB3CB1MA6HUW5FLWZM2DGEGJ8S59FA2RC3A2SC2R5LFT74OY1ZUM7X9K9AGH66GZOIGPDVNB07LI1Y0Z2YTI6B0VFRBNQVQQ3F30URLJN4GG46XUVQO4O69LA7IFMIBBWT7MW6R9Y71KORR4X9WUP24FJZUWSN892RVCSWG1C28XVOCKCD6FSOJLS161NJPSDTLS6YO0FCHBHJY04BWF6L0EAJXD12BGYV8N3C60ZTLTUFE2QMM7MRNJ1JN1Z0M796Z2IOZZ3AW69FMR6E1OO9IMMUZ9R9IT8IRQ77Y6D7BQ6UJPR6QB0HW3NMI7YYYU1XF76FORH1XRVN82AJ0DZ90V8DQ6WIJ8JTJYCHUB2F7H0GMI03HO68WK0WHMUXTSBOZI4KZDA32VE1AH6ZWDW8XM617BSCADQQUD0HKADVQAK1895WU49ZKSK1I0LAJ9TZCL9OKLB0WNF4Z82MO3BT86C0CDPY4WIDCCRMIZZ86YI0045762W8WCGHB6BX722TNIZYD796K8DOZ16G6B7PS2DKSTFQNFRSLH7MJAACXRN2DFE8R082OO03IKN2U8Y58M1JYO1SGJERDABK6I30PIQJUSEHPERMB8WUVBFWBYA7KYVXP36DS58H8VSPGOF0PECFVYX0F959COH5BEDPUSEDOXYP1T06ICDDVVFLPDJTTNHYEFPO57RJDQ8C = -36#1V0WP0ZWVUHC3WXJHMZARI455NDCURKU2UIVRUZB0H6474O5UG4OMX6ANWYWCJQND5TDBUWF7GHXC3W1C3BFGW8PXTLBSQEZZKSA1FNLVBX73XZ689BOVOKLKVTQ58QFAM1TVHTQPEU12ARJLAVSI2TUI58MD81C9CME31K61EWPEZ2FXXB0OHQD294SBKZCE81AP9J2UTIJ25H5GA2PJILSGGL85706S8P245WOR2XR2U7IK8PF6OGESQ7EVMNY5R5KG5UP1ZL1OCSBGK4HV3S5G709L3RXCWAWFGAFD2D2RVJTE8Q001FOH78ZOGWC92LMDXIDTFOJ9IQI0I7FPY2OZA5C0MWFVGPTLV3YKPS2UBO424L4ZZTUIFZ65VW6WZIC31NR0UI9TVV04X9F4ZZOFWMK6B67AWQO73FYSR0J9QLRBEKEFSUNBVOPTE0CYCHPC3C9F02Y834VDFSFDDZNN096PQQ5N0CTV9WJ1AGE5JHRTHZVDBHVNEHHI7VJMS4S3SRHA3L1CA9X9Z017RM0BSF602P0916LQWN4AFZ8DUHRRE10P91D5HAGVHGZYIMFI4KLH11X6R1WGRVENUYC80L5RUN8AH78984S6DOVMB91X8OGT8O7YP3KA1RIPKH3H74MW0DPVMN96W5USYSA427DY5EVG10KM2WBRB13XBQCU81PIKUIO9VZ85GMBBAZ5CE5H7BJK166HCZVXI5E4CB61GS871H0KL158XVIUU5KLWA3KRYXZMFXDVV2WRGIOR7P274Q6GAK54RZF1NTO782P68ZBKWT1RL091IXR47RZBL4WAUPA4DKL1RDSS0C48Q76DSPHCXWH90SZMZUTSTOOF47QEEN5856BY2I8D8ZJAFHX1CU7AXCNYVFP9U1638MV69XD0GV77ADSMU169DAOHTW8BHZ0HRQ77F2VB8RAX3AWV7NWCS8ODAHRTI8BHGM33W4M9I6LH1J6MYLKOYJE9LC0JG7O6IPC2VGOPUO9L5BV5FFO7I2HVR8UTUK3HDG7SSF9AX94D175ZSDJKEK83KEWIXQYV7Z63YCSG7UG0PI076MHO7Z5EBZC4Y33BPJDDNTJUZBI955K6Z3CD03US90EJ60CS9BK7RW0Z1DYPNXO9HFJEMXIPGAJWI4XYJYM03KXRVTM1AHGP3JUN9VYG4FBPDWWDCC4QE5HQBKW7UMA5IOH03GWDBWSDJV460JEYR7OI6NFSAG0SUPLLAVBNCQ8U45UXZG5OS8AAO4BSSRZLSCW0KTQQ77R4AJOWN8POXJGQ0WBJO4A81C4S0NJ4Q845NUBSPQKRXT3R155XL8JSLC4EOK7OL7IV9KVOABP15CNO8IQ1J9GZKWXIH33GGQJ12DPBQ8VYMM50LM7MO5MGEQ4IFHS1UMISJHMNNKUJR0BSUD05RK4T377VBUU3BQARWARB4AKHYEEKHZCK689ZC0EUIA5SCTCES0EB0QCVWBJ96B3OEQ2J9OHNB4F7QW9OKTAYCXP3CFVEJZKTG8IMG4XU0080MZSK44ZS1A7WDSF12G0M2UAF5F0WDQYCM66U60PBPMT68EK7LPGB2678Y5T6QBTIFAFVC4G5NHN467IIH6H8SO1RAI49MJG81K17EORPBJQETK01BLD0DTG4MMBFC7R5W3IJYOUG2DSP6ZMINNEC3Y88ROM9S0XWYM0GPD7YNVYXVYITPY70M3BGX7BYTMODJDS3SETXTVO2V80UKTG0 div -36#CH7Q75KL4KYY86PNIZNWTV3A0I3VJ51Y6Y5VUIO06N8BZXNAW780U592D4B1V233XK4TDX9MGBKNKS47JBXVIAR3M14K1UBZC9QGEWQSAWZXNIZMWGBZ1RSTQ4BIMYTDZ2WY1TT9XFEPC7W9XPHXKN5L3EAT6AM45D6I2B9Q40X5RN2YEN5FMSQ5G2XJ2ROXBGH4FIS3HV3L4N2TZJ7QHQJMJIT5B3BRR73WLPQP9YMVAN4BBSITNYB2NIPAQABNFVF259BCWB5K6CQGWQVAVRREFZECY38SESGFWD9PHCSRYH26QY5Q8135RZJMNZIEYFDBZM5UWST4KPOGC3GBJ9VV4YJ94UYUFB8BJ0JCEAY4GYO3C8YK1ADSI9F6XQOD9BBOF68LJKHK8S7VMXUSOODNZ66TPHCC4FLPLAZZMP05XTR72OK2K55R3PR0SKTLP8S3OMEH72TGV793AOR6LF1H2BAHDU8S0G2W2U2VUYK7PXFE55MZV0MC83IUKSFE8XOZB9N7KOCFRBFWO12V3F9WI3CJ4LU834VNQ9H8X8OW1JQ4M7O7E8Z8XA17AXRGECBCJSV4TFRVPHYDT40RZS7V2BC2D9AJ7CPPA7H07NHFZDI8WBAFLC8ZR31SQEJ8JH2JN55ODMUGIEQWC. +-36#BDCD8VZCCE1S6MR0QGSDLGWL0VTO8IIPU7C2CPX67NYHHSE7Z = 36#6D5K2XUCRBZSNY1A99JSAV6UUZBQBKDJ2OYJOMGMCG29NI15C4MVGRVEG4409VA0BK4EDZYG9VVB7YEIZAJYZ521K2RDGLOQASO1JPUTXFFUC6RX0ARNT2VAQ4SZBT2BUEU2X5FXCEQWB2KI4KSID3IC1YQMRAWM9UQ6AXOYZEIFBNRY940VE65GF2UTQFHIPL4DMP2JJX01HIAQBC0 div -36#K5IGVT829LWW3OIMT3VM9LF2D4POJVD3GE7KP591S8HM4GTSB7SM6053O6NCW0CTFDJE62VM5H4YEPAZH5SA670R35OEKSU5R4MNWBXLM61KX26A9UPT4U4DLTX78V6CENGWHVW6RBR4FLP8A5BWKLG8DZA9WMR0O0. +-36#2UW6SFEVOKAIWOTBIWLIYJLNG4G5GC0TG5QOH2EQ4SU1QE6V3QL8RQSF55M9AKUP3MWYLHNFTG2MI5Y20WAA89OI53YOGEYMY2CKVO7EW9EL0L7E66ZYHXPX9V62NZDPYGWYO6RTUHHC31FMCLUSAJ77P6WK2K2NX8DZ5S2M4HYUA0HVOQKT15GFVM3EACT2C6QPZZP7FVXNW5C5PJ3LUIKAJNRPH1GARDKVDG7FOTFL1X1BCYU6K3865UDHFI1Z2BNY5T6AW054HM45L1KKXZ96TB7I4GN9G3JL20CBK8AK1O2B91E459RPYFAV8PNHZBQNLBIOWSAM9KQO4T5WR1L50F2XTTAY6YU0Z87ZVG7MH2JLG08OLMDP8K0JVTNHQFYEOTT9ZIJ4HJP9ND3NJ2ZYGDWXTG8XXJKR1ZRP5ZQ8IH51M7CNOZ21K9FY6SA9MRPZCQ2LRC8KLPM28W1AKOA2U146UIFREQZOGPJXFHURZMRFE9HFRNEZK1O15NKOYYOCO2WD57KO4OBQK03OFTEQTRK04OQZJGDL72LJV32GUSU0HCXEQ0RLOVTT4NC89KQVQD0PGAZE8RW84Z8CNOTJCTFZXMSQNLDHIJMJXHRHRY7I0VJ2YG061WDJYF5IWG5P2C5M5VCTHQTJQ26 = -36#72W2EPN4IO1F7TGJJ5HLWAQTM0175S0V7FLL2E3OWMN46H1P4EAI89ODZXCXZQRQ634HALI4NROU8O1W6ZHN2YMZFMLYF0W0DOH33BYY2B990F0ZCO7G5D56SABMBN2SZO7J1SYEVUFKWBYGXI8VJ27GY9MFZK8EBUN7RUOVZCKNMJ5RQVNRNBP975VXLABV6Y8L49V2ZSVQSPKCN09MCMIVW3I82DFRPJSBU5LMYRNW0VIJWN7VXU82LZN1477KMU5CMRFRHXPU163Q1TYTYFG3T0OD1EFXGC3V4KPEWY235HIC8OQHTHWC6U8KAZTEWC32NCUXC46G7WOGN3O9J8ZTJ5NDWIKUIWHR5APOKSL67TKAA69VNOYQIJLG3W68O138FMY2VVIFSJT702RZ8FG8C8N7MKXYVYREG39GHLAROY7XE4CMYR4RYQTA857EAS2J0BTT4YI5AFUQNDIO4O3QZ1ALM025TUCYVU9YSBOGWXCKDEFEJ4IHQSQ6F9VZWVN12ETJJBSASLOW2 * 36#EJ629TCBCGELFKNQCP33V6AJKFHOF4RCXPT1VFT5OE4PRVSE31ARSAQSEZ3BNCELPLOSCJF75IVZGS6LYJV9T8XQXCBJ2SRJBXQ55DIGAEIKWFQMNDQ1ZY90FQQ77ZM7P3. +-36#57DWGMN6T8QFXVHI6756CYZ9E9Q7Q3RLCOTYY44EXRVG6GH54Y8H06C6U188I27DD7DP6QB3DA1EH2BGVK8ZANIY6TPRDQF4P9B3QLHA73Q5OLIT5RRUM1J7I26NYAW7JF4A8LFCTEXKFU7VXWXD0GC1WWZF8GGGS4GRLYXQDY8YRBMXNA0WO8Z8KTYCZQX44IXSH4BZ3TFUYJSEDIUB2EGKY1Z13JIBNUW8L8M5LD9PATUR8LPD1FBXRHV9GV75D0PFMPLI0CY8HCE9R7L39736N1KUFK6OABZS2TNKP8QL1YEDUH57JVBMCZQYVJO96FTMDOFWA6O03G472G5DG181DVZ1CUC5FVBCYFAD0VR4J2BU6789QBI0FN3WPCC9RMHITYLI8Y7U9I105TMWZQYR25MNH7UBH9RPD2K1CVTWJMBFT5U4V91NUMLYQR4O47IC6TV4GBJPTMP6GCF9RUSE4QLL0YDBRL6SPPG7IU1MGELCL0 = -36#6T38TCSENOWDT1UX7JFG1O153DKKD01NJEH70UQOCK8Q9AQ2BCL2B2EWI8FOZEU9B6IJ26FC0MLAFFP1SAPTBN3KLGXAWAT8H954S7W3BK8MFICX1V62NF9P32RJ1BFVEJ4BX5XWVF3FSF5RMN41JJU5VJDS092WXVMCKO5KIO2C8BENPCAF10W62QJZYYV4S0FSVQ9MS1CIZ5VNWDLQBMIWB1ZP5LKXXIFD7UMO5BBRAWRID7HG1NW360ZHUJ5NRFQ96SOX0V67CQ21YN9QZA1YJPYRPTWI7OKD04IIQTYXGLTNI00H6Y1MCD6ZHXO891N3R9OG0258R27K949LHIK628MIWR78SCX5JXI0MOVQLMGTE5MYDB7700CM6GN0212UT1K58Z9ME42LJZ35T5GC4MZBG5YE248G0B9V2DX3TB2A6JF103SJ8GM9EWU53 * 36#RIVBIMGHIO8CX1C8JR35OU7RY19OIMEGSN2OJDMGBZZ4O2WJ0. +-36#QXYH4M8Z87NEX8736GOO548I1POTA4064BG9XAKG4UYIP6OWSX9YXF8E2UYLBOSKZCT40TDC19QAM7SWTSLX2LJSWGQ4AUXVQ02ACXIFX9E0A0EP6HDR3LQKEVE2AL8WGJGJCKFBU5V0RTAW2GVVN3XY062VCS76WL95KXJG6ENCQ1Q4FTT29XXXYIZ8CNEM88V30512FRH2HLC9BSRLHB6TO41I5CPH7O5JZ5Q23DA12WNJIGLB28UBPGHGLRD2TPFIQVVNM3A8RHDVBV4WMJTJYY8GR6SHAMKQKQUYU3VVP3BRWK1QB116RZD7796DKIMM4WDJNX6ALZPW60PWBYXR95OM0KRH9RQJANP478SPULD9VZ78A0AN4PFM5ZN1D2OLLCYR41ZL7QKTKP8MXPPSDLOLJYN56U52G8WSZDESAPVVDX5BJXWK9BSUCYAGLOGKNDWUIYT2DQGQ1OY5PNZAJV3X65184YYDURFD625O7JTBOAAUX3SIMXQHCG92WGAT2ES8A821OVASY3SDH6GXA3BJ127KNRLOOR8FVJEXSU00TPRKZG7QQZFO0DDB6RM6XI5GK95MC20YHWXTQW18OD3TSEULM0AE42N9XFBFBA1HYMGNJXWENSSODJHC5E3UW38V1CXXIWE6UYWNBUQO4LX6XAFQYDNNPNFUDSMRBV46NM7TRAVC8JYDULRSB3ZK0QYBSGZUJFD4Y538QS6UB4CI04MQXM1B3FMUN7VM5CXWJ3DS21B2UXZ513M7JMYZI3DSLTWA6R6I2VNXEJR1J5BL5P2A2W0WUT426LKRYMCQ4LD29C = 36#2M2MO0XXKI76O2LOFVB9TGP0IUQP4AK0Y09Z71OOKR9IKI0Q1UN4DKEQM94A0I96BY5HF6MVF0K3886AJL36SMKHZQ9SV6X96R2U6HCI5ASBXPBKFXJRAD5BQTCLM44XYIOV8F600XTI3VQG8JU6WN810JK46LQH5U6HQL28F2J6N17PF6V567S4YNMSOCHCFAOSXFHNX2SNSVHWS1NMY1Y45FXW6VSK * (-36#AB6NDLUMXL3NDASKH5OK19H4PWP8OUDFABZPL960NNCGKGLG076H4FUYZKXADJBDF1HG1FL40RU9FDNURQEX62ZRT61AQI5T8HN8008V5DS7T4OIDMI88Z6KV80T8CV8Z4DSRHXXZRVU8QNYY6OKEANRLIRFJZTGG70JEMNGUCQ3D416LP4U4FW0Z1EV5O2ORCSC112H7XCRHCRN6STPV19ID5KJE579XO573KO6NIUO1XM7V5OO21KKNZT8ZVBUUXKPS83XRAKOZIJLJSKQHA9M4Z7G3IOSR14WQ4AL8VJ57XC9VTAFPPT2PHBSPEF6VWJ2VB93ODHWTHHK36SQD5DDEBWW4VM8I3EWH6KASW3D1F1ELEPAYEZ8N7H83IAQCDDPQOLZ57FJO5D4S36SP80NS0M2PTH6XWLBPXSCOI4EDXY8FK5KZIFCW2KA6HF8OSFZX7HNDUTAFJZGE70P03FHV4N8QMDH7IXCJ8VAP9XZXNBEJ9KZZQNPD5222CGX2KZ8L7NHIQFTH8FA5SD57S5KG1GPO0WO7UB24C056UVZVDQCSV1K411LJ916G7CF1CRCT896EIK6IEA5VI1DJDO). +-36#1K06D1ADUPHBD1PML1FPXAWG2I515ZUWZZ5SQ5P30NT5CUYV3O = 36#4L0S9GOF1JSPY9P3R2G7KGT0G67NC5NC9UC4TVNTRG7590EBG8L915Y85M1Y5UXNTJ64W4NSBAPB53DCKO9XSD7C8CPO8W24CHO div -36#2Y2QOT7P03B2KLJQI6QPQ35C95MEYVSGEXPLYW1NYN1YBB2FZV. +-36#2TYOEH33F0P2H02AKESNJ2NAOD85UGROLV31TG2EUCP4IVP1OA = 36#20WF85SA558VVAEXL957IG9C63EJLM19L1P81ZIPL3WMXSN8W2F59UU52NHQYEUTPK9ALT7P82UHBLFAOEDIXNHCGAD0P2FEHOQ588RNUN259USE3HTX3DOF8WMWAJN1XA29TSMU74RDJM2MX6QSUJRQD3KYHIQ53V60X4BFIBAGJSII6BZXB5PM8GH6SYPLHM92FV29IZVQWT6T4UG82IG5X0HB15SPCNDTWM1U4NRNP9I3YPMEEL8UKJSLSPIBSUAZQ3J4ZLHL3YIGYKT05I0ODRM4KLTIV2PMV9LVQW2B43QYYID8CYRYLBAN7VQETEVC8SU0D3SAN50VF4AKN0GHG9P3ABVCMWY8RFY51GU42LILK6PSXZMURRA1N383RAG7AQVB48EYDH5L87QL6B3JPIBRFOP7EJ7R3PMGUG0S8ENVM1BRNU72X8CWX3SK00SUQSAP34TMK71TX6XGZBOMCYSLSX4S5OXAGJUUK43FVLMCDKGCKUEI2NI8YTI1TQ48I52DQTLZNA0V4XE92ACJLCD462WKR9LBRKLXQL8AHXZX2V9CIL7CUMZR6LEBYCI72873TL8561FBVZVCQ7WB664I9NBLTKN2S4P3AX5M9Y0YZPN0EKTQ07VSP558NRD75N6A15Q27U2V0F74ARJ2D8YG46WU9KZ0J1R0E94CH9E4X3XEUPJ25E07M01QKDLDWIOUQODPRTSEZHSWWWZ3YPMV6G8S42JC div -36#PQLMC0NV2S7MQVBWJRYN2M9X1TOE502FKLX66P219CSOFOQ2CX1MERECB2E9T5KGAVFWBRGAP10GTNSHYQYL70YNDYQ19M40QV1APBQNSZX3JQVKFHOBSXLCWIBVR1SYGOZW7YZJRRQPU3HT1WXTVJNDLA59QDRUBPV9O4BH2NX366433SD6ZNB9IV4335G3R4G746AJWJPCIOFTL3PBAYZX5JP6DXJD0GA2SBLA4B261NGL0QCVZ38HLMO8D9JN7P221O7L2DXW9RTEZSBYGSXK6XEHMEMWMWAA74M6E5GFWA0LYR9XPNLRP44UWJ3OUER4C791LTDQIITPEALFSRF2ATGYM1CG4HVKDD3QRJW41XU4YYTFJQH7LKH0C9VLJDF92ZXXQ0AFP9VK9TAPJQ90Q2BJI5TCKUQT961R8OWPQSOGO2OIZEKIINYRFHF8IOAAW32SCAPLWAZ6VSLFBLVPXVMVQTFM0GEJ2TOAMVAIUGEM3SFPTMYD8SAEBMEFOALW7ACMZQMRD9MPMLRWS8PY0H096IC28GQGDOIJSTG0V1QYIF6JZDYKL64HYR3QT9NHXDJOCF17MR28DX3DPY0I6ZLFIQGOIZ5RCUQOBJFPMSBPL3ZTQFED6Y76BSHXAKBFEEA8V8ETVZFSH4C0BSYMQV8EZTSZV0T1989QAVPCQ72HGC. +-36#1GOWASNDTUWC7MRH7PTA3LWXDHS67BZAXI0JKWRNGTNL09BYFL = -36#4D8R6DRW6UJXA7HXZPKQCF2478E5LVM36JKUO3Z9KUNDHTFY4PMFBW7QEKDVRZ4Y4NPIX14U1CFLG4XE6I9KD3AVVYFGV4QD3IU div 36#2ZFJODZOPA24ISANGEPSTSDR6A1TL9OHVNYG214MNILZIEXWOM. +36#2HBT0BKGHSL3CWVWO7S93MEK4J1AAMXHDQMLLYZRP7360HGU6A = 36#1FW0M3HUKG2JG8KCDXCGMZOVGL9LCYBMKW1XQVIPP65SZBK4GD9ZM2FI34FWYZ7XQCSKSQ6ISV3J3NCFVT6RXROXZU6O3K94OBC div 36#KWTTO54AP4J9KG7F5XX9FK2KLCJJCNMRHXEG07SOE4FKH1Q8C. +-36#1221IV4KDE00QRSNMKC3UVWWBXUYUB1AU7KVQVVS6GFBOSA5ZS419MWM80Y1NAI6CTL5UR9SISPTNH6UYNRZE2OO00P937EMFQ96UFPHT7FH27FVOG2RUNYP3C5FCM87PJQFVQ04N9CYWT2POT4IZ8X9N08ZLRTL8K33Q53ZBHGT53LF34D0UCF3WT6F5B0KXSMSDKVP13LIDR5BB33F81SC9L5XYJUDH2U68NL927MMCRXYCKL3AHMKXLTAQPGNEEEUW617T1E3D53LBIKZTX5F3DK3I1NODMC0RS8NT9CSYDY2P7090UG74W5LQWRUFL1ARCZ33RRZ94RM7MB1NFDS160DI0MBC0TFYJU9576Y3XRTY7WQ8ACHQCDSADKQHW1CLD2UQOX2UGGYT4JIKL2R0Z0LIPX58G1LW64ZH09QMAI10JSLGZWSXZJAVWHLZMBHMX4K0A9IRAUDF3NWRA3ISS5OKCEBTO0I29MVQ5RA2595S33111WBHJPGV8T4SD4B85SOU80XVCZYQOWL37XF6BN2O = -36#GIX6NB67L00ZRP0B4ZAMDC36BMW8UMP2T9FW66UYCMVUPBXVRM95D2KFO2LXNTNX82DFRUS3RLVR0T18JXBG9F4FS5AYTM96DUGOQVEYQ7XKMMP4G30C11LZXE0KG7F1AE9DJZ28724Y3SW7FLG0B6WTIN6LL8E5CMRHUTGYW41DZYMY1GPS8BX5Q6SA2J09W48SZE3XRCTC6ULQEHFYNNY7E16LNAFTE9PKSI5XUDQVCNGLQWKXQ306WAZ9FJK94MVUV6EEX2HJR7RLPX77U9ZIF007ZHKOUXYUC58OU73GC1TK7TTBZFF46CZ1KDXFJRDYL9H6FAAW7EVDA8LZF99FL3XWA4QBQ7NPU46IYUVAPYE47O3H7YZWZTQMIQ237K6O4XMJUMJJ9BUXUKMTTKDY002I0T8D1DIUK2JKIQ68KMH60L9SFKZPN9AEB70UKT8KZNQ3HT4RULBLI2T55V6E49P5NQ6OURBC7J00JV4 * 36#2AWJV0ON7FPQO0KQNSRRW318IM81KDFPDQPQG1M8Y3NS4BWPWX. +-36#MBBVNY0CZ0DHKM58F9BMPESOT7XIMJ186UGP4433JDJQY23PNHINTCOW2 = -36#9MTY5OX9L7LEY24ZRJER6V053PSRNHU53JM02G9DGOC79KFGE1V3F28B0KMHI3L67XSYGLPRLSA847CTODAXH2RRSQN4IWO4DBTTH5P1B4 div 36#FJJE25372BL2B95R8DE35PTZOPB8EBPIZ6H297L8E5FSONLRK. +-36#3JUMYU1CC9MFKZJ4MAG3WM538M024TMIAGEH2C1POH9YTZXGEJA9Q7B9MWTHLW40DB0UTCABBJOKM8FBV014Y9U1QFJQ3PHJ38OKSOSWFCC2CMZ18K6QHRR7JVG5PRUG767F9XVNWG8EEV4897BKHNW4SDFWGINVOO8M6WNN9NE7UZVPBIX0SX3VLOU4U9EEIL2QOEGG4B2KTFHYQMWSTP13BEKRXULCUGQFVTLA7O575G6TC4JSQCAXH2Y1XFZC7SDNAT2P8BY2NJM2L28QB4YK8LJ55K1AEX5Y408EV1YVH3IV0HCLJST08U1UG46VPQ21ZAOYSFKB8ESJFOE8HT6DO55UFHKUI04S4BSZ8R9C9O6PLZHDSKKPZIIYQHI3W18Z5KD34M1X2EY3PE9LMDDMTC98ENZPA1YG7AS6ZNGNJFWIHMIMS6HU3EX2MC4QCF2WZPRWDQ3DXE13JT0QABXBX2NAB5S0M726EHZTKZ0PJ58P1ZB1 = -36#YURRNYGHFQ52DXWUD9EUN6ZPFKU07RJBLCIATA3QY9RB95RR942BUQ5O356YEAZQKWEM9SO27O4EDK15R4DJC15ZKLPYY8CEAQUN1UVACG67555V4H7KQU321SCRYSVY8B9TMR6JNL4TYH2YNZ5J2UV58MCJVJ4XFMSDC44SPMYQLR8OIHC5CZSRSTVSK2UUA3SMK6QR1QC5399UBEZBRS3E2TTR6V87VRICLI1TFUBN65LIPTXIN7KN8MX777ZJ5SP1HB4AAMU3FHI8YM9YB860AU8YMZHTC6BNWZ9LXHG3WMXBXRJKSVM07280LGL2GHX4UTQHOJB7CUTPC0EGIOB0IESXNJ6R84MH80KYA0Y47DF1ISP34T8ZJDYEMG796H9221SCQNJIODTWQCGQFZ4F388BDDE2ROV74S22ASW0M166390OMF71K8EAMP4SNQQ6SK72YCKOJH1WUWLHMBWWBNO1VGZEVZKON8J9ASADL613GYYNMV85LH4F0SBCBT2X8UAWRHR7I5OCDU50DE1R24NZRR01IFUA div 36#9TBCZ8OLUPUEWJ9DYWUKFMHF1PYP1FKYN1A7RWCOWDM1SW2SA. +-36#98KODZGGOLVIXXKH9HAZQF2ECHSJHYLXISMGWC20YOZHEQZAR7BXPTP7WDNM8729NCCCKS9GBZBG9YERLJI5YAAXFILEA0RM1YS3HDG6JTFHDQSUVRJNLN1A9933LUK7RP28A2CK8AS85NA5YQTJF0M9Q959HBUKJ9K0JTPEHJCAKXH2WPCCSKX5QDU2GU4QC7AK9IAMRX7U61PDZKBE4ZIVHOF3A7OQR9AI0T4IDI0CU93DG6MOKME4Y5D0OCGRB2X3YLJ4PNZL9GD09FVHT0G7OC35NHYXJN63390CO34AA7ZAYTOZB4PF1W3DWMG69HMJT8R711JPLCM2V18OZFC16QUVL7D8XP1W84NCP6QHKUULL3R4YNS30420JJLVLEBQY72S6PUERFMGUDV5Y02WRVE7F9KJQLSAKOUKUSY9DK2XUUZPRT7MXA4RJGKWILDVIQWNXJW6PDWHLQATNCXJW7O5945PYJXCSYR2OU831PUX3LP53A0FBJDXPM4Z4EE7MTVZOA1OJLVMZQA0T94V9X3N61CYIHSOJ2H6F53RLYZPDR38CGKF11P90NFL8QQ9LAXFC6NUI53V9R0BBGLWMHCLFTHWMPLLRWKF5GX57TT3K18TTIRQ1KZL2T2RU2S7FZQMUA8PFGLK3 = -36#KYMZIHRRVWW00ULCGMXPJUT25NKLYNK3XZQ4SI4P5W4Z47VYN * 36#FV5MAVTDF6941XJYSA63BZD5XX96D7VL2AUYHTZ5VINS4AN4843BN96HHAPAA3J98UAISWL8JME4LBGAXUBXM98TTYAVK4JQGXPL27E3775P3NHDOV1PAHL958JTXW1PLQFC26G51I5L2PGGX2JQ38PWGJXSDVFVLW2SABEK1BKL63NNAJENL9ST4EI7GS0JELIQJMEGS5ALHO8QSU39VE1FLPEVMSWP1NZ9BIRSIYU8UJI776MSXV6BQ8YBWU8EFCSQZ5R60UU4YCC5A4G29KBQEI3YZIXARAPQYL1TCWCYYY9FKA2EQTE9JJ2HXXYWQ55C5OQ8BI0M6PRONNDOUJHZ3AEGC6L2YZD81OTWDTCMV9R4407D36G46PJRSGVXJZTPNC34ZS7W1LYJETHRUYT6KM93HUX2738UFJTJXDS352Q7UMAQN5XWPMBYWMD0FSHGTTL1AT3UPTF4UJKY6RJ80R3IK89QXXW1D1881420PP2LWME0S7BAX8URFCBW1B04C6031GDEFSS11EK5R63FNPVMWH08GRYM7B25UDPQ2KJBEHLRQ5C0Q3H0IBHFZQ2DHE6YMR862K55F3BW90QUSA6IP7VX. +-36#UQJRO7MBGUORIEW53U0IBF9T4YRH1Y3NAH701X0LLDWLHT1AJ = 36#1HK2TTJKNBHTIETWIXG3FX7K0KUOD5E1LB4UCCYQC08S5JHK9NGCCAV64SH07QEIOO4U3JUYCOUBNLBXI0WWP7WUNL7L8JV3C1N div -36#1QQ6KG6IUADBT71OA9CWSAMYLUHWSQ141X31KX4MO67Y92JA35. +36#7MVD8POS819JD7B792ORWS3NZQRW3ENKBH9R2C830ZXGEMCBLSC8DYTT2QJUBEWFJJGOKMMVUCE9QBDAQZ662AWYIFIR60J5VCZ71X706ZDGSJKTLA7O81FIAZT7Y76TQ93AWOZ3SUXRN9QXL91GBYEJXA45RN8BIH11B6ESHYUGCWBJL4G677G64OYZNWNYCS7MMBT4NXOPRB8RNKN6HT8WSCQ41GQIJNANW4T5BEJ59O5N7C8CNDAQRUL8U34IIGKAUCZ3V6LU1PPBIPDINY4A5ZF6BTF9U60AAK64T496M4XBRHAX9I5JAF1HE61CGP3FIG0XPDQ634K3HSAA2CURWEJ2ISZ4DA0NMXZF29QU0MXV7OVZMXFUSHLMBEWOM1MHF1WGUDYEMB34N42K7YSM8BRPRT25GBW3I89KGG4HNJB5NUVLBPJI0GWSY3GRP141MI6OJR3DT5XRSX7KZBAXSPNQ3J5C02FIEC5ZTDA8PGL7U1A7MFYG32USW3D5V8L5G4EQ6BS1O1O4UCIDC0H2FPQBF15XBG3WS4ANSBVGZYWRH4W8FCHQI6RIACM9RD51XUJQBGV416CDXPB2ZFXZFNYWURUS77D6YRO09IWMS2S9C4B5OI9RI4K9MX2DOHOQBQG = -36#E5YHKLZOR85AR6XWV6JDK9RBB0HC2ZIMAAHZ1XRE4KFKC8I8W4ZC2R5L8NHFP3U5CGBSG432NL9J8LEAEPH1P4A20ITHEQQ9MT2ENH8RHILMNMQFQM6OQ83HFLJP5EFG7KOV4H44MBRETIBGCJPVTCTTJ5KZEH0Q9XHBV2RY0I6H7HV77RKIJ12U7XCDQXPOGFWRYO6D6V1M88JM44QG0X91LG5B4FTXE28WD0R8KP22AASLS64WACN77NH2GB1QLU5H3L9PO6CQIDPQOLXDUBU3B504CM0AIPS0GS5PPMEDOTQR3F17A5AZIREGG51GMNL1ZO1QUV5JYHD3DTP1XAKE8SVFL1OKRM3Q630C41JABODTYJQ2NTZ8XGDJNK47K287IIR7RBO1IWWQ010RD10GM8BRFAAMK8355FRLEIW1XMEIZBYIEV20QBKX1P1IV47MKAMVUQW40G4TNOOVGCCYUTSZQSD4PYVO41DTI7MFFGDVUICP6R7PI3WNRSEU9GP9K7IHD0O70NVX5L4P78USZDHS1ML0WCF8A1M3VS3EMH5Y2PDVGQHIHPLTBD6J3WAH3XZGT2IW1ORUG74YOT3HQD3PYFX0YVH413Z3ACAF9DT4FF04TDM2CZPFNXVYY1O57PCJGTWX8Q05WLIG65ELGRWWZQPUQQO7TDTGUF1GB11YW222R6SW div -36#1USF1QJUV6JFG3M1F070MTELFS73BAXWIV7DS5COVL7Q1MG332. +-36#2DDKN3NAGD2834CKYO17QLQZAA10U9H76PQWD9WJJT1YG8EGRQ = -36#74H9BF9YD44JNDDPOC2A8FLJSHEPU4B1QKB8EBXDH2Q7FG26E4EBHBAOULOL7UBUQ9YHU3S20ZL4IPBRKRNVJALZR2YFF9LJ7H6 div 36#305AC0D6T60TWOYLFNG8MVQWR01ZHQPA71R48CWHU34CC90933. +36#3XZM9MYP15OLNLSBIJMK5BDSMJ4US4KYVDSN8BOQJX4N0NWIFBCQSYP1NI7RVSTR67Z0ETVHXKVDWOEZ3WAH8UQYOW3GJOFD1FLW8JX1DISL4YTTBHT9U8RW44NK04JW9XMWO2ZHQH1TSREUN1P98VGCBYU7RDY3U4GDSGRESE76MW1EMOWJNF6YD6DM4GYTB3JWKUJQFQXO7RIT1779UXQIHGD5LHBOELNRQQ8ESEWXULI3JKLYJ98DXMKQNWO0SJIULD8T932AALQJHMNF5IZEGUWPX3VZDFFV339OE3SVFY2INV2V22B893Z6PCKDJNAGPAAMTV2H5KP9U0SO2GT660WXCB78SS7AFG22MFN5Y846P02OIHF42F6TM5R1C8SDR8Z6GCPXSRQHDDBZ51MHMQ6MUSS4SB6EXR7RQAGHX16N11CIWJ3W1T5E5S8RJ5SA3P0XPZTXIDZJICA69O5WV03S24RKWIK11VRICQTKPN1G8NQH0X1EI250PVUL9JD08V7YN2M8H171ZXT27QVDG52R1JVF77OTI57WFN6EE4377N27LLYJ072J4HAUWINZHPURUM6UAI9VJ3506WIKODORS4GEK00JIXGF7AALIWFFJH3TKW43OSH3FJHHSK0O4I4303DKK7NGTRAMNS572NBMKENMRFZB7L49QZE6S9VHH6UV6TLRJKVW9SPE6IFFFMO5UKUQ2JNAV9VVAQWFC92V2U7TL27B4C05UYC80G55XDZ3M7GCB8K5EVBRYZPUPKS75BCS2D3JIB338XPYWUWF859355UAODS3DLDE4XWOO7SXXLT61VV94KG1E1J5B3PIO66QK60I1VIYM7PCX46W75F365WJR3BEFCGULE57QPRX3X874AMX5XEALTJ5MWCT45B9RYGLW6IRZR20QIXSLVRE9F2XKF1VE2TYRK02ZOB5P3WWKC57YL5AC2ZCZ40H321U9CI1AQ2ZAVNFPVLYY7ER7FLKQOY6T5LCDP6Z4D318U4KD85TGHHAFF8NPBD999ADVVPLJSN0PL5ABQPVLNDT9FRKF92YTZ03E2GIUZIFP4G424PKTEPBM9UBIA7AJAVZY4368D0C3J1L6SKEDG0UMPGYGYEF8978DVFMY3O1F9R73M6YEJNR1CJW9IQGRBWS77ZLIU5Z9TPKVO9DBKBWTRBT2WRSX7IB4CET87WDCVSWAYYB1NS4NT893J1WV292QEJF44WH7G63YX5J82QQPQDD8WRE9IINAL3VHK3IVX7ATC4GWVB248N21LW6QDGI3W3GM1JEYCAD25WGUU7OUP5UEP14SNCK8Z8P2KADNPPBROJD1ZIE2K0HQI43XOPU74O3MRXMG1VH6TJPEH9UVV0Z8UL4CJ26HV7PEPTT003COD1W6JCHV5DLTWCPDTR8POJ3J1Z7RMZEMER6ZUGNWX7Y2IZPX2JU5GVZ7W8MWEP17JB4L93KF6NAI6P0HNQNM6ZAXP72MSZO = -36#3Q0U70F8RJDZZLZ02RQNQLCNC095SV2T06YVDJVJVPPVTZ1ERT7DEY4ZPVIR7RQAT988YF281ATYXEY1B2B0RJMD2KR71JDPUU6DQBONI7KF2868UX0UWUVUD3KJEQKKVC0KIWPYJQTMRXINLDR1C7CL9K71TL4QD6HISNS48U11RUL56ASPKO9W0E638FB8PKU758MR64FI5T74B7ZUF4KJ0FIHELSHUSMZGCTJ98P34I0OX9MMRDCESZVTRBWXYS5KZQT8CDBK8XUDUE9JQQPXNECUN3AXX801FS0JV3VOH0TWK51GKPJQJPCBI9D25HNEQNQNPKWR2PHHEJX1WMJ3YFIYG0QHKIDPVT3IZTEXMN4FDTG2KKGJTG8D7ZOBZPDIH2ZSUJ8L8YR6QG8CWB4PFUQYZU0XS56KL1KWO6C7K12BVCGL6NYVBVKP97NKMKTGN4JGB4DJAD3BRZPSLZM93V1KLLLMYT8Y4NFU7DH8HBB0F8VV386VQFS0C58PAN4YJ82ZW9Z9YRAALG1AV0K0MV5P2UER04KMQWO9OVZCHJ7MF6CCNOHL3D55MYNJUJJV4OA0RM08813ST1QAZQ8HVFXLNSQS9G3PM40ZF3PI8N2TY442WP61ECEVDVXSD6OJLITLNX * (-36#12515DL6ITWMGYF9O4HT6HRAYGJ83ORW6YRHCYVJUIKINQ58K6X1DMXFVQJXZ48GXVRWQHB64LWPTFM1R6C0U2WFRAFTYZ9HHDULMUMOOMT9MGKXARAAG5UT293KUTW5DUH8874ZDADXNNUZTYX3FT4PO4MFZRH6VVRK2QA9OYLHNHDSTFQAN7IXR53YOIFGES8L5YALLVWVR6U4J5BCVWTE7B3VDJFB051K0C3DOWCMUZY0TAFNLV978JHCPM5PS2GVL6CF5WYV3N62XZMR0A0H181OZEMS6T5Z2RPCFNI1ZU1A5UF3FGXRXSGJ4KQCGVHL77YXAMEKFWC9E24XKC0NO9FLB9WI5OV67NT4DBVPU2UW3A6CDEO3BLGR8IKSE926QR0CEM40BGGG05Y286NWJO9TYZQK0SFSHNLHTVH0TX8XSML4AJI0S5EFZ63N45W854COP2BI4XNJ5G4WE9JR0KCIEN6T81OP921VWLGZMWPCL8IIEIZ78V0PLOCYW3W98O9PGQ88HCRQXQ9SBJKUWDFUYMX440G5RX5MCKUOHSGHE7GXUAUTKC5KMKCWL555AXY0KXRFDM7GZY14N4RBG06TA4WB2K7ZV3Y7W3K36WC2XNLAHSPI91FMMJJDA7OD8VBJ50J9ZS8TRMSYG8TG86MGIC5D9BFL84WUQN0Y6SK523Q4ITQDSOX8CVSWSBNSVH14BW1Q9QPMXE5ETB6SCXIDBZDCPNUJJMI9VHGEPI1GNRSQVVXL5B28U6ISY3CK04Y4OBY5D96M6UV09DP19QJM0QY3J9U8KN6AR4HMSRJ3UHDM140ZHEF3PJI8S7ZMD7GYZ0H9N84). +-36#17RXRZJYTIDUTLR7M1JKI5QHDN815VHD9N4G8AR85E6YC5UDIX = -36#240PVG96T3HNV1MYBJEYPAIKJDLOR9M8S8B6ZO0NH89MGMUGED5XMVAYIQ5N7BFI12MLLTBVY7MJMXF0PRHW91RK8QNHY831INRVAIB53SEZW8DD7INRN47YVBFDEZFMLZWN4L1EVFJ3VQ2U2M2A1YOMESWY6M6I0IDMWDD4QZC16VAWDICOIQKG4U57F39QAWOYEQJEDRJH5VIA3X1O5YKAT9I3GARV2Z2JPS5RBFCWBZCB0N06WL5O2XT7ZSHRHF95LS7HX2HZF8TY3TPG3JPY35QWT5Y3STHS285FR5IM4UC7PXWS0XT0BKQEB2FULO2LU2H0ZGPAXOLDKCXUHCED55XUJ26JJ0WALSEMQLKBR8NMJJ49ULJE48L1EEYIFJSF div 36#1QIL5T5CG81MQ2XUHVYR4HMO9UG72BLU78LJDIYC351WR0A4IA43V6WHSWL2L80WQLMJU71UUZHVGCOXBIW09BWB858FTEKIP09RK7NXSURO3K0Z3JB5ALARYVDPU2UJMBAY91HNVLOELF1UHRWRO1KQ9FK15W3EZETXAM7RVZKSOY8Y249DF4X8PUT0P3OKZ0TW0O15L6J84O109C7W9OO9ROWZ6JEPV8WIGB9KHOH63P5PO069AO4TLNJVJ7EO0IXI6VOAPEWTFIARMZFOPG2QG1AQTYQV20V7LHQEAIH3EYYKBKS7T4NK7LRBMKEDAWD1H14QIO867WPER6V. +36#5ALRFRZQX8GBKLFJCX34M1FKFI2UT2WDQFXV4I1XACZ9OV3R4 = -36#R4TQJRIB0KA9EVXZDUG4ZQ7KYLPB7OUK8JBED1X2D1PQV8BXSG80PY4IK6TKBA1W83FSGNC1AT2ZV926R8DONR2LWSCC3IOAPP3UO0HGL3P1LIA5P09QS7Z7MF4P7HLWMSG9WCG div -36#54HULQ570NAQ0AAECDUC99EGQ3DD0Z02BMZWO190O6LAVMFDIHRF3W0E470NS3Z1PX3RCC8BWM3XD7DSW3Q0234. +36#ADUTEZ95ZFY8ROXEPMXOB8EF0ZJDXMUTZUGVYKY038G66KPX281XGNMU5L2OKXR7XV6F4WSP6LDIZIO1XHBM1SCHTBR6IGX3593ED7X27GLJESUMVJLPX1ZWMHNQ6BDH329LI8XH329YG4BTBMUDB2PQEAPMM32HOUAKN4HAQC76E3AXPP6VIX3U2032Z09AR7N42L6LFMZXFZFAPH8FEIMQ8XMSU5KH0JN6UR0HPIB9YVD8MN7I9C99QO1L5LATDO4Q0TWFXG1LMXTKBQZR53P9IYWHYL1XPT88BDEFLIAX2TILWRSLGDF6D5AGPXOGB8TMAOLGVWJLGWKVC7MQHHWCSIZIO1LE7OORCLBSYTM7S50SVEGNMRSFKXAWEPV8RIYZIGY76VB5M26P5SY88CZGFDS2ESIMYNV8ZI4WQOK39OOKBFZKVMWTH6TEGMC7ZEUJL8H132M63VWDQELCIX3W8DQFZKSFRVB20HW85VIH8N560MP9D66HKUGBONLIQ29MHX9R6W150MP28A1E07V6C1KR5J0QZ9ANEDOWX18GY4Z72MUXAC0SYF9Y7ZZQAFZP23EPO8L2OEDDA9EZ0F16ULWBY1QPJ5TFQSH0SCX3SBU3GGGIKIP3QKHEW53IAS3JZ8TRLTTKX0CI8B6G2RGOCE9RBCQI63W50WAUD63C0526IHACZ01W7T124Z7A1O2V2GS5QKFB56XEKY2VKE2BCSEGRWC9PRWTBOB5YSJUM86OM5MZZFRXKWRMKJZ69PY0MAFSSV67JUKYHUZ6V69DU47TR = -36#11Z0X8VIFXJGBPDHEEE4S0IVJOG1TCWG0M21FXMT89Z9FLD47TXYPS5GO96QUQJ42OBA8CUZJLPONJ0AR81KC8MFK8H78649FC6MZ458F6RC0YB2JCDQKYZFY8A679SXWSSVZTJU3RHQ30RFY4T26WL6598NM6O9MH8U09C50VS47S5V5AFXOUSO3PUTWMXYDMPRWWXW5G1SXXQEU1FIT3XMOHERAT3V2CLPGR50VA2350NZAWIDIRHNMRCFNN162NDB4A0Y5VOSFEO8FK5BCVSTS37LHZ0QR0HSLOTMZT4LGZZS04RXG5NR02FVXROBB3HOJWWAVK1H34C3ICMWP03FEAQ3N5B7HA2STOXPDR6LNWYKNEDGPMEIYO7J6KZ1FR51AVBZVTTP1LWOB82I7B0D029ZMCE8EPA41CFYF3BEL3JP0R4SLICU75AAXWIBO7CU1YW7E5C57WZN7P7KF9ER2KYC4WYFUT041QDBR7HVB9Q56HD0VC21DV90XEJDBWOC1KO07XGM0P9EHW3QE9DYHTZ4AQKV0N6IGF0ITM3RQK8FD8V9ILWYVRUJZJM3NA33ECHNW4GCM1VTUKIM72Y8IE2HFI6GFG3IN279EAI8K6MC6ID1BX6ZME8JOW0LMM4KY35BUDBMS4U8E3IQBT39NUREADJ5E1GIGTLTBCDPZYH5JWSNBN5QTXE6BB72TPQW67ENCRYCB5JLWXZK10RU8ZDXFOPOPDU93MZBY414DSF777BBFN9MXHSQFKN29NN2VESTP2EW2YY7B8UZ6DUIZNYEEE5SH6A249GT5RHX65XR99E19LNK5I5LJUL18PMFUSO7E1E8DHD0838HRLDSUGZW2QD3T4O8WABJOPR3GKPFZPQTE0R3CS163TRJ2ZY2U2THWA2T514GJ9984421FTEYMV1DXU7PLXBJT7UF02PFJ3W4C02BABROQWNX86AKHVSEMR4KJ44S2RT3N086PT5S5IKAK7HGNAM8X8B3HZF3ZG18NFLXP0RXKJGCX8BLYIB8AJLT3MPKKGIX16R510FOB5F22291QCH1VAOQHIBZKOBYN00ZYHWIWN8SL8903XG9 div -36#3NMWALBDC1PV5THGOHV0J4Y8PGUAYICNY84C1XJXFRB7P4YJMR0Y99J8P6N3BPV7VQB83TVX4OWVUEO2RXNWWXBC5K2MCH8D8GD6NLKBYE643OAK7PMVXN99I3MCRMAKT71YON11VLIAKZ6P6RHS52CM7LPDTCBGDNRW42AHO7LCOMDYAJMEGURJY61A6RE3ERRVPZ8LYQBGYRNKH6X15D1EUGTUZLK5OIUVTXXH8DMH6U62K96X837H98EUY2YW16GG2H2OPJXCHYPI98PW3YFL4LUFYM0WTGKJY5QP9HJ. +36#239EBSNDKVMGRXNO2PEXQ0P73FFTQTAS0EE1OBRPJAR9NJVFLK = -36#4HJ1E6MIEXMJZ4FOLC28MO1EXEQ4JJRC4NJVL3SE2AGIW8EI1ZWMQZQNT1LDFTS5069L7Q14BYWKG0G7FCT9K0CEE7DPFDYO4IG div -36#259JBODMETZGT2ZK8HM46GW8QC97W7LTW6N6OK14Q6DS6AX5FH. +-36#21LZHSLMQ0FM89T3VYL8ZDGI8F8LCEZFJHWIFOZW3QLD9HIR6SRWKWWWYJDWYWV4KJXF661IWLIJ7MAFP8ROAK7LMRISD21WFDYQXFJSG5MTA9G55H15B81V91ZNKP3C0DIJHET2RX1BQDEOWJ67MFSZPOEQMMNM8OMTIQ2AWONWH6ZFU97SZULA7V8AF4H77AV6FKWA8FV2WPFNH1XYER7FCLJHCPEQABEOX7M7C665KY4EEF8S55TJI8ETNMTU1M8TH0UEHDIOD461PGG1DYPT0WECUKKVDE9BWBSRKQGKBC8Z0HCYCWGA829XC7NDLL0EY0DHVOI248OXVJKFJN3VEHODVCIQLTIXTZC5E55LZ3TMN913AVELGYLZJXHM351M7C2M8MWHA1W0HWUD6EL8A7SZY9CXDBJF0AWWHZV1DA7WBZ3N8LIJTBFN03X8BSE14OJS82T5Y5EBA2FXMEMOOEI0QXASJXTZNESL2ZITOBGPUQ69E55796V2MFY1CCICVNNNLYV3EC77X6UUIRKJ8G9EPGFLFS97TCL5WYLVF1CCSVZDX4D77JTHS7B9CFB9PD6MNADMZNFYBGYHGCD20XEFIBDAH6C02DOANNJ4BK6TI77T4JFY6TP7Z8GIEGT1AB6T4DAMKSYKH1O7VKXJOA1XB7Y0T5Z5AMF0YYS97JSRACAUP48A1JQN8GYEXXQVO2H47V7QI1B6PAF69RIPJN5U96SZOU0Y8DYONA1IBWQ960QSRFFJFNSRY4M1 = -36#10U0W61BJYXALB3KYB25FOEOFOT0VBH1C3U35K31K2YZLDUQ1U31Y6YV0T8YSJK0ZU4O0LLS6AC56RWAXD5ZTWAB2NHAVDRQRSNS4OJU3RTXY8WSUHN7YTEECTG1YFM1ZYLPYYE9LBNDXMNZ63OVXZYVMIONK3IAFKEUF44IGE6IEG2L01IQCYS7CWHY706CSIJDUY7JCZTKSIGNUFI11GHURRLXO3WXTRUK4J1YV87O59BGUSIQPIKAY79NKBNVUVTZO4DOUCPV5O5VCIDFRIOD3ORJGHME433QBP3ECFL2ZDMBCZML4BSM8LMJ9ENE3HU1M5N8W17IDL2JS8KYYB0ZX7DH7JOL5WNV4TRDZHRUOWRFQYYMIVQN35O6N7O5GNH0EINS84T58WM6A4KAN4EYTVCT352XPITDRA7GLCIIJ4RLI340NDJP2YQ6HMUTAFPDUY4U9IFEX9V95OT47M1DG4Z2OS2O32NJN37M2PG4LKXLXZR8EN13HJN15G39T967Z6UYPS4JOCU5HDJHUONSCKN29XCMXU0USK3OQX9B5JBZ4FQ0IX9UZNTJX44YFKDT86C6HFICQHZSYCG677VZQFT7VPECZXZWF8WV0V92CBPYXAB6U4VG6XX1MW9B84NIQFAP36Z3DGM98U7FMEFHYRURXXWXIC8IU1MKYCLQGA9FXDA4UPB6J8YBOGXLX198CXSZQ1VI3TZ6KX7BEX2V83QLE681GWIGQ1PPDX0IZXOURX0ODC4CMYVXICJO2C4YQVSFK1IPPECCK3QTRBGMI7KX6PRYR8GM1L571LQWAX3Z69UC8SG43C8V0AN2LNUF7RRFN2EW7S2NXJUJA5YKLHMZL9G12D3LTPD2VE813PSQG70V1OPTFZEP83PK6N14GSSO6JZGUTWSUF3KRCYS7EJVM9UM9XFW9MO4ANIBHFERC5V2EWOQVDHBGWQFVVQ1Q6RN0IJ4HMPKXDWGYIHB5HOOS7AUDRIO7P17XWQYX7Z4XUWQCNTMPSBHN43JHG2KJX9ANH545TFRQUC2MC7ZVO69JZNKDGTHCJJWP7ACOWC36C6T6OPU5YFOWXN0AMPM27OWKSM19VJG0B7RRBW3GDFHI81IZ9J94WSLKDMTMXGW2TVLNK17ABH div 36#I0I605PUWFA19652Y7T25KI47OESFPHEZRD8EV72ELQCBKWV390NIG5RDM5TSUSJW9ZEJIWEV984IYUZCD7UA7BFYOZKXRF8K5Q1C9QH44UHWCJ3AG83CPM0BB0RCO7QBY656O9H3V5OGOGP70BI2J25XH06YVRNUJRNYF5ZZZD8XH1PRLI94ITNSU4HCZ85FVRDUFNZAZJ72DLWGMPH6QWRZ2XFM6NQ0BY9ND636WA861T3WHYK8ENNPSPH4WU7MOFLITE4US8P6VWIPQZ5LQ252VU9VYAMOD444O11YCG712PV107SG05EJGZ4ZKQNR0SR68AGTT4CQF5BT53F44KALR57CGS076KIW1Z5B2TB8DJ9A5VQJXNOXXH. +-36#2LFC9IDH5KLU0J09RQTMSHJB68OLD519TUT2SGN7M7NE0FZFKNFKFK3MZEQ61J9RPVQF3GSA1S5EJ6EOIZFP8BTWG45K7BSVE9XA8B3NOI6ZO9WB2GAMX5ZSY6J6PE5X6FJQ50RJ07R7GD2RGH8GBGAWA4O7DEKR7JIMIDV4KYDG18XB9NEGX9EGU6ANJPDA1UYIRWK334AVVI2A2NGNX9PTYKH5NMNK9MY2D9MU7KRBLAG4ASSS33YE1S03TDEMN8CH8T6N04826SXPLFDTSU1DQA0BKZLGB3G4ZKJ967NPWV6II36HVCVVBWUIS7OV6UTJCXOW0Q7QZ6W4O7OQLP9A7WI8P05AHUL8C12GPKP0S0VFNM0BC33R9N2D8FU53RBXNBETVFGE6SLOH85HJBFFT1GNERE2QIUOI2MUSK0ZXR4S2KVRODMYLSK5XCBFGPNSJ4ID2WF4HRDIZDOHIXHWR3TH1Q1ZEOO6SWPLZG9P6NWJBTTZNNF1JQJE2YZJCEQ1RXAP86RW8F087CQQ8ONA7PO16YGWIMFXLOWWMQP7TBSCEWDKHOXGUYLJE48QEL7N2PHBGFYBGE87IQZGT0T2RIZ00 = -36#4HEQ2UNFV9B96EDXG20XIR3CRQAC70TURPXUXLFXARUJZ7A8Y2VFOLAP8QG1MI1GYO63G0E7ZL3H4N96N9KHYXIRPYH7JW68PKZ8AA86QTNLG1P5DZYCPEAIU6H3TTQCFT6W5R5C6OFVNZSDIPZ54SPA89T6R4GXJ68YCMTUT9UZLV5CWQ5CIRFZMMPRBNNVFINXUMPW38HWBAKE5CSPCUIU9O0M3XPHC0CXO3DLIHUJRAD23I3CM5DUYMQDH6Y0V44FK370GJB9935BHXSS7EXDR11H1BBXGIJQO1K9MS7Z4KVZR4G3UMZKNPNEC74JIZ17RK2S7UT4ML03VOMHY5VIDU6RG2PZFX1CN3TAJOTEZ82BYH5IOMM8BL7I4VIX24X77LBQQXNCJN2OJGJKIZQHX62QBI021MWVBZY0 * 36#KU58QC29O16NDBRILG6JHANYY7XXOVJ4MIWWHDK2R3ZRBG5SCV8L8WXWRFT0S03FSBHYQ5KU6P3HZGRQFN1VIZ1AYFIQ9NDIQW91W4J0ABJ8QGVF2PNLZKLK8LUK8PHU39BI9DGYVCYANRAPQ0YBXA3MMDVOD62ABHT3J0QD2RMLJF8OUG8II. +36#D2RE1P3VFEHCVAMYHEHVSFRBEXX2TG1D45ATPY74NVBKV3V5U6S1872NSVC4JK8CYOAHXJ16LMQBKQMBWYW6L5TJZN7IBQJLENZAYJBE709JPN6BXJL4NEKRERNXCKY7EFR82I1DA646TOK9L0OGOB74I0A40TWOESAWD3DNJDYSEL91MH3DVKG9REC1R0TI8T7E5C2HU9WJLJAZAM4R77ZOTM7H9NSKI8IM53XEFB5IDWW8A4SAKBS6IURKS8XE0UDL7J49SQPZHEABOVSYSIMVI75MRBB44NRBC80BWD778VBWEQ81SWG2FPPL0Y2IJ36ET9S1ZEDUHZ0CHZ3C581O5BAHSGG9BJBCZO3XCMUN4RLGLBPONFOE2YG7M4QV3W6S5CVRW3RF3JUP5G3M1T67XCCBU4VZIEWZ72WR29X3DUSQFX4V5Z7OQ1QGFQ5ITQGJHFGOX4Z6H4VVX1K8EN3CWAP19PHCBFM8ZSMT8VHZW9WV3H40QP9XJFHQROBWHTV5N2GBAI64LJ18D5Q1XDZUSAOIW2P3HDLVAHKOH89890TESJBJTWW5UY73IRXKZIC8Z7ZO9YZUS8GABEFOC7684FL0UEV3CF6O00CRU = 36#6LBLMJDUD8UA184G5PEEQMX4D30O3VADXNRG8L0P78EUG0G0TQRDMOMWKII8LVHXGOFLM2KNTTUGS1AHI3BHNK3ZPZJ4B0JN0NJKPLC59PSL3HKRFKPSAZ69PESYROF0TYUNROUSLZZN29NCTNX798MXK3A4SVE1EQCMQRDOQW9AZJRTOKBJ3L2WWB9L1VRWDBUPGINX0TBDDV5V7ZR927I7KF9T915HWV30HA2ZJ5CNHG0Q6DL57TFOMJ2PM7QZD0F5LQVVUUOUK2DH80JCSN06CLO43FHJTIGR5EE79NOOIZLP214R92WV1LSIAYZCRN80G56CP99QKM8FVXY8K5P4QRP5N1HIZ2ORCGYNZW2GI22EWZW41ZHF50VNFPMROJU4YZEGX0LZIQIFA1K9XCDX1Q1BBFOQNQTSNNLOPQIVD92RW2406L3KPCJ93PB4M8Y4NWORTHF73R45LJJOQH956Y9L9EKKGPYSU7ZWS9BXUN1IR9PA09NPTDXEO317HQVW677360JJFC5Y3B53N8D25ZFS957H9T40DHOXL6A2IVT849VSIOMUPKWW6S0XNF5K2R8IKI044CAOHPMK74G7O5WLVOJTVVLWGXPVIHQKESAP0QQB59GVNJDI4AHSKBC9WTRCV872N6QXWE2SFZH9MMMQTSMTFFEJ4WFVZG1N169IC9T0PS1LU1QG4D8EGXFA0YJ43TI2WF60E27YUI8XK02SW28X1VANJG5BV6B49JB2FAY14QCLG0 div 36#I5CG6K1ER02B8CF0KHQXKNNTSUCWUDMWNN0ETPS0ABN3SA4FYX5AS56IU4W5TIB3JJRLB15MI0T4FFJ8OXE9FTWJAYVQO2XUOEEUER985YUZQE54WC9DIYLZTYJV0CZM3J5EERBI166TPIPBC. +-36#34QURVPFOY73N6HCCWJ4ULPJA6X6DLSV7T68WAG0VRCS6NBHQX = 36#Q0NI045OI6SSAIHRW2OQN7BADNPPI0LQUW9CAY7N5R9Y0TJN8N7EVRGFA1BTEQXU3INT8AUK2GC62Z83WWSWZ6N9Y7MKNZ4VDIA03T24Y3DSKFJB1UF5RRA54ZB2TTNCUBX273PCLPC09XDCYJB4M836SMDSKLSCRD02J4UQOAXT4Y2GGJ1UN5TNBUIG99QUD2WC0IZADVHRZCGSOB1JJFZP69HXKDEBOEM9V6MHKXL2PNA0KPLLM5MZ5CCFEYAYPVPCG2Y8DX7SFUNSY6KCQXXSME2S78MU3WH8TXG2DZY36YGE7K79K3RDC0BP2X42RV7ASGYVYCN7I26MPP5VZOGDF1RVF5VOZ05KB5B197QC3GKJTOU3L7GAOZKGFPQKBCTX7MJXWZYY9BJUB53CD4L8P9PAUD086OY1ICPEU5GUFKIU61JO6CUBUMID50IIQLKU7P68QUKK11XR6S3Y6XC8FIEB2OY8X64GJR2O97ZSYTCIBT8N9H5X3LRBCE6B8YB4N54V7K24H68NUDSYO4HLOY4507MW4IPOB0GCOQ9NQNSO5HA565GYXCVCA2J990GAHIT7XBHJ2KEYPQIA96SS4BUTATLD6A8MBZYMNTXG5CP0UV6OD4N1CYABF div -36#8B2P7337TQT3VCFMKSQKS28B8BWPBPMIRN9L6606SERE2GGN278BNA5TUNK2QF4BLY96R6X77CVSFZ9UHFS4ZYD753IJC7DOC88K27G51AB6VXDTQ1M8CC5W56O0RUKBVKOQ7GEKPIAFGAOUJX6PY6BXA20FI1KKPDC7Y98UF581WGDNGH6F20K7JGHZVMRYDF3DKDRRWG5CWIVE9SEKNMRF7OJ9TNMRJNO09QFAB8VM5PWUII2E2M38VHO4AYKQGI405OHQ6S7E01HCC7UXAK0Y1F7WTAOMC8HO7KY2N7IZ3GXWWEAWYWDOIP7IR7SKZEDF1C8YJR5B98PEXJ2JOZEY7CMLSFWZU0MASOB6M1SF9GW2P6F3UDF6Y7T8N0Q2GIYJXBLIM15DRM7GFIDRFMHCL5USEDH7G7GWZPBSZ70A6DYU71IS5VIAZ3MFBJTRVXVMRN4THDDSXUILAG3VJ14BRANGVG2QKEOE6S8RZQ7PR1BG1FDW79ISSQF1VG3VKU0116ZC614SSBCTPGWUOBN9LUN63LXI6NSFHCQCJJPJAJB9M2RNMA894VQKPGSF46ZYUL9WUGZ7. +-36#8XEYCDBQ6AT7WN2LSTGUYHQ45Y7TE60K7RJ0AKCEUYDHN69JE = -36#OZ5ZIF75EMHQEUJ3UTSIBXSZ27YHYRSRHYMHX0GZLNLLDLZQ1TC7L9KWP80U4OHZIYDOT47NXDW716R7LBS0I3YHEH0CF5YPPK div 36#2SPL4ZDQY7ES6RM3MS3YH76571NWWBO38ZMUGJOFIK8RJTCR44. +-36#9Q2SELLCJCB2610CRKA229HSABHW0XDLVQGY0RS962RR7X17EHV0BG0ZRE684NEYRUA1INFYP6TENCKKJ0OH74CXZ70DA4WFU8QV9MIU9DL0PW3H5IYHW4JBCT7W28ZNS1YUS1IUPFQIUPNU8H2JEACZ47K7YEEI0VO9EY8J4DJ0TEUXEFO5ZJ43G2EQUVH2Z6ZQYIFPFVEMGIYFEQ5K1IZZFYBKV3B9GJECROAWL66UZHD5CVKPVQIMRFLNWVPA2JECYPGXNAWVRGJSRGD3AF0HHFUIAILV660QMDDRO74JJH1P8JXTVDXL0313EOBHGRF2SQ2YIIL2SBOAHMTCDM2QKNUZS6DHK9E3BIBG4E59OVTDTP7CKVPB5YF1610UP5897UVT319U53JK1QD27GA5EC85949WTD4TRD98PD2D2ZSY5N0GMKL9Y7I5382VIF8NZ3HA6HJSBPEFIMKTJYN4VXEZD0RVJZWFO2VTC3L6M01OXS5PYW7CSE67G8P0RIG9CQVMRXCBZ06H5AL4WSMGSOE3IRUQDYFMT4JKL6JGZD4LR8WIB0RSSNF5MPQKVFDNTH7MWIXJZZ2BWH5QYONVC2BM55JCRBGCQSG0QF0YV551LWWG9O1OIYEDL3PFPRPIDKF1M739XVBPADJMBPFRV2CGHH063YU3H4RQFXOFS8FW0NR691JVZKSW7YI9MRODNJ98K8WR85PNFYS230YDOHKV051SVGU1CFKTFWPML3FDOF3RZNR0NTLV3UNYPG5S7CYWNV3D45H1NZ9 = -36#1H6CFCQCFNZTL1AXXSDF5POPMFCVF4EV7J4WSNESZAT4ZZOI3F * 36#6L00EKINFVNNNNGBB852GCE7HATIUCSE00X2KY3JNO45Y3UE7FHGYKMPES2KJWXTQ86TRJ2SC0J3HOE978UHYGQ6OB3HH4QG4ZLL78130U51IN0UO3J0NQGPXVM20GRTMNI7GZH9Z3WS7GBKM6BBI90YTJFD5OOE22J8NVDQTH487I2TBL6VK9954GR50WQS56UMLKVW23AJ36IWIUKQGZ5U4GYGNOFCDQ3EGALODN4N3GG5DPIITGENH3PHZ62BRHIWAFGLQJ8R1VAIMO2Q92BM1NF4OS51T70JIMSJ7GYW5KMS7BBCSM2FZW3EDRPPVBA0FA6YKACOEYSZL3RX68VUBKL2I4XVZMEFQG87OHUEUD915N9JFMQQ5JDH167ASNFCGGRZPD8PZW13WMZ7GKVXJTBOWZI2I33HJX3MRUFLYJXNG5V2LREWKYSONOMCXK9FZ9JLOR7I1DAMMTUSP6QBIB3RCUAYT7WSEFQ7K0B3P4ZJL6HQGMRII36A26YEN39O1NTPRRKGPGJ90BEHOF3QGAHDADIBZ26XUWCGN0NSL5GDEXFAP12BRFDD6KIVUIVUXN8W16AMRXYUJ55W3CXNI4622YS70L3JZVAOOS28NDEC7SGCK9A9V5CJI7VSHD6JV7LMYZJ49PDBL45OUELL3XGJ1MBIA9C12DD6IWTYU8UVX66UWT0B65LEJIUSNQHWV49ANO6BTQ1260BBPADOX2S445A01R. +-36#1FJ4P5BK47LH6466V7FR68Y42U36L9FAOI139EDA49CAZGGNMR = -36#6JOYP1FXYCIIPRYFKJTYLIC7A7J21VWYOJ3QX5P0FQ0N0PORTKHNRC8MW6GJGPHSOIGNOWPHM8CQBBFJC0QKEDLGQBTGSXBALHVT1PD5VWXZFFWCDIZ0BF15NFL7U17GRHQTYPM7FAAAUBILSQRTHNPWEIRIL1593U2P5JVN6CFK64OV95SNOHL7E5ZIJA1IQ0D80HE5G61PG9MGTW7KVAC4CWJ7HN6I09WT9B8UYW9 div 36#4KNMEIQMV3OB7CECO51C8SWTA2WIPZ4585ZWGDOCMF8NH8T9WTOJYBMUVP8DXFMP6HQIRRHLOZC5AI0FBZYMMFPC6Q8W7HTNPE7P497HCRPD81C5RMJEM8PT10W6T5V87W5G6D7ERU0ZDVLWQ5KSXKZ32EAXZKKQKBWT3Z273G96AXYOA0S0FTZW03. +-36#6VDI9EP9TWCA5YHPLCWKTQ0SAZJ6XUWWKIOLRTE9STZF7N652FIN2QFGPE0A2JC1XXJDVF8EPT1N97UOS7G6OA38NAZOJMDOJ8TGQVB45G2Q5KEIPFG9PM3AFF6F5T0G5XCB4SN80DAS9Q2WY0PGH8YUNFAPZ2LJJ8UUFZS74GOB4FEQZAAM8YPP10UOAZXNW70TP0507VZSA29AFDGV2BXTNX7AX06P9LG9FGF02PHZBMIQHN380D5XRC9WHLC24J8DM705OL48YQMS57L00W6B046CG2GADQ5ICP46L9YP1AL8ME927YJSUUKHRF79F1MPKIELQY6V8DXYPGBHPHIY763NII0E57D1NBMIOFNGOO6T5AADXVJ69LKO9OH9OH6CDMVKQ2MPCS5ZU0WXSTYHWXV7JZA5F4XXESTR75F8EES9EJYFTOLZOTD9NPZFV3X1M0VBUPAHZYO16PTJL5DICKTPJVWI3X4V5BTCLTPE61I5R32YZHWTDPHQHC8P9U7XA5ZBFC45A6J0QV2LDHYTPP2KAVFB4K87HRXB57ESJ7QD2OGO2CR6507HEIYWRVRRGFBIL2AZ7VCAMKE2O4MZUUQBTFKSQNKFFD8NSPTF6CR3N0QXK4KDW1HPYM2RWEMLPIMVQAD2ZPHZZ7RPNUJOFR3HEV2Q2SYOI8RXNL5XDX91OZ5V7TB3SW4SKPKPK1J61CUGCC8LQ2E0XX1C = -36#5V8VTHJOQQ04FA4B59PIK4A3W0GTU04S2TXQLTMH90TR3N29JRQ7PLOOL7B5P97JZL0KJ9WBZDWYW1M6FPAK64YNNFG9BH20559NCT8RDLI0O2DEP8PSRQ32NH4UCXG197PSLL08U1CX0SMP21L2OJSMZZI0Z08912Q39U34QETC4NN7XK2RUDR9JSO9VQBH39HYTY5CIAYPOLJS6HXGM52Y4H9O2E6AKAJ8271DK9047J52FGF7KDWSJKPILMU2R4XWT9YFZHWAU345C9E2P5HNB2SPR5RJLBOOY03L0KERON6TBIATLCOHDVBEU46SA9KSU4ZFVD6EJ9XKFOE3X857CKOJ71AU43143BWT7TZOD7RF3OO6KPUX81A6U2U51CGZZL8WXD4DFB7U3DY0ZRSL6HLYR9XZSGE6NY1KG3CATXYGQD30Y3O2IN0J1SIV763JT47RIZB22HSLQCKKABR1R5EKVKT7FH4NW7DBMX4YO5S * 36#165NBWWMAMYOJ8B742Q4FJABXXAYFAZY8Q5FCBWGALX5LFJ1I3GIVQ8HNNDMEWWH3TLDBAED6T7YYS4K6HLI4LMAX6YYYQ569GD2L3E6EICR4A99A06W7W1S2RTGN5IP064XGNCA9QGZN2E86PK66J1I0IAWRVISVN7ATOLJK5S5QAWK7LC3IE8S7H8YSYMMFE43FY3XR0H379CETALJIA4HKTXFAMIO3KA5VC. +36#3D7S0RMP31WDQICJAQMVLBIMYCICLLH9KVC5YUDZS0G3IDP3E52ZMFW5H4JUM4LPWKTPBQWIM1IL4TWGZZVDKK0C0LU27BPGDTPPLFQPQ2YNR3AAL9P1BSGHPLXH3K3QOCSYL568Q8GIGN2K7UAXXAYK143N9S0GCG01S77F58ET6AQ4W73ECPGOL7T76RNJHUIRXIL208L5B0OHPNCMWFA8Q8VITGKPWD72R7UZ1YVCIWE58I76AB9TGRPI4I0TIE2JN0LNB7T4HMCF1DYIMW6B8SRMKGPO0JZWBE2E7WZBGCSNJZ4OS9YR245ZOCX4JQGQ39VP4KUCRW = 36#2FDKO5M156XJV6F4SSNOYE1DCD1TFBHFHZULUNIIF20H1HFLCOO2RA1ZSV7HG8V5TRK9ZV3CDWPTW7JJ5O69MCK4OYU2TED698C5S6IZG8202DKHB18QDFZB7GJTHM50JZ43K3KSEBZZM8Q3RBHNP0QT5GQHFBUB1AIMDTY6F6LGWIQBAANQ7C0K6D3MO4GQJJLAIQ2SN2D1TPESAWGUB21KIZ1LJAEYC3FHL2ZCFQBM88X7ICEG5V8HFEYDM0J70G7YWQNZ1XPCE4PDQ42IX8WXXGCCS * 36#1DXWQBEFD9Y89KC6R7Z60OB3XO2LD1MIUJFOMOX0X4BB0P0795. +36#72JREWAWM27RS0YF2UDYQA08SGB17BQDFWQ6UYIKO6HGJTK36TSELHA0UQCTPMDPAZLG3D58X8DQSB87VD6FWPM30X5PQVLPHEI1D27D84OE329SP0I66E9V22XVVI6T79CUBNM0R5DQE52SC1NKSDCI9FU1KFVE259PW87FMHZDQ46DPQDUQN9WKZGI431RBFI2HSED4FW58N6V6CDY1SY0CZERDEZM2IEQOZDJCR10SZTVH19GOPBE8HUNZRC9GMO8VDAEGNMAXUDY2AOPX551JC6P6P5GHB4E2OKL287WNHAGTZMBDCJMOA5P6LM54QY6VDXDDKGMJSYL16KWIUAOQCVZUW3K8PZ2KWQPJELSGILNYOHCV8X2IA9FLWACKWE4VLWWXEXMIUSWO4CQQDLJPKNONDJ5JR8I17JMMGYI6VTVE1IF66HKY49FD2JA6WDFFUO75W6IOIMXN4U0XFURY4O5NQWE740DNZHBV6AC3LILK33BJP2YZHXW5Q8ONIRG6TMQZ7EUA5OL95GJM20EADD73Y8DV0UM5E3VYTE33ZMU2AX7E5QY6UZBEF8W9OTFMCI5W0P0ZTWQX62ZCX3YJ6OKIE2J8JA6YRD19CJ82N9Q4OV6ZUCSHYR9T6ZL61XIL2S0OK6TUA9FMR6KW95QOKT9UJVP3GQ71R66JWPJUTU6ASE82FFJNN78YQOJBEF4WW47QA1OYHQ07PEIZBLMCCHRXYIK7F7QY6P7J4E0W2JZ58CGF9NWG = -36#DCT0RYMFP7P18L2IMMJD1RJV3YJT9FV495GTAD0S8CTEJFDR7M6E3DFH6TY9CLPYM401D9CRDZMEU2VKDG9RK60P9CXCKO8YWDS85UYCEEXO74635EW3APS6OPIOEU7QWBUW7J0MN6KTFOV0MD2BI96ENJ0XOEVBHNGBTWJ8W0Z0AF5XGM634UZXVG1MDHXQEFOSA3LU63NIUKX9VQBHFECNIUHGDX9LE6MI24ZKGA7G3B5RV0VAWLUNWIAW6TY81AJPLMPSCOJSKFY8IYW71VB6X3KH04ZPUUAOPML794W3UY0K8Q7ORXPHQ87Q9IZ4YVQ9PH8D8TZ2RDRYMZ85ZLPAGMX7R9KNYN5JQUAIXBNVWE6WC3N7505HMT27PLRN3GNDCABMLH605WSTPILSS3OIQF3M69LLUT2CJUBG87SYQ16L5ISZ4Y4CHBGTNLYVWPAFS6I5SDGXX5FZIE43MHRLZPR0O1ASR4NG85B41EAV1ED7JZZTLXGPKQQAX0HB2EYKM2TX66N0SYMWRASXW3HEQDMJ7MFHZRHFKAXNEVQKS84W * (-36#J24O6AJ74DKVVWW2G96AHR899UTQT3AP6LLP21JO4OKXWY4N4HO9PLH7VBMVFJWXVFYXM6ZIDW74133IRH8UGPBJP9VEMFJHTC3P5Y9SGROH680YEFZKPLOX3P63M1W5T18AESPD4J7BV2TBHB9670TVXDE4MU1NOO2BN644DPP958CWODUW0Y84UPY7PTMNGUQDH77VW). +-36#IYA4HGB1YTZJNVW0NYIX1AT3LLPFZMD6BLOYPJDC3GTCF3X7XWUIEZT6DZZ5V6TB6VIYI8775ZRKD6BZZN4SNZIO2SK6L7VHEL33NFYL3ZNJ2KRV2O3NJ6WZFR2IABD4P67FVBTI3HXZ17IP3O8ZVRYLZVRVZ6L8BENRW9XSXKL81JTZ3GZHSYY3CQOBCGVOJOU3M1GR6Q5SV1L333S3XCJMARFAO6UWDA10ZAUH8ODV2Y8HQ8YD4GPFM0ORVJR7O2EJLXWTDRWG9OPELZZK8X3J5270Y1JDK7U9T3X00U7IR5EOYGYEW2D77Z8F5MCTTKE6S9NQQ72PWSZQJECKJ0HAQ11F6HVNEEB7KOULHJ07GDFIZKTTR8KFN1Q4X0GQ0FCAEJSRTOKTR804GO8K691VR18NQRLYNYXS3KKEHCIXD8G2DEARU69RXO16FB6CTTFA6R1J127QI4EPWT4HILZIV91COIE6NUDNJD9C457CREU7QHRBJKDGJJZZSSRYBIDF5L3OP5WCTH4I30WR4KT4ZVY9OM2M1R5EPVAUTHYOV3P2HQ6TS1RZ24EO5MGV53VZRYV1CFJYFVWEMZ1K0NYDLE2SR7GVFDZ68NWOKCI14E02SHSM10Z7MQO = 36#CDN2I2JSG57RQVJ1DALE2TMDSKTZERM0KSKNBCN52T73ZZ3A4GVNDUKVB9MOLE858HCFQ1WUFI7N82BO44X8UTHLJBACV5ZBG1DS02T3EK1LGB034T8F7YN1Q9GACQWKTEXFENUUP7VFAPRKTXOGGMJ9NTVYFEMGXZH39MIGC9IDAMGT0ECAKBCGP4E7FWR7UQUUULCZK4BXDHMPEP4RPBMOLCII9DMV854KWAQ9BCQZOIT69NTOCTTEKZYSZY6T54QGOD4ZX9MWQ67KBF5URB0R97BQZIUAYOM8ZJGB03MU1TLCCMXZHW5NFDU8GP0UGNUQ8YWYV6COZYMLIC8SP4CFEKWXA0BWDTZCK7IZN5Y1C60O7I4BC2R1NW2PTGWK9HZS5AWILTOP8G2NRGUC5DR31JN17EMORB8XKTAI55GUJLL2EZNVJX9BAZR65Y2CVF6VG8I8N3IU6FDJEJ9DP6IU8NYQRK7BKPNVUEK4OX2X2XURJVLUQTB6SIJ8BW0SAD5LO26R7FAN23TT89LLQFQX2HA89T7OM76LR7CHPTY9Y7CKN4XS31T92BH4KV721F7HK2S6CM * (-36#1J46VHDLYGOFO7US4MUT46BI3O2PHOQ670W1VUWOUE0TJTU8UO). +-36#KJLO254Z4J56Y7ENV6Z5KYP5DP78X999CNF0I048CS7XWILX2KEVJ7BLUNKZ1SOJLO7VK2T36PBOB1CRM8TXDC4EWUS8EDLU6Z0WGD65BW1HP5J0JX0F4ZV56KCMIARBSGH5H876URRWG18MQV = -36#1M5T17BDYXCGL41CTC847Y56COM4K658B51D56Z3VRBJPO8VK3S89OZ53TMPI9W9BG45OL4296VVW9MAVSANZGZENV6AUUC4G5 * 36#CPSG2WV7AWTN72FCD2K6DNHOM928GHA2VF7I2PLPJ4UC5AWMZ. +36#264COD3CGSWG8V01GPXZ08Q8O78GTAF3HE52Y2NA4SI9OSNYVX = -36#1RY60DXDV3TGW4V7UAOXKAIW4LHT6Q8S4GCQ9H99M23DL39B0HTHN1C7JICF23A4HKDYLLBAIJHQUQ5GFX08GMVISM9L1UNWSJUBAEKE4FT5ATGZ4MCWYN0LUEB5BG0625EGQ0FJPD11CMB6OU1ZXIXH4NEQI25X4JXKLAJNFBBZK90HI3HU8FRZS301TEOZL73S9IIOQTIEUSLEE98QEO3B8RMP5MIECJCZTYOONL9WJD666KRVTHW08YYH5JFTYILRKX4VRT1OQL6ZI41ETCN0ALCNGWT96MWIITBEV778ZS0DX03P80XI8C0DRN6ASDS478R5AU5JT53XJYG7G7D39OSNDI05DU5TLSV3M4G49C5LI0XMFKNAMCX8UZUBC7G3RU372PPXLYEFIUB0QKDHJOYLRZBREKKHNA7YG6QSWXJNHIU67ZAUF3W5PFK58XR9G5FIXYBIM4EMKXOJBHD4MYIVZZ02QG1UMRJCQYIDHRILXJ985WUKC9RKKSQ5SOFHVOHPXY97Y9RI18T63V83Q1MSSY82MR68F67PTD1LKHYE0ZJQZUNOKP4RNCPQ927QUY3QPSMVUE1MUJIBQVTSPF8OGGGWM33NURXWRCKCJF2244ASDRAAFYLTQRYSEUXGNF6823BI6BDDICENEHLHG1N18QNWU215P7T5XH8XCYIRKYPOQ0UAXAWQZU1WIHTMXM6LK2LS3V78JFYDMX61AE2NM99 div -36#TGW714FQ35HIBNHSHEFMR82YIW43C3I3TMA7LSXN1B3NR5LMZDUZLNA04R4UU7UYAG3NMDOWO52M9A1U9PUZVYT38QG6CUP28THVJODFCEK481A3REC8MGE74YIZXICDLUBISB1TTE6IWW2QO03SZS93DQAO5GCDZNHU9P44AV3VA2LA0XM911QN2FEUC75JWYJR90S2S7U0LL1K23KB5H99UCOOG72R39MA3FSYC8USJ23BXTM8Z6URBR5HWQUAFH2LUG6D01S7BWJADBHXFQXKDFBL542DXFQBNQ0U6JDC1V7DUJB6MHVFR0M32G98DY6025E5XJA1T8P8HZF1F2TRQCBUWSB556PW48RD2X251MGLF5BNUH60K76K0DT3WC9UWKIVBYAGVZC69ORVHSSF3F9M3USOEV2CQ1VB1M9COQ1GBHFE6UEP6VOEHTEPDKBFY1MY6DUZ2HLICDNN2QLCN4MRZ9DAWTEG3PDWY4A5DRCF6IBEIKIGRBTFZRX5EFK5EW78MCKS1M1I8Z4DE1T35H1VCTQBFUJMGA5NAN4US4ZU2MMZIB29Q4YXEENTHSBJ5WNKK2FN9FGCKRB7CF7H1ZVJ6CQ70EX5EPFEZXVTU8A1PKLVWI1NSN24LHMK8BCZJ5WC602ZPRVKQO7Q81XEXD7P5Q0VYSWQQQ28WJCCX. +36#41W890NABRK7S07THVNPWW26SRK9PQOPGTVFZCSEXYO08J4FSI50499BUB5L6FYRHIHTP4EJJ1A6CO29FADRQYO59DT4JZ747Z0AQ5NN1J5REF5J95DF8GDV7VPQJEHPJVE8249ROVHRNYB476HA0PVQD593R1OAJTUWHSEBGRL6AOW4FC5Z6TARPM3O54ETBVC9THV8ZAJKHAIA2MVD1FFED83Z3KYKAPBSQ0CA9J62B3NPQ0CZPN2EX8H0JXGLHJR0T476Z7QB9BDIT755TR4ADYLNZO4OF2VJW3B0PGB81XPXECXXDQ5OI414UP4CMUQ5D72ZQSGJLKJFZA30OFHYENSGOABBHGMP0BQT5UURQTBIQCMUK592FSL45J2J9SAGW9FNTQDIHRYPK2823DZS579LIUV99IF6QGCBPW1TOFLOALY8GBG2HBWSU520STP476B692CT9J3DWB69ZAUB6LS = 36#1ASBZUH6A63WJR8QL92UYQ9UGDX7MQDWKRZVRWQWR4ZDRBEQD5NHH94WSG06I6IWTYHARWE1I81KB5RPABVFG4406YJMTQTCV1PP9NPDXBTRHND76AQ0NSPCKK9OXQ6WAJSR357YMRVNFJKPOCMAJ7EPM61HR0084JKTOA18EONFTD0BZOA3DHWORYK3T7D6SXJ66DKCD5MPM7E10VF2NN6NLMCTSD1LD236NXHTBKS01YGF3WALTBSBHXP4TIOEHUSDBBYYLBSJ1V9R1CAFO0OCTXP7DET0BJSEQV9PCNTADDA9C6VHCRTHWPUL2OTXZ1A4YTA5MVFMCHZV7KJJ2WUZUM5A8738WHRZ16EFJLI0TD79IDVUD74JU42JG5R93ICOS51KAKQRY6I1F12AGGXZVXRQJC2KWCM9NBUGYTJ0OM91OCNORNY2MSNDE5ZAZJWVS5E9PJFBGGTNVRKSIROONKYHL6TF2MUZRI2MFN7OQZQGCLHT15WB4LESKTF72G25TRSB81299TOTDBZ5EBMLR2KHYC2H92DQGGL8YNHCV2E8H0QG3QOC4BKDW1QD49UJK1CAH29D9JF0F63B0RDJPS3O0EP9NAR3W8ZNWLUHJTODYMMHTOV1EEKZ4MRK7QTIZ7OXRYNNPUE377PXVW2E3KBB1VAXC8SQTJR6VR7YARLKY05T6ZSB6BXKKPLYY8CEQ30QUH34A3JQJTWHI35EZ4DHHJ3PH4R8XBDG0W9XFE70GGW3JVTDRSJPD51F1P94QI0XDRSIOQ7UWFYQ325498EUMQK3YHJCHKU8DNJGLF8PXNIF52UA5Q7W02ORZA9ZE3KOQK7OMCKCQXN5YNO7TFTALISYXPJHE4GZRN18J6ZYNYAO2KN9VBR4JRAQU909J5IVPXB7MKBP9QTFUFNOT26DUV7UGS1BTUGVUB8315YGCV1WCY4PL60MOY7MGZ2OFOPYA53AHT9KU4I41THN6YM2LR02R5XBFUMC3QIW1IA1T515U4S1X4YVIG4P6NQ4QOCKHNPD4LPI22LY8H9OHY568L45WXMO div 36#BJM2Q2TWJW2EAICND1W1C7W0ODZS3TS9820XL63V0IIR1YXL3BEBQGRPEAP4GIC5VJ3AN98GFL5AVAQWK379RQHBGMLPCWMNS6ZQ0LRXHFNQ7IO17EKW0WI2WF25YN2KER6A248LJ4JFE9C3JP44QONK9KPXI8H0HOKSS7VPQR2LZ04CIDROLHWSNTQJKKCI8RQUPURAXOBFHGF9WYQSWRWLEASLTW1REPT796I9MCGRZNPP8DDVP7PSTWW1XHS9M3KTJV40HSV8N1DMGREQ4RMV09U7MK0Z2KOLA4V0GTPGW0MXAYLSA8JSWGI8LVK076CVMM9VCID9P4MNI1GZ5S9C71N5HB1US4ZI11W14W0WJ5BW04ILTSK1P00UGJUVVBLUALRTLNBUP951R3JPEII6HL8Q1YENXQBCZMJR5YHK26LJ8I5HWV6D4VFPRDU570DLXINKJ6JKAI1UGHAV7OO2X82UJW4F5MPBVUHRA1BT01KXAZJ0LR8WN753ZPSE6J7LNPYTB9U6WTRR4GXHPTEKW3RIHY87UAZ6Q55OOJ2KV26CB8MXCZS1FDOHRPGUVBPVTMXDO. +-36#CQGOC3FDIUW0B8AXU0MLHWJON27B9K5F79Q805JZT40Z6FTZ5 = 36#M8EQE64CB712PQ3ULS9LI6OIP6LW3KEH5QGLR2GZ4ZHLOL7ADU3Y7TC69GXAVHLL25CHT2COYJTA106WTNBB9NVLK12JWA3ASO9N2MTTYXGYMOE32NC68KDDFN58GCOGBXF04MEPPJKFVQ1D9VR4NTV273SLKLWVMCE7YANK18JBTSH2JOKUXXT169D37OEYPIP1U5L831EBZH12XUXRGOAGWA3VWJ6AOXRLYJGXRP123K4U7RO div -36#1QUMI4MKZ8UGWPE2FISH54DMGGNQAB0WMVXH5FM88E2QVQC5TUWN19SV0WODBSRV7G7GVRKSJYMIAYR0O6FU7OPXSL6268O3F0U8G5T7Y3MJ2TT0NAOC79G0U2SAUO6PI75A50KUEGGND3H204GEEBBUU15X2QT8U1TI94R77WON8PSAKFVDQG67K295U1ISRMC. +-36#18INXZFUGT6WZKUS5Q5NACR8KLGQ6TXJXBJM8KDGVLOZ13D1W26JEZDZO0OYRT6F521Z8OHB8F1CK6YULFEZBSJGKHGV2WBBRP3V2UY9AETAO0V93VNIQ350LJ2WFPWH9QA9Q6FLKCDK8FOVZJESGL26AMHEGEFNWY4YBX5NAQSLUH7GZNUCW8KC9ROIMMT7P7LBNN0N8G38T6C52TB811CJUGTZJULLQ1J6P2P36FOPNV50DNEV04JACUY1GMN4GSHIJ7RGQD5IVGBWHQLHJWP91E5X6SGTEPCBOWZ49RDA21GMT3E3XTO83EJLHT5O4YPFYF7FH0PAQ2NTOE8W8IRIOCG90OAB94V1MIUBJOB33KY0SMHFQM47W2ZF3XEYEK2V8SFDMTFTWEDMVCHVL1LYPO26QAE3R6H3L8M6EBGQEYBWEE1Z5TI0 = 36#2AF44MG4U24DV2UF7EQKAW2769DXTH2S6GOZUQIKBLED9FLW4CTHG30TBNJRGZZ3RTZVW7790F5XC2KARJ3JXNPD6O01IDYQSLY2JTN3UOOB72BWIF6VA5KH1REX55EU4NO6ZMZR1UTKMFWLAXFWJ41H9ACYSJT9L8AG8DGMCPOD46JGA7AYBSIUCKIGHFR2Y55VK7Z9O2H6UJJ67PUO26R507TYMCZGKHULE7JTVSORDD4D1VLWFV4CL7723GUCPZ0MDDN6EENP94NPK5IG5YJJTG440L43FZ21JG0AJ3121U4ASYQHLO7JQXGYMGW9RZW7C5NMON3SP8GUQIVQCOWAAAHMAH9ZJIVTQYYF2XJNN6BV27GRIDLFP4NY52GFD1Q8WT4R9UR6OTKVYBIPEO4BOM860X1ZTY7AEVXHX5EX510CUTKAE2Z0F07YIWH80RUQESKKS7SFCBLUJCG3DIWT8DC36NU37N3SMR2I0 div -36#1UND6P2LM3IJ9AFMGD090732RBERHXAAO7MJF1S3TEGRY556ZJ. +-36#7UXSIU9VH8OGYISY1R30POKHDZ2UT0W7KTA5GDO2EGOMDZMT9L5XG9M9DWB8N9QZT87VUSSWYWL55BWMIX9JRFN131OLQ1N9NMHPEQBTLRR83MSNA7RPPTBS05DKASQ8Z075Q8HCCT0WV78O1RFHWM42GOXN8JE8A2BOARE9MYEJIF7I2606SO97YQKTA70H6HJIETLMX0LL79YF2EYBC9BW7FFZ7JB28URX51833JHCMVDSRDZRF8A0HQSOYZ1D6O = -36#10B2JI6921LK3VDQXJBUJ7J8GQRQF5YZ1JWIPWC0DDWPYN8QXZ * 36#7SJIR11OFODW7XUONA2CYR9TKW3DOF2TCXKHQPT88KWXXJ0LZN4KD7ZQVIKD82I1OB3RDAAABBPH118EJTU8F7I9U7DBPAQ8NSRNRPTIX5P0RX58PF99S03D20RZHSV70PN8KFG4SFRIUHD362LOBHZ2XPDRNDWS2P44QHOPOQK9N7BAJ4O3OXVY8WY67DSDB1LE067JCV622YC5C. +-36#26SQQETVFZ0BI4RZ8K8Q7D00Y1U5MURJHHFMFKT2MXAXTWD9J6 = -36#477KTKATTO32TOQKBJ1C1QQSEVAMOF04XHQBQGBOPN9UN8702G61DNSJEKRQTQD0E2NZBF8QX61TSJ4E2QNM7AB4GQEAIP64R66 div 36#1X2YPQ4SCIKCQVN2IJGMQ5Z46KOOWNVCELWS10C1R6AUE5BHMV. +-36#3479PFYRHK85OGHNAPDFJQ17K6DGEFPNAPDWMIK4IPA49BKULG = -36#3Z8Q266UWTASKX1TCVCI8274BL4XAQ9TJIZH2PP2LUHVRI9IN1FSD3LFKS0NY9LOE5UMIU7A6OGSW5MO46IOVHTZFPSPVBFTKN4 div 36#19YJ9QPQL8LC6BEDX68BI2GQLJLLQJT5648326QKEG8LCARAGG. +-36#2FH2NQTY7RH2BLAMYZ1MSYQ0U4QXL6JQQ3F1T6LJUH6QA410BXWUS9CH24BN5NMT0F6Y98P0677U57II4YFX992Q2W3I5Z47SF = 36#2P6TY2ASYJLSX14ZR1KFH8LUUEN96732E764MMJARIY70SPHPRBLF2H5I8BJE7WQRBP5Q150HFMB13O6K9QM1316EYK97WD5RQ23WPRMUN0XX7U92D89U1GU9ETYS8PZK0KYLMQLWNULLF2XJ1U div -36#13ZXXSF516J3XWWQ2YHG6HF65CVHDENCW5MBOJU6HN5ELN5I0E. +-36#232AJKLB1GA8T7CO7HBKPBZ56IX96D0Z2CG2WLXRXCRJUX3ZHW = -36#18LNDZ61QFRB9V15OHE4KCS4MUZTULKH324M31W4549A24CPV7OBBZPDIB24JKEJA6WK4O47KEGSWPWXIMQXXIVQX2I7O6E7DUR5VFVIUFAD5HFZ2ZOHOO5UFPLGIK8T34HUYCLLO9AKG div 36#LE231BSESM2FOCBQPCA5PBRBTGG3Y5NE6LZ9WAFFC1MN48NJZ1GTT9I31CCUFHK3ECDH8RHP2X1HRI23JTXQZWN12CW. +-36#82OY0SZYAPFCKUPHJVY8B2WUV0M386IIP7B3SC82CET0SGFGLBM25KSDCEB606QT2UDC0YULCFHCLV45AHWEW7RP4D0JU4S87BZ7UG5D1LPRKF3Z99GID289H9HXACCDZD6MXD23A5212NULQEOSHT74CI803KZG02T3WIH8TFN8CNQUTH54WRB7F33WG44BNIT0XM67VCV66JFAKZW5QPOKXXNKXL5MD6FJ6CIG88QUQDD73FNEN1H9SEK8P2MHDUGR0NGAX6CFIKGUCVQ31XOLPHAUK5TMBKEHY3S5V2IO29SEPTHQ2AKK2TQ3MR62ST72JDKW97FSIGSQ7R7AEFK2OFDTU06TLQGDV3UJFOV5JTGNJ2I9EJ6JU8G9B38X42L6GK273S7KWZMOX8570JPMMBI2O5RYPDM6B01GJWJEGQTXHBIEB4IPETLJ679EVO31VP86RNEKY = -36#2C12ZEEDTQYDNULCSER5FXO6NRXCJCGTL57Z74FG69VCF0J3IY * 36#3GJDCT92BEMNDD2HW0K2ICODYWA3I5RK7IK4J8ZC7JGZLGE3CXW0PGCU4P1YJSI6MIYAIMQQ17GBXJD2JAXXNTSDLYHJI45IGABX3NWCCCIJ7V0V78O7MP0N0UMA1ANBYIMBXJVJOC21RE79A33CEWDI9HMRU8DVBDT6KI1PT9S958C2WNA9Z4VO1FLPWRQVVEUNPYFHKKE0DPI12MI8OQSUI80Z0IE3S11P2V8WMFFGBD03U3EE839GKWXWQIBKVWRIV8RV32E9PCHERGW396IH7AWDP4XA1TEZI07YHQ1R518A7G1QWSHAN23T5WZTNYHKAPELI6QY33ZVM6FA3FVLAK1JCOFZD78FC4M43GXL1L9STIV4IJJ5533Y5X466JI745RB2MY2B33A7X5LTLTUFKZ1. +-36#35LO3LX1XT99ICEWKTNZ2QEE99RNIPSC718K0J7S95IWIA1QQI = -36#7TDU0HGAJU793X429BL1X83GEQQGILQUI9LMF964Q1DHO79CKH0OMFNFUOBMLL52LYDRB70V4RLG9VJN80USDTZ4OSQ00GIWX3JYOGG61ISQ06Q49ACCEYU2EJXDNKUFSEIDG6DOI8S9NXIGS12WFN9PZY6BJLZZ0DN4N13WDMGE27VAET3DF2UZBLL0DNNIR1OBUDW3HR58K0UFQ665ZJVZYQVPT7XEGFZJUUHY0FTCLSFLOA2I0WZ44G7FFQG1430UZJ1M39GSLCEOOH83P4BD3LIBV46VQVJ0ZKCR8D120ZPUFFFK3WW3UJJMCVH70BODCGZHFCW9TJ0P6DQD6UUO643G4UQC2H9ZYQ5TCKE4HT96DKWW4M6PRONLF6OPTRA3Y1CWEGFGS7LBZG68MEU74NX9XFP3O3KBJ7KTFND7URZ4RTFVL45Q7Y2G31LSRK50Y6KCBBJAPYT9ANI7I5ZWFAYVP1HE3HW0XQNK2VE952O9XS27IHCHBBY5P7Q5I6T8U9CY0 div 36#2H63QUQO3YDB5OAID7Y1B4GYFRECH04AC5URSJVR2EY1PIE35CO41RNXXPYI3F0O3Z4WV7NVLFB85Q5TH9RRH7AU8I4GJCVH4UXU7K1KKRUDJ1BED2LYEP690OEKPJPLKG47OGQ1ZKX6FXIA482C21CS89FSM22IR02TT0YQF0JSMJS6CDQV8K1CDG8ZT1F3CPJ5WG8QWILE42OUNEIF1GXFBRK1IGVMIM6CST0IUJO7OZNXBW522P7PZDIN4T1C81HYOI2ESP1D33YVXBIWQNYK9H0HELQDNLJ1UFCNQLA07D027N2VNAWF7RGBB83L0AXD8PGNBHKB4SQGRRYXX8KO3I6FM6ZNCSVSL4M53RWZ0FYJ1EMMH056AZSBYR06O81CK22193HZMW9Y9Y0M37PUGULV96VM3JXZ2UUT00HLGOFSWVTHCFECDICN3TQMHKMK3Y8CCS1EQFHF8DIT7984. +36#28B34HO2P24L1EBBLSSFCNVU9JSUKZT7MYX9O5RYXK4RAZL8OROIAXUIC6KAHQQY9XIHTXE9MBM3F629LGHOMBHIGHBTTGN27ASF64WZ5R336M27S97412K60CPZJOO3CDSXQI80C13SMEOT6GFWYEMKOFAL8F6BR0AU44PFQBSY19CAGAL6K2IZ72ZF768J7AGJU67G5MK8AAED3N9J1UWCLNEPLKEOITVXYWHG9EZ1VH0IJRTI76RYILBQ52NAQT3YL47L1DET3KK2ANTRJM7IL3HN7B854X4EWWKHY69G5L3KCW72EXDPGRYKNTVCK0TJG53J0PONQOYLFRCE230P83ZHYO6UFK2TEYF1CW2TRV1K45YUJ8WRJWT6FZNMNR47B5KMW2560ZA5ISDZDFUXCDML6428Q14RB86JKC1QPYKL1TFOE86Z = -36#4WEJRIXVTPQSLF85OI4VUIDYE25Z7JZV14LPG4U3RJNSKHF7O5PYSHIRAALOI8P6W29E3S5CNJ0L2PC30874JU98MQJMYDITB0P3CTN4R71XZQCKP8O5HYWQP2AC0DB7TV3JR4WT5N5O0SCLEDP6HWT4B2FSBSBP3V7G9MV2O4ER0PIJE34VF0ANSXTDCHZXVNTY4XVE4ELHBC2D01GI73PXK147M579HISMYH7JXWM7ZZYXE8Y4V76PQ0QIGPY3093E3HPW5K3ZMXXVAL6E16LBFJMJAV2ZEHHQFXAEKN5JMIFHQD0S7AQOF154UWVFZ7NVX7N02OFKAW367W279Z7ZG07KA1FVXVI3TQ7O6ZTLWCEEK5XWZD31967R7C1Y0XGY7845D5PFCP7U3R5EGM6NJZPZMLTY13MR56GUPXDB77WGBWY78AGUJXQC12660HYKW6FYD2579U06X5WI1IZQT89MF9P71PYXTG932IE1O1RUG7WO4UKF5WYF4JKE81LPK1H1WE7SN1L1D4BJOMKIF8MW6FYXY5F40PBP8DYR3802NUPNIFEX3QL5QTBNBG7ANBQXR8UH8YM40CZ1P1LNH14V6453V05D609WK7YKXUPZCTSU8OTDVNGVVB6BH3T9E06HTM0339B8C682F7SXO95L8528585AZPS0JMET09M77HKRE70I6VL5853PD3NP3ZVE0QZRABH3EFL82WL4I4020200E1DDC1HTM4GS1NQXLEGBF3SLTGC70W0BNDBCRKCILZPIAQT6XPOC2JOX7F4JU4WIQT8JZTLUSLWCS4VF5QCCT88QRUOJAIY8NFPE4CCW87335IY1S338A4H31YBSL3OUQ0MZDPK1XXLQBD2O828O0ENCVZIT77KGK60MN2O9C8X8U7NOSGXX9NP6L2F7M7S03NIL8T9NLCH9Y2IL18C0BUA1HHU47T7PJL9I04IOPWEWE4DAID6P43VQJ1LIOWJKBOCDMR2F8X853Y78UANLDAGO6CAWKU7NUEO3HYE1TCLOEA0J1278WXM9EIO3EZQ59AH5MN42RWCLR97AI05ZDO6WSJGSWLSM61S4Z56SWQACTSAXCC04N2MD61DLLSW6HIQX3FEY736HUEAH63BL80B5WF5YMSF0JC0763GQVJY8996H0SCO65USF62DFOBD8KPRI80SS80SGPX6VNB7S6NUTR4FULZKMSQMYCH42YTMDFPQUOO5BO2YYWDJXRFB42Q55GL6390Q9P73JHYNWCY224L1PKA6NAZHBA5B4PXMR8UZI743E4I90G5MV5OFFRRFE40Y7QPY1ONH80RJ1IRONXR01S3O9ZVN6DIA1E41X851A1Q6Z6RY306ZD2UTNKSD4MUWDQNJVUFDXGR2E075S7 div -36#272SDE43H8J22BUGTE1UKPIDCJ1WOUD9A2TPWQGIV0D3ENO81UNKJJJU0CGYDX33K4F33Q05UII6KIKJH82KHH4E5VNYXLCG777PGF75QSQ6GD2GZ47BI1DCKZJUHVNNO96F4JPWJVIX9B4X1CD0UJUW4UGVG0B2AN0JIRCDDZHLVL06D4117JCZ40WBHBTE1N5PM98W3WT4C8QMTNTOE8Z4KRXAOFRYBHYHQO523E13O3QKCA1EZD3BR71OP28BJXIO3I1DPZAQRF6GFTPKINJQB5U3FJ25477YJMETGPBQHULWCEM3R72HS65Y9R64PI6LIP2YVLGQG2S36MZDDCF7LDYEPL3N58NOO4GTAYWTSYRRS08LUH0W9NFZSA5OKJ9AUW2RRQ64J9SU3LST4G4A5KH060WMVGR2M7YZWH9S1EB1W97AUUJU80RZ94Y2XUUO4Y5QCL9MCIMN3G8HZ8TG7E3HTJTW29YKE118X3FSSCQTRNMP0LJURUCVQTNK9VYNZ1F402UMXHJ6ZPLDYH5PF1TGFDI39MUFBV83SQ37DFMQ5CHTDA3O1136OQL5QMSAHDXIDTVR69KWSHG7ZTNQD1Y9G38BG9KO5YBZJSNFMUDHM14SX4ZDORPD91ZEAUZMZWCHEKNI3EUN9WROI2TFBJ7E3WW3EB1ETUUAXX9934U7H0Z9EQQF2E1HIL5KSCWQBBR9U56AQCCNOL1IUC3SNDWGNREDU8FR4HKTU9TMT23RM2JZBD14HFN6EM4L190TNDR6CAZP2WJB30DZORUVYIYEWRN4EI9N2DBQTPSLGKHBUWTPH0V3IM1L8FYJCNWRZOXV5WH2OFFIIVNF9RI53K8F064Y8RRL9BX51T10LOYHT0HH7VAH5RIBHA8F30VT7ZU6DOP0ZU04A8AQ7GTAOJLKS02JI4GPE5TFSG2JXZLCY3AQWTUD8COWXHDU9UT. +-36#758ZSSOLZN02HNPX2NIK5CM6R4AYM0QLMP7GO6K4SNRZO9YE0F7ZBWVJY0GX4YQI7TX5Z90FUMKF78VJ8BHTPQ15680DCB17OHD6F0LAEYYBYK1QW50FNVDVUUHLX8YQGJPKC6UO7DBFPLDZ5CRPTK2X43KLKX4EUX11IPXIEP6GVWL1VMUP2FKCHLL2DHE0F79WHLIC13RQRUOSPVKDHJOQXVQDHPXJJCZJOJ3C2R6V9LF0UXGAFLQHT1NIRV3RWLXWCIWFJV1BFW3F1SE4KG1V = -36#2NWLBTTO81EQN9BURBZEI3J3MYS5S7QL8YVAG0DOBF2DKI5YJGYYSEURQ0D36FRM1GEC1W5VAG2KIU99G98Q41NQE82C0XFO482O9O9LGFSYUC19O6HCKEAZME63JK8ZNFSKX2ZTYV4BFMCDNGWRR8W626A1IFAO9Y2CRH5Y3EP75FLEPHHYOY97HO3WWMYRHILXHHJ0X52HBE28DJMI0V86IRVDHB2NR7GY3DS1NC8YAC38Y3PFY9C4K0H759CX20TZWRB9I5DUO8VSYAYQUDLUNI04K4IN1477YJOPMRP2R4IAF490H808JEJ10LNXWBU6UNTCXAZ70L9Z0V3HSB5HDFRZFGKVQRO8JNAIIL0K1VJFJSZCKKX2UC4GN61648X1X4TK02UMQY0WANNR6R7UAXJKSC3PXGFWTB7R7NF1H9R78Z4D5TGF9XO2JL8RR0QACHEO0MZZXHYRHFGJD1X3EPVF076ILSDAI3GQMFTCDQARTG9VHXGT5V0CZZ477NZVBP321MA2TZRP4TAX4CK53MWPK4H9E91IWQOYAYHTIVX0Y35SBLWQ2MMSM0JKMVJ49O81GAU7NKUKP69HA92UBZ1IXCR2YL6I1H3PXD6SUFZ1FBBSNJ1943REWYAK9E8HQFDLCJJVHBMU47LRLY0A3FW6VLKG64LE4ANZQFSTAY4NSK7I2PVMRQ09PPSCIGMJYGGO00VGONSOGWP0LG9DKCYF52TR2GNHU4K91WZ1TKXERWOR9SE div 36#DF5TUEHFAPZZO1MGI11L0MSTGB4VV40OHSTEZAVXTVYMLHFCTUPNCOPMMURGMVPKM525NVBBDR8HN3JCDZ6NACYBQGW30R67EGY7UEBYSYYKD60N9DQ3B6P478XBAT9P4V06L7ET8K4N718BNIR1S4RL2WDQYGIA2CQGMK9A2SH4OOT6UVGDTAOZURSYX46FEB3HHPXDCOTRGWZQOACRCQ9X4MR78ANKG60KLSO0MX3VZ7MYHVOXWHCW9Z4CO4PDU917B3MFY6DS4NTUCW21X03P43TVA1BV8G9I7EDBTIAKX86ESF6357ZNTX1H1PE8YNUFBD5E6PNRX96MCG0SWBDJ5X71LSONJ5JL9RBL3LT6BPZFFDM42BE8VXOT5OZAK83EXAXVN4YXNGA4ZPTQCBOKXXURQ49Q9FNP5H07JGCAX0UEEBAOWOVTIL22X1GIA2MPBDFRX1D46J59RS20PQESU9CHB4Q. +36#2ROWF1VLSJ103LKQAB7EUK3CJHOBJ7977KQETBQGQ9IJTXSRS8CDJMPZYY1A41JH7JI0F4LF6GCWCCND3CBQBXOLIHADV9VL5KC1WHXN82PSP2KVOGGXMC56DIJUNKLOPVSZANXU40CMBGODPGTXAH4V1D89DY6M4XURKCZCPVDYNRLCIK3GQA3NC4QQ0RLNVILRSGFEEWYNTWS1MX8GUATGOP41RUZ94Z8RUR7FGUWB2LL5D610VV3SOZN5DYZIW579TEGIYWA60173W7P6YCOQOTVI93ZWZP0YGSV013IJ0J7SPEBWZ57DY0GBP9TBD6ZXV388JEYHBPSZCLFVKQXR7GC3YUYTPK03EHYVBSR8BFJVR0UKOWFJFTDA1CVGONIHTU5MD8FN19YXIDVWUBOBJXD8HKCURUDG7AUWE1B6Z4P71J4S115ATQ1701LIAGTUSRREG4NQ6W7XHWRB04GFGOVAWIKNG01Q5MWLM3I2FXJO4UMUJTV1V5TFKONTE5HFE0E619DO8TOKPRJ3LSGILKBO7X0YFG90RVE9X6NJ6IMBLG2RTW0DM5VORUH9F97P453WANSERE5MTHBZOMYC460OW9S1704NXVBZYNA49T2ASZDDX9CSXF13QINIUJKG1BAU8ANIZNHZWMLTCS75U7FMVXT7YLTVKUGEO79FLB1SZHCUCHTZWXR9MR6DJ2Z92GNWWJAAY2F4HEQNNWPU01BBPJR6SEXHS0AB1DU1GKRHYIHCUWOGLWW202JG3MYVORIHQY2ONFFOT59KY41XAHLO8UTRZQIBFYTO0H0ZTHXVJB3ESZW1NKAVGWIY294LDDQY0KF9D1876XWNVEXKDQJ43QW9ARX044BAFDUHHNT81OVUKL4 = -36#ZDSP1DLZB5RABL3ATE08DCUPF0QED0PSKC31SHMELAI801S8PTNGK3I25GPFZQEWBXQ3U6H2G6RSZU7PVZZ9YYMZK6DF4EKEF925XR5XSWHVZLPLDDUW01C0SO49ZO0VKTB7UY0IUBY5GKHUFDAJC16YYY8GF1L04IO8C796Z50LM9KBVXSVOBKNM0ZG3A1M8HGPT16YXY1CN5PQFUAO10QSCVOCGJ4SDEFCNW8589HQ8ZL9UZJRCR82MY1I2TG6WAPGR0W25KAWRB6TRI8G0ZLV95A6XMV6YA90H0KFSC0YF0TM7GRIW1PEGFW7ZT9E7LHL9D5H1BX3LW23O9P5V1NDYXQRK698ER54FAIBNSEJ6P4XJBZVR4M8320J9Y9SEJIQ7ALHJY97IGST2FXRWUYG085ZERMA6TD4NHLS32DC42N6ERLWF7OQA2EU3EM2UT61HOBO5T9LJKHFKL3HUS3GB818EJZAFX438WZ6XTZANYAJWZ0V3W4F67DNVWWN0LC427HZ18PWD9FC97JB0T2BJR509XP27N515EWSZYEF0ZRDJOZXPWE8H2XRHPIDNQP2DXO3VMFU263J4Q8EYUUSTR4L3BEWIK8F8OO60VZDQ5WT7SUS7G7DCXALKZ2OPUMVXR8VYVPO10DJH0THQXJ1OS2N4K1GAKTCQ7N9UCTETV1AW2TMMHKESOWFEAQCL4WC9KXQDEYI72ZKSLS30LM31O6V5LIXEJKHHDMYUV4HCRWW1OMRTO7CHH0OAPCY1VJIFTJAXMJHEPR1NB9EGLYXDMA15S408LU0BFH7KDVE5H1IUNY8O9K8FCRWTJE2HY8LDF1R9U1QI27GZ34NGEXWAVVM29SIT3X3PKNTK38EG4WBN6VEI4WK5QYGXGQS5ZOI9TI1SMQW1WMF8Z2O5HRHHGP2BKDTFKW4L6R58M58LC8XNG4V3ODUZ877DSMOKJ8N9RI885TIQC4WXGRRFW6TDYDJK1VICI7P67BWNK39LKLN553P5HYOUUC7TH49QT97LYJN5ZN9TDSJNZIFHVDNEFJMV7XX2HE6YTER9OS3GD9KD6F9LDJYSZ39QVD825U8S59DB90J84IBKVNBNGYW8VK3BU0NE9HR659GO div -36#CRZGSHFCTJJN3J9NLPBM2197EQJ8TR2SWIXKUOQU7QKPSK3RUWLSGGT0FH7M29J5L3GKITY33W49G7QZ14HEQ92NMRJAA3CSHUIU662K3HJI4OS60H90AOAHA98CKGT5MJ89JQKNVOKL8P9N0THRN12L17XEDXDO6QN27WXDDACYY8X2G5NT1FNVAHBZCHI3YEY743PM8N5CA9YFRMBUUIR30LGOMYQWRF1TBOBC5QO7MJGG3XF. +36#38TEBO656H2M1FXRXCVA2P3MJDRGXO6CF6R5L16D6L9I4CI6WC5NCF2OXO7KBWSAU4B5O7L7LT0CIGCWBPA127U0V9FOZC6Y5PS0RWUP82NJFA4Y81SW87U6ZNEUJK49BHW44U6TVTNMZ1Y9WCQ64Q0VY1GX7382WSGJ60GKH8858S6980EMIQ38CCRALOLGGNPPG1VJVAMMEXU5NETNK8Q18LWWF8MCWU14N7FLR92F4F6I8JLVV5CW4Q6L28KEH6TH6WQVON49A2VREBN4L1EXO2XM2262O1DH0HK4B9OZ6DBN5OVQFC61R0L2CPMK1O9QMMER03IXKCEYJDCM0B4BONZCZGZ6DK3DB4KT4T6EIVINJLI3ONFM1AUBILHYQZCLQTN9OS6DA0NC4SVCIVLK9YD5A7P0QWP2DS9R1KL3F4913D2P61Q1RK2890Y5NQDYLBZLYGXKFL769QYXD8E03FWWYXOBK4AE0ZN3ADGSGTE0F6DXWDC = 36#GFO2WP8O76USIKH1HLE7Q9WE20D921S8WD78PMC1HOJWXHBRFMKWUNMU7HSVNJJS7ZRHMQE4BQUHGZQKW9L7C1VAYEHXJ9X1ZU7BYSVT9SD2F50AS378ZPUVADCPWVCAGIKCJQMQFT1HBETZIXID6D31Q1OC31FHE0WZDCA7QNVNDQYRDW4NDSY904OR8TXNV2NOS4F7O6Z8A2NLC6XTD1DQCF34P3EO4N6S63NENZ716M7MFIWYHSK77AJKPHRKTEGEU9Z4AAW2E5I3S8OREWHBXGE8KCE09MWT8OUZBU7K5G0SY4BUMTRP5PNU656I7Y5WBGCJ14D7KALG3Q95ZYWHDXV79K7P5C7IKPIMA6 * 36#73VKA51KAB7O59Z938JYYK6E90AIZ1GD5MNXNBT98RHQCC8U71WB1JDA9IKOON3F5H1S41JDAZFLBUO3QCL08ENHLKH99L9Y44XUWPBNBMT7LJYGM4ZOI3X6YEEOPVQ4SVOI1QDNR8B8W. +-36#9MTY5OX9L7LEY24ZRJER6V053PSRNHU53JM02G9DGOC79KFGE1V3F28B0KMHI3L67XSYGLPRLSA847CTODAXH2RRSQN4IWO4DBTTH5P1B4 = -36#MBBVNY0CZ0DHKM58F9BMPESOT7XIMJ186UGP4433JDJQY23PNHINTCOW2 * 36#FJJE25372BL2B95R8DE35PTZOPB8EBPIZ6H297L8E5FSONLRK. +-36#TX7F0C6QCLCA7VO5XQLYJJSB2TKY1HFI4IATKFB9EUK0N8JU5KAE9N8XPO2OQLOEC5WFBC2QR4MH3WFDJ81 = -36#26F3AVFPAVFRA1SQHD85VQ9X9GGS3C3Q94TOQXZQ5MJU9P32DGRXRVWBGUOCQDTAJMKLU5GNHP5JLIIA9BMA4IX8A1INU3U381IXJM4RXWUTO7S3EDBY7CBA2U91FJKE1MWIT div 36#2MCHVX1112P79W2DKJQTIQK2LAIAOGA10IQE7IWVO4Q59BVZ2T. +36#LG4U83SWBF3151AXKLSOE1UKRA78U3G68VWTUBCB4H8T0AF7NS04FGLKA95ZTBTCPWXF9V68R2UG9P9DIHJLQ1DVU61VJ91J9I0P79S5UCVVCUKGLPEUBH97AYZWJGL3V0SBP8HT6ID6C7PAQ2AD25F8LMGC45P6LXJVGK5JCR4884VXCFWU0PMJ32VIWS52KZB7VKSGR44BBBG34VGAK9WFNMW3A378OZWC14AXIK7YE3QJYTRJLUD6XH9PN7VDSU7PSBB80QZI4Y950MWFPTP9CZYVLEUV0LC7BNRAMV04223ORPT1WYVPPCLBQVD27UZ9CRESQPLSJSHKWIJGDAQPWVVBW7WJ3WEK1WWNDJDQA4A9XVDCDF9NBYP46Y42G4PVJ5KCT3OSZ8K4OO9008SSESMP4SKRYGQW9QXN66036IYIHGQX2RMD1SO1ETCG4893GEP2BTE1J41P9Y428OW8Z7X7MAJRB6GWQYNUJGRLXK8Y6ODM1A1M4IDDGC42FPMSIH5E48YZ254CBB5TWOY5STUIY57UVB7CW61VSLD5JVGU794O6S2TKC0PBE4UOAX3Q36Z0WNQN48UR2G = -36#117O5JGWMKQG1MPZ0UKBR4WZ98H0SQ30L4UMV7EN7Y1QW504CLDXCUCV74ST951WIIS9VYAG87HPKRABKVXON9YHKDU4T0AS8PKBUWZ02521SV0USVV3MM4TFPSOVWZ7JKP8O1INO35C4VR24Q653DCN4IN36YMHW4OTOE1N05YIP568KWHRNL1QACH3XV2YN7ZQGT2HE31ZFF2QOH0HWFLAJ1XJFT69BGFKOKL1Y40N9JPUH8C1YMKJG71WYF2R6KG1VGJWEM26U40Z0THA8KMUPU05TM8Y2U9FXHWVG6PO108I75I8MNCJ5422IHO4V2R03U8Q9YH3FORREJKTUHY8R0VE6UGGWZNQPVPVHTE2GUKWR8DDN4EPWIM9K3FVBQH00Z6L49U7WWJB7H7R5IAFXGCFLFQUXJTX1TLQ6NXC5Z1LYZWE3QRW5Y0WU8XOTTHIOJCF0PK6KZYPNXTWI2H1MH68PN364MQUJIWYJEQMHYT7C11X7I1GTYI1T0T6SUNC52LX3TBTH9WSV5FOFCTMHRQ8K03HCDT * (-36#KQYPLFCM4HEZRG8NKCFJXYZUZKUKBHGZZ7DUCYO1EBAKD0008). +-36#26UENZ4333O8TIADD15HPNXAGJ4N0YTAGA2CO5JDP6GOFZU3Y = 36#8EFJXJFSNU3I3I8ZMR4DN9GI9BI71YNT0GD1CFAMVUUQBO3K27VVXK5S6STM3MHD8CQ6RMNCCJ7ZQR7TF41NX1SSUSM1B60RCQ968O0P4KZS2U0P7272HEGDLATZ64QBOGP8MEMAUEHUH8F4JT3AGPPBRXUXNB1HI1AJ4RTB5CM8Q4SB6X5UAO24HTADW9HANMUBW2348483L9QY525172AC1X3EF88HWYSC98DCKZVUTIGYMYI28FSQYR65DB4CAEX4VXHJ6T5JY7T7U91J65552N4MB25DDGO5L6DEAC7IUTGYBEQ0F36BJEAGWQ7WVHX3NV9QHVIE75OZ629E1TPICGFBAW8420CUE0GVF71ASNB5YNJZHWUK8X0G1O4Z5CSNOVAFZMFBUXFRWLP3XO5QYVTEVPCQ2HISSH5KXXFQSS3D4TXAMVTU60AP9HQPNJAX5PQYOKNN910YLGN0RX4AOX9INAWES6X4RRM1MUHKAWKSWN25SZPCTMN39O7TO1JQIM5OTLR079A736N2UBXBW1IEUVSIKZAKH5ICXBYPPFEGWSO57EW99JDS9IJ0JHL2SYEW1WWEAJV1C div -36#3U36XHL6UJ8S58OXW9D1Y554NQDVOM3RFIHQ44XD7GZ6QHT30AMJSZ3P38Y911VSEBLHWNZZL4SXB2YQH85UB6S3DZ6CWK0GOFKQD1KBB5S5HOZHS70PDLJGSAZ4M5XGCU9AF5FZR9HBWA53KEFL0IVUEYBZ0F765S0NKL0VZFZT6VXHZHKS9FRZ7W6LAOZMAL5O81W12AZ6I2OMT2Q200B12H0LXZSB2Y2JPB975RNSV6466C9KXLT2QTZIHSW0ANY9WL2ODKJRLTO84AUDJPIXZAR6I8A3YBBCIUY2KLT3B7PFFE7HWYH9IGOL3J9R74JH5DF8DFUACNT5NSZVPFQFFLYYP1Q102XHP3D4K4KD1YS0MG2TIA3P0UIJCUE8VNGCIASM8E4IF3YW5IP54AQTOAST4W7S89CN1AVY64ZETJ5WSN8YL7MBYF2VGE2RD3WDI06PR1UGNMDA6805D4QHZCIO3U8I6Q6OU1VU30VX6KU68GCW0GGB0RAAK403LMJZ5KH2KDCC3X3UVEPLUR6A9P9UG0D5C. +36#13R1SUDTPNPEKJHVYCGD5XN1I0Y1D8QTY1NE126PSWMF0ER2X4 = -36#5EINVX2KR0Y7LBBF7LLO8DGE4IVVRO89X6S7QM3LLNS04ZEM9OUDM0M6453NG1WRNY0V7EY17ZA5THWMWND6FKGI07BLB0PVCKB74TJXV8IUJ7G0Z7X6P412Y5H3A0H4XA8XW2NN042IJNKYWIYNIB87QFK69CGFH4FFH1XPDUGMS6Q282T87LL4ZSKQBKNGXLE4G49EF4S2J3D7R1XOPCZX2UBWWI7Y4W7SD9MD4PK3XQDH8REPKIJ3NOSAU2NX065VQOHSW73H3T1Q1486LSVRLDXETT47U7QW5JUZWALW4ZYGTI08YX03PHYK8MXU3T3G2MT4XKE5DF4SH54SO5NMDU0SAWQUK1AQ33WCT3O13U7755SWWEF3IYHALK1KZBWQZI3ZI9YXHJZI96UI3VBW3CBWT0UFCI2K2BS6TQNU5DMWFQQ9T8Y1Z8KJ65W43F622K44JA17A4DKO102P6NBVC5CQHL38WYD4JIVUEBPVMCIW6ABRU0SK0JZCC54 div -36#4W5T9U5X60K1RLL4J1EZB49IRMI1Y2OSDWZG0RJA22BOW673N3CNIDXL2IEDEUAP15ONKONYPF6GRVJWCOZX0539HBODWTFHPPTDUDD40HMMG1JY8T7HMXEAAOQU4A7PNK3FW1WKZDENC1K3YYVYEYZA1ION2YU2PG1UW7KQXPYEOHYLBZAUEETF4JDIP0FWJRHWFA8AFRH8XPLF6M9IDQ3QUX31Q04MPHER0THMX4YMTY1C6GWD8TCEJ249VYPEDEB2U1KYYA6WUBSDD4MVLEPXO6WIBI2BEDQUEFLBM6C4WWDGZT3KEOF1MI23K7GHMYPZY9DT2WZ55R9I5JW9DGERWOQGMQQ2F5ZNPE322J1JIKVIKN5C5WW7NG69WDF9MO0KKO2JTWSQ98821YDHTGMA27JZ49CBZ9O8Z13TC9QWLYIKILW6AXT59GFW81R55O5I0Y55DPQRRFJ. +-36#2PJRMTS5FDVYZCJAJFGAKOEAS47KRX7VTD8S1T8B82XML5KC = 36#C7LAZ38780GV9UU4QFIED6XFZ4S6S4S6NELDIPADLKGJ4EER15IRI12BCUL1ZPXNIHF0V04SJBM2HRJJRXN2YHEP5DHW0UQBJLQVY7BZ7Z6O77LFRWIF2TLNLUAUEH1ZT2OCRYNN23U2TNS50ZAVNWV77E969VEB9237NALLJ3U002UD88B8DCXO3DEDOBSROAKLTQTUAPJ20Z7K61HAE2UNJTN5BKGIJ3TC6P75SAOIPO8GLJ08IZOKI3KZSSGQX42IQU2IINKJHRE86V0VB7QJW58PLF5MLZPJMSMF5WTK1V942DC9AR1FTGITLKBBHTPAP5F1O div -36#4I88XW26RN0MAW22DHG9TZINE3MYEEBIEU8O75HFU4R62D7ILW0EZ0SZIZUMQA9036VN7BLNBIHP3WRS1TKOA6OOX4N2EHC3EJ4FSSQFQ0ZYOKP65SH3MLZHSNFNJBK0HXNKNOAX9WVF0FLJS5VEUB75IWGLGVITSU462J4WFPHVLX2EVTHWYC5ONUZ0MZKP18Z0E6HA4HNA459LEB57EAPNNJVLTB9KO6AHBQ6YG52OV8LFHL2SOPM3SXXO8QKHM9NP24EFHTEVS8YYGRAX788SHT. +-36#5B5D53Z859NY65G10EEE5K2P4U8YGPTX494R9PPKS7BJQ9ENDRAPKTF79MDL2YDH7TRDNMGLKDQN = -36#1ZUU7T73KLBHW34GY0API98PAGWHIBVHG83VLVFBAD356W8M3F26HW27AQ3YD13ZEEHSIHSKGRXRD5SYBSHM4KOAALI7PPRMG9ZC0669UKQDG77DDVP5T9T94TA469AXYJQKHRBSZ823QBCNKA06V1CA5RFFWFFI8P9RUDX58LJ3K4T1OF33AMGO2RA8TIBJOZON4Z2LMP37VEKRQKXECAK2B2VUJ64 div 36#DJ6WF33XRQKTGZITLWJ98J1A02XG8JQ93IUN1KVTLX9B1I3XFLJDR1HIUOB3BCSM0QOG89K4M773EVJLCO2GU55G33LIRQYW4SGIRJFPG80TRKW5LOARV4GA8XEA9DRJJE3BPK9KNZQ5KB3NIR8. +36#226LJ15STA6KUNUKHJ98ILWEDLIEMXDCLAX4X4C9Q9JN6WNZQ8 = 36#6DDJJYIK5HTHY07R0DL3GUX0VWIAU3L6I4TOPA6QNH1MGSAVSJUZCLRH6ZST4MAE6XKOMJK0S2WMWMW1Y7HDQXANXW7LLUY8GSG div 36#33B9AP6SL7BLQA9O9SE3MWK2JBXVOMU6RYYHEOSAG0DDRKFV1K. +36#1NULHQ4D3S5TJRWY27IDRL9KH8SPSZCJJU4IKG0BQ2F7O198JU261NE3Q87FD2UALOS5Z7AENAKAFSSB7J21E6LRJT2JV7AGGEEOMJBI8EDMUJ7FP1DYTFXCOV0B8Z3NOEN3K0FRRWGPBGFWOCPGZSJAVF9P18Y8KYKR1CRR3K8L2VH3QYDEYHBNQX7FXD3Y1H4ZPV3BV4SUSMIH9KYE5KVNBMM9KO8F5BS7D2BX7N3TE4G1C02H7L6WE9EV0GGG2H9Z8PSTSFWV6OIO5DZ0NACJ0LALLQCYQF2B197MXEG0Q5JLTMCJ5TBNSP62Y5V428TM = 36#3C816QPX3ZJ21BVFETCBFMILOUJ7BUER21Y8O32WS254U6VFBDRMP9OVPFRSVIINA8Y77E9SSG2KVKEU8RJ96X1P1CFEQLWWJAFJH11A6TM3AJSI3NNTVTI2LHIT0PTHX6F4DFEPQZ0SJ93SD60QAPKTYU85NBFYTCCK76QLNWLJTE0K50EXM373G265YB10V7JF51HGDFVQ5QO5LBZ85R1SJBDU525JH060FY2EX891PJI74BKQUY2LB8OC1LZHHPRPC4FEMWLJ78F4405H8PNLR8437JQ2N2NY43SGJDBATS5IE1SUH5GHGCG3G6EBC2OKG75B5CSBKCR22EK7YD14HATES6YH3NHCFR5X9HKRD7HM06R3M5HRCYPVFTJMF6LN1MRFGGXT65JOSJFFC7P16ZH1J28W45GQXVG5OKY1YYWD0A1BCQ0YJM6T9PX9WTLCUB2C45QKJNW3V1ZUX5612YX6GGDZC4T40SUURFNGU9ILG3VDGRTCCJQC2DV5J57OBASC4GMD86KCEEW4B7FLAUZAHJDPXIT5MGU8RQJU5RBI3LJ4V711EBRT7QHSHGIMSPBAKLXXUMIL0ZJEV1A2RZ0SC1XN4PORHWUHTQIP5OOKG0U4GEPGS3CIOOYCOLZKUG11U7W5SLJ41HTN52S0 div 36#20BBXWR0669X2JREBJ3B77O9FDDKOJJB3NZOZFQYZBGEJNJTGSOPO3QZ023UYX3RNJT1PVD1US549BBQ0M6SF89GFA45OI78W15PWOXTJFSISRXGSALJ4FG1R84X50U4XUW6J1QMKEIVII1WU8IMXO23SALNOWHXOSP77V1FYY2Q09HOK428XOBITWUBEG57Y8I5WO60F4UB59KZ5LSQ300W42HYCA21M1EFGXKV5MSW6XWZYWTWPEO6HLD449GSEZ339QOT60TEB8W139OPXDT356GGMVWCQHGIE2EKS7MXXY3BX4SU7MIEL42RYM3XJA5IFA3IRWH9NCSARGSY0. +36#1KK1678ELIDKGI9UG4DX88M2G8HKRW0NNKVAVK5N7LN8QLELS8HJ4D25KPS2PRPW6UI1KSYDHYWKWXK77V96EGMCKY4WIQ6BAVZ9ISI60DSXUZ1N1LP80VDV65LY5V0DD2S9HJ30D1IHVYMAP6E5D0G0ZPOPBLGNXDMDZ1R6153OD19UI2HZB0GX422RIRTA0DWQGO7K76NJ1XR32M1055QG7SE39QVT6GI3GWF8XM5RJBE755AV8JQ5MTMCSN63P6HQHE0PDYKJ6ZYFINS7SVTUT8ZL15RIEHO7RIPFKAEPG44EE0Y4C4AWRMPN5U53M710T8C3WTAJKRCX2C8X0JPP6HWV4N269VC2WR = 36#BQN4UXXD1XVCBER2MXG1FJZLNHQS4ME3OHOA06W2O07TZ770KK28NH6C7LNK0DZEU1WGATTZH777CN8RKJEVJH63Y176NK058WBT5WHSHZCSMYAX42CDNXNR1J4QN0R30IA1T7GXP2WB9FRFM4RE8H6UN15ICGWPS31S3L40IWRBCKZ6ZG993MBT8F5BBJ7KKFYPH0NL6CIUAL7R8PAS88TTZ0IYT4HJKH1OH875OZQ772XHYTUGRCOUSKQRRR86LCDGFWLFC894EOONAX0MHO86UY6BAZ4K5MWZ9XYZ8T5N2ZEF1I7FUI0QWAH4YVEWV3EFCFX1G8QUUORMHLQA3SNRAL779WMN9VTL31L0PONRSYMN2LEPHJ1GYC4RKMZDSBDTBJ9URFNBLOF2FQRP6SF9MWOSLA16SFDRANDMREY2TLJ66ONLXDPQZJAD0XYGREMB5QZ17F6NUFUM3F8TAUQQIL1XMLXZKS49NIKYYKUICEL074KE397QC8JN5CML7LIXTRVXX6DY8IRQRIYHMZDOOSLLCUTACM4M33IBBPQHK6S9EBYQ8A1USYTAV38E5ZYVJOZW0DLDAMT892YAXBM46CXO03V5N14ZOAKGI4LWR6OYPIRH8HE5NXQZK2MPDSWZL0EO97F6NZWRYA1HC0KWV2RT8WKZ4PU9HWRN4JCH22XJQSFEZ6RPFOJBUX6A6U2AVVE4N2A2MY0KWTLCDEXKVS9WHQX7AVCLJY8C4K3VMFPSJ1VF2WGUP469F4LNT7POXH4BJ9VJ77Q648RLRU2M1QYH4BDOX26I6C084S0CYROOIGTNGZ9LD8GGD2FP07KVYMVN1XG2M2R9Z0P3MVP220NY10V9G9IUI1DURI10FMHRA5HM1HCQCKD9UTC215BGHUZN47AA1VZ1713BD4H1VSVODCE1LY7FZ67TXYY14QX0JI97ZVDCQWD626VVCORQT20W36EM3K5WOPOO9B69C6Y7HUVIVGUAP4GTXKXPPZ6RIJRSDJHWQHJ2P1LD969Z0IOC0486RF5OQKXV0TXS7L8XPWODB5Y289DLVDZ4JOSM5T5D4PEMJ2O4PY05577UR7FW6HW9SJZNUBQLWZABL89X7RC0R4Z3ZA5TJRHLNKGOASIH31HURTWXRZWGEU5F2OTFM0NGUC9615SKC0COS69M2F9E00IR div 36#7H0X5VU7I08DF1OAF9WVEFVL7L6QIWVYS7B3MGEE0OZS47ARQ7HNUO2RXZD4GPVXM2LEOFQ0YMVHRFDPJQSDOB19BFRY3X8N597J0W2UC7QVBUWFDZW5STYJ2PW10J5JG2Y2ZZBOR5TFIH9WG1AORGC7H6RWMFNTODKOKHSY5BT94IPCK7TGCDEFIX799LTHFN51SSN3ADLIJ6EAMSL7NC4QLREHHTYWDQPY9CGLNPOH9PGSQU5U6VTCIHAHVE94G83GBU7Z87RYKJS54ABFXG7BWI5F57G8LRILKZE8T3O314CIXUNEVAF7SQKVACR0VDHTE1Y1PGID8MMKL9LWRI9W869C10M45MOL3AIZGPTLD36JHUABUR0TE6JGF2W2WM01Z12SQ5H9Z3S33RGJ0H04E3NGHYJM67F9B5OKWAUL0XLXSQTU25ZT5HK4HLK07P0UJH8WJV0ZM5S90DVP2ABWN130PM0F1VTVYRZ8FK3GJ69HMBJCXS692097S50ZEVJP8L2UJAI8REE6Q35ZZJCG2ADUQDAGUDSNTV9JNZRI7HED9PMTCMN3EAMT01MUIUDGG5KF6ODL2HOH8LEC02OJQ7F5O7GLFWR19XUWZFM06XKYFDKZ41N6UDBEOEUCA5LQZFWSOCGB2V12WR48D8JKV3XT09N6FZRAH1HUUJYW9MRF0LF4SPXMZFLGZ7DB61AL0L1T4NKR1TM2DL6X53G886UQ0PLJ4QVDSB53IBK4QPQXVU4QDFUSRS800MRZELVY6P3AKTGBC6LRZGCAMA025Z1BQ59R9U7P18V2MFKH32QJ9M9NV6HDLI4P7AX. +36#BJ5KV0OMISIPFAUQ2ILHB4BNI86ZA5SW72SYFSWSH2TKZDZZ7H6A2F1227TOWNXSJ9AEUM9TGMBV5CZXEABEK06GN0IM8HD2UQSWS6HOM3FFBSBSKQTBJHJ6015ZBDDEUVNGC87KQK39CSQUVAAGH8LW9 = 36#3TLD8JJKYSEWOCQML0AE0I6LTPWNRK7ZNOOP2CIM8ASWF1412OHN6T764YQN8I0AAVMFR8CN6QKXC1FDZAYHKPL7L3NDUB0OC33U1M7X * 36#30MD3TDHEFJQ47MLZ62I90XAX1J5P2QXEQNKB8SMSDFBA1IQ19. +36#2NMPP31BN1LTJBII9A9Z9YRNYN2PVBOGUQ4SVE04EH210CE902 = -36#PAPX3FF02DMTB1BENSXTYRATIQ2NN4W518OLNFA3KF2WFL6RLT1BCLY8P8MZVVK0BA9HTEULDQL0UIR0PSPERA3H8AJIQ5P0LH25J4QYON844C7R8GYCB8EBFOUZ23JXKFYERBLEM4D2V2MIEEQ4MVRKZ38L538GIK2NAKERXP49R92HEDZ2PP10TG44WRX5K75RPF0MB3ZXWTSLXWGEV6HVUF3W9650L4325S1OJ7QD7T11GWA0EUGTDFE78K1F92C1P2FXO87SS6D6YT5Y4872E div -36#9IU61H80DIFUAC53MF7N50GML5FN5C9I60FXU798R5QQPDKKTK4HH123A8D12790MY849241HLUSBDTVOQM71HITVYTNUJHM63UR0USNS9C3E27JWJDLM4ZLOGEZ0BYYT5AJ6JHK5F4SC1XOTMUQCRF28FJF6J1UI4P9AK4UL53LKU0FA588CP11O052J2AFBEQW1NOCUX6KGI07D0Q7CM7NLAE3GVA7HUHWLQ17. +36#ZAXP4J0XD5TRYMPG65S9WKNZK0IFPIDRVGBWEZUN2KMLAC214 = -36#36ECXJA8KNCAPCVD97WU7ZURNLW6UHZ7CA7KJYZ78HAEZBWS6HWAML9PPMBY7PFO5VLHEELFR1AM5MPGLEAE2X0LPOHDVMNZ74 div -36#38NKRI2DVT5BGOJ6SJXG72IIH94CA73VFV9TEZ4G87BNHNQHA. +-36#21BAORDP1KE6691QPPQJ2EIHNXS47ZV9D1LR0041G0W29M9XRP = -36#4RZF19D45DRSA6XP0C3X5R6EBY810R3Z3W8968ET19RPA48V9XMVVD8NA3SSODZBV8Q87ZIFZZHAAVKOAJ9CV02S20IVEKOIJFK div 36#2CG8DUXZIS756GX0CKOZV2JQRGTS4CHPO2ZD7H05KH9YFFPGM8. +-36#26F3AVFPAVFRA1SQHD85VQ9X9GGS3C3Q94TOQXZQ5MJU9P32DGRXRVWBGUOCQDTAJMKLU5GNHP5JLIIA9BMA4IX8A1INU3U381IXJM4RXWUTO7S3EDBY7CBA2U91FJKE1MWIT = 36#2MCHVX1112P79W2DKJQTIQK2LAIAOGA10IQE7IWVO4Q59BVZ2T * (-36#TX7F0C6QCLCA7VO5XQLYJJSB2TKY1HFI4IATKFB9EUK0N8JU5KAE9N8XPO2OQLOEC5WFBC2QR4MH3WFDJ81). +36#89IXYT6L613VJVXI7TFD88EZO3NSFYA7ISKE4TN143LYH2DERTYYNHBPZBM0P4AW9YSU946X3T74ODKPAOHP5L7PIZQCPZ7BJKMVGFHQ9Z9AJQ2L0JMGMWXY7VTXHGWH1B9UQR6FECJZE04W8XCQ3UJ8QAF67B4ORWNDEOXXO9QUNSBWBLJ4HALLFFBTQCG11FD0PZTZOMPGZBMR68OKG997SM9TFKM56SPROJH88UWXL0DMNEUEOXNXXMOHMSVVL4DHN7LI2LEQMW6RJUVSZV82OJ9L80LKJ43TWZ4W53GHB83L77I52ESCZEAV07IW1AQ048UT01YLGZA2EL6MAFZ1ZXICM0FIZ4FXDE39PE3RRMKP23JZYEUSYNRSTIBB3Q972YNJUYDTSEU15W7889YMNOGJMHDXCSVKG4SPPREO = -36#MSG1KOJC0F9C04SB5QWPNQW1WZWLSRTZR7QNRH7A8PCK8YYZ3 * (-36#D1ZBIYWAW03A437ZUSV8GRUL5IWEMWJIZFP7RIK9C31ZGLB9GMOWY9JA5GXVS64S8UVZ9PQVVT2CT0Z2Z7FNXDQKRAM7SH0OZRMV37L5OORR50HIK4FKZ8XB18C5K0PQ5KW104XVVJIMJ9S4H9I5YJMCEQL7KGPG080VP6501TECEH6VSDRX72LDNMX22110GGXZ02V3Z2LEQIXMNXFV8RGL5L06RH4CRUB9EDGFSFL0U0YJ450ULTMARGYF3TKYFCIIXZM67JIKLNLZ3MO0I4TMSBG40XN38O1T9SJ5CMD9A31ZG7T3NSSDK8MDTPUAE5B2T5O06AR4EXF8T95LHXR6E467S1N4D2SXP3JZCMVPPL2LZ27P3EFYZNK). +-36#1V3KFAB786RZUASN0NV3SSSO932JSG55HUB1FZ5E7RSNQBNH3D7SI6JUAF5SCXFG0DQUV952IXG0Y2IV939MMBRWYZAVKXV6B34HH0NM2FE0NX14P8RA6KGJI125C221REHFEIMSDGJM1WMF5SFQM9R02U0ILWEY24UL7BVNFM5KHX6ADWRS2GCG8N5YLYQV8N0OM4RJVYV5UQEXYHLIP5FY2G32977II4B0GKBLIYNB234WC9ULE6CNB1LFT9ZTJXP454CC80L095W6QTAZDBD3C395WAB5125HNHSQP7QJLIUS4XFN88PJMY4W156V5LBVJ7Z07BEHP639OJQXVC78RB7T0G8ORDQ1NN0BHW83WWXN58M03SKB7SOW46NO1TTVRJX6GPCNRA9NVX2JZKB8DGSZQ98121F5U3KX0DTBJVFZCYWFAJB7R02GNN9P67KH5S0W7CQLJVT485W7WII3645CX4LF9O584CGHB1FMM1NB6EYE6L6J6T80JDN200NHXKIE3OHA1M10ZS1XLB6KZOD5T88SNLM7IPI3H8HE99RWYB042OKZ778MCV1F4UWBOGZQ6CSKU5UQCA2OCG5VWKK6TKNIVBR56U6S3H = 36#88D6ORM5MASIV2MQZQ8UU9XYB7AQEWDTY6RCPYI2IRJX7HNVJPTO8XH2QGKGQX2GC1FFA0V31CUOE1HRDFPBSAKP5IXYSXY23N3A8HSN65U6VQ0KZ5M5OAX9Q8BW0N0C9VR6T2ST5A4INTRW1Z5SYXMM59Z42TEFBOLCIQZEUWXBTC6L1DZ794DGE1Z97L8PTDHUBQI0IFD4YEEPF86ND7IFN44QFBGJRHG47DZEMN7G563XXTO2JA6KNM3MDVPGY6ZQHRVXE5KEXUEKIM88YXTJBL9YZ120M8HP8FCH9DI2XJGF18A4NHS7L8S8POJTGLGZJHACVXKZBOBHSNM0IIKGELS3EZALKB597W3NCIT3Q7N8Q5P3NF2ENXYGEIU54XPL06DN9P7TH0UF4BTEYUYSYITUJE0JI46G2JU21AZLBJINK6XB2OOM2NFGN7JNCA4MARLNFNBHH6DTC9DV3OIPACITDO0MMZENO2AYU8I5RLAPY0P7P817ODDHZPQSW1YXNCONVSIAN908ZPMIC4Z3EW6J9ZV0O0QM6N47NDNE7EEKSG0Q43PTJONNDDI2VGZJ7C2XKNPHB146BQW5TOS5H97C65UE2QXUKFNSTWIEBH7PI95XP3MBE70OQJ0G9UORBHBV35BW6GS14CBNVKFMKNEM6JDAV9Y96HEC0K14UVEEW91A3IXMKTKZSGB8REHZBDEB36D447NNYHAI7M850PB2VTERRMJHVJCNGTYD2F3WE1Q4AWSSJE6MR7T4S2MJWOHN86ZB8F85RGEP6UHEJKI84G386R9YZUN4OUO9P5ILX1XOJN8CO7QC6ZYXN0G6U5UX4L8HLMTQQI3SRGS6K3YJUUDBZ3VRI8MHDALSFZBKPP0LIX38XCTANEJ55Q4HMQINQCECX76168ZTYHE72K3COCXI9KPQP17H36LWXRKG7AMG47KYJ01U90GEGTKMUODNWBGVH6Z68MUU8FRVHZ91SUJY17RF40TQCP7NYV2ITKH4WV8N5OCW3CG76QL9XI58N12BCEO4JVW7UQFGVSKJAYF11HEZNUMFP26MJAPZDLS91VJK5HN06EDYMP5DRI3MOIBXFI1RVRQNKY1WFCQVR2HJV4HXM4WFMXNGVXUQL7XHOG0AMITX0A36BCQJMRIBF89JA3MXEJ4T0UN5NGOA57L7EFEHXM9FWQ0EMJIYK99BMOSHQ9G4YFPKD1H5LCEXKG59S8YB9LEZI29POBKO1V1XVXUWLZM5CATXOBIUNF68HFC5YX693FXS6GS6S3WHI3XNV6YF6R6490CDRBTO2YA1USIQQJSGJRDC3108XLJOQ11A3MQ03J0UMCJK04HM2G0NXEN2479CO2Q7AV728A255NJ21D6KXU7AVLDD3FC470JO1R5ZPIORBQ8ODKT0J8LELCBT8L0FHDJB6E702LPK3U7V3FD6S13P6Q div -36#4F08AZ5ZB264PH9ASM3YO2G7GOLR0UYU32T4P7DXDHLULW9W8IBIW9BTWXYYQ3GQ1U4BCLNNYW6LLAFRBDZ0UQ74Z7VENELWGY51958ESCJ9FNG17KU78UUUK07TG05V9I0EIMYDNQNJTEJD93R6VE5P7ZP4273G0C0VY3RYFHSYEE5SNPLS05J5IN9PNSXQS5293WGGVX4X662PJ5EHE07QR4VM5QIFXSFTF1BO4AQXBZSJ6M065IIEZ2SSMROA8PE6F7PWJRYP48YTFXAMRVW0CPRGZN2I2LULZEOO6N6TQ34JL5NIL2DY5J2CB9ARNARG6GOTOBYNDDGQPCLRV2BCPGP1G0LDIUO17L5M89WMK735O2GXFB93KRJ2AZU4XXIZGQO2J0HTXJDBRIZ2G1CCX1B5AT7L2O6YNV19XH8B657K9SDDSS2WICWRT83JB1J3VB7XMO1HY70P29RT11AFIQ864QVUZHXJNCOGZP7QXY1JOAPKDWZB7IJ6N3ZFYMMRYCZTGO42LVTUH80ULZ5B0W2E34H49G8NA01WGZ3RBRTO353ZCVIVIYUTOE9OTIWQFARTADZYJU6VOPPE4OUKYBI4BTQBD2J2046RJU8DEJ3XAGJHANIMJCZF12E3WW95UNRMPAKQBK20S4RANBJBQXF7EY1SLYM3JJR0QDVFM8M5ESUKK0QXVWDNSTWS9MUVD5S5F924SDUXLTVWB6PACQ6E98BMZ29B57TDBKGJBFCS1LZM1KK5ECFCYGIEK1GACHZ4Q23SCBNJTFA70FJ37T31QAHBVK49HLZYKT6LGP277PSJJLMPBXL3J7D8W7BSA. +36#6P92BRNGCLC7JSUT6ORU70CZZS8VU91GAJO08G9AMMWB2DSPIU190K6AD0YI54RB8U4JF2A0XNWHMSO3WGJI3BNK64ZIBRB5NZCTZ9DULK1GILWFNLDOW3NO1XS0PWW9L4JO9IKLBH2Y5XTHGWWNIB5RYRWI9AOJV23YI8GWLBQCI7II = 36#1RPKBFL1LY20ADAD5YB05PTHA718VX6FGLN9AH5J9XOF909I70Q7M09SIIWIL1EED3S4KEZ506F58P3IH42L1AZBOTG2707GXL2DO8YOVJIP0M1T9USJXMBS73FK7199YFTAPNMM2SIMLT6DO6WKKQZN93TXD8R16O2GMXJT97HBCV6IWF46UP1EXQ9LGF0VY2Q585PC6N6OTK0IVXIHEZ0I2E6KXLYZ0 div 36#9I8ZEUA9BPSBHHQJE7K485W22UQE4TUBNR9LT0579OLYNLKRY. +-36#7BCPARAHP2F493NNP66NXOA1OQ4F6ETFSDV5K8UM54NLTUPFR7O451QKZ7YH5V62AS6BYYRPIVPWW7J5CPS09MQNXW07V9LXXJW24TDQXP2PVL57Y2ZRFUT3LMBGMA988WXR4IYZBHV5ISJQQLZ4ZHU3GB9W8OQDNO4TXES3Z1J7IF8979CESM1SFUBE9M3LVMDFLGOHV56JZDSTOSGN6261GJRXATRLRBU3DNFQL6PXQT6L1E8K9YT9I3SCY5ME9OTOF36ZUTGMOWE = -36#RQKUVY8LY4EQN37NY274GG5NDJD7W0QH8UW9HHCUUY19YXTPUWQGWLK6AAIYU3QPSDM9AFGC79K4OR5RWQS71UROKXP8X6E6SQSOM45J5PFMR75KZELWFWNH8O5K7QXU3VFM10KIY7PE6UJ49MHYPHVBLIYS1ZJKSKTOD6U5NY8KSYGU5F02BYSVLRTIQ9HI45LLEO0RYVXEIA967JWIEBQ15M5VCI1UARHN2UVAWLXURMTAR0FXD20WYGSY0VADRAZWQJ903I3QHXKSQN8A112H11KCCJDV650WNNCLC3XMTWV3P0VPSRISPBYPVNCZ5GBDWL6H67V99KI90JWT5PQZUB6797DNMSGO47PR15WCENOHV3X49WOS8199VSECDPXPBH22N0D60C1HG0B0ZHTMHNUD891U1HJZ508SWPR9DDG07VM976TZ6J6BI6ZFNTATUYPBXY7A6JI8ITJ93O7413F9HZ2ATZVWP3BDFI6R5D0FVLHPOM9CA37EA4XFZJ0FQ21B5J84GYVKDLKYPJ6AZFYWY3MX50DVQ2J48ZR84DXCZNZ8RHDK3KQFEWO750TOLZA8HY9SF111010OBAS03FILCIRR39ORKBKZ77WC8CCCP1GA9U2DZ4OD4DTYLM6VUFZTT70JXLC18KR5JIWM3LRHZOZBCAJMVATJH7L7JBJIZGDAFDTSXS7EGU9IT50HMWPX71HVA0V8TV5366HU98C38ZXU9T2MS68I2DL49YP87SNY6C7EB0SALJ6OGOTZ2W9AE7R1WAC4T18L39T2TS9ZAKLL80QGD9XDSR9CW3J0NNEWUD0EPJFQVIO29IH1KNWREX3XSG1A94NX9BI5WIXH27B6ZX0J6JYB2TNLXCL4QOO040VL0A8ZNSILFLWPFAVX03IMB1F4DYVMV6KM6NIM7B0LBI2BYO2CQD371C5ESJ703C50KCDUYRNI0MVPHAM2JB266HJPGKF5LEWSWMARE320L9F2QUBOM2AKHR5WR9ACTY9DIR5FXXEPZMXLTD2N3TCUQQHQW0Y0 div 36#3SI5VFCOGZDGJS12AWAE52WELO0TOYE77QSQ9MDYCM8MMH9I1C6EJC0SZG3NVL74FI96HQA116KNIS2WJ3ROAQC2SRTTVOWWJPWGN1QR02VKALQOYZGVD4CLQ5WNDCYLN6RFYHYWZ39J5DBSCESRCDEKRC31PVB2097QI8K979PG99W2MWJP7GIBLDNW19ULCPQS8A7TLK4W3ZDS04A2YZZGQEKYQ3UZTUUTGH89Z3ACZSKHCFPSOFRY3S0AOLORKGZJIPY75D2V4SBIRVHU2SLV1MNM5MFI976NSS53DPXB0EP8A67560F8K6WL5AF86ZWHPIH2TC3QUQFZIH25F935QE0IDE2H929ZMIGHLLGICYVQ4CR9VWDA6MGEISHD3M22OJ005U21335RM6NSBVHO6XG4A6WQV0R0PC2B5WGUUUVMMW21T8DHUQW6V7PWQ0VYWKSFOCC6ZEFRG3EFQ8URDLAIX2KWPTEEXKLWEBNHU9UR9AX1YJ0X0PNMUOM59DSF92M1HHMK6PNM5P1SXMI5TCWFQP9D4PKO2NKNBSK57JV39GAS1CJF3H4F5GP31QJ54371YPPF93MDYOJVZF6OF5ST823W1SUNJTTMDFXNQ2YN76FDC9YUVGM8KCF90S4NI70KSI4FA9Y3MSIBPUDDEVA1TS3GWCO9JQAJU61OYWXXDIQIM0UK0WEWVO5GRQ823ESNUQIGH720QZPL6MT0SN1XH6VBR4S1RA1KO3ZG08HNEB7UN4YY34VEFNCAI4JON0. +36#ZIGLEWBS9JWH0OSTLMAHI1Y599VD8A16AXH9K2JQN2DXC0BOBGZJZW467JGT23FYGINOSBTT3H3V3SS85Z45DKYS41DFOKK6F0 = -36#1KMAZIOF5QDSF8BP1B0Q4ZQCDR9CJKZWJ2IUW9MO4QEYB0G3T0 * (-36#MKVGS7RGUZV5LMQEMG35V8F4VPBUVNJY41YCKD34MI3BZSAB3). +36#94A6AQ2VFX4ZXOF8SLM5CWE098OP3PY4FB3W1QVXYK2DARVNZDFKRN3I0F1PTUL23J1VADCDOWY3DPX6X96KD9VFVGWDO81DPXNII1WH0A6EAX0LUKL83WWDVX3J24NTQXN5H2N3AR36D27L5LDS6RZTF9ZGRCVT0Z89JJV6AZIQX4LPV485WA5FWUD8B0RJ2UHB48IOW5UXH7LZ1GCTVPZQN0315RPTIWWJMS0737APZH4F61FYXI7VG24PJ5PUWVIBOKI92UJEJI0OV16PF10N7U3AFXYVGE6Q0ZIU8CQ7AIA5JOTH97GTQRQP0GR9DG2LXTRXDISZWBS = -36#KVD0YU2UKRNMTIP9WZOPV4ZH1FK02DMS3TF4VT8KHKVBHGR67VQU1SAZFVEJB801F2 * (-36#FQ8SHMTL0K8MMRSVOP3TQC36WXCWX6WV5JCLKG1HB5CRIVXXOTTQUFVYGCT3SH4W48799ZUIVRI4ATJ41501GJ4PTONWAR04674DQ235A1QGJPR1JBFT6JLRWQ1KSHH2KRNCALOE7DJ1ITCQG7EPGSSMFXB151YH04LHCJ63P0IPP4TIU3EGQ07IE86WR5PJFI418LEWHJUPGE1V1WE7PW1UMX8NTZ95ZHF8JAOYU7WV3W5RH39U1W5AMV6X1GK46DS47EN00JIZW). +36#6LBLMJDUD8UA184G5PEEQMX4D30O3VADXNRG8L0P78EUG0G0TQRDMOMWKII8LVHXGOFLM2KNTTUGS1AHI3BHNK3ZPZJ4B0JN0NJKPLC59PSL3HKRFKPSAZ69PESYROF0TYUNROUSLZZN29NCTNX798MXK3A4SVE1EQCMQRDOQW9AZJRTOKBJ3L2WWB9L1VRWDBUPGINX0TBDDV5V7ZR927I7KF9T915HWV30HA2ZJ5CNHG0Q6DL57TFOMJ2PM7QZD0F5LQVVUUOUK2DH80JCSN06CLO43FHJTIGR5EE79NOOIZLP214R92WV1LSIAYZCRN80G56CP99QKM8FVXY8K5P4QRP5N1HIZ2ORCGYNZW2GI22EWZW41ZHF50VNFPMROJU4YZEGX0LZIQIFA1K9XCDX1Q1BBFOQNQTSNNLOPQIVD92RW2406L3KPCJ93PB4M8Y4NWORTHF73R45LJJOQH956Y9L9EKKGPYSU7ZWS9BXUN1IR9PA09NPTDXEO317HQVW677360JJFC5Y3B53N8D25ZFS957H9T40DHOXL6A2IVT849VSIOMUPKWW6S0XNF5K2R8IKI044CAOHPMK74G7O5WLVOJTVVLWGXPVIHQKESAP0QQB59GVNJDI4AHSKBC9WTRCV872N6QXWE2SFZH9MMMQTSMTFFEJ4WFVZG1N169IC9T0PS1LU1QG4D8EGXFA0YJ43TI2WF60E27YUI8XK02SW28X1VANJG5BV6B49JB2FAY14QCLG0 = 36#I5CG6K1ER02B8CF0KHQXKNNTSUCWUDMWNN0ETPS0ABN3SA4FYX5AS56IU4W5TIB3JJRLB15MI0T4FFJ8OXE9FTWJAYVQO2XUOEEUER985YUZQE54WC9DIYLZTYJV0CZM3J5EERBI166TPIPBC * 36#D2RE1P3VFEHCVAMYHEHVSFRBEXX2TG1D45ATPY74NVBKV3V5U6S1872NSVC4JK8CYOAHXJ16LMQBKQMBWYW6L5TJZN7IBQJLENZAYJBE709JPN6BXJL4NEKRERNXCKY7EFR82I1DA646TOK9L0OGOB74I0A40TWOESAWD3DNJDYSEL91MH3DVKG9REC1R0TI8T7E5C2HU9WJLJAZAM4R77ZOTM7H9NSKI8IM53XEFB5IDWW8A4SAKBS6IURKS8XE0UDL7J49SQPZHEABOVSYSIMVI75MRBB44NRBC80BWD778VBWEQ81SWG2FPPL0Y2IJ36ET9S1ZEDUHZ0CHZ3C581O5BAHSGG9BJBCZO3XCMUN4RLGLBPONFOE2YG7M4QV3W6S5CVRW3RF3JUP5G3M1T67XCCBU4VZIEWZ72WR29X3DUSQFX4V5Z7OQ1QGFQ5ITQGJHFGOX4Z6H4VVX1K8EN3CWAP19PHCBFM8ZSMT8VHZW9WV3H40QP9XJFHQROBWHTV5N2GBAI64LJ18D5Q1XDZUSAOIW2P3HDLVAHKOH89890TESJBJTWW5UY73IRXKZIC8Z7ZO9YZUS8GABEFOC7684FL0UEV3CF6O00CRU. +36#1AXN9ID0GLZDAGOII6WMQCZUDYQSXU6XTIJL1S45U38ANMW4M9CZPEW7TNYQ2VEBWJ7JD68AEQUZXWM5UPJDZLG9QOCCMNWR2AET3R6PHG2EQJSZG5RI02OBBNAXYTKAM8EQ43PUUI8SQG8ROXDMDGBEMD2BAYN6E8KYI07UF2HQL83UE13B7CPNWDELFXIW1SMGCXPEVLPTGWAF8Q5YQQHGTZ3LO1JF8GB6IZUWCUWBLT6VFGE6N3ECFZL73Z7ZZJZRE5UWP6QCRCWVTRNUELS7GY207NKOI9TX3LA7PSS4ZZ63IZ5E6LEL21VUBBAP112U5F3IDL6PBFLJY6HJFKDSCEV2Z67U7QI8CLDFEJEUD16RVX9KOKFN23S9LM4E3GLSOIAUYLP39H3ESB6T8X4AQEQ7AN8MZ51SIQ537XOOION3A7ZQASB8FUG0QNOBW4RSQB5OO66J4POZ72IDZ5HQ21OZW02BNGKMVA7DTHBEBKD9RRTMCGL4TCQWVM4UKYCE8IR9DPX7TOWM8SZ58GZPBW5ZKXHYZ7U1XNR3X307MU3UYPA = 36#FM09Z1JJZXWAH7F5S5RP74UNLSUXX3Y1KRY6DUJO538NR11J4SSF6TRYFNEUZGG4A85E92P8JPPZNJMR96ZPBYAB4NR3WXJ5PCY7X07BXOT168Y3W9BBQGV3DS8EAFRH0LIOVIR9UJ5YM4TZEJZE4XD88JEMOE7I96NXX5BOD4RNJ7EQ705DOZO5JP9O1EDD7S1N3QQ0ZU5GO8XISAHQ8ZHJBJKWFO4YQBGF8ROAOFUAIW8OJTDXRWX5LZHNOAS8ECSNV9GGBPBNGLVOKOHIVYFEMERVUIVCZMY1K89TAN8YPOZHUNN22GEGWCRQBG15MMWIT0L1O032W3SUJEK84T0I1TB1SXJIWQWR60FVE4XBLEF6U4JZ2LKOO3JA0OEL345787449YK6SHI2JO4G2VNHXNLUSMLZ00R93BHWW7LEWGTN5IW4UNKDX0ZBJUMDEVSGM5Y0YO72NDSIXKFA3XFBJS08XJZ3KN0TSKYIW8W21RL5ANO6Z3E6SW4I0C3YE * 36#308CS460Q5V8LFPDA6V4MS4DQ799BAISOQW0US3MPMEXDWIK0T. +36#7GUYVNR2E6UXCTH2F0DMGFIRV8XPTG7PPOPW6ZUZVZ585YCLYOAJLGG4W5KHER01HRCO4233031HJU97LU49F2Q2B2R922A3JJ7EYET397TWOZUWH0C85EDK7KN701XH0CIG7FDC4Q2XBI4DAXQL1QRD3QJ2VPQZWZ2IFXAIIAF1BR2X2HB4WWJW4RNWE68ECXX462GT9UWOSE5ZZPQJG9EUYF2J8HL08YS = 36#HTFNH8TMLPASSI5BNI944Z2NR7GICBPMGIYBHL2SW67L2RC70W2E8B9GV6SPG7A0GOMFP8JO1V73ASTWLZDM0PO6HVHGPLZBQIX3JGG6LRZP9XXZFIS3GO57TZK1AARZH5AQCMM17YN3VUENVKVCX8GDB0DRA72XQINO9U8XM801STOPACZ12D560RAI51AIQR8JPGAKLXRRH13RLJRRGF0P6ZYMFZ7SCTQ0WQSAIRKNC3FLOUESGI43ZLLB30ZZS9R4XLEL5PD7A499SRGO div 36#2DVXSXJ409JLOE34I0H889NMFX6C9GCYVZ8UVLDSBQRCBPFJF6. +36#JDBLQICCVH5SD7SSYOGFHKKN1IBICBTX4UBISE8CWDYQ6WX3QR95N9GHV6IVZ1RTLCOBP26PXB5R3FPNHUVSXKRPT0LY6E9TS0R65L7FQAC6L1KUP46HT9MUEWFDC6GBDY1JWE3E6ZY7GNC59JO0IYJKAVAN0L8LF7MVDUX4J5JJWZ16UKXBZXDMH5UGXIX70SO5AE3RGBBQHK6X7GAAV30BEXVU5XDO79RP5Y = -36#SNW4J2T70ECY2JCCTQO33GQBJJK3BP2A9LR21V2OK7RXTERB6TY1NRL7C5L2WH6ER6KBETZGCYIFHMUJMCG4HCBHR2YRDSITDUVADIISCTQL1W4HEGVIJS9BWR6XOKQXDIHZM28OE2ZMHOIT7P52MCL7PV2324LIJB37GJU8L4779WCHAG1OLKVZ8CEOOMFTGZIS4F990QVQVV30KIMCHGHYMT6G2UIWLLU9JJ6XF5SZ4SXPM2QVRI05RVNZUEM56PZ72VO1GWELD2WCWXF483G div -36#1H9T78P009WRYTEFFB4NMLLGA6HR60L8IQCIO4NCITN662NPSA. +36#2W9JUPN01OCWBOAEB8UUHPKM2GN36W00N553TVM5PV4WES0YE9127KDGIYFL308GWK9GTWXBDTX0Y84UFOCJQ1SEAMPH9WUS8QYIZ6O7GVZ1FY1PJKIPS4K74MIXV5C51URS = 36#110966G5T1TIITT6HKZFHEBN889OOPXS52R4K3ZB05W3JUTHRJQE4HF604D5PUHZ5XC2IL7WW1RH3XA0MZ22IYBO24V06GYSKVER7J8L2NZ736W1IJI5NIBDBAA3OHHMPBUSOTAXKE0OYF6YAFAF9WCSJGUELAUWH9Q25EELNZTRFYX0C2G51SSY048XYINB6OXYZ3HB84O773ZR9PUW8DN39SZWT5HHVWS8JVKU23GX3GUN4P0UTZFEAOXK1HUMZL54JHA8SOLVL45QBF1ALI9XSXWFKNXSNSQIAC8PGREBA7D036NVAY8XD6039KWFXR1RIKHD9MHAR08FKRC3CEBR2QMGZTHDQDAUUZV35IRE5LM0HNVFQ4Y2RTEOGXVGWITBYYPQF6PF3M9ZK0DJFH87ZVNI4X4DDB52SKMGQCKEELEHCO3CA2DMTFH1J0UQGU9PY7DPHY6EYRQSY3MS13ZH5LY1BBUOSUGHADE7E2KA6KTR6LB5CV6CDLJ4YOLYL63G2S4K93YLFX5F4LAIDSPHRPK6IQOPE24L1IMRTC3PX37I8L1MK2Y6P1SLI3ZDRLRWXF2L08421LYEXI30Z5B8DRA9ZXUJWFJI3NAASZQWXCA0S1UXIP1KEGNQRNZ98ZUM9CNUV7I8CJDT8CAC7AIT9IE7PGP1NK5UDOFIGLH8CJUZ6UHQ7J2JKD69O5JJ29FD6R50EPQV1CZ9HUAAGXGBLDZ50092N8ARSXX0EGE5LUS29Q6BAD3GEJNV7U6P0UNAYOSBSGKOTC1YTXW0X4U8HDEJ3MXFOFTW4XZ1LERJFCHBRGXP8I9PIJSN50U8NQTYWAXRDDMV345INVOJB8S6F9KI0OG4UMK4H089JEGKKPCJRP72YEQOKXJRBP493NH0XMFZTMLMDEM7NIBD93EGPJPGT3Q50X3LG4B1Y8MK68H1VE8SP9GSIUFUIG div 36#CRZP4GRKBZOMYDBH4J4KIJFVWE9961MY7RDCO5KDOTAKXHBF865SZ37U2813YRQ204E32Y8QFZETGRI4LSTO9MMCOKER4V619QY6Z49N3O6T5W3K9JIEG9DKK7NWIIRY7Y6JSH6I26FO3HM87OZVYN0G0HU5YLTZSHQBAEC10J8RW0OJGXZ0XQEG8FE8KWLZ67FQZNOPL2TIYZ8DDGT77FTRTM6G12ERKNF82BNOUBPIR0O28Z16VSDKKND117KTGBAIM0E7DZ33VTGFZZ667C9AXILQY6L814D5YOB0AZKRLC6UTWAULWPA53K1LTC1VV83JVYSJ6D8N6GSRR4QV2OQ45GSTEBQTX0WV3H7MXAHM1MAXY0LDXOTRAJG2JWE5G48FZ930LXIWUT66H8S7OVUCTR4SM0WS11FF2M1LML2WCM318H4HRDAKKDDODW26GDHHP76XBO6EKVCTYC03EP6GWU5M592QPXEKFION974MKY3VNRQ8K7TU5025M4NR6YYDYMOBHTUXABB5NEEEALI16QIWYHGCGWYCXXK52EHZYDM2PV5FDHQWQFHVU9FLTWWGVG5ZO40741HHO0MWN672V4QH7IJ3A2TNMQV77PR2U28XCOHRXVLUARUGJKWOALGEOVFJVY0N3GZA4QARRGF9O3OOLLJRN87HP4PUJ9FUN1JZUFZFK75MP9FL4GQN162SDRS7F6Z98FLLKWEK8CNH6D5OB8UTTU625D6VXYGP1WSP4FH7EH47I43QIS83H4SSAO4810IJENB7XDAEIJJLE1IV00UM366E5GEMNZJ4QFN5FGV44W147. +36#4W6S4B6HGGV0HLPA6XXOFDW22NG7PBGZQG637ZCUDNEE4PRN8RU99SSYWVTEIQD7QH2ZVARU5D71L6ATEYOF99P7NTTNXU1AMINR5ZZPXPKETNG6NDAKW44BZZWRK51SU5P802VOM4631M9B9Y493MST4QGQ75D2LKB9O6MTZWAOOU9EZ05VXBVAND0EV2S0GCM47IQESA7Q5WV54BTLB8XIH6G7JJ7BLA7OM8X2P1W6DWC4SIT69OOY7XA3ZON79WWUTTTHHURGP5F44IYJC3VMR0S558X5M735EB7UROQXW9KEIFBWPHMYYB9L0VWW2UGU69XYAD3MQRR9N5LEBPY5BG384ST5DYYFXRBDWGTEIFFS32MAIQADT3982ZH1O4H69V660UT522MHW41GEQKBU1TD04IQKBBLDWLMV4L91YGJISH05VX85JDSQPMJLE5MQEMML88G7WZ9FVFZPQMY5T7H7BDQEJ93LH81Q1WLU0SVZJI1NHX30EENS3Z42L50ITENHFBKF01YKEGB78FU1K3HF7CN43ZULZBH4I5IFNYWP1SYR1C5ZR7LTZFP68A7VPI4MVGG5CQJFFZAS8C305YOI6IUQBIKY4JXWRRLJEUSFO10ND4W8Y7K5D4TBIT8Y4NCNUEZMENAES2XJ5DBIPP0MCUD5U9M4QIK28BLM33OJSEY9G5BFF4X29ENK6T = -36#1590266I2ZUDG58FO4ZB2IV1HBNKM5DYZBFVAMKEU48CWFQNIOWSQQW7MYGQYKDDW5URBX14JNE2V8RM24FD8C5XVYREFDT15WCFA135VIXXHLC7J70WUQZDZSUUXUFKQ0P3WECOB622Y4V78HY481EO6LEOMZJYFD7128IER915U3JPAWK1KUEMT01ILLLKR4H3IW9DU9VD6EEIO51JZLO6XCHQVFIXIMK286X2XTJBL02HPPR8WIRKSC87GC5J7AST1RHO95BPNF71OGIRN8Q8HB0ALQC9WEN6B7YQOTYLIWUNSWY22FJJ1W8Q3DMCLJ2Z61L2D2FTQ3454CJ7AC1F3X3XRA7OXOXSXZ * (-36#49RIFAWTF7XBQ16PUX61INC8FOJRYIVXIP39SJILMVWZE2W13THD87VH63WA60SM42SSDGGKBAAENI93YZ6OTV6V06WRTLU3LD41D1G43NQ8CDMBN3DHQKKW51XFRF0TVE74R5DRS9SNO8IEUT55HWZFMVO0Z23OL71T5JU8P0WHE0PKXLG2JMRFVJGALKDBJDUGM1CYY5WAUH0OCZJPEH0JJYYS90R1B8JCVXAMJSMOF3RONRFIFPFDQXAXDB4OKZMIPNJPWBJAFLUGQVXYGWV8JJSMRFB60F79EUGQ09IIAOLY9R04G7UZXQQI9VJV76VW18RQHFD0EP3WE2FI1ESLOWJ8F7). +-36#21STAK51XKGGMJ2R3216R76F0YWFVVE1QXL9Q21F4D7WC7N6X7 = -36#1HGKPQ4TK5S48Y3ERCU63VVHF0IE9M3R33TM1WVEE9Y73R3FEF0W2P399XUEWX42WQ4UMFZKCH7MOM2VCLQLYYMCO2E98GN2E9JOSK9V9WCT3XF2I93LZIS4WZKRTV1N80BE61O2WX60UV7OA2ON39F48TXBWQ5Q42DGN8MPTH12JYK7WWV1VXE6ATY34EE11418V19GKX8X3TFJ9RM39TNBCYYZMMIVSC0OD3N3JVER08WUEHIU6AG4HNIMFZN5OZ9YKOQU04BQSTZ4ODNFW5R6ACONDFPCBSAP4X67SHM8NZLXH8GV67QDBBYJ470N4YP1QP20R3QFTVFK1EOJO1IGFKRH94AZFBQBWVSQB2G300XZSR4M6NXL6QJAJMZL7M3LF0X6MRIOM37N3J4ZQOZIRMTSXDXPHFI19SA7Y2N2SVYQB036O0SQ10IW5M6TZTFIQ0769BGMW8OD317FCH55HE838K7NL5ZQYKDL1EW5QNXDXOY262GAVTRVQ341H5ZAQ296C2BBD01XVJQWRGP84PK0L8ZEKG8XNSTX9E7A54GIX6B0JIK799MNFUY0VAS5NRH7PJWBMDULSSRS0JD45CKA6Z5OSCZIY9U7BYS6T63R8K3AVBDKBCVC3UMQWPOFN9PMB7IUI7GYT9TZCC0P6NE8CRXM4O88N6NK27V1DISVBILVO1BIZK98GX7N2O9EMPOKRC0Q5X1ZS7VFJPEL1PV57U2WE0JN08WADS2VPW9Y6LKRE849T8JKXDS4UU39OQ9UFPH1XGWC5IKSPLEO9HHXGYWV70FGT19FV0ALBE34FW9VJECCRKQUXTNBP487G2WBOBX72XBRICP77X5BWATC6PEX0UM62R9W3TNFBO32VWFLQKLP44HO1 div 36#Q2T8WOLHTO58XR92NSD9HV33MQLJ9NGD2B4YLKE3RI7PAIQQ9VFXZDMYUJ09I764NRBE2OALWNMEAEOVJJZUXPS1MWKA378NSK7WCYMY1K0GWL6R6YMTH4H6ED53NFS0NG7BSUWH584QVWKY4S3R6VKOZ8YZJS5BL1GW4EQQJRC4O969CXHDCL5KL1N60OQJMW7BYZOH8B3RJFC600MMXO5I9UAC5GV3QO4CL1DXILG5EJFB9K1174FAN65UKHTR48WNQLEIOMNI75V5LHU8BVRUAETQHD0SP3AEHVMLRSQTO7UN17YM2IRWYTZAZQRUCLIPRVJV5IN4L0TL6HY246QGWMSHZAZ5PMLU96TE6M7ANWD4Y5FC8Q6HAQQOHDK3NLHYYD7UMK97WYY9UK5YI32L5AW2JW9R3T80GAXKZJ79A306P9OXOHQIQJTGLNKF1TM6H8I9KZ7D2DOXDW38AYTWX70DGMBHVJDES7G7BHVVKUS4I2SM80U2P8SY71NQXZZ5YYX24AUHT0H26Z6P1JNEBFYGESNZMPUR2D0HR4URNS63G0LNAUEYQQHJI71LR63281Z680LPAO8RI85KKA1EGV816CD25XXC1K1PVC9X9R5X6ATTRJE1D2DCARIYDKGFBO422YBJLFMDAQJHPF2G0W62WQLMKSZ1V8Y3YOVAV4L8RVS4R0C4IH5GGU9376F8W3HG7YKHZGL56A93FP33EKIJMP09DM34VV49QCDRM3KEAZ9PYDSYOH1MK1L002MC4U9QK82J3614Z5VEW4IUSSWESDEFB0YAY9VJST9TPDAN8BO1CGXY3MW60RWV0WPS8FL36LV. +-36#2B41AIRJ15VWN0ENJEPHAO7512YLCL70MKV6JFV20XAGC5H6CTSAD4EHDATWQTOI57OPSG00696MWYT8RC03SEFQ1K7JESUYCWW1L7YQEBJD9ZDO1E6JSP2B6Q8KSO0CKRLUX4EJ9079PBJHRFKXEOI0FHCAA95B9Y2NFAU1IZAY9TJKL6UU19HHMRUXAI00LHU25T6UI5S7IWJJATHNN7QGFMG3YC409TW3HZ3CODT8J8BV1AOZALVYISUHTEB2PCD0PP7S3SWSR0HYT4TDZUXMKL = 36#BCL0V3JEWULSNDQJ6LCRU0RR7IULLYZ1MJMIOYSLMD4HPW8QJGF009XSQSEIFGCWDQP7340CQBZAREMNHG1YKPP1BGZFN2N6OE9MMG5BZMERJNDEMTECT8L2QP5HI6O4OCV1UPYUEDLG5HLFIPO1T00NTIB5QMEOKD2LBNIBVI6M81T543FM7PE9I2KRNKLSUCE7B0GCEPBMRXJJA2EH8L3166G0W7VOT6FIWCPRXRWCJLRWYP2DSLMQOTYMP994R2CTI64A1AW4Z8JHIFTHLNM8BVAOOAJ85YGX56504JHWB5NL288STX6U7H251N8EXXLE3OJFDF5RLDOWDQYNOBJ8LQ10EBOOU8OG80KKK1SYSXJV53LF7C68A0H6M0TYSTDAQI984OW7WFQLROUR3 div -36#4WZ7MSIW1WXZFSRSPTS7UY6KLFZVUXSTK2IC7A4OEN7IPZXSPYEM48493GUNDIYWFXTK2Y4HSX29HT5XWMT31L4PKX229WAK0QIJ17HCX21FRDG1R9BXST7DYR37. +36#6O74XTOXSM69N4I2W8BMMKXM4DSOC9I9ZZAYDVWUFHYW7BDVBV7K9MB1TQTNXKXSX8SJ1TV48MMW407LTR6ZAJPFNCGG2PRMPKLX38NC7JRQRRSW763BXD33T7U2WJ59529AQAKKL8XAWO7P5FELH7TCS2QA9M70HDQMFM8VNFS52JTU5UCJAFFHCLEWBVBUYAQDJF13IZPDTRO23L9VLOJ693MNO0YRVL6IWWD2PO4GJ17HNFI3A7UHT70D2TZE6KW01KCXF2Q9UZSEWOLA3ST27WZH8WQTSNBB15ZQM5QGR8LK8RA90ELS1I = 36#2B6ATPQKBL2EXTFWGQSHY5B8YG8DQ8JHW3PIOM5RSTVTWWRXUI * 36#2VYO8TLCQ6M37W9VA520I36QW13UB7L9VQYBD91QTHS2XILXMRXF4NANM2GYJO3ATKT2GQ5ORHU01YMCQ3RV69MT637K7BU5ST9OO1ARK1ZESBM6HSU7UJMJVHL01V88JL767AFISZ06OOGO6CYBKX0YLYGE0W9XH0L2TR1Z2ZN1CGJBYVHYFDRCD9ZJDVPS6GIBHX69LMSJR5S0HCML6DHYVBHPM3O8XKCDNZS7ZT64TMMJTL0UBHBDDNQCVZ7UAFGETMIX3. +36#2GXKS5I898UIYEDTEA9GLK8TWP9NT3D96X18IMZPKBQ75EW4NCTYH51I5I485VF7TI2T4INWOMQ40Q06SZCDIN5O0RVHR2OT3IXL11RU7SECGXV6OF90K9625PAPENEE7DYXRWM0KD1UK5XI1O7J5MYJEW24IQXNGZX9OT1VYLC43JYNO5CMKFND5ZXE73D8B7MMSVPYTCQZ38HYD7PUJL5AT2QVMORF0CJT2G67GX7ZHBDBZM5LM5VEE9GN9Y35R8922R3929Z29KHA7PW9KXDG1DBZOPAR1TAY7WDHHDE7HK4RO9ACT6EQORHC95ZLJ7NC4EP275QUBYD2X2MOWME4B14E3K271KJ7WPCBIUGQAPFM7Y76BFNTTDK72COVGXEFJ0PI0TV2GRXZXSQ150L6G8VD2YR1M38BKNVHORRTN5UVCMQIA0PV = 36#5X3IL6DM82EX8DNTZ5XMWFMJBP2RZFOCRGN57ZQ5JB4B1D0G920OO1JLGL2OC0ZSA9F23YN8EXMEYEVEAVOYZJPZFDIVEYRNR0CG7OXWWNSTCGO1KV1QHEDJM79Y8PH56F1C480E4HTZI6IZWXZAGR8Z43JIWBLFGHNOSAOWPRQ28DCZ5FAVXNY57RT1ACP1SY7JGHG322PAJXJZN60VQ43G8BCTKEFKNLY9X2FEZPBJVV94F3I5R8RTAN2N9P3SN05EYZTJZEL2D4HL19SFXES4PDZU4APXIR4152ZCIWH41SWV13F970R19UVVM067BTEQAKMYJE5VGP0HWU9F8J4YZ974CXEU50TSG5X1RK8EAV2JFMMVHIPOWENDJEBZXGZ2OWL58DC999TNYSL45EW5VFUDHAJO2Z4RTMLEY8U7KB3KSIM9KVKNRYH9EPM57MCJUMUDKACUDF28L4DIVRGK2ZNH6X9YL5NXFNFSF div 36#2E9FLR3I5GC6NHVUINJTWDW04LBMR3FZRWWLBMSKRFFT32GVLX. +36#57E6VMRFPP9LGGGNA6BF6ZLPBII0JEY1MD051AZ3IH86IAI2MJD0OUR2EQ6GFR375P6KCKQ8PUIKH66VFYNBN81Q4JYTM1M94GLWTEC06TZ1XZVNWSQS12R5W8JBIF57YSA0J8FOB4HHAJ82C2C6TQZJ4MC7O1P2N3AXBJCEXIK4HJ242099YPJ094V0MB5FKUPDE7EHWL4ZU2QQD79RRENI5CVSF0HJ8NHF573LSIRBHF2P700KCX62T0Z2IBG5S1G9E5NDX1QIDL61J9QE0PX4UGAKMJNYTCAC75U3H0LNBBSI01RDJPHTMUYJ13BRE8XMX77AVFM4YW7VCKN7WNAV5K2FUHC3KH31KP5DIVP32ST6NPJCR4R6XS25X5FHKH0X2LYJMALJSQ8L7XZKAQOSR2PSGE7P98Z72RN9YPCHZOCGINWXKPCLUJAK868006RQ8 = -36#YMX2TH1NKV2KD7M46K73AFUYWLVF2YC4HOMVTKS0WXJ6WF0TS * (-36#5ERQFOAS76HGERB411ZVX1KLHCL8QQ7DEYHPAX5UIZ2U5S1DH4GOTNWE72EDBU63NKKGEHPCZNPEWUUAVNLCXWWAG6Z00LWBQIFDMZK28D7FAZP13NJEWEI7WWW3XCOJVNHF90KEQZ1DE8VJKCJF2K0LR5EC3K23D3CULJQL6JAV4HPJ62DS3922T4V1B7WUPOYJVDSTWOYCTDTT9HAN9RMVDNP486TN95T5X5M6KVQ73WZ967LNZOR5RUUECR13PYCQUVUF3KXFP7LALUDBYZI3JU1S6WEF993JCALGVTSTDCY301KDD3JEXGVWXM4825R0K3C2UGV4LYIOAEU2QCJTTBM5ARBJ8BZJE5GJPQGQVBDRENIRTARJUYZUTBUXQUPPKKD6JPIDBBSPS6QQ). +-36#SVF8Z0YHOJDE9RBZE144C93644TGB8S1SUXZZRKP17RAOJ3A0 = 36#4NG33WC7PQGS4J4ZNUEHAJ84KQEVRJEWEXQ97PHBOM9W7S09LK0YE8YTQC19XLSHSS3I82QCSUBT2SZCAIUQ2XDAEPOPKZSUPJ9NKTR8RYOJESZF6IRECV5KPL0WRDWF5UE79X7QT3KKPMNTK8LZOPUH0ZI7ECTUSY6SU812F4QIUSC1LUT84F7T691EANAS9PPUQH8O1ZZRUFMPF4PJVT13Q8TVB1TT9D5GE5LIRG275UQCHDURC4IC23E8D8CPQ1LTJTKUG62F3EHSSWESGU0G1YDJIDFS049ZN33DPE19874VQ4WB3MVILIEGCJKGLPPMF8S2WCMAZ9H71WHYOAMOUZFMYXGF3YI26XBSH49G6O2UIGA3IO1OHEAVFDO4HASSBR6PH52OHAZLPRUHN5N82LV8IY98KESDUYRUWLTTTSJAWFPMRC5180YCEBXT1BSKK957HAJ9GPUB0S0BZVRFP40IKTFO33HJWYMR8OW0AUYELK52TQB2C3RR6V88WG7JOU5P4OKZQYR01ZWZGF0PS75UW3NICY5W1D05PVYJEYF1ZU44JF88E0K5ER3WXF4CX083G79MHGO0 div -36#5SS36Y9B8NM1I8OJHTAT19VEOTA8IYFEK1KKE0GB2TB3M7RK89C471DFZU5DZSWR7NWACJB8BNTB72WC2VEABHAZW0DV35MT6HEE0JAOWJN1F4LFI7A5A7YCL2JOFSP3B179PYEUBEZX6JQD94WYFABAGC8RCYXAPA56KGC8B0IYZFX4H1QWGNE1YAIP5KSRC5XTCASHYT2255QYRXZRK54EEA96QP4RUHH0PSCYNRTT45WM56OBB2Y0TFW7753XV8P8NIEBUMCZRRS0WRA1D48G6XU188EYMUE0QRX89CN043LMF3YZ7UB7QECMERE13VNKGEG6YR7XZ8R9UVX8SLDKYXDQWFEAIUVV35GEO28YCFV0UQVZYSNTST6PATY0UK5YGGG1FUHK8TNSZQPRCWT89BGLGVCCDF6PPXIMTRIHLIT3O9NRMURTD0KPA1S5W1DBK06MUQ07GW4GFD7V9ZQ4MYF8NHGP082H8QAC5RRU06HLAVMCQDBF1XYR5O5V1DHEETA4JUS05TPV5M9NHZSVD422O1O. +-36#2MFJZNB3IKGAQ7NK9843B6URYKYJOZ5O5YM2HAW1PMKOBNNNNM = -36#SH87JDWQEIT88UKDFDG4D1I76CNC128MFJZ5GHUIISCDZENG687Y2YRJEDBQ8SOIG12K3GSJ55VWQ5EDZBHY1IUIBQ57VVAUOABU24XR6Q62RHKCOVQ9GNX81B81XIEZ4TAR3XQ6AYNBJUI2AXZKMF3S9VMZ4MPX7LFRDC6N3I3LZV28245HUU4S58KMXYQM9NNN0AFS8CLJP9GW86IWTG4GPMZTFBFEP06A73HH0VXJOGU0HN3997Y4E6K5ZF3HFY6POCX3XZ4P9Z6JR82D97FZ2FS10JDFJJ5IAERXNAS80XI8Q3Z9Y3SO4ASRPJ9AE6963CPTG div 36#AUUDQA068FBZDCHNJBQJJK8COV9K4LHBUUZZJG8Z1LUMSIF931ZY40PPZDSY1ONZ5XLG39Q65WZCJLMW28AV5HLQ5CTYCT6OSSOJAL7XMEJDRF00CCE1HFAO51BOV4RWC2O05LT96RYEQZ2E7R58G28QUAR9EGEGAF8KP7MJAFM9ZSUK1BDUV50JF35YU67FOZD5L8EGJ26L7B4U81QQPT9DZ3W6TPU7R89V89KEIG9YTJNMFGZXEXQW5JLS6MF3RNPBI51VH5JAVF4ODCF5FAHM. +36#1D4OI4REYW5O1Z92H5A08UD6PQ3I6KIR6YEORJFXNHAG2J5N8Z = -36#1POS9GKU5XVKWLOHJOYSHR49WNME924R25QOBQ5XO6J7KOFCWB62H4B10HN4HXCN1HU5MMHWDZFO73XBSV3HQAPTBALFZAEIIMZ67EU68KTVG6JA54OYGVHWUG49HK9WP7A710MJO6XB7CFCY09L9XA4V9GZ21KUWJV48D1SNRI25BP05SO6CB42Q4EUO039Z96ZB46XKWUMX9TNMQISDPO34J5QTVY1TQV8TYIOVHMCUEMILV6DIQUTJ39O801AEOK60JB689ZRKW6UHNC3VKWSSB91OZEKAQI5Z0WPLTW4EAOZ5SZ2B41VYUZSN4DHTIP4TKXD div -36#197A200WTL03GSJ9SV9G48K9UZNAULCTSYWYGFVN7P455P9BTJMMBC1ET5S0VMHXCRETE7N6Y7TI2FN5XTRRPCTCBAF3GYOCALCSGO4KCPUTM6B94MUM6EOMJ8I6WL72OTNOWBRHJR32EZF3Y5N7XNC99T1B5BQC6YAZ0M86XCPG3UJT883PXSK534Y218NSQB6M2LIZRVHROXC64DP6TLNX3935XKMTP9T2FJO36PNNDO1VDJB5DUK0MJPVERV39MQJT6LN0AC63P2DTOA0ITN. +36#DMEND075JYYMUCDUEY7P2UKR66D4SQVIYD5D6HCHBKJTWWJ8WTS80S8MMDAJ0MJHJKEKAUUQIN9AVKT8E75W6A8CDT2637N05TFCTXLQ2E8Q5TEWWV0VHKUNA057XJS4PQL5Z8OPX5GGUMJNGYTYB42XOHLA0LXZ44U5JTI0S8XMXDI0Z3QK3DYAME925HNYV3PQ29MUBKNNXLSUJEN9LWM8ONJ599T02Y938F4DXJWYFA79AJ74UQKOO5ARYXVG7JOPGI3ZCDC4S2EXZEXQI2P3V4FEF7NPLQW2WE8SYE00HQ1P7G98STPZPHQ5MZ0NFBQNZEHWNFU861XPLBGTHWSQ47D0HD97GPEQ8N90TLVA5LU6YE6B8E0GVPVMH4QHQ0XJT6C6TUYK6YH7LR8ULTFTA7FSA5X499PNQF1QBE0NM4RKS8HNF4FPFNJ8UBC9ZJQ7QIWW0 = -36#LCP2O05O38GI5YU602XT7SY52QRO7ZSXDVAZR0PU4CS6I8UN1Q0VTYVQEALO7SJZFYGOZMXOP9621GMN8HN6J6QURVJLRC4GYUF16Z0NYCK21XGWZDAH5V23BFHIKQVOP7XM8JILHIQSHROTU5RJU3QWPDWBOJVJXT6BGDAAQD7NJH98L7XXE8C98WELNRKKJM1GPOAKY4Y2UBI5SFJ5CLTR8SOOZSDVE7OLNVS2JMZRRMIVNOV0O6RKE20OTY9JWZTIEE1JUBPGOMJNI54DA7SMRVW4SPEHVRRD3FF3MHQKBCXG66S9SHQQIQEJKGN82UFRI51RPB5J3S6DCPO2KV45E6KGXS6G3P7JWO50NV4O2BUVD4UFA2BQMAY51FHL0VBCZ3UZVM0Y7Q0PFM8T88EW * (-36#MYT84PSOC2APEVZVE5CLM6EVYZ7KBX54TTA76271LHTMVKFS0). +36#INSHTNWMHRJSO7WHX0AI8RI7JT1ZVSWH0I8FC3SEOR7UMIT6NX29OGPSGAMHANW41E945V3ID4MC7DHKFUIJ6SUAKHV1YV4ORDJU21YIW5WG8P8TC2KLKT32HEC7O15QJX25XK0 = -36#BRQFOMKAUVVDGYLNUCSQJR0TUVGX7J5M6ICPLRCST16I4GHE70EDT2B6UBMEYUB0ECBH2SGO3KTPWN30693AJ4 * (-36#1L2ORMK4JALIRWRZMEMFLOXYKXIFQFNQ2MP2ZNHO27RMVBPO0I). +36#2BJGKIQL8MWHOPNB6ENBJZB8P6D2LGY8U6PUO3OTDBYCBL0M4QABLTBVDW771KN9VPKXZD6OUMOPH5T1C83N0LZZJHY5HDKHF0T = -36#V72OYDUL42ONI8XPNH63AE5Q2KQ7OETF6527V35PBJ1MTRLO7 * (-36#2OEJ758S3BIT080YPRIGAKJWAALVISHALPLN0KL2770UCSORIZ). +36#7HANECB6WYYAA6JSPI61KC9RV5W03U2Y19JNP6ZD8CBEYKOPH1TA2T0AY4JXLB9GUWRATAWMN2GFSNJSDKHMGM5UDS015RMWHGJN1RJMXW1RXLZE1F3ER5LPL8YB2QU5HQEHVK36DNHBF46PV0A2HBSFMJ5I45Y1684VONX47QNVZC4KBO6BH3291MRG7VPY30X7XRA2V00M8NZGTUBFFS2KA8D570IISNONENPBLD6S5L8JI80MT4ACHYDF8NMUMEMXV2GI14NK8MKPKTLXMQTXV7HB007I1DPB3SP32TZKEA6QUUTM6CCY80EV58K2AJ0BC3GE54NXG45WBI4F7FXGK2NFRQQV2YS82SHYZL6XJCR58W8F75EMYRJQ8EV3L47759G4U5WMGDN93E6WTE3AJGG8YHN1KS9J9JJHRFKEVUGRM0GKXT8IIKOVA8G7LL0TZBAWNLD4IS5RYYFC2JET0BR = -36#2TGFT167FS8H3A3TQXIEJWV4TVC9HZOMQGFT2RP8H120539Q99 * (-36#2NJYRZCR2F7B80HV5NIDN3MZW1F0ZZGVYUAJV31U7HPVR1ZT1UAQWH53FX80K5JPFLS00TT26G4SK38953NMCX2ZPNHF8I209FTKGFNHFCVTAPDB494DDZONX9QBAQT21ODLS5YPLU1SY627X3URXQR9QTHP8BU2HPGF5XP4O3JBUADBL1PFPTJ62YJ7DZET1248EJ9ODWHKYLZZAXC19Q8H0Q2GJXH0Y0DU4I5R4W500XHKK2IS37GRNA6AMDON4CC6K6EG7SEE7STOXBAT0N6GVZIL7HK2UV5S0BHVVF7LB114LFJ5CTZ95ECPRXPECAB4RBUPUHJGITCW8P3SUWBT7W3ALQ9R9HVKGPMJZMUYWYDVHDP7TZETF14QC2TH2W227HYIJZ2BIBRVU9A95TZ47GPDT1Y3PGTJF3B5YB). +36#18SPUZVDQCYF1UZ8SE095C0QQTKAQBU122XIP9FQSG8T52FUR8BYMYN6OBS3UKQL3CGAQQKS88SDRD5NJZ92NNDF68ALE54I8F4Z5KF2X1T9MHS72UAZLCWWG3XRJ7WVJB8PHWD89QCFIJZGWWTL84MMPMP7V7297VW0SDLNFQGKEX5STY015HT4V0C2B95QM1S7YSYX1ZTHJ2ZKHEYFXYNY5E0DVU03VVWTQ2GOAVEGSCXC7SJ7HTACWUB1V21XINCCDLDRNCHXWZO3A7AYQ7WF3E0DSUE3JOPXH7JAQ39H380B0KB3T7EAXA2N6YZEF0AI6PFX9R43Q5DORUH3BHFKBKPOJALRJXASE6QA0E0GAM511S5GNTA8JQ2U3OK0QH4YD1JIW4G2PPPAGNVUSEMNIYOCTLBMMOYW84F3JQFHP6SGF1I7OX4JLJAQ529L8Q26K7PQ1OCYGLQVD90XNQH5OQUQXZ5GUMHD8026R00HGDQ2IE00L25REIFBQYUGZBCGKQYRF71AO5NKU5514MMVKL0LD1KGWWMGYRJYAQHV09JMO7JP0EKTBXDVOY666WZFM0PZPGIQK0Q5ON3FX891RJ6HQCBZKWEQ3EXKMY6L1LTD37GEUU24LI8ONTFYH92LHKKH7OAVZTVE3BHOKGJMA41ZHPAREAR7LVURJPQD2GRCXNNWYNBYI9ZDEVT0QJ0RNIGG7BZMWLVZODNY64S7OOBXXC3IPCPV20BD6SXXKPD77FDEJ9ADB10A5DVK5XV5JU1IXKV19H4IZF8CRHMISQEK5A2OVLNUD34JYUJMPN6G5182ZOX0AYSP21FGC4SH1XLEN3X139MZIEL7UKHME5ZCQT6QB8XEL05E2BE29EWQQ1U07W3O6COUKI5N1S8VOYN6N5HYVFKTLMFRXZM83ARRP2MHG98CDRNO0IY3R8BCOOQQ63JXFAK36GCY91LZVM7K304RG2C9HN2XNG4OSS319I6OAOF5GHL9M3KV5E7X6E0FAWOYIKURZLX9XQDT = -36#13ZEHNGL3FU3UDNCILIG0HDJNONF4YEEQPH19525A45L7E20O4QPVIMG01SBLL34EJIP24D9X7PI4WB6X14PK7OS8CSF2HAFWTH3QZ33VYTN2C6SBQMRKQONY83UZ9LWRE9P6HSQP76M7S10ZW8QKGYJ3JCW6BYCB3Z50BQ5OGZJCBK8IG0PPJOIDKXIAEQ5Y83VAINK3ONQLSU4B9BBUW8RNYW3GMIJXW66PCN7BZ4J5KDGADR6L7YU9KJE70ZWBUH3JK7ARALDP6PJIS409TG0V6YGBG9A4BVGHL78976T927MMITJVELA4QLVLI80P6YI27EN2XNCT68GRUOV9TUAUBP2PNIG7IEX206NZM3HFFDJNGEPSN4I33FRAC528BIJTB69T3TD4FC2T86KASHKH3O5F0Q3DZGFYOQ3HQOEQ0YCQ0G6M8U2U541AK14DTVB079M4QJB0APC2EANKC1KIOMZ0UUT1LKQUIKYDTA2MP5KGY8UAORU96EZPO6SXYS9BE77NUWTDC8SFIVKFE6OEIIX34C4Y8ZIBNOK4EXM9ATF42TNGWQ8Z9CF61FIB45CEVB298ESH9XN5TS2V8WR3DVXM1PXGQ06M6RKMJYL3HSWPVJF8GM2EV9FTLFS0D33EP1HJFTTGUEMIIOESUCTU19UVP3HW0WEPGPVC5D7CN0RKU7NY6NBBECAZCFYLBF2N55V09F2GP79HGWQ1AXKIGXB499GBA6QH5SLFIQ2947KURK7CW49VG2KDLXEH2NE1Q0JEUBZUIUQY06IOSQ3WVO21H5KS50M1N4884WDGP9MQ5HH10C5X4GCN6LR9YZ5AQQ068PE2HF10Z801DM20G5NGN6YJGQ7CDESOZEYQVMLXK50V8GXKYFJ5TNFJEILSFNUDL9FOW8FJY8EDGA2QG6DBLJYG3BYTIQGU4HF5SHKCE71MI1YIDVOJMABGYMJHGVVS4OZXN29NGPIZ3FNKR3IPYZMOFPKMTKWLK10DUPT0N845REIEYZIEKVH8MF5MJ0EIB50Q30CN0AHPD3FN7DFVK0I1GFET027SXY5VHIDRI75K div -36#W4PYS5YNAN0EBGD5L3GQR9TAK35YPP8VD744YPDMSZNDL9N3S. +-36#55K22HOF6PSKYR1DS8WCO1LH5JNEY3FZWD5G2TO7HQ9OEYA2X9IXGI1139J26WFYMQDUSQKW0LJ4XZ2LY0PSWAVDI675B80HUZEZ3RJ3L00MUQZL4PX32ILQ7C7M4H2VFR2UH40KUKAZKZRM3PS6JKU606A2XAKELMEL2YIJIJM1QD0HVM7OJS6VLR2MNP35JQ7J8U2TULLL64Z6JQG9DIW5MELSFPSRKF2GW9WF1YBYWD816DQCVBD8FWHR0MW9YTL901QJWRM4JG7BZ5EJXJMKPRVNLJMIHJ50NL8FSJNX0WD9XCFZ80YU3TOWW0J3F395X3CJ8MX8XX3AHX617JDACF6ZJVK5B434CX597YTO5QBD7VMJEBT71YWQSOMYC0ATUZQP1327FZBMUK0W7W87W51ZSTHGLGWU4ZCG9HJOVWUHSNQ48WUCAGIOTA39WU6PANHPN2C0T3KBMOIA3EDLQX22RQZBYMTWA5FTAIKQ3MKPLPE2C7QLX9XR22QOOTIIJVBJAANNMA4KPWCKG2IPZNFJ4TE5NGCVMBCYOMYWPGY2CI5VCB0LFPRZZIQZRM4U5SW3QQ3RRKGCA5FG4N39JMA2G5CYHT60SMXVN3J9OQJ90C2GLRVC7F4D32NFA03BS7IDKM071WTG7ZLX6AHG66DH06FXYS9GZVXMBALR93ELY93AHZC17AIRDUQXYN985A3S72O3JMBQSMADB59ZNDRC = -36#2YKSU85QQOK13Q24BGXJB10TYHJAP201WN9NUM8O7UQZAJ5R2Q * 36#1QOED7OM7ET18J9P3IIVNEY802L3TZMIIW1P8JX0FGXT81MA3S4K1NKHQOHGLOH9NGGPGYUOURZGAX6SND2O0IVAZ81H4I67LUVED012R4RU7K78UBXX1Q9JHNDB8M3E9E3O80Z1TFO7BD43ISI924M5S6EF814KFC2JFYMD2AT8T6M1VBQWUET4U9RT2M6LVES92CVSCT33QV8IIB2GQQFY140TN4XNRLWZWT537XLJHBZ8TN95VQHGFUJV9M2B29X8B3HH6KTHXYBY1DSO6SA0G90HEU13K52S19LCBVG8C8US7M6APFSD97M96XSW9XB89RHFD79S38X0IR7IKWXH5F9MDKU6ASY0GIWZDN4MC8QR32YQRVAIQ4CDS7KIQA4JG0LT8PHGD2AUNSKTD24IE7K6LY86V6CTQ6JL8AOM3VVDCJLVD7T9HTPUYA6DYXU0DPJ3JHE77FUUAMC0D6173VDGJ9L8B67O38MIEY5ETJPTS7VRC2Q8IAGX0HJ3H6VKW2EAKMIE4Y03SF8ZAVGBH1ATSQ3Y6YPTGIMVPT6BPKUQLTZFDEUF848LJC49HQQ6IYBPX7IZ4BM7Y18A1KLC2RUG6U9JR4TEFNNIAK793QBYDOACM021CR2EUU50U3KB7BYZLNHHQXPI1QRYTEFJQBIF54BBVCISE1ERRBO. +-36#38RW8944O0NBUO4AL64J7BDXQJ7O5XA3GWKHVUEZLS3MQLA9MAPCMY6QKQF2IVFHYOVWMXRUQ73FKZU9KH798JF87RVCTG4CJUDM7OIDOVPW4QZ9NGUS4RWE4KNMYLYNW450HY2PSQL375KQ13KEV0I4ZMA9KVY8651UCSSAYW9US5CAKK4X4X824MD6ZZWJWI5SKEFKRAVVI26N3KMJH7JZGQ89E5S5HP75C7WF1QN5PC11OQQW6XVV4W9OE4ZMW1F490BJIKKO4KE371UB42RS3L98FJ8MJBM3NXTF14XH0S46EXYFQ0LW38WC1EL2HXTGDMGR4YJ9 = -36#2PTE3CNWMV3J17PGULQF7FRHVWZ1TLXTFWAU5TG0U8YHAQD2B5FTXE1APMUN4VZBYWTD2LCORB0VERYOEW03DK0MUTIVBU314GV2MG86S6FO2XDGMGWJRB4PWAHJNB89SWDCRWUNQZU01BHLHBX7FRD3YQZEWLI4LV9Q8XLC36EQGOQUX2SNPJET5CLXRQRX5DSNX1WOI24EE121MNSHUB2T40MDPP5384JOJ04ARM3VT146UUU630T9BNIJS9AM9TNDEXI1I5CX8OWYVHMLC8YZ7O4Z8YE0Y8DKVB6NL3SAIQ9S7AO5NYS8433UTGBNNBRSYWO6I6LLHVJIABCYS22IXCIJRAQK9BH8IAPQGFIADIUS6UJV8NWGZN7ENQTB24JJCFC7I957DU387RNC8J05A292HUYF8QRV4DASFO5KH7GAW92SYNIS3XRPAHCG2Q3XQMGZVCD8HIVK89S2XQZTM6N7CRJGKZS7CU8U09IE49F6N0ETM912LO7HOV3D5G0E0IMHVX74Y0OD780BM4NPGQIS8420XRC872I2JGXL2AJP9NOL833AIHBTM9QV86MFUO74WFUPQKJAB8OVCAPM0I2W7L54I4Z6L29 div 36#U5LDSDKVQILDNRORT316R61YCOQC145P0XB667TNRY4LS5VAYWSJG65HBQ23Y0KH9YG18DIWZDW357F3QON3S48HARRXG3JKXCVHIH1K8ZNDOJUG9ASY80K6DXI5LKDZC2HO4A51V6S7XTQTXSN8FG673L612D9HSD2QMCPQ723G6UWK3RGQWB3KCY6VNLFGS1Z7HR7RRHOI2MGH1AWVFMEZ8N211XFHWQ9SUZL52P7KWB4C4GVNLP7EBFHO61UE51CU272C63Y9P3V30DE2Z7MUSD9. +36#5BZPHJ4TPPT95WWL981P6XZKSS74VNTCSRRGE59D67W0NAPZTLE6FH8TE1KMR9V7YFK8OOHJS3SSIHU4X476PGCQLX77J1WGINUIU3WQAMRHYCYW37O51Y1ZVMPDYVFQZXHPVM46341MEVVBL2KWO6PAJOW46HWZGJDCS1WIDWHLA222C6D2RK8UFDQDC6L0PCE2GWBMK9OVH6P2PW72ZXQ76PH36WMB6P38RRWEGDIDUTFRBGU0HTFIGXKC5SKMK4ICC17R2R05A58W8TI1MJOVMCD5F8ZD1EFBA0I5B99I3L5MICIKWK0MTM5JUU0MCH5HVI8TTFW4RUJ31FZ3S7URKISOTBQK0O80DHBEBDLO74KPEJB1S65CZ5WAHUSUCQ3UTIMH850C5XOZOB83O2UK02S5W7OLZEOWENFWEE96JM43ELP0HROIQIZOQXL3FCPLFLPIEOLYYIHAHUE78PNKY05UYC9UPDFS95YIW63ORAQQBR5D75ULDP76TG430KKNDZW8Y3AYQCYKKIF2BYD1LRMTH5LFCG99OLNA609K37IOIQIKB6HBF1G9E5MXZ8D0CFZDJR9TMJO5G69Z7KFKAEH1RQ06QBPBFQ2TPFMLIWQQ7ZKBZDNQNPBKHIEJJ05XE0YAKO8TOFAPHW8E7ZIX3ELBDLJO9O9OP5HZUECX23LD1W63U3610MPZYO2T08OI4PVAI8CPIC7UYGUA73E7Q6KPPY2NREWS = 36#8M3O918CTVE4EHJZ06LH4KE3YVV3S305LPRYHL12ALI85SF1S01U0OO3O9Y2KY224WK895WZDNPKHRIUR85O435AL9K7TX0CMIER1PT0KYL2JX956Z074RF668EAINGIPGYAVJY42PLP59VGC7D4353ODC8YFMP376R91EDEKFQYCHGH1E8ALVERUFIPE26LPM9CYBUIHD2ZMBIRY818E25ISB6B124TS555KYIOTJIO4MV13EZFY60R40CS7252QSWFKMD10NGGPHL9S8RGHT7ZCLD2CDQDU1THHHUKIRHAVR6TWOL9OHH2RM5JJPSMZA38X07XORV2F1TT29UOI5AQTNG51IOUHPXAQIXJMAR71XS9ZTQYPSNRIEFI3YAYCASVKILP42XCM0B0E0SHOAQBR1NW692EFAZQWX9SY5T9K3S6ZL6BJWGS47CUQWOBLE73AE0RJLHWGMQ9TG901Q3MN26FFKWT3RJIKXCCS4W6KU76SJPT7X17AGHQV958JO5UQ7M6MLJ6N333YDM530PU0TBSPGDW9P54AEU5KKFU5JMS75Y27KCY46X299BKNPELHS07BHZB6PGLG7I878LHKEG99IJYAA9AG962CF7ODCWUTBWF0WDGF1J93FT8NH25CBU6VH08NSJJ2GY7NLC6I91J75QXHGHOH4GGV4X5DYX4YZT5VNK6TJ9XZ85QNMRHUA55D0JIMCOWLH0US6JD7RBWMP3158G5N1EJR7HPZNSNXWGLQ55WI46TF8NKTHW4FJLZ5ISW0ME2CWSN98KJOA3G5FOT0D0S4X2DR3M7FZTHWHWTHEG7VDLTJRB46UJDRXQTGYMLKXOYB03LLBD1IZ5W5TNY25VU49OS8L8XTCBN30674N4X1G2ZXBILG0J3U7XO4VPYM0MNAGZ0DFAVZQ326CCX9RIRFMXDB78VHAKKYKBFA1Y6C div 36#1M59ZB880H71TQ1DCLB1MPQD11UJKNPIL9OEN5QHEN4YLRERHAPCNPMA6ZUWAFSQLL6P3WQXYDDH4RNI9EGV1KRY6NOO4WOOLBNKFDL6AXP6IMMYPI0O2DJLM0EPY8RQERIACPDQAISCW7M8T3NW1S6CBB0APLDULP6NQ7UT4M2PUXWBYAV5MZEMUBFA5RWTZKQPR5CSP7H4K7PVLLKU73. +-36#1L8OYWFUBONAXHC5M318NNQVHBOWURAMJTFUJDB9FS56GP2TKNC6LBWK688E40ES7KNQ9EKLWY34K942BORI1Y7XHZNIX1KNOX4KHIVZ6986Z7NT34FSJ081WL0BLPO8E39E4UF = -36#16PO98EU4HDA9XBROEH58PHJ4BCNO2I3P8GGTFQOPJTQLCV26STDXHTRJ1SMSHOSMEOKH49TXW82MJ8V7NBWETLNKDZB4OYP3YHY16KGSWB2T117WIFLVB8OEM1CJMPZEFTDMI3R1BVZTZQ7BD5181VZSKKLH5ZJF0HX6UD1ZWR6U7FFSQLG6E5O div 36#QV2CLSDPZHD0TNDXYG33AVIB3F8V25UOVEVSBIHO41TVXV1IS. +36#UQ39KLH8WPVV46Y999HLNG6L8UASS3Z7ID9UTU3PQ3GH5KF83 = 36#41QQ04XGTJR6Z6EO39BU4OIHZYA89XM124EOW66ORFT2DPGB9KGN3TXBVHPZ5YNYGBEBV8ALBDQTL71CRGPFQJ74DW10S8OWKQ0WVO8FNASFUAD50MKOQT5X14BBAHGBAVLU0FEL6WNUOXF6R4D5JGN1L div 36#4QRJXN987Q9VKQYICH99DTXHTHPR4VF2HPNQ8M3CHWBKKQ3FWR7X1538CUR8MS918AL0TINBN1PUSI37LRWTZIJB39DITEMCQM38ABPV. +-36#H7KEND2KTKD39HSXPZANBVIH541IT2JELQL5X3SEN0KN8TSHZB7V0YOKG11WLTHWVB4ZBHPO9CC9K8JTYLLEEFZW8SP7ZS9A5C5VJR7XO4FEBPC5UWAOM6CXP4O16P9KY85WBHJK7TC6CQUAA9HH2WKZCL46RU8U8BEUN7UD9YP8DLMW1AT7K8WDZIDQIXMIC04B9KYSTRCVJPHJWZUNDG2VTLTBCCAOJG3LPZVS2NRGHS0ZB8V9FC36X4HP = -36#ORU6C91APY3FL34M1FJGCT11LVBPCJSC3E2902VLJMRGMBO73QCWR5FI3IR7RK2YBMA0U4F0MBYLP2URH0WFUZNML5SBAL41VCLKGB3GZTW1EF304TN8KFXOAO58GY2A9NQ66HD7DECUGANAF5FFWJQ571U4X8L2496NXRYTGDVTLWEYU77FJZW17GZBW2G5O6GKIW6JEGOQBITHIDVI0WTI92TFD0BPINSQEQR97PYP3P5N9VRR336KEAUZHQH90318OWR24EXXOPZF2KYULUPM5PN6HGQE3IHYXM2F8A04DP4RKC46QUXZ0AXG3UUZ3DWWXERAT17VKG3D8BNTL62EKASKO6AEL5I9NI2YGIJMX6QP13SHBRCKDEL2XZAJB96KA4FQXK8IID03OG03EAUMMZDMRG6ZRRBZADD7SY3SYF8P9JX02XCOSQFIYLULVUE7RU2SSCKGVRLC7L54F8IA2S5IM1LY6XZXSUWI6ZCVMTQ1PSOGC9DSHDYYZNZ5HEL10CSYFT88OX52MWXWSQECPR1IC3QS31MDDXMRF11296WGV0032MWYQZ989QJ1AUFTWQSBFSBA63Y1QV0J788E0UDYK7N7PWEZO5HH8PO8HRS4TAOQQPPCI676T204E5F1IJSQ8D9QBJ1Q2EENK6J2SPE253MI8C div 36#1FTJ6LL8F3Y8NL7O02M8ZERX1SZ0C5DQB6IW2ZBEQ7ALUDPGMCFI5LAAECO7UC225GZ5TNK1CAAB6ZI1STJ7RNYSZWFDAR09ZH7VWPSPELT3SOQAJNW98G31O1QPXD1EWS3QEO8BTVR3AY1R2PJVMOAQ3OSM4O8B6NXB65GNBTKZTDGB9HSXYP22BEIMR7CI81M88101FVG42WWATTGRYEJRSWZTVYET2JWFOFOUGYVK84VDXVGBACC7O6XURPMYZR94S1FD5YYNEDWFVJ3MUY3Y1RA3W8QRR03TBUIZPA77XL8W8B09VNRPCFYG8J66V7P9PGZ4XFWGTOG5GHB2D6LEFT4U46ZUVFVN53J47H53QUEU5V2UWIZ2G4BFIIJJ80URTRLWZ934CXB9M5RPYZ17I7YYKJTCDODWGCC. +36#2A3FQ7372FMF1Q0XFF3NAPV8WAOMH61SI6GI9DGFBXVXYEAKNTW7I6X35CPQ4SSSFKL72RM73LO9NPY3QUDIJSF6UPKPU7DLD4H3JIPYZ3UB7PQKCSG9U2YZT4M28Z3HY9K5V8V5RQNIXVL8SC6KGS16MSGPXWU6TCLS38932XW8JZ6Y0G9PN8OZOOAVBDUC3XPQRW6OWTFA9NYYNVDH9R2YNCCAU9V6EVH919X5LY4UX5DAIH65JNY0TERYRWZZV45QSH38GBYC32AD8YP498X685E8RZK3SFP5E47U762J2XHIP4R1H4D84R58PDM5QZ4TBRYCRWMPVODZQJ93168EGBO82GGJHK0XB9FET0AJDZQ2UDX88IQP2F4HRFND374D965RF4C2J83YICGXB5TAXRE1U159RXCFX0IGD8MCR3CFVBRW302Z5ZAQGE7OH7VWV7IW50ZZVQV6GXW54YJYBNKBR1F1RNUKUFGTB7194C0Z1AP6R1FYYV3ITTSEQZ = -36#4UUG9USDTTBQ47IWRKG21QW7OKF2QVA0QGAVH4BJ4VDV8WBPAW5T5CNNBW2F4ASTIQMF80UJ0UDHITD8B4P0K7ANJD9IV9204D72VU7CL3BCUKKPJUVH8X0YWRY6B9FLTJ753SGBSJ3C8P8XWEPQ8BQU6S1283C0PQPW4RPBNRPYS4TCCDXYIRTFJ4CXMM8BGVOSOQ22OV2QWZIJY0O1V4N6B9MJ4ISSXNTT3C9TVRF45PVKL4CFAEA6W03F7GG2VOUAAA7CN1N7MNBFHS9R99KL2GDKV0X2YXCS7SH15GI38VO9FRJB8BKFNR791TXVTFC8RPJGZBEIP5LR4RH5LE010HO1TVTU0PXS0LT4F6COOVK5LZY4H6AWXAON26LXNZKIS6LLZBOPQCFXHGUJWS9D8TC04PTVOFAAJTIGQLA5B23LB803I51WUYO145PJ26X3PWWUTIWRRM93TYSKTOOOHDI8ZVB9VGYIHS5IO0VNI8DLRK0OIR8KJLCM83V5NOSJ1OZR1KZYXU7L02SS14JN9HQFEHRJPZX51CDC4605RTK09V1 div -36#24O7CW2UWVAL84D9QQTFOQBKHI9XC5I7VTPDK0825120WJOTDZ. +-36#C3BZN1HV3NONEBOOGR7K8I7BLURMN0PSJ4JB52XVTDX1VCOL89RWCND1H55F89DACMWBIOIIATLIBFIVJLFR90WY7FJLIH72OXILS9MQOSX3AC2YI1L639DXARQUDTCIKV0OPSWEJD5CB23KMSIHIP2EFEFSY88ZRZVMS8GM155TGVTY6D2JLDGBII46077PBJG1MEYQ7FS9NG40A7U7ECL2T51AEV962RXAKD8DXTP0FXM3BEBVZLS7UVKZN8B53VZ1GOJNMTKSS433WN49YAKS9HMDCYIKR2P8KYVCMDM7ITT87P21PRCCPE227U76G4G6H9ZZ9GO83727TQ256DIN3J4LW4B8LO3WUKEBPUEW9YQ4PO8V6J9FS5BQZ2QO599VXHTT2GRLP245TK8E3RHT0GD0W0LXBH9PB3YIM5PMSRAZWGBOE2VXTJBW91QA609JN9FZS3CRW2ESJ3WXNNHWN0REHNKROIQ74IFVEZLQWQU5XD4SEOHJ8FH5XOUATMEE4IZXR0WGX4J3J0W0Q6KXCM1F3ZKD1A = 36#7KPZGFO88H2AMUJPI213LRIN426OH9E0FPHD2YNYW8Q6RWPXIFKW8JVNGS38O56M8ENXAI7Y636IX6PXWUR2D2WMU5VFDTQINEN8LGNSL19MEIOGYX27NSEVW8HYDB04ZL4XDAY2KXP5N1QN0FQ9HE0Y38453MMWTHLE5W8PLFRT6LCOQI966YVBFL4O9RGNLLUDUW0NVAHDX54XTRYN9KAH2HURPBYVIGYS6AMHWHJWSBA6X07AY29EQXF70V2NF6AQ0Z6M4BWG5EXRQ0JPZG4ZA00X2KEABUWSML75Z9MQPBN8IUYWCLSJISM6V7UN7JUKSIGSCT7SQ1V55XL7BD8212M5RHER9QVZMWW5VBGN8FGS2KPFWIKLX2HT3FAYPNY4IKAH8TC75XPG14N8IFYH2DYJVQ06Z1QA6U2BABKS0XPIYHQ1W2E7CWZC25CHDN8WHN6SWIB3DJ1POV2XS0KEPJ9R9WCVESAPT09AGGY7205EP81Z3HVI5ZDY7X6QQ69Y68ZNTVTTD6YBQ30B730TEIYGCIJH7VNXU4B2GGDFGGQWFCUOJ5R9970L2ZTIOSYN7ESA5X8RIV5P7SP48Z4JD05E2ISFF4N6TA78079UACSNHX4S4PZ2S9OUEM2TD3EUPUFAYUICYL8V4LCDIIQXMC0VCE41SS74EIMMTVVBJZ7PJ1GDBIUFY2JF73XLVVT90DCQG4J0XDIH02NE2IUO40ANWNR11PSK9VIDZX2OCDGP0PQRR18MK40P9G7O0LJA4Q160XVES3CZZ6LUA5GYYHPLVSQ1Z820Q6G58JURMGNR04KMP9WAVXXKBJVNWFMAITLEZSBQX3N9RU1TZQLSBP2S8ZBJ57OM900XXXVRCRMWJR4OQZDB9GR1BDW6RNLC520OFDUDSCG6HAA0JTGY4MI8ICYJ9N8XVSQYLERJFS8VPYI7U7RFJKKD8CXA0P0UTQNRY21EC6J6QXGJL2AHORYXHT2LWPZM6SHBQ0TGER1ZUX6X5Q4PT2UC3IZLRQFLMEAD7GZN68TJABV8KW div -36#MJWG17FJER0VRVP8ETNS51V07IXOOUH9EAW1U6V09GN3L4HBEAWIDX5GHXTTQ1UYB3PUUKB6GN5FTKZOVP97TOP3GXOIKECO1CWPG5VPZVYSHBJH4MALMIS7HWFUOLAP6D6ST81BB4GLL5KN65MT0F024BE68RTFP2ZVWSEFXIC6338KQII8CB0F65KQEPHWEH1BS0OJD10BUXM460ZA9P43QM3E419W0SB3S0DWBNIOGW6QL15PWQUW8Q14XWSL474FROWNUKP7UY3AMBEBVO4TW5Q3WZLB5N5JDIN0ZJYPXMZJD2WO05YFLO8HC6UUTEARN6SKIY0DFIC253XTCPUXN8C1F4FG7DMO0KKRO1T5TOA2OOV1TJ8KPCW38NLWHSDFUV22LU131QBHAPD67ELLB84GD0BK3WQIMWBS15R02DHBSLDWJQWDVEKMM4W18HA89UPHJ9YA4CUIWQP5FYRRO7V2QWLL5QKHPWB5KPGMRRY2WGYW. +36#2KC1BGQG64O698X0IW2TSXV60P1T6BLWXQMGUY430PZKVWWOIZ = 36#HK5HAREIUYQ71HFPK4JJX4D5BEU0BX5FV0DE312P115ZWMJDNWEWNHGZV7L3QEOMXTFL992SVL3URU93YPLM8KJGXKXT2MUVBEXUQ96TDR8CU7ICV8EF5E5N45MLHCVOZLNTN5G4JQ4AI0U63RRJ8Q79XC9PNF4SU2Y5XAFAJV61G5M3SFKOGGXNCDZRRFTGLYQVYOTMK8VIY7HR6244TSYM2YZH3TPENK0SZ9VYINYGDLSH56KN5OPNGHJMTW1PMPIHNFZUAWI6VTWTE7YMUWDS0ALD4URUGZO7DBRBV2Z5LQ5P2QUWB125WKEBYEI2O8C23P15MKXD55OQPJIYLZCRAYF6R6EZ29JRL8223DCSSXRQ51NCOGSFPQXJH345346PKR863HO769ZW6RP8NZ580WKFHR2NNJL7GS83ACWWPDC2KLTCGFFNDTJ0ZE3BAHRWPUPEMQ5O9J3WEFNISSRFABL98N6FSC7XLUQ2RPRTJRQWGYOVPXS25W0W299XCP8QNJ3IFU4Z2NCD0PQ8UWB6ZZEJIR6L1PMMVMK6N2DX0DODX7UINSCDRYW1GEESCOAQ5IHSAS2LFVQEQDIE6PR0N3BRVSC7X841XR5MSQPHV6N4Q2VJ4WT8CCTLRPQUR8L7ZNA5A6127ZHNISBCPSIYG09ZX49UTTJ2L7Y5MPN32FIMNDL4U1V1WS8AE2CVCD7NTUKUB4PHY7TJ37OVJGEN6HSPTCD5WT45030KK3AE10SGGXEJE5SRXGZK3V4WDGKPO4I21G8UGPMUC7GCRKNGO5YNKOUS7A6T9RY8STUS3NP491HU60JUBM8DD7PMLZJFGF7PAM8FDICY1ZNTWTDOIETJ3S51CWXB5JWOI92DUXJ7KOWODNLV4VHM3T8KLTK268KH6GCPL1WHYO3ZRXITIODDZZNGFWPZ0PGZSZFXWLPPC9CCB92JWA4M div 36#6UGURZSW4UFTTOXJJ2E7J1LFOF9C4Z1WQB3WNI8AEQ6Y3KLME5R7BZOPCWT51G2390J9LK2V4NWBSM51VUYO80IXYBLNS3DBYYPW6RGP5GLBLOQFP6LVO19A0WFHKUHNQ1PKWA6YSM97OMVCJX1O94EPJYEQUVQC5G0X7X0ERKPNVD9B2Q8YUMLZSTCNY77M07YTNL1USIYZ1QJ8KLL6E4YQ1YBQV5BB3V5BEGURXEO6OK59T45LIHT8O1QSF2RTXHJUHWWGEYQ2B6XDT4RBPZ1MNKVE5CRQ1H5BRKMYCBJ1FB3XT84FBHBDEWQK4MPNRR9AWK6J399FFYHBQ2SYITQKBMDD2LJ7JGV4X8WKXRV060EQSPIT0MRNQ9GZJNWUHJQN36LCG2GDEPZ9JHFVNIUUO8VZSQGTWFDHTOXHI7BL8GPBJ5PK80B2QGNQ5WC8K5SXX1UIWP5KT6RPA4OJKF5RKUG332WZ0XUD4NLP8L8ZTFLASNWD04UGNYV2GCJFT0VAY1CURTZMM6U883S3HITZ9JQTMLO7OWPOH4KI87OGFU859PUFCDI1HUFUKE50V5ZWDI0LT9BAKN6YYNC3X9USLOL6IYPXQC39JNRER0EED4J1UVQ8FEQ70JSTHJNA5RVR4MZ0W4YXHZ1XE581GTT7YNUEJTF9AMR8CIL4CXTFXKWHLONXXO4AU85AK9BUDRAREPIDU3LKYSH5D7YUE39ZC78MM71HIOHFP23I4ND9KQGMCVCWXWFIMJ6WACMPO57OBMRONSNXQ56PLMZY6VXSJPZ7P9W57BBUXBB2RBPVAMD6NI0UTSHCC3EPKKRCTMZS2ZG1JC01SJV85E4PBP94INIKRJV6QDDYRQMHKPZ1HUFZ1W2DHJB3YXG9P0XJMQR0Y2CY09E. +-36#23OMEI9Y5XP9F4VCP0715GS700QKZ2FZLMZLAXKZCU23CLM48K = 36#1A4NJSQQF5IZEUJKA55R2ZHDCD0GLLY60YDODVNRBFZDIXZ3A2NHOCCQ42XQCZF0ADU94UW57LB0QAVQ15BDSRFLBCYILS9SY7G div -36#LXWS0TF838WCBR4P1U2048VP1BZI5SNS6LZ4ZJ8QRM5TN1GPZ. +36#L8WYUTFE1HZGCKZ7NBUA2URI0H6LANICHC3PXWFDJBIEHJIBA9LVHY6AN3X36V3N01UL51E30JB9VWKSNH7GW82FUHRPHNK45E9S9UENR09X441PQFK8KZI8QAA50CP9025DJD51SX2FC6AX0124CLY4SKIO4 = 36#190LEIALV70BZPZ9V4IZOWODA8A8MW78OGD2CS6AJSF01OUS7Z * 36#GZPHQQN4H4ZENTMY0VYP47BDFCVN3BEOGC6BUJGU9HPREITUGELI3Y8490MBVSKSN276INMV4RK5PC5IVHHRJALI7W56NW79E79W3MKBNWFW. +36#1DRPN467WQ6MTYTPUKIGCYH2LNXX62PYYLE1MRCUDCRXCRWYTT1SNI70D3310OLOC5YK3962I4ZZQ3BT0HO728AGKJOCF9RQD58GXM8VQVCV20QH9L1VN8TUH1EGLMHQSQIXAWQNSLEQ6DNE2Z12RI1HX5OS7Y8OLX7IRG59Y6J0JLXUBRP00GZYI8HR36PQY7BUN8CUK1PK8SU1OGR6F7UCJHXI4WTG6H4RWDC5XI7RWG7SMDZPFVNHHG0K6HS9810F6UIORWACY5657ZHH5R582WL7SQE2E0REAEWOMQ4RI7JASZ0P2IHUP16YFZUADTVZ8C1NM5O70HC2TL8R348NXA0Q4L6MY1L5H7NKYWLTCZM31UI8XG6NRMBRIGHQLY0XYK4RM0PX4RMPGVN9SN79DM3999821KSZ6I176RAURN3VFNJEEAE5FQP1TRO1UCJE4YUMC4Y8I09SAFEUVTNRJ8H93EXXKCZNVJTJRX0WEBHDE97ZQFESY57USOZKRCGXMKP0S33KID27BONYVUPFQ62ILIHVVVKFQ2 = 36#Y1VEB0F0JWD0RY9RZSMD9E30WI29C5GWHPKZK5OVWL05U65O0519BJQYDPNENQ4P2QCK3H89RJUMOE7CC9G5MLQ5HP4FZFS9JDQZIKPXW91RYK55D9PO6V3VV5AOOVU1777BDCLTTH5ANVT53D40UMKVAC570Y657E4LMOG7G891E7IQF78CJPII3TTZYTMWHZXKKIU1COMVOBYEGVI7RGVA727H59UZ5QCO4O5GV63B7GDBGR7N9TATW63SI5QQ5B0SNCW91A3RAGXBSNPCJSFJAKRVO9EWY3D742A63B46ZDZO63DDBEYC3DF4L0AWD05289IILNVXH9R5EWHRK2KW8OHRLTH0N4GZ0E9ECB6T38SPETYM0VU6L4VWPQ6YWKTRO4JQWDU273UI0ZKK22HEUS4RMUAWLF7XT10G1CWXLIF7CIL1XD3SUTINFF3UUCVM7F6VMYT4ELZ9VY3WZ5JXAOEV2VKB2CEEJ77OYU7X70JZY5G7VDY2DNVDAOXY00VT09AF35UY3G4LYXQUPBLQFG6TPJZ8AO4SLKI8PMZA2BL95CJIIM4MMJ608LH590EIE1FVLCBD39GIIKT6IG8XO2LLNXW9QCIG5PHJWP7LXF1FQPNKG68POUBEN6WAVE8C5DGZCUTMB2AVWO5375C452JYO2EOJ8DPSYSLE9CAEY4DMYF9XEFCJU9YU8Y7X70BFNP31VVBIIUP60NQVD1LNT1IEANIVH86W5S95O6GMCZG12ODUUKDLKBZLGHS0XWTVIVRNI4ZM95YFSNK0YZQZ5PE8RI div 36#OMPKYNBRWO4DQ680FC7IPOO4VSC5Q3MONEY76C9K6OXYBZFAL8MOLAA8MCY37QAVQLPQBT68N96C9IC6XD9FRQ1PFCMKB8V7XJMM7XK5KIUFM9BIKKNGD9U1Z9CFRJ32C2OATS0ZCK24ZB4RUO45LK9K2ZYENZUD5U5B6ZHYHHR2UVPMN2IWJS6H71SCZTB02N3YXZNK6HRQ1TZ9FJBAULHPIZXSSGP76S4SDTKKVAD2DZA1MPEKPWJS4R. +-36#64G9VST9O9FYKOJ6OSOVKT3MWS1TBIA6W0F20UNQ9Q7TJ7481PCME08QJX6ZHEVPXMZWUKW4OLWR5USGXWWCD7B22XDIHV0L3DBOLTZ94VSC885MOGZSOFC3XPA04K547RLHR31GKY5K3ILZW4KVJWSEKHZSI07LOIRVEU25W2RR8FKLWLCOF = 36#LO71R88MF7JX4HHQA3J4K5VTCMUCSA1QGQRXOHE8QDKV4G3UXWTPN78RYHAE46VC1QYJ957DMOTQIAG3L00P8VTOV9VD0YDCB145OCYJR8YVTCINI17GLEFSILKEZNR11QSFYP6HDQMX53KG3WPQZPL8C5KP2RXRECBP433C8TAR23PFD8Q2W8SGPYCSZ6SLWU1SMID28SF3YDSXAJWZXXO1LQABZTBXOIIK7J0EAZ8MN00RWRNYYG6ERN1IKC8719P1TZP1OQ36YFS99K2OUYHV2GZ5WUNYTPNPZ8TWNA6TDW784ZRE7LRW991MQQG7W8FGCTFDOB9MCEFM7842U679UZT782U113FD5H8727BL7I086CKH7UEJO6DVTH19X70S5NL1KDXY4VP4KGG6HFWGV52VPN8FLNGSCKXJZ4FMMIO8GFEWAJZSK2D6KLULK1Y265RHFOUNEDI0VF2ZN45FKENF0DS8EE4R0AENKAWST8SONY4L4PS9NE945YBDVS0NHFF8QBUGJP9O9KOP2YLUHKH18J2LXWSPF0B98WVBE3W6V4YQTNN6I1K6RK3G10Q6WBQBD0X div -36#3JEMYC1YDMY9TF6FTBXMMJBE0OBG8BLZIEVEHJYF0BY6JMDSXOKHHOMLJ8ITCPC2RZTH45ANI0RR9I6DVZBLZHSRABY6CBM0AF878F8SX05X9TO90HZUW6MS4QTMI9HUM7AB8BEK3WULDEIOHT8JX5J4K49C9HU2YIHM5WQ5ZVH24PIHEAZDPZLGOQJ5LCX6H9WR2BQB4UT4106Z61GC3O9I582S613IKNEFM88W6DMWZ8N5XGADNX1W7W2XAYQAWFRWIBCZ6OUKQCM70ASA9F5VANHD313IVSTO0JTN2S1S24UQ8D19CLKANSIEVTWT43M4L9QZ5GNKTE8WRGB5A086NF8V9U904MT783G308HVQ0NT6QK4AMMH1QBTC2D8B71FJNH465XKQW2APPUPYOV. +-36#62MISFIYOELV2P7KLBENENOKZJ94Z04IJMDN84CJPQ1ES3U8EJ87UAVW1P6SD8MCNZIXIYM2SU2MJOUR3FYCCKIO5EBK53YPFAG3V0ZZE5Q3WBKLK7L7ZEIKXO9T0FFD3EC20KGY3BIVLLGLAYKU3MZPHCAIP1UWOME8LRICFWEGO78QMB27323U5040IA0M659OVM9XIINM9MY2WU52JW37FJYWVQL40VX7H7766B7MH9GP0U8AKAZRJ5RY75Q2MWMLAT1RLARSLO2RMR3SKSHVEQH6RQJFTBFTELZOLXJ792JUTIODSJNNTJ0U3HLLNBPO08MKXUTX3F0PRZHZ7VTNJPD0EQCF1DN8749A4M3RAC1FZF6D6FSE85TU6EVZRI72Q3ELB9MXIYI15MOWFQRQ1C9HBAA8RG7NQPT1GM11ZK0J42T34409J0JK8KXN9OEMLGB3C47GSGHZM29WIFGC3PI2VO0V38YHOXIWBO70AUH6QEJSGRNH8ZCFWA00 = 36#2TEPGUU9I09ZESMWUG3P92DV9NK09798IPLH3KQ019D9I73T5U6C6A2U03MX5NN4BOR3MBA3D7PXBXC7VTOLH4G2ZHLTGCTJQ73TA340MWQNU12DWVG34E3PYQ6N5CWOEDGJCKSK65PF3PVQ3DXJNX67MDNTAKMJL02K1FP4QLPLK9SM98Q6LDPECRU2BZ1L4UKECCROUY54OJF5GP36CC6XRYW5ORV0OI3ZTV6DWQJEI26EZ8G9RBLTGG79DLUO6QA7AONUDEVIXHTI0KD3CS19BWX24UIAFAOV3SPSI99XA6JSH39F7Y37LX789X33TKQ002IY0GG12XPWX75WB1V508L38WE5D1FILFC45E1ZFO6JG4YEK9M2QMCNYNP39PGAWGOKPWRI4Z5VD5TLUZBZC4THR2SJR28RXWXBSX2YFPODE8X7HLWSSS4Z7PD9F6BQXCAXBUQ8QNO * (-36#25M16J7F87JSELHEYULNO5QOG5AP7X84EVTJLTVYM6AVWY5N60). +36#16L44Q7GVFBGAUO0HGAQNETXMH3WSXDPFA1HK89YXD1H4BX0WY = 36#RG9Z0GS2SMR5JV1CFRQFJGVX8U9J366SQ4C58PA7ZU9G8DKG9TYCZ1WD72NW134EZOPOPLELPF2MQ0SMMZKML5Y084U0LVNMQNYJZ6TIYTSIU2UCTWXNOFEJYK7L1HHAJ54JHQDPTGUUW48IBZNMCEX8F2K53WEOEEQOGHVQ2MOMP3BTWFDXLRM4M2VNX7FGRTDJCPZSAASANYE76Y0UXB7WN5FVIW9SRRQCUSFXYIKNZODRNDQFT8EX4POR119K500J0OYVW0BKZH69FZX23TJNPYZTX2DZGN9EGA2NRXG1K div 36#N7FEP90SL4OF7TCIW0QVRUU7UQNNV6MV82IO3MOL8EKDW44267UXC88QMTPXPS0QIEHT3E8DRZ29VNK7B3UL66BR0LZRDSKWAPSU6QGPVF0YJOVV0V8PWYWP12R7E931U1LEP5ZZZFKUJXK2XW4L8AXN1ZWX6OYL778RZELEZ55UCIXCKRWA49ALA0WACG62JR18BOVSJBFJ8M1TRVHMRE3ZYAY8A410VM3503ZJSSIPCH1PS8KHBYZWRO58. +-36#N07BSVYD4DEGZQUXEEDCAID1Y1WWBF9BZICPVG6BZ9IUA86J26ELRS5T93VOXN59NGID51FCR65U99SO2Y4TZR2FCTKV83SSIHDI2NSSEPYRIDLLHPBLBY6R08GQZTV1SJTAXC1W115UOOSOGJ4KRYDXQF2O248WQKX46FASIH7GRKM1TVDO4WHECW33ZCW58XWUQ714SPEITZJJJMVHBO5F8U8SMKN0K3HJDJLC = -36#BV1YW5H0RM3LNBXDIR4JYQEN7IX0SM09DDVTAO8X7PA6T381AQBKWXM41NKIM65EF8WPMSIZMHFHODUAXLI8DXK6EPR2VKOCUEZ6MP52C6A4JOFYD6QVVEPIA9AV1HJUB6PUJXWYC8HVD27KVWNS9STNUBHZSNWXMI5ZZ9JPY069IDYSHB0N0IY57664X7IJJ1FN970HEISJZ5V08AIYN8CDAQDE3GD5OXXKFDH94UZWLHVA9CHICVNER8VM6IZO2IRVZWWC9K0F0SD2XIBH1NEO0 div 36#IK9OU0OV4V7VEQSP4DSYGJEKHYV8G1JFQJ31FVA84730NKN80. +-36#2E8CIMUH62IM9O5B4A3UYQTJQ3GX8MB7POIKGOCPNGFAQ3Z724 = 36#2DZO3V73KJXG6BGEJTH8DP17V14EQEHEH8YS0WRZ72OJUAR2U1LXTD7RJJIPM72I21PZ7O37U4Q0LE4OY7OJTS1JBKVX5137S90 div -36#ZWDKPKQNP77KB1GL13KMR54PUZQQ1ISOM00L65TK93M5U0NXR. +36#O6CW9YNJK5KOPKKP933WEE5UM4MZX1L7Q0MQYOU172H8SMWIZO6N108CSE8F2XA7P4GV5P5YGIH6KPFBSB5OQNW18ML9YDG5E2FH0R632N3KOYJERBQM23G8TXVLL8WDQ7WJPJ83T9THKTL4MJ19NII1M9XN9P53W800LL1JCX1BUG0O28F7SZHEKCIE3Y7SXWNXX61HS5L7INSZDFKMPHNO8N0QFQK77O50IB3QT7FHB5TZACSQTY81UN33PGNQQ8RJXLEJIE1VBJS5WPGFN1QZ640JM2AGVEAAFY2NO9BUIO4DPWOP0SSVAKGCCUIJG5MU6OO1NT2ZNKOQXADGW8E2IAXBU296HSS3EL9OPKKO6ORP45ETKMNNZSN6FHCTCQX89B0JZ7BGT2974ONJS5BGVUY7PVBGOSRIKMTPM1BGXRH8L4K0F011VFWCM0GBFFO7S8S8YPZ6BZ1ZJMJF38TJC3ZN1LUS0W4BKKN3TOIB93V0O1TS9FBSXH8KVBWYF6UA1BAKNPE66AHTG3DMSNG1ESUE862G5QMXNSQA8SCY625URMO6PA3E7LNGRS = -36#IYZ9X1JYFP20TU7V8QDD5JNN5P5VQPQW0HN19B8JFA9GLPSZ0OGU2TO101SOJM2OF551SRMEZL4AFX3BFFJBM6QTQR7O6JD54ENMEA6Z65X6R4D7QOI8CJ0TNYHE463GMQSQMYKNZ9GB6CZDLI7AI0JV34R4YVY9ALDIS06Z8FIMKTKDR02Z1U4HOEMH8S1A4ZCP3MR4EJ6ZF67UELT0RL2KC441NILHEFL6W3QHPFG2JOAV5FACN6TH7FMYUWCGNMCQB64UGD0MKJ8AHBIKMFU7RZDNP383JM57BNZ97VVC12QBCIDIB6TKU3F3ONEZ6XC2VENY5N2BXIZ0W960TRXE3D0QPGWFYB3QO4XHSD0HAR72JWLJCQRIWG5I2R96Z8LUDP9BGNI70OCB76N9AM9CFY8RT4VBKJVCTS4AQDMVGHYMH3RYRDI7O8OWTINDTILZ8HXCTTB8PDHRSFIL2ZJ7IRBGK54GT5KJ8XBG0I18M78RM2LVXNKHVVB3DFDZHGCU204QQ8S0ZZKZH5JMGTC8G8FFSGND1922XURZ02BFUVEIHFGD6WQFBS2SZKS843T7BIXC110EP099B9Y47JL1UJCBXKTBNFMBRGXR5EKVN1FQXZBBIRXKR3BYSOSXZFJTEPYNN0Q14W0PRU9V94DWJWAJOM20BK7O0SUUUCJP84933MT725AYACHKI1Q7P2N6PUUERMKTS016ST6QSQR8BSH9O66M48VCEVV9KTHH0P0ZVLUGYJG70OTKEUVTQ1TA09GR8YUEH5TUVTJVB9P6YMEU8VLGTMV59270ESGOS22DCJ7X1080ZN7AP4TJL4EW3BWUHO070Q7Q85W2WVPP1B6OC7HGCMKMDNS0RU7IOYE6268AQ4S8RPTHI3OFAGT6SSOFKMT6VQMPGH6SQ4A4CTGVFD1E4CB7X82O747GSE9REQQ9R8DI84NK0MWYLWW992CF9BEL4FXR5M3S1JD8SMXRXMQMCN6A75VY12VWF00CPO7PT6MOVGR237D099G4XCV0KAAV75UAZWC3TGLPWW5EDUCMBMK1IWL8F74SM79GW3M1IBX44GKFS2O8U1DZWL7YXFW953P686EP4UJBDTJK0AHYW0C2FCIM5EU9CX1J480R6QQEYDIKC3UFJQUN9IKHD4IC8NCB4YZ0BS55H2O3TGYSB889ZY8YQZNLE4PJCCHHN6JSTQ7E84BTKBZKS04ELN62I3MIL1MRG9WC9Y3XWS5G6W8 div -36#S8ZHIQEUS0I99YN6FN3EFUC9M6M1IK5I5Z4KNQLDPST18LU4ICC7B5DMJ87X6J0YZTNIWVDODPAII94WFKMVLXPALUSO9AOQ45BV3WFNI2PGDMNLEAO9LLG4TVH28RFNTA2NLRA3844OE4H436R9MZG6VM05BZRXNIYMDVN7PE22HZWK3G6ES2O1T9191OFBNSBT7H9O6L1ZED6N469FHXFRGJDA6ZPC56YG94V1M7RNIMDGO50S45ZGMOMV97C4W4WGUTI7WVJSWMOKWPI7MJT62CJU1SO78E2Z0LEAZI9HQ756USEAX7ISQADNHYUKCIZMTOO2CI9389IGFGDIP3YHHRK94717JS00C996P3YZK8M2VK3U7G5AWXO3GRCHE4OH0IIL1MGUBFD7EKZMBR96H98OCJLL7AVGVO8Y9AN8B52GLVXAAS542PA57S6ZG675QOGBSARN2PTMG5B7TU0RN5FJIHM07ACIKMXOPGE319M0ESV86CEWME6KUXE4ONY8Y21DK3JCKZAGHP5LA151HT4D57TA17VN6Q0TN06LMVQQL3RZNS4PZSQZZ5WG4P5CVH5JWJ3QBXK9CQRQ8JOEUV83XYUM130AJFT1LEH9MNHMLNFKJ17PS1SFYQ7DGP61TXKUN6EXWIOOA4WWTJMPW47G75EAHQBAH. +-36#2PH32VSURGG3J3S98UFA484K1OPDSVXWPH9O6512RZLML5Q5XI = -36#1F7IXCRMJMYI0O7Y0CCZ0CR8TFX0DQ1DRYIHCY0KKQ073LRJNV0YWKNO1TE4JP9TSQ4F7P9418SDW76175LPA9AMB8P0EGYN920 div 36#IWV3HT805OVP9QTYL51U2GQAPIUCVE4FATIFRTRNPYF7S7QYS. +-36#V72OYDUL42ONI8XPNH63AE5Q2KQ7OETF6527V35PBJ1MTRLO7 = 36#2BJGKIQL8MWHOPNB6ENBJZB8P6D2LGY8U6PUO3OTDBYCBL0M4QABLTBVDW771KN9VPKXZD6OUMOPH5T1C83N0LZZJHY5HDKHF0T div -36#2OEJ758S3BIT080YPRIGAKJWAALVISHALPLN0KL2770UCSORIZ. +-36#36ECXJA8KNCAPCVD97WU7ZURNLW6UHZ7CA7KJYZ78HAEZBWS6HWAML9PPMBY7PFO5VLHEELFR1AM5MPGLEAE2X0LPOHDVMNZ74 = -36#38NKRI2DVT5BGOJ6SJXG72IIH94CA73VFV9TEZ4G87BNHNQHA * 36#ZAXP4J0XD5TRYMPG65S9WKNZK0IFPIDRVGBWEZUN2KMLAC214. +-36#F5OYSKYNCPGXXJM4PNCJRH52W3THCHMB0ZJNY3UII6UTW7FQ70M4FK8CXADZS5M9LDKSEX00V7X2GI6YCIA4PAFLFXU9RTQM05UKWBH4ST8PM3E307Z9GJIX5280XXRWLIC6O3RCWH2NK7CWRSXLR6T6JU08UKYAL6NRWIO7K8I1PMPADNHW9OYI1M9SHECWDDTQAPFO0BQ76G0KGC2DWYB85JXMXSXY79QFWN5K9UWCTXNQ88RQFOSHZTII807BWGOFWX5I6SOIGYWIY4DDT6BCTJNWA5UCK8RRCL7GHM8XDW48783QH6KYTJMAU2B4UQ8E4ER84FH3KZD0SC610IHD4GTUQUKHF0NX9AEMOIS2YQ86M4TYF1E19FO2K5GOPD4NG8GF7KQ03IZ8DSTS0GS1AYGNV55K83QZXUR82FDZLHXKWD6E9X1JWP3V8K8XH2RXJ1X3QM8BT5X40OXWJO48FB0JL8DTYBA8VU3WLFYKC3K6V5GDFHCD92A0N = 36#1XVYB4W5N7IMDL20JAI1EXNFRLOLCYXR0DBZVSEKPDJML9G8JE2VZP22MGUW2FY3BPHMHAFA05WJ8CEWSGXU5HUPSXI58YRM48QFEHYLOS1SAW39SRT3ZDJUF0ZG2GI2IQQF5G4MH31ECNVOPP250SZDV25OGFN1X7PL4MK4IEJF4L5E0ZGENI9EJYG6X3XJQDHALT250TX7HUFCM545C0G224CV7FONATRK9Q6AQTH6PL0KK1TFQ8FE6NSP3667NUR24YK2L2CMFDTYVGYUYB7F1BUG2YWP9INBQFQWRFUFNRCZR8WFV2LN5M2LTM6AQI2XL45ZQJPT0ESX5G190SHJFXTERKXWK0H1QL6LOG467PRCHLQ3R8BSE1P1XN69WYV2ACT8FV5TT639Z5YTOH4SHYSUHDSVYFSG5WC6K41IZQ581Z6EG873DT550PCAV15YDIBYMTZDJUKR7GKH2LBKO0O59Y4LP1ZL56X5M59CDX1W6M0O7V461U5AA3GRYVDA1KBDD5TX7E5VG0U7LQMWFYQV2VPWGIR3X7PWZNLLYLPGYCOFKH8NGUYG8NWYRM6ZSVGPOKWQ53B2JBTBJBGDU69R1EL0EM1BJW5FYZBRWY30O36D7F4LKG5923TLOKX20NN2EAKYAU28L3B24G4GOZDZ6QJVAJ5GTTT0WNBLL08V6VJWLL6CJFB2L02GR9ZP1ZTRBMFH5Q1XR9H2UVI6AP3GPN2JW3PR1J4KF5XTL9PP6RBNELYISXFOBVD09T84WMWWVWXNXFCOTCP179W9IYN44MAOJD6Z8YL6IRYXDBT5GVLNXEJ6VVYVYM4KOM7XEG8GQKTWI4QCW07ADJJAQ811S47FIYUSVH6KZ4HJHNTOZ17H3BZTFQESAZ7EHH83CG8LOP2EMXTAKGZ9ZZENUJ3A0W7N57SLIHYP9FXG08Q6P0R2M5S5LI7O1ZPCVI6J0AS9BRNQIJHCMPMKEHG7W5D0N7H7RH0CI8RI8UFLHYBT4XXP4A5KM7CAMT8MEX0AVU52PM6MSWA0N5KEVYH7TY6TZ1QPP8OPE973Y686NRKQCZCFSWP954F82WTBUS0MTPUML7MX0TQM0B5YWWPCWDSEQ03Y4APR5S6SV672EUOA3WH61L9IK1PUXPMIODGDGQUEZ6XR44YJ85DTL0CKY085ONZHG1U39SJMV89OBL8MYUW4GQISVZ8CCBL6Y3T0DUUGUVQPH47EW8PBWOPME15HYZN4E79LL5LV9V8E61GJZO4ZVMWG7W9CQ330IGM02R8L6JE34LWURMAKW0WC48A9K5LIGL9ZIY2EHWEXOK6ZMF5DUJNEYY1AL47C3EX5XRJNOOKBSJQ0RWULKJ8T65GVVHPT7XDMV0A4XFP144GH2B7JIWB div -36#4LZABF68E9NYOJ3JKIIWDVKX43QLCK0605JN41HUCOS64UCJEPENSNPIGKLD44UZPH0HI5C6D49FIHT89AMSGRGOE4KUGJANS1QIXTZA3ZEG1210Y2UH8MJPVZIY50IRBD0AS1L50THWSUU48F7E25AEV41I23P8MXM1O72QC1CZ4EW8ZTJEFZ9MQVPMRP7MDXZX84330OGVP67W9OI8IV88XCAOM8XU55Y3HLSMJZZAHMPZK8SS0ZHMUCX914EO3KJ4PCL38YSTH629V1Z94BB589A2P86B4Q6Y7AN79TEV07J3XW17AREOMB9TFJ6HGVZTRMYCPFVZT8O9LSUYTNYRQ053ZMUPAST9I3WEWAIY1S6ZQ4KBI37NARLWK4ER1R37Y898TT3CIW7VE32T1GPOUL3F01UCMF40AL68RQJSAGGXN1TBSEB53LEIJTJA75BBXMQOEY5YAQ0LRMSBGZOSLX4JWZAWMS3TNZ51PVY6GL5ZZ3OW317S37WA8P69O578PRO32CC23P1JT9W7SGMOVY57AMSHGR87ZS7E54VJ689LU06ANAHDULEDKOR1TR8EUG6HKS4Z0QXYR2YW70NBJTTI1Z3QZAEJMZ8YDGF81W28J9ACLJHDZF1QXO5DZJFL8P1DIJQKWO46NSSTWLLG76H6E3WJCI0TUR5P7QSQRBNDWLK33JWNDO7J6540HMY524X3ACOTSWPBH0EMALO0WPIKDOSP1K5DUCX2T84C8ZO26USLN9VSSPCWO0Z6Z8P2PAJGEHME45EOMA4XRDHVJVC2I8XNQO7IGLMEHPPDPM5ORHHIDDO4IXGN4T6OLPNY6APRGYDO4ZUOKYQLXU9YWM8LNYMWXP8AF6VSPRI7DEJE8PL3COPNCD. +36#3JV7XYZ7YW7MLTJD2BR6KGXZ0R1V2EPK19RD5XO9C7Y2QDZ750YOXXJX9ZI219B8H0YHKDGTNG63VZFWXLSJ4OR3E4O8WUGYH8SYI5WAPPNE9RSSCHMO2UPTG9WSW9227ZP2NOG6S7MT5ITV1PIHOVIBXRULXWRXWG5I1RWCO7P33Q4X748IT03OQMYP98M240DZ66IAG756ZAHRE2T1PBOH8TVEEFTH74PRJVPXH9L7JUEADJSE2JZ3YO72D7QBFDQ0QH0PO26JSC4KSC6RKGPWOXAUHLWID3CROT9AW9FZLTVMCBWTD15S7N4YV9UZERYGQSD9SLWF9DAHXX37MR4XI0HOP0YRXWLXQXUBDQC07P8ED6U05HGLGM9DV95SN85U877OYI95HPRKYAPUD5R53XT2EQIMY83Y3UO45WFSCP1BC7QRQRVYM9ECY52H01JH09FOFK01RTUKDO15TFGR8CQIAQXTW49M7Y43XYV7LOEBAC93OUJZ0FVB6G9HPB3FTF9KYHOJT93KOJQ968SO4GURC98X0DDWL421SXCH7H3RB5Q7FBRZ98Z9VWT8FUVP0EVB5XGVE96YIYJ1HWSUZBARGNTU0SRHCNR4WIOZXRLQISSTK9MK4A0H4TTIDNNQFOB4O3XY65Y50H5GAZGN93CDL9FWEOYPKENR2E98N94SGS6TSC7JB08OE3SYTNV73R801V5DYXTG8OTOHITYD8YHI95V76CDEM90B98LTHS6T2A2L90DBOQIP3KQ8VR37LCKMJWFI6GVIN6QJ2MTJXAVTM1YYNMIE6KB7XDLZJX1E3ELSDAJHKO24H95YCGXB389U9YSDTG4IGVYRVEDLJM3DXT0ULUT8BOBS5Q7LFSN0HWV4MPIOLZ1H39J4C5QSWHAKI84AN6RWGD7X6N728KTGUL82A9S3D4GQVT23TB5XIAPHQCV0MOGQQYXWIIYUFT1099A2XAXBGAB1ZU523I9TI79TD96672B67LJERR81Q2FLGEGM5X0F4UX2NV476DEGFVBE7VCHISVWL5299QZ42IY3PPQ3WJKJB0X98NQ846UMDXCQN8P7T31YXFZZFD6SQ96A31VNCVLG3N3SD0CJNKRLTC32A2RMN7KG71BECBMNEL1TY8LZXV8ANOXGXIEX6BDTYX3 = 36#10JX0QL25GY90UQ2T5FYVC4OACPUR9LGDN0T32UTZH0HF5X6EB45MODU6C90LH8D097IU9MWQ1BIBG1JI18C0OL7Z2BOVL02TY41Y8IGLNP5OVVRMFL6CJZ6YD7HFS5V906HZFNOW8IJ7V4DMTIEZNRMVK0KU5B69PMIRXZIUIB46MP3M7MMQW36PJZ0RH8U4B4BIRJIZ8TVFAVR6SZSXDE2VPCHQXEZG5TB0WTVDUOIVZ81X9642VGMC030UYVO1D0PS7IDTGCXUT87J0R6NSR4Z1U3RSFJU1AU1WAN93R98KYNFXIIC1NK83H3N4ZVPTMZCF7VQPWYGZ5TJDRW102H0JARKI0753YJJEH8CWRTCIAU8DN5BQLIIQLNXBOV8WMBOJJ1JGGU756JPEHZLJTJDEBAPD72WMRP9XXNQO1CN375GBY6AE5IMKD3OO7DVFR6KT0UMIWW0QLY9WE78LR1E4J2H19P2287U4OS0845NHBUP0P8H5HIRPWT7J1MMSN6TERYR3X1YKC3WWYF8TB5MBYW4D38FQF1O40HZ10ZSCVZ0NZBOAO22SSKRF9BGXBNMG73F8RVDE7VICEJYWIVM62CGTXVSOTJ3GWW68YRFYTB4CFFZ3I5FDS3KO4U3T9VFUYRS5Y3Q09V0XJMJJGG29GA4LOAH4V3J4B4WY0I7QC1A5BODQ67RKHX6NQAZ3 * 36#3HXJQ8215YTOVLBNDARAJHZBTB7KOIVZZ78A1FVUAUW2GPT32NFMRBJUQAHVNFGJL31WTYPSM6QPVJU3V3QCY8MGSENW8X6NA9U7YNCKT1FQYKHLE1RA7K28M72E2RIV0BWWS8FY8EV8ECZGHHG35T5JE6N8DH1NUKQOEMGKXZLIMBVDRCU6L1VJCPRP11L3FB3M9L2CIO5G241OUBSF2OWQ9FGLAR7G1S7JEJEWOUHX4DA4NOCWTAWIVZB523V6FIB3UN68BESJWXJVKZLA0AJCM40ZOBFH1V1VJLL3F9DWGBGMSG3OVPYX01OC4ZQKVAEGTMOH8H9UHAH573OQCEUADABE6BGYCH4PKV45W9K71RJ0K5HOMNBU6KK1MINPJW3O5MHHQA528NA5SQIUTNDHAM21XW5NOI67JDLA4XRHEHDI23YAIQQIZMCAJ2M3523GRQJTGYIXD3D. +-36#LX2G1IKCP6FE4E8FAI97AIDODQ2AJ7WC7HLJQJGWM1S7PDJA6YXX2DC7H6V9VZ521RSV30J0XV48JMRBUSNVI3XW94M2YQIO6KI95IM1PBANWDD3ORJS54YM6FLOHME1CPCRILB1TTCM7Q2D95F4P2AWNXLXPYOM4EB4B77TJLLAR3CU643ETZ2CJQDRR7AT1C15MO5UTNIU1BHWPK9R4FROF900GD4LTBAQEL6AB4ZS2BWWJ5XRZYC7YU4CVBF84X0LDOTY1LP5GR0A4S4TYF5KKD30UE9J5UE1M9ZWH4RL = -36#D8GDA6T2YMQ5042ZKAKTSN7M76ABU6TBBQQLHJY7657RV5PPIHQWMLI8F1RSJHQ843JZ3L9DMCXRSEHZJ967HO8GN15WHH04GDBWONJ0T20CQ9KP37EEKAJJL95LXGT4DT5FSV2PAQ4S8H3D6YMC5RD47EZMZMQLJ5BW4HNC1V1KU8RATP1GWAA0Q9VEDM4ZXJ8N5QFMZ4TMQ2M8MIFRX9ABWQKP1GQSPVJVUWHBJTOAC0NS1B2UH3PMKP3B8T9IILESQU58K64E1W41IZT7J1QZYNS4YHI64VXOXHL82VLH28PQVR2IL2PJJ3ALZG7Y30SW00PC20B9ZH4GBC5M5J80L3M55WT66STEOPRVN8SHP0SBEAUGBV94DDIQLKWYGBL50NS5DPJJF3SDUD47JWEDK947ZPBC21SCM2Q0OH5OD93GTWZIHIFHML7380RMJ62TI9LHQW62B3GXA9T540GEXRD08E8A8JI4AQKDYW2C3AS36KZG324YYGVGVE1JW60SC53AORN041WAL0GZDVPHRV8MUPRAD49H17GRQDQ2HBFLTHQ3Z7FTEX7C34SGJ4ULI4XSW1WJFAARS1ULKESGZJYJVX50VT72VQ1YHISOKHPIYH1EA30DNE2DO208RTO6ROY8BS17JU8Y00XUT1X10RUTVU7T8D836O7OW176J7MUWP4QKBBOWQ79YP7S7XYBO5R0VOQ43ZZKQBK312WYIEPB97P0YUNQRULBHAIIEWY2CU9PGXHCXX3KM9DP8LR032H7OQREDA57ORES7SWQ1LIL3AVTUN6KJ8GTBIUP37033FJZ3RAR4URKUZR5Y0JBH0FLQXLDYTCFET8UHHSNRZ2G5ZOCJ8WYQ8DIV9K0DTDN4507478G8AH9DYXM8ST76TR7ZDGY4SPK8I6IEJYNVGB6XXPZCCOG4Y76J031LO9IG3SU06K304W4ZX1L8O div 36#LQJT2XULLA5XVKSSZDSDJX0EG2T8RR67AZEDJI4JL9YCXUFZGJE3R9LBUEGPK820LVDIJGWNKBA1VYMWFLZU33KTOJ0X24VPY0DF0UCEWFO9O08NKO1A6Q4WYIYHDDMV2086ALZ0G1EE7YDV0TSU3M5M1V4TKT0BTJD0TP7TLHVPQVEQ3KRWD7UT9QX1L842N6W9UVZCHJV94Q05KU38FQ8RHWBS8LPX7QD8Q55GRCGNNTC0QB838WSYADNKX70N6SOY3VDK7HYI9YUTRB632L1IMG4BCEYZAWGHUZBBJX28JXM8Q68HSXXYPZ6QM2TORLJNCO1KU3KBUO27QOURRKGV1IFMTQYWCJCBC6B8R4JEE9Y7YVJJGTVKBHJTWDAPL87JVKQICM3KKKDB9WIUYW9B7XQB85HYWQF99KN9PEMVEIRA1F4ORPSIC937P3SV2KUUW4B1QD8JPYW4GZ2ONZFKW8KZC4JBNBAFZLF6G1U4LMIR53KZ0Y2W2EGVSXSM1AC8H4S30631SFE3B829O7E07MMFPJHIUXU5L5BEYM2KE70Q3YHEA12ZVMNG056KOTS9PSHTTFC8NNQDQBY88DIEDQ87S7MQKC8H5FYYNOP8Z59X7VQWFXGFJOH6KFFTLUXNTCL1RNNUZA8JELXHHK. +36#LFAOEASCLYJ7G1LAQ7NDS140BILBSKW3X55KQUA31Q7GFLPQ8BXCL34WFY7YLWIBQZY4P86U6I1NYAIPIYBO0WO8OR4XN0VFF9YC4ESQJRNXVCFB8F0JDYZL5QLO2YAKY6599EZTU3B7AWY7RBMFMI2L0636WNE6C6CMCRK1RV9A0TE6U1DMLDRGQI86G2ER8HLM5GABQU8VT88ZM3Q16O715CQIUNML7W7URQS3LZML08L6S2M5H4D5AC5RUATDRXG4R3NJ9UB19C2D48BR04PFAFQGXCH2Z72H4JK148IQR3ZK1DOY04QY2IXPOQ1Z0WCGQPCCDXF8QZLEDVLPU7ONGE9W514JDLAHWBYZ6CPNPJVVJAFUGNYVOB7L5E8ZK0B30JD7GA0V1JATDDOLH5AYFY4GV6BJBOJFQE85Z6JO78XL1UZKRI29TQX5FQC258KOOP3XTT4XRN0GA9M = 36#J3OIEQVQEQO64IMXM4JQTUVCMWEK4EVXS05FHZIBUHYP2MAYD4T6AZ4DUCD5RPW8M1706HO2UK8BYK5BV59XUKLAOROZMBKKVIEI8N3B3M5OK6AXUSWXIHOVR3G7Y3JHGSFOV685QKVZ7NGFKWWKXRYCG5TSAIUEF17WQZVNI3Y3UJHCZEDDGRA9XEPRF9T5AMCHH6O8QV0ZX947LA7NY2K7HZEQTPD5W06ZSUD3CY24MYF2ZFG7LMVJKH3ANTA4K7ECWW6O5HVWPWEW211VWS8IZ7SWOGJHG7WDQEZDIN6GTK6KZ6GXVSWI13EZKEMKRN6QFHD34S4DZCTLVE4I9RHLO10WYNUI6OMQLK71SQ035JQVHJQ71DRVYOW4N5QOD67QPNOEZ49NPLQ2Y42L5Q71DADOSPFJIVE0P3ERUVGBRZYDDGFYGEXZ3O8CGR2KJ9805S94S7BLLR6BB1MY9XNX0LTOFXN423AJBW4EEEOLKZK9RIYJ1E8K0OI1D9GR4RSO4SHZCQYZTAGQUIQXHOX0DDGALIPA2CICOAL56XL98M6ETM364ERG8WS71Z8ZCTXZI9KJK2JAINV8SBDBBRDX710OAFTAE8XUK9KHJDP0TV5GB9PIL82B81FC5CA17EXA49N8UDM8O87GYLPT46OL0MUYEEC9Y6X4MIL0BHN5R78FLG0Q0AQE4CS7ETBBDCGASLFC2RC0HW35TTWTPUT42RP91LHE5N40P57DZ8Q7XUE9GVD3VY5IJ0S0BI3QYB3WQ6OT79HMDU4D04KROQQGD038EMVG96SG572AKUG7QS9MOD0LLAYR30N12Y9Q4Q9DFY8KNQI2623CW5GFZD0UWXN7CN9Q0UH2IP3VYH5VJWGFU4GRIDGVCCMGVQ228K849F1KM2D1I666EKHXM5TU731D8R8KKDHSQI18ER9TAAQK1DMSIXH1Y5E8KOZ1HIB05036B8VAJ6FL2ZT2BFVG3AM7F3522Y2UAIW56UPKKLUAAEJ4BPEOO61I86FEI42TJEVZBUUWF719WRV0YZWGINL4I div 36#W3I1ZOR9N0HMI7746NHST8SNKT19YG96TUALO1XXHCX2884PO5K7SJ4UH9W7A855XP8DYUD8ZJ9AGHBIRAQ392XM9BDZ6JBY7HNMNAF1464C7PUQD9A28OUE03JTL2KD9PP5DP4BEXDGPM86EO4FY1VTIKW73D1XEPPOU0YBMHY2WJU9IYQILNW762PU1XOEOIF0DA74DGRNH45M9CSHFHG42EN3ZYST81Y9UW9UL5DL5946IDEV2O2M1ZX4TG7DCMPBB75Y2K0QSA37YVZXZV6GGDRDNT5AMHWN9DBTGL7XZYDJ66UQ01F1IKISQZ8TMDAISHHEZZKZLMLKNW1AOBOKV2T652EM2POCEP5N5UNSISRA6WOC000CZG2NKJ8M1N8591L1RB6LR189JFT7UFELQ81SEBSWPXY5MNQMRAKFSYZ6L7IJMTAELHK20TZ0SDCYK2YU4LYTM8CSN38KJOOFHYMX7TGD7AN650MLL9EE24RQJ1QH6V2MG4MDLANQZK21FIPV90E4CYMVBTJA7W2HXAQ5FR8CMQW2TES3JPWSUQIDM6VSNWYB1VOKGITEZ68GR247T9. +36#2TDGXR4HGVGGQHRLD3EY691X4S7FMJ9YL1HCK4CUQ6Q3GOTYZ3EMLSU0VWKRZ0OUA2WU1WWTOIVLQALSX95GW3G0YBJVG3DXSGG = 36#X38AZF9DYNSEAL3F6LHHLKDLDB3QXBDGL3TFE8S5W3HBWAV9T * 36#32AFYB89YKMCODGZ1QYPQIRJR4T71F1A3HJC9OWK9MJBD705E8. +36#8LVNTU2XW27VA5J6XRIB23W8TO6JUHH8B0QOO02WYVHL8L7OQB33H6HSPC0CSBXEX6PXOZ7LGHERIOSTGRZORJQECH79I4UFFW5EXE1OMLE6F82LCRXHIEH4JOVPG5M13I9DL88YRCT4MTR8WBC0B4SF3F4Y9G2HVW6QLAKAOT31YNN7FPUGLLRFLYLTRU24H8ZBLBS2A4HGT8VYK3PA9PDC15E4JIAUMLX06VRO0FVADJ45N7BT4MN6NWDU9GX1QHT36E0WFAIE8EQCV0N108QQ3YFIZRH7KB78A3NOSVSZG7U5QWM51AADY7OPG1HADW31ECDBFT15CDG5EDWWWRQ6EZHCKF0LIZ950AFZ46XXH1KHVB2JA1SAAUN36A6PFOA8UDU84QSDVNRKWDAJVCGST2VX4HVENYEGR9FDMOI9ALW1D021AOTMM27VO3T1DYUMGXRBQ9EPLJGMZ2KY8FEXHKEW1OQWZXWT9HJZZ8JLKT5M8DFFKPSB4I6P17WKOK1WLUQ75TY7VKZ8GWEZOQDNHHP0YR0ZQ50O4BLVKJBKCA42WEFG6A1S9XZOVYDXGCCK3MMB8BYU0L68MTJXDHZX20OA0J3ATIRB3KUP87E65EMEDUPHZ802BLD9KMN6QT3TM733ZCVOLXULHW0XJ99JEL491OOKMD42O6ZVLTSZVBS9FA1E65NZAP5N6I6K58F9DAFPQDIPNGLL1QOPHU6ZM7BXLL2ZC8FN471VWL45J960QGZ36EAG3UEBEGD0FLWY8EJ7MYJUGKYGYRNSW3HTWLO058PJOF9S9AD224JIIRZ9XP19F338H1ZZNO52F5SP2HGLHY2BDKMXJK6AFKN5ZPG280U73UWZNEF1XEFJMVCVKRSKDDY3YZ6SO9MTMK3H4ILY2H4LNDHU0I03U9KENLSAL780RIZZ48YTS669TJE8B92W6SOZVIDG00MFW6OASX9AVKRBSNVYFYOE15QI3433H9ZV9C5Y2RXHIXEHQBDJRZ0JYAL3523BSNQK3UKIDL5FBFRNXII8D2IPLVG3W7ER9OGBEVU55WS0LD2M7C3N1M8SX8QDT3DQ70E9BQEKRU8EU24D4RV = -36#3DYUZ0PBADNMQIBZQ68WXDGPTX9IGSM0A2F85EVNQHEVIA75RYMFD8UT0NDPI1LWFRV481LNEQCLI5EV179RJ3O509EUFDKW7Z4F8SMGI27GAFFFSRO5SNAKE7RDK947L2TTXYUAFBAIITK2WDHFDEJ8GPPLSQYHMGCMVFNR0K1A6YSSCI2FN02Z3FHH7CV7D9BGRSIP504UBT7WV3EQFCI3WHS49A4BSW5Y2G3D69925RYZLMNVS58UQSIK50PSGBAPTFSY5S8E7TNEMVJKF6GZXHR9IIR6YLS7JKPFK70NLEL1P3Z2FK4LT4XKRKJXUFWZ7LU3WLJZR208HHV4DG9TL595CIGPGF47K4P8HQJWMGO1UHKKZBQA8EZI5OHLHG2UF41D19E735K3DE2NBBK07CGPDDXVHI80CW1BE3I1ZZF9Y5OTEBKP3LDBP1KCRVS085HMYK6OHS7GO1XSV3FYSABO1WOU9JDIH9G5R4N7V0GVDY6MYLVUIPOUSF8R3I59KVLVCZF9X903QSVH2O5JQM9VJNWDXYJJHHZO1YZ9USPY00Q2JN49O4TITNM4CICLLDS4SMJ5801MZQR6CYT2BW0YCQGRVEEIXKR0YUD8XVNPBLIS1VSFW6I87G25IR51WF29QBQRU80QGFYVG9BQ8EI7UHESEO9B81UOFBXZ0V9MX9K02EQR81CCHIDQ7KMT6PFGJ9VN2F3KENH01QOU0JPDYGXN6QTY8JR7QG25M4U1CX0LRN4BFCRGDHANHXURL3XU156HMMIV5JXSXA8EOD5YM3UYR6QPITIYQL9JWWKJ3NOVVCMBT * (-36#2JGOT0LCPVN5HES3E34J0G76UR93JG9N4T8TWGJXTZ2A1ZITPEO2CO40L1MVSTLDSZQB7OJKIL8WBARNZYYRDJGTWIXCML15G8G75AF7QKIJB94RVQDQOJHAYEUOST22BP4FZ3IWB718UV8JRVKVSFIEVOK5VM90RU75B5FEYYIFC2PE2F56T3V4SGSDVBTP79X2PG2NMQGGCS82FE9GALD6O1YHB4CTGXU6ZY5EF1X6Y8JXJTSYBZRVT04D9J04ELFCOZ8WH0IX4LGKQTC7DUB). +36#CO04JHAZTUBD4LFAOSMVU3UR1DMAKFZWKLFZN70NFZ0GPZK20 = 36#29DZA22NVG9K82Y512Z8MQXFM92XGH9DW5A1UDGTIL81CL1D0TUY4M32POURLGCXVLY5JZFEXD5XO64HVK9BVC1EY6LGYNUMCL25SNIPW0N57W8OVI45V8CXCKQB626TZYS0TJLW0QITSARJG1WF5Q07CH9FDJEXPFK7DKJRTD3HR8UWVJX026HRMMI5QM3I01TJ7GN0YAKG8UHJDLK17YGPVRKU80A6GHVUSRVCL5RKQQH6UVOSBECWO7L42TU9FVCQIR6RAWYQ7B6UAM0 div 36#6FB8WTBYRGHQ75VIDKB866SPLVGJOQLWTR9OBZ8H9SJCBX2XX3QZ52L29M95XLDDW5MKP0ETTR4ZU89HJAEERMEAY83B0WYLPHHHC25VQSCLCWG5NVE15EK246YFO2LCZBCUMBLALXCSW3TD7LTH5LWE9ZQHWC4XAK5OFOXYZCJFYV1JOHKNSCQ6Z80EE5HIPIHHRNOGERJMLGL0HUINDM4H30RIDFV5LB. +36#E7YDM6MMVUYYJOUEERHXJVFI91GMYCPWZVRGZYTKYSITJRBLDJRLCC125J3RI9Q4OMGZKUXETO12VMGZ8CWIG0HAUWQJYTH9MOU7JOWU5NI2PBXA9KD91GGHI1VTRAH8DO7YIBM7FAJ4HK85OXM50R59538YC1SQZQPZXDY10RJTSDNZWC4D403M2EDHE1SBSZDTXM5DQWX2SSWA1DV7XK6Y28C4ZIVVBUYQKUZNZPZGR8UKBZ844JMD2IAWQJG9YRPAPE14M471YIICGASTLOA4R6ZUZDQ5LCV3BIBOH4Z7AOTLY03PW35XDIBV0UOVNJ54N26H761WW5UDX0UIVNJQPX199AGBK6FA28MRILM4O8NNTRBWIVXU4LVBSE7UYARNNICJQHNYL57KB1HJV2GFEXL9IM08CYQW9QGR1XERASL25MCSR59QB6QL5SW1F4RIL3MF15OGX9UPU4CFCVGB21BL9ENLHHOJKLUA21PRDB5IYNBITQB9FQVI6GRHR1UI1EN4L35AVEUAZ5QDD0GKSXS40W1C3Q2ZVQL08GTAXK3R423XQBQNQ881FQCHTB1CT8VAZ52LYL5050XVS77YWPBGHNQBM2W17Z2Z0C04CZ9VGVBZ0EIJLLWXYKPOGFRPG28V05B7LN0UK1PYNS7E7MDMAX6BFIJINO8L00LHAJTIW91NALYC3WB6C56CBI7V9HQG3BNMMB5VGE3XNMHSUSZKPQE80AJMTLKMP05FVQAYWSD = -36#5K20HIRGMDM2LKR5HZ9Y8ID23HIQ8MTRP648RLG8IG67XE527NZRCWIX8MBQNFC54GCKZRJCGBV2HPQ0PYWHVA5V6MFK54KC1UJVVSURONN4PKYEDK7IDL1I6AZ7EPWJI9AAOT18QBS72XYYII3T4QPSLZNE2KDI8R5HUWCEBU9KFA5AT1LZ2EFKE5HX03UIZZW508SZ4QE54LI4THL1NXOAY0JDFTGCO3JYUZGUNNF214E1GSMRPPH2FZ24P05QUHOD7Y6YBJ2F11R1AKU963J0FQ8G8HINJYVO4LJVMI24FE2410EB9ZQ34ZO9NOU2HDFKRF7HVXBYAVQRBIV4RCEPVFCTQES0AUZ4CXNY060N8C3YU0I3G4GV43Y7XOKPVH5Y0PBTNPD9AUWHALR4MPA6UKXQUZOG8XLFQOVC4OE97XZUHMXUZ1JRP1QQZN4OP2WVX640DEZMARUZ41TQCR8Q1PTWH7PRDI3FAFWL7P8SKP8NJTEPXMCHHWGDY7U07GWWWAGJDWTDMFHRR4R7N3D3G5VPUFC9NQ6U2VIUSCATD6JCPC7YMK4OV9FM2MX4JWKN4ZK8ROTC1LH3YN925860RR48ITCQPNKOQ874EF4T409UQ8MVYB2DCSLE2QYLOVJV5AMU0H3PBIY5WNX7QAV5W2T3AJW9W6SHCIFNO3G4ZYOPC2OOK01ETOBAEF41B8SNHDEZU8IUODB8GOFRK0L2DJT5RIPQUH2E2S7QFZA79ODCBZ2OZ636MH9ANI4C3X8FGUB9F3HG9E5QDJTYF42W9QXNXPZC4OUELI41ESFR0K9Q648A6RXTLQ9AB1LMO89CTT1NZGX8S48QB8D5ILW71767QYNODSBC3BMW1ZNQ8AVF42KUUYOHQNTP0A340I2ML4DDKMGXJK3P39MM741YRAN5Y64B0OCGWWB8VWBZOINQC5OLLVWPVNUSGSXA26T1P99NF6PAJYKLUQQ76RGBLPUCPPPYUTF0EHQ5HPBD82MY2JJIWE6HGUO9ONVUXS6WJDOSFKX7H3AJ62YX div -36#E2FP8BQMU4LX09VOOMETP990OHI42ZE24AFP8YH60UBJ1W3OO0NRKR993FG5KI3R298DFNMDR2GOI0D5ZP5CMAGAF2NE3DMQEUW8Y8P1Q04AJQRKKJV7L2OR7RU4ESDEOF5ES5VYH2MJTM9GXNS5RJSJ77WBC3PFFNU4L47TVAXPQKVPTLDQFER0YWXCL8NN7N9KZIFUL3X76CP18YDM74B8R43OK3MCQKJC3IM8HFO11BUWK51JC2BTVI6Y1VYG4ULTP10E6PQ51CCC5GQHE2T5P488S11BX. +-36#49GXJADZM1ASMZFNM9G2GGBEP87YF5TKL4ADQVP1PNKA20UGCN7NAW7R3E09187UPE9DNAI2S4G7SNDH4366X491FEY3E8I9SIO = -36#1MP4RM3POVFQPIVJSTLIOZOQ33MF2LTS2X4YJQNMTOXO7NVL9E * 36#2M4HCQYZR4MRIJ0VN16QBLCUPXCTIALM0WUFKDVTE28D6V9E1C. +-36#GTBL3KZECJ1293HPANZXN726F6Z44I8TZDOIX6VMJHFUUKFTA2VF93KF4KF7F74XOZMYNRUQE4DMIHOEUNG535C1TYRRENMJ5OX9E2VZRGZ1E30FFOW7UEJTFP4FOBB7U3B0YMB0RSWOBMJEGJH6XK32LZ0V3L8LS8BBL9QIL68V4ZFL27DL9KZJYZ2Z8GUVH1UNL2TJD9MXGNOKGMJLO4B8R2IOE6VLMVP9222QP66PQEJGR8F6553SHCI8BK6WP3PEL64BA9K6CZ03DPDN9LJDPECLO1IIKTDCC0MK1PNV718LIZURVLSJYJQXOXWSKQ1S569CCLP9GS1VWWY0OYJJ7XFBF8YN039M27N7SNGCOHBWWL1MLJL7OZWSPVULWAOMSEOBG = -36#1C95BFZTCUC3CAJ1I8ZZXB449E4TYPQON01F9YU29WP6XQ8H2XNMV6RALS5XIONTAYXG4O1NEKLZHCOHJVCD4BI91LYYZ92ZOHWQVRKAFFWGJRRT48EDBSESVEH7ZRRJBAB6LS66R9LO8ITW1H6FNAG41U31MNA8F95PEQ6604ACR4NGIYTF3HNURTCOEUP1W0W1IZCS9NMGVX31HYLTHX5UEG7YDOMJSX33TMCR0WITT28B8XMENJS4YR4OZFYNIRBPI36LMRVFKNA4MU8R4R8YBG8EOX648JM8QX8U6670QQ1WBM1MLC8076D0JAOTRTQCO1MZKHCXMX4Q5U0MRBOQPRN4LLTR8ORKO9ONUPE2TOF8EME0IL4ZOYA8YPT3FU9YTWQFLB10F11N02CVN2O6M0LZX23AJ5XFUM9CDW3QEUWZSY6S06GKI28 div 36#2VB90FUDXLNW3JCT89CQN7GPD62OX5D4ZECGKVGA7CTOVD1XTW. +-36#BEUPE6YGNXJ24WOVA679AGZ98RY20WB4QYR9927RNCR3Y0RGMOLX4P3GPV9HHNMTD5DS2AMDK9P3RJLDE8ENBDX7JNG79BGHPQ6UWEJHN7HUCTOXQDRIY2L6HO5KWHJGX1DBN1EYXLRMPHZGYPX9MBEOTA3Y9L8M36SYHK3WUH88ABD86PM77FWLVNXJYU9N4YAZ75I3U3T1UK1V3G495RG5IJ5K3RXHNECMD7FT9F122H3F0ON4WX88X8FRENKQU6W2GTAL6VNEYHECW3PSOXEDHXWRAVZJJUE4QBN4R2UP65VGOCVDX6SI61X2XX3YD446WHEOPVZH6IOA718PMV6UC37VDK7XICS1MN7LT39CIN7TBPK1I9PWMVXPU9AVF3GEAKWKCRL18 = -36#17R882MF11JOI528V4ENW1V7CLMVUQ1IFDRTOMIFH40P5Y8IMEBH4BU7360NE9BF0AYUTY91XR99XORKMSEGZTP3P5FIQRIMV2IHVPWGEB4730O2K009T1FEHROT7DLQOWAM9U8V36MKTHG1AVKAOT6AL9YWYFKEF0MYJDF4LZQ8QJCMIJ1OC23CV3XXN4BASAGTT2XMZCYWOL2WKNCW2P4OQRNI4EMAFKJCSUJSHMFX1K66LAI8HD0Y3MRQC5WNPL5KDIBW79MM50V * 36#9E0VERP0W4L192XF5EPABITCTIINQ6X59BJIPMZQ6E5FCVV9F6G3I1PE47LN47KNZ60HQBRDQLVY3KMP2Z2DNHE7N27QWWVVP22ODY6HGH1W4C4JGLRNIORDZUXU7WK. +-36#VI3NJG0WVQP4XW5ZVJMU2QAUAQXUMVWZOU4PJ4WZA2NUMB8MW0E9HKAY2N5HZC4Y12XZ41GCSIJS0K0ZIZHIREASGET98SK1SG447YU5DM0PA2MG1TS35KXK1FRYRTDIZ6G53Q5NRR6XN63TYBQJDSJ4ZZLNJOFGJQIY30NG343JRQZM4T613O9EO8TDR4V9SI0IB8FSZHUE53MAFBP31CKVOZJIH6FBF77RZTEWC9AQNNQXQLBRGAAJPW7LOPF1JV1NOL7KJKMEOS75PPEM0AVQ1GAW204BP8QIL0ZAQ20QQ4GTS16SH01O555IT3AYH8VQRJPW2MXT0Y6ZTJY73US5HV8FW7GY580TJQHBZ9DT24D00X1MREZFAXRYN0GLTUY192WY3KL7JISP69M422ZXQO33UPTO4PBUD83DH4L8W7533VV6QH7A9GVP2Q3455M82I2NYSNV1GYFGXC5XD1IPGUDNW8BM = 36#OK2JMXSFCIKMIM1O4BJFBOXYT7VMFN3WKW0U75KAGY7BO0RTUOYN44XFGENUPYX6WFQ1V4TL663YJRZ6D0IEG730XGMX54AP1AWQXOA5KEPMNJT4G2ZQAZ9N2S2GYGZX4TTVTT1Q10BP7XNDOMHMUX9OW1ZXSVX8P573JJH3WTK9UNG9US7CV2BIQC06K4GL8K8PAAHKGLYF62R5B0F6JRDEETETXFY5CPY1LD4GSTG9C6394PQI2EZ7UCGKP0OE4SNSVCMGC25FLB6DQUV3S6F22X5PKE6VH55C2BJXOXMJPRIP6P8IAECWUGA1G9OGNZ86FBRSBPZYHN38Z01WRIBV7Z2ZQ9N8JEB3YM07P32FB1VLSCEJ2U71WMLBJQUAGK6W97N70CXLN7M5XNACVFP8DWAOCVBJWPP1285YEMFKIUKU6BA5VR1L8O1W9Y62U5WO5GFAD9E238K9R5WR8BKQ8RDOIT8Q6OSHJISHK9YL69YNAG4POTNBK5D92V68IVCTZRBO4GM82OCMAYQAJQLBROTQD4OWYI3ZWLB6MQ2ITOC1YMKP6H3WN18PL9L8U2CR0AVGRW7MIGPOC614H1BS937UBVWO3O36YZWAAB72MWQ9WTQI7C1X78G839TWMPK1O694A0BNMCE1JAUHCPE3P83NWCFRD6TNBWABCUQ70V7YTQNTDVPTOQ9V82B740WXVHXV52GHU7UKPBDD0IIYU8ONLVBZMQMH5SFQ5RDIZ0WCGYO0T7FMWWTCKTVHHZ46GJQWG8TA3I1UIVJG2BALRJZ7J9ZRCM4THKTQA1SRU div -36#S29XTPMPIL96GUI5XUHZOE12X20QSLWASRECDY2U8L5IHFJEU3KTRPIZYEYYJO5UMZML9Y78Y1CO9VPXOHT4A3VKF3O8NN8HEMOPG6TQPUBEZWBAA1PJ9DXN7NTZFDGR3VTU8XGREPJGEOWFNKYX08CURJBVK8RK1U7N7GXBOKS2XXVIGLPSPDCE0WP79LH016KAUP94BK7F6UUUZSAV8B58E37TNWGAF9PD4E3H6S6QHR2R6PIOIOM5AD7EFMQSW0W5S3ZSSV0YTGTO227HTQL5JWE7XUAV4L42YX6NJ17X2LK34I5U4IIFLE18KX9UT0WXRXJT5D0L. +-36#ZX27CD4NP3277T2BZ5JM318BUN4POQZAQO1PJ4T5KA879DDRRBCBUPSI6BKPUF7ERD5FOLA6M8FJ7S875ZJO70M4ANJGP3V0T6F9K3UQAV0WAFRYO1ST4AVUVX6YH6X8CSNJZX9CJGIUB407DSPH1TKZ2K9AFC = 36#LUGTS3WKNFTPEY0LWQROX3TYAIGJYJSS43GMDG79NCQQ86NRAE1RHYCQZ6333WEC6LXB49UO6YFEJREZNU0UJVQO2HG5N5OTYHAMZNNTX8811HKRTIO89AVK4E0P5HJAQYKI1IDJF7F54KTUQE7178PB9SSC26VNVX7KJ5M5MIFH9SHE622M1FHHEINW0VUHC9SMENQ8LUZP3S0 div -36#LW96ABW89FD97GB441E6V8IZL0FBEB6EPHOG8H0IOC4TJP0WC. +36#EQIKHV8Q79ZQKHC997WZBW2F33IQT81FMVFW9URNR843LV1DX6U5P4SUF7TPZSUEX3UBBTZPRL4AWOO9TNMWU42P0EI8OSKD178FZAQ4PX64GSDTVRC8O6SZ0GG91124A4XDK7V9RWITK9M81H7MGX0STS2A1XZGJGNIZ3RR5PK4D35AQM41OBSCAGABTR5K3UQU1Q4KC4A9N4Y8D29WAH2EPCDIGTAD25J54SDPUOKWRSKJP5BJD1S1VFTELT7HUY8OM3KVBM1MR8YM6M7MWVQ581C9LQTZLHF6GKGDP2LSEVLXWLFDN8YE2B9VWTHGSHHRPWMHPP6OXI9MT1JL8CWTR6TWAYXSCN56CY7 = -36#15XHNFX3X5NIOGL9DRP0FJC3TOBVRRCOHDORN8I4K2NY813PRWYZYL7ZTTACBS8Q08EQ1MKC38LXTO62HKZQR4TBKLTIY0D9YMDTBCYFK6NWT71JBYFVNZQ2FAZQNAUPVXP8AHWV888DAK0OVHE09RISZ2CDKKIZIFIDERJMYNE0XDXY04Z0LLBGDTH0IY539RT9QIRFIC7PXDZOBDNSF64QCKGFIL9XF29R0LAN8Y1LZKP9SFSB9IPL6OQ4V8CUDIFUEZIKD6XEA3IFSFM0HXGABQVGVDN4LPBRCDJT52V52UB4DV5Q2U87U30SL0S19QI8VWPZ4F8QZXYOKW318HN0M221JWQ99YZ8MCU1J8NF1JUAD23ZJYDDNI76FWJ4Q60MC59EC1E4IT9IW5PZZFQ7Z div -36#2UFJINOOBHWD6RRMZC00MW8339N2A83221I4EBO0QLYLZRCLN5. +-36#Z4TYT73K2C7DSUGHP2OVPEOSTF49K8BN4MNZ76QSEFUAX9RJW3TAHIEJ1EDL7T1IDN88ZLY933WDYJ2CYC3134JB78Z1I6APPGUFPH18MFNTDKBBRIK2CAJ5QFZWZ1RHHQ3224VUAASHOGJEIXEC2RYMAN9VK9YQSZVF4ORFQOTMWGNOPZKZ21VP4EVXV9ZV5I05Y7OXWM0RBEGROGHK2FDV0TDLCFLEJSVNUHL2VHJO1ZLW9IC5VAYBEEGQT8CWAR50C1F4443YVJ65HK9BE87QGG48R1PPQM9IGIYOIA8G0PEZ5BA3ZIRB7ONBEWXSZNK7RNZTCPHZEUDKL2UM526KRRAENJ6O2L89RT34PST7FUW2HHAYOC8D20I5NBSKQCGZ247KQHBQJ5RSP7OERZ4M2ZW6OOAA2FTWM9KGAR = -36#3938I1B2JZKBOA4MHTHEKE326Y6MYGN6KD6N90V8TC2U01WV6C3FIKGYKSXRC58R5KMABGH8YFZTB9OU3TCL1H9GKUCKIZYKJ1DI2PJJJQVS9U3QFU9OBRWLG9PNKOJB95QIIEFCJ9ULTNTL6ARXTVZT396EWRI6UNJYP15A5CKH11O13HSJMTI26GC4PYZW6YRPUPHSQ7LCGLKB3238TUVFQKZIRSBRVO5AJHGFSW502YD8PUC9RNKWGOQ78BS5CJB5ZD8ATCM144FK9OP64MUMT2QCD55QFNE6YDCR01N6VC43117S2693NABADFL64KEDY386E0EBF8KDYGK0DY2B8LL975YZ3ERFDFAQ2MBSFZJ6E38TPMZE8H * 36#ASVP0ZU9KH4DBRUJIE7PINBH44K9OAOQHX68FYWW06J2ZX72R. +-36#2Z827J2YJ23B67P3VBAEOUVBY17QQC3D7BXTKVGOU2IRZ39HWL = 36#1PD78G8ZY0TJXFJ9YYI0PVFOWPWIZ5O7C20OTNAAEDZHY2QXLO1VTGZSZDIEOGB2QK4HCIG9HUVUEXHFSOFO2QTJJH8YJ1AVEBF div -36#KLQAGLCKZTL26EQRC4U1H964L81HYORMYAHGTOKQXIKVJRKIN. +36#792G5X5OVX0CVJZL2OWOQ5EO9QJ3836WWT37O5LAIELLND1IGXTDOJJAOBIO9TC9VCJFCGW1IJKUPAU26VFEZ0H8PD5NBO8FGD8S2UEVBO63W91O45AT1YHTYLI8LLSSFTFTOPTJ5QNXNYIQIHIYSFQ44YS1MDQ0VBOJAMRYUB0YAJ7QIOAUICP0RDCYVZDA2KA4EF4DGRA3ZJR4GJLX5B4 = 36#12M8C93XP9IIMAR02JMEP3EWNA78VUHH1UJ9Y12KP1XG8FR7BEAFAU8KWDWMJHU1O3MMA50RT8HDXOGIM6JKK8SBX5T053ZSHO8O3WQ42YE9VEPDDHBKBX5Z0KWZ5BGLS77QIG0OP2D9JBXFZ63UVWUC2CTGEENB75NEAG1UTWPMAFZEIDWPGBKSEG1K40MWMSX8XIY1MXDDRR8KH9LLWA4F0BRW6Q0XOHTYXG74BDAUAO0NEN03GRFHDZH27P2XIVG4O7WY3IG7UMEKZ4HDUGM189NPN7OROB2VT0J7D2LEPYINFR7NSAJX0K3LOR9BP89IR3LZHNSWCG div 36#5BPF50XW1N6Y1XV4CCU76CO45X2VY1OXUZCHZ9XGMV2VHV652QE4IUR2BQI3J8FVFP1XJ6KHZC11M4VTXIRUUIWF6KO9HDNMZC8B4F6KXAECUZODVLV7CEM. +36#OFURFB1ME739LFUCX7I9R9FEAE5G06T8ETYYHD5T491HPO57IM63IRE2LIVE55MIRST0NY6ICEGZPDB3MHE3PTCODB4JFZ14P8JIZ6SOVYAHQOPI2ICPF3GB9BRVYP8E6ZQSS5B9NE4IEGAXY6RXXBKQOKFG17HZQ1B9AAGE2G0O5VACQGCG8C83ORZ9UTB6OCJA40ZHAGTMPEVF730J1BRSD8T9TWUH7JKCWYZQT0NXQ491QEO1L1QDNDOPUM5WCOVHDUROJDK5QHD9D6ZW62M2XUUOM0FTTB5GXBLFBN6IC4QU2EH7GA4S30K7RV4LIM4EJ8PHGK5NRU2NSOJZM9E6K9H7CA200DFQ2MNZ8M6YV8ZNZF3TKO0VVKCN6RL22RCY4APZ3Y70DIECD3PG38LTMSR3NWTC0WXP2W0W2ZMRE414I6W10N83KF6WS7DBMFCTVA6BMWKIVM1FILAXJLKM2FL49UFRXREC6FLSIFXY2JQE11PAHICMTP4JJFAA81R0XF782IXGCJWD1GQF54IVS4EFHYK2INGS7WNLZ4DIY2340BQPRB9TUOR5V6XO9CP90YBXGA2LAM48H54MTEGLNDQDQQW5H0X84XAG7B473EEX7ZGCA62CAXBAP3694RKIPH381W2ZGSNQAP7IUEV2ZJKFJLG7MPTSSRGB2V319BLAQ239DZI3OHBAQA7APOHQM2GOA3ECH531XTAOCNI618UEGWU2IK6T6VU5GZHAZ3QMDVRB9M3ZAT1PAJ26M7RC0XFNKACLJEPN47TBPTQX1XTIQGS1QP2CE41W79I6HXDO21XW0LSWH6F1M8EZBX5AXCDZJ39K0R1CX12V0IYPJNXEB0ECF7DJ610ZLHWGBNROT4MG4IHA4DDZZMAKDSM64QC2YZ9DX8U04FRMSTVP1H0G019UEDXCFV05OISWL6TNUIJYBVP6Y4UU15I0HBKP8RDZJH0DPQ5FJEBQVQAXSXE25ZZN9L5Q5EXWN1B2SL859855GYT3ULFHZ6Y2M2IXMEC4V347KJLJP5WDCP2R41VKS4VAMPG6YZ0GE1Q2EE4XUJL3ASI2ZUPKBQ4WJA8KITLL05BPYJN9Y7DPYQEXBT7VNP8V7BOC93X7SMFVYO4N34MIRV6CZMC876HA3S8XZO317OPBBNQ76OMI00Z95DT1GVYKJ171DIWOQLK5K7G49L9J5PPRGYFOKTLVXEL93WAXC9AM5WQJQ2JF8ECI5B5DB9EAU7EF28R67XRAAN2XIG0RLVVE2C58CPT6N95YRZ171WTEWW8KLSAU5LW3PPUSL8CD2RL1VER6FG8NBL1I = -36#30ZPT5Z7FVSNSMPRU0Z3IXDNTC2T4YLR12FO797OIQ85VRWEHJ9R5V0XY8VYI84GGXQR50P7OYLX3PNJ1THZBTR57XI84NRJZSJ6T4DYWHRDODL7DLV6J39EO2VSRM0GLMZ7VGMU7F9XRVRZXYKMAL7HE3S2YOIAPNSGEUQJTVGJIA11BXSRVF6FHND0SEDKMJBL52W7JM9XLX5GI0RDP5X5AL7I01NQO6A8VLXAO9X9R2H5P228T35MJV4V545Y96RQGC9MSMXLEQGN5MEJGJ0GUWZZT2PS4M9Y9YJ3ZRYAFIWB2DL6LSDY9S2BJ9KM21YJSLURSZIIATBN9UINXPM8NDKY4L74ZQVPIGILF6KY53WCBN0T02DYJ1468OBQYDXWSAWIH04FTG4JD1CIV0I64KB65GX6YB5V8W32SEZ3W68PDZV78I9JY20VIXSBECUB4UPL1SDQOE2YBFQWNMQL55BNDKJ6OUT8WZYG3OJM03MJ6J7AFKVGGU7XA5VOEIG12NP8OJJTADF5GPBZLHJQEC7DZCRTCZ8EFNPOHTGYTXRSK0134DOI78DIRZJPAM63MN2KF8VN478N24BWF40KE24JQVFWGV80FTY5I525RCQPND6F84S0I * (-36#82M56HCLIP2D8VPFIBM85M7NYUI0NXRCO3T4V6OOH7IPOOMC75D1HYUPNBBL08E50UFXPJ4I2N0ZPQL7BYTYGU685IP6KQ9YYBUEY48O9RN8B3VQCW8LCPQH59ME139EDYWLGPCX12ILCVWJ9MC4FNU5EEKNL01RZXP7X3GLVZ3PHHXVXRN03T9YPEVHUROLEPUH1X0N733O9JWMQ8PZLOQBESVTZTV93JT6MHCIP3W8O1VQ20TCYYVMSJG0H5OZYUD9FUZCQTGIAGOOOYLTWXRV2H9769GS5HI59YX9DQDZDVHQ8CWH0UQ3NN8H9ULIHP2WRGZVB38SOXGYWW4USH7BO5IN9DB62XPIHFHX76SBZS342SI9XKXHQD4VOSCEJ48YVD12VKV4BTZG86IHQZ2KGQHCUPWYXOKLZYQZ1NYCD3J61P6BZCO7JZ4TFIAJURXMC252FN1687VSV0JBROJ5YQ9A39J3X0YND7661DCS5CX9L0HYXZFK0XG5ZQQ3RPRH32YTXBB0N6L4AWGXRK63IXV2AIP8GZ7WUQ0CP1BFA7ZNIQPQCH6HRRLD42W49CSRFT7V5TLUUA3F5GVW78G2VD57G6WU5MCFDH0XA3I7A9WR9STT0POVYZC3VEF4VEWYTMN6DMU4MQHNXXOY2LN9VXUNW6QXODD7A5HMV16T758FTGREHUI3). +36#2K5ZMAG9GRZ35R2IPPLON52Y959GUAES1L5UWXO3ZEA5W655O4 = -36#KP3SH4IENNOA86PEG6NZF2O3NHGB17HX8V8REY5XYLTGHRTOOLVVKQTHE8V69KUOJ8JA97EAH4DI0UKVF7CXC0N3D0VS6LBV813W7VYG5Q9TWIBVIZOSBKIG6L6EG4IWLGQ29DM3H0UQRKWI1CV5QH4UUNXDIGXKL75T99S5WON08PIDI04PB13DWBUBBFN10BU8IXL352635ICF5V5H80NNYMNU0NA4AI03ROFTFT07NU22LECD864YUJ9GPE2Q142KA7VVRZK div -36#831BH8H2FJ7M48RZ3R960WJK3LCYR0RSTDQYX7P2AR79A23Z1H6KUJ2KT4BKJE5GOSDWUGTVPAL5KKUGV1GZTWTMKZ0ZFCD6ACB0Z3W2BVHU1RC7PXYJUKLD3JM35NUYMQUA54Y0N3HJOI6YN2INYO5Z2BJSEZNHV5X1ZDEOAB84KGPWDK4L4V29N01E5MQOFKA9VBAYMMFB9OKS5L0EONX3NW. +36#4GZBD6GNGYZG5QQRHIIPGVPHB75EWCTR6ZFPZKRHRUQ7FFKW7ZESPDJIEZY8Y95DW3Q44N0RWGA3SWNYAIQYWPSAZ1EB9XFVZMNSJB49PD9H9YGC9ZV4O7TUCU8S89CXOM245E6UMTYUEZWZQTH65QCXCD7G45366YRD1FBOJ8X964UPJWLHCXMT7RB80DV7QX72N3SV3KH9V0463LHYVTEEG4TP3JSBH89KLMFI16KLDQYBKTWAKLQCILF3526POVZ75Y6UH2T4OR2E7GC4TS8O0MNFWJTBOBB8LAS288TN3F = 36#48QOGF1SDBCY3C33M8CUMJN43N2DFW4QZ2NMMXJLBQKKOPPX6K81YFA4Z7XF59GV67DWG9Q60BXMHQ551IA1MXP2Y5YA8T5E4ZKC8NSLXNHW2B68CMDZ4681VN1U3JSPN7VCWLLWD1244FK3D8ACJB29OBEHM4WSVI3OMWIUSPFEKXOZCPO7BMCCDF3W96FW71Y55HAAF4DOWZ5ZXJ3R0YO3FGNWQZN3PAO3ENS7GEOH2FDYROJRYPP88D55ZXI0MOXGQ950J4OV3WEB9SOJYUJ5TVZDDOV26YJ9H9XCT2BRHO8LNTRL4KZQ12O6PAMMJ0DVN2M8IYCS2S180EN43LT9K4L0JVC div 36#Y5NVXV7QEOFA8QGZ0NSSOU0AAAMMFOBY5OJVJQ0R0U11L7Q2W. +36#5KGDO93NBOGAK430RK1UTDZO7WMDDPUEH5NCMGTLWUKNPNWD6MWZ75SBICBQIHBN54ECR11AKS1I9UQ7W6OFZYBS7EJ7L7G8I2FMWXXP9HKJ4L3OU0 = 36#AASDG95UFKZ5QJXQPF1O7J9E78STICRYUQ0DHWOM56C7RY6A1VJ5832RNG1XKCTBC * 36#JGN3QSZB4PL139DD1IEYJEFYK34BBXC0L9ZL4UJQVP770IBGR. +-36#2TX8C25OY6YG1N795HZ58SCYRB83MSKQH3JF1CFDUDCQ2ISD2A20DPC4NPVYMGMB5GHA592LPA3JAXIEBACUHZZPIAM8Z9NP4S8HPZ4ONUX54421ZWCC0K65F6LYS3C4MQI0T8HTGAVUWWUUT4A8CQVVM2O074L0B11UU5WM9UMQTCQ744R2Y97CAQ4RC5JOA1AZH2096H4KMYB7W0JPSF1FU40N6YSHIH1CB7KQ64IY6J9GXT7O3IBNPOMKB82ITRQBRZFIHTA1CZDNL82A4Z1CYJTHLIH6I2E3984J04N48IIV3ID9Q10OODZ8MY7N5OL0LPG9JD5RSAO9FPYC5HO1FXM1AVV8C8DAHH2LUNZKHEAYWX0S51KX4V9MDLF7WSVI389V7DK7NZH144C2G4PREOMXSQ5PXR8Q98FD624QPIOSJC1ZUMMQUKVPIQDPCZK95BJUF0BHUX7H1O7TEGW4536ZKKQU576GVL46R33YSU1XEVBYBD563LP089GI28S5HMN23OQBZIX89X020WGLVKZX9V5SHWLQU32HMROB1AFCGWN3SM45W35 = 36#3F4V9ZVB5J9NFYUG39U39NAJT4ALH59ADYDSZ57OLO6RA969KNJSDUARHI7ZBC75ETBTXDNHYAPTPXZSCVM9G1161HDF6IGL0OY3E8OU7HMKYNE78ES1N8QLW1WW2CHDY7GNIHQ7ZLQO8JX9W7Y03TCWIBZX6K038BIP2WFJJ4FS8LEX9FXIBUURAFS01M3KGNTGKB354TRFSAEB66P196EEPEHNYCZYN3BNG0QIMNNBT6S9EKP863S3SXI5MHQ39JPETAL2YUDKNQRE1AJU4TG8592P0PDS0CABYLTPN0LO98QFP5LZ6WQTS0XS9PTF2L90J9SQND300TLT4X1H5XTJTXX6E4YKAUS6WVZ4MLENG630TMDHUGXC29DS7F2BI3R8UYZSVCA1O4X5TDIGTGLZV8TCRH9S9CURBB5JW5VG3Y6RIMFJBF7ZKH0GEAZZPLA02CAWUCN8VYYHSF6P7GZKEQOGF41TPPHZU5XVH607T53ZBOX6S0AF7XSPBGVNCIIL1GPDNVQ54XS6ZOL73MN94FCB5KYY6WWY38B5SD70E06Y1RJDGY0396YWBTXDB3RWGGT6IXYG0FGMP6LYA0VI86N4LPD53Z2C5X9LH5BQ div -36#17HQ08BSN7QN7E29HGTNEIPAMP7MZJ78LOTF6K2WG8UTI42HHY. +36#Y9EFKK82YT7GP953KNWX71XO6VV5XRYFANDQUHAVJJ4IPLHBH = -36#ET9IK5FTAZ6Q5QJGOAQ6MW9SPE5X7D30QV7FJUA5CV63H4T7XOECRBR7NP51F45VOOMA6KSGDZ2JTNPOKMPXD326O7CDPRRZSWB2EDH3GPJE39CRJXHXZDNXSPS1NLUKDJY9L17N4OK5I9OFTS6DRRKJXNYMENNF3WKJ4FEYAD09GLEOGAXE3DVPOX89OGPL1JV2RCD66REU8IIPL9TLBTDKZFU20L3CTPOJ7TAC2T1RC035HLB7LKTU2ESBZQBG11R26CM4J12D6GPQ7LKC8LEOJ420YB6NFINDUG3YFJ556KEMOA8IQPV8JPUYAGLF2FS1ZAECOBRG97Y6FD996AVE1B5CS4BKPLSV9K3HYLGLPPO517DN59BWTFX51MFT64E065GKRTHPSJXQ div -36#FKBUNU9CJLCFK5FV21VHXYILZN3ZF3QCRR508TL4INJ7M0X8JMMW31DH8GS9QBU0JPT4E7W5XZQMCFXJBX2IJEWQEDX1F7J4MJOWC2NGSFY97WX3G42XGDJVGMYOSCQ1W75G4HY921UFXNG6S1M0XV7ZR8ZHNJICM5529UWRAM2V2HCUUASD0IIY6C6Z9F9F6Q2MP0YFR89GL8UZX3Y5D9ULWGQEFO5GGXGRKMN88AF09W74X91S8D9EKE6AEODBGD086U1KXIRC3IJH6GIYINLFGTVZTAGR6YCEII6IYMFJ2SN469U6C0M79CQOPG0TLZFC5WPO7U4K4BUQQC3LSU0YJM0TDRA. +-36#1E9IZLLVN3NI77JDF6XQ21O85VZKXPEAEFJGXA9MMWYI1O3T8SSIWBRFI7BLQRIPTRAPIWQWSUN6Z1RVGJY51KY1PHHROI8E7CE = 36#J7QNDNKPHACS7DGCCWEO6IR5HJUBMPEHJW4UCKAGD8GRAPQYZ * (-36#2M67PHSQI5UDJ21TDNN0MDEXVIW6MDDAH5WELJDL21HQGXU91M). +-36#EY4N3HZ1FJWSGZYDA2MMHRZVRXZPMFQSDGY4BEF56FZKNB3MK = -36#GDUG5ZTI3C4RCD9QTUAFVUB2MU0KL8BHH4L8WSMOWLMLE9XN4VZCVMOHZCUPJQGHVAIYOO36EAOT1DISIFYOBR4PHEHFULMVUC7MT1DG66TWKBJ07IZXXAV3AKM8FKD966VH7FX779Z0 div 36#13GJVH3L5GIFPNDR60FF9MKUM6JF7SY92NJUGZ0V1ZZXI3YVGPKWHJ0ZMF6MPJBSAQ6HGFGHARMRBITK58XCK9WP6XO9. +36#1PO0U2I8CNDJ1AHM97BNKYDPIGHCULJ956YSGMVVCFE42TTKZS2XAY5QOG04PBZXYYBBSOHS55G9G0 = 36#6KK6E1S8FRTM01MFUDDEVAZQFU4T1IQ7DJEIKUI2XJ472CGY50S3AJWCLZGAQJL5RMFG8H8N7KJG0853DT6B7NJQK4IUDTKLH9E0QVPSNHOGUXV52QFAHTHZCLZLEJ4QYEN6JPPQ5SU7PDOVHAI9IGYWGQQF4KGY4H06PLBCXSDNFTE6BJVS4TOAGEMW7ESUKT40J6NWYKKQ1KMDIAXOP5YM6EGFYOZEKR66Y7VWT4UOWEFLYLKW5067HDZJBHYUTBEXVC3JWF4868JRFGG7G2LPZAQOSGOPRXOZC8WS5CSFSCWL15DJHUG6WMM5FMOVAXW2UUGH2GYHMVTHJOGRJYVKLNBAG7RYLLSPKZOT7P5405826DCHI86EYQ7CJ32759WE0M1A1NC0 div 36#3U3JYGNTGJRL9CQF7OSVXHQ4I3WDAY4EKHYFS2FROEP3F1JMJLJ4S06TIX7NVFH1JH1WZZZ7U13GWXEAKFIC7E9R0R4QQ9B6FBVGJOQ82CNKXCDCOLAVAWHM9I6WPZ9NBLFF4KLFMQNJ2KOJWQB67FRDKIUVLDLZKDKN1JP6BBW9J5GW9XIJZ93O57000YOIEKR5J1J0PEVMNQYHFYEAD554QF3XOCJDASI4UH4ZL7POZAMN1G0UUQW0NLW7K8FX5GXE3QBW2GJK9ZSMLFQF81UZD9YHHMP4ARGZ4ZEOKJYPDCKNWUEVT9M2L27614U. +36#CAP3X4OSI5GJUW7C8KB9405KLXVJDO2EQQWXMN9AR1ITTM4M2FDIK8DI4IJWQWD2YGV6ENBV5LFB11H2G6FK7JT8R72JYR4F8X9B7LHOB478ODMWL69TBFNFQHUOO0PE0UWSHH8P7LMKAN6LVSFU06WCLLW4DJH3PILHUUZ01NYRBK70QDH115PDW4CT6JSFVSYB72FVAASF3ID92J93TWN2SW434RAWMZXQB7KQ1KP9TAVPSZC85IRDO5D4V6KI0EHMSS5U5USVVZOY4F1LTV30C0A9MHPQ9H5RS10C89EJ6GWCVA5X2ICV2DVHLGEO6BXBEIHQSFZJ7E219L141PCJMO0KGNZQJGV06TJMKK82EVX40EYEBP3VAT9C1JTTIKG748IM2GJIXTZKMCXNWB837YZ3MBHAFDLHFTR30NX41YHAMYNY1K4TVA8E7QBI8XTS7C0C3QHW0LXI9MQIYGNZU1KND8HHE4IKQ25ZBBP64QVQBQPEBJGXU918K7AHJYNO9XP7Y0IW9SAM4960Z9GLNBWF0LSTUG4ZKNLR2O1KZPF1NADLEIQB5J8Y483OD7JA0OIOHHZFDYNSSV4EEDOJFSJHIGFBOI85R9DNJ216XD5XD6KLTAZZJNU9KL7O8OPTE0YVE0OQUNY9GJQVWOFSWGRFJ6Q1IH5UM08KJ9WJAGKAO6FLB66HVG7YPAW85KXGRWXRYH0FM6Q6SEHYF2ZORNX99HB5WJCO9XHQ1VELYB1ZAGXQLOG1TI7G9S1HV8QUV54 = 36#F2CQQHOPX7SSKBQ33PXN9O4PXCSV3PVETW9F5E5IYMYR39HH9AL4YWEBHY78TX30KS8RKGAY1KLM6BYSW9KTPXS6G6YI27O8PDMLMDCH7W0R3JH5CMQ3Y9FDD2VUR9BU98ZPT1HC6M9A2TRSQRI6WY4303UHGUVPQWKXILODW7Z68SG5BCOYBPB7QCSEXS8SYARTA2P6J8Z0VEPUL4TSF4RMW4W7X30NLVS0FONQFL4A3PK9BFJHY4ELBNEPP84B5JK869YYOFF2PFU5VGHF3LDHNIS6JSUJY8SXTOZOI0PY8BSECG3O8Z6V24HW48WI6W625UPG32WDV3QYVWR1SLOL8D7ZP2K5XLUDAMGYM2E90EMT6YPUN1IYHNC47AUFK9TXDSUILF9ZODZU5AJPOIYOAP2TQEBPDM98HHKS * 36#TDV1SWNQJ7ZHLO8QFX79UO7WNIVVN8BB5C52ZXJ1PHOLRP0SWLA34TX47QU6VA0AZAKULQ58YB8VWEWXBKXBC2P8J6OSOBLF7MNHHUFKRFMM1ZKXQGHWV8M0VCIYCQ611NJ7LQ3QN3ZOP1RMPQGFTNNWO8V91NYDSASKIG3LMO0G58RNQGZZ3A8HVK1IX5YPCCS8MC5729KDXZB11HXQ749AXDB5RQ9EAB1LETF3TROET1WGVJZOJX4E19AUCC51LNAO39XR08I0KK4XQAJ8RQ82GI2ZG9Q7JP8AZ6805Y6ITNW95Z0TL97JK6E9TNLM37MG0648HK4JHW44IPXF572K7ANNWGM. +36#2HW9MWPHE9WTBQHB6OVXR56L2FQQV3N9T4VRL5W6283JYOYREN = -36#56DG9P2V5FR4FRM2V6HO2PZZEHSZE7XBQJ2NCCJU1PPAIXGXUR05WIAYUZ2YMR8MFTZVWQPX5MJO82T6DEAEWX0X2UUBCCHDU15GXKRKZO760VJNPXJGMUAEE9ILH9S07SMVVJI655UXSVJVYO0C5B0ZBTELOVMMNN4SRJU9NDPASIISZRDX3G2VUZVGDCJIYVV8WIFLT0AFN89URVQUTJD7IYV7UX8AGP7ESDU1ABN3VAEEMTSTX38VQVDJ9MQKOXZOND2E4NL3AVYRS2K0OIV4V2QT2RAP2Z1CZYDUAXZLS7C5GUPZVD2QAM9A4C38RTK0234GL0H9IAUE9GVJ3FZGGWEEBP2CO73UKNLWOQD81JJGWQBMYXPO3RUT6SZ44CGZG1BMI div -36#22MVJ70KARG912PAEQHF4CKS6JXNIK5PDW0N8OJPRGKZJW26PVWJO2WYK5S1NBWPZFT4CMII7N9BIZA3W6DK4ALUEZY2RLLT2CVRLI8BCGO8GYG51TZHYFU82XD3L1FWC4FTH8QVHYEW6S8IG8UAJGKA6J895OHWDY5M1RA1Y49DEIRZ89VFUB5NP9WIXVYL75NHU81HQ3IV0S52T5AN5LZQX9IROJNQIDPNC6QRFDRMC6SSFIVINCRZ6QVZLNM7I9WUBQXYNNOSQRTTZYJYZAURP0D68U1YRC3OK5TB2DKYJ2HKS1WHKHOPT6R40KS6VI8ZCDMEISGZ176DTBYJ0ODI. +-36#DDE76YL9ZE756OG3ODJ981EVJRWL0SGOSEJWEH0OV8JPYB3OUADR5ESDTP94ERLM1FDSJ17V2LB0EEBVLNIXR69Z6GPYTFC71CCVZYFLSH5I0NKHVMCGQR2D4XVQ8PGKEBFUNVLYZVCS7N3QN4Z0EE14632CK3LWERN270FLKFWLJY3FS8TKEFQCOD7WCNJJXWK9LA26I3EOZ58J2E3JAMY8WB2XOACIARG5JI5CVDX8H652TGNYCNZ1UFAXWYWDWWA51TIE29SY3G03QJ3MA44STYI75MI9VG2JF8QPENHOURQV6QXOTR8WCV0KWT26V7CO8FNT6JFNIGLZ4AA8THFWZPB30OW261MBUSZ5W0SIBAUXMFZELRVICVDTPH5EWJGMJCYXLUVK0UQL8LI0XK1VIQMSC5I97YMH50DTZN08BU7P3XBZ0NNW9UM4YR5ZF5H19KT1S7JVEB0LBXXWEG48BVCAKCA8WX0I1M2SUFOKEUIUBZOJJJ08166M7VO3K9EKTEKBIKJ27Z64RQILWXQRGKX8NU8R4DFEMH0VGAISLRS7RUASHDBYZ71MHJY3IC7GO2Y3L5IESSZ4XX9LEM28SMI44HU0LMT6CQBCS3HI3XJMB61CWCYTEIA6G3A25TJ13CE82KCQBVAS2SQ5FDFNEM6FR7NZHKNTICTEE9L2SX7L8S5LBXNGVAJF7E8ZGNTIH9XFVBF3OVY2LQDDY8Q9DLEXJ0LQVDZWCHN1IQACAB5JNTMQVUZINE1ZNWH8J5UZVPP5GSR2T627O44KW1FFCWDDGLQ5WHV3SZB3E8WG1G1S3JTJAY3OOTPUELS5AA7RR179I5VRGDNI9MZUMUTMGVHB3TI9U574Q07VNRIN79BO7GNZ3WGQKUHEL4LR2FO876OJI9L4VBG7DJT0TGSUHRH564D91RIY3KNODLU9ZKBS3USGYPLWCAOTTVOQIMGBSLP = 36#VF3B1UZQ4F2BW1K3B0NRT3MKJIO40E7ROMEO3IWAWG68DC853ZHXX841BUZ030652RDABPTMVF31V83TBJZVU2T8O31QOJ6PWC15A2AE5MG0QDR4QGK4UGOIK780LCUN9L0UY9SADMUFL5035B9TYIV01F8TKGM4E7U9TMOJA05HKVHSP1PTT0HURQTLP7HXVCI4129QDD1UM6WO0EBV1VW6UUIUO0T2YDNYWHL3UY7WV3LA901JB4REUTS6IH5V8Q68MH80LVB70U3WOVZWWDTUMT6ZIY8L7FARE0TUZGTCL86DB3P2JQWO69IJCWLX4SLUPP1FHSKN34K5WCX6GJDLCMWCPID88ULJ8G6MYTELANW5UKXEH3KFJKBD3AY4JTQPJ2Y1URV715K44RHQL6NXT14CJ6K8AOISX0GNS0THBCLT2YT3EYOUD51JVZDLZVW5Q4J28RSMC4XUP1F1MFP09W6763WIO03FA2K702EV48752OA98SAM0V25MB2OFGXTSKYGL53MR3PBFO81TKW77BKH2QQM927OR7WVL0T3MEIOXRBKPVIIV1WF9H1L4BSW4J7OST7PRSY0L3119MXFUT1G7CCCCL3L66G4QZSPW1GWHYUN1Z0TK5LABTCP96ISX1GWASE42RTSHCD3FC7Z8HU9XOJQAZ29DP96K9EOHUUXPKHXMWIW37FW3E53D11PLQVUTDPEWXVHMCNM545MSA3AHN6TAWOR6SO9T64J66O3KT9PBJ69M1DVXK1PKDVA2VI5ZWQPIP5J4UVJTKUU9DE90PLCUQO0EZZ3BWB785382E5SKRJPBBE45NSEMYTGW382GZMMJTZLTFFJ6MB8E3I89CSFJ2NOK210Z647U1NQLHBWEDX1H7XGYT3OF8OEREQVNURBWQSF1ZLTXON2W96EJ726FJLZUMLE1RX0EB1VDVTBYYLL7E9WPL0Q8CRF2MAUYG1LL6XO3LZKH524XLCI2K4HE3RL28LTC4CYY0ERMT3YPDA68QCHG64FJ0ZOM4VZFAQI5DEK37MUT28ZMEHEBDLE8CCEG1S7SRGF45YXCCANHJO3X1QESNGJ81NYDXF div -36#2CL3NVG6UJYODNG1GZHC70JCQJCWYZ66MGGQDCY2YLWOFFQOWEGGNR1JQSS9M20NNU2LFCSGLA7HMTCA3RI7QYE0YZVW03GVV25TQRRF964NRTQA1KBVDS5ZTKQERGFKF. +-36#1NT0QKWX90OGM7PN5OWXLMA48CGA5EFOC0SG898OEVEH0366TEIF3Q7AH9DVXPOTXJO1274O7YWQRCEXI0RYK2921PRS40OW78Z583VKD0AYYKOJYIG0QR9Z0FQLSEPSUQSXP3G0171957YCS69U09F28N4NYSH1UULUK6R8KQZGJPE2TK8JJDG6EUQAH8XHALNMCLYSXTB5N10NX2J98F7X8ZG58H6D2F4DRA8896XVFXVPXU5UG6FZT5BWSPOVRV1I7EBPNQPUXRFUTZKO3XW5U39EDDL9HK88YJMBUVHHUZA4KHMFENEIN5IYW3R4FMX9L2GBCNXYC38KNC6RJKQ1X45MI3FFL23NO8QRQOAVQWLEI3QMPD7PW3RNZA9XJFY887080HHAI14XM9U7NM8UKDZMAJSBGUHLAEYHM1QA7 = 36#24YX3X68AN0SDTYDP4158HXBIWW9BXB5ZEWLAMCUAJQM2N1RTTBUAEVG71YWVCZ5A17HYF086CUCO2IC4H8LR8AGSZG3IHB2M8GPQLNW62X0NM85LJVJ5T8UFOV4L7GW63ORPYA1LGLN6HE39ZEYX0LNRC6JC6ZECZ5MSMGCAT5ROHYS4S4H6RIJ48W7JVA9HTPVLQ6F2MRTADZIZ7PGEK1D8KA6JNK52LOYNHYSIAT6LI50XIO8OPF91DV55LBL7PXDY3K3DB22XTJ93H9JTPI8CVDD8RLGWZGSVQ0KVRLWGRZVQCJF8UFPUZ25VITSF0JSFL3FN9QF819CEMLUN7AB9J3T39TE2YU2B70N2X4210IVFVRR1EWKZ2L3LYDJAKY54XH37YEEH24RDSUH8LAI7SYM8T9I5V6ZWBMDDMWMDZKSO5BMKBVLHJ8XQWRYNEYKCSF5A9JSRWMXOBE84CLEWPFM63GBPEWUOHE954Y3XTCL22OHHWEJUQ8VOEU7SGYH7LVJWQOYNQPFFAXB75Y1HU997NJ2814D936CTXUNEWH84E3M9ULSJG4JXI72E5CQJ0J9N1FK98D9PZYE34K8CLRTUO9LOC0ZM1INXFDIZ84USBZ3IOHS7USAGT13N2FNDER5A6NLC3CL7CZ54WCHHM5LQHHU43EN5N2TLZNHR06QVQZ9XIWX3VOBS5ALV724CZDFAM6WJD12CYUE7AC64C9U9ZZPAV7SYQX70F39W2N06H2KKR5Z73NMH4574OOIM2P75JGIFQ1A1GJJASZW5QTWWE5SMQJXMABNU0PBTOT2V030WTSACNO9M90SHJU0UA826VA06RFN1LO2SW div -36#1ABXVZB62XC0CQSTQP5PWDZ7YJ80D91VPLQMWCKJED9MWLWLNIDLOOHRC3N9ERO742HEE35J1W5T3HVAHF2YCF8LP1HVE1OX9HLMT04LHPA06078JOIU90WXO2MHU2M0K98H3H06MDPS4LIPELD5IT71XT65OAY4UDOMIH1ANAO7ILAF6XS9URF7ZFY9M2H2HJZI40GWN1NI2ROA9LY2H8OHD5T6TKG5J4FDNCUEOMEY8TCM4GX9GAKIMUNYJU0ZW90IAJFBASTQWQ0W1H9GCZG295B8RCCVY5JWVK1JZHZR7F5KHFVDCHKY2Q9H4D51S59DR4GMU5FSU48GVMDFL73I4BP54DG2MAQXXYTLXVU8VP8JF7I01WGB0PSEBCUGBZH26EE2K4Q0S4ODTZAO4XFRDFWFKKJEKCCKFCJ7BK. +-36#2ZP533EK1QY2UB03P1HAY9X9DTBJ9R3FZKPEM2AGEVG45XVOCV = 36#79XDTJFOT1YDRPLF33CZDLHZPYK5T508QR090DNRE2XGEGYO0IWASA0DW8FMVZWXQPJPITFLY3VGZ5N9SNDT1JZNGQ9EWS9MHIF div -36#2FJXIHTWJHI4UO340G136WE6R1CXRVQJLA4VYPUFFCAX4PN42X. +-36#JTMKPONNWUN1TYVYGX341CQA7FYDRRQHZMCI22NUR0Z33LKCBDFZ9KPGM9UWGJE968VDXND1XCMQZA98YVFFJA5FGU4S37QX1UNENULQQM7CN5IDVHNVOA8VR5P07XVFOVY2VWB37FDKSJ73IKPILDA7X3IZ2DA2PRKE6X023XJ8WLLUZQZ7X1R8AP2KENQR8L4ZL3JEU5Z76NPTBNOVCAWVI32JX0F7TK2PLVF4TZ2OYOJEJDJ28LJIBTJDOOCCQ11VHXD0860F1PHSC0OFMM03M5ZMZFNTCXYS73M1ZVYATJ97SFJEEGV0H80KFR1N9MU2SPM1HNY4M4WXDQQHBAZOTABD8OZH7JLOJPNDOSUGCISCMOBSV9VND1N24QE091K71H4M23VR61Y9ZGIOX8RPBTCYITJOQVIA2VH1OJVMM80PKNZE3K997JZ55JFRCZY8BHPZWTPG9HRRGU442VDE2GKCXV0J64A80SDPBWCOCXY5ZY1TYQF37T2W3ZZEL = 36#UIFE2MY1J1QDB4VH7MHSHJWJDQPQWYGX0AIO9UENTR57PMY4J * (-36#NDZHZOZLIBZ7LPVGKDRTRKLR7R41J9XBZNGCN78I5PMBZF4NS4M9NC357JBLNDLMTXYPYPCCFO3ZFYJ3WI02BXSYL7ZJN1FIEG0GSZIJISM6Z4F64P9CS5KVEZ1P9GCPBB8S9MXI9UOLUK9UTAK3CH4K4I282P6P9P6T2L98S34H58XNWHDGZNK2DH0IWWPDYZN1IDFHU62YHA2366WGY7P5CVRRBIZR1POZNDPMPOJDVP69EGOZKCWPAXLA23R7UQOT8315OZT38EW247Z3O8OXS98547KIAIXLRO1KZZ593PXNO5CZFMV6WNSOKOP033GAS55ANVCC4MSMZEMODWHD5SK1Z7GVBYQJ02IY8IY8YTSIZMBO1PWDN12FNWEPOXQZD51UK84C407AND64VI4R8DLNOHAXUM1ED69VZVDXBAOQQ6L95D8MTX13NSH6QSWJGEM6BCI2Y9J3). +-36#GE9BJ0T3HH820DZYNXWOOZU0J8LXKZRODHUQ66BLUSI1P970CNGDVPQC8KYFXM7E8KZA9N848CWB1AB8QXQ0O7Y2AC9O44UFGV6JYRJY4W0UMDN1ZZJG3SRTZKO7G8HL9IQZW67DMN6KB9KZ0FU1GC99HDGD1EDVD38ZB2LWRLKEAVMY9BC79NXQG6YD6HG21FEMSP0CPAZLIU58MMI2IUYK6IBVWLUDYS2SRYSXD2H20MPJHQWQQ1T70JOOGGCH2S0X8TJW3SFZE29APO7KXLHSGD1LX4DRFU78134ZJV6R4A4P4I4I61DF92U0PB4PL2K8E9SNASU8M0YBGWV2HKATM6B7T0GENBXVFS6SUZGUF6SN29YMQ4KBEH8HC3BGB4V6WNFVE4TKOCK1EYAZNCVI243HL8J6GT8SZE0ZPMCFQQNKTBCWO2X0O3LRFYQ01KEO9GN44HVMPJUKS2LXRO6ZWCQET0MLW5D2AT1ZUKH9OPV4UVLGY4BB2VFH5JL72RZ9FD3ATAJBYNQX76X16UC906UJOGOXGOTAZTPJ1708X5M0NZJAAXSCCKA1Z9YV8EQF6T33HWP3776BVCPGSAF1IOZ7D6UW650SV8O4HW67WJTGCQX306485U35EXM01ZI3S1QMTOJ6H6FIIDUC61P70390L9BOE4WTI49U2NWZGD2HXS67Z6BCPR72BIHG2AYNMLR98VZG0AZS8AHE0CPO870OSRG3ED3ORGY7MN7C325751531BGKY1185HOCQQ47H1O61OF4QKHET338Z8TDOX69X1O2AKAC5K1BT4XTGXBPXIL0R2Q7G9GKQBPSEY82NBUFNA8NEXYKV42K55VVDO9LELN9Z17S6YZNNIAEFFIDGXPC8EKX2C3AXXRR9R9ETXBOMZBYKXD9UZBGB0GW2V3XMPBSS2T6A4BLPZK9TR = 36#188OBMUUYC7BGKRZ5PFG4S4CVIFI7GVRZKC673A99NIF6DQUDO91A3WXTI7451BTEKIJACP8Z5YQYCHD2CZJRG9SRA06AU9MLMFL2ASL48BH9OFFWLQ833S7QDBX8W9B61B08SAKNYUR3SL10GPX749HTV4WIXZ70OR94HRFK7HQONEF62PCSY9HAY1G2NMA8PPEVO2SVYHWCYQK4WLMWKCD2EX6MBEKGI2UICAOIY85SUKMEPU0K4U1RR71NGM4CYZNN86P5GKPFVRPX2G71BY9UEKD6VEO8MJTP42WUH934TD5J5OAUMLREV8KAGSAZD0WPN0EAB324ZOHJ6VAQAMWA2F02MN50U12L7ME0RSFVGB0C1F0S0XSG1VJXF72URBF3LHCHKOVWIXQC5Z8E7W891T17OWSLAPXWQU9RIXAUIOH7TPR0IYS8EST7YH3KRD7MYJC3N5KU2NKHV9KZSSJPOHR3ZEOXDBZ7X5HZISIMAKOQE7X4ACWWS2VYO1OCNWTZ10A92GIJ4S2IE8VNXN4PT0WN0W1H0CLAZ8DMPVQ6AFSLRYX0U8GCCNUTGF6IJAVGDOWV0R71RF2BZUAHH3RYIPUDKJXB79UUL8WJDFDXTYNYZ9V3TTIAY4Y3B6THS8ZPC58VDBX6DIGAQQIVLV7YUDIANL8F8YIVK6Z959CND7NSD6ZYVAF3KXXOMLTZ1SXD0L3WCQNQEJ4WWKX9O8I4QORZ9YTV2A8BJPQU7U0OCMCZLA5SZWN4EKMZZL9QRV69Z0MYY39IEQIDFIQBPSLX7YT51DXNDN2ENZDW2PCVWBFFN80LFPJR1THNEOZDRUZ4JKHKXRRYRSDN99UZW1QF9ESYZZ9AJJO99P6DNMJFNZPRVJVHU2AFYAHCDZATWZ6X6Q739EZOWUL7F3TKMMK6MDWAFTR6XX0C82SKRN60KGSXW9PM2PDA97OXB4WUZG7MWM8XDR7ZT23RIVYMHEZHTQMT913613FTXO1Y20VWVC969Q824P1OS34QHFAGVXQ4LJ1RO6JMI36XPS5OXZ6BO1CFHUTFGQ2D691V4I988S4V3K3X6RZEUUBELJOF1EODSS7149IUJL8CWD8GLG1BN2YFZ00SNQ2974C2SG6M347IGN5TAJ4SVQHKL9 div -36#2P4YB4QW5DT4L5WMU39DRFBPUNMYSMJKM8A28EN2T3L1IYU97IOB3GX49EKGP6GGFQC45SOZXQJ3IZXV7NTSPZ8OAR45OOW69VK6SKKVSXSVY6KHQ7EGDSVLR7BELCRX6HGH5PYQ8HH9G7NJ4646Q2OJN3MYZFQWVASYX4A6U595L0UPKOWXARZYF61CEIULP3T8JTYKUO22SVGEB. +36#1EEFZ5O9ZCQI6XIE7GX32URYH4JUXKAXO149EZRKK9VHO60WYS = -36#18CABAF7RVGELWJI6VO8XEN51Z3T2VMHE0YDP4SZ85H4U8GUJEQ51K02G6KR4QMOY3X9HNPFYG1YZHEI1RVXF9JMN05C73HGHTE5HFRFHLGPPISQLOVQBA1EIEWIXRD6DJECN1ACNO03JRXS02S4JN0HFIS2BNKV63XAZIXI9BEGX8JIM5GDRNMQZGT8B3S3CY9JX08WVMIWTT59FEA6UYSLXML0VOC3KVQARMIYW2TGB0JV9XSGIUV5E17ORM4AYOOEW5R6CQXOU9OCXZI0GKOKF9S4G5SDF4R0HPGSCMV4H1HDVG9R6OYQXZ8M32A2WP1M94Q0V8I6AFJR4I1CCYT1NFMA19WGE4E0F4JZ1BAV2CJ6RZ9M2TZFGF80H1GPEHDU99SEDV861HN8DGAX30B1UEC4GDU698XZ099I800W4YCAB1O2Y9NMWYPFE19AYNBHYK43G7V7ALEHZYTUVD4VESDCE937IEGLGGCSOHS7AOPRQPDQD6P5FO3HDAM45L8U1MY0BBQH0KOEY2S5IRP34W1G4FOC7ASOPGMNXJC2E73NSX5UYMHDECYXLZRGBRMW9MMW38LAZ09IVJX07AWDOPCR3IO1VNXFAXV0GSV8ESYJVT6359B2G1OVLTVAV7FLFBYNARD9CDY2JYW3FXN5CVUOO4ETH58IKLGBBTOP4MLCP25S43ZDVY63XLF1K807IGM0HFFT9NI6BCBGGWUI75929JJ1EL4D8UUEJJ1UWPBN7YBWQ2CRI0FCJ0AS0IH49288FA2G6A65GEOABOAIW185OOX5YPRO0SQTAQB1K4AV7QBRVMLJEGCN1LCYZS3K66AM72GPVYAWLB4PTO3SLMP3O3KQUZ4LIB01K6WQO3KAXIPBI21IW14TKA1JYFS4EF34 div -36#VO6DJFWSB08DL92AE74FOO7X4UCFOWIUF3OQ08T13UAYGL98ULWIHBFTT5A94ANXZUBNCORG33MB82DQDC508H9QUF9AO6SKRU78LG308NX2D56VFAR286UZATURFZYGZOMOKR0DQLJ9OPGCHHXF7KTML26P4WP6RC7AL58ATPR7XBQV6W8VBD0XFA5GKKOXHJX9D4BIMJ0ZXCWFPCQ5EJU18DT3RXF5VEQWM4J1P8106DZKLFJ21124M6LITVZPFS903M2VSM5OFGV0GNU9K2IHI3NA47UI6U2CQS99VSVDCBJGL7WBG6WTPH334LF8JU3XCZMNYQ27C0RUY38IX9CTOHNZHZYX0SUJA2YSBL8ZY2EQMYTJNBM0UH2ETT2YGDI93KLASLXGX8LF3A0EVGZRNWMYV394F0TXE92T7VHMMY67ES6RCVA66RWHZ8WPLWJV3FV3JIB1Z14VVKYO3RV648UN8OL5JXJDHA0T8ERVP9NHZVPFRT2T6Z18OJEVLQ7T2ZALTMCOTZ3TX9CU0HLAGXZS8VI2U44FE3WKHR7V8LCHC1JZ27T1KG7TH2MQIGOLOGCL9M822IO98FYXVJ7JCFSTBDSOOH6JMVH1SANR2FAAD43HYGEMKC6ORQA7SCSVK7I84DIP822V88I7Z2FW2NN5K24ENWIW3RWJL6DL9K6RYV0YP58NSJ9JJKERUU7E9WNNXPCQO7N8EY1IPR7YPMTUAEMR3LSE0WUVO90C69RPI2YQQ3V7THYNQWB5A12N5FZE0EBBYCD4IWVFYY6ARD3ZCDDU8VKS13NVV71TFKJI3U8XXI9YKNL805NBK4UEG88LE5IE0VJBJLGLH4. +-36#6WLWFTNR8KQ516LEHVBADAG4QA8GA4QPIKBR6U4HKREF9NMB2QEDEH7PQW5X3EFTZ3UNXCIHYCEOA4B0902OJIL3EA5HTINHKYO8UX3N97KCE1NZ27HCIVIFWM8PK46BQNHLRGK6A34CZKJ03O5VVMKZEP81HC1Y8VBV327B8F4TC79D7E29F81BJEIV0KC9J7HRVV6Z4ZTOQTRAHYKJJLRG94OT7R45LDZWLR271A2MJ85WCNMB54BZGC6G61TXZ7GQB9CT913CM5COH7Z6NA4XJW9I9PXMWBCX1MXZ3NFAKRT7J7KTZSXVCFS5I8254IM5GCT8YZ9H2S8Y447GSN7PR2YOH77JQCTR7YHI22LXD0UCO70AXBY0Y045EEB7VR8WJCG7VVORE3CCXLGL5M1HGL2CRT1SPFX73NDUG5WZTAA2ST8KPXBT7UYWVJD4UWFRRRL9H2004QE6L1LQCC1EWU7J54NUB156YZ0OGNWOEZKNTX5K1HTAB0JRNEZ8YEKE0E21U2GYDCSHBZ2HEUOH1O3HX8ZGXXXCHE3VFJWV9AESY5KQK28EY8CRJMMOXWN0WUPVDSWZN5J3CFTNMG9IG6639VDK21AT4YB7VWMNPXYNHYAGS7MOFR0Y259RY6VYHG1OKIA8PK047XVQ88GT2NDX386FUC5VOTIP93YJ = 36#I51TP6KWF70M1K545WY78CQWWT1T67CCKY13Q75QLHZG1OBUDKP94YZDRTE8Q94PXV7Q6P34CCUN3Y5GN70K68GRCV62FPGZIC1UA3YAL1GBG84J8B1Q6DSDN4VWH9B0K30KF1Y1E7BDCDNYK04UXV15HB53GK9X3II4TKJ33KVXR8EGVTGFE0LLRI38EJCSVWZLH1ESN2OCC2PXZZFWLJBSAYAXPPU43DL4P7HR9JLWB016E5R6Y5CNO4BMBSWID9X5AO8O7PK13U8YQVO04ZAVMFSBCU3HPSKGNZME3DXY334CAEBTKDQT6KOT9918L515J8CKILHK7MLK2QJX731J5LNUK0AXXNSPZ92I2QIUM2R60789S7XJDXKSCUGV5Q7DKG9JW4WYM7MDE0X24QERRLXRXPMG6KALFGR014F6WUPWR10RS6R37BW8PU1E5STLDB2LYSMD3AT5T0FYF69BLKA2YCR7I2EFYY5WC4NX6LXHGIU5KN5XDBCW0WOSREDYTUJPXU4PHZX3S4BJ9Q3RX1IGKFA6VI6GDIQBUVMDYRZ4ADV4564BQEH1HWZH97T56BKYLTJB9BT05B3QGQBA9IC7GI02FTKHCF14IG6NOZYEICRXIC8GSFD5NELOHSUOUBGU4RHVVRE0CUCSHC91E9GQPECUTHX980XYNSZTPQ69W0CDPZAFGUXFIPDBD360Q0PK7ORD0A8OSXEDFIO3EGK7O div -36#2MKD5HR1Y3ZKB6CIIEE29B3VCDL0BWHIOXJILPNQ71J7BAJYPO. +36#32AFYB89YKMCODGZ1QYPQIRJR4T71F1A3HJC9OWK9MJBD705E8 = 36#2TDGXR4HGVGGQHRLD3EY691X4S7FMJ9YL1HCK4CUQ6Q3GOTYZ3EMLSU0VWKRZ0OUA2WU1WWTOIVLQALSX95GW3G0YBJVG3DXSGG div 36#X38AZF9DYNSEAL3F6LHHLKDLDB3QXBDGL3TFE8S5W3HBWAV9T. +36#U5KQCN0D0ENGCG31P361RVH9MMA5HBIO7858P25E5K9SHIS9X4OYKNS2CEQVQ7KYDGNO4BMKZMDE3VMKIIGL2VF5G2SBR9I4KWK210Y4BH8188RFN06UFM9GW5XAQJI681C366NOLJ9UA0CJFFGBVJQOXF0R7ZNSFZIFJT4ONI5K2V71TVD29OJAN3F0Y4TKT53BAQDOZNJBR74IXPQ3KT7L3KGAMDIVMQDOTAADDL8O3D7H8C1LWU8UP4QXAOTO13NBPGC2W20W5MW5ODD0SZFEQ9E7DYDHH6341L4U7HWQSTN31AANQR4G9KZKFJE8T3KP8ZFNJ9SW250TGPS8LS60OWNVP3I25YXDRADARX2HTY1MOTBMW44VF9PXZOCH9GRM4HCHODS2DUVGWFGAI = -36#ASBFO80NJ5ICZQQ9LP72BSK8QAWCYLNTDN1FJP4YT3XHTVAJRUT03RWCM1IDJR7I43GTE8HIYJ3W559H2Q99LRGCOWW0MUL3GFHFO7GESNKB1JUSGBXS79EAI9L12SIJIN2ZWO2BKKY88DIFAMONMOA7HLZA5CKUJ16HF2E87LMUVENRSUSNERO0JZHTV0E9XTBGI38GH1CGWPLXHGRF2C83SOW99S8O2ZQN7YV1AULPDJDS7D1ZLIY90HODJS5SC0GGWLINBYZLN8GV40HXSUNUMA94SWI0A6TCQ4KQ2OH8A82A5O549DB03RXQCN050ETZZO5OWOY8R4IJ9NRACY4YSLPKBT81BPSGJI1EDM6U5K71OB2OXRXWUTJB0ONVB5IZ7FWBLWRT0APNOXJUWOMERICZNZIQE129SCCKI5BPT227NCOVPF7A2QPQA28EB4LHZO19UTP3KJ9O6LUUPF1JBXS89EFKE3RMT26GQ01KSITZYUQPSV6W26R2Y4WQEO4EQOLPVDCHEJUMN0H98WT4JKT0CTLRDTKB7K7ZIQ55UY0VZHWMYN309FWBUHQ9SO96B7UARBMGR7ZKL3OUCI5483JHG7EXIN1NKMW78R7A769OC2ZO5MQ7OY1DP2U17Z5WJBOOK56WBMKLYH9OXS8V5P4R2NSBGHDT8BPOCC5RLW5FE21IXCUF3NYL4N6P4FUAR9W6L9SEVDONH1T6OGG5KZEQGV2NV6YTVWAJ5PN7BTX83XOY6Y6STLKCF00 div -36#CVL5PLW9Z52XIOD1VFNWGROE3PB7VEFN3FOI4ZYL83QSXYQLDZRGYWYUIQT4UK4Z8T3DR2A44SR4MLP9JN0GOTGCID405QOGJNK95S4N56J9WSV7U0WVRE3E8WRHEKA9UI9V610BC8NGZ9B2Y0X83RMCANGZ7BAEPIY2J3ULGGIN45JD5RPX3RT0MGGRSXQI5Z0HFAA2GN6HSHKT37UANVXMCDX2UTC3ELDTWSG3OT0SVAAQFSCJXJ8HXQ09TBMZFMEPC9IBF2FUIB4A714AMXGVR8ZW4EN0OP95NVILAQ198LJ74XKYUW8FXGHK511DAHZZNZ4VL717MEK6DF04FPSEAMKI587UKY2T5AN5Y0. +36#21JKFGRUTGIKP30HL9VRTC5RKTQM7Z5PAP88RX3ATDL3BUTI76H33WSES514EN5LBH20HD3LBZMNMF4JIGB8JLNJDH6I4ZUDWW9Y6L50QHT3XT10UZCDAAMWT6BYJJKYSXKMO3D1BJOKK2MKS64GJD5526IC0T06GXAVG4F2X7RYDKXYZP1JZ648B24LZHOIFOG31S51HZIQ6YHWORR9WS4DZMAMVD6I3J7E1K2P7ASEM = 36#8HQBD6T88OIXFTBZU3DZWWS259BLZ9IX1C3M22G1SYHCSQZESDF6GCLTNMM10275Q02U1X6NMG8GBP93K6APHEURQU9Q80QU1DAA8E7U1GJDVTXH4ASODP7EZ1NQG76WSG1QK4KMXXZ0GG91SJXZIXUPBZP1VWDKWJJR2KITC5IWE8VGN13NZLMITTAEIUHQ4XILKO7MSIFYOLTJST0SFGPYS8KIBBULJC1Z0S2YPZ71AU1OC3471OC0NSXPPH1OIC2CZA5AJL630HLBTR0Q9SYXDEWU25W0RJOWL3X05OPN2TT1BPRQKUK9XZ1GL74YZ3LESQB7XI24LKNMEVGLP9BL4P19OV5OAED8BNO61IMERJ9VEJU4W3FU3O14QE59GHZDL6ESTS9L4OB3LZMZWNUOS783D234EYJ7L34ODKNVVSGTWWXHY55PKZIUG16FN3DQFKKKU10VKL3WIX0DUV9FH80BZY0489H6HMZPPDUSUEMZJ1BROZQ8DN41NDSBL90IEHNKT5HN6AZMA9QSU278FN4B5SFP4B1H4GCRHR8YB83C1B33YJY491RI8DQD99YQSREKCRCOWBUK5XL7XOE0SD5QQYHP47PQ8R5A4ZPM1Q2LD4M6WGCQ5N7D7W1UOHWC0MVD23IB8O9AZM4QVZMCCY29ZJRJJCDLSRPU81HNIHZO2E1ETPZSG266W7UD2B3KJZ4C7FXI1EVYMXPRWF5W558TDVBI9F3R1V09DTU4JX51CQR2H81HQ60RZ4X4TK4M0WKA73P9XYCRWJDBP9PKND7TVXP6FB23ZFZG0VGEBDMQHVWGZ6KPQDHR1YCN11VS33GAVX37WPHQPQO1AW60ULYX36MF9E4T19F8MAZLTA8G div 36#45NNNB8GZJ6P5PH03JMUGAU8KIJAR1N98V9VQA9Q2ZVRY0SUV7ATSF1BSQHVGHBS4M018000JARC9V92UU6TR9Z0YTQXQESUNMUNINK85RSCNQAB3QSAVJ201IV254MDVCZOMSXJL2T7IIC3EKX6KLY0BUUZ03O3TJ3916GU7A7BOI9POLAEWH1K0JLO0R1RT7JHVK932TD3K36UKM1N968T0NVKM9TDRS0X8PNDJRL3AT3PBGOALO0F5LA6X4BJASUBHKNOZSJOS7TIWU9HJUK5ZRS1HBCPWOWI1LUR77TYPQV8LUU082VSHTVTP20ADF8NJAFDD2NLUOJCZ126O3Y6JSVQJM90BVQFUXPV65HPK4AALX23V39VBFARXNLY316BXOAEEMZQTSDONW96NE5PCVIJYTAJBXLLLNY5AHESDKPWI8UWKLOUNN9LL8XATVFK8LQZXJV9YIRO6FVVAHHCHAJESP27QLFRAQ2BQZUOZKH2BBBLGCI6IV7RG5KXQ96UO3OPR51KWZ22WS7NTCGBYJPP2WUFHL0AMCC116907OQXIVCE24GO54MRNWCJYXJB5GFNLEWPYB0GOJ982EXJ3Y5A2Z2YAFRM6TWUVBYU8D167U7KH65GDWUO09IPNT14. +36#2AK14SBWX2LH44LW0XDBSEYZFL7TUH6JPYXW7NL5ZONB51HQVN = -36#1KMFMVJMY59SPM4D3WF3V7FXF4WE3QQMWSFYXNRCMBCX32LV7CEAP1RAQ6G1MCF1CEYOWNILK5JXMRYVNF9B6OCJ7TFE0G6JTCD2BB9GNS10ELVFXAEISI0I1FN92W2L50TLSG4UDYON020JCKBO1FMGDY3WEY8OIBT373YD45SZV8LVDE733QD02JK8QUW2BK4BBQXDGWTJJ5D7KH10QF2LS5R538229MXTY9QKSEHY24YPN6XO4WYAHL08KAOEU51CHBLVKIB40AT8G6R7OMGMF8VE9J7QWGL7RBESQXL7S3GWK7CXG2EE9IZZEZ0L5I21KM9FKZ97PMYNW8O1MN0GVM54GTJBHQEIB2C8RETN3VK7XJL9VMLEWZN99SRAL7B8O1ZM871GD7OM81GALOZMDQ9E9DYVK1Z0JRAXHPK2E42LZ215G1G16TODPIDAJ172ZN34QKL8IAWN1N8JI div -36#OOW28FPQEEG7XX6ZTLSHIZLD1RJVWFZUQAADUJK8J46C2S2X2P80RSUSV1QD4JERYAH91EQP4Z4TTB81IVX6XF5EQ6S4LGLXERYLRN4FCDLIB9VFMJKEKQ92XL8547QHDEAYUP4GK8DJ8LTW2AMAJ5VMWADKA4SANF88UPJOZFFUXRVK9DFYU7P9N4J0Q6D5VDA8ONXGKGWL82VRWFVS61IOHE7061BMTSEPT0YRZGKP5XZKZCKT0L8QYQP8463XLZTYWYKLA2VVIYBNKM7MD69J7EIDB8X9XA4LF2JF7FIJJ79FQ1WRXLA80ATFPL45Y2EEM2FHLLO01JZGTW8NVP00L8L5C3RFULCXQZZ191CDWP6LYE8GFWXXQ33H7E2IZ8RKZIDH4VOK8ACZVC6U3EIPPGN7CYA93YI. +36#3JWJ29EYGSPCUCYDR1A0Y3YSU2NDG3I81MBNKW1U0IU34T6D4YD1UK8OLF0OVYMHJRJMCSTYCSPIOK7Z54HE634C87DBEXQ7BJY0WV1N66WPGP6GSF9CLX02X0QWHMVOVRJKH078S80N25E66LNFZYS8XQT0LHVKRJXNYIRN51KTQP7YDT0HCITIJINILYMEMP1WRHGSLLV6UZHB256YJ2J0J96Z3QW40B2O1U5ZCYGSY8HFI3ID2VEV249U4LZFZ168M5GDEAJ38W0595EZ1AVDVD70985PGLSOUWVBS274R8S73LU2CFZ35SUW7AAVZGMSE310FPH6ETHAXW0R16PUL9TM4845YFWXO0JLQ2026VLEE1KXFPZ44YHDEHBVUEIJM8PN7E7 = -36#K15HQIPTEYXJM014XRZEM5VUS8ERDA9WRXDDI84CNA0JXT3GMWHKRVQ0K0B84R6V8GG7HDQ1QCS745KDH9EZ8A7SVNE1INXI1UPSX6HYGIDFK4A91B2X64MHLFZDGHN43MI48QZRKKNV2M4FDH05R2MFJ4ENJ3REPVPEX7916M5USCGKXRGORWC8YXTQQ3GP0L8K7VVAP7WQKNLH5HGJY3KZ5D1JYA2PWM8XPAHMOXEGR5W6ZNQAMZHC9VQI5S2I81253E7HRZOVN5UN30FW5OKBRBCQ5QCMQHIY8QRICSTHUBQ1ZSZDJTJ1RJ0Y397LWEL9JSRU30JAZUEFS8HNXKEETJ724YLQ39791XTCJPJVWORRXJFMCX95Y2FZ8UPBAKFG5TK8LSVXZ8JEEYJUI3G5EEEGR1Z1YLU2CI8LBIV3LI895XETMH36PNTSH5XWLNB5RYUAP7160P1FUCFR5CJW05DFFCN6XGK9SEO52UXLKQ4DB2ZI0GH4F347WDQ00WCT6WHH27XVX6R8NGQJJ59JRKE4YSR1YWNWHQQ8NOJUEY0VR5WEH80A6D95GAP6XIVS3K8JHI71Q9LRU6YHI43DV7G2GFIGEPOKABV760PPH6WIZ4NPJZDD3T6F2IKWBYSRONQ7D0EFWL590IUYNH9QB19NAW9LXPX59UVGX4JK230063EU11CQ5S9XHSS23IIMGRPYB7F8FRG1FOH3MYA4MCUBP7FFUNP3DQ0RNH0953UYIL2D7M3ADQ1HGXYB3AC1O5YEOS352 div -36#5MZ68EPQUOL7DNB44EIQ55ED9EZKYF89LDXPINQJI65SFEAMES4S1V36RGA498OFZEVTU2GMLXSAMD2P2K9HET3IWHOEC9AZEUUMHUMLY352TX6ZA6N6VHAIH52164U1KEIVV3Y66S4RLUE68YS0SNWNHMVZ0QEXVXX8XTCQ3AIW1CLHIGMHNHL3IGRBEMPEV90VVNDQ6HGH5RYQ21OSQ4PKUSLR0J9UDGDPBYMBPENMA1S8H9HGP7EEI642EHHOHFOVRZ1M35E2H312SCKHZXYLXX9TLVJZYLDJRL7C5BEBTY6Z4JYS265R2TVR28UMODLMQU7JO4SNTTWN94Y2LV3AY5MDS8DDCHM7Y7A9ESW9R1KW242Z6OR7HDYPRDKQPKQ. +36#1M44I9JX5NSOLY66J8E39KTT8CHX0KAD46LV0PMK2RZKCIU62CDN2DG9523CYFJ1IC88V91ZKHGTFK0ZAINEM91DD8A5UIJ4X8QYMIQILHYYQLI376BAW0PAVC2FEO1487SA83A3A7NX7LV78YPNY0B4SBN2EPBPL4VFP7A3J9A91TYWG19DWL3OE9IF65A2UQA1WT1H93NIT0SA1MAU3H1GKC7GOLGF89GPOQL6UY6XSEEBJBKTP6O79B = -36#2VQYM4G6TWNXG46ENOYVYS0CBP6T0T4VLZFB04E2QBJVZTEJCKH9L6NJ5ETQAC8ISUHY1784W5XG4X9XCP1ATODQLYA86B6FLXHUURSBUILCL5Y2WK3VHU5BEYKOOL332WDCJOL6G9W2PKZ6LCXB801HZCYXZDQ0U28K6G0RKR25Q1E4Z51BG9KYFJW6BAGUHEKZGEKKKGQAWVRALZ1FQ3R5GP2XDCBVYBZ33M3527MXGCHNU7NSYN0KEVZCQTUPIT9ZIXBHHDGMFY4CYOVKNQ29L1J38M29GNSD5QEC6VBMKIVPR020CCWCGLM9QUU77G6RKDHEWW8VOT8O2LAL8W6EU6QXZ5C5154Q7YWF4M594VW2YBM0ERO1H8Q9CG08H6S3JGWIE02UPI8WJ8YE93OIXW2U0JE0PJAJU3WYFARF0M8VSKMNKMG8HB8B1WX3KEP54BL5NV3HY1VLPP0ZXFFU1XAGPZRSKA9RM0C9A2SGW0UXZ62JWB8S1E762LFKWM99TNHKLRZBVJ3T4QEJQJQJL73RYCA5ZDLR2RM2O8HCYGP6HGMG2UQ9LAES284AYAJMLH412M07MWSRGYXHF2EYWW28BK54WBRTB18T5T1EEOPGPIGL9SGWGKWHHYP5GK2ZNEMLMH31OU3GMJQFOMK57DF8I4ZGL1JQBOD6WHATJIMK83V7NK6Z1BCVC0NYYEREWNVDTAXNEG5P3UL00AF64F596GW9TIGJALAV85K5ZWJ3TZZMSWWCF9LHSNGQ98VIH3BX759DQPOM0RQP09UQ5B9FHFVFZDS97UYEJPRK4M3R8UXQP2I5QH2ZV0LRL2YILUDYE3T79NBVE693JNINWQCNBZJ5ALQMXDZ0SWAFNOEPLLE0ICUW9OBL31P2055HGXHAT941SN07NZKC66XUT3QHXLW84FAO74WZ42ESZ5Y5Q96607GJDVY2AE2F4GDO48X7QZOUY491ZRFY9HQKDXYHF7OTX3W6FBGXBS3CK3369KFBN18MB4FNUE6XW6FVYEKAY5N2ZCUTXL6ASR54ZJRBNIZEV1CADNYHBNVCJ4D52KKHCCI3SF9Z4Q88JGLDIN7ZA86KOK30DL2XPT74ZUGBGT21TUV3O2E3 div -36#1S9OIG02Q3YSK2TAXWVB8CKDZV461M9NVT8T48DN599P4O7MA6YOUGAXI549YO4QZ77BHYJ3VAIX13T16H5M0ABNP5PFM02FROHPGFST5LAXF9LRN48YLRTF6QZ20FYWDOGIRDVGYBWW4BG62WO6FHYIAKW523UPNHGN57ZG5MG95B0BSCOGBR8Z1QCXU8ZFGG0VJOLMBGJEMYFYW3EZAVR9BJLRKPM92S07PX0O3X0DLRX8Q7PT3RF8E8KUBQ0E2I82URN1QDVOWPXWD169XJ3V0FMQ4POPOXDBWGKKQ0USUGTQWYRC9M3V3NGNGVATW4HIYSPNFWG3EXGBHH3FDZ61GZLP763PC3RJ8ZGUDQ7GGGG9CEAD00WNHQY3O9J9HOADW8OP9QMB0CAYMML5GGDZWJ0QNQTAVXTNAHIRZUH03STR0B3EA5CQGDGCIE6SL9QKZ1DOLZP3ZS0K2ATS72LMURE5Y143R0JJ5UXM5OBP0SHZSIVZ0362U7QB6JEF92KT8HPZ15N0RZO5L1DAZ25ML95DRP3415E5V9WN25QN1LGNSW3WF282NK7Q9AP0SKKQJI6AQYB2TS1OP4BJTWMQU3CKERS39175BD3UPDN1UM91V01ZPWYCMK1AZM3KYIBRZVKF621EEXC0UAEMTN336F4EMY9JQB6JJKPY55GCFX900U86DTK5PHIUU8GN3G95UPKAXOWNECEK1633L3J6F5ZZAC9YNGGPT0P97O3VLWPBXPVWF2P7QQ3QPHSZYDKWQOYCGCBJKQB5UDU1HSFW1I1XCK1E8HW9MRK5TJHYIDK2IRT9L40EVJJSNVE0T1JJU11EC2WQ6KFIACNMSWY2Z7GJTEIB7SWCMOTIK9YT3TX. +36#3ZVZMV1C2XIXVVWXGCNKA69TVSG6PEKF2H9SFBGFKU5KUQHOY4IBIP6CT6U0QG77V2R8REA2V39GIA6XB5B8TAN8T5ZMJU28CXZSVHR5YXNRH277Z60SUETOB2VX4Y68MVE2M = -36#2M4HMWW4UTQ73Z5G5TUCDEW2V5J460S2MU35VM7SMS0NFD2SKKCR9YQ0ZBFD2CLDBW7M5KWMGB65BH8C4Q0RK6262UXN47E7MFA5UGIJ209XGX1B1WRSB1P9M8HWARM4NFMH2KE1M8PFXA1V1RUIPM7BEMX331Q8K0D2Z06P335W8JLCBJ2XNU div -36#NJS0NL6PZ1DL5ANJKT9BW30AHQBKWZZYYVNK1PQIHBP2SYFM3. +36#EPSUCL5T897UUOEQQMK65OUXQ7ZCUJYBBJE0KISMHL64NHRR7KBU7344APYT4UGGPKH1FDGZHHJ6QSOW80IVPA3L9C8H8LVW35AXT3EMF8BB56MMUNTE9SB10STO9342FFL41NZCZ11AJQGQS4JEMEJHVQMRG24TKBTAJN29WYMYGBNC5QV6IQYWWSSL1XLCCWO804MJAZ2O0RHT076G50MU3GZ0FYYHIDWAJ6WHEZKK2E1C5TOI285SHFLW9UUVTGFIBQ5LC7RBJ5ZSZZEGLXSTZGR4R2QZJSD7F2PCLIUTJ6STF9QEQZF099JQMLDH41YNHRUX7DVRZN305Z2Y = -36#3HP8OIB8QPSD8PH9YQLF27L3AC04WYP1SHZOTZFHYFJLMD05BQWVP04UIB9JZGGV4GARU6PS0WIX0BX2YNYC1LM16UKB0XY6W730LLHKY9PH42GKTX63YDW840HOGHOXIDYR0480SL79OQU4RC36BSZJZ164KBDEO3YNAZ9WD7NQUN7FS7UK9T6R4NG0IQN7Y8NM7RAG44B2DHS8SB9FU150PZ05OPPTWDJH1KABDXMHSG3NTFQ24P87RXG7B8VY8LL13QHH270BD6H0LYTH1OGVKLBX8RZ4ORDAL5L796OM849WG155WXX41JA4IWOSAON1UJQKSTCHZJYTL90ZIZA09RQNSXNKBFNZRH9BCMCXN6I63CLPSV0GT86QDKZH4Z4K0 div -36#8JHNB84NGWMEX8XST79AIWVQUSODDK0FZ5JCDSJ6ULRKZFIQ0. +36#BTBWQ5RMO76VU7W1NX929GRBUA81D1RGAF6T06LQAJVLB6FETB576956KDXYM0385IMEU6M4PXIEA5R8E165SBV1TW7F7QSZ0AP2Z1YDWBGQROE68IODUDJ0H2X71PS0I8YFW8BNPQ6PJNN69M42ZCCMNWVC7M6RJVMVD1JQY6GV0GQACEHRTLNA9NRG43CP4BHD3HR2G5W931NXH8OICLQUQEY4KW4YYAA9P3GQEXJMKY7GBREZC82G4XU0YFR2SVCSSZWWBWPGZBOW4IUF6F6ZVX2A5G823RTCZO31ZUXIERNRFSK9F1G7PFG6K13UZPENFRSLVCQTEHLTRXOPHWSXH3FOZGD5P82GCIT52RTCANKTC3RP2TO9JHEIODSV6EQZ8SMZIQB3NXDCBP920TC6BD792SJ0AX6FJG00YHC62KCM64HBFV0GHV16XQ7BLRTC52RP358OD87NXYEQ7NUO909M4HTMYJ6271ELJHLD4SBCKNDQOA13DMCJTVLGZWV2VGTHSO1IDNU4AV6I7CS5UF0A7XJK26FM6DTCURR6J6WRR76NG0TPE5S9NJGI7SVZSAZUS3FGDUHRFV15758NM8X2KXJBJMQZDFR5TTTTW7TKLNXRV0JXREJKOQZMWKGEKKSA8ZF8068R488K05HYAQLHL55AEKY41MLH76IWJBHC2CQ72JTIFVCSM0ZNVG8FLZNC057R4HUCOT0QJ30RZUUC01GDIZQIRXGWLHOTROJOZNE9FNDIKC8ZXKSW0XQ66VMM723TZHHH876QQ82G4T4UHFHV4N55STTQP7BOASCAWQ2TNJN84XJN02MMIFPFOFXGD9RC670RMOZ60V4RFPQM9QCN7H8V8B3MFTN0DI91BA7X3PWPWK6KNT7JTLDM2NE96USK5IC5WUBBH3XLO91X7XEH8QX1FZLR = 36#B80GM1CFXZ9JJVISYE2TQ9SIK0M1WJZW5WGABE7BFRJ06PYNYVBCB6XR9FKAGBN3IQW68WZ4GOQSSQUWKHMX5X5TH4DEUYL0V5CNAZITK55FX9CVDBFTUF7S7WC1JW8R8R8BUDZO4IZ98OKDDFO1VU6W1084S3NDXT0GO7R6XQ0PMYS68UA91E4YWNCNZOH3SL47WPS0QNBG2J5XTC82RYYSA2PQCL890VZE47FECGVATWVF73GYSCR8EC91G4XL59KOE6NK5J4F6B4PZAYHLJW9VCJMT7F0HBUGM850HI40C3N74UBW8NQOC7PDZK2LNLX22EUBCV9YB2WM5QNMXHYZ44WZHYEXCTPR * 36#11WDTZOHOUD96H0PIZQBMAP3UONHL3IF0SN3ZYUW7IOPP5HM17R5TYI8X9JSDUB2PPEO5SL4Q3O18USRHADJ8KPVIBS7JRTS9QLY0UO9R2PG6A3INFLSII8F7SMHDY4K3E0F38GRZT8AZON3L2HBCG9461JXORD8T37U0S99F5YJ8UQSZ8RFFHD1U4KN1O57J9JQ7YMV4211RZVCS9THPWFPCX0G5VSR451RRCUZ9EQ8PPC56L66BPEVR9PIUQ3ZZL9DF5HEPJHJA2339XTSUJOSXP6VHF5JWSH9CV6ZZK9MJY96VM9OK41OIOKHUSG49LDV42GZRRLQOUBYFHV6TH2RKIVX47FP4HESA820KFGB12E0815ZNGW9JL4VOPE9SSV6TEX9MQKCZRJXWLKRO9BFFH2GTV1JOJTEJ1981D1LCG51CW4SPA7DZUR83NKUG2V8SOPEEU7P193I6IL5UZI61LZCKW6ZXTBY4Z7ZGMM4SI81W13NGOJC1BUKKVLTME9LDDB399EK1LT6MNB11KZW72DNNMTU3DCQ1VZ63FEA4T8SCHC4GODQTJIQK3JFWZ90X. +-36#9OKVG97LG8WKJFIDOPVHF4UTZYL5SR9BNKKFDJ69FS7R6H6UVJW3VAELF5T80PZWZGRAKLJQ05DDZ0VFTBH15W2G3XO834SXLMV2Q7WC986USS4MNT4G95UHR4SRK46MH5YILYX9S2UUNEBYZ6WGH1928UL1M51 = 36#1QAYH0NR5YLC5CD7A39KGSJMJRUX4FU0MZ0X43QLXIC4GESIZ5G7WB0CN7XS8FVANHVPS9R3AN25LE6EL359SI2QJ5GTMJWUCZCBQ5C15NB2ISFKEC1NLLNC3X6LYCS7QXW47KXKORZE7FIPMZBXCJPXDWTDPNJB9QIM69R8CGQ2WVLEHYTIUS07LB0Q46S2JMSL6P4JEOPFT0IKYUOCISQOA548CELJQN1QBBYHGTW96P5ODV1GT2S2G32Z9XY0685VH2HWDF9VGCNJBDGEY9WOR0YMIJCY34CHVGBUSUJDE88RGH1T5D3COE2XX3LMGVSSDW5HS7AOAUHP1M62SIP93F769S39IYBHSPSXBXHYFW27KK684AUF765T0P2P05K9KYIU2E2JIP0IZBL10A3E4GKDEK2C6MHLBGP8N3IP3MJLGEFFIB0G6037MNF6EIDQY3IIMD7JV5EQKGDZNCGKMJKJX3GSPAK33YA23LG83TEIO5XZY1Q9MA5OK55HUL24E7GMS54WSFP174LIE8O5K72RIRW77R07ADGH7H6GON6HQWEXNKJKAAAJSV6EZH1RV7HSR746Z7ZMTTZ2NJA2IN4VO484CM59CV9UARB32PMUDIQARKCI1XODT20LR03Y2ZC2SHKJPTK1SS6ORH4QUMCSPU61QSKDSUBDO3SVX2Z9UO8LHUQJ07JKMJT910LG2DCC8HJSVD20WO0S2SV9KFFCT16RXLPJ4X5JVWC12FKHV1RS8MKFYF1TCX0SDDVE7GMK8MH5DQTH5HEUDT4A0L73574DLPO6JSRMLRA6GC03IB1SRZCAWWZDI6G4JT7OETGDRO895W2EGRP5TW543ACNF8NIVFF95I5ALIX60FV0EV0NDQP50FL44DPLIMPNLRQ2GVSPYV67UCXWQ1XQZQ719N7PW868LAKKJBV24FHKA9RXTRW0FJ2JHOAZKWWAZMIKGW5U95X06UQ451ABHQP9EX1J3V2H4LE1WWPZ5WVW8X4J3CDA5I0AU9RDRW6402X7OL9W4IPP8IYSVGNLYQIXYMP32HCBKU53X3TPK34AVTDCT7FDUQY67PUIAV1TCX6NYLLPRHA8RRRWLYZCO2YA11YXZ470MFDX9M8XO4IDZW18I8TPXOWKESULLVIJZGYD68AOMH div -36#6FN6SW77KEL92LDFV4SRNXDY028PIBXEKCK2OA1GYWTPCWU31J1ONCDDCF0FXBZMCIZHPKWX57GG3H2D2HAHKYJQVM408L5RI076Y64LK1OIGAAJCZ6DAEAZDDGZI44DFQH30NP8T5261862H6UP12PNYS86TS3LNTKPSXZET45O6GXIFC00UBKHODAANK2SAFFDTIPCNJTR493MMQAYDPRSGXHNCEI9Z8EX7UJK2A2JW7CJAHF558HTS1L47GZEDV6TW1YF527LKA4RC2VSFZQGHRXIUARBYW4P5MC6N8F5Y0H9L05HSJU3QB6FTVTL08G5GUR4OD3HZ34AJ3MSCG09LIVP235II46CTAI48S5LA8C73PCJ9EVK05EUDUSGURXN2VZXQ6ZWEMZGJ6SCXUDEV0S1V83U36YECFXOW7N9BU8VXEJS503DCGDI4RPU9WY1714KW0H8F59UURRH5EP4HXGWJNK64E4WEA50FY7QBT1V5K75VLWK0IMZ7E84VGRTDVXZSCFD1D29KY7X1C9KC8SB12S4KNXB5S7TT6OTCC2LH26HFOYZX1BVBLSCVGKMOO971QRVPS3ZZRCM48ZHNH3U5QDPZB642NPBO8HUGLTINS6SPJ4AGSE35RVV7MD8LRZVUEOXVEIYYWKMLKBTYZE803XUPV42WLPI0XSNRVRGQ8O30P26MV3HAAW5924DLGFE0AC1TFBFOBI0T1TBU8FEPENXAHIAP7S6C5N2AG7WD1CVX819WJEUIU9B6SOZGJWWCYZ0HFQGPZJBVAQNR6KF2ARLGZ7E4JDZP3KKRRZGOKA36QINGNYIKPOIUIN2MJD7DZ6VPWG0XBWXZ3KCBK5CZ5RGTT6DU8FNO3KW0PY74X5OBP922I5FVAZ3CKYWQC6390PFWY5LNY55U9ID388EP3JHILB3Z6VOPIYVMVTVE8S9XLK7LMAUD2ITMYETPF45FBRVZQL9IAUKO44AZP1MYVZSGT64SFW54ET4Z9H. +-36#3DYUZ0PBADNMQIBZQ68WXDGPTX9IGSM0A2F85EVNQHEVIA75RYMFD8UT0NDPI1LWFRV481LNEQCLI5EV179RJ3O509EUFDKW7Z4F8SMGI27GAFFFSRO5SNAKE7RDK947L2TTXYUAFBAIITK2WDHFDEJ8GPPLSQYHMGCMVFNR0K1A6YSSCI2FN02Z3FHH7CV7D9BGRSIP504UBT7WV3EQFCI3WHS49A4BSW5Y2G3D69925RYZLMNVS58UQSIK50PSGBAPTFSY5S8E7TNEMVJKF6GZXHR9IIR6YLS7JKPFK70NLEL1P3Z2FK4LT4XKRKJXUFWZ7LU3WLJZR208HHV4DG9TL595CIGPGF47K4P8HQJWMGO1UHKKZBQA8EZI5OHLHG2UF41D19E735K3DE2NBBK07CGPDDXVHI80CW1BE3I1ZZF9Y5OTEBKP3LDBP1KCRVS085HMYK6OHS7GO1XSV3FYSABO1WOU9JDIH9G5R4N7V0GVDY6MYLVUIPOUSF8R3I59KVLVCZF9X903QSVH2O5JQM9VJNWDXYJJHHZO1YZ9USPY00Q2JN49O4TITNM4CICLLDS4SMJ5801MZQR6CYT2BW0YCQGRVEEIXKR0YUD8XVNPBLIS1VSFW6I87G25IR51WF29QBQRU80QGFYVG9BQ8EI7UHESEO9B81UOFBXZ0V9MX9K02EQR81CCHIDQ7KMT6PFGJ9VN2F3KENH01QOU0JPDYGXN6QTY8JR7QG25M4U1CX0LRN4BFCRGDHANHXURL3XU156HMMIV5JXSXA8EOD5YM3UYR6QPITIYQL9JWWKJ3NOVVCMBT = 36#8LVNTU2XW27VA5J6XRIB23W8TO6JUHH8B0QOO02WYVHL8L7OQB33H6HSPC0CSBXEX6PXOZ7LGHERIOSTGRZORJQECH79I4UFFW5EXE1OMLE6F82LCRXHIEH4JOVPG5M13I9DL88YRCT4MTR8WBC0B4SF3F4Y9G2HVW6QLAKAOT31YNN7FPUGLLRFLYLTRU24H8ZBLBS2A4HGT8VYK3PA9PDC15E4JIAUMLX06VRO0FVADJ45N7BT4MN6NWDU9GX1QHT36E0WFAIE8EQCV0N108QQ3YFIZRH7KB78A3NOSVSZG7U5QWM51AADY7OPG1HADW31ECDBFT15CDG5EDWWWRQ6EZHCKF0LIZ950AFZ46XXH1KHVB2JA1SAAUN36A6PFOA8UDU84QSDVNRKWDAJVCGST2VX4HVENYEGR9FDMOI9ALW1D021AOTMM27VO3T1DYUMGXRBQ9EPLJGMZ2KY8FEXHKEW1OQWZXWT9HJZZ8JLKT5M8DFFKPSB4I6P17WKOK1WLUQ75TY7VKZ8GWEZOQDNHHP0YR0ZQ50O4BLVKJBKCA42WEFG6A1S9XZOVYDXGCCK3MMB8BYU0L68MTJXDHZX20OA0J3ATIRB3KUP87E65EMEDUPHZ802BLD9KMN6QT3TM733ZCVOLXULHW0XJ99JEL491OOKMD42O6ZVLTSZVBS9FA1E65NZAP5N6I6K58F9DAFPQDIPNGLL1QOPHU6ZM7BXLL2ZC8FN471VWL45J960QGZ36EAG3UEBEGD0FLWY8EJ7MYJUGKYGYRNSW3HTWLO058PJOF9S9AD224JIIRZ9XP19F338H1ZZNO52F5SP2HGLHY2BDKMXJK6AFKN5ZPG280U73UWZNEF1XEFJMVCVKRSKDDY3YZ6SO9MTMK3H4ILY2H4LNDHU0I03U9KENLSAL780RIZZ48YTS669TJE8B92W6SOZVIDG00MFW6OASX9AVKRBSNVYFYOE15QI3433H9ZV9C5Y2RXHIXEHQBDJRZ0JYAL3523BSNQK3UKIDL5FBFRNXII8D2IPLVG3W7ER9OGBEVU55WS0LD2M7C3N1M8SX8QDT3DQ70E9BQEKRU8EU24D4RV div -36#2JGOT0LCPVN5HES3E34J0G76UR93JG9N4T8TWGJXTZ2A1ZITPEO2CO40L1MVSTLDSZQB7OJKIL8WBARNZYYRDJGTWIXCML15G8G75AF7QKIJB94RVQDQOJHAYEUOST22BP4FZ3IWB718UV8JRVKVSFIEVOK5VM90RU75B5FEYYIFC2PE2F56T3V4SGSDVBTP79X2PG2NMQGGCS82FE9GALD6O1YHB4CTGXU6ZY5EF1X6Y8JXJTSYBZRVT04D9J04ELFCOZ8WH0IX4LGKQTC7DUB. +-36#G03XTCYH6MALKF2GP325TU3ZXKT1868EK1HRZ78IPMXXOYUPA0Z31SUJ81EGY12QF2SQ3N95GC5TBJHBBGT86Z4O42BKKCCXU6T5MIPHE9A8L98NEN19RB5LJRH4Z56NIWQR8JFCD0FU8DP5NGE0WTUXP0AML31OJB3V6LG0IAPIDZKI65Y9W0L94LPSCMHMYM8NGVMTFRVFWEZDGYRSDD2G4SG6IFN0JAX1Q2JTS5D95KM3RZS5NKCWXB0PI8BRV1D61STWP02AMYQ3VEXQXAK2Q4X7EXN6X66TYF26CALHXRMRFM41HAWGDIZ935JMGPKMZKE21G9DZ67LNZUJO7FJ37F1G8UXVTW1LXOIR9U0IW3QX4M62KNXUR6O29QM7VV31CJ7ZLIKGX558U43B1HCIXQKYDF02L0IFKHSDUX6B1ZACTQHCUD7O4YX44S8TNFD8H9CVO4FV923AP56AD4FZROEO857XNELRB9462FO92HBF0287X1GIOANJPKN8GFP34SZPO7IAUT9B9G8W1BV9M3I6 = 36#T4WV2RV7LK3ZIDE18L32UATXX8B5C4HJPOTYSH9CUF353R5PM * (-36#JRTJJ6F7BM4JHFQTVRJCZ8Z1AO9WKH7IXAGUAESX3G9PMXCSKZGH334S6OCVLPW8CEPHJURH671DF39LT0LBM237SR7I5KLCF717G0WXE1YJADI5HX537IWPHXA0823MZ4AO94T73399RRRB7DP4OI57DB67TZSBAG358P8AU2WLBE5D1TEGEQ0ADAZ55S7JO0MK28RDB3I9VGBD9U2D5HD65L7CHZ4F1PU2I3SU1IO4L30ER9TQ85JOVERUCYF3W1EKWMRK25XSI2L25HJYT078XPRFGYOY28INMBQCC7ZV47JAIK5X12V9LWC0MCRPG823TME269Z1EUZRCZLPNRTMDXXJO1HOWYZGV703405KG6EEIPD2EDM5DRITXNIJU3ZZVAWHFQ8ASN0DP0H8842596QE5ASNFOE3SH083BT6LS4L2LE7LGFBWRHABTBL115ATWHMMA2A4XCKJTI46XXUXG8KG1RSLBLLH5BPYYLF). +-36#2ILU2A7C0WV58AGBS8IJA0VM7MYNH84UR2D4M8DTXLNWY9ZGUZPPLUPCEDV39HKU5KXSD72IPI7QTHY86E48TSYYM0PYEGKYBCPTU2GH6Y0VXIA6CER4GBGZO3Y1I92MH3251BYT2M1J6VC7OG08L9BGZCFFMO6SLH65MG5A12YLWIP1PPRFDNTZ4TF7MEB8NCKMGTS9WPTQKB3DBKPI5C9IYYT3M7464BJ8FT6EZ2Z2KHEFD3C281YHG4YJCWM2KV4OTKOODBY8ZSEGN2XGYZOSBJYELPKOFARX7V9DPU5FY7BLKOWSI772CJY8D413XYGVKITKIGG0F3SRA8JYHBYY2GBAEZ2OW7RA758U1CMXX0IY1PNM6EJUA18U86KE8Y973G051BE91VHD34AOK8A9CSIV9K354FZZTRMS6PL76H1IF0PB0MPEEKS77HFDXGDY7X81F4E30Y4Z6BVVEHW7VA1RBHZ2PTG0ZWUGYJQDVICSOPCQDKD53RRURKT8EAWR1I6FF0HV55DG8IBMA131M95C5CXXH0V08OOLYA2D64VZXTJYIQAQ6O9V92E6SB7DYRC0CTQI49SBM92Y8CK286VVXDCX44TH4770 = -36#NNTM774QD11XG9X0CN2KRM6H8AM6F25LJYM1D704OXCRC8EJ013MPRBEO31DJUU783PVFDHQBGM4YPZBIOXW79K3P99XKJS49UBXULJE6KA3RPJWYTTK2QQ839GJ8N43LRJ4WA440AX * 36#3TUP3X3RIVQKQC9SS07DHF7WMUGU93IZW4Y3R0GV08CXQTE7Z82NELBAR5QEDRYLCNKXN2Y683NCF9EE8368H8D5CMISZ25GXP7HN9AEIUXRL7FKSWK5VTW9667WO72WC6E5RI7UZGM63X1Y7RGU1PNY8LTO9OZE266DPSHPLD0E9903KMULN3E73XDLQLZDFTLJ9Q7UW5B4NQYIJJYRD6F49I9O830CKKQRVYX6RS904VKCF33UBB4NO83EZGCORR4WF5TP6D7FDOEGJTVPDH3DTVHGBPNH2FQKWGAJHXJKP6VY0ABAO73ZAJQHOWND6WSVG25U1FFRDYZHGB86AR58U2BEVG0JZI13SMF1RC0NRTU7CMWMNE1XN9NZHI8ZS7138ODVFS7E5CFUN1PXGXCTF9PYNXJ9I2THPORLRHVFB0RGEIF8JZLTA21P7GET0A0DFBWFU4YGOSGQRXE82T8VB2VPO. +36#2AWJV0ON7FPQO0KQNSRRW318IM81KDFPDQPQG1M8Y3NS4BWPWX = -36#1221IV4KDE00QRSNMKC3UVWWBXUYUB1AU7KVQVVS6GFBOSA5ZS419MWM80Y1NAI6CTL5UR9SISPTNH6UYNRZE2OO00P937EMFQ96UFPHT7FH27FVOG2RUNYP3C5FCM87PJQFVQ04N9CYWT2POT4IZ8X9N08ZLRTL8K33Q53ZBHGT53LF34D0UCF3WT6F5B0KXSMSDKVP13LIDR5BB33F81SC9L5XYJUDH2U68NL927MMCRXYCKL3AHMKXLTAQPGNEEEUW617T1E3D53LBIKZTX5F3DK3I1NODMC0RS8NT9CSYDY2P7090UG74W5LQWRUFL1ARCZ33RRZ94RM7MB1NFDS160DI0MBC0TFYJU9576Y3XRTY7WQ8ACHQCDSADKQHW1CLD2UQOX2UGGYT4JIKL2R0Z0LIPX58G1LW64ZH09QMAI10JSLGZWSXZJAVWHLZMBHMX4K0A9IRAUDF3NWRA3ISS5OKCEBTO0I29MVQ5RA2595S33111WBHJPGV8T4SD4B85SOU80XVCZYQOWL37XF6BN2O div -36#GIX6NB67L00ZRP0B4ZAMDC36BMW8UMP2T9FW66UYCMVUPBXVRM95D2KFO2LXNTNX82DFRUS3RLVR0T18JXBG9F4FS5AYTM96DUGOQVEYQ7XKMMP4G30C11LZXE0KG7F1AE9DJZ28724Y3SW7FLG0B6WTIN6LL8E5CMRHUTGYW41DZYMY1GPS8BX5Q6SA2J09W48SZE3XRCTC6ULQEHFYNNY7E16LNAFTE9PKSI5XUDQVCNGLQWKXQ306WAZ9FJK94MVUV6EEX2HJR7RLPX77U9ZIF007ZHKOUXYUC58OU73GC1TK7TTBZFF46CZ1KDXFJRDYL9H6FAAW7EVDA8LZF99FL3XWA4QBQ7NPU46IYUVAPYE47O3H7YZWZTQMIQ237K6O4XMJUMJJ9BUXUKMTTKDY002I0T8D1DIUK2JKIQ68KMH60L9SFKZPN9AEB70UKT8KZNQ3HT4RULBLI2T55V6E49P5NQ6OURBC7J00JV4. +36#1B0OP4UG14TUUDIFOI2I6WGCRHTW4ENMQIN4SGV7OHVOS7PU83T92BM08C3EVZGB94Y3FYP9D1C7927P2OME5NTFNQANMZXV78IZFVRU2F4Q36651H43HTDLPUKFV0Z80MS6E6YTMQVUBW6AW3RG90GJJ3X8XGURH7SV1PJYGFMAVIGD1G9QTMATG0LUZCGLWLVIOYFZ3MN4WXGOAJMNZY6VBEG7MV9LWI7M8PKT8WAHGMAH80N0ZE0YZ4FGQ977KZ4Y6STYMR5X2PBO9JMXHUMWZ0A10AI5EMYTGSEJUN3SV0PGYB1M3747P8E8Q56OETTXMXHN2R7SKF7AM6H75SWP0Y29I35UPDBAD833789UWTEAHA25V2U65IB397V3NQIOVBQ5E7F7RPK6LDG94ZTBIZSC82M8QA1XUZ4N0P3V9WSF10BJAWKXVSW26JAETJ55ZY6LXT9EWT5XQVLHDT14RL92G27RYS8RF4OMF0AOQB7JRW0UCWJMZQAUUZYF6GBBJJS6J6MJ3GL76P9B6JPYQ2YOULP1H16J48N3KUKW3K5F6S1WN1JI14WP40X1903KDJSJ92UN1C03KV3G7R26FJEQH2UO2JB4JHTZQK2DVB4HRPNG1HGPZ9N9ZXLWYOI8H2X6OUGS7FTZ9ENS0 = 36#EFV3RB3F99KISR6YIYOACTWQAMNVFCU9LJC4TRPG9UAC2NFQ0CMAQMV86CAUPY3QG * 36#397SQ99A3IB2TKH047V66FPT6XDWKL2OBUXUC98HN5TAEJAVHMLGCZHZ78KTYM838SM0H89X0I6FTO2AIUUY23IQ6MUNMBH8N0IP5DG1MZICLWWF6B1RDM9XUHQJJS11R4FUP1NTSJP84IB860297E33OVWLE0SG5CM6LJWXAF590AZR8H5NN9L3CNVY1DV6UT6AVTMNW7MCT3YKBNABTST1P4M4CNTKTAWP4SWF35TEUG6PPQM5EK8LESL9XYMCM9JRLKHEGK5K4VSIOWI6KK0E1BLUBFGMKQBMKZ792GPK7NF1NIAXX27IZU3O923TSOGUEETD8APGR5MX8LGQAT00CV7YC3ZLO9B5Z9V2EAD5YGF7Z4J31NCCFDWL0T5L4HSQ1VNKKJO63T5Q88TXCTHU6J910GTMFZIA87QWZ7MXGS5QAD6WO0HQQ83Q5NMM8AUVJ2W9T1WHMVHBU7OTFYHNFCZ6C2CQ9RBHVROYO6HW6IWZLOZH9A998R7EBK4CHXGUXIOMF5HYEXQDA546AY2O4BCC2DXN98MHUXHMJ5TRMGUB6NAANOTJ4JKSMI3LTSLC0QFPC335GRLIGBV0. +-36#5PX39EDN9KVT4JX13KI440U8C5AZ4VUQ78W1Q7X7B9CE8UJGQ1YUGHUJO3DRUP10V9ZDEDW0CPP6IFYW57CZZF1YLS15I83KALLL8TGGSRWVF25KCNV5ZUSUZ94J0KBC40O93TPDB2VTTMTL8RGMXC24VNP2IX6CVA3Y4NCLJF8SLFV5CUKRDGIUP7Q9FPSELRWT9PSWM9JI7DZ5JODR0PLHJV6EOAQM64K37YGZ64M9Y1GFO4E0NK4X11O53KG1AKCG9R376HSV0JSQQ1CACCS62GWNZAU6R5LU8K9ACZKLV1DNH5D3ESY1CGY4SCGG8Y1ZZ3L1V80FT4KPI3S6WJ6NFH3WMG4A5Z9PWFFUYL83OO0WSB1VW91BGP7AUINERJL23SORSA5NCL7C9DQ7NRYDL0232A904DWT5OPVWMQ2UPX4Q20Z1909PHFZCGVXVXBGYAHV4Y3VY059P9T9NBYDP6NEKITQJ9MS6EHU3N4WHW313MDKBE7UVXCZAWYTR6AKGXAS0FEBI9YBP324LGV2Z1LKNQ2F7FLG7UMDOMEO2F0RZRPP948JWAZR5QMJ31KXD4Q8WWTNPXN46GL48YJCKEPP1W8CXWG894DNQCVM9ATLYRH4VFO7EOMHREFXBS17LCUJSO4PNP4YP6D3P0IXWMDCKL2FY7Z58XK1RGEC = -36#2VUXQMESEQACR1NTZ4J989XJDL4FDTCHTRGBTTYHVRNP6U3PIFLEH325WT43YOZIR8NJX44LJ5D4VADWGO3TSLFCGANCHSLWUW9JOH9PDRCRT99ZSGAG2WXB3E2B3Q4932UEXAECHW4LGP22JLL6TBNPJMSCRGDCZ16MRVO6LR5XZIFO2MXMFT8YJHFHJMOSJQ46M4E6FDKZ1W4Z52BUJ4HNY3NOEI86HR302QKXNW2K2EJ3XCF19JYQTKTL9XYD1FWCACM80TAJE30P8N5W2P6I544LDN0RTPESGEALO54409E1WGMV83ABHBJFGTD7466YPJE4FRWOWR4QVLP8LGFPUK808IKCXRSBJZEXDBOBUKE07JKGZMOXR2PS0WQ5GV3ZDT6ECGT989K60A7UJ816QCFJBYZAKUCDQQM1ALDRDTEBW55MBOM8JUR3T54TBIFCYUIFC0CTH467QBRVT1Z3IWMDM4YHW0TZWMRTKHSPXIUN2W1KUH60W2NWC1KNH8A32JKNHEJ47V1RPXL7I2R1TSKJMOJXTL6MSKYZZOCZTX8NXACFYJZNR3CBRUGSPJH8OQFT06DPWEWMJ6I4NGYL78KG1PLODRVD9LU1X1VX1X8E8HLP553XBSEQPKWFMP6T6K0SNDK55AQP8RV84XVQUN1EWVYNM1SDEO8RE48IMB7XK5TFRV4HEOU13XR2M84KV670WSSF2ZM6LH2SLEWM3MU3PXUWYOZP7UCGV5YE3QWYAGZBQGDR57QBRQF47NRL2OKL08SUD2BX9D2MCTMZ3PTASQD0DND6AZUEUGSEX97ENB9BJLLP9K3KMHB6OPXDZJW286GCMM9UQ18DAEL6B5CB8H28IAZD1MCBL71MZI47HN7YIFYVIJ1PWYE5EXORFA6YST2ULKQZBJ9CZO47NPWZBLIQZWNH3XPQPBLCGZHDNU92GSHEEWT833VIVRE3DU1DM3U88H1SBC div 36#I5NV6CP6GPMC5LJYDTZ04INO2K4T0RHLQMOLAKAFU05WKIFH2D1MS7PGV6AKMTPPYE3TICKEDNYGZSLLOV2T51I4JALWKIW0ALTK7KKOVSDIN12U02GB9TQK6G1LUF8M22QTVGC60ALZN2T4ZG2BMO40MNJIRQUJRD6YB8WKILNELZ0BNJETSQIR265LAHNCN6IMMFEUKS7YX8DFBTMGD8Q20KMN46F37FE9M5NZ1ICH6AG3VZOPX9UBOWMFBPLSQILWDZBD4JWN1L2PGCL0COQJT51KGTQYYXRHJA. +36#2Q0K3NJB1L9YT3ONBGYWORLQ5PH44M43S80GF6Y8982WHYXBEM = -36#8DEEWBOFA2IUONWJIIMG3DHZK73EAZH5UA299O0VCLW80ZBH1GCZHBOKZ2EVIJ4N9CD2SQ7BWOV7H8GRG8UGN1AZ2YEPK05OFDE div -36#32P8HAGRAXL2VW3ZDQMRGALUX9NJYONHWV8PTRBP80RZ6EWDXZ. +-36#316NJSXVRJPW1DWL26XJZ8ZF28UVLHQA29O4IYBA3TOS4ZCCGYJ3OW41S62T053EXFNCHX83O5OLMHX11RZHVNC6HWVR5VTZTC0OEIWDE4GL0ZIPMO2OL7BZA398NVWJQ7TWGAM4ZRO1OFQF1LWT3CIMPUGMX1O4B9CAVXAD9MTEGC5DHI69LJONG1URYJJZ77QA8RP25VRKQOT5XYW1WYOUR6OXZ4NG6BQPXT20RH3BVSPINXJ8YVFJ3Y57JQMJ9FYLZUJ6223YIKEM6WPW3DF46LIC3AX15B1TP69IKSCU52D3L28L2ZDJ1CEG62YPJ49BRT3B701DG2QYGZII26RXV7HUH6ID10B1NIEQOVBWG9BD6RSJUBST6OAWSPK7YZQNDDU9JTU58ON6B0ZE6GH3TZZ4U7RE72JM1T77M3NZZ2KN860N4O3QQCJ = 36#1PO7CP60DY02WIXLCJJQD7G40H57838WLIDNWCSG7BY60BFY4SECHI25WATA1F0M8D2TUD1HCFYKHBZHSM4A546503PXUTWNFLFGP9MJ8VE7KRFJ3CLHU0PQPA86TXV2U64C1NS6VZBY1Z93D721Q7IJ8SGLOD3K9OABQM0GIGUO8CB411A1DBB4920EOM8SSFC3JD1MKMFO7U25NK5WF9GQAKPUDE4HM5EJ3FO6KA07PAWXIIH2CAXHV447U7DJZZVFW7N6VPS85ZV19DEI3EP2EQVPQKRE392OL4DALACDIM1RR54JSAT2GAUD4M7T0M6P2HPV65HDIM6EQ5WYR81FHUNN65M6XRCTS2R1JHCUNCOSZP1QH0BVF14MGTVDYNPA3MQPMETXQF3S18G3XQGMGGHOP944E15XN66PTLUY96DR749QTR4A23N6H3TDX3NQDZSTVB13EH4Q122DQPQ3HYQ29MLGETKZ62XTLHYOZ03SIYR9D3IG0TAGHPCZ3T7VEUO0BDGBGMMY46W897LLCZED7HTUCYWX0RLOE1TJXN5DFVFPIREBZRO0ZZNXXTZF3N6G2HB8V4RANGK63O3KDWRXH3CAHWNGI2EMQ6D0TT7SGZM5ZCTTBHQ7YMK8GVBH049CBH15B4FF1VCZRB6WA9Q33JSMFC0DHB6E16E83U9XIIEPEC6D4PY3LDPEUMAC87ABPXO0O5S0J61QM43Z5LH87FWBFCBOBPXOPV0DFQO56H8CDO6L2VFP5R50MTZMZ55HFJOCR6FUTTY3UN0SMK5XS2E9FQPS8KS7VBRQ5W8KWT6NH1THRUG96FZOCWBWGJKSJG0Q5L0EKAYAHMTBVALLXMST3FKIIRC872JSP4XSPLG6WIQP79B40BQRFPTCIB59ZGL5ORW0LNAAJ29XENX6Y86JY1HI187VKYXTD07V6QH2IILR4RWYWC849WX2KHC4EXGZGN6HL2AO9ST8SA0IZGKW5IEIZEWIMOZG30TPZ0QTX5V8704UI5IXXG6R8IMGA0FXCWVQU3VV0K57BJJGEJIET4N1LABO8IT0TKJ3ZBLF44S8FMZ54H2PMUYWVLXLYF5KPCISYICLFUTUBCFBBWSSJF055BXSE36EPIXPPH4OYXQJECJAGAKDX6AQV6GA0P7XRXJMB0EZ9L7JGVJHLS2X2AGD61FI0W3LASM1570C6U0L3PA4FO1YBX7HGZO1YGZ9ZE7H5H6YT2FD2T7MTLXR4UVEV0MYQ16I348J6HVQDOHQI97C8QBFK3AD4F4Y8WFREQQW4W7R3R0JD2PAYAKZ1EF2BDEJHTGF83B8QON7JK2IND7JO0TAJKPOCD8X7F50MGCSLVMXCAS6LCGBUOPOKYYMM1EVPB9FGGVRVGWJ7B41SNT9G1L8USDLBQ32P5VQBBSE4SID8TVDFD04P95SXBRP3L147PUU5OR8GSVR0BMOOLZ8NLFD6A18S3MLMGVQU607C736BWENLD div -36#KC1C364LT67GA2KT6BKOHUWJZZO062RXSC16ULYI93PZMMGFFOMCB99OP0WB58ISGSS1LD5SXYE8N1IKV8Y2OY7UH4VBQGFSPRMPM0X1NP23JTKD9XWP9JEF8UVTJ5L77VBMD0LC34CMLCSK4KIHDQHGVFBNGZ4FFWQGZF9Q9KP36JG6H33BGBG7IBN4A6HU26OAJ7ZDNP6T5F5LH8XSX3QGDG7IR36FT9CHPRZY87EZJFNVS9BMC515TH6NLB73XDZTGCU4N12GHIQ8H0RSB0VEOOEACONZFBUSVNWBDG3C9A76786LRCYZR8WP5LH8H06SIAVKTEKNW4UC1PMNG7DZPF8AALTIETDMIBCN0Z4EPNXLW45TD5TA23RO687ITZZIH4ZALNTSCTMIU1YIYNR9V0M05RMO4MWGE8JB7SG5NQG50A9CJFOX4986CCCS1R51ZJ62U1ER4BGF3X70ZMZ9XJ9IS5DDTKDK9DOULSZ7YQTC30TIWD0ZFQ9JI6AGYC3D1FYSZZ68LTIDGYIPEF1Q7HIF8802CBTU8L2O7VPCL8WNWNTOLE0C0PVAP8TPZ4KMYPXEJNNC3IRLS0C8T8MLO2ODDRAAEWGHHG9E63SSE3TYGWU26H2X254WDK9F8XT8HLKPHMDWC669ZQ13XLUI27PH9A7IZGQVYA2M0ALD0C2PDCQLVWUP3GTXLG1OJZD3Y3K61TUZX5TH8PFK1MKP0JK91MN8CZJDUZ5GLSE86P0CJT9D80GRXN9XORQ7K7WM948T2952P969NTK7LCGQ5USD88Y3BK1BHNAUO0LS685L98RV99MWB0QVNNI4D22JS19UU7MQCJZDM3Q7Q6471Y0Y4KFSS7YD2ZBZJ3GVB616QOPNCAYTAT8YC2KAZ7UFBJNPHW1E0TGOW9YHAJ3PNBHY3CBNFKO7J7CW75T8GATHCPFQC05CS557NMNQVSCVAJSY73T6X6U517PUJKPEH5W953N36NX97SOSYXSLGLGX7QQ7OZVD7497NBG9DTAI8WT4NTUV5HLYSSLPDPRQ8TICNBV. +-36#B1IC59FH932J72OD6S1WKZQG8AMPFR51XRTA707WG1N31SY4XWB7ERPCRVYNHL5UR2C9YVPUJ23KQF148DNNS39EWYDFER6S4AL8Y5UB5S6TMJG7J1F993WAF4SC2M5AMXP7J19M7G3CFWRO2MD75LQ4U0B1C7EU0PPYK6XC077LSH3OZ6ADZNHRQP8I5QFAHN790I4FV15NOTZ37PL6U3N2BCDVCO08XJHA8JJPK0MY08PS3G49ONJ7BZ50VMOPG44S4DHI9B1GAOAGB0ZP00LBQ2CXPMC6OPRKIXBDV53TN99SIZGS9OB0GC4TU7TUXNRLAC3EOX0YRY4AP10RQIS6AY5ZIS9GXVVCIM3PRY71JBBDZP3S55C5H6GMSZOQNL28HRHEYRS5547MAH4N7GX9OY83U4LG9Y1FMH6ERKMPX2U6VTR5WJBTN4DCJ9TJ1EFF3CBNTSJTZ6PNF501V6E1H59NDK20Y1V9GP43BCPMS9JK5C6BGO3950OLM90YFFR2BG6YLWWXY4K2P24QACAVDA4AMD2J9GVIK2VHPYZZZ42556TM7L02313RMZ2UFHDN36EHL7O779MVKENNC6S5F8XQST4CBZZT583E57WRHCGC8G97UCPWD4PIO410BK3KKS2K52E4QE1RZ4BDR6QHY0LHXLG1UXLE15HBV6DUZY33K5JTM4Y3IW5PX7GTQ8ZLKLH2H7UPC23FLJQH4T8LA4ERCSH5939MTXQA299YBDM3UZI7IYOLT059TFDDIJDZ2LZG5CLB1JZT19MVYJRJ4YOB56QKDUJVZFGPEGJPY86SEE44NORQ3M9CRDGP73V2VVSURAR9BKPDOXEDQT6YZ7O11FIKZ0IW05UI5Z2N1I0XP9HR8859FCLVVYCO7O76DJTD3NOPGMONK1RUWTTRQ77YTJZOM6ZKS0EOBRBPGPQ5W1FDYSJJKQQHKJ43NRGH3Z2MFPC1NJU1TBQU0UUOYXHQHZSECP8ZKYWABKAU2DBSLU9R8RVZWN3E115QKHAJ7MNJ4PKGTV3YF5NI46OPF0XEB29ZU6AFP26AZ5QGPGHWDK = 36#VQEWVSGG1TPP2URCXQ60ATU569T0EIIRS06H0YBD9WH1AC5VM0MRUGPCVX8ZCEGB9C95WRKI68UHUUWOHB41IGD4SLNQAZIWUE49O7NU82MSAUUAP2A9RHB4USCA8PIL4K3U22VORELK8PGWVDGKZNI0CMEDI05QAPQX3GAFGQBPCWACFBU7MHIAR8YXSNGGASKWX087MLMQPLGMEOMCHBZCB7CC034V2L8LYKO4K2FWFSX3L8XG9VC6DMO9TXDLSSGKVJCYFGH45WF5I2YQNZSBOKSHARTR3007Y4YM9Z45XREIXDLW5GOZX1UIGGX6YAQ0IPA4OJFR2VXTAC4KBXQ59T544EOCPBZTM13GM6KO8TRZR0SSF3HU3LDELEIIJ7LTFSK12J3JWHKSHZ0YOT3YUIAC6N0OM5OTCNYG0U38SF5B309AZX0Z5SUZMIWJOI1K6ETM217T3WXR2W7KY4O2SVK6451VMAYVT5NS9HJ1BC0UV2NQ2WNCG89NF2SQ0AT8A2SJTPQ9IG26RDNN4VJVLI4UVRIX9Q0XJSZB8K4CMMD1X678VDJ26OY2G8TNEQ2KB14DINT2P8AWY1YDERUM3XUKVLTT1383LDH2YC2V8AUM704J99EOE5UCL1LYOGZGHTFZNV78RUGG3G3QY6BE0JNX5CQMLWKXQXJIJEOTYCAWHB00VBLDGY5NSCTRC7C71IRYORSBTMB1X511NEETTYM59C2NSD7XO9HU2UL9OKMOPFGX17JU29UUJCIBA715S8PXEMEZS7YLL7T9GU01T8AS37BXR2FNYCILMWT7OOTQQZ7SH4E3K9E7YE5I5GF01ZCANUE47OZPA660905X92BZWMCLM5S8S7CIDJEFLEOS3Y959SRS4U3I1SNUCOGSHUFIAH5EB8HCWAEY8K07B7227D644JPQ8OO56X2EBWWZDUFHFI2UEW0IPT4C8PPE1LAJRBRTDDBKZJOCT3I6UKOU0SRWNEX20K7T0ESFFXFWZ35OUVY5TPMYB6MMAG33K5YOB8WNJAR2YYASKTO3G6IYJM1KNHCEXCFOBALZ77TXOJ9XYVBFXB95O9JCY3UCR20ZPMLDGGM6C9CV478XDYOPSRP2JQ8 div -36#2VGM3GBGPVIZWSKXVNNS1CC170NMLGE8SUGW0OUC5IP8E5RUM4. +-36#13N2URYMOWIY4AVTFDRNRSP74EKDJ1EYEGI20C3WCU9GYWWR13 = 36#LNEE5GX91368YCGK2NGCIPIQ2FTQ0IYHCN863BVR0UFYRZ1CF7HWVZES6991YCNT2UH058L3V4ED0007N68WSC7T0Z0BKT8U1T6D69MTJVT01CLJEFB1NFX5WZF8IYUDIB101ZPK2S2ZC2LB9YK825GKWPC5OZD2B4P54AL8FZV2BE8QNY1BEPED0Y29KVJYTTJ2CIEACLYX2ND15GPZPQKJHUDSRMEBXOU6CZ9AZAZG0X9029IW9F69BXG8MQ692CVFCV1YCRBM8VFNSTGA0UYCXT30QVFH4ZDGSTYDJPGBIVY7587WL20MM3HST8P0RKTHQFRJ3338N9E6QDXRX4L9XFO6OKVGAF8PQF2HZNC78ZJ5NW93YFPHQO9VL0Y8WUSCE6L22F39HUUL0Z44O6T5SQN4EQKWNLLKAQJZ3KLQHSHE704ZRY3KCMWG3FZXUOOCH6FVB5PZZ8T9FH2YKK9S7I4ACG14HJOUPURO2J1S66IKHKDJO764892ZE1VXDFFQBDLVFSI4MCIUL9DN5QM48UMJZQVUKV3F36PWHDXWVJHJYUNE5TETEWCZ1GXQIDWR82BTT9NV7TYMOAIF9UT77OLTWCZGYQJK41PBS7T7DYNJVHPUV97S22BG3AD0QK6Y96T1LLYX8DKWQZ2BCXH4ONQT9IU div -36#JNT6SZ0RCP26LTKWRJ5ZGOODHR05U4QMCEWSXB36KZ0W6QW17NAEFDL6VV1BUS5OM390Y536R6FACK2MH2LTVSQWUU79UAPBDSR8TJDCJT5ZWXHTLDAOCC8XTX7LS9YS4MHSKKCIC2VIOBB6XZKNE5FYA3TD1VPIZYK3I0CHJZ34OEMN8949X8KJ5DS8NVCLTDW8C4LER53B26QQDJYVHOD0UX8P4HWUJ3W7CO38NHBL7OH9JYNQDHZM0CKSD07UAY18QMH6FYOT73ODDDRWS0DCK01QVHRZG7ED2Q3F9YXVCKEC9V5MFTCEDUFU51DATTIHWKV638AA5C6W41ZFNICNNZ54QMBGGQ13K4QPIKYFOLHEUNB7U8RP4RESY2H624DGGK3UOMUAESB2SFG3Y9ZWH8HU7PT3QZWGZS7MUFIMBBGFZCYGDMTVNG1DEI5DQSNUOZ7DO9VK9XJMJXCPNAHY63KSG34BCVX49DU2SGRYVBBP3GLJZS1FXTHVDA9IGJZBYB1DIP2FLMDQXHQ2NLTYUZ1RDTGVTOXLE66ECG14SSR6FJVPHX6LM02GE6OZIZ1JB1EACNNGYB4IV4K0104OBW6L6DK97878MZUTJOSYUY. +36#LO6JW16YEPP455L9FKCKU0HG1KWNZMNUDINFX82VWRSE0T38UG4PDJQQIGIVT8WQFO7ECK46PPFUZWX8519KOTETQZRZX9Q74O72SYEZ1AMMUVHKOFADD59N41D5TYCH50O8N03JR3RWSQYWRC2Q3DHDLUN8L4MJUE0LZIR8LP6LDUGJ315GW473G2I10P55KKJLL9M62H30T0RC8Z37H1Z1H0WFM2XJZMT24XZRU9QMLSCAD9EDOCBP0B059A96LHDTY27U1D5S3JTAZD8K4LAB66E8KF8EB5SHZT0ZVFY995HPHEXJGBPRJNB305IIEN6GG59TDEGTC33F9IU38R197FKADUCF5MUSSGEMH8B6ITZLGKSIF2K6IQ3LUZ5US3H2IE6B8ITSADT1ANH3X27AE8BDAM7VDB82JRW2WL7GXU18X23V6TPEXUCM3BNE2HWISZJXQ9UPZ17NAXQXIYJH06Y8ZFH659SEA5AT6Y5IG8KSC1DQA5RR51DHQFU45RVRJKX401HFGU8IW4PZ5S84CZY59CNQL0LQ1LWN7JNGAG0KNIJZHCEDH65SJN7H3X9D4FJVTQT30M2PQ77XQ4NGHJ1JHDVS6X722B4TA9HWDOSZAGXZFG4ZYY8RXRR636EOJ9GEX327V6OML11ULCCCX = 36#AM6M6CB5HMLBOW1OLNVS6P3MQY9VW6P73KFRRHDEK8G0R8LS5X7EZXSJHW81CLPOPQMS9KSMGE7X3SZM7V7QYLP1T9RA8K7SMTCY3S4DEH6GVCG2YKWZKXKTYO42LAY8UUM3Q0F431IP01B1Z7IRNCKCVX3TOV2SXRN3YN149IHOCUDGZOSPW8Y50SZ2NJKKU9RFGAFPUEIF3P2VJXM3V22INGS6HOH6PG0IPVFMTSLVYRKXQVIFGH1870TCNJG9AYCXBG0V18EQV54SU92YWC969UN1J6I0RLQH4UULTAR7T8T1TDMY2IJQAQ86GUC7PQXT5E2HH1I6J4E5JXQ28I35QUZ6JIV9WAJPUSBEE8FECRX3TNEPC1DVYXEZRVSSPSUM0FYSWRHPZX3KWVCNDAB823HTJ3JRC83ZEMW869XLZFQLC94O8S81NISSPLU2IW9RCVGLHXYDYMP47U9YU2I158H2GG9Z6N1MUHBM78M7RI22WK0KB9P18ICTIG54F51ZR8UVKDTA2H9J1RCB0H35OOWTMCT4GJQH0W2F8PDZP0AZ5HP2BC5N0FECO5KD19PW4MIXOMBZJA05QYZDWYOMG11LPRBAGAA6Z4JKLGRZ2G5H7BY7B97IT5ADRFYIEKY3HEL7UAICZLY0XGF0RJ0FGV8Q7K2BQ7U8WU047B583FJ00RLZJ89NSULTSVHKP0SUQCPBFVQD6HASZNHCGXTVQFDL3IZ8DUQZLM58CXQPDC1F0EF8ZW3TNR6KYV9ABEDJ8UZJYTY0RZ3CIDH51QAHFG95ZC1V5INCVEO6TOZFUZ8GZ648XN4W8Y8WWE1DDVWQC8V7I7O131YG5EPG3ZAGYV2UQ5VBQK9XJ4YAVCSGH5MJHNPG7RG4AIUVT6SJV42IPVLPR3ETDKNS7UB55YQB8ZIB0Y7YSZ3C67N7YWK723VJD3799M2J4839BLAG42H6XXZ6DYH4LIEWFNY3ERJ4LOFRK2SOQ4QRRSZRDWOT68DQD97POBPMOSFFKS8AQ57OXSPJXWEF6H1MWEJM35UH3TL1DWJVH9SIFA0ZPCE9RUJG9FGU7MTDFXXCFBZ7UWXBG9G079JBXCSDGH3V045MLHS8ML4SQQVETY8VLEYSO592KJ1TNI21YHM48UB5X0ZZAZX9OZSJOEK1QU8D2SA2YPS9HVBFVE1XO1MEF48LTH3D123YC div 36#HMV4WRXUYUN3VTJJ5WCHV2WN6EDRQ8DEH023HY5K7PTNHDKW0QGPE6X2ZPYJ976WGUF5E6W8AMXE4SOFV39J09EPOT7GP2SJW3HEX8L6UZARWMVEJH9URDIO5H87O2VYBM8LENI3GZEK6C3S3VUK1IG9IVARCXZC1YY7V6K1ZJJU3Z542Q2PPP0RWT53O7VP0RG392AF192YWA70QDMS8GF2252PLLPKQTLNWRIF802YZUB401CHT6TQE2KM94Q44TQ1JMPGAPMMX1TLRVFQBXZ4VW43NIHM9KPIY0STBENVZ9646VC4DYCJC2S7V69CAIFTYTM1BCNEJRGJ14ZC1YUO85894V0I0WCC7I34MUKQCHG5QK6P726J2U7F3V0SU0SYW3B3K7OBZH8SU4YWN0KQVP3NPC9JUSMINY1SSFODHWA1HYVSY61SSHQULYFWGJF8H4IHNWQDGBSRP4C71V78PDWDJE9MCB9N43625TVM5H2CDMVRCA7DAXB1CMQQTSW27EH9AOHDUAJNS49PDUZRVVB8. +36#41QQ04XGTJR6Z6EO39BU4OIHZYA89XM124EOW66ORFT2DPGB9KGN3TXBVHPZ5YNYGBEBV8ALBDQTL71CRGPFQJ74DW10S8OWKQ0WVO8FNASFUAD50MKOQT5X14BBAHGBAVLU0FEL6WNUOXF6R4D5JGN1L = 36#UQ39KLH8WPVV46Y999HLNG6L8UASS3Z7ID9UTU3PQ3GH5KF83 * 36#4QRJXN987Q9VKQYICH99DTXHTHPR4VF2HPNQ8M3CHWBKKQ3FWR7X1538CUR8MS918AL0TINBN1PUSI37LRWTZIJB39DITEMCQM38ABPV. +-36#1ZESWNMO963Q6VD4S8BXN1RJ6CZO8AWFB6LKZIY4EDGQD27TE0HJ45AS8CU3UB1YVUOGZ9K5DYJLGJ041I5SRQ7OFSFU8JSJT7WVJZU5G6VPXLSWYPNWPEH5A9MIT5PXSMAN9BCXVAD6GMEJ0TX34CWCCQFS2AK7YZBX370GHD3JB7IH6JWQ2Q7M9V3VAI6DLM0VY0ED0W5QOCTQDX3EQIDXYXR3MI6HT3VEQCFPESKANEVHOTE8QK7ZJ4UIHGJR00IMYQEJ1W942GM2ZE7C2VDVD3RZWRELJ2XSSG8I7JQ2NTLDJSW601G48W0BA1U3FYPIE221J804UELK6SIVKSQR39XM0O20MHB9O84Q1T3EELO = -36#NHSKB6NKON3WKQ0BNEOFPQF6QDOVVENCELMH0130YQFQV9C1FS24JJ74R50NZGLOMMNZFVD7IPSITXRR2SPO4P8KBI61U05TFBVRNLK4IX8ZEF7XRU9QR91QYAQGJIHNZQ2A38O67PCXU3LWF6C0S84OQALAKQ4M0LBI3L5UFOSCGBYG044WS21OOMHLE9RUKZSEJDCRC0I57S475Z2YRUW3JHVM9U9XO2KGB1X66PJCKBQMDLNJFGOX4CIPUWBOOMTZWCIGZLL5543VR3VBKGY6LYWIPNZ4TG5NBIXXYUEQ4RO8MJ59XYJBCAZJG * 36#31F7O7HHIKZVWTV63VM4AXYEYDCQI0VV1G1KCFFL93QAMGZX4X. +-36#TGHUA8PSQZQ2XLZC3VCSTU7ASMPDA8TZAIJNC5LTUA1BS23DI = 36#34TTCNI8BZW680HV2S9SHP3P5U49I69KPIHY26OSMKI6PJ8XECU9WPM3SGSN0DFLG33N0OZEJNKHUVUBN2EGJI27EFKUXZ9B5SY70HXIFHD9XIYQ00C78IN348ST6AIYNG7JYNAVOVD6H6BFKKH1GO442PBTK440O649077LUZO5PDW4RWZCQF9LHD3TXFR22XMJIKHTJ8IHXYJ59R118913J8G0KL195OSP4L182S8AHYJEN9ZPUW608Y1LTMFJV6RIXYB6ULEIRMX5VJGCIAC0ZYN33SAQJ9RWQZSYJ9XC3UAAF20GDRRC9U41UQ2IKMN6S04PIKBK0VOVL6EVYDI3VLXKU7PRNPJXYKQH5OFHY62JZ6FZ8GY7SN3UBH05V7KIRGSZMTK0YDH54T4OTVV7039MV5LDI div -36#3TVTMWZS3NU9LE7A8S3MPOXRT4RGMBNEOGBCU5Y9IAVN3CZG12UHCKADFQ43SW2SIA4Y0G3PZCFSSVA9XIM8IFRCDCKH676HHO18SUBTI59M9HQYUBUBA0DR6KDLDJYVK5UDKJHU2LHBW21YP58VMYOGDAWLYIVYHK41J172DFOCTUCI16BQ8ZP4489WH3JPN7LLYKHUQ237Z6VIKO9L513ZUF9PDWF6CVLI85RRZUBAKGQD5EYRUDY8IW05EGCLDOIH9FYJ8S6JMDUYN2RJN80BTSGKZ5EJFPI1OSKR7DXK4N6F3SZUW2UOEJ2NQQSO05PM5MYJ2UF1GF25NEH9T2Y9XAQQ94EHPFDRL3G000Q7UHXT. +36#1M59ZB880H71TQ1DCLB1MPQD11UJKNPIL9OEN5QHEN4YLRERHAPCNPMA6ZUWAFSQLL6P3WQXYDDH4RNI9EGV1KRY6NOO4WOOLBNKFDL6AXP6IMMYPI0O2DJLM0EPY8RQERIACPDQAISCW7M8T3NW1S6CBB0APLDULP6NQ7UT4M2PUXWBYAV5MZEMUBFA5RWTZKQPR5CSP7H4K7PVLLKU73 = 36#8M3O918CTVE4EHJZ06LH4KE3YVV3S305LPRYHL12ALI85SF1S01U0OO3O9Y2KY224WK895WZDNPKHRIUR85O435AL9K7TX0CMIER1PT0KYL2JX956Z074RF668EAINGIPGYAVJY42PLP59VGC7D4353ODC8YFMP376R91EDEKFQYCHGH1E8ALVERUFIPE26LPM9CYBUIHD2ZMBIRY818E25ISB6B124TS555KYIOTJIO4MV13EZFY60R40CS7252QSWFKMD10NGGPHL9S8RGHT7ZCLD2CDQDU1THHHUKIRHAVR6TWOL9OHH2RM5JJPSMZA38X07XORV2F1TT29UOI5AQTNG51IOUHPXAQIXJMAR71XS9ZTQYPSNRIEFI3YAYCASVKILP42XCM0B0E0SHOAQBR1NW692EFAZQWX9SY5T9K3S6ZL6BJWGS47CUQWOBLE73AE0RJLHWGMQ9TG901Q3MN26FFKWT3RJIKXCCS4W6KU76SJPT7X17AGHQV958JO5UQ7M6MLJ6N333YDM530PU0TBSPGDW9P54AEU5KKFU5JMS75Y27KCY46X299BKNPELHS07BHZB6PGLG7I878LHKEG99IJYAA9AG962CF7ODCWUTBWF0WDGF1J93FT8NH25CBU6VH08NSJJ2GY7NLC6I91J75QXHGHOH4GGV4X5DYX4YZT5VNK6TJ9XZ85QNMRHUA55D0JIMCOWLH0US6JD7RBWMP3158G5N1EJR7HPZNSNXWGLQ55WI46TF8NKTHW4FJLZ5ISW0ME2CWSN98KJOA3G5FOT0D0S4X2DR3M7FZTHWHWTHEG7VDLTJRB46UJDRXQTGYMLKXOYB03LLBD1IZ5W5TNY25VU49OS8L8XTCBN30674N4X1G2ZXBILG0J3U7XO4VPYM0MNAGZ0DFAVZQ326CCX9RIRFMXDB78VHAKKYKBFA1Y6C div 36#5BZPHJ4TPPT95WWL981P6XZKSS74VNTCSRRGE59D67W0NAPZTLE6FH8TE1KMR9V7YFK8OOHJS3SSIHU4X476PGCQLX77J1WGINUIU3WQAMRHYCYW37O51Y1ZVMPDYVFQZXHPVM46341MEVVBL2KWO6PAJOW46HWZGJDCS1WIDWHLA222C6D2RK8UFDQDC6L0PCE2GWBMK9OVH6P2PW72ZXQ76PH36WMB6P38RRWEGDIDUTFRBGU0HTFIGXKC5SKMK4ICC17R2R05A58W8TI1MJOVMCD5F8ZD1EFBA0I5B99I3L5MICIKWK0MTM5JUU0MCH5HVI8TTFW4RUJ31FZ3S7URKISOTBQK0O80DHBEBDLO74KPEJB1S65CZ5WAHUSUCQ3UTIMH850C5XOZOB83O2UK02S5W7OLZEOWENFWEE96JM43ELP0HROIQIZOQXL3FCPLFLPIEOLYYIHAHUE78PNKY05UYC9UPDFS95YIW63ORAQQBR5D75ULDP76TG430KKNDZW8Y3AYQCYKKIF2BYD1LRMTH5LFCG99OLNA609K37IOIQIKB6HBF1G9E5MXZ8D0CFZDJR9TMJO5G69Z7KFKAEH1RQ06QBPBFQ2TPFMLIWQQ7ZKBZDNQNPBKHIEJJ05XE0YAKO8TOFAPHW8E7ZIX3ELBDLJO9O9OP5HZUECX23LD1W63U3610MPZYO2T08OI4PVAI8CPIC7UYGUA73E7Q6KPPY2NREWS. +36#15VB34UKPY5E8UFXOUB2X3VHYRPXW3W3M1WEL0YA8NRD69NINR = 36#182CWQA7MDMA6IR07H1EVKO448RY45241AZHWFYQPEK7LXC8HUAYURG9QQEKX3RGO0R9VKO8AKJ458PZNM1JGEEZDJCWYADNHRPYQ1JUB8P53U8HE21IFN1GKGSFH09M2CUNMSIRC2J72UK0OSONXSF6XLGHO4ACGOGQBZJKJNVO8YH4XT49E0JGVN8CIBQ2H3VSLK3X0NP0LMYJW9XI86XB3OGQS0YX21R1UDVDTUZUI1Y4THW9DH501E1629257ZZXC34JL4K9JBCXDXRB4SOSF0AWJTSVZLL9P1SV0GCQIUUVFGITU6N8ZN5YO6YMBLQHWFS408R2SDECCYPO5730RY30F8899U7V62096FASFSINOOV7ZQP1UJRGJAKHROXLYT0XANL34GUU4D29BFGOLD88J8F3IFDHMNSDP1H2GY5VOJMX7U4UY9R0RMNYHS4CA60XVXI7BYRXMPX8BMKIRLXWUHUMVJZLT1J91DX0EFSU5Z04LQQ29QGI28YP7SW7D8GTTATOAZ78TTCSOA0UYYGD2632H27SOUV74WVGUPOA692T9B4S672DIUOZMK2CBBI div 36#11VYVAGOP22ERYRTI0EVCFO6BHMC2JJDGD453R0W3VXFMELKDQLUP3SFLXNBRZOH8LMHMSSESTMPKXW1CDKKS4L67BVUDL42KVDLQZ3BF8N65HPPD5AJOG5I1SYH22X8X9L9PK28BSI709W3ZTFO2V827OA74P9WQ4P9OS4BJAZ51SFC53EEW7UMUQ55GNN9D8HOESWIUMG4XWPBNIYJHN68UUTSFF6FDRIU10VULU5WW0M27YHIDBNKTQC3JT2IEDBIGKZ20FTSRXPKQ1H0NLTFWLFSZY3AXXR9WK999IP8H3TLNVDWHM8Y46F68UUUL3V0VB0S3WULM98W9QL54FOGQSVQVS2RYRWHBZDV32557KZNXQNXUTBOM295HOKQ060PKALZBXVJLR3DFUGXBVSVL5NJTQ1PKJMSOYO1DN6XLEVRP2PGITPUDZ4Y1L5ODZ4VIM1ZMUZ4OKGOLJFGSOV2ONZ6KPL9MU52O2NQ2185LCO51QAY41FKRQ5300DY89C6BBGRN4HLNF4IKF3482. +-36#24659QHQLI1JOEZ69ZJ5PGUIOKJ7QGNA7CRXCQ6TW5I8M8Y9R93NETYBK1VGZPQ4L0TUTAK2ADTD8B1EL1UEAN9FEFIMJAXLBU0TM70JNS6S1M4P0PX0OVRK9R35ZC633I24KL9JAFVZ4BSFZJ = 36#7SCR96L2QZ7MNILJCVR0C4S22XAQK15G8O79VQ0VJM3PB9RE5KS98DRSKLV7OCQMJ870DAKYL4E4FLO9Z6CTJMWIELH27L3IPLK7T74GZEKH6T205IUT1RFLZVOM3F479OUFTY8699JR41VEQ3LFW4UFYVOMFOUIB551DU4VZNC9SRKRC6K10J1WF62JTC2DMKAGWY9USOJ723UK3KTN4M22BDX6G div -36#3OI2AMYII6ZWI6IZU992PI2ORHWZYK918HAH51YHLKOARO9JVF6OFGPBDCYCEINA0HGHLYVJ10EG. +36#X38AZF9DYNSEAL3F6LHHLKDLDB3QXBDGL3TFE8S5W3HBWAV9T = 36#2TDGXR4HGVGGQHRLD3EY691X4S7FMJ9YL1HCK4CUQ6Q3GOTYZ3EMLSU0VWKRZ0OUA2WU1WWTOIVLQALSX95GW3G0YBJVG3DXSGG div 36#32AFYB89YKMCODGZ1QYPQIRJR4T71F1A3HJC9OWK9MJBD705E8. +36#DH9L5WKN93RZIZOII96HX8LVKLEKQTHY3VA8S3DVS2P8LVOK54CSSFBDR44QIOI6E1D6WP0V09ER0J7PV82GBA9P39MGK81GDJJ6FZURAOMS0D282IZ5NOEHJQEBOK8H8XV7XYY0KWB1CO45RFR34NPEJ71LFEBYKHQQ28B58BOXBQQSV5 = -36#13TJ0MQ1BR547EK5CUYRY5HJCDJPULA14OZI94DB0UR9AKM5K3AMF303XCL5RSW3F7BD42ORK7AYKFKQLSAYHUGNBX9JX6NNK5VLHAKU5X2HYPUWX4F7KYECRS85MWQ3RNA8XJZ4V8JKAHUUVJLUIEUDMEIOECJAGHB9MPIM9RJFS78P5SCHMNM1E6XYXLP5F54BZXRYA7UHA9X0TBTI77ODUAXOTT1EXAB5 div -36#2YCIS05NOGYD5U2GYLI5KA913BC6SYC82DNQTSJY1VVBO52DW1. +-36#10G4H9YEV1N4X2YCP5LGSHT48BED5Y4LTFKV6H8DW8OX86ZPH6GVTU4C37Q66EO1VBYT7I95T60WX4CE9XZH2BW8WLIORW937QXIOWBPNBCU0TOGGZUWBEL0L66MFEFBKD7K2R849AFI1EENGSO1GUGVPCSA0FC74OJ0RHJ6KL9BTORXPLDER22TZ4HUW70NRMDPFOQI896GS7K1EHNDEXNDQ0HWI5NAMO28AJ4A6NC7H0DEZ9GUYFJOGCWJTK6SN5HRJ0DISGMZVWV8DRMZFSG2V1X4LGFMM7MMKUX5NI5DDWVBHB3VT0P5VVCIIZDEDQKMXHENNRDLC1FIRG3GIIYW0GTTSLXLKGXMCI29BGSX58BS3903T5W2QXS2VCM0OGEWEQ4UMN9MM6T0RH6OXAE381731LI5T1USEKIJ8OK3EWFVF4VSQ6Z3REPK7N2D4OGENU7LS8XDD2ME5Z45XCED1G0Y83NYKZ6JHFL36HZDDF46HBYVJ84VI0HW6K539JR0CCE73W3TC3MF4U9M1A09OXMJM7RIKFJVI6VGE51WR88X5298OO4NA45DZLLFB73HZ0UGK6PZVW2HS96PLEFWRXL1WH5URJLDAQNI9IK0NC5OQEUKT2JNNT1OW858SH6UWONV1DRGZ2EBTFI10GBBIPV45FCSNDHBIN26NF7AMJ5F5V8Q00GSU75AKN872Y15UG9S3Y3F6WRP3CSGXASXP04VLKQS7NJRE9PPEOIGE7QFOO57K2J91YEOCHD4G6RXOL4BSC4ESQDL7OYZVO5WDGHPQF8RNJRZYJLV6SV54RDZSTTI1L501NVTUMOX4SP846RKJAK8YX9W66NYWQW05FXPTV5D9NZ8UWFL2KCI7C6KOURZMLXPG6SLEOOWITTWY0QR998HDMD244O0PUHCP1X6KB134EV9AAL9DUBKF30EK3Y003SUKJ0BU2W3 = 36#36JCCUL5HRYFM6VL9PAK817X9XN1BOIG8KG3P1AARKS2MBEJR3 * (-36#BGET0SEXDCT3Y8KEUZNFUFI63PM9C438TNQIU5GONG75KGZ9TNIEORNJJU4TL7KK4W3J4MKRNU2BML5VHYZ7O449OF4KTXGH08UX8VCO80N398J4AZVKKOL72LFA2CLVX77NRIAN2TW7IKWLIROACNPKU22U8TTVZ5X537X2JSXWD14CLD51FCLYO5TN44P02B0VD3ZJCS8EVY1AGYZEDY6OQCHY52NFYCLK3WD9P7OORMJ4CKFDEA3YDK8JWRM5PBLMUO9O4EMDDUJKT9AXFKQKW9GFLWOVUENVSO7SSVC4V6RIJX0Z036DH391ZH589BHWZJ30FDQ5GK8QHXMI22NI0KMG55CB2G3BEB6D2WVTIXFUZ8LLPRR0JG0JJ5538OVOGS7YHWOHRWO5NP5ZNRK0L7DX4X7LWF8N7OG3TH9K9OMD9O1OEBTQZTAFU3BXW8AWWQ4V1VSSWZ80IK46GCW01AN5AAV56MBNBZ89RAEJ0U4UHUT2W97AMF8O54LRDHTJO2NYT142RRQ4A06LEC9XSNPZHX1HPKWCOR57SUG69A4M35JG2X3K3AO6ODGDRW6ST739FJS6VYQIPDA41WAGAZBZN8YZ78TXI1AH490S58RNFVCYZOLW1V9Y0RJNZD7MQKOPHZDRDI7DRUZ4NE0FFWSCT1S98A9HO6AUGQWZ4DHSX76RT3KC5JRLRG71SNUIW2LEOEVEOUGAFRIIMNQ8WDJ10IAJVAEQ7FGMPSL5UQP38N4HEQ4KF4ZPEBSLOI37JA3L2CVY7ZQ8DLRW5T9D43C24N3J6CKR5XOSSX3NU9SD6WXBYPYSUP3136JVKUC2FPSW9GF297J2KW5IH5QA2LAFYGT816V0X9I1GGOXRE84LSDJ8MPE2CED3D2Z9JNAL1BVNFS7DP). +-36#R2VV9L0BIXMFTNUL5XY53U45J5YJDOV6HB1VOJIA948QWICJ4 = -36#5FCYGNCQ8IQ8ZQIU3KIZTKV191LHD3TZIR7WDUA3NPF475L790JJZ0YIS3KBKTTKYYE7O9Y8WBF9F8ZJ6CMFBRTBDRTEP5GW1BIDHO5S29M8WZODYJGC1DDMPT60TSKDZOQ85QA8ENQYAJRYEYR7ZRQ3FOY32XZDO52AFE1HXP9N60DA2498NG08AVANM1OKUDYJ4 div 36#77PIUR238JFIJVNK3HKO0QH9WM327WVV6UWBO3P71CZBKVFSR4RHLF9GJKH5VJE7144EFY5F691W77VXBMAWYLE0NN21BT0KABC0XPZM6VS285N46PK90QYS6P2VPSEN11PQ7OZAWCXW74ICCZVJ. +36#2GXLZ4G9FI74NXC3ELF38YYGOLSBN3G3ROOWOGNPR0XAVWMRTU = 36#15T86GG5LR4IBO9TX5BUFB8Q9HO598GYE9H56UH5PTL6A6K6MAT9V0FL4F7US5QK3V598U7Q9GPGIM998UYKZU36FGK6QC5GI0C div 36#GXB68VZ01GXFMUTT24EKLMI2X05JGRH2DND856HKUL1WLN9PY. +36#BIPM3G95CJ36L77H92TE73B2QXHTJYGKFHSTB5R8C859I4EBJ2680P5MLM1HC7XX44AQDYBR1CJHEWIN55XUMCP7QN9VVES2CRH0ZXX95GRYOJGMPBOTIZ3ZXXRFBGMVP8ML9S0YEKQDLL19CAPA8C1MNTGRCVI6TAMGU5GX09O1A0PFGQ6KZ1GK4XXAZR2GLSZM8W4B2YAXZSALZUVXNX01VGD5J0YTYAZGWM2GNSEGYWDG4TUQMIZ8TRACK626LZQAF7B00FANH2CTIQ1HIS7YI73CH1IT3BKUKN19Z5QHGE0DS9SX5VH7870R7LK89FLLBH8OIS08LVW8MT6STNSRSK4BQU4OZEEWRNPH2Q75IV8BEBTGNGNDLRQ7A3HAW4PY5WITZY10IT285LQK4M3MUFPIBUWWC1472JX96YBE963R4NSXC8Y846LPO9CTLK1SMU0KFYFK5912P3S7IPIQGC0IAMKM5SQ88KMPC9ENU5DIW67HR6B7JN5WXQXTGS6OEA3F9PJGHUAXTO608NDYUKMY1KYEF0U70BMK96BTGTWES6X04WLX27RB5QM05MMVW4G64ZJYHW5C8P6MGXJ9GVEVSC9C4F7IWQ8ECBRN1ZRICGCM4Q3HIQDL4ACO0EPI7FFE35FHBKI7N69KXE1U30AFGRGM3WPF2TLS55LDVZB511DZW86JZXGA6D7XJGFVNDS31G0 = 36#QIUNOP6RZY6GGCTVQ80I4BFPKXBNIXTC4PONK0S4P6G8XPNVROJK0C3WQ5TRHK410FD12Y3W5EZ3YF4EA352M9F6SF7NDGE9BSZ5K6WBE0L793RNIOO4NVWTN3NJME6NGNONX69XNNG0HUT90J4GY07S6NHQ9MMHG99AWPSF5MXE1SV6VEMKG9MU4WJCLVT7CKS1FXHYY0TK2NGPFAZDG6MB164HUTP0OLXBCXJJ8J7AOGWTI4Q8G9JU015I56KGM2KXGD0I3HJVOAE6AUHFKQHTOI1U8LRND2FQUO6U5J7A72Z1MWOY0GFN1UI99U9W1QEFAVYTQKKHL7CV944L6SGSU2EL21XP8CZAY793BJPP7I034GN1PM5OI8XQWTBWRMSDTUCY68Q5LK3PDQ3HHCM9Z3HE8TFHAMLXQGHSCNN6EIX557EK1MP8AHRA6953XJWUT8EUH0VIU2AXLMNHBX7EZLNCB1L4YOR9W9Y3CB264BJJRB2ZD850CQNZQH01USPIQVXB1DWJQUH3OVY119U103YMM8CGQ4MEQOAXGTKMTZCIY8C5GP8KG76NIV46RT2NTRCMXNDUTT70H1NXKZHBW2P08QYMVI5EI1L1VDVUHL7ZHSBEHYYVKZ30JV48W8NF8QC68AJG9ZEHVT8N4JM0JQ3Y3AK64APK5GE0OM5I0120QH9EHBNW8S0PA9NRWDBW1TA5O9SCJFALGCJKZ6GS51BB6RDJOAWIKL74IWTFYIUOO3CFZUI2UCG0 div 36#2AVZ0C7QA8N3FSKTNPKOKF2IR7LD4QENTCNF35G9LTWUWABZNS. +-36#5SOK1NXKRJAG1Z0TF864ZG7RQB32AE4SOALNC7WQFR3H36MD3ZB5L5Z1021A3RZ9TH4DED7U9JCTWDT9IORC1IJJ7D4KM = -36#CDBK5QBNJF3W60C59IDX1GUOYMTFETCOGX4BHGEXHWMIF33J4NSAH1Q892ADOHPKMT20KG3TLM19QOJQROE2N7OBV0Q1IPGS0H1YBQ0NELIK8667Y03FWJAC3Z30C18Z5VPRNS8FT6PDECOME0Q95D04WFGR3G2KIY113U2TLZUTABTBYHI9Z8QXUQUN15B6REBAPYCFC08GJFUC66XIX2MJIGIFIUBGX8F5K0L8DJL80BYEZN3APS7TCH8OT0CH2SA82TUUOL1654XUGJ3R1FHNEZJZUQGN506QSNYENNRHP4PABTTSGYGJYB3LUVRTEE7LFISF06HA0IHKLJY8C9NPQX6CO5DIK1EXYL25WJRIMI5KMX6Y685R4ZYV4F4OTSWCCR9HLDEIVEYXN8DRNXDWL44YRMZTAD2VRZH3N7XBDK33VMPNDFQ3IRGRG99DFJJXO4XAE3S6N1FMPWXQ5W0P0PMQJOG8FSR6FRPSQHER47B1ERFSS95ZJ8Y div 36#24TMFPIZK6PTMYDZPCI943II474JEW6OHSNBL0GED5FA379QCTCYDD6Y1JRRA6EKKD7XUXWMNUKYSCECD1FTJUD9MY0BUD8M0X90HJKYH9VZ68I2B6438D8JLXYCFB2FP0INL3FN0WS8WXA157GYT7ESRRC5GCAZPBD20NSNFSNK23WSIOQZL4SZFABT80SBY9VM5BZOLAI22JEF4SDZ6NHAOZP7GCL7J5V3VD0PRQXT9K93D7YDM9EEKOEN064HZ65TSC8E0B6LB155BID7XJMYKEDDQ0F3DSGVZS0KCIHQ3Q16QXPA8OE46ZZ4RYCAKMGEL3PZN6TUJVFY79NT918636LX7RTLAK89Q74U41CVFGJ3NJRMQEXZVVG1G0T8002NTGXH3IW9AW82UGJEXYVTR1IVM9V. +36#G12G52LGAHETVBENCG1Z9ZMOJKPKFK5JY2VLAKG4V6DXY68UA = -36#ZVGA9JLJMS68DCW0D5AOP6T2ZCE4S63H7BPDR2GSPBJKLXSAPHHQE1V0GREYQOLJYR4VPT714XLLRMJG9Z5IRMFGRNSQKIGLPK div -36#28KE1E7AW54B98QYKX5JFEU7TZSBR1OZ2SFQMC8J8IMXKQHAWK. +-36#6HOU71FZWU56YL1EITCGBFIKJIV1OYOCOXHPYELUXC3EA4GZXT18ZY0XV4R514F48QXUET0TJBYNJBMB7MXKJPX0FZ0GGXEC418IPH5Y2CJQ6QLPFTF0DPMJ200NPRBGG9U4LFYKQR4DK55TK09O3TX4MWA20MD7YB3RL59G4SKNTB3DNNJ91AEG15X0HHW1IOYIHIEW9BET7HO12D2S2RYNQ7FD1U9L2QEWPKBKI4HYOGRKB0NRYC0VJLNOMS08HNNRO3NR7UANQN6XXQ875JDA6YKPQKISKFFX8OOKPKIB019GCQBZX5JS8J2540OJY8WR7X60XBARMNA4SB030QKY5IUG2CLJ95M6SIKWJ4ZQSVPBYNY66 = 36#4U5J78J522YKA1G25OJW4QRQV749F0AJUJ31P8THG176TOYCZ8EDT0KS81FGK576MC7BMAKKAWUGLYQPP7O713Y1JZ39H60J0SRA2J16F8K70L9YPXUEV24ZSV7SWIJVK5B2XIHC2XPQ4EBHH0Y19SJ202VAZG2Y4JBSYHFB2FI9RWUR2V8JHFOWUPNJO5ECIYYTBLM4C9GIRB2K6NX73T7NX9M2HR7CQ3QSU2KEHXFQ4PWT3BPAPCZH23T1169HOCO5TM4IEGWEXPTHAY8Y46MHBG3E1VI3Y6NKB4F2DUP1EDAFA3KB7I0KA1CA5XC8A2OL9TAUKGXDHZRXHFSRHJQT1ROY9FTV2VQW8XUK1MG85KOG1QR99ZW4UOXW5HJ9LKDX29U8GOAPVAI2L5X66VR0K9I5L3QDF4IC5EK5V9P5DTKX8EV2T83FNIDZWPF8J9PDPKUBK4WJOF2V0RMNAJ5DD423639E8UJ3H1FP1NIV1NHEB82JD6MDQZGTY934MSK8C4141NEFNAKOQI99RRGHFS5AQ34QPFX5K8AVAI5J7QVIT8CP9PG0OJVWPO div -36#QTTMXBMVJTTQG986BPB8WOWYBZVKQX03R0212FFGC9C1I5DQALJTOQ15UQILQY73QQ03AVXTPOLYDTIAHU56Y53V3GXA7QDTXADBETLU4ZUTC9QEWKIXADOKKS4U0EHOXFL88KQJW092CDF76KGFXBZ2DG4SIN7GCHDC9MXBDZYAG62JQV1Q8OHAWNFJ7NE8IWEMBGWIA. +-36#1XXEE1JLJ27754FB3KJMPQK7QD6JHB3FAOAR4CDS7BD258K6AO41CVS0I5Q1AWBJP4KYQRNQFPCGBC3IFME0J66CQCGQAPCDA5JVUZ1ECM7RSPZBNJOZ61UJE3TF8QMQS47EKE0Q9A3IWZ2CKSNC0381MD8VVQ95JRCKI58D866SNAXJ6 = 36#5ZCLJGDW4HZ0J6NLAGFBZ77VBYJ83873JF725QVPY4YANS2F1BQRBPFAG2XZAMN8V6I5YB9A6LOCDVABHCS6X28X9VBK83IAW8U5B129F3O97XPA5R8VSSUYZF2UTXXJVZIPSGLVWRC223N8D2AO5P0C5VN9NHFJ4D9POQ10Z282L1VN7XK38VDGSNQLQ7TEE7SQ4D0MB61EWH8VU744U2ZXKQD1VOVIAI div -36#32V62VKH8HX5V7LN6IUL5IV7RYSPTLTRKUBITYUFKLTT2XL899. +-36#BBDULURCW5H5B2WVT4MBPFH7DYRN9A44I4FTVPJKGO8PSGL00J7R0RZ2OYFXA1PU1299MM1RF36PZJNECC6TNK068WA6EKF9C9AZLUE2442VHT4222R0MSBQAEC1O8NU5FJC9DXKM4HFFF48QG0TZH0SV3AZ0RXU4V405OBRWROW1DN9C93EB5ZQL99KOTFAZUP5OL8UVURD6V14PLJRECQY3CHSP7XNBA6M6HNI11L3UKS4AMU1EB8IMZT5J9A8CK657GM3AOU1HA6DEUHP8VIO6XEZUPZ843GFW5WTVJ7N7JUYMSKS8VW2OKXPPCHDHLIPKO0Z3JSHOKLQSOUP2MD1BXG30N649FZSI60VPYPWIMX8FZ8NX7UCNN62BWGB8G4ICRD8HWTGLWX05G7GOBWBOHSUHGYSSHFHDD4EXQ5ABO5S1MEVUZ9C2OQ7B2O2YBOTD3WTFOYHFWD74JF60ZRCHMKJZ6AKBCX6LO = 36#38LOR2QXOS6742AR23EQB5AY0DGT9HHCPN8TSQ81BZDUUZLTCXI5JZD7JN5Q420TLVVAZ7BACBQTL9PCZO4PD3PK4KC3L7UXMWJXPWN9ARVX2323QWTDYDY60E80LFVFURVMA3J4TZMHAJDVEKIPE2DRF1G0N9HP658FRQROMANSR4PGJDPGE4SMQC8K15ZW34XJIFF92DRBO0HV748AIXCFA5N7SFYT6F7V7O5Y28GK1DZFMCWRLUYMR0L2L9SJDH9Q8RB5LYYC2PUJQ25VFYROVO4V2QQQKCZ43819DU4P3XBOC1OW09JWOC851GGDM1O0DZUXGFS3337G3UVUJF1JURG7YOCNRFMGWGOPZGUN3NLANXI0A7KB582QQ33RUJOTS3951M9FW04J8TQE70PN1UCP2NGU73KZA62BTC8RWYXKSLIGU7S27KZXQM6R5ZV4WA8Z09HN2JB9401FTOWABCZOFDRNW24HNL9JPOT4BW89D8R1PY0CBNPW8DUREXF4IO6B8V9Y13K135UYEUEEY3JHD85BW0S6H2SV83RK66TUG2IENHVXP0U7DAAY4XUWOVYAOBN6TOYCF4UKA45OH3525DVXFTT85SK7YHBM1TDYE4K129F75WTG3VTTA9OOAGQYQXZMEGGB61N5V9GB8A5NKYQ5I5N13FTSME1VQ1T7KO8F8X15PF3E76DK9YMP5D4090RZNPJ6MPE01OFMBD81I952LEBOZPPYM6FU5CZOQJ6EUGKUDUO5WHJL5S04Z4PUV3A9TAXSJOVX4O23P9DNKY81M4Q43UJZ607LF1777O4VBFGPPMBOCP38O69ZWS2G8OJEFUF1SH7AVK29ESA7QG414ADHJLGJPN62YSKO7KUO90KAOO3XXQIPT4DOZILEGMVJHH10Y236ZW8WEQDV9L17RFFO9MJ12FN3RAJVCYHFKA1PMDJNDV3K59OXL78S8THE8PD8QFJ0VY4GWBWMGSER80E48VHTD6XL6YYUQWY9MC9T8DYP2IO7HBEAUIKJES3OVL3XN0O459TXTOLQLESCCSO7CMS45K9C5KSA0KJ7Z915O2X74ZTFFM3BN3Q1T1BZ2TJSQ2YNY9I7Y3PUYA0R2TTT3GRMA57H1IVG583DDSNGQO6T4802GQ9GYKO4UR8R2LWK4O div -36#AAXYVZLTAJKSYMXOI0Z805K0MIZN7UD47L3AFJNSUWN344U7HJ37Z46443HIB7SUXHQ8W3ZUYED6MTC18C0E4UCBW0SZDNPUJG4T9U0M8IP7W3PZKBMNIA4S0UUQ447X18WJ7J5VPQ53AALM2JTBO7B61J8UHWYLXM96E6T2FRU3LPHRCYFJ7OSVH4CS79K8OBIX5URI3TGMMG3NM33C1971MQ83NMGINTFGL2GA8KAG41YNBCNYUOZBJ58YRVXGL0TM0WJ390YUJ2QG7AX7ILF60LSPQ6QQVE4N5TWR5TBV8EE1S3RRAHAKGR92CDE1CB52EUGBI40HZDNE0DS1K0GTJA0QXYU1XZRXVIQ29OBIRGY5GJCI56MO5KFOOY781RNF6VEV5GSOC5PV7EKNIJ5UMS29140ZAR2YGF3KZAQANDB65EI5MECSWUB3738IR7H7T6JTJ3C36X8Q51PY5E9O7941CHK4W68L2F1IE85HLIZMG7JNXIWEY5Y3THZ1BQIJ3ENWMQU8T4N6PC3OCH9PA0J8LZGJ238CQW58PRS8ET7T6X8B11FCP2LFLZKARFT0CXAFP0RK8JJ9HFE9EEZVZDSCJP6TQF5PTLB6AQGM2E73MBWPB4E1GECJNSU7GBDQP5VZC9ET33Q52AS6UFILZFHR89LQ92T6RNA877VY. +-36#3E84ZWRU9S10930WV6WRK750MS4V728KT44LB3G0D41U6G1XY8A4NO09DACCSDV8W8AXADY5UAO70VGK47FRSQUGWTRVDUCVPPJ1HV5Y6447LDLRO41F6UZJ09WX7RXDU1U90SIT0S2KP556JNUOCFZQLTSQ6511VUUUZUTFQ632JK5CG4Z444ISX21XJVEC95CF6BN1JKEXYV6BQG802XXOW9KYBTW9UCEGAVIIXNRZRUWVN3T8JAE5M2PVDUS0 = -36#1HN1S12175UUGXZARVGFSHDSRT3RN0HYGDLNMX0LAK482M9YRX * 36#2A13K74Y67NV371V1N5F3S9ZHH7HOYCULIB0J2L2MWSHXJO7TDIIXWWN8ZY6CPNK704EPW94T1M1KED9FU1WDH06HNLI8F6XVHHCHMJLG5KKL2IADEBKVZ3RRZYRCICSZEN5E88ZAYWEPNTLD6D1XYC0JCYEEJR0GT90T2LDM5VBEYXXV6QGM982KLN26YAI5P4LHH2QCMNODAO. +36#AAHDNGO3DX7KD3MTN3QGES6DNTA1M7EEO5ZMK02FUFJK8QPEPLDMOY0U05IXZT3VZRL70EEQKQNPGG4NWEML2UKZ47GFO7AEZ89JA83XUX2ZTKLYTSZIB7ETBY8ZP4EV2BTD9M2M2BBO9D0R0B650NHOI2B3EFNYM7SNOI9BFV63PUMWTBGO3XH2CO2U63TGXY1EUDLVMXY18TG1RIIE3T9FXNNIFHRYD7KKTT0S68WWCAJJYXUWIW9ZBALXQG3NZBUA6X18JYN96Z41P822ORWF6I5OHNJ5RXXW9YPBHZNNPXMZEBUHPRU36FUKWQET8Z4J0G1E0Q8VUWYAQ7F498GJHFU7941H8TOAI4MVY9CM8JGDLAOJFYKPY6RMUA1EO4F4CQVY2UG3HIQ86AE1C3OVL81I30TXLM4D7WI9PHO82RU1DOGI8HRV5DTEQWB9G9NE7CRQ2CRKGOAW8LDGJ1QYOI89BF2X6PJGWFJYMZE890RFOMK6TLTRUNL6WRW6Y51GBL8RMJXG1Y3B3LYQW5LXBQQ129RC9AEUW7ZWAS11NO410FQVNR5O3LFPJ8OBY3GHHKCKLHHG59IXZ58NDSTQK6ZMI8N803V60TRLV5OM5Q5T6C2URL90FW2OUBY1G51X04OEPZDUQTA9PD9882LO3YAWJUFLV1T8UDOCNUSGZ5P42V3UXK4DCRRFKFDCX9TU5VFD3WPX055FI5YM2LB38ZVJR95P8CABPYBJZKZLTHCDFS22SJZ5DO61W69QB85OEMXS1Y966Y57KWLRGUD3T03BFKEZTX4XNXSU5YSEROGP16MMHSL = -36#R47IQ1JLUGTT3ZQSQ5YWR3G8XGZ8TQATXMVQYSATPVQDAKT45ZCU1TBJLRRNSOYD3SOC8DJQ2IP47V7ZFAFIU3OJG5KNNP4AGGBRNESMUUCOGEMYKD9KHH9WPZF43W7Q2EH8VYC7QJWH569J3A0FAUTFZ3230FRMKHJAIDR1U7WKVB2YL1K0QDKZGG4HH83MUFK4I5P74PUMT8QNCEHQ1P8P1THB1OC1I0M2F7L9W1PLKO0LKCQO1NBIBJBQJ2KBXBO0DDAH2I3UUJ5YBES8NLME229LZ5K3NLHL1LE472VQRRQUOZYMCZJ4URG9FTINA01U3MLCIXAGSOC99OVZET00IIASFAB7GYQXQ593VC6052NT3NTWM8NTSGP1LRLBNYDQZFWMZL6MG999C61U0I6B35SFD4OCMQRMHHZ522SJZ6RA0OA5LAD02SDHX054E4CJ00WUNEL2U9CFO7SEBR3CDR69HKIWA7DQ29QCWS40Q3MPX5ZKVYZW1IV3W255R063J8VH9LEI36W5V9AMDOKD6YGDWNZM11P2X6YBP0IN05J63XHJSMICX6FNRV1KVHR0EA8WYCVCG3TS0J5OB8FOTFOHAPKLA65LJQ29V9M1GM6LR52TZRJSM2ENMQBD43IJU7JTVMYYUXFB0BCIWBZPHRFQDN3RRM1FV8Y575RDPLC2TBNC2MV09OL61FS9ZCJ5W443LLHOCHOCT8UA18RTQ0LY5W503C7RRJILU1DJ5JJ0QPW6LR17Q2TBCI01BQOMW5JZZZ4D2V7B123OZKCRJTJR9H59EZB4R5VOGSFV95VWLRBWTHWEAMHXDE2OU7G0T83OLEX08UMXO49VRYAI12KLMA0VVX559NRDQ1UWYAVH47PBVUTCS6F9AFUWVSAYKJLUACXYZ06E5TWAHE9JYV9HZ7KBNYMUYIMS9L00QVR8NSP5W5GFXGVFWMPYTD6Y16Z9POUNVTOKIJ4K0KQONSVF6XITXMANIAJTZ3WTRDXOYH0PH7NQ9SD1BDUAVLZXRXBFU9L7TNRKMF div -36#2MUWWG7S5RZQU5ABUB95UL8Y36J4PMLNMV51BCAZ1DYJNI4WWOM2CUSMGNBEFW4YEEAS8RZHLTE9YKE7QOQJZU1AK0LEMOV91TPYZ3V2K4XQQ54943ZBSL3KV2W2DWA6B78MYE5WNEWYG5QI1K6XGH2T6TEDXZM2RGNTJGGOAVA3UG0VXSGHI58TOCW4QGBH7GZP8KA0QVGFZA69EVM5YULMLGAZ. +36#EMBB9XWLG5MEQ7LZ3YLFULFVLVDGWO8A2OASXG769KE9716J95ZZZESPHSKXP3I1SP5F0DB4A3TL8AX9FPGJXPJRWOQ3CRPIHFHGKSWTHA59H6X8CGRROZ6HZVTHR6ISSX2WKMI4G3PZP5PKDC1OMTE89KRUBZWNNKAG17NND3CSBBTKBX3EVHB7CHIX88HJS4DHKU7FTGPABOVCT7LGPNIC844G2THYHZHSZZIZS0C30XE675B7B9JNACCJKS38TNEANGZF12WL5RVRTCDBDGC6L813NJ43OXE787NW9WTBU6FP1GTYTBTVE613H97IC1O20S0EJ6RNHXHEKFXJPJ476XPBZPYI1GLUG99S2F = -36#38GL8SZRP6A3HGVJR4J3V15CV7JBHZ1SIQ1SNE1S2HWHVGD0KXY3IMDL4SP3KDWBPRT11B9NJ20P2SAPX19V7MPAUXIQI4AHAOF5BLLM1MD692HRNH4I5JJ94A2NNQPHFR40OSW2H21OMYOXKQQDR4HC9EVUW14P2PR3INZU0C9SC2HRDQTEY29IG7NNE27U0NOBQRYOWGMU97QPFE4VUWZZ95MR0DR6FX0W5WLO3PLSTVKQ0KRTF7BFTXQ5HIF8Y7ELERU05BTU854JZRBMLVKO287TF5C2FFVOHTQ7EOKNWAQXTOS6XANH2C3QTDOW0I9E4C2T2RD2R9WUEFVP11FXGQOFMZFRHZTCR2MUMJKW9YU72BIPIBDJVY9EMJAN29HRAMC2INZ0MGTN1DTRB8M88O4KDP0A00PRKJXYM5AVU3KZ9Y8T8KAGTAMEQT88BBO1B4ARF0YPPQ2OU div -36#7YRV3QYXETPY5HRP2QYXLEQQIEDHYA9EMXZJWFTLWODICHB2HP8GYDBNHMPNXUMDT7PVJPI2Z5NX5MTH8ZH3LUGF9C5PO62OATKKXLE. +36#6ZWTM1KQSV4452ITMWL3AK9QTDV95LRL4NMR9D3TTPJ1HTRL9ARRGC0C9EDUWK6T9RED7REUTXA49P25IGPLSMCXZVNB7N1TNT2RCH47ACNARO5ZTIKWBIOQAUHVY2WNY597UR74NQFA2BPCKBLH2ZW25XSX8WX4M9OMT2Q25ZRV6CXMYH5Y3MQ8216TJOXESDH0L337UKDWK1VOEQ5CXGU1WBICF8Y5JVR1VYGXZA7M7SB2LKA1FOLL1DI3OALS4YRLJZBMFR9LOWGL3MPZJ54NUP375XLPKESWWHN9ZBZH7BFJYWBE416U7FSI4XCCHZ5TLWY295Y17ACTWRAYL6YNUA9SNC68W9LHOC7JQPXENDE5FMG94VMCDEOM3OHVM8RCX43HMBC2LEPDZXCQUTG8E4A1BOIO3JG8MVUY6ICP2M9NGU5UWHSOX4AYPU1PV0VUQDI7QZBWLKDZQ2JIJQ9AVUES7J4Q9769Z9CENDVVWWK6MAIPL7JPFF99RWKXSWE71AOI7XT6EY1OLZUA4NVK0005DD6IZ1N234T = -36#1PCER6IBXTU4RR47FWA7FMREN2NK5IZ6X269RU6TRW84KVXGNBLPTGG8XBD51K5EUZIKFO7XQFF7THLT5TLW9QFZT9KM9BVNAF7JP2BV8UN7AIJX6LB10PU7NYEV9JLGUBS6EDOGY587HFP79LM67NPM7NQW9GS9XJA0MT8YZ8O6ROXU1HVSMKRNSGF3RX5UW9UGZPAZJEQBLAX857JSTXEET30NVVR9WZEV66X10DK7JOTDQINT0TBEFG2VZ87PSN7G5AKRAJ7JR15RLAYU0AZKBE5DYDQR9FO2T6UVG5IIABF3ETLVU33Q5ZWAP0E4WZPSS3NVP919WJ9XFBQALPS4R6NECNSYRXCDVHAK7CKJMCHK1DKFXIBPODOUT29IRMRCW08NLBM7HYCE2VC78FQXLLN81925UCJG9KDPEOQ1FB4XUES8A943YOH59EQ2XC0I5PS7JCNC3AQVU7RAS9EEGCZH6JJF32DTLYS8DCAOT2VJDNQ5R5FRBV1MER3QXAW94EX7JSJF09WX4ZYAJ3G3JDVVSDV8OIOL7WWLRRQKDOX6DVJ1FVKKE13V6AY6OF7BJ5CP4MY2T17RD4N6VRYAHUMF2XJAC8EP3ICE315SIEQSEUXT0PNJ3HUHACBM9RI1UHCYA4ODE div -36#8RLIKFDRPZSQG2LZVD1TE8ZEIGXTQ70WZ41ZHC21Q4D65Z07ZN4N0GQP8FRQGGS4FGUJHT8L1YMVB7Y1FM3QUEI928R3566XRN6L6Y. +36#WF1ZGSBU1HJZUV56P6H16YPEZPJCA6HPLWK8BVDU7LFC31MVBDAD2LDTQ1GY1R2YPQUT5EZFT4TC83AJE1Z9F5NOOENY4KG9XUDU7M8LEV9PW5NGAM03KLVCMDBZRWAZCW5KPBFF67EPJAACUKXI4AQ44OZULAXPOK3VNIHSCSIJJGMVJG4X53BYU3E2XIZDLL8XVQMYTY4W8WA9ECW4SFOVCEI0GI9H0HANX3HJ1T82Y4ON332RRNQD7JCSNKK5W6WN6ZF3ZQISC7JLGDFTHK96LBVCOJWAIYHHTNP1SP2H3AGE2T99VBCVT9RTK3YISKMXVAEJR6SHB3LXZS1FYR7RHBEKAML7ZVUU3EIJK6SDUYELG4CD6VCCXNFRG6WWOYF38WNH44Q2W9NZMKXX31EZTRJNIU9M3VAK05RMIR0DX42MAJO5AH4ELWWYFEPT4YRPQB3DV66AYZ5IZALD5EX3W4WNHTJ2JU5YULCDTF859OGLXPN8MJEQP164NA0S2ZNEWVG3ASWM81SBIMCI6OXT63FOVPZZLQENY802FR2C8EVCMKEZX298NM30CY4B8INC8HIRBOHI9FZNKFLO35CM5YT2YKI5X4LFN7E3WW4SE29KWWAJ53NVHG4NKXZCYJ7BHYUL966Z4FVAZUDF4ESNFPD1Q6T5TWV9F85TX70TO505ZO6OGKLSJYEVUBA6SESGX0EDT8FJ7WXP2JX88DF51Z8ZQI1Q243RAUM4RHDIN7WNOIZWXG2J74LU11A4GGOSOHVMSUZA9VTP1VLGAO982348DXX55VX06AXORP37K99N83GA7DC9BH49WNVTU99P0SILCKF0V79EGXVO0N00EMYRLR0V47MW7NHDG6AO1TLY832SJFL08DTNGVIWBGOS20GGL6OSXHLCRKKAGY48A1VUFF0ZCDOWRYCPKCJXOIHK2RBAQR8KED = 36#QWXM6L4KN5NW0G9IH565VNHZVXPCAWKQOEMFWOBDV2GA9EB4E8IWYVTC1OT6IIIW1Z387H4XX6PB9LC5EACQO83VKAKPPXAMOGETAKT8FBNCKNE8DRWLKCPPKJ7YTFYY48UILE07PI2I5WAYZCXWGD3ODT4PTO3QZ9TSI2YIEBKVP7GVPDLLMGRYEHR6BXN9E1KV7YIXPQ1GBGEPEYPIQLB5RMMMKG85DTI51REH93L09EIL1GT7JJ655E90G6SW3UQDWSEM3JG5G6XL91HYD2VC59B5MZ8H07SK1KMT05JUIDZSLHXORGKSRTKP3YJUY60FP65QC2OK0MGB0W8D916VP5B178LE8X9S07RVCO846Q1D3KAKQP5FHZBAV1G33RCA71S5AVNWSCCN2S0HTGQGU57L4E5B6A27POLL1TCPEF2QTGZ8T8BQM6RQT7ZF20C991U3AUR6RGWYLT8PQYJWOF5QZKXNI1SHTOD6XDDHZLA5FCXS0QTWWT0FUF2BR4UOMZRMSTF07F7F0KUWHHUSZ7I47FAFMOLOH29UY4NCO894KW8KATEM6VK7PZ5S1U7IWK6ZNFV17IA6LWSF9BB1R5GE5280A27O6Y3A1U7ESQ75IBD0QW3LUCUW56H4F2O7BN6ZVZPEZWFM60HLFPHGDFU3JJFQQRP9I6498RUC7PU6J1N65Z9GQWFIC8I2GJVQGUKBSU77OFPDXDHRT4EJMIF2K2LP6BBTKD6T6SE3EEICFPQJHX7HDSCDX9TAGV0GXNHC15Y6VD3NPP5KEFR8I1POB4SGNV55577ZMY65PB842TMXJ2D75YCXH * 36#17CZX3JRAORLXB30LLBB6JNHJF2MQY29FS2I54WX2778I6OCISSS04HKDVGPTN81YVPROVYB740RO4OZYUEJ2ZIGO0FPFPC23T8MHD029IPZFKFGXH21YMAGS6ECR5. +-36#M3GYS9DGL9DVNMXS2RH1STMU3CY3S5U4HXC5GYMDIT9G9WGUXY5TZLL10IX8CGX3ZMNQY30II23OEJD39YATUOHOBVX2HLMGOTYYHR1RYN7590HLGL35EN23DHMS5X4KDUC7X01L288SBZ7BWN4VX0TBUI6FXRIHHR36VFSRTV3FNZKHXMVTD4GAUH5GR9JTRWLF1WD9805M3OED08XZ3H2JMAGKYZLLLOPXHBOSABCINBC517C9K1IW2Q17OOK84CSUAGI60LXRHRA4FEOY0LUJ00PZ6YXDYYUBRUERFOVMOGNSPHNM6BLZR4VCXMUKOK7UV6VJT4V1866BLVDFBO709D9OURF4GZL2198T1T4SVIY7RZ0CMAINOHVYZZUAHSCCPV0FR2UQM509BWYVHCHPZNXPUAXFS8EI0EP3VIOU9YX8FDFZH8PW2O0JBYW59H2N2W9V8V78S1ZCV26HN02AHL1425H9EHJRO3M28F99YY8A5DNGAI2BBWPXSP0RHXWS698CZMA5254ULTY2J47BKN8NEGGJ9MGF7HL0QDJVZC8SWLMOCXZ8GLHJTUBARW77JH3N71DTD3F5702Z5UX53HF6JZD5B22HAVS5O734A5S1GALIDC8SFCVI56FYQN6YLJ77Q1140O99EIEGCWQNTTKUX95W1N6IC3X6YQ8NU0VBLFP5BICGZ3C0I5CVYC5GPLQVKCC1V0H6NYWYSCBUP2NBH61YEI6J11AUYQA22PVVDD2DEN86XN2HM2YXGW2VGRUM5POL7EZB16554LZU5K9ROA6MHXF2PM6ZOGKDX8GLP93G5V1Q9EHMYYF87PDXPL7DV0E3RK4090JRFRWXHNILET5SI77O5SN37JCN2AZ4X9TVAOXCYR18YU6OTKFN4FZ1MEXZIWNXNN2ILCKKA9JDFYX7Y186799I9XJC8NJK1 = -36#1AT7SCQWQULTVGV6EANJW67MCBI1L1PEIU8U0QNQKDO0Y0N15N8OVTX5TQ2M6NSKI9KK31W54QD2PMBSN12NVIJE8BEB3JV4KBVCOJANZAHG8HIB3SL9F6AUHHSZRLQCWU2978P6JVSDUBGYAGW83LH3ZLXCY5EGOO4HMPPL9P8BN44F60693TEQHL9KFHELOO15BFTI7QIQYP8REZIG45GETVG5A4SYZ03LOWYAQL4ZJO2FOADNDBQ1ZPKOVTNGZBY7ME9L6F31CIP19M68HQEW8GUZ83S5ZDEJAD4KT7CBV0MVV3D3JKH4TFCWWCCYTAC6YWZRNL9NBWT0QR3QD2U4HR4ZMWAGC12WMBM74S767BX8HGEYZ3DY6WLNRND2PAKMFLPKQA10CJ58SIAHFG50BJYDLS40WTDO98VS7ZWPNU9N8X3F5D48CE2JOECBPRB1C4B28U75G3VYL7L68B7VCNT253ZJBPABZLIYI9K33MC5GB4CUQJQ8H43CJI6OOPJLN85DRCQBF2BVB6JIM6TAEQKNABABAOQAYLYDP2K9PJVLMDVQLGTF1ABPHVA8JTZI27N3RD5JSCLB80XO6PT90PTDNCNEG5MLGNB5TW7ZMD6REU7P3CH8FKWURH2TX53OAZYAHATO7JMYOSNS6AA8RPU39DUD3VXMVRU49L98NE6S6EA0DE9YU2ITZCW5E2SFOUFMVHCGERUX6KVAMM7912SZHUNJEV4V58BE1DCD5NIG8H9VA8UV1830ZDX4J815JKQNXS3L8SM2E17LOODXI2604DCL6HL0KALEKGPW7BSFUFX4LSKLNR3G98WGB1UX24C4JHMPPJTZPQ45YDKW0K36OI1DL57UUY6JHCCGJZ1XXQUHN07N1H6N8OIV98X6R1NX1B8A8UCRHCMKFQWWBOWNAI7O6MJCA62VY9UBO07EDU8IDV2J2QQK5N4NSLFVXCY4KVE6OXJ0VBR8KWHU5P9XZRQH9IKSXJ4LLPD67D2W5EDYS2AX6ZF0KHLEHBDK29FXW9FWWO93GBB1D769SCU058S8MM9X8O6FO30IYXSYOG18E2CAGDXDH3CH89SBOGKCFLSKGKTGPHPKIBPLE3BH5JI6Z3J7APCF3OH8WOWB25GLR762I80NRCQLGLU40PUJOYGSTXAQMHEE1Y556U9C88HYZS5BY9CN6EDIUFBIB070EFYGRDJQHLIO5ZOY2RCXR03UTQZ2W81BW9D4NZJZUHN15UQKL2J8XXVH6MR8ZL41CJKPW9F5K2TSC44O74K8STCPBYLKGYJWSY6L9DIM07ZVGWTEPG9H8DCRI7GAQA5H4C0V0ME7Z5ZSUHXLY20GOPLCK6C7C0QT3T0BU20CF1QSRQUFMF1I027RNR div 36#249LCGU8WWWGICW0WLTR6GS3IXR8OO45YW8Z7HUJ9VGBK3NEDAVPKCNS6C54DX3W8YEB1MA0JESAJKJVM8EUQ5FJ46U09SSPH2S0TJ780L1UXI52BIVIEKMQUH4W9ULINUZVZQJDU9JELOIDG4MWGSWHJH5D63ZQC76EM7G2FPHWPN7AYSHT23J6AKX4IUTO3EWVNN64VNPH8WEB1NH6GPVLZRBB6C3UWNCPWNY9V9L61NY0FJPQP3AFG1EIEAXLJY7E4EIY9GWK8TCIK3ZBUBUBFBNBD61WZU2FQ5YFQ8IB63PI4ZQX028FY6PCXDFLFJHNJZSYDXA9JPTLOXTWR73NM93O57QC4L7Q6AG15JAZPWDEQ5I7B8W1163FOD2COC46HG2XRGGMWQUVXECC57YJ1RKZ7WGNUZXBT66IUKUF6I7ZKHK1JN24UNYBNR. +36#2ILO654O0V3EJUGIBU4K25616FMNT3ZPR69G1RU7MYUII05FMVU346T2HZJ5DFS1Q7RD6D5T9EY9BGP90ITGIAW7FZAL1DQUT87EI11GQQHU3UMC34BHJ6QKQJDCBP3UIUR3U8N4CZI78GE9D6S8V09W41T0R1LTKN3IZ52KXWIWBB8LQ2RGINOVHX2S2U5D6PRUEM1PLBASOWHB954C17XSYYKRNC3TYBYODIOCV9ANBZ3SY1FPBAF2KRX6CSIOH4H5F707E5QGV4YOZVFK0CY0CVWBI8964QLAGOI79LA1WRUGW9BMF7ZTD06G8LY0PNXWTMM = 36#3QGFWRXWBE3VBRKZ94TO7I27VRVBE5SLGNYBDTUHTBLV5L5J7FO7BV1KNLG2JHLATO545U39DQHWCEC7QQZNVEWR80FSGC9WAJC9D08HP14A6LY0QZCHHM618OKTBHM917YE6E47YFOT6WT38WW3CJ3RCQGCNHICD97VDX1JGXGPKO92PAUVCFY5KW0G7RB5MBVOGR7V97ATV23FDWYAHGSC4M9W523YQ63SA06RBS60K6OSN8NMF9IAXH2GCU5O24HT7LRP79UHKNGXHXDMOXJUCIC1DPCAMZONBFL4H33XGTJRLX2RPHF41FZ98Y8RW1H99NIQRUH39NX9PRTPOB9X1FF8DT83R9PG74T96UZ9KP9YN5UK7B2O div 36#1HFB8R9OUDIUSNSWME8KC0YU5O7M3X1EOWCA8T2FA6WPA5KW0O. +-36#HE2DA12YDV6AJ2U5K4CF0CR0T2SXUEDT6KZCRIGDTVJ9E4LJSBWC8867ZKZ012TADGIPP7K7N36KWSNE1539QBC5VTA904WH9RVTYU8Q4Y30TQ4WQ9NY3555PXZSB1D6QJTMLV1WSLVCEVGFXZ6IPNB3JVXZV9Z1YQDM8KN6RTHFT40D1HZAIU32EJCF45N52G11WQ1418KJM74RAKDUEHQDBJ8WZS53XN9XR6Z9DPDNW4ABF965ILJ5XOU762DSM9N2KJAELDJZI4RY9AZU7PEYFP520EOEKR2QIVZ8Y2GK6YADD65O4NF9XW7RRRVVFCVN20DK31MOBURET84U733GPK2QG9RBPN43JVDINTPRZ5OFPV1LHCVZCRH42T22JPL59XMJXJ5PN3078WDLZHTF2WWGRW8UP3QIG6Z8QREPGTOHTLXJR1C9R69SW7OWU2OT19F9PDHJZTX5XB5Z3SRWJZZ7OWNWMDM0F2P3ITI5LA48L8R0D4WS9OCTTF78ZX100V9TOKWRP4MSZ2Q30U9K2TRP44TC = 36#ZZD8O4MVYHOG1TKX86ESSQQ6NJY5O8Y7TMFCZMR908D8MU6X7S2B28B7PGVGNQEK0JWAZG52ZXHBR4QGQHQ6V22JTG19BDPI4V8GMNN38JJP0YP1AFAVVKOAIUG88RKTJ8FMNK32HZTEEU65SAPWW1CX3673SVX0QH3V93X3P940FDH9BKY3FAA3OKTR8EM8R0BA85G05GJH0O5C269X83XHO1SKA6GELHMOP651GSNEFN3GWLJEO2RSPFB79HVT4RR0WXTG81ZD27MSFMXQGNUR99TB5GVXI4F4X0SSU2TQU3F43FFXJX6NW680EHK7DEQB9YG3AXPKV0IDXBGXWMC * (-36#HEDD9PRN4MT8ABKFDLMZMCLULGSG2FG6YYSJLU7WMNWU099X098FQWS2BCN4VMV2D3GSNE1DT5BZJ6W381B474443O0NQ2SXZLYDANS6NJPBH171XN7HYUOPCZGUS0WIWELMCZNC9M0TOBSQTIHYJWL2CAT7SCRRMWXPUDXPRRB271E5G2KXWFHGVA9BE2WYIIZBX2LP4). +-36#G0Z4KH0Q37H6B0ORZD3Q3RYA67OVX0KO0MKUKOUETP2EVDPNWIPR2BUR8QXED4JQ4KA8FG5WU8YQ1472U6S97U48V72XNRBWRGMCL3RMF8W8O6UMTT760ROR45A3XH7ESEE6TMFVMB8NU6SC25H99SFVK9Z29HYU30OQOKS3EH7YB7B9XJSM4PDAGFFJS28Z21LNXAAMO6C8JIHN60GTC51MII9SGVS764QRA8MBFTDA7QDZUW7XLRBZ7BTVV4OQQFOP3C48OJC81JGU1UJP1W9QBK0OB0F83V22L3JHXECZGSIQFM5WR5D0LFNKUSKIA2ZXD6558U04192FQX2R83GCZ8QE3AB9814DR8RTMR1XUTZ11NW2W6TBN2J6CFSJJWTQMTK2CWS52N4XZGN204GHCR0501GLS35VUL6729EC9VPBH7NJB4BPE769YWTXI71J742V8GAKFGXS0K593EIN4ZQ1PUBHQEKT8Z1CLO9DPNHRHP7MGWIWYN9LPDS7BTZBUHPTLIVFWR2PFROJCDC336V4KBVKBZEBCSOKPROB494AT6KOPRTH6L5NBC8S4QX8U4Y1Y0H934P5D467OFKHW38W5ZLQ1VHIEVGUIK8J0LQZOWHRZO9MU9BWZ8PHZ5NCSZ132K53WXE38MBGNCSUNJSFJ7O6KF4A565TM7ZOHO8VNOWN2T672LNJKWC3G8CAIM8VQDNCRS8NRA7K3EIMDHF576PNGTMPNEW3TG7W4IQJNX97RV6UQICL4JPTZ8ZJF55WVRGS5ET6XC0NJLFUI7GVDWUJGDAEN1 = -36#7KUXKEBPQFN3EBIIY6HSD74Z2TWOEA65DS3Y8PCL83WIC3MLWIZKP15CX7QV7JKYKJHHVL8YSQRN6WS444FLHCBH9Q89TJ7QVQMTWNMO82F6MTC71T92KOHJMW5OEU48T6X18ZO7GNMD3E70H3C60NWR299ZCI7CI8RJN8H5YZVDYDE4MO6VK4FLG7AKO9L7P0YSWYY8J9GH7EZ4C8DKGXMMTTXEIUJKJVPRTYZ7659P6KHU2HZZMNZ2NUXH0KMGTBAX30FBE8P6TEH1WEPEC4PMMMSY90F94EV7YD9IC0H4UKE6X6RAML3WKNJLNQKYCXH1487DGJ1LR0VWPMZH15DUM8Y1J2ZZDPYLJO5BAPFL9CTZ4QZOEWRB2FG87CXTRNBWW3YH4JHAWJ62RCLIUPWOEGU5EFRMPN0B90L9CQ1BT45TKU07RQPPOLJVSZ53XD0N2CQC9KTTFH8SWEZDAP4E3OJ3OB2H1CVRRQWQZJ7BSRD5W87A3Z9L4WQ1IOKJCUAKZVMR7D0WUB3PNCMQ0KBLKT924SJCTXNLARZ4JWAG1PZ5ZKL9GJVG7CNGIVJD88GXOIA1KKZEOMEDQQHCLBRO5JBSFHRTJZVOU0ZV3IUZHLRTIY7DTQABQHIXR78KLNMCG4FIQB8TC3G17VDKQFLK9HP5HFMRYG63TARVOV34HKAQH2QI59XIJEHWP8QGDXXD7B1AAB8NXLDW3Q2N8CMH7AJ7LGN1T8HXBXBRZGZQI9RSF43D5UYBK0OHS1AXXMWFG7GPJEQJXL3HEFSSRUOUSGIPL97LDZSX7GTKB90MRWWMUDBYAUTAG3E6U9M739U5XTRN3JIBY4MN2TM4S61HZGAK422RXNL16MN97N6IA2D3IILWRE5O9AM51CLAN43PVAB8QQYWNU3HDCAA6RJ2J7W4NGU8AG2MBC54DV63WQKT5A61P73MIV96GLZRVP6F96GP5X791KE76UPNEDDPK5B4HEWHO2U3RQCTB5LV04HROYVZX5CU6Q76UWB4XVHP4DRBYV79UZXY83AHXFGV4DQR3FULP8H380MYJ0ZZNU24Z292AYO8GAY5TZH8CCP2H7YWQLYYINGQ4AL31SFJ36KXFJIHKN2AGEOJ6ZBASPZIKICNN9P8ZX63A7W442RJVI7QAJLGIXUXXKEMEWAZSMVEH8GS1R31514EHBFPGFD5AS5WABMR7K3K136HQ8SJTHHLCRNNDSTSD3LOT68RUMM8W6M34B4POG91Q01LRL2AIBIDMLWPDQ9V91NZYD41YKHZ8DV6CENJC70ORPGAHQK341OV0UCJVRDATFBDLVI1KOPRPD49S85ATTAJRSD2N6S3G1LMH8COWNV1KXC87P3D6709BW24ORCB4D9AMTLPU5KNU37M7SSPBPWSMUC2ILS0BJGS0Z3VJTN2L9IATHYRLCV2MVMOLK8FOSR2INSGI5PXKT0FP0YWZPZJ8I2UHG4K0TSMAM29H6PU0SIS7WJM0A3AC86XDCWPCR8ZX94VSDGP1HPAGFBL8XRNWSYFYI0FTHKDP9Q83RATL1KHOPKBY8LDTQ5R5EU58TKNJPN2F7MUSC0186KYXDIIDLFIWBTGVCNC5XDU89ZWSUAUCPEUIYN04URW4AIQOIAXHAVXO3B73HC6UUHP div 36#H0W7YEJM1M3KCLDOYPUFDD0OAJDP7FJKJ4O7U3P8YL4OGM3JU0EJPFRRCG26LXCRNQH6DTIDJ9Q3VCD809QG1XVW16NCK1O20W16LRA7SWGXC5AKA8DNF6P1V837SO3LF1SN8P7MQM0I8EDHPMJBYJZ1TQSXU37RQPKVRTLRQ7S2JLNP4MXCLCHKI6JE13MRT0YWOEMMN1HIKCD9R9X1SV1753CI6X6Q7M8RAVFUIBE5DMN96420T57ASO2UXEPZF6889XKAYBWWI42BRS7EENM4TTSJ7XDBTR5DY2V42RCJDENIXZAEFV3DBISGUOQK2WDOEAY6F8X6GYG9FH34LUGS4N0PDFUW7I8WGQD7F38LX5Y3U201Z6NNOE6YTIQ752PLSSWFT3U69RY23B5O5UA3VD1V5WQECR10LIBV3YDS7JNUE445HZ3ETA1BCT06Y7HWQMKCDJ0QW0PRMQNT5AEKBCUTRSK256P6GMNH5PA9BTNL5EJ1REJW1ZMK6GXJMZ6CH2KHB2JYB9RB352E0R3FNT4QT0LWI28FBIQ0V1X5Y6WXK0NWR1RQOGZJZOC3G1HPSP95RHEOPGTJUIP4BXPTVPS7TVOVFJAF176MV6ECXK3CW4PUWP9K67ZMS85TDP9EZS4HXAF9U86D5EUYD4V3HFEMM8SAXN9ZCP7C4W2QW83EQHAGK7K79T60XRSVF6PHQXH67K4WKZ31WG5ELJ8XF5SMQNEOQM6G3XORIB0XFXV5AYEL3GGZY6PG4FDJ28B16STZ3CTJBYGRHNCPWB5GUMSP4X7XY3IWS0V2F1W7HOYYESOMPDNF6YF8M1TS8HL031WRH3L4W3XXGGH6IP. +-36#20FB7R2Y7N19BCDYIA6U6UHHVA8V8YJB2XVM516CD1EFSY2PUW = 36#23OD5FEBUX63ZZ0OQTZYX8OTI7NO6J6UFP0RSFL12X42EPW0SBQ27N5HCK0S26M8X4GHN4NY2J37W3JQ6E3TT17IVWAQY8ALF74 div -36#11M6LEFDZ4BRMNN08HJX0AP73A4B819Z40JCNG562X5FJZXA1Q. +36#TI8OAFD9HMDBPV8F54XUOOTU9BO5KO3GQ6OB1NUQ9EP3N1ODJQIQ9IDM9T1LKT64681QYXTZO4T2HGNJMRMEU9RWP0PVCRYWKTQZGDLJLK89RKKJ92S4W1FJA023KV489HJ4K275S2JO2ZSI8CNUGSCNL2PWJHEUCRXGQZH915874T9TI5Q19LD4MRL8WM2NXZCDYI0YMGMVGW2LN3IFCZK0S8EVLENGJ878Z92TFO6J1O1VJPFPH040COYATG28SU5SRFHNB526MH7V9JK8KGGKAFAEPYAD3EN1AN8CM9G2S20ZUZJB3M6C510AK7L48W6SO47EG34V62GEI6B8DQ7BSZTOU6N8PGSSM6LP96ETS1UOXOSHKTMFA8HOBMYDAFRMQG01F67SUPEEBSRZT2THK78KAGS449I0UGRGDH0RH9V5GWK7KDUPKKFOUJJ721RHR2GV79YRUVYB2TX9M6OUCRY25RPISQVJWFMRVBVRMOZOH73A93FAHNU0MRLEED19TSHWG7ZJ5ISDZX5BYXH79TKKFQA0G7EB19DQJ9NQWA8GU3UG1B7CJXIVDL24XGOLCJPYKJ7DJWYZQMD3U8YD39TNBC6WIMHZINSFC3G4PYDBPR727N5UAV64VMRQM1H460K3GG8NUYXL4OACRXUENUP2COXZR1K9J3BXNANLUTFW41T9MX4MODV0N3BP5AAL2LNXEEEM9N4ZW5VK6798S9EATDDGN8MISMER8QY8EKJMGT6LCB78PWNP7WX1UPXY855Q5MVRG2YKU6WHZGQCPK5WHZKGUW5DVS84OW5ABRY8D9FY35BYMAVG15YURCLVQUC0QVT348LW0U0I = -36#FOOSEVNTQ4ABVDV5IFIASW69ZYUVCCZ64SBX4L7SXZS14933CHZQKXK8YVCD53O77MOSZJAOVJZ3CCT9P1IUXNAKWOVQE08EQISQ01L2BBLDQQF660ZV8UNCAU4CYIYDPZ61AQW9JANANLG3ED2TB1Q6G5MT44K82NW0HVEOKRVZA9D5Z31MF0HBS3S4AZJPCQ5UQ8LORYYXV5YAO1WXKND4R6RVBW7IPVATP52EWJY39BZ657QWHRAVU7V7BDF82K57PX75N3A5I54NV9260II5FF8DWL5528VG73WLFPC6LB6YTEPBEBB1QFM2MX3H4M9DA510N87C772VJY6O7BSLECAC4A4THGBEMRJNXZSGRTSLHXQECN0PXJU01021F404V29NGYZLJK2ZFE0U32G8A2A72JR6O2IVR9BZV3BSKRN27I3F6JZ3F6D9W6TASSUVXLXXM0EJPECQCIRGTUU969U3TP2SH0GTTCFN065CP06XEA7CJ8RCZEDBSNQ0D1VDJS9PX009DJHRNJVQSU8M324P92VP6N1CVNMMLC2AK2F1SDIL4VS40K8FQ1WSN00M921K0KEEF8IRMR1HPC6C0OE3GJ49GLWBE84JQ4E7JLPM3HCLYXJ0RR4NSZCCDQG32IP0BZUSQLUD489WSDRH9HPGC9OFQ183P8QF0RAWTU5TDJBDFFUR28WW19BP3S0JLPYEGHEIDVVHQTCT1O61M63UJUL2WWG37ITK42Z0W2ZFNLNGKAUQ6LKWV489HJ7XB0KDN0296F30LBXQJHX5S7Z02W1XJYXHVJWN8T3VS8IRSW0HV9XRW9TZC6TFAOJGYHB5UQB1UGYA3EI080PKQM1M1BR5MHRKCQG1VVP3CB3HFHBW9CSG79YZFFWCOYE00 div -36#J4YDWTER72P4SHH38YJUJKR9L34XODONAHU5ESS4LTW9IR8S0. +36#DOT45XC4FPI30NK3TVYITI99U91PNBANV2L6A4SYM4BCFCP5Z = -36#OL0H2CXNZ3G04GZSWF2AYVQ0Q2R7L5YXEAAEDIJGGLXAQEE4UG9JYLSTGI4Y3LE0DW879KQUKKU46RR64YMMAW5D8DYSFXVQ60 div -36#1SNFF1TSG35UMEDN8JNBYC0E117RMBZY7DUTTCNMUIZGPFL9U0. +36#30PS3F3UPYT4Q5W1MAJUCQSPWZABNTB9LRGFS5VXMCG0L3LQ0B = -36#H1EN99UP6J6X8RGDM5FURJ51MIDRH0PY3AAI1QFA0WMRSMMGI81LRZ2D29QDAEI58X9AQWT4KDINAZJ3Y3DGPLU6YU1P24NGXH div -36#5N4E885MJCGCUTAMJZFRMQOZXSLVELTLBTRZC00KLM5K7UDCV. +-36#I9HPLGIQKDN0B96PUYZP94X55BECTTKS337W4PWU39O66X6FJLZRKQT9UFICQ6X482J1H81NHK6RX9PKI043DHHCLX1PTGDL55KTXM47KQN59LJPPWN4ZA3F3IUB7FMM717YY5S3Q5Q7PLZHJMDOFIP5C85O8G0QL8EU8NU648LYZTXDMKYAWXMU02ZTR23DYXEZD6KMV2XUBN9H91L4ZJ5PLUIPO91DE3BW9I49LOI9QNSXQ6LAD0ZC9BJS9R2TF9D50TYXE1KDA1JIRYVXUYNL18RKMJTTPNTSI2TMTMJEER771PKYY64UQQOZJX9UN0VUEWFX = -36#3HDJKKKLOTEVF5MP97LSK3412C7TDC89U44LDSRAQ42FR5JRU3FS2CGP1934EZ13DV03563KI37DK6T9H2J4XUP61H4KFBPEC1WCQVYS4WWNXKIHVI3RAF9IDLLSX4MR2ZE9PSJ6K3IWGKJKAC17X2ECQZHMDNH083SWC88BYVIVB1A27LEL1A1GXQM85Y7MN4I4BAUTWHCKC1K8ESIRG00PTMOZF17WLRN8OX1SAZHUUU5OEYP9A3O04EPIAO25MI10GVOLXNDY5FO342S21818LKR4DEAJFW3CGFK67BRST5J1QVT9ESLEZAWLXSKBHJQQUYKNGO286AADEX8SQ4S815FI5EJULRUT1NWU8P7R5QAKCTUEHC7MS3MN3IIT4BB0KYAG6CFF8G0A7TL83LMIC4U40OFKRP0C2IHPYLXGD125EZHDZ41T313NZTE9BBQ56DTRTT3MDZ3D7HQ2722ZR0ENW5TJCKJ957JNHNVQHNT7JVGQ7KPVNNV3DEEXZD1R39ASH69A1ZOOEP0R6C3AYR7B4SYC9R4JMGP8YLL div 36#6V4RLF4PAI6TW8PC7J0V28ZCIJAK8CI30EVCS9PTC58EDKEDPEJUGX0KAE9EPAZA8VGUBV0TR0Q2QPUX2NS5KYBY164M42N5JOBYOFMGBN8R1GREN2YVZJRH2GJA3SRGTDRLLLCR2VUWZ436LTT6PGXM8N1S0KJK2COY2M66DXLODSF822II4GXF5ZGQXSYQSGY25G5E8FVF4KCR1BDZQBCFLQWKJO9XAZH. +36#MUV12OQUC5LOIWH2380EIPXBNDXF0SL8OGCHBUGXLGWYKURKE = -36#2LM7A8I51H1KOAA4ZARPNYQLYFTJBIZPFIUZ74P2S5M49QE6QAIAMZ2ETF0HTGPH0SMAAR602SZ0JHCWABWD5VIF8OVTJWDIIJY3SBEPVIG95MWB75H1BSGT35U6FGWTQ27TFUUAQY6AZQ9XQC44WCYQ2LJGAC93EQHCD3TEIIO4RTN194SDV73IWFCIFW2STN1IHDOBT6XYU09DUT3KDQRRH4TXTXLX0I3O1UV76SQOC5DFBRL7KRPIPWKU41HPMG3Q2TXZU9RDOYVH6HRX9URIN122UIA8A8R8EEW34R9ONN1YMWO2GAKYEG0YJH94NZRZX9P7QZV7SIG1PQK6WJOAVTHHAHQ8OVGOVSIE9A3TYL0F5V93JRNIFU6KKD7TJ3G6A34ZPFBAIMBZKO5J9CPDS3TB6VOE7GGA9RCJLERM5GGJR776W3YFSTC052JSSPHAD84966295B4FTRFCIKLABRDYHZNQ2OUDON5PNV8M6EKDYFT22HUP2LJ4PHHKDT1DVIFPOSNZRBB9WSWQPY9A5HL5OU8QAR0CGWL0NB0579RCTL8VF2QVPHO7ZJKBKEJ0AW2GFCAODOQ7TSANQE56V7HH547DTBWGVPKMOVZ5S9PX3DDIMRHGUB4K2ACOJIQ95LD0YX09CZQXJJYLUG65F00EM10HS div -36#43G1CWX82VEZ39XCGLS6H5HNGKIHKCVB66YH731HNHEMDZ1S4AX6IKKAJTI7UYNQRH5XX7O3BNFWF8JE22XXOF1Y6M8NOU8H4R2LUGWO0ITUBMAITC6CFMOYU3HZBW285NLP2OEEFCN5C4FGH39DN7RU9UKXTVQQ2AH33THA0R8RWL0HI7MFKVNDYN72HTYOE9IY1RK7UX1Q6LOK350ZJF9W3OAJVIE6DXGUUWI21FR155EMCJREOGYRHPCY0AVCAOOAB0SYGQ91FTS2GB9OTLLZGGUS1WOTG8Q5UHNCZR7ZB2RRJ8C0ZEOY2PILWSGC4ADMDJVN5BIOQGEQF8IK7W1NQRG28YPJ85EGMOEAIFZ6OTIN9EHEXI6QIMND23AKXA8TX0UH9NHOIL2PKR1ZQNFNUZWB9M6OBGMEHJ2BP00A1AQCM5TJ2W3SGLNE3EOV3AEM3E5Q6LCJABNQH1A55CPD2HJAYGBTCPC2MKLY0RE7H14PCXP982BCZJJ0JBWG1JNJKGHWC30578R6ZVHLS5W7IH0T42M5D9Y0XDXGQ706KLYN1G5WHC02JJM0C9AB91RXT1PHA41DHSQ837XCXAA6P9M0BQJ0AZYIYJB28U8MWI3K. +-36#2YO954CCPB90G4HLIVEL77TY74OLW3L80TEC5Q9Z2TM7ABNHG3 = -36#8Q80MCI07CLXTAG3KA7N4MO44RNF76MX5PWU9KJUITKANKUGNWKTI36M3TO0D7FDUAASWB7D3708LSCPE2TQH1CX1ZM93XODF5O310H5ZL0Y5A8J3A2PASJOT28O3YR9W41KR5906PWVILW1ZDW00GAZNV14KSRUIOL45CBBWQ3VERKLXN4FAFB8922XHGR1OMW793IKN4C7HCY4SXIPFZRTNSTCXE58FEGHHRQR4XY8T2E2OVGTCP8BFX0VP1SS4DL24W3VA9E3NCG482BW3G9HEU046H584ZH5BECQKB5WA5RH11MCVWBE5OBNPEU6UORUTDZIANLV2WP9G8J1R40KTIDWQ2DD4W2EN6XVUDYAQPLJ3I542MA7IGYC06C4JHMPOILCFBF96ZFYYRTBUGWKH0CNG704TFDOA2ZUDV3C70IRD17TUT0K8T5EFGEX1R1375EMTO9EHPY3YHLLWUSAO43FO5WDAFNRNWLM336RLOPPY3Z0QOC6953UMYJOJV244PQWVFJKRDPPC2R52P7MUPM4MAQ0IM2F3AF2DKN8ZQCFC1IM6RPYV7MK5DPECRS4GVVJO2IYCZ92JS998WVMLD2JZSOVDTV9MYBUQALLI05FDFZUXR3U21UEDT72V03K3KUG6ARWTLF9V966G9GD7YR8NTAXS7CG8OCL8MHBFXJL8LTY714RZ899RTYD03QWCQWSFGCVDFVCYZRK6BS1YRYHXZ1J5P2H4O2IB9C700GLM0QK4N0UYP68F62W1FCLAAT63S4L1A44971RL11120SW2L9694QRIPKXW6OL div 36#2Y1JX58GH0UB5C7NRPM3Q01CXVEFUYJGVMYIJWX4722Z22R3F9Z3YRB1QRNILUKIKK4IRIJ3H2I1D8099YQT3S5KQFMMA6ML0ONXI8JZ6BG7FIKACOH4Z634IJ2VZ2IG3VPL68XH8R1HVU078VJJIP3KRXTKSDPO9KWIWO2B68OMTKVYISMA0PEOMO0MGCW0V0OIWON8K3M595GJAY7FMDGSLP0EZIC5UT2Q33BTTL4YZ5GPDNJEQCAS71LWH8EUHKF1OWVHFJN94A37HNKAL6C1PN19Y8DBN5F9ZZXFMAJCXMCL028R0XXJ6JBI2P2HJ72ESSAQ9UX3UXFMRL2T5AIWXGH87H8UAP9F959YSJ152WFN3XHEGTS5RMTYMYR3GQLPHL2ZX9GYCDKI9TV062RW06JRK1A5L5RQAR921RHDP20UVMBA4GORHV7AGLGWIPJWQDC5CPI2H4D1HZE4YM2SO1YWU0KST2AY7BVW10ZRG31KTHK42QVZOABJU2N6OBLVI62ODL51ICJ3X3U9UNVFKVRO813YJBM0IT1P2EGLBY2KE52WYC5TGU8BAFY2YTW8S20G11XCRMKFEAVLO093SED8I4E7NDQFLZ8AEY2LP1ODP0ZDURV6JY4E8HH2FYKZ1WCA01OSCNPGJSIKYQ7ENCJWYEUWCD89QDCHA6I9751NXOV9X1HXUT2SSESHORY3XJOTLWMEKJQUEEYRNW5KNN9SEZXLXD8ARY5AFDFF1JR5EXRMYZVUSMV. +-36#XB1B6NK3HZ7BQF5JHA87K857Z022Y9QDZKU07U8UMYBHQ06NH = 36#27L7V1PC4ZMHDI3WBS0DVF8ZI0TOTVM5HMQEWHYVNHBWTZX5CE2OCFZZDWRTYGA1C0UGH3T65XQMDZ2JRC52GXVWL35XMXT5632 div -36#2E0X7SLKYQTVLW05KG3WGZOY1EMY8RPGODY40G4LVHG5D3LBLY. +36#B94QVRV1GPPK2U7TLZX36NCEC3UW40LKQ5BD1SV6XWS8U3JACOF1CGOILHQK7V335HP9V9SENIFEJUNATN0J32K5U2SCEQ2PMIDQ6RG9NS5MDYIVPVYCQGPEQDBQGUGHOIKTNO2RT2F5JIYYD1WXUWUH264N8292QZCDVF66H5YU1XN20JTANTACJHTN8MPP4WYQ4V3H3NIBC4XZGUP5LD6TQHDSFNK019I83YY9SI3UBTPYET4T60V2OVPWURD5BAKWZ55X69IBN0L6FFE33BSFCL8GJRAALD1MBJSVYDBC304OYNLV0Z5EM7TYY7GM89VVAX72FAQBZ69OTP1EF75NAPNEOYHWJ9D9MAHY1PG36F7T8HRA09SO42YZ5HWJP4M52OLPJUG4LQRF80EWMDKEO1X6EW1Q02V5S08Q0H4HRQK7V1RDORUO4TIKKGT7YDY88YLC6M5G5TZAUMLCJFJQTURGWTCPQNTUXC9L6GTLNLUADMA49M5T41X0VD6O4VXIJBB3RRQ0ALLQAPEQN5S9WWXS7R7FE0J7WODJZSOWDDT2E441O13C8M7JYF8C43WG1ZML2MFA61CFF8P7WJUEPR00IM3DMYQBE0T8OAW2YTV9YMIPZHVYUV8O3ADDKO08MWFGXQCKTXX4UOQ2GU708YBO9IKXRVV18E41ZQ94BKY6TR8E3WCCXWPCAQCODJ4IL03LRUBF2WEYY45HAZNIQ45Q8JF9L0JL6BEHH5KQCTHQ3NTIMMCM0MFR4B9AAZASR5EFRE6R3R8KYOPV2ADDYSJFDBKAY4VE9WL3NTUBAZOSOSDS9124EBDZU71MPMDRXO1AYJLU1OPM98QXZ1CQNRQ0DEE2YDKRDDE34NWNAO2H9GBO5GJOLAMM75MFN93T7AVRILADENRV69EFOLDFXG3K15RLKNENW2EFPLBXLIYURUEGYQCQN75MSOABBIC5BJW944OSXV3IG9J09ZOIRLVJH93SFGQR1UNE5RZA2SRQGYRX0JIEMW1TRQEO6DH0IT00EZCPFBTC5IIUOAERLQWYMOC5LC5DTBKYERWE0GEAIMB1OGUWBM3HNW9SE3R6PCI4CCD3KLZ154FWFHPD4SE4NDKQL7JBNDE1EGUDT0U1QBNWU639SYJ5KQM4VW8PQM511XJ69A8ITZNUYDNAAS935HG8D3ATEF283FE3356Z2QMR9F00KT2HQRY8LTH76TB6HQ7CTT4FDVF31LVYRU76CEJ22C9TZKF4NKF50NM83APKW8IIY3KU4IYF94WFF06JAL6DRDHGV8D94JHY1WVZGYKNX338CE10CYKFDXIKP0C3U2HLBVWLQF3EDVYRY7BDS24ZGPE2KAFXHJGRI4WZS4SQHUC10QF9YTNHXBWJWKXIXQVT2D6ENQNINII7NDQFKOJ4ACPURH579BQ2DZD2AXGKUEW22JFQ5JPD15Q2FX21T766NWL4A4ETV97NAZTB3SABTUFRBKU0VHH5V0WYY7XTL3S86M479BRS3JULFED97E49HKHE1N8GQDWSCON84CLSWTCTF0OIIL88P9CB7L5VX937Q1CI5MJWSMU4FPSVOAEL3Q6F3M8L82LFVLHDEEDPIIH7TP95N7GA5OJYPKOOW6HV1X3JP2BWQUI2AZFXIH880PCHY903Z6HIWJ05XQTO719C1ONBUL7PRXT2EA73F12K48O9G8K5VCF4BAF1H7974OC6V7F7JFMLU9LWYQ28EDVCDV8CUS6YDSNW4DJPB6132SMWDCCHDOU873O3MYXIBF59D3MADIUIY56V7SL16PCM3Z1FLUX8GKX5GESHY3SB7QPC9PMF3ZM5YEEVKVD8JLRAYX8C8V0KDYAWE07GI3I1YCH34I7EZ2DZ58UAI04R5CMAMFVEHLAQIR8DEGSPQ6RCW3JFJG8N581IT8FEHO5WFL1NATJXK2DB5CYNEGE46US94GG6WIM5AHEO2U1DLZCV7YSFHTP25X1OY07NR42J58XZVU6SJ6PJGPLO26S8VFDB5LPQUD7HZ9UXLHBJEMT1FLJ883FC7S27JI0N7W4Q1S0LMYSBD2B8YKSRCEHK7FFTLG2W0 = -36#BDBOBFSZI5RCH4A3GJBEL5LTUUO28AXLKIOA0HBKZ6L1D6ZD0MI1MEFAHEIFK7C16YHVRBUYM84XXUNC9XCNXZ1KWXL5JGU4I8YMT7NI541HZ1M6YY7F9L047BBWKN5CGERSL1J3QIOJDZXVSIKEPKRIDF3H2OSGYVB24VHDNKMRNDLU3DQM7YQAFPWZZ2AXTDCR20YQVI8J98QCQ7XB8JJXAKIZXRB8SN6GAHZQ7JVP7CPFBA3XI65BG301KXGJ2O4NIG57S97QYGHV9IT92XKE8PG7R46ABR9KRRT4FCX1RJ2NVZZ8HD6XLZVOP8UBXXTWW5Q3OMH5Z2HQ52S2QGRIBP4IKPV3MNJ3UFK0QSN84BQA55R0MMH4LWMLL5HLIU5G1JDM6E9LEJE7R5NGIPYGQI13VCX17WU5LZSASUEL5BLVQNPDU5J17V81Z088CKSJ71YR1L8378SLF3TXLP2HKRICN01NQNUJL5U9PK5RBUP3J9FT4F9EVODRMC7K6IRVJ3FAAMTMH61H1RURKSZSOJU32RIN7NICT7ZANDM6H6ZK45PR6S4B60O4JM96UEAC9EZ0S4VGINSNQZQ60XIYYBWFXY0BSLXSQCG44477UP07NHHOBJBSHWMRH4ALO2SF0M2H0Z01RQJPY2Z6SAN7P98A0I5PNCCOTVUTD2OBLIO12PUBZXF9PSWSLEVC3DGGSF5BAGRNY4Q17CDY76E1K4TK2EFX0TL79QAB8YNYJAUZAM8RF07NR8Y7ARPC2S620BDXV6IYBVS7OJA0HH2YC0J29IQVES19XVMB78Q7BQK5YR428FSONF0AO7J0PWD4HM1JDFNUIBQSQLKC3DU7AA6VO8NXFKONNRNK1BTK8V6MKMGDXPLL24YQWWBVNAI9AMZNKDUJQ3J9UIB69GLJI5J6PHFZGTWDMOO7C3BDH8BSJVPAFMI2CK1ZX6KD1RX4YWDRJRL36FY2ILRM5WJ8BOP13MU478FSQV9U91FKZKI3D83LIOPVEYRAFATHB1UY0NMPUGMZM7QUU1UKA0QGECWH0PJ50DVA5VQL54TP2MU39PNCWPLMHXPPM34E88EWSWA5NZ6B9PTL7PJYX7JJN5P14DGUSPPYCXBPL9WZD9RBMN3V7W9XNBGB2YZQ6OOLBDYEG9MB6XXLDCYGIAEPZS4CQ28XQ1K98N021F6Z6UOU6A3FIQLUW0I2ZXS08UB16GH4JOCB8HS2M9374JD2NV7M1USPWV8IFUW1NA6WR36L02W5Z0 * (-36#ZMQ4OY2R4JP4K7SNBO6MGDHKSC6XYIAMZP5FCQ5OBXBMVLC42IAI4FT51ELOU1QDA2LYGR6MQQRJPNQZB1MAPX4ESL3WHI1GUI81YUH190FLPY7ZNG0OSIP9Q4MYRP6TILD81326VSC0GXEP0BDVR6KLMPYXZ7B68471BOZI4BAXPOD762VGSIAYDJ95XFE9B4KVADXSFW8TKFN8L73VIFCE1BJPVYIDPSGVDOEBY3UBQRNH80JPIVGFGX98086VH6LL1IRRZ2BR9YM79AOVT0WIVQ3GS7K45C20CNLW5CAE7Z2LU5BA4ZF6H9H2QUVA8Q62E4IPGXCNVSC1G0YAF0XMET8APLPKTSEORMAHHK808O5BSNZUHPYD1U9W248OH2W9IW6GNCHU4Q2OAN1PBXGQII9JJJL1AXUQOPN9G5K1FLB7T04B9EMPDP2AJ74FGFKF76Q04E9I3CHK0A5U4LYTMWOPG2U9Q65FWXLUDDF36586A0EIURJC86WX8K4R79D6Q2IHU1PNXGYFKN02WOLKXCCJP4SWJL869HY4CQP3YNC9BXXEUMTUL68GFE8C7FX1DF2XGHWOU87EHZP2EO26SB9VQDUV9F2I0RE97R17PR6BLLU9MEKEUHNOI3MNQ0UQFL7L5NJCV247H6R2U4OSYKROWCNXF4GUXEMZ5KNMXE4Q623QS1PCMU9NP450W8Y763B8TK2OHKQ7ME7KH4VCIVXZMBPH3O4BD7I4GJZLVKWSIPQHKH8AHPYZOUE4F87SHYSLFFC4ZAGQGPKMKMAZUDRCDLJSB37MYC999W9GGKE9MCD5ML4). +-36#74H9BF9YD44JNDDPOC2A8FLJSHEPU4B1QKB8EBXDH2Q7FG26E4EBHBAOULOL7UBUQ9YHU3S20ZL4IPBRKRNVJALZR2YFF9LJ7H6 = 36#305AC0D6T60TWOYLFNG8MVQWR01ZHQPA71R48CWHU34CC90933 * (-36#2DDKN3NAGD2834CKYO17QLQZAA10U9H76PQWD9WJJT1YG8EGRQ). +-36#1VCC0TZ010MA10H4VWLSUJPX4O6DXJ342HLYN35DA9FA195SLR = -36#NCNNS1D2WC6FMBN1N2T1LCYGQK5RYXZRIAEQ6T39ASQI93O0TCOXI89WV61WQVSYA9WK9DX7D0B6KM9QP2QZ4YOVXPZ5QOKGBN9TICK5ZCNEVCG5AS0T8EQ8PGZJUEIN1TSOC4JAKLN232C88ZFQ0Y0BGKBX09AOCKNYX26TND1WY2MCJOT1DTTNGL3S7DGZ6IOKSTNDVDBU0UVDVXHVT5ONYY7ZV7XL30YUT7AXBUYX122VF7VE6R735EF24J4SLG8OFL9AJSFBXZF48OFKHZ63XLBEKBZTAUVZIN4OTNHM9VZDF5D185UX0F904BEI7WIV06YO8RT66K7TBFM542UFOOW93QK434DPLT4TVV3ESFHT7JJL0AIZDX6BC7M7BO0BU43RHPSY13E9H4KKN6PQUW7B8D385BZW190F323EYBKZJ7V6SGP7I4PXMOQ3ACTZW77YFKB26ZJ845OWNCY3CI6KGC662U0Q7T6V6ZB93O6SXGJHYS0ZXASZEUUD3F24J9XBOJ9B70CBYXKLQPXKDELH0JMMS4KNIECR div 36#CHECB5KYU4V5UWS2PURUKXIJ7XP2WF5NXHEKRG9RKS7ZT4X8XJHZRNEQB63YNYVE8488HOKXKOMYPEM3J99QV35TGG4Q2M68EI2RU5OUAMMGXV4V3E93TRL9TV3X0YO8WPV2975NL4F3XYLJGO6W8NNPTWC97L3HB90N8L6M4I88CUJEN60N7WUSBLOELVIFTE6WJOA0GN0Q88ZGG7QS68EYN6III3DGZZ5H978TTTO8FK8GAYZRNZQBUB2BVU2HMYQH9F6HV8I90GTHWP78S3N4BL6IIVKUXTF2WV3TEHWLPLJYTCRN3ADJSSCDN4A77IM5LLD56EW5JRJFFQ5BMWT65PGG2WK2UA0QP5NT21C8VY7WDEAN28854KP6ZLO0S9L4PX2B7RE8ENW6KRNW5NRGWZEVAZURO4Y24X223BRW38NHH20QOHCPG2LCR3OPNUOGSA76R78XEQ2YNP1665XYNDNKIBVL4XDO5QUMQI3JLAMSW9CW5D1. +36#4VLO9YVDX3CGRTDAF7SK06VA25S3AMCEQ9BA9T4J6NUCJHEYEH4DKOBXO5MT2QT65JHROWNU71W08ZUEDWHFX28OA9ESVZ52A9SSYCFZVRA9PGGPXG7ND1Y27GKWB2KWVJHGS9MGXLFYPTJCN4M2YMLQAUYLXP4HLEP1FTTA4HLC2KS28EEHT7LMB5RSZZEUGFEYKJJ1HFJ6FQ9H75PM6P3DFETMMTPTGD6VULVHMRNOYQ74ANQM2ZRVACUY1HYOSX0W97W76L8LCB414X44HIYENS5HZJE47NH77ZPHH83S1TW7A56493N12V7H9QWKZ6NXFENF2UJ9JLLHXXDWCYLA5RM1PWNWEYYHLKO492FXN44UKN1IRI7LKXU424YVR5C39D3PSONHYR4Y0MNWDZ0KFIDSIIOGLKZ23QS2IKEH3OD0O8RXULQIQAZBP7H8OU1H8RYFP01UH4CT9EM1JABQYXXNL1DQCZX1VK52JBUJ0QFBJEB5C = 36#47RVDZIL4LNM54YATU6FFM5VL5O1RF2KQUQ584FO9SAV05FEFU9VDXUP84O * 36#15NGRW65YUK2B2SFB68F0UH1E90984COH1077R23QUNWDFCZOX2PQ5EVQPEHJ03TB9HIMHGMSRFZXPKWT1FSS0TZF8VP687GG5FR1OPVIU4IJZ6T37A7GON94ICJFHS3SNWGBH6D8JRWFCCE3MT1ZZJ7K5R5LG2LWFS6U9CMBCMWUQZOOI7QHBZ0AML65YZVVNCLL9V1H4OGUKZCYQF86H2M7XQX7GIAOF71R6UD1G4MHR9OK08FGRICJ8JW7HQYOJWPU2GD45VP2F0MEUTDPV8EI8QRG4Y0ZL3X5KWKR3MWR67UAJ71T17CMCXYWKSM1JPYVADXHVOK7XV4F2QAVQZ3GQVDDNDDSTN3TVFQQD2DUDT3V8U5PDOZDR4GR0C2UAQ54AB2G8XD36698DJJOYI704TMUC21JQZH4ZUT9UBF7F7PIKCGVY57TEE. +36#1AM8QBHZFVKZ70A27QF0KL7X2PUIHSTH3FQR6EDY8ABE0KVPW12THOVWDY5Y4WADL7GK6RG5YDOK2HDP3AHLB3FRPZZSVH3AK7MGPKK7OX2DW5XID53EJ8ZEBRMZF3MFIKD6D3X4Y8GUDHAUW19IFHO1ND7AM1026KNVDEARV5OZ58RRPHE1HRD2T13JBL50D7K5ZGIHMWYH8BNTSARO7A5SWKGQ9GLB42TJCQSI1OJQNZRD00ERKRQCA8TJVWNXN9PRL290NYDYYG6R517ZTZ3EYNMBL32MBP3XW06F82ZDP0BQKVSC9PEPATUGNDEWNIPNARHL5JEBA4TIC0VCK37FC6TI4RX6I6VTSPF9BNCTUG6HHUO5AIC6321LU0EV16NTRL2DSOWVE6O8DQBA2GRY1JMCU3BWOJACSGO49JF56SXGYMRYHXATJ1GXKNRQ3LE2EG7YFMHXX3BVTAJW7H5DCCS51DASZI8DAPNERMF0ZTJEPB7B68FW1NRNRS0PHOWYXF32JOBUR7QY5NSI6SEF90Z91CH8TV5GHZNAF7IKQMXVMREYY2CIQE9QAT7TKR3A1CZEPLZ1OM3XBKP8FWX8SGOQK0SRLJGF44OJXNRBSA602Q7J1F6AZ96HG0KRKVBGRUO6YU0H = -36#UWWRS9WOSAIPFVQ3MIJKDVJMJ1N9GVC018D54ZWOPYRQRY0FXEV9DTA1XKO6O74D4R3RCLURA4DEYM2W84NWNZ8EEPPLQXEK1JKAQIA67K14STF0Y9X0RUZ10MNRDVAM69EJPPCVRBJ5HM07MSWH1P1VFHZOQKUY1PRDK89RZRIKRRXCVNPMSCWZO0ZYLDSL2VOJQU1ACIUYBLRPNPOP5FOHW4PIHWNACXUZN9ZC22MN6Y4OKIDB9C1IIUCTL6YSYEDQ9TMRDVIFEOJPGY85R0J91IOZ35EFS75H95OESCLUXE5Q33NVD5GJ4NNU5ZNJA4T6HTLS3C9G9HXU3SGDXSQT8P251YNTDCY8STQBKOY3PYST2SVWJUEOOVDX9AZSWS6D3ABNGNDIPG49QLLYRRJ9WEUNSKIJZICB4LZDVV3XVWPWSAZRFGO8082YZPCYVAWE5U2IVHWA1LGLUB6P5Z1XR2F31UHXHCTLA8688AYJ1XR5I7RDF5OBF6RF4XDU2SJLK5ZQ3P7H0B8SGJ9YLZX1F4NS7OMG09CNDGJ6K7SUNQVK5BS9LNJJXA5REXKV9S9I7YH4BEMZ6GL65IMZSHY1NOA75O20T5Q9I0RISF0RKEC1YSYKHMAN5VYZ3SK795UHDHDX96MDX2AKWHPQSD401SV2GC6H98QI3WSF1L6XE3HINIXW8I37AQ6OFJAHVFE1UY1H5RSSM4X3FVFDP457X5O6TW42OUX52MOYIFIVQHSU6EJJ5CSJXHXOFPWLSYSQRCN8UUHMWVYHPLUT07KDR3E8AI3955S3JT02K7OTY7UKUI58NIF25FB4I4MQV2971G15MG4PQ4Q6P9W7ZSGW0VLR7I622GZUY23Y0JUWENRIU645WO2XKNV205I49PSXMXO6IMKIT2VKCQD div -36#NVFH4Q7YH4XW1MT9FRB0SP4JYULJ6LX9AOPSXZYDHRT3RAXC0CNGVG4UXL9ICRHWMWIEWQX2SHVRR4JUKR0UG9JVSSFA841HELNIL6UHN5QXH99OBSIPZRJ16A3FN1VOEKB4KXDI43B8ISD74XB4SQX8HVY82HIY9NTXNQ1A196VM558SY6Y3RKJ5RKJ2JHQUG2GASDN8CSK1T3UXJZIG9YSSHJOXPJN4BZB1JOH4U7HS4R60PC1NXTY7H1V9QVUHM44IHC5. +36#RE2KD00DG5EX6GRUSRMUYLCK7VZZ3P5AMYKOBHCV1A45WM2TTHXRV5MDTQ0D0FKHOFMDAVB8HW5DSOY1XMBQ9T3KAK3UEM1SQXBRW612GLRX5ANGX585FAUDUAHGWMY09BWO0RWT26FGMLSK6WGNPDY68DM0A79ICVW1ARTE7ACDEKRVTZ0SN5UIJX1389J7NZCPIH8YQAXFYL2WQ1R8XLRG6TUE39IXE26OZ3QHS38Y6BFUFBBEHVDW3IHFGC3HJHCTWLH1QZM2MHHMS58LH99J2AA6GW6VMC44XLBBNRVS489WL6UB0X78GB8BMFMO6UVSG7WDLVCLOZKGEAX5SWQDLCHT6X84G8L7GA4837ELWHYFEHJUI0THPEDEW1WQ08DOMUZPJ59D0KAETGGX9FLPR1X51HMU528YPIUD5B5Z67RJYL89MCJ508YGYAMV29K35KALKMK3L1VG3R32IOLDI7LF32Z74KDL7B8K32ND0G5LE43CSKZN80E80GTLGNZ5BQSRKBLUH93PHY44JO9VYV72PYJNAZ4IEEYWXJ5RO6FA3YY = -36#1AHDTHAHUNU1J99Q3IEZBO52L6ZCM6DITD8GZZG2OAWRZDP0UOUVG9YVAFT26FYBSHO49O0BQU52E6Y5VPCMP2T0RP3FRAYVBTDIR4QMECMR65KR1GG006BVVG33SFWEO9SJINEEF2MZSS1E1ZTVXRM9TC7QLWZA6P3FW9FNKPK11D0CGX0ZL2XILIA6CR15QB0GGLO6TEJJZZ75BSQ0LXNJAFJQGK2EY8GXNDC3FR8Q1RDMJSJN5UYLAETB33NBN13HE1SVHS03HNPDHMDI3WS7CBTCVHBX8B8E8F3328WYLX7OIB2CPJ7C4T84IJ4C1EZ8JX6VPQ81VXEOWFP8GT4T4XL7881KV9A1TNMJ091XXIZU6BU7VFK4VH8NFOHY1IFUIT5NIPO7H4BVJMTWRLKPRW5CCDEP8NWF335SMHVH794LTAODWDYGV0UA8L8XKDUDCK4AHO8S5PF47PJ4AISN4D6447R9Y11733FCWJBLRBGOP38DJ2R2TARL1LAWIC63X65SLZUJ4D1RXTYKYEA5BY0M8IP6AJRTYA7S63SGFCNIY60CVMDBP7LCO8YZUUHKXM7UZHI8SWOI3U5D7GAM3UZ6GYFYBL46W div -36#1P3C7ZGC27QYKQLVP4ZD80TK49X4LXJ7ZATV8KDM36DB1K48MK. +-36#2E0X7SLKYQTVLW05KG3WGZOY1EMY8RPGODY40G4LVHG5D3LBLY = 36#27L7V1PC4ZMHDI3WBS0DVF8ZI0TOTVM5HMQEWHYVNHBWTZX5CE2OCFZZDWRTYGA1C0UGH3T65XQMDZ2JRC52GXVWL35XMXT5632 div -36#XB1B6NK3HZ7BQF5JHA87K857Z022Y9QDZKU07U8UMYBHQ06NH. +-36#1XSLPRMTC345X6VAMZWYKB7VWEEIF08GMYS6VK2X6JXLE5W8UOHWV4Z6789Y4CPLE94E8Y4MO2ET16N3WRNS8I9TLUJ34MR170I9I58UG8CM0JMM03H96Y8AAPDSJEU7W47DBMTO21DZTRU4CA6HOK0WW6IVR7Z9W6MK3UMSZBFJSKGUNUEJUALNDJXRDG9G6SPBU94Q8 = -36#12JSYFAKT4V18DESUY5W1ZRVMETZL3KJL0G0VZJQ5K6MTDW7JU2KBI660VTQJ7PSNJP4EVFLQBMHQCGTQZ8ARQV957LG714L79Z4GVO9CC6XLVP9H001O75VHRBFLI6MF03SXN3NSFCL2DMMEI241SKTKNQ7LPWLF55YS2BYBWRLSEFTCR40M5GN514UON9Z9BJ8K2N1IGTC5P2GKX2IIA4Q6169NMAV316256I2MPQNEVJDT39SNZSJLCMDLJ2WQGWE3FI9VRU2WCBZ0SN93MIQVTTDDYTYDPEOW6EK8NQ176ZY3RNEQAM1FQ1D0700 div 36#JVTUH4BM24UF41EMS02YROOQYND8JVDE5Y6NERMD1CD7KVI9C4W1KZ3NAMHF81KBXM1J9GELC29GKFPJ67I3HXHTQ3VRR6RETB9EE1TX4CPZ1A71KEVOVT9. +-36#HEDD9PRN4MT8ABKFDLMZMCLULGSG2FG6YYSJLU7WMNWU099X098FQWS2BCN4VMV2D3GSNE1DT5BZJ6W381B474443O0NQ2SXZLYDANS6NJPBH171XN7HYUOPCZGUS0WIWELMCZNC9M0TOBSQTIHYJWL2CAT7SCRRMWXPUDXPRRB271E5G2KXWFHGVA9BE2WYIIZBX2LP4 = -36#HE2DA12YDV6AJ2U5K4CF0CR0T2SXUEDT6KZCRIGDTVJ9E4LJSBWC8867ZKZ012TADGIPP7K7N36KWSNE1539QBC5VTA904WH9RVTYU8Q4Y30TQ4WQ9NY3555PXZSB1D6QJTMLV1WSLVCEVGFXZ6IPNB3JVXZV9Z1YQDM8KN6RTHFT40D1HZAIU32EJCF45N52G11WQ1418KJM74RAKDUEHQDBJ8WZS53XN9XR6Z9DPDNW4ABF965ILJ5XOU762DSM9N2KJAELDJZI4RY9AZU7PEYFP520EOEKR2QIVZ8Y2GK6YADD65O4NF9XW7RRRVVFCVN20DK31MOBURET84U733GPK2QG9RBPN43JVDINTPRZ5OFPV1LHCVZCRH42T22JPL59XMJXJ5PN3078WDLZHTF2WWGRW8UP3QIG6Z8QREPGTOHTLXJR1C9R69SW7OWU2OT19F9PDHJZTX5XB5Z3SRWJZZ7OWNWMDM0F2P3ITI5LA48L8R0D4WS9OCTTF78ZX100V9TOKWRP4MSZ2Q30U9K2TRP44TC div 36#ZZD8O4MVYHOG1TKX86ESSQQ6NJY5O8Y7TMFCZMR908D8MU6X7S2B28B7PGVGNQEK0JWAZG52ZXHBR4QGQHQ6V22JTG19BDPI4V8GMNN38JJP0YP1AFAVVKOAIUG88RKTJ8FMNK32HZTEEU65SAPWW1CX3673SVX0QH3V93X3P940FDH9BKY3FAA3OKTR8EM8R0BA85G05GJH0O5C269X83XHO1SKA6GELHMOP651GSNEFN3GWLJEO2RSPFB79HVT4RR0WXTG81ZD27MSFMXQGNUR99TB5GVXI4F4X0SSU2TQU3F43FFXJX6NW680EHK7DEQB9YG3AXPKV0IDXBGXWMC. +-36#2MKD5HR1Y3ZKB6CIIEE29B3VCDL0BWHIOXJILPNQ71J7BAJYPO = 36#I51TP6KWF70M1K545WY78CQWWT1T67CCKY13Q75QLHZG1OBUDKP94YZDRTE8Q94PXV7Q6P34CCUN3Y5GN70K68GRCV62FPGZIC1UA3YAL1GBG84J8B1Q6DSDN4VWH9B0K30KF1Y1E7BDCDNYK04UXV15HB53GK9X3II4TKJ33KVXR8EGVTGFE0LLRI38EJCSVWZLH1ESN2OCC2PXZZFWLJBSAYAXPPU43DL4P7HR9JLWB016E5R6Y5CNO4BMBSWID9X5AO8O7PK13U8YQVO04ZAVMFSBCU3HPSKGNZME3DXY334CAEBTKDQT6KOT9918L515J8CKILHK7MLK2QJX731J5LNUK0AXXNSPZ92I2QIUM2R60789S7XJDXKSCUGV5Q7DKG9JW4WYM7MDE0X24QERRLXRXPMG6KALFGR014F6WUPWR10RS6R37BW8PU1E5STLDB2LYSMD3AT5T0FYF69BLKA2YCR7I2EFYY5WC4NX6LXHGIU5KN5XDBCW0WOSREDYTUJPXU4PHZX3S4BJ9Q3RX1IGKFA6VI6GDIQBUVMDYRZ4ADV4564BQEH1HWZH97T56BKYLTJB9BT05B3QGQBA9IC7GI02FTKHCF14IG6NOZYEICRXIC8GSFD5NELOHSUOUBGU4RHVVRE0CUCSHC91E9GQPECUTHX980XYNSZTPQ69W0CDPZAFGUXFIPDBD360Q0PK7ORD0A8OSXEDFIO3EGK7O div -36#6WLWFTNR8KQ516LEHVBADAG4QA8GA4QPIKBR6U4HKREF9NMB2QEDEH7PQW5X3EFTZ3UNXCIHYCEOA4B0902OJIL3EA5HTINHKYO8UX3N97KCE1NZ27HCIVIFWM8PK46BQNHLRGK6A34CZKJ03O5VVMKZEP81HC1Y8VBV327B8F4TC79D7E29F81BJEIV0KC9J7HRVV6Z4ZTOQTRAHYKJJLRG94OT7R45LDZWLR271A2MJ85WCNMB54BZGC6G61TXZ7GQB9CT913CM5COH7Z6NA4XJW9I9PXMWBCX1MXZ3NFAKRT7J7KTZSXVCFS5I8254IM5GCT8YZ9H2S8Y447GSN7PR2YOH77JQCTR7YHI22LXD0UCO70AXBY0Y045EEB7VR8WJCG7VVORE3CCXLGL5M1HGL2CRT1SPFX73NDUG5WZTAA2ST8KPXBT7UYWVJD4UWFRRRL9H2004QE6L1LQCC1EWU7J54NUB156YZ0OGNWOEZKNTX5K1HTAB0JRNEZ8YEKE0E21U2GYDCSHBZ2HEUOH1O3HX8ZGXXXCHE3VFJWV9AESY5KQK28EY8CRJMMOXWN0WUPVDSWZN5J3CFTNMG9IG6639VDK21AT4YB7VWMNPXYNHYAGS7MOFR0Y259RY6VYHG1OKIA8PK047XVQ88GT2NDX386FUC5VOTIP93YJ. +-36#27V1PMB3YF4HVHEAMMOZVOVB3NP1X93TUGJBUNMG661YZKAOVK = 36#125FJEUY5CZ74IE339PNO2MKMZMDJ6RM3ESXIENGE8VXRM68DCBBD79N6HI3FU13UWGE2FAOB31G7NNSSD0DSFDEEP22464HNWWQ6ZM65PA8N85631D4FT623DPM9NDVPV1FBRR0GRJ1114SAY60QXV63NZ7RGYNFK0QJSE0DRDYQAC0VY1TZ8KLG4LH505ZWAH16LFV81C66E7SV2THJLZKTY86ITLZJF9299CTCJNGGN3KRU2NE624HGA0DDTQRDZ3SN6XM4YI1GK3QR2R5NIX5Z0CY2JKAUPS3LGG7YBGW1B4FLL6TGE1F2UYIZ2MSBS1FHU50J4E3GCTB0MGKDOJ44CQ3KYQQF7UPELJKPBVRRQIEOKWG8TG8ZZ0Q1GD2R6LYVQ2G9JLX620G23BXA0SHO7JC5XKERBQHG44BM7X8685FMTV223MSTIHUMCCFFEOV0MFBDI46SWBXJJ2IWAJ17QBE44QRONPODO4TSR2586EHCIRBA79NSW86RG2AG907USPGLTC8OJ76N4JYPHYIHZEVPH8NSI2XBK1GGE7BX6TXS8GMT61VB6SIZQ8QJLFG0 div -36#H73X31DVCXTE8Y8ME4OPBZD54LH5UEJ55QX97BPXMV1P6F8JLO8PAJA7H7DOFL8XKTVCQ74IADT0UF4JG62JWU7MB1ON0NXR8Z2R62I0JLFAPMPQ4EFA5GF74ANN3TJPAEQXUT8T8LDZSMYT4AC940ODLQ6W4QMI7NC4ENL1BQRDC0GC9E92AU982Z31O74IOFOQLA9B3QREJCLN41USLQ4FB40X1R2H0TYZGMXZIRUG5CTOJVUAQLJXWED3JWU496RBIJT7UJDD3016O2I2FSXAOGDC0CH5Y6EYAQT3LHEML8TJRYBO3VR02OFGFFDJSW16VLEGG818M5FALS9UA2KQLKJXQGE4GC2W01DZBAAO2EM5GZRFDFX76BDC5AMHTEJ6EE3A8PR4Z3GJJ79HEQFMKI92VHB21NPFEHNLZ6VHG8P5B97S5LBZ8SJWW9ZQ4LUXJMO10IKAWGENWXCHW7U79OAIE4M8QPBTKX9LAS0SJ5SVEUXH6NS2SQI1YUCQQZZ9QWFTHID0HFRI2HA9. +36#20FV78HPKXICOZ6BT4MZ9BJK3NIXYOCU0ZK2LRMTYQEW6XJDC5S2TP3P0BWVOGR5W5IOSA79II4JC02P1B28SOZX023AXL6NI7T9LXZN8A1KG8M7EFHDW4CQWJCCKZPKE3NLHGITSSNVNNNFC313Z7P3VCXW6UMJT7KQJSQ1YJT4Q6VI3U11XM68DB3BLV9J6VM60V10OR17Y3IESBI6TKUSVRASX13HA6Z6YZIRIEIF2Z5N9CK43CST9R2U4NDZTGNNK7HD44U3HSQDFS0VLAS1C0NFCFLFN77ROYII8RSVP02CDMEADNGBOBD9R8UWQOAQ7IN9LDVG4R2QPTZHJ0DSNZRVKLF40I0YVDAEU1SUAR5KVSAXI7CKPJJ1DRCO5D7UHHWPZZEHD5KKZS0SS3IFSHTTHOK64Q4XIJ2TWMGWOSTVWW4NUX89DTWB7OWLH8G5SON1SC0T8MVKOTT6Q85BA5ZHP5J5CX06XR9801900BAJ9I3TRD6JH30SEVG85VVAVZGKJ507Z9USRBOOC7XR5JNUR5VIA13IIVS4GYMN1YI6KWWGVWZWAL67O7IO8M8RUPN2KSLLOGMFSKTSNXQLYRZC76TJUCMQEHKNRTE8GIGTU6SJL8BT9UHA6VN5Q2XJMS57XAO3M3LR995VZBQ283UNHWVBCQJAMZ3FI0DCYY6J2NPGGCU6MHCSAAR5L8YQZLK3AP0E5T5NY3HZUT4BHNRT1UYB0D8G9659S34EQHYXM0OAZXM287G32DKP89FUA4SJSZC3FSWXOHJDA0QQB6G8X2MXHFL1LHOS9NIPKCZCPE1E1TX13ONREEL8CYLLUULLFRE0IJI9HDINCDWG2O6GF45SAPI1ZE8HFQD15X4G7802P1B3LNIZIR4YD1WXXMKSHC1P990UVNFFT2QS27UNE4FTW6SO8UO9EF8291QCZDY1UH1NWU244O1ZXOLMQT48IRF2XZM9NTIY649MZIDHG6MZG2Q1PF7RHXQ3H3VDK2809WYP8501RQITS1I6BLPG0RNX9RCN8STUK73H1IBNWVH10U3N21Z8DB85OP43BVU5A38IMY3ZDOJWU5JM6C99PX7UWTWVOR1K5VE0B2NW08UKH9QWX9PM6ZCGIM8YGFV3ITTNN93DEDVM6ULAWSYPORIOMFZ1OEQV8RE795HBVFLV4UO7BO2URISL5I59GED8S41X6PN58204GITYHYYZQDYU28564S1BQE4XVFXX3XCFI8UJTZ4B400 = 36#ZHXCNZ1RQ31DJOGQW4OPWZ250LZJJ5XI8EUISGZS09L8IDDFQ53IAJC274F36HDZH2UWDGL6A3PEDIY1WCF0PIY1G00WJPPJICE16K37SFJ1BSUPXTCNRRHP1GF5H54DYUFQEWBIEAAV9B4FRAHM7XU5E35UVPS6ACH8HSZOI073RJZZO7WJCC571MCPTSXMFFD1MJ874KQCR1R7BDABQI8N0KI9EG7B1EQ4MUC3PAR1VFN61R7GYTGUZTWZOKDRFS9W7AGH51FA9NGQRVZYIIR4VRLLNPDW0RCFRF4456Y878QEU3HXABEV27Z87SEU3D9WK335TCOY8H5KCBJU5H13P1LGLQCTUSCK1RKBV4BJNMP9SS94R8RL7SHW1S8APBUMLJZ6EG9ZSXH4C96IXZLLUWZ9EA20A2P609M3Y3YCSRSO7UH2KC3P38G8C8BYCBBD72CJ56CZDYH2BNWU40CJJRVFGUVD5S4BCRMEZLWIO3MONL6KUWH8Z00PU5L3U3IU61V9ST9QZW1HGSNDN9A4HWA0990B1FNITPB4W2YHO04FQP0CKZCAD660DD73UFY8RMTNEHAW378P4V6AR71T2TP9I7UNEGI * 36#21GQZ9VD71J5PH9E45O0A16WDMNIDKI8L27XL1ZGT94JG5CAZMUA85SZMWBG44XB8J9SNHJU0JQNTQ3ZB7PW6WIEDCVI34XYK7ICZ7RUETVE6QVTEKJLPKH0MHUELJG9CNFNWFQ6UIHM1JXOV0G4EOIYB0W1JABHURPD4WERVT6LOR3OCCEZ4MLF3HXC5LFL08R3R629AFHJICTQ8TNJD5T989FACT8L3BCIV44BCSKHQF9N44DFTMW8KIOAA54HTNPGWRCA4MCN6EQZ6FCRT4NECTO4HAAX6N5DHS1TEKIKP598K9RJOCKNOKBARCVJT5WJM037O3QDPNI99ZS61SS5N0243KY6IP9JPKYVOWFYKKFTFC5U9N1FLL02LSQJOSKLSFEPFK0KJIOVNXD221IG9JEMYNRJAFX7W46QVJ6U7X3MVY0KYQBZCOQ6ZQ5H51NYQ5PP78VIDCLXLJXE0QU24RAVSD9OXGV0CUCM1FLX9E6AYQ3ZYRAWFD76Q9ZTE22U0E32EOMN7JU4QSZ5NXJXI2TX2OEX8NA0W7A88APWZJF2X977YMTBCRQYNLN9EZAHIR9WIQW4274NFPLVUOTMKWLLYTYT3BY7ZY5T96BTNKIFSW6QE6QQDBYU895CDU7RGC5C. +-36#16NI3ZT5LWQ3TLJR87SU7K0CV1KM6AVKVGKND2KGI4ZOFIU39E3RWX6WFEDBDQ9LSJB4NA9WZMR66MH08M60D8NFKM7WIAMHEGKTDYJLXF5LDOKKQQEVY8SLF7Q95AWEHWXKWOVHBUR9H5D6SREHKNWJ4FT9WEBKN3T7A8LUT99WNVYZIDGZP0DZ42X1OZ5Q4V8KOMW9PWUYAVF6DT20196W55TIDC8XIL8I9M2ISRNX4MUO50TJPWCJ326Q424PD31EK4C8EXT25A2YLCBPVXFP8KPS0MP68HKLXGLIKO9NZXRY8DA8QU4OUJFDB0NVCZMZPDFZEZD5Z74YTDBBP4HQF7GD9TGP8EO6LHXZGDP95CSRGBH7LE1S37JJHCCZOJQ4YRD1EN3WOA99ZUO3UWYJTQL4Y34YX6Y2TKI8FW6C63BKPX53EV0MXJ6EKQPVD5HEC529VMYHJNOXXJHSGSYVVHT29F25P3CUEKFY451V0T51I83VFQEN6GP69ZXBHGL0J8TSCN3KYTDROPPTRBDOYC1SKJEUSNBU7267OHIKX55FY0MROI2CD3GGOLEIUVFPYDSKPFZ7V8J5DHUJHK93QLFCSC2XJB92QKVSIF7FVDVB2SGO8SNFTWEW92KP50O94SPWR38BY02DDF162JPPCB3G3D3EP6NAPORALSE2XGWOUT5R33D2M8C9UDS7SCW6Q1AXOF6D1S2VEPQ7XKFHTYBVWL4TL2U2XM9WJT1QJUEIYNA4LF32VBFT6XFO61SOAD8Q49F1OQ8KX8RP8P1B61CYW746DFTK4HCAKC9ZP91THF40KHUO9U1TP4GF5RTKNKKWHL5I9W2CFRY0E7E5XQLHH9JD65PLAPTVF3O5G09WXWGPCMKCYBKIXOE5ISSO5VQC378WRHEWW73O06JVKET6RHT4DQXSO4LG47GB296JU1VZN5JXXUDA997VKESGD4BOQ91A5DOO0JRFYGEV3BMWNH6PXA8QG8DM0DKEIK551BP57AM9XW7BJPCX766MSRMXCJL3X5J77ADFHH7YF512K5NL40PE9YUUGRVNZITKOU70M72MD0SFM0DV28BXPT0HJ8TTDLJ3632W27HTUEI455S3FXPC8RKBT6KKHVV7XDUKP2II1NHVV5AHD9JLGJDK3XRD4SCFFRMY2PC9U097J5MFOHES2E7UXHXDZKTAX5UX8YNHB2RN29XYZ9D90V9DBBVZBD0GZLEUSNFX69LBPKKKBWQDMVMWHYPRPQAQDWEQ4EQHHCD61M5BHS6UMLOTJ6PN60BTTWJURA73MWZ9UWJH5GOBSV1L2G1KX03XAHM4CQH2DCRSHIRW1VTWV0427F19XMLZ7ICSSQT1JTZ8Q3WATRUN9ROV1DJ2KEUC9J8KNVBSMHTF6YDY2I1G1JRV2NYNABGAHET1KK1JTNLOZ2Y85QVLQRNB6XDFRN7DADWHWROOOV0BKH3E24DCRT7ZDUGCRWARRZZ1WFRNRTJFZGI73FRQP8WQDMLJB7YXR0MGX10PUZG1MF52IPOWA3733NYCXY7HIOUVZQUB4CRZDFJ17V49PA0I51D6I6X6LY5BC1ZTPKZJ6WO0 = 36#6DCNTJSCD9Z186YURIYCWCX5HZ3G5K5RC8R9Q86TNCXD8DMRZXUG71XT4EELB1HA37DSLIA4DDOOSD3G5Y4PVZAY4U1M9IH12HWA2INURTXZOOYB0APRB4TUQWXJP04X56YH15VBBWJ5YZLLVVLGJ2U0GA1NB0KSG1Y6XPOMI9IWSBFCIK5ILW97FUJBXNK8X6GLUIMQH3PSCTIHMNFMSEZ9FHO0Q9YBRN1MR58LAZAOCN6JY9W2TT0JGTGX7BJUAXFK5W12RQPLX9YLSLAK2PQDMNXQVDHYUIH0EOI1CBIM32XMFQ22QSQQOSQNQ5IQO8EAMAWJPI0IQ6JEPF8DIUL6OQ5QQWMBJ3GJEIIVDHWP8PWPQAX5DHLX2TCMBPMUGTN92K76QM7TZSWJ0XC8JY9EE6H8D21ROIVG9FKJ63E9WDX6R229UZ77BT0OASEN6PWUXO0PVC * (-36#6P0OKHP9HMJ5RBX1KYWDBKQZHG6GYMYG0CIS72WB5X15WP5S1XT73F36KQOIB51J357N5KNSR0Z420I3PDY6P9FNMFROS362LOK6R3HVS6Y51FSPQ61MYNR8UE4ADYDKV2IGN3PFX06906UTBWPOZ47234590GHZXZ06VD7ABAA6712CVR65N8ZNS9824YZQ2WJ0F8X4LMNO76PTJLDQG2UZS990O5826S4WPBCEZSPK0N04ZB871MEMPKEM277SAHBYHDBW4MVZH29MN4IGN0E4MVY52MU39OR53FBJWREURXWMCNZL9443TCVP7K267CF87XUK11L5IXHPP8J6Y02GTREKFBPE8YLQR29DVITRWGLEALIW2GM6QS1CWJ6NMM2BT5CJ1GSPYIPH95O6FJ0TW52WHPO559IJXEV3HS8YHNY9AC66KQQFSQ78WPZ5EE2JD91YUW6AMJJIQR0BQKOZTONFBSZOM1W7I1H348EZL2UESJCBLJTI5CLA83E5QF9SHWS4AJY244GNRVYJ9KMLBHQ45A13FEIYLMWVI5ATI1DIUBNEFTRHNOWXQVGRSBHAN0URORQ724MOESH851DA29J3PWXODY4QG5KBJTWVLMKX2HVKM3VA673K3UNEWO5U2JWAJGRFXD92NZC43C1COZ04YR7VI8W8VD9EE3I6638HJJIER0KMBO8JUT8IX2NM9GR9HGANRNS7UJXJXZDJFEFP681E8CUJ93C4EK7J3A88E4E1PSYYXY5IZ0MD8ZB3HCRXY528LGTMRTQCXJSV678AQZ6WKU30RB898KV8MWI3ZCXDFG52CU3ZLTJ5BANH0A96K3ZRH8EZUNY8UL1ARJPBN4ZQBWRF8PPQ4FD0Y68GK92I86C3NORM9LUQJ0XZ7VS4D6ISC8LAPG84K07B4ABWIJA0J10V3V1J5DEX9Q0YA45ZVG4P22NMINZDUJ98XTTGYBHAFELONDPAQYKX7G8LT6XZDLWRZ338EI2FLF1IZIFN563JGF9C0WLH3447GN3MKGKP8EZ17M3DI6FHDLUBT9BPBWH7Q5GJTSRSYSERY0UZE0MAP5M8CVCTLIG0BWXH6YMLEDWUZYJSRQUQ68IEMPTSY9U7XZCUBKKSS00A9M7NT0). +-36#55S1YGMS84PZCNW57H7XQ2OFA7UA85GG0ECUO98TNLTOC7RPUJGEHGUYTDNK3Y8PB47BX4PBBW6KBQOB8N4AR4ZNLMDI7Y8C3CMH55EV53YP2PCW7VNJ7OYSJ7Z4W2O3B2I88TL5CCAXG5CVYZBTXHOU1LQN5R4DSA7ONAX8CL0YNGW9G9WRFAWEBCCE3KD6LG2CT1ID221KFMJF7ZBACT6LJ98CWBPCGPMDNRQQ95FOLTAIV0OFIBBQBR85O4PA9XCD9C8OCODY4VVG471SLLIYU69FJ5LB1G8IU1H49AK4O2ECQL3C8A9Y19A1ND85N2JJBLAXACNFX0ZAEW9HYOQNWDYFZPWF95JGYSCDQZ8CY76KM01T2PBZA2PSRDWHQKPRLDTVBAE32FZIOUAAJF52ASTBRAZ892H4C7MX8BQOE0B9S3ZSOF62VHSAZ82O1W3L22N6HTF9I8ZZBP9YWSJGKO9Q0Y7UGMO6L1YWFDGSXLPKNEL0D6YUZBF8HPLHB93NDLWOX73NK1GKO3EWCXA8A4XD4251YX4B9C2CO1ZH4ZWJ9LT7J2RNHKXXYKFKSCS2SL1DEIM4YZM3J7S19TCPVJ2WILW0RMEGWDV12CJ5XPGNIR5NY99BSMUBF2RGC9Q91N3DJFIV40TRC1FY4VAWKA4OW0H7X1D7G8DVXS5I5Y0YJWA3DF7O0DNWTUBIOGGG5UBLDHSXP8SA1L2VAZASQSWXL6EZVFZFH6FZCZ9GLR2F2BJ4C3ES1D1PL754KWTMYAF6BPSN74N28SU7YG3KKATX13YBOG3FBEMZZB1HRLZMRJ420WM2SM6D9HG1QIXMI89PJCXYM1B88AQ11PV1140CPDLUUF5W9JHG26JD7UE2PIGNJO5VIJ217I1BZ3E71EW6R4YAU37YZH0T8IZ29AHOK = -36#3DWRL68E7VR39Z3JV6ZJ3H2CDM09LLWJDXMVT2LG62VTYIAPZO5ZSO0B9061JDWFXMKGXVOT4TASSAL3AMW831JBDY309II0O3NPSO474FMI7DF5NUZ8DS9IDWEZYGAV0W4DY9JIU564SE8DCS1GLPNDYSIVI1G4DUNAC5QCLUIF6CZJ0UVZVVJ7R92QDS1P7KYUD7BNNCBGKR12L5JHEI44HRFTTB0D5M2LB20DGY1X5QWEGR96L41K01LFPQFO62S0GBZ30JT5PN78XN172L6056IYFIPBQ6Q8RQJWHK73AZNKIC074OFMDFKNOOWCAZBYDA5VKWWXYWF2Q86Y72PW3RT2YI3HNV74RV6LKTCMTZ5OO7HDIU0JUCJH6OHVNGAPVATNTUACQ4KLB6ED5EXEFETODSBE47GSDLMUDFZ8PDFLM4TVTK170GY7QRKHWO71AFG3JIBZZR5HHJ6XY4WONOPINVN874DOK62ZVWJ1C8KBT7VT3I9GQMYUBVXRQRB1C6LWJ20ADAODL0H5O23HDUH5XFAJO1CLBE1RK50ERHIISS65KH10OPWDR4HWUFQPTOESBQ5W60M5DCU2SZ6UU62ALM4KUG4P1B429HJ89N61629NH6OOC7YUMZ8RJYYWFNS88ONE1PSVWTDHJR34NGSCFGKAVHQLEJ9XM763AYXDZV07SF8S60A3XKFTWMW39FPM3RA73I2WNQ8B6IHMECBKUFRVKBEMWXNY5FBSILLCCYS9RERA9TA9U62252EM20ITNKAPQI5EYD37KB9PYI9Z7DQMD5BAUF8RCU0MNDH0PLDZ3TYSC4GJ245K2AFN6B0L1HT223C7FTGJ4F2XSGHX05KLZJ81WZLSWWVY * 36#1IUZ7XI0LTFEGW0D9MFHIQZKK2JAU9P0JTUURIM48XEYIQ7QPQ. +-36#ISKSWKCTU10067KXZ0OFO9E0Y830F4VPNKS9VPOK0S0Y5PJM4 = 36#82Q604GQ0C9H56F4APK77H5L84UDRD8UNXJZXG7W1ULPLC9NYETQIZVIB2SOS93YN4RX8U2WVMW4181NU0KIE808S0QKBN7TY69H7DTO5YRA7L7955PKBT40WDG29A34QCTFLWYNLUQYA63JS9JUOH1GI9GMMBN1CSBFTHZNWGOLMMYS6PCW5GZQSDR9HHC6IKO1ICPNH3U9U48JG6DDXG6WXO684ELSH5IG6FJZKOH30PX8RKBMACSBWD9LDRC7PBTBAYC1ZUT67XPDWUWU2GYIWWIF0RSRP27DCIXIVVC72PHLONDASU0JFD74K0AQX9FVLK div -36#FGW6CD2IFE55WKE3FWV27Z5HXHJ4VJ0G1M7VZGTJX2KEYV1O0SM6TS55RT24ULD2F9ZBFOZF8HOMU1546ILD5NOGYUNE411N12B8RF0ZV571LF5D797FMYF19YPONGOY7KL3VZ5NFDMNM72ZYKOHVQR4EK8IQVOC1BR4Z8ZXKHNYTRJ3Y6QP769TUY1KSMOVWMDY5Z6LV5L6UEWT7V3ZXKCIS04OBM26NXQNY0K6KK49X9FFEE60RL0IT689OSXW7KEHK0PAXPRWDHMW016RE. +-36#2VGM3GBGPVIZWSKXVNNS1CC170NMLGE8SUGW0OUC5IP8E5RUM4 = 36#VQEWVSGG1TPP2URCXQ60ATU569T0EIIRS06H0YBD9WH1AC5VM0MRUGPCVX8ZCEGB9C95WRKI68UHUUWOHB41IGD4SLNQAZIWUE49O7NU82MSAUUAP2A9RHB4USCA8PIL4K3U22VORELK8PGWVDGKZNI0CMEDI05QAPQX3GAFGQBPCWACFBU7MHIAR8YXSNGGASKWX087MLMQPLGMEOMCHBZCB7CC034V2L8LYKO4K2FWFSX3L8XG9VC6DMO9TXDLSSGKVJCYFGH45WF5I2YQNZSBOKSHARTR3007Y4YM9Z45XREIXDLW5GOZX1UIGGX6YAQ0IPA4OJFR2VXTAC4KBXQ59T544EOCPBZTM13GM6KO8TRZR0SSF3HU3LDELEIIJ7LTFSK12J3JWHKSHZ0YOT3YUIAC6N0OM5OTCNYG0U38SF5B309AZX0Z5SUZMIWJOI1K6ETM217T3WXR2W7KY4O2SVK6451VMAYVT5NS9HJ1BC0UV2NQ2WNCG89NF2SQ0AT8A2SJTPQ9IG26RDNN4VJVLI4UVRIX9Q0XJSZB8K4CMMD1X678VDJ26OY2G8TNEQ2KB14DINT2P8AWY1YDERUM3XUKVLTT1383LDH2YC2V8AUM704J99EOE5UCL1LYOGZGHTFZNV78RUGG3G3QY6BE0JNX5CQMLWKXQXJIJEOTYCAWHB00VBLDGY5NSCTRC7C71IRYORSBTMB1X511NEETTYM59C2NSD7XO9HU2UL9OKMOPFGX17JU29UUJCIBA715S8PXEMEZS7YLL7T9GU01T8AS37BXR2FNYCILMWT7OOTQQZ7SH4E3K9E7YE5I5GF01ZCANUE47OZPA660905X92BZWMCLM5S8S7CIDJEFLEOS3Y959SRS4U3I1SNUCOGSHUFIAH5EB8HCWAEY8K07B7227D644JPQ8OO56X2EBWWZDUFHFI2UEW0IPT4C8PPE1LAJRBRTDDBKZJOCT3I6UKOU0SRWNEX20K7T0ESFFXFWZ35OUVY5TPMYB6MMAG33K5YOB8WNJAR2YYASKTO3G6IYJM1KNHCEXCFOBALZ77TXOJ9XYVBFXB95O9JCY3UCR20ZPMLDGGM6C9CV478XDYOPSRP2JQ8 div -36#B1IC59FH932J72OD6S1WKZQG8AMPFR51XRTA707WG1N31SY4XWB7ERPCRVYNHL5UR2C9YVPUJ23KQF148DNNS39EWYDFER6S4AL8Y5UB5S6TMJG7J1F993WAF4SC2M5AMXP7J19M7G3CFWRO2MD75LQ4U0B1C7EU0PPYK6XC077LSH3OZ6ADZNHRQP8I5QFAHN790I4FV15NOTZ37PL6U3N2BCDVCO08XJHA8JJPK0MY08PS3G49ONJ7BZ50VMOPG44S4DHI9B1GAOAGB0ZP00LBQ2CXPMC6OPRKIXBDV53TN99SIZGS9OB0GC4TU7TUXNRLAC3EOX0YRY4AP10RQIS6AY5ZIS9GXVVCIM3PRY71JBBDZP3S55C5H6GMSZOQNL28HRHEYRS5547MAH4N7GX9OY83U4LG9Y1FMH6ERKMPX2U6VTR5WJBTN4DCJ9TJ1EFF3CBNTSJTZ6PNF501V6E1H59NDK20Y1V9GP43BCPMS9JK5C6BGO3950OLM90YFFR2BG6YLWWXY4K2P24QACAVDA4AMD2J9GVIK2VHPYZZZ42556TM7L02313RMZ2UFHDN36EHL7O779MVKENNC6S5F8XQST4CBZZT583E57WRHCGC8G97UCPWD4PIO410BK3KKS2K52E4QE1RZ4BDR6QHY0LHXLG1UXLE15HBV6DUZY33K5JTM4Y3IW5PX7GTQ8ZLKLH2H7UPC23FLJQH4T8LA4ERCSH5939MTXQA299YBDM3UZI7IYOLT059TFDDIJDZ2LZG5CLB1JZT19MVYJRJ4YOB56QKDUJVZFGPEGJPY86SEE44NORQ3M9CRDGP73V2VVSURAR9BKPDOXEDQT6YZ7O11FIKZ0IW05UI5Z2N1I0XP9HR8859FCLVVYCO7O76DJTD3NOPGMONK1RUWTTRQ77YTJZOM6ZKS0EOBRBPGPQ5W1FDYSJJKQQHKJ43NRGH3Z2MFPC1NJU1TBQU0UUOYXHQHZSECP8ZKYWABKAU2DBSLU9R8RVZWN3E115QKHAJ7MNJ4PKGTV3YF5NI46OPF0XEB29ZU6AFP26AZ5QGPGHWDK. +36#775350C437KPCBOT20AZESIFO5PXUP2CFBNA5EKUKY4A4TFAP7UHWURCBG3ET5F4LKHVU3B90HYRYZ2Y3JY6RW8QZ8BB75B5X7D9CV810HJH53S8JMBS4M9FU61ME97ZZQTGEDQBOKTF9T00A7KNA4SUKPTOE9NCNJM5DVYNI7MRI44OCY18KOHWFWVJ6WQ4L8RTD824CF2L5FXYCCQLLWEDOIWTISYGVM777YJUYRWWGIN71EFDEK8L5LHA9UCZF5QQUVPKRRBXJX7MH4LNH3QYLTC5D9YO6SNW3DROYEBRRTGNIKAGQOWUWT8J1URWW75PS7XIRIEY2U7HPTU8XDE7KTROAN4XQ0WN5U3K4MUYEVQ9ERZ3LGBBPMEQ5QW5APP8EBLFMNP22VI0QHTZWYJ9BJ5M0G8FZHR325I22O7ZW5Z6W19VMCJZ0B91WU8GQD6AHIZ07WYR4GJKUSFWEXHW3GY6YEBJ45U9E3VLKT0C3CNGB58F5PBDK5L8X5GRQ0MOOC3GPRSL90S8SC8RXTARUKW7IY55SVGL = -36#DBL0IBRGPXC6AKBINSP19HQ7HWILGAKFH4ZALZR9N760ECP56AEL2M47ZAPW72JTBPUJ3DQ3I12QZ0DH8IMUD1CPT1FSWBBOTZ274IXVDOGPNP70VUXM7T60PJJ5FS03I6XC0J1ZWCTXYVCQZ145X2LL8BQE0QG64HRWQ4XDDC5SCYRLNVLGKM6M1O6RW9TV8AEC47CONT8JI8R0NPYVXSLGSJ8JGPDOEFZLREUKXK760IQYY8CL0UBDKRK3DHMTJYQ20UF5UDA2UR1BGB25IAWLEEJ6IUL2UMWX470TUB13M1L17LR5VJPHY2QPWN5JJTMDVQXH7L6Y9IEM9IO53XTM4R7VR4JW428MDD2Y6L0NRW8CUGPVZLE47GJL6WMFWX1XWV5QHLFCTF0H1B16UN7H1T88NCXTCZGSWOJTS60KNEKPC87K3WPTPYXUWGFJ9Z4U1F841QO3JLLRVMG0X1U4A47NI5RE6TLGJ8G5I0OAU5WRWKMQIHQVUKN0FL778GQHSYZ88H3RCRA2D9331EUKUH3MESIEW7ZK9UV1U1TTKM4DMFJ1RMNBWFL9ZMIAU5RHC60ZYMHWYZK55VUIKXTEB7CCFZXBMOOKVRFJ297P7R2M2Y2CBUMQNKCI26BAQHE8TABEW2LFP97Y8LSETX5TR6XUK1WMTLDMKR2IG2XHKTIF7OOU7WLXSDNBLJFJLBQ39SAO4QLD4TYIV1G0JZ7CUG2APJZG0M4SMM3VCKG9PX2ON8MFFJPJAXUVD5LK3RG9OFVPV4HTZD6JN94D3ASIZVHGC3X4L2JS6Y4U97MQQQIRR95J3T4V6OIMFFKPLRITTO8UAZSDQL6AGTT9V40R96I77ORBIHE8YY56DNIFV25ZN03I9GPL div -36#1UMGMD00CDTD9H3OA1I14KP7HLGPS074KRHKR4FNK3LZ7GM13MCXA2VBT8HUWHX9KOX2PLCS0VJVMJSIN6MQ3JZCMB8UKB0C5ZGODHOERKDN14B36EH21PUQQ6FNOQL51LWVKN3P7ZYAFYWSZC0XTA2ZVQX1GXOJXENBRUTND8SVTO0U1EPEBJNS1JXT9DMG9OD4JGT403A5J2KF8V48IJVCNC7RZ2VAZNB0944KN609YTPV76BWHN6BLE1LWE8MVTZBSTSNDM9S0S7LNJQ6BWMGOAQN67VU6YUB09N9PMLKPMWZP8KK23CU7EDPQDAOOCF88UFDHRVEEGU0XFTL1. +-36#15DNC4850WQEYOCJL2VUU62ZOVMKHF56C89OD8FJ41TRF1EN6E = 36#7692UPXKYD3RYW8A02MXPY10SP70TSEU7RAAE2MG4BUX8ZCVUY4LWDOF5UUJFDP9ZNSMP3QFVW6U6PYBFYBL08BRHLTQ9AB2UQUQXTT4XW5JZC3IU3NUNJV9A8VTBU6RCSQ1PZX6GD48W292GJVVFOXB50J2VJRE30Q5RSD2SSYT9VSV24X3IVPQXW260HN9KXB20UZ734LL1VXTNUXL7NETRQ7RV1MDLPXKPVJW9YBYPIBYBHJ5Q7TY3BNNMUOC02N2L5TT79G3FF93C5G53BQYWJI27V3U25LTLLZU1GL7DSC1CONC02FC1IAW7EU6EAW48GJ5VSEW94A10ZZYDQFG8QJQ57QLC1KSGGQX9NOA1CKGO7C0KSM5BPFX9IHL5TUJ64Z3PREHYEIBV0IOWMJTSK1HPR0SUTX0PJ066UDAZJUYZRPHBVKNEEXW7J8AOC2MLB4YEKYBZ8H82KCG59OJ0SKEO0VCFB184OVQUGA31AIUO8 div -36#68OHVLKAZPNO2XU8RZGUD8F686P40F72TYDBJ1AAE4UYF5NHEIX44EGXINHRF28BDFN5D8ZWKIR7CS3SQXAAIAKCR7AWF3LZ4N11E4FYO9XPCDL31G1OGS15VJECNBEDTXWOULAJWVWN768R4CQ0VQAYQHJRUUPVFMM0YSQ83RVBFIPPRDSJ8MEJIPQ0OLXXIO9DMQG826J4QWHPXWQGGY31YE4CPTRDMT6NMWSBDJX5GS7B4B9P6MM8QPALYM0R85YU9IE3W7O5NBYVW90FI9HA846IQU6FPW6DBK2CZ5M2UQBP2ARFW4V74V205BR3WG4LU2UMHI3B4A3SVGJ0AA3VYV81791HHSGN8J2LB29K678CR7UEP5ME43VTC69HQTVRZKXWMU6Y9NH5H5I8Y51J65VVTY688HBCGBM1EE626AK1HAQ9TLX7S8UZ3JSFG. +36#GXWSXMPV9IVHP0FSVZBHVD0FYDS68NUVTRYHPAF9S3Z9UC6P0TO6FG6D3EODU7TUK5R3GQYJRH0B87JEH2CSU4CLIIP8QFHIRMBF7IDJIHRE6BWQHAJVXIXA9KCH227BH1ZA85YGGDXSL4JGLRZIKB9O6MHTBIGS00OQ4YFI0IUSIRO1EWJ6B3O4LTS7ZQ39HPB2D12TCSMYMECRGAGUQ4WS33JNSSWSZ814AL5FY291G7NQUB97F9FVJ9UBRAIA4KS6MR1V3O51550EVRSUWSJNI5V0K1D0IUAIB39P3MGPA1NHJCSJJGDAB10RQJN7DFMVP9NL6JKJLPYR3BVMP87LK9E1Z8T1ZREIA7VHWV6HEG52IXRU3Q8JIERKR27R14ZQC9JS1NQ1SVY339PJJEUU6XN5FAHFB3YL87QR9ASA20R0ZXLA88CFUS08B5UALNVY5R2EAVVMCW9ODFMWLXDD5TX5HND3GNEN2IBE9Y7C18IMHVP4INWWX48CY9E6275NFASVUDLMS4SU43AW7DVD6QHH0PPVW6J9C0672LGRISED70J560I1MIUXZMYX59PKIDGQE38ODXCY96TXJHHYXU08KNXY8O6I0F = 36#6B8OUECLB82W7VHRETP9WJR8AVI7IJIKJ1QC654U0CRIRO58VAGNNML94YGK50Y98YHLFIMV0ZR7AFHH7Z8CRLGVVVNK9TVLRLW4HLNGRJMCFMXJGT5L5S5XOYW70E4YTZR5NV54WKY4E2ZUGTHEDGUNWS2M32JZYZ976URYABPQGIZEIYDAUQE3CB8N3R8EOWE603M6E41Y573B5332NAYZ0G91Y6CLWS4KB3IEJ8LIIKOSHLBUP73BC1D7888THVWDTN5P6WQ6SLLHYFTQQVZUX5KGGDHJOHLGGCKW4V6WFFFRI76N9XH34OM7R2T8GZVIDPU20DFNFHWNRUJBKU0J69GVD1BW8TRRCOFKQLXRC71Q8XBPEJ90LA7EPRAMI7665Z4UCV0TXH78PMY0O6H8G0RXKZ90UM0208P72S4EYU18XSW3475NPGY5D1CQCNBH75CR3XN8SBABS2GHUXHJG8G5Y60NP24YJQ7SFYUWUP1AEUUQPZIB2CI2U5EDUA8JQI7V5M6SGLATT6GRGH1GVROD05YH6FXLGR6F5XQGTXNFXH4GA1IHZ78Y1GSU4JWGNOBLCXUY5GGIULBUO1EOX1LCUCXFK4PID5B2NW27KP5192JEOQ95IWM48HLH3BZIMK9ATAVLRI2E6PETTD7ZEX1JBQZR5VCPA3U204LR9IJZ31DO4OB64XW7B5Q5T79Q3XO7CEXW9ZTIX7Q1LXIU56T55ELHF0S2P8NWJQETFBEBIZGTBSOIZ0EN4HGJJ0UZ9XJO3Q8P3Z4ZEW5JRVKF1PSZEKLRY7JHYX14LHCY11TZ3ZWT1SHDSXCZY4H1UW7U7ULHJZQ3CQYYD68ALUHBV791117IZG5II7VPJOMPQDW1D2TK7GQHNOYA4H65QWGXMSX71ZAZHHG1OG0VAXU76ZA7U9DMKKE4GIFKBTZP3ILRKEGD69LR3D80MNBSXDZDY0X2ZGE6P2VY01Q5U3E2Q24WM9GB60K615ND4V0NTYB9WKYF86UE2FSDKIUZVUQXAHD4XW1CXFFZHLW7C0UYXH1S91BVM68QJHK80X6QXPX1VRH6PCUUQQ94J2KX7PM0VDYD3LBI47G8QWM33TFL66LSD0APFKKFATWUWZ6I7KJSGQWR64V2IKFCUQ06MQF0KSXV6AQPXN7BZ79B793EU7WRLCGB3Z6QOTOOF0R1CV6EPVK1C25H3X2INGXBYYJQPDMH78EW00ADWZS4PADZPP968JP02MGMNMA08Y1BEG0WNA0O1JONPFY9FSJ3Y4SL1Q2AMX5IE0ZXQPT0W9SQ6GR97G6P2TF55QB5OMNF div 36#DEV56GVNMZIMRX8HH62JEQUFD3H9N8GXR1X9Q6P970ZKX85CWXXLPE4TVQO9MNK0VAYNCUMZVH3OGJZDM1MS3QM5PMI7SUZGQT2JXPWBZULXKPC7Y1APR0421VF01RPJMTFMI4Q2M77MWR92494UQE23RYSJ6VROJ8M1UPDB4RNMT6D7ALOH2T68YECOI4YZYY14H4VXHBEQ78FUCGCV8WBK5I5Z12JQX73IMLFSZSM1YSRGTL86OH10BRDT93TFNJXZSY8B1ES5JAGIZGNGO1AZW08RC2SGYXP5BPA4MSRCEDTN8LH01YWLY0TUSEY1TWG7O2U91OW0LC9P9V7I57EIWS968AECGSDYPQQP2WOXSBH89QYIS6GJMD7PMSZZVLZ6JMXU8Q37A2YRRAEQHJK093GRWVT1NW41M6JE72UG23WV3EAAN4A1VG78FJ6AXVJENCVOBE3LWFGUOR7M4Y93A73ADVWIR1BZGX8SZ8ZYKP975TXRTHEVZRPOIP6Z57LYOX8RCC24I6MIFPECJRT52OONFW24WM70GOWLXIJPLVNBI5J3OAGSDS00ZNMHPGJKI00MSELKZ8WUQLJYQSWLQDOLZYQARBBHXL8LPMQWI3NL2PBCS8ZVS0EWFG6PV3A2OBMK3CZVV26KSSOOX7W7KH5PK254K3O3HTOUAGL9Z0056PR1BROACQ7HD7MN36F7ID. +-36#I6NCJX5LY990KMOYCZG7Z0KPCZD4EE1S2GGRXD2VWEDCGKDAQ3QC9WM3VX2E2UGVVJ04BMAWALU82C3EVMSKHG32EOL0FDUVG2PY13CT4LU0NT6GZXKRERB = 36#XGS110H1F0QBV5IWEJ19JEF9BYXMFTQTCHUS9AA484XW53VR0BIAJQIARK7TKF2AY50IWJ6F1LWO4FUTT7IUSL9BVLRWJT9BRCKQZ4RNYC0OG02W1OFMN2YF3Q8VNPMCV2PSYVEX2V6O4DMLWI1754LDL2GIN2I3735LESYD div -36#1U9337MM347SE9W8LROJDWQ3CTGXWKOK2BY38DY7X9RAFGQW2B. +-36#12S8V18OR3EADYJZALNX0ONHN67EURUCZQLIBWN3L9D4V6XFDQ1K1ZBHME6A7IK4NYDCY36NMHGQ1ZZBIPJDOAM1NM9FYQ251FXH89TUI1BIMUFYC8UI45EFL68X893TIIP6OMWQVNBTYHGFX8QFQQTBSK7ZVBC1CPZOGY6JOAZGYMZXY96DEJ233VG9J4GZAQZRI5Z06C2V90EUPNGEXT2ZBD7ZIH66J5PJM7U2GMSTB926C0XEMOYTA4PCRB49J5NK15CC9W8BPCGKB5ZI7AK9IW87UG8NHQOYBNRGA5FWB8TEYDP46IL5O6Q0BVEPA464KDNQCUQR3GAQ7VIHL9HXQ8LR0OU8Q5CSY1OCD1HH05FQCL9YC1Q935HBKUY7K2HEETOGY5WE3AB0KSRB2T8SVKA8D1G14 = 36#1QMAX1VP99JB8QI9FZNZA92SYVVMFC18I8MX5SZJNFBFF3C5X5GGAKCDKDBY11M5GSXI734OALCLURZ4BYCIOAOUIUWI2DWY6A9K8E0RVGOIW1N7GWMAIPKZ8UNKWHCUSX41YADWHXGMPY3VOXYQBXPV516VWPIWXYE7JVDZBM8QIHIZ0LTV9FAXQ6CMQL5LLNV93X6SSVNJ0PIRADLEYSUT35DBKKBWOJVVQK2KZZ80M6X5Y5PMPP2YQV7W2XB3MBKQRKAVEBH804D7JAZR2MYSZS15NR4PMJVUWQ2VBM8J7V6VDVX5LXZE1Q0U2EK93DW1OEPE8C1EGVJ0U56TAVWIA8OW2WTEGMQEBQZRHTC4XEJKFZQ6JCYICWZCNGT3W6KG9ASQTZ22VEQ0BT22I9FFZBCNRNMNOEOZRYHV79I26LYUV5OWR4RS1A9CYUKPNXND1LGUXPBTVL4PTS7N4HTLEJB1H0G278JJ49OIXHP5FYUO2DZK div -36#1M4G8TWJ8AQZK8X55Q8SIU8XEVHW4I3EVJQFJSA0XKV26FTPTDTPLC55SOY1GLXXXG10UN6NG1MYAQSA995E. +36#2CRXZJCQXHG3VRFK0L5Y3A6ZP2QDK9T270RJC3HPM8MI5QJ94BKDRPKNOTBFNWGJFSJT3B5QITDFL14N5FVVJ3AO1MQOR5AQULHQHH0Q0LWOO2HU0WSGS7RKV = 36#1LR4AHBLVLJPV6K9TNG03F55HO94879U0EVZEKOF9CTWVI8PHYDPHET4VG2D0DKJLURBG1HFO0HNNID4L4S4JDWVI3BZ57CF258ZCAK1WNPXQVUEP7QRW33Q9I34YA47RD1X2OV9334QFEIZFEKSXCLQE95GBDTEGO86X444NXGH0F3Z7SVK5U76GNLUWD55I3LQ45MU7CDPX6S4VNT6D4CXG88S3H95TBPS1D2EW2EQ6NEQHMJ3779AYGO7DVTZR240OH24C4SJNKJM79KEQGB29FQJBOYM17GHO37NB6MLDBXHODQMVLEP24QLJZUJR1ID4FDWB8M4MWW1CAS08BPUMSJMJXY74KG6X403ODBPJL4HOA2EQBLJ15LSQQOXFPCJPR44E17PULJFPSK79PF0XT5KK58A4LZLGQ9YD3SVHO8KY880RUSUC28UKJKXWZKW6S2XXV9V66VL96268LE1Q3VFSDLWJL52ID7UQ08SP3OOB1Y6C4I2WOC92W6CO3UHD9OYX83INA68CBYVH4NI6HESR1E435V1JQ0MY5N0J8O9O3WUI81GOBTKNE72KBC2Y6F4ZHIQ89XW3MRNGO7B8GK2JJFM0T6OOVK18A46RRB7GV0PFTCVHY0P4R657OCRUX9UB6JXLQGJXACOG9L7DX4QQXJHXJ6J div 36#OIW4NHXBVEXZJ0XL7Y5DZQUV9MISS06U96TEBZPZA6PATW0F1FFFTQCSDW4927K4JENK8U0BLYRXZJWFO7YNXYJEX1J9ZI18R7FCQW1URFV3JTYE6HS78AQYN03N2QUFPEZ5ZPEPYRJITRYA1Y7VHGZ4VBB0A3Y58YK23LIK0BU0Y0XBCXGC9E0PHP1VGPWDT5X63UMN8VADSZ5XUFP25MSYX2F4UYIWTVW5IW5D69LN8Z9LHDGWPZDIVKU2VNM75COB5YLNU6TMGHRQXPD8Q5W9PMSF250YP0G4GPXT43NEXDV4OIMHSPGCGK0G6HB2E2MQYP79802YKH3E319MXQDDEQ9T46QH7RI0SHBLG6EQFKTCIKQX9QGMOJQB36JR9OL7R34VG6KL0EGRCN4I9XTKC6J91RT50IOIBV5FDDXN1QNLW96LNRNSZ84BSB48K8U3L6SZUXYBC7K6IET8TI8Z2B27KYSXXYX5VBDYX55Q1YH5M0CGWD5M08DB4SL6VAEX895BBKBLK6CEPLBW9PA9M3WLCB41Y7V9R77OXVP. +36#12BGDK6U1M7USDJS0GMMJC8X6Y0D2SX408URS982UP9FKGSHYYSCS7QMNT01DNNX3EXUX98ZDCOYWXXN8ZPN31XPMPLJAL34OGFVASXDCAHG2G01KJZ4WMC6Q3PGBQEVRPORX19OXV8N0T1KPGTU7ZVX499WCKGSDORP5OFDYAMQZYU4519QOY4XZ0EDN53MKX1Y04A5RQAUGU112MZIJLM9O08AEPKZKF3OAI = -36#2K7MDMEM43HIAOLR33O48JZWMMLBKCXE8XOAEFPRO0Y5LG8TIMVP7ZJB55YJBG421X6L9KM7VQ65YHUQ7ZWP5FZZE8M8MFCO2GQT1BEGEDY1QBQ9YZBH43HY4EJN0736E1TIA8GFRPGK5CN9VXJ5ZNF12H1H7UH2285Z9OTT1JVGWZN93EBZ9 * (-36#EYJPF17CIYLAN2LU9BM43PV8X00YPDJHH5Y6BPIIJ6NFX6NJM). +36#6LSS9RYBHU13J8L85XX61D2T6Q1GL9CX5UOBVP65KIDSZRL4147VNAXYMRJ93WXCA2DTZWAL6MX3MA92CISIGZWW34K5KKZ7HZ2CAFFXAYHF5CHINBAU8ODWJY6W0K8SN3J7BF64KXKOM0O3VOHSSJPVMX2GGQHXFPF6QH6696KO9HT3JZ1UA3SR8ADKFRKME9L2BXA7LCVIXMS2THQ9ERW2IURE1UFOEVEZ25I03NZ0SBWX1FS8QAQ6SW1NL = 36#7FR8GMXVG28BR5MXPJRUOQF4RKS2WG5M39VFJHNPQ8LN3VS3QF3IPVNN49580474IPHDN4Z739X62V1FQL2UJ86Q9DU6P * 36#VZ02G7AOT9L2TCUY0BBRFREVNHB2B678Q92RJZ9NELFTXM6LHX4YXZZNPJ39NRGP2MZXHL8O4DDXFA9BV1820UUOWE95J7EXLDJMNFC0S7KHNRWS15L7QIJROA78L0CIKYW5TPJDS0UBJ31M321I2G3JIQ202FRL. +-36#6FJDFH2EJWW02UJLSCYRK97YB7DJJ2OCOJYEB4PHMF5AGZ8W8PLV45TZUX7KTO6X0UHJLYUDJ2SMECG35CE2C6XIMJ6E7WPZ9IINJTUB495OSCRYEMCN6XD42EZU8DNWRTQSNAGKB7KMQNKYDYSPR4QKHIDE8ZY6A78DDFW8WC3325KYOJEZM07SU7Q9E513ET0YAAVPF0VXW3QAX7YZ3BD380BCAK4Y5O0SYK3RNCZ7L9NWSBEYH44MDVP8PJ6SV0G8TEHYPAOOR81EZI323QMXWF9POKKFP3BU4S31XPHUOTZ5EZYCX7NN1V70AEHGQ7J1PIQHR6QUY1HDY8DLKBSCA3XW8AOX5VKK5L1WQNVD1G7BHY6SG2V1FOVG72C28S6CLRP5G7IKLPBG441D = -36#9PG30IHM3VO7Y88DBTM5A9NDWPPBYO3FT5OX0ZNW25GY4KZLWTHEA5O2DMJUK10AAO01R97K8D1A0OGYJGMMMR997R2LJYVWO9WGRT3HZFJP24KVKNX2CMHMN8164ZYF174DRAY6BUN44XDPJ5YVGORUJGXEAJ6ASSRM44K0AZP1157ELEQ939CSQJTT9B65DHPGFUK5STNOTSO07AUY118DU3QQVL892PULCKDC0SMTLREPF0ZVC82B2KMSWZYA4YYTOZKX89B2KK8MTV4N1HKOUKLW6CO94XMOM62I6183ULWTTOQA8TTTGG1BPJIRLUGFWNNABYBJHKCZIZQVEEMJ5027EBG6XDIXVW2NN0MZIJ2IXT1N3D19OAGI47AYBYJMIGWKCEM6BLHB35KPZBIZ1WU797ANXPA1J8NYSCR6SJXDBOD2VAUVQWTGMLZ97IMXEGU24W1MEXBPEYL6PWHBH9M98DAWLB0QMANHT9WB1D765TEMQBLHWI0M4HSEIF680GRQU4SE546CYH2RQ7PIO0BAXKC6EHN0R4HM4OPBQ9JZ5VHAZG3ZKJIYDCFW64QVTI80VGX0BFH85D4LSPRBZOEKJXB9LLSEK8IBQN1BK8C2U9SIGWJRG0HUEGIEBH7QVXFZUKMKHQVNKPNB2GL4N9H45RY0D7KINRAOUXERW6MEB85XAOUHNEHAAXR833A9ALYQBRMXMBDSIPGM1CZCDSU78BL9QFJ5YDH1RTHYRP3U9FWS851BEST2R45EMMUJUHWCWKWK37ZVB7NXP737RMCY0FL2NWULEASXEC7IQ404YMD5V8PWGRU2NY7OHX2CH8ICMHQ div 36#1IBZ4PYHIB3C4G6G40MVLBCADRWC68NEMS2D6FM733VPCXH50IJH8LGVD7K33NWRIH17B5EB7EOR5YMJNTBD3PKVWM98930UEC8VZ3D07U46JII0WPZJA7EOLW70H1SIHD9B036U8XBRCBS0HZ1GJCAB28O15ZIVZR1AOZG4OTP23JVWD560RJ9BW03IAGD3W2747MKLC4WGYQY8HTSJ84XX49KWV8DVSFFUESHF1MMRIJJVY40JI0GKH0MWEXQ5VJG7GYLMAW6BTUQYK737P7MRUUM75M7Z1E58MCKI2615TWG007AAARNZ10J8SVQUGKFB4FK1QMC4Y3WE6OI9S9Z5IDRY9FZWZER95GJTTGZG35VVMBGTYYSLTV4O5LMQPVA3ZLW2SDVZUPJAOFUF3Q7M4RNXDW3840FK87K95HY2ADQXHHBONUF2. +-36#1QWLMOQAMMBFQZDSJXFODX7ZZ6AQK898M3K2ZEF1FEHJC9GAGISO702K2LBR3EQBNER0EQ7TS1IF9ZVPCD14A7B5DR36FAP9A92Q9DNLXACOARQJIIYCKCDO14TSKFLYIWZCYYON77J54V062Y25555KB1NUSINCJITND3JAODWZNG9QBVUAQFPYBM40UGODI1XORB3F8FV0Q0UUCL63181ZS2UQ1LN23NYG9YANXKFW9OHJ7500PHV2O8NWK1HH6H9Z4GL0JI9PTDIEX9O1L7U7JPPMM = 36#F1MGL6UE9JQ2DCMTIM0MGNWZ3QJVQJOLUGDNWCS7H1MYHSL9KT3TNZB66A1BUK50MNSN2O7WRJQHFEV75RBRNU0GSX6W1IK3YC106Y4CX8GBYOCJIJY0L0I2UBOSZIBE8CUY3JBL1IME8DYEYIN3UFGGKBCIWKP9VA93DWHNTRAU4ZNTH3WLSELH5DG7CVGF7TMIP4Y2D8GSLFVU8LQ75574XFJQ8UP04GD0O50ZSIV9AQHQIHF5WQU8ME876LF0NZRJ6OZDVEUEPPP4N2LVWEC4UR1IFHPB144A0U35F4YI7P9CGUZAUIDPP421K8XJO1597LUND00HIFRYY9CYK5VONI97JU0KUMU3ENPOGASTXBSDCPE7EYWZF3E7DKXER4V7AREKDTRKTRQYK4GVU08VULGYQCVW0EZEMOZ2J5PGUBDSJ83T4740MI58OMN4IZC622FCUY6UPI07N0H0CKEPKV335BF44AI div -36#8LYP9DPZFGC58NCCEQI2CW2N83P1EPNXJ71RXUAVQYIUVGV96MWSCS0IQ4JFWPPLL8DARSFRG1CEYB3TB38CCGJO3RTKY88IADK9X89I4TP050RBJO5N01S2EHPTKOND4H9THOOU16C5GSNU8VXETPXXHJ37NCJDK53IP2Q48WLI1TJD8903NQFEGF8S6BCA83AC5UR. +36#48APKYKT76PNYQEN2D6AR83U9ERN8AROTJ7IYU2FKPHDETN2ZKV2W38NTA95HK5ABDISIZTFHPWAC6A1NHTAGRJ7FG5EZULP09QNZKK1VIXOCQPJ7LV7T8PPS0PCFVXYC3QS46LM = 36#Z7BTYV97MT59ITXQQM79GN5HU82RGEQ800GUMRT3DWINLP6WE * 36#4BQQXU7MISJEZO1Q5H431R71VQB322AKIAYVAZ6LF7QRK1Z48JQ2FBLYG3VM40JQJ5Q9OZSO64ZNF1GEIF6IT8Z. +-36#1GX4IDOM4IV7GFXTEN6T6GIP6K3YVKC5TD5NCOAO56US3TIGYX = 36#45CIEY671O0KSGN4UF2EV2XMFVQLS71FOJRCZB19SLLJDMKSAS5XH663BI0RFZZ3ET49A4Z0FJUW7FVP44NO7UAYLV8FVX2KUZY7UYPJEYU6LRFWJKAH2GIAI6R6UPD3XOFPR199FZ5276C3I8RQX2TIQWEJ5OU35266EP4F div -36#2TLHAYIBPSCC3Y4QVVPBIUYGRN97Y4SK9TF7LM30B8WC1W5UB3ZJPKSCRRE7D6YJUFKY48GFJ09ALWK29QWGAXHAROPX6Z3TK61FZRE3B8JGU9AYYRKRCK7. +-36#5GORV08BJ4RZ4LYAWKFPAKKINZ1WLHSRHSN77DYUDBVOGS7PRBPPMCDPRJ7WRHCE0VND0ZRY2D8QICC9QS1PFYML8TSUY2KSBFVIICLQQY795C2GM6RWISSR8GYM5ZIG8GW2TS31O6FTB94FSDK5WK4MDK0KJ3VHFHMD = -36#4S54EA5S9KYUF5VLWQD3KVHTUY9V281UHKVERKBAS0S6QIHSD * 36#154SPKIJ0564UUHQJQ7HB3R28OF5J621REGJON1CSA6AHT535T0IUT36A5I2ZQP1W3ESO0HVNZEI4RQT60PWS1J4CU26D7Y8JZUH5COI276BJGH2N1U1. +-36#4WEJRIXVTPQSLF85OI4VUIDYE25Z7JZV14LPG4U3RJNSKHF7O5PYSHIRAALOI8P6W29E3S5CNJ0L2PC30874JU98MQJMYDITB0P3CTN4R71XZQCKP8O5HYWQP2AC0DB7TV3JR4WT5N5O0SCLEDP6HWT4B2FSBSBP3V7G9MV2O4ER0PIJE34VF0ANSXTDCHZXVNTY4XVE4ELHBC2D01GI73PXK147M579HISMYH7JXWM7ZZYXE8Y4V76PQ0QIGPY3093E3HPW5K3ZMXXVAL6E16LBFJMJAV2ZEHHQFXAEKN5JMIFHQD0S7AQOF154UWVFZ7NVX7N02OFKAW367W279Z7ZG07KA1FVXVI3TQ7O6ZTLWCEEK5XWZD31967R7C1Y0XGY7845D5PFCP7U3R5EGM6NJZPZMLTY13MR56GUPXDB77WGBWY78AGUJXQC12660HYKW6FYD2579U06X5WI1IZQT89MF9P71PYXTG932IE1O1RUG7WO4UKF5WYF4JKE81LPK1H1WE7SN1L1D4BJOMKIF8MW6FYXY5F40PBP8DYR3802NUPNIFEX3QL5QTBNBG7ANBQXR8UH8YM40CZ1P1LNH14V6453V05D609WK7YKXUPZCTSU8OTDVNGVVB6BH3T9E06HTM0339B8C682F7SXO95L8528585AZPS0JMET09M77HKRE70I6VL5853PD3NP3ZVE0QZRABH3EFL82WL4I4020200E1DDC1HTM4GS1NQXLEGBF3SLTGC70W0BNDBCRKCILZPIAQT6XPOC2JOX7F4JU4WIQT8JZTLUSLWCS4VF5QCCT88QRUOJAIY8NFPE4CCW87335IY1S338A4H31YBSL3OUQ0MZDPK1XXLQBD2O828O0ENCVZIT77KGK60MN2O9C8X8U7NOSGXX9NP6L2F7M7S03NIL8T9NLCH9Y2IL18C0BUA1HHU47T7PJL9I04IOPWEWE4DAID6P43VQJ1LIOWJKBOCDMR2F8X853Y78UANLDAGO6CAWKU7NUEO3HYE1TCLOEA0J1278WXM9EIO3EZQ59AH5MN42RWCLR97AI05ZDO6WSJGSWLSM61S4Z56SWQACTSAXCC04N2MD61DLLSW6HIQX3FEY736HUEAH63BL80B5WF5YMSF0JC0763GQVJY8996H0SCO65USF62DFOBD8KPRI80SS80SGPX6VNB7S6NUTR4FULZKMSQMYCH42YTMDFPQUOO5BO2YYWDJXRFB42Q55GL6390Q9P73JHYNWCY224L1PKA6NAZHBA5B4PXMR8UZI743E4I90G5MV5OFFRRFE40Y7QPY1ONH80RJ1IRONXR01S3O9ZVN6DIA1E41X851A1Q6Z6RY306ZD2UTNKSD4MUWDQNJVUFDXGR2E075S7 = 36#28B34HO2P24L1EBBLSSFCNVU9JSUKZT7MYX9O5RYXK4RAZL8OROIAXUIC6KAHQQY9XIHTXE9MBM3F629LGHOMBHIGHBTTGN27ASF64WZ5R336M27S97412K60CPZJOO3CDSXQI80C13SMEOT6GFWYEMKOFAL8F6BR0AU44PFQBSY19CAGAL6K2IZ72ZF768J7AGJU67G5MK8AAED3N9J1UWCLNEPLKEOITVXYWHG9EZ1VH0IJRTI76RYILBQ52NAQT3YL47L1DET3KK2ANTRJM7IL3HN7B854X4EWWKHY69G5L3KCW72EXDPGRYKNTVCK0TJG53J0PONQOYLFRCE230P83ZHYO6UFK2TEYF1CW2TRV1K45YUJ8WRJWT6FZNMNR47B5KMW2560ZA5ISDZDFUXCDML6428Q14RB86JKC1QPYKL1TFOE86Z * (-36#272SDE43H8J22BUGTE1UKPIDCJ1WOUD9A2TPWQGIV0D3ENO81UNKJJJU0CGYDX33K4F33Q05UII6KIKJH82KHH4E5VNYXLCG777PGF75QSQ6GD2GZ47BI1DCKZJUHVNNO96F4JPWJVIX9B4X1CD0UJUW4UGVG0B2AN0JIRCDDZHLVL06D4117JCZ40WBHBTE1N5PM98W3WT4C8QMTNTOE8Z4KRXAOFRYBHYHQO523E13O3QKCA1EZD3BR71OP28BJXIO3I1DPZAQRF6GFTPKINJQB5U3FJ25477YJMETGPBQHULWCEM3R72HS65Y9R64PI6LIP2YVLGQG2S36MZDDCF7LDYEPL3N58NOO4GTAYWTSYRRS08LUH0W9NFZSA5OKJ9AUW2RRQ64J9SU3LST4G4A5KH060WMVGR2M7YZWH9S1EB1W97AUUJU80RZ94Y2XUUO4Y5QCL9MCIMN3G8HZ8TG7E3HTJTW29YKE118X3FSSCQTRNMP0LJURUCVQTNK9VYNZ1F402UMXHJ6ZPLDYH5PF1TGFDI39MUFBV83SQ37DFMQ5CHTDA3O1136OQL5QMSAHDXIDTVR69KWSHG7ZTNQD1Y9G38BG9KO5YBZJSNFMUDHM14SX4ZDORPD91ZEAUZMZWCHEKNI3EUN9WROI2TFBJ7E3WW3EB1ETUUAXX9934U7H0Z9EQQF2E1HIL5KSCWQBBR9U56AQCCNOL1IUC3SNDWGNREDU8FR4HKTU9TMT23RM2JZBD14HFN6EM4L190TNDR6CAZP2WJB30DZORUVYIYEWRN4EI9N2DBQTPSLGKHBUWTPH0V3IM1L8FYJCNWRZOXV5WH2OFFIIVNF9RI53K8F064Y8RRL9BX51T10LOYHT0HH7VAH5RIBHA8F30VT7ZU6DOP0ZU04A8AQ7GTAOJLKS02JI4GPE5TFSG2JXZLCY3AQWTUD8COWXHDU9UT). +-36#24Y0D97IOKTU2UB1B59XAOSPZ07EV6MDIO17UCLR0VKTX70KJE = -36#42E116UOGF5MHGI8OJW2HR933J785NBD3OVYALL90YOO0ZXD71PKYF9TPSHRKBY5WP7H5H75MY2X0ZA50PZG7AI9P92STC44HRCA14AVH1Z981AAG6WMQXN26J8EU8MSZMKHDJF9AT5J3VLTF61441NCVJCMTOGWOEH0SQSWEGTCYB5C0UUQTZ54DU9U7ZI5EJ2ZP5G8GN55D7W9QSMLZLSWYIMJO2DT2C940ZAHVOD52Q4ZZXF56CJWMXMWY4K2P3RHN9Q1VFSTNSA6N14FRK9O8YSPQMY3HZNFOHVGO46JWPQQDN71C77B9WP35P70940SPFG9CWLP8O0CJHPS10ZMPINRWGY23RZOMKRBY6PPM1NMTDIKBCMTK5BBMHKYTIJ57KMFQK8L64W5MHKFFD8MS8NA71LSFXA9P057HDD559ICK34MO4ZPURK4GY0PRMEL584YRICZF63APY890I5T04E721TG9MV4NV4LJLS9FFIQNFWQH3NTIS60VJ25X9JO9HWKJ2XEYZ2YR9NXUBQQSJP5OTP112NA71RJ8M48O9F0UUME8IBKU150EEUQVYTCQG30GLMLQV7A5Q7QXKY6N9AMSQDQJGDKNS35U32IT6Q3E5IOW6F0Z0HW36PTV307W8LT209J3EKNUF0 div 36#1WHOGIMZDMYEUQZ6UT9QRV3DDK1B9HIX7SY7VR0KAH109ZJUEIX42H22PLEEB3HIL9C8DVWUDTWI9DFSBAQMHNFCQIWS3ELH9MN1DLT3WKSTXSMUNVMZPP6O1V7CIZTF9SA4KODSHMAOY17M0VOVB0YGGKLN6QWN4N542GDT7WFMLMI024WIDA4RGHZ9IZMYOAIL24VXJ0G3ZJWHS6VBHPPAUTXU981BQHD3YGDLCPQ857Z3F64865EZWON6GBWIQEUTWJ70QD8U9IA2C04OQO8W3Z37MXV06HLGMQZXVQ4QLMJ9NK6OM18V4NIWTTOFZ1JEV620HALDJSSZOMX4PRBJXW3IEZSMV96N8FZAX00VHTTATS045VNM569CUX9DC7NSDWOW4C990WVTQUJCSH19RML81Y8WD45PJ7XDM570VXYM5QLLUIVWMFN4D515MXXX9XEE1USIPNA2SIDUV3BYSYQ3UKHEL0S5MFYSC6KG9OBUC0QT74Q5TME7B6D67QD3A8B3IU7IJVU2FSPO8UU959SB29OKVWOOCR0S7YNXNKBBE7Y1EIZ0GR7FGRRIHS62HBONU0TRI8AQL5DJAVZRA6BSHFQQPI. +36#1RPKBFL1LY20ADAD5YB05PTHA718VX6FGLN9AH5J9XOF909I70Q7M09SIIWIL1EED3S4KEZ506F58P3IH42L1AZBOTG2707GXL2DO8YOVJIP0M1T9USJXMBS73FK7199YFTAPNMM2SIMLT6DO6WKKQZN93TXD8R16O2GMXJT97HBCV6IWF46UP1EXQ9LGF0VY2Q585PC6N6OTK0IVXIHEZ0I2E6KXLYZ0 = 36#9I8ZEUA9BPSBHHQJE7K485W22UQE4TUBNR9LT0579OLYNLKRY * 36#6P92BRNGCLC7JSUT6ORU70CZZS8VU91GAJO08G9AMMWB2DSPIU190K6AD0YI54RB8U4JF2A0XNWHMSO3WGJI3BNK64ZIBRB5NZCTZ9DULK1GILWFNLDOW3NO1XS0PWW9L4JO9IKLBH2Y5XTHGWWNIB5RYRWI9AOJV23YI8GWLBQCI7II. +-36#1USF1QJUV6JFG3M1F070MTELFS73BAXWIV7DS5COVL7Q1MG332 = -36#E5YHKLZOR85AR6XWV6JDK9RBB0HC2ZIMAAHZ1XRE4KFKC8I8W4ZC2R5L8NHFP3U5CGBSG432NL9J8LEAEPH1P4A20ITHEQQ9MT2ENH8RHILMNMQFQM6OQ83HFLJP5EFG7KOV4H44MBRETIBGCJPVTCTTJ5KZEH0Q9XHBV2RY0I6H7HV77RKIJ12U7XCDQXPOGFWRYO6D6V1M88JM44QG0X91LG5B4FTXE28WD0R8KP22AASLS64WACN77NH2GB1QLU5H3L9PO6CQIDPQOLXDUBU3B504CM0AIPS0GS5PPMEDOTQR3F17A5AZIREGG51GMNL1ZO1QUV5JYHD3DTP1XAKE8SVFL1OKRM3Q630C41JABODTYJQ2NTZ8XGDJNK47K287IIR7RBO1IWWQ010RD10GM8BRFAAMK8355FRLEIW1XMEIZBYIEV20QBKX1P1IV47MKAMVUQW40G4TNOOVGCCYUTSZQSD4PYVO41DTI7MFFGDVUICP6R7PI3WNRSEU9GP9K7IHD0O70NVX5L4P78USZDHS1ML0WCF8A1M3VS3EMH5Y2PDVGQHIHPLTBD6J3WAH3XZGT2IW1ORUG74YOT3HQD3PYFX0YVH413Z3ACAF9DT4FF04TDM2CZPFNXVYY1O57PCJGTWX8Q05WLIG65ELGRWWZQPUQQO7TDTGUF1GB11YW222R6SW div 36#7MVD8POS819JD7B792ORWS3NZQRW3ENKBH9R2C830ZXGEMCBLSC8DYTT2QJUBEWFJJGOKMMVUCE9QBDAQZ662AWYIFIR60J5VCZ71X706ZDGSJKTLA7O81FIAZT7Y76TQ93AWOZ3SUXRN9QXL91GBYEJXA45RN8BIH11B6ESHYUGCWBJL4G677G64OYZNWNYCS7MMBT4NXOPRB8RNKN6HT8WSCQ41GQIJNANW4T5BEJ59O5N7C8CNDAQRUL8U34IIGKAUCZ3V6LU1PPBIPDINY4A5ZF6BTF9U60AAK64T496M4XBRHAX9I5JAF1HE61CGP3FIG0XPDQ634K3HSAA2CURWEJ2ISZ4DA0NMXZF29QU0MXV7OVZMXFUSHLMBEWOM1MHF1WGUDYEMB34N42K7YSM8BRPRT25GBW3I89KGG4HNJB5NUVLBPJI0GWSY3GRP141MI6OJR3DT5XRSX7KZBAXSPNQ3J5C02FIEC5ZTDA8PGL7U1A7MFYG32USW3D5V8L5G4EQ6BS1O1O4UCIDC0H2FPQBF15XBG3WS4ANSBVGZYWRH4W8FCHQI6RIACM9RD51XUJQBGV416CDXPB2ZFXZFNYWURUS77D6YRO09IWMS2S9C4B5OI9RI4K9MX2DOHOQBQG. +-36#LYM9K1WE04UO8YD7YXX0GIVTWJ2RUXVEX9Z5RGQJCKECQ36TMSVLMFLMXDJIKXH6YD4SR3N18TJG24TFSI8KWGCVCU276HAFXIOC072MY58MYKB8NDMGEXBE2CMNA6ROZXMIIYPVYDIP2EJ8MOCPB1LCIT9EDNG246SHGJ1F24UMPVLGLQUZW44VUO8COQIFI4JSAFK0GWHROLLJS944CICI7PTRGH4VL8OOF5JCOMFQQ3BI3Q0TM9IRAITUXBPG2GA8TYGK2TG8MCAZ2J19XXVI1F9GFYQJD6V533QTGKF44DOZAK4XE1F7Q8RQFILETPEKZLOY0TU1ZEF9YPMH34FQ4AVT9XQ5BXL3E38BK7NX5CA1THQGBB5ZGKA0YO7829KHP0P27UTQGCUZBLS0BJEUHU8B51OOHJECXS6K4PAXBOHOOMFMPS9K4NRF6VO92CICSCZNHSM3ZCWV9YWKM95EMZC57B8UKWWZJ53XJVIBI7RHVJML1ZEB7GAMVMAXUTG23PCAMKNWEVDUL1QTBOJ1805H0IYGBEQ791WXBAY7GRRTA356QEVOMU3F0IUEJQGK7CA8OCESAJX1QNXNLI = -36#10XCGI2X9EXFLP995ZTU8R770FE1TE7AIEDGJ7RIVV8K6K7ZQ6 * 36#LESAVBUI0EKZCDC2LDWX7WGOP0ZROS7LII3SOEO87RUB4K3255QP2TBXXPQZ8ZJQZJH2R9UW8E4RE2IDULTKX7D97XWB3HLLXD0NUT1L1RUM2G3I11VDO91390G4BVY78IHEF4OUONFJ0ZXW57T3JQPOK8XJZ8I52IF6B6MH2X9TUZR217VHKKXWREUHLKMEJ7ZHCX7LZFG0A6CA0L1GUMD2W1WZ90TGQZFA6DV7YI2L0PJXBGC1PKMPSZP6H3VYJMP3FBP4SPVRYI6TCCD1FUSP6BTMWPUYKROMY1BL60C3NOG9YQDOMYZP619IUR5X1HMREIM4OSORFNSDQP9D4FFPX39BL73K6R35ZNMNMUNZCKE0WCIK0RTGZUNK9VY74RK1Z73RXZSACFBM8SF2OI6SHODUVP74PJ7MIROA3L0388OPFC31XYVMNJEA3K1IWCMH3TTW0X0HY09PK2JPQ36KW31UA1K5HVQC889B6UJ0EFOJO9R9YMJDB0W1UAM0ORMWAGTGW51SGS9BPSJION6DOHGCNEJGBW08L. +-36#5D3AFERCZI45VBWZG0A01POTTRELMR2AKTIRCRO4G9MD8EXID3P3PS0288MZCB3WRSZ810HIQ7DOZY6D2C0IZ4SHJDLYL1MQPUHUUSYFFRUNXWT06UVIXRNEWUR6Q = -36#1LTP5OS94ZE3Z8V4K9ETKXW6M296SF3V0CTA5MQMDGNX3X0FGZ7I7A870T71ZK6OYZGIMENFZK7RXYT3YERS3SEQRDQNLIBYSSJ68HUYC51M0KED9NNDRC6UL5B6XZKQP6WGZRY7OMB9K3LQAJBHN1P4DP54LE5762Y57ESZ0MB8SUSNJ5UMNUV4AGGRMITWR0RWQRDY7QP7N4U1JJEO16ZOKOGHXAS1YI9E5F9MHFO6LJIF5CROA0OCBA4I52LTI5XJZUXK73R1LLAJY0IWG49AH8XZZ77GVC0OS09SJJFXNLWM9IDKG0MEBPPTMJKOQN6P31PX5UFMSA53VMG175WRGL8RDJG4CXG5V0K164TWWIT8XCCAD1FJRU467OQX2V4V9EOVQIPBN5LYXAJFNMLUO2BAONOA12B5N9FQUMDO81D2CZG79WFD991G7S877U46EA6IRGBE7WRYAEB8STIW div 36#AS41NY4QKIGX7K73OXTEZJSSEWXFQP66OKRVHLGTI380CKKFAXCHY5LJT1UR8X3133TH5SVSYJ0X98G7SC9FJDBFTH975OFA6LS2SIUUK93RCR8IT3K2OM1P9N3FN7Y0L67E8YHDHFJYVCQWPNE9X5GIOQQ475POUQ796UNT4X1GXTYEQDYD508XSXUEE4NUTRCVI3UTQ52PN46AHRM72WPAP9IMBQBAEHRNPG2RXDYLLQFSBE3WD8LSPVISZUNVJZKJJA29XVHV3WJOEME2G50SE21UYX9FPRJ0F8W7A8NRVJD5G0FK71NV3HGDL3C5XO8CQNVCFL6O8MAU27PJSCIOTQ4. +36#7W51YBP407MX3H1UYXLVWB6PFOU3TUNYWXR7REHME4Q9QST4Q0P8VEFA0F6T1EF648DY124JOVTZUK8BDF8ABOLQD8HFXVE4W3B8XD9667W5GORFW8ONBYZ4RHJ1UF0886WYBRZLFXMSA9PLFA3OAYL6AK5Q1NEQ8BHJL4S7UBBXD0ME3ROAPFR0ORRCSV7NWSXTOROBXHYGZCV1WLY2SS9XZWNUB121NZKYUN35ON8V4X7M3O6D1SAPBTK7JI6H1NG855SF95SK1FPFTRZEAYW7KYMOLCPB1CDGMKPIZFWFA8E22L4M3GGGUOJRCNDQVFAWTO639RK67AC05B3NDDS22RV0W3JJU6KKSNE143ICDXUB8364FMC5H1D9FAPNVCWN2NX0H5QC5ZHOA9PTRF1501RSWSGH33FGTB0J64WTL7261ZEVNZ3A9P6G8D2DL1F1NLB6RO2BPLTYH6SKZSXPZT68NLROTVLS6M5OK6OF6UO2DZ0XVY9DVC4TTMSF9EY01J8BGX7XDS1366C7Z5JKHXBKNUC4KRUOOQDUJC8HKK5KOTWGJ606QMH45KFNPOYO8228IU0UPO3ZNU5GGJSTF26841PRPOBTS3G28LV3KOWB9NZTZCVNGZTW8M23Z0TBQRRGIHY6LVFQD2DFWUS6JOQ5BCNMJ4YG91RB7N8UXOXTE0T29JB30E718PROJCFOWUUF1P9H0HYAQZ979SZGCMY2LK8PBA90XINK6J1AXUVAV1R4HUOXGVOXNLL7QZRCQOL33ER9IPI6HXG7NVHOBIC55YQW1Y8P8EB2X622DRW95964PMA4O1HRADVT89V1EK7BIJP0BRXHJ53UK61EE8A4DIX1ZBBV8LNVB6V7F00XQ6GG1BMMDKFE1GRUHNH0P0EUIKBSODP3Z4FJJSO2D36HN4CYP8S3JIEOG49VU909DICQEIHWXE2X3ZN7WL6WV7J8CJH7M30V0OKJ0EEVU5W3HWF5WZYM117PEGJLHCBWEUOID15QPNSDXL21EZBGF9ZHR1N1LV72WK0NAQRST70M5GMDZ3X11J2AOKNC70ZXH4E48CU9ODOULUL9B0P55KUG1434 = 36#24BDVSHZ4EJBHFTP7ZWZ7SIVJFGD817YH2HQKDV2R0VDK9RZU2CRYV46EA0YQQWSPO04E5Y59SMDTH3URXXPPEVTGTWM1GX8WSICKGXZ6TMKT0OYQASI9YJYP4P27FMSL9WTT3YWXS96081GTDSKNRSNCQUGGM7ZTEX7MCCPEYLZUXIFDHDB16L8GAU9CZKBRDT2E6HZY534IIOJXQFSPDQGEGWTWWK4C71JNL9PX65DJ8DV9HY07AWTTHC59MZRXK8W0GQG207HPWZAYKIEQ7GFMN8CRG1C1G6TR9SEFSRT9JSHGQFG69ENFXH4Q6MFG9AZL8YYQRANDZ88330SY0FRAUDZXA27O6QYMEEIV3C7LUJGKF4ORW9L80JFR3MZ78PXSOTW204A3XFWEVDDTFZZL9D1VA3WPTORBL8C6LSK69N5PU5SAVC0O57UHL8AXZX4QY55PT2RZHDGZ3XVQ0J34HA61H0HRQT9TV1PRMFWASP0CRUUSMXD85TXWHA4SLEBYH836A6Z80FDY8TB83S99WVOH9R54MJIGUJAYWNH3UB3F5B86RUFW8VAH4D0Q843Z6OPMJR42ZUYSNWKODTUUNKW7RQ4QPBVKYIISON6QGQUHPRJ5G33ZVZ3XMD11U2PKM9ZG327UV204JDJ2BKB4KBW79CHY4YRYWT9WQZZE4ZLMF99779QP2OI6CQYUMF8QIE99GT3L05W4J23M3BG6EIXLVY91OWQJAUIM2XAOI3X4NC79RYPLX1NMCWMQKQMNC7CF9GEQQCRV5FQDCPEQS6HZREJMAIB2HS4W8T54P1A * 36#3Q19EZAUHGKX1VZAGIDGR11L1N3RGYD2W35H3FEV54TS07G1CXD8YFF2HSZSA59FILMWX5GW9S6WRG0PUWDFVJBYLKZ70EKX5WL84QLPMFRYFJODJAS5PFCLGRS4CZ6I9WKYCSELVHQT2NOL418D420TD45S3QM9J2MKQOTZ88H4YKFKYNDREWTZWOQBSEK0ISIGECN8V1B3PND4XKXHC9EAXZY8ICP02AH8VAYA2JHD20EI6A3HFBGKVM1S7GTTIL3JEA8UDWJ31X2BEDXY9WDBSKGP4. +-36#PU45F8CHEZVGY5AD59XZ70K8C6B7MUZRV79JEXSID59AQ5CW9GSGXGO6HE9OW38NAW48BAEKZ3PESOIWJHAFQ5RINNF22V75JRWB9EJXXF51Y3HBHQ3IESHTND1Y19BIX7RFPE321PP9SFQFN5W873K5LD5DR14S2XWDHB740APSRNT07VY5JWC4J1CDTOZ2COMYGGA9PSF4P6YMYO5HFIOLI3UG3PRE0QBWRPY3PQ0TT4BPDGZJ36Q6J8WOGIXRKL306UNOKLLKZ5929SSPQ7E96JV2OQ54PPT2Y70APNJ26YO = -36#11ZBCFSBCNG3ZZ695WOKVC6G0OFAQ096YS29EQT08FVAGXYYQ4ZNG09I0U3Q9K03B85OECEW5HTJID8V4BL04WKTV1Q0ADOYUIY6TAQ0M42LLV7Q0MYZ20W30RTAQAJW8164TSN7ZMY2VNGHM5SSN3WYOP4CPYT1QPL1VZ6XA2QQPX3YMH53JOVDGCL211BKTX9U9V88RGF4P3G8QKB5NZ08X47RYP3EB4HFO886ZURDGZJLZLZ218SOWBHNBJE31SQLWLHZE5W3RKYLGUVPT9R8VZP3KWFFPA2LVQCHEYIOR2MLL6EPEGVYM7HROQY6EPPT5A581Z39MIGSN110B9979X0LLLXHC div 36#1GX6LZLV5S2CUJBJ5NZFU0844JYXRR1UZGELQ4AQO6458ZOUS5. +36#82Q604GQ0C9H56F4APK77H5L84UDRD8UNXJZXG7W1ULPLC9NYETQIZVIB2SOS93YN4RX8U2WVMW4181NU0KIE808S0QKBN7TY69H7DTO5YRA7L7955PKBT40WDG29A34QCTFLWYNLUQYA63JS9JUOH1GI9GMMBN1CSBFTHZNWGOLMMYS6PCW5GZQSDR9HHC6IKO1ICPNH3U9U48JG6DDXG6WXO684ELSH5IG6FJZKOH30PX8RKBMACSBWD9LDRC7PBTBAYC1ZUT67XPDWUWU2GYIWWIF0RSRP27DCIXIVVC72PHLONDASU0JFD74K0AQX9FVLK = -36#ISKSWKCTU10067KXZ0OFO9E0Y830F4VPNKS9VPOK0S0Y5PJM4 * (-36#FGW6CD2IFE55WKE3FWV27Z5HXHJ4VJ0G1M7VZGTJX2KEYV1O0SM6TS55RT24ULD2F9ZBFOZF8HOMU1546ILD5NOGYUNE411N12B8RF0ZV571LF5D797FMYF19YPONGOY7KL3VZ5NFDMNM72ZYKOHVQR4EK8IQVOC1BR4Z8ZXKHNYTRJ3Y6QP769TUY1KSMOVWMDY5Z6LV5L6UEWT7V3ZXKCIS04OBM26NXQNY0K6KK49X9FFEE60RL0IT689OSXW7KEHK0PAXPRWDHMW016RE). +36#6HO27UYVGZ69IT3J491MDPLCW4KXJ8K3W5RBQ1EWN5WMG6Q8IOU9ACBNIGB3VG1FAZ0FR00FCH9OXTEHP8BQMWLO = -36#1WV8LYQOVXEWWO04XTGF1DN9MHF2JPD8YYFS9RC1SB12DEDQ6PH0QDGBMXDHV05FUVZWDL68BKYAF8CFVGKXF7OR078JMYYPP7EYDRMGPFLCPJXN71OTHMRR7GXOUMS5440UAP1MUFLM78QN6H00FX17AUNRDYN21SEOYASXGY85UE8J0CG4X8WVHAGEPE2BVZCPTI9VYXNCMEC9PKSPGHATRX85VW9IMQMMWYONED8VUQNV5WI0LCL7ZQWO3SK7SBV5FQS66AMF1ZLX0KTW9U20O8Q59SO0LRMHETY7DX8C0N1OTHRFFXALA9796ZOCZLU1ZS4TPJ5D2TSL0LN3K28CHQSS0BIHO6H17AOW4WV429F52J1V7SK0G93BM737DK09XA12868OSE8APUKXXC1MN1426IE5KY4UYXCRS04MOQLIEA88VAV3OO8UF8BAXLE9PJ189ASGSC99GX15G55ZY7Z8SVLO6KZ8ASCJSH2WG60A5L41MSTPUFE2NF1JUQM8MM1XTAD1KQ32A2QUYO3GTOQBMJZIITRRVYLOXV65OC3UKOGKHE8KMMQL18IU2738EQ28BI8C8LLEKB33KA52O0J47JJEWBXEWC3L2YGLH926EI5BFID3VZS17JD42XGH04OJ8PDH9RV1NGQLOQJFJ4MZ3P8Z9CT0PLDVV6PKY9CJ022VPBJY9CBBH6RR6Z19USJ826I286G8KO1KMP3IFFOYUPYM3RQY25XJHWPN9HRKCLA1P5X62BFQWCNSP8R4R2OXSUWKQVMBAT0 div -36#ALYNOTFNW472K2HRH1WPEPQ406TURE92EWC77TBQ0L33RAJPN1DF92OWZIT5PJL1MEPLEPJUKBB5J7U4TNDYEROCOL2FCBKSUNU29LND17M4C4K8PJMV1SM70ZXH1SWL96NMT1U52EIY57B9XNCG6SIX85H9N0F6I3MYJ357OLN2R1KBITU4BKXF2U3C0DDWCV4YGEHWIHSNLHMNREASP8XP22YMM33FDKL1GNK3JXI2NPTA582MF9REAXJDA0WT8D1OQY8ZCWIRVG980WHZMJMSFWVF3DIHCALF3AYTAXMSCDXBE0RA2TZF7CJXHNC11DMCH1XCTYV986XDWFS2T64BN2X7AWIM9J0O78URYKZSYTZCM87PLWM2KYSHHKLG072JU73Q4IV0ZCNIJ1KZ90WI4Q2QPI904YFJ8YRFMQ0Y4IDGVW7QQJ2GHP1QF1XE93NIBPCH9QWV8JIAOHPU24IBHL0CKEZ87AN7B5U0Z8ECJ528NN2C1CDSXUYFD75V4LW364B34MAJSNSBC00G9HQZSST1FTCTOC2TY0FR6F0YPCX5JDVEKCE9ZGXZCILY6RVU22NS1I7HPX0Y0KTDNSPOP5TDYOXAN62129UME1QZOJ676IJHSPTDXVC0BK4GO1F9JMBPV7C0YVYIGDG50CF3OHD26ES21LHC8ZD5XJH9O6837X9L1Q6WBR3. +-36#HGJKLL7T3LEIED55BQP0AJ55JDR5TBX046BX86617WANAJ06ROPB4W6EXL1ITBZGK9KET8FJAD7FKS42D1QK38R3678XHZLR3OMJUCGYPNBKRTHEO1R23TYDJ7GKNVILCLSG3BFHRPR1QDFR49J7XUJGV4P8D1ZG2MS6QFB = 36#109B5LF1OSUYB30VI71Q5VRFLDNZOON2FH30SFX0H3C4AQKGD283SSKUO2JCP7705Z9S1WCRV9XRLSPUE7Z9MCF3G7J9Z4GX6VCLDKJ5N24OHV6D7N43Q8MEIKMK6W6PRWS07EFIM8WUTPF99SWD2GN6RDWM94GNC55VX6SZ3F1YB9W8CMC2DUS00L8DY4WT3WQGBIPPPFTGUO3WZX75K9GL0PP9BW2AABM4TXB1QT1I2ZYKHN15BNCVAK49HPWF50D762FZAOJ34RO1DP0FHIUIO0RFZ5MZCE5L2BPSRAGSKYL2QZN1VT3C9BDPQUYVJDJVJF80W8XAUCRKM2DI8EESM1ZR84I20N7S1TZYVD0IL1TUK3INH4EUSWSG3ZID1Q70PPD85P2W3P8DOP7DWYTLIV4R0Q32I6L2ECO48UCS7IUUZ0LD3K7QAQF622Y9WBVDOZQJ3UHKT5FXVXGFS75ZWMPY1KL1TMDQJS7KQ7KCEOA5QU2XXLWOZM5ZPV4WE6HBJP div -36#22RFHW7NHC31FTJVFEQTEUUWG84XUJZ7WPONF59ZF29L91BQYZE2WYA6ON2TSGJ0NYFCV291PN2JMX54VX6WFERN4XDSAELXPW4B8TJDKAWAVDJJVF5VW8WFHL37MHWWWTB9TQ7H66XDO6VO0LAOEGCV2UPDJRO9VHCGDMDFUZWLZIVIR15WM7ZPFWMX3N21SHW9TCWVJ4SN4TZUQJWFDVESESICVBC5CGGU69FFH2547RB5AQ2VPT2LUOOJPJIF146F2NGK7CK22FBPAN2XLNQHRE36D1VLYHN0WXOVMMKO1L9QNQZM0BRYRTV9HA2Z3QFFPSSKDDOX7DTTQUVKY5HEUFT05CZ. +-36#E12PUEGNGMGO7DMOSE10QT1JFC3S223QG7KF0NLVBKU67NA7KQPT0Q94X11IBKYFEUPK51IBXQUQT8EGFE3UDNZH9ECHYMSZDY6KV60K4DAZ3IJ4DIPPCX4 = -36#VKE7MMWPHEGLHEWUBGIP5A7RJH41M1MZYFS7R0D4RWJQXQJ8SHUUPGC9LRZXNWSUDJNR7KZX2LHNDEL0V9NDE3SLF8828MD4336KMR0TTWJ1Q49X3ND6BCQD7TOUHL4FV62MG4CPUJDW5CU315KRI3UPC4MQ8T9RDH0IJ4DS div 36#28ZXOJV5LTCMFAZWPUZYT1E2THXOM93YW2HQF6K7EG2O30OI1Y. +-36#1LMWQZR6E8TXA1H12DXGNGWBVKY6S6BJ4KXWIV8508YGN0875NP54PIZTG2DY4QGEBSUB8C8T0HQF4LXAOY673MY4N14SGZ5MU416NYTOJMCSL0OGNDUOZCQNC92A7BEY62GTIV3YB5O8L5WCDDF3BQVNBPEQA6NTCZB78LV66IVA1HJA3VW8MOOIVTL8XPJFT4LQ14L9TCF4TWQ91KLVY65B9PQD0P8JERML09ZSNWHUG27JYD0SS3N6UJD29TJ6A5QT2T6VY21LH1DI76NNBZJXNRG9WWGL667WPU3AIYR6BNIIJF11ZMXNLER5SEAMIXICKOWPNI6ABFXY89ZK6BV948Z5MBW9I1XW5MDJBRNTSZ55H4T6KUFZMO3ZMQ2N9Q4ZVESRXI36XBRDMZF8MRJ9T136RTVLA8QSHPVU86EB394S4K71KQABGPO3XD3ZXKNZS3GYGQTEJJRZAYHPTPSFX8WI3BX781ONWJZYLB9PRZRG6K4UBWXCBZN9HKPER6879GF4IP54W2UAKN4L61TXQTYUYML4LFRQTK08JHS5E0W97JR590DY1T380Q93P4M08HP3L4C57228OHZ5471INYP5EXROTKGI4FZ6G4D7ZP0T88BRBZZ3OWTNMX6GD4ME6C6DHC1M2DK6MC8LG7SLTAE4Z6XON0KGIGMZUCU0S7DPL3ZUCXA8JTTUWWKB1AV1PGW76JEK87X12EE8J2Q453P0T7NGX1LUOKF74MPKHHCYHUGBWOQUKFRGTJR29LD9L3N7TKCFHL9LTK4KT7KBXA8 = 36#X9KD19JGLCTAT5DUE3UUTCM92IPTWHS24S06E06PVSLQN3POIBYNV1XF3H3ARBRWA21K8VZSJNXOSB7L8QZCY32BWACCDDORBCSEXDC82S1Y57W2W5VK8DNPERD6KKNCX7REFDWXQYSW6J397JHGOOAX0IRW39BEIPM35TYN13P8DAEY331ZY5V5H5OCQHXGP921ZJNF3D8RDFE2CRLQZJ04ZGP3ON6Q2SA62LV5N4RLGDA9Y9XQOLJ55DBX8EII6ULYDG05PMLAKYY85OKP67TWBOCLZN249J47VA6GJJXQCBNLJ4ZGOPRXI1KJKMMWNGTE0FZWG1WQ00Y3LHVRY4FCLRG4V7RHDPRZDJZCE3JTVL7JC2EX930NW83KQ3L329BGP1DS5M2U7BMXBZKLK3415NMQI94DUA19QA5WY621VT3PJ61FYU16WA55GOZRYSDOHI9174JLADNQYIALMB6XX6Z33DMJBLIW45F34S0ZE0OZDJUYW7TW3UVYHH0UE1V5AGKIWF3A99J40BTG5RX19DBW5LX7HO69THMRGN67MHSYN9KZVN1YV759J7TVOKQMOGVOLTI80TS4S9EZS4W9MZY8IABZY1YISYW9Z1OOBTNLQZPCDYRMI44NGB4TP99XVCEPENK6L3MZMVOGT8DH5TQEQSIS0JRA6KX00AUPTCDR16LG95BYTQG7VAAHJMM3DBN1SKYEPG4NT6LQW19I6N7R3Q8EQX4NW8OPZWGL9GX5K6R3LKXLU0RKMGBIF18BRWJ62N0HK3JWYKLPWHE8X7EJ1UOH2EBPN73JPEJSXUQWLQFZ03OO2FCO29KIX0K8RJQPK4SYUOBW6ET310V2131XPMBK2IQQZGOG1P6OVGUWR7TO86P6T9LTY6K208TK1KJT80R3R6YOALXBBM8Y0CR9OPBZETCG49X0QR3F3J5ANLDLHAPWJMH8L0F5U0ZXG84KWERA3A35I6TLY79W9HXVPKD3TP4NKK6CAK0ISEVZVMJD8ZYMW834P9HL2CRLZB91JI7PHX7NSE6CABLG4XVHR3O79JHNQHPTGPO3IXX20GRUX2F12GVJAH5PUBBC9KPWP61HJPQXOSP26WNEP65FG3TMUPC6EOQG6U8OYKC3L24LDNX7I5RPR0WFR7WECEM5SY9KM4MO139P1UXYGV02TR3A76V8ALF1YC8HCZL20I5N6REYGVGWVXYCPK32874NGHM4JROPIJJ74W8GEB1WF5ESVJVIK22TJMFFRBE2GBYW03V7DCUAYBXB3QV35518UIGO7H7VZC5NI6KS99OWO8ZKGLK60SMJ8VEO div -36#KS07UKPX77PKMQKCV0FD6TY8TA0VQ917WDW51LODD76US87UMPD0OH2CWJWZBTSV6NQ2XKISHSK472EEYK84LTHW45E4OICH5W79PBBDU45FJZV0JF6Z3JAO20BT9VSINQ0WLHH9Y3AUUCU4ES3N2284S5Z20FH9XOIIE0YP2GIUN0R8YPC8EN2IS6ZHIJCX6L006HBCF5DZXUZKWUATIQ2G26VXCNPIYDO5FR5AZEBK0BT3A5BB0FA9G0XXTBDQUS6SO37J7MQDZGK659GEERDOAHOPBKEM9TOV7QZUCGJBTWKO3DEJSTBEVI88Q1ZX3CUTI23CSWB7UBIHHPAZLILPKHYF8M3G7OHZHDSZ457S2BYQZ5HZBXVM9NCUNRE0LMQV0EANZKETJYSJSYMPN5SCLMMWS38YCROZO7GCA812IVKIKCW71EMGO0LGHHPE1RGMJEK10WKCPZPMHUFTFZDNBJ4DBY4KA7FT16LQZ4NR1FK84MQHNCE85RX7X5EO2Q9DW9Z9I8T49NA9C. +-36#4536WK2PYCYVHUPKA21MGFTN9VZBOTZD8X84A1N1I7UIPXFNY96AMU2AZLQMWI34JN5S87YO7J0DWOK6QPVQI3PYKP31MND212EERNFQH5PEMS3LLY789PUK5GR4PUB8UOLNX3XDOGVERWSF5RLIL4K7U31WUGM7RL0TXIYTSS25RDKV18P8QPBB98ZAZB9BZSMLI0XPC36KH1AC7Z2JBFWC3GEKYCJOIWMSB6MGAFSKC2JSADOJ8HP2EG4C3E3QV5HNYB7M7ELJ5YZSTDYV9LZX7IZVGSZNGR94S3QUQAVO10CXPKBC0GB7VGFZKU8XMCZ6ZKSFWGZ8FVQ5KT6ZDP797I0NH8WGL23VHSLKX6OGKM4WI87QZ4DW8VS705WOYKQUYRO4JV28PIO2MY26GL9B494KKRM3T2UK94Z4VJ3EMYA0AG2ORSNKOA1TUU3BYLZ6DO5SDTD6VQZ7Z3RKVJC9V8L7AF2DAF8X1UEVMI060H0PSL9BNO3MMGPEC32N3ADTXP9YV8MYE5AMTPI3OWE5K9QIQKKCT1LYRZZ33VO8O859LFR0BA6R31HCPGGDYULSOZFMBZV0GY0KPWPNEDIJSWTWOQQCFEC0P5J23WMN8JXRQ9T00ZTPUTR6HRPWSNAZA270JJZ0OHZ3LYQA88KDY46MA94ULJPP37CH4ZRAYS5WPX49HBZ9UVTT1MZH5GAFORXJKWJM2ETT3XIHENFTXMXU3BKPBHIONYZE8HCSXWLXASFQNDEJESQBOH0DNAFLZBOEV9HZATH4PNNGSO44G2R3H5NA16YNJXOS9SN5MVWENF51LRF1U968O52YATCQTQSBKVU7CEKALT0FS2ZPWAQ3XK8H5L9356BUVWVYFEAAW5JW8QJ667WBMFPKIRI6056UTS4RD9NVZT28VJD7KZU7YLDSK7DYIZHNWLHJB6W4VG99TIONVE9BE1F209AUQIWBL75WX66UVMNS0YN9KUWAN9VOVA2P7UOCRE7HB516CLNX9L82PKIZMJ4D0PT1VKJMY0OIKA5V3HR2CJJXOP4V4POXJHPQWNCEE2ZE7RSFW0XW1CYR93TC4AOBIZLV0W4V7LYJPA24FR9WVX55AWX9BTV9V5IUI8IK9SY9KLXB5QXFRF0IXKW8C52GIM9XWT84S8OVCSODJOBH19A0ZQ5ODCCWCHH5CXP79UFMWH0T04Q5XZ88Z10Z6C10XDWQEYUBPHUXYIMRJPM95OJKZA3AAS0 = -36#415Y2AQ9TJBPMQBHW48JEOOO4WQKQDCSNBZS4EEBZ33O4S0HTX9CQE9KVMX7F6522SHU9F3G2TYKY4OPZ49ZO989TJS8V78464M06UY6XVEJYIU0BXVG3IZXBZXP8KNB119GTBBG0BQPS49ES5IEFV567PEWOENREBRKMWTWZXQIKWQMSQZNY2XN0WKVM2275T9DRLYZZ4N3IZFJ32FFXTISWSGDH7QVEHN0N8WNMPFLZ756HI5TVSZ2J6P20VMQI2C1QT99UDIIHM5BRYFV80E6QQMC4BD3XX8Z6I415H9QOAVCBQKTFATH6VYGHHR8HGE00AY2EB4KG1K9QNDIFLI9I9QZBYQVQC0PNKT28Y2QCJT1GOLBNU83VIPNS5L5NNZORLLX5HJN416FGW37DDORRWF11XH7Z04L5NFYLWYEPGNBO8Y2J85E3VBT5WFKAT0QL4KF3D6F9FE4K3D4D6TJIO86UQOOHMGC0D2ZHNFGB9Z1HVCI3R65RX3MWAQ1BLM43O1VXJOVH37F6PEL2FS5ROLIHP68AEBM2T2TWA7SR89YWFU390QN6ELF71H87X7GMQDUFO44B9IK9CN6EY9DRFHUZV2BB2H60POQAL2VIJ6Q88NCK64YF0CRWXP9YH4BN9ITXDVDRK488XKOHJ4C9PZG88EJN5IFFUIKKD91ZVHQ3I9AMJPG4D13HAN89ZEJJGAQRIPK6L3OROXTWPUEN4ZSY5HTG5H3V5M9JL74D9IFM1356UQZK450KN4PHBBK45XGKU0LDSNIL9VBGUAQFDRF48UDXMZ8Y02Z4V907PMLJ1CS3WE2MQUT433S8YZUHZN869ZKCZ3EH9OPYOJNOOLPW648UH3IKG5DITQDFK34NKV4IJA1CEW0RHKX1CV4SV8NT3OFJXKFFMO25QQ93G8V7ABZWK2M90FJJ9ZGMBPWXCBW7FY9TDGEQ66M2NPGH5S0J6X1WZA2ZEPC3QM6S6C1QXPU60IXKD6RQLEC3F6Y2PZRQC4GHH7LYR129MXAIZOPN011ZO7GPGSWLYHQ7RDEEC2N7REKWSJD88J0HW8LCPV7GU47PHZ1Y5SHAV09KV62MFNW77JU7L0390ZFMQ9KIAJTNE3Q0JA1530HGFN256AK9JQAPUH9MSAUWGE15NUBHUQZFXH58R9H5VH8P6U9L3NAFPPYQ1TYRMQMWR * 36#10Z108PY4ELBR98398FB2CMNWDABTF90FRNNYJ7OFBB2WMC568. +-36#GIX6NB67L00ZRP0B4ZAMDC36BMW8UMP2T9FW66UYCMVUPBXVRM95D2KFO2LXNTNX82DFRUS3RLVR0T18JXBG9F4FS5AYTM96DUGOQVEYQ7XKMMP4G30C11LZXE0KG7F1AE9DJZ28724Y3SW7FLG0B6WTIN6LL8E5CMRHUTGYW41DZYMY1GPS8BX5Q6SA2J09W48SZE3XRCTC6ULQEHFYNNY7E16LNAFTE9PKSI5XUDQVCNGLQWKXQ306WAZ9FJK94MVUV6EEX2HJR7RLPX77U9ZIF007ZHKOUXYUC58OU73GC1TK7TTBZFF46CZ1KDXFJRDYL9H6FAAW7EVDA8LZF99FL3XWA4QBQ7NPU46IYUVAPYE47O3H7YZWZTQMIQ237K6O4XMJUMJJ9BUXUKMTTKDY002I0T8D1DIUK2JKIQ68KMH60L9SFKZPN9AEB70UKT8KZNQ3HT4RULBLI2T55V6E49P5NQ6OURBC7J00JV4 = -36#1221IV4KDE00QRSNMKC3UVWWBXUYUB1AU7KVQVVS6GFBOSA5ZS419MWM80Y1NAI6CTL5UR9SISPTNH6UYNRZE2OO00P937EMFQ96UFPHT7FH27FVOG2RUNYP3C5FCM87PJQFVQ04N9CYWT2POT4IZ8X9N08ZLRTL8K33Q53ZBHGT53LF34D0UCF3WT6F5B0KXSMSDKVP13LIDR5BB33F81SC9L5XYJUDH2U68NL927MMCRXYCKL3AHMKXLTAQPGNEEEUW617T1E3D53LBIKZTX5F3DK3I1NODMC0RS8NT9CSYDY2P7090UG74W5LQWRUFL1ARCZ33RRZ94RM7MB1NFDS160DI0MBC0TFYJU9576Y3XRTY7WQ8ACHQCDSADKQHW1CLD2UQOX2UGGYT4JIKL2R0Z0LIPX58G1LW64ZH09QMAI10JSLGZWSXZJAVWHLZMBHMX4K0A9IRAUDF3NWRA3ISS5OKCEBTO0I29MVQ5RA2595S33111WBHJPGV8T4SD4B85SOU80XVCZYQOWL37XF6BN2O div 36#2AWJV0ON7FPQO0KQNSRRW318IM81KDFPDQPQG1M8Y3NS4BWPWX. +36#34YSJGKWL5T04MO80AL3KIE4XQHRX8JGYFJT9VE1M5SIQFRO1I = -36#39SLXX10PC1YXWZH1U0K8UP1H56TB7BFP0XKW1U0PXZ36OBSTZEOKRPSNGDAKZUQ63URL55TR7UP2I2MLO3DXJY933G18SDAJDI div -36#11JE3LWCX01GFHH07S54SAE3W1GAGWLWFUYUOG9GCEM29LCMCX. +-36#PEX552I470ILHPJ3V5CP7JJAPZOPOZQIYESCHOBMIIG617VPRFUHRJC8B9M2DFF6T8CILPGQAT0W19U6B6067XL4XMIMJ78DPU = -36#ZTMJ2TBNQQ7XWMT9V1R54DUPMQV2O5DA46LT2P17M3B3C6O06 * 36#PJFXTNAUWXYIRHHGG809K4LX4C16EJ175PEL1STK2V1O3R6AB. +36#1WFN6M2U4TT1RTPGBPG9VO0HGZATYF4GEF7MP26YCGCSX9JT4T = 36#GDZOWFM6D4ZCBKX4LAPLAC7K1IX01CT9C80C4TAWWZT0NW8AEAOD7ER8L1I720RDEJXLS2WADAUR8ICXEUW6LJ77FNL69I8JKIE5CR5HBQDQUVSQYU5KWDN6DGYJ37XMPQAW7GWKFW835WWR614DRXZQMLW64ZVZZT32CQJS0D4VU6I1X7RLCAX6NQKP div 36#8MD522MZJMPD0XBL8QXU2TQDE3WOGF5UWU4EG6NBYUL3HGEO2MAVZCZ681ZJB17R7S6ZDTG4UGJ91QZA7SJS3WUSIJMCIV04IRVQDBN8JDUGA216IEXWVPB7FT4C8FLQXA62X0EB8JH. +-36#3MT394X6O7ZG9NTAUYUW1ANZDXDRNNA369CHVZFFIZ4XOPQ306MREZ03V059QHVA5LJG0LTUUP3F5LWGCAETWCY31AJIE61E288KX7Z9GA2GZ4S3P8SE0O5AE75O92OU = 36#349B6X8XV8VVLVARCA42XXQ3ABNIGGYPO3EN28TZNU3M2UUFI9DHNP0FRGPHKZ3OBG9NGT9UIKNTXTU * (-36#15Y5CY9NODUI5TU0HX70G9MQWLOS9HCDXLC8LUSCHJ8WTQ4UCV). +36#19I7R3CQZG7U10BYMXX7WRM0WWRISY7E5JDCA70PQG1FAL91S53LIU4MJE9EXZR0QXCRHDJ6LEAF9JBZOUFXM67UUZ7XSRZ8E2EKQUJCJFKIWO1LPBZIJ1IX9N8OMIH2Y8KJINI8DUG5ZENH8ZOJEU2NW6FJQHPIOAJ5MQIHVO26UQBRMJO4W7X1KE4WXP1DRULJE8KZPW2GZGB71U5RQM51HMKPLJ1RY8UOLK6GZQV3ETFOSRB6T5VGTGSRJ2DWZXXU6P0IAIRWRMP800V3DICRVF2HI7JH1YLRSZHM9AVV6FDAP5PQ8GQ2RNICX5UHLYK6NTG05FDVL2SZTD9MFJX165OWHROQH4DU5DTXJY19FFL3GSCLAMMVK9FHTKADC8P96QTXOFHUXT5M5PHKGQO2MEKRUN83SVIX0YXXBT152N51NLTFJ6ONC76KSOMWHNA849EUX0E8S28D6MOOGGZO0I5SM7NWY23CTM3IBO7FN5CF6DGGLP5F69LKI0LNJ3MHDACCU9DSOXBG0P9ZSXDZ3UE32NUMTQRY = 36#3VDUNA62ZMLKA1N7EWQ50CKQ5UFASO69RXWM2IQVQEVM9ZBBD1SHX6BC5YP3G2Y0KH17O1P6R1D3Z5H0Z1F5M4OFSXBMGCGLW2DOSE3IRS9S2HPAK4RODEMA1TXJW9B5BSSNQ6MFVNQG53G0FOSCSENJPUITD8RARMAQOM7KVYL6RHE627K8P74Z0EEVZ5G7NNEVH70FXJVDCXHMX3KYU7R05871VE2U0A7GWCSTB0ANF6K6PJFO9ZE1MTM1DIBBIEN0DLND0H7L7UQ6T0TY1VJSPOOE677QHK5Z8VS0UB0MKCBYEDOVLSDCAVHDUCUG3G73JJJC84B583WBGKATPRWZLKBW57UNG0WQZ0Y3Z7HCVI206V6ZZ18TOV9WIQUUE5NAYC3QNYZRZ5KD82CL6RLUD86EA11XG8HNCSP30G49Q8BTCBS5K271W75VC2IQZP2YDARPB2ZUNV8SBX9O7LM4RZWUGS5ZTODFXIA6RVK1HW3TYGB3B4VOZKLKKY1LQN3DIZA5ZL5918GA2Y38HW7FZCSXT7YBZVPN3Y8NZNUKEXHMQ0CNVYH9C012BAE260EZ5QXO1S3C7L8I23GOIZQRJYAZMBM6YC7QCISI7357HKHE45EMIKY4VYROYDOXWCCEG9J3WU4U3E83L7KZXLR2XIP1MIO472VJ6SMX0UYL080X439CA5J4B7NCC2QC6MK9Z2OJASGQG6N06VO9OK054W9UZL05P5ZHOEMA6CSWIFISW9RHRPT7HCNL8N4NSTZBPMF1GS5DCFCE9GT7CEYGVNBH8TYZVUGX5KGFK7ABROWSTY344T2ZRB6XHF1NO0Q0YNNBD7WT79LS219S1UUMCKGYMHZHNLPUUL6PNJ4YHJB48C7I0MREB1WHA5193GAM0PN648ANGPH98N3L0LEGJ09NJ6M7TSYQETJFONS3F8SGIJVHLPNZKMUWIHNYMXCGPV6QW7L8K8HFOKZWF4TUECW2PWG4GDTYNLNMINXE28GS1MV5LY4OX1SL73LJQ4P3FKO3L89J0IA4INWU3MWKM7Z6PFJODJRFR8G40I8EC88Q5N5123HFBDJ3W4QZIYH14MO7B1S8WV3BRNRV647FEVEOA3NVHLWSVX4RRO5H6LKKN5NEAE7WOPGK2L5W8UM3CIE8ACCGR1POOPPGHBH4FPOAM56 div 36#329N9FJCBYQHSQCQA15CVNWDXRE8L4SK3VYB7NN2PN1HZEF9W992E1DHBLH4NH163A4NO11VC3GFLO065UHV9MKSF75CCV2PGILMQ535VJEHXX8N2LT3KWE18IWB00C6SOUZO63NELCIDF2Q09TF6EPQETHRLQB8R6B8CYSJSTL5BN3SEVSJMX52AA87OYPQX6OQFNDODSHN0HV1L19BV684CHZ3I6CB9GDSZBMY9T6HB802OQNFG3W0NXYEMTE0CO5TOEKRU14KIZN73O95KP5K3SZ7ST1B1T8UM7GQG3H1R58RRIUDGPMJO5PDMN70GAKLJ8JO60E8LNRHTIKUNML7XJ393VSW5PZGQWZ8Z59H8I0IGMAYGM937LGEC77706TOG4OPBY8U2S2MZHGDOY5Q28SMCK1CKDQ6T2Z6P2WOU2887PZP3LKCP873RED6KASJJCMKR0NZNDY8DH51SETC5CCGDZ3X9E19C8EG4B5LUWT9DJNZKQ5B5C8YC4LM0C8A4MACVLTQNNSILC6LWS6BDYA5BLMRSJEP57VWQ6EN6ON21B044CN7WGYDXB5ACIJX0W2ZXK6ND8364JXEKAJGI4KAHVKU9QDVIK0LEFA25AUW3ZQ34M3339RF. +36#20CUU2WZKJEBRP4FWTYCZBJ4SM9RD6CJ1JMURUVVW3QMJFJVI5 = -36#NV2V9K1N7TZRB0GH9L9FU316RM8OWFV2H9ZRXBBF0XCJ8OFB953UMXS4TSTDP7GSDKAZ60OO6YDX2YOW0E6YOB7468CN2CWQT3V1CK5ZNPCQSPKAVMQHJZLQQAE1SN07JESHV3LHWZL2F6OT9APF1NWI2OB3MQR02ILYAONV8HFGY6CI75ROXWIBVUTYOMJVFJB0R5JH6GIWF8LS137FFMKLLHK1YTM2NMLDA3T7NFKTFZQJYHTLOFBDZ4TVT3X1A9C3TABDJUHE0BI7MPXXCIRXDJ2C2IMLUQP1HVB2820UEZ2Y3R2OYNH8G1IX9PSRZ759U76NMB7KTXREP58COM88JG31ENBLAONLD96SSZIHGKPDEK0VGRSTYGV2Q8OQNU90VI12HLZPHVJ512LTZGR6C8Y7PM8CFCV9MWXPZQL4CD36J4VN5JLW2TDAHMI465LEDZP9CMOCEU5JR4LDQPL2Q3KRR2AFQBV3UE92PXR9YMWH43QRAXZYH6DV49G4GNZMJ7GM1EG2VKT5GXUQR8ECOI9NBKALLC2PNX0XI0SKJCEVW770T5AIFM8M6B3N45C8M17MIJTPONRE9XJTGVQD3IYRYEXJBVQXTF0GH4UG2F2Z6UEHK6LG3KL2M7RWRQ3NHR7J4SS70FHHDDYVEGBXHYQE div -36#BVF428CK47MNQU0395LBVTQA7MK5ZDKGO7FXJ9T20L30K160WTI1I0O1IDZT9I6UTH84UI8EM261UVTGSMIMTPC46NW4JGDSDL7ZEZUFUQZSJKZGE3YLQ004X4LUXBYTBRU315SS2BVJ6I51GO55ZS1LAODKQ0IO6Q7MMG3UJC32Z0UTE1GMH2J6CJSWJJR2DUGEXJFAPA4TYW671Y265LVRNJ88QJ8MJ2OO72X8SVOYFH9W562CONLBQ9216EZA30FGZBVT61VIE1TYRU9MW0ZB95QEZFLYA24BAO2TVAUAQ49PBHXABWLJZEHL7Q5ZLX9AXNOZVMGTJ3PLQYGLOKR8WLQOAQ2URSMFDKE60XRWTI3QRM1J6S7J2TB4WBBPJZPNEQVRE90GIO60LU44RLUYTEMNSQT14A6YZNEBMMDM9DMFVNJBBAWFLD13MHJKXW1OZ3BQE7U0814O52IHXQKV9C70Z8HG1VG5QZ8RQ5UPTSP9MGIZ9CYJSZAJKUD5O3LMZK88WEDS17WCEVFUQ3FW3FHCEUNXX3IWRBXTWX4E33XNFPFHOAQNT93J41FHVXD2ABIR1HVDQW1K53D1Z76JOT5IKYH7CIHSMVLF55A. +36#ADVO0167F36SEGIRAJHSD5RKSD20L9G50XS2VRXAMURJYS3VTN99LP69I1O0OZRNITBNCJWQJ0ZZ3Q8EUXRF6U98DYIR6QEXOEJ04T1AZH33G2QDVTLV3NV815TEZEHDAA5ZB393WF77O4LI9MHW7JSXVB4JU80IXRDQKAB71EKEWBP4TFO0HSX9ID5JVGZXXTJ6NOYAX0YJ6FIO3PUPTVRXYXXTPJ4PXBC61UVG82FTR5JDP0IACF4SIH7DAB0AVPKFKJE6JTRY071661YL4JZTPO0GZZE8D9OZFARAPAT61LXQA97URKJ3R07ZYV9ZKCO0TOUIZY0LPWKVY3FOAD64WV0JCZY031CVNDPWG9E7UQBN01ZVCM3P6CG9KDVJJXYUW7SSKGHCG5IR1MGHCNNZK2906NH0DGPAI1EU6BT136JQKSJV2N6GSNAHJGT3PO49K4ZFJZU88A00MOQY66B1BBFJFZGR587L6I77JAM6FMX8XF8X7XXDF04GCX1DT972J2HZA7P68K3R7K09F8HCMVEGDO9WIOJMIFHWMGPHGARBFG2OYI9BMF2WEA6CWMO7J2E1B2R30HTB4G70867NA1DTCXOT5YMSFF4TG2968Q = -36#1S2CCM4U9W9UXG8BU7C33EAZTAF7N477DEGGCGRGNHCZAUO29S56ZVFCUOCUYA7IMYQDSWCFLW5IDERK237QCGQ4E930DN082QRGFJ9I6G4BQY6OPW9LA6DCRRUCWYT5SBZGVEHNRTR1FTFY10N71T0AFYPDTF802VYGOAZ29OKVRP9L7L329KU2FQHM1FGWG6CFK7LGYHVOCN473DS3W3KIPHH07TX9H87QNUI3DMFNNZXYSPHUT8MKG5IZVIPA3DRCQS0FBVFTHGZGYMPMBTLRPUUF2P917ISKRBP2P65QFI0T3AB14HM70NSJQTXSLMUX8EY25LGO56OMW3ZVDJCO520UDY9R1UJSUC6BRE2EVJ2HZV1VS7LTPI8YKBBU8AZ04D3USVLA40BN7NTPSI30227RCUY3FSAXNQHSV80ZVPBZIIHS5QEEV4BG647WDU5UYJQE7EE7CJ48N7XWEMKEVWLO4PVD8W5S1KL5FU9D9TVBECIJ0SDIPWC5S0B6JSDVIOJVPNYN3C890R899UF5L76O6V92T3YEI843EDI1URXOSQ3188K2IEQAB3YHEZO0PM246P6XGXJOUEE60IIQ6S3BA8ERXIF14GUC7XRZMKU9AQ7TCUJT773HY9BSZHX66N270OEAWMLA1I8XY1YV3GY1B5CFBHX9GGUM77RMUKVC0HTRWE4HUOWSTCNAQM6LXVQHF2R3AFVAAFHTNENTLDYIWL1J765JXZPTDO0GWXCMU8XCB7B5I2RNS38D8EVWTZ7IH4LNV757T4J2MO90RH6029OV2DFNP2ILAEL2L4GHJ36J7HTHPS359Q4HMNG97RMMU8ZFNAUAU3TCFRD9D1XNW3BDWMHUGSFQ8TFUCA58UHD7LC0VXWE3LQTCMR7QEIM9SD4PE4DVC2J2F7MW261HNGDVMHAAV2V9MXPAI1YN5EW6M4 div -36#662LUCCGF4OG53VFZCDBLPARQSMWXAPQVHP4CTXPXA2K84NMC3VAYMLLEIY5IMMWYYCVR22QF3B6LA2XLN3QZATRR1IREU0GXWHB3Q5Z9LZ7GRIVTUBI3XC9W4FWQZFDVXPDKJZAF7NF0RK438QIT53K5IPQE7TIYZ6JGW13KKA33JP24MFEVUZH7GTZQ6JP4ILEU7U544W3HVG57ZF7X2397XTVUF04HIA954JTSN6M0DYLPGL6DH7CAY65WEQ1URR32APZ7HOHPHMN9N6V3V5UXFA3E8L6XZH2YSQ09A1PV09V66PDCFFL316PVAKW842M8OAE. +-36#1L2ORMK4JALIRWRZMEMFLOXYKXIFQFNQ2MP2ZNHO27RMVBPO0I = 36#INSHTNWMHRJSO7WHX0AI8RI7JT1ZVSWH0I8FC3SEOR7UMIT6NX29OGPSGAMHANW41E945V3ID4MC7DHKFUIJ6SUAKHV1YV4ORDJU21YIW5WG8P8TC2KLKT32HEC7O15QJX25XK0 div -36#BRQFOMKAUVVDGYLNUCSQJR0TUVGX7J5M6ICPLRCST16I4GHE70EDT2B6UBMEYUB0ECBH2SGO3KTPWN30693AJ4. +-36#Q5R3IAF1Z4C32CSIBEDHP6AXREK8EQ9KU0KNUMZE3EXQ8MTOSJYSR0VXMTDWMT98U9FPMFUNY1PQXCBT4VLY8L6TQPNXEXVZ5EPMK1WBYO816IS1XMOATKXIBVLIH1RZAL92MNYGJKGC9DRMJUF411SVQZ9WA2HOSZ4790H = 36#PYCXEDEEPUC0NEUI7TNQPKBEYZQI4E94K9SAF1TSFGEN5ATGYBHMAQOAYRXULTZFXRLQAMFYY7XJDKFG79S4HRVP1WK3DO2GBACHH40WMKSQ0DGBX4992F7S9Y44YO3VDFCEMXSIKX82Z0KZXV406Y6EOQZMZKOXOF5WXKEM4KDAPG8SLNY8E9RD5AZFWNDOEAPHBTJCY1EFC6ELVG819DN2FL6MYJ33RRNKIW0 div -36#ZPTPICGDMQUXX1J433D7RMU8X08EIR16ZODHE20B735339329H75DSTPJTPMG140. +36#4JYEC3A8OC3VSTZPZ4VXDXV5NX8TZDIZGJYP90G7CK22WDXQSU64PHHSC4GU6U1CCU69D4RGJZ4LMG4EFR8I64202WZPBWA2DJPTHFDR1L0699GWAS1CKOUJJWD8YBT604T17PLTDF36WMUVN5H4RSKGZAX7R4UVF4WTR3OJ4IO7QXSJY3PDKYC5MJMAPCMLAGURU1RBJDJ4HS093GNIEX55LO8DKYEXJ81ZZHOSJTZQTSZZ9B9BPC8BG66SFA5OIE4WWNY1N4YQYFGYDGTRBKAZPRPYJHBLF25IQCFK9CAHHHEVDMJJNI71BXJ5F0GJ26TCFE5OXEBV25GSQWS82YFNZ1V4A6U7ALPEHEXPVB0RWLQIIDYJGHIMF3OGON3SR3C0LORCPOLYEPLK7ZM589928Y7OE7B04U5KCTUVQPKFCLVW3OPY05HN57THDZOZE5LSREU7X66RB79VV51CFEKBKS7Q2589EN7L2K0DBFXPTDME2UOU2UGRG8E8NEMB9JWEIWBWNM60N1VG8AJ66D7UP61C46FLZC5S511037SIEYLYM7AML7PYCPXIHARSHAWY1ZZP3R5Y7B7F29QUBZV64F7ENVI57WS1Z80TUH1IBMG28W0AUCQ3H93FGLVL1CB3YX6C0SH12QJEZOLP36FW0M1YEJJ7HU6PBX9AS9UX1XYKCKBAM7FVMGJD3POXQ64XHPECIHYJLBEASW6D9YU95G7YTO1PBZLRBSQZDGFVNZA9F940M5IEKKPJ63LDOG3XIPFVTMT4U5JBFRN2CWLAAYHMY0X5CCDZ9POPQADKL58ZTRDR5S4OEJ16FY8Y50YQGCUKKV4AVLDUQM24P2LF30UPTM1IDQ0CEJBYG15OHLOWP0XD8LH2FMUN1HS1Z9GNU3JC3SCDJBRZ6DE6WVZ4RFJA57YIFHXR3N6 = -36#B0B0L5EZFMZ42YI9HK8HWFV7MO79BYCUBZ4JI73EM1YMMSV6T0CC8Y6FRQUHJOFEZCS30CXWMYYEWBFSNT3Y60DZXG83LBAYNDS1Z3ZJE7F7EHO46JKZWYULBM0C0FV6EN61QLD1T9UAF27QUI5T05KZF5D98IN64LWKDQVG1XETTRSYZ37KAEPP5Q5XIJ0O9PZZL5OKC257VSA0Y2FINXSB0FSKMG09FZQDUBMHJD7U5TGPWFEO9Z43FK767H1NLJQPSNW4KM548ALS6P2I6Z2NXXLOB4ELP0A66BXXGQGOISJMI73YRRXJVV79NZC5TMCFTNVL5CE8BYUFBFRH89ET0C9BTZFM1Q74HTL0M0B15PLS7J19GQ38YJ6QIJZ281HL8XEPDQO50812K5FAHVXS9BU7DVKG45854UHOPXHE6IMRRADSOSK75HFMHSIMF2N767Y8M5DCPPLWW5NFFDC5VVX55JUNM3IMT6Q4AFFO038FECZZCHX7Q26K0YLR1MRYWPV2K6WIB3RRDSJTRQKNCS7YVRBUYDPKIUB9TNJ5ORUXYBUSG46SYK3R73I7C7O1LI38MDWF3EJHA02K4VAO9A7QAA88AP7BOWGKLRJ4WOZHZ46OP85LBTLPUOXM78PV7PQN97U0MMHPRHUMQM6N32HQW8VNQZIVSDBMMHXYJGS9IBJ7A7UTSYGZNSI6RJ2GSKYEJBDX4QVS94PAFE6KQY5BZ8LH6OM6X46YI2D70SKCLJXXA62ODPYS2CBFRY14FIUE4AHFS90N6GIB0H4LABC8PAG93CPWT9XQ9IQIW6C09FB1VLDVQLFB0HLHYQ3FVG59I76K1GG4D2F0T7GEDLMD7R787C2TGHGAA697VHT56TE6VSXZ50DIDC1YK24632HT5M3ZLNUZYK3PM69E9P91QGPZPXUM3WFK7PAPUIB7Z2JXO4A0KS672CYN7GIC4QJ44XOEKA8GKKSKJATU div -36#2F0MTMEBZG60OBZH7RQ1A9HZI5V6UGF4F009QSICGKL61LYCDT. +36#3U3JYGNTGJRL9CQF7OSVXHQ4I3WDAY4EKHYFS2FROEP3F1JMJLJ4S06TIX7NVFH1JH1WZZZ7U13GWXEAKFIC7E9R0R4QQ9B6FBVGJOQ82CNKXCDCOLAVAWHM9I6WPZ9NBLFF4KLFMQNJ2KOJWQB67FRDKIUVLDLZKDKN1JP6BBW9J5GW9XIJZ93O57000YOIEKR5J1J0PEVMNQYHFYEAD554QF3XOCJDASI4UH4ZL7POZAMN1G0UUQW0NLW7K8FX5GXE3QBW2GJK9ZSMLFQF81UZD9YHHMP4ARGZ4ZEOKJYPDCKNWUEVT9M2L27614U = 36#6KK6E1S8FRTM01MFUDDEVAZQFU4T1IQ7DJEIKUI2XJ472CGY50S3AJWCLZGAQJL5RMFG8H8N7KJG0853DT6B7NJQK4IUDTKLH9E0QVPSNHOGUXV52QFAHTHZCLZLEJ4QYEN6JPPQ5SU7PDOVHAI9IGYWGQQF4KGY4H06PLBCXSDNFTE6BJVS4TOAGEMW7ESUKT40J6NWYKKQ1KMDIAXOP5YM6EGFYOZEKR66Y7VWT4UOWEFLYLKW5067HDZJBHYUTBEXVC3JWF4868JRFGG7G2LPZAQOSGOPRXOZC8WS5CSFSCWL15DJHUG6WMM5FMOVAXW2UUGH2GYHMVTHJOGRJYVKLNBAG7RYLLSPKZOT7P5405826DCHI86EYQ7CJ32759WE0M1A1NC0 div 36#1PO0U2I8CNDJ1AHM97BNKYDPIGHCULJ956YSGMVVCFE42TTKZS2XAY5QOG04PBZXYYBBSOHS55G9G0. +36#2FWSZEM23KK638IXHSCI7FQK19SJIOTHEYZ4ITHBFT3HTPCYOUDPTPS9PE9O20WMEQPZJNUZX9ZSDK8TT6VG0076V8WZ9XO1N7O = -36#22YU6SCF3O8ZMM4INDJBVIM53F9RRH5YFH0IW4Y46XC2Z4CL33 * (-36#167RD77CCHEFK1C6ATABI1TM50IICZ11HEBV66L36QS6CPDH6K). +-36#1L34LXYS0616QU22Z75OV1DBR8PUYMU86DGG9N0A1FN9321Z2Z = 36#7RHTVVB3SZULCVD57FRU0GGA6UMDTYAIB66ADB10YNI0N4MVHFP9B2CHV3SMS8JDK77SWPVDFEFN6JA7ULCUIK2PZQG3LDYM2U div -36#4W9617IESSATYJNNZEUEAH9OANILCW46G2K9FMMBB0GUIEHF6. +-36#KEU80PPAANLYXCJTWLQC0PHQUUG8R8ZYZUQLNQ95ODLK18DKXFC9YS8AJ2P9WQE6UY0UX2MU4B3BWLQUSS1X8XCEF0VMBW8QXN0PG81BHH8JPU1O0HWT27IX1HBZBLXPPP7TT79AWPEO8CAT8RXJLKF13O98AZECYTOA74H0L3CY7BCSA95UOZXPQEQ1B0APVIEC4GK39XH6XV3RM5255M3S4513R543GN3QGASBNXSWXUC4W8D3RCI3U6MTYAUIH2W07KON7ILF15HGE5XB9TDJU5L1XVJT3JN5VXBHPY8R005T0DRGYVDJ7AC3JQUV138CI4ILJOMOXY535PNAE937RRYXCH3WM3F6IVCX32AFPD3XVWD6U7V5918IXJH36EYWO16SF2H06W5G2E7Y4EBDPX64MDM2TTRMX2H0HGWQC8YIH91CWVL0Q8XRH7216ZZAUR8ZZLBG02UUKOVT4EGFRECASG9V3L3GSK8ZOJC791D3FDAQAADWK6AYBDIWVZ2NYZBHCJEZBMBA06CWN53AVED8NHWQTVYH9YRAABG5UHKB7PAZWL51T2DBJWXXZIR9I2WUHY2KELHXWX84MR8J96YPK1F5FOF93S38UCLOUSXFSWY7LL2HDV50CAB1SGOGHZ7NNPSMS989BKRCAOA0FRNS0BWUI47RVKG4NIPBZOPQN4YN6HTZ5QPU9CMW0F53HP8Y71M90PHQ6ESMYXGSEB5MX6WDJ9PUUDOKNAZ70I6GMKTRBBZGQHS8 = -36#1L872R9FWK99UE9B80GKCV8PKSBOU60ER3U7S9U1KV828MG38W0N1DLBU2UR02RQ1PVAQX1R6MWTSDEJVDXXM0NGSWJSRE7OPKVSGVL1BW8MQSS3SRFNWX48CACEMKKS2FKW03SPM15ZZ1RS1L3X21E6SHM0KND4TAQEBL22M22TCH6DFBVICW408AUAO8QYC16QSPZSK39M0TF0LMPN233QNENG5XZWF93YABK9M98B6DDL7546CZ64BORX2TK51XU5YZXM8D1EOMU13S3S7RBR2YVBE5E6F7OJ4SI44OBDBG7N9K0LGAZ8GCBY7554KFZJOEAN72N1IXD71MTUA03XP10OTPI0P3YSQX4SVYJ89BOQ8VW4O8BQGVAUGGMVICSXAC6J9ZN9BM2W1WSI8ANN7FCCQGA1LKJJ8JJGH9LC489VHOIOIOUE4PD800MJKESAWVMS6RSW7ACW8AJ0ZVAWIZTCJ89EBVWLZJ5T25CIFHM4WZQ4AEKX3QEEDSY935W6GSWF8RULLLCODFOBWKFCPRO43WKU69PK682IDELZIG62YJZJ3C4BMIGSWVBMW48J9V086U5G46Q66E4G6KTO9BUA7C7UMFKV14ZFOONZNIPFMAGB79C9REQFO27RWXWGUMEA3UYVAC1MBFS5X49RB6KPORR9ONYNQFUU5EKO7D4Z62D9CWM10C3RF8GS0AXK1T0CAO7PYCH3767Z90C00KFPDBMGXT1FQQ0VBW0O912DXWAK2N1B5148UCBQR6KA1LK3695BPF379A6OP4V9KA95KDJE5QWNIANL0XK75K div 36#2SXGSJBFZJNIVMKDHA417SQKYEN20V74X5TPF7NTVPSL1BZ6C7. +36#KU1LA7WROR786PYH4NXWMUEJ27PBE55NL18D8S6864U5SIKW99XCMT4RXNGHSHXGURSF7348MLEA60RJ53XAQCZBHXEN963BSHD6MYO7BMDIO3O50VNDYC6D5AMQKV61TCUPFZUZ7QS2ZG0V3BCYGBTKBS6UPKCMLQ6H9ALL33USSXHEXL52OEBNJH4T3W94SQAW8FO81G1S5W8GK6OWPUUP50GASDYLJGD8NBCCEJHHR638RQ1Z2BJH1M67MT43LF49FHEZ39IU7Y1WNWSD5ME7UYY1OQCR7LSA4KW8CJZB6063J8YILWKMVKUI764APZDA7SWTJ6NO4E108RKJ7UPW49H4XLPPICVKEB86GT0BKZ931TZ18U3MD4U1BCRJSL7ATIOGWTNT5FNGOYBJWWNXIE5MO7IK9H10WCJICG02NW56NBQ563BT3D587XJ5CAJRM76SB6M7KI90PU2HK11YH0GMUUNLH85GPU7T8NL2M8V96RC7R1AOC6NVPN0YTGDRH1ZMMRX6X2M66Q61CNV3SOUZ5IGR531HF9UI4FLAFWTE5US3 = -36#54FADEBYGV7C44IYZJLMNC8QKAPX7VF9YMUCUQQYBMIM3OY6DV96K0LXM6F5KTFDSKKBNH2WIXTFXVD55IXDBIEPGYWOO8A14W3G4WHB7NXJNB8XBLAR0T9R86LFJOOG1QV4ABP7X0ADYLVKJ7SQ0BYWBWJKNLO02SIXT455UD4CAT4AYNXWZGNXH6XIXE3BELVKT8C59EWFM7ZVZGW6PVKMWJR7SFQDNYGAR3YEZTLCHAJIKD61VLIC7V69SDUBZMTZQCU3Q1VSBP7EY45KZV089E7XGZSH2VRHKYE4DRUBGASE3K945TD75Z67R3BWKDXNVNEWFGC1EC37L9ZMOPXUDI9JPACWBLF4Y1QKU7LHUNLGBVJ762J70NUGID2XX3C4HH8M8UZPL806OP773X979XFZ780O5HJW2Z1DE2F7UOUU11CPL9J7DCGQHAF1VMZK6WAAP6AH1XLUGKBLLDIPRU31B3HLQ63PMNRTLSA36W9DCV5B3AHVUMDWDTOMZ4OGZEFVI2G60IILAZABWL3C6J2CXIFIEM3QARMO2SBFJHNS43NJPMEQRPGK8U01D5GC0RTV28EGHMEOM6SWR2RY34TXULZ7AO8UAT1DRUP7NL7FNGPAIXE5687775URIW40XJYKZIFDCZ8HMQQF4L9C6Z9MTBYQCOK7K7AEJ4QAQJE5H47FZHDFL78YMNCJA19G61DOI7Y7PRS9E15J25LAUSRIL3XBXNMGVYD6A1DZYHRXDNSWXKVOI29EPKS03ANTD1NMOL2ONL2PKMAOJJH3Y6NKTC50APGJHCTO8TXWNN9AHEZ48PUG4L71W7BKI7G53IHNPD8OYVG01EAVJBF8Y35J7PHXXLLJFB2UQJWLJIUV5CKQNXXFR9HKIWBMXIAL5MKCJLNQIF5F0TZ55NR5QZSOOY334W08K5YKFO02KGG0TGXNAO2J8UQJBREUYEANKM2PJXHXZSCFVSAP0CQ0MVJWZG0 div -36#8UO0HUJU8NGYHYBVL6OOJH29A2OL31SA88X2PHM7I86Q6MUVL7189FMR5XWU9NRFKOT1UOJJZYIEHMKAC9OE9WTMXNW1P803C6552S2SP73WGJFJ25MKGS9KW3CD17QMI33MQKYN3C5STIHSA5WNEIDMWMVQDFPHZ4QT3R4KHP5JA5YNFTM0AG5YQMWWA5R53TNJVZGM5D188RC24BA2QSE6RQHO993SMO81EHFTZAZQ72IDE0TLR3IY5ZVRVA0KUTJR6E5D7YI9SJZSUTCHWLTAA59ADB0D9EMYO0QVT3UAHO840TOS77POLPGWWOMEXJUT2U5IFPD3JGRMMBXXI4P90EZRCZP9WQ3OVUKXHIKC4DP9JW90P3FW94NAKUJKB4WADUO8XT7WVF9OAS7MUOP19AJK26X575E6N6RWVDC. +36#1OY9W505UKE6CJ19C257IQ5MLI0JIIEPS9E5P8N9FL7CJEQFEEVJXOCHDUDJ6EMWJ8NEE5NUPV2ACJ1REJEJ1C40GOH6A8L2L7O = 36#2ZW85KA4MYN4HM9DF8QBEDXJEWMA0CQQK123FTIOYCIEPNWPRG * 36#KC4VM3HET177XN3CMIL2IHGBA9J9771ML2QQ3NXE2WA4Y15VF. +-36#19KAJGAJ3M1UX4PQWDAQRBRQUO7XD4ZR1P281XX7QX4A9ECNSI = -36#AY57JU45A13B1KL5947Q1SMJAN6OUEECOS0OYH0ZIO1SO3CL9DLO8BYYQUYERRM1CJN76LDDXHVM1HMM7UR7YRVI3WYG7VJZM8TRO70P6NGN3ITGXFW2PKOOOWQES7WXUQG7C44AFZWMAJC7ZC3EPZ3T3YMILE5VCHD7KHTUQPCU14WO3C84LJ7BYY3NYXRLIDOD9A36L4NLFFBZX6OEKLRM33QPZ7EPMG875T8C17WA2061V62OFGT1K1KOVYE0K336SREL6J2K7GB46P58UH4KHMTF9C7IRZOIE4MSIL23MLJCOWAZ8WUWIHZW285X73JWJLYYJICQ2OIVWIWT4JMRVNOEJECH72JGXB7ROIY2GIPBX0XHG7EUUHNDMRGCSRHDEPU8Y7WMMPTGN3LM2ZKPTV75RGB19ZQETETSJ7GM1PP18LDX5LB420FQHOMXV28DNA5V4YCVKM9ZM6QNMVDFUZU66FSJ0821WNXDAMSPU1VEJ7SFDEHS4JTIBGCKI2GS3TNU9HJOTGSV2CFRU86Q6PFF58TLARBXUZEP8J6KI1WRNHVAZJYM3558AUI622BWQSPJOYYKYH7MFBAAXPNQFI0BNJNXQXZSIRXEZJT3GNCTMQTVHRDFOEQCRQCXZG2Y2T7EBIOBH6WEKDF3FE15TFW2PDBC8WP4RTNA2UEH25KP2OBYSI3GLGP1JJTW0TDP64I div 36#8NEXNRSHHCO83DYFTCMFN3QLY8883X6IH2KI9I47LDIBN37BRXBTV6QZZ4JEFAD13CUMT6KQDFQRFIREPKUTUDBRNI5M1UOGSEIS8LRW5IC5HM5I4L6PVO8BOTKCXB331NJWM86M8NNVA1EG3YS2U5JROUI1708EC9I2J5OE81LHK2INB3CDHJ1LU1PN35VDQBJVLRTQY5OGE2BQBSVHZUPHYL3Q0ADF3HQ7H6I9714BJ5QUN2YVH3P7Y2DVAX3EJ7QADNBE9XHEJ5Y8R5TRV4EZGIM7NDJ3QA0SJGWA94M9N6UTQYZCIFQB7BQ180TP5K27XHLQ6BCGNOS1M3E0F5GXZGA6VJAWRSS1FUNR7CXX76X3J2RKKRRFIWUHL8DSTBDPQB19F4XSJZGBK7HKC544Q1ZL49LEQJT55QAYRWC9OYR63XGM2HZ6Q1O3X2M7H9DZ9QW8III8OPS3AYB7S32VFP85QGFVYL20QR0M3TD2KM7LFDWZY1TCGM3XA25PKN197OI2N3PD1J6Y5F7FIJ8TMKU6FIZTY3ZTUJL2BF2O0Y4HZL381F19HTM1VNEAW1OC205PQ0UHWF66H71AUBBJ06Z95HXIGWGI0JL0TUCJBUOBMQYNCCUO5RXMOVM9O7A47266MZI4L5HWWALDPL. +-36#1P3C7ZGC27QYKQLVP4ZD80TK49X4LXJ7ZATV8KDM36DB1K48MK = -36#1AHDTHAHUNU1J99Q3IEZBO52L6ZCM6DITD8GZZG2OAWRZDP0UOUVG9YVAFT26FYBSHO49O0BQU52E6Y5VPCMP2T0RP3FRAYVBTDIR4QMECMR65KR1GG006BVVG33SFWEO9SJINEEF2MZSS1E1ZTVXRM9TC7QLWZA6P3FW9FNKPK11D0CGX0ZL2XILIA6CR15QB0GGLO6TEJJZZ75BSQ0LXNJAFJQGK2EY8GXNDC3FR8Q1RDMJSJN5UYLAETB33NBN13HE1SVHS03HNPDHMDI3WS7CBTCVHBX8B8E8F3328WYLX7OIB2CPJ7C4T84IJ4C1EZ8JX6VPQ81VXEOWFP8GT4T4XL7881KV9A1TNMJ091XXIZU6BU7VFK4VH8NFOHY1IFUIT5NIPO7H4BVJMTWRLKPRW5CCDEP8NWF335SMHVH794LTAODWDYGV0UA8L8XKDUDCK4AHO8S5PF47PJ4AISN4D6447R9Y11733FCWJBLRBGOP38DJ2R2TARL1LAWIC63X65SLZUJ4D1RXTYKYEA5BY0M8IP6AJRTYA7S63SGFCNIY60CVMDBP7LCO8YZUUHKXM7UZHI8SWOI3U5D7GAM3UZ6GYFYBL46W div 36#RE2KD00DG5EX6GRUSRMUYLCK7VZZ3P5AMYKOBHCV1A45WM2TTHXRV5MDTQ0D0FKHOFMDAVB8HW5DSOY1XMBQ9T3KAK3UEM1SQXBRW612GLRX5ANGX585FAUDUAHGWMY09BWO0RWT26FGMLSK6WGNPDY68DM0A79ICVW1ARTE7ACDEKRVTZ0SN5UIJX1389J7NZCPIH8YQAXFYL2WQ1R8XLRG6TUE39IXE26OZ3QHS38Y6BFUFBBEHVDW3IHFGC3HJHCTWLH1QZM2MHHMS58LH99J2AA6GW6VMC44XLBBNRVS489WL6UB0X78GB8BMFMO6UVSG7WDLVCLOZKGEAX5SWQDLCHT6X84G8L7GA4837ELWHYFEHJUI0THPEDEW1WQ08DOMUZPJ59D0KAETGGX9FLPR1X51HMU528YPIUD5B5Z67RJYL89MCJ508YGYAMV29K35KALKMK3L1VG3R32IOLDI7LF32Z74KDL7B8K32ND0G5LE43CSKZN80E80GTLGNZ5BQSRKBLUH93PHY44JO9VYV72PYJNAZ4IEEYWXJ5RO6FA3YY. +36#I56FWH9WHZPIIHX31KSLN0QGMW66DWCDJMH1PL2LCOIPDHMSFPYXCP0EC6T1AT8KTQ9B8RJZWU3U47KEYNBMWVNWEIM57F6HV30N572CKCWBU8EQ80CG5FDETM0NRJIHERLGLWW122QVIXUL0NHQNSXFIA23FKZJ0CH3FCBQUKO7DKQLIZ507G71MAN9YDK8RYX407PK8QSGHUE0DPCF5O1FKKLKINLEI0UTUZ1GBCBFLMV5KJULO6C30I820RP6UT5UUZTW6P1NN61D2N2QF9U4GE1OD3DJ83VAZCXU6HE70HGBDUQ27JG2QEXJ35UME9WB39SKT788O6E1J46I0P7PUUDJA6ZOT6TAS60ATXFD4JR5A9QZ0JYGJVRVTYAYAWW4HQM5H3D8N297UNCJXEMLPYZ9YANXI7NTMFZJZVO90TC5L420MP5GAXDVVCVO5X47IO7KXFONBR2GU0KRMLPRIWLOVB8TWI979KPV7X6AYD5CYFS1Q797BW2GJ2U0OWD94QU2QFMGAJ7YYTX3Q1UP3JQJAXLPSSKNS7WX4JSU1KN7UA0GUG5MP0UUY2B0SUS7QCMWY80VCBRILH9L9PTAM8HK1SHIA0R9YI8T23XECR52EDGFVY17L9RWNEVJ2H6C9UNWWGNSK5XVYUCVXYL3NH04TJD8SMPND6CBJP6SK92A5SCKW8BJIGJRHVYX34Y = 36#C4DDSPMA9SQILEBZBBEW5EGRXC8MNKVEUNOQSXLEKD01SGM6AT7HH9GL5ODK6L70SZLOZJKPEGRYKU61MRQ5V2J54N3AW17C66KND88PUULYHPTR5PXKINKOSSOP3SSNHISQHHHZRE1Y8XN3IYTH1SIC8BUO7ITAYHN5AX6DSG9OYFVW5ETW77XGXZRF71CYS2KEZXE0DTXL5WGIVIWEW47RLO7BESC3INUGFCENE56V16X8URTFNXJZEBG6BVSWXZ4TRQNUKE2KJR7UO2JRQRZUA9RU2J4XVXQBI0VTMD50IUELGA6WCKCBKTO7H9THJQPGRFFC3I0HGOXK9Z8Q4A02X6TL5WEUPO767971XP651B4VM55FJJM2U6RVLRJ6LQWBC05EJAEIQLW6XXNFDO60A6ONJI071HI59V29BQSH79WF5QBVKP3G0E14LA088V9B969JQJ06MU2858D1HBB5KPBG8JBTEU0OHJSEW0G27HNUFD2F4LVUJHOOZ9QIC58WGDMYH7CUW1213RUCE78UDA6H14GCAFKT1B2N3BO81OHO9BETEVAGKYD0EK0MY3B9LCOC0CGGIO5MNQ04WQ99CVV3ZOK96QWMXR56NOVH2F1DZMSS5W8QH3JV6GNKP5Z1WSMMSJRDUXBVEMSXE6QERO3MYL4OJ1KZPZVZ2OGFG6DXAXTI6HQ2A7TD5GOO46RSFL6K3MPY567VCQ3U7ZKV9KWCXZV53B2GQB43P1EOOP96R2AUX3I5IW6ULYOWPLEQJSAYE78BHTANY2RKS55GAJ9D2QPOF7FX8HF3MNPE7T2IMNND6TZNSBHI5MIN51C93QSUFDNP9XU9RKUNX38BOAOKTQ9ZY415WS6YIJ4U94L2706WVMB0IP5NMX9TJ06F799PKPU39JALMISR4R4R1ANIQ1ML2MP4PPOOFSIRSFMR4EU0OF228LUZQJ97CRL62O6MSIU7YQEAF08X7KOPXC1OOGJLL52259RWKF9G4 div 36#O1TNI3CCSO0JRFGXIV51CFHIZ8A2A0UXXYD7ZFFSWF8JOLY6DDG8UO8EEHH2XWCO22J98TD4RM1VFMPJWPIFWC7BMCLCSSX9W3KO9SERX6BAM5PD1TJNZGT2JNW6VOUHVWQ2UYA5CRGEBK2QVXT9YTA8I4TODGEKP0MXEFX811QJJI68BO1TD07O84VSRMXRJCOO6FQR1RMLS30BT2CO8WK3EOKQP6Z816OSFNSKVZXZ9YDRQ6D0V5SKAETL54HU9D58CJI184ETBSVFG7IAA5776ZE6WL1XNUOJZ60VMY. +-36#3938I1B2JZKBOA4MHTHEKE326Y6MYGN6KD6N90V8TC2U01WV6C3FIKGYKSXRC58R5KMABGH8YFZTB9OU3TCL1H9GKUCKIZYKJ1DI2PJJJQVS9U3QFU9OBRWLG9PNKOJB95QIIEFCJ9ULTNTL6ARXTVZT396EWRI6UNJYP15A5CKH11O13HSJMTI26GC4PYZW6YRPUPHSQ7LCGLKB3238TUVFQKZIRSBRVO5AJHGFSW502YD8PUC9RNKWGOQ78BS5CJB5ZD8ATCM144FK9OP64MUMT2QCD55QFNE6YDCR01N6VC43117S2693NABADFL64KEDY386E0EBF8KDYGK0DY2B8LL975YZ3ERFDFAQ2MBSFZJ6E38TPMZE8H = -36#Z4TYT73K2C7DSUGHP2OVPEOSTF49K8BN4MNZ76QSEFUAX9RJW3TAHIEJ1EDL7T1IDN88ZLY933WDYJ2CYC3134JB78Z1I6APPGUFPH18MFNTDKBBRIK2CAJ5QFZWZ1RHHQ3224VUAASHOGJEIXEC2RYMAN9VK9YQSZVF4ORFQOTMWGNOPZKZ21VP4EVXV9ZV5I05Y7OXWM0RBEGROGHK2FDV0TDLCFLEJSVNUHL2VHJO1ZLW9IC5VAYBEEGQT8CWAR50C1F4443YVJ65HK9BE87QGG48R1PPQM9IGIYOIA8G0PEZ5BA3ZIRB7ONBEWXSZNK7RNZTCPHZEUDKL2UM526KRRAENJ6O2L89RT34PST7FUW2HHAYOC8D20I5NBSKQCGZ247KQHBQJ5RSP7OERZ4M2ZW6OOAA2FTWM9KGAR div 36#ASVP0ZU9KH4DBRUJIE7PINBH44K9OAOQHX68FYWW06J2ZX72R. +-36#CTG8NO6RF2UUTZA59IUGK5O3OJRUOWHO60ER267XXXFZVTRBELNG41U8SR3OQP6TSEL0GL1FMM59QY20JJGBASQJICS2YVJ6IC = -36#4Y8C6KMXJRK6UA7F6M1TW6DRSDNDPSUBOP9IA58NKAPEGKAJ2 * 36#2L7EUX3VAJ9LGQ9GJRKNONR9ID5NY1M2UJ0WHXXJOKJ7PKVVO6. +36#2UI50RNW3YFWLXJ5YPZ26FZERHBKQZAHP4CKFRTFGXM1VOSTUK20HF96HWJO3SZHI1CIFZPPUHS4J6MOR3DQ7UMEJS7JNJ7IX7WID = -36#9MHXZU0WOIQGTKZTVHKE7XZ7QIVOPSYYGCSLU40V7G00PMLLJ84UT6M5K6ZVZ8M7CDLTGPGFAO8400HVMZGMZABHC4Q80R4B9WLC75VBLLHF2XGZ0I7UDR2PGG1WPETYJJS901BYP9FLAXI04Z18DOB9AVVG2WG2RA8BWJAJHLBC3ETQQQS9VKHH81O2PVRK9W253ZTF2MMEUSUJJ2T6HOHU5O2IWRANK3F9SAXZA093SILGD1A6SX6QM8RZVFW0GBZJDWB10GEGY34T2E3VQ0T4AUSD8TOPS327TEWHYZ5UI8IQJL0HDCMO3CEI3UUEX98H5SL74NS6YFJRSUETB51KUEOUWV8LFQZFQHXP2QPVIKNVLDD5F66AJPX8AH6WIXKBC75VO933WYXK95UVQK43SOD64112S4MLNE8ZG7GC0GYJYXVOSK1Z37FXY7JWX312NFIRO0JBLP2UVJBYUHI9YBEBROMIBJ2QXS5XUI2DGJL55H div -36#3DOXDFXQUVD1P72DIMTH0VCP5MLDXMMJHT04LLHT20EK3T0NR4UP5FWHZ1AU0YNCJF0L564O8NQX101EL63044I5YK7CGIIG436HOKNR44S248DL319XI1JCZDV1HSB3GP486UDRXGHROX8YSY9T4Q829F0K0F2ZTEOSNK641LYESZ3F5CS0I55ZNWA45946M2WOIF78PLSPG0BLC7W2WRCBWFJIPWT2Y8J1BWVQCB7W5VW2FM5XUXMVR3QEPPBT8YGFGFNA5LHF3MLT297CL4PDSMXVKNAZATJ5FCN2WIKSMKS5416TFNWHRMGTGTEB0A6IICPPSX22WKKC52R1XHWK92QI11P980JB25H6192C62ZBGSRC14I7GK5Q0AREJ65GQ4IIAAY41T. +-36#17HQ08BSN7QN7E29HGTNEIPAMP7MZJ78LOTF6K2WG8UTI42HHY = 36#3F4V9ZVB5J9NFYUG39U39NAJT4ALH59ADYDSZ57OLO6RA969KNJSDUARHI7ZBC75ETBTXDNHYAPTPXZSCVM9G1161HDF6IGL0OY3E8OU7HMKYNE78ES1N8QLW1WW2CHDY7GNIHQ7ZLQO8JX9W7Y03TCWIBZX6K038BIP2WFJJ4FS8LEX9FXIBUURAFS01M3KGNTGKB354TRFSAEB66P196EEPEHNYCZYN3BNG0QIMNNBT6S9EKP863S3SXI5MHQ39JPETAL2YUDKNQRE1AJU4TG8592P0PDS0CABYLTPN0LO98QFP5LZ6WQTS0XS9PTF2L90J9SQND300TLT4X1H5XTJTXX6E4YKAUS6WVZ4MLENG630TMDHUGXC29DS7F2BI3R8UYZSVCA1O4X5TDIGTGLZV8TCRH9S9CURBB5JW5VG3Y6RIMFJBF7ZKH0GEAZZPLA02CAWUCN8VYYHSF6P7GZKEQOGF41TPPHZU5XVH607T53ZBOX6S0AF7XSPBGVNCIIL1GPDNVQ54XS6ZOL73MN94FCB5KYY6WWY38B5SD70E06Y1RJDGY0396YWBTXDB3RWGGT6IXYG0FGMP6LYA0VI86N4LPD53Z2C5X9LH5BQ div -36#2TX8C25OY6YG1N795HZ58SCYRB83MSKQH3JF1CFDUDCQ2ISD2A20DPC4NPVYMGMB5GHA592LPA3JAXIEBACUHZZPIAM8Z9NP4S8HPZ4ONUX54421ZWCC0K65F6LYS3C4MQI0T8HTGAVUWWUUT4A8CQVVM2O074L0B11UU5WM9UMQTCQ744R2Y97CAQ4RC5JOA1AZH2096H4KMYB7W0JPSF1FU40N6YSHIH1CB7KQ64IY6J9GXT7O3IBNPOMKB82ITRQBRZFIHTA1CZDNL82A4Z1CYJTHLIH6I2E3984J04N48IIV3ID9Q10OODZ8MY7N5OL0LPG9JD5RSAO9FPYC5HO1FXM1AVV8C8DAHH2LUNZKHEAYWX0S51KX4V9MDLF7WSVI389V7DK7NZH144C2G4PREOMXSQ5PXR8Q98FD624QPIOSJC1ZUMMQUKVPIQDPCZK95BJUF0BHUX7H1O7TEGW4536ZKKQU576GVL46R33YSU1XEVBYBD563LP089GI28S5HMN23OQBZIX89X020WGLVKZX9V5SHWLQU32HMROB1AFCGWN3SM45W35. +36#3V17HSFR0WEMW4VS33Z4MAGZUSMGL4UELGW2MTQ5Y4YST4EGAOFEH9UCCWKKOTB51HD9KCZ0902JPHDGDQG7PRP3O1PT4M4YNLT021HRXJ1H8TPARKU1SR2REP8IPDCEMKV40DXCF4I25ZXVGCY14RI5JCTFS37G74G3TY6G3YVNUSMI4ILJMKB2CQVVFXJWB95Z4AIJ6EFVF4GC96K7Y0KH5FZG8432BN8GJSQBTD0KC6IYJWWVG2X8GVFE1M3U5KHIY1HZJGQW = -36#7NO1C1XQTOXQ072S0A6GKFRBZ09KWZW66N97FDFDM7SBO8VP2ER1IWEZ8A1ES14LQE0BC1T3JPHC5DTR5EXDZSD6NTD4S4L6WAO2F80ZAG05F1QTHOJD8Z6AUENV9JJ4Z4OJZTICFCMZGLWYLGCSO4IDH1H1LX16OBHHZJMUBZS2U26E769WK42DUSTKS4BVMZS01SGQ7CBFSVEGLNL0MDLGLIFS71Z2BARW4EOMG2E79U6QLZXSTBGPKQOQ25V5CILOWVI2XI3IHM1BX5GXGUFQI7S8U0GIQK23AOOF7CI6XA73OEQA98CJZ9FW62UDI42CRFO0CJ0SNQWQBUB3N1C0AW1XSJMSAHAQ517D5V8E6RWXVIVVLHGIDF3BYOVCHZYUMZN7K061HBR9OZBD7CV87O3QW2F83LOC5Z6QGLOP0QGXQT3YACG89N2E688 div -36#1ZDMTE7IMYB0RBWASXBMFQW6TJ565661A0JGUVE1KU0B64EL04EMNTPDA5LAD80D4E16GZ08TAOMBH15536FADZ8V8FN5LU425PLOOJABVS33GNC8GIBS6RY49YWHOXFPDGNWH61ZU19P2MSXLWPPF6XE4JYNLN79JO51C5S247STHHIYQMP. +-36#3BEC614FYVMT9NELUKX61BDB2I56796Q7VNTXHLT36KMJVU8CDZXDXDY2LZD86BE7SG9YXQFSASS9GA6O5R5P7DVSCD95SGZOHDFB1TUPWISSSH2PNIU83DWDRKOH0HGEX7VXYJCY023JCE2D0M3QD7QE4CYK4BD5S7NNTEV1YQ83EQ33FYZ8TKBK2T8OHZ9ZPEHONJ7XZXOR740RWWEQ657BSHJ9N5M477NAM083SUZMZUGN7NLG0F9FN7BDH6QURU3SQYRH9CAIRYGXKD964L7FNXN06GB8WVYL01IWUJGWZPQP4LLRCQLMXAAYY3CU5R9WUU32UDE0SK9GBKKW4PDOF3IJYVXWMCUBCP6A01SPTTDILS1DC4AXQ0FRCSB4BPINP88N2KHH0A0EI42ZKGHE62CGNRYE34G6SY0GB989YLAFGK4GINCU3J37DDM4D9TUDFXVHBFS7TFDJO4CZQKQXVC3QPVFRHXN7ZOHQYWLXH63HNZV7K0D7F41E95CC1SP6PFYV1B5QQUXV7YX744KO4AZPVWEFKYYJNN8T6VMTFB3GOWV30K5E0TK21NB7N2GN6A656W00EXSUVOVVPZFT8ILJI78B95GAJAMEB2ZKTK7SFYW9JLTV0RVAMZSX5O3R3CLUPYXOVQ78HRFWGB64P5XG5BO0Y10UL9XNZX5Q5OTTAOW2O073QD02A6BKMPE5CFGOX6B6NPEVS5UFOY5CRFKE3VRSNCDSLBCFN35FCBU0Z53P6173YHQ7WP1GBNKF59ZWCOZOK86V6A678H86LS3QCOALF3OMOHG6WUKV6FDOFAUKWWDOR391A1PEWRLA01TB4 = 36#3SQ0JI7AFTNUAEXY1U8SD0H1U9JIPD36PTK3N7UEQIOLX5UNNERQ24D2J67IHVM1IJOX5KFLB4K7KI71352WRWH2K4AK6PHDO4IIB2RRQ9UUS18C9TI0X266H1MNQM2EUFO02UT64YECA8M5EWBS3Z4I6HNP9575LKX5IVLJPI5ILLCOI0SL0WMK8T9MY4ZRVZEQOMJ9MGW8QCGFFB2O7I9FIAMZ30EN75GM8D2TPMZ890NZ7NXVFC2I9BOSRLUB6AL45HFBHS86MV272QXZMINSPV93DWDGDX7D4GP7QTN4KYVM3PQTUU429MB1XH07JYRPAG59YR1X09IM4CV97LAWAT0S3XU7MEGTI34CC38O4US5ZSDAXHAKBLCVTXHEGHJ4C1J6VUO4STUODB98QDEHN6X6GLN7ZF2LGI8PKMDQVEWXDSQIQCZ0X2LDUV2KPKQNQRYPRW8ZVNNCELT1E2L00745V4G0DW7SV9F7RB0VPCOY3JN4K0BJAIEJQSXMDXEIIXUJQOSCFFX9MQBQZAXZJ3S87XTZFFAI4AX3ROGNS9MV4FOYK0SPFSR87H68C6ONA4269T3K4IW72KOWBSBDXBQ00TXMF4BBDRBT6BO36C44W9WAGPCY2 * (-36#VFS4XYW06KRZ3ORYB4H31I5PCPJZC1LHRFWZNIYMKZIOXCZ8VROBWUDTHR06HFHJOILCFASO5K3SJSNMXIK8GZGNN3YS98W65LHAWHDZK486IN19MKB9QEIQ3GZWIDBP0H9WEPHEXZ1G60CF6EQYJDOE875AOF37OA86S3RP9Q733T0UHU220FR2IWXCAYZVYJFBY1WUV481S4807K). +36#4EK630RW30UIT52AX0X1E7ZD9OTVPTH5ZUH39NVRGMG7ASKHXQL2C8HV24F6XXLIQ6E4LU3W0FZ6CJID5O2PMN9C3T3VKTFS7V6AA3M7X0Q9FN80ZX98C7NVX243LZOVDXXHN54IRH1KT0Z1U07OCKO6COL1OJ0ZIGJH6MVVRMLBQXOYVQTAPAS9XD2FAE08TUPZ214HHUP8V9PBLIIJ27TWYEXI80FXCB3CN8R5SPAW14AIVTYOY24836YOLL0F1Y855IWFK5SRLT8OT4FSU7HHN3P3495310FHNF6PQ3A6OIP6OIFEGENAJPZSJ1WAFLFCPQ0EZQ4D3RFTAMK8GT1EZNTZTX02JUH84NKJHNPHJGP3LFM0U2FUJ5YIHIS87YIGSHAIRZKDU3TGIWAP68NCJBOZTP9JVPG8VU9VN7H3IMUKHKHNWUVLUB62L01HE2J3TAGYI191FM31HLP7QJQ6SXG2NT1EY0DCCL = 36#7GJCT05KOZ6AUZUGHGINTFPXUY257G835QA75S2GDS4809RR4DIACL3Z7BT6EZCYWACJLWSGSTEWWAQIBBJ2GGJS4T7VE7ERCJNQEOLYZ61OLAAKK10M3N87R8XCQQLAQJ7DH51PDX0NAWL21FPUKFQHP92UQIEQWVKS5CD0J94IB877008H6DUHQDEL9VJYOF3OELZ1QUCWAP34OZ616IJ69ZV3F6ULSKQ6M4R7S97FZTXIC8LYE63H54AX4PBN0EJ2MV985EC3S1WM6VLIUKY0R7NKQGWDNU5VK82RSZQ9LS1T8GA2EXNOKXNYMOGQ4W42NF455OLAADZ68ERVWD5C3H1EKMQUP8RYGLB5A7A0J2C6GCGIYO7JDHEFR0HS9W8743U9IRLKF3DWIGEP1TG23U0349V8PJMIB6823QOTOED7Z98YYKJZL3DO2ODIQKLK0IVQA5AA1DEGU345WC34KFRFG2H6DXKD2VB9NHQDB8S6YZ5WVGRBHD3TLVKMEGAYEIJ8PIMGBRTECNSEZ1OBTKUEZEZ5HCTBQZZN5AX8PP5MJLUHB7EA7Y0NGFQH6THH2O82AOU0KW8XHDY9CPPAA3RPM2PSZCDN2EWS45DP297RPB736SSH20WWYOMWXEW7N7HVBZC8CIZKEB9CA6ENAW2RI7BGF2D085520UN2XZ6QJSSGOG422J6Q4L90J9NWYVH417U0 div 36#1OYWLV2FWPDYM8ZOH0P7VXPF4I4OVV98IZRDTF7GXN85XB4BXU5C4VVWI4IHVAWBTFAB7B88HKQ41PNX4PD25MHYROEWHZUQRJA73W7C5XMO3VB13V3WF9P38QCGJ1M1AYODEMDV016B1DGGP2CA65YN3H9LJQQCEMPZPO6CN9HG3XUAELOA48JTXSQ5JZYMP9YDNJSVW430S73LDPUBCL9IUEGWKR7BM7QPSY0. +-36#2ZKXVBJ331T2S6W0YWI1FFYZAOXNAWJ1K9HHJ8YOOT14V8KEEC = -36#6XBF9R2334BMRZZZZNHZ7VXOOQHEX8XUC9DNHTDK4XLIJPZDYK2Q1FGCVYKOF8RR17EWTY5Z870WO6M2556YQHTY7E1VOVEJWJ0 div 36#2BFFVOUTIPZ3DDWL7JQEJSJ8GH5UAC7XF845GU166L0VGKN7G3. +36#20BBXWR0669X2JREBJ3B77O9FDDKOJJB3NZOZFQYZBGEJNJTGSOPO3QZ023UYX3RNJT1PVD1US549BBQ0M6SF89GFA45OI78W15PWOXTJFSISRXGSALJ4FG1R84X50U4XUW6J1QMKEIVII1WU8IMXO23SALNOWHXOSP77V1FYY2Q09HOK428XOBITWUBEG57Y8I5WO60F4UB59KZ5LSQ300W42HYCA21M1EFGXKV5MSW6XWZYWTWPEO6HLD449GSEZ339QOT60TEB8W139OPXDT356GGMVWCQHGIE2EKS7MXXY3BX4SU7MIEL42RYM3XJA5IFA3IRWH9NCSARGSY0 = 36#3C816QPX3ZJ21BVFETCBFMILOUJ7BUER21Y8O32WS254U6VFBDRMP9OVPFRSVIINA8Y77E9SSG2KVKEU8RJ96X1P1CFEQLWWJAFJH11A6TM3AJSI3NNTVTI2LHIT0PTHX6F4DFEPQZ0SJ93SD60QAPKTYU85NBFYTCCK76QLNWLJTE0K50EXM373G265YB10V7JF51HGDFVQ5QO5LBZ85R1SJBDU525JH060FY2EX891PJI74BKQUY2LB8OC1LZHHPRPC4FEMWLJ78F4405H8PNLR8437JQ2N2NY43SGJDBATS5IE1SUH5GHGCG3G6EBC2OKG75B5CSBKCR22EK7YD14HATES6YH3NHCFR5X9HKRD7HM06R3M5HRCYPVFTJMF6LN1MRFGGXT65JOSJFFC7P16ZH1J28W45GQXVG5OKY1YYWD0A1BCQ0YJM6T9PX9WTLCUB2C45QKJNW3V1ZUX5612YX6GGDZC4T40SUURFNGU9ILG3VDGRTCCJQC2DV5J57OBASC4GMD86KCEEW4B7FLAUZAHJDPXIT5MGU8RQJU5RBI3LJ4V711EBRT7QHSHGIMSPBAKLXXUMIL0ZJEV1A2RZ0SC1XN4PORHWUHTQIP5OOKG0U4GEPGS3CIOOYCOLZKUG11U7W5SLJ41HTN52S0 div 36#1NULHQ4D3S5TJRWY27IDRL9KH8SPSZCJJU4IKG0BQ2F7O198JU261NE3Q87FD2UALOS5Z7AENAKAFSSB7J21E6LRJT2JV7AGGEEOMJBI8EDMUJ7FP1DYTFXCOV0B8Z3NOEN3K0FRRWGPBGFWOCPGZSJAVF9P18Y8KYKR1CRR3K8L2VH3QYDEYHBNQX7FXD3Y1H4ZPV3BV4SUSMIH9KYE5KVNBMM9KO8F5BS7D2BX7N3TE4G1C02H7L6WE9EV0GGG2H9Z8PSTSFWV6OIO5DZ0NACJ0LALLQCYQF2B197MXEG0Q5JLTMCJ5TBNSP62Y5V428TM. +-36#56DG9P2V5FR4FRM2V6HO2PZZEHSZE7XBQJ2NCCJU1PPAIXGXUR05WIAYUZ2YMR8MFTZVWQPX5MJO82T6DEAEWX0X2UUBCCHDU15GXKRKZO760VJNPXJGMUAEE9ILH9S07SMVVJI655UXSVJVYO0C5B0ZBTELOVMMNN4SRJU9NDPASIISZRDX3G2VUZVGDCJIYVV8WIFLT0AFN89URVQUTJD7IYV7UX8AGP7ESDU1ABN3VAEEMTSTX38VQVDJ9MQKOXZOND2E4NL3AVYRS2K0OIV4V2QT2RAP2Z1CZYDUAXZLS7C5GUPZVD2QAM9A4C38RTK0234GL0H9IAUE9GVJ3FZGGWEEBP2CO73UKNLWOQD81JJGWQBMYXPO3RUT6SZ44CGZG1BMI = -36#22MVJ70KARG912PAEQHF4CKS6JXNIK5PDW0N8OJPRGKZJW26PVWJO2WYK5S1NBWPZFT4CMII7N9BIZA3W6DK4ALUEZY2RLLT2CVRLI8BCGO8GYG51TZHYFU82XD3L1FWC4FTH8QVHYEW6S8IG8UAJGKA6J895OHWDY5M1RA1Y49DEIRZ89VFUB5NP9WIXVYL75NHU81HQ3IV0S52T5AN5LZQX9IROJNQIDPNC6QRFDRMC6SSFIVINCRZ6QVZLNM7I9WUBQXYNNOSQRTTZYJYZAURP0D68U1YRC3OK5TB2DKYJ2HKS1WHKHOPT6R40KS6VI8ZCDMEISGZ176DTBYJ0ODI * 36#2HW9MWPHE9WTBQHB6OVXR56L2FQQV3N9T4VRL5W6283JYOYREN. +36#POI713UPOHQTOC3MVFP7XZG705DGL4ZC6E2AQZA63F8FBOS3 = -36#1PFOBOBLYNQ9X1SL672FTA4YEPGDYRENGNN4ESTRW8BNBNLEYH99AK40VYMLCO3O10K6SXQW014PB3EER8IF8TGFVVAH1HKR30 div -36#2E4E7GWEPQEMU03LV3V0L8DJPO0X7IME3GMN7OR98WONOPWFP0. +-36#Z0T84M78VH3IHE241988QNJ4L5VPP22RS1ITNQ4VVT30K132 = 36#HHKOQKFCSGFFNXY1L09KRX7A486BSMTBYNMJLASYPFCMMQVRI5TTBXCBBQX0SIBU51SC7LQ79KGLB3C96EAUDVZKWC6QVPOZVN29LO2IATLM2HGTNYF22BUQ02RM08ORL6UQ8MX5ZASJCZBM9AB7B05TIICDQA5DMWR0LA06XO5PSG9EI7WDF50RK7OE834VN4TC5EFXEQ20MTTB6UJAD3VMNY1ES73Z1JV4AID66CKCMMDXDZH1LRJNQA900FCCKXL57KSVAVXD0PCTAZZO4US0TOGCC60ANYRBWJ7XZRP0KPM6BWXW95RDO36GBN6NRPGIOJ88CB3DJ7JU79O9IDZH6P2DX8QUF6MHITHCE7I3LAJZNHVLX5YNIGA6ETGT577I2BB7GFA8DD8ZCB9NCX5DURI4QS1D8J99U0IQ8W2BM2LD6KNI0RWROTEL4UXJDNL023YB2328SOTHTLOER186AI2DJLWF2RC0GQ4J330Z08FAHDCZY div -36#HZ58LU6CJYIXAXPMWMVLT1M0PTX4WCYHAZ9C48BRZLAJCGTVQG83HM0GHXV49GKMSYGIRO0KEJBQ3A0O8O9ZVTWNDCNNSNIO6MIG6EAA4ECPNP7T9VQFOOZJ10B37BX0X0MS3UDIDDTJSTEZP2L2ZT1MAV41FOFE42GD7WY4CAGASW1FT39ELLUR0EJ8JX455IOQR3RDHXVF1J8D1MDK9C94Y0GI7VQVEDKGQHAYQ0ESNUS7P8EUYV17GNW6BLRL3MTKG6H6361MIHXQUR0352F6SB5M9KVSUY2EN3Z2FVES7HVEYB18OKH6E84UP6WT29CLPGKXJX2WMJJIKPUIC0TE7DO8M8YSZXCISW0K5RAD27WQO85QXDI7M2UBP1QHWD8FT2GDIH74SOKVZT8JZ4CXT0ES07Z8WYBATZVJICF26C542T75GD4Q91DTEQ7NDB0AH. +-36#2QGGP4JHINT5Q1Q5EMD2Y4OKJP29PT2HWQGIN1RAGZFSZI1MM9GB0ID8QCY4WIKLHNVN7DH3T5YMHS29XXCZOYBA7VW21XFN79G3YYFYQK42QNLI3SWNDKRLQ0VM73SWFXH6BT69UNBCMEBE0861CZLLEHR85Q8C8NQKZM2SQH1DHNBGS4BQT419QDLGEXMUCTWCK9I9TN8GKL1FU578OAKD3YZQI4KURK5HGQSKP457IAD29BNINF = -36#1HCCK32W0P1OVSAB7KUZ8T5LDPBGT96V9P1GWNLGPX70E72FD5 * 36#1UG2TPV1WO3P74IOV3TPN0J240H2XK0YFM7ZGW4AVR32IETP6RLRSM1M1AJ5GD8XZZ2LD7CWH4B8WNP0IM7JCZIGJEFV540FEWK1LMSKS986MGDJ3DI3U7RR9EIBY8D10E10HPUD4FDGX87MERD8K43TC2FGW1J3KWZWQZGQJZ59P3JMS1ZBCD0WJLUAOEB09WK43. +36#BWPKW6TDDR6O62NRKGWX1FSWL6R4HQMI5R5NV82AL8ULBVM42DHRH9TKZF5JTIOSCYSBWO0VLI370E9S5IMOWOT1OJ0271WSBS6UKZ0M73P4PZHJIFDKQC53HSGKE2KW0TUXS0Z8PYRVJ88W2MDFFAVCS0PGKWQ0CBRU1PBDGSZQITR35M1P2FZPJQRL2SOEMDGDW6Y87SBYQA37G0323NSHLK9R3TVPN5IZ2F1IAOV9O0BS6MY1NJOWY21YPAKVGXAAMD27B339GG64X44UXINKRMK8NJN3TM60U17HMS5OY1UJJPZRDG2QDMBVN0A42KKOC62ZLL12BPFVURURM64AL0IJ0WP1QWT4EXAO5BDW0Y3VZZA4F4OU3QUOXMNYJS9CP1OZ2OPFALWHRCPS7H0X6G5V7KJFPHHALTQAAM14PJS1XD2S35ORO7AMR8N1Q049NAE6FBUD2SFY4OIRWVLEJIQWWAKJY03OZ2KU1AG2TURPW5M4AIP2M59F2GSVA1DC76YWQ9ZVT8ZUQHZED8UN389PHLSPV4JNLRZD8QI0UH4574WBGWID3ARL98R6M8DXA90P7MXT9JJARR0X2LUHLRPSAGJTXMY87CRX6NUZRKNBYSJL01GIL63921MP39LIIP8D57Z3OBGOWJ80LUIT477DXM3MM5NDXS9D5XBWV4O27YWWUV9ZGXKRTW5RLVDZXCPF57W7GXX6RBXJ2TADZOJ3PR022YKCLLPAFEZYYOM6ZI1ZBJHM5KH81QBYZHX7UIPYALLEURT0QL94ZXF1VH2DSMWYYWRQOMYTX1W7VO1LK3TPFTJ1MZKYRN9SDDQCLXHMZVRAF22GFCB5DGFI8I191HQPT8OY45J46OTLLHR9N8MFXRB5BHZZOO0BDBR33XOD3HWP4LRHJ4LHHSDC7N5FXYBMKNMQX7ALXJUTEVLM45AHOU8YXM23APPHIAVH95GHL5R7L2F1IY05OISS25CVEWI2EOAT3ZGUFH4F71OZA7DTNT2KJWE5THILWQD253NVJZ5YIOCB3H65E4R4PFZ1KDRHS703OC8ULDHVVC8A8V9CVGJFX85SVVPDY4FLT04XK81XVN2J4DIQMRU159V1KOGIN8MJOSZ51KMFJ1WWEB3V5ID4ZPL43UMTDWHZY3F04OJ1X = 36#ZNCMMUZVRGC30EZLJ3EU17WPWLQAVQY0YSO67CPKD2YY84RIE5ASKFGXJAJSAHA2UEOSDNIR2YEHBKMMSRXDVJ6IWJBY10D3PUCYBBEWLJ1UGMLVFITTT13NLET4AL2GE0GMQ2NV9RWLXGKPUQ1F2GWZVL64LBPWJSIQ4OIVM8CP97W3797FSVFFVC7X19USN83URBZ74CQ1FNUL0YDWCYDWHPLA92WU2BMFEQ8R1VRZYPK236QH0MTC3BDMIXXDHM1W4TT1HF9V3YAMRP915QHVFJLO1K3OSA6QREXGD2HLH0UGFGMZKIMWF9MJ02FD51ET5ZOK403DXI8ZZJOVKZEVJ6K07PQ86IFLVE00K8JFINOLY7SZ4WA65Z4LDTTYFSE9RB2UAPR5GAG30QA51R7H5BRKG76324L1XYP5WWR1LX0RW72NC8H44PZDPE0HA5NSLZYIW7BYEJUTRGBF6H66LCIDX32YHGXVDZEFHGX59891V366998XJ8KEYL3KAV06CP8HBSYWHM1IHRZBSW102PEI5D8I2XK9A6E7A3BNIT6C270HK3NMOTXZD7X8U8ZP3HDLU7QW2LXG3ERE7JHNXCBI81R9UN5RNCKO8Y5T79BIKJXO68YFXXAHDRFU3KDE2EG8PI2V9ZUVOBZ6SGFE7YN4PHZK209IIO8X7ELTMMF1A3QNPSRCODN71BJOK627NY7L2LL3VKTLTETXFFA35GHXKAKMIGIEAA5SF4CCJU498SHUXN4P6JJV47G6D65AV7LZEZ7QTX8A1AVMMUAUPR5QO7Q940VFEB9EJVA1WVMPG7DERTNPB61M6H0ONIOE4YGUKSR9W3R51X02MTA9VUY5L0NT811LNL9FCZL3B7HU7KQNZ2V30E7D6OZRFWI2W5IVLT44H5AIIH23D38LZE4FCBHCWC0NTNJYCIWE0Z1LY9UDOVRRTBOQ487GFN03OOZYST1GEVXWGSAOUIZ8M0BQH7GHAT3RAP08C39JDYYHSA0BZJC8ZU0L122A23IMKK4LACDLBKGGOUTMRUYFI209PZWAMC2RTTRQZ2Q7WVWPKLO7LT0PBROWXUGFI7D93BPKDKN16TXTK7824GH2Y33LMXSX79JGD3WMG2DP9YRUUYHUC4ZOD7WFYO82WDMCS6ZO0N3SK34C9SZR0FCA0HK6Z653DSEEUO7R6Z1UREW4M2UIX9IK02L7XO div 36#2ZRLCWBI4K9VE82JC96OZ2ILKLGQ6P2WJ9DDDGZCJQVKAUWABG. +-36#2S8H33X0TMSGZJEDI7SYRYG3707RJLBMHRSZ5QFUDGGB8599U4GKJPTQDEQJWIIAMZLRO33WAGK9XWFECCVNUSB1HRKYAXRSCCWP85A3IKXIPEY0HXGBX7YTXT9FN98EHAKGHT6G4M4W23DN0ZN783R174FPXI7M4DC5ZCK3GX4FJLEMSGBH9PG4QSVLW4Z4D2OAEC2UDNFV4JOOC9ODQYC3XT96VO63JLAKRVJ6VXMLAXVU1PIS84DQ87EEND2JN3T54DI8YHMXKXGSDYD9V6J7XPMFSGVDBYX8HG93OYNLKK9BJRSF1SPFFRF1MLHXSPZB59SUF17FGCGR6FNVHRLQ3LYTCWT3BWBFQ04R4P9MJ9EL9NBKXG1JH1LQWMK6VA46HZICVKUJW7NQC6ALW7WGIZU20UKPKUOPB8ITD9VVX3ZNUI1K1LBY3GLODCV598AC5ZKXFSHZPAGKHLY0TZWY24KTQEI7NCPI0SDXMYOOVWHD1P3H9Y08ADUKZC1CVH9MKESPRN6LXAVLVX75BS6TMEO6TFKGUEQBNFYWT25TU52214YD06B9XIBM6D56UHQIMB6O4LKYRB4D92K9 = -36#13B2AA0VZW3R3S4MSY8N107DIA53259AY9CTQTPMF7ATJYOKOM2J99GKHQ4HQF2W9XQEG5DMGCOKGZCFINJUSG4T1RDMTT5LS7AQ5XAP1C3HJJGA0B7T7MGIVJKZEE3FPYSUVI7DDOLX05YKJ5HSE6C99JYR68SS564JV2OWQUBHUL61WWLVG9XH9Y5DN8WJS3HX3QXUF6IYCCZG9M0LMVX8P2EDGU39LX5GR0F9LGCU78PYXKMV6XZMOSSLJ1GMCJ41SDZ5VX4GAS7951O4537GBEVXL8TRQTWJ797NP6YUMED7TVJZKAB3RLGUMSA7P3LRMI09QBCRAZA8SZ1FIFO46A9BZM8VIFO1TY7NQCAEMF2Y57FW582OU9VJ25B3HODIGNIUBD41RSPQII71R3ZDU627VA895K8X0CMNGL2V9OZJW7GN6AKRQNF7SRNTG8U7DOBOWL46LW27C8MZSOHBHG0ICKYI9A44K030VH8E31LOFOP4NXXPZ7BY75G8GEN837KO9KTYACLECOEF8LD1CJP1MROJOVR * 36#2JSUV9AP3FYFYL10P2ZJW8TJMLBE67AGOW56E5N8EVTMY4U45R. +-36#3Y59UPJEC13IL5J10JM6IJ4BKBL8QJH2N7JN0LFY7LWF6OAU1TO2NE6K3946LRPI61E8TY5CMNQNFGEL5YVD8Y20CEDA8HKR3IKNV8QEF4ADPYBAHYHRS1WOWVR50GRO4TC2IHDPQL1TRMYPCV3AOM20LB2QFFBFS06YYRTOVA3GO60ULSAD876S4SBC61GTTG3MAYHGA494H31SUOENQYDZL1SBWJI767TN44NJVY3FZO7OII5UZ0D2Z5HLL0BNR2TYHQX12U8GACENB57M8FOS9SL77K1WT57TK1LJGABHQVBSXQ1W4TS62U1MZR1H0LXP6BN61CU6ZDCT3K3L6NBGK3RGJR3MI5Z34SK0WG2ASUD9YL4O3WFWYT0CLVASUCLWRJU3MBAQ66G1ICS2CQLQZM3HX4ZF1800E9ZMUXKTM = -36#1UO8JNWQX71WSF8KGBI8GRLC001GOI4I8L313LB0BH7BSW0NVWIEOOVM2ELNR7163MTEEXCUCI1RL506JVF11RIJP1DNU78D6O552404VW6QHMP2U85DBMTDECYZ3A80RX9U8VAKN5FILLBNUS65BSCDM6BZNMUFUKRFBLZ4HW5KCT8QWKV0P6XQJ245VKKID72HUM0IGKLU2MEFTKGWQNLGTZUHY2SUJMQHWS90KMP0O9Y2ETP7HG5LWI4VIXDC5J75BX9MDCVI0YFCYQB8WMJMFUUKLR481MR8V2W524CF8YGZ4W1NUFKDC62OB4B6TUJUT6V0VVV3VQSQ1N5SW9TC405PSUG14HEMQIVE4A8GIF6BAM6LFZ3212JY6T236TZM19PS1835969BSYU5T0F0L5PF893VSQ6MHSU7ENB6XD4X44JJO6TCWZA49F2TG7GQ9RYQL09EDE1A8GL6YFWY2JSFMY76EUU2RV67CMEVWRCFAP557MMX24GTMKIQS7PUMSPKBOG390Q3VPKTE6QJH33N3ZHXVQYBXKJGSRNSHTEPBNRD2NI5F07AR5P92C8H93RCEK0FKWEJGADKO3YEUHX7HREYHY29ZBPLXFAOWJHO2A9ZLINQ97UXYTTRA3U0YKTOJMSNXZGZ5JY25HJ79DRDS0F1ZA5VZVVH6RJAHWBOVJS3DWRA58SD2ZOW86ANN08YXGZZJQXUFU0011FOGRLHM7ODRXI5XPNGXSZY3DPOOSSXXVHVIXETF72C7AXAPRQXU9HPCMNT76F6K52 div 36#GVVTDIPB12C8EBOZFN3VX0BP2ZGYH5T2WRQW9F6MYT0MZ37PON0JK6AP4NC1KMGLXKRP28LFLZ0YJE0AHUXQ89MJIYE0HY6HS8WEE00KTKGISRG66N4C71E82YZ9OBKC7LN7P2UV4UOBJ0R8NX5JOPAMZ6DH7MJUGPHUC4IHOAXZCM4GYOSF1QLQMW0B6ONI0OODMEPBD5P2Q5V0SBIRV3JE6W5O2FLEBV0GNFAOC1645H8VQONX1M9QM4AXPQOKQ3L0EC2VX3RDYG970LL93S79TOF885BRWAGJOJGZGHK62BU8YUZI1RPN2CCRWXPPUGI0LOSTVIYZUHH2D4AWQRT1BTF10VZ11KWVHADJ2N. +-36#RFI5LEQA7VGPB18NA70H9UAA1QGU4N7HIE70CY5564HKD0C5IB04A4KMSSBGAZWG7K06OQSS4E9ZA0DIQG24HXQP9SUT5OS1J5LT8CEWERXOI84G1OG2UN1T3PQR7KTBGLX4ZPKBPX6OO0AU0FMRA9NT42192H1Q11VZ6XZWORZMLGT0TH2UPYVHWKZQXZIRBHQIPW97ABJPTXCXQNG9WJSL8JHCNA5MRKDPF92FQA5QWKJVGPKPDYOCORYYL9UXX5MC1MQWHNRP4IV0Q1ZPFTP63239DUC831E65FQJMML7JBJWLBFK39D0H7 = 36#2AEJY7OH28MLAAK9BIYNGWZ1IHK83D47YVSYF3606SRMOZ0XF5L6YPMBR0N0QSQDT2DXLHIEOV2MKA9SWXPG9OJBIYDKVHWADW49CNMPOY0QYJKIPRW0AIZ2RH82D6DDQFPV6DFL8D4TOVTH31IU3DMMXP0GY1GB5WEF18XIB9TSOISDX9166WISS79BN52LIYIE1KY6EGQDCV9AY2FG41I9HE4HHZJ5EP8F3D9IF6K76PCJIWXFLVLN8KPI5OOT5SB9HYW6ERAIYIQDD6LFSIFAKF43KWDVN3Y6GX6U2AT2299VO1MT9WA4MR6CCMFBXPMH9BO3JY03F8C7AXVGN0MT5RS42LYKSWJNURQPQFWZ div -36#305AXLJRZ3H8Y0G0VYXVEL186OEUEURVFIVX4BUXIO27SLK6D5. +-36#KVD0YU2UKRNMTIP9WZOPV4ZH1FK02DMS3TF4VT8KHKVBHGR67VQU1SAZFVEJB801F2 = 36#94A6AQ2VFX4ZXOF8SLM5CWE098OP3PY4FB3W1QVXYK2DARVNZDFKRN3I0F1PTUL23J1VADCDOWY3DPX6X96KD9VFVGWDO81DPXNII1WH0A6EAX0LUKL83WWDVX3J24NTQXN5H2N3AR36D27L5LDS6RZTF9ZGRCVT0Z89JJV6AZIQX4LPV485WA5FWUD8B0RJ2UHB48IOW5UXH7LZ1GCTVPZQN0315RPTIWWJMS0737APZH4F61FYXI7VG24PJ5PUWVIBOKI92UJEJI0OV16PF10N7U3AFXYVGE6Q0ZIU8CQ7AIA5JOTH97GTQRQP0GR9DG2LXTRXDISZWBS div -36#FQ8SHMTL0K8MMRSVOP3TQC36WXCWX6WV5JCLKG1HB5CRIVXXOTTQUFVYGCT3SH4W48799ZUIVRI4ATJ41501GJ4PTONWAR04674DQ235A1QGJPR1JBFT6JLRWQ1KSHH2KRNCALOE7DJ1ITCQG7EPGSSMFXB151YH04LHCJ63P0IPP4TIU3EGQ07IE86WR5PJFI418LEWHJUPGE1V1WE7PW1UMX8NTZ95ZHF8JAOYU7WV3W5RH39U1W5AMV6X1GK46DS47EN00JIZW. +36#125U9JV652E50QY8CHPMFK8M4CEYKS1F0KC7DWGMG0O9CALB8S = -36#3X5MMIXA9UWDT3EM0I5SK2XW5YYNIGD1CEABKCNTOZ99D5FX7MH2U54LTR82BS6089ODKMFR23BL6CI00ATRJ4KKQ523OGPHBO div -36#3P5PGYINB91AZWGDXYLXCNR6679EITR97JFZFV3LYOEKQQ36F. +-36#T2FYJPDABV4OA2FWT4U1YHDDS4C8H9M8JP0XMI44QTDXXLB7D5SG38BD5Q1J06AJL7YATL3RGSJQI0U65HFG9SCDAAPFNG55RD9D8YEO8OSW7AY1P30L3RRUF4ZE1GUMI0N62G2N4IR0714KUM850M8DB7C8DW0EWD0SG35G441F6SC9DK8G8U5XNU1S0IF7VOVVFB9LWYIW9YSTVT09HH2DW2J8NUYGDDG9VS4GZDL64EHUZEUTVF40X4W9JX0F1MU3IR736LIKJ = 36#21K0XRP0I1QYXMVI81JDCU87XK9ZE7TYBW53FPVRB3TWFZEDZNWIUDKBJ9R3ACU78YZZVZBBPDPTH7437WLCJJU7FTNN93T1OKRR999EJTQKWU5NJH6P75KEPX3EJV3P2ZZFCSZVPDW4OWVRYQU3G99O48OGTK2G5BF5F2AYMYEOY5OYZ9XWSFMP9N8CQ1E9DNH3B7LQJ2YTG03NJ554P59PIHJD5XY9G6N7QM1RWS2Z5AZ3551P1E59H4XRMIZL60QJFD9QFL6PWFON50KZ85MTHKUMENXVJJV9784SO6HUCWSRWJ15TI9LRIFULQ5 div -36#2J3J2982EW8RTTZEYV4DZN8J6BQ26XKCFQZW1HDEA3Z1OFIPMN. +36#9E0VERP0W4L192XF5EPABITCTIINQ6X59BJIPMZQ6E5FCVV9F6G3I1PE47LN47KNZ60HQBRDQLVY3KMP2Z2DNHE7N27QWWVVP22ODY6HGH1W4C4JGLRNIORDZUXU7WK = -36#BEUPE6YGNXJ24WOVA679AGZ98RY20WB4QYR9927RNCR3Y0RGMOLX4P3GPV9HHNMTD5DS2AMDK9P3RJLDE8ENBDX7JNG79BGHPQ6UWEJHN7HUCTOXQDRIY2L6HO5KWHJGX1DBN1EYXLRMPHZGYPX9MBEOTA3Y9L8M36SYHK3WUH88ABD86PM77FWLVNXJYU9N4YAZ75I3U3T1UK1V3G495RG5IJ5K3RXHNECMD7FT9F122H3F0ON4WX88X8FRENKQU6W2GTAL6VNEYHECW3PSOXEDHXWRAVZJJUE4QBN4R2UP65VGOCVDX6SI61X2XX3YD446WHEOPVZH6IOA718PMV6UC37VDK7XICS1MN7LT39CIN7TBPK1I9PWMVXPU9AVF3GEAKWKCRL18 div -36#17R882MF11JOI528V4ENW1V7CLMVUQ1IFDRTOMIFH40P5Y8IMEBH4BU7360NE9BF0AYUTY91XR99XORKMSEGZTP3P5FIQRIMV2IHVPWGEB4730O2K009T1FEHROT7DLQOWAM9U8V36MKTHG1AVKAOT6AL9YWYFKEF0MYJDF4LZQ8QJCMIJ1OC23CV3XXN4BASAGTT2XMZCYWOL2WKNCW2P4OQRNI4EMAFKJCSUJSHMFX1K66LAI8HD0Y3MRQC5WNPL5KDIBW79MM50V. +-36#7D6MFJ4DBPHZ97X8SOM2SOE8A95C4FNU76L8X0L0NOY7RU8X4TF0ABQA5VB46I4GXRD5QVIXKS03TGCJZ3YZ4I4TB9DPSMWADBW1498EDBIIDQP8QCGUW3YWLYV2ZW70H9ALGWGRASOPDBIZ07SMFD3MF8GABC6D5YMAQ1WSIULBLK093AOWDA1F69OUGR0IW1F7USZ4AZODCCH3VPN71D3JGYQ66462SAUN5H6ALQO32A76AGGSS9JGWRKX2T20PCR2V7H6HDX1ZDYU1RJS6QGJL09REQMECXC3D20BUUNLM0K669Z2DP8JT9RKFE1WJ6T10YTTW3YMFGGVS4QTZCI3ZAWC03CSCVMOPO1L4Q5Z8V92SAZRE8C0H5CM9JSCOWRYCSGUEDVXTZNMGE8XI66EMHRRVAAWBG942295UKHD9MC5ZPKIRHGNVC0IEFAGEOUFIE76D7YO50H54MK5D4TXWB0L0ZU628OBRHDWIRIWZL0UNMZHUVR33GOBPB7O5PROKWFGIDUELJW22B3X0TAON3F734UP9KYR2AMIORQLZIETL20E4IRIE06ONYTPABRVZV84QLW4GK1ABXQKX2KEIY0AC1ZRNRFGYYSNPBBISZTR614AX4BIHHVDDHADB462VPTCMBDMRZCD548ZOIEBKZNOJGLW5EF8Q6N5DIG = 36#32FJQ8FKLS9OU9ULW6XIN9M6JTRBEW75X8VUWFPCB48QFRU1OEK7HLIF2YVISEA1XI19BA4JC0E0JQWQDU15LZAP09LFR50OU1LFF8I1IVMCYI8N76BE52OLMFAAAWK10C3PI7FQ09D25CZ1WMIUB064NFPP9VU1LH78VH43PH11MCYI7DQYMC0ECQ36CGUBYYF9143JLC68DVG0G7L4RD8K8R67OT67PSIHDU8WVH6XJ0RNQ57HTW47DT90Z8HEH9J7W1NVTRZ7UZO0H3N22WVXOJQJ0FGGRV34V8C4FPNWX33WIJ0EE9MKWHP3NGDXVJE9BPQVGLAYY24V2SJBBY3KSI7U6R188DFUJAEY2ALZFY90GIFT67JHU6KFPTRS6V9YE85RQQB0690I8NTQUWGVYWA2BUGYM1ZBBFUTR4X7JD5O6ZXFAJX5UB6MYKBWFE3STJBL6TPQ42DVBKUOU573EQ9MG43GX4I5VMTP9FWO5IDBVZ2NDMB5KAT5ES09ZAS95XZNPO0VHBJJM08T45CFQNDAQ4XYJ9TM9UZ * (-36#2EG4OW70PR4NFAI36KQ0O9JK78BU5CDQFZBNENLOC2GJO5PZ3ZMAQN8R3VA1XBNIQNZ0LZBHNRUGQ17GB0O7BZQXK6OW5906O4X70NT2MGFZ81KZ05A3BHZJC1SXHNBXB0MPK). +36#L9828NWM0P1D4ISVH9PKTPXNMQOU4AJWTS0VYKZWWZBNZS562NRDF4KKY6ASADKGNZNKE18Z6G4DDR1VY5AOPJQ72FXS0EXGQ6HIDOX79B5T7TSD5XQ6QJDNUEL7K8YY90AXEQQQ7H2WRUMB6TM3562ZBE2ARSSNBLFX0YQ9JZB8149SV3DH3PT7S0E4U18051RGV0E89R5162ED7BTA1UYH4FQ6MSA9AYSB20DEY8MIGI6D9GJ8913NDGQCBI8NL0VBY7CMF0XIKXBKK2C1D6WTUB32122DX3Z3O9D2YYDJFFL6FJ4SIEJ3AAM26AH8AAEYI3NIJ5W18ZFFF94N5X987DO86FQQ1RLALS1Z19A903QEVT9PIHFFI0C216WEMCNXS4NCK1I57EPHHIZMMSHKNH8YVSAUW90FSNDK7V55P7I8S6HYEPBC66JZ7UWG24QWI430PUN91NJT4IZE2YRLB6R45AR7ON6UPCC0G13FEHUT2I4KMD93VNTYGMDBTTEGSC31HATS28HYS82Q6LVWKA3V = -36#K1E39RODIAX88OG774IK9CW3SZFQ9KEXPP5ZGPNY5G1HQ3BRPDOX3T4U91ZE5F2C3NQDSCE6OUBWO3FGXKIFFIHYDE8N1UG4WM5J0WV7MP87QI01ROOP8JW7N2C2T9GAH6ZAJOAXHBTA9BSWN9C7B06ACHB0N9M7ELBG0ON27TFTTNZWB5B5FEBXTHYAD8XWN27CWPRUV4JLB5N88Y3C330R8XJNH5V8R99LDPJJKA8WJO9D4PSB6KBY164MTFFNHVDX1V9IOMN2YQUS3TN6JROFUAUABY96W0TFYFZX2UELG7EHOB5HSD34NFUV890VMSNKU301YHFR6QTZQZJMIQ2TDJ1OQVGC672EUGDXNTRFNAW0BND5NZY2MOZOZ4DIEK4B8V5F2DAGUQEY82KK9XZG2PMTLQ66AIP9N7JFVO38MC50R5ANC69A82AR7L7CXQR2U4CQQYQDPTVHHXZPDGIAQQN1Q2DHDSOTICHULVG76UM563EDWAJ36TR88WEUJBRUD1MSUPM40SFQQG5K204VQ3YH8CTSBVJYWIWB28Y2ZXZRUURQ6I5CV1RBY6IRPFODX80WU4KT0 div -36#XXRIH4NWQ1P4DTAMJD23B3QDHPQ2N39T7HW9RAK2V7764OSN0. +36#1FN9M9OP3JM4DNKHZHZJ57QHG5JJ7F58UPWGIM0HWB2MSNRE6W = 36#BW6FPYA0L38TG4JYLBPP1EJQ7C0TUVUKEZ2B90PPGRLRUNVLENV0ORQP6DB4X5ZUGOQT4H9UF64DYEL2UJRLSA8PRGAB4NAMCYSCOC3UC6HLFSU2KJC8YRR2OTLYTASX5PB11D7YLRV6G6TNGRIP63BZQE8GDD2YWZ5CCMXB4J1JNUKUH3NEUCEIL962L2B5XXE340EL4FCRNGYPK073ROOOPO75TXHBILP3JBPNE0JFHQAMZTXOHOLHERHEU83BZR0U893OPPC96TOA6GWZ4SV9NYB7WZG2RRW0ETH4LLKTBX534NEZO23XDC0Q6NPRD9HPGYNLOAU6G3RHEWU7X2SPXHVTAU3EZJWSIO87P1DFC5R5KUJ0VBQCFMV464ZRRBFZQYQYR5AHP1EBVHSMBHBW6ME1MUBMV1KYKF8GXR8URX7XFKPYLFM265URZJ466YN8O div 36#8AGM4YO4S5MCGACXYNENZ10RO4KJ12QU24QG7DJIG6A6SMYRRGSY4KWI2RNYN5RJ98LXWRASAU4A0V6YC5VR55J2FCFMAB1KEYVQI63WLV6NMPWH1Y9JXXPQL418T2EEPKU92Z3TBHJIV24FPXW2YTYSBFD8C11BMO4NZN693AQX4T3PFWX567V61N3LMSPTKQIMU6VNZRO1DJGFRAG8CWGT05C7KXP97ONRK4XMPRRQR7173D7RCMTV8Y3F9BSL9JZPCTL7FNMM797S39QI6EFCXLL9PHYSH6RI3ARVTCC7E14MR1F5OEJ52RVHI9KQERMMF87HMQ26YTIQEZKLK67Q2P1NI3GM87SKCWOA8BRNS14GC4SPMISF9V6PBHQQ97CA8D76VNHLQ7T0RNL3. +-36#K92427R9UHOSG7LX8BAI0QKAZ8LDR138Q2ENTP3AON0CCNQFBV140ZE76D7WXIQU12HKJDE2XT2J7FKEKGAE8A82EPA8IG2RGZ9ANU8ABPPBYUW5AK4OR05KS1TE2BW8USL6TWPM01F1BPSO5FCIS6RGMW9JX6MY8WG2BQYC89PPBSSN4SJPR6QXIYUH7K2UGU1LCTFEHOZQBTCY2B6CSFHWO5FXOTT9Q7JTGHAW2D7UAUU6Z910KTPFLZ7RTEDYSI0OEM1Q8VXNL9JBRTOZ2CAUNKEYTLV7S5NJQID3MMZIHTGQG65K8XFTTPCQKX9PZM437QFKCGQZ83AQ7TCXIR00WA60K1FUH5BG1X2JCOY0HX5NL5VZ2J1WL58KYH8QQET2U5AXUW0PEVEUK5BXY53FMWK86V3SZD5JUTQH4M8Z2GWC3TDTXUXU32G31JWE1VBTCV6EGDK7V6B94RSKFXTRORLSPYD5JVLPGM708XDSTRSO8MYUERGCA9XL4P9IDO8FHFU1FUO3LMMPD5BGFVZKQFSZ02TIKEPMZ2W1A346CJXK944S0JZOXDX6TJVI0HX2OGQ4NALXMLBWAZN1AZLW83KEUL4L470VM3U4FEDSBXX8OX37EDD32MFGC7TQTYSZYDXJDDXOUKA1UF7PODQJ48PMOD099IX6KLNL84FX4PT7VV9XE3R3A291AVMWK8PUYSJHI118PPKC4ZW7LORPTTIILMKGVUZECUJIFFN6PNS6H60VV8VFDBEI36ES9SVNYK7EY08ZDMY8ZKSF1GAACB4HLZR0HVM189NNAN7PWE4HKWCVDT1MQUXYYRFFEWFISDJ3DK30DTUHFIURBFPKDB50V1P1V1RL3FB0YU8E31OX81BU6L497U7O0CU0MBVSMBRD4VR7ZUAQLMQ12O = 36#8ZDBVL7SFHST07VF3V5CQU69K171M1QO6SKLHCK2WLDXG7AU79EK032R727WHJUBSMEIXJXVNLY8J6V7QSR6Y4KI5MW8AO9RNTNMWN29H621MGS0JAJ4UWHVO8W3T1OOQ1WKGR8KQZ94Q168VZVZND8Z63RKSA2NXXF5W1XYGXQXSRUK0EJ6FS0SLECPE3NSHTXNEWHN6LEJNVQGLMKHPGLPWA8SHI5VX8XWYQ7X800JWL92A10N47L1ZHIMW4GIZE2I7Q31DDRD7VDKNE5IP62PM64ZT10FS11QTG7DXMFKQAIVFMCLVWSPK4P0YGJBCD2PN1QUIOWIZFW7PWAD5G26H0N1G2AYR5J7GH0GWAM48PJQVHHUNMON0RYF4NEPAAXTZPQ3DSNN16JBQ9C40GQCXZP2C5GRCTUOBV5SO1ZRCCPKI98J692H1E48CYGEUBLKH5OUC8548TTA60JOW04FBNFVCH5ECT7D0322AJ5IAMKARBEL1YG1YFYO2P8WZYP23OFPP1OOQ3L5M2XWWCFM9TO5FDNSJ8LW8N8J428FPSQS56IG1PVTP8HUG3I0X9RH77A688XKSFG2M1XLT279Z11NZYLJ90AKE8Q7LBZVN4965XXP0CS5L2YIOV4ECM0S7JWTQJPKQ225L5A3C9MKMRVSWOX0HN6TUNUYZR4Z0RET0ER5ZY6AJOFMOXBE8YKZGJIUPLGTR1PDCGOWVM0V4NP4O8ML8ZEKFD1ULPBTHXF6C754PBT70YH48OHXPZWFLXOWDSABS5ESG4DP0XM8JS6KHIYPPDFZTA2B9FOQGMR7DCC6PPZBSKUOOL5C * (-36#295WW8TIV8RGJCYHL5E8IBLC1DMCP5YZ04IHS94G7GGBWAND5GV7FC3HP34A0IPLHBNOPPUL5SEQQRCI7GC4NQN). +-36#2C12ZEEDTQYDNULCSER5FXO6NRXCJCGTL57Z74FG69VCF0J3IY = -36#82OY0SZYAPFCKUPHJVY8B2WUV0M386IIP7B3SC82CET0SGFGLBM25KSDCEB606QT2UDC0YULCFHCLV45AHWEW7RP4D0JU4S87BZ7UG5D1LPRKF3Z99GID289H9HXACCDZD6MXD23A5212NULQEOSHT74CI803KZG02T3WIH8TFN8CNQUTH54WRB7F33WG44BNIT0XM67VCV66JFAKZW5QPOKXXNKXL5MD6FJ6CIG88QUQDD73FNEN1H9SEK8P2MHDUGR0NGAX6CFIKGUCVQ31XOLPHAUK5TMBKEHY3S5V2IO29SEPTHQ2AKK2TQ3MR62ST72JDKW97FSIGSQ7R7AEFK2OFDTU06TLQGDV3UJFOV5JTGNJ2I9EJ6JU8G9B38X42L6GK273S7KWZMOX8570JPMMBI2O5RYPDM6B01GJWJEGQTXHBIEB4IPETLJ679EVO31VP86RNEKY div 36#3GJDCT92BEMNDD2HW0K2ICODYWA3I5RK7IK4J8ZC7JGZLGE3CXW0PGCU4P1YJSI6MIYAIMQQ17GBXJD2JAXXNTSDLYHJI45IGABX3NWCCCIJ7V0V78O7MP0N0UMA1ANBYIMBXJVJOC21RE79A33CEWDI9HMRU8DVBDT6KI1PT9S958C2WNA9Z4VO1FLPWRQVVEUNPYFHKKE0DPI12MI8OQSUI80Z0IE3S11P2V8WMFFGBD03U3EE839GKWXWQIBKVWRIV8RV32E9PCHERGW396IH7AWDP4XA1TEZI07YHQ1R518A7G1QWSHAN23T5WZTNYHKAPELI6QY33ZVM6FA3FVLAK1JCOFZD78FC4M43GXL1L9STIV4IJJ5533Y5X466JI745RB2MY2B33A7X5LTLTUFKZ1. +36#CQQU99BXQKBEA8C0RBGROCX7FYZUPHJIA5G88W5PUDRIG7TWWSU533UR0TT22D20QNI97IGUNXV9X5E220T6XKUUCCNDENK932WEX6F0F9Z812GRRMOFJ3O2Z606U6V9LMUBLTBILUDKDBLAIRE3047Y9VO1JCFI6FILCIRZ85XONU713FZES421HGXC56PYGSCOYS9NA6PQZHLEV7L1K7P7OVWSJROE0ENW8Y41Z0OE93TE942S055XS = 36#MYMQDU2MHBEVSK225PDBOZCWE7MHH94TQZBJI5UQG7J7NRDG30AT15VMPRC17ZCWYEBNSEE9XWGF3UB1M0QK3BIRK1XTLCTGHTWG0IK3A41YPRZ5T9BL2ULR2Q1AGB4F932162IYQ73COBI1G5FPGCCFWK6Y70W0TOXIFXZ6DCQEHNGXEMU1KBCVEWHIJ1OVCWK5RZ09BXWPN4QG4TICA0AX740ND9558GH1M9ZGLPNC4D5NFJ170DM01YUW7QYYF8Q7LSP3HKE7Z23QG3K5X549MH57T2SOBFIB3ABBFHSQX2ZLQI0KIHOT26YHJSJ655S084O1JV3HXXSG1JE7KX3QW3ZYWZ5KW6TVPMYUYAJ8RFYA1OLWLQL51ZNNQB8USBXAUKASBEDD5GXHYJ0FXPUKH3OIMIP798BWP8YGO9U4S999QL6OCCOM5FGXSBY2521ZFGRPD8HMZKBZQ45K0LPP577B0GNHSNHKXP7Z5NI4DCRK6W4JOXNTN621CO3LUNT703DWMDOPT78VNMIMA3EWHXXBRKV5B9HU3EZQC4UL1SQIL2B9X4DKH6SH9Q2CGRKKKM04KE9HM8Y74EBV40ZY1BB619WJILD9R1QIC4MLNK7NUFAFF19S3NOXG0J1C4GMBOPV8G43IOODV4CNNBQVC9ZJWSIBZXCW1NEIEQYLR5EF4QTDLM8UDR6RCOCGO38X1U144QSOVG0 div 36#1SVB9CIR9V5IMQZW97JF1OOF18AF24YWHYTNBHX9QZUE6UHO5Q6UAWCA01W3QXZDH9JTHJJL7G65G03JY9GDD694D0JW0BR98F7STT9Z57N6CKBO3N7WR8HDEWGAXOXPDZF986E15W2DD2SI00AQO3CZK6D0FLFXIKRTWTDH03TQ3YAWNDGXVHJX7YIBTAVQE54T9J2CGALGQMP9X1NLFAYALRW0SR0T91LODGPQB3YNQETBC6004RO9XG33CLGV5RD1AWS9DBHQISVZZAU5GXXMHLRU7P2HEOB3W29N1N04HWHCA45HVXMMK5L7L6UPN59NPHQUOBW758YV6BOFWWRX040EWYT2OYE0UFPQLZ3K4NN1E23U6U2ICW5B1UB02L4R17U2Y0GPOATYEV9ZTSM1U3LBTKA26VDN04CBPMAIWSEQR72RTW4M20YKKD8859AM5K7VSRY5OFS5NJJ0LVR. +36#2UA7RBV250LGJ2VWWTRMA9RAQGTV17KZ5YD5XTB44X2NGYZ3FBFIA0BQO5XX9D0U1M3ITLL5YLPMVCMWQ4SUFYCKDPSJCAAB7CIVCCXVX8BFPDJHROM56H92S704WFH4L4HKANSGEQ85GGBJVY94WNLSI5PG9OSLPO41XQC7L3DWPM05035RUY7X4U8 = 36#1GY205MERXAFN30RE502120E35C1R7RUTN0V2VK1PSGYLU8KPT72VGADKH7BRR0OU9B7DK8IMT6GITQY45ME7ZCP5K0D3NZFDF1DO7CL7TZM9HEDJUQ9BYSR79C2XI7D6CYOJ0MQCZL2BX2L7QVN3URPCZJH0XTLCCDT6Q84TY82JVE42DMYPBLQRWJ3077P9TNGYFEX9LYKQG4ZLMXL8LG1UCM918CE3PYG2QC3FHBK43AIVAOOG37A7MDOW28KYUJVYR3J79P23GJTNRMIM8A94TU0RMAFPDMKS0SLLSC4D8LQP5T4HQY67Y2BLWBRHB0S1PZACJ4KBKN92K98IWK3H73Y46OJC16JDK4HH43PTSXB0B4DSWSBP5GTMPON4 div 36#IMUXIPKCJDGWQX65LL2U36BYR9KNPSETXIABMF5GMGMP0PBWBNQQSU1JQG4IG1WNR7MT4M51BG3S8CCL40FOLPRKL2CTWU1SHU6VL7CQUQ8XUCW2OVSCRWLMKRIZWDYKU43BJ357YRK3WZJ52GNEAMZI3R0JOUWOCIL5OD677HFRA1FC520A54YXFTGW3RI2UIH5HW. +-36#32UTRGICEHOLBTZYNPCFBK0UM6YL8HMPSYBYJ0QHJ8X580HS9K = -36#DV8QZJI9K4U8G7A2XTEB0ML9IJ1XU9Y3F92772KYPZGG0PLKSPKIPHHH6DEYLUE8EFEE04GNC4Q1CAVVR8DGVX0L8G7KZB9D3ACSDYKN4IXO6PC4944HQFZFBOY17I743VW4D01V94AMF0ZUBC8Z4YKLSOC7EGQFIJIK7OLOO99ZZI1WIDZXBB1TG0W div 36#4I4K0I2CBLBFX2XUWI8IQ2ZLAUJPF7YE78HMWCRIH7UEND5F3JWTQ8Q2KT38T7AP5UZ0H24U01H8CDBP7MR0IG15PMYZDHKD84Q0J86TV3C3LB3TQ29L7URSIUTI3JC4SOF01OJS5G. +-36#1N8Y3MSU2N7JBU5WHMYRMMMK1AMRMQ6ZDFEK6GCATMEKNVKMEGARYKARHL67RD8LGBR80W98H5ZYTOR9YR24MUSNAXX3CCV01PA4YUXQI2ITZ1VLL2UJWKFFI3RBBUY = 36#13SIK7GQK47CVPJWT2JIZV69HK4CCYQIGCEPPFGJF4JCELYPDJM8FFAQRGI6K272PQVS5UPCE7Y0EB8GKLQLJPW7VUYE0QYWAFIDCG86FLN4UV8M11FOOL6J21F0DGTGLI7XRJ4GJBDMA0JVS03977A7J14H2142YPBMJ70DWWWTXL1C div -36#O6ESBT6X08IATTM5JJQP9625R24C3C002E6HOQ0235FY9NU5C. +36#9Q1HS8FAU6RR43MT80TIZPLP7GNU1H2PKD0ESEOH1P68YUXGVYM1WYAVYEMVEEKG4PUGGJX659PZI8ZSHOB9WLAQKQR3NPZX34K16CAW26NUQ1G473OFMAKTCRFDUOA71CMV9G1MIQLVGVXMKI451CE1Q7CAXVNHP2NUR1ME3ZI4BN505GL6J11XHZ4POW9466JSOS2PD3HMTOY5XCRLSI03C97USVN4W6S83Z9JL0QT7T4IA8KNCSQAU7EN336KDOMIL8E6P1YJKONBHEQQ7ICDHY5TG6AY1NZNG6I0N444GBDTHGPR26OTBJDCH8ICZHMQBI922MPU3SV2ZW7OBDG1TUUQHKD9JHLR4ZOLAGZ9JHGXDBTOHJI4SEZZI4WM9A479WSJRES1BG6TJ53BXP2NV8NH8S1F83UBCHOKBSKELDBEYJP5ZCQFT1VADKX1WON1774VHI95RJNDWISE667NDMFHT7UVK8KY10MKDL7L0KWMR11K2ID0FIRVMZYL2 = -36#1B2B1PHPY9WAI6IWWQX3PX14404M6H82CU0YLF507P5OSD0Q8SACI0AM0IMMJM2RAONA6JN2L390I5HCXG37S2L6C8Y4VOTPB9MEDBJCGEKON6QHF6DLQJT5FAQ01PC7VXCJSYCM738CRHI8JZFAHTQMNH7H0CKFRAVIDR96VC6Z2243PZ9NLI6ZCGYWJ863621EL1LIZLLQM8A8RG33BXAZD3PGUOSRD5UO3NO2M0HM7VR7N43SYERBYPQFRZKC333R0NL8F2XBRLCP3WCWZALTRLV3T8HBL2046FPB6Z9X1WJ2BXV6TZGCDU6E37ZJK2HWULIFC5A0B6GMBLQ06ZLS098BRZ9I07AZG78JLL1VAQM5VOJBHGYH8ZB2HV75TYVV7USSP7HKGB2CQ4MVZY997F1M3VMC4XAT019K6LJH7SH5UYPLS3P7R8PCFEUUKOAINY9ZDNKZF19RCCOESK27TE3SCZURCSU8HARPQA9SUAK3PC7IZRIOCVZ9OAYV0DVVIP91UEZ7OCG0RFEVDGEBFH634IWHJFSCIVGQW5HGWZXYPVNQ8I3E6OI7HLXW1Z8GDYY3MRNWLZ9TBWKYE2NOELVT117KWBYQGPJ25W5QHV6KPZ52ABGY7GWR0DWKVK5FZ8BX34NCW14KJ4RKVFDTGDNLE8Q4APPYXCM7WTAH9PACB34ZH34EISVOEWDGSBDIT6RIOOHNICWL2DUAU61Y953TC3HA6FLPPPIY8MKNVYHQE8GXBTOSE9OBDFPAYZ1ZSHISWVMPJS9LC7GSQSL7K div -36#4U9164FXSC4W9504VKXB1PECVW0NL83YM5ISVDPF3938JQC5ZIA1YRVF4D2GKUXAWD2XPLK9HBGP4I45LJK8K1PZ7FU239GPKKOAATDWUA8F93D9PYZK392H1JJHYPRTI9J2KIP8VB2JWJBIBIV9Z54L9GXM7CRV9TNYC9XE8O5SILK0QGMIPORKN1KG75FHF9WEP4AAJOX9J9D7WMRR4ZQML1T58AQQK5BLQRSMNX3JQ47B9L36LERV3B7MF8TSHK52RCYP39NERQJLFU1B9PXS. +-36#1UTW4VC6NC1XX9SJW7O9GMD8MDLQ1YL18GM6PNFW0L141N1S5KL1WFDU1S5OY5VRFKHEIALPM5RBF87KNCTP1WIO6FD8RCNRLLX7FPPQHY3FS5497H1EWI9BR4Z2ZZJ6S18YIQRVUFD9730LNLHD2QXJES9V24MQC9XL106FOHHXEHE8652CNGQRWICQ7YS0IUU0J3FJBVV24M13BNEOX9E8Y075O33OK9UGYBA0E1B3VPHXWEUSABA66K16ITWE55QQUEQUVS5L5A8DQLKYT64ITWNRVCZUUC1CWD9DSRINZ0F0NQ7PLJU141AIKSFPLGQGFJLHSFMY50BF6WSGY4J0S21 = -36#7SSZRMF64H37M0EXZU73WSV7345VJATAUNPIIAL6U5EYAVQL47D2O1IWQXM82487ITR3M7KZL0XX7YZ5TJS6NK7CO0QKI05SHU62W78HZAOCYRWL44TUKAACJ8V1C5KNHU4PW7LSHSGDORY7TJ125PR6RCHQD981CLS93NUHLHARTSB566RDJL2BE1ONWVJKEB46XYNDPOS6APKP5DYUNOLWWSRXR1UZUCGAHR4Y2W1W6QG2N47Z6TA821BGY9PLJ2QEDYR0KJTYZB2DJNO9FQQRRJ3RWTVIJK8F913PIGYW8T4P1Q9XZTY3VBIC4B2BYP6LGTHZUSH1F1JI0K5E7VJWQ9PTRPSBKQS9QO8WE9BHGPKI8Q68O41RCIKP50WFVY9GRDVWDW5WXC30H1XEDWO8E1254IVMAOUNBRVDOIWGGVPQ5SOUDSCKUVYDBB417RE0Q3IJETR3NPMK8Q3MOI4ZOI7BICNJHZ21KSPMDTLR8YQBRB2N42KXMWUFKLAMTYO63CDTYAVHYBC6BIRKTOUKI3WJBRNGE6JR5UJJRLGD1CYLEE3CT9GVFFTCV59W1PU0326QVM7DFX57FD5YRFC7D19CM3KLDJA5LMQX7DOQB5RTUAKKW7B8IRKL647XUYU6N80BK28LI67P5XUJTVCQS7XDEMPXZNI40OCZXYWDOHCAW55VRAA4C5HE16PSLCLGRI10K0KQ5YO60K3B02T8E0FXSN3FTVOEK883AH2YFKQS5GMXI3EBPNNVC3U div 36#479HIC6Y2UT5NLBAB4A4RPLGE801L70CN9H9TDFIB6QEYVS105BNC1YVZXNU656VBNOV0WO11U2J8K1B6EABXYLQFYFBBQ29P1TV35W69KYFF9KW99RM02JX6OZY396AUSS29J2Y5VR6WQHEVQXF0MNEEV38PZ99TXQA1ZCHUMKKA8QFOFQF2YG84QRCMW7IVWXJSWWSQ3A7HDNB2SP57XNQO26LOSNVMFJFAV33J44KWCW88UY2SZC6XH1GIM4QTYQG5C8WH38SYAEHMJZ1YSUVJA0ZCCF36G1XYZFD6AVG9STOYV4B00E070PMB5EI32E0UIX8M7VLGHBM1FTV2BP4I393XQB2B0BIQ5SW0OVDNPC8OSY4BU4J5DATD5QVU0OP07APNUU1FEGXT39HUL1QCRXC1FFSRB4FU. +36#2GMT87JDDR4PCFVU7O42Q0KL7H2X0P6N3HPSW0QK5CNLX7XCLCDUBL1QLDN70LB57Z22BME27WCBD0UVSA3SLXKFOL9YNG2EWTF8VISMGDZKLS90KIVCFI7Z0PFCKRQOAOYX34NTQYXC6VWR8Q80762SNDBRY0CC6NIC7N9Z9XN5W7A91DV2L3BBMR6OU7CT682JMF82518NRNNJ6L2VKO4PZH81TAKIC4URDMQ3K9ZUAN1JDALRA8AWQ4VWONC26A75S5BKKCS9GCC4RDH3OZK3SE7IVFKDKWP2CYI6KPX3WDVG793P8RMM5MFVTW6UFTTJ2CA33PWGRSM6OMNAG9UV44I3SR545NAAK7XB842R7OTOI9A62QIFJAG30CZUR0L4J5BTQBC9FQRVEJ3F7PEWYONN721EQQTTH88BLB1VRP = -36#UIBA1TG07OP0MGFK7EUZEWSEMHLIVEP3Z7670PYFTM5KA3MDX10YJKMS50GN0BRMG6WJQRCHNM8MH0AVDXETPJ7IUP4X8TUL2S31IDN8W6PDY3JLCYGIVROQWVBQXJ2KH5RG3E3572OFDASM790ZPKB3N2IW1H49RJ46R9EXLCW77C4G1S61O0V85QPX9ULIVKQ815JTHLWK0RWCYB8GT9NDHFA20ZJF2VS3MTT52CU7PW1F1EQO2TBTY6IIEEDHUYQ70XW138I3X9BI6Z7R0EVUJ90BUM79HTX3R8C189DOQLIBDQLHEA79D41D6FCCY00VZ1EUP44LCFSNLZRVN3EJEI8K5G81FZLSKYP0765AG06I4HHO6CCRXW0P * (-36#2WL4O9E7839LDHKDJJ33VR4GGA78W79JGP1XIGBF7OQ7GO05R1). +36#1JYAYDWOUN98DLFMIK1XLNJAWE64CRNHKZ9DSVNIICM7JW6GPW = 36#2UQAYDPS34XZ5PO3HO3YQTQLTZ9CHGPD2L3Z192EPD5C1DY6LUV057YUNVGS5MNK8Y0D757JA8ICXXM2KDU8UKXI3LPSGLWJX04 div 36#1U3HDNO6EFLDJG0K0O9MJTD1I400ACXKJM83P1I6VHYX2E7ZBH. +36#29DZA22NVG9K82Y512Z8MQXFM92XGH9DW5A1UDGTIL81CL1D0TUY4M32POURLGCXVLY5JZFEXD5XO64HVK9BVC1EY6LGYNUMCL25SNIPW0N57W8OVI45V8CXCKQB626TZYS0TJLW0QITSARJG1WF5Q07CH9FDJEXPFK7DKJRTD3HR8UWVJX026HRMMI5QM3I01TJ7GN0YAKG8UHJDLK17YGPVRKU80A6GHVUSRVCL5RKQQH6UVOSBECWO7L42TU9FVCQIR6RAWYQ7B6UAM0 = 36#6FB8WTBYRGHQ75VIDKB866SPLVGJOQLWTR9OBZ8H9SJCBX2XX3QZ52L29M95XLDDW5MKP0ETTR4ZU89HJAEERMEAY83B0WYLPHHHC25VQSCLCWG5NVE15EK246YFO2LCZBCUMBLALXCSW3TD7LTH5LWE9ZQHWC4XAK5OFOXYZCJFYV1JOHKNSCQ6Z80EE5HIPIHHRNOGERJMLGL0HUINDM4H30RIDFV5LB * 36#CO04JHAZTUBD4LFAOSMVU3UR1DMAKFZWKLFZN70NFZ0GPZK20. +-36#4JI6MXMEW7ER993BDJTQGPGW1027G3BBSGY9EDDV4HPMG60UXECPTY97KHRUG93KVJ2HFKBK5PO6UCBMLDACT9JQUSFDOB7OKFHFC25VN717NGFKUSB696HX9SUP9TASI9KESG7AYGXHF6TL2IMG3W8SN8QKF1ZWQCLFA0A32YFRDIFN7BJ7QNLIKT297RADBWN1GAI6BS764XFRCMKAKGYAQVM1SSYBMXAOQBAEDP6QVKPA6Q417ZW9TQP2LOYGJQJ63GMON5ISRQP2CS80VF7F2LM6 = 36#2DWHBTHC4Z7R4YYQUMNQA5H6YVU45Z5RXEFU29UI9Y06BW0D0LLFDBOIKCVVR33EMFDHB588KREUK6SF72YZTSD6EO2T3OQT1NUKEM1ASS1A79UD0AZ7VB6MR1Z01HV7838NL1EWZFSPGFTHMSQ5MZOU795TGEOIKAYO5XBAWWNHK8XCP1EG2X784SR1G8TWEN3PSLDSOC5RAJMBJW2H0T8BAN1RJVZY4QX8NQPAQ0M * (-36#1WISCUW80ECURS5RBCV1WQ0STJBXXL53HUTDL8RTCZKFKNKO5X). +36#1HBMHGATICEXMF0RK8GNQ3KO28KTRXKIEBAR32JN4QBR55EHL6 = -36#FMKHK511BXPVTBT69GDE2Q4VH5CZ7DU2KDRK5LO2ERJ72EKMYQS59D4ACRMUQDVKU7NCWBSGFSHXWNT93AIOE1UB7VQKPDVTT9WMPHH25KB806TG245V25GT9PJTZ7B5CICHZVU6G0CEH3KLL73R32SVWXGHFVA6H5VWTEZJFH5IHZ35M2JTBPBDAUUHQ1GD2CEG17O2KJL31UQ9D8NYW79BAHN4N37QE9PQDKCSTECVBZQZ1LG9MMR13864XD9QEM0LT214XGV7C5QR4Z4P1H6ZRLFEW381N03TEJGH4JHCIMR03LW9ITMNYTS0CDWCZ27UN3CAU div -36#AJT3P714KLDEZ1LKGH5TK0KMK620O1HKF0QH5H5CCV0KZQSPFLQVZ265E1X35W5MXQU8G3FBEF1QI7HBKMC4TONFABVIN59HUNA7RS2611W2EZVZJZLJPQQ0LEKZMU248HG3X0ATJXIGB9UDV76SKJU0EQUO2639V7CNSKFOXGH97KF2ETUUYWVQS39NHIE1UXNU44AQKSMD4NE6IKZKRXLG79MVVCFZPLRY668OFF2LMAOC10R1J08GRDVILJZ6LY1OZAWLNJAF1IH8AGTJ09BB. +36#1LOVVC223SDVV4TEGY5ZJKB1HXRUSSZHED1DH7KJY6UF60XSVFO4YAF50O06WIAZE5F1PNC3LBI7SLDEXKV17R4J1325ZH5C7BC = 36#18OUKHBGQY6H6DQHKCTGLSVXQE9TROAA3AD40MH6K7LC7610G3 * 36#1AH0V74W6HUHUWWJFGI5Y1MTNV0RV6JZCB8WJFADQ3BV78GLEG. +-36#1T6UOOXMFMFHH3GQRJ966E6QANV5SM43VXW0D1SY57S7AXFO899MQ00AM9SI9PAGLWBOJSR1K2LG8PXMEKL5EDAF293VOS2I = -36#H3N7CSUARERG4IVOVQLA6JZRYZL5E1N5RH74WVWRMA0CFUOELT40PP3DQFXXR9M13JNZW1QIQBOF4NK7XYH3PREM3OFV9W4BQ0EENUV41Q6S4VOPE8NR47SFEUIEP93ZLGA965NSCF9ONGDB1R869YKL40VA3KRTH3PDEDWW3GPX8ERK6J0JZ4P929I07BZD8E2ANRW360NXLRP740EXXKAKJ7XR594ZWXWN5LZRFWHC3H6CH3ZC7PTTVM1H0C5FJ4AAWBWIEMXQ45IOZZAO7KCAMKLK558RM8Q2M7L1G3KH2EH4O8BHBMMWOCLGMXGVF02TTG2P5IUZMNMK00EE6F12M8URI3M11UWBI40296444RYPFKZ1R9U1AGVMGVDFOF7I4DN053LQUATQ68QYYQXZ7JB04FXROIE96T47SIUTUV17NHYOYOEPLQ05VMRZG2VIKVIL7OB3LUQP0DXUZ3FS9QK3FY84LD55RL4YQX8F2G89O19HEIHQ7H07NR0379Y7F2BZ4ZFC6K2F3NZKY4CUJO64ZW6QCGZX7UULRRX4ZJR2TE261GFBA2GD2RETW0Q7VYZ0E3BRVYYD479BFF9Z6RECDRLZH5EDP7I0 div 36#9FZ5XEMRE26LCIB1RIFDJYZ6ONDDCDVTHXRLNJL6WXRIQU96YQCUWK9GDW200CVRUT6ZA6RDV57WRET6CILYORZ3CW9ISRFR7YY82DGXRXKAF3KVYGLDWWDFO8SI1SANYL5ZBLD2YF6BFITLDVK2ZQBEY1J6W4WV4OJ78QDTVNQ72IXNL2BCHKKS2NRR02K1B0VZ8DLTLDMRQYHIM41HTEVQVXYI5IVG4RHMW8ABQ2HF3MUF1CIFZR8WZFI7OK5NVBVJDWU2TCTU9CX5OYYMRF12VU7C1RE95TSNBBDCTW9IULOA8XC6HKTU0T4GO7CYDN0BUMFD9PO971KARJCNXUM0R0EYMRWXX93YWXHM174DVABW02PSHA0UDC4C0XGLIO24DNFBJBX4SRHI40JN557JADUEJ2ED8UXIVQEH64W06XZ5ERKLQAEHBJY6GM28OQZA8ZCXMP0EKNQ0BQNX4ZOS5LLQQ146PUL89Z5P7PIUDIPCT0DOV5W17QX361EHK4FGUQY30. +-36#S4Z2UJ39WOXL821DIQDFKO85M5YWUWNWAH5FJULXREWSXFWT6EPGVR5PPR5LZ9MLJKT6GP7RCBCDLFM3LTD4GK16OEDGRB7TPSFCY2M8ZY1N2WQLR97IQ0B23NV0RXL8RNN4FY2SEOKXIVNGG = -36#XAODTXWFXWFJ25YAGKNDKP9U1N25RF9SXZAA5MSURP87D7Q6HXHBJRCL2H301HP5H074LGFTKOVHE6L9QE5F7YVWT788EMVZ7OVKL9L6F20Y9K1I2JRZQR43T3RLTOKSH9HWHVUPQFWUJFL6Y2LO1URSTRHHM4U825CZMG2U8XINK57J7UUHT07EVRHRKJ1WBZ0ZOAJP2KXRIA0RI2A9N9QTBJOMNE5J374HXWS2S45DGVC6VDR929OG45OEU6L2HB2RTA21UY5ISRR8JH0KQM8X9KJY4O5DGZ0R8UN44GEQMXEO09ML68P3PT6VB8IQV64N9KATFWPSR01OZMNGUZMNSTSOQ2HANGEMCW77R3RRIWJR5WMUA614KWQS29U8NER93T76EY3A9P72WMBHGUWCX8VJJGYGWE3P1Z5ATXT5AM3S2RNR1J393MLXR2KQCY1ZKN0URNJX6H3UIVAP9S91GHW5WV5JGZKHL0PYQ4PGDFJ2C6QSIOQIFJKOPNX0448BVOGPTWS3CT82O0 div 36#16LL6KXYQMIA5PKUWYNZRO9RET5CCA27TA5KBQDVI4WKMKGO2UOPPMH4B8T4K6UV71295D46LZ2TBGBYFPSAITTMPYEO8YVNMIRG0DX7CU4BIQ9KJTZ5SJC1YA55527WRIRPI0F685Q8P7ZZ8ZACNFN40DBBHU9ICLJKLZWCZ3CGZRKNR8FGTF7URYRELTAIIFZ0YVI4S8B04HQV81RD9JGBVI1SCDV76VYCINOTAKR1UPL2VN26ML69TKJHPZBA67CX6TVI47GTSROCHSU404PCPXVCH3ZDKCVYYMFBA5QTQ1A4NBGMPVLROGY8II8MK2NLJ11GFBRIO67BDJ5NZUVHHUMFRLXYZGA2IGL00FO7SO4T3JMW5WHN13RRSWJSH9. +36#6JJK9YDVRO57A7H20WZ8H896ILSU5PFCJVQGKQNP0JO2BXXJTT77WU6EZDYBE4QWMEV4E062QRN8SMG37JE0OIYXUW44P3OIOV2JXHFLU50299D7V7GVBIL309A5WO5OB4O8LPWX4N9S6A8BM3C6CJDPVV35CE14BEHCJI6DE4B4JZHDWSMRTEO5PK7XEU45DZADJPWQI3I4QP7153U1JB4SWE2RWOME5OI = 36#9RD0414WKS1TPWJNRL6EXT6HKVW7DYKVRCJZ1TAVD0AIN6PSE3ILJWD5RSNT3JYAPLWOGK336RWJ9OYZ6KVJEDXFZI73KGLD9II351GATHAKBMHKI1K8RSM866Q11WJAT52QI2Z6MFAL5F4JPT8TDFJXYUVX6UJDE2J1NFYJU5K03IM3MP * 36#O4SYYAYJDTYMN4LNT21RAJ89PNN30C4NUMBX08AU8TGRGY4CI. +36#7SJIR11OFODW7XUONA2CYR9TKW3DOF2TCXKHQPT88KWXXJ0LZN4KD7ZQVIKD82I1OB3RDAAABBPH118EJTU8F7I9U7DBPAQ8NSRNRPTIX5P0RX58PF99S03D20RZHSV70PN8KFG4SFRIUHD362LOBHZ2XPDRNDWS2P44QHOPOQK9N7BAJ4O3OXVY8WY67DSDB1LE067JCV622YC5C = -36#7UXSIU9VH8OGYISY1R30POKHDZ2UT0W7KTA5GDO2EGOMDZMT9L5XG9M9DWB8N9QZT87VUSSWYWL55BWMIX9JRFN131OLQ1N9NMHPEQBTLRR83MSNA7RPPTBS05DKASQ8Z075Q8HCCT0WV78O1RFHWM42GOXN8JE8A2BOARE9MYEJIF7I2606SO97YQKTA70H6HJIETLMX0LL79YF2EYBC9BW7FFZ7JB28URX51833JHCMVDSRDZRF8A0HQSOYZ1D6O div -36#10B2JI6921LK3VDQXJBUJ7J8GQRQF5YZ1JWIPWC0DDWPYN8QXZ. +-36#BWZMNP7GE2TL39IYFTO5RWMXSHSFIHSOIOPA0I9SCBDIMPFWZROB8OCJIYKIFJ64Q915AHICBGW3A6JBCGVQ10WSZDJDFD3JEYME67JAEVHB78Q75VL2ANQF9GZ6IL51K8V6R759WQD5VSXS9LEQB7LVFO1CCJZD7IIGI3UVQB5F43Y2N7BQEZ4OT3QNCA0AZ0HDWZOS0RL78SP0460TUCYFCEILVHRRQ5L689IWLE6ICFQXQJM66IAYAJKXSTECQU0CF2SUSAELSHF2P82XFPF6MCHOZG805X63PKL92EYS5RYGQGRUM476XAQGZ2I0JLEC9HHQCMA2WNWIXQKFUY25Y5A53O09VRJBUHMHKZZP99IXTII22JCQT33WU68FK1MVUF5Y5LQG7NCQNKRDUGVALAI821IWMM71QGO420GCEEBEM3LDJXB2TQBX2GA2ULFXXYO3VIQUL5ZHOBPVSG5C0TGU6JOF5D3U1QKSPCOQUGO181X836JLGEHAFSIXOB7RIQJZ0YI28827E5G3C45B2NTYPJB175OZNDPWHXQDQVLF53FJ05NND6PD7UNPIKAHRCJL77B0 = -36#1YAIWW91C3QEG85FCH2A0TKS069SUGL5MFQ07P19P9ZO679KTDKAG6X64QSH3JG8R6DGADFR0FYTBDUV2SNWN9ACYFOET46OPQQ4ORHERWP8XRLXC3ER1RDKATG4SN663PXSCVSLKDXAU7NEEDVVY8BFHP53LARURH3XFOM9X37DZ3R248PQNX374GZALWGNW8E8WA8PPXEOYR00SNR5XMNZJEXIRPLQG8I9NHEP250E5OJED1GL3VGRKLFBG2MVUK6B04WLH0841VPQ1YXH7UGQTRZ0E0278XOMHX5RX4LK6B0Z0FBHGQ5IWL2RBOUVO0ETU8YX2BN6YMAKE8K4LYF1QN81C0DPVRLRD91YU7ASGW2JJCD99OOZOJEGXGNQQDSFXY69LZ6PMZ9L8K035Q0GCRTZNC5LDKORDMEW75U45FL8BNK4LNC3CLSB6PF8T666TV84QUT399OMVCHXPXTIJGSEUAYQGXNFCZ2U7PGWW32KLCGTDCYZFTCERLY6RW712SVV87K3UC2TF196MJJNFZ702E066JZ4YVJULNF9LK2KXUT3ITB9WBCDUQ7HK2C4PYQBY1NQBUIGS6K9XV8HVVSMPVU9BGYHBWD2SCG67XXLLOIE9UGCC45S8ET9G96DM0WUPZAKZLM2VI253CS48V87U65BYNDENCNDX15OU7YBOYDGW8IVT3NUYX8JOGNUD6AN64AGIOR3GTC7SI5FPKNBTM18OT70HMDK86WS49PAMR05BW7UNRCR85EXX3I0 div 36#5WCUIEXQR09C220FY1CLP8QPOOTVN8GBFBIL5P2KK2XXLUFXP4FHQK2XKWQUQOYSD890K93K0FKZXQH6IEIFCYMXD99G297APARI165HOYNR4MDOA7TER0DG86B6ULSLSPX0753M63A5LRGIOHFEFIJWTO2JHWGQVEV7P2MOCZPRNWR9BZZ6PZ8I. +-36#4G85KYNZU7LTALNHAM7Z09X9XTOIK9IR6IK5UVKB9RZS21Q69H1Z42NEW4O5ZBTX884S7GLKTVW3Y64N2XNGZ9L840N68T5T09W251KS9I15EPHW4ILG7NNUF7E56I6WPLG2ZS5RZKLYZW2JCV2NA1GMIKZFUC1AOPZ9HX10RGC9TJAIC81PHWEJGUWMTAQ7LEZ78X6IFK0D59AGKRAIK2SX5OPHKFST8OTGKKYSSOWYMUM65VRSMJAA07TXKDQNE832Q33I14YC34218XYRJ33UHXIQ7P6WELZDVZYPN1U1MXED093962O = 36#49VTUC6TNKTSMBP45TG86XZWVC4VJSZZ8D842Z9ICQ4QY4EC8Q8STEK7KCMK7I4YDMEAMQ752ZAX2JFU05F96HTW5XJLPUI4PLPW5769A3DDYQE56A9HZ44DKA58I7HJB9UFLDZEICCKYHGPCJ1PRKOJMKB7YYDCBVE40KIVCHK9OATIEAUXM2UFZB8K0SW7V4QF5MJNXTDHDHHT0TD2K4NZL98L83X09EEPRIPOU84L4TEQJJIES0EY58HUTADW63R8O8S018VR99FAQ1C7HTHK1PC4SEN14FKSTCVZO2IPMZVRVLHH6JMAU6YH0L2Z1EOUO15XT2MYEMZX04MD8J1IFSLIJATZ0L3NHUYO div -36#YKP68NY95QS7Q7LJ5CVTFZ39JPF83DR04JAK5I4KC7MLFBSDV. +36#1VTSBU6RL1AO6H6RT0VCNUL4DX965VH4P7C5631NLC861SWF6T = 36#5J51OI4MLFTU8ZPIWP90IEQ4V1K1LDOV1YS9I04YL8CLSKMPL3AO96VW0KPRQ59YIC88EQ1Z7NND7I00PI2OD1W79N4DK96CMYJ div 36#2XP199VVSRFFMFRKLY1UB12IZMHWIE1XVH2VPG2A57NEDHIS2N. +36#R5RJOM55FDOMXZYHCUUUAMDZ4O2CUAO2DSUKYA2E073NP6S0JG6M1NWD8SAJO9MR7UOPYTGV2KOZDFL0HQQBD2BFM1IHKQIE1QMGEUZV5HQOMOMJ3IPUME51V8DB3OUK5U5YSYXF77N91WDMQPFXGGZRMDZAVVKGD0FEWLSERX0NP2OI6OCUKKAL3DZ2AH904JOOUFAZ3604K728QSBCFQ0RQ7HK1L80VH2AL45GDR44BEFT20 = 36#T4XSC2ZI6LK7LOMNVWS3USBPIIG31W0GE9U1S9WC3BGUXFHTHQRA5HHZIRQ49AWK1TZS63FR4BIVRK2F2B08FTVQTDDYB0IG96HYZ1EA1YWZOKU4RDUGD1OLGRF0CM6551PPOVRNQX1T7NK2AOB8H6U746B1NKJGJVMX0KILG2PCUIG41P4RYJHYWACTNRMJZ * 36#XK29GWPOGAZZ0XEDFTTY2T1L3EVU3U4A69DZG15KB0BTDZ2Y0. +36#9AE6MQTJH4IAZXFAHQ91XSYT7RIX6FN2K9YUGTDFBZR30GQB11V9BAM7Z19KVKX3JPQ2DRP32H4UCIRQWJ3DF3I6G9VWUM0ITRU1F2ZCRYVLX1208OTR382KMMKK6I3B3GKOP3THEZPCQF6741MQP6933DVK8XBAT2PWXMGRVOCBHXV5TFAHS5S1SR7HX4YBDTUH03C4KHZ8RUOK5XHMJIX7KROHPB40C3GEZ01PZ15YL0DV0ISRAAW2DFLB1MQVXU1DG3JUZ878ZU5ID98LWNK1NV2IUAGONNTCWSHMCRXE4EAPLEB7AEFUO0B6AO2129VD44SZBFMC9K7CZQG90V8ZEV51C67WEZ8HO4XCB9MWSSNURWHYWFHOKQHKCO7XE376XWG5LV4DPBBDUY5GUBQOY1FRRWILJWATHO1COAXDVSF3TJLZ1U42ZYQVKALC2Y7WTUCRS1DXC226497RNW7B659ZQR3XVBTW33WX236A = -36#MN4PF6EAO24VV8605P233YLV28JH90HTT5T8GEGCJ7WY7VPP3Y4GHMM1XPY85EHV6I1BQ7LEPEVPL1XMIORSEW128LMPLVXXZFSKF85GNI266CXTM19A8D6I5SHWSYB4VY8WRAOJKYCYDPB77140MQI7TMAMF5RFRAG44YD9NCZL9I9R2WEA3IVCD8Z08YMYP88YEW81UVCOXZ2EIR0THLC4YHOP03RK3XYAF6IJ6D27DJ0S6EGDLB6243CB6X4FIH9OER4X3J75QMBXCXA94KB2RODWJCQPZODMOL23X7YD693AXBO7GQGCF0PBINMZXEZMPRI8T876WV6E78U3CHBUGKVP6CK8X9TLCCB4VTI8UN3FI2AS5EWTKXPPO8E4AZ6JPSVCG73SXW50JCFO3Z50HPY4YWTWZLGHWICO0CC6T6VM4RBM281VYINAIKC3HYQAP4WD3MPRYS2ZKHIPQLJSOZZWY3F4334BA5XO7OAWGHDYY34540LZ2K0O06KPJU0SOSK580IBQYNS8CDDRLZUHN8AE div -36#2FR6BPYCTAT1GSBXL8G371VTFETVAF88JBMTU0CWUZ7OPNTWJN. +-36#KM11F8WKSDZLVQ23PAQP5YC5WHKNQBV7WQ46RNI21CQ7WPIZO3ULRZYHLQHWPX8JZIPOU9W0FWW6XPUAD6SZ2ZZVHSNLEX3HUKRHJWP6ULMQRO7566OXTJHC5OYTTEZLFX6Z0QS7IOSBBZMLSRC045KQ4XYDLRNRFE1H90E3NDHC24XG5EGWTH3S66XS10E13GYX3BRJH87HNH6FBEEDEGBNVNC5D9KOK8E1UAZZ946211PPHRTXGA5LBWC1S9F8GZNESUABQGI2L17VAQ9Q5YWE93ZZCKB2RTM0USJT7BRRYDTHMJ3V6ACY5SLB8GCCE8Y2XR3YFNX34OUUKCYR2RO8D03Z2A0Q55BAA2VBN4QJ7L90V6T6M1ISSNSJH2XZPDANWL2NRNOF = -36#1CUFO38ISR5G175SW3UT8W92J6AK6IY9JFRFV8UX5B4ZUJLUUQF4EN7QWFIAW4FRZXH64HD9SWLJE408BPA550N8BGC44MLI718JCIL9ISPVB5YM9KGS2U59YX72CAVROM7QR299XABD05JVSZLQT3E0POYQSNXSQH5HBT5XDTBOYURRF9QGZF5FLNEF51JU9JZXV66HJ9I6XIDXOLXI7NM7J4169Z9CD0IGT16EOCQ26CK9FWMMNZIFLCLNXEPECNLYYYT8P29W6ASXF2LHAVXW2SH50XPE0XKR70L67HCXOAEEHVVPG3PUT2SOWY2N3GTKYFB4MSR3OK27TJ5JHQBSGDPB88MRN9C1LLM6Y0ZE75D0IQD1HX7H84JYMWAC296MVB652QHPMKFV0UI9531KAW7X5LOLXSILKFR73GAK08RIDI9CJSZ9Z38Y8STXCI3QLXOV2WJ1JZBHHHWBBVR17EG5ZGHHF6J14MMBJS2BVFD3761KNO9VDTC3CBX9YDW54DQ08FK1SOY2TSPR3CF97V322X6A3RJDTSJT20Q2FJK1919OGJLK7EPLUNV1OHTCYS3LAQZRJX4XTD4M675QGFH1W7S8KA8DUX7YJ2VSU6FKBHAOUOFERYN4YAK5SAP69XXZ4OT3W3H6ELYRLZ0WD9CADBXMFSQJJ9PCA5VR3MC3MIMXDFSSWWVYCSK174R1JINEBY9VAQBB6BPJZUU1QKBO1Q18NLKWXSBKGM4MDXWRNSP2F div 36#2DB7TWXFLHODV36TKFTIERA9FZ0K1Y6ORFKOQV78IPBQNRGGVLT9WEV2SA7AF7X25Z0O5IJ7OL98NW3FWCR9X0WOXORQYDTBCMM8YE6VMI3DSQBX4TLS5CSHT6X10LNJ8TSQCB2EYCSH2QJOI34HN82VEH0N1JMMZ0DJLSDF1J7A9R7KBC70EFSHCWRB35E5DH9FLMYF5FZFMMXC68GYW7RZTPPBEBZ2VXQQIV5DZL91HA4JL1S95902CYDFQUJA5QPXE1O2NMNGFE89KSJUE382PWSPIUFU3N43EINTTCUT5JMXK704YMVETDVFHJDSJC6I84WFRNB5Z3PA0O1HG2YK4QM6FCQW996IPDQRD. +-36#22MVJ70KARG912PAEQHF4CKS6JXNIK5PDW0N8OJPRGKZJW26PVWJO2WYK5S1NBWPZFT4CMII7N9BIZA3W6DK4ALUEZY2RLLT2CVRLI8BCGO8GYG51TZHYFU82XD3L1FWC4FTH8QVHYEW6S8IG8UAJGKA6J895OHWDY5M1RA1Y49DEIRZ89VFUB5NP9WIXVYL75NHU81HQ3IV0S52T5AN5LZQX9IROJNQIDPNC6QRFDRMC6SSFIVINCRZ6QVZLNM7I9WUBQXYNNOSQRTTZYJYZAURP0D68U1YRC3OK5TB2DKYJ2HKS1WHKHOPT6R40KS6VI8ZCDMEISGZ176DTBYJ0ODI = -36#56DG9P2V5FR4FRM2V6HO2PZZEHSZE7XBQJ2NCCJU1PPAIXGXUR05WIAYUZ2YMR8MFTZVWQPX5MJO82T6DEAEWX0X2UUBCCHDU15GXKRKZO760VJNPXJGMUAEE9ILH9S07SMVVJI655UXSVJVYO0C5B0ZBTELOVMMNN4SRJU9NDPASIISZRDX3G2VUZVGDCJIYVV8WIFLT0AFN89URVQUTJD7IYV7UX8AGP7ESDU1ABN3VAEEMTSTX38VQVDJ9MQKOXZOND2E4NL3AVYRS2K0OIV4V2QT2RAP2Z1CZYDUAXZLS7C5GUPZVD2QAM9A4C38RTK0234GL0H9IAUE9GVJ3FZGGWEEBP2CO73UKNLWOQD81JJGWQBMYXPO3RUT6SZ44CGZG1BMI div 36#2HW9MWPHE9WTBQHB6OVXR56L2FQQV3N9T4VRL5W6283JYOYREN. +36#1QZGNZ8KAUFP7W3WJ0924V33VABVAZVODER54C58EHMLPOBNV7MH7Y11P5XONEVXQHCJCI8I8UJ6JQYY51GL8AOZPAWID52GWDTC5BQY5X3AVV74OCWBZVP5AS91FHDQRLUABUWSDZQT5YP1JUZIFAZO3J3RT8ZQLNS4603RN13EFABO4RB88GGTG9GIYYTYTOVH7TDCBH1P0WC1A7NOD8O3XGIOMKW55DLR0BQJ4XFU8DYA8OJ3EPA4AGB69JMYECM7FO1U5VCA55ACI75SBFACSEAYG2H88LC3Q15HSK68K6PCO98BB2KBTL05WG532Z5Y9XCOYMT4XFT1BBTD11LCYOB2RZ2JYMH79SY620SIRT9Z7I3X5W37NC40NOJR5LC983X2KSR4QVA93A6VMQ7TTOEMGO1ATP8LF7WPL91EAEJBZ0W8YPVBNB76RZOYH8R0QC0Q7SLW82V19ZU7YKYO18AFVOYRH7L593PXZ5N4YZ5RGR6QLL7N1U7RM268GSIF7336HETIUHFHZM1HBNIXPFIR7NPLNJ9E1OXD9ZH3MGAY1W6PJZRXM8FFKSPAU1MNHTVOHN4F1UEXCUF1LCLP0X0X3XGTW410U2THDKSSZER9YQ6U6LH414GHC9ZCDW7G1BAMUAV3PQYNQUH8LSNYXBZXWUIDDZ7RMZ6UPG8D12SG8RTZSBQRI0NWEKT0KYWNKIK1F1QUXX9GZ4CL08FDA1OO8HF52DNX64H7A7SIRRHCZ0IBEY7RDGLB7GITMTDN8T = 36#DAZ42Y33IYOKHEP6I72VKCGFNNM030AWEGZ7HB834STMKXPIN51SJB7TRGV6CRO7PYZ2UDRSE2IRIPE77A332QGH9HCJ73XOYIOLTRE9X05V5C9SYFGS9Z35KS3AMCMQ1NWQ2LHWYTXLZREB9GULMRES43FWFTI8UX7ECJC7DGVOWPHABH0132AOS4ATNJUPUVI781BBGIMHIXTUM73LTZW6U643UUKF40VLB5FQGE92YWAGYJDW0ZWDUNT5JZ6HWXKCV0T0LXWBKS91V225TO70BZY9EMU1KCEYT3RK6B13Z3MFJ9QH0II5FC4544UEZUEAUHP6TTPZQI1CCM5QYYOJGMB23P5YD9XQJGX2XRHW494AHWRBOOC0PKQJ9DKD20UF6NIF2Q4PTQZ0KDFS4XCKFP9GZ6HZUZYVCUFCGAN4KM5FNGNQ4DMEYQ2HSMQOE76MMXH0X5LQTEO5CMJ0CEKVN4OC5SZKCDMTUACZZTRY7W9OPT8R5GLI09LCQDDK43A51KM8G25AQOXZZLZTO36LK17EYQOJ73UGQPA0IOEDRLY10036888II0L8MRGWG1R8T15XAVXOJARKCG0KHAUIOSNT2VDGRT798UUIE1Y2ERFI64ES0H3O79Q6UXP5C5TY74ECDPLF5WY65U2UB2WHUS7SA9LXA1M4O4R2LJBHRMVOX1N1T76OVZV757J4780AN15WUC8DHYYJ2OINF6SKM3OKRTZYR97M38W1YWT9WFHETPCJ3GKGY2J5U6JP0G4ZX2C4YVWC1771K4A7UBP3TIODX4JEOTK4YHDDRC0DVIVXWGOVHETTG4OC7BUUHCENDOVJZJOM0OFW4LXJE8LLY8XJ4NLV7NFXD div 36#7LRJHNMLO346EIQCFNTCIDOS2QLJLGJ5DKCHIPS5DK5Z763ADR588SSQM91CGANADV6RZ0MPM1DNYZR4JME7BMDONESYX96T. +-36#OL0H2CXNZ3G04GZSWF2AYVQ0Q2R7L5YXEAAEDIJGGLXAQEE4UG9JYLSTGI4Y3LE0DW879KQUKKU46RR64YMMAW5D8DYSFXVQ60 = 36#DOT45XC4FPI30NK3TVYITI99U91PNBANV2L6A4SYM4BCFCP5Z * (-36#1SNFF1TSG35UMEDN8JNBYC0E117RMBZY7DUTTCNMUIZGPFL9U0). +36#6VER93HV27CO6M5Q8VSXQBU538P25IF8GLE59QFYBR65G1GFWFCXYNE15P9TB6HTAWL3U4I0DNMUHZT0OX54V9TRO4TME3XQQPWIZ2G561ET55JE4SV1VTG719LCNPRZNE7MG553UH2P8WKGFQQ4XFANCT9GFY7HWI540ZRPN4LWU3W96 = 36#DNZ83FCYWG4QU7XY2EDF1GODI4CQFOSH5WK378RJM18UBNWH6R6ES86E8NIG8OZSAZ78J1GZZOXHJTTLZD2YNUEGGNZBKAC9EFPB86ILP8076HVSVV1BV2VJLMMWVCO1VEY1J30IZX7AHMCNHCXWO03DNKY0IYOYVF4QF06QQWTQU6EQKGN60HQRRUZFGRVZDZ8URHGOS3VHGJS53F07ID3W8DPNGJTF3PN6SMGDV633WX3XTC3LJC74MHE9KBJVTLB11FTP8XFL1DRKG34CO3UWNZQUJ15V87U8D30OY4P06GUQ42Y7NYU4LK8BXJJBO7TZOYR0SB24T4AKW0PK88MTANWHFC7EA75Q76CI2ACUFVGP3JH4BQCBMOQIEKR4D968WQL7PTFHFVE589OQPSO6ZXG3W14A2BS7VMQ1IHUDWETGG0EQ6YQ5Q6FHKB070NPNFWU6YXO2XF4H9ZHZ6DHHNL05Y5G9G22LDPP84HZF3MUQSL2WXRPEPC3SJH9V0MSS0DKVKMEBOLC38DQLWD40Y3RSE5XUFLNQGTL11WGOIYO3DNO11KAX1MKY5YZORV7POYNM5EW9ASPO8ZOV1YPMDGI2PPJFLM5672XTBXOMCRXCJMK0UG6SBINXPLAAE36YE7P6CX82JOO7235WL95VOQ4BWGQ2R4JXOMU65IY2CFQYJYAO6RC9GF1IEQKKDUKIOW4IADYXFH1FJWWOOPUC9LWOJ5HVADE9P4UWCY513TXSF02Y7U04RDKROY5QFNPEVYY4JVI224YLQO45SCUI8YB3Q1QM035W4SVZS8INR4DZA100PZJKWRD1VXLLENKUGINWFPTTHL2ERYE9H1TJB2PMRCLY8ERP9NZ4F5HUKXK78HERTXEQ7ZGISY9ADW7OWFRQUQM7MCEBWQLWOV3527VWNC7KQMODKPJ3GA01TXB8PKJQGVJGP04YD0U6KYSEHS4U5TIZ0NFYZNWSZWFV51GICR8FW8FYN5WX6HM6QTYN465655QZESPBVDEANP7ON6ENTD9KM8T2FBX0U3ZAGV8S2NMX6B5VFJ724CL6HP6X20ZGDMF4MC8171OZX6BLD77CRUWGIW3QBX77MRGLHR433N4GZ40V3ZH3VAP700DU5T2RGRO1D58D24YEODOUUVMBG7UR3FDBXYPNU4CIM6Z6EGDB5VZJN8252WGH54DKGR2XPQ8930T11XJ3V0SDFYLIQ77ZBOIFO5JXNMJ0KGWEDNF4ONEO div 36#1ZL46JG7BVLV3F0N2TIK3NH8GEGT7QG9ZSOL6UNEST01L6GJPWV8KBDEEH46LCZCOPHQXVOMZ1SNDJ98Y801RRD3T5T69Z0FJOZA4GVWAJBA6NB7I4DG0IG2BCWZPISCLYEKRINKR309FZG9NPQ7VKYAEHDL9AYHJHUPY4KLG2H6RDX3097MBULMJ5FR0Z7K26TQF1CQ3RGBN1QIDA62D2WLQI0TSO9SLJVPNBV9JK5OTTXETQ7PDXC2JP53B0ZAV7A5R6888LM024U3C6OB0LW2IK8KTA0X5GF6RHP3KXINTYXF48TKBTR2QPU571GSZGU6H9LAUL0AXB1K6JPWARHN521LEJR23CP31JY7CZ56RB92ASHQZD1MR0QTE6AFO5KH2RJMVI10H3YYP1IQNES2AQOYZKZ4VZGPRXVCPB7HWTYTNHP4TNJI1ZZU35I65D4F5AOC0WTE1NOBZ34VQRZT11ZVNAQY8K8QES5YJ42AI2520UETVDE38AXI3SGU5BKHMGB3RCMGUFOWOYN8TCVPYRPGVNONDPZQ0WL5BCQRALFKCLO17V9DU9J0GFDB0LJU9BNYN8LUCCHZ7GPR2M940LCIQE4X44S4Y7O7Y12EIVF0IEXQT6ZODEY42NNRJ61QZ2I5OK5OAU0TZ379BSN2SHY88F1FV6IESLE7UZODZ8NQ5KSJ2J0FCVH5XO0B2EXR6WCJ8B8K8HT3JIGZZAUIMV4TIRNZDCQE0SQTJIARGDGBKM4L9KUY98WDX7FLLG7CANKN6FF0UEE4YKLNDZSW4WM6VSSEU4702JE3SY7MSQNWPYZX4GJVE8AH35IHYP2WF0AJFCCPRXL1GLDJ6CNBTS941X4D04OWQAVDV0BU3NZMDBM64DDG2EHHFRNOQNIH6PNZVCJKMANPFPKC0K5UN4B5WFQCUREF2EI22S8JL5DATIN7TRQNVL0OYMVCAJ73WDW4WPSBRJMBBUP95VHGIR1IMSAKQM2WZ2OHYAQYNPBQV6X4B7D1X3TBXQP8PL0HDKWI76B5HC8MF7L3DY3JAL8PAZAD5EGSMOAW9HR4W8BYL7WG. +-36#XZJP10J5SJ8VO88GWI1QPD5WRDGFA2YBK3WFL6M9XYGLIBPLC4RR99KT11GS9859NATW9TA70E0X90FSUX1CFMH83NIV0M9WLDTAD64UN2VWAO6MNT4S3PUF87Q2B23VQI3B2E7OS70OZZB1DCHIQAKUC9DR6O0DJI5GDX0OHL8B6ID0GVO1H416R96CPYH01QPVWQFNLX1WDBUQ3A9FOGUPCWTG7Y3LT09N6QOFZMJW26UTFMETYB0UUEHATNVD7M3ET4M0TU2HHF45Q587FP6KMJN4T969B285978OOEI0S6WF2NU6J0MS1NSCSTOND1167H8SUBKEQZJOCXDS18ZNGMJ3WK9YFMAIBF7R5GSKVFBHNM42GQ265X3OG5VP01NKEZK7BPIEQSJM8P9GMC0NGDUBOBP20G0DWSC15OJP8E23KBZ255L8MF4WNU2PBFNNHD9Y9YH3MAVMLIPPXQQIVXC4WDL95N72FX96NIG2UYHJ1SYLV057A3NKR7JWVWOUMW0N93EM23JQOVUKU7TQTH3ORWO68SCSSQ10QKZ80146GEBZLJDAVI0RXTF26TCKE3BBZYD006QTJF3BT2VM6RMHFDSELB3P4W9YBE8M4S2PEOKHMP86BW0AR3CG = 36#527GJNTPPUX2363W20LK6AVTVTM1VTQGLNOLUFBOC4UKQE475DQ80IG6KVY6UIAIDBQ3WQ2C55LLOJ5YXXP9NW6XX059HOFG2LZ9WMWU3PYQQYM9182GC65JQDV1KT62JG0H6ZGNS4JHMQULMCH0EM5CRNMHSNRLPE4EU1DLRNEG5D7N5ZWSRRWOW89ZEKWZZZDO8JD1MGF3WNU87GJPZ8HZLCF0LQGJ3I57DW2IDLI8IPWXGEWK2MH9F2FIYX18YQT812KU7XV7DE39Y8ZEYA5LBGQR7972XXZN4XVX5KTT6NP498K464BJGQ7XB4XZ5JNIG99TI384MOJIILYKD2FF29XU763QFGXUMUMRMYV0L3VVIHJZ92AXUKKPPKW22IJ3VJ1GOJGKZH1E1I4PYMUP6XCAK3HSR3PA864R5TUP3N446QCGHPKYFSWO6TR9LO1QRRKB94M93PC2VMJB2EHMO45VJCB7GOFYN9P8X8664EE5KTO8M4BL809MP4LVT4YGBPK3X33M4P9U9S9WNPEAV6GGPN1QPTJJN0T158WZGMYN32KZISHYAPMBD0MUAX56K3O2Q04M4RHV2B2792KKHBXX1AK3CZU2QM9RHKSN6HAMSGAJB3V17T1A48KLJ02JWWWF097LWDP43LU8BO0R9NZZZSJIM69C8NT2HC99QHUX7PFWC1OJYORMMEKF8HVEUPPDY3SDS8XYTDMTII0Y9VBN9UVQNAMI8LNWGJAQ2FRU09UMQB4DQTYK0CSOX8RLDYQ7STMX3S65FDTHBBFMGXNW4VF8DH21XSLTZG3BTYUA5IPZCD533ZT0AXEGMR789MLFT64PS9Y0UCDP4CAG42XHZ3KXN0BP9L68J1O02P0UJNQGQCQGDJOX3EATMUHO3SN2M8LDDZ8WSIVQ8SIZ0TUOO14OGL52EQULHTJEDC2JF5LFLMG8MVGT255UOM9IYKMMDEEFX909DX4C5EF69B1CK095GLUGF3MZRWJG2JQJGZ05XBASFKVR6SFB152VO9JT0UAQIE3FB3DTNUWOCS5EPCC8FU7TILEPG8CW5SY3RG7OZQYEYS4K9PPL08H1J0UXRXRKZ42GDI1T2NND75347ERV1530EGHUNVV35LZAO5CKC1N9HE7KF64P8DMVCMN8GI422C99B6P8QEHFU9PF3E37QY2AGO2ZN646SR9V6GILDV8FCNLXKLU4UAQ2GPOZBTCN44CO4DPB00NK14JT6B7VQAAOLFG4P9M2QUV7PUWU3SRKAX4ZC0ML9HNB8YON3BXJABDEPIE1MEQFO6FHIAJEZSW div -36#5CZVPV6EOWNLR3X09DL9KQNRGRBVB89Q1XFBDNLG3ZV9KI2RUKMZDD9RLM8Y1I3R61S148MKP0GGN5VLZF4VFF4F900SNA0XOQLIGKUEKBD7IC8VC6ZB2QF90G50RJTRBOZJ3JIBVT7KX5I2SS8AEC30T11C6ETIHSFXCI464DQRI1QZAHZMYQ6TWJNO7HMR0W1SOKTEZECG3G2X72WMUAUO3X8T6FTAWQAOMLJVL4JKIR55VZ4ZWMX2GL7O7Q6MIMQ0ROS7KTRG0VG1W4YC7CZAJ876C1QJDQC1ELBRWCPKB24SAK1QAID50Q3JO69M6858ZGBNU6ZQW7EMBLAQPAPE3C5C9JBE23WRS7T3FIAVNUTW05VVMB7TT29C6VBH74UM0M4W68OJSTXV8CH6GL44ID8QB37NO0Q28OPNDX5I4A6BL37H9HFLWVHENN4OC8FW0CB07VGHK4OO1M92ZIVMDQRDSFZWMFWCL324KBCRVWYS452EEHQXCHG1J02N71L6DB3D3TVLRKYHLAVRHBLE0LK4X7AODH2M6E1RC9YJIQP2UWY0XERXD7AED2SZIWV70IEEAR8OBFEDMUYO59IFSB5L0BH88BR554ODV8XSMBXZQ2PK3BBJC3BDCMAR4IJVFFZB2ESVISNZTFII6J1N5CU3MBAM5KK. +-36#YFAFCW3BIQDP5ELGZEKRTSHJ5BH05D0C79G8RDMRFZ15GWIT0VPPNC96O27XJ5A7C4EC7L48RPLGG727B7ERVV0NV618DYR62AO00E9MJ5L7FU4GXIHS6SW447AT60O3JMAOW78Y243C1C1E9KI9VH75EKILZMKBFCEPC3QZKKDYM1ZHPGAAKM4SRUEAI5558A3KEYJP0NYDZ9DLORSJWU1ECGRM6IOPKXD9FE6Y97UVXCYQFALF37XKNMGUQ10QWJM2FG3FSTCZNXXKGR84KUXPD6QSL4S3FRDU81VLNM3GZW88KWSCAD54VVJKB6GPJ52FA1W1W2UVSCQDX5OKJLZM2LE2NKHTZK91RS3RX8TSAX5IRY3YQX = -36#FUPPP97WM6W34AMK747F3WXWG44ZAEVCA2HGAYD7UHCN9Q5OCKQD033RYL6JQYKFUJZPSQVFFXH71MWXOIUM9S0FEWSC69DZ4H736M3I7A1BOWITRE8CC1OTXRGS01XC97FQY0SCKBI6Z18KM6KFP1I1OYGAK9D838IZ9SN6GGKGTC9N4H2ZFNS436W570PEG36ZEYWJNOEZ0F4GM7MXH8H67GSIMZCG9UWBYRVWSUNRSC0J51ASQ7WI9Y315PJ0L9VE6I8YO0WH8IEFYP8Y5PLE1HKV5ADMO1T36OERQ8CUOCWTE3GNPAMZUWK6VTBE69VGQPOMCBT24ZTW27HAQI91RPYBC9J50BJ811B5KHPF5Y4OTW2KMSFREFB5MPDVMI3488J6GULRBSUQCT2AH4EUWOJHNKRSRZKC31WBLS9WBBLX9ZRRZ6OKR1LG1HJ3SZ7EZOSLWKCBQKEDBFT4IKPZA8C4FA3W7D1IYE7KRP7078RIJWWCVM0HYNL div 36#GKTW6A1NHK688494RYVPHGVMJAEFASX35UBN72JYNH0WUP9MZNEHPG04DMSZJZHFBEU6AZ9P4WKECO0KO8WQZE0ZSKX0ZWAV9M5IJJ4FLQ8P92FHL0YYZFSH7VRO3AIQ4Y7D5. +36#OJR90JB0YA7PHB1XZ0IS97811K7XS5SHTEYBE1RE2QI8PO3SUVFJJZHWOX6EKBNYWOGYWLVAN1P0VYMZ2E8XR1YYPV47Q5IR4JH7M60FBA1BBZOHSAKIA857B1NMIG2NVSV3PURP85QX5OO1I2II8A6C7GCLUVOPDRE11PE33O4D1HT4ETUXFTFDX3ZALNLH7QA3KYD64RT2GMQR8C6UXHL4HANKLLH7ZA8DM0GHBTLA9O0BPONZNMNMG82VDPMJ3LJ1GKKIQBPCSHHQB5W0C2AKS4LS451UG9DNSX0PFL9WI3ZM3LPR6BM3LPXTO8NJ39G4TSVJI5SFLT7UNR2PMV01I0Q4HIB9XDO8EU3KCW = 36#1Z1RK1M9ZKI6J2HPV2XM6PAH9QVR0WA78W8PV0UZ1J2V4FI91E4DLKGRAGQUPZY3A2J9FAA3QR4SQT4Z5OOIE814SIFGSDC6KLH7V5PTH95EJ8HCTKY1XGV7JUGF5IA2VN1PIG423PNLN3352SMOBE8WBU5T9O5ROFP36N61FY3BU86NAUE1ZL91PDSBGWYN1GLP3UE9YK9EH7YZUTAOO0E5M3NUBSERM7V60LJWUSLC1M4R3IG7ML0CYO1II3PX78K63KPLMB976UFRO5T68BY4T9N3WUHYKWR687P11HXKMFNMW32TJSPXTKM1JM146XBPVCXGAZ2BXHZ76NR6F2RV3B9B4UE2QHWQ5L7V1PV9TLM1YW7ZLSGMJW9XRPAPGLYSQCVNMY1TKJDQZSAJNJL2RJK div 36#2W6VL6PLWEA72SPDK28ZW1O20V8AMV8CJS7DRB4AP2VZT4INV. +-36#L1S4TVIU6B795UOVJV4TRVCNA63Q6DO2SHYML095RGSEJ0Z3G0YRAMZCSIQ9H1XGVZBBC7CFBN40APT39LTIXAZWSVEAQOSJU6WAOD74RJUN35X5AU40QJP6VJ0JLQX1WO8KIV0JVT0TVCSTFMPG3DWQ5R7CIJQJXM1ML20U1PTNX4N3JLW1PCL3LNBN5J0S6EICUNADC37B2BQ99FRNHKK049QUVN4Q5X3S1GIF = 36#6CNN7AYSUR0UXVEEYUNUUZ5BRF967QID5SVL9T69QBPWNKFEQ4ZDHA6OGHOI44XBKN2ERF7SNVN8POEI3WP65R34RIMBI5S2OADN374DYN4NJXGMAWOISUJDT1S5O1AYD6YEXCI01S04N4Z9ODDX0QNVD2HOAJSJ5HWWVDGNGD7UW18GKWZXB41JI57MMQSHSDX72WU2MRWH79FHYHI4235YZJHLNIUU234KMEUB9BH9APKK5JWQ4G2HBSJGQ9KE499KPIHINUHI5XSUDKMWM0DWX div -36#AV27R99108M6OJI1IQHTQIKTFG55Q9NEK7HJ7TA1PNLRKI587. +-36#7U8YCJEH296X10F2G3QC93R3IYIJ1B87H2VRP1V0POJPNM44XMNGWU7DSZ9C57ES0HEYOC8084FDGDNUIOSH6HAMAG66IG2A0XBJ6NAY4D2VO1 = 36#4DEQLS4OMEH6XGFG8V2AMP9L13IO2IDP8OUGL96EDLFFTTIW88ESKKG5ZYFXRM87VTNXKZS5S6UUWS20J4BGDL36VBPP0XA7E9VLAHSB09QB0A7DITANUFFLNKS3HEH1WTQLYOY0BM5AINOD6Y4TBLETRF7VDJJ div -36#K2RXP34APOKR5H10L07G41CPCRC9K93WAYHEWP8NCH7IPQZVJ. +36#CAKZA2Q7RBR96QTXFDJ5PBZU269RJGZ47XCPUS5PGI0EZQ4CKDTWLGXC9QZYR1Z1KFJ145PPIF0CQFD = 36#DNB0M1044MGJC9YNG4XR9V0IHDDNDQE2P1NJ901NH90I0K1VNL51Y6GLJ8VUIRD0YCOCYGIEA79LSSB88THO15U9A6WJRR2CJCOL75H3DEAY5AIDZMU5E0MO0WDT1SOU96RQZH23W5ZM6138S8BYUE5F1KCP0EI67GJB3C5V6W846L4VJLLW8PR6CZYYD8SKZ2MN1SGU1JNBO96PJDQBQ5VW3GGASZIWU3YR1Q8CZ39GXFJ17Z00B9ZZ1EDXDF5K2DO2IA9U90IVN5R3Y8CT2PMK3B1ZT5QKC1MCSSWTZMA70QJSYCDILYRFRKEJWW7O9U7F7LIPQKXYSY4SJY0R19PD54U2KKBETTHM2FUQ5J96SECC1Q5H9QALLDSSA4ON729B6Z01QU2G35XTSPRA3O3ZGFXP3OO79XNFSOY0IKD23GHA2FJU2W3L97RQGMVSMUN4VXITUXOSC5XI div 36#13YOABBKFG7BQQHAL02FAWZ84KB7K0ZN7OCLAI9KP62R0853MI5A8HI2Z895OEPAO62PXMQU9XJ31DNZQNDFC1QSGN18X1HP191CI2BR9H98SJ2N5ZD21I1HIQDH0CXO806Y3H1UK0TJ8KNHGPSULFL2L1DGQENJ2O49D5ZK6DOZJ66CT69EPKNIKO3TE9FQFGDMHCHTRKP1S49V76ZJX3T746Q91K4KYXTGN8V5UQHP4M40SKHNEF9UDHHB5BB7TZ5RMHKK37MNNEBKVMRS85HE792JFUUDUMOEEVAJK49UT5RS61X8XSNYVV8W7YZ6XEJ2Q4FWQSFEAOKQBFWI9M3HGYPN1DCFRGG3SLEPD7FKBBQJ9HYGA44TCXEB5TFS9I. +36#2DB7TWXFLHODV36TKFTIERA9FZ0K1Y6ORFKOQV78IPBQNRGGVLT9WEV2SA7AF7X25Z0O5IJ7OL98NW3FWCR9X0WOXORQYDTBCMM8YE6VMI3DSQBX4TLS5CSHT6X10LNJ8TSQCB2EYCSH2QJOI34HN82VEH0N1JMMZ0DJLSDF1J7A9R7KBC70EFSHCWRB35E5DH9FLMYF5FZFMMXC68GYW7RZTPPBEBZ2VXQQIV5DZL91HA4JL1S95902CYDFQUJA5QPXE1O2NMNGFE89KSJUE382PWSPIUFU3N43EINTTCUT5JMXK704YMVETDVFHJDSJC6I84WFRNB5Z3PA0O1HG2YK4QM6FCQW996IPDQRD = -36#1CUFO38ISR5G175SW3UT8W92J6AK6IY9JFRFV8UX5B4ZUJLUUQF4EN7QWFIAW4FRZXH64HD9SWLJE408BPA550N8BGC44MLI718JCIL9ISPVB5YM9KGS2U59YX72CAVROM7QR299XABD05JVSZLQT3E0POYQSNXSQH5HBT5XDTBOYURRF9QGZF5FLNEF51JU9JZXV66HJ9I6XIDXOLXI7NM7J4169Z9CD0IGT16EOCQ26CK9FWMMNZIFLCLNXEPECNLYYYT8P29W6ASXF2LHAVXW2SH50XPE0XKR70L67HCXOAEEHVVPG3PUT2SOWY2N3GTKYFB4MSR3OK27TJ5JHQBSGDPB88MRN9C1LLM6Y0ZE75D0IQD1HX7H84JYMWAC296MVB652QHPMKFV0UI9531KAW7X5LOLXSILKFR73GAK08RIDI9CJSZ9Z38Y8STXCI3QLXOV2WJ1JZBHHHWBBVR17EG5ZGHHF6J14MMBJS2BVFD3761KNO9VDTC3CBX9YDW54DQ08FK1SOY2TSPR3CF97V322X6A3RJDTSJT20Q2FJK1919OGJLK7EPLUNV1OHTCYS3LAQZRJX4XTD4M675QGFH1W7S8KA8DUX7YJ2VSU6FKBHAOUOFERYN4YAK5SAP69XXZ4OT3W3H6ELYRLZ0WD9CADBXMFSQJJ9PCA5VR3MC3MIMXDFSSWWVYCSK174R1JINEBY9VAQBB6BPJZUU1QKBO1Q18NLKWXSBKGM4MDXWRNSP2F div -36#KM11F8WKSDZLVQ23PAQP5YC5WHKNQBV7WQ46RNI21CQ7WPIZO3ULRZYHLQHWPX8JZIPOU9W0FWW6XPUAD6SZ2ZZVHSNLEX3HUKRHJWP6ULMQRO7566OXTJHC5OYTTEZLFX6Z0QS7IOSBBZMLSRC045KQ4XYDLRNRFE1H90E3NDHC24XG5EGWTH3S66XS10E13GYX3BRJH87HNH6FBEEDEGBNVNC5D9KOK8E1UAZZ946211PPHRTXGA5LBWC1S9F8GZNESUABQGI2L17VAQ9Q5YWE93ZZCKB2RTM0USJT7BRRYDTHMJ3V6ACY5SLB8GCCE8Y2XR3YFNX34OUUKCYR2RO8D03Z2A0Q55BAA2VBN4QJ7L90V6T6M1ISSNSJH2XZPDANWL2NRNOF. +36#2UQAYDPS34XZ5PO3HO3YQTQLTZ9CHGPD2L3Z192EPD5C1DY6LUV057YUNVGS5MNK8Y0D757JA8ICXXM2KDU8UKXI3LPSGLWJX04 = 36#1JYAYDWOUN98DLFMIK1XLNJAWE64CRNHKZ9DSVNIICM7JW6GPW * 36#1U3HDNO6EFLDJG0K0O9MJTD1I400ACXKJM83P1I6VHYX2E7ZBH. +-36#BGET0SEXDCT3Y8KEUZNFUFI63PM9C438TNQIU5GONG75KGZ9TNIEORNJJU4TL7KK4W3J4MKRNU2BML5VHYZ7O449OF4KTXGH08UX8VCO80N398J4AZVKKOL72LFA2CLVX77NRIAN2TW7IKWLIROACNPKU22U8TTVZ5X537X2JSXWD14CLD51FCLYO5TN44P02B0VD3ZJCS8EVY1AGYZEDY6OQCHY52NFYCLK3WD9P7OORMJ4CKFDEA3YDK8JWRM5PBLMUO9O4EMDDUJKT9AXFKQKW9GFLWOVUENVSO7SSVC4V6RIJX0Z036DH391ZH589BHWZJ30FDQ5GK8QHXMI22NI0KMG55CB2G3BEB6D2WVTIXFUZ8LLPRR0JG0JJ5538OVOGS7YHWOHRWO5NP5ZNRK0L7DX4X7LWF8N7OG3TH9K9OMD9O1OEBTQZTAFU3BXW8AWWQ4V1VSSWZ80IK46GCW01AN5AAV56MBNBZ89RAEJ0U4UHUT2W97AMF8O54LRDHTJO2NYT142RRQ4A06LEC9XSNPZHX1HPKWCOR57SUG69A4M35JG2X3K3AO6ODGDRW6ST739FJS6VYQIPDA41WAGAZBZN8YZ78TXI1AH490S58RNFVCYZOLW1V9Y0RJNZD7MQKOPHZDRDI7DRUZ4NE0FFWSCT1S98A9HO6AUGQWZ4DHSX76RT3KC5JRLRG71SNUIW2LEOEVEOUGAFRIIMNQ8WDJ10IAJVAEQ7FGMPSL5UQP38N4HEQ4KF4ZPEBSLOI37JA3L2CVY7ZQ8DLRW5T9D43C24N3J6CKR5XOSSX3NU9SD6WXBYPYSUP3136JVKUC2FPSW9GF297J2KW5IH5QA2LAFYGT816V0X9I1GGOXRE84LSDJ8MPE2CED3D2Z9JNAL1BVNFS7DP = -36#10G4H9YEV1N4X2YCP5LGSHT48BED5Y4LTFKV6H8DW8OX86ZPH6GVTU4C37Q66EO1VBYT7I95T60WX4CE9XZH2BW8WLIORW937QXIOWBPNBCU0TOGGZUWBEL0L66MFEFBKD7K2R849AFI1EENGSO1GUGVPCSA0FC74OJ0RHJ6KL9BTORXPLDER22TZ4HUW70NRMDPFOQI896GS7K1EHNDEXNDQ0HWI5NAMO28AJ4A6NC7H0DEZ9GUYFJOGCWJTK6SN5HRJ0DISGMZVWV8DRMZFSG2V1X4LGFMM7MMKUX5NI5DDWVBHB3VT0P5VVCIIZDEDQKMXHENNRDLC1FIRG3GIIYW0GTTSLXLKGXMCI29BGSX58BS3903T5W2QXS2VCM0OGEWEQ4UMN9MM6T0RH6OXAE381731LI5T1USEKIJ8OK3EWFVF4VSQ6Z3REPK7N2D4OGENU7LS8XDD2ME5Z45XCED1G0Y83NYKZ6JHFL36HZDDF46HBYVJ84VI0HW6K539JR0CCE73W3TC3MF4U9M1A09OXMJM7RIKFJVI6VGE51WR88X5298OO4NA45DZLLFB73HZ0UGK6PZVW2HS96PLEFWRXL1WH5URJLDAQNI9IK0NC5OQEUKT2JNNT1OW858SH6UWONV1DRGZ2EBTFI10GBBIPV45FCSNDHBIN26NF7AMJ5F5V8Q00GSU75AKN872Y15UG9S3Y3F6WRP3CSGXASXP04VLKQS7NJRE9PPEOIGE7QFOO57K2J91YEOCHD4G6RXOL4BSC4ESQDL7OYZVO5WDGHPQF8RNJRZYJLV6SV54RDZSTTI1L501NVTUMOX4SP846RKJAK8YX9W66NYWQW05FXPTV5D9NZ8UWFL2KCI7C6KOURZMLXPG6SLEOOWITTWY0QR998HDMD244O0PUHCP1X6KB134EV9AAL9DUBKF30EK3Y003SUKJ0BU2W3 div 36#36JCCUL5HRYFM6VL9PAK817X9XN1BOIG8KG3P1AARKS2MBEJR3. +36#18OUKHBGQY6H6DQHKCTGLSVXQE9TROAA3AD40MH6K7LC7610G3 = 36#1LOVVC223SDVV4TEGY5ZJKB1HXRUSSZHED1DH7KJY6UF60XSVFO4YAF50O06WIAZE5F1PNC3LBI7SLDEXKV17R4J1325ZH5C7BC div 36#1AH0V74W6HUHUWWJFGI5Y1MTNV0RV6JZCB8WJFADQ3BV78GLEG. +-36#2HG3FUCYHTTK4FYGZLXMO34XKVRKXTECVV1UC8KHKR9ZMSJVIS = -36#1BBBA698TE67VB7M2ULUGW4I7CHPMTOBOZX7WL992SVRCJHL7FF0Y77KE8VVHGPKQKJFTD6X9U56DQ8U9X37PEZUUUE2NQI7FL8QGWBVG1DYYUEIQPL9Y71JX3A5MFAVNTCLBRM5R6OW2QBZHNMPZBNWVYFYHAVT8IW2VISVIVD9KGR8LUP3VOS0CP4S6KGQ4E4G3SRWAAW717T6BB7Q85ZTT37IRDPX8RAO5LMUOXCTI9S4SQ0J75WWW5EXRNR92XQN018EJIMYOJ776PD054VGCR1XJH0A1Q9L3K7SZSZM59V6J979Y8CUAACSZFV6A2RK97S37KW4AHH91H6KDPQQDL24KKCXKEH0UU5A5H4AWPTAOQIYE68ZOYH7P0YXR3NVO2UZMYCSGLN7FBWM2EJZOWVMYZLO20 div 36#J1JBRE48TC04CO1X2UXFD5IX9JSCQ3FW5JNC73K9XAIMKUGNBCK42ZS4WK0JKB9CGAD0368S2MQFKS2D0MRQW8SWWOTVHS7VU10T4O6H7OB5CDFSGSJ6AACC2TARJX70IW4D5NQU3A8OZT0I27YW5AV36Y3221M33112BRU2WRH9EGRE4DBC3U3ONC4ACAVPJPJ1JIN1Z8OEE3O5P1K81US27XLMI1CY47JSBKPJROYKXYY1CJRBWHKR7ROJYAQVQLYYF5HF05IHRYGSSAXZWIHSOUFGUQZQLY8MJGIYPSTJDL11RI4F43N5IWLYL87J2PFPBITSJGAGYK88F07412BNOAAAJREFZTLORZNUIRYQE16I. +-36#11OUHANC8WFY81L5LN4CZZP2IAIRZ88TAGULP5Y24OKWQ0TECYDG4LCW9PC4R13X87351MM0O5MKPHWF8MNVDC2VPO57FPUMDZTW1W2AM4I1YPQ8GH4C0TFE8VUVS9X5J3BZIVNNV70B0JH5SCQAQC6IWSFOO392QKB46KFPX8DJ5TXRGQ155YWCM9DTVUG3QQ5YG9WKK455653AVN7DYTNO3O7D9MAEVBA9MREQAE88UI14H5NGDURAGH8IPJC8AOSWBVGV97901FJ8PYZT2SAV2H6W8PF2QVOQGSC268BSRVO52SSB6XOCCTYCCNYPJYBU5C1F4QMTI7LAQ8GEWM8THGQ92P35ZJQ5EOY0OUHD90DLU9TAVH50UEERUQFZETYZS8U9Y83H4J0HBM7P21NNHJGBLG6PD58S5ZR08XYB18TMX3JMK8EUB4GV0VJ6KMU52RF7URDI167X1TJEFTDH37OCCIWIE3IZRBVLRRMXTD4ITMCNQTENHA5MPQS1LX6M5HV9C9QYJ9J724J2TRQYPA1TY76QJB289JJLQMJ9FK2KPKORCH4JAY5WKR057EGON6K = -36#2CCXI3VBRSAPAB7ZM1EL64IRTXOGUSQNYZLQWU7SGFDDG3MM1WUDWET8SDNZDY5MKH35DG2F5DD5MZ3YK4JKUNFJQGGUOZD8XRHH50UZPB1NR0JBU2RWV3JZ6O15VB7XETL055QCU0QB3HZC0V2AC0KMJS7M2Z9SM7HUP6FZK40GGC55N8QYHUWF8FDBNZ12NMOXU77GKQ36QEL3J * 36#G312LNZ78CNTWTW6GPL6NDK9Z0RSQ3QHSY8Y9L1JF4A6TYHNJVEFG6WBJDPCV6JVHBWRU44TIJSMV7HPK0ZLM77IIEVNGLFB5S5ZMSG962H8I1SCZRW2L5YRE6NKVDVZXS8M0FMJHW8KK913EBDKLYU79P1HPI7HADJHU4JFSOMU1FFLEU0KN7PDC8TRTZPK475N5G58BRJOTGRK2ZC0HIVW6X2JWWTIZXR2TFNBK4KCGMA97CLZQ850S881MIST1K40K7Z954MOLY7J7SVQDZ5AZA6CIKC48OB56RUQTLU9EVQYQFSW12AVER2V4EIUWV3G47I88LKFB6XAAH15SXU15XUTV8MM1XBFUCS3Z9540LG5R35N8K. +-36#FTITLGRQDH0AG9D01SFQYL3KWF6JH2VMFWIMOE6LFJO0JAK85 = -36#OE5RGOUZXDR5MBKJZOTYUF3P7OQ5899IOGLMPF5IGB66PIWNUQLFSHJP8ON0YLNQ3YNR6B5XLVG6OS6EFGD4IX41US9C7EXT4EFUY8XINNGVNKSNTDFFR469WSBBT5N0XPVEW55I9IOYH8CHRDRSUN8BJQ2CG544AGAVG6GH8SECGM6ISILBC5A4V8LBTS42V9BBU8OZNRRX2V9FO7NY67LOSA9A1ACBKR99GJY8OIR42Z4GFW4V4FUF3S9B6PDHK3DSLQGGZHAN7R2NZKFAYF9CBHBYLXSULBKD6XBPDALDQBGVDCTDPMC5VAIJP4KFY4MKVV0ZR8V8BATLXHTODPG9I9WAH433MWR5Z3DZ9J93J6436M5O7DH8W4A1NP4T7650L4CKPLM8Q0ZM404NPHHG3T6P5X4SXZQ7KHSZ9AQJ45ZN0ZGHX73GNWAXHB6HQKJ9UG42YC4QHXXKNJKT7 div 36#1JIBXPOD7AG1EU4M2O6SBOCUAZFNMK13J10L65FUPV9287GC2M3H5U6O0BN4HXY9D84MIJCBTQ0HJOLCIKTWA7PPPL3T7BGJ8TDIY7DPN8SU3DV5YL28H4HIVHWC5N7O5DX2IVZHW5H5OZORBB96CL9DKHBAMCRLZ9BBHN2B7YCX86A81YUBKLNNOWM0O3JPR5I5BTW126I5SYGFYOQR9V6WF412DVT8ZC910RY2CKZKIYX9C6KO7N7AZRU02O7QZM0Z05B3L0H7CZFIQIH69QXYPQMK7I959LW8H9I8UYVQFT0AWDPJYMOGCAJNSAFCC80WG90YNLHYAEED22Y4LXPCQPSDKY71HM1YNWACOGNV2AFAMY8MIFR6X58J8WHT9F55ARMYX0A3N8JDAGJSBUJGMFHXB3OXRCKQN. +36#PYCXEDEEPUC0NEUI7TNQPKBEYZQI4E94K9SAF1TSFGEN5ATGYBHMAQOAYRXULTZFXRLQAMFYY7XJDKFG79S4HRVP1WK3DO2GBACHH40WMKSQ0DGBX4992F7S9Y44YO3VDFCEMXSIKX82Z0KZXV406Y6EOQZMZKOXOF5WXKEM4KDAPG8SLNY8E9RD5AZFWNDOEAPHBTJCY1EFC6ELVG819DN2FL6MYJ33RRNKIW0 = -36#ZPTPICGDMQUXX1J433D7RMU8X08EIR16ZODHE20B735339329H75DSTPJTPMG140 * (-36#Q5R3IAF1Z4C32CSIBEDHP6AXREK8EQ9KU0KNUMZE3EXQ8MTOSJYSR0VXMTDWMT98U9FPMFUNY1PQXCBT4VLY8L6TQPNXEXVZ5EPMK1WBYO816IS1XMOATKXIBVLIH1RZAL92MNYGJKGC9DRMJUF411SVQZ9WA2HOSZ4790H). +-36#11JE3LWCX01GFHH07S54SAE3W1GAGWLWFUYUOG9GCEM29LCMCX = -36#39SLXX10PC1YXWZH1U0K8UP1H56TB7BFP0XKW1U0PXZ36OBSTZEOKRPSNGDAKZUQ63URL55TR7UP2I2MLO3DXJY933G18SDAJDI div 36#34YSJGKWL5T04MO80AL3KIE4XQHRX8JGYFJT9VE1M5SIQFRO1I. +36#5YUG6P3WKJ3XWR40HVLU6EY85L7DDI5JHJOBCW5Y79Y55E9RN0ZA19R8T88VILV7AH5MB6ZL32B7X0G9UC94A3CXIDTFXEGA1358G7BVWJPJIES1LI5GP26M2YV8W1M8E34OBPE49EUMTJUQ2PW0SH = -36#1GB5571YL0FY4L1N59HIS3QMVFDY44WYZFZG0GKT0XPUEEB67C09QDUZ3SO5OKD4UTIDRRHRIV734ZJKJI2DVHV9QTJVIHGOSXHSTC6Q9UGKIQ03I0OJZW7LCK5I6AZHO2Z83GBCOCPKO4HXGSYPTQDND1OIYBDMI4EIEUVO8XQB433SFQAASJ1LBZGVNY0FBLS453OCT2WG96SK2ERDF7M20ZL3QDOWQV3DO3GTVPJXAGBKQHSITLT47HE8R0MSR0DI282UO4VC8DVWIW72LJ78XEZC0CWJ0GXT70H7OFYIU7ADGBP1ZOFLHW9RTWMNAMAM5GNZHP0WDL4EHR7MM7FC64UW5ZFR8CKAJRFHL924M0KUPIIKNM7NIP85A6KBPYKKB7LBYRX954YRBVJR760KJV21Z7E9LL1W4CGKNSIBMZNF2R9VM4KLQUKBMVNRJHJ8N9K2VSAPVWALVTRO075QGWLNGYJE6BYRQQZBXI7CF2H6J0RVY3N7271HZ7N16Q8MADZI20E0AVGV02CSYVPYLJC00JNDKBND4PHJZ8CETFT0HASWQWBT6A87GB7EEFFIBRMXKMMHY0PLHCY2MC8BA10F65D7F7TLZV1FK64G7QOTUY27CWCS1374OMJK29OJ8SH9LXT8AOMXGSPCF79MC8BLGDC9OCK57DMJKDW5HQT21Y67ZYA1WTR36D3IZ48BMEBLFC18XZ8MN6VK4WPRKFPCESPCO9MFC762BOGEC1LAW3RU4WA8KXCXJZX9XK0O903XBHMYZZLA3MBBHCCUH7HK5XC1ZO4QZH7B8L110I6N3TDNBNHXECRATS9V1QMOB4751A9OEL0HM701H6M7DZDJW5OUPU148KQHTYY8XHQZFK1AZGCNZHTF5NNU68O0NP1Z7BUPQO18G87AIYAYOYY8866U2ICJSVYGLM09B9J8KX4UFMKCTE0ROWR3LCTOZQOUGBKZZGCM7TOZ3ZPBB5AP0XIADBFY0QZX1E9JERVDJ7E1RD2WDP8723KHFMHRDFBVXDG5XH8KT2QZMI55P8N8KJ6ZHKFSLAGKDUA3R6KJV4ENCDBYBEB4P87LJ4EAAUNE8SF64HA5O5S5WVV9LPJF1BIC38KAUJOFMUDURLITD1E7C2M9T2CS47UBX33MAPUR5DKUG0U5M9LHR49V9LZQ4NY67V4M4KWM2747458OU0HPQLYP18ASULJVPZ6TTGACPIGQERGI4WY7XOUJW2ANYW7W0LU6VEQLC2FJQ94A9TGNPW4SM9555GI54LL3V0GS3QXCXC8GTPT2YFE7TI1QMA4YJTROL1K3VG6MF6V2GKKJYCMX9AFH0VV3RF7O65APH02W7YOE9ZI4K90ML8D6LLC58701JQLT1M83PY2U81PR504I75BQA5AO38KIEVHJLD7GBD6TCX8K1VO077A9EYKIMDXNKZUKXDLWI3NRV5YQ778K6IRJ5I0Q5H15SH43PHR56EM8Z9U7Q2E8R497P46VMZE5CU8J87HI2LB7R div -36#8RJK0U4788EZHKVJ507Z4N6BE8P9GFRYLEO82OQLWL5AOKYB2JVNQXOG3N5V3Q2OZDA652N4MJ5HI5BSQS5SPKZQKIY0HITKDBA9I4MEEPARJ8DWAABT2F50EGXWSO9G3W1BGI67TS945LUARVA296UTWR0RJDM45QP1RPA65ASHM2LJ8JIK0H7KVNP8CIOKY125PNNBHWZGGXDSPDXMI1INMPK6I14TUAVHLXWBOLA7USI9B7878HRN0OX606AE3EKGD4SI020PEAJER6A7VASB6G59ZURC47KQSZWJCERPH57TY04CI7ZQZIATXTX5DQ0DI6LYVMHG3JTOLNYYQUHUGE8K11NX95PUJ2D4QEIK80B5ELY8UV1X58JR89DAS5VX38HKG4NU280UTRBBNUMVERYSUCQHVHAFTNL2JNE04YVP1B35A3PB8V0V1GV4G3KKDJG4WFMVP4VYD7EL5H75GE06HMB8QIPKE2FSYVM3TTS5UHVI4SSYX2PZQO2HVE7EME7JXBL7W5TU2B6RI0U51J7OJDMMW067GOZDB3O11XE44AV8OMQCR5L8WKLI9W9EMP60EBD4VCTHC08X8NZ777ISSZ7SQTA8JS6VFP1EVGVPHW83J61DXFEEI45PT1XV6EBXY0GP2AF7EMBNKHLZGK9NYY9BW4LDHKJNWG4L4LQ438OBA4VB3IDGW83UTWAXAZL67NKRI1UWR73GDEZGJ7F9WS7XBUBCKOO79ZWEENAA1U6N14CGNBBVAGAD39NBCAUNUEUV9H5EDJXARCANPGQW483KUTULCXV6BQP0C9CM1UT1VSLKRGS6S7NHQZABGCGUA4LA14HL2USKFB7VZ4LMD10XUT0L6DBM81PAHS022L2ADP2X9TF48QTAF0R4BEJCLHTSRY2S3YKVIGPDZFZDV5NH0OKHCZP7SV835FZ3DATESEWS9YESA1OKPM2AV7UEEETLT5TNF2EMC69SAPSO52YVEK2HC2C1D3P3CREAO71VN0KQT9NN5K01504SQHGD0CO1AQFYDEZUV7U4BAC981NHKL495NPZ561ST9PERHNT7HAO0QJD60FP1Z4V6CY47C36MWUUU39QRPLD4QH8Z1OKG2FK55VTES0Y7F6X5ZMKH9DUAQGYKJWQW3D1OIAU27KD43BVUSXX12IIXERSXG1AWF4BFH5MIVZWGCZ25RBMZ4O58X7WCP0TTMF8ZI006F0CSXVHWU5FCYTD4ORUF9N42BDW485IGIRSQLJZ4P32T2EPE07V3RG6AF2HLV3WYAN856VID47VKNYTVOQIVYZXH2GXZCYCQ8L0AYRXTIKOVTCJ2XVW6JAZ2EQ5663XI5XS7EL10ZP94NHMZNR. +-36#72W2EPN4IO1F7TGJJ5HLWAQTM0175S0V7FLL2E3OWMN46H1P4EAI89ODZXCXZQRQ634HALI4NROU8O1W6ZHN2YMZFMLYF0W0DOH33BYY2B990F0ZCO7G5D56SABMBN2SZO7J1SYEVUFKWBYGXI8VJ27GY9MFZK8EBUN7RUOVZCKNMJ5RQVNRNBP975VXLABV6Y8L49V2ZSVQSPKCN09MCMIVW3I82DFRPJSBU5LMYRNW0VIJWN7VXU82LZN1477KMU5CMRFRHXPU163Q1TYTYFG3T0OD1EFXGC3V4KPEWY235HIC8OQHTHWC6U8KAZTEWC32NCUXC46G7WOGN3O9J8ZTJ5NDWIKUIWHR5APOKSL67TKAA69VNOYQIJLG3W68O138FMY2VVIFSJT702RZ8FG8C8N7MKXYVYREG39GHLAROY7XE4CMYR4RYQTA857EAS2J0BTT4YI5AFUQNDIO4O3QZ1ALM025TUCYVU9YSBOGWXCKDEFEJ4IHQSQ6F9VZWVN12ETJJBSASLOW2 = -36#2UW6SFEVOKAIWOTBIWLIYJLNG4G5GC0TG5QOH2EQ4SU1QE6V3QL8RQSF55M9AKUP3MWYLHNFTG2MI5Y20WAA89OI53YOGEYMY2CKVO7EW9EL0L7E66ZYHXPX9V62NZDPYGWYO6RTUHHC31FMCLUSAJ77P6WK2K2NX8DZ5S2M4HYUA0HVOQKT15GFVM3EACT2C6QPZZP7FVXNW5C5PJ3LUIKAJNRPH1GARDKVDG7FOTFL1X1BCYU6K3865UDHFI1Z2BNY5T6AW054HM45L1KKXZ96TB7I4GN9G3JL20CBK8AK1O2B91E459RPYFAV8PNHZBQNLBIOWSAM9KQO4T5WR1L50F2XTTAY6YU0Z87ZVG7MH2JLG08OLMDP8K0JVTNHQFYEOTT9ZIJ4HJP9ND3NJ2ZYGDWXTG8XXJKR1ZRP5ZQ8IH51M7CNOZ21K9FY6SA9MRPZCQ2LRC8KLPM28W1AKOA2U146UIFREQZOGPJXFHURZMRFE9HFRNEZK1O15NKOYYOCO2WD57KO4OBQK03OFTEQTRK04OQZJGDL72LJV32GUSU0HCXEQ0RLOVTT4NC89KQVQD0PGAZE8RW84Z8CNOTJCTFZXMSQNLDHIJMJXHRHRY7I0VJ2YG061WDJYF5IWG5P2C5M5VCTHQTJQ26 div 36#EJ629TCBCGELFKNQCP33V6AJKFHOF4RCXPT1VFT5OE4PRVSE31ARSAQSEZ3BNCELPLOSCJF75IVZGS6LYJV9T8XQXCBJ2SRJBXQ55DIGAEIKWFQMNDQ1ZY90FQQ77ZM7P3. +36#4X9HJ7JKJ2MYZ2L0DYAZA023KUL7XN6HOZRLJTU59VGC6CY8K5XI3I288WUC1LYRUXFSUZUOYHJNKQAYNCKA8Y2YG8VUW56OBKOSYR8H37A4CSFNQCKJW8045APJW497AM7CRNTQK90FSDFMKAAF6IDJHQTBHR61M045OCQ6QV2S11EWRM2AXK7Z35Q4MCUIMGNHAU4AD1OATGNN3O8OUDA3WMS1495Q3MC5TKXG4MBHEZMV0NE4POOCXV3VNN58N2WTQW0DAKUQW4T9H4O5JUL2BQ5IS48VJ5DML17LUFV32EXI6BJQAT5F5DD4VZO3808SO8JW2TL5WZW4K25PMW5MNR39U96B3V0QMDVYDUGLS5EAXZX72WWD1HN4GX5HAT07B3ONCP5XAJ3NL7I6Q99QM41MZROCI6M5V9G8936I3W381A2CQ48CDM9RE2LO19F9P252K68KFFUYKVQFNFIHGE2XGTW818Y84RLOKLRH4WWJK22PHX6NMGL2FK5DUCGJWWYWAGK1OPX9AL1400QRDZEJKVPE2RG5I9446AUOV65MBUG73NXYVYQRMUONMQMUAGT5IHD9YLRTT6WTFWQCROGIJHF2XK9VO14ZJU7JVTJLPUBIAEXBPLOO5USP5OO5KPVORC4ZHVE5D1I34PYUJNKA85DSN9NZZU1P67A199SCYZBB93ANJWI0CUV8VT7FRQLNUEFC7X = -36#3TUUM5EIR1CV13AAIQ4E927X5N4NKSAYMN35B0N0Y3I6EGDFML7HKO9Z2NAYXY4UP492U3F518MD88WA3NDGRFVS8AQJ9BEMQQGWILWZ71OLFF499YHPY8TNQILHFC9CBJHNTTDRG1ZO7F7M76TN1RRM183MVEDOVNDG9MUFOOF97FVMOHQUHSI8IOGZ7LMVBDNFBZZM0T7TCG7S0ZXMEUG1BV7ZSK63RYKZD2N9EREKO6JINVDQT6Y2P9GKJW358GCWKLJMW3TIU4R3PXD12E6GCJ1O41A55SD2OBHO4OHDF1Q2Z48HUOBXISZCD3U2IPNLZXN5KG8KPDF8ZQHHYR4XD9GKR7HG0YC3PTTJ5P7BW2MPPIXDALJQW4HVX55H45LRQR1WLJA8LWWIPZQHJKXVODCQI6V9UFQROQKN9S11P2YZALNPAT35GY4KS2L5AT3H70LXJ2LA8UP098GPV0ASQL52Y457GNJMPRASFHIII3EO22ADPBLONHLL94C065FELYBZJ4LHFUFNDAKNAK121LOGESANT4QAADFTR2X973BIQKICI1BJ32HCBQI5F16YU0F1VR22NEQI2MUYL4JXVGD25WWDPQCVG1DTWCQF6P7N33501VD3M1RQH6T2J3IDYY64LLID66EZDW0W26G5E1P2U74DENEV9ETZ49J1PW7B2JIOQYDQHZ086E83XXDVZ7GKA0GDI8H6E7JD6W74IT946NGJ9X4T4SANR5JPUSUIE5UBBJ5S933QB1TH03OJ3IBIKSKHW1GGPZ7ZGDOC4GX23M623DZDIGWJ3YBL0YAO8Q0FWJGU6ALYYWFWTSF7I4FCXB70J6QSSPLLQUY6JUOSSC3LELUPX8E31WBN9GF4IXKQ9Z2TU0LJ8A4GXTZGHACK0X1SAJUATBIZX725QCR6B0P6V40Q11MOAZ1UIWFXM0EP998UNE3GN62D64GPSNEGYKCT0W82XBJ81XSJQJ95G3KJ6XXSR97ZG3185X96CR8CQHPU3OH7NKSN18YSZ8KPLXMHZGFNBO7TO4DDA2DHLJZR5WYAJTXDDXLDG8YWU2J5H9V0IXQ3Z9W3Y2WUGXYTPYEWTH9BLW3XTBNX6ECTVAYJCAJCXY2MRDID8GF3FGYVCDS4IMZ9 div -36#RZW4XE68MY4QVD7UQOTN9ZMUGWAXDE4FE9I48B404SJDHQ78NBYDVB05ED0OG0UDIW2XT3O74BI56EE3OPG598GCYQ4L8M1DLU2OR1MHAR3XVGJOXEC26C0AWSWOX0HDMFE0RVPLVEMRG9EAC3PQR8ZCZ743PR6KGG5YW1HKTOX565JYPSNL0JWDAU5S40P7IA44L46NFMZ8H342DIJXE1KFAZU9UH9BAGGRLTJAWJLKWSCVDPSM5O2HI20IWCUCW4ZLM6I2SGJ6LC31SCAZKPP8FS2DFLIGB9O1WSKYMF01PBWIVDV7KSE6QEF5C2JKY5FKEDEXHOCZ7SN0MD1JM32CY97VAJ5997WRAD4NNV3G9WVP8F2XHTEHPAH3OAI7H2RC1O4RNFXVDWI01WLJGARTKQ5RWE0VNHL4P8P1TZH509. +36#BX3V7VTXGLJZ0Z7HM7AUV6YITUK0HJJNS3CGH9QNYHU9KQCVD = -36#RLE1PYCT1F6EQ5ZGHOUXHD6SBI9RMKJXAOWRQTJFHRWHAGWWTY9LYECLB27AQH8QBMLLLVJ5YQVM5PJ7UGBKANN6KYC7X14RHU div -36#2BC9CM93JPMSWRZB564X10S7O2HUUBL89I1NP257P4V66LL61U. +-36#HL0LYN6I0K9GXEFS1V7EWIWMMUKJO04OWSRDLDCLHO6BP7D3K = -36#SGVH47YEHKUKTF4M83NBAN32J0NIX9UB4BY0AC3W58KFO4JMJ3M37WINBVNVFF4JWD5JCX3C9G2XUAZ3BD9S8RL6I8JL48QJNOL81MJ0BQ372JPG5UZTGSJCO6TS9WAM0AJXF32LK43NZUBM051NBWII6XE7WXJNND35JNB8WFVXJ6ZHPZTSZLPG335SM9H1Y2SDOWU6HKB1Z10GH9JPOGECDT32713XUGOHEX5FTGQME4G81WHU7JCH131C02T58P2HPXUABFSAK5954DIP2W1MPBP6HR62DTSXBM6WGTE12XYKYCZVG7QC0ULWDJFYPKM6MK3X0I9RFBC8MZIIM71ZCWWHOFM46II2IUIXU5F3479DTGP0LG6END5PO2JPPPP1A293SS4MSGFTCQR1RBYXFKJHYZI1H4IHE1VYE8 div 36#1MA9J265J46UE52V1H805NCC3AJKWSRHLTNH6BJCRP2OXDCUYO0TDBY5L0LQI1W386KIA09N740M5V0D2JAJEEPCOC2PPO1D9VLS90RDGXHONVQJWK4MLKM70QWNM07PDC52OG6HQS1RTQ7TQDLII126PT9Z6Z6SM4CTNAO6DK0NHE6NXYMY8E2L6JTKOF7BZVD56SAE5NIZK8ZX59C2KVPJCLL5DZCMUHIMAKE3IZ40J24KXJ43M1NYAYD0YEECQD6NG0Z5MEDX7RLKQFZ557MSVDU3Y4GM6BQJA1DIRYU1J6MS13A64E103L3MA301REEZBY3XH2EX2NCOQW1I0GN5MHPM3OCTQ5NJHTR0MYDQX1PWGWNP1ZVWMM. +36#BTN7MLDM3SMGH8V9ORCWHWEQAXOR6GJMEKG3R96NSM0L1YC0ODIZMVXDAOXH9QV6AZF3VUVBBH9GKJ7YZPG56ECM4CBV5PXMW2L4LG1SRI1VM3BAR57JNAVBID8RS0F5CBPJNPBMQQ4WO2MGZYMBQFJT5OXO1ELVQF1DGZO23AYH4BMSATWMC37OOC4N1ZM8UYGO9PQAQB42P9S6ORSWDU0W7WZHX0HBNB2DPLTCQXUF10M428UCP812ZHITPTEZ3MMQJ2IZ4BYL9KN7KPRB639FOSK61KN2KS7MAD8RSZ7PB800C8VNMOXSJJDF852Y0M3COGCS738C0MESX7SBHYH9BLQA98I4GPAUB2HOHK4HQ2AZFR3IW86PSNIAE8578WHJU4VMJ05527J4OSJUGOPD9R5JVQCZMM9VYBSV73PAVK3M9HQITZKJQK1DQ4SQXFE6H0CKB6RLDR6DRDXX0C1V8ZY7H1NJHV4XKHBID2P94QRNXHDADYI9FQ3L52Q2C0HO8S7WFIAXZBM9F242KWUALKF096C74KFLUPPQ03CQWTNLWSAKHIBLUIELF177VBD786SC22MEF05JMS45XCDL05Z7ED4M9C187O6ZLHEEDTA52S173EQ6SNWK10Z3BBZ4HSTQBQU2W0SCAL9X3KSLGSUCL44NS1S4FXN4ON3T4O7RQOBWM7KK5BZONVQF1VXBFXL4SWTN70D9NY0N7ASOC87MBX9V9QYR1FWBD4V0ZC2WHTO1XNWDIE0DSQ5FSF3MW14QB28PIZVUWQO0WEYNKT3GDWN1KR3PWSIMWHJCAQZSQMNQGRGWG2P97H2VH4MENANM3JBPWTJ5Q9IT6X71KO22A344LV7C5I8QN2EO9J6I262533XMHGFEL8RT28WGOPALXVQA3V1V7037MR6LQ34D8W0WZSSXGPMW8LS2YUCC1FR07ORKO1XTL95QLBXIWLZNQILEABR27UUEH = 36#OT7Y9PDOQWEJDFPR63K9ZD6SG8SIH53QQVAM52UQ7TXVWB6YY04NN1BSQDG1VF4QGS16V3OU73NMLUW3M0XT2412FGDDR0TWSHR15IQ4ABS7N3FYFHRMPSQY2HBK020K9OPR0KYOY5QL0GQ4CTRMCSE3DB5UTPUEBGZ6PRI9JP0S1MJ7KS8DA7WL6M384ST4DUHPG4BNCIGFKWN9A91V4O5UJOEGH1RDJ8Q92IBXX9TIBFA51YL80H3G7HTK1FMZ3JDXWU33BUIKPWVLK799142TLULD83MQSGQ9IKT0UZIHOSRXP7RPPS9V6YTJYUK7BICN04XUYZM42XERAW6LWUPOZ68448ISXKDF1AOGUN4D7JSZYO6CSU0B72N4TLW2WH4VZHR42VEWI2IJPJ82WRJCDTOEDPRJBEY2MQ3LSFH55PHUZ2KAZMXJQO87RVXPZS9XBL84TP8EMR6CMRIKULB5UIZ0QKXSA9YD88JD15OVU567D1OWSRNTPLW1OCAYHIZ4WE1PTJYSNO3NHYI7S2MKGT9CR5FKJ6A25ID48JPYORTCBDM1Z4FWV8GQVOUGFVS44R42A8MKAMEDVX8I3258ZTMEQUPDFGK0CC2WECF2HEW3TBLHBAHEL36NZCZ9W1B6M33Z9T6WVVBANGMEM1CQMIJY1E96L8BFW9SWMXPWTFIQRKF42K59DWZNM1REJ3FRXE49NA0JQSYD6GQDJIQAG754PHKPXTOXVAKJ59MWJ18I967I22MYB6BFPDV0Z4N6OHU6PQ86RXZYBQC8DX4KK1HH9K8LR96EHFY5VEMTYK89PVHUHP4G6OM6L3E1PV0FX74M2RCSDGVUIW2KG6EHBVTH5O7V74SHOH26QW2ECNZR6JRJSXEFEG6W14GMSL7EQKAMISFJWZRBI7N49HO90DFW88D48TBT2MXB1FUURLJCFXL7O4OD5KVAVP6EL2D251XIJCFXK117ZM8G0VOL6WOP4PKX5565TOTPCW58Q33599W57K2AF6WRGHMXOK3ORV div 36#23JO777S2GSQB83UXQSFYZ016EHWP4I2RTETOMHIBC7P0Y3BZN. +36#CZ5CWGSA4PZ8498TIAN8ZB8CMAJKOUXG3WD2MTUS1OGFCEQUHG4A8C15OR1DDKAC1WTAWBXFWNMQ1ZHJM9JM21CP5XX1RMTE36EDPC0XRF8WX29OVGZYTG1K7KO5JBROMCAXJS5VTLA5I5HDM9N76WY0K0LW83ASQP6A07HHAFTJKNZ1QP3BU887YGA9RBGO20GEGLRH36TVYW7Q4DJC9YGV2LKV5WD86HTC94WAN2X4VDDQ8H9GMH52K0SI4MKRY14GMN33FULCLK546XCAQEMU68TKFYURUJZ2HPW8XR6HSK23Z60LL1NRSHXB0QASSGW6LMUR650V26OT4OE3R6IE2HFS0Q70MNDZRY9HK9WXO2PRGJLELWCKLNFCI0LLWMQBKT5LWMNIU43V9K6TXB7TS31UQ6XACJ7T5CZ7LIBQ9HUL4V4WLMVVWQC0FBB8DCZ0BEJG51SF60XOLL09OCH41GRG6BZ4JP674229WU27NTM1AWITXKC63789EW9Z6WQ6QOCI63AYKJER72TGL0LZSFY1ECA7WZBQROHVFAUYUNBONCGGUO3SO12JKR1GKP7V4SWGTPHJP95X38U76BD0JRX40HU2URKTZVUTNN791HUXSTUILZ6BQIJB1G719VN60HEB9AED0GNGZ3VP45X = -36#3XQHQQ6V1RN09H6LG38ODKXW60Z9RW5P3BQ45XLAVFEZ0FL3ND3200RYIO3V021T7J9NH1EQE5 * (-36#3ANHZK90AFTX6QT4431MKD1LB7Q3LD0KRQXY7Q3IHV4V2GPNIEEJPF5T6TQYQOMDBKJYGB7ZIOLS3JNY3AUUGIOO7DNULO5A5VO3KVDKJ1YG42HCENA7FJK6AV50P6K2SLDH3WV56OQVQN6Y99HH3T50C37OXWCBPCJ97OES6YP45O35T5A6PR7XP8YSNT8VDLOI2VIW10OATDFTE6Y4KUYF1E7MC4QMVCD5SY6Q57GVVY7KHZF8KCITV3TPWLUXZ7KEEXRLANLPML0KQ8CN57KYX2B8PZSNYMV2SDMQMB7D6NTAVWRUBLU2CST5EGTNLY62CY47D7A7KPV3X6V9C7DQEM5CCQESVHHBQ8DAQ3AV16QJWOXAEEL5D059SAKDUEV5Q4A5JXO29CZKT9BJ9LBPSBRD1BNNHM77W8I6D2QR454HWIA8NUSW9KO0DWSXFH4D2XUZKL0N35N8GDHZJ2QMH0OZ5SZSSC01N63Y99GNJGYMFONCI7IPAYYHEDJW6UMNOE0UQX7I38FVVUP8ZQ03CGDS9ZWZ9V0PVK54ECL233S1SDKC5WF43WTJ5P0ZF27YOP41N1SPLL). +-36#1194CKPJUN1DFIVF2Y32GLTOOVV8GR6N3LSYKQTBCIEI74MTDKC60DRC6PMW5DFO3V948NYEO79KM1IZGOSH1W1H2SM7VW2YEZ8LLTQKKZDDTQGQ3Y1D0ALF67YON96O2U5IQ4OT2NA7B15N1WY8G8GBIJERDYBHP3LLYRXC4S4H0AEXR0K3GN2LL34RNZVZEKF52WZT10UETIJM6HZTYG4ICM1H5NIAMOLHGUGCSLVYAQSCOXM1P2RYOIOQWF6AFX2YO3LG1MPB4DFJIDYJVQTJMZVL1AXLD9XIFXS1WWDI1CEL3GBWUDSS3I2G1CITAXKTMWOET4DN05VIV0YHDT3KJPSHHYASIGZUEAFSZFURJG1HJJJ0UM8BWDXHJCJHMA8SRPWJD6IZT6CH2SQK9IMC1R1SNZK255GFVVUS3EANXG25D5I06XB9NKKNVDKQE5INK3YWENWGALR79XRP6C458JXZCNGRD56OOQ6YOHEQMHG5DKW320CA2PZ704I5PN0LEDSITWMWHA28S71U78JCPWGHZIWHVJWXNZWCH3KQE51JND2L3YH7EOKLY9XW1VD1IV3K2JTLMAH33Y8VP7KFA49E51UESYMXJMRWZLDPQBVKP37VRVU3D8ZALAUUG1EFTWIN2LZ7PFCHZICW4S6T9KIU83992FB2YAWPT09EQFPI58BN9UUAKFILHICGS6T9H3WPX0HGMXR08XKEMJM5YIS53AFPIU0T89M = 36#1S2SHENWGCWRGEZ6O78SUWUKFMR2LOMQU7SI32TQWK4H2WIJES72R22T0FX96U6O0QCWKYY80Q9VIOGF9KJOB2WG5O0FXFJCWKSBBQDK03QO88SABVJYU2SC4ZMWMRMLTNKJ0ZSV88L5J3A21XVW3QTKFPZKTJKP72VEVSJ615031SV21EYO7565CKFXBQFC0VDWBPF6RY7ONNW1G697Y99WBY2S6GLOSWVHZJATM6ROVCS5W0ZHH6306GI80J77K07K01U8JPWHJK1PRO2EKPPQ1GY6GTFLEFVXWE6WZHA4UTLWD57P3ARMD5RHTRUAQQVHRF2L0E * (-36#KXGU35OSH9I51EY3GZGB1F3MGU0U00RDW75NOAQMFCVNO4GABF8IEGKI0TD6PW9LW0V52XAHNCXPV8W0H327SDWINRBM05RL5BSFNVQJY3MF9XL9ZZHYB1RUCKUY7DFB0GJ550QTYWJK27JDHJG5NWWEJA59YDH2RXDYJXC27QLRTUVEYZO9CJIXSW8PLTO4OYJX82WC0ZXL4BEAY71JVVS4B316Q3IUQJ4HIKSD318THV2NO0SZ0RZLAXN7HJ6R6D1TECABSFVSHOUMXHWL4X4UC7MFXVXGN6N279A288PFQR1O7HWVM195I7SFQXTFBOVRIS5ZB53AZ58C05EL3QXA9MF79TNHZ5DCV4XS0DJ66WGH889NWH63D3KU8LB7Y2O6KP2ZH9BWDCC8VPY8KBNABURSZ). +-36#171950RCFB3LSTWHXU3G6UF08ZDCHNJ5BDHM9ZMZ9FXWLASJXCXTT1372NW99N1H1F2PZOXK0FDNEGNCQH8GWXWQF6IB24K0PDD7WAX4VO00YFKD99Y0NVYZJJGJ1UCL4T8CLKY8VAHO00U0BHDO42EGWHCAN6593QRXMUMAWMEYJMBB2G5FM5GMXO3XHGJIQCMFJ5UZUE4KWF8QYOPG5105AP4PR5F2DNJOGV3AMNL22VG79Z81VZ6LPZFKXKS74Q4RRY8JDI7DWHPLDYGBYWUVG9ENKM0K2KS7EC3L8ISYAFG5FSFM8DEIH38CSG8KEGL4 = 36#1BPBKNQ4OG5D5PK4Q3NXD41VQ8P1BQRAQP8AO2O7WKV0PU0AQB1DKBRO88GO9L8VHQ6ZPZ8S5S86UXKGSV232O38UU2W72YJSKSTEDLL5OZMQWIZLVNR52PX4E4NH9FF6XBO6RUYAJJV5FXLPHSLVOQC4RM7U2O8DGBEA4URZ6QDWQZCHAABDBGC0RH4MNUVUFRRE59HMCHR8HCIBZZSX73HJN2P33WBFLFE94I9TEUVKBI7C8KLHK6912FF108MS4XVVH4MXTKBN3VD9GFPJI23FTSFL2Y9NGOX345R5K2M8RY54X1FBUIWM085T2232UUQTF7AL7CS5V9E55JZZXFAPN1BW3T37KI0DB983UZEUJEIJ8SZ4 div -36#13WLDOT2YZ9DEZJJJ15Z1ZCPQJKWTGC2U895EQYYK91PQXK7SA. +36#HC4008TOM2F6MMVJ5AEE4S1HQC8X30B90444TM8KL0B2TSMHS4REYV3TOQYDSXMP0EUJNKB2ZU4Q8EAJA6M8DH9MLQR7S0EJ58CPX0KQECW2QTRUFTZZ0C5Q93IPG1HXPRKO0O3G8FYRBU9P1C3IYYNCLNS22O1TFK0NM66U0NPACIWFG3RUMAJDCYAJAMG096D6QIWC3KATVJBQTIGTH93BLZVF0CUK4CSQLLR1 = 36#3KZJB6VHLZMYA2NXR9S2JHW5C1211DDUDKZ9G9R7O4WJBYO4BPHWY2ONGKER2OFL73E1S4NE71H6NUDF76MGBTQMEL50YNSJY8TCY6D93P7KN1QGWANOARTTV86FIOW42Q1MOXBFSQASCQQELP1AHZEN4VC5OGG75943D6VV22VTIAKVHORGUMES75KNKHR9NVLPVIB34YBVTRO94AG3NXJ6NS7PJI2HLMXYCEPISP8S0FAJ45I790K7YLHN8L9QGIY3YL0OVQCI4T5FDDZ6A0MNUDAFYYPGN6COWIEDYUV7FSB5XR95AQH0L3D74H7NXQGHUNIA4RFKX4Q2CN3WJIQTGZBVRX8YL11NZLB3FSBI5H3V42JS0785GQSVGLP52ZA94TW47VGSALXGCQ8BU604U0OBJ2DI03TG7MD2X5F9WVNCQANCI37YRJ0QLY9L09AXKEGWEC9B1UYCLCILUHM9ZNXCQ58AZID1APZ066M0T7H0BCMU5U8YSTM5KGANGUA59N7Q03MTNO3C2RXAH03L86QMM6SBATXQRIAW4B9DVMAEM9CEIX21QB80CGT15DG81RGR187NM9XJO92RUP4C562P5F7RJC3DBZI78GG5HWBI1X70E1DVZN2DORLZ2ARJQTKR94OCDAM7S9OOWCMNZTXIZAEN60AB4SD2HM89D2IK3GRBHB18ZLEUXSKNF64BSDRXMEBETXS42QOZCLZZLBHL9EXSG1RFZVF1UNHBBH0805YPSPQDWYVJUPY49ZJ9ZMYEQR5L5BRITKLG39RRDYAS30ERZ7GYL1X014929T9185XB div 36#7FUJTXLTK9CWCF18OEZVTK802JXEF4PK9Q36BCR4DQSMBVSH1OMSC3HPKU810DPPCJE6IAT3RCO02HV3VPOCPLNDCXPCCTPX3C8P7JYE8ODCV6I70V1Z8SMDAD5WI0LZZY64LJR3DNHQPX3XHT2LACHY3I7NJJ4093DNTS6FYIVH7P3N3NZS679XMTLC4H21L6PLUFY11YX8MUMVQUYV2IEAW09JYXJOKA2CT1T7ZHO005ES1BCKRJMW0WF2WWLDFB8KFV68GKSVNLCLDADYJZTQ2P7CCVQX4NOIBEW3ZCWHKMXSBWRHX7DNRTI9S7T57PPCG0ADHA021T6OPCIH8TXQBCWPNDYW4OD77H4RWERGUG502F4MNGV3PHXJYYR9MXX2G79GARQO9GOYWBMVNSTSLFB4X0EQ4IYUDDL2R8YW4U2OJCP7G9S8DGMV9KI1SZUJFS40SPO26WQFX69CZOWWYJZTGR6RMBA332E90X0YV34B799PIC4U14Z1F8V24MF57SNDF5TQE5M6GLPFZXF0QZAV0QVDF003800XVA64RX7LP5C806BSA5S3HAGIMX1GHKN4MIOB. +-36#2A9I504E1CIS8CM6V2K94OQEMXL1ZKCKFESEZ7QF6GB4WSNLRH087J724RLRCKYUIW7DEVMW7R2F3B87U38UOY8DJ8A7ZBHR1C8MHW9RH3HGA4WWAQT83ZGXF8K9MAHT25HSV7XTGW28O3DE1NCO2UKQ99WZM722VHXNGSFFVLT0XDZCT0W837EQ4B15VCEEDOE6Z66Y1GJZSMIPYMTY10CBF185FMMCDKOMBH0UOATG5N8JG1EGFT0JDTTDUT3HL72SR5WKVU0D7P7Z4ED91BLEXOOLJAWC1GFWU08YXKI217YW371SDN7Q7G066HV9KLGFSRETGJXG52CC5WWRF0N8GMU6TW519OK8LKFSEM4MJKKMOP66NXR2V6FSP09N5NRS6PA74LN2P4FTY0DOE62H7WBEWJ1NLD9QHWP3D4B2YMWVYAR88XBRGG452M1ZFC5KD939E01O1LRRKMC1ZD4ME3VUFBKXHFD0JGT6MBBJ3YHQFB5NA7P5FKQYU4NKTDX8FEVGNA55JA2OA3EW85RGO4339FK2XHG64MZMW6P5H6YNQPI5DK289K4R32U11LKGQH772OFJBVRKQL396J58HEOADYQEAMI1KRUOVE8HR56W6G07I6JNP264PITABJCCOEE0R606QI94OA = 36#5LR16BW4JSP2Z44730H6IW1HYA72T8TOGQ9OPG4C8GX66J9COE24H4XL5QXYPNM985C1CSYRJCV7D79VIP2ULCGG2DNQ9PUNKA6KQ4GFLMRYRU4T3BB5KBOZJXH0XCLVB3F1QG96HLJ48J1XSAUEN9WZA3F3SAL0VA9GW5FWVYFEVC4ZSH8ZBXPUY1SA610F1Q1I18CGDU1X33BL6N2XNOF7LA399G4JMEDEOKTPDW5SHFXIZ2BM9UGIJA80QVOPV4RMOUX7QYQXVP7BC0AKYJ1F9ZU658NKRT6PS9T2KVEEOBMN696B38D2FUN8N90NVMZQ5UWIF0VPAJE8B1MPDR8ATKE4WWG3DM43JD6ZZ95HCMJDZCQWXZAUGB9EIH8GNU2J43VYSQV252WCXSWZP7YQNPOKYH2K364RNOHI37HZ35J8PW9UKVT5G9VZ4MTJHI3FBLI58Q1NYRK0RLHXA4O9UROOHWEYT7XHKSGB4UQJUE2YXK98A2A4RQ4BSCBM9PF3SBN2867UKVU3L9VA1M9LCYHSHWJBHAXXE0UJ5FXJQIQBJZ3VIBVMRWZQF2K3OR2AQRLYJIEVZAFGW1FJ68PBS5BHBAGA61U6WDSZ42EUUTAP3LVW4PMZE7EXMBBTD9U7XJA60COAN9IJS8JPWB4G1E6CE47VD8I5SYV3U959CQURGPXHZPDIKCH2ABKBSXI div -36#2GAEYQBZZM5F78M7QMKCOFB3K6XJ2RVW5AY9BJELWAC7RIMLHR. +-36#7YRV3QYXETPY5HRP2QYXLEQQIEDHYA9EMXZJWFTLWODICHB2HP8GYDBNHMPNXUMDT7PVJPI2Z5NX5MTH8ZH3LUGF9C5PO62OATKKXLE = -36#38GL8SZRP6A3HGVJR4J3V15CV7JBHZ1SIQ1SNE1S2HWHVGD0KXY3IMDL4SP3KDWBPRT11B9NJ20P2SAPX19V7MPAUXIQI4AHAOF5BLLM1MD692HRNH4I5JJ94A2NNQPHFR40OSW2H21OMYOXKQQDR4HC9EVUW14P2PR3INZU0C9SC2HRDQTEY29IG7NNE27U0NOBQRYOWGMU97QPFE4VUWZZ95MR0DR6FX0W5WLO3PLSTVKQ0KRTF7BFTXQ5HIF8Y7ELERU05BTU854JZRBMLVKO287TF5C2FFVOHTQ7EOKNWAQXTOS6XANH2C3QTDOW0I9E4C2T2RD2R9WUEFVP11FXGQOFMZFRHZTCR2MUMJKW9YU72BIPIBDJVY9EMJAN29HRAMC2INZ0MGTN1DTRB8M88O4KDP0A00PRKJXYM5AVU3KZ9Y8T8KAGTAMEQT88BBO1B4ARF0YPPQ2OU div 36#EMBB9XWLG5MEQ7LZ3YLFULFVLVDGWO8A2OASXG769KE9716J95ZZZESPHSKXP3I1SP5F0DB4A3TL8AX9FPGJXPJRWOQ3CRPIHFHGKSWTHA59H6X8CGRROZ6HZVTHR6ISSX2WKMI4G3PZP5PKDC1OMTE89KRUBZWNNKAG17NND3CSBBTKBX3EVHB7CHIX88HJS4DHKU7FTGPABOVCT7LGPNIC844G2THYHZHSZZIZS0C30XE675B7B9JNACCJKS38TNEANGZF12WL5RVRTCDBDGC6L813NJ43OXE787NW9WTBU6FP1GTYTBTVE613H97IC1O20S0EJ6RNHXHEKFXJPJ476XPBZPYI1GLUG99S2F. +36#U81292LA5WJ74E0SDKPSF6XHMK8RCLMPKVVVBUV8QT23IJLLF = 36#2JFWLRUHVW90RSMX7WRH91252JLDBU1DMPE0KFS32DZAPUCQSTS9DTZ8UP4WQRGRYZ5PI7W87NNE1R8DL47LA2LYORYKWJFXUJF div 36#30X4TYIPZT7YSL0SD04N1PB03TTJSJT13UDEGQBIZSRERG2KGP. +36#15ZOC6ONSWFFZO6T0T9U0Y1RU69FY2GEYCE14QURAU0CUM38BFMGBZIBYM87VMHBZHW03CMWAE3LEQL0P2CGRIA4UV3RHXLLFPQXPLVN3BHFCOAPFD2EMWO47ULIWJWCEYIOH17JBD8AS7RE7XNZBHDNHJ5XVA0SIK69SNQEKYCGDJL2BW30DUO7ATNNJFDN3JT515GEJRN4TTSHQ1C3Z760UVEXOKDQFAMPMVN45W7T4VZS5QQJ9DRR8X7BBRW4M29SO28ZZ0D42W1BASB2YCY0VRC9W0UV2581QIR9JBZITCM8BF5PQA5LCTA31RPWPCN06XCK8SXBM2VPSYT2N0OXP9Z3LDEBZ6T8GZXPK2WQMVKYNEK3T12WNBETNOAY40DREY36YYQ552EJKGR12OWHE1077NC46Q5RCHMIPYIRGK4HA6MZS0190CVONLQQX2IESW62C7YBMJ7B2IGR751Z4O0PFN2ADZIM9U164X12JXSWYONFEEW5NHEGFUDIQLSMYZ2IC10H09B7Y3784SDXBV2IFDIQQA4NCH1NIEZP74MSI644OETH78O61VW3WQB5W0MMKMW6YGICFIVYET58X8K37ZS4BEAFOM5YWOMSMLRPI1XQBJI3E4MWQVMLD75QIZB0H8MKJ8VTEROW1OJFAT2RTCXVOJHWR2YEYSWBCQXQVCBIAH9GT1F8JB7OTNMIQFYHWA92KAI6MJNYVPN1ERYDLM8WCBWCQOSBN8Y4NQ2O9B0PI9OBY7PCGB72M019W7KC3LD033WC2RXU8GBQ98HB9DZ5SICMYTOG9MI03X76OPBL2DAFP16305X2GWTJULL66LCGP70GSY3P90DMZ48SASCCYUVJDH81XEIUDK3AKGDV5UO64C1X2ZIT8VS8CFO77H65RLUC = 36#2EHIWFMP72OMBGLP2JK7MQLEU3WO2ZF97OR75F9ZIDD8WWSDAIP19ZGATGS3JH6QCJFQ0KRLSA5HREW1PP07K6XACI5D2V9YIZSX7LMQAHG2KD09N2ZSIP5YFW94X6NRBBA00YTQ4JRADOFHL6A5AWDL1J5QWY17UL4HL1221T35QBARTVJ7V3KDCYV22PW2WE2S5GRW9QOGG45OIJDIQYIWUGL6NLPWC9EAJBZQ4P2KOOO2N2IDOUS7WCVQ0D5H6CH3QUJCW0DU5GQJYVJPC2TJ10G4U2L8RRHYXUGHCK2DY6PUQWCSAX0DQFZT822VH6JFH6UFZNSA86FBM38ZAG2E0MEFHAYMY1V46LE0FRK5EREAVETVJ05QNSGN28UC4TSV8YIVFUB5UUATLC854SZ5D1S503EI26PLJMZHFPIN85D7LL56W0ZM2UFXTOZ0KKAGIIMOSZ4R70A2RCUTNE7SEIGCE1WGOWDORXV2CHJFD9E15OX7YJ8E0503FZ543G6VDNZ5QMRDZEB16DL4TOYSVESJUI80R3UEX2182ZLMLTFR1JIZKZ17F83EIMNY7FWGUZ1JZGOZHY9XMXFDZDH9C9ETMUAO8AB8R5T157DOCAWHNAQUBFA0WKI7WMD0O3LIC64IGLXVFNWLM7I7YO46F3WVTQRHYI6F93IY02VEL0UYSVUTZZ4FIOS4JLNHJ3SQLYITHZVQR9RZZ5TPOFJL32HA21737QH0JUODV3J13JO1B530J4B5I79I69J6ZX6LP1RBBQP1PQ412NPARKLYYJQWFA9G8PHCM6XALKR85DHSM8IPOOQIE35H1ZV03UDODJU918L4I8FV68S7YG85NPDA0ZA83U5KO6O1ZV680YGMDO0EZ7VH7BXRGRF00UZD0PXI3ZSSJLDF2O2NTQPJ4ZU5SOZDR9GF339U8ZLIVC4XDFUQ9VGTWA6L41OIO div 36#225B2NTBV03RM0IKTM9JADKQ28C72FNQG2VT6960AJKR1A5J5K. +-36#BLCS0AFMLX4YVTD2O2J9L28BVJ8WI10IFC61RRDNYFUPRWVHW1X9R17KS774YGM4E93VELYE5MGG5L2U8NA410SFVHRGKB5H5KG1JCG8LQYOIRC7J3QH0P7346CYAZ3491D03WP4NIY032Y0ZI819HTGAD9V1GLTQJGWLRHX57JRWTJ0V0DNG424M6LCGAOCGK0FAKEG9YFYH12UEX9HTZW663398G4VIJOFBLAVDM5O417NCIVT0LV038WE7NGLIAZ0UXSXJB6S759M3QZAXUE1DE8O8OEWJG9L7OD27BGZ4NMN2RHFCCV2B70WO8YKKVP1D70XDY2BK6ZF65K8HP4CH67I66JALH0XMSSRMCAEX66UZVANV14A2DHOAGL2BSOG1PXMIEKMWSU1XKKF417OSHGPLCQS6HV58Y8E888K7VNEG8D4V6RDU4JKI117JEKC5P0F1QRLJO3SSSZN2CR5QG5QIELW37O2P54TMUGV4ZTE7BNM39Q94Y1LIA8RCF24TIPIMJ2MRVJ452G2TQCTCVQHA57PLPOSUN2P9FI8C7HWVW02JZMURC4TTTV6F8CMPUZQUWI7JJKSXL3CYQPN6RH7V4I8YMG9707EHPA876V53ICL44KM9GMSV6XN3ZBQKLP4U9K6M0L54NLR9AIBZUWV87Q4FH0KPVYS9AYQKWBV8BJSSONDPKPIVU1JFRK126U8R0G18FOWN3PQIS7XLF1LI49RR943FCCVLLHXMHSJD9JR2JZHWMCE79L82J204EJKYOTC5WHCP3MA5YII73QN4NC3KBWZ621P1J2QAKZCIS1VYD92YISDJJEQZHQINRD7CWBJENZNSZFA3WAIEH2JHAL5C5AP5SUF2FHDXPXUSTMB8G9X1ILRGS7XJ0UXYRBGYK8AR5Z5XFILINX16BTJZVFIDNQ2ODRF2QAWF1QV3VTGWST6 = -36#EG6JW5A6XL44X3RSBY0O4HPS5TEPPBQE2IILKHTFBJT86ZYJJ * 36#SVT9M085YQYAZL813GIODM9XVF8SPGL8G66MVE8G16RQ826ZM8I38FMC8EMYSRRYN3NSOF5NIUDWQ3WUCR85C6XI446AC0CIKY1I58OBG2XLOGWP5XSGZ8U48OZN91KS8A0A5XMD8BQUXCV3RIZ2OTHJCFELHI5RLN79M4ERXD2WMMKQSSPO97UJRBSHHQQAKHFBEVOVTM6UW98ZS4JFNNKFQKH9E7YA1PHWGPPV6A89XGH0PTIIU44M763O4NDH92DTNP4CSRIJL2KN8KSV4EN55F9CHD572IRQA3DZYUP2647OI7RLJ414B45H4VUCSR3M7EVLWLZ69RH6JC4CVFHL675VCUBWSKJ75ZOY5V2BK5H8OPVC0QNNV3H5U3AG92DWWPAW3L4AB2MQGVJCL8ZRUSOLJFD7UAEMATWPTX5059KDPRU8NPLWZ37LSNW1PZZDXO282NHJEEA5LSCU86VENJ58CS3DC1WV5HFX9D4HNONMYXTQ6OI0QJ7Z6JNLRXSI3EGP7V4GN87N42ZI17QRJ87W7PTPDEZENSMLGF24EGNR0QBEDLBBVPJ1FIHR5062CB0OC7T6BRHO1KEOXC8X71QV1S0DLNCZW7AEMXVV80K8Y7C4JKAVY4TYN3D9AT9GZSF6C7G1WL5O7MMR4S5Y4HBV0COFTI8J9TZ0P3VFHDRQL3F6OJX8PGYQZBN6JOCWE9EW84EO7PP1F60E1CP711HV92U3INIGGFIG1IN4NX2J6FBOR4LUI0O7IOTB275X1OOKHAYB1LT3PJNM3LSCFITG91K2K99JAOWYBBG6JLU2ADM021OYBXHGW5LD45BK0KU20KG1JP5Z8138NGIPXSE6XHU3SPFIZGT9F5A6T0P5JTVIZPJRC75764SPSGL6PK6. +-36#D8GDA6T2YMQ5042ZKAKTSN7M76ABU6TBBQQLHJY7657RV5PPIHQWMLI8F1RSJHQ843JZ3L9DMCXRSEHZJ967HO8GN15WHH04GDBWONJ0T20CQ9KP37EEKAJJL95LXGT4DT5FSV2PAQ4S8H3D6YMC5RD47EZMZMQLJ5BW4HNC1V1KU8RATP1GWAA0Q9VEDM4ZXJ8N5QFMZ4TMQ2M8MIFRX9ABWQKP1GQSPVJVUWHBJTOAC0NS1B2UH3PMKP3B8T9IILESQU58K64E1W41IZT7J1QZYNS4YHI64VXOXHL82VLH28PQVR2IL2PJJ3ALZG7Y30SW00PC20B9ZH4GBC5M5J80L3M55WT66STEOPRVN8SHP0SBEAUGBV94DDIQLKWYGBL50NS5DPJJF3SDUD47JWEDK947ZPBC21SCM2Q0OH5OD93GTWZIHIFHML7380RMJ62TI9LHQW62B3GXA9T540GEXRD08E8A8JI4AQKDYW2C3AS36KZG324YYGVGVE1JW60SC53AORN041WAL0GZDVPHRV8MUPRAD49H17GRQDQ2HBFLTHQ3Z7FTEX7C34SGJ4ULI4XSW1WJFAARS1ULKESGZJYJVX50VT72VQ1YHISOKHPIYH1EA30DNE2DO208RTO6ROY8BS17JU8Y00XUT1X10RUTVU7T8D836O7OW176J7MUWP4QKBBOWQ79YP7S7XYBO5R0VOQ43ZZKQBK312WYIEPB97P0YUNQRULBHAIIEWY2CU9PGXHCXX3KM9DP8LR032H7OQREDA57ORES7SWQ1LIL3AVTUN6KJ8GTBIUP37033FJZ3RAR4URKUZR5Y0JBH0FLQXLDYTCFET8UHHSNRZ2G5ZOCJ8WYQ8DIV9K0DTDN4507478G8AH9DYXM8ST76TR7ZDGY4SPK8I6IEJYNVGB6XXPZCCOG4Y76J031LO9IG3SU06K304W4ZX1L8O = -36#LX2G1IKCP6FE4E8FAI97AIDODQ2AJ7WC7HLJQJGWM1S7PDJA6YXX2DC7H6V9VZ521RSV30J0XV48JMRBUSNVI3XW94M2YQIO6KI95IM1PBANWDD3ORJS54YM6FLOHME1CPCRILB1TTCM7Q2D95F4P2AWNXLXPYOM4EB4B77TJLLAR3CU643ETZ2CJQDRR7AT1C15MO5UTNIU1BHWPK9R4FROF900GD4LTBAQEL6AB4ZS2BWWJ5XRZYC7YU4CVBF84X0LDOTY1LP5GR0A4S4TYF5KKD30UE9J5UE1M9ZWH4RL * 36#LQJT2XULLA5XVKSSZDSDJX0EG2T8RR67AZEDJI4JL9YCXUFZGJE3R9LBUEGPK820LVDIJGWNKBA1VYMWFLZU33KTOJ0X24VPY0DF0UCEWFO9O08NKO1A6Q4WYIYHDDMV2086ALZ0G1EE7YDV0TSU3M5M1V4TKT0BTJD0TP7TLHVPQVEQ3KRWD7UT9QX1L842N6W9UVZCHJV94Q05KU38FQ8RHWBS8LPX7QD8Q55GRCGNNTC0QB838WSYADNKX70N6SOY3VDK7HYI9YUTRB632L1IMG4BCEYZAWGHUZBBJX28JXM8Q68HSXXYPZ6QM2TORLJNCO1KU3KBUO27QOURRKGV1IFMTQYWCJCBC6B8R4JEE9Y7YVJJGTVKBHJTWDAPL87JVKQICM3KKKDB9WIUYW9B7XQB85HYWQF99KN9PEMVEIRA1F4ORPSIC937P3SV2KUUW4B1QD8JPYW4GZ2ONZFKW8KZC4JBNBAFZLF6G1U4LMIR53KZ0Y2W2EGVSXSM1AC8H4S30631SFE3B829O7E07MMFPJHIUXU5L5BEYM2KE70Q3YHEA12ZVMNG056KOTS9PSHTTFC8NNQDQBY88DIEDQ87S7MQKC8H5FYYNOP8Z59X7VQWFXGFJOH6KFFTLUXNTCL1RNNUZA8JELXHHK. +36#6YL5HF3239SXD0SZ2G5I2SCQWWGYC87GHYPAV6UDVVYP1LLE2YXMVHGLBHOS2QKMANSNSPSTMRENBJJKIIITGDP9DYLTFMC7WERV2LB2HIA46T4KW72QJWQWH03IHI4AEAZO3XSA6D4DBQRIFO6J74BX2N91MCTTQJD2CA2GIWXNYEKY9LH1SQAI9EZHR8KUHAPLODJFDCBVJZNIR1DY585N27QO0VYA1DW4LQGQW6M4YKUN8YJ88RO7N1FHC264STLHP0D7R5J5NOD8TRJR05XVG6MZ4ERAAEJDZRPW32XYLDID4LE22E2U7YHS0VTGWVZ635P68YN79YAW3LK88KWPL9226KWL78LXS7A9H1Q4C6IUJQYA98ZA70ODW1Z05LYPXV1ANFACBV8A6LHMH33N5VLLRIRJ74ZF1ESTY9QD5XC = -36#8UZNTF0CO9ZKF2TSWVZR6NIDDJOXR855I8L7XBV4DHD7189XW * (-36#SA3A1E644W4812WWI29774BR6KZSQ7SBK4OMPWRJK7WQQH149N40DAM3ZXJYKNR6P1PRHWNVYUOCOPX85NBPJ2B8PQY2EI3ZIYTXD4WBOBVOVE1VEUV2OGPUYL6TY66410RRG2WZ3HURORDEOUJCO8PNH9EQN8FW0JC45PAAKLPTTV51Y56JNPKC0JNPCM99ZT1R6U92TQG1YWD51MFWC3P5COLAT2SV2228EMNZRDETDFE9Y46FWN5KVL9Y9Y1KJ4XIIUC30ZGOEHHYCHGC7UMQ3E98XG268AX2DWA0TL1OLQPHDEB2VFZR1SNJZUE2NUG9IBGI4912HBZF3L4I34ML3NT66VAYO7QU4LFNTLY1FMKBIN0SXNQA8A2A6O). +-36#16YRN2BGS65C46MM0OALVZOPOCFM5OPTLGHZOD0N64EOKBUTAB3NYC4FZ8B27IDDH8UT6GJVZPKTVQI2GQNX78TEWORDYJMJCAFVIUUXYGGUWTXRH55BXG0HHORUE5VA9BDOT8WEFL2YM59GOWF8BI0MYVATH15OYG972GIJRPM9IIFEMF05B0J22Z5ACIMF8PVQNYKROE7QNLMAEC5YBFA96XDCCO838CVNQXYQ13Y8PRMOG216YSESEP238N9DRDHOPXNRA05M0886M5EFAJGYMG0RU3K67AWJ5FXB8607W1CEFZOCVMFDEBG9FA3JIYHHLKQMEJYJJ17D056F3EJAVZEU0N71QEM3SGAECB0HTEQW9INP022PFCG1K8VO0680IXF8NWFHWS9OT7BINEH61EMF9HC2TUL0JSBL85ATEQZRBFQXMNAJFYMP6RFLATSE3Z0IMIT881XY3ZU7R1YRDGP6NGTAQQERLDB9LMFZ9FNCY8SXRFZDOUEKULXJDPSHYPZYYZ9JQ4DPZAEKPBEAAKB25EAYP6TRT7J6KAJIOFVVT2T42KUFNBRXPMVMVQYY3B3GQWA643FAIOM91T2Y5J1DNYDMCDIURDXBB41D38C6TZ53BLZ08AO0CGDCD4O0RLC1GHL271GV7ZKIN689P0DVSQUG5G1OL7GWC0BX72QSKCXA0XEERNQ302BPV5KOFGVC8G4JYX0UQABP1KYNXPXQVEYS8QGMR63IO5LHNSMHBR8LG1UBRF4SEIG4 = -36#1YEYD7HXP5ON7ZVL54OQZCDF0HT5646UP33CVV7EB1OB6VP9N8HFGIP3TKL6MOM4U0J3POAADXI4ZWBGC5QZJ0FHZTK0OMHMTC1OC2GSZ95ZAP3WGDS69K3C9XOSQ9TE31VK1DW28SEVGMBC464VRNPHTT2O7MEA97R943ZB5BGZICRMSZXC5KZR8OQ54MKV9H54MLIQRABHUE3SZRNUUVP3OKO5GV2J0GLAEI550EWOTJ4IL8K5MCVNC5JN6KRAWFNKNPSI2F2DH5FWJSM6E3B259XAC773HIECXFD2SJ2YQ7JU7H8BHAKI8YNLK7BB6VOXPBG04PQX31WMR171V6SDB47BQ98838VIL3LC6A69SGWYK27WFUHSNJ1QFJ4S3U4KQ5M47ZJV6BG6ZSWADXQXSKE4FGWK2E4MW4YVDOJLOKTFRYKL3EXKLFE0G0LWYGFY0DDO0QOKGJLUN7CMVOKCCQ8H4EUR5C1W465YR6YRIWJ02AFCT4PC0RT89NTR1QN38XI9P39PGZ4SKN3EEBIUACABKVS37MBDA5KDWRICTST1NDDLAQ5GIPRF46Q112GFIQ5YS5LRAXI4470C51A3N65WHFRMX6MV44ENMA8WWKBN42B1IY1IV6K1F0HG2C62ZUWNMVDARS2LO53R7XLC3IXGTKIU2IGDY6UK0UK7NGCZSSC4PAJJJC81W04XGLDF1KAOQAIRJ0NBT4SJRJ6RJPER4894C652PAXXTEYIR6L4IJGQUG8JPKWA634RZ65A26O266O6T385NVXHVZYI2PTRG7BKMZ6YWYMY7FMWEBNOZ9N896BJT9V2EULG2DJ70PIWA8PH3FU0PBACLLQ50Q37WM5V7AHBXE94NHXQ01JPFVPTDG664JIO0RFPXF2SL2ZDDW0WHX3AXQNIFG4FFZ6V0MUG08SP94AW3HA76CJFQBAIOSFZ8ZQ409KTBAUPUGMKWDJI0KO6L2L3QXD734BDBPUYSZVN6QSOR3MOZ8IY6MD9SPWGD1YIM1XYIUGNE8H03SBR5A23UNRWY7EGEA44YGX6Z9RCOKXZ7NKDUVQ3JDZQIAUK55WHHI1LYEC2DTU2TA89J4WQGK4PRPLQF0HITRJSD2EQW div 36#1MZZ7UR6F6AV6G0224L1HT5O8HYMBIOV5LU2FZ3RUIP0ZNVLRI2LUTW4WO64TU2UUEAJGVQ842VDZFP1LHIXDV0BYONCSSZ4UYXC92QXNPK13YJDU37CRZAMK58ING6RIBBRZIA3GDW1DY5PX44DN8HGEX1FPJTE8GBUYPQ0Q4BXI16PGZHETB6D465LHOUBOO0IDJ8EUJRP0HDIW72RC89M4H03SVGFYZYL25BFO3YD7WTZ83JX1SHJOQD3ND9SQ622DLG5B45M80WKZJJVAPVG4C0A3DQYUO4VMR4BT85W7P4U8GW0NKNAL0F931471BW9WWIWQ2KHZM7N0K8P2A3TTR95XFKIK005SQ. +-36#7TDU0HGAJU793X429BL1X83GEQQGILQUI9LMF964Q1DHO79CKH0OMFNFUOBMLL52LYDRB70V4RLG9VJN80USDTZ4OSQ00GIWX3JYOGG61ISQ06Q49ACCEYU2EJXDNKUFSEIDG6DOI8S9NXIGS12WFN9PZY6BJLZZ0DN4N13WDMGE27VAET3DF2UZBLL0DNNIR1OBUDW3HR58K0UFQ665ZJVZYQVPT7XEGFZJUUHY0FTCLSFLOA2I0WZ44G7FFQG1430UZJ1M39GSLCEOOH83P4BD3LIBV46VQVJ0ZKCR8D120ZPUFFFK3WW3UJJMCVH70BODCGZHFCW9TJ0P6DQD6UUO643G4UQC2H9ZYQ5TCKE4HT96DKWW4M6PRONLF6OPTRA3Y1CWEGFGS7LBZG68MEU74NX9XFP3O3KBJ7KTFND7URZ4RTFVL45Q7Y2G31LSRK50Y6KCBBJAPYT9ANI7I5ZWFAYVP1HE3HW0XQNK2VE952O9XS27IHCHBBY5P7Q5I6T8U9CY0 = 36#2H63QUQO3YDB5OAID7Y1B4GYFRECH04AC5URSJVR2EY1PIE35CO41RNXXPYI3F0O3Z4WV7NVLFB85Q5TH9RRH7AU8I4GJCVH4UXU7K1KKRUDJ1BED2LYEP690OEKPJPLKG47OGQ1ZKX6FXIA482C21CS89FSM22IR02TT0YQF0JSMJS6CDQV8K1CDG8ZT1F3CPJ5WG8QWILE42OUNEIF1GXFBRK1IGVMIM6CST0IUJO7OZNXBW522P7PZDIN4T1C81HYOI2ESP1D33YVXBIWQNYK9H0HELQDNLJ1UFCNQLA07D027N2VNAWF7RGBB83L0AXD8PGNBHKB4SQGRRYXX8KO3I6FM6ZNCSVSL4M53RWZ0FYJ1EMMH056AZSBYR06O81CK22193HZMW9Y9Y0M37PUGULV96VM3JXZ2UUT00HLGOFSWVTHCFECDICN3TQMHKMK3Y8CCS1EQFHF8DIT7984 * (-36#35LO3LX1XT99ICEWKTNZ2QEE99RNIPSC718K0J7S95IWIA1QQI). +36#2B6FULYYT7BUPT8IRA16CE07GB69OWAH35QZAZFQA11G9KVBS2 = 36#4JIW1V66LTNHQZBHEL4RC5IMO0ZHVGUKIY1OH8R1EQ08XOO1MRIXME75M6JA5VXRADQTEP3F8UB6SOEXEVYPBRZVXQCZZ9WNF7YECKLTIV2BPRC046MT0SUY06WDYDYXO8BHFPJ3GEL24NYC2SOJ8VGGN67RZ3FNE6DBVARXFAZREG3DOER3UQCF0R7GCKEFO8IJT30 div 36#1YRUWHZISN31T1FHV5JYTO6MH149S8863DOAFM19DPOOSAL6GPGJ40XD4OZDCEEALQB0CX061ADVD663LDYB3QWVIKVQFA7A9748MGFYDVYKGC64NKCL9M59L2Z9H86VZFALL8MK33GHCPWJ6O22JI. +-36#7ZJ94OWMNSDC1OY8JI1GZPYFQA9IM5SYOBYJH4SF29N6FIWM8SQYS41CKJ452GO85HUNDPXOKRMO29CNQI005F3RSL7HJK6ZE9M5BFPJY9G1FHYKE5DCRUDY601Q7HK6HA1JM2I5SK27H7HC92JDAPXR1011TCPV2DA3TLV6EWICE1KOF6W43FZ1QWK3GFF6NRBM0LILZVXOA0F892MNO4997G4HE2KNXMP8GSGXBJP2T1WEML8B2XAPNDN4ZWSUBJ7PR6VCFPUNVSR1508CRJ10P2EA15NJYAM1S3DS8IJJOYCNE13AUZKRLEWB6PK07601PWZRRJUU4XJ4AVLW9O7TUHQSEF56WMOEFKWB3PL4XIVDKZ3MUVPOJJUNH35MF4J3XXC4KEZXO5CUR4G08BK7FUSJIZ68B17VT0H1BZG3RLH7YGRVR87QV3RBB32KKVA01OQU2HCDWOW2YRER316VMQGMLNNEY64V2LBGXTACEXIQX0EBJTDV368EVXBRJ9G6JIAMX6SISAHH65L931S0T2PJ0WNJTXOA1384GW6G7XJQPPYM6BDOBMT4NEW4GX384FIM159YVH08ECXIMVMCU2RCEWEWPY501MGZ5YX2T32CD6GVEAMHSADTRL5SN796Y1CRA1G3URJRWS5WDOOE1F5U = -36#1E0VFCN8AM8GQ3V0IK1PHY02I1WDYSDO9Y0ZN0GVP1G0CV3X68NCWKWJQYQOAXH03053IW4B24PCML8MR5LKBMU * 36#5QXAFOQQX7HKTXWB84IWHJ129DFCE1FRYEP6OE2QET7DI1AF7B1N3CD3VT4L81DMQCUWS73BI4PVQHEGQ8W6JWVT2BRF3YGSFF38K2BGWO09OZAVUM14A29CITPNTNO9QN4YHBHDTP2WES64PXMYX4432PO5PASBWPEICR4PUVWZCKSCMMI7H3N8QK81KTBJAB43J2AAFBVF1Y4BAAN6KOO6EBP0Y6LTJY4ARXGYVZMVW9ULW3BQXVJYOUISIZP03Y81O9R2UNICRW5QFASKJYN8D5XOTFTWT347XYCV8EY7C73JXD6DMVW0G1C8Y2UIZ6CAGPMIQIULHTQYNHJH23EYY15TZBX65H2EOJU6KRU19ZHUSXXK3JGSMFSLUZ9F6ZTR4241LT7XJUFF8ZR5TWDN26QBQIHZLZPUGR2Q6N8Y9CEGIAHAR6IFY4EOY3KGPHBXEIZ8ZCG3FDWZYT343QED9XQFSQPPL9K6SQZA43PK2CAZ2KKBXZ4OJ2GOZSIYI0426B11Q7AHK69168W5GDYPMIWQU6QOWVEJUIS24W9BV9KJUS1UZRHKBL24R8UMKWQ33V. +36#19FBG50M1K5MUM2C8M4IECM32JJT7M73R1F6BWI1KG2GG944X4JV8R7XXC268K91A29CPBW03UT281PE9XL55ABPY53A6WSKS8NN176IYQVDX6UBR2X372C79BHLWM0789SIG4GCWN5Z0TH7KSK663DZCU4QXALO5ZW4AFHPTWQQCLC7CQYRDT3MKGX5RYTOWFDGZ7TUT5QGWY5AS0SQI7VG5112A1CNVI9EX637P81MH3VKSWZMY24Q3QO6WUKBJYRKA8JCDHMV4G1DN1AVRKP3A2WNPO1PPZBDASA0IQYFIPLWS41F3BAVWLYMX843Y32MX06DE25ERZIGIM6ZRIWAL43I7Y8KECB10OVMEI6EY2KQ5T1851IWHAXS9GOGOADWO6PQ9GFMON2BVFE2JLDWTPCCU7GESXVUX072YBANETEJVCDBN3LR8NHLHF09RXZKCP08LAI5BU8H1CQLKL8CR1YQXHI0RVP6WTYGGQDIEIL228M6E1MBPRB0O6CPDFS87VZ7LDO8W7OIC1GXQHVZ6C5UC7X37BPVM0O4VA7L9IM828O355IIRU6L6N9RNGOG824VOKOLEEM27ZJ8ND4WUBTAA5BLNWCTQ6FSRI8RDIID7E5RB3MHGVQ90R691PWTOTWVYB14GTJYEFZ1E5W9Z4W8L1ZHMC4VHS55R3615CL4LDUX2LMUS6VLY37KW5BD1CR85C7TTKD08G9ROFRU8L84LHONNJSC4JRC7BXZ8XU5YWL3GAUW036E652IGEQ5I122BRZUYQ2QWRIOVXPI8LSSFP47I0Z6WA3C6SXCPV4JQ29UK2VA189550R86UJI1AKRL1HL5V3OQQ0VY8JVGBE8APVOL23QUQE9I6IF93AAN2EEKRDR0B5PK3A1EOFKQFNMXAXSG62KR4EZGZHTH4G6CZGUND8GOCFUO6T67LMHWNVEASQWI73IQ6OYSEYKUXIW3VPQQQDMV03EVYONFZY5H8QRAD4NTSBD1M7M = 36#FT0P2BHXVUTYZ6SA2TXVXULOEDKQGXMJT2OWJ36J7MH35LTU2 * 36#2VGLRRHPKANU5WEB77QIU34YKF0G8WZC7LABIY8IFAYUDF4AG4QHA42O9CUDQEWLBUEAI94I3VAS16OHW49LBVXZJASM7Z2ENARDJ7RY2RUZQLWJPXX89LRR8WFCBBNYE39HG14Q17C0DVRH4MO73TXSOVU67CKOSS08J9QIJ4R8A55BZ4D7COXCHBGGGDWSR7DHADE2WU89JGNUVPJ54NG70SU2UHJKQQY1HSN5KUSZL515E3DYYUTCWYUVOEI105GPIU5QOSUE2R3TQ2NU3IIPM9J6JM1B85FBNID76WOT5ACM1F2PKHT4RBT7JM8CSWSLRC101T0TLKLEUVCEB3LI6WU8GI0O899UNTDNV1FZRMYRKYSR68I0HEWY66LW4C34L11UHFSMTAOSU3BE3OPTM90RRN743YDKU7SJOH01RWL0634KPN7EWO6D2OEQX7WB8ZUOCP1IQDIVUSUU78BIDRO4UISGAUGFZ6EO3SYVGIKCF3TRP65CR9K3Y0V6X4GBL9TAFISZT5D04A0BNOSNED4D9PRT3AFE571SWMA8R5JGOTZX3T5WA3H0PNGBI7NL724509JE75FUIPTZKF80LZB3KRDZE8U0UL0TFMYTKLRK318UAAXCZAVEBP1TJ0O62XU5MUBZHGXJYTL93UQ54ESSRMBJB95UY0KMCLCIIZS8UBEI8B91PWSFOPX9JQN6FFVB8YNIW16GUNANAWTM4CVTYOC0B4SOT1JT63EYRKJFWOA99IZ0QVBORU0SQMP8B7KIN5BFLHSBL6E1U0026YQDK9VZJT7XMINO5D1IAYYNQC9IFB5T1UMINO1SD9D1PO0F3PWLF0WUW52D9W1IIGWN49TBHDOZENSPFFVMVOIM099PSVCEYJJHKNX1V5ZYXC5ILB1VT62WKTKXE2CAUP6WNOG04YDRSC3R2S6F7N59BMBU8343SIT. +36#9I8ZEUA9BPSBHHQJE7K485W22UQE4TUBNR9LT0579OLYNLKRY = 36#1RPKBFL1LY20ADAD5YB05PTHA718VX6FGLN9AH5J9XOF909I70Q7M09SIIWIL1EED3S4KEZ506F58P3IH42L1AZBOTG2707GXL2DO8YOVJIP0M1T9USJXMBS73FK7199YFTAPNMM2SIMLT6DO6WKKQZN93TXD8R16O2GMXJT97HBCV6IWF46UP1EXQ9LGF0VY2Q585PC6N6OTK0IVXIHEZ0I2E6KXLYZ0 div 36#6P92BRNGCLC7JSUT6ORU70CZZS8VU91GAJO08G9AMMWB2DSPIU190K6AD0YI54RB8U4JF2A0XNWHMSO3WGJI3BNK64ZIBRB5NZCTZ9DULK1GILWFNLDOW3NO1XS0PWW9L4JO9IKLBH2Y5XTHGWWNIB5RYRWI9AOJV23YI8GWLBQCI7II. +-36#7NX6SHPLHJKGT8FN14KWL6B5JUW0E5TWB4DP1RJESF2IPAOIJ7NIN7CO9FV9C27A8Z9XD37R351TBXKC0YHDT8UIBXWAUY8N2SRMUBO23YAJ46QRUASODVYQIMWPL3V8NANSTG7GBW8K7QOPKK0SO676VGJRE6W6DMZY4CDFV1K659NB0QLWW31OMMJNJME5K0G697SEGI601UGWU8ODL4GKA7HFE9JFLRPNTJEXYEYDMSRVOL53KWDMVFSHKLINOIYDVDZBPBKAYOF4N1V877EYBY6QG8BULDT8VUHWY2ID57M9IXJ7DL7HIQ0J3OY3NH73PEDUWNYPOE4QQ5O11VU8TE8HX5QHL0ODNCDQ6BPU9QCCCKE5ES3EXZ1CIXF1LH4XFQ68PLRKX1KLM5VKLO07EUIGNLXARQKZV4X5AAK4EESD5R90JM31Y5VTZZU40OQVIXRAD6289JRAH1I8QO69W1Q5KNYTUF6ZLOLW7DLK1QC5SNTDGKJSBGNQKJG90VZHAJO24X14UCNYWGVZRAIGLFZRWTIUI9 = 36#12VN95KGWUZ53R88I7IPPCSS299JWJ07J8C3TAIEISJNWUJ7C2RI8UCQB7EJ9B1ZHCQWNDP98LW4VM5HTB7FY8KKOZ6X7L6UYIVF8YFU31NPW82UC4X3RTPB5ZVIROEFJ1EZULDEB4TEF0T8HVA1C0OJJINE3R5CS102M14ZU3W4L15DFRB38Y8VXOY90YO33P8XUSNPJE622EL8MHNHBN2Q6BHBF63NSLZ9AGI2HJEU2XKSWWV68Y1EUV8FLPV3PIEHLFU7ZZ1H0Z7KVTPZ35SJY1J3SYQXPEVT94F642VWZ32S3ZJFJNROFJTQ042L2Z8D3JYRCADPJBQXJ4CW1F41OFMKS1RY2S4XUO3SN4UM2PLG1QPBUKY5ICZA7NVTEG37GN63L7QQYAENZN681G2UAFRR5OM4AKFYN7Q7RDYTB1UJ7NIBZAPESESS0AEJ4B9KG3ILN2SJ6OEXA71IQE7HQ6XRQENSE3 * (-36#73HMCC7HA3RNT7AZU668RI92GNW0ZW2GP3EW69EFJ5KPT6Q0DNU9UTK1SV7L6PB43). +-36#2HYL9UZLZ24CF9Z5NAORHJ2LBS68418K1QYYMMH10KBR0XRXKKP9Z3EBRYVDZZBZESJWIYAMC9IWD4U2TOHR4XGEFAUDD1IUFF29M9FP8TN73W3E23QC49ZDEFHSOOHLGS9QO4VGCF6UE5RZDBRFG55PM6POPJZWAC6H0WNXEV08ZS79CZ5DW31EF3RVESQWRWAH75K91A1ZN4ED6UGV27LCOVJXR6OBNKTODUMFSZ7Y0NJFFC81364N39PNMWE9GBI7KVRWZ67Q = -36#1HQZ80P74A4RLY32P06WZNBTME2I0AZ9JN0ANOPPMONJB2L95SZZ1YU4NN69H5183CA9EAE3ZG5T84ABYWAJOFMHXHBBP9C7NGSI2T5MAG27FKAFJKJUOOE38RGC8V0JQYCADD4HR3CSSZKGJYD7YKQAHF9MRI12W9LAH32VGYFIZYP4CSRXTSW5UX9K2IKF5VAM4KGNCCYMDEBHP2U3QO8U8YEGALZ5CT60HR8TMVAQ2DNE7EX3NGCGR1TKRYF40K55WWMY749Y2EXZASTKLUCF18CONEQT0WOW8S4J7VXXGUYUA2KNDM4JPQ71QPJXZ8KUNM48U05575N2JNPRQGMJ3PCNTW8GGQL43C12F7YLHMH6DX9MN0Z8VPZMDCONC635SJIT3V4CESL9122KNB9UKXLMXQHSA01H64Y9USYU0XHTEUP60G div 36#LIBT8J8UDC1BMH1VVHKC89YPU1AQFECC6A627Z7B661ZJQF5WLVOBSNE5M0PNYK9UP1K6EXAAD3K5K4J5IH1Q9HDY7KV1VO7C6GFRD2V6CWPPABG4J8AIWGZQH7QPHSRFL3WC86XYE1XGH44OK4GHN9X2BDZEX5JJ8JDP9791K. +36#1QAYH0NR5YLC5CD7A39KGSJMJRUX4FU0MZ0X43QLXIC4GESIZ5G7WB0CN7XS8FVANHVPS9R3AN25LE6EL359SI2QJ5GTMJWUCZCBQ5C15NB2ISFKEC1NLLNC3X6LYCS7QXW47KXKORZE7FIPMZBXCJPXDWTDPNJB9QIM69R8CGQ2WVLEHYTIUS07LB0Q46S2JMSL6P4JEOPFT0IKYUOCISQOA548CELJQN1QBBYHGTW96P5ODV1GT2S2G32Z9XY0685VH2HWDF9VGCNJBDGEY9WOR0YMIJCY34CHVGBUSUJDE88RGH1T5D3COE2XX3LMGVSSDW5HS7AOAUHP1M62SIP93F769S39IYBHSPSXBXHYFW27KK684AUF765T0P2P05K9KYIU2E2JIP0IZBL10A3E4GKDEK2C6MHLBGP8N3IP3MJLGEFFIB0G6037MNF6EIDQY3IIMD7JV5EQKGDZNCGKMJKJX3GSPAK33YA23LG83TEIO5XZY1Q9MA5OK55HUL24E7GMS54WSFP174LIE8O5K72RIRW77R07ADGH7H6GON6HQWEXNKJKAAAJSV6EZH1RV7HSR746Z7ZMTTZ2NJA2IN4VO484CM59CV9UARB32PMUDIQARKCI1XODT20LR03Y2ZC2SHKJPTK1SS6ORH4QUMCSPU61QSKDSUBDO3SVX2Z9UO8LHUQJ07JKMJT910LG2DCC8HJSVD20WO0S2SV9KFFCT16RXLPJ4X5JVWC12FKHV1RS8MKFYF1TCX0SDDVE7GMK8MH5DQTH5HEUDT4A0L73574DLPO6JSRMLRA6GC03IB1SRZCAWWZDI6G4JT7OETGDRO895W2EGRP5TW543ACNF8NIVFF95I5ALIX60FV0EV0NDQP50FL44DPLIMPNLRQ2GVSPYV67UCXWQ1XQZQ719N7PW868LAKKJBV24FHKA9RXTRW0FJ2JHOAZKWWAZMIKGW5U95X06UQ451ABHQP9EX1J3V2H4LE1WWPZ5WVW8X4J3CDA5I0AU9RDRW6402X7OL9W4IPP8IYSVGNLYQIXYMP32HCBKU53X3TPK34AVTDCT7FDUQY67PUIAV1TCX6NYLLPRHA8RRRWLYZCO2YA11YXZ470MFDX9M8XO4IDZW18I8TPXOWKESULLVIJZGYD68AOMH = -36#6FN6SW77KEL92LDFV4SRNXDY028PIBXEKCK2OA1GYWTPCWU31J1ONCDDCF0FXBZMCIZHPKWX57GG3H2D2HAHKYJQVM408L5RI076Y64LK1OIGAAJCZ6DAEAZDDGZI44DFQH30NP8T5261862H6UP12PNYS86TS3LNTKPSXZET45O6GXIFC00UBKHODAANK2SAFFDTIPCNJTR493MMQAYDPRSGXHNCEI9Z8EX7UJK2A2JW7CJAHF558HTS1L47GZEDV6TW1YF527LKA4RC2VSFZQGHRXIUARBYW4P5MC6N8F5Y0H9L05HSJU3QB6FTVTL08G5GUR4OD3HZ34AJ3MSCG09LIVP235II46CTAI48S5LA8C73PCJ9EVK05EUDUSGURXN2VZXQ6ZWEMZGJ6SCXUDEV0S1V83U36YECFXOW7N9BU8VXEJS503DCGDI4RPU9WY1714KW0H8F59UURRH5EP4HXGWJNK64E4WEA50FY7QBT1V5K75VLWK0IMZ7E84VGRTDVXZSCFD1D29KY7X1C9KC8SB12S4KNXB5S7TT6OTCC2LH26HFOYZX1BVBLSCVGKMOO971QRVPS3ZZRCM48ZHNH3U5QDPZB642NPBO8HUGLTINS6SPJ4AGSE35RVV7MD8LRZVUEOXVEIYYWKMLKBTYZE803XUPV42WLPI0XSNRVRGQ8O30P26MV3HAAW5924DLGFE0AC1TFBFOBI0T1TBU8FEPENXAHIAP7S6C5N2AG7WD1CVX819WJEUIU9B6SOZGJWWCYZ0HFQGPZJBVAQNR6KF2ARLGZ7E4JDZP3KKRRZGOKA36QINGNYIKPOIUIN2MJD7DZ6VPWG0XBWXZ3KCBK5CZ5RGTT6DU8FNO3KW0PY74X5OBP922I5FVAZ3CKYWQC6390PFWY5LNY55U9ID388EP3JHILB3Z6VOPIYVMVTVE8S9XLK7LMAUD2ITMYETPF45FBRVZQL9IAUKO44AZP1MYVZSGT64SFW54ET4Z9H * (-36#9OKVG97LG8WKJFIDOPVHF4UTZYL5SR9BNKKFDJ69FS7R6H6UVJW3VAELF5T80PZWZGRAKLJQ05DDZ0VFTBH15W2G3XO834SXLMV2Q7WC986USS4MNT4G95UHR4SRK46MH5YILYX9S2UUNEBYZ6WGH1928UL1M51). +36#NT8IFGPIO6C48LAPA0EOHHKTA5IPLCUW2NRA4JXSKKQK9SLNPQX47X3YY72PA6FOJH7MOZCUIR3A4UBOWT1XM6DRJ23FARRHXRE6SZPQ5W4KHXC4Q29U7SREF4R0CGVCYZ1GHBTARWXD1PCGFQPHLU62YSSP1ZZDMDP19N7UZH8RSUSGZHDTMLVL4T7UDPKFPQQGY9RWU6ACABCM68497QB4TCH7JLRYM8IJD5UVN4RB4FBHNQ0BRZFAYUFRHJQW4YBCL4ECJAMZ2CDX85H8B7NP38MZN6KYXM1NM191GLGRIL8UQGL0YPAHO021QWYZEAGGKFFL6L83X2MZWJ0HLII0W31DWRKNPTLSUKMFQOGF5EPGDGGF1ZP85O8YIQQELU7PQFUBEZ9SQG7ESB7I5ZL5CDWYS538AZAA9ZL4U2FDO7DHTFDOPV7Y4GI9JT8B2PW4HOZQ0Q9UXTGY034UIW0 = -36#WQAH39MBES6PWFFK47FP8JLTFBTWQ8GY2G606XH7S2VE0M5K6 * (-36#Q6VF2IC8XC7GHDVSRX4T8XX65SMDSFVZPWS5OPTO969UMEOTSNOQK7UK7Z5OV2Y550R77LWLYJ3KPJDQO51Z1KDGX65DZZKJE5P1R14XMQG79KNS6NV5ED8DN7I86J50ZQXNNJ1E9YU08QD1ESO61NDBJ0WBS75NM4DHO575T5P22H1FBRL3KG4VL0A90LPD3SPS6YE0I5TAGO7IPRAOMAKVCIBHGOFQFFS4XA3MAPTPTVB6O9BU04GC0X77CIAK4M78Y94803LPUO1QACUF5LACX0Y0QTGFG4JMFVOLXFABNQR6Z9IZQL3VBNEJ5CXXE4GII1RMHK02KUX8KUHZ68CGBVPKRM8V2SBZQNVTM9NRHNG2M40886C3HVRMGZGAFP013WC9SXD83JB5RGPQB5ITOGDBW26H500APC). +-36#2YCIS05NOGYD5U2GYLI5KA913BC6SYC82DNQTSJY1VVBO52DW1 = -36#13TJ0MQ1BR547EK5CUYRY5HJCDJPULA14OZI94DB0UR9AKM5K3AMF303XCL5RSW3F7BD42ORK7AYKFKQLSAYHUGNBX9JX6NNK5VLHAKU5X2HYPUWX4F7KYECRS85MWQ3RNA8XJZ4V8JKAHUUVJLUIEUDMEIOECJAGHB9MPIM9RJFS78P5SCHMNM1E6XYXLP5F54BZXRYA7UHA9X0TBTI77ODUAXOTT1EXAB5 div 36#DH9L5WKN93RZIZOII96HX8LVKLEKQTHY3VA8S3DVS2P8LVOK54CSSFBDR44QIOI6E1D6WP0V09ER0J7PV82GBA9P39MGK81GDJJ6FZURAOMS0D282IZ5NOEHJQEBOK8H8XV7XYY0KWB1CO45RFR34NPEJ71LFEBYKHQQ28B58BOXBQQSV5. +-36#1W4J1DZGT3DTDKQHUEDVEUYVFFHXXAXW4M15XV0FPPWE3QCT92IGQWQSII6BMZQN7ZJDKFTX8QP7LX2N5ULP6XV3EQICF3W21A3ZFYHNDJ8VE6P2MIISVECUVFWNGDKZME41C9AL6KQ54JH4M7P5XBJO60FU19YMGOB83S358LQD5LTMBT3GKFPVGECRLDASJ9WC0T4IGZ68G2ZAD8VN91AD1VBACFD3RRMCNDXQVNN6RZXXN11I82UQ6CT1ORDRBPK4W6805OUBCD1FRKG8JVF1IDOX5K9HJT662BNR3B7F6XBQ3VSFZTR5T3NBGUCR70QOF7G2HLG5SN74G54PHO39XT44G8K43ZNE9Z48IFB30BCLV9HV8A9TZ6KJ2MM5G91R0XEQ845WU2OA237CRX22N7QGDYWTRGITADC5ICRT6IVO0PBC9BMHA4SE1UGZBZ80N8FM72YOOWMGGJQSILT9W6DW29KHSPRSZ3XKB7G7GAZLW72OE6WGDPLW7GR0T08WVRXFZWOK333HP9AJ0KBFKFJDLP16QFUKV8I73FX8HNTDQRQ02U5WD0AAM7VMCVJ239Y8Q8G = -36#TIMJ5WP4V5204EIIKFF3ZEQ354XPY84SG6SSMMBMFRY6JSN1C7ZWZS3KWS41XPDUH6J1U97HQ4U6ZJJTROMAFEP64V1PJVCFAU9MGT56010QY7P373VR5N0FUP2WVCVGLYQGZOHP3F2MGOSXLL035VXIB22DTOIBRKZ39V6BT3MIZU6KXRI62GZRHSZ2RCDG25QRUL7F7HGIHSAMZXD0CGNJ91WXZXR7QN840DZG9DNNTM29B1YCYU6PYOJSLCFV9MT1RHETKCHOV9B68EU4QOHRG6WLSI55DKRMDU76SMBT2GPPYOMIQW9WPT7RW4G2ZT3VK8Y9PDDH6TSZN30QC1RJJYIMJ2KGHS9XBXBCS7J03JAUHF1E2SSGM4M70M7N3D7UCN2ALEO3ZSER0YERR8J3GXOR12PRM89RMG55N389NOHAYFZL10LT44APZLKOYWC4IRCM2LOOM1U96BZV53PZ3GZDM0Z388X92FMHGMEKGO2IVEIF944GS8QG6N865BQVMS8SVNEPMR1KKQFQOTLOAQUDOIQSGVTGQIOB7H5CCPRV3M0TFPC8L7MP9V1PPQ6RQR48B3UJDGLREMN08WVUCK18IAVPF8J1WNS23E6AMQCSOT80O19G1QXF5P16BDAOXT9VWA8G59VTR7MO5G3Q7ICPSU7J5F7CQPKW0IF18YG3M1GZFXP37EWWCELRPQ808YMD0BJ4I03NORPULG6ZWMW43846XFLMBNC36SSZ6DS9WHZYRG7OKBR5LOK3R0Q5OI5Z7A4GHCJ9LNH8USIZHXLIGCMH66S8W34L558JY5HDZRWFBU8B7PXV39D1SSB3B5DJM3Q2FC4C9774EETU2YQCLDLVZPOGOHOOEJS931F143ML0W3TO7WWYQ4Q3H6F4IFZMLLE0D1OTHNZJ23SE0618R20X03DW91B1LXEMJI9A5F1B65DKL60QPYUZTZXOESJ02CCKCG9AUU41GHV31QCWS31FGFCVGHH0CLEYCFG1L3NOI8E68YECOD5J5RV9QL34TYPUEBIM8PZWLH3TGRKKR9Z8R92UDUV0491PWC5GHC4XHA9A4JR23PGFPKRR8MS8W69ECARBZRHHQZWKP131KLBVFLZY7JB4JRO5W5V78RPCXMLZ9LRY219W4176WCMXA47UN0SMICRJ6Y7ES3KL71MWRSOCTJR0G5I3981XNLF7ANOCTR2B36GHP7ZBGE6MCVQES1GP1ZJIMFTODB2NOJMMWDUNVZUXD7CWM1F2XMLK2W9TA8CRKDD72ZRNM63PFHB6KINUYQ93UK9PCNT6G38Q63E5RCQSKBX9UJWUHVMNVDXPOQ16773GQ7WUKLS div 36#FLJ01PBAVF57YTSKG54QMYLXG5W8F75I58BCOR6BTVTQJ4KTFXYQCXKQO5HZRTP8KGGU9QU8V7O2V6Q9M23LZQSM3HNU9R0EAI4EIZVBTU46HBQNA93F5VQWAALXK8QOJ0HGG82MPWRXNJ2RFXCTL8BHXP70SJ7RITORX6N2C92RO1DCDMBC7K7WL5PY0IAFZ6HGZ7CSMFA376SRAEWK8HWS2I4ZLS6W1I4MQHJS2UB6Q3KJNC3RHCTGMYJSL261ZMM7H8PE0L57LSVOAIOG0TIIOOJTDTV3H9MCZLPGLCH4LKX2LZ8EZ17IQYXTWNN8XG1XXT89J8Y43UPF3X68MLJ8IVOSPIG2SVLW38HTSZ6S6LM60Z9G6QW4LNBER9Z4JFMUTCBS2UFI6NOLBI4KVDN604PZ3718CAX38JEDPSCLHL1R9CLUIPWQKML39NI364TLHCSDBR3DONY45YNYF4D89B5YDJTEPN5KF3V02VSU16FS133HH4I2NYPSCTMFTPDUZN1KXDOGN4S537Q885MLQVVQMLFIPA6465W5PKAHAQ7TCGDDVHEYR7TC5DG254Y9GMOO2LACZKZQEFY4PNF7S2PSOF3LW3R3XRHLRW9EWYTV7UHFR0XN05E35U62TSATRYPDSWJAO5EU354GK1K6M3XYFTYIDYB3CK7VRQTA1MX57FTJ4Y56Z8XFQDHSITEUJIXWLKSU6YQOZN6HU3OBF9N14IYE38EL562USN13KW2VQ4CABRVJW6QGHD. +36#2LH269XG2WSHSKLN60W5RMF89GC14JGAHNS66CZPEA5WXW8Q45UGOSJV9B4K8C4WFNKBX19LO45XG981DT48LZZ1BDU4UJVLDQMZKCU18IKEOY8V8GHIM9CJZ67VT46B2F87SUBDT9J0CJLNYNRD5ASVWHMX597VMO8GMJ5APBWA46BDSBJMCCA5VFEM52AO6Z1LQ3KYZVTOJHSCYIVAEHOBD16JXNXR5VTP416XQLFNQ10G24EPZ1SDDYZST4YOW7ER44230UL793DGV66VZ7GU099O5B06B7TCWDS1HMYYDGZ0GWHEXGCEOV4O90HQOV95NHHNY6Q9RIJ8NE08U3JXZMKL8D4LJQXILWWXVURQRY9S8ODEZKYK82WOXJJUSJRHVCAVHIKHKQMNXLQISPKT61XDE0V9RO7U2UGHX9Z0QOTPLAT2CFLJG51OJILQUEPZ2CH1TWME020ADBWUBS7PN3NXOE3FLUA6R3NHKWST3PIZ89XRAITXKTQ3PY0SXWKIGIH7419H8QLF6J9US9JGSJO3EWZSEQNS25ZSNMWGW5010SNDW1VICT19SWA2V2MEYNNIHCV5WMTLUJPOX03KF65CC484VIREAQ3HP4HDMJKUTTC0678L1GEP6TLRBUKVHL5R0MKJ9NE3B0SZ703HMUE1X6PUGMS25EI9MMHG9KVBZ8C2WCEVXFXFJP7YCHPOGQQWU120V1Y426Q8R3W0Z7YB0M5M3RM7CZ64OHENIEBFNRJLKRUFE75K5TTUJSCIMX8X2HFGQY3WCUZTB2AXGFC9XC8VAPE601139X6OUYMWMOLODI9HCJ1FS6K964PUT15J8E9BBDJX70HS64TQWSQOBV8VSQILVFGRGGI47EISE1VFLLY99LVDY21KKDXV6HHMBE7XB7VDPDZ8NQ7CH5L9DXF9WTYMCTXIIP1RA573HFHYHRX5XYWDDGVFIZQ8B5ZM66JQQAQIEHJ9DQSEQBFZOUDBADWPQ4FOUHANXO4ZH1AJH4HY5004SP8QDQRRDSXH6576QKZ44KS7BOOWU1Y1Q7DCWP5OZ6A = -36#W77CV7D9J3737X74H0CFMC1SDZ6YMOBYQPL8LRH2P1KQ7Q9QQ * (-36#2WI5Y0L1JUTJ756ESSGDP88Q26UE5P2JDBFRO3Y6PO6WSY5JSTUQW2ODO14YD7F6X0Q8JG2EDZ6PTGPR3RKRT62D08K816SM63QTDRZRTEO5X1Q364OLC561KM502QA2C4UJC97P89MJ22A34T9ZH1DFVMNVKV2SCWLYLA3CMSR2QVYZLAOCMVVKW83FYPOANZFH2MHDS2YDA563P0MNM1F0FSTJWLD6HBH5654UZQF33QFFOT5G0D3I0MG0W7WDFH3J8WG4LS1RC7HNBXB3XQ216RRYAQMZB17EOT0ADZA043SAT9DBGCJGISWLH8YUQHNRHQTMLDCZLSQFQMJC8CK8TJGMVX666DGUEOSYY4DVVD7E3TNH3KGFF0QQ5BOHMN1R8Y2K5KCYJQM8M1IU6K2OGFJF3BO5S6IA8IYJLYD94GFWY5P5MWSYJ228HJ3UT87S6B3KFJQRJOTNYRYL511SHHWYJX22SYUS5FO26RZK3P1N82P6R5BCRADLR9TTZ67AM6KNFG2J8Y6JFDMX08C7QZG49ZZRX3AOL2UDU890RUDB8Q6L7ES0M1DS2ZGL6UJO7Q4J0O6P6DBLL6Z2VTQT1VPIPM1OY0YIHMM9NS1YG1253TN46JBABN80K709GDQQ5KYGCW9V9J10AXRHUSMIGVP6ZLU9GDX1NOU8NKUM19ZJQIVIMDYN4MUSOG6KQAWYUV0O5UMTHZZWNSOXA3Q2QZGUKR3RHEHB2ZTGBLSQGG981B619MYRTVGHXPYYXOC3IJ8EJURCK8QTOOAZYGOX8G42C7FUCBO4YAANDO3L3OFOMYHU2N6EJO539Z1MTHBZ3G0Y8GZU0KDD6XGPYP0VBEHRIKZFFDFLTWMFOWE0Z0E81RPCTBRA22MSYO3DDE9PBL8CI67XV0C9QVAYA0STR9B03MALP2QGFRZOTA7CCE6PAFL45GK2K7PDLVHU2RMU4YVT81RHE0TT57I0S0FOTLMOL0XIBHGYQ4MJB537KZ7UQ8H9GH). +-36#3ZYA80FTFHBUWEY14C133UD22U34E8B8G0UMQUWM7EK80WRGND1TEU283Y2MHP3R6UUJJBN70UTSXLB9AVZJVKSHSD8LQLFGE3UJHU1ZGJ74GBGO7RDBEI70OU5DEQF2OLOEDD332WVEEL75U35S46L7BCR3ZG0MC2R5NZQKKWTM5QR3096RRO4D18LO49YE47RI8X4X3FY0H6P1T3XLO9H9C1YAIUCFGMWVCJ3ICMYPEC9YVASEYK459I5RZPM1BXE4S88AGWE7Z5HJ0GMO6PXQFAKOCP7GCGLXJ18R1Q7FF1TU27J6PP3R4GOQ9S985FUZEMWSKO8EQARJHL1ZEJGMXL4JBPMLGWAGK3VVDGFTA89O8G94SVFAXM5JRDEI1TB3SHJE3KP1R1ET171M = 36#9BV0TE30FWWLBMT2E1FCVTJUWP6XL9585QXCKFRD2SC9Q2L4KUJOXKTD7615JOQ2M2WXPE44QYRANIKGJLNWGL0WSWB4XY0REZVGUR5XAND3215JJCJHR8PEB0B1TJYAI3E29J89RKUZSBA0Q15EIOF32G24USX15QB9TT9UFEA0I765BH8U1TS5RH8JJ6AUVPWDC09YSZ5BAHCSB11WZFY40FLTAIQINSQYVUADLZBYSX27SA13CIOQ6FB261Q2NJAKBJL4OYO9C9XI2WSV6344OHYA2UVVJCPRRMGVWMWQDCT7EHN2R46CJAAVNPTDTWIYOPOZ7ED667UTJE0F0664PMFDUWM5BO8UWGN21Y3O6CVDXYEBH4RQK9ZWGB4O4J4H1IIO89SYGBBJ0BJSSETTFJHGERYASHKPVVPIPAW73GUEYQA4NZH9Z6MBPCPY5NKQC div -36#2BZR8KI7BLWNH8I4CPSELBKFMDP2LQRTE0EDVVURYRK82DVVHU. +-36#KN37AUDQDNWK3EVENUG1N4U6GCQX1FOIVG6ZMIAM6NKZFXZYM71L2P81P1TQTZ9F8XGGSOUFJ0YO1L8SXUCX6FCIQP485MYTLBX0JQM343AVNHE74E5KZXS15B8Z4IQE0BL8K7QWY7WPDZELTK7OJ0L3HIR60KKQT9P406UOB6JD0Z28R2L5HEHTL87FY6CAB8SVNNARV382TATT6Q53 = -36#1YCT9TLKI2UG1GCOCV5CFY1XYG9K86OTJOBFSVCKCWHZM0N6Z * 36#AK85V5GFS6JKGVK37KN9674WMEBXL7AFP2ZBQ1MAU1CPAG81E9LEJ7SP9X2MMTDFD5FS4IFFUKLQ89M2YIX14J0GVCKHZKJK2YP97L7RZ0AF6JIF9DTBBBEELXG5GCLLWTSSEQ2LPJABWU5ICE3WDB6X8MJNGCBY5A9X. +36#R56BWM43KQKRIBJBWGHG37ZY01BHOFPRMJYCWU1GTQNW5QSG1KRHL5NYOR73P0UZFBF1A8XTZ0J1YEEBODWA42SYSJZUBMKRNAXH6UMNATZYARD8P6AOYTXL871 = 36#DH5U950MH3SZVBVEOYEY3L8UMNO46SW795DEGQJAUNUU7K6XIR0Q9X97TBS49GXGIR69OUASACZ0OIN4ZH01047P7K49KSWT65K8A4LTFY65T0SDQL7HTG6MJPD4SXYFI2HMPNNB7B1ZY510EUAIMD4PB6FTWCY2AEMFSMMUUPT4BYLW8AYN7E7AODSQL10Z24OM6FZT0FXQXHYUI57D02HGLJQ9F7RJDAF0GVZGAURENVKFPA48HSW3T1W0AEF0ME9S51YTSP9RREND9YICEJNUSVYG64UNHFF6WZWMGE41BMI1OAY8YXNZ8H1XJAXG4MFFG4MKGE6I77T9N2DUU06EM568ATC5ROEGAW6XQBXIUDO3Q6WTRE9J0R88I2R2QVU78ULZG1W9X426I3ZBHI1EYN0MXJH5Q6MOECYC4I4OBVF7PSM84P1BPVQ45C2T0VUFV2HINJ2DL1CCB7 div 36#HVGFR7J58FQ92TODLFOEQI6ASGEEDANWC2EQ1A99DZM4NI09S7F6V9SBWC41YVN7JMTJR6L7FY674UZEEDXUBHAJMZ7VASFQ4Q3MOZVQYUC5K5LXK3CK02CMWAGWVDJOGY2O0FFDKZD9O858KUM4OCFGPQQ7VA4E0QXDS753RCAIT1A7YZO3PCFH9VYZVT3WRKJ4K1SD6ISIY1V10A8XW3HYTXB2R0Y2QX0OYRG9ZMYYP8QYQIVNOB66HYDXIM0SXAQ5B0KDHNHNX3SZWTKFCAMKG1OKUFU5KC3U8JWY060YRBFSLT1ZKBM8ZY66M50A1YCBI4MVSAMO63J99BOP4Y7. +-36#DHF48L8Q1QS4GA7Q0F1KD28HF3CUD23X93B0Y1UXFUWCK434P6KW5H8L76MH3PY39WNPRDF29DW06OCHMIQNPHJWEKXLN0KWWM4QCJN2D8QHZJKW7Z8KBD5PV558M5MRSZ8KYWITF2G0S5GJJCH6ZM35QLVE9JPCKOBTBXX46NTYPF256FOGRLECAUDYXZML5T9NFFCO8X57C8XKM6YU8EIOFEYP9NU5KTVGL44HGUMBCQDADR8SXROJI = -36#FSG1GKFN065LVBJAU2JTZOPC93OWTDAJZOWFHPCEPEWNBTJC41I3W9HSRNSY2KJHOG9FHHL8QZTGUPXMYOGTBVMKPKEONPEFW2LMF1BCLFF4GXY7NXST1DM11BGEFIFG3ZFTWAPCADB9F4CJITC54JZGSIVSMD80HM4DXZ46JXI9C1XK7UB1R7GH0SKZ4QLGRLSBVCEFEHAWJAW8TDN743UI7FZY99TOZJH7YP25R35KXQLF5KXOJE0WGFQC5OX5W26MSGWKTDH9QM8DQ4B562U65RDPK3BLR7C2L6O9U0 div 36#165NZGZJCK7H0TUGQVODEYV1GOMYD1LCF1C0KONF4OVH09SHZW. +-36#48ER44PQTB4H89F3G9TXS91NPS03W16YGHWM2JGAD5RWBUTO03VHF502CZFL435QIGGUI3KW192A16XXCFPAWXIUNNTOBLF3C0TKV48KS7BXJ0YWC8NH26U4ZSBC7MHZ9M4HCYAB5BP4CW2QEO9ARSUCGWULB7S77A9W3F4DGRTD29IXZX99CN6EJZOJ0534ICFWWKQEV5TN1832P2ZOBBOXOGKZ09AB1L9KGGD419ID8TDQUW95BNNZ3TW2NN5EWJDYQAFB5O88U1J8QU8M06KX48RZUNJ1U1SJQSCIY85ZJ42ZZ1YXY3NCALLGL2XULJY0KJIO1VRMJID6KJ87Q9VS4ZP8HHK1I1XH9AFTQHIKHHK0XZVKOZNRKNJU14UCBJMBX6WO8KRERV37Z2A5E3U5X27QQQKRSW9F7094E5A4BZIUGSP1KCIA9VLHUW5T1I8L2ZP6BD16GUYMTY9Z0HFFSCRE19BV6Y5CGOU1JV2LLDHQSANTEQVLJ9IUYTRXNL42VQCE0724GRHOKS0927MDPMAQL5F9BB59JHDW92DW1W9U05KTHKW4EEYUHJEWN3B2RXXU9QXSZYVEU0X4RTSMAOMUD48945 = 36#I691AT75IVB7PN74LC6SUS7MLRKA0028G8TYWS0Q7SLKFIA1VPRRHWPTWN6U7YXVFIXRR71KDD26Z02S1R1PF5HMWTBIGAAR3HFVRUN2ABU5N26GLMH2XFGUNVW91R34BY8V71JPHDAZPMJLY5TVE5H2WV6PAMHOCXXHGFKPLN4NMFNM9PXDVP867LXRI2QQY6J79XBMNJMNOVA7934L1BG5PS509EKY9VONGEXUVDJ79D1IJWMA9O39Z33YHA5W4OHACKS8Q0B2A6NE4KGTWAS7ZAK5514W7WXR3KGKJ97IQW4RZ1GD442B80V6MNHG5D6J9DZWK1UXGY4RV3XSCADCI5C6TK7BT3IYSVYKS3B2EXXYGEG47GJ5ZK7B5SSK7AWWUUQLTOVU5IVVPKEX0IY5V6SRX8ODN347EESG1HVW72MU3K3CZCACSPHHZ4PE6LR2UNKXOE0TCGOLC2YDKKH65QEW103LWYEJ2E3XLA08KCCM6Q2ASQP5JBYEF68N1FTI2GCJNT152V1ZTDPXNMUP9HUAPS0F0DN1R89J7DBPDCRUPT67S5J0TZ8EHW2GTQT8UBC2EL4YPX3BWJNLDO9REXSS7FIPJPHN2Z4SBKXLJAF64FBMV17DSLWGQ9U08256I784Y816B6G6HYBUZLQAS2AO2LLRQH3GAMVQ0QPVBXE0F3M8U4E7VRNZ2UOWPULAXA4RNR6IM2T7UNJF1O6092QFS88QZFMVWYP2DYPNZN7ISDEL791SBGGCPAH5RE1U9BDF3L3DHIP2PEQF2CSJ3UF99LG79HZ08VBKVQT4CKAFZ8HU9WK8QMRGI5ORMHA0D9VMGI8SC4QKIXXZ4AXJZFFL16J099QJHR0JUKJ0BP4HHNY3EF24RAWFXX3E4TADOM8URFMML8IFY5E6PDE7X5KW5LCAI9UZ3R4EH9ZY954U824PM1B24Y82Q4CINJNLAJ6458XAZ2CC4LRBDBWKX3BK8SF21EG31SBHH64T0OMNQFVYF5EIZ5A22AV4AGVBQ7C1DEJ0M7HESDPI0AN5VVOVSB1LKOFIIP1B55NQSEC6GEED6RZK6D3OJT6O5XJFS4DG0W0F3B9AD3AS6TIJOM7IPC36UCE6LSIITI64FAV div -36#4AJCN4KTYBVI0AUQF3NLBUCGHJD1UH7VR1BEOBY63FKVEPNIZEMA3VXZKZ1R052ZJ86JJQYRMXANZECA1D54XBHD6AAEBRVEQAENFD87NEKVH6AKFDTR3C0KY59O7ZD35VCFNPWCD1TG1PID8C6YT10LGYCMQRWHNC2N0LFUMKSIYVD5BMWE0RHG1FIIBHYW2GHNE41YLNFASDPQM6F9QJIAMRE7KU0LPT2YHOY5243WR2RLJ4GFQVGZFLZ04TDLJ00I7QEP1V8IJX1DT1XYOLJ7NGT60T4850RTX90C2FCQ1ZFAZ3BZFOPXOD50UZG10YPEI1VYVAGYZ9UXU55OBDAPY2KZ4WQRG8WGSF23O8DZW2U5HRPCSMT4URHW21FAWTTAK5YGLEHMRS9KGVYGE99C45G9C6B04XKSR0RF55PD3KYKWDVI6MLL1FLRIKKHM8EP48B9AIIDH9JW9FGB4AF13AF1IPYCRSDJJSVQHXAABN40NNQGL9UI77T92XVGU3EOK34HD66O2Z. +-36#TUCHV41V5POHKSW1FPAOQWCKDEXV10GRJPEPNPWRJ1ZDY7Q4YOYC2J1B74DEFGVT7B77PI86WQ6E1J03ZVXLCHVLL1NEIBR80YM8DJKAPD451IR636Y7GPP2ZJSDD8AC6LF7MT25FVDRE7Y01BKC117AKAM8UTSDWXRAIUF097DKMMI98QDQS6QUGGGR3G2V6SUC1QPOT9CKBK6V6IPFLV54O5L9M3SQ1MWJ75E8NOVKAL8WYLYOO3UVA39FXZ6EIAJF1356X6WYRUJLCG5HNRZKGLI3RX69YKWV3OULLSK1C1NY4W1G04V04L2RD0IHZVLMT43DVCV3R8ZRLDWG0ST20GVVEYRO21SXYT0TTB6FKKYMN5VQ6U49OPLEW9YDFWTQPV4DIBFPROAQRT4NGDOGOBVV6B13NPANB94GIBBOULG5MW5DIDECXUBUJBXMKIZL9N32IZYYCG9ZFZBVCZ7EJFF0B6ASJHA4B6HZTODZ8BLOFN8FU5CLJ1MXZX8S5R5DX7VB1QX80FCW249BDNQJFP6ISMT1FXI585B03MGJUJUPDKRQHG5MDQ5GXD1LW926KZMNN1SCLE8PB2MN5M2SVDMV0YWM9BZT4PUSQGGIIVDFI8H15QUGUDX9APKC53M8MIKVX9QJOD2646QKZ4Z4Z2N4OS1N0V22R37PWVWNERKKI8 = 36#27YBCQUKIKPK5W6CAOC6JO8Q18BJHW35EXZVBWK81GPBX767H8H45RZCSE130WOFPFGQTAY6S9JB0HIA6TFGZTX8DT82UB93WD31Q2WGDJFVZJX0RM5ORWIH6HB2RCCLKM0VDL7KIAWGTWAUDA5C896TJ8T9ZEPD8W4EBNOSM8JUCCT9WKIR7YCYG7VXDX9B92I9Z2O6GNNOTADGYOKKJCDV6YZW5FPOZ2DGGB3TMY98BXLI84YGNBDT439NJ80E5UG33S66T5REV1HF3D0983NCFIQPBS1KK1PTXJJLPFG06KV8LU8BX7XAC3PCD92WMET0JD5MFE7SBDVRUAKMDHO6WJX9RUVV4VM76RBNLTXC511AN86QA9BPOTOS7I2V7UVBCNB749ITHPLUWITW71UVR6NWPV3HICG3ZYJF3HP1JKCYMXW96QQUZYM68I49LFMTVYK5YJ825J5RJ596X81TOCJN1EGGWBDR50BY2ZJJIKXS5LBM4CA8F9JOKYVFW9KZ9RAIW4LHUP1NCIIMONFZGPSCR65M3I82KETNPH40D2NKSB3GEA00BW8VE3N9D0C9B34P0WO74BYGAZ0440ZIOP5FOHO0TL0H2KS56LFC5X97DVEJ6CT7C6ZTIC6FLLW6FVZSSODVWJNI9MW6NH1IF108UV4XB8K2YPUNDCOF1BQKAUQYC31R0DMT66ASXT1S1PJDCSYNQLL8ACK0BJRNPAQZ51ILORUWK7MTP8IX0LDRA47IXTQJ1QPTSELRABZHX094TSFC1FT3OQYVK75FFKQYSI3Q7WNC8619NWLSK294MHTBQRTTH5ILUP1LDA1UY82LN6TOMP663U925RV94TKWOVL5BRXWS64FWJMHKQRNUOLUSCHTKRHYLLHILRLVVFK7WW5SM9FW6GIANNKUZGAEBTLS2VQTEZJ2PQY7FLJS3NWE2WAH83OCD20PA14TAA30B68UYMIQK5J47D72TMB270FF3J1762OH2B7URH25T2ADZNGRWUGJWPEWM28BBPLE70BA5VM1ES93YQG87ORWI3EXNX1VZMF9BE1E9A813A2TXM3XF144EI1S6JA8CEP91XGYQ1WU1D7ZRFRCB1CK2I3BE045G15TIVU5GNAXAMG4F1CZTC8ZE912EB0XOG40S4Q2A6WA8INZ41DKA20UX8D17VD53IXCHB5TQMJ5341RV3GS5Y46MSQQGIB1BRYR7855X9YALR8514QM4WS0DYCJ8TJNDJYUGC0VF14AP0LP96NLVVVQ05UN6WIJ8E52UT2GB6FEBCM353SMT9EHPW5YZR8VKTOCGQI4TTLSZ3OA54V96UN4TTC6SOZO6FQ8PU9K0 div -36#2OG5HAPHEZTX0SGBJNYGLIQ1ZAACTOJX0TLPIFOKPEVF1ABI4JWN0QF2TMB3Y1RM88OW802G1KJQGQ7U3H1R6K06OYK04AKWNNZJFIKQ0QO8PTPHBNR6ZC6RTQPJ677GY2YNN0FTNLGT7QER6U1HGG3O7BT8RDTZO5U7KBCXA0BW9RVIZAF9RHU8K5TYFQU0FN1F313TUAK0G2HT6L147PWB3AHZNU3GG0TSSNEYBP27PJSP174CUGBLW7CN5EQKI0B1NY45WV5QHN58LV8I3HP72K9ZLC8HPVNU0K9OZL32WK62JAF0F796T830JH1MXH4ZNJ77E3EBP0JIREQF8G630I25FHM1Y1Z1GJ1U7XP8SBT07UOCK7CCKMO6MMLET5NTHHBCBANBF7CQ8V0KBXTIWX1S0WR0YB0BG23BS0ILFNQF7RGYOD93YSU38V048D8A8LQY4SQ8GBM07RJAVMCRP6QWBN5YIX9R6O601FR4C62OBNXTSXIR7ZQSP9I9E1FKVSHBVI4TONMZ2FKWRTDC7E7PPG3Q5SWN3TBAMIAMXZY9PYP7I9Q84UHPJCY5YE7TAQYLD4X80R6WC1C05M2S2PERDKNGZMQG6ATQUZGIZ5O4Y8FHEUR4V0XU0HHX1ES907AGKOODFYGPRW2BJKEDOTI. +36#3WK8IHTHVPXL27MP190V5PHUAMHYHLKK0Z0EIVZOVHM0TAT9GE3KUCXZDRXDTT48HR4RU1K1LP7HUD8YB0KMWSLDUOAMCUVB0F9TZ9M4XOIC0HIRWSHVJ84R6JLN88Y3MQGX8CQMXSD0OXJCPPFAD7EQZNX = 36#PSWZG1KG239XJYB0GPY6ZM802ULDS66BKU2CVYIXVCJZIQ1DQVWQJ6ZNFFJLGNWR1IV3MLYH8YV0U3LVMDMXUTBMLGCNMAVVVCPQRJMEQD7PY7XC2AXTENSF4I9XWEPHNITE6EMVJEBGY5PRFY0O8Q5UOB59TAFAFLGP0GBK264HEP9VK4E61D321PJPUS4F8X3TUKP4GIHPRFDKPLSGGW20JBHMXG3Y0ZPKA7WKU8MTHVPIJO970DC6FUQ39WLV6EAEKBA56Y3NI4KC6RRNLZK60LRUU7LEUBS0DVX8Q5YDINIYQSU7QUXJWIA8NFHTIC22HMM8D3IZ21GN6P240T2FO8HE5UXQF2TXCASPBMWAT2P35JV0B68MRHLVC5YGNK3KMNFRS1KF235K5AKKSZREXSANLZ7Z1H4668SF584M2S2PEBHGZ91LS6CUMQ8QCFCU6HTHL4RSF8YWY3TDOQA6OSIMNFOY7WJ8NN2FGINDDGEX59XSILDEK4O9RCPAAN5OCIQKHNTOZJRDW9JCG8MCFFRZYJDNTGWZJA8HHL1457HE3RF1NS6CKJ4R0L84QSLLGS5D1AD1FSKWUXNKV3ZDUVMDHENC div 36#6LWPZ024INLSYOP17NTEC69M69J6FOFAQ0EXXZZ7GBR76KFEM6L5JXW1G20H7OIQIGOQTZRZNH8YCNGQDQZ1ZPWA8RQFIZF554LJEFL60O9ZLBVGX0S86NJP1FA0DV4QSV0R8B8NMUPX0S25XJRY0294NH0XM3G8KCL5ALINKMBIT0Y2G9O5ZUXILYCNT0QHXJDI5M4GHHSSFMO7V0EQOWCCA6H5QBDB5Y30SI8DGG1W3PX57S49Z7Q8X8BMJJT42E8CYYCTJXDW7X3GTC38GNOZT1KZJ3QVWBP2KX32BCD8R9QXBZ0TX9Z6YGNF2V7VVWSGJ3SYHXNUY8EFG4THYXGGV1UZGDE4T6CERDDOLBJJFGI0142Q3UQJ4TVSQRRDE0TMN60A3SCWEVZX74SS2BCNZYWQL15KGUNL19G0O4BB7H7HPCXYHTTHX4GMOA7ZATPA88. +36#1LR4AHBLVLJPV6K9TNG03F55HO94879U0EVZEKOF9CTWVI8PHYDPHET4VG2D0DKJLURBG1HFO0HNNID4L4S4JDWVI3BZ57CF258ZCAK1WNPXQVUEP7QRW33Q9I34YA47RD1X2OV9334QFEIZFEKSXCLQE95GBDTEGO86X444NXGH0F3Z7SVK5U76GNLUWD55I3LQ45MU7CDPX6S4VNT6D4CXG88S3H95TBPS1D2EW2EQ6NEQHMJ3779AYGO7DVTZR240OH24C4SJNKJM79KEQGB29FQJBOYM17GHO37NB6MLDBXHODQMVLEP24QLJZUJR1ID4FDWB8M4MWW1CAS08BPUMSJMJXY74KG6X403ODBPJL4HOA2EQBLJ15LSQQOXFPCJPR44E17PULJFPSK79PF0XT5KK58A4LZLGQ9YD3SVHO8KY880RUSUC28UKJKXWZKW6S2XXV9V66VL96268LE1Q3VFSDLWJL52ID7UQ08SP3OOB1Y6C4I2WOC92W6CO3UHD9OYX83INA68CBYVH4NI6HESR1E435V1JQ0MY5N0J8O9O3WUI81GOBTKNE72KBC2Y6F4ZHIQ89XW3MRNGO7B8GK2JJFM0T6OOVK18A46RRB7GV0PFTCVHY0P4R657OCRUX9UB6JXLQGJXACOG9L7DX4QQXJHXJ6J = 36#2CRXZJCQXHG3VRFK0L5Y3A6ZP2QDK9T270RJC3HPM8MI5QJ94BKDRPKNOTBFNWGJFSJT3B5QITDFL14N5FVVJ3AO1MQOR5AQULHQHH0Q0LWOO2HU0WSGS7RKV * 36#OIW4NHXBVEXZJ0XL7Y5DZQUV9MISS06U96TEBZPZA6PATW0F1FFFTQCSDW4927K4JENK8U0BLYRXZJWFO7YNXYJEX1J9ZI18R7FCQW1URFV3JTYE6HS78AQYN03N2QUFPEZ5ZPEPYRJITRYA1Y7VHGZ4VBB0A3Y58YK23LIK0BU0Y0XBCXGC9E0PHP1VGPWDT5X63UMN8VADSZ5XUFP25MSYX2F4UYIWTVW5IW5D69LN8Z9LHDGWPZDIVKU2VNM75COB5YLNU6TMGHRQXPD8Q5W9PMSF250YP0G4GPXT43NEXDV4OIMHSPGCGK0G6HB2E2MQYP79802YKH3E319MXQDDEQ9T46QH7RI0SHBLG6EQFKTCIKQX9QGMOJQB36JR9OL7R34VG6KL0EGRCN4I9XTKC6J91RT50IOIBV5FDDXN1QNLW96LNRNSZ84BSB48K8U3L6SZUXYBC7K6IET8TI8Z2B27KYSXXYX5VBDYX55Q1YH5M0CGWD5M08DB4SL6VAEX895BBKBLK6CEPLBW9PA9M3WLCB41Y7V9R77OXVP. +36#261F3GO7MJR85RRNWKUG3AFZB68V1E9C0KRP5I4CYO35MNHE00AW3X9O0UNUDUY2Z06ZR74A71Q3GZ02Q8OCT4JSM6H22PGZG7MR1OWJCDUB0IVBCKLS0GO2ISE9OMURW = -36#BG8Z7H37VA3B5XW7IS3KL2XBB5W4BX310FA6LEHD8T18X5WJNHKM5DISSKZ7R482EF4C3CLZ1042A28J4RRJ9A500E34XHOA0D8092P8YS385F7NBEHOWA04K0FNL982KKMXFM1IVATQAJQX234K4VN4JJ2HZ1TBN8RVHE6WBNNCYYY48 div -36#5A67Z8UWHQX7YPKLXG77LDEFE6XNYR1I5B720ER7EM528ZX2Y. +36#527GJNTPPUX2363W20LK6AVTVTM1VTQGLNOLUFBOC4UKQE475DQ80IG6KVY6UIAIDBQ3WQ2C55LLOJ5YXXP9NW6XX059HOFG2LZ9WMWU3PYQQYM9182GC65JQDV1KT62JG0H6ZGNS4JHMQULMCH0EM5CRNMHSNRLPE4EU1DLRNEG5D7N5ZWSRRWOW89ZEKWZZZDO8JD1MGF3WNU87GJPZ8HZLCF0LQGJ3I57DW2IDLI8IPWXGEWK2MH9F2FIYX18YQT812KU7XV7DE39Y8ZEYA5LBGQR7972XXZN4XVX5KTT6NP498K464BJGQ7XB4XZ5JNIG99TI384MOJIILYKD2FF29XU763QFGXUMUMRMYV0L3VVIHJZ92AXUKKPPKW22IJ3VJ1GOJGKZH1E1I4PYMUP6XCAK3HSR3PA864R5TUP3N446QCGHPKYFSWO6TR9LO1QRRKB94M93PC2VMJB2EHMO45VJCB7GOFYN9P8X8664EE5KTO8M4BL809MP4LVT4YGBPK3X33M4P9U9S9WNPEAV6GGPN1QPTJJN0T158WZGMYN32KZISHYAPMBD0MUAX56K3O2Q04M4RHV2B2792KKHBXX1AK3CZU2QM9RHKSN6HAMSGAJB3V17T1A48KLJ02JWWWF097LWDP43LU8BO0R9NZZZSJIM69C8NT2HC99QHUX7PFWC1OJYORMMEKF8HVEUPPDY3SDS8XYTDMTII0Y9VBN9UVQNAMI8LNWGJAQ2FRU09UMQB4DQTYK0CSOX8RLDYQ7STMX3S65FDTHBBFMGXNW4VF8DH21XSLTZG3BTYUA5IPZCD533ZT0AXEGMR789MLFT64PS9Y0UCDP4CAG42XHZ3KXN0BP9L68J1O02P0UJNQGQCQGDJOX3EATMUHO3SN2M8LDDZ8WSIVQ8SIZ0TUOO14OGL52EQULHTJEDC2JF5LFLMG8MVGT255UOM9IYKMMDEEFX909DX4C5EF69B1CK095GLUGF3MZRWJG2JQJGZ05XBASFKVR6SFB152VO9JT0UAQIE3FB3DTNUWOCS5EPCC8FU7TILEPG8CW5SY3RG7OZQYEYS4K9PPL08H1J0UXRXRKZ42GDI1T2NND75347ERV1530EGHUNVV35LZAO5CKC1N9HE7KF64P8DMVCMN8GI422C99B6P8QEHFU9PF3E37QY2AGO2ZN646SR9V6GILDV8FCNLXKLU4UAQ2GPOZBTCN44CO4DPB00NK14JT6B7VQAAOLFG4P9M2QUV7PUWU3SRKAX4ZC0ML9HNB8YON3BXJABDEPIE1MEQFO6FHIAJEZSW = -36#5CZVPV6EOWNLR3X09DL9KQNRGRBVB89Q1XFBDNLG3ZV9KI2RUKMZDD9RLM8Y1I3R61S148MKP0GGN5VLZF4VFF4F900SNA0XOQLIGKUEKBD7IC8VC6ZB2QF90G50RJTRBOZJ3JIBVT7KX5I2SS8AEC30T11C6ETIHSFXCI464DQRI1QZAHZMYQ6TWJNO7HMR0W1SOKTEZECG3G2X72WMUAUO3X8T6FTAWQAOMLJVL4JKIR55VZ4ZWMX2GL7O7Q6MIMQ0ROS7KTRG0VG1W4YC7CZAJ876C1QJDQC1ELBRWCPKB24SAK1QAID50Q3JO69M6858ZGBNU6ZQW7EMBLAQPAPE3C5C9JBE23WRS7T3FIAVNUTW05VVMB7TT29C6VBH74UM0M4W68OJSTXV8CH6GL44ID8QB37NO0Q28OPNDX5I4A6BL37H9HFLWVHENN4OC8FW0CB07VGHK4OO1M92ZIVMDQRDSFZWMFWCL324KBCRVWYS452EEHQXCHG1J02N71L6DB3D3TVLRKYHLAVRHBLE0LK4X7AODH2M6E1RC9YJIQP2UWY0XERXD7AED2SZIWV70IEEAR8OBFEDMUYO59IFSB5L0BH88BR554ODV8XSMBXZQ2PK3BBJC3BDCMAR4IJVFFZB2ESVISNZTFII6J1N5CU3MBAM5KK * (-36#XZJP10J5SJ8VO88GWI1QPD5WRDGFA2YBK3WFL6M9XYGLIBPLC4RR99KT11GS9859NATW9TA70E0X90FSUX1CFMH83NIV0M9WLDTAD64UN2VWAO6MNT4S3PUF87Q2B23VQI3B2E7OS70OZZB1DCHIQAKUC9DR6O0DJI5GDX0OHL8B6ID0GVO1H416R96CPYH01QPVWQFNLX1WDBUQ3A9FOGUPCWTG7Y3LT09N6QOFZMJW26UTFMETYB0UUEHATNVD7M3ET4M0TU2HHF45Q587FP6KMJN4T969B285978OOEI0S6WF2NU6J0MS1NSCSTOND1167H8SUBKEQZJOCXDS18ZNGMJ3WK9YFMAIBF7R5GSKVFBHNM42GQ265X3OG5VP01NKEZK7BPIEQSJM8P9GMC0NGDUBOBP20G0DWSC15OJP8E23KBZ255L8MF4WNU2PBFNNHD9Y9YH3MAVMLIPPXQQIVXC4WDL95N72FX96NIG2UYHJ1SYLV057A3NKR7JWVWOUMW0N93EM23JQOVUKU7TQTH3ORWO68SCSSQ10QKZ80146GEBZLJDAVI0RXTF26TCKE3BBZYD006QTJF3BT2VM6RMHFDSELB3P4W9YBE8M4S2PEOKHMP86BW0AR3CG). +-36#A5BUVFRH1XF91EXOTYUSE8DFDGYW5WR1QKG3IOGNA2E1QGGRFKGLP9EB6LH3COHUDRFSPLZZRP41UH9X4NNI5JD7S3CY40W3OU78X2G45AIIVZLREWW8ZZQ7BGNWM658P4FHYXQF4VMC76RB1R93CTWIMHIIO1JM0QFCHEM3NNX3NOBD6JZ900F74SPFV2HX6VLHZM1TIU14 = 36#2Z7OH8D8XCJ8V9SD7KZQS7WSIPT1U088RKHOCVK07HAYRSISPHLT29L77IHE9U6YRTTXNQ3208T5HZTU93XLE6SVU2DQNFQPARICFU3GHFWDIYN9IC0EMBPF88JC4UJ4DPPY09UOCQ * (-36#3EO4AP7DCNBVJX8VRZ4E20TJDAK4AOVRAQX6QJ1SKXISQTZWD6BKBU1UBKPBS87HF1W). +36#F2CQQHOPX7SSKBQ33PXN9O4PXCSV3PVETW9F5E5IYMYR39HH9AL4YWEBHY78TX30KS8RKGAY1KLM6BYSW9KTPXS6G6YI27O8PDMLMDCH7W0R3JH5CMQ3Y9FDD2VUR9BU98ZPT1HC6M9A2TRSQRI6WY4303UHGUVPQWKXILODW7Z68SG5BCOYBPB7QCSEXS8SYARTA2P6J8Z0VEPUL4TSF4RMW4W7X30NLVS0FONQFL4A3PK9BFJHY4ELBNEPP84B5JK869YYOFF2PFU5VGHF3LDHNIS6JSUJY8SXTOZOI0PY8BSECG3O8Z6V24HW48WI6W625UPG32WDV3QYVWR1SLOL8D7ZP2K5XLUDAMGYM2E90EMT6YPUN1IYHNC47AUFK9TXDSUILF9ZODZU5AJPOIYOAP2TQEBPDM98HHKS = 36#CAP3X4OSI5GJUW7C8KB9405KLXVJDO2EQQWXMN9AR1ITTM4M2FDIK8DI4IJWQWD2YGV6ENBV5LFB11H2G6FK7JT8R72JYR4F8X9B7LHOB478ODMWL69TBFNFQHUOO0PE0UWSHH8P7LMKAN6LVSFU06WCLLW4DJH3PILHUUZ01NYRBK70QDH115PDW4CT6JSFVSYB72FVAASF3ID92J93TWN2SW434RAWMZXQB7KQ1KP9TAVPSZC85IRDO5D4V6KI0EHMSS5U5USVVZOY4F1LTV30C0A9MHPQ9H5RS10C89EJ6GWCVA5X2ICV2DVHLGEO6BXBEIHQSFZJ7E219L141PCJMO0KGNZQJGV06TJMKK82EVX40EYEBP3VAT9C1JTTIKG748IM2GJIXTZKMCXNWB837YZ3MBHAFDLHFTR30NX41YHAMYNY1K4TVA8E7QBI8XTS7C0C3QHW0LXI9MQIYGNZU1KND8HHE4IKQ25ZBBP64QVQBQPEBJGXU918K7AHJYNO9XP7Y0IW9SAM4960Z9GLNBWF0LSTUG4ZKNLR2O1KZPF1NADLEIQB5J8Y483OD7JA0OIOHHZFDYNSSV4EEDOJFSJHIGFBOI85R9DNJ216XD5XD6KLTAZZJNU9KL7O8OPTE0YVE0OQUNY9GJQVWOFSWGRFJ6Q1IH5UM08KJ9WJAGKAO6FLB66HVG7YPAW85KXGRWXRYH0FM6Q6SEHYF2ZORNX99HB5WJCO9XHQ1VELYB1ZAGXQLOG1TI7G9S1HV8QUV54 div 36#TDV1SWNQJ7ZHLO8QFX79UO7WNIVVN8BB5C52ZXJ1PHOLRP0SWLA34TX47QU6VA0AZAKULQ58YB8VWEWXBKXBC2P8J6OSOBLF7MNHHUFKRFMM1ZKXQGHWV8M0VCIYCQ611NJ7LQ3QN3ZOP1RMPQGFTNNWO8V91NYDSASKIG3LMO0G58RNQGZZ3A8HVK1IX5YPCCS8MC5729KDXZB11HXQ749AXDB5RQ9EAB1LETF3TROET1WGVJZOJX4E19AUCC51LNAO39XR08I0KK4XQAJ8RQ82GI2ZG9Q7JP8AZ6805Y6ITNW95Z0TL97JK6E9TNLM37MG0648HK4JHW44IPXF572K7ANNWGM. +-36#1L5QN277M51P3NMVFUBNAE0STG8W3X6IBD1KHDTNE3LNL19N807PF4SUBF5X2K3PI18YU9XGTYDB81B9FA27EY7BVYLRS8O0CW4Q4AX60QHTM5LVST87G18KFC0YYB9KBFPPSHPRRQDWIJ0BJ1DHXXOJUH11DSRTHUJLQ44GMJJPUU8T0TL4Y3JM8TN8IZOKP1DK9T3QRQAOK2LW1149OWMU61DDYR2XNV2C3WY14F84X28ORGMJFP4SO0XTWBTCIAKL2YEI5ZEX3W22MRGJLP46T66GOKJWT52GJ5JSREZ3RXPC3FPWEERDI821CDB6N4TJF0MSBSPUP947P02SF5MSLI3WZBHURVNJ63DVHD5JUZ2SJXBRFQ98W6CZMLJ3S0U1F30RZVZ5Z2Q7FIK7CJRIUSSV91GOR291CJ8UHLKFLEXYTAX1UAG9T7S23CUV62B9HIX2YLPWQMI8MPUMLWSEKC7D195JPR39HM8K3BAC25QXAOARE6YXE5LX7DP6N584689GLE2TLP4PRG1VISB6 = 36#BTSQBXCUUIO11UMH07X32POLSK237RZY6YUJ99Z5DO31UE745SP02O3BQX0X9P2GEN6C3M8UX7INR1QX1ZB72K36DWUTGAOZK1VA25T9Q07AH53165DVX8828JC5CUNI52FMYTPAQ50XW03SI40OCP2DMLURKVYOFUDKWTA6KH09WIRRE5E7RTEQMPRC0Q0WO1ACIO62TOUAZSCI1MKPFYEB2GZSBUS7AAGT2LIVI8R5I8R3FC3HBUENAIVKTQ5SKZ3B4H644KRZ4QRY9QXTL8BA6L540N1F2AL6PJRX12C6XVUXOK3RWLVD41EDBSV7CB8752Q1QWRJ15IX9YFS5HO37S9GFGQ78V71CHJG1SP2TC0FF7YJVWAHRUOFUVTSKWLSCFDPVJGPTL3RD1OB14V6HC8OIOS1T5CIRV1P920X85YFITRH5L9EP2GI8PGU0YEHL98B0R4FV76GECTJ94MF7TU4SBBX38D1AY8RUNFT4R7M37FU7E2NC4GL8GUJ9K67KV2YVCNZSD95E00UJG0153YUTN6U5ARFSQEERJ1TZZP0LKOIR1FSA3OYWV94KY82SMZWI4CMZHVH9GOB7GYDDKV5MA6EOZ26CC48474C7ZEUNLKR2MSM6D5BLKRJGCVARAZVB9CXWYIXWNFS249WFGL0GJAA6CLXKHLT2S6K2VOJ9VYR1RISOP640OAWNWNZFUMPY3SGZBPUIWN201F3RL59CN2YQGUVZGIOZU5Y41TV82DF1JL7O div -36#7G6AQL5JQV3SV4HU8E7Z5XEJ7CQLQDY2ZXQ3KZ9HXPYKPTNWF4ID036YGIUPAVOM5XYI5WJRKMKNI113K8FYM50SWNRJFSJL2TMWDNPS5CO2PM6HZBVOBDUC19KWOJHGVXZI0K2GR9VTF38IUAGXU87FFYFARY3NTHD3N0ANFL2C5QYZ2U2FJLFO6ITR6DKN3XI017XE7VQEUY7JLTD8W6IUJ5I424VVSY. +36#32HPFVOL4MZWMSGV712303QLCKZT9Y6EB1RSD4G6RVPH97F65S = 36#49D8HYE2V3CDU1FZOSH25O78MEUUG5M988H5I8QHLFMLHLKJ4G9DZFVZWEEBAO9V0EYJ8IZ9J4PL2IBUYGAN2GVTOLNOIBI9ESOUR8IYPB9K2FUUUK6Q6TNR0UF2GNNP3S7O9CL7ZIYO3P8OCWSRUOW4Q457IR92D4SGA56CWDI784AJRU3JZCDVPBBLULJAZTPMU0XN8K7D8NGSUMXTE8SJ3I57XYZW01P91VA6RPRWPJSJHSMA2LIBW5VX0SCEUZNMY6G1NZWB98TTZ6ROTPDQ0SGPYZ5MB12UHGN2IJZC6FLSZN0NZRKSD9GU5FSGOBYLAM408ZC4FNKQ14CZ6SFNDNFZ9VZ39DLP4WIJW7D12MW9JGRIONSCRT3BQHA8QTD7AMGLS7D04G6ZTZQWDT48DUJHX2GKU5H0P684S7CQDPJYWLQFLPT6ISUWO0ZPNBRBPGVC2X54IPNT8OT00PSFIG403CZGE1UFKUWV4F1KRHTB8QNZTA7MBE5Y0UUM6NSQP52SHAT94RPQIEYMUQNVAAQ65HN7MKF8Q93QDPKO6Y2WQ2TG821KAYWHV79S2I3SI8DO13EITT4U2O3HYOKZBMUIUWWYOE7KB0IWP78BPPOHQQUKPCJQLRXGLOKI0BT0G5S84N8UHQJM9T8IM9TM8L805F9VYRS3CG2YK2EV56XT246NGJG0UF8AVFFFQCTUJACGTT5267MZS6MO89T0J5D4YB99XXLQMMMZS3LBL44WJQ6O8RN9F8RTE069KOXFWRM8BZC2JBHHWW7LQPXQAVFYXJHO8T9DRIT5YGYE37WJ5K1EGKD69QWHX6768UXHNCNZDFOYLG7UMJO8U0MWVG41C28J5PZ8J4G3N7TX9MNFJG0UJ266TBCWLCURB06ASGNNTVXNYED4V4AYVMDW6CQ9N7P7V6QASW7C1ELGZ5WCP467GGKJW9RG03FQGBKUUSX6VF3BFK6IQ94VCWRF6690ID4C0PTKVZ2RCT18R11ZN8630Q9ZQ1NIYJUZQDCK3TG4EUGVYJXZNZUBW1QGS2HBE1L9TTREX3NQ844YMCEUHQ9O0RJAZWG div 36#1DYWMO2101CLLIH2MMEQT07XQJZ28FDV25HS77O77S0MEUKYURB3ORZGHD4H6AX2SZ861E4UXNZABJGJX0PVPPDHO2AY8IWWZS10JA8N7SW3MMJ8JAN1BM61MP74Y1Q1J7LV80HP5557QWZZO85VUTFAE5YS05U844SMYSPASZX7R4QJULOGZI7A5ULNSTC48AR7HRPCD74M19HAHW1R0HSB7K52OYPKNVQ8M2WWC6D0LHA2WYN3QFJUSIG22J6MWRNW7KTTNPME9SLZY6EHZDG0P8IXG11F4QI3WHQVWLQGOANPZHNQRJAJ3082OIJLDGGLEIN89VB60NG3P258372KE07A8G14YDI0O4RQP8N8QEEGDX385C3J8WTA2MU7WG1G4GKEFEH13ALE1OVRG5XLV7PO78RIYUUUDUE3X840S02O1I2EQ85SB2YEWBOW01K70JBF7V6YOOW5SJW7A6NE08L59UVHN55TR1FWFA8FQIPSF4TDZAYS273XKI1CMET2W6F5VPG2XEC9F7IUZM4MB50WNWSSP2FNBFGNFUNQG7IYVLK2Y6EOAS1V59PBQRAQLCIAP8E37KBV3SX09S0SAEBLNDLKHICR5YAYJM5FPCX3Q9L81QRS0ARZL7VORIJSZZ3C2DHCCT42BJSEZ6HBF6UXG3JQDC5DRTF3HB2HNO5CGUKL50ETRNZ9ZSW46F11TWPCU4I1UOHF4MA6J1C5DOUU0A7Y1D5K8B1N2D3PXX3QQIOH4XK8YDJQG7M0IPAO50MWWG8WXINJL315556PDICLQLYMV3P29WM45RLUWS99B1RCQ3A9NF7AL57FRC49S3LYNFVWHR64PNNLLNFGKBCKM3UIE8R74CSR2W63LYIFVF5T9AVBJGGIQ0DPXDTNY91AL9AP7KL3O4PBD78DKLGOV32NW2XZG9RTIG0LYGXDZ221ROXDJJDFZDMWSJWIFAYYC3K946L21BLAS91OWHNR0NUHG46UE3HEBLA98U6AOD1KGWRS7AP3Q0RIQ83SS0513G. +-36#OWNNBPZ1GU7595MOGPIPOO5MMCVDTQYBP18EU2ZLDV3CV66R0DOYI2 = -36#1NNOXT6ICG4N0INSO5PWPGXZMQBN7GAZ6V1TVE3MLGTBE433BRLHB25WQU8IDW0Y3ZTXVWWIO3AARGPC2ARCC1BHVCPRN53C59BVR416 div 36#2E87I1JN656QNGXIC121BBWATO5O5NQ8UQEWTMF0BSSU4VNQRL. +-36#HTM0EFVVV5HN31NP96O56T804KGXXFMCBVGMT1ZQNDRAHJBM20EKKYXZXXY11C451QNA8S5J8C5R976X86OY7Q5GBSURC2A97PF4E6THIU0CETRXCHQ9PKICX6BHQXYQRJAQ7SBLK0XJS37QRNWZCBW0LQ58WTPZNAYK706YNT4OBC0GT7OBZXI8R5L6V8PTK6XGWFFLBDMSC9E8MU6P6ZEZW9WJQAQGA5AIC6HG9W83YNDYYDVKL32HM25XZN5CFF7G77ISWIEFOY2ZIT6GZ7FKLX1HYXDAJ2T594OFJ3J436WXPECIZ2RU55EHE7FY9VDYQDFMZZZZVZXAXV45XI = -36#30JZUZ0IKB257RA2MJEVLYE9NRP0IX5AADRCL6IMAZD8IOT93 * 36#5WRXWFUU5I3SAQTT8LAUYCQB2G66H5PLJE0CN1TXVM09C5Q5FUPB3HWZN9SYHE30VLVECA455W9XNH4AN7PAKWC83MGC3A41J12F8LLGMSDNGILCCT9Q52ILAEJOAYRWJHDP7EAYMCMNGLZSUJ77E5ZY978TW4OTATJ0NDAWA3LRSXIDX026WOHKK37U2JY6DRA8S8G9XSD422NU3J7J7O0RNQJA2HBEEYTY2CCMIU906NDVE61G7NZ1YNEYQY0ODUIWN93UX1SND9ZIWZK1594MN5W433I9LUE0H6. +36#FBL08GZ1QXLA1XZ3MGG1FMNZDSOOGLNRH5NT9JQ364Q7XWK28YJED0PF57C614GS2X0A6NFP2974XW3X24S9JE3C4XY7GOPL5TFVUJ5CWW = 36#156XF504VLFF141UDUOKF92NVZWVWXQ5LXJYLHJMQY2JHMKQF4KO8TERZ4 * 36#DE1YL8P4XJLXKQDRM6F0IF367HNJNQACZMR852VY7CTAR5T3H. +36#J0EH02XRYS4TJWCUB2544CTZLM4SS8GX1IHSVP42AQ4OPD0M8RNKJJ6QIFCU8KM5X3OQUT03QLJKQMLSQ9L1EOI2H88R02YS1EEMAASVHW89L2RU93OHSU7D8TATYM135LQJ173VV1BJEG2FEJYQH10U5E8RLOHXBXFJFMW1BGS0SEML3M8TRQKFQ3LL3O4PHEUICVUIWH21N159FLZL0XZWOPWLH0GU9P697I0T9G7Y9ZREYZGABYMC01AFNM6LYEQIBKMYFXPH88GCKAQU6TO610Z4JFWZ4CVI4NE7CQWWZWZPPOTVENV95R0XYQDSP8Q35JM8VY5TAXF04OT66P8R6X9XC8NEQ9Q1FP2HJJJATOUFAESB3SJFABGJBLJC4YQIN0S7SAXF4QS7YFZ53RORQC0WXBZGT6H8Q1G3FBLSAENH0BB2O1VXGDTI9DB71VC13I1WXEIWIBQO077YTZ4J855000HAGY2NOM7Q7A5V8TMV269Q50YL1UW7VF8LK7E162V7SDB1WVJAOJW009RVMT99AF5RH6YA9Z6DG68086URKBVPW9DVZIACE1 = -36#2PB93UKYT37WYZX6A4NTDSAQYE41EEV6BX70XKFEMKGWYE4Q0W148UNX153KP3675JB9K0J3R35CFELB7AQK8QGWG6Q721K7TO3CZ7X4GQ5LYQI1FPNKUPEGN1EM7L416QUUEDA6U2XRSMDNV9SHDHZMXPR438DTJL4RMEYQ3LOEQEXJFECHOI4MWX6F3DM0D2G7YX1S4B1O8U330S2I3UOWSZUQX66RA3SBRWN978JNOG6WXWJOKYQFPK7IGDZ3VINVDVFU5IEGBG70QVVK00NHS8LF68L3M9PM234XX3V1NDNMK3AUGDTF3W7D9E8PM9OSL0QR13LZ6M01IALUSVVXLK5K5XHFESTK5HYQ0H29TNALUGAIWI3FDRHP8RPVSFP3QL3OPKMXDI65Z03KF71VKFEH166RZGZ1NMT02WO6T981VH7PTKBA9YO04T4LAZUUSTSBTV9PLV345YJDJEFSX8K79W39DULTK9RUJIFLIU6VWZUB87TQIG85JVLAUGXI6E6KUSLRUOAUDBRGFRED1EOP9A1RS3I3D9EB6B2QX2DTMLLNNUH2MGIQAT1IRWSUICVK25FAE5LFR7XM3VQL2ZSMRXP0WSEH3YXNENRN4C43BBZ7JTT5SNVI8MP50D4ZYDZER1L7DMCPH03R1RRTD8IVXW1BTJTNSUYDSEX8ERAKINKMFO21PKU8MCKD7KBADKYA5IKVSRENK7BU0UXH343VQQCKSEMP7VDBEBCDRULDITY6HKU5R72IT0OW5MY0HXXN6BKDQU0UUCKFIA4FLB172JC2HM6RH9OIAMEM6OOLOPTUNWEBDY4NHJ92R35MZNVUZANR4XQG0CXHRF8S3UJOM4KVZ3VL7QEBGFZ4C32P68IZOEXTOU3HR38ERF4U0QPPK80RR8SFTLIAY9Z9L3YTRSWYN03AIMP4PJHM96BE1WHIZC1UCPXV9Y1CD6TTOE7QHR7LESUU9C3CM0Z8OR7LFVJN5BXHPREHDCFOX092QB0U067AV94TVKVS35O23QWDV7IZ68277IYYBJH0YOGPYYWH1ONO9RT3BOKIRMVEISXKDKJ5AIU3TJKIA4HCITS8LSPVAL17W7K66AETUTRAEPQE5SXHR9RZFST2Z13CUEVKVR5XUQSE74DK7N2XWKX1LD div -36#549UD8X17WI33Y0LOP7AVCJUJ5IW6B838SZQQ3UIRN3Y7H86HQ02HMKA0RIUPLD7P0PDSRQQM5YZK02OPQ9TBBR9QBL2KWCOV65W0N00WWCURTETBC4E7FBYOP05DVX191Q52A7NMWASXD328D1GNL7U1XNJVSC7UKZJ1LAP8QLSEBG4TOUJ16A08NUMWT0CB6D827U7EL3OG3Z3FMLCABCWA5W8EBBZYFRY2RQRHANPQPXBT1WMIOB36BTDU8B3RJ8KQ3IDNUMRF6AXF7BRYROU4GF2F61CW2ZRM68QU3C3CZB5H3S36EHJKFP8R74QDVX3ZUATHJ6IDW341BREQWUQ8K4X3QZ89577RDAQIAD9DLTWZODAX07Z1K8H0ZZRQONKFMNVTGD4M9U7SXE3NSFD0IT0AM0RBQR6UDYEQHLDL6D7XT5UTK3K6YR3IZJ4WHB8LGHPYFSS68JJS6PVLL38207QMIRY67D617P05QYVQZBXO1DUAT7KL72B6USC8RVA1Y0ISM5D93EJWSD3O2CS2GLBALL83XOMMK48ADC8XKFMMAJTWCXTDBB6MLY3PUF907L6B6JD. +-36#18CABAF7RVGELWJI6VO8XEN51Z3T2VMHE0YDP4SZ85H4U8GUJEQ51K02G6KR4QMOY3X9HNPFYG1YZHEI1RVXF9JMN05C73HGHTE5HFRFHLGPPISQLOVQBA1EIEWIXRD6DJECN1ACNO03JRXS02S4JN0HFIS2BNKV63XAZIXI9BEGX8JIM5GDRNMQZGT8B3S3CY9JX08WVMIWTT59FEA6UYSLXML0VOC3KVQARMIYW2TGB0JV9XSGIUV5E17ORM4AYOOEW5R6CQXOU9OCXZI0GKOKF9S4G5SDF4R0HPGSCMV4H1HDVG9R6OYQXZ8M32A2WP1M94Q0V8I6AFJR4I1CCYT1NFMA19WGE4E0F4JZ1BAV2CJ6RZ9M2TZFGF80H1GPEHDU99SEDV861HN8DGAX30B1UEC4GDU698XZ099I800W4YCAB1O2Y9NMWYPFE19AYNBHYK43G7V7ALEHZYTUVD4VESDCE937IEGLGGCSOHS7AOPRQPDQD6P5FO3HDAM45L8U1MY0BBQH0KOEY2S5IRP34W1G4FOC7ASOPGMNXJC2E73NSX5UYMHDECYXLZRGBRMW9MMW38LAZ09IVJX07AWDOPCR3IO1VNXFAXV0GSV8ESYJVT6359B2G1OVLTVAV7FLFBYNARD9CDY2JYW3FXN5CVUOO4ETH58IKLGBBTOP4MLCP25S43ZDVY63XLF1K807IGM0HFFT9NI6BCBGGWUI75929JJ1EL4D8UUEJJ1UWPBN7YBWQ2CRI0FCJ0AS0IH49288FA2G6A65GEOABOAIW185OOX5YPRO0SQTAQB1K4AV7QBRVMLJEGCN1LCYZS3K66AM72GPVYAWLB4PTO3SLMP3O3KQUZ4LIB01K6WQO3KAXIPBI21IW14TKA1JYFS4EF34 = -36#VO6DJFWSB08DL92AE74FOO7X4UCFOWIUF3OQ08T13UAYGL98ULWIHBFTT5A94ANXZUBNCORG33MB82DQDC508H9QUF9AO6SKRU78LG308NX2D56VFAR286UZATURFZYGZOMOKR0DQLJ9OPGCHHXF7KTML26P4WP6RC7AL58ATPR7XBQV6W8VBD0XFA5GKKOXHJX9D4BIMJ0ZXCWFPCQ5EJU18DT3RXF5VEQWM4J1P8106DZKLFJ21124M6LITVZPFS903M2VSM5OFGV0GNU9K2IHI3NA47UI6U2CQS99VSVDCBJGL7WBG6WTPH334LF8JU3XCZMNYQ27C0RUY38IX9CTOHNZHZYX0SUJA2YSBL8ZY2EQMYTJNBM0UH2ETT2YGDI93KLASLXGX8LF3A0EVGZRNWMYV394F0TXE92T7VHMMY67ES6RCVA66RWHZ8WPLWJV3FV3JIB1Z14VVKYO3RV648UN8OL5JXJDHA0T8ERVP9NHZVPFRT2T6Z18OJEVLQ7T2ZALTMCOTZ3TX9CU0HLAGXZS8VI2U44FE3WKHR7V8LCHC1JZ27T1KG7TH2MQIGOLOGCL9M822IO98FYXVJ7JCFSTBDSOOH6JMVH1SANR2FAAD43HYGEMKC6ORQA7SCSVK7I84DIP822V88I7Z2FW2NN5K24ENWIW3RWJL6DL9K6RYV0YP58NSJ9JJKERUU7E9WNNXPCQO7N8EY1IPR7YPMTUAEMR3LSE0WUVO90C69RPI2YQQ3V7THYNQWB5A12N5FZE0EBBYCD4IWVFYY6ARD3ZCDDU8VKS13NVV71TFKJI3U8XXI9YKNL805NBK4UEG88LE5IE0VJBJLGLH4 * 36#1EEFZ5O9ZCQI6XIE7GX32URYH4JUXKAXO149EZRKK9VHO60WYS. +-36#48Q6X21RY9NZP6GWOT0LUOLQBJ9H0JFYEP3SMXB0E5H4W0AOTJJVCSUPEH5DVM5O2AM4008N0O9ACTGZ7H39VWBU59ZMET5D4HUH18QNM2VXUZV5PED3JJXLI5KCNBOZSDB903GM4U3PWZP6VYEGO1JHWRFKHH0U9SESL8G7YUZ0WWTTRQ0YUZ5Z53CELO6GOJI6CFQJ7Y64IF6TPE8G07MC1PMMFON = -36#3R4400YHRCM6KOUCBVV9AFE5X9J6XID04N2GOX7015EPCFV0GM9VB0FRCCLAVTAO66I8ECW4CWFC4YUI99JZ1T9IMARW267UEMFSVG3X19ND0C6GWVASFFA10HT154IZUSMR5FNHNM0FRY1037D6OXHAXRHWBXCA1HKNEVI4VFL38E2XIQHU0JOGKBSV4SP9JZYSUOBRLJZ5CTSB21JWVD24NRJ9QL6FCEF4279LZ8XRLNLNHV8I46PJIW49MEJT6RWJ9VCKZ8VK9GUHOBOXKH02ZIA1DNDY8LK9GRMZ4E8NX9D8P6W0KIWORASALYLJ37588WFGBOP1X02Y3KRSSDB5405HHH4EX60UM3RPVJW7CDXT0IT1ZGVAX3USNLEWAHYQWS121J149SSFMVUFPXQ103YG63CNB2IPEQOG6KZBFZPCYJPT0483NH0P1663BMSIV1QDW0M5CNNAA6AGMW00O5U7KASJHOP37YRG16RWXKIQCXLAKM2YUE23Q7I95G9562M2Q4YA div 36#VUJDNXLV57VDZ6C5ZL95368X4FJUWPAOFR657HO3BGIJT897CF3PQXYV823VYN218R8YWEJ50XH5LTYX1PMSFL378NFWFAQ3VYARVP4KJSB26TGH9L645S37HYOZ74H08JKJWYL94NM4RM6F8P4FWQ14MF4KEST6IR8GF1OU0PPRILURW4VQSHKKOHC0HSY21GXO5XDQYRZAACNOC0EXWCW49PQEVCZS5ID9FTRD60TSMROGWVCJRIQEHI6ZF4UZK8M1Y6IJFTWRIQ6V39XL60TZ79BYWRBJ7QLZ61MISE0F2. +36#1KIVINTLMLGXUZ5C4L28PQ57JU61X5I03YDWV4VCNK3ZZQY3CQ6V079EWGKD1TI8QPIZDGY593LSGT37YFI8UJQUWS9H24LM9IWB945Q375M9UG82DCHD7440QUGITKWK2XP78AJXRQMHB1Z35QJGWTU1U6NI9ULNIRWAY74HN1KZ8F6BNUCGQPCZ8TTCBYEEWYZAAK626VGXBQFYUFWX1I7ZL4J5XXM3W8LANY4WVOF4JJJOKS97AD8ABVHBZOBNPTLPN9GKVUIF0GPV2MGPHA7JLPLQOV57KNO7JGRBEXVPRMIEIBSO1Z8O1FQAFI77D5DLD1LB3Q4UZZX5ANRQ1BB0NG3FELLQ2CUM9F6G3UYNJDVGEYKIYL93PO3X2VCK33M3FNDZ8RFNF2CTINW8C10TJ6ARSEH88XK3UEMT58O9VPD5UDALLSHMBYJ7E9K9OI4JNTQ5OOJ9INKDLZDXCC7NJOOHUOMZNJU3IZAX9HCMWEM10XTDFAPZ2NMJK4FAE4LRG54PIQM7XSST8D06BXCK9JCCSCOBSCA85UH88T1K68ZSMJEJZOD3GBTY = -36#2Q8CGYT87DKO1VY57GUQH27GCRPHQNXGYNFDHBVKZ32PHTR83H6CRLWF14K91KCVRHXOR1B4I4CNMERETQCP9RER3IDBDKH8QMVSFR8X2QXN2EHTRIE02USYVRM7WL7LZKRGNLFI00IL4WIE2763REZ7XJFC8YCZ92GCSM9P06R87WD2T4SJFX5R3ZKPHTZXLQRWSRLLL3U6YAH8PCMGQ55CMV1T6V8L0LI1U3COHEJAOCUBPESU7MRNJH4VQOPWOKRUO2HSYN8AT11XV8FSSUYZO8UC8J1DUKELUJ66VEC9TFTSR3O8V8GC9XHHZHWD3ES0C0ALW4VD76HC2F3LVQLFOPCFZSTUPYQGPE7O3A3B0B6P3RQDBDHUVULZN2TW8LZCKPFW7RDXIVPHS6P7LSZB61WFZ4MZNVOFDF72IHB9Z9VWYGUABXUSZ1S82ZZ0NHQHB7MWZ843AXBSS8EJHI08YQDHP14P1HM2XG7ZULJMJCU26INTMNKBHAY5VSOCTXBEP8E2QFL894Y1KT65FLI89RW43XI9ZV4QXWLMVKKC28QHAP7D3E2LOJTDHTB79LALKXOCYE75ROHMV58IJ4AHSYCFKUCZL2UIURWJC8WZ1VIBSHVDW761W3LF3UZYKZKE3VJK3BCAZTNDEB18Q6A0UF432VM5EHCDGRZ6HDWZKMH12UWS6DS7WO3XFQGDX882M966TR0VK7GIJCPUR8MUN251FQIIGLPOA97IZ768VGFZXQNH1ENE4QE1ZNWXGT96OXWV9GPG4Z8AHSZE4P5UUSSLGN10 div -36#1QKA01P17TUM5SD0UG8G6KUK2EUVIYAU95NOS9C6G80EZBBURPJGGKW7FA6V2NNOAE20PMED5SR3P9R9FXDK8FFYL7EJS8V7XR81OBDHR1OVCDH8YXEGHT9PE6DZXBZROKDNZMAKR0GH5BLJ8U2571VBBHZ7SJLXZVJL5VBK42LKJX5RAGCZP61RA3G4Z2SG28G03DZXYMTIOVOE4NU7OGCHFIGIDQW40PZI. +-36#4INTN98G92DUUS6Q80QEWW8N9Q13XKU6KP1COPXHULB78YW7MPJ2A76AASIXDEUJ1W6OTHYGUDSH9DFTS3XDIY6C928UDYMQDIP9TTHDN98NHNYWX7J3C4WN7TVHM3FXVSZOQDXKR6JBCF4BNOHTMRWJE7E2I001WRLAWGQ6PU1K7H8ZUQCSWM2VXWGC1XUA7MKDUI515ALYB3U3KKWHW3ARDEVM4H2SGQYEED6MC9BR7P3HV14WCD8QHG5C4SVI5EX7T3ALD6T1OW1PO5RCYBLCWUBAGE574MHRB00VY7T2HU9DR72VMXPTRK3D5IYOZ8JKF427KI84ST9Y4EU0CO0S3TMC7B8OBWTHBEGG5P3OJTUUK9K6BZP94M9N000D7BQVHGWRI93IZ9SEHYEWBIQ8BW511VQXM3LAIUPJ5K48UHL478MJ78QYU1Q39ERTVC74XJSTI6QUA80ZLO40XJIC3UHI4SOMJF7R64J6UD3WUNW7Q8ACQQAHMBPMS35HUN32CK25S02IX8QPSSNGKEL9NKCPJ4LG5V2JNFVQH2A25BAFQD8X17VW = 36#1JJYGF1C0PXW60XUWDG8LEV2BH9C6C92VG5H1NKK17GT8ZF4HAY9U2FD8GFZYN30X7OLNX0SZOEXRKWB88UM90E19SEZCN4C39E2MR951SFLZTD1I2QGUQSIP6ZUD6HDGLS69YK6ZCJ5RGCV1WUJJIEQO3WQJWKT6DMDF3SXAPPBVAHAC8WTO64V7TV99M1MM3GNXJSIALAQB7NISP8PQ39IEJVKPSM9PDBKGZ9LWLKYJNMUOFCKOOH4UR2ZIXIFYACHRSNKRYT5YH9KICBG5HJ7DZQ7CTXKXU64JPLBU2GR55AOM0WZEPSRZLZ812L71EUZBG9SUIGNR9EI35W0UW08L6CEYXFLTMLXZX0UWHKSTYTKK8OZU4TXAFKXTPHLYKU6AWSS05JDZNIKQEN3QDT9AJ5T45711XL7ZIJ56OM773X5WA7C184MJ4BEEWI2HBF04HKXQG8DQNCIK2URAA7LOS34RLYTDOH2H31RF8QK6VQYBRALZNV800E08MC1TUFAUB1 * (-36#2XENKVOK2IPNIHNDWPE8I1AB50L7U21QSEHXV55U947ZQOWD3W). +36#FO8Y4Z8U90ABLMGV22FYLBF83DY5HQH6EJKXOK4ZC13H95EV2 = -36#2ZMW3EW65ODGUJYDPTKVRO8V2661I3H4E5I30WAWAJS9IDILM3D0YMQGPXZ9AXU5RVOP91YYBK6NB4QWJR8LODN3VVG5IBH0C6ZWZLACNGCKFAND1EGDR4B1NNAVDFE1Q6TMWWR5ATTEI2YJ2IB5P6SG2CZLPINXQ06FK5YRC12SS8PD4GZBPE7LSMMFUSP315LMD3RIAH09Q2X9BDQKZR0CE52D8O9GV9T3YGR4ID3OTIDKZEWPN7LRFWB6EFDUHH6QQQCORYTSKUP5XHCIPKANBTJZ4GRBEWI0W9BMT8MXGQS5UTL7H0Q7YJA5DR6JL6PD34KTM5A7X6OXTN5583RPWT5N65YSUCTCY27S4SLLNDGRXDZNYJH5H07TQ928C3G7XCKI4S95V8AEL34F1XZTJV6CF3L0N4PEFYZ6HXLRUDYM9NJZXI0YRABWPV8FR2D7RA5HG3JCFK7XMF8XHPOXEWFU9BF293JXN772XKQC3Q56BC74X47CZ4WA4YJNFP3IGMOEJF24HVMVSH6APNKKFP269F5PCTJ4S60KPPB1HALJD069A6Y7LTJ9A0TMM7QLOYS7PUOA0IOJ57LIMFN84U3GXOXZ7TCOQOR76RSGR1Q05EY7IOMS5QB41SM66CFMGAQA3TEWAKK8PEYUBNZUXL42TQZMQ12BWO1PN1YJMOBMBLCDRLP5XIFCDXOTZEX1WSBPJF9MR6JLFV333LV9TJX8HECNH5H94IEMMOVBMMP0MI3ZO1JRHL8DQYDKU846DG5FSAA2F12SLFGMGWDMO172BKNOC5A61FSQ15UDNTFCTVLU5IJHY5VS6QDYRSPUCQO4B28HJROKNLU51MMWDZYNEUVDQD41E642DMVIAAIB3NQBF9AC1JGTKR410JOQBIKDS3EWBZ3L6T3I4H5BKT4JYKYJEZ5IORM0JUGC44B3WF4Q div -36#6V830EP6QUX76O39Z6MPNET93EIX9XNNPXIPT6DF9WQBFAVU7RAV0I0BGE5ZX7TTHUZSZ4N2TSQBDFXOXA85CLC5R27XI4PKSXJY63OEI6R7XPMX1C361LWXYYR549QQZ1Y58I0VNEAQZPUZSLS5OVE06D6MG3CPQHH6AUK92OLB2DGAAKUHI874DVWC4BWTKJ6ODA7NYF9NFZ692M0I02UBLQX6EJI98U8GST5K7PGY1N6G6SU64MYDOR6LFJA1881NKNS7P20XUJNQ87ZQUCBEL8R5WJLIP2BAOOKZDVSKAG4WPNPEAT3YC5Q7KL13IQY0QAXQFXE1T9HIVXLSD4701S92W5R34LDW3M8Q4H1UH7EKVGDNEEHY5PNNWLPX68VNKOVJ6P6YIB6NGCBD7GEUQKVFL6R1DXPZJRNX4EGKDVXRWKP6EU43CJB91R66EQEDSGXVGHGKV2VZVOXY6OQ9TZ8UPFBZOAZUPO0N55V3VSUUGBUKHFLW9VR8QYPJ4LFJWI8UVIE6ZBGNRIG8YCKRVW7HNCHU1MZE3Y0Y9K6ROFCH21MX144XFSRPEEDWZTMJOIHSLYLWP36A454S7CU4C8PAPV33AEQORPDZ3R3XGCX644QWRWHBC55PHSJ4XWHKKV26O7W9AIYYSU1VQ91MNVNTYNYSAJVTR5EEJ69CZPQKB957JKNDW77MV8BXVBZBDAGQCKFAERYVWN7UNOH3ZBTG24F7EMFEDXWO58D7EDPND1TFBCI47ZWEFA86278NG22VQCXONURV3L95U5WV0DH50D3T2GEUBN1QINUWKWMHLO03WCBQ1T8IVWKEA1EAIIKDEG1SXV98VTC1D4LX1VDRTJ0AP2QAI89MZRUNBMLOE9DPWIYHLZFRCMUJ1PV. +36#GQMCD6QM7VWRU0ZGV9B8ONMJCM7RMCO5VYIMBUOT72MDYETTHKMC8ZT6YMXG12S079JLZ47KUISJBO4MOL9I77LH8WPTT00RUW3ANJE2YMEUN1Q3KFIA5SMOLGAKQLLUIILG342BYKVAWXJAI8UQUQ89YRNCHVSQX47CZR2NZ4NSCDQ9U9HMPZ0AAUXSIPLAICLPJ32SBKWU2OPDT23BK7GN3YOEQHV9MMIWSGZ2JUCG2QYXZW4OS80PNA3QGYWUSEIBWUG2TTUGGSUGWIXC6CL15G608VH8TLA0EX05MJCGD4XOU1CEWCNX3BUL4J5FUL6ULPRLSG7G4MC4FHYBIFF4OWXE5BDMZF0O08TTDHL80KO7ZPMT64DK7MQBB7SS3I8KB2908UCY3P01MZ49MH88896DZ2EBPW7F2US1XCNQ0Y8YTBDMLAP01AY553FVCZYKSOQGGIX44VDB1EZEKFSM0O7LAVWYB6Q19RWG87RCHJBUPMJWLEEUW8LIOYW7H7TEG8AY1HYIRHNZLS368UF2CZFS5HBJYAAPEIJB79AB62B8JYAILG2DZP28J48BIOFYLGB1IFZM5FKV027V3CFR33W5Q3ETNDPEJ2JCYINYOC9XEY1WKN1UJ5H489RZKJI958DQC27BTDOFS62P1XELLILX6MJXV6Y4JDNTMGWKK3BNABAJJ4IQ4QZIMAZRWM28TQE3SC4MPC4QE99FYSFD1MA85HXQCCK8OZFWFH8X61M65VDIQ9MU79G5A4TE6ZLCFU0CUKJFY4FR1TCW216I9JNXPVJCORD3LDWE7TVNZBUTXWUTMTC4AC9JDO8YXMNAW4T694FGEFBSI6ZRNGIRMLKX059HD7QJ = -36#7GLFNQ6SI41I7SGU8L7WG7FZG16ZA8LFZACP8HS8BZ9ICSS59M1LCF8WNBT3CJUTL0HPPY93TBMYSE4ZTM9AWJDHRLFN0MW5LMY68RZMLE90BM2TDAJWD5VGCAPCFCADENJDT46U2GHROZ4MS14MB9YAPP14O8AKOQ48T3OONJFCP5UOHQ3HQ7LZUTBM28IVIL4RP5U6GP1HVYNM3GV36IMPF4OWGCEI1NDROIA92JIVA4GLKVGICAC8PTT6UATZG87I19RBXEAG6GZ40ZH1FYV0MGPEVCNGRR8UY7NY0JA5DNRPHP36UW5OG0J6HNULK3I2I0S18I7DJUX2X9NZHXKEDJC88CFMOLJ9Z5XODVPM5JPX9KEA1R8H7C43DAZQWZ65QVVWWCWKJVHQV41EN9HHCZ4WHGH44AINAI27QWJWTRHL1UFRDHOGZLLFY0FQNN1QRP63R55IF0BUD5FC147MDH2K42C7VROGCRF6HBQ07TKGESWZ77X5EPSNZ26LIEPSFEI8KXTN7POSE151YZRTU5LL16Q6343GM37EI8XAIHH2SHHCOZYYC9HMADIT4XI9R0EY5DI943GR0FJ14GI25MCMU6UZIDZOVZKGIET18Z14DO4XMA4H10ZCM2FURSQH1DZN8XDU7RINDOCENBN9T330QMWX89XS3O9GEBZHEJMVSYPPWWOY8GB57WHRXKP8WZNIJLS07ZRMJH68G746KCC0K47CUA66KFGF9Z1AE6SJF0CESSRXIBJJ5IUGHBGKVPR9XLNM15O08HFQQXZHVS9HFXDKWIFAVTFT644BIM6G0VNBIUGUTOEAYD8BFHD9JTC1L8U734X4MI4W55D5G0TPIS3B6FSCK7YXRXY20MZ50YX7CPL10U5X9WVVXABP3EIBXBDLAVJS349REJB05B3IDA19OFXRBNJHCXK21VJBXVEIQWIC7A3SYH3GHEL9C3VQUKQJBOR8ZYUHHP10ESQZHOGK7VSRT23WWUU1OCOMY9ICX5QQQL3UHT9AEFPR534DNBHPXB70ZZV4ORA0PJVFACORRJ00WMC9LFT7RNN4LQ9EK8PIS14YVR30OYRVB7Q7M5JOZ1E6DTBK9EDR7QYBWBEP8PRO2IUZ2C5ZUSIPWOUS63308GOMVTR div -36#G1N5G8L1MXT1WA9L61FPNH5IIRQDRCB756W3I40OWLRG7QOZBNDD93ZSH31XQYLTPLC1U36WHYCBWJFJAW4YPK8SNRRYHGRVHGWR5T092D1N2WQ8U3YM99Q71ATM6G89SJWB988JXPJN5338EJW92P1ZBUHDKPAPEPS364835YD4Y2AGXTJV85GWMHUK10VZHTEK570ONZ78DYJOVU6JUHMOCZPPTWAEE5A8VEQNSXVGRSWMIJSK1A6OPG2QFYQV4T5HAIEJOWOX2B2RFJ1S7Z281P9. +-36#6LYLIPKWO6M8RO8CZA0ICBDHG7PNF033TN20EORIYYXQ7TDGLIW6FPW2GP3S63QZ2MT1X1UL1FSVJO2AONIMFXAGITVO3BN3CLRWT9SWXY6RDG63DT1JAHZ4KRM87DIBGMMZI31WT6K9ONNBUHYIHHYQT025LM9G5IXZGZY8ASGRR1Z2ZQ1O30F29AUL76QLUOOOWNZS2XYWX3ZJHPRIZF0N2BJCKJMSXNRIMCN6RXQMHTHLTFXC2BT2HDI361GHA3CM5F1E8SMKM5E00GZHGBOFLQQR2ZCT = -36#1SOYV0R0XZQV0AL49IDBL2HKTPG6P3VBSW82S3BSYKNRE3CXUMJOLXGUUM1ODWVUBHOMYB57PI0L7BEP3QZ69PDRP8ID8TS3J5HQI7S2PUAKJWK8M797WUGEHSCDAYDZ7COHOWN2TZR4480OMGYDSWA16LCWGW363YQ5SZPBY3N0WPU1SG7CXBSO9UMXNR2TXF4PX697AEJGSK4G7WP095N788T8TW9BIGZBUTEYMZMQGPSU9JYLMBGJ7Z1DY5I1VO8AG60ULYZUVFREAWHCLTRXS4Y6LYGP4PDFL7FZEQRP7MIG6NAIIHOF5TD06R2LLAGZPZ7617C8AILO91OCBLI0U538AC5IFFJLMVPTBD6CSZZBK0ZHUMUGIIHU5WF7WEYYW18P9ZWNFWDTT50AJOTIPAHJXIY99AVWM0CMO2ZGT65I0GIAH4HEFJ1RSBQZ6MR4EAHUI38I86WLCN4HRRA2ACQWX1NYBTTXRAYP8R4DOEV10SL26RX36RUNDETLJB0SANA0S75Y0B6J5KNE6BW77EJVTLSCF39FQQXTEOJ7VX36P5GWE009PF7K2T0QSOWBS9MS0Z4RD7C84U88HOGKXRHRY1RT98UH1G71XHRAOL35PKJVFGKCV2KAVYV5W0OGLPSBQ28UENOQQN div 36#9SC6THA0ITZLS867H1260GILES63NZM4HZH3ZVKU7BCGS0N1J4YG0TZIFL395ODLU5CKKZTZNQTHN48IWGQC53OGUPGXTG5IA825T2XET3MF3ZXYB56XKGYEYL5MMWYIG2NWD3WWC43TBIQB2QOQBDLBT0XVXT55ZD71VA7CVHH9GDWWOHPT8WQEW75KTDI4O1CPDLPJPKBFGCZCG0EVW2X0OIG59QM3KK7BDU0BCBZW5HPYACCO6SXEW2AG30AV9FZWAFQ5CMHAJBQFDA0M6DNUY5PVWQC83J3TJVMD12Z9K9E1OJAUCDS0R09W7XYPZ7W7BBYKCKIPX9C1HCQIOY9W9MZKJA6S0KG36NKLTHCQNB0C97. +-36#4LYGP8C35ONFPIZR4MV29FEVPI51YDOM6OO8B175KSP0RFY9FJQ5HLUYPM4HCVAFIS3FQPQ7VHZNYLDL79D4BPI8NFUHW7C9BQMYWYPJA19745SFQ25TINQL4FSSJU29U4NCVFHYWN08N7A45XO5KZCTNA5RJS341GLPMJSV0R25VQ2NVQ37VDH1W6XO031LP1PROZC1JGGGEY37DP917O0UGPDLD0L0HAHLVNUPFR4ZA7BQHAAWN1O1PAU5KC8PWT7TSKK1HYTEKI69ZV8J1442RU6WVXZTUOFAXY0A9BQJOQIA926N67BZDIKD161EPJB1UF88QMCTC49CCFYEMRV5OQH63YGV36Q9SPEVED9B6U7B4VIUWDKVG4B8J25QY9S3PL3ITE1IV8SQSNW5M1IJ943M1DX5UUV4KT55VF9ICCN1OUBEYN3R9BTICMEMJLP90DWEDJ4UKVMENDW2QGBL4BU4H0XH6QAE9G9911ES8XS06OG8EFAFNKJPMXRWNAXN60LB2XY38LC5LUYIJNFMEW122F961Q4R1NHB2NUZ81S9Y30DQQWD2OC4R3STXQ6521G7SMTSQXJCIP2T3RX6XX2N5JPDEMWECWJF271M4V8XSOSFDVM7FVJQBM8MHHPOFT0KQQ1IDORQLG0OJNSLA4OAI5O9IZIJABS4ZGMR2CTJHKMQ2QYPZO73YATXG2RZW5057U077BCXSK3YD4H24Z4KEP2HZ8NORMY57LMON8IBZMJK50U5QGZCDVD0BKZKQ8B3DQHP84U5DH4I5LYOT8T9D689FOJZ44S58S06OSF0W6PWXGUV7UI2EUZR4NYI0QNE2NJSHGESRI9VLYKLZTN1JEP2XGTZ0E6B8MQVAOQVPU9GKADDFZI1Y2CCQ5TT4HYFXIPJKF9WV1E72CYMSLEA73UQ8HDBLSIN7L3GBZF0036L9J03O1LDD5XELUTBM9FK3 = 36#176E3LTTXSH5NFG85ULD7ZXFVF02P5JDQ874IRNYO8I8FVZ7GAYQJCG0XOO6WEMOI6M0C80HHRF2DRBYXKE2F3Z3LV1LITEOGNJ1PFIGF17I3JX05LBNDI4GC3AF5RCP1JLMD60SYVNOF755RDF13W99OLZ6DMYNGGPJXW7QP4XGFI69B8FZPJN9VN7IX6R0919NFGEYOMRC1QAWRI06OD7T71I68P5NTDRL7SBMTBK7HN5QW08CCFGVG2L1ROL74E52F69ROG1YF2UJQ6867S6NQIYS929XGJ68RLMSA017Q6GGHEDV0QTKFODCH0G5O482F7Y58JGTJDXQ9PH0NKR82X484CDPVPOXAGPE38UAQJTKWCPSSK58FLEKTFDPZF7ZX68DQIB8WZE7L5VMX7A2YN6DDEX41YO47Q9EUY4MZKZ2DP5JE1KTU9ASS3WMY2JXF1UESRQ3AZ46759JBGVJFBB50DPK0T2KWD1YCA3VNHNQW5HN6I7EJG7FGY7D3WSBWWE65JE00S4KZG8QG83JU2JV3I1KSF1IVFENX493X2JL1AJG69YIP6R7JHCKC9Z7OIZCVS1PUGB6T99KSAZYSYCKS2ZECDK914Q5Q9TLBO6UYJ0U5W60NOAW9HODBN1Q0MRPUCXCKCA02PUAE37ZS4HYQM2W030WI3BCU2WVS0G9GBUDC133FP6TK9788P01UXUO3TUM8HX2HT79UNH0KJ1207W8IM7V0VL3IGE4DUX2I1V9I4AYY4GZXHD2TT0PU2PD2R9SCMOV6FKUM71YKHGAF5T5OI7QX4JYZBF0A2308J4GHH1JJFHARI4416TDIHOEMHY82ANG7RYD1KPUF9Q91BHJYI89LP62AAZ4UYHJXZNEWPXB2F4CCHGPEO2HO8CHMOIXF0LPV3K9SDA2ZYIEK7K9S4TS5VDTM641808QHYJFXY3P2OZ5AQSWS0IQAKLZ676RR95P3O4KM5OYHNWFGZAYQIEXINB7D4LCWYU4OYF5KXX8G9 div -36#9D6M0TL35Q86X16M0DFKH0DGLKIXN10WHXE7G5P1HR8J34IDF. +-36#JRTJJ6F7BM4JHFQTVRJCZ8Z1AO9WKH7IXAGUAESX3G9PMXCSKZGH334S6OCVLPW8CEPHJURH671DF39LT0LBM237SR7I5KLCF717G0WXE1YJADI5HX537IWPHXA0823MZ4AO94T73399RRRB7DP4OI57DB67TZSBAG358P8AU2WLBE5D1TEGEQ0ADAZ55S7JO0MK28RDB3I9VGBD9U2D5HD65L7CHZ4F1PU2I3SU1IO4L30ER9TQ85JOVERUCYF3W1EKWMRK25XSI2L25HJYT078XPRFGYOY28INMBQCC7ZV47JAIK5X12V9LWC0MCRPG823TME269Z1EUZRCZLPNRTMDXXJO1HOWYZGV703405KG6EEIPD2EDM5DRITXNIJU3ZZVAWHFQ8ASN0DP0H8842596QE5ASNFOE3SH083BT6LS4L2LE7LGFBWRHABTBL115ATWHMMA2A4XCKJTI46XXUXG8KG1RSLBLLH5BPYYLF = -36#G03XTCYH6MALKF2GP325TU3ZXKT1868EK1HRZ78IPMXXOYUPA0Z31SUJ81EGY12QF2SQ3N95GC5TBJHBBGT86Z4O42BKKCCXU6T5MIPHE9A8L98NEN19RB5LJRH4Z56NIWQR8JFCD0FU8DP5NGE0WTUXP0AML31OJB3V6LG0IAPIDZKI65Y9W0L94LPSCMHMYM8NGVMTFRVFWEZDGYRSDD2G4SG6IFN0JAX1Q2JTS5D95KM3RZS5NKCWXB0PI8BRV1D61STWP02AMYQ3VEXQXAK2Q4X7EXN6X66TYF26CALHXRMRFM41HAWGDIZ935JMGPKMZKE21G9DZ67LNZUJO7FJ37F1G8UXVTW1LXOIR9U0IW3QX4M62KNXUR6O29QM7VV31CJ7ZLIKGX558U43B1HCIXQKYDF02L0IFKHSDUX6B1ZACTQHCUD7O4YX44S8TNFD8H9CVO4FV923AP56AD4FZROEO857XNELRB9462FO92HBF0287X1GIOANJPKN8GFP34SZPO7IAUT9B9G8W1BV9M3I6 div 36#T4WV2RV7LK3ZIDE18L32UATXX8B5C4HJPOTYSH9CUF353R5PM. +-36#W77CV7D9J3737X74H0CFMC1SDZ6YMOBYQPL8LRH2P1KQ7Q9QQ = 36#2LH269XG2WSHSKLN60W5RMF89GC14JGAHNS66CZPEA5WXW8Q45UGOSJV9B4K8C4WFNKBX19LO45XG981DT48LZZ1BDU4UJVLDQMZKCU18IKEOY8V8GHIM9CJZ67VT46B2F87SUBDT9J0CJLNYNRD5ASVWHMX597VMO8GMJ5APBWA46BDSBJMCCA5VFEM52AO6Z1LQ3KYZVTOJHSCYIVAEHOBD16JXNXR5VTP416XQLFNQ10G24EPZ1SDDYZST4YOW7ER44230UL793DGV66VZ7GU099O5B06B7TCWDS1HMYYDGZ0GWHEXGCEOV4O90HQOV95NHHNY6Q9RIJ8NE08U3JXZMKL8D4LJQXILWWXVURQRY9S8ODEZKYK82WOXJJUSJRHVCAVHIKHKQMNXLQISPKT61XDE0V9RO7U2UGHX9Z0QOTPLAT2CFLJG51OJILQUEPZ2CH1TWME020ADBWUBS7PN3NXOE3FLUA6R3NHKWST3PIZ89XRAITXKTQ3PY0SXWKIGIH7419H8QLF6J9US9JGSJO3EWZSEQNS25ZSNMWGW5010SNDW1VICT19SWA2V2MEYNNIHCV5WMTLUJPOX03KF65CC484VIREAQ3HP4HDMJKUTTC0678L1GEP6TLRBUKVHL5R0MKJ9NE3B0SZ703HMUE1X6PUGMS25EI9MMHG9KVBZ8C2WCEVXFXFJP7YCHPOGQQWU120V1Y426Q8R3W0Z7YB0M5M3RM7CZ64OHENIEBFNRJLKRUFE75K5TTUJSCIMX8X2HFGQY3WCUZTB2AXGFC9XC8VAPE601139X6OUYMWMOLODI9HCJ1FS6K964PUT15J8E9BBDJX70HS64TQWSQOBV8VSQILVFGRGGI47EISE1VFLLY99LVDY21KKDXV6HHMBE7XB7VDPDZ8NQ7CH5L9DXF9WTYMCTXIIP1RA573HFHYHRX5XYWDDGVFIZQ8B5ZM66JQQAQIEHJ9DQSEQBFZOUDBADWPQ4FOUHANXO4ZH1AJH4HY5004SP8QDQRRDSXH6576QKZ44KS7BOOWU1Y1Q7DCWP5OZ6A div -36#2WI5Y0L1JUTJ756ESSGDP88Q26UE5P2JDBFRO3Y6PO6WSY5JSTUQW2ODO14YD7F6X0Q8JG2EDZ6PTGPR3RKRT62D08K816SM63QTDRZRTEO5X1Q364OLC561KM502QA2C4UJC97P89MJ22A34T9ZH1DFVMNVKV2SCWLYLA3CMSR2QVYZLAOCMVVKW83FYPOANZFH2MHDS2YDA563P0MNM1F0FSTJWLD6HBH5654UZQF33QFFOT5G0D3I0MG0W7WDFH3J8WG4LS1RC7HNBXB3XQ216RRYAQMZB17EOT0ADZA043SAT9DBGCJGISWLH8YUQHNRHQTMLDCZLSQFQMJC8CK8TJGMVX666DGUEOSYY4DVVD7E3TNH3KGFF0QQ5BOHMN1R8Y2K5KCYJQM8M1IU6K2OGFJF3BO5S6IA8IYJLYD94GFWY5P5MWSYJ228HJ3UT87S6B3KFJQRJOTNYRYL511SHHWYJX22SYUS5FO26RZK3P1N82P6R5BCRADLR9TTZ67AM6KNFG2J8Y6JFDMX08C7QZG49ZZRX3AOL2UDU890RUDB8Q6L7ES0M1DS2ZGL6UJO7Q4J0O6P6DBLL6Z2VTQT1VPIPM1OY0YIHMM9NS1YG1253TN46JBABN80K709GDQQ5KYGCW9V9J10AXRHUSMIGVP6ZLU9GDX1NOU8NKUM19ZJQIVIMDYN4MUSOG6KQAWYUV0O5UMTHZZWNSOXA3Q2QZGUKR3RHEHB2ZTGBLSQGG981B619MYRTVGHXPYYXOC3IJ8EJURCK8QTOOAZYGOX8G42C7FUCBO4YAANDO3L3OFOMYHU2N6EJO539Z1MTHBZ3G0Y8GZU0KDD6XGPYP0VBEHRIKZFFDFLTWMFOWE0Z0E81RPCTBRA22MSYO3DDE9PBL8CI67XV0C9QVAYA0STR9B03MALP2QGFRZOTA7CCE6PAFL45GK2K7PDLVHU2RMU4YVT81RHE0TT57I0S0FOTLMOL0XIBHGYQ4MJB537KZ7UQ8H9GH. +-36#RLOGO44Y5MU5I2TTOOQC2HNQRT4WRG9JYOE1NC5BSK82RFWD6C1Y6O7DXMGYLVJHVCDRUIVY9JXH9AJANSTLYBP0KFI550L3CNA36VSBYZZFQN8V4TWI9VVHXPKD91W7KUER5EAC95DL82H7NRWWPGL4743Q36NYIK7GBTOGPVAFI26HYUWEW267XOLSIUEHV3XRNLA8TUK5TMAI231WQI7EMNS06XLAAKIAG3HRZNI9AOSSQHF0Q2GRH7BL1QSMMGFOJ07FRCX20GELXPH8LDPT70LZE7R9VW9E439XYU8JQZJOB6QYEP06SW1CRCR04THV3P7HN6HQ1S69T0OB9PCGKKMIYCLHYJFCBSQDE6Y3ONMQNZ7VFDNXWAERGK0RE76OFL46N1PHSENRLHR52KUFCL7SNNK4EG2N4ZG34IG34V39HSK7BX8TYONHQF1KU8M00GL572XLSC3K41RRS20VGD8WDE1S6CI51NCBC7069WEKQUNKHYBH4RW5JYMVDMDGAMVFVPHR3MYD4AAE9VDITT05ZYHAN8ELR90 = 36#LZ7BK67JTSD9BCCMKL3NIQE5R5P8S937V3QT2XHZOP1KHPMR73OAEOR955ALRLW0AC5JYNNKOK8JXZC6XNC0CVOSFRJBBQSA728VZBC6CQHRPVUGMVQBWETJHKC9A6M1U9S1PU072C6UVZW0YSDK4UN5GS8AS9LHIM8CPEH09C1T5W3H66PG3FAY9QTQUHE7JGGTGJITPWR2JA12ZJOSRXRJO9Y0UCFHSI745Z3PH7C3J1WP659PL62X69NREY8FJL84W400WPAN5PM3Y4L5H5F1T6NZRK3WOQFKBM1B69DQRD8FFNC7CEN0SZKBWVXI1VGR * (-36#197NP2I29ABGA0CAMEQ6DOEEDXESOSV94CDUL9NEZSW635OXPE9V4WPHKJAAL6HDMCUDP1LZEQVCZ2SXQ5Z1JWGVKOUOE73UAGUQUQ5XHEVOIV46BGMHR1OHD4LO8KMRGXAY9AKB00W5W9R66W3P4A371L7E7VFE15LP846WJOAYMZMOL6OH7VE4NQIEJ0UVQ92V4Z6TJP1I3Q3H6GDOBP7GC9C4YKCFRM70). +36#ISMN7AEA2606WIJAX8DMY8LOYCU27XPPGJV61PAM2ZY0XW80YOGNYZ04IWA8KWCDCCTQUCVSTHFR6UD8XYQNX2X8HLASPMCXI0ZBDRRLSJ2X00XEH0DI08WFH1VIR5J4S4ZX1PUCRB8LZBCQHO7DL77M69A8SOMGNWRNAI46Z9I6RI5ZQTTMMZR97WXUBGH7PV47UXPZ38CMGBFP8IGRFPARRQBGBA13OQYCN2XDSD2Q2RJF38VE8ZDY33AILQNGDC2CM1UUEW3HI1HFIELDT1M284AA2P5NUK9PH3I1X67V67N9NAZX4GD6HFIX1UPWSMN4HYWRI0VKH7ONC8S3QLBB7V1GI7UQ2G53HMJLZJ64QE4XQV64PAGTI33KZ47SXF1EM7J79LB1Z4LK1SSYZLL3VW7RBQ8O = 36#17QRBQ2WBBE0LAD9N9KWIJXQ6JYGXYBM6KY8T2Z40PYSB8D37JQX1K92CTWWBFQNFO03ZQKP9CK1OBTXGKFMIVH86XUJ0B6WO6L6MPWYNTEHMN0XRLZD2G6RH0T90Y5Z2O5VTFL3LRTA2JSZ4S6V8FOSBE6F8VAE6ZL25L5WYMNWU9JM17APTBM581RLE00TVDCBT1H4XSAN0UDTFPMLN2BU1H0VSJ3OUY1H5ON0RIYJ3EF2S74CD4H09YEGVS9BFYKRT6FW0YHX3ZNISEXCJ002FKEXY665MDS38GZJH9SERVG4JL00J4ZGPM0Q516PCUQF11STV46E3UTX1K2E6074WG9WZAPTUWEL465RVCKEBN36UGAV0W6DDMTNZ3JUEXRCBIQDVZO0IKENZ13TNCPTWO8D3N6IXI6RY664P1FH2461EEJHYWSNDDVFLWQWXPJ65QZOXUWGX578BC div 36#2BS9AGI36GHTRI6LA1OWKXDQWTXWVDB85J0IC8LBY1403O01ZT. +-36#2GAEYQBZZM5F78M7QMKCOFB3K6XJ2RVW5AY9BJELWAC7RIMLHR = 36#5LR16BW4JSP2Z44730H6IW1HYA72T8TOGQ9OPG4C8GX66J9COE24H4XL5QXYPNM985C1CSYRJCV7D79VIP2ULCGG2DNQ9PUNKA6KQ4GFLMRYRU4T3BB5KBOZJXH0XCLVB3F1QG96HLJ48J1XSAUEN9WZA3F3SAL0VA9GW5FWVYFEVC4ZSH8ZBXPUY1SA610F1Q1I18CGDU1X33BL6N2XNOF7LA399G4JMEDEOKTPDW5SHFXIZ2BM9UGIJA80QVOPV4RMOUX7QYQXVP7BC0AKYJ1F9ZU658NKRT6PS9T2KVEEOBMN696B38D2FUN8N90NVMZQ5UWIF0VPAJE8B1MPDR8ATKE4WWG3DM43JD6ZZ95HCMJDZCQWXZAUGB9EIH8GNU2J43VYSQV252WCXSWZP7YQNPOKYH2K364RNOHI37HZ35J8PW9UKVT5G9VZ4MTJHI3FBLI58Q1NYRK0RLHXA4O9UROOHWEYT7XHKSGB4UQJUE2YXK98A2A4RQ4BSCBM9PF3SBN2867UKVU3L9VA1M9LCYHSHWJBHAXXE0UJ5FXJQIQBJZ3VIBVMRWZQF2K3OR2AQRLYJIEVZAFGW1FJ68PBS5BHBAGA61U6WDSZ42EUUTAP3LVW4PMZE7EXMBBTD9U7XJA60COAN9IJS8JPWB4G1E6CE47VD8I5SYV3U959CQURGPXHZPDIKCH2ABKBSXI div -36#2A9I504E1CIS8CM6V2K94OQEMXL1ZKCKFESEZ7QF6GB4WSNLRH087J724RLRCKYUIW7DEVMW7R2F3B87U38UOY8DJ8A7ZBHR1C8MHW9RH3HGA4WWAQT83ZGXF8K9MAHT25HSV7XTGW28O3DE1NCO2UKQ99WZM722VHXNGSFFVLT0XDZCT0W837EQ4B15VCEEDOE6Z66Y1GJZSMIPYMTY10CBF185FMMCDKOMBH0UOATG5N8JG1EGFT0JDTTDUT3HL72SR5WKVU0D7P7Z4ED91BLEXOOLJAWC1GFWU08YXKI217YW371SDN7Q7G066HV9KLGFSRETGJXG52CC5WWRF0N8GMU6TW519OK8LKFSEM4MJKKMOP66NXR2V6FSP09N5NRS6PA74LN2P4FTY0DOE62H7WBEWJ1NLD9QHWP3D4B2YMWVYAR88XBRGG452M1ZFC5KD939E01O1LRRKMC1ZD4ME3VUFBKXHFD0JGT6MBBJ3YHQFB5NA7P5FKQYU4NKTDX8FEVGNA55JA2OA3EW85RGO4339FK2XHG64MZMW6P5H6YNQPI5DK289K4R32U11LKGQH772OFJBVRKQL396J58HEOADYQEAMI1KRUOVE8HR56W6G07I6JNP264PITABJCCOEE0R606QI94OA. +36#2VYO8TLCQ6M37W9VA520I36QW13UB7L9VQYBD91QTHS2XILXMRXF4NANM2GYJO3ATKT2GQ5ORHU01YMCQ3RV69MT637K7BU5ST9OO1ARK1ZESBM6HSU7UJMJVHL01V88JL767AFISZ06OOGO6CYBKX0YLYGE0W9XH0L2TR1Z2ZN1CGJBYVHYFDRCD9ZJDVPS6GIBHX69LMSJR5S0HCML6DHYVBHPM3O8XKCDNZS7ZT64TMMJTL0UBHBDDNQCVZ7UAFGETMIX3 = 36#6O74XTOXSM69N4I2W8BMMKXM4DSOC9I9ZZAYDVWUFHYW7BDVBV7K9MB1TQTNXKXSX8SJ1TV48MMW407LTR6ZAJPFNCGG2PRMPKLX38NC7JRQRRSW763BXD33T7U2WJ59529AQAKKL8XAWO7P5FELH7TCS2QA9M70HDQMFM8VNFS52JTU5UCJAFFHCLEWBVBUYAQDJF13IZPDTRO23L9VLOJ693MNO0YRVL6IWWD2PO4GJ17HNFI3A7UHT70D2TZE6KW01KCXF2Q9UZSEWOLA3ST27WZH8WQTSNBB15ZQM5QGR8LK8RA90ELS1I div 36#2B6ATPQKBL2EXTFWGQSHY5B8YG8DQ8JHW3PIOM5RSTVTWWRXUI. +-36#25MPQEDP2S22RHDECFWDFC0CYSV6OQITZR58HI0LXCCVY0W1F7VWSVN321TFUO3L8REDTNM68EC5E0YS2QRUH3PFJP4XWFULX9MWDN9J8FGO0QP0YNVUDE3YV6R73A3EEFWGRATRWTC415USRENXUGKN7KRME54E05UONSB1FMMZ5SMKM6L5F1TDQD369NQ3890RUL28MIRZCHSG2GLT6D6KMQ4EWRRHBEL7Y7ZWDBS2H1CKLYSF98NAVPVXJWDNIZJRQFZXHFPRPOB7G5F1RR73ALE2KBSVJY724MEPLM5Y8LT4TMZ7NTHKYK9OWFSG3QXXR59L48CTAKW9IIDYTR8SJMIP7WUHMP5PGMZJNJ9QHSQY6S87LKX7VCYTI8Z65UPBTVGCVDKHD594GBES5DA5OH9VNEE4XULUNGVA4HJC3DLCCG1HPB4J5YYJC0NED2U5673IEX3LM4HVAD34T8JSXN064TR5102D6QTOPT9C8BO5T74PYVQ7OEP41TCKQIQDZD8T1B1ZHNHOUVRVH5BMFP31429DVLUA3337HUZ0X0JSLLQRMI8EY4OHNKNJSVW = 36#65DL20HFY7LCB5Y2WA7BCWEK8PR9BJXWSOZW4VH0VOFCXU1OSE61O6J16W4V5PA4C6L813L8QH552PFDV3Z4JEEYKSZQSNWSMA1D4HQHJ94FURDG37PSQH877AC0L0XWSWAYXDNPAZEKFPHZT0GO6N4LD09ZRKX7QRJ2QH8S1WJOSR3OX4HMVL8P8G6IP6S2VPBJNEA2561XCFB3OUFLG8J3F69SSQRHG7NQCIJQ6ZUBN8SLOUZYWXS7SUTA1PIBLZDLYMS0013KAIJ7UNVZ6QUC8BXHGDQJY306SPNVQ9SABU0EPQVG0DJ86OAXTIIVAZVK0YYC60A655R2UBIEV3KXPES87L88EMYCLXS3MFTM5I6Y78QVS7IGCD6THZNIWP75L3BFV3GJU0V08GUZ8KCQGTO5S5BQJCSYMN0VWNLCMZU65C6ICEWOIW9NNCELGDU9MMVJYKF2ZDBS4EC2YRYI3RMPWOJCT5JQMI7TJCE7WMEJXVZ8QCX7QH6KG5X1TYBLPB8GILREDHZHFKMEZG4TEBQWQLGU701YBFW71RXXUR1SW6X42DB71T0BKIO68KSK8DCCL34DTDSCBHSDIDL1X4JSX2WK8RLSLAL0R4QI9W11970S div -36#2UNR6U1LA1XZAM85ODEHCPH1111TA0KSD7UA3H09PSTJJUWLOT. +-36#3A746O6VR890FOAGEFUWGG69A2OIEQCDE6WTQ7HU786VE45YYP92TFJL3EXRIQG4US0JJ5SOX9MZ7MXUZ5MDZRZI4RKNY6RQIYHH1OZRM980RMMWHV6CLPJOBZVLSLGFKOD4VS0TJ8PGNLF5L51MOV5CEJYEZ5NEHB0B7B960IUJLXLDZKATDH7ARB46SRXA2T0TEAM8JFEW3FKJ02D883OH8MO8GWYGEE5UXMZXRHHI3POFG5KS9HQEOB4PDV2QTWYX49USR3EGR815BJIBGD8SWXHQZDAZFZY7LQEQS70KBOVV4U65T568TIBNUGGZ2SX5PJZDJ7OKA8Y6IVSICNK4UCIKTJ3X47JYWVUB14ZEO6BJ19BM2DQYF6Q5KWS2FJZQU8X7F381E472WGRXR9I5LUEE9YG6KP5DGZBGX72KD6NPFTP0QWM79RPM2T8JEEXOXMAQSH9CBY8HMJ0OPVY6PAS5D2EHXXTAOYMRZ6WAFLAJDRQELZYI82KV4Q5EW7I9Y73VLS64MPYVE5WA1TMG0F2Q9WDKTYG3QUJNPQKCAT29C6XTIHC4B2QKHHET1DYGF2AD1QWMOWW9XWPSQEFJS16V138Y5AM7NOMDAY4AE1JM5141CHXMKLPTS6JHIKIR3JMBTJ364Z6X81YN62KXZ0LB2VFCKIIRFHF1XDS8ERDTFQ4VWYHK98IU6TJDYZXXUZLR3K823W47VCHY8LRQ4R = -36#UE2I8N5F8ZDEJ0AMPMC5VJTU3XSGAYO07MIDADEF6B7SFESMOQEPV74BFAVMAB4YZK6Y8KWU0HT27XUIR7FUK4LUMQMJL8VRZ5TL26G3Q9686ODYHP0Z6B2FKIZIXNQ84A9Z0BC1HFIZOUTECPTHRZTLNWYRF2CPC378O230BJDGQHM9S1DXVAMHGZ0DUGW66QZGC5NUFZEKVDVS12JXXB43CWAUZULDG46Y4GT5KPAWAIFYHBWR21DGUK5XGK0TPCPCJW2YZZ8MKISW5A97D5PHJ8ZZP8NFMZ9SS3BNUSUC9FFGJQ01IYQ5AFKHGYMJ87BRIM44Z0ZJVHJATVT7P5263YF6X * 36#3W0H3NYEF50W66F8N842DYQT8SNG0N729IF3XSTKTMM2F63RMGJ3VIMSUMN8BU3X6OKP6VUKEGLHVRYN2P5THRRPFKY0UEBNJC11AQUBJWH3HYLZSPYPH7UEJN4I1CM6AR88NDPILOVOUWE46DGZC77MT7Q7CGG32RSLR9RJ2RUV1SK6WKEKVKMNVF27GH2KKSGMB36G6MT89RPQXF0X6YT4XFQ7I52BVO35R2P8SQ3UBH8QICF5LUCWRS2KHC2Y5INHJX4DL26ZH6W2S2FNOPGUE8E6NRV8YVDGK05062V58D7JBT4T1LNU58AKJTLX5IHY89SOKOZR0O1CERYIPBXLMOVFIW10NLK784MBJ0XUQKR1FBI277WD6LS9F. +36#2AVZ0C7QA8N3FSKTNPKOKF2IR7LD4QENTCNF35G9LTWUWABZNS = 36#QIUNOP6RZY6GGCTVQ80I4BFPKXBNIXTC4PONK0S4P6G8XPNVROJK0C3WQ5TRHK410FD12Y3W5EZ3YF4EA352M9F6SF7NDGE9BSZ5K6WBE0L793RNIOO4NVWTN3NJME6NGNONX69XNNG0HUT90J4GY07S6NHQ9MMHG99AWPSF5MXE1SV6VEMKG9MU4WJCLVT7CKS1FXHYY0TK2NGPFAZDG6MB164HUTP0OLXBCXJJ8J7AOGWTI4Q8G9JU015I56KGM2KXGD0I3HJVOAE6AUHFKQHTOI1U8LRND2FQUO6U5J7A72Z1MWOY0GFN1UI99U9W1QEFAVYTQKKHL7CV944L6SGSU2EL21XP8CZAY793BJPP7I034GN1PM5OI8XQWTBWRMSDTUCY68Q5LK3PDQ3HHCM9Z3HE8TFHAMLXQGHSCNN6EIX557EK1MP8AHRA6953XJWUT8EUH0VIU2AXLMNHBX7EZLNCB1L4YOR9W9Y3CB264BJJRB2ZD850CQNZQH01USPIQVXB1DWJQUH3OVY119U103YMM8CGQ4MEQOAXGTKMTZCIY8C5GP8KG76NIV46RT2NTRCMXNDUTT70H1NXKZHBW2P08QYMVI5EI1L1VDVUHL7ZHSBEHYYVKZ30JV48W8NF8QC68AJG9ZEHVT8N4JM0JQ3Y3AK64APK5GE0OM5I0120QH9EHBNW8S0PA9NRWDBW1TA5O9SCJFALGCJKZ6GS51BB6RDJOAWIKL74IWTFYIUOO3CFZUI2UCG0 div 36#BIPM3G95CJ36L77H92TE73B2QXHTJYGKFHSTB5R8C859I4EBJ2680P5MLM1HC7XX44AQDYBR1CJHEWIN55XUMCP7QN9VVES2CRH0ZXX95GRYOJGMPBOTIZ3ZXXRFBGMVP8ML9S0YEKQDLL19CAPA8C1MNTGRCVI6TAMGU5GX09O1A0PFGQ6KZ1GK4XXAZR2GLSZM8W4B2YAXZSALZUVXNX01VGD5J0YTYAZGWM2GNSEGYWDG4TUQMIZ8TRACK626LZQAF7B00FANH2CTIQ1HIS7YI73CH1IT3BKUKN19Z5QHGE0DS9SX5VH7870R7LK89FLLBH8OIS08LVW8MT6STNSRSK4BQU4OZEEWRNPH2Q75IV8BEBTGNGNDLRQ7A3HAW4PY5WITZY10IT285LQK4M3MUFPIBUWWC1472JX96YBE963R4NSXC8Y846LPO9CTLK1SMU0KFYFK5912P3S7IPIQGC0IAMKM5SQ88KMPC9ENU5DIW67HR6B7JN5WXQXTGS6OEA3F9PJGHUAXTO608NDYUKMY1KYEF0U70BMK96BTGTWES6X04WLX27RB5QM05MMVW4G64ZJYHW5C8P6MGXJ9GVEVSC9C4F7IWQ8ECBRN1ZRICGCM4Q3HIQDL4ACO0EPI7FFE35FHBKI7N69KXE1U30AFGRGM3WPF2TLS55LDVZB511DZW86JZXGA6D7XJGFVNDS31G0. +-36#K1E39RODIAX88OG774IK9CW3SZFQ9KEXPP5ZGPNY5G1HQ3BRPDOX3T4U91ZE5F2C3NQDSCE6OUBWO3FGXKIFFIHYDE8N1UG4WM5J0WV7MP87QI01ROOP8JW7N2C2T9GAH6ZAJOAXHBTA9BSWN9C7B06ACHB0N9M7ELBG0ON27TFTTNZWB5B5FEBXTHYAD8XWN27CWPRUV4JLB5N88Y3C330R8XJNH5V8R99LDPJJKA8WJO9D4PSB6KBY164MTFFNHVDX1V9IOMN2YQUS3TN6JROFUAUABY96W0TFYFZX2UELG7EHOB5HSD34NFUV890VMSNKU301YHFR6QTZQZJMIQ2TDJ1OQVGC672EUGDXNTRFNAW0BND5NZY2MOZOZ4DIEK4B8V5F2DAGUQEY82KK9XZG2PMTLQ66AIP9N7JFVO38MC50R5ANC69A82AR7L7CXQR2U4CQQYQDPTVHHXZPDGIAQQN1Q2DHDSOTICHULVG76UM563EDWAJ36TR88WEUJBRUD1MSUPM40SFQQG5K204VQ3YH8CTSBVJYWIWB28Y2ZXZRUURQ6I5CV1RBY6IRPFODX80WU4KT0 = 36#L9828NWM0P1D4ISVH9PKTPXNMQOU4AJWTS0VYKZWWZBNZS562NRDF4KKY6ASADKGNZNKE18Z6G4DDR1VY5AOPJQ72FXS0EXGQ6HIDOX79B5T7TSD5XQ6QJDNUEL7K8YY90AXEQQQ7H2WRUMB6TM3562ZBE2ARSSNBLFX0YQ9JZB8149SV3DH3PT7S0E4U18051RGV0E89R5162ED7BTA1UYH4FQ6MSA9AYSB20DEY8MIGI6D9GJ8913NDGQCBI8NL0VBY7CMF0XIKXBKK2C1D6WTUB32122DX3Z3O9D2YYDJFFL6FJ4SIEJ3AAM26AH8AAEYI3NIJ5W18ZFFF94N5X987DO86FQQ1RLALS1Z19A903QEVT9PIHFFI0C216WEMCNXS4NCK1I57EPHHIZMMSHKNH8YVSAUW90FSNDK7V55P7I8S6HYEPBC66JZ7UWG24QWI430PUN91NJT4IZE2YRLB6R45AR7ON6UPCC0G13FEHUT2I4KMD93VNTYGMDBTTEGSC31HATS28HYS82Q6LVWKA3V * (-36#XXRIH4NWQ1P4DTAMJD23B3QDHPQ2N39T7HW9RAK2V7764OSN0). +36#AS41NY4QKIGX7K73OXTEZJSSEWXFQP66OKRVHLGTI380CKKFAXCHY5LJT1UR8X3133TH5SVSYJ0X98G7SC9FJDBFTH975OFA6LS2SIUUK93RCR8IT3K2OM1P9N3FN7Y0L67E8YHDHFJYVCQWPNE9X5GIOQQ475POUQ796UNT4X1GXTYEQDYD508XSXUEE4NUTRCVI3UTQ52PN46AHRM72WPAP9IMBQBAEHRNPG2RXDYLLQFSBE3WD8LSPVISZUNVJZKJJA29XVHV3WJOEME2G50SE21UYX9FPRJ0F8W7A8NRVJD5G0FK71NV3HGDL3C5XO8CQNVCFL6O8MAU27PJSCIOTQ4 = -36#1LTP5OS94ZE3Z8V4K9ETKXW6M296SF3V0CTA5MQMDGNX3X0FGZ7I7A870T71ZK6OYZGIMENFZK7RXYT3YERS3SEQRDQNLIBYSSJ68HUYC51M0KED9NNDRC6UL5B6XZKQP6WGZRY7OMB9K3LQAJBHN1P4DP54LE5762Y57ESZ0MB8SUSNJ5UMNUV4AGGRMITWR0RWQRDY7QP7N4U1JJEO16ZOKOGHXAS1YI9E5F9MHFO6LJIF5CROA0OCBA4I52LTI5XJZUXK73R1LLAJY0IWG49AH8XZZ77GVC0OS09SJJFXNLWM9IDKG0MEBPPTMJKOQN6P31PX5UFMSA53VMG175WRGL8RDJG4CXG5V0K164TWWIT8XCCAD1FJRU467OQX2V4V9EOVQIPBN5LYXAJFNMLUO2BAONOA12B5N9FQUMDO81D2CZG79WFD991G7S877U46EA6IRGBE7WRYAEB8STIW div -36#5D3AFERCZI45VBWZG0A01POTTRELMR2AKTIRCRO4G9MD8EXID3P3PS0288MZCB3WRSZ810HIQ7DOZY6D2C0IZ4SHJDLYL1MQPUHUUSYFFRUNXWT06UVIXRNEWUR6Q. +-36#1T52FR8H4UHEFPJK2AJTN2DCA7T9WNMTMWUD89SZMNUUIQRV0CLQ3QA8MQQ22I4FKX1L5ZM8BUOSUAC4LOH8M3D7AV07U3KMY0SSWOHTSLZURAKQ2KNB4VIZIORFT09NAJGF3W4RCG9V4BATFC9VXJ3UG6JSB5DLYOEHWSI5WDIRIO861S17DGEBHOJLBXZLZS1B5ZQ4ZOL1MA4YO8P43T4B84A9A492Y4YWYFSNPHSGXF5Y1UZYQBLXP = 36#5C1QJ0RMP9SPOSLSXFVY2RLBD1FWUWK6CKHV5AP6SYM141WW9NP8IZKAA3LL4YQZL1THEOCKKAW4SRZ8PFG3P0XWUB76HP4WTYLCR0G0K6EG7981VALGMI21R6Y8JFB3RPBW79QIS35ZWT372LF8NGLID8F1MJQM2EWD2YR0RFFCG83H745W1YUUI2DE32625L6CN4E2T63U842TZ00BU4NGNLJ58WP5W568Q2V4L42QH8SU52UQRB2U2OQ5V0QKOP92WSP7NSUM9F8RVB9Y3NKEBXNY0JZWY1UX3EYNJ22WOTMEP75Y9ZCWZWZ83URK2XZ3MB1IGIOM4U0YXIU2CE2IB1R71H8YXQA6VMXONGX5H46TMFCHFF68LPQ0GO4FGJRCRLKYWD1C1ADQ611VT1E6TTFJTV45WJG82AMZPJWSBQOBFI6JM2V1CXBF02XTN4YNUTD1H6H4YHUYLHDVDB55Y9YHGQW9Y7V9QXAGCF06M0PARBAUVO4PBBW8UPXGHU1I68YJ4E5C2ETS3BVDXLDFHXV9VPL6IXYPSQQI95LCT5AADFD3BZU9FYE699AIVUETHHVDFNOXNOWLLTU47CJO5AD3ELLD4HOU57PEEJJUAUY3IXGAUZ2UXDT8R40KT8B2JV8UTEIPR2AJJGU44SFTLX6MGV86VHKSDC4BHME289FV0CWLX1M28FOIFZ8GRLVYUB03GMD14BRA0P div -36#2Y4VDT8CR3NYDZSIBKEG1743YNH0K0DMVJ4Y10AJBSSQ2VKDC2V2FA1H228Q6BO9DGCQWP5EPIIT32R2HGTMK2REOHC274XAUWSNWDTUUNYY45GIF82A0SR57XEQESWESQUMQLGITCRU7RGM8QKRJWS98Z3GZDCRLPJDPCD7SBFSJFUAVPIQXYYKEODUVLF1XMIWHF1FJ39T9M2X220LVQO45VYXAW2KE9R3FNLDNCQRHXG1F1DE64BC62EU8GPXBRX0O6MNP3ZPTQATFXBAIY4SEAF6A6G7OP5DX07W8A37MCO68AZROHPV6QP91AHDV4NJGG1CCBDXSSCYC7Q9ZLXYMRW7BD2AQ8NUHD8AQBMUPH2PEFLPS6HSI6EPRONV7SK840N3J1L8MWEDM5UG10SM7TSCGIR9D26NVWDVW4NFBBLYR0LG76EH95GNHX2JN1VYJMSIX775U95YO7J41DQ731. +36#1OYWLV2FWPDYM8ZOH0P7VXPF4I4OVV98IZRDTF7GXN85XB4BXU5C4VVWI4IHVAWBTFAB7B88HKQ41PNX4PD25MHYROEWHZUQRJA73W7C5XMO3VB13V3WF9P38QCGJ1M1AYODEMDV016B1DGGP2CA65YN3H9LJQQCEMPZPO6CN9HG3XUAELOA48JTXSQ5JZYMP9YDNJSVW430S73LDPUBCL9IUEGWKR7BM7QPSY0 = 36#7GJCT05KOZ6AUZUGHGINTFPXUY257G835QA75S2GDS4809RR4DIACL3Z7BT6EZCYWACJLWSGSTEWWAQIBBJ2GGJS4T7VE7ERCJNQEOLYZ61OLAAKK10M3N87R8XCQQLAQJ7DH51PDX0NAWL21FPUKFQHP92UQIEQWVKS5CD0J94IB877008H6DUHQDEL9VJYOF3OELZ1QUCWAP34OZ616IJ69ZV3F6ULSKQ6M4R7S97FZTXIC8LYE63H54AX4PBN0EJ2MV985EC3S1WM6VLIUKY0R7NKQGWDNU5VK82RSZQ9LS1T8GA2EXNOKXNYMOGQ4W42NF455OLAADZ68ERVWD5C3H1EKMQUP8RYGLB5A7A0J2C6GCGIYO7JDHEFR0HS9W8743U9IRLKF3DWIGEP1TG23U0349V8PJMIB6823QOTOED7Z98YYKJZL3DO2ODIQKLK0IVQA5AA1DEGU345WC34KFRFG2H6DXKD2VB9NHQDB8S6YZ5WVGRBHD3TLVKMEGAYEIJ8PIMGBRTECNSEZ1OBTKUEZEZ5HCTBQZZN5AX8PP5MJLUHB7EA7Y0NGFQH6THH2O82AOU0KW8XHDY9CPPAA3RPM2PSZCDN2EWS45DP297RPB736SSH20WWYOMWXEW7N7HVBZC8CIZKEB9CA6ENAW2RI7BGF2D085520UN2XZ6QJSSGOG422J6Q4L90J9NWYVH417U0 div 36#4EK630RW30UIT52AX0X1E7ZD9OTVPTH5ZUH39NVRGMG7ASKHXQL2C8HV24F6XXLIQ6E4LU3W0FZ6CJID5O2PMN9C3T3VKTFS7V6AA3M7X0Q9FN80ZX98C7NVX243LZOVDXXHN54IRH1KT0Z1U07OCKO6COL1OJ0ZIGJH6MVVRMLBQXOYVQTAPAS9XD2FAE08TUPZ214HHUP8V9PBLIIJ27TWYEXI80FXCB3CN8R5SPAW14AIVTYOY24836YOLL0F1Y855IWFK5SRLT8OT4FSU7HHN3P3495310FHNF6PQ3A6OIP6OIFEGENAJPZSJ1WAFLFCPQ0EZQ4D3RFTAMK8GT1EZNTZTX02JUH84NKJHNPHJGP3LFM0U2FUJ5YIHIS87YIGSHAIRZKDU3TGIWAP68NCJBOZTP9JVPG8VU9VN7H3IMUKHKHNWUVLUB62L01HE2J3TAGYI191FM31HLP7QJQ6SXG2NT1EY0DCCL. +36#15T86GG5LR4IBO9TX5BUFB8Q9HO598GYE9H56UH5PTL6A6K6MAT9V0FL4F7US5QK3V598U7Q9GPGIM998UYKZU36FGK6QC5GI0C = 36#2GXLZ4G9FI74NXC3ELF38YYGOLSBN3G3ROOWOGNPR0XAVWMRTU * 36#GXB68VZ01GXFMUTT24EKLMI2X05JGRH2DND856HKUL1WLN9PY. +-36#9MHXZU0WOIQGTKZTVHKE7XZ7QIVOPSYYGCSLU40V7G00PMLLJ84UT6M5K6ZVZ8M7CDLTGPGFAO8400HVMZGMZABHC4Q80R4B9WLC75VBLLHF2XGZ0I7UDR2PGG1WPETYJJS901BYP9FLAXI04Z18DOB9AVVG2WG2RA8BWJAJHLBC3ETQQQS9VKHH81O2PVRK9W253ZTF2MMEUSUJJ2T6HOHU5O2IWRANK3F9SAXZA093SILGD1A6SX6QM8RZVFW0GBZJDWB10GEGY34T2E3VQ0T4AUSD8TOPS327TEWHYZ5UI8IQJL0HDCMO3CEI3UUEX98H5SL74NS6YFJRSUETB51KUEOUWV8LFQZFQHXP2QPVIKNVLDD5F66AJPX8AH6WIXKBC75VO933WYXK95UVQK43SOD64112S4MLNE8ZG7GC0GYJYXVOSK1Z37FXY7JWX312NFIRO0JBLP2UVJBYUHI9YBEBROMIBJ2QXS5XUI2DGJL55H = 36#2UI50RNW3YFWLXJ5YPZ26FZERHBKQZAHP4CKFRTFGXM1VOSTUK20HF96HWJO3SZHI1CIFZPPUHS4J6MOR3DQ7UMEJS7JNJ7IX7WID * (-36#3DOXDFXQUVD1P72DIMTH0VCP5MLDXMMJHT04LLHT20EK3T0NR4UP5FWHZ1AU0YNCJF0L564O8NQX101EL63044I5YK7CGIIG436HOKNR44S248DL319XI1JCZDV1HSB3GP486UDRXGHROX8YSY9T4Q829F0K0F2ZTEOSNK641LYESZ3F5CS0I55ZNWA45946M2WOIF78PLSPG0BLC7W2WRCBWFJIPWT2Y8J1BWVQCB7W5VW2FM5XUXMVR3QEPPBT8YGFGFNA5LHF3MLT297CL4PDSMXVKNAZATJ5FCN2WIKSMKS5416TFNWHRMGTGTEB0A6IICPPSX22WKKC52R1XHWK92QI11P980JB25H6192C62ZBGSRC14I7GK5Q0AREJ65GQ4IIAAY41T). +-36#6SEYISBV8ZPK46P9QHO62ZE8KOW7522SP0YVTJ5AT9T1PFWS99PVTWMQR878UCKAEY7QW0GLBREL12FZ3ANTJ10VZRW81QXJQ8RI13NC9R8J654YXQ0YNEOVAQMPKG6JZZNHRWUAW43GLBG3WLN433AKW50K63RWGXN93OAU52VIIDB0M81YYFZ1LDXWKTP5U0PESJ9FWCENBMZJ2SYUP37B9GRIIL6U8X15947BTIBAGC3A75XHKXKTDDCVG0CGG7DH0GFOUZ4UI24W3K70KU4GNJQER0OC84BJNKFXZC7KX6Z32OA4D6XV6UVULCFKDX054F3V2HC7HEXPVXCAZR5V0GZCBRIYUI800TF1MJFETXWMDNP0VA12KH19MCUVXEV45KA7XQKKDILS7MZ7H1YZFXNISIQWKUZY6L0MCBP4ZNKESIPAON8GWYOLY4Y0GFCROX3LVVN7EFRAHKGRG95C8Q3O5GDUKY1AGICJVFS07C5YIWZC1E8CTVH5FBGMX2CKWIDZVECQP8CIQ8O5JB = 36#1H23Z4D9DZMYHQYQFP6ODVP4D5AO7HQH8M55IUDU0DC8KHJZYFP488PP4W8BY5YY06IAA10LSMY14IDW9I6OSZU9F96HMPAD895YXA8WOY3CCABQF8RMKQKJH6BJPVEHRFBHSOBAQ8GFVPE7SIMV3YU54PQLZUVRDDJ4PT5U6SBWG8SRR26EA7Y9N50R7PFR8KH616A74ZXU3RZJK2FCH735HWQUGF13BQFLVUJ0GRVXIHWHY7YVRXWXGQLBM0UFMBD0I66IL5OKAQWVHRS1PJQPF7BILLVOW9B2IUKMJA9OY66Y0AAF99J5GNR1C96W8GFDLV2YUCBYXQ0ZYXXX6ST3RXWOTCY81L98AN7OI95IGHW9WIDDPVK47IAGARKYXK3OIQMIOIGVFW4WEFJTU6T0Z7RLA8ELM0OJWGFD5KELKCFV6ZP2NNDZUHT2Z8O6JD7VUX7DZYQKEBUS1UC47Y6OP0L4908IDES7D1OFMCRNY56T3HRLXYD2V2FCN3AVE183007N7ZG363QP2Q8RXPXXPE4DPNBORPJ4EM5VXMCVXELV1GETP5ST3T5LEV9O85DIH0T10BQLIO7B1G8YC47K2EHWHK7GEET04EBH96ZZ6MFC4OYH9KQ7M148JPEA931T91XC56ZAIHL4DLK7LMJ2JOU4770U5U1UGSXE91T34QGTV7TVWL858OQRFRPLLX1V6X81ALG9REZXYA79SMXQ49E3PVQ9T26O20FF8LU2EHI1CIIK5B7N2D1Y823JUP5FUMZQ7GNZ1G57HFY6WTAU2929R8U9L1R071V4JDJATDQZZ6MGN5U3P1WNXNZOSV7Z5M1PS5KVGELTESZUWVD7H57MDLVSBYX9WHB9YIE1RLT3611F3H3578VMIT6TRX7REF6XVW774XSH7PKQBFPC0YGR7M7T43XZKRKGXETSY div -36#7TC98BH51KH8GJ8ABOK5A1RTBMJYMID1SYCJGDJSQL821QD8VEQ01OU1R28XY5YQ57JUARIE6TH11HU09MFCQ7U0M31YK6K5VWWRIPO7FKG8LXABZH01GH0WJ6773AXFM1SBDFNUK1B2LIEVT873E1EXOSUV166NIA86QWQSN68MP301VN9T4Z0SOXCZ44UIDPXMUJNUC55AYXTA33VI7MBCTEKJZJNEZLJCNQCN0OXJ1MU4W4WMXXC3NJB80CL6WQQF0PFZAGQJWDLIPJR4NNQ92ZZBK2R0U30N92NEO94UJLM72POLR0FEC1270XGO9QGMD84IXU081RG71JBOJBDHRNVIJO44W6KIX4YO60QZGK9XJJ3E4V88KYVSVMBQJDTNYTG7ZAK7YDOF6WA0ETQ. +36#2RV9WG85T6RO16QFYA7DPCYQLQWO398M93KYFXBS73UEUQS4FTC409SG8FASWNOUOX56OA8RR8HFDK2X1ZL64M6Z5RH6LSYH0RKX77J7MJS3SOV3Z97E9WA3SZENKJE7TG0SKC6ZM33M2BWT55U2LIA8JSPNL9A4AQTH0K7PNKFLNWRDBNE9WIBHEI4HFK84WHQRAPDWRU55ROONYNBSWBYAE35YX3YR7G5M1TTPG600VW6OZ5X29F5VVQ77TO1RW2HLMB5ZCTX3R3WGSWEKD0U49XNP37L1O5603OLCC1DZRM7MLXXM6ZRGCIXPFLMOAQTG1KK4OFTMYNWPUPYRWIBFXH8UO8UWLY4229WK3P1FJQ26N9FAAAZ84884P = 36#17XCZS8HMV0E0163GHL5TTXUQM01GV0SLDR973TL0CZ8HR6B8SRS4PCFTXHP3HNU2EAIZSIVYJ0HE6OTFJZ823COCL4BMNH9BPEY5F78YTH7SJ899IG370E0OKP264TK6UO30KWZZ3QB38HC1JTDNK59SIT7ZXKC0UNROBBBKQ2TTR810BTWTYZEVDATQUKVHBXUC4KD9E7YUWEU7MOA8C45SMM3UTJA7UVL5OFHYA8NLHXQFK1FFLF6ON0UIBO8QW7INBWRUAF2IF21GU8TUXTGPB0R2VS8OY77SL1JVR0AJJ7K4Q0A8M72330JJZ813PKUG4096F0CUUV7KDFSBZXYW6FBA96RV1AS882V4MPVQYG3L608XSMUPLKUCW36BLL5JYJOEQ5K1IOXP9Z4F2Z4REO7DW7Z48CK9JH4Q6BJX1WBUD6BUDZPBR9ZS10EI3W87ZU9Z742BERL071BAA913YXQLHPBBE4IUH4N8VBBEVE1QQB3AFLK29R9X4J3EF0F4IVA0YYQOV8I7TREUNQAHLE0PFIB8KDC3L4E8RFWQ7OQVM9XQ00VQUMV6X5OOP0F8ITGW8SZGX1IOWCJ5PR6QNSRIYHFQW3E5VXCVRMA3F6YX8EDX437XDIXZWBBS4Z7X9ETKDMN06RTA6FK8S3S9XN6U611C0O2NCENNQ1SPCNMECMGK074PXBTG8EOQSX36PFGD3Z8Q1RTS1F79S86JN4NQEIR3TEVVA92TCEU4597UVM3RY6DO6AQR3J0KL3M1Z8HZT3ZS2NZPOSRFDY5F4EYXCVOG53KF2GF33Y47SEHXFSH3J div 36#FU1DE0C1CCU8V6F028T512LUY631QH2FIYCMOGMBXM20BWWFC748H769MS0C40T2S8CORB5FW2RBT5NYUWVA7DC2LA0ZPTPB4UF7BYXDGTFTH1AA89C2KZ58YJILP3Z43DOGLWSXTUVL4KIAXBMQHDE2ZHX545GZ69QWA11D0ENSMG3TGAZ0ZSCFZ31FPSJGUHNTAGGIZWH5F9KAS8U7IP18YL20O497140CT43OMHA5S4VKXT5VIRS8Q32J3DA8WMYDN2J4KYWEKFB81IM4K0FZYVO7BMH87J5ZSDJYI5NT4W0KOK2BONWCZZRE8DHDZG2J83A7WV74FBDP6RKJDZE2DPZBKDK8Z6X7YC023WW2HB3IFGFCLTD6QZFZ01BD3263VN7OEMN9M42JSIYX22KZ1OUYB1R3I2CZUSWX62F0LGEHL9BUVS3QV. +36#13NVWKN7MIJ1YM2WCOVR3L1Z9LEDIX7IRB6R6ZEPYFH2JEHA38OC519Q2CIA05P3860TTPGFIC5NQ8MBWNEJH5YD722ZQ0QEVJL9BW0YB5JIWEFQRLCHN17DYFAZKLMHL4JTJ0URIV5QED6DKHKL6X13NB5IGC2H9BBHGKJB2UMIZQTAB2KW1IGUGSY6YQR2BTSOOXJGFUMPEKCU0PTAX4SFDDI10CVKI3HVDCXK4T22AZKH6VQ36KPF3WIZB7I2AFZ33KQPFGQNNL0CXHN57GVSGEWGB5IY7W3UG3AMALR5GDAPQ7N3WJ57MA6NRPGM44T2M9IQZT4ZX3AI249QO8XETS9JP4KFPEDYC683TCZXD8R27J50CJVJUB98KK5O9DKE5FVIB67UR2BK2JANQ772JFQK90XHHFILWAPUFJF8PFL993WQR9712LIQOHTZPN8GN0FVJQ9DXKA9547W2J397PF2WSWKGET7V7380NC8YEYC5IIZR0FEXN91QIVK9PLZUPGUW6TRR3OTVAH1Q4PHZDOHYFLYXAEGO36RBG1Q7PNMIGMUT6 = 36#6TC8QKOB2SYV2ZZCMARK6OC7V9U4KBFGM284TJSG1RU4SDPPEO6YIX1D3D596GMU5YEHMN2T6VJLXYPTI29BFK08B15WN5WQ131CXBVFI5ZBWCJPFZEPR21N2M91SIT2HDCAZJO36K8CE8NUIQ5S2UEX9TFT3C8YZ3BNIP91DPB92GGNCW4N9ZIDUSTYUFH9DADX6OLU2JU9ABMH54HK5FL90OP6LHZLFRPDN0GF7TJGG6XYJDFPEF8J4ETO1TP3VVOB9IX0F3ZJMAMTMEY8ZSLS3LCWQHEUC37Y8YYHRGW6MH3BHP28I84YAG53JVECWSUALESFKPIGLNZ029E0Q9A1B8023ITODHMC38TJEUQCZLQLKJTRNKYT1EJF6XLQFI4IGPHSBRS5VUUUDUHF8I3TISTFV6X82QE687965NQZ06ZI6B1KHO624PYZ2P2B79CODAHONICYK2RTE56E70T9XH22M0WOHGVS8DG3L1FMS510Q0XZUYFFQJF3JJPIFSK6GINU013AOUUX17Q8K84GDZ00LHM2HJPDJW5MDGVTWT7ER3IUCAA7TZCA0IBLTVKFUZPHW0K7IY2UN04LBXOIW95TUB7ER01J18NA6OY2N5P4NX9J8PHCJXESZY8Q5EOVOC2DAZH2OAJ4Z0CM3CINUMSOVQWZ6SAXTF2900RM0EV9INC97VHJBRS5Z0H7OLQZWQ06IPUL93XS9H7O370FXXKPA52TQ1VMIAER0LDF9H39XGQD3G59HYEXUVY92HC1A29Z5NY76KNG54P2F00CEHBR1SC5J4MU8AQFXK3WRDLZWVBYRITFKDEVHEGFIXTAFIKYRPWLB552MNK84VV8JX40FLI7ISGG9UJKIZ7SFC5PF6Z83LMUYFK52XQJD4MJCA831JB5AQRVM52RTIHZTXGIRH3EX2LM10GCYWUX9OYA0WY4TDCWER2HI9Z9BWQ0GYOGPEN2CDIWGZTDZU4QIGJYNEHN276ABQWU39IOUYCKQK7461QXVQNLLJWLI3WCRCXD2OONRFWDDM28OILHQJ8IOX78ZAZBES0AJ0Z7KY9WYYILWMSVQVWVEN19IDF68PCJOIQE125GQKTNZRKBWRVM590LWK0BBUZ0TMMA5SZ7U085CYI7HG9PAICOL6UZPQOX9G83VYK5B7H5H0C070V3IK8GCCH01OB7DVID71EEW89WNUMP65O15BSEP5PS2AOEA5AK6A6MBRWJIIDTT6NWM26L7Z06DL1WAG0Z6B34HT7SDRO6XLTT4KXQAHIYBSG2BPWOP345OMDEVN0HL0QHTFQTXLAUA4AMQ1FO8M1N9Y4MJIDN4BARNBTVANB1ODXS4HYH0QS7FLLCOLL4CTJQMKWD5NNZ5J4C59C8N00YA0D67WKW0ZF2WVIZSHF3NJK00FFVYY0ALSALER660N8ECBZ1WRHY8NH285JJ55PRF66FIYCM86ZXVL9FZ9YUQFIJUAXKHGQ1H7C7UTCDR0EK9CCW1C5GHN3MD68TGTHLONE3RPYUUYO9OOFLOITB6CC div 36#66OGECVD6VMKPA8JEUZGBA8UAIIP9YN3UGBMP81764RX0NX4PAPWBS89TQNM7OWPS089SDGRYNF98BT4QOFGPF9PPL2YLAFLIWFKUC2UDWVZTVB2OU4IHO7LVKP5DHBF2JK1L1VL4YUTW3KOPPK7LJHZS7VUX3P484WE7ORMJ66KTV1GX5Y342WBAY0PO4F43V64QCBPH689PUGAQAL1X8JVH0O0DJSTTU2OQHWKO0UQ6R3DZNHNTHBHNHSL8W7IHMGKL4Y35U4695H6AVMHCDUOWD3FXESRAHZS1S4MSNKPOOTO8C1TG6YT6N3EQEKBO2UVYWZ9GCYR1YPAQXG7UQ7BGTT1VW7U329YS0L0S75PQS7PP837811ZDQ7SHTDG59H9EEWY7N87HJE9IANFN361VX4VJZ3RC1CQZMPJHB3P6W01WNSL42URV1TRGOR3ENWCXQVNZBR7D69628UR4WQQJWHLQHNCNK16LX0ZE1VR5DQPEXFEQ2NAYG7XLCJ3PR1G341KYYW55SSA0YCMGHIGS7B5C8NRACC6A9XFRP2W1EF742YUC0C0BFH6AWXCEU6KPONJ6XJZIM1NF6QFNW1QXQHFMFTUILEKA9TXXEH1747JJJ7BRRZ1Q9X4TLOCSRQIWLRIDF408KHTV5CAT55HALOIINA0MBRW1ZNPVOWRI29SP4LN9FDJHH2VKHR9ULN4G6YG5M2T4LS3GMRW7WU8HLPKPW4DL6RSJIE141YPZMFI4NM16E9C695QVE115YBTTEEGCLR0DLUETECUY66X5SBFVED155IZG2ZM33XICOKYWG9N2DBQ0MNXSE2STUDUPC9KXD6DROWI2I4GX68ONTLEEYQUARLE8CGNL25VWTTW2KHY3YZYRG8R7DKQ9MV3UXJVVM6JZEUFZBA1I9SIILJQKMOU2MVXWQEJQE0JSRXGNJDX9R1FWM2R1NIDFX0HOBBBEPLJVUM26E. +-36#7SSZRMF64H37M0EXZU73WSV7345VJATAUNPIIAL6U5EYAVQL47D2O1IWQXM82487ITR3M7KZL0XX7YZ5TJS6NK7CO0QKI05SHU62W78HZAOCYRWL44TUKAACJ8V1C5KNHU4PW7LSHSGDORY7TJ125PR6RCHQD981CLS93NUHLHARTSB566RDJL2BE1ONWVJKEB46XYNDPOS6APKP5DYUNOLWWSRXR1UZUCGAHR4Y2W1W6QG2N47Z6TA821BGY9PLJ2QEDYR0KJTYZB2DJNO9FQQRRJ3RWTVIJK8F913PIGYW8T4P1Q9XZTY3VBIC4B2BYP6LGTHZUSH1F1JI0K5E7VJWQ9PTRPSBKQS9QO8WE9BHGPKI8Q68O41RCIKP50WFVY9GRDVWDW5WXC30H1XEDWO8E1254IVMAOUNBRVDOIWGGVPQ5SOUDSCKUVYDBB417RE0Q3IJETR3NPMK8Q3MOI4ZOI7BICNJHZ21KSPMDTLR8YQBRB2N42KXMWUFKLAMTYO63CDTYAVHYBC6BIRKTOUKI3WJBRNGE6JR5UJJRLGD1CYLEE3CT9GVFFTCV59W1PU0326QVM7DFX57FD5YRFC7D19CM3KLDJA5LMQX7DOQB5RTUAKKW7B8IRKL647XUYU6N80BK28LI67P5XUJTVCQS7XDEMPXZNI40OCZXYWDOHCAW55VRAA4C5HE16PSLCLGRI10K0KQ5YO60K3B02T8E0FXSN3FTVOEK883AH2YFKQS5GMXI3EBPNNVC3U = -36#1UTW4VC6NC1XX9SJW7O9GMD8MDLQ1YL18GM6PNFW0L141N1S5KL1WFDU1S5OY5VRFKHEIALPM5RBF87KNCTP1WIO6FD8RCNRLLX7FPPQHY3FS5497H1EWI9BR4Z2ZZJ6S18YIQRVUFD9730LNLHD2QXJES9V24MQC9XL106FOHHXEHE8652CNGQRWICQ7YS0IUU0J3FJBVV24M13BNEOX9E8Y075O33OK9UGYBA0E1B3VPHXWEUSABA66K16ITWE55QQUEQUVS5L5A8DQLKYT64ITWNRVCZUUC1CWD9DSRINZ0F0NQ7PLJU141AIKSFPLGQGFJLHSFMY50BF6WSGY4J0S21 * 36#479HIC6Y2UT5NLBAB4A4RPLGE801L70CN9H9TDFIB6QEYVS105BNC1YVZXNU656VBNOV0WO11U2J8K1B6EABXYLQFYFBBQ29P1TV35W69KYFF9KW99RM02JX6OZY396AUSS29J2Y5VR6WQHEVQXF0MNEEV38PZ99TXQA1ZCHUMKKA8QFOFQF2YG84QRCMW7IVWXJSWWSQ3A7HDNB2SP57XNQO26LOSNVMFJFAV33J44KWCW88UY2SZC6XH1GIM4QTYQG5C8WH38SYAEHMJZ1YSUVJA0ZCCF36G1XYZFD6AVG9STOYV4B00E070PMB5EI32E0UIX8M7VLGHBM1FTV2BP4I393XQB2B0BIQ5SW0OVDNPC8OSY4BU4J5DATD5QVU0OP07APNUU1FEGXT39HUL1QCRXC1FFSRB4FU. +36#LESAVBUI0EKZCDC2LDWX7WGOP0ZROS7LII3SOEO87RUB4K3255QP2TBXXPQZ8ZJQZJH2R9UW8E4RE2IDULTKX7D97XWB3HLLXD0NUT1L1RUM2G3I11VDO91390G4BVY78IHEF4OUONFJ0ZXW57T3JQPOK8XJZ8I52IF6B6MH2X9TUZR217VHKKXWREUHLKMEJ7ZHCX7LZFG0A6CA0L1GUMD2W1WZ90TGQZFA6DV7YI2L0PJXBGC1PKMPSZP6H3VYJMP3FBP4SPVRYI6TCCD1FUSP6BTMWPUYKROMY1BL60C3NOG9YQDOMYZP619IUR5X1HMREIM4OSORFNSDQP9D4FFPX39BL73K6R35ZNMNMUNZCKE0WCIK0RTGZUNK9VY74RK1Z73RXZSACFBM8SF2OI6SHODUVP74PJ7MIROA3L0388OPFC31XYVMNJEA3K1IWCMH3TTW0X0HY09PK2JPQ36KW31UA1K5HVQC889B6UJ0EFOJO9R9YMJDB0W1UAM0ORMWAGTGW51SGS9BPSJION6DOHGCNEJGBW08L = -36#LYM9K1WE04UO8YD7YXX0GIVTWJ2RUXVEX9Z5RGQJCKECQ36TMSVLMFLMXDJIKXH6YD4SR3N18TJG24TFSI8KWGCVCU276HAFXIOC072MY58MYKB8NDMGEXBE2CMNA6ROZXMIIYPVYDIP2EJ8MOCPB1LCIT9EDNG246SHGJ1F24UMPVLGLQUZW44VUO8COQIFI4JSAFK0GWHROLLJS944CICI7PTRGH4VL8OOF5JCOMFQQ3BI3Q0TM9IRAITUXBPG2GA8TYGK2TG8MCAZ2J19XXVI1F9GFYQJD6V533QTGKF44DOZAK4XE1F7Q8RQFILETPEKZLOY0TU1ZEF9YPMH34FQ4AVT9XQ5BXL3E38BK7NX5CA1THQGBB5ZGKA0YO7829KHP0P27UTQGCUZBLS0BJEUHU8B51OOHJECXS6K4PAXBOHOOMFMPS9K4NRF6VO92CICSCZNHSM3ZCWV9YWKM95EMZC57B8UKWWZJ53XJVIBI7RHVJML1ZEB7GAMVMAXUTG23PCAMKNWEVDUL1QTBOJ1805H0IYGBEQ791WXBAY7GRRTA356QEVOMU3F0IUEJQGK7CA8OCESAJX1QNXNLI div -36#10XCGI2X9EXFLP995ZTU8R770FE1TE7AIEDGJ7RIVV8K6K7ZQ6. +36#4U0PSLA3YGVF4I2J1QGIQ05UW68IPJYMVBWALZIZJOGV0YBMNWUBO6T5L0J5POUMZWME995JUX6DHV2Q41BNUI2KCIMUKB03GAUM5YCL731PHOSJQKK7RJIP1ZO3UOIR0RLC3DHRFFMPU22TPMKQ7RZRYOSM7Y3CEJO1I9VL8WD174WBIEQ4BKMY8H02UDPBJC4N9GZN53NNM038JVXDDCN4GJBBE8LGD71I1ZFIV3AYAJJ2L9ZQPGZHWDLQZF = 36#DGZG8RKFUAY3DJZMUJO4K5HTBR21GMF4ADRJNQ1SIYZJ9ZMU0J82QUY28R21X6CGM3KBMIRTTSDQTR58OKWVF0X19Z8QV3ZDPS0UTRBZCF3YF4J6297CA33EREA814D5B2TTIUVAWSPUKABV0B9WXYU1AN8Z0O0J34W3KKUL6SZQRFFFRO4HBATVO8D9T8B7CHUWX7G5DLXM6WOUN5XHW91C4C85LL98WHFMIYD8VRSE3VK60020NLNXT68V8BUP03IOSYJVKOKFNNOF4SBNN899O240UBSMV1SLJG35C9LLL2X div 36#2SBVXOSKKTBFLRG3AR9S73HN6SYUKJ3L988X8A4IFIYQDEL7ZV. +36#3AHHOXFSOX17UN7Z0FJUOGM7EE4KMMHB75ULMW2R2M3PSRVLWM0X47SBALAHQX9T0PUR5Z6U9DJEYAUF5G4Q0IDT4NAQ1FLPVZXKPYU0UXK0CXTJBOIGRGQ467U2GXCVRAENX7IJA6DICKR0JQT0LM3X4GA0N4C2JFWG62EXD71QD40Y0LXHGVOZYA5BG3JOBN6SDPDKG23K4LUXBUUUA8VKUVNGIKFH6C62VNJ9V4CU0H6WKZ40WYSDD3X1ZSLRFRHSHZ9H4T1J4VO9L63FQTHQQAK7IQSU966537VM0GDIIMM16PL7JF5D0CA4IY7MR3TCU4L9T0SQTZ4E4T66MA7BBY727W9HBL6TGS104DPFVJDUTA9WR3DV01FRBU04SAH81QDBE71SFTVS1B3S3MMS81GLQOM10W9K03TYAC9VL6F6XOZ7X57EL00VL5NWQ1GKA4Q40810AAA43O0VRF1VDLACUTS11ZIP2KRPGMSMKMDKR0GOQE56IXW71JAV2FFZTOPNLYDE9BSYX2U50YSHBFEBZ6XHRZ23O9CMISJFFHB8GKPLLM2EOE7T947325OA0X43BIYSUHG1FZPPZ5ELALM1QA19PS8G66WA4XNCKKHC3FIHRNPBSFVMBVF0FU7DGOHGXUEEU4EHLUBUK6QK08KL6FEQ3NEHVFM1PXSN4PF2LDXHS1M4IAHR1Q4WEYBL1S9YTXTD65UWQOEHGP1GB = 36#D6JNLKC56BQGZQAFWQK9PQ43EECHZ43UET9OIS1E2TBZYHZ8OGFB1T9JJKRBCCZQIF4H08HXD2D7BNV5GOWU1KLNW69P535L69MLIFM57YOD5KAMD9ZR7GG8ZV1XVQJ2QALZDDV64X81ZNBMUX1EK8RHJ00PBXX5H8EM7W74FHLR6HRZKGITEIDRJPKDJLUP4BXVVLNCZDLRV5ZQ2G0UKAME9WW6HIO5UGG912YPP11ND3MEF533SM8B9306CBLZQWY3YYX91427MGI51DVFPUPG33CPMWPE6MXG1MCKNX5Z4L37WKP0SSTWR0AHBNDKE997OE0C375FLXFRD27LFXJFKRURR3NT678OU3TW85AI7YASVWT34IG4Q1MER86B8UVFFXXS7W01E7G0RXSRXNB46YERRINMYPCTJUYYE19UKLKH2QB4CWRPI3COI5A5RFHGP0YZ8XAFBVUH0QKS0KXWER5KA5QBJ8FA1BUUX4UMHSMIX2214UOBF8HUOGHZ6AELNZX482UBGGXAMD013SSV2LWZPVSZFGQI7RV6U6PJ7PSQTKAALS5MTFJFZC9FGS6UYTK49CLYIYZKHEC7T5IME9YV2R5VV147RCRAIOBMH6IPVOVNJXGYQ7EEI5YL6310RMD9WG23YLZNKCYGRW9DHXLGR99LS4TEI4SC1H24WBTYHC4KCC0FBN11L12DBN3CJQNP7DFLOS04SGKPHQ7J2COFH4SFN1F8JGK53I3Y4KF049GPZYP0LF7FL6R92XRB0AM3TLOTIOBSARZYQKZ59AUEI7RB4GVY58YNURRGTUAHFSJAL0VDLDNK1PQPBMX13QOBJW65LSDYTZ2CX9LY5DUBCRH4BN99TW6E7NZDWS5X div 36#406L8PW4TUM5A3YHUUJ1VVT0M3BVJZS2ZG9VVTN1W2HTE2V9FEBDPCIRLKD39VBWC4MAHUJVXPVYKB9RGHF2M36IE9I5QMPPCU1XMY5K2Q7KLWJOAVMPYIOILUONBUIB1MC02UQX6Q7FMLQC7UIK5AJ3. +36#F11WVU9JEAYKO2DOCW96B9789J5771S5WZS5XESCCYPMVKA3QHZA7C5E4HU5KKAD8WCB4ILNNI3R5KGQ7RHY1D13K0UV88VVGOJ8F6WJP0BFIG3JDUEASUIMZHE98B24Q0YWBVXY2WS0Y60AZHYHHA2KKY06QRK2H5E6K83OYK53K4VWCAVIK2FOK9EPGUIRR = -36#4FZO00VLQME6ZVT3DUW8DO37H6CDWWY5MZDSC1SJ41GF7FR38THLS1DYI4T82T2EA07W39Q6MW28MQHO88L600LJ4TLXM6IFSO6S0JLIN7YJ46VBDK08HGPHH3ZN302UF367T9Y3IK0KO9XDT5PJB9FD3RZRYN2TQEJWXTND1W6ZIXRA9CY9TPYIQ99RB7EWLHJ1CJ88J55EZV4DJYL0OEJ77D6CBCKSP338V24L7XG5HAF39GX5OBLBKVRVG8JBK1Z94Z34WGQ3YAXJ6MW3U259P9JFWF2OBKG6OWJEGPSUSBXFEU7V3OPZ186Z601UKCXVDBVLWZUZ3N2EXIBYRTPBPNPOE7H3A2JEGOIQM7PV8PUQE7B0DVCUDF3ZEV0HRPMJAMWHAOW454NU8S67KB8HSXRBT43CPOZO3RR0E5A5GC90HVT6X5UE39WYRLS0MYEVKJSK0L82UDOOB856PQDUVQUU77QAGMUI5WKROBS1K9C2REK7DBY4MEM8ZDGZ1NS36Y3G8MHTB2P52KLQH8EXHN2PQXKY6CL7KM52WUQ6ZY8NSCILL6MONNRDAS79RAOKO4C28S9241N2Q129QHWVW79D40PKK9BOEHI1G97I0POQUHF5W7PGUYBLG78IZYFT2H3YSAZ96NC5GUSCV0OCHWNKTG8VF78JUIIFZHAVJNAHY9G62INGLRWQZME4JIFMNCSKS9DNIMXE5MICK9GC79P3D3UKDWWDTML8SZVVKI5T7113S5MNJNMNUH2B2C65ROUWPSLSXWR7RFIVL6ANJF0 div -36#AN8AK8VEKS268BTKJJGMUM0EI3EAYCFR6P9FEHH0MCIORW6DC1CUMQ3RAXYOKVZE2WPW5W5MDSA7WDCRRFQDQ8QDIG805F3O3KW0QL6BCQPL9WMFBT4RQWVN8GXTACIXR10XA7CJCCF1JC870NS34CCDZEL8D4CPLI4HB7O5MYQE95I3B9P61EVJYNG2MNS1QI8XBJCTU0NQ7DM79SH2XZX7C3SS9STT12Z9O66OP35SA67JZBG0PVFM1OVMABHGVL4DRIAIUXKOS42SNW507NXK8DWELEAXW1ZDFID9GUA5OUJ3PGV2SXQRIL39H9NCWBJ22KFY89RMJ3N2I5D0U4K85H1WGAHFPG4RPN6EBQDNWWMQ6RJ6RCZJWTJT5C3G41W4QJAJD52XJH20WFXW0C7UYVWHODL8RCVJQQD9X0EORX29I5VQDUKZOSJZCATPXZQDSKVR0GJL9XMPJWPBUEQ0L8O5TPOHPZ16HQ616DMPMBFFZ7P17NGLJO2GE150MB5ULAAJK5YDSABRY9XBAXL5RRWI3OCFCJKIKRUO1V09TGV066M9CYHOWFWT58XKENYFW9QK42589RYMM7U6787W5W. +36#2LJOKZH1C4W0FN2TCH4S73H7WW4TB8QSCOC0EYBCHY77UHMVH9SYLEKC0LYUW7HT8352E34U5QG16N5ZDDAGRZUB7HZRTKL6DYLSKP74NHTMGHNNOXQ01ZGBTEKGT3BXD25PBZ2HR32B573OYOXUU3ZPIPPHKFSV04EA9MEHSUUV5E9Y2PYDXYBW4SBN7A2HPDYSMXXT6ZHS12OHXTZ6JNSD69DE7VFAZOLNE14JZG2NJDICNKL9R9J3M8HCZN8XHLEJT2FYW2IZ5NSMOED47UX0RJPAVTWGHASHKY1QCN4NPYQW792DEABNBEBLGHGYR19EGFDU7LKOG7Z995YAXK9S6QMFDPR7RR9PLORIGBT9AW97RRPNTN4N1HYPOGZKTA3NF0GDY8BBNT3MVZT6BM5ZLFE12JG98X8TXE9900LP2DQKWVXPKRXG8PA6DSS8RAWWWUNR5VR15R7OO7R3LCIF6K8FREYRF5SA7YADVNQ2BGYU4 = -36#4L4AW7LOPU674RMNAN1FETD32IGDKI3PUKS96XQY15MKV9UJ6N72KIPNTN6DUAWTKBPF1IOQMC7ODTOUI1H5JR1QLEGKMFUOJSVEY7N9OTFZA47I3PPHWSJAY2AV8GVRLSTS29EZAU7CHENSU32Z2O0M7FEVI0F5UZ8E12FE4G2BZ7INM6C9B0NQ5MX1UN6MNYDM07CJGKQWD7Q49OCTAUG3CQW3GTACKU54ZSIIUJQ9GIVGELJCIEBHGLHSKKET351UGZQO1Z62XFMQOPVPID1PDGYFFE5SNSEA2YKVX05618TO2JS6XMC960E51UK889GB0G1EZ37SK2Y4O3X6CNX50PIK8BR07NP0NTEG5OHW5V4ESG208LYXEDP2JM9RMZS9O750ZOJT25KJOLPJM2D9VH7ZP6Q1GYV651I5PQZALYQN7NVAB40MKB7EVTH0HCWS3WLM0WUDUAWY71LIGXK38ZMO2ZOCE1P1AXTRLQPDQQJJXJ2QHWABZM5UZZKJ1QXPWLSYPF13RC3Z0YDLIJ7AIWSGY0RBV976HAEY5ZOJ8EFSLS3Q06CKW64YL7TRPTXPJL7J9LLB1M4HVK36X4KW5YV3S6T54XC9IYD9MLY61TMGJOUYI82NC42HBPK7OU3OB2GWAS4E3AGEGGGG3I9823EGXK8I870OGXTRCU209B2TU1R0KUH9BZOGNLRWDFFNEPSWDPZO8MZP1P3NEWRCTFUAKB9OFDAMDAHFVNQTSSBHQPY173J1L6PKEKMOY62TCAOYIT1VR7XVOV4SX2475R2Z34E05FM1COAMGB5KU3KUKR93LCV101KCC58AR83FUQUTWXN1K2W4R1UJTQ3XC9AXB8KZWKGNZ75U7YY6ZM2GGWUFTM2ZIOXOHETB51A2IIW9ZC4C4B2VJ9Q60AS6E9UWO8FR529XVJ8C4K8TTDDWDEB49PK6ZPLR7ATP9L95NLI6AMO1K2UOIK86KX94MEKC8G5KCIS6KMDA3W6MFWN1VLALHIO div -36#1RJKL04AHIVVUWAR04TAXOWIVYUV82USMNQD7MQJT26DOF2BLP6P76XXX0UOA1K9BSBD9VXVZMZ3SOU41IR3LAHUNKBM8TJRH7KOHM65TUFJ79WFN788SAO85KXXCE4SFQIUKY9LLC0IW13JKSALNKNYDMBQT1NW8XBGZ64X4OMVOBJ7QEZJYHCL59DIMHX126IY5K53NKK5ZVVLROHX9AAM6QHPX9LB9ZBAFLXIXEODZ9AWP6W36TBFRTTYCZL2GXOJPJUKCLQ7IOMTRBHUK0RKI82GC394BPTC5W93C2SK1JOTTUUNZGUYP4RN495TNN567PDCAU80WRBSM1RYCNXHW9PEIZDBO0KWGB8CEKE3I2QOYGB80QBCFWU6LUVFHC7QI7Q2TAPE5F4KVXDMZNNAKLOXBQMXCZAUQPXBKVLGCYMJ3U1ROK79P0P1DLJ6IOM870ARBQWIT0GNWD45DVWD5KF5QVOZWH1AJKFVK9C4BTODB9ITSK689SKEWX2SEZ2P3VO. +36#2HD6V5ZO3T45TWUKHNY77D8YAHYKJ0UFT374ED0IQZNUFB5Q7TAUAUHIY1BZLJUL9TG32DPTMAFR5SQ17XAT2HP6SYNCPAZ4MDT4N3FO5NVNIG6A7WRWW5EVIYQW3V6XALGT0E413TPM6EUVMQS49ASDSDTN1DJMA0NQEPN6QLOGKJT0DZ8YUOD8JZ4WWM7KXZWM9Z927LTIY2J4F4NDZ6YOAI3UVGVQG8ADNEE5ZMMVU3DP1PUQ1UTU5E9QW9MUW7PSZ5W3EK2I2ONBCDL7EZUBMZE3U0UX5Y6Y0UK2C0BGOJ0GRA2NL5DOCL3R3STQR8WSI80CREZPZGKULRA0R1J1OTKET1BP3NBCRUMAXP3CXGVIFPYUFJPICAVF0PQD8R8Y0UT3QJHHMKL8FAR0VD10JNH1QP4EAR9Q0OKVEDC40EMLM0XLKAGB6FQTVFHX0KF7UTRA1RWTH8BU37ME4NACXXWHMTMXBVV7WHYUZZQRVET2U0JRH2DN1C152X06UNZQXY7O26664B75Y52G5WMFHBFI2LZ5LTGPVEC6SFW15MFV8EKTVU16U8ZM4YR6SX0MEKTPHHPXRGG0TEJCZL3XG52O572262SQDTA6AW7VJSKEUHUL0PWRMFO78EXADVK9R8COCSISNT2LFVRIUEN5UKV25OTFOCBCNQHZK1IO6CX4JK7PFP2BLBDB7Z30T3B6IATZ5G8F9D1AOX03XCTUR2MG8A58HSP4XK4WIHZXYNLZ9714PQFYYNPFR4ETUL8BQFMQ0L4EKSHJRTQZACLC8H35Y64ALUBZ6AN2TFXIDSY2XVCM08G6UZLUYP0EPBXAWZC4Z4J3MC1J4GL7RQQE76MOT7SUYZ8WNRL8ZJEOS3I4ORS5YTSWJ2Z7L7GE4S1KZXO2YUYI6FTQ1H40ZQR9I8VLWMRK4XJL0QM15MPUGYMHOYPZVYAG3SLYWOB02JX2AZ0KIBRNGSXIPIVXIZ5B8ETIBBOL7RBBAD0P5LI5NMW4203O8RPQMD8YZVOCMFRXPYMJFCYCR4HQO = 36#1IU4R88LN3V987BFB5R0ZAXXY29R69AAWZSGOG4XSZPVVVUDVPX88S8NZEHW2O93CRBNLDQ8ZCBOLWMCXLQXEBUUKKOVRHK6UUTBN4CQM8XNBQO3X7ZRBRTU2PLMCHARK8ZR9HUDDP6RSBA6HZT0939I6Y5YXREEICOOLQCQQ84SYGIQH9BGW4PFRVMJSH4XBTYYCBLDEVP8XQZ94YOLY7XARELHKHZ4TRKHZ9LOU5Q2H71TJHYHY1GDVBMAM1JPDFBJEAO0VCW67VWIW2GVS1GK71UOAE5801W55COMCL340YPIMQ60128BNI4T9C77EU6O7AMTX66RANMXFMOAFVXHFGKLRT2085H5VZPBPU3WN6ACBB322PX6F7M7CPU44TTATJMAKVTC8JH0ADLNNS42NIKY66BV0I5U3DJI0DGK1LRDDUDAUPPPWRCCSQTOKNLH7R8X6Y85WC4KV783GAVMYD4P73CQR3LUC2GBYCEWA5MH9Q470HPAT07XW4SBLBOU2C2B61FGOMBJTKEP7ONDKM3MKET6B1WBTCOF6LXSAWQQN9GO84W3Y1GJZYTKDCALCQJI75YJCN7AREI9TKK3ZO8RQDFO1LOCR4K3CEHSAHYCKZ1OTJFH6DBZLAJFRX6TGT4ZQQV27S9FMSXDLGXTRM5DK6RZHK9631SZPJW7DYHMP3QDKYHDKH0W * 36#1MO21LYUW53KJA63VA3RPWSQO5NP8R88BDLYHC95VE6DO4RAX5VTYBGDKRAIMYBLRTXXES5MFU32IAV2AOI0S4O88BRSQ6T1CGP0FKTT1RZPOX18NY27MEM55S2ABYPCNGAVUO26YB0PRBCZYXX70ACF9N8E2JW3SY3PFULNO0NZ71MFOQHZ5XMTGTCBAWVWLGQBF4HCVQNS1SMVFXAPCGMY2L6VKGXUII9MQVHSSE44GE5CQMVBUSR0I4NTZ38PM1UFMZDE8TPBCB6DUGCYKCID4I05ZTSLX4XBMS0L6MTDBLNSXR3RFMAXW2EDQGEVPAQH7AFWPNQSCWB6L6XR33. +-36#ASI8H4CTH1UMNKX1D91WR29UPL58YMX01KQN2X7V9NW5UDH01OTTTI43VPL9XVI27AC9O2GZLKMZW0OO2F8M5MEJR4NXAXKMUQI3P4PNCPCP38ZSRUB2KO63Z4LXG8TOH6U54MPOCWI2X17Q996868JNU5OD013STSK8FWFTYURR1D96ORRNN9L9KC9JK16VVDT08PPTTFEATGDG4WH9EE2PUWI61TAHA7MJC6GSS84J2244ZERV32V3O4TY1NDQVNFWF6YJIA910I6951Z41OVK8F1AFEIMWNIIS2LM7A1X6RODXOBGS3TX6UUM7JUK5WBOKYFHPXJL97H5Z19RJQZST02ZVWCJTIV2PT3MSN51NCSYZP24L7G18CN7VOD15N7EKWN31VPX5047XSG75ZM5CTH5QRXIDXGCA0RQYS7EJWKATZVBE8610X7G50WIQ9HKWTGNDT4HMVWPKXTGNQOKCOBY3QATC3PIJU138BLSLMRV2IJRQ5ZWHZ7J0RTRLC3BUBD28LBCQ8NWWKKHQ8XOHF6QNOMV8YLL0HB28IRO7P6WD9BTE4N36V5AGHGEO63TWUVURQ0WX4J77SKIR7SH7DDIKG5FA7VZC9RV1NV43R79RGGCJ6115IN7UB1HB1087V07OFK4J5CEKNB5XEJHLC98GJ2PEC03WTZEMJW73QMIGMEE1RD8H9CDFLWJS66A1AXWU7LPOJQFCATY1DF4V8R4NQAJSTPTI9I9LCBWGOXVKZ2J5JAV14KHUMXUNMY2Z8FXC9YR52Y30IM63MTZIX0TEYCA016WMXJU6E4J5XCXUKRJLM0Z2N332N4T9TTJY5ZOQQLLL4NU5VQ9JVH3CNAK6U9RFWHLNV7IHAZGAORRZ4LMKADPX5BY1U6MKRA1Y6M73C0HBAFUUK0M7L1XLDZ3RPBN1GUAHMF2QL94YSTHHI5NGR5HJSX7CM3S43FO4L03LBD5YLOHWN1V43UMYA8LPEG1BYDSLT8ENI8VT = 36#35HZQ3MVJ9VSLPL3ANRKHF7F1SDRRJ1LSBLG5JIF53JX8N7P3D * (-36#3F865PL9JSLTX37CYU5FKUMH6404XTBB2W9W53S38IHDCD2ZKOPXYBR5NS930YYUJBGFXAX8X32VOJGHHLN0QAV8XDAOZXX5SPQBDUOD64RH605KDTBA1GCUCA4PXPMIKMOCHY8GEHQC34ZEF57I8VVZWSNZV3K8B465ZIDUE37LRKOIOBQOESSLE78EEWRBBAHZNNI5W8OIJNTF2JWQDD9EP3B3RMQTU43D52ONILEIEF9P5ESO8MQK1PE1C64UKEULGEV4W9867VZ341WQ32PRVBMCT4ZV6E58JNQ31M6JC5MPI2UIGF0CX8N87HOO32V53E3BEF2F81HXJJEW1X1BF74L04L6PGCQ06A9B82OG202U4G27055VCDWKNFAUI6MJ0ZWMU4VMEWRX1YNSAUSUQULF1ZICPRKY29RFP2DEDPZJJRBLHRX1KD96B2X7W6OY9WS39SWLL3GEODNY9U59GLTU7AO69BNSDI1Y8P7XVG2C9P82VZUCKKZ97JHB4NTAT0IQ02ZQ1UUASGWO8DGJMA7QYQOFV3ONPGQFNORRE8VF0MBUPS922OBHNTZFR0X8BLF5ELZQCSZP15MEZ60AZUXXDESBKKWMZNO0KP8JE77WNQXL3NJTUOU87MG5C0ZPMO0NADSQY7KS8UTEPDQCJ6HJLLOA4D4LXW2GISLA2U5VLKYGEEC3GQVGSS18F870C2D01D3NBBI2ZWDIY0GHH9BI9NV4V66CK9XX57IMLVT98FR5810I5LFXDF6YGOPLI2OJS8LY6T9I5MSDJR4SU09VAOX4WGRVUL2BTOUT4BJY7RVMX00UW86XR5B263P5XFRXBUFGD7FGSV48TPMQXLC1WA0C5C24AJ8ZNNHLTC2TF5QWGPWTHYYS3GAI8CUW1FRYAQZ1ROS8NO5Q64L21KVUBKK7BOYO2PUSNP50G8N12GKJO9G81F5). +36#248RJOUDMD2QD6J3IYT9B3528Q6EQSXP1CGGYAGA4L5XESZ8KC = -36#5EYG0A7RQRYAXLIPGBEPENIDY9RCWYM35JIF6NU7RGS2WVRLDHY6MCBNKC6ICMY3OV5TQBE95EJBXWLCE8Q1G3H1RUNPP06N16I119AZ69Z1H5PQTPPLXY9WBDNMN44UJYII9KRHWH5IRGQVMJJCOFTSFC0G6V3WFO9FCOKNDNQIRHUNMT6WN3WX7ARTJXM7J0H1JEVYLVJ1HBGFAII38SYZI0T8NAHPIG2H0IFMKOTLUI41N9ZN2F8ADWVUBUEDEG20U4IVDV21MGURWEBA1NJKKIDXRMUFSP6ZT4POQI07QZNCK4F2CJ2NQQYAOL9SS4AY2D01CHU269MRQ00LNG79MJPQACBESE1U7LVT4N4JS33T644B24SPUTIEWCTD0E7EHG1RPR4CP9AXLICQ5B3G7TWIXPSW8AGAGYO0OX5S3TZ8RRN1AJEHXL1RUYJ7JJN3JHBWJH07HTK8FOZIGOKI17SCGIF21MVPSJQQY6YZAWPQ1JSIZHGQU3BASZTFHY6W97HRALKUE5GRA6REP6VPWGU0KX43O4VN0NWRSA2N4XAZ48ZHLK901N0Z3G58L8A82W3JOJL3710XRZIZAJ0SHK64W6PPSKCY64M7HWE1PB127Q4L86JDT1NR6GZQPQ0QYFGFHQMDZ5HSEUBPMELWVRG7XH0BJDZIYJ5OKCI87TEYPE5FPNPSE3X6P3MDX06GOM3X4E9EYDMR5GIAXCX6MT6WMM4MS7YJV0PCVPCIMQPJIP264P9520EGGMLL2ELTUWRIZ2YYGW0 div -36#2K1WR3U0AV7R9EZJEQFVMMS4YV409UL5VWWPKRVJWYY3V1BPGJLI5UWKKPLXOURQ76RCI7HJACPXN40TH1UX3CSGZ2EIFVDRKB1K7CORH7767FLXXKAHN7HCILOSTBNU6UQRZ188ZM6ISO00HHNWBD5SBP2K0WDOWYNVU4CSDS0XCV2BCDEK0KPJ356VKEBYIXCUFO5A9HEDQIVU8KWLKFX7JZ2KWDAY51B9K76G7JBPT88DW2G18DDLBF4KYZ1IPM4RT6H5B5J11Z6PE1GER0JVH36DTP78UW11NMH1JZP5EVGNULE2BVMUHPQ2ST7SFUJ3R8XRA7J2TH7MDILKB5S1BA8K7P9O5TQJ1CTLADYRWW45E0B2NF9HZXKDJPMN6JDVSA0B7OOHNU2P23CJPVSWJE1SFG4JZXKF3NX5E9YSTS76OW3B1YQBF7IKRDR3OF2AF0CMCL1RZ5M310JBWUWWGXVKB1WEL9TP7SZJYLS0CGL2XVPYHKOHAKGUML6A0K7IWHMI3U8WLNSXBOET0XSYWBO2Y3DX5Q26GLQJE77QPR5AFO4LOAA318RZNC8LLT4FCQB411EALQ69L17VM0P4RSYZ5QNF78S1WPQWS41VCD3JORLBQIJ10FY1LWAFY0Q19UIC7UGUD652IWRXKW4WJM7A1ZMBJ7WHM5FNK45ZF6UY771R7P0R4UMU5MSB8WRQV6WN3IJ782C06O4GGCHT9EB1MO. +36#28PYTYGL28KJWHDQ72WYLX4ENE6J07I074LIPSEVV0VMOZWLV1VRVJRLWBX8ZOY73TDH3MOCWB7IRO2MH6T6C92AZGIA6VDTQHXVBP663MH78SF6GJS6O8MWL65A2V3RHT5CQX9Q6HERXRM9WUNW9SYOPH1YR7L4B = -36#1A4NAOBR8PJ106U59D9JW7GPC0ZSXN2CQHWPVEQXF2LLBDPJ6P * (-36#1QZVD7DELI0DSAVG3770Z76EGLNCZD2KKVMU5YP6N5SY8QKXY0KDPI24L784GLTPQQ8P8FFYCP9QT84TGCCLRW5TGJ7L2VQP12XRISK7EQMCAYYZ). +-36#BMW4Z9PTO5FAJX1BDRXD49SMFLXRPJBFJTQXMIJ8P3VHAOJ0WKL9EBH3GBQLQU9RSG76T3KFHW0BLM8OHGN39H8CB978KV33L9WA8HWRNKWFA8CJYVZA7FK544HAP9KSV2JP5LWGO1F0274AHBQGWF9X1TNM3WFKPKBZXO0FOTV34IV1B4L79QVEXG9ATR41GZ2IJ1KS1QYRNNZHRFLQI3DYA99DTOUJTLIFWQRFUQYE3VYIX8SERNNHW7VTX3P2DMSXKS4MHAC7QQOHASUAC93VEWH4UNB6NCWENHKG8ZCK8MVCCAX14X8GSHYDKF4EFB75DECY5X88JKUXU07EEP165MSV6AMOJ3QI8ER3958EJAVDVEDJI8IPKS4DMKECJJO7NFOD9KML7TDOSE2S33T86XBFOHG2FQ166N8NCQ6YK11JQTECIGSPH3SBIIP2OZX8UUII104SJ51IQGT2F3XCABMI8FKSSHH41LBN88XZ0KW4OBS2ZBN3DP3NKJDHRFZIKP7ICADD8KJ3EQ6ILZTX3M36IL9UZ6IR9F2PORICTX19VAMEGCV5NLHPNH5J7HJKDL1LWPF430NHCM457EO0 = -36#4304HCLX1QQZ2MEH8TPALL90AB95I66T0XZMKQHT9229FO52USHL3ZWS0YHLRLGOQ2USK0C6UX5SNM6OK1CAMAIDMZ78J6ARYXC1O5H37WEPF60OXWF5R6AVL75PMXWXUBAZD21IYKHJEB0EK3VGOHOHF1DJUIV42KZ9Y7L6VD8AH7SRCETZJ4V87HHDE0ZCPI4JNBIO0NJHXR6L1AXYIJK2U3TA7X8EN67T33PD6XB70GGU8VEO6KJHV5EKVVSELI0W0RLTTHMM7XT1ZHU9EYFXOWHXKEHA7OAWAGNCA0UANKUO47LSFAYT4L8XWCNSGV022C3CI94WRPAK5P2GSJIJY0D7HG49STHCP4X2BP73VY43VRWM19V3KWNNN36ZUWKPP723S6P777MWXW2FK6ERPCVFC7CAMJ0VO20CP4UOOKZFXXP4T4RUYSLN8BGJUXP6TK9EA8C8RRKX0OQ07CNJLWNSQNVVBFQUT8VC7EYTGAN920I4AX3Y3Q1OMK77Y1TDKAQ713KJJEPS5WXD1RXLPAI720DAB55OPY0 * 36#2UL0ANGWP1E6RZSEFQIRMXEIB4L4949EMHC7S8ZFM0HV8P1WYO. +-36#J4EGPKKIWFJD07T6Y1192FNXRUTB184D0TF0GQJ9PFBLRWJ2X5UCX84QKNWY5FEI8DWKEPQZB92V2AKXTSQ36JY5O98B2V3P46M4BJU2K7C8TE74G01CSP0QZWNW89WHDVJI5F5M5BCNU5X2H6HV86AAWVNTH1E7P9SCJJFHKJMC6IVDLR1N89CQQNX5Z24C6POMRKC62S0YH066JK74DI42CN1C6TVM1O7F68V8UPKZSXVWDOUGYXL6KM9EL4TUI8HC96GTNEZD6KNL9W9FTW0YPKFJ5SM8YAIX02UOJIOE0LCS1QQ9W54YIK0JK6CG7PPSP698UOV4F80QEB6D6Z2PR1RW4SOL7BNYQW9Q7HWFWJBXMATW0PU9UB450A656SJL5ZMO8N8D2JOZDPAOZOA0AUV17Z2TDI6AAN0Q5CUQCT0FZI09LAJDMVXKMCFTJFRLLR1CGUOYZUOIWPKXRKPSBCL5JY5XK8K7QX1A35KKMAF50SJGTHXFT0XQZRZTDSJ9O9S40JN6TGH8J0BQH0C8FWCT2MJFJJEGUY4W85PDYMDPLRC5E1ZFVQ77CB2OVJIHOFNXUVLSKE96NARBCWLSEJWZD97D99K0TVB9ZC = 36#ACUAFK2CGQH6XH5FCKN4VGCA5F4ZO6JDQNUH99XRKGLA5X1GCJX2J6S6JATA9BSPGZRKKV421Q98ZXTR8V69JIY49473OALFYT6TV958XSDFG3A1JFLBKS1PE1YCG2FXVQ495HLXCCT162Y6TUPTLEFL15P6ERYABZ7S65YII2O0S3XUNHAPG0VNFI1D0TZQDJDW3EQL3PCWEJWYYEEZWYT073X54782W0XHK6VS9XRYWFZJFIPRLDRXRY646NSNSDB2FKEN88U5116UPRX3Q2O2VV9JJSM9MWDPR7R5FD7JFHZK1J1BQTTRTR13OGMVYZJERFCETHIAWKXIY4VWUHMN22TMQVTBDHC1B0PXLPKIQPI4OV2HEVGZXK48R2OPTHE2HBC0KZGDIO3M1PTOW1WCYWIKM76WUXTNO0GAC * (-36#1UGW2GLKNV7GXFPLJ8UPW7B8V4ZOID4R16YWOWXDL5S7UJX074MQEV1GEEOUT7BYM15A04TJAV2QRSUNHZBBSNL2VBUCUH5FTS4SXKJUYAS5QWT1IEJXXXERD02Y3V12T3EVC0YTAUIDT13MF1XZLN5LAJS1N62PSWCN11KC3NGAGFXT0DHJBMYW9KH3Z3Y9TM). +-36#2BZR8KI7BLWNH8I4CPSELBKFMDP2LQRTE0EDVVURYRK82DVVHU = 36#9BV0TE30FWWLBMT2E1FCVTJUWP6XL9585QXCKFRD2SC9Q2L4KUJOXKTD7615JOQ2M2WXPE44QYRANIKGJLNWGL0WSWB4XY0REZVGUR5XAND3215JJCJHR8PEB0B1TJYAI3E29J89RKUZSBA0Q15EIOF32G24USX15QB9TT9UFEA0I765BH8U1TS5RH8JJ6AUVPWDC09YSZ5BAHCSB11WZFY40FLTAIQINSQYVUADLZBYSX27SA13CIOQ6FB261Q2NJAKBJL4OYO9C9XI2WSV6344OHYA2UVVJCPRRMGVWMWQDCT7EHN2R46CJAAVNPTDTWIYOPOZ7ED667UTJE0F0664PMFDUWM5BO8UWGN21Y3O6CVDXYEBH4RQK9ZWGB4O4J4H1IIO89SYGBBJ0BJSSETTFJHGERYASHKPVVPIPAW73GUEYQA4NZH9Z6MBPCPY5NKQC div -36#3ZYA80FTFHBUWEY14C133UD22U34E8B8G0UMQUWM7EK80WRGND1TEU283Y2MHP3R6UUJJBN70UTSXLB9AVZJVKSHSD8LQLFGE3UJHU1ZGJ74GBGO7RDBEI70OU5DEQF2OLOEDD332WVEEL75U35S46L7BCR3ZG0MC2R5NZQKKWTM5QR3096RRO4D18LO49YE47RI8X4X3FY0H6P1T3XLO9H9C1YAIUCFGMWVCJ3ICMYPEC9YVASEYK459I5RZPM1BXE4S88AGWE7Z5HJ0GMO6PXQFAKOCP7GCGLXJ18R1Q7FF1TU27J6PP3R4GOQ9S985FUZEMWSKO8EQARJHL1ZEJGMXL4JBPMLGWAGK3VVDGFTA89O8G94SVFAXM5JRDEI1TB3SHJE3KP1R1ET171M. +-36#3FKUVJQ3LR59NSO9QAUXDJY465A2V1FSY6K5MKLBHQ2QS58LK = 36#8AS9GIQ1Q2MEW8PNW27EQXXPAAJ2CEEXTKCOJE4Z320UQLAWR8T8XNK2XNSJ882LYQ3TUQYJKH1QIB85VG4QAN0LBQATHNUFF1ZM8E8IVVCO2XE7V9K div -36#2F1EXLA3R81GU7VP79SKMJPXA8YK452YQKURX6036MQSPON9I2SI7UQH4L9WZM623U1. +36#1FS7IAYPJ3UIR4ZVQ2OH90L76SGCEE69PHOWW8JTXGJH4FASAZFETVYTH4ILMM3VCZ62GQVZ1DZLMY3FAJNP1SMQ6RC93EL7BD0PJ5WEBM8MVNIZB9Y2SO70V0JEN6DOQWH4REF1WUE358KFSCJHYKM1PB09SF6BYF1LZ033Q5PQQSJ75MAED32HNDJYBZTK17A41YLM2X5WPZ1AHAJQS1Y6TO8YSHK3XIODGIS4YDM5VFN9VGGNXE5VERJRZTOYUIA5WED9V63T6KUKZ8CH60GW73JE4SUSCXPJ6W3IIEGNNRG0CQUIN1CBYRJV4OQ3G4XUC0ANHYTY1VG8VJYXEGMK360C87NWDRMLOOOMRRADILBI1Z745XVTPV8WJ4DKTHH376ZJKBO9CFM6O2RTZ2 = 36#J1MUQNDSJ8DLXC030VMIW23D4RQEA1OEPNDGR9L7B7VYG6OFZPJOWXJN4BLYS8JFKRMBC73GPYKGA538KJRXHM9CBVS7XWBN6MXK1CFBA09RBS7TWDGPD39ISV5JJXMZ2RRNUKRX30580U83HVROVYB6DVP9I1NUG804V6N0OHW72VBF42N4S1J5C6O7IP61F99DZ4IPGGQ6WOZHQ20MAQGJQ2WGGG99H0ESO8WHYS0I0TYOTZ035SC3MBNH3P96ABFLDLHHDZ18S4S5AZGHADTQ00HIDYJHHT30NH1GGL3YQS5DGBTTQBYZMTCRWAWN0VMND09PRUNF3U2JLZMX9LY0E2AGRUWV8K8VPROYBC1SAUBFEWPA4F82R1DJNF0FXRTD7US77BS087AHTM97IXU4PZ5M46O6GW3P2VFLIIONREB3J58T29GAXGO09GI42KES0HRMMDC8WC84OMGWX15JS7J52JWWS2YMP4U div 36#D8NJRRJ1WV0QTSZC53YMT7FIMU7Z1IT82XP1OJYC5V2ZH8INRDZMQYEQG73SQLIOMD07EWY80EQA7UM40X. +36#1Z1RK1M9ZKI6J2HPV2XM6PAH9QVR0WA78W8PV0UZ1J2V4FI91E4DLKGRAGQUPZY3A2J9FAA3QR4SQT4Z5OOIE814SIFGSDC6KLH7V5PTH95EJ8HCTKY1XGV7JUGF5IA2VN1PIG423PNLN3352SMOBE8WBU5T9O5ROFP36N61FY3BU86NAUE1ZL91PDSBGWYN1GLP3UE9YK9EH7YZUTAOO0E5M3NUBSERM7V60LJWUSLC1M4R3IG7ML0CYO1II3PX78K63KPLMB976UFRO5T68BY4T9N3WUHYKWR687P11HXKMFNMW32TJSPXTKM1JM146XBPVCXGAZ2BXHZ76NR6F2RV3B9B4UE2QHWQ5L7V1PV9TLM1YW7ZLSGMJW9XRPAPGLYSQCVNMY1TKJDQZSAJNJL2RJK = 36#OJR90JB0YA7PHB1XZ0IS97811K7XS5SHTEYBE1RE2QI8PO3SUVFJJZHWOX6EKBNYWOGYWLVAN1P0VYMZ2E8XR1YYPV47Q5IR4JH7M60FBA1BBZOHSAKIA857B1NMIG2NVSV3PURP85QX5OO1I2II8A6C7GCLUVOPDRE11PE33O4D1HT4ETUXFTFDX3ZALNLH7QA3KYD64RT2GMQR8C6UXHL4HANKLLH7ZA8DM0GHBTLA9O0BPONZNMNMG82VDPMJ3LJ1GKKIQBPCSHHQB5W0C2AKS4LS451UG9DNSX0PFL9WI3ZM3LPR6BM3LPXTO8NJ39G4TSVJI5SFLT7UNR2PMV01I0Q4HIB9XDO8EU3KCW * 36#2W6VL6PLWEA72SPDK28ZW1O20V8AMV8CJS7DRB4AP2VZT4INV. +-36#9D0GZW1FQI46WDS1LFZ3DLNPWREPJB57ZVXPUAZ0688OD1TNSKYQT3TCBAFZKB0RJZB3VR6DR9WUCD0STJ3AEX92KK6BR9WJIZIMEI6KKFOR14ASXAA3KBK9E38XVYRORYYFVHZ7TZK3CDI69KEY8HEMSGIVQNF03HM6FA9OCUH76NT4SSAPXBILJ6JL5BKQY63CM023JT0IVIX79CUUJR4YOIMCQAAX2H6Y19W5GW92BJEZ2ZGTYC1AKWDBU5ACY9PU0ZLHNSPGTLUDGMST3ITTQVX025XG5POI1A5PEVRNJL2F1RSQD7YBV3WK6JC946O03UP8LIRSKR1VM1PSI2CGIAWKPDS4C6K27XXJAAJJYAPCL3J8DNFM5Q83JCDHTCW9SIVBHNUJBGCIG60LX1EZNURZOQ2F9BVMQWY0BGJ4OXYQOU4EFDHE8T3XVQRZU9HUW823X8ZO0O2WT1S0EDSZBVRHDFIO3ZFHUCH07DC78ZCIS70Y2ZMUDTT2BQ8O5E5HARP9NYM6HZWPRTZSEVXZW4Z2YU2S6N9E3XIDORUK7I48ZC4XQXI2IN9OM3JYDXKIJWK2E68RHVPYTD9ELJ926Y2SNUGIOPZP6IBRUHT26EA7WRRCZPVP4QXVTGNQABONGQ1NQK1OY0CI2ZMLY518KIH82WV9J5AOZDZTG50TTCQFWQUO3MM00MBBJ3UKPU0D73WZJBDWPE3PBPH95E1EW5 = 36#9Y6TMCKGF883PZ2EBFUFPTBCIAL7FMBIIN22OB02N4EHFFQPYTH38YGSKWMC4ASCDPOZAGRGB78SR9U4W9YAVEM4VHRLC11BPSLHK3RL7VJG7K1U0MSC7JXGMO76HWQRMQPMX8M29KXJ6JQMFQTOY85Z0HTOFOE951A7X2PBNU9QR1ZR5XS757M6NBF14DBB5TDZADFBC3YGADY5PTN99E94DVPVOK3TV07LUXKBQWFEL8Z1WFRBS7T15BJH3K02UTECW46WQGP9I6N79V3J6HKYBD5UAH41YDSZUO6GVL5EP6TJF0OONNTEONVG0BNTHUZZ2WLITYTVP9EV96GZT2JEKSRFJG91SRST6A4JUS18U5C8EH0XN16TSU5KRWEXG0CCMA6EHJSLGVI8EH5RMXIKL0Q0ONH09W6ANOL2OQ8B21D10GIKYI4K5O6XT9INOG48XYCJ2CIB5YB5S4FNF8KNTOEI0KRPPRL0ARUDOR6G9C8AC09CE57R9PC85WNPB8SCDJTW7IZZVYNOTZ1GY6USMWBWMFKEIVPREFYH8T2X7OSO24Y4M1R0K80PQTZIUSOKYIMUSX4IYP332GHYWSS67DLJBEZ2ZGLMYVOLXZ7OHVNZCQ7RGHOBNUXSAT96QFI5Y897SIKRBNL6RD5PUEFE1IUAA36K90SSCSI35 * (-36#XVDNYP2GRZAEWAR95516RGAMNMW4NM5DIR3O1UWWXWYFF7KD1). +-36#AAXYVZLTAJKSYMXOI0Z805K0MIZN7UD47L3AFJNSUWN344U7HJ37Z46443HIB7SUXHQ8W3ZUYED6MTC18C0E4UCBW0SZDNPUJG4T9U0M8IP7W3PZKBMNIA4S0UUQ447X18WJ7J5VPQ53AALM2JTBO7B61J8UHWYLXM96E6T2FRU3LPHRCYFJ7OSVH4CS79K8OBIX5URI3TGMMG3NM33C1971MQ83NMGINTFGL2GA8KAG41YNBCNYUOZBJ58YRVXGL0TM0WJ390YUJ2QG7AX7ILF60LSPQ6QQVE4N5TWR5TBV8EE1S3RRAHAKGR92CDE1CB52EUGBI40HZDNE0DS1K0GTJA0QXYU1XZRXVIQ29OBIRGY5GJCI56MO5KFOOY781RNF6VEV5GSOC5PV7EKNIJ5UMS29140ZAR2YGF3KZAQANDB65EI5MECSWUB3738IR7H7T6JTJ3C36X8Q51PY5E9O7941CHK4W68L2F1IE85HLIZMG7JNXIWEY5Y3THZ1BQIJ3ENWMQU8T4N6PC3OCH9PA0J8LZGJ238CQW58PRS8ET7T6X8B11FCP2LFLZKARFT0CXAFP0RK8JJ9HFE9EEZVZDSCJP6TQF5PTLB6AQGM2E73MBWPB4E1GECJNSU7GBDQP5VZC9ET33Q52AS6UFILZFHR89LQ92T6RNA877VY = 36#38LOR2QXOS6742AR23EQB5AY0DGT9HHCPN8TSQ81BZDUUZLTCXI5JZD7JN5Q420TLVVAZ7BACBQTL9PCZO4PD3PK4KC3L7UXMWJXPWN9ARVX2323QWTDYDY60E80LFVFURVMA3J4TZMHAJDVEKIPE2DRF1G0N9HP658FRQROMANSR4PGJDPGE4SMQC8K15ZW34XJIFF92DRBO0HV748AIXCFA5N7SFYT6F7V7O5Y28GK1DZFMCWRLUYMR0L2L9SJDH9Q8RB5LYYC2PUJQ25VFYROVO4V2QQQKCZ43819DU4P3XBOC1OW09JWOC851GGDM1O0DZUXGFS3337G3UVUJF1JURG7YOCNRFMGWGOPZGUN3NLANXI0A7KB582QQ33RUJOTS3951M9FW04J8TQE70PN1UCP2NGU73KZA62BTC8RWYXKSLIGU7S27KZXQM6R5ZV4WA8Z09HN2JB9401FTOWABCZOFDRNW24HNL9JPOT4BW89D8R1PY0CBNPW8DUREXF4IO6B8V9Y13K135UYEUEEY3JHD85BW0S6H2SV83RK66TUG2IENHVXP0U7DAAY4XUWOVYAOBN6TOYCF4UKA45OH3525DVXFTT85SK7YHBM1TDYE4K129F75WTG3VTTA9OOAGQYQXZMEGGB61N5V9GB8A5NKYQ5I5N13FTSME1VQ1T7KO8F8X15PF3E76DK9YMP5D4090RZNPJ6MPE01OFMBD81I952LEBOZPPYM6FU5CZOQJ6EUGKUDUO5WHJL5S04Z4PUV3A9TAXSJOVX4O23P9DNKY81M4Q43UJZ607LF1777O4VBFGPPMBOCP38O69ZWS2G8OJEFUF1SH7AVK29ESA7QG414ADHJLGJPN62YSKO7KUO90KAOO3XXQIPT4DOZILEGMVJHH10Y236ZW8WEQDV9L17RFFO9MJ12FN3RAJVCYHFKA1PMDJNDV3K59OXL78S8THE8PD8QFJ0VY4GWBWMGSER80E48VHTD6XL6YYUQWY9MC9T8DYP2IO7HBEAUIKJES3OVL3XN0O459TXTOLQLESCCSO7CMS45K9C5KSA0KJ7Z915O2X74ZTFFM3BN3Q1T1BZ2TJSQ2YNY9I7Y3PUYA0R2TTT3GRMA57H1IVG583DDSNGQO6T4802GQ9GYKO4UR8R2LWK4O div -36#BBDULURCW5H5B2WVT4MBPFH7DYRN9A44I4FTVPJKGO8PSGL00J7R0RZ2OYFXA1PU1299MM1RF36PZJNECC6TNK068WA6EKF9C9AZLUE2442VHT4222R0MSBQAEC1O8NU5FJC9DXKM4HFFF48QG0TZH0SV3AZ0RXU4V405OBRWROW1DN9C93EB5ZQL99KOTFAZUP5OL8UVURD6V14PLJRECQY3CHSP7XNBA6M6HNI11L3UKS4AMU1EB8IMZT5J9A8CK657GM3AOU1HA6DEUHP8VIO6XEZUPZ843GFW5WTVJ7N7JUYMSKS8VW2OKXPPCHDHLIPKO0Z3JSHOKLQSOUP2MD1BXG30N649FZSI60VPYPWIMX8FZ8NX7UCNN62BWGB8G4ICRD8HWTGLWX05G7GOBWBOHSUHGYSSHFHDD4EXQ5ABO5S1MEVUZ9C2OQ7B2O2YBOTD3WTFOYHFWD74JF60ZRCHMKJZ6AKBCX6LO. +-36#4TN0NZ1LIMM8BAC3HRM30M2N0FE91QJQ99O0BOEO40NWD4SMHLX47YA5J7RVCJ3VIFLKMKSWKBPICPM056IYCCQJYN0RO7449450C3NLCY2IACPPMZFL2L55QW0PP7JPUQK9GWXVN81ZYAE3Q0ZPLNSDIBW64T8EOSI52ZKSCDO7YPW1L5 = -36#7ZFY6HW4EOZB9S2YZM9C7UWEND0WBU44S79I59TCN553YB8F67IO47SQLOD43KVBI5LD7228NV1STQL45FH8I08MGBBOS524FLCWX51JK2A100QCZIOWMF8UCKLORGT9A5GF6LHKN2QI9ACPI8TVVKVQ1E3GCCLN0P85H56OZ2J8SMZSVQZCLGS0KIBHK8DN7LNTPCBZ3AQPTNR398BTCIQRP949KDYYQZS div 36#1NLEFXPS724HD9RM84XQ1A8HGBKLTREPLFPN35ERLWN7B9AX9K. +36#AA8EFJLXBDWCDDSBAXM1OPKCZQ98JNWH2BV9QG0565RUEKAZU = 36#RATJVMAXD5JDKEA2JC2IU2342247FRR5FQFY63C5YQ690QUFSLKDY3S2J817QM9US15JNI56VLAW5T2GIL10EYNYE2VTJTTMTC div 36#2NKCY0EMCCN9OZAR1LOFHC5RG9Q8H6RBJ4Z9U3ZDWM6EMOJFJ4. +36#329Z2611680VLIJI8P6S8U2Q2AMWUW078YPC0FTIFSXL384VDT = 36#36PPBWZZFDFLFREF0VE5TLDCCUGI2MJ6ADADTK9FZ3S97A4408RUD6Y607DOSK56G9SJK6OC10IHYV82D4BIVH2YELTC1U1DUR3BXQCZ9S013MLRIZXA6746CG0QVJUL19CL36DRP1LH0PPAL9UGP8ZVZPA5Y0RT0NMUGLO3XIE12LKTFDK4CVQD3EPG6SHTRAL1F2FPI9TK1ULQWB7H3UQ4Z0612IDPHIQ6NOJN3T1Z48L5E45ZZFZOCTLMU16VBHAAZJE211KTV152X69CXYUXDTWEBF7VB2GGENTBC6QMTZIKA3RCCZ85IM2GG918N1RYSJQ2K4FIN6OVGYJ6YV62YEPQQO5OFB5ONE4BM7DW5ZUSMYRA2V5PMPN03SYBUJ9O1VSCRBC9X4QB3H6DF7CNCCS399VHWQULWPKP86PYKVRUWHMX5GYUK5S697WYRVU6FHLS57UZWD1CP91WAYY93HB46YC0PJ58AJIS31RLRXY5BEHDCZ2ILC7ED5X16OW4LIZDGR0IB6AJ4SAFO4QC9VI8LKGD0G4YXBLIPQI1E1IQE84Z0Z75X7MIGYX13I5Z4CKLV2VQ8FW4Q0U6ANEK7DCS255BHX2PMLK6GO9B2V8DAUZ0PSTF00OYHHECZMPADABL2CGK8PENUK049WZJMLJW768HPLCK0WKBHGURLKYKJ8TNAGVBO1D8Y3PN4GD54C8VFX8245B2CDOWP6BEJCFIDEW3RRAELVNM99P6L4DZPR65O2R70MYLW5CVCAXLYPIM5MD84FACUGCVLFZ48FABH09QJBBRR1LZRBTHKW5W2XF4JV1I64SJ47Q1SLUS0EL20XT8GDZ364HFKOBV9SUKUOPQAI79GWVKIVWXNLZQU4BACWOI9QNB13J02A6BNAYMRLZFZ7S6RQU70B6EW2VP0PNLGJVZIIAZQKU2R8YXQR2N19D25GKC08VMBUMNT0PSPUZD0TY99RZM8XULFDJUA086WBX5DMK2K5N8LLWH3YLIFJKRFKWD3VHDPWNVULOHDRVCZ7H74MRFB8TADMIN9CNXI74UTZ4M3P0F7I6SKYN53M4QNIO04K4CGZDYZYWPR6ZZEPC1NYYEQMAIWUHMM456YUKCNT5HDZZNHN1FS4UOM97QOA3DR6WZ81D3UCPLS3J1MQSXSGD3EOYOL7OEKGHFM1VCNZPNABXKOMKB7F65S95WZZ3NFJLA8WL8G35AZVL5GYEVJGWULMT91CTY307HU2SWA1EIPUNEGSP9BAZ8YQK2U4ZCYH1M9BX821SL3O7XLZVA4V8WS4YJ0DNZ86XY1THAHGVX2DIXYKUL3NGMBPTG9RJT59L5NMZDS64PKZ0LST7GP4J3BA59DRR5WOBU3NJQFFF7V2V63VNKHWTL8B02K0HHV5OZS0I2AYHK11EA4LR64W38CQQC4QR4MNPNSV3MAOUQKJH8QVJ9JR0EADIT8H6658NMMAB4SB5QTQPZ6RZILOPBEZL0V5FE3HHOR5HGG div 36#11G56FRQ9RGQXYC4AKZKOE93TCT440MFPN22T5GGK6QW0Y3THDPN9SSAYML3GQQV27DMDG7EY35OPVBA40XOMMR63YKDGQ9MTLC3KJUAXMVIOCMYT5SK4FS6T7B7NFNAW0T2LGEEUZWGPKNVU3ORYTIHAA6G2JTR9G3UUHLPC3EPNV8MVZT22MWLYJDLHHPUAWMSCSH1B6B3053MS6G262E4B9BX0170C877WC50IC18GNUTHC3R91513OB4E4CM96FBBLUG6IH79B2TB2GTNI4QXO6MLHL9Z6MWMBJTFRUJAYH8VFLFHAQSR5HF8NH9N3D6D317C55L1Y0OQ6NC9ZFQ79U7CEA9HBT86GZC06E0Z7DYPRNE3BOFC01C2Q9TKC8P4V0MGJU1VTYKGQHST313N9U04URTLM393FT1886MG2JQEI90OSGIORQEI18PSPPNW578059M8IIVDHC6W86UUUGTPPTYR0FS0FSQ1T35EW598SGFOZQ976KA0LOLTCA59MMQOLD5O8JQ9BM1RLRFB30AXLSU67MX8PNRSQ77CHEK6ND27WXFBEFASNS8PK9BEF3TXGJ7WXIX2HBZA7ALKMXRPW5JZ65LUVWNHM13NQZ0KF1C75RXJRMBTR8AOTOPJ52CY58KK3WH87EXP1GAJLCF3DB7G448W8XJDF3V9F89IGWSL2ILO6A4XRE9PCIQ9SBSXYRTGD2F5D3JWWUNMKK19SX4K1UN2XPMZKLEZ1MS5QQ3NSNLN3UGP1ANMD56Y617EPSF7R48KHOJYRG17ZDW1ST79RMBJY5VDUNZ2XK8Z2Q6W34F28L6ETRWR40XH2AS2GFRU5HT9G07SXHX8W3GELBT0KLOGW8OL5PVTUQ78FD740YW93VUTMOIG27VXT1VWE3PVP8Y4N6MKK2TP4F0W74E3JIKAMZN0HIA49V09MRJAEQSN2OYWHEJ6QBOD96ZB6O7100KJQKZY327E4HLHS34WIM1LVAOCP74GIN6UJ4ATRW90ABGT0JNRYMF0HGYBQ86U7U0P63768OSEOHZ0P27DPB7PIRZ6HO5Y5N0NEOY881JRK04DW4YJ2S5I0DG6FZYYZXFSPAV643NSRU1P0PC0V081360RWWBZ3IXHZKNM80TQ0BXE4K5VGP7IVWFO65HXX9LZH7DPTG2C6DODXEYK5Z8AM45T36IME4MKEPUHVYN58SLX83GKOSGK0DK5RU7A62GQ66XGXHHQ41WG0IEJZ6TRCDBP6LUQOMGSG3D086X90ZQP0UOU3H8FDLQF15IXJR1XAAMUJDS2NPQ87UQRVL0XC5AND36MGDRPPDZ9S8N86IFJNQ8VQGHQ5W32CQM6YU2OMNI3WKNE76RW4U3X02XRKK48ABOK56MV4P5MKENQ17UF5CEKT1WZNII60IWBLYBMYTR3SJ35EWZYEJM4IH5U3F4ZQPPH3XQ8DY8. +36#F4FXE9TCMR7KB57AV1UZSZXOCXFYG6KKB2B40ECJGF3T6RKAO = -36#E3GGWYHNPINSL378BSYMA6F8UUD9IVU6TECLDGBU2LP92T5YWGSE7HQ8PMB6YD4ZH1R706EKMWYPP5M90Z0YE68WSN3SF7DTCSR0XPRU1JPB1UG3D93Y37CJ7W3UK5YVA09BMIAPMAJNO5ZW7638TE2O div -36#XJYKPK761881XX34QA53XKR43P8WNT1EDQNI8XTVWCS3AUWWE9YPJ50AER7WECPMLDWVXQKG2WMW6WQYONR335KAT9B2E735UURVVX7. +-36#1XRQFT2GI2QIN855BQ5KV8S5KB1IH4XLI4OQSA1K08XQ8KF0XYSHPAIPICV06J5QE7QZLR8YKBL0HVTBELITBQQJ6LA2WS1AMEC6FFSHMNPKIBQPJ9LP35ZD0UQK6XLZZDZ3SZ04OBP940GWSEKQ8O7OXQL7H29IAM74FJ7SINXY6NVPGP1349JCH0XHKQC3ONSWEW7KODBK9Z2DDYJXGD50WP448TBAOWF1DDRTM2SU8DHWSZUBS627M62HXB7QD74KB7ZTV08O8MW30FHVY1165K0GPTTGS9AL6PKPOJ565D4WWEPROURNJXAVV0UN89CPWSRGPXH2MMXYI2VBGUAXBIK06IGFCFBU = 36#18E2QAA13AVSTOAWHDX0FYOQH6MZ34L2Y4ZMEYKR4G50LT0SPE * (-36#1KKYD2A6GOXBX9Z33SOH2EJVL0OH89UW2SDDLJN633K34OPRMPDHA7P9RU1C27AMVVV81T484YXMGTLG3NYNVFOK9N491EJ5ZD1VV7IK10X2U9GPV8TV9Y9ZZOV3A7WBR55BUJA0HY4LQCVMW1C7X18CCRMMGSDQHTHAD354VBHG7FMAHH0DHVSDHO9QBJIBU18F8UVBWTHLH4ZA2B7SRKM590IJYT493QM9VXTYNP34RFZB243T408VB2D2LBVN90A3BUFC909KSMD2VE3Z53A4CZ8A5S4L6V6496ZJ4RCCIHZ75DX). +36#13YOABBKFG7BQQHAL02FAWZ84KB7K0ZN7OCLAI9KP62R0853MI5A8HI2Z895OEPAO62PXMQU9XJ31DNZQNDFC1QSGN18X1HP191CI2BR9H98SJ2N5ZD21I1HIQDH0CXO806Y3H1UK0TJ8KNHGPSULFL2L1DGQENJ2O49D5ZK6DOZJ66CT69EPKNIKO3TE9FQFGDMHCHTRKP1S49V76ZJX3T746Q91K4KYXTGN8V5UQHP4M40SKHNEF9UDHHB5BB7TZ5RMHKK37MNNEBKVMRS85HE792JFUUDUMOEEVAJK49UT5RS61X8XSNYVV8W7YZ6XEJ2Q4FWQSFEAOKQBFWI9M3HGYPN1DCFRGG3SLEPD7FKBBQJ9HYGA44TCXEB5TFS9I = 36#DNB0M1044MGJC9YNG4XR9V0IHDDNDQE2P1NJ901NH90I0K1VNL51Y6GLJ8VUIRD0YCOCYGIEA79LSSB88THO15U9A6WJRR2CJCOL75H3DEAY5AIDZMU5E0MO0WDT1SOU96RQZH23W5ZM6138S8BYUE5F1KCP0EI67GJB3C5V6W846L4VJLLW8PR6CZYYD8SKZ2MN1SGU1JNBO96PJDQBQ5VW3GGASZIWU3YR1Q8CZ39GXFJ17Z00B9ZZ1EDXDF5K2DO2IA9U90IVN5R3Y8CT2PMK3B1ZT5QKC1MCSSWTZMA70QJSYCDILYRFRKEJWW7O9U7F7LIPQKXYSY4SJY0R19PD54U2KKBETTHM2FUQ5J96SECC1Q5H9QALLDSSA4ON729B6Z01QU2G35XTSPRA3O3ZGFXP3OO79XNFSOY0IKD23GHA2FJU2W3L97RQGMVSMUN4VXITUXOSC5XI div 36#CAKZA2Q7RBR96QTXFDJ5PBZU269RJGZ47XCPUS5PGI0EZQ4CKDTWLGXC9QZYR1Z1KFJ145PPIF0CQFD. +-36#1DHW4112NWQR1HHYFT99921GZQYF4JM9VWH4BROIDQOMU5XWWHBGYUSPON77DQWJ6TJKDUMZJBUV5FP0L9EGD8PZNZE0NW2B6720S0HGIH3SOQWY4F41GSGL7PSC2B534FZT3MD40E4QFPY5SKSC0CL5SQJ8C8PRHHEL5IV3C1YER25AHMO7D6JKF8C8PACTEH8728376FRP7CI5P5EWYSPQ7UGHFNRF190OK3BSD26H6EOP3FSIK797ZG5D2Y4EUUKZC6QE8W10IRMONU7P7CN7TCU009HVVIEC9K0NT42EODCM95KH54GNQTK7Z5B325NQ6KGY0RDN9NGD6S7Y4I7OBJLUWUL8LCS8XXGS2XQFN5G3VC4QVDBR720V6GJKT34AGEZB8UXA5F6YY5IBNEM7S0T7FP3WVNJIBTAW38LLO8LTZSKC29NQLPEI7D59Q22QAE05UTV0B27TXUREO035QV6L05GROXYJGW3VRUZEGULORZ8M1RKL7F75FE35SFG9A9I9WPFDPVFL8W1VPCFQBPF7A7FIKCQAX99IKSL3R5G34Y5ZIKD5G1Y95SGSNQV0CY1M422S2RQBFSNNFE9NR92QIXEIJU8DV1L9Q5IR3BWV1QNRE97T7WGB13UTJH97SBAP5BNWGGXUU1IIZ54XQUBZJEPHRERRTLI0LA228N5OZS890TGVQ7ANSPHYLSLJJV2ZUSURZR = -36#2ZKL3R760JX09WX273SCPGCV8OWQMQIE1MQ84CC4OD1O51R6L9 * 36#GKBT8B28MRNDFBWEAHVBGV06Z4YOMBRSGDN0QZPPGS7A1XF5EB05GSN5KKPC0III291V75T7JX8NBCMY35QTK51NLZ7WRCPDGJTKG1EX3T4IFKHCWNFB6BFN0NX0NVH1Y622IZ5B05TDY62EE838MYQHE76RMQCHWNFE0DJISMT0WTNVI8FSHSAHJD15CECAZLXYFP9LANZGQJ2UNDTGI1YSO9CVDPWIS5RH66TO5G1PQWDNKGQ6HLLTN7BZQL9ZJEIADFXJTVNK0W63UIDWLU0TXZCJ6FRR7PKOUPF72BY3TOUK3CFQ1Q4NRG97QPXWRLLE9WTYGNS7Z6H6EAGHAT6O7YQJUIIYCFWTHU1K50HRYSF2FBMZQYHRUS3D5N3Z1T19Y10XTJILRNER96CRBNASUS16HU1H0RPJKYC43S7CKJD2WRJTCAA12R2GCWICOY7AGFE442WPO9EUWOMBSG2ZMD93H4U87H8QQFTU6IZPO576N6ELV3FGVYSO451OFJK4LTXBMPLGSVNMQ2M6QEGRWQXV94HXGM1KRGRGIJNNI8CYZORU8AV611ONETDVTIUQZFBZWTRVV2IX1F7JUHUHI7F7XRW0RRMSRZHYDGP45L3TQE126IQM0ZOGJDFAVBRZAGMZ2S1339XNEZ5S2GOIOMEB. +36#6KXTUOSRQ0YVLY44081XLU2IY7U9Y5BY2OODKLCPTBI4HQMMN1YJ85VHEE1UIK3FDRED7PYG2Y2HE2AYZPZA22XF9EEJDPYQ0AVJNTPVV52GLPB8FCUNQV159UEJG2QKHIICIKUYWU7LK8NRM0K = -36#2RPQF70LQOGQHPNMBYNBZTYRPF7HWVP6CNT021RPU0H1SO64AI2AU3FJIAHDS1FQUN32KZII63ZT81OJNOZTMO3HJ1NBH6V0ZA * (-36#2DJIQCSAQVBAN0Q40NLQ4XJKQ7BYCY736NPC7HO50V8MR67AB2). +36#IB3KFZJF01F6L9CKGW7BQ6GUYUOUODKWH1CSKK0BGINYKTGLGUL333KYAOKQAM014SK4EX15NAALDA14XUHNFXNGEI4V3RSL89KXI5G4K89X4FA0IHY8NTFLHHVDUXYD3X2MKV62KNFZDNS4QQP2PAZ618Q78X24W5WEPKFI0EI92B7Q6XU7J0UOY9RS42WX7C71LJNMN67NGVIY8Z = 36#DOFA1FA4Z5ZP54K6TDR70YOSVKSNP3KFAZUAWEYKDJ6DLFT0MVLGLXGRM2QO30140QAEVCQ4OO33Z568D0AMNP30AJGPZSU6IO867C25HQSAV6GSMS5O4KZU41ZVHAAXI36H30VVKV4T3M4OVWVPRM90DW4170722JUC878DUIHQ40GAJDHEXAES5BXN1FFFHPUR4EIOO48I7N5G3QUT63MYW1U9K729FHB1ZO4GOYI6XQP291Y9WHQ0JJMDECOMV80KR2CQAGA35S9UPGPGWVG7MKOVOZK45Q2RIW1Z div 36#QW9ICBF6U0QPNYWFIKZJ4QL8PPUJHCKEROY432Q31U1LFXWWO4XN10AZZRVSZVY5L9KA7MM3UQ0MSFR2HDWT71. +36#IDKZP8NGDZ9YLMMMZD68ELZ8EG2WXV5POY46N3PQURSZWU3O1P1P8CM0KFGTL2KQZ4RFR43LMQMKULCORR3QK7SA29FSV8TREV155A3M1WB8CRCKA3168XIONDS80PE0BO3MNKJD50NT3ZC6US2ACINV4TXTROOF9VEEZ9H = 36#1DO25QKG8BZV7CYBIW0AGDRF3ZL3L1DBYHT2YAE5U592GXKU3C8W97DUD42FQJNBSGD1GGB4N898JM1HOSBRD1JEKEH6KJ72EG88GUZF44MOVVVEAKSAFED * 36#DBIQRUXIQGD2BT78B1DDF8CE8VJVVA7YJOAJXT3RYTGN73QDT. +-36#266WNAWNDE54GXUSI1Z88OYGOV4A6DS5LOWL3QX353VVXO1CRB = -36#4D9QCPT56SM0R25D6EL8NX3JURNRU3W6VDCS07ZAWKWJ5OAERU5RMTUN3QB8AFMQA2BFD963HC6FMEB42KXZVNZ6I40ZAK21OSMP5VF5KNZ6ZQ05F8Z7ZG5BGYYKTTX8PQZPIABQ99VSDFPNX7FIWTGQA6RMOHE0BGFD26A7V1IQOC618KSIB2YPTIYARVFTJY52GP2A1G87YF2G1K5D73GV89Z1WHY7TMW6WSWNOMSDF3Y02O0R4U5HK2UR5MNWYW0S8MXGR8YIGS52V21JL0S83QES3ICHYFZRLTF5TR5NWIS7TGIAW07AMK76EPBFH6ISXBHCRYVEMIF47I2UC63NVQJIM428H73PP7HVO1ZENYK2DGEA div 36#20EP17ECNO67STZCC9KT0C2I3LSDMLVLSS137OIZBLG7M3AO950P6O42VHHBS0K0M1NUL4MFN31AW93I6PUCIO5XCP1M6DLTAAYKKORC53VAE5IV17QOPK7XNMA6JE08TG36KFTMP04DX4ZB6FFW0DEHE6IWSDCUUFTNUSZKKNYBPK6SM7HHP5AYZK6QC0X23923NZA88MJWIQA5RPBIQQQQNWWNF6TXMU7F35CRZ13JBQYXQY2QMKQYEJM1C010QZRBOVYR7H66SRDUU78LVZVLWVTJ3PQKJXFYSI33JSKLJE68TGFEZ4FJQMQ5XFFV4WE. +36#2E6DIT0CYXEB9L8FM93AT55K4RN9IYE3VVVLENJVSRA6NJOS943COLLSGZ8IEIGV6E8IORZPOVHN1PAS2IVJQ2NWBHCQQN5LA64JXQQAT4MDS688G9YRLEND13LSHO3VYRIH4UA5Y6F28E7VMHRCS41674WRM7BDKMJLB1PZUFOO0IYVDC82UAEJY5I3Y2ZPJYSAR2HVDYF1N9RANGV53OOH4UDVOH73827BRJY3E6XPSKEGM0Q87TXIM0IROZE38HR6ZVG67T6WNHJA7BBPJI1ECAEJATFS2RRVPI6LUY2L0YQ7AAVXUJ9I3JN6B7BV4YFBF5RDY5DDDL597CDAKHUUTGJW52WTNAXUDX1118DS96G742TTEOMIR5URKMUH1PAI1YMOXUMGZ1BE1PED1TSJCHTP4FN2AUYNW04Q4LSZSIY5G4Z7FXFV1GRU6ME6MRIDP66OKZXOKHCX964M8LGN2FH4O7WAZ4M49NPTN6LHEBIM1BI4RKXWHS43VVDLQPNWF2SZBRIS86WL4JZNE38IJQ4D30OC2GEBE3R2QLE1L2K7MNMSBCEYGPD33AFIEW1IKR98KMYPWZE4E6OOGR9A41WQC5DI4QHGJ5HZ77FZS9HAZ6RNNHP42ILJPH3MM0Z4YO4B4S8R = -36#695W23CYYD2TSEQG4VYLFDFVK1KAX9R0P6HB97WGWSYSJ9110GN76FNOQ22GELL2RNN4E9GE3PFJR0837VCOX6SUC2GYM25HB89V6X40GWS79A36WITGRF7ZU03G8I5ZHF42V3I3FG0LBMR0H7MRFTJ4BG9AV2KIDXURU3OECRH5E64TVAOHJVNBN512JF1G8YKKHW6MMYILT653Q8BO3739Z0XCL3NIL6UXIVS44L6QQ2TDW6XMG7XUCGN3NIA1I273PC7AYPB6MIX7N9OLKWKQD4IB24HLGJ2KO2YNPSPBFXJOQ5TCSYX7SR469WSAKNTO8QU8IECKT1GGBRALUFYOS0QSYRS2SI078BHONMNDQ7ZNYXHMWPT1RMK6GPYPOJ6GGK8MMFFNY7GF4V7W4SANDALEKQS0J2X212KPWJ9GXWZWDGWMP9IMO7H3R5Z747EAXA1BLH43CYUJ0NCP6CTGH76916MBRBPZRAQWP28EY8FWACWAWNJSI5OK4FSO16YBXP15OI8YPPETH9ESS6FUAB6XBNJBI7W8HI6NZCAGK4ADWH48C7PTUDZJ09V1DPKD2XE5H69ZZRETQFHUF62CYG60IDRJ95HV0JZSB68UDQTVEVHZUKDHGK75YEKVOZP846PXLTJ9ER2LPGM9M1NE8IPI94JOLVJ0KM79BQ1JHGV0WBCPIHM7QJOG0 div -36#2M26UKGWO9HRWXHJTWMK49V3EBKP6B85S361THY59IF288E0E8. +-36#2X2TFQ29I1WFTJHHJ73581AFF9MH07DPXQQ29GI1699EUQ7D8GT5BH24XU2U6NYINKW5214K2GQD4XFQ34PH3Q7M84JXT4L7910TGJSGTCU4NY6WWEDTM6E6T8Z4D6MQ5ATU99O84RAYMXA25KWFIMEZH58PP6KM5OL5EYMN7UMHNDAFGYX6JJIQ6CZ76KO8JT2LL2SMJ0PSTZBS1SJRGC70HXBTUEHGE1WOD = 36#1BHLOI9R9WUXVBP2D54F8M7HYT7EM76LQM6WMETR4WT64VAPVN * (-36#27NN7GPDQD8CSCQLAMBXZ5FW3H9X7S0CVWROZQ2BQXB29STAIIABIHPT79M5GEBF46ZSLAM4UQ7U8GZMDT1FO7TKZTXJ0FG1NWSTT1GYE769XVDT3U2QEBAWJRRAI1PPPBY38ACV1HJLB1MGC50PF3ST5YINYC3I06X8E8Z7YRSXFEO5W83Z). +-36#2ONU8SK08GX9DT4CEUQRBKBIUDVJ3NCM622XHGXBAE285B9BTH = -36#1ATQ80ZH7MILFR3TY3P4Y295XQBTEB17PREXIJGYSLCRA9RXNAFI52TJT1KXR35EMZDK4KT6M6WDWEHLO75M5Z8ZISY44R5VJF19FWQRMKLBYLY1UQEDKW7KHO9AIHK557LAPURUQ8GMKMZSG606L808VPE64X8MA9FXOIPZGG4V6BSYGOYN4NR05B3XDUGQV36ZHR0T61D9UU8NLTZBH2F3TI9QAIHL8I5AV70WHQTK1YOSHPWKE7SR4WJRTTJU79HVISTKEU349PXTP8V7NFVH9ALW9PKATGSS7L113VMEPOUBH10T543NA5VMKXXD00PX885BD57YCJNKZQ4R77GHX1MC2Y1SZYS7UJQL5ILCM3R6THLAOH3G7ER32AT4E66DZABBP64GHLXHQLAV61LI76QU div 36#HFTFAMNIDR0U6UF6GUFH3SIOGYPT7K90NQLOLLV9SVXDF8FSJNJ2HH756JL46CVEDZMIPTCQ7PE0MM0R5DSKCQQJG6A9V0LGF9VPIOUJQL5GLZXEV7VP3EPFSXVYVZL4OM07FMMHR24O42H9WMSO4EAUSV081KKRXL7J7NG0WDLQIHMUCISCYV4MW067V1BTULK6HU0EOXG4VL9E73DQBHWLN4XEHXPHSX3301BFB7G77H674PEX1C1NLLF6DM7U42L439QRHV4QK061UYLP20UVC75YNYT58X7L7X8IUBJLMXIMSHEAJGS08US26ELTZL33GENJ0U2L7AFT81LCXBDOIYM76W3HRORVAD2766. +36#RI6UULM1SHJQRB7735CPJ85WE4I6B3GS74HRPQQU4NDFFDRG2MXXVXMPYSQOMNE6JQNRRE8NZOG61P2SHMG0H4FZ3SJI26K7OM7VN8XAEF6AUULVZDSUKT889PPWLHPM19X0DL3NTSFXKAXYONP1VJNYQMVKS6GE0MDNX6TTVV2DCBIM7640A85Y9K9R2RXXQ = -36#9BPK1S359EOTEW8VL0SUCPZZ9RO2DUZO7IV9RHLCPE8RJAV3LISV183VND6VIERMAKBEOJ3PW6KTW6RUV4ZPM6XTZY7ZAGBZB2XJNVUNIWRG6IQMDNJ6H5SSM96DOCAWJSMCH9HTNHD6J4ZMIYX7KD75AYMJG4UGRUKMXD47MI1N3U426NAWSAIMALO2QD074JSZ8WYE1ET4LX4U957P3DNYSH61AN2LF5J8VKLVFDCPL56FH4B3ZOVVZVZD7YKN3MLGY7UDNN5SIZ7AFOPUQAAWH88BC4MI79SXM2RA8LEX9Z519MLEV7RV90C6XBPLAFJ2179PPPGTE8TUP019H3IYETN06ZTO96W0T6HFEP7856BHQEXB0WOOVFFWAO8JZ2XEJ8AXU9XWRIR1MT4TI2CRKD1UD6237VVY7MF8QGYASX6P4S7LUSPITROVZRABOJXEYRSB7CDI13K8FJ10LYGAF1LHI25MOES5D7DLRVEGV8QUWIVW2YJY2W1LKYN2IWCLBY8PWUT6T59971TJ5ORDZ9RZA1IKJG0MMKPUNG3005W0A5V0OGRB8A8FXCE4O2M9Q327J3LZKFL846R2R21GUNY576INCSP6BEJKRX177UQL8G4O9DA1OMLADYRLIK01GYMWXWGWFIZ3IXQ2GL7EG2BT27A4A5C4OROK13WVGUGJ3CBH6F0UG6150C8QABKZ6LTOVWS0QOKQ8CYEDE1FUNQT2X8E796G0BT919AVTAOGIV6YX3XTGO5KDOE8B0ZKCNQMAIUEXIT2G5EZE0IQDNLUSY019IVTOPYE0EEDBPLY2YPTKQV5OHM9CKBGVVYYSX7X0G7V5MNUNVVU7U5ZA6MP3V8ZUMCD998LB9I9O8UK118LTGRLW45JMR9IU3RXZW8GU03G413CAN5BJ251KQ320LKVSTDF9QCSWQC2YEA2KDVOBZO7OB4RXLT65QO9NKDEZUC9X01H9OGFIOSP5WQDXQGD5YRW3996GT1SM6QUOHNTZ8XF7W5NY9NF0CAS6F0HFX0VXWA5QG7SAQNJ76S980DYIZUHQZQUUIVDTJMX64LZFCBC7ATNOSGCUPVL6EBB901J66CINRCI7Q7C0XFXY2RV0W4XT398Q99GD9IW0TXD1DCNLRKKMBEY56PQI div -36#C7E1S0S57HXFA4BL1L554LPTZ786ZKKCRJ9SE9DEF1RC30JXDDIYDH4Z44QWFYQ5RX12UBXSF32LUSV956TFI6V4D3Q6YUN57XA3I7EUWIBRDMBC5SA3BEWQY82SVRJWFLDZTNRG57UUQW8J1DEL47ZKEL7MH75SQB9QC8MG58UQ6Q76XLVO6ZZF9E5KZDV7NDRUPAXEIJ8CCUAKMU26VVOFHSV5UT9DVY1O0PANJSO8PHU1JRCIVQ70822SLBH3LHB6BOADJEKV114VALE90BTV2M34K6L08FLSBL3HOIPZ1Y7L2MBCSSR6SVAWJS9BOCRFR4560H14YG1Z3247D4ZWQ4M8BHQC0G05ZYP4HYIDTDEJMCN2D5N7LZOQ8RDA8HU1PTTNZ9R2GG1H7Z199DZOJPN8CWKAZZV8702EJ3S3KRZLH1BI5HAZK5P628UQNBV94GJHZJDVTGWTTE0VWIL2HI8IDC38ZTB7HAJW5RRUQPHJ8DFE3QYDHGNCIHFH4LOVZYWQB6LHEUXHJRIJUKQD4VC0LYB8GBK55EB8Z5TDHY40TNH8B869UBEI1XJ5TMT4GKWVONNM4BSFEXPYBK42HPX0TK1MLZEQOCJHM6CP0IPV17016VLDB571YKUXDO2V6AIPUJ68YDRVQQGIRA8I1SPCSWDK90DDU0JZL6KUT0Q0MDB5MINVEKAY5TVMBDKFXPXW6AEORAESW1QW1R40AGZSLZWDGMQT1R13IGCS124I3QH0HO5TF5XFI45P8PITTW7K6T7Y5EHEDB8A3PQWIE3773ITODROG2OO0O9K6IF1OVCNR9CNV83AFYSQTEP3WXJINVCCX6VZE420HKI4QTE59CVF6CKEEBT3CPFH3KREL39CKRFZ7THRUVNG3IV5GB27WNJAASMZ3ZS45RXBDDE7FNBTOOFBGIJE8VWFQ6IUI83V47KRT3R5R9XK3D2R. +36#3GLS0W9WK49UQHKNM0KRWZD3UKYEID5Z1SVYK0VM4S8J5NHZLJ587ZSC8612B9LNEOAQFKN2X3YKS8MH615837Q1B6B6CZGI8IANSSJ7M7FPKC = 36#2XB56LOCT728WMS8HAB7H3R9XJB482KYEX9G22A5VP99S3PTOH * 36#16LGKL2KO27H2PO78Y78GWFIGWCLYL3R0HYX1WM3SU8YRBAWX7CJG2D9CPP9O. +36#I5NV6CP6GPMC5LJYDTZ04INO2K4T0RHLQMOLAKAFU05WKIFH2D1MS7PGV6AKMTPPYE3TICKEDNYGZSLLOV2T51I4JALWKIW0ALTK7KKOVSDIN12U02GB9TQK6G1LUF8M22QTVGC60ALZN2T4ZG2BMO40MNJIRQUJRD6YB8WKILNELZ0BNJETSQIR265LAHNCN6IMMFEUKS7YX8DFBTMGD8Q20KMN46F37FE9M5NZ1ICH6AG3VZOPX9UBOWMFBPLSQILWDZBD4JWN1L2PGCL0COQJT51KGTQYYXRHJA = -36#2VUXQMESEQACR1NTZ4J989XJDL4FDTCHTRGBTTYHVRNP6U3PIFLEH325WT43YOZIR8NJX44LJ5D4VADWGO3TSLFCGANCHSLWUW9JOH9PDRCRT99ZSGAG2WXB3E2B3Q4932UEXAECHW4LGP22JLL6TBNPJMSCRGDCZ16MRVO6LR5XZIFO2MXMFT8YJHFHJMOSJQ46M4E6FDKZ1W4Z52BUJ4HNY3NOEI86HR302QKXNW2K2EJ3XCF19JYQTKTL9XYD1FWCACM80TAJE30P8N5W2P6I544LDN0RTPESGEALO54409E1WGMV83ABHBJFGTD7466YPJE4FRWOWR4QVLP8LGFPUK808IKCXRSBJZEXDBOBUKE07JKGZMOXR2PS0WQ5GV3ZDT6ECGT989K60A7UJ816QCFJBYZAKUCDQQM1ALDRDTEBW55MBOM8JUR3T54TBIFCYUIFC0CTH467QBRVT1Z3IWMDM4YHW0TZWMRTKHSPXIUN2W1KUH60W2NWC1KNH8A32JKNHEJ47V1RPXL7I2R1TSKJMOJXTL6MSKYZZOCZTX8NXACFYJZNR3CBRUGSPJH8OQFT06DPWEWMJ6I4NGYL78KG1PLODRVD9LU1X1VX1X8E8HLP553XBSEQPKWFMP6T6K0SNDK55AQP8RV84XVQUN1EWVYNM1SDEO8RE48IMB7XK5TFRV4HEOU13XR2M84KV670WSSF2ZM6LH2SLEWM3MU3PXUWYOZP7UCGV5YE3QWYAGZBQGDR57QBRQF47NRL2OKL08SUD2BX9D2MCTMZ3PTASQD0DND6AZUEUGSEX97ENB9BJLLP9K3KMHB6OPXDZJW286GCMM9UQ18DAEL6B5CB8H28IAZD1MCBL71MZI47HN7YIFYVIJ1PWYE5EXORFA6YST2ULKQZBJ9CZO47NPWZBLIQZWNH3XPQPBLCGZHDNU92GSHEEWT833VIVRE3DU1DM3U88H1SBC div -36#5PX39EDN9KVT4JX13KI440U8C5AZ4VUQ78W1Q7X7B9CE8UJGQ1YUGHUJO3DRUP10V9ZDEDW0CPP6IFYW57CZZF1YLS15I83KALLL8TGGSRWVF25KCNV5ZUSUZ94J0KBC40O93TPDB2VTTMTL8RGMXC24VNP2IX6CVA3Y4NCLJF8SLFV5CUKRDGIUP7Q9FPSELRWT9PSWM9JI7DZ5JODR0PLHJV6EOAQM64K37YGZ64M9Y1GFO4E0NK4X11O53KG1AKCG9R376HSV0JSQQ1CACCS62GWNZAU6R5LU8K9ACZKLV1DNH5D3ESY1CGY4SCGG8Y1ZZ3L1V80FT4KPI3S6WJ6NFH3WMG4A5Z9PWFFUYL83OO0WSB1VW91BGP7AUINERJL23SORSA5NCL7C9DQ7NRYDL0232A904DWT5OPVWMQ2UPX4Q20Z1909PHFZCGVXVXBGYAHV4Y3VY059P9T9NBYDP6NEKITQJ9MS6EHU3N4WHW313MDKBE7UVXCZAWYTR6AKGXAS0FEBI9YBP324LGV2Z1LKNQ2F7FLG7UMDOMEO2F0RZRPP948JWAZR5QMJ31KXD4Q8WWTNPXN46GL48YJCKEPP1W8CXWG894DNQCVM9ATLYRH4VFO7EOMHREFXBS17LCUJSO4PNP4YP6D3P0IXWMDCKL2FY7Z58XK1RGEC. +36#U5LDSDKVQILDNRORT316R61YCOQC145P0XB667TNRY4LS5VAYWSJG65HBQ23Y0KH9YG18DIWZDW357F3QON3S48HARRXG3JKXCVHIH1K8ZNDOJUG9ASY80K6DXI5LKDZC2HO4A51V6S7XTQTXSN8FG673L612D9HSD2QMCPQ723G6UWK3RGQWB3KCY6VNLFGS1Z7HR7RRHOI2MGH1AWVFMEZ8N211XFHWQ9SUZL52P7KWB4C4GVNLP7EBFHO61UE51CU272C63Y9P3V30DE2Z7MUSD9 = -36#2PTE3CNWMV3J17PGULQF7FRHVWZ1TLXTFWAU5TG0U8YHAQD2B5FTXE1APMUN4VZBYWTD2LCORB0VERYOEW03DK0MUTIVBU314GV2MG86S6FO2XDGMGWJRB4PWAHJNB89SWDCRWUNQZU01BHLHBX7FRD3YQZEWLI4LV9Q8XLC36EQGOQUX2SNPJET5CLXRQRX5DSNX1WOI24EE121MNSHUB2T40MDPP5384JOJ04ARM3VT146UUU630T9BNIJS9AM9TNDEXI1I5CX8OWYVHMLC8YZ7O4Z8YE0Y8DKVB6NL3SAIQ9S7AO5NYS8433UTGBNNBRSYWO6I6LLHVJIABCYS22IXCIJRAQK9BH8IAPQGFIADIUS6UJV8NWGZN7ENQTB24JJCFC7I957DU387RNC8J05A292HUYF8QRV4DASFO5KH7GAW92SYNIS3XRPAHCG2Q3XQMGZVCD8HIVK89S2XQZTM6N7CRJGKZS7CU8U09IE49F6N0ETM912LO7HOV3D5G0E0IMHVX74Y0OD780BM4NPGQIS8420XRC872I2JGXL2AJP9NOL833AIHBTM9QV86MFUO74WFUPQKJAB8OVCAPM0I2W7L54I4Z6L29 div -36#38RW8944O0NBUO4AL64J7BDXQJ7O5XA3GWKHVUEZLS3MQLA9MAPCMY6QKQF2IVFHYOVWMXRUQ73FKZU9KH798JF87RVCTG4CJUDM7OIDOVPW4QZ9NGUS4RWE4KNMYLYNW450HY2PSQL375KQ13KEV0I4ZMA9KVY8651UCSSAYW9US5CAKK4X4X824MD6ZZWJWI5SKEFKRAVVI26N3KMJH7JZGQ89E5S5HP75C7WF1QN5PC11OQQW6XVV4W9OE4ZMW1F490BJIKKO4KE371UB42RS3L98FJ8MJBM3NXTF14XH0S46EXYFQ0LW38WC1EL2HXTGDMGR4YJ9. +-36#CX70JNF4SDEAU6ADQZMPU861MKSU3B7ATWMGTGDOSVRN6XTWNDK6Y0WRMT57JNSJQHN77XNM1XXXOL0170150XC3I3O2IBKPXBEWNPB2MP10IWOJNIAQSGAZH0V03ELK7X875D8IVZBKH780VCGFO3OW77OUE4UPLBI59KZ5TUSF836P4R6PYRXUZLR2A2WLCMJAW4ZR1EGLUM6K3O2KPKWQX0V8A3KWD24KB0ZUUDU1WGY9KH19O4G274O0VAWB4Y6B9387QW39LSZHDTDB7JE1RC9951FLYER9YIAILPM5BM3QZ7UOTQ4H3GCDENWR9OG0ZL86UU04XX9BVM5F9X78Z3DU766A3SZD7L4QNRRT6678XUDDA2FR9WQLC1J4L9CB0 = 36#3Q3AUT1QO8Y8QCBR2PP661R87LM9T4GHAXEARWN4BUXR6Q3FRWECXU1UQJIIWBYQPCHOBI0Z2ASQFQKAH3MXK4G6HC3RHMQLRQFECFN9KRU7LCTJDGT2VZ1CFHE0FP3B28HAZ4NA856WXYLZ3MSEUFFJXS32OMCH9QO9A7UKMN7B6NK5OHC3IS0SIHTMU1G231OF6U5FQO3OT7KDNLLATDSYNIAYRTA3AVTETHAJZ7FI4U4KZ179XBGI6U8N1Z2L0TQUYBRUAR5YH7ZQK7TMLE17N9NGWSIWOXD7TYUB9DMAFU * (-36#3GW4CRAONCAFM9DD75JQSZJV0Y0LI1DIZP4FOHFKXP2L36WTHYXGUUR2X8ACPINO15GS6WG2Z3MTCII1IIVV5BQ6). +36#SVT9M085YQYAZL813GIODM9XVF8SPGL8G66MVE8G16RQ826ZM8I38FMC8EMYSRRYN3NSOF5NIUDWQ3WUCR85C6XI446AC0CIKY1I58OBG2XLOGWP5XSGZ8U48OZN91KS8A0A5XMD8BQUXCV3RIZ2OTHJCFELHI5RLN79M4ERXD2WMMKQSSPO97UJRBSHHQQAKHFBEVOVTM6UW98ZS4JFNNKFQKH9E7YA1PHWGPPV6A89XGH0PTIIU44M763O4NDH92DTNP4CSRIJL2KN8KSV4EN55F9CHD572IRQA3DZYUP2647OI7RLJ414B45H4VUCSR3M7EVLWLZ69RH6JC4CVFHL675VCUBWSKJ75ZOY5V2BK5H8OPVC0QNNV3H5U3AG92DWWPAW3L4AB2MQGVJCL8ZRUSOLJFD7UAEMATWPTX5059KDPRU8NPLWZ37LSNW1PZZDXO282NHJEEA5LSCU86VENJ58CS3DC1WV5HFX9D4HNONMYXTQ6OI0QJ7Z6JNLRXSI3EGP7V4GN87N42ZI17QRJ87W7PTPDEZENSMLGF24EGNR0QBEDLBBVPJ1FIHR5062CB0OC7T6BRHO1KEOXC8X71QV1S0DLNCZW7AEMXVV80K8Y7C4JKAVY4TYN3D9AT9GZSF6C7G1WL5O7MMR4S5Y4HBV0COFTI8J9TZ0P3VFHDRQL3F6OJX8PGYQZBN6JOCWE9EW84EO7PP1F60E1CP711HV92U3INIGGFIG1IN4NX2J6FBOR4LUI0O7IOTB275X1OOKHAYB1LT3PJNM3LSCFITG91K2K99JAOWYBBG6JLU2ADM021OYBXHGW5LD45BK0KU20KG1JP5Z8138NGIPXSE6XHU3SPFIZGT9F5A6T0P5JTVIZPJRC75764SPSGL6PK6 = -36#BLCS0AFMLX4YVTD2O2J9L28BVJ8WI10IFC61RRDNYFUPRWVHW1X9R17KS774YGM4E93VELYE5MGG5L2U8NA410SFVHRGKB5H5KG1JCG8LQYOIRC7J3QH0P7346CYAZ3491D03WP4NIY032Y0ZI819HTGAD9V1GLTQJGWLRHX57JRWTJ0V0DNG424M6LCGAOCGK0FAKEG9YFYH12UEX9HTZW663398G4VIJOFBLAVDM5O417NCIVT0LV038WE7NGLIAZ0UXSXJB6S759M3QZAXUE1DE8O8OEWJG9L7OD27BGZ4NMN2RHFCCV2B70WO8YKKVP1D70XDY2BK6ZF65K8HP4CH67I66JALH0XMSSRMCAEX66UZVANV14A2DHOAGL2BSOG1PXMIEKMWSU1XKKF417OSHGPLCQS6HV58Y8E888K7VNEG8D4V6RDU4JKI117JEKC5P0F1QRLJO3SSSZN2CR5QG5QIELW37O2P54TMUGV4ZTE7BNM39Q94Y1LIA8RCF24TIPIMJ2MRVJ452G2TQCTCVQHA57PLPOSUN2P9FI8C7HWVW02JZMURC4TTTV6F8CMPUZQUWI7JJKSXL3CYQPN6RH7V4I8YMG9707EHPA876V53ICL44KM9GMSV6XN3ZBQKLP4U9K6M0L54NLR9AIBZUWV87Q4FH0KPVYS9AYQKWBV8BJSSONDPKPIVU1JFRK126U8R0G18FOWN3PQIS7XLF1LI49RR943FCCVLLHXMHSJD9JR2JZHWMCE79L82J204EJKYOTC5WHCP3MA5YII73QN4NC3KBWZ621P1J2QAKZCIS1VYD92YISDJJEQZHQINRD7CWBJENZNSZFA3WAIEH2JHAL5C5AP5SUF2FHDXPXUSTMB8G9X1ILRGS7XJ0UXYRBGYK8AR5Z5XFILINX16BTJZVFIDNQ2ODRF2QAWF1QV3VTGWST6 div -36#EG6JW5A6XL44X3RSBY0O4HPS5TEPPBQE2IILKHTFBJT86ZYJJ. +36#7NEXFFWTFAY6L9W0S4D03I5PA3ZJT379K65RAOIDOCQH1PYH7FURRSZ5T297K9YWBHVZ2MKJF3FZYO36KHCJL0K4YQF26D2NEVRW1XLKLBI47LPDCURHIMY95PELVPU1H9DT9YK0GT0ITMFYME69T8N9TKV3P3SBE85NXJIRLOZ3V8B6KSW4QITR5SUXVLOBX10E3Q4HVKZRXTSS5IY6MB4ZQVHZGK6F7SGYU5Y9HZA94EX3KD0DWMX3IHBOYOASXS787M9U287FJYTE714K20ST8OZIW8DZZPM = -36#15M8KOPQD9FVBU4Q2FT4C4Y07710SHUYHL7BJLZAHE5HYB8HOGXOIQ56IXIXG8UV0TXI7T7CVOEAR4EXMIFZYBDDLWLBQUZ2TUT9ZMY9RREYC1S6NGCDEUNC9EMEBB9TI8GRTOWJNHUDSR9Y2QIUAI6HGD58IT8946846SRMWYBX4PV5MEWDM5WR7CIAB7XC9OL1B5B1CUOXD9W5HT2P5U12MGYKXAZR4FBTHLYXE1O238RFXV7K6479OZHJ8V6DFPMUGBEM6XYVY5NXKZ8E7WJPWTXBIEGLXT6YHSNHYP8PD6F4CH38OVEDLPEGRCNCF9U5UMWRBB9NDUZRZ57I00010PGT766J3WCIYJOAP850YCXBXT8YDM7FFU18XD2W9YNMEAMBN40110B1U2SA1ROBLTUQRGS3PVHY168ECMCE1I5NOFK7CWRH3FFOH2O3VMMUA6F7SQ2V9JC3V142GS4MGMFP8EHR1LGVLAHSEYIG2R17249HL2G4JJB8T8DRS0QK1OIORO84YRSQGACURYZ5SWM34EOPEUJB4GRSETUEDNGXQY00DJS5R7ES6P15O3PDRIO7NR6E6A8HSZDEAU0FI009778LDYMFPR81NL13SGHDIQ1WKMYM9LD24UB7FPWRE0D2DUS3TBMX1HLK0OM27M5K03CO18LHM9YY9KDRQYID7U1XO0N1HGGASSN8ZHQ8CES1FGN0UEJFL0AZD5XXNE5KL1XY7J98SPK2Q5UL5FYEB292DRJJOC6QIXEVO0309KTS9CPIHTPQ0SZG5WTT0L3VRVCO9O671TIEH7EJD8D2T4BIRD1L3DNJRM0YUXWG2TJIJJBUNK5H7JCIPBUZDQFGGO1PLTPYE8I6JE67NF27XDAFMSBH4271UX7BEKOVE div -36#5FU5N5JYW2TEXW1DH7LJ539ZIALHGXQCGQLNJYAGXRMX1LDKXEQS696LLHHZ6NQ0NQREPBAQONMP9II09EJYDY30D3DQGVVE9ECD1AQJ3K46LYC0CCMCJGFVEHU7LDCOU320D5BYZKFDF87X2EB63OJRPIJ1FYQ2HTAGYO7K1D36XBT33YCWBR6MN33DWYDGQAZJ6UX52IO0X1KJLF5BJHH17RSJJ3PRPDPAI16PJ21SGDAJ55C4FOBZCUKLHMHH4VO99W4IF8AGH5YYBBFRV62NX65RDGSWU1530VRGCI22IWK1E4RVPMMO1XMU1VIFKLUWKH4P8QZ1NM34F8Z3N9V43MR3LWGJZRCP5276SKLM6A6P11DCGHKXSQ2K9OISTFMMDR7LVHM15YZ8A48D1G34CE78494J62P0IDUGNWE8O274EI5U0YZ61EU8B1EN479OWZ6NZPZXZJSA7PN9PHW1G42Q0Y9P7Y5085YW5ZTJGFKL65NU1QBURDP934O3HZHXA0TR4UFYNTFMQYOZ2EO67AEEYPYX4H6KLTHVDWTQCQJBY0PE58ADCF7M9TLH8VPI4NQ1Z6KYGW3RCFEGJ3D82TJ011NMGH. +-36#BDBOBFSZI5RCH4A3GJBEL5LTUUO28AXLKIOA0HBKZ6L1D6ZD0MI1MEFAHEIFK7C16YHVRBUYM84XXUNC9XCNXZ1KWXL5JGU4I8YMT7NI541HZ1M6YY7F9L047BBWKN5CGERSL1J3QIOJDZXVSIKEPKRIDF3H2OSGYVB24VHDNKMRNDLU3DQM7YQAFPWZZ2AXTDCR20YQVI8J98QCQ7XB8JJXAKIZXRB8SN6GAHZQ7JVP7CPFBA3XI65BG301KXGJ2O4NIG57S97QYGHV9IT92XKE8PG7R46ABR9KRRT4FCX1RJ2NVZZ8HD6XLZVOP8UBXXTWW5Q3OMH5Z2HQ52S2QGRIBP4IKPV3MNJ3UFK0QSN84BQA55R0MMH4LWMLL5HLIU5G1JDM6E9LEJE7R5NGIPYGQI13VCX17WU5LZSASUEL5BLVQNPDU5J17V81Z088CKSJ71YR1L8378SLF3TXLP2HKRICN01NQNUJL5U9PK5RBUP3J9FT4F9EVODRMC7K6IRVJ3FAAMTMH61H1RURKSZSOJU32RIN7NICT7ZANDM6H6ZK45PR6S4B60O4JM96UEAC9EZ0S4VGINSNQZQ60XIYYBWFXY0BSLXSQCG44477UP07NHHOBJBSHWMRH4ALO2SF0M2H0Z01RQJPY2Z6SAN7P98A0I5PNCCOTVUTD2OBLIO12PUBZXF9PSWSLEVC3DGGSF5BAGRNY4Q17CDY76E1K4TK2EFX0TL79QAB8YNYJAUZAM8RF07NR8Y7ARPC2S620BDXV6IYBVS7OJA0HH2YC0J29IQVES19XVMB78Q7BQK5YR428FSONF0AO7J0PWD4HM1JDFNUIBQSQLKC3DU7AA6VO8NXFKONNRNK1BTK8V6MKMGDXPLL24YQWWBVNAI9AMZNKDUJQ3J9UIB69GLJI5J6PHFZGTWDMOO7C3BDH8BSJVPAFMI2CK1ZX6KD1RX4YWDRJRL36FY2ILRM5WJ8BOP13MU478FSQV9U91FKZKI3D83LIOPVEYRAFATHB1UY0NMPUGMZM7QUU1UKA0QGECWH0PJ50DVA5VQL54TP2MU39PNCWPLMHXPPM34E88EWSWA5NZ6B9PTL7PJYX7JJN5P14DGUSPPYCXBPL9WZD9RBMN3V7W9XNBGB2YZQ6OOLBDYEG9MB6XXLDCYGIAEPZS4CQ28XQ1K98N021F6Z6UOU6A3FIQLUW0I2ZXS08UB16GH4JOCB8HS2M9374JD2NV7M1USPWV8IFUW1NA6WR36L02W5Z0 = 36#B94QVRV1GPPK2U7TLZX36NCEC3UW40LKQ5BD1SV6XWS8U3JACOF1CGOILHQK7V335HP9V9SENIFEJUNATN0J32K5U2SCEQ2PMIDQ6RG9NS5MDYIVPVYCQGPEQDBQGUGHOIKTNO2RT2F5JIYYD1WXUWUH264N8292QZCDVF66H5YU1XN20JTANTACJHTN8MPP4WYQ4V3H3NIBC4XZGUP5LD6TQHDSFNK019I83YY9SI3UBTPYET4T60V2OVPWURD5BAKWZ55X69IBN0L6FFE33BSFCL8GJRAALD1MBJSVYDBC304OYNLV0Z5EM7TYY7GM89VVAX72FAQBZ69OTP1EF75NAPNEOYHWJ9D9MAHY1PG36F7T8HRA09SO42YZ5HWJP4M52OLPJUG4LQRF80EWMDKEO1X6EW1Q02V5S08Q0H4HRQK7V1RDORUO4TIKKGT7YDY88YLC6M5G5TZAUMLCJFJQTURGWTCPQNTUXC9L6GTLNLUADMA49M5T41X0VD6O4VXIJBB3RRQ0ALLQAPEQN5S9WWXS7R7FE0J7WODJZSOWDDT2E441O13C8M7JYF8C43WG1ZML2MFA61CFF8P7WJUEPR00IM3DMYQBE0T8OAW2YTV9YMIPZHVYUV8O3ADDKO08MWFGXQCKTXX4UOQ2GU708YBO9IKXRVV18E41ZQ94BKY6TR8E3WCCXWPCAQCODJ4IL03LRUBF2WEYY45HAZNIQ45Q8JF9L0JL6BEHH5KQCTHQ3NTIMMCM0MFR4B9AAZASR5EFRE6R3R8KYOPV2ADDYSJFDBKAY4VE9WL3NTUBAZOSOSDS9124EBDZU71MPMDRXO1AYJLU1OPM98QXZ1CQNRQ0DEE2YDKRDDE34NWNAO2H9GBO5GJOLAMM75MFN93T7AVRILADENRV69EFOLDFXG3K15RLKNENW2EFPLBXLIYURUEGYQCQN75MSOABBIC5BJW944OSXV3IG9J09ZOIRLVJH93SFGQR1UNE5RZA2SRQGYRX0JIEMW1TRQEO6DH0IT00EZCPFBTC5IIUOAERLQWYMOC5LC5DTBKYERWE0GEAIMB1OGUWBM3HNW9SE3R6PCI4CCD3KLZ154FWFHPD4SE4NDKQL7JBNDE1EGUDT0U1QBNWU639SYJ5KQM4VW8PQM511XJ69A8ITZNUYDNAAS935HG8D3ATEF283FE3356Z2QMR9F00KT2HQRY8LTH76TB6HQ7CTT4FDVF31LVYRU76CEJ22C9TZKF4NKF50NM83APKW8IIY3KU4IYF94WFF06JAL6DRDHGV8D94JHY1WVZGYKNX338CE10CYKFDXIKP0C3U2HLBVWLQF3EDVYRY7BDS24ZGPE2KAFXHJGRI4WZS4SQHUC10QF9YTNHXBWJWKXIXQVT2D6ENQNINII7NDQFKOJ4ACPURH579BQ2DZD2AXGKUEW22JFQ5JPD15Q2FX21T766NWL4A4ETV97NAZTB3SABTUFRBKU0VHH5V0WYY7XTL3S86M479BRS3JULFED97E49HKHE1N8GQDWSCON84CLSWTCTF0OIIL88P9CB7L5VX937Q1CI5MJWSMU4FPSVOAEL3Q6F3M8L82LFVLHDEEDPIIH7TP95N7GA5OJYPKOOW6HV1X3JP2BWQUI2AZFXIH880PCHY903Z6HIWJ05XQTO719C1ONBUL7PRXT2EA73F12K48O9G8K5VCF4BAF1H7974OC6V7F7JFMLU9LWYQ28EDVCDV8CUS6YDSNW4DJPB6132SMWDCCHDOU873O3MYXIBF59D3MADIUIY56V7SL16PCM3Z1FLUX8GKX5GESHY3SB7QPC9PMF3ZM5YEEVKVD8JLRAYX8C8V0KDYAWE07GI3I1YCH34I7EZ2DZ58UAI04R5CMAMFVEHLAQIR8DEGSPQ6RCW3JFJG8N581IT8FEHO5WFL1NATJXK2DB5CYNEGE46US94GG6WIM5AHEO2U1DLZCV7YSFHTP25X1OY07NR42J58XZVU6SJ6PJGPLO26S8VFDB5LPQUD7HZ9UXLHBJEMT1FLJ883FC7S27JI0N7W4Q1S0LMYSBD2B8YKSRCEHK7FFTLG2W0 div -36#ZMQ4OY2R4JP4K7SNBO6MGDHKSC6XYIAMZP5FCQ5OBXBMVLC42IAI4FT51ELOU1QDA2LYGR6MQQRJPNQZB1MAPX4ESL3WHI1GUI81YUH190FLPY7ZNG0OSIP9Q4MYRP6TILD81326VSC0GXEP0BDVR6KLMPYXZ7B68471BOZI4BAXPOD762VGSIAYDJ95XFE9B4KVADXSFW8TKFN8L73VIFCE1BJPVYIDPSGVDOEBY3UBQRNH80JPIVGFGX98086VH6LL1IRRZ2BR9YM79AOVT0WIVQ3GS7K45C20CNLW5CAE7Z2LU5BA4ZF6H9H2QUVA8Q62E4IPGXCNVSC1G0YAF0XMET8APLPKTSEORMAHHK808O5BSNZUHPYD1U9W248OH2W9IW6GNCHU4Q2OAN1PBXGQII9JJJL1AXUQOPN9G5K1FLB7T04B9EMPDP2AJ74FGFKF76Q04E9I3CHK0A5U4LYTMWOPG2U9Q65FWXLUDDF36586A0EIURJC86WX8K4R79D6Q2IHU1PNXGYFKN02WOLKXCCJP4SWJL869HY4CQP3YNC9BXXEUMTUL68GFE8C7FX1DF2XGHWOU87EHZP2EO26SB9VQDUV9F2I0RE97R17PR6BLLU9MEKEUHNOI3MNQ0UQFL7L5NJCV247H6R2U4OSYKROWCNXF4GUXEMZ5KNMXE4Q623QS1PCMU9NP450W8Y763B8TK2OHKQ7ME7KH4VCIVXZMBPH3O4BD7I4GJZLVKWSIPQHKH8AHPYZOUE4F87SHYSLFFC4ZAGQGPKMKMAZUDRCDLJSB37MYC999W9GGKE9MCD5ML4. +-36#2Y2QOT7P03B2KLJQI6QPQ35C95MEYVSGEXPLYW1NYN1YBB2FZV = 36#4L0S9GOF1JSPY9P3R2G7KGT0G67NC5NC9UC4TVNTRG7590EBG8L915Y85M1Y5UXNTJ64W4NSBAPB53DCKO9XSD7C8CPO8W24CHO div -36#1K06D1ADUPHBD1PML1FPXAWG2I515ZUWZZ5SQ5P30NT5CUYV3O. +36#2TXFNTSRZMQ7XBVP73N2Q3TXIKP0SBGNBD9PQDN69VN7S59BRF = 36#9M6IE7IB4FFSF78Z866TGRIQ9XUPQVSVTNWZ0YUKTT8RWRYG76MTUEFGD7L3VAEUVZNCGNL5XV63T62IN8JC2WVS6UY40JEZZO div 36#3E9LVSU01N40BUV132AIU82HWV7LAS09R73ZR286K7PQHLGGS. +36#K64TC88TOVFLU6M8886SRK8HOJU1RPUUWXO2QIJY7ATKHND33I7D642E7DHE5JG4TB8688SCHFNGX1TMV0ON1EG0Z68O1W1LG30NSI83VJTEZCE29W05WAGPEC857Z6YWAVHQY6VIJNC0ZO9PXB972JVYS8ED5Z4EOAM6MB5JPSOUZZK4XET2PK6S36Z8BTC8IX231A666IP7KX04LO51FAPH5LN7CBBB0YN928SCUELUJZRMTNWQTQH0QX862OA9ZIZVRH8XYLGUXFQR1I81ZHAF8DUPSQZU8A6NC9XLZYVRVITOX6CWVTRQLPK4I6KMLYHVTOTKAZ5EHJ0125ELKNRDJHWHDX7GGT0L1D1ZRKHISL80O0WEGAJ7L1G4HCJLQ0H24ATEWBQOZ85SCVOCPFW5QM9EO40C5D6BXUQX6OILWRP7JSCHJC62K42SYW4XM4VCRG04DXZQQSMR92LHPSETFVC0RS4T2A2L0GLQVDRRO2737QNS9BLO75ENIPHVJBJA6S5MKMV0OC0JZ1HB7D5O4Y829T38P144TOQ80HWQ4JER85LHTQ7R9JXZKEH9TU755XC3EMWPF9CLURCC0QCSTP97F6DKEQSFOWGCVZ0QNF2BGFOK5FE2TBPLEVEYWWAJ98MNGDGFE00L91UTOELSP8IQ1WZIDN1SRCXBAPX7MSRTJP39WAL3GDDPQ8YCU5MSA4JJADN0BJZFIPJTIYOMZXOKSE9DX4ARTFBSP7N4K38SWHRKZUFVCM2PX79FROMN8TBKL84PDOEO18UKGF21HBNP5BAWCDMSEPG54IVLLWCDI0N5D6JNXRUP01JKERRXE3YIJTBDDQ3J7FNT7FSF7PTXTTPAHHCU2KGZ6U = 36#5B079DUBDYG0DO8EV3X576V57HXKG5VLJZOIZO3U64ITGJKU8O9HO61KVHNMUJPHUHFA6YOIAOP5KD1RCM09UE7JDVZIIMDFJH0BB7S8AADF57U0MH8OK6WQCYDU4TWCV65NFDLQHYS4YDRDMWBPB12HNBS7MKN7GZKJ1LFASSAERJECYU8LQPJN8T6YAQ6K3MH5Z5ADIEJ3HTXN18AZTC1J6XFLQT2Q4W174XQLF0W91WJYGY3B937OZFPERFKYW079GDVN8SE971OSU30L149N6BDEDPMFFJLYKY22Q1GQTTLQU98V0N7GWURFW9JTEF0OQWULFC6WNJVFYKD1N4233VH86V470ZFAZZJNPOBHDNYQXHZFIQ4UCNCOMEYSFUZJ9L4CAMBHLFJLPQT176OH7P5SBEQGJIVNDMGD1UIRK7MF6Q532JXFKN5250DK6MO6CI6V5GCLT9LL5DOLIT0EV9XAJBNID7GZC9ZEELEIU5AVSB5X2YWQUGTYZAHSVFTO0VC9Z880Z9IUPSP5N6TEJ6OQMG8W9G7FSQ2FU1MD32KAL2SZI6OTBPRGOTXHK63ESPQ4977DHWNZMX7MDMAO3F0B825L32XSIVB1Z3YVPPHWUXDY2DEMREPWE83033ATXMPG1HS6MYQ78QCFNRVOW9I79ZBX2MI23P7FZ354UUNKT4NU2ACV63LZP8WP7U9JMYAW5V3HG4LQHZIH8FDW0729843OZY9OQU8J0I8CI9KBH2FCCUHW6QSBQNM7UX8YTEKKIBLA2KPLPFT5YLI367D062NNHLIYEHIYIMLCF700TFVP7B3524998URWMIHX7WHISBKU2QOGN8Y59EZP7TEI2Q3VMQU9Z8KY04FH8LYWGAVJI2I2M9ZL9BRPL5UAZML32QLBPDQBT0K3VJT5J4FEW7WL8ET9UV0DQXFBEH35LG40V4HBX1BR76TQIP2IVWJO div 36#9GWM0GN23XJ6X55XLWHE6ILU2F1E6M21JCA9RV3SJCWZD05LNPNSRRO8MU86YCBNPAN1SBFXV54GP3XLGL0LS36J03O52. +-36#2VD6P4E3K6UQ04L7DK2XOXRARZWZHYZKFVBCY498W2WROCMKK60WYE4DR9RXYWI1P26O59CFU37I6E3A6ZQUM12TQF1QD91ELD0SXMU00LDUD2HG9MERVOLHNMRS5C6J8YDY7OQYVKHI2FDIQW0RC4144DLMTBR3O1JS7Q7S4N31AWDJ78XAXNJM06K3CQ1ME5SOUXT0J0O9N0B123658VK6S67VOLSD4X50GOGCWNKG6FR9XLW9EU7KAV7O6IOSKHG33FO39XDDNRPFWRM2GAJRQQT8SLUMZQGZ68UZ9AIL772C8SM1NCOQZVXG8CXQXQSEEE388S4SWQ8YBRUY72MYJCP7W1KXFASM3IO8YLK6TKUS1UAAOAKGVRWQEZUGWKGU6E7Z7425ETLFNECHFZ5GAKW0E8K2SAYAC6EX6PZL36ORW2V2RUQ86RBTYFZ7JJSDO0WD3AEF07106K9TZPDO5PCVM0ORZRJ18T2SWT72YWQNK3J6N7U4M2AM9I8EZYPZWOSDI96M79TWFTHV17T9DHPIDM0KNIQSZ6B7UWTSSVMBDWAKXR97U5H74902ATQX3VEMH03D2S70N3MYA4LANLVFFL7ZBMJYGQ6NQE1PD6O7EHCAUA9X715VJWG1IW9CROWANC13DKGRGK751X10S018WXNO3AH2FJXTNWN3FP08IRP20BN7CYXJNGCNXP5TPJW2DJ1MO2274PUJMNRUFGFZWJ02S9P2ZBZP6YFZA5Y5FODFDRSXPQ4ACTO5B9W7C4MIIJUTAQ4AEBPR48O2VMMK3XV1QXMVDG9SC4PLRSLR6PY8WUHDBGDLC053BQ8TRJHTSZR35EAS21R54I3P1D1G5YCOWJM2EY7IM8WBZUDHXPB5OIBEZ3TOH18IRD6CPK2W5JW8D1BQQVPUFR2ZAYAX1DRTXY1DA8BH6LO8RR92GYIIDD0TZRBOXMMV86AJ10GDM6FAMFXWOS8MOWN5DV8YC = 36#N9X30EP51KWG68C0MDGSRNUD7TRVSO6FWSRSJ382N669VOQAX5JLJ1GEI9T8YQ47L1NFBHDFIMGS93RM79C771DXLGCWQ0R3NUGZNFS0TJ0O6SEAW0Z81GNZ072F29NXAV99N5HE3KFNKN9NLEK3NA7972XS3GBUNSKN9YTXE90CPP8XK93XGXCPC1FTX9M4HNB2Z9QXFBT9P7G5OKX2731OOJ9392S397FDCD1CGEHRK7HURR5I06IFNITGPNSKPHOOLF6NV4PHZSNZLPVEWURQ877E6KLYS26ZWMW1127KA034M2L8MRR8B2GMBVL76A0MP1ZV4KCNP1TKK2SLV14WVQO3ZCOS8F5PEE5E6C8YYUQDCC3ESATGTX6KMNX4VPBS5QXHZJVS2F6R5JROOAPDQNMVUOI5VS8ZSCQCOUN0VHWVDD7E5HD33Q7IG36M5ZLLAFDD42Z3KEJ3N81VIIJYK8IQAMF6BTY2Y730W1UZQYB31OKE801169RAL8G2FCPAY05DJ82XDITJLZNSW1U6WXUVAOWPDD5X2ONFJ4G0AZ1J5573FC58FK1JRBYZPFJDJN6Z753LLGVQAF8MYRYBEAW7RAWDIGVOTSAWHKRAV6IMVBFO4S83GNTZJMYFCBGNRW7L67FOAXJV8JJ5JU7N9K4U9K9X4ZWJ26U6OCVHHNCTM64R1SE7VPOS3IHZL4HLX8AEX9UEWR3U41JQIFRTU52LYL1GHMDFL0WN1V6Q047SBAV * (-36#4FVIM8C7ZMWED3YDTJWNMM4MPT3493G0ZC33GG50QGQX72PR2BXAU1S6EDYZSSWM2B5YXZVQCUB9612QN9OUXCQ0RCF2REAV19SRJ45PDSOI91ESG6TRYDYQWQ0CQE33RP7IPN60B1X0PN41MIM3ZN979H5DHA0ELU6QOWENUVZHWV1DBYG141KQ8XGCA5ESGF6FW3CEDD2DKXNQ1N505OQDWQ1SHVZIEY5E85J1CC). +36#16DBK236ELXXBROU7ZZWUXJ46751G5QMVQSK0EAOK5VQSM9YRP2OCLENBDY5KBEJZ4ULYFMKRDUHHECNAKG2JAJNKV776NJM9VUDJ3NFMH9U5BLLIOVO5MUQQG53EB0VA7MXAE34DPT17BO4D49QD5N0JHPJUUUP4UP3WKM1LQW0C2CPZ78B713BXURS6V8HS7I1QLUJG89W6ZJ8ZH6MFE3T398UYBXHG5VEPHOXVDA78XCHAXDNF92HSIFH1NC = 36#7CUQ9L6K11JULYI5SWRNE9FC7JIWIIL5IJJMGSIESBKC5L8JBUDCYB36TPABLLC6F33E1D6JQ7H2VG3TKKO6IGNEA6C614YGRBEHJ2V0YG9O0VFDNL4DI9Y67O2K0L9X0SYX3 * 36#5RBT1DSD5AO65RVIYPVZ1TJAXDIUWKKIFO0NIHNZOKLJL3PXEZB7K3LOYYOIZY0038JO9328M2T3ZLQ7EUXLWPIBRVK8VFBM83INNHT0C71W7PGTIGV5XF4LNS. +-36#5MZ68EPQUOL7DNB44EIQ55ED9EZKYF89LDXPINQJI65SFEAMES4S1V36RGA498OFZEVTU2GMLXSAMD2P2K9HET3IWHOEC9AZEUUMHUMLY352TX6ZA6N6VHAIH52164U1KEIVV3Y66S4RLUE68YS0SNWNHMVZ0QEXVXX8XTCQ3AIW1CLHIGMHNHL3IGRBEMPEV90VVNDQ6HGH5RYQ21OSQ4PKUSLR0J9UDGDPBYMBPENMA1S8H9HGP7EEI642EHHOHFOVRZ1M35E2H312SCKHZXYLXX9TLVJZYLDJRL7C5BEBTY6Z4JYS265R2TVR28UMODLMQU7JO4SNTTWN94Y2LV3AY5MDS8DDCHM7Y7A9ESW9R1KW242Z6OR7HDYPRDKQPKQ = -36#K15HQIPTEYXJM014XRZEM5VUS8ERDA9WRXDDI84CNA0JXT3GMWHKRVQ0K0B84R6V8GG7HDQ1QCS745KDH9EZ8A7SVNE1INXI1UPSX6HYGIDFK4A91B2X64MHLFZDGHN43MI48QZRKKNV2M4FDH05R2MFJ4ENJ3REPVPEX7916M5USCGKXRGORWC8YXTQQ3GP0L8K7VVAP7WQKNLH5HGJY3KZ5D1JYA2PWM8XPAHMOXEGR5W6ZNQAMZHC9VQI5S2I81253E7HRZOVN5UN30FW5OKBRBCQ5QCMQHIY8QRICSTHUBQ1ZSZDJTJ1RJ0Y397LWEL9JSRU30JAZUEFS8HNXKEETJ724YLQ39791XTCJPJVWORRXJFMCX95Y2FZ8UPBAKFG5TK8LSVXZ8JEEYJUI3G5EEEGR1Z1YLU2CI8LBIV3LI895XETMH36PNTSH5XWLNB5RYUAP7160P1FUCFR5CJW05DFFCN6XGK9SEO52UXLKQ4DB2ZI0GH4F347WDQ00WCT6WHH27XVX6R8NGQJJ59JRKE4YSR1YWNWHQQ8NOJUEY0VR5WEH80A6D95GAP6XIVS3K8JHI71Q9LRU6YHI43DV7G2GFIGEPOKABV760PPH6WIZ4NPJZDD3T6F2IKWBYSRONQ7D0EFWL590IUYNH9QB19NAW9LXPX59UVGX4JK230063EU11CQ5S9XHSS23IIMGRPYB7F8FRG1FOH3MYA4MCUBP7FFUNP3DQ0RNH0953UYIL2D7M3ADQ1HGXYB3AC1O5YEOS352 div 36#3JWJ29EYGSPCUCYDR1A0Y3YSU2NDG3I81MBNKW1U0IU34T6D4YD1UK8OLF0OVYMHJRJMCSTYCSPIOK7Z54HE634C87DBEXQ7BJY0WV1N66WPGP6GSF9CLX02X0QWHMVOVRJKH078S80N25E66LNFZYS8XQT0LHVKRJXNYIRN51KTQP7YDT0HCITIJINILYMEMP1WRHGSLLV6UZHB256YJ2J0J96Z3QW40B2O1U5ZCYGSY8HFI3ID2VEV249U4LZFZ168M5GDEAJ38W0595EZ1AVDVD70985PGLSOUWVBS274R8S73LU2CFZ35SUW7AAVZGMSE310FPH6ETHAXW0R16PUL9TM4845YFWXO0JLQ2026VLEE1KXFPZ44YHDEHBVUEIJM8PN7E7. +-36#10KARM3FRB4RY96Z6LK6PTG50XIBAQK0X189WOKLOLT9Q124XYK68GCQZT69ZGZC8CFU6GTJQQNVWWYA4I92VB0BDXCA5VMKTEWWSM8KQGBFM7SSGLIJ0Y8UYQN85V7PQNCOPE3Y4BNCXFCALT76QMB8UGW7AC1Z7PRG6ROQC18E88N77VLUJTMUTKF8C3MW8UHWY6YH6MAS6C3LRBQM2SG2SW4I1NIPDXSAJAONY9BWLKLX3UVBQ4K4PIMFKUNB1LVTNI7ZYB77TO3OV7L3OOMFRULDYIQGEPK49JWS1U0K4K4J37J7RC8R0WIYXVLWYCFXJKJYOFYS1YG3X8V1FL8DRW35BKWOPQYXPQD3VBM5UEI8U7FYX86MSLEGJW37HQQCRJ36FQZMZ1BQHXYIX0EVFIG7754HRBZ5SUG5LG4ZWJ9KE1CVPS0XZA4488N96JKLJGD8B802DFIPLLWINXAXOB1F93R34U24EKVXQR1VMPXBDUHUSX7FYR0DTI5SM6F5955DVLWWFP6C0VCD7GKZSWKVDLW2HTFJS6ZX1U0IDBJ4KG82J7EAGRQKG4VFI08SELOWEGQ0V295VRMMXD2ZYT600KS4996WZONSP8IVNOQCX2F99MRPH6KTHOYU9YEJQSQR88QXLCUAJSSHQ3REKE1BZ6K17770O1I5ECO24JZ1BRL486BLE8 = 36#IWYZ1RPSK5SV14AETY85UDGG0ZRVT3DM5L6EFU5FF29FYX3IIZH2GNO38S7QWLPM98KM2SDSB02J1YVXLXUH8H0P7D163Y94NGHKZ2DCDYZI8HY4P1FJL6GBCLXOEV5GZ51UHKDMHF0HTB5RFBNRYEYEOQIXDAT4K17ONDVW9IBNG13I7HYNRIC5TH0OXDCWKUU3ZGYVEPUXDJ10JU3VY82LZLVG8LECN0FTSZFJ3XRIP1LTXJJQFI9ZEDIQ8KQSAOQ8V2V6EDYRQLP6ZSD5SCDQPLOEZ29KIIJAYJZ5YKBAUN7XG8366C8K0A8MTWM6P20DSGDBUUS7KCJGQBLFEBYJ9WVCXKIVANHOHQ5BMMI3UEEQQPLW6VYICNVSB7UNTH5ZUTJPSGKWBKPGD51VK18VLMR5VJLSCR3KQKOR3BCYIZLLGIWHMJUL1QT9A8PX6QC103A0JS91M4O5TNHPIXFBWGP1SWMG8X2W9FMVISIGYSZER6AO07M3UV7RJDQE3B6F4TNLPQZHQLY0T1U7CJLLBG0RBUFULQX90JYYOFD8C7RKBSK8QLF22EMQIHOIRI88FAE13EFHJN2637TCXYL6QR9IKMOWXUZ1A1LSER39FANQVTDYMIQ1FY9JGCIKB96N38X8HS40DTM7OQD31YDIP47TR3HNY6X5UEXGZ3TI4373VSIBNA88TTGL0FNXYRX4V3PBQFQFF771H81LEZM2W3TQE7G2GPJPC0Y4LC div -36#IMGX4DVNOP3041Z5QYLA4RYFDOGSRTCE9BHHF767RVWOWRV5O. +36#225B2NTBV03RM0IKTM9JADKQ28C72FNQG2VT6960AJKR1A5J5K = 36#2EHIWFMP72OMBGLP2JK7MQLEU3WO2ZF97OR75F9ZIDD8WWSDAIP19ZGATGS3JH6QCJFQ0KRLSA5HREW1PP07K6XACI5D2V9YIZSX7LMQAHG2KD09N2ZSIP5YFW94X6NRBBA00YTQ4JRADOFHL6A5AWDL1J5QWY17UL4HL1221T35QBARTVJ7V3KDCYV22PW2WE2S5GRW9QOGG45OIJDIQYIWUGL6NLPWC9EAJBZQ4P2KOOO2N2IDOUS7WCVQ0D5H6CH3QUJCW0DU5GQJYVJPC2TJ10G4U2L8RRHYXUGHCK2DY6PUQWCSAX0DQFZT822VH6JFH6UFZNSA86FBM38ZAG2E0MEFHAYMY1V46LE0FRK5EREAVETVJ05QNSGN28UC4TSV8YIVFUB5UUATLC854SZ5D1S503EI26PLJMZHFPIN85D7LL56W0ZM2UFXTOZ0KKAGIIMOSZ4R70A2RCUTNE7SEIGCE1WGOWDORXV2CHJFD9E15OX7YJ8E0503FZ543G6VDNZ5QMRDZEB16DL4TOYSVESJUI80R3UEX2182ZLMLTFR1JIZKZ17F83EIMNY7FWGUZ1JZGOZHY9XMXFDZDH9C9ETMUAO8AB8R5T157DOCAWHNAQUBFA0WKI7WMD0O3LIC64IGLXVFNWLM7I7YO46F3WVTQRHYI6F93IY02VEL0UYSVUTZZ4FIOS4JLNHJ3SQLYITHZVQR9RZZ5TPOFJL32HA21737QH0JUODV3J13JO1B530J4B5I79I69J6ZX6LP1RBBQP1PQ412NPARKLYYJQWFA9G8PHCM6XALKR85DHSM8IPOOQIE35H1ZV03UDODJU918L4I8FV68S7YG85NPDA0ZA83U5KO6O1ZV680YGMDO0EZ7VH7BXRGRF00UZD0PXI3ZSSJLDF2O2NTQPJ4ZU5SOZDR9GF339U8ZLIVC4XDFUQ9VGTWA6L41OIO div 36#15ZOC6ONSWFFZO6T0T9U0Y1RU69FY2GEYCE14QURAU0CUM38BFMGBZIBYM87VMHBZHW03CMWAE3LEQL0P2CGRIA4UV3RHXLLFPQXPLVN3BHFCOAPFD2EMWO47ULIWJWCEYIOH17JBD8AS7RE7XNZBHDNHJ5XVA0SIK69SNQEKYCGDJL2BW30DUO7ATNNJFDN3JT515GEJRN4TTSHQ1C3Z760UVEXOKDQFAMPMVN45W7T4VZS5QQJ9DRR8X7BBRW4M29SO28ZZ0D42W1BASB2YCY0VRC9W0UV2581QIR9JBZITCM8BF5PQA5LCTA31RPWPCN06XCK8SXBM2VPSYT2N0OXP9Z3LDEBZ6T8GZXPK2WQMVKYNEK3T12WNBETNOAY40DREY36YYQ552EJKGR12OWHE1077NC46Q5RCHMIPYIRGK4HA6MZS0190CVONLQQX2IESW62C7YBMJ7B2IGR751Z4O0PFN2ADZIM9U164X12JXSWYONFEEW5NHEGFUDIQLSMYZ2IC10H09B7Y3784SDXBV2IFDIQQA4NCH1NIEZP74MSI644OETH78O61VW3WQB5W0MMKMW6YGICFIVYET58X8K37ZS4BEAFOM5YWOMSMLRPI1XQBJI3E4MWQVMLD75QIZB0H8MKJ8VTEROW1OJFAT2RTCXVOJHWR2YEYSWBCQXQVCBIAH9GT1F8JB7OTNMIQFYHWA92KAI6MJNYVPN1ERYDLM8WCBWCQOSBN8Y4NQ2O9B0PI9OBY7PCGB72M019W7KC3LD033WC2RXU8GBQ98HB9DZ5SICMYTOG9MI03X76OPBL2DAFP16305X2GWTJULL66LCGP70GSY3P90DMZ48SASCCYUVJDH81XEIUDK3AKGDV5UO64C1X2ZIT8VS8CFO77H65RLUC. +36#7KPZGFO88H2AMUJPI213LRIN426OH9E0FPHD2YNYW8Q6RWPXIFKW8JVNGS38O56M8ENXAI7Y636IX6PXWUR2D2WMU5VFDTQINEN8LGNSL19MEIOGYX27NSEVW8HYDB04ZL4XDAY2KXP5N1QN0FQ9HE0Y38453MMWTHLE5W8PLFRT6LCOQI966YVBFL4O9RGNLLUDUW0NVAHDX54XTRYN9KAH2HURPBYVIGYS6AMHWHJWSBA6X07AY29EQXF70V2NF6AQ0Z6M4BWG5EXRQ0JPZG4ZA00X2KEABUWSML75Z9MQPBN8IUYWCLSJISM6V7UN7JUKSIGSCT7SQ1V55XL7BD8212M5RHER9QVZMWW5VBGN8FGS2KPFWIKLX2HT3FAYPNY4IKAH8TC75XPG14N8IFYH2DYJVQ06Z1QA6U2BABKS0XPIYHQ1W2E7CWZC25CHDN8WHN6SWIB3DJ1POV2XS0KEPJ9R9WCVESAPT09AGGY7205EP81Z3HVI5ZDY7X6QQ69Y68ZNTVTTD6YBQ30B730TEIYGCIJH7VNXU4B2GGDFGGQWFCUOJ5R9970L2ZTIOSYN7ESA5X8RIV5P7SP48Z4JD05E2ISFF4N6TA78079UACSNHX4S4PZ2S9OUEM2TD3EUPUFAYUICYL8V4LCDIIQXMC0VCE41SS74EIMMTVVBJZ7PJ1GDBIUFY2JF73XLVVT90DCQG4J0XDIH02NE2IUO40ANWNR11PSK9VIDZX2OCDGP0PQRR18MK40P9G7O0LJA4Q160XVES3CZZ6LUA5GYYHPLVSQ1Z820Q6G58JURMGNR04KMP9WAVXXKBJVNWFMAITLEZSBQX3N9RU1TZQLSBP2S8ZBJ57OM900XXXVRCRMWJR4OQZDB9GR1BDW6RNLC520OFDUDSCG6HAA0JTGY4MI8ICYJ9N8XVSQYLERJFS8VPYI7U7RFJKKD8CXA0P0UTQNRY21EC6J6QXGJL2AHORYXHT2LWPZM6SHBQ0TGER1ZUX6X5Q4PT2UC3IZLRQFLMEAD7GZN68TJABV8KW = -36#MJWG17FJER0VRVP8ETNS51V07IXOOUH9EAW1U6V09GN3L4HBEAWIDX5GHXTTQ1UYB3PUUKB6GN5FTKZOVP97TOP3GXOIKECO1CWPG5VPZVYSHBJH4MALMIS7HWFUOLAP6D6ST81BB4GLL5KN65MT0F024BE68RTFP2ZVWSEFXIC6338KQII8CB0F65KQEPHWEH1BS0OJD10BUXM460ZA9P43QM3E419W0SB3S0DWBNIOGW6QL15PWQUW8Q14XWSL474FROWNUKP7UY3AMBEBVO4TW5Q3WZLB5N5JDIN0ZJYPXMZJD2WO05YFLO8HC6UUTEARN6SKIY0DFIC253XTCPUXN8C1F4FG7DMO0KKRO1T5TOA2OOV1TJ8KPCW38NLWHSDFUV22LU131QBHAPD67ELLB84GD0BK3WQIMWBS15R02DHBSLDWJQWDVEKMM4W18HA89UPHJ9YA4CUIWQP5FYRRO7V2QWLL5QKHPWB5KPGMRRY2WGYW * (-36#C3BZN1HV3NONEBOOGR7K8I7BLURMN0PSJ4JB52XVTDX1VCOL89RWCND1H55F89DACMWBIOIIATLIBFIVJLFR90WY7FJLIH72OXILS9MQOSX3AC2YI1L639DXARQUDTCIKV0OPSWEJD5CB23KMSIHIP2EFEFSY88ZRZVMS8GM155TGVTY6D2JLDGBII46077PBJG1MEYQ7FS9NG40A7U7ECL2T51AEV962RXAKD8DXTP0FXM3BEBVZLS7UVKZN8B53VZ1GOJNMTKSS433WN49YAKS9HMDCYIKR2P8KYVCMDM7ITT87P21PRCCPE227U76G4G6H9ZZ9GO83727TQ256DIN3J4LW4B8LO3WUKEBPUEW9YQ4PO8V6J9FS5BQZ2QO599VXHTT2GRLP245TK8E3RHT0GD0W0LXBH9PB3YIM5PMSRAZWGBOE2VXTJBW91QA609JN9FZS3CRW2ESJ3WXNNHWN0REHNKROIQ74IFVEZLQWQU5XD4SEOHJ8FH5XOUATMEE4IZXR0WGX4J3J0W0Q6KXCM1F3ZKD1A). +36#3UUME2UH86QX673TS1HH9RRESTJRZOVUBMK2K2LIDRF771ZS32EN1O04OMIZZP8PAPVIQH4D1DNUTQLI2FPCUKNDGJ58OEAK3WG = 36#1MHRMQ9BI8DVB7B5JMG02LJ7ZDX2EE8PNT4NB3QSHJADOVJ67Q * 36#2DGEXDD250P5B705GG22922O0ZIGLPXJP23UPCQB8O1ZWZJ1NK. +36#2SPL4ZDQY7ES6RM3MS3YH76571NWWBO38ZMUGJOFIK8RJTCR44 = -36#OZ5ZIF75EMHQEUJ3UTSIBXSZ27YHYRSRHYMHX0GZLNLLDLZQ1TC7L9KWP80U4OHZIYDOT47NXDW716R7LBS0I3YHEH0CF5YPPK div -36#8XEYCDBQ6AT7WN2LSTGUYHQ45Y7TE60K7RJ0AKCEUYDHN69JE. +36#1W85VQ21B8K8VER3R63EICLT74NOTIKRLIP75EVXJKLR8ACYHG = 36#5NHUIZ5HJNB6Z0O1SRQ4VMHDZJXHBI1CGU0GVS39QPGRY163A6OOJ91A900I484XRONY0T19XJJUB3CEQGFUESICXETZ25DXRFW div 36#2ZDHZQ4Z59I33905W8OSZ59RRPPG79MJ7BSJTLEZ9HC15D8YPB. +-36#3B44MTTYC9TDGQWKEK9MCSD9HKCAGGU6EC0XIMV2CAOD2QQWB9C9VB8LX4J4MIT29VM4YZ2PXMBZSHSCTJI2BITCX9PHYLZ8ENFSJJQDZQLZGXK00SFC1DH23S65WH4B9AHG5A8XCLYRSHVEX8WMVQTQ03L14ZP6OM8GW8KX8MGOYABYTO0UD7IX5YVUVGFC14T8C6Z00HOKSIJ6PJO00Q7GJ13YSAP418MINE3S8U5242GVNEQ55DD5W7YYNWF049U19FLCFKXBB0UNB6HUBRXFIOC4NS439RGXMF0HTC34NF9GXJCB25T4ETOMEKMKVSPF6IPO96BO46VHZJGBGI8NPMD17VLT92B9DUHBVO8SFAQZR7UH7UGQIDNX1TI9A4KH5YTZE46K8ARS35SK4XQQQZ3037G3NTTRQG63HOO6KUMFV1TUF0TIHBKZIX82XVAYBNJB6SX2TDNQ7A = -36#2QVYIYKPBI6NQQA0UX46WCWH6TOLZAAL83E1MM3JNLJMNUJILZ * 36#17D380ZHN1UHN7UGX2OCWIS555H7B2M44IIJ2KJRL8GH72VMK8L99R6DW2O3Z984Z7HSQSY3LIZSAQT4RZYO50715OVUIH4Y7STW10AKJSK45ZWQ3RSM8FURAUOEDZBHMCVLPVT75IR0QRJEJO0SYDUCCHCNO2EUULD4CH76RFJSDWHBR9M0A099IMRQ29OXYNIXONKCINV43BUD6CN1GF6HK1EUTSMZBH08XVN4PIQQHXWEU3FRZSZB6N9MP9D48QJ8IGQP4OI6ZD2YEC1LXGEVDMC5X0D1ZZSPV2FBI6BCD4KU0EPBT4PUI7FHQ3SWCZHABFI4ZMT2GRV9TBLWQKR8WSRSLUJ4XQARO67IDXQELGJX7WXC4G3YK2LDY0D8YPD87160EQAYV7GTW939X1427DTAISDOQ. +-36#AJ48VCRIPS7TWG9QEBVD8OHHF22LBC02M4FUUXSLA43YBIEXD0GEP1J0OM41BGICM6B1Y2K7UTLTOBKEXTHKQ3ZS52P30SBNL3MM37MQP2JD553BAE7TPY8J2WJ96FBTOY7K62RS4BAEC7FZKACM89J07ZSA8XG5L9996GYQBKACUB6N5HVFZ29NTWIFO8CECQ4N5CLJCV7JUF9QQ5ORBKEC7299ZYKRPG1RHCG0NOJTALX0PBWXYL7GZZJELE266BJJ8F70HLYS4C8LKE6ZS4Q6U1CGDGD1ERX4D612XO1ZY56OEQTKX5QU9NAQVYRR1ZYSDTRX3KXYEFTDR387RC8WRLZMRMN8ZP6T855FNG0S195XOTFFGELXMVHI8B8IXLKFDIP3XVLA2BZ3U9VM1YN2TU6ZTQDOKN7WR7F6O1JGTXJGO1L6TW8CC4CO2NAZ9GHPZL681XCSUV1U8L55KNO22X5SSSX6XM7U77QXQTGWG5K = -36#SSJCV5OO99B7UDE2ZE1QCDB8GSHJS8OEAZ7WE4SYBUUY0ERDY03FXSSWZ5ONCAK061UIA3XRNVKKBTJII6L150DR2IW2QVM8TZT85T77HNIOO9HT76HXPQV2BE * 36#D60MI5IY9WRXMCQTQMOGHAFFSAEZ59R3O7KH0WVJ6DIYXKQCLP1MFOOZZDPMHBUT4EOE7U68NECEFJQK7EOQ6X07V2KJTE2XKD62546TIJCB6OMPX6897KWBTYJL8GRIRCAZSE2717GIX4BPLRVUAGXPBVVYJ6UNEVARZUUKYN93HD1JHQKYHNM5VCXJ0Z3Y9XZ5LYIAM6ELQ0VN5W5WJ1CJ6I0GXEWFK583JS763FMC2FBIWQHNZTR2OIEP6UWY6SFTJNI82M07KESQRUH0S1AQYX07X2BTYD9ZVCPL1KSBN128NTPN4PSSPKFY0YEGYJ14Q1L4DMAOF669V2WFH6K81JKP1LPEBPHUYYQYO27JI53PCDOS4. +-36#2DKB9IND1IDNOQU50TB3SKHKXN06BJA17S8MODRHU6TQ6NHIUNSKZRM5WH8UCYYB6VNP98KNBYUI5JXR5I7XC4Z80T7OROOYWSPXSOGO5XAZWIDZ6KTY5PV2YMXVF5BNOTFNQMXE2PQIQLNJNT77LOWUD9PJ71M109PRBYFVRAYHXQI38R7JHQ9YLAMU38YPXOS5YHL7P4YKNTJ9KSKV28H762L8SRSW88M5Z9TOD5EJ10YAWMFPMU1I3YGS1FLZI5U2PGJMAZLX6OBO4XH5OVFY9X89UV14SW3G8ZZ30IHY8NDA3XRK3YOMPC6HFPFQJO3ZM22F7ZRKPDGVCE6BJDMCOGPJRTVEWIA7T5BXT6141FURJ9BP39D0DQ6CBL3QQOHLIRS5UFOQG1HKVO7WECX7CPQP5UYCZLFTWHL8PCEF99XUZ2OZ0L576JMTSITFU3R8QW89KGNDAHGN29P15AE0EPY87MD6IQLUEQFDWFCQZGDQGYG6HL45ERQ1A4NX9S78YTSRED64Z0KPF9DIRFOPIHULFG89YERWQGOALKBYJRTNGHSG8YY7N8GAZ9Z9MDC = 36#YO05Z05WNYFF8G01FQHM0YN81I3LA7TSB3577CMBHIAUUIFLA3DY6PFRMX0SNFJ1A0UYE3MTXSN7JTCNPQFJSFKTJU7HTN55ALBLUX8LHQU69IJRXAAABPR83EELZRXLTR00026ICFT06TXWPG22HQV4DNNLTD71BTDMZ6RGDEAAOUDA48R64VVRXP7HKX6BG0SKTOOYCZEOVDRYZ7OE1JOC414FZ14FPA7WMPDPEJC7UAHAVC1F5PHG33PUYKGQAEASHA3NGJC7NVCJBY015REL1VNI9WG0FSDFURV9GFRY56Z7HDD8JX6LLS4ZL678JO0EIMDFIOZAJ24HEHFC58HZQ9RMQCRHQ2CF5JGC0I4BARREAMZVGLFM1VOFJEX0WOKURVWMCJWROWUK5ET5LJC4CP2Y1MHE49TNSM12MFUQCU9UBUBQP2YYYIY5B1A1HB0I89F36H03WJZQ7MQN7FVURPWJKWPZ3OZDCJ8ZG8604CX312BDO2RYO5T4OLRH92EZBGKFA5QLM53OG * (-36#2GURVYLAAGDI2IGZTELUSWNQK4L7S8XU78VCY6CK4NM5TJYFWC). +36#2E87I1JN656QNGXIC121BBWATO5O5NQ8UQEWTMF0BSSU4VNQRL = -36#1NNOXT6ICG4N0INSO5PWPGXZMQBN7GAZ6V1TVE3MLGTBE433BRLHB25WQU8IDW0Y3ZTXVWWIO3AARGPC2ARCC1BHVCPRN53C59BVR416 div -36#OWNNBPZ1GU7595MOGPIPOO5MMCVDTQYBP18EU2ZLDV3CV66R0DOYI2. +36#1T75QVH2B621GVEW14OB330ULCN836OK1BKM9XZTOOYYIIL2WK5IIQQHKCGHG7XQVLVLBOKIYGAES7559GANGK7721JLO21KNF4MK3UDLZKBG2LFUBM6Z5E71RD243BTMBF3XY14IT0VO9XOOA908DEXOPG4XHW2O0XIXI8JHMCQAL64A3AP5TLM637JY0GF89QGSE82XP95GFLG9XDB54QXV0P05K3V8DEBXQJ6TBC9OQ19UF0FL8JFPKGL2B6CE2UVVMCWJDJD5KFNNAPP1TF2BHBKEGM0UHLV20F6U7GAEOX14BJ8URZYT585SYJV1EV535HQ2TPVGQUWSY0NNW8O904NHLGMMWQUGUHJ4LL4J6SI4HGRQ2KZY9N00IJE05J8T8ZY65PA6H4OTSVB25T8REPW6TYVZIRU2R6W4KVHZMC9DBPOS42FNNMO2CKH861H49MY9TP6SC0YBS725ER7TML3FRVOPAXDAMEI1ENLJS848C135PDFNSG875YARV107OXCKTOA4G1CIOX2G9A2QWV5SREU0HSX2SQ2OW1AJI4NPROAAC8YQB8CAHKX01I8J4H5HEYIKWIZYKXDYRCYMGW9NXLAYAO2SX2HC89HDAW00S6KQDJCSB96ZKZMFJIA036H2SRZSYORVL76WDBDEM64DDRJ94DRUJWZNI1D6YXRNYUUQO9AOIOZ8Z4IB8Y8U0ZRBBE4R7LOW1AQUGC2GV9GCH7ULDAUQ4JGUOPB4ZOXG9YXEWCIJZ4WKHTMZ2NAYEVYL5CEQED1OKWFEHCGO90U3A00EZE2ED2ISGN9ENY8EW4XZQK2O6LQLTVFLC52D566L8T3NFFFZ2BO2K4F6ZYV7WMWAE80Z7NW445PQLM9O1VSIUR50062TDKMV45VZB8M5LDKZOIBHTKWZBXHCLRPCMEY0F87GILG03XRSRZ5RQB3FKIQKG0L2A0PHQZ63GIGELEHP5B383HO2TEXEA0UHVMX2ITIUDAPG5UZQFZHTQPEMSJX3DN9EI0KGPFSH5FZZRFKZ4MGR58N6VDZZ59B575HQT3DD8NOZN8PANPAVKMOP56XDP960T9F69 = -36#EJRVA70EUQ4VXC1PJIVRWO8691AKMXD8OVUM7Y93E2QKWW0AAY7LONT6M1BJ5JYVSIRFX802AZH5NPQ2W187R361K70DED7HB2FO8PTMTREX9HXWDEG50VTXS794I2LE424OX90Z8F73II4TQWFKPRXF89MUV9L6UJ0VG6BCWG6HUQON5PQPX2C0SE79OHHT28QSI056RNVGSTDX8T3MB7XA6R6P5PGLENSMW7AK7J5D8VLOQG5AZU9Y1W1V7QI31SUWNZC8VS3WSPO54ZENCVLS6YX4JMR6VY73SEPZAR9YBUYVRQILO9VK0PYFC2BA7NKQB5TPOD4TRD2OGJ430R2LFDN7VC7K1NBSB4PJA3YA5N5E58NMC3HM4KH52SRBP0D97BDDRRLBQ5ZOBHWVJ5RLQHGTXGIPSFKSWLB2GAMH1NNNS2ZSML02V84LSFKE5SXL2B1YCPHK3931TKZ9GS3NIUTB7WTSY0AENKI4RF57SX1PE6B5TRAQKMTBRQJDYI6XGY6HKWUKMXSDKZJYQ5XDLCGOUWGEL6XR65VQ0RQOV3GVSHMOV9GFBFDATRL0TFCAHCFEYW3PI9W2QK5097530GP981LQ51YQZOURG980EHUH0FV8ZCXTBBXHTFTPWHOF9J8EOGGOV8RRYTFB1XQBGJCGRVKA7A9N45FXDZEG5VBM8T0Z6YBZIPLGEWZ0MF820SJEQJ3Z7D374ISTEF05PR0PEZSBI3SXY6UDT7WUIB3WTMTIX0BWOZS0NPYA8VRDV3HX9DTLRMPYU328TL16BLPEH18MHPN203FQ6FE6AN6TZ03XV1JRSME7VVZET28QKTR83XX293ATDMO24JGZXK8EDEK6WYSKW3YFGWDJ5DH2J04EFEK7RV65Q02D7OIHS4R0HVHWWQ20FMNQK75D7UNK26GVT4XXHGET47Z5XDRO6V9219DFRIWON8LH1RHAI09VR95NKYCSV33MQVY0IEH1V4IGOP9XWTMG72LJQQEY77AMPLDB6VWKVRTCKX7GI60DQ5IIQ706ETPHXWM2B3PUP4W7VS6G9R374YBDXBG3GBHG5CTSGX55FCJW3WJ1YGREVNS548AC6RS7A9QIR947P3F3NAPFLI9NI9J4R95BZI div -36#817E819LFT40VLC0N5ZWNYTJYANPQ01LQCK0MYRB2BE7FL15A. +-36#1WAGKPKJQI0QF31T2LMKIKN6B06NO8VRJF0V9BX13GVE3CXAV5BMA6M8R69ZGWJGKF6D0S7ITP41YZVL5HMTJW7BJ26ML1BQPRYEM4Z2VLW52N = 36#EK8O6W1AZSRO6K1XJ2O7QP7RZL60PPWR22ODSISJQGOL31ZZULL64G5XJS2PUJZ5Q0FN6CULIVYIR0TLRDC1SN0VJ5YTPV6PPBK3W111AAZ66JEE0GR5SYKQ19CULS2HLY0RV9A4BGSU01V8U863NF37QOTJSTMJSIC0ET9OKHK0P668R7AOUTYQ4HJBWKDU6YISI22594HOZF2AELBOIL1O7GP9CKFPTFNVRF619DL6JS97SAFME59E3AZM1PV9ZAN8JK div -36#7OCWHJQ36AIOVH6767BB19OK6OQRNWW6X9X8YEZKZ37YU1O2MWYSZF06TW8VRLS9TU547JW82OOI9NNP4XD5GVLR1Y776URDUVRQVMBN4W6Y8X9WCK4YCI9KCG4L1PI00ZA752GR9WGWIYKXN7CHLFNR4. +-36#1RY60DXDV3TGW4V7UAOXKAIW4LHT6Q8S4GCQ9H99M23DL39B0HTHN1C7JICF23A4HKDYLLBAIJHQUQ5GFX08GMVISM9L1UNWSJUBAEKE4FT5ATGZ4MCWYN0LUEB5BG0625EGQ0FJPD11CMB6OU1ZXIXH4NEQI25X4JXKLAJNFBBZK90HI3HU8FRZS301TEOZL73S9IIOQTIEUSLEE98QEO3B8RMP5MIECJCZTYOONL9WJD666KRVTHW08YYH5JFTYILRKX4VRT1OQL6ZI41ETCN0ALCNGWT96MWIITBEV778ZS0DX03P80XI8C0DRN6ASDS478R5AU5JT53XJYG7G7D39OSNDI05DU5TLSV3M4G49C5LI0XMFKNAMCX8UZUBC7G3RU372PPXLYEFIUB0QKDHJOYLRZBREKKHNA7YG6QSWXJNHIU67ZAUF3W5PFK58XR9G5FIXYBIM4EMKXOJBHD4MYIVZZ02QG1UMRJCQYIDHRILXJ985WUKC9RKKSQ5SOFHVOHPXY97Y9RI18T63V83Q1MSSY82MR68F67PTD1LKHYE0ZJQZUNOKP4RNCPQ927QUY3QPSMVUE1MUJIBQVTSPF8OGGGWM33NURXWRCKCJF2244ASDRAAFYLTQRYSEUXGNF6823BI6BDDICENEHLHG1N18QNWU215P7T5XH8XCYIRKYPOQ0UAXAWQZU1WIHTMXM6LK2LS3V78JFYDMX61AE2NM99 = 36#264COD3CGSWG8V01GPXZ08Q8O78GTAF3HE52Y2NA4SI9OSNYVX * (-36#TGW714FQ35HIBNHSHEFMR82YIW43C3I3TMA7LSXN1B3NR5LMZDUZLNA04R4UU7UYAG3NMDOWO52M9A1U9PUZVYT38QG6CUP28THVJODFCEK481A3REC8MGE74YIZXICDLUBISB1TTE6IWW2QO03SZS93DQAO5GCDZNHU9P44AV3VA2LA0XM911QN2FEUC75JWYJR90S2S7U0LL1K23KB5H99UCOOG72R39MA3FSYC8USJ23BXTM8Z6URBR5HWQUAFH2LUG6D01S7BWJADBHXFQXKDFBL542DXFQBNQ0U6JDC1V7DUJB6MHVFR0M32G98DY6025E5XJA1T8P8HZF1F2TRQCBUWSB556PW48RD2X251MGLF5BNUH60K76K0DT3WC9UWKIVBYAGVZC69ORVHSSF3F9M3USOEV2CQ1VB1M9COQ1GBHFE6UEP6VOEHTEPDKBFY1MY6DUZ2HLICDNN2QLCN4MRZ9DAWTEG3PDWY4A5DRCF6IBEIKIGRBTFZRX5EFK5EW78MCKS1M1I8Z4DE1T35H1VCTQBFUJMGA5NAN4US4ZU2MMZIB29Q4YXEENTHSBJ5WNKK2FN9FGCKRB7CF7H1ZVJ6CQ70EX5EPFEZXVTU8A1PKLVWI1NSN24LHMK8BCZJ5WC602ZPRVKQO7Q81XEXD7P5Q0VYSWQQQ28WJCCX). +-36#31M32VG51KKQSBQX8NTJ4XG3LCZ79ETB0254VYC5QE990I0LGLPOJUMF59ILRZ1R6FXWWMPB158ZK7S = 36#M9673NGEBQ25VABZQ0MFHMP98JXBC4AVM7AHZQO7M7PNQRMTN13RXHKPHXG8UYZ2106W1XC3RVE6YR0G97ZH3SN4WGLLQ7FZFN72R2M6B2ZTOKVJHBA3S4LPSD2103D8SZ2YZQNPO87WF5SEXBNV30YHTUB1YX0H1KYYG4KNHEC91D4WG3RJRXCW1WEK0550UZZ7BWN98QARC68JOQ3TL3QV4T03OCVAOT5ARFE4C1YYHKQI14XOIW6AEHW8VHXCYNSJA26D8FZ96N7KNCEDZ82GI6Y72VC div -36#7B4JR5BIYVKUTIKCGYPEKK6YVVZ3GN4I46KMF2RZJ7N71X4RYZRLSDSFVZCRQWL396IPV6ZJRV7RM68QI3GKC6R861GPRUQXK5Y7C6P8RO1T4YNGM1T1G9MJT9OP8R5EPCVMWXV7KJDLL1NPMI1218GRUBB09PDLEJD5SLT8AUBX3HMAH5AIBCFMMHEQV9VMNRENP00L419U2TO83. +-36#76BS1APM8GC26JMPXSHYW4GO0Z9XP6FCV9IVID4Q31PYPKDBJ9L5JT5K7O5FW09ROGZ41086U9SU5984SM2C8K3T59F7ODE7X6WZFMH29HL8R2NP8I36CZYC5RSXRPQ5L6MKHDG3P0WSDDXOJQMF3Z6H8L2UZKYLMR2D1D6Y9PRMNQU01OAPC3L5QNJTWTXMXB5FZ6VKO6A1S5HC59TXCK2LX1SZ2DNA1RUUPGOOBBTE61SFBV2QT31IHS8C15CH6IWSGYOZVXFPH0ZTVNX7RD76HKH21SOE97PAMGCGB5OE6DJ7WDZUOLE9Z7Z9IVJDNB4DAZWW1HPORFFXPSKU4NZDGZWP46KPDIZTYPRQ8EX3AFTELGURK2ZBWFQL50NOUN9EQXY34QAVCD17AJO6IYXDAI0JHXFENJBTCVYWWS8UWPNDYRZ3YAPZSD1CHZ98AVRDJEH5W5DHDLKBJDG4Q4WH4H55S2SI6MQJFIFR8E9II9R28IPMI9BUK5P1KYN866BD4WIEQ7BZSIOV94YE7NVC4RU5G0SIBWGBFC3M6MT8OY7J5CIEK5VSAL2JJLAP3BC30POH0ULL2WYB3PWJIBPXQL1W0ZWMUK67L7N8YM9PRGCIPV1VL23VJH01ATROU4LKHSLFB0GVH01AEVJL00WNFC4YG6RVNF21ZT3TPCSKZG99WGV58R6SKZZKXE2HW6BRMXRX473E6W84UW9H5MF6039XGRKGIACLVVMU8YYXEF6HKWT5KOMO50JKXXTXN77GT8ZKTLF3031NQWIXD50VZE6MYIS71Z56ZOQRINNY8QLC62H3VNWZQANRGXWA5H2TY4S07FE8V6WS6QIYN1UM54L = 36#8MODQJZKS4OV019OOPWYIHPPX5ONCJPVT5Z2RV1QTI58ABUU3BXSFXDJB53IX2Q7LFSF1FH6YPD7PCJ4K2PHNWK3S2LI1806O2FZLHNF0BX37JETRG41L92EL9IN54C97E8OKY63Z0WA7N0MHY3JFO65G2ED90YO9CQ74IFHSGJAGCOV21E8U2MNED88M2LHXAO5UHFH7WHLJ1TGOOJ5CBLNL0P4T9HBVWB5D5ISM11ISR6WDYQDIL3NZFVIOIJSDTBSGJOMDVB04SY2BWS3IEXXIRWDNUZL5ECVWL2JI3ZX8Z481B1LPJY83H8A9NM70WNDU7X9XCUDQY9XPFYJ75M90B7K4TTBG5IN4HWAQIJ3NALPU44CBGU1BN2D97W8FCBO1LVLLVX7HQ7T0TG2YXGO5YBZC0GFB1GU9O5KUKMUSGTJDM9E6S231TJU2DKDV3JQO7G1P7TB3VS32Y6TH8JLS2YAFGN0PLQQJN96QRVXWLUJ4IIUO1VNM575PMENSWGJGK6DDY5FYQHAWBCPDK7B8GMDU347XFAAWIMT4GHWQMTO9UQ81AEWJOZH5LUEU73NC40F88ZVF78TU6KCRZSLJJV7EMWG99F9VM0OWTX3LHX5JF542BV8X9LYXA2NOE2SK8PM9DMCP15WQV2G7BSOAEDR9O4Q4YOH4AD5HSPMVS1JN1ZPS7NAQZM4JN03VR1OTLQGK6BVCMNJF7FZIMI4UFW52OT2AOXP67BCC5CE7IZGIRGLAFWBT7SH56ZJ2OIT6UFTM6LS9F2GTW2V9APQLZ9WCTK7AD0MNTH2O2OVBX8CE5C11L5WU73TD1AMYWSEG3P10S8KC5793YSHWAUG218FNSQHEJ8EXWJ6MBYJZO6BI0YY6JKR8RSXHNGSFKT36I1ZX0VC9A43OOEI5S1G11L6SKXA1NZHCB0L8TVQYWPOFQB6EQCNK14V4PJD5R13EUS5EVT7VSX2ZEKK29R92V0NEQETWDJPUWEV09ECBYOF7FT7Z4Q0FINEG0ELODE037HUYQH73H9FH63TP9F6W3YLL96JIBCAIIAV11FMABWG4X541QMBMGE84TVTXUE2LZ23SYV38NHD94LAL3WH62AAO2LPG3GVZYKF1UFIITXKKCCG4OP2NXNOUGP688MRW99W30Z79H1OG0XI11RWEOW1G0HPI17KY3BLU00FYVBZVSAOH9C36482D0D716A3RWSRWXJDWII7JFF15YHPDGOAVUNU6HS6NNIBN9QS7SLB9PRF2XEHPMT1RB2H81DB8D5PJBFNPA4QBO9XGR03VX5N9V74S870MVJ7I34TX7KAOD2JXAYCH5UKE2L57G3LL17GWB53SCWSTBY2FKLJ5T99CRVW57BO9IIJOJRK3MKJARY1OJ4P6C7HSNHQNAK3U52FH9CJZKMIX4MQ3A16K7K991XZD9A8EE60NPUUVP5BEQY8NLOO8QIJLTE9WW4UNHZ4OIU3OPMDPKAJF5OAKFN9PWL9 div -36#17AMUNTB5R0AJR67FLQKYNBWH8IFDHMRDPBLM2LUPZSVCMJ7YS5PEJZU06A8B4JRBZ51VE7RIDMACCKJHB3ZNDK0BBZWKW92V1FNTB27N0K3Z2VZRR0J9S12BK12RZ4XGE3H4Y0JUCJJ5CYY0XQS8413FZG4UUWOKBM3Y1EK760A4Y0SL2DOP5FG2FMZ4DQP3XTRDYKY6G8KIF29MKTQ6N6XEC4A2IVLC2BSK9LD1JI6V5CLQQHKGNOU29CYUIAFXY4HZ95YXY3KREZ2TEKF989F86JHDJ0SAYY41J5E1SXVRC5D8188YRV6JUVSLA02PPV9TBZDDNDF1QUM5SAQ77I602RIRK8HK7V15CE8QAXETNCKM5WXA2S5EU7RFU3QGDG2CZPHCRDKHW4SY4ZHA1MQV8YIKUZ7XR3J6SR9Q5SUTKHRDV5NMN9JBJ3NWGBP5UCTUMNTEED4IJJ4FRTIAHZRL4RUF5DYHPWEWCUM1F0MUKNMLYWMFI5TYKWUIXN8YEUKGVW3RPBC7J017ELWQSTPC7G9S040OW4QM8FSAJZJI3N9TWH8IMLJPQDQTK8P7QHHM59AFEM4BI7OVABAGTXU5DFO02ZD89ZQOHG5S1MF7BTXTM1I56P0L6QGKBU06OC3HL. +-36#8K1UNRC54ED3NRPTY69WHSZHYDS0M77J3F9VLBPELXMNLS94G2Q8A7ERVAEKTPRAK2SBKB5AZAHT = 36#7P6HE062PNXG0RFVV4XWJ6MGL15ZAD049HJBMJO5FO7E22PBID9TQOXQU830EJ5CFX736X20D0JTAB4NDK9P0BLF8GS3OBZLISDCD2RY8BQJPCLMHT8IAL06NTA1J7GCB45ZBVLIW122TH8CBVRMN3N3GXCH2HD82AO8D0ZPK1B4MSS8VCXZ2WEQQW9HCVRV2DJONXEN7UWQQOQ6U14SX2DB9QWYI0IRBVYYNWJ5G12EIVTZRYI03YMK0UL8Z7IXMBO3FWMEJ8PPY2DCWJJPXRTMYCY31IZK2TMGC8JPUX0R div -36#WE4DESF8UEOJYHP1VRLZIYIDECYI9654G60PRCIXVDVTBEAXCBUOGSU7EOLIJ54M3JN6ELOC9QF08IEV50UOL3CN1JU0870A32KCLM59GOXAL8N1DI9JP93JJC3UIYKMGB2XJU0D4EYYGV3X0CKNCLEQRTFI46HOCZN4I69OMCFQ94F5Y77U443PW0JZJZVJSFFNRUIAT6ZXII5M6EV760RDDNYG0KCR. +36#EFV3RB3F99KISR6YIYOACTWQAMNVFCU9LJC4TRPG9UAC2NFQ0CMAQMV86CAUPY3QG = 36#1B0OP4UG14TUUDIFOI2I6WGCRHTW4ENMQIN4SGV7OHVOS7PU83T92BM08C3EVZGB94Y3FYP9D1C7927P2OME5NTFNQANMZXV78IZFVRU2F4Q36651H43HTDLPUKFV0Z80MS6E6YTMQVUBW6AW3RG90GJJ3X8XGURH7SV1PJYGFMAVIGD1G9QTMATG0LUZCGLWLVIOYFZ3MN4WXGOAJMNZY6VBEG7MV9LWI7M8PKT8WAHGMAH80N0ZE0YZ4FGQ977KZ4Y6STYMR5X2PBO9JMXHUMWZ0A10AI5EMYTGSEJUN3SV0PGYB1M3747P8E8Q56OETTXMXHN2R7SKF7AM6H75SWP0Y29I35UPDBAD833789UWTEAHA25V2U65IB397V3NQIOVBQ5E7F7RPK6LDG94ZTBIZSC82M8QA1XUZ4N0P3V9WSF10BJAWKXVSW26JAETJ55ZY6LXT9EWT5XQVLHDT14RL92G27RYS8RF4OMF0AOQB7JRW0UCWJMZQAUUZYF6GBBJJS6J6MJ3GL76P9B6JPYQ2YOULP1H16J48N3KUKW3K5F6S1WN1JI14WP40X1903KDJSJ92UN1C03KV3G7R26FJEQH2UO2JB4JHTZQK2DVB4HRPNG1HGPZ9N9ZXLWYOI8H2X6OUGS7FTZ9ENS0 div 36#397SQ99A3IB2TKH047V66FPT6XDWKL2OBUXUC98HN5TAEJAVHMLGCZHZ78KTYM838SM0H89X0I6FTO2AIUUY23IQ6MUNMBH8N0IP5DG1MZICLWWF6B1RDM9XUHQJJS11R4FUP1NTSJP84IB860297E33OVWLE0SG5CM6LJWXAF590AZR8H5NN9L3CNVY1DV6UT6AVTMNW7MCT3YKBNABTST1P4M4CNTKTAWP4SWF35TEUG6PPQM5EK8LESL9XYMCM9JRLKHEGK5K4VSIOWI6KK0E1BLUBFGMKQBMKZ792GPK7NF1NIAXX27IZU3O923TSOGUEETD8APGR5MX8LGQAT00CV7YC3ZLO9B5Z9V2EAD5YGF7Z4J31NCCFDWL0T5L4HSQ1VNKKJO63T5Q88TXCTHU6J910GTMFZIA87QWZ7MXGS5QAD6WO0HQQ83Q5NMM8AUVJ2W9T1WHMVHBU7OTFYHNFCZ6C2CQ9RBHVROYO6HW6IWZLOZH9A998R7EBK4CHXGUXIOMF5HYEXQDA546AY2O4BCC2DXN98MHUXHMJ5TRMGUB6NAANOTJ4JKSMI3LTSLC0QFPC335GRLIGBV0. +-36#C1WBAKSDO7KYA7Q5UCMHVFG0FAO43JH42LLRJBR1R1ZF7GXOJMRPV1G5E2EHLI18B4D48OYQGP31X2FNMQQT8K5J7K05XOXKTYIVA5JVI46LACW6OB6YPK6YM3ZOC45Y549ZZUP95W570D0C9DP0H8U31TU5VTZYGOFH0AA8AXX0TJT35E9G545QNUBDYNABUR6CYEJYLXF8VPODD04E9T7JSFVL6UQ6A9DTCYQK0MD6XOYQ0QN9YDHAO9VULA5G89D4FHM66K = 36#1STTUUAMI39Z05H9AIOCAT8SOKELGEKSE1QHSSM6KDJQ8CUN61SRJKH6708D6APOIP5XT03Y00C7K74RK3VM57YCYLXMP7HSPXZGXQVLXI7P6U5M6FGQF2IHCLQKY257GIBIXR1M57GNDH440IMQ89ROQFR310307QMRBVVOVA5VRYDWR1TI5EVW03X1KMLK4P5N6XSNJJV47JMS4Q54I2G5BZGWMQN8D2YM8Q455APHIGLCW624IBEYDNFVIKZ52C3MU737D016APDB9L7JJQU0KEJP6L8O1BGFG7R5Y0COWQ3FWMNH7LFRDE7K4WKKWMVMMYPC7SNI9XFK4733K6EQBPNZAVE06VMJXGGZ4C2HRFI2WLXZ3D7Y4DVBZJOIIQTRD8 div -36#5DMV8P7FLQQYYDGX8SJG57ZO9IV8WU9DPL4FS99GKZ753JVJWK27Q38E2FTD5SHC96PH1XUQ1R1ZE6A8QD4M0YNZ7EKVS3FCONDTBRBS9OMJ6VQOI38J8GC0979D. +-36#1WINCWEFJ35M5MLTGBZU2OI9607JAQ5S148LY992AVVY9P3VWG = -36#B6JPI8OD3LZ41204QNE941MD35X2KRWO297EK3XMREGQX4KJD65EVESN492BY45BQBL1WBOMWCXYVEA7XNJAJ5XZQ3ABS0U9HC div 36#5VI2RSX0L8L4PMDY14VMFLEV25C7G9G18I6ZTUL96XUL1RXAU. +-36#245KNX2PFVNLQQGPIEM9BBRZTANJEAPS0AWGCX7Z62R8KA941C = -36#3RALW9CHDAPMGLX2EAN9UC3NJZQCM581BKL57I1KT248V042XIQN8275U9L1RDKH006RVWV0WMTSQXA2AO8ALFONY37QQX9GW9C div 36#1RYFTKOYJ36ZS16AML82E2IZEH1IOX82NNK9KWXCUG1HX499U7. +36#1H8SHUOZRTL0A8ZGO6UTIXOXYWUH0H9J0L5ESHXA7VJ92KRR35 = -36#1Y0WD6N4PTSW0EF6EBK0H4GHQJHA11P19WB7UTSCK6MPHTQI0I2D1CWXFJUS1TLDEJI5AERH3JZMBKCR1XBGMOVSU7B6M4OBKII3DV9I93WTT0PNRPCXVYL008UGLR9MKXYRFNM1DXTQT7Y99KS6A3XZ58F6LB24CH0IVNTF85G6M59OFZYBWN03C1IQ6GZA0R9ARY167PQXQTZK4VC7R32U3EYWCWSWW3AMBHIC0DZTXDC9S8Z5VOKVU5UV7FO9DP64ZAE73MH6Y2U48VA1K9U89WH2FHMCH8DC5VNSPPTSSZNQ3QPKVGTO4RZS8P218FZSI6UJ25CKH00LFBNJ2EO2M7CLQ3NGB div -36#1BCGDU9Y8UH3QK7BFBWWTZ999XTG04D7H78PNTIQGFTW8T2SPBHPI543859CY3JSSOHNACU26UZIKFXZ8EMM2Q2HQHLVOSLLF8G0HN5DHZPLEBXUDYKW4OIXAU8WP77BGAKX86G1CR6M8SV8JO1JCJBJ6ILANACZBW84UU8A1DRY7M17UX745P5WR0RE28SB8YI0D1GE7T7BZ8G0TYIN8R433FIK7BZUXHXT1D4DY8Z6PQCAEKT345VYIAJZE4IP8R5DS83DH34JHRUV8IOMA27TI6Z1JZROOW5PD9MJZCTX27RV. +-36#30ZPT5Z7FVSNSMPRU0Z3IXDNTC2T4YLR12FO797OIQ85VRWEHJ9R5V0XY8VYI84GGXQR50P7OYLX3PNJ1THZBTR57XI84NRJZSJ6T4DYWHRDODL7DLV6J39EO2VSRM0GLMZ7VGMU7F9XRVRZXYKMAL7HE3S2YOIAPNSGEUQJTVGJIA11BXSRVF6FHND0SEDKMJBL52W7JM9XLX5GI0RDP5X5AL7I01NQO6A8VLXAO9X9R2H5P228T35MJV4V545Y96RQGC9MSMXLEQGN5MEJGJ0GUWZZT2PS4M9Y9YJ3ZRYAFIWB2DL6LSDY9S2BJ9KM21YJSLURSZIIATBN9UINXPM8NDKY4L74ZQVPIGILF6KY53WCBN0T02DYJ1468OBQYDXWSAWIH04FTG4JD1CIV0I64KB65GX6YB5V8W32SEZ3W68PDZV78I9JY20VIXSBECUB4UPL1SDQOE2YBFQWNMQL55BNDKJ6OUT8WZYG3OJM03MJ6J7AFKVGGU7XA5VOEIG12NP8OJJTADF5GPBZLHJQEC7DZCRTCZ8EFNPOHTGYTXRSK0134DOI78DIRZJPAM63MN2KF8VN478N24BWF40KE24JQVFWGV80FTY5I525RCQPND6F84S0I = 36#OFURFB1ME739LFUCX7I9R9FEAE5G06T8ETYYHD5T491HPO57IM63IRE2LIVE55MIRST0NY6ICEGZPDB3MHE3PTCODB4JFZ14P8JIZ6SOVYAHQOPI2ICPF3GB9BRVYP8E6ZQSS5B9NE4IEGAXY6RXXBKQOKFG17HZQ1B9AAGE2G0O5VACQGCG8C83ORZ9UTB6OCJA40ZHAGTMPEVF730J1BRSD8T9TWUH7JKCWYZQT0NXQ491QEO1L1QDNDOPUM5WCOVHDUROJDK5QHD9D6ZW62M2XUUOM0FTTB5GXBLFBN6IC4QU2EH7GA4S30K7RV4LIM4EJ8PHGK5NRU2NSOJZM9E6K9H7CA200DFQ2MNZ8M6YV8ZNZF3TKO0VVKCN6RL22RCY4APZ3Y70DIECD3PG38LTMSR3NWTC0WXP2W0W2ZMRE414I6W10N83KF6WS7DBMFCTVA6BMWKIVM1FILAXJLKM2FL49UFRXREC6FLSIFXY2JQE11PAHICMTP4JJFAA81R0XF782IXGCJWD1GQF54IVS4EFHYK2INGS7WNLZ4DIY2340BQPRB9TUOR5V6XO9CP90YBXGA2LAM48H54MTEGLNDQDQQW5H0X84XAG7B473EEX7ZGCA62CAXBAP3694RKIPH381W2ZGSNQAP7IUEV2ZJKFJLG7MPTSSRGB2V319BLAQ239DZI3OHBAQA7APOHQM2GOA3ECH531XTAOCNI618UEGWU2IK6T6VU5GZHAZ3QMDVRB9M3ZAT1PAJ26M7RC0XFNKACLJEPN47TBPTQX1XTIQGS1QP2CE41W79I6HXDO21XW0LSWH6F1M8EZBX5AXCDZJ39K0R1CX12V0IYPJNXEB0ECF7DJ610ZLHWGBNROT4MG4IHA4DDZZMAKDSM64QC2YZ9DX8U04FRMSTVP1H0G019UEDXCFV05OISWL6TNUIJYBVP6Y4UU15I0HBKP8RDZJH0DPQ5FJEBQVQAXSXE25ZZN9L5Q5EXWN1B2SL859855GYT3ULFHZ6Y2M2IXMEC4V347KJLJP5WDCP2R41VKS4VAMPG6YZ0GE1Q2EE4XUJL3ASI2ZUPKBQ4WJA8KITLL05BPYJN9Y7DPYQEXBT7VNP8V7BOC93X7SMFVYO4N34MIRV6CZMC876HA3S8XZO317OPBBNQ76OMI00Z95DT1GVYKJ171DIWOQLK5K7G49L9J5PPRGYFOKTLVXEL93WAXC9AM5WQJQ2JF8ECI5B5DB9EAU7EF28R67XRAAN2XIG0RLVVE2C58CPT6N95YRZ171WTEWW8KLSAU5LW3PPUSL8CD2RL1VER6FG8NBL1I div -36#82M56HCLIP2D8VPFIBM85M7NYUI0NXRCO3T4V6OOH7IPOOMC75D1HYUPNBBL08E50UFXPJ4I2N0ZPQL7BYTYGU685IP6KQ9YYBUEY48O9RN8B3VQCW8LCPQH59ME139EDYWLGPCX12ILCVWJ9MC4FNU5EEKNL01RZXP7X3GLVZ3PHHXVXRN03T9YPEVHUROLEPUH1X0N733O9JWMQ8PZLOQBESVTZTV93JT6MHCIP3W8O1VQ20TCYYVMSJG0H5OZYUD9FUZCQTGIAGOOOYLTWXRV2H9769GS5HI59YX9DQDZDVHQ8CWH0UQ3NN8H9ULIHP2WRGZVB38SOXGYWW4USH7BO5IN9DB62XPIHFHX76SBZS342SI9XKXHQD4VOSCEJ48YVD12VKV4BTZG86IHQZ2KGQHCUPWYXOKLZYQZ1NYCD3J61P6BZCO7JZ4TFIAJURXMC252FN1687VSV0JBROJ5YQ9A39J3X0YND7661DCS5CX9L0HYXZFK0XG5ZQQ3RPRH32YTXBB0N6L4AWGXRK63IXV2AIP8GZ7WUQ0CP1BFA7ZNIQPQCH6HRRLD42W49CSRFT7V5TLUUA3F5GVW78G2VD57G6WU5MCFDH0XA3I7A9WR9STT0POVYZC3VEF4VEWYTMN6DMU4MQHNXXOY2LN9VXUNW6QXODD7A5HMV16T758FTGREHUI3. +-36#13WLDOT2YZ9DEZJJJ15Z1ZCPQJKWTGC2U895EQYYK91PQXK7SA = 36#1BPBKNQ4OG5D5PK4Q3NXD41VQ8P1BQRAQP8AO2O7WKV0PU0AQB1DKBRO88GO9L8VHQ6ZPZ8S5S86UXKGSV232O38UU2W72YJSKSTEDLL5OZMQWIZLVNR52PX4E4NH9FF6XBO6RUYAJJV5FXLPHSLVOQC4RM7U2O8DGBEA4URZ6QDWQZCHAABDBGC0RH4MNUVUFRRE59HMCHR8HCIBZZSX73HJN2P33WBFLFE94I9TEUVKBI7C8KLHK6912FF108MS4XVVH4MXTKBN3VD9GFPJI23FTSFL2Y9NGOX345R5K2M8RY54X1FBUIWM085T2232UUQTF7AL7CS5V9E55JZZXFAPN1BW3T37KI0DB983UZEUJEIJ8SZ4 div -36#171950RCFB3LSTWHXU3G6UF08ZDCHNJ5BDHM9ZMZ9FXWLASJXCXTT1372NW99N1H1F2PZOXK0FDNEGNCQH8GWXWQF6IB24K0PDD7WAX4VO00YFKD99Y0NVYZJJGJ1UCL4T8CLKY8VAHO00U0BHDO42EGWHCAN6593QRXMUMAWMEYJMBB2G5FM5GMXO3XHGJIQCMFJ5UZUE4KWF8QYOPG5105AP4PR5F2DNJOGV3AMNL22VG79Z81VZ6LPZFKXKS74Q4RRY8JDI7DWHPLDYGBYWUVG9ENKM0K2KS7EC3L8ISYAFG5FSFM8DEIH38CSG8KEGL4. +36#2DGEXDD250P5B705GG22922O0ZIGLPXJP23UPCQB8O1ZWZJ1NK = 36#3UUME2UH86QX673TS1HH9RRESTJRZOVUBMK2K2LIDRF771ZS32EN1O04OMIZZP8PAPVIQH4D1DNUTQLI2FPCUKNDGJ58OEAK3WG div 36#1MHRMQ9BI8DVB7B5JMG02LJ7ZDX2EE8PNT4NB3QSHJADOVJ67Q. +36#2AEJY7OH28MLAAK9BIYNGWZ1IHK83D47YVSYF3606SRMOZ0XF5L6YPMBR0N0QSQDT2DXLHIEOV2MKA9SWXPG9OJBIYDKVHWADW49CNMPOY0QYJKIPRW0AIZ2RH82D6DDQFPV6DFL8D4TOVTH31IU3DMMXP0GY1GB5WEF18XIB9TSOISDX9166WISS79BN52LIYIE1KY6EGQDCV9AY2FG41I9HE4HHZJ5EP8F3D9IF6K76PCJIWXFLVLN8KPI5OOT5SB9HYW6ERAIYIQDD6LFSIFAKF43KWDVN3Y6GX6U2AT2299VO1MT9WA4MR6CCMFBXPMH9BO3JY03F8C7AXVGN0MT5RS42LYKSWJNURQPQFWZ = -36#RFI5LEQA7VGPB18NA70H9UAA1QGU4N7HIE70CY5564HKD0C5IB04A4KMSSBGAZWG7K06OQSS4E9ZA0DIQG24HXQP9SUT5OS1J5LT8CEWERXOI84G1OG2UN1T3PQR7KTBGLX4ZPKBPX6OO0AU0FMRA9NT42192H1Q11VZ6XZWORZMLGT0TH2UPYVHWKZQXZIRBHQIPW97ABJPTXCXQNG9WJSL8JHCNA5MRKDPF92FQA5QWKJVGPKPDYOCORYYL9UXX5MC1MQWHNRP4IV0Q1ZPFTP63239DUC831E65FQJMML7JBJWLBFK39D0H7 * (-36#305AXLJRZ3H8Y0G0VYXVEL186OEUEURVFIVX4BUXIO27SLK6D5). +-36#Q0K0UY8Q6G4NBNRJL53NSK1684884TWVASIHKZZ9851ACNV8SNIYGG1MU5GYSXBPIEUOCUOD62S88YF8MSDKUOHDS2KK3HEZW0B4S6I52XHBFAZ71VFPYIOUY4SP039L54JSVCDEJ5H50F2PG5686UC3YU6QRMR9MLY541U0846FYZGCAK4ZBPUNH7ZRN9KVXYENIVGM16074WBSH4RKJKO625Z7SNQH6VDNUOEMJDFJJFAFD2NR87P2AI18TSJYXPWVZCXCTSWF2Q28UEQNSMZHD5XZJQZUAXQEABKHAHEVFB00LCS48TLL8BYYMTWS8JNVWTSGLTBANSEF48D3LHMQ9GGBTQH72KCQSDJG0QHDBCV10WT3G3GQ60LEQTX8L1M1TLW6A9WICM6JL46PHWXLUI1WKUH6KIIJK4WYI0E9DFXOFXCRTYSRLIEN7UGZNE9F1QBWYYS91MP53M3097O1FXVVJJIR4XYXRFUQEVT6WCU8RUG9QB0C9PKAYMYPV1CS94O7ZQIMXOBBIMYK56X16UNWU1VP3A340761OH59BWV4XZRXDDFTBF8K28XBCB3R6RYKNJX8IEJO9EJIIS1EAEJVM4XD1YVDN5S2AF98POOBIQODJ9Y56EPFQI4FQJ381S304EKOB52KETKWHUOF876KCIC9C6ALMILV73LN78PO4Q3C7CL4EAJU58NC2SB96X9QG18MNNOM = -36#8ZOL4WRB2JU0JICVAQ33R7A09SS8JOOYNV4M9XHQXL4G2S5P2 * 36#2W5W6O507UO7PVKOZR1UTOLLZDXXU3TCUCX04Y3SG5MXV0FWN67KBOH0JD0Q4M9J6BBRE4RJF15GR50GZCOWLMM9S9TW2C7H298UZ5UJYDYF83WDTQN2ZJ2GUTA25Z4U0NHF33BLEVJGHGVXCBR14T4DRE5WOG84QLK2XSR4X7KT046CSN2EUMQJ2A341U59P58O5EQCM3CDCD9XJ9K7PZ7LYH20HN488S53LLNWN3ZYHZG4BIK75EPS7JWM4O0SS808E5S7CWW01DDH5SZAHBI6T1W5CUMNAUUUK8DWQXIZPLQZAZK4GP3HP3XR8W2DJ5NDBP76O27JUTIQ6MLBG8RL8XSL34QWA35YH86BU380YS3EEB57H3FHP3WDM56A1ECKJ85B3OSIV53NE202HQ8A1T51NDDUSFLOMK8FOYRINXEAHY0ZB54SHUXGVVXMJ2T4PW9OEJINOC7RSUHP442RDKW6WQ8A39E0MIK3EHNPDK4FT4ILZZXE0OM96Y6XZIEB9RHKXRIP9452J53AW0WIARZEVGNKX3B6JWMIGRZYOEQJ6ZCYM8FGIEBBIL0FXA2T05N1GRVV1XLBD7V9UYF1JY07VY7B322KMG1DEUB3T136FP2XDT61P0ARNUQ4476TY83F3LNPIJ6VLCJF5AKV55D3M5RT. +36#34NBROIZ31J51ZHGHR0YF6117GGJU4X5OIRNINIY7ZPSI4BY90 = -36#13847ZQE69ND0L8FCU84UDHP0IJKODHD6EUCUA6WM6X2WJ31UWGJ4CHZ9PJ6K3VZHYGHMR7HK76NVC23UKZQN9X5PLOWDYFGPI0 div -36#CJA80H76OPL0BRTW56G5IT2BBS509LFZ6M2AFZDQR7CUP4XG6. +-36#5DMV8P7FLQQYYDGX8SJG57ZO9IV8WU9DPL4FS99GKZ753JVJWK27Q38E2FTD5SHC96PH1XUQ1R1ZE6A8QD4M0YNZ7EKVS3FCONDTBRBS9OMJ6VQOI38J8GC0979D = 36#1STTUUAMI39Z05H9AIOCAT8SOKELGEKSE1QHSSM6KDJQ8CUN61SRJKH6708D6APOIP5XT03Y00C7K74RK3VM57YCYLXMP7HSPXZGXQVLXI7P6U5M6FGQF2IHCLQKY257GIBIXR1M57GNDH440IMQ89ROQFR310307QMRBVVOVA5VRYDWR1TI5EVW03X1KMLK4P5N6XSNJJV47JMS4Q54I2G5BZGWMQN8D2YM8Q455APHIGLCW624IBEYDNFVIKZ52C3MU737D016APDB9L7JJQU0KEJP6L8O1BGFG7R5Y0COWQ3FWMNH7LFRDE7K4WKKWMVMMYPC7SNI9XFK4733K6EQBPNZAVE06VMJXGGZ4C2HRFI2WLXZ3D7Y4DVBZJOIIQTRD8 div -36#C1WBAKSDO7KYA7Q5UCMHVFG0FAO43JH42LLRJBR1R1ZF7GXOJMRPV1G5E2EHLI18B4D48OYQGP31X2FNMQQT8K5J7K05XOXKTYIVA5JVI46LACW6OB6YPK6YM3ZOC45Y549ZZUP95W570D0C9DP0H8U31TU5VTZYGOFH0AA8AXX0TJT35E9G545QNUBDYNABUR6CYEJYLXF8VPODD04E9T7JSFVL6UQ6A9DTCYQK0MD6XOYQ0QN9YDHAO9VULA5G89D4FHM66K. +36#XI3MVVV1MN7ROHYYR1XOYUCM1EP4LOL4JLPIQUV8Q2AAEEZNUW2UE0QR0YPPIB0E9L6XLE3KCX8F8HVCDDWI260ILSTY0AA12I1E5UJ9KRZONO64ACOXIP0LNB0Y2G3CK88821YXGFW7LFBM3TOJ1MQGZU4SGPD69S5F8P78E3Y49FRBULCN89KU9QUCVQJD22PFV1VQFKIPJZ0JY4S77O2SOIDFQF3JJYMPAB676RGWIUY97ZL7BXP64QKWHFCFAZVRXQY0B2XQJ0TE5J9FNKSH4QA29V4CM0S2I2R7J5FOVZNJ9T5JQG3P23ZXZOVE94E09CY5RQ8W8ED92YYFX0RFFOQL5CPAZIIDQZ5R8H25JSNADBO8X34DDLMSRPTOGV1FYCABXJED3MC4MVMULGSLAGF5CEC831RTDWDFXL2CPQSR2VC8C6EI1MI8PG9H67I0GV7IZXON8TNRLIZTN3N55Z2S9P28M3LJXHL7VU6JPT6CSHMFRZLEKXIL4OPZXVLITHKZF1NWYPVA87LBMMZUZ2E5G = -36#KH6WFPK71XQEW7U1S724WTUZ8RE7KYMMZIEBS6C1XWPSY54M65KCG2GCBUSSDO5PZQYXQHBQ40ZZ4J8MOFLY6II7AW8MNFULIBKUWKDXX2FU5JX2S2V5J9O29R2RCLP94WAWEJQMXE64IYFTMP4ZGTRD2IY42FMKI90GU06MQCRB1Q8QG43F6AYSE27K9GGHN79BUKRU1NPM2XA6Z7XJ0T9KX7130UBX4CLJI5FW55WT4CY9977YQ9E9XVOTKV6L39U1M35D7JONW2DPCQNFNDDVWVK6G1BZKI3VT6URU6WL9EE8YDIGEBITKRAFUI53DR3887YLHMZO5T32QNBC7TS8LJTEU2IH64RS87WAYXGM546ASKVYED8C91GJL8CIMYZJ67QEVA87VCOJTX3RHRHEP5I91GOLCYHLTPMQ5LZJWJS06U8WQMHJJTDEXM9NH31YOFWOXRSQDWHTGNFIN5BE97UJZFK46ICZLDXRDF7L72AXOKRXEUIG2L5Y2O59IFN4RXHIMWOXO8PVL9BQD2ES9JX6FGY5MXC7SIESTRNJ543UUYU5M03EIW4NOUNY5HOCL4HT9YRM2VR3DMCU4CTUFSXM0AJZLD5FQOGITYHA5A2U0H1DAGJ5SJJ4A6ZXQYLX3JRGD9CF1LTNFOCSMG82M5QOJK9OQAJXA1B9UWNIA27HOFTYGGLIPP675MREVQ6ZRJ5WLGLKF4F77TPH4UXZNTF6QXB72LK0LCUT5T0AOS30P3AXGMEKZ9Y00SK7NBOGAADCWOP73TP0VTV0SO7MBXICV7V959ROWRXVLUABR5JY86CF3LU12BUHWF8J8HTRTATRKK0QBCXLMJP68FYGUKWJP9DJZBKI8S23DP1KKNQ99988KIQC7JY9G0ADX5CGAPDTIAX2UI0J8802WN9U9NZMDQ84RIEDIO7QCU2N6X2RSQ3HGKYH1LIG7J77RGH9NJ5AW4UUELL16EK0BUCAETEE94OT31VBUKOSG5WYPGDOWOLOGYBXF6LG5J6NYJQDYL36OJAON3RS21IP2ZS91UZ71H2JHRNBF7K9GX9GJP426CBGASURAITWUJYIB7UUEZFTBS74CCHP0K4OGYBUVRZ8MZGP1YF1HRQ03TA08DN7VYZRVIQW9KDKTOYCR9OHJB3MGELJBEYG4RB05N9HCPG629CV2FDHZPYW0AKUWWTWZVYKS9HNMNZ82NRPT7QZ59NV1224C7JN92GWMDJT1CJ3W div -36#M05108E46V7STT2ER2R2GK7225PJ3ZZDMMPZHZJZF03WQTK8TQ8VDZ1FJVVYJIYAQR6LNWBJDAYQ2LHBZUX6R7ZHSQ6R6DL1XHGMJ7I21E1MKN7OH40D8BAP9RJD9GJ7DR1IIU5304WH8SZZOJGS2Q0DR6ND6SVEPMUL8VTRVRAMIJ6YD6T0268HAAF1OL6QFC8KBC8X2SHBOOL4QM99LIBPOW8PZGDXAM97NCWU28UJ0AXW93MRGR44B5LOW5MHO4GFGGTRV6AEUHZRLFZEW9ZPNKMTJZKWK7TS23NR7KSGIUH2UASNEGGIFHKATKZ01PC6F8DUCJM0KPBMDCO0RWPZWD0QOKSWUNFNIU8KZ7TG8CZDZDRPSQRZ3IER5YKFSM9DS2RRAE0QQ22YHQQ4XGB9R0O3MI1RSJJAFEC0V8KIVRV0H0564794N763XUKAXAD9MIB0BZLADIB44P0OU1GK7DWFPDOUYOENYX7FM4TBFIB3OL2FAQ8TMTVUQW05N06SFKV8MMVLH75CE6I2203U1N4RKRCFXRGBLUO0HN6Q3AVOSOR9WXCNLFZ2SLWJXG22QBT06OZRJ2QPP35RB56CEMNO48R3TUKSB46T29LUN9LXGC8QAGNGRRDO7R3NBHIWS5H1RUN6ROKRQCQWHP2ATTY5UXL5YC2PYSKCLZ0T0HWPABBIZESCR9H23CJB. +36#1IA3G2GKOQA5M7YPUTBVZZKU0FGPQRA51DLNFUFJSLPF2PPGCSVHSLG5PYG0IM1RMJLA8HDG8LTUMF4YJJGP8BWEDQMPHB9KYA7EPOOLNGZY70L5F4URDS9S877O6Q2CNKW6LLBTVIFGU7DKJHDHP53H7KU7VOZG6ZJ4I4Y2J4MDOJTOJJ77WE0KNM41HNLAEXIFQQPK2YWZJLFQBWEXJJPMO68XKQ1I6NQFKOF2NA3N58XCA7LWECZUYGUB0HRO8TGCXJXP9XP4F7JHK4YJH30QG98Y5WXCK0F8IQ738H0ZC5H83PG4YDG5EL0PYBPHKUASB5U0CQ6C0KQIBZ7DS0OMHS74JQPJFJH7YTWP8G9QRH5BCY5L1PKXR184C8GVLJNFYFB4DA70JKV8DFKVAFKS66IPQ7RN6EPKLPBWWZV9VA1RNE8B7BC5655KA6X4Q3DGE7VRLGYIWLDD4ARYYG55IRA52ZKP78HHOT628DXZWPTCBN623AAVR5G8CEISI2LWIG1BKAQSFFHEBEIFP34VTZ50J5BWDX4FA5R8R9T5A9ECYU5ID760Z169XHJZD7R2K81AKO4J06MQMWKGIIZ148OQXW8OHN528BXXGVYP5POQBZE7QJSJAGSL1N16PELJV33HCNXFU7DYEDALMRL1LP2IZMKI0XV0LEZTG30XGRHOJL70XCGGHLX13SGN6NW3VSGTMYOA8I11RJZ6S9CSV565I8E0RKFRXGGPLYK4F1B8Q7OT3OB90OTAWQSWUNGRS3KN3ZQ4VY88JTOQ1DXDC28CN58QH8PA0YIH6HAXQ88NN1NZPL77NYH = -36#ET7ZF8IK9VFPEGJ1YNYL95CMMJ7ZTT6UAPHSBUJOIYVQMFEQ42WM012T0U03XRK4AZX3QLW902A7RTKAV8LH6MXAC2ZYH9LIAX9P9XA7UZGY9VVCJ62JMO31CJMDO3SMJY6CXH0JXPUF9IVPTM66HRFZO57HXMTW3QXF3FL0NXK3MG84CVYT3UAGMC1SNI4HHMI6I91WC9BCSMB591A77HVM6XJHYQ76MG5FWIZA6PU9ZR35S5W8TI7WXERKIL7NO9PXFKIXAQARRHZXBUMPZS7YV4KHLMZ39CJELYMJMT7MDSFN7W5QVXCAPXP7F2XUZS9BBR0T1TLH5Z5V2V9DUGLS5FGLDD7T4ME5GJRWEHPQIOTJBKJUWW93WNAFPTJT8SV6KJDUA2X30QZ4E3LMYKZ1QY2CA0YHI48FLAGUTAPJHJ0SI0JBQ8ES3CXQ5F75OKD8JYZK6PKJ1PFF841C4TS1NQU7GDGHFFJTQZX2VOVABOSA6164RSFPN6TWDQBZK17W3LRKO6C4TGAN37U8VAYKZH2YNAROS9S3ETTXNNFSYTRP8RR29DR49H35KT2DHHKUXAL1EF3JMEKZHGC5FQ1EP4C8UHV99H006E1ARE7270IIX2PKJOO43PQJYZINIU8EFCGMX21S1MRMQHSAYFTTEE4AE4I80KULFQZH2TW8J7PPHUPQD775BUOT73HY67JTFA15SVJOZ1QBT4K8P5SUHO6YU3D6KKZC94C1VBUOLFS5FVBY0C54PD2HR6JH72EJ6Q7FK83GZ20ENZMRJWIDHC71QX7SEK27LFYTSWGZIAB1ZBZEM2DXYOIBOE6PQGX33AZHUPQRYVP3A4MNUZS81QBZRZB2AGSP3LXM1AMK02GPXC3E2JQVTOEEAT5LIN4ILQ0A5Y69XQ91LXZQM7VYXTN9SGUAUP33BBGUYAKK6FGR5B4IIHMO1GFJQMLJWP63D14994L07V164K6ZFIYJ8OVRHYP2XED4L7566VPIN1MC3XR86A5EVPXA5YKTX1ES4FWF5D7EFXHN0GPXQEPQN865CHP2N561G9HBP2WVNHEJ0Q4HY4DAQWHX6AUQTB2VY5290NPXH4GSSXCQICXH5IUUP8Y0LNKMMHHMVBMTT663IR3O7SDUJZOBVIWSMVI4AIZ7VYMQQ0HKZNT7SJTG99N3FUWO3IW0217XKP9GB1CXJMNJJKNCOCA54X1UFRX9Q5YKHYAQ0IOUTGEZWKUIRAF4TV2AGWLUFXS7SMZCKYWN5MGIN8C74N4UXNIOSK6SRQEGXJ1V03RCEEA10R44OUC0CHW4A0IX4W2BRNNE6U5CCELEW6TGK85HWJTF81RJCPCIU6GPHYJ4DMTDEPNQ7602ODQ0BQ1ZUCHEP0L9ERCCPH0QISX0ODDBRDOB1IL4BTDDMCX0JMWR0KF0L86W605EBYM11IUB4DFWKF47OJ6Q2EQKW7EW8G3MW569P17ZBQHQK9A745IKZ5 div -36#9TN7EXIEIZ06B4VLPNE8S2LMMF71KPN7XBI0V2N2M5T6M2ZM55GLNCASVQO995H64663W0WDZM3X9U403DKUHF50ON0UTCADSR4RJU0KQN1VVZV8WJXKMTMJMJDUPL1LRW21TMH2V1UN4YXKT2PCACSKIUHUKZ9XDAMU82SQ1EKHU9RGP79QBVGY2482G5LP1YDAGVCLI25G2SJIX0INCM9KVINEGKYADUCBQDTZNTCW6VDSCDTIO8ESNLYCYC2XHWRO1SPCI3578JW7VE9DP04TIHGXXZQYQWTBUK1EK24Q19SE47H2FFD0K7V0HGYUR8CYPU5JZ7VRANTE7K9M54JR7G0EI5XP5PRM7L8Q43AVNL0NW05WNSCAAZI9R8RWSCEIIFVQJF46UNZTQ2JTCF9NWSR28DSHZJRLUON69TJNEYLMDSD4Y2O8S6YJ8IRTQP1EKJHI259TYN1HM1793GFLCVL7Y5VMG7ZL01399ARDKOZ0UO887884CTWXZBVT0PPDBYU3504THY8UIQ7LRDBZMFT3BW4P8HYNN1K6EV0YOWJ5861L5N260225JIFMYIDNTFH1FPSNG1F3Z01LSWB7X92L0DX24DC4FAKJD16MUOSYOA60C7U4GD3L37Y78N8T2BAREEJOII6R0OEIX3ZD. +36#BLBUUSYVPCSKHNKYTN5A78DDO5Q7F17LUE9JKIAAX5HBAJ6Q487V9XAKBK52C1CVVR267PGXQNCAL4B96RF3MW778MRJ3HEVKXOJ1FWIAM7NSER47K88GDF5559S525US79ERJKPLNZGFB15EPLAKEJ98JFQV7SA1K88X0STQV15MXLXPOQB7FVO4QPATWCNH7HO2TQQU22FHCBJU45FJOQMUWK563TLUZRFXZBH9PZR2RXKGWQP1JB2PX4CV4R6P4F9PJ5LBW3K9WWZY1LGBRBIXI8GH76NV0E7XA3N5IJHRUD8XE0076UTA2RTYP5V4IYKOW1W7WUP012MN7JPLJ1D35FPAZX2B2YX31K24BAB2DWYAFUD9UK03WYSUC86P5FCY3MZH36M385CEUQM6WLROEIMJA0W50APZK2DCIYK888PRQGRRIVI99SJ = -36#B1KOUQVGH3N6PK3W8WAA09HVHS6GJKWN8OEOK79G1NMJ3GSEN6BPTKHDO330K7Z4BYFILHTS3OJENZO87Z4RM1C1OSEA6NK0HU75HVLT31M7ZCG823TEZ5TCP3WXAT4W6OXGW4PW1HSS5ETNQSBJRUQD4I30FPR7BLBXFNRLNEV7C9GOIM4LFF6C2DN4L3VVRHG5GQIBXXXH1N222A14JVPWRBCRZFWSAJRQUWMATGLSVXM4OUIHFGN4ZJXPOUYK31TA7WQ9AVQ3NO3MKENI98QGSPROLWQ256U2WJHM2KA7WWHB75DYT2B0AN4S15DT2OXXKSF3A5R1EH7HGADOAEMU72KHTS1OISYEQHDE7Z24FW9D4D9GUCTKDINKEH2J7EKY7HK2N1V7KC9QXYIVV5HHJFA5NNOLL8YUY0BP1N5GFLY3JZREPI389LY51VKYVKVM2Y82QN2K0QDO4RJIQ7GV24ICD26JWCLNSHTKMGP0J8TQ8O4C22X9Z2JUDSYUIDH div -36#YANHZICHUZX01PJTCN4KDZ1O5099G3S14U2FX77TZQZR2SHK5SF92T98W06LRST4JCMXJ5Z. +-36#2F0MTMEBZG60OBZH7RQ1A9HZI5V6UGF4F009QSICGKL61LYCDT = -36#B0B0L5EZFMZ42YI9HK8HWFV7MO79BYCUBZ4JI73EM1YMMSV6T0CC8Y6FRQUHJOFEZCS30CXWMYYEWBFSNT3Y60DZXG83LBAYNDS1Z3ZJE7F7EHO46JKZWYULBM0C0FV6EN61QLD1T9UAF27QUI5T05KZF5D98IN64LWKDQVG1XETTRSYZ37KAEPP5Q5XIJ0O9PZZL5OKC257VSA0Y2FINXSB0FSKMG09FZQDUBMHJD7U5TGPWFEO9Z43FK767H1NLJQPSNW4KM548ALS6P2I6Z2NXXLOB4ELP0A66BXXGQGOISJMI73YRRXJVV79NZC5TMCFTNVL5CE8BYUFBFRH89ET0C9BTZFM1Q74HTL0M0B15PLS7J19GQ38YJ6QIJZ281HL8XEPDQO50812K5FAHVXS9BU7DVKG45854UHOPXHE6IMRRADSOSK75HFMHSIMF2N767Y8M5DCPPLWW5NFFDC5VVX55JUNM3IMT6Q4AFFO038FECZZCHX7Q26K0YLR1MRYWPV2K6WIB3RRDSJTRQKNCS7YVRBUYDPKIUB9TNJ5ORUXYBUSG46SYK3R73I7C7O1LI38MDWF3EJHA02K4VAO9A7QAA88AP7BOWGKLRJ4WOZHZ46OP85LBTLPUOXM78PV7PQN97U0MMHPRHUMQM6N32HQW8VNQZIVSDBMMHXYJGS9IBJ7A7UTSYGZNSI6RJ2GSKYEJBDX4QVS94PAFE6KQY5BZ8LH6OM6X46YI2D70SKCLJXXA62ODPYS2CBFRY14FIUE4AHFS90N6GIB0H4LABC8PAG93CPWT9XQ9IQIW6C09FB1VLDVQLFB0HLHYQ3FVG59I76K1GG4D2F0T7GEDLMD7R787C2TGHGAA697VHT56TE6VSXZ50DIDC1YK24632HT5M3ZLNUZYK3PM69E9P91QGPZPXUM3WFK7PAPUIB7Z2JXO4A0KS672CYN7GIC4QJ44XOEKA8GKKSKJATU div 36#4JYEC3A8OC3VSTZPZ4VXDXV5NX8TZDIZGJYP90G7CK22WDXQSU64PHHSC4GU6U1CCU69D4RGJZ4LMG4EFR8I64202WZPBWA2DJPTHFDR1L0699GWAS1CKOUJJWD8YBT604T17PLTDF36WMUVN5H4RSKGZAX7R4UVF4WTR3OJ4IO7QXSJY3PDKYC5MJMAPCMLAGURU1RBJDJ4HS093GNIEX55LO8DKYEXJ81ZZHOSJTZQTSZZ9B9BPC8BG66SFA5OIE4WWNY1N4YQYFGYDGTRBKAZPRPYJHBLF25IQCFK9CAHHHEVDMJJNI71BXJ5F0GJ26TCFE5OXEBV25GSQWS82YFNZ1V4A6U7ALPEHEXPVB0RWLQIIDYJGHIMF3OGON3SR3C0LORCPOLYEPLK7ZM589928Y7OE7B04U5KCTUVQPKFCLVW3OPY05HN57THDZOZE5LSREU7X66RB79VV51CFEKBKS7Q2589EN7L2K0DBFXPTDME2UOU2UGRG8E8NEMB9JWEIWBWNM60N1VG8AJ66D7UP61C46FLZC5S511037SIEYLYM7AML7PYCPXIHARSHAWY1ZZP3R5Y7B7F29QUBZV64F7ENVI57WS1Z80TUH1IBMG28W0AUCQ3H93FGLVL1CB3YX6C0SH12QJEZOLP36FW0M1YEJJ7HU6PBX9AS9UX1XYKCKBAM7FVMGJD3POXQ64XHPECIHYJLBEASW6D9YU95G7YTO1PBZLRBSQZDGFVNZA9F940M5IEKKPJ63LDOG3XIPFVTMT4U5JBFRN2CWLAAYHMY0X5CCDZ9POPQADKL58ZTRDR5S4OEJ16FY8Y50YQGCUKKV4AVLDUQM24P2LF30UPTM1IDQ0CEJBYG15OHLOWP0XD8LH2FMUN1HS1Z9GNU3JC3SCDJBRZ6DE6WVZ4RFJA57YIFHXR3N6. +36#39TDW5DU7YCWAQU2YR20TSADASQD4QBBTVYKG775SOTIWD6J469HRLZPAPDXL64YR7U8O49XEDAB2PMZTE1G242ZPJ9RXSRQ2PZDNUFOLEL9M5 = -36#XNXMABWLQXSAE8POEU4HG432ZQFJHYY2AH50A3NZI40U2LYJ3CH10IN0GJCVXP00DMD9I6D2X9DDCC543USBUGR4LLLRJTE9QVY87LF6L0HRB8UM55AF1RFTV2PEE83KT1RMZVJSKHN706GOJKLPSL1P8KL3JQ7XH5JDYSEVVZWGHJYF8PO0OWR3DSZG6QHEOM1OETIP88YVZ3HOXBE1LRLUP5XSW833M5UXHRR2PUH8WDF74EOYNQX7Y95NLUX7EEF9ODBME1EXIOY0D3ELLLUKUMG4LAT4TJQ6SCIJINXLU1CAG0GXN572I5Y513H151JGDZMZOFYAEHBX8K2U2C5OR1PUASUR36SZSQV6JF0IEB0933B2PQWH41H30ED2DDWVOEBB974DN08IM838UC3ABPHO23GUSWOLCUZ2TXTHSZFGAH09N9V1NJR0UJFK9GBDMVT33Y6NUHXBS5BPUE8053MNAUJIZ2L35Y1HCJPPO7MGQ1EGVHW79KCQLN8BIE3MNA9T76F5G2EFOYXYWL7M6CIHX60FNJ6XNCUDQHFLFITHR8FEXI8TMCNEN7ECGAND5GH0CXLXNR1HV11G1TBCLNZF56NSAYDGWP7486E64EAPEP0ENUD9SPYCMK4KUU1QK24PQWCXV8AS89JB4E334B1S4WX1ZW3C3RQ1ZZK24HQ3HFCZULVI1FEAG99VDPQN3AXX1EKUKTWDERENA1JB0T7BFIE94TRAJV18RLMR1V9EZTSJM9GXV6KWT64O459N86DM div -36#AABHKPMFJZ0GEM88JROM542D01P9YAJCO9ND42PVTWBCJQDDZHI3YY0SQVDT6ITEKSOTJF9Y7GVMS81RJ1S3HG44G9RSE3R73TW0BCMX7LKA6NPDGR6YWBJLTDHZUNMAUHL9RQWYB2URV6KHG7K0L7L54S0PU3S5C7KRVYJ7QM5HYIABMFOVHVTDUHNBPJ99243R0C32ZSRNZSND82BFGKO83SGRX0W8PU4S42KV17ZO1C8BBW2OF36CU6O7T1HXYXXCFD435BN5MYTMN4Y9PB080THBC1690E8ZH9D2PEND8SZ6QTFYDHNKSVY26LU76N0B6NPX1CR90ULLT2W74YVZOT02EBZYAWO5JHIHKM0FHDIQBZM0IG2U8EARASBD6FQDFRKITENT7JEJKC7D3372JAKL4PRF9YDBRC9ADOTW74SP68SIWMJ6Y50RFX2ZT1HMLBDAN10OMO90683QUVZ8WRS3CXFREPLL6FIJBVZ919191VQ4IAII98JFJUACHSFKP9YU7WEU4U27LMFV7AZEZ8BYESHY5YK7TLMRSRJZCMK8C0IVLSTQBHO9JMEO4KKUX3TJDJ6DTQTJXFKY23OHQ8J9UO7B9ZXQIJN1TVX5ES35PMB1KKCVAYIN77IX9B34RAOTSN19N9Q0LVAXRDS7FAQ. +-36#8BN3MWMD1RCW4EWA51XWX4Q4GPZTJ6UVHLDIHB93FXSV2LTXAGLXVIF5M0Y4PIX5RRC77XO9FM8MO24L91643LES9B0R0RKS1XPYDGKY647WBQ0V8O4SRCSYS6J616ZJI1Z20 = -36#43N31JAI2O1E1WTVVMHKODACE2I8WKFRUG575DWKE3J6W1GDZRF359B2H552R6LDZRR8HII95AW6FV9CC6LG5SEGQYXWZ0IU2IN702N3WPT1GMR1DLYOLWTD3SYMLK9PVKEWN28WO3P2HA6IWGAZGH5W5TKH2NVMC52SZZ9NMFUWRCGEAGVGPVVZEWG0YAADI5A709YJ5OHLDO0AB2BE8YNXN0E4XF0Q4GMW9CTW0EPFMYKI37AEE4YXK5K4PR3K0V6HU72CAI0VUEP6DTAJJ6EES4HU447JDYCQAI8YWY852TO1TUOQYNJUCSCX771OB3LD7IXUKLEGZKCJCX1S72U89QEFQQ3FSNZUNLN9N04TTCZ5HKR5LNB6T5KZDQK70GJCE1J60LXBWP8SY9JGEP4O3YNT7OA2W38EVI4ME3UXCRHJ7GO6A62WBGOVH3F156YFKYYQ1WJJCSI7ORZXGQ7TBVATJDP0HY32MA0 div 36#HQKMDLMXGQWCT0NNCW5CWO2IVNH6R86SF5SGQYQGRCIIZLU4MTRQEK2J2QHDGG5IA0LZB01YV26FF9TXXK9PFI4I6LLNNEPL58ILRR6D7LSGRJ99PX8DGXDN0URFHDLA760W7MMSMBUSEI4WB0J67H5XBP7GMN3P5YH79EQYTYVP0DKIYFT20G52X1TT2QRV0OZSOUW7ITX17T45HSGF85MSIJ9HKHBHIM1ZJQASFUA5U5OHI8QU6V3S2M0KQGLZIR62T5CDSUIQ0YA0DO071YMYB39DUIGCB4SAA2Y14ROT8752LPO8DT6VQMF27R1TLFUBLJBFS6MAJMVSS21CXDC8OIT0BAIPMN. +-36#3VJTUBE7AENMT1AYT37LMTCBQWHTL79D3SC34IIE3EOAM6OELGK9PXD0IJXKXKUFDRSU8YYRISPOCA1D7JRQ7X7X0O9S72UVB0R44UCT8ABDHSBWCAXX0B9LXVOH8NPG28VJZEZ2S4MRN6Z5RFM32D4PDLWT04PRU0I3U9ZS1XT8H0G4IEKJB4UNG5DO4T99BJG46JLVWGNBH6SJAWMTXSMKDA2CWU2Y2T8GRJP4Z7GIB5K6BFC8YCHJ23Q14K6QQVT888NR6RMDEDCDRDWOASVZCIWDBUGML97BYBWKJ5C3GMMS3HJ7AFU9Q5Y57N8O53O22PTJA1Z48LADXQDCSFUFEUESJGDZ8PMFN29PU6CFJLPKN7AXOGXY153XMHGYTALCL0OOA9RBVUHEDMKYAPKBYYE8DIALBJ7J4CFINDT78VO13H0TV0JJ94LPDZB1YI4ZH10CNRHBM6KC86OK7DCK9DSLXI17D8D0GLND4RSQ35SEEKQLZLG00655HT2MIGA5JDFCGNJZRZYW2J9RLW3RZVH4NZ1B1PMCQ = 36#30Z39RX6IY6O04Q2K9XDGDCBVNBE49Y3FYNGCMKKH46XY6MOZHE1BATEE89W3TED8DUZLQOJ9FTHEJ52NA1UB2F977BYV1DHJNKS2F1WY5293NZJ5583H8DLOMA4487CIUK5AX0RO1ELP2UDCZZJ2XF46I9KE9QGLQIGXAU1HVC184VKQR0JJEA * (-36#1A3MPH0VN69AINXK828ANP2LVNXCCN0L2XJFUU2FUUAHM9Y7P131JBVEL88G6MCWNMY9AE90QG18Z1K9K6I819WRQS2JUH5IEP2IHRQLC45FV1GRT7WP26IAUYV838FEEF62NOXQNBH09AUQ62KZPC0FZ8149ABB3HYBK50E4CT1U1C5VVIF4NHX6GBP205EZIE181YYQ9GT1CPXUB8JWLSGIUCTPNRNQFBKRA7O3UVMEAORAP7D1U1R5OI1GQWM7GZP4XNWSNSIIHKU8ZMA9QXDIME9NQ41HHNXMRD6RW3VEEO90V8MWWWVFIKEPV63GJLSPQI6V412DYMIRL3ZENCN52RCQQ2D5YZMIIQYML2LFVH). +36#15LGO007AO09E1MMVALQBAJ1Y9AEN71LTDOGD2IKDL57NT51D = 36#13F89IF8V7CIALFJYVFWJBWQN2SRRWY5O8HXW3JDTAXUL7MFNAICONGBREYPXLZ8015N5TNDWB797LN6SDFSPA6E5RJJIQ9CD5PO3XBCHM2O9Y1F0FNVZXBVEUNG6TLRNQ81FVHJ3M03AMY1S1U1RCR3SCELMF3PQ5LLHGYBC7H5X6H5YJJ5GULNMAP845IZX9FYKG7D4OR0XQZWY3FPX5O8JIDAVVPXNVQQLQM920Y1DAOAITCSV9CXX4718CH0KMCHJNSNP779T23CX3NNMDE8QQE2FJGWAFR82IYTNOAT3UY5NGUQBQUI96N6GQCLPSR1JNK38REVRBWSI2QM1B5HSGMTB2R8S21QOLDJORPHL6RIGXIJBQZ80BHZJP6J0P9FJED91SXCOB5PIZDOQGR4SDSNGSXZNZAU42RUNNLT4FTC2TU8CB4ZLE74XTHBVRHSZ9O658DTUYXON8AWLVAVXBZQ6DQHQIT0T81T58HTI9XQQ222TD1LS4TS3VGL3O8SGNXE4BC6KRZK8D4UH6JTRAT3KEZ32TAS8INR1L9XNS7BK4ZL0U1FW6Q909G9QGV9PYBZ91SL7V60ZXYEBF159WUX4U5AIIRVLG6QC6E2PCB7L5YEFXTJXYA2LHYR37V3HHR22D2CZ1PVA4EBJC63GMA53DPNO7N5PBNGH3B909ONXBXY532M05D6EJY1Y6TBJEGQAGWKJG6GCX55NLXI7DVXOLZ498PX4NV3WVMANTMXSCCJEGL4Y0Z7NDV574F14XDRE2TG3SU6BXJY3DVTP6HI47K4ZL70M2U9C3AUNG32QOECPDBCHV8RIX8ZB3JP4EYYR2L1OKE4MEEM7DB6QN5124CCM9TWOY0XZ8QBZ5DPNYTL2B7XQCW998Y8Q495YAWGQWH6JTP8VIMGSZ7ETYQNYPFJI97M7CMME22KDTX6E2UU2R3HW9PIFWCPLQUFZBK81DQKV9G2ZW7PUZLZPS81GIIISQUYUNYLGQ57WDFBQ3T div 36#Y4AI79F0F2LG96YMWNTKG32YWKPAN6G4U72ATPR3HMY4OPUMRDO8GYL3YW5Q5388G62J3U9WUC6H8TK2PKAO7XJLHCZTZA0Y1FQF3XEQ6VLWOVQOCYZ18AYON5F1HMF6JFK93LAFG0SI8SJFTDERI7D7L720O3CTU4LXZQ2ZXIIS65W54FY9F81EKCQQLY78MPK7NEJ91W37MHYHGD9QG4RC5TGZV1W8Z6SXM9RGT81RK84PAS61LDGMYMSQZ330868ZOBW9GHMW1KO0OA9QSEHI5IMICU17GRVEZ47ATWZMIANQXD8PDR57476OL5UKSJYBN9D6PSC7VI5YXLXH9DR6C4ULF12H29CZ75TPG0YTFL2YAVFWHJM7PT6BG58L52S3LCSPZGQ3NOTPB678UH4K927K6BWP20GP7XHRFMK9O12YQ58AL2ARW45FB0NKJE806FPXRIWBFD24A06V14PPG3DH4CQXVQEZ6NKGPGJ5CDNKNZJI0W8DMGHQDVYFZXSHVPAR0V9UCFBUGL1TSQJK3QCZEYF96WLSBU8KUO2C9HZ9YIC4ZMJFT13FB0CCO08VWS8YEP2WO5Y9M1ZFAK086FSASCU53WHN2VHWMRMPXD8YGTPRRADHFQ1HZMOCAZFKR5Z8JWXRQRUJ4YDORZ88O2UWEXUA05LI0RGNSXMIUFCGJGPP8J4GI2FB3AIH1K8L05M9IYZLQF22N03GTKJWB340VRU38UC8SKBIQH7BCBDZ6QJ20RLOJB26G7PXBDK9T7L04LM4B946EBBB0P6UIOX4MM0NRH23KF6FZTSUJWI0X6R1EWJBPJDUTX5XPEVHVCC5NQJKL1F9258M1OS0GMRUFWX4YHVVBQC9B4859LW4QDRHY68HLYUIA0LUWNK0OA50U420BDWC1VJTFGY2H4HYW9Z5KOQKQOMMOM3894IT9WZP236R65909ZEGX5. +36#1P3B8G37FABMTORBE73X5SFNCQ1KI7C5OQPPGTZ4GKP1RLX1V5 = 36#FPQKVTUL7MQ169Z8RGKMCMCH3VQVCHRUMG34UIELLIQA54XTM8XXANVQHRNTN39YC58G02PQ1EJDG31Z4GE38DT2IDDL0OBKSCELBICWLMYTLY6RGPH9893ADGK3TTR9759QYZ2YWY8NIZAGKLHANUWBM4UME0UP7Z8W47CQEYVIP5J8Z72HF4PBTI6MRV6IL1D04SOHF6KF52AR10F5KLMYDPKB0G71YO4HGTK0665E64642HTV3VKGWTGTWJW3V6YUDXPLZWX07TGWROQF2CF2P1AFRNETGE4JSQDLGRLO33CGJEJLU div 36#99DIPX17PDQFR18UYTZUQLG02V7D97LEC17TUP06K30GP1WU005QLK3TSBZX50QF7M0STAEZ1LI90PXDA2073EWDT87H2T8129ZGXO12GICFXC2LAIZ5VSW6NAZAONJQUYRI1475XUPRFACLLN6VI9ISMIPL70DKIGFV5PBC95PJN001CP5UCWTA55QHKMA2CELZ4N1162OWNMOUP24IR9R4W05VZ7P2EBJG8VDPY9QDPHYJ6EYO7OCP8JYPTJGOVJ36. +36#RPR3CBO43HPTZL5W4LLBF3QFHPX7KK9V8UEZG9PVIZVTAG9J88PAIE2ZAA3SIRATL45XLFATA3B0L604LW1L8UKQXM56TMZ7DFOQGVXVD8XZ00NK48UJUTEBCW67FRUEGSCYKFHXSRFTT9AJ46STVO3IBQM8GF44DKAAJUI1C7LDGEZWW9QIC2NC2RCXEQ0YLHWJO03LHP5X7BGHIXR409UYQ = 36#3C0S2UKNIDF0BRFKVS0ULZQREMH77BBBK2XUSBDKKDIQT7KWLSACS8P22OXHVL8PR1T3VY896S1T205H2WI1H9WL935NXZBEE79CAP4CAWVDYGPC11Q8F2A85HKI2RBTCELLAPG760QFFJ6VG732T332KZ41SVY78Y2U1LUSH * 36#8B9S6B450TTCWVV6IFSPRYPRQMPL2YANRH3P52IARTFO0R3YA. +-36#3KZGZ955H76B92LMED0KRQ0U0OGHHTOGP3RDBUAB1DGDYWUQTQAK5QK464CVZMEEJSUOBCKNCDQEVZ34BRRJZZH8LDI0T927FU4OS0G1251UE1BI5YAWSI2INKVM1SR8IX2HO2NAUT54K8FLGCWW2KQ7ZP9XX87TM9JMHPDUDRBO8NHL3F0IHEJYZB049673YUM0T6Z42XRF4QH88WHZF46XYGL2VCTSPV4QNIEFXT6OW80VIP91UXW7N649Z43EBDPLYXCE2Z9AE5EGALRVV57XVA0VDROZFFIOFF8RDWXN3U1065DYDSGTZKUKU43ROJB5CB32YT6TK8N8NQAI99RA87WK8KZ3B27J7T53TMJJU5Y0LZMD1JDMELU6Y78M4U5IJ999TXX14EJO67FH2LT6HVSX15KM4JXXCBQ3SWBG42ECA3A364YUZEOHSP5MGIP9Q9G4TITCC1TJ6MG5NPJK49XDTLRQZNZ4Y81AJLWX9M8Z0JWQGMLLJTXPNVXDGXESECR21EY0UY5L9NVSYRAR85692LT7JG6XB74CX5VBDOEXP7WQJZB90G66BVP5M56M0HNLXX65GSW1X2PU6YY6K2477XPAWDRFP9Z8OZNEZ55FPKRQJ8XZM80SBJFOD2CRLQ2Y7C7AAP06AMMGAKFST1V2FURU = -36#5OHK99A94MJ8IHMG5KQF72GY6FKGTQ81OXRMA994AYZDXMZWM9U1SDMHVSIX1S4RL6 * 36#MPHBNSA7CYAKYQQFK0R8DVC8JOKBXCQ2GDI7WIE6R1G9Y7JSYQRI8ID4B5ELVN3VICIA78GROPAKJ63V95ZRBIZ3SJM4NGVVWFHV8TVGHAILF95D7V6LYIKZ2V1WSGA3TECN1H0EGVJEAWZPT3X32S8RKALP1VHU28NRIW6HL5122JWPQYNOX1BW7C9BS0O4CZ7KMKOG6EWKL2ZCIEYIRZCJLM6HHGAB4SJVXTA3BHEWFGETGKWZ6AMBADGDQ83TBWGV098ZAVTNXKVAP66XI5805YYFTRE5PNB4J7RZM2AZMVCDBX09QD0V8BM2QEPNULNYG0BGQJFZFDEX0NBLURWV56OX9TRJQERRL2D7EFPHIAMHVBNNRLN4WOCA4OQV12718S2QK11CFAN7FFQV7ILSA9XJY7W5XTWY1HY6YGO4JHZK8V8ZSOMFBI22KOZOPLPPH9CZWOEN6MYCT5RQ0KK2NFVH20TPNPHCADZW4CICNKA0497E5G8S0CIKDM0W0ORGU6FFVS10BKQJ9JQBKUBAQMUFQF4WX811OFZFU92EVUU0I6AH917AWW3XOJSI39FEL0N8Y5A7MP0CV64OOI943EQFN5. +-36#8Q80MCI07CLXTAG3KA7N4MO44RNF76MX5PWU9KJUITKANKUGNWKTI36M3TO0D7FDUAASWB7D3708LSCPE2TQH1CX1ZM93XODF5O310H5ZL0Y5A8J3A2PASJOT28O3YR9W41KR5906PWVILW1ZDW00GAZNV14KSRUIOL45CBBWQ3VERKLXN4FAFB8922XHGR1OMW793IKN4C7HCY4SXIPFZRTNSTCXE58FEGHHRQR4XY8T2E2OVGTCP8BFX0VP1SS4DL24W3VA9E3NCG482BW3G9HEU046H584ZH5BECQKB5WA5RH11MCVWBE5OBNPEU6UORUTDZIANLV2WP9G8J1R40KTIDWQ2DD4W2EN6XVUDYAQPLJ3I542MA7IGYC06C4JHMPOILCFBF96ZFYYRTBUGWKH0CNG704TFDOA2ZUDV3C70IRD17TUT0K8T5EFGEX1R1375EMTO9EHPY3YHLLWUSAO43FO5WDAFNRNWLM336RLOPPY3Z0QOC6953UMYJOJV244PQWVFJKRDPPC2R52P7MUPM4MAQ0IM2F3AF2DKN8ZQCFC1IM6RPYV7MK5DPECRS4GVVJO2IYCZ92JS998WVMLD2JZSOVDTV9MYBUQALLI05FDFZUXR3U21UEDT72V03K3KUG6ARWTLF9V966G9GD7YR8NTAXS7CG8OCL8MHBFXJL8LTY714RZ899RTYD03QWCQWSFGCVDFVCYZRK6BS1YRYHXZ1J5P2H4O2IB9C700GLM0QK4N0UYP68F62W1FCLAAT63S4L1A44971RL11120SW2L9694QRIPKXW6OL = -36#2YO954CCPB90G4HLIVEL77TY74OLW3L80TEC5Q9Z2TM7ABNHG3 * 36#2Y1JX58GH0UB5C7NRPM3Q01CXVEFUYJGVMYIJWX4722Z22R3F9Z3YRB1QRNILUKIKK4IRIJ3H2I1D8099YQT3S5KQFMMA6ML0ONXI8JZ6BG7FIKACOH4Z634IJ2VZ2IG3VPL68XH8R1HVU078VJJIP3KRXTKSDPO9KWIWO2B68OMTKVYISMA0PEOMO0MGCW0V0OIWON8K3M595GJAY7FMDGSLP0EZIC5UT2Q33BTTL4YZ5GPDNJEQCAS71LWH8EUHKF1OWVHFJN94A37HNKAL6C1PN19Y8DBN5F9ZZXFMAJCXMCL028R0XXJ6JBI2P2HJ72ESSAQ9UX3UXFMRL2T5AIWXGH87H8UAP9F959YSJ152WFN3XHEGTS5RMTYMYR3GQLPHL2ZX9GYCDKI9TV062RW06JRK1A5L5RQAR921RHDP20UVMBA4GORHV7AGLGWIPJWQDC5CPI2H4D1HZE4YM2SO1YWU0KST2AY7BVW10ZRG31KTHK42QVZOABJU2N6OBLVI62ODL51ICJ3X3U9UNVFKVRO813YJBM0IT1P2EGLBY2KE52WYC5TGU8BAFY2YTW8S20G11XCRMKFEAVLO093SED8I4E7NDQFLZ8AEY2LP1ODP0ZDURV6JY4E8HH2FYKZ1WCA01OSCNPGJSIKYQ7ENCJWYEUWCD89QDCHA6I9751NXOV9X1HXUT2SSESHORY3XJOTLWMEKJQUEEYRNW5KNN9SEZXLXD8ARY5AFDFF1JR5EXRMYZVUSMV. +36#1PD78G8ZY0TJXFJ9YYI0PVFOWPWIZ5O7C20OTNAAEDZHY2QXLO1VTGZSZDIEOGB2QK4HCIG9HUVUEXHFSOFO2QTJJH8YJ1AVEBF = -36#2Z827J2YJ23B67P3VBAEOUVBY17QQC3D7BXTKVGOU2IRZ39HWL * (-36#KLQAGLCKZTL26EQRC4U1H964L81HYORMYAHGTOKQXIKVJRKIN). +-36#1UND6P2LM3IJ9AFMGD090732RBERHXAAO7MJF1S3TEGRY556ZJ = 36#2AF44MG4U24DV2UF7EQKAW2769DXTH2S6GOZUQIKBLED9FLW4CTHG30TBNJRGZZ3RTZVW7790F5XC2KARJ3JXNPD6O01IDYQSLY2JTN3UOOB72BWIF6VA5KH1REX55EU4NO6ZMZR1UTKMFWLAXFWJ41H9ACYSJT9L8AG8DGMCPOD46JGA7AYBSIUCKIGHFR2Y55VK7Z9O2H6UJJ67PUO26R507TYMCZGKHULE7JTVSORDD4D1VLWFV4CL7723GUCPZ0MDDN6EENP94NPK5IG5YJJTG440L43FZ21JG0AJ3121U4ASYQHLO7JQXGYMGW9RZW7C5NMON3SP8GUQIVQCOWAAAHMAH9ZJIVTQYYF2XJNN6BV27GRIDLFP4NY52GFD1Q8WT4R9UR6OTKVYBIPEO4BOM860X1ZTY7AEVXHX5EX510CUTKAE2Z0F07YIWH80RUQESKKS7SFCBLUJCG3DIWT8DC36NU37N3SMR2I0 div -36#18INXZFUGT6WZKUS5Q5NACR8KLGQ6TXJXBJM8KDGVLOZ13D1W26JEZDZO0OYRT6F521Z8OHB8F1CK6YULFEZBSJGKHGV2WBBRP3V2UY9AETAO0V93VNIQ350LJ2WFPWH9QA9Q6FLKCDK8FOVZJESGL26AMHEGEFNWY4YBX5NAQSLUH7GZNUCW8KC9ROIMMT7P7LBNN0N8G38T6C52TB811CJUGTZJULLQ1J6P2P36FOPNV50DNEV04JACUY1GMN4GSHIJ7RGQD5IVGBWHQLHJWP91E5X6SGTEPCBOWZ49RDA21GMT3E3XTO83EJLHT5O4YPFYF7FH0PAQ2NTOE8W8IRIOCG90OAB94V1MIUBJOB33KY0SMHFQM47W2ZF3XEYEK2V8SFDMTFTWEDMVCHVL1LYPO26QAE3R6H3L8M6EBGQEYBWEE1Z5TI0. +36#CXL30Z00OQ4UJ769APD40MR93BGZ7GEFGE2RCTQIRII67BLM4F7JJ46S2VPJLTR9KDSABKM1N76PV3UXJDH7OOR3AC69THMGPPB4U4RDY260BEN2P7BA6LECB343BQOQ22HK3Q9NZO50AR9RSTLRIS0OQSEK9QUMWEGNNPSU0HXD4KFNK9F43H2ZE4I0KWW70QK8QPCL2IA8IWL5LTS1643CJ75YB8K4L2W2NBMB0G3GOYYP1SQQK3V1JYR9R0F78Y5HUPA7PLWBS0M7DM5FL0784ZY8D6JK71IMRZZIRKHH6R30B8JTVK5Y3K4ZPZB0G3K5DBTJ2J298HZCQSYW1RWPFG07NDLGTJA4DDX4YEM61XXUULMWF22GFSAB03X66P0YI40HZLK8X4AX9Z177ONKYQZVA4YU8F3ZCOX2GHM3MYZQX6T9MA70L5RATZM5T5DGMFY8DVUSLIT9M2MY8 = 36#BMME2CLPNKBE0RD15WG7DRQYKH40BUWNN9I3QWHAUPYLKBOYJ * 36#141E64MCATZ46VUSLZWWEO6LCQUERONM45R8I0V0S96I2OSON6WDLCIYW3MM9DL6ZN86RDP6J7NNFAUNABJX19DO1XP58625OT12UXSHH8C6WQ6HM7WZV9RH9YLXZZZ6IQ0SUG1WXZYJL24JPUXUIFNFR5H6WC7R5BD6YYZS4WOEYLEYBNC7CH62NSL5AMNP1GH2KB2LTJVTPJWS6N121UGJBWRO07H3ESHW9UHGJCVPVTLPISEQLPZXK6ZMRZBH61FPXF4IR9KD5GBHJKK3EF4SESB8KGUAJVDNQ51VOZPFWYUIDQ4B2Y9P3YG95DFJN04JFR4NP04E7TITOE98JXUZ5W6D5SKJXO8O1SBUGN1RWG5ZKOR8O3SJLAXHBPO4H43FD9PUNZ42XMPEU49VXM9KGF7T6SCPSAIA8. +-36#1LSXP167CJE56FAUYCD9XBLPHBF51TQ7IDADIQ2GRJF41C2R1L = 36#SGR89XAM8FH2T2RKCH2R4LZSWYBV1ZBWETPVDTB2UQ9AONOP0OTFKM9JFZCVBNJTTLRQNGNGIKG7OLAIGPDEMM0MGB071OU82ZDQVGXXJSH5QL5NQZEEBTTO04ADTJPPGBBVRZCSCO89AJKMDJTF08U5ETDAG42T7XMRI69WCUU9VHR3LQ6NY1C35V2DMI74VVUG95IK6U5FL5PW9PRI741QIYOCCOHFJ9BQ8PBXZWKF1KXM7VCCRP0 div -36#HQ7QGPTG9L8HWCHGLEGPG4QI96QFI02O2GUP5BBITYY9ZYIA97LLYQCUAR8YPH0I47WJ463BJ5QLV77I4F89ML0WXQZ9ER67MAP5ZWNFIUJSJM36P9EPSRPUQ5IE9Y80AEUYA43TPR6K40NRBETFCJ19WXO5XWN8MGH6465O2G6XIMYDEZRIXX0QGTRSD3L8G1D82C. +36#G6MHLNH0D8PBSVPC84OQU7O1JAIWQ0W6VXSR9VS4HB7EXL9YRQFGWSOKLH8Y0ZU5KPRKS9OLVFED7LT4DHRGAL44PWDT7PHIDHZ6QKRGCYBWO1V0DAY56DX5H6XOI28KO232WXD5H4FGZ0IWITVTGSJ31L4LUBKR0SZQCS2TT8LL8G6A5X6C2ODLOYHD93M6H7HLWZKN7M = 36#4K1GKQBZKBIENNBF7A77A0X0SISOGU5KVXO8HQ0CGOKKS9QSVZIB5MYS852AJTB6MQU5ONUHIVRK8PFFN4YG6GMURVASF564OC6HG6GLD6UYXM9H4LYSH3NNZSWYCETDK73GTCJ3LFDFA36HPOR0A6YJZWYQ0ECMFIT74BLOD47WBCY66LU2LI7FQPJBPVN562LGNB11EP8Z7HXQVVVLM0MMNU975M4MDVNBQBEEQL58KL8MNRQ0I8ZMLI7P0I5MZ0IN3TG43KGZANI8V5E5UHPYT9MVCV8U17SE3GUPMQ4WI3E5E5R1H32AP6ZCEVDOU2C3JHBFFY9S0K5NNVFQ21CVZCV8WOES130N8ZQ795CXZGVUNZ3KMQSQ4VJKFMYN0GGT4BXCCJGED34HF41IA0UHDDHCL390M9S1X2M52MH9D2PZ6FT8KSG21MHUH58YP4TRHJHYIXCEGSXLHCUNUDMI71E8RXRFXPLFW div 36#A4W7C72O814WY4II72GHEXTRWQEI7WY3Z8W5YYP1G12G6FWKMTUKAH8OUAQUSFH5ON3K06439H7QS4UCVXOXN59GGD98LJ72W6CEMB2YVE9RE0NZD2BPQZHR1ZT0D3M9UD60JDS0GIC0UVFPCOLTYKSFC1BHCLSBS3R2GEXI4AHQXUZAGHYAFCYV7ZRY6GRS9GP83HQVB1F6TSMNVS4KQS4TKJPRIKG2RRWX1WHRLRI6UORNXNNYJ3CHAWYWWO4MC6S0EPCWVWPAOT37M9B0D1JU7VQ. +36#IQYW1N8ODPOFWNX6TYBXWGTG6Y5TDDY09VCOUR9RW2PJRSKDX8IFFDP9M23TZACNURMCFD3Q4NH9SHVX4NPU6QD2E2GJ5VF8XVV9YV4HDANA2LI7ET9OA67HHA3BNDIMX5QS84MNYIXRYN1WT14ENL9KCTWKXSB32QF8QNIJUNXETHVG3J9CMAJ3FJZPEESAMH8LOJ83P47OC36C2ALQH62MYM9EYU71MTKI0TWQJZE5MXQA58G71Z8PLLQNE05F1XM1IKMDA4TZXSVHT7D1AGYYVVMF0A0XXR2XHEP1MXPG0GUGZ0ETGXJKVHX30VB5AGK6ZYIOE09AM1GZN1JJDP30PM349YCFGBOC6TFF9TNFWZ0ZD977O3HGYRQWR5ND821M3TSXS5Y0SWPZEO3A8N06NJJP96IBYJEGZYOUIIOLZMYCEDLGMJ7WG53QU7DH55198PGFQC7EH96KYHF2BDS1KVXTJ6JIHL7RVLUDCX3C33D8RYV9RPVHKFWK22F9Q1ZGTNRPE2WF7425AGRFL5BCWB9SN89E5T11F9Q7GGKG0G30BQRFBH4H7ZDXU5JMXY0ZPRXE6OOA6VL2PTB8N3I9VR4OKW4ORINYHJANW4A6GL1ZSC6Q81S2E1BTMT77LN4VWRYGI5KXIHUGPR20LSFV7SINWJKIBYQSC35 = 36#PA8LCG87DHX2A79Q2ZXFTORS60EOHD76XC4SZY0LA174PK0DPCQYR1SO2B4LOXE0JO1NE09EGVTZBHYLD9FNCNLJP0IOWB4A8LHX7UYNDHHJWFU2OCW8C997WP0FNHNTQBEXUPNFHCV6H7BVEI2JKNW8PCOIF6M7QS1FYSJ24OI2R0KGJL192YUEHCPCTOMOTAXOCMV3JHOGL3L8V8EUR1YO2M7A1QKAPMB25YBBVJ0UAHCBPA5AJLDG6SD6C0AIGTEU6Z98SS0QPVPTHIGATI394MV3T7HVAFVJDB5QBP8DYYF314WR9HSJ2X04SW6AVZBLC87MOOFPZZSCUZU7G5BMC8WWQUF48O4ADJUCFKSCFVA6U6U3PPM8D43WHLXSD7UPMQU1V2KFM84SM1FYCZF0ZMBIK03L3OB5RFCMCHILN7Z6ZPDOU1FU70P43MGIWBL9B5JTXVYCG4AH83HKLGXM9YCPF1BH0XVG57KL6FGAL97ULINHUEUX2TPMYRDCXLRVCC2TTL61671RMXOBX19TV65D5YLPS3UOESVC0I5HDA4ABV7L8PSEH6RUJ7LO33R6U9VSG520LL0VP17TQFFY853TZD7XUK1AMSGSCJHVDT2JQDOI19TUGANUG6EIMMORQI5I2T4GSHJ3V2HZQ4ZZHDME9BFD04ZOL7JHTSBL0O1S6Y0P9694PLA409E9CSBIC9PUQ1SE4P6SWQ9MXJEZTQKTW90ETVWOOL808XRB3KCFSG8DVE8QZPOQ8DHZW01KMRGPL5P8R4UY4920W40N7O1KA4ZO9IBYOBB98C9JNCUOQKL7OYWICNUU13E6P3WGICK5WXVJHIH0C3DB317BR1I0U7DP61GBJT8W74SDYJ7SIL97BRJMW div 36#1CJQKLFKPOGTEFWK5OKC5HOA4RS6I6P5ZWBDV0BHS02CSWEIX4R39ZK556UP2OWVZWQ1F7QWM2FK48QQQQ4O5FRZKMDQJC4O6Z8SWOAUDKX2J7BQ5ZCPCI06FQTAIKJRVDDKRKRQJKXOOQZIN01QIFYRGU8EVH033YIWUHFJZNLAKXROYSUHU0AZKNN5QO5OEGOY501LON2QX6GL1NS. +36#349B6X8XV8VVLVARCA42XXQ3ABNIGGYPO3EN28TZNU3M2UUFI9DHNP0FRGPHKZ3OBG9NGT9UIKNTXTU = -36#3MT394X6O7ZG9NTAUYUW1ANZDXDRNNA369CHVZFFIZ4XOPQ306MREZ03V059QHVA5LJG0LTUUP3F5LWGCAETWCY31AJIE61E288KX7Z9GA2GZ4S3P8SE0O5AE75O92OU div -36#15Y5CY9NODUI5TU0HX70G9MQWLOS9HCDXLC8LUSCHJ8WTQ4UCV. +36#6RWUXP0V36UHF9QUN7RQONHIJ40T3MGUVNF81XNIUW13E07011BZUKG08MX38FAT6FJDCE16TD4C0XD67DCTLPCIPCIOAPSTTI9SE3LA89RUY4LN84P6D9Z2BUJOUE7B22XUX092K744BODKY9GDH33X2H839P4VBZRK63R2LRS23F5EHABS4MPYUITJ4IS0BK5SMF81R1DCWFNF10GV19FLJMFLV9COA4CNY3B1517E4JHTUF5VD47GF67531F3TAFPLRSSP5FDSQAP07X0SJFT7PWUHSNXTKIBENH19YJ78M4E90ZD7DT1CGVQCUZQCB4AX6UH64U2PCNU09A9D7ODPB8ZYR4X2P4VOUE2P64A5QCN9R5WRAQCFB491SOM66SH56WYLYABFZ96AQLIYATHKF2S6NQFGWM8TKSB03URCSFCE314DDR1XEDZNMWK5G1CCW7GXYF6ZPTP4TUSS7J72EHVQQ1BZDTQMZ = -36#CB3LVUS42M5T474NZ9785MRZGZAFQQXOCG1VH2ZQBJXZDIU51CKXBVQF6Z72NCY6S7J7IGUJ50660Y1DV9MRY62EOY1JNZYML64SDTJ5JRZ637WS573P48DYW0DIYEFFM2JHM5PAESTRG9TEEITIPYHO3KGGSHFL4W0QC51UE774KQIJY6OBHD26LVQ04D1PFKDIJ7LSNVWBEMYCOUVHOAY7LO84ATZG88X0115X4QB86OWII9C8I888C4LJ3YZBWAPE0L7NI8XEIA4TPMKH5FSYCDDAAMUQYPDQV79VJFKBCSHRBVZTCAD95A2KSBYCQQB3U66FI927R1TI2IKUAHH8TL1F6A4OPPFVSH37ABZ84EUSZTPVIZCU0Q2OJGJW6QULB7ZVRJ1BOS1EJOH3DIFN3ZB879ODU8T4T0E755HEDKEQ3OFDTE95BNWFG3X8W4QE1ZD6S4R0DOTMAXR3O3PK5744ZGQ6W1BHQB8PMK0NBK28NX219ZMUEX0JJP1ELL60H77D5DD9F4EI62CB825Q3R2F2PNX4K6EG6WU20P9J6OFZKZ8O0U1F73QNTVTY4JR8LAB3KJ2J4AOOXG3ZKP6JUYXL9V8G6A5EU9B5QH6LIBN7C1YFVNQB3NLIQXXQATK19GF3J5TPA104TK15HGDRJMA37S1L1EL0AVE0SJGKNOAJTJ5E4B5MJ2ZPS0CKXUYGRG0CPVCCTKYKRTXGEEFME4MV5H71OGY34AAI5VS92KYENP1VHJ7O61614IAXSF1A0B2S58FVPWTUE1W2YZXSNPK1ZGINROO8GTRRAD0DN92N3IB57PO7X04TC53JETA64IIP4J4JUTBMWCILNAFUEP83LD9DOQA5A2R4M68BL9YLA16LZMR67IM1SQEU8ODSKXOK1CU6WB5HFO7M58TSBJRJFU5CN7G5NTK68EGUKFQFSQL7UQ81WXXQMXQFJSGOKY35VN31FAX20W45FSE7T2PHJD9Y2VYVCHY4GSVV42ABFG5GAG8YO600RBGFFBMEPO1ZE80X5D0YMIIVA8MYWT6ZGSD6RDHGTCIC7GE2C0C0531WZ49QOYQOP7GQ div -36#1TECVL8J0W6IXIAQHNQMSL06CT966YOLWRMW8WNLRA7VSL1OQO92DVH6OV48CQOJW9MMPXESX5V5FCUZHYCBSX7F76KV037RGU3KM589WHMFA48M7QNRU0OWC8IKFXWRX4WYN8I8IGQ7FJN59X9V4Y1II0N4RNUOTIXVSCBID13WLDUT36I8B1EWVT8PQJ9IPTNTNP4ZAOEGQ79MY8ZKNY31QOMCXYRTNFL5F7R553SFKPCHL5VP9C5BM3VGXNCHB6UTD2HXO3OF1SFL2JBU06BJM27LTVG5AQLQZULM4O57JLHE287A6AP7P8Z0OEYX8LLCRXGXL9490UH9RMWX4JYM0UTVA0HL6PPJUDSGPM65SJTX7BWQ8AQISE8XHM27102FL5WAW3I74ADQHEURNSVUQHPA9HXKY5S7NIG8TZU3RU6PTG8O3A5184YJBWMZX4KMGWJS02D1R11YE705G67HF16Y79ZLRG4L77PKDME2TL0JHP7OQHPY81S9MA590AGM0GX5EFOMF74636NHQHBZ7C3TJU6SHULGLWFCBZH8BCB7KA5QOE4XD7AGF3IRJTGN0BQ3LF8WUJ4XY4CGWQROQ9XA. +36#1Q2OT22H1VAD0OHGXMET3X4YYTVV1DFRC5BKZHS12VJCFLTN9I18T70K90FR87VXCZ5GRJZN2CKWP6A9YQ6V91XJJLT13MY1XHZ79E8424ITWE429LBLYX9R3DKW573LHPRJLSGYNUF97M0LALC5CIQZE31482OKGQ62A601HEJWQ0O1DCMFXOZM8MUU73O1PG6A3THFO2E882URVC3J5545206TBL02RDAC7SJFMAIPGB9ER1DQTPK408YAX2MRUUS6OAR7XH3BQDB9MLGXREO2PABHB887PZCI5FBIQCSX6F0IPDS9X4WZ2D563NMHXEB5J2J7K4XNK8J6KSRJYLYX26B0ABH962XXHUE6AZC4MVA6QEDROI9IPPBMXAVXD6NDI2U3ZB6AD7HK6TUGXPYD5HQ7MOZ6YZ38MJM0UFNK0PR2S60LKTVN35RJ67GSZKC0KPX1CYKB9FNRN1WATQS1W6JUQ6CGHCXLNEEW9IF4BE1RUHL0IYI3DKSIEO31C7VDQLUY60OBCUO6RGHDJISMPFZBJE48Y0S0ZW9GUFWG90F5JBDLC3VK0OXQ9EYZKSCDQHBRE69DDLOPU99VBFJ63YFBJ0GL6NU94XY68PHECO2FWG5SBMIE73TC1TU8QARZ6OCCSTHV4D51HH52EHRHMJUAQDX63JABCRAKXTYOVVPV3N15YTXUAZZXX93Y1Y3G03NJXQ2PYPG0SJWUSUDPBKY2KYGTX2UWHQSSDQGJYJI1NZMMSAHQB02EJYFZXBCGOPUZW7J1UJQPBKANWNCTYEBFM7ZT71TLFHQT9TPM96DUH9MSLJ9B0GDL37XWI9SGG7ZH6VS05VLTUGFAVXAZBPIYZQ4PS7CJI0318C4M1S5BJ8A8FPRZFN8BGUSDUJK4VLVHJ3B1UK3L87W4Q8472DK417W2Q8ZR1I5IXB4UYHFQ2N6ZHEIQN3DBYDBCS5TB5PZKEREPZDZP790QECYLXNAA36H291WLDPHQA9VCAYWQ34O79HJG2XUI3N1KLSCV16QUS0LZ5RJPCZE53Y2VRK8A1XNL8D63FB8K8I2YFRMUVPHYF7DMG2XPXTHF5I1KRX5ISWVVTJKUZ366NPRJ5XYH9DNFUL9VV8FKQ8PXG06YPIKNKD89TGQJUWF3MH08GZXEFZ7MTUDC80N5A3JFAOF9LHTY6CRNQCVRRPYBAX32XTCWYWQPYOQUDSTAPY3SJICTBVAUJ6K0EJ67H4FF9991PHQXNXQVNSUDVD02PWSU5MAKAUVARB6SVU5NYADD61DFT61418A4IKZ1AGP1ML6WRJ33YK4PGNI41HLFY3SC6T3RPWVCB808 = -36#T0R2E8KFO02LD36F75D8BLOFTKNDA0CL64ZRI4P9ISGDIWPB83JTTYE41IW3V4U58R8PL3QXCZ7H5VN4FVJ15BL5UA7WIAVY377T1REIPTCYH1A4L1CS47JV0ZVKGF7D7QXD6M7OLJ7NF16IW3WRNEJ04EZK5M5NQHQY0C6EXO9YPE3QEZ7U8RWYKOPX9QC9NJXLKGUSEFTFM2PJ5JEJN4L0P2RMR35KBEJAGMYWC58ABHJSHALWL8EF0L53IZV89CALH007DT595CT6X79A5B5OROEXQB2QWEZK2TVIM56LXH8G4RJAAD8NVH8CI2MVR4N3S1EOU0U8G5TAS7CFMZ8WS0LUWWSGURS94FVQOS7B87J78VJ82S8VUNJWVVXSW0QX3ENX0D1OY3MYCH7EFJQTWF59OHMH5Z8VNRKW2LSJUDHCT1M2AZJIHAG2V732NJ60C0IBI1KN0HRLD46OMCUIAI8MYDSEYCKE7D2O5XVUL0D3SYZ98XDZSW4KM9LX5TM7ZKQLHYXEGJ6PB7TN48OJ8RGPN97XGQ6N4920X8KRISO6RACUQXQ2DRH7IE94CPVNQJF65UCWQBLQ2LNGHIHPJY59BRXXAH0S84FIQ8BRB2U6NWV6JFL9IIRPF0WWF1EIROHOZA8JWH266MSAFR68AJE9E39CTXFIXP054WIKZH6VB8KZA1R12UB3QNPBPCIMAG9D7GKE8N0WN09KW1JQNX3VURCYQENSKVGLPHD3SL2G6R1N5BE369P2FZPWN9X14M6YCA451G3BEAIPJS0GLDZH7ANNQL9H36XD2LY1ZQSDJIO9CKEDVPROVDXYM6MFB7ONPCFCAS5O6S5WLJ3WRWI15XX4E08A0L86YQNV9P8PRSVSAHAFVL5L49YSPNOBK3ZZQIFUGVMGWWOL9Y30ZJ6RSRFII1H59M8CBLS46KTFEN695CS7RUMB * (-36#2503M62TY18ADJYHM082VC7BT2TRDIT9PTZTKCJB03GXGMQZHW0Y5PGIDBM28WZX6V5PE05I5EMWP0KS5WFRQ8SKODLGMVJAELH22JVJS2OP3BGW7DAHJK0C8YUTOS1MAVOCWF04OCT9OJUS37G8OC869V08976Q3W9Y6EWMLWJI0AOPUSMG3DQASNK08E71J70G2CBO4RJ3VA5XEO857PVF2G6GVNFHK6L7Y1O0NPDWWV55RBG350MB9D2172EAIW2WLDTC23LPGZ3C5CDO0I4NSHHHUJRR7MDFZIAU0247FUH4994JPXIVV64LGBVCP9UO3DEP9DWRTWC2ADNATPNZ4V6UEUV1XBE6080OK5NC7KMZFXK9AHPJFPDNOM54). +36#4QMCC6F3FG4YFFA6H7ZOP8777MGPXILMHSNHTXWICJBXCPV7RVYHRZ7VX8EP4RGSWZ9JZ2ACSO3A8AHC0AZC54EPJFI8ZMZ1DTNOITAG66UDYS9STWOHSMIFYM8YJCK3EDU5FBAUTVQ19IG0VY1D5MJQBMNLE7EDJLYWTCYM5TJVZ72DVQQMD98NMIH1NI7YMYLG6IK5MTQXUR7CY2MVX01SXJ0K01JTIQLVBTLJQZKHAACYYUQ0BEK0XGW78CGNS0VSWZUIT4ZNWBPN3EB7P1FRFRHAXK0II33XLA5K8O2SOXNXL08YT8XC4BIA5F2F3Z9UIK2O64KXQ1WOZQF72PMLJDQGT2217X3M69SMRRFLVQRAN9X8PFRWK0W4ZH5CWK3C1Q9W1GMCS44DUE37RL3XC6H9QNA854H26HMXPWG56ZDU2QC7DSK35T76AEVMR43KN51DCWNEMAZ = -36#63HSKQ0RC9HKUHU9NI3NHJCUQ099CIZCPIQZZVU7PHNJS17HBWC0EGYK7M1B09QTS38ILIFEW9ZBDN9ETYWZD7SA2XW6565ZSCJ1DKGDTM6BFTKJZ3B356PSE4T1HVP6I09G4OFQJDHBUB7C2BU1LK10UZ21FUPREW60MB3I1MBVBWPN4KP4GVDH80OXBMXW5RANZN7ZUYW8JIG89PE3A8SHMHCIS05CHQPUECMTLT4CW0YS420RZHCZMLDMLMA38CWXJ7379LUNOWK8XMSBZBQRHUQL5Z7J9YX1RLC2JDNE2NVIX3WNMQW4SJEACFH76IHX4KV07DC18ON0T3GBV93F1Y02AICP28M6HH3JP5ZRWAIST445S6ZJM6Y6R14AUZO1Y869Z4WISEEP0YU217P6MXZJG1DVWP39D7JRI28VFLLRPXL2465HLBATHB53M97MDGFVMJHNSGF95WA8PGQBAN01U75TGQ0QXQTHGXQ76N2SKAL94U4ELKAZKFMSIWJNGC9ISISFY802ESNYYFWL11ZEDB350JGQNJK1Q61SK9KFJM7L9WNQYXYQ0EEZQMJ86UBB0TRIN0HVOFBET8LP0OZMCE2JLW7JAS8S2RAPW15CAQAKXZBMUNB6V2PNY1XJDIBYVO7QXFQR53F div -36#1AB8FPBUH7TONE0GDCVKAMNC5BZF82T0IIXDZN0NFEH88RTPIHARPLAX1AGDEO2A4U28FUUFWDDO6M6T0I4LS21G48IIDLBQKGVL0U130RMA0U583I781BKXMUC5YSOXNHK3AUT69DAWQJZS5ZTXE4AKGQHCCWYOX9JZ1R9WX8VT2COL0YWYPP39UO63MDGNN18BL. +36#1KDB1FK3W7IYK1RBKJIC2KV6XFUBHY1TG8WMC4GEANWPJ5JNRSYTTUH1TCUHK49Z0P42IP8ZRGCH1CL3F2585E4Q7VT3SDO7V6BTYRQ2766OFOUO46SCNSOKSWZI7FYPO6Z1JNGWTEAB4B5YTB27ULK4OQ8TN2NYQ3191GO3WHIH373R4O9MMXIRSSOO4MQ137T7TKMVWS511RPNTUL583CKTR7JC2BS7FRLW2AK5OK2K16PRZSK2158128QR44QIM86AGG2EWLQA0VM6RXHL3CP3ZLEUMLHG4BWUSUIE5500S8DTSKEFW0R3RKLD7DST2RX8RW186S5RAPR00ED3DCVHIZW3SC1AZBA1G2NEVW0X6RBS0FXK3XW76AZ4UOGJDNC2EHVEZUZBIX1Q3CWUBEPBCVGWZEJJ3XS8JPV1J0IQ0VJ8RTB2MN184TFT2INF3HA09OPMIMGMQFB04J20AIB8O1WTCSQ4UXUCMK3ANPANY8VXM0V135UPMGLRVUFZ2MWY5PX03PK0RL5G6KGTOU94WQHRBCKQ0 = 36#1BT14EQUS4W7UZUCEH77IK8AFRU2T7X4BZ89NJLLQ8885H253YREKHR5SJYK6B7EPFFPN2E10KXDTX63T2GLKS3EDMVGGV42SG4HW9IPOMOABJLUI2IBPN2WP5RQK524OXNXROEEZFS6D430L96U2Z02QBPAK7BMR28BUFWIRDNNEJHC5ELWFUQB380TI2JANNSHVEXRKRZDZLSXV2EN2KDYF2P6YAZMSRJ0XATCK2D6ENC3I48WXS88YD6CYKWKKHX7Y0S24JERSZVSYBCNZDWZHNTO4LHPKMZ5H05ZXWAUWRA1NG107VU3L36NLTZFMI86 * 36#16G55361UJO1T94SP2486AUENR0OJYHK0ESVVC33YD2TRTSMPAHX15VSBE4WNLU4D4QMD8R3QILPM8G63CBXVEVMPRMGRD4RAFSEEFZ74AYS43KCPHFWDEVJYLIIUZSSEOYIF08VFVUTZVU32NR1JOPAMLK8NOY3US2KYJAFHFGOQ5390J8ITWUSU5ZGTKMEUHK1IV2TOGN87YUDFYE04PSC5D6730C. +36#RJKBFMKLPLLGTTDQANHYXLO2XD9I9TBC92G2ORCX2VV0GUT10 = -36#FJ4YMX6AFCR7TR8ZSRR2G3CFJDY8AX36OEPISDTJL4SUU3DKDL9Z2W0CFSN6ZU69WW67JV8HEET1PE3TW1QV2RS8AZQ512DNYWQ7DGI6LMCO1SDSFRBQISCSJ5DJ38S05C9I878MX4ARFNIWIFXY5UFYIWLCMNHNE460KLW57NOG5SVSBW2H3R9X4K91L31S44W8LKJMYB871PZX6HA2S7JRFOON4MU7NL4TC4KZWI2KZBH2MRP2ENGCV9D5UNX32OMDDMFKL7EHA26OU1R7M1P8CEF1XXVOEL7BRDO16C5FGJVXCVKFTEMSK4CJFX4YC63BKU1HB2TETNODHWMXROYL3XCNX57YQMWPY3IDLEL7PCRSEWJ81STWT3NIN5YDO203PSF9YUH6VXRARB22BR99JL4D8QEONYUBBD1XXZYBHZ67D34OXLY601GCW5GOXZQ3U1N9374GV3RHAW9BF5GK13AWMI0YLDWIKLXEIDTRO6F520JHLTVXKHR2UFFPJNOJX95TVYXRK7GCSMD7XTR9QHWL5KCVTJHNTSENL1NQHZOG9VFJAV3XOJ5WQRR3U5TR6ZARIR8QD397YHB2NDK9PZ564TCYV7HVO765JWSOJ00 div -36#KAT2GHBVA9DPO8BYMHEQDT88WIPXQ0O8BXAZ0ATY9Z1ML9HRM32QD396XM5MNMCDBC4WOX7VCWMYLMLJZS9OL356KCT8WDWMV8Y7UHATDWFIZGTU8L7XY8BI3UPCAZCS38RFFZK8F2W0PQ0M7D3BU1NPWML7KDN9KZOX96H1HY24HG8BQ2CB2EZNHZ7YHL3B6XOO9JR9FJ3KGY4GFNP7FP723T8432PGE9WGSOVO067FFEYR0WNOF8DP31CIPQ3SXZKWOONM8YOM6AXF481WUGXPB5K2ZLNY4V9KOC35BLSMDYFN3SZKVCZ4KY7QO1U0CUQMY1XTO7FD6S3BB4Q4VW5HBEOOGZKY0I1JHPKMRVX0LUKT5FY27D9EIUQWP191UWBYYHO49ELEGB47W3CQP42C9OSD3C4KBBVB302OQPNKBUFUDIW67OCLDWL0D9Z4E3OAONTE2X92TO02SFK7LVYMK38EN97I4CNVAK3AG46SDCY28AMG79M7D6OF8G2WXTWKUCIR0TY7O3YHJ0OQBZ7SZC15ORFYMX2FBQEPO0E7ULBIL1P074B8GA2DJ0. +36#29YLY1OEBWXEV7PCJ17ZXYNGFM13B1ICC4IZ9E5Y3QC1XRHGNL = -36#8V0TFZCCJM0BK5YQM0KO4T5QBTGMDEZGGO608J08XFSVPHEKVBGY32341SOT14DFUVPK5HRITC8VG3SMIKWARBDGO72VECPBBPN9FKYQ3UK32NTTMM8JEUK4KV3U39NLHW8F6NIGM7B4I9M1XFZAYJV2NX0GI6KCHIECUU8S9AZNFXGY6IT5UO5VIEZBATF98LWRQDP5U39T4XZ1SBOA53ENQ3X5250MGM66RAHMB8GC2M8DQO7J99ZS4Y7LV5998T1MJQPLJ7YI0 div -36#3W4HOI9S3S8NFXIKMYVKDUT4GFYQ6HEPLHJC08FU6EJFO00WXFZIAPE75FU7YYEODG0B62GI0P2DPXA2YGLD7B9T26I2A06EE3OTPVIPJAH4VJZEQRJE04U2GTVBE716TXD0B5L8JKL9L7LJ0HHS56C6ZFARWBTCD2BFRZZR40MD0CYOO7GXV12ZUETZW8KTXBI9ZC240LRRLKKY0J0BY4WUP2I0. +36#1AUIVCMWKDQ2BU0XKYDIQ1OLRMU0DKWSMHAATSQLB9SBLPMMKL = -36#1V3Q8OAY2NR3ERQEXKOOBRB50BWJADP0LV1B28YMT4W0B1HRECFNW539YGQ3AOCUBHMWZPBVU43UY91QQC1V5CAR0K93H4M9C39 div -36#1FKCPTL065W7XQO9A5RBAK4UO6R6Y054W8DDUEUMJB7DVT8E7L. +-36#2MZI8PX332TA8C71RC7FLFF578W5LM1DGVSE0MTGDDMPG6A3PY = -36#45PK2G97F5R2W2SSIM3IKNULNZGBPTJ0965LE5ABFNX9EDA4BTMVWZ8CAKCLOVAVQ9Y4UKU25978TCH16SOR50LT03RKC4DA5H9ZM0F2KYB0X90D74WWWO5GMFJR7Q49O5EDNMC0DX6KYMAK1X8NR6ASWE1NJ83PJW65U4UL1RND51H93M div 36#1KQNIKXKW4DL0IQOJ4MGGVUNCYHRK1STL60Q0I33BB1UZ7JCMERYHDSVVH8RN4LUVQY9H9JJ1ZL8E7YJ4TDIJFVC99CTT3TJ741OC2F58R70GJUSS0UPMEHBOZEBMBDH7. +-36#NVFH4Q7YH4XW1MT9FRB0SP4JYULJ6LX9AOPSXZYDHRT3RAXC0CNGVG4UXL9ICRHWMWIEWQX2SHVRR4JUKR0UG9JVSSFA841HELNIL6UHN5QXH99OBSIPZRJ16A3FN1VOEKB4KXDI43B8ISD74XB4SQX8HVY82HIY9NTXNQ1A196VM558SY6Y3RKJ5RKJ2JHQUG2GASDN8CSK1T3UXJZIG9YSSHJOXPJN4BZB1JOH4U7HS4R60PC1NXTY7H1V9QVUHM44IHC5 = -36#UWWRS9WOSAIPFVQ3MIJKDVJMJ1N9GVC018D54ZWOPYRQRY0FXEV9DTA1XKO6O74D4R3RCLURA4DEYM2W84NWNZ8EEPPLQXEK1JKAQIA67K14STF0Y9X0RUZ10MNRDVAM69EJPPCVRBJ5HM07MSWH1P1VFHZOQKUY1PRDK89RZRIKRRXCVNPMSCWZO0ZYLDSL2VOJQU1ACIUYBLRPNPOP5FOHW4PIHWNACXUZN9ZC22MN6Y4OKIDB9C1IIUCTL6YSYEDQ9TMRDVIFEOJPGY85R0J91IOZ35EFS75H95OESCLUXE5Q33NVD5GJ4NNU5ZNJA4T6HTLS3C9G9HXU3SGDXSQT8P251YNTDCY8STQBKOY3PYST2SVWJUEOOVDX9AZSWS6D3ABNGNDIPG49QLLYRRJ9WEUNSKIJZICB4LZDVV3XVWPWSAZRFGO8082YZPCYVAWE5U2IVHWA1LGLUB6P5Z1XR2F31UHXHCTLA8688AYJ1XR5I7RDF5OBF6RF4XDU2SJLK5ZQ3P7H0B8SGJ9YLZX1F4NS7OMG09CNDGJ6K7SUNQVK5BS9LNJJXA5REXKV9S9I7YH4BEMZ6GL65IMZSHY1NOA75O20T5Q9I0RISF0RKEC1YSYKHMAN5VYZ3SK795UHDHDX96MDX2AKWHPQSD401SV2GC6H98QI3WSF1L6XE3HINIXW8I37AQ6OFJAHVFE1UY1H5RSSM4X3FVFDP457X5O6TW42OUX52MOYIFIVQHSU6EJJ5CSJXHXOFPWLSYSQRCN8UUHMWVYHPLUT07KDR3E8AI3955S3JT02K7OTY7UKUI58NIF25FB4I4MQV2971G15MG4PQ4Q6P9W7ZSGW0VLR7I622GZUY23Y0JUWENRIU645WO2XKNV205I49PSXMXO6IMKIT2VKCQD div 36#1AM8QBHZFVKZ70A27QF0KL7X2PUIHSTH3FQR6EDY8ABE0KVPW12THOVWDY5Y4WADL7GK6RG5YDOK2HDP3AHLB3FRPZZSVH3AK7MGPKK7OX2DW5XID53EJ8ZEBRMZF3MFIKD6D3X4Y8GUDHAUW19IFHO1ND7AM1026KNVDEARV5OZ58RRPHE1HRD2T13JBL50D7K5ZGIHMWYH8BNTSARO7A5SWKGQ9GLB42TJCQSI1OJQNZRD00ERKRQCA8TJVWNXN9PRL290NYDYYG6R517ZTZ3EYNMBL32MBP3XW06F82ZDP0BQKVSC9PEPATUGNDEWNIPNARHL5JEBA4TIC0VCK37FC6TI4RX6I6VTSPF9BNCTUG6HHUO5AIC6321LU0EV16NTRL2DSOWVE6O8DQBA2GRY1JMCU3BWOJACSGO49JF56SXGYMRYHXATJ1GXKNRQ3LE2EG7YFMHXX3BVTAJW7H5DCCS51DASZI8DAPNERMF0ZTJEPB7B68FW1NRNRS0PHOWYXF32JOBUR7QY5NSI6SEF90Z91CH8TV5GHZNAF7IKQMXVMREYY2CIQE9QAT7TKR3A1CZEPLZ1OM3XBKP8FWX8SGOQK0SRLJGF44OJXNRBSA602Q7J1F6AZ96HG0KRKVBGRUO6YU0H. +36#2KMJKZFHWDSN5OUG4R022ZMK1CNYPA91RM36Z7PVEYAOIAS42Q = -36#156IAK524VLK3RYIATV52XNEXLZ16D9F8UV2RLBORS1HE7HV3SLKJ2HARP9NJ151IFQTZ704ENBOM6YYPTXWH5ZVBD2HFTS3XIQSGUTI1WCW8PSGLA8HB0IP4R9ZTHBTB73YUAT7QEEJFVBZP6Z272NOG7XZ8VHJVUWLHCLIXZIIBNE2KTPZSO14GTQ2BEPHDBLKO4KBIDUH22YWGDEUFIXRW0YFZL78R2HQR5EIZTHH6YB756GY3KGKSRCAZPLTTURR6NEPRV84T6BQ8K div -36#G06U40PW0RWSIYD4RNBZRE1VKFFRSA8TJQQSDDQZJCMUD49D3DHI4EDFOCT1WB3QUGWTUCOOMH237HZ68KX3T7HT7L2P85Q955HC3LCXIE35DX88ZNLDXTV7AVBJX93PJWD1HB4VHD4FCVEEMV546GLKQ5IPDM0Y4S4FXJY8I101RI650WNMLDUC0B5JQU5KRKRW3UQH4AH0GOCYL4SBLLCKTGZI05UY. +36#4CJHYIH90MYNDUVW6E1WU1BVECSMIMTSJN9QRG6K4ZQWFG72DK0003AW5EA0XRIGR0PCFWYLF5A8D15KP246NQP = -36#44MS2ROUGBL4UFAZO1UNP37MOG2MT71V7XRB3D7FT2OFGXRWM0H58IYFWZAHAJZEPEW9KWM8ZEDBW1RPWWT2QVCRNWRUVHE6EHN932GP1WPNCO2VTY6Y4NAYBZDJCMZTLRFSKVSSU3K2FHDMIYX0RU9CKWH9PQJJNSNINFIUYGFBS802XUBRMJ5FMDZN9DNB6X2IFIATVLEUIIXDICQUXMGFSSMGTUWB1XC591JCSK812FG92AD0ROBVVMRTP5AQGROH7MKKKAG40VSND62J1TQ1EJ0TP0ZBQUEF84LN2923G0O1BREBVRWW8K99B2WWS01UIMJKS0RICR5NA4P7D4S3GZHKTU5G32036R5GVE0RQEZ2R6IMUJ1HIYCR333V7PXW6N4U1X3EP2IIURA0U8OR5VDR3G81T101ZQYE9IWZ3QSOHWH85C1SUKU0G3EDAKB2PGDH9LQUEOHPHNVC95LFPV2UT5JVTLGGL5447SR63TJSB8F9NYPT8M8O87AKV3FYBTAUPBWYJKZ53YVHG3CDN9P3X2Q5JQ29S33KMH6DVYJRI1MNGOU0IYZ2BOH5F4P647ZI33WACLC45QLCFT1DSRYF0KNXNLZAK2PMZKT9IRGE5BAV1EK0K5WNIFAU6HR7K6MMIQL8KZ7J3JISH0DMVKDDWRZ7E3ZB28PAWZYA3U9BR29LEG3MZZXJDHDA3VRSD2WMMEHB0R0FRXUT7L2WCXWY69X24FBTFYFT2NHNLW665WI3SPD8TK4RUFNS6B6F0H74QRTS7NF1789UT61C0NK4B3WKGOJEO9FWQPRIVFY4ER9MMB0QY56790L7HSE02M5X5E3Z2 div -36#Y6ITRJT1AND2HZ55Y9BG3H7NKSN9L0HHFR0TYCUD90OO8YKG6LH9URBCSLQBSW252VZ6BQ4N3RBWJD8VMFH25XMV1REWGVQEZT614F6J3331TRL2OGWO64ANT362P9SHK9H0VYCABJZDS1U7G9LLKNYNU8CCY3YKMFXGYTTJ2GMPMQKIF8DCR0J6AUJ2XD0JI6CF1QMO8V1KFII1S9VAT7HTBKEGYVN8N7Z01WX7Q2QORNWXS9Q5TRD9WQGXA62G2YMI1WM3BZLIE0N33GH10U3ZDLJEF5UYUN4TUNW98EKZ1XKQI1Q75E1EH2SVMGUU1LAE35ME3HK3TRXTD56MDX5LMZ9TCYHB8YO6ER28LM4KGQO07AASKO99C4YI1R79EPA6VYKNKT96FW5FUM1DNNXCBWREJTHR4VZH97MS267G52UD9RZW0D6E4ZZ76EEJV636KLB6KWCY4C5SJ0SL04VX55LCNFR6OX7DYSWLWBAHR0WN3PDGD7UZV48GO83UMXC1JE3BIHHP8P8WXZCCO0IK9RI7SIJANII1G5L0DJOCBPCQ4PIQ11P3389A5GVBNC54ZSPIRP05AYG2VXBIVP7UP1YB9M229CHVGYG1DZO4Y509K2CN24BNE5LI75JG14XCJLTS2UMMWSX3Y83768W677NU46R4GAB1X07C7KMWV5PBZRW6DMXXWRVADVEAMTTAJOT0U2R7ROAHHPW0TODNLGQO1YD782IZMC0LEH835HTPHRJW1Q. +36#5YG9VLSVJZBWHXRUSSR5Q7R24TO8WED4UTTKCBN0PBF55OXH1DLT6EKOOCVQC4HLRS7WLCZ9TFORXMW688L05F6TVY4IDDL648WPEOSO191PG8PZVCJ34V1XN1MPM9GJ7L7TAZUKJ4NTUM3SI1B4APW51SDZMSGOM55T73N75K3D27GUEXLG9ZTFQU889TAANIUXXPEU6MVN2S2MW6FFC22GFNZ4SYUTXLFN8LJQL2W2KRLJOVBFDLGFUVUEIAVHURNR0MZQBH60AOEL0QY65ARK0HJMAOZ9X1RM1T7W3NI0OVRCFN8QSCLKVKPYQ74OUMM5JFYTMQU07QSD85B6GLQ4BR0JSVLYV6DXJOILWRYOONX8Z553K7PVITRYKFA2PTRR3QF7NTNZZUEWG2QKELWLR9NNRN87TUASTHOG7RW6VJOYHWFI247R49ABAOEEV6OZZE7ZYR4HW61TZE97A9E0XJY0ZFZENS70HXWJMZK2D1UG5MGCMJAV8UABY3MHBY9SW07OAQ6GKOILF2TRE6J3TWNW6ABRZQG8QNL9Z8YA2P2L6 = -36#8ELZ6ER0XX60DEVDYNKYGU41U5I1CH11CHTVKM5LEGO8P2TEZ * (-36#PIFVKO7SMVFZJP8ZM38Q2ERN6XT7MI9GD8YR71OPF40DP6736ILR2CPZL6LL9ZE54XQ6IP7H74YLN1KXCYJ7RV4HNF62WYZ02WU56R861FWMTQSY8M1KNL00I9Q2C9PDZZXO0PJBHFMHCQHM0NUMBZZMHG0EPZWN0DTUKFXXVHFQCJ4JKJ0HWPN3OCHWGKYP8GMR2V3O7COZSE6T9YYGZOAT7R08MUJHY3AP1EYHG4KP95E3VS43NJCCXN4LZ1ZTVA1GV5D4RP6WOUX1FIAZGK480BM7FKYDU77NAXWNNMYMPDPP3LPIV8G6YVB9X7G0QDI3PW4JZG6KYB18W973LZ0LOIERK0AQTKAUIANZENIFPEOKTFPD6LRGI08CHF4CAW5MBSE7H8FQY01SGZTGR4QY2NFFAIUJ91DYT91MR7BKOWRQ2ELN1K3NR9TY4PWDU763FRG934SZC1IIERQW0ISNH325MAEHEZ37WZ98OY0YKWX1L90ANS4DMB9T1RWU). +36#BUZ55NP5UNZJM5VX9YWDZYYY769NBI1JFTUTPZBH9T1PPP7FDTVYC2HCL4J5NHLY53G3Y1BJWJP9BJQ099DEN7V4LBKP0SJBPTZFR9WMDXYMQKBZ1YNUGKV761SNXLPE9SZLA24ZU6TMSKYODHPQ56D63WKDCLOSYB1FWD5IDG1J9YL5P8DBYH1DXLLEBBI0X1YLPVZZI5A1JAQUAGZMCFST78G2N07P7Q1DLM3VDLDPLM71T3SWDRTDAB46J3ORSMZR16GWSFC1PNHTAAQ68FRFOMD55PFWC2SN6SN0HJ52GHO0N63XASEEBPPL6RV8145IPH2JQDPC1M3K2V65G74GGTKJGUOTZNNXLYUE61PS86EFL9PXCMAZZHM = 36#55WEMKY57LG2WUEZRSLGDYTG9DMCACAWQ4IU5C48NAM4FUP7IXIFT9MRCJND6RUIL6QTILIH1JF2QMEHN7KX5VL4S2SD1VDX44WD3W34YTC1IK2ML5ADZPKTKW17Y1NSFA0RW2OUF7FDXEMJL8LUVHT0A2PB4YYABPIV0IY7ZK7ACMFLM68ZVM5T5KRXQ8RN1CP8P20VCD5YTG3JW5UWPN27VN0XAF1PF3DCRWZKFQCDNV4ND91EAIH1A5WGT38AYJFS436N5FCGYDIXLG4NIDKAICE4ISOQWGPBHF78ZVS3H03XHQRVHWF8DEQXLMWWX8VZC8R6N5WHDP6RANKXNH9FNY3IMB8I1OHP6OPF960NZCB9O8G9I4UVRJ30JY34UHTU5HAZUHR5KPU55PKI8MVBZATBC0LGN1RR6074JQB3T9XVHJW6JWHGEN7OZOJQJPSV3L9PFRY3ALLTKOVOD0KTKXA3BLTBGNR9XUQIR73KWTZDP5J1H840U28OT81TTSEKTSLV8Y2ZRV9XS div 36#FO9G3QQVHQD2BKWNQNTKIVF7S9G9TJFVN06YRTYSIUEPFW078VMLLYSQHSEHZU82HBQP5X2QNPXWXHMBXWDGT744OU0JI8S26SHH5LR2LJP2AFHPGFU9JG0AL9IHUQXE8N9ON5MGBKYGW00SEYBJAG. +-36#R4TQJRIB0KA9EVXZDUG4ZQ7KYLPB7OUK8JBED1X2D1PQV8BXSG80PY4IK6TKBA1W83FSGNC1AT2ZV926R8DONR2LWSCC3IOAPP3UO0HGL3P1LIA5P09QS7Z7MF4P7HLWMSG9WCG = -36#54HULQ570NAQ0AAECDUC99EGQ3DD0Z02BMZWO190O6LAVMFDIHRF3W0E470NS3Z1PX3RCC8BWM3XD7DSW3Q0234 * 36#5ALRFRZQX8GBKLFJCX34M1FKFI2UT2WDQFXV4I1XACZ9OV3R4. +36#US398G2QQZC9O13XK61K78533O0FYVTJZ5W9Y1H7QYKGILJC3N7P23WJ03W7R8EUM3Y0LXB4REX41952Z1HX4X3XKMO6M364G3PCPZA83057H23RO1TEL96054ZU9XCS24PD0G0UO9ZM8D50X052A7MXMOS6W8INN2WGDXC7J8EAPCIKISWTDIFN04SUB4JV7FOB0LZ2VPJ0YQFAIH75VBXDRW60NA7JSGRGQDXDIBDF46XEDMTI77X4IPQXMY24XY3PD0PDLS0Q5O7BC3CC20HIMSIQWN6XYV0BBRTE2FKHSRMVAGKWVNA0Z1RX2356KW6LMMRK83PQHCL307WRYW09XG1DCZQ3CMY3UHRHGJWYXZ8Q1FST6HL8YKELU4DDIUDT4VOIR6HI7EHQTK0LSCKJJB1LWCTA668I5FM3DP122LUMQYZ12SXWPFKW1T087DEJUI0TKYPX4H24LWCKV7NIDUJ8L8K6GYDZRMO71GCNTAGUWNN3AVD149ECLA0CG0A49HIJIJRZSTE2TK7ZG5HYIO13YYR8W975I78V4Z30E9LH0P9PA3IZ1CIRO2GU69ARA31I8OVTMGY1QSZT5AV480TIQXUCYURPZ9GU7A8S2YX6GPQ8462XE3U1KF8EJNOYPF1AWDPW1UZYFMASEDXIZG8DH4E5RGRXWZMGP5UBFI = -36#331A7ASP0IBST2UL9HYOEOYQB4Q9JGNJZXY7GX8T268IRW29SN4AABIRPU8QYXBONWPT09O8VKJMS6L6S29U1JGBC6F9A6L3E7B8P6O6P440MYSFPQEAZZXKC5SMD7P1XTBSA6J930JPD530AA98ILHT2OBKFVXOL4JK7DRPTVBD83FPWS3URSB54PP16KA5NFICJFPNGWIWL3AO1AHP1N46AZF73Y9OMTQ058DNTIIR8C1HV5N22X4MZFDKAI7F5QA9UUPSA27NZJSP77YALYZ895DYBWP5KIHFNR2MEYEPCMH29VKLDVSJ57INJ9KCY0PWN1ZJKJ0Y2HYH2A7BW0ZOG040K94OTNH5KLVD7GPR * (-36#9Z9JTYQS7B6D8WWV0Y5611FHF6NDAD82HL5KLQSXLUIVO6R6LTP8FCUOHS21DWDLUOYOY0R77JU6NGXIBXHJJJ7OJ5K3ZUILTTW2PT53XZ7ZUHDL0SA0K5893CM3VEUIRLQ1MAENGBZH5WHOZ8SZKAL9WC6B03LBWCE751SPWPSYTYYBQMP6XT2TIVTH0EL6R1MQMBTRO8OIURKYPZAIKIS122YN3M8LCVFVVRQX4O75HX4NOQBWUCIQRRYVTFG6RY2EUF764VS3H7UWZVMLAOW8OLOHW4ZFXE6UQ3GN5IXCUCH0HZ3DCND0PGIZCDO7YW2). +36#MJ6JTA1IK3DEYFMEC80R5VYZL466OWOBJ3KHUGJKTQL06RI6OY38F91UA5P9S1PG5NLZ5SS7NEL9CD9OLPJ8B8I4GXWQSHBTEEROUJTWU72IIGC7QAVYS4UJ6NT5LL1Y75BLN8VUM6IHEIRA7JI7ZRNPG4SZQR0KDRV5TJRIPTRV6GPPKUIGP9T239NNF2ID0YGB7XNXRIOW4BP92GKJ0HIXVE2P3YJZDOIG8C9ETQFO30RVS0GRGBK1CZV74R5EEJU4AECY5YPVRXHX21AHZW30O7ZDWGEHA9L6MQNQ03JHJ6WSVB9S7MLY35G4VQ67IRMSL3GECMLAMW10Z5NKN9WFRKI4KNRF5NG0Z54LTKIPWBE8GRRLJHV7I6UQ5O6GBMQVD5WW7GROL9Y79F4PM2UBX6387RYY76KEC4SQWRJM1ICN5RXHNTLP6CR0L82S3OYKC76PGZAZ9Q8KILVF8IKONEN23JEZ4O7MJX9EHEWRUQEIXKCFWXBC61J2IAQZEQXJW4Y0EXULAM6G92IC3Y4E42ELN8L8SQM4NPBA5SFB0HUJJ3VMWE8ZNOEP0B4IBR21R6W06EDUE8BITKGSHUNLOYI7VUOBXUNWC1YLY3SAEM2C741M6OZXTHS5MD5173GXAI2OAROHHO658VMAHVI7BQBC8M79RMY6FIH4V50HMQL9G2OCJ4OPC = -36#1WEAW7OBSCRQ0KF653QR6J62L2W0E8Z9PN0E838T26UO9P9R9OEYILXS7TS13EZ75WCUYRSHAEYMP0OP4VYJZ3OXF9DPV9RFYST4R8LCU8GC56L9ON4D88K2MHNB4Z8A6LMZOTLQU6R3GCBY9UL2B7CWZLTE928IISQKHATQFHZYCKH40U8U2TLEYXVUOUVZFY4CQUNDT5AQ054HMXI8HAWS0WAG95XHPNYD91XS14KUFEN98K25MOYU3T8ULY5S7AB4BSL4WQH0QT6NTWDIM1GPIXRB8Y89ULLRITYTEXFPQQ1ITFAWA48FI91Z4I1MMSIURIABAEAF3EG3WG7T47GRJQYMWLSGP251HEUHM3LUZ3MKRPWG4PM03L3RCEQQVJKH6L2XNIH5Z4N8DGZNRBOA95FPBAEKTLSNWT4BGN7WPWA1G6MBLZIFOTRWE3G382T5W1T0YL72OBW9687GIM3FHDW19U5YRCR9MTHVA0ERZA847FVKNE6LLWGUMKISQ7TA91RWPXJXNV1BXRZ60WDXLU9J3I7OTC46KODR8PV507X21N7QYAX5AJOGIK9O5LD76CYPCOBNZAU88DK4XVHESCIAIUP4PLJQ5NHVCVCEGZBFO160FJXSF5KZ9QII8XEIW1JOZTK48LCWIQT8UN83IXG0RAHMERAQ18WRJBLAUK3CTWWGH6I4GDESE9TK26YYQOXPMHE6MOGSUYBDDS48O050PH9MNPJ5MJFAOKUMRH2NJFRNJMO459FLLKKPGBJ6KEZ53PHV283LS4N1TI8N1XW0PGW97D0XQ7NAQQBQLQ6X21YNNMJC59YR0G2I6MVN5PJUYOGMEW4LGF8856Y5TDIC6IPQNMY0I4JES5ZDCDU222VXTTHYC7CBH9UQADQO div -36#319XZ5GMLXO3H3SGRZ6WUUFVJEJR9SIDDU3N30PVJCBM10XIFFWH9IREON3MZERV8KMKPA7LQUWYFDMZUHY0Z1KXTW6FH5CCBQOVGZNG6PF4BSZF4YVAIOEHSD9K9Z4T4URPH7PEPURMRW4SOQE95C4LXAV6N2NGTJFUXBF2HBM1Z5DPGWRCBNVGT9ON6E52ZNU4IHBZYDT. +-36#9I9YAOQBO4J3AV26YP2ER6KKWKXGM7QSO2LNE4WQRDKRIKVA171ZD8HKH3BG9I0SU2OSI1OJXO1S2YITJSEY7LMU8ZNX14ENV63CCCPJDJSVRFM4ZQ9WLOJ1MHI56N5SNQ53UI1YW3YWT4JICX7OGUL7CFRQ3TB843UV0ZXA3FZX36XF1TVJV6FFL84CGLT4JW6ANQBYRYISB3MKM1TWT7QEPPM4OFLA28D1P0MRFNEXVJA9MMSA46EHR6P8U8GMXTU5PMDBUGR0Z7PLLX1UR97L3EZX4DV906VNAMXKWL2SGMV7ERX7VJU2MD2825N5TN5VI5EIXWIVU369HUGGT0BYOTVM35M5W3Q4B85KRMCDV3IFDD9KM6IRFPU47SWUDOTOFJX39L83AANB7B6N7Y7YPT7R25UI6U32OD3QVDQCUS5RNKOTMUHA4VYUCTVPQ6J7MF5NASVBKDS7D6EGKWAZAE9EYHQ3DQTSC4IT29SAKZ5LWPU48YJ9XSJ8L0W2SQRVW91JVMS9PHK4RWAX66LTZPS9EJACJVE1N2QF0D1AIJ1YWEV8BT1XIQTNPMBASBBWESU5YHUN67F06160EKG6G2YSJMOVFKK = 36#R96WC6CYEET2ZEX34KGKTMFS8VB81WLZDYZSGBAOG3WL29FD1YFK2CU5X3B029WOLQUQDTMI9G4D3CK15ZI21TU6KZHS0ARRKA2R8XMOO09SL0XR7WSTGHI9HWC6ACX4UQ0BZD5VD8QQDQFALLB3GJY2X8FJZTIXLI8ETO3HWRCZXN3IXY1C4SWU56BHG1I5A1ZIM6CPTRTR1IT9DGW89X6WLG2U4TCT515FEQ0RXAXFT1E9HAEAW16E2FQEEZY70VIJR59A9J95NAZWMZ7MNCSXSKNHGCRBLM1NYWWK959OUX4USWT9GYND5EG8NG3K1O8TSYR97K582UDNLKE2FAMB5BU1SAFGCYEAUZS9311HKNR157J2172IPSVJKU856DN3GV7J4H2RKQVBOKVSH4KIH9RSFKXK5JK6DNCYLDXI6WBN6OP8OEXBWK432EZ0MMHLB656ADMZA0CP1KL1BT6ZFGJH9ELD1DFAE37WS1R8R8JN8KNTWL53GZ8IQC6YC7M31IWT3S0Q0FL5MFWK87AC1ZI474R8UXQR9ICU8VAQR12T23ODWAOK3HQR6AN1BL0SIDWJQQZV5V12HOA387KD1QHAWOYTXQAXBFST1GYKE4CBQLHGY5C7HGXNKTUHV4VILO71Q9KKVOULRTIIVX9E9X9JUCQA1LG30 div -36#2V772QFJ3IBIEWHNJF6GP5W0N46JZWSEL8RUUNE77ZTF33HI3WJG0E59NR2SYH4LWLR. +-36#1BCGDU9Y8UH3QK7BFBWWTZ999XTG04D7H78PNTIQGFTW8T2SPBHPI543859CY3JSSOHNACU26UZIKFXZ8EMM2Q2HQHLVOSLLF8G0HN5DHZPLEBXUDYKW4OIXAU8WP77BGAKX86G1CR6M8SV8JO1JCJBJ6ILANACZBW84UU8A1DRY7M17UX745P5WR0RE28SB8YI0D1GE7T7BZ8G0TYIN8R433FIK7BZUXHXT1D4DY8Z6PQCAEKT345VYIAJZE4IP8R5DS83DH34JHRUV8IOMA27TI6Z1JZROOW5PD9MJZCTX27RV = -36#1Y0WD6N4PTSW0EF6EBK0H4GHQJHA11P19WB7UTSCK6MPHTQI0I2D1CWXFJUS1TLDEJI5AERH3JZMBKCR1XBGMOVSU7B6M4OBKII3DV9I93WTT0PNRPCXVYL008UGLR9MKXYRFNM1DXTQT7Y99KS6A3XZ58F6LB24CH0IVNTF85G6M59OFZYBWN03C1IQ6GZA0R9ARY167PQXQTZK4VC7R32U3EYWCWSWW3AMBHIC0DZTXDC9S8Z5VOKVU5UV7FO9DP64ZAE73MH6Y2U48VA1K9U89WH2FHMCH8DC5VNSPPTSSZNQ3QPKVGTO4RZS8P218FZSI6UJ25CKH00LFBNJ2EO2M7CLQ3NGB div 36#1H8SHUOZRTL0A8ZGO6UTIXOXYWUH0H9J0L5ESHXA7VJ92KRR35. +36#X9KD19JGLCTAT5DUE3UUTCM92IPTWHS24S06E06PVSLQN3POIBYNV1XF3H3ARBRWA21K8VZSJNXOSB7L8QZCY32BWACCDDORBCSEXDC82S1Y57W2W5VK8DNPERD6KKNCX7REFDWXQYSW6J397JHGOOAX0IRW39BEIPM35TYN13P8DAEY331ZY5V5H5OCQHXGP921ZJNF3D8RDFE2CRLQZJ04ZGP3ON6Q2SA62LV5N4RLGDA9Y9XQOLJ55DBX8EII6ULYDG05PMLAKYY85OKP67TWBOCLZN249J47VA6GJJXQCBNLJ4ZGOPRXI1KJKMMWNGTE0FZWG1WQ00Y3LHVRY4FCLRG4V7RHDPRZDJZCE3JTVL7JC2EX930NW83KQ3L329BGP1DS5M2U7BMXBZKLK3415NMQI94DUA19QA5WY621VT3PJ61FYU16WA55GOZRYSDOHI9174JLADNQYIALMB6XX6Z33DMJBLIW45F34S0ZE0OZDJUYW7TW3UVYHH0UE1V5AGKIWF3A99J40BTG5RX19DBW5LX7HO69THMRGN67MHSYN9KZVN1YV759J7TVOKQMOGVOLTI80TS4S9EZS4W9MZY8IABZY1YISYW9Z1OOBTNLQZPCDYRMI44NGB4TP99XVCEPENK6L3MZMVOGT8DH5TQEQSIS0JRA6KX00AUPTCDR16LG95BYTQG7VAAHJMM3DBN1SKYEPG4NT6LQW19I6N7R3Q8EQX4NW8OPZWGL9GX5K6R3LKXLU0RKMGBIF18BRWJ62N0HK3JWYKLPWHE8X7EJ1UOH2EBPN73JPEJSXUQWLQFZ03OO2FCO29KIX0K8RJQPK4SYUOBW6ET310V2131XPMBK2IQQZGOG1P6OVGUWR7TO86P6T9LTY6K208TK1KJT80R3R6YOALXBBM8Y0CR9OPBZETCG49X0QR3F3J5ANLDLHAPWJMH8L0F5U0ZXG84KWERA3A35I6TLY79W9HXVPKD3TP4NKK6CAK0ISEVZVMJD8ZYMW834P9HL2CRLZB91JI7PHX7NSE6CABLG4XVHR3O79JHNQHPTGPO3IXX20GRUX2F12GVJAH5PUBBC9KPWP61HJPQXOSP26WNEP65FG3TMUPC6EOQG6U8OYKC3L24LDNX7I5RPR0WFR7WECEM5SY9KM4MO139P1UXYGV02TR3A76V8ALF1YC8HCZL20I5N6REYGVGWVXYCPK32874NGHM4JROPIJJ74W8GEB1WF5ESVJVIK22TJMFFRBE2GBYW03V7DCUAYBXB3QV35518UIGO7H7VZC5NI6KS99OWO8ZKGLK60SMJ8VEO = -36#KS07UKPX77PKMQKCV0FD6TY8TA0VQ917WDW51LODD76US87UMPD0OH2CWJWZBTSV6NQ2XKISHSK472EEYK84LTHW45E4OICH5W79PBBDU45FJZV0JF6Z3JAO20BT9VSINQ0WLHH9Y3AUUCU4ES3N2284S5Z20FH9XOIIE0YP2GIUN0R8YPC8EN2IS6ZHIJCX6L006HBCF5DZXUZKWUATIQ2G26VXCNPIYDO5FR5AZEBK0BT3A5BB0FA9G0XXTBDQUS6SO37J7MQDZGK659GEERDOAHOPBKEM9TOV7QZUCGJBTWKO3DEJSTBEVI88Q1ZX3CUTI23CSWB7UBIHHPAZLILPKHYF8M3G7OHZHDSZ457S2BYQZ5HZBXVM9NCUNRE0LMQV0EANZKETJYSJSYMPN5SCLMMWS38YCROZO7GCA812IVKIKCW71EMGO0LGHHPE1RGMJEK10WKCPZPMHUFTFZDNBJ4DBY4KA7FT16LQZ4NR1FK84MQHNCE85RX7X5EO2Q9DW9Z9I8T49NA9C * (-36#1LMWQZR6E8TXA1H12DXGNGWBVKY6S6BJ4KXWIV8508YGN0875NP54PIZTG2DY4QGEBSUB8C8T0HQF4LXAOY673MY4N14SGZ5MU416NYTOJMCSL0OGNDUOZCQNC92A7BEY62GTIV3YB5O8L5WCDDF3BQVNBPEQA6NTCZB78LV66IVA1HJA3VW8MOOIVTL8XPJFT4LQ14L9TCF4TWQ91KLVY65B9PQD0P8JERML09ZSNWHUG27JYD0SS3N6UJD29TJ6A5QT2T6VY21LH1DI76NNBZJXNRG9WWGL667WPU3AIYR6BNIIJF11ZMXNLER5SEAMIXICKOWPNI6ABFXY89ZK6BV948Z5MBW9I1XW5MDJBRNTSZ55H4T6KUFZMO3ZMQ2N9Q4ZVESRXI36XBRDMZF8MRJ9T136RTVLA8QSHPVU86EB394S4K71KQABGPO3XD3ZXKNZS3GYGQTEJJRZAYHPTPSFX8WI3BX781ONWJZYLB9PRZRG6K4UBWXCBZN9HKPER6879GF4IP54W2UAKN4L61TXQTYUYML4LFRQTK08JHS5E0W97JR590DY1T380Q93P4M08HP3L4C57228OHZ5471INYP5EXROTKGI4FZ6G4D7ZP0T88BRBZZ3OWTNMX6GD4ME6C6DHC1M2DK6MC8LG7SLTAE4Z6XON0KGIGMZUCU0S7DPL3ZUCXA8JTTUWWKB1AV1PGW76JEK87X12EE8J2Q453P0T7NGX1LUOKF74MPKHHCYHUGBWOQUKFRGTJR29LD9L3N7TKCFHL9LTK4KT7KBXA8). +-36#24O7CW2UWVAL84D9QQTFOQBKHI9XC5I7VTPDK0825120WJOTDZ = -36#4UUG9USDTTBQ47IWRKG21QW7OKF2QVA0QGAVH4BJ4VDV8WBPAW5T5CNNBW2F4ASTIQMF80UJ0UDHITD8B4P0K7ANJD9IV9204D72VU7CL3BCUKKPJUVH8X0YWRY6B9FLTJ753SGBSJ3C8P8XWEPQ8BQU6S1283C0PQPW4RPBNRPYS4TCCDXYIRTFJ4CXMM8BGVOSOQ22OV2QWZIJY0O1V4N6B9MJ4ISSXNTT3C9TVRF45PVKL4CFAEA6W03F7GG2VOUAAA7CN1N7MNBFHS9R99KL2GDKV0X2YXCS7SH15GI38VO9FRJB8BKFNR791TXVTFC8RPJGZBEIP5LR4RH5LE010HO1TVTU0PXS0LT4F6COOVK5LZY4H6AWXAON26LXNZKIS6LLZBOPQCFXHGUJWS9D8TC04PTVOFAAJTIGQLA5B23LB803I51WUYO145PJ26X3PWWUTIWRRM93TYSKTOOOHDI8ZVB9VGYIHS5IO0VNI8DLRK0OIR8KJLCM83V5NOSJ1OZR1KZYXU7L02SS14JN9HQFEHRJPZX51CDC4605RTK09V1 div 36#2A3FQ7372FMF1Q0XFF3NAPV8WAOMH61SI6GI9DGFBXVXYEAKNTW7I6X35CPQ4SSSFKL72RM73LO9NPY3QUDIJSF6UPKPU7DLD4H3JIPYZ3UB7PQKCSG9U2YZT4M28Z3HY9K5V8V5RQNIXVL8SC6KGS16MSGPXWU6TCLS38932XW8JZ6Y0G9PN8OZOOAVBDUC3XPQRW6OWTFA9NYYNVDH9R2YNCCAU9V6EVH919X5LY4UX5DAIH65JNY0TERYRWZZV45QSH38GBYC32AD8YP498X685E8RZK3SFP5E47U762J2XHIP4R1H4D84R58PDM5QZ4TBRYCRWMPVODZQJ93168EGBO82GGJHK0XB9FET0AJDZQ2UDX88IQP2F4HRFND374D965RF4C2J83YICGXB5TAXRE1U159RXCFX0IGD8MCR3CFVBRW302Z5ZAQGE7OH7VWV7IW50ZZVQV6GXW54YJYBNKBR1F1RNUKUFGTB7194C0Z1AP6R1FYYV3ITTSEQZ. +-36#HUHI1TCJEZEMKN40LY665B83U5N4M0N69AGABZ74I054CWP0Q = -36#BHBJW8IE6FKNJKKDQ0G3VPE9BTZW0AUXMVDANNRZRAQDI620FYN5OGWCQSULGQTT1METGA6CAPJ3NTTMEDLF1IRY9FUL9N0LTT2420E8GNWRRXJ7M2XNXF2BRIOLOS645W6XB2BPXPP9ASD2OIHTXOHTPTPQQ0V4PAG4P0LY9L2TPVZHPO2EAHMCDUWMKE2W6VEAFZC57EKJK41J3CL1BTCAWXZOC59SPSZJLIJFZKQT8TPU2EY837F24KH0O1XKMCZGG8RBD4LL6V1W6IH3QQQ7KFHHZF8RENZBZ3M3XOOZBK236JM6ZCUOYQ5R57C1EP13MIICYN4YDB52969DVEEH34OS4FF4QTSMYJZAO5UM94459YUDSZGSI1G4QB0NA015GW5VTLW3WYA4ERW4OBOACTWTOBLVGBAVUHI1ZVUSCEIFS4V0FXA0ABYCALEWMA3A0HVU3YY5KZWH00G47JYQJKFQ96XF4NTAXB8ZCMBAI2G0ZEBQ5YO720YWFW0ML4BV23ARPMOAH3C1LJ8N1NW8IXI5BFZCY2XWXPH9Z9JHLJ9F54U9OI7JJWAJ6I5EVV70602JM74MBC97GBAV7ZC6O2PC0VZMTIVO0I8Q4HQPHSJY6AMCWRTJP5SRYNDVGAAT97LTN4JSQJ9248QOW2MRMEFPKM45W2NAQS8N6A9FT983IWV2YLTDO7STDQPLSYSU2ZEI57A56RIXXH93QZD4SL0XOOY5JJUHTZ2UYLKOBNOEVYVVPMOD3UPYSUVNSBK3VB6OSJYLHA3FPC20MT57E2MHF1NWC5YKO8O94TJDMP73E0GT9WK7UW58SJKR7KYJZ8Z32BEIEHJISTFTTFGW51YCCPUL78HCBURD94TFLVX96OESOH7B25RPH1KW913OKQPNDJN08O11GO1Y896DRXO4UBCZNY6QWPL2FW6EFKVTQRKQI7W2L2HR5F5N0A4NSNFSTL67WNF1ZRQMPG804MB4FZ1K2NJHUQM8MF3C9RIT9971HQVRA53IJXHA2HA49PVPBUXMZYZ00YI4H225QTHP5F6GIAE8X3W0CADIOK1U7GRURBS4X9FBRR1EV7KHAJGRUF29EKXVY46UY7OLDJJ0KAUQD875RUQX17E0BU6FPJN8ZCXGK13B8V84HMV974V1XV2XNGRHJVQ6JFQ999NSODMJ2OS7U0VVTAH9I7ZUQTROR0LYRBXSA0TSN86KCHOA50NO72WX14U29YXTVP0GA div 36#N5QHZD8YYV2S7Y3UXBSLI3KJHAL9AR7IQ4NCWCAFGIBWW0RXR32X44LE2SL1O21QJ9ZBFFZEIK7KB1Y1P5GVR2HD7HSU7REG4EQ92ETQWRAKA6B8ULCGJYATY5P87RB1A7AI31P0NUYXGB2SKUOIHD0JLT8UKENFJZQSGBGRKNN414SPY4XE9J334ZO8EVGUGBBVXX9X0WC3H1UJFFW1W7H9P22AO8DKMNX6ST0YCVZNZNSKI5X7QF4GS10BKNP1KT26QKHKHCDRHVFKRM6CYABJOXWODY10LE2YP2OFKSDIJ78YSK82P6ZQR8ZOWK0XLTXYNRI7CTWLXAW9DBBEFWUEVC5HDX7N2DUKSTKPFI2P91FAG13H1ZBNYKX0XLA2WD4E5TSWFTW4AZD9OO8XTP32TYYUBF77VJRX3JXXLDMBC8I3WLYC8Q1HARLW5N27975R3C1CFYGLO1W88RIFEVRHMXP6NI32QCT3UEBOYZ1MDN0SF8JDMANETCZI0ITZ0BWBI9OGZKNGC0YS47WNPUA0CXKC5DLIYQ0PNXYIEFNFIJ91ALEWJE3OIPXS663RH4M09ERZYKKOB0HBRSWU4W3S44JR12Q0CD6E896VMRMDTU7GKN5ZYPOG1VOS3AQFWJGUYRV8DIGNTMRLISXA0S31GJLP3S9CC9NWGWW4OTRC2HDH3PZLGF2GVMLKKO8HNUXBN1O1N19IGSJ3FCIMYQVV4MD5YJYTE9WXQHDBL3EEYA6319L61HZNCNZ6NCG1KNIYDSFBKT1LCSIF7SEXC6T2P30AOS6COTFT7CH6X3UYLNRWQC5Z05HANTZUZT4N2HXZLVV5H46DO9R605Z2R0ICOQX2A0AFDEMO0PPDKGHQ3FJWNB90RWY77EWGCX01RP5SBTYBRM9Y3LCQKICWM9X34X9V4VDIFWNYUAGQRGLSBMGGYFPJNWEZD09OP4XG38UDNKFHH9F3X5VHDGTQ3BU4RXGAZH3YHF1IQSBVWOHTDUQGI21RF0E0K2IM7IZHD7QE81CVZW9I17LX99XF2BRHC980PIDZ1GGL8B342RL3EPGN73OBDB8DNF8489RUR6LZ24C617OF00PNH9FZL38UTOV7FJMUPIWL09F89ORXBS7CV5RQV9J2S2QCQ09IY0YAPBHRAEF0WH5PSC8Q66K2ARU95JM8JOQR2OHNOYWH. +-36#8PHLKNIVXB07FGUZ4HAM0F1UW8WFEN020HNFF3GGDQ406O49WE5BAOZX0IA5DK7S4YSJATAN0MEG5X345GY0718SHAO5Z4AADF9QQTBPG6SOJXA5X728FHLRC8JA9LPB6I = 36#ZBK6PHQFIJPMJAB42S5PPD08BHKW2OEJ75D7C95KIYXG1V9L8BWCWJCQPWWCHE5S0CA7ADVUN8MTMNV7HC80NDV1Z8HBY529P2ARCG4SA21S0PCZ4LM8D2LR0XNRH4JMCYUPYFZTY7J3FG729D3MV29XH735MO8RUR67NWS685LHXLDILFN2FG1HJI2A5U19KK7I0 div -36#420S5QVTEWST69W4VQ8LX4HYUR01S9MK0WYIFB7BN6WI89V93S5WNM75IF8OEICRM5F0. +36#LPPJK379NQ8GECRSOJAQ3V7IJAF2O920MKI7H0R0MORK5RG2PXF9GN83CW48ODWL86EFDLWFEWJIPD2AR2NGAHLN0XZMBXEENEFV55LQ49K9UNNREVXXHBZZSI69VHN9OVRDR91ZMZ3H1WITOA9MQ757OYI93LEEW2MFFOTKKJQQQFCJATZDEKG7M5VKTOCXAOKBMPEOD3CS2KHRMTNHB1TP9EK6TINMIFWAJDZRANDDLWJECVVSX20SXJY5VF7EOLSBQQBDMNXGQDJEAN1GK0L6O1BP8U35EHPVORY5VPFRETVWQMRFMLSEG512CCZV = -36#7HUJZ4RSTMW9S0KFLNIMNI81X1GXAVZKEULMLN6FWE4FADDHWJZV2YCIGHN5KE7AACGARCN6ZZWTSOITE5ELR9I28U2CP684Z9PX0WSWPPRI2AK46E7LY8PTVPI5Q9MCYDLKE2YR5DG2I4ZKL4B0J62OLJ9MOWFHHF6V7AMQW7GABKQRK68IA2RBKU82RXY9YH9S10VGAOQVNB5TLHUYN9A3K1FW118TBSC8WCSZMBBZD76SFYJNTX6PGJ9DAC8C989OH3ULZJJKP6KENL1QECWYUAG7D5KWCE54ZL7J0QCU6H2DKXZ3P9LLEJN4P3BKDREHTJ2TMS2TL9AT4QMZIJ3J2KB9XIPDH986CV4VUBA8AA8ZA6377XCQP2MNL5801NUR3H4E9WSDBUR2B2JX708VRFCV0HZHDFF8BVHVGS29BH4JLBTGU3NGFIUDU0QE2UE7TF3MTRDJM7I485AOOT78Z27NCVV3QOOIE7P3KJJ0CE2BWC3NX9IHHLX9KRH662Z3KISZGEB067VJDRQ9MO1UIQ6KTVJRJS7BP8ZDAF0DETSWXB4PF2EIFLFPWYNL2D7Y90PAXDF9TFU5BVZLTNOXBNV122Y2UMFY50PX6G801RFJYE94KBX9002JQDAQL8S5PZMCROC7I75NFSZX4GAORVBW96AFDXIC6HRZPOO6JVI66MDKA4XH6RR9UP0277D7R6HWXH0OOAO32ETXQ38RJEV6Q1PLFWZVFP7F4RPTZF6170XJE847K73HVSM1KKQXYM496ULMYS1C6MZRSG49BEO5Y9K9S3BGN032E3UW0OM6AUYCJCZ50QUW3FYG8TS0X5T4HZDJOL5X8IYPZBZ2395PU82GGUMZYQQGN14Y0XAS2FL div -36#CFDT28QD3THNFMGL72NY4QDOPB00UN6E67KN5KMR9YJ4DDG0P7B73AQ32XYHQ8COL4GVWUTXAFTBHUOFFX3KPNK8B5XAUXZTSJM1L57D2ZG0HQIDHYY22MZ6U07W8KYVI0KCG1O2I309WHV1FWI9YV37BDT3EZEK52VWNKXWL2GIK6VAEW0SL4QY8JJI44YQ9W1Y29010HR1TKCMM30UUXI3SOBBW2RT91L7Q5PC4Z78TJ4YJG6YZIMR3A8QUFX11TSGMC04ES3IQF2GFKXEIUUPE2B3LH6PPI6QWQ8RV67Y4PKDEGNT9NG06WVKB8JLSQYRX5JG87FIAYALSYPTG0E3N0PNIZJEQKEVO3SKY8KDQD4IQD086DR5I8VQHRWO78EC1TTURITH4IPXKOPQHESA1QCPSHDX5RDTBC7G4NKDKBDUKUYTOXLTD5M38GQ0RR97X1NLFNWSWJ57BVVABTCOWZY7ZD4IEJ44K3F1I4PG26HF0S8QH1TLE1JF389P29OU8MEU1Q9GOE98LOKWPUD6HCC70E9FD848EO4ATXTJAN95043. +-36#4ICU37914Z1SZP9JD4HV8RLMQZHIWBCSA6E63H5CPDWFEFGW7XW7ZF8BH87N4EX6JI54DAVE767G8O5F7DGKL1SLRKUYSI5O82GYF0SFOJQTSCLARPQF7STBEOU7FGXI0IOGLKSNVERRAI3S2VS = 36#7T7ALYPB9YHR86716L3NINE1H0XNFP6JWCB5OWGG5A5LW13OH7FQSSWLQ38ILSI2VOL4VH20I9K9ND7EJYDWIHLV2UT94EVM8J * (-36#KS9JG6HEQ8Y0P8OSCPHBNP0UDBHRABYLOPSU2AN4H0USRPERS). +36#45NNNB8GZJ6P5PH03JMUGAU8KIJAR1N98V9VQA9Q2ZVRY0SUV7ATSF1BSQHVGHBS4M018000JARC9V92UU6TR9Z0YTQXQESUNMUNINK85RSCNQAB3QSAVJ201IV254MDVCZOMSXJL2T7IIC3EKX6KLY0BUUZ03O3TJ3916GU7A7BOI9POLAEWH1K0JLO0R1RT7JHVK932TD3K36UKM1N968T0NVKM9TDRS0X8PNDJRL3AT3PBGOALO0F5LA6X4BJASUBHKNOZSJOS7TIWU9HJUK5ZRS1HBCPWOWI1LUR77TYPQV8LUU082VSHTVTP20ADF8NJAFDD2NLUOJCZ126O3Y6JSVQJM90BVQFUXPV65HPK4AALX23V39VBFARXNLY316BXOAEEMZQTSDONW96NE5PCVIJYTAJBXLLLNY5AHESDKPWI8UWKLOUNN9LL8XATVFK8LQZXJV9YIRO6FVVAHHCHAJESP27QLFRAQ2BQZUOZKH2BBBLGCI6IV7RG5KXQ96UO3OPR51KWZ22WS7NTCGBYJPP2WUFHL0AMCC116907OQXIVCE24GO54MRNWCJYXJB5GFNLEWPYB0GOJ982EXJ3Y5A2Z2YAFRM6TWUVBYU8D167U7KH65GDWUO09IPNT14 = 36#8HQBD6T88OIXFTBZU3DZWWS259BLZ9IX1C3M22G1SYHCSQZESDF6GCLTNMM10275Q02U1X6NMG8GBP93K6APHEURQU9Q80QU1DAA8E7U1GJDVTXH4ASODP7EZ1NQG76WSG1QK4KMXXZ0GG91SJXZIXUPBZP1VWDKWJJR2KITC5IWE8VGN13NZLMITTAEIUHQ4XILKO7MSIFYOLTJST0SFGPYS8KIBBULJC1Z0S2YPZ71AU1OC3471OC0NSXPPH1OIC2CZA5AJL630HLBTR0Q9SYXDEWU25W0RJOWL3X05OPN2TT1BPRQKUK9XZ1GL74YZ3LESQB7XI24LKNMEVGLP9BL4P19OV5OAED8BNO61IMERJ9VEJU4W3FU3O14QE59GHZDL6ESTS9L4OB3LZMZWNUOS783D234EYJ7L34ODKNVVSGTWWXHY55PKZIUG16FN3DQFKKKU10VKL3WIX0DUV9FH80BZY0489H6HMZPPDUSUEMZJ1BROZQ8DN41NDSBL90IEHNKT5HN6AZMA9QSU278FN4B5SFP4B1H4GCRHR8YB83C1B33YJY491RI8DQD99YQSREKCRCOWBUK5XL7XOE0SD5QQYHP47PQ8R5A4ZPM1Q2LD4M6WGCQ5N7D7W1UOHWC0MVD23IB8O9AZM4QVZMCCY29ZJRJJCDLSRPU81HNIHZO2E1ETPZSG266W7UD2B3KJZ4C7FXI1EVYMXPRWF5W558TDVBI9F3R1V09DTU4JX51CQR2H81HQ60RZ4X4TK4M0WKA73P9XYCRWJDBP9PKND7TVXP6FB23ZFZG0VGEBDMQHVWGZ6KPQDHR1YCN11VS33GAVX37WPHQPQO1AW60ULYX36MF9E4T19F8MAZLTA8G div 36#21JKFGRUTGIKP30HL9VRTC5RKTQM7Z5PAP88RX3ATDL3BUTI76H33WSES514EN5LBH20HD3LBZMNMF4JIGB8JLNJDH6I4ZUDWW9Y6L50QHT3XT10UZCDAAMWT6BYJJKYSXKMO3D1BJOKK2MKS64GJD5526IC0T06GXAVG4F2X7RYDKXYZP1JZ648B24LZHOIFOG31S51HZIQ6YHWORR9WS4DZMAMVD6I3J7E1K2P7ASEM. +-36#ZDSP1DLZB5RABL3ATE08DCUPF0QED0PSKC31SHMELAI801S8PTNGK3I25GPFZQEWBXQ3U6H2G6RSZU7PVZZ9YYMZK6DF4EKEF925XR5XSWHVZLPLDDUW01C0SO49ZO0VKTB7UY0IUBY5GKHUFDAJC16YYY8GF1L04IO8C796Z50LM9KBVXSVOBKNM0ZG3A1M8HGPT16YXY1CN5PQFUAO10QSCVOCGJ4SDEFCNW8589HQ8ZL9UZJRCR82MY1I2TG6WAPGR0W25KAWRB6TRI8G0ZLV95A6XMV6YA90H0KFSC0YF0TM7GRIW1PEGFW7ZT9E7LHL9D5H1BX3LW23O9P5V1NDYXQRK698ER54FAIBNSEJ6P4XJBZVR4M8320J9Y9SEJIQ7ALHJY97IGST2FXRWUYG085ZERMA6TD4NHLS32DC42N6ERLWF7OQA2EU3EM2UT61HOBO5T9LJKHFKL3HUS3GB818EJZAFX438WZ6XTZANYAJWZ0V3W4F67DNVWWN0LC427HZ18PWD9FC97JB0T2BJR509XP27N515EWSZYEF0ZRDJOZXPWE8H2XRHPIDNQP2DXO3VMFU263J4Q8EYUUSTR4L3BEWIK8F8OO60VZDQ5WT7SUS7G7DCXALKZ2OPUMVXR8VYVPO10DJH0THQXJ1OS2N4K1GAKTCQ7N9UCTETV1AW2TMMHKESOWFEAQCL4WC9KXQDEYI72ZKSLS30LM31O6V5LIXEJKHHDMYUV4HCRWW1OMRTO7CHH0OAPCY1VJIFTJAXMJHEPR1NB9EGLYXDMA15S408LU0BFH7KDVE5H1IUNY8O9K8FCRWTJE2HY8LDF1R9U1QI27GZ34NGEXWAVVM29SIT3X3PKNTK38EG4WBN6VEI4WK5QYGXGQS5ZOI9TI1SMQW1WMF8Z2O5HRHHGP2BKDTFKW4L6R58M58LC8XNG4V3ODUZ877DSMOKJ8N9RI885TIQC4WXGRRFW6TDYDJK1VICI7P67BWNK39LKLN553P5HYOUUC7TH49QT97LYJN5ZN9TDSJNZIFHVDNEFJMV7XX2HE6YTER9OS3GD9KD6F9LDJYSZ39QVD825U8S59DB90J84IBKVNBNGYW8VK3BU0NE9HR659GO = 36#2ROWF1VLSJ103LKQAB7EUK3CJHOBJ7977KQETBQGQ9IJTXSRS8CDJMPZYY1A41JH7JI0F4LF6GCWCCND3CBQBXOLIHADV9VL5KC1WHXN82PSP2KVOGGXMC56DIJUNKLOPVSZANXU40CMBGODPGTXAH4V1D89DY6M4XURKCZCPVDYNRLCIK3GQA3NC4QQ0RLNVILRSGFEEWYNTWS1MX8GUATGOP41RUZ94Z8RUR7FGUWB2LL5D610VV3SOZN5DYZIW579TEGIYWA60173W7P6YCOQOTVI93ZWZP0YGSV013IJ0J7SPEBWZ57DY0GBP9TBD6ZXV388JEYHBPSZCLFVKQXR7GC3YUYTPK03EHYVBSR8BFJVR0UKOWFJFTDA1CVGONIHTU5MD8FN19YXIDVWUBOBJXD8HKCURUDG7AUWE1B6Z4P71J4S115ATQ1701LIAGTUSRREG4NQ6W7XHWRB04GFGOVAWIKNG01Q5MWLM3I2FXJO4UMUJTV1V5TFKONTE5HFE0E619DO8TOKPRJ3LSGILKBO7X0YFG90RVE9X6NJ6IMBLG2RTW0DM5VORUH9F97P453WANSERE5MTHBZOMYC460OW9S1704NXVBZYNA49T2ASZDDX9CSXF13QINIUJKG1BAU8ANIZNHZWMLTCS75U7FMVXT7YLTVKUGEO79FLB1SZHCUCHTZWXR9MR6DJ2Z92GNWWJAAY2F4HEQNNWPU01BBPJR6SEXHS0AB1DU1GKRHYIHCUWOGLWW202JG3MYVORIHQY2ONFFOT59KY41XAHLO8UTRZQIBFYTO0H0ZTHXVJB3ESZW1NKAVGWIY294LDDQY0KF9D1876XWNVEXKDQJ43QW9ARX044BAFDUHHNT81OVUKL4 * (-36#CRZGSHFCTJJN3J9NLPBM2197EQJ8TR2SWIXKUOQU7QKPSK3RUWLSGGT0FH7M29J5L3GKITY33W49G7QZ14HEQ92NMRJAA3CSHUIU662K3HJI4OS60H90AOAHA98CKGT5MJ89JQKNVOKL8P9N0THRN12L17XEDXDO6QN27WXDDACYY8X2G5NT1FNVAHBZCHI3YEY743PM8N5CA9YFRMBUUIR30LGOMYQWRF1TBOBC5QO7MJGG3XF). +36#36PPBWZZFDFLFREF0VE5TLDCCUGI2MJ6ADADTK9FZ3S97A4408RUD6Y607DOSK56G9SJK6OC10IHYV82D4BIVH2YELTC1U1DUR3BXQCZ9S013MLRIZXA6746CG0QVJUL19CL36DRP1LH0PPAL9UGP8ZVZPA5Y0RT0NMUGLO3XIE12LKTFDK4CVQD3EPG6SHTRAL1F2FPI9TK1ULQWB7H3UQ4Z0612IDPHIQ6NOJN3T1Z48L5E45ZZFZOCTLMU16VBHAAZJE211KTV152X69CXYUXDTWEBF7VB2GGENTBC6QMTZIKA3RCCZ85IM2GG918N1RYSJQ2K4FIN6OVGYJ6YV62YEPQQO5OFB5ONE4BM7DW5ZUSMYRA2V5PMPN03SYBUJ9O1VSCRBC9X4QB3H6DF7CNCCS399VHWQULWPKP86PYKVRUWHMX5GYUK5S697WYRVU6FHLS57UZWD1CP91WAYY93HB46YC0PJ58AJIS31RLRXY5BEHDCZ2ILC7ED5X16OW4LIZDGR0IB6AJ4SAFO4QC9VI8LKGD0G4YXBLIPQI1E1IQE84Z0Z75X7MIGYX13I5Z4CKLV2VQ8FW4Q0U6ANEK7DCS255BHX2PMLK6GO9B2V8DAUZ0PSTF00OYHHECZMPADABL2CGK8PENUK049WZJMLJW768HPLCK0WKBHGURLKYKJ8TNAGVBO1D8Y3PN4GD54C8VFX8245B2CDOWP6BEJCFIDEW3RRAELVNM99P6L4DZPR65O2R70MYLW5CVCAXLYPIM5MD84FACUGCVLFZ48FABH09QJBBRR1LZRBTHKW5W2XF4JV1I64SJ47Q1SLUS0EL20XT8GDZ364HFKOBV9SUKUOPQAI79GWVKIVWXNLZQU4BACWOI9QNB13J02A6BNAYMRLZFZ7S6RQU70B6EW2VP0PNLGJVZIIAZQKU2R8YXQR2N19D25GKC08VMBUMNT0PSPUZD0TY99RZM8XULFDJUA086WBX5DMK2K5N8LLWH3YLIFJKRFKWD3VHDPWNVULOHDRVCZ7H74MRFB8TADMIN9CNXI74UTZ4M3P0F7I6SKYN53M4QNIO04K4CGZDYZYWPR6ZZEPC1NYYEQMAIWUHMM456YUKCNT5HDZZNHN1FS4UOM97QOA3DR6WZ81D3UCPLS3J1MQSXSGD3EOYOL7OEKGHFM1VCNZPNABXKOMKB7F65S95WZZ3NFJLA8WL8G35AZVL5GYEVJGWULMT91CTY307HU2SWA1EIPUNEGSP9BAZ8YQK2U4ZCYH1M9BX821SL3O7XLZVA4V8WS4YJ0DNZ86XY1THAHGVX2DIXYKUL3NGMBPTG9RJT59L5NMZDS64PKZ0LST7GP4J3BA59DRR5WOBU3NJQFFF7V2V63VNKHWTL8B02K0HHV5OZS0I2AYHK11EA4LR64W38CQQC4QR4MNPNSV3MAOUQKJH8QVJ9JR0EADIT8H6658NMMAB4SB5QTQPZ6RZILOPBEZL0V5FE3HHOR5HGG = 36#11G56FRQ9RGQXYC4AKZKOE93TCT440MFPN22T5GGK6QW0Y3THDPN9SSAYML3GQQV27DMDG7EY35OPVBA40XOMMR63YKDGQ9MTLC3KJUAXMVIOCMYT5SK4FS6T7B7NFNAW0T2LGEEUZWGPKNVU3ORYTIHAA6G2JTR9G3UUHLPC3EPNV8MVZT22MWLYJDLHHPUAWMSCSH1B6B3053MS6G262E4B9BX0170C877WC50IC18GNUTHC3R91513OB4E4CM96FBBLUG6IH79B2TB2GTNI4QXO6MLHL9Z6MWMBJTFRUJAYH8VFLFHAQSR5HF8NH9N3D6D317C55L1Y0OQ6NC9ZFQ79U7CEA9HBT86GZC06E0Z7DYPRNE3BOFC01C2Q9TKC8P4V0MGJU1VTYKGQHST313N9U04URTLM393FT1886MG2JQEI90OSGIORQEI18PSPPNW578059M8IIVDHC6W86UUUGTPPTYR0FS0FSQ1T35EW598SGFOZQ976KA0LOLTCA59MMQOLD5O8JQ9BM1RLRFB30AXLSU67MX8PNRSQ77CHEK6ND27WXFBEFASNS8PK9BEF3TXGJ7WXIX2HBZA7ALKMXRPW5JZ65LUVWNHM13NQZ0KF1C75RXJRMBTR8AOTOPJ52CY58KK3WH87EXP1GAJLCF3DB7G448W8XJDF3V9F89IGWSL2ILO6A4XRE9PCIQ9SBSXYRTGD2F5D3JWWUNMKK19SX4K1UN2XPMZKLEZ1MS5QQ3NSNLN3UGP1ANMD56Y617EPSF7R48KHOJYRG17ZDW1ST79RMBJY5VDUNZ2XK8Z2Q6W34F28L6ETRWR40XH2AS2GFRU5HT9G07SXHX8W3GELBT0KLOGW8OL5PVTUQ78FD740YW93VUTMOIG27VXT1VWE3PVP8Y4N6MKK2TP4F0W74E3JIKAMZN0HIA49V09MRJAEQSN2OYWHEJ6QBOD96ZB6O7100KJQKZY327E4HLHS34WIM1LVAOCP74GIN6UJ4ATRW90ABGT0JNRYMF0HGYBQ86U7U0P63768OSEOHZ0P27DPB7PIRZ6HO5Y5N0NEOY881JRK04DW4YJ2S5I0DG6FZYYZXFSPAV643NSRU1P0PC0V081360RWWBZ3IXHZKNM80TQ0BXE4K5VGP7IVWFO65HXX9LZH7DPTG2C6DODXEYK5Z8AM45T36IME4MKEPUHVYN58SLX83GKOSGK0DK5RU7A62GQ66XGXHHQ41WG0IEJZ6TRCDBP6LUQOMGSG3D086X90ZQP0UOU3H8FDLQF15IXJR1XAAMUJDS2NPQ87UQRVL0XC5AND36MGDRPPDZ9S8N86IFJNQ8VQGHQ5W32CQM6YU2OMNI3WKNE76RW4U3X02XRKK48ABOK56MV4P5MKENQ17UF5CEKT1WZNII60IWBLYBMYTR3SJ35EWZYEJM4IH5U3F4ZQPPH3XQ8DY8 * 36#329Z2611680VLIJI8P6S8U2Q2AMWUW078YPC0FTIFSXL384VDT. +-36#3P5PGYINB91AZWGDXYLXCNR6679EITR97JFZFV3LYOEKQQ36F = -36#3X5MMIXA9UWDT3EM0I5SK2XW5YYNIGD1CEABKCNTOZ99D5FX7MH2U54LTR82BS6089ODKMFR23BL6CI00ATRJ4KKQ523OGPHBO div 36#125U9JV652E50QY8CHPMFK8M4CEYKS1F0KC7DWGMG0O9CALB8S. +36#I691AT75IVB7PN74LC6SUS7MLRKA0028G8TYWS0Q7SLKFIA1VPRRHWPTWN6U7YXVFIXRR71KDD26Z02S1R1PF5HMWTBIGAAR3HFVRUN2ABU5N26GLMH2XFGUNVW91R34BY8V71JPHDAZPMJLY5TVE5H2WV6PAMHOCXXHGFKPLN4NMFNM9PXDVP867LXRI2QQY6J79XBMNJMNOVA7934L1BG5PS509EKY9VONGEXUVDJ79D1IJWMA9O39Z33YHA5W4OHACKS8Q0B2A6NE4KGTWAS7ZAK5514W7WXR3KGKJ97IQW4RZ1GD442B80V6MNHG5D6J9DZWK1UXGY4RV3XSCADCI5C6TK7BT3IYSVYKS3B2EXXYGEG47GJ5ZK7B5SSK7AWWUUQLTOVU5IVVPKEX0IY5V6SRX8ODN347EESG1HVW72MU3K3CZCACSPHHZ4PE6LR2UNKXOE0TCGOLC2YDKKH65QEW103LWYEJ2E3XLA08KCCM6Q2ASQP5JBYEF68N1FTI2GCJNT152V1ZTDPXNMUP9HUAPS0F0DN1R89J7DBPDCRUPT67S5J0TZ8EHW2GTQT8UBC2EL4YPX3BWJNLDO9REXSS7FIPJPHN2Z4SBKXLJAF64FBMV17DSLWGQ9U08256I784Y816B6G6HYBUZLQAS2AO2LLRQH3GAMVQ0QPVBXE0F3M8U4E7VRNZ2UOWPULAXA4RNR6IM2T7UNJF1O6092QFS88QZFMVWYP2DYPNZN7ISDEL791SBGGCPAH5RE1U9BDF3L3DHIP2PEQF2CSJ3UF99LG79HZ08VBKVQT4CKAFZ8HU9WK8QMRGI5ORMHA0D9VMGI8SC4QKIXXZ4AXJZFFL16J099QJHR0JUKJ0BP4HHNY3EF24RAWFXX3E4TADOM8URFMML8IFY5E6PDE7X5KW5LCAI9UZ3R4EH9ZY954U824PM1B24Y82Q4CINJNLAJ6458XAZ2CC4LRBDBWKX3BK8SF21EG31SBHH64T0OMNQFVYF5EIZ5A22AV4AGVBQ7C1DEJ0M7HESDPI0AN5VVOVSB1LKOFIIP1B55NQSEC6GEED6RZK6D3OJT6O5XJFS4DG0W0F3B9AD3AS6TIJOM7IPC36UCE6LSIITI64FAV = -36#4AJCN4KTYBVI0AUQF3NLBUCGHJD1UH7VR1BEOBY63FKVEPNIZEMA3VXZKZ1R052ZJ86JJQYRMXANZECA1D54XBHD6AAEBRVEQAENFD87NEKVH6AKFDTR3C0KY59O7ZD35VCFNPWCD1TG1PID8C6YT10LGYCMQRWHNC2N0LFUMKSIYVD5BMWE0RHG1FIIBHYW2GHNE41YLNFASDPQM6F9QJIAMRE7KU0LPT2YHOY5243WR2RLJ4GFQVGZFLZ04TDLJ00I7QEP1V8IJX1DT1XYOLJ7NGT60T4850RTX90C2FCQ1ZFAZ3BZFOPXOD50UZG10YPEI1VYVAGYZ9UXU55OBDAPY2KZ4WQRG8WGSF23O8DZW2U5HRPCSMT4URHW21FAWTTAK5YGLEHMRS9KGVYGE99C45G9C6B04XKSR0RF55PD3KYKWDVI6MLL1FLRIKKHM8EP48B9AIIDH9JW9FGB4AF13AF1IPYCRSDJJSVQHXAABN40NNQGL9UI77T92XVGU3EOK34HD66O2Z * (-36#48ER44PQTB4H89F3G9TXS91NPS03W16YGHWM2JGAD5RWBUTO03VHF502CZFL435QIGGUI3KW192A16XXCFPAWXIUNNTOBLF3C0TKV48KS7BXJ0YWC8NH26U4ZSBC7MHZ9M4HCYAB5BP4CW2QEO9ARSUCGWULB7S77A9W3F4DGRTD29IXZX99CN6EJZOJ0534ICFWWKQEV5TN1832P2ZOBBOXOGKZ09AB1L9KGGD419ID8TDQUW95BNNZ3TW2NN5EWJDYQAFB5O88U1J8QU8M06KX48RZUNJ1U1SJQSCIY85ZJ42ZZ1YXY3NCALLGL2XULJY0KJIO1VRMJID6KJ87Q9VS4ZP8HHK1I1XH9AFTQHIKHHK0XZVKOZNRKNJU14UCBJMBX6WO8KRERV37Z2A5E3U5X27QQQKRSW9F7094E5A4BZIUGSP1KCIA9VLHUW5T1I8L2ZP6BD16GUYMTY9Z0HFFSCRE19BV6Y5CGOU1JV2LLDHQSANTEQVLJ9IUYTRXNL42VQCE0724GRHOKS0927MDPMAQL5F9BB59JHDW92DW1W9U05KTHKW4EEYUHJEWN3B2RXXU9QXSZYVEU0X4RTSMAOMUD48945). +-36#8RLIKFDRPZSQG2LZVD1TE8ZEIGXTQ70WZ41ZHC21Q4D65Z07ZN4N0GQP8FRQGGS4FGUJHT8L1YMVB7Y1FM3QUEI928R3566XRN6L6Y = -36#1PCER6IBXTU4RR47FWA7FMREN2NK5IZ6X269RU6TRW84KVXGNBLPTGG8XBD51K5EUZIKFO7XQFF7THLT5TLW9QFZT9KM9BVNAF7JP2BV8UN7AIJX6LB10PU7NYEV9JLGUBS6EDOGY587HFP79LM67NPM7NQW9GS9XJA0MT8YZ8O6ROXU1HVSMKRNSGF3RX5UW9UGZPAZJEQBLAX857JSTXEET30NVVR9WZEV66X10DK7JOTDQINT0TBEFG2VZ87PSN7G5AKRAJ7JR15RLAYU0AZKBE5DYDQR9FO2T6UVG5IIABF3ETLVU33Q5ZWAP0E4WZPSS3NVP919WJ9XFBQALPS4R6NECNSYRXCDVHAK7CKJMCHK1DKFXIBPODOUT29IRMRCW08NLBM7HYCE2VC78FQXLLN81925UCJG9KDPEOQ1FB4XUES8A943YOH59EQ2XC0I5PS7JCNC3AQVU7RAS9EEGCZH6JJF32DTLYS8DCAOT2VJDNQ5R5FRBV1MER3QXAW94EX7JSJF09WX4ZYAJ3G3JDVVSDV8OIOL7WWLRRQKDOX6DVJ1FVKKE13V6AY6OF7BJ5CP4MY2T17RD4N6VRYAHUMF2XJAC8EP3ICE315SIEQSEUXT0PNJ3HUHACBM9RI1UHCYA4ODE div 36#6ZWTM1KQSV4452ITMWL3AK9QTDV95LRL4NMR9D3TTPJ1HTRL9ARRGC0C9EDUWK6T9RED7REUTXA49P25IGPLSMCXZVNB7N1TNT2RCH47ACNARO5ZTIKWBIOQAUHVY2WNY597UR74NQFA2BPCKBLH2ZW25XSX8WX4M9OMT2Q25ZRV6CXMYH5Y3MQ8216TJOXESDH0L337UKDWK1VOEQ5CXGU1WBICF8Y5JVR1VYGXZA7M7SB2LKA1FOLL1DI3OALS4YRLJZBMFR9LOWGL3MPZJ54NUP375XLPKESWWHN9ZBZH7BFJYWBE416U7FSI4XCCHZ5TLWY295Y17ACTWRAYL6YNUA9SNC68W9LHOC7JQPXENDE5FMG94VMCDEOM3OHVM8RCX43HMBC2LEPDZXCQUTG8E4A1BOIO3JG8MVUY6ICP2M9NGU5UWHSOX4AYPU1PV0VUQDI7QZBWLKDZQ2JIJQ9AVUES7J4Q9769Z9CENDVVWWK6MAIPL7JPFF99RWKXSWE71AOI7XT6EY1OLZUA4NVK0005DD6IZ1N234T. +-36#AME030AHQGLBNKO97G5P13V4ORSCVPKGNBBO19H29EBB3S4U1 = -36#2709MOH1Y36QLTCF5D2WVLN563VKP0WXBCT6C59FUR86D0ZG7EP7Q198AMYKN3XWU1QSRRM005LDMR3J0M1CW2FTEWMKWWXOE7S9D22JDBT8YYZATG0YH378F82X2K9P6ZT0WQREAB0K0PS2C46UQAS9UBPZRMOWQ9N4GWUFMMIBKSJ2UY1H3IXMFBJ7UYIORAQYJYI4J3WE0OLS19CRUH9J2858MW895R04XAAL1SCAODO6QZ8MUJNUDM86NYWVVVWQBGBLJBD78UAAMJWXJPARY0RSPPB03MTNRJXEZHMHZWGSA0JD9FMUJDYG2DSHYUA7D31S6G5DPQJ7NH3LYA8SOT2J3CKJLV div 36#7FRUGLYUOBAMFWRBZWKNRWBSU6TWIY889NWYMMSUCAY5M09IWKLDU4JTD96377O6EOJCFGOWUPAWYES2HGQ0GSZ25Q7YSX4RFL55TCHAPPEZ38SMN99ZYEF68D7682IKBEMP59JLZ4G389K4U1V2GZL7UGBB5RH480KL6QLDC4456UL14S07YAP343SBB7YQHONXF9LKTMRKEE3TPWX3V8TTQF392DW40FHP7QJCT6MKBFOOCBEIE6YRIWQKTDLHLY4ZYVFEMEXKBFBX1QSACY5Z2CF8WALUZF0KHKRQH7Y4ZVVRV. +36#V406TORBYLNET08796FCUX450N2XXMUA8UM7QWKUUEQTNQLXMEKQYLQ3PZPY83QKZ6K74J9721QVH83TQ5NPZTD1WMYGEALO3KBROEUHOSZ1DT6RXZWPJLINB9X3T6794BDFD6U63DJIJ7ZO8SBB024O3OGY2T639YR085WFKJPYQH815TEV7UC23ONINBMR3PF218XYG6YLZQP84OEODFMC6W0FIBQ22N48LYDKHINAJD0HPZQDJ8GB6DF014RXFPFEKVP2RM0G6K25VKZT0A5BDI9G6PZC23G815CJ56OBV9QPJ3XMZ052OOSGLKR7F25J6IG9T2BS72HD5AQGBH55B9VBABKSRTI08GHDH7SKEDF36W48GBABT7FWGFUA7UQG50RR7F1Q8ZF1M2FVX6MCT194EL8DHE4BO3MTGTNV4E0TQI6FKPRWW41QI85KFE9OZOITL4MUR6RA10AMTKV17RO9V40I55MJOQF00GA1KPRLITOERTU62TVQ4TYP6YU50EGSYSWSYZ4QJNUW9UWGD5T6VS8EIG05EJS4OL8X0QQFU69H2730LV0BFMZ12L69WYR4L8WWIWZYTJF6WZ3DBT72Y55Z3GR8GNDXE9Z28IJQDDSO08EG0OL4U6RJPJICI8DCHKKP7EP3XBBUXYN0KGDBF9EI6QCVDB3RAMYR8H0K6VAVIPXKJ97E0J3TDTJ42AGAXSJD0SH2UL0KBHTOHBZIC3NWIVXMR9MN684IZ1T6HPGRH7ZOI1QHGQCX7VD37DTCGVQT4P4Q5SJE2DF95R2YQQCKL5TFXH2J06OIIU1WF0M4LGJTJAJK8ZKA = -36#MUEWW9MGJH5WKPQ8BYBBDLDUTFAHSTOV6E8XC2RLSKWLGRFPMYEAZJSF4KCK51RWZNGXNFF01U1MFHCF7N8QC3FMQO37AQ2EV6YFIDK771GOIQ0SYBG9JPK25NUO8V17ZFWPCZC9B1H78TYYFX6EAFA3Z6HXJF7P6RWJEQ2DXSSHWSZJP5SV8U54WEBB75V25028O9ETX2K2BBNG29I9628H6XTK6OJ318Y9OC5FLQNWW2NQ7OLO7XJUFZ2YHZHXVNL5D1WTPZYB0P162JJC884O29HIPOYBYZFNS16B0BV1ELO0Z8D6B3Z7M6JS5WZOYNG7SZBO97W1RIA2JOMOCYBWFW479BLGGMPRPZLSMTLVD4ZA0QZALNRRXF7N5CRO0NVFQKLV7ZX2G3VSJRRA3OK4CZUGXMG7C8VE9BC7TE9J2SXZ4ZGJ3LGZ8YU3P7136RT00EFQ4GFSGC4B5QMB6RCYMWNUKE9CFGRFIVIHX1ANO9GX5NKOXPMK8SF270I1IGV8BAKNA5JQ01F949HAG13GK6VKNUPY51YL0Y40P5B1G8ASKCBNHWRRYEXMXB4DRTER5NS8FN6ZVDCL69JV41Y9W6003CQJKKUAVPBWR7BNLDR8VNJSF4QQE764HVL1TCV3DH32G307EIMAJF9TB4Z4ULOQL4VMYKNQSOQNRECF3JKKOTZ84PW4SSA9LFNILYSXR58QIAY5VZZIIAHPGCFEHBAYW3Z1UWT09JN1POB0NHKB8EHUVW2MTVKUIA107GF8MK06DQBX1SOA1JDI6GH2XEP6J6UDS0TX99LYR30VSAD0WGMV4VGBACO7PLKPFX1LY8ZWZND8ZUXXFS4XY1FVDF55HGUWBLGBL3K2LFHYI96H6 div -36#QFN9MZB8WJM98O1P84K84LXOVVCXYJS0YJ9J8FHF6ODBJJ2WX. +36#6OOGVTIPSGDKWA2VHOJ2JAWY9LI6CPT9D0XULYBHUFT82XJ62VT9MAF5BVGUHLF0WR6UQ5G1OTM5D5QXEMV156L1Y7Y8FCFYZJ8WM0EX7OV8INWHYVPSK8TLQ5YBDGN4O2DB789HIIK5KXBZ7MCTOFV2WZKG5HPOMRFB3AH = 36#I8ZX7ZN0YMMNKSO1H18N00IRLBE9UPSV2F2G24TSXBT78LFWOKHVD619J8XZABBZYAFYKHHPB2LHZ8UW4HDMBCTT6EH7VMV8NIQ9QCPX7TVO40J6L2C7Q1U4JVD85K4OJDHRE2V2801LRIAK6040QIXNU88TN3HQ63PKMOAYWMOF2PTHVNR6NULGDDCUYZ9LM5PYCL9KAQM9NV5DWQTWDG1G div 36#2Q9ROY5LQTNR65H30HDDZXKJYOHN824Q7E7EOLX97IUL8S51SK. +-36#29EGMT8WOCBGX76VKMSSJCIZPWM4ZE7S4S6YHRN0BX1OND6HGWPM3G4BCZUHF1TOXOUQH35OB2X0A7HHOAQ6OPDOIM189GW2PAFZJZZWPXTGI0Y2H971LISSGW92LPZS5ZE29RZ0E5EARFR7POXV4TR5URE65UFIZLAAGQ4DND06KF7XZ5ZZ6IX8E5OCBJAZMTTXGDXXBFFKHPDYZ6AWELCVR35I68SZG93WEL73XUYO2EDAWEAQTOGUAV465BH3KV12VEOE32U29G1DMN7R1A4NH3CD08QSYC0ASYUTRUUC1HGCZ7446SPWOWP5UQBLERKYWRWSD9L9JHZVVIO3F4LRJ1DZL0RWZ2RJ0ZT31Z1L8JIEYX6159BARZZKUGKK6JRFD0LKWGLQAY2GIAV5MIUITLVM7VVO5TUCIKD7DIAHT0IIJB9IZPPSMKGK811BOE3NUCANFX8HB67XD448CQH0CXHTRYI5S1E4XS6OLC0TFH2FKCUGGNQTJ4852RWONQ5GZDSB2COP8DPQXE0980GCQ7ZWN77OXASABHZO4ZZ354KK8I35PBUJ89RJH4V55XZFR4ZV50E27Z8PMVCNMPK8FIQGL4T3SYIAS8MLY0GR4NLOIHVITM2GW1YJ2GGU5PSPT06F3SXKU5W5R21JPRXUQXGKNHBXJ6I3AWBQ05EDFBU8IKLJJ5XS6J6PO17VIVAUAR92HXCC62URO213FK0LY778EC71U8OQ5F2V9RJ043TVG99M7F59OKDSEYTPKK9RQDFN4IDXA4XBRNGI6TB73158WKMGUUV5SYLBN9MFHQLT207SHZWELRULS9NZZSEUU2K8I9NFOSMUBYXFBIMM1UENIUUZY6XRF0MTW = -36#2ZA96TMS2UALTK2OXKGC73ZXT1WK8NVZQJT0ZY9CSDPLXUAY661QL5AO2TG8QANODZI0U68KVGB9LLTFCB0MFN9ZO5F2SFSDIIDLMAFXIN45DEOG6LTLSAYKLBG7ZMPOZ914OUS7829EZ51H9XKFH0R18KUBFRTK9F7YA5RBSBRYIIWIYWQ27SV2XU5UDF5SEYK5MZ2BIA0BTJ991WOQ6WDFCXA * 36#RBBY56KIYM1MOURGPHLQ5R1FGHATPRRL0FMVQH9USZFR6BLKBKIR3QF6YDJ1398TCHX1XFURDUADVPJHD3JGC2U7XFSXXEFC3GXXQSX0F9ZAI0NALAVHJLQEHEWJAWGEVG2V2U45QNS3FJ014DUYX6FGLWGBTFZMV47LND875KWFSYAUCHXTLP7KGVQFLNVCN6P0FFQ1C3RVL1FVNV5RI598LAS1JY2CZ0RXF5P2QE1TEWANXBBC06A33NZWH2908URDZ09L3AMD4TYM8SDI2FS6I1WC77TSEJGFQWLYJWRESPQ8SLEGFLNPVGDMUQYMWSDVMFQDS19QBZVUYDG5J6722HPXTDG09FC7C8Z6M0CP1FYBIHBP9FWB2BP5Q0Y7XPJQGXDSZ23NT1Z4QQBLX76A9NE28UPHYSN9OMEKH98VMITY5JTHQCQTKQTR4Y5DAK8R7S09BMDR22TBI02G6HOGPJK97UMQ7MITKFYJ0XXPZ7AWV2O3OXN75FVUPI3M5LXQPNSW75G0VSRZVTZB6XQTMNBM66LI4H614WH3I9O6E4OGOZEEMD1FJKTI003G27JQC1H4U8BNW4PI9OM04216SWCADBQF0VGL5XINLU7KJ09KT85C30DV0ZFPWESQCQH0N9LR8L3OEE. +-36#150T9N32JERJ39ZO68XJSCJHUDSL6QC2J6RZNMUG5QJ08MD1Q3KZAZUSV8FSX5Q9Y929J3F2101RH0JBNCUNZY26FBGP7C3C0SJ23SALQM8ZLKJVZKMYFQ3Q4CS92OEA1UQN7I1T3E34A604ZN24LKK3Q7STUY4EGN00SVN1OOKER1TXSHNUBBIAHI2W78CEAVBUVZUSI0TJ4B2NPA5UAD8M59GUF7NXV8GGKO352DLZQRMULXQ14IM5HL73VOHACUZCE08JXWSX5SQPTCL992F7MXF8BYJBLRZYGJD06DJ8P237C4QN7RX5BEAV0QEJGOMWHSRSY8TGTQGHG76PSQ6N16PA01U8T9671B8IZ7MNDHM0YRNO2931EQ5UZ67E125GAFQAVNKNFO46YJZ17XCOMV5G4C98RSED8G1UV0OO2YF6OGNGX90UH20WITGWM5DTOTAUONLKY3NA7B9K39KQWYIW0B6O5P0N3SV1YHWR5XESXFCJQXFXYQNV7V81XC6DATWJIEM6DFMPQJXKQFFEHRYY7LYJ6Y1RNW9MIHVLDI9YBDX0LHI7LLB5KS8NNQEHMT9MV5YBH99FTL6O787IJOFHLBIFMADBTS5MPVHAHW1Z9J5M4PM6PDFK73SSPMP4MQ8ENOQ0I3DHUYG3V92MXND6BCIRM26DDTF79SDOO8NHMZ18BFYZJTL9GQQLS7AOLVOC1WN1MIQ38OGF6U = 36#2J3QWJS24G0KS917TPGKWBDXIK0QH8F0BVECIIS24NW46DX01XUD7EQHM4WBIFF9FFFEP3QDVBJQ71CUZWIJOBKS8S20IJ6V6H0V6MJG1PM7K5VRH303SQ8U8SJT9QVSFPZU13VCX6B5MKRHK98PLW4HT3O33L5B4AQHQOBYSQITZDZAPJDLC1WORM3CSMPKGHHLZTTRB043BEFT4DGU9LZRY9CTYZ0L9VCBZC1X9SEEWK7YYI6PFP1R4QUOCZZ01HNECA3YRX6ZWEM0Q1PJT4C2KNC8W0FB6IZJ3L1ZVG6BJX3OOPT52K6L64991GH2VGVZUAKRGJS10DCDVS38XEF2FPUJ84C8ML1BSGHGSDD6LC2F0S79HM3TUHSG8PU4BPC1KTGV1SM6OQLUI1HL5CWM1TSVK5O5K1KDJ2AVS2J5GO7WQAPSMHWNAH4DUKWBM2WJ223WAUU9CUAQDDJXQX48SF5HEXFCMZ7CPRCTDB4IUJUYLA3PIX4BN86YM2HCID8BXHJCWRUMZSWG5OE1IDTTBF7QJLLMUE2UZ0NLSAJI5Y7EF021YPZFG3M9SYG50HG4JUQZZCG54HW6XZXVAIMZH4RLCNKTXTGUOZEKCJKLNJYXA479TI4VK9MOJEEHWFB938R4Q3ZIU9YDZMGI0DZ5HVCDX75X12RKP6SLGRRWG018SZ41XRM217JNMHS4W0LV9E7CJWLKWYS0U5RHS5GRWJQF4A3OYKHMRYMS6NN5B3LRUBK0ZWMB1L0AOS5LVHAFZ41XER8CEL23V0JISIUQD5UXP4G8LV9HD43EN3HSC0JK717II2YTDXTC0H1WJFV8TZAO div -36#27Y6XVXOL5KE4RPE014J2ARCADRNZO5DBB2C1ZNXJVH10KYIUBGH8LP2OQOBCPHWEEY2J6LVH6TTDW4UIAGPMB9XPAFQQ2XVCFW29S05IHY9LNRTP9K. +-36#1V0WP0ZWVUHC3WXJHMZARI455NDCURKU2UIVRUZB0H6474O5UG4OMX6ANWYWCJQND5TDBUWF7GHXC3W1C3BFGW8PXTLBSQEZZKSA1FNLVBX73XZ689BOVOKLKVTQ58QFAM1TVHTQPEU12ARJLAVSI2TUI58MD81C9CME31K61EWPEZ2FXXB0OHQD294SBKZCE81AP9J2UTIJ25H5GA2PJILSGGL85706S8P245WOR2XR2U7IK8PF6OGESQ7EVMNY5R5KG5UP1ZL1OCSBGK4HV3S5G709L3RXCWAWFGAFD2D2RVJTE8Q001FOH78ZOGWC92LMDXIDTFOJ9IQI0I7FPY2OZA5C0MWFVGPTLV3YKPS2UBO424L4ZZTUIFZ65VW6WZIC31NR0UI9TVV04X9F4ZZOFWMK6B67AWQO73FYSR0J9QLRBEKEFSUNBVOPTE0CYCHPC3C9F02Y834VDFSFDDZNN096PQQ5N0CTV9WJ1AGE5JHRTHZVDBHVNEHHI7VJMS4S3SRHA3L1CA9X9Z017RM0BSF602P0916LQWN4AFZ8DUHRRE10P91D5HAGVHGZYIMFI4KLH11X6R1WGRVENUYC80L5RUN8AH78984S6DOVMB91X8OGT8O7YP3KA1RIPKH3H74MW0DPVMN96W5USYSA427DY5EVG10KM2WBRB13XBQCU81PIKUIO9VZ85GMBBAZ5CE5H7BJK166HCZVXI5E4CB61GS871H0KL158XVIUU5KLWA3KRYXZMFXDVV2WRGIOR7P274Q6GAK54RZF1NTO782P68ZBKWT1RL091IXR47RZBL4WAUPA4DKL1RDSS0C48Q76DSPHCXWH90SZMZUTSTOOF47QEEN5856BY2I8D8ZJAFHX1CU7AXCNYVFP9U1638MV69XD0GV77ADSMU169DAOHTW8BHZ0HRQ77F2VB8RAX3AWV7NWCS8ODAHRTI8BHGM33W4M9I6LH1J6MYLKOYJE9LC0JG7O6IPC2VGOPUO9L5BV5FFO7I2HVR8UTUK3HDG7SSF9AX94D175ZSDJKEK83KEWIXQYV7Z63YCSG7UG0PI076MHO7Z5EBZC4Y33BPJDDNTJUZBI955K6Z3CD03US90EJ60CS9BK7RW0Z1DYPNXO9HFJEMXIPGAJWI4XYJYM03KXRVTM1AHGP3JUN9VYG4FBPDWWDCC4QE5HQBKW7UMA5IOH03GWDBWSDJV460JEYR7OI6NFSAG0SUPLLAVBNCQ8U45UXZG5OS8AAO4BSSRZLSCW0KTQQ77R4AJOWN8POXJGQ0WBJO4A81C4S0NJ4Q845NUBSPQKRXT3R155XL8JSLC4EOK7OL7IV9KVOABP15CNO8IQ1J9GZKWXIH33GGQJ12DPBQ8VYMM50LM7MO5MGEQ4IFHS1UMISJHMNNKUJR0BSUD05RK4T377VBUU3BQARWARB4AKHYEEKHZCK689ZC0EUIA5SCTCES0EB0QCVWBJ96B3OEQ2J9OHNB4F7QW9OKTAYCXP3CFVEJZKTG8IMG4XU0080MZSK44ZS1A7WDSF12G0M2UAF5F0WDQYCM66U60PBPMT68EK7LPGB2678Y5T6QBTIFAFVC4G5NHN467IIH6H8SO1RAI49MJG81K17EORPBJQETK01BLD0DTG4MMBFC7R5W3IJYOUG2DSP6ZMINNEC3Y88ROM9S0XWYM0GPD7YNVYXVYITPY70M3BGX7BYTMODJDS3SETXTVO2V80UKTG0 = 36#5DDBOL6IOIGNLLZHKA1NL6AJL6VYT92776VIY9EEIT8ZULVO5FZKMTSU5V5P2GXJKCVI1LV07ZJH9G9VU8AH908EYC11NIGZRV8GY73RU14FLV9HHFKMKA2YDA6INLQBVNGYU479F6ZD47LF606GTC0TPEZIR7R1XYF7CTDMGNZV703H4A1ZPE0Z938ODJO1YV5Y9RSQ4WAFDSF36GSYXW0GDF7MP2A6AVYUYH44PFIDESJBIV4CGGYFZ215FEPLZJ3HKTK2ZM6Q9KVOU41G7FWIG6C5PHSX43TS74DO0JT8DJ6PVV4QABIQYYGNQR3T5FFZM7FB7TG8VLVOUA4YUCLY9IIM696TWK78O7LTZZ4K8YWQY6P9SU8C5PE0OY0JM7BFB3CB1MA6HUW5FLWZM2DGEGJ8S59FA2RC3A2SC2R5LFT74OY1ZUM7X9K9AGH66GZOIGPDVNB07LI1Y0Z2YTI6B0VFRBNQVQQ3F30URLJN4GG46XUVQO4O69LA7IFMIBBWT7MW6R9Y71KORR4X9WUP24FJZUWSN892RVCSWG1C28XVOCKCD6FSOJLS161NJPSDTLS6YO0FCHBHJY04BWF6L0EAJXD12BGYV8N3C60ZTLTUFE2QMM7MRNJ1JN1Z0M796Z2IOZZ3AW69FMR6E1OO9IMMUZ9R9IT8IRQ77Y6D7BQ6UJPR6QB0HW3NMI7YYYU1XF76FORH1XRVN82AJ0DZ90V8DQ6WIJ8JTJYCHUB2F7H0GMI03HO68WK0WHMUXTSBOZI4KZDA32VE1AH6ZWDW8XM617BSCADQQUD0HKADVQAK1895WU49ZKSK1I0LAJ9TZCL9OKLB0WNF4Z82MO3BT86C0CDPY4WIDCCRMIZZ86YI0045762W8WCGHB6BX722TNIZYD796K8DOZ16G6B7PS2DKSTFQNFRSLH7MJAACXRN2DFE8R082OO03IKN2U8Y58M1JYO1SGJERDABK6I30PIQJUSEHPERMB8WUVBFWBYA7KYVXP36DS58H8VSPGOF0PECFVYX0F959COH5BEDPUSEDOXYP1T06ICDDVVFLPDJTTNHYEFPO57RJDQ8C * (-36#CH7Q75KL4KYY86PNIZNWTV3A0I3VJ51Y6Y5VUIO06N8BZXNAW780U592D4B1V233XK4TDX9MGBKNKS47JBXVIAR3M14K1UBZC9QGEWQSAWZXNIZMWGBZ1RSTQ4BIMYTDZ2WY1TT9XFEPC7W9XPHXKN5L3EAT6AM45D6I2B9Q40X5RN2YEN5FMSQ5G2XJ2ROXBGH4FIS3HV3L4N2TZJ7QHQJMJIT5B3BRR73WLPQP9YMVAN4BBSITNYB2NIPAQABNFVF259BCWB5K6CQGWQVAVRREFZECY38SESGFWD9PHCSRYH26QY5Q8135RZJMNZIEYFDBZM5UWST4KPOGC3GBJ9VV4YJ94UYUFB8BJ0JCEAY4GYO3C8YK1ADSI9F6XQOD9BBOF68LJKHK8S7VMXUSOODNZ66TPHCC4FLPLAZZMP05XTR72OK2K55R3PR0SKTLP8S3OMEH72TGV793AOR6LF1H2BAHDU8S0G2W2U2VUYK7PXFE55MZV0MC83IUKSFE8XOZB9N7KOCFRBFWO12V3F9WI3CJ4LU834VNQ9H8X8OW1JQ4M7O7E8Z8XA17AXRGECBCJSV4TFRVPHYDT40RZS7V2BC2D9AJ7CPPA7H07NHFZDI8WBAFLC8ZR31SQEJ8JH2JN55ODMUGIEQWC). +-36#3G58K8Z9JX3CUSWXLUPN8EQNHCLZPRQGV4OWKDYE5PK0DS2N1PQZRVHNU566GOR40AK8F3PJIXY55Q70IG8HI25Z4996RW7OF6S = 36#1GJVXRANOXFP1OLQWAEF55T73DZWOKGGYHS2IDI8U8MKTLB61A * (-36#2D1KA080XFHC67H6PEWGHR27VWR8KI1XMU7CYDR2TVJ2Q5B0LA). +36#2OJDNJ0F4KUZ5U0Q8AVYBM07PQU3G098RD3PDOMWEMD97I3CRF = 36#1UL19EW8AD7URYJLDOHRS3YGXNFZM60KZHOP2AQ0UGPN3NPEJB57EIH3RZZQ0LXK062CY8KJPCQJ8TW82EYAPVPH3ITFH7ZPEH0 div 36#OTVJ182DSAEW39JYMYNM8I2246FDO5E5DHO92ZOFKKAWCA7KC. +36#308CS460Q5V8LFPDA6V4MS4DQ799BAISOQW0US3MPMEXDWIK0T = 36#1AXN9ID0GLZDAGOII6WMQCZUDYQSXU6XTIJL1S45U38ANMW4M9CZPEW7TNYQ2VEBWJ7JD68AEQUZXWM5UPJDZLG9QOCCMNWR2AET3R6PHG2EQJSZG5RI02OBBNAXYTKAM8EQ43PUUI8SQG8ROXDMDGBEMD2BAYN6E8KYI07UF2HQL83UE13B7CPNWDELFXIW1SMGCXPEVLPTGWAF8Q5YQQHGTZ3LO1JF8GB6IZUWCUWBLT6VFGE6N3ECFZL73Z7ZZJZRE5UWP6QCRCWVTRNUELS7GY207NKOI9TX3LA7PSS4ZZ63IZ5E6LEL21VUBBAP112U5F3IDL6PBFLJY6HJFKDSCEV2Z67U7QI8CLDFEJEUD16RVX9KOKFN23S9LM4E3GLSOIAUYLP39H3ESB6T8X4AQEQ7AN8MZ51SIQ537XOOION3A7ZQASB8FUG0QNOBW4RSQB5OO66J4POZ72IDZ5HQ21OZW02BNGKMVA7DTHBEBKD9RRTMCGL4TCQWVM4UKYCE8IR9DPX7TOWM8SZ58GZPBW5ZKXHYZ7U1XNR3X307MU3UYPA div 36#FM09Z1JJZXWAH7F5S5RP74UNLSUXX3Y1KRY6DUJO538NR11J4SSF6TRYFNEUZGG4A85E92P8JPPZNJMR96ZPBYAB4NR3WXJ5PCY7X07BXOT168Y3W9BBQGV3DS8EAFRH0LIOVIR9UJ5YM4TZEJZE4XD88JEMOE7I96NXX5BOD4RNJ7EQ705DOZO5JP9O1EDD7S1N3QQ0ZU5GO8XISAHQ8ZHJBJKWFO4YQBGF8ROAOFUAIW8OJTDXRWX5LZHNOAS8ECSNV9GGBPBNGLVOKOHIVYFEMERVUIVCZMY1K89TAN8YPOZHUNN22GEGWCRQBG15MMWIT0L1O032W3SUJEK84T0I1TB1SXJIWQWR60FVE4XBLEF6U4JZ2LKOO3JA0OEL345787449YK6SHI2JO4G2VNHXNLUSMLZ00R93BHWW7LEWGTN5IW4UNKDX0ZBJUMDEVSGM5Y0YO72NDSIXKFA3XFBJS08XJZ3KN0TSKYIW8W21RL5ANO6Z3E6SW4I0C3YE. +36#11EQLZGBU8WG11X9MAQGHRZKCZUK797L8I957EMGO9TBXEIQHLXL9ITAIKDOS2KA4EWDCQFYQMEIEOYCGCCD2HGVKDC099V8V927P = 36#7JTFQMKCLJ1FOKG7FETXEEOKEAM5TXFAOZIHK5YE3D3B0G6UUCHAX9N35TY2PJE1KFWWD0BNVFJT87TJ9S8E3LNCIANYM4ETKQONYYU996RCI5FSAW4A2UQXQ9Q2Z90TP5VDTUV5FSNK2847MOSDZQS85UEKVBYRMOYBDJ2KPZ5M7234HSUJLMFBI0VLV873WY60KK4G8DVQXLUWHH40BESGPSWRJW0UWQIKOSCROVP7AXO96U8MM0VORS4NODS1G3X9LF0LY7WIBP5L5ZA7NT3CSTV4A2KV3BQ7LFDSQQPOYWY3SXIMB28XSDXV5E3Y35RGTXU8DD8VFL79U6WCMPMRULXDCOPS7HK1I2R96E2ZVCG4CQFYF81ZLA4TINHUUP0MVRG9D29EHEQJJQFC8FS2G0P8LIQTKNQSY4IWY4LBXK3U2GTSCTLW8KTWHPVWY12BTIB7BH8RLVS1UH1MIQZY54YRIZIHWFRJ14RIDECLHJFU8S1S27XTQ36FQK39H2ZCNCGJUIVXI95WPVJ1UMBYIS9S27KL4AWLMK75DAW9JXE76YUGZCDHCS4K0L1GZ2X7AEFDMLQVEG4ZHMUQ3P43F50UVI8DLYJM4HUKZW0N1GY1G40UP2LXU6H4U9UVXIRA0O1OZ1IEBY1TQD66KJBKN4E6KBZTKO02TZJP2VY28ORNYIQ9JT3SESXVCM4Q0LFVI532J0HZIPG3JN2NLEHDFWOK3KJOO7CKJGR6ISP div 36#79KRJMORC00CA8JJMWTR3I6JZX0C9MEANVHK28ZKGD8INLOI6MVG21689QHN2WOG7J2UCMN5BMT82MQ0F7JDS48P1OGCC4B85QMCPQXUZQINAZX1TMWIO5TL07QFXNBO8QS20H0JC2KPLJ3E9LK7XN9LCM1X2T07OBUUJKJOOTGTP17TSW0JD1J652BMGKM17JADJR1GB3NBM7IE7G9P3LHHJ8GYTT7IXOJOB3IUWB49ZO577FZ7KW7BIUYLPUK7L42HI0UU5LOMRAD75ZF0K90I1U3ZJHB76RL35AS3PGA7ODEPY5HJIIAU9FC2AYX4A40J4WVG0E11CAM27AE2JGAQELBDTSZRNBO2K9E6YX32GB1SJ9976KGMHEIQ4IVAIOPADCDWJPTSJB9V6LEKQ3ADUN0EJ3S24KLKJCMR1RV17AZXHXJWK5R3P82OI68CZA3X3KPNJH4OFTCMCRHJL6PNT0TXWQQ27S1A50LW5YOHS93VROA1VKISOWVR04O1W56PV9BKBE0Z20WJF6OZV52B86K5FUTVHZMJFMNBAYH8U4QXJ0YETWCHUEM757YEFOZGGVNZB2IYY5C64QFUZITUR1LDR4CGC88VLOR2QS97BHNWGB4STJD2U3ZAZOQXTMJENL1. +-36#6GIMIOT95V9IWP701SZQFZZZTXZU18G9FOLM7D8OTEMFCX5AXZDNK0XYFI0B21YCFHG2C2UZ0OAE2D2RCXKLYWMKIQG5JT8OR08BCXJ1M785LZK3HREY0U2GRGQ8DOFK2BM3T4NQNNLPF2U7HUSTA7RPN98ZYOHX10H8T02HUYID34KPET7Y8RCZIA70NER5RKL8BWNXU07LL8F3AZ1KHZXQFW319CZ8FM2SETTMX0FQEBL1FXUKCELY7DUN8EYH6EY8SM9BEDVU4VSXMIPQKQFB6CWG03KAE7YM6W0HN83A8OT1RG7HEZKF95UQ0NTY6GTAGES65YLR54JDLTDTQTB6NITZOF7KQYNPN5BXGOS692K94KBQXWVOM6YKK8CTOWOFUJDU06GO1AC51X84H = 36#AUZOOYMYSYKMRARXPCYDJYLKO9JZXEV5ZSIIKLKDFRHHL9HIJ818ADTV2YCN8SYY9SG6LBUQQ7FMD7FM6665MYM0K0FS3HQFJL3JFHBNV1UK175RPOVRK7OL6RNJ6SPHKDFO4ALIZZBJS6ASEG5MYD06WA1VLPD5SFROEQ9AC0LQE6N8C9M4DB9EQGV9UGR62DYCMVIKPC1TB1XI95ZKU5ECUBFYPFTTGV7P79YVJPFO9JUIALUB1DHBMXMMQDQ82LP0OSC5FV5CL08QY6JQ2OY0PY84PXR66Q4TGCW9Z7IIHAD7V4SBNM2KCSA6KWWBYOD2YKHBBM7AED4668RQVMZBW4ZWDVDDZ8R01HU4P7SLQA8HG4VSYLAFMG7P1UEYJCB1AK5SWJCC77EY3M5JSJNYUL9XUBN88IER1PO40I9ILHOPSWM8S1XDMPC6EUEOJIEP5JNF1RD5MOVM3CF10796G75ARMAQEXRAPKPPEX3QZ1HPR2S1KBC8U4L8557952HLU938K2N7HDAPO1GHKNRBAMIDIBOIUXFP1G5LRDIKU63IU4HSMLQ50CR01GPQGBNWVH1MV5C0DKZJCF5QIKOKNWROZIJM3UY37Z1U68T3ZXPJW38I3XRTERCVN0AUA96407BP8Z3SCXMTVSMMTS8P9F648KH457918NL8LDR0FV1E67PCHKY8MO38ICV3UGLDARWHHI2GSJJSV4BZ5QCVH0UEAMI4N22AZ7XWHHIY2RMZ9ZHF7D75TIJHL04CX98BVKZQ88OH8R7M6HXHER1ZNG4I1P2KAOUH1EO4H15E700LC9P1H206KUX14O3GY2P3D4OTMHMC935DM19W89IRFDXK74A6KEJ6X5W664SBS59E52P5VOWZV8HVE3U008UVS225KDSBS3JT40Q1M5UJMC31FIWLIVP6LW4BKQ51H6M14L2AGVBUC3D26S7Z5PZT550V5HEET5JM89NOKKOJJAK3J24BZZT97G5ITOT9RO2FJVEHKOWHXP3NETQFOH2QC9D8TVBRU8YMQGPK3T2DPKW4DZO9BWGSTSTVWRR79CHWX98C4EWLQ9U6VM1IEUPNQ4RCSTU6BBYMUI311YS7SBO1Q87XZHJIZHIT5ITXHDEXL7PZAIWWN2NVS63JW3U7VM div -36#1OJAQFQX9MJBCRWYE3RERQL1WD262XDE405BFLCQ3JBOZUODY8RBTWFWK7QNIJYOXJFB8GFVPWCOK0P6FG72TAF1P4A7QUI48UKENDARGV97YBKAFYH9NUGKF24Q1JVYUSAH2C2XW9UP98CPC1W4S7XMUECXQGSGC5U5GXDGY6VIH5P198FZWCOT9TA5NWOPGHGHKV3MFRETEXOK7L2RH13OF5CJW7V3CQ2N6RTXQ4RSDPRD82QLVAAGCKP22Q833E9BT56MV324PFZ4MUBWGOIOJ8LNYKMWL942DK7BC7EYY7ZVI1I11RI7HNTOMT4AAINQYVB4JS0OADPLPYBTR0RYF8YCS0NNQKZFWG12QVUG5QCRH5RAH3WZ0DGVHV9HX85BJR2S5IN2CF8XVSWWMQNNZJZ7U12WD23JIP9WUJ9CO42U2055W6T08429B3SRY3TUTF8AB3WFHQYHRCDNJC46ZSWXNKWLV1LGR5J7Z36O7R1JRHMRINZC7ROM66J6YFBM3H6GKPWWLJB93XQSQ61KIA7AYIENROMA9616UMDVU0ZH35SUWTWASJRPTD81CO87B0CA2T7YX6F3JMRHJISU70P6KDKSUS0VHZ3W0LI15B6HWE3O2SQ7E1D3C39A41GAZ1QK5355XS4RCMAGEW6269JZZKDWRY25GYBHDTCPGLG9XXSJFZAGNOKJZ5HUWTTW63DLUD083MKGCPQO8DWELY947TSF1GG8QMR220EPJEIKDE. +36#Y5NVXV7QEOFA8QGZ0NSSOU0AAAMMFOBY5OJVJQ0R0U11L7Q2W = 36#48QOGF1SDBCY3C33M8CUMJN43N2DFW4QZ2NMMXJLBQKKOPPX6K81YFA4Z7XF59GV67DWG9Q60BXMHQ551IA1MXP2Y5YA8T5E4ZKC8NSLXNHW2B68CMDZ4681VN1U3JSPN7VCWLLWD1244FK3D8ACJB29OBEHM4WSVI3OMWIUSPFEKXOZCPO7BMCCDF3W96FW71Y55HAAF4DOWZ5ZXJ3R0YO3FGNWQZN3PAO3ENS7GEOH2FDYROJRYPP88D55ZXI0MOXGQ950J4OV3WEB9SOJYUJ5TVZDDOV26YJ9H9XCT2BRHO8LNTRL4KZQ12O6PAMMJ0DVN2M8IYCS2S180EN43LT9K4L0JVC div 36#4GZBD6GNGYZG5QQRHIIPGVPHB75EWCTR6ZFPZKRHRUQ7FFKW7ZESPDJIEZY8Y95DW3Q44N0RWGA3SWNYAIQYWPSAZ1EB9XFVZMNSJB49PD9H9YGC9ZV4O7TUCU8S89CXOM245E6UMTYUEZWZQTH65QCXCD7G45366YRD1FBOJ8X964UPJWLHCXMT7RB80DV7QX72N3SV3KH9V0463LHYVTEEG4TP3JSBH89KLMFI16KLDQYBKTWAKLQCILF3526POVZ75Y6UH2T4OR2E7GC4TS8O0MNFWJTBOBB8LAS288TN3F. +-36#J2E3WN7L2HDP24ZK6YHFEAGX6J76R1ECH0EHHA62S3J8YSH65MZD8J66BYF9EWZ4FPW1ZU9S1E20DNNX3XLEENOTJIT14H5ONRZDIEJBMNJHDHDEWHUO40FA4JPTBFFOJF28LQ1WQ7QJVH50QHAJ7WSLHI7Z9PRT4U9F6J20RR2F22D0F3VVG6CJZ8DYS6AMH2RIK9OM2I3LTOV4KJJGXQR158R7HPB7QNX3DT4OHOY37YS7ZHD8YZLWC4ZPPVMDBN7XVMHXCM03K8KMZFMDNP80QAVGAPTSO9485N5NJJ6N4T4M6YFW2E6H2IU26D5TR8ZPFECP10ST7YG6C5JPL4YBF9KU3HG1V1OQHLG19BXP1RKLA67FB9RTH118XTFEIL2UY2B7XQOTS5N5HDJGKOLWW9L3FANY8TSFI8O1VYF4M1KNKY8XZMW2N2AURQSL2E0ZQLW9A40FWZSCTHZ0VS0ML7OKEZCW989I521U12VMTSL77WEZX37KZ2PWAGQWJ76Y0OWT97LDNMC4TV0Q4O0FLA18ZSD6EN10EG1XFX5FEC8B5ULT1M1HD4SO5XKK36U8K0913E3U2C28TR7U1CT470HWMHWJKAN9A6ITFIYFZMM5R8QVKV9ADWG5Z7PD1854QEJVSH9PHIISXS0IEM5N3462SJ9J2CH7XT62QDTC50JTC56EO7MND8O1RX08LEV26URLTTM24V7TD86T792HJT8M85VNULO7SGM98FM = 36#WPEYXLZWF6FYTPGFQHG7SCWEHUOMKP8RZXPLTRR0XNR9TU2PBOS82POZBGG9CA95H1H89V34DCLGF4HZQ0NL2Q8MADK5FI4D29IY9I48KVR1JWT77TZTNFNK1GK76VZU6O3TFHC001P6QJL2W4XNHPXNGW895I1NKSMPD0U06LY5ME5Z3RHIP8AILG3D2MILU4GWWJ0G36STQ7TTVBI1WF1JRXYJYWI23NF6WQ4SZXC8LTLTYU16LW43BKX5E3UPILSD03OEGP59914D45KKECJW3EB25NUSVBLCFJ95I7LR9B329JZD7R9ZCIMNQPUWS928L7X5LPT3B1OLJXX8CAPQARZW3U0Q4GHDY0M1QIPJLWFX8RX7162I1W9P82WNEZWG9T5TANR5WO5SMK25H0WIPXF2QWMQKBWNHF1JBN15RIP5C27YV39EES7RUXJ8IMQKVABQGP1G47K2TCBH2IEYDTVY2BDTJ8IEW8CKDN87C7MBBFLYJ6DF8D9U2PH2J54EIR5IEJMYTS1YPODEW17KPO48CXJMNQ * (-36#KZISVNGOAKU10HV6XDMKXJRDZ1UCC8B997ICMQY3OMPLD8I56ZK92PIEJ8EYABXD01245XSI43J4KLI9P2B7YHXEFGZVU8HCRNG26R8I7G3ZZAZ3DM3SBOQLJ77EYP44TPW3VXS0Q6OXOZSCRQR27CVL9X69XWF8S1ZYY6O711VTWJCP3LO795YYYYQ2D18R85JAS5YHN). +36#5J61TCLAO59J59KUS5UIF5BXF2MNTHVD4F5JE16GSH2N6NTMSGA9L9YTB8DAAWX9XEUL70U7ZMSUO0518OOWBEJ1ZXF6FXNIU1RR1BKSCLCFMKDYJW5L1PEA2975FVCUIYVGD0ZVCMN70FJ7YK21JYBC8T17M1E7PZ1JFWNOXV5T991CKA4VVZHC7S87EGXSBR6HDHXGI4H87HU9EHW9CVFYAWO8L5SQSFULT5R1HCJHA3GF9XZT9ZWAVAI6D9HJVJ3QT6T0MNI8YN10JISJM718RHGLW1F0UVOOZF5G26W18AH58JJJ3INVLL8XJZ3PY6I8EHZYNRJT3C8469MBM0G9APY0WRB2W92TLLO58AU2574WW8IQKU8OE7ZZIOF2M6PCBHJPRRJVHATCC8X1CHB83J4VM4AQN0MRZ5S2P068ZZDNSN3HFHG0SCBTVJWH82KPYZM3CJNNX8KU6HOJSNLIIWQXSAJVYN32CO9V91TIH7DFG6Y1V1V2YT1NPT40CVX6P6LIPPID6B67NP9CB7MPOYOOZWXZO69OXOJLKGFOUIZNPUSK0RVJASAJPQSIH3M18R87HUEDDJR8NCDTPBHLI50QGXV868YPU5J5VG8RN9FNZDDOU6QRI21PTBGAFHG2S3MVA4VNY8K5SGEFJ0N25XJHS1JQRTIR3TTL0KKR85XW26WY4TKXJ9HAPOA9HHLZH2V3362CXG39VS89T3IE5SE94CWOR3KCS2D = -36#4J483DNKBRGCLCCFUHCQHX4W91S26HSZ2KYZXF6OTB9AJRDBQFG4D0J9HH8QMH8JLS0ZJXIYK1ADAJ5PIMLW5516SMVSBZ3M6Z0OFEK1QSVVC65MYCHW98GQ32CJ44YQA1OTS3WBZNQUOEO948TGPW6ILWV6LYULNUPJZB6Q7WT2AWM8VERXHP18N3E10A4ILIXC5FG6HIOXDUU8ZHHW427Z2SZRCPWJRC1ZPL9XH3J6Q28BE80BZ5W388OHVF81QGX7HI75MVEX7GHH9HT09WKOQ4CQN8Q6PTAIMLNXDE84OQZB3FTOD66487S64RTXUT9S0Q7W7QFM7XW8FRHCMIV3DW0H04WFRAMV7ZH8MM1IQ9YTSRE18E9XSEFWGS5RQH9PBSHYNN1W5R7L6LPVVXNIUVWNFXQ3ALV0XRJRLO5H6LU1L1HSJMFLI97QKYC6PCMCWEVM4BO0COJCRW7P7QG594C2LG0X8E9KAJZYGJM8KLS2NMKM0S8DSZ6IKAG3HOCTX88UHGLLCAW5A8K0F1H4BKD87GU61YDZWPXQK98CML4TCOV219TQ22F6W6TPRCN234A8U4Q04BNSNPNRX45XDEM8KOU06RM6GG60O9N8AKH4UL44AB066YIGNU66X1A3SBB0SNEFZHJF7V1YR9U6HKVRD1T3FR8RA0F6QBRLMK4QH2FXCYCCQA68HDK244HZR4HW0D381VWXOR04JX44B3PC28CAGR5ZUWVPTKXTC7F9DATAJXF3DC12LLTWQ5B1FZM1MW96ID5FIEQ8V33D div -36#THEYM9VJ2HJ3O1DK6G1PAQJ141SL977PT7XTY1HYB9Y8U4OP1. +-36#2NB9ZKKE5OYI781X0JIDCIIONO1B2PEADAUQ42CCJIYJUFST5O3EWKIV2RH24YGWCC2ADZIAJUGT0HMDH3CB2K6CBUA7KAP3MB3XOK3OFLBG7A6KBS6IO63EE9FLWSK96UUIVJ8K52PQOWF4YZ1SREGCZNS635SC5OLHIC6NFULFHETNVTUFT5AXYLNZ67W1UYXWZRMYF0M823IMAFLNI8K33OFTB5CWIWPRYPOV0ZI3FLJLVVXQLDYSTI0MQCU5PVN8TZQ2NTHOODPH6LFSO9IC5G = 36#7JRZ39QGPTB8PW25JIXH8NNYLSDCMSF9K74FYTV44V5D1FX1TH7XWYTG5SLVWIKCO9VR7WH93YCK0Y65VQLFQW7BFYHBMUFGBTL41RIQV8EURV2FNSRME2L6KUWR7W35RB9Y4T7Y8ZEA6AXPAHMJBBRY8Y7IS0SQZIMHZV8JMW12SEW4HL8F7R6SBV8MTVLFEK7XCLEEA0872JRP404UV6GLILZL887JC7TC3WIJ7LFM5KXWJ9MDSN2BMFX4QYATOSPF5PY3BG9X55I1EWHQ7G16IK2IZ7SYN33M4BFDH3494N8Y5XEVH91KGKC1D5J1TF1CCTM7VGOKKQ0FX335XUEU6NAOFHIJZMK70WUB5KUTNI4MCO2Q14K8TCNSL1BRAFQME82W2WMKYATA52VYL7T2BR3WLBN6WI29GTC69T06VHRNGJKUFJ7MDZ2ITP60EKVBFRO1DYEKGA72LYXQ0HXEP8OIZKKFQ36DS52BE6U7MJYOHP43DDTT0CXSIRPXFJHGW3CE042UWOEMLV62XVL8KEZ6IY3YU18H4P9RXD3M20PMLE2IH8PPIUE99MQUO div -36#2UNFBV0QN2J3NQD38Y2H494NJJVGAB0HKAPNBDMNNB16TIGCQED1DD0DPH3ELMF4OP34TC72SQ4ZKF6RRQWR84Z04774XE52NR7QQ40BACCJ3Y2M4L72TFK5FEZEI67ZT5SMD2HT4YEODGUP58PGNQYXO5L9OACQ2NA3VSZ528156WVKK0Z1W5ZFDYTKHHP1HDQX8ZB8TMMJC7OQABOFZ5HK7I7Z9KVC890UNTDYS0DGNUAXD4WCQMO9DG3CWTPH04TZRXQ293YVVUSOBE6H5ETE7FXGOA4PY334CT5O. +36#QIUNOP6RZY6GGCTVQ80I4BFPKXBNIXTC4PONK0S4P6G8XPNVROJK0C3WQ5TRHK410FD12Y3W5EZ3YF4EA352M9F6SF7NDGE9BSZ5K6WBE0L793RNIOO4NVWTN3NJME6NGNONX69XNNG0HUT90J4GY07S6NHQ9MMHG99AWPSF5MXE1SV6VEMKG9MU4WJCLVT7CKS1FXHYY0TK2NGPFAZDG6MB164HUTP0OLXBCXJJ8J7AOGWTI4Q8G9JU015I56KGM2KXGD0I3HJVOAE6AUHFKQHTOI1U8LRND2FQUO6U5J7A72Z1MWOY0GFN1UI99U9W1QEFAVYTQKKHL7CV944L6SGSU2EL21XP8CZAY793BJPP7I034GN1PM5OI8XQWTBWRMSDTUCY68Q5LK3PDQ3HHCM9Z3HE8TFHAMLXQGHSCNN6EIX557EK1MP8AHRA6953XJWUT8EUH0VIU2AXLMNHBX7EZLNCB1L4YOR9W9Y3CB264BJJRB2ZD850CQNZQH01USPIQVXB1DWJQUH3OVY119U103YMM8CGQ4MEQOAXGTKMTZCIY8C5GP8KG76NIV46RT2NTRCMXNDUTT70H1NXKZHBW2P08QYMVI5EI1L1VDVUHL7ZHSBEHYYVKZ30JV48W8NF8QC68AJG9ZEHVT8N4JM0JQ3Y3AK64APK5GE0OM5I0120QH9EHBNW8S0PA9NRWDBW1TA5O9SCJFALGCJKZ6GS51BB6RDJOAWIKL74IWTFYIUOO3CFZUI2UCG0 = 36#BIPM3G95CJ36L77H92TE73B2QXHTJYGKFHSTB5R8C859I4EBJ2680P5MLM1HC7XX44AQDYBR1CJHEWIN55XUMCP7QN9VVES2CRH0ZXX95GRYOJGMPBOTIZ3ZXXRFBGMVP8ML9S0YEKQDLL19CAPA8C1MNTGRCVI6TAMGU5GX09O1A0PFGQ6KZ1GK4XXAZR2GLSZM8W4B2YAXZSALZUVXNX01VGD5J0YTYAZGWM2GNSEGYWDG4TUQMIZ8TRACK626LZQAF7B00FANH2CTIQ1HIS7YI73CH1IT3BKUKN19Z5QHGE0DS9SX5VH7870R7LK89FLLBH8OIS08LVW8MT6STNSRSK4BQU4OZEEWRNPH2Q75IV8BEBTGNGNDLRQ7A3HAW4PY5WITZY10IT285LQK4M3MUFPIBUWWC1472JX96YBE963R4NSXC8Y846LPO9CTLK1SMU0KFYFK5912P3S7IPIQGC0IAMKM5SQ88KMPC9ENU5DIW67HR6B7JN5WXQXTGS6OEA3F9PJGHUAXTO608NDYUKMY1KYEF0U70BMK96BTGTWES6X04WLX27RB5QM05MMVW4G64ZJYHW5C8P6MGXJ9GVEVSC9C4F7IWQ8ECBRN1ZRICGCM4Q3HIQDL4ACO0EPI7FFE35FHBKI7N69KXE1U30AFGRGM3WPF2TLS55LDVZB511DZW86JZXGA6D7XJGFVNDS31G0 * 36#2AVZ0C7QA8N3FSKTNPKOKF2IR7LD4QENTCNF35G9LTWUWABZNS. +36#7PH0QQHI4R0OPI93JFRUXSJDDFQ4US1T7EGPQROI0TPXH813H1LV9RWSU7Z2OU3D185LP4P8CY8UU9RV11GRILSOC8IC7RNJMDGVH74CKR8XO81GFKZT9JMVGD186O1TRTCGXYGJ5EW3FBY359XL0JVML0R16M2D3I5T034UN623XKRXKFW4O4BB9L7WSM8WI9Q6LVZ9MMQ1MVL8FTBLXJAU9C3R6YOB1PK8TWZ6R6YVLWZ4MY3W91JBKH3456G8BOP0I26MG4LK5D0PBFF7GVQPCYFDAGIWS6YC0A5W43SQNLF9EEUP2O5Y25R3D491V698J9EDOGGJDJKO00RXG6RBU2QWMWGRM1YI3N6RSDJEP0XM32OUFXDEAF8AEY7397000U30W6SJWIHVWAPKOFPF5TRGGA8HLIVDAR7XVFUZ26FEHMMIQ5YZA6B69ERUSZSHR5M7P1A2PXK97ZJ4Y8DRDFS9G3BA9X3IP71ZS6ZC5IVG084JXH1CJMZF645JV4FY06YU2IU85ON3H50DGX3MW68UUOQRK0U9VZ65S14Z5DC6T298QHFQSK4QDHQ47W2YFSU1BEAW65DE6N3KE03ZS2M25CNB0SNGKGHVIVBTQG242O9RSRFXJXZWO8UR2ZT62H4XFO3PAJAA2DNBBKRNAR = -36#9PUNS79BTB2ND65M9BDJQHEVNXPXJSLEFG380XC7V35WN2JF9 * (-36#SJVLHNN7CBHYLQRRV08ZRW1XL6XTGKCJQ1SR6GL3JAP2P3QCMS5WNAGO1M2MOQR6Y8B817RTSXMRQYCZIO1LC782ZCDKG6QQN4BNJSX4PAK15ZALGYVDB8WHHICI9VDDTA5YPIH6CADH0PVUKOSQLW3XXB64RG1H2BTR41MXAXKUIBUNGBUYH8IHJSO3CSU0C1FOA9CIAZZGPQCC8KABC1LX7WYT0V7SH8JU7DSJFSFMZCO2GD2QYVQ55SXF7E9TS8KRKTKOAD8PF98FLQLTONVO47RBWEJKBPN1ZKUFPZRMHMLK8CL1VHZUPTX4FDWB9MPD748TKFPQ69IZKQY7NBG0EI5PH62WTJ9M3M34NG2JZNU0HFMW6RKQCD1MIG5T9TGSFKAM50KQKFFTP5Q6Q9A7X2TOPDV41T7XGKDMXUDT9S8RGQ8NMB2YIFON6NZERW7XD5DD84XGTD0G2IWXKOMVSGQFZ33C7MT3PTSKC97XB2QAV8BT3O655D9WGSPM1BJXSHZR0MJ2BEIGJ31E2P10AD0DFZ0LB8WEHISHN7OTIUXG90G2R1PL0SSA2TSREDG2NURY8ETMBR7OLPPOZ1TQSHPR4BCTPAH2DP2LJ). +36#XTFF8SCOZL35MNPVIF4G19GIRBZTJSUQST24HDR4LY5DVCDH99XAJDU0OJCJQUUVE2HN99RYW2OEZBEIGKFG4MWAS69OQ6LJ1WQ22PVCM0U7BW23NO1JHGPMNX1GQZWTIV69P649J90PJASA2L4S588V9DJ34G19F8TV0Y94FUYE448V2CVOADNDN9HL4EHFQ907G0MM060Y7ECFXBCBWKJ9JZO5BGQ3K9DQXLL94I5L7KDXYBM42UBV54X8RNYE1K15ULGDV60VGTJF4SBTVI51RH68E4AAFCR2RY5IDOKPVSZNFF4RTTE73D2TEUM2COXQ7JNN5LFLH9KODG0KFIRJ16HOI7ZQNPZM3M0EW596HZEW4JJUHWMSNGTCZUKSBE2X4CUM4VXISA18POCWAEJOIC3RWNEARSAVQWANNLI4BQZUGKT6BRMYV0WMZAGENOT1MYQEVRZO88VI98K5MY15ROIZYR9KZ41E0YW741FXEWUN57DPKWIJ46Q12E4J7O27Z9FQG06L3T80YRWWPTWXFY904NNJ5GOM6TCMNLJ44IOSPS8M7LPKM9B0AL30U5S0M7NBM16BTKB4W59QXCOJDS6LKC93WC0SX4FYSE153AM8VZR0QSDUI1C3UVQLTL3ASMJ6B9BYRGT7SDLFBZFRZUTUVNZFI6XF635N6DFTPWU5EJY79PXUEATBGC3LU2XE10XVEGNTO739XSX5PJ9J43SZO2FJQTYJQQ1IZS2D4UVF6110390OWHWBNZ6LWH0FRWPXFAKVGJFZHHUTQHOVDNMYCT424H3XQBG38X4WBTON443OWRIHTKFWC15RB44IE9MOM28V6QYF2PTE1MZSPCT2VU3R6H27QUJRX9ZSKP8QSJGG9077CL433Q9XIT8V54Y5T3AZ2JKY5BEKLA2NDJ267C6NN97D870DAU04JFQTSIFF8SEG0INVFH9F1J7SXP1WNRVYMLAJS7GC4ARHDPY3AN8J91Y89NKX7LBWTQ1DMDU80OJIIK7MBMP78E0DGIJH04PMH3EAVFUNVSHA3N0VG6S07HNGIT8RTYDM5A4Z3LVGOUJ42ZCH9N59WJJDATZ7OYHTFUZRSYNV87OQWBDVRCYVSC30W3OXXZI46URMJBELH7R4VIZTV81B15U7LCWI35QQDB29YJTY3RL2L89XNT5EVB0S0G8WIZ6P2VRR7IUWJW3CYMD9XR4J3CUBIXTUB0ELW240819ZB51JUTS7DA9FD0T3AIRQBXY3XK1L39D4570580465OZCUBCSIQ0XX9FJNLF97ZZPGCOVVTWT5LNSN6OCGEWKBY0ZD3LXXEVXTKA118R4R3RICQ0NMKLTG5O8VIDD1XX1F1ONTCIHVHLP5YHWAWICLTIDCGF1QOME53 = 36#66STQS7NXFQTPPZ52PJZR6G8IDQNCY0PMTSR1VP2RPAMB46NO7DC9SI4MQIKHN530WYG0N4NP8J3U6D80O1YAI2VDBU8NU7VM12V3HRTVVZMT1IMIEZX23UODVZB650OS2CWNWOZR7XHLEQOQCD01RDNXOW5O7CAI83M2N8MTU62EXSFYHDILHWDUTKY4T7XYZ818NY2JUAKLPXIDMBSBA1SB10H * 36#5GPLUXW8OHHZ066MFZOOZVIV26P25E50E5STA13D8RJTIWEV3UNNZDAW5859PN5EN9IH53D314FZ8WEESD8B4BQ95U2SLSPPG87IQNY959XTBG31K5ZKVQLGYBZ8MFJ87755K00H9KKHC1U7G2UTVE3YCXW1D8T2EYKFDKTEL384V1FZ4TAJ69G45JHUX1L29QZFI25DEPN2EGZGNEDH3ICYR9JTLJ49UFTOKSAATJ72AX694JVGOL87MHVUX5QCEBPCG49XU8B7Y3PYD11XM0X5AQCD447SRU92893TGEPNU3RRK1KOYM351N8ZKOVXTYJ4DA9SRZ9TILYFKTM2VPGWFRXK87WPJ2WNBAP6A7BBPZ9ZWTUPU468A5F0R7OUIVHDIE43GXNGIRH9E6T57UH8T81G183TLRDYP4K8P0EWENXML7RR8IIZS4DEXKDL2AALXUJPFAZY097YSH0217J2XK3YLC0VQEHO13W399LHTMW0WA3HC4760QFX75E9VSL6OSP025AH2U099W41F6AAD03UK07PV7W6JO0PH0AXIJY1HI8BTSXB3K58NSRZ7WXNLCN3KUC249CYYGBVGMWZSMFU8688665O9QV7Q7EIBQ6O9IN82L34MIACSYGKBW7NWF0O4P2LGGO2EK30MP7IVUVJ7B00G7WC6BR1SSNDTR59KVD3UL8UM9XRVCUNA6F5NZH032IWU671YLQ0G2FEFYPSJUC10MEV8WOEE8TPKJN6OBE4SOXPEGUU3Q7FZ8VRCRIKAWDSJ7QHR3M5R51KKEYK2C1F3R8BDDX0P933TQFT549MQ15MFTG73ZYZ95TSWYLBC19VDN7WLA6JUKCIV5P5S8MB9V4PVOXL5N8J42B7Z4ICF6ID0VVAYIHI9PBE3SX9J5UIVK1ZO1RNV0NKRQ6ZM66PJXDXBZUV11TSCDSG6FFSN7EFR098LMH1M1QXDITWA0WAZTAR40ETAG0JYKIQSMBFZ6JEKX12LHW3NF9TU97BFFK9VA89I382J6Z9RDFAPKO70NUQ1FLKEXL5C5AI3PIICQJRP0ZIFAE6M0780USD8F1MCONKHDOLF30WVHVEUBK9SNW5YD7YSP2PD0A0M02M818BPGVG8Y8XMQSKN3F1SXX5RSQLEMGVSRFP9XGWDNB7E7C8UOGZFEB222F. +36#1MHRMQ9BI8DVB7B5JMG02LJ7ZDX2EE8PNT4NB3QSHJADOVJ67Q = 36#3UUME2UH86QX673TS1HH9RRESTJRZOVUBMK2K2LIDRF771ZS32EN1O04OMIZZP8PAPVIQH4D1DNUTQLI2FPCUKNDGJ58OEAK3WG div 36#2DGEXDD250P5B705GG22922O0ZIGLPXJP23UPCQB8O1ZWZJ1NK. +-36#359EODUUII3WDRMS08DL11AMOG9XYRIR3YWUXBP5OG65OGNZ71 = 36#6UXBP9P9Q74FEW7NTDXDF28WY431ZIW16Q6CKF90E934B422QGFQ1MNGA9KBEIPWX50D73OGE21TDHP81D0CW045RXFDCMDX2LI div -36#26HGO9C1UO7QMUA58VWKV92U20RLLZF7ILDYWTLA0IXMSIRW3I. +36#JAFPDXME17KU1RZQCAL3WSTX6U61VYTZLXZXBOHPEUO02FASS1RZNZ7SHTOTPYPZGYWVVH29OAVVN46LEOKOYGED9KDNC2Y0VORIYNRY4KQI8MKYPEOHMXTCKP2TLA3PXRPAFKH9JCENVOX9NZ6TSSTZMBM3I5DWYZOTSZLEG03GONP9HMPFKZ9WY0TKZHQML4NGY48N83TOPJL5MQ9EYXJBKUXODOJ6TX54CEMU98KPACJ3ZDS1RBSDSM6HD5SE2DB9WYHZBM6IVVR5HZ8LMHG6XTCJM2V188GLSADA8CR33H6Y34SFOQKKC3JQT1W67EHA73MCHJN60C3M6S7CW7ZS97JDTZ4KT6NJ1TJZEOOGAD2DGCGBREG82J1NS56J48GZMVPGYRAZEE522HMFN4983Z60U6C1XKIA8WEYUUQ2IWRI7C0J9NO0MGGCNB92IEHDHMRU7Y23MZB1TCBN041Y1HQOBG3H0G96HMW6XIC9IHXJXR9WHUYA7JB9Q3WK6XLS7CMCW54MK11TRNL92ABY2MACFBC49J5W356CBM37AHOK8YUY1M3JWHMI8D4EOK2HD7XZCX3YMCZ48QB76MNK0EC0AMXB7VBGKGLGAMVO8DDL5YKRQFF4AKOZZTXPAP3J9EZG86M1LLIDID7MLMDTWYDUWLLJIV4ZR4UTR7P01BMOAK6KQBOTKWO8UJNEHN0JY54BFYWFUR06SS5V022B6VIWNJ10OK4X8DR4F7OQKBJ8YI7M6Z2D5XNT6C3QK0XPE40AMWKMLWEOWOKYTZJYGAQF6KIQ80O7MZG3X93I6XRB6LOFHFV17SLMW0S5NJPYDQBPSH6O98MQCXE57DQ2I0CUSEA3SVJZNWOKOR4LLAGDZK = -36#CW70VOTLF1JC02REBZNX5CCNFO0Z2J7QXS0PWE7D69SIZKUNAVL4TZ9FSYW8552PN1Z2HH71E2DP8E1K287T4NJF7IED2C7TI64MUYFQYOQH40XA2OVDDMV4VE0YJPJ0RCW2CHECPNZL1MO50D20TF5EE26NEA6OX9CDJXQFK0NCTFZNI0TCSO4YVPA6YMBY7Y1G1FNFU5RFKDXVPFBW9G50N5OJWJIKX3L20C5SU6SDQRKYD32GZFENIUNUGDTL31WN7CSKCI2QYGTL7R4FT66K21TAQOVQ08TI9B4B9KSYZ5ZSHP1II7JHFL9KSCKV3IQIN07OYVTL794WO84ENQDQMX1I6QG0FI2EUQO6R7ER54L91EW7902OS6OU4IIV3H19MWLTL0V7GWDLXFY3KEJXYG73R9HXGAGMFVC5LPLP1JQ5MFJI5SFOS8OIXNYI4NUFU1LEE2WJJ1EL2TSWEL7NBX647CH1V6QZ8N12NCYJHWZYRH2SU2V6UKULM0HL08T3QVLGY4LLUX1ZTB6OMIMQWLD7ETDEL4P4KPP99HUBWOZDK4PNQLGFBVCGOVK1JBV1GFJO6Q78IIT5BGVO1P8DZX9RCDJOV9FRF7WA5K9MWG996LXAY2CKO74WBSIHBYDFZEGRJQ618Y7O6GEVX90970E6E9XNBI2B2HMSEVE3JM98OBT69QEB40MKHIGVP8AMTKOWQFYHK0FMF2X74I3TSHDCP1IYG552I4UFA6RQVKMNQVP4KZZ3GU0G6IBUVPDPFOWZ7O9G7E1PFKJ9ZSETXJU1K7YO6BA1XDCYAZOF37IJEMG3ZFPZI9I247U0U35RGLHHHX41WSAL5GAU4EWD70GLTUN2O4L6QVQRB2B93RTFQTR2YUBE29T2W08AEOU8R5V3RU69T2XVI87RNV6JFGJDW1N6ZK75D2AVPAAAUV7OHNQE7W9SJH3NHDXRGLREGOUT4G2W88V6OU7NC2CT4HU5UO976ZOLOMYHVQNM60ARJ33HOIW5FWH6K2KDXKD1AX8Y7TJC4M9AWXH91KXR2FGL1T2FQCBGBM3VECZ6M6EVM2FANNPCFNXBBOHQLDWPPH534LVGBWJAYQOQSXND0VJ8P8NOSP2D8WZHY5PNCSAW8D0Z6AVDIXV2SV8G7Y58TJ3UF2CL1WTSRGY9SPGF7LGZAWU2LJMB2JFGA86XTJI07AWJPWLZ0IZX5I3Q4HKORDQ291WJPP2Q0J5Y8K0NQ1HR8HIHD2LA8PPZX8D240Z5LXMNMXFN23E4DRNKRLFHNCUURGIJSACTE8C6O div -36#O2B5EG48KV25DGJQV3UM616BX9E1FK6Y3IAOUVAOXB68QQ2UEW5JPWAOEDT5991UZ61RNT8ROHOI4T5U9UUCX4ZL6M5BMJJ1MZYW7L24KJNDPQNVL7DRBLGE9NORU0IHJP3HU6OSPFWPU7WF4K7431ZDCEV5DF6TSLRRAS4XR6WX96MZJ2A1ZDBXQJNZ614OGWPKPM7K7EUBZDVP0Q3QSTLT0791IZUDD573N5O8QBCCY71UD2RL3KYPMCV0TXWTG360KNL77SZXBC1P0EUAMK7TXLS8HKRKN941FO4BVMIYFLXA2N4EM027T076HZHNHAFE212U8BP8WVY7JO68KN0360TQXCSD3AD37GJ9YXZUMKZWTTK7VYL8WRADLQDLTC36A8S2TQT8GBZOXDQLKTQVLVCX4WRIFD3. +36#5BPF50XW1N6Y1XV4CCU76CO45X2VY1OXUZCHZ9XGMV2VHV652QE4IUR2BQI3J8FVFP1XJ6KHZC11M4VTXIRUUIWF6KO9HDNMZC8B4F6KXAECUZODVLV7CEM = 36#12M8C93XP9IIMAR02JMEP3EWNA78VUHH1UJ9Y12KP1XG8FR7BEAFAU8KWDWMJHU1O3MMA50RT8HDXOGIM6JKK8SBX5T053ZSHO8O3WQ42YE9VEPDDHBKBX5Z0KWZ5BGLS77QIG0OP2D9JBXFZ63UVWUC2CTGEENB75NEAG1UTWPMAFZEIDWPGBKSEG1K40MWMSX8XIY1MXDDRR8KH9LLWA4F0BRW6Q0XOHTYXG74BDAUAO0NEN03GRFHDZH27P2XIVG4O7WY3IG7UMEKZ4HDUGM189NPN7OROB2VT0J7D2LEPYINFR7NSAJX0K3LOR9BP89IR3LZHNSWCG div 36#792G5X5OVX0CVJZL2OWOQ5EO9QJ3836WWT37O5LAIELLND1IGXTDOJJAOBIO9TC9VCJFCGW1IJKUPAU26VFEZ0H8PD5NBO8FGD8S2UEVBO63W91O45AT1YHTYLI8LLSSFTFTOPTJ5QNXNYIQIHIYSFQ44YS1MDQ0VBOJAMRYUB0YAJ7QIOAUICP0RDCYVZDA2KA4EF4DGRA3ZJR4GJLX5B4. +-36#2AOKJRAJQOWV38HHRPNULAM8DZ7Y10GJNHI48THSU1J2F3Y7MR70RVIG8HENE2SVS74LJ9262QIFL54ZO6OM7558HZRJN6OQAEJ31273IIOOJUTG3YQOKBBSHE7SSWMER52IZTRLC3AV8PF0P02KZ17UR4HTREYUX9ZAYNT3R0ALIH9SS9K22KWWCMWB82R00Z5Y7OXFKBNSW06K59IW6LW4CU63EORA4TEJ4H0NW7ZF92EGL5MW5WRW98R9G2ZQPZZQLX475STHZRKOF7NE5EDFFDUYJMT4ESL4SO96PJMVSI1SBCLA6R75AEVGPJH6T933OISJ9U0GSJ9T3288AGOY1JJKHN59QO7IRRQDWAP8L6O6IP6NN4IUODVLM0SMD44EX9QSWD00LB5G54MPZR62CLNRSMS5FACWLZ5D7UE8BQKGBI8C6JJ2P0RK4SZ09QSJI95CTV4400H6AT2B5A9LBFDF7AQG8WDWKO71CKS6788YWTDFB45EV7E9OXS1264IKZC3557PN1T74MOT8ADPOAYKSLODQ1M2ZFIGQJKLUQKSMTRSROKWMRVFPJQDXWF6GG7PUFLEIFMW69LMBETV7V1P2AED8MWHSSE983SVJFQ3TKTVP141FVFJOEAPXDJCT4E4H2Q4QE6REG28QF5RFG1EWU9NZN8512IF6LOL07OWRC9DQRMX3JNWC3IJYIRWR09SL5RYZ6KJVUYYWKF4TF1OK91896HZTT1AMEY64O01Z5GAVQ86K7CTVRFJ1UUBWP7B55POM9J01NGX28LJJU34G03T5ARLAK0LNYIIT170Z8I1KARGH2JU7NCZQX5PKJW3RNJYAERA5ADLV = -36#4AXDVV1SPIN97CRHWQMVIZOU216HZJ08LA4KK1PJ12DFTK0U8MRIAYU16EZNOWZUDFU2EXXJXEQXYBKJ29HIWJC64SEUKEUC0O660EGP0RGR80SEPTK3WTPKKDG3AB58J103UQ9YJFLNWPYSSYH3S3I0NTHFZ4PAGBJYGF6DZN6RU6FL05BJ8SVJ09NWWOBHKR8BJ66WDJ1XDLQNDA8OLRST7MGNWKRC1J6T4CS5MRTBGM5J2WKASNJ24CV5WWHVXG7LV44G2D5CVHQ3I0LVZWSSTMJ66MVUZHF5DHK81Q3P5EA7GLQA79DHMP4ZR397QJFQGWUXFL33T5F0DFQIB612BVTUS0Q3KEU08SHDRJJM3FCX22PVSZN244VM8IQRLDE50RF4MOU4PQBDJ1SMR70HUZL5E503YT0OUY2RIH08IT27R2A5KQMTOCTGFLBUAQDOQLY95RUNE9JQW0UOOFNYL8AF3PK0GH4W7F6NOG8KLZSOGYR1RJPA28F1PL91D0UCPCJJD8S3MHCZBAY5X7TYAKAUQOK4KLWR9UWO58QZGAV6SQCFJEP53KDFC2XLLL70N583Z0TS2B7689AT5K1Z54LRLLRHDOTJOH4OPW3VOSTQ5L2CJBXPISXCV7WD2RU0Z94082C1BL7RTPKZ8QK45S2EG0T7AKMS6KF7NWISKXKC5T9T4AFPME0V70CK5IQ0RO0RRPDXFXKVVKXX062WRL5IP5HDSRL5VCQQT1DLHZAV3NNFIB8QK7EX9B6G1ATRS61TQIWEBI1U2W55RWMSXXS5WZP6ZFA5Y7MLH576PSDK7J2HZA3P026MM52WR2TMXCFCAWPWVGKX9VULBYH37YKGOZHQ6P77OCHVRAX8U554R34JXYNKDFHK74G7EO4MNI div 36#1VGE8VSKO224TJ9D9E24DG4OT5LL1D0HI0GS238836FQ0OSA2I. +36#1Z8WII4Z2SVK9AJKUF2BPH7X7PLXZVZ5AYEJM2Q310D2OQ7JSVVKD2XCISD1EZTPJZ9RP7HN1ZSC3LUO99S73R4L3TAQ2T1U929ZDEK6ZK8OOHA8B55O782QFH89ONF9AI6WVEOZQEF9J1NW408U8I4Q2SY6JIV78DYMH8HKQ698RZ2CEM5HZGWRQTC55A2T4WRP5GXFHL845A6ORDNEQTITSG2IYIQQ8DJ6GYHLAQMNRXNRVMKTD07SEKFUJH9GHH3ITJ1CXHM7PI8KUCIRL5DFOPXASQ67UN6AE7OM9PN1DBTAEBYN9HF56H3YTJFHHEO8C87MJVO82RIDDBEBM7PY3IPCFD3SH6K3OX1STHJ3FZGWOJAYYXBWLLA8WUGGNZD6RPZV96SY3L7L9ZL40QBX2JO6EURTQSNCQOUCHUERW5NZEDEPROXL93RKY7S7AGYHGWCK96K1 = 36#1GCD4G80SBDWHAD4Z8LDB1WFW9OS8LTW1WPUJ7SGOASW5GK09Q0SUJIGSZLNWVYFL2ZAI2P1GAVYJGFYV8L840YCTCVHV8CH3D8ATFESE0QSF4BBTOIL43NDSVI2NAKY47EPWFHCFC6102ZDXXB7KSUPJO375JBIGK6AR2O83L2I8VR2E7F8WBBWVZQ8FNOJSB65UA8N9TRTXG2SBDZZE94PYO927Q82516RXBDIWWJOH1KJP79VZTWRNWKSIUCOX0AMACH1CKP3Q63FSYXI5IVA5PCY24X87JQUZK5BVF5R006GHM7VITD2MR6VNVV1DB87B6R58UT7USGGEBK93FD2LDB2IITV282TTY9E0ECPHT0OXXEFW1L4U1MOXFY0W20UTS4R7CRPMFR3Q2O9KUGLCJSXP2KKZR7NCRCS8YJF6B5DRJZKEQCMFJNEMRJN457YPHHROLUIMOTYU17EQIRNUMTVEP861KBFHVVSBUGLKVY97MUJPG59938UY3OZ3QVNIQTTAR4GC0ONR891D5GHC1RN7X2ZMBU8LATITWKTCCLXQUV5XCKY1MWSJC2BWOISTFEQBB3D9IMK9L67NVKR0PEX8MAUWWPHPAN8D34I6UWBB0LJ5TH0WVFIJPLN0NMI9P8VRAJ38H5M1BXB79K2WGHG3ZHIVLERQYORYFXRFGT1GWGABGFSOA2K4RV49CYKABS9Q5KQNT8DH6M8UAKV6NU5TDNQLRC9A6WQ9P7B280BC9HQASRCNHQ6WXXJMIX5IPQB8M869CSUR71HELDPO06ZLJ1VT3Q8WEFLRJ7ZA3XKN7W025FK7VTFWKJDBTO4HI4R8UCYKZ8V8CQ4HCR0N842NTOSBUB89RPFKIIBCUIOUQHX0AIZXVDO21D1JVTN5ZI41MVSWGNKHRT2XIDWBAMLYY16VS42V099OC21YRD49VV36RG13KBG8BXT5CEOZR25ERE046DXVT83LZJCT9ERF3C3KR0O1CCN6I0R73GQJMHGPTCXO251PRH div 36#QG4W5QV8QU0IN8OCY9MOEG4O04FSYL7XIA4FZWWHBH1OCAMO59J0UFRBR5WM6DAR3EERM6BN3QRMJ4KTVW9NQTIZA7RHNUANROI2S4OZJNFF52DLHKR64CA572G2ULFQK7A4EBJHM3TGM8YZFOGUQKF7722TUXSCUCSDX1J717PYJRNSOZC3APCZNW0S0IPRWPLF7GIAHBGBZUSDFI4IAE93OJ526W1C4ZUDUTX4RXXXXVJX3W1LF7W99GEILSNSBXFFPAZP50CWP5XKHWRHJW955T0ZRF81JKNFRRE14GJ1FU283HG1P837YAZ6CLPWFRLTAXDXXTRYBZT58OKC1E303WCX7AVDHQ8UKXG45GZDNPP7UTFB2RWNJWTVK7MOL42VVN5M30DOJDRZHXQA4G1P56DT1JM1WWCU7WTF384QPMSDQVN00LVMW0S8RCKBMAO6JFA8Q3LUWIQGS9JDHPACALDP0MKT1BGXWEM3C6E2CXQLVE3DSMU0RMOG6AJ49DBW7SGWRJRXOEO2V7GAXAVYJ94NPVIVLKUCNEANI6FN04LPIBH. +-36#1L872R9FWK99UE9B80GKCV8PKSBOU60ER3U7S9U1KV828MG38W0N1DLBU2UR02RQ1PVAQX1R6MWTSDEJVDXXM0NGSWJSRE7OPKVSGVL1BW8MQSS3SRFNWX48CACEMKKS2FKW03SPM15ZZ1RS1L3X21E6SHM0KND4TAQEBL22M22TCH6DFBVICW408AUAO8QYC16QSPZSK39M0TF0LMPN233QNENG5XZWF93YABK9M98B6DDL7546CZ64BORX2TK51XU5YZXM8D1EOMU13S3S7RBR2YVBE5E6F7OJ4SI44OBDBG7N9K0LGAZ8GCBY7554KFZJOEAN72N1IXD71MTUA03XP10OTPI0P3YSQX4SVYJ89BOQ8VW4O8BQGVAUGGMVICSXAC6J9ZN9BM2W1WSI8ANN7FCCQGA1LKJJ8JJGH9LC489VHOIOIOUE4PD800MJKESAWVMS6RSW7ACW8AJ0ZVAWIZTCJ89EBVWLZJ5T25CIFHM4WZQ4AEKX3QEEDSY935W6GSWF8RULLLCODFOBWKFCPRO43WKU69PK682IDELZIG62YJZJ3C4BMIGSWVBMW48J9V086U5G46Q66E4G6KTO9BUA7C7UMFKV14ZFOONZNIPFMAGB79C9REQFO27RWXWGUMEA3UYVAC1MBFS5X49RB6KPORR9ONYNQFUU5EKO7D4Z62D9CWM10C3RF8GS0AXK1T0CAO7PYCH3767Z90C00KFPDBMGXT1FQQ0VBW0O912DXWAK2N1B5148UCBQR6KA1LK3695BPF379A6OP4V9KA95KDJE5QWNIANL0XK75K = -36#KEU80PPAANLYXCJTWLQC0PHQUUG8R8ZYZUQLNQ95ODLK18DKXFC9YS8AJ2P9WQE6UY0UX2MU4B3BWLQUSS1X8XCEF0VMBW8QXN0PG81BHH8JPU1O0HWT27IX1HBZBLXPPP7TT79AWPEO8CAT8RXJLKF13O98AZECYTOA74H0L3CY7BCSA95UOZXPQEQ1B0APVIEC4GK39XH6XV3RM5255M3S4513R543GN3QGASBNXSWXUC4W8D3RCI3U6MTYAUIH2W07KON7ILF15HGE5XB9TDJU5L1XVJT3JN5VXBHPY8R005T0DRGYVDJ7AC3JQUV138CI4ILJOMOXY535PNAE937RRYXCH3WM3F6IVCX32AFPD3XVWD6U7V5918IXJH36EYWO16SF2H06W5G2E7Y4EBDPX64MDM2TTRMX2H0HGWQC8YIH91CWVL0Q8XRH7216ZZAUR8ZZLBG02UUKOVT4EGFRECASG9V3L3GSK8ZOJC791D3FDAQAADWK6AYBDIWVZ2NYZBHCJEZBMBA06CWN53AVED8NHWQTVYH9YRAABG5UHKB7PAZWL51T2DBJWXXZIR9I2WUHY2KELHXWX84MR8J96YPK1F5FOF93S38UCLOUSXFSWY7LL2HDV50CAB1SGOGHZ7NNPSMS989BKRCAOA0FRNS0BWUI47RVKG4NIPBZOPQN4YN6HTZ5QPU9CMW0F53HP8Y71M90PHQ6ESMYXGSEB5MX6WDJ9PUUDOKNAZ70I6GMKTRBBZGQHS8 * 36#2SXGSJBFZJNIVMKDHA417SQKYEN20V74X5TPF7NTVPSL1BZ6C7. +36#1DYWMO2101CLLIH2MMEQT07XQJZ28FDV25HS77O77S0MEUKYURB3ORZGHD4H6AX2SZ861E4UXNZABJGJX0PVPPDHO2AY8IWWZS10JA8N7SW3MMJ8JAN1BM61MP74Y1Q1J7LV80HP5557QWZZO85VUTFAE5YS05U844SMYSPASZX7R4QJULOGZI7A5ULNSTC48AR7HRPCD74M19HAHW1R0HSB7K52OYPKNVQ8M2WWC6D0LHA2WYN3QFJUSIG22J6MWRNW7KTTNPME9SLZY6EHZDG0P8IXG11F4QI3WHQVWLQGOANPZHNQRJAJ3082OIJLDGGLEIN89VB60NG3P258372KE07A8G14YDI0O4RQP8N8QEEGDX385C3J8WTA2MU7WG1G4GKEFEH13ALE1OVRG5XLV7PO78RIYUUUDUE3X840S02O1I2EQ85SB2YEWBOW01K70JBF7V6YOOW5SJW7A6NE08L59UVHN55TR1FWFA8FQIPSF4TDZAYS273XKI1CMET2W6F5VPG2XEC9F7IUZM4MB50WNWSSP2FNBFGNFUNQG7IYVLK2Y6EOAS1V59PBQRAQLCIAP8E37KBV3SX09S0SAEBLNDLKHICR5YAYJM5FPCX3Q9L81QRS0ARZL7VORIJSZZ3C2DHCCT42BJSEZ6HBF6UXG3JQDC5DRTF3HB2HNO5CGUKL50ETRNZ9ZSW46F11TWPCU4I1UOHF4MA6J1C5DOUU0A7Y1D5K8B1N2D3PXX3QQIOH4XK8YDJQG7M0IPAO50MWWG8WXINJL315556PDICLQLYMV3P29WM45RLUWS99B1RCQ3A9NF7AL57FRC49S3LYNFVWHR64PNNLLNFGKBCKM3UIE8R74CSR2W63LYIFVF5T9AVBJGGIQ0DPXDTNY91AL9AP7KL3O4PBD78DKLGOV32NW2XZG9RTIG0LYGXDZ221ROXDJJDFZDMWSJWIFAYYC3K946L21BLAS91OWHNR0NUHG46UE3HEBLA98U6AOD1KGWRS7AP3Q0RIQ83SS0513G = 36#49D8HYE2V3CDU1FZOSH25O78MEUUG5M988H5I8QHLFMLHLKJ4G9DZFVZWEEBAO9V0EYJ8IZ9J4PL2IBUYGAN2GVTOLNOIBI9ESOUR8IYPB9K2FUUUK6Q6TNR0UF2GNNP3S7O9CL7ZIYO3P8OCWSRUOW4Q457IR92D4SGA56CWDI784AJRU3JZCDVPBBLULJAZTPMU0XN8K7D8NGSUMXTE8SJ3I57XYZW01P91VA6RPRWPJSJHSMA2LIBW5VX0SCEUZNMY6G1NZWB98TTZ6ROTPDQ0SGPYZ5MB12UHGN2IJZC6FLSZN0NZRKSD9GU5FSGOBYLAM408ZC4FNKQ14CZ6SFNDNFZ9VZ39DLP4WIJW7D12MW9JGRIONSCRT3BQHA8QTD7AMGLS7D04G6ZTZQWDT48DUJHX2GKU5H0P684S7CQDPJYWLQFLPT6ISUWO0ZPNBRBPGVC2X54IPNT8OT00PSFIG403CZGE1UFKUWV4F1KRHTB8QNZTA7MBE5Y0UUM6NSQP52SHAT94RPQIEYMUQNVAAQ65HN7MKF8Q93QDPKO6Y2WQ2TG821KAYWHV79S2I3SI8DO13EITT4U2O3HYOKZBMUIUWWYOE7KB0IWP78BPPOHQQUKPCJQLRXGLOKI0BT0G5S84N8UHQJM9T8IM9TM8L805F9VYRS3CG2YK2EV56XT246NGJG0UF8AVFFFQCTUJACGTT5267MZS6MO89T0J5D4YB99XXLQMMMZS3LBL44WJQ6O8RN9F8RTE069KOXFWRM8BZC2JBHHWW7LQPXQAVFYXJHO8T9DRIT5YGYE37WJ5K1EGKD69QWHX6768UXHNCNZDFOYLG7UMJO8U0MWVG41C28J5PZ8J4G3N7TX9MNFJG0UJ266TBCWLCURB06ASGNNTVXNYED4V4AYVMDW6CQ9N7P7V6QASW7C1ELGZ5WCP467GGKJW9RG03FQGBKUUSX6VF3BFK6IQ94VCWRF6690ID4C0PTKVZ2RCT18R11ZN8630Q9ZQ1NIYJUZQDCK3TG4EUGVYJXZNZUBW1QGS2HBE1L9TTREX3NQ844YMCEUHQ9O0RJAZWG div 36#32HPFVOL4MZWMSGV712303QLCKZT9Y6EB1RSD4G6RVPH97F65S. +36#SGC4ASRZFFUB7HEP3J0000WDVKJFGZLFPZOSMZ068BVATVEXD6T60BNTNWNIEOUFC49R9S77GBGZSE5L0QYEIUP17CVUP8B6BO7095C5VPL9D7YA1YU2HYJ73QP1ZUSBVV7SQY7829XQGMSZY8VMSXF5ZVRRJRBXF5H8ZWI9G29WL0OEI7FYPA1F74Y5KQ6VBVI42TKDO0BJTA35HSG77305225XG17P308N1XL7LIIHAK8XETM5K9KJEXMQJACTTN952JKX6Q71YS22QWUAHSMU1IDPQ439CXXCUXVC7BN7SKD7CJ6STK8U0UOFYPQORSTLI7HTMZTV65IREJZEVLZXWNPP1A5S4GGXVRCH8YPQ80Y6YP4KRSMFMSUQWTVMH8ITJK9B90V41D4K4LNNO9E4H0WMFHVD13VU1UAQZDCDCAXXSADDJZIYJCHM7TXXNL2736W0UHIOU2QKE57LNH2DZ = -36#1T0PQY5CQBTQ7DTN6O3OKGSJTX7W7S900E2E562L5R02KV6UCN * (-36#FR5GF7G3KAGBM6JQ4HXSID8AM0ABS5NQ8L1M8UU061DCIBCBZFQGNT9A87FSIADC73Z9WKSI5LR6LRJB2952TF6FFBEHTXVXI26W3MX71E16MVZ35XPP3PBJ9S610GPCOWNJZIJLRGP5ZNOIH1XHPUDMTR9MUA8MKE8ZEPWQ8R0HV7XS92H1BUVNI8W8BRW93T5SLWC9HSM5VHQNFD2HPDTC1XNX14G31MMHQRFWR5OITV1BRQKLDVPT0KKURV8RHUTIQ8W57MO33NZ8ZD7TGN71F15KCDV0TCOTTN1C1VD6S9EFJ4KV20JHSVSYMYMBZOLHJ3NW7ARQJ15S8MBPMCIKBTANWX59Y553JFJH3R6HB1WFJW9DVMT1O9YFCE13YC24RV0XQPG4JVMAS9G05NOCVDBX8K9VXBUQ6HQP). +-36#F15YC3PZYQ3QP2I7N7BE9LQSS9EVAMU3CGTTR041MLHOVXU7MMRHR3XGBFOESR964F54SWJQ3XV67XSJP09WGGQ7ZT1CYTFDC1EQO9ZTJXCR2V38VS1AS8BHIW1OX2NKIG2Y5CJ6QH96A2CU07CR7JLZ0AS2MLMQEW9VAS8IJFXOW5QIK821L0QFBJQDXK978ZXTF70NXQRN1O85KM0ASU52XTJGS1WNN5B82XSIBXDIW1TMHNTGB8NKXP22LSW3ZSF1RKYBB0N2JO5ZA6VPQP782KKR0ZI1PZWVBZ0NXBBEUC58XT0LJFHBTPHDN79BJYHGI109PFT4YRRPWOFJ4TIVHVC1ZQJB4FF0YWY10NPRGJOUZ0WIC7TDM8C8ZE76RNOR6E2Q44RLSZCRC12L5AXVM7P6BC1L10RQU19YK4D0CBDQOW5WL9YTNZZF2G25TNVHOUV980T4DHFB3ER469NCFD9SM2648K2LNUGAVOD0GBIUCUAGGYNEYYOD3VNMZMBA1XORNR20OICZLJUG40BQSHYA4C4Z8M8Z01LDOAXDJC4RH5GQG7QQE4BEQ9LVE0QXJBF6M51643Y56CKHIH2PXBAH0QBIQQ87OBLLUVK71603HY6QBIXZREF9UXBZ01F8QBNXYRT3NPYL7TJJJOL0JGJTD7TDB0H491DFOTZH1AVR83Q6AMNDPGV7T3C8SDV0WE8ARA5Q982HHWAXRVT0T2JEYUX2NLW9J9LJ00SUH565IGUZ608ZM8AWOS8CVTN4G8UZXMG5KJDIROLK6VD8TVRFF8RCT7WVL8FONYK5VH7WD7DFUVODCM9RS5CVSP1K5TJ1ILJ4VYBW61NMFBHZ5GR7EALRAJEQUZKW0DVPB3JO8MY624RBFMHY5GHXQUC2TQFKKAYQAQ8ZHXD4YNYCG2696QXVFCMALOOERPXENS38K1Y7IFK7R58KCOZC5DOF21FGOCZUID3PDY4F0RAOAPH2705BH93KF7CJYWFIBM278KA9X8RZJ6ZKW8A8ZJN2KQP5IT3WV31KZM1HD34RC8KIIIQYGJTHB24P9F7TLF48V1ZGXVWQHRE75KHV5JWDUXW3MNSXWH44XBR48KAMGVCFKXUJOQS158XBB44MNKX6TXGLG1KICD1XRCT7RUGTFYAP1YPFB9N3NZ13ZBX5V42O56LTN0YU3CLBZJANO5320VIEY75OM7PZJLU63DEHP069UJMP0Q4SHEBOE13BQC8KGUHSMASTBA6IZROKPG0MCFFOWB3IXXA15FXXYRPXA030T2QA6KJF12UO3P6DKOXUVVEJ13YR9LCT9MUHKWQI2MOV3CUO1G7RF75UJQVR8I8JC6UNS3H = 36#QSFU7R3CFQTNMOF0ZVTCJ1O17PH0MFFHHGXC6T8KPEK7YAEW70FTS77987DOD7P1HGBC32KAYD35KW3AUUKWSSVMDEOCCQ2DO3Q41IEIFZAHCYEIDTRQPIRBSUR9WTVZDBU38HQXA6T08MOKR21YB7ITUHNQR17WSCJ5YNAYURPL1WGQTO1IX2LWCDRE4J2J67LIJVD7ANSCU5JT061VW4MQ0PO7YGXBKOFCT9N5K0C2GDEAYMLGJQ8KA08GC8NRQAVYR1XEP0G2XF5HPYQ5IMH90Z1BAZ21VA16AAH72D3BR7V5ADPH3Q4MP5TKBE32XPMXGFVPPFNWNWVJ7XYH0L4FVVAGR5UC53FRLAAJ4Z44ITZX1WK1D6O5P29AS7J20Q9ZFCTY3ZX5PLSCQUUM8IORFLRDGAHQVRAJUMKBTJQ0A66XKV2ZIHHNY9UHKDVPR0ITUVK9L3S2VXXRGNT1QXQHVOWQEYU2RCMY120CMNSLE20EYDQYRKTOSL8MZNVJ7VDYOJQ5XWYE8Y7YZRJIE7THQB4MEX8HS6MI4FJC1YBU34T02H0QF1ET05DSXL34P0D9C6DZ6ELL0771UYFDU06GO90TPG8AGX0QKFCUGUO44WS1JFZ0P20U5GJWS81EQUJDYIZNEFSZM77AUMZMMTNW5QEHLNBNN5Q86Z1UJ5E6UWQAINID92E1AK0EXLEIBKVCF57NDCFNMJLQQ361AES2FS7HOQ5TZ * (-36#K77K2QR3771UXOBZIO37LKBJXFX2QKOLTA4A5FQ7PMF9TYEK6YTSVK4KYZ3UYZYSPJ7VIDMD80N58KN7N6OP58J2I4JNPIE1VYSDJIIPF8JG1HII42JAXBS21SSGNUIPF0J71VHA179PE0I4BU15LIZEBGB0G9AGCVGJYFV7RG2P63YV9G7OQ0BZBRIZ2SR4M9MWTOMMB0J71TTGPS6W2F7U4NZHAMF3VRU7IDWMTQX2961WWVOE1I9THG8KNXXQTEKUWH857GF2F40Y5LSWR0V67PK1Z3R2N4HVKS0UIE2XROD0KJRSP55FQS7V43G9RU7V0JW4NK0CWBJ6SEI2DY1JYA28JJREQRD6YO468DZK3Z719HRFHWDBSIM1N3IUOWEMA4SYBO3Q2AURGQC6XAVTNRN1PYOLI8QM3E2414QGY92JEF0B4S204CRIJMF63LUT0X475J1HYLY3J36M6J7G3UCSYJFFT40KO5UFG19CSQ6X04X5PKXU7JWEE7NOKA7Q612UEV3GO26T3SSJN133UZSIBUCLGRJSYFIG6VMAR9788JYXUY595DE5GMRKEAJO4MOYGHLHCI7VS44RDGQ0DF0HAKUFHZ1I09733LOYQJ). +-36#8ZOL4WRB2JU0JICVAQ33R7A09SS8JOOYNV4M9XHQXL4G2S5P2 = -36#Q0K0UY8Q6G4NBNRJL53NSK1684884TWVASIHKZZ9851ACNV8SNIYGG1MU5GYSXBPIEUOCUOD62S88YF8MSDKUOHDS2KK3HEZW0B4S6I52XHBFAZ71VFPYIOUY4SP039L54JSVCDEJ5H50F2PG5686UC3YU6QRMR9MLY541U0846FYZGCAK4ZBPUNH7ZRN9KVXYENIVGM16074WBSH4RKJKO625Z7SNQH6VDNUOEMJDFJJFAFD2NR87P2AI18TSJYXPWVZCXCTSWF2Q28UEQNSMZHD5XZJQZUAXQEABKHAHEVFB00LCS48TLL8BYYMTWS8JNVWTSGLTBANSEF48D3LHMQ9GGBTQH72KCQSDJG0QHDBCV10WT3G3GQ60LEQTX8L1M1TLW6A9WICM6JL46PHWXLUI1WKUH6KIIJK4WYI0E9DFXOFXCRTYSRLIEN7UGZNE9F1QBWYYS91MP53M3097O1FXVVJJIR4XYXRFUQEVT6WCU8RUG9QB0C9PKAYMYPV1CS94O7ZQIMXOBBIMYK56X16UNWU1VP3A340761OH59BWV4XZRXDDFTBF8K28XBCB3R6RYKNJX8IEJO9EJIIS1EAEJVM4XD1YVDN5S2AF98POOBIQODJ9Y56EPFQI4FQJ381S304EKOB52KETKWHUOF876KCIC9C6ALMILV73LN78PO4Q3C7CL4EAJU58NC2SB96X9QG18MNNOM div 36#2W5W6O507UO7PVKOZR1UTOLLZDXXU3TCUCX04Y3SG5MXV0FWN67KBOH0JD0Q4M9J6BBRE4RJF15GR50GZCOWLMM9S9TW2C7H298UZ5UJYDYF83WDTQN2ZJ2GUTA25Z4U0NHF33BLEVJGHGVXCBR14T4DRE5WOG84QLK2XSR4X7KT046CSN2EUMQJ2A341U59P58O5EQCM3CDCD9XJ9K7PZ7LYH20HN488S53LLNWN3ZYHZG4BIK75EPS7JWM4O0SS808E5S7CWW01DDH5SZAHBI6T1W5CUMNAUUUK8DWQXIZPLQZAZK4GP3HP3XR8W2DJ5NDBP76O27JUTIQ6MLBG8RL8XSL34QWA35YH86BU380YS3EEB57H3FHP3WDM56A1ECKJ85B3OSIV53NE202HQ8A1T51NDDUSFLOMK8FOYRINXEAHY0ZB54SHUXGVVXMJ2T4PW9OEJINOC7RSUHP442RDKW6WQ8A39E0MIK3EHNPDK4FT4ILZZXE0OM96Y6XZIEB9RHKXRIP9452J53AW0WIARZEVGNKX3B6JWMIGRZYOEQJ6ZCYM8FGIEBBIL0FXA2T05N1GRVV1XLBD7V9UYF1JY07VY7B322KMG1DEUB3T136FP2XDT61P0ARNUQ4476TY83F3LNPIJ6VLCJF5AKV55D3M5RT. +-36#4OQPT3H1YCOQSB0VI13LNJPO2URM2H8B2JIYPGB9UQZ6GGIFPDXTENC7D26Y77WOCVSQSBNRGLFHJBOWZWVEW0F2QLGUPJJUSP2CTSOASJHTCWGCDC1YDQAC6O7ZVAM8ZQ24E41DIG6UHZK362EDIZIIN9QJQ2SIABMJ79NHKM1F9BAPG6TQR1IT8VG753AFJ4ML526HWZY1H6FSG7GIKJJPHPXL9LOW68F988GWCCRCXBNFPKOZSQRZ4ORLYJDI1HGCGVHMX95KIW51EB9DJS13YEMCD4MD1R620IY32IBGS12UB6FYQJBUKE4ODMQ2HBVBTE07K2XZAJS08G4O0VQ1LF3AJDM335K73MNEO3RNGTVGIZQUONL4NMAIYTNVHMC7UTX1F3F5FH5WC5DWZMIY0K92MVXGAWH75N15GNDC6RXZBXM8KIPB8069A07ZDWKYQJ1UQ34EYMGM2U9ZWSRK5S8I7WTFFH2XNKKD6JDLZCYZQI4JQZ7QL04U4IG8V49CVE188EX8W9OFQRVM0H48 = -36#1NTR4M7KNU2JQSV190FFDUE3EIDQQIOUBFL41JBWGKCY29W6J8 * 36#2TJEFSQZELNS2QEBZT4VJ2EXUDSCARH24SB671THK0Y72FX772FEKFGH4QN7BEC4L8F3672NTB3PQR6ZCP6SGX08MLFLKUCD0CS1KNFVICCRDFP2UNR7HWSD40ML4VNK72PON7SMLOGJBKH2SZ1232P13W0QCWKMMWE964XU1D2G1YROBXKBVCVGF1CDC2B9XO76J1SQ1E3GRBUQXSMA2CP7AX7A9EKNP9UR6FNL6COA9R205TMZJG4BPEPUUKHVKVZI1GPLT5RE0I36SG9F3Q5JOW04Q45282H70EH0797MU7B1G8R5E1EASEMF0WZRUSD5BX8IQSFK40O9OZNCF8PC9F01EAWGRN3NDD1YNR9LJM7IKECU5JON53OYO4US4FYVXBAZAMK64MOOF0TFOZ5L5GXOEEKVRKT6VKGW0EGHOK02E64H3SB38O3VN7OPSNPHFX1TOIV7W1DF9HQ054E6QOZNGRO6S333ZQA. +-36#36B08OCIJ5M7CPXW6UM4QQ1QW8YDOV5LNEPME8P3YUKX2BIBTR = -36#8BPVS20GI4W80RBDQNKYEL68QW78QPF8BHAHPV07RDRWCERY60JBR7PUFRUOTV5F22RXTWGBHURFBGN4UM2XBAGXGMM24KD90H0 div 36#2ME7TZ08A2M8UF8JESGD0VK49R95RSFM9G1TJOE5R8KPF46HNG. +36#2KO0BWJC2KTTCY90Z4GRBWG5DOTPYYUCVQNJ4TCFBW1BDG9NZ3AP1NA7PNDVQGWQGV3GYTPASD7MJ6Y5WNIARW4ICFC34H0QC8Y0CU1ZM0WWBGC7ZO5EMS9O2DXCRMV8M8GB59W0YCF5DDVYKMIZ3WSEPYDP5OO6AKZS6FNX3TLX9STGQXU3VZ0SB935V2E9W8CHI2RY1NP1ROH7PGEQA22OG5MN2YHLF4FT7XIIS2BW3VZGHRBL9ZZ8QFX0UX6CPT828YJWFN7RKZNUS6MABKUSEGU5KZ9M7B0C6DV7AMJCGATI9TJTGYXSP2B0RY8VS7WW52YDL7T5BS8TG1K7FILVSBGX5IFPLU9JBSTCC2QK6QV8ME5S8JJFQCKRC8YYLP9A6SX61CMW7FQODXBR92VV7WCCUYZVGJVCM3IMPDHVQVWZGB5Z1KXD45NVKNXRE5W5JZN7UIVQQ97AVFDYY278I2CATF64DMOL1VRBIG3JPQ06QPM1FCY4KSIVQMD808WPQFTMH303OCUO5PP50CN3V7O4CXCXB4MC = -36#30J7KLDGQ5G7XM688U9K46P5S7J24Z5RQMQR7W3OFTZP7NYAXG * (-36#UQJABS50XKSRLXT54N9QLM6ZNS45NWMPZBDQUTZRZTOW3X8LKLI5W3E0F0AN6JWQ5SZ5QV991N8C8912AN0AKB2BKVNASK5F5LQN3D965TSPVRMDWZSI2YUTOSC2RM4D23G0WCMJG6GQ9WI53EKQZJTFUR51M57IKKJIMWS0T6OGHBWR9GV9OUUBKFVI3I1KODZYWXTE6W6WIL61QCKI63J4NMC21J52ZXUXBTOVETWA6EYI5OLHKDXTRJQMWG3XGUU0T67VMEH3SOJG1QTQP8H100BX4N1MRNBAQ7S2PI98RWO60TROXVHUHGHVVAXNXOT4Z3QYV2A0PBMYELKMRNPQ7LNG3MYQNEWR9LWF5ZLVDYVY7TOWI8XKEKWYWWGGBGAGCE46T1CNPB19FDDNG3LR08W8461YSASLG4KGBKDAZXAH96SB0ZH4EDQ9EINC6JNR9GQ7J8ZW2B6O9NDKLHDUPZICKNXOUEN6S9VU1KZ4V0NBGL). +-36#273UEYJH8Q1EY57Q27W3XUA9TY3QTXSEBFLPGHYYMPSD9YRINRQD7Z0UZUD6IDHAU1H08WNKHXE72OOJGMLOCKV8F92RO476CR3KI7220L2G5F3ANR9WEQ9NQEZFBP5VGR0ZRXLWB9HYSM2N74TSIXN35WGIX7CJVDHJEBHOKBMPRIVLJBN84IB628C8YBN3HFG1GLYRTIW3C91J91GLJV76VEU71HKQGQ4T36U3QBQU8UD30XCWXPQ7P12JO37C7X0K9809X19GPI3CAYDJMP66ITK63SW6S0MLG8M92A71MR5MENKKP4HIF2GHRRS075HEJU6HKXOV3TRETS279REW7GO4UOM1TETTE1716YVKAYKVCGWBC51LSV4F2SV2G1I1EVD3 = 36#1JOPU24ZVF04OJIOUPOIGK5Y5OL0FPQJRBF4LLUG2N4VD26VLVDRR3S69AONSLA3SIRHARAJ84CFA993H1YCGFCNKZ6N6O6106LK3CC740TKK9EB8BDYBAX7AZAQ5V90J62KQX2YFF4BRX7AY4CKK2TMGUDBYRS9AVPBILDR16EBS04D6IP8HUD8YRXJ69Q79MPJ2QDKSCTQC2NIXY0FJZ92R2WL23M2KUJ2595QXCX3BY13IY5Q6TN7VAYCZASS3M816D0FJ4LWFTXO9ENW4WDUVMAF5CGCZHXFNJ9D1YHTQY4K5C3GWDYR52OS6NRU0BDV6EGTT478IUVRIJJAGQDPYG2QW5HIEKER3TO5SCER7UG3DXWDEH0ZMYOE6BG9Z9ZVLIV4LXTAWYYP1UBNGZC27YR7EVHHPELEZXJCSS8K4JM8VKUMR0IXS8BX3VMIWCASZ5LRR8G1DJS0OZCX6H8HUSHNZAUP8RMSIXLNV7590V17IHDU div -36#PCB49AXWTCJRNNRG6W7UXBRK7CO4NUN8K9YXFUYNRSR4DUO6MXGQX76C7UCPCKR7QYVSXQZ8MRNNLSVXYKLP1ZV5X7REHF28LLR48ST50I9A. +-36#2GZZNZLI6AUZRRABGDSG09MLGNH3QK057OVTGXTET6R0IJ6HWK = -36#1AGB0NE998DVGPGGGHDJTHSE3ILJSOLOBVC689J6I5KEDEHVAN86C232NGTI8IJE5YDDEZCWXEGKYREKJ15JIAEZEH34SKVF30FBU5GSVYLX0XH7D73H48P1L1E13VPRXTW3YL728Y49OMDU88AEFVYAKO15L00OPX44VRU0N5CAB18VGV3YKPPGT1DHJQ21I365KMBOX28HD7DSUBBWDJBJGMH7LBDOFBN9K5CQS523HB1LB6TJOD49YJI8YMKBXCYNLMITR4BCBZBKQURTW29J6AK5Z5I3XXI6TIFBG5SFSUJZ79P0S5STCU43GGUKHBZ3V8RTTDABPX6Y4FVYEK2UNHTBDHL3FRQDCGDO2N8W07Z8P52NG8W8LHZF8LG6DSVZX6ARYM72JVDAM0BFEO5UY23GYN4PGNBMLE4EU3U2ODSZZNO8ZEATEOSROIEL0ZU8HT91QPPX84X3JUDEGNWZYYFLGYJDAR4AKRAW8DS6C04AW71NHJ90V1ET33SYRXAKQ1IQT7NJ3BPQMTXHTMLC40ZFXPTL3IUTMMRACJ41SSJWX82079P2D34W8LAXNZI8BU9Q0OFY5PE7ZCNIHOS div 36#ISFUPINEHTMEXXOZY7GY24GRXDHN193325CUZGJ7AX2OFL7CKN9SXU05ZMJFU8M3PE0TLHQ297OYHWDURKQBAM6OIZM6U5A7V0H56ONJQW8RCCIZ5IB16QMWPP6VC6GRIVIDBRDK03NTCAXVMLT3RDGB8PNVYG9PLYL172Y5G85NZHPZ37IM68DARABK7GZWIX85345BHYEHDRZ05TIWKQFI3NIW8ES9XWG77BP0YQ0J8HKU6VLXJUKX6NCZHZK2428U538TXNAN6S0ILDKN14A75LI1MZS54X886RFRHTEPU9HR6WTLYCCFSWHKLFP71FYMCO6UQ0UUTMBJ4LNH2KRIWB3QOM4AIRKVK60YW3J3D2S3WXTMI309YN3LVI8MUWAHZ6447DOFI68U2PV5O414HKDLWW717NOMK7ULRY99RG3EZMMZVWAYAN6Q9DVOBNT2RK38L7R5NX6Z3CRB458GZKA4XGFFD3MSILWKR8FMSNF8UJYA70820QI81K0VR18CT4T5AHO3135LJ0ZKXXVK6JH4B65BKSHPN. +36#1XU7A067XUPPUS9P5HCVPQ8JI3AG86IWX8OB92ADB3YKEOQD5U = 36#R2VZWR9ZAZFCQR9WUF2X4VORXIGWX8E8VHQNBHSVQ8X4XMMQFNGTJ5K2M4617QVXGD60M75KREHRWH3PQ07CAARJBZQ5H9RK13I5IKI2SO8VJMKNPZY6WC3O4AVO4RJTKPXZWSD6E0F3ATFUDVHLN0HBUFMJSF2J7FMQKAWJRC2VHF94P4CWILCTTWQVZGGQ2505HNYAOAJEB8QDJ7LQAGI7PVV59LLWJRD443DT0V9Y225PC9IB86RQS24STKRBXDTIP1905ZD0C2DSNHSBUIIVQ6 div 36#DYIZQEXQ29P8N9SR7W6OK12VENEIUBTEPIJQBWZBCJGQQLFCCIDZEDX0KC2U8R1IHF984MGE5TD0H6T28CN7ZMLU1NXZUL0RVV5P1H9OG57OBW4A79CRM13J8ZJ7QJDEX7IEBZK1G6RBVBGKO2OKQG65G9IR7RTHLWSHFH19Y0XUD9SP5EBHQ5EBNENBLPJSDYEEX8M3YLIM2PKRUPTIK3F2BOOKE2JNKXV7SO36N. +-36#8Q959XQ8BY03JZUHRCV5O43HH1XWUTB08DS2U8E7E7EYDMU6ERXI7UOL8Y016SOBZTZTSWRJG6TBMSALA66N0VEKSA0S6X95U0RQ4ZQOREGEZG228LOPUD2W0A03720MCOY6ZODXMC88THNGX8MG86JV5GSNXMSIZGHEKZ6TSC6OM8J17M001T2MYJIQD2ISOVDYTH5J673JVRZ10RESE9AQG1R5EI3M4OYVCNKTMF179LFPUUX4SGUOHP7X0Y16QEGQ9UY3N7PXI65MGDI4UZMKC0Y5D8D3RY428PYLGRKEF2KQW4RL7NJB0KL5OZWPC9II7LQR6WO9CVLI774Z74NDA5N28PZB0WM3BT6SL53M8JK085FB7V4EYWCVVMHTYA4JG1OP2T8C3D2S4NO5FEW6M5IJOW2PM3OWFKDMUQZ9Z14AQBON87OMNRSFVQK20ZCZE6H04V53BW8J3UK8FWO83BM0K1PG2R31EA72B018ESW0LQ720LSX8N9MHR4RSRWTQJ9XAM78TECXZ2SWGRUQ64NOKL1VCGN46MWK6YEBYCZJVDXUGVLFEG29QUHGEU5EQJNIMTZXERYNA4E13934UA74UZMJ7BDG4E2HT7G84QT3D = -36#7DBRTTYJ400TO3CTC50U0SZ9K88OR9B3IV2YJ7Q5REEJ34TVS0QH6H5D3Y5M748M12VRMBP7QTIMMYJLG028J4F7T4HOG3E5MIFWJR7EL0ZLF4SXHJOXRD3KANWVSA5G8AGYU2A54PS9F797J52M1IWLSF2V4UQ2S93O3M7SCOYOHP1SA4CJEFOQDJND9BGJ0XFB3ONYJYTF7LILWWVZ01374XZKE2B3TCKPFG40TCG7PKCVZRCT3FYU89M9P3RQZOBSV9FP1OESGE7MTIUHU840CP4YCYNBR3JU1EG3PINAD20ROHYAVNSDUY8L3Q30FH970L0VI7KJZEX6VCSX17TQC5QPEWXRBFZPNHG2NX882JJFCHMIH7EI3YNO88ZL5TMUEMWYRHELMM0UQDIVTQ5K5XDDYIYELXETMQKYZY27OUKIJ8RH3Z04QBNUMENJ3S8NOQAF13GCRACKZQG65FX4GQ2YA7OW281EDNZ4SIYZLPU2DWB82N2JQEDMUU5DMI4FT6P75OR7MPZ4YEY0LGE24G4MJ2HZENY8CWALQGKZ7BXHI23MIW7AQCNJXJRIZNKR5H9HGBEXJZX2XF1XEF4143OERQ099E3HYFQM2EKFO1DU2IEYUZTGF2VRA9ELKEPNSOL0DMOYSWYO2UGMLF8D3BSXET4BI2 div 36#UE8061T9104150XF79BSDH5SQ72PEVTW6YCM70LXNQNPXPSVE. +36#DAZ42Y33IYOKHEP6I72VKCGFNNM030AWEGZ7HB834STMKXPIN51SJB7TRGV6CRO7PYZ2UDRSE2IRIPE77A332QGH9HCJ73XOYIOLTRE9X05V5C9SYFGS9Z35KS3AMCMQ1NWQ2LHWYTXLZREB9GULMRES43FWFTI8UX7ECJC7DGVOWPHABH0132AOS4ATNJUPUVI781BBGIMHIXTUM73LTZW6U643UUKF40VLB5FQGE92YWAGYJDW0ZWDUNT5JZ6HWXKCV0T0LXWBKS91V225TO70BZY9EMU1KCEYT3RK6B13Z3MFJ9QH0II5FC4544UEZUEAUHP6TTPZQI1CCM5QYYOJGMB23P5YD9XQJGX2XRHW494AHWRBOOC0PKQJ9DKD20UF6NIF2Q4PTQZ0KDFS4XCKFP9GZ6HZUZYVCUFCGAN4KM5FNGNQ4DMEYQ2HSMQOE76MMXH0X5LQTEO5CMJ0CEKVN4OC5SZKCDMTUACZZTRY7W9OPT8R5GLI09LCQDDK43A51KM8G25AQOXZZLZTO36LK17EYQOJ73UGQPA0IOEDRLY10036888II0L8MRGWG1R8T15XAVXOJARKCG0KHAUIOSNT2VDGRT798UUIE1Y2ERFI64ES0H3O79Q6UXP5C5TY74ECDPLF5WY65U2UB2WHUS7SA9LXA1M4O4R2LJBHRMVOX1N1T76OVZV757J4780AN15WUC8DHYYJ2OINF6SKM3OKRTZYR97M38W1YWT9WFHETPCJ3GKGY2J5U6JP0G4ZX2C4YVWC1771K4A7UBP3TIODX4JEOTK4YHDDRC0DVIVXWGOVHETTG4OC7BUUHCENDOVJZJOM0OFW4LXJE8LLY8XJ4NLV7NFXD = 36#1QZGNZ8KAUFP7W3WJ0924V33VABVAZVODER54C58EHMLPOBNV7MH7Y11P5XONEVXQHCJCI8I8UJ6JQYY51GL8AOZPAWID52GWDTC5BQY5X3AVV74OCWBZVP5AS91FHDQRLUABUWSDZQT5YP1JUZIFAZO3J3RT8ZQLNS4603RN13EFABO4RB88GGTG9GIYYTYTOVH7TDCBH1P0WC1A7NOD8O3XGIOMKW55DLR0BQJ4XFU8DYA8OJ3EPA4AGB69JMYECM7FO1U5VCA55ACI75SBFACSEAYG2H88LC3Q15HSK68K6PCO98BB2KBTL05WG532Z5Y9XCOYMT4XFT1BBTD11LCYOB2RZ2JYMH79SY620SIRT9Z7I3X5W37NC40NOJR5LC983X2KSR4QVA93A6VMQ7TTOEMGO1ATP8LF7WPL91EAEJBZ0W8YPVBNB76RZOYH8R0QC0Q7SLW82V19ZU7YKYO18AFVOYRH7L593PXZ5N4YZ5RGR6QLL7N1U7RM268GSIF7336HETIUHFHZM1HBNIXPFIR7NPLNJ9E1OXD9ZH3MGAY1W6PJZRXM8FFKSPAU1MNHTVOHN4F1UEXCUF1LCLP0X0X3XGTW410U2THDKSSZER9YQ6U6LH414GHC9ZCDW7G1BAMUAV3PQYNQUH8LSNYXBZXWUIDDZ7RMZ6UPG8D12SG8RTZSBQRI0NWEKT0KYWNKIK1F1QUXX9GZ4CL08FDA1OO8HF52DNX64H7A7SIRRHCZ0IBEY7RDGLB7GITMTDN8T * 36#7LRJHNMLO346EIQCFNTCIDOS2QLJLGJ5DKCHIPS5DK5Z763ADR588SSQM91CGANADV6RZ0MPM1DNYZR4JME7BMDONESYX96T. +-36#4304HCLX1QQZ2MEH8TPALL90AB95I66T0XZMKQHT9229FO52USHL3ZWS0YHLRLGOQ2USK0C6UX5SNM6OK1CAMAIDMZ78J6ARYXC1O5H37WEPF60OXWF5R6AVL75PMXWXUBAZD21IYKHJEB0EK3VGOHOHF1DJUIV42KZ9Y7L6VD8AH7SRCETZJ4V87HHDE0ZCPI4JNBIO0NJHXR6L1AXYIJK2U3TA7X8EN67T33PD6XB70GGU8VEO6KJHV5EKVVSELI0W0RLTTHMM7XT1ZHU9EYFXOWHXKEHA7OAWAGNCA0UANKUO47LSFAYT4L8XWCNSGV022C3CI94WRPAK5P2GSJIJY0D7HG49STHCP4X2BP73VY43VRWM19V3KWNNN36ZUWKPP723S6P777MWXW2FK6ERPCVFC7CAMJ0VO20CP4UOOKZFXXP4T4RUYSLN8BGJUXP6TK9EA8C8RRKX0OQ07CNJLWNSQNVVBFQUT8VC7EYTGAN920I4AX3Y3Q1OMK77Y1TDKAQ713KJJEPS5WXD1RXLPAI720DAB55OPY0 = -36#BMW4Z9PTO5FAJX1BDRXD49SMFLXRPJBFJTQXMIJ8P3VHAOJ0WKL9EBH3GBQLQU9RSG76T3KFHW0BLM8OHGN39H8CB978KV33L9WA8HWRNKWFA8CJYVZA7FK544HAP9KSV2JP5LWGO1F0274AHBQGWF9X1TNM3WFKPKBZXO0FOTV34IV1B4L79QVEXG9ATR41GZ2IJ1KS1QYRNNZHRFLQI3DYA99DTOUJTLIFWQRFUQYE3VYIX8SERNNHW7VTX3P2DMSXKS4MHAC7QQOHASUAC93VEWH4UNB6NCWENHKG8ZCK8MVCCAX14X8GSHYDKF4EFB75DECY5X88JKUXU07EEP165MSV6AMOJ3QI8ER3958EJAVDVEDJI8IPKS4DMKECJJO7NFOD9KML7TDOSE2S33T86XBFOHG2FQ166N8NCQ6YK11JQTECIGSPH3SBIIP2OZX8UUII104SJ51IQGT2F3XCABMI8FKSSHH41LBN88XZ0KW4OBS2ZBN3DP3NKJDHRFZIKP7ICADD8KJ3EQ6ILZTX3M36IL9UZ6IR9F2PORICTX19VAMEGCV5NLHPNH5J7HJKDL1LWPF430NHCM457EO0 div 36#2UL0ANGWP1E6RZSEFQIRMXEIB4L4949EMHC7S8ZFM0HV8P1WYO. +36#RDABG9HD323PWOXQB5JGGQK2YKR9EU9YH0YMF8RMDR7B82CO77YI8VS9OW2DGSPGEJYTPV6DIUHEU71YBIV0H0RRUB5VWMXWWQ6ZZTYZAWROPA69M4W2RAPYGK2NRF1USE0CLZPO9X7GY1OWB1GLH0TVE7PYX8CTXHWM9UU663JZ6HRNQ9XYZW6F2UZDG8D5TFFM5PCUUEB4JSJ1I1ZBJGFWXSD1PLG1LLSZ4GTSIW0JRAEQT76WY00A6TVB6GE9JD1L883ZJRMUFA8OY8MPWL5CCZUJHOCHGZ7DO8IQRAWD5LU44IFPKES0EX7YUPILQGC7L2QXPVAY5DKNZT94C955L2A2IQ9ZZ3GE3RI2PW6VOYGR8KY3Q11RYZT0JQT2J0I3K3M2TWKOAIBFBX6AOG7H0UPRMYEW17O89IGXPXPVER653 = 36#28D1AONSVG1D4KQDT0ZQODS4YIUPUWSRA91E9YI3F43IA87YZWD9FWLRIOSG40F1RW5TQRL78768OGKEVCKS0MVSBLXC261BDJQJVNEPG7PNGKWULO54FEW7RGAZ6ABAPJTPNFM6FX98O2AWOH16MQP1NC83NC37VGOL6X9YNSWHWY24YG4C3PPYNH426105OOX9ZNTCXPJZBB3TW717198LM13YDF30XRE6DE6WKUATXVM2VKG7M6EVD0JFWUGFY2P3UNVNYVUXGXR0CEILL3L8XR12EKJ3VKE577ZK75U6OJGDVPSB6Y1C9439ZOFNQ7T637KBKW5V5VSDV5VMQL46C6RXPWJID7JTNGUH1S2B13XU0ASDZMOYJ3AAF8DXLDP5Z21M28P1D24684Z3R8DIIUXEG371KE11Z20Y0315SVHWEG7YCCALHAXF77PL9XGYE7NKA15JIYU7LIF1NBZD9VWLJSYHZYF div 36#2XPD4D8WNCNYFQOO01D41V3T202S92OM7G8G8J5URHNO81QSR5. +-36#G1N5G8L1MXT1WA9L61FPNH5IIRQDRCB756W3I40OWLRG7QOZBNDD93ZSH31XQYLTPLC1U36WHYCBWJFJAW4YPK8SNRRYHGRVHGWR5T092D1N2WQ8U3YM99Q71ATM6G89SJWB988JXPJN5338EJW92P1ZBUHDKPAPEPS364835YD4Y2AGXTJV85GWMHUK10VZHTEK570ONZ78DYJOVU6JUHMOCZPPTWAEE5A8VEQNSXVGRSWMIJSK1A6OPG2QFYQV4T5HAIEJOWOX2B2RFJ1S7Z281P9 = -36#7GLFNQ6SI41I7SGU8L7WG7FZG16ZA8LFZACP8HS8BZ9ICSS59M1LCF8WNBT3CJUTL0HPPY93TBMYSE4ZTM9AWJDHRLFN0MW5LMY68RZMLE90BM2TDAJWD5VGCAPCFCADENJDT46U2GHROZ4MS14MB9YAPP14O8AKOQ48T3OONJFCP5UOHQ3HQ7LZUTBM28IVIL4RP5U6GP1HVYNM3GV36IMPF4OWGCEI1NDROIA92JIVA4GLKVGICAC8PTT6UATZG87I19RBXEAG6GZ40ZH1FYV0MGPEVCNGRR8UY7NY0JA5DNRPHP36UW5OG0J6HNULK3I2I0S18I7DJUX2X9NZHXKEDJC88CFMOLJ9Z5XODVPM5JPX9KEA1R8H7C43DAZQWZ65QVVWWCWKJVHQV41EN9HHCZ4WHGH44AINAI27QWJWTRHL1UFRDHOGZLLFY0FQNN1QRP63R55IF0BUD5FC147MDH2K42C7VROGCRF6HBQ07TKGESWZ77X5EPSNZ26LIEPSFEI8KXTN7POSE151YZRTU5LL16Q6343GM37EI8XAIHH2SHHCOZYYC9HMADIT4XI9R0EY5DI943GR0FJ14GI25MCMU6UZIDZOVZKGIET18Z14DO4XMA4H10ZCM2FURSQH1DZN8XDU7RINDOCENBN9T330QMWX89XS3O9GEBZHEJMVSYPPWWOY8GB57WHRXKP8WZNIJLS07ZRMJH68G746KCC0K47CUA66KFGF9Z1AE6SJF0CESSRXIBJJ5IUGHBGKVPR9XLNM15O08HFQQXZHVS9HFXDKWIFAVTFT644BIM6G0VNBIUGUTOEAYD8BFHD9JTC1L8U734X4MI4W55D5G0TPIS3B6FSCK7YXRXY20MZ50YX7CPL10U5X9WVVXABP3EIBXBDLAVJS349REJB05B3IDA19OFXRBNJHCXK21VJBXVEIQWIC7A3SYH3GHEL9C3VQUKQJBOR8ZYUHHP10ESQZHOGK7VSRT23WWUU1OCOMY9ICX5QQQL3UHT9AEFPR534DNBHPXB70ZZV4ORA0PJVFACORRJ00WMC9LFT7RNN4LQ9EK8PIS14YVR30OYRVB7Q7M5JOZ1E6DTBK9EDR7QYBWBEP8PRO2IUZ2C5ZUSIPWOUS63308GOMVTR div 36#GQMCD6QM7VWRU0ZGV9B8ONMJCM7RMCO5VYIMBUOT72MDYETTHKMC8ZT6YMXG12S079JLZ47KUISJBO4MOL9I77LH8WPTT00RUW3ANJE2YMEUN1Q3KFIA5SMOLGAKQLLUIILG342BYKVAWXJAI8UQUQ89YRNCHVSQX47CZR2NZ4NSCDQ9U9HMPZ0AAUXSIPLAICLPJ32SBKWU2OPDT23BK7GN3YOEQHV9MMIWSGZ2JUCG2QYXZW4OS80PNA3QGYWUSEIBWUG2TTUGGSUGWIXC6CL15G608VH8TLA0EX05MJCGD4XOU1CEWCNX3BUL4J5FUL6ULPRLSG7G4MC4FHYBIFF4OWXE5BDMZF0O08TTDHL80KO7ZPMT64DK7MQBB7SS3I8KB2908UCY3P01MZ49MH88896DZ2EBPW7F2US1XCNQ0Y8YTBDMLAP01AY553FVCZYKSOQGGIX44VDB1EZEKFSM0O7LAVWYB6Q19RWG87RCHJBUPMJWLEEUW8LIOYW7H7TEG8AY1HYIRHNZLS368UF2CZFS5HBJYAAPEIJB79AB62B8JYAILG2DZP28J48BIOFYLGB1IFZM5FKV027V3CFR33W5Q3ETNDPEJ2JCYINYOC9XEY1WKN1UJ5H489RZKJI958DQC27BTDOFS62P1XELLILX6MJXV6Y4JDNTMGWKK3BNABAJJ4IQ4QZIMAZRWM28TQE3SC4MPC4QE99FYSFD1MA85HXQCCK8OZFWFH8X61M65VDIQ9MU79G5A4TE6ZLCFU0CUKJFY4FR1TCW216I9JNXPVJCORD3LDWE7TVNZBUTXWUTMTC4AC9JDO8YXMNAW4T694FGEFBSI6ZRNGIRMLKX059HD7QJ. +36#17FKWBB5B4IDVE0GQNM1D5FXI4TAM5JJM4OCQ7SJFPQ5HHIAMP = 36#24FOCD5XWDXZXCO5U5LWGVGVSN18KRHVCDQJEU8026XWZJNI1C7QSZN4X4WWGXU6QMPQSJANYMWI1R34UB7YPKR6AWYBIQ2XWC6 div 36#1RCRTZ4IICW5XCDW577QRW7LZKR0TEBWU5JUJI8GV7JZMMB386. +36#2BS9AGI36GHTRI6LA1OWKXDQWTXWVDB85J0IC8LBY1403O01ZT = 36#17QRBQ2WBBE0LAD9N9KWIJXQ6JYGXYBM6KY8T2Z40PYSB8D37JQX1K92CTWWBFQNFO03ZQKP9CK1OBTXGKFMIVH86XUJ0B6WO6L6MPWYNTEHMN0XRLZD2G6RH0T90Y5Z2O5VTFL3LRTA2JSZ4S6V8FOSBE6F8VAE6ZL25L5WYMNWU9JM17APTBM581RLE00TVDCBT1H4XSAN0UDTFPMLN2BU1H0VSJ3OUY1H5ON0RIYJ3EF2S74CD4H09YEGVS9BFYKRT6FW0YHX3ZNISEXCJ002FKEXY665MDS38GZJH9SERVG4JL00J4ZGPM0Q516PCUQF11STV46E3UTX1K2E6074WG9WZAPTUWEL465RVCKEBN36UGAV0W6DDMTNZ3JUEXRCBIQDVZO0IKENZ13TNCPTWO8D3N6IXI6RY664P1FH2461EEJHYWSNDDVFLWQWXPJ65QZOXUWGX578BC div 36#ISMN7AEA2606WIJAX8DMY8LOYCU27XPPGJV61PAM2ZY0XW80YOGNYZ04IWA8KWCDCCTQUCVSTHFR6UD8XYQNX2X8HLASPMCXI0ZBDRRLSJ2X00XEH0DI08WFH1VIR5J4S4ZX1PUCRB8LZBCQHO7DL77M69A8SOMGNWRNAI46Z9I6RI5ZQTTMMZR97WXUBGH7PV47UXPZ38CMGBFP8IGRFPARRQBGBA13OQYCN2XDSD2Q2RJF38VE8ZDY33AILQNGDC2CM1UUEW3HI1HFIELDT1M284AA2P5NUK9PH3I1X67V67N9NAZX4GD6HFIX1UPWSMN4HYWRI0VKH7ONC8S3QLBB7V1GI7UQ2G53HMJLZJ64QE4XQV64PAGTI33KZ47SXF1EM7J79LB1Z4LK1SSYZLL3VW7RBQ8O. +-36#F1OMWV635FRQYHAQMU1K6K412QGDUEPUTB08HSRDZYJXZSQUO = 36#503OZ0FAKHZOYEZ7HQRK1OS7MYYPDNEZC68ISQXS9KJINQLK7NOL6RNW1GUR0S1A49M08U1CMMINPTQVEGJSEF2MK1CGV5W4A37NUVGDPOWKMHF2QITSK96L632K3YWXCQX08X6ZN1IFN3974ZKEB8R4OT6ZDS9S7M3EY7V8V6O846A36YJHDLXO9V1A89G1O2EOEY9RPAGZ7DZ3SN0YBGQE7VAKISGH6TDLSN0DLMVL5U7ETC9IFWGH0GBQL8DNR5808KP68YEHYTJQAOW3CDBVRUGPB57XIWZLGEK2ZN2QL8N4IAG55DYFR3R91Y3SXH57TCAIE6K4P9DSAKOSSRZEOVQFQ7YVNMIBG1T1C87D12HIYWI4I9WOLXDB2XCZEPPZC1ZJOELORTN6SVHCL1B2RUMQUZTUCBW8OTQNPCBBSSDRGUFWK3CSRHJK9QBF6OP2S2OD81KHVBI6SXDFKRRITBOF7CB7BIMNRJL2YUMHDW6MOL27W6K1EKELWUQ5OUJQUUBMET5A6ZOOCU604UKI7N293G156AWNRJ7PFHQ5UGILREOQP754V9QMD0EORL3AA7KKFN82NN450JLVE62O1PBMBOGOK7FE68R7ZPRG5SOG1H15JGIG1PVQO div -36#BYWH8P35HAQ9GOT0U9KTL5UTF2P7LO2VAEBT4HQLVOLH4WML0TKJWN3LE7BBZVRY1I1E4OK0757XT07NI6LG6S5FCJJ1B1ZJ6PLTPAICVY8G6D8EYDYCPB7QVP31MC949SQ2ZV5IQCVS2WZ3JA7K7HICMDJ2L1GX0APRNLLCAUFHTW1D1AWXWWXHTIUGXE9AYIVUMHGUPNV2DRRXKGKCHV1M4BZMZVTE53T1M0CIDYP89C9CK5Q9MEF4DSK3AMW5VATFHRF19FPXS8E7K2CRBQ2O5DBYPGQB0XMOHT88TXYHB3MN5LQOUN636EILXLEDUULNAD2IF1L47S0SJP9TVIEHGY3A96GS7JHFZL3NSPAED03X2IZIEYNLPHUW0TR9LMSPXW2U2OM4NTH1C8ZG6WCN0KB2HR1AZ12CL0IP64BO5873C763CBQJ52S78H15VL7RY094VXCXXDTIAPRFOI9M2Y5NE6CI9JKMH071NZW7SOOGOIY437AZU37VIAHFAB8D3P2V0G95DPCED6LO7PGZHWH8FF72Y928WQJ0F5138ZM84V98WCGU4ESSI2CUX0OQZJSDE51D. +36#2UL0ANGWP1E6RZSEFQIRMXEIB4L4949EMHC7S8ZFM0HV8P1WYO = -36#BMW4Z9PTO5FAJX1BDRXD49SMFLXRPJBFJTQXMIJ8P3VHAOJ0WKL9EBH3GBQLQU9RSG76T3KFHW0BLM8OHGN39H8CB978KV33L9WA8HWRNKWFA8CJYVZA7FK544HAP9KSV2JP5LWGO1F0274AHBQGWF9X1TNM3WFKPKBZXO0FOTV34IV1B4L79QVEXG9ATR41GZ2IJ1KS1QYRNNZHRFLQI3DYA99DTOUJTLIFWQRFUQYE3VYIX8SERNNHW7VTX3P2DMSXKS4MHAC7QQOHASUAC93VEWH4UNB6NCWENHKG8ZCK8MVCCAX14X8GSHYDKF4EFB75DECY5X88JKUXU07EEP165MSV6AMOJ3QI8ER3958EJAVDVEDJI8IPKS4DMKECJJO7NFOD9KML7TDOSE2S33T86XBFOHG2FQ166N8NCQ6YK11JQTECIGSPH3SBIIP2OZX8UUII104SJ51IQGT2F3XCABMI8FKSSHH41LBN88XZ0KW4OBS2ZBN3DP3NKJDHRFZIKP7ICADD8KJ3EQ6ILZTX3M36IL9UZ6IR9F2PORICTX19VAMEGCV5NLHPNH5J7HJKDL1LWPF430NHCM457EO0 div -36#4304HCLX1QQZ2MEH8TPALL90AB95I66T0XZMKQHT9229FO52USHL3ZWS0YHLRLGOQ2USK0C6UX5SNM6OK1CAMAIDMZ78J6ARYXC1O5H37WEPF60OXWF5R6AVL75PMXWXUBAZD21IYKHJEB0EK3VGOHOHF1DJUIV42KZ9Y7L6VD8AH7SRCETZJ4V87HHDE0ZCPI4JNBIO0NJHXR6L1AXYIJK2U3TA7X8EN67T33PD6XB70GGU8VEO6KJHV5EKVVSELI0W0RLTTHMM7XT1ZHU9EYFXOWHXKEHA7OAWAGNCA0UANKUO47LSFAYT4L8XWCNSGV022C3CI94WRPAK5P2GSJIJY0D7HG49STHCP4X2BP73VY43VRWM19V3KWNNN36ZUWKPP723S6P777MWXW2FK6ERPCVFC7CAMJ0VO20CP4UOOKZFXXP4T4RUYSLN8BGJUXP6TK9EA8C8RRKX0OQ07CNJLWNSQNVVBFQUT8VC7EYTGAN920I4AX3Y3Q1OMK77Y1TDKAQ713KJJEPS5WXD1RXLPAI720DAB55OPY0. +36#217FV9LL2GQBDRC94WOL7UGTZLUQXZM9XIGP3T9UJDQASJUF1I = -36#VKG715JBGXIA82ODI27Q0BI2P0EOB6SI710Q0459IV1JKBBC26FQDV11N5U4BCRVB7Y7PFADZKSYIY41H2A7NMFVQ716P7GPHLBMVEX88ZPNQFM8YD0MI5EQGP90UPC75Y973BO8NZPTP17HUV076GH970RBFM5OTXSCPWCY2RXZTQM5UGE48RV88GVBRB28KSIIGN5V18B7PUITGAHO07N49LTSVL0EA512Y8G14BM9V00GDAQEN22M1VCZ41SOXPK7Z13N0Z1PEJMHOR59OQ27HAR46XXYAU86UE7NVP95TDKPUZ54PGGRGWKUNN0YKOIHBLY9D2TKWIEZM9PKA6TXHN90BO7RLHM4J0JSYQEWFB6726W2S6F9DLK2D3PXVM3Z2856DYHJVP54QN5KJDJEO36OSY0QIUNGN53AW6BAC0FO8DNBNKMI06BBCKU8E5V5FV61FSYJRTOG1Q9MEJRAUTKNCL8F0LNVLMW2ZDMPOUEH40U3BUOT1Z6P3F295GVUPHS4E4SNSGB8H0QHH6LG0HU6QPM769B9B2LCPSTOKDRTFL5O2P8YSTR7WIE23ZD1CQC6QPRGJOCOTT7NEFJNWSWBL94WFCEER36F5TMTV8LUY5LO7W91PSDK1S8YCZHRAN30TTKNN1CSAKILE9TNY70V4VD90AS869C8MPAAS3L4V2GI6HO78WUOCAVJMUQ34D4Y2SYF433EM6WJRDSUX43WVN1KB6I9BO7UIKZ2YFVJD6R9VIEAOR0268D4WXBACA9CY5TDRAFSM30 div -36#FIUWVT3L6BSEL1MTESFB6J386JGQFDFY833T2ECLWEKRT3HKPDCYO2Q1NAQDENEV07UTFZRZGFWSYV6A7A1TFCOF26VYSWNGIMDN9GPDER27WXMEIA6M8TQ1QB6UTPRB9RWGCV85MD81YSDIHCG7NH0LC1VFNIL7RKDY9LO1OK8R3HXGV0K3J6MI5O5N7EKYQ4RL3H8JLJ3AHT7P9E61D6W3IMUNU1K88G4NBA4QSK17BT2IF7G0I6SA95RY0R21I8R2A0R427IG2XEZ5O2LQUFSL1POQ06I53CG2GOWBPX2761IS090342VDHDTG3MEEU0H3GMX0A8YJO83PJ9IK2982EGGKEB0SIX792R4R56I6VXAHVS7U0LNNYXWQB9TXLZHPG30LSYRYPLOYK0O1RYJXKSNVQHQ4AXSD1F1ZXWHFYGG0TD29JVVDVDJJG0MP1R06XOXJXVKAZPLCA2KRQPCKVDTO7EE36H1JR7ML9BSRMPWJD6LKNFFGKJMXL9TWMXA70DPMJ3CFEBQHB6UDCLYW4HW1AMM8T67SEJDRHET3RWG7PX02NWMVY1OEOC0TLRKRMESF2WGFCJCOGENUXJZAUH6BFF01XZN5OZ4D7SOC3FOZU5ABKQY82X6S1KY3BC30USKD12JA930IBC559G9II03IMA5PJSCBNVDDMRED3LWS3CRYAHC6WXJJ8UE73M52F0S6KQ2UMY64MPFAL9W4R39V987UQ. +-36#1QQ6KG6IUADBT71OA9CWSAMYLUHWSQ141X31KX4MO67Y92JA35 = 36#1HK2TTJKNBHTIETWIXG3FX7K0KUOD5E1LB4UCCYQC08S5JHK9NGCCAV64SH07QEIOO4U3JUYCOUBNLBXI0WWP7WUNL7L8JV3C1N div -36#UQJRO7MBGUORIEW53U0IBF9T4YRH1Y3NAH701X0LLDWLHT1AJ. +-36#5A67Z8UWHQX7YPKLXG77LDEFE6XNYR1I5B720ER7EM528ZX2Y = -36#BG8Z7H37VA3B5XW7IS3KL2XBB5W4BX310FA6LEHD8T18X5WJNHKM5DISSKZ7R482EF4C3CLZ1042A28J4RRJ9A500E34XHOA0D8092P8YS385F7NBEHOWA04K0FNL982KKMXFM1IVATQAJQX234K4VN4JJ2HZ1TBN8RVHE6WBNNCYYY48 div 36#261F3GO7MJR85RRNWKUG3AFZB68V1E9C0KRP5I4CYO35MNHE00AW3X9O0UNUDUY2Z06ZR74A71Q3GZ02Q8OCT4JSM6H22PGZG7MR1OWJCDUB0IVBCKLS0GO2ISE9OMURW. +36#Q9K9UOKZW9IGAI9WMR2MMN704Z09Q2EUQ917WAZOSQP2V9058 = -36#9MPMU0K342YBYCUMJLXYXBN3T7YK9ZW1MHI0ZRD37F1YNN3T70IFZJ3U7TVUXMBVO2PSKON1RPJ7Q859KF3R3R9NPTIPYNV4EILEFVKRFJN3HTCXAEFEYBHUUR4BW46SOJC2BSXDSXH1EWHBWD7ZWCH3RD21ZG9BGXRGMC6KQC2TOGFDCWRWLA1QE70F6BVKZEOQY5TB8HHMSNCJBFNABWZUG51H3VL35FZEZX1CIA4J3VWEGPUFLG6BXV2X49LDDAADZGX9RNQ18KGKM0W div -36#D77H3IEKQ5FBHRC4XXV5WTYORH4A3C4ZIH1L738CZ5N1WVQFAW0E5DLOC85SC4XRSO8XR5DLBEZSW1ZTH68Q7LSOI88U1GOZEO4EYOCW719ZAF64M5WSTQMOWGZG2T340USHXAFJYVXDJX75OC8GAW1V0V3XTTPVLJ8B2I20MTBB379KB29129BUR1JSZJAREEKPTX7UXRLL0JDHIET7US1O0GWMZBJ9B4. +36#QSFU7R3CFQTNMOF0ZVTCJ1O17PH0MFFHHGXC6T8KPEK7YAEW70FTS77987DOD7P1HGBC32KAYD35KW3AUUKWSSVMDEOCCQ2DO3Q41IEIFZAHCYEIDTRQPIRBSUR9WTVZDBU38HQXA6T08MOKR21YB7ITUHNQR17WSCJ5YNAYURPL1WGQTO1IX2LWCDRE4J2J67LIJVD7ANSCU5JT061VW4MQ0PO7YGXBKOFCT9N5K0C2GDEAYMLGJQ8KA08GC8NRQAVYR1XEP0G2XF5HPYQ5IMH90Z1BAZ21VA16AAH72D3BR7V5ADPH3Q4MP5TKBE32XPMXGFVPPFNWNWVJ7XYH0L4FVVAGR5UC53FRLAAJ4Z44ITZX1WK1D6O5P29AS7J20Q9ZFCTY3ZX5PLSCQUUM8IORFLRDGAHQVRAJUMKBTJQ0A66XKV2ZIHHNY9UHKDVPR0ITUVK9L3S2VXXRGNT1QXQHVOWQEYU2RCMY120CMNSLE20EYDQYRKTOSL8MZNVJ7VDYOJQ5XWYE8Y7YZRJIE7THQB4MEX8HS6MI4FJC1YBU34T02H0QF1ET05DSXL34P0D9C6DZ6ELL0771UYFDU06GO90TPG8AGX0QKFCUGUO44WS1JFZ0P20U5GJWS81EQUJDYIZNEFSZM77AUMZMMTNW5QEHLNBNN5Q86Z1UJ5E6UWQAINID92E1AK0EXLEIBKVCF57NDCFNMJLQQ361AES2FS7HOQ5TZ = -36#F15YC3PZYQ3QP2I7N7BE9LQSS9EVAMU3CGTTR041MLHOVXU7MMRHR3XGBFOESR964F54SWJQ3XV67XSJP09WGGQ7ZT1CYTFDC1EQO9ZTJXCR2V38VS1AS8BHIW1OX2NKIG2Y5CJ6QH96A2CU07CR7JLZ0AS2MLMQEW9VAS8IJFXOW5QIK821L0QFBJQDXK978ZXTF70NXQRN1O85KM0ASU52XTJGS1WNN5B82XSIBXDIW1TMHNTGB8NKXP22LSW3ZSF1RKYBB0N2JO5ZA6VPQP782KKR0ZI1PZWVBZ0NXBBEUC58XT0LJFHBTPHDN79BJYHGI109PFT4YRRPWOFJ4TIVHVC1ZQJB4FF0YWY10NPRGJOUZ0WIC7TDM8C8ZE76RNOR6E2Q44RLSZCRC12L5AXVM7P6BC1L10RQU19YK4D0CBDQOW5WL9YTNZZF2G25TNVHOUV980T4DHFB3ER469NCFD9SM2648K2LNUGAVOD0GBIUCUAGGYNEYYOD3VNMZMBA1XORNR20OICZLJUG40BQSHYA4C4Z8M8Z01LDOAXDJC4RH5GQG7QQE4BEQ9LVE0QXJBF6M51643Y56CKHIH2PXBAH0QBIQQ87OBLLUVK71603HY6QBIXZREF9UXBZ01F8QBNXYRT3NPYL7TJJJOL0JGJTD7TDB0H491DFOTZH1AVR83Q6AMNDPGV7T3C8SDV0WE8ARA5Q982HHWAXRVT0T2JEYUX2NLW9J9LJ00SUH565IGUZ608ZM8AWOS8CVTN4G8UZXMG5KJDIROLK6VD8TVRFF8RCT7WVL8FONYK5VH7WD7DFUVODCM9RS5CVSP1K5TJ1ILJ4VYBW61NMFBHZ5GR7EALRAJEQUZKW0DVPB3JO8MY624RBFMHY5GHXQUC2TQFKKAYQAQ8ZHXD4YNYCG2696QXVFCMALOOERPXENS38K1Y7IFK7R58KCOZC5DOF21FGOCZUID3PDY4F0RAOAPH2705BH93KF7CJYWFIBM278KA9X8RZJ6ZKW8A8ZJN2KQP5IT3WV31KZM1HD34RC8KIIIQYGJTHB24P9F7TLF48V1ZGXVWQHRE75KHV5JWDUXW3MNSXWH44XBR48KAMGVCFKXUJOQS158XBB44MNKX6TXGLG1KICD1XRCT7RUGTFYAP1YPFB9N3NZ13ZBX5V42O56LTN0YU3CLBZJANO5320VIEY75OM7PZJLU63DEHP069UJMP0Q4SHEBOE13BQC8KGUHSMASTBA6IZROKPG0MCFFOWB3IXXA15FXXYRPXA030T2QA6KJF12UO3P6DKOXUVVEJ13YR9LCT9MUHKWQI2MOV3CUO1G7RF75UJQVR8I8JC6UNS3H div -36#K77K2QR3771UXOBZIO37LKBJXFX2QKOLTA4A5FQ7PMF9TYEK6YTSVK4KYZ3UYZYSPJ7VIDMD80N58KN7N6OP58J2I4JNPIE1VYSDJIIPF8JG1HII42JAXBS21SSGNUIPF0J71VHA179PE0I4BU15LIZEBGB0G9AGCVGJYFV7RG2P63YV9G7OQ0BZBRIZ2SR4M9MWTOMMB0J71TTGPS6W2F7U4NZHAMF3VRU7IDWMTQX2961WWVOE1I9THG8KNXXQTEKUWH857GF2F40Y5LSWR0V67PK1Z3R2N4HVKS0UIE2XROD0KJRSP55FQS7V43G9RU7V0JW4NK0CWBJ6SEI2DY1JYA28JJREQRD6YO468DZK3Z719HRFHWDBSIM1N3IUOWEMA4SYBO3Q2AURGQC6XAVTNRN1PYOLI8QM3E2414QGY92JEF0B4S204CRIJMF63LUT0X475J1HYLY3J36M6J7G3UCSYJFFT40KO5UFG19CSQ6X04X5PKXU7JWEE7NOKA7Q612UEV3GO26T3SSJN133UZSIBUCLGRJSYFIG6VMAR9788JYXUY595DE5GMRKEAJO4MOYGHLHCI7VS44RDGQ0DF0HAKUFHZ1I09733LOYQJ. +36#FLJ01PBAVF57YTSKG54QMYLXG5W8F75I58BCOR6BTVTQJ4KTFXYQCXKQO5HZRTP8KGGU9QU8V7O2V6Q9M23LZQSM3HNU9R0EAI4EIZVBTU46HBQNA93F5VQWAALXK8QOJ0HGG82MPWRXNJ2RFXCTL8BHXP70SJ7RITORX6N2C92RO1DCDMBC7K7WL5PY0IAFZ6HGZ7CSMFA376SRAEWK8HWS2I4ZLS6W1I4MQHJS2UB6Q3KJNC3RHCTGMYJSL261ZMM7H8PE0L57LSVOAIOG0TIIOOJTDTV3H9MCZLPGLCH4LKX2LZ8EZ17IQYXTWNN8XG1XXT89J8Y43UPF3X68MLJ8IVOSPIG2SVLW38HTSZ6S6LM60Z9G6QW4LNBER9Z4JFMUTCBS2UFI6NOLBI4KVDN604PZ3718CAX38JEDPSCLHL1R9CLUIPWQKML39NI364TLHCSDBR3DONY45YNYF4D89B5YDJTEPN5KF3V02VSU16FS133HH4I2NYPSCTMFTPDUZN1KXDOGN4S537Q885MLQVVQMLFIPA6465W5PKAHAQ7TCGDDVHEYR7TC5DG254Y9GMOO2LACZKZQEFY4PNF7S2PSOF3LW3R3XRHLRW9EWYTV7UHFR0XN05E35U62TSATRYPDSWJAO5EU354GK1K6M3XYFTYIDYB3CK7VRQTA1MX57FTJ4Y56Z8XFQDHSITEUJIXWLKSU6YQOZN6HU3OBF9N14IYE38EL562USN13KW2VQ4CABRVJW6QGHD = -36#TIMJ5WP4V5204EIIKFF3ZEQ354XPY84SG6SSMMBMFRY6JSN1C7ZWZS3KWS41XPDUH6J1U97HQ4U6ZJJTROMAFEP64V1PJVCFAU9MGT56010QY7P373VR5N0FUP2WVCVGLYQGZOHP3F2MGOSXLL035VXIB22DTOIBRKZ39V6BT3MIZU6KXRI62GZRHSZ2RCDG25QRUL7F7HGIHSAMZXD0CGNJ91WXZXR7QN840DZG9DNNTM29B1YCYU6PYOJSLCFV9MT1RHETKCHOV9B68EU4QOHRG6WLSI55DKRMDU76SMBT2GPPYOMIQW9WPT7RW4G2ZT3VK8Y9PDDH6TSZN30QC1RJJYIMJ2KGHS9XBXBCS7J03JAUHF1E2SSGM4M70M7N3D7UCN2ALEO3ZSER0YERR8J3GXOR12PRM89RMG55N389NOHAYFZL10LT44APZLKOYWC4IRCM2LOOM1U96BZV53PZ3GZDM0Z388X92FMHGMEKGO2IVEIF944GS8QG6N865BQVMS8SVNEPMR1KKQFQOTLOAQUDOIQSGVTGQIOB7H5CCPRV3M0TFPC8L7MP9V1PPQ6RQR48B3UJDGLREMN08WVUCK18IAVPF8J1WNS23E6AMQCSOT80O19G1QXF5P16BDAOXT9VWA8G59VTR7MO5G3Q7ICPSU7J5F7CQPKW0IF18YG3M1GZFXP37EWWCELRPQ808YMD0BJ4I03NORPULG6ZWMW43846XFLMBNC36SSZ6DS9WHZYRG7OKBR5LOK3R0Q5OI5Z7A4GHCJ9LNH8USIZHXLIGCMH66S8W34L558JY5HDZRWFBU8B7PXV39D1SSB3B5DJM3Q2FC4C9774EETU2YQCLDLVZPOGOHOOEJS931F143ML0W3TO7WWYQ4Q3H6F4IFZMLLE0D1OTHNZJ23SE0618R20X03DW91B1LXEMJI9A5F1B65DKL60QPYUZTZXOESJ02CCKCG9AUU41GHV31QCWS31FGFCVGHH0CLEYCFG1L3NOI8E68YECOD5J5RV9QL34TYPUEBIM8PZWLH3TGRKKR9Z8R92UDUV0491PWC5GHC4XHA9A4JR23PGFPKRR8MS8W69ECARBZRHHQZWKP131KLBVFLZY7JB4JRO5W5V78RPCXMLZ9LRY219W4176WCMXA47UN0SMICRJ6Y7ES3KL71MWRSOCTJR0G5I3981XNLF7ANOCTR2B36GHP7ZBGE6MCVQES1GP1ZJIMFTODB2NOJMMWDUNVZUXD7CWM1F2XMLK2W9TA8CRKDD72ZRNM63PFHB6KINUYQ93UK9PCNT6G38Q63E5RCQSKBX9UJWUHVMNVDXPOQ16773GQ7WUKLS div -36#1W4J1DZGT3DTDKQHUEDVEUYVFFHXXAXW4M15XV0FPPWE3QCT92IGQWQSII6BMZQN7ZJDKFTX8QP7LX2N5ULP6XV3EQICF3W21A3ZFYHNDJ8VE6P2MIISVECUVFWNGDKZME41C9AL6KQ54JH4M7P5XBJO60FU19YMGOB83S358LQD5LTMBT3GKFPVGECRLDASJ9WC0T4IGZ68G2ZAD8VN91AD1VBACFD3RRMCNDXQVNN6RZXXN11I82UQ6CT1ORDRBPK4W6805OUBCD1FRKG8JVF1IDOX5K9HJT662BNR3B7F6XBQ3VSFZTR5T3NBGUCR70QOF7G2HLG5SN74G54PHO39XT44G8K43ZNE9Z48IFB30BCLV9HV8A9TZ6KJ2MM5G91R0XEQ845WU2OA237CRX22N7QGDYWTRGITADC5ICRT6IVO0PBC9BMHA4SE1UGZBZ80N8FM72YOOWMGGJQSILT9W6DW29KHSPRSZ3XKB7G7GAZLW72OE6WGDPLW7GR0T08WVRXFZWOK333HP9AJ0KBFKFJDLP16QFUKV8I73FX8HNTDQRQ02U5WD0AAM7VMCVJ239Y8Q8G. +-36#UXBHQRCC7C45344FBXUNYGEZGG3F3H3JA06IJSRC9RVDS1PMM27P51AVJTT9ERCGOCVZBHM6E3LLCVKR5FIGQC56M3BYJ1C1EEZ24FQ9551XT9HY3QXG51TWJH4KXSLBREUUOCO2FPSNN2TORKK16FV6OX4GFLY2G1G3HBHX2NS5UF3468CK9JELN0Z8AKSGKD4IA9HU07ITRWRDG7FL4NWLIMUDKSVYZWUJ80UXNKQGQ9XKQU1MGOMVBO5E3USRFYV8MP9IRSZH9TB0WZ0W4H3IM3PUQV95YG8ZFTLQNUFZFAO8TKZ37FX0EESCBW9WJDDUP5P6DXAIG38KIDBOITPP3TK8P6QLESL4BL8O1I37N13LKYAQNP1KTXWWFBI5XMGAZ4D2FFXVU3GZ4UP4MS4A7HHQPJUT3PYT68B4KSPV1RZUIMPWRN092V3TDSQ292V8RDZ3K1OEAK5YXCE5C7LYKNKFEPUZCZX8JKVHSKSQPX5R9TZXB1588WOK5LPXOCSD510S9YYHGLYKDP4GRSCGLO3ETGX8PMCFY9KI0DOC94Z3R9V2ZHQ4HG1C6E8REJMP7LORATVY3OPB2Y2YRQAXPKI94D7MQ61FH6PQK5KVVWDOXIC43CT0R34DGOAUVP1OD42LM2C1RE6Y8CTCE0BOIFX93P8XHBX4ZY90PURWZOC28I5GCJLDG8GWMXO8MQ7KVQ3S1SD9QU6T0S2OO7JXTFIXO50J9O07NY297543HRJ7Z51D1MKON7UE70OL60T08CHC4SXD9IMTEQGBI9PJ3URHK4DZT61L1Y65BA1OLPWOVD6QDYU3EJ63AD58BFMSAV5HNUFQEKO2VSW4OUYLKGWLUZ7FWMQ0419RVLQY2QE6YIHSGP8UZ6AZODIL2CGERSB57 = 36#22C3JVTY88NKXT2J42LN69XV81VZ36MHD7IEPFGAHGTCFUH4LEITKPV05PHJUHKZ1ZXL5LDTE0EZH8S9LT0NVQYSX3C523C2C1F039Z17THM1W6PYJD9GNAM87EK6Q38KAUG6YH3523VM8DKESUV1T1YI2GV9TV7OW7JMJAVZHKI3IZ8ZZND7LOXFC9388FJEMQLR4M4J0SS1IN3I1VRHSE83XCP9CPQGP7E89NVVQFA0SJASJRRS1MIQWAPE80Q34SBGQR8OMD9A1U9DH0855OWEDLEDSZFWY0ADO25VMS5HH5VNKODANPUTOXVOIPXLZK9979X37N2URX94BBPM3ES60W38C7U7C4QW7UDC9PFHY33XEX3E46CXAUC82EUGPB5GYZKB20X7JF2ZM9F7HX6ZOPJ00S9TVXPGHA1PWDDC65UFJEYHLLFOOGUEDO0JMHXCDICEKEZ38V0K0X3FM78REQV42XPKE6VLWMU3K1WWH6YKUVKF5Z87CYM7NWCHF8KMTE9VC0XB79TDSEC7J17S447HQDYAFJRA5GIAF91P5O30BYNE1JZS51NK0XWYK6SQSE4CB68ENNVVKSA6LVJSQLZNT6BUWWRS7KMFWJEQGSO6MUND8OG5E7XV2QB8JP1F0JNCLZWW7AA20DNH9A7VT1QS5FYTJ0O9K33GBURMEJ1PLMCSBPMFXQWRI8I46I25QFSAHQ3OBMM5HOUKLGLWSBUQXJKNDKJW7NPQX04BG4JJ2BNO14WXO9BOVAEKXR3NBSEBLH9K2Z6BWB911OOQJP7W78H58JVKTKAJL4VHCOQKM16N8SRWODEQ20M7ILHOTXVNN6KPL48CJMWJLPY84EU334C5H1Y997H3BRX52WIXCA6B5E7CFSRKS7TMOYSTCTE4M1EZ6XXI756IC72QCTYKMV0LTZSP3L9E4SGDWE9GCBCA9FSSA0 div -36#2EJ7KWCVCX1XP0G4RPWGHI5TJX345WC07S8NC5WITQZOY3LYM0. +-36#3W4HOI9S3S8NFXIKMYVKDUT4GFYQ6HEPLHJC08FU6EJFO00WXFZIAPE75FU7YYEODG0B62GI0P2DPXA2YGLD7B9T26I2A06EE3OTPVIPJAH4VJZEQRJE04U2GTVBE716TXD0B5L8JKL9L7LJ0HHS56C6ZFARWBTCD2BFRZZR40MD0CYOO7GXV12ZUETZW8KTXBI9ZC240LRRLKKY0J0BY4WUP2I0 = -36#8V0TFZCCJM0BK5YQM0KO4T5QBTGMDEZGGO608J08XFSVPHEKVBGY32341SOT14DFUVPK5HRITC8VG3SMIKWARBDGO72VECPBBPN9FKYQ3UK32NTTMM8JEUK4KV3U39NLHW8F6NIGM7B4I9M1XFZAYJV2NX0GI6KCHIECUU8S9AZNFXGY6IT5UO5VIEZBATF98LWRQDP5U39T4XZ1SBOA53ENQ3X5250MGM66RAHMB8GC2M8DQO7J99ZS4Y7LV5998T1MJQPLJ7YI0 div 36#29YLY1OEBWXEV7PCJ17ZXYNGFM13B1ICC4IZ9E5Y3QC1XRHGNL. +36#611JFET6VV7DGEDRO1PBFP7NAC72Q9GA6K4KIZ2B972YRSHWZ0XGR99R4SIUHE0EG5WC7UE0PJLUEJOQ7DC1ZB5SSUUVRATTE726EXFYJ4TIQ0RAUG472V9VCYHKJBRN2SX87UMARQ16YHPB1X67PIB5CY5S83RD362ZY70V2J0O3XCHA0BQMIKDJQZX1PYMNIIXUESCN253K4GB1TTSJV3VDIMP9DBYOY56ZHVC5BPQ1WXND4HASDXXCWMOLPNY1ITF7GNA4GLDTM0P9KVFH4DLE5N9W77JLT3ZO1SNGV9R3MBGXPFSCT0FYU3Y0AU51GSSL15UWJT89AROKW7SKEAO73KETNTC52OTBBNVVR3LI83YP3MUEOA8JCMCTQDHO650TJO7YWP50R817QPWHNVXQ5KNMEKAUZITG1KRH0Q5R35S2OXHSW5D1M0XA9CSPE8A5NZXQ7NYEW6P8PZKM9R0 = -36#2F65N39P7IT3IWGF0QVZTNF31CPW5D2GS1W2NQ9G7NU8GJHUP5UEHLBCMEGTQWQCSFJNKCEPM2U473693O8FPZRRIRZ8NA5DT038TNFLQ2NT8Y3X5Q8TBJF3C9ZM7FRKRH1A6YLQ38W3764B7QIIHYZP3Z877KD6BHUQHMPELMUZ1JCF9N2MAOM3JH5R0EJWT5VKDXBPU9XRKNZM3EW7848JWD4OVZWLWUO6E66YF8O8Y17A8CJL0NAIGR84A6BM2FOY0PYN6S6BRNVPDZVZKLVFEU2SWD06DP8ZA5X9N2J2QZU7DO9JA1Z2NU797UDE5GHI2X0RI299L35TO8UWGA28M9UIUTZS18VR729Q2S4T5938KUN3FC5AEJ7GTHTZ0E6DCGLMW1XNGOCCZSOAN08NTVWU7WU8Q9Z9U6R * (-36#2HMUG02O2UQ7CJ5ZN2ME4J38GKA37MG67RBL8BKOA07572UGJ8). +-36#UI4YA1TTPNC6BJ3RJMSKLUBJT5Z91NS6896DRB7OEEEMZX355S8SR3NERQ4KLP5IZA0C54LBECPTQXSTJNVP911XTEJGEI8OPSXADX0KIOS3JP0DIJH6JAUHBJAML71Q0ME41VSXT97RFCRZKKA6Y6VKQA3WUQYORH0D1MJQBO19XC8ODFQLXBCFIINIVVBQEVK1D7CUFJTJ0SOOO1M8Z8JO76VXQ82ISOF9LUI9JHO64IPLMFV3SX7NVBK2JHYG4GIUAFG30TS0HMJGHAO8ZJZELDHM62L5Z15Q4IX6ZXC4LYI2UNOFUNPDPQC3V93J937SV1NUKEKC7E4SX9NJGYKNP2I8LXLRZBHRUD02DGB7YC2PC79DKPRFITGZ1HL9G4CE36J90WV1YZ3PY1ZXD9IA8Z1N24GNSGJO3QILQRU981QQ64QKFPCKZRRKR0IQQ15XDVLGMU25OVFW = -36#1J4VA1TWLY7F8RDL1Q3A0XXFGYU90JCJ5NOFHDA8IA9VRJRLZQFD37AV4P35ZB2R2F6HU8ZB8TSNID13OJ7DSJ9CYLM1VWKNVCIM4F0DPYAM1HEZ6XNJ4PJZTNCNZLKAALZMFXBL5Z8A556AAEI3A922G3J81CAO6OOX8FNTKB6E2KIBB4DLX0APOVDZGPPA4D2QZ82EKA5JMGTIMHY8JRY157KSAME0VEVUKMAWK2WNCZL481N4IA0DNR5KV1MJO7G5KS7GG7ZGHWFK7LYF3NMC9UB8XJREZUBFIRZJFFVMOBBSGKEE8FZ1R7JDLRWDULB1VSHSUL8PZ4Q7XM4GI1D49G7LMJK63XC8Q7H9JGQKU7P6731N720KEYNJ614YB7TNZCTJHKZCP9S1AL0XVL3M035H4XZ8T09HVS6QO6S998S0A0QNACX2HZJBTZ4IZLTBXQKTDEZRVPWEGLJK7L9SZGVVYBMCN7S0BRNQ4DZCIKC94JZTQAYS4CP7EGYS2ADFK2U6D06BS8V8WLDXP9D0ZO293V4N5X27F83XOGW3MM948MIQXCB3CS9M2OQUN1M65N2DYH8WLN6WDXGI3M2K0SKNWFD5AO9UF73NTQTFG9KLVKG68C57Y1TMLRHCZ0ZNSUG79PFNH5CWUN05U2QOLM4 div 36#1T2I3BK07VBK4WJQXPUEDTR0EGSA94RVDITA2XG3MKYLFIEY3AZJZJOVBCBAT4UGVFLTV73K76KBJSB42N4QUKW0112J6L6LTCIEBXAHAFLSF27S5NKMLV9J1MAZFOV8N5G3IFKOOKRJOHZXC9Y6NNZ6PZ8BYX6USGPE7WC4CP5S5KXWDXVJTTAEU4LO9LPH5R6OFF81G8H. +36#67WM9KCKMB7BFZJA1G6SO12ULYL55VELJ2BIBU26JWIWZWAJJZKE57GMOOAXY6BMW4552D9D6CYB7NUIQHHJIGEL8VK3QPZ58DVAJYTQ20V6SB780E6LBNX24HV8VJK64G8RJVB001928G4JAC07TQCLU5BGUJRCSCD0D5FN1SEW1QQLVFD92F7XCN2XJGELT9U81C7PP3A8YLHH5FRXFN9OLUJEE1QRR5HVQCPDKN2GZBFHMXWKKCE4X3FY9FQNNRC2H03B7U0CMC5V1CE8EFI7855R58AD91TD77HECRO1ESTUKG7TR2BRLKN1PVT0D5IKZMNP1BPLKFHJI6FDU2XWVD68KI8ZEPKTADU4NODCU7KDGATNBDC46P0ZZZHESS65O77D8KO3MYO5KSYTSD4OC811L9QIG0UNRGZQRNK6M350N0TZ9S84JQOCWA8VALHM5YZOS51IJLOM5DSDJVL3K3MGK19M5I7U3QN4WBB9S3TMZT73JPKO8QKZTW3F98 = 36#6P745OH48Q9A3I8QQNNT3VKIPWUOVIH4FS7OOR1KMG31X1LNNIRF29OZR87F227LFWMLDS8EW5ZULALMFQFVQ6KD41DL88YQCV693LM2FO5IXCEZRJX5ZAQYNCETWFE0MFOWH1IMSLWLW4A1X6Q4OBB8CZ4BXOCTNOL69K6U3XT0V66SQ8A76BAIEKQVU8O3X19SH8LW1UUV33YAOWMCO17N3WUHZI7KUT19KSW71RFRU5C6N9IZF454IPTYYANJWUXW6KCII3P90QE9IX752M0Z2LX66HO3FN91T5PKDCYBN02YMI03VEODBRPRUK29FUMQT8DEWPTICDD5ZLA7FPVAHKNY418E0DBXE7A593W4JN7EWYHJXF42731318Q51H86LELEG54345VBXKPYI2A1290L609WYDTXJFZB9CIKUTDZIR48J5WNLJA1ZP9DTOWH680J8QTOWJZQUTKH926YBG2A3A5DPQMWEWLYGJLB85LF4CIAJAR7VJAP9INWFA3RF4ZHPT2D112ELESZJ53J0HX8EPXLF0I1WV4LWG98VA7DXIEO2P8QO0KT90400GV5AWPIY8405RGLRZ4HQG87BZUNLYVBPSBHC1DUYR2G1717SFZCXMO8EI36VO6W47FKZDN6JTVA32JZAC84FVFW6Q9WAECBK7G1CCZNCVDJXS69ELJYZT3JQTXH2RBZGRDQ17WERAM2X827ULVOBRGSUSPDFDZ0J7GLEZ4LFK56J4R59Z4X7BAPODSPVKBTMA4BMGXJDAHW9LM9LOWSOJQSC6I9YJJGJ3WCV8PD34VYH8ZTYKAT3BW2DV3LWZEY3AXWYHZBWHV9T502YH6OZQ18AJBNX1W263F7S8QN8ZDQK4LJM4G6RI1OCZ9HFIKAUWMDAALUAV9IZQTQJS3CEWPMQBKKGV8ZSXXLH3PEGKKYJVBXK8362EQM6J9Q6JZBF4CDPFPYVUGDK63FEAGYBPTKKBYD10ZKTF91T95913C2XY9UUMT9QTDXDESL4ZS1P7UGZU6BNV5783ZRIUAKZN94XEA3Z2GCCY2V8XZ17VHIHYD4F1ASW3XVEHAAAEYAJM7CC8ERXSWJBJJ78ITA7HW2APMOZB73GW807E2ITZDP2QX3DEZRK0YSND5QC77K8QA3CA8GB9CJGDP96O2NWR7XLSD9JXA1WUB88BXF30UG2Q7USCV2CHFAX79JVVDQMRNA8JUTQPKJWONSDJ7HNV7LKA15F33PFIB3UVPC div 36#12S33MI8KG2YL1DECN0BF0EFOLB9ZV6IL8EQEBL1DSL5PT84TPIH1SVNJ1OPA2X01CZLBRI1IGFQ63RHDVVDJ7LUOZ7X40BN3K7P71I800K6JUTH8HB80XMH2UH7P6P4SKMB9AJVVYGHMGNLJ1UHS0T7A6PSUFDI3FA4LLGRZRA8E3QZ2FPJR766EIKQPYAQK2ISDHPRVOC8EEF51Y1MDZP97G52VDQMKHY3YCU3X1N6SARRFEYU0AC2Q8HHR7O1ZRPDXQ3PMIBGRBUCLEURQ70WA7SM1NKNOCJONJMBWR9UMCXRS70UJTVMBJ0FHV7SBGUG44XIJPXHARB8CHNQVSXTBYYJOYJ4KU2IWCOVTCRFROVIH54UG9HPM1C3368EAM740XOT73G5R0KS85P4UE1QR0TGCXBCJ3PF76KMZ3YIRK1BIY13IIM04LUZ8T7IXI1SPIEZEEZSQ1NXEJ4JGEZBCT2HPPI4T8QW9ONP5ZGQE4CPLSN5UET8IKR98Y5XYEJVCAGDEYA8H0VA7389BVZ3NEYY8WDS88PRBZN2Z1X0X8VAQELIW8ILZ58MVBMAAVNXCX90M5C93CCXPR016YCTZKR1UDB7XFGE9F4LHPSHABTA9Q5JZZVWIG7P3XBI4KG2SMMF46S4KUAI1ONL4YHRSJK5IQ7IBM6LJPT07LY2TK5UEHJQ9R52HT67VBZOTY8B2ZKVQK7WDS0SRUG8P5AJ71L9IMN2SXTPIYO. +36#18E2QAA13AVSTOAWHDX0FYOQH6MZ34L2Y4ZMEYKR4G50LT0SPE = -36#1XRQFT2GI2QIN855BQ5KV8S5KB1IH4XLI4OQSA1K08XQ8KF0XYSHPAIPICV06J5QE7QZLR8YKBL0HVTBELITBQQJ6LA2WS1AMEC6FFSHMNPKIBQPJ9LP35ZD0UQK6XLZZDZ3SZ04OBP940GWSEKQ8O7OXQL7H29IAM74FJ7SINXY6NVPGP1349JCH0XHKQC3ONSWEW7KODBK9Z2DDYJXGD50WP448TBAOWF1DDRTM2SU8DHWSZUBS627M62HXB7QD74KB7ZTV08O8MW30FHVY1165K0GPTTGS9AL6PKPOJ565D4WWEPROURNJXAVV0UN89CPWSRGPXH2MMXYI2VBGUAXBIK06IGFCFBU div -36#1KKYD2A6GOXBX9Z33SOH2EJVL0OH89UW2SDDLJN633K34OPRMPDHA7P9RU1C27AMVVV81T484YXMGTLG3NYNVFOK9N491EJ5ZD1VV7IK10X2U9GPV8TV9Y9ZZOV3A7WBR55BUJA0HY4LQCVMW1C7X18CCRMMGSDQHTHAD354VBHG7FMAHH0DHVSDHO9QBJIBU18F8UVBWTHLH4ZA2B7SRKM590IJYT493QM9VXTYNP34RFZB243T408VB2D2LBVN90A3BUFC909KSMD2VE3Z53A4CZ8A5S4L6V6496ZJ4RCCIHZ75DX. +-36#5V8VTHJOQQ04FA4B59PIK4A3W0GTU04S2TXQLTMH90TR3N29JRQ7PLOOL7B5P97JZL0KJ9WBZDWYW1M6FPAK64YNNFG9BH20559NCT8RDLI0O2DEP8PSRQ32NH4UCXG197PSLL08U1CX0SMP21L2OJSMZZI0Z08912Q39U34QETC4NN7XK2RUDR9JSO9VQBH39HYTY5CIAYPOLJS6HXGM52Y4H9O2E6AKAJ8271DK9047J52FGF7KDWSJKPILMU2R4XWT9YFZHWAU345C9E2P5HNB2SPR5RJLBOOY03L0KERON6TBIATLCOHDVBEU46SA9KSU4ZFVD6EJ9XKFOE3X857CKOJ71AU43143BWT7TZOD7RF3OO6KPUX81A6U2U51CGZZL8WXD4DFB7U3DY0ZRSL6HLYR9XZSGE6NY1KG3CATXYGQD30Y3O2IN0J1SIV763JT47RIZB22HSLQCKKABR1R5EKVKT7FH4NW7DBMX4YO5S = -36#6VDI9EP9TWCA5YHPLCWKTQ0SAZJ6XUWWKIOLRTE9STZF7N652FIN2QFGPE0A2JC1XXJDVF8EPT1N97UOS7G6OA38NAZOJMDOJ8TGQVB45G2Q5KEIPFG9PM3AFF6F5T0G5XCB4SN80DAS9Q2WY0PGH8YUNFAPZ2LJJ8UUFZS74GOB4FEQZAAM8YPP10UOAZXNW70TP0507VZSA29AFDGV2BXTNX7AX06P9LG9FGF02PHZBMIQHN380D5XRC9WHLC24J8DM705OL48YQMS57L00W6B046CG2GADQ5ICP46L9YP1AL8ME927YJSUUKHRF79F1MPKIELQY6V8DXYPGBHPHIY763NII0E57D1NBMIOFNGOO6T5AADXVJ69LKO9OH9OH6CDMVKQ2MPCS5ZU0WXSTYHWXV7JZA5F4XXESTR75F8EES9EJYFTOLZOTD9NPZFV3X1M0VBUPAHZYO16PTJL5DICKTPJVWI3X4V5BTCLTPE61I5R32YZHWTDPHQHC8P9U7XA5ZBFC45A6J0QV2LDHYTPP2KAVFB4K87HRXB57ESJ7QD2OGO2CR6507HEIYWRVRRGFBIL2AZ7VCAMKE2O4MZUUQBTFKSQNKFFD8NSPTF6CR3N0QXK4KDW1HPYM2RWEMLPIMVQAD2ZPHZZ7RPNUJOFR3HEV2Q2SYOI8RXNL5XDX91OZ5V7TB3SW4SKPKPK1J61CUGCC8LQ2E0XX1C div 36#165NBWWMAMYOJ8B742Q4FJABXXAYFAZY8Q5FCBWGALX5LFJ1I3GIVQ8HNNDMEWWH3TLDBAED6T7YYS4K6HLI4LMAX6YYYQ569GD2L3E6EICR4A99A06W7W1S2RTGN5IP064XGNCA9QGZN2E86PK66J1I0IAWRVISVN7ATOLJK5S5QAWK7LC3IE8S7H8YSYMMFE43FY3XR0H379CETALJIA4HKTXFAMIO3KA5VC. +-36#2Q2BBCM56UQL8MZD5EI6ZNAT6IVCQ9ATDYW2F9BPFIRL8TRJ6QAN22YA4I9N547M07KK7F6MDYVSZTFMA5USZFJBQIVCN8ZLTNTFK8UT1LONICMJYN3ZPIFN478VJ2SVDYJ90AWGJL8J9K84YWAP6N6GD5FF0ER29EDJ7UASVU5MX2ERDE1WP1JOGL77BRD5OYVTR5HS1LNSZ41QA5H2JMVPLCRB1PDQJDE0U7RM8MEPH9 = -36#30WDG15TYH51ZSWFK5FGMTETSKSYVDIOV4HXBMREFY0Z6YOZ89T7CKO8X9IAY3THQH5UE823MRHKXB670G8HHV5RCDCXE2RCZDSZR03AMZ7P454PVIAXCMZZIT6D5B1UDL0969KJEBY5WCZXR4UBXPHBW01N654DM1WWQW3B5F7QZQRV0M33YTD2OQUKR * 36#WF1XX0C99D0S8OMXRYPAXCEJMUI4J4TFW6RDOE97VE2XBX9P3. +-36#4N5DDCASAU1GJF21QUSDAYKLAQ0K9J35UGXKHGPO38WOCJRYAI03A2Z2SV91WLAP5I82O4J4GD574MR6RLEGBCD8HZVG7M7NGBUH6VMSL544CV0C2NUK1SHJSJ0KREBML6HYLZEEWT9SBIF2BPU6EXNMFVIRE2INLVOWI014ZUBOSFAXN3TW33DLGKP9YD1MZ3A5BJI5ZM461NKUREXSSOY2LFX98FCDNEM855C4JKJZFMHG291XBZ47XYRJ1VLOOF1XYVZ2Y5TMHA5281KO6P3R5WH2EQ6Z57J4GK7B0YZ0H7XSB3NXCQ00AX26JBIIZ5NZ0CAEZR6CPD4YO7JHE0A0LECOQV511W5SZEQUKP36RYJPQO5RYWGEU28KRTLKMTPAKK1EPP0ANTI9AZETY85J653AXR4WRNQDROF2FDHT4U4654VGG7EAURYA4YWKQ51V139GSHPYLC9Y1TS5LH977YP8EB8434QSYBS2MHL38VR9XV5Q3675L5P9HNCVIE9HI896YXKFY09YKCV9271F5EUQGO5M0Y5507O0827FF0UNJZKAKXMJSR9SBIKDEJ8OMXNOY9F6RN2L41WCU4650WIMKN8SGGPFCTVWIJRBO3VQ8BMO4EF4D32MJ8RNX03KYCYQC4MGAADAYFABCDOPH6A7GDJA6NRDY64R7CATLE0ASZ5CV6YJZOCFUVGPDQZ5FHY151XERYLZF3RDJUS4F2B4YREAGLV0SUZXWW0NGMWEUCW0QYJ5HNGHGZ1VOXJ12MABSO1UYEXFXI3Y1GZJPO0F4WE699YZDV1O52BDHSXMGUA7W8BX8XDMJI1KBT6Y3CX83OHYSF93P2ZABSXYTVSS7E39GELZ24NDUSIMHCIBLX0BW5W47ZQ0AGUNW42A2KY2NBEBSMAR34IH0ZS07ZX2NKAZ2YCNX828JO30CBHZQB18MOYU9IDTA3A4TB02ACRJSNV80JEQW10417NXOOWKRUDPUYFSUMPP41IRE6THYPP1ROISITLUIGKKXZJPMJAXUB186RLGWUO74PL9OOFWJSG7ZXE8DAK4AY0Z850EAQPH0546977088N6S4THREV6YAVPU9JWR6WEIZSY30EXL178AHQNODIMY10HYX0BI9J22U3SPK7UKEJSQMAQ63LC5236YTXA50VD8L4DGAQE5WY3060VJA7LE6ER5WSC8F13POWCLX2KU210RZX74XV54PME74BZ6HVCV2AJBA0ORBL6F4AF3EEDZQYED05Y685IJ6QRSR5MCJCYNPF5WVURX28KZGHD0X99V6YU9TOBRLTGNG4MJ5OZP76RCS4J2M4QB4YIQSYGFTX4N46KS9C7PCDHTUNEIZWJLMNSOYRQ3DE3M27SQSK558V1LHNWCRHLOG45885VCW1V5XJWXN8C009DJCJ4J45HDCV3M11ZQNQR007C145XVG13EB0CQ5S3E2RP72R6LP5M2VLVKY9FK9MC93SX2A6M0LM85VU2XBO60IVA1FE2RVJ0DCZPNS8824DCZM8G30SBJFLTD6O2759A5R5FKX5GHL4G57FXBPOLKARHSFQDWCV1AI3T3CA00GWT7JTBULJCHKUJLRTF3R2QMZJW2PMC3BR3E1PJL8NKNU7NJUY9I862J67WCY66UYFC4WW11C63RIGC6K7RVZ3WG84WNFOI2OMHR = -36#RMXBAFCLZN4CCD7Y4IERD6CCPGY6E3KTOR8HT1BYAEU2S9I4ZYPFXMG11G6AKZGIF99EGA5AZVK7OZAAVKBHL0EX2F6CP5HRNHWASWUQ7JK6TBCG2JJ06QWHA534SPJ371M7NGZLJKXGYC703YWA22LH49BWZYG4Y71HS7MAEKS5DBD8R7QXGEWDA631ZWDAZHDL1NC9SN5FIKEMIYWPR5FP6Y9QV60BOPWE83C8DLEFKR4OHFPL1V6OCRHOOAMXKY8Y3YN1OINLXZ75DAJZ163K90H8YI2I0KRAE0RSDT4501IBLW61YBRPYEQHBS7KG8D8V0IC7I7HHN22TAA9Q4BVUESHI6CRZ47Z3LZ0KWO6BXUPNCB2BMQ6F0YQ0BQT1IOO62F3WD41S620YGE8ZJDU13HD2FW7YEZJKFQK9Y349J4202FU8JSQKCDZV2F78HCDTPH8TLSPR7YP6W9OSWFVBU2VWNRJ4ZSM0LATQ1Z7OM1BIZOQYDDT3JNZI562G6MSAYA55SE9I9P6ESAH57ZPTUL1DPBVZ1UW5TZ90NA842RFWXV7BNTZPQ0U4IQSK7OJDG4K6DLHUDE7F9JQ3JH3EBKEZ237SHAOUXD0ERDXORADQ5A7S3SJ0YDWZC9H65Z43UAGYGBQMEK2Z997P2AOUGRVZ355WKTWI8NPNXO7KBQ6K8EJW58KMQTPKREK6WIIGXB0KMVRZLAWBJ4OOHREJ6FOYUA6VY4DUCN4O6UL * 36#61QAFG9SQK6HO6AMQVFIMW99ZJF0P2LY71QP7IT8HYZI1T0OF3UUS9YKY83QXNT1KU4IYVU3LH097PRURFA3P0AEOURL5A9BJIDQGY08A60H4CTBFYD3CRYV0DDTRRS3HXO0SRHGEM8Y7W4O8FFLDW0KWAZLYNXG99NWB5WVJEVC5EA8RF8QX62LFFDDQKPRMNN3U8SJLTQWQG29JCF89GVPDKGBYKD1ZZIJ3M06A1ZRR4UMIXEWDPCIYZ8YHX39ZCXN2QKGNWIV3ORUHJ6AZ5XKZP9IPN96PXP32EXKZW7QFR4CZS0JWQ9KCEEO4W3KXO3PASDNMDFNL6W5WCSY52E924QGUIXTVSZXXQPYTAAVTULB0TVEIXX0SP3CL4T0RBPZ1787VB9LI7BLSP6VRGSPH8216ALZHDBYX6X8Y1ESMQO1P7RBT5X7HBS84XHBGB2BUGK86B4BIV55AHLD5QLH2LO5AW1VB8O62W90SLGW3W9CPHQYZDFVCC2ESS01O7D0T3SU39Y3OZNKEW1S4SJ50VP4ZBEFGTFO0PW0B04K4QW2JDPY6PFT65T0VF18HMXOLRXC8WS138NMYBOTOG4A5HOIWUU5LTWKY3Z310ZMSCM8G029BQFBLSE46JFPAB9C9Y69PSWRJAUG0EOZ77W8I6OA2E96DYA6G30Z0K0DHZ079NV1IDY3BPA7E5IXJCP74FI6EIP3NDTAS4LGZ7UKYKU0NTBLX02O5ZQ3RSHZNEM8NE8487QJJ6KCYCHQN13L72ZOE2YUNBQ9TT4TD13EWU7CYXHY4ZUZ24D9MEZHNN6PPLKMAG2SZ5536AP3HQOT0A26A8AKR9NA34Z15BOV7P0AZH2VZTH0MV9FQL0GFEUIHJWT2SHMDNL7ZBCBI7BTBJVXOL2RK20JBG6E2NBGK5CAITK1LFG7001GK1YRF. +-36#W13HUYFBJ741B173RZ6IY1WMOVMP5U9QCD0P32KMW4KOQSKKG = -36#2J0K1P6FN2LCPMFP6I38MACU6N2Z8UWPJFY1IY0UV6PGQ24HH80D1RUPDRQWPQ0H9YANV92326GTT4KVAM5CQAEZZ1FY3MYP7LS div 36#2UAMAMJXSXCGUPRY6J8LI27D7ZCLQNCPJJPSP87QSM45I7LQGM. +36#DBPYMNOO9TJC46ZRTA7O2US512HIC49SSME7CPW9IVIJ3WA5XY3QSK4CIVPN0J5J5L5D8JOXTTFO4H5PDRZ2FQ940PUO6YCQEVZXSPWZXPIYSUTFSFM16NF98KAHOQWXBGHMQ61ALYH002CD3TJ3Y5N7EYFJV0KVW91PGJ26ACS90TLXUOKM7O4MGAZ9IMYH5AQSDBGRZF7VHZMBU8QU4NJBHEARUNN58B0MNKCTHO2VIA059UNC175NVZDJ6U9NIJ220122HMW4WH6CM1VWAIKZRP2QWPN9XPGD7KOQWBRQQAW8EXAV9IEHJFGPP92MQXKWKPQM0Z67OUX0ODFZ39T1OEGGIKQAO4V2CTTQJB6EC76VXHNV8V7O0TXR631T6EF145MO9J66AYOUAGQHBT3C0WDYCR2CNQJEIKTVRCUJWM5HHEGQ51IC2AAWTVO0ACFBVCZ8FHVZYUIW1B9XSYRC7DM0Z4N3SYEHKRWX38V7R7DMEOZ2Q8HYSI397P7VG5UCWLTGCZXGT5ORZZALABUT5KUS1SQ6N7ZADZUXI6HI8S2DKLY73H492V8JLI9J1WDE51M7FWIS7HX83HO57DDTCSS4O4X5YLYC592Z78N9GPSPRT6T84H8JYQWB0CHRV698T65RLT73YMQBOGP5KVL2Q6R1M21QEPXJH9P05RXGM2CPVJRABHX65UP5DQ2XSPP2TH3FKU8UT7PPHD1GX58LJ = 36#1F9Z35506RYD18KV7Q5FE1UZ4Q6ENMU675R535TGFYT2ZI5ZQ0O2SXI9BZ0I17ITDGGU0HPZDUFJA2OFV3PAM5RB1WLURAHAEU57G4JSWFUQ7IMCAXJFCD23Q0NEOPWHU1PAJ727M3ETMULFRCKF16LD17Q0KFE5S4SGARBV7V34I4G9DAIPRXG6W6OGLVII5RHHUYD7680RGU6U1WBDR7O6PE1F0I9T0ZEZVPR7Q5ZJN5PXIVCXHA4LNBRXKRBPAWRM60HEG4YD8SZC0BQXIYHKCG8FPTLXUVHGSV93WMAY9RUFUGGZ183RSWFH7SY9FYRHA0RO5FNBHFK19XB2RBGWTEUI3ZYW0HHDN5XGLYIQZIJEWSFH058SKIOMK0FZQBFXQ2JNAZDVKONJ1YE8RPY5CK4TBQMIS5EOTSFBZ3ZXYAH6GSPYX3KJF5QKRTK2VGODABJJRKUU67UI0FRVFTDY6JERUF7ZO1V3LUIU26LB5NN9KSZBD6722IR49OBAPXYYUNMLAUTLZW1UM74HUFG61GOCQHSLZMK9S0YDE5UP6D3KD2A8VE28O7ALY1YCSP114H2B67LLMYXM5L87P1JBOQPM23HAL3YUY1FQ7GRTRWPEFB3U3HA94EPGU0QHLU5GAXCMHO4VKA8TO3AP9I8NA4XROOU9JI8CMPGLSS0BWCO4UWVHQZL2620N50S6FYVNDRV9HVPCFLRQID1Y9I2UFP0K2BGQD1M1REMEE7A2W5KDW6GTG1HEHIJ20WXSP3MUC80UKKGQ1H8KG4OW8M091NODI3MXJGP94DRAEJ63D1812HNMJNVMY7UHN4PFF7592PFCY712D8D7YT2IFYUMR6GUCKMBSID8FFTEONMGQT43LMXYJTTMZN6JS148PDW8EZE48ELU7YWR0UAK52MNOAT87W0IQAQFCLWKZJ6Q11RFPRBN5I079J14GVIST2APQX5FEDOYY3VO6JU4IMTV4BE82O8U5KDZNC8DKFN2U2VZ1A6FAUUN8V0TQWF00TIB7S8G170N6ASJRPFVK6UTPLVUQVTFEFJFUR3JSLU43VK4ZD9MI595XOW6B13EF4ABTKFH6SBQZ4Z6YLMT5WH3SN2NBPWS8UJR4B26J32128LJN65YRY41FF8JK05LNQMBCQ5Q3CB640QFTN4NJNESY4CA8RJA98CLOVPGPEBGZ98NT64GA4L8YS6RF2JMAN00SEVF84IMZPZ352IOCOJQK7PGJ1I4SWB928SF3P4CKRK5E0XJR1FUYDONLTXSULHN8HDJ1JOLVKOGVREMVH0R24S8OH2ZOIBN6AH969CFMPAS8RXZAHORUXPCF3KADHBBK3PTNE16ECEBHU6A107AHRPHDBENW53Z40CEVH2N1M3TNULJLS1UV9D8YIPXJOUG7N9WCJNV6PR0SQZ378EXK6VIRWTPR9XN1ER4J5M68B6FRG709WX8IF7RSXJHN7KFXVXAUT384WZ0T63WS5HB8BIQ9TOBIKFR4SG4K149SENXUHT7LLXTGGBRJL1H36VO8YJFY93IXULESAMX8O8VA1LMJJJ5OT0T96GTAOM62PZ84G890C11XGXPDZQE2K0JCE3DOSD3QAARO div 36#3UJ10ZW4WFEBP9WZM9QFMXZKFKGP44P9D6YPLVHO6IQV12I9AQZ8PMZFVIU39W74R4IKWGU7MVZ9P2I2QPR668J54XIM2KUK57W18BKOK6UE8F2AJR8M0R2V334GL00LQIMGNQK5RA9D6BXI2NMEDGXGXJ5R2GHZS2ZDP2F2ARFTCE9L74ZKAPJ7GBI2AL30AKL76TII0UKVC0FHMBFONS446W2BNEEUTR43OB9FHMNOAOXFHKJRWS0CEQ0YOP2D8XKZM2HTK5QHS0DX5HVAR2HRXZLU9WJH8LVD8CS7IPQGJA4QYE0LTAAV482H6QUAC4LDODW0IEFN1SRO3129JNJL2TNL4SMZDJPN3V22MVUS2ARVPB6NL1WY6DFPSOMPLBR4LDIL69PMXTWWRGAJ7C9LB9MGX61GN1SB1PYZNBCTLQMRU4LRZID3WJ9SWNLSQN8QABVHWJ86827AMD6H6O6R2RQIL1HLGBJ5NTLQMK1BY4LON2TA6BELD6RTS2TT328Q0X96I1YLG04LP9TWX06K9343HMNIHVE8FU1JKHEWKU1HAEVGAESHATQTRNCQZ2BHX7MZOIYAMD62JV8HK0D2DU73JYAM0O26EYBM72W2RANKD4CJSEIN9IGNVCPC58MLT9LXJQW49JTUVZW1H5WUJZXEJOEAIDF1Q00E7N8Y02R2H62PRLB9MPEJF7L11PAROU5I5Y1C9RNV0IZ7V9BM53LO1F5ZZKI2UH2S0XIC96MQS74A3DH643OCY1M84P06QDUAXDZJD9G55GB69EDK6IQAQU7FIIICCS2U9C0BYJ7GOM0TE3X2TEL6SHMX4BKYFC79P3RNIG9OCVQB4O7O2U2CDLJFDWBQO49SWYIHU9P9CRIHUXO. +-36#Y50I2YQMQNQFBKYH6U931J00CS6WJKR4YTIDDDJE1XTMEWKKRL8PIJTGQM3ORHOB2JJYCVCKG05O5UYA9972ATEA6C85D5CFG1TVI2CWUF15YH6HUAAXOFMWDSICCTL54VDOX8WPWV6U3CKBSX4N3BPIVT0IF5OHDT8F3OL3W40CSX1Q2LSDDC6F3MPH6DBUHRDPIXCMA4TEWASKJVWAASK027185RL6P1NHGQBCV3F5WW2CT1XI82YYLB3T54Z5PNF4STSKTEI9ISKRMTXYOYILCA086ARJBPC4RTO7MDPN8M4I9X45OEIKFY6WN0D65EURTXKFIHHUHHKU3MGM2N3UHVUSEVBFL22NUGB1RMO69D6R5LZ361QYK2J1MMN8HNGF7TQAK3HQDAH6M4CRDZ5N1HBY03IOGX0UOJSOIZD7A8QNQKL472KANVVT9G8Z2AHNH4SL2WJOSK4ENOPB2UCZF568OBXDMCN8NIY98QG55J7B65DXY3X05KZQOD5RK97D5PG4I3VEBCPOELA749DYF12MKPIGYIYL66GGL4SAN2T36VSKDS8LSB3SLDUIZOQ9P9PK0AGR5P590V2MWXJI88XVTG6ACZPCFFJYIKNL8IVY22R9JNAZUTDSF2EYMFFB7VVDH15MUWW6PM70QJ20DDV1NMGMY5OP0IUHMXXOC93QNELISNCBKG2HVV3SLMIN97SKVP8I1DR0OYQRN8CEZWCJQ460IQH4GVHL7OR1KGUN50P8LI238P8HVTHP7DDQZRZPJS0XX3NM8KFLOOCF9T8CWF39L32H0P7XF8F6S4V59POT724GQLB2P06PP616N1HPE29RJE9BXGJK6D44H64H16PAFCIP3EYAGVT0W6FZ8OQWRPDFWBCUL8AN002IBJTPWJ6YT8MNZH2Q7NPQ5JWYKNS4IH3SR8EXABRK1R51CZPWZ6VEVNYGZU0PXHJC2WES2GHF1RMUZOS77UIZBXT9MMKMZ9Y26OHR7R99FB9XTAGELLSIGPG6ZI = -36#17GQLW74OGNNQWYV6U5JP94UH1U7LNHK893EMJPFPVMVB8SL8H1EOH232LW2RPA5XWOP313SW79UDW84XD4EOAZPDT2JDTAEHB7XZICKTGR3EP47QT7FAOFEYAZQO858WNY0A80T6B0NJTTJQOTV8OJ2AC3PCX7I81L6ACGGFQUPHWYECOK8FRI1FHSGUA1R9PVWKXEMUF5KMX2A8VCTPORG11TD5MYOY5UOOZLICNCW7DGPN5C3U8TKO8R94V8GLH5GSWTFN82LA1GYW3WTWFJ8JHZW98H2JVDMT4QY3L3RBMPYBF4CR811CBLS1XG426D1KW919AITOPHNXTC5N0KYXYNIV4S2LOW89LA24P5RJU3I64JC0OTSZD2R29U9YWXJPYKFE96PBVN26QLF2RRP6INC9FIYH494K9TO7JCIDV0Q8MPPQLD3LPYV77YT44ZC39G5C9N4A0I * 36#S9XN8L00VBKMX2IE7U6GAAM6MI1MRZUPDCQK1EQQ7RYU9WZLEM1BUKNKYX1HOCGO1XH64TFVLMN8WL8F4JHMXRZBFFXSXW2UC96ZSRNOBQIAYZIP1AEHPSV05V3DP7YBSX94OJ35RZVNVWW2C7AZL32HXDN5Z5X6ERBHU691ZB854ONQJ7GVM763ROTEFD7VJ5YDIPXA6XW5FC9BSR6UCQ5XRGT3SRJVYFKFQ5MC64YMFNQERDXUX2UXIBIZPBBI1BX6845M4EELGL8E52IC6I0FQN4U2DW5XPPA60B5FNF9F9MZL20GDUY1DQ4OR166R7TM61KE1DFCHKIF4CUD7IF7II7B2R88X5S94F72LQL4920QTBVH16MNZFA2LV349PZ945C26LXOYZZPPW0YGSDY8T8GFEWQNWU96E8KO298ZDBMXTMXQ2EQMZFAM5GL456SLPZ8H9GA6X05RK2KL5CZEPIWYMMICWSGPT0OPWORN70LYX3WR7DQ8PVTQ8H1JIBDW9JVF68PB79JPXGQDIHEC421AOYSCJSTVYPJQMOK68XZ. +-36#2EZ04IKXP0B3YO6UFBF7FI90JK3OGRCKWYFFJUEQX49FXHO4EEW1IDQGQTB9VGBJO2HQR1GQQB6OABEP3CKNVF1JL0RB4J3NZKLPEMTLENGYNIMGDWG51L04KRZ75E026VWP6Y7817AUGIF8EKFJQ39MUQGOG41STTKI8BON9DXP4KJ4C6JDUBSRS0LTPAGYVWU23PGDZ6QE = -36#C1M21NVJJG0P9U0MRTAMOOJ8FIVTV8M0EOA9PU7PMJBKU3CHEZKN3Q9YRZGHX8CSZSUUMRCOC3RG3SJTW4GFQ7ESIN81JBK9B6834PD9MONHJFR6QQ2KJY0YPUYVPYN9HS4WO51F3H0HMINORCAV5T702JPWL17JSNR2P2HWMQIO5PLMQVY4AP1W0S8APSVKWJCRGJ5THDSEWX7GTLWRFI41PW5FE7X8GS5IJD8ZAS9AB9NXMEAZXHIQSANIFA8ZDZ3071P0G div 36#4ZHE11SJ9G7AYPZXKXU5QTCWQ399FVX7BTA08PL5EA24M6IUC8328ZY8VM424W. +36#4ZHE11SJ9G7AYPZXKXU5QTCWQ399FVX7BTA08PL5EA24M6IUC8328ZY8VM424W = -36#C1M21NVJJG0P9U0MRTAMOOJ8FIVTV8M0EOA9PU7PMJBKU3CHEZKN3Q9YRZGHX8CSZSUUMRCOC3RG3SJTW4GFQ7ESIN81JBK9B6834PD9MONHJFR6QQ2KJY0YPUYVPYN9HS4WO51F3H0HMINORCAV5T702JPWL17JSNR2P2HWMQIO5PLMQVY4AP1W0S8APSVKWJCRGJ5THDSEWX7GTLWRFI41PW5FE7X8GS5IJD8ZAS9AB9NXMEAZXHIQSANIFA8ZDZ3071P0G div -36#2EZ04IKXP0B3YO6UFBF7FI90JK3OGRCKWYFFJUEQX49FXHO4EEW1IDQGQTB9VGBJO2HQR1GQQB6OABEP3CKNVF1JL0RB4J3NZKLPEMTLENGYNIMGDWG51L04KRZ75E026VWP6Y7817AUGIF8EKFJQ39MUQGOG41STTKI8BON9DXP4KJ4C6JDUBSRS0LTPAGYVWU23PGDZ6QE. +-36#I4RTTGSQZKN97H7X7119A12058ROSLILSAIBGTZ0UYY0EUVJIFB7WQGC3N0EVZYBUM4VKWMLAC0WFUTC587RDNEVNOSQUCQJ3UH7M2N799L6IIRTVIXVEVCWG7E89NC113HJPPEMZJLXWVGGB5QQH5TO4NXEOC0ZJAT0NUFD93FXGM4WSK23XT25UP2H34FTV64UFW3XFG4ALA5PLPRTVQAQS74ZWMS58K3NNZ9ES5NQ9F1SKVQORKZJH9OFJ2WJBXK46EMRBI5VGFUUE00TWLX1WOFCAVKDTC39E4QLNBJQ8TQC1KTDU88YDVU2OJU5C18QWB8NY9YAPOU6QU2NX61OXKECZCXRCD6HYTY4NC7SZAZBILMS36WUPBK0J92YP932F9YSRLI8H3NDRE7NHOHGIFYEFMQ3H3XBRAVI0V1JWIGBV5CXO0P9QFCH2G47II = 36#K4KUAPAYOSU9LY9G5EUMNY8ISPWUKBEM98X4XDMA81AE6W431MWO4XQYF11AYDYDFN7T48CUGRXY6UWY0E6OW8W6UWS0BLMUESIPJJVN5SSUTG4CG0W0KUP3SFQ238WXQG9ZAGUH5WM4RFWMSBSQKRQNZABBE8T9L6ZF9CCXB8PDCJJW9G2666JR8C6P7JHH6EC8CICI99BUAWQ86OFGYI47ZM030GZNCBLVW5OO5D5J6O8HAEYJZ7RVQFUUGEHUEV4K89VFJC6OH8E9X18EQ3NV3I8RFGSAPUDMTYULKZFHX7JUHV406K1NYSR4G1CILYT94CJUOMX3TW1T76ID5H2WW6UK46YEYIQZF2J6DT9CH7677LXVLRU1UAKSW1VLZ7JS3GUUELP8DNDIRAXD881TW6TFCADEEGHV5581HUH1UOYJWLGK0S60DST3MF68ZJ64W9Q6803WDXVG73LZ8X5KQCXO2PPBR4WDBW9ZAE6ZMVAL098B08HJNQ9BJ19GWBRHHP3MPDAUYVNRIOMBDN9P576TZH6JDH9MD04TALUIH9C0RFTZ8EZ7B3LP8E36A4DKBW5ZNCLYR8JZLA2BDQKMW2MB4G4SM7W4XJMPQDQV34BU8ZFUVV84UKKQM07EMLTR1C5G955G9PI6JBY5RYK9N0DLB01I2UBDOM04VJM5RC9NZ6VFJU59KA02KWHLNQLBYQPYN0 div -36#13YK826H3PNP3LRA91JPF6JWU8J1NW7X479PT1ZWG7URVSMUUUD162MLL52NIT4SPIU9VB9D614RPN3YZI1U5VV7L4IAX2JYZ99ILLEUBFZF4VWZWMDVJC35EXLQ6P47P3MCQTQZARDNFKRVOEOIFXV6HMKVOJF9OFPJTR8KVFQZX0UY3I2CQRVT0W423H3UJXADS8M2L0USKVTGZEWJX1AXX8OKXR4TA4RT1ONNW8U8YVGOPMUB28XGLO44DLY7QZ2MYPURA. +-36#7KUXKEBPQFN3EBIIY6HSD74Z2TWOEA65DS3Y8PCL83WIC3MLWIZKP15CX7QV7JKYKJHHVL8YSQRN6WS444FLHCBH9Q89TJ7QVQMTWNMO82F6MTC71T92KOHJMW5OEU48T6X18ZO7GNMD3E70H3C60NWR299ZCI7CI8RJN8H5YZVDYDE4MO6VK4FLG7AKO9L7P0YSWYY8J9GH7EZ4C8DKGXMMTTXEIUJKJVPRTYZ7659P6KHU2HZZMNZ2NUXH0KMGTBAX30FBE8P6TEH1WEPEC4PMMMSY90F94EV7YD9IC0H4UKE6X6RAML3WKNJLNQKYCXH1487DGJ1LR0VWPMZH15DUM8Y1J2ZZDPYLJO5BAPFL9CTZ4QZOEWRB2FG87CXTRNBWW3YH4JHAWJ62RCLIUPWOEGU5EFRMPN0B90L9CQ1BT45TKU07RQPPOLJVSZ53XD0N2CQC9KTTFH8SWEZDAP4E3OJ3OB2H1CVRRQWQZJ7BSRD5W87A3Z9L4WQ1IOKJCUAKZVMR7D0WUB3PNCMQ0KBLKT924SJCTXNLARZ4JWAG1PZ5ZKL9GJVG7CNGIVJD88GXOIA1KKZEOMEDQQHCLBRO5JBSFHRTJZVOU0ZV3IUZHLRTIY7DTQABQHIXR78KLNMCG4FIQB8TC3G17VDKQFLK9HP5HFMRYG63TARVOV34HKAQH2QI59XIJEHWP8QGDXXD7B1AAB8NXLDW3Q2N8CMH7AJ7LGN1T8HXBXBRZGZQI9RSF43D5UYBK0OHS1AXXMWFG7GPJEQJXL3HEFSSRUOUSGIPL97LDZSX7GTKB90MRWWMUDBYAUTAG3E6U9M739U5XTRN3JIBY4MN2TM4S61HZGAK422RXNL16MN97N6IA2D3IILWRE5O9AM51CLAN43PVAB8QQYWNU3HDCAA6RJ2J7W4NGU8AG2MBC54DV63WQKT5A61P73MIV96GLZRVP6F96GP5X791KE76UPNEDDPK5B4HEWHO2U3RQCTB5LV04HROYVZX5CU6Q76UWB4XVHP4DRBYV79UZXY83AHXFGV4DQR3FULP8H380MYJ0ZZNU24Z292AYO8GAY5TZH8CCP2H7YWQLYYINGQ4AL31SFJ36KXFJIHKN2AGEOJ6ZBASPZIKICNN9P8ZX63A7W442RJVI7QAJLGIXUXXKEMEWAZSMVEH8GS1R31514EHBFPGFD5AS5WABMR7K3K136HQ8SJTHHLCRNNDSTSD3LOT68RUMM8W6M34B4POG91Q01LRL2AIBIDMLWPDQ9V91NZYD41YKHZ8DV6CENJC70ORPGAHQK341OV0UCJVRDATFBDLVI1KOPRPD49S85ATTAJRSD2N6S3G1LMH8COWNV1KXC87P3D6709BW24ORCB4D9AMTLPU5KNU37M7SSPBPWSMUC2ILS0BJGS0Z3VJTN2L9IATHYRLCV2MVMOLK8FOSR2INSGI5PXKT0FP0YWZPZJ8I2UHG4K0TSMAM29H6PU0SIS7WJM0A3AC86XDCWPCR8ZX94VSDGP1HPAGFBL8XRNWSYFYI0FTHKDP9Q83RATL1KHOPKBY8LDTQ5R5EU58TKNJPN2F7MUSC0186KYXDIIDLFIWBTGVCNC5XDU89ZWSUAUCPEUIYN04URW4AIQOIAXHAVXO3B73HC6UUHP = -36#G0Z4KH0Q37H6B0ORZD3Q3RYA67OVX0KO0MKUKOUETP2EVDPNWIPR2BUR8QXED4JQ4KA8FG5WU8YQ1472U6S97U48V72XNRBWRGMCL3RMF8W8O6UMTT760ROR45A3XH7ESEE6TMFVMB8NU6SC25H99SFVK9Z29HYU30OQOKS3EH7YB7B9XJSM4PDAGFFJS28Z21LNXAAMO6C8JIHN60GTC51MII9SGVS764QRA8MBFTDA7QDZUW7XLRBZ7BTVV4OQQFOP3C48OJC81JGU1UJP1W9QBK0OB0F83V22L3JHXECZGSIQFM5WR5D0LFNKUSKIA2ZXD6558U04192FQX2R83GCZ8QE3AB9814DR8RTMR1XUTZ11NW2W6TBN2J6CFSJJWTQMTK2CWS52N4XZGN204GHCR0501GLS35VUL6729EC9VPBH7NJB4BPE769YWTXI71J742V8GAKFGXS0K593EIN4ZQ1PUBHQEKT8Z1CLO9DPNHRHP7MGWIWYN9LPDS7BTZBUHPTLIVFWR2PFROJCDC336V4KBVKBZEBCSOKPROB494AT6KOPRTH6L5NBC8S4QX8U4Y1Y0H934P5D467OFKHW38W5ZLQ1VHIEVGUIK8J0LQZOWHRZO9MU9BWZ8PHZ5NCSZ132K53WXE38MBGNCSUNJSFJ7O6KF4A565TM7ZOHO8VNOWN2T672LNJKWC3G8CAIM8VQDNCRS8NRA7K3EIMDHF576PNGTMPNEW3TG7W4IQJNX97RV6UQICL4JPTZ8ZJF55WVRGS5ET6XC0NJLFUI7GVDWUJGDAEN1 * 36#H0W7YEJM1M3KCLDOYPUFDD0OAJDP7FJKJ4O7U3P8YL4OGM3JU0EJPFRRCG26LXCRNQH6DTIDJ9Q3VCD809QG1XVW16NCK1O20W16LRA7SWGXC5AKA8DNF6P1V837SO3LF1SN8P7MQM0I8EDHPMJBYJZ1TQSXU37RQPKVRTLRQ7S2JLNP4MXCLCHKI6JE13MRT0YWOEMMN1HIKCD9R9X1SV1753CI6X6Q7M8RAVFUIBE5DMN96420T57ASO2UXEPZF6889XKAYBWWI42BRS7EENM4TTSJ7XDBTR5DY2V42RCJDENIXZAEFV3DBISGUOQK2WDOEAY6F8X6GYG9FH34LUGS4N0PDFUW7I8WGQD7F38LX5Y3U201Z6NNOE6YTIQ752PLSSWFT3U69RY23B5O5UA3VD1V5WQECR10LIBV3YDS7JNUE445HZ3ETA1BCT06Y7HWQMKCDJ0QW0PRMQNT5AEKBCUTRSK256P6GMNH5PA9BTNL5EJ1REJW1ZMK6GXJMZ6CH2KHB2JYB9RB352E0R3FNT4QT0LWI28FBIQ0V1X5Y6WXK0NWR1RQOGZJZOC3G1HPSP95RHEOPGTJUIP4BXPTVPS7TVOVFJAF176MV6ECXK3CW4PUWP9K67ZMS85TDP9EZS4HXAF9U86D5EUYD4V3HFEMM8SAXN9ZCP7C4W2QW83EQHAGK7K79T60XRSVF6PHQXH67K4WKZ31WG5ELJ8XF5SMQNEOQM6G3XORIB0XFXV5AYEL3GGZY6PG4FDJ28B16STZ3CTJBYGRHNCPWB5GUMSP4X7XY3IWS0V2F1W7HOYYESOMPDNF6YF8M1TS8HL031WRH3L4W3XXGGH6IP. +36#5CAR6R5XJDY26TSDIXPQN9M4HQ71428QBFXO4D7VR135NRJRD9OKA0AOKBMZL156SGSNLOOI9BC6N6N2RVTIOTQLL5Q61IGPQIP5Y9SWKH6C9B63GTTL6T3R7QKEQMEEOICGHU8GTQASALY68CNX5IM410OVIDTX2RIH9F6AV27VYM70SI3SBTZU629CTH4KXL80RTLMU74SLVQHKVEZK3AV8KCK3TAGIHW3E31BO6XPL3W1UR7T1UCUIHHXE9TMQ01QJXWTMHV08EQX7C06RVUEY9GQS72YSB6LGUC9N6R1DQPCVZN6MY9KFUUKPK2TN6N2SSFD93NAGCTODP72ONLG0X6VALKBP58NVHREI71T7DB4Q7M3GSP85ESZM55PQP7VVBXYR60F33AZUAL14G6XKOFY1BAYFWW4Z4T2SPD8PLY54L2WN35ZA92CF8OT48RUMDX8W99LB0YBVCJB9JHWRTBB1I8MHDZ9MKEVUJ0F7J1UO82D6NX2FIJBUDMSJSSDDLQ04USOT4Z561XRKM51E4TPGBW3U0Q6W043GS58CNCFYT65U2XNNNVJXQZ8VVDRBOPY5BI3RFJAHTLC9YLRI9YLGCOZTL6VSMMLM3K0VCBX4DWSWPJ8TNZ54KPT2X17ZCZR99R4FQ765PF8HPJTK443R60A4RXO4B59FD0MAT6XL2ASYJDEK714UBTXU4X6V3QVHRPGW6Q0SU624QXPBOTMZEKZSU6PX93UF8BLT43TO9M8PL4LMPS5WKZIEFBYCUQ8SC3CRJWWQ2A6JH86LZV87SDSEFSYTWNIH34PT8EXWSGZPFA2IZ2P2OQQ9JT7LJM0NDKRVFB6M95J5I78W6BAV0S8XEZYWINSP6D9NQ27QDW7GY1FA8M85IY8HM4K9CNB30CINWCLRAKRHMYIP7NG23NJTEZLL40LNMQ6P1GX4NV31XT4G68QGG69JFMRX9EV7CQ3DQG0 = -36#FA3LG8H3WZLXEMRIHV1FQ3HKL09Q6ZD8VQ7Y3KIWFPEUCKMHG6YXE6RY9504MPUBTVC4WHR8PDV0RXPMHXQ2SW6D2TSPUYNV3AQ6MB7ZGHX7THBHFI9I9L5FT7TSGQ8YVZQ167Z36AG533JO29KKW4MPWMGCV5JZYNQHTE4RHOS3IKI5Z0IRODEJMF0MOICYEJNQAZQOPTRH0HKDSAUJNITM1HB590JNICE1LW267KFQR36PCZXQZ4TCA51U6C4EJUVBS99LBZ80QNXFMU84C6J5IFP0HEE0R5775AXAXATIKJR3ZB7EF11L5PX9UFEEB4R1MPU7DIC7LP0HQX9ERO0IIJ69561GL1G79RI0YIWSX9CE83847JG3ABLK3AGFZ5M4Z4LJ8XIU8OP90TP422995QW19JNCBZVQJVM39SN1H2SU5S850RK2IH1IVCPJDS0B5LOHGNO7YLDJV2K72HD0QCWEWBZAC0A8RYPRD3R7VAEOJJSEARE6KETZY7E1OK44YKJ7BH9DWBRV112YB68IE3GOSXSY5ZTCKP4Z8WYNHXREJ6QF2KI5WU4HT5I5T7Q740P2SDZPORTSQER2GU4VSYIIKEEMWB12SL1U0PZN6JOBFZVYR2RNNBS2IZL5RZ42AQ2ITE76SLDEZL9GMM7JABRDN2KP17QL1MVSWW * (-36#CL1KEEYDH0NXQKI48P1AEU53UX235UYSWKEV7YQLHXGJNYN9MQE1DO16MJ3IDWJPALE7Z0GQMND01SCK9SNQICJAYN1WQ84V8AYU8ITLF4JFO42Z9T3K668GJLLHDATZS9ZF3XCGL5N55IKPMY3V48V2DGFCE27BSZ09S2W0JUUT3LKZER68138UKCBCGWMUKRR6NCXEWUIPTVNAPNBSKAETE2W6LZE5MWG2K3T3PPN9IERAHSEP8H82FYUCAECXQOVEDYN9WF0B51FBH5DZT23E7R3966R03U45Y9). +36#NXMBPK198099RWJ07C2EL17WIV2Q8NUD2NQCNF9QC58XQXU16OI2D94HAA00SSVARVPYCJDE3ELU5NSUBA9ESHU87KRHNJ3KCCSBPLFMRD42WI3AQOZ1KEQ0HV0R3EUI6XS4FADDPJIAWGD8XD1ZTFMBSL570WPQLA6DMCI6VJQVU61DC0JI413WAQCFQMW4938LHNLXMKTJGA8EIF1RPJLMCO3FSIAPP2EJWOWI1FRZKV9AVQ5VKRYW5SWJ4U9TGMSHUFDANG9IYPJRPNLTUZHF6D7LW379XO7QLBXBEMWX2H53BE22AJPV8PT29Y1AYZDL64CYCSM48F917WFYPQXQZ2155CBAWL6SJ90XVD51L2SAFJNN40JC6ZAY5EFFNDRNKOOXPE7T50JDMEUNKBL4NJ5939GQCBKL81W752XXMMVNX4RZE605XTG2OQ4IMCNGUVHLSUCIMG0ISKF8GUG5737NWY6EZOLAIGA1QPD7YDTPZ9G41OCGBQF4EGWSQGF6CHMM9CS9TSWJIQMOKALXTDIIF75 = 36#A2K12DN33T07OBA6U9HFW2ZWRKE785MAND7R17AJ8FP6SEX6LQCQR92BAXKT35SVBBJWAVZWZ46GFFUC09EXX5BG7ATKPIX7I5L2HH2KUMJLH7XMWXR38FR56OHBGGG077JFMN5B2MVOTJBZ5O9GX60UDXEX2I2X5SBYXAUUYCIQYCG0YFOVIILCRG03HIIFS8KL817KGOG29X067H11TJLD6Y5ZJJ7UCZ4L33YDLEMBA2PJXG4HAV1Y8H219QLA80V6O9D7UVA49EXC0FOFW0WKC2EJ7B1L7YEV1DN4W1QM85H8LJ0YHWXLC3G1I1NQ9232JZ4EWRQF2SJYDG35NRBO9O90VXEH8P0TWJDOZ62AYFMQZU63R9HTNWYTRFDYVD2BSO19SOB7QOG5FJW3YH7T9RZNMCPL8MDZIPISP4ZWDN9QXT2A43X8G9XZZU8WKFQMYYDONL443T9ICXS85GGC6ESM3H9MSUPULYJZZPC40HSMRPAZW668G8KI4VFJJBDAKIHOGT0ULS35FN00TAOCRNP8R5SLZFU9ZFU967D1PU66TPPLRGLIHOP5ROAVORAD5T1B4ZNP05C1XAII7D1BWJIAR13AHSUWYX82NZ3E0WX8QXR5XAP2M3G1TC0OGBN6IW5ZXTXS6HKKPTJIU5PL5L3LGGJAA3RRQPOES0S8E69N882XUZCDRPB6GE60QOW6B7SIM25CGGX6N div 36#F5C4BX8032FQM271L09RBJE296B40CIQVRK7LDXK3SOP1H0ZQ6MB0KABLQC7IBNMFEV6A707L6C71PDUXXJKQKSNCMA6HUUJNLGQ00K88DRWXTPOTY87BX7NQUWGYSAZRI78J5EG4QALZE4PSMDSWFNTFHMSS7I8SHBAV9HXWLBTBVOV3J. +36#66OGECVD6VMKPA8JEUZGBA8UAIIP9YN3UGBMP81764RX0NX4PAPWBS89TQNM7OWPS089SDGRYNF98BT4QOFGPF9PPL2YLAFLIWFKUC2UDWVZTVB2OU4IHO7LVKP5DHBF2JK1L1VL4YUTW3KOPPK7LJHZS7VUX3P484WE7ORMJ66KTV1GX5Y342WBAY0PO4F43V64QCBPH689PUGAQAL1X8JVH0O0DJSTTU2OQHWKO0UQ6R3DZNHNTHBHNHSL8W7IHMGKL4Y35U4695H6AVMHCDUOWD3FXESRAHZS1S4MSNKPOOTO8C1TG6YT6N3EQEKBO2UVYWZ9GCYR1YPAQXG7UQ7BGTT1VW7U329YS0L0S75PQS7PP837811ZDQ7SHTDG59H9EEWY7N87HJE9IANFN361VX4VJZ3RC1CQZMPJHB3P6W01WNSL42URV1TRGOR3ENWCXQVNZBR7D69628UR4WQQJWHLQHNCNK16LX0ZE1VR5DQPEXFEQ2NAYG7XLCJ3PR1G341KYYW55SSA0YCMGHIGS7B5C8NRACC6A9XFRP2W1EF742YUC0C0BFH6AWXCEU6KPONJ6XJZIM1NF6QFNW1QXQHFMFTUILEKA9TXXEH1747JJJ7BRRZ1Q9X4TLOCSRQIWLRIDF408KHTV5CAT55HALOIINA0MBRW1ZNPVOWRI29SP4LN9FDJHH2VKHR9ULN4G6YG5M2T4LS3GMRW7WU8HLPKPW4DL6RSJIE141YPZMFI4NM16E9C695QVE115YBTTEEGCLR0DLUETECUY66X5SBFVED155IZG2ZM33XICOKYWG9N2DBQ0MNXSE2STUDUPC9KXD6DROWI2I4GX68ONTLEEYQUARLE8CGNL25VWTTW2KHY3YZYRG8R7DKQ9MV3UXJVVM6JZEUFZBA1I9SIILJQKMOU2MVXWQEJQE0JSRXGNJDX9R1FWM2R1NIDFX0HOBBBEPLJVUM26E = 36#6TC8QKOB2SYV2ZZCMARK6OC7V9U4KBFGM284TJSG1RU4SDPPEO6YIX1D3D596GMU5YEHMN2T6VJLXYPTI29BFK08B15WN5WQ131CXBVFI5ZBWCJPFZEPR21N2M91SIT2HDCAZJO36K8CE8NUIQ5S2UEX9TFT3C8YZ3BNIP91DPB92GGNCW4N9ZIDUSTYUFH9DADX6OLU2JU9ABMH54HK5FL90OP6LHZLFRPDN0GF7TJGG6XYJDFPEF8J4ETO1TP3VVOB9IX0F3ZJMAMTMEY8ZSLS3LCWQHEUC37Y8YYHRGW6MH3BHP28I84YAG53JVECWSUALESFKPIGLNZ029E0Q9A1B8023ITODHMC38TJEUQCZLQLKJTRNKYT1EJF6XLQFI4IGPHSBRS5VUUUDUHF8I3TISTFV6X82QE687965NQZ06ZI6B1KHO624PYZ2P2B79CODAHONICYK2RTE56E70T9XH22M0WOHGVS8DG3L1FMS510Q0XZUYFFQJF3JJPIFSK6GINU013AOUUX17Q8K84GDZ00LHM2HJPDJW5MDGVTWT7ER3IUCAA7TZCA0IBLTVKFUZPHW0K7IY2UN04LBXOIW95TUB7ER01J18NA6OY2N5P4NX9J8PHCJXESZY8Q5EOVOC2DAZH2OAJ4Z0CM3CINUMSOVQWZ6SAXTF2900RM0EV9INC97VHJBRS5Z0H7OLQZWQ06IPUL93XS9H7O370FXXKPA52TQ1VMIAER0LDF9H39XGQD3G59HYEXUVY92HC1A29Z5NY76KNG54P2F00CEHBR1SC5J4MU8AQFXK3WRDLZWVBYRITFKDEVHEGFIXTAFIKYRPWLB552MNK84VV8JX40FLI7ISGG9UJKIZ7SFC5PF6Z83LMUYFK52XQJD4MJCA831JB5AQRVM52RTIHZTXGIRH3EX2LM10GCYWUX9OYA0WY4TDCWER2HI9Z9BWQ0GYOGPEN2CDIWGZTDZU4QIGJYNEHN276ABQWU39IOUYCKQK7461QXVQNLLJWLI3WCRCXD2OONRFWDDM28OILHQJ8IOX78ZAZBES0AJ0Z7KY9WYYILWMSVQVWVEN19IDF68PCJOIQE125GQKTNZRKBWRVM590LWK0BBUZ0TMMA5SZ7U085CYI7HG9PAICOL6UZPQOX9G83VYK5B7H5H0C070V3IK8GCCH01OB7DVID71EEW89WNUMP65O15BSEP5PS2AOEA5AK6A6MBRWJIIDTT6NWM26L7Z06DL1WAG0Z6B34HT7SDRO6XLTT4KXQAHIYBSG2BPWOP345OMDEVN0HL0QHTFQTXLAUA4AMQ1FO8M1N9Y4MJIDN4BARNBTVANB1ODXS4HYH0QS7FLLCOLL4CTJQMKWD5NNZ5J4C59C8N00YA0D67WKW0ZF2WVIZSHF3NJK00FFVYY0ALSALER660N8ECBZ1WRHY8NH285JJ55PRF66FIYCM86ZXVL9FZ9YUQFIJUAXKHGQ1H7C7UTCDR0EK9CCW1C5GHN3MD68TGTHLONE3RPYUUYO9OOFLOITB6CC div 36#13NVWKN7MIJ1YM2WCOVR3L1Z9LEDIX7IRB6R6ZEPYFH2JEHA38OC519Q2CIA05P3860TTPGFIC5NQ8MBWNEJH5YD722ZQ0QEVJL9BW0YB5JIWEFQRLCHN17DYFAZKLMHL4JTJ0URIV5QED6DKHKL6X13NB5IGC2H9BBHGKJB2UMIZQTAB2KW1IGUGSY6YQR2BTSOOXJGFUMPEKCU0PTAX4SFDDI10CVKI3HVDCXK4T22AZKH6VQ36KPF3WIZB7I2AFZ33KQPFGQNNL0CXHN57GVSGEWGB5IY7W3UG3AMALR5GDAPQ7N3WJ57MA6NRPGM44T2M9IQZT4ZX3AI249QO8XETS9JP4KFPEDYC683TCZXD8R27J50CJVJUB98KK5O9DKE5FVIB67UR2BK2JANQ772JFQK90XHHFILWAPUFJF8PFL993WQR9712LIQOHTZPN8GN0FVJQ9DXKA9547W2J397PF2WSWKGET7V7380NC8YEYC5IIZR0FEXN91QIVK9PLZUPGUW6TRR3OTVAH1Q4PHZDOHYFLYXAEGO36RBG1Q7PNMIGMUT6. +-36#15SHX7888X6FP04AFJCS23ATYD5L80PADWWK86SU6N2YRQPPSEJLZN0TWDGU9GGSR974MFK2BSOPSRLKV1PS2BCCRUXMJZ1QJBR = -36#DVVG1XTYIETSYVA8Z8VFVHG76BNQZVRO6KY728QF10AR2LIFP * 36#30CN8A2K6BUCE8PAME73YNPU2LFHQJD5OR1L8DAV0TJLOS8W8R. +36#2L7EUX3VAJ9LGQ9GJRKNONR9ID5NY1M2UJ0WHXXJOKJ7PKVVO6 = -36#CTG8NO6RF2UUTZA59IUGK5O3OJRUOWHO60ER267XXXFZVTRBELNG41U8SR3OQP6TSEL0GL1FMM59QY20JJGBASQJICS2YVJ6IC div -36#4Y8C6KMXJRK6UA7F6M1TW6DRSDNDPSUBOP9IA58NKAPEGKAJ2. +-36#OT1NC02KABUUO2SMKNV90AWQ00R4U0E4J1ZCXOR4VXJAOV5BB = -36#1KY8ZZQEEY4XAVGPRB94M4X6ZSDUPDIEY00CCQWFREJUREP7G4QYJR9P480Z30ESNZPJFH8FX6HFQ7SDA5HYFU8P9A5JVVG176W div 36#2ANCLXDCXZ1N7YYSDX80YABCHDJ30RTVJ3PNC2VMV5AYT3ULUG. +-36#E47DX7YY3HPA28P2FGKETFWE1MUH8XRUYK0QHK79S5U5HI9IMF0WSX9D80WL46KMLK8XOMF74DREVVP1D09QXADFTDB1WHT1SUC85F16KWUD537KZDX84O14D4UAOWZWTL5STBWN70AKWU06E3UIDY8OP1MLU91X4QA7G2A01X1VLGH0B1X7J5K4K1O9BPJ0TRAM4D2G53AM0IF6M319YQF1FD547U8ILAG16U63EVGNYT8LTMLJB2DZ6G3CW5URY0GIT70HF5YFH945OFIUF62RKFR3F8ZMLM9K1C88L98AXGDAPPJLW = 36#1T982PTGSEWSFTKRTVAYGFOV1D5MZVLM1GR63Z44L528W26484MDZVZVD3UM8KDUVLJYN32EIBASF8BJQCSAYW7R9L6L4K2CQ1Q9CB8SNSNI1GE7JS1TS6VBL66U1IIA402VH3E52PGR21WA13LLDOELYW1NOVRHYCSNWLOU2QOQR8P6QMMM7Y2BYZ13O834ARSU87JMLB5TW7MQ4B3N9ZZ5KN9RIOJCT2VE73SBUW577D2OW7IW7I9Y0ZAQ20T3ODXI3QUABHMUNOZWSI36OFU6IAACMHFMMHA8RICSZSSOXLF78RWFC4S5H3O99MEGZSVC2I70SNZZBNJ5CJEBJLHG98X3AAY40AK7HRY2KKENIK73Y7L7VDS43F8511SJMMKE2PSXZKUDWCQTZN80QCFVSXH72T46CG3LCB0K6EL7HU9FBI9K div -36#4MEVKGMIQPKBHHZWXM072CCYOCEHT1KHBPK1J8PDK97X5JKQ6YT4LUJ89KDAUQVJCPU5TXBGTQJQAW87AR9U5JE7RCONHD04KLIVQG1K8YDZG5NX59Q9Q2MBQ2GY5AM. +36#DYIZQEXQ29P8N9SR7W6OK12VENEIUBTEPIJQBWZBCJGQQLFCCIDZEDX0KC2U8R1IHF984MGE5TD0H6T28CN7ZMLU1NXZUL0RVV5P1H9OG57OBW4A79CRM13J8ZJ7QJDEX7IEBZK1G6RBVBGKO2OKQG65G9IR7RTHLWSHFH19Y0XUD9SP5EBHQ5EBNENBLPJSDYEEX8M3YLIM2PKRUPTIK3F2BOOKE2JNKXV7SO36N = 36#R2VZWR9ZAZFCQR9WUF2X4VORXIGWX8E8VHQNBHSVQ8X4XMMQFNGTJ5K2M4617QVXGD60M75KREHRWH3PQ07CAARJBZQ5H9RK13I5IKI2SO8VJMKNPZY6WC3O4AVO4RJTKPXZWSD6E0F3ATFUDVHLN0HBUFMJSF2J7FMQKAWJRC2VHF94P4CWILCTTWQVZGGQ2505HNYAOAJEB8QDJ7LQAGI7PVV59LLWJRD443DT0V9Y225PC9IB86RQS24STKRBXDTIP1905ZD0C2DSNHSBUIIVQ6 div 36#1XU7A067XUPPUS9P5HCVPQ8JI3AG86IWX8OB92ADB3YKEOQD5U. +-36#6DVY90IJCPTRA1ZM9UXIS6CWUUD2FT3VZ2LB6BMAJ2UMLT99U576KA5YPGBNUQLM2ONH9TC2MHL4RF7QWVZGMP663OE0H12QPS8OTHNFF7U9H9IKHPKZ3KF13ZNWY5OPRHLRE2XR8VYNL0QBDQKG2UF0J3QB6X25OXBPVNVY0BGR8E7IGPCWBZPMEL621TF6632NNI6TGCNXN6NK1ZU8H8IQYWVFB9EOEEQMDFYI9922H74ZQNO91UT3XVB38UTMF3LE9TYTMJ0QFTQO = -36#12G4SA70B89HVN9EUBDYDF7U6NZ3ALSBL4PSJMX62KVJT8YQW4 * 36#5Z8ZNQKSL6JJYRRPAF4U8ALS0RPXMTXGKVB73ZJM0SFMVBHLRDOHGWQT8SQDJLJWVN0IHLKHO92Q65E4ACOTH6N8KQQBL4QRUDBJL6VKASO2J36U8C5RHMQLVRUIL4VNTD47VQJBID1HHG6WSWDEROLFSTR40P7JFTIZ54M5PJW0HT0KR6J7FCYYLWMOIYZ7G24Y2GI3UFSWAI4AVWN1H2403TGTB3O. +36#10JX0QL25GY90UQ2T5FYVC4OACPUR9LGDN0T32UTZH0HF5X6EB45MODU6C90LH8D097IU9MWQ1BIBG1JI18C0OL7Z2BOVL02TY41Y8IGLNP5OVVRMFL6CJZ6YD7HFS5V906HZFNOW8IJ7V4DMTIEZNRMVK0KU5B69PMIRXZIUIB46MP3M7MMQW36PJZ0RH8U4B4BIRJIZ8TVFAVR6SZSXDE2VPCHQXEZG5TB0WTVDUOIVZ81X9642VGMC030UYVO1D0PS7IDTGCXUT87J0R6NSR4Z1U3RSFJU1AU1WAN93R98KYNFXIIC1NK83H3N4ZVPTMZCF7VQPWYGZ5TJDRW102H0JARKI0753YJJEH8CWRTCIAU8DN5BQLIIQLNXBOV8WMBOJJ1JGGU756JPEHZLJTJDEBAPD72WMRP9XXNQO1CN375GBY6AE5IMKD3OO7DVFR6KT0UMIWW0QLY9WE78LR1E4J2H19P2287U4OS0845NHBUP0P8H5HIRPWT7J1MMSN6TERYR3X1YKC3WWYF8TB5MBYW4D38FQF1O40HZ10ZSCVZ0NZBOAO22SSKRF9BGXBNMG73F8RVDE7VICEJYWIVM62CGTXVSOTJ3GWW68YRFYTB4CFFZ3I5FDS3KO4U3T9VFUYRS5Y3Q09V0XJMJJGG29GA4LOAH4V3J4B4WY0I7QC1A5BODQ67RKHX6NQAZ3 = 36#3JV7XYZ7YW7MLTJD2BR6KGXZ0R1V2EPK19RD5XO9C7Y2QDZ750YOXXJX9ZI219B8H0YHKDGTNG63VZFWXLSJ4OR3E4O8WUGYH8SYI5WAPPNE9RSSCHMO2UPTG9WSW9227ZP2NOG6S7MT5ITV1PIHOVIBXRULXWRXWG5I1RWCO7P33Q4X748IT03OQMYP98M240DZ66IAG756ZAHRE2T1PBOH8TVEEFTH74PRJVPXH9L7JUEADJSE2JZ3YO72D7QBFDQ0QH0PO26JSC4KSC6RKGPWOXAUHLWID3CROT9AW9FZLTVMCBWTD15S7N4YV9UZERYGQSD9SLWF9DAHXX37MR4XI0HOP0YRXWLXQXUBDQC07P8ED6U05HGLGM9DV95SN85U877OYI95HPRKYAPUD5R53XT2EQIMY83Y3UO45WFSCP1BC7QRQRVYM9ECY52H01JH09FOFK01RTUKDO15TFGR8CQIAQXTW49M7Y43XYV7LOEBAC93OUJZ0FVB6G9HPB3FTF9KYHOJT93KOJQ968SO4GURC98X0DDWL421SXCH7H3RB5Q7FBRZ98Z9VWT8FUVP0EVB5XGVE96YIYJ1HWSUZBARGNTU0SRHCNR4WIOZXRLQISSTK9MK4A0H4TTIDNNQFOB4O3XY65Y50H5GAZGN93CDL9FWEOYPKENR2E98N94SGS6TSC7JB08OE3SYTNV73R801V5DYXTG8OTOHITYD8YHI95V76CDEM90B98LTHS6T2A2L90DBOQIP3KQ8VR37LCKMJWFI6GVIN6QJ2MTJXAVTM1YYNMIE6KB7XDLZJX1E3ELSDAJHKO24H95YCGXB389U9YSDTG4IGVYRVEDLJM3DXT0ULUT8BOBS5Q7LFSN0HWV4MPIOLZ1H39J4C5QSWHAKI84AN6RWGD7X6N728KTGUL82A9S3D4GQVT23TB5XIAPHQCV0MOGQQYXWIIYUFT1099A2XAXBGAB1ZU523I9TI79TD96672B67LJERR81Q2FLGEGM5X0F4UX2NV476DEGFVBE7VCHISVWL5299QZ42IY3PPQ3WJKJB0X98NQ846UMDXCQN8P7T31YXFZZFD6SQ96A31VNCVLG3N3SD0CJNKRLTC32A2RMN7KG71BECBMNEL1TY8LZXV8ANOXGXIEX6BDTYX3 div 36#3HXJQ8215YTOVLBNDARAJHZBTB7KOIVZZ78A1FVUAUW2GPT32NFMRBJUQAHVNFGJL31WTYPSM6QPVJU3V3QCY8MGSENW8X6NA9U7YNCKT1FQYKHLE1RA7K28M72E2RIV0BWWS8FY8EV8ECZGHHG35T5JE6N8DH1NUKQOEMGKXZLIMBVDRCU6L1VJCPRP11L3FB3M9L2CIO5G241OUBSF2OWQ9FGLAR7G1S7JEJEWOUHX4DA4NOCWTAWIVZB523V6FIB3UN68BESJWXJVKZLA0AJCM40ZOBFH1V1VJLL3F9DWGBGMSG3OVPYX01OC4ZQKVAEGTMOH8H9UHAH573OQCEUADABE6BGYCH4PKV45W9K71RJ0K5HOMNBU6KK1MINPJW3O5MHHQA528NA5SQIUTNDHAM21XW5NOI67JDLA4XRHEHDI23YAIQQIZMCAJ2M3523GRQJTGYIXD3D. +-36#43N31JAI2O1E1WTVVMHKODACE2I8WKFRUG575DWKE3J6W1GDZRF359B2H552R6LDZRR8HII95AW6FV9CC6LG5SEGQYXWZ0IU2IN702N3WPT1GMR1DLYOLWTD3SYMLK9PVKEWN28WO3P2HA6IWGAZGH5W5TKH2NVMC52SZZ9NMFUWRCGEAGVGPVVZEWG0YAADI5A709YJ5OHLDO0AB2BE8YNXN0E4XF0Q4GMW9CTW0EPFMYKI37AEE4YXK5K4PR3K0V6HU72CAI0VUEP6DTAJJ6EES4HU447JDYCQAI8YWY852TO1TUOQYNJUCSCX771OB3LD7IXUKLEGZKCJCX1S72U89QEFQQ3FSNZUNLN9N04TTCZ5HKR5LNB6T5KZDQK70GJCE1J60LXBWP8SY9JGEP4O3YNT7OA2W38EVI4ME3UXCRHJ7GO6A62WBGOVH3F156YFKYYQ1WJJCSI7ORZXGQ7TBVATJDP0HY32MA0 = 36#HQKMDLMXGQWCT0NNCW5CWO2IVNH6R86SF5SGQYQGRCIIZLU4MTRQEK2J2QHDGG5IA0LZB01YV26FF9TXXK9PFI4I6LLNNEPL58ILRR6D7LSGRJ99PX8DGXDN0URFHDLA760W7MMSMBUSEI4WB0J67H5XBP7GMN3P5YH79EQYTYVP0DKIYFT20G52X1TT2QRV0OZSOUW7ITX17T45HSGF85MSIJ9HKHBHIM1ZJQASFUA5U5OHI8QU6V3S2M0KQGLZIR62T5CDSUIQ0YA0DO071YMYB39DUIGCB4SAA2Y14ROT8752LPO8DT6VQMF27R1TLFUBLJBFS6MAJMVSS21CXDC8OIT0BAIPMN * (-36#8BN3MWMD1RCW4EWA51XWX4Q4GPZTJ6UVHLDIHB93FXSV2LTXAGLXVIF5M0Y4PIX5RRC77XO9FM8MO24L91643LES9B0R0RKS1XPYDGKY647WBQ0V8O4SRCSYS6J616ZJI1Z20). +36#1Q91L5EG1AZ14DS5Y2SCC2NN6SWF0LR99GGQ3V2NAIIMJ4ZQQXJSY593WUF3US8FGS7NI4MT4K478CCHXY09YBZLZ5MI6DAD9GDO2CLXAH5NFVBO94Q9EINIESDOQNFAOTHDDMTH27YRR2PIM7QZ4I16NWSS67WX2VOD61BQ451IN75RQ2S33AQRRU78Y3L52S62A5C23Z69DTH76ZYWUV0VPS59PR2AIBQE1HYI0N73SFP4UY6W54Y7TC7AV6E6RXJI5SZGFQWU1NA2OTPJR1HHJPWQ3G5NN0U4HZOSKKB92ER5AWB8KV8H80X09R941AHF64TLLILSPAPIPXPF9L1UYS5Q9AW820UA6RGUQS6VRPNXDU9G5D4YX7A12RX63U1N37OQFSBKPZVLC3MCI89YT8X9T8OOIRF4VYMDJAJOZJJTUHGBLS26V49L5DDOQ7IPKN3M95N46C7FJURSDHG98UR4CYM394J0BVF76VQHRW34PL599HYNCG7OL8QSO6PS7S9YJZ6YL9DE14W1M7MT9Q807QEZGR791B4HVPTY8XNCPFG67ZNMHEA8U572WK99K0R9HK2UBIW5TWWAZIMRF = 36#26YB3QRH1DPYN4GAF2GGXBQ1FLTFOPDKVKT9T697LYPI5C36V3SXX0Z9PZ4O4JI9602EVAUW8LL0HVLYN7XWZOWORS9X6MOAHOUZIOXOP577CEPI1JXZZZLCR1I718IWRBV0NH7WYPRTRPIE7Q12S142Q2Q5DCALDHGOBHCI5SEKRYHKOBQC4SZMPXKNCHACHNJBUTDEF1UX4ARBS27SO3Q579UVKOE20JVNBDPW1734MM9B67YO4D1S00TM7JTYJOD6J8NMTRGC69GLRQ2UT05BG53LBN5AVG8LJVAF7BX5BTCDO6QOK0TOLS9LPZ2PC5CNBK4NKNEBW06H9R6DFLZHLUBP57102H1TW7FHFI4FKF9X0KU6VAGZEUEZVECCQC16TDAY6Z4559STSVQHNBYE5XVVJXU3SIYULZ9Z6OZ7AN376IX0Z9ZPFV1IGITS9J4O8K7INO7UKH3C9KDV96Z3E9C95YVUQVGF3AARRLURHHZTYHWLBWZG3PB2U3PPDWOH5YXPU1OQZMPJEO7TIMS14SH9SNC94YPX68YOSQTXA7T0GNX99YAHB2P2JSZ4F2K3UDLPEBC61CJRLC2MV9KZDJJTXS8T01QTDSLOKSMV27NQZ5MDIQNY4BINPA1BK5P9CLM4TISCQZMF96N4LM23X215QY3TH7EJW48T64XKB6CUPW6SN2SHT6RPQTOQJFC1UX4JR7SLFLH1LK4QGGO1H1OOYDZ8U6GXW8TJCSPNCB7JGPSQP2MBTKEH9WE9Y2CC0YA0L318AV8J11OWGVBDJ8W8UCCD4J7O4A7VZB4TKI7KXMVDZGV8EI5O8WI09W9H58NB7IYUX4XDL5C99PLHBVRPLRXLYPPHJK7FISEAEVPQLYNS4PBICMDGXMHXZ71PZPDW75CFRIFBR3SXJQDK6YAWPZ8XYLT8KV8RJ6UR2U4P6W8ERRQ5H4J3BFTQ30LGXTXHIJUT49RBTOEI3112VQGHPGLFYCMI1X2NBV0L6BXLV2NNM6R3VOMTJ8PS1KGL1IN6EB7KNXRA1UNQ296XGIKDJLHW10BOI3WWBX7F5UK14RGMROIBTLDZD69LUD0KLB3OJFOTV18KB2QY77S1CHM5I6LMHJ4K7E5658UFYXGJ5Y0UWZ9PJ42UXBRN8HPYROWSMV3GTZWAN60HVQQZA2RIOP0P4CY9GNYIOJ9G9A2PGX6AWOUBL3IW0MQ3ENMSBLDWIY9D8VBXIMDK2QFPCJO8E5LHTYOA21EY3VOHZ4G8FZNO4GCAG3 div 36#19NPN4ZFCCPBU52KUM59HV9ZS4VF8MX51WSEERSJ3OPB5JTJ9K1MROA2WMBAIO62EVRCXCRZO3SI9W29FMR8QA8CHMXT6M9D5ZHDMM0IJ9TJ32JVA7R5JB1A1DK8MASOCOIKSOUAMXHMIFYMWEWA0QPGO69RDWZGYUF7UNGVXRAN90FY1SU8MVZJKRK9J4CFO4CU23KY05BCBLGFKZ8LBD7MQ87I2QUI51GYTRPQMZPK5HVZY6NFOJFXAPLQI7MP86ELDNQ6KN0OL6MT47IWRL67TF3DNE3TQ4GC5PSHTFKSZRO90V42ETX4HDFC9XP2L3502XPX567V1FP1BGZM31ZXIOCBINZN6NFH1Z3U31RJBE7HXM5WNPBC2EUK4PF0EW3O7QK4JXETTAZ6K0BU05GF6A1K86AXVYXPV24OC4ITUHW32COOJ6QB66S5B6QS299B82WTOH3WCW2B1B581P4TZEOIMABJC3ES493U4LK7T2CKCICYHJLE6CU1X465EWL83WXGG7B1Z9NCO2IDVC3F49ENWSC3F0MIYTW0PW1ODD23KVEC8LCL94ZWSASY4NNMHBXFBFYPJK7131YHCALE5AO9FPCPT7ZQRTKW73EYU25123PNQJMG3TX05NW29P9WOFSH2UF9H5RXZV5MJDXVZGINJ4UEIH. +-36#K77K2QR3771UXOBZIO37LKBJXFX2QKOLTA4A5FQ7PMF9TYEK6YTSVK4KYZ3UYZYSPJ7VIDMD80N58KN7N6OP58J2I4JNPIE1VYSDJIIPF8JG1HII42JAXBS21SSGNUIPF0J71VHA179PE0I4BU15LIZEBGB0G9AGCVGJYFV7RG2P63YV9G7OQ0BZBRIZ2SR4M9MWTOMMB0J71TTGPS6W2F7U4NZHAMF3VRU7IDWMTQX2961WWVOE1I9THG8KNXXQTEKUWH857GF2F40Y5LSWR0V67PK1Z3R2N4HVKS0UIE2XROD0KJRSP55FQS7V43G9RU7V0JW4NK0CWBJ6SEI2DY1JYA28JJREQRD6YO468DZK3Z719HRFHWDBSIM1N3IUOWEMA4SYBO3Q2AURGQC6XAVTNRN1PYOLI8QM3E2414QGY92JEF0B4S204CRIJMF63LUT0X475J1HYLY3J36M6J7G3UCSYJFFT40KO5UFG19CSQ6X04X5PKXU7JWEE7NOKA7Q612UEV3GO26T3SSJN133UZSIBUCLGRJSYFIG6VMAR9788JYXUY595DE5GMRKEAJO4MOYGHLHCI7VS44RDGQ0DF0HAKUFHZ1I09733LOYQJ = -36#F15YC3PZYQ3QP2I7N7BE9LQSS9EVAMU3CGTTR041MLHOVXU7MMRHR3XGBFOESR964F54SWJQ3XV67XSJP09WGGQ7ZT1CYTFDC1EQO9ZTJXCR2V38VS1AS8BHIW1OX2NKIG2Y5CJ6QH96A2CU07CR7JLZ0AS2MLMQEW9VAS8IJFXOW5QIK821L0QFBJQDXK978ZXTF70NXQRN1O85KM0ASU52XTJGS1WNN5B82XSIBXDIW1TMHNTGB8NKXP22LSW3ZSF1RKYBB0N2JO5ZA6VPQP782KKR0ZI1PZWVBZ0NXBBEUC58XT0LJFHBTPHDN79BJYHGI109PFT4YRRPWOFJ4TIVHVC1ZQJB4FF0YWY10NPRGJOUZ0WIC7TDM8C8ZE76RNOR6E2Q44RLSZCRC12L5AXVM7P6BC1L10RQU19YK4D0CBDQOW5WL9YTNZZF2G25TNVHOUV980T4DHFB3ER469NCFD9SM2648K2LNUGAVOD0GBIUCUAGGYNEYYOD3VNMZMBA1XORNR20OICZLJUG40BQSHYA4C4Z8M8Z01LDOAXDJC4RH5GQG7QQE4BEQ9LVE0QXJBF6M51643Y56CKHIH2PXBAH0QBIQQ87OBLLUVK71603HY6QBIXZREF9UXBZ01F8QBNXYRT3NPYL7TJJJOL0JGJTD7TDB0H491DFOTZH1AVR83Q6AMNDPGV7T3C8SDV0WE8ARA5Q982HHWAXRVT0T2JEYUX2NLW9J9LJ00SUH565IGUZ608ZM8AWOS8CVTN4G8UZXMG5KJDIROLK6VD8TVRFF8RCT7WVL8FONYK5VH7WD7DFUVODCM9RS5CVSP1K5TJ1ILJ4VYBW61NMFBHZ5GR7EALRAJEQUZKW0DVPB3JO8MY624RBFMHY5GHXQUC2TQFKKAYQAQ8ZHXD4YNYCG2696QXVFCMALOOERPXENS38K1Y7IFK7R58KCOZC5DOF21FGOCZUID3PDY4F0RAOAPH2705BH93KF7CJYWFIBM278KA9X8RZJ6ZKW8A8ZJN2KQP5IT3WV31KZM1HD34RC8KIIIQYGJTHB24P9F7TLF48V1ZGXVWQHRE75KHV5JWDUXW3MNSXWH44XBR48KAMGVCFKXUJOQS158XBB44MNKX6TXGLG1KICD1XRCT7RUGTFYAP1YPFB9N3NZ13ZBX5V42O56LTN0YU3CLBZJANO5320VIEY75OM7PZJLU63DEHP069UJMP0Q4SHEBOE13BQC8KGUHSMASTBA6IZROKPG0MCFFOWB3IXXA15FXXYRPXA030T2QA6KJF12UO3P6DKOXUVVEJ13YR9LCT9MUHKWQI2MOV3CUO1G7RF75UJQVR8I8JC6UNS3H div 36#QSFU7R3CFQTNMOF0ZVTCJ1O17PH0MFFHHGXC6T8KPEK7YAEW70FTS77987DOD7P1HGBC32KAYD35KW3AUUKWSSVMDEOCCQ2DO3Q41IEIFZAHCYEIDTRQPIRBSUR9WTVZDBU38HQXA6T08MOKR21YB7ITUHNQR17WSCJ5YNAYURPL1WGQTO1IX2LWCDRE4J2J67LIJVD7ANSCU5JT061VW4MQ0PO7YGXBKOFCT9N5K0C2GDEAYMLGJQ8KA08GC8NRQAVYR1XEP0G2XF5HPYQ5IMH90Z1BAZ21VA16AAH72D3BR7V5ADPH3Q4MP5TKBE32XPMXGFVPPFNWNWVJ7XYH0L4FVVAGR5UC53FRLAAJ4Z44ITZX1WK1D6O5P29AS7J20Q9ZFCTY3ZX5PLSCQUUM8IORFLRDGAHQVRAJUMKBTJQ0A66XKV2ZIHHNY9UHKDVPR0ITUVK9L3S2VXXRGNT1QXQHVOWQEYU2RCMY120CMNSLE20EYDQYRKTOSL8MZNVJ7VDYOJQ5XWYE8Y7YZRJIE7THQB4MEX8HS6MI4FJC1YBU34T02H0QF1ET05DSXL34P0D9C6DZ6ELL0771UYFDU06GO90TPG8AGX0QKFCUGUO44WS1JFZ0P20U5GJWS81EQUJDYIZNEFSZM77AUMZMMTNW5QEHLNBNN5Q86Z1UJ5E6UWQAINID92E1AK0EXLEIBKVCF57NDCFNMJLQQ361AES2FS7HOQ5TZ. +36#1QIL5T5CG81MQ2XUHVYR4HMO9UG72BLU78LJDIYC351WR0A4IA43V6WHSWL2L80WQLMJU71UUZHVGCOXBIW09BWB858FTEKIP09RK7NXSURO3K0Z3JB5ALARYVDPU2UJMBAY91HNVLOELF1UHRWRO1KQ9FK15W3EZETXAM7RVZKSOY8Y249DF4X8PUT0P3OKZ0TW0O15L6J84O109C7W9OO9ROWZ6JEPV8WIGB9KHOH63P5PO069AO4TLNJVJ7EO0IXI6VOAPEWTFIARMZFOPG2QG1AQTYQV20V7LHQEAIH3EYYKBKS7T4NK7LRBMKEDAWD1H14QIO867WPER6V = -36#240PVG96T3HNV1MYBJEYPAIKJDLOR9M8S8B6ZO0NH89MGMUGED5XMVAYIQ5N7BFI12MLLTBVY7MJMXF0PRHW91RK8QNHY831INRVAIB53SEZW8DD7INRN47YVBFDEZFMLZWN4L1EVFJ3VQ2U2M2A1YOMESWY6M6I0IDMWDD4QZC16VAWDICOIQKG4U57F39QAWOYEQJEDRJH5VIA3X1O5YKAT9I3GARV2Z2JPS5RBFCWBZCB0N06WL5O2XT7ZSHRHF95LS7HX2HZF8TY3TPG3JPY35QWT5Y3STHS285FR5IM4UC7PXWS0XT0BKQEB2FULO2LU2H0ZGPAXOLDKCXUHCED55XUJ26JJ0WALSEMQLKBR8NMJJ49ULJE48L1EEYIFJSF div -36#17RXRZJYTIDUTLR7M1JKI5QHDN815VHD9N4G8AR85E6YC5UDIX. +-36#3Q0U70F8RJDZZLZ02RQNQLCNC095SV2T06YVDJVJVPPVTZ1ERT7DEY4ZPVIR7RQAT988YF281ATYXEY1B2B0RJMD2KR71JDPUU6DQBONI7KF2868UX0UWUVUD3KJEQKKVC0KIWPYJQTMRXINLDR1C7CL9K71TL4QD6HISNS48U11RUL56ASPKO9W0E638FB8PKU758MR64FI5T74B7ZUF4KJ0FIHELSHUSMZGCTJ98P34I0OX9MMRDCESZVTRBWXYS5KZQT8CDBK8XUDUE9JQQPXNECUN3AXX801FS0JV3VOH0TWK51GKPJQJPCBI9D25HNEQNQNPKWR2PHHEJX1WMJ3YFIYG0QHKIDPVT3IZTEXMN4FDTG2KKGJTG8D7ZOBZPDIH2ZSUJ8L8YR6QG8CWB4PFUQYZU0XS56KL1KWO6C7K12BVCGL6NYVBVKP97NKMKTGN4JGB4DJAD3BRZPSLZM93V1KLLLMYT8Y4NFU7DH8HBB0F8VV386VQFS0C58PAN4YJ82ZW9Z9YRAALG1AV0K0MV5P2UER04KMQWO9OVZCHJ7MF6CCNOHL3D55MYNJUJJV4OA0RM08813ST1QAZQ8HVFXLNSQS9G3PM40ZF3PI8N2TY442WP61ECEVDVXSD6OJLITLNX = 36#3XZM9MYP15OLNLSBIJMK5BDSMJ4US4KYVDSN8BOQJX4N0NWIFBCQSYP1NI7RVSTR67Z0ETVHXKVDWOEZ3WAH8UQYOW3GJOFD1FLW8JX1DISL4YTTBHT9U8RW44NK04JW9XMWO2ZHQH1TSREUN1P98VGCBYU7RDY3U4GDSGRESE76MW1EMOWJNF6YD6DM4GYTB3JWKUJQFQXO7RIT1779UXQIHGD5LHBOELNRQQ8ESEWXULI3JKLYJ98DXMKQNWO0SJIULD8T932AALQJHMNF5IZEGUWPX3VZDFFV339OE3SVFY2INV2V22B893Z6PCKDJNAGPAAMTV2H5KP9U0SO2GT660WXCB78SS7AFG22MFN5Y846P02OIHF42F6TM5R1C8SDR8Z6GCPXSRQHDDBZ51MHMQ6MUSS4SB6EXR7RQAGHX16N11CIWJ3W1T5E5S8RJ5SA3P0XPZTXIDZJICA69O5WV03S24RKWIK11VRICQTKPN1G8NQH0X1EI250PVUL9JD08V7YN2M8H171ZXT27QVDG52R1JVF77OTI57WFN6EE4377N27LLYJ072J4HAUWINZHPURUM6UAI9VJ3506WIKODORS4GEK00JIXGF7AALIWFFJH3TKW43OSH3FJHHSK0O4I4303DKK7NGTRAMNS572NBMKENMRFZB7L49QZE6S9VHH6UV6TLRJKVW9SPE6IFFFMO5UKUQ2JNAV9VVAQWFC92V2U7TL27B4C05UYC80G55XDZ3M7GCB8K5EVBRYZPUPKS75BCS2D3JIB338XPYWUWF859355UAODS3DLDE4XWOO7SXXLT61VV94KG1E1J5B3PIO66QK60I1VIYM7PCX46W75F365WJR3BEFCGULE57QPRX3X874AMX5XEALTJ5MWCT45B9RYGLW6IRZR20QIXSLVRE9F2XKF1VE2TYRK02ZOB5P3WWKC57YL5AC2ZCZ40H321U9CI1AQ2ZAVNFPVLYY7ER7FLKQOY6T5LCDP6Z4D318U4KD85TGHHAFF8NPBD999ADVVPLJSN0PL5ABQPVLNDT9FRKF92YTZ03E2GIUZIFP4G424PKTEPBM9UBIA7AJAVZY4368D0C3J1L6SKEDG0UMPGYGYEF8978DVFMY3O1F9R73M6YEJNR1CJW9IQGRBWS77ZLIU5Z9TPKVO9DBKBWTRBT2WRSX7IB4CET87WDCVSWAYYB1NS4NT893J1WV292QEJF44WH7G63YX5J82QQPQDD8WRE9IINAL3VHK3IVX7ATC4GWVB248N21LW6QDGI3W3GM1JEYCAD25WGUU7OUP5UEP14SNCK8Z8P2KADNPPBROJD1ZIE2K0HQI43XOPU74O3MRXMG1VH6TJPEH9UVV0Z8UL4CJ26HV7PEPTT003COD1W6JCHV5DLTWCPDTR8POJ3J1Z7RMZEMER6ZUGNWX7Y2IZPX2JU5GVZ7W8MWEP17JB4L93KF6NAI6P0HNQNM6ZAXP72MSZO div -36#12515DL6ITWMGYF9O4HT6HRAYGJ83ORW6YRHCYVJUIKINQ58K6X1DMXFVQJXZ48GXVRWQHB64LWPTFM1R6C0U2WFRAFTYZ9HHDULMUMOOMT9MGKXARAAG5UT293KUTW5DUH8874ZDADXNNUZTYX3FT4PO4MFZRH6VVRK2QA9OYLHNHDSTFQAN7IXR53YOIFGES8L5YALLVWVR6U4J5BCVWTE7B3VDJFB051K0C3DOWCMUZY0TAFNLV978JHCPM5PS2GVL6CF5WYV3N62XZMR0A0H181OZEMS6T5Z2RPCFNI1ZU1A5UF3FGXRXSGJ4KQCGVHL77YXAMEKFWC9E24XKC0NO9FLB9WI5OV67NT4DBVPU2UW3A6CDEO3BLGR8IKSE926QR0CEM40BGGG05Y286NWJO9TYZQK0SFSHNLHTVH0TX8XSML4AJI0S5EFZ63N45W854COP2BI4XNJ5G4WE9JR0KCIEN6T81OP921VWLGZMWPCL8IIEIZ78V0PLOCYW3W98O9PGQ88HCRQXQ9SBJKUWDFUYMX440G5RX5MCKUOHSGHE7GXUAUTKC5KMKCWL555AXY0KXRFDM7GZY14N4RBG06TA4WB2K7ZV3Y7W3K36WC2XNLAHSPI91FMMJJDA7OD8VBJ50J9ZS8TRMSYG8TG86MGIC5D9BFL84WUQN0Y6SK523Q4ITQDSOX8CVSWSBNSVH14BW1Q9QPMXE5ETB6SCXIDBZDCPNUJJMI9VHGEPI1GNRSQVVXL5B28U6ISY3CK04Y4OBY5D96M6UV09DP19QJM0QY3J9U8KN6AR4HMSRJ3UHDM140ZHEF3PJI8S7ZMD7GYZ0H9N84. +-36#FQ8SHMTL0K8MMRSVOP3TQC36WXCWX6WV5JCLKG1HB5CRIVXXOTTQUFVYGCT3SH4W48799ZUIVRI4ATJ41501GJ4PTONWAR04674DQ235A1QGJPR1JBFT6JLRWQ1KSHH2KRNCALOE7DJ1ITCQG7EPGSSMFXB151YH04LHCJ63P0IPP4TIU3EGQ07IE86WR5PJFI418LEWHJUPGE1V1WE7PW1UMX8NTZ95ZHF8JAOYU7WV3W5RH39U1W5AMV6X1GK46DS47EN00JIZW = 36#94A6AQ2VFX4ZXOF8SLM5CWE098OP3PY4FB3W1QVXYK2DARVNZDFKRN3I0F1PTUL23J1VADCDOWY3DPX6X96KD9VFVGWDO81DPXNII1WH0A6EAX0LUKL83WWDVX3J24NTQXN5H2N3AR36D27L5LDS6RZTF9ZGRCVT0Z89JJV6AZIQX4LPV485WA5FWUD8B0RJ2UHB48IOW5UXH7LZ1GCTVPZQN0315RPTIWWJMS0737APZH4F61FYXI7VG24PJ5PUWVIBOKI92UJEJI0OV16PF10N7U3AFXYVGE6Q0ZIU8CQ7AIA5JOTH97GTQRQP0GR9DG2LXTRXDISZWBS div -36#KVD0YU2UKRNMTIP9WZOPV4ZH1FK02DMS3TF4VT8KHKVBHGR67VQU1SAZFVEJB801F2. +36#CZPW2Y3NFCF1A0SO4I8G34R3CBQTUQP7XG3YLAIY1E7T6CIIWYGCENU232A2S0MO3WK2EI7YRY70WHP99LGU84XL3RVRVAUBP19MBYE8JI1UQQDPBI3DI10QHJ16D0EB6SBFKKGB6O7PMQH67IZUXR5CJHT7ASVM41K8SWCCB1EP0BOQDSAHQUZFKS6JY1NFIS3F1CGZU1STJGIOSD3WFNFLUWDQW7JVAPMDEXX3L1S9HN0Z3X5LIT3KJ9SRJB0AZ6GWWE83USCAAG6KMIZBFEYAYMG3A05MIHJPMMB470QD86IKUFK54P5K3NPVWOW4OMSCM46SVOLUK7LOVW0NLTZJDZ4RE3OO4V21HKJBUS7ZDHSTG2D0972X0VV1M51I9F7SKG4AB6B468Q90W11BQ5F91XRXY6ASWG78RZ1Z8ZXQKWI9QORE45UH61VVYP1BS0EK942MR4XTCIX4MH23T3U8F645LYYEE7HJIGIFZ474AFTCVAR6PPN2O8YIMPTNSV4Q4QVORN4SCYJKQ5CE7191I499HBVTHZRC4XBZ9J6UPI7KRQJZ2BKWIBZ165NDB8F49MGT4E0RTASAVCR1Y0QR3JOV6A1QTVVLNUW3WHCOW228POCF27UT2ZMKFOWFFWDWAU5QEL1YIS80ODUBV3VVYM81YHC21UH17KBKR9I70S2AR61W1H7EP0SCYMIM4R2DXUHIJJGZX0IL3NI4MNRQ4J5EDOOE4O = 36#HXPLPYDR6IX20GNEV75B494SVLG499RAEBHZV0BTSMQCYES49XGGUBF4ZKBHEQ47ZFTZ7Y906I7POT1LINF7W3PECQ6H4O15YZ1GUCHKJA04XLTWA18S7I46QRKV4EBXL4U0WPS1EXVHD62MWEI6ES25R46NQMJC6TEQMV3FFGYIL9SZY5GDVX6FP8M26U215XHNTJ5TTFP8WD36X4ANTJH1OQ3OFCIMO2A1A3YDW08CA81NWSZHRTQ2OAE65TQBTCGR4WI5BCUA8ETICVHZ324E4TKAB68F18USTLWQ8S5NOVNMWSDUV84ZUKUPUUIRLDBZEY4Q2SOAMR0UZ3LQS8QC6DRTYD51WCAWDX3UC6SB4MCEYZ92W2ZN7EYS9E0UE * 36#Q2R5E9RZ52R2AF9C5R6V18YU4YS0KS1FMCOD2GBT625BM5IUGAZ1VDPYKSEE9S3J92FOLP47UR2017EUMI38E25DJ90HK7TK9FLQLSJP8CQNEKLR8PZW2CQ1HXSWKC0JE9DMADP5G0I8DAU2H65GZGFAMQL8FPO9N0GAQU4X3SN25OME92PZHOROIQK8WS9C3RHZS9X28LVGYMN74WMRY6THKUM9LENIXD26NF0ONFCX6427UWV5M82CFNGB18KSNAAX3M27ZFNC6OWE4ZT3LW1HYDDXJXPY9AYMBOM1B06RNZW0FUODWBB1OZD9QE2TPZGB9R1U993289D2OTU8Q0ZZUVJ2YKVQ0C. +-36#11M6LEFDZ4BRMNN08HJX0AP73A4B819Z40JCNG562X5FJZXA1Q = 36#23OD5FEBUX63ZZ0OQTZYX8OTI7NO6J6UFP0RSFL12X42EPW0SBQ27N5HCK0S26M8X4GHN4NY2J37W3JQ6E3TT17IVWAQY8ALF74 div -36#20FB7R2Y7N19BCDYIA6U6UHHVA8V8YJB2XVM516CD1EFSY2PUW. +-36#199FBJSOD472TFP7KNGTBK3VNJ55GWM67V2VSQ46G3943FOVACLMGL4TIYD6H260IE5C0KY1CC2H4D1OIFH8RO942NUWSWT5HDS = -36#31JR3OGLOTGYFPNZ4X9GPRE3AEXXJC8UNBQB6B575VX4GFJK7A * 36#EVGONASFECXUV86N8356PK026PXNFAP3P8R5DH14JOBRQCUHS. +-36#YKP68NY95QS7Q7LJ5CVTFZ39JPF83DR04JAK5I4KC7MLFBSDV = 36#49VTUC6TNKTSMBP45TG86XZWVC4VJSZZ8D842Z9ICQ4QY4EC8Q8STEK7KCMK7I4YDMEAMQ752ZAX2JFU05F96HTW5XJLPUI4PLPW5769A3DDYQE56A9HZ44DKA58I7HJB9UFLDZEICCKYHGPCJ1PRKOJMKB7YYDCBVE40KIVCHK9OATIEAUXM2UFZB8K0SW7V4QF5MJNXTDHDHHT0TD2K4NZL98L83X09EEPRIPOU84L4TEQJJIES0EY58HUTADW63R8O8S018VR99FAQ1C7HTHK1PC4SEN14FKSTCVZO2IPMZVRVLHH6JMAU6YH0L2Z1EOUO15XT2MYEMZX04MD8J1IFSLIJATZ0L3NHUYO div -36#4G85KYNZU7LTALNHAM7Z09X9XTOIK9IR6IK5UVKB9RZS21Q69H1Z42NEW4O5ZBTX884S7GLKTVW3Y64N2XNGZ9L840N68T5T09W251KS9I15EPHW4ILG7NNUF7E56I6WPLG2ZS5RZKLYZW2JCV2NA1GMIKZFUC1AOPZ9HX10RGC9TJAIC81PHWEJGUWMTAQ7LEZ78X6IFK0D59AGKRAIK2SX5OPHKFST8OTGKKYSSOWYMUM65VRSMJAA07TXKDQNE832Q33I14YC34218XYRJ33UHXIQ7P6WELZDVZYPN1U1MXED093962O. +36#NREN13BXHM5T0MTOPT6ABXTGBJZR4K8ZA29GVA8B2JKE4XCKVY1PBC51LYRKUJICISUEBSYFEW9U5CKNELIZ4FII7X1QLWK07NY48VZB97ABE4II7KHFK5MPCWLGDDHM3XBN8LQ5LNOZWR1OBEOHWZCLPDHQHNYVMDKGCXYG9LLCVX3VN7PEZH6C0JCN1YD54KCUBS0FT2UN1GWT9W8LTNKQJGWIVLYAZMH6IE1E4C91NSY3JRWR9WT82D9E9BOO2DBWRT4P5P8PETMHITJI596QE14ZGWW0KBZW78HQE8NI714OGQXUW56B27YRDYJWZTLLNAPJYDEVA7YWE8IV5OOECC = -36#WF3B1JMRX6VHWRZ3M0ZNKAXH0GLRCVZFOPFBRDUW2H3YUDHZ2PYJHL4UZQOX5Z84NCYOJKF1GKI8027E92UKRV74RMFYGUZF52KIRMETDPANYRU3DIBN1B6RB5HTV22X7CH01ZNE7TC9KYNUFSD70R5YQVUSXEQ6R6JPRV92V8OEH9AKB1JIF45EN6304LS6W248J7SQWI8KQ8A8DL2QXKOKPK40JQNNFU8G5R7498208JYFRS6L3N7H4STYMX0AM43HNM7RE5RJFZY77SMKAGE2EMHBFZXB434Q4G2V3DEFD5CRVFN3430OV5DGSLNEWMRO4LKLJP2KJC7T7F4GMHJFDQGKB3WJSZHR1U1XFOR9MRV2OOQIK4E1CJFKL9U3CN1S94S2WHGTQ54IORFJMGYZ4JW0YZCKSWI5XQ65U1M6REP32EGMZ3LBJ6WTICOCA70ZLZ2NL2YXV6CDPZYVYGQE01M9MA2IGPT6SU1IDLXEQ2YE9DG4AS6SKLMCZU67IXJ4X6QDXV23BXHYHWC84KTFQR1NXPBMBA13SPHBSB36IBMXTP0EJI6DF0X8MDMWCSM61I8ILTNO9WC67A6JZPP6KAT8DXL5WNQ6A0C27HI0YY5T6E32Y8FLK66ZZT5BW83MOQDVY9TGZ1RL7L4PSK3PZENSUGHS5QBBTTNGJGYGIT5LMI02K4MQXB7LM34LDYBJ0E4SCZB1NRP8KD0WUB8EQ977BY0Q7KTMNCNVBBOMVRBHLVJKMGCXKNEXCMTWIT4179K9BCT0EBFG5JL0KBE399M0YZCHAKWE9H26CZVVSU9DY42UMYRFZ279P2O950 div -36#1D482ZXXRP0FJTO9FBW7MO6LE701U5TM6MM4MRT3JZC50BNK6OLLZBGW1593B0Y2Q6XQO37OBB4NJZGNS660K3HBL6RRUOMDDR5SPCA75TZ127J0XJLVJ37RWN8CMIWXCXHW1A9I87CXBMDCWAIFZHKOQEPNL06PEX0E177FH5O8U4FOT8BLGKUSBWEYUG5KT6DISLE9OQ4TPPHT9EQFUNLCT4JB572CHSZEV7G2WGKN100J1L43BIFFVUNBVWIIJOFASLR5SDMIGYEFTBGC16V6FJOBUAT99Z1J30G0MAQOMBH4YNMTIIVOJU74Q8R4V9DULRL6BXE9FRB5JN0JWEI7BBXRK6378ISRMEDGF9YVTWTBRD2DU42EIP2Q1URS84XDH5JJ677ONOAMAU2Q2JXLUCP9JJUTIZOYJT6MGHO5CF019TBVA5XAZRXMK3R00YY43AL6P6TSZNK0CXZEDK5JUFZEGR8JENG6MPOUF. diff --git a/erts/emulator/test/big_SUITE_data/gen_data b/erts/emulator/test/big_SUITE_data/gen_data new file mode 100755 index 000000000000..f8b1521dfcb4 --- /dev/null +++ b/erts/emulator/test/big_SUITE_data/gen_data @@ -0,0 +1,33 @@ +#!/usr/bin/env escript +%% -*- erlang -*- +-mode(compile). + +main([N]) -> + eq_big_mul_div(N); +main([]) -> + eq_big_mul_div(1000). + +eq_big_mul_div(N) when is_integer(N) -> + L0 = [gen() || _ <- lists:seq(1, N)], + L1 = lists:append(L0), + L = sets:to_list(sets:from_list(L1, [{version,2}])), + ok = file:write_file("eq_big_mul_div.dat", L). + +gen() -> + A = rand_int(), + B = rand_int(), + P = A * B, + L = [if + B < 0 -> + io_lib:format("~.36# = ~.36# * (~.36#).\n", [P,A,B]); + true -> + io_lib:format("~.36# = ~.36# * ~.36#.\n", [P,A,B]) + end, + io_lib:format("~.36# = ~.36# div ~.36#.\n", [A,P,B]), + io_lib:format("~.36# = ~.36# div ~.36#.\n", [B,P,A])], + [lists:flatten(S) || S <- L]. + +rand_int() -> + Sz = floor(max(rand:normal() * 256 + 128, 4*8)), + <> = rand:bytes(Sz), + Int. diff --git a/erts/emulator/test/big_SUITE_data/karatsuba.dat b/erts/emulator/test/big_SUITE_data/karatsuba.dat new file mode 100644 index 000000000000..d3eeb1edda63 --- /dev/null +++ b/erts/emulator/test/big_SUITE_data/karatsuba.dat @@ -0,0 +1,6 @@ +2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222220638517163875604234197893799387492940714846904459640175648396747364515954208900839325461351363793129284077140658689554385146217203856200723212082378278681864294152015980850427464026656249693797220123249860586581459140699479021638770759493450252580845047833949914496709723236955652660 = 778044957111982296698085106003820588379533248535175305369992153103173638825081172125947786580536601796787332015996348528501051686995129310226034229210961747151236268717981478782260 * 2856161719074522159237009590056107822635035670018713848188829444171911440810511153593372984982324471392734428893744842307433179041780071800813834204750896979634955588152420293439551458314069220674241649915149179367953255529141343871757486196569041879420486970654045852414605072383041. +778044957111982296698085106003820588379533248535175305369992153103173638825081172125947786580536601796787332015996348528501051686995129310226034229210961747151236268717981478782260 = 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222220638517163875604234197893799387492940714846904459640175648396747364515954208900839325461351363793129284077140658689554385146217203856200723212082378278681864294152015980850427464026656249693797220123249860586581459140699479021638770759493450252580845047833949914496709723236955652660 div 2856161719074522159237009590056107822635035670018713848188829444171911440810511153593372984982324471392734428893744842307433179041780071800813834204750896979634955588152420293439551458314069220674241649915149179367953255529141343871757486196569041879420486970654045852414605072383041. +2856161719074522159237009590056107822635035670018713848188829444171911440810511153593372984982324471392734428893744842307433179041780071800813834204750896979634955588152420293439551458314069220674241649915149179367953255529141343871757486196569041879420486970654045852414605072383041 = 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222220638517163875604234197893799387492940714846904459640175648396747364515954208900839325461351363793129284077140658689554385146217203856200723212082378278681864294152015980850427464026656249693797220123249860586581459140699479021638770759493450252580845047833949914496709723236955652660 div 778044957111982296698085106003820588379533248535175305369992153103173638825081172125947786580536601796787332015996348528501051686995129310226034229210961747151236268717981478782260. +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111063449349767560406261235142392341647649025372723765646039413496854749810861561328494820951780143140256625626909176959305680458786553388553625107116000046915830257816726584619722724548281507789670906469943008403108740971884016290536011259624824529432103615715080701414809437629318331795425002605292373621627076391706037344544674952930655508373167888426163639927117607800531055216745789633238812571951209824449373098738720474325546029838911536645854016658738287810538248535167943048401518088275884360994522447081283976255652056784266085927715913003002338073550339930729586019785550085812920084971952784494047195550542735273493532002238413738149969014369426810026122179115108673871125270161926777717396432145405190153796887093089464334888549712739386389592196847353891969079332035195409407770223110583450176399233173852721971468580226906388907065682291829282704839192753805483705821353760692262887904886094845663298931749956912234282496355841821173993089465864518791095006027639953496042767023689710197973028632817727184498866638467324567019639370889678900544190692386873018896672246736368046857567131910710307733567633067262431422838734848 = 227244752509208666244300049023218501664936565624639514576438496566054518678090377206901554539288856996266272083253480866328891556584179795376043393179397439111001075307836347541226766323267029349186809052518632576630669501495499405707466858562586370759397778341785328471459982484138277798132149400741413820728000336730772425983653136275550466388207243285757977918 * 488949073121539043178895838851406898867685260673611653386208527301320256750945098442460084709113182789107256214464892052884956575049058585335894004824225556978848052700870382486432811126512032810019093103514678580988403100655092773497194921652262878660895819095201202957727846410635903499346091564032100080922029110666198856874372068909543752725127446446275130141704384403153173213642973260347547120927518593494548154693042687813126757638259919480596660015785042800818110628659177941014457037586017066097793890372685757581701160719984224943404424801688527463891923678834379546779645545606419569427574824563111913480237499286872496822079247464512671595600027881545516790726794520875456846025695904828856824122680691695622222780388482248652558345646407544371724549307907546148267185543556530668197490478774267191002528938567372851525085232721844598755176527243119768654561142351728852269053413174476938571816914419435443895662361267309023154705765158795604804766486473731465844362909575530822196003981963565054860681271890620405191718478159479477685388913902388171544282368568608479247952664643776459165494556000797676507398085908822491136. +16#aeb17ba36a5a62ac6f0aad2b264d0787363825b9f0edf1ddd6e3d06eb970b70c90d5a43da0e234d85a2bd692ac118318965a1fa855019b8c65f32487755dc5677e27863aa4e4a6a82a76884c4d5d78f5b7807151b0179ee3b387b2118211610d832d1e7367a0e3cd50cce3ce2810e3567fc3fddf180c5ccd0572dc0f8662ef54e864e6182c3f951deff6d4a6cead4322e9bf3d55276f9dbdab649fa18fbdeaa89c002e037bb9090b1a5907ab6d18de09f8f376efdc0341ae360aa732405bf83cfe8342d644443208cfb8ef0568cd597de1ce7389878e48863bf0ebf1538ce2c317d8ac9f81976ae51617d7f6939582a8c28375caab30052d8ddf1b2995fb3891ea4541ef3d92bff37b6726052e8d7530b1f64a3cdfbba9cc320b55b2504417ff21986ceaaab8d4f73fafca6076e04fda786562571c5482b1f06b9b2762f51f3c1734284916153b377f147feb9ab398cf9ee46ba272c0ec8685f5a3832ff4e32aca370591f68bf38523839bd7367ebe02170150e87c69c3ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 = 16#ffffffffffffffff514e845c95a59d5319bf93b6817098d5d7971aec9505825ab1147be429d33c3c85e64de35cbde5d4346523fbc587238f2dc034f4089e119df20a0ddedd415203a7f0a3197be55398eed8be064b7654f4ad47b9bba204f02e04e3d5765209f9606f5d9dbf3b5a2d3734c8f69d2c4677c7d19b6e7ce34b705b220cd214d02435619b89c579d4110f7904aee7c0461b50a48e35c911cea6aae434020aa597a1dc70510e6dab26caf2327ee50d24077a61b317d42479cdf6e1ff00000000000000000000000000000000000000000000000000000000000000000000000000000000 * 16#aeb17ba36a5a62ace6406c497e8f672a2868e5136afa7da54eeb841bd62cc3c37a19b21ca3421a2bcb9adc043a78dc70d23fcb0bf761ee620df5f22122beadfc580f5ce6841aac67112741f9b489ab0b52b846445dfb0fd1fb1c2a89adf6069f90a26240c4a5d2c8cb370962d3b988382e6491831cb48fa4ddf32deb2fdbca9e64763a862beef086fb51183fb9e4af5b71ca36ee3159551bcbfdf55a685e238faef19254d9350dcd811af2dbf8859e4ce82bdb8632091e0100000000000000000000000000000000000000000000000000000000000000000000000000000000. +16#34c8f69d2c4677c6d19b6e7ce34b705bd0be4db83a7e980e81ca31c352a076a32d17ccd3b115ce49dd214d2da4d36ea7ae1bbcc23ae3f69c1ca949af6143cea35124d82ffedc501525ca169af0b58ffb580f5ce6841aac67112741f9b489ab0b52b846445dfb0fd1fb1c2a89adf6069f90a26240c4a5d2c9 = 16#34c8f69d2c4677c7d19b6e7ce34b705b220cd214d02435619b89c579d4110f7904aee7c0461b50a48e35c911cea6aae434020aa597a1dc70510e6dab26caf2327ee50d24077a61b317d42479cdf6e1ff00000000000000000000000000000000000000000000000000000000000000000000000000000000 - 16#ffffffffffffffff514e845c95a59d5319bf93b6817098d5d7971aec9505825ab1147be429d33c3c85e64de35cbde5d4346523fbc587238f2dc034f4089e119df20a0ddedd415203a7f0a3197be55398eed8be064b7654f4ad47b9bba204f02e04e3d5765209f9606f5d9dbf3b5a2d37. diff --git a/erts/emulator/test/binary_SUITE_data/Makefile.src b/erts/emulator/test/binary_SUITE_data/Makefile.src index 541dd6c1ad23..eb74303caf52 100644 --- a/erts/emulator/test/binary_SUITE_data/Makefile.src +++ b/erts/emulator/test/binary_SUITE_data/Makefile.src @@ -26,7 +26,7 @@ CFLAGS = @CFLAGS@ -I@erl_include@ @DEFS@ CROSSLDFLAGS = @CROSSLDFLAGS@ SHLIB_EXTRA_CFLAGS = @EI_CFLAGS@ -I@erl_interface_include@ -SHLIB_EXTRA_LDLIBS = @erl_interface_eilib@ +SHLIB_EXTRA_LDLIBS = @erl_interface_eilib@ @erl_interface_sock_libs@ all: send_term_local_drv@dll@ call_local_drv@dll@ diff --git a/erts/emulator/test/bs_construct_SUITE.erl b/erts/emulator/test/bs_construct_SUITE.erl index bbd942a6ec04..39e012cccc09 100644 --- a/erts/emulator/test/bs_construct_SUITE.erl +++ b/erts/emulator/test/bs_construct_SUITE.erl @@ -29,7 +29,8 @@ copy_writable_binary/1, kostis/1, dynamic/1, bs_add/1, otp_7422/1, zero_width/1, bad_append/1, bs_append_overflow/1, bs_append_offheap/1, - reductions/1, fp16/1, zero_init/1, error_info/1, little/1]). + reductions/1, fp16/1, zero_init/1, error_info/1, little/1, + heap_binary_unit/1]). -include_lib("common_test/include/ct.hrl"). @@ -44,7 +45,7 @@ all() -> copy_writable_binary, kostis, dynamic, bs_add, otp_7422, zero_width, bad_append, bs_append_overflow, bs_append_offheap, reductions, fp16, zero_init, - error_info, little]. + error_info, little, heap_binary_unit]. init_per_suite(Config) -> Config. @@ -779,10 +780,16 @@ dynamic_3(Bef, N, {Int0,Lpad,Rpad,Dynamic}=Data, Count) -> Dynamic(Bef, N, Int1, Lpad, Rpad), Dynamic(Bef, N, -Int1, Lpad, Rpad), - %% OTP-7085: Test a small number in a wide field. + %% OTP-7085: Test a small number in a wide segment. Int2 = Int0 band 16#FFFFFF, Dynamic(Bef, N, Int2, Lpad, Rpad), Dynamic(Bef, N, -Int2, Lpad, Rpad), + + %% Test a bignum in a short segment. + Int4 = ((Lpad bxor Rpad) bsl N) bor Int0, + Dynamic(Bef, N, Int4, Lpad, Rpad), + Dynamic(Bef, N, -Int4, Lpad, Rpad), + dynamic_3(Bef, N-1, Data, Count+1). dynamic_big(Bef, N, Int, Lpad, Rpad) -> @@ -1394,6 +1401,11 @@ error_info(_Config) -> Binary = id(<<"abc">>), HugeBig = id(1 bsl 1500), LongList = lists:seq(1, 100), + BadBinary = id(ok), + BadSize = case Atom of + a -> 0; + _ -> bad_size + end, {badarg, {1,binary,type,Atom}, _} = ?ERROR_INFO(<>), {badarg, {2,binary,type,Atom}, _} = ?ERROR_INFO(<>), @@ -1416,6 +1428,8 @@ error_info(_Config) -> {badarg, {1,binary,size,Atom}, _} = ?ERROR_INFO(<>), {badarg, {1,binary,size,NegSize}, _} = ?ERROR_INFO(<>), {badarg, {1,binary,size,HugeNegSize}, _} = ?ERROR_INFO(<>), + {badarg, {1,binary,size,BadSize}, _} = ?ERROR_INFO(<>), + {badarg, {1,binary,size,BadSize}, _} = ?ERROR_INFO(<>), {badarg, {1,binary,short,Binary}, _} = ?ERROR_INFO(<>), {badarg, {1,binary,short,Binary}, _} = ?ERROR_INFO(<>), {badarg, {1,binary,type,Atom}, _} = ?ERROR_INFO(<>), @@ -1658,6 +1672,35 @@ do_little_1(126, I) -> <>; do_little_1(127, I) -> <>; do_little_1(128, I) -> <>. +%% GH-7469: The unit of variable-sized segments wasn't checked properly, +%% resulting in the creation of heap binaries for non-binary bitstrings. +heap_binary_unit(_Config) -> + {ok, 14524} = heap_binary_unit_1(id(<<184,188,2,66,172,19,0,3>>)), + ok. + +heap_binary_unit_1(<<2:2/integer,Rest:62/bitstring>>) -> + heap_binary_unit_2(<<2:2/integer>>, Rest). + +heap_binary_unit_2(Variant, Rest) -> + VariantSize = bit_size(Variant), + ClockHiSize = 8 - VariantSize, + ClockSize = 8 + ClockHiSize, + case Rest of + <> -> + case + <> + of + <> -> + {ok, Clock}; + Bin1 -> + {error1, Bin1} + end; + Bin2 -> + {error2, Bin2} + end. %%% %%% Common utilities. diff --git a/erts/emulator/test/bs_match_bin_SUITE.erl b/erts/emulator/test/bs_match_bin_SUITE.erl index c29fbd6be764..0ea354b01ee1 100644 --- a/erts/emulator/test/bs_match_bin_SUITE.erl +++ b/erts/emulator/test/bs_match_bin_SUITE.erl @@ -24,7 +24,7 @@ init_per_group/2,end_per_group/2, byte_split_binary/1,bit_split_binary/1,match_huge_bin/1, bs_match_string_edge_case/1,contexts/1, - empty_binary/1]). + empty_binary/1,small_bitstring/1]). -include_lib("common_test/include/ct.hrl"). @@ -32,7 +32,8 @@ suite() -> [{ct_hooks,[ts_install_cth]}]. all() -> [byte_split_binary, bit_split_binary, match_huge_bin, - bs_match_string_edge_case, contexts, empty_binary]. + bs_match_string_edge_case, contexts, empty_binary, + small_bitstring]. groups() -> []. @@ -113,14 +114,6 @@ bits_to_list([], _) -> []. mkbin(L) when is_list(L) -> list_to_binary(L). -make_unaligned_sub_binary(Bin0) -> - Bin1 = <<0:3,Bin0/binary,31:5>>, - Sz = size(Bin0), - <<0:3,Bin:Sz/binary,31:5>> = id(Bin1), - Bin. - -id(I) -> I. - match_huge_bin(Config) when is_list(Config) -> Bin = <<0:(1 bsl 27),13:8>>, skip_huge_bin_1(1 bsl 27, Bin), @@ -280,6 +273,37 @@ do_empty_binary(0) -> do_empty_binary(N) -> %% The new bs_match instruction would use more heap space %% than reserved when matching out an empty binary. - <> = <<>>, + <> = id(<<>>), [0|do_empty_binary(N-1)]. +small_bitstring(_Config) -> + %% GH-7292: The new bs_match instruction would reserve insufficient + %% heap space for small bitstrings. + rand_seed(), + Bin = rand:bytes(10_000), + ok = small_bitstring_1(id(Bin), id(Bin)). + +small_bitstring_1(<>, + <>) -> + small_bitstring_1(As0, As1); +small_bitstring_1(<<>>, <<>>) -> + ok. + +%%% +%%% Common utilities. +%%% + +rand_seed() -> + rand:seed(default), + io:format("\n*** rand:export_seed() = ~w\n\n", [rand:export_seed()]), + ok. + +make_unaligned_sub_binary(Bin0) -> + Bin1 = <<0:3,Bin0/binary,31:5>>, + Sz = size(Bin0), + <<0:3,Bin:Sz/binary,31:5>> = id(Bin1), + Bin. + +id(I) -> I. diff --git a/erts/emulator/test/bs_match_int_SUITE.erl b/erts/emulator/test/bs_match_int_SUITE.erl index 5d7d5f97f0aa..eab2f5ce0744 100644 --- a/erts/emulator/test/bs_match_int_SUITE.erl +++ b/erts/emulator/test/bs_match_int_SUITE.erl @@ -846,6 +846,8 @@ match_huge_int(Config) when is_list(Config) -> bs_match_int_SUITE -> do_match_huge_int(); bs_match_int_r25_SUITE -> + do_match_huge_int(); + bs_match_int_stripped_types_SUITE -> do_match_huge_int() end. diff --git a/erts/emulator/test/bs_utf_SUITE.erl b/erts/emulator/test/bs_utf_SUITE.erl index 4a16ef44ab07..ec15c1b312bb 100644 --- a/erts/emulator/test/bs_utf_SUITE.erl +++ b/erts/emulator/test/bs_utf_SUITE.erl @@ -490,7 +490,8 @@ get_data_dir(Config) -> Data = proplists:get_value(data_dir, Config), Opts = [{return,list}], Suffixes = ["_no_opt_SUITE", - "_r25_SUITE"], + "_r25_SUITE", + "_stripped_types_SUITE"], lists:foldl(fun(Suffix, Acc) -> Opts = [{return,list}], re:replace(Acc, Suffix, "_SUITE", Opts) diff --git a/erts/emulator/test/code_SUITE.erl b/erts/emulator/test/code_SUITE.erl index a1e63cd36ce6..f74df5ca7133 100644 --- a/erts/emulator/test/code_SUITE.erl +++ b/erts/emulator/test/code_SUITE.erl @@ -26,6 +26,7 @@ call_purged_fun_code_gone/1, call_purged_fun_code_reload/1, call_purged_fun_code_there/1, + call_purged_fun_code_altered/1, multi_proc_purge/1, t_check_old_code/1, external_fun/1,get_chunk/1,module_md5/1, constant_pools/1,constant_refc_binaries/1, @@ -47,6 +48,7 @@ all() -> bad_beam_file, literal_leak, call_purged_fun_code_gone, call_purged_fun_code_reload, call_purged_fun_code_there, + call_purged_fun_code_altered, multi_proc_purge, t_check_old_code, external_fun, get_chunk, module_md5, constant_pools, constant_refc_binaries, fake_literals, @@ -250,6 +252,18 @@ call_purged_fun_code_there_test(Config) when is_list(Config) -> call_purged_fun_test(Priv, Data, code_there), ok. +%% GH-7288: calling a fun defined by a module that had been purged after +%% loading a different version of the same module (and therefore did not +%% inherit the old fun entries) could cause the emulator to crash. +call_purged_fun_code_altered(Config) when is_list(Config) -> + run_sys_proc_test(fun call_purged_fun_code_altered_test/1, Config). + +call_purged_fun_code_altered_test(Config) when is_list(Config) -> + Priv = proplists:get_value(priv_dir, Config), + Data = proplists:get_value(data_dir, Config), + call_purged_fun_test(Priv, Data, code_altered), + ok. + call_purged_fun_test(Priv, Data, Type) -> SrcFile = filename:join(Data, "call_purged_fun_tester.erl"), ObjFile = filename:join(Priv, "call_purged_fun_tester.beam"), @@ -258,7 +272,6 @@ call_purged_fun_test(Priv, Data, Type) -> call_purged_fun_tester:do(Priv, Data, Type, []). - multi_proc_purge(Config) when is_list(Config) -> run_sys_proc_test(fun multi_proc_purge_test/1, Config). diff --git a/erts/emulator/test/code_SUITE_data/call_purged_fun.erl b/erts/emulator/test/code_SUITE_data/call_purged_fun.erl new file mode 100644 index 000000000000..e3a94092dc7e --- /dev/null +++ b/erts/emulator/test/code_SUITE_data/call_purged_fun.erl @@ -0,0 +1,32 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023-2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +-module(call_purged_fun). + +-export([make_fun/1, make_fun2/0]). + +make_fun(A) -> + fun(X) -> A + X end. + +make_fun2() -> + fun (F1,F2) -> + F1(), + F2() + end. diff --git a/erts/emulator/test/code_SUITE_data/call_purged_fun_altered.erl b/erts/emulator/test/code_SUITE_data/call_purged_fun_altered.erl new file mode 100644 index 000000000000..6e180afdfea2 --- /dev/null +++ b/erts/emulator/test/code_SUITE_data/call_purged_fun_altered.erl @@ -0,0 +1,37 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023-2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +-module(call_purged_fun). + +-export([make_fun/1, make_fun2/0, dummy/1]). + +make_fun(A) -> + fun(X) -> A + X end. + +make_fun2() -> + fun (F1,F2) -> + F1(), + F2() + end. + +%% Dummy function that ensures the module MD5 is different from the alpha +%% version, keeping us from inheriting its fun entries. +dummy(I) -> + I. diff --git a/erts/emulator/test/code_SUITE_data/call_purged_fun_tester.erl b/erts/emulator/test/code_SUITE_data/call_purged_fun_tester.erl index 5ed5214c942a..32494807c422 100644 --- a/erts/emulator/test/code_SUITE_data/call_purged_fun_tester.erl +++ b/erts/emulator/test/code_SUITE_data/call_purged_fun_tester.erl @@ -7,18 +7,18 @@ do(P,D,T,O) -> do_it(P,D,T,O). do_it(Priv, Data, Type, Opts) -> - File = filename:join(Data, "my_code_test2"), - Code = filename:join(Priv, "my_code_test2"), + OrigFile = filename:join(Data, "call_purged_fun"), + Code = filename:join(Priv, "call_purged_fun"), - catch erlang:purge_module(my_code_test2), - catch erlang:delete_module(my_code_test2), - catch erlang:purge_module(my_code_test2), + catch erlang:purge_module(call_purged_fun), + catch erlang:delete_module(call_purged_fun), + catch erlang:purge_module(call_purged_fun), - {ok,my_code_test2} = c:c(File, [{outdir,Priv} | Opts]), + {ok,call_purged_fun} = c:c(OrigFile, [{outdir,Priv} | Opts]), - T = ets:new(my_code_test2_fun_table, []), - ets:insert(T, {my_fun,my_code_test2:make_fun(4711)}), - ets:insert(T, {my_fun2,my_code_test2:make_fun2()}), + T = ets:new(call_purged_fun_fun_table, []), + ets:insert(T, {my_fun,call_purged_fun:make_fun(4711)}), + ets:insert(T, {my_fun2,call_purged_fun:make_fun2()}), Papa = self(), {P0,M0} = spawn_monitor(fun () -> @@ -37,30 +37,43 @@ do_it(Priv, Data, Type, Opts) -> true; code_reload -> true; + code_altered -> + true; code_there -> false end, %% fun_info/1,2 must behave as documented on purged funs. FunInfoBefore = fun(F) -> - {module, my_code_test2} = erlang:fun_info(F, module), + {module, call_purged_fun} = erlang:fun_info(F, module), {name, []} = erlang:fun_info(F, name), {arity, 1} = erlang:fun_info(F, arity) end, FunInfoAfter = fun(F) -> - {module, my_code_test2} = erlang:fun_info(F, module), + {module, call_purged_fun} = erlang:fun_info(F, module), {name, Name} = erlang:fun_info(F, name), true = is_atom(Name), {arity, 1} = erlang:fun_info(F, arity) end, - true = erlang:delete_module(my_code_test2), + true = erlang:delete_module(call_purged_fun), + + case Type of + code_altered -> + AlteredFile = filename:join(Data, "call_purged_fun_altered.erl"), + {ok,call_purged_fun,AlteredBin} = + compile:file(AlteredFile, [no_error_module_mismatch, + binary | Opts]), + code:load_binary(call_purged_fun, AlteredFile, AlteredBin); + _ -> + ok + end, ok = receive {P0, "going to sleep"} -> ok after 1000 -> timeout end, - Purge = start_purge(my_code_test2, PurgeType), + Purge = start_purge(call_purged_fun, PurgeType), {P1, M1} = spawn_monitor(fun () -> [{my_fun,F}] = ets:lookup(T, my_fun), @@ -129,13 +142,17 @@ do_it(Priv, Data, Type, Opts) -> {undef, _} = wait_for_down(P1,M1), {undef, _} = wait_for_down(P2,M2), {undef, _} = wait_for_down(P3,M3); + code_altered -> + {{badfun, _}, _} = wait_for_down(P1,M1), + {{badfun, _}, _} = wait_for_down(P2,M2), + {{badfun, _}, _} = wait_for_down(P3,M3); _ -> completed = wait_for_down(P1,M1), completed = wait_for_down(P2,M2), completed = wait_for_down(P3,M3), - catch erlang:purge_module(my_code_test2), - catch erlang:delete_module(my_code_test2), - catch erlang:purge_module(my_code_test2) + catch erlang:purge_module(call_purged_fun), + catch erlang:delete_module(call_purged_fun), + catch erlang:purge_module(call_purged_fun) end, ok. diff --git a/erts/emulator/test/erts_debug_SUITE.erl b/erts/emulator/test/erts_debug_SUITE.erl index 2149eac41bb7..d794cade2c7c 100644 --- a/erts/emulator/test/erts_debug_SUITE.erl +++ b/erts/emulator/test/erts_debug_SUITE.erl @@ -82,7 +82,7 @@ test_size(Config) when is_list(Config) -> %% Fun environment size = 0 (the smallest fun possible) SimplestFun = fun() -> ok end, - FunSz0 = 5, + FunSz0 = 3, FunSz0 = do_test_size(SimplestFun), %% Fun environment size = 1 diff --git a/erts/emulator/test/erts_test_utils.erl b/erts/emulator/test/erts_test_utils.erl index dd6b0311b126..23d9a1123375 100644 --- a/erts/emulator/test/erts_test_utils.erl +++ b/erts/emulator/test/erts_test_utils.erl @@ -19,7 +19,7 @@ %% -module(erts_test_utils). --compile(r22). +-compile(r24). %% %% THIS MODULE IS ALSO USED BY *OTHER* APPLICATIONS TEST CODE diff --git a/erts/emulator/test/exception_SUITE.erl b/erts/emulator/test/exception_SUITE.erl index 9d4d0972c26e..38beb7c32e62 100644 --- a/erts/emulator/test/exception_SUITE.erl +++ b/erts/emulator/test/exception_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2022. All Rights Reserved. +%% Copyright Ericsson AB 1997-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -316,9 +316,7 @@ top_of_stacktrace(Conf) when is_list(Conf) -> ok. maxbig() -> - %% We assume that the maximum arity is (1 bsl 19) - 1. - Ws = erlang:system_info(wordsize), - (((1 bsl ((16777184 * (Ws div 4))-1)) - 1) bsl 1) + 1. + erlang:system_info(max_integer). maxbig_gc() -> Maxbig = maxbig(), diff --git a/erts/emulator/test/fun_SUITE.erl b/erts/emulator/test/fun_SUITE.erl index 0f8e7af9261c..113ceb3690ce 100644 --- a/erts/emulator/test/fun_SUITE.erl +++ b/erts/emulator/test/fun_SUITE.erl @@ -698,20 +698,36 @@ t_arity(Config) when is_list(Config) -> t_is_function2(Config) when is_list(Config) -> false = is_function(id({a,b}), 0), false = is_function(id({a,b}), 234343434333433433), - true = is_function(fun() -> ok end, 0), - true = is_function(fun(_) -> ok end, 1), - false = is_function(fun(_) -> ok end, 0), + true = is_function(id(fun() -> ok end), 0), + true = is_function(id(fun(_) -> ok end), 1), + false = is_function(id(fun(_) -> ok end), 0), - true = is_function(fun erlang:abs/1, 1), - true = is_function(fun erlang:abs/99, 99), - false = is_function(fun erlang:abs/1, 0), - false = is_function(fun erlang:abs/99, 0), + true = is_function(id(fun erlang:abs/1), 1), + true = is_function(id(fun erlang:abs/99), 99), + false = is_function(id(fun erlang:abs/1), 0), + false = is_function(id(fun erlang:abs/99), 0), false = is_function(id(self()), 0), false = is_function(id({a,b,c}), 0), false = is_function(id({a}), 0), false = is_function(id([a,b,c]), 0), + %% Larger arities. + F16 = id(fun f/16), + F255 = id(fun f/255), + + false = is_function(id(self()), 16), + true = is_function(F16, 16), + ok = id(if is_function(F16, 16) -> ok; true -> error end), + false = is_function(F255, 16), + error = id(if is_function(F255, 16) -> ok; true -> error end), + + false = is_function(id(self()), 255), + true = is_function(F255, 255), + false = is_function(F16, 255), + error = id(if is_function(F16, 255) -> ok; true -> error end), + ok = id(if is_function(F255, 255) -> ok; true -> error end), + %% Bad arity argument. bad_arity(a), bad_arity(-1), @@ -723,7 +739,7 @@ t_is_function2(Config) when is_list(Config) -> bad_arity(self()), %% Bad arity argument in guard test. - Fun = fun erlang:abs/1, + Fun = id(fun erlang:abs/1), ok = if is_function(Fun, -1) -> error; is_function(Fun, 256) -> error; @@ -733,6 +749,44 @@ t_is_function2(Config) when is_list(Config) -> end, ok. +f(_A1, _A2, _A3, _A4, _A5, _A6, _A7, _A8, + _A9, _A10, _A11, _A12, _A13, _A14, _A15, _A16) -> + ok. + +f(_A1, _A2, _A3, _A4, _A5, _A6, _A7, _A8, + _A9, _A10, _A11, _A12, _A13, _A14, _A15, _A16, + _A17, _A18, _A19, _A20, _A21, _A22, _A23, _A24, + _A25, _A26, _A27, _A28, _A29, _A30, _A31, _A32, + _A33, _A34, _A35, _A36, _A37, _A38, _A39, _A40, + _A41, _A42, _A43, _A44, _A45, _A46, _A47, _A48, + _A49, _A50, _A51, _A52, _A53, _A54, _A55, _A56, + _A57, _A58, _A59, _A60, _A61, _A62, _A63, _A64, + _A65, _A66, _A67, _A68, _A69, _A70, _A71, _A72, + _A73, _A74, _A75, _A76, _A77, _A78, _A79, _A80, + _A81, _A82, _A83, _A84, _A85, _A86, _A87, _A88, + _A89, _A90, _A91, _A92, _A93, _A94, _A95, _A96, + _A97, _A98, _A99, _A100, _A101, _A102, _A103, _A104, + _A105, _A106, _A107, _A108, _A109, _A110, _A111, _A112, + _A113, _A114, _A115, _A116, _A117, _A118, _A119, _A120, + _A121, _A122, _A123, _A124, _A125, _A126, _A127, _A128, + _A129, _A130, _A131, _A132, _A133, _A134, _A135, _A136, + _A137, _A138, _A139, _A140, _A141, _A142, _A143, _A144, + _A145, _A146, _A147, _A148, _A149, _A150, _A151, _A152, + _A153, _A154, _A155, _A156, _A157, _A158, _A159, _A160, + _A161, _A162, _A163, _A164, _A165, _A166, _A167, _A168, + _A169, _A170, _A171, _A172, _A173, _A174, _A175, _A176, + _A177, _A178, _A179, _A180, _A181, _A182, _A183, _A184, + _A185, _A186, _A187, _A188, _A189, _A190, _A191, _A192, + _A193, _A194, _A195, _A196, _A197, _A198, _A199, _A200, + _A201, _A202, _A203, _A204, _A205, _A206, _A207, _A208, + _A209, _A210, _A211, _A212, _A213, _A214, _A215, _A216, + _A217, _A218, _A219, _A220, _A221, _A222, _A223, _A224, + _A225, _A226, _A227, _A228, _A229, _A230, _A231, _A232, + _A233, _A234, _A235, _A236, _A237, _A238, _A239, _A240, + _A241, _A242, _A243, _A244, _A245, _A246, _A247, _A248, + _A249, _A250, _A251, _A252, _A253, _A254, _A255) -> + ok. + bad_arity(A) -> {'EXIT',_} = (catch is_function(fun() -> ok end, A)), {'EXIT',_} = (catch is_function(no_fun, A)), @@ -838,8 +892,7 @@ id(X) -> X. spawn_call(Node, AFun) -> - Parent = self(), - Init = erlang:whereis(init), + Self = self(), Pid = spawn_link(Node, fun() -> receive @@ -850,10 +903,7 @@ spawn_call(Node, AFun) -> _ -> lists:seq(0, Arity-1) end, Res = apply(Fun, Args), - case erlang:fun_info(Fun, pid) of - {pid,Init} -> Parent ! {result,Res}; - {pid,Creator} -> Creator ! {result,Res} - end + Self ! {result,Res} end end), Pid ! {AFun,AFun,AFun}, diff --git a/erts/emulator/test/map_SUITE.erl b/erts/emulator/test/map_SUITE.erl index 5d7546c1a474..e034714de21e 100644 --- a/erts/emulator/test/map_SUITE.erl +++ b/erts/emulator/test/map_SUITE.erl @@ -97,6 +97,10 @@ %% Benchmarks -export([benchmarks/1]). +%% Helper for generating new colliding keys after the internal hashing +%% algorithm changes. +-export([find_colliding_keys/1]). + -include_lib("stdlib/include/ms_transform.hrl"). -include_lib("common_test/include/ct_event.hrl"). @@ -3559,45 +3563,213 @@ minor_gcs() -> {minor_gcs, GCS} = lists:keyfind(minor_gcs, 1, Info), GCS. -%% Generate a map with N (or N+1) keys that has an abnormal heap demand. -%% Done by finding keys that collide in the first 32-bit hash. +%% Generate a map with N (or N+1) keys that have an abnormal heap demand. Done +%% by finding keys that collide in the first 32 bits of the hash. fatmap(N) -> - %%erts_debug:set_internal_state(available_internal_state, true), - Table = ets:new(void, [bag, private]), - - Seed0 = rand:seed_s(exsplus, {4711, 3141592, 2718281}), - Seed1 = fatmap_populate(Table, Seed0, (1 bsl 16)), - Keys = fatmap_generate(Table, Seed1, N, []), - ets:delete(Table), - maps:from_list([{K,K} || K <- Keys]). + Groups0 = colliding_keys(), + Groups = lists:nthtail(length(Groups0) - (N div 2), Groups0), + Keys = lists:append([[A, B] || [A, B | _Rest] <- Groups]), + maps:from_keys(Keys, []). + +colliding_keys() -> + %% Collide to 8 levels, anything more than this takes way too long to + %% generate. + Mask = 16#FFFFFFFF, + + %% Collisions found by find_colliding_keys(Mask) below. When regenerating + %% keys, make sure to run it outside testing as it might time-trap + %% otherwise. + %% + %% io:format("Finding new colliding keys for mask ~p~n", [Mask]), + %% io:format("Colliding keys\n\t~p\n", [find_colliding_keys(Mask)]), + ByMethod = #{ + %% 64-bit internal hash of `0` + 15677855740172624429 => + [[-4294967296,-3502771103,1628104549], + [-2750312253,-2208396507,-2147483648,1926198452,3660971145], + [-2542330914,-1089175976,-1073741824,290495829], + [-2155350068,0], + [1073741824,2807978463,3625918826], + [-1032333168,-705082324,1541401419,1594347321,2147483648, + 2266580263,2823045213], + [-2465550512,3221225472], + [2854075383,651030299,-1581781966,-3419595364,-4294967295], + [3351133532,968011333,-2217176682,-4294967294], + [598547769,-1379599129,-4294967293], + [-649195724,-4294967292], + [2943767758,-645518858,-875893937,-1294474094,-4294967291], + [3255309205,-2208705073,-4294967290], + [2162086262,-3745041100,-4294967288], + [-36087602,-1146855151,-1687820340,-3221225471], + [4177844763,3846951687,3485974116,3175597814,590007752, + -3221225470], + [3264460518,1553643847,1183174568,-3221225469], + [-577423597,-3221225468,-3522984153], + [3855876603,3019389034,-1323003840,-2576022240,-3221225467], + [-471176452,-3221225466], + [-1122194611,-3221225465,-4210494386], + [3603262778,994932591,-1788155141,-1921175318,-3221225464], + [3836440544,-1003007187,-2147483647], + [-2051344765,-2147483646], + [3650711544,-2147483645,-2799381711,-3556915274], + [3489936963,1240642555,-2147483644,-3957745840], + [1085161678,-2052366093,-2147483643,-3483479006], + [1939744936,-2147483642,-3856508363], + [-566163246,-2060332302,-2147483641,-4230104575], + [1203359280,237551462,-1073741823], + [1727228961,-813544803,-1073741822,-1309725727,-1666872574, + -2203000992], + [3698637395,3362609925,876970478,-714241238,-1073741821], + [1765842640,-354951691,-566902540,-1073741820], + [3963091352,2371749084,591553116,-1073741819], + [-1073741817,-2715118400], + [-1073741816,-3224015310], + [2762405117,1,-2123671186], + [2470477117,2,-331878960,-2322233731], + [3815926349,2088957086,3], + [1968999576,870968367,4,-1268233288,-3048698020], + [979559827,5], + [946684365,753214037,6,-2648059890], + [3790852688,2964822264,2830450758,7,-3580232887], + [1073741825,-3356417243,-3706053980], + [1073741827,-2621798828], + [1073741828,-2347690873], + [2090309310,1073741830,-1375115411,-2016799213,-4267952630], + [1073741831,672032559], + [1073741832,-2577014530,-3065907606], + [3796535022,2351766515,2147483649,-2136894649], + [2280176922,2147483650], + [4198987324,3244673818,2147483651,270823276,-2880202587], + [3880317786,3256588678,2670024934,2147483652,-2327563310, + -3284218582,-3844717086], + [2178108296,2147483653,-3361345880], + [2954325696,2147483654,-1059451308,-1331847237], + [3189358149,2147483655,-1477948284,-1669797549,-3362853705, + -3928750615], + [2147483656,471953932,-355892383], + [3221225473,-3995083753,-4092880912], + [3221225474,-2207482759,-3373076062], + [3221225475,2400978919,2246389041,1052806668,-781893221, + -1811850779], + [3221225476,-245369539,-1842612521], + [3221225477,688232807], + [3221225478,209327542,-2793530395], + [3221225479,-2303080520,-4225327222], + [4216539003,3221225480]], + + %% 32-bit internal hash of `0` + 416211501 => + [[-55973163,-134217697],[43918753,-134217684], + [107875525,-134217667],[-30291033,-134217663], + [-40285269,-111848095],[35020004,-111848056], + [-44437601,-111848046],[103325476,-69901823,-111848030], + [126809757,-111848012],[-92672406,-111848005], + [-64199103,-111847990],[102238942,-111847982], + [62106519,-89478468],[-89478462,-128994853], + [-67899866,-89478412],[-45432484,-89478397], + [120764819,-89478387],[9085208,-89478382], + [10859155,-89478369],[45834467,-67108863], + [-67108857,-124327693],[104597114,-67108847], + [11918558,-67108783],[50986187,-67108760], + [113683827,64978564,-67108752], + [111972669,-67108751],[27085194,-44739227], + [46760231,-44739221],[101248827,-44739220], + [30692154,-44739176],[33768394,-44739117], + [-12083942,-44739116],[-22369572,-112420685], + [-22369568,-98812798],[-22369550,-78759395], + [47792095,-22369543],[9899495,-22369540], + [99744593,-22369511],[76325343,52], + [122425143,68],[21651445,74], + [129537216,119],[125,-110161190], + [80229747,22369626],[22369629,-55742042], + [128416574,22369631],[105267606,22369643], + [22369693,-2286278],[126622985,22369698], + [22369701,-13725583],[22369728,-22765683], + [22369731,-54786216],[22369740,-65637968], + [44739246,12048008],[44739259,-26636781], + [126966693,44739272],[44739274,-130215175], + [44739277,15051453],[44739292,17890441], + [44739301,-72627814],[106949249,44739322], + [44739323,-56882381],[67108879,-111259055], + [67108888,37627968],[67108894,-53291767], + [67108896,-127782577],[67108908,-1014167], + [82796148,67108959],[67108962,-71355523], + [67108984,-62077338,-77539719],[126106374,89478485], + [89478488,85703113],[132215738,89478495], + [89478515,-122049151],[89478518,-22611374], + [94050181,89478530],[89478547,42736340], + [89478553,86641584],[129419863,111848199], + [111848217,-32493354],[112586988,111848229]] + }, + + HashKey = internal_hash(0), + #{ HashKey := Keys } = ByMethod, + + verify_colliding_keys(Keys, Mask). + +verify_colliding_keys([[K | Ks]=Group | Gs], Mask) -> + Hash = internal_hash(K) band Mask, + [Hash] = lists:usort([(internal_hash(Key) band Mask) || Key <- Ks]), + [Group | verify_colliding_keys(Gs, Mask)]; +verify_colliding_keys([], _Mask) -> + []. + +%% Use this function to (re)generate the list in colliding_keys/0. This takes +%% several hours to run so you may want to run it overnight. +find_colliding_keys(Mask) -> + NumScheds = erlang:system_info(schedulers_online), + %% Stay below the limit for smalls on 32-bit platforms to prevent the + %% search from taking forever due to bignums. + Start = -(1 bsl 27), + End = -Start, + Range = End - Start, + Step = Range div NumScheds, + timer:tc(fun() -> + ckf_spawn(NumScheds, NumScheds, Start, End, Step, Mask, []) + end). + +ckf_spawn(0, _NumScheds, _Start, _End, _Step, _Mask, Refs) -> + lists:append(ckf_await(Refs)); +ckf_spawn(N, NumScheds, Start, End, Step, Mask, Refs) -> + Keys = [Start + Z + (N - 1) * Step || Z <- lists:seq(1, 128)], + {_, Ref} = spawn_monitor(fun() -> + exit(ckf_finder(Start, End, Mask, Keys)) + end), + ckf_spawn(N - 1, NumScheds, Start, End, Step, Mask, [Ref | Refs]). + +ckf_await([Ref | Refs]) -> + receive + {'DOWN', Ref, _, _, []} -> + %% Ignore empty slices. + ckf_await(Refs); + {'DOWN', Ref, _, _, Collisions} -> + [Collisions | ckf_await(Refs)] + end; +ckf_await([]) -> + []. -fatmap_populate(_, Seed, 0) -> Seed; -fatmap_populate(Table, Seed, N) -> - {I, NextSeed} = rand:uniform_s(1 bsl 48, Seed), - Hash = internal_hash(I), - ets:insert(Table, [{Hash, I}]), - fatmap_populate(Table, NextSeed, N-1). +ckf_finder(Start, End, Mask, Keys) -> + [ckf_finder_1(Start, End, Mask, Key) || Key <- Keys]. +ckf_finder_1(Start, End, Mask, Key) -> + true = Key >= Start, true = Key < End, %Assertion. + Target = internal_hash(Key) band Mask, + ckf_finder_2(Start, End, Mask, Target, []). -fatmap_generate(_, _, N, Acc) when N =< 0 -> +ckf_finder_2(Same, Same, _Mask, _Target, [_]) -> + %% Key collided with itself, ignore it. + []; +ckf_finder_2(Same, Same, _Mask, _Target, Acc) -> Acc; -fatmap_generate(Table, Seed, N0, Acc0) -> - {I, NextSeed} = rand:uniform_s(1 bsl 48, Seed), - Hash = internal_hash(I), - case ets:member(Table, Hash) of - true -> - NewKeys = [I | ets:lookup_element(Table, Hash, 2)], - Acc1 = lists:usort(Acc0 ++ NewKeys), - N1 = N0 - (length(Acc1) - length(Acc0)), - fatmap_generate(Table, NextSeed, N1, Acc1); - false -> - fatmap_generate(Table, NextSeed, N0, Acc0) +ckf_finder_2(Next, End, Mask, Target, Acc) -> + case (internal_hash(Next) band Mask) =:= Target of + true -> ckf_finder_2(Next + 1, End, Mask, Target, [Next | Acc]); + false -> ckf_finder_2(Next + 1, End, Mask, Target, Acc) end. internal_hash(Term) -> erts_debug:get_internal_state({internal_hash, Term}). - %% map external_format (fannerl). fannerl() -> <<131,116,0,0,0,28,100,0,13,108,101,97,114,110,105,110,103,95,114, @@ -3786,7 +3958,7 @@ make_nontrivial_map(N, Effort) -> maps:from_list(L). verify_map_term(Term) -> - Printed = string:chomp(erts_debug:display(Term)), + Printed = string:chomp(erts_internal:term_to_string(Term)), {ok,Tokens,1} = erl_scan:string(Printed ++ "."), {ok,ParsedTerm} = erl_parse:parse_term(Tokens), diff --git a/erts/emulator/test/nif_SUITE.erl b/erts/emulator/test/nif_SUITE.erl index 359646ca5c65..640903151d4e 100644 --- a/erts/emulator/test/nif_SUITE.erl +++ b/erts/emulator/test/nif_SUITE.erl @@ -75,6 +75,7 @@ nif_whereis/1, nif_whereis_parallel/1, nif_whereis_threaded/1, nif_whereis_proxy/1, nif_ioq/1, + non_exported_nif/1, match_state_arg/1, pid/1, id/1, @@ -210,7 +211,8 @@ suite() -> [{ct_hooks,[ts_install_cth]}]. all() -> - [basic] + [basic, + non_exported_nif] ++ [{group, G} || G <- api_groups()] ++ @@ -330,6 +332,13 @@ basic(Config) when is_list(Config) -> true = lists:member(?MODULE, erlang:system_info(taints)), ok. +%% Check that non-exported NIFs aren't exported by the compiler's +%% beam_ssa_opt-pass. +non_exported_nif(Config) when is_list(Config) -> + ensure_lib_loaded(Config), + false = lists:member({lib_version,0}, ?MODULE:module_info(exports)), + ok. + %% Test old reload feature now always fails reload_error(Config) when is_list(Config) -> TmpMem = tmpmem(), @@ -3747,7 +3756,7 @@ test_bit_distribution_fitness(Integers, BitSize) -> (FailureText =:= [] orelse ct:fail(FailureText)). -nif_hash_result_bitsize(internal) -> 32; +nif_hash_result_bitsize(internal) -> erlang:system_info(wordsize) * 8; nif_hash_result_bitsize(phash2) -> 27. unique(List) -> diff --git a/erts/emulator/test/node_container_SUITE.erl b/erts/emulator/test/node_container_SUITE.erl index 13d111a1ad6f..67936a51a2b3 100644 --- a/erts/emulator/test/node_container_SUITE.erl +++ b/erts/emulator/test/node_container_SUITE.erl @@ -28,6 +28,7 @@ -module(node_container_SUITE). -author('rickard.green@uab.ericsson.se'). +-include_lib("stdlib/include/assert.hrl"). -include_lib("common_test/include/ct.hrl"). -export([all/0, suite/0, init_per_suite/1, end_per_suite/1, @@ -904,21 +905,29 @@ mkpidlist(N, Ps) -> mkpidlist(N-1, [spawn(fun () -> ok end)|Ps]). iter_max_procs(Config) when is_list(Config) -> - NoMoreTests = make_ref(), - erlang:send_after(10000, self(), NoMoreTests), - %% Disable logging to avoid "Too many processes" log which can %% cause ct_logs to crash when trying to spawn "async print job". - #{level := LoggerLevel} = logger:get_primary_config(), - ok = logger:set_primary_config(level, none), - Res = try - R = chk_max_proc_line(), - R = chk_max_proc_line(), - done = chk_max_proc_line_until(NoMoreTests, R), - R - after - logger:set_primary_config(level, LoggerLevel) + {ok, Peer, Node} = ?CT_PEER(["+P", "2048", "-kernel", "logger_level", "none"]), + NoMoreTests = make_ref(), + + Self = self(), + NcData = make_ref(), + + %% Sleep to give all `peer` processes time to go down. + ct:sleep(500), + + RPid = spawn_link(Node, fun () -> + erlang:send_after(10000, self(), NoMoreTests), + R = chk_max_proc_line(), + R = chk_max_proc_line(), + done = chk_max_proc_line_until(NoMoreTests, R), + Self ! {NcData, R} + end), + Res = receive + {NcData, R} -> R end, + unlink(RPid), + stop_node(Peer, Node), Cmt = io_lib:format("max processes = ~p; " "process line length = ~p", [element(2, Res), element(1, Res)]), @@ -959,7 +968,7 @@ chk_max_proc_line_until(NoMoreTests, Res) -> NoMoreTests -> done after 0 -> - Res = chk_max_proc_line(), + ?assertEqual(Res, chk_max_proc_line()), chk_max_proc_line_until(NoMoreTests, Res) end. @@ -972,20 +981,20 @@ magic_ref(Config) when is_list(Config) -> MRef0 = MRef1, Me = self(), {Pid, Mon} = spawn_opt(fun () -> - receive - {Me, MRef} -> - Me ! {self(), erts_debug:get_internal_state({magic_ref,MRef})} - end - end, - [link, monitor]), + receive + {Me, MRef} -> + Me ! {self(), erts_debug:get_internal_state({magic_ref,MRef})} + end + end, + [link, monitor]), Pid ! {self(), MRef0}, receive - {Pid, Info} -> - {Addr0, 3, true} = Info + {Pid, Info} -> + {Addr0, 3, true} = Info end, receive - {'DOWN', Mon, process, Pid, _} -> - ok + {'DOWN', Mon, process, Pid, _} -> + ok end, MaxTime = erlang:monotonic_time(millisecond) + 1000, %% The DOWN signal is sent before heap is cleaned up, diff --git a/erts/emulator/test/num_bif_SUITE.erl b/erts/emulator/test/num_bif_SUITE.erl index 4b1c9491bc24..c53b660bf539 100644 --- a/erts/emulator/test/num_bif_SUITE.erl +++ b/erts/emulator/test/num_bif_SUITE.erl @@ -534,7 +534,7 @@ trunc_and_friends(F) -> end, Trunc. -%% Tests integer_to_binary/1. +%% Tests integer_to_binary/{1,2} and integer_to_list/{1,2}. t_integer_to_string(Config) when is_list(Config) -> test_its("0",0), @@ -599,21 +599,22 @@ test_its(List,Int,Base) -> Binary = list_to_binary(List), Binary = integer_to_binary(Int, Base). -%% Tests binary_to_integer/1. +%% Tests list_to_integer/{1,2} and binary_to_integer/{1,2}. t_string_to_integer(Config) when is_list(Config) -> + _ = rand:uniform(), %Seed generator + io:format("Seed: ~p", [rand:export_seed()]), + 0 = erlang:binary_to_integer(id(<<"00">>)), 0 = erlang:binary_to_integer(id(<<"-0">>)), 0 = erlang:binary_to_integer(id(<<"+0">>)), test_sti(0), test_sti(1), - test_sti(-1), + test_sti(12), test_sti(42), - test_sti(-12), test_sti(32768), test_sti(268435455), - test_sti(-268435455), %% Interesting values around 2-pows, such as MIN_SMALL and MAX_SMALL. lists:foreach(fun(Bits) -> @@ -625,14 +626,15 @@ t_string_to_integer(Config) when is_list(Config) -> lists:seq(16, 130)), %% Bignums - test_sti(123456932798748738738,16), + _ = [test_sti(rand_bignum()) || _ <- lists:seq(1, 1000)], + test_sti(123456932798748738738, 16), test_sti(list_to_integer(lists:duplicate(2000, $1))), %% Unaligned string Str = <<"10">>, UnalignStr = <<0:3, (id(Str))/binary, 0:5>>, <<_:3, SomeStr:2/binary, _:5>> = id(UnalignStr), - 10 = erlang:binary_to_integer(SomeStr), + 10 = binary_to_integer(SomeStr), %% Invalid types lists:foreach(fun(Value) -> @@ -678,6 +680,11 @@ t_string_to_integer(Config) when is_list(Config) -> ok. +rand_bignum() -> + Sz = max(floor(rand:normal() * 128 + 64), 2*8), + <> = rand:bytes(Sz), + Int. + %% Tests edge cases for list_to_integer; compares with known good values t_list_to_integer_edge_cases(Config) when is_list(Config) -> @@ -735,21 +742,34 @@ test_sti(Num) -> test_sti(Num,Base) end|| Base <- lists:seq(2,36)]. -test_sti(Num,Base) -> +test_sti(Num, Base) -> Neg = -Num, - Num = list_to_integer(int2list(Num,Base),Base), - Neg = list_to_integer(int2list(Num*-1,Base),Base), - Num = binary_to_integer(int2bin(Num,Base),Base), - Neg = binary_to_integer(int2bin(Num*-1,Base),Base). - -% Calling this function (which is not supposed to be inlined) prevents -% the compiler from calculating the answer, so we don't test the compiler -% instead of the newest runtime system. -id(X) -> X. -%% Uses the printing library to to integer_to_binary conversions. -int2bin(Int,Base) when Base < 37 -> - iolist_to_binary(int2list(Int,Base)). + NumList = int2list(Num, Base), + NegNumList = int2list(Neg, Base), + + Num = list_to_integer(NumList, Base), + Neg = list_to_integer(NegNumList, Base), + Num = binary_to_integer(iolist_to_binary(NumList), Base), + Neg = binary_to_integer(iolist_to_binary(NegNumList), Base), + + if + Base =:= 10 -> + Num = list_to_integer(NumList), + Neg = list_to_integer(NegNumList), + Num = binary_to_integer(iolist_to_binary(NumList)), + Neg = binary_to_integer(iolist_to_binary(NegNumList)); + true -> + ok + end, + + ok. + +%% Calling this function (which is not supposed to be inlined) +%% prevents the compiler from calculating the answer, so we don't test +%% the compiler instead of the newest runtime system. +id(X) -> X. -int2list(Int,Base) when Base < 37 -> +%% Use the printing library to convert to list. +int2list(Int, Base) when is_integer(Base), 2 =< Base, Base =< 36 -> lists:flatten(io_lib:format("~."++integer_to_list(Base)++"B",[Int])). diff --git a/erts/emulator/test/op_SUITE.erl b/erts/emulator/test/op_SUITE.erl index 73b556ad669b..528cbea7789d 100644 --- a/erts/emulator/test/op_SUITE.erl +++ b/erts/emulator/test/op_SUITE.erl @@ -294,7 +294,11 @@ relop(Config) when is_list(Config) -> Big2 = 19738924729729787487784874, F1 = float(Big1), F2 = float(Big2), - Vs0 = [a,b,-33,-33.0,0,0.0,42,42.0,Big1,Big2,F1,F2], + Bin = <<"abc">>, + BitString = <<0:7>>, + Map = #{a => b}, + Vs0 = [a,b,-33,-33.0,0,0.0,42,42.0,Big1,Big2,F1,F2, + Bin,BitString,Map], Vs = [unvalue(V) || V <- Vs0], Ops = ['==', '/=', '=:=', '=/=', '<', '=<', '>', '>='], binop(Ops, Vs). @@ -303,7 +307,10 @@ relop(Config) when is_list(Config) -> complex_relop(Config) when is_list(Config) -> Big = 99678557475484872464269855544643333, Float = float(Big), - Vs0 = [an_atom,42.0,42,Big,Float], + Bin = <<"abc">>, + BitString = <<0:7>>, + Map = #{a => b}, + Vs0 = [an_atom,42.0,42,Big,Float,Bin,BitString,Map], Vs = flatmap(fun(X) -> [unvalue({X}),unvalue([X])] end, Vs0), Ops = ['==', '/=', '=:=', '=/=', '<', '=<', '>', '>='], binop(Ops, Vs). @@ -935,6 +942,17 @@ ge_ge_int_range_4(_) -> %% Tests operators where type hints are significant. typed_relop(Config) when is_list(Config) -> _ = [compare_integer_pid(1 bsl N) || N <- lists:seq(1, 64)], + + {error,<<7:3>>} = compare_bitstring({text, <<7:3>>, 0}), + {error,<<0:8>>} = compare_bitstring({text, <<0:8>>, 0}), + {error,<<0:9>>} = compare_bitstring({text, <<0:9>>, 0}), + {text, 42} = compare_bitstring({text, <<0:3>>, 42}), + + {error,<<7:3>>} = compare_bitstring({binary, <<7:3>>, 0}), + {error,<<0:8>>} = compare_bitstring({binary, <<0:8>>, 0}), + {error,<<0:9>>} = compare_bitstring({binary, <<0:9>>, 0}), + {binary, 42} = compare_bitstring({binary, <<0:3>>, 42}), + ok. compare_integer_pid(N) when is_integer(N) -> @@ -945,6 +963,17 @@ compare_integer_pid(N) when is_integer(N) -> N < Immed -> ok end. +%% GH-7433. Equality and non-equality tests with a bitstring could fail when it +%% should succeed and vice versa. +compare_bitstring({text, Res, _Data}) when is_bitstring(Res), Res =/= <<0:3>> -> + {error, Res}; +compare_bitstring({binary, Res, _Data}) when is_bitstring(Res), Res =/= <<0:3>> -> + {error, Res}; +compare_bitstring({binary, _Res, Data}) -> + {binary, Data}; +compare_bitstring({text, _Res, Data}) -> + {text, Data}. + %%% %%% Utilities. %%% @@ -961,7 +990,10 @@ value({atom,_,X}) -> X; value({tuple,_,Es}) -> list_to_tuple(lists:map(fun(X) -> value(X) end, Es)); value({cons,_,H,T}) -> - [value(H) | value(T)]. + [value(H) | value(T)]; +value(Other) -> + {value,Value,_} = erl_eval:expr(Other, erl_eval:new_bindings()), + Value. repeat(_, 0) -> ok; repeat(Fun, N) -> diff --git a/erts/emulator/test/persistent_term_SUITE.erl b/erts/emulator/test/persistent_term_SUITE.erl index 39dd2d34289f..178eb295ee7e 100644 --- a/erts/emulator/test/persistent_term_SUITE.erl +++ b/erts/emulator/test/persistent_term_SUITE.erl @@ -40,10 +40,6 @@ %% -export([test_init_restart_cmd/1]). -%% Test writing helper --export([find_colliding_keys/0]). - - suite() -> [{ct_hooks,[ts_install_cth]}, {timetrap,{minutes,10}}]. @@ -603,120 +599,144 @@ collisions_delete([], _) -> ok. colliding_keys() -> - %% Collisions found by find_colliding_keys() below - %% ct:timetrap({minutes, 60}), - %% ct:pal("Colliding keys = ~p", [find_colliding_keys()]), - Collisions = - #{ - %% Collisions for Jenkins96 hashing. - 1268203079 => [[77674392,148027], - [103370644,950908], - [106444046,870178], - [22217246,735880], - [18088843,694607], - [63426007,612179], - [117354942,906431], - [121434305,94282311,816072], - [118441466,93873772,783366], - [124338174,1414801,123089], - [20240282,17113486,923647], - [126495528,61463488,164994], - [125341723,5729072,445539], - [127450932,80442669,348245], - [123354692,85724182,14241288,180793], - [99159367,65959274,61680971,289939], - [107637580,104512101,62639807,181644], - [139547511,51654420,2062545,151944], - [88078274,73031465,53388204,428872], - [141314238,75761379,55699508,861797], - [88045216,59272943,21030492,180903]], - %% Collisions for CRC32-C hashing. - 1982459178 => [[-4294967296,654663773], - [-3758096384,117792861], - [-3221225472,1728405597], - [-2684354560,1191534685], - [-2147483648,2706162303], - [-1610612736,2169291391], - [-1073741824,3779904127], - [-536870912,3243033215], - [-3640303523,0], - [-4177174435,536870912], - [-2566561699,1073741824], - [-3103432611,1610612736], - [-1588804993,2147483648], - [-2125675905,2684354560], - [-515063169,3221225472], - [-1051934081,3758096384]] - }, - - Key = internal_hash(2), - ct:pal("internal_hash(2) = ~p", [Key]), - #{ Key := L } = Collisions, - - %% Verify that the keys still collide (this will fail if the - %% internal hash function has been changed). - case erlang:system_info(wordsize) of - 8 -> - verify_colliding_keys(L); - 4 -> - %% Not guaranteed to collide on a 32-bit system. - ok - end, - - L. - -verify_colliding_keys([[K|Ks]|Gs]) -> - Hash = internal_hash(K), - [Hash] = lists:usort([internal_hash(Key) || Key <- Ks]), - verify_colliding_keys(Gs); -verify_colliding_keys([]) -> - ok. + Mask = 16#FFFFFFFF, + + %% Collisions found by find_colliding_keys(Mask) in `map_SUITE`. + ByMethod = #{ + %% 64-bit internal hash of `0` + 15677855740172624429 => + [[-4294967296,-3502771103,1628104549], + [-2750312253,-2208396507,-2147483648,1926198452,3660971145], + [-2542330914,-1089175976,-1073741824,290495829], + [-2155350068,0], + [1073741824,2807978463,3625918826], + [-1032333168,-705082324,1541401419,1594347321,2147483648, + 2266580263,2823045213], + [-2465550512,3221225472], + [2854075383,651030299,-1581781966,-3419595364,-4294967295], + [3351133532,968011333,-2217176682,-4294967294], + [598547769,-1379599129,-4294967293], + [-649195724,-4294967292], + [2943767758,-645518858,-875893937,-1294474094,-4294967291], + [3255309205,-2208705073,-4294967290], + [2162086262,-3745041100,-4294967288], + [-36087602,-1146855151,-1687820340,-3221225471], + [4177844763,3846951687,3485974116,3175597814,590007752, + -3221225470], + [3264460518,1553643847,1183174568,-3221225469], + [-577423597,-3221225468,-3522984153], + [3855876603,3019389034,-1323003840,-2576022240,-3221225467], + [-471176452,-3221225466], + [-1122194611,-3221225465,-4210494386], + [3603262778,994932591,-1788155141,-1921175318,-3221225464], + [3836440544,-1003007187,-2147483647], + [-2051344765,-2147483646], + [3650711544,-2147483645,-2799381711,-3556915274], + [3489936963,1240642555,-2147483644,-3957745840], + [1085161678,-2052366093,-2147483643,-3483479006], + [1939744936,-2147483642,-3856508363], + [-566163246,-2060332302,-2147483641,-4230104575], + [1203359280,237551462,-1073741823], + [1727228961,-813544803,-1073741822,-1309725727,-1666872574, + -2203000992], + [3698637395,3362609925,876970478,-714241238,-1073741821], + [1765842640,-354951691,-566902540,-1073741820], + [3963091352,2371749084,591553116,-1073741819], + [-1073741817,-2715118400], + [-1073741816,-3224015310], + [2762405117,1,-2123671186], + [2470477117,2,-331878960,-2322233731], + [3815926349,2088957086,3], + [1968999576,870968367,4,-1268233288,-3048698020], + [979559827,5], + [946684365,753214037,6,-2648059890], + [3790852688,2964822264,2830450758,7,-3580232887], + [1073741825,-3356417243,-3706053980], + [1073741827,-2621798828], + [1073741828,-2347690873], + [2090309310,1073741830,-1375115411,-2016799213,-4267952630], + [1073741831,672032559], + [1073741832,-2577014530,-3065907606], + [3796535022,2351766515,2147483649,-2136894649], + [2280176922,2147483650], + [4198987324,3244673818,2147483651,270823276,-2880202587], + [3880317786,3256588678,2670024934,2147483652,-2327563310, + -3284218582,-3844717086], + [2178108296,2147483653,-3361345880], + [2954325696,2147483654,-1059451308,-1331847237], + [3189358149,2147483655,-1477948284,-1669797549,-3362853705, + -3928750615], + [2147483656,471953932,-355892383], + [3221225473,-3995083753,-4092880912], + [3221225474,-2207482759,-3373076062], + [3221225475,2400978919,2246389041,1052806668,-781893221, + -1811850779], + [3221225476,-245369539,-1842612521], + [3221225477,688232807], + [3221225478,209327542,-2793530395], + [3221225479,-2303080520,-4225327222], + [4216539003,3221225480]], + + %% 32-bit internal hash of `0` + 416211501 => + [[-55973163,-134217697],[43918753,-134217684], + [107875525,-134217667],[-30291033,-134217663], + [-40285269,-111848095],[35020004,-111848056], + [-44437601,-111848046],[103325476,-69901823,-111848030], + [126809757,-111848012],[-92672406,-111848005], + [-64199103,-111847990],[102238942,-111847982], + [62106519,-89478468],[-89478462,-128994853], + [-67899866,-89478412],[-45432484,-89478397], + [120764819,-89478387],[9085208,-89478382], + [10859155,-89478369],[45834467,-67108863], + [-67108857,-124327693],[104597114,-67108847], + [11918558,-67108783],[50986187,-67108760], + [113683827,64978564,-67108752], + [111972669,-67108751],[27085194,-44739227], + [46760231,-44739221],[101248827,-44739220], + [30692154,-44739176],[33768394,-44739117], + [-12083942,-44739116],[-22369572,-112420685], + [-22369568,-98812798],[-22369550,-78759395], + [47792095,-22369543],[9899495,-22369540], + [99744593,-22369511],[76325343,52], + [122425143,68],[21651445,74], + [129537216,119],[125,-110161190], + [80229747,22369626],[22369629,-55742042], + [128416574,22369631],[105267606,22369643], + [22369693,-2286278],[126622985,22369698], + [22369701,-13725583],[22369728,-22765683], + [22369731,-54786216],[22369740,-65637968], + [44739246,12048008],[44739259,-26636781], + [126966693,44739272],[44739274,-130215175], + [44739277,15051453],[44739292,17890441], + [44739301,-72627814],[106949249,44739322], + [44739323,-56882381],[67108879,-111259055], + [67108888,37627968],[67108894,-53291767], + [67108896,-127782577],[67108908,-1014167], + [82796148,67108959],[67108962,-71355523], + [67108984,-62077338,-77539719],[126106374,89478485], + [89478488,85703113],[132215738,89478495], + [89478515,-122049151],[89478518,-22611374], + [94050181,89478530],[89478547,42736340], + [89478553,86641584],[129419863,111848199], + [111848217,-32493354],[112586988,111848229]] + }, + + HashKey = internal_hash(0), + #{ HashKey := Keys } = ByMethod, + + verify_colliding_keys(Keys, Mask). + +verify_colliding_keys([[K | Ks]=Group | Gs], Mask) -> + Hash = internal_hash(K) band Mask, + [Hash] = lists:usort([(internal_hash(Key) band Mask) || Key <- Ks]), + [Group | verify_colliding_keys(Gs, Mask)]; +verify_colliding_keys([], _Mask) -> + []. internal_hash(Term) -> erts_debug:get_internal_state({internal_hash,Term}). -%% Use this function to (re)generate the list in colliding_keys/0 -%% -%% Grab a coffee, it will take a while. -find_colliding_keys() -> - erts_debug:set_internal_state(available_internal_state, true), - NumScheds = erlang:system_info(schedulers_online), - Start = -(1 bsl 32), - End = -Start, - Range = End - Start, - Step = Range div NumScheds, - timer:tc(fun() -> fck_spawn(NumScheds, NumScheds, Start, End, Step, []) end). - -fck_spawn(0, _NumScheds, _Start, _End, _Step, Refs) -> - fck_await(Refs); -fck_spawn(N, NumScheds, Start, End, Step, Refs) -> - Key = Start + (N - 1) * Step, - {_, Ref} = spawn_monitor(fun() -> exit(fck_finder(Start, End, Key)) end), - fck_spawn(N - 1, NumScheds, Start, End, Step, [Ref | Refs]). - -fck_await([Ref | Refs]) -> - receive - {'DOWN', Ref, _, _, [_Initial]} -> - %% Ignore slices where the initial value only collided with itself. - fck_await(Refs); - {'DOWN', Ref, _, _, Collisions} -> - [Collisions | fck_await(Refs)] - end; -fck_await([]) -> - []. - -fck_finder(Start, End, Key) -> - true = Key >= Start, true = Key < End, %Assertion. - fck_finder_1(Start, End, internal_hash(Key)). - -fck_finder_1(Same, Same, _Target) -> - []; -fck_finder_1(Next, End, Target) -> - case internal_hash(Next) =:= Target of - true -> [Next | fck_finder_1(Next + 1, End, Target)]; - false -> fck_finder_1(Next + 1, End, Target) - end. - %% OTP-17700 Bug skipped refc++ of shared magic reference shared_magic_ref(_Config) -> Ref = atomics:new(10, []), diff --git a/erts/emulator/test/small_SUITE.erl b/erts/emulator/test/small_SUITE.erl index c3ca540cd55f..21cbf6135cb8 100644 --- a/erts/emulator/test/small_SUITE.erl +++ b/erts/emulator/test/small_SUITE.erl @@ -23,10 +23,12 @@ -export([all/0, suite/0, groups/0]). -export([edge_cases/1, - addition/1, subtraction/1, negation/1, multiplication/1, division/1, - test_bitwise/1, test_bsl/1, + addition/1, subtraction/1, negation/1, + multiplication/1, mul_add/1, division/1, + test_bitwise/1, test_bsl/1, test_bsr/1, element/1, range_optimization/1]). +-export([mul_add/0, division/0]). -include_lib("common_test/include/ct.hrl"). @@ -40,8 +42,8 @@ all() -> groups() -> [{p, [parallel], [edge_cases, - addition, subtraction, negation, multiplication, division, - test_bitwise, test_bsl, + addition, subtraction, negation, multiplication, mul_add, division, + test_bitwise, test_bsl, test_bsr, element, range_optimization]}]. @@ -139,6 +141,7 @@ addition(_Config) -> %% merl:print(Tree), {ok,_Bin} = merl:compile_and_load(Tree, []), test_addition(Fs0, Mod), + unload(Mod), ok. add_gen_pairs() -> @@ -247,6 +250,7 @@ subtraction(_Config) -> %% merl:print(Tree), {ok,_Bin} = merl:compile_and_load(Tree, []), test_subtraction(Fs0, Mod), + unload(Mod), ok. sub_gen_pairs() -> @@ -340,6 +344,7 @@ negation(_Config) -> merl:print(Tree), {ok,_Bin} = merl:compile_and_load(Tree, []), test_negation(Fs0, Mod), + unload(Mod), ok. neg_gen_integers() -> @@ -405,6 +410,7 @@ multiplication(_Config) -> %% merl:print(Tree), {ok,_Bin} = merl:compile_and_load(Tree, []), test_multiplication(Fs0, Mod), + unload(Mod), ok. mul_gen_pairs() -> @@ -416,7 +422,9 @@ mul_gen_pairs() -> _ <- lists:seq(1, 75)], %% Generate pairs of numbers whose product is small. - Pairs1 = [{N, MaxSmall div N} || N <- [1,2,3,5,17,63,64,1111,22222]] ++ Pairs0, + SmallPairs = [{N, MaxSmall div N} || + N <- [1,2,3,4,5,8,16,17,32,63,64,1111,22222]], + Pairs1 = [{N,M-1} || {N,M} <- SmallPairs] ++ SmallPairs ++ Pairs0, %% Add prime factors of 2^59 - 1 (MAX_SMALL for 64-bit architecture %% at the time of writing). @@ -456,7 +464,11 @@ gen_mul_function({Name,{A,B}}) -> Res = Y * X; '@Name@'(X, fixed, number) when -_@APlusOne@ < X, X < _@APlusOne@ -> X * _@B@; + '@Name@'(X, fixed, any) -> + X * _@B@; '@Name@'(fixed, Y, number) when -_@BPlusOne@ < Y, Y < _@BPlusOne@ -> + _@A@ * Y; + '@Name@'(fixed, Y, any) -> _@A@ * Y. "). test_multiplication([{Name,{A,B}}|T], Mod) -> @@ -470,7 +482,9 @@ test_multiplication([{Name,{A,B}}|T], Mod) -> Res0 = F(-A, -B, false), Res0 = F(A, B, number), Res0 = F(fixed, B, number), + Res0 = F(fixed, B, any), Res0 = F(A, fixed, number), + Res0 = F(A, fixed, any), Res0 = F(-A, -B, number), Res1 = -(A * B), @@ -479,7 +493,9 @@ test_multiplication([{Name,{A,B}}|T], Mod) -> Res1 = F(-A, B, number), Res1 = F(A, -B, number), Res1 = F(-A, fixed, number), - Res1 = F(fixed, -B, number) + Res1 = F(-A, fixed, any), + Res1 = F(fixed, -B, number), + Res1 = F(fixed, -B, any) catch C:R:Stk -> io:format("~p failed. numbers: ~p ~p\n", [Name,A,B]), @@ -490,7 +506,215 @@ test_multiplication([{Name,{A,B}}|T], Mod) -> test_multiplication([], _) -> ok. +mul_add() -> + [{timetrap, {minutes, 5}}]. +mul_add(_Config) -> + _ = rand:uniform(), %Seed generator + io:format("Seed: ~p", [rand:export_seed()]), + Mod = list_to_atom(lists:concat([?MODULE,"_",?FUNCTION_NAME])), + Triples = mul_add_triples(), + Fs0 = gen_func_names(Triples, 0), + Fs = [gen_mul_add_function(F) || F <- Fs0], + Tree = ?Q(["-module('@Mod@').", + "-compile([export_all,nowarn_export_all]).", + "id(I) -> I."]) ++ Fs, + %% merl:print(Tree), + {ok,_Bin} = merl:compile_and_load(Tree, []), + test_mul_add(Fs0, Mod), + unload(Mod), + + test_mul_add_float(), + test_mul_add_exceptions(), + + ok. + +mul_add_triples() -> + {_, MaxSmall} = determine_small_limits(0), + SqrtMaxSmall = floor(math:sqrt(MaxSmall)), + + Numbers0 = [1,2,3,4,5,8,9, + (MaxSmall div 2) band -2, + MaxSmall band -2, + MaxSmall * 2], + Numbers = [rand:uniform(SqrtMaxSmall) || _ <- lists:seq(1, 5)] ++ Numbers0, + + %% Generate pairs of numbers whose product is small. + SmallPairs = [{MaxSmall div M,M} || M <- Numbers], + Pairs = [{N+M,M} || {N,M} <- SmallPairs] ++ SmallPairs, + + Triples0 = [{A,B,rand:uniform(MaxSmall)} || {A,B} <- Pairs], + Triples1a = [{A,B,abs(MaxSmall - A * B)} || {A,B} <- Pairs], + Triples1 = [{A,B,C+Offset} || + {A,B,C} <- Triples1a, + Offset <- [-2,-1,0,1,2], + C + Offset >= 0], + Triples2 = [{A,B,MaxSmall+1} || {A,B} <- Pairs], + [{3,4,5}, + {MaxSmall div 2,2,42}, %Result is not small. + {MaxSmall,MaxSmall,MaxSmall}|Triples0 ++ Triples1 ++ Triples2]. + +gen_mul_add_function({Name,{A,B,C}}) -> + APlusOne = A + 1, + BPlusOne = B + 1, + CPlusOne = C + 1, + ?Q("'@Name@'(int_vvv_plus_z, X, Y, Z) + when is_integer(X), is_integer(Y), is_integer(Z), + -_@APlusOne@ < X, X < _@APlusOne@, + -_@BPlusOne@ < Y, Y < _@BPlusOne@, + -_@CPlusOne@ < Z, Z < _@CPlusOne@ -> + Res = id(X * Y + Z), + Res = id(Y * X + Z), + Res = id(Z + X * Y), + Res = id(Z + Y * X), + Res; + '@Name@'(int_vvv_minus_z, X, Y, Z) + when is_integer(X), is_integer(Y), is_integer(Z), + -_@APlusOne@ < X, X < _@APlusOne@, + -_@BPlusOne@ < Y, Y < _@BPlusOne@, + -_@CPlusOne@ < Z, Z < _@CPlusOne@ -> + Res = id(X * Y - Z), + Res = id(Y * X - Z), + Res; + '@Name@'(pos_int_vvv_plus_z, X, Y, Z) + when is_integer(X), is_integer(Y), is_integer(Z), + 0 =< X, X < _@APlusOne@, + 0 =< Y, Y < _@BPlusOne@, + 0 =< Z, Z < _@CPlusOne@ -> + Res = id(X * Y + Z), + Res = id(Y * X + Z), + Res = id(Z + X * Y), + Res = id(Z + Y * X), + Res; + '@Name@'(neg_int_vvv_plus_z, X, Y, Z) + when is_integer(X), is_integer(Y), is_integer(Z), + -_@APlusOne@ < X, X < 0, + -_@BPlusOne@ < Y, Y < 0, + -_@CPlusOne@ < Z, Z < 0 -> + Res = id(X * Y + Z), + Res = id(Y * X + Z), + Res = id(Z + X * Y), + Res = id(Z + Y * X), + Res; + '@Name@'(any_vvv_plus_z, X, Y, Z) -> + Res = id(X * Y + Z), + Res = id(Y * X + Z), + Res = id(Z + X * Y), + Res = id(Z + Y * X), + Res = '@Name@'(int_vvv_plus_z, id(X), id(Y), id(Z)), + Res; + '@Name@'(any_vvv_minus_z, X, Y, Z) -> + Res = id(X * Y - Z), + Res = id(Y * X - Z), + Res = '@Name@'(int_vvv_minus_z, id(X), id(Y), id(Z)), + Res; + '@Name@'(any_vvi_plus_z, X, Y, _Z) -> + Z = _@C@, + Res = id(X * Y + Z), + Res = id(Y * X + Z), + Res = id(Z + X * Y), + Res = id(Z + Y * X), + Res = '@Name@'(any_vvv_plus_z, X, Y, id(Z)), + Res = '@Name@'(any_vvv_minus_z, X, Y, id(-Z)), + Res; + '@Name@'(any_vvi_minus_z, X, Y, _Z) -> + Z = _@C@, + Res = id(X * Y - Z), + Res = id(Y * X - Z), + Res = id(-Z + X * Y), + Res = id(-Z + Y * X), + Res = '@Name@'(any_vvv_plus_z, X, Y, id(-Z)), + Res = '@Name@'(any_vvv_minus_z, X, Y, id(Z)), + Res; + '@Name@'(any_vii_plus_z, X, fixed, fixed) -> + Y = _@B@, + Z = _@C@, + Res = id(X * Y + Z), + Res = id(Y * X + Z), + Res = id(Z + X * Y), + Res = id(Z + Y * X), + Res = '@Name@'(any_vvi_plus_z, X, id(Y), fixed), + Res = '@Name@'(any_vvv_minus_z, X, id(Y), id(-Z)), + Res; + '@Name@'(any_vii_minus_z, X, fixed, fixed) -> + Y = _@B@, + Z = _@C@, + Res = id(X * Y - Z), + Res = id(Y * X - Z), + Res = id(-Z + X * Y), + Res = id(-Z + Y * X), + Res = '@Name@'(any_vvi_minus_z, X, id(Y), fixed), + Res = '@Name@'(any_vvv_plus_z, X, Y, id(-Z)), + Res; + '@Name@'({guard_plus_z,Res}, X, Y, Z) when X * Y + Z =:= Res -> + ok; + '@Name@'({guard_minus_z,Res}, X, Y, Z) when X * Y - Z =:= Res -> + ok. "). + +test_mul_add([{Name,{A,B,C}}|T], Mod) -> + F = fun Mod:Name/4, + try + Res0 = A * B + C, + Res0 = F(any_vii_plus_z, A, fixed, fixed), + Res0 = F(pos_int_vvv_plus_z, A, B, C), + ok = F({guard_plus_z,Res0}, A, B, C), + ok = F({guard_plus_z,Res0}, -A, -B, C), + + Res1 = A * B - C, + Res1 = F(any_vii_minus_z, A, fixed, fixed), + Res1 = if + A > 0, B > 0, C > 0 -> + F(neg_int_vvv_plus_z, -A, -B, -C); + true -> + Res1 + end, + ok = F({guard_minus_z,Res1}, A, B, C), + ok = F({guard_minus_z,Res1}, -A, -B, C), + + Res2 = -A * B + C, + Res2 = A * -B + C, + Res2 = F(any_vii_plus_z, -A, fixed, fixed), + ok = F({guard_plus_z,Res2}, -A, B, C), + + Res3 = -A * B - C, + Res3 = A * -B - C, + Res3 = F(any_vii_minus_z, -A, fixed, fixed), + ok = F({guard_minus_z,Res3}, -A, B, C) + catch + Class:R:Stk -> + io:format("~p failed. numbers: ~p ~p ~p\n", [Name,A,B,C]), + erlang:raise(Class, R, Stk) + end, + test_mul_add(T, Mod); +test_mul_add([], _) -> + ok. + +test_mul_add_float() -> + Res = madd(id(2.0), id(3.0), id(7.0)), + Res = madd(id(2.0), id(3.0), id(7)), + ok = madd(id(2.0), id(3.0), id(7), id(Res)). + +test_mul_add_exceptions() -> + error = madd(id(a), id(2), id(3), id(whatever)), + error = madd(id(7), id(b), id(3), id(whatever)), + error = madd(id(7), id(15), id(c), id(whatever)), + + {'EXIT',{badarith,[{erlang,'*',[a,2],_}|_]}} = catch madd(id(a), id(2), id(0)), + {'EXIT',{badarith,[{erlang,'*',[a,2],_}|_]}} = catch madd(id(a), id(2), id(42)), + {'EXIT',{badarith,[{erlang,'*',[a,2],_}|_]}} = catch madd(id(a), id(2), id(c)), + {'EXIT',{badarith,[{erlang,'*',[3,b],_}|_]}} = catch madd(id(3), id(b), id(c)), + {'EXIT',{badarith,[{erlang,'+',[6,c],_}|_]}} = catch madd(id(2), id(3), id(c)), + + ok. + +madd(A, B, C) -> A * B + C. + +madd(A, B, C, Res) when Res =:= A * B + C -> ok; +madd(_, _, _, _) -> error. + + %% Test that the JIT only omits the overflow check when it's safe. +division() -> + [{timetrap, {minutes, 5}}]. division(_Config) -> _ = rand:uniform(), %Seed generator io:format("Seed: ~p", [rand:export_seed()]), @@ -507,6 +731,8 @@ division(_Config) -> 3 = ignore_rem(ignore, 10, 3), 1 = ignore_div(ignore, 16, 5), + unload(Mod), + ok. ignore_rem(_, X, Y) -> @@ -521,17 +747,21 @@ div_gen_pairs() -> {_, MaxSmall} = determine_small_limits(0), NumBitsMaxSmall = num_bits(MaxSmall), + Divisors = [-8,-2,-1,1,2,3,4,5,8,16,17,64,22222333] ++ + [1 bsl P || P <- lists:seq(8, 12) ++ lists:seq(26, 36)], + %% Generate random pairs of smalls. - Pairs0 = [{rand:uniform(MaxSmall) * rand_sign(), + Pairs0 = [{rand:uniform(MaxSmall), rand:uniform(MaxSmall) * rand_sign()} || - _ <- lists:seq(1, 75)], - - Pairs1 = [{rand:uniform(MaxSmall), N} || - N <- [-4,-3,-2,-1,1,2,3,5,17,63,64,1111,22222]] ++ Pairs0, + _ <- lists:seq(1, 50)], + Pairs1 = [{rand:uniform(MaxSmall), N} || N <- Divisors] ++ Pairs0, + Pairs2 = [{N, M} || N <- lists:seq(0, 7), M <- [-2,-1,1,2,3,4]] ++ Pairs1, + Pairs3 = [{abs(M) * (rand:uniform(10)+1) + rand:uniform(1000), M} || + M <- Divisors] ++ Pairs2, %% Generate pairs of numbers whose product are bignums. [{rand:uniform(MaxSmall),1 bsl Pow} || - Pow <- lists:seq(NumBitsMaxSmall - 4, NumBitsMaxSmall - 1)] ++ Pairs1. + Pow <- lists:seq(NumBitsMaxSmall - 4, NumBitsMaxSmall - 1)] ++ Pairs3. rand_sign() -> case rand:uniform() < 0.2 of @@ -572,6 +802,22 @@ gen_div_function({Name,{A,B}}) -> put(prevent_div_rem_fusion, Q), R = X rem Y, {Q, R}; + '@Name@'(pos_integer1, X, fixed) when is_integer(X), 0 =< X, X < _@APlusOne@ -> + Y = _@B@, + Q = X div Y, + R = X rem Y, + {Q, R}; + '@Name@'(pos_integer2, X, fixed) when is_integer(X), 0 =< X, X < _@APlusOne@ -> + Y = _@B@, + R = X rem Y, + Q = X div Y, + {Q, R}; + '@Name@'(pos_integer3, X, fixed) when is_integer(X), 0 =< X, X < _@APlusOne@ -> + Y = _@B@, + Q = X div Y, + put(prevent_div_rem_fusion, Q), + R = X rem Y, + {Q, R}; '@Name@'(number0, X, Y) when -_@APlusOne@ < X, X < _@APlusOne@, -_@BPlusOne@ < Y, Y < _@BPlusOne@ -> Q = X div Y, @@ -597,21 +843,206 @@ gen_div_function({Name,{A,B}}) -> Q = X div Y, put(prevent_div_rem_fusion, Q), R = X rem Y, + {Q, R}; + '@Name@'(any0, X, fixed) -> + Y = _@B@, + Q = X div Y, + R = X rem Y, + {Q, R}; + '@Name@'(any1, X, fixed) -> + Y = _@B@, + R = X rem Y, + Q = X div Y, + {Q, R}; + '@Name@'(any2, X, fixed) -> + Y = _@B@, + Q = X div Y, + put(prevent_div_rem_fusion, Q), + R = X rem Y, + {Q, R}; + '@Name@'(any0, fixed, Y) -> + X = _@A@, + Q = X div Y, + R = X rem Y, + {Q, R}; + '@Name@'(any1, fixed, Y) -> + X = _@A@, + R = X rem Y, + Q = X div Y, + {Q, R}; + '@Name@'(any2, fixed, Y) -> + X = _@A@, + Q = X div Y, + put(prevent_div_rem_fusion, Q), + R = X rem Y, + {Q, R}; + '@Name@'(X0, Y0, integer0) -> + Q = X0 div Y0, + R = X0 rem Y0, + if X0 > 0, Y0 > 0 -> + <> = <>, + <> = <>, + Q = X div Y, + R = X rem Y, + {Q, R}; + true -> + {Q, R} + end; + '@Name@'(X, fixed, integer1) when is_integer(X), -_@APlusOne@ < X, X < _@APlusOne@ -> + Y = _@B@, + Q = X div Y, + R = X rem Y, + {Q, R}; + '@Name@'(X, fixed, integer2) when is_integer(X), -_@APlusOne@ < X, X < _@APlusOne@ -> + Y = _@B@, + R = X rem Y, + Q = X div Y, + {Q, R}; + '@Name@'(X, fixed, integer3) when is_integer(X), -_@APlusOne@ < X, X < _@APlusOne@ -> + Y = _@B@, + Q = X div Y, + put(prevent_div_rem_fusion, Q), + R = X rem Y, + {Q, R}; + '@Name@'(X, fixed, pos_integer1) when is_integer(X), 0 =< X, X < _@APlusOne@ -> + Y = _@B@, + Q = X div Y, + R = X rem Y, + {Q, R}; + '@Name@'(X, fixed, pos_integer2) when is_integer(X), 0 =< X, X < _@APlusOne@ -> + Y = _@B@, + R = X rem Y, + Q = X div Y, + {Q, R}; + '@Name@'(X, fixed, pos_integer3) when is_integer(X), 0 =< X, X < _@APlusOne@ -> + Y = _@B@, + Q = X div Y, + put(prevent_div_rem_fusion, Q), + R = X rem Y, + {Q, R}; + '@Name@'(X, Y, number0) when -_@APlusOne@ < X, X < _@APlusOne@, + -_@BPlusOne@ < Y, Y < _@BPlusOne@ -> + Q = X div Y, + R = X rem Y, + {Q, R}; + '@Name@'(X, Y, number1) when -_@APlusOne@ < X, X < _@APlusOne@, + -_@BPlusOne@ < Y, Y < _@BPlusOne@ -> + R = X rem Y, + Q = X div Y, + {Q, R}; + '@Name@'(X, fixed, number2) when -_@APlusOne@ < X, X < _@APlusOne@ -> + Y = _@B@, + Q = X div Y, + R = X rem Y, + {Q, R}; + '@Name@'(X, fixed, number3) when -_@APlusOne@ < X, X < _@APlusOne@ -> + Y = _@B@, + R = X rem Y, + Q = X div Y, + {Q, R}; + '@Name@'(X, fixed, number4) when -_@APlusOne@ < X, X < _@APlusOne@ -> + Y = _@B@, + Q = X div Y, + put(prevent_div_rem_fusion, Q), + R = X rem Y, + {Q, R}; + '@Name@'(X, fixed, any0) -> + Y = _@B@, + Q = X div Y, + R = X rem Y, + {Q, R}; + '@Name@'(X, fixed, any1) -> + Y = _@B@, + R = X rem Y, + Q = X div Y, + {Q, R}; + '@Name@'(X, fixed, any2) -> + Y = _@B@, + Q = X div Y, + put(prevent_div_rem_fusion, Q), + R = X rem Y, + {Q, R}; + '@Name@'(fixed, Y, any0) -> + X = _@A@, + Q = X div Y, + R = X rem Y, + {Q, R}; + '@Name@'(fixed, Y, any1) -> + X = _@A@, + R = X rem Y, + Q = X div Y, + {Q, R}; + '@Name@'(fixed, Y, any2) -> + X = _@A@, + Q = X div Y, + put(prevent_div_rem_fusion, Q), + R = X rem Y, {Q, R}. "). + test_division([{Name,{A,B}}|T], Mod) -> F = fun Mod:Name/3, try - Res0 = {A div B, A rem B}, - Res0 = F(integer0, A, B), - Res0 = F(integer1, A, fixed), - Res0 = F(integer2, A, fixed), - Res0 = F(integer3, A, fixed), - Res0 = F(number0, A, B), - Res0 = F(number1, A, B), - Res0 = F(number2, A, fixed), - Res0 = F(number3, A, fixed), - Res0 = F(number4, A, fixed) + PosRes = {A div B, A rem B}, + NegRes = {-A div B, -A rem B}, + + PosRes = F(integer0, A, B), + PosRes = F(integer1, A, fixed), + PosRes = F(integer2, A, fixed), + PosRes = F(integer3, A, fixed), + PosRes = F(pos_integer1, A, fixed), + PosRes = F(pos_integer2, A, fixed), + PosRes = F(pos_integer3, A, fixed), + PosRes = F(number0, A, B), + PosRes = F(number1, A, B), + PosRes = F(number2, A, fixed), + PosRes = F(number3, A, fixed), + PosRes = F(number4, A, fixed), + PosRes = F(any0, A, fixed), + PosRes = F(any1, A, fixed), + PosRes = F(any2, A, fixed), + PosRes = F(any0, fixed, B), + PosRes = F(any1, fixed, B), + PosRes = F(any2, fixed, B), + + PosRes = F(A, B, integer0), + PosRes = F(A, fixed, integer1), + PosRes = F(A, fixed, integer2), + PosRes = F(A, fixed, integer3), + PosRes = F(A, fixed, pos_integer1), + PosRes = F(A, fixed, pos_integer2), + PosRes = F(A, fixed, pos_integer3), + PosRes = F(A, B, number0), + PosRes = F(A, B, number1), + PosRes = F(A, fixed, number2), + PosRes = F(A, fixed, number3), + PosRes = F(A, fixed, number4), + PosRes = F(A, fixed, any0), + PosRes = F(A, fixed, any1), + PosRes = F(A, fixed, any2), + PosRes = F(fixed, B, any0), + PosRes = F(fixed, B, any1), + PosRes = F(fixed, B, any2), + + NegRes = F(integer0, -A, B), + NegRes = F(integer1, -A, fixed), + NegRes = F(integer2, -A, fixed), + NegRes = F(integer3, -A, fixed), + NegRes = F(number0, -A, B), + NegRes = F(number1, -A, B), + NegRes = F(number2, -A, fixed), + NegRes = F(number3, -A, fixed), + NegRes = F(number4, -A, fixed), + + NegRes = F(-A, B, integer0), + NegRes = F(-A, fixed, integer1), + NegRes = F(-A, fixed, integer2), + NegRes = F(-A, fixed, integer3), + NegRes = F(-A, B, number0), + NegRes = F(-A, B, number1), + NegRes = F(-A, fixed, number2), + NegRes = F(-A, fixed, number3), + NegRes = F(-A, fixed, number4) catch C:R:Stk -> io:format("~p failed. numbers: ~p ~p\n", [Name,A,B]), @@ -636,6 +1067,7 @@ test_bitwise(_Config) -> merl:print(Tree), {ok,_Bin} = merl:compile_and_load(Tree, []), test_bitwise(Fs0, Mod), + unload(Mod), %% Test invalid operands. expect_badarith(fun(X) -> 42 band X end), @@ -766,6 +1198,7 @@ test_bsl(_Config) -> %% merl:print(Tree), {ok,_Bin} = merl:compile_and_load(Tree, []), test_bsl(Fs0, Mod), + unload(Mod), ok. bsl_gen_pairs() -> @@ -824,6 +1257,93 @@ test_bsl([{Name,{N,S}}|T], Mod) -> test_bsl([], _) -> ok. +test_bsr(_Config) -> + _ = rand:uniform(), %Seed generator + io:format("Seed: ~p", [rand:export_seed()]), + Mod = list_to_atom(lists:concat([?MODULE,"_",?FUNCTION_NAME])), + Pairs = bsr_gen_pairs(), + Fs0 = gen_func_names(Pairs, 0), + Fs = [gen_bsr_function(F) || F <- Fs0], + Tree = ?Q(["-module('@Mod@').", + "-compile([export_all,nowarn_export_all]).", + "id(I) -> I."]) ++ Fs, + %% merl:print(Tree), + {ok,_Bin} = merl:compile_and_load(Tree, []), + test_bsr(Fs0, Mod), + unload(Mod), + ok. + +bsr_gen_pairs() -> + {_MinSmall, MaxSmall} = determine_small_limits(0), + SmallBits = num_bits(MaxSmall), + + {Powers,Shifts} = + if + SmallBits < 32 -> + {lists:seq(15, SmallBits+2), + lists:seq(0, 7) ++ lists:seq(24, 36)}; + true -> + {lists:seq(30, SmallBits+2), + lists:seq(0, 7) ++ lists:seq(56, 72)} + end, + + [{N,S} || + P <- Powers, + N <- [rand:uniform(1 bsl P), (1 bsl P)-1], + S <- Shifts]. + +gen_bsr_function({Name,{N,S}}) -> + Mask = (1 bsl num_bits(N)) - 1, + ?Q("'@Name@'(N0, fixed, More) -> + Res = N0 bsr _@S@, + if + More -> + N = N0 band _@Mask@, + Res = N0 bsr _@S@, + Res = N bsr _@S@; + true -> + Res + end; + '@Name@'(N0, S, More) -> + Res = id(N0 bsr S), + if + More -> + N = N0 band _@Mask@, + Res = id(N0 bsr S), + Res = id(N bsr S), + if + S >= 0 -> + Res = id(N bsr S); + true -> + Res + end; + true -> + Res + end. "). + +test_bsr([{Name,{N,S}}|T], Mod) -> + try + Res = N bsr S, + Res = Mod:Name(N, fixed, true), + Res = Mod:Name(N, S, true), + + NegRes = -N bsr S, + NegRes = Mod:Name(-N, fixed, false), + + NegRes = -N bsr S, + NegRes = Mod:Name(-N, S, false), + + BslRes = N bsr -S, + BslRes = Mod:Name(N, -S, false) + catch + C:R:Stk -> + io:format("~p failed. numbers: ~p ~p\n", [Name,N,S]), + erlang:raise(C, R, Stk) + end, + test_bsr(T, Mod); +test_bsr([], _) -> + ok. + element(_Config) -> %% Test element_1: Can't fail for integer arguments. zero = element_1(0), @@ -1032,4 +1552,8 @@ determine_small_limits(N) -> false -> {-1 bsl (N - 1), (1 bsl (N - 1)) - 1} end. +unload(Mod) -> + _ = code:delete(Mod), + code:purge(Mod). + id(I) -> I. diff --git a/erts/emulator/test/trace_call_memory_SUITE.erl b/erts/emulator/test/trace_call_memory_SUITE.erl index 59d1873e4926..e8cec4e99951 100644 --- a/erts/emulator/test/trace_call_memory_SUITE.erl +++ b/erts/emulator/test/trace_call_memory_SUITE.erl @@ -308,8 +308,8 @@ spawn_memory_lambda(Config) when is_list(Config) -> MRef = monitor(process, Pid), receive {'DOWN', MRef, process, Pid, _} -> ok end, 1 = erlang:trace(self(), false, [all]), - %% 16-elements list translates into 34-words for spawn, and 6 more words for apply itself - {call_memory, [{Pid, 1, 40}]} = erlang:trace_info({erlang, apply, 2}, call_memory). + %% 16-elements list translates into 34-words for spawn, and 4 more words for apply itself + {call_memory, [{Pid, 1, 38}]} = erlang:trace_info({erlang, apply, 2}, call_memory). spawn_memory_internal(Array) -> Array. diff --git a/erts/emulator/test/tuple_SUITE_data/get_two_tuple_elements.S b/erts/emulator/test/tuple_SUITE_data/get_two_tuple_elements.S index 577442428449..1be72d07cc09 100644 --- a/erts/emulator/test/tuple_SUITE_data/get_two_tuple_elements.S +++ b/erts/emulator/test/tuple_SUITE_data/get_two_tuple_elements.S @@ -29,7 +29,8 @@ {line,[{location,"get_two_tuple_elements.erl",4}]}. {func_info,{atom,get_two_tuple_elements},{atom,get_two_tuple_elements},0}. {label,2}. - {allocate_zero,2,0}. + {allocate,2,0}. + {init_yregs,{list,[{y,0},{y,1}]}}. {move,{atom,x},{x,0}}. {line,[{location,"get_two_tuple_elements.erl",5}]}. {call,1,{f,9}}. diff --git a/erts/emulator/utils/beam_makeops b/erts/emulator/utils/beam_makeops index c7ea03202610..a3d18bfbe0a6 100755 --- a/erts/emulator/utils/beam_makeops +++ b/erts/emulator/utils/beam_makeops @@ -131,13 +131,7 @@ my @if_line; # my $te_max_vars = 0; # Max number of variables ever needed. my %gen_transform; -my %match_engine_ops; # All opcodes for the match engine. -my %gen_transform_offset; my @transformations; -my @call_table; -my %call_table; -my @pred_table; -my %pred_table; # Operand types for generic instructions. @@ -338,12 +332,6 @@ sub define_type_bit { define_type_bit('H', $type_bit{'u'}); } -# -# Pre-define the 'fail' instruction. It is used internally -# by the 'try_me_else_fail' instruction. -# -$match_engine_ops{'TOP_fail'} = 1; - # # Sanity checks. # @@ -866,6 +854,14 @@ sub emulator_output { open(STDOUT, ">$name") || die "Failed to open $name for writing: $!\n"; comment('C'); include_files(); + print '#include "erl_term.h"', "\n"; + print '#include "erl_map.h"', "\n"; + print '#include "big.h"', "\n"; + print '#include "erl_bits.h"', "\n"; + print '#include "erl_binary.h"', "\n"; + print '#include "beam_transform_helpers.h"', "\n"; + print '#include "erl_global_literals.h"', "\n"; + print "\n"; print "const char tag_to_letter[] = {\n "; for ($i = 0; $i < length($genop_types); $i++) { @@ -994,11 +990,10 @@ sub emulator_output { my($arity) = $gen_arity[$i]; printf "/* %3d */ ", $i; if (!defined $name) { - init_item("", 0, 0, 0, -1); + init_item("", 0, 0, 0, 0); } else { my($key) = "$name/$arity"; - my($tr) = defined $gen_transform_offset{$key} ? - $gen_transform_offset{$key} : -1; + my($tr) = defined $gen_transform{$key} ? 1 : 0; my($spec_op) = $gen_to_spec{$key}; my($num_specific) = $num_specific{$key}; defined $spec_op or @@ -1075,17 +1070,6 @@ sub emulator_output { } print "\n#define BEAM_NUM_TAGS $tag_num\n\n"; - $i = 0; - foreach (sort keys %match_engine_ops) { - print "#define $_ $i\n"; - $i++; - } - print "#define NUM_TOPS $i\n"; - print "\n"; - - print "#define TE_MAX_VARS $te_max_vars\n"; - print "\n"; - print "extern const char tag_to_letter[];\n"; print "extern const Uint op_transform[];\n"; print "\n"; @@ -1128,28 +1112,6 @@ sub emulator_output { print "#endif\n"; - - # - # Extension of transform engine. - # - - $name = "$outdir/beam_transform.c"; - open(STDOUT, ">$name") || die "Failed to open $name for writing: $!\n"; - comment('C'); - include_files(); - print '#include "erl_term.h"', "\n"; - print '#include "erl_map.h"', "\n"; - print '#include "big.h"', "\n"; - print '#include "erl_bits.h"', "\n"; - print '#include "erl_binary.h"', "\n"; - print '#include "beam_transform_helpers.h"', "\n"; - print '#include "erl_global_literals.h"', "\n"; - print "\n"; - gen_tr_code('pred.'); - gen_tr_func('int', 'erts_beam_eval_predicate', @pred_table); - gen_tr_code('gen.'); - gen_tr_func('BeamOp*', 'erts_beam_execute_transform', @call_table); - # # Implementation of operations for emulator. # @@ -1766,7 +1728,7 @@ sub code_gen { last SWITCH; }; /r/ and do { - push(@f, "r(0)"); + push(@f, "x(0)"); last SWITCH; }; /[lxyS]/ and do { @@ -2702,6 +2664,12 @@ sub tr_gen { tr_gen_to($line, $orig_transform, $so_far, @$to_ref); } + # + # Print predicate and generation functions. + # + gen_tr_code('pred.'); + gen_tr_code('gen.'); + # # Group instructions. # @@ -2712,35 +2680,360 @@ sub tr_gen { # # Print the generated transformation engine. # - my($offset) = 0; - print "const Uint op_transform[] = {\n"; + + my $vars = join(", ", map { "v$_" } 0..$te_max_vars-1); + print <<"END"; +int erts_transform_engine(LoaderState* st) { + BeamOpArg $vars; + BeamOp* first = st->genop; + BeamOp* instr = first; + BeamOp* keep; + BeamOpArg* rest_args; + int num_rest_args; +END + + my $label = 0; + my $ap = 0; + my $ip = 1; + my $need_label = 0; + + print " switch (first->op) {\n"; foreach $key (sort keys %gen_transform) { - $gen_transform_offset{$key} = $offset; - my @instr = @{$gen_transform{$key}}; - - foreach $instr (@instr) { - my($size, $instr_ref, $comment) = @$instr; - my($op, @args) = @$instr_ref; - if (!defined $op) { - $comment =~ s/\n(.)/\n $1/g; - print $comment; - } else { - print " "; - $op = "TOP_$op"; - $match_engine_ops{$op} = 1; - if ($comment ne '') { - printf "%-30s /* %s */\n", (join(", ", ($op, @args)) . ","), - $comment; - } else { - print join(", ", ($op, @args)), ",\n"; - } - $offset += $size; - } - } - print "\n"; + my $lref = $gen_transform{$key}; + + my($name,$arity) = $key =~ m@^([^/]+)/(\d+)$@; + print " case $gen_opnum{$name,$arity}: /* $key */\n"; + $need_label = 0; + + for (my $i = 0; $i < @$lref; $i++) { + my(undef,undef,undef,$comment,@instr) = @{${$lref}[$i]}; + $comment =~ s/\n(.)/\n $1/g; + print $comment; + + if ($need_label) { + print <<"END"; + fail$label: + instr = first; +END + } + $label++; + $need_label = 1; + $ap = 0; + $ip = 0; + my $fail_action = "return TE_FAIL"; + + foreach $instr (@instr) { + my($size, $instr_ref, $comment) = @$instr; + my($op, @args) = @$instr_ref; + if ($op eq 'next_arg') { + $ap++; + } elsif ($op eq 'next_instr') { + $ap = 0; + $ip++; + } elsif ($op eq 'new_instr') { + $ap = 0; + } elsif ($op eq 'commit') { + $ap = 0; + } elsif ($op eq 'commit_new_instr') { + $ap = 0; + $ip--; + } elsif ($op eq 'keep') { + $ip--; + } elsif ($op eq 'try_me_else') { + $fail_action = "goto fail$label"; + } elsif ($op eq 'skip_unless') { + $fail_action = "goto fail$label"; + $need_label = 0; + } + gen_te_instr($ap, $ip, $fail_action, $comment, $op, @args); + } + } + print "\n"; + } + print " default: ASSERT(0); return TE_FAIL;\n"; + print " }\n"; + print "}\n\n"; +} + +sub gen_te_instr { + my($ap,$ip,$fail_action,$comment,$op,@args) = @_; + + if ($op eq 'next_arg') { + ; + } elsif ($op eq 'nop') { + ; + } elsif ($op eq 'try_me_else') { + ; + } elsif ($op eq 'try_me_else_fail') { + ; + } elsif ($op eq 'skip_unless') { + my($instr,$count) = @args; + my($fail_label) = $fail_action =~ /^goto fail(\d+)/; + if (defined $fail_label) { + $fail_action = "goto fail" . ($fail_label+$count); + } + print <<"END"; + /* + * Note that the caller of transform_engine() guarantees that + * there is always a second instruction available. + */ + ASSERT(instr); + if (instr->next->op != $instr) { + /* The second instruction is wrong. Skip ahead. */ + $fail_action; + } +END + } elsif ($op eq 'set_var') { + my $var = "v$args[0]"; + print <<"END"; + $var = instr->a[$ap]; /* $comment */ +END + } elsif ($op eq 'is_bif') { + my $bif_number = $args[0]; + my $specific_bif_action = ""; + my $bif_comment; + if ($bif_number eq '-1') { + $bif_comment = "Is $comment a BIF?"; + } else { + $bif_comment = "Is $comment $bif_number?"; + $specific_bif_action = <<"END"; + if (entry != &bif_table[$bif_number]) { + $fail_action; /* Not $bif_number */ + } +END + } + print <<"END"; + /* $bif_comment */ + ASSERT(instr->a[$ap].type == TAG_u); + if (instr->a[$ap].type != TAG_u) { + $fail_action; + } else { + int i = instr->a[$ap].val; + ASSERT(i < st->beam.imports.count); + if (i >= st->beam.imports.count) { + $fail_action; + } else { + BifEntry *entry = st->bif_imports[i]; + + if (!entry) { + $fail_action; /* Not a BIF */ + } +$specific_bif_action + } + } +END + } elsif ($op eq 'is_not_bif') { + my $bif_number = $args[0]; + print <<"END"; + /* Is $comment not a BIF? */ + { + int i = instr->a[$ap].val; + + /* + * In debug build, the type must be 'u'. + */ + ASSERT(instr->a[$ap].type == TAG_u); + if (instr->a[$ap].type != TAG_u) { + $fail_action; + } else if (i < st->beam.imports.count) { + BeamFile_ImportEntry *import; + + if (st->bif_imports[i]) { + $fail_action; + } + + /* erlang:apply/2,3 are strange. They exist as (dummy) BIFs + * so that they are included in the export table before + * the erlang module is loaded. They also exist in the + * erlang module as functions. When used in code, a special + * Beam instruction is used. + * + * Below we recognize erlang:apply/2,3 as special. This is + * necessary because after setting a trace pattern on + * them, you can no longer see from the export entry that + * they are special. */ + import = &st->beam.imports.entries[i]; + + if (import->module == am_erlang) { + if (import->function == am_apply) { + if (import->arity == 2 || import->arity == 3) { + $fail_action; + } + } + } + } + } +END + } elsif ($op eq 'is_eq') { + my $val = $args[0]; + print <<"END"; + /* Test value */ + if (instr->a[$ap].val != $val) { + $fail_action; + } +END + } elsif ($op eq 'is_func') { + my($mod,$name,$arity) = @args; + print <<"END"; + /* Is $comment the function $mod:$name/$arity? */ + ASSERT(instr->a[$ap].type == TAG_u); + if (instr->a[$ap].type != TAG_u) { + $fail_action; + } else { + int i = instr->a[$ap].val; + BeamFile_ImportEntry* import; + ASSERT(i < st->beam.imports.count); + if (i >= st->beam.imports.count) { + $fail_action; + } + import = &st->beam.imports.entries[i]; + if (import->module != $mod || import->function != $name || import->arity != $arity) { + $fail_action; + } + } +END + } elsif ($op eq 'is_type') { + my $mask = $args[0]; + print <<"END"; + /* Test type */ + if (((1 << instr->a[$ap].type) & $mask) == 0) { /* $comment */ + $fail_action; + } +END + } elsif ($op eq 'next_instr') { + my $expected = $args[0]; + my $window_check = "ASSERT(instr)"; + if ($ip > 1) { + $window_check = "if (instr == NULL) return TE_SHORT_WINDOW"; + } + print <<"END"; + /* Advance to next instruction */ + instr = instr->next; + $window_check; + if (instr->op != $expected) { /* $comment */ + $fail_action; + } +END + } elsif ($op eq 'call') { + my($name,@vars) = @args; + my $call = $name . "(" . join(", ", ("st", @vars)) . ")"; + print <<"END"; + /* Call generator $name() */ + { + BeamOp** lastp; + BeamOp* new_instr = $call; + + if (new_instr == NULL) { + $fail_action; + } + + keep = instr->next; /* The next_instr was optimized away. */ + + lastp = &new_instr; + while (*lastp != NULL) { + lastp = &((*lastp)->next); + } + + *lastp = keep; + instr = new_instr; + } +END + } elsif ($op eq 'pred') { + my($name,@vars) = @args; + my $pred = "$name(" . join(", ", ("st", @vars)) . ")"; + print <<"END"; + /* Call predicate $name() */ + if (!$pred) { + $fail_action; + } +END + } elsif ($op eq 'rest_args') { + my($formal_arity) = @args; + print <<"END"; + /* Store dynamic arguments ($comment) */ + num_rest_args = instr->arity - $formal_arity; + rest_args = &instr->a[$formal_arity]; +END + } elsif ($op eq 'commit') { + print <<"END"; + /* $comment */ + keep = instr = instr->next; +END + } elsif ($op eq 'commit_new_instr') { + my($instr_op) = @args; + my $arity = $gen_arity{$gen_opname[$instr_op]}; + print <<"END"; + /* $comment; reusing last instruction on the left-hand side */ + ASSERT(instr->a == instr->def_args); + keep = instr; + instr->op = $instr_op; + instr->arity = $arity; +END + } elsif ($op eq 'keep') { + print <<"END"; + /* Keep the current instruction unchanged */ + keep = instr; +END + } elsif ($op eq 'new_instr') { + my($instr_op) = @args; + my $arity = $gen_arity{$gen_opname[$instr_op]}; + print <<"END"; + /* Create instruction: $comment */ + { + BeamOp* new_instr = beamopallocator_new_op(&st->op_allocator); + new_instr->next = instr; + instr = new_instr; + instr->op = $instr_op; + instr->arity = $arity; + } +END + } elsif ($op eq 'rename') { + my($instr_op) = @args; + my $arity = $gen_arity{$gen_opname[$instr_op]}; + print <<"END"; + /* Rename instruction keeping the arguments */ + instr->op = $instr_op; + instr->arity = $arity; + return TE_OK; +END + } elsif ($op eq 'store_var') { + my $var = $args[0]; + print " instr->a[$ap] = v$var; /* $comment */\n"; + } elsif ($op eq 'store_val') { + my($type,$val) = @args; + print <<"END"; + /* Store value $comment */ + instr->a[$ap].type = $type; + instr->a[$ap].val = $val; +END + } elsif ($op eq 'store_rest_args') { + my($type,$val) = @args; + print <<"END"; + /* Store dynamic arguments ($comment) */ + ASSERT(instr->a == instr->def_args); + instr->arity = instr->arity + num_rest_args; + instr->a = erts_alloc(ERTS_ALC_T_LOADER_TMP, + instr->arity * sizeof(BeamOpArg)); + sys_memcpy(instr->a, instr->def_args, $ap * sizeof(BeamOpArg)); + sys_memcpy(instr->a+$ap, rest_args, num_rest_args*sizeof(BeamOpArg)); +END + } elsif ($op eq 'end') { + print <<"END"; + /* End of transformation */ + st->genop = instr; + while (first != keep) { + BeamOp* next = first->next; + beamopallocator_free_op(&st->op_allocator, first); + first = next; + } + return TE_OK; +END + } elsif ($op eq 'fail') { + print "/* Fail transformation */\n"; + print "return TE_FAIL;\n"; + } else { + error("Unhandled instruction: $op @args"); } - print starred_comment("Total number of words: $offset"); - print "};\n\n"; } sub tr_gen_from { @@ -2785,7 +3078,7 @@ sub tr_gen_from { unless defined $var{$var}; push @vars, $var; if ($var_type{$var} eq 'scalar') { - push(@args, "var[$var{$var}]"); + push(@args, "v$var{$var}"); push @param_types, 'BeamOpArg'; } else { push(@args, "rest_args"); @@ -2795,8 +3088,7 @@ sub tr_gen_from { my $c_name = "pred.$name"; $c_param_types{$c_name} = \@param_types; $c_code_used{$c_name} = 1; - my $pi = next_tr_index(\@{pred_table}, \%pred_table, $name, @args); - my $op = make_op("$name()", 'pred', $pi); + my $op = make_op("$name()", 'pred', $name, @args); my @slots = grep(/^\d+/, map { $var{$_} } @vars); op_slot_usage($op, @slots); push(@code, $op); @@ -2813,9 +3105,9 @@ sub tr_gen_from { push(@code, make_op("$name/$arity", 'next_instr', $opnum)); push @instrs, "$name/$arity"; + my $arg = 0; foreach $op (@ops) { my($var, $type, $type_val, $cond, $val) = @$op; - my $ignored_var = "$var (ignored)"; if ($type ne '' && $type ne '*') { $may_fail = 1; @@ -2825,7 +3117,6 @@ sub tr_gen_from { # their own built-in type test and don't need to # be guarded with a type test instruction. # - $ignored_var = ''; unless ($cond eq 'is_bif' or $cond eq 'is_not_bif' or $cond eq 'is_func') { @@ -2835,26 +3126,22 @@ sub tr_gen_from { $types .= "$_ "; $type_mask |= $type_bit{$_}; } - if ($cond ne 'is_eq') { - push(@code, make_op($types, 'is_type', $type_mask)); - } else { - $cond = ''; - push(@code, make_op("$types== $val", 'is_type_eq', - $type_mask, $val)); - } + push(@code, make_op($types, 'is_type', $type_mask)); } } + $arg++; + my $var_comment = "variable $var"; + $var_comment = "argument $arg" + if $var eq ''; if ($cond eq 'is_func') { my($m, $f, $a) = split(/:/, $val); - $ignored_var = ''; $may_fail = 1; - push(@code, make_op('', "$cond", "am_$m", - "am_$f", $a)); + push @code, make_op($var_comment, $cond, "am_$m", "am_$f", $a); } elsif ($cond ne '') { - $ignored_var = ''; $may_fail = 1; - push(@code, make_op('', "$cond", $val)); + + push @code, make_op($var_comment, $cond, $val); } if ($var ne '') { @@ -2871,26 +3158,17 @@ sub tr_gen_from { "a transformation") if $type eq 'array'; } - $ignored_var = ''; $var{$var} = 'unnumbered'; $var_type{$var} = 'array'; - push(@code, make_op($var, 'rest_args')); + push @code, make_op($var, 'rest_args', $arity); } else { - $ignored_var = ''; $var_type{$var} = 'scalar'; $var{$var} = $var_num; $var_num++; push(@code, make_op($var, 'set_var', $var{$var})); } } - if (is_instr($code[$#code], 'set_var')) { - my $ref = pop @code; - my $comment = $ref->[2]; - my $var = $ref->[1][1]; - push(@code, make_op($comment, 'set_var_next_arg', $var)); - } else { - push(@code, make_op($ignored_var, 'next_arg')); - } + push(@code, make_op('', 'next_arg')); } # Remove redundant 'next_arg' instructions before the end @@ -2901,40 +3179,8 @@ sub tr_gen_from { # # Insert the commit operation. # - push(@code, make_op($may_fail ? '' : 'always reached', 'commit')); - - # - # Peephole optimization: combine instructions. - # - for (my $i = 0; $i < @code; $i++) { - if (is_instr($code[$i], 'is_type')) { - my(undef, $is_type_ref, $type_comment) = @{$code[$i]}; - if (is_instr($code[$i+1], 'set_var_next_arg')) { - my(undef, $next_ref, $next_comment) = @{$code[$i+1]}; - my $comment = "$type_comment $next_comment"; - my $op = make_op($comment, 'is_type_set_var_next_arg', - $is_type_ref->[1], $next_ref->[1]); - splice @code, $i, 2, ($op); - } elsif (is_instr($code[$i+1], 'next_arg')) { - my $op = make_op($type_comment, 'is_type_next_arg', $is_type_ref->[1]); - splice @code, $i, 2, ($op); - } - } elsif (is_instr($code[$i], 'is_type_eq')) { - my(undef, $is_type_ref, $type_comment) = @{$code[$i]}; - if (is_instr($code[$i+1], 'set_var_next_arg')) { - my(undef, $next_ref, $next_comment) = @{$code[$i+1]}; - my $comment = "$type_comment $next_comment"; - my $op = make_op($comment, 'is_type_eq_set_var_next_arg', - $is_type_ref->[1], $is_type_ref->[2], - $next_ref->[1]); - splice @code, $i, 2, ($op); - } elsif (is_instr($code[$i+1], 'next_arg')) { - my $op = make_op($type_comment, 'is_type_eq_next_arg', - $is_type_ref->[1], $is_type_ref->[2]); - splice @code, $i, 2, ($op); - } - } - } + push(@code, make_op($may_fail ? 'This rule succeeds' : + 'This rule always succeeds', 'commit')); $te_max_vars = $var_num if $te_max_vars < $var_num; @@ -2971,7 +3217,7 @@ sub tr_gen_to { error($where, "variable '$var' unbound") unless defined $var{$var}; if ($var_type{$var} eq 'scalar') { - push @args, "var[$var{$var}]"; + push @args, "v$var{$var}"; push @param_types, 'BeamOpArg'; } else { push @args, "rest_args"; @@ -2982,9 +3228,7 @@ sub tr_gen_to { $c_param_types{$c_name} = \@param_types; $c_code_used{$c_name} = 1; pop(@code); # Get rid of 'commit' instruction - my $index = next_tr_index(\@call_table, \%call_table, - $name, @args); - my $op = make_op("$name()", 'call_end', $index); + my $op = make_op("$name()", 'call', $name, @args); my @slots = grep(/^\d+/, map { $var{$_} } @ops); op_slot_usage($op, @slots); push(@code, $op); @@ -3013,21 +3257,22 @@ sub tr_gen_to { } elsif ($var ne '') { error($where, "variable '$var' unbound") unless defined $var{$var}; - my $op = make_op($var, 'store_var_next_arg', $var{$var}); + my $op = make_op($var, 'store_var', $var{$var}); op_slot_usage($op, $var{$var}); - push(@code, $op); + my $next_arg = make_op('', 'next_arg'); + push @code, $op, $next_arg; } elsif ($type ne '') { my $val = $type_val || 0; my $comment = "$type=$val"; - my $op = make_op($comment, 'store_val_next_arg', "TAG_$type", $val); - push @code, $op; + my $store_val = make_op($comment, 'store_val', "TAG_$type", $val); + my $next_arg = make_op('', 'next_arg'); + push @code, $store_val, $next_arg; } } pop(@code) if is_instr($code[$#code], 'next_arg'); } - push(@code, make_op('', 'end')) - unless is_instr($code[$#code], 'call_end'); + push(@code, make_op('', 'end')); tr_maybe_keep(\@code); tr_maybe_rename(\@code); @@ -3106,7 +3351,7 @@ sub group_tr { if ($i == $#{$lref}) { unshift @c, make_op('', 'try_me_else_fail'); } else { - unshift @c, make_op('', 'try_me_else', code_len(@c)); + unshift @c, make_op('', 'try_me_else'); } } ${$lref}[$i] = [$first,$second,$cannot_fail,$comment,@c]; @@ -3127,7 +3372,7 @@ sub group_tr { for ($j = $i; $j < @$lref; $j++) { my(undef,$other,undef,undef,@c) = @{${$lref}[$j]}; last unless defined $other and $other eq $current; - $skip_len += code_len(@c); + $skip_len++; } if ($j > $i + 1) { @@ -3141,28 +3386,18 @@ sub group_tr { splice @$lref, $i, 0, (['','',1,$comment,$op]); $i = $j + 1; if ($j == $#{$lref}) { - my($first,$second,$cannot_fail,$comment,@c) = @{${$lref}[$j]}; - push @c, make_op('wrong second instruction', 'fail'); - ${$lref}[$j] = [$first,$second,$cannot_fail,$comment,@c]; + my(@c) = (make_op('wrong second instruction', 'fail')); + push @$lref, ['','','','',@c]; } } } - - # - # Flatten the code to a one-dimensional sequence of instructions. - # - my @code; - for (my $i = 0; $i < @$lref; $i++) { - my($first,$second,$cannot_fail,$comment,@c) = @{${$lref}[$i]}; - push @code, make_op($comment); - push @code, @c; - } - \@code; + $lref; } sub tr_maybe_keep { my($ref) = @_; - my @last_instr; + my $ap = 1; + my @last_instr = ('unknown','ignored'); my $pos; my $reused_instr; @@ -3171,21 +3406,21 @@ sub tr_maybe_keep { my($size, $instr_ref, $comment) = @$instr; my($op, @args) = @$instr_ref; if ($op eq 'next_instr') { - @last_instr = ($args[0]); - } elsif ($op eq 'set_var_next_arg') { - push @last_instr, $args[0]; - } elsif ($op eq 'is_type_set_var_next_arg') { - push @last_instr, $args[1]; - } elsif ($op eq 'is_type_eq_set_var_next_arg') { - push @last_instr, $args[2]; + @last_instr = ($args[0],'ignored'); + $ap = 1; } elsif ($op eq 'next_arg') { - push @last_instr, 'ignored'; + $ap++; + $last_instr[$ap] = 'ignored' + unless defined $pos; + } elsif ($op eq 'set_var') { + $last_instr[$ap] = $args[0]; } elsif ($op eq 'new_instr') { unless (defined $pos) { # 'new_instr' immediately after 'commit'. $reused_instr = $args[0]; - return unless shift(@last_instr) == $reused_instr; + return unless $last_instr[0] == $reused_instr; $pos = $i - 1; + $ap = 1; } else { # Second 'new_instr' after 'commit'. The instructions # from $pos up to and including $i - 1 rebuilds the @@ -3196,8 +3431,8 @@ sub tr_maybe_keep { splice @$ref, $pos, $i-$pos, ($reuse); return; } - } elsif ($op eq 'store_var_next_arg') { - return unless @last_instr and shift(@last_instr) eq $args[0]; + } elsif ($op eq 'store_var') { + return unless $last_instr[$ap] eq $args[0]; } elsif (defined $pos) { return; } @@ -3214,6 +3449,7 @@ sub combine_commit { if ($op eq 'rest_args') { return; } elsif ($op eq 'new_instr' and is_instr($$ref[$i-1], 'commit')) { + $comment = get_comment($$ref[$i-1]); my $op = make_op($comment, 'commit_new_instr', @args); splice @$ref, $i - 1, 2, ($op); } @@ -3235,26 +3471,7 @@ sub tr_maybe_rename { my($op, @args) = @$instr_ref; if ($s eq 'left') { - if ($op eq 'set_var_next_arg') { - if ($num_args == $a and $args[0] == $a) { - $num_args++; - } - $a++; - } elsif ($op eq 'is_type_set_var_next_arg') { - if ($num_args == $a and $args[1] == $a) { - $num_args++; - } - $a++; - } elsif ($op eq 'is_type_eq_set_var_next_arg') { - if ($num_args == $a and $args[2] == $a) { - $num_args++; - } - $a++; - } elsif ($op eq 'next_arg') { - $a++; - } elsif ($op eq 'is_type_next_arg') { - $a++; - } elsif ($op eq 'is_type_eq_next_arg') { + if ($op eq 'next_arg') { $a++; } elsif ($op eq 'commit') { $a = 0; @@ -3272,9 +3489,7 @@ sub tr_maybe_rename { return; } } elsif ($s eq 'right') { - if ($op eq 'store_var_next_arg' && $args[0] == $a) { - $a++; - } elsif ($op eq 'end' && $a <= $num_args) { + if ($op eq 'end' && $a <= $num_args) { my $name = $gen_opname[$new_instr]; my $arity = $gen_arity[$new_instr]; my $new_op = make_op("$name/$arity", 'rename', $new_instr); @@ -3303,19 +3518,10 @@ sub tr_remove_unused { for my $instr (@$ref) { my($size, $instr_ref, $comment) = @$instr; my($op, @args) = @$instr_ref; - if ($op eq 'set_var_next_arg') { + if ($op eq 'set_var') { my $var = $args[0]; next if $used{$var}; - $instr = make_op("$comment (ignored)", 'next_arg'); - } elsif ($op eq 'is_type_set_var_next_arg') { - my($type,$var) = @args; - next if $used{$var}; - $instr = make_op("$comment (ignored)", 'is_type_next_arg', $type); - } elsif ($op eq 'is_type_eq_set_var_next_arg') { - my($type,$val,$var) = @args; - next if $used{$var}; - $instr = make_op("$comment (ignored)", 'is_type_eq_next_arg', - $type, $val); + $instr = make_op("(ignoring unused variable $comment)", 'nop'); } } @@ -3377,16 +3583,6 @@ sub gen_tr_code { } } -sub code_len { - my($sum) = 0; - my($ref); - - foreach $ref (@_) { - $sum += $$ref[0]; - } - $sum; -} - sub make_op { my($comment, @op) = @_; [scalar(@op), [@op], $comment, []]; @@ -3413,34 +3609,6 @@ sub starred_comment { "\n/*" . join("\n * ", '', @_) . "\n */\n\n"; } -sub next_tr_index { - my($lref,$href,$name,@args) = @_; - my $code = "return $name(" . join(', ', 'st', @args) . ");\n"; - my $index; - - if (defined $$href{$code}) { - $index = $$href{$code}; - } else { - $index = scalar(@$lref); - push(@$lref, $code); - $$href{$code} = $index; - } - $index; -} - -sub gen_tr_func { - my($type,$name,@call_table) = @_; - - print "$type $name(unsigned int op, LoaderState* st, BeamOpArg var[], BeamOpArg* rest_args) {\n"; - print " switch (op) {\n"; - for (my $i = 0; $i < @call_table; $i++) { - print " case $i: $call_table[$i]"; - } - print qq[ default: erts_exit(ERTS_ABORT_EXIT, "$name: invalid op %d\\n", op);]; - print " }\n"; - print "}\n\n"; -} - sub include_files() { print "#ifdef HAVE_CONFIG_H\n"; print "# include \"config.h\"\n"; diff --git a/erts/emulator/valgrind/suppress.patched.3.6.0 b/erts/emulator/valgrind/suppress.patched.3.6.0 index d3489e5b2720..ea0187dd91b8 100644 --- a/erts/emulator/valgrind/suppress.patched.3.6.0 +++ b/erts/emulator/valgrind/suppress.patched.3.6.0 @@ -279,21 +279,6 @@ obj:*/ssleay.* fun:RC4 } -{ -erts_bits_init_state; Why is this needed? -Memcheck:Leak -PossiblyLost -fun:malloc -fun:erts_sys_alloc -... -fun:erts_alloc -fun:erts_bits_init_state -fun:erts_init_scheduling -fun:erl_init -fun:erl_start -fun:main -} - { Prebuilt constant terms in os_info_init Memcheck:Leak diff --git a/erts/etc/darwin/Info.plist b/erts/etc/darwin/Info.plist deleted file mode 100644 index 38965245885d..000000000000 --- a/erts/etc/darwin/Info.plist +++ /dev/null @@ -1,19 +0,0 @@ - - - - - NSAppTransportSecurity - - NSExceptionDomains - - localhost - - NSExceptionAllowsInsecureHTTPLoads - - NSIncludesSubdomains - - - - - - diff --git a/erts/etc/unix/cerl.src b/erts/etc/unix/cerl.src index 8046cee34710..05deeea3e363 100644 --- a/erts/etc/unix/cerl.src +++ b/erts/etc/unix/cerl.src @@ -47,6 +47,8 @@ # -icount Run emulator compiled for instruction counting # -rr Run emulator under "rr record" # Can be combined with compile targets (like -debug) except valgrind. +# -rr replay|eplay [rr-replay-options] +# Run "rr replay" without or with emacs # -nox Unset the DISPLAY variable to disable us of X Windows # # FIXME For GDB you can also set the break point using "-break FUNCTION". @@ -252,7 +254,7 @@ while [ $# -gt 0 ]; do cargs="$cargs -rr" run_rr=yes case "$1" in - "replay"|"ps") + "replay"|"eplay"|"ps") ;; *) skip_erlexec=yes @@ -399,15 +401,21 @@ if [ "x$GDB" = "x" ]; then exec $taskset1 valgrind $valgrind_xml $valgrind_log $vgflags $BINDIR/$EMU_NAME $sched_arg $emu_xargs "$@" fi elif [ $run_rr = yes ]; then - if [ $1 = replay ]; then + if [ $1 = replay ] || [ $1 = eplay ]; then + rr_cmd=$1 shift cmdfile="/tmp/.cerlgdb.$$" echo "set \$etp_beam_executable = \"$BINDIR/$EMU_NAME\"" > $cmdfile if [ "$1" = "-p" ]; then echo 'set $etp_rr_run_until_beam = 1' >> $cmdfile fi - cat $ROOTDIR/erts/etc/unix/etp-commands >> $cmdfile - exec rr replay -x $cmdfile $* + echo "source $ROOTDIR/erts/etc/unix/etp-commands" >> $cmdfile + if [ $rr_cmd = replay ]; then + exec rr replay -x $cmdfile $* + else + # eplay + exec emacs -eval "(progn (gdb \"rr replay -i=mi -x $cmdfile $*\"))" + fi elif [ $1 = ps ]; then shift rr ps $* | head -1 diff --git a/erts/lib_src/common/erl_misc_utils.c b/erts/lib_src/common/erl_misc_utils.c index 62a49c5b0856..4c441294ba60 100644 --- a/erts/lib_src/common/erl_misc_utils.c +++ b/erts/lib_src/common/erl_misc_utils.c @@ -1126,7 +1126,7 @@ get_cgroup_path(const char *controller, const char **path) { * This fails if any of the fs options contain a hyphen, but this is * not likely to happen on a cgroup, so we just skip such lines. */ if (sscanf(line_buf, - "%*d %*d %*d:%*d %4095s %4095s %*s %*[^-]- " + "%*d %*d %*d:%*d %4095s %4095s %*s%*[^-]- " "%63s %*s %511[^\n]\n", root_path, mount_path, fs_type, fs_flags) != 4) { diff --git a/erts/lib_src/yielding_c_fun/ycf_yield_fun.c b/erts/lib_src/yielding_c_fun/ycf_yield_fun.c index cd927b771696..bc8dccd56a7f 100644 --- a/erts/lib_src/yielding_c_fun/ycf_yield_fun.c +++ b/erts/lib_src/yielding_c_fun/ycf_yield_fun.c @@ -140,7 +140,7 @@ ycf_node* mk_print_offsets_for_struct_fields(char* ycf_trap_state_name, } char* ret = ycf_string_new(("static void %s_print_offsets_for_struct_fields(void);\n" - "static void %s_print_offsets_for_struct_fields() {\n" + "static void %s_print_offsets_for_struct_fields(void) {\n" "fprintf(stderr, \"Field offsets for struct %s:\\n\");\n" "%s\n" "}\n"), @@ -906,13 +906,13 @@ void ast_add_yield_code_generated_define(ycf_node* source_out_tree/*Will be chan "#include \n" "static void* ycf_find_stack_bottom_conservative_helper(void);\n" "static void* ycf_find_stack_bottom_conservative(void);\n" - "static void* ycf_find_stack_bottom_conservative_helper() {\n" + "static void* ycf_find_stack_bottom_conservative_helper(void) {\n" " void* p = NULL;\n" " volatile intptr_t tmp = (intptr_t)&p;\n" " /* codechecker_intentional [StackAddrEscapeBase] */\n" " return (void*)tmp;\n" "}\n" - "static void* ycf_find_stack_bottom_conservative() {\n" + "static void* ycf_find_stack_bottom_conservative(void) {\n" " jmp_buf env;\n" " setjmp(env);\n" "\n" diff --git a/erts/preloaded/ebin/atomics.beam b/erts/preloaded/ebin/atomics.beam index 5b03c3a9f8e4..46816a472d28 100644 Binary files a/erts/preloaded/ebin/atomics.beam and b/erts/preloaded/ebin/atomics.beam differ diff --git a/erts/preloaded/ebin/counters.beam b/erts/preloaded/ebin/counters.beam index 595bbe5de7dc..d693a3bb8ba9 100644 Binary files a/erts/preloaded/ebin/counters.beam and b/erts/preloaded/ebin/counters.beam differ diff --git a/erts/preloaded/ebin/erl_init.beam b/erts/preloaded/ebin/erl_init.beam index eaa1c70fe8cd..cb7e6e25856b 100644 Binary files a/erts/preloaded/ebin/erl_init.beam and b/erts/preloaded/ebin/erl_init.beam differ diff --git a/erts/preloaded/ebin/erl_prim_loader.beam b/erts/preloaded/ebin/erl_prim_loader.beam index 2d34404a6b0e..a46d58d7a521 100644 Binary files a/erts/preloaded/ebin/erl_prim_loader.beam and b/erts/preloaded/ebin/erl_prim_loader.beam differ diff --git a/erts/preloaded/ebin/erl_tracer.beam b/erts/preloaded/ebin/erl_tracer.beam index d10d8c060bdb..f7a53f657945 100644 Binary files a/erts/preloaded/ebin/erl_tracer.beam and b/erts/preloaded/ebin/erl_tracer.beam differ diff --git a/erts/preloaded/ebin/erlang.beam b/erts/preloaded/ebin/erlang.beam index 54cbf998c08c..00ea9e5775fb 100644 Binary files a/erts/preloaded/ebin/erlang.beam and b/erts/preloaded/ebin/erlang.beam differ diff --git a/erts/preloaded/ebin/erts_code_purger.beam b/erts/preloaded/ebin/erts_code_purger.beam index 2937dd153717..04fc2208bac2 100644 Binary files a/erts/preloaded/ebin/erts_code_purger.beam and b/erts/preloaded/ebin/erts_code_purger.beam differ diff --git a/erts/preloaded/ebin/erts_dirty_process_signal_handler.beam b/erts/preloaded/ebin/erts_dirty_process_signal_handler.beam index d8a00bfcc17d..24bcc53c3ecf 100644 Binary files a/erts/preloaded/ebin/erts_dirty_process_signal_handler.beam and b/erts/preloaded/ebin/erts_dirty_process_signal_handler.beam differ diff --git a/erts/preloaded/ebin/erts_internal.beam b/erts/preloaded/ebin/erts_internal.beam index 96c2f347f177..21b4f05210bd 100644 Binary files a/erts/preloaded/ebin/erts_internal.beam and b/erts/preloaded/ebin/erts_internal.beam differ diff --git a/erts/preloaded/ebin/erts_literal_area_collector.beam b/erts/preloaded/ebin/erts_literal_area_collector.beam index 9f36684c48bd..54c0f4c819a0 100644 Binary files a/erts/preloaded/ebin/erts_literal_area_collector.beam and b/erts/preloaded/ebin/erts_literal_area_collector.beam differ diff --git a/erts/preloaded/ebin/init.beam b/erts/preloaded/ebin/init.beam index d2ea6b702559..59a1316e6494 100644 Binary files a/erts/preloaded/ebin/init.beam and b/erts/preloaded/ebin/init.beam differ diff --git a/erts/preloaded/ebin/persistent_term.beam b/erts/preloaded/ebin/persistent_term.beam index a705183971af..461882747936 100644 Binary files a/erts/preloaded/ebin/persistent_term.beam and b/erts/preloaded/ebin/persistent_term.beam differ diff --git a/erts/preloaded/ebin/prim_buffer.beam b/erts/preloaded/ebin/prim_buffer.beam index 64ea6f6a99d9..fa74efcfeb58 100644 Binary files a/erts/preloaded/ebin/prim_buffer.beam and b/erts/preloaded/ebin/prim_buffer.beam differ diff --git a/erts/preloaded/ebin/prim_eval.beam b/erts/preloaded/ebin/prim_eval.beam index f2c7a12a50d5..8a5c4ee49d3f 100644 Binary files a/erts/preloaded/ebin/prim_eval.beam and b/erts/preloaded/ebin/prim_eval.beam differ diff --git a/erts/preloaded/ebin/prim_file.beam b/erts/preloaded/ebin/prim_file.beam index 1bd1624aaa25..3b4d892eed1f 100644 Binary files a/erts/preloaded/ebin/prim_file.beam and b/erts/preloaded/ebin/prim_file.beam differ diff --git a/erts/preloaded/ebin/prim_inet.beam b/erts/preloaded/ebin/prim_inet.beam index 40416564f5f4..334b667adfb4 100644 Binary files a/erts/preloaded/ebin/prim_inet.beam and b/erts/preloaded/ebin/prim_inet.beam differ diff --git a/erts/preloaded/ebin/prim_net.beam b/erts/preloaded/ebin/prim_net.beam index 2e9b21b19b60..0495ec0d779b 100644 Binary files a/erts/preloaded/ebin/prim_net.beam and b/erts/preloaded/ebin/prim_net.beam differ diff --git a/erts/preloaded/ebin/prim_socket.beam b/erts/preloaded/ebin/prim_socket.beam index 45f5ab71d9b0..26c2cacb48d9 100644 Binary files a/erts/preloaded/ebin/prim_socket.beam and b/erts/preloaded/ebin/prim_socket.beam differ diff --git a/erts/preloaded/ebin/prim_zip.beam b/erts/preloaded/ebin/prim_zip.beam index 040d1e355939..a5d1a6553b4d 100644 Binary files a/erts/preloaded/ebin/prim_zip.beam and b/erts/preloaded/ebin/prim_zip.beam differ diff --git a/erts/preloaded/ebin/socket_registry.beam b/erts/preloaded/ebin/socket_registry.beam index 5e6b662b9f66..55b4305b1c25 100644 Binary files a/erts/preloaded/ebin/socket_registry.beam and b/erts/preloaded/ebin/socket_registry.beam differ diff --git a/erts/preloaded/ebin/zlib.beam b/erts/preloaded/ebin/zlib.beam index 35d9131ef0b9..fc1d029f27bd 100644 Binary files a/erts/preloaded/ebin/zlib.beam and b/erts/preloaded/ebin/zlib.beam differ diff --git a/erts/preloaded/src/erlang.erl b/erts/preloaded/src/erlang.erl index ddb81dfc76fe..110e6e62894b 100644 --- a/erts/preloaded/src/erlang.erl +++ b/erts/preloaded/src/erlang.erl @@ -531,15 +531,181 @@ binary_to_float(_Binary) -> %% binary_to_integer/1 -spec binary_to_integer(Binary) -> integer() when Binary :: binary(). -binary_to_integer(_Binary) -> - erlang:nif_error(undefined). +binary_to_integer(Binary) -> + case erts_internal:binary_to_integer(Binary, 10) of + N when erlang:is_integer(N) -> + N; + big -> + case big_binary_to_int(Binary, 10) of + N when erlang:is_integer(N) -> + N; + Reason -> + error_with_info(Reason, [Binary]) + end; + badarg -> + badarg_with_info([Binary]) + end. %% binary_to_integer/2 --spec binary_to_integer(Binary,Base) -> integer() when +-spec binary_to_integer(Binary, Base) -> integer() when Binary :: binary(), Base :: 2..36. -binary_to_integer(_Binary,_Base) -> - erlang:nif_error(undefined). +binary_to_integer(Binary, Base) -> + case erts_internal:binary_to_integer(Binary, Base) of + N when erlang:is_integer(N) -> + N; + big -> + case big_binary_to_int(Binary, Base) of + N when erlang:is_integer(N) -> + N; + Reason -> + error_with_info(Reason, [Binary,Base]) + end; + badarg -> + badarg_with_info([Binary,Base]) + end. + +big_binary_to_int(Bin0, Base) + when erlang:is_binary(Bin0), + erlang:is_integer(Base), 2 =< Base, Base =< 36 -> + {Bin1,Sign} = get_sign(Bin0), + Bin = trim_zeroes(Bin1), + Size = erlang:byte_size(Bin), + if + Size > 4_194_304 -> + %% Too large even for base 2. + system_limit; + Size > 1_262_611, Base >= 10 -> + system_limit; + true -> + WordSize = erlang:system_info(wordsize), + LogRadix = digits_per_small(WordSize, Base), + case segmentize(Bin, Size, Base, LogRadix) of + [_|_]=Segments -> + Radix = radix(WordSize, Base), + try Sign * combine(Segments, Radix) of + Result -> + Result + catch + error:Reason -> + Reason + end; + badarg -> + badarg + end + end. + +segmentize(Bin, Size, Base, LogRadix) -> + case Size rem LogRadix of + 0 -> + segmentize_1(Bin, LogRadix, Base, []); + NumFirst -> + <> = Bin, + case erts_internal:binary_to_integer(First, Base) of + FirstInt when erlang:is_integer(FirstInt) -> + segmentize_1(T, LogRadix, Base, [FirstInt]); + badarg -> + badarg + end + end. + +segmentize_1(Bin, LogRadix, Base, Acc) -> + case Bin of + <> -> + case erts_internal:binary_to_integer(B, Base) of + Int when erlang:is_integer(Int) -> + segmentize_1(T, LogRadix, Base, [Int|Acc]); + badarg -> + badarg + end; + <<>> -> + Acc + end. + +combine(L0, Radix) -> + case combine_pairs(L0, Radix) of + [Result] -> Result; + [_|_]=L -> combine(L, Radix * Radix) + end. + +combine_pairs([A,B|Pairs], Radix) -> + [B * Radix + A|combine_pairs(Pairs, Radix)]; +combine_pairs(L, _Radix) -> + L. + +get_sign(<<$-:8,B/binary>>) -> + {B,-1}; +get_sign(<<$+:8,B/binary>>) -> + {B,1}; +get_sign(B) -> + {B,1}. + +trim_zeroes(<<$0:8,B/binary>>) -> + trim_zeroes(B); +trim_zeroes(B) -> + B. + +digits_per_small(WordSize, Base) -> + T = case WordSize of + 4 -> + %% Wolfram Alpha formula: + %% Table [Trunc[27 / log[2,n]]-1, {n, 2, 36}] + {27, 17, 13, 11, 10, 9, 9, 8, + 8, 7, 7, 7, 7, 6, 6, 6, 6, + 6, 6, 6, 6, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5}; + 8 -> + %% Wolfram Alpha formula: + %% Table [Trunc[59 / log[2,n]]-1, {n, 2, 36}] + {59, 37, 29, 25, 22, 21, 19, 18, 17, + 17, 16, 15, 15, 15, 14, 14, 14, 13, + 13, 13, 13, 13, 12, 12, 12, 12, 12, + 12, 12, 11, 11, 11, 11, 11, 11} + end, + erlang:element(Base - 1, T). + +radix(WordSize, Base) -> + %% The tables are generated using the following function: + %% + %% gen(WordSize) -> + %% IntPow = fun IP(_Base, 0, P) -> P; + %% IP(Base, N, P) -> IP(Base, N - 1, Base * P) + %% end, + %% L = [IntPow(Base, digits_per_small(WordSize, Base), 1) || + %% Base <- lists:seq(2, 36)], + %% io:format("~50p\n", [list_to_tuple(L)]). + T = case WordSize of + 4 -> + %% gen(4) + {134217728,129140163,67108864,48828125,60466176, + 40353607,134217728,43046721,100000000,19487171, + 35831808,62748517,105413504,11390625,16777216, + 24137569,34012224,47045881,64000000,85766121, + 113379904,6436343,7962624,9765625,11881376, + 14348907,17210368,20511149,24300000,28629151, + 33554432,39135393,45435424,52521875,60466176}; + 8 -> + %% gen(8) + {576460752303423488,450283905890997363, + 288230376151711744,298023223876953125, + 131621703842267136,558545864083284007, + 144115188075855872,150094635296999121, + 100000000000000000,505447028499293771, + 184884258895036416,51185893014090757, + 155568095557812224,437893890380859375, + 72057594037927936,168377826559400929, + 374813367582081024,42052983462257059, + 81920000000000000,154472377739119461, + 282810057883082752,504036361936467383, + 36520347436056576,59604644775390625, + 95428956661682176,150094635296999121, + 232218265089212416,353814783205469041, + 531441000000000000,25408476896404831, + 36028797018963968,50542106513726817, + 70188843638032384,96549157373046875, + 131621703842267136} + end, + erlang:element(Base - 1, T). %% binary_to_list/1 -spec binary_to_list(Binary) -> [byte()] when @@ -1371,15 +1537,52 @@ list_to_float(_String) -> %% list_to_integer/1 -spec list_to_integer(String) -> integer() when String :: string(). -list_to_integer(_String) -> - erlang:nif_error(undefined). +list_to_integer(String) -> + Base = 10, + case erts_internal:list_to_integer(String, Base) of + {Int,[]} -> + Int; + big -> + try erlang:list_to_binary(String) of + Binary -> + case big_binary_to_int(Binary, Base) of + N when erlang:is_integer(N) -> + N; + Reason -> + error_with_info(Reason, [String]) + end + catch + error:Reason -> + error_with_info(Reason, [String]) + end; + _ -> + badarg_with_info([String]) + end. %% list_to_integer/2 -spec list_to_integer(String, Base) -> integer() when String :: string(), Base :: 2..36. -list_to_integer(_String,_Base) -> - erlang:nif_error(undefined). +list_to_integer(String, Base) -> + case erts_internal:list_to_integer(String, Base) of + {Int,[]} -> + Int; + big -> + try erlang:list_to_binary(String) of + Binary -> + case big_binary_to_int(Binary, Base) of + N when erlang:is_integer(N) -> + N; + Reason -> + error_with_info(Reason, [String,Base]) + end + catch + error:Reason -> + error_with_info(Reason, [String,Base]) + end; + _ -> + badarg_with_info([String,Base]) + end. %% list_to_pid/1 -spec list_to_pid(String) -> pid() when @@ -2895,6 +3098,7 @@ tuple_to_list(_Tuple) -> CpuTopology :: cpu_topology(); ({cpu_topology, defined | detected | used}) -> CpuTopology when CpuTopology :: cpu_topology(); + (cpu_quota) -> pos_integer() | unknown; (creation) -> integer(); (debug_compiled) -> boolean(); (delayed_node_table_gc) -> infinity | non_neg_integer(); diff --git a/erts/preloaded/src/erts_internal.erl b/erts/preloaded/src/erts_internal.erl index 6688bbfe6789..72d292721551 100644 --- a/erts/preloaded/src/erts_internal.erl +++ b/erts/preloaded/src/erts_internal.erl @@ -117,8 +117,12 @@ -export([no_aux_work_threads/0]). +-export([binary_to_integer/2, list_to_integer/2]). + -export([dynamic_node_name/0, dynamic_node_name/1]). +-export([term_to_string/1, term_to_string/2]). + %% %% Await result of send to port %% @@ -1037,6 +1041,23 @@ beamfile_module_md5(_Bin) -> no_aux_work_threads() -> erlang:nif_error(undefined). +%% Helper BIF for binary_to_integer/{1,2}. + +-spec binary_to_integer(Bin, Base) -> integer() | big | 'badarg' when + Bin :: binary(), + Base :: 2..36. +binary_to_integer(_Bin, _Base) -> + erlang:nif_error(undefined). + +%% Helper BIF for list_to_integer/{1,2}. + +-spec list_to_integer(List, Base) -> + {integer(),list()} | 'big' | 'badarg' | 'no_integer' | 'not_a_list' when + List :: [any()], + Base :: 2..36. +list_to_integer(_List, _Base) -> + erlang:nif_error(undefined). + %% %% Is dynamic node name enabled? %% @@ -1060,3 +1081,15 @@ dynamic_node_name(false) -> false -> ok; _ -> _ = persistent_term:erase({?MODULE, dynamic_node_name}), ok end. + +-spec term_to_string(T :: term()) -> string(). + +term_to_string(T) -> + term_to_string(T, undefined). + +-spec term_to_string(T, Limit) -> string() when + T :: term(), + Limit :: undefined | pos_integer(). + +term_to_string(_T, _Limit) -> + erlang:nif_error(undefined). diff --git a/erts/preloaded/src/init.erl b/erts/preloaded/src/init.erl index 7933cfaa34f9..1b9af0259159 100644 --- a/erts/preloaded/src/init.erl +++ b/erts/preloaded/src/init.erl @@ -39,6 +39,7 @@ %% -pz Path+ : Add my own paths last. %% -run : Start own processes. %% -s : Start own processes. +%% -S : Start own processes and terminate further option processing. %% %% Experimental flags: %% -profile_boot : Use an 'eprof light' to profile boot sequence @@ -256,25 +257,40 @@ boot(BootArgs) -> register(init, self()), process_flag(trap_exit, true), - {Start0,Flags,Args} = parse_boot_args(BootArgs), + {Start,Flags,Args} = parse_boot_args(BootArgs), %% We don't get to profile parsing of BootArgs case b2a(get_flag(profile_boot, Flags, false)) of false -> ok; true -> debug_profile_start() end, - Start = map(fun prepare_run_args/1, Start0), boot(Start, Flags, Args). -prepare_run_args({eval, [Expr]}) -> - {eval,Expr}; -prepare_run_args({_, L=[]}) -> - bs2as(L); -prepare_run_args({_, L=[_]}) -> - bs2as(L); -prepare_run_args({s, [M,F|Args]}) -> - [b2a(M), b2a(F) | bs2as(Args)]; -prepare_run_args({run, [M,F|Args]}) -> - [b2a(M), b2a(F) | bs2ss(Args)]. +fold_eval_args([Expr]) -> Expr; +fold_eval_args(Exprs) -> Exprs. + +%% Ensure that when no arguments were explicitly passed on the command line, +%% an empty arguments list will be passed to the function to be applied. +interpolate_empty_mfa_args({M, F, []}) -> {M, F, [[]]}; +interpolate_empty_mfa_args({_M, _F, [_Args]} = MFA) -> MFA. + +-spec run_args_to_mfa([binary()]) -> {atom(), atom(), [] | [nonempty_list(binary())]} | no_return(). +run_args_to_mfa([]) -> + erlang:display_string( + "Error! The -S option must be followed by at least a module to start, such as " + "`-S Module` or `-S Module Function` to start with a function.\r\n\r\n" + ), + erlang:error(undef); +run_args_to_mfa([M]) -> {b2a(M), start, []}; +run_args_to_mfa([M, F]) -> {b2a(M), b2a(F), []}; +run_args_to_mfa([M, F | A]) -> {b2a(M), b2a(F), [A]}. + +%% Convert -run / -s / -S arguments to startup instructions, such that +%% no instructions are emitted if no arguments follow the flag, otherwise, +%% an `{apply, M, F, A}' instruction is. +run_args_to_start_instructions([], _Converter) -> []; +run_args_to_start_instructions(Args, Converter) -> + {M, F, A} = run_args_to_mfa(Args), + [{apply, M, F, map(Converter, A)}]. b2a(Bin) when is_binary(Bin) -> list_to_atom(b2s(Bin)); @@ -315,60 +331,9 @@ boot(Start,Flags,Args) -> bootpid = BootPid}, boot_loop(BootPid,State). -%%% Convert a term to a printable string, if possible. -to_string(X, D) when is_list(X), D < 4 -> % assume string - F = flatten(X, []), - case printable_list(F) of - true when length(F) > 0 -> F; - _false -> - List = [to_string(E, D+1) || E <- X], - flatten(["[",join(List),"]"], []) - end; -to_string(X, _D) when is_list(X) -> - "[_]"; -to_string(X, _D) when is_atom(X) -> - atom_to_list(X); -to_string(X, _D) when is_pid(X) -> - pid_to_list(X); -to_string(X, _D) when is_float(X) -> - float_to_list(X); -to_string(X, _D) when is_integer(X) -> - integer_to_list(X); -to_string(X, D) when is_tuple(X), D < 4 -> - List = [to_string(E, D+1) || E <- tuple_to_list(X)], - flatten(["{",join(List),"}"], []); -to_string(X, _D) when is_tuple(X) -> - "{_}"; -to_string(_X, _D) -> - "". % can't do anything with it - -%% This is an incorrect and narrow definition of printable characters. -%% The correct one is in io_lib:printable_list/1 -%% -printable_list([H|T]) when is_integer(H), H >= 32, H =< 126 -> - printable_list(T); -printable_list([$\n|T]) -> printable_list(T); -printable_list([$\r|T]) -> printable_list(T); -printable_list([$\t|T]) -> printable_list(T); -printable_list([]) -> true; -printable_list(_) -> false. - -join([] = T) -> - T; -join([_Elem] = T) -> - T; -join([Elem|T]) -> - [Elem,","|join(T)]. - -flatten([H|T], Tail) when is_list(H) -> - flatten(H, flatten(T, Tail)); -flatten([H|T], Tail) -> - [H|flatten(T, Tail)]; -flatten([], Tail) -> - Tail. - things_to_string([X|Rest]) -> - " (" ++ to_string(X, 0) ++ ")" ++ things_to_string(Rest); + " (" ++ erts_internal:term_to_string(X, 32768) ++ ")" ++ + things_to_string(Rest); things_to_string([]) -> "". @@ -1252,15 +1217,10 @@ start_it({eval,Bin}) -> erlang:display_string(binary_to_list(iolist_to_binary(Message))), erlang:raise(E,R,ST) end; -start_it([M|FA]) -> +start_it({apply,M,F,Args}) -> case code:ensure_loaded(M) of {module, M} -> - case FA of - [] -> M:start(); - [F] -> M:F(); - [F|Args] -> M:F(Args) % Args is a list - end; - + apply(M, F, Args); {error, Reason} -> Message = [explain_ensure_loaded_error(M, Reason), <<"\r\n\r\n">>], erlang:display_string(binary_to_list(iolist_to_binary(Message))), @@ -1339,6 +1299,7 @@ timer(T) -> %% -------------------------------------------------------- %% Parse the command line arguments and extract things to start, flags %% and other arguments. We keep the relative of the groups. +%% Returns a triplet in the form `{Start, Flags, Args}': %% -------------------------------------------------------- parse_boot_args(Args) -> @@ -1350,13 +1311,23 @@ parse_boot_args([B|Bs], Ss, Fs, As) -> {reverse(Ss),reverse(Fs),lists:reverse(As, Bs)}; % BIF start_arg -> {S,Rest} = get_args(Bs, []), - parse_boot_args(Rest, [{s, S}|Ss], Fs, As); + Instructions = run_args_to_start_instructions(S, fun bs2as/1), + parse_boot_args(Rest, Instructions ++ Ss, Fs, As); start_arg2 -> {S,Rest} = get_args(Bs, []), - parse_boot_args(Rest, [{run, S}|Ss], Fs, As); + Instructions = run_args_to_start_instructions(S, fun bs2ss/1), + parse_boot_args(Rest, Instructions ++ Ss, Fs, As); + ending_start_arg -> + {S,Rest} = get_args(Bs, []), + %% Forward any additional arguments to the function we are calling, + %% such that no init:get_plain_arguments is needed by it later. + MFA = run_args_to_mfa(S ++ Rest), + {M, F, A} = interpolate_empty_mfa_args(MFA), + StartersWithThis = [{apply, M, F, map(fun bs2ss/1, A)} | Ss], + {reverse(StartersWithThis),reverse(Fs),[]}; eval_arg -> {Expr,Rest} = get_args(Bs, []), - parse_boot_args(Rest, [{eval, Expr}|Ss], Fs, As); + parse_boot_args(Rest, [{eval, fold_eval_args(Expr)} | Ss], Fs, As); {flag,A} -> {F,Rest} = get_args(Bs, []), Fl = {A,F}, @@ -1372,6 +1343,7 @@ parse_boot_args([], Start, Flags, Args) -> check(<<"-extra">>) -> start_extra_arg; check(<<"-s">>) -> start_arg; check(<<"-run">>) -> start_arg2; +check(<<"-S">>) -> ending_start_arg; check(<<"-eval">>) -> eval_arg; check(<<"--">>) -> end_args; check(<<"-",Flag/binary>>) -> {flag,b2a(Flag)}; @@ -1384,6 +1356,7 @@ get_args([B|Bs], As) -> start_arg2 -> {reverse(As), [B|Bs]}; eval_arg -> {reverse(As), [B|Bs]}; end_args -> {reverse(As), Bs}; + ending_start_arg -> {reverse(As), [B|Bs]}; {flag,_} -> {reverse(As), [B|Bs]}; arg -> get_args(Bs, [B|As]) diff --git a/erts/test/erl_print_SUITE.erl b/erts/test/erl_print_SUITE.erl index 2c3cae64c189..49f9f039453e 100644 --- a/erts/test/erl_print_SUITE.erl +++ b/erts/test/erl_print_SUITE.erl @@ -174,8 +174,8 @@ get_chnl_no(NodeName) when is_atom(NodeName) -> erts_debug:get_internal_state({channel_number, NodeName}). chk_display(Term, Expect) when is_list(Expect) -> - Dstr = erts_debug:display(Term), - case Expect ++ io_lib:nl() of + Dstr = erts_internal:term_to_string(Term), + case Expect of Dstr -> io:format("Test of \"~p\" succeeded.~n" " Expected and got: ~s~n", diff --git a/erts/test/upgrade_SUITE.erl b/erts/test/upgrade_SUITE.erl index 9c26852e0057..a800c7c1fd79 100644 --- a/erts/test/upgrade_SUITE.erl +++ b/erts/test/upgrade_SUITE.erl @@ -20,7 +20,7 @@ -compile(export_all). --compile(r22). +-compile(r24). -include_lib("common_test/include/ct.hrl"). -include_lib("kernel/include/file.hrl"). diff --git a/erts/vsn.mk b/erts/vsn.mk index 6e1382b87567..9ee60510721a 100644 --- a/erts/vsn.mk +++ b/erts/vsn.mk @@ -18,7 +18,7 @@ # %CopyrightEnd% # -VSN = 14.0 +VSN = 14.0.2 # Port number 4365 in 4.2 # Port number 4366 in 4.3 diff --git a/lib/asn1/src/asn1ct_check.erl b/lib/asn1/src/asn1ct_check.erl index 8b7144b5f993..f1e8a1912895 100644 --- a/lib/asn1/src/asn1ct_check.erl +++ b/lib/asn1/src/asn1ct_check.erl @@ -3559,6 +3559,20 @@ range_union_1([]) -> finish_constraints(Cs) -> finish_constraints_1(Cs, fun smart_collapse/1). +finish_constraints_1([{element_set,{'SizeConstraint', + {element_set,Root,none}}, + {set,[]}=Set}|T], + Collapse) -> + %% Rewrite: + %% + %% (SIZE (Lower..Upper), ...) + %% + %% to: + %% + %% (SIZE (Lower..Upper, ...)) + + C = {element_set,{'SizeConstraint',{element_set,Root,Set}},none}, + finish_constraints_1([C|T], Collapse); finish_constraints_1([{element_set,{Tag,{element_set,_,_}=Set0},none}|T], Collapse0) -> Collapse = collapse_fun(Tag), diff --git a/lib/asn1/test/asn1_SUITE.erl b/lib/asn1/test/asn1_SUITE.erl index 2a02f08a95eb..b45a62ceab03 100644 --- a/lib/asn1/test/asn1_SUITE.erl +++ b/lib/asn1/test/asn1_SUITE.erl @@ -191,9 +191,26 @@ init_per_testcase(Func, Config) -> end_per_testcase(_Func, Config) -> CaseDir = proplists:get_value(case_dir, Config), + unload_modules(CaseDir), asn1_test_lib:rm_dirs([CaseDir]), code:del_path(CaseDir). +unload_modules(CaseDir) -> + F = fun(Name0, Acc) -> + Name1 = filename:rootname(filename:basename(Name0)), + Name = list_to_existing_atom(Name1), + [Name|Acc] + end, + Beams1 = lists:usort(filelib:fold_files(CaseDir, "[.]beam\$", true, F, [])), + Beams = [M || M <- Beams1, code:is_loaded(M) =/= false], + _ = [begin + code:purge(M), + code:delete(M), + code:purge(M), + io:format("Unloaded ~p", [M]) + end || M <- Beams], + ok. + %%------------------------------------------------------------------------------ %% Test runners %%------------------------------------------------------------------------------ diff --git a/lib/asn1/test/asn1_SUITE_data/ConstraintEquivalence.asn1 b/lib/asn1/test/asn1_SUITE_data/ConstraintEquivalence.asn1 index 648275dd6657..291734e231db 100644 --- a/lib/asn1/test/asn1_SUITE_data/ConstraintEquivalence.asn1 +++ b/lib/asn1/test/asn1_SUITE_data/ConstraintEquivalence.asn1 @@ -106,6 +106,8 @@ BEGIN ExtConstrainedStringX04 ::= IA5String (SIZE (1|2), ..., SIZE (1|2|3|4|5)) ExtConstrainedStringX05 ::= IA5String (SIZE (1|2, ...), ..., SIZE (1|2|3|4|5, ...)) + -- The following syntax is not recommended, but should work. + ExtConstrainedStringX06 ::= IA5String (SIZE (1..2), ...) integer4 INTEGER ::= 4 integer11 INTEGER ::= 11 diff --git a/lib/common_test/Makefile b/lib/common_test/Makefile index ca7baaa9595f..5357e78dc297 100644 --- a/lib/common_test/Makefile +++ b/lib/common_test/Makefile @@ -25,15 +25,7 @@ include $(ERL_TOP)/make/$(TARGET)/otp.mk # Macros # -ifeq ($(findstring linux,$(TARGET)),linux) -SUB_DIRECTORIES = doc/src src priv -else -ifeq ($(findstring solaris,$(TARGET)),solaris) -SUB_DIRECTORIES = doc/src src priv -else -SUB_DIRECTORIES = doc/src src priv -endif -endif +SUB_DIRECTORIES = doc/src src priv proper_ext include vsn.mk VSN = $(COMMON_TEST_VSN) diff --git a/lib/common_test/doc/src/ct_hooks.xml b/lib/common_test/doc/src/ct_hooks.xml index 666ed70c6965..84d0fdf7df20 100644 --- a/lib/common_test/doc/src/ct_hooks.xml +++ b/lib/common_test/doc/src/ct_hooks.xml @@ -102,6 +102,9 @@

Priority is the relative priority of this hook. Hooks with a lower priority are executed first. If no priority is specified, it is set to 0.

+

For details about hook execution order, see section + CTH Execution Order + in the User's Guide.

For details about when init is called, see section CTH Scope diff --git a/lib/common_test/doc/src/ct_hooks_chapter.xml b/lib/common_test/doc/src/ct_hooks_chapter.xml index 66758e7e4df6..ca8c0d2e0ef2 100644 --- a/lib/common_test/doc/src/ct_hooks_chapter.xml +++ b/lib/common_test/doc/src/ct_hooks_chapter.xml @@ -116,15 +116,34 @@

+ CTH Execution Order -

By default, each CTH installed is executed in the order that - they are installed for init calls, and then reversed for end calls. - This is not always desired, so Common Test allows - the user to specify a priority for each hook. The priority can either - be specified in the CTH function - init/2 or when - installing the hook. The priority specified at installation overrides the - priority returned by the CTH.

+

By default, each installed CTH is executed in the order in which + they are installed for init calls, and then reversed for end + calls. This order can be referred to as test-centric, as the order is + reversed after a testcase is executed and corresponds to the default + value (test) of ct_hooks_order option.

+

The installation-based order is not always + desired, so Common Test allows the user to specify a + priority for each hook. The priority can be specified in + the CTH function init/2 or when + installing the hook. The priority specified at installation + overrides the priority returned by the CTH.

+

In some cases, the reversed order for all end calls is not + desired, and instead, the user might prefer the reversed order + for post hook calls. Such behavior can be enabled with + ct_hooks_order option with config value. When this + option is enabled, the execution order is configuration-centric, as + the reversed order happens after each configuration function and + not in relation to testcase.

+

Note that the ct_hooks_order option is considered as a + global framework setting. In case when option is configured + multiple times framework with process only the first value.

+

The ct_hooks_order option can be set as: ct_run + argument, in test specification or suite/0 return + value.

diff --git a/lib/common_test/doc/src/ct_run_cmd.xml b/lib/common_test/doc/src/ct_run_cmd.xml index dd144a54f2dc..94c955a6ffa9 100644 --- a/lib/common_test/doc/src/ct_run_cmd.xml +++ b/lib/common_test/doc/src/ct_run_cmd.xml @@ -128,6 +128,7 @@ [-keep_logs all | NLogs] [-ct_hooks CTHModule1 CTHOpts1 and CTHModule2 CTHOpts2 and .. CTHModuleN CTHOptsN] + [-ct_hooks_order test | config] [-exit_status ignore_config] [-help]
@@ -168,33 +169,10 @@ [-keep_logs all | NLogs] [-ct_hooks CTHModule1 CTHOpts1 and CTHModule2 CTHOpts2 and .. CTHModuleN CTHOptsN] + [-ct_hooks_order test | config] [-exit_status ignore_config]
-
- Run Tests in Web-Based GUI -
- ct_run -vts [-browser Browser]
-  [-dir TestDir1 TestDir2 .. TestDirN] |
-  [[dir TestDir] -suite Suite [[-group Group] [-case Case]]]
-  [-config ConfigFile1 ConfigFile2 .. ConfigFileN]
-  [-userconfig CallbackModule1 ConfigString1 and CallbackModule2
-    ConfigString2 and .. and CallbackModuleN ConfigStringN]
-  [-logopts LogOpts]
-  [-verbosity GenVLevel | [Category1 VLevel1 and
-   Category2 VLevel2 and .. CategoryN VLevelN]]
-  [-decrypt_key Key] | [-decrypt_file KeyFile]
-  [-include InclDir1 InclDir2 .. InclDirN]
-  [-no_auto_compile]
-  [-abort_if_missing_suites]
-  [-multiply_timetraps Multiplier]
-  [-scale_timetraps]
-  [-create_priv_dir auto_per_run | auto_per_tc | manual_per_tc]
-  [-basic_html]
-  [-no_esc_chars]
-  [-keep_logs all | NLogs]
-
-
Refresh HTML Index Files
diff --git a/lib/common_test/doc/src/ct_suite.xml b/lib/common_test/doc/src/ct_suite.xml
index 8e5a73143e3e..3713d78f7a0a 100644
--- a/lib/common_test/doc/src/ct_suite.xml
+++ b/lib/common_test/doc/src/ct_suite.xml
@@ -161,7 +161,7 @@
 	Test suite info function (providing default data
 	  for the suite).
 	
-	  ct_info() = {timetrap, Time} | {require, Required} | {require, Name, Required} | {userdata, UserData} | {silent_connections, Conns} | {stylesheet, CSSFile} | {ct_hooks, CTHs}
+	  ct_info() = {timetrap, Time} | {require, Required} | {require, Name, Required} | {userdata, UserData} | {silent_connections, Conns} | {stylesheet, CSSFile} | {ct_hooks, CTHs} | {ct_hooks_order, CTHOrder}
 	  Time = TimeVal | TimeFunc
 	  TimeVal = MilliSec | {seconds, integer()} | {minutes, integer()} | {hours, integer()}
 	  TimeFunc = {Mod, Func, Args} | Fun
@@ -184,6 +184,7 @@
 	  CTHModule = atom()
 	  CTHInitArgs = term()
 	  CTHPriority = integer()
+          CTHOrder = test | config
 	
 	
 
diff --git a/lib/common_test/doc/src/event_handler_chapter.xml b/lib/common_test/doc/src/event_handler_chapter.xml
index dd704ef04d7d..34d90b4440d1 100644
--- a/lib/common_test/doc/src/event_handler_chapter.xml
+++ b/lib/common_test/doc/src/event_handler_chapter.xml
@@ -380,7 +380,7 @@
     ct:log/2,3 or 
     ct:pal,2,3) get written to the test case log
     file, and not to the Common Test framework log, you can synchronize
-    with the Common Test server by matching on evvents tc_start and tc_done.
+    with the Common Test server by matching on events tc_start and tc_done.
     In the period between these events, all I/O is directed to the
     test case log file. These events are sent synchronously to avoid potential
     timing problems (for example, that the test case log file is closed just before
diff --git a/lib/common_test/doc/src/notes.xml b/lib/common_test/doc/src/notes.xml
index 68c165c10766..2267c9cd4cd6 100644
--- a/lib/common_test/doc/src/notes.xml
+++ b/lib/common_test/doc/src/notes.xml
@@ -77,6 +77,22 @@
 
 
+
Common_Test 1.24.0.1 + +
Fixed Bugs and Malfunctions + + +

+ With this change, prompt search functionality in + ct_telnet handles unicode input.

+

+ Own Id: OTP-18664 Aux Id: ERIERL-959

+
+
+
+ +
+
Common_Test 1.24
Improvements and New Features diff --git a/lib/common_test/doc/src/run_test_chapter.xml b/lib/common_test/doc/src/run_test_chapter.xml index 3fa4877d9c62..45a07ecc69d1 100644 --- a/lib/common_test/doc/src/run_test_chapter.xml +++ b/lib/common_test/doc/src/run_test_chapter.xml @@ -210,6 +210,11 @@ Common Test Hooks including start arguments.

+ +

To modify + Common Test Hooks + execution order.

+ ]]>

To enable or disable Built-in Common Test Hooks. @@ -883,6 +888,8 @@ {ct_hooks, CTHModules}. {ct_hooks, NodeRefs, CTHModules}. + {ct_hooks_order, CTHOrder}. + {enable_builtin_hooks, Bool}. {basic_html, Bool}. @@ -952,6 +959,7 @@ {CTHModule, CTHInitArgs, CTHPriority}] CTHModule = atom() CTHInitArgs = term() + CTHOrder = test | config Dir = string() Suites = atom() | [atom()] | all Suite = atom() @@ -1169,7 +1177,7 @@ A confirmation when the test run is complete. Some special information, such as error reports, progress reports, and printouts written with erlang:display/1, or io:format/3 - specifically addressed to a receiver other than standard_io + specifically addressed to a receiver other than standard_io (for example, the default group leader process user). @@ -1272,8 +1280,8 @@ performed through JavaScript code, automatically inserted into the HTML log files. Common Test uses the jQuery library and the - tablesorter plugin, - with customized sorting functions, for this implementation.

+ tablesorter + plugin, with customized sorting functions, for this implementation.

diff --git a/lib/common_test/internal_doc/ct_notes.md b/lib/common_test/internal_doc/ct_notes.md new file mode 100644 index 000000000000..061e4d2cdb75 --- /dev/null +++ b/lib/common_test/internal_doc/ct_notes.md @@ -0,0 +1,160 @@ +# CT test_server + +## Problem (GH-7119, OTP-11894, OTP-14480) +I think the most confusing thing is that today OTP behavior and design seems to be a mix of Configuration and Testcase centric attributes: +1. (Configuration centric) CT hook callback looks as designed to wrap around CT Configuration functions (i.e. you have *pre* and *post* to wrapp around init_per_testcase or end_per_testcase) + - Furthermore if you consider hook callback function names, there are no hooks wrapping around Testcase function at all! +2. (Testcase centric) AND at the same the hook execution order is determined by relation to CT Testcase callback + +### CT hooks priorities (documentation sketch) +Let's assume: +1. cth_A and cth_B being CT hook modules to be installed +2. A, B are CT hook priorities where A is more important than B (higher priority) +3. hook priorities affect order in which hook callbacks of the same type are executed +4. Testcase functions - are CT callback functions defined in suite which will have test verdict assigned (e.g. ok, fail, skip) +5. Configuration functions - are CT callback functions defining initialization and cleanup routines for testcases (e.g. init_per_testcase, end_per_testcase) + +```mermaid +--- +title: Diagram legend +--- +flowchart LR + dc((("double circle"))) -.- i>item determining hook execution order] + pgr[/"parallelogram"/] -.- j>item not relevant for hook execution order] +``` + +#### Testcase centric (default) +1. execution order is related to position in relation to Testcase +2. all *init* hook callbacks(positioned before Testcase) are executed in some order +3. all *end* hook callbacks(positioned after Testcase) are executed in reversed order +4. *pre* and *post* hook callback type is not affecting execution order +```mermaid +--- +title: Testcase centric CT hook execution order (default) +--- +flowchart TD + subgraph hooks + pre_ipt_A["(A) pre_init_per_testcase"] --Config--> pre_ipt_B + end + subgraph suite + pre_ipt_B["(B) pre_init_per_testcase"] --Config--> ipt[/"init_per_testcase"/] + end + ipt --Config,Return--> post_ipt_A + ipt --Config--> post_ipt_B + subgraph hooks + post_ipt_A["(A) post_init_per_testcase"] --Return--> post_ipt_B + end + subgraph suite + post_ipt_B["(B) post_init_per_testcase"] --Config--> testcase + testcase((("Testcase"))) + end + subgraph hooks + testcase --tc_status--> pre_ept_B + pre_ept_B["(B) pre_end_per_testcase"] --Config--> pre_ept_A + end + subgraph suite + pre_ept_A["(A) pre_end_per_testcase"] --Config--> end_per_test_case + end + subgraph hooks + end_per_test_case[/"end_per_testcase"/] --Config,Return--> post_ept_B + post_ept_B[/"(B) post_end_per_testcase"/] --Return--> post_ept_A[/"(A) post_end_per_testcase"/] + end_per_test_case --Config--> post_ept_A + end +``` +#### Configuration centric (option candidate) +- all *pre* hooks will be executed in some order +- all *post* hooks will be executed in reversed order +- relation to Testcase is not relevant for hook execution order +- Note: I think, it might be considered a bit inconsistent because there are no hook callbacks wrapping around Testcase (e.g. pre_testcase, post_testcase) +- Above could be ugly workarounded by using pre_init_per_testcase with post_end_per_testcase +- Adding pre_testcase, post_testcase might not be simple but maybe it is not needed + +```mermaid +--- +title: Configuration centric CT hook execution order (option) +--- +flowchart TD + subgraph hooks + pre_ipt_A["(A) pre_init_per_testcase"] --> pre_ipt_B + end + subgraph suite + pre_ipt_B["(B) pre_init_per_testcase"] --> ipt((("init_per_testcase"))) + end + ipt --> post_ipt_B + subgraph hooks + post_ipt_B["(B) post_init_per_testcase"] --> post_ipt_A + end + subgraph suite + post_ipt_A["(A) post_init_per_testcase"] --> testcase + testcase[/"Testcase"/] + end + subgraph hooks + testcase --> pre_ept_A + pre_ept_A["(A) pre_end_per_testcase"] --> pre_ept_B + end + subgraph suite + pre_ept_B["(B) pre_end_per_testcase"] --> end_per_test_case + end + subgraph hooks + end_per_test_case((("end_per_testcase"))) --> post_ept_B + post_ept_B["(B) post_end_per_testcase"] --> post_ept_A["(A) post_end_per_testcase"] + end +``` + +## processes +```mermaid +flowchart LR + tc["`tc + every CT callback function`"] + testcase["`testcase + the user Testcase`"] + testcase --> tc +``` + +## test_server code + +```mermaid +mindmap + code + run_test_case_apply/1 + run_test_case_apply/6 + ))run_test_case_eval_fun/9(( + run_test_case_eval/9 + do_init_tc_call/4 + run_test_case_eval1/6 + do_end_tc_call/4 + ct_util mark_process/0 + run_test_case_msgloop/1 + [receive] + run_test_case_eval1/6 + ts_tc/3 +``` +## processes +```mermaid +flowchart LR + job["`(job process GL) + captures output`"] + case["`(case process) + runs test suite`"] + + case --news--> job +``` +## concept +```mermaid +mindmap + root)test_server( + interfaces + sup + get_loc/1 + set_ct_state/1 + ctrl + run_test_case_apply/1 + init_target_info/0 + init_memory_checker/0 + suite + init + target_info + memory_checker + questions + why call_end_conf not called when init/end_per_testcase not defined? +``` diff --git a/lib/common_test/priv/Makefile.in b/lib/common_test/priv/Makefile.in index 924174e94a82..473eb0c032c2 100644 --- a/lib/common_test/priv/Makefile.in +++ b/lib/common_test/priv/Makefile.in @@ -57,7 +57,7 @@ ifneq ($(findstring win32,$(TARGET)),win32) # # Files # -FILES = vts.tool +FILES = SCRIPTS = IMAGES = tile1.jpg CSS = ct_default.css @@ -101,7 +101,7 @@ else # # Files # -FILES = vts.tool +FILES = IMAGES = tile1.jpg CSS = ct_default.css JS = jquery-latest.js jquery.tablesorter.min.js diff --git a/lib/common_test/priv/vts.tool b/lib/common_test/priv/vts.tool deleted file mode 100644 index d63d9505f5b2..000000000000 --- a/lib/common_test/priv/vts.tool +++ /dev/null @@ -1,2 +0,0 @@ -{version,"1.2"}. -[{config_func,{vts,config_data,[]}}]. diff --git a/lib/common_test/proper_ext/Makefile b/lib/common_test/proper_ext/Makefile new file mode 100644 index 000000000000..ffb4bdea3fb8 --- /dev/null +++ b/lib/common_test/proper_ext/Makefile @@ -0,0 +1,84 @@ +# +# %CopyrightBegin% +# +# Copyright Ericsson AB 2023. All Rights Reserved. +# +# 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. +# +# %CopyrightEnd% +# + +include $(ERL_TOP)/make/target.mk + +# ---------------------------------------------------- +# Configuration info. +# ---------------------------------------------------- +include $(ERL_TOP)/make/$(TARGET)/otp.mk + +# ---------------------------------------------------- +# Release directory specification +# ---------------------------------------------------- +PROPEREXTDIR = $(RELEASE_PATH)/lib/common_test-$(VSN)/proper_ext + +# ---------------------------------------------------- +# Target Specs +# ---------------------------------------------------- + +EBIN=. + +MODULES= \ + ct_proper_ext + +TARGET_MODULES= $(MODULES:%=$(EBIN)/%) +TARGET_MODULES= $(MODULES:%=$(EBIN)/%) + +ERL_FILES = $(MODULES:=.erl) +HRL_FILES = + +TARGET_FILES = $(MODULES:%=$(EBIN)/%.$(EMULATOR)) + +TARGETS = $(MODULES:%=$(EBIN)/%.$(EMULATOR)) + +# ---------------------------------------------------- +# FLAGS +# ---------------------------------------------------- +ERL_COMPILE_FLAGS += -I../include -Werror + +# ---------------------------------------------------- +# Targets +# ---------------------------------------------------- + +tests $(TYPES): $(TARGETS) + +clean: + rm -f $(TARGET_FILES) + rm -f core + +docs: + +# ---------------------------------------------------- +# Special Build Targets +# ---------------------------------------------------- + +# ---------------------------------------------------- +# Release Target +# ---------------------------------------------------- +include $(ERL_TOP)/make/otp_release_targets.mk + +release_spec: opt + $(INSTALL_DIR) "$(PROPEREXTDIR)" + $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) \ + $(TARGET_FILES) \ + "$(PROPEREXTDIR)" + +release_docs_spec: diff --git a/lib/common_test/proper_ext/ct_proper_ext.erl b/lib/common_test/proper_ext/ct_proper_ext.erl new file mode 100644 index 000000000000..4c4b25da27cc --- /dev/null +++ b/lib/common_test/proper_ext/ct_proper_ext.erl @@ -0,0 +1,193 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +%% For internal use only. +%% +%% Some generators of the PropEr framework used by OTP for property tests +%% create atoms at random, ie from random strings, and are therefore likely +%% to exhaust the atom table. +%% +%% This module provides additional variants of these generators which do +%% not create new atoms but pick from the already existing atoms. +%% +%% Other than in PropEr, the respective atom generators provided by this module +%% do not shrink. + +-module(ct_proper_ext). + +-export([existing_atom/0]). +-export([safe_any/0]). +-export([safe_atom/0]). +-export([safe_list/0]). +-export([safe_map/0]). +-export([safe_term/0]). +-export([safe_tuple/0]). + +%% Atomlimit-safe variant of `proper_types:list()' +-spec safe_list() -> proper_types:type(). +safe_list() -> + proper_types:list(safe_any()). + + +%% Atomlimit-safe variant of `proper_types:map()' +-spec safe_map() -> proper_types:type(). +safe_map() -> + proper_types:map(safe_any(), safe_any()). + + +%% Atomlimit-safe variant of `proper_types:tuple()' +-spec safe_tuple() -> proper_types:type(). +safe_tuple() -> + proper_types:loose_tuple(safe_any()). + + +%% Atomlimit-safe variant of `proper_types:atom()'. +-spec existing_atom() -> proper_types:type(). +existing_atom() -> + existing_atom(atom_count()). + +existing_atom(N) -> + proper_types:noshrink( + proper_types:lazy(fun() -> + get_existing_atom(rand_int0(N - 1)) + end)). + +-define(ATOM_TERM_BIN(Index), <<131, 75, Index:24>>). +get_existing_atom(Index) -> + case binary_to_term(?ATOM_TERM_BIN(Index)) of + '' -> + ''; + Atom -> + case hd(atom_to_list(Atom)) of + $$ when Index > 0 -> + get_existing_atom(Index - 1); + $$ -> + ''; + _ -> + Atom + end + end. + + +%% Atomlimit-safe variant of `proper_types:atom()'. +%% Like `existing_atom()', but also emphasizes some common atoms +%% like `undefined', `false', `ok' etc +-spec safe_atom() -> proper_types:type(). +safe_atom() -> + safe_atom(atom_count()). + +safe_atom(N) -> + proper_types:oneof([proper_types:oneof(['', true, false, ok, + error, undefined, + infinity, 'ätöm', + '原子', '_', '"', + '\'', '\\', '+', '-', + '*', '/', '(', ')', + '[', ']', '{', '}', + '#']), + existing_atom(N)]). + + +%% Atomlimit-safe variant of `proper_types:term()'. +%% Alias for `safe_any/0'. +-spec safe_term() -> proper_types:type(). +safe_term() -> + safe_any(). + + +%% Atomlimit-safe variant of `proper_types:any()'. +-spec safe_any() -> proper_types:type(). +safe_any() -> + N = atom_count(), + proper_types:sized(fun(Size) -> safe_any(N, Size) end). + +safe_any(N, 0) -> + proper_types:oneof([safe_atom(N), + proper_types:integer(), + proper_types:float()]); +safe_any(N, Size) -> + case pick_type(Size) of + simple -> + safe_any(N, 0); + binary -> + proper_types:resize(Size, proper_types:bitstring()); + {list, 0} -> + []; + {list, 1} -> + [proper_types:lazy(fun() -> safe_any(N, Size - 1) end)]; + {list, NumEls} -> + ElSizes = distribute(Size - 1, NumEls), + proper_types:fixed_list([proper_types:lazy(fun() -> + safe_any(N, S) + end) + || S <- ElSizes]); + {tuple, 0} -> + {}; + {tuple, 1} -> + {proper_types:lazy(fun() -> safe_any(N, Size - 1) end)}; + {tuple, NumEls} -> + ElSizes = distribute(Size - 1, NumEls), + proper_types:tuple([proper_types:lazy(fun() -> + safe_any(N, S) + end) + || S <- ElSizes]) + end. + +%% Randomly picks a type with the following distribution (same as in PropEr): +%% * 25% tuples +%% * 25% lists +%% * 12.5% bitstrings +%% * 37.5% simple types +pick_type(Size) -> + case rand:uniform(1000) of + X when X =< 250 -> + {tuple, rand_int0(Size)}; + X when X =< 500 -> + {list, rand_int0(Size)}; + X when X =< 625 -> + binary; + _ -> + simple + end. + +%% Randomly distributes the given number of `Credits' over the given +%% number of `Slots' +distribute(Slots, Credits) -> + [X || {_, X} <- lists:sort(distribute_1(Slots, Credits))]. + +distribute_1(0, 0) -> + []; +distribute_1(1, Credits) -> + [{rand:uniform(1000), Credits}]; +distribute_1(Slots, 0) -> + [{rand:uniform(1000), 0} || _ <- lists:seq(1, Slots)]; +distribute_1(Slots, Credits) -> + N = rand_int0(Credits), + [{rand:uniform(1000), N}|distribute_1(Slots - 1, Credits - N)]. + + +%% Random non-neg integer +rand_int0(Max) -> + rand:uniform(Max + 1) - 1. + + +%% Number of currently existing atoms +atom_count() -> + erlang:system_info(atom_count). diff --git a/lib/common_test/src/ct.erl b/lib/common_test/src/ct.erl index 012bb5c7403f..0c4166783efa 100644 --- a/lib/common_test/src/ct.erl +++ b/lib/common_test/src/ct.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2003-2022. All Rights Reserved. +%% Copyright Ericsson AB 2003-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -170,6 +170,7 @@ run(TestDirs) -> | {esc_chars, boolean()} | {keep_logs,KeepSpec} | {ct_hooks, CTHs} + | {ct_hooks_order, CTHsOrder} | {enable_builtin_hooks, boolean()} | {release_shell, boolean()}, TestDirs :: [string()] | string(), @@ -211,6 +212,7 @@ run(TestDirs) -> Category :: atom(), KeepSpec :: all | pos_integer(), CTHs :: [CTHModule | {CTHModule, CTHInitArgs}], + CTHsOrder :: atom(), CTHModule :: atom(), CTHInitArgs :: term(), Result :: {Ok, Failed, {UserSkipped, AutoSkipped}} | TestRunnerPid | {error, Reason}, diff --git a/lib/common_test/src/ct_framework.erl b/lib/common_test/src/ct_framework.erl index ad01da29f604..d81df7280b90 100644 --- a/lib/common_test/src/ct_framework.erl +++ b/lib/common_test/src/ct_framework.erl @@ -606,6 +606,8 @@ configure([{timetrap,Time}|Rest],Info,SuiteInfo,Scope,PostInitHook,Config) -> configure(Rest,Info,SuiteInfo,Scope,PostInitHook1,Config); configure([{ct_hooks,Hook}|Rest],Info,SuiteInfo,Scope,PostInitHook,Config) -> configure(Rest,Info,SuiteInfo,Scope,PostInitHook,[{ct_hooks,Hook}|Config]); +configure([{ct_hooks_order,Order}|Rest],Info,SuiteInfo,Scope,PostInitHook,Config) -> + configure(Rest,Info,SuiteInfo,Scope,PostInitHook,[{ct_hooks_order,Order}|Config]); configure([_|Rest],Info,SuiteInfo,Scope,PostInitHook,Config) -> configure(Rest,Info,SuiteInfo,Scope,PostInitHook,Config); configure([],_,_,_,PostInitHook,Config) -> @@ -663,6 +665,10 @@ end_tc(Mod, Fun, Args) -> %% Have to keep end_tc/3 for backwards compatibility issues end_tc(Mod, Fun, Args, '$end_tc_dummy'). end_tc(?MODULE,error_in_suite,{Result,[Args]},Return) -> + case proplists:get_value(force_failed, Args) of + undefined -> ok; + _ -> add_to_stats(failed) + end, %% this clause gets called if CT has encountered a suite that %% can't be executed FinalNotify = @@ -1219,9 +1225,9 @@ get_all(Mod, ConfTests) -> expand_tests(Mod, Tests) catch throw:{error,Error} -> - [{?MODULE,error_in_suite,[[{error,Error}]]}]; + [{?MODULE,error_in_suite,[[{error,Error},{force_failed,true}]]}]; _:Error:S -> - [{?MODULE,error_in_suite,[[{error,{Error,S}}]]}] + [{?MODULE,error_in_suite,[[{error,{Error,S}},{force_failed,true}]]}] end; Skip = {skip,_Reason} -> Skip; diff --git a/lib/common_test/src/ct_hooks.erl b/lib/common_test/src/ct_hooks.erl index 23fadcbc2c5e..d182e08efcd2 100644 --- a/lib/common_test/src/ct_hooks.erl +++ b/lib/common_test/src/ct_hooks.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2004-2021. All Rights Reserved. +%% Copyright Ericsson AB 2004-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -31,7 +31,8 @@ -export([on_tc_fail/2]). %% If you change this, remember to update ct_util:look -> stop clause as well. --define(config_name, ct_hooks). +-define(hooks_name, ct_hooks). +-define(hooks_order_name, ct_hooks_order). %% All of the hooks which are to be started by default. Remove by issuing %% -enable_builtin_hooks false to when starting common test. @@ -49,6 +50,7 @@ -spec init(State :: term()) -> ok | {fail, Reason :: term()}. init(Opts) -> + process_hooks_order(?FUNCTION_NAME, Opts), call(get_builtin_hooks(Opts) ++ get_new_hooks(Opts, undefined), ok, init, []). @@ -56,16 +58,16 @@ init(Opts) -> groups(Mod, Groups) -> Info = try proplists:get_value(ct_hooks, Mod:suite(), []) of CTHooks when is_list(CTHooks) -> - [{?config_name,CTHooks}]; + [{?hooks_name,CTHooks}]; CTHook when is_atom(CTHook) -> - [{?config_name,[CTHook]}] + [{?hooks_name,[CTHook]}] catch _:_ -> %% since this might be the first time Mod:suite() %% is called, and it might just fail or return %% something bad, we allow any failure here - it %% will be caught later if there is something %% really wrong. - [{?config_name,[]}] + [{?hooks_name,[]}] end, case call(fun call_generic/3, Info ++ [{'$ct_groups',Groups}], [post_groups, Mod]) of [{'$ct_groups',NewGroups}] -> @@ -78,13 +80,13 @@ groups(Mod, Groups) -> all(Mod, Tests) -> Info = try proplists:get_value(ct_hooks, Mod:suite(), []) of CTHooks when is_list(CTHooks) -> - [{?config_name,CTHooks}]; + [{?hooks_name,CTHooks}]; CTHook when is_atom(CTHook) -> - [{?config_name,[CTHook]}] + [{?hooks_name,[CTHook]}] catch _:_ -> %% just allow any failure here - it will be caught %% later if there is something really wrong. - [{?config_name,[]}] + [{?hooks_name,[]}] end, case call(fun call_generic/3, Info ++ [{'$ct_all',Tests}], [post_all, Mod]) of [{'$ct_all',NewTests}] -> @@ -118,11 +120,11 @@ terminate(Hooks) -> init_tc(Mod, init_per_suite, Config) -> Info = try proplists:get_value(ct_hooks, Mod:suite(),[]) of List when is_list(List) -> - [{?config_name,List}]; + [{?hooks_name,List}]; CTHook when is_atom(CTHook) -> - [{?config_name,[CTHook]}] + [{?hooks_name,[CTHook]}] catch error:undef -> - [{?config_name,[]}] + [{?hooks_name,[]}] end, call(fun call_generic/3, Config ++ Info, [pre_init_per_suite, Mod]); @@ -249,13 +251,15 @@ do_call_generic(#ct_hook_config{ module = Mod, state = State} = Hook, {NewValue, Hook#ct_hook_config{ state = NewState } }. %% Generic call function -call(Fun, Config, Meta) -> +call(Fun, Config, [CFunc | _] = Meta) -> maybe_lock(), Hooks = get_hooks(), Calls = get_new_hooks(Config, Fun) ++ [{HookId,Fun} || #ct_hook_config{id = HookId} <- Hooks], - Res = call(resort(Calls,Hooks,Meta), - remove(?config_name,Config), Meta, Hooks), + Order = process_hooks_order(CFunc, Config), + Res = call(resort(Calls,Hooks,Meta, Order), + remove([?hooks_name, ?hooks_order_name], Config), + Meta, Hooks), maybe_unlock(), Res. @@ -264,7 +268,6 @@ call(Fun, Config, Meta, NoChangeRet) when is_function(Fun) -> Config -> NoChangeRet; NewReturn -> NewReturn end; - call([{Hook, call_id, NextFun} | Rest], Config, Meta, Hooks) -> try {Config, #ct_hook_config{ id = NewId } = NewHook} = @@ -286,7 +289,9 @@ call([{Hook, call_id, NextFun} | Rest], Config, Meta, Hooks) -> {Hooks ++ [NewHook], Rest ++ [{NewId, call_init}, {NewId,NextFun}]} end, - call(resort(NewRest,NewHooks,Meta), Config, Meta, NewHooks) + Order = get_hooks_order(), + call(resort(NewRest, NewHooks, Meta, Order), Config, Meta, + NewHooks) catch Error:Reason:Trace -> ct_logs:log("Suite Hook","Failed to start a CTH: ~tp:~tp", [Error,{Reason,Trace}]), @@ -301,8 +306,10 @@ call([{HookId, Fun} | Rest], Config, Meta, Hooks) -> {NewConf, NewHook} = Fun(Hook, Config, Meta), NewCalls = get_new_hooks(NewConf, Fun), NewHooks = lists:keyreplace(HookId, #ct_hook_config.id, Hooks, NewHook), - call(resort(NewCalls ++ Rest,NewHooks,Meta), %% Resort if call_init changed prio - remove(?config_name, NewConf), Meta, + Order = get_hooks_order(), + call(resort(NewCalls ++ Rest, NewHooks, + Meta, Order), %% Resort if call_init changed prio + remove([?hooks_name, ?hooks_order_name], NewConf), Meta, terminate_if_scope_ends(HookId, Meta, NewHooks)) catch throw:{error_in_cth_call,Reason} -> call(Rest, {fail, Reason}, Meta, @@ -312,6 +319,11 @@ call([], Config, _Meta, Hooks) -> save_suite_data_async(Hooks), Config. +remove([], List) when is_list(List) -> + List; +remove([Key|T], List) when is_list(List) -> + NewList = remove(Key, List), + remove(T, NewList); remove(Key,List) when is_list(List) -> [Conf || Conf <- List, is_tuple(Conf) =:= false orelse element(1, Conf) =/= Key]; @@ -392,9 +404,9 @@ get_new_hooks(Config, Fun) -> end, get_new_hooks(Config)). get_new_hooks(Config) when is_list(Config) -> - lists:flatmap(fun({?config_name, HookConfigs}) when is_list(HookConfigs) -> + lists:flatmap(fun({?hooks_name, HookConfigs}) when is_list(HookConfigs) -> HookConfigs; - ({?config_name, HookConfig}) when is_atom(HookConfig) -> + ({?hooks_name, HookConfig}) when is_atom(HookConfig) -> [HookConfig]; (_) -> [] @@ -411,10 +423,10 @@ get_builtin_hooks(Opts) -> end. save_suite_data_async(Hooks) -> - ct_util:save_suite_data_async(?config_name, Hooks). + ct_util:save_suite_data_async(?hooks_name, Hooks). get_hooks() -> - lists:keysort(#ct_hook_config.prio,ct_util:read_suite_data(?config_name)). + lists:keysort(#ct_hook_config.prio,ct_util:read_suite_data(?hooks_name)). %% Sort all calls in this order: %% call_id < call_init < ctfirst < Priority 1 < .. < Priority N < ctlast @@ -423,17 +435,38 @@ get_hooks() -> %% If we are doing a cleanup call i.e. {post,pre}_end_per_*, all priorities %% are reversed. Probably want to make this sorting algorithm pluginable %% as some point... -resort(Calls,Hooks,[F|_R]) when F == pre_end_per_testcase; - F == post_end_per_testcase; - F == pre_end_per_group; - F == post_end_per_group; - F == pre_end_per_suite; - F == post_end_per_suite -> - lists:reverse(resort(Calls,Hooks)); - -resort(Calls,Hooks,_Meta) -> +resort(Calls, Hooks, [CFunc|_R], HooksOrder) -> + Resorted = resort(Calls, Hooks), + ReversedHooks = + case HooksOrder of + config -> + %% reversed order for all post hooks (config centric order) + %% ct_hooks_order is 'config' + [post_init_per_testcase, + post_end_per_testcase, + post_init_per_group, + post_end_per_group, + post_init_per_suite, + post_end_per_suite]; + _ -> + %% reversed order for all end hooks (testcase centric order) + %% default or when ct_hooks_order is 'test' + [pre_end_per_testcase, + post_end_per_testcase, + pre_end_per_group, + post_end_per_group, + pre_end_per_suite, + post_end_per_suite] + end, + case lists:member(CFunc, ReversedHooks) of + true -> + lists:reverse(Resorted); + _ -> + Resorted + end; +resort(Calls,Hooks,_Meta, _HooksOrder) -> resort(Calls,Hooks). - + resort(Calls, Hooks) -> lists:sort( fun({_,_,_},_) -> @@ -498,6 +531,29 @@ catch_apply(M,F,A) -> [M,F,length(A)]))}) end. +process_hooks_order(init, Return) when is_list(Return) -> + maybe_save_hooks_order(Return); +process_hooks_order(_Stage, Return) when is_list(Return) -> + case get_hooks_order() of + undefined -> + maybe_save_hooks_order(Return); + StoredOrder -> + StoredOrder + end; +process_hooks_order(_Stage, _) -> + nothing_to_save. + +get_hooks_order() -> + ct_util:read_suite_data(?hooks_order_name). + +maybe_save_hooks_order(Return) -> + case proplists:get_value(?hooks_order_name, Return) of + Order when Order == config -> + ct_util:save_suite_data_async(?hooks_order_name, Order), + Order; + _ -> + test + end. %% We need to lock around the state for parallel groups only. This is because %% we will get several processes reading and writing the state for a single diff --git a/lib/common_test/src/ct_property_test.erl b/lib/common_test/src/ct_property_test.erl index 12644dca4934..dce4edfd9d6f 100644 --- a/lib/common_test/src/ct_property_test.erl +++ b/lib/common_test/src/ct_property_test.erl @@ -69,20 +69,28 @@ init_tool(Config) -> {ok,ToolModule} -> case code:where_is_file(lists:concat([ToolModule,".beam"])) of non_existing -> - ct:log("Found ~p, but ~tp~n is not found", + ct:log("Found ~p, but ~ts was not found", [ToolModule, lists:concat([ToolModule,".beam"])]), {skip, "Strange Property testing tool installation"}; ToolPath -> - ct:pal("Found property tester ~p~n" - "at ~tp", + ct:log("Found property tester ~p at ~ts", [ToolModule, ToolPath]), + init_tool_extensions(ToolModule), [{property_test_tool, ToolModule} | Config] end; not_found -> - ct:pal("No property tester found",[]), + ct:log("No property tester found",[]), {skip, "No property testing tool found"} end. - + +init_tool_extensions(proper) -> + ProperExtDir = code:lib_dir(common_test, proper_ext), + true = code:add_patha(ProperExtDir), + ct:pal("Added ~ts to code path~n", [ProperExtDir]), + ok; +init_tool_extensions(_) -> + ok. + %%%---------------------------------------------------------------- %%% %%% Call the found property tester (if any) @@ -200,7 +208,7 @@ compile_tests(Path, Config) -> ok -> case file:list_dir(".") of {ok,[]} -> - ct:pal("No files found in ~tp", [Path]), + ct:log("No files found in ~tp", [Path]), ok = file:set_cwd(Cwd), {skip, "No files found"}; {ok,FileNames} -> @@ -209,7 +217,7 @@ compile_tests(Path, Config) -> ErlFiles = [F || F<-FileNames, filename:extension(F) == ".erl"], _ = [file:delete(F) || F<-BeamFiles], - ct:pal("Compiling in ~tp~n" + ct:log("Compiling in ~tp~n" " Deleted: ~p~n" " ErlFiles: ~tp~n" " MacroDefs: ~p", diff --git a/lib/common_test/src/ct_run.erl b/lib/common_test/src/ct_run.erl index 71d7f6092c85..e16dc79c2780 100644 --- a/lib/common_test/src/ct_run.erl +++ b/lib/common_test/src/ct_run.erl @@ -59,6 +59,7 @@ config = [], event_handlers = [], ct_hooks = [], + ct_hooks_order, enable_builtin_hooks, include = [], auto_compile, @@ -248,6 +249,10 @@ script_start1(Parent, Args) -> end, Args), EvHandlers = event_handler_args2opts(Args), CTHooks = ct_hooks_args2opts(Args), + CTHooksOrder = get_start_opt(ct_hooks_order, + fun([CTHO]) -> list_to_atom(CTHO); + ([]) -> undefined + end, undefined, Args), EnableBuiltinHooks = get_start_opt(enable_builtin_hooks, fun([CT]) -> list_to_atom(CT); ([]) -> undefined @@ -352,6 +357,7 @@ script_start1(Parent, Args) -> verbosity = Verbosity, event_handlers = EvHandlers, ct_hooks = CTHooks, + ct_hooks_order = CTHooksOrder, enable_builtin_hooks = EnableBuiltinHooks, auto_compile = AutoCompile, abort_if_missing_suites = AbortIfMissing, @@ -539,6 +545,10 @@ combine_test_opts(TS, Specs, Opts) -> [Opts#opts.ct_hooks, TSOpts#opts.ct_hooks]), + AllCTHooksOrder = + choose_val(Opts#opts.ct_hooks_order, + TSOpts#opts.ct_hooks_order), + EnableBuiltinHooks = choose_val( Opts#opts.enable_builtin_hooks, @@ -603,6 +613,7 @@ combine_test_opts(TS, Specs, Opts) -> config = TSOpts#opts.config, event_handlers = AllEvHs, ct_hooks = AllCTHooks, + ct_hooks_order = AllCTHooksOrder, enable_builtin_hooks = EnableBuiltinHooks, stylesheet = Stylesheet, auto_compile = AutoCompile, @@ -614,14 +625,16 @@ combine_test_opts(TS, Specs, Opts) -> check_and_install_configfiles( Configs, LogDir, #opts{ - event_handlers = EvHandlers, - ct_hooks = CTHooks, - enable_builtin_hooks = EnableBuiltinHooks} ) -> + event_handlers = EvHandlers, + ct_hooks = CTHooks, + ct_hooks_order = CTHooksOrder, + enable_builtin_hooks = EnableBuiltinHooks} ) -> case ct_config:check_config_files(Configs) of false -> install([{config,Configs}, {event_handler,EvHandlers}, {ct_hooks,CTHooks}, + {ct_hooks_order,CTHooksOrder}, {enable_builtin_hooks,EnableBuiltinHooks}], LogDir); {value,{error,{nofile,File}}} -> {error,{cant_read_config_file,File}}; @@ -753,6 +766,7 @@ script_usage() -> "\n\t [-cover_stop Bool]" "\n\t [-event_handler EvHandler1 EvHandler2 .. EvHandlerN]" "\n\t [-ct_hooks CTHook1 CTHook2 .. CTHookN]" + "\n\t [-ct_hooks_order test | config]" "\n\t [-include InclDir1 InclDir2 .. InclDirN]" "\n\t [-no_auto_compile]" "\n\t [-abort_if_missing_suites]" @@ -799,22 +813,7 @@ script_usage() -> io:format("Run CT in interactive mode:\n\n" "\tct_run -shell" "\n\t [-config ConfigFile1 ConfigFile2 .. ConfigFileN]" - "\n\t [-decrypt_key Key] | [-decrypt_file KeyFile]\n\n"), - io:format("Run tests in web based GUI:\n\n" - "\n\t [-config ConfigFile1 ConfigFile2 .. ConfigFileN]" - "\n\t [-decrypt_key Key] | [-decrypt_file KeyFile]" - "\n\t [-dir TestDir1 TestDir2 .. TestDirN] |" - "\n\t [-suite Suite [-case Case]]" - "\n\t [-logopts LogOpt1 LogOpt2 .. LogOptN]" - "\n\t [-verbosity GenVLvl | [CategoryVLvl1 .. CategoryVLvlN]]" - "\n\t [-include InclDir1 InclDir2 .. InclDirN]" - "\n\t [-no_auto_compile]" - "\n\t [-abort_if_missing_suites]" - "\n\t [-multiply_timetraps N]" - "\n\t [-scale_timetraps]" - "\n\t [-create_priv_dir auto_per_run | auto_per_tc | manual_per_tc]" - "\n\t [-basic_html]" - "\n\t [-no_esc_chars]\n\n"). + "\n\t [-decrypt_key Key] | [-decrypt_file KeyFile]\n\n"). install(Opts) -> install(Opts, "."). @@ -972,6 +971,11 @@ run_test2(StartOpts) -> %% CT Hooks CTHooks = get_start_opt(ct_hooks, value, [], StartOpts), + CTHooksOrder = get_start_opt(ct_hooks_order, + fun(CHO) when CHO == test; + CHO == config -> + CHO + end, undefined, StartOpts), EnableBuiltinHooks = get_start_opt(enable_builtin_hooks, fun(EBH) when EBH == true; EBH == false -> @@ -1088,6 +1092,7 @@ run_test2(StartOpts) -> verbosity = Verbosity, event_handlers = EvHandlers, ct_hooks = CTHooks, + ct_hooks_order = CTHooksOrder, enable_builtin_hooks = EnableBuiltinHooks, auto_compile = AutoCompile, abort_if_missing_suites = AbortIfMissing, @@ -1215,6 +1220,7 @@ run_dir(Opts = #opts{logdir = LogDir, config = CfgFiles, event_handlers = EvHandlers, ct_hooks = CTHook, + ct_hooks_order = CTHooksOrder, enable_builtin_hooks = EnableBuiltinHooks}, StartOpts) -> LogDir1 = which(logdir, LogDir), @@ -1241,6 +1247,7 @@ run_dir(Opts = #opts{logdir = LogDir, case install([{config,AbsCfgFiles}, {event_handler,EvHandlers}, {ct_hooks, CTHook}, + {ct_hooks_order, CTHooksOrder}, {enable_builtin_hooks,EnableBuiltinHooks}], LogDir1) of ok -> ok; {error,_IReason} = IError -> exit(IError) @@ -1432,6 +1439,7 @@ get_data_for_node(#testspec{label = Labels, userconfig = UsrCfgs, event_handler = EvHs, ct_hooks = CTHooks, + ct_hooks_order = CTHooksOrder, enable_builtin_hooks = EnableBuiltinHooks, auto_compile = ACs, abort_if_missing_suites = AiMSs, @@ -1486,6 +1494,7 @@ get_data_for_node(#testspec{label = Labels, config = ConfigFiles, event_handlers = EvHandlers, ct_hooks = FiltCTHooks, + ct_hooks_order = CTHooksOrder, enable_builtin_hooks = EnableBuiltinHooks, auto_compile = AutoCompile, abort_if_missing_suites = AbortIfMissing, diff --git a/lib/common_test/src/ct_telnet.erl b/lib/common_test/src/ct_telnet.erl index d6c69329ad7d..e06b6a5ef2e1 100644 --- a/lib/common_test/src/ct_telnet.erl +++ b/lib/common_test/src/ct_telnet.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2003-2021. All Rights Reserved. +%% Copyright Ericsson AB 2003-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -1224,37 +1224,36 @@ split_lines([Char|Rest],Line,Lines) -> split_lines([],Line,Lines) -> {Lines,lists:reverse(Line)}. - -match_prompt(Str,Prx) -> - match_prompt(Str,Prx,[]). -match_prompt(Str,Prx,Acc) -> +match_prompt(Str, Prx) -> + match_prompt(unicode:characters_to_binary(Str), Prx, []). +match_prompt(Str, Prx, Acc) -> case re:run(Str,Prx,[unicode]) of - nomatch -> - noprompt; - {match,[{Start,Len}]} -> - case split_prompt_string(Str,Start+1,Start+Len,1,[],[]) of - {noprompt,Done,Rest} -> - match_prompt(Rest,Prx,Done); - {prompt,UptoPrompt,Prompt,Rest} -> - {prompt,lists:reverse(UptoPrompt++Acc), - lists:reverse(Prompt),Rest} - end + nomatch -> + noprompt; + {match,[{Start,Len}]} -> + <> = Str, + case validate_prompt(Start, UptoPrompt, Prompt) of + ok -> + {prompt, + unicode:characters_to_list([lists:reverse(Acc), UptoPrompt, Prompt]), + unicode:characters_to_list(Prompt), + unicode:characters_to_list(Rest)}; + recurse -> + <> = Str, + match_prompt(Cont, Prx, [Skip|Acc]) + end end. -split_prompt_string([Ch|Str],Start,End,N,UptoPrompt,Prompt) when N - split_prompt_string(Str,Start,End,N+1,[Ch|UptoPrompt],Prompt); -split_prompt_string([Ch|Str],Start,End,N,UptoPrompt,Prompt) - when N>=Start, N - split_prompt_string(Str,Start,End,N+1,UptoPrompt,[Ch|Prompt]); -split_prompt_string([Ch|Rest],_Start,End,N,UptoPrompt,Prompt) when N==End -> - case UptoPrompt of - [$",$=,$T,$P,$M,$O,$R,$P|_] -> - %% This is a line from "listenv", it is not a real prompt - {noprompt,[Ch|Prompt]++UptoPrompt,Rest}; - [$\s,$t,$s,$a|_] when Prompt==":nigol" -> - %% This is probably the "Last login:" statement which is - %% written when telnet connection is opened. - {noprompt,[Ch|Prompt]++UptoPrompt,Rest}; - _ -> - {prompt,[Ch|Prompt]++UptoPrompt,[Ch|Prompt],Rest} +validate_prompt(Size, PrePrompt, Prompt) -> + case PrePrompt of + %% This is a line from "listenv", it is not a real prompt + <<_:(Size-8)/binary, "PROMPT=\"", _/binary>> -> + recurse; + %% This is probably the "Last login:" statement which is + %% written when telnet connection is opened. + <<_:(Size-5)/binary, _L:8, "ast ", _/binary>> + when Prompt =:= <<"login: ">> -> + recurse; + _ -> + ok end. diff --git a/lib/common_test/src/ct_testspec.erl b/lib/common_test/src/ct_testspec.erl index 9b63c0d60b6a..1b9fc8ee156a 100644 --- a/lib/common_test/src/ct_testspec.erl +++ b/lib/common_test/src/ct_testspec.erl @@ -981,6 +981,9 @@ add_tests([{event_handler,Node,HOrHs,Args}|Ts],Spec) -> add_tests([{enable_builtin_hooks,Bool}|Ts],Spec) -> add_tests(Ts, Spec#testspec{enable_builtin_hooks = Bool}); +add_tests([{ct_hooks_order,Order}|Ts],Spec) -> + add_tests(Ts, Spec#testspec{ct_hooks_order = Order}); + add_tests([{release_shell,Bool}|Ts],Spec) -> add_tests(Ts, Spec#testspec{release_shell = Bool}); @@ -1592,6 +1595,7 @@ valid_terms() -> {event_handler,4}, {ct_hooks,2}, {ct_hooks,3}, + {ct_hooks_order,2}, {enable_builtin_hooks,2}, {release_shell,2}, {multiply_timetraps,2}, diff --git a/lib/common_test/src/ct_util.hrl b/lib/common_test/src/ct_util.hrl index 7eba02d1482a..e0145b05888c 100644 --- a/lib/common_test/src/ct_util.hrl +++ b/lib/common_test/src/ct_util.hrl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2003-2020. All Rights Reserved. +%% Copyright Ericsson AB 2003-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -47,6 +47,7 @@ userconfig=[], event_handler=[], ct_hooks=[], + ct_hooks_order, enable_builtin_hooks=true, release_shell=false, include=[], diff --git a/lib/common_test/src/test_server.erl b/lib/common_test/src/test_server.erl index d6a882e31523..260fc46a1fc8 100644 --- a/lib/common_test/src/test_server.erl +++ b/lib/common_test/src/test_server.erl @@ -561,8 +561,16 @@ run_test_case_msgloop(#st{ref=Ref,pid=Pid,end_conf_pid=EndConfPid0}=St0) -> handle_tc_exit(Reason, St0) end, run_test_case_msgloop(St); - {EndConfPid0,{call_end_conf,Data,_Result}} -> - #st{mf={Mod,Func},config=CurrConf} = St0, + {EndConfPid0,{call_end_conf,Data,EndConf,_Result}} -> + #st{mf={Mod,Func},config=CurrConfFromState} = St0, + CurrConf = case EndConf of + [] -> + %% use latest stored Config + CurrConfFromState; + _ -> + %% use latest Config prepared in pre_end_per_testcase + EndConf + end, case CurrConf of _ when is_list(CurrConf) -> {_Mod,_Func,TCPid,TCExitReason,Loc} = Data, @@ -742,7 +750,7 @@ call_end_conf(Mod,Func,TCPid,TCExitReason,Loc,Conf,TVal) -> case erlang:function_exported(Mod,end_per_testcase,2) of false -> spawn_link(fun() -> - Starter ! {self(),{call_end_conf,Data,ok}} + Starter ! {self(),{call_end_conf,Data,[],ok}} end); true -> do_call_end_conf(Starter,Mod,Func,Data,TCExitReason,Conf,TVal) @@ -776,15 +784,18 @@ do_call_end_conf(Starter,Mod,Func,Data,TCExitReason,Conf,TVal) -> print_end_conf_result(Mod,Func,Conf, "crashed",Error) end, - Supervisor ! {self(),end_conf} + Supervisor ! {self(),end_conf, EndConf} end, Pid = spawn_link(EndConfApply), receive - {Pid,end_conf} -> - Starter ! {self(),{call_end_conf,Data,ok}}; + {Pid,end_conf, EndConf} -> + %% Return EndConf to parent process to + %% post_end_per_testcase callback can receive latest + %% Config returned from pre_end_per_testcase + Starter ! {self(),{call_end_conf,Data,EndConf,ok}}; {'EXIT',Pid,Reason} -> print_end_conf_result(Mod,Func,Conf,"failed",Reason), - Starter ! {self(),{call_end_conf,Data,{error,Reason}}}; + Starter ! {self(),{call_end_conf,Data,[],{error,Reason}}}; {'EXIT',_OtherPid,Reason} -> %% Probably the parent - not much to do about that exit(Reason) @@ -1863,22 +1874,14 @@ log(Msg) -> ok. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% capture_start() -> ok -%% capture_stop() -> ok -%% -%% Starts/stops capturing all output from io:format, and similar. Capturing -%% output doesn't stop output from happening. It just makes it possible -%% to retrieve the output using capture_get/0. -%% Starting and stopping capture doesn't affect already captured output. -%% All output is stored as messages in the message queue until retrieved +%% @see test_server_gl:capture_start/2 capture_start() -> - group_leader() ! {capture,self()}, - ok. + test_server_gl:capture_start(group_leader(), self()). +%% @see test_server_gl:capture_stop/1 capture_stop() -> - group_leader() ! {capture,false}, - ok. + test_server_gl:capture_stop(group_leader()). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% capture_get() -> Output diff --git a/lib/common_test/src/test_server_gl.erl b/lib/common_test/src/test_server_gl.erl index 24dd5cd54c86..bf968dc6b6e5 100644 --- a/lib/common_test/src/test_server_gl.erl +++ b/lib/common_test/src/test_server_gl.erl @@ -25,7 +25,8 @@ -module(test_server_gl). -export([start_link/1,stop/1,set_minor_fd/3,unset_minor_fd/1, - get_tc_supervisor/1,print/4,set_props/2]). + get_tc_supervisor/1,print/4,set_props/2, + capture_start/2, capture_stop/1]). -export([init/1,handle_call/3,handle_cast/2,handle_info/2,terminate/2]). @@ -88,6 +89,24 @@ set_minor_fd(GL, Fd, MFA) -> unset_minor_fd(GL) -> req(GL, unset_minor_fd). +%% capture_start(GL, Who) +%% GL = Pid for the group leader process +%% Who = Process that wants to start capturing output +%% +%% capture_stop(GL) +%% GL = Pid for the group leader process +%% +%% Starts/stops capturing all output from io:format, and similar. Capturing +%% output doesn't stop output from happening. It just makes it possible +%% to retrieve the output using capture_get/0. +%% Starting and stopping capture doesn't affect already captured output. +%% All output is stored as messages in the message queue until retrieved. + +capture_start(GL, Who) -> + req(GL, {capture, Who}). + +capture_stop(GL) -> + req(GL, {capture, false}). %% get_tc_supervisor(GL) %% GL = Pid for the group leader process @@ -165,7 +184,13 @@ handle_call({set_props,PropList}, _From, St) -> {reply,ok,do_set_props(PropList, St)}; handle_call({print,Detail,Msg,Printer}, {From,_}, St) -> output(Detail, Msg, Printer, From, St), - {reply,ok,St}. + {reply,ok,St}; +handle_call({capture, Who}, {_From, _}, St) -> + Cap = case Who of + false -> none; + Pid when is_pid(Pid) -> Pid + end, + {reply, ok, St#st{capture=Cap}}. handle_cast(stop, St) -> {stop,normal,St}. @@ -185,12 +210,6 @@ handle_info({'DOWN',Ref,process,_,_}, #st{tsio_monitor=Ref}=St) -> {stop,normal,St}; handle_info({permit_io,Pid}, #st{permit_io=P}=St) -> {noreply,St#st{permit_io=gb_sets:add(Pid, P)}}; -handle_info({capture,Cap0}, St) -> - Cap = case Cap0 of - false -> none; - Pid when is_pid(Cap0) -> Pid - end, - {noreply,St#st{capture=Cap}}; handle_info({io_request,From,ReplyAs,Req}=IoReq, St) -> _ = try io_req(Req, From, St) of passthrough -> diff --git a/lib/common_test/src/test_server_node.erl b/lib/common_test/src/test_server_node.erl index 17a56503551a..bb4f0ed0b90e 100644 --- a/lib/common_test/src/test_server_node.erl +++ b/lib/common_test/src/test_server_node.erl @@ -18,7 +18,7 @@ %% %CopyrightEnd% %% -module(test_server_node). --compile(r22). +-compile(r24). %% Test Controller interface -export([is_release_available/1, find_release/1]). diff --git a/lib/common_test/test/ct_hooks_SUITE.erl b/lib/common_test/test/ct_hooks_SUITE.erl index 0133d8f371b1..a59bc3bd5a3e 100644 --- a/lib/common_test/test/ct_hooks_SUITE.erl +++ b/lib/common_test/test/ct_hooks_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2009-2021. All Rights Reserved. +%% Copyright Ericsson AB 2009-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -28,14 +28,22 @@ %%%------------------------------------------------------------------- -module(ct_hooks_SUITE). --compile(export_all). +-compile([export_all, nowarn_export_all]). -include_lib("common_test/include/ct.hrl"). -include_lib("common_test/include/ct_event.hrl"). -include_lib("kernel/src/logger_internal.hrl"). -define(eh, ct_test_support_eh). - +-define(cth_event3(CALLBACK, SUITE, VAR1), + {?eh, cth, {'_', CALLBACK, + [SUITE, VAR1, '_']}}). +-define(cth_event4(CALLBACK, SUITE, VAR1, VAR2), + {?eh, cth, {'_', CALLBACK, + [SUITE, VAR1, VAR2, '_']}}). +-define(cth_event5(CALLBACK, SUITE, VAR1, VAR2, VAR3), + {?eh, cth, {'_', CALLBACK, + [SUITE, VAR1, VAR2, VAR3, '_']}}). %%-------------------------------------------------------------------- %% TEST SERVER CALLBACK FUNCTIONS %%-------------------------------------------------------------------- @@ -96,6 +104,9 @@ all(suite) -> fail_post_suite_cth, skip_pre_suite_cth, skip_pre_end_cth, skip_pre_init_tc_cth, fail_post_init_tc_cth, skip_post_suite_cth, recover_post_suite_cth, update_config_cth, + update_config_cth2, + ct_hooks_order_test_cth, ct_hooks_order_config_suite_cth, + ct_hooks_order_config_ips_cth, state_update_cth, update_result_cth, options_cth, same_id_cth, fail_n_skip_with_minimal_cth, prio_cth, no_config, no_init_suite_config, no_init_config, no_end_config, @@ -226,6 +237,22 @@ recover_post_suite_cth(Config) when is_list(Config) -> update_config_cth(Config) when is_list(Config) -> do_test(update_config_cth, "ct_update_config_SUITE.erl", [update_config_cth],Config). +%% no init/end_per_testcase functions in suite +update_config_cth2(Config) when is_list(Config) -> + do_test(update_config_cth2, "ct_update_config_SUITE2.erl", + [update_config_cth],Config). + +ct_hooks_order_test_cth(Config) when is_list(Config) -> + do_test(ct_hooks_order_test_cth, "ct_hooks_order_test_SUITE.erl", + [ct_hooks_order_a_cth, ct_hooks_order_b_cth],Config). + +ct_hooks_order_config_suite_cth(Config) when is_list(Config) -> + do_test(ct_hooks_order_config_suite_cth, "ct_hooks_order_config_suite_SUITE.erl", + [ct_hooks_order_a_cth, ct_hooks_order_b_cth],Config). + +ct_hooks_order_config_ips_cth(Config) when is_list(Config) -> + do_test(ct_hooks_order_config_ips_cth, "ct_hooks_order_config_ips_SUITE.erl", + [ct_hooks_order_a_cth, ct_hooks_order_b_cth],Config). state_update_cth(Config) when is_list(Config) -> do_test(state_update_cth, "ct_cth_fail_one_skip_one_SUITE.erl", @@ -1193,122 +1220,207 @@ test_events(recover_post_suite_cth) -> ]; test_events(update_config_cth) -> - [ - {?eh,start_logging,{'DEF','RUNDIR'}}, - {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}}, - {?eh,cth,{'_',init,['_',[]]}}, - - {?eh,tc_start,{ct_update_config_SUITE,init_per_suite}}, - {?eh,cth,{'_',pre_init_per_suite, - [ct_update_config_SUITE,contains([]),[]]}}, - {?eh,cth,{'_',post_init_per_suite, - [ct_update_config_SUITE, - '$proplist', - contains( - [init_per_suite, - pre_init_per_suite]), - []]}}, - {?eh,tc_done,{ct_update_config_SUITE,init_per_suite,ok}}, - - {?eh,tc_start,{ct_update_config_SUITE, {init_per_group,group1,[]}}}, - {?eh,cth,{'_',pre_init_per_group, - [ct_update_config_SUITE, - group1,contains( - [post_init_per_suite, - init_per_suite, - pre_init_per_suite]), - []]}}, - {?eh,cth,{'_',post_init_per_group, - [ct_update_config_SUITE, - group1, - contains( - [post_init_per_suite, - init_per_suite, - pre_init_per_suite]), - contains( - [init_per_group, - pre_init_per_group, - post_init_per_suite, - init_per_suite, - pre_init_per_suite]), - []]}}, - {?eh,tc_done,{ct_update_config_SUITE,{init_per_group,group1,[]},ok}}, - - {?eh,tc_start,{ct_update_config_SUITE,test_case}}, - {?eh,cth,{'_',pre_init_per_testcase, - [ct_update_config_SUITE, - test_case,contains( - [post_init_per_group, - init_per_group, - pre_init_per_group, - post_init_per_suite, - init_per_suite, - pre_init_per_suite]), - []]}}, - {?eh,cth,{'_',post_end_per_testcase, - [ct_update_config_SUITE, - test_case,contains( - [init_per_testcase, - pre_init_per_testcase, - post_init_per_group, - init_per_group, - pre_init_per_group, - post_init_per_suite, - init_per_suite, - pre_init_per_suite]), - ok,[]]}}, - {?eh,tc_done,{ct_update_config_SUITE,test_case,ok}}, - - {?eh,tc_start,{ct_update_config_SUITE, {end_per_group,group1,[]}}}, - {?eh,cth,{'_',pre_end_per_group, - [ct_update_config_SUITE, - group1,contains( - [post_init_per_group, - init_per_group, - pre_init_per_group, - post_init_per_suite, - init_per_suite, - pre_init_per_suite]), - []]}}, - {?eh,cth,{'_',post_end_per_group, - [ct_update_config_SUITE, - group1, - contains( - [pre_end_per_group, - post_init_per_group, - init_per_group, - pre_init_per_group, - post_init_per_suite, - init_per_suite, - pre_init_per_suite]), - ok,[]]}}, - {?eh,tc_done,{ct_update_config_SUITE,{end_per_group,group1,[]},ok}}, - - {?eh,tc_start,{ct_update_config_SUITE,end_per_suite}}, - {?eh,cth,{'_',pre_end_per_suite, - [ct_update_config_SUITE,contains( - [post_init_per_suite, - init_per_suite, - pre_init_per_suite]), - []]}}, - {?eh,cth,{'_',post_end_per_suite, - [ct_update_config_SUITE,contains( - [pre_end_per_suite, - post_init_per_suite, - init_per_suite, - pre_init_per_suite]), - '_',[]]}}, - {?eh,tc_done,{ct_update_config_SUITE,end_per_suite,ok}}, - {?eh,test_done,{'DEF','STOP_TIME'}}, - {?eh,cth,{'_',terminate,[contains( - [post_end_per_suite, - pre_end_per_suite, - post_init_per_suite, - init_per_suite, - pre_init_per_suite])]}}, - {?eh,stop_logging,[]} - ]; - + Suite = ct_update_config_SUITE, + TestCaseEvents = + fun(Case, Result) -> + [ + {?eh,tc_start,{Suite,Case}}, + {?eh,cth,{'_',pre_init_per_testcase, + [Suite, + Case,contains( + [post_init_per_group, + init_per_group, + pre_init_per_group, + post_init_per_suite, + init_per_suite, + pre_init_per_suite]), + []]}}, + {?eh,cth,{'_',post_init_per_testcase, + [Suite, + Case,contains( + [init_per_testcase, + pre_init_per_testcase, + post_init_per_group, + init_per_group, + pre_init_per_group, + post_init_per_suite, + init_per_suite, + pre_init_per_suite]), + ok,[]]}}, + {?eh,cth,{'_',pre_end_per_testcase, + [Suite, + Case,contains( + [post_init_per_testcase, + init_per_testcase, + pre_init_per_testcase, + post_init_per_group, + init_per_group, + pre_init_per_group, + post_init_per_suite, + init_per_suite, + pre_init_per_suite]), + []]}}, + {?eh,cth,{'_',post_end_per_testcase, + [Suite, + Case,contains( + [pre_end_per_testcase, + post_init_per_testcase, + init_per_testcase, + pre_init_per_testcase, + post_init_per_group, + init_per_group, + pre_init_per_group, + post_init_per_suite, + init_per_suite, + pre_init_per_suite]), + Result,[]]}}, + {?eh,tc_done,{Suite,Case,ok}} + ] + end, + update_config_cth_test_events(TestCaseEvents, Suite); +test_events(update_config_cth2) -> + Suite = ct_update_config_SUITE2, + TestCaseEvents = + fun(Case, Result) -> + {PreEndPerTestcaseHookEventAdd, PostEndPerTestcaseEventAdd} = + %% Case below is unexpected thing which needs clarification + %% test_case_timetrap should behave the same + case lists:member(Case, [test_case_timetrap]) of + true -> + {[], []}; + _ -> + { + [{?eh,cth,{'_',pre_end_per_testcase, + [Suite, + Case,contains( + [post_init_per_testcase, + %% init_per_testcase, + pre_init_per_testcase, + post_init_per_group, + init_per_group, + pre_init_per_group, + post_init_per_suite, + init_per_suite, + pre_init_per_suite]), + []]}}], [pre_end_per_testcase]} + end, + [ + {?eh,tc_start,{Suite,Case}}, + {?eh,cth,{'_',pre_init_per_testcase, + [Suite, + Case,contains( + [post_init_per_group, + init_per_group, + pre_init_per_group, + post_init_per_suite, + init_per_suite, + pre_init_per_suite]), + []]}}, + {?eh,cth,{'_',post_init_per_testcase, + [Suite, + Case,contains( + [ + %% init_per_testcase, + pre_init_per_testcase, + post_init_per_group, + init_per_group, + pre_init_per_group, + post_init_per_suite, + init_per_suite, + pre_init_per_suite + ]), + ok,[]]}}] ++ + PreEndPerTestcaseHookEventAdd ++ + [{?eh,cth,{'_',post_end_per_testcase, + [Suite, + Case,contains(PostEndPerTestcaseEventAdd ++ + [post_init_per_testcase, + %% init_per_testcase, + pre_init_per_testcase, + post_init_per_group, + init_per_group, + pre_init_per_group, + post_init_per_suite, + init_per_suite, + pre_init_per_suite]), + Result,[]]}}, + {?eh,tc_done,{Suite,Case,ok}} + ] + end, + update_config_cth_test_events(TestCaseEvents, Suite); +test_events(ct_hooks_order_test_cth) -> + Suite = ct_hooks_order_test_SUITE, + Recipe = + [{pre_ips_1, [], []}, + {pre_ips_2, [pre_ips_a], []}, + {post_ips_1, [ips, pre_ips_b], pre_ips_2}, + {post_ips_2, [post_ips_a], post_ips_1}, + {pre_ipg_1, [post_ips_b], post_ips_2}, + {pre_ipg_2, [pre_ipg_a], pre_ipg_1}, + {post_ipg_1, [ipg, pre_ipg_b], pre_ipg_2}, + {post_ipg_2, [post_ipg_a], post_ipg_1}, + {pre_ipt_1, [post_ipg_b], post_ipg_2}, + {pre_ipt_2, [pre_ipt_a], pre_ipt_1}, + {post_ipt_1, [ipt, pre_ipt_b], pre_ipt_2}, + {post_ipt_2, [post_ipt_a], post_ipt_1}, + + %% "Test centric" (default mode) end functions + %% Pivot point (testcase) after which hook order is reversed (B hook executed as 1st) + {pre_ept_1, [post_ipt_b], post_ipt_2}, + {pre_ept_2, [pre_ept_b], pre_ept_1}, + {post_ept_1, [pre_ept_a], pre_ept_2}, + {post_ept_2, [post_ept_b], post_ept_1}, + {pre_epg_1, [], pre_ipt_1}, + {pre_epg_2, [pre_epg_b], pre_epg_1}, + {post_epg_1, [pre_epg_a], pre_epg_2}, + {post_epg_2, [post_epg_b], post_epg_1}, + {pre_eps_1, [], post_ips_2}, + {pre_eps_2, [pre_eps_b], pre_eps_1}, + {post_eps_1, [pre_eps_a], pre_eps_2}, + {post_eps_2, [post_eps_b], post_eps_1} + ], + hooks_order_events_helper(Suite, Recipe); +test_events(TC) when TC == ct_hooks_order_config_suite_cth; + TC == ct_hooks_order_config_ips_cth -> + Suite = case TC of + ct_hooks_order_config_suite_cth -> + ct_hooks_order_config_suite_SUITE; + _ -> + ct_hooks_order_config_ips_SUITE + end, + Recipe = + [{pre_ips_1, [], []}, + {pre_ips_2, [pre_ips_a], []}, + %% "Config centric" post functions have reversed execution order (B hook executed 1st) + {post_ips_1, [ips, pre_ips_b], pre_ips_2}, + {post_ips_2, [post_ips_b], post_ips_1}, + + {pre_ipg_1, [post_ips_a], post_ips_2}, + {pre_ipg_2, [pre_ipg_a], pre_ipg_1}, + {post_ipg_1, [ipg, pre_ipg_b], pre_ipg_2}, + {post_ipg_2, [post_ipg_b], post_ipg_1}, + + {pre_ipt_1, [post_ipg_a], post_ipg_2}, + {pre_ipt_2, [pre_ipt_a], pre_ipt_1}, + {post_ipt_1, [ipt, pre_ipt_b], pre_ipt_2}, + {post_ipt_2, [post_ipt_b], post_ipt_1}, + + {pre_ept_1, [post_ipt_a], post_ipt_2}, + {pre_ept_2, [pre_ept_a], pre_ept_1}, + {post_ept_1, [pre_ept_b], pre_ept_2}, + {post_ept_2, [post_ept_b], post_ept_1}, + + {pre_epg_1, [], pre_ipt_1}, + {pre_epg_2, [pre_epg_a], pre_epg_1}, + {post_epg_1, [pre_epg_b], pre_epg_2}, + {post_epg_2, [post_epg_b], post_epg_1}, + + {pre_eps_1, [], post_ips_2}, + {pre_eps_2, [pre_eps_a], pre_eps_1}, + {post_eps_1, [pre_eps_b], pre_eps_2}, + {post_eps_2, [post_eps_b], post_eps_1} + ], + hooks_order_events_helper(Suite, Recipe); test_events(state_update_cth) -> [ {?eh,start_logging,{'DEF','RUNDIR'}}, @@ -2823,6 +2935,113 @@ test_events(crash_all) -> test_events(ok) -> ok. +update_config_cth_test_events(TestCaseEvents, Suite) -> + MaybeEndPerTestcaseCrashEvents = + case Suite of + ct_update_config_SUITE -> + TestCaseEvents(test_case_timetrap_end_per_testcase_crash, + {timetrap_timeout,1000}) ++ + TestCaseEvents(test_case_badmatch, + {error, {{badmatch,2}, '_'}}) ++ + TestCaseEvents(test_case_spawn_crash, {'EXIT',bam}); + _ -> + [] + end, + [ + {?eh,start_logging,{'DEF','RUNDIR'}}, + {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}}, + {?eh,cth,{'_',init,['_',[]]}}, + + {?eh,tc_start,{Suite,init_per_suite}}, + {?eh,cth,{'_',pre_init_per_suite, + [Suite,contains([]),[]]}}, + {?eh,cth,{'_',post_init_per_suite, + [Suite, + '$proplist', + contains( + [init_per_suite, + pre_init_per_suite]), + []]}}, + {?eh,tc_done,{Suite,init_per_suite,ok}}, + + {?eh,tc_start,{Suite, {init_per_group,group1,[]}}}, + {?eh,cth,{'_',pre_init_per_group, + [Suite, + group1,contains( + [post_init_per_suite, + init_per_suite, + pre_init_per_suite]), + []]}}, + {?eh,cth,{'_',post_init_per_group, + [Suite, + group1, + contains( + [post_init_per_suite, + init_per_suite, + pre_init_per_suite]), + contains( + [init_per_group, + pre_init_per_group, + post_init_per_suite, + init_per_suite, + pre_init_per_suite]), + []]}}, + {?eh,tc_done,{Suite,{init_per_group,group1,[]},ok}}] ++ + TestCaseEvents(test_case, ok) ++ + TestCaseEvents(test_case_fail, + {error,{test_case_failed,because_i_want_failure}}) ++ + TestCaseEvents(test_case_timetrap, {timetrap_timeout,1000}) ++ + MaybeEndPerTestcaseCrashEvents ++ + [{?eh,tc_start,{Suite, {end_per_group,group1,[]}}}, + {?eh,cth,{'_',pre_end_per_group, + [Suite, + group1,contains( + [post_init_per_group, + init_per_group, + pre_init_per_group, + post_init_per_suite, + init_per_suite, + pre_init_per_suite]), + []]}}, + {?eh,cth,{'_',post_end_per_group, + [Suite, + group1, + contains( + [pre_end_per_group, + post_init_per_group, + init_per_group, + pre_init_per_group, + post_init_per_suite, + init_per_suite, + pre_init_per_suite]), + ok,[]]}}, + {?eh,tc_done,{Suite,{end_per_group,group1,[]},ok}}, + + {?eh,tc_start,{Suite,end_per_suite}}, + {?eh,cth,{'_',pre_end_per_suite, + [Suite,contains( + [post_init_per_suite, + init_per_suite, + pre_init_per_suite]), + []]}}, + {?eh,cth,{'_',post_end_per_suite, + [Suite,contains( + [pre_end_per_suite, + post_init_per_suite, + init_per_suite, + pre_init_per_suite]), + '_',[]]}}, + {?eh,tc_done,{Suite,end_per_suite,ok}}, + {?eh,test_done,{'DEF','STOP_TIME'}}, + {?eh,cth,{'_',terminate,[contains( + [post_end_per_suite, + pre_end_per_suite, + post_init_per_suite, + init_per_suite, + pre_init_per_suite])]}}, + {?eh,stop_logging,[]} + ]. + %% test events help functions contains(List) -> fun(Proplist) when is_list(Proplist) -> @@ -2860,3 +3079,82 @@ not_contains(List) -> Test <- List, Test =:= Ele] end. + +hooks_order_events_helper(Suite, Recipe) -> + BuildSettingsMap = + fun F([{NewKey, Addition, []} | T], Acc) -> + F(T, Acc#{NewKey => Addition}); + F([{NewKey, Addition, RefKey} | T], Acc) -> + V = fun(Key, Map) -> maps:get(Key, Map) end, + F(T, Acc#{NewKey => Addition ++ V(RefKey, Acc)}); + F([], Acc) -> + Acc + end, + ExpectedExeSeq = BuildSettingsMap(Recipe, #{}), + Print = fun(Key, Map) -> + io_lib:format("~n~10s || ~s", + [atom_to_list(Key), + [io_lib:format("~s|", [I])|| + I <- lists:reverse(maps:get(Key, Map))]]) + end, + ExpectedExeSeqStr = [Print(Key, ExpectedExeSeq) || {Key, _, _} <- Recipe], + ct:log("~n~nLegend: ips - init_per_suite, ipg - init_per_group, " + "ipt - init_per_testcase~n~n" + "SLOT || EXPECTED EXECUTION SEQUENCE~n" + "-----------++----------------------------~s", [ExpectedExeSeqStr]), + M = ExpectedExeSeq, + V = fun(Key, Map) -> maps:get(Key, Map) end, + [{?eh,start_logging,{'DEF','RUNDIR'}}, + {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}}, + {?eh,cth,{'_',init,['_',[]]}}, + + {?eh,tc_start,{Suite,init_per_suite}}, + ?cth_event3(pre_init_per_suite, Suite, contains(V(pre_ips_1, M))), + ?cth_event3(pre_init_per_suite, Suite, contains(V(pre_ips_2, M))), + ?cth_event4(post_init_per_suite, Suite, '$proplist', contains(V(post_ips_1, M))), + ?cth_event4(post_init_per_suite, Suite, '$proplist', contains(V(post_ips_2, M))), + {?eh,tc_done,{Suite,init_per_suite,ok}}, + {?eh,tc_start,{Suite, {init_per_group,group1,[]}}}, + ?cth_event4(pre_init_per_group, Suite, group1, contains(V(pre_ipg_1, M))), + ?cth_event4(pre_init_per_group, Suite, group1, contains(V(pre_ipg_2, M))), + ?cth_event5(post_init_per_group, Suite, group1, + '$proplist', contains(V(post_ipg_1, M))), + ?cth_event5(post_init_per_group, Suite, group1, + '$proplist', contains(V(post_ipg_2, M))), + {?eh,tc_done,{Suite,{init_per_group,group1,[]},ok}}, + + {?eh,tc_start,{Suite,test_case}}, + ?cth_event4(pre_init_per_testcase, Suite, test_case, contains(V(pre_ipt_1, M))), + ?cth_event4(pre_init_per_testcase, Suite, test_case, contains(V(pre_ipt_2, M))), + ?cth_event5(post_init_per_testcase, Suite, test_case, + contains(V(post_ipt_1, M)), ok), + ?cth_event5(post_init_per_testcase, Suite, test_case, + '$proplist', contains(V(post_ipt_2, M))), + ?cth_event4(pre_end_per_testcase, Suite, test_case, contains(V(pre_ept_1, M))), + ?cth_event4(pre_end_per_testcase, Suite, test_case, contains(V(pre_ept_2, M))), + ?cth_event5(post_end_per_testcase, Suite, test_case, + contains(V(post_ept_1, M)), ok), + ?cth_event5(post_end_per_testcase, Suite, test_case, + '$proplist', contains(V(post_ept_2, M))), + {?eh,tc_done,{Suite,test_case,ok}}, + + {?eh,tc_start,{Suite, {end_per_group,group1,[]}}}, + ?cth_event4(pre_end_per_group, Suite, group1, contains(V(pre_epg_1, M))), + ?cth_event4(pre_end_per_group, Suite, group1, contains(V(pre_epg_2, M))), + ?cth_event5(post_end_per_group, Suite, group1, + contains(V(post_epg_1, M)), ok), + ?cth_event5(post_end_per_group, Suite, group1, + '$proplist', contains(V(post_epg_2, M))), + {?eh,tc_done,{Suite,{end_per_group,group1,[]},ok}}, + + {?eh,tc_start,{Suite,end_per_suite}}, + ?cth_event3(pre_end_per_suite, Suite, contains(V(pre_eps_1, M))), + ?cth_event3(pre_end_per_suite, Suite, contains(V(pre_eps_2, M))), + ?cth_event4(post_end_per_suite, Suite, + contains(V(post_eps_1, M)), + ok), + ?cth_event4(post_end_per_suite, Suite, '$proplist', contains(V(post_eps_1, M))), + {?eh,tc_done,{Suite,end_per_suite,ok}}, + {?eh,test_done,{'DEF','STOP_TIME'}}, + {?eh,stop_logging,[]} + ]. diff --git a/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_cth_prio_SUITE.erl b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_cth_prio_SUITE.erl index 0de27621bb89..c06c701e2a18 100644 --- a/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_cth_prio_SUITE.erl +++ b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_cth_prio_SUITE.erl @@ -1,8 +1,8 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2010-2016. All Rights Reserved. -%% +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2010-2023. All Rights Reserved. +%% %% 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 @@ -14,50 +14,50 @@ %% 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. -%% -%% %CopyrightEnd% -%% - --module(ct_cth_prio_SUITE). - -%% Note: This directive should only be used in test suites. --compile(export_all). - --include("ct.hrl"). - -suite() -> - ([{timetrap, {minutes, 10}}, - {ct_hooks, [{empty_cth,[800],800}, - {prio_cth,[1200]},{prio_cth,[1200,1050],1050}]}]). - -%% Test server callback functions -init_per_suite(Config) -> - [{ct_hooks, [{empty_cth,[700],700}, - {prio_cth,[600,600]}, - {prio_cth,[600,200],200}]}|Config]. - -end_per_suite(_Config) -> - ok. - -init_per_group(_G, Config) -> - [{ct_hooks, [{empty_cth,[600],600}, - {prio_cth,[900,900]},{prio_cth,[500,900],900}]}|Config]. - -end_per_group(_G, _Config) -> - ok. - -init_per_testcase(_TestCase, Config) -> - Config. - -end_per_testcase(_TestCase, _Config) -> - ok. - -all() -> - [{group,test_group}]. - -groups() -> - [{test_group,[],[test_case]}]. - -%% Test cases starts here. -test_case(Config) when is_list(Config) -> - ok. +%% +%% %CopyrightEnd% +%% + +-module(ct_cth_prio_SUITE). + +%% Note: This directive should only be used in test suites. +-compile(export_all). + +-include("ct.hrl"). + +suite() -> + ([{timetrap, {minutes, 10}}, + {ct_hooks, [{empty_cth,[800],800}, + {prio_cth,[1200]},{prio_cth,[1200,1050],1050}]}]). + +%% Test server callback functions +init_per_suite(Config) -> + [{ct_hooks, [{empty_cth,[700],700}, + {prio_cth,[600,600]}, + {prio_cth,[600,200],200}]}|Config]. + +end_per_suite(_Config) -> + ok. + +init_per_group(_G, Config) -> + [{ct_hooks, [{empty_cth,[600],600}, + {prio_cth,[900,900]},{prio_cth,[500,900],900}]}|Config]. + +end_per_group(_G, _Config) -> + ok. + +init_per_testcase(_TestCase, Config) -> + Config. + +end_per_testcase(_TestCase, _Config) -> + ok. + +all() -> + [{group,test_group}]. + +groups() -> + [{test_group,[],[test_case]}]. + +%% Test cases starts here. +test_case(Config) when is_list(Config) -> + ok. diff --git a/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_a_cth.erl b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_a_cth.erl new file mode 100644 index 000000000000..ddb829dcbb24 --- /dev/null +++ b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_a_cth.erl @@ -0,0 +1,96 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +-module(ct_hooks_order_a_cth). + +-include_lib("common_test/src/ct_util.hrl"). +-include_lib("common_test/include/ct_event.hrl"). + +-define(now, ct_test_support:unique_timestamp()). +-define(ADD_LOC(L), [{self(), ?MODULE, ?FUNCTION_NAME} | L]). + +%% CT Hooks +-compile([export_all, nowarn_export_all]). + +init(Id, Opts) -> + empty_cth:init(Id, Opts). + +pre_init_per_suite(Suite, Config, State) -> + empty_cth:pre_init_per_suite(Suite,Config,?ADD_LOC(State)), + {[{pre_ips_a,?now}|Config],State}. + +post_init_per_suite(Suite,Config,Return,State) -> + empty_cth:post_init_per_suite(Suite,Config,Return,?ADD_LOC(State)), + {[{post_ips_a,?now}|Return],State}. + +pre_end_per_suite(Suite,Config,State) -> + empty_cth:pre_end_per_suite(Suite,Config,?ADD_LOC(State)), + {[{pre_eps_a,?now}|Config],State}. + +post_end_per_suite(Suite,Config,Return,State) -> + empty_cth:post_end_per_suite(Suite,Config,Return,?ADD_LOC(State)), + {[{post_eps_a,?now}|Config],State}. + +pre_init_per_group(Suite, Group,Config,State) -> + empty_cth:pre_init_per_group(Suite,Group,Config,?ADD_LOC(State)), + {[{pre_ipg_a,?now}|Config],State}. + +post_init_per_group(Suite,Group,Config,Return,State) -> + empty_cth:post_init_per_group(Suite,Group,Config,Return,?ADD_LOC(State)), + {[{post_ipg_a,?now}|Return],State}. + +pre_end_per_group(Suite,Group,Config,State) -> + empty_cth:pre_end_per_group(Suite,Group,Config,?ADD_LOC(State)), + {[{pre_epg_a,?now}|Config],State}. + +post_end_per_group(Suite,Group,Config,Return,State) -> + empty_cth:post_end_per_group(Suite,Group,Config,Return,?ADD_LOC(State)), + {[{post_epg_a,?now}|Config],State}. + +pre_init_per_testcase(Suite,TC,Config,State) -> + empty_cth:pre_init_per_testcase(Suite,TC,Config,?ADD_LOC(State)), + {[{pre_ipt_a,?now}|Config],State}. + +post_init_per_testcase(Suite,TC,Config,Return,State) -> + empty_cth:post_init_per_testcase(Suite,TC,Config,Return,?ADD_LOC(State)), + Data = case Return of + ok -> + Config; + Return when is_list(Return) -> + Return + end, + {[{post_ipt_a,?now}|Data],State}. + +pre_end_per_testcase(Suite,TC,Config,State) -> + empty_cth:pre_end_per_testcase(Suite,TC,Config,?ADD_LOC(State)), + {[{pre_ept_a,?now}|Config],State}. + +post_end_per_testcase(Suite,TC,Config,Return,State) -> + empty_cth:post_end_per_testcase(Suite,TC,Config,Return,?ADD_LOC(State)), + {[{post_ept_a,?now}|Config],State}. + +on_tc_fail(Suite,TC, Reason, State) -> + empty_cth:on_tc_fail(Suite,TC,Reason,?ADD_LOC(State)). + +on_tc_skip(Suite,TC, Reason, State) -> + empty_cth:on_tc_skip(Suite,TC,Reason,?ADD_LOC(State)). + +terminate(State) -> + empty_cth:terminate(?ADD_LOC(State)). diff --git a/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_b_cth.erl b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_b_cth.erl new file mode 100644 index 000000000000..f8aba2fc10c0 --- /dev/null +++ b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_b_cth.erl @@ -0,0 +1,97 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + + +-module(ct_hooks_order_b_cth). + +-include_lib("common_test/src/ct_util.hrl"). +-include_lib("common_test/include/ct_event.hrl"). + +-define(now, ct_test_support:unique_timestamp()). +-define(ADD_LOC(L), [{self(), ?MODULE, ?FUNCTION_NAME} | L]). + +%% CT Hooks +-compile([export_all, nowarn_export_all]). + +init(Id, Opts) -> + empty_cth:init(Id, Opts). + +pre_init_per_suite(Suite, Config, State) -> + empty_cth:pre_init_per_suite(Suite,Config,?ADD_LOC(State)), + {[{pre_ips_b,?now}|Config],State}. + +post_init_per_suite(Suite,Config,Return,State) -> + empty_cth:post_init_per_suite(Suite,Config,Return,?ADD_LOC(State)), + {[{post_ips_b,?now}|Return],State}. + +pre_end_per_suite(Suite,Config,State) -> + empty_cth:pre_end_per_suite(Suite,Config,?ADD_LOC(State)), + {[{pre_eps_b,?now}|Config],State}. + +post_end_per_suite(Suite,Config,Return,State) -> + empty_cth:post_end_per_suite(Suite,Config,Return,?ADD_LOC(State)), + {[{post_eps_b,?now}|Config],State}. + +pre_init_per_group(Suite, Group,Config,State) -> + empty_cth:pre_init_per_group(Suite,Group,Config,?ADD_LOC(State)), + {[{pre_ipg_b,?now}|Config],State}. + +post_init_per_group(Suite,Group,Config,Return,State) -> + empty_cth:post_init_per_group(Suite,Group,Config,Return,?ADD_LOC(State)), + {[{post_ipg_b,?now}|Return],State}. + +pre_end_per_group(Suite,Group,Config,State) -> + empty_cth:pre_end_per_group(Suite,Group,Config,?ADD_LOC(State)), + {[{pre_epg_b,?now}|Config],State}. + +post_end_per_group(Suite,Group,Config,Return,State) -> + empty_cth:post_end_per_group(Suite,Group,Config,Return,?ADD_LOC(State)), + {[{post_epg_b,?now}|Config],State}. + +pre_init_per_testcase(Suite,TC,Config,State) -> + empty_cth:pre_init_per_testcase(Suite,TC,Config,?ADD_LOC(State)), + {[{pre_ipt_b,?now}|Config],State}. + +post_init_per_testcase(Suite,TC,Config,Return,State) -> + empty_cth:post_init_per_testcase(Suite,TC,Config,Return,?ADD_LOC(State)), + Data = case Return of + ok -> + Config; + Return when is_list(Return) -> + Return + end, + {[{post_ipt_b,?now}|Data],State}. + +pre_end_per_testcase(Suite,TC,Config,State) -> + empty_cth:pre_end_per_testcase(Suite,TC,Config,?ADD_LOC(State)), + {[{pre_ept_b,?now}|Config],State}. + +post_end_per_testcase(Suite,TC,Config,Return,State) -> + empty_cth:post_end_per_testcase(Suite,TC,Config,Return,?ADD_LOC(State)), + {[{post_ept_b,?now}|Config],State}. + +on_tc_fail(Suite,TC, Reason, State) -> + empty_cth:on_tc_fail(Suite,TC,Reason,?ADD_LOC(State)). + +on_tc_skip(Suite,TC, Reason, State) -> + empty_cth:on_tc_skip(Suite,TC,Reason,?ADD_LOC(State)). + +terminate(State) -> + empty_cth:terminate(?ADD_LOC(State)). diff --git a/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_config_ips_SUITE.erl b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_config_ips_SUITE.erl new file mode 100644 index 000000000000..00063e65ba0a --- /dev/null +++ b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_config_ips_SUITE.erl @@ -0,0 +1,71 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +-module(ct_hooks_order_config_ips_SUITE). + +-suite_defaults([{timetrap, {minutes, 10}}]). + +%% Note: This directive should only be used in test suites. +-compile([export_all, nowarn_export_all]). + +-include("ct.hrl"). + +-define(now, ct_test_support:unique_timestamp()). + +suite() -> + []. + +%% Test server callback functions +init_per_suite(Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + [{ips, ?now}, {ct_hooks_order, config} | Config]. + +end_per_suite(Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + %% result from end functions is not provided to any other callback + Config. + +init_per_testcase(_TestCase, Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + [{ipt, ?now} | Config]. + +end_per_testcase(_TestCase, Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + %% result from end functions is not provided to any other callback + Config. + +init_per_group(_GroupName, Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + [{ipg, ?now} | Config]. + +end_per_group(_GroupName, Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + %% result from end functions is not provided to any other callback + Config. + +all() -> + [{group,group1}]. + +groups() -> + [{group1,[],[test_case]}]. + +test_case(Config) when is_list(Config) -> + ok. + diff --git a/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_config_suite_SUITE.erl b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_config_suite_SUITE.erl new file mode 100644 index 000000000000..90b15d9ec456 --- /dev/null +++ b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_config_suite_SUITE.erl @@ -0,0 +1,71 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +-module(ct_hooks_order_config_suite_SUITE). + +-suite_defaults([{timetrap, {minutes, 10}}]). + +%% Note: This directive should only be used in test suites. +-compile([export_all, nowarn_export_all]). + +-include("ct.hrl"). + +-define(now, ct_test_support:unique_timestamp()). + +suite() -> + [{ct_hooks_order, config}]. + +%% Test server callback functions +init_per_suite(Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + [{ips, ?now} | Config]. + +end_per_suite(Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + %% result from end functions is not provided to any other callback + Config. + +init_per_testcase(_TestCase, Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + [{ipt, ?now} | Config]. + +end_per_testcase(_TestCase, Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + %% result from end functions is not provided to any other callback + Config. + +init_per_group(_GroupName, Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + [{ipg, ?now} | Config]. + +end_per_group(_GroupName, Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + %% result from end functions is not provided to any other callback + Config. + +all() -> + [{group,group1}]. + +groups() -> + [{group1,[],[test_case]}]. + +test_case(Config) when is_list(Config) -> + ok. + diff --git a/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_test_SUITE.erl b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_test_SUITE.erl new file mode 100644 index 000000000000..13b92ea8e73c --- /dev/null +++ b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_hooks_order_test_SUITE.erl @@ -0,0 +1,72 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +-module(ct_hooks_order_test_SUITE). + +-suite_defaults([{timetrap, {minutes, 10}}]). + +%% Note: This directive should only be used in test suites. +-compile([export_all, nowarn_export_all]). + +-include("ct.hrl"). + +-define(now, ct_test_support:unique_timestamp()). + +suite() -> + [{ct_hooks_order, test}]. % default + +%% Test server callback functions +init_per_suite(Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + [{ips, ?now} | Config]. + +end_per_suite(Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + %% result from end functions is not provided to any other callback + Config. + +init_per_testcase(_TestCase, Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + [{ipt, ?now} | Config]. + +end_per_testcase(_TestCase, Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + %% result from end functions is not provided to any other callback + Config. + +init_per_group(_GroupName, Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + [{ipg, ?now} | Config]. + +end_per_group(_GroupName, Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + %% result from end functions is not provided to any other callback + Config. + +all() -> + [{group,group1}]. + +groups() -> + [{group1,[],[test_case]}]. + +test_case(Config) when is_list(Config) -> + undefined = proplists:get_value(ct_hooks_order, Config), + ok. + diff --git a/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_update_config_SUITE.erl b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_update_config_SUITE.erl index 20f139bcc84c..2205bb465eba 100644 --- a/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_update_config_SUITE.erl +++ b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_update_config_SUITE.erl @@ -23,7 +23,7 @@ -suite_defaults([{timetrap, {minutes, 10}}]). %% Note: This directive should only be used in test suites. --compile(export_all). +-compile([export_all, nowarn_export_all]). -include("ct.hrl"). @@ -39,21 +39,53 @@ end_per_suite(_Config) -> init_per_testcase(_TestCase, Config) -> [{init_per_testcase,?now}|Config]. +end_per_testcase(test_case_timetrap_end_per_testcase_crash, _Config) -> + 1/0, % invoke code crash + ok; end_per_testcase(_TestCase, _Config) -> ok. -init_per_group(GroupName, Config) -> +init_per_group(_GroupName, Config) -> [{init_per_group,?now}|Config]. -end_per_group(GroupName, Config) -> +end_per_group(_GroupName, _Config) -> ok. all() -> [{group,group1}]. groups() -> - [{group1,[],[test_case]}]. - -%% Test cases starts here. + [{group1,[],[test_case, + test_case_fail, + test_case_timetrap, + test_case_timetrap_end_per_testcase_crash, + test_case_badmatch, + test_case_spawn_crash]}]. + test_case(Config) when is_list(Config) -> ok. + +test_case_fail(Config) when is_list(Config) -> + ct:fail(because_i_want_failure). + +test_case_timetrap() -> + [{timetrap, {seconds, 1}}]. + +test_case_timetrap(_) -> + ct:sleep(infinity). + +test_case_badmatch(_) -> + 1 = 2. + +%% test case is a slightly different flow, but at the moment behavior should be +%% the same as for test_case_timetrap, as crash in end_per_testcase is catched +%% in test_server module +test_case_timetrap_end_per_testcase_crash() -> + [{timetrap, {seconds, 1}}]. + +test_case_timetrap_end_per_testcase_crash(Config) when is_list(Config) -> + ct:sleep(infinity). + +test_case_spawn_crash(_Config) -> + spawn_link(fun() -> error(bam) end), + ct:sleep(infinity). diff --git a/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_update_config_SUITE2.erl b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_update_config_SUITE2.erl new file mode 100644 index 000000000000..7fda6354b512 --- /dev/null +++ b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_update_config_SUITE2.erl @@ -0,0 +1,62 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +-module(ct_update_config_SUITE2). + +-suite_defaults([{timetrap, {minutes, 10}}]). + +%% Note: This directive should only be used in test suites. +-compile([export_all, nowarn_export_all]). +-include("ct.hrl"). + +-define(now, ct_test_support:unique_timestamp()). + +%% Test server callback functions +init_per_suite(Config) -> + [{init_per_suite,?now}|Config]. + +end_per_suite(_Config) -> + ok. + +init_per_group(_GroupName, Config) -> + [{init_per_group,?now}|Config]. + +end_per_group(_GroupName, _Config) -> + ok. + +all() -> + [{group,group1}]. + +groups() -> + [{group1,[],[test_case, + test_case_fail, + test_case_timetrap]}]. + +test_case(Config) when is_list(Config) -> + ok. + +test_case_fail(Config) when is_list(Config) -> + ct:fail(because_i_want_failure). + +test_case_timetrap() -> + [{timetrap, {seconds, 1}}]. + +test_case_timetrap(_) -> + ct:sleep(infinity). diff --git a/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/update_config_cth.erl b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/update_config_cth.erl index 7b0c1f599fe9..35885b4f32e5 100644 --- a/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/update_config_cth.erl +++ b/lib/common_test/test/ct_hooks_SUITE_data/cth/tests/update_config_cth.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2010-2017. All Rights Reserved. +%% Copyright Ericsson AB 2010-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -18,10 +18,8 @@ %% %CopyrightEnd% %% - -module(update_config_cth). - -include_lib("common_test/src/ct_util.hrl"). -include_lib("common_test/include/ct_event.hrl"). diff --git a/lib/common_test/test/ct_misc_1_SUITE.erl b/lib/common_test/test/ct_misc_1_SUITE.erl index 4c3d279a826e..f1d783fc8da5 100644 --- a/lib/common_test/test/ct_misc_1_SUITE.erl +++ b/lib/common_test/test/ct_misc_1_SUITE.erl @@ -60,7 +60,7 @@ end_per_testcase(TestCase, Config) -> suite() -> [{ct_hooks,[ts_install_cth]}]. all() -> - [beam_me_up, {group,parse_table}]. + [beam_me_up, {group,parse_table}, groups_bad_1]. groups() -> [{parse_table,[parallel], @@ -169,6 +169,29 @@ parse_table_one_column_multiline(Config) when is_list(Config) -> String = ["|test|","|test","value|"], {{"test"},[{"test\nvalue"}]} = ct:parse_table(String). + + +%%%----------------------------------------------------------------- +%%% + +groups_bad_1(Config) when is_list(Config) -> + DataDir = ?config(data_dir, Config), + Suite = filename:join(DataDir, "bad_groups_SUITE"), + {Opts,ERPid} = setup([{suite,Suite}, + {label,groups_bad_1}], Config), + + ok = ct_test_support:run(Opts, Config), + Events = ct_test_support:get_events(ERPid, Config), + + ct_test_support:log_events(bad_groups, + reformat(Events, ?eh), + ?config(priv_dir, Config), + Opts), + + TestEvents = test_events(groups_bad_1), + ok = ct_test_support:verify_events(TestEvents, Events, Config). + + %%%----------------------------------------------------------------- %%% HELP FUNCTIONS @@ -226,4 +249,32 @@ test_events(beam_me_up) -> {?eh,tc_done,{beam_2_SUITE,end_per_suite,ok}}, {?eh,test_done,{'DEF','STOP_TIME'}}, {?eh,stop_logging,[]} + ]; + +test_events(groups_bad_1) -> + [ + {?eh,start_logging,{'DEF','RUNDIR'}}, + {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}}, + {?eh,start_info,{1,0,0}}, + {?eh,tc_start,{ct_framework,error_in_suite}}, + {?eh,test_stats,{0,1,{0,0}}}, + {?eh,tc_done, + {ct_framework,error_in_suite, + {failed, + {error, + 'Invalid reference to group unexist in bad_groups_SUITE:all/0'}}}}, + {?eh,test_done,{'DEF','STOP_TIME'}}, + {?eh,stop_logging,[]}, + {?eh,start_logging,{'DEF','RUNDIR'}}, + {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}}, + {?eh,start_info,{1,0,0}}, + {?eh,tc_start,{ct_framework,error_in_suite}}, + {?eh,test_stats,{0,1,{0,0}}}, + {?eh,tc_done, + {ct_framework,error_in_suite, + {failed, + {error, + 'Invalid reference to group unexist in bad_groups_SUITE:all/0'}}}}, + {?eh,test_done,{'DEF','STOP_TIME'}}, + {?eh,stop_logging,[]} ]. diff --git a/lib/common_test/test/ct_misc_1_SUITE_data/bad_groups_SUITE.erl b/lib/common_test/test/ct_misc_1_SUITE_data/bad_groups_SUITE.erl new file mode 100644 index 000000000000..8c5180ddf7a1 --- /dev/null +++ b/lib/common_test/test/ct_misc_1_SUITE_data/bad_groups_SUITE.erl @@ -0,0 +1,37 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2009-2016. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% + + +-module(bad_groups_SUITE). +-compile(export_all). +-compile(nowarn_export_all). + +all() -> + [ + {group, exist}, + {group, unexist} + ]. + +groups() -> + [ + {exist, [], [test1]} + ]. + +test1(_) -> + ok. diff --git a/lib/common_test/test/ct_test_support.erl b/lib/common_test/test/ct_test_support.erl index 3b7fc70313fc..b9b5ef78464f 100644 --- a/lib/common_test/test/ct_test_support.erl +++ b/lib/common_test/test/ct_test_support.erl @@ -46,6 +46,8 @@ -export([unique_timestamp/0]). -export([rm_dir/1]). +%% Tracing +-export([handle_trace/3]). -include_lib("kernel/include/file.hrl"). @@ -522,7 +524,7 @@ verify_events(TEvs, Evs, Node, Config) -> verify_events1([TestEv|_], [{TEH,#event{name=stop_logging,node=Node,data=_}}|_], Node, _) when element(1,TestEv) == TEH, element(2,TestEv) =/= stop_logging -> - test_server:format("Failed to find ~tp in the list of events!~n", [TestEv]), + test_server:format("(I) Failed to find ~tp in the list of events!~n", [TestEv]), exit({event_not_found,TestEv}); verify_events1(TEvs = [TestEv | TestEvs], Evs = [_|Events], Node, Config) -> @@ -545,7 +547,7 @@ verify_events1(TEvs = [TestEv | TestEvs], Evs = [_|Events], Node, Config) -> end; verify_events1([TestEv|_], [], _, _) -> - test_server:format("Failed to find ~tp in the list of events!~n", [TestEv]), + test_server:format("(II) Failed to find ~tp in the list of events!~n", [TestEv]), exit({event_not_found,TestEv}); verify_events1([], Evs, _, Config) -> @@ -1469,3 +1471,14 @@ slave_stop(Node) -> receive {nodedown, Node} -> ok after 0 -> ok end %flush end, ok. + +%%%################################################################ +%%%# +%%%# Tracing +%%%# +handle_trace(ct, + {return_from, {?MODULE, start_slave, 3}, Return}, + Stack) -> + {io_lib:format("CT Node = ~p", + [proplists:get_value(ct_node, Return, not_found)]), Stack}. + diff --git a/lib/common_test/test/ct_testspec_2_SUITE.erl b/lib/common_test/test/ct_testspec_2_SUITE.erl index 1bab80942aee..6678c4c2237b 100644 --- a/lib/common_test/test/ct_testspec_2_SUITE.erl +++ b/lib/common_test/test/ct_testspec_2_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2009-2016. All Rights Reserved. +%% Copyright Ericsson AB 2009-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -152,6 +152,7 @@ basic_compatible_no_nodes(_Config) -> {event_handler,[evh2,evh3],[[2,3]]}, {ct_hooks,[{cth_mod1,[]}]}, {ct_hooks,[{cth_mod2,[]}]}, + {ct_hooks_order,config}, {multiply_timetraps,2}, {include,IncludeDir1}, {include,IncludeDir2}, @@ -198,6 +199,7 @@ basic_compatible_no_nodes(_Config) -> {Node,evh3,[[2,3]]}], ct_hooks = [{Node,{cth_mod1,[]}}, {Node,{cth_mod2,[]}}], + ct_hooks_order = config, enable_builtin_hooks = true, release_shell = false, include = Incls, @@ -274,6 +276,7 @@ basic_compatible_nodes(_Config) -> {event_handler,[n1,n2],[evh2,evh3],[[2,3]]}, {ct_hooks,all_nodes,[{cth_mod1,[]}]}, {ct_hooks,[{cth_mod2,[]}]}, + {ct_hooks_order, config}, {multiply_timetraps,node1@host1,2}, {include,n1,IncludeDir1}, {include,[n1,n2],IncludeDir2}, @@ -342,6 +345,7 @@ basic_compatible_nodes(_Config) -> {Node,{cth_mod2,[]}}, {Node1,{cth_mod2,[]}}, {Node2,{cth_mod2,[]}}], + ct_hooks_order = config, enable_builtin_hooks = true, release_shell = false, include = Incls, diff --git a/lib/common_test/test/telnet_server.erl b/lib/common_test/test/telnet_server.erl index cef778433344..c0eaed29cd78 100644 --- a/lib/common_test/test/telnet_server.erl +++ b/lib/common_test/test/telnet_server.erl @@ -1,5 +1,6 @@ -module(telnet_server). -compile(export_all). +-compile([export_all,nowarn_export_all]). %% telnet control characters -define(SE, 240). @@ -306,7 +307,7 @@ check_user(User,State) -> check_pwd(Pwd,#state{authorized={user,Pwd}}=State) -> dbg("password ok\n"), - send("Welcome to the ultimate telnet server!\r\n> ",State), + send("Welcomé to the ultimate telnet server!\r\n> ",State), {ok,State#state{authorized=true}}; check_pwd(_,_State) -> throw({error,authentication}). diff --git a/lib/compiler/doc/src/notes.xml b/lib/compiler/doc/src/notes.xml index 4e90f2a7587b..589bde09ba18 100644 --- a/lib/compiler/doc/src/notes.xml +++ b/lib/compiler/doc/src/notes.xml @@ -32,6 +32,102 @@

This document describes the changes made to the Compiler application.

+
Compiler 8.3.2 + +
Fixed Bugs and Malfunctions + + +

Fixed a type handling bug that would cause an internal + consistence failure for correct code.

+

+ Own Id: OTP-18625 Aux Id: GH-7354

+
+ +

Fixed a bug that could cause the stack trace of + throw exceptions to be erroneously optimized + out.

+

+ Own Id: OTP-18626 Aux Id: GH-7356

+
+ +

Complex guard expression using 'or' were not + always fully evaluated, making guards that were supposed + to fail succeed.

+

+ Own Id: OTP-18634 Aux Id: GH-7370

+
+
+
+ +
+ +
Compiler 8.3.1 + +
Fixed Bugs and Malfunctions + + +

Fixed a bug where a failing bsl expression in a + guard threw an exception instead of causing the guard to + fail.

+

+ Own Id: OTP-18576

+
+ +

Fixed a bug that would case the validator to reject + legal code.

+

+ Own Id: OTP-18581 Aux Id: GH-7251

+
+ +

The compiler could re-order clauses matching binaries + so that the incorrect clause would match. That could only + happen for code that used the option + {error_location,line} or for code without line or + column number information (e.g. generated by a parse + transform).

+

+ Own Id: OTP-18583 Aux Id: GH-7259

+
+ +

Complex guard expression using the or operator + and guard BIFs that can fail could sometimes be + miscompiled so that the guard would succeed even if a + call to a guard BIF failed.

+

+ Own Id: OTP-18593 Aux Id: GH-7252

+
+ +

With optimizations disabled, a try/catch + construct could return an incorrect value.

+

+ Own Id: OTP-18600 Aux Id: GH-7248

+
+ +

In rare circumstance, a combination of binary + construction and binary_part/3 would cause the + compiler to generate unsafe code that would crash the + runtime system.

+

+ Own Id: OTP-18601

+
+ +

The compiler could be very slow when compiling guards + with multiple guard tests separated with 'or' or + ';'.

+

+ Own Id: OTP-18617 Aux Id: GH-7338

+
+ +

Complex guard expressions using 'or' and map + updates could succeed even if the map update failed.

+

+ Own Id: OTP-18619 Aux Id: GH-7339

+
+
+
+ +
+
Compiler 8.3
Fixed Bugs and Malfunctions @@ -149,6 +245,62 @@
+
Compiler 8.2.6.3 + +
Fixed Bugs and Malfunctions + + +

Fixed a bug that could cause the stack trace of + throw exceptions to be erroneously optimized + out.

+

+ Own Id: OTP-18626 Aux Id: GH-7356

+
+
+
+ +
+ +
Compiler 8.2.6.2 + +
Fixed Bugs and Malfunctions + + +

The compiler could be very slow when compiling guards + with multiple guard tests separated with 'or' or + ';'.

+

+ Own Id: OTP-18617 Aux Id: GH-7338

+
+
+
+ +
+ +
Compiler 8.2.6.1 + +
Fixed Bugs and Malfunctions + + +

Fixed a bug where a failing bsl expression in a + guard threw an exception instead of causing the guard to + fail.

+

+ Own Id: OTP-18576

+
+ +

Complex guard expression using the or operator + and guard BIFs that can fail could sometimes be + miscompiled so that the guard would succeed even if a + call to a guard BIF failed.

+

+ Own Id: OTP-18593 Aux Id: GH-7252

+
+
+
+ +
+
Compiler 8.2.6
Fixed Bugs and Malfunctions @@ -555,6 +707,39 @@
+
Compiler 8.1.1.5 + +
Fixed Bugs and Malfunctions + + +

The compiler could be very slow when compiling guards + with multiple guard tests separated with 'or' or + ';'.

+

+ Own Id: OTP-18617 Aux Id: GH-7338

+
+
+
+ +
+ +
Compiler 8.1.1.4 + +
Fixed Bugs and Malfunctions + + +

Complex guard expression using the or operator + and guard BIFs that can fail could sometimes be + miscompiled so that the guard would succeed even if a + call to a guard BIF failed.

+

+ Own Id: OTP-18593 Aux Id: GH-7252

+
+
+
+ +
+
Compiler 8.1.1.3
Fixed Bugs and Malfunctions @@ -1033,6 +1218,42 @@
+
Compiler 7.6.9.3 + +
Fixed Bugs and Malfunctions + + +

It is not allowed to call functions from guards. The + compiler failed to reject a call in a guard when done by + constructing a record with a default initialization + expression that called a function.

+

+ Own Id: OTP-18325 Aux Id: GH-6465, GH-6466

+
+ +

Fixed a bug that could cause legal code to fail + validation.

+

+ Own Id: OTP-18365

+
+ +

The compiler would generate incorrect code for the + following type of expression:

+

Pattern = BoundVar1 = . . . = BoundVarN = + Expression

+

An exception should be raised if any of the bound + variables have different values than Expression. + The compiler would generate code that would cause the + bound variables to be bound to the value of + Expressionwhether the value matched or not.

+

+ Own Id: OTP-18470 Aux Id: GH-6873, PR-6877

+
+
+
+ +
+
Compiler 7.6.9.2
Fixed Bugs and Malfunctions diff --git a/lib/compiler/internal_doc/beam_ssa.md b/lib/compiler/internal_doc/beam_ssa.md index d32431ecff69..199e67384af0 100644 --- a/lib/compiler/internal_doc/beam_ssa.md +++ b/lib/compiler/internal_doc/beam_ssa.md @@ -123,28 +123,18 @@ apply: Variable Naming --------------- -A variable name in BEAM SSA is either an atom, a non-negative integer -or a tuple: `atom() | non_neg_integer() | {atom() | non_neg_integer(), -non_neg_integer()}`. In order to generate fresh unused variable names, -all compiler transforms maintain a counter, the `cnt`-field in the -`opt_st`-record, which is incremented each time a new variable or -label is created. In the following description the value of the -`cnt`-field is called `Cnt`. - -Due to peculiarities in the BEAM SSA code generator, a compiler -transformation unfortunately cannot just use the `cnt`-value directly -as a fresh name. There are three basic strategies for creating fresh -variable names which can by used by a compiler pass: +A variable name in BEAM SSA is either an atom or a non-negative +integer: -1) A name can be derived from an existing name of the form `V :: - atom() | non_neg_integer()` by selecting an atom, which is unique to - the compiler pass, to form a new name `{A, V}`. The same `A` cannot - be used by strategy 3) below. + atom() | non_neg_integer() -2) A name can be derived from an existing name of the form `V :: - non_neg_integer()` by combining it with the `cnt`-field into `{V, - Cnt}`. +In order to generate fresh unused variable names, all compiler +transforms maintain a counter, the `cnt`-field in the `b_function` and +`opt_st` records, which is incremented each time a new variable or +label is created. In the following description the value of the +`cnt`-field is called `Cnt`. The `Cnt` value is guaranteed to never +clash with a previously defined variable name. Therefore, value of +`Cnt` can directly be used as a variable name in the SSA passes. -3) A fresh name can be created by selecting an atom `A`, which is - unique to the compiler pass, to form the new name `{A, Cnt}`. The - same `A` cannot be used by strategy 1) above. +Note that the rules were more complicated before Erlang/OTP 27, because +the `Cnt` value could clash with other variables. diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile index e0625337b538..7e5924142942 100644 --- a/lib/compiler/src/Makefile +++ b/lib/compiler/src/Makefile @@ -51,6 +51,7 @@ MODULES = \ beam_bounds \ beam_block \ beam_call_types \ + beam_core_to_ssa \ beam_clean \ beam_dict \ beam_digraph \ @@ -76,7 +77,6 @@ MODULES = \ beam_ssa_share \ beam_ssa_throw \ beam_ssa_type \ - beam_kernel_to_ssa \ beam_trim \ beam_types \ beam_utils \ @@ -102,9 +102,7 @@ MODULES = \ sys_core_prepare \ sys_messages \ sys_pre_attributes \ - v3_core \ - v3_kernel \ - v3_kernel_pp + v3_core BEAM_H = $(wildcard ../priv/beam_h/*.h) @@ -114,8 +112,7 @@ HRL_FILES= \ beam_ssa_opt.hrl \ beam_ssa.hrl \ beam_types.hrl \ - core_parse.hrl \ - v3_kernel.hrl + core_parse.hrl YRL_FILE = core_parse.yrl @@ -206,14 +203,14 @@ release_docs_spec: $(EBIN)/beam_a.beam: beam_asm.hrl beam_types.hrl $(EBIN)/beam_asm.beam: beam_asm.hrl $(EGEN)/beam_opcodes.hrl beam_types.hrl -$(EBIN)/beam_call_types.beam: beam_types.hrl $(EBIN)/beam_block.beam: beam_asm.hrl +$(EBIN)/beam_call_types.beam: beam_types.hrl +$(EBIN)/beam_core_to_ssa.beam: core_parse.hrl beam_ssa.hrl $(EBIN)/beam_dict.beam: beam_types.hrl $(EBIN)/beam_disasm.beam: $(EGEN)/beam_opcodes.hrl beam_disasm.hrl \ beam_asm.hrl beam_types.hrl $(EBIN)/beam_jump.beam: beam_asm.hrl -$(EBIN)/beam_kernel_to_ssa.beam: v3_kernel.hrl beam_ssa.hrl -$(EBIN)/beam_listing.beam: core_parse.hrl v3_kernel.hrl beam_ssa.hrl \ +$(EBIN)/beam_listing.beam: core_parse.hrl beam_ssa.hrl \ beam_asm.hrl beam_types.hrl $(EBIN)/beam_ssa.beam: beam_ssa.hrl $(EBIN)/beam_ssa_alias_opt.beam: beam_ssa_opt.hrl beam_types.hrl @@ -245,5 +242,3 @@ $(EBIN)/sys_core_fold.beam: core_parse.hrl $(EBIN)/sys_core_fold_lists.beam: core_parse.hrl $(EBIN)/sys_core_inline.beam: core_parse.hrl $(EBIN)/v3_core.beam: core_parse.hrl -$(EBIN)/v3_kernel.beam: core_parse.hrl v3_kernel.hrl -$(EBIN)/v3_kernel_pp.beam: v3_kernel.hrl diff --git a/lib/compiler/src/beam_asm.erl b/lib/compiler/src/beam_asm.erl index d959e21ea1c3..277c433013b7 100644 --- a/lib/compiler/src/beam_asm.erl +++ b/lib/compiler/src/beam_asm.erl @@ -65,7 +65,7 @@ assemble({Mod,Exp0,Attr0,Asm0,NumLabels}, ExtraChunks, CompileInfo, CompilerOpts {1,Dict0} = beam_dict:atom(Mod, beam_dict:new()), {0,Dict1} = beam_dict:fname(atom_to_list(Mod) ++ ".erl", Dict0), {0,Dict2} = beam_dict:type(any, Dict1), - Dict3 = shared_fun_wrappers(CompilerOpts, Dict2), + Dict3 = reject_unsupported_versions(Dict2), NumFuncs = length(Asm0), {Asm,Attr} = on_load(Asm0, Attr0), Exp = sets:from_list(Exp0, [{version, 2}]), @@ -73,22 +73,11 @@ assemble({Mod,Exp0,Attr0,Asm0,NumLabels}, ExtraChunks, CompileInfo, CompilerOpts build_file(Code, Attr, Dict, NumLabels, NumFuncs, ExtraChunks, CompileInfo, CompilerOpts). -shared_fun_wrappers(Opts, Dict) -> - case proplists:get_bool(no_shared_fun_wrappers, Opts) of - false -> - %% The compiler in OTP 23 depends on the on the loader - %% using the new indices in funs and being able to have - %% multiple make_fun2 instructions referring to the same - %% fun entry. Artificially set the highest opcode for the - %% module to ensure that it cannot be loaded in OTP 22 - %% and earlier. - Swap = beam_opcodes:opcode(swap, 2), - beam_dict:opcode(Swap, Dict); - true -> - %% Fun wrappers are not shared for compatibility with a - %% previous OTP release. - Dict - end. +reject_unsupported_versions(Dict) -> + %% Emit an instruction that was added in our lowest supported + %% version so that it cannot be loaded by earlier releases. + Instr = beam_opcodes:opcode(make_fun3, 3), %OTP 24 + beam_dict:opcode(Instr, Dict). on_load(Fs0, Attr0) -> case proplists:get_value(on_load, Attr0) of @@ -391,9 +380,6 @@ make_op({test,Cond,Fail,Ops}, Dict) when is_list(Ops) -> encode_op(Cond, [Fail|Ops], Dict); make_op({test,Cond,Fail,Live,[Op|Ops],Dst}, Dict) when is_list(Ops) -> encode_op(Cond, [Fail,Op,Live|Ops++[Dst]], Dict); -make_op({make_fun2,{f,Lbl},_Index,_OldUniq,NumFree}, Dict0) -> - {Fun,Dict} = beam_dict:lambda(Lbl, NumFree, Dict0), - make_op({make_fun2,Fun}, Dict); make_op({make_fun3,{f,Lbl},_Index,_OldUniq,Dst,{list,Env}}, Dict0) -> NumFree = length(Env), {Fun,Dict} = beam_dict:lambda(Lbl, NumFree, Dict0), @@ -404,8 +390,6 @@ make_op({call_fun2,{f,Lbl},Arity,Func}, Dict0) -> NumFree = TotalArity - Arity, {Lambda,Dict} = beam_dict:lambda(Lbl, NumFree, Dict0), make_op({call_fun2,Lambda,Arity,Func}, Dict); -make_op({kill,Y}, Dict) -> - make_op({init,Y}, Dict); make_op({Name,Arg1}, Dict) -> encode_op(Name, [Arg1], Dict); make_op({Name,Arg1,Arg2}, Dict) -> diff --git a/lib/compiler/src/beam_block.erl b/lib/compiler/src/beam_block.erl index b93293763d27..b6d424d09cfe 100644 --- a/lib/compiler/src/beam_block.erl +++ b/lib/compiler/src/beam_block.erl @@ -110,7 +110,6 @@ swap_opt_end(_, _, _, _) -> no. is_unused(X, [{call,A,_}|_]) when A =< X -> true; is_unused(X, [{call_ext,A,_}|_]) when A =< X -> true; -is_unused(X, [{make_fun2,_,_,_,A}|_]) when A =< X -> true; is_unused(X, [{move,Src,Dst}|Is]) -> case {Src,Dst} of {{x,X},_} -> false; diff --git a/lib/compiler/src/beam_bounds.erl b/lib/compiler/src/beam_bounds.erl index 6ac514182164..5c1b42745f2f 100644 --- a/lib/compiler/src/beam_bounds.erl +++ b/lib/compiler/src/beam_bounds.erl @@ -46,28 +46,7 @@ bounds('bnot', R0) -> case R0 of - {A, B} when is_integer(A), is_integer(B), A =/= B -> - %% While it's easy to get an exact range, doing so can make certain - %% chains of operations slow to converge, e.g. - %% - %% f(0) -> -1; f(N) -> abs(bnot f(N)). - %% - %% Where the range increases by 1 every time we pass through, - %% making it more or less impossible to reach a fixpoint. - %% - %% We therefore widen the range a bit quicker to ensure that we - %% converge on 'any' within a reasonable time frame, hoping that - %% the range will still be tight enough in the cases where we - %% don't feed the result into itself. - case {abs(A) bsr ?NUM_BITS, abs(B) bsr ?NUM_BITS} of - {0, 0} -> - Min = min(-B - 1, -(B bsl 1) - 1), - Max = max(-A - 1, -(A bsl 1) - 1), - normalize({Min, Max}); - {_, _} -> - any - end; - {A, B} -> + {A,B} -> R = {inf_add(inf_neg(B), -1), inf_add(inf_neg(A), -1)}, normalize(R); _ -> @@ -139,6 +118,9 @@ bounds('*', R1, R2) -> Min = lists:min(All), Max = lists:max(All), normalize({Min,Max}); + {{A,'+inf'}, {C,'+inf'}} when abs(A) bsr ?NUM_BITS =:= 0, A >= 0, + abs(C) bsr ?NUM_BITS =:= 0, C >= 0 -> + {A*C,'+inf'}; {{A,'+inf'}, {C,D}} when abs(A) bsr ?NUM_BITS =:= 0, abs(C) bsr ?NUM_BITS =:= 0, abs(D) bsr ?NUM_BITS =:= 0, @@ -177,12 +159,13 @@ bounds('band', R1, R2) -> end; bounds('bor', R1, R2) -> case {R1,R2} of - {{A,B}, {C,D}} when A bsr ?NUM_BITS =:= 0, A >= 0, - C bsr ?NUM_BITS =:= 0, C >= 0, - is_integer(B), is_integer(D) -> + {{A,B}, {C,D}} when A =:= '-inf' orelse abs(A) bsr ?NUM_BITS =:= 0, + C =:= '-inf' orelse abs(C) bsr ?NUM_BITS =:= 0, + B =:= '+inf' orelse abs(B) bsr ?NUM_BITS =:= 0, + D =:= '+inf' orelse abs(D) bsr ?NUM_BITS =:= 0 -> Min = min_bor(A, B, C, D), Max = max_bor(A, B, C, D), - {Min,Max}; + normalize({Min,Max}); {_, _} -> any end; @@ -207,8 +190,8 @@ bounds('bsr', R1, R2) -> end; bounds('bsl', R1, R2) -> case {R1,R2} of - {{A,B}, {C,D}} when abs(A) bsr ?NUM_BITS =:= 0, - abs(B) bsr ?NUM_BITS =:= 0 -> + {{A,B}, {C,D}} when A =:= '-inf' orelse abs(A) bsr ?NUM_BITS =:= 0, + B =:= '+inf' orelse abs(B) bsr ?NUM_BITS =:= 0 -> Min = inf_min(inf_bsl(A, C), inf_bsl(A, D)), Max = inf_max(inf_bsl(B, C), inf_bsl(B, D)), normalize({Min,Max}); @@ -216,19 +199,13 @@ bounds('bsl', R1, R2) -> any end; bounds(max, R1, R2) -> - case {R1,R2} of - {{A,B},{C,D}} -> - normalize({inf_max(A, C),inf_max(B, D)}); - {_,_} -> - any - end; + {A,B} = expand(R1), + {C,D} = expand(R2), + normalize({inf_max(A, C),inf_max(B, D)}); bounds(min, R1, R2) -> - case {R1,R2} of - {{A,B},{C,D}} -> - normalize({inf_min(A, C),inf_min(B, D)}); - {_,_} -> - any - end. + {A,B} = expand(R1), + {C,D} = expand(R2), + normalize({inf_min(A, C),inf_min(B, D)}). -spec relop(relop(), range(), range()) -> bool_result(). @@ -326,6 +303,10 @@ div_bounds({'-inf',B}, {C,D}) when is_integer(C), C > 0, is_integer(D) -> Min = '-inf', Max = max(B div C, B div D), normalize({Min,Max}); +div_bounds({A,B}, _) when is_integer(A), is_integer(B) -> + Max = max(abs(A), abs(B)), + Min = -Max, + {Min,Max}; div_bounds(_, _) -> any. @@ -342,6 +323,15 @@ rem_bounds(_, {C,D}) when is_integer(C), is_integer(D), Max = max(abs(C), abs(D)) - 1, Min = -Max, normalize({Min,Max}); +rem_bounds({A,B}, _) -> + %% The sign of the remainder is the same as the sign of the + %% left-hand side operand; it does not depend on the sign of the + %% right-hand side operand. Therefore, the range of the remainder + %% is the range of the left-hand side operand extended to always + %% include zero. + Min = inf_min(0, A), + Max = inf_max(0, B), + normalize({Min,Max}); rem_bounds(_, _) -> any. @@ -396,8 +386,13 @@ max_band(A, B, C, D, M) -> end. min_bor(A, B, C, D) -> - M = 1 bsl upper_bit(A bxor C), - min_bor(A, B, C, D, M). + case inf_lt(inf_min(A, C), 0) of + true -> + '-inf'; + false -> + M = 1 bsl upper_bit(A bxor C), + min_bor(A, B, C, D, M) + end. min_bor(A, _B, C, _D, 0) -> A bor C; @@ -421,10 +416,23 @@ min_bor(A, B, C, D, M) -> min_bor(A, B, C, D, M bsr 1) end. -max_bor(A, B, C, D) -> - Intersection = B band D, - M = 1 bsl upper_bit(Intersection), - max_bor(Intersection, A, B, C, D, M). +max_bor(A0, B, C0, D) -> + A = inf_max(A0, 0), + C = inf_max(C0, 0), + case inf_max(B, D) of + '+inf' -> + '+inf'; + Max when Max < 0 -> + %% Both B and D are negative. The intersection would be + %% infinite. + -1; + _ -> + %% At least one of B and D are positive. The intersection + %% has a finite size. + Intersection = B band D, + M = 1 bsl upper_bit(Intersection), + max_bor(Intersection, A, B, C, D, M) + end. max_bor(_Intersection, _A, B, _C, D, 0) -> B bor D; @@ -505,6 +513,9 @@ infer_relop_types_1('>', {A,B}, {C,D}) -> %%% need any special handling of '+inf'. %%% +expand(any) -> {'-inf','+inf'}; +expand({_,_}=R) -> R. + normalize({'-inf','-inf'}) -> {'-inf',-1}; normalize({'-inf','+inf'}) -> diff --git a/lib/compiler/src/beam_call_types.erl b/lib/compiler/src/beam_call_types.erl index 43240800987f..222e586a7943 100644 --- a/lib/compiler/src/beam_call_types.erl +++ b/lib/compiler/src/beam_call_types.erl @@ -76,8 +76,8 @@ will_succeed(erlang, Op, [LHS, RHS]=Args) when Op =:= 'div'; will_succeed(erlang, 'bsr'=Op, [LHS, RHS]=Args) -> case {meet(LHS, #t_integer{}), meet(RHS, #t_integer{})} of {#t_integer{elements={_,_}}=LHS, - #t_integer{elements={Shift,_}}=RHS} - when is_integer(Shift), Shift >= 0 -> + #t_integer{elements={MinShift,_}}=RHS} + when is_integer(MinShift), MinShift >= 0 -> 'yes'; {#t_integer{}, #t_integer{}} -> fails_on_conflict(erlang, Op, Args); @@ -86,8 +86,8 @@ will_succeed(erlang, 'bsr'=Op, [LHS, RHS]=Args) -> end; will_succeed(erlang, 'bsl'=Op, [LHS, RHS]=Args) -> case {meet(LHS, #t_integer{}), meet(RHS, #t_integer{})} of - {LHS, #t_integer{elements={Shift,_}}=RHS} - when is_integer(Shift), Shift < 64 -> + {LHS, #t_integer{elements={_,MaxShift}}=RHS} + when is_integer(MaxShift), MaxShift < 64 -> succeeds_if_smallish(LHS); {#t_integer{}, #t_integer{}} -> fails_on_conflict(erlang, Op, Args); @@ -424,9 +424,24 @@ types(erlang, 'bsl', [_,_]=Args) -> types(erlang, 'bsr', [_,_]=Args) -> sub_unsafe(beam_bounds_type('bsr', #t_integer{}, Args), [#t_integer{}, #t_integer{}]); -types(erlang, 'bnot', [_]=Args) -> - sub_unsafe(beam_bounds_type('bnot', #t_integer{}, Args), - [#t_integer{}]); +types(erlang, 'bnot', [_]) -> + %% Calculating the tighest possible range for the result would + %% cause the type analysis pass to loop for a very long time for + %% code such as: + %% + %% f(0) -> -1; + %% f(N) -> abs(bnot f(N)). + %% + %% By calculating looser bounds and widening the range to `any` at + %% some suitable limit, convergence can be ensured (see + %% 8e5b1fbb16d186). However, that can cause a contradiction + %% between the ranges calculated by the type pass and by + %% beam_validator. + %% + %% Therefore, don't attempt to calculate a range now. Save the + %% range calculation for the opt_ranges pass (arith_type/2), which + %% is only run once. + sub_unsafe(#t_integer{}, [#t_integer{}]); %% Fixed-type arithmetic types(erlang, 'float', [_]) -> @@ -469,6 +484,24 @@ types(erlang, Op, [LHS, RHS]) when Op =:= '+'; Op =:= '-' -> mixed_arith_types([LHS, RHS]) end; +types(erlang, '*', [LHS, RHS]) -> + case get_range(LHS, RHS, #t_number{}) of + {Type, {A,B}, {C,D}} -> + case beam_bounds:bounds('*', {A,B}, {C,D}) of + {Min,_Max} when is_integer(Min), Min >= 0 -> + R = {Min,'+inf'}, + RetType = case Type of + integer -> #t_integer{elements=R}; + number -> #t_number{elements=R} + end, + sub_unsafe(RetType, [#t_number{}, #t_number{}]); + _ -> + mixed_arith_types([LHS, RHS]) + end; + _ -> + mixed_arith_types([LHS, RHS]) + end; + types(erlang, abs, [Type]) -> case meet(Type, #t_number{}) of #t_float{} -> @@ -547,6 +580,50 @@ types(erlang, 'spawn_monitor', [_, _, _]) -> types(erlang, 'spawn_request', [_ | _]=Args) when length(Args) =< 5 -> sub_unsafe(reference, [any || _ <- Args]); +%% Conversion functions. +types(erlang, atom_to_binary, [_]) -> + sub_safe(binary(), [#t_atom{}]); +types(erlang, binary_to_integer, [_]) -> + sub_unsafe(#t_integer{}, [binary()]); +types(erlang, binary_to_list, [_]) -> + sub_safe(proper_list(), [binary()]); +types(erlang, integer_to_list, [_]) -> + sub_safe(proper_cons(), [#t_integer{}]); +types(erlang, list_to_atom, [_]) -> + sub_unsafe(#t_atom{}, [#t_list{}]); +types(erlang, list_to_tuple, [Arg]) -> + Sz = case meet(Arg, #t_list{}) of + #t_cons{} -> 1; + _ -> 0 + end, + sub_unsafe(#t_tuple{size=Sz}, [#t_list{}]); +types(erlang, term_to_binary, [_]) -> + sub_unsafe(binary(), [any]); +types(erlang, tuple_to_list, [Arg]) -> + T = case meet(Arg, #t_tuple{}) of + #t_tuple{size=Sz} when Sz >= 1 -> + proper_cons(); + _ -> + proper_list() + end, + sub_safe(T, [#t_tuple{}]); + +%% Misc functions returning integers. +types(erlang, convert_time_unit, [_, _, _]) -> + sub_unsafe(#t_integer{}, [any, any, any]); +types(erlang, monotonic_time, []) -> + sub_unsafe(#t_integer{}, []); +types(erlang, phash2, [_]) -> + R = {0, (1 bsl 27) - 1}, + sub_unsafe(#t_integer{elements=R}, [any]); +types(erlang, phash2, [_, _]) -> + R = {0, (1 bsl 32) - 1}, + sub_unsafe(#t_integer{elements=R}, [any, any]); +types(erlang, unique_integer, []) -> + sub_unsafe(#t_integer{}, []); +types(erlang, unique_integer, [_]) -> + sub_unsafe(#t_integer{}, [any]); + %% Misc ops. types(erlang, 'binary_part', [_, _]) -> PosLen = make_two_tuple(#t_integer{}, #t_integer{}), @@ -575,6 +652,13 @@ types(erlang, self, []) -> types(erlang, 'size', [_]) -> ArgType = join(#t_tuple{}, #t_bitstring{}), sub_unsafe(#t_integer{}, [ArgType]); +types(erlang, split_binary, [_, _]) -> + %% Note that, contrary to the documentation at the time of writing, + %% split_binary/2 accepts a bitstring and that it can return a + %% bitstring in the second element of the result tuple. + Binary = binary(), + T = make_two_tuple(Binary, #t_bitstring{}), + sub_unsafe(T, [#t_bitstring{}, #t_integer{}]); %% Tuple element ops types(erlang, element, [Pos, Tuple0]) -> @@ -618,25 +702,61 @@ types(erlang, make_fun, [_,_,Arity0]) -> end, sub_unsafe(Type, [#t_atom{}, #t_atom{}, #t_integer{}]); -types(erlang, Op, [LHS,RHS]) when Op =:= min; Op =:= max -> - R1 = get_range(LHS), - R2 = get_range(RHS), - R = beam_bounds:bounds(Op, R1, R2), - - %% We cannot use mixed_arith_types/1 here as we will return either argument - %% unchanged. The result will not be converted to a float if one of the - %% arguments is a float. - %% - %% 1235.0 = 1 + 1234.0 - %% 1 = erlang:min(1, 1234.0) +types(erlang, min, [LHS,RHS]) -> + R1 = case get_range(meet(LHS, #t_number{})) of + none -> any; + R10 -> R10 + end, + R2 = case get_range(meet(RHS, #t_number{})) of + none -> any; + R20 -> R20 + end, + R = beam_bounds:bounds(min, R1, R2), RetType = case {LHS, RHS} of - {#t_integer{}, #t_integer{}} -> #t_integer{elements=R}; - {#t_integer{}, #t_number{}} -> #t_number{elements=R}; - {#t_number{}, #t_integer{}} -> #t_number{elements=R}; - {#t_number{}, #t_number{}} -> #t_number{elements=R}; - {_, _} -> join(LHS, RHS) + {#t_integer{}, #t_integer{}} -> + #t_integer{elements=R}; + {#t_integer{}, _} -> + #t_number{elements=R}; + {#t_number{}, _} -> + #t_number{elements=R}; + {#t_float{}, _} -> + #t_number{elements=R}; + {_, #t_integer{}} -> + #t_number{elements=R}; + {_, #t_number{}} -> + #t_number{elements=R}; + {_, #t_float{}} -> + #t_number{elements=R}; + {_, _} -> + join(LHS, RHS) end, + sub_unsafe(RetType, [any, any]); +types(erlang, max, [LHS,RHS]) -> + RetType = + case get_range(LHS, RHS, #t_number{}) of + {_, none, _} -> + join(LHS, RHS); + {_, _, none} -> + join(LHS, RHS); + {_, R1, R2} -> + R = beam_bounds:bounds(max, R1, R2), + case {LHS, RHS} of + {#t_integer{}, #t_integer{}} -> + #t_integer{elements=R}; + {any, #t_integer{elements={Min,_}}} when is_integer(Min) -> + beam_types:subtract(any, #t_number{elements={'-inf',Min}}); + {#t_integer{elements={Min,_}}, any} when is_integer(Min) -> + beam_types:subtract(any, #t_number{elements={'-inf',Min}}); + {_, _} -> + case join(LHS, RHS) of + #t_number{} -> + #t_number{elements=R}; + Join -> + Join + end + end + end, sub_unsafe(RetType, [any, any]); types(erlang, Name, Args) -> @@ -1103,17 +1223,6 @@ beam_bounds_type(Op, Type, [LHS, RHS]) -> #t_integer{elements=beam_bounds:bounds(Op, R1, R2)}; {number, R1, R2} -> #t_number{elements=beam_bounds:bounds(Op, R1, R2)} - end; -beam_bounds_type(Op, Type, [Arg]) -> - case beam_types:meet(Arg, Type) of - #t_float{elements=R} -> - #t_float{elements=beam_bounds:bounds(Op, R)}; - #t_integer{elements=R} -> - #t_integer{elements=beam_bounds:bounds(Op, R)}; - #t_number{elements=R} -> - #t_number{elements=beam_bounds:bounds(Op, R)}; - none -> - none end. get_range(LHS, RHS, Type) -> @@ -1344,6 +1453,9 @@ proper_list() -> proper_list(ElementType) -> #t_list{type=ElementType,terminator=nil}. +binary() -> + #t_bitstring{size_unit=8}. + %% Constructs a new list type based on another, optionally keeping the same %% length and/or making it proper. -spec copy_list(List, Length, Proper) -> type() when diff --git a/lib/compiler/src/beam_clean.erl b/lib/compiler/src/beam_clean.erl index ef44bbfdf574..54cb9ec30947 100644 --- a/lib/compiler/src/beam_clean.erl +++ b/lib/compiler/src/beam_clean.erl @@ -33,8 +33,8 @@ module({Mod,Exp,Attr,Fs0,_}, Opts) -> Used = find_all_used(WorkList, All, sets:from_list(WorkList, [{version, 2}])), Fs1 = remove_unused(Order, Used, All), {Fs2,Lc} = clean_labels(Fs1), - Fs3 = fix_swap(Fs2, Opts), - Fs4 = fix_bs_create_bin(Fs3, Opts), + Fs3 = fix_bs_create_bin(Fs2, Opts), + Fs4 = fix_badrecord(Fs3, Opts), Fs = maybe_remove_lines(Fs4, Opts), {ok,{Mod,Exp,Attr,Fs,Lc}}. @@ -66,8 +66,6 @@ find_all_used([], _All, Used) -> Used. update_work_list([{call,_,{f,L}}|Is], Sets) -> update_work_list(Is, add_to_work_list(L, Sets)); -update_work_list([{make_fun2,{f,L},_,_,_}|Is], Sets) -> - update_work_list(Is, add_to_work_list(L, Sets)); update_work_list([{make_fun3,{f,L},_,_,_,_}|Is], Sets) -> update_work_list(Is, add_to_work_list(L, Sets)); update_work_list([_|Is], Sets) -> @@ -132,24 +130,6 @@ function_replace([{function,Name,Arity,Entry,Asm0}|Fs], Dict, Acc) -> function_replace(Fs, Dict, [{function,Name,Arity,Entry,Asm}|Acc]); function_replace([], _, Acc) -> Acc. -%%% -%%% If compatibility with a previous release (OTP 22 or earlier) has -%%% been requested, replace swap instructions with a sequence of moves. -%%% - -fix_swap(Fs, Opts) -> - case proplists:get_bool(no_swap, Opts) of - false -> Fs; - true -> fold_functions(fun swap_moves/1, Fs) - end. - -swap_moves([{swap,Reg1,Reg2}|Is]) -> - Temp = {x,1022}, - [{move,Reg1,Temp},{move,Reg2,Reg1},{move,Temp,Reg2}|swap_moves(Is)]; -swap_moves([I|Is]) -> - [I|swap_moves(Is)]; -swap_moves([]) -> []. - %%% %%% Remove line instructions if requested. %%% @@ -314,6 +294,28 @@ bs_puts([{atom,Type},_Seg,Unit,Flags0,Src,Size|Is], Fail) -> [I|bs_puts(Is, Fail)]; bs_puts([], _Fail) -> []. +%%% +%%% If compatibility with a previous release (OTP 24 or earlier) has +%%% been requested, eliminate badrecord instructions by translating +%%% them to calls to error({badrecord,Value}). +%%% + +fix_badrecord(Fs, Opts) -> + case proplists:get_bool(no_badrecord, Opts) of + false -> Fs; + true -> fold_functions(fun fix_badrecord/1, Fs) + end. + +fix_badrecord([{badrecord,Value}|Is]) -> + [{move,Value,{x,0}}, + {test_heap,3,1}, + {put_tuple2,{x,0},{list,[{atom,badrecord},{x,0}]}}, + {call_ext_only,1,{extfunc,erlang,error,1}}|fix_badrecord(Is)]; +fix_badrecord([I|Is]) -> + [I|fix_badrecord(Is)]; +fix_badrecord([]) -> []. + + %%% %%% Helpers. %%% diff --git a/lib/compiler/src/beam_core_to_ssa.erl b/lib/compiler/src/beam_core_to_ssa.erl new file mode 100644 index 000000000000..f4fbe0fc82fd --- /dev/null +++ b/lib/compiler/src/beam_core_to_ssa.erl @@ -0,0 +1,3228 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% +%% Purpose: Transform Core Erlang to SSA code. + +%% +%% The translation from Core Erlang to SSA code is done in three +%% passes: +%% +%% 1. Basic translation, translate variable/function names, flatten +%% completely, pattern matching compilation. To ensure unique +%% variable names we use a variable substitution table and keep the +%% set of all defined variables. The nested scoping of Core Erlang +%% means that we must also nest the substitution tables, but the +%% defined set must be passed through to match the flat structure of +%% SSA code and to make sure variables with the same name from +%% different scopes get different substitutions. +%% +%% We also use these substitutions to handle the variable renaming +%% necessary in pattern matching compilation. +%% +%% 2. Fun lifting (lambda lifting), variable usage annotation and +%% last-call handling. +%% +%% 3. Translation to SSA code. +%% +%% Historical note +%% +%% The translation from Core Erlang to SSA code used to be done +%% by two separate compiler passes: +%% +%% 1. Core Erlang was translated to Kernel Erlang by the `v3_kernel` +%% pass in two sub passes. +%% +%% 2. Kernel Erlang was translated to SSA code by the `beam_kernel_to_ssa` +%% pass. +%% +%% For the history of Kernel Erlang and Core Erlang, see the following +%% blog post: +%% +%% https://www.erlang.org/blog/beam-compiler-history +%% + +-module(beam_core_to_ssa). + +-export([module/2,format_error/1]). + +-import(lists, [all/2,append/1,droplast/1, + flatten/1,foldl/3,foldr/3, + map/2,mapfoldl/3,member/2, + keyfind/3,keysort/2,last/1, + partition/2,reverse/1,reverse/2, + sort/1,sort/2,splitwith/2, + zip/2]). +-import(ordsets, [add_element/2,del_element/2,intersection/2, + subtract/2,union/2,union/1]). + +-include("core_parse.hrl"). +-include("beam_ssa.hrl"). + +%% Matches collapse max segment in v3_core. +-define(EXPAND_MAX_SIZE_SEGMENT, 1024). + +%% Internal records created by the first pass and eliminated in the +%% second pass. + +-record(ivalues, {args}). +-record(iset, {vars,arg}). +-record(ilet, {vars,arg,body}). +-record(iletrec, {defs}). +-record(ialias, {vars,pat}). + +-record(ifun, {anno=[],vars,body}). +-record(iclause, {anno=[],sub,pats,guard,body}). + +%% The following records are used to represent complex terms used for +%% matching. (Construction of those term types is translated directly +%% to SSA instructions.) + +-record(cg_tuple, {es}). +-record(cg_map, {var=#b_literal{val=#{}},op,es}). +-record(cg_map_pair, {key,val}). +-record(cg_cons, {hd,tl}). +-record(cg_binary, {segs}). +-record(cg_bin_seg, {size,unit,type,flags,seg,next}). +-record(cg_bin_int, {size,unit,flags,val,next}). +-record(cg_bin_end, {}). + +%% Other internal records. + +-record(cg_seq, {arg,body}). +-record(cg_call, {anno=[],op,args,ret=[]}). +-record(cg_internal, {anno=[],op,args,ret=[]}). + +-record(cg_try, {arg,vars,body,evars,handler,ret=[]}). +-record(cg_catch, {body,ret=[]}). + +-record(cg_letrec_goto, {label,vars=[],first,then,ret=[]}). +-record(cg_goto, {label,args=[]}). + +-record(cg_opaque, {val}). + +-record(cg_match, {body,ret=[]}). +-record(cg_alt, {anno=[],first,then}). +-record(cg_select, {anno=[],var,types}). +-record(cg_type_clause, {anno=[],type,values}). +-record(cg_val_clause, {anno=[],val,body}). +-record(cg_guard, {anno=[],clauses}). +-record(cg_guard_clause, {guard,body}). +-record(cg_test, {op,args}). + +-record(cg_break, {args=[] :: [beam_ssa:value()], + phi :: label() | 'undefined'}). +-record(cg_phi, {vars :: [beam_ssa:b_var()]}). +-record(cg_unreachable, {}). +-record(cg_succeeded, {set :: beam_ssa:b_set()}). + +get_anno(#iclause{anno=Anno}) -> Anno; +get_anno(#cg_alt{anno=Anno}) -> Anno; +get_anno(#cg_guard{anno=Anno}) -> Anno; +get_anno(#cg_select{anno=Anno}) -> Anno. + +-type warning() :: {'failed' | 'nomatch', term()}. + +%% State record for the first two passes (formerly `v3_kernel`). +-record(kern, {module :: atom(), %Current module + func, %Current host function + fargs=[] :: [#b_var{}], %Arguments for current function + vcount=0, %Variable counter + fcount=0, %Fun counter + ds=sets:new([{version, 2}]) :: sets:set(), %Defined variables + funs=[], %Fun functions + free=#{}, %Free variables + ws=[] :: [warning()], %Warnings. + no_min_max_bifs=false :: boolean() + }). + +-spec module(cerl:c_module(), [compile:option()]) -> + {'ok', #b_module{}, [warning()]}. + +module(#c_module{name=#c_literal{val=Mod},exports=Es,attrs=As,defs=Fs}, Options) -> + Kas = attributes(As), + Kes = map(fun (#c_var{name={_,_}=Fname}) -> Fname end, Es), + NoMinMaxBifs = proplists:get_bool(no_min_max_bifs, Options), + St0 = #kern{module=Mod, + no_min_max_bifs=NoMinMaxBifs}, + {Kfs,St} = mapfoldl(fun function/2, St0, Fs), + Body = Kfs ++ St#kern.funs, + Code = #b_module{name=Mod,exports=Kes,attributes=Kas,body=Body}, + {ok,Code,sort(St#kern.ws)}. + +-spec format_error(warning()) -> string() | binary(). + +format_error({nomatch,{shadow,Line}}) -> + M = io_lib:format(<<"this clause cannot match because a previous clause at line ~p " + "always matches">>, [Line]), + flatten(M); +format_error({nomatch,shadow}) -> + <<"this clause cannot match because a previous clause always matches">>; +format_error({failed,bad_call}) -> + <<"invalid module and/or function name; this call will always fail">>; +format_error({failed,bad_segment_size}) -> + <<"binary construction will fail because the size of a segment is invalid">>. + +attributes([{#c_literal{val=Name},#c_literal{val=Val}}|As]) -> + case include_attribute(Name) of + false -> + attributes(As); + true -> + [{Name,Val}|attributes(As)] + end; +attributes([]) -> []. + +include_attribute(type) -> false; +include_attribute(spec) -> false; +include_attribute(callback) -> false; +include_attribute(opaque) -> false; +include_attribute(export_type) -> false; +include_attribute(record) -> false; +include_attribute(optional_callbacks) -> false; +include_attribute(file) -> false; +include_attribute(compile) -> false; +include_attribute(_) -> true. + +function({#c_var{name={F,Arity}=FA},Body}, St0) -> + try + %% Find a suitable starting value for the counter + %% used for generating labels and variable names. + Count0 = cerl_trees:next_free_variable_name(Body), + Count = max(?EXCEPTION_BLOCK + 1, Count0), + + %% First pass: Basic translation. + St1 = St0#kern{func=FA,vcount=Count,fcount=0}, + {#ifun{anno=Ab,vars=Kvs,body=B0},[],St2} = expr(Body, new_sub(), St1), + St3 = St2#kern{ds=sets:new([{version,2}])}, + + %% Second pass: Variable usage and lambda lifting. + {B1,_,St4} = ubody(B0, return, St3), + St5 = St4#kern{free=#{}}, + + %% Third pass: Translation to SSA code. + FDef = make_ssa_function(Ab, F, Kvs, B1, St5), + {FDef,St5} + catch + Class:Error:Stack -> + io:fwrite("Function: ~w/~w\n", [F,Arity]), + erlang:raise(Class, Error, Stack) + end. + +%%% +%%% First pass: Basic translation. +%%% + +%% body(Cexpr, Sub, State) -> {Kexpr,[PreKepxr],State}. +%% Do the main sequence of a body. A body ends in an atomic value or +%% values. Must check if vector first so do expr. + +body(#c_values{es=Ces}, Sub, St0) -> + %% Do this here even if only in bodies. + {Kes,Pe,St1} = atomic_list(Ces, Sub, St0), + {#ivalues{args=Kes},Pe,St1}; +body(Ce, Sub, St0) -> + expr(Ce, Sub, St0). + +%% guard(Cexpr, Sub, State) -> {Kexpr,State}. +%% We handle guards almost as bodies. The only special thing we +%% must do is to make the final Kexpr a #cg_test{}. + +guard(G0, Sub, St0) -> + {Ge0,Pre,St1} = expr(G0, Sub, St0), + {Ge,St} = gexpr_test(Ge0, St1), + {pre_seq(Pre, Ge),St}. + +%% gexpr_test(Kexpr, State) -> {Kexpr,State}. +%% Builds the final boolean test from the last Kexpr in a guard test. +%% Must enter try blocks and isets and find the last Kexpr in them. +%% This must end in a recognised BEAM test! + +gexpr_test(#b_set{op={bif,F},args=Args}, St) -> + Ar = length(Args), + true = erl_internal:new_type_test(F, Ar) orelse + erl_internal:comp_op(F, Ar), %Assertion + {#cg_test{op=F,args=Args},St}; +gexpr_test(#cg_try{arg=B0,vars=[#b_var{name=X}],body=#b_var{name=X}, + handler=#b_literal{val=false}}=Try, St0) -> + {B,St} = gexpr_test(B0, St0), + {Try#cg_try{vars=[],arg=B,body=#cg_break{}, + evars=[],handler=#cg_break{}},St}; +gexpr_test(#ilet{body=B0}=Iset, St0) -> + {B1,St1} = gexpr_test(B0, St0), + {Iset#ilet{body=B1},St1}; +gexpr_test(Ke, St) -> gexpr_test_add(Ke, St). %Add equality test + +gexpr_test_add(Ke, St0) -> + {Ae,Ap,St1} = force_atomic(Ke, St0), + {pre_seq(Ap, #cg_test{op='=:=',args=[Ae,#b_literal{val='true'}]}),St1}. + +%% expr(Cexpr, Sub, State) -> {Kexpr,[PreKexpr],State}. +%% Convert a Core expression, flattening it at the same time. + +expr(#c_var{name={Name0,Arity}}, Sub, St) -> + Name = get_fsub(Name0, Arity, Sub), + {#b_local{name=#b_literal{val=Name},arity=Arity},[],St}; +expr(#c_var{name=V}, Sub, St) -> + {#b_var{name=get_vsub(V, Sub)},[],St}; +expr(#c_literal{val=V}, _Sub, St) -> + {#b_literal{val=V},[],St}; +expr(#c_cons{hd=Ch,tl=Ct}, Sub, St0) -> + %% Do cons in two steps, first the expressions left to right, then + %% any remaining literals right to left. + {Kh0,Hp0,St1} = expr(Ch, Sub, St0), + {Kt0,Tp0,St2} = expr(Ct, Sub, St1), + {Kt1,Tp1,St3} = force_atomic(Kt0, St2), + {Kh1,Hp1,St4} = force_atomic(Kh0, St3), + {#b_set{op=put_list,args=[Kh1,Kt1]},Hp0 ++ Tp0 ++ Tp1 ++ Hp1,St4}; +expr(#c_tuple{es=Ces}, Sub, St0) -> + {Kes,Ep,St1} = atomic_list(Ces, Sub, St0), + {#b_set{op=put_tuple,args=Kes},Ep,St1}; +expr(#c_map{anno=A,arg=Var,es=Ces}, Sub, St0) -> + expr_map(A, Var, Ces, Sub, St0); +expr(#c_binary{anno=A,segments=Cv}, Sub, St0) -> + try + expr_binary(A, Cv, Sub, St0) + catch + throw:{bad_segment_size,Anno} -> + St1 = add_warning(Anno, {failed,bad_segment_size}, St0), + Erl = #c_literal{val=erlang}, + Name = #c_literal{val=error}, + Args = [#c_literal{val=badarg}], + Error = #c_call{anno=A,module=Erl,name=Name,args=Args}, + expr(Error, Sub, St1) + end; +expr(#c_fun{anno=A,vars=Cvs,body=Cb}, Sub0, #kern{fargs=OldFargs}=St0) -> + {Kvs,Sub1,St1} = pattern_list(Cvs, Sub0, St0), + {Kb,Pb,St2} = body(Cb, Sub1, St1#kern{fargs=Kvs}), + {#ifun{anno=A,vars=Kvs,body=pre_seq(Pb, Kb)},[],St2#kern{fargs=OldFargs}}; +expr(#c_seq{arg=Ca,body=Cb}, Sub, St0) -> + {Ka,Pa,St1} = body(Ca, Sub, St0), + {Kb,Pb,St2} = body(Cb, Sub, St1), + {Kb,Pa ++ [Ka] ++ Pb,St2}; +expr(#c_let{vars=Cvs,arg=Ca,body=Cb}, Sub0, St0) -> + {Ka,Pa,St1} = body(Ca, Sub0, St0), + {Kps,Sub1,St2} = pattern_list(Cvs, Sub0, St1), + %% Break known multiple values into separate sets. + Sets = case Ka of + #ivalues{args=Kas} -> + [#iset{vars=[V],arg=Val} || {V,Val} <- zip(Kps, Kas)]; + _Other -> + [#iset{vars=Kps,arg=Ka}] + end, + {Kb,Pb,St3} = body(Cb, Sub1, St2), + {Kb,Pa ++ Sets ++ Pb,St3}; +expr(#c_letrec{anno=A,defs=Cfs,body=Cb}, Sub, St) -> + case member(letrec_goto, A) of + true -> + letrec_goto(Cfs, Cb, Sub, St); + false -> + letrec_local_function(A, Cfs, Cb, Sub, St) + end; +expr(#c_case{arg=Ca,clauses=Ccs}, Sub, St0) -> + {Ka,Pa,St1} = body(Ca, Sub, St0), %This is a body! + {Kvs,Pv,St2} = match_vars(Ka, St1), %Must have variables here! + {Km,St3} = kmatch(Kvs, Ccs, Sub, St2), + Match = flatten_seq(build_match(Km)), + {last(Match),Pa ++ Pv ++ droplast(Match),St3}; +expr(#c_apply{anno=A,op=Cop,args=Cargs}, Sub, St) -> + c_apply(A, Cop, Cargs, Sub, St); +expr(#c_call{anno=A,module=M0,name=F0,args=Cargs}, Sub, St0) -> + case call_type(M0, F0, Cargs, St0) of + bif -> + #c_literal{val=Name} = F0, + {Args,Ap,St} = atomic_list(Cargs, Sub, St0), + Set = #b_set{anno=line_anno(A),op={bif,Name},args=Args}, + case erl_bifs:is_safe(erlang, Name, length(Args)) of + true -> {Set,Ap,St}; + false -> {#cg_succeeded{set=Set},Ap,St} + end; + call -> + {[M,F|Args],Ap,St} = atomic_list([M0,F0|Cargs], Sub, St0), + Remote = #b_remote{mod=M,name=F,arity=length(Args)}, + {#cg_call{anno=A,op=Remote,args=Args},Ap,St}; + is_record -> + {Args,Ap,St} = atomic_list(Cargs, Sub, St0), + {#cg_internal{anno=internal_anno(A),op=is_record,args=Args},Ap,St}; + error -> + %% Invalid call (e.g. M:42/3). Issue a warning, and let + %% the generated code call apply/3. + St = add_warning(A, {failed,bad_call}, St0), + Call = #c_call{anno=A, + module=#c_literal{val=erlang}, + name=#c_literal{val=apply}, + args=[M0,F0,cerl:make_list(Cargs)]}, + expr(Call, Sub, St) + end; +expr(#c_primop{anno=A,name=#c_literal{val=match_fail},args=[Arg]}, Sub, St) -> + translate_match_fail(Arg, Sub, A, St); +expr(#c_primop{anno=A,name=#c_literal{val=Op},args=Cargs}, Sub, St0) -> + {Args,Ap,St1} = atomic_list(Cargs, Sub, St0), + {primop(Op, A, Args),Ap,St1}; +expr(#c_try{arg=Ca,vars=Cvs,body=Cb,evars=Evs,handler=Ch}, Sub0, St0) -> + {Ka,Pa,St1} = body(Ca, Sub0, St0), + {Kcvs,Sub1,St2} = pattern_list(Cvs, Sub0, St1), + {Kb,Pb,St3} = body(Cb, Sub1, St2), + {Kevs,Sub2,St4} = pattern_list(Evs, Sub0, St3), + {Kh,Ph,St5} = body(Ch, Sub2, St4), + {#cg_try{arg=pre_seq(Pa, Ka), + vars=Kcvs,body=pre_seq(Pb, Kb), + evars=Kevs,handler=pre_seq(Ph, Kh)},[],St5}; +expr(#c_catch{body=Cb}, Sub, St0) -> + {Kb,Pb,St1} = body(Cb, Sub, St0), + {#cg_catch{body=pre_seq(Pb, Kb)},[],St1}; +expr(#c_opaque{val=Check}, _Sub, St) -> + {#cg_opaque{val=Check},[],St}. + +primop(raise, Anno, Args) -> + primop_succeeded(resume, Anno, Args); +primop(raw_raise, Anno, Args) -> + primop_succeeded(raw_raise, Anno, Args); +primop(Op, Anno, Args) when Op =:= recv_peek_message; + Op =:= recv_wait_timeout -> + #cg_internal{anno=internal_anno(Anno),op=Op,args=Args}; +primop(Op, Anno, Args) -> + #b_set{anno=internal_anno(Anno),op=Op,args=Args}. + +primop_succeeded(Op, Anno0, Args) -> + Anno = internal_anno(Anno0), + Set = #b_set{anno=Anno,op=Op,args=Args}, + #cg_succeeded{set=Set}. + +%% Implement letrec in the traditional way as a local +%% function for each definition in the letrec. + +letrec_local_function(A, Cfs, Cb, Sub0, St0) -> + %% Make new function names and store substitution. + {Fs0,{Sub1,St1}} = + mapfoldl(fun ({#c_var{name={F,Ar}},#c_fun{}=B0}, {Sub,S0}) -> + {N,St1} = new_fun_name(atom_to_list(F) + ++ "/" ++ + integer_to_list(Ar), + S0), + B = B0#c_fun{anno=[{letrec_name,N}]}, + {{N,B},{set_fsub(F, Ar, N, Sub),St1}} + end, {Sub0,St0}, Cfs), + %% Run translation on functions and body. + {Fs1,St2} = mapfoldl(fun ({N,Fd0}, S1) -> + {Fd1,[],St2} = expr(Fd0, Sub1, S1), + Fd = Fd1#ifun{anno=A}, + {{N,Fd},St2} + end, St1, Fs0), + {Kb,Pb,St3} = body(Cb, Sub1, St2), + {Kb,[#iletrec{defs=Fs1}|Pb],St3}. + +%% Implement letrec with the single definition as a label and each +%% apply of it as a goto. + +letrec_goto([{#c_var{name={Name,Arity}},Cfail}], Cb, Sub0, St0) -> + {Label,St1} = new_var_name(St0), + #c_fun{vars=FunVars,body=FunBody} = Cfail, + Sub1 = set_fsub(Name, Arity, {letrec_goto,Label}, Sub0), + {Kvars,{FunSub,St2}} = + mapfoldl(fun(#c_var{name=V}, {SubInt,StInt0}) -> + {New,StInt1} = new_var_name(StInt0), + {#b_var{name=New}, + {set_vsub(V, New, SubInt), + StInt1#kern{ds=sets:add_element(New, StInt1#kern.ds)}}} + end, {Sub1,St1}, FunVars), + {Kb,Pb,St3} = body(Cb, Sub1, St2), + {Kfail,Fb,St4} = body(FunBody, FunSub, St3), + case {Kb,Kfail,Fb} of + {#cg_goto{label=Label},#cg_goto{}=InnerGoto,[]} -> + {InnerGoto,Pb,St4}; + {_,_,_} -> + Alt = #cg_letrec_goto{label=Label,vars=Kvars, + first=Kb,then=pre_seq(Fb, Kfail)}, + {Alt,Pb,St4} + end. + +%% translate_match_fail(Arg, Sub, Anno, St) -> {Kexpr,[PreKexpr],State}. +%% Translate match_fail primops, paying extra attention to `function_clause` +%% errors that may have been inlined from other functions. + +translate_match_fail(Arg, Sub, Anno, St0) -> + {Cargs,ExtraAnno,St1} = + case {cerl:data_type(Arg),cerl:data_es(Arg)} of + {tuple,[#c_literal{val=function_clause}|_]=As} -> + translate_fc_args(As, Sub, Anno, St0); + {tuple,[#c_literal{}|_]=As} -> + {As,[],St0}; + {{atomic,Reason}, []} -> + {[#c_literal{val=Reason}],[],St0} + end, + {Args,Ap,St} = atomic_list(Cargs, Sub, St1), + SsaAnno = internal_anno(ExtraAnno ++ Anno), + Set = #b_set{anno=SsaAnno,op=match_fail,args=Args}, + {#cg_succeeded{set=Set},Ap,St}. + +translate_fc_args(As, Sub, Anno, #kern{fargs=Fargs}=St0) -> + {ExtraAnno, St} = + case same_args(As, Fargs, Sub) of + true -> + %% The arguments for the `function_clause` exception are + %% the arguments for the current function in the correct + %% order. + {[], St0}; + false -> + %% The arguments in the `function_clause` exception don't + %% match the arguments for the current function because of + %% inlining. + case keyfind(function, 1, Anno) of + false -> + {Name, St1} = new_fun_name("inlined", St0), + {[{inlined,{Name,length(As) - 1}}], St1}; + {_,{Name0,Arity}} -> + %% This is function that has been inlined. + Name1 = ["-inlined-",Name0,"/",Arity,"-"], + Name = list_to_atom(lists:concat(Name1)), + {[{inlined,{Name,Arity}}], St0} + end + end, + {As, ExtraAnno, St}. + +same_args([#c_var{name=Cv}|Vs], [#b_var{name=Kv}|As], Sub) -> + get_vsub(Cv, Sub) =:= Kv andalso same_args(Vs, As, Sub); +same_args([], [], _Sub) -> true; +same_args(_, _, _) -> false. + +expr_map(A, Var0, Ces, Sub, St0) -> + {Var,Mps,St1} = expr(Var0, Sub, St0), + {Km,Eps,St2} = map_split_pairs(A, Var, Ces, Sub, St1), + {Km,Eps++Mps,St2}. + +map_split_pairs(A, Var, Ces, Sub, St0) -> + %% 1. Force variables. + %% 2. Group adjacent pairs with literal keys. + %% 3. Within each such group, remove multiple assignments to + %% the same key. + %% 4. Partition each group according to operator ('=>' and ':='). + {Pairs,Esp,St1} = + foldr(fun(#c_map_pair{op=#c_literal{val=Op},key=K0,val=V0}, + {Ops,Espi,Sti0}) when Op =:= assoc; Op =:= exact -> + {K,Eps1,Sti1} = atomic(K0, Sub, Sti0), + {V,Eps2,Sti2} = atomic(V0, Sub, Sti1), + {[{Op,K,V}|Ops],Eps1 ++ Eps2 ++ Espi,Sti2} + end, {[],[],St0}, Ces), + map_split_pairs_1(A, Var, Pairs, Esp, St1). + +map_split_pairs_1(A, Map0, [{Op,Key,Val}|Pairs1]=Pairs0, Esp0, St0) -> + {Map1,Em,St1} = force_atomic(Map0, St0), + case Key of + #b_var{} -> + %% Don't combine variable keys with other keys. + Kes = [[Key,Val]], + Map = ssa_map(A, Op, Map1, Kes), + map_split_pairs_1(A, Map, Pairs1, Esp0 ++ Em, St1); + #b_literal{} -> + %% Literal key. Split off all literal keys. + {L,Pairs} = splitwith(fun({_,#b_var{},_}) -> false; + ({_,_,_}) -> true + end, Pairs0), + {Map,Esp,St2} = map_group_pairs(A, Map1, L, Esp0 ++ Em, St1), + map_split_pairs_1(A, Map, Pairs, Esp, St2) + end; +map_split_pairs_1(_, Map, [], Esp, St0) -> + {Map,Esp,St0}. + +map_group_pairs(A, Var, Pairs0, Esp, St0) -> + Pairs = map_remove_dup_keys(Pairs0), + Assoc = [[K,V] || {_,{assoc,K,V}} <- Pairs], + Exact = [[K,V] || {_,{exact,K,V}} <- Pairs], + case {Assoc,Exact} of + {[_|_],[]} -> + {ssa_map(A, assoc, Var, Assoc),Esp,St0}; + {[],[_|_]} -> + {ssa_map(A, exact, Var, Exact),Esp,St0}; + {[_|_],[_|_]} -> + Map = ssa_map(A, assoc, Var, Assoc), + {Mvar,Em,St1} = force_atomic(Map, St0), + {ssa_map(A, exact, Mvar, Exact),Esp ++ Em,St1} + end. + +ssa_map(A, Op, SrcMap, Pairs) -> + FlatList = append(Pairs), + Args = [#b_literal{val=Op},SrcMap|FlatList], + LineAnno = line_anno(A), + Set = #b_set{anno=LineAnno,op=put_map,args=Args}, + case Op of + assoc -> Set; + exact -> #cg_succeeded{set=Set} + end. + +map_remove_dup_keys(Es) -> + map_remove_dup_keys(Es, #{}). + +map_remove_dup_keys([{assoc,K,V}|Es0], Used0) -> + Op = case Used0 of + #{K := {exact,_,_}} -> exact; + #{} -> assoc + end, + Used1 = Used0#{K => {Op,K,V}}, + map_remove_dup_keys(Es0, Used1); +map_remove_dup_keys([{exact,K,V}|Es0], Used0) -> + Op = case Used0 of + #{K := {assoc,_,_}} -> assoc; + #{} -> exact + end, + Used1 = Used0#{K => {Op,K,V}}, + map_remove_dup_keys(Es0, Used1); +map_remove_dup_keys([], Used) -> + %% We must sort the map entries to ensure consistent + %% order from compilation to compilation. + sort(maps:to_list(Used)). + +%% match_vars(Kexpr, State) -> {[Kvar],[PreKexpr],State}. +%% Force return from body into a list of variables. + +match_vars(#ivalues{args=As}, St) -> + foldr(fun (Ka, {Vs,Vsp,St0}) -> + {V,Vp,St1} = force_variable(Ka, St0), + {[V|Vs],Vp ++ Vsp,St1} + end, {[],[],St}, As); +match_vars(Ka, St0) -> + {V,Vp,St1} = force_variable(Ka, St0), + {[V],Vp,St1}. + +%% c_apply(A, Op, [Carg], Sub, State) -> {Kexpr,[PreKexpr],State}. +%% Transform application. + +c_apply(A, #c_var{name={F0,Ar}}, Cargs, Sub, St0) -> + {Args,Ap,St1} = atomic_list(Cargs, Sub, St0), + case get_fsub(F0, Ar, Sub) of + {letrec_goto,Label} -> + {#cg_goto{label=Label,args=Args},Ap,St1}; + F1 -> + {#cg_call{anno=A,op=#b_local{name=#b_literal{val=F1},arity=Ar},args=Args}, + Ap,St1} + end; +c_apply(A, Cop, Cargs, Sub, St0) -> + {Kop,Op,St1} = variable(Cop, Sub, St0), + {Args,Ap,St2} = atomic_list(Cargs, Sub, St1), + {#cg_call{anno=A,op=Kop,args=Args},Op ++ Ap,St2}. + +flatten_seq(#ilet{vars=Vs,arg=Arg,body=B}) -> + [#iset{vars=Vs,arg=Arg}|flatten_seq(B)]; +flatten_seq(Ke) -> [Ke]. + +pre_seq([#iset{vars=Vs,arg=Arg}|Ps], K) -> + #ilet{vars=Vs,arg=Arg,body=pre_seq(Ps, K)}; +pre_seq([P|Ps], K) -> + #ilet{vars=[],arg=P,body=pre_seq(Ps, K)}; +pre_seq([], K) -> K. + +%% atomic(Cexpr, Sub, State) -> {Katomic,[PreKexpr],State}. +%% Convert a Core expression making sure the result is atomic +%% (variable or literal). + +atomic(Ce, Sub, St0) -> + {Ke,Kp,St1} = expr(Ce, Sub, St0), + {Ka,Ap,St2} = force_atomic(Ke, St1), + {Ka,Kp ++ Ap,St2}. + +force_atomic(#b_literal{}=Ke, St) -> + {Ke,[],St}; +force_atomic(Ke, St) -> + force_variable(Ke, St). + +%% atomic_list([Cexpr], Sub, State) -> {[Kexpr],[PreKexpr],State}. + +atomic_list(Ces, Sub, St) -> + foldr(fun (Ce, {Kes,Esp,St0}) -> + {Ke,Ep,St1} = atomic(Ce, Sub, St0), + {[Ke|Kes],Ep ++ Esp,St1} + end, {[],[],St}, Ces). + +%%% +%%% Construction of binaries. +%%% + +expr_binary(Anno, Segs0, Sub, St0) -> + {Segs1,Ep,St1} = atomic_bin(Segs0, Sub, St0), + Segs = case Segs1 of + [#b_literal{val=binary},UnitFlags,Val,#b_literal{val=all}|Segs2] -> + Op = case member(single_use, Anno) of + true -> private_append; + false -> append + end, + [#b_literal{val=Op},UnitFlags,Val,#b_literal{val=all}|Segs2]; + _ -> + Segs1 + end, + LineAnno = line_anno(Anno), + Build = #cg_succeeded{set=#b_set{anno=LineAnno,op=bs_create_bin,args=Segs}}, + {Build,Ep,St1}. + +atomic_bin([#c_bitstr{anno=A,val=E0,size=S0,unit=U0,type=T,flags=Fs0}|Es0], + Sub, St0) -> + {E,Ap1,St1} = atomic(E0, Sub, St0), + {S1,Ap2,St2} = atomic(S0, Sub, St1), + validate_bin_element_size(S1, A), + U1 = cerl:concrete(U0), + Fs1 = cerl:concrete(Fs0), + {Es,Ap3,St3} = atomic_bin(Es0, Sub, St2), + {ssa_bin_segment(A, T, E, S1, U1, Fs1) ++ Es, + Ap1++Ap2++Ap3,St3}; +atomic_bin([], _Sub, St) -> {[],[],St}. + +ssa_bin_segment(Anno, Type, Src, Size, U, Flags0) -> + Seg = case lists:keyfind(segment, 1, Anno) of + false -> []; + {segment,_}=Seg0 -> [Seg0] + end, + TypeArg = #b_literal{val=cerl:concrete(Type)}, + Unit = case U of + undefined -> 0; + _ -> U + end, + Flags = strip_bs_construct_flags(Flags0), + UnitFlags = #b_literal{val=[Unit|Flags++Seg]}, + [TypeArg,UnitFlags,Src,Size]. + +validate_bin_element_size(#b_var{}, _Anno) -> ok; +validate_bin_element_size(#b_literal{val=Val}, Anno) -> + case Val of + all -> ok; + undefined -> ok; + _ when is_integer(Val), Val >= 0 -> ok; + _ -> throw({bad_segment_size,Anno}) + end. + +%% Only keep the flags that have a meaning for binary construction and +%% are distinct from the default value. +strip_bs_construct_flags(Flags) -> + [Flag || Flag <- Flags, + case Flag of + little -> true; + native -> true; + big -> false; + signed -> false; + unsigned -> false + end]. + +%% variable(Cexpr, Sub, State) -> {Kvar,[PreKexpr],State}. +%% Convert a Core expression making sure the result is a variable. + +variable(Ce, Sub, St0) -> + {Ke,Kp,St1} = expr(Ce, Sub, St0), + {Kv,Vp,St2} = force_variable(Ke, St1), + {Kv,Kp ++ Vp,St2}. + +force_variable(#b_var{}=Ke, St) -> + {Ke,[],St}; +force_variable(Ke, St0) -> + {V,St1} = new_var(St0), + {V,[#iset{vars=[V],arg=Ke}],St1}. + +%% pattern(Cpat, Sub, State) -> {Kpat,Sub,State}. +%% Convert patterns. Variables shadow so rename variables that are +%% already defined. + +pattern(#c_var{name=V}, Sub, St0) -> + case sets:is_element(V, St0#kern.ds) of + true -> + {New,St1} = new_var_name(St0), + {#b_var{name=New}, + set_vsub(V, New, Sub), + St1#kern{ds=sets:add_element(New, St1#kern.ds)}}; + false -> + {#b_var{name=V},Sub, + St0#kern{ds=sets:add_element(V, St0#kern.ds)}} + end; +pattern(#c_literal{val=Val}, Sub, St) -> + {#b_literal{val=Val},Sub,St}; +pattern(#c_cons{hd=Ch,tl=Ct}, Sub0, St0) -> + {Kh,Sub1,St1} = pattern(Ch, Sub0, St0), + {Kt,Sub2,St2} = pattern(Ct, Sub1, St1), + {#cg_cons{hd=Kh,tl=Kt},Sub2,St2}; +pattern(#c_tuple{es=Ces}, Sub0, St0) -> + {Kes,Sub1,St1} = pattern_list(Ces, Sub0, St0), + {#cg_tuple{es=Kes},Sub1,St1}; +pattern(#c_map{es=Ces}, Sub0, St0) -> + {Kes,Sub1,St1} = pattern_map_pairs(Ces, Sub0, St0), + {#cg_map{op=exact,es=Kes},Sub1,St1}; +pattern(#c_binary{segments=Cv}, Sub0, St0) -> + {Kv,Sub1,St1} = pattern_bin(Cv, Sub0, St0), + {#cg_binary{segs=Kv},Sub1,St1}; +pattern(#c_alias{var=Cv,pat=Cp}, Sub0, St0) -> + {Cvs,Cpat} = flatten_alias(Cp), + {Kvs,Sub1,St1} = pattern_list([Cv|Cvs], Sub0, St0), + {Kpat,Sub2,St2} = pattern(Cpat, Sub1, St1), + {#ialias{vars=Kvs,pat=Kpat},Sub2,St2}. + +flatten_alias(#c_alias{var=V,pat=P}) -> + {Vs,Pat} = flatten_alias(P), + {[V|Vs],Pat}; +flatten_alias(Pat) -> {[],Pat}. + +pattern_map_pairs(Ces0, Sub0, St0) -> + {Kes,{Sub1,St1}} = + mapfoldl(fun(#c_map_pair{key=Ck,val=Cv},{Subi0,Sti0}) -> + {Kk,[],Sti1} = expr(Ck, Subi0, Sti0), + {Kv,Subi2,Sti2} = pattern(Cv, Subi0, Sti1), + {#cg_map_pair{key=Kk,val=Kv},{Subi2,Sti2}} + end, {Sub0, St0}, Ces0), + %% It is later assumed that these keys are sorted according + %% to the internal term order, so we'll need to sort them + %% here. + Kes1 = sort(fun(#cg_map_pair{key=A}, #cg_map_pair{key=B}) -> + erts_internal:cmp_term(A, B) < 0 + end, Kes), + {Kes1,Sub1,St1}. + +pattern_bin([#c_bitstr{val=E0,size=S0,unit=U0,type=T,flags=Fs0}|Es0], + Sub0, St0) -> + {S1,[],St1} = expr(S0, Sub0, St0), + S = case S1 of + #b_var{} -> S1; + #b_literal{val=Val} when is_integer(Val); is_atom(Val) -> S1; + _ -> + %% Bad size (coming from an optimization or Core Erlang + %% source code) - replace it with a known atom because + %% a literal or bit syntax construction can cause further + %% problems. + #b_literal{val=bad_size} + end, + U = cerl:concrete(U0), + Fs = cerl:concrete(Fs0), + {E,Sub1,St2} = pattern(E0, Sub0, St1), + {Es,Sub,St3} = pattern_bin(Es0, Sub1, St2), + {build_bin_seg(S, U, cerl:concrete(T), Fs, E, Es),Sub,St3}; +pattern_bin([], Sub, St) -> + {#cg_bin_end{},Sub,St}. + +%% build_bin_seg(Size, Unit, Type, Flags, Seg, Next) -> #cg_bin_seg{}. +%% This function normalizes literal integers with size > 8 and literal +%% utf8 segments into integers with size = 8 (and potentially an integer +%% with size less than 8 at the end). This is so further optimizations +%% have a normalized view of literal integers, allowing us to generate +%% more literals and group more clauses. Those integers may be "squeezed" +%% later into the largest integer possible. +%% +build_bin_seg(#b_literal{val=Bits}=Sz, U, integer=Type, + [unsigned,big]=Flags, #b_literal{val=Int}=Seg, Next) + when is_integer(Bits) -> + Size = Bits * U, + case integer_fits_and_is_expandable(Int, Size) of + true -> + build_bin_seg_integer_recur(Size, Int, Next); + false -> + #cg_bin_seg{size=Sz,unit=U,type=Type, + flags=Flags,seg=Seg,next=Next} + end; +build_bin_seg(Sz, U, utf8=Type, [unsigned,big]=Flags, + #b_literal{val=Utf8}=Seg, Next) -> + case utf8_fits(Utf8) of + {Int,Bits} -> + build_bin_seg_integer_recur(Bits, Int, Next); + error -> + #cg_bin_seg{size=Sz,unit=U,type=Type,flags=Flags,seg=Seg,next=Next} + end; +build_bin_seg(Sz, U, Type, Flags, Seg, Next) -> + #cg_bin_seg{size=Sz,unit=U,type=Type,flags=Flags,seg=Seg,next=Next}. + +build_bin_seg_integer_recur(Bits, Val, Next) -> + Chunks = bitstring_to_list(<>), + build_bin_seg_integer_recur_1(Chunks, Next). + +build_bin_seg_integer_recur_1([Val0], Next) when is_bitstring(Val0) -> + Bits = bit_size(Val0), + <> = Val0, + build_bin_seg_integer(Bits, Val, Next); +build_bin_seg_integer_recur_1([Val], Next) when is_integer(Val) -> + build_bin_seg_integer(8, Val, Next); +build_bin_seg_integer_recur_1([Val|Values], Next0) when is_integer(Val) -> + Next = build_bin_seg_integer_recur_1(Values, Next0), + build_bin_seg_integer(8, Val, Next). + +build_bin_seg_integer(Bits, Val, Next) -> + Sz = #b_literal{val=Bits}, + Seg = #b_literal{val=Val}, + #cg_bin_seg{size=Sz,unit=1,type=integer,flags=[unsigned,big], + seg=Seg,next=Next}. + +integer_fits_and_is_expandable(Int, Size) + when is_integer(Int), is_integer(Size), + 0 < Size, Size =< ?EXPAND_MAX_SIZE_SEGMENT -> + case <> of + <> -> true; + _ -> false + end; +integer_fits_and_is_expandable(_Int, _Size) -> false. + +utf8_fits(Utf8) -> + try <> of + Bin -> + Bits = bit_size(Bin), + <> = Bin, + {Int,Bits} + catch + _:_ -> error + end. + +%% pattern_list([Cexpr], Sub, State) -> {[Kexpr],Sub,State}. + +pattern_list(Ces, Sub, St) -> + foldr(fun (Ce, {Kes,Sub0,St0}) -> + {Ke,Sub1,St1} = pattern(Ce, Sub0, St0), + {[Ke|Kes],Sub1,St1} + end, {[],Sub,St}, Ces). + +%% new_sub() -> Subs. +%% set_vsub(Name, Sub, Subs) -> Subs. +%% subst_vsub(Name, Sub, Subs) -> Subs. +%% get_vsub(Name, Subs) -> SubName. +%% Add/get substitute Sub for Name to VarSub. +%% +%% We're using a many-to-one bimap so we can rename all references to a +%% variable without having to scan through all of them, which can cause +%% compile times to explode (see record_SUITE:slow_compilation/1). + +new_sub() -> {#{}, #{}}. + +get_vsub(Key, Subs) -> + bimap_get(Key, Subs, Key). + +get_fsub(Name, Arity, Subs) -> + bimap_get({Name, Arity}, Subs, Name). + +set_vsub(Key, Val, Subs) -> + true = Key =/= Val, %Assertion. + bimap_set(Key, Val, Subs). + +set_fsub(Name, Arity, Val, Subs) -> + set_vsub({Name, Arity}, Val, Subs). + +subst_vsub(Key, Val, Subs) -> + bimap_rename(Key, Val, Subs). + +bimap_get(Key, {Map, _InvMap}, Default) -> + case Map of + #{Key := Val} -> Val; + #{} -> Default + end. + +%% Maps Key to Val without touching existing references to Key. +bimap_set(Key, Val, {Map0, InvMap0}) when is_map(Map0), is_map(InvMap0) -> + InvMap = bm_update_inv_lookup(Key, Val, Map0, InvMap0), + Map = Map0#{Key => Val}, + {Map,InvMap}. + +bm_update_inv_lookup(Key, Val, Map, InvMap0) -> + InvMap = bm_cleanup_inv_lookup(Key, Map, InvMap0), + case InvMap of + #{Val := Keys} -> + %% Other keys map to the same value, add ours to the set. + InvMap#{Val := add_element(Key, Keys)}; + #{} -> + InvMap#{Val => [Key]} + end. + +bm_cleanup_inv_lookup(Key, Map, InvMap) when is_map_key(Key, Map) -> + #{Key := Old} = Map, + #{Old := Keys0} = InvMap, + case del_element(Key, Keys0) of + [] -> + maps:remove(Old, InvMap); + Keys -> + InvMap#{Old := Keys} + end; +bm_cleanup_inv_lookup(_Key, _Map, InvMap) -> + InvMap. + +%% Map Key to Val, and replace all existing references to Key with Val. +bimap_rename(Key, Val, {Map0, InvMap0}) when is_map_key(Key, InvMap0) -> + {Keys,InvMap1} = maps:take(Key, InvMap0), + InvMap = InvMap1#{Val => add_element(Key, Keys)}, + + Map1 = Map0#{Key => Val}, + Map = bimap_update_lookup(Keys, Val, Map1), + + {Map,InvMap}; +bimap_rename(Key, Val, Subs) -> + bimap_set(Key, Val, Subs). + +bimap_update_lookup([Key|Keys], Val, Map) -> + bimap_update_lookup(Keys, Val, Map#{Key := Val}); +bimap_update_lookup([], _Val, Map) -> + Map. + +new_fun_name(St) -> + new_fun_name("anonymous", St). + +%% new_fun_name(Type, State) -> {FunName,State}. + +new_fun_name(Type, #kern{func={F,Arity},fcount=C}=St) -> + Name = "-" ++ atom_to_list(F) ++ "/" ++ integer_to_list(Arity) ++ + "-" ++ Type ++ "-" ++ integer_to_list(C) ++ "-", + {list_to_atom(Name),St#kern{fcount=C+1}}. + +%% new_var_name(State) -> {VarName,State}. + +new_var_name(#kern{vcount=C}=St) -> + {C,St#kern{vcount=C+1}}. + +%% new_var(State) -> {#b_var{},State}. + +new_var(St0) -> + {New,St1} = new_var_name(St0), + {#b_var{name=New},St1}. + +%% new_vars(Count, State) -> {[#b_var{}],State}. + +new_vars(N, St) when is_integer(N) -> + new_vars(N, St, []). + +new_vars(N, St0, Vs) when N > 0 -> + {V,St1} = new_var(St0), + new_vars(N-1, St1, [V|Vs]); +new_vars(0, St, Vs) -> {Vs,St}. + +make_vars(Vs) -> [#b_var{name=V} || V <- Vs]. + +%% call_type(Mod, Name, [Arg], State) -> bif | call | is_record | error. + +call_type(#c_literal{val=M}, #c_literal{val=F}, As, St) when is_atom(M), is_atom(F) -> + case is_guard_bif(M, F, As) of + false -> + call; + true -> + %% The guard BIFs min/2 and max/2 were introduced in + %% Erlang/OTP 26. If we are compiling for an earlier + %% version, we must translate them as call instructions. + case {M,F,St#kern.no_min_max_bifs} of + {erlang,min,true} -> call; + {erlang,max,true} -> call; + {erlang,is_record,_} when length(As) =:= 3 -> is_record; + {erlang,_,_} -> bif + end + end; +call_type(#c_var{}, #c_literal{val=A}, _, _) when is_atom(A) -> call; +call_type(#c_literal{val=A}, #c_var{}, _, _) when is_atom(A) -> call; +call_type(#c_var{}, #c_var{}, _, _) -> call; +call_type(_, _, _, _) -> error. + +%% is_guard_bif(Mod, Name, Args) -> true | false. +%% Test whether this function is a guard BIF. + +is_guard_bif(erlang, get, [_]) -> true; +is_guard_bif(erlang, is_record, [_,Tag,Sz]) -> + case {Tag,Sz} of + {#c_literal{val=Atom},#c_literal{val=Arity}} + when is_atom(Atom), is_integer(Arity), Arity >= 1 -> + true; + {_,_} -> + false + end; +is_guard_bif(erlang, N, As) -> + Arity = length(As), + case erl_internal:guard_bif(N, Arity) of + true -> true; + false -> + try erl_internal:op_type(N, Arity) of + arith -> true; + bool -> true; + comp -> true; + list -> false; + send -> false + catch + _:_ -> false % not an op + end + end; +is_guard_bif(_, _, _) -> false. + +%% This code implements the algorithm for an optimizing compiler for +%% pattern matching given "The Implementation of Functional +%% Programming Languages" by Simon Peyton Jones. The code is much +%% longer as the meaning of constructors is different from the book. +%% +%% In Erlang many constructors can have different values, e.g. 'atom' +%% or 'integer', whereas in the original algorithm these would be +%% different constructors. Our view makes it easier in later passes to +%% handle indexing over each type. +%% +%% Patterns are complicated by having alias variables. The form of a +%% pattern is Pat | {alias,Pat,[AliasVar]}. This is hidden by access +%% functions to pattern arguments but the code must be aware of it. +%% +%% The compilation proceeds in two steps: +%% +%% 1. The patterns in the clauses to converted to lists of Kernel +%% patterns. The Core clause is now hybrid, this is easier to work +%% with. Remove clauses with trivially false guards, this simplifies +%% later passes. Add locally defined vars and variable subs to each +%% clause for later use. +%% +%% 2. The pattern matching is optimised. Variable substitutions are +%% added to the VarSub structure and new variables are made visible. +%% The guard and body are then converted to Kernel form. + +%% kmatch([Var], [Clause], Sub, State) -> {Kexpr,State}. + +kmatch(Us, Ccs, Sub, St0) -> + {Cs,St1} = match_pre(Ccs, Sub, St0), %Convert clauses + Def = fail, + match(Us, Cs, Def, St1). %Do the match. + +%% match_pre([Cclause], Sub, State) -> {[Clause],State}. +%% Must be careful not to generate new substitutions here now! + +match_pre(Cs, Sub0, St) -> + foldr(fun (#c_clause{anno=A,pats=Ps,guard=G,body=B}, {Cs0,St0}) -> + {Kps,Sub1,St1} = pattern_list(Ps, Sub0, St0), + {[#iclause{anno=A,sub=Sub1, + pats=Kps,guard=G,body=B}|Cs0],St1} + end, {[],St}, Cs). + +%% match([Var], [Clause], Default, State) -> {MatchExpr,State}. + +match([_|_]=Vars, Cs, Def, St0) -> + Pcss = partition(Cs), + foldr(fun (Pcs, {D,St}) -> + match_varcon(Vars, Pcs, D, St) + end, {Def,St0}, Pcss); +match([], Cs, Def, St) -> + match_guard(Cs, Def, St). + +%% match_guard([Clause], Default, State) -> {IfExpr,State}. +%% Build a guard to handle guards. A guard *ALWAYS* fails if no +%% clause matches, there will be a surrounding 'alt' to catch the +%% failure. Drop redundant cases, i.e. those after a true guard. + +match_guard(Cs0, Def0, St0) -> + {Cs1,Def1,St1} = match_guard_1(Cs0, Def0, St0), + {build_alt(build_guard(Cs1), Def1),St1}. + +match_guard_1([#iclause{anno=A,sub=Sub,guard=G,body=B}|Cs0], Def0, St0) -> + case is_true_guard(G) of + true -> + %% The true clause body becomes the default. + {Kb,Pb,St1} = body(B, Sub, St0), + St2 = maybe_add_warning(Cs0, A, St1), + St = maybe_add_warning(Def0, A, St2), + {[],pre_seq(Pb, Kb),St}; + false -> + {Kg,St1} = guard(G, Sub, St0), + {Kb,Pb,St2} = body(B, Sub, St1), + {Cs1,Def1,St3} = match_guard_1(Cs0, Def0, St2), + {[#cg_guard_clause{guard=Kg,body=pre_seq(Pb, Kb)}|Cs1], + Def1,St3} + end; +match_guard_1([], Def, St) -> {[],Def,St}. + +%% is_true_guard(Guard) -> boolean(). +%% Test if a guard is trivially true. + +is_true_guard(#c_literal{val=true}) -> true; +is_true_guard(_) -> false. + +%% partition([Clause]) -> [[Clause]]. +%% Partition a list of clauses into groups which either contain +%% clauses with a variable first argument, or with a "constructor". + +partition([C1|Cs]) -> + V1 = is_var_clause(C1), + {More,Rest} = splitwith(fun (C) -> is_var_clause(C) =:= V1 end, Cs), + [[C1|More]|partition(Rest)]; +partition([]) -> []. + +%% match_varcon([Var], [Clause], Def, [Var], Sub, State) -> +%% {MatchExpr,State}. + +match_varcon(Us, [C|_]=Cs, Def, St) -> + case is_var_clause(C) of + true -> match_var(Us, Cs, Def, St); + false -> match_con(Us, Cs, Def, St) + end. + +%% match_var([Var], [Clause], Def, State) -> {MatchExpr,State}. +%% Build a call to "select" from a list of clauses all containing a +%% variable as the first argument. We must rename the variable in +%% each clause to be the match variable as these clause will share +%% this variable and may have different names for it. Rename aliases +%% as well. + +match_var([U|Us], Cs0, Def, St) -> + Cs1 = map(fun (#iclause{sub=Sub0,pats=[Arg|As]}=C) -> + Vs = [arg_arg(Arg)|arg_alias(Arg)], + Sub1 = foldl(fun (#b_var{name=V}, Acc) -> + subst_vsub(V, U#b_var.name, Acc) + end, Sub0, Vs), + C#iclause{sub=Sub1,pats=As} + end, Cs0), + match(Us, Cs1, Def, St). + +%% match_con(Variables, [Clause], Default, State) -> {SelectExpr,State}. +%% Build call to "select" from a list of clauses all containing a +%% constructor/constant as first argument. Group the constructors +%% according to type, the order is really irrelevant but tries to be +%% smart. +match_con([U|_Us]=L, Cs, Def, St0) -> + %% Extract clauses for different constructors (types). + Ttcs0 = select_types(Cs, [], [], [], [], [], [], [], [], []), + Ttcs1 = [{T, Types} || {T, [_ | _] = Types} <- Ttcs0], + Ttcs = opt_single_valued(Ttcs1), + {Scs,St1} = + mapfoldl(fun ({T,Tcs}, St) -> + {[S|_]=Sc,S1} = match_value(L, T, Tcs, fail, St), + #cg_val_clause{anno=Anno} = S, + {#cg_type_clause{anno=Anno,type=T,values=Sc},S1} end, + St0, Ttcs), + {build_alt(build_select(U, Scs), Def),St1}. + +select_types([NoExpC|Cs], Bin, BinCon, Cons, Tuple, Map, Atom, Float, Int, Nil) -> + C = expand_pat_lit_clause(NoExpC), + case clause_con(C) of + cg_binary -> + select_types(Cs, [C|Bin], BinCon, Cons, Tuple, Map, Atom, Float, Int, Nil); + cg_bin_seg -> + select_types(Cs, Bin, [C|BinCon], Cons, Tuple, Map, Atom, Float, Int, Nil); + cg_bin_end -> + select_types(Cs, Bin, [C|BinCon], Cons, Tuple, Map, Atom, Float, Int, Nil); + cg_cons -> + select_types(Cs, Bin, BinCon, [C|Cons], Tuple, Map, Atom, Float, Int, Nil); + cg_tuple -> + select_types(Cs, Bin, BinCon, Cons, [C|Tuple], Map, Atom, Float, Int, Nil); + cg_map -> + select_types(Cs, Bin, BinCon, Cons, Tuple, [C|Map], Atom, Float, Int, Nil); + cg_nil -> + select_types(Cs, Bin, BinCon, Cons, Tuple, Map, Atom, Float, Int, [C|Nil]); + cg_atom -> + select_types(Cs, Bin, BinCon, Cons, Tuple, Map, [C|Atom], Float, Int, Nil); + cg_float -> + select_types(Cs, Bin, BinCon, Cons, Tuple, Map, Atom, [C|Float], Int, Nil); + cg_int -> + select_types(Cs, Bin, BinCon, Cons, Tuple, Map, Atom, Float, [C|Int], Nil) + end; +select_types([], Bin, BinCon, Cons, Tuple, Map, Atom, Float, Int, Nil) -> + [{cg_binary, reverse(Bin)}] ++ handle_bin_con(reverse(BinCon)) ++ + [ + {cg_cons, reverse(Cons)}, + {cg_tuple, reverse(Tuple)}, + {cg_map, reverse(Map)}, + {{bif,is_atom}, reverse(Atom)}, + {{bif,is_float}, reverse(Float)}, + {{bif,is_integer}, reverse(Int)}, + {cg_nil, reverse(Nil)} + ]. + +expand_pat_lit_clause(#iclause{pats=[#ialias{pat=#b_literal{val=Val}}=Alias|Ps]}=C) -> + P = expand_pat_lit(Val), + C#iclause{pats=[Alias#ialias{pat=P}|Ps]}; +expand_pat_lit_clause(#iclause{pats=[#b_literal{val=Val}|Ps]}=C) -> + P = expand_pat_lit(Val), + C#iclause{pats=[P|Ps]}; +expand_pat_lit_clause(C) -> C. + +expand_pat_lit([H|T]) -> + #cg_cons{hd=#b_literal{val=H},tl=#b_literal{val=T}}; +expand_pat_lit(Tuple) when is_tuple(Tuple) -> + #cg_tuple{es=[#b_literal{val=E} || E <- tuple_to_list(Tuple)]}; +expand_pat_lit(Lit) -> + #b_literal{val=Lit}. + +%% opt_singled_valued([{Type,Clauses}]) -> [{Type,Clauses}]. +%% If a type only has one clause and if the pattern is a complex +%% literal, the matching can be done more efficiently by directly +%% comparing with the literal (that is especially true for binaries). +%% +%% It is important not to do this transformation for atomic literals +%% (such as `[]`), since that would cause the test for an empty list +%% to be executed before the test for a nonempty list. + +opt_single_valued(Ttcs) -> + opt_single_valued(Ttcs, [], []). + +opt_single_valued([{_,[#iclause{pats=[#b_literal{}|_]}]}=Ttc|Ttcs], TtcAcc, LitAcc) -> + %% This is an atomic literal. + opt_single_valued(Ttcs, [Ttc|TtcAcc], LitAcc); +opt_single_valued([{_,[#iclause{pats=[P0|Ps]}=Tc]}=Ttc|Ttcs], TtcAcc, LitAcc) -> + try combine_lit_pat(P0) of + P -> + LitTtc = Tc#iclause{pats=[P|Ps]}, + opt_single_valued(Ttcs, TtcAcc, [LitTtc|LitAcc]) + catch + not_possible -> + opt_single_valued(Ttcs, [Ttc|TtcAcc], LitAcc) + end; +opt_single_valued([Ttc|Ttcs], TtcAcc, LitAcc) -> + opt_single_valued(Ttcs, [Ttc|TtcAcc], LitAcc); +opt_single_valued([], TtcAcc, []) -> + reverse(TtcAcc); +opt_single_valued([], TtcAcc, LitAcc) -> + Literals = {b_literal,reverse(LitAcc)}, + %% Test the literals as early as possible. + case reverse(TtcAcc) of + [{cg_binary,_}=Bin|Ttcs] -> + %% The delayed creation of sub binaries requires + %% bs_start_match2 to be the first instruction in the + %% function. + [Bin,Literals|Ttcs]; + Ttcs -> + [Literals|Ttcs] + end. + +combine_lit_pat(#ialias{pat=Pat0}=Alias) -> + Pat = combine_lit_pat(Pat0), + Alias#ialias{pat=Pat}; +combine_lit_pat(#b_literal{}) -> + %% This is an atomic literal. Rewriting would be a pessimization, + %% especially for `[]`. + throw(not_possible); +combine_lit_pat(Pat) -> + do_combine_lit_pat(Pat). + +do_combine_lit_pat(#cg_binary{segs=Segs}) -> + Bin = combine_bin_segs(Segs), + #b_literal{val=Bin}; +do_combine_lit_pat(#cg_cons{hd=Hd0,tl=Tl0}) -> + #b_literal{val=Hd} = do_combine_lit_pat(Hd0), + #b_literal{val=Tl} = do_combine_lit_pat(Tl0), + #b_literal{val=[Hd|Tl]}; +do_combine_lit_pat(#b_literal{}=Lit) -> + Lit; +do_combine_lit_pat(#cg_tuple{es=Es0}) -> + Es = [begin + #b_literal{val=Lit} = do_combine_lit_pat(El), + Lit + end || El <- Es0], + #b_literal{val=list_to_tuple(Es)}; +do_combine_lit_pat(_) -> + throw(not_possible). + +combine_bin_segs(#cg_bin_seg{size=#b_literal{val=8},unit=1,type=integer, + flags=[unsigned,big],seg=#b_literal{val=Int},next=Next}) + when is_integer(Int), 0 =< Int, Int =< 255 -> + <>; +combine_bin_segs(#cg_bin_end{}) -> + <<>>; +combine_bin_segs(_) -> + throw(not_possible). + +%% handle_bin_con([Clause]) -> [{Type,[Clause]}]. +%% Handle clauses for the cg_bin_seg constructor. As cg_bin_seg +%% matching can overlap, the cg_bin_seg constructors cannot be +%% reordered, only grouped. + +handle_bin_con(Cs) -> + %% The usual way to match literals is to first extract the + %% value to a register, and then compare the register to the + %% literal value. Extracting the value is good if we need + %% compare it more than once. + %% + %% But we would like to combine the extracting and the + %% comparing into a single instruction if we know that + %% a binary segment must contain specific integer value + %% or the matching will fail, like in this example: + %% + %% <<42:8,...>> -> + %% <<42:8,...>> -> + %% . + %% . + %% . + %% <<42:8,...>> -> + %% <<>> -> + %% + %% The first segment must either contain the integer 42 + %% or the binary must end for the match to succeed. + %% + %% The way we do is to replace the generic #cg_bin_seg{} + %% record with a #cg_bin_int{} record if all clauses will + %% select the same literal integer (except for one or more + %% clauses that will end the binary). + try + {BinSegs0,BinEnd} = + partition(fun (C) -> + clause_con(C) =:= cg_bin_seg + end, Cs), + BinSegs = select_bin_int(BinSegs0), + case BinEnd of + [] -> BinSegs; + [_|_] -> BinSegs ++ [{cg_bin_end,BinEnd}] + end + catch + throw:not_possible -> + handle_bin_con_not_possible(Cs) + end. + +handle_bin_con_not_possible([C1|Cs]) -> + Con = clause_con(C1), + {More,Rest} = splitwith(fun (C) -> clause_con(C) =:= Con end, Cs), + [{Con,[C1|More]}|handle_bin_con_not_possible(Rest)]; +handle_bin_con_not_possible([]) -> []. + +%% select_bin_int([Clause]) -> {cg_bin_int,[Clause]} +%% If the first pattern in each clause selects the same integer, +%% rewrite all clauses to use #cg_bin_int{} (which will later be +%% translated to a bs_match_string/4 instruction). +%% +%% If it is not possible to do this rewrite, a 'not_possible' +%% exception is thrown. + +select_bin_int([#iclause{pats=[#cg_bin_seg{type=integer, + size=#b_literal{val=Bits0}=Sz,unit=U, + flags=Fl,seg=#b_literal{val=Val}, + next=N}|Ps]}=C|Cs0]) + when is_integer(Bits0), is_integer(U) -> + Bits = U * Bits0, + if + Bits > ?EXPAND_MAX_SIZE_SEGMENT -> + throw(not_possible); %Expands the code too much. + true -> + ok + end, + select_assert_match_possible(Bits, Val, Fl), + P = #cg_bin_int{size=Sz,unit=U,flags=Fl,val=Val,next=N}, + case member(native, Fl) of + true -> throw(not_possible); + false -> ok + end, + Cs1 = [C#iclause{pats=[P|Ps]}|select_bin_int_1(Cs0, Bits, Fl, Val)], + Cs = reorder_bin_ints(Cs1), + [{cg_bin_int,Cs}]; +select_bin_int(_) -> throw(not_possible). + +select_bin_int_1([#iclause{pats=[#cg_bin_seg{type=integer, + size=#b_literal{val=Bits0}=Sz, + unit=U, + flags=Fl,seg=#b_literal{val=Val}, + next=N}|Ps]}=C|Cs], + Bits, Fl, Val) when is_integer(Val) -> + if + Bits0*U =:= Bits -> ok; + true -> throw(not_possible) + end, + P = #cg_bin_int{size=Sz,unit=U,flags=Fl,val=Val,next=N}, + [C#iclause{pats=[P|Ps]}|select_bin_int_1(Cs, Bits, Fl, Val)]; +select_bin_int_1([], _, _, _) -> []; +select_bin_int_1(_, _, _, _) -> throw(not_possible). + +select_assert_match_possible(Sz, Val, Fs) + when is_integer(Sz), Sz >= 0, is_integer(Val) -> + EmptyBindings = erl_eval:new_bindings(), + MatchFun = match_fun(Val), + EvalFun = fun({integer,_,S}, B) -> {value,S,B} end, + Expr = [{bin_element,0,{integer,0,Val},{integer,0,Sz},[{unit,1}|Fs]}], + {value,Bin,EmptyBindings} = eval_bits:expr_grp(Expr, EmptyBindings, EvalFun), + try + {match,_} = eval_bits:match_bits(Expr, Bin, + EmptyBindings, + EmptyBindings, + MatchFun, EvalFun), + ok %this is just an assertion (i.e., no return value) + catch + throw:nomatch -> + throw(not_possible) + end; +select_assert_match_possible(_, _, _) -> + throw(not_possible). + +match_fun(Val) -> + fun(match, {{integer,_,_},NewV,Bs}) when NewV =:= Val -> + {match,Bs} + end. + +reorder_bin_ints([_]=Cs) -> + Cs; +reorder_bin_ints(Cs0) -> + %% It is safe to reorder clauses that match binaries if all + %% of the followings conditions are true: + %% + %% * The first segments for all of them match the same number of + %% bits (guaranteed by caller). + %% + %% * All segments have fixed sizes. + %% + %% * The patterns that follow are also safe to re-order. + try + Cs = sort([{reorder_bin_int_sort_key(C),C} || C <- Cs0]), + [C || {_,C} <- Cs] + catch + throw:not_possible -> + Cs0 + end. + +reorder_bin_int_sort_key(#iclause{pats=[Pat|More],guard=#c_literal{val=true}}) -> + case all(fun(#b_var{}) -> true; + (_) -> false + end, More) of + true -> + %% Only variables. Safe to re-order. + ok; + false -> + %% Not safe to re-order. For example: + %% f([<<"prefix">>, <<"action">>]) -> ... + %% f([<<"prefix">>, Variable]) -> ... + throw(not_possible) + end, + + %% Ensure that the remaining segments have fixed sizes. For example, the following + %% clauses are not safe to re-order: + %% f(<<"dd",_/binary>>) -> dd; + %% f(<<"d",_/binary>>) -> d. + ensure_fixed_size(Pat#cg_bin_int.next), + + case Pat of + #cg_bin_int{val=Val,next=#cg_bin_end{}} -> + %% Sort before clauses with additional segments. This + %% usually results in better code. + [Val]; + #cg_bin_int{val=Val} -> + [Val,more] + end; +reorder_bin_int_sort_key(#iclause{}) -> + throw(not_possible). + +ensure_fixed_size(#cg_bin_seg{size=Size,next=Next}) -> + case Size of + #b_literal{val=Sz} when is_integer(Sz) -> + ensure_fixed_size(Next); + _ -> + throw(not_possible) + end; +ensure_fixed_size(#cg_bin_end{}) -> + ok. + +%% match_value([Var], Con, [Clause], Default, State) -> {SelectExpr,State}. +%% At this point all the clauses have the same constructor; we must +%% now separate them according to value. + +match_value(Us0, T, Cs0, Def, St0) -> + {Us1,Cs1,St1} = partition_intersection(T, Us0, Cs0, St0), + UCss = group_value(T, Us1, Cs1), + mapfoldl(fun ({Us,Cs}, St) -> match_clause(Us, Cs, Def, St) end, St1, UCss). + +%% partition_intersection(Type, Us, [Clause], State) -> {Us,Cs,State}. +%% Partition a map into two maps with the most common keys to the +%% first map. +%% +%% case of +%% <#{a,b}> +%% <#{a,c}> +%% <#{a}> +%% end +%% +%% becomes +%% +%% case of +%% <#{a}, #{b}> +%% <#{a}, #{c}> +%% <#{a}, #{ }> +%% end +%% +%% The intention is to group as many keys together as possible and +%% thus reduce the number of lookups to that key. + +partition_intersection(cg_map, [U|_]=Us, [_,_|_]=Cs0, St0) -> + Ps = [clause_val(C) || C <- Cs0], + case find_key_intersection(Ps) of + none -> + {Us,Cs0,St0}; + Ks -> + Cs1 = map(fun(#iclause{pats=[Arg|Args]}=C) -> + {Arg1,Arg2} = partition_keys(Arg, Ks), + C#iclause{pats=[Arg1,Arg2|Args]} + end, Cs0), + {[U|Us],Cs1,St0} + end; +partition_intersection(_, Us, Cs, St) -> + {Us,Cs,St}. + +partition_keys(#cg_map{es=Pairs}=Map, Ks) -> + F = fun(#cg_map_pair{key=Key}) -> + sets:is_element(Key, Ks) + end, + {Ps1,Ps2} = partition(F, Pairs), + {Map#cg_map{es=Ps1},Map#cg_map{es=Ps2}}; +partition_keys(#ialias{pat=Map}=Alias, Ks) -> + %% Only alias one of them. + {Map1,Map2} = partition_keys(Map, Ks), + {Map1,Alias#ialias{pat=Map2}}. + +find_key_intersection(Ps) -> + Sets = [sets:from_list(Ks, [{version, 2}]) || Ks <- Ps], + Intersection = sets:intersection(Sets), + case sets:is_empty(Intersection) of + true -> + none; + false -> + All = all(fun (Kset) -> Kset =:= Intersection end, Sets), + case All of + true -> + %% All clauses test the same keys. Partitioning + %% the keys could only make the code worse. + none; + false -> + Intersection + end + end. + +%% group_value([Clause]) -> [[Clause]]. +%% Group clauses according to value. Here we know that: +%% 1. Some types are singled valued +%% 2. The clauses in maps and bin_segs cannot be reordered, +%% only grouped +%% 3. Other types are disjoint and can be reordered + +group_value(cg_cons, Us, Cs) -> [{Us,Cs}]; %These are single valued +group_value(cg_nil, Us, Cs) -> [{Us,Cs}]; +group_value(cg_binary, Us, Cs) -> [{Us,Cs}]; +group_value(cg_bin_end, Us, Cs) -> [{Us,Cs}]; +group_value(cg_bin_seg, Us, Cs) -> group_keeping_order(Us, Cs); +group_value(cg_bin_int, Us, Cs) -> [{Us,Cs}]; +group_value(cg_map, Us, Cs) -> group_keeping_order(Us, Cs); +group_value(_, Us, Cs) -> + Map = group_values(Cs), + + %% We must sort the grouped values to ensure consistent + %% order from compilation to compilation. + sort([{Us,Vcs} || _ := Vcs <- Map]). + +group_values(Cs) -> + F = fun(C) -> clause_val(C) end, + maps:groups_from_list(F, Cs). + +group_keeping_order(Us, [C1|Cs]) -> + V1 = clause_val(C1), + {More,Rest} = splitwith(fun (C) -> clause_val(C) =:= V1 end, Cs), + [{Us,[C1|More]}|group_keeping_order(Us, Rest)]; +group_keeping_order(_, []) -> []. + +%% match_clause([Var], [Clause], Default, State) -> {Clause,State}. +%% At this point all the clauses have the same "value". Build one +%% select clause for this value and continue matching. Rename +%% aliases as well. + +match_clause([U|Us], [#iclause{anno=Anno}|_]=Cs0, Def, St0) -> + {Match,Vs,St1} = get_match(get_con(Cs0), St0), + Cs1 = new_clauses(Cs0, U), + Cs2 = squeeze_clauses(Cs1, []), + {B,St2} = match(Vs ++ Us, Cs2, Def, St1), + {#cg_val_clause{anno=Anno,val=Match,body=B},St2}. + +get_con([C|_]) -> arg_arg(clause_arg(C)). %Get the constructor + +get_match(#cg_cons{}, St0) -> + {[H,T]=L,St1} = new_vars(2, St0), + {#cg_cons{hd=H,tl=T},L,St1}; +get_match(#cg_binary{}, St0) -> + {V,St1} = new_var(St0), + {#cg_binary{segs=V},[V],St1}; +get_match(#cg_bin_seg{size=#b_literal{val=all},next=#cg_bin_end{}}=Seg, St0) -> + {[S,N],St1} = new_vars(2, St0), + {Seg#cg_bin_seg{seg=S,next=N},[S],St1}; +get_match(#cg_bin_seg{}=Seg, St0) -> + {[S,N],St1} = new_vars(2, St0), + {Seg#cg_bin_seg{seg=S,next=N},[S,N],St1}; +get_match(#cg_bin_int{}=BinInt, St0) -> + {N,St1} = new_var(St0), + {BinInt#cg_bin_int{next=N},[N],St1}; +get_match(#cg_tuple{es=Es}, St0) -> + {Mes,St1} = new_vars(length(Es), St0), + {#cg_tuple{es=Mes},Mes,St1}; +get_match(#cg_map{op=exact,es=Es0}, St0) -> + {Mes,St1} = new_vars(length(Es0), St0), + {Es,_} = mapfoldl(fun(#cg_map_pair{}=Pair, [V|Vs]) -> + {Pair#cg_map_pair{val=V},Vs} + end, Mes, Es0), + {#cg_map{op=exact,es=Es},Mes,St1}; +get_match(M, St) -> + {M,[],St}. + +new_clauses(Cs, #b_var{name=U}) -> + map(fun(#iclause{sub=Sub0,pats=[Arg|As]}=C) -> + Head = case arg_arg(Arg) of + #cg_cons{hd=H,tl=T} -> [H,T|As]; + #cg_tuple{es=Es} -> Es ++ As; + #cg_binary{segs=E} -> [E|As]; + #cg_bin_seg{size=#b_literal{val=all}, + seg=S,next=#cg_bin_end{}} -> + [S|As]; + #cg_bin_seg{seg=S,next=N} -> + [S,N|As]; + #cg_bin_int{next=N} -> + [N|As]; + #cg_map{op=exact,es=Es} -> + Vals = [V || #cg_map_pair{val=V} <- Es], + Vals ++ As; + _Other -> + As + end, + Vs = arg_alias(Arg), + Sub1 = foldl(fun (#b_var{name=V}, Acc) -> + subst_vsub(V, U, Acc) + end, Sub0, Vs), + C#iclause{sub=Sub1,pats=Head} + end, Cs). + +%%% +%%% Group and squeeze +%%% +%%% The goal of those functions is to group subsequent integer +%%% cg_bin_seg literals by count so we can leverage bs_get_integer_16 +%%% whenever possible. +%%% +%%% The priority is to create large groups. So if we have three +%%% clauses matching on 16-bits/16-bits/8-bits, we will first have a +%%% single 8-bits match for all three clauses instead of clauses (one +%%% with 16 and another with 8). But note the algorithm is recursive, +%%% so the remaining 8-bits for the first two clauses will be grouped +%%% next. +%%% +%%% We also try to avoid creating too large groups. If we have too +%%% many clauses, it is preferable to match on 8 bits, select a +%%% branch, then match on the next 8 bits, rather than match on +%%% 16 bits which would force us to have to select too many values at +%%% the same time, which would not be efficient. +%%% +%%% Another restriction is that we create groups only if the end of +%%% the group is a variadic clause or the end of the binary. That's +%%% because if we have 16-bits/16-bits/catch-all, breaking it into a +%%% 16-bits lookup will make the catch-all more expensive. +%%% +%%% Clauses are grouped in reverse when squeezing and then flattened and +%%% re-reversed at the end. +%%% + +squeeze_clauses([C|Cs], Acc) -> + case clause_count_segments(C) of + {literal,N} -> + squeeze_clauses(Cs, N, 1, [C], Acc); + _ -> + squeeze_clauses(Cs, [[C]|Acc]) + end; +squeeze_clauses(_, Acc) -> + flat_reverse(Acc). + +squeeze_clauses([C|Cs], N0, Count, GroupAcc, Acc) -> + case clause_count_segments(C) of + {literal,N} -> + squeeze_clauses(Cs, min(N0, N), Count + 1, + [C|GroupAcc], Acc); + {variadic,N} when N =< N0 -> + Squeezed = do_squeeze_clauses(GroupAcc, N, Count), + squeeze_clauses(Cs, [[C|Squeezed] | Acc]); + bin_end when Cs =:= [] -> + Squeezed = do_squeeze_clauses(GroupAcc, fix_count(N0), Count), + flat_reverse([[C|Squeezed] | Acc]); + _ -> + squeeze_clauses(Cs, [[C|GroupAcc] | Acc]) + end; +squeeze_clauses([], N, Count, GroupAcc, Acc) -> + Squeezed = do_squeeze_clauses(GroupAcc, fix_count(N), Count), + flat_reverse([Squeezed|Acc]). + +clause_count_segments(#iclause{pats=[P|_]}) -> + case P of + #cg_bin_seg{seg=#b_literal{}} -> + count_segments(P, 0); + #cg_bin_seg{size=#b_literal{val=Size}, + unit=Unit, + type=integer, + flags=[unsigned,big], + seg=#b_var{}} when ((Size * Unit) rem 8) =:= 0 -> + {variadic, (Size * Unit) div 8}; + #cg_bin_end{} -> + bin_end; + _ -> + error + end; +clause_count_segments(_) -> error. + +count_segments(#cg_bin_seg{size=#b_literal{val=8}, + unit=1,type=integer,flags=[unsigned,big], + seg=#b_literal{val=Int},next=Next}, Count) + when is_integer(Int), 0 =< Int, Int =< 255 -> + count_segments(Next, Count + 1); +count_segments(_, Count) when Count > 0 -> + {literal,Count}; +count_segments(_, _Count) -> + error. + +%% Since 4 bytes in on 32-bits systems are bignums, we convert +%% anything more than 3 bytes into a 2-byte lookup. The goal is to +%% convert any multi-clause segment into 2-byte lookups with a +%% potential 3-byte lookup at the end. +fix_count(N) when N > 3 -> 2; +fix_count(N) -> N. + +do_squeeze_clauses(Cs, Size, Count) when Count >= 16; Size =< 1 -> + %% If we have more than 16 clauses it is better to branch multiple + %% times than getting a large integer. We also give up if we have + %% nothing to squeeze. + Cs; +do_squeeze_clauses(Cs, Size, _Count) -> + [C#iclause{pats=[squeeze_segments(P, Size)|Pats]} || + #iclause{pats=[P|Pats]}=C <- Cs]. + +squeeze_segments(BinSeg, Size) -> + squeeze_segments(BinSeg, 0, 0, Size). + +squeeze_segments(#cg_bin_seg{seg=#b_literal{val=Val},next=Next}=BinSeg, + Acc0, Size0, Count) -> + Acc = (Acc0 bsl 8) bor Val, + Size = Size0 + 8, + case Count of + 1 -> + BinSeg#cg_bin_seg{size=#b_literal{val=Size}, + seg=#b_literal{val=Acc}}; + _ -> + squeeze_segments(Next, Acc, Size, Count - 1) + end. + +flat_reverse(L) -> + flat_reverse(L, []). + +flat_reverse([H|T], Acc) -> + flat_reverse(T, reverse(H, Acc)); +flat_reverse([], Acc) -> Acc. + +%%% +%%% End of group and squeeze +%%% + +%% build_guard([GuardClause]) -> GuardExpr. + +build_guard([]) -> fail; +build_guard(Cs) -> #cg_guard{clauses=Cs}. + +%% build_select(Var, [ConClause]) -> SelectExpr. + +build_select(V, [#cg_type_clause{anno=Anno}|_]=Tcs) -> + #cg_select{anno=Anno,var=V,types=Tcs}. + +%% build_alt(First, Then) -> AltExpr. +%% Build an alt. + +build_alt(fail, Then) -> Then; +build_alt(First, fail) -> First; +build_alt(First, Then) -> + Anno = get_anno(First), + #cg_alt{anno=Anno,first=First,then=Then}. + +%% build_match(MatchExpr) -> Kexpr. +%% Build a match expr if there is a match. + +build_match(#cg_alt{}=Km) -> #cg_match{body=Km}; +build_match(#cg_select{}=Km) -> #cg_match{body=Km}; +build_match(#cg_guard{}=Km) -> #cg_match{body=Km}; +build_match(Km) -> Km. + +%% clause_arg(Clause) -> FirstArg. +%% clause_con(Clause) -> Constructor. +%% clause_val(Clause) -> Value. +%% is_var_clause(Clause) -> boolean(). + +clause_arg(#iclause{pats=[Arg|_]}) -> Arg. + +clause_con(C) -> arg_con(clause_arg(C)). + +clause_val(C) -> arg_val(clause_arg(C), C). + +is_var_clause(C) -> clause_con(C) =:= b_var. + +%% arg_arg(Arg) -> Arg. +%% arg_alias(Arg) -> Aliases. +%% arg_con(Arg) -> Constructor. +%% arg_val(Arg) -> Value. +%% These are the basic functions for obtaining fields in an argument. + +arg_arg(#ialias{pat=Con}) -> Con; +arg_arg(Con) -> Con. + +arg_alias(#ialias{vars=As}) -> As; +arg_alias(_Con) -> []. + +arg_con(Arg) -> + case arg_arg(Arg) of + #cg_cons{} -> cg_cons; + #cg_tuple{} -> cg_tuple; + #cg_map{} -> cg_map; + #cg_binary{} -> cg_binary; + #cg_bin_end{} -> cg_bin_end; + #cg_bin_seg{} -> cg_bin_seg; + #b_var{} -> b_var; + #b_literal{val=Val} -> + if + is_atom(Val) -> cg_atom; + is_integer(Val) -> cg_int; + is_float(Val) -> cg_float; + Val =:= [] -> cg_nil; + true -> b_literal + end + end. + +arg_val(Arg, C) -> + case arg_arg(Arg) of + #b_literal{val=Lit} -> Lit; + #cg_tuple{es=Es} -> length(Es); + #cg_bin_seg{size=S,unit=U,type=T,flags=Fs} -> + case S of + #b_var{name=V} -> + #iclause{sub=Sub} = C, + {#b_var{name=get_vsub(V, Sub)},U,T,Fs}; + #b_literal{} -> + {S,U,T,Fs} + end; + #cg_map{op=exact,es=Es} -> + sort(fun(A, B) -> + %% Keys are #b_var{} | #b_literal{}. + %% Literals will sort before variables + %% as intended. + erts_internal:cmp_term(A, B) < 0 + end, [Key || #cg_map_pair{key=Key} <- Es]) + end. + +%%% +%%% Handling of errors and warnings (generated by the first pass). +%%% + +maybe_add_warning([C|_], MatchAnno, St) -> + maybe_add_warning(C, MatchAnno, St); +maybe_add_warning([], _MatchAnno, St) -> St; +maybe_add_warning(fail, _MatchAnno, St) -> St; +maybe_add_warning(Ke, MatchAnno, St) -> + Anno = get_anno(Ke), + case member(compiler_generated, Anno) of + true -> + St; + false -> + Warn = case get_location(MatchAnno) of + none -> + {nomatch,shadow}; + {MatchLine,_} when is_integer(MatchLine) -> + {nomatch,{shadow,MatchLine}}; + MatchLine when is_integer(MatchLine) -> + {nomatch,{shadow,MatchLine}} + end, + add_warning(Anno, Warn, St) + end. + +add_warning(Anno, Term, #kern{ws=Ws}=St) -> + Location = get_location(Anno), + File = get_file(Anno), + St#kern{ws=[{File,[{Location,?MODULE,Term}]}|Ws]}. + +get_location([Line|_]) when is_integer(Line) -> + Line; +get_location([{Line,Column}|_]) when is_integer(Line), is_integer(Column) -> + {Line,Column}; +get_location([_|T]) -> + get_location(T); +get_location([]) -> + none. + +get_file([{file,File}|_]) -> File; +get_file([_|T]) -> get_file(T); +get_file([]) -> "no_file". %Should not happen + +%%% +%%% Second pass: Variable usage and lambda lifting. +%%% + +%% ubody_used_vars(Expr, State) -> [UsedVar] +%% Return all used variables for the body sequence. Much more +%% efficient than using ubody/3 if the body contains nested letrecs. +ubody_used_vars(Expr, St) -> + {_,Used,_} = ubody(Expr, return, St#kern{funs=ignore}), + Used. + +%% ubody(Expr, Break, State) -> {Expr,[UsedVar],State}. +%% Tag the body sequence with its used variables. These bodies +%% either end with a #cg_break{}, #b_ret{} or, an expression +%% which itself can return, such as #cg_match{}. + +ubody(#ilet{vars=[],arg=#iletrec{}=Let,body=B0}, Br, St0) -> + %% An iletrec{} should never be last. + St = iletrec_funs(Let, St0), + ubody(B0, Br, St); +ubody(#ilet{vars=[],arg=#b_literal{},body=B0}, Br, St0) -> + ubody(B0, Br, St0); +ubody(#ilet{vars=[],arg=#b_var{},body=B0}, Br, St0) -> + ubody(B0, Br, St0); +ubody(#ilet{vars=Vs,arg=E0,body=B0}, Br, St0) -> + {E1,Eu,St1} = uexpr(E0, {break,Vs}, St0), + {B1,Bu,St2} = ubody(B0, Br, St1), + Ns = atomic_list_vars(Vs), + Used = union(Eu, subtract(Bu, Ns)), %Used external vars + {#cg_seq{arg=E1,body=B1},Used,St2}; +ubody(#ivalues{args=As}, {break,_Vbs}, St) -> + Au = atomic_list_vars(As), + {#cg_break{args=As},Au,St}; +ubody(#cg_break{args=As}=Break, {break,_Vbs}, St) -> + Au = atomic_list_vars(As), + {Break,Au,St}; +ubody(#b_ret{arg=Arg}=Ret, return, St) -> + Used = atomic_vars(Arg), + {Ret,Used,St}; +ubody(#cg_goto{args=As}=Goto, _Br, St) -> + Au = atomic_list_vars(As), + {Goto,Au,St}; +ubody(#cg_letrec_goto{}=E, return, St) -> + uexpr(E, return, St); +ubody(#cg_match{}=E, return, St) -> + uexpr(E, return, St); +ubody(#cg_try{}=E, return, St) -> + uexpr(E, return, St); +ubody(E, return, St0) -> + {Ea,Pa,St1} = force_atomic(E, St0), + ubody(pre_seq(Pa, #b_ret{arg=Ea}), return, St1); +ubody(E, {break,[_]}=Break, St0) -> + {Ea,Pa,St1} = force_atomic(E, St0), + ubody(pre_seq(Pa, #cg_break{args=[Ea]}), Break, St1); +ubody(E, {break,Rs}=Break, St0) -> + {Vs,St1} = new_vars(length(Rs), St0), + PreSeq = #ilet{vars=Vs,arg=E,body=#cg_break{args=Vs}}, + ubody(PreSeq, Break, St1). + +iletrec_funs(#iletrec{defs=Fs}, St0) -> + %% Use union of all free variables. + %% First just work out free variables for all functions. + Free = foldl(fun ({_,#ifun{vars=Vs,body=Fb0}}, Free0) -> + Fbu = ubody_used_vars(Fb0, St0), + Ns = atomic_list_vars(Vs), + Free1 = subtract(Fbu, Ns), + union(Free1, Free0) + end, [], Fs), + FreeVs = make_vars(Free), + %% Add this free info to State. + St1 = foldl(fun ({N,#ifun{vars=Vs}}, Lst) -> + store_free(N, length(Vs), FreeVs, Lst) + end, St0, Fs), + iletrec_funs_gen(Fs, FreeVs, St1). + +%% Now regenerate local functions to use free variable information. +iletrec_funs_gen(_, _, #kern{funs=ignore}=St) -> + %% Optimization: The ultimate caller is only interested in the used variables, + %% not the updated state. Makes a difference if there are nested letrecs. + St; +iletrec_funs_gen(Fs, FreeVs, St0) -> + foldl(fun ({N,#ifun{anno=Fa,vars=Vs,body=Fb0}}, Lst0) -> + {Fb1,_,Lst1} = ubody(Fb0, return, Lst0), + Fun = make_ssa_function(Fa, N, Vs++FreeVs, Fb1, Lst1), + Lst1#kern{funs=[Fun|Lst1#kern.funs]} + end, St0, Fs). + +%% uexpr(Expr, Break, State) -> {Expr,[UsedVar],State}. +%% Calculate the used variables for an expression. +%% Break = return | {break,[RetVar]}. + +uexpr(#cg_test{args=As}=Test, {break,Rs}, St) -> + [] = Rs, %Sanity check + Used = atomic_list_vars(As), + {Test,Used,St}; +uexpr(#ilet{vars=Vs,arg=E0,body=B0}, {break,_}=Br, St0) -> + Ns = atomic_list_vars(Vs), + {E1,Eu,St1} = uexpr(E0, {break,Vs}, St0), + {B1,Bu,St2} = uexpr(B0, Br, St1), + Used = union(Eu, subtract(Bu, Ns)), + {#cg_seq{arg=E1,body=B1},Used,St2}; +uexpr(#cg_call{op=#b_local{name=#b_literal{val=F},arity=Ar}=Op,args=As0}=Call, + {break,Rs0}, St0) -> + {Rs,St} = ensure_return_vars(Rs0, St0), + Free = get_free(F, Ar, St), + As1 = As0 ++ Free, %Add free variables LAST! + Used = atomic_list_vars(As1), + {Call#cg_call{op=Op#b_local{arity=Ar + length(Free)}, + args=As1,ret=Rs},Used,St}; +uexpr(#cg_call{anno=A,op=Op,args=As}=Call0, {break,Rs0}, St0) -> + {[R|Rs],St} = ensure_return_vars(Rs0, St0), + Used = union(op_vars(Op), atomic_list_vars(As)), + Call = Call0#cg_call{anno=A,ret=[R]}, + Seq = set_unused(Rs, Call), + {Seq,Used,St}; +uexpr(#cg_internal{args=As}=Internal, {break,Rs}, St0) -> + Used = atomic_list_vars(As), + {Brs,St1} = internal_returns(Internal, Rs, St0), + {Internal#cg_internal{ret=Brs},Used,St1}; +uexpr(#cg_match{body=B0}=Match, Br, St0) -> + Rs = break_rets(Br), + {B1,Bu,St1} = umatch(B0, Br, St0), + {Match#cg_match{body=B1,ret=Rs},Bu,St1}; +uexpr(#cg_try{arg=A0,vars=Vs,body=B0,evars=Evs,handler=H0}=Try, Br, St0) -> + Rs = break_rets(Br), + {Avs,St1} = new_vars(length(Vs), St0), + {A1,Au,St2} = ubody(A0, {break,Avs}, St1), + {B1,Bu,St3} = ubody(B0, Br, St2), + {H1,Hu,St4} = ubody(H0, Br, St3), + Used = union([Au,subtract(Bu, atomic_list_vars(Vs)), + subtract(Hu, atomic_list_vars(Evs))]), + {Try#cg_try{arg=A1,vars=Vs,body=B1,evars=Evs,handler=H1,ret=Rs}, + Used,St4}; +uexpr(#cg_catch{body=B0}=Catch, {break,Rs0}, St0) -> + {Rb,St1} = new_var(St0), + {B1,Bu,St2} = ubody(B0, {break,[Rb]}, St1), + %% Guarantee ONE return variable. + {Ns,St3} = new_vars(1 - length(Rs0), St2), + Rs1 = Rs0 ++ Ns, + {Catch#cg_catch{body=B1,ret=Rs1},Bu,St3}; +uexpr(#ifun{anno=A,vars=Vs,body=B0}, {break,Rs}, St0) -> + {B1,Bu,St1} = ubody(B0, return, St0), %Return out of new function + Ns = atomic_list_vars(Vs), + Free = subtract(Bu, Ns), %Free variables in fun + Fvs = make_vars(Free), + Arity = length(Vs) + length(Free), + {Fname,St2} = + case keyfind(id, 1, A) of + {id,{_,_,Fname0}} -> + {Fname0,St1}; + false -> + %% No id annotation. Must invent a fun name. + new_fun_name(St1) + end, + Fun = make_ssa_function(A, Fname, Vs++Fvs, B1, St2), + Local = #b_local{name=#b_literal{val=Fname},arity=Arity}, + {MakeFun,St3} = make_fun(Rs, Local, Fvs, St2), + {MakeFun,Free,add_local_function(Fun, St3)}; +uexpr(#b_local{name=#b_literal{val=Name},arity=Arity}=Local0, {break,Rs}, St0) -> + Free = atomic_list_vars(get_free(Name, Arity, St0)), + Fvs = make_vars(Free), + FreeCount = length(Fvs), + Local = Local0#b_local{arity=Arity+FreeCount}, + {MakeFun,St1} = make_fun(Rs, Local, Fvs, St0), + {MakeFun,Free,St1}; +uexpr(#cg_letrec_goto{vars=Vs,first=F0,then=T0}=LetrecGoto, Br, St0) -> + Rs = break_rets(Br), + Ns = atomic_list_vars(Vs), + {F1,Fu,St1} = ubody(F0, Br, St0), + {T1,Tu,St2} = ubody(T0, Br, St1), + Used = subtract(union(Fu, Tu), Ns), + {LetrecGoto#cg_letrec_goto{first=F1,then=T1,ret=Rs},Used,St2}; +uexpr(#b_set{dst=none,args=Args}=Set, {break,[Dst]}, St) -> + Used = atomic_list_vars(Args), + {Set#b_set{dst=Dst},Used,St}; +uexpr(#b_set{dst=none,args=Args}=Set0, {break,Rs0}, St0) -> + Used = atomic_list_vars(Args), + {[Dst|Ds],St1} = ensure_return_vars(Rs0, St0), + Seq = set_unused(Ds, Set0#b_set{dst=Dst}), + {Seq,Used,St1}; +uexpr(#cg_succeeded{set=Set0}, {break,_}=Br, St0) -> + {Set,Used,St1} = uexpr(Set0, Br, St0), + {#cg_succeeded{set=Set},Used,St1}; +uexpr(#cg_opaque{}=Opaque, _, St) -> + {Opaque,[],St}; +uexpr(Atomic, {break,[Dst]}, St0) -> + Used = atomic_vars(Atomic), + {#b_set{op=copy,dst=Dst,args=[Atomic]},Used,St0}. + +make_fun(Rs, Local, FreeVars, St0) -> + {[Dst],St1} = ensure_return_vars(Rs, St0), + {#b_set{op=make_fun,dst=Dst,args=[Local|FreeVars]},St1}. + +add_local_function(_, #kern{funs=ignore}=St) -> + St; +add_local_function(#b_function{anno=Anno}=F, + #kern{funs=Funs}=St) -> + FuncInfo = map_get(func_info, Anno), + case is_defined(FuncInfo, Funs) of + false -> + St#kern{funs=[F|Funs]}; + true -> + St + end. + +is_defined(FuncInfo, [#b_function{anno=Anno}|Fs]) -> + case Anno of + #{func_info := FuncInfo} -> true; + #{} -> is_defined(FuncInfo, Fs) + end; +is_defined(_, []) -> false. + +set_unused([D|Ds], Seq) -> + Copy = #b_set{op=copy,dst=D,args=[#b_literal{val=unused}]}, + set_unused(Ds, #cg_seq{arg=Copy,body=Seq}); +set_unused([], Seq) -> Seq. + +%% get_free(Name, Arity, State) -> [Free]. +%% store_free(Name, Arity, [Free], State) -> State. + +get_free(F, A, #kern{free=FreeMap}) -> + case FreeMap of + #{{F,A} := Val} -> Val; + #{} -> [] + end. + +store_free(F, A, Free, #kern{free=FreeMap0}=St) -> + FreeMap = FreeMap0#{{F,A} => Free}, + St#kern{free=FreeMap}. + +break_rets({break,Rs}) -> Rs; +break_rets(return) -> []. + +%% internal_returns(Op, [Ret], State) -> {[Ret],State}. +%% Fix return values for #cg_internal{}. + +internal_returns(#cg_internal{op=Op,args=Args}, Rs, St0) -> + Ar = length(Args), + NumReturns = case {Op,Ar} of + {recv_peek_message,0} -> 2; + {_,_} -> 1 + end, + {Ns,St1} = new_vars(NumReturns - length(Rs), St0), + {Rs ++ Ns,St1}. + +%% ensure_return_vars([Ret], State) -> {[Ret],State}. + +ensure_return_vars([], St) -> new_vars(1, St); +ensure_return_vars([_|_]=Rs, St) -> {Rs,St}. + +%% umatch(Match, Break, State) -> {Match,[UsedVar],State}. +%% Calculate the used variables for a match expression. + +umatch(#cg_alt{first=F0,then=T0}=Alt, Br, St0) -> + {F1,Fu,St1} = umatch(F0, Br, St0), + {T1,Tu,St2} = umatch(T0, Br, St1), + Used = union(Fu, Tu), + {Alt#cg_alt{first=F1,then=T1},Used,St2}; +umatch(#cg_select{var=#b_var{name=Var},types=Ts0}=Select, Br, St0) -> + {Ts1,Tus,St1} = umatch_list(Ts0, Br, St0), + Used = add_element(Var, Tus), + {Select#cg_select{types=Ts1},Used,St1}; +umatch(#cg_type_clause{values=Vs0}=TypeClause, Br, St0) -> + {Vs1,Vus,St1} = umatch_list(Vs0, Br, St0), + {TypeClause#cg_type_clause{values=Vs1},Vus,St1}; +umatch(#cg_val_clause{val=P0,body=B0}=ValClause, Br, St0) -> + {U0,Ps} = pat_vars(P0), + {B1,Bu,St1} = umatch(B0, Br, St0), + P = pat_mark_unused(P0, Bu, Ps), + Used = union(U0, subtract(Bu, Ps)), + {ValClause#cg_val_clause{val=P,body=B1},Used,St1}; +umatch(#cg_guard{clauses=Gs0}=Guard, Br, St0) -> + {Gs1,Gus,St1} = umatch_list(Gs0, Br, St0), + {Guard#cg_guard{clauses=Gs1},Gus,St1}; +umatch(#cg_guard_clause{guard=G0,body=B0}=GuardClause, Br, St0) -> + {G1,Gu,St1} = uexpr(G0, {break,[]}, St0), + {B1,Bu,St2} = umatch(B0, Br, St1), + Used = union(Gu, Bu), + {GuardClause#cg_guard_clause{guard=G1,body=B1},Used,St2}; +umatch(B0, Br, St0) -> ubody(B0, Br, St0). + +umatch_list(Ms0, Br, St) -> + foldr(fun (M0, {Ms1,Us,Sta}) -> + {M1,Mu,Stb} = umatch(M0, Br, Sta), + {[M1|Ms1],union(Mu, Us),Stb} + end, {[],[],St}, Ms0). + +pat_mark_unused(#cg_tuple{es=Es0}=P, Used0, Ps) -> + %% Not extracting unused tuple elements is an optimization for + %% compile time and memory use during compilation. It is probably + %% worthwhile because it is common to extract only a few elements + %% from a huge record. + Used = intersection(Used0, Ps), + Es = [case member(V, Used) of + true -> Var; + false -> #b_literal{val=unused} + end || #b_var{name=V}=Var <- Es0], + P#cg_tuple{es=Es}; +pat_mark_unused(P, _Used, _Ps) -> P. + +%% op_vars(Op) -> [VarName]. + +op_vars(#b_remote{mod=Mod,name=Name}) -> + atomic_list_vars([Mod,Name]); +op_vars(Atomic) -> atomic_vars(Atomic). + +%% atomic_vars(Literal) -> [VarName]. +%% Return the variables in an atomic (variable or literal). + +atomic_vars(#b_var{name=N}) -> [N]; +atomic_vars(#b_literal{}) -> []. + +atomic_list_vars(Ps) -> + foldl(fun (P, Vs) -> union(atomic_vars(P), Vs) end, [], Ps). + +%% pat_vars(Pattern) -> {[UsedVarName],[NewVarName]}. +%% Return variables in a pattern. All variables are new variables +%% except those in the size field of binary segments and the key +%% field in map_pairs. + +pat_vars(#b_var{name=N}) -> {[],[N]}; +pat_vars(#b_literal{}) -> {[],[]}; +pat_vars(#cg_cons{hd=H,tl=T}) -> + pat_list_vars([H,T]); +pat_vars(#cg_binary{segs=V}) -> + pat_vars(V); +pat_vars(#cg_bin_seg{size=Size,seg=S,next=N}) -> + {U1,New} = pat_list_vars([S,N]), + {[],U2} = pat_vars(Size), + {union(U1, U2),New}; +pat_vars(#cg_bin_int{size=Size,next=N}) -> + {[],New} = pat_vars(N), + {[],U} = pat_vars(Size), + {U,New}; +pat_vars(#cg_bin_end{}) -> {[],[]}; +pat_vars(#cg_tuple{es=Es}) -> + pat_list_vars(Es); +pat_vars(#cg_map{es=Es}) -> + pat_list_vars(Es); +pat_vars(#cg_map_pair{key=K,val=V}) -> + {U1,New} = pat_vars(V), + {[],U2} = pat_vars(K), + {union(U1, U2),New}. + +pat_list_vars(Ps) -> + foldl(fun (P, {Used0,New0}) -> + {Used,New} = pat_vars(P), + {union(Used0, Used),union(New0, New)} end, + {[],[]}, Ps). + +%%% +%%% Third pass: Translation to SSA code. +%%% + +-type label() :: beam_ssa:label(). + +%% Main codegen structure for the SSA pass (formerly `beam_kernel_to_ssa`). +-record(cg, {lcount=1 :: label(), %Label counter + bfail=1 :: label(), + catch_label=none :: 'none' | label(), + vars=#{} :: map(), %Defined variables. + break=0 :: label(), %Break label + checks=[] :: [term()] + }). + +make_ssa_function(Anno0, Name, As, #cg_match{}=Body, + #kern{module=Mod,vcount=Count0}) -> + Anno1 = line_anno(Anno0), + Anno2 = Anno1#{func_info => {Mod,Name,length(As)}}, + St0 = #cg{lcount=Count0}, + {Asm,St} = cg_fun(Body, St0), + #cg{checks=Checks,lcount=Count} = St, + Anno = case Checks of + [] -> + Anno2; + [_|_] -> + Anno2#{ssa_checks => Checks} + end, + #b_function{anno=Anno,args=As,bs=Asm,cnt=Count}; +make_ssa_function(Anno, Name, As, Body, St) -> + Match = #cg_match{body=Body,ret=[]}, + make_ssa_function(Anno, Name, As, Match, St). + +cg_fun(Ke, St0) -> + {FailIs,St1} = make_exception_block(St0), + {B,St} = cg(Ke, St1), + Asm0 = [{label,0}|B++FailIs], + Asm = fix_phis(Asm0), + {build_map(Asm),St}. + +make_exception_block(St0) -> + {Dst,St} = new_ssa_var(St0), + Is = [{label,?EXCEPTION_BLOCK}, + #b_set{op=call,dst=Dst, + args=[#b_remote{mod=#b_literal{val=erlang}, + name=#b_literal{val=error}, + arity=1}, + #b_literal{val=badarg}]}, + #b_ret{arg=Dst}], + {Is,St#cg{bfail=?EXCEPTION_BLOCK}}. + +%% cg(Lkexpr, State) -> {[Ainstr],State}. +%% Generate SSA code. + +cg(#b_set{op=copy,dst=#b_var{name=Dst},args=[Arg0]}, St0) -> + %% Create an alias for a variable or literal. + Arg = ssa_arg(Arg0, St0), + St = set_ssa_var(Dst, Arg, St0), + {[],St}; +cg(#b_set{args=Args0}=Set0, St) -> + Args = ssa_args(Args0, St), + Set = Set0#b_set{args=Args}, + {[Set],St}; +cg(#b_ret{arg=Ret0}, St) -> + Ret = ssa_arg(Ret0, St), + {[#b_ret{arg=Ret}],St}; +cg(#cg_succeeded{set=Set0}, St0) -> + {[#b_set{dst=Dst}=Set],St1} = cg(Set0, St0), + FailCtx = fail_context(St1), + {Is,St} = make_succeeded(Dst, FailCtx, St1), + {[Set|Is],St}; +cg(#cg_match{body=M,ret=Rs}, #cg{bfail=Bfail,break=OldBreak}=St0) -> + {B,St1} = new_label(St0), + {Mis,St2} = match_cg(M, Bfail, St1#cg{break=B}), + St = St2#cg{break=OldBreak}, + {Mis ++ [{label,B},#cg_phi{vars=Rs}],St}; +cg(#cg_seq{arg=Arg,body=Body}, St0) -> + {ArgIs,St1} = cg(Arg, St0), + {BodyIs,St} = cg(Body, St1), + {ArgIs ++ BodyIs,St}; +cg(#cg_call{anno=Anno,op=Func,args=As,ret=Rs}, St) -> + call_cg(Func, As, Rs, Anno, St); +cg(#cg_internal{anno=Anno,op=Op,args=As0,ret=Rs}, St) -> + As = ssa_args(As0, St), + internal_cg(Anno, Op, As, Rs, St); +cg(#cg_try{arg=Ta,vars=Vs,body=Tb,evars=Evs,handler=Th,ret=Rs}, St) -> + try_cg(Ta, Vs, Tb, Evs, Th, Rs, St); +cg(#cg_catch{body=Cb,ret=[R]}, St) -> + catch_cg(Cb, R, St); +cg(#cg_break{args=Bs}, #cg{break=Br}=St) -> + Args = ssa_args(Bs, St), + {[#cg_break{args=Args,phi=Br}],St}; +cg(#cg_letrec_goto{label=Tf,vars=Vs,first=First,then=Then,ret=BreakVars}, + #cg{break=OldBreak}=St0) -> + {B,St1} = new_label(St0), + {Fis,St2} = cg(First, St1#cg{break=B}), + {Sis,St} = cg(Then, St2), + PostPhi = #cg_phi{vars=BreakVars}, + FailPhi = case Vs of + [] -> []; + [_|_] -> [#cg_phi{vars=Vs}] + end, + {Fis ++ [{label,Tf}] ++ FailPhi ++ Sis ++ [{label,B},PostPhi], + St#cg{break=OldBreak}}; +cg(#cg_goto{label=Label,args=[]}, St) -> + {[make_uncond_branch(Label)],St}; +cg(#cg_goto{label=Label,args=As0}, St) -> + As = ssa_args(As0, St), + Break = #cg_break{args=As,phi=Label}, + {[Break],St}; +cg(#cg_opaque{val=Check}, St) -> + {ssa_check_when,_,_,_,_} = Check, %Assertion. + {[],St#cg{checks=[Check|St#cg.checks]}}. + +%% match_cg(Match, Fail, State) -> {[Ainstr],State}. +%% Generate code for a match tree. + +match_cg(#cg_alt{first=F,then=S}, Fail, St0) -> + {Tf,St1} = new_label(St0), + {Fis,St2} = match_cg(F, Tf, St1), + {Sis,St3} = match_cg(S, Fail, St2), + {Fis ++ [{label,Tf}] ++ Sis,St3}; +match_cg(#cg_select{var=#b_var{}=Src0,types=Scs}, Fail, St) -> + Src = ssa_arg(Src0, St), + match_fmf(fun (#cg_type_clause{type=Type,values=Vs}, F, Sta) -> + select_cg(Type, Vs, Src, F, Fail, Sta) + end, Fail, St, Scs); +match_cg(#cg_guard{clauses=Gcs}, Fail, St) -> + match_fmf(fun (G, F, Sta) -> + guard_clause_cg(G, F, Sta) + end, Fail, St, Gcs); +match_cg(Ke, _Fail, St0) -> + cg(Ke, St0). + +%% select_cg(Type, [ValueClause], Src, TypeFail, ValueFail, State) -> +%% {Is,State}. +%% Selecting type and value needs two failure labels, TypeFail is the +%% label to jump to of the next type test when this type fails, and +%% ValueFail is the label when this type is correct but the value is +%% wrong. These are different as in the second case there is no need +%% to try the next type, as it will always fail. + +select_cg(cg_binary, [S], Var, Tf, Vf, St) -> + select_binary(S, Var, Tf, Vf, St); +select_cg(cg_bin_seg, Vs, Var, Tf, _Vf, St) -> + select_bin_segs(Vs, Var, Tf, St); +select_cg(cg_bin_int, Vs, Var, Tf, _Vf, St) -> + select_bin_segs(Vs, Var, Tf, St); +select_cg(cg_bin_end, [S], Var, Tf, _Vf, St) -> + select_bin_end(S, Var, Tf, St); +select_cg(cg_map, Vs, Var, Tf, Vf, St) -> + select_map(Vs, Var, Tf, Vf, St); +select_cg(cg_cons, [S], Var, Tf, Vf, St) -> + select_cons(S, Var, Tf, Vf, St); +select_cg(cg_nil, [_]=Vs, Var, Tf, Vf, St) -> + select_literal(Vs, Var, Tf, Vf, St); +select_cg(b_literal, Vs, Var, Tf, Vf, St) -> + select_literal(Vs, Var, Tf, Vf, St); +select_cg(Type, Scs, Var, Tf, Vf, St0) -> + {Vis,St1} = + mapfoldl(fun (S, Sta) -> + {Val,Is,Stb} = select_val(S, Var, Vf, Sta), + {{Is,[Val]},Stb} + end, St0, Scs), + OptVls = combine(lists:sort(combine(Vis))), + {Vls,Sis,St2} = select_labels(OptVls, St1, [], []), + select_val_cg(Type, Var, Vls, Tf, Vf, Sis, St2). + +select_val_cg({bif,is_atom}, {bool,Dst}, Vls, _Tf, _Vf, Sis, St) -> + %% Generate a br instruction for a known boolean value from + %% the `wait_timeout` instruction. + #b_var{} = Dst, %Assertion. + [{#b_literal{val=false},Fail},{#b_literal{val=true},Succ}] = sort(Vls), + Br = #b_br{bool=Dst,succ=Succ,fail=Fail}, + {[Br|Sis],St}; +select_val_cg({bif,is_atom}, {{succeeded,_}=SuccOp,Dst}, Vls, _Tf, _Vf, Sis, St0) -> + [{#b_literal{val=false},Fail},{#b_literal{val=true},Succ}] = sort(Vls), + #b_var{} = Dst, %Assertion. + %% Generate a `{succeeded,guard}` instruction and two-way branch + %% following the `peek_message` instruction. + {Cond,St} = make_cond(SuccOp, [Dst], Fail, Succ, St0), + {Cond ++ Sis,St}; +select_val_cg(cg_tuple, Tuple, Vls, Tf, Vf, Sis, St0) -> + {Is0,St1} = make_cond_branch({bif,is_tuple}, [Tuple], Tf, St0), + {Arity,St2} = new_ssa_var(St1), + GetArity = #b_set{op={bif,tuple_size},dst=Arity,args=[Tuple]}, + {Is,St} = select_val_cg({bif,is_integer}, Arity, Vls, Vf, Vf, Sis, St2), + {Is0 ++ [GetArity|Is],St}; +select_val_cg(Type, R, Vls, Tf, Vf, Sis, St0) -> + {TypeIs,St1} = + if + Tf =:= Vf -> + %% The type and value failure labels are the same; we + %% don't need a type test. + {[],St0}; + true -> + %% Different labels for type failure and value + %% failure; we need a type test. + make_cond_branch(Type, [R], Tf, St0) + end, + case Vls of + [{Val,Succ}] -> + {Is,St} = make_cond({bif,'=:='}, [R,Val], Vf, Succ, St1), + {TypeIs++Is++Sis,St}; + [_|_] -> + {TypeIs++[#b_switch{arg=R,fail=Vf,list=Vls}|Sis],St1} + end. + +combine([{Is,Vs1},{Is,Vs2}|Vis]) -> combine([{Is,Vs1 ++ Vs2}|Vis]); +combine([V|Vis]) -> [V|combine(Vis)]; +combine([]) -> []. + +select_labels([{Is,Vs}|Vis], St0, Vls, Sis) -> + {Lbl,St1} = new_label(St0), + select_labels(Vis, St1, add_vls(Vs, Lbl, Vls), [{label,Lbl}|Is] ++ Sis); +select_labels([], St, Vls, Sis) -> + {Vls,Sis,St}. + +add_vls([V|Vs], Lbl, Acc) -> + add_vls(Vs, Lbl, [{V,Lbl}|Acc]); +add_vls([], _, Acc) -> Acc. + +select_literal(S, Src, Tf, Vf, St) -> + F = fun(ValClause, Fail, St0) -> + {Val,ValIs,St1} = select_val(ValClause, Src, Vf, St0), + Args = [Src,Val], + {Is,St2} = make_cond_branch({bif,'=:='}, Args, Fail, St1), + {Is++ValIs,St2} + end, + match_fmf(F, Tf, St, S). + +select_cons(#cg_val_clause{val=#cg_cons{hd=Hd,tl=Tl},body=B}, + Src, Tf, Vf, St0) -> + {Bis,St1} = match_cg(B, Vf, St0), + Args = [Src], + {Is,St} = make_cond_branch(is_nonempty_list, Args, Tf, St1), + GetHd = #b_set{op=get_hd,dst=Hd,args=Args}, + GetTl = #b_set{op=get_tl,dst=Tl,args=Args}, + {Is ++ [GetHd,GetTl|Bis],St}. + +select_binary(#cg_val_clause{val=#cg_binary{segs=#b_var{}=Ctx},body=B}, + Src, Tf, Vf, St0) -> + {Bis0,St1} = match_cg(B, Vf, St0), + Bis1 = finish_bs_matching(Bis0), + {TestIs,St} = make_succeeded(Ctx, {guard,Tf}, St1), + Bis = [#b_set{op=bs_start_match,dst=Ctx, + args=[#b_literal{val=new},Src]}] ++ TestIs ++ Bis1, + {Bis,St}. + +finish_bs_matching([#b_set{op=bs_match, + args=[#b_literal{val=string},Ctx, + #b_literal{val=BinList}]}=Set|Is]) + when is_list(BinList) -> + I = Set#b_set{args=[#b_literal{val=string},Ctx, + #b_literal{val=list_to_bitstring(BinList)}]}, + finish_bs_matching([I|Is]); +finish_bs_matching([I|Is]) -> + [I|finish_bs_matching(Is)]; +finish_bs_matching([]) -> []. + +%% Instructions for selection of binary segments. + +select_bin_segs(Scs, #b_var{}=Ctx, Tf, St) -> + match_fmf(fun(S, Fail, Sta) -> + select_bin_seg(S, Ctx, Fail, Sta) + end, Tf, St, Scs). + +select_bin_seg(#cg_val_clause{val=#cg_bin_seg{seg=Dst,next=Next}=Seg, + body=B,anno=Anno}, + Ctx, Fail, St0) -> + LineAnno = line_anno(Anno), + {Mis,St1} = select_extract_bin(Seg, Ctx, Fail, LineAnno, St0), + {Bis,St} = match_cg(B, Fail, St1), + BsGet = #b_set{op=bs_extract,dst=Dst,args=[ssa_arg(Next, St)]}, + Is = Mis ++ [BsGet] ++ Bis, + {Is,St}; +select_bin_seg(#cg_val_clause{val=#cg_bin_int{}=Seg,body=B}, + Ctx, Fail, St0) -> + {Mis,St1} = select_extract_int(Seg, Fail, Ctx, St0), + {Bis,St} = match_cg(B, Fail, St1), + case Mis ++ Bis of + [#b_set{op=bs_match, + args=[#b_literal{val=string},OtherCtx1,Bin1]}, + #b_set{op={succeeded,guard},dst=Bool1}, + #b_br{bool=Bool1,succ=Succ,fail=Fail}, + {label,Succ}, + #b_set{op=bs_match,dst=Dst, + args=[#b_literal{val=string},_OtherCtx2,Bin2]} | + [#b_set{op={succeeded,guard},dst=Bool2}, + #b_br{bool=Bool2,fail=Fail}|_]=Is] -> + %% We used to do this optimization later, but it turns out + %% that in huge functions with many string matching + %% instructions, it's a huge win to do the combination + %% now. To avoid copying the binary data again and again, + %% we'll combine bitstrings in a list and convert all of + %% it to a bitstring later. + {#b_literal{val=B1},#b_literal{val=B2}} = {Bin1,Bin2}, + Bin = #b_literal{val=[B1,B2]}, + Set = #b_set{op=bs_match,dst=Dst, + args=[#b_literal{val=string},OtherCtx1,Bin]}, + {[Set|Is],St}; + Is0 -> + {Is0,St} + end. + +select_bin_end(#cg_val_clause{val=#cg_bin_end{},body=B}, #b_var{}=Ctx, Tf, St0) -> + {Bis,St1} = match_cg(B, Tf, St0), + {TestIs,St} = make_cond_branch(bs_test_tail, [Ctx,#b_literal{val=0}], Tf, St1), + {TestIs ++ Bis,St}. + +select_extract_bin(#cg_bin_seg{type=Type,size=Size0,unit=Unit0, + flags=Flags0,next=Dst}, + Ctx, Fail, Anno, St0) -> + Size = case {Size0,ssa_arg(Size0, St0)} of + {#b_var{},#b_literal{val=all}} -> + %% The size `all` is used for the size of the final + %% binary segment in a pattern. Using `all` + %% explicitly is not allowed, so we convert it to + %% an obvious invalid size. Example: + %% + %% All = all, + %% <> = Bin + %% + #b_literal{val=bad_size}; + {_,Size1} -> + Size1 + end, + Unit = #b_literal{val=Unit0}, + Flags = #b_literal{val=Flags0}, + TypeArg = #b_literal{val=Type}, + Args = [TypeArg,Ctx,Flags| + case bs_need_size(Type) of + true -> [Size,Unit]; + false -> [] + end], + BsMatch = #b_set{anno=Anno,op=bs_match,dst=Dst,args=Args}, + {Is,St} = make_succeeded(Dst, {guard,Fail}, St0), + {[BsMatch|Is],St}. + +bs_need_size(utf8) -> false; +bs_need_size(utf16) -> false; +bs_need_size(utf32) -> false; +bs_need_size(_) -> true. + +select_extract_int(#cg_bin_int{val=0,size=#b_literal{val=0}, + next=#b_var{name=Tl}}, + _Fail, Ctx, St0) -> + %% Example: + %% <<..., 0:0, ...>> = Bin, + St = set_ssa_var(Tl, Ctx, St0), + {[],St}; +select_extract_int(#cg_bin_int{val=Val,size=#b_literal{val=Sz}, + unit=U,flags=Fs,next=#b_var{}=Dst}, + Fail, Ctx, St0) when is_integer(Sz), is_integer(U) -> + Bits = U * Sz, + Bin = case member(big, Fs) of + true -> + <>; + false -> + true = member(little, Fs), %Assertion. + <> + end, + Bits = bit_size(Bin), %Assertion. + {TestIs,St} = make_succeeded(Dst, {guard,Fail}, St0), + Set = #b_set{op=bs_match,dst=Dst, + args=[#b_literal{val=string},Ctx,#b_literal{val=Bin}]}, + {[Set|TestIs],St}. + +select_val(#cg_val_clause{val=#cg_tuple{es=Es},body=B}, V, Vf, St0) -> + Eis = select_extract_tuple(Es, 0, V), + {Bis,St1} = match_cg(B, Vf, St0), + {#b_literal{val=length(Es)},Eis ++ Bis,St1}; +select_val(#cg_val_clause{val=#b_literal{}=Val,body=B}, _V, Vf, St0) -> + {Bis,St1} = match_cg(B, Vf, St0), + {Val,Bis,St1}. + +select_extract_tuple([E|Es], Index, Tuple) -> + case E of + #b_var{} -> + Args = [Tuple,#b_literal{val=Index}], + Get = #b_set{op=get_tuple_element,dst=E,args=Args}, + [Get|select_extract_tuple(Es, Index+1, Tuple)]; + #b_literal{val=unused} -> + %% Not extracting tuple elements that are not used is an + %% optimization for compile time and memory use during + %% compilation, which is probably worthwhile because it is + %% common to extract only a few elements from a huge + %% record. + select_extract_tuple(Es, Index + 1, Tuple) + end; +select_extract_tuple([], _, _) -> []. + +select_map(Scs, MapSrc, Tf, Vf, St0) -> + {Is,St1} = + match_fmf(fun(#cg_val_clause{val=#cg_map{op=exact,es=Es}, + body=B}, Fail, St1) -> + select_map_val(MapSrc, Es, B, Fail, St1) + end, Vf, St0, Scs), + {TestIs,St} = make_cond_branch({bif,is_map}, [MapSrc], Tf, St1), + {TestIs++Is,St}. + +select_map_val(MapSrc, Es, B, Fail, St0) -> + {Eis,St1} = select_extract_map(Es, MapSrc, Fail, St0), + {Bis,St2} = match_cg(B, Fail, St1), + {Eis++Bis,St2}. + +select_extract_map([P|Ps], MapSrc, Fail, St0) -> + #cg_map_pair{key=Key0,val=Dst} = P, + Key = ssa_arg(Key0, St0), + Set = #b_set{op=get_map_element,dst=Dst,args=[MapSrc,Key]}, + {TestIs,St1} = make_succeeded(Dst, {guard,Fail}, St0), + {Is,St} = select_extract_map(Ps, MapSrc, Fail, St1), + {[Set|TestIs]++Is,St}; +select_extract_map([], _, _, St) -> + {[],St}. + +guard_clause_cg(#cg_guard_clause{guard=G,body=B}, Fail, St0) -> + {Gis,St1} = guard_cg(G, Fail, St0), + {Bis,St} = match_cg(B, Fail, St1), + {Gis ++ Bis,St}. + +%% guard_cg(Guard, Fail, State) -> {[Ainstr],State}. +%% A guard is a boolean expression of tests. Tests return true or +%% false. A fault in a test causes the test to return false. Tests +%% never return the boolean, instead we generate jump code to go to +%% the correct exit point. Primops and tests all go to the next +%% instruction on success or jump to a failure label. + +guard_cg(#cg_try{arg=Ts,vars=[],body=#cg_break{args=[]}, + evars=[],handler=#cg_break{args=[]}}, + Fail, + #cg{bfail=OldBfail,break=OldBreak}=St0) -> + %% Do a try/catch without return value for effect. The return + %% value is not checked; success passes on to the next instruction + %% and failure jumps to Fail. + {Next,St1} = new_label(St0), + {Tis,St2} = guard_cg(Ts, Fail, St1#cg{bfail=Fail,break=Next}), + Is = Tis ++ [{label,Next},#cg_phi{vars=[]}], + {Is,St2#cg{bfail=OldBfail,break=OldBreak}}; +guard_cg(#cg_test{op=Test,args=As}, Fail, St0) when is_atom(Test) -> + test_cg(Test, false, As, Fail, St0); +guard_cg(#cg_seq{arg=Arg,body=Body}, Fail, St0) -> + {ArgIs,St1} = guard_cg(Arg, Fail, St0), + {BodyIs,St} = guard_cg(Body, Fail, St1), + {ArgIs++BodyIs,St}; +guard_cg(G, _Fail, St) -> + cg(G, St). + +test_cg('=/=', Inverted, As, Fail, St) -> + test_cg('=:=', not Inverted, As, Fail, St); +test_cg('/=', Inverted, As, Fail, St) -> + test_cg('==', not Inverted, As, Fail, St); +test_cg(Test, Inverted, As0, Fail, St0) -> + As = ssa_args(As0, St0), + {Succ,St} = new_label(St0), + Bool = #b_var{name=Succ}, + Bif = #b_set{op={bif,Test},dst=Bool,args=As}, + Br = case Inverted of + false -> + #b_br{bool=Bool,succ=Succ,fail=Fail}; + true -> + #b_br{bool=Bool,succ=Fail,fail=Succ} + end, + {[Bif,Br,{label,Succ}],St}. + +%% match_fmf(Fun, LastFail, State, [Clause]) -> {Is,State}. +%% This is a special flatmapfoldl for match code gen where we +%% generate a "failure" label for each clause. The last clause uses +%% an externally generated failure label, LastFail. N.B. We do not +%% know or care how the failure labels are used. + +match_fmf(F, LastFail, St, [H]) -> + F(H, LastFail, St); +match_fmf(F, LastFail, St0, [H|T]) -> + {Fail,St1} = new_label(St0), + {R,St2} = F(H, Fail, St1), + {Rs,St3} = match_fmf(F, LastFail, St2, T), + {R ++ [{label,Fail}] ++ Rs,St3}. + +%% fail_context(State) -> {body | guard, FailureLabel}. +%% Return an indication of which part of a function code is +%% being generated for and the appropriate failure label to +%% use. + +fail_context(#cg{catch_label=Catch,bfail=Fail}) -> + if + Fail =/= ?EXCEPTION_BLOCK -> + {guard,Fail}; + Catch =:= none -> + {body,Fail}; + is_integer(Catch) -> + {body,Catch} + end. + +%% call_cg(Func, [Arg], [Ret], Le, State) -> +%% {[Ainstr],State}. +%% Generate code for call. + +call_cg(Func, As, [Dst], Le, St0) -> + case fail_context(St0) of + {guard,Fail} -> + %% Inside a guard. The only allowed function call is to + %% erlang:error/1,2. We will generate a branch to the + %% failure branch. + #b_remote{mod=#b_literal{val=erlang}, + name=#b_literal{val=error}} = Func, %Assertion. + {[make_uncond_branch(Fail),#cg_unreachable{}],St0}; + FailCtx -> + %% Ordinary function call in a function body. + Args = ssa_args([Func|As], St0), + Call = #b_set{anno=line_anno(Le),op=call,dst=Dst,args=Args}, + {TestIs,St} = make_succeeded(Dst, FailCtx, St0), + {[Call|TestIs],St} + end. + +internal_anno(Le) -> + Anno = line_anno(Le), + case keyfind(inlined, 1, Le) of + false -> Anno; + {inlined, NameArity} -> Anno#{inlined => NameArity} + end. + +%% internal_cg(Anno, Op, [Arg], [Ret], State) -> +%% {[Ainstr],State}. +internal_cg(_Anno, is_record, [Tuple,TagVal,ArityVal], [Dst], St0) -> + {Arity,St1} = new_ssa_var(St0), + {Tag,St2} = new_ssa_var(St1), + {Phi,St3} = new_label(St2), + {False,St4} = new_label(St3), + {Is0,St5} = make_cond_branch({bif,is_tuple}, [Tuple], False, St4), + GetArity = #b_set{op={bif,tuple_size},dst=Arity,args=[Tuple]}, + {Is1,St6} = make_cond_branch({bif,'=:='}, [Arity,ArityVal], False, St5), + GetTag = #b_set{op=get_tuple_element,dst=Tag, + args=[Tuple,#b_literal{val=0}]}, + {Is2,St} = make_cond_branch({bif,'=:='}, [Tag,TagVal], False, St6), + Is3 = [#cg_break{args=[#b_literal{val=true}],phi=Phi}, + {label,False}, + #cg_break{args=[#b_literal{val=false}],phi=Phi}, + {label,Phi}, + #cg_phi{vars=[Dst]}], + Is = Is0 ++ [GetArity] ++ Is1 ++ [GetTag] ++ Is2 ++ Is3, + {Is,St}; +internal_cg(Anno, recv_peek_message, [], [#b_var{name=Succeeded0}, + #b_var{}=Dst], St0) -> + St = new_succeeded_value(Succeeded0, Dst, St0), + Set = #b_set{anno=Anno, + op=peek_message, + dst=Dst, + args=[#b_literal{val=none}]}, + {[Set],St}; +internal_cg(_Anno, recv_wait_timeout, As, [#b_var{name=Succeeded0}], St0) -> + %% Note that the `wait_timeout` instruction can potentially branch in three + %% different directions: + %% + %% * A new message is available in the message queue. `wait_timeout` + %% branches to the given label. + %% + %% * The timeout expired. `wait_timeout` transfers control to the next + %% instruction. + %% + %% * The value for timeout duration is invalid (either not an integer or + %% negative or too large). A `timeout_value` exception will be raised. + %% + %% `wait_timeout` will be represented like this in SSA code: + %% + %% WaitBool = wait_timeout TimeoutValue + %% Succeeded = succeeded:body WaitBool + %% br Succeeded, ^good_timeout_value, ^bad_timeout_value + %% + %% good_timeout_value: + %% br WaitBool, ^timeout_expired, ^new_message_received + %% + Args = ssa_args(As, St0), + {Wait,St1} = new_ssa_var(St0), + {Succ,St2} = make_succeeded(Wait, fail_context(St1), St1), + St = new_bool_value(Succeeded0, Wait, St2), + Set = #b_set{op=wait_timeout,dst=Wait,args=Args}, + {[Set|Succ],St}. + +%% try_cg(TryBlock, [BodyVar], TryBody, [ExcpVar], TryHandler, [Ret], St) -> +%% {[Ainstr],St}. + +try_cg(Ta, SsaVs, Tb, SsaEvs, Th, BreakVars, St0) -> + case try_cg_guard(Ta, SsaVs, Tb, Th, BreakVars, St0) of + not_possible -> + %% The general try/catch (not in a guard). + {B,St1} = new_label(St0), %Body label + {H,St2} = new_label(St1), %Handler label + {E,St3} = new_label(St2), %End label + {Next,St4} = new_label(St3), + {TryTag,St5} = new_ssa_var(St4), + {Ais,St6} = cg(Ta, St5#cg{break=B,catch_label=H}), + St7 = St6#cg{break=E,catch_label=St5#cg.catch_label}, + {Bis,St8} = cg(Tb, St7), + {His,St9} = cg(Th, St8), + {Handler,St10} = try_handler(H, TryTag, SsaEvs, St9), + {KillTryTag,St} = kill_try_tag(TryTag, St10), + {[#b_set{op=new_try_tag,dst=TryTag,args=[#b_literal{val='try'}]}, + #b_br{bool=TryTag,succ=Next,fail=H}, + {label,Next}] ++ Ais ++ + [{label,B},#cg_phi{vars=SsaVs},KillTryTag] ++ Bis ++ + Handler ++ His ++ + [{label,E},#cg_phi{vars=BreakVars}], + St#cg{break=St0#cg.break}}; + Result -> + Result + end. + +try_cg_guard(Ta, SsaVs, Tb, Th, BreakVars, St0) -> + {B,St1} = new_label(St0), %Body label + {H,St2} = new_label(St1), %Handler label + {Ais,_} = cg(Ta, St2#cg{break=B,catch_label=H}), + + %% We try to avoid constructing a try/catch if the expression to + %% be evaluated don't have any side effects and if the error + %% reason is not explicitly matched. + %% + %% Starting in OTP 23, segment sizes in binary matching and keys + %% in map matching are allowed to be arbitrary guard + %% expressions. Those expressions are evaluated in a try/catch + %% so that matching can continue with the next clause if the evaluation + %% of such expression fails. + %% + %% It is not allowed to use try/catch during matching in a receive + %% (the try/catch would force the saving of fragile message references + %% to the stack frame). Therefore, avoiding creating try/catch is + %% not merely an optimization but necessary for correctness. + + case is_guard_cg_safe_list(Ais) of + true -> + %% All instructions are suitable in a guard. Check + %% whether the exception is matched. + {ProtIs,St3} = guard_cg(Ta, H, St2#cg{break=B,bfail=H}), + case {SsaVs,Tb,Th} of + {[#b_var{name=X}],#cg_break{args=[#b_var{name=X}]}, + #cg_break{args=[#b_literal{}]}} -> + {His,St} = cg(Th, St3), + Is = ProtIs ++ [{label,H}] ++ His ++ + [{label,B},#cg_phi{vars=BreakVars}], + {Is,St#cg{break=St0#cg.break,bfail=St0#cg.bfail}}; + {[#b_var{name=X}],#cg_break{args=[#b_literal{}=SuccLit,#b_var{name=X}]}, + #cg_break{args=[#b_literal{val=false},#b_literal{}]}} -> + %% This code probably evaluates a key expression + %% in map matching. + {FinalLabel,St4} = new_label(St3), + {His,St5} = cg(Th, St4#cg{break=FinalLabel}), + {Result,St} = new_ssa_var(St5), + Is = ProtIs ++ [{label,H}] ++ His ++ + [{label,B}, + #cg_phi{vars=[Result]}, + #cg_break{args=[SuccLit,Result],phi=FinalLabel}, + {label,FinalLabel}, + #cg_phi{vars=BreakVars}], + {Is,St#cg{break=St0#cg.break,bfail=St0#cg.bfail}}; + {_,#cg_break{args=[]},#cg_break{args=[]}} -> + %% This code probably does the size calculation + %% for a segment in binary matching. + {His,St} = cg(Th, St3), + Is = ProtIs ++ [{label,H}] ++ His ++ + [{label,B},#cg_phi{vars=BreakVars}], + {Is,St#cg{break=St0#cg.break,bfail=St0#cg.bfail}}; + {_,_,_} -> + not_possible + end; + false -> + not_possible + end. + +is_guard_cg_safe_list(Is) -> + all(fun is_guard_cg_safe/1, Is). + +is_guard_cg_safe(#b_set{op=call,args=Args}) -> + case Args of + [#b_remote{mod=#b_literal{val=erlang}, + name=#b_literal{val=error}, + arity=1}|_] -> + true; + _ -> + false + end; +is_guard_cg_safe(#b_set{}=I) -> not beam_ssa:clobbers_xregs(I); +is_guard_cg_safe(#b_br{}) -> true; +is_guard_cg_safe(#b_switch{}) -> true; +is_guard_cg_safe(#cg_break{}) -> true; +is_guard_cg_safe(#cg_phi{}) -> true; +is_guard_cg_safe({label,_}) -> true; +is_guard_cg_safe(#cg_unreachable{}) -> false. + +try_handler(H, TryTag, SsaEvs, St0) -> + {CatchedAgg,St1} = new_ssa_var(St0), + {KillTryTag,St} = kill_try_tag(TryTag, St1), + ExtractVs = extract_vars(SsaEvs, CatchedAgg, 0), + Args = [#b_literal{val='try'},TryTag], + Handler = [{label,H}, + #b_set{op=landingpad,dst=CatchedAgg,args=Args}] ++ + ExtractVs ++ [KillTryTag], + {Handler,St}. + +kill_try_tag(TryTag, St0) -> + {Ignored,St} = new_ssa_var(St0), + KillTryTag = #b_set{op=kill_try_tag,dst=Ignored,args=[TryTag]}, + {KillTryTag,St}. + +extract_vars([V|Vs], Agg, N) -> + I = #b_set{op=extract,dst=V,args=[Agg,#b_literal{val=N}]}, + [I|extract_vars(Vs, Agg, N+1)]; +extract_vars([], _, _) -> []. + +%% catch_cg(CatchBlock, Ret, St) -> {[Ainstr],St}. + +'catch_cg'(Block, #b_var{}=Dst, St0) -> + {B,St1} = new_label(St0), + {Next,St2} = new_label(St1), + {H,St3} = new_label(St2), + {CatchReg,St4} = new_ssa_var(St3), + {Succ,St5} = new_label(St4), + {Cis,St6} = cg(Block, St5#cg{break=Succ,catch_label=H}), + {CatchedVal,St7} = new_ssa_var(St6), + {SuccVal,St8} = new_ssa_var(St7), + {CatchedAgg,St9} = new_ssa_var(St8), + {CatchEndVal,St} = new_ssa_var(St9), + Args = [#b_literal{val='catch'},CatchReg], + {[#b_set{op=new_try_tag,dst=CatchReg,args=[#b_literal{val='catch'}]}, + #b_br{bool=CatchReg,succ=Next,fail=H}, + {label,Next}] ++ Cis ++ + [{label,H}, + #b_set{op=landingpad,dst=CatchedAgg,args=Args}, + #b_set{op=extract,dst=CatchedVal, + args=[CatchedAgg,#b_literal{val=0}]}, + #cg_break{args=[CatchedVal],phi=B}, + {label,Succ}, + #cg_phi{vars=[SuccVal]}, + #cg_break{args=[SuccVal],phi=B}, + {label,B},#cg_phi{vars=[CatchEndVal]}, + #b_set{op=catch_end,dst=Dst,args=[CatchReg,CatchEndVal]}], + St#cg{break=St1#cg.break,catch_label=St1#cg.catch_label}}. + +%%% +%%% SSA utilities. +%%% + +make_cond(Cond, Args, Fail, Succ, St0) -> + {Bool,St} = new_ssa_var(St0), + Bif = #b_set{op=Cond,dst=Bool,args=Args}, + Br = #b_br{bool=Bool,succ=Succ,fail=Fail}, + {[Bif,Br],St}. + +make_cond_branch(Cond, Args, Fail, St0) -> + {Succ,St} = new_label(St0), + Bool = #b_var{name=Succ}, + Bif = #b_set{op=Cond,dst=Bool,args=Args}, + Br = #b_br{bool=Bool,succ=Succ,fail=Fail}, + {[Bif,Br,{label,Succ}],St}. + +make_uncond_branch(Fail) -> + #b_br{bool=#b_literal{val=true},succ=Fail,fail=Fail}. + +%% +%% Success checks need to be treated differently in bodies and guards; +%% a check in a guard can be safely removed when we know it fails +%% because we know there's never any side effects, but in bodies the +%% checked instruction may throw an exception and we need to ensure it +%% isn't optimized away. +%% +%% Checks are expressed as {succeeded,guard} and {succeeded,body}, +%% respectively, where the latter has a side effect (see +%% beam_ssa:no_side_effect/1) and the former does not. This ensures +%% that passes like ssa_opt_dead and ssa_opt_live won't optimize away +%% pure operations that may throw an exception, since their result is +%% used in {succeeded,body}. +%% +%% Other than the above details, the two variants are equivalent and +%% most passes that care about them can simply match {succeeded,_}. +%% + +make_succeeded(Var, {Where,Fail}, St) when Where =:= body; Where =:= guard -> + make_cond_branch({succeeded,Where}, [Var], Fail, St). + +ssa_args(As, St) -> + [ssa_arg(A, St) || A <- As]. + +ssa_arg(#b_var{name=V}=Var0, #cg{vars=Vars}) -> + case Vars of + #{V := Var} -> Var; + #{} -> Var0 + end; +ssa_arg(#b_literal{}=Lit, _) -> + Lit; +ssa_arg(#b_remote{mod=Mod0,name=Name0,arity=Arity}, St) -> + Mod = ssa_arg(Mod0, St), + Name = ssa_arg(Name0, St), + #b_remote{mod=Mod,name=Name,arity=Arity}; +ssa_arg(#b_local{name=#b_literal{}}=Local, _) -> + Local. + +new_succeeded_value(VarBase, Var, #cg{vars=Vars0}=St) -> + Vars = Vars0#{VarBase => {{succeeded,guard},Var}}, + St#cg{vars=Vars}. + +new_bool_value(VarBase, Var, #cg{vars=Vars0}=St) -> + Vars = Vars0#{VarBase => {bool,Var}}, + St#cg{vars=Vars}. + +new_ssa_var(#cg{lcount=Uniq}=St) -> + {#b_var{name=Uniq},St#cg{lcount=Uniq+1}}. + +set_ssa_var(VarBase, Val, #cg{vars=Vars}=St) + when is_atom(VarBase); is_integer(VarBase) -> + St#cg{vars=Vars#{VarBase => Val}}. + +new_label(#cg{lcount=Next}=St) -> + {Next,St#cg{lcount=Next+1}}. + +%% line_anno(Le) -> #{} | #{location:={File,Line}}. +%% Create a location annotation, containing information about the +%% current filename and line number. The annotation should be +%% included in any operation that could cause an exception. + +line_anno([Line,{file,Name}]) when is_integer(Line) -> + line_anno_1(Name, Line); +line_anno([{Line,Column},{file,Name}]) when is_integer(Line), + is_integer(Column) -> + line_anno_1(Name, Line); +line_anno([_|_]=A) -> + {Name,Line} = find_loc(A, no_file, 0), + line_anno_1(Name, Line); +line_anno([]) -> + #{}. + +line_anno_1(no_file, _) -> + #{}; +line_anno_1(_, 0) -> + %% Missing line number or line number 0. + #{}; +line_anno_1(Name, Line) -> + #{location => {Name,Line}}. + +find_loc([Line|T], File, _) when is_integer(Line) -> + find_loc(T, File, Line); +find_loc([{Line, Column}|T], File, _) when is_integer(Line), + is_integer(Column) -> + find_loc(T, File, Line); +find_loc([{file,File}|T], _, Line) -> + find_loc(T, File, Line); +find_loc([_|T], File, Line) -> + find_loc(T, File, Line); +find_loc([], File, Line) -> {File,Line}. + +%% fix_phis(Is0) -> Is. +%% Rewrite #cg_break{} and #cg_phi{} records to #b_set{} records. +%% A #cg_break{} is rewritten to an unconditional branch, and +%% and a #cg_phi{} is rewritten to one or more phi nodes. + +fix_phis(Is) -> + fix_phis_1(Is, none, #{}). + +fix_phis_1([{label,Lbl},#cg_phi{vars=Vars}|Is0], _Lbl, Map0) -> + case Map0 of + #{Lbl := Pairs} -> + %% This phi node was referenced by at least one #cg_break{}. + %% Create the phi nodes. + Phis = gen_phis(Vars, Pairs), + Map = maps:remove(Lbl, Map0), + [{label,Lbl}] ++ Phis ++ fix_phis_1(Is0, Lbl, Map); + #{} -> + %% No #cg_break{} instructions reference this label. + %% #cg_break{} instructions must reference the labels for + %% #cg_phi{} instructions; therefore this label is + %% unreachable and can be dropped. + Is = drop_upto_label(Is0), + fix_phis_1(Is, none, Map0) + end; +fix_phis_1([{label,L}=I|Is], _Lbl, Map) -> + [I|fix_phis_1(Is, L, Map)]; +fix_phis_1([#cg_unreachable{}|Is0], _Lbl, Map) -> + Is = drop_upto_label(Is0), + fix_phis_1(Is, none, Map); +fix_phis_1([#cg_break{args=Args,phi=Target}|Is], Lbl, Map) when is_integer(Lbl) -> + %% Pair each argument with the label for this block and save in the map. + Pairs1 = case Map of + #{Target := Pairs0} -> Pairs0; + #{} -> [] + end, + Pairs = [[{Arg,Lbl} || Arg <- Args]|Pairs1], + I = make_uncond_branch(Target), + [I|fix_phis_1(Is, none, Map#{Target => Pairs})]; +fix_phis_1([#b_set{op=remove_message,dst=Dst}=Set, + #b_ret{arg=Dst}=Ret0|Is], Lbl, Map) -> + %% The remove_message instruction, which is an instruction without + %% value, was used in effect context in an `after` block. Example: + %% + %% try + %% . . . + %% after + %% . + %% . + %% . + %% receive _ -> ignored end + %% end, + %% ok. + %% + Ret = Ret0#b_ret{arg=#b_literal{val=ok}}, + [Set,Ret|fix_phis_1(Is, Lbl, Map)]; +fix_phis_1([I|Is], Lbl, Map) -> + [I|fix_phis_1(Is, Lbl, Map)]; +fix_phis_1([], _, Map) -> + 0 = map_size(Map), %Assertion. + []. + +gen_phis([V|Vs], Preds0) -> + {Pairs,Preds} = collect_predecessors(Preds0, [], []), + [_|_] = Pairs, %Assertion. + [#b_set{op=phi,dst=V,args=Pairs}|gen_phis(Vs, Preds)]; +gen_phis([], _) -> []. + +collect_predecessors([[First|Rest]|T], ColAcc, RestAcc) -> + collect_predecessors(T, [First|ColAcc], [Rest|RestAcc]); +collect_predecessors([], ColAcc, RestAcc) -> + {keysort(2, ColAcc),RestAcc}. + +drop_upto_label([{label,_}|_]=Is) -> Is; +drop_upto_label([_|Is]) -> drop_upto_label(Is). + +%% build_map(Is) -> #{}. +%% Split up the sequential instruction stream into blocks and +%% store them in a map. + +build_map(Is) -> + Linear0 = build_graph_1(Is, [], []), + Linear = beam_ssa:trim_unreachable(Linear0), + maps:from_list(Linear). + +build_graph_1([{label,L}|Is], Lbls, []) -> + build_graph_1(Is, [L|Lbls], []); +build_graph_1([{label,L}|Is], Lbls, [_|_]=BlockAcc) -> + make_blocks(Lbls, BlockAcc) ++ build_graph_1(Is, [L], []); +build_graph_1([I|Is], Lbls, BlockAcc) -> + build_graph_1(Is, Lbls, [I|BlockAcc]); +build_graph_1([], Lbls, BlockAcc) -> + make_blocks(Lbls, BlockAcc). + +make_blocks(Lbls, [Last0|Is0]) -> + Is = reverse(Is0), + Last = beam_ssa:normalize(Last0), + Block = #b_blk{is=Is,last=Last}, + [{L,Block} || L <- Lbls]. diff --git a/lib/compiler/src/beam_jump.erl b/lib/compiler/src/beam_jump.erl index 0ca75504cf8c..9536c3073db8 100644 --- a/lib/compiler/src/beam_jump.erl +++ b/lib/compiler/src/beam_jump.erl @@ -487,22 +487,26 @@ is_shareable([]) -> true. %% branches to them are located. %% %% If there is more than one scope in the function (that is, if there -%% try/catch or catch in the function), the scope identifiers will be -%% added to the line instructions. Recording the scope in the line -%% instructions makes beam_jump idempotent, ensuring that beam_jump -%% will not do any unsafe optimizations when when compiling from a .S -%% file. +%% is any try/catch or catch in the function), the scope identifiers +%% will be added to the line instructions. Recording the scope in the +%% line instructions makes beam_jump idempotent, ensuring that +%% beam_jump will not do any unsafe optimizations when compiling from +%% a .S file. %% classify_labels(Is) -> classify_labels(Is, 0, #{}). -classify_labels([{'catch',_,_}|Is], Scope, Safe) -> - classify_labels(Is, Scope+1, Safe); +classify_labels([{'catch',_,{f,L}}|Is], Scope0, Safe0) -> + Scope = Scope0 + 1, + Safe = classify_add_label(L, Scope, Safe0), + classify_labels(Is, Scope, Safe); classify_labels([{catch_end,_}|Is], Scope, Safe) -> classify_labels(Is, Scope+1, Safe); -classify_labels([{'try',_,_}|Is], Scope, Safe) -> - classify_labels(Is, Scope+1, Safe); +classify_labels([{'try',_,{f,L}}|Is], Scope0, Safe0) -> + Scope = Scope0 + 1, + Safe = classify_add_label(L, Scope, Safe0), + classify_labels(Is, Scope, Safe); classify_labels([{'try_end',_}|Is], Scope, Safe) -> classify_labels(Is, Scope+1, Safe); classify_labels([{'try_case',_}|Is], Scope, Safe) -> @@ -512,11 +516,7 @@ classify_labels([{'try_case_end',_}|Is], Scope, Safe) -> classify_labels([I|Is], Scope, Safe0) -> Labels = instr_labels(I), Safe = foldl(fun(L, A) -> - case A of - #{L := [Scope]} -> A; - #{L := Other} -> A#{L => ordsets:add_element(Scope, Other)}; - #{} -> A#{L => [Scope]} - end + classify_add_label(L, Scope, A) end, Safe0, Labels), classify_labels(Is, Scope, Safe); classify_labels([], Scope, Safe) -> @@ -529,6 +529,16 @@ classify_labels([], Scope, Safe) -> Safe end. +classify_add_label(L, Scope, Map) -> + case Map of + #{L := [Scope]} -> + Map; + #{L := [_|_]=Set} -> + Map#{L => ordsets:add_element(Scope, Set)}; + #{} -> + Map#{L => [Scope]} + end. + %% Eliminate all fallthroughs. Return the result reversed. eliminate_fallthroughs([{label,L}=Lbl|Is], [I|_]=Acc) -> diff --git a/lib/compiler/src/beam_kernel_to_ssa.erl b/lib/compiler/src/beam_kernel_to_ssa.erl deleted file mode 100644 index f94ab4ed1584..000000000000 --- a/lib/compiler/src/beam_kernel_to_ssa.erl +++ /dev/null @@ -1,1343 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2018-2023. All Rights Reserved. -%% -%% 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. -%% -%% %CopyrightEnd% -%% -%% Purpose: Convert the Kernel Erlang format to the SSA format. - --module(beam_kernel_to_ssa). - -%% The main interface. --export([module/2]). - --import(lists, [all/2,append/1,flatmap/2,foldl/3, - keyfind/3,keysort/2,mapfoldl/3,member/2, - reverse/1,sort/1]). - --include("v3_kernel.hrl"). --include("beam_ssa.hrl"). - --type label() :: beam_ssa:label(). - -%% Main codegen structure. --record(cg, {lcount=1 :: label(), %Label counter - bfail=1 :: label(), - catch_label=none :: 'none' | label(), - vars=#{} :: map(), %Defined variables. - break=0 :: label(), %Break label - recv=0 :: label(), %Receive label - ultimate_failure=0 :: label(), %Label for ultimate match failure. - labels=#{} :: #{atom() => label()}, - no_make_fun3=false :: boolean(), - checks=[] :: [term()] - }). - -%% Internal records. --record(cg_break, {args :: [beam_ssa:value()], - phi :: label() - }). --record(cg_phi, {vars :: [beam_ssa:b_var()] - }). --record(cg_unreachable, {}). - --spec module(#k_mdef{}, [compile:option()]) -> {'ok',#b_module{}}. - -module(#k_mdef{name=Mod,exports=Es,attributes=Attr,body=Forms}, Opts) -> - NoMakeFun3 = proplists:get_bool(no_make_fun3, Opts), - Body = functions(Forms, Mod, NoMakeFun3), - Module = #b_module{name=Mod,exports=Es,attributes=Attr,body=Body}, - {ok,Module}. - -functions(Forms, Mod, NoMakeFun3) -> - [function(F, Mod, NoMakeFun3) || F <- Forms]. - -function(#k_fdef{anno=Anno0,func=Name,arity=Arity, - vars=As0,body=Kb}, Mod, NoMakeFun3) -> - try - #k_match{} = Kb, %Assertion. - - %% Generate the SSA form immediate format. - St0 = #cg{no_make_fun3=NoMakeFun3}, - {As,St1} = new_ssa_vars(As0, St0), - {Asm,St} = cg_fun(Kb, St1), - Anno1 = line_anno(Anno0), - Anno2 = Anno1#{func_info=>{Mod,Name,Arity}}, - Anno = case St#cg.checks of - [] -> Anno2; - Checks -> - Anno2#{ssa_checks=>Checks} - end, - #b_function{anno=Anno,args=As,bs=Asm,cnt=St#cg.lcount} - catch - Class:Error:Stack -> - io:fwrite("Function: ~w/~w\n", [Name,Arity]), - erlang:raise(Class, Error, Stack) - end. - -%% cg_fun([Lkexpr], [HeadVar], State) -> {[Ainstr],State} - -cg_fun(Ke, St0) -> - {UltimateFail,FailIs,St1} = make_failure(badarg, St0), - ?EXCEPTION_BLOCK = UltimateFail, %Assertion. - St2 = St1#cg{bfail=UltimateFail,ultimate_failure=UltimateFail}, - {B,St} = cg(Ke, St2), - Asm = [{label,0}|B++FailIs], - finalize(Asm, St). - -make_failure(Reason, St0) -> - {Lbl,St1} = new_label(St0), - {Dst,St} = new_ssa_var('@ssa_ret', St1), - Is = [{label,Lbl}, - #b_set{op=call,dst=Dst, - args=[#b_remote{mod=#b_literal{val=erlang}, - name=#b_literal{val=error}, - arity=1}, - #b_literal{val=Reason}]}, - #b_ret{arg=Dst}], - {Lbl,Is,St}. - -%% cg(Lkexpr, State) -> {[Ainstr],State}. -%% Generate code for a kexpr. - -cg(#k_match{body=M,ret=Rs}, St) -> - do_match_cg(M, Rs, St); -cg(#k_seq{arg=Arg,body=Body}, St0) -> - {ArgIs,St1} = cg(Arg, St0), - {BodyIs,St} = cg(Body, St1), - {ArgIs++BodyIs,St}; -cg(#k_call{anno=Le,op=Func,args=As,ret=Rs}, St) -> - call_cg(Func, As, Rs, Le, St); -cg(#k_enter{anno=Le,op=Func,args=As}, St) -> - enter_cg(Func, As, Le, St); -cg(#k_bif{anno=Le}=Bif, St) -> - bif_cg(Bif, Le, St); -cg(#k_try{arg=Ta,vars=Vs,body=Tb,evars=Evs,handler=Th,ret=Rs}, St) -> - try_cg(Ta, Vs, Tb, Evs, Th, Rs, St); -cg(#k_try_enter{arg=Ta,vars=Vs,body=Tb,evars=Evs,handler=Th}, St) -> - try_enter_cg(Ta, Vs, Tb, Evs, Th, St); -cg(#k_catch{body=Cb,ret=[R]}, St) -> - do_catch_cg(Cb, R, St); -cg(#k_put{anno=Le,arg=Con,ret=Var}, St) -> - put_cg(Var, Con, Le, St); -cg(#k_return{args=[Ret0]}, St) -> - Ret = ssa_arg(Ret0, St), - {[#b_ret{arg=Ret}],St}; -cg(#k_break{args=Bs}, #cg{break=Br}=St) -> - Args = ssa_args(Bs, St), - {[#cg_break{args=Args,phi=Br}],St}; -cg(#k_letrec_goto{label=Label,vars=Vs0,first=First,then=Then,ret=Rs}, - #cg{break=OldBreak,labels=Labels0}=St0) -> - {Tf,St1} = new_label(St0), - {B,St2} = new_label(St1), - Labels = Labels0#{Label=>Tf}, - {Vs,St3} = new_ssa_vars(Vs0, St2), - {Fis,St4} = cg(First, St3#cg{labels=Labels,break=B}), - {Sis,St5} = cg(Then, St4), - St6 = St5#cg{labels=Labels0}, - {BreakVars,St} = new_ssa_vars(Rs, St6), - PostPhi = #cg_phi{vars=BreakVars}, - FailPhi = case Vs of - [] -> []; - [_|_] -> [#cg_phi{vars=Vs}] - end, - {Fis ++ [{label,Tf}] ++ FailPhi ++ Sis ++ [{label,B},PostPhi], - St#cg{break=OldBreak}}; -cg(#k_goto{label=Label,args=[]}, #cg{labels=Labels}=St) -> - Branch = map_get(Label, Labels), - {[make_uncond_branch(Branch)],St}; -cg(#k_goto{label=Label,args=As0}, #cg{labels=Labels}=St) -> - As = ssa_args(As0, St), - Branch = map_get(Label, Labels), - Break = #cg_break{args=As,phi=Branch}, - {[Break],St}; -cg(#k_opaque{val={ssa_check_when,_,_,_,_}=Check},St) -> %% Extract here - {[],St#cg{checks=[Check|St#cg.checks]}}. - -%% match_cg(Matc, [Ret], State) -> {[Ainstr],State}. -%% Generate code for a match. - -do_match_cg(M, Rs, #cg{bfail=Bfail,break=OldBreak}=St0) -> - {B,St1} = new_label(St0), - {Mis,St2} = match_cg(M, Bfail, St1#cg{break=B}), - St3 = St2#cg{break=OldBreak}, - {BreakVars,St} = new_ssa_vars(Rs, St3), - {Mis ++ [{label,B},#cg_phi{vars=BreakVars}],St}. - -%% match_cg(Match, Fail, State) -> {[Ainstr],State}. -%% Generate code for a match tree. - -match_cg(#k_alt{first=F,then=S}, Fail, St0) -> - {Tf,St1} = new_label(St0), - {Fis,St2} = match_cg(F, Tf, St1), - {Sis,St3} = match_cg(S, Fail, St2), - {Fis ++ [{label,Tf}] ++ Sis,St3}; -match_cg(#k_select{var=#k_var{}=V,types=Scs}, Fail, St) -> - match_fmf(fun (S, F, Sta) -> - select_cg(S, V, F, Fail, Sta) - end, Fail, St, Scs); -match_cg(#k_guard{clauses=Gcs}, Fail, St) -> - match_fmf(fun (G, F, Sta) -> - guard_clause_cg(G, F, Sta) - end, Fail, St, Gcs); -match_cg(Ke, _Fail, St0) -> - cg(Ke, St0). - -%% select_cg(Sclause, V, TypeFail, ValueFail, State) -> {Is,State}. -%% Selecting type and value needs two failure labels, TypeFail is the -%% label to jump to of the next type test when this type fails, and -%% ValueFail is the label when this type is correct but the value is -%% wrong. These are different as in the second case there is no need -%% to try the next type, it will always fail. - -select_cg(#k_type_clause{type=k_binary,values=[S]}, Var, Tf, Vf, St) -> - select_binary(S, Var, Tf, Vf, St); -select_cg(#k_type_clause{type=k_bin_seg,values=Vs}, Var, Tf, _Vf, St) -> - select_bin_segs(Vs, Var, Tf, St); -select_cg(#k_type_clause{type=k_bin_int,values=Vs}, Var, Tf, _Vf, St) -> - select_bin_segs(Vs, Var, Tf, St); -select_cg(#k_type_clause{type=k_bin_end,values=[S]}, Var, Tf, _Vf, St) -> - select_bin_end(S, Var, Tf, St); -select_cg(#k_type_clause{type=k_map,values=Vs}, Var, Tf, Vf, St) -> - select_map(Vs, Var, Tf, Vf, St); -select_cg(#k_type_clause{type=k_cons,values=[S]}, Var, Tf, Vf, St) -> - select_cons(S, Var, Tf, Vf, St); -select_cg(#k_type_clause{type=k_nil,values=[S]}, Var, Tf, Vf, St) -> - select_nil(S, Var, Tf, Vf, St); -select_cg(#k_type_clause{type=k_literal,values=Vs}, Var, Tf, Vf, St) -> - select_literal(Vs, Var, Tf, Vf, St); -select_cg(#k_type_clause{type=Type,values=Scs}, Var, Tf, Vf, St0) -> - {Vis,St1} = - mapfoldl(fun (S, Sta) -> - {Val,Is,Stb} = select_val(S, Var, Vf, Sta), - {{Is,[Val]},Stb} - end, St0, Scs), - OptVls = combine(lists:sort(combine(Vis))), - {Vls,Sis,St2} = select_labels(OptVls, St1, [], []), - Arg = ssa_arg(Var, St2), - {Is,St} = select_val_cg(Type, Arg, Vls, Tf, Vf, Sis, St2), - {Is,St}. - -select_val_cg(k_atom, {bool,Dst}, Vls, _Tf, _Vf, Sis, St) -> - %% Generate a br instruction for a known boolean value from - %% the `wait_timeout` instruction. - #b_var{} = Dst, %Assertion. - [{#b_literal{val=false},Fail},{#b_literal{val=true},Succ}] = sort(Vls), - Br = #b_br{bool=Dst,succ=Succ,fail=Fail}, - {[Br|Sis],St}; -select_val_cg(k_atom, {succeeded,Dst}, Vls, _Tf, _Vf, Sis, St0) -> - [{#b_literal{val=false},Fail},{#b_literal{val=true},Succ}] = sort(Vls), - #b_var{} = Dst, %Assertion. - %% Generate a `succeeded` instruction and two-way branch - %% following the `peek_message` instruction. - {Bool,St} = new_ssa_var('@ssa_bool', St0), - Succeeded = #b_set{op={succeeded,guard},dst=Bool,args=[Dst]}, - Br = #b_br{bool=Bool,succ=Succ,fail=Fail}, - {[Succeeded,Br|Sis],St}; -select_val_cg(k_tuple, Tuple, Vls, Tf, Vf, Sis, St0) -> - {Is0,St1} = make_cond_branch({bif,is_tuple}, [Tuple], Tf, St0), - {Arity,St2} = new_ssa_var('@ssa_arity', St1), - GetArity = #b_set{op={bif,tuple_size},dst=Arity,args=[Tuple]}, - {Is,St} = select_val_cg(k_int, Arity, Vls, Vf, Vf, Sis, St2), - {Is0++[GetArity]++Is,St}; -select_val_cg(Type, R, Vls, Tf, Vf, Sis, St0) -> - {TypeIs,St1} = if - Tf =:= Vf -> - %% The type and value failure labels are the same; - %% we don't need a type test. - {[],St0}; - true -> - %% Different labels for type failure and - %% label failure; we need a type test. - Test = select_type_test(Type), - make_cond_branch(Test, [R], Tf, St0) - end, - case Vls of - [{Val,Succ}] -> - {Is,St} = make_cond({bif,'=:='}, [R,Val], Vf, Succ, St1), - {TypeIs++Is++Sis,St}; - [_|_] -> - {TypeIs++[#b_switch{arg=R,fail=Vf,list=Vls}|Sis],St1} - end. - -select_type_test(k_int) -> {bif,is_integer}; -select_type_test(k_atom) -> {bif,is_atom}; -select_type_test(k_float) -> {bif,is_float}. - -combine([{Is,Vs1},{Is,Vs2}|Vis]) -> combine([{Is,Vs1 ++ Vs2}|Vis]); -combine([V|Vis]) -> [V|combine(Vis)]; -combine([]) -> []. - -select_labels([{Is,Vs}|Vis], St0, Vls, Sis) -> - {Lbl,St1} = new_label(St0), - select_labels(Vis, St1, add_vls(Vs, Lbl, Vls), [[{label,Lbl}|Is]|Sis]); -select_labels([], St, Vls, Sis) -> - {Vls,append(Sis),St}. - -add_vls([V|Vs], Lbl, Acc) -> - add_vls(Vs, Lbl, [{#b_literal{val=V},Lbl}|Acc]); -add_vls([], _, Acc) -> Acc. - -select_literal(S, V, Tf, Vf, St) -> - Src = ssa_arg(V, St), - F = fun(ValClause, Fail, St0) -> - {Val,ValIs,St1} = select_val(ValClause, V, Vf, St0), - Args = [Src,#b_literal{val=Val}], - {Is,St2} = make_cond_branch({bif,'=:='}, Args, Fail, St1), - {Is++ValIs,St2} - end, - match_fmf(F, Tf, St, S). - -select_cons(#k_val_clause{val=#k_cons{hd=Hd,tl=Tl},body=B}, - V, Tf, Vf, St0) -> - Es = [Hd,Tl], - {Eis,St1} = select_extract_cons(V, Es, St0), - {Bis,St2} = match_cg(B, Vf, St1), - Src = ssa_arg(V, St2), - {Is,St} = make_cond_branch(is_nonempty_list, [Src], Tf, St2), - {Is ++ Eis ++ Bis,St}. - -select_nil(#k_val_clause{val=#k_literal{val=[]},body=B}, V, Tf, Vf, St0) -> - {Bis,St1} = match_cg(B, Vf, St0), - Src = ssa_arg(V, St1), - {Is,St} = make_cond_branch({bif,'=:='}, [Src,#b_literal{val=[]}], Tf, St1), - {Is ++ Bis,St}. - -select_binary(#k_val_clause{val=#k_binary{segs=#k_var{name=Ctx0}},body=B}, - #k_var{}=Src, Tf, Vf, St0) -> - {Ctx,St1} = new_ssa_var(Ctx0, St0), - {Bis0,St2} = match_cg(B, Vf, St1), - {TestIs,St} = make_succeeded(Ctx, {guard, Tf}, St2), - Bis1 = [#b_set{op=bs_start_match,dst=Ctx, - args=[#b_literal{val=new}, - ssa_arg(Src, St)]}] ++ TestIs ++ Bis0, - Bis = finish_bs_matching(Bis1), - {Bis,St}. - -finish_bs_matching([#b_set{op=bs_match, - args=[#b_literal{val=string},Ctx,#b_literal{val=BinList}]}=Set|Is]) - when is_list(BinList) -> - I = Set#b_set{args=[#b_literal{val=string},Ctx, - #b_literal{val=list_to_bitstring(BinList)}]}, - finish_bs_matching([I|Is]); -finish_bs_matching([I|Is]) -> - [I|finish_bs_matching(Is)]; -finish_bs_matching([]) -> []. - -make_cond(Cond, Args, Fail, Succ, St0) -> - {Bool,St} = new_ssa_var('@ssa_bool', St0), - Bif = #b_set{op=Cond,dst=Bool,args=Args}, - Br = #b_br{bool=Bool,succ=Succ,fail=Fail}, - {[Bif,Br],St}. - -make_cond_branch(Cond, Args, Fail, St0) -> - {Bool,St1} = new_ssa_var('@ssa_bool', St0), - {Succ,St} = new_label(St1), - Bif = #b_set{op=Cond,dst=Bool,args=Args}, - Br = #b_br{bool=Bool,succ=Succ,fail=Fail}, - {[Bif,Br,{label,Succ}],St}. - -make_uncond_branch(Fail) -> - #b_br{bool=#b_literal{val=true},succ=Fail,fail=Fail}. - -%% -%% Success checks need to be treated differently in bodies and guards; a check -%% in a guard can be safely removed when we know it fails because we know -%% there's never any side-effects, but in bodies the checked instruction may -%% throw an exception and we need to ensure it isn't optimized away. -%% -%% Checks are expressed as {succeeded,guard} and {succeeded,body} respectively, -%% where the latter has a side-effect (see beam_ssa:no_side_effect/1) and the -%% former does not. This ensures that passes like ssa_opt_dead and ssa_opt_live -%% won't optimize away pure operations that may throw an exception, since their -%% result is used in {succeeded,body}. -%% -%% Other than the above details, the two variants are equivalent and most -%% passes that care about them can simply match {succeeded,_}. -%% - -make_succeeded(Var, {guard, Fail}, St) -> - make_succeeded_1(Var, guard, Fail, St); -make_succeeded(Var, {in_catch, CatchLbl}, St) -> - make_succeeded_1(Var, body, CatchLbl, St); -make_succeeded(Var, {no_catch, Fail}, St) -> - #cg{ultimate_failure=Fail} = St, %Assertion - make_succeeded_1(Var, body, Fail, St). - -make_succeeded_1(Var, Kind, Fail, St0) -> - {Bool,St1} = new_ssa_var('@ssa_bool', St0), - {Succ,St} = new_label(St1), - - Check = [#b_set{op={succeeded,Kind},dst=Bool,args=[Var]}, - #b_br{bool=Bool,succ=Succ,fail=Fail}], - - {Check ++ [{label,Succ}], St}. - -%% Instructions for selection of binary segments. - -select_bin_segs(Scs, Ivar, Tf, St) -> - match_fmf(fun(S, Fail, Sta) -> - select_bin_seg(S, Ivar, Fail, Sta) - end, Tf, St, Scs). - -select_bin_seg(#k_val_clause{val=#k_bin_seg{size=Size,unit=U,type=T, - seg=Seg,flags=Fs,next=Next}, - body=B,anno=Anno}, - #k_var{}=Src, Fail, St0) -> - LineAnno = line_anno(Anno), - Ctx = get_context(Src, St0), - {Mis,St1} = select_extract_bin(Next, Size, U, T, Fs, Fail, - Ctx, LineAnno, St0), - {Extracted,St2} = new_ssa_var(Seg#k_var.name, St1), - {Bis,St} = match_cg(B, Fail, St2), - BsGet = #b_set{op=bs_extract,dst=Extracted,args=[ssa_arg(Next, St)]}, - Is = Mis ++ [BsGet] ++ Bis, - {Is,St}; -select_bin_seg(#k_val_clause{val=#k_bin_int{size=Sz,unit=U,flags=Fs, - val=Val,next=Next}, - body=B}, - #k_var{}=Src, Fail, St0) -> - Ctx = get_context(Src, St0), - {Mis,St1} = select_extract_int(Next, Val, Sz, U, Fs, Fail, - Ctx, St0), - {Bis,St} = match_cg(B, Fail, St1), - Is = case Mis ++ Bis of - [#b_set{op=bs_match,args=[#b_literal{val=string},OtherCtx1,Bin1]}, - #b_set{op={succeeded,guard},dst=Bool1}, - #b_br{bool=Bool1,succ=Succ,fail=Fail}, - {label,Succ}, - #b_set{op=bs_match,dst=Dst,args=[#b_literal{val=string},_OtherCtx2,Bin2]}| - [#b_set{op={succeeded,guard},dst=Bool2}, - #b_br{bool=Bool2,fail=Fail}|_]=Is0] -> - %% We used to do this optimization later, but it - %% turns out that in huge functions with many - %% string matching instructions, it's a huge win - %% to do the combination now. To avoid copying the - %% binary data again and again, we'll combine bitstrings - %% in a list and convert all of it to a bitstring later. - {#b_literal{val=B1},#b_literal{val=B2}} = {Bin1,Bin2}, - Bin = #b_literal{val=[B1,B2]}, - Set = #b_set{op=bs_match,dst=Dst,args=[#b_literal{val=string},OtherCtx1,Bin]}, - [Set|Is0]; - Is0 -> - Is0 - end, - {Is,St}. - -get_context(#k_var{}=Var, St) -> - ssa_arg(Var, St). - -select_bin_end(#k_val_clause{val=#k_bin_end{},body=B}, Src, Tf, St0) -> - Ctx = get_context(Src, St0), - {Bis,St1} = match_cg(B, Tf, St0), - {TestIs,St} = make_cond_branch(bs_test_tail, [Ctx,#b_literal{val=0}], Tf, St1), - Is = TestIs++Bis, - {Is,St}. - -select_extract_bin(#k_var{name=Hd}, Size0, Unit, Type, Flags, Vf, - Ctx, Anno, St0) -> - {Dst,St1} = new_ssa_var(Hd, St0), - Size = case {Size0,ssa_arg(Size0, St0)} of - {#k_var{},#b_literal{val=all}} -> - %% The size `all` is used for the size of the final binary - %% segment in a pattern. Using `all` explicitly is not allowed, - %% so we convert it to an obvious invalid size. - #b_literal{val=bad_size}; - {_,Size1} -> - Size1 - end, - build_bs_instr(Anno, Type, Vf, Ctx, Size, Unit, Flags, Dst, St1). - -select_extract_int(#k_var{name=Tl}, 0, #k_literal{val=0}, _U, _Fs, _Vf, - Ctx, St0) -> - St = set_ssa_var(Tl, Ctx, St0), - {[],St}; -select_extract_int(#k_var{name=Tl}, Val, #k_literal{val=Sz}, U, Fs, Vf, - Ctx, St0) when is_integer(Sz) -> - {Dst,St1} = new_ssa_var(Tl, St0), - Bits = U*Sz, - Bin = case member(big, Fs) of - true -> - <>; - false -> - true = member(little, Fs), %Assertion. - <> - end, - Bits = bit_size(Bin), %Assertion. - {TestIs,St} = make_succeeded(Dst, {guard, Vf}, St1), - Set = #b_set{op=bs_match,dst=Dst, - args=[#b_literal{val=string},Ctx,#b_literal{val=Bin}]}, - {[Set|TestIs],St}. - -build_bs_instr(Anno, Type, Fail, Ctx, Size, Unit0, Flags0, Dst, St0) -> - Unit = #b_literal{val=Unit0}, - Flags = #b_literal{val=Flags0}, - NeedSize = bs_need_size(Type), - TypeArg = #b_literal{val=Type}, - Get = case NeedSize of - true -> - #b_set{anno=Anno,op=bs_match,dst=Dst, - args=[TypeArg,Ctx,Flags,Size,Unit]}; - false -> - #b_set{anno=Anno,op=bs_match,dst=Dst, - args=[TypeArg,Ctx,Flags]} - end, - {Is,St} = make_succeeded(Dst, {guard, Fail}, St0), - {[Get|Is],St}. - -select_val(#k_val_clause{val=#k_tuple{es=Es},body=B}, V, Vf, St0) -> - {Eis,St1} = select_extract_tuple(V, Es, St0), - {Bis,St2} = match_cg(B, Vf, St1), - {length(Es),Eis ++ Bis,St2}; -select_val(#k_val_clause{val=#k_literal{val=Val},body=B}, _V, Vf, St0) -> - {Bis,St1} = match_cg(B, Vf, St0), - {Val,Bis,St1}. - -%% select_extract_tuple(Src, [V], State) -> {[E],State}. -%% Extract tuple elements, but only if they are actually used. -%% -%% Not extracting tuple elements that are not used is an -%% optimization for compile time and memory use during compilation. -%% It is probably worthwhile because it is common to extract only a -%% few elements from a huge record. - -select_extract_tuple(Src, Vs, St0) -> - Tuple = ssa_arg(Src, St0), - F = fun (#k_var{anno=Anno,name=V}, {Elem,S0}) -> - case member(unused, Anno) of - true -> - {[],{Elem+1,S0}}; - false -> - Args = [Tuple,#b_literal{val=Elem}], - {Dst,S} = new_ssa_var(V, S0), - Get = #b_set{op=get_tuple_element, - dst=Dst,args=Args}, - {[Get],{Elem+1,S}} - end - end, - {Es,{_,St}} = flatmapfoldl(F, {0,St0}, Vs), - {Es,St}. - -select_map(Scs, V, Tf, Vf, St0) -> - MapSrc = ssa_arg(V, St0), - {Is,St1} = - match_fmf(fun(#k_val_clause{val=#k_map{op=exact,es=Es}, - body=B}, Fail, St1) -> - select_map_val(V, Es, B, Fail, St1) - end, Vf, St0, Scs), - {TestIs,St} = make_cond_branch({bif,is_map}, [MapSrc], Tf, St1), - {TestIs++Is,St}. - -select_map_val(V, Es, B, Fail, St0) -> - {Eis,St1} = select_extract_map(Es, V, Fail, St0), - {Bis,St2} = match_cg(B, Fail, St1), - {Eis++Bis,St2}. - -select_extract_map([P|Ps], Src, Fail, St0) -> - MapSrc = ssa_arg(Src, St0), - #k_map_pair{key=Key0,val=#k_var{name=Dst0}} = P, - Key = ssa_arg(Key0, St0), - {Dst,St1} = new_ssa_var(Dst0, St0), - Set = #b_set{op=get_map_element,dst=Dst,args=[MapSrc,Key]}, - {TestIs,St2} = make_succeeded(Dst, {guard, Fail}, St1), - {Is,St} = select_extract_map(Ps, Src, Fail, St2), - {[Set|TestIs]++Is,St}; -select_extract_map([], _, _, St) -> - {[],St}. - -select_extract_cons(Src0, [#k_var{name=Hd},#k_var{name=Tl}], St0) -> - Src = ssa_arg(Src0, St0), - {HdDst,St1} = new_ssa_var(Hd, St0), - {TlDst,St2} = new_ssa_var(Tl, St1), - GetHd = #b_set{op=get_hd,dst=HdDst,args=[Src]}, - GetTl = #b_set{op=get_tl,dst=TlDst,args=[Src]}, - {[GetHd,GetTl],St2}. - -guard_clause_cg(#k_guard_clause{guard=G,body=B}, Fail, St0) -> - {Gis,St1} = guard_cg(G, Fail, St0), - {Bis,St} = match_cg(B, Fail, St1), - {Gis ++ Bis,St}. - -%% guard_cg(Guard, Fail, State) -> {[Ainstr],State}. -%% A guard is a boolean expression of tests. Tests return true or -%% false. A fault in a test causes the test to return false. Tests -%% never return the boolean, instead we generate jump code to go to -%% the correct exit point. Primops and tests all go to the next -%% instruction on success or jump to a failure label. - -guard_cg(#k_try{arg=Ts,vars=[],body=#k_break{args=[]}, - evars=[],handler=#k_break{args=[]}}, - Fail, - #cg{bfail=OldBfail,break=OldBreak}=St0) -> - %% Do a try/catch without return value for effect. The return - %% value is not checked; success passes on to the next instruction - %% and failure jumps to Fail. - {Next,St1} = new_label(St0), - {Tis,St2} = guard_cg(Ts, Fail, St1#cg{bfail=Fail,break=Next}), - Is = Tis ++ [{label,Next},#cg_phi{vars=[]}], - {Is,St2#cg{bfail=OldBfail,break=OldBreak}}; -guard_cg(#k_test{op=Test0,args=As}, Fail, St0) -> - #k_remote{mod=#k_literal{val=erlang},name=#k_literal{val=Test}} = Test0, - test_cg(Test, false, As, Fail, St0); -guard_cg(#k_seq{arg=Arg,body=Body}, Fail, St0) -> - {ArgIs,St1} = guard_cg(Arg, Fail, St0), - {BodyIs,St} = guard_cg(Body, Fail, St1), - {ArgIs++BodyIs,St}; -guard_cg(G, _Fail, St) -> - cg(G, St). - -test_cg('=/=', Inverted, As, Fail, St) -> - test_cg('=:=', not Inverted, As, Fail, St); -test_cg('/=', Inverted, As, Fail, St) -> - test_cg('==', not Inverted, As, Fail, St); -test_cg(Test, Inverted, As0, Fail, St0) -> - As = ssa_args(As0, St0), - case {Test,ssa_args(As0, St0)} of - {is_record,[Tuple,#b_literal{val=Atom}=Tag,#b_literal{val=Int}=Arity]} - when is_atom(Atom), is_integer(Int) -> - false = Inverted, %Assertion. - test_is_record_cg(Fail, Tuple, Tag, Arity, St0); - {_,As} -> - {Bool,St1} = new_ssa_var('@ssa_bool', St0), - {Succ,St} = new_label(St1), - Bif = #b_set{op={bif,Test},dst=Bool,args=As}, - Br = case Inverted of - false -> #b_br{bool=Bool,succ=Succ,fail=Fail}; - true -> #b_br{bool=Bool,succ=Fail,fail=Succ} - end, - {[Bif,Br,{label,Succ}],St} - end. - -test_is_record_cg(Fail, Tuple, TagVal, ArityVal, St0) -> - {Arity,St1} = new_ssa_var('@ssa_arity', St0), - {Tag,St2} = new_ssa_var('@ssa_tag', St1), - {Is0,St3} = make_cond_branch({bif,is_tuple}, [Tuple], Fail, St2), - GetArity = #b_set{op={bif,tuple_size},dst=Arity,args=[Tuple]}, - {Is1,St4} = make_cond_branch({bif,'=:='}, [Arity,ArityVal], Fail, St3), - GetTag = #b_set{op=get_tuple_element,dst=Tag, - args=[Tuple,#b_literal{val=0}]}, - {Is2,St} = make_cond_branch({bif,'=:='}, [Tag,TagVal], Fail, St4), - Is = Is0 ++ [GetArity] ++ Is1 ++ [GetTag] ++ Is2, - {Is,St}. - -%% match_fmf(Fun, LastFail, State, [Clause]) -> {Is,State}. -%% This is a special flatmapfoldl for match code gen where we -%% generate a "failure" label for each clause. The last clause uses -%% an externally generated failure label, LastFail. N.B. We do not -%% know or care how the failure labels are used. - -match_fmf(F, LastFail, St, [H]) -> - F(H, LastFail, St); -match_fmf(F, LastFail, St0, [H|T]) -> - {Fail,St1} = new_label(St0), - {R,St2} = F(H, Fail, St1), - {Rs,St3} = match_fmf(F, LastFail, St2, T), - {R ++ [{label,Fail}] ++ Rs,St3}. - -%% fail_context(State) -> {Where,FailureLabel}. -%% Where = guard | no_catch | in_catch -%% Return an indication of which part of a function code is -%% being generated for and the appropriate failure label to -%% use. -%% -%% Where has the following meaning: -%% -%% guard - Inside a guard. -%% no_catch - In a function body, not in the scope of -%% a try/catch or catch. -%% in_catch - In the scope of a try/catch or catch. - -fail_context(#cg{catch_label=Catch,bfail=Fail,ultimate_failure=Ult}) -> - if - Fail =/= Ult -> - {guard,Fail}; - Catch =:= none -> - {no_catch,Fail}; - is_integer(Catch) -> - {in_catch,Catch} - end. - -%% call_cg(Func, [Arg], [Ret], Le, State) -> -%% {[Ainstr],State}. -%% enter_cg(Func, [Arg], Le, St) -> {[Ainstr],St}. -%% Generate code for call and enter. - -call_cg(Func, As, [], Le, St) -> - call_cg(Func, As, [#k_var{name='@ssa_ignored'}], Le, St); -call_cg(Func, As, [#k_var{name=R}|MoreRs]=Rs, Le, St0) -> - case fail_context(St0) of - {guard,Fail} -> - %% Inside a guard. The only allowed function call is to - %% erlang:error/1,2. We will generate a branch to the - %% failure branch. - #k_remote{mod=#k_literal{val=erlang}, - name=#k_literal{val=error}} = Func, %Assertion. - St = set_unused_ssa_vars(Rs, St0), - {[make_uncond_branch(Fail),#cg_unreachable{}],St}; - FailCtx -> - %% Ordinary function call in a function body. - Args = ssa_args([Func|As], St0), - {Ret,St1} = new_ssa_var(R, St0), - Call = #b_set{anno=line_anno(Le),op=call,dst=Ret,args=Args}, - - %% If this is a call to erlang:error(), MoreRs could be a - %% nonempty list of variables that each need a value. - St2 = set_unused_ssa_vars(MoreRs, St1), - - {TestIs,St} = make_succeeded(Ret, FailCtx, St2), - {[Call|TestIs],St} - end. - -enter_cg(Func, As0, Le, St0) -> - {no_catch,_} = FailCtx = fail_context(St0), %Assertion. - - As = ssa_args([Func|As0], St0), - {Ret,St2} = new_ssa_var('@ssa_ret', St0), - Call = #b_set{anno=line_anno(Le),op=call,dst=Ret,args=As}, - - {TestIs,St} = make_succeeded(Ret, FailCtx, St2), - {[Call | TestIs] ++ [#b_ret{arg=Ret}],St}. - -%% bif_cg(#k_bif{}, Le,State) -> {[Ainstr],State}. -%% Generate code for a guard BIF or primop. - -bif_cg(#k_bif{anno=A,op=#k_internal{name=Name},args=As,ret=Rs}, _Le, St) -> - internal_cg(internal_anno(A), Name, As, Rs, St); -bif_cg(#k_bif{op=#k_remote{mod=#k_literal{val=erlang},name=#k_literal{val=Name}}, - args=As,ret=Rs}, Le, St) -> - bif_cg(Name, As, Rs, Le, St). - -internal_anno(Le) -> - Anno = line_anno(Le), - case keyfind(inlined, 1, Le) of - false -> Anno; - {inlined, NameArity} -> Anno#{ inlined => NameArity } - end. - -%% internal_cg(Bif, [Arg], [Ret], Le, State) -> -%% {[Ainstr],State}. -internal_cg(Anno, Op, As, Rs, St0) - when Op =:= match_fail; Op =:= raise; Op =:= raw_raise -> - {Dst, St1} = case Rs of - [#k_var{name=Dst0} | Rest] -> - {Var, StV} = new_ssa_var(Dst0, St0), - {Var, set_unused_ssa_vars(Rest, StV)}; - [] -> - new_ssa_var('@exception', St0) - end, - - {Kind, _Fail} = Context = fail_context(St1), - true = (Kind =/= guard) orelse (Op =:= match_fail), %Assertion. - - Args = ssa_args(As, St1), - - Set = #b_set{anno=Anno,op=fix_op(Op, St1),dst=Dst,args=Args}, - - {TestIs, St} = make_succeeded(Dst, Context, St1), - {[Set | TestIs], St}; -internal_cg(Anno, recv_peek_message, [], [#k_var{name=Succeeded0}, - #k_var{name=Dst0}], St0) -> - {Dst,St1} = new_ssa_var(Dst0, St0), - St = new_succeeded_value(Succeeded0, Dst, St1), - Set = #b_set{ anno=Anno, - op=peek_message, - dst=Dst, - args=[#b_literal{val=none}] }, - {[Set],St}; -internal_cg(_Anno, recv_wait_timeout, As, [#k_var{name=Succeeded0}], St0) -> - %% Note that the `wait_timeout` instruction can potentially branch in three - %% different directions: - %% - %% * A new message is available in the message queue. `wait_timeout` - %% branches to the given label. - %% - %% * The timeout expired. `wait_timeout` transfers control to the next - %% instruction. - %% - %% * The value for timeout duration is invalid (either not an integer or - %% negative or too large). A `timeout_value` exception will be raised. - %% - %% `wait_timeout` will be represented like this in SSA code: - %% - %% WaitBool = wait_timeout TimeoutValue - %% Succeeded = succeeded:body WaitBool - %% br Succeeded, ^good_timeout_value, ^bad_timeout_value - %% - %% good_timeout_value: - %% br WaitBool, ^timeout_expired, ^new_message_received - %% - Args = ssa_args(As, St0), - {Wait,St1} = new_ssa_var('@ssa_wait', St0), - {Succ,St2} = make_succeeded(Wait, fail_context(St1), St1), - St = new_bool_value(Succeeded0, Wait, St2), - Set = #b_set{op=wait_timeout,dst=Wait,args=Args}, - {[Set|Succ],St}; -internal_cg(Anno, Op0, As, [#k_var{name=Dst0}], St0) when is_atom(Op0) -> - %% This behaves like a function call. - {Dst,St} = new_ssa_var(Dst0, St0), - Args = ssa_args(As, St), - Op = fix_op(Op0, St), - Set = #b_set{anno=Anno,op=Op,dst=Dst,args=Args}, - {[Set],St}; -internal_cg(Anno, Op0, As, [], St0) when is_atom(Op0) -> - %% This behaves like a function call. - {Dst,St} = new_ssa_var('@ssa_ignored', St0), - Args = ssa_args(As, St), - Op = fix_op(Op0, St), - Set = #b_set{anno=Anno,op=Op,dst=Dst,args=Args}, - {[Set],St}. - -fix_op(make_fun, #cg{no_make_fun3=true}) -> old_make_fun; -fix_op(raise, _) -> resume; -fix_op(Op, _) -> Op. - -bif_cg(Bif, As0, [#k_var{name=Dst0}], Le, St0) -> - {Dst,St1} = new_ssa_var(Dst0, St0), - case {Bif,ssa_args(As0, St0)} of - {is_record,[Tuple,#b_literal{val=Atom}=Tag, - #b_literal{val=Int}=Arity]} - when is_atom(Atom), is_integer(Int) -> - bif_is_record_cg(Dst, Tuple, Tag, Arity, St1); - {_,As} -> - I = #b_set{anno=line_anno(Le),op={bif,Bif},dst=Dst,args=As}, - case erl_bifs:is_safe(erlang, Bif, length(As)) of - false -> - FailCtx = fail_context(St1), - {Is,St} = make_succeeded(Dst, FailCtx, St1), - {[I|Is],St}; - true-> - {[I],St1} - end - end. - -bif_is_record_cg(Dst, Tuple, TagVal, ArityVal, St0) -> - {Arity,St1} = new_ssa_var('@ssa_arity', St0), - {Tag,St2} = new_ssa_var('@ssa_tag', St1), - {Phi,St3} = new_label(St2), - {False,St4} = new_label(St3), - {Is0,St5} = make_cond_branch({bif,is_tuple}, [Tuple], False, St4), - GetArity = #b_set{op={bif,tuple_size},dst=Arity,args=[Tuple]}, - {Is1,St6} = make_cond_branch({bif,'=:='}, [Arity,ArityVal], False, St5), - GetTag = #b_set{op=get_tuple_element,dst=Tag, - args=[Tuple,#b_literal{val=0}]}, - {Is2,St} = make_cond_branch({bif,'=:='}, [Tag,TagVal], False, St6), - Is3 = [#cg_break{args=[#b_literal{val=true}],phi=Phi}, - {label,False}, - #cg_break{args=[#b_literal{val=false}],phi=Phi}, - {label,Phi}, - #cg_phi{vars=[Dst]}], - Is = Is0 ++ [GetArity] ++ Is1 ++ [GetTag] ++ Is2 ++ Is3, - {Is,St}. - -%% try_cg(TryBlock, [BodyVar], TryBody, [ExcpVar], TryHandler, [Ret], St) -> -%% {[Ainstr],St}. - -try_cg(Ta, Vs, Tb, Evs, Th, Rs, St0) -> - {B,St1} = new_label(St0), %Body label - {H,St2} = new_label(St1), %Handler label - {E,St3} = new_label(St2), %End label - {Next,St4} = new_label(St3), - {TryTag,St5} = new_ssa_var('@ssa_catch_tag', St4), - {SsaVs,St6} = new_ssa_vars(Vs, St5), - {SsaEvs,St7} = new_ssa_vars(Evs, St6), - {Ais,St8} = cg(Ta, St7#cg{break=B,catch_label=H}), - - %% We try to avoid constructing a try/catch if the expression to - %% be evaluated don't have any side effects and if the error - %% reason is not explicitly matched. - %% - %% Starting in OTP 23, segment sizes in binary matching and keys - %% in map matching are allowed to be arbitrary guard - %% expressions. Those expressions are evaluated in a try/catch - %% so that matching can continue with the next clause if the evaluation - %% of such expression fails. - %% - %% It is not allowed to use try/catch during matching in a receive - %% (the try/catch would force the saving of fragile message references - %% to the stack frame). Therefore, avoiding creating try/catch is - %% not merely an optimization but necessary for correctness. - - case {Vs,Tb,Th,is_guard_cg_safe_list(Ais)} of - {[#k_var{name=X}],#k_break{args=[#k_var{name=X}]}, - #k_break{args=[#k_literal{}]},true} -> - %% There are no instructions that will clobber X registers - %% and the exception is not matched. Therefore, a - %% try/catch is not needed. This code is probably located - %% in a guard. - {ProtIs,St9} = guard_cg(Ta, H, St7#cg{break=B,bfail=H}), - {His,St10} = cg(Th, St9), - {RetVars,St} = new_ssa_vars(Rs, St10), - Is = ProtIs ++ [{label,H}] ++ His ++ - [{label,B},#cg_phi{vars=RetVars}], - {Is,St#cg{break=St0#cg.break,bfail=St7#cg.bfail}}; - {[#k_var{name=X}],#k_break{args=[#k_literal{}=SuccLit0,#k_var{name=X}]}, - #k_break{args=[#k_literal{val=false},#k_literal{}]},true} -> - %% There are no instructions that will clobber X registers - %% and the exception is not matched. Therefore, a - %% try/catch is not needed. This code probably evaluates - %% a key expression in map matching. - {FinalLabel,St9} = new_label(St7), - {ProtIs,St10} = guard_cg(Ta, H, St9#cg{break=B,bfail=H}), - {His,St11} = cg(Th, St10#cg{break=FinalLabel}), - {RetVars,St12} = new_ssa_vars(Rs, St11), - {Result,St} = new_ssa_var('@ssa_result', St12), - SuccLit = ssa_arg(SuccLit0, St), - Is = ProtIs ++ [{label,H}] ++ His ++ - [{label,B}, - #cg_phi{vars=[Result]}, - #cg_break{args=[SuccLit,Result],phi=FinalLabel}, - {label,FinalLabel}, - #cg_phi{vars=RetVars}], - {Is,St#cg{break=St0#cg.break,bfail=St7#cg.bfail}}; - {_,#k_break{args=[]},#k_break{args=[]},true} -> - %% There are no instructions that will clobber X registers - %% and the exception is not matched. Therefore, a - %% try/catch is not needed. This code probably does the - %% size calculation for a segment in binary matching. - {ProtIs,St9} = guard_cg(Ta, H, St7#cg{break=B,bfail=H}), - {His,St10} = cg(Th, St9), - {RetVars,St} = new_ssa_vars(Rs, St10), - Is = ProtIs ++ [{label,H}] ++ His ++ - [{label,B},#cg_phi{vars=RetVars}], - {Is,St#cg{break=St0#cg.break,bfail=St7#cg.bfail}}; - {_,_,_,_} -> - %% The general try/catch (not in a guard). - St9 = St8#cg{break=E,catch_label=St7#cg.catch_label}, - {Bis,St10} = cg(Tb, St9), - {His,St11} = cg(Th, St10), - {BreakVars,St12} = new_ssa_vars(Rs, St11), - {CatchedAgg,St13} = new_ssa_var('@ssa_agg', St12), - ExtractVs = extract_vars(SsaEvs, CatchedAgg, 0), - KillTryTag = #b_set{op=kill_try_tag,args=[TryTag]}, - Args = [#b_literal{val='try'},TryTag], - Handler = [{label,H}, - #b_set{op=landingpad,dst=CatchedAgg,args=Args}] ++ - ExtractVs ++ [KillTryTag], - {[#b_set{op=new_try_tag,dst=TryTag,args=[#b_literal{val='try'}]}, - #b_br{bool=TryTag,succ=Next,fail=H}, - {label,Next}] ++ Ais ++ - [{label,B},#cg_phi{vars=SsaVs},KillTryTag] ++ Bis ++ - Handler ++ His ++ - [{label,E},#cg_phi{vars=BreakVars}], - St13#cg{break=St0#cg.break}} - end. - -is_guard_cg_safe_list(Is) -> - all(fun is_guard_cg_safe/1, Is). - -is_guard_cg_safe(#b_set{op=call,args=Args}) -> - case Args of - [#b_remote{mod=#b_literal{val=erlang}, - name=#b_literal{val=error}, - arity=1}|_] -> - true; - _ -> - false - end; -is_guard_cg_safe(#b_set{}=I) -> not beam_ssa:clobbers_xregs(I); -is_guard_cg_safe(#b_br{}) -> true; -is_guard_cg_safe(#b_switch{}) -> true; -is_guard_cg_safe(#cg_break{}) -> true; -is_guard_cg_safe(#cg_phi{}) -> true; -is_guard_cg_safe({label,_}) -> true; -is_guard_cg_safe(#cg_unreachable{}) -> false. - -try_enter_cg(Ta, Vs, Tb, Evs, Th, St0) -> - {B,St1} = new_label(St0), %Body label - {H,St2} = new_label(St1), %Handler label - {Next,St3} = new_label(St2), - {TryTag,St4} = new_ssa_var('@ssa_catch_tag', St3), - {SsaVs,St5} = new_ssa_vars(Vs, St4), - {SsaEvs,St6} = new_ssa_vars(Evs, St5), - {Ais,St7} = cg(Ta, St6#cg{break=B,catch_label=H}), - St8 = St7#cg{catch_label=St6#cg.catch_label}, - {Bis,St9} = cg(Tb, St8), - {His,St10} = cg(Th, St9), - {CatchedAgg,St} = new_ssa_var('@ssa_agg', St10), - ExtractVs = extract_vars(SsaEvs, CatchedAgg, 0), - KillTryTag = #b_set{op=kill_try_tag,args=[TryTag]}, - Args = [#b_literal{val='try'},TryTag], - Handler = [{label,H}, - #b_set{op=landingpad,dst=CatchedAgg,args=Args}] ++ - ExtractVs ++ [KillTryTag], - {[#b_set{op=new_try_tag,dst=TryTag,args=[#b_literal{val='try'}]}, - #b_br{bool=TryTag,succ=Next,fail=H}, - {label,Next}] ++ Ais ++ - [{label,B},#cg_phi{vars=SsaVs},KillTryTag] ++ Bis ++ - Handler ++ His, - St#cg{break=St0#cg.break}}. - -extract_vars([V|Vs], Agg, N) -> - I = #b_set{op=extract,dst=V,args=[Agg,#b_literal{val=N}]}, - [I|extract_vars(Vs, Agg, N+1)]; -extract_vars([], _, _) -> []. - -%% do_catch_cg(CatchBlock, Ret, St) -> {[Ainstr],St}. - -do_catch_cg(Block, #k_var{name=R}, St0) -> - {B,St1} = new_label(St0), - {Next,St2} = new_label(St1), - {H,St3} = new_label(St2), - {CatchReg,St4} = new_ssa_var('@ssa_catch_tag', St3), - {Dst,St5} = new_ssa_var(R, St4), - {Succ,St6} = new_label(St5), - {Cis,St7} = cg(Block, St6#cg{break=Succ,catch_label=H}), - {CatchedVal,St8} = new_ssa_var('@catched_val', St7), - {SuccVal,St9} = new_ssa_var('@success_val', St8), - {CatchedAgg,St10} = new_ssa_var('@ssa_agg', St9), - {CatchEndVal,St} = new_ssa_var('@catch_end_val', St10), - Args = [#b_literal{val='catch'},CatchReg], - {[#b_set{op=new_try_tag,dst=CatchReg,args=[#b_literal{val='catch'}]}, - #b_br{bool=CatchReg,succ=Next,fail=H}, - {label,Next}] ++ Cis ++ - [{label,H}, - #b_set{op=landingpad,dst=CatchedAgg,args=Args}, - #b_set{op=extract,dst=CatchedVal, - args=[CatchedAgg,#b_literal{val=0}]}, - #cg_break{args=[CatchedVal],phi=B}, - {label,Succ}, - #cg_phi{vars=[SuccVal]}, - #cg_break{args=[SuccVal],phi=B}, - {label,B},#cg_phi{vars=[CatchEndVal]}, - #b_set{op=catch_end,dst=Dst,args=[CatchReg,CatchEndVal]}], - St#cg{break=St1#cg.break,catch_label=St1#cg.catch_label}}. - -%% put_cg([Var], Constr, Le, Vdb, Bef, St) -> {[Ainstr],St}. -%% Generate code for constructing terms. - -put_cg([#k_var{name=R}], #k_cons{hd=Hd,tl=Tl}, _Le, St0) -> - Args = ssa_args([Hd,Tl], St0), - {Dst,St} = new_ssa_var(R, St0), - PutList = #b_set{op=put_list,dst=Dst,args=Args}, - {[PutList],St}; -put_cg([#k_var{name=R}], #k_tuple{es=Es}, _Le, St0) -> - {Ret,St} = new_ssa_var(R, St0), - Args = ssa_args(Es, St), - PutTuple = #b_set{op=put_tuple,dst=Ret,args=Args}, - {[PutTuple],St}; -put_cg([#k_var{name=R}], #k_binary{segs=Segs}, Le, St0) -> - FailCtx = fail_context(St0), - {Dst,St1} = new_ssa_var(R, St0), - cg_binary(Dst, Segs, FailCtx, Le, St1); -put_cg([#k_var{name=R}], #k_map{op=Op,var=Map, - es=[#k_map_pair{key=#k_var{}=K,val=V}]}, - Le, St0) -> - %% Map: single variable key. - SrcMap = ssa_arg(Map, St0), - LineAnno = line_anno(Le), - List = [ssa_arg(K, St0),ssa_arg(V, St0)], - {Dst,St1} = new_ssa_var(R, St0), - {Is,St} = put_cg_map(LineAnno, Op, SrcMap, Dst, List, St1), - {Is,St}; -put_cg([#k_var{name=R}], #k_map{op=Op,var=Map,es=Es}, Le, St0) -> - %% Map: one or more literal keys. - [] = [Var || #k_map_pair{key=#k_var{}=Var} <- Es], %Assertion - SrcMap = ssa_arg(Map, St0), - LineAnno = line_anno(Le), - List = flatmap(fun(#k_map_pair{key=K,val=V}) -> - [ssa_arg(K, St0),ssa_arg(V, St0)] - end, Es), - {Dst,St1} = new_ssa_var(R, St0), - {Is,St} = put_cg_map(LineAnno, Op, SrcMap, Dst, List, St1), - {Is,St}; -put_cg([#k_var{name=R}], Con0, _Le, St0) -> - %% Create an alias for a variable or literal. - Con = ssa_arg(Con0, St0), - St = set_ssa_var(R, Con, St0), - {[],St}. - -put_cg_map(LineAnno, Op, SrcMap, Dst, List, St0) -> - Args = [#b_literal{val=Op},SrcMap|List], - PutMap = #b_set{anno=LineAnno,op=put_map,dst=Dst,args=Args}, - if - Op =:= assoc -> - {[PutMap],St0}; - true -> - FailCtx = fail_context(St0), - {Is,St} = make_succeeded(Dst, FailCtx, St0), - {[PutMap|Is],St} - end. - -%%% -%%% Code generation for constructing binaries. -%%% - -cg_binary(Dst, Segs0, FailCtx, Le, St0) -> - Segs1 = cg_bin_segments(Segs0, St0), - Segs = case Segs1 of - [#b_literal{val=binary},UnitFlags,Val,#b_literal{val=all}|Segs2] -> - Op = case member(single_use, Le) of - true -> private_append; - false -> append - end, - [#b_literal{val=Op},UnitFlags,Val,#b_literal{val=all}|Segs2]; - _ -> - Segs1 - end, - LineAnno = line_anno(Le), - Build = #b_set{anno=LineAnno,op=bs_create_bin,args=Segs,dst=Dst}, - {TestIs,St} = make_succeeded(Dst, FailCtx, St0), - {[Build|TestIs],St}. - -cg_bin_segments(#k_bin_seg{anno=Anno,type=Type,flags=Flags0,seg=Src0,size=Size0,unit=U,next=Next}, St) -> - Seg = case lists:keyfind(segment, 1,Anno) of - false -> []; - {segment,_}=Seg0 -> [Seg0] - end, - [Src,Size] = ssa_args([Src0,Size0], St), - TypeArg = #b_literal{val=Type}, - Unit = case U of - undefined -> 0; - _ -> U - end, - Flags = strip_bs_construct_flags(Flags0), - UnitFlags = #b_literal{val=[Unit|Flags++Seg]}, - [TypeArg,UnitFlags,Src,Size|cg_bin_segments(Next, St)]; -cg_bin_segments(#k_bin_end{}, _St) -> []. - -bs_need_size(utf8) -> false; -bs_need_size(utf16) -> false; -bs_need_size(utf32) -> false; -bs_need_size(_) -> true. - -%% Only keep the flags that have a meaning for binary construction and -%% are distinct from the default value. -strip_bs_construct_flags(Flags) -> - [Flag || Flag <- Flags, - case Flag of - little -> true; - native -> true; - big -> false; - signed -> false; - unsigned -> false - end]. - -%%% -%%% Utilities for creating the SSA types. -%%% - -ssa_args(As, St) -> - [ssa_arg(A, St) || A <- As]. - -ssa_arg(#k_var{name=V}, #cg{vars=Vars}) -> map_get(V, Vars); -ssa_arg(#k_literal{val=V}, _) -> #b_literal{val=V}; -ssa_arg(#k_remote{mod=Mod0,name=Name0,arity=Arity}, St) -> - Mod = ssa_arg(Mod0, St), - Name = ssa_arg(Name0, St), - #b_remote{mod=Mod,name=Name,arity=Arity}; -ssa_arg(#k_local{name=Name,arity=Arity}, _) when is_atom(Name) -> - #b_local{name=#b_literal{val=Name},arity=Arity}. - -new_succeeded_value(VarBase, Var, #cg{vars=Vars0}=St) -> - Vars = Vars0#{VarBase=>{succeeded,Var}}, - St#cg{vars=Vars}. - -new_bool_value(VarBase, Var, #cg{vars=Vars0}=St) -> - Vars = Vars0#{VarBase=>{bool,Var}}, - St#cg{vars=Vars}. - -new_ssa_vars(Vs, St) -> - mapfoldl(fun(#k_var{name=V}, S) -> - new_ssa_var(V, S) - end, St, Vs). - -new_ssa_var(VarBase, #cg{lcount=Uniq,vars=Vars}=St0) - when is_atom(VarBase); is_integer(VarBase) -> - case Vars of - #{VarBase:=_} -> - Var = #b_var{name={VarBase,Uniq}}, - St = St0#cg{lcount=Uniq+1,vars=Vars#{VarBase=>Var}}, - {Var,St}; - #{} -> - Var = #b_var{name=VarBase}, - St = St0#cg{vars=Vars#{VarBase=>Var}}, - {Var,St} - end. - -set_unused_ssa_vars(Vars, St) -> - foldl(fun(#k_var{name=V}, S) -> - set_ssa_var(V, #b_literal{val=unused}, S) - end, St, Vars). - -set_ssa_var(VarBase, Val, #cg{vars=Vars}=St) - when is_atom(VarBase); is_integer(VarBase) -> - St#cg{vars=Vars#{VarBase=>Val}}. - -%% new_label(St) -> {L,St}. - -new_label(#cg{lcount=Next}=St) -> - {Next,St#cg{lcount=Next+1}}. - -%% line_anno(Le) -> #{} | #{location:={File,Line}}. -%% Create a location annotation, containing information about the -%% current filename and line number. The annotation should be -%% included in any operation that could cause an exception. - -line_anno([Line,{file,Name}]) when is_integer(Line) -> - line_anno_1(Name, Line); -line_anno([{Line,Column},{file,Name}]) when is_integer(Line), - is_integer(Column) -> - line_anno_1(Name, Line); -line_anno([_|_]=A) -> - {Name,Line} = find_loc(A, no_file, 0), - line_anno_1(Name, Line); -line_anno([]) -> - #{}. - -line_anno_1(no_file, _) -> - #{}; -line_anno_1(_, 0) -> - %% Missing line number or line number 0. - #{}; -line_anno_1(Name, Line) -> - #{location=>{Name,Line}}. - -find_loc([Line|T], File, _) when is_integer(Line) -> - find_loc(T, File, Line); -find_loc([{Line, Column}|T], File, _) when is_integer(Line), - is_integer(Column) -> - find_loc(T, File, Line); -find_loc([{file,File}|T], _, Line) -> - find_loc(T, File, Line); -find_loc([_|T], File, Line) -> - find_loc(T, File, Line); -find_loc([], File, Line) -> {File,Line}. - -flatmapfoldl(F, Accu0, [Hd|Tail]) -> - {R,Accu1} = F(Hd, Accu0), - {Rs,Accu2} = flatmapfoldl(F, Accu1, Tail), - {R++Rs,Accu2}; -flatmapfoldl(_, Accu, []) -> {[],Accu}. - -%%% -%%% Finalize the code. -%%% - -finalize(Asm0, St0) -> - Asm1 = fix_phis(Asm0), - {Asm,St} = fix_sets(Asm1, [], St0), - {build_map(Asm),St}. - -%% fix_phis(Is0) -> Is. -%% Rewrite #cg_break{} and #cg_phi{} records to #b_set{} records. -%% A #cg_break{} is rewritten to an unconditional branch, and -%% and a #cg_phi{} is rewritten to one or more phi nodes. - -fix_phis(Is) -> - fix_phis_1(Is, none, #{}). - -fix_phis_1([{label,Lbl},#cg_phi{vars=Vars}|Is0], _Lbl, Map0) -> - case Map0 of - #{Lbl:=Pairs} -> - %% This phi node was referenced by at least one #cg_break{}. - %% Create the phi nodes. - Phis = gen_phis(Vars, Pairs), - Map = maps:remove(Lbl, Map0), - [{label,Lbl}] ++ Phis ++ fix_phis_1(Is0, Lbl, Map); - #{} -> - %% No #cg_break{} instructions reference this label. - %% #cg_break{} instructions must reference the labels for - %% #cg_phi{} instructions; therefore this label is - %% unreachable and can be dropped. - Is = drop_upto_label(Is0), - fix_phis_1(Is, none, Map0) - end; -fix_phis_1([{label,L}=I|Is], _Lbl, Map) -> - [I|fix_phis_1(Is, L, Map)]; -fix_phis_1([#cg_unreachable{}|Is0], _Lbl, Map) -> - Is = drop_upto_label(Is0), - fix_phis_1(Is, none, Map); -fix_phis_1([#cg_break{args=Args,phi=Target}|Is], Lbl, Map) when is_integer(Lbl) -> - %% Pair each argument with the label for this block and save in the map. - Pairs1 = case Map of - #{Target:=Pairs0} -> Pairs0; - #{} -> [] - end, - Pairs = [[{Arg,Lbl} || Arg <- Args]|Pairs1], - I = make_uncond_branch(Target), - [I|fix_phis_1(Is, none, Map#{Target=>Pairs})]; -fix_phis_1([I|Is], Lbl, Map) -> - [I|fix_phis_1(Is, Lbl, Map)]; -fix_phis_1([], _, Map) -> - [] = maps:to_list(Map), %Assertion. - []. - -gen_phis([V|Vs], Preds0) -> - {Pairs,Preds} = collect_preds(Preds0, [], []), - [_|_] = Pairs, %Assertion. - [#b_set{op=phi,dst=V,args=Pairs}|gen_phis(Vs, Preds)]; -gen_phis([], _) -> []. - -collect_preds([[First|Rest]|T], ColAcc, RestAcc) -> - collect_preds(T, [First|ColAcc], [Rest|RestAcc]); -collect_preds([], ColAcc, RestAcc) -> - {keysort(2, ColAcc),RestAcc}. - -drop_upto_label([{label,_}|_]=Is) -> Is; -drop_upto_label([_|Is]) -> drop_upto_label(Is). - -%% fix_sets(Is0, Acc, St0) -> {Is,St}. -%% Ensure that #b_set.dst is filled in with a proper variable. -%% (For convenience, for instructions that don't have a useful return value, -%% the code generator would set #b_set.dst to `none`.) - -fix_sets([#b_set{op=remove_message,dst=Dst}=Set,#b_ret{arg=Dst}=Ret|Is], Acc, St) -> - %% The remove_message instruction, which is an instruction without - %% value, was used in effect context in an `after` block. Example: - %% - %% try - %% . . . - %% after - %% . - %% . - %% . - %% receive _ -> ignored end - %% end, - %% ok. - %% - fix_sets(Is, [Ret#b_ret{arg=#b_literal{val=ok}},Set|Acc], St); -fix_sets([#b_set{dst=none}=Set|Is], Acc, St0) -> - {Dst,St} = new_ssa_var('@ssa_ignored', St0), - I = Set#b_set{dst=Dst}, - fix_sets(Is, [I|Acc], St); -fix_sets([I|Is], Acc, St) -> - fix_sets(Is, [I|Acc], St); -fix_sets([], Acc, St) -> - {reverse(Acc),St}. - -%% build_map(Is) -> #{}. -%% Split up the sequential instruction stream into blocks and -%% store them in a map. - -build_map(Is) -> - Linear0 = build_graph_1(Is, [], []), - Linear = beam_ssa:trim_unreachable(Linear0), - maps:from_list(Linear). - -build_graph_1([{label,L}|Is], Lbls, []) -> - build_graph_1(Is, [L|Lbls], []); -build_graph_1([{label,L}|Is], Lbls, [_|_]=BlockAcc) -> - make_blocks(Lbls, BlockAcc) ++ build_graph_1(Is, [L], []); -build_graph_1([I|Is], Lbls, BlockAcc) -> - build_graph_1(Is, Lbls, [I|BlockAcc]); -build_graph_1([], Lbls, BlockAcc) -> - make_blocks(Lbls, BlockAcc). - -make_blocks(Lbls, [Last0|Is0]) -> - Is = reverse(Is0), - Last = beam_ssa:normalize(Last0), - Block = #b_blk{is=Is,last=Last}, - [{L,Block} || L <- Lbls]. diff --git a/lib/compiler/src/beam_listing.erl b/lib/compiler/src/beam_listing.erl index a3491a382455..b9165341f751 100644 --- a/lib/compiler/src/beam_listing.erl +++ b/lib/compiler/src/beam_listing.erl @@ -22,7 +22,6 @@ -export([module/2]). -include("core_parse.hrl"). --include("v3_kernel.hrl"). -include("beam_ssa.hrl"). -include("beam_disasm.hrl"). @@ -30,25 +29,22 @@ -type code() :: cerl:c_module() | beam_utils:module_code() - | #k_mdef{} | [_]. %form-based format -spec module(file:io_device(), code()) -> 'ok'. module(File, #c_module{}=Core) -> - %% This is a core module. + %% This is a Core Erlang module. io:put_chars(File, core_pp:format(Core)); -module(File, #k_mdef{}=Kern) -> - %% This is a kernel module. - io:put_chars(File, v3_kernel_pp:format(Kern)); module(File, #b_module{name=Mod,exports=Exp,attributes=Attr,body=Fs}) -> + %% This an SSA module. io:format(File, "module ~p.\n", [Mod]), io:format(File, "exports ~p.\n", [Exp]), io:format(File, "attributes ~kp.\n\n", [Attr]), PP = [beam_ssa_pp:format_function(F) || F <- Fs], io:put_chars(File, lists:join($\n, PP)); module(Stream, {Mod,Exp,Attr,Code,NumLabels}) -> - %% This is output from v3_codegen. + %% This is BEAM code. io:format(Stream, "{module, ~kp}. %% version = ~w\n", [Mod, beam_opcodes:format_number()]), io:format(Stream, "\n{exports, ~p}.\n", [Exp]), diff --git a/lib/compiler/src/beam_ssa.erl b/lib/compiler/src/beam_ssa.erl index 448b3b431315..db35a2fa41b8 100644 --- a/lib/compiler/src/beam_ssa.erl +++ b/lib/compiler/src/beam_ssa.erl @@ -48,7 +48,7 @@ b_ret/0,b_br/0,b_switch/0,terminator/0, b_var/0,b_literal/0,b_remote/0,b_local/0, value/0,argument/0,label/0, - var_name/0,var_base/0,literal_value/0, + var_name/0,literal_value/0, op/0,anno/0,block_map/0,dominator_map/0, rename_map/0,rename_proplist/0,usage_map/0, definition_map/0,predecessor_map/0]). @@ -78,8 +78,7 @@ -type argument() :: value() | b_remote() | b_local() | phi_value(). -type label() :: non_neg_integer(). --type var_name() :: var_base() | {var_base(),non_neg_integer()}. --type var_base() :: atom() | non_neg_integer(). +-type var_name() :: atom() | non_neg_integer(). -type literal_value() :: atom() | integer() | float() | list() | nil() | tuple() | map() | binary() | fun(). @@ -118,7 +117,6 @@ 'landingpad' | 'make_fun' | 'match_fail' | 'new_try_tag' | 'nif_start' | - 'old_make_fun' | 'peek_message' | 'phi' | 'put_list' | 'put_map' | 'put_tuple' | 'raw_raise' | 'recv_marker_bind' | @@ -188,7 +186,6 @@ clobbers_xregs(#b_set{op=Op}) -> build_stacktrace -> true; call -> true; landingpad -> true; - old_make_fun -> true; peek_message -> true; raw_raise -> true; wait_timeout -> true; @@ -392,7 +389,7 @@ normalize(#b_set{anno=Anno0,op={bif,Bif},args=Args}=Set) -> #{1 := Type} -> Anno0#{arg_types => #{0 => Type}}; #{} -> - Anno0 + Anno0#{arg_types => #{}} end; #{} -> Anno0 @@ -446,7 +443,7 @@ successors(L, Blocks) -> -spec def(Ls, Blocks) -> Def when Ls :: [label()], Blocks :: block_map(), - Def :: ordsets:ordset(var_name()). + Def :: ordsets:ordset(b_var()). def(Ls, Blocks) when is_map(Blocks) -> Blks = [map_get(L, Blocks) || L <- Ls], @@ -454,10 +451,10 @@ def(Ls, Blocks) when is_map(Blocks) -> -spec def_unused(Ls, Used, Blocks) -> {Def,Unused} when Ls :: [label()], - Used :: ordsets:ordset(var_name()), + Used :: ordsets:ordset(b_var()), Blocks :: block_map(), - Def :: ordsets:ordset(var_name()), - Unused :: ordsets:ordset(var_name()). + Def :: ordsets:ordset(b_var()), + Unused :: ordsets:ordset(b_var()). def_unused(Ls, Unused, Blocks) when is_map(Blocks) -> Blks = [map_get(L, Blocks) || L <- Ls], @@ -687,7 +684,7 @@ trim_unreachable(Blocks) when is_map(Blocks) -> trim_unreachable([_|_]=Blocks) -> trim_unreachable_1(Blocks, sets:from_list([0], [{version, 2}])). --spec used(b_blk() | b_set() | terminator()) -> [var_name()]. +-spec used(b_blk() | b_set() | terminator()) -> [b_var()]. used(#b_blk{is=Is,last=Last}) -> used_1([Last|Is], ordsets:new()); diff --git a/lib/compiler/src/beam_ssa_alias.erl b/lib/compiler/src/beam_ssa_alias.erl index c16011ebc66d..6dd4b92e5d15 100644 --- a/lib/compiler/src/beam_ssa_alias.erl +++ b/lib/compiler/src/beam_ssa_alias.erl @@ -32,6 +32,8 @@ -include("beam_ssa_opt.hrl"). -include("beam_types.hrl"). +%% Uncomment the following to get trace printouts. + %% -define(DEBUG, true). -ifdef(DEBUG). @@ -42,13 +44,40 @@ -define(DP(FMT), skip). -endif. +%% Uncomment the following to get trace printouts when states are +%% merged. + +%% -define(TRACE_MERGE, true). + +-ifdef(TRACE_MERGE). +-define(TM_DP(FMT, ARGS), io:format(FMT, ARGS)). +-define(TM_DP(FMT), io:format(FMT)). +-else. +-define(TM_DP(FMT, ARGS), skip). +-define(TM_DP(FMT), skip). +-endif. + +%% Uncomment the following to check that all invariants for the state +%% hold when a state are and has been updated. These checks are +%% expensive and not enabled by default. + +%% -define(EXTRA_ASSERTS, true). + +-ifdef(EXTRA_ASSERTS). +-define(aa_assert_ss(SS), aa_assert_ss(SS)). +-define(ASSERT(Assert), Assert). +-else. +-define(aa_assert_ss(SS), SS). +-define(ASSERT(Assert), skip). +-endif. + -type call_args_status_map() :: #{ #b_local{} => ['aliased' | 'unique'] }. %% Alias analysis state -record(aas, { caller :: func_id() | 'undefined', call_args = #{} :: call_args_status_map(), - alias_map = #{}, + alias_map = #{} :: alias_map(), func_db :: func_info_db(), kills :: kills_map(), st_map :: st_map(), @@ -58,7 +87,9 @@ %% A code location refering to either the #b_set{} defining a variable %% or the terminator of a block. --type kill_loc() :: #b_var{} | {terminator, beam_ssa:label()}. +-type kill_loc() :: #b_var{} + | {terminator, beam_ssa:label()} + | {live_outs, beam_ssa:label()}. %% Map a code location to the set of variables which die at that %% location. @@ -66,11 +97,24 @@ -type kills_map() :: #{ func_id() => kill_set() }. -%% Record holding the liveness information for a code location. --record(liveness_st, { - in = sets:new([{version,2}]) :: sets:set(#b_var{}), - out = sets:new([{version,2}]) :: sets:set(#b_var{}) - }). +-type alias_map() :: #{ func_id() => lbl2ss() }. + +-type lbl2ss() :: #{ beam_ssa:label() => sharing_state() }. + +%% The sharing state for a variable. +-record(vas, { + status :: 'unique' | 'aliased' | 'as_parent', + parents = [] :: ordsets:ordset(#b_var{}), + child = none :: #b_var{} | 'none', + extracted = [] :: ordsets:ordset(#b_var{}), + tuple_elems = [] :: ordsets:ordset({non_neg_integer(),#b_var{}}), + pair_elems = none :: 'none' + | {'hd',#b_var{}} + | {'tl',#b_var{}} + | {'both',#b_var{},#b_var{}} + }). + +-type sharing_state() :: #{ #b_var{} => #vas{} }. %%% %%% Optimization pass which calculates the alias status of values and @@ -80,157 +124,137 @@ opt(StMap0, FuncDb0) -> %% Ignore functions which are not in the function db (never - %% called) or are stubs for nifs. - Funs = [ F || F <- maps:keys(StMap0), - is_map_key(F, FuncDb0), not is_nif(F, StMap0)], - Liveness = liveness(Funs, StMap0), - KillsMap = killsets(Liveness, StMap0), - + %% called). + Funs = [ F || F <- maps:keys(StMap0), is_map_key(F, FuncDb0)], + KillsMap = killsets(Funs, StMap0), aa(Funs, KillsMap, StMap0, FuncDb0). %%% -%%% Calculate liveness for each function using the standard iterative -%%% fixpoint method. -%%% - --spec liveness([func_id()], st_map()) -> - [{func_id(), #{func_id() => {beam_ssa:label(), #liveness_st{}}}}]. - -liveness([F|Funs], StMap) -> - Liveness = liveness_fun(F, StMap), - [{F,Liveness}|liveness(Funs, StMap)]; -liveness([], _StMap) -> - []. - -liveness_fun(F, StMap0) -> - #opt_st{ssa=SSA} = map_get(F, StMap0), - State0 = #{Lbl => #liveness_st{} || {Lbl,_} <- SSA}, - UseDefCache = liveness_make_cache(SSA), - liveness_blks_fixp(reverse(SSA), State0, false, UseDefCache). - -liveness_blks_fixp(_SSA, State0, State0, _UseDefCache) -> - State0; -liveness_blks_fixp(SSA, State0, _Old, UseDefCache) -> - State = liveness_blks(SSA, State0, UseDefCache), - liveness_blks_fixp(SSA, State, State0, UseDefCache). - -liveness_blks([{Lbl,Blk}|Blocks], State0, UseDefCache) -> - OutOld = get_live_out(Lbl, State0), - #{Lbl:={Defs,Uses}} = UseDefCache, - In = sets:union(Uses, sets:subtract(OutOld, Defs)), - Out = successor_live_ins(Blk, State0), - liveness_blks(Blocks, set_block_liveness(Lbl, In, Out, State0), - UseDefCache); -liveness_blks([], State0, _UseDefCache) -> - State0. - -get_live_in(Lbl, State) -> - #liveness_st{in=In} = map_get(Lbl, State), - In. - -get_live_out(Lbl, State) -> - #liveness_st{out=Out} = map_get(Lbl, State), - Out. - -set_block_liveness(Lbl, In, Out, State) -> - L = map_get(Lbl, State), - State#{Lbl => L#liveness_st{in=In,out=Out}}. - -successor_live_ins(Blk, State) -> - foldl(fun(Lbl, Acc) -> - sets:union(Acc, get_live_in(Lbl, State)) - end, sets:new([{version,2}]), beam_ssa:successors(Blk)). - -blk_defs(#b_blk{is=Is}) -> - foldl(fun(#b_set{dst=Dst}, Acc) -> - sets:add_element(Dst, Acc) - end, sets:new([{version,2}]), Is). - -blk_effective_uses(#b_blk{is=Is,last=Last}) -> - %% We can't use beam_ssa:used/1 on the whole block as it considers - %% a use after a def a use and that will derail the liveness - %% calculation. - blk_effective_uses([Last|reverse(Is)], sets:new([{version,2}])). - -blk_effective_uses([I|Is], Uses0) -> - Uses = case I of - #b_set{dst=Dst} -> - %% The uses after the def do not count - sets:del_element(Dst, Uses0); - _ -> % A terminator, no defs - Uses0 - end, - LocalUses = sets:from_list(beam_ssa:used(I), [{version,2}]), - blk_effective_uses(Is, sets:union(Uses, LocalUses)); -blk_effective_uses([], Uses) -> - Uses. - -liveness_make_cache(SSA) -> - liveness_make_cache(SSA, #{}). - -liveness_make_cache([{Lbl,Blk}|Blocks], Cache0) -> - Defs = blk_defs(Blk), - Uses = blk_effective_uses(Blk), - Cache = Cache0#{Lbl=>{Defs,Uses}}, - liveness_make_cache(Blocks, Cache); -liveness_make_cache([], Cache) -> - Cache. - +%%% Calculate the set of variables killed at each instruction. The +%%% algorithm traverses the basic blocks of the CFG post-order. It +%%% traverses the instructions within a basic block in reverse order, +%%% starting with the terminator. When starting the traversal of a +%%% basic block, the set of variables that are live is initialized to +%%% the variables that are live in to the block's successors. When a +%%% def for a variable is found, it is pruned from the live set. When +%%% a use which is not in the live-set is found, it is a kill. The +%%% killed variable is added to the kill set for the current +%%% instruction and added to the live set. %%% -%%% Predicate to check if a function is the stub for a nif. +%%% As the only back-edges occuring in BEAM are for receives and +%%% constructing terms are not allowed within the receive loop, +%%% back-edges can be safely ignored as they won't change the alias +%%% status of any variable. %%% --spec is_nif(func_id(), st_map()) -> boolean(). - -is_nif(F, StMap) -> - #opt_st{ssa=[{0,#b_blk{is=Is}}|_]} = map_get(F, StMap), - case Is of - [#b_set{op=nif_start}|_] -> - true; - _ -> false - end. -%%% -%%% Calculate the killset for all functions in the liveness -%%% information. -%%% --spec killsets([{func_id(), - #{func_id() => {beam_ssa:label(), #liveness_st{}}}}], - st_map()) -> kills_map(). +killsets(Funs, StMap) -> + OptStates = [{F,map_get(F, StMap)} || F <- Funs], + #{ F=>killsets_fun(reverse(SSA)) || {F,#opt_st{ssa=SSA}} <- OptStates }. + +killsets_fun(Blocks) -> + %% Pre-calculate the live-ins due to Phi-instructions. + PhiLiveIns = killsets_phi_live_ins(Blocks), + killsets_blks(Blocks, #{}, #{}, PhiLiveIns). + +killsets_blks([{Lbl,Blk}|Blocks], LiveIns0, Kills0, PhiLiveIns) -> + {LiveIns,Kills} = killsets_blk(Lbl, Blk, LiveIns0, Kills0, PhiLiveIns), + killsets_blks(Blocks, LiveIns, Kills, PhiLiveIns); +killsets_blks([], _LiveIns0, Kills, _PhiLiveIns) -> + Kills. + +killsets_blk(Lbl, #b_blk{is=Is0,last=L}=Blk, LiveIns0, Kills0, PhiLiveIns) -> + Successors = beam_ssa:successors(Blk), + Live1 = killsets_blk_live_outs(Successors, Lbl, LiveIns0, PhiLiveIns), + Kills1 = Kills0#{{live_outs,Lbl}=>Live1}, + Is = [L|reverse(Is0)], + {Live,Kills} = killsets_is(Is, Live1, Kills1, Lbl), + LiveIns = LiveIns0#{Lbl=>Live}, + {LiveIns, Kills}. + +killsets_is([#b_set{op=phi,dst=Dst}|Is], Live, Kills, Lbl) -> + %% The Phi uses are logically located in the predecessors. + killsets_is(Is, sets:del_element(Dst, Live), Kills, Lbl); +killsets_is([I|Is], Live0, Kills0, Lbl) -> + Uses = beam_ssa:used(I), + {Live,LastUses} = + foldl(fun(Use, {LiveAcc,LastAcc}=Acc) -> + case sets:is_element(Use, LiveAcc) of + true -> + Acc; + false -> + {sets:add_element(Use, LiveAcc), + sets:add_element(Use, LastAcc)} + end + end, {Live0,sets:new([{version,2}])}, Uses), + case I of + #b_set{dst=Dst} -> + killsets_is(Is, sets:del_element(Dst, Live), + killsets_add_kills(Dst, LastUses, Kills0), Lbl); + _ -> + killsets_is(Is, Live, + killsets_add_kills({terminator,Lbl}, LastUses, Kills0), + Lbl) + end; +killsets_is([], Live, Kills, _) -> + {Live,Kills}. -killsets(Liveness, StMap) -> - #{F => kills_fun(F, StMap, Live) || {F, Live} <- Liveness}. +killsets_add_kills(Dst, LastUses, Kills) -> + Kills#{Dst=>LastUses}. %%% -%%% Calculate the killset for a function. The killset allows us to -%%% look up the variables that die at a code location. +%%% Pre-calculate the live-ins due to Phi-instructions in order to +%%% avoid having to repeatedly scan the first instruction(s) of a +%%% basic block in order to find them when calculating live-in sets. %%% -kills_fun(Fun, StMap, Liveness) -> - #opt_st{ssa=SSA} = map_get(Fun, StMap), - kills_fun1(SSA, #{}, Liveness). - -kills_fun1([{Lbl,Blk}|Blocks], KillsMap0, Liveness) -> - KillsMap = kills_block(Lbl, Blk, map_get(Lbl, Liveness), KillsMap0), - kills_fun1(Blocks, KillsMap, Liveness); -kills_fun1([], KillsMap, _) -> - KillsMap. - -kills_block(Lbl, #b_blk{is=Is,last=Last}, #liveness_st{out=Out}, KillsMap0) -> - kills_is([Last|reverse(Is)], Out, KillsMap0, Lbl). - -kills_is([I|Is], Live0, KillsMap0, Blk) -> - {Live, Key} = case I of - #b_set{dst=Dst} -> - {sets:del_element(Dst, Live0), Dst}; - _ -> - {Live0, {terminator, Blk}} - end, - Uses = sets:from_list(beam_ssa:used(I), [{version,2}]), - RemainingUses = sets:union(Live0, Uses), - Killed = sets:subtract(RemainingUses, Live0), - KillsMap = KillsMap0#{Key => Killed}, - kills_is(Is, sets:union(Live, Killed), KillsMap, Blk); -kills_is([], _, KillsMap, _) -> - KillsMap. +killsets_phi_live_ins(Blocks) -> + killsets_phi_live_ins(Blocks, #{}). + +killsets_phi_live_ins([{Lbl,#b_blk{is=Is}}|Blocks], PhiLiveIns0) -> + killsets_phi_live_ins(Blocks, + killsets_phi_uses_in_block(Lbl, Is, PhiLiveIns0)); +killsets_phi_live_ins([], PhiLiveIns) -> + PhiLiveIns. + +killsets_phi_uses_in_block(Lbl, [#b_set{op=phi,args=Args}|Is], PhiLiveIns0) -> + PhiLiveIns = foldl(fun({#b_var{}=Var,From}, Acc) -> + Key = {From,Lbl}, + Old = case Acc of + #{Key:=O} -> O; + #{} -> sets:new([{version,2}]) + end, + Acc#{Key=>sets:add_element(Var, Old)}; + ({#b_literal{},_},Acc) -> + Acc + end, PhiLiveIns0, Args), + killsets_phi_uses_in_block(Lbl, Is, PhiLiveIns); +killsets_phi_uses_in_block(_Lbl, _, PhiLiveIns) -> + %% No more phis. + PhiLiveIns. + +%% Create a set of variables which are live out from this block. +killsets_blk_live_outs(Successors, ThisBlock, LiveIns, PhiLiveIns) -> + killsets_blk_live_outs(Successors, ThisBlock, LiveIns, + PhiLiveIns, sets:new([{version,2}])). + +killsets_blk_live_outs([Successor|Successors], + ThisBlock, LiveIns, PhiLiveIns, Acc0) -> + Acc = case LiveIns of + #{Successor:=LI} -> + Tmp = sets:union(Acc0, LI), + case PhiLiveIns of + #{{ThisBlock,Successor}:=PhiUses} -> + sets:union(Tmp, PhiUses); + #{} -> + Tmp + end; + #{} -> + %% This is a back edge, we can ignore it as it only occurs + %% in combination with a receive. + Acc0 + end, + killsets_blk_live_outs(Successors, ThisBlock, LiveIns, PhiLiveIns, Acc); +killsets_blk_live_outs([], _, _, _, Acc) -> + Acc. %%% %%% Perform an alias analysis of the given functions, alias @@ -251,16 +275,33 @@ kills_is([], _, KillsMap, _) -> %%% can be reached by other means than the boxed pointer in the %%% variable. %%% -%%% The alias analysis is performed by traversing the functions in the -%%% module and their code. For each operation the uniqueness and alias -%%% status are updated. The unique/aliased status is maintained in a -%%% map which maps a variable to a either a status or another -%%% variable. Thus constructing equivalent sets in the same way a -%%% Kotzmann and Mössenböck. +%%% For this pass, a data structure called a Sharing State (in the +%%% code the variable holding it is usually called SS) is used to +%%% describe the alias status of SSA variables. The Sharing State +%%% maintains information about: +%%% +%%% * Whether a variable is unique or aliased. %%% -%%% When the analysis finishes each instruction is annotated with -%%% information about which of its arguments are unique or aliased. +%%% * For variables which are unique and derived from other variables +%%% (that is, contained in or contains another term), it makes it +%%% possible to identify the variable for the contained/containing +%%% term. This includes information making it possible to avoid +%%% false aliasing when a tuple is deconstructed although +%%% technically, the variable holding tuple itself aliases its +%%% elements until all elements are extracted. +%%% +%%% The alias analysis is performed by traversing the functions in the +%%% module and their code. The basic blocks of a function are +%%% traversed in reverse post order. When the end of a block is +%%% reached, the current sharing state is propagated to the block's +%%% successors by merging the sharing state of all the successor +%%% block's predecessors' sharing states. %%% +%%% When all blocks have been visited and the sharing states at the +%%% end of each block are known, information about aliased variables +%%% are propagated along the edges of the execution graph during a +%%% post order traversal of the basic blocks. + -spec aa([func_id()], kills_map(), st_map(), func_info_db()) -> {st_map(), func_info_db()}. @@ -304,34 +345,39 @@ aa(Funs, KillsMap, StMap, FuncDb) -> %%% to detect incomplete information in a hypothetical %%% ssa_opt_alias_finish pass. %%% -aa_fixpoint(Funs, AAS=#aas{func_db=FuncDb}) -> +aa_fixpoint(Funs, AAS=#aas{alias_map=AliasMap,call_args=CallArgs, + func_db=FuncDb}) -> Order = aa_breadth_first(Funs, FuncDb), - aa_fixpoint(Order, Order, AAS#aas.alias_map, AAS, ?MAX_REPETITIONS). + aa_fixpoint(Order, Order, AliasMap, CallArgs, AAS, ?MAX_REPETITIONS). -aa_fixpoint([F|Fs], Order, OldAliasMap, AAS0=#aas{st_map=StMap}, Limit) -> +aa_fixpoint([F|Fs], Order, OldAliasMap, OldCallArgs, AAS0=#aas{st_map=StMap}, + Limit) -> #b_local{name=#b_literal{val=_N},arity=_A} = F, AAS1 = AAS0#aas{caller=F}, ?DP("-= ~p/~p =-~n", [_N, _A]), - {OptSt,AAS2} = aa_fun(F, map_get(F, StMap), AAS1), - AAS = AAS2#aas{st_map=StMap#{F => OptSt}}, - aa_fixpoint(Fs, Order, OldAliasMap, AAS, Limit); -aa_fixpoint([], _Order, OldAliasMap, - #aas{alias_map=OldAliasMap,func_db=FuncDb,st_map=StMap}, _) -> - ?DP("**** End of iteration ****~n"), + AAS = aa_fun(F, map_get(F, StMap), AAS1), + aa_fixpoint(Fs, Order, OldAliasMap, OldCallArgs, AAS, Limit); +aa_fixpoint([], Order, OldAliasMap, OldCallArgs, + #aas{alias_map=OldAliasMap,call_args=OldCallArgs, + func_db=FuncDb}=AAS, _Limit) -> + ?DP("**** End of iteration ~p ****~n", [_Limit]), + {StMap,_} = aa_update_annotations(Order, AAS), {StMap, FuncDb}; -aa_fixpoint([], _, _, #aas{func_db=FuncDb,orig_st_map=StMap}, 0) -> +aa_fixpoint([], _, _, _, #aas{func_db=FuncDb,orig_st_map=StMap}, 0) -> ?DP("**** End of iteration, too many iterations ****~n"), {StMap, FuncDb}; -aa_fixpoint([], Order, _OldAliasMap, - AAS=#aas{alias_map=AliasMap,repeats=Repeats}, Limit) -> +aa_fixpoint([], Order, _OldAliasMap, _OldCallArgs, + #aas{alias_map=AliasMap,call_args=CallArgs,repeats=Repeats}=AAS, + Limit) -> ?DP("**** Things have changed, starting next iteration ****~n"), %% Following the depth first order, select those in Repeats. NewOrder = [Id || Id <- Order, sets:is_element(Id, Repeats)], - aa_fixpoint(NewOrder, Order, AliasMap, + aa_fixpoint(NewOrder, Order, AliasMap, CallArgs, AAS#aas{repeats=sets:new([{version,2}])}, Limit - 1). -aa_fun(F, #opt_st{ssa=Linear0,args=Args}=St, - AAS0=#aas{alias_map=AliasMap0,func_db=FuncDb,repeats=Repeats0}) -> +aa_fun(F, #opt_st{ssa=Linear0,args=Args}, + AAS0=#aas{alias_map=AliasMap0,call_args=CallArgs0, + func_db=FuncDb,kills=KillsMap,repeats=Repeats0}) -> %% Initially assume all formal parameters are unique for a %% non-exported function, if we have call argument info in the %% AAS, we use it. For an exported function, all arguments are @@ -340,14 +386,15 @@ aa_fun(F, #opt_st{ssa=Linear0,args=Args}=St, SS0 = foldl(fun({Var, Status}, Acc) -> aa_new_ssa_var(Var, Status, Acc) end, #{}, ArgsStatus), - ?DP("@@ Args: ~p~n", [ArgsStatus]), - {Linear1,SS,AAS1} = aa_blocks(Linear0, SS0, AAS0), - ?DP("SS:~n~s~n~n", [SS]), - AAS = aa_merge_call_args_status(SS, AAS1), + ?DP("Args: ~p~n", [ArgsStatus]), + #{F:=Kills} = KillsMap, + {SS,#aas{call_args=CallArgs}=AAS} = + aa_blocks(Linear0, Kills, #{0=>SS0}, AAS0), + ?DP("SS:~n~p~n~n", [SS]), AliasMap = AliasMap0#{ F => SS }, PrevSS = maps:get(F, AliasMap0, #{}), - Repeats = case PrevSS =/= SS of + Repeats = case PrevSS =/= SS orelse CallArgs0 =/= CallArgs of true -> %% Alias status has changed, so schedule both %% our callers and callees for renewed analysis. @@ -357,18 +404,26 @@ aa_fun(F, #opt_st{ssa=Linear0,args=Args}=St, false -> Repeats0 end, - {St#opt_st{ssa=Linear1}, AAS#aas{alias_map=AliasMap,repeats=Repeats}}. + AAS#aas{alias_map=AliasMap,repeats=Repeats}. %% Main entry point for the alias analysis -aa_blocks([{L,#b_blk{is=Is0,last=T0}=Blk}|Bs0], SS0, AAS0) -> - {Is,SS1,AAS1} = aa_is(Is0, SS0, [], AAS0), - {T,SS2} = aa_terminator(T0, SS1, AAS1), - {Bs,SS,AAS} = aa_blocks(Bs0, SS2, AAS1), - {[{L,Blk#b_blk{is=Is,last=T}}|Bs],SS,AAS}; -aa_blocks([], SS, AAS) -> - {[],SS, AAS}. - -aa_is([I=#b_set{dst=Dst,op=Op,args=Args,anno=Anno0}|Is], SS0, Acc, AAS0) -> +aa_blocks([{?EXCEPTION_BLOCK,_}|Bs], Kills, Lbl2SS, AAS) -> + %% Nothing happening in the exception block can propagate to the + %% other block. + aa_blocks(Bs, Kills, Lbl2SS, AAS); +aa_blocks([{L,#b_blk{is=Is0,last=T}}|Bs0], Kills, Lbl2SS0, AAS0) -> + #{L:=SS0} = Lbl2SS0, + {FullSS,AAS1} = aa_is(Is0, SS0, AAS0), + #{{live_outs,L}:=LiveOut} = Kills, + {Lbl2SS1,Successors} = aa_terminator(T, FullSS, Lbl2SS0), + PrunedSS = aa_prune_ss(FullSS, LiveOut), + Lbl2SS2 = aa_add_block_entry_ss(Successors, PrunedSS, Lbl2SS1), + Lbl2SS = aa_set_block_exit_ss(L, FullSS, Lbl2SS2), + aa_blocks(Bs0, Kills, Lbl2SS, AAS1); +aa_blocks([], _Kills, Lbl2SS, AAS) -> + {Lbl2SS,AAS}. + +aa_is([I=#b_set{dst=Dst,op=Op,args=Args,anno=Anno0}|Is], SS0, AAS0) -> SS1 = aa_new_ssa_var(Dst, unique, SS0), {SS, AAS} = case Op of @@ -382,7 +437,7 @@ aa_is([I=#b_set{dst=Dst,op=Op,args=Args,anno=Anno0}|Is], SS0, Acc, AAS0) -> case aa_all_dies([Arg], Dst, AAS0) of true -> %% Inherit the status of the argument - {aa_join(Dst, Arg, SS1), AAS0}; + {aa_derive_from(Dst, Arg, SS1), AAS0}; false -> %% We alias with the surviving arg {aa_set_aliased([Dst|Args], SS1), AAS0} @@ -407,19 +462,19 @@ aa_is([I=#b_set{dst=Dst,op=Op,args=Args,anno=Anno0}|Is], SS0, Acc, AAS0) -> %% variables which are dead is harmless. {aa_alias_all(SS1), AAS0}; call -> - {aa_call(Dst, Args, Anno0, SS1, AAS0), AAS0}; + aa_call(Dst, Args, Anno0, SS1, AAS0); 'catch_end' -> [_Tag,Arg] = Args, - {aa_join(Dst, Arg, SS1), AAS0}; + {aa_derive_from(Dst, Arg, SS1), AAS0}; extract -> [Arg,_] = Args, - {aa_join(Dst, Arg, SS1), AAS0}; + {aa_derive_from(Dst, Arg, SS1), AAS0}; get_hd -> [Arg] = Args, {aa_pair_extraction(Dst, Arg, hd, SS1), AAS0}; get_map_element -> [Map,_Key] = Args, - {aa_join(Dst, Map, SS1), AAS0}; + {aa_map_extraction(Dst, Map, SS1, AAS0), AAS0}; get_tl -> [Arg] = Args, {aa_pair_extraction(Dst, Arg, tl, SS1), AAS0}; @@ -431,9 +486,6 @@ aa_is([I=#b_set{dst=Dst,op=Op,args=Args,anno=Anno0}|Is], SS0, Acc, AAS0) -> make_fun -> [Callee|Env] = Args, aa_make_fun(Dst, Callee, Env, SS1, AAS0); - old_make_fun -> - [Callee|Env] = Args, - aa_make_fun(Dst, Callee, Env, SS1, AAS0); peek_message -> {aa_set_aliased(Dst, SS1), AAS0}; phi -> @@ -493,18 +545,19 @@ aa_is([I=#b_set{dst=Dst,op=Op,args=Args,anno=Anno0}|Is], SS0, Acc, AAS0) -> _ -> exit({unknown_instruction, I}) end, - aa_is(Is, SS, [aa_update_annotation(I, SS1, AAS)|Acc], AAS); -aa_is([], SS, Acc, AAS) -> - {reverse(Acc), SS, AAS}. - -aa_terminator(T=#b_br{anno=Anno0}, SS0, AAS) -> - Anno = aa_update_annotation(Anno0, SS0, AAS), - {T#b_br{anno=Anno}, SS0}; -aa_terminator(T=#b_ret{arg=Arg,anno=Anno0}, SS0, AAS) -> + aa_is(Is, SS, AAS); +aa_is([], SS, AAS) -> + {SS, AAS}. + +aa_terminator(#b_br{succ=S,fail=S}, _SS, Lbl2SS) -> + {Lbl2SS,[S]}; +aa_terminator(#b_br{succ=S,fail=F}, _SS, Lbl2SS) -> + {Lbl2SS,[S,F]}; +aa_terminator(#b_ret{arg=Arg,anno=Anno0}, SS, Lbl2SS0) -> Type = maps:get(result_type, Anno0, any), - Status0 = aa_get_status(Arg, SS0), + Status0 = aa_get_status(Arg, SS), ?DP("Returned ~p:~p:~p~n", [Arg, Status0, Type]), - Type2Status0 = maps:get(returns, SS0, #{}), + Type2Status0 = maps:get(returns, Lbl2SS0, #{}), Status = case Type2Status0 of #{ Type := OtherStatus } -> aa_meet(Status0, OtherStatus); @@ -512,37 +565,285 @@ aa_terminator(T=#b_ret{arg=Arg,anno=Anno0}, SS0, AAS) -> Status0 end, Type2Status = Type2Status0#{ Type => Status }, - ?DP("new status map: ~p~n", [Type2Status]), - SS = SS0#{ returns => Type2Status}, - {aa_update_annotation(T, SS, AAS), SS}; -aa_terminator(T=#b_switch{anno=Anno0}, SS0, AAS) -> - Anno = aa_update_annotation(Anno0, SS0, AAS), - {T#b_switch{anno=Anno}, SS0}. - -%% Add a new ssa variable to the alias state and set its status. -aa_new_ssa_var(Var, Status, State) -> - false = maps:get(Var, State, false), % Assertion - State#{Var => {status, Status}}. + ?DP("New status map: ~p~n", [Type2Status]), + Lbl2SS = Lbl2SS0#{ returns => Type2Status}, + {Lbl2SS, []}; +aa_terminator(#b_switch{fail=F,list=Ls}, _SS, Lbl2SS) -> + {Lbl2SS,[F|[L || {_,L} <- Ls]]}. + +%% Store the updated SS for the point where execution leaves the +%% block. +aa_set_block_exit_ss(ThisBlockLbl, SS, Lbl2SS) -> + Lbl2SS#{ThisBlockLbl=>SS}. + +%% Extend the SS valid on entry to the blocks in the list with NewSS. +aa_add_block_entry_ss([?EXCEPTION_BLOCK|BlockLabels], NewSS, Lbl2SS) -> + aa_add_block_entry_ss(BlockLabels, NewSS, Lbl2SS); +aa_add_block_entry_ss([L|BlockLabels], NewSS, Lbl2SS) -> + aa_add_block_entry_ss(BlockLabels, NewSS, aa_merge_ss(L, NewSS, Lbl2SS)); +aa_add_block_entry_ss([], _, Lbl2SS) -> + Lbl2SS. + +%% Merge two sharing states when traversing the execution graph +%% reverse post order. +aa_merge_ss(BlockLbl, NewSS, Lbl2SS) + when is_map_key(BlockLbl, Lbl2SS) -> + #{BlockLbl:=OrigSS} = Lbl2SS, + NewSize = maps:size(NewSS), + OrigSize = maps:size(OrigSS), + _ = ?aa_assert_ss(OrigSS), + _ = ?aa_assert_ss(NewSS), + + %% Always merge the smaller state into the larger. + Tmp = if NewSize < OrigSize -> + ?TM_DP("merging block ~p~n~p.~n~p.~n", + [BlockLbl, OrigSS, NewSS]), + aa_merge_continue(OrigSS, NewSS, maps:keys(NewSS), [], []); + true -> + ?TM_DP("merging block ~p~n~p.~n~p.~n", + [BlockLbl, NewSS, OrigSS]), + aa_merge_continue(NewSS, OrigSS, maps:keys(OrigSS), [], []) + end, + Lbl2SS#{BlockLbl=>Tmp}; +aa_merge_ss(BlockLbl, NewSS, Lbl2SS) -> + Lbl2SS#{BlockLbl=>NewSS}. + +aa_merge_continue(A, B, [V|Vars], ParentFixups, AliasFixups) -> + #{V:=BVas} = B, + case A of + #{V:=AVas} -> + ?TM_DP("merge ~p~n", [V]), + aa_merge_1(V, AVas, BVas, A, B, Vars, ParentFixups, AliasFixups); + #{} -> + ?TM_DP("not in dest ~p~n", [V]), + %% V isn't in A, nothing to merge, add it. + aa_merge_continue(A#{V=>BVas}, B, Vars, ParentFixups, AliasFixups) + end; +aa_merge_continue(A0, _, [], ParentFixups, AliasFixups) -> + A = aa_merge_parent_fixups(A0, ParentFixups), + ?aa_assert_ss(aa_merge_alias_fixups(A, AliasFixups)). + +aa_merge_1(_V, Vas, Vas, A, B, Vars, ParentFixups, AliasFixups) -> + %% They are both the same, no change. + ?TM_DP("same~n"), + aa_merge_continue(A, B, Vars, ParentFixups, AliasFixups); +aa_merge_1(_V, #vas{status=aliased}, BVas, A, B, Vars, + ParentFixups, AliasFixups) -> + %% V is aliased in A, anything related to B becomes aliased. + ?TM_DP("force aliasB of ~p~n", [aa_related(BVas)]), + aa_merge_continue(A, B, Vars, ParentFixups, + aa_related(BVas)++AliasFixups); +aa_merge_1(V, AVas, #vas{status=aliased}, A, B, Vars, + ParentFixups, AliasFixups) -> + %% V is aliased in B, anything related to A becomes aliased. + ?TM_DP("force aliasA of ~p~n", [aa_related(AVas)]), + aa_merge_continue(A#{V=>#vas{status=aliased}}, B, Vars, + ParentFixups, + aa_related(AVas)++AliasFixups); +aa_merge_1(V, #vas{status=S}=AVas, #vas{status=S}=BVas, A, B, Vars, + ParentFixups, AliasFixups) + when S == unique ; S == as_parent -> + aa_merge_child(V, AVas, BVas, A, B, Vars, ParentFixups, AliasFixups). + +aa_merge_child(V, #vas{child=Child}=AVas, #vas{child=Child}=BVas, + A, B, Vars, ParentFixups, AliasFixups) -> + ?TM_DP("child ~p, same~n", [Child]), + aa_merge_tuple(V, AVas, BVas, A, B, Vars, ParentFixups, AliasFixups); +aa_merge_child(V, #vas{child=none}=AVas, #vas{child=Child}=BVas, + A, B, Vars, ParentFixups, AliasFixups) -> + %% BVas has aquired a derivation from a Phi, no conflict, but the + %% A side has to be updated with new parent information. + ?TM_DP("new child in B, ~p~n", [Child]), + aa_merge_tuple(V, AVas#vas{child=Child}, BVas, A#{V=>BVas}, + B, Vars, [{Child,V}|ParentFixups], AliasFixups); +aa_merge_child(V, AVas, #vas{child=none}=BVas, A, B, Vars, + ParentFixups, AliasFixups) -> + %% AVas has aquired a derivation from a Phi, no conflict, no + %% update of the state necessary. + ?TM_DP("no child in B~n"), + aa_merge_tuple(V, AVas, BVas, A, B, Vars, ParentFixups, AliasFixups); +aa_merge_child(V, AVas, BVas, A, B, Vars, ParentFixups, AliasFixups) -> + %% Different children, this leads to aliasing. + ?TM_DP("different children, force alias of ~p~n", + [aa_related(AVas)++aa_related(BVas)]), + aa_merge_continue( + A#{V=>#vas{status=aliased}}, B, Vars, + ParentFixups, + aa_related(AVas)++aa_related(BVas)++AliasFixups). + +aa_merge_tuple(V, #vas{tuple_elems=Es}=AVas, #vas{tuple_elems=Es}=BVas, + A, B, Vars, ParentFixups, AliasFixups) -> + %% The same tuple elements are extracted, no conflict. + ?TM_DP("same tuple elements~n"), + aa_merge_pair(V, AVas, BVas, A, B, Vars, ParentFixups, AliasFixups); +aa_merge_tuple(V, #vas{tuple_elems=AEs}=AVas, #vas{tuple_elems=BEs}=BVas, + A, B, Vars, ParentFixups, AliasFixups) -> + %% This won't lead to aliasing if all elements are unique. + case aa_non_aliasing_tuple_elements(AEs++BEs) of + true -> + %% No aliasing, the elements are unique + ?TM_DP("different tuple elements, no aliasing~n"), + Elements = ordsets:union(AEs, BEs), + Vas = AVas#vas{tuple_elems=Elements}, + aa_merge_pair(V, Vas, BVas, A#{V=>Vas}, B, Vars, + ParentFixups, AliasFixups); + false -> + %% Aliasing occurred. + ?TM_DP("aliasing tuple elements, force ~p~n", + aa_related(AVas)++aa_related(BVas)), + aa_merge_continue(A#{V=>#vas{status=aliased}}, B, Vars, + ParentFixups, + aa_related(AVas)++aa_related(BVas)++AliasFixups) + end. -aa_get_representative(Var, State) -> - %% TODO: Consider path compression - case State of - #{ Var := {status, _} } -> - Var; - #{ Var := Parent } -> - aa_get_representative(Parent, State) +aa_merge_pair(V, #vas{pair_elems=Es}=AVas, #vas{pair_elems=Es}=BVas, + A, B, Vars, ParentFixups, AliasFixups) -> + %% The same pair elements are extracted, no conflict. + ?TM_DP("same pairs~n"), + aa_merge_extracted(V, AVas, BVas, A, B, Vars, ParentFixups, AliasFixups); +aa_merge_pair(V, #vas{pair_elems=AEs}=AVas, #vas{pair_elems=BEs}=BVas, + A, B, Vars, ParentFixups, AliasFixups) -> + R = case {AEs,BEs} of + {{hd,H},{tl,T}} -> + {both,H,T}; + {{tl,T},{hd,H}} -> + {both,H,T}; + {E,none} -> + E; + {none,E} -> + E; + _ -> + alias + end, + case R of + alias -> + ?TM_DP("aliasing pair elements: ~p~n", [R]), + aa_merge_continue(A#{V=>#vas{status=aliased}}, B, Vars, + ParentFixups, + aa_related(AVas)++aa_related(BVas)++AliasFixups); + Pair -> + ?TM_DP("different pair elements, no aliasing~n"), + Vas = AVas#vas{pair_elems=Pair}, + aa_merge_extracted(V, Vas, BVas, A#{V=>Vas}, + B, Vars, ParentFixups, AliasFixups) end. +aa_merge_extracted(V, #vas{extracted=AEs}=AVas, #vas{extracted=BEs}, + A, B, Vars, ParentFixups, AliasFixups) -> + Extracted = ordsets:union(AEs, BEs), + aa_merge_continue(A#{V=>AVas#vas{extracted=Extracted}}, B, Vars, + ParentFixups, AliasFixups). + +aa_related(#vas{parents=Ps,child=Child,extracted=Ex}) -> + case Child of none -> + []; + Child -> + [Child] + end ++ Ps ++ Ex. + +aa_non_aliasing_tuple_elements(Elems) -> + aa_non_aliasing_tuple_elements(Elems, #{}). + +aa_non_aliasing_tuple_elements([{I,V}|Es], Seen) -> + case Seen of + #{I:=X} when X =/= V -> + false; + #{} -> + aa_non_aliasing_tuple_elements(Es, Seen#{I=>V}) + end; +aa_non_aliasing_tuple_elements([], _) -> + true. + +aa_merge_alias_fixups(SS, Fixups) -> + ?TM_DP("fixup: Forcing aliasing ~p~n", [Fixups]), + aa_set_status_1(Fixups, none, SS). + +aa_merge_parent_fixups(SS0, [{Child,Parent}|Fixups]) -> + ?TM_DP("fixup: Forcing parents ~p->~p~n", [Child,Parent]), + #{Child:=#vas{parents=Parents}=Vas} = SS0, + SS = SS0#{Child=>Vas#vas{parents=ordsets:add_element(Parent, Parents)}}, + aa_merge_parent_fixups(SS, Fixups); +aa_merge_parent_fixups(SS, []) -> + ?TM_DP("Parent fixups executed~n"), + SS. + +%% Merge two sharing states when traversing the execution graph post +%% order. The only thing the successor merging needs to to is to check +%% if variables in the original SS have become aliased. +aa_merge_ss_successor(BlockLbl, NewSS, Lbl2SS) -> + #{BlockLbl:=OrigSS} = Lbl2SS, + Lbl2SS#{BlockLbl=>aa_merge_ss_successor(OrigSS, NewSS)}. + +aa_merge_ss_successor(Orig, New) -> + maps:fold(fun(V, Vas, Acc) -> + case New of + #{V:=Vas} -> + %% Nothing has changed for V. + Acc; + #{V:=#vas{status=aliased}} -> + aa_set_aliased(V, Acc); + #{} -> + %% V did not exist in New. + Acc + end + end, Orig, Orig). + +%% Add a new ssa variable to the sharing state and set its status. +aa_new_ssa_var(Var, Status, State) -> + ?ASSERT(false = maps:get(Var, State, false)), + State#{Var=>#vas{status=Status}}. + aa_get_status(V=#b_var{}, State) -> - Repr = aa_get_representative(V, State), - #{ Repr := {status, S} } = State, - S; + case State of + #{V:=#vas{status=as_parent,parents=Ps}} -> + aa_get_status(Ps, State); + #{V:=#vas{status=Status}} -> + Status + end; aa_get_status(#b_literal{}, _State) -> + unique; +aa_get_status([V=#b_var{}], State) -> + aa_get_status(V, State); +aa_get_status([V=#b_var{}|Parents], State) -> + aa_meet(aa_get_status(V, State), aa_get_status(Parents, State)). + + +%% aa_get_status but for instructions extracting values from pairs and +%% tuples. +aa_get_element_extraction_status(V=#b_var{}, State) -> + case State of + #{V:=#vas{status=aliased}} -> + aliased; + #{V:=#vas{tuple_elems=Elems}} when Elems =/= [] -> + unique; + #{V:=#vas{pair_elems=Elems}} when Elems =/= none -> + unique + end; +aa_get_element_extraction_status(#b_literal{}, _State) -> unique. -aa_set_status(V=#b_var{}, Status, State) -> - Repr = aa_get_representative(V, State), - State#{ Repr => {status, Status} }; +aa_set_status(V=#b_var{}, aliased, State) -> + ?DP("Setting ~p to aliased.~n", [V]), + case State of + #{V:=#vas{status=unique,parents=[]}} -> + %% This is the initial value. + aa_set_status_1(V, none, State); + #{V:=#vas{status=aliased}} -> + %% No change + State; + #{V:=#vas{parents=Parents}} -> + %% V is derived from another value, so the status has to + %% be propagated to the parent(s). + aa_set_status(Parents, aliased, State) + end; +aa_set_status(_V=#b_var{}, unique, State) -> + ?ASSERT(true = case State of + #{_V:=#vas{status=unique}} -> true; + #{_V:=#vas{parents=Parents}} -> + [unique = aa_get_status(P, State) || P <- Parents], + true + end), + State; aa_set_status(#b_literal{}, _Status, State) -> State; aa_set_status([X|T], Status, State) -> @@ -550,18 +851,197 @@ aa_set_status([X|T], Status, State) -> aa_set_status([], _, State) -> State. -aa_update_annotation(I=#b_set{anno=Anno0,args=Args,op=Op}, SS, AAS) -> +%% Propagate the aliased status to the children. +aa_set_status_1(#b_var{}=V, Parent, State0) -> + ?DP("aa_set_status_1: ~p, parent:~p~n~p.~n", [V,Parent,State0]), + #{V:=#vas{child=Child,extracted=Extracted,parents=Parents}} = State0, + State = State0#{V=>#vas{status=aliased}}, + Work = case Child of + none -> + []; + _ -> + [Child] + end ++ ordsets:del_element(Parent, Parents) ++ Extracted, + aa_set_status_1(Work, V, State); +aa_set_status_1([#b_var{}=V|Rest], Parent, State) -> + aa_set_status_1(Rest, Parent, aa_set_status_1(V, Parent, State)); +aa_set_status_1([], _Parent, State) -> + State. + +aa_derive_from(Dst, [Parent|Parents], State0) -> + aa_derive_from(Dst, Parents, aa_derive_from(Dst, Parent, State0)); +aa_derive_from(_Dst, [], State0) -> + State0; +aa_derive_from(#b_var{}, #b_literal{}, State) -> + State; +aa_derive_from(#b_var{}=Dst, #b_var{}=Parent, State) -> + ?DP("Deriving ~p from ~p~n~p.~n", [Dst,Parent,State]), + case State of + #{Dst:=#vas{status=aliased}} -> + %% Nothing to do, already aliased. This can happen when + %% handling Phis, no propagation to the parent should be + %% done. + ?aa_assert_ss(State); + #{Parent:=#vas{status=aliased}} -> + %% The parent is aliased, the child will become aliased. + ?aa_assert_ss(aa_set_aliased(Dst, State)); + #{Parent:=#vas{child=Child}} when Child =/= none -> + %% There already is a child, this will alias both Dst and Parent. + ?aa_assert_ss(aa_set_aliased([Dst,Parent], State)); + #{Parent:=#vas{child=none,tuple_elems=Elems}} when Elems =/= [] -> + %% There already is a child, this will alias both Dst and Parent. + ?aa_assert_ss(aa_set_aliased([Dst,Parent], State)); + #{Parent:=#vas{child=none,pair_elems=Elems}} when Elems =/= none -> + %% There already is a child, this will alias both Dst and Parent. + ?aa_assert_ss(aa_set_aliased([Dst,Parent], State)); + #{Dst:=#vas{parents=Parents}=ChildVas0, + Parent:=#vas{child=none}=ParentVas0} -> + %% Inherit the status of the parent. + ChildVas = + ChildVas0#vas{parents=ordsets:add_element(Parent, Parents), + status=as_parent}, + ParentVas = ParentVas0#vas{child=Dst}, + ?aa_assert_ss(State#{Dst=>ChildVas,Parent=>ParentVas}) + end. + +aa_prune_ss(SS, Live) -> + aa_prune_ss(SS, sets:to_list(Live), Live, #{}). +aa_prune_ss(SS, [V|Wanted], Live, Pruned) -> + case is_map_key(V, Pruned) of + false -> + %% This variable has to be kept, copy it, add it to the + %% set of live nodes and add the parents to the work list. + #{V:=#vas{parents=Ps}=Vas} = SS, + aa_prune_ss(SS, Ps++Wanted, + sets:add_element(V, Live), + Pruned#{V=>Vas}); + true -> + %% This variable is alread added. + aa_prune_ss(SS, Wanted, Live, Pruned) + end; +aa_prune_ss(_SS, [], Live, Pruned) -> + %% Now strip all references to variables not in the live set. + PruneRefs = fun(#vas{parents=Ps0,child=Child0,extracted=Es0, + tuple_elems=Ts0,pair_elems=Pes0}=Vas) -> + Ps = [P || P <- Ps0, sets:is_element(P, Live)], + Child = case sets:is_element(Child0, Live) of + true -> + Child0; + false -> + none + end, + Es = [E || E <- Es0, sets:is_element(E, Live)], + Ts = [E + || {_,Var}=E <- Ts0, sets:is_element(Var, Live)], + Pes = case Pes0 of + {_,X}=P -> + case sets:is_element(X, Live) of + true -> + P; + _ -> + none + end; + {both,X,Y}=P -> + case {sets:is_element(X, Live), + sets:is_element(Y, Live)} of + {true,true} -> + P; + {true,false} -> + {hd,X}; + {false,true} -> + {tl,Y}; + _ -> + none + end; + none -> + none + end, + Vas#vas{parents=Ps,child=Child,extracted=Es, + tuple_elems=Ts,pair_elems=Pes} + end, + #{V=>PruneRefs(Vas) || V:=Vas <- Pruned}. + +aa_update_annotations(Funs, #aas{alias_map=AliasMap0,st_map=StMap0}=AAS) -> + foldl(fun(F, {StMapAcc,AliasMapAcc}) -> + #{F:=Lbl2SS0} = AliasMapAcc, + #{F:=OptSt0} = StMapAcc, + {OptSt,Lbl2SS} = + aa_update_fun_annotation(OptSt0, Lbl2SS0, + AAS#aas{caller=F}), + {StMapAcc#{F=>OptSt},AliasMapAcc#{F=>Lbl2SS}} + end, {StMap0,AliasMap0}, Funs). + +aa_update_fun_annotation(#opt_st{ssa=SSA0}=OptSt0, Lbl2SS0, AAS) -> + %% Propagate alias information from successor to predecessor by + %% traversing the code post-order. + {SSA,Lbl2SS} = aa_update_annotation_blocks(reverse(SSA0), [], Lbl2SS0, AAS), + {OptSt0#opt_st{ssa=SSA},Lbl2SS}. + +aa_update_annotation_blocks([{?EXCEPTION_BLOCK,_}=Block|Blocks], + Acc, Lbl2SS, AAS) -> + %% There is no point in touching the exception block. + aa_update_annotation_blocks(Blocks, [Block|Acc], Lbl2SS, AAS); +aa_update_annotation_blocks([{Lbl, Block0}|Blocks], Acc, Lbl2SS0, AAS) -> + Successors = beam_ssa:successors(Block0), + Lbl2SS = foldl(fun(?EXCEPTION_BLOCK, Lbl2SSAcc) -> + %% What happens in the exception block + %% can't influence anything in any of the + %% parents. + Lbl2SSAcc; + (Successor, Lbl2SSAcc) -> + #{Successor:=OtherSS} = Lbl2SSAcc, + aa_merge_ss_successor(Lbl, OtherSS, Lbl2SSAcc) + end, Lbl2SS0, Successors), + #{Lbl:=SS} = Lbl2SS, + Block = aa_update_annotation_block(Block0, SS, AAS), + aa_update_annotation_blocks(Blocks, [{Lbl,Block}|Acc], Lbl2SS, AAS); +aa_update_annotation_blocks([], Acc, Lbl2SS, _AAS) -> + {Acc,Lbl2SS}. + +aa_update_annotation_block(#b_blk{is=Linear,last=Last}=Blk, SS, AAS) -> + Blk#b_blk{is=[aa_update_annotation(I, SS, AAS) || I <- Linear], + last=aa_update_annotation(Last, SS, AAS)}. + +aa_update_annotation(I=#b_set{args=[Tuple,Idx],op=get_tuple_element}, + SS, AAS) -> + Args = [{Tuple,aa_get_element_extraction_status(Tuple, SS)}, + {Idx,aa_get_status(Idx, SS)}], + aa_update_annotation1(Args, I, AAS); +aa_update_annotation(I=#b_set{args=[Idx,Tuple],op={bif,element}}, SS, AAS) -> + Args = [{Idx,aa_get_status(Idx, SS)}, + {Tuple,aa_get_element_extraction_status(Tuple, SS)}], + aa_update_annotation1(Args, I, AAS); +aa_update_annotation(I=#b_set{args=[Pair],op=get_hd}, SS, AAS) -> + Args = [{Pair,aa_get_element_extraction_status(Pair, SS)}], + aa_update_annotation1(Args, I, AAS); +aa_update_annotation(I=#b_set{args=[Pair],op=get_tl}, SS, AAS) -> + Args = [{Pair,aa_get_element_extraction_status(Pair, SS)}], + aa_update_annotation1(Args, I, AAS); +aa_update_annotation(I=#b_set{args=[Pair],op={bif,hd}}, SS, AAS) -> + Args = [{Pair,aa_get_element_extraction_status(Pair, SS)}], + aa_update_annotation1(Args, I, AAS); +aa_update_annotation(I=#b_set{args=[Pair],op={bif,tl}}, SS, AAS) -> + Args = [{Pair,aa_get_element_extraction_status(Pair, SS)}], + aa_update_annotation1(Args, I, AAS); +aa_update_annotation(I=#b_set{args=Args0}, SS, AAS) -> + Args = [{V,aa_get_status(V, SS)} || #b_var{}=V <- Args0], + aa_update_annotation1(Args, I, AAS); +aa_update_annotation(I=#b_ret{arg=#b_var{}=V}, SS, AAS) -> + aa_update_annotation1(aa_get_status(V, SS), I, AAS); +aa_update_annotation(I, _SS, _AAS) -> + %% For now we don't care about the other terminators. + I. + +aa_update_annotation1(ArgsStatus, + I=#b_set{anno=Anno0,args=Args,op=Op}, AAS) -> {Aliased,Unique} = - foldl(fun(#b_var{}=V, {As,Us}) -> - case aa_get_status(V, SS) of - aliased -> - {ordsets:add_element(V, As), Us}; - unique -> - {As, ordsets:add_element(V, Us)} - end; - (_, A) -> - A - end, {ordsets:new(),ordsets:new()}, Args), + foldl(fun({#b_var{}=V,aliased}, {As,Us}) -> + {ordsets:add_element(V, As), Us}; + ({#b_var{}=V,unique}, {As,Us}) -> + {As, ordsets:add_element(V, Us)}; + (_, S) -> + S + end, {ordsets:new(),ordsets:new()}, ArgsStatus), Anno1 = case Aliased of [] -> maps:remove(aliased, Anno0); _ -> Anno0#{aliased => Aliased} @@ -582,62 +1062,40 @@ aa_update_annotation(I=#b_set{anno=Anno0,args=Args,op=Op}, SS, AAS) -> %% kill map during the private-append pass. #aas{caller=Caller,kills=KillsMap} = AAS, #b_set{dst=Dst} = I, - KillMap = map_get(Caller, KillsMap), + KillMap = maps:get(Caller, KillsMap), Dies = sets:is_element(Var, map_get(Dst, KillMap)), Anno2#{first_fragment_dies => Dies}; _ -> Anno2 end, I#b_set{anno=Anno}; -aa_update_annotation(I=#b_ret{arg=#b_var{}=V,anno=Anno0}, SS, _AAS) -> - Anno = case aa_get_status(V, SS) of +aa_update_annotation1(Status, I=#b_ret{arg=#b_var{}=V,anno=Anno0}, _AAS) -> + Anno = case Status of aliased -> maps:remove(unique, Anno0#{aliased=>[V]}); unique -> maps:remove(aliased, Anno0#{unique=>[V]}) end, - I#b_ret{anno=Anno}; -aa_update_annotation(I, _SS, _AAS) -> - %% For now we don't care about the other terminators. - I. + I#b_ret{anno=Anno}. aa_set_aliased(Args, SS) -> aa_set_status(Args, aliased, SS). -aa_alias_all(SS0) -> - maps:map(fun(#b_var{}, _) -> - {status,aliased}; - (returns, Types) -> - #{ T => aliased || T := _ <- Types}; - (_, V) -> - V - end, SS0). - -aa_join_ls(VarA, [#b_var{}=VarB|Vars], State) -> - aa_join_ls(VarB, Vars, aa_join(VarA, VarB, State)); -aa_join_ls(VarA, [_|Vars], State) -> - aa_join_ls(VarA, Vars, State); -aa_join_ls(_, [], State) -> - State. - -aa_join(#b_var{}=VarA, #b_var{}=VarB, State) -> - ARepr = aa_get_representative(VarA, State), - BRepr = aa_get_representative(VarB, State), - case {ARepr, BRepr} of - {Repr, Repr} -> - State; - _ -> - {status, A} = map_get(ARepr, State), - {status, B} = map_get(BRepr, State), - State#{ ARepr => {status, aa_meet(A, B)}, BRepr => ARepr } - end; -aa_join(_, _, State) -> - State. - -aa_meet(#b_var{}=Var, SetStatus, State) -> - Repr = aa_get_representative(Var, State), - {status, Status} = map_get(Repr, State), - State#{ Repr => {status, aa_meet(SetStatus, Status)} }; +aa_alias_all(SS) -> + aa_set_aliased(maps:keys(SS), SS). + +aa_register_extracted(Extracted, Aggregate, State) -> + ?DP("REGISTER ~p: ~p~n", [Aggregate,Extracted]), + #{Aggregate:=#vas{extracted=ExVars}=AggVas0, + Extracted:=#vas{parents=Parents}=ExVas0} = State, + AggVas = AggVas0#vas{extracted=ordsets:add_element(Extracted, ExVars)}, + ExVas = ExVas0#vas{status=as_parent, + parents=ordsets:add_element(Aggregate, Parents)}, + State#{Aggregate=>AggVas, Extracted=>ExVas}. + +aa_meet(#b_var{}=Var, OtherStatus, State) -> + Status = aa_get_status(Var, State), + aa_set_status(Var, aa_meet(OtherStatus, Status), State); aa_meet(#b_literal{}, _SetStatus, State) -> State; aa_meet([Var|Vars], [Status|Statuses], State) -> @@ -694,28 +1152,35 @@ aa_alias_if_args_dont_die(Args, Where, SS, AAS) -> aa_set_aliased([Where|Args], SS) end. -%% Check that a variable in Args only occurs once, literals are -%% ignored. -aa_all_vars_unique(Args) -> - aa_all_vars_unique(Args, #{}). - -aa_all_vars_unique([#b_literal{}|Args], Seen) -> - aa_all_vars_unique(Args, Seen); -aa_all_vars_unique([#b_var{}=V|Args], Seen) -> - case Seen of - #{ V := _ } -> - false; - #{} -> - aa_all_vars_unique(Args, Seen#{V => true }) - end; -aa_all_vars_unique([], _) -> +%% Dst inherits the alias status of Arg, if Arg doesn't die here, it +%% becomes aliased by default. +aa_alias_inherit_and_alias_if_arg_does_not_die(Dst, Arg, SS0, AAS) -> + SS1 = aa_alias_if_args_dont_die([Arg], Dst, SS0, AAS), + aa_set_status(Dst, aa_get_status(Arg, SS1), SS1). + +%% Check that a variable in Args only occurs once and that it is not +%% aliased, literals are ignored. +aa_all_vars_unique(Args, SS) -> + aa_all_vars_unique(Args, #{}, SS). + +aa_all_vars_unique([#b_literal{}|Args], Seen,SS) -> + aa_all_vars_unique(Args, Seen, SS); +aa_all_vars_unique([#b_var{}=V|Args], Seen, SS) -> + aa_get_status(V, SS) =:= unique andalso + case Seen of + #{ V := _ } -> + false; + #{} -> + aa_all_vars_unique(Args, Seen#{V => true }, SS) + end; +aa_all_vars_unique([], _, _) -> true. aa_construct_term(Dst, Values, SS, AAS) -> - case aa_all_vars_unique(Values) + case aa_all_vars_unique(Values, SS) andalso aa_all_dies(Values, Dst, AAS) of true -> - aa_join_ls(Dst, Values, SS); + aa_derive_from(Dst, Values, SS); false -> aa_set_aliased([Dst|Values], SS) end. @@ -725,21 +1190,26 @@ aa_update_record_get_vars([#b_literal{}, Value|Updates]) -> aa_update_record_get_vars([]) -> []. -aa_bif(Dst, element, [_Idx,Tuple], SS, AAS) -> - %% If we extract a value and the aggregate dies and wasn't aliased, - %% we should not consider this an aliasing operation. - aa_alias_if_args_dont_die([Tuple], Dst, SS, AAS); -aa_bif(Dst, hd, Args, SS, AAS) -> - %% If we extract a value and the aggregate dies and wasn't aliased, - %% we should not consider this an aliasing operation. - aa_alias_if_args_dont_die(Args, Dst, SS, AAS); -aa_bif(Dst, tl, Args, SS, AAS) -> - %% If we extract a value and the aggregate dies and wasn't aliased, - %% we should not consider this an aliasing operation. - aa_alias_if_args_dont_die(Args, Dst, SS, AAS); -%% TODO: Ignored for now, as we don't track what's inside maps. -%% aa_bif(_Dst, map_get, _Args, SS, _AAS) -> -%% SS; +aa_bif(Dst, element, [#b_literal{val=Idx},Tuple], SS, _AAS) + when is_integer(Idx), Idx > 0 -> + aa_tuple_extraction(Dst, Tuple, #b_literal{val=Idx-1}, SS); +aa_bif(Dst, element, [#b_literal{},Tuple], SS, _AAS) -> + %% This BIF will fail, but in order to avoid any later transforms + %% making use of uniqueness, conservatively alias. + aa_set_aliased([Dst,Tuple], SS); +aa_bif(Dst, element, [#b_var{},Tuple], SS, _AAS) -> + aa_set_aliased([Dst,Tuple], SS); +aa_bif(Dst, hd, [Pair], SS, _AAS) -> + aa_pair_extraction(Dst, Pair, hd, SS); +aa_bif(Dst, tl, [Pair], SS, _AAS) -> + aa_pair_extraction(Dst, Pair, tl, SS); +aa_bif(Dst, map_get, [_Key,Map], SS, AAS) -> + aa_map_extraction(Dst, Map, SS, AAS); +aa_bif(Dst, binary_part, Args, SS, _AAS) -> + %% bif:binary_part/{2,3} is the only guard bif which could lead to + %% aliasing, it extracts a sub-binary with a reference to its + %% argument. + aa_set_aliased([Dst|Args], SS); aa_bif(Dst, Bif, Args, SS, _AAS) -> Arity = length(Args), case erl_internal:guard_bif(Bif, Arity) @@ -757,26 +1227,28 @@ aa_bif(Dst, Bif, Args, SS, _AAS) -> aa_phi(Dst, Args0, SS) -> Args = [V || {V,_} <- Args0], - aa_join_ls(Dst, Args, SS). + aa_derive_from(Dst, Args, SS). aa_call(Dst, [#b_local{}=Callee|Args], Anno, SS0, - #aas{alias_map=AliasMap,st_map=StMap}) -> + #aas{alias_map=AliasMap,st_map=StMap}=AAS0) -> #b_local{name=#b_literal{val=_N},arity=_A} = Callee, ?DP("A Call~n callee: ~p/~p~n args: ~p~n", [_N, _A, Args]), - IsNif = is_nif(Callee, StMap), case AliasMap of - #{ Callee := CalleeSS } when not IsNif -> + #{Callee:=#{0:=CalleeSS}=Lbl2SS} -> ?DP(" The callee is known~n"), #opt_st{args=CalleeArgs} = map_get(Callee, StMap), + ?DP(" callee args: ~p~n", [CalleeArgs]), + ?DP(" caller args: ~p~n", [Args]), ?DP(" args in caller: ~p~n", [[{Arg, aa_get_status(Arg, SS0)} || Arg <- Args]]), ArgStates = [ aa_get_status(Arg, CalleeSS) || Arg <- CalleeArgs], ?DP(" callee arg states: ~p~n", [ArgStates]), - SS1 = aa_add_call_info(Callee, Args, SS0), - SS = aa_meet(Args, ArgStates, SS1), + AAS = aa_add_call_info(Callee, Args, SS0, AAS0), + SS = aa_meet(Args, ArgStates, SS0), ?DP(" meet: ~p~n", - [[{Arg, aa_get_status(Arg, SS1)} || Arg <- Args]]), - ReturnStatusByType = maps:get(returns, CalleeSS, #{}), + [[{Arg, aa_get_status(Arg, SS)} || Arg <- Args]]), + ?DP(" callee-ss ~p~n", [CalleeSS]), + ReturnStatusByType = maps:get(returns, Lbl2SS, #{}), ?DP(" status by type: ~p~n", [ReturnStatusByType]), ReturnedType = case Anno of #{ result_type := ResultType } -> @@ -791,80 +1263,98 @@ aa_call(Dst, [#b_local{}=Callee|Args], Anno, SS0, ResultStatus = aa_get_status_by_type(ReturnedType, ReturnStatusByType), ?DP(" result status: ~p~n", [ResultStatus]), - aa_set_status(Dst, ResultStatus, SS); - _ when IsNif -> - %% This is a nif, assume that all arguments will be - %% aliased and that the result is aliased. - aa_set_aliased([Dst|Args], SS0); + {aa_set_status(Dst, ResultStatus, SS), AAS}; #{} -> %% We don't know anything about the function, don't change %% the status of any variables - SS0 + {SS0, AAS0} end; -aa_call(Dst, [_Callee|Args], _Anno, SS, _AAS) -> +aa_call(_Dst, [#b_remote{mod=#b_literal{val=erlang}, + name=#b_literal{val=exit}, + arity=1}|_], _Anno, SS, AAS) -> + %% The function will never return, so nothing that happens after + %% this can influence the aliasing status. + {SS, AAS}; +aa_call(Dst, [_Callee|Args], _Anno, SS, AAS) -> %% This is either a call to a fun or to an external function, %% assume that all arguments and the result escape. - aa_set_aliased([Dst|Args], SS). + {aa_set_aliased([Dst|Args], SS), AAS}. -%% Add info about the aliasing status of the arguments to the call -aa_add_call_info(Callee, Args, SS0) -> +%% Incorporate aliasing information for the arguments to a call when +%% analysing the body of a function into the global state. +aa_add_call_info(Callee, Args, SS0, #aas{call_args=Info0}=AAS) -> ArgStats = [aa_get_status(Arg, SS0) || Arg <- Args], - NewStats = case SS0 of - #{{call_info, Callee} := Stats} -> - [aa_meet(A, B) || {A,B} <- zip(Stats, ArgStats)]; - #{} -> - ArgStats - end, - SS0#{{call_info, Callee} => NewStats}. - -%% Incorporate aliasing information derived when analysing the body of -%% a function into the module-global state. -aa_merge_call_args_status(SS, AAS=#aas{call_args=Info0}) -> - Info = - maps:fold(fun({call_info,Callee}, NewArgs, Acc) -> - #{ Callee := OldArgs } = Acc, - Args = [aa_meet(A, B) - || {A,B} <- zip(NewArgs, OldArgs)], - Acc#{Callee => Args}; - (_, _, Acc) -> - Acc - end, Info0, SS), + #{Callee := Stats} = Info0, + NewStats = [aa_meet(A, B) || {A,B} <- zip(Stats, ArgStats)], + Info = Info0#{Callee => NewStats}, AAS#aas{call_args=Info}. aa_get_call_args_status(Args, Callee, #aas{call_args=Info}) -> #{ Callee := Status } = Info, zip(Args, Status). -aa_pair_extraction(Dst, Pair, Element, SS0) -> - case SS0 of - #{{pair,Pair}:=both} -> - %% Both elements have already been extracted - aa_set_aliased([Dst,Pair], SS0); - #{{pair,Pair}:=Element} -> - %% This element has already been extracted - aa_set_aliased([Dst,Pair], SS0); - #{{pair,Pair}:=_Other} -> - %% Both elements have now been extracted - aa_join(Dst, Pair, SS0#{{pair,Pair}=>both}); - _ -> - %% Nothing has been extracted from this pair - aa_join(Dst, Pair, SS0#{{pair,Pair}=>Element}) - end. - -aa_tuple_extraction(Dst, Tuple, #b_literal{val=I}, SS1) -> - case SS1 of - #{{tuple_element,Tuple}:=OrdSet0} -> - case ordsets:is_element(I, OrdSet0) of - true -> - aa_set_aliased([Dst,Tuple], SS1); - false -> - OrdSet = ordsets:add_element(I, OrdSet0), - aa_join(Dst, Tuple, SS1#{{tuple_element,Tuple}=>OrdSet}) - end; - _ -> - %% There are no aliases yet. - aa_join(Dst, Tuple, SS1#{{tuple_element,Tuple}=>[I]}) - end. +%% Pair extraction. +aa_pair_extraction(Dst, #b_var{}=Pair, Element, SS) -> + case SS of + #{Pair:=#vas{status=aliased}} -> + %% The pair is aliased, so what is extracted will be aliased. + aa_set_aliased(Dst, SS); + #{Pair:=#vas{pair_elems={both,_,_}}} -> + %% Both elements have already been extracted. + aa_set_aliased([Dst,Pair], SS); + #{Pair:=#vas{pair_elems=none}=Vas} -> + %% Nothing has been extracted from this pair yet. + aa_register_extracted( + Dst, Pair, + SS#{Pair=>Vas#vas{pair_elems={Element,Dst}}}); + #{Pair:=#vas{pair_elems={Element,_}}} -> + %% This element has already been extracted. + aa_set_aliased([Dst,Pair], SS); + #{Pair:=#vas{pair_elems={tl,T}}=Vas} when Element =:= hd -> + %% Both elements have now been extracted, but no aliasing. + aa_register_extracted(Dst, Pair, + SS#{Pair=>Vas#vas{pair_elems={both,Dst,T}}}); + #{Pair:=#vas{pair_elems={hd,H}}=Vas} when Element =:= tl -> + %% Both elements have now been extracted, but no aliasing. + aa_register_extracted(Dst, Pair, + SS#{Pair=>Vas#vas{pair_elems={both,H,Dst}}}) + end; +aa_pair_extraction(_Dst, #b_literal{}, _Element, SS) -> + SS. + +aa_map_extraction(Dst, Map, SS, AAS) -> + aa_derive_from( + Dst, Map, + aa_alias_inherit_and_alias_if_arg_does_not_die(Dst, Map, SS, AAS)). + +%% Extracting elements from a tuple. +aa_tuple_extraction(Dst, #b_var{}=Tuple, #b_literal{val=I}, SS) -> + case SS of + #{Tuple:=#vas{status=aliased}} -> + %% The tuple is aliased, so what is extracted will be + %% aliased. + aa_set_aliased(Dst, SS); + #{Tuple:=#vas{child=Child}} when Child =/= none -> + %% Something has already been derived from the tuple. + aa_set_aliased([Dst,Tuple], SS); + #{Tuple:=#vas{tuple_elems=[]}=TupleVas} -> + %% Nothing has been extracted from this tuple yet. + aa_register_extracted( + Dst, Tuple, SS#{Tuple=>TupleVas#vas{tuple_elems=[{I,Dst}]}}); + #{Tuple:=#vas{tuple_elems=Elems0}=TupleVas} -> + case [ Idx || {Idx,_} <- Elems0, I =:= Idx] of + [] -> + %% This element has not been extracted. + Elems = ordsets:add_element({I,Dst}, Elems0), + aa_register_extracted( + Dst, Tuple, SS#{Tuple=>TupleVas#vas{tuple_elems=Elems}}); + _ -> + %% This element is already extracted -> aliasing + aa_set_aliased([Dst,Tuple], SS) + end + end; +aa_tuple_extraction(_, #b_literal{}, _, SS) -> + SS. aa_make_fun(Dst, Callee=#b_local{name=#b_literal{}}, Env0, SS0, @@ -924,3 +1414,141 @@ aa_breadth_first([], [], _Seen, _FuncDb) -> aa_breadth_first([], Next, Seen, FuncDb) -> aa_breadth_first(Next, [], Seen, FuncDb). +-ifdef(EXTRA_ASSERTS). + +-spec aa_assert_ss(sharing_state()) -> sharing_state(). + +aa_assert_ss(SS) -> + try + maps:foreach( + fun(_V, #vas{status=aliased}=Vas) -> + %% An aliased variable should not have extra info. + [] = Vas#vas.parents, + none = Vas#vas.child, + [] = Vas#vas.extracted, + [] = Vas#vas.tuple_elems, + none = Vas#vas.pair_elems, + ok; + (V, #vas{status=unique,child=Child,extracted=Es, + tuple_elems=Ts,pair_elems=Pair}=Vas) -> + [] = Vas#vas.parents, + aa_assert_extracted(Es, Ts, Pair, V), + aa_assert_parent_of(V, Child, SS), + aa_assert_parent_of(V, Es, SS), + aa_assert_pair(Pair, V, SS), + aa_assert_tuple_elems(Ts, V, SS); + (V, #vas{status=as_parent,parents=Ps,child=Child,extracted=Es, + tuple_elems=Ts,pair_elems=Pair}) -> + aa_assert_not_aliased( + Ps, SS, + io_lib:format("as parent of ~p should not be aliased.", + [V])), + aa_assert_extracted(Es, Ts, Pair, V), + aa_assert_parent_of(Ps, V, SS), + aa_assert_parent_of(V, Child, SS), + aa_assert_parent_of(V, Es, SS), + aa_assert_pair(Pair, V, SS), + aa_assert_tuple_elems(Ts, V, SS) + end, SS) + of + _ -> SS + catch {assertion_failure, V, Desc} -> + io:format("Malformed SS~n~p~n~p ~s~n", [SS, V, Desc]), + exit(assertion_failure) + end. + +%% Check that V is a parent of Child +aa_assert_parent_of(_V, none, _SS) -> + ok; +aa_assert_parent_of(#b_var{}=V, #b_var{}=Child, SS) -> + case SS of + #{Child:=#vas{status=as_parent,parents=Ps}} -> + case ordsets:is_element(V, Ps) of + true -> + ok; + false -> + throw({assertion_failure, V, + io_lib:format( + "child ~p does not have ~p as parent", + [Child, V])}) + end; + #{} -> + throw({assertion_failure, V, + io_lib:format( + "child ~p does not have status as_parent", [Child])}) + end; +aa_assert_parent_of(#b_var{}=V, [P|Ps], SS) -> + aa_assert_parent_of(V, P, SS), + aa_assert_parent_of(V, Ps, SS); +aa_assert_parent_of([V|Vs], Child, SS) -> + aa_assert_parent_of(V, Child, SS), + aa_assert_parent_of(Vs, Child, SS); +aa_assert_parent_of(_, [], _) -> + true; +aa_assert_parent_of([], _, _) -> + true. + +aa_assert_pair(none, _V, _SS) -> + ok; +aa_assert_pair({Elem,X}, V, SS) when Elem =:= hd; Elem =:= tl -> + case SS of + #{X:=#vas{status=as_parent}} -> + aa_assert_parent_of(V, X, SS); + #{} -> + throw({assertion_failure, V, + io_lib:format("extracted pair and ~p does not" + " have status as_parent", [X])}) + end; +aa_assert_pair({both,X,Y}, V, SS) -> + case SS of + #{X:=#vas{status=as_parent}, + Y:=#vas{status=as_parent}} -> + aa_assert_parent_of(V, X, SS), + aa_assert_parent_of(V, Y, SS); + #{} -> + throw({assertion_failure, V, + io_lib:format("extracted pairs ~p and ~p do not" + " have status as_parent", [X, Y])}) + end. + +aa_assert_tuple_elems([{_,X}|Ts], V, SS) -> + case SS of + #{X:=#vas{status=as_parent}} -> + aa_assert_parent_of(V, X, SS), + aa_assert_tuple_elems(Ts, V, SS); + #{} -> + throw({assertion_failure, V, + io_lib:format( + "child ~p does not have status as_parent", [X])}) + end; +aa_assert_tuple_elems([], _, _) -> + ok. + +aa_assert_extracted(Es, Ts, Pair, Var) -> + Actual = ordsets:union(ordsets:from_list([V || {_,V} <- Ts]), + ordsets:from_list(case Pair of + none -> []; + {_, X} -> [X]; + {both,X,Y} -> [X,Y] + end)), + case Es of + Actual -> + true; + _ -> + throw({assertion_failure, Var, + "has inconsistent extracted set"}) + end. + +aa_assert_not_aliased([V|Vs], SS, Desc) -> + #{V:=#vas{status=S}} = SS, + + case S of + unique -> ok; + as_parent -> ok; + _ -> + throw({assertion_failure, V, Desc}) + end, + aa_assert_not_aliased(Vs, SS, Desc); +aa_assert_not_aliased([], _SS, _) -> + true. +-endif. diff --git a/lib/compiler/src/beam_ssa_bc_size.erl b/lib/compiler/src/beam_ssa_bc_size.erl index 1c4dd5804840..0e33e0c5af76 100644 --- a/lib/compiler/src/beam_ssa_bc_size.erl +++ b/lib/compiler/src/beam_ssa_bc_size.erl @@ -91,19 +91,14 @@ opt_blks([], _ParamInfo, _StMap, unchanged, _Count, _Acc) -> opt_writable(Bs0, L, Blk, Blks, ParamInfo, Count0, Acc0) -> case {Blk,Blks} of {#b_blk{last=#b_br{succ=Next,fail=Next}}, - [{Next,#b_blk{is=[#b_set{op=call,args=[_|Args],dst=Dst}=Call|_], - last=CallLast}}|_]} -> + [{Next,#b_blk{is=[#b_set{op=call,args=[_|Args],dst=Dst}=Call|_]}}|_]} -> ensure_not_match_context(Call, ParamInfo), ArgTypes = #{Arg => {arg,Arg} || Arg <- Args}, Bs = maps:merge(ArgTypes, Bs0), Result = map_get(Dst, call_size_func(Call, Bs)), - {Expr,Annos} = make_expr_tree(Result), - - %% Note that we pass the generator call's terminator: should we - %% need to raise a `bad_generator` exception, it needs to fail in - %% the same manner as the generator itself. - cg_size_calc(Expr, L, Blk, CallLast, Annos, Count0, Acc0); + Expr = make_expr_tree(Result), + cg_size_calc(Expr, L, Blk, Count0, Acc0); {_,_} -> throw(not_possible) end. @@ -140,7 +135,7 @@ ensure_not_match_context(#b_set{anno=Anno,args=[_|Args]}, ParamInfo) -> %%% and how many bits are appended to the writable binary. %%% -call_size_func(#b_set{anno=Anno,op=call,args=[Name|Args],dst=Dst}, Bs) -> +call_size_func(#b_set{op=call,args=[Name|Args],dst=Dst}, Bs) -> StMap = map_get(st_map, Bs), case StMap of #{Name := #opt_st{ssa=Linear,args=Params}} -> @@ -186,28 +181,28 @@ call_size_func(#b_set{anno=Anno,op=call,args=[Name|Args],dst=Dst}, Bs) -> #b_remote{mod=#b_literal{val=erlang}, name=#b_literal{val=error}, arity=1} -> - capture_anno(Anno, Dst, Args, Bs#{Dst => exception}); + capture_generator(Dst, Args, Bs#{Dst => exception}); _ -> Bs#{Dst => any} end end. -capture_anno(Anno, Dst, [ErrorTerm], Bs) -> +capture_generator(Dst, [ErrorTerm], Bs) -> case get_value(ErrorTerm, Bs) of {tuple,Elements} -> Ts = [get_value(E, Bs) || E <- Elements], - capture_anno_1(Anno, Dst, Ts, Bs); + capture_generator_1(Dst, Ts, Bs); _ -> Bs end. -capture_anno_1(Anno, Dst, [{nil_or_bad,Generator}|_], Bs) -> - Bs#{Dst => {generator_anno,{Generator,Anno}}}; -capture_anno_1(Anno, Dst, [{arg,Generator}|_], Bs) -> - Bs#{Dst => {generator_anno,{Generator,Anno}}}; -capture_anno_1(Anno, Dst, [_|T], Bs) -> - capture_anno_1(Anno, Dst, T, Bs); -capture_anno_1(_, _, [], Bs) -> +capture_generator_1(Dst, [{nil_or_bad,_Generator}|_], Bs) -> + Bs#{Dst => generator}; +capture_generator_1(Dst, [{arg,_Generator}|_], Bs) -> + Bs#{Dst => generator}; +capture_generator_1(Dst, [_|T], Bs) -> + capture_generator_1(Dst, T, Bs); +capture_generator_1(_, [], Bs) -> Bs. setup_call_bs([V|Vs], [A0|As], OldBs, NewBs) -> @@ -239,8 +234,8 @@ calc_size([{L,#b_blk{is=Is,last=Last}}|Blks], Map0) -> end; calc_size([], Map) -> case sort(maps:values(Map)) of - [{call,_}=Call,{generator_anno,GenAnno}] -> - {Call,GenAnno}; + [generator,{call,_}=Call] -> + Call; _ -> throw(not_possible) end. @@ -251,8 +246,8 @@ get_ret(#b_ret{arg=Arg}, Bs) -> none; {writable,#b_literal{val=0}} -> none; - {generator_anno,_}=GenAnno -> - GenAnno; + generator -> + generator; Ret -> Ret end; @@ -316,7 +311,7 @@ calc_size_instr(#b_set{op=bs_match,args=[_Type,Ctx,_Flags, none -> Bs#{Dst => any}; Val -> - update_match(Dst, Ctx, {{safe,{bif,'*'}},[Val,Unit]}, Bs) + update_match(Dst, Ctx, {{bif,'*'},[Val,Unit]}, Bs) end; calc_size_instr(#b_set{op=bs_start_match,args=[#b_literal{val=new},Arg],dst=Dst}, Bs) -> case get_arg_value(Arg, Bs) of @@ -428,30 +423,33 @@ join_bs_1([], _Bigger, Smaller) -> Smaller. %%% Turn the result of the traversal of the SSA code into an expression tree. %%% -make_expr_tree({{call,Alloc0},GenAnno}) -> - {Alloc1,Annos} = make_expr_tree_list(Alloc0, none, none, [GenAnno]), - Alloc2 = opt_expr(Alloc1), - Alloc = round_up_to_byte_size(Alloc2), - {Alloc,maps:from_list(Annos)}; +make_expr_tree({call,Alloc0}) -> + Alloc1 = make_expr_tree_list(Alloc0, none, none), + Alloc = opt_expr(Alloc1), + round_up_to_byte_size(Alloc); make_expr_tree(_) -> throw(not_possible). -make_expr_tree_list([{{call,List},GenAnno}|T], Match, none, Annos0) -> - {BuildSize,Annos} = make_expr_tree_list(List, none, none, [GenAnno|Annos0]), - make_expr_tree_list(T, Match, BuildSize, Annos); -make_expr_tree_list([{match,NumItems,N}|T], none, BuildSize, Annos) -> - make_expr_tree_list(T, {NumItems,N}, BuildSize, Annos); -make_expr_tree_list([{writable,BuildSize}|T], Match, none, Annos) -> - make_expr_tree_list(T, Match, BuildSize, Annos); -make_expr_tree_list([_|T], Match, BuildSize, Annos) -> - make_expr_tree_list(T, Match, BuildSize, Annos); -make_expr_tree_list([], Match, BuildSize, Annos) +make_expr_tree_list([{call,List}|T], Match, none) -> + BuildSize = make_expr_tree_list(List, none, none), + make_expr_tree_list(T, Match, BuildSize); +make_expr_tree_list([{match,NumItems,N}|T], none, BuildSize) -> + make_expr_tree_list(T, {NumItems,N}, BuildSize); +make_expr_tree_list([{writable,BuildSize}|T], Match, none) -> + make_expr_tree_list(T, Match, BuildSize); +make_expr_tree_list([_|T], Match, BuildSize) -> + make_expr_tree_list(T, Match, BuildSize); +make_expr_tree_list([], Match, BuildSize) when Match =/= none, BuildSize =/= none -> {NumItems,N} = Match, - Expr = {{bif,'*'},[{{safe,{bif,'div'}},[NumItems,N]},BuildSize]}, - {Expr,Annos}; -make_expr_tree_list([], _, _, Annos) -> - {none,Annos}. + case N of + #b_literal{val=0} -> + throw(not_possible); + _ -> + {{bif,'*'},[{{bif,'div'},[NumItems,N]},BuildSize]} + end; +make_expr_tree_list([], _, _) -> + none. round_up_to_byte_size(Alloc0) -> Alloc = case divisible_by_eight(Alloc0) of @@ -476,10 +474,7 @@ opt_expr({Op,Args0}) -> none -> opt_expr_1(Op, Args); LitArgs -> - Bif = case Op of - {safe,{bif,Bif0}} -> Bif0; - {bif,Bif0} -> Bif0 - end, + {bif,Bif} = Op, try apply(erlang, Bif, LitArgs) of Result -> #b_literal{val=Result} @@ -490,15 +485,10 @@ opt_expr({Op,Args0}) -> end; opt_expr(none) -> none. -opt_expr_1({safe,{bif,'div'}}=Op, Args) -> - case Args of - [Int,#b_literal{val=1}] -> - Int; - [_Int,#b_literal{val=N}] when N > 1 -> - opt_expr_1({bif,'div'}, Args); - [_,_] -> - {Op,Args} - end; +opt_expr_1({bif,'div'}=Op, [_,#b_literal{val=0}]=Args) -> + {Op,Args}; +opt_expr_1({bif,'div'}, [Numerator,#b_literal{val=1}]) -> + Numerator; opt_expr_1({bif,'div'}=Op, [Numerator,#b_literal{val=Denominator}]=Args) -> try opt_expr_div(Numerator, Denominator) @@ -516,10 +506,10 @@ opt_expr_1({bif,'div'}=Op, [Numerator,#b_literal{val=Denominator}]=Args) -> {Op,Args} end end; -opt_expr_1({bif,'*'}, [{{safe,_},_},#b_literal{val=0}=Zero]) -> - Zero; opt_expr_1({bif,'*'}, [Factor,#b_literal{val=1}]) -> Factor; +opt_expr_1({bif,'+'}, [#b_literal{val=0},Term]) -> + Term; opt_expr_1(Op, Args) -> {Op,Args}. @@ -551,90 +541,44 @@ literal_expr_args([], Acc) -> %%% %%% Given an expression tree, generate SSA code to calculate the number -%%% bytes to allocate for the writable binary. +%%% of bytes to allocate for the writable binary. %%% -cg_size_calc(Expr, L, #b_blk{is=Is0}=Blk0, CallLast, Annos, Count0, Acc0) -> - [InitWr] = Is0, - FailBlk0 = [], - {Acc1,Alloc,NextBlk,FailBlk,Count} = cg_size_calc_1(L, Expr, Annos, - CallLast, FailBlk0, - Count0, Acc0), - Is = [InitWr#b_set{args=[Alloc]}], - Blk = Blk0#b_blk{is=Is}, - Acc = [{NextBlk,Blk}|FailBlk++Acc1], - {Acc,Count}. +cg_size_calc(Expr, L, #b_blk{}=Blk0, Count0, Acc0) -> + {[Fail,PhiL,InitWrL],Count1} = new_blocks(3, Count0), + {PhiDst,Count2} = new_var(Count1), + {Acc1,Alloc,NextBlk,Count} = cg_size_calc_1(L, Expr, Fail, Count2, Acc0), -cg_size_calc_1(L, #b_literal{}=Alloc, _Annos, _CallLast, FailBlk, Count, Acc) -> - {Acc,Alloc,L,FailBlk,Count}; -cg_size_calc_1(L0, {Op0,Args0}, Annos, CallLast, FailBlk0, Count0, Acc0) -> - {Args,Acc1,L,FailBlk1,Count1} = cg_atomic_args(Args0, L0, Annos, CallLast, - FailBlk0, Count0, Acc0, []), - {BadGenL,FailBlk,Count2} = cg_bad_generator(Args, Annos, CallLast, - FailBlk1, Count1), - {Dst,Count3} = new_var('@ssa_tmp', Count2), - case Op0 of - {safe,Op} -> - {OpDst,Count4} = new_var('@ssa_size', Count3), - {[OpSuccL,OpFailL,PhiL,NextL],Count5} = new_blocks(4, Count4), - I = #b_set{op=Op,args=Args,dst=OpDst}, - {Blk,Count} = cg_succeeded(I, OpSuccL, OpFailL, Count5), - JumpBlk = #b_blk{is=[],last=cg_br(PhiL)}, - PhiIs = [#b_set{op=phi, - args=[{OpDst,OpSuccL},{#b_literal{val=0},OpFailL}], - dst=Dst}], - PhiBlk = #b_blk{is=PhiIs,last=cg_br(NextL)}, - Acc = [{PhiL,PhiBlk},{OpSuccL,JumpBlk}, - {OpFailL,JumpBlk},{L,Blk}|Acc1], - {Acc,Dst,NextL,FailBlk,Count}; - _ -> - {NextBlkL,Count4} = new_block(Count3), - I = #b_set{op=Op0,args=Args,dst=Dst}, - {SuccBlk,Count} = cg_succeeded(I, NextBlkL, BadGenL, Count4), - Acc = [{L,SuccBlk}|Acc1], - {Acc,Dst,NextBlkL,FailBlk,Count} - end. + BrPhiBlk = #b_blk{is=[],last=cg_br(PhiL)}, -cg_bad_generator([Arg|_], Annos, CallLast, FailBlk, Count) -> - case Annos of - #{Arg := Anno} -> - cg_bad_generator_1(Anno, Arg, CallLast, FailBlk, Count); - #{} -> - case FailBlk of - [{L,_}|_] -> - {L,FailBlk,Count}; - [] -> - cg_bad_generator_1(#{}, Arg, CallLast, FailBlk, Count) - end - end. + PhiArgs = [{Alloc,NextBlk}, + {#b_literal{val=256},Fail}], + PhiIs = [#b_set{op=phi,dst=PhiDst,args=PhiArgs}], + PhiBlk = #b_blk{is=PhiIs,last=cg_br(InitWrL)}, + + #b_blk{is=[InitWr]} = Blk0, + Is = [InitWr#b_set{args=[PhiDst]}], + Blk = Blk0#b_blk{is=Is}, + + Acc = [{InitWrL,Blk}, + {PhiL,PhiBlk}, + {NextBlk,BrPhiBlk}, + {Fail,BrPhiBlk}|Acc1], + {Acc,Count}. -cg_bad_generator_1(Anno, Arg, CallLast, FailBlk, Count0) -> - {L,Count1} = new_block(Count0), - {TupleDst,Count2} = new_var('@ssa_tuple', Count1), - {SuccDst,Count3} = new_var('@ssa_bool', Count2), - {Ret,Count4} = new_var('@ssa_ret', Count3), - MFA = #b_remote{mod=#b_literal{val=erlang}, - name=#b_literal{val=error}, - arity=1}, - TupleI = #b_set{op=put_tuple, - args=[#b_literal{val=bad_generator},Arg], - dst=TupleDst}, - CallI = #b_set{anno=Anno,op=call,args=[MFA,TupleDst],dst=Ret}, - SuccI = #b_set{op={succeeded,body},args=[Ret],dst=SuccDst}, - Is = [TupleI,CallI,SuccI], - - %% The `bad_generator` call must refer to the same fail label (either a - %% landing pad or ?EXCEPTION_BLOCK) as the caller, or else we'll break - %% optimizations that assume exceptions are always reflected in the control - %% flow. - #b_br{fail=FailLbl} = CallLast, %Assertion. - Last = #b_br{bool=SuccDst,succ=FailLbl,fail=FailLbl}, - - Blk = #b_blk{is=Is,last=Last}, - {L,[{L,Blk}|FailBlk],Count4}. +cg_size_calc_1(L, #b_literal{}=Alloc, _Fail, Count, Acc) -> + {Acc,Alloc,L,Count}; +cg_size_calc_1(L0, {Op,Args0}, Fail, Count0, Acc0) -> + {Args,Acc1,L,Count1} = cg_atomic_args(Args0, L0, Fail, Count0, Acc0, []), + {Dst,Count3} = new_var(Count1), + {NextBlkL,Count4} = new_block(Count3), + I = #b_set{op=Op,args=Args,dst=Dst}, + {SuccBlk,Count} = cg_succeeded(I, NextBlkL, Fail, Count4), + Acc = [{L,SuccBlk}|Acc1], + {Acc,Dst,NextBlkL,Count}. cg_succeeded(#b_set{dst=OpDst}=I, Succ, Fail, Count0) -> - {Bool,Count} = new_var('@ssa_bool', Count0), + {Bool,Count} = new_var(Count0), SuccI = #b_set{op={succeeded,guard},args=[OpDst],dst=Bool}, Blk = #b_blk{is=[I,SuccI],last=#b_br{bool=Bool,succ=Succ,fail=Fail}}, {Blk,Count}. @@ -642,28 +586,24 @@ cg_succeeded(#b_set{dst=OpDst}=I, Succ, Fail, Count0) -> cg_br(Target) -> #b_br{bool=#b_literal{val=true},succ=Target,fail=Target}. -cg_atomic_args([A|As], L, Annos, CallLast, FailBlk0, Count0, BlkAcc0, Acc) -> +cg_atomic_args([A|As], L, Fail, Count0, BlkAcc0, Acc) -> case A of #b_literal{} -> - cg_atomic_args(As, L, Annos, CallLast, FailBlk0, - Count0, BlkAcc0, [A|Acc]); + cg_atomic_args(As, L, Fail, Count0, BlkAcc0, [A|Acc]); #b_var{} -> - cg_atomic_args(As, L, Annos, CallLast, FailBlk0, - Count0, BlkAcc0, [A|Acc]); + cg_atomic_args(As, L, Fail, Count0, BlkAcc0, [A|Acc]); none -> throw(not_possible); _ -> - {BlkAcc,Var,NextBlk,FailBlk,Count} = - cg_size_calc_1(L, A, Annos, CallLast, FailBlk0, - Count0, BlkAcc0), - cg_atomic_args(As, NextBlk, Annos, CallLast, FailBlk, - Count, BlkAcc, [Var|Acc]) + {BlkAcc,Var,NextBlk,Count} = + cg_size_calc_1(L, A, Fail, Count0, BlkAcc0), + cg_atomic_args(As, NextBlk, Fail, Count, BlkAcc, [Var|Acc]) end; -cg_atomic_args([], NextBlk, _Annos, _CallLast, FailBlk, Count, BlkAcc, Acc) -> - {reverse(Acc),BlkAcc,NextBlk,FailBlk,Count}. +cg_atomic_args([], NextBlk, _Fail, Count, BlkAcc, Acc) -> + {reverse(Acc),BlkAcc,NextBlk,Count}. -new_var(Base, Count) -> - {#b_var{name={Base,Count}},Count+1}. +new_var(Count) -> + {#b_var{name=Count},Count+1}. new_blocks(N, Count) -> new_blocks(N, Count, []). diff --git a/lib/compiler/src/beam_ssa_bool.erl b/lib/compiler/src/beam_ssa_bool.erl index 7633f8c9a116..d4336f313dea 100644 --- a/lib/compiler/src/beam_ssa_bool.erl +++ b/lib/compiler/src/beam_ssa_bool.erl @@ -117,7 +117,7 @@ -module(beam_ssa_bool). -export([module/2]). --import(lists, [all/2,foldl/3,keyfind/3,last/1,partition/2, +-import(lists, [all/2,any/2,foldl/3,keyfind/3,last/1,partition/2, reverse/1,reverse/2,sort/1]). -include("beam_ssa.hrl"). @@ -126,7 +126,8 @@ ldefs=#{}, count :: beam_ssa:label(), dom, - uses}). + uses, + in_or=false :: boolean()}). -spec module(beam_ssa:b_module(), [compile:option()]) -> {'ok',beam_ssa:b_module()}. @@ -309,7 +310,7 @@ pre_opt([L|Ls], Sub0, Reached0, Count0, Blocks) -> {#b_set{}=Test0,#b_br{}=Br0} -> %% Here is a #b_switch{} that has been reduced to %% a '=:=' followed by a two-way `br`. - Bool = #b_var{name={'@ssa_bool',Count0}}, + Bool = #b_var{name=Count0}, Count = Count0 + 1, Test = Test0#b_set{dst=Bool}, Br = beam_ssa:normalize(Br0#b_br{bool=Bool}), @@ -366,7 +367,10 @@ pre_opt_is([#b_set{op={succeeded,_},dst=Dst,args=Args0}=I0|Is], Sub = Sub0#{Dst=>#b_literal{val=true}}, pre_opt_is(Is, Reached, Sub, Acc); false -> - pre_opt_is(Is, Reached, Sub0, [I|Acc]) + %% Don't remember boolean expressions that can potentially fail, + %% because that can cause unsafe optimizations. + Sub = maps:remove(Arg, Sub0), + pre_opt_is(Is, Reached, Sub, [I|Acc]) end; pre_opt_is([#b_set{dst=Dst,args=Args0}=I0|Is], Reached, Sub0, Acc) -> Args = sub_args(Args0, Sub0), @@ -909,7 +913,7 @@ do_opt_digraph([A|As], G0, St) -> G -> do_opt_digraph(As, G, St) catch - throw:not_possible -> + throw:not_possible when not St#st.in_or -> do_opt_digraph(As, G0, St) end; do_opt_digraph([], G, _St) -> G. @@ -923,19 +927,33 @@ opt_digraph_instr(#b_set{dst=Dst}=I, G0, St) -> #b_set{op={bif,'and'},args=Args} -> G2 = convert_to_br_node(I, Succ, G1, St), {First,Second} = order_args(Args, G2, St), + case St of + #st{in_or=true} -> + %% This code is part of the left-hand side operand + %% of `or`. The optimization is unsafe if there + %% any instructions that may fail. + ensure_no_failing_instructions(First, Second, G1, St); + #st{} -> + ok + end, G = redirect_test(First, {fail,Fail}, G2, St), redirect_test(Second, {fail,Fail}, G, St); #b_set{op={bif,'or'},args=Args} -> {First,Second} = order_args(Args, G1, St), - %% Here we give up the optimization if the optimization - %% would skip instructions that may fail. A possible - %% future improvement would be to hoist the failing - %% instructions so that they would always be executed. + %% Here we give up if the optimization would skip + %% instructions that may fail in the right-hand side + %% operand. ensure_no_failing_instructions(First, Second, G1, St), G2 = convert_to_br_node(I, Succ, G1, St), - G = redirect_test(First, {succ,Succ}, G2, St), + + %% Be sure to give up if the left-hand side operation of + %% the `or` has a failing operation thay may be + %% skipped. Example: + %% + %% f(_, B) when ((ok == B) and (ok =/= trunc(ok))) or (ok < B) -> ... + G = redirect_test(First, {succ,Succ}, G2, St#st{in_or=true}), redirect_test(Second, {fail,Fail}, G, St); #b_set{op={bif,'xor'}} -> %% Rewriting 'xor' is not practical. Fortunately, @@ -999,30 +1017,34 @@ convert_to_br_node(I, Target, G0, St) -> %% ensure_no_failing_instructions(First, Second, G, St) -> ok. %% Ensure that there are no instructions that can fail that would not -%% be executed if right-hand side of the `or` would be skipped. That -%% means that the `or` could succeed when it was supposed to +%% be executed if right-hand side of the operation would be skipped. That +%% means that the operation could succeed when it was supposed to %% fail. Example: %% %% (element(1, T) =:= tag) or %% (element(10, T) =:= y) ensure_no_failing_instructions(First, Second, G, St) -> - Vs0 = covered(get_vertex(First, St), get_vertex(Second, St), G), - Vs = [{V,beam_digraph:vertex(G, V)} || V <- Vs0], - Failing = [P || {V,#b_set{op={succeeded,_}}}=P <- Vs, - not eaten_by_phi(V, G)], - case Failing of - [] -> ok; - [_|_] -> not_possible() + Vs = covered(get_vertex(First, St), get_vertex(Second, St), G), + case any(fun(V) -> + case beam_digraph:vertex(G, V) of + #b_set{op=Op} -> + can_fail(Op, V, G); + _ -> + false + end + end, Vs) of + true -> not_possible(); + false -> ok end. -eaten_by_phi(V, G) -> - {br,_,Fail} = get_targets(V, G), - case beam_digraph:vertex(G, Fail) of - br -> - [To] = beam_digraph:out_neighbours(G, Fail), - case beam_digraph:vertex(G, To) of - #b_set{op=phi} -> +can_fail({succeeded,_}, V, G) -> not eaten_by_phi(V, G); +can_fail(put_map, _, _) -> true; +can_fail(_, V, G) -> + case get_targets(V, G) of + {br,_Succ,Fail} -> + case follow_branch(G, Fail) of + {external,_} -> true; _ -> false @@ -1031,6 +1053,24 @@ eaten_by_phi(V, G) -> false end. +eaten_by_phi(V, G) -> + {br,_,Fail} = get_targets(V, G), + case follow_branch(G, Fail) of + #b_set{op=phi} -> + true; + _ -> + false + end. + +follow_branch(G, Br) -> + case beam_digraph:vertex(G, Br) of + br -> + [To] = beam_digraph:out_neighbours(G, Br), + beam_digraph:vertex(G, To); + _ -> + none + end. + %% order_args([Arg1,Arg2], G, St) -> {First,Second}. %% Order arguments for a boolean operator so that there is path in the %% digraph from the instruction referered to by the first operand to @@ -1635,35 +1675,34 @@ del_out_edges(V, G) -> beam_digraph:del_edges(G, beam_digraph:out_edges(G, V)). covered(From, To, G) -> - Seen0 = sets:new([{version, 2}]), + Seen0 = #{}, {yes,Seen} = covered_1(From, To, G, Seen0), - sets:to_list(Seen). + [V || {V,reached} <- maps:to_list(Seen)]. covered_1(To, To, _G, Seen) -> {yes,Seen}; -covered_1(From, To, G, Seen0) -> - Vs0 = beam_digraph:out_neighbours(G, From), - Vs = [V || V <- Vs0, not sets:is_element(V, Seen0)], - Seen = sets:union(sets:from_list(Vs, [{version, 2}]), Seen0), - case Vs of - [] -> - no; - [_|_] -> - covered_list(Vs, To, G, Seen, false) - end. +covered_1(From, To, G, Seen) -> + Vs = beam_digraph:out_neighbours(G, From), + covered_list(Vs, To, G, Seen, no). covered_list([V|Vs], To, G, Seen0, AnyFound) -> - case covered_1(V, To, G, Seen0) of - {yes,Seen} -> - covered_list(Vs, To, G, Seen, true); - no -> - covered_list(Vs, To, G, Seen0, AnyFound) + case Seen0 of + #{V := reached} -> + covered_list(Vs, To, G, Seen0, yes); + #{V := not_reached} -> + covered_list(Vs, To, G, Seen0, AnyFound); + #{} -> + case covered_1(V, To, G, Seen0) of + {yes,Seen1} -> + Seen = Seen1#{V => reached}, + covered_list(Vs, To, G, Seen, yes); + {no,Seen1} -> + Seen = Seen1#{V => not_reached}, + covered_list(Vs, To, G, Seen, AnyFound) + end end; covered_list([], _, _, Seen, AnyFound) -> - case AnyFound of - true -> {yes,Seen}; - false -> no - end. + {AnyFound,Seen}. digraph_roots(G) -> digraph_roots_1(beam_digraph:vertices(G), G). diff --git a/lib/compiler/src/beam_ssa_bsm.erl b/lib/compiler/src/beam_ssa_bsm.erl index 71736b3bc025..2000ea83d56a 100644 --- a/lib/compiler/src/beam_ssa_bsm.erl +++ b/lib/compiler/src/beam_ssa_bsm.erl @@ -393,7 +393,7 @@ amb_create_alias(#b_var{}=Arg0, Context, Lbl, State0) -> %% promotion will be inserted later by amb_insert_promotions/2. Counter = State0#amb.cnt, - Alias = #b_var{name={'@ssa_bsm_alias', Counter}}, + Alias = #b_var{name=Counter}, Promotion = #b_set{op=bs_get_tail,dst=Alias,args=[Context]}, Promotions = maps:put({Lbl, Arg0}, Promotion, Promotions0), @@ -767,7 +767,7 @@ aca_cs_is([#b_set{op=Op, _ -> aca_cs_args(Args0, VRs0) end, Counter = Counter0 + 1, - Dst = #b_var{name={'@ssa_bsm_aca',Counter}}, + Dst = #b_var{name=Counter0}, I = I0#b_set{dst=Dst,args=Args}, VRs = maps:put(Dst0, Dst, VRs0), aca_cs_is(Is, Counter, VRs, BRs, [I | Acc]); diff --git a/lib/compiler/src/beam_ssa_codegen.erl b/lib/compiler/src/beam_ssa_codegen.erl index 9f6169829b41..0399d358de37 100644 --- a/lib/compiler/src/beam_ssa_codegen.erl +++ b/lib/compiler/src/beam_ssa_codegen.erl @@ -34,14 +34,14 @@ splitwith/2,takewhile/2]). -record(cg, {lcount=1 :: beam_label(), %Label counter - functable=#{} :: #{fa()=>beam_label()}, - labels=#{} :: #{ssa_label()=>0|beam_label()}, + functable=#{} :: #{fa() => beam_label()}, + labels=#{} :: #{ssa_label() => 0|beam_label()}, used_labels=gb_sets:empty() :: gb_sets:set(ssa_label()), - regs=#{} :: #{beam_ssa:var_name()=>ssa_register()}, + regs=#{} :: #{beam_ssa:b_var() => ssa_register()}, ultimate_fail=1 :: beam_label(), catches=gb_sets:empty() :: gb_sets:set(ssa_label()), fc_label=1 :: beam_label() - }). + }). -spec module(beam_ssa:b_module(), [compile:option()]) -> {'ok',beam_asm:module_code()}. @@ -68,7 +68,7 @@ module(#b_module{name=Mod,exports=Es,attributes=Attrs,body=Fs}, Opts) -> stack=none :: 'none' | pos_integer(), words=#need{} :: #need{}, live :: 'undefined' | pos_integer(), - def_yregs=[] :: [yreg()] + def_yregs=[] :: [b_var()] }). -record(cg_br, {bool :: beam_ssa:value(), @@ -403,7 +403,6 @@ classify_heap_need(match_fail) -> gc; classify_heap_need(nif_start) -> neutral; classify_heap_need(nop) -> neutral; classify_heap_need(new_try_tag) -> neutral; -classify_heap_need(old_make_fun) -> gc; classify_heap_need(peek_message) -> gc; classify_heap_need(put_map) -> gc; classify_heap_need(raw_raise) -> gc; @@ -428,9 +427,9 @@ classify_heap_need(wait_timeout) -> gc. %%% since the BEAM interpreter have more optimized instructions %%% operating on X registers than on Y registers. %%% -%%% In call and 'call' and 'old_make_fun' instructions there is also the -%%% possibility that a 'move' instruction can be eliminated because -%%% a value is already in the correct X register. +%%% In call instructions there is also the possibility that a 'move' +%%% instruction can be eliminated because a value is already in the +%%% correct X register. %%% %%% Because of the new 'swap' instruction introduced in OTP 23, it %%% is always beneficial to prefer X register over Y registers. That @@ -480,9 +479,6 @@ prefer_xregs_is([#cg_set{op=copy,dst=Dst,args=[Src]}=I|Is], St, Copies0, Acc) -> prefer_xregs_is([#cg_set{op=call,dst=Dst}=I0|Is], St, Copies, Acc) -> I = prefer_xregs_call(I0, Copies, St), prefer_xregs_is(Is, St, #{Dst=>{x,0}}, [I|Acc]); -prefer_xregs_is([#cg_set{op=old_make_fun,dst=Dst}=I0|Is], St, Copies, Acc) -> - I = prefer_xregs_call(I0, Copies, St), - prefer_xregs_is(Is, St, #{Dst=>{x,0}}, [I|Acc]); prefer_xregs_is([#cg_set{op=Op}=I|Is], St, Copies0, Acc) when Op =:= bs_checked_get; Op =:= bs_checked_skip; @@ -517,7 +513,7 @@ prefer_xregs_prune(#cg_set{dst=Dst}, Copies, St) -> beam_arg(Alias, St) =/= DstReg}. %% prefer_xregs_call(Instruction, Copies, St) -> Instruction. -%% Given a 'call' or 'old_make_fun' instruction rewrite the arguments +%% Given a 'call' instruction rewrite the arguments %% to use an X register instead of a Y register if a value is %% is available in both. @@ -1270,9 +1266,22 @@ cg_block([#cg_set{op=is_tagged_tuple,anno=Anno,dst=Bool,args=Args0}], {Bool,Fail [Src,{integer,Arity},Tag] = typed_args(Args0, Anno, St), {[{test,is_tagged_tuple,ensure_label(Fail, St),[Src,Arity,Tag]}],St} end; -cg_block([#cg_set{op=is_nonempty_list,dst=Bool,args=Args0}], {Bool,Fail}, St) -> +cg_block([#cg_set{op=is_nonempty_list,dst=Bool0,args=Args0}=Set], {Bool0,Fail0}, St) -> + Fail = ensure_label(Fail0, St), Args = beam_args(Args0, St), - {[{test,is_nonempty_list,ensure_label(Fail, St),Args}],St}; + case beam_args([Bool0|Args0], St) of + [{z,0}|Args] -> + {[{test,is_nonempty_list,Fail,Args}],St}; + [Dst|Args] -> + %% This instruction was a call to is_list/1, which was + %% rewritten to an is_nonempty_list test by + %% beam_ssa_type. BEAM has no is_nonempty_list instruction + %% that will return a boolean, so we must revert it to an + %% is_list/1 call. + #cg_set{anno=#{was_bif_is_list := true}} = Set, %Assertion. + {[{bif,is_list,Fail0,Args,Dst}, + {test,is_eq_exact,Fail,[Dst,{atom,true}]}],St} + end; cg_block([#cg_set{op=has_map_field,dst=Dst0,args=Args0}], {Dst0,Fail0}, St) -> Fail = ensure_label(Fail0, St), case beam_args([Dst0|Args0], St) of @@ -1300,28 +1309,19 @@ cg_block([#cg_set{op=call}=Call|T], Context, St0) -> {Is0,St1} = cg_call(Call, body, none, St0), {Is1,St} = cg_block(T, Context, St1), {Is0++Is1,St}; -cg_block([#cg_set{anno=Anno,op=MakeFun,dst=Dst0,args=[Local|Args0]}|T], - Context, St0) when MakeFun =:= make_fun; - MakeFun =:= old_make_fun -> +cg_block([#cg_set{anno=Anno,op=make_fun,dst=Dst0,args=[Local|Args0]}|T], + Context, St0) -> #b_local{name=#b_literal{val=Func},arity=Arity} = Local, [Dst|Args] = beam_args([Dst0|Args0], St0), {FuncLbl,St1} = local_func_label(Func, Arity, St0), - Is0 = case MakeFun of - make_fun -> - [{make_fun3,{f,FuncLbl},0,0,Dst,{list,Args}}]; - old_make_fun -> - setup_args(Args) ++ - [{make_fun2,{f,FuncLbl},0,0,length(Args)} - | copy({x,0}, Dst)] - end, + Is0 = [{make_fun3,{f,FuncLbl},0,0,Dst,{list,Args}}], Is1 = case Anno of - #{ result_type := Type } -> - Info = {var_info, Dst, [{fun_type, Type}]}, - Is0 ++ [{'%', Info}]; - #{} -> - Is0 + #{result_type := Type} -> + Info = {var_info, Dst, [{fun_type, Type}]}, + Is0 ++ [{'%', Info}]; + #{} -> + Is0 end, - {Is2,St} = cg_block(T, Context, St1), {Is1++Is2,St}; cg_block([#cg_set{op=copy}|_]=T0, Context, St0) -> @@ -1615,8 +1615,6 @@ is_call([#cg_set{op=call,args=[#b_var{}|Args]}|_]) -> {yes,1+length(Args)}; is_call([#cg_set{op=call,args=[_|Args]}|_]) -> {yes,length(Args)}; -is_call([#cg_set{op=old_make_fun,args=[_|Args]}|_]) -> - {yes,length(Args)}; is_call(_) -> no. @@ -1814,6 +1812,18 @@ cg_instr(bs_get_position, [Ctx], Dst, Set) -> cg_instr(put_map, [{atom,assoc},SrcMap|Ss], Dst, Set) -> Live = get_live(Set), [{put_map_assoc,{f,0},SrcMap,Dst,Live,{list,Ss}}]; +cg_instr(put_map, [{atom,exact},SrcBadMap|_Ss], _Dst, #cg_set{anno=Anno}=Set) -> + %% GH-7283: An exact `put_map` without a failure label was not + %% handled. The absence of the failure label can only mean that + %% the source is known not to be a valid map. (None of the current + %% optimization passes can figure out that the key is always + %% present in the map and that the operation therefore can never + %% fail.) + Live = get_live(Set), + [{test_heap,3,Live}, + {put_tuple2,{x,0},{list,[{atom,badmap},SrcBadMap]}}, + line(Anno), + {call_ext_last,1,{extfunc,erlang,error,1},1}]; cg_instr(is_nonempty_list, Ss, Dst, Set) -> #cg_set{anno=#{was_bif_is_list := true}} = Set, %Assertion. diff --git a/lib/compiler/src/beam_ssa_dead.erl b/lib/compiler/src/beam_ssa_dead.erl index 5294fecb7c92..0319dd600e9c 100644 --- a/lib/compiler/src/beam_ssa_dead.erl +++ b/lib/compiler/src/beam_ssa_dead.erl @@ -30,7 +30,7 @@ -import(lists, [append/1,foldl/3,keymember/3,last/1,member/2, reverse/1,reverse/2,takewhile/2]). --type used_vars() :: #{beam_ssa:label():=sets:set(beam_ssa:var_name())}. +-type used_vars() :: #{beam_ssa:label():=sets:set(beam_ssa:b_var())}. -type basic_type_test() :: atom() | {'is_tagged_tuple',pos_integer(),atom()}. -type type_test() :: basic_type_test() | {'not',basic_type_test()}. @@ -1176,9 +1176,19 @@ opt_redundant_tests_is([#b_set{op=Op,args=Args,dst=Bool}=I0], Tests, Acc) -> {Test,MustInvert} -> case old_result(Test, Tests) of Result0 when is_boolean(Result0) -> - Result = #b_literal{val=Result0 xor MustInvert}, - I = I0#b_set{op={bif,'=:='},args=[Result,#b_literal{val=true}]}, - {old_test,reverse(Acc, [I]),Bool,Result}; + case gains_type_information(I0) of + false -> + Result = #b_literal{val=Result0 xor MustInvert}, + I = I0#b_set{op={bif,'=:='},args=[Result,#b_literal{val=true}]}, + {old_test,reverse(Acc, [I]),Bool,Result}; + true -> + %% At least one variable will gain type + %% information from this `=:=` + %% operation. Removing it could make it + %% impossible for beam_validator to + %% realize that the code is type-safe. + none + end; none -> {new_test,Bool,Test,MustInvert} end @@ -1187,6 +1197,33 @@ opt_redundant_tests_is([I|Is], Tests, Acc) -> opt_redundant_tests_is(Is, Tests, [I|Acc]); opt_redundant_tests_is([], _Tests, _Acc) -> none. +%% Will any of the variables gain type information from this +%% operation? +gains_type_information(#b_set{anno=Anno,op={bif,'=:='},args=Args}) -> + Types0 = maps:get(arg_types, Anno, #{}), + Types = complete_type_information(Args, 0, Types0), + case map_size(Types) of + 0 -> + false; + 1 -> + true; + 2 -> + case Types of + #{0 := Same,1 := Same} -> + false; + #{} -> + true + end + end; +gains_type_information(#b_set{}) -> false. + +complete_type_information([#b_literal{val=Value}|As], N, Types) -> + Type = beam_types:make_type_from_value(Value), + complete_type_information(As, N+1, Types#{N => Type}); +complete_type_information([#b_var{}|As], N, Types) -> + complete_type_information(As, N+1, Types); +complete_type_information([], _, Types) -> Types. + old_result(Test, Tests) -> case Tests of #{Test := Val} -> Val; diff --git a/lib/compiler/src/beam_ssa_opt.erl b/lib/compiler/src/beam_ssa_opt.erl index 13e4114319db..06c1e79f2099 100644 --- a/lib/compiler/src/beam_ssa_opt.erl +++ b/lib/compiler/src/beam_ssa_opt.erl @@ -49,7 +49,8 @@ -spec module(beam_ssa:b_module(), [compile:option()]) -> {'ok',beam_ssa:b_module()}. -module(Module, Opts) -> +module(Module0, Opts) -> + {Module,NifInfo} = isolate_nifs(Module0), FuncDb = case proplists:get_value(no_module_opt, Opts, false) of false -> build_func_db(Module); true -> #{} @@ -69,7 +70,7 @@ module(Module, Opts) -> {once, Order, late_epilogue_passes(Opts)}], StMap = run_phases(Phases, StMap0, FuncDb), - {ok, finish(Module, StMap)}. + {ok, restore_nifs(finish(Module, StMap), NifInfo)}. run_phases([{module, Passes} | Phases], StMap0, FuncDb0) -> {StMap, FuncDb} = compile:run_sub_passes(Passes, {StMap0, FuncDb0}), @@ -272,6 +273,7 @@ repeated_passes(Opts) -> ?PASS(ssa_opt_tail_phis), ?PASS(ssa_opt_sink), ?PASS(ssa_opt_tuple_size), + ?PASS(ssa_opt_merge_updates), ?PASS(ssa_opt_record), ?PASS(ssa_opt_try), ?PASS(ssa_opt_type_continue)], %Must run after ssa_opt_dead to @@ -333,13 +335,7 @@ passes_1(Ps, Opts0) -> -spec build_func_db(#b_module{}) -> func_info_db(). build_func_db(#b_module{body=Fs,attributes=Attr,exports=Exports0}) -> Exports = fdb_exports(Attr, Exports0), - try - fdb_fs(Fs, Exports, #{}) - catch - %% All module-level optimizations are invalid when a NIF can override a - %% function, so we have to bail out. - throw:load_nif -> #{} - end. + fdb_fs(Fs, Exports, #{}). fdb_exports([{on_load, L} | Attrs], Exports) -> %% Functions marked with on_load must be treated as exported to prevent @@ -380,15 +376,8 @@ fdb_is([#b_set{op=call, args=[#b_local{}=Callee | _]} | Is], Caller, FuncDb) -> fdb_is(Is, Caller, fdb_update(Caller, Callee, FuncDb)); -fdb_is([#b_set{op=call, - args=[#b_remote{mod=#b_literal{val=erlang}, - name=#b_literal{val=load_nif}}, - _Path, _LoadInfo]} | _Is], _Caller, _FuncDb) -> - throw(load_nif); -fdb_is([#b_set{op=MakeFun, - args=[#b_local{}=Callee | _]} | Is], - Caller, FuncDb) when MakeFun =:= make_fun; - MakeFun =:= old_make_fun -> +fdb_is([#b_set{op=make_fun,args=[#b_local{}=Callee | _]} | Is], + Caller, FuncDb) -> %% The make_fun instruction's type depends on the return type of the %% function in question, so we treat this as a function call. fdb_is(Is, Caller, fdb_update(Caller, Callee, FuncDb)); @@ -467,6 +456,50 @@ ssa_opt_merge_blocks({#opt_st{ssa=Blocks0}=St, FuncDb}) -> ssa_opt_ranges({#opt_st{ssa=Blocks}=St, FuncDb}) -> {St#opt_st{ssa=beam_ssa_type:opt_ranges(Blocks)}, FuncDb}. +%%% +%%% Merges updates that cannot fail, for example two consecutive updates of the +%%% same record. +%%% + +ssa_opt_merge_updates({#opt_st{ssa=Linear0}=St, FuncDb}) -> + Linear = merge_updates_bs(Linear0), + {St#opt_st{ssa=Linear}, FuncDb}. + +%% As update_record is always converted from setelement/3 operations they can +%% only occur alone in their blocks at this point, so we don't need to look +%% deeper than this. +merge_updates_bs([{LblA, + #b_blk{is=[#b_set{op=update_record, + dst=DstA, + args=[SpecA, Size, Src | ListA]}], + last=#b_br{bool=#b_literal{val=true}, + succ=LblB}}=BlkA}, + {LblB, + #b_blk{is=[#b_set{op=update_record, + args=[SpecB, Size, DstA | ListB]}=Update0] + }=BlkB} | Bs]) -> + Spec = case SpecA =:= SpecB of + true -> SpecA; + false -> #b_literal{val=copy} + end, + List = merge_update_record_lists(ListA ++ ListB, #{}), + Update = Update0#b_set{args=[Spec, Size, Src | List]}, + + %% Note that we retain the first update_record in case it's used elsewhere, + %% it's too rare to warrant special handling here. + [{LblA, BlkA}, {LblB, BlkB#b_blk{is=[Update]}}| merge_updates_bs(Bs)]; +merge_updates_bs([{Lbl, Blk} | Bs]) -> + [{Lbl, Blk} | merge_updates_bs(Bs)]; +merge_updates_bs([]) -> + []. + +merge_update_record_lists([Index, Value | List], Updates) -> + merge_update_record_lists(List, Updates#{ Index => Value }); +merge_update_record_lists([], Updates) -> + maps:fold(fun(K, V, Acc) -> + [K, V | Acc] + end, [], Updates). + %%% %%% Split blocks before certain instructions to enable more optimizations. %%% @@ -482,7 +515,6 @@ ssa_opt_split_blocks({#opt_st{ssa=Blocks0,cnt=Count0}=St, FuncDb}) -> (#b_set{op=call}) -> true; (#b_set{op=bs_init_writable}) -> true; (#b_set{op=make_fun}) -> true; - (#b_set{op=old_make_fun}) -> true; (_) -> false end, RPO = beam_ssa:rpo(Blocks0), @@ -682,7 +714,7 @@ opt_tail_phi_arg({PredL,Sub0}, Is0, Ret0, {Blocks0,Count0,Cost0}) -> {Blocks,Count,Cost}. new_names([#b_set{dst=Dst}=I|Is], Sub0, Count0, Acc) -> - {NewDst,Count} = new_var(Dst, Count0), + {NewDst,Count} = new_var(Count0), Sub = Sub0#{Dst=>NewDst}, new_names(Is, Sub, Count, [I#b_set{dst=NewDst}|Acc]); new_names([], Sub, Count, Acc) -> @@ -1208,8 +1240,9 @@ are_map_keys_literals([]) -> %%% bother implementing a new instruction? %%% +-type fr_status() :: 'original' | 'copy'. -record(fs, - {regs=#{} :: #{beam_ssa:b_var():=beam_ssa:b_var()}, + {regs=#{} :: #{beam_ssa:b_var() := {beam_ssa:b_var(),fr_status()}}, non_guards :: gb_sets:set(beam_ssa:label()), bs :: beam_ssa:block_map(), preds :: #{beam_ssa:label() => [beam_ssa:label()]} @@ -1302,7 +1335,7 @@ float_number([B|Bs0], Count0) -> float_conv([{L,#b_blk{is=Is0,last=Last}=Blk0}|Bs0], Fail, Count0) -> case Is0 of [#b_set{op={float,convert}}=Conv] -> - {Bool,Count1} = new_var('@ssa_bool', Count0), + {Bool,Count1} = new_var(Count0), Succeeded = #b_set{op={succeeded,body},dst=Bool, args=[Conv#b_set.dst]}, Is = [Conv,Succeeded], @@ -1365,7 +1398,7 @@ float_optimizable_is(_) -> float_opt_is([#b_set{op={succeeded,_},args=[Src]}=I0], #fs{regs=Rs}=Fs, Count, Acc) -> case Rs of - #{Src:=Fr} -> + #{Src := {Fr,_}} -> I = I0#b_set{args=[Fr]}, {reverse(Acc, [I]),Fs,Count}; #{} -> @@ -1400,9 +1433,9 @@ float_make_op(#b_set{op={bif,Op},dst=Dst,args=As0,anno=Anno}=I0, Ts, ArgTypes, #fs{regs=Rs0}=Fs, Count0) -> {As1,Rs1,Count1} = float_load(As0, Ts, ArgTypes, Anno, Rs0, Count0, []), {As,Is0} = unzip(As1), - {FrDst,Count2} = new_var('@fr', Count1), + {FrDst,Count2} = new_var(Count1), I = I0#b_set{op={float,Op},dst=FrDst,args=As}, - Rs = Rs1#{Dst=>FrDst}, + Rs = Rs1#{Dst => {FrDst,original}}, Is = append(Is0) ++ [I], {Is,Fs#fs{regs=Rs},Count2}. @@ -1414,17 +1447,17 @@ float_load([], [], [], _Anno, Rs, Count, Acc) -> float_reg_arg(A, T, AT, Anno0, Rs, Count0) -> case Rs of - #{A:=Fr} -> + #{A := {Fr,_}} -> {{Fr,[]},Rs,Count0}; #{} -> - {Dst,Count} = new_var('@fr_copy', Count0), + {Dst,Count} = new_var(Count0), I0 = float_load_reg(T, A, Dst), Anno = case AT of - any-> Anno0; + any -> Anno0; _ -> Anno0#{arg_types => #{0 => AT}} end, I = I0#b_set{anno=Anno}, - {{Dst,[I]},Rs#{A=>Dst},Count} + {{Dst,[I]},Rs#{A => {Dst,copy}},Count} end. float_load_reg(convert, #b_var{}=Src, Dst) -> @@ -1442,9 +1475,9 @@ float_load_reg(float, Src, Dst) -> #b_set{op={float,put},dst=Dst,args=[Src]}. float_flush_regs(#fs{regs=Rs}) -> - maps:fold(fun(_, #b_var{name={'@fr_copy',_}}, Acc) -> + maps:fold(fun(_, {#b_var{},copy}, Acc) -> Acc; - (Dst, Fr, Acc) -> + (Dst, {Fr,original}, Acc) -> [#b_set{op={float,get},dst=Dst,args=[Fr]}|Acc] end, [], Rs). @@ -2317,7 +2350,7 @@ opt_tup_size_1(_, _, _, Count, Acc) -> opt_tup_size_2(PreIs, TupleSizeIs, PreL, EqL, Tuple, Fail, Count0, Acc) -> IsTupleL = Count0, TupleSizeL = Count0 + 1, - Bool = #b_var{name={'@ssa_bool',Count0+2}}, + Bool = #b_var{name=Count0+2}, Count = Count0 + 3, True = #b_literal{val=true}, @@ -2358,7 +2391,7 @@ opt_sw([{L,#b_blk{is=Is,last=#b_switch{}=Sw0}=Blk0}|Bs], Count0, Acc) -> case Sw0 of #b_switch{arg=Arg,fail=Fail,list=[{Lit,Lbl}]} -> %% Rewrite a single value switch to a br. - {Bool,Count} = new_var('@ssa_bool', Count0), + {Bool,Count} = new_var(Count0), IsEq = #b_set{op={bif,'=:='},dst=Bool,args=[Arg,Lit]}, Br = #b_br{bool=Bool,succ=Lbl,fail=Fail}, Blk = Blk0#b_blk{is=Is++[IsEq],last=Br}, @@ -2367,7 +2400,7 @@ opt_sw([{L,#b_blk{is=Is,last=#b_switch{}=Sw0}=Blk0}|Bs], Count0, Acc) -> list=[{#b_literal{val=B1},Lbl},{#b_literal{val=B2},Lbl}]} when B1 =:= not B2 -> %% Replace with is_boolean test. - {Bool,Count} = new_var('@ssa_bool', Count0), + {Bool,Count} = new_var(Count0), IsBool = #b_set{op={bif,is_boolean},dst=Bool,args=[Arg]}, Br = #b_br{bool=Bool,succ=Lbl,fail=Fail}, Blk = Blk0#b_blk{is=Is++[IsBool],last=Br}, @@ -3067,11 +3100,10 @@ unfold_lit_is([#b_set{op=match_fail, {reverse(Acc, [I | Is]), false}; unfold_lit_is([#b_set{op=Op,args=Args0}=I0|Is], LitMap, Acc) -> %% Using a register instead of a literal is a clear win only for - %% `call` and `old_make_fun` instructions. Substituting into other - %% instructions is unlikely to be an improvement. + %% `call` instructions. Substituting into other instructions is + %% unlikely to be an improvement. Unfold = case Op of call -> true; - old_make_fun -> true; _ -> false end, I = case Unfold of @@ -3450,8 +3482,8 @@ is_viable_match(#b_set{op=bs_match,args=Args}) -> build_bs_ensure_match(L, {_,Size,Unit}, Count0, Blocks0) -> BsMatchL = Count0, Count1 = Count0 + 1, - {NewCtx,Count2} = new_var('@context', Count1), - {SuccBool,Count} = new_var('@ssa_bool', Count2), + {NewCtx,Count2} = new_var(Count1), + {SuccBool,Count} = new_var(Count2), BsMatchBlk0 = map_get(L, Blocks0), @@ -3529,10 +3561,127 @@ sub_arg(Old, Sub) -> #{} -> Old end. -new_var(#b_var{name={Base,N}}, Count) -> - true = is_integer(N), %Assertion. - {#b_var{name={Base,Count}},Count+1}; -new_var(#b_var{name=Base}, Count) -> - {#b_var{name={Base,Count}},Count+1}; -new_var(Base, Count) when is_atom(Base) -> - {#b_var{name={Base,Count}},Count+1}. +new_var(Count) -> + {#b_var{name=Count},Count+1}. + +%%% +%%% NIF handling +%%% +%%% NIFs are problematic for the SSA optimization passes as when a +%%% loaded NIF replaces a function, essentially all bets are off as +%%% callers of the NIF cannot make any assumptions on the result of +%%% calling the NIF. +%%% +%%% A safe way to handle NIFs, but still allow optimization of +%%% functions not calling NIFs is to make calls to NIFs look like +%%% external calls. For the beam_ssa_opt compiler pass this is handled +%%% by the functions isolate_nifs/1 and restore_nifs/2. +%%% +%%% The function isolate_nifs/1 transforms the input #b_module{} by +%%% rewriting all calls to NIFs in the module to calls to external +%%% functions with the same names. As this also removes all callers +%%% to the NIF, all non-exported NIFs are forcibly exported, to avoid +%%% them being removed as dead code. +%%% +%%% As all passes know how handle external calls, this allows for safe +%%% optimization of the module. That a NIF function can contain BEAM +%%% code which calls other functions in the module is not a problem, +%%% at worst it leads to missed optimizations. +%%% +%%% When all sub-passes of beam_ssa_opt have been executed +%%% restore_nifs/2 undoes the module transforms done by +%%% isolate_nifs/1. To avoid extra book-keeping to keep track of +%%% rewritten calls for use by restore_nifs/2, the module to which the +%%% calls are redirected is given a name, '\nnifs', which cannot be +%%% created by the user. +%%% +-define(ISOLATION_MODULE, #b_literal{val='\nnifs'}). + +isolate_nifs(#b_module{body=Body0, exports=Exports0}=Module0) -> + %% Scan to find NIFs + NIFs = foldl(fun(#b_function{}=F, Acc) -> + case is_nif(F) of + true -> + sets:add_element(get_func_id(F), Acc); + false -> + Acc + end + end, sets:new([{version,2}]), Body0), + + %% Determine the set of previously not exported NIFs which should + %% be exported. + ExportsSet = foldl(fun({N,A}, Acc) -> + FA = #b_local{name=#b_literal{val=N},arity=A}, + sets:add_element(FA, Acc) + end, sets:new([{version,2}]), Exports0), + NIFsToExport = sets:subtract(NIFs, ExportsSet), + Exports = Exports0 ++ [{N,A} + || #b_local{name=#b_literal{val=N},arity=A} + <- sets:to_list(NIFsToExport)], + + %% Replace all calls to the NIFs with a call to an external + %% function with the same name, but with a module name which + %% cannot be created by the user ('\nnifs'). + CallReplacer = + fun(#b_set{op=call,args=[#b_local{name=N,arity=A}=Callee|Rest]}=I)-> + case sets:is_element(Callee, NIFs) of + true -> + Args = [#b_remote{mod=?ISOLATION_MODULE, + name=N,arity=A}|Rest], + I#b_set{args=Args}; + false -> + I + end; + (I) -> + I + end, + #b_module{body=Body} = map_module_instrs(CallReplacer, Module0), + NIFsAsExternal = sets:fold(fun(#b_local{name=N,arity=A}, Acc) -> + R = #b_remote{mod=?ISOLATION_MODULE, + name=N,arity=A}, + sets:add_element(R, Acc) + end, sets:new([{version,2}]), NIFs), + {Module0#b_module{exports=Exports,body=Body}, + {NIFsToExport, NIFsAsExternal}}. + +map_module_instrs(Fun, #b_module{body=Body}=Module) -> + Module#b_module{body=[map_module_instrs_f(Fun, F) || F <- Body]}. + +map_module_instrs_f(Fun, #b_function{bs=Bs}=F) -> + F#b_function{bs=#{Lbl => map_module_instrs_b(Fun, Blk) || Lbl:=Blk <- Bs}}. + +map_module_instrs_b(Fun, #b_blk{is=Is}=Blk) -> + Blk#b_blk{is=[Fun(I) || I <- Is]}. + +restore_nifs(#b_module{exports=Exports0}=Module0, {NIFsToExport, NIFs}) -> + %% Remove the NIFs which where were forcibly exported by + %% isolate_nifs/1 from the export list. + Exports = [E + || E={N,A} <- Exports0, + not sets:is_element(#b_local{name=#b_literal{val=N}, + arity=A}, NIFsToExport)], + + %% Restore all calls that were turned into calls to external + %% functions in the '\nnifs' module by converting them to local + %% calls. + CallRestorer = + fun(#b_set{op=call,args=[#b_remote{name=N,arity=A}=Callee|Rest]}=I)-> + case sets:is_element(Callee, NIFs) of + true -> + I#b_set{args=[#b_local{name=N,arity=A}|Rest]}; + false -> + I + end; + (I) -> + I + end, + #b_module{body=Body} = map_module_instrs(CallRestorer, Module0), + Module0#b_module{exports=Exports,body=Body}. + +%%% +%%% Predicate to check if a function is the stub for a nif. +%%% +is_nif(#b_function{bs=#{0:=#b_blk{is=[#b_set{op=nif_start}|_]}}}) -> + true; +is_nif(_) -> + false. diff --git a/lib/compiler/src/beam_ssa_pp.erl b/lib/compiler/src/beam_ssa_pp.erl index b2f682b7050c..b4cac8da014a 100644 --- a/lib/compiler/src/beam_ssa_pp.erl +++ b/lib/compiler/src/beam_ssa_pp.erl @@ -214,13 +214,6 @@ format_var(Var, FuncAnno) -> [_|_]=Reg -> [Reg,$/,VarString] end. -format_var_1(#b_var{name={Name,Uniq}}) -> - if - is_atom(Name) -> - io_lib:format("~ts:~p", [Name,Uniq]); - is_integer(Name) -> - io_lib:format("_~p:~p", [Name,Uniq]) - end; format_var_1(#b_var{name=Name}) when is_atom(Name) -> atom_to_list(Name); format_var_1(#b_var{name=Name}) when is_integer(Name) -> @@ -434,5 +427,5 @@ format_tuple_set(RecordSet) -> " | "). format_tuple_set_1({{Arity,Key},#t_tuple{size=Arity,elements=Elems}=Tuple}) -> - Key = map_get(1, Elems), % Assertion + false = none =:= beam_types:meet(Key, map_get(1, Elems)), % Assertion format_type(Tuple). diff --git a/lib/compiler/src/beam_ssa_pre_codegen.erl b/lib/compiler/src/beam_ssa_pre_codegen.erl index dc76755aad99..8ca16374d0f0 100644 --- a/lib/compiler/src/beam_ssa_pre_codegen.erl +++ b/lib/compiler/src/beam_ssa_pre_codegen.erl @@ -71,7 +71,7 @@ -include("beam_ssa.hrl"). -include("beam_asm.hrl"). --import(lists, [all/2,any/2,append/1,duplicate/2, +-import(lists, [all/2,any/2,append/1, foldl/3,last/1,member/2,partition/2, reverse/1,reverse/2,seq/2,sort/1,sort/2, usort/1,zip/2]). @@ -255,7 +255,7 @@ make_bs_getpos_map([], _, Count, Acc) -> {maps:from_list(Acc),Count}. make_bs_setpos_map([{Bef,{Ctx,_}=Ps}|T], SavePoints, Count, Acc) -> - Ignored = #b_var{name={'@ssa_ignored',Count}}, + Ignored = #b_var{name=Count}, Args = [Ctx, get_savepoint(Ps, SavePoints)], I = #b_set{op=bs_set_position,dst=Ignored,args=Args}, make_bs_setpos_map(T, SavePoints, Count+1, [{Bef,I}|Acc]); @@ -263,7 +263,7 @@ make_bs_setpos_map([], _, Count, Acc) -> {maps:from_list(Acc),Count}. get_savepoint({_,_}=Ps, SavePoints) -> - Name = {'@ssa_bs_position', map_get(Ps, SavePoints)}, + Name = map_get(Ps, SavePoints), #b_var{name=Name}. make_bs_pos_dict([{Ctx,Pts}|T], Count0, Acc0) -> @@ -703,7 +703,7 @@ sanitize_is([#b_set{op=get_map_element,args=Args0}=I0|Is], case sanitize_args(Args0, Values) of [#b_literal{}=Map,Key] -> %% Bind the literal map to a variable. - {MapVar,Count} = new_var('@ssa_map', Count0), + {MapVar,Count} = new_var(Count0), I = I0#b_set{args=[MapVar,Key]}, Copy = #b_set{op=copy,dst=MapVar,args=[Map]}, sanitize_is(Is, Last, InBlocks, Blocks, Count, @@ -815,9 +815,8 @@ do_sanitize_is(#b_set{op=Op,dst=Dst,args=Args0}=I0, Is, Last, InBlocks, Blocks, Count, Values, Changed0, Acc) -> Args = sanitize_args(Args0, Values), case sanitize_instr(Op, Args, I0, Blocks) of - {value,Value0} -> - Value = #b_literal{val=Value0}, - sanitize_is(Is, Last, InBlocks, Blocks, Count, Values#{Dst=>Value}, + {subst,Subst} -> + sanitize_is(Is, Last, InBlocks, Blocks, Count, Values#{Dst => Subst}, true, Acc); {ok,I} -> sanitize_is(Is, Last, InBlocks, Blocks, Count, Values, true, [I|Acc]); @@ -865,20 +864,43 @@ sanitize_arg(Arg, _Values) -> sanitize_instr(phi, PhiArgs0, I, Blocks) -> PhiArgs = [{V,L} || {V,L} <- PhiArgs0, is_map_key(L, Blocks)], - case phi_all_same_literal(PhiArgs) of + case phi_all_same(PhiArgs) of true -> %% (Can only happen when some optimizations have been %% turned off.) %% - %% This phi node always produces the same literal value. - %% We must do constant propagation of the value to ensure - %% that we can sanitize any instructions that don't accept - %% literals (such as `get_hd`). This is necessary for - %% correctness, because beam_ssa_codegen:prefer_xregs/2 - %% does constant propagation and could propagate a literal - %% into an instruction that don't accept literals. - [{#b_literal{val=Val},_}|_] = PhiArgs, - {value,Val}; + %% This phi node always produces the same literal value or + %% variable. + %% + %% We must do constant propagation of literal values to + %% ensure that we can sanitize any instructions that don't + %% accept literals (such as `get_hd`). This is necessary + %% for correctness, because + %% beam_ssa_codegen:prefer_xregs/2 does constant + %% propagation and could propagate a literal into an + %% instruction that don't accept literals. + %% + %% The singleton phi nodes generated for the try/catch + %% construct are problematic. For example: + %% + %% try B = (A = bit_size(iolist_to_binary("a"))) rem 1 of + %% _ -> A; + %% _ -> B + %% after + %% ok + %% end. + %% + %% The try expression exports three values, resulting in three + %% singleton phi nodes (with optimizations disabled): + %% + %% _4 = phi { B, ^15 } + %% A = phi { _2, ^15 } + %% _14 = phi { B, ^15 } + %% + %% All three variable will be assigned to the same register, + %% causing the correct variable (`A`) to be overwritten by `_14`. + [{Subst,_}|_] = PhiArgs, + {subst,Subst}; false -> {ok,I#b_set{args=PhiArgs}} end; @@ -891,7 +913,7 @@ sanitize_instr({bif,Bif}, [#b_literal{val=Lit}], _I) -> ok; true -> try - {value,erlang:Bif(Lit)} + {subst,#b_literal{val=erlang:Bif(Lit)}} catch error:_ -> ok @@ -900,7 +922,7 @@ sanitize_instr({bif,Bif}, [#b_literal{val=Lit}], _I) -> sanitize_instr({bif,Bif}, [#b_literal{val=Lit1},#b_literal{val=Lit2}], _I) -> true = erl_bifs:is_pure(erlang, Bif, 2), %Assertion. try - {value,erlang:Bif(Lit1, Lit2)} + {subst,#b_literal{val=erlang:Bif(Lit1, Lit2)}} catch error:_ -> ok @@ -913,43 +935,42 @@ sanitize_instr(bs_match, Args, I) -> %% other data types as well. {ok,I#b_set{op=bs_get,args=Args}}; sanitize_instr(get_hd, [#b_literal{val=[Hd|_]}], _I) -> - {value,Hd}; + {subst,#b_literal{val=Hd}}; sanitize_instr(get_tl, [#b_literal{val=[_|Tl]}], _I) -> - {value,Tl}; + {subst,#b_literal{val=Tl}}; sanitize_instr(get_tuple_element, [#b_literal{val=T}, #b_literal{val=I}], _I) when I < tuple_size(T) -> - {value,element(I+1, T)}; -sanitize_instr(is_nonempty_list, [#b_literal{val=Lit}], _I) -> - {value,case Lit of - [_|_] -> true; - _ -> false - end}; + {subst,#b_literal{val=element(I+1, T)}}; +sanitize_instr(is_nonempty_list, [#b_literal{val=Term}], _I) -> + Lit = case Term of + [_|_] -> true; + _ -> false + end, + {subst,#b_literal{val=Lit}}; sanitize_instr(is_tagged_tuple, [#b_literal{val=Tuple}, #b_literal{val=Arity}, #b_literal{val=Tag}], _I) when is_integer(Arity), is_atom(Tag) -> if tuple_size(Tuple) =:= Arity, element(1, Tuple) =:= Tag -> - {value,true}; + {subst,#b_literal{val=true}}; true -> - {value,false} + {subst,#b_literal{val=false}} end; sanitize_instr(succeeded, [#b_literal{}], _I) -> - {value,true}; + {subst,#b_literal{val=true}}; sanitize_instr(_, _, _) -> ok. -phi_all_same_literal([{#b_literal{}=Arg, _From} | Phis]) -> - phi_all_same_literal_1(Phis, Arg); -phi_all_same_literal([_|_]) -> - false. +phi_all_same([{Arg,_From}|Phis]) -> + phi_all_same_1(Phis, Arg). -phi_all_same_literal_1([{Arg, _From} | Phis], Arg) -> - phi_all_same_literal_1(Phis, Arg); -phi_all_same_literal_1([], _Arg) -> +phi_all_same_1([{Arg,_From}|Phis], Arg) -> + phi_all_same_1(Phis, Arg); +phi_all_same_1([], _Arg) -> true; -phi_all_same_literal_1(_Phis, _Arg) -> +phi_all_same_1(_Phis, _Arg) -> false. %%% Rewrite certain calls to erlang:error/{1,2} to specialized @@ -1030,7 +1051,7 @@ expand_mf_instr(#b_set{args=[#b_literal{val=badrecord} | _Args]}=I, expand_mf_instr(#b_set{args=[#b_literal{}|_]=Args}=I0, Is, Count0, Acc) -> %% We don't have a specialized instruction for this: simulate it with %% `erlang:error/1` instead. - {Tuple, Count} = new_var('@match_fail', Count0), + {Tuple, Count} = new_var(Count0), Put = #b_set{op=put_tuple,dst=Tuple,args=Args}, Call = I0#b_set{op=call, args=[#b_remote{mod=#b_literal{val=erlang}, @@ -1144,7 +1165,7 @@ expand_update_tuple_list_1([], _Src, Count, Acc) -> expand_update_tuple_list_1([Index0, Value | Updates], Src, Count0, Acc) -> %% Change to the 0-based indexing used by `set_tuple_element`. Index = #b_literal{val=(Index0#b_literal.val - 1)}, - {Dst, Count} = new_var('@ssa_dummy', Count0), + {Dst, Count} = new_var(Count0), SetOp = #b_set{op=set_tuple_element, dst=Dst, args=[Value, Src, Index]}, @@ -1315,24 +1336,6 @@ need_frame(#b_blk{is=Is,last=#b_ret{arg=Ret}}) -> need_frame(#b_blk{is=Is}) -> need_frame_1(Is, body). -need_frame_1([#b_set{op=old_make_fun,dst=Fun}|Is], {return,Ret}=Context) -> - case need_frame_1(Is, Context) of - true -> - true; - false -> - %% Since old_make_fun clobbers X registers, a stack frame is - %% needed if any of the following instructions use any - %% other variable than the one holding the reference to - %% the created fun. - Defs = ordsets:from_list([Dst || #b_set{dst=Dst} <- Is]), - Blk = #b_blk{is=Is,last=#b_ret{arg=Ret}}, - Used = ordsets:subtract(beam_ssa:used(Blk), Defs), - case Used of - [] -> false; - [Fun] -> false; - [_|_] -> true - end - end; need_frame_1([#b_set{op=new_try_tag}|_], _) -> true; need_frame_1([#b_set{op=call,dst=Val}]=Is, {return,Ret}) -> @@ -1526,11 +1529,10 @@ rce_reroute_terminator(#b_switch{list=List0}=Last, Exit, New) -> %% in the exit block following the receive. recv_fix_common([Msg0|T], Exit, Rm, Blocks0, Count0) -> - {Msg,Count1} = new_var('@recv', Count0), + {Msg,Count1} = new_var(Count0), RPO = beam_ssa:rpo([Exit], Blocks0), Blocks1 = beam_ssa:rename_vars(#{Msg0=>Msg}, RPO, Blocks0), - N = length(Rm), - {MsgVars,Count} = new_vars(duplicate(N, '@recv'), Count1), + {MsgVars,Count} = new_vars(length(Rm), Count1), PhiArgs = fix_exit_phi_args(MsgVars, Rm, Exit, Blocks1), Phi = #b_set{op=phi,dst=Msg,args=PhiArgs}, ExitBlk0 = map_get(Exit, Blocks1), @@ -1578,7 +1580,7 @@ fix_receive([L|Ls], Defs, Blocks0, Count0) -> {RmDefs,Unused} = beam_ssa:def_unused(RPO, Defs, Blocks0), Def = ordsets:subtract(Defs, RmDefs), Used = ordsets:subtract(Def, Unused), - {NewVars,Count} = new_vars([Base || #b_var{name=Base} <- Used], Count0), + {NewVars,Count} = new_vars(length(Used), Count0), Ren = zip(Used, NewVars), Blocks1 = beam_ssa:rename_vars(Ren, RPO, Blocks0), #b_blk{is=Is0} = Blk1 = map_get(L, Blocks1), @@ -1697,8 +1699,8 @@ find_rm_act([]) -> %%% Find out which variables need to be stored in Y registers. %%% --record(dk, {d :: ordsets:ordset(var_name()), - k :: sets:set(var_name()) +-record(dk, {d :: ordsets:ordset(b_var()), + k :: sets:set(b_var()) }). %% find_yregs(St0) -> St. @@ -1840,9 +1842,9 @@ used_args([]) -> []. %%% %%% Try to reduce the size of the stack frame, by adding an explicit -%%% 'copy' instructions for return values from 'call' and 'old_make_fun' that -%%% need to be saved in Y registers. Here is an example to show -%%% how that's useful. First, here is the Erlang code: +%%% 'copy' instructions for return values from 'call' that need to be +%%% saved in Y registers. Here is an example to show how that's +%%% useful. First, here is the Erlang code: %%% %%% f(Pid) -> %%% Res = foo(42), @@ -1960,20 +1962,19 @@ copy_retval_2([L|Ls], Yregs, Copy0, Blocks0, Count0) -> copy_retval_2([], _Yregs, none, Blocks, Count) -> {Blocks,Count}. -copy_retval_is([#b_set{op=Op}=I0], false, Yregs, Copy, Count0, Acc0) - when Op =:= call; Op =:= old_make_fun -> +copy_retval_is([#b_set{op=call}=I0], false, Yregs, Copy, Count0, Acc0) -> {I,Count,Acc} = place_retval_copy(I0, Yregs, Copy, Count0, Acc0), {reverse(Acc, [I]),Count}; copy_retval_is([#b_set{}]=Is, false, _Yregs, Copy, Count, Acc) -> {reverse(Acc, acc_copy(Is, Copy)),Count}; copy_retval_is([#b_set{},#b_set{op=succeeded}]=Is, false, _Yregs, Copy, Count, Acc) -> {reverse(Acc, acc_copy(Is, Copy)),Count}; -copy_retval_is([#b_set{op=Op,dst=#b_var{name=RetName}=Dst}=I0|Is], RC, Yregs, - Copy0, Count0, Acc0) when Op =:= call; Op =:= old_make_fun -> +copy_retval_is([#b_set{op=call,dst=#b_var{}=Dst}=I0|Is], RC, Yregs, + Copy0, Count0, Acc0) -> {I1,Count1,Acc} = place_retval_copy(I0, Yregs, Copy0, Count0, Acc0), case sets:is_element(Dst, Yregs) of true -> - {NewVar,Count} = new_var(RetName, Count1), + {NewVar,Count} = new_var(Count1), Copy = #b_set{op=copy,dst=Dst,args=[NewVar]}, I = I1#b_set{dst=NewVar}, copy_retval_is(Is, RC, Yregs, Copy, Count, [I|Acc]); @@ -2071,10 +2072,10 @@ place_retval_copy(#b_set{args=[F|Args0]}=I0, Yregs0, RetCopy, Count0, Acc0) -> copy_func_args(Args, Yregs, Acc, Count) -> copy_func_args_1(reverse(Args), Yregs, Acc, [], Count). -copy_func_args_1([#b_var{name=AName}=A|As], Yregs, InstrAcc, ArgAcc, Count0) -> +copy_func_args_1([#b_var{}=A|As], Yregs, InstrAcc, ArgAcc, Count0) -> case sets:is_element(A, Yregs) of true -> - {NewVar,Count} = new_var(AName, Count0), + {NewVar,Count} = new_var(Count0), Copy = #b_set{op=copy,dst=NewVar,args=[A]}, copy_func_args_1(As, Yregs, [Copy|InstrAcc], [NewVar|ArgAcc], Count); false -> @@ -2440,7 +2441,7 @@ update_act_map([], _, ActMap) -> ActMap. rename_vars([], _, _, Blocks, Count) -> {[],Blocks,Count}; rename_vars(Vs, L, RPO, Blocks0, Count0) -> - {NewVars,Count} = new_vars([Base || #b_var{name=Base} <- Vs], Count0), + {NewVars,Count} = new_vars(length(Vs), Count0), Ren = zip(Vs, NewVars), Blocks1 = beam_ssa:rename_vars(Ren, RPO, Blocks0), #b_blk{is=Is0} = Blk0 = map_get(L, Blocks1), @@ -2655,7 +2656,7 @@ reserve_freg([], Res) -> Res. %% Reserve all remaining variables as X registers. %% %% If a variable will need to be in a specific X register for a -%% 'call' or 'old_make_fun' (and there is nothing that will kill it +%% 'call' instruction (and there is nothing that will kill it %% between the definition and use), reserve the register using a %% {prefer,{x,X} annotation. That annotation means that the linear %% scan algorithm will place the variable in the preferred register, @@ -2697,8 +2698,7 @@ reserve_xregs([], _, _, Res) -> Res. res_place_gc_instrs([#b_set{op=phi}=I|Is], Acc) -> res_place_gc_instrs(Is, [I|Acc]); -res_place_gc_instrs([#b_set{op=Op}=I|Is], Acc) - when Op =:= call; Op =:= old_make_fun -> +res_place_gc_instrs([#b_set{op=call}=I|Is], Acc) -> case Acc of [] -> res_place_gc_instrs(Is, [I|Acc]); @@ -2767,9 +2767,6 @@ reserve_xregs_is([#b_set{op=Op,dst=Dst,args=Args}=I|Is], Res0, Xs0, Used0) -> call -> Xs = reserve_call_args(tl(Args)), reserve_xregs_is(Is, Res, Xs, Used); - old_make_fun -> - Xs = reserve_call_args(tl(Args)), - reserve_xregs_is(Is, Res, Xs, Used); _ -> reserve_xregs_is(Is, Res, Xs0, Used) end; @@ -3229,14 +3226,10 @@ is_yreg({x,_}) -> false; is_yreg({z,_}) -> false; is_yreg({fr,_}) -> false. -new_vars([Base|Vs0], Count0) -> - {V,Count1} = new_var(Base, Count0), - {Vs,Count} = new_vars(Vs0, Count1), - {[V|Vs],Count}; -new_vars([], Count) -> {[],Count}. - -new_var({Base,Int}, Count) -> - true = is_integer(Int), %Assertion. - {#b_var{name={Base,Count}},Count+1}; -new_var(Base, Count) -> - {#b_var{name={Base,Count}},Count+1}. +new_vars(N, Count0) when is_integer(N), N >= 0 -> + Count = Count0 + N, + Vars = [#b_var{name=I} || I <- lists:seq(Count0, Count-1)], + {Vars,Count}. + +new_var(Count) -> + {#b_var{name=Count},Count+1}. diff --git a/lib/compiler/src/beam_ssa_private_append.erl b/lib/compiler/src/beam_ssa_private_append.erl index c2954927621a..5042c0235d7a 100644 --- a/lib/compiler/src/beam_ssa_private_append.erl +++ b/lib/compiler/src/beam_ssa_private_append.erl @@ -57,9 +57,8 @@ -spec opt(st_map(), func_info_db()) -> {st_map(), func_info_db()}. opt(StMap, FuncDb) -> %% Ignore functions which are not in the function db (never - %% called) or are stubs for nifs. - Funs = [ F || F <- maps:keys(StMap), - is_map_key(F, FuncDb), not is_nif(F, StMap)], + %% called). + Funs = [ F || F <- maps:keys(StMap), is_map_key(F, FuncDb)], private_append(Funs, StMap, FuncDb). private_append(Funs, StMap0, FuncDb) -> @@ -262,10 +261,10 @@ track_value_in_fun([{#b_var{}=V,Element}|Rest], Fun, Work0, Defs, Element, DefSt0), track_value_in_fun(ToExplore ++ Rest, Fun, Work0, Defs, ValuesInFun, DefSt); - {put_tuple,_,_} -> + {put_tuple,_,_} when Element =/= self -> track_put_tuple(Args, Element, Rest, Fun, V, Work0, Defs, ValuesInFun, DefSt0); - {put_list,_,_} -> + {put_list,_,_} when Element =/= self -> track_put_list(Args, Element, Rest, Fun, V, Work0, Defs, ValuesInFun, DefSt0); {_,_,_} -> @@ -330,7 +329,12 @@ track_put_tuple(FieldVars, {tuple_element,Idx,Element}, DefSt = add_literal(Fun, {opargs,Dst,Idx,Lit,Element}, DefSt0), track_value_in_fun(Work, Fun, GlobalWork, Defs, ValuesInFun, DefSt) - end. + end; +track_put_tuple(_FieldVars, {hd,_}, + Work, Fun, _Dst, GlobalWork, + Defs, ValuesInFun, DefSt) -> + track_value_in_fun(Work, Fun, GlobalWork, + Defs, ValuesInFun, DefSt). track_put_list([Hd,_Tl], {hd,Element}, Work, Fun, Dst, GlobalWork, @@ -349,7 +353,10 @@ track_put_list([Hd,_Tl], {hd,Element}, #b_literal{val=Lit} -> DefSt = add_literal(Fun, {opargs,Dst,0,Lit,Element}, DefSt0), track_value_in_fun(Work, Fun, GlobalWork, Defs, ValuesInFun, DefSt) - end. + end; +track_put_list([_Hd,_Tl], {tuple_element,_,_}, Work, Fun, _Dst, GlobalWork, + Defs, ValuesInFun, DefSt) -> + track_value_in_fun(Work, Fun, GlobalWork, Defs, ValuesInFun, DefSt). %% Find all calls to Callee and produce a work-list containing all %% values which are used as the Idx:th argument. @@ -546,7 +553,9 @@ merge_arg_patches([{Idx,Lit,P0},{Idx,Lit,P1}|Patches]) -> {{tuple_element,I0,E0},{tuple_element,I1,E1}} -> {tuple_elements,[{I0,E0},{I1,E1}]}; {{tuple_elements,Es},{tuple_element,I,E}} -> - {tuple_elements,[{I,E}|Es]} + {tuple_elements,[{I,E}|Es]}; + {_,_} -> + [P0|merge_arg_patches([P1|Patches])] end, merge_arg_patches([{Idx,Lit,P}|Patches]); merge_arg_patches([P|Patches]) -> @@ -594,12 +603,16 @@ patch_literal_term([H0|T0], {hd,Element}, Cnt0) -> {Dst,Cnt} = new_var(Cnt1), I = #b_set{op=put_list,dst=Dst,args=[H,T]}, {Dst, [I|Extra], Cnt}; +patch_literal_term([_|_]=Pair, Elems, Cnt) when is_list(Elems) -> + [Elem] = [E || {hd,_}=E <- Elems], + patch_literal_term(Pair, Elem, Cnt); patch_literal_term(Lit, [], Cnt) -> {#b_literal{val=Lit}, [], Cnt}. -patch_literal_tuple(Tuple, Elements, Cnt) -> +patch_literal_tuple(Tuple, Elements0, Cnt) -> ?DP("Will patch literal tuple~n tuple:~p~n elements: ~p~n", - [Tuple,Elements]), + [Tuple,Elements0]), + Elements = [ E || {tuple_element,_,_}=E <- Elements0], patch_literal_tuple(erlang:tuple_to_list(Tuple), Elements, [], [], 0, Cnt). patch_literal_tuple([Lit|LitElements], [{tuple_element,Idx,Element}|Elements], @@ -619,9 +632,8 @@ patch_literal_tuple([], [], Patched, Extra, _, Cnt0) -> I = #b_set{op=put_tuple,dst=V,args=reverse(Patched)}, {V, [I|Extra], Cnt}. -%% As beam_ssa_opt:new_var/2, but with a hard-coded base new_var(Count) -> - {#b_var{name={alias_opt,Count}},Count+1}. + {#b_var{name=Count},Count+1}. %% Done with an accumulator to reverse the reversed block order from %% patch_appends_f/5. @@ -637,16 +649,3 @@ insert_block_additions([Blk0={L,B=#b_blk{is=Is0}}|RevLinear], insert_block_additions(RevLinear, Lbl2Addition, [Blk|Acc]); insert_block_additions([], _, Acc) -> Acc. - -%%% -%%% Predicate to check if a function is the stub for a nif. -%%% --spec is_nif(func_id(), st_map()) -> boolean(). - -is_nif(F, StMap) -> - #opt_st{ssa=[{0,#b_blk{is=Is}}|_]} = map_get(F, StMap), - case Is of - [#b_set{op=nif_start}|_] -> - true; - _ -> false - end. diff --git a/lib/compiler/src/beam_ssa_recv.erl b/lib/compiler/src/beam_ssa_recv.erl index 240a0b1a349c..d3f01467ccf4 100644 --- a/lib/compiler/src/beam_ssa_recv.erl +++ b/lib/compiler/src/beam_ssa_recv.erl @@ -740,7 +740,7 @@ plan_clears(UsageMap, Graph) -> [] -> Acc end - end, #{}, UsageMap). + end, #{}, maps:iterator(UsageMap, ordered)). plan_clears_1([{From, To, branch} | Edges], ActiveRefs, UsageMap) -> %% Clear all references that are no longer active on the `To` block. @@ -790,7 +790,7 @@ insert_markers([], Blocks, Count) -> insert_reserve(Lbl, Dst, Anno, Blocks0, Count0) -> #{ Lbl := #b_blk{is=Is0}=Blk } = Blocks0, - Var = #b_var{name={'@ssa_recv_marker', Count0}}, + Var = #b_var{name=Count0}, Count = Count0 + 1, Reserve = #b_set{anno=Anno,op=recv_marker_reserve,args=[],dst=Var}, @@ -808,7 +808,7 @@ insert_reserve_is([I | Is], Reserve, Var) -> insert_bind(Lbl, Ref, Marker, Blocks0, Count0) -> #{ Lbl := #b_blk{is=Is0,last=Last}=Blk } = Blocks0, - Ignored = #b_var{name={'@ssa_ignored', Count0}}, + Ignored = #b_var{name=Count0}, Count = Count0 + 1, Bind = #b_set{ op=recv_marker_bind, @@ -853,7 +853,7 @@ insert_clears(Clears0, Blocks0, Count0) -> beam_ssa:insert_on_edges(Insertions, Blocks0, Count). insert_clears_1([{From, To, Ref} | Clears], Count0, Acc) -> - Ignored = #b_var{name={'@ssa_ignored', Count0}}, + Ignored = #b_var{name=Count0}, Count = Count0 + 1, Clear = #b_set{op=recv_marker_clear,args=[Ref],dst=Ignored}, diff --git a/lib/compiler/src/beam_ssa_throw.erl b/lib/compiler/src/beam_ssa_throw.erl index 63a5541d0119..60fbcfae46fc 100644 --- a/lib/compiler/src/beam_ssa_throw.erl +++ b/lib/compiler/src/beam_ssa_throw.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2020-2022. All Rights Reserved. +%% Copyright Ericsson AB 2020-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -166,6 +166,21 @@ si_is([#b_set{op=raw_raise,args=[_,_,Stacktrace]} | Is], si_is([#b_set{op=build_stacktrace,args=[Stacktrace]} | Is], Id, Lbl, Last, Lst, Gst) -> si_handler_end(Is, Id, Lbl, Last, Stacktrace, Lst, Gst); +si_is([#b_set{op=MakeFun,args=[#b_local{}=Callee | _]} | _Is], + _Id, _Lbl, _Last, Lst, Gst) + when MakeFun =:= make_fun; + MakeFun =:= old_make_fun -> + #gst{tlh_roots = Roots0} = Gst, + + %% Funs may be called from anywhere which may result in a throw escaping + %% the module, so we'll add an unsuitable top-level handler to all funs. + Handlers = case gb_trees:lookup(Callee, Roots0) of + {value, Handlers0} -> gb_sets:add(unsuitable, Handlers0); + none -> gb_sets:singleton(unsuitable) + end, + Roots = gb_trees:enter(Callee, Handlers, Roots0), + + {Lst, Gst#gst{tlh_roots=Roots}}; si_is([#b_set{op=call, dst=Dst, args=[#b_remote{mod=#b_literal{val=erlang}, diff --git a/lib/compiler/src/beam_ssa_type.erl b/lib/compiler/src/beam_ssa_type.erl index 725eb9ee2966..3db712ac018e 100644 --- a/lib/compiler/src/beam_ssa_type.erl +++ b/lib/compiler/src/beam_ssa_type.erl @@ -26,6 +26,7 @@ %% it goes. %% +-feature(maybe_expr, enable). -module(beam_ssa_type). -export([opt_start/2, opt_continue/4, opt_finish/3, opt_ranges/1]). @@ -64,7 +65,7 @@ -type metadata() :: #metadata{}. -type meta_cache() :: #{ func_id() => metadata() }. --type type_db() :: #{ beam_ssa:var_name() := ssa_type() }. +-type type_db() :: #{ beam_ssa:b_var() := ssa_type() }. %% The types are the same as in 'beam_types.hrl', with the addition of %% `(fun(type_db()) -> type())` that defers figuring out the type until it's @@ -294,9 +295,8 @@ sig_is([#b_set{op=call, Ts = update_types(I, Ts0, Ds0), Ds = Ds0#{ Dst => I }, sig_is(Is, Ts, Ds, Ls, Fdb, Sub, State); -sig_is([#b_set{op=MakeFun,args=Args0,dst=Dst}=I0|Is], - Ts0, Ds0, Ls, Fdb, Sub0, State0) when MakeFun =:= make_fun; - MakeFun =:= old_make_fun -> +sig_is([#b_set{op=make_fun,args=Args0,dst=Dst}=I0|Is], + Ts0, Ds0, Ls, Fdb, Sub0, State0) -> Args = simplify_args(Args0, Ts0, Sub0), I1 = I0#b_set{args=Args}, @@ -350,10 +350,8 @@ sig_local_call(I0, Callee, Args, Ts, Fdb, State) -> %% While it's impossible to tell which arguments a fun will be called with %% (someone could steal it through tracing and call it), we do know its free %% variables and can update their types as if this were a local call. -sig_make_fun(#b_set{op=MakeFun, - args=[#b_local{}=Callee | FreeVars]}=I0, - Ts, Fdb, State) when MakeFun =:= make_fun; - MakeFun =:= old_make_fun -> +sig_make_fun(#b_set{op=make_fun,args=[#b_local{}=Callee | FreeVars]}=I0, + Ts, Fdb, State) -> ArgCount = Callee#b_local.arity - length(FreeVars), FVTypes = [concrete_type(FreeVar, Ts) || FreeVar <- FreeVars], @@ -570,9 +568,8 @@ opt_is([#b_set{op=call, Ts = update_types(I, Ts0, Ds0), Ds = Ds0#{ Dst => I }, opt_is(Is, Ts, Ds, Ls, Fdb, Sub, Meta, [I | Acc]); -opt_is([#b_set{op=MakeFun,args=Args0,dst=Dst}=I0|Is], - Ts0, Ds0, Ls, Fdb0, Sub0, Meta, Acc) when MakeFun =:= make_fun; - MakeFun =:= old_make_fun -> +opt_is([#b_set{op=make_fun,args=Args0,dst=Dst}=I0|Is], + Ts0, Ds0, Ls, Fdb0, Sub0, Meta, Acc) -> Args = simplify_args(Args0, Ts0, Sub0), I1 = I0#b_set{args=Args}, @@ -703,11 +700,10 @@ opt_local_call(I0, Callee, Args, Dst, Ts, Fdb, Meta) -> end. %% See sig_make_fun/4 -opt_make_fun(#b_set{op=MakeFun, +opt_make_fun(#b_set{op=make_fun, dst=Dst, args=[#b_local{}=Callee | FreeVars]}=I0, - Ts, Fdb, Meta) when MakeFun =:= make_fun; - MakeFun =:= old_make_fun -> + Ts, Fdb, Meta) -> ArgCount = Callee#b_local.arity - length(FreeVars), FVTypes = [concrete_type(FreeVar, Ts) || FreeVar <- FreeVars], ArgTypes = duplicate(ArgCount, any) ++ FVTypes, @@ -1048,17 +1044,28 @@ simplify(#b_set{op=bs_match,dst=Dst,args=Args0}=I0, Ts0, Ds0, _Ls, Sub) -> simplify(#b_set{op=bs_create_bin=Op,dst=Dst,args=Args0,anno=Anno}=I0, Ts0, Ds0, _Ls, Sub) -> Args = simplify_args(Args0, Ts0, Sub), - I1 = I0#b_set{args=Args}, - #t_bitstring{size_unit=Unit} = T = type(Op, Args, Anno, Ts0, Ds0), - I2 = case T of - #t_bitstring{appendable=true} -> - beam_ssa:add_anno(result_type, T, I1); - _ -> I1 - end, - I = beam_ssa:add_anno(unit, Unit, I2), - Ts = Ts0#{ Dst => T }, - Ds = Ds0#{ Dst => I }, - {I, Ts, Ds}; + + case Args of + [#b_literal{val=binary}, + #b_literal{val=[1|_]}, + #b_literal{val=Bitstring}=Lit, + #b_literal{val=all}] when is_bitstring(Bitstring) -> + %% If all we're doing is creating a single constant bitstring, we + %% may as well return it directly. + Sub#{ Dst => Lit }; + [_|_] -> + I1 = I0#b_set{args=Args}, + #t_bitstring{size_unit=Unit} = T = type(Op, Args, Anno, Ts0, Ds0), + I2 = case T of + #t_bitstring{appendable=true} -> + beam_ssa:add_anno(result_type, T, I1); + _ -> I1 + end, + I = beam_ssa:add_anno(unit, Unit, I2), + Ts = Ts0#{ Dst => T }, + Ds = Ds0#{ Dst => I }, + {I, Ts, Ds} + end; simplify(#b_set{dst=Dst,args=Args0}=I0, Ts0, Ds0, _Ls, Sub) -> Args = simplify_args(Args0, Ts0, Sub), I1 = beam_ssa:normalize(I0#b_set{args=Args}), @@ -2217,8 +2224,7 @@ type(is_nonempty_list, [_], _Anno, _Ts, _Ds) -> beam_types:make_boolean(); type(is_tagged_tuple, [_,#b_literal{},#b_literal{}], _Anno, _Ts, _Ds) -> beam_types:make_boolean(); -type(MakeFun, Args, Anno, _Ts, _Ds) when MakeFun =:= make_fun; - MakeFun =:= old_make_fun -> +type(make_fun, Args, Anno, _Ts, _Ds) -> RetType = case Anno of #{ result_type := Type } -> Type; #{} -> any @@ -2497,21 +2503,49 @@ infer_types_br_1(V, Ts, Ds) -> FailTs = subtract_types(NegTypes, Ts), {SuccTs, FailTs}; InvOp -> - %% This is an relational operator. + %% This is a relational operator. {bif,Op} = Op0, - %% Infer the types for both sides of operator succceding. + %% Infer the types for both sides of operator succeeding. Types = concrete_types(Args, Ts), - TrueTypes0 = infer_relop(Op, Args, Types, Ds), - TrueTypes = meet_types(TrueTypes0, Ts), + {TruePos, TrueNeg} = infer_relop(Op, Args, Types, Ds), + TrueTypes = maybe + TrueTypes0 = #{} ?= meet_types(TruePos, Ts), + subtract_types(TrueNeg, TrueTypes0) + else + none -> none + end, %% Infer the types for both sides of operator failing. - FalseTypes0 = infer_relop(InvOp, Args, Types, Ds), - FalseTypes = meet_types(FalseTypes0, Ts), + {FalsePos, FalseNeg} = infer_relop(InvOp, Args, Types, Ds), + FalseTypes = maybe + FalseTypes0 = #{} ?= meet_types(FalsePos, Ts), + subtract_types(FalseNeg, FalseTypes0) + else + none -> none + end, {TrueTypes, FalseTypes} end. +infer_relop('=:=', [LHS,RHS], + [#t_bitstring{appendable=LHSApp}=LType0, + #t_bitstring{appendable=RHSApp}=RType0], Ds) + when LHSApp ; RHSApp -> + %% Bit strings are special in that nothing about their + %% appendable-status can be deduced from a comparison. The only + %% information gained is the size_unit. The appendable status is + %% unchanged by the comparison. + %% + %% In order to avoid narrowing the types with regard to + %% appendable-status, deduce the types for the case when neither + %% LHS or RHS are appendable, then restore the appendable-status. + {[{LHS,LType},{RHS,RType} | EqTypes], []} = + infer_relop('=:=', [LHS,RHS], + [LType0#t_bitstring{appendable=false}, + RType0#t_bitstring{appendable=false}], Ds), + {[{LHS,LType#t_bitstring{appendable=LHSApp}}, + {RHS,RType#t_bitstring{appendable=RHSApp}} | EqTypes], []}; infer_relop('=:=', [LHS,RHS], [LType,RType], Ds) -> EqTypes = infer_eq_type(map_get(LHS, Ds), RType), @@ -2520,11 +2554,10 @@ infer_relop('=:=', [LHS,RHS], [LType,RType], Ds) -> %% can be inferred that L1 is 'cons' (the meet of 'cons' and %% 'list'). Type = beam_types:meet(LType, RType), - [{LHS,Type},{RHS,Type}] ++ EqTypes; -infer_relop(Op, Args, Types, _Ds) -> - infer_relop(Op, Args, Types). + {[{LHS,Type},{RHS,Type}] ++ EqTypes, []}; +infer_relop('=/=', [LHS,RHS], [LType,RType], Ds) -> + NeTypes = infer_ne_type(map_get(LHS, Ds), RType), -infer_relop('=/=', [LHS,RHS], [LType,RType]) -> %% We must be careful with types inferred from '=/='. %% %% For example, if we have L =/= [a], we must not subtract 'cons' @@ -2536,9 +2569,12 @@ infer_relop('=/=', [LHS,RHS], [LType,RType]) -> %% value and vice versa. We must not subtract the meet of the two %% as it may be too specific. See beam_type_SUITE:type_subtraction/1 %% for details. - [{V,beam_types:subtract(ThisType, OtherType)} || - {V, ThisType, OtherType} <- [{RHS, RType, LType}, {LHS, LType, RType}], - beam_types:is_singleton_type(OtherType)]; + {[{V,beam_types:subtract(ThisType, OtherType)} || + {V, ThisType, OtherType} <- [{RHS, RType, LType}, {LHS, LType, RType}], + beam_types:is_singleton_type(OtherType)], NeTypes}; +infer_relop(Op, Args, Types, _Ds) -> + {infer_relop(Op, Args, Types), []}. + infer_relop(Op, [Arg1,Arg2], Types0) -> case infer_relop(Op, Types0) of any -> @@ -2641,8 +2677,13 @@ infer_br_value(V, Bool, NewTs) -> infer_types_switch(V, Lit, Ts0, IsTempVar, Ds) -> Args = [V,Lit], Types = concrete_types(Args, Ts0), - PosTypes = infer_relop('=:=', Args, Types, Ds), - Ts = meet_types(PosTypes, Ts0), + {PosTypes, NegTypes} = infer_relop('=:=', Args, Types, Ds), + Ts = maybe + Ts1 = #{} ?= meet_types(PosTypes, Ts0), + subtract_types(NegTypes, Ts1) + else + none -> none + end, case IsTempVar of true -> ts_remove_var(V, Ts); false -> Ts @@ -2726,15 +2767,15 @@ infer_type({bif,'and'}, [#b_var{}=LHS,#b_var{}=RHS], Ts, Ds) -> %% rewrite this BIF to plain control flow. %% %% Note that we can't do anything for the 'false' case as either (or both) - %% of the arguments could be false. + %% of the arguments could be false, so we must ignore the negations. #{ LHS := #b_set{op=LHSOp,args=LHSArgs}, RHS := #b_set{op=RHSOp,args=RHSArgs} } = Ds, - LHSTypes = infer_and_type(LHSOp, LHSArgs, Ts, Ds), - RHSTypes = infer_and_type(RHSOp, RHSArgs, Ts, Ds), + {LHSPos, _} = infer_and_type(LHSOp, LHSArgs, Ts, Ds), + {RHSPos, _} = infer_and_type(RHSOp, RHSArgs, Ts, Ds), True = beam_types:make_atom(true), - {[{LHS, True}, {RHS, True}] ++ LHSTypes ++ RHSTypes, []}; + {[{LHS, True}, {RHS, True}] ++ LHSPos ++ RHSPos, []}; infer_type(_Op, _Args, _Ts, _Ds) -> {[], []}. @@ -2783,11 +2824,30 @@ infer_eq_type(#b_set{op=get_tuple_element, infer_eq_type(_, _) -> []. +infer_ne_type(#b_set{op={bif,tuple_size},args=[#b_var{}=Tuple]}, + #t_integer{elements={Size,Size}}) -> + [{Tuple,#t_tuple{exact=true,size=Size}}]; +infer_ne_type(#b_set{op=get_tuple_element, + args=[#b_var{}=Tuple,#b_literal{val=N}]}, + ElementType) -> + Index = N + 1, + case {beam_types:is_singleton_type(ElementType), + beam_types:set_tuple_element(Index, ElementType, #{})} of + {true, #{ Index := _ }=Es} -> + [{Tuple,#t_tuple{size=Index,elements=Es}}]; + {_, #{}} -> + %% Subtraction is not safe: either we had a non-singleton element + %% type (see inference for `=/=`), or the element index was out of + %% range. + [] + end; +infer_ne_type(_, _) -> + []. + infer_and_type(Op, Args, Ts, Ds) -> case inv_relop(Op) of none -> - {LHSTypes0, _} = infer_type(Op, Args, Ts, Ds), - LHSTypes0; + infer_type(Op, Args, Ts, Ds); _InvOp -> {bif,RelOp} = Op, infer_relop(RelOp, Args, concrete_types(Args, Ts), Ds) diff --git a/lib/compiler/src/beam_types.erl b/lib/compiler/src/beam_types.erl index c3bf7c8fae48..3fc2476898e1 100644 --- a/lib/compiler/src/beam_types.erl +++ b/lib/compiler/src/beam_types.erl @@ -479,7 +479,7 @@ is_bs_matchable_type(Type) -> Result :: {ok, term()} | error. get_singleton_value(#t_atom{elements=[Atom]}) -> {ok, Atom}; -get_singleton_value(#t_float{elements={Float,Float}}) when Float =/= 0.0 -> +get_singleton_value(#t_float{elements={Float,Float}}) when Float /= 0 -> %% 0.0 is not actually a singleton as it has two encodings: 0.0 and -0.0 {ok, Float}; get_singleton_value(#t_integer{elements={Int,Int}}) -> diff --git a/lib/compiler/src/beam_utils.erl b/lib/compiler/src/beam_utils.erl index 71ba58bffc23..34e4ae607f28 100644 --- a/lib/compiler/src/beam_utils.erl +++ b/lib/compiler/src/beam_utils.erl @@ -95,8 +95,6 @@ replace_labels_1([{call,Ar,{f,Lbl}}|Is], Acc, D, Fb) -> replace_labels_1(Is, [{call,Ar,{f,label(Lbl, D, Fb)}}|Acc], D, Fb); replace_labels_1([{call_fun2,{f,Lbl},Ar,Func}|Is], Acc, D, Fb) -> replace_labels_1(Is, [{call_fun2,{f,label(Lbl, D, Fb)},Ar,Func}|Acc], D, Fb); -replace_labels_1([{make_fun2,{f,Lbl},U1,U2,U3}|Is], Acc, D, Fb) -> - replace_labels_1(Is, [{make_fun2,{f,label(Lbl, D, Fb)},U1,U2,U3}|Acc], D, Fb); replace_labels_1([{make_fun3,{f,Lbl},U1,U2,U3,U4}|Is], Acc, D, Fb) -> replace_labels_1(Is, [{make_fun3,{f,label(Lbl, D, Fb)},U1,U2,U3,U4}|Acc], D, Fb); replace_labels_1([{bs_create_bin,{f,Lbl},Alloc,Live,Unit,Dst,{list,List}}|Is], Acc, D, Fb) diff --git a/lib/compiler/src/beam_validator.erl b/lib/compiler/src/beam_validator.erl index 217b7a2c979b..ead9c120522c 100644 --- a/lib/compiler/src/beam_validator.erl +++ b/lib/compiler/src/beam_validator.erl @@ -404,10 +404,6 @@ vi({fmove,{fr,_}=Src,Dst}, Vst0) -> assert_freg_set(Src, Vst0), Vst = eat_heap_float(Vst0), create_term(#t_float{}, fmove, [], Dst, Vst); -vi({kill,Reg}, Vst) -> - create_tag(initialized, kill, [], Reg, Vst); -vi({init,Reg}, Vst) -> - create_tag(initialized, init, [], Reg, Vst); vi({init_yregs,{list,Yregs}}, Vst0) -> case ordsets:from_list(Yregs) of [] -> error(empty_list); @@ -590,10 +586,6 @@ vi({allocate,Stk,Live}, Vst) -> allocate(uninitialized, Stk, 0, Live, Vst); vi({allocate_heap,Stk,Heap,Live}, Vst) -> allocate(uninitialized, Stk, Heap, Live, Vst); -vi({allocate_zero,Stk,Live}, Vst) -> - allocate(initialized, Stk, 0, Live, Vst); -vi({allocate_heap_zero,Stk,Heap,Live}, Vst) -> - allocate(initialized, Stk, Heap, Live, Vst); vi({deallocate,StkSize}, #vst{current=#st{numy=StkSize}}=Vst) -> verify_no_ct(Vst), deallocate(Vst); @@ -704,19 +696,6 @@ vi({call_fun,Live}, Vst) -> Fun, SuccVst0), validate_body_call('fun', Live+1, SuccVst) end); -vi({make_fun2,{f,Lbl},_,_,NumFree}, #vst{ft=Ft}=Vst0) -> - #{ name := Name, arity := TotalArity } = map_get(Lbl, Ft), - Arity = TotalArity - NumFree, - - true = Arity >= 0, %Assertion. - - Vst = prune_x_regs(NumFree, Vst0), - verify_call_args(make_fun, NumFree, Vst), - verify_y_init(Vst), - - Type = #t_fun{target={Name,TotalArity},arity=Arity}, - - create_term(Type, make_fun, [], {x,0}, Vst); vi({make_fun3,{f,Lbl},_,_,Dst,{list,Env}}, #vst{ft=Ft}=Vst0) -> _ = [assert_term(E, Vst0) || E <- Env], NumFree = length(Env), @@ -1720,9 +1699,8 @@ validate_bs_match([I|Is], Ctx, Unit0, Vst0) -> Vst1 = update_bs_unit(Ctx, Unit, Vst0), Vst = update_type(fun meet/2, Type, Ctx, Vst1), validate_bs_match(Is, Ctx, Unit, Vst); - {ensure_exactly,Stride} -> - Vst = advance_bs_context(Ctx, Stride, Vst0), - validate_bs_match(Is, Ctx, Unit0, Vst); + {ensure_exactly,_Stride} -> + validate_bs_match(Is, Ctx, Unit0, Vst0); {'=:=',nil,Bits,Value} when Bits =< 64, is_integer(Value) -> validate_bs_match(Is, Ctx, Unit0, Vst0); {Type0,Live,{literal,Flags},Size,Unit,Dst} when Type0 =:= binary; diff --git a/lib/compiler/src/beam_z.erl b/lib/compiler/src/beam_z.erl index 852000aa3aed..5e20ad4cd15f 100644 --- a/lib/compiler/src/beam_z.erl +++ b/lib/compiler/src/beam_z.erl @@ -29,16 +29,14 @@ -spec module(beam_utils:module_code(), [compile:option()]) -> {'ok',beam_asm:module_code()}. -module({Mod,Exp,Attr,Fs0,Lc}, Opts) -> - NoInitYregs = proplists:get_bool(no_init_yregs, Opts), - Fs = [function(F, NoInitYregs) || F <- Fs0], +module({Mod,Exp,Attr,Fs0,Lc}, _Opts) -> + Fs = [function(F) || F <- Fs0], {ok,{Mod,Exp,Attr,Fs,Lc}}. -function({function,Name,Arity,CLabel,Is0}, NoInitYregs) -> +function({function,Name,Arity,CLabel,Is0}) -> try Is1 = undo_renames(Is0), - Is2 = maybe_eliminate_init_yregs(Is1, NoInitYregs), - Is = remove_redundant_lines(Is2), + Is = remove_redundant_lines(Is1), {function,Name,Arity,CLabel,Is} catch Class:Error:Stack -> @@ -133,25 +131,6 @@ undo_rename({select,I,Reg,Fail,List}) -> {I,Reg,Fail,{list,List}}; undo_rename(I) -> I. -%%% -%%% Eliminate the init_yreg/1 instruction if requested by -%%% the no_init_yregs option. -%%% -maybe_eliminate_init_yregs(Is, true) -> - eliminate_init_yregs(Is); -maybe_eliminate_init_yregs(Is, false) -> Is. - -eliminate_init_yregs([{allocate,Ns,Live},{init_yregs,_}|Is]) -> - [{allocate_zero,Ns,Live}|eliminate_init_yregs(Is)]; -eliminate_init_yregs([{allocate_heap,Ns,Nh,Live},{init_yregs,_}|Is]) -> - [{allocate_heap_zero,Ns,Nh,Live}|eliminate_init_yregs(Is)]; -eliminate_init_yregs([{init_yregs,{list,Yregs}}|Is]) -> - Inits = [{init,Y} || Y <- Yregs], - Inits ++ eliminate_init_yregs(Is); -eliminate_init_yregs([I|Is]) -> - [I|eliminate_init_yregs(Is)]; -eliminate_init_yregs([]) -> []. - %% Remove all `line` instructions having the same location as the %% previous `line` instruction. It turns out that such redundant %% `line` instructions are quite common. Removing them decreases the diff --git a/lib/compiler/src/cerl.erl b/lib/compiler/src/cerl.erl index f824703a8a82..7e4e5af98cc0 100644 --- a/lib/compiler/src/cerl.erl +++ b/lib/compiler/src/cerl.erl @@ -2385,21 +2385,22 @@ bitstr_size(Node) -> -spec bitstr_bitsize(c_bitstr()) -> 'all' | 'any' | 'utf' | non_neg_integer(). bitstr_bitsize(Node) -> - Size = Node#c_bitstr.size, + #c_bitstr{size=Size,type=Type,unit=Unit} = Node, case is_literal(Size) of - true -> - case concrete(Size) of - all -> - all; - undefined -> - %% just an assertion below - "utf" ++ _ = atom_to_list(concrete(Node#c_bitstr.type)), - utf; - S when is_integer(S) -> - S * concrete(Node#c_bitstr.unit) - end; - false -> - any + true -> + case {concrete(Size), concrete(Type)} of + {all, binary} -> + all; + {undefined, T} when T =:= utf8; T =:= utf16; T =:= utf32 -> + utf; + {S, _} when is_integer(S), S >= 0 -> + S * concrete(Unit); + {_, _} -> + %% Bogus literal size, fails in runtime. + any + end; + false -> + any end. diff --git a/lib/compiler/src/compile.erl b/lib/compiler/src/compile.erl index 9ff09911f9d1..74e58091403b 100644 --- a/lib/compiler/src/compile.erl +++ b/lib/compiler/src/compile.erl @@ -101,7 +101,7 @@ forms(Forms) -> forms(Forms, ?DEFAULT_OPTIONS). forms(Forms, Opts) when is_list(Opts) -> do_compile({forms,Forms}, [binary|Opts++env_default_opts()]); -forms(Forms, Opt) when is_atom(Opt) -> +forms(Forms, Opt) when is_atom(Opt) orelse is_tuple(Opt) -> forms(Forms, [Opt|?DEFAULT_OPTIONS]). %% Given a list of compilation options, returns true if compile:file/2 @@ -262,24 +262,11 @@ expand_opt(report, Os) -> [report_errors,report_warnings|Os]; expand_opt(return, Os) -> [return_errors,return_warnings|Os]; -expand_opt(no_bsm4, Os) -> - %% bsm4 instructions are only used when type optimization has determined - %% that a match instruction won't fail. - expand_opt(no_type_opt, Os); -expand_opt(r22, Os) -> - expand_opt(r23, [no_bs_create_bin, no_shared_fun_wrappers, - no_swap | expand_opt(no_bsm4, Os)]); -expand_opt(r23, Os) -> - expand_opt(no_make_fun3, [no_bs_create_bin, no_ssa_opt_float, - no_recv_opt, no_init_yregs | - expand_opt(r24, Os)]); expand_opt(r24, Os) -> - expand_opt(no_type_opt, [no_bs_create_bin, no_ssa_opt_ranges | + expand_opt(no_type_opt, [no_badrecord, no_bs_create_bin, no_ssa_opt_ranges | expand_opt(r25, Os)]); expand_opt(r25, Os) -> [no_ssa_opt_update_tuple, no_bs_match, no_min_max_bifs | Os]; -expand_opt(no_make_fun3, Os) -> - [no_make_fun3, no_fun_opt | Os]; expand_opt({debug_info_key,_}=O, Os) -> [encrypt_debug_info,O|Os]; expand_opt(no_type_opt=O, Os) -> @@ -865,10 +852,7 @@ kernel_passes() -> {iff,clint,?pass(core_lint_module)}, %% Kernel Erlang and code generation. - ?pass(v3_kernel), - {iff,dkern,{listing,"kernel"}}, - {iff,'to_kernel',{done,"kernel"}}, - {pass,beam_kernel_to_ssa}, + ?pass(core_to_ssa), {iff,dssa,{listing,"ssa"}}, {iff,ssalint,{pass,beam_ssa_lint}}, {delay, @@ -934,7 +918,8 @@ asm_passes() -> {iff,'S',{listing,"S"}}, {iff,'to_asm',{done,"S"}}]}, ?pass(beam_validator_weak), - ?pass(beam_asm) + ?pass(beam_asm), + {iff,strip_types,?pass(beam_strip_types)} | binary_passes()]. binary_passes() -> @@ -1509,10 +1494,16 @@ is_obsolete(r18) -> true; is_obsolete(r19) -> true; is_obsolete(r20) -> true; is_obsolete(r21) -> true; +is_obsolete(r22) -> true; +is_obsolete(r23) -> true; is_obsolete(no_bsm3) -> true; is_obsolete(no_get_hd_tl) -> true; is_obsolete(no_put_tuple2) -> true; is_obsolete(no_utf8_atoms) -> true; +is_obsolete(no_swap) -> true; +is_obsolete(no_init_yregs) -> true; +is_obsolete(no_shared_fun_wrappers) -> true; +is_obsolete(no_make_fun3) -> true; is_obsolete(_) -> false. core(Forms, #compile{options=Opts}=St) -> @@ -1527,8 +1518,8 @@ core_fold_module_after_inlining(Code0, #compile{options=Opts}=St) -> {ok,Code,_Ws} = sys_core_fold:module(Code0, Opts), {ok,Code,St}. -v3_kernel(Code0, #compile{options=Opts,warnings=Ws0}=St) -> - {ok,Code,Ws} = v3_kernel:module(Code0, Opts), +core_to_ssa(Code0, #compile{options=Opts,warnings=Ws0}=St) -> + {ok,Code,Ws} = beam_core_to_ssa:module(Code0, Opts), case Ws =:= [] orelse test_core_inliner(St) of false -> {ok,Code,St#compile{warnings=Ws0++Ws}}; @@ -1698,6 +1689,13 @@ beam_asm(Code0, #compile{ifile=File,extra_chunks=ExtraChunks,options=CompilerOpt {error,St#compile{errors=St#compile.errors ++ [{File,Es}]}} end. +beam_strip_types(Beam0, #compile{}=St) -> + {ok,_Module,Chunks0} = beam_lib:all_chunks(Beam0), + Chunks = [{Tag,Contents} || {Tag,Contents} <- Chunks0, + Tag =/= "Type"], + {ok,Beam} = beam_lib:build_module(Chunks), + {ok,Beam,St}. + compile_info(File, CompilerOpts, Opts) -> IsSlim = member(slim, CompilerOpts), IsDeterministic = member(deterministic, CompilerOpts), @@ -1838,7 +1836,7 @@ ignore_warning({_Location,Pass,{Category,_}}, Ignore) -> IgnoreMod = case Pass of v3_core -> true; sys_core_fold -> true; - v3_kernel -> true; + beam_core_to_ssa -> true; _ -> false end, IgnoreMod andalso sets:is_element(Category, Ignore); @@ -2094,11 +2092,11 @@ pre_load() -> beam_block, beam_call_types, beam_clean, + beam_core_to_ssa, beam_dict, beam_digraph, beam_flatten, beam_jump, - beam_kernel_to_ssa, beam_opcodes, beam_ssa, beam_ssa_alias, @@ -2133,7 +2131,6 @@ pre_load() -> sys_core_alias, sys_core_bsm, sys_core_fold, - v3_core, - v3_kernel], + v3_core], _ = code:ensure_modules_loaded(L), ok. diff --git a/lib/compiler/src/compiler.app.src b/lib/compiler/src/compiler.app.src index be1a6d723674..90448a67a01b 100644 --- a/lib/compiler/src/compiler.app.src +++ b/lib/compiler/src/compiler.app.src @@ -27,12 +27,12 @@ beam_block, beam_call_types, beam_clean, + beam_core_to_ssa, beam_dict, beam_digraph, beam_disasm, beam_flatten, beam_jump, - beam_kernel_to_ssa, beam_listing, beam_opcodes, beam_ssa, @@ -77,9 +77,7 @@ sys_core_prepare, sys_messages, sys_pre_attributes, - v3_core, - v3_kernel, - v3_kernel_pp + v3_core ]}, {registered, []}, {applications, [kernel, stdlib]}, diff --git a/lib/compiler/src/genop.tab b/lib/compiler/src/genop.tab index 3363f5873fe4..f2d50f3bc26d 100755 --- a/lib/compiler/src/genop.tab +++ b/lib/compiler/src/genop.tab @@ -108,7 +108,7 @@ BEAM_FORMAT_NUMBER=0 ## ## OTP 24: This instruction has been superseded by allocate/2 followed ## by init_yregs/1. -14: allocate_zero/2 +14: -allocate_zero/2 ## @spec allocate_heap_zero StackNeed HeapNeed Live ## @doc Allocate space for StackNeed words on the stack and HeapNeed words @@ -119,7 +119,7 @@ BEAM_FORMAT_NUMBER=0 ## ## OTP 24: This instruction has been superseded by allocate_heap/2 ## followed by init_yregs/1. -15: allocate_heap_zero/3 +15: -allocate_heap_zero/3 ## @spec test_heap HeapNeed Live ## @doc Ensure there is space for HeapNeed words on the heap. If a GC is needed @@ -130,7 +130,7 @@ BEAM_FORMAT_NUMBER=0 ## @doc Clear the Nth stack word. (By writing NIL.) ## ## OTP 24: This instruction has been superseded by init_yregs/1. -17: init/1 +17: -init/1 ## @spec deallocate N ## @doc Restore the continuation pointer (CP) from the stack and deallocate @@ -400,8 +400,8 @@ BEAM_FORMAT_NUMBER=0 # The fclearerror and fcheckerror instructions are not used in OTP 24 # and later. # -94: fclearerror/0 -95: fcheckerror/1 +94: -fclearerror/0 +95: -fcheckerror/1 96: fmove/2 97: fconv/2 98: fadd/4 @@ -411,7 +411,7 @@ BEAM_FORMAT_NUMBER=0 102: fnegate/3 # New fun construction (R8). -103: make_fun2/1 +103: -make_fun2/1 # Try/catch/raise (R10B). 104: try/2 @@ -516,17 +516,8 @@ BEAM_FORMAT_NUMBER=0 # R14A -## @spec recv_mark Label -## @doc Save the end of the message queue and the address of -## the label Label so that a recv_set instruction can start -## scanning the inbox from this position. -150: recv_mark/1 - -## @spec recv_set Label -## @doc Check that the saved mark points to Label and set the -## save pointer in the message queue to the last position -## of the message queue saved by the recv_mark instruction. -151: recv_set/1 +150: -recv_mark/1 +151: -recv_set/1 ## @spec gc_bif3 Lbl Live Bif Arg1 Arg2 Arg3 Reg ## @doc Call the bif Bif with the arguments Arg1, Arg2 and Arg3, diff --git a/lib/compiler/src/v3_core.erl b/lib/compiler/src/v3_core.erl index daf1f63585d4..7a3c8738b25e 100644 --- a/lib/compiler/src/v3_core.erl +++ b/lib/compiler/src/v3_core.erl @@ -854,12 +854,8 @@ expr({'catch',L,E0}, St0) -> Lanno = lineno_anno(L, St1), {#icatch{anno=#a{anno=Lanno},body=Eps ++ [E1]},[],St1}; expr({'fun',L,{function,F,A}}, St0) -> - %% Generate a new name for eta conversion of local funs (`fun local/123`) - %% in case `no_shared_fun_wrappers` is given. - {Fname,St1} = new_fun_name(St0), - Lanno = full_anno(L, St1), - Id = {0,0,Fname}, - {#c_var{anno=Lanno++[{id,Id}],name={F,A}},[],St1}; + Lanno = full_anno(L, St0), + {#c_var{anno=Lanno,name={F,A}},[],St0}; expr({'fun',L,{function,M,F,A}}, St0) -> {As,Aps,St1} = safe_list([M,F,A], St0), Lanno = full_anno(L, St1), @@ -4101,7 +4097,12 @@ insert_nif_start([VF={V,F=#c_fun{body=Body}}|Funs]) -> #c_case{} -> NifStart = #c_primop{name=#c_literal{val=nif_start},args=[]}, [{V,F#c_fun{body=#c_seq{arg=NifStart,body=Body}}} - |insert_nif_start(Funs)] + |insert_nif_start(Funs)]; + #c_letrec{defs=Defs,body=LetrecBody0}=LR0 -> + NifStart = #c_primop{name=#c_literal{val=nif_start},args=[]}, + LetrecBody = #c_seq{arg=NifStart,body=LetrecBody0}, + LR = LR0#c_letrec{defs=insert_nif_start(Defs), body=LetrecBody}, + [{V,F#c_fun{body=LR}}|insert_nif_start(Funs)] end; insert_nif_start([]) -> []. diff --git a/lib/compiler/src/v3_kernel.erl b/lib/compiler/src/v3_kernel.erl deleted file mode 100644 index 809924c7f35e..000000000000 --- a/lib/compiler/src/v3_kernel.erl +++ /dev/null @@ -1,2293 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2023. All Rights Reserved. -%% -%% 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. -%% -%% %CopyrightEnd% -%% -%% Purpose : Transform Core Erlang to Kernel Erlang - -%% Kernel erlang is like Core Erlang with a few significant -%% differences: -%% -%% 1. It is flat! There are no nested calls or sub-blocks. -%% -%% 2. All variables are unique in a function. There is no scoping, or -%% rather the scope is the whole function. -%% -%% 3. Pattern matching (in cases and receives) has been compiled. -%% -%% 4. All remote-calls are to statically named m:f/a. Meta-calls are -%% passed via erlang:apply/3. -%% -%% The translation is done in two passes: -%% -%% 1. Basic translation, translate variable/function names, flatten -%% completely, pattern matching compilation. -%% -%% 2. Fun-lifting (lambda-lifting), variable usage annotation and -%% last-call handling. -%% -%% All new Kexprs are created in the first pass, they are just -%% annotated in the second. -%% -%% Functions and BIFs -%% -%% Functions are "call"ed or "enter"ed if it is a last call, their -%% return values may be ignored. BIFs are things which are known to -%% be internal by the compiler and can only be called, their return -%% values cannot be ignored. -%% -%% Letrec's are handled rather naively. All the functions in one -%% letrec are handled as one block to find the free variables. While -%% this is not optimal it reflects how letrec's often are used. We -%% don't have to worry about variable shadowing and nested letrec's as -%% this is handled in the variable/function name translation. There -%% is a little bit of trickery to ensure letrec transformations fit -%% into the scheme of things. -%% -%% To ensure unique variable names we use a variable substitution -%% table and keep the set of all defined variables. The nested -%% scoping of Core means that we must also nest the substitution -%% tables, but the defined set must be passed through to match the -%% flat structure of Kernel and to make sure variables with the same -%% name from different scopes get different substitutions. -%% -%% We also use these substitutions to handle the variable renaming -%% necessary in pattern matching compilation. -%% -%% The pattern matching compilation assumes that the values of -%% different types don't overlap. This means that as there is no -%% character type yet in the machine all characters must be converted -%% to integers! - --module(v3_kernel). - --export([module/2,format_error/1]). - --import(lists, [all/2,droplast/1,flatten/1,foldl/3,foldr/3, - map/2,mapfoldl/3,member/2,keyfind/3,last/1, - partition/2,reverse/1,sort/1,sort/2, - splitwith/2]). --import(ordsets, [add_element/2,intersection/2, - subtract/2,union/2,union/1]). - --include("core_parse.hrl"). --include("v3_kernel.hrl"). - -%% Matches collapse max segment in v3_core. --define(EXPAND_MAX_SIZE_SEGMENT, 1024). - -%% These are not defined in v3_kernel.hrl. -get_kanno(Kthing) -> element(2, Kthing). -set_kanno(Kthing, Anno) -> setelement(2, Kthing, Anno). -copy_anno(Kdst, Ksrc) -> - Anno = get_kanno(Ksrc), - set_kanno(Kdst, Anno). - -%% Internal kernel expressions and help functions. -%% N.B. the annotation field is ALWAYS the first field! - --record(ivalues, {anno=[],args}). --record(ifun, {anno=[],vars,body}). --record(iset, {anno=[],vars,arg,body}). --record(iletrec, {anno=[],defs}). --record(ialias, {anno=[],vars,pat}). --record(iclause, {anno=[],isub,osub,pats,guard,body}). - --type warning() :: term(). % XXX: REFINE - -%% State record for kernel translator. --record(kern, {func, %Current host function - fargs=[] :: [#k_var{}], %Arguments for current function - vcount=0, %Variable counter - fcount=0, %Fun counter - ds=sets:new([{version, 2}]) :: sets:set(), %Defined variables - funs=[], %Fun functions - free=#{}, %Free variables - ws=[] :: [warning()], %Warnings. - no_shared_fun_wrappers=false :: boolean(), - no_min_max_bifs=false :: boolean(), - labels=sets:new([{version, 2}]) - }). - --spec module(cerl:c_module(), [compile:option()]) -> - {'ok', #k_mdef{}, [warning()]}. - -module(#c_module{anno=A,name=M,exports=Es,attrs=As,defs=Fs}, Options) -> - Kas = attributes(As), - Kes = map(fun (#c_var{name={_,_}=Fname}) -> Fname end, Es), - NoSharedFunWrappers = proplists:get_bool(no_shared_fun_wrappers, - Options), - NoMinMaxBifs = proplists:get_bool(no_min_max_bifs, Options), - St0 = #kern{no_shared_fun_wrappers=NoSharedFunWrappers, - no_min_max_bifs=NoMinMaxBifs}, - {Kfs,St} = mapfoldl(fun function/2, St0, Fs), - {ok,#k_mdef{anno=A,name=M#c_literal.val,exports=Kes,attributes=Kas, - body=Kfs ++ St#kern.funs},sort(St#kern.ws)}. - -attributes([{#c_literal{val=Name},#c_literal{val=Val}}|As]) -> - case include_attribute(Name) of - false -> - attributes(As); - true -> - [{Name,Val}|attributes(As)] - end; -attributes([]) -> []. - -include_attribute(type) -> false; -include_attribute(spec) -> false; -include_attribute(callback) -> false; -include_attribute(opaque) -> false; -include_attribute(export_type) -> false; -include_attribute(record) -> false; -include_attribute(optional_callbacks) -> false; -include_attribute(file) -> false; -include_attribute(compile) -> false; -include_attribute(_) -> true. - -function({#c_var{name={F,Arity}=FA},Body}, St0) -> - %%io:format("~w/~w~n", [F,Arity]), - try - %% Find a suitable starting value for the variable counter. Note - %% that this pass assumes that new_var_name/1 returns a variable - %% name distinct from any variable used in the entire body of - %% the function. We use integers as variable names to avoid - %% filling up the atom table when compiling huge functions. - Count = cerl_trees:next_free_variable_name(Body), - St1 = St0#kern{func=FA,vcount=Count,fcount=0,ds=sets:new([{version, 2}])}, - {#ifun{anno=Ab,vars=Kvs,body=B0},[],St2} = expr(Body, new_sub(), St1), - {B1,_,St3} = ubody(B0, return, St2), - %%B1 = B0, St3 = St2, %Null second pass - {make_fdef(Ab, F, Arity, Kvs, B1),St3} - catch - Class:Error:Stack -> - io:fwrite("Function: ~w/~w\n", [F,Arity]), - erlang:raise(Class, Error, Stack) - end. - -%% body(Cexpr, Sub, State) -> {Kexpr,[PreKepxr],State}. -%% Do the main sequence of a body. A body ends in an atomic value or -%% values. Must check if vector first so do expr. - -body(#c_values{anno=A,es=Ces}, Sub, St0) -> - %% Do this here even if only in bodies. - {Kes,Pe,St1} = atomic_list(Ces, Sub, St0), - {#ivalues{anno=A,args=Kes},Pe,St1}; -body(Ce, Sub, St0) -> - expr(Ce, Sub, St0). - -%% guard(Cexpr, Sub, State) -> {Kexpr,State}. -%% We handle guards almost as bodies. The only special thing we -%% must do is to make the final Kexpr a #k_test{}. - -guard(G0, Sub, St0) -> - {Ge0,Pre,St1} = expr(G0, Sub, St0), - {Ge,St} = gexpr_test(Ge0, St1), - {pre_seq(Pre, Ge),St}. - -%% gexpr_test(Kexpr, State) -> {Kexpr,State}. -%% Builds the final boolean test from the last Kexpr in a guard test. -%% Must enter try blocks and isets and find the last Kexpr in them. -%% This must end in a recognised BEAM test! - -gexpr_test(#k_bif{anno=A, - op=#k_remote{mod=#k_literal{val=erlang}, - name=#k_literal{val=F},arity=Ar}=Op, - args=Kargs}=Ke, St) -> - %% Either convert to test if ok, or add test. - %% At this stage, erlang:float/1 is not a type test. (It should - %% have been converted to erlang:is_float/1.) - case erl_internal:new_type_test(F, Ar) orelse - erl_internal:comp_op(F, Ar) of - true -> {#k_test{anno=A,op=Op,args=Kargs},St}; - false -> gexpr_test_add(Ke, St) %Add equality test - end; -gexpr_test(#k_try{arg=B0,vars=[#k_var{name=X}],body=#k_var{name=X}, - handler=#k_literal{val=false}}=Try, St0) -> - {B,St} = gexpr_test(B0, St0), - %%ok = io:fwrite("~w: ~p~n", [?LINE,{B0,B}]), - {Try#k_try{arg=B},St}; -gexpr_test(#iset{body=B0}=Iset, St0) -> - {B1,St1} = gexpr_test(B0, St0), - {Iset#iset{body=B1},St1}; -gexpr_test(Ke, St) -> gexpr_test_add(Ke, St). %Add equality test - -gexpr_test_add(Ke, St0) -> - Test = #k_remote{mod=#k_literal{val='erlang'}, - name=#k_literal{val='=:='}, - arity=2}, - {Ae,Ap,St1} = force_atomic(Ke, St0), - {pre_seq(Ap, #k_test{anno=get_kanno(Ke), - op=Test,args=[Ae,#k_literal{val='true'}]}),St1}. - -%% expr(Cexpr, Sub, State) -> {Kexpr,[PreKexpr],State}. -%% Convert a Core expression, flattening it at the same time. - -expr(#c_var{anno=A,name={Name0,Arity}}=Fname, Sub, St) -> - case St#kern.no_shared_fun_wrappers of - false -> - Name = get_fsub(Name0, Arity, Sub), - {#k_local{anno=A,name=Name,arity=Arity},[],St}; - true -> - %% For backward compatibility with OTP 22 and earlier, - %% use the pre-generated name for the fun wrapper. - %% There will be one wrapper function for each occurrence - %% of `fun F/A`. - Vs = [#c_var{name=list_to_atom("V" ++ integer_to_list(V))} || - V <- integers(1, Arity)], - Fun = #c_fun{anno=A,vars=Vs,body=#c_apply{anno=A,op=Fname,args=Vs}}, - expr(Fun, Sub, St) - end; -expr(#c_var{anno=A,name=V}, Sub, St) -> - {#k_var{anno=A,name=get_vsub(V, Sub)},[],St}; -expr(#c_literal{anno=A,val=V}, _Sub, St) -> - {#k_literal{anno=A,val=V},[],St}; -expr(#c_cons{anno=A,hd=Ch,tl=Ct}, Sub, St0) -> - %% Do cons in two steps, first the expressions left to right, then - %% any remaining literals right to left. - {Kh0,Hp0,St1} = expr(Ch, Sub, St0), - {Kt0,Tp0,St2} = expr(Ct, Sub, St1), - {Kt1,Tp1,St3} = force_atomic(Kt0, St2), - {Kh1,Hp1,St4} = force_atomic(Kh0, St3), - {#k_cons{anno=A,hd=Kh1,tl=Kt1},Hp0 ++ Tp0 ++ Tp1 ++ Hp1,St4}; -expr(#c_tuple{anno=A,es=Ces}, Sub, St0) -> - {Kes,Ep,St1} = atomic_list(Ces, Sub, St0), - {#k_tuple{anno=A,es=Kes},Ep,St1}; -expr(#c_map{anno=A,arg=Var,es=Ces}, Sub, St0) -> - expr_map(A, Var, Ces, Sub, St0); -expr(#c_binary{anno=A,segments=Cv}, Sub, St0) -> - try atomic_bin(Cv, Sub, St0) of - {Kv,Ep,St1} -> - {#k_binary{anno=A,segs=Kv},Ep,St1} - catch - throw:{bad_segment_size,Location} -> - St1 = add_warning(Location, {failed,bad_segment_size}, A, St0), - Erl = #c_literal{val=erlang}, - Name = #c_literal{val=error}, - Args = [#c_literal{val=badarg}], - Error = #c_call{anno=A,module=Erl,name=Name,args=Args}, - expr(Error, Sub, St1) - end; -expr(#c_fun{anno=A,vars=Cvs,body=Cb}, Sub0, - #kern{fargs=OldFargs}=St0) -> - {Kvs,Sub1,St1} = pattern_list(Cvs, Sub0, St0), - %%ok = io:fwrite("~w: ~p~n", [?LINE,{{Cvs,Sub0,St0},{Kvs,Sub1,St1}}]), - {Kb,Pb,St2} = body(Cb, Sub1, St1#kern{fargs=Kvs}), - {#ifun{anno=A,vars=Kvs,body=pre_seq(Pb, Kb)},[],St2#kern{fargs=OldFargs}}; -expr(#c_seq{arg=Ca,body=Cb}, Sub, St0) -> - {Ka,Pa,St1} = body(Ca, Sub, St0), - {Kb,Pb,St2} = body(Cb, Sub, St1), - {Kb,Pa ++ [Ka] ++ Pb,St2}; -expr(#c_let{anno=A,vars=Cvs,arg=Ca,body=Cb}, Sub0, St0) -> - %%ok = io:fwrite("~w: ~p~n", [?LINE,{Cvs,Sub0,St0}]), - {Ka,Pa,St1} = body(Ca, Sub0, St0), - {Kps,Sub1,St2} = pattern_list(Cvs, Sub0, St1), - %%ok = io:fwrite("~w: ~p~n", [?LINE,{Kps,Sub1,St1,St2}]), - %% Break known multiple values into separate sets. - Sets = case Ka of - #ivalues{args=Kas} -> - foldr2(fun (V, Val, Sb) -> - [#iset{vars=[V],arg=Val}|Sb] end, - [], Kps, Kas); - _Other -> - [#iset{anno=A,vars=Kps,arg=Ka}] - end, - {Kb,Pb,St3} = body(Cb, Sub1, St2), - {Kb,Pa ++ Sets ++ Pb,St3}; -expr(#c_letrec{anno=A,defs=Cfs,body=Cb}, Sub, St) -> - case member(letrec_goto, A) of - true -> - letrec_goto(Cfs, Cb, Sub, St); - false -> - letrec_local_function(A, Cfs, Cb, Sub, St) - end; -expr(#c_case{arg=Ca,clauses=Ccs}, Sub, St0) -> - {Ka,Pa,St1} = body(Ca, Sub, St0), %This is a body! - {Kvs,Pv,St2} = match_vars(Ka, St1), %Must have variables here! - {Km,St3} = kmatch(Kvs, Ccs, Sub, St2), - Match = flatten_seq(build_match(Km)), - {last(Match),Pa ++ Pv ++ droplast(Match),St3}; -expr(#c_apply{anno=A,op=Cop,args=Cargs}, Sub, St) -> - c_apply(A, Cop, Cargs, Sub, St); -expr(#c_call{anno=A,module=M0,name=F0,args=Cargs}, Sub, St0) -> - Ar = length(Cargs), - {[M,F|Kargs],Ap,St1} = atomic_list([M0,F0|Cargs], Sub, St0), - Remote = #k_remote{mod=M,name=F,arity=Ar}, - case call_type(M0, F0, Cargs, St1) of - bif -> - {#k_bif{anno=A,op=Remote,args=Kargs},Ap,St1}; - call -> - {#k_call{anno=A,op=Remote,args=Kargs},Ap,St1}; - error -> - %% Invalid call (e.g. M:42/3). Issue a warning, and let - %% the generated code use the old explicit apply. - St = add_warning(get_location(A), {failed,bad_call}, A, St0), - Call = #c_call{anno=A, - module=#c_literal{val=erlang}, - name=#c_literal{val=apply}, - args=[M0,F0,cerl:make_list(Cargs)]}, - expr(Call, Sub, St) - end; -expr(#c_primop{anno=A,name=#c_literal{val=match_fail},args=[Arg]}, Sub, St) -> - translate_match_fail(Arg, Sub, A, St); -expr(#c_primop{anno=A,name=#c_literal{val=N},args=Cargs}, Sub, St0) -> - {Kargs,Ap,St1} = atomic_list(Cargs, Sub, St0), - Ar = length(Cargs), - {#k_bif{anno=A,op=#k_internal{name=N,arity=Ar},args=Kargs},Ap,St1}; -expr(#c_try{anno=A,arg=Ca,vars=Cvs,body=Cb,evars=Evs,handler=Ch}, Sub0, St0) -> - %% The normal try expression. The body and exception handler - %% variables behave as let variables. - {Ka,Pa,St1} = body(Ca, Sub0, St0), - {Kcvs,Sub1,St2} = pattern_list(Cvs, Sub0, St1), - {Kb,Pb,St3} = body(Cb, Sub1, St2), - {Kevs,Sub2,St4} = pattern_list(Evs, Sub0, St3), - {Kh,Ph,St5} = body(Ch, Sub2, St4), - {#k_try{anno=A,arg=pre_seq(Pa, Ka), - vars=Kcvs,body=pre_seq(Pb, Kb), - evars=Kevs,handler=pre_seq(Ph, Kh)},[],St5}; -expr(#c_catch{anno=A,body=Cb}, Sub, St0) -> - {Kb,Pb,St1} = body(Cb, Sub, St0), - {#k_catch{anno=A,body=pre_seq(Pb, Kb)},[],St1}; -expr(#c_opaque{anno=A,val=V}, _, St) -> - {#k_opaque{anno=A,val=V},[],St}. - -%% Implement letrec in the traditional way as a local -%% function for each definition in the letrec. - -letrec_local_function(A, Cfs, Cb, Sub0, St0) -> - %% Make new function names and store substitution. - {Fs0,{Sub1,St1}} = - mapfoldl(fun ({#c_var{name={F,Ar}},B0}, {Sub,S0}) -> - {N,St1} = new_fun_name(atom_to_list(F) - ++ "/" ++ - integer_to_list(Ar), - S0), - B = set_kanno(B0, [{letrec_name,N}]), - {{N,B},{set_fsub(F, Ar, N, Sub),St1}} - end, {Sub0,St0}, Cfs), - %% Run translation on functions and body. - {Fs1,St2} = mapfoldl(fun ({N,Fd0}, S1) -> - {Fd1,[],St2} = expr(Fd0, Sub1, S1), - Fd = set_kanno(Fd1, A), - {{N,Fd},St2} - end, St1, Fs0), - {Kb,Pb,St3} = body(Cb, Sub1, St2), - {Kb,[#iletrec{anno=A,defs=Fs1}|Pb],St3}. - -%% Implement letrec with the single definition as a label and each -%% apply of it as a goto. - -letrec_goto([{#c_var{name={Label,_Arity}},Cfail}], Cb, Sub0, - #kern{labels=Labels0}=St0) -> - #c_fun{vars=FunVars,body=FunBody} = Cfail, - {Kvars,{FunSub,St1}} = - mapfoldl(fun(#c_var{anno=A,name=V}, {SubInt,StInt0}) -> - {New,StInt1} = new_var_name(StInt0), - {#k_var{anno=A,name=New}, - {set_vsub(V, New, SubInt), - StInt1#kern{ds=sets:add_element(New, StInt1#kern.ds)}}} - end, {Sub0,St0}, FunVars), - Labels = sets:add_element(Label, Labels0), - {Kb,Pb,St2} = body(Cb, Sub0, St1#kern{labels=Labels}), - {Kfail,Fb,St3} = body(FunBody, FunSub, St2), - case {Kb,Kfail,Fb} of - {#k_goto{label=Label},#k_goto{}=InnerGoto,[]} -> - {InnerGoto,Pb,St3}; - {_,_,_} -> - St4 = St3#kern{labels=Labels0}, - Alt = #k_letrec_goto{label=Label,vars=Kvars, - first=Kb,then=pre_seq(Fb, Kfail)}, - {Alt,Pb,St4} - end. - -%% translate_match_fail(Arg, Sub, Anno, St) -> {Kexpr,[PreKexpr],State}. -%% Translate match_fail primops, paying extra attention to `function_clause` -%% errors that may have been inlined from other functions. - -translate_match_fail(Arg, Sub, Anno, St0) -> - {Cargs,ExtraAnno,St1} = - case {cerl:data_type(Arg),cerl:data_es(Arg)} of - {tuple,[#c_literal{val=function_clause} | _]=As} -> - translate_fc_args(As, Sub, Anno, St0); - {tuple,[#c_literal{} | _]=As} -> - {As,[],St0}; - {{atomic,Reason}, []} -> - {[#c_literal{val=Reason}],[],St0} - end, - {Kargs,Ap,St} = atomic_list(Cargs, Sub, St1), - Ar = length(Cargs), - Primop = #k_bif{anno=ExtraAnno ++ Anno, - op=#k_internal{name=match_fail,arity=Ar}, - args=Kargs}, - {Primop,Ap,St}. - -translate_fc_args(As, Sub, Anno, #kern{fargs=Fargs}=St0) -> - {ExtraAnno, St} = - case same_args(As, Fargs, Sub) of - true -> - %% The arguments for the `function_clause` exception are - %% the arguments for the current function in the correct - %% order. - {[], St0}; - false -> - %% The arguments in the `function_clause` exception don't - %% match the arguments for the current function because of - %% inlining. - case keyfind(function, 1, Anno) of - false -> - {Name, St1} = new_fun_name("inlined", St0), - {[{inlined,{Name,length(As) - 1}}], St1}; - {_,{Name0,Arity}} -> - %% This is function that has been inlined. - Name1 = ["-inlined-",Name0,"/",Arity,"-"], - Name = list_to_atom(lists:concat(Name1)), - {[{inlined,{Name,Arity}}], St0} - end - end, - {As, ExtraAnno, St}. - -same_args([#c_var{name=Cv}|Vs], [#k_var{name=Kv}|As], Sub) -> - get_vsub(Cv, Sub) =:= Kv andalso same_args(Vs, As, Sub); -same_args([], [], _Sub) -> true; -same_args(_, _, _) -> false. - -expr_map(A,Var0,Ces,Sub,St0) -> - {Var,Mps,St1} = expr(Var0, Sub, St0), - {Km,Eps,St2} = map_split_pairs(A, Var, Ces, Sub, St1), - {Km,Eps++Mps,St2}. - -map_split_pairs(A, Var, Ces, Sub, St0) -> - %% 1. Force variables. - %% 2. Group adjacent pairs with literal keys. - %% 3. Within each such group, remove multiple assignments to the same key. - %% 4. Partition each group according to operator ('=>' and ':='). - Pairs0 = [{Op,K,V} || - #c_map_pair{op=#c_literal{val=Op},key=K,val=V} <- Ces], - {Pairs,Esp,St1} = foldr(fun - ({Op,K0,V0}, {Ops,Espi,Sti0}) when Op =:= assoc; Op =:= exact -> - {K,Eps1,Sti1} = atomic(K0, Sub, Sti0), - {V,Eps2,Sti2} = atomic(V0, Sub, Sti1), - {[{Op,K,V}|Ops],Eps1 ++ Eps2 ++ Espi,Sti2} - end, {[],[],St0}, Pairs0), - map_split_pairs_1(A, Var, Pairs, Esp, St1). - -map_split_pairs_1(A, Map0, [{Op,Key,Val}|Pairs1]=Pairs0, Esp0, St0) -> - {Map1,Em,St1} = force_atomic(Map0, St0), - case Key of - #k_var{} -> - %% Don't combine variable keys with other keys. - Kes = [#k_map_pair{key=Key,val=Val}], - Map = #k_map{anno=A,op=Op,var=Map1,es=Kes}, - map_split_pairs_1(A, Map, Pairs1, Esp0 ++ Em, St1); - _ -> - %% Literal key. Split off all literal keys. - {L,Pairs} = splitwith(fun({_,#k_var{},_}) -> false; - ({_,_,_}) -> true - end, Pairs0), - {Map,Esp,St2} = map_group_pairs(A, Map1, L, Esp0 ++ Em, St1), - map_split_pairs_1(A, Map, Pairs, Esp, St2) - end; -map_split_pairs_1(_, Map, [], Esp, St0) -> - {Map,Esp,St0}. - -map_group_pairs(A, Var, Pairs0, Esp, St0) -> - Pairs = map_remove_dup_keys(Pairs0), - Assoc = [#k_map_pair{key=K,val=V} || {_,{assoc,K,V}} <- Pairs], - Exact = [#k_map_pair{key=K,val=V} || {_,{exact,K,V}} <- Pairs], - case {Assoc,Exact} of - {[_|_],[]} -> - {#k_map{anno=A,op=assoc,var=Var,es=Assoc},Esp,St0}; - {[],[_|_]} -> - {#k_map{anno=A,op=exact,var=Var,es=Exact},Esp,St0}; - {[_|_],[_|_]} -> - Map = #k_map{anno=A,op=assoc,var=Var,es=Assoc}, - {Mvar,Em,St1} = force_atomic(Map, St0), - {#k_map{anno=A,op=exact,var=Mvar,es=Exact},Esp ++ Em,St1} - end. - -map_remove_dup_keys(Es) -> - map_remove_dup_keys(Es, #{}). - -map_remove_dup_keys([{assoc,K0,V}|Es0], Used0) -> - K = map_key_clean(K0), - Op = case Used0 of - #{K:={exact,_,_}} -> exact; - #{} -> assoc - end, - Used1 = Used0#{K=>{Op,K0,V}}, - map_remove_dup_keys(Es0, Used1); -map_remove_dup_keys([{exact,K0,V}|Es0], Used0) -> - K = map_key_clean(K0), - Op = case Used0 of - #{K:={assoc,_,_}} -> assoc; - #{} -> exact - end, - Used1 = Used0#{K=>{Op,K0,V}}, - map_remove_dup_keys(Es0, Used1); -map_remove_dup_keys([], Used) -> - %% We must sort the map entries to ensure consistent - %% order from compilation to compilation. - sort(maps:to_list(Used)). - -%% Clean a map key from annotations. -map_key_clean(#k_var{name=V}) -> {var,V}; -map_key_clean(#k_literal{val=V}) -> {lit,V}. - -%% call_type(Module, Function, Arity) -> call | bif | error. -%% Classify the call. -call_type(#c_literal{val=M}, #c_literal{val=F}, As, St) when is_atom(M), is_atom(F) -> - case is_remote_bif(M, F, As) of - false -> - call; - true -> - %% The guard BIFs min/2 and max/2 were introduced in - %% Erlang/OTP 26. If we are compiling for an earlier - %% version, we must translate them as call instructions. - case {M,F,St#kern.no_min_max_bifs} of - {erlang,min,true} -> call; - {erlang,max,true} -> call; - {_,_,_} -> bif - end - end; -call_type(#c_var{}, #c_literal{val=A}, _, _) when is_atom(A) -> call; -call_type(#c_literal{val=A}, #c_var{}, _, _) when is_atom(A) -> call; -call_type(#c_var{}, #c_var{}, _, _) -> call; -call_type(_, _, _, _) -> error. - -%% match_vars(Kexpr, State) -> {[Kvar],[PreKexpr],State}. -%% Force return from body into a list of variables. - -match_vars(#ivalues{args=As}, St) -> - foldr(fun (Ka, {Vs,Vsp,St0}) -> - {V,Vp,St1} = force_variable(Ka, St0), - {[V|Vs],Vp ++ Vsp,St1} - end, {[],[],St}, As); -match_vars(Ka, St0) -> - {V,Vp,St1} = force_variable(Ka, St0), - {[V],Vp,St1}. - -%% c_apply(A, Op, [Carg], Sub, State) -> {Kexpr,[PreKexpr],State}. -%% Transform application. - -c_apply(A, #c_var{anno=Ra,name={F0,Ar}}, Cargs, Sub, #kern{labels=Labels}=St0) -> - case sets:is_element(F0, Labels) of - true -> - %% This is a goto to a label in a letrec_goto construct. - {Kargs,Ap,St1} = atomic_list(Cargs, Sub, St0), - {#k_goto{label=F0,args=Kargs},Ap,St1}; - false -> - {Kargs,Ap,St1} = atomic_list(Cargs, Sub, St0), - F1 = get_fsub(F0, Ar, Sub), %Has it been rewritten - {#k_call{anno=A,op=#k_local{anno=Ra,name=F1,arity=Ar},args=Kargs}, - Ap,St1} - end; -c_apply(A, Cop, Cargs, Sub, St0) -> - {Kop,Op,St1} = variable(Cop, Sub, St0), - {Kargs,Ap,St2} = atomic_list(Cargs, Sub, St1), - {#k_call{anno=A,op=Kop,args=Kargs},Op ++ Ap,St2}. - -flatten_seq(#iset{anno=A,vars=Vs,arg=Arg,body=B}) -> - [#iset{anno=A,vars=Vs,arg=Arg}|flatten_seq(B)]; -flatten_seq(Ke) -> [Ke]. - -pre_seq([#iset{anno=A,vars=Vs,arg=Arg,body=B}|Ps], K) -> - B = undefined, %Assertion. - #iset{anno=A,vars=Vs,arg=Arg,body=pre_seq(Ps, K)}; -pre_seq([P|Ps], K) -> - #iset{vars=[],arg=P,body=pre_seq(Ps, K)}; -pre_seq([], K) -> K. - -%% atomic(Cexpr, Sub, State) -> {Katomic,[PreKexpr],State}. -%% Convert a Core expression making sure the result is an atomic -%% literal. - -atomic(Ce, Sub, St0) -> - {Ke,Kp,St1} = expr(Ce, Sub, St0), - {Ka,Ap,St2} = force_atomic(Ke, St1), - {Ka,Kp ++ Ap,St2}. - -force_atomic(Ke, St0) -> - case is_atomic(Ke) of - true -> {Ke,[],St0}; - false -> - {V,St1} = new_var(St0), - {V,[#iset{vars=[V],arg=Ke}],St1} - end. - -atomic_bin([#c_bitstr{anno=A,val=E0,size=S0,unit=U0,type=T,flags=Fs0}|Es0], - Sub, St0) -> - {E,Ap1,St1} = atomic(E0, Sub, St0), - {S1,Ap2,St2} = atomic(S0, Sub, St1), - validate_bin_element_size(S1, A), - U1 = cerl:concrete(U0), - Fs1 = cerl:concrete(Fs0), - {Es,Ap3,St3} = atomic_bin(Es0, Sub, St2), - {#k_bin_seg{anno=A,size=S1, - unit=U1, - type=cerl:concrete(T), - flags=Fs1, - seg=E,next=Es}, - Ap1++Ap2++Ap3,St3}; -atomic_bin([], _Sub, St) -> {#k_bin_end{},[],St}. - -validate_bin_element_size(#k_var{}, _Anno) -> ok; -validate_bin_element_size(#k_literal{val=Val}, Anno) -> - case Val of - all -> ok; - undefined -> ok; - _ when is_integer(Val), Val >= 0 -> ok; - _ -> throw({bad_segment_size,get_location(Anno)}) - end. - -%% atomic_list([Cexpr], Sub, State) -> {[Kexpr],[PreKexpr],State}. - -atomic_list(Ces, Sub, St) -> - foldr(fun (Ce, {Kes,Esp,St0}) -> - {Ke,Ep,St1} = atomic(Ce, Sub, St0), - {[Ke|Kes],Ep ++ Esp,St1} - end, {[],[],St}, Ces). - -%% is_atomic(Kexpr) -> boolean(). -%% Is a Kexpr atomic? - -is_atomic(#k_literal{}) -> true; -is_atomic(#k_var{}) -> true; -%%is_atomic(#k_char{}) -> true; %No characters -is_atomic(_) -> false. - -%% variable(Cexpr, Sub, State) -> {Kvar,[PreKexpr],State}. -%% Convert a Core expression making sure the result is a variable. - -variable(Ce, Sub, St0) -> - {Ke,Kp,St1} = expr(Ce, Sub, St0), - {Kv,Vp,St2} = force_variable(Ke, St1), - {Kv,Kp ++ Vp,St2}. - -force_variable(#k_var{}=Ke, St) -> {Ke,[],St}; -force_variable(Ke, St0) -> - {V,St1} = new_var(St0), - {V,[#iset{vars=[V],arg=Ke}],St1}. - -%% pattern(Cpat, Isub, Osub, State) -> {Kpat,Sub,State}. -%% Convert patterns. Variables shadow so rename variables that are -%% already defined. -%% -%% Patterns are complicated by sizes in binaries. These are pure -%% input variables which create no bindings. We, therefore, need to -%% carry around the original substitutions to get the correct -%% handling. - -pattern(#c_var{anno=A,name=V}, _Isub, Osub, St0) -> - case sets:is_element(V, St0#kern.ds) of - true -> - {New,St1} = new_var_name(St0), - {#k_var{anno=A,name=New}, - set_vsub(V, New, Osub), - St1#kern{ds=sets:add_element(New, St1#kern.ds)}}; - false -> - {#k_var{anno=A,name=V},Osub, - St0#kern{ds=sets:add_element(V, St0#kern.ds)}} - end; -pattern(#c_literal{anno=A,val=Val}, _Isub, Osub, St) -> - {#k_literal{anno=A,val=Val},Osub,St}; -pattern(#c_cons{anno=A,hd=Ch,tl=Ct}, Isub, Osub0, St0) -> - {Kh,Osub1,St1} = pattern(Ch, Isub, Osub0, St0), - {Kt,Osub2,St2} = pattern(Ct, Isub, Osub1, St1), - {#k_cons{anno=A,hd=Kh,tl=Kt},Osub2,St2}; -pattern(#c_tuple{anno=A,es=Ces}, Isub, Osub0, St0) -> - {Kes,Osub1,St1} = pattern_list(Ces, Isub, Osub0, St0), - {#k_tuple{anno=A,es=Kes},Osub1,St1}; -pattern(#c_map{anno=A,es=Ces}, Isub, Osub0, St0) -> - {Kes,Osub1,St1} = pattern_map_pairs(Ces, Isub, Osub0, St0), - {#k_map{anno=A,op=exact,es=Kes},Osub1,St1}; -pattern(#c_binary{anno=A,segments=Cv}, Isub, Osub0, St0) -> - {Kv,Osub1,St1} = pattern_bin(Cv, Isub, Osub0, St0), - {#k_binary{anno=A,segs=Kv},Osub1,St1}; -pattern(#c_alias{anno=A,var=Cv,pat=Cp}, Isub, Osub0, St0) -> - {Cvs,Cpat} = flatten_alias(Cp), - {Kvs,Osub1,St1} = pattern_list([Cv|Cvs], Isub, Osub0, St0), - {Kpat,Osub2,St2} = pattern(Cpat, Isub, Osub1, St1), - {#ialias{anno=A,vars=Kvs,pat=Kpat},Osub2,St2}. - -flatten_alias(#c_alias{var=V,pat=P}) -> - {Vs,Pat} = flatten_alias(P), - {[V|Vs],Pat}; -flatten_alias(Pat) -> {[],Pat}. - -pattern_map_pairs(Ces0, Isub, Osub0, St0) -> - %% pattern the pair keys and values as normal - {Kes,{Osub1,St1}} = mapfoldl(fun - (#c_map_pair{anno=A,key=Ck,val=Cv},{Osubi0,Sti0}) -> - {Kk,[],Sti1} = expr(Ck, Isub, Sti0), - {Kv,Osubi2,Sti2} = pattern(Cv, Isub, Osubi0, Sti1), - {#k_map_pair{anno=A,key=Kk,val=Kv},{Osubi2,Sti2}} - end, {Osub0, St0}, Ces0), - %% It is later assumed that these keys are term sorted - %% so we need to sort them here - Kes1 = sort(fun - (#k_map_pair{key=KkA},#k_map_pair{key=KkB}) -> - A = map_key_clean(KkA), - B = map_key_clean(KkB), - erts_internal:cmp_term(A,B) < 0 - end, Kes), - {Kes1,Osub1,St1}. - -pattern_bin(Es, Isub, Osub0, St) -> - pattern_bin_1(Es, Isub, Osub0, St). - -pattern_bin_1([#c_bitstr{anno=A,val=E0,size=S0,unit=U0,type=T,flags=Fs0}|Es0], - Isub, Osub0, St0) -> - {S1,[],St1} = expr(S0, Isub, St0), - S = case S1 of - #k_var{} -> S1; - #k_literal{val=Val} when is_integer(Val); is_atom(Val) -> S1; - _ -> - %% Bad size (coming from an optimization or Core Erlang - %% source code) - replace it with a known atom because - %% a literal or bit syntax construction can cause further - %% problems. - #k_literal{val=bad_size} - end, - U = cerl:concrete(U0), - Fs = cerl:concrete(Fs0), - {E,Osub1,St2} = pattern(E0, Isub, Osub0, St1), - {Es,Osub,St3} = pattern_bin_1(Es0, Isub, Osub1, St2), - {build_bin_seg(A, S, U, cerl:concrete(T), Fs, E, Es),Osub,St3}; -pattern_bin_1([], _Isub, Osub, St) -> - {#k_bin_end{},Osub,St}. - -%% build_bin_seg(Anno, Size, Unit, Type, Flags, Seg, Next) -> #k_bin_seg{}. -%% This function normalizes literal integers with size > 8 and literal -%% utf8 segments into integers with size = 8 (and potentially an integer -%% with size less than 8 at the end). This is so further optimizations -%% have a normalized view of literal integers, allowing us to generate -%% more literals and group more clauses. Those integers may be "squeezed" -%% later into the largest integer possible. -%% -build_bin_seg(A, #k_literal{val=Bits} = Sz, U, integer=Type, - [unsigned,big]=Flags, #k_literal{val=Int}=Seg, Next) when is_integer(Bits) -> - Size = Bits * U, - case integer_fits_and_is_expandable(Int, Size) of - true -> build_bin_seg_integer_recur(A, Size, Int, Next); - false -> #k_bin_seg{anno=A,size=Sz,unit=U,type=Type,flags=Flags,seg=Seg,next=Next} - end; -build_bin_seg(A, Sz, U, utf8=Type, [unsigned,big]=Flags, #k_literal{val=Utf8} = Seg, Next) -> - case utf8_fits(Utf8) of - {Int, Bits} -> build_bin_seg_integer_recur(A, Bits, Int, Next); - error -> #k_bin_seg{anno=A,size=Sz,unit=U,type=Type,flags=Flags,seg=Seg,next=Next} - end; -build_bin_seg(A, Sz, U, Type, Flags, Seg, Next) -> - #k_bin_seg{anno=A,size=Sz,unit=U,type=Type,flags=Flags,seg=Seg,next=Next}. - -build_bin_seg_integer_recur(A, Bits, Val, Next) when Bits > 8 -> - NextBits = Bits - 8, - NextVal = Val band ((1 bsl NextBits) - 1), - Last = build_bin_seg_integer_recur(A, NextBits, NextVal, Next), - build_bin_seg_integer(A, 8, Val bsr NextBits, Last); - -build_bin_seg_integer_recur(A, Bits, Val, Next) -> - build_bin_seg_integer(A, Bits, Val, Next). - -build_bin_seg_integer(A, Bits, Val, Next) -> - Sz = #k_literal{anno=A,val=Bits}, - Seg = #k_literal{anno=A,val=Val}, - #k_bin_seg{anno=A,size=Sz,unit=1,type=integer,flags=[unsigned,big],seg=Seg,next=Next}. - -integer_fits_and_is_expandable(Int, Size) when is_integer(Int), is_integer(Size), - 0 < Size, Size =< ?EXPAND_MAX_SIZE_SEGMENT -> - case <> of - <> -> true; - _ -> false - end; -integer_fits_and_is_expandable(_Int, _Size) -> - false. - -utf8_fits(Utf8) -> - try - Bin = <>, - Bits = bit_size(Bin), - <> = Bin, - {Int, Bits} - catch - _:_ -> error - end. - -%% pattern_list([Cexpr], Sub, State) -> {[Kexpr],Sub,State}. - -pattern_list(Ces, Sub, St) -> - pattern_list(Ces, Sub, Sub, St). - -pattern_list(Ces, Isub, Osub, St) -> - foldr(fun (Ce, {Kes,Osub0,St0}) -> - {Ke,Osub1,St1} = pattern(Ce, Isub, Osub0, St0), - {[Ke|Kes],Osub1,St1} - end, {[],Osub,St}, Ces). - -%% new_sub() -> Subs. -%% set_vsub(Name, Sub, Subs) -> Subs. -%% subst_vsub(Name, Sub, Subs) -> Subs. -%% get_vsub(Name, Subs) -> SubName. -%% Add/get substitute Sub for Name to VarSub. -%% -%% We're using a many-to-one bimap so we can rename all references to a -%% variable without having to scan through all of them, which can cause -%% compile times to explode (see record_SUITE:slow_compilation/1). - -new_sub() -> {#{}, #{}}. - -get_vsub(Key, Subs) -> - bimap_get(Key, Subs, Key). - -get_fsub(Name, Arity, Subs) -> - bimap_get({Name, Arity}, Subs, Name). - -set_vsub(Same, Same, Subs) -> - Subs; -set_vsub(Key, Val, Subs) -> - bimap_set(Key, Val, Subs). - -set_fsub(Name, Arity, Val, Subs) -> - set_vsub({Name, Arity}, Val, Subs). - -subst_vsub(Key, Val, Subs) -> - bimap_rename(Key, Val, Subs). - -bimap_get(Key, {Map, _InvMap}, Default) -> - case Map of - #{ Key := Val } -> Val; - _ -> Default - end. - -%% Maps Key to Val without touching existing references to Key. -bimap_set(Key, Val, {Map0, InvMap0}) -> - InvMap = bm_update_inv_lookup(Key, Val, Map0, InvMap0), - Map = Map0#{ Key => Val }, - {Map, InvMap}. - -bm_update_inv_lookup(Key, Val, Map, InvMap0) -> - InvMap = bm_cleanup_inv_lookup(Key, Map, InvMap0), - case InvMap of - #{ Val := Keys } -> - %% Other keys map to the same value, add ours to the set. - InvMap#{ Val := ordsets:add_element(Key, Keys) }; - #{} -> - InvMap#{ Val => [Key] } - end. - -bm_cleanup_inv_lookup(Key, Map, InvMap) when is_map_key(Key, Map) -> - #{ Key := Old } = Map, - case InvMap of - #{ Old := [Key] } -> - maps:remove(Old, InvMap); - #{ Old := [_|_]=Keys } -> - InvMap#{ Old := ordsets:del_element(Key, Keys) } - end; -bm_cleanup_inv_lookup(_Key, _Map, InvMap) -> - InvMap. - -%% Maps Key to Val, and replaces all existing references to Key with Val. -bimap_rename(Key, Val, {Map0, InvMap0}) when is_map_key(Key, InvMap0) -> - Keys = map_get(Key, InvMap0), - - Map1 = Map0#{ Key => Val }, - Map = bimap_update_lookup(Keys, Val, Map1), - - InvMap1 = maps:remove(Key, InvMap0), - InvMap = InvMap1#{ Val => ordsets:add_element(Key, Keys) }, - - {Map, InvMap}; -bimap_rename(Key, Val, Subs) -> - bimap_set(Key, Val, Subs). - -bimap_update_lookup([Key | Keys], Val, Map) -> - bimap_update_lookup(Keys, Val, Map#{ Key := Val }); -bimap_update_lookup([], _Val, Map) -> - Map. - -new_fun_name(St) -> - new_fun_name("anonymous", St). - -%% new_fun_name(Type, State) -> {FunName,State}. - -new_fun_name(Type, #kern{func={F,Arity},fcount=C}=St) -> - Name = "-" ++ atom_to_list(F) ++ "/" ++ integer_to_list(Arity) ++ - "-" ++ Type ++ "-" ++ integer_to_list(C) ++ "-", - {list_to_atom(Name),St#kern{fcount=C+1}}. - -%% new_var_name(State) -> {VarName,State}. - -new_var_name(#kern{vcount=C}=St) -> - {C,St#kern{vcount=C+1}}. - -%% new_var(State) -> {#k_var{},State}. - -new_var(St0) -> - {New,St1} = new_var_name(St0), - {#k_var{name=New},St1}. - -%% new_vars(Count, State) -> {[#k_var{}],State}. -%% Make Count new variables. - -new_vars(N, St) -> new_vars(N, St, []). - -new_vars(N, St0, Vs) when N > 0 -> - {V,St1} = new_var(St0), - new_vars(N-1, St1, [V|Vs]); -new_vars(0, St, Vs) -> {Vs,St}. - -make_vars(Vs) -> [ #k_var{name=V} || V <- Vs ]. - -%% is_remote_bif(Mod, Name, Arity) -> true | false. -%% Test if function is really a BIF. - -is_remote_bif(erlang, get, [_]) -> true; -is_remote_bif(erlang, is_record, [_,Tag,Sz]) -> - case {Tag,Sz} of - {#c_literal{val=Atom},#c_literal{val=Int}} - when is_atom(Atom), is_integer(Int) -> - %% Tag and size are literals. This is a guard BIF. - true; - {_,_} -> - false - end; -is_remote_bif(erlang, N, As) -> - Arity = length(As), - case erl_internal:guard_bif(N, Arity) of - true -> true; - false -> - try erl_internal:op_type(N, Arity) of - arith -> true; - bool -> true; - comp -> true; - list -> false; - send -> false - catch - _:_ -> false % not an op - end - end; -is_remote_bif(_, _, _) -> false. - -%% bif_vals(Name, Arity) -> integer(). -%% bif_vals(Mod, Name, Arity) -> integer(). -%% Determine how many return values a BIF has. Provision for BIFs to -%% return multiple values. Only used in bodies where a BIF may be -%% called for effect only. - -bif_vals(recv_peek_message, 0) -> 2; -bif_vals(_, _) -> 1. - -bif_vals(_, _, _) -> 1. - -%% foldr2(Fun, Acc, List1, List2) -> Acc. -%% Fold over two lists. - -foldr2(Fun, Acc0, [E1|L1], [E2|L2]) -> - Acc1 = Fun(E1, E2, Acc0), - foldr2(Fun, Acc1, L1, L2); -foldr2(_, Acc, [], []) -> Acc. - -%% This code implements the algorithm for an optimizing compiler for -%% pattern matching given "The Implementation of Functional -%% Programming Languages" by Simon Peyton Jones. The code is much -%% longer as the meaning of constructors is different from the book. -%% -%% In Erlang many constructors can have different values, e.g. 'atom' -%% or 'integer', whereas in the original algorithm thse would be -%% different constructors. Our view makes it easier in later passes to -%% handle indexing over each type. -%% -%% Patterns are complicated by having alias variables. The form of a -%% pattern is Pat | {alias,Pat,[AliasVar]}. This is hidden by access -%% functions to pattern arguments but the code must be aware of it. -%% -%% The compilation proceeds in two steps: -%% -%% 1. The patterns in the clauses to converted to lists of kernel -%% patterns. The Core clause is now hybrid, this is easier to work -%% with. Remove clauses with trivially false guards, this simplifies -%% later passes. Add locally defined vars and variable subs to each -%% clause for later use. -%% -%% 2. The pattern matching is optimised. Variable substitutions are -%% added to the VarSub structure and new variables are made visible. -%% The guard and body are then converted to Kernel form. - -%% kmatch([Var], [Clause], Sub, State) -> {Kexpr,State}. - -kmatch(Us, Ccs, Sub, St0) -> - {Cs,St1} = match_pre(Ccs, Sub, St0), %Convert clauses - Def = fail, - match(Us, Cs, Def, St1). %Do the match. - -%% match_pre([Cclause], Sub, State) -> {[Clause],State}. -%% Must be careful not to generate new substitutions here now! -%% Remove clauses with trivially false guards which will never -%% succeed. - -match_pre(Cs, Sub0, St) -> - foldr(fun (#c_clause{anno=A,pats=Ps,guard=G,body=B}, {Cs0,St0}) -> - {Kps,Osub1,St1} = pattern_list(Ps, Sub0, St0), - {[#iclause{anno=A,isub=Sub0,osub=Osub1, - pats=Kps,guard=G,body=B}| - Cs0],St1} - end, {[],St}, Cs). - -%% match([Var], [Clause], Default, State) -> {MatchExpr,State}. - -match([_U|_Us] = L, Cs, Def, St0) -> - %%ok = io:format("match ~p~n", [Cs]), - Pcss = partition(Cs), - foldr(fun (Pcs, {D,St}) -> match_varcon(L, Pcs, D, St) end, - {Def,St0}, Pcss); -match([], Cs, Def, St) -> - match_guard(Cs, Def, St). - -%% match_guard([Clause], Default, State) -> {IfExpr,State}. -%% Build a guard to handle guards. A guard *ALWAYS* fails if no -%% clause matches, there will be a surrounding 'alt' to catch the -%% failure. Drop redundant cases, i.e. those after a true guard. - -match_guard(Cs0, Def0, St0) -> - {Cs1,Def1,St1} = match_guard_1(Cs0, Def0, St0), - {build_alt(build_guard(Cs1), Def1),St1}. - -match_guard_1([#iclause{anno=A,osub=Osub,guard=G,body=B}|Cs0], Def0, St0) -> - case is_true_guard(G) of - true -> - %% The true clause body becomes the default. - {Kb,Pb,St1} = body(B, Osub, St0), - St2 = maybe_add_warning(Cs0, A, St1), - St = maybe_add_warning(Def0, A, St2), - {[],pre_seq(Pb, Kb),St}; - false -> - {Kg,St1} = guard(G, Osub, St0), - {Kb,Pb,St2} = body(B, Osub, St1), - {Cs1,Def1,St3} = match_guard_1(Cs0, Def0, St2), - {[#k_guard_clause{guard=Kg,body=pre_seq(Pb, Kb)}|Cs1], - Def1,St3} - end; -match_guard_1([], Def, St) -> {[],Def,St}. - -maybe_add_warning([C|_], MatchAnno, St) -> - maybe_add_warning(C, MatchAnno, St); -maybe_add_warning([], _MatchAnno, St) -> St; -maybe_add_warning(fail, _MatchAnno, St) -> St; -maybe_add_warning(Ke, MatchAnno, St) -> - case is_compiler_generated(Ke) of - true -> - St; - false -> - Anno = get_kanno(Ke), - Line = get_location(Anno), - MatchLine = get_line(MatchAnno), - Warn = case MatchLine of - none -> {nomatch,shadow}; - _ -> {nomatch,{shadow,MatchLine}} - end, - add_warning(Line, Warn, Anno, St) - end. - -get_location([Line|_]) when is_integer(Line) -> - Line; -get_location([{Line, Column} | _T]) when is_integer(Line), is_integer(Column) -> - {Line,Column}; -get_location([_|T]) -> - get_location(T); -get_location([]) -> - none. - -get_line([Line|_]) when is_integer(Line) -> Line; -get_line([{Line, _Column} | _T]) when is_integer(Line) -> Line; -get_line([_|T]) -> get_line(T); -get_line([]) -> none. - -get_file([{file,File}|_]) -> File; -get_file([_|T]) -> get_file(T); -get_file([]) -> "no_file". % should not happen - -%% is_true_guard(Guard) -> boolean(). -%% Test if a guard is trivially true. - -is_true_guard(#c_literal{val=true}) -> true; -is_true_guard(_) -> false. - -%% partition([Clause]) -> [[Clause]]. -%% Partition a list of clauses into groups which either contain -%% clauses with a variable first argument, or with a "constructor". - -partition([C1|Cs]) -> - V1 = is_var_clause(C1), - {More,Rest} = splitwith(fun (C) -> is_var_clause(C) =:= V1 end, Cs), - [[C1|More]|partition(Rest)]; -partition([]) -> []. - -%% match_varcon([Var], [Clause], Def, [Var], Sub, State) -> -%% {MatchExpr,State}. - -match_varcon(Us, [C|_]=Cs, Def, St) -> - case is_var_clause(C) of - true -> match_var(Us, Cs, Def, St); - false -> match_con(Us, Cs, Def, St) - end. - -%% match_var([Var], [Clause], Def, State) -> {MatchExpr,State}. -%% Build a call to "select" from a list of clauses all containing a -%% variable as the first argument. We must rename the variable in -%% each clause to be the match variable as these clause will share -%% this variable and may have different names for it. Rename aliases -%% as well. - -match_var([U|Us], Cs0, Def, St) -> - Cs1 = map(fun (#iclause{isub=Isub0,osub=Osub0,pats=[Arg|As]}=C) -> - Vs = [arg_arg(Arg)|arg_alias(Arg)], - Osub1 = foldl(fun (#k_var{name=V}, Acc) -> - subst_vsub(V, U#k_var.name, Acc) - end, Osub0, Vs), - Isub1 = foldl(fun (#k_var{name=V}, Acc) -> - subst_vsub(V, U#k_var.name, Acc) - end, Isub0, Vs), - C#iclause{isub=Isub1,osub=Osub1,pats=As} - end, Cs0), - match(Us, Cs1, Def, St). - -%% match_con(Variables, [Clause], Default, State) -> {SelectExpr,State}. -%% Build call to "select" from a list of clauses all containing a -%% constructor/constant as first argument. Group the constructors -%% according to type, the order is really irrelevant but tries to be -%% smart. -match_con([U|_Us] = L, Cs, Def, St0) -> - %% Extract clauses for different constructors (types). - %%ok = io:format("match_con ~p~n", [Cs]), - Ttcs0 = select_types(Cs, [], [], [], [], [], [], [], [], []), - Ttcs1 = [{T, Types} || {T, [_ | _] = Types} <- Ttcs0], - Ttcs = opt_single_valued(Ttcs1), - %%ok = io:format("ttcs = ~p~n", [Ttcs]), - {Scs,St1} = - mapfoldl(fun ({T,Tcs}, St) -> - {[S|_]=Sc,S1} = match_value(L, T, Tcs, fail, St), - %%ok = io:format("match_con type2 ~p~n", [T]), - Anno = get_kanno(S), - {#k_type_clause{anno=Anno,type=T,values=Sc},S1} end, - St0, Ttcs), - {build_alt_1st_no_fail(build_select(U, Scs), Def),St1}. - -select_types([NoExpC | Cs], Bin, BinCon, Cons, Tuple, Map, Atom, Float, Int, Nil) -> - C = expand_pat_lit_clause(NoExpC), - case clause_con(C) of - k_binary -> - select_types(Cs, [C |Bin], BinCon, Cons, Tuple, Map, Atom, Float, Int, Nil); - k_bin_seg -> - select_types(Cs, Bin, [C | BinCon], Cons, Tuple, Map, Atom, Float, Int, Nil); - k_bin_end -> - select_types(Cs, Bin, [C | BinCon], Cons, Tuple, Map, Atom, Float, Int, Nil); - k_cons -> - select_types(Cs, Bin, BinCon, [C | Cons], Tuple, Map, Atom, Float, Int, Nil); - k_tuple -> - select_types(Cs, Bin, BinCon, Cons, [C | Tuple], Map, Atom, Float, Int, Nil); - k_map -> - select_types(Cs, Bin, BinCon, Cons, Tuple, [C | Map], Atom, Float, Int, Nil); - k_atom -> - select_types(Cs, Bin, BinCon, Cons, Tuple, Map, [C | Atom], Float, Int, Nil); - k_float -> - select_types(Cs, Bin, BinCon, Cons, Tuple, Map, Atom, [C | Float], Int, Nil); - k_int -> - select_types(Cs, Bin, BinCon, Cons, Tuple, Map, Atom, Float, [C | Int], Nil); - k_nil -> - select_types(Cs, Bin, BinCon, Cons, Tuple, Map, Atom, Float, Int, [C | Nil]) - end; -select_types([], Bin, BinCon, Cons, Tuple, Map, Atom, Float, Int, Nil) -> - [{k_binary, reverse(Bin)}] ++ handle_bin_con(reverse(BinCon)) ++ - [ - {k_cons, reverse(Cons)}, - {k_tuple, reverse(Tuple)}, - {k_map, reverse(Map)}, - {k_atom, reverse(Atom)}, - {k_float, reverse(Float)}, - {k_int, reverse(Int)}, - {k_nil, reverse(Nil)} - ]. - -expand_pat_lit_clause(#iclause{pats=[#ialias{pat=#k_literal{anno=A,val=Val}}=Alias|Ps]}=C) -> - P = expand_pat_lit(Val, A), - C#iclause{pats=[Alias#ialias{pat=P}|Ps]}; -expand_pat_lit_clause(#iclause{pats=[#k_literal{anno=A,val=Val}|Ps]}=C) -> - P = expand_pat_lit(Val, A), - C#iclause{pats=[P|Ps]}; -expand_pat_lit_clause(C) -> C. - -expand_pat_lit([H|T], A) -> - #k_cons{anno=A,hd=#k_literal{anno=A,val=H},tl=#k_literal{anno=A,val=T}}; -expand_pat_lit(Tuple, A) when is_tuple(Tuple) -> - #k_tuple{anno=A,es=[#k_literal{anno=A,val=E} || E <- tuple_to_list(Tuple)]}; -expand_pat_lit(Lit, A) -> - #k_literal{anno=A,val=Lit}. - -%% opt_singled_valued([{Type,Clauses}]) -> [{Type,Clauses}]. -%% If a type only has one clause and if the pattern is a complex -%% literal, the matching can be done more efficiently by directly -%% comparing with the literal (that is especially true for binaries). -%% -%% It is important not to do this transformation for atomic literals -%% (such as `[]`), since that would cause the test for an empty list -%% to be executed before the test for a nonempty list. - -opt_single_valued(Ttcs) -> - opt_single_valued(Ttcs, [], []). - -opt_single_valued([{_,[#iclause{pats=[#k_literal{}|_]}]}=Ttc|Ttcs], TtcAcc, LitAcc) -> - %% This is an atomic literal. - opt_single_valued(Ttcs, [Ttc|TtcAcc], LitAcc); -opt_single_valued([{_,[#iclause{pats=[P0|Ps]}=Tc]}=Ttc|Ttcs], TtcAcc, LitAcc) -> - try combine_lit_pat(P0) of - P -> - LitTtc = Tc#iclause{pats=[P|Ps]}, - opt_single_valued(Ttcs, TtcAcc, [LitTtc|LitAcc]) - catch - not_possible -> - opt_single_valued(Ttcs, [Ttc|TtcAcc], LitAcc) - end; -opt_single_valued([Ttc|Ttcs], TtcAcc, LitAcc) -> - opt_single_valued(Ttcs, [Ttc|TtcAcc], LitAcc); -opt_single_valued([], TtcAcc, []) -> - reverse(TtcAcc); -opt_single_valued([], TtcAcc, LitAcc) -> - Literals = {k_literal,reverse(LitAcc)}, - %% Test the literals as early as possible. - case reverse(TtcAcc) of - [{k_binary,_}=Bin|Ttcs] -> - %% The delayed creation of sub binaries requires - %% bs_start_match2 to be the first instruction in the - %% function. - [Bin,Literals|Ttcs]; - Ttcs -> - [Literals|Ttcs] - end. - -combine_lit_pat(#ialias{pat=Pat0}=Alias) -> - Pat = combine_lit_pat(Pat0), - Alias#ialias{pat=Pat}; -combine_lit_pat(#k_literal{}) -> - %% This is an atomic literal. Rewriting would be a pessimization, - %% especially for `[]`. - throw(not_possible); -combine_lit_pat(Pat) -> - do_combine_lit_pat(Pat). - -do_combine_lit_pat(#k_binary{anno=A,segs=Segs}) -> - Bin = combine_bin_segs(Segs), - #k_literal{anno=A,val=Bin}; -do_combine_lit_pat(#k_cons{anno=A,hd=Hd0,tl=Tl0}) -> - #k_literal{val=Hd} = do_combine_lit_pat(Hd0), - #k_literal{val=Tl} = do_combine_lit_pat(Tl0), - #k_literal{anno=A,val=[Hd|Tl]}; -do_combine_lit_pat(#k_literal{}=Lit) -> - Lit; -do_combine_lit_pat(#k_tuple{anno=A,es=Es0}) -> - Es = [begin - #k_literal{val=Lit} = do_combine_lit_pat(El), - Lit - end || El <- Es0], - #k_literal{anno=A,val=list_to_tuple(Es)}; -do_combine_lit_pat(_) -> - throw(not_possible). - -combine_bin_segs(#k_bin_seg{size=#k_literal{val=8},unit=1,type=integer, - flags=[unsigned,big],seg=#k_literal{val=Int},next=Next}) - when is_integer(Int), 0 =< Int, Int =< 255 -> - <>; -combine_bin_segs(#k_bin_end{}) -> - <<>>; -combine_bin_segs(_) -> - throw(not_possible). - -%% handle_bin_con([Clause]) -> [{Type,[Clause]}]. -%% Handle clauses for the k_bin_seg constructor. As k_bin_seg -%% matching can overlap, the k_bin_seg constructors cannot be -%% reordered, only grouped. - -handle_bin_con(Cs) -> - try - %% The usual way to match literals is to first extract the - %% value to a register, and then compare the register to the - %% literal value. Extracting the value is good if we need - %% compare it more than once. - %% - %% But we would like to combine the extracting and the - %% comparing into a single instruction if we know that - %% a binary segment must contain specific integer value - %% or the matching will fail, like in this example: - %% - %% <<42:8,...>> -> - %% <<42:8,...>> -> - %% . - %% . - %% . - %% <<42:8,...>> -> - %% <<>> -> - %% - %% The first segment must either contain the integer 42 - %% or the binary must end for the match to succeed. - %% - %% The way we do is to replace the generic #k_bin_seg{} - %% record with a #k_bin_int{} record if all clauses will - %% select the same literal integer (except for one or more - %% clauses that will end the binary). - - {BinSegs0,BinEnd} = - partition(fun (C) -> - clause_con(C) =:= k_bin_seg - end, Cs), - BinSegs = select_bin_int(BinSegs0), - case BinEnd of - [] -> BinSegs; - [_|_] -> BinSegs ++ [{k_bin_end,BinEnd}] - end - catch - throw:not_possible -> - handle_bin_con_not_possible(Cs) - end. - -handle_bin_con_not_possible([C1|Cs]) -> - Con = clause_con(C1), - {More,Rest} = splitwith(fun (C) -> clause_con(C) =:= Con end, Cs), - [{Con,[C1|More]}|handle_bin_con_not_possible(Rest)]; -handle_bin_con_not_possible([]) -> []. - -%% select_bin_int([Clause]) -> {k_bin_int,[Clause]} -%% If the first pattern in each clause selects the same integer, -%% rewrite all clauses to use #k_bin_int{} (which will later be -%% translated to a bs_match_string/4 instruction). -%% -%% If it is not possible to do this rewrite, a 'not_possible' -%% exception is thrown. - -select_bin_int([#iclause{pats=[#k_bin_seg{anno=A,type=integer, - size=#k_literal{val=Bits0}=Sz,unit=U, - flags=Fl,seg=#k_literal{val=Val}, - next=N}|Ps]}=C|Cs0]) when is_integer(Bits0) -> - Bits = U * Bits0, - if - Bits > ?EXPAND_MAX_SIZE_SEGMENT -> throw(not_possible); %Expands the code too much. - true -> ok - end, - select_assert_match_possible(Bits, Val, Fl), - P = #k_bin_int{anno=A,size=Sz,unit=U,flags=Fl,val=Val,next=N}, - case member(native, Fl) of - true -> throw(not_possible); - false -> ok - end, - Cs1 = [C#iclause{pats=[P|Ps]}|select_bin_int_1(Cs0, Bits, Fl, Val)], - Cs = reorder_bin_ints(Cs1), - [{k_bin_int,Cs}]; -select_bin_int(_) -> throw(not_possible). - -select_bin_int_1([#iclause{pats=[#k_bin_seg{anno=A,type=integer, - size=#k_literal{val=Bits0}=Sz, - unit=U, - flags=Fl,seg=#k_literal{val=Val}, - next=N}|Ps]}=C|Cs], - Bits, Fl, Val) when is_integer(Val) -> - if - Bits0*U =:= Bits -> ok; - true -> throw(not_possible) - end, - P = #k_bin_int{anno=A,size=Sz,unit=U,flags=Fl,val=Val,next=N}, - [C#iclause{pats=[P|Ps]}|select_bin_int_1(Cs, Bits, Fl, Val)]; -select_bin_int_1([], _, _, _) -> []; -select_bin_int_1(_, _, _, _) -> throw(not_possible). - -select_assert_match_possible(Sz, Val, Fs) - when is_integer(Sz), Sz >= 0, is_integer(Val) -> - EmptyBindings = erl_eval:new_bindings(), - MatchFun = match_fun(Val), - EvalFun = fun({integer,_,S}, B) -> {value,S,B} end, - Expr = [{bin_element,0,{integer,0,Val},{integer,0,Sz},[{unit,1}|Fs]}], - {value,Bin,EmptyBindings} = eval_bits:expr_grp(Expr, EmptyBindings, EvalFun), - try - {match,_} = eval_bits:match_bits(Expr, Bin, - EmptyBindings, - EmptyBindings, - MatchFun, EvalFun), - ok % this is just an assertion (i.e., no return value) - catch - throw:nomatch -> - throw(not_possible) - end; -select_assert_match_possible(_, _, _) -> - throw(not_possible). - -match_fun(Val) -> - fun(match, {{integer,_,_},NewV,Bs}) when NewV =:= Val -> - {match,Bs} - end. - -reorder_bin_ints([_]=Cs) -> - Cs; -reorder_bin_ints(Cs0) -> - %% It is safe to reorder clauses that matches binaries if the - %% first segments for all of them match the same number of bits - %% and if the patterns that follow are also safe to re-order. - try - Cs = sort([{reorder_bin_int_sort_key(C),C} || C <- Cs0]), - [C || {_,C} <- Cs] - catch - throw:not_possible -> - Cs0 - end. - -reorder_bin_int_sort_key(#iclause{pats=[Pats|More],guard=#c_literal{val=true}}) -> - case all(fun(#k_var{}) -> true; - (_) -> false - end, More) of - true -> - %% Only variables. Safe to re-order. - ok; - false -> - %% Not safe to re-order. For example: - %% f([<<"prefix">>, <<"action">>]) -> ... - %% f([<<"prefix">>, Variable]) -> ... - throw(not_possible) - end, - case Pats of - #k_bin_int{val=Val,next=#k_bin_end{}} -> - %% Sort before clauses with additional segments. This usually results in - %% better code. - [Val]; - #k_bin_int{val=Val} -> - [Val,more] - end; -reorder_bin_int_sort_key(#iclause{}) -> - throw(not_possible). - -%% match_value([Var], Con, [Clause], Default, State) -> {SelectExpr,State}. -%% At this point all the clauses have the same constructor, we must -%% now separate them according to value. - -match_value(Us0, T, Cs0, Def, St0) -> - {Us1,Cs1,St1} = partition_intersection(T, Us0, Cs0, St0), - UCss = group_value(T, Us1, Cs1), - %%ok = io:format("match_value ~p ~p~n", [T, Css]), - mapfoldl(fun ({Us,Cs}, St) -> match_clause(Us, Cs, Def, St) end, St1, UCss). - -%% partition_intersection(Type, Us, [Clause], State) -> {Us,Cs,State}. -%% Partitions a map into two maps with the most common keys to the -%% first map. -%% -%% case of -%% <#{a,b}> -%% <#{a,c}> -%% <#{a}> -%% end -%% -%% becomes -%% -%% case of -%% <#{a}, #{b}> -%% <#{a}, #{c}> -%% <#{a}, #{ }> -%% end -%% -%% The intention is to group as many keys together as possible and -%% thus reduce the number of lookups to that key. - -partition_intersection(k_map, [U|_]=Us, [_,_|_]=Cs0, St0) -> - Ps = [clause_val(C) || C <- Cs0], - case find_key_intersection(Ps) of - none -> - {Us,Cs0,St0}; - Ks -> - Cs1 = map(fun(#iclause{pats=[Arg|Args]}=C) -> - {Arg1,Arg2} = partition_keys(Arg, Ks), - C#iclause{pats=[Arg1,Arg2|Args]} - end, Cs0), - {[U|Us],Cs1,St0} - end; -partition_intersection(_, Us, Cs, St) -> - {Us,Cs,St}. - -partition_keys(#k_map{es=Pairs}=Map, Ks) -> - F = fun(#k_map_pair{key=Key}) -> - sets:is_element(map_key_clean(Key), Ks) - end, - {Ps1,Ps2} = partition(F, Pairs), - {Map#k_map{es=Ps1},Map#k_map{es=Ps2}}; -partition_keys(#ialias{pat=Map}=Alias, Ks) -> - %% Only alias one of them. - {Map1,Map2} = partition_keys(Map, Ks), - {Map1,Alias#ialias{pat=Map2}}. - -find_key_intersection(Ps) -> - Sets = [sets:from_list(Ks, [{version, 2}]) || Ks <- Ps], - Intersection = sets:intersection(Sets), - case sets:is_empty(Intersection) of - true -> - none; - false -> - All = all(fun (Kset) -> Kset =:= Intersection end, Sets), - case All of - true -> - %% All clauses test the same keys. Partitioning - %% the keys could only make the code worse. - none; - false -> - Intersection - end - end. - -%% group_value([Clause]) -> [[Clause]]. -%% Group clauses according to value. Here we know that -%% 1. Some types are singled valued -%% 2. The clauses in maps and bin_segs cannot be reordered, -%% only grouped -%% 3. Other types are disjoint and can be reordered - -group_value(k_cons, Us, Cs) -> [{Us,Cs}]; %These are single valued -group_value(k_nil, Us, Cs) -> [{Us,Cs}]; -group_value(k_binary, Us, Cs) -> [{Us,Cs}]; -group_value(k_bin_end, Us, Cs) -> [{Us,Cs}]; -group_value(k_bin_seg, Us, Cs) -> group_keeping_order(Us, Cs); -group_value(k_bin_int, Us, Cs) -> [{Us,Cs}]; -group_value(k_map, Us, Cs) -> group_keeping_order(Us, Cs); -group_value(_, Us, Cs) -> - Map = group_values(Cs, #{}), - %% We must sort the grouped values to ensure consistent - %% order from compilation to compilation. - sort([{Us,reverse(Vcs)} || _ := Vcs <- Map]). - -group_values([C|Cs], Acc) -> - Val = clause_val(C), - case Acc of - #{Val:=Gcs} -> - group_values(Cs, Acc#{Val:=[C|Gcs]}); - #{} -> - group_values(Cs, Acc#{Val=>[C]}) - end; -group_values([], Acc) -> Acc. - -group_keeping_order(Us, [C1|Cs]) -> - V1 = clause_val(C1), - {More,Rest} = splitwith(fun (C) -> clause_val(C) =:= V1 end, Cs), - [{Us,[C1|More]}|group_keeping_order(Us, Rest)]; -group_keeping_order(_, []) -> []. - -%% match_clause([Var], [Clause], Default, State) -> {Clause,State}. -%% At this point all the clauses have the same "value". Build one -%% select clause for this value and continue matching. Rename -%% aliases as well. - -match_clause([U|Us], [C|_]=Cs0, Def, St0) -> - Anno = get_kanno(C), - {Match0,Vs,St1} = get_match(get_con(Cs0), St0), - Match = sub_size_var(Match0, Cs0), - {Cs1,St2} = new_clauses(Cs0, U, St1), - Cs2 = squeeze_clauses_by_bin_integer_count(Cs1, []), - {B,St3} = match(Vs ++ Us, Cs2, Def, St2), - {#k_val_clause{anno=Anno,val=Match,body=B},St3}. - -sub_size_var(#k_bin_seg{size=#k_var{name=Name}=Kvar}=BinSeg, [#iclause{isub=Sub}|_]) -> - BinSeg#k_bin_seg{size=Kvar#k_var{name=get_vsub(Name, Sub)}}; -sub_size_var(K, _) -> K. - -get_con([C|_]) -> arg_arg(clause_arg(C)). %Get the constructor - -get_match(#k_cons{}, St0) -> - {[H,T]=L,St1} = new_vars(2, St0), - {#k_cons{hd=H,tl=T},L,St1}; -get_match(#k_binary{}, St0) -> - {[V]=Mes,St1} = new_vars(1, St0), - {#k_binary{segs=V},Mes,St1}; -get_match(#k_bin_seg{size=#k_literal{val=all},next={k_bin_end,[]}}=Seg, St0) -> - {[S,N],St1} = new_vars(2, St0), - {Seg#k_bin_seg{seg=S,next=N},[S],St1}; -get_match(#k_bin_seg{}=Seg, St0) -> - {[S,N],St1} = new_vars(2, St0), - {Seg#k_bin_seg{seg=S,next=N},[S,N],St1}; -get_match(#k_bin_int{}=BinInt, St0) -> - {N,St1} = new_var(St0), - {BinInt#k_bin_int{next=N},[N],St1}; -get_match(#k_tuple{es=Es}, St0) -> - {Mes,St1} = new_vars(length(Es), St0), - {#k_tuple{es=Mes},Mes,St1}; -get_match(#k_map{op=exact,es=Es0}, St0) -> - {Mes,St1} = new_vars(length(Es0), St0), - {Es,_} = mapfoldl(fun - (#k_map_pair{}=Pair, [V|Vs]) -> - {Pair#k_map_pair{val=V},Vs} - end, Mes, Es0), - {#k_map{op=exact,es=Es},Mes,St1}; -get_match(M, St) -> - {M,[],St}. - -new_clauses(Cs0, U, St) -> - Cs1 = map(fun (#iclause{isub=Isub0,osub=Osub0,pats=[Arg|As]}=C) -> - Head = case arg_arg(Arg) of - #k_cons{hd=H,tl=T} -> [H,T|As]; - #k_tuple{es=Es} -> Es ++ As; - #k_binary{segs=E} -> [E|As]; - #k_bin_seg{size=#k_literal{val=all}, - seg=S,next={k_bin_end,[]}} -> - [S|As]; - #k_bin_seg{seg=S,next=N} -> - [S,N|As]; - #k_bin_int{next=N} -> - [N|As]; - #k_map{op=exact,es=Es} -> - Vals = [V || #k_map_pair{val=V} <- Es], - Vals ++ As; - _Other -> - As - end, - Vs = arg_alias(Arg), - Osub1 = foldl(fun (#k_var{name=V}, Acc) -> - subst_vsub(V, U#k_var.name, Acc) - end, Osub0, Vs), - Isub1 = foldl(fun (#k_var{name=V}, Acc) -> - subst_vsub(V, U#k_var.name, Acc) - end, Isub0, Vs), - C#iclause{isub=Isub1,osub=Osub1,pats=Head} - end, Cs0), - {Cs1,St}. - -%% group and squeeze -%% The goal of those functions is to group subsequent integer k_bin_seg -%% literals by count so we can leverage bs_get_integer_16 whenever possible. -%% -%% The priority is to create large groups. So if we have three clauses matching -%% on 16-bits/16-bits/8-bits, we will first have a single 8-bits match for all -%% three clauses instead of clauses (one with 16 and another with 8). But note -%% the algorithm is recursive, so the remaining 8-bits for the first two clauses -%% will be grouped next. -%% -%% We also try to not create too large groups. If we have too many clauses, -%% it is preferable to match on 8-bits, select a branch, then match on the -%% next 8-bits, rather than match on 16-bits which would force us to have -%% to select to many values at the same time, which would not be efficient. -%% -%% Another restriction is that we create groups only if the end of the -%% group is a variadic clause or the end of the binary. That's because -%% if we have 16-bits/16-bits/catch-all, breaking it into a 16-bits lookup -%% will make the catch-all more expensive. -%% -%% Clauses are grouped in reverse when squeezing and then flattened and -%% re-reversed at the end. -squeeze_clauses_by_bin_integer_count([Clause | Clauses], Acc) -> - case clause_count_bin_integer_segments(Clause) of - {literal, N} -> squeeze_clauses_by_bin_integer_count(Clauses, N, 1, [Clause], Acc); - _ -> squeeze_clauses_by_bin_integer_count(Clauses, [[Clause] | Acc]) - end; -squeeze_clauses_by_bin_integer_count(_, Acc) -> - flat_reverse(Acc, []). - -squeeze_clauses_by_bin_integer_count([], N, Count, GroupAcc, Acc) -> - Squeezed = squeeze_clauses(GroupAcc, fix_count_without_variadic_segment(N), Count), - flat_reverse([Squeezed | Acc], []); -squeeze_clauses_by_bin_integer_count([#iclause{pats=[#k_bin_end{} | _]} = Clause], N, Count, GroupAcc, Acc) -> - Squeezed = squeeze_clauses(GroupAcc, fix_count_without_variadic_segment(N), Count), - flat_reverse([[Clause | Squeezed] | Acc], []); -squeeze_clauses_by_bin_integer_count([Clause | Clauses], N, Count, GroupAcc, Acc) -> - case clause_count_bin_integer_segments(Clause) of - {literal, NewN} -> - squeeze_clauses_by_bin_integer_count(Clauses, min(N, NewN), Count + 1, [Clause | GroupAcc], Acc); - - {variadic, NewN} when NewN =< N -> - Squeezed = squeeze_clauses(GroupAcc, NewN, Count), - squeeze_clauses_by_bin_integer_count(Clauses, [[Clause | Squeezed] | Acc]); - - _ -> - squeeze_clauses_by_bin_integer_count(Clauses, [[Clause | GroupAcc] | Acc]) - end. - -clause_count_bin_integer_segments(#iclause{pats=[#k_bin_seg{seg=#k_literal{}} = BinSeg | _]}) -> - count_bin_integer_segments(BinSeg, 0); -clause_count_bin_integer_segments(#iclause{pats=[#k_bin_seg{size=#k_literal{val=Size},unit=Unit, - type=integer,flags=[unsigned,big], - seg=#k_var{}} | _]}) - when ((Size * Unit) rem 8) =:= 0 -> - {variadic, (Size * Unit) div 8}; -clause_count_bin_integer_segments(_) -> - error. - -count_bin_integer_segments(#k_bin_seg{size=#k_literal{val=8},unit=1,type=integer,flags=[unsigned,big], - seg=#k_literal{val=Int},next=Next}, Count) - when is_integer(Int), 0 =< Int, Int =< 255 -> - count_bin_integer_segments(Next, Count + 1); -count_bin_integer_segments(_, Count) when Count > 0 -> - {literal, Count}; -count_bin_integer_segments(_, _Count) -> - error. - -%% Since 4 bytes in on 32-bits systems are bignums, we convert -%% anything more than 3 into 2 bytes lookup. The goal is to convert -%% any multi-clause segment into 2-byte lookups with a potential -%% 3 byte lookup at the end. -fix_count_without_variadic_segment(N) when N > 3 -> 2; -fix_count_without_variadic_segment(N) -> N. - -%% If we have more than 16 clauses, then it is better -%% to branch multiple times than getting a large integer. -%% We also abort if we have nothing to squeeze. -squeeze_clauses(Clauses, Size, Count) when Count >= 16; Size =< 1 -> Clauses; -squeeze_clauses(Clauses, Size, _Count) -> - squeeze_clauses(Clauses, Size). - -squeeze_clauses([#iclause{pats=[#k_bin_seg{seg=#k_literal{}} = BinSeg | Pats]} = Clause | Clauses], Size) -> - [Clause#iclause{pats=[squeeze_segments(BinSeg, 0, 0, Size) | Pats]} | - squeeze_clauses(Clauses, Size)]; -squeeze_clauses([], _Size) -> - []. - -squeeze_segments(#k_bin_seg{size=Sz, seg=#k_literal{val=Val}=Lit} = BinSeg, Acc, Size, 1) -> - BinSeg#k_bin_seg{size=Sz#k_literal{val=Size + 8}, seg=Lit#k_literal{val=(Acc bsl 8) bor Val}}; -squeeze_segments(#k_bin_seg{seg=#k_literal{val=Val},next=Next}, Acc, Size, Count) -> - squeeze_segments(Next, (Acc bsl 8) bor Val, Size + 8, Count - 1); -squeeze_segments(#k_bin_end{}, Acc, Size, Count) -> - error({Acc,Size,Count}). - - -flat_reverse([Head | Tail], Acc) -> flat_reverse(Tail, flat_reverse_1(Head, Acc)); -flat_reverse([], Acc) -> Acc. - -flat_reverse_1([Head | Tail], Acc) -> flat_reverse_1(Tail, [Head | Acc]); -flat_reverse_1([], Acc) -> Acc. - -%% build_guard([GuardClause]) -> GuardExpr. - -build_guard([]) -> fail; -build_guard(Cs) -> #k_guard{clauses=Cs}. - -%% build_select(Var, [ConClause]) -> SelectExpr. - -build_select(V, [Tc|_]=Tcs) -> - copy_anno(#k_select{var=V,types=Tcs}, Tc). - -%% build_alt(First, Then) -> AltExpr. -%% Build an alt, attempt some simple optimisation. - -build_alt(fail, Then) -> Then; -build_alt(First,Then) -> build_alt_1st_no_fail(First, Then). - -build_alt_1st_no_fail(First, fail) -> First; -build_alt_1st_no_fail(First, Then) -> - copy_anno(#k_alt{first=First,then=Then}, First). - -%% build_match(MatchExpr) -> Kexpr. -%% Build a match expr if there is a match. - -build_match(#k_alt{}=Km) -> copy_anno(#k_match{body=Km}, Km); -build_match(#k_select{}=Km) -> copy_anno(#k_match{body=Km}, Km); -build_match(#k_guard{}=Km) -> copy_anno(#k_match{body=Km}, Km); -build_match(Km) -> Km. - -%% clause_arg(Clause) -> FirstArg. -%% clause_con(Clause) -> Constructor. -%% clause_val(Clause) -> Value. -%% is_var_clause(Clause) -> boolean(). - -clause_arg(#iclause{pats=[Arg|_]}) -> Arg. - -clause_con(C) -> arg_con(clause_arg(C)). - -clause_val(C) -> arg_val(clause_arg(C), C). - -is_var_clause(C) -> clause_con(C) =:= k_var. - -%% arg_arg(Arg) -> Arg. -%% arg_alias(Arg) -> Aliases. -%% arg_con(Arg) -> Constructor. -%% arg_val(Arg) -> Value. -%% These are the basic functions for obtaining fields in an argument. - -arg_arg(#ialias{pat=Con}) -> Con; -arg_arg(Con) -> Con. - -arg_alias(#ialias{vars=As}) -> As; -arg_alias(_Con) -> []. - -arg_con(Arg) -> - case arg_arg(Arg) of - #k_cons{} -> k_cons; - #k_tuple{} -> k_tuple; - #k_map{} -> k_map; - #k_binary{} -> k_binary; - #k_bin_end{} -> k_bin_end; - #k_bin_seg{} -> k_bin_seg; - #k_var{} -> k_var; - #k_literal{val=[]} -> k_nil; - #k_literal{val=Val} -> - if - is_atom(Val) -> k_atom; - is_integer(Val) -> k_int; - is_float(Val) -> k_float; - true -> k_literal - end - end. - -arg_val(Arg, C) -> - case arg_arg(Arg) of - #k_literal{val=Lit} -> Lit; - #k_tuple{es=Es} -> length(Es); - #k_bin_seg{size=S,unit=U,type=T,flags=Fs} -> - case S of - #k_var{name=V} -> - #iclause{isub=Isub} = C, - {#k_var{name=get_vsub(V, Isub)},U,T,Fs}; - _ -> - {set_kanno(S, []),U,T,Fs} - end; - #k_map{op=exact,es=Es} -> - sort(fun(A,B) -> - %% on the form K :: {'lit' | 'var', term()} - %% lit < var as intended - erts_internal:cmp_term(A,B) < 0 - end, [map_key_clean(Key) || #k_map_pair{key=Key} <- Es]) - end. - -%% ubody_used_vars(Expr, State) -> [UsedVar] -%% Return all used variables for the body sequence. Much more -%% efficient than using ubody/3 if the body contains nested letrecs. -ubody_used_vars(Expr, St) -> - {_,Used,_} = ubody(Expr, return, St#kern{funs=ignore}), - Used. - -%% ubody(Expr, Break, State) -> {Expr,[UsedVar],State}. -%% Tag the body sequence with its used variables. These bodies -%% either end with a #k_break{}, or with #k_return{} or an expression -%% which itself can return, #k_enter{}, #k_match{} ... . - -ubody(#iset{vars=[],arg=#iletrec{}=Let,body=B0}, Br, St0) -> - %% An iletrec{} should never be last. - St = iletrec_funs(Let, St0), - ubody(B0, Br, St); -ubody(#iset{vars=[],arg=#k_literal{},body=B0}, Br, St0) -> - ubody(B0, Br, St0); -ubody(#iset{anno=A,vars=Vs,arg=E0,body=B0}, Br, St0) -> - {E1,Eu,St1} = uexpr(E0, {break,Vs}, St0), - {B1,Bu,St2} = ubody(B0, Br, St1), - Ns = lit_list_vars(Vs), - Used = union(Eu, subtract(Bu, Ns)), %Used external vars - {#k_seq{anno=A,arg=E1,body=B1},Used,St2}; -ubody(#ivalues{anno=A,args=As}, return, St) -> - Au = lit_list_vars(As), - {#k_return{anno=A,args=As},Au,St}; -ubody(#ivalues{anno=A,args=As}, {break,_Vbs}, St) -> - Au = lit_list_vars(As), - {#k_break{anno=A,args=As},Au,St}; -ubody(#k_goto{args=As}=Goto, _Br, St) -> - Au = lit_list_vars(As), - {Goto,Au,St}; -ubody(E, return, St0) -> - %% Enterable expressions need no trailing return. - case is_enter_expr(E) of - true -> uexpr(E, return, St0); - false -> - {Ea,Pa,St1} = force_atomic(E, St0), - ubody(pre_seq(Pa, #ivalues{args=[Ea]}), return, St1) - end; -ubody(E, {break,[_]} = Break, St0) -> - {Ea,Pa,St1} = force_atomic(E, St0), - ubody(pre_seq(Pa, #ivalues{args=[Ea]}), Break, St1); -ubody(E, {break,Rs}=Break, St0) -> - {Vs,St1} = new_vars(length(Rs), St0), - Iset = #iset{vars=Vs,arg=E}, - PreSeq = pre_seq([Iset], #ivalues{args=Vs}), - ubody(PreSeq, Break, St1). - -iletrec_funs(#iletrec{defs=Fs}, St0) -> - %% Use union of all free variables. - %% First just work out free variables for all functions. - Free = foldl(fun ({_,#ifun{vars=Vs,body=Fb0}}, Free0) -> - Fbu = ubody_used_vars(Fb0, St0), - Ns = lit_list_vars(Vs), - Free1 = subtract(Fbu, Ns), - union(Free1, Free0) - end, [], Fs), - FreeVs = make_vars(Free), - %% Add this free info to State. - St1 = foldl(fun ({N,#ifun{vars=Vs}}, Lst) -> - store_free(N, length(Vs), FreeVs, Lst) - end, St0, Fs), - iletrec_funs_gen(Fs, FreeVs, St1). - -%% Now regenerate local functions to use free variable information. -iletrec_funs_gen(_, _, #kern{funs=ignore}=St) -> - %% Optimization: The ultimate caller is only interested in the used variables, - %% not the updated state. Makes a difference if there are nested letrecs. - St; -iletrec_funs_gen(Fs, FreeVs, St) -> - foldl(fun ({N,#ifun{anno=Fa,vars=Vs,body=Fb0}}, Lst0) -> - Arity0 = length(Vs), - {Fb1,_,Lst1} = ubody(Fb0, return, Lst0), - Arity = Arity0 + length(FreeVs), - Fun = make_fdef(Fa, N, Arity, Vs++FreeVs, Fb1), - Lst1#kern{funs=[Fun|Lst1#kern.funs]} - end, St, Fs). - - -%% is_enter_expr(Kexpr) -> boolean(). -%% Test whether Kexpr is "enterable", i.e. can handle return from -%% within itself without extra #k_return{}. - -is_enter_expr(#k_try{}) -> true; -is_enter_expr(#k_call{}) -> true; -is_enter_expr(#k_match{}) -> true; -is_enter_expr(#k_letrec_goto{}) -> true; -is_enter_expr(_) -> false. - -%% uexpr(Expr, Break, State) -> {Expr,[UsedVar],State}. -%% Calculate the used variables for an expression. -%% Break = return | {break,[RetVar]}. - -uexpr(#k_test{anno=A,op=Op,args=As}=Test, {break,Rs}, St) -> - [] = Rs, %Sanity check - Used = union(op_vars(Op), lit_list_vars(As)), - {Test#k_test{anno=A},Used,St}; -uexpr(#iset{anno=A,vars=Vs,arg=E0,body=B0}, {break,_}=Br, St0) -> - Ns = lit_list_vars(Vs), - {E1,Eu,St1} = uexpr(E0, {break,Vs}, St0), - {B1,Bu,St2} = uexpr(B0, Br, St1), - Used = union(Eu, subtract(Bu, Ns)), - {#k_seq{anno=A,arg=E1,body=B1},Used,St2}; -uexpr(#k_call{anno=A,op=#k_local{name=F,arity=Ar}=Op,args=As0}=Call, Br, St) -> - Free = get_free(F, Ar, St), - As1 = As0 ++ Free, %Add free variables LAST! - Used = lit_list_vars(As1), - {case Br of - {break,Rs} -> - Call#k_call{anno=A, - op=Op#k_local{arity=Ar + length(Free)}, - args=As1,ret=Rs}; - return -> - #k_enter{anno=A, - op=Op#k_local{arity=Ar + length(Free)}, - args=As1} - end,Used,St}; -uexpr(#k_call{anno=A,op=Op,args=As}=Call, {break,Rs}, St) -> - Used = union(op_vars(Op), lit_list_vars(As)), - {Call#k_call{anno=A,ret=Rs},Used,St}; -uexpr(#k_call{anno=A,op=Op,args=As}, return, St) -> - Used = union(op_vars(Op), lit_list_vars(As)), - {#k_enter{anno=A,op=Op,args=As},Used,St}; -uexpr(#k_bif{anno=A,op=Op,args=As}=Bif, {break,Rs}, St0) -> - Used = union(op_vars(Op), lit_list_vars(As)), - {Brs,St1} = bif_returns(Op, Rs, St0), - {Bif#k_bif{anno=A,ret=Brs},Used,St1}; -uexpr(#k_match{anno=A,body=B0}, Br, St0) -> - Rs = break_rets(Br), - {B1,Bu,St1} = umatch(B0, Br, St0), - {#k_match{anno=A,body=B1,ret=Rs},Bu,St1}; -uexpr(#k_try{anno=A,arg=A0,vars=Vs,body=B0,evars=Evs,handler=H0}, - {break,Rs0}=Br, St0) -> - case {Vs,B0,H0,Rs0} of - {[#k_var{name=X}],#k_var{name=X},#k_literal{},[]} -> - %% This is a simple try/catch whose return value is - %% ignored: - %% - %% try E of V -> V when _:_:_ -> ignored_literal end, ... - %% - %% This is most probably a try/catch in a guard. To - %% correctly handle the #k_test{} that ends the body of - %% the guard, we MUST pass an empty list of break - %% variables when processing the body. - {A1,Bu,St} = ubody(A0, {break,[]}, St0), - {#k_try{anno=A,arg=A1,vars=[],body=#k_break{}, - evars=[],handler=#k_break{},ret=Rs0}, - Bu,St}; - {_,_,_,_} -> - %% The general try/catch (in a guard or in body). - {Avs,St1} = new_vars(length(Vs), St0), - {A1,Au,St2} = ubody(A0, {break,Avs}, St1), - {B1,Bu,St3} = ubody(B0, Br, St2), - {H1,Hu,St4} = ubody(H0, Br, St3), - Used = union([Au,subtract(Bu, lit_list_vars(Vs)), - subtract(Hu, lit_list_vars(Evs))]), - {#k_try{anno=A,arg=A1,vars=Vs,body=B1,evars=Evs,handler=H1,ret=Rs0}, - Used,St4} - end; -uexpr(#k_try{anno=A,arg=A0,vars=Vs,body=B0,evars=Evs,handler=H0}, - return, St0) -> - {Avs,St1} = new_vars(length(Vs), St0), %Need dummy names here - {A1,Au,St2} = ubody(A0, {break,Avs}, St1), %Must break to clean up here! - {B1,Bu,St3} = ubody(B0, return, St2), - {H1,Hu,St4} = ubody(H0, return, St3), - Used = union([Au,subtract(Bu, lit_list_vars(Vs)), - subtract(Hu, lit_list_vars(Evs))]), - {#k_try_enter{anno=A,arg=A1,vars=Vs,body=B1,evars=Evs,handler=H1}, - Used,St4}; -uexpr(#k_catch{anno=A,body=B0}, {break,Rs0}, St0) -> - {Rb,St1} = new_var(St0), - {B1,Bu,St2} = ubody(B0, {break,[Rb]}, St1), - %% Guarantee ONE return variable. - {Ns,St3} = new_vars(1 - length(Rs0), St2), - Rs1 = Rs0 ++ Ns, - {#k_catch{anno=A,body=B1,ret=Rs1},Bu,St3}; -uexpr(#ifun{anno=A,vars=Vs,body=B0}, {break,Rs}, St0) -> - {B1,Bu,St1} = ubody(B0, return, St0), %Return out of new function - Ns = lit_list_vars(Vs), - Free = subtract(Bu, Ns), %Free variables in fun - Fvs = make_vars(Free), - Arity = length(Vs) + length(Free), - {Fname,St} = - case keyfind(id, 1, A) of - {id,{_,_,Fname0}} -> - {Fname0,St1}; - false -> - %% No id annotation. Must invent a fun name. - new_fun_name(St1) - end, - Fun = make_fdef(A, Fname, Arity, Vs++Fvs, B1), - Local = #k_local{name=Fname,arity=Arity}, - {#k_bif{anno=A, - op=#k_internal{name=make_fun,arity=length(Free)+2}, - args=[Local|Fvs], - ret=Rs}, - Free,add_local_function(Fun, St)}; -uexpr(#k_local{anno=A,name=Name,arity=Arity}, {break,Rs}, St) -> - Free = lit_list_vars(get_free(Name, Arity, St)), - Fvs = make_vars(Free), - FreeCount = length(Fvs), - Bif = #k_bif{anno=A, - op=#k_internal{name=make_fun,arity=FreeCount+1}, - args=[#k_local{name=Name,arity=Arity+FreeCount} | Fvs], - ret=Rs}, - {Bif,Free,St}; -uexpr(#k_letrec_goto{anno=A,vars=Vs,first=F0,then=T0}=MatchAlt, Br, St0) -> - Rs = break_rets(Br), - Ns = lit_list_vars(Vs), - {F1,Fu,St1} = ubody(F0, Br, St0), - {T1,Tu,St2} = ubody(T0, Br, St1), - Used = subtract(union(Fu, Tu), Ns), - {MatchAlt#k_letrec_goto{anno=A,first=F1,then=T1,ret=Rs},Used,St2}; -uexpr(#k_opaque{}=O, _, St) -> - {O,[],St}; -uexpr(Lit, {break,Rs0}, St0) -> - %% Transform literals to puts here. - %%ok = io:fwrite("uexpr ~w:~p~n", [?LINE,Lit]), - Used = lit_vars(Lit), - {Rs,St1} = ensure_return_vars(Rs0, St0), - {#k_put{anno=get_kanno(Lit),arg=Lit,ret=Rs},Used,St1}. - -add_local_function(_, #kern{funs=ignore}=St) -> - St; -add_local_function(#k_fdef{func=Name,arity=Arity}=F, #kern{funs=Funs}=St) -> - case is_defined(Name, Arity, Funs) of - false -> - St#kern{funs=[F|Funs]}; - true -> - St - end. - -is_defined(Name, Arity, [#k_fdef{func=Name,arity=Arity}|_]) -> - true; -is_defined(Name, Arity, [#k_fdef{}|T]) -> - is_defined(Name, Arity, T); -is_defined(_, _, []) -> false. - -%% Make a #k_fdef{}, making sure that the body is always a #k_match{}. -make_fdef(Anno, Name, Arity, Vs, #k_match{}=Body) -> - #k_fdef{anno=Anno,func=Name,arity=Arity,vars=Vs,body=Body}; -make_fdef(Anno, Name, Arity, Vs, Body) -> - Ka = get_kanno(Body), - Match = #k_match{anno=Ka,body=Body,ret=[]}, - #k_fdef{anno=Anno,func=Name,arity=Arity,vars=Vs,body=Match}. - -%% get_free(Name, Arity, State) -> [Free]. -%% store_free(Name, Arity, [Free], State) -> State. - -get_free(F, A, #kern{free=FreeMap}) -> - Key = {F,A}, - case FreeMap of - #{Key:=Val} -> Val; - _ -> [] - end. - -store_free(F, A, Free, #kern{free=FreeMap0}=St) -> - Key = {F,A}, - FreeMap = FreeMap0#{Key=>Free}, - St#kern{free=FreeMap}. - -break_rets({break,Rs}) -> Rs; -break_rets(return) -> []. - -%% bif_returns(Op, [Ret], State) -> {[Ret],State}. - -bif_returns(#k_internal{name=match_fail}, Rs, St) -> - %% This is only used for effect, and may have any number of returns. - {Rs,St}; -bif_returns(#k_internal{name=N,arity=Ar}, Rs, St0) -> - %%ok = io:fwrite("uexpr ~w:~p~n", [?LINE,{N,Ar,Rs}]), - {Ns,St1} = new_vars(bif_vals(N, Ar) - length(Rs), St0), - {Rs ++ Ns,St1}; -bif_returns(#k_remote{mod=M,name=N,arity=Ar}, Rs, St0) -> - %%ok = io:fwrite("uexpr ~w:~p~n", [?LINE,{M,N,Ar,Rs}]), - {Ns,St1} = new_vars(bif_vals(M, N, Ar) - length(Rs), St0), - {Rs ++ Ns,St1}. - -%% ensure_return_vars([Ret], State) -> {[Ret],State}. - -ensure_return_vars([], St) -> new_vars(1, St); -ensure_return_vars([_]=Rs, St) -> {Rs,St}. - -%% umatch(Match, Break, State) -> {Match,[UsedVar],State}. -%% Calculate the used variables for a match expression. - -umatch(#k_alt{anno=A,first=F0,then=T0}, Br, St0) -> - {F1,Fu,St1} = umatch(F0, Br, St0), - {T1,Tu,St2} = umatch(T0, Br, St1), - Used = union(Fu, Tu), - {#k_alt{anno=A,first=F1,then=T1},Used,St2}; -umatch(#k_select{anno=A,var=V,types=Ts0}, Br, St0) -> - {Ts1,Tus,St1} = umatch_list(Ts0, Br, St0), - Used = add_element(V#k_var.name, Tus), - {#k_select{anno=A,var=V,types=Ts1},Used,St1}; -umatch(#k_type_clause{anno=A,type=T,values=Vs0}, Br, St0) -> - {Vs1,Vus,St1} = umatch_list(Vs0, Br, St0), - {#k_type_clause{anno=A,type=T,values=Vs1},Vus,St1}; -umatch(#k_val_clause{anno=A,val=P0,body=B0}, Br, St0) -> - {U0,Ps} = pat_vars(P0), - {B1,Bu,St1} = umatch(B0, Br, St0), - P = pat_anno_unused(P0, Bu, Ps), - Used = union(U0, subtract(Bu, Ps)), - {#k_val_clause{anno=A,val=P,body=B1},Used,St1}; -umatch(#k_guard{anno=A,clauses=Gs0}, Br, St0) -> - {Gs1,Gus,St1} = umatch_list(Gs0, Br, St0), - {#k_guard{anno=A,clauses=Gs1},Gus,St1}; -umatch(#k_guard_clause{anno=A,guard=G0,body=B0}, Br, St0) -> - {G1,Gu,St1} = uexpr(G0, {break,[]}, St0), - {B1,Bu,St2} = umatch(B0, Br, St1), - Used = union(Gu, Bu), - {#k_guard_clause{anno=A,guard=G1,body=B1},Used,St2}; -umatch(B0, Br, St0) -> ubody(B0, Br, St0). - -umatch_list(Ms0, Br, St) -> - foldr(fun (M0, {Ms1,Us,Sta}) -> - {M1,Mu,Stb} = umatch(M0, Br, Sta), - {[M1|Ms1],union(Mu, Us),Stb} - end, {[],[],St}, Ms0). - -pat_anno_unused(#k_tuple{es=Es0}=P, Used0, Ps) -> - %% Not extracting unused tuple elements is an optimization for - %% compile time and memory use during compilation. It is probably - %% worthwhile because it is common to extract only a few elements - %% from a huge record. - Used = intersection(Used0, Ps), - Es = [case member(V, Used) of - true -> Var; - false -> set_kanno(Var, [unused|get_kanno(Var)]) - end || #k_var{name=V}=Var <- Es0], - P#k_tuple{es=Es}; -pat_anno_unused(P, _Used, _Ps) -> P. - -%% op_vars(Op) -> [VarName]. - -op_vars(#k_remote{mod=Mod,name=Name}) -> - ordsets:from_list([V || #k_var{name=V} <- [Mod,Name]]); -op_vars(#k_internal{}) -> []; -op_vars(Atomic) -> lit_vars(Atomic). - -%% lit_vars(Literal) -> [VarName]. -%% Return the variables in a literal. - -lit_vars(#k_var{name=N}) -> [N]; -%%lit_vars(#k_char{}) -> []; -lit_vars(#k_cons{hd=H,tl=T}) -> - union(lit_vars(H), lit_vars(T)); -lit_vars(#k_map{var=Var,es=Es}) -> - lit_list_vars([Var|Es]); -lit_vars(#k_map_pair{key=K,val=V}) -> - union(lit_vars(K), lit_vars(V)); -lit_vars(#k_binary{segs=V}) -> lit_vars(V); -lit_vars(#k_bin_end{}) -> []; -lit_vars(#k_bin_seg{size=Size,seg=S,next=N}) -> - union(lit_vars(Size), union(lit_vars(S), lit_vars(N))); -lit_vars(#k_tuple{es=Es}) -> - lit_list_vars(Es); -lit_vars(#k_literal{}) -> []; -lit_vars(#k_opaque{}) -> []. - -lit_list_vars(Ps) -> - foldl(fun (P, Vs) -> union(lit_vars(P), Vs) end, [], Ps). - -%% pat_vars(Pattern) -> {[UsedVarName],[NewVarName]}. -%% Return variables in a pattern. All variables are new variables -%% except those in the size field of binary segments and the key -%% field in map_pairs. - -pat_vars(#k_var{name=N}) -> {[],[N]}; -%%pat_vars(#k_char{}) -> {[],[]}; -pat_vars(#k_literal{}) -> {[],[]}; -pat_vars(#k_cons{hd=H,tl=T}) -> - pat_list_vars([H,T]); -pat_vars(#k_binary{segs=V}) -> - pat_vars(V); -pat_vars(#k_bin_seg{size=Size,seg=S,next=N}) -> - {U1,New} = pat_list_vars([S,N]), - {[],U2} = pat_vars(Size), - {union(U1, U2),New}; -pat_vars(#k_bin_int{size=Size,next=N}) -> - {[],New} = pat_vars(N), - {[],U} = pat_vars(Size), - {U,New}; -pat_vars(#k_bin_end{}) -> {[],[]}; -pat_vars(#k_tuple{es=Es}) -> - pat_list_vars(Es); -pat_vars(#k_map{es=Es}) -> - pat_list_vars(Es); -pat_vars(#k_map_pair{key=K,val=V}) -> - {U1,New} = pat_vars(V), - {[], U2} = pat_vars(K), - {union(U1,U2),New}. - -pat_list_vars(Ps) -> - foldl(fun (P, {Used0,New0}) -> - {Used,New} = pat_vars(P), - {union(Used0, Used),union(New0, New)} end, - {[],[]}, Ps). - -%% List of integers in interval [N,M]. Empty list if N > M. - -integers(N, M) when N =< M -> - [N|integers(N + 1, M)]; -integers(_, _) -> []. - -%%% -%%% Handling of errors and warnings. -%%% - --type error() :: {'failed' | 'nomatch', term()}. - --spec format_error(error()) -> string(). - -format_error({nomatch,{shadow,Line}}) -> - M = io_lib:format("this clause cannot match because a previous clause at line ~p " - "always matches", [Line]), - flatten(M); -format_error({nomatch,shadow}) -> - "this clause cannot match because a previous clause always matches"; -format_error({failed,bad_call}) -> - "invalid module and/or function name; this call will always fail"; -format_error({failed,bad_segment_size}) -> - "binary construction will fail because the size of a segment is invalid". - -add_warning(none, Term, Anno, #kern{ws=Ws}=St) -> - File = get_file(Anno), - St#kern{ws=[{File,[{none,?MODULE,Term}]}|Ws]}; -add_warning(Line, Term, Anno, #kern{ws=Ws}=St) -> - File = get_file(Anno), - St#kern{ws=[{File,[{Line,?MODULE,Term}]}|Ws]}. - -is_compiler_generated(Ke) -> - Anno = get_kanno(Ke), - member(compiler_generated, Anno). diff --git a/lib/compiler/src/v3_kernel.hrl b/lib/compiler/src/v3_kernel.hrl deleted file mode 100644 index 5259a73418eb..000000000000 --- a/lib/compiler/src/v3_kernel.hrl +++ /dev/null @@ -1,76 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2023. All Rights Reserved. -%% -%% 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. -%% -%% %CopyrightEnd% -%% - -%% Purpose : Kernel Erlang as records. - -%% It would be nice to incorporate some generic functions as well but -%% this could make including this file difficult. -%% N.B. the annotation field is ALWAYS the first field! - -%% Literals -%% NO CHARACTERS YET. -%%-record(k_char, {anno=[],val}). --record(k_literal, {anno=[],val}). - --record(k_tuple, {anno=[],es}). --record(k_map, {anno=[],var=#k_literal{val=#{}},op,es}). --record(k_map_pair, {anno=[],key,val}). --record(k_cons, {anno=[],hd,tl}). --record(k_binary, {anno=[],segs}). --record(k_bin_seg, {anno=[],size,unit,type,flags,seg,next}). --record(k_bin_int, {anno=[],size,unit,flags,val,next}). --record(k_bin_end, {anno=[]}). --record(k_var, {anno=[],name}). - --record(k_local, {anno=[],name,arity}). --record(k_remote, {anno=[],mod,name,arity}). --record(k_internal, {anno=[],name,arity}). - --record(k_mdef, {anno=[],name,exports,attributes,body}). --record(k_fdef, {anno=[],func,arity,vars,body}). - --record(k_seq, {anno=[],arg,body}). --record(k_put, {anno=[],arg,ret=[]}). --record(k_bif, {anno=[],op,args,ret=[]}). --record(k_test, {anno=[],op,args}). --record(k_call, {anno=[],op,args,ret=[]}). --record(k_enter, {anno=[],op,args}). --record(k_try, {anno=[],arg,vars,body,evars,handler,ret=[]}). --record(k_try_enter, {anno=[],arg,vars,body,evars,handler}). --record(k_catch, {anno=[],body,ret=[]}). - --record(k_letrec_goto, {anno=[],label,vars=[],first,then,ret=[]}). --record(k_goto, {anno=[],label,args=[]}). - --record(k_match, {anno=[],body,ret=[]}). --record(k_alt, {anno=[],first,then}). --record(k_select, {anno=[],var,types}). --record(k_type_clause, {anno=[],type,values}). --record(k_val_clause, {anno=[],val,body}). --record(k_guard, {anno=[],clauses}). --record(k_guard_clause, {anno=[],guard,body}). - --record(k_break, {anno=[],args=[]}). --record(k_return, {anno=[],args=[]}). - --record(k_opaque, {anno=[],val}). - -%%k_get_anno(Thing) -> element(2, Thing). -%%k_set_anno(Thing, Anno) -> setelement(2, Thing, Anno). diff --git a/lib/compiler/src/v3_kernel_pp.erl b/lib/compiler/src/v3_kernel_pp.erl deleted file mode 100644 index fa8c67b6afc9..000000000000 --- a/lib/compiler/src/v3_kernel_pp.erl +++ /dev/null @@ -1,509 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2023. All Rights Reserved. -%% -%% 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. -%% -%% %CopyrightEnd% -%% -%% Purpose : Kernel Erlang (naive) prettyprinter - --module(v3_kernel_pp). - --export([format/1]). - -%%-define(INCLUDE_ANNOTATIONS, 1). - --include("v3_kernel.hrl"). - -%% These are "internal" structures in sys_kernel which are here for -%% debugging purposes. --record(iset, {anno=[],vars,arg,body}). --record(ifun, {anno=[],vars,body}). - -%% ====================================================================== %% -%% format(Node) -> Text -%% Node = coreErlang() -%% Text = string() | [Text] -%% -%% Prettyprint-formats (naively) an abstract Core Erlang syntax -%% tree. - --record(ctxt, {indent = 0 :: non_neg_integer(), - item_indent = 2 :: non_neg_integer(), - body_indent = 2 :: non_neg_integer(), - tab_width = 8 :: non_neg_integer()}). - -canno(Cthing) -> element(2, Cthing). - --spec format(#k_mdef{}) -> iolist(). - -format(Node) -> format(Node, #ctxt{}). - -format(Node, Ctxt) -> - case canno(Node) of - [] -> - format_1(Node, Ctxt); - [L,{file,_}] when is_integer(L) -> - format_1(Node, Ctxt); - [{L,C},{file,_}] when is_integer(L), is_integer(C) -> - format_1(Node, Ctxt); - List -> - format_anno(List, Ctxt, fun (Ctxt1) -> - format_1(Node, Ctxt1) - end) - end. - - --ifndef(INCLUDE_ANNOTATIONS). -%% Don't include annotations (for readability). -format_anno(_Anno, Ctxt, ObjFun) -> - ObjFun(Ctxt). --else. -%% Include annotations (for debugging of annotations). -format_anno(Anno, Ctxt0, ObjFun) -> - Ctxt1 = ctxt_bump_indent(Ctxt0, 1), - ["( ", - ObjFun(Ctxt0), - nl_indent(Ctxt1), - "-| ",io_lib:write(Anno), - " )"]. --endif. - -%% format_1(Kexpr, Context) -> string(). - -%%format_1(#k_char{val=C}, _Ctxt) -> io_lib:write_char(C); -format_1(#k_var{name=V}, _Ctxt) -> - if is_atom(V) -> - case atom_to_list(V) of - [$_|Cs] -> "_X" ++ Cs; - [C|_Cs] = L when C >= $A, C =< $Z -> L; - Cs -> [$_|Cs] - end; - is_integer(V) -> [$_|integer_to_list(V)] - end; -format_1(#k_cons{hd=H,tl=T}, Ctxt) -> - Txt = ["["|format(H, ctxt_bump_indent(Ctxt, 1))], - [Txt|format_list_tail(T, ctxt_bump_indent(Ctxt, width(Txt, Ctxt)))]; -format_1(#k_tuple{es=Es}, Ctxt) -> - [${, - format_hseq(Es, ",", ctxt_bump_indent(Ctxt, 1), fun format/2), - $} - ]; -format_1(#k_map{var=#k_literal{val=M},op=assoc,es=Es}, Ctxt) when is_map(M), map_size(M) =:= 0 -> - ["~{", - format_hseq(Es, ",", ctxt_bump_indent(Ctxt, 1), fun format/2), - "}~" - ]; -format_1(#k_map{var=#k_literal{val=M},op=exact,es=Es}, Ctxt) when is_map(M), map_size(M) =:= 0 -> - ["::{", - format_hseq(Es, ",", ctxt_bump_indent(Ctxt, 1), fun format/2), - "}::" - ]; -format_1(#k_map{var=Var,op=assoc,es=Es}, Ctxt) -> - ["~{", - format_hseq(Es, ",", ctxt_bump_indent(Ctxt, 1), fun format/2), - " | ",format_1(Var, Ctxt), - "}~" - ]; -format_1(#k_map{var=Var,op=exact,es=Es}, Ctxt) -> - ["::{", - format_hseq(Es, ",", ctxt_bump_indent(Ctxt, 1), fun format/2), - " | ",format_1(Var, Ctxt), - "}::" - ]; -format_1(#k_map_pair{key=K,val=V}, Ctxt) -> - ["<",format(K, Ctxt),",",format(V, Ctxt),">"]; -format_1(#k_binary{segs=S}, Ctxt) -> - ["#<",format(S, ctxt_bump_indent(Ctxt, 2)),">#"]; -format_1(#k_bin_seg{next=Next}=S, Ctxt) -> - [format_bin_seg_1(S, Ctxt), - format_bin_seg(Next, ctxt_bump_indent(Ctxt, 2))]; -format_1(#k_bin_int{size=Sz,unit=U,flags=Fs,val=Val,next=Next}, Ctxt) -> - S = #k_bin_seg{size=Sz,unit=U,type=integer,flags=Fs, - seg=#k_literal{val=Val},next=Next}, - [format_bin_seg_1(S, Ctxt), - format_bin_seg(Next, ctxt_bump_indent(Ctxt, 2))]; -format_1(#k_bin_end{}, _Ctxt) -> "#<>#"; -format_1(#k_literal{val=A}, _Ctxt) when is_atom(A) -> - core_atom(A); -format_1(#k_literal{val=Term}, _Ctxt) -> - io_lib:format("~kp", [Term]); -format_1(#k_local{name=N,arity=A}, Ctxt) -> - "local " ++ format_fa_pair({N,A}, Ctxt); -format_1(#k_remote{mod=M,name=N,arity=A}, _Ctxt) -> - %% This is for our internal translator. - io_lib:format("remote ~ts:~ts/~w", [format(M),format(N),A]); -format_1(#k_internal{name=N,arity=A}, Ctxt) -> - "internal " ++ format_fa_pair({N,A}, Ctxt); -format_1(#k_seq{arg=A,body=B}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, 2), - ["do", - nl_indent(Ctxt1), - format(A, Ctxt1), - nl_indent(Ctxt), - "then", - nl_indent(Ctxt) - | format(B, Ctxt) - ]; -format_1(#k_match{body=Bs,ret=Rs}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, Ctxt#ctxt.item_indent), - ["match", - nl_indent(Ctxt1), - format(Bs, Ctxt1), - nl_indent(Ctxt), - "end", - format_ret(Rs, Ctxt1) - ]; -format_1(#k_alt{first=O,then=T}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, Ctxt#ctxt.item_indent), - ["alt", - nl_indent(Ctxt1), - format(O, Ctxt1), - nl_indent(Ctxt1), - format(T, Ctxt1)]; -format_1(#k_letrec_goto{label=Label,vars=Vs,first=First,then=Then,ret=Rs}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, Ctxt#ctxt.item_indent), - ["letrec_goto ", - atom_to_list(Label), - format_args(Vs, Ctxt), - nl_indent(Ctxt1), - format(Then, Ctxt1), - nl_indent(Ctxt1), - format(First, Ctxt1), - nl_indent(Ctxt), - "end", - format_ret(Rs, Ctxt1) - ]; -format_1(#k_goto{label=Label,args=As}, Ctxt) -> - ["goto ",atom_to_list(Label),format_args(As, Ctxt)]; -format_1(#k_select{var=V,types=Cs}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, 2), - ["select ", - format(V, Ctxt), - nl_indent(Ctxt1), - format_vseq(Cs, "", "", Ctxt1, fun format/2) - ]; -format_1(#k_type_clause{type=T,values=Cs}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, Ctxt#ctxt.body_indent), - ["type ", - io_lib:write(T), - nl_indent(Ctxt1), - format_vseq(Cs, "", "", Ctxt1, fun format/2) - ]; -format_1(#k_val_clause{val=Val,body=B}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, Ctxt#ctxt.body_indent), - [format(Val, Ctxt), - " ->", - nl_indent(Ctxt1) - | format(B, Ctxt1) - ]; -format_1(#k_guard{clauses=Gs}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, 5), - ["when ", - nl_indent(Ctxt1), - format_vseq(Gs, "", "", Ctxt1, fun format/2)]; -format_1(#k_guard_clause{guard=G,body=B}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, Ctxt#ctxt.body_indent), - [format(G, Ctxt), - nl_indent(Ctxt), - "->", - nl_indent(Ctxt1) - | format(B, Ctxt1) - ]; -format_1(#k_call{op=Op,args=As,ret=Rs}, Ctxt) -> - Txt = ["call (",format(Op, ctxt_bump_indent(Ctxt, 6)),$)], - Ctxt1 = ctxt_bump_indent(Ctxt, 2), - [Txt,format_args(As, Ctxt1), - format_ret(Rs, Ctxt1) - ]; -format_1(#k_enter{op=Op,args=As}, Ctxt) -> - Txt = ["enter (",format(Op, ctxt_bump_indent(Ctxt, 7)),$)], - Ctxt1 = ctxt_bump_indent(Ctxt, 2), - [Txt,format_args(As, Ctxt1)]; -format_1(#k_bif{op=Op,args=As,ret=Rs}, Ctxt) -> - Txt = ["bif (",format(Op, ctxt_bump_indent(Ctxt, 5)),$)], - Ctxt1 = ctxt_bump_indent(Ctxt, 2), - [Txt,format_args(As, Ctxt1), - format_ret(Rs, Ctxt1) - ]; -format_1(#k_test{op=Op,args=As}, Ctxt) -> - Txt = ["test (",format(Op, ctxt_bump_indent(Ctxt, 6)),$)], - Ctxt1 = ctxt_bump_indent(Ctxt, 2), - [Txt,format_args(As, Ctxt1)]; -format_1(#k_put{arg=A,ret=Rs}, Ctxt) -> - [format(A, Ctxt), - format_ret(Rs, ctxt_bump_indent(Ctxt, 1)) - ]; -format_1(#k_try{arg=A,vars=Vs,body=B,evars=Evs,handler=H,ret=Rs}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, Ctxt#ctxt.body_indent), - ["try", - nl_indent(Ctxt1), - format(A, Ctxt1), - nl_indent(Ctxt), - "of ", - format_hseq(Vs, ", ", ctxt_bump_indent(Ctxt, 3), fun format/2), - nl_indent(Ctxt1), - format(B, Ctxt1), - nl_indent(Ctxt), - "catch ", - format_hseq(Evs, ", ", ctxt_bump_indent(Ctxt, 6), fun format/2), - nl_indent(Ctxt1), - format(H, Ctxt1), - nl_indent(Ctxt), - "end", - format_ret(Rs, Ctxt) - ]; -format_1(#k_try_enter{arg=A,vars=Vs,body=B,evars=Evs,handler=H}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, Ctxt#ctxt.body_indent), - ["try_enter", - nl_indent(Ctxt1), - format(A, Ctxt1), - nl_indent(Ctxt), - "of ", - format_hseq(Vs, ", ", ctxt_bump_indent(Ctxt, 3), fun format/2), - nl_indent(Ctxt1), - format(B, Ctxt1), - nl_indent(Ctxt), - "catch ", - format_hseq(Evs, ", ", ctxt_bump_indent(Ctxt, 6), fun format/2), - nl_indent(Ctxt1), - format(H, Ctxt1), - nl_indent(Ctxt), - "end" - ]; -format_1(#k_catch{body=B,ret=Rs}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, Ctxt#ctxt.body_indent), - ["catch", - nl_indent(Ctxt1), - format(B, Ctxt1), - nl_indent(Ctxt), - "end", - format_ret(Rs, Ctxt1) - ]; -format_1(#k_break{args=As}, Ctxt) -> - ["<", - format_hseq(As, ",", ctxt_bump_indent(Ctxt, 1), fun format/2), - ">" - ]; -format_1(#k_return{args=As}, Ctxt) -> - ["<<", - format_hseq(As, ",", ctxt_bump_indent(Ctxt, 1), fun format/2), - ">>" - ]; -format_1(#k_fdef{func=F,arity=A,vars=Vs,body=B}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, Ctxt#ctxt.body_indent), - ["fdef ", - format_fa_pair({F,A}, ctxt_bump_indent(Ctxt, 5)), - format_args(Vs, ctxt_bump_indent(Ctxt, 14)), - " =", - nl_indent(Ctxt1), - format(B, Ctxt1) - ]; -format_1(#k_mdef{name=N,exports=Es,attributes=As,body=B}, Ctxt) -> - ["module ", - format(#k_literal{val=N}, ctxt_bump_indent(Ctxt, 7)), - nl_indent(Ctxt), - "export [", - format_vseq(Es, - "", ",", - ctxt_bump_indent(Ctxt, 8), - fun format_fa_pair/2), - "]", - nl_indent(Ctxt), - "attributes [", - format_vseq(As, - "", ",", - ctxt_bump_indent(Ctxt, 12), - fun format_attribute/2), - "]", - nl_indent(Ctxt), - format_vseq(B, - "", "", - Ctxt, - fun format/2), - nl_indent(Ctxt) - | "end" - ]; -%% Internal sys_kernel structures. -format_1(#iset{vars=Vs,arg=A,body=B}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, Ctxt#ctxt.body_indent), - ["set <", - format_hseq(Vs, ", ", ctxt_bump_indent(Ctxt, 5), fun format/2), - "> =", - nl_indent(Ctxt1), - format(A, Ctxt1), - nl_indent(Ctxt), - "in " - | format(B, ctxt_bump_indent(Ctxt, 2)) - ]; -format_1(#ifun{vars=Vs,body=B}, Ctxt) -> - Ctxt1 = ctxt_bump_indent(Ctxt, Ctxt#ctxt.body_indent), - ["fun ", - format_args(Vs, ctxt_bump_indent(Ctxt, 4)), - " ->", - nl_indent(Ctxt1) - | format(B, Ctxt1) - ]; -format_1(#k_opaque{val=V}, _Ctxt) -> - ["** Opaque: ", io_lib:write(V), " **\n"]; -format_1(Type, _Ctxt) -> - ["** Unsupported type: ", - io_lib:write(Type) - | " **" - ]. - -%% format_ret([RetVar], Context) -> Txt. -%% Format the return vars of kexpr. - -format_ret(Rs, Ctxt) -> - [" >> ", - "<", - format_hseq(Rs, ",", ctxt_bump_indent(Ctxt, 5), fun format/2), - ">"]. - -%% format_args([Arg], Context) -> Txt. -%% Format arguments. - -format_args(As, Ctxt) -> - [$(,format_hseq(As, ", ", ctxt_bump_indent(Ctxt, 1), fun format/2),$)]. - -%% format_hseq([Thing], Separator, Context, Fun) -> Txt. -%% Format a sequence horizontally. - -format_hseq([H], _Sep, Ctxt, Fun) -> - Fun(H, Ctxt); -format_hseq([H|T], Sep, Ctxt, Fun) -> - Txt = [Fun(H, Ctxt)|Sep], - Ctxt1 = ctxt_bump_indent(Ctxt, width(Txt, Ctxt)), - [Txt|format_hseq(T, Sep, Ctxt1, Fun)]; -format_hseq([], _, _, _) -> "". - -%% format_vseq([Thing], LinePrefix, LineSuffix, Context, Fun) -> Txt. -%% Format a sequence vertically. - -format_vseq([H], _Pre, _Suf, Ctxt, Fun) -> - Fun(H, Ctxt); -format_vseq([H|T], Pre, Suf, Ctxt, Fun) -> - [Fun(H, Ctxt),Suf,nl_indent(Ctxt),Pre| - format_vseq(T, Pre, Suf, Ctxt, Fun)]; -format_vseq([], _, _, _, _) -> "". - -format_fa_pair({F,A}, _Ctxt) -> [core_atom(F),$/,integer_to_list(A)]. - -%% format_attribute({Name,Val}, Context) -> Txt. - -format_attribute({Name,Val}, Ctxt) when is_list(Val) -> - Txt = format(#k_literal{val=Name}, Ctxt), - Ctxt1 = ctxt_bump_indent(Ctxt, width(Txt,Ctxt)+4), - [Txt," = ", - $[,format_vseq(Val, "", ",", Ctxt1, - fun (A, _C) -> io_lib:write(A) end),$] - ]; -format_attribute({Name,Val}, Ctxt) -> - Txt = format(#k_literal{val=Name}, Ctxt), - [Txt," = ",io_lib:write(Val)]. - -format_list_tail(#k_literal{anno=[],val=[]}, _Ctxt) -> "]"; -format_list_tail(#k_cons{anno=[],hd=H,tl=T}, Ctxt) -> - Txt = [$,|format(H, Ctxt)], - Ctxt1 = ctxt_bump_indent(Ctxt, width(Txt, Ctxt)), - [Txt|format_list_tail(T, Ctxt1)]; -format_list_tail(Tail, Ctxt) -> - ["|",format(Tail, ctxt_bump_indent(Ctxt, 1)), "]"]. - -format_bin_seg([], _Ctx) -> ""; -format_bin_seg(#k_bin_end{anno=[]}, _Ctxt) -> ""; -format_bin_seg(#k_bin_seg{anno=[],next=N}=Seg, Ctxt) -> - Txt = [$,|format_bin_seg_1(Seg, Ctxt)], - [Txt|format_bin_seg(N, ctxt_bump_indent(Ctxt, width(Txt, Ctxt)))]; -format_bin_seg(Seg, Ctxt) -> - ["|",format(Seg, ctxt_bump_indent(Ctxt, 2))]. - -format_bin_seg_1(#k_bin_seg{size=S,unit=U,type=T,flags=Fs,seg=Seg}, Ctxt) -> - [format(Seg, Ctxt), - ":",format(S, Ctxt),"*",io_lib:write(U), - ":",io_lib:write(T), - [[$-,io_lib:write(F)] || F <- Fs] - ]. - -% format_bin_elements(#k_binary_cons{hd=H,tl=T,size=S,info=I}, Ctxt) -> -% A = canno(T), -% Fe = fun (Eh, Es, Ei, Ct) -> -% [format(Eh, Ct),":",format(Es, Ct),"/",io_lib:write(Ei)] -% end, -% case T of -% #k_zero_binary{} when A == [] -> -% Fe(H, S, I, Ctxt); -% #k_binary_cons{} when A == [] -> -% Txt = [Fe(H, S, I, Ctxt)|","], -% Ctxt1 = ctxt_bump_indent(Ctxt, width(Txt, Ctxt)), -% [Txt|format_bin_elements(T, Ctxt1)]; -% _ -> -% Txt = [Fe(H, S, I, Ctxt)|"|"], -% [Txt|format(T, ctxt_bump_indent(Ctxt, width(Txt, Ctxt)))] -% end. - -indent(Ctxt) -> indent(Ctxt#ctxt.indent, Ctxt). - -indent(N, _Ctxt) when N =< 0 -> ""; -indent(N, Ctxt) -> - T = Ctxt#ctxt.tab_width, - lists:duplicate(N div T, $\t) ++ lists:duplicate(N rem T, $\s). - -nl_indent(Ctxt) -> [$\n|indent(Ctxt)]. - - -unindent(T, Ctxt) -> - unindent(T, Ctxt#ctxt.indent, Ctxt, []). - -unindent(T, N, _Ctxt, C) when N =< 0 -> - [T|C]; -unindent([$\s|T], N, Ctxt, C) -> - unindent(T, N - 1, Ctxt, C); -unindent([$\t|T], N, Ctxt, C) -> - Tab = Ctxt#ctxt.tab_width, - if N >= Tab -> - unindent(T, N - Tab, Ctxt, C); - true -> - unindent([lists:duplicate(Tab - N, $\s)|T], 0, Ctxt, C) - end; -unindent([L|T], N, Ctxt, C) when is_list(L) -> - unindent(L, N, Ctxt, [T|C]); -unindent([H|T], _N, _Ctxt, C) -> - [H|[T|C]]; -unindent([], N, Ctxt, [H|T]) -> - unindent(H, N, Ctxt, T); -unindent([], _, _, []) -> []. - - -width(Txt, Ctxt) -> - width(Txt, 0, Ctxt, []). - -width([$\t|T], A, Ctxt, C) -> - width(T, A + Ctxt#ctxt.tab_width, Ctxt, C); -width([$\n|T], _A, Ctxt, C) -> - width(unindent([T|C], Ctxt), Ctxt); -width([H|T], A, Ctxt, C) when is_list(H) -> - width(H, A, Ctxt, [T|C]); -width([_|T], A, Ctxt, C) -> - width(T, A + 1, Ctxt, C); -width([], A, Ctxt, [H|T]) -> - width(H, A, Ctxt, T); -width([], A, _, []) -> A. - -ctxt_bump_indent(Ctxt, Dx) -> - Ctxt#ctxt{indent=Ctxt#ctxt.indent + Dx}. - -core_atom(A) -> io_lib:write_string(atom_to_list(A), $'). diff --git a/lib/compiler/test/Makefile b/lib/compiler/test/Makefile index 6ca1e988da78..7efafc5e358f 100644 --- a/lib/compiler/test/Makefile +++ b/lib/compiler/test/Makefile @@ -111,10 +111,6 @@ INLINE= \ receive \ record -R23= \ - fun \ - bs_match - R24= \ bs_construct \ bs_utf \ @@ -148,8 +144,6 @@ NO_CORE_SSA_OPT_MODULES= $(NO_OPT:%=%_no_copt_ssa_SUITE) NO_CORE_SSA_OPT_ERL_FILES= $(NO_CORE_SSA_OPT_MODULES:%=%.erl) INLINE_MODULES= $(INLINE:%=%_inline_SUITE) INLINE_ERL_FILES= $(INLINE_MODULES:%=%.erl) -R23_MODULES= $(R23:%=%_r23_SUITE) -R23_ERL_FILES= $(R23_MODULES:%=%.erl) R24_MODULES= $(R24:%=%_r24_SUITE) R24_ERL_FILES= $(R24_MODULES:%=%.erl) R25_MODULES= $(R25:%=%_r25_SUITE) @@ -195,8 +189,7 @@ DISABLE_SSA_OPT = +no_bool_opt +no_share_opt +no_bsm_opt +no_fun_opt +no_ssa_opt make_emakefile: $(NO_OPT_ERL_FILES) $(POST_OPT_ERL_FILES) $(NO_SSA_OPT_ERL_FILES) \ $(NO_CORE_OPT_ERL_FILES) $(NO_CORE_SSA_OPT_ERL_FILES) \ - $(INLINE_ERL_FILES) $(R23_ERL_FILES) \ - $(NO_MOD_OPT_ERL_FILES) $(NO_TYPE_OPT_ERL_FILES) \ + $(INLINE_ERL_FILES) $(NO_MOD_OPT_ERL_FILES) $(NO_TYPE_OPT_ERL_FILES) \ $(DIALYZER_ERL_FILES) $(R24_ERL_FILES) $(R25_ERL_FILES) $(ERL_TOP)/make/make_emakefile $(ERL_COMPILE_FLAGS) -o$(EBIN) $(MODULES) \ > $(EMAKEFILE) @@ -212,8 +205,6 @@ make_emakefile: $(NO_OPT_ERL_FILES) $(POST_OPT_ERL_FILES) $(NO_SSA_OPT_ERL_FILES -o$(EBIN) $(NO_CORE_SSA_OPT_MODULES) >> $(EMAKEFILE) $(ERL_TOP)/make/make_emakefile +inline $(ERL_COMPILE_FLAGS) \ -o$(EBIN) $(INLINE_MODULES) >> $(EMAKEFILE) - $(ERL_TOP)/make/make_emakefile +r23 $(ERL_COMPILE_FLAGS) \ - -o$(EBIN) $(R23_MODULES) >> $(EMAKEFILE) $(ERL_TOP)/make/make_emakefile +r24 $(ERL_COMPILE_FLAGS) \ -o$(EBIN) $(R24_MODULES) >> $(EMAKEFILE) $(ERL_TOP)/make/make_emakefile +r25 $(ERL_COMPILE_FLAGS) \ @@ -290,7 +281,6 @@ release_tests_spec: make_emakefile $(EMAKEFILE) $(ERL_FILES) "$(RELSYSDIR)" $(INSTALL_DATA) $(NO_OPT_ERL_FILES) $(POST_OPT_ERL_FILES) \ $(INLINE_ERL_FILES) \ - $(R23_ERL_FILES) \ $(R24_ERL_FILES) \ $(R25_ERL_FILES) \ $(NO_CORE_OPT_ERL_FILES) \ diff --git a/lib/compiler/test/andor_SUITE.erl b/lib/compiler/test/andor_SUITE.erl index cf7e326f117b..511d08d60a22 100644 --- a/lib/compiler/test/andor_SUITE.erl +++ b/lib/compiler/test/andor_SUITE.erl @@ -495,11 +495,25 @@ in_case_1_guard(LenUp, LenDw, LenN, Rotation, Count) -> end. -record(state, {stack = []}). +-record(conf, {e1=[], e2=[], e3=[], e4=[], e5=[], e6=[]}). slow_compilation(_) -> - %% The function slow_compilation_1 used to compile very slowly. - ok = slow_compilation_1({a}, #state{}). + ok = slow_compilation_1({a}, #state{}), + {'EXIT', {function_clause,_}} = catch slow_compilation_2(#{}), + {'EXIT', {function_clause,_}} = catch slow_compilation_2(true), + + true = #conf{} =:= slow_compilation_3(#conf{}, #conf{}), + #conf{e1=a, e2=[], e3=[], e4=[], e5=[], e6=[]} = + slow_compilation_3(#conf{e1=a}, #conf{}), + #conf{e1=[], e2=[], e3=c, e4=[], e5=[], e6=[]} = + slow_compilation_3(#conf{e3=c}, #conf{}), + #conf{e1=[], e2=[], e3=[], e4=[], e5=[], e6=f} = + slow_compilation_3(#conf{e6=f}, #conf{}), + + ok. + +%% This function used to compile very slowly. slow_compilation_1(T1, #state{stack = [T2|_]}) when element(1, T2) == a, element(1, T1) == b, element(1, T1) == c -> ok; @@ -523,6 +537,31 @@ slow_compilation_1(_, T) when element(1, T) == b -> slow_compilation_1(T, _) when element(1, T) == a -> ok. +%% The following function used to compile really slowly (about one and +%% a half minutes on my computer). The culprit was +%% beam_ssa_bool:covered/1. (Thanks to Robin Morisset and erlfuzz.) +slow_compilation_2(X) + when X or is_function(ok, ok); + X#{ok := ok}#{ok := ok}#{ok := ok}#{ok := ok}#{ok := ok}#{ok := ok} + #{ok := ok}#{ok := ok}#{ok := ok}#{ok := ok}#{ok := ok}#{ok := ok} + #{ok := ok}#{ok := ok}#{ok := ok}#{ok := ok}#{ok := ok}#{ok := ok} + #{ok := ok}#{ok := ok}#{ok := ok}#{ok := ok}#{ok := ok}#{ok := ok} + #{ok := ok} -> + ok. + +%% GH-7338. Very slow compilation time (the culprit was beam_ssa_bool:covered/1). +slow_compilation_3(Old, New) -> + if Old#conf.e1 =/= New#conf.e1; + Old#conf.e2 =/= New#conf.e2; + Old#conf.e3 =/= New#conf.e3; + Old#conf.e4 =/= New#conf.e4; + Old#conf.e5 =/= New#conf.e5; + Old#conf.e6 =/= New#conf.e6 -> + Old; + true -> + New + end. + %% Utilities. echo(X) -> diff --git a/lib/compiler/test/beam_bounds_SUITE.erl b/lib/compiler/test/beam_bounds_SUITE.erl index e10f25c6886d..d5c27d0bdf3d 100644 --- a/lib/compiler/test/beam_bounds_SUITE.erl +++ b/lib/compiler/test/beam_bounds_SUITE.erl @@ -129,6 +129,16 @@ division_bounds(_Config) -> any = beam_bounds:bounds('div', {10,'+inf'}, {0,0}), {'EXIT', {badarith, _}} = catch division_bounds_1([], ok), + {-10,10} = beam_bounds:bounds('div', {0,10}, any), + {-50,50} = beam_bounds:bounds('div', {-50,-15}, {-10,'+inf'}), + {-20,20} = beam_bounds:bounds('div', {-20,10}, any), + {-7,7} = beam_bounds:bounds('div', {-5,7}, {'-inf',-1}), + {-42,42} = beam_bounds:bounds('div', {42,42}, any), + {-42,42} = beam_bounds:bounds('div', {-42,-42}, any), + + any = beam_bounds:bounds('div', {'-inf',10}, any), + any = beam_bounds:bounds('div', {0,'+inf'}, any), + ok. %% GH-6604: Division by zero could cause type analysis to hang forever as @@ -146,12 +156,26 @@ rem_bounds(_Config) -> {-7,7} = beam_bounds:bounds('rem', {'-inf',10}, {1,8}), {0,7} = beam_bounds:bounds('rem', {10,'+inf'}, {1,8}), + {0,'+inf'} = beam_bounds:bounds('rem', {17,'+inf'}, any), + + {0,10} = beam_bounds:bounds('rem', {1,10}, {'-inf',10}), + {0,'+inf'} = beam_bounds:bounds('rem', {20,'+inf'}, {10,'+inf'}), + {'-inf',10} = beam_bounds:bounds('rem', {'-inf',10}, any), - any = beam_bounds:bounds('rem', {1,10}, {'-inf',10}), - any = beam_bounds:bounds('rem', {1,10}, {10,'+inf'}), + {-11,10} = beam_bounds:bounds('rem', {-11,10}, {'-inf',89}), + {-11,10} = beam_bounds:bounds('rem', {-11,10}, {7,'+inf'}), + {-11,10} = beam_bounds:bounds('rem', {-11,10}, {'-inf',113}), + {-11,10} = beam_bounds:bounds('rem', {-11,10}, {55,'+inf'}), + {-11,10} = beam_bounds:bounds('rem', {-11,10}, any), - any = beam_bounds:bounds('rem', {-10,10}, {'-inf',10}), - any = beam_bounds:bounds('rem', {-10,10}, {10,'+inf'}), + {0,0} = beam_bounds:bounds('rem', {0,0}, any), + {0,1} = beam_bounds:bounds('rem', {1,1}, any), + {0,2} = beam_bounds:bounds('rem', {2,2}, any), + {0,3} = beam_bounds:bounds('rem', {2,3}, any), + + {-1,0} = beam_bounds:bounds('rem', {-1,-1}, any), + {-7,0} = beam_bounds:bounds('rem', {-7,-7}, any), + {-6,0} = beam_bounds:bounds('rem', {-6,-4}, any), ok. @@ -171,8 +195,18 @@ band_bounds(_Config) -> bor_bounds(_Config) -> test_commutative('bor'), - any = beam_bounds:bounds('bor', {-10,0},{-1,10}), - any = beam_bounds:bounds('bor', {-20,-10}, {-1,10}), + {'-inf',15} = beam_bounds:bounds('bor', {-10,7},{3,10}), + {'-inf',11} = beam_bounds:bounds('bor', {-10,1},{-1,10}), + {'-inf',-1} = beam_bounds:bounds('bor', {-20,-10}, {-2,10}), + + {'-inf',15} = beam_bounds:bounds('bor', {'-inf',10}, {3,5}), + {'-inf',-1} = beam_bounds:bounds('bor', {-20,-10}, {-100,-50}), + + any = beam_bounds:bounds('bor', {-20,-10}, {-2,'+inf'}), + any = beam_bounds:bounds('bor', {-20,'+inf'}, {-7,-3}), + + {16,'+inf'} = beam_bounds:bounds('bor', {0,8}, {16,'+inf'}), + {16,'+inf'} = beam_bounds:bounds('bor', {3,'+inf'}, {16,'+inf'}), ok. @@ -196,8 +230,17 @@ bnot_bounds(_Config) -> {99,'+inf'} = beam_bounds:bounds('bnot', {'-inf',-100}), {'-inf',-8} = beam_bounds:bounds('bnot', {7,'+inf'}), {'-inf',9} = beam_bounds:bounds('bnot', {-10,'+inf'}), + {-1114111,'+inf'} = beam_bounds:bounds('bnot', {'-inf', 1114110}), -1 = bnot_bounds_2(0), + -43 = bnot_bounds_2_coverage(id(42)), + {'EXIT',{badarith,_}} = catch bnot_bounds_2_coverage(id(bad)), + + {'EXIT',{_,_}} = catch bnot_bounds_3(id(true)), + {'EXIT',{_,_}} = catch bnot_bounds_3(id(false)), + {'EXIT',{_,_}} = catch bnot_bounds_3(id(0)), + + {'EXIT',{{bad_generator,-3},_}} = catch bnot_bounds_4(), ok. @@ -217,6 +260,17 @@ bnot_bounds_1(R) -> bnot_bounds_2(0) -> -1; bnot_bounds_2(N) -> abs(bnot bnot_bounds_2(N)). +bnot_bounds_2_coverage(N) -> bnot N. + +%% GH-7468. Would result in a bad_typed_register failure in beam_validator. +bnot_bounds_3(A) -> + (bnot round(((A xor false) andalso 1) + 2)) bsr ok. + +%% GH-7468. Would result in a bad_arg_type failure in beam_validator. +bnot_bounds_4() -> + << 0 || A <- [1,2], _ <- bnot round(A + trunc(A))>>. + + bsr_bounds(_Config) -> test_noncommutative('bsr', {-12,12}, {0,7}), @@ -237,8 +291,13 @@ bsl_bounds(_Config) -> {2,'+inf'} = beam_bounds:bounds('bsl', {1,10}, {1,10_000}), {0,'+inf'} = beam_bounds:bounds('bsl', {1,10}, {-10,10_000}), + {'-inf',-20} = beam_bounds:bounds('bsl', {-30,-10}, {1,10_000}), + {'-inf',-2} = beam_bounds:bounds('bsl', {-9,-1}, {1,10_000}), any = beam_bounds:bounds('bsl', {-7,10}, {1,10_000}), + {0,'+inf'} = beam_bounds:bounds('bsl', {0,'+inf'}, {0,'+inf'}), + {20,'+inf'} = beam_bounds:bounds('bsl', {20,30}, {0,'+inf'}), + any = beam_bounds:bounds('bsl', {-10,100}, {0,'+inf'}), any = beam_bounds:bounds('bsl', {-10,100}, {1,'+inf'}), any = beam_bounds:bounds('bsl', {-10,100}, {-1,'+inf'}), @@ -251,6 +310,11 @@ bsl_bounds(_Config) -> {'-inf',-1} = beam_bounds:bounds('bsl', {-10,-1}, {500,1024}), {0,'+inf'} = beam_bounds:bounds('bsl', {1,10}, {500,1024}), + {'-inf',-40} = beam_bounds:bounds('bsl', {'-inf',-10}, {2,64}), + {'-inf',224} = beam_bounds:bounds('bsl', {'-inf',7}, {3,5}), + + any = beam_bounds:bounds('bsl', {'-inf',7}, {3,'+inf'}), + ok. lt_bounds(_Config) -> @@ -281,6 +345,10 @@ min_bounds(_Config) -> {1,100} = min_bounds({1,100}, {100,'+inf'}), {100,200} = min_bounds({150,200}, {100,'+inf'}), + {'-inf',10} = min_bounds({1,10}, any), + any = min_bounds({1,'+inf'}, any), + {'-inf',777} = min_bounds(any, {'-inf',777}), + ok. min_bounds(R1, R2) -> @@ -303,6 +371,10 @@ max_bounds(_Config) -> {100,'+inf'} = max_bounds({1,100}, {100,'+inf'}), {150,'+inf'} = max_bounds({150,200}, {100,'+inf'}), + {1,'+inf'} = max_bounds({1,99}, any), + {10,'+inf'} = max_bounds({10,'+inf'}, any), + any = max_bounds({'-inf',70}, any), + ok. max_bounds(R1, R2) -> @@ -554,3 +626,10 @@ test_redundant_masking({A,B}=R, M) -> test_redundant_masking(A, B, M) when A =< B -> A band M =:= A andalso test_redundant_masking(A + 1, B, M); test_redundant_masking(_, _, _) -> true. + +%%% +%%% Common utilities. +%%% + +id(I) -> + I. diff --git a/lib/compiler/test/beam_ssa_SUITE.erl b/lib/compiler/test/beam_ssa_SUITE.erl index 0bb485c7f1bb..489a39bbb9fa 100644 --- a/lib/compiler/test/beam_ssa_SUITE.erl +++ b/lib/compiler/test/beam_ssa_SUITE.erl @@ -27,7 +27,8 @@ beam_ssa_dead_crash/1,stack_init/1, mapfoldl/0,mapfoldl/1, grab_bag/1,redundant_br/1, - coverage/1,normalize/1]). + coverage/1,normalize/1, + trycatch/1,gh_6599/1]). suite() -> [{ct_hooks,[ts_install_cth]}]. @@ -49,7 +50,9 @@ groups() -> grab_bag, redundant_br, coverage, - normalize + normalize, + trycatch, + gh_6599 ]}]. init_per_suite(Config) -> @@ -73,6 +76,11 @@ calls(Config) -> {'EXIT',{badarg,_}} = (catch call_error()), {'EXIT',{badarg,_}} = (catch call_error(42)), 5 = start_it([erlang,length,1,2,3,4,5]), + + {_,ok} = cover_call(id(true)), + {_,ok} = cover_call(id(false)), + {'EXIT',{{case_clause,ok},_}} = catch cover_call(id(ok)), + ok. fun_call(Fun, X0) -> @@ -103,6 +111,16 @@ start_it([_|_]=MFA) -> [M,F|Args] -> M:F(Args) end. +cover_call(A) -> + case A =/= ok of + B -> + {(term_to_binary(ok)), + case ok of + _ when B -> ok + end} + end. + + tuple_matching(_Config) -> do_tuple_matching({tag,42}), @@ -454,6 +472,10 @@ maps(_Config) -> [] = maps_3(), + {'EXIT',{{badmap,true},_}} = catch maps_4(id(true), id(true)), + error = maps_4(id(#{}), id(true)), + error = maps_4(id(#{}), id(#{})), + ok. maps_1(K) -> @@ -535,6 +557,16 @@ maps_3() -> [] end -- []. +maps_4(A, B = A) when B; A -> + A#{ok := ok}, + try A of + B -> B + after + ok + end#{ok := ok}; +maps_4(_, _) -> + error. + -record(wx_ref, {type=any_type,ref=any_ref}). cover_ssa_dead(_Config) -> @@ -1334,6 +1366,16 @@ normalize_swapped(Op, [#b_literal{}=Lit,#b_var{}=Var]=Args) -> I2 = make_bset(ArgTypes0, Op, Args), {[{0,IntRange}],Op,[Var,Lit]} = unpack_bset(beam_ssa:normalize(I2)), + LitType = beam_types:make_type_from_value(Lit), + + ArgTypes1 = [{0,LitType}], + I3 = make_bset(ArgTypes1, Op, Args), + {[],Op,[Var,Lit]} = unpack_bset(beam_ssa:normalize(I3)), + + ArgTypes2 = [{0,LitType},{1,IntRange}], + I4 = make_bset(ArgTypes1, Op, Args), + {[],Op,[Var,Lit]} = unpack_bset(beam_ssa:normalize(I4)), + ok. make_bset(ArgTypes, Op, Args) when is_list(ArgTypes) -> @@ -1346,5 +1388,136 @@ unpack_bset({b_set,Anno,{b_var,1000},Op,Args}) -> ArgTypes = maps:get(arg_types, Anno, #{}), {lists:sort(maps:to_list(ArgTypes)),Op,Args}. +trycatch(_Config) -> + 8 = trycatch_1(), + + ok = trycatch_2(id(ok)), + ok = trycatch_2(id(z)), + + false = trycatch_3(id(42)), + + ok. + +trycatch_1() -> + try B = (A = bit_size(iolist_to_binary("a"))) rem 1 of + _ -> + A; + _ -> + B + after + ok + end. + +trycatch_2(A) -> + try not (B = (ok >= A)) of + B -> + iolist_size(maybe + [] ?= B, + <<>> ?= list_to_binary(ok) + end); + _ -> + ok + after + ok + end. + +trycatch_3(A) -> + try erlang:bump_reductions(A) of + B -> + try not (C = (B andalso is_number(ok))) of + C -> + ok andalso ok; + _ -> + C + catch + _ -> + ok + end + after + ok + end. + +%% GH-6599. beam_validator would not realize that the code was safe. +gh_6599(_Config) -> + ok = gh_6599_1(id(42), id(42)), + #{ok := ok} = gh_6599_1(id(#{ok => 0}), id(#{ok => 0})), + + {'EXIT',{{try_clause,#{ok:=ok}},_}} = + catch gh_6599_2(id(whatever), id(#{0 => whatever})), + + ok = gh_6599_3(id(true), id(true)), + {'EXIT',{function_clause,_}} = catch gh_6599_3(id(false), id(false)), + 0.0 = gh_6599_3(id(0.0), id(0.0)), + + {'EXIT',{{badmatch,true},_}} = catch gh_6599_4(id(false)), + + {'EXIT',{{badmatch,ok},_}} = catch gh_6599_5(id([a]), id(#{0 => [a]}), id([a])), + + #{ok := ok} = gh_6599_6(id(#{}), id(#{})), + {'EXIT',{{badmap,a},_}} = catch gh_6599_6(id(a), id(a)), + + {'EXIT',{{badarg,ok},_}} = catch gh_6599_7(id([a]), id([a])), + + ok. + +gh_6599_1(X, X) when is_integer(X) -> + ok; +gh_6599_1(Y, Y = #{}) -> + Y#{ok := ok}. + +gh_6599_2(X, #{0 := X, 0 := Y}) -> + try #{ok => ok} of + Y -> + bnot (Y = X) + after + ok + end. + +gh_6599_3(X, X) when X -> + ok; +gh_6599_3(X, X = 0.0) -> + X + X. + +gh_6599_4(X) -> + Y = + try + false = X + catch + _ -> + ok + end /= ok, + X = Y, + false = Y, + 0 = ok. + +%% Crashes in beam_ssa_type because a type assertion fails. +gh_6599_5(X, #{0 := X, 0 := Y}, Y=[_ | _]) -> + try + Y = ok + catch + _ -> + [_ | []] = Y = X + end. + +gh_6599_6(A, B = A) -> + A#{}, + case A of B -> B end#{ok => ok}. + +gh_6599_7(X, Y) -> + try Y of + X -> + (id( + try ([_ | _] = Y) of + X -> + ok + after + ok + end + ) orelse X) bsl 0 + after + ok + end. + + %% The identity function. id(I) -> I. diff --git a/lib/compiler/test/beam_ssa_check_SUITE_data/alias.erl b/lib/compiler/test/beam_ssa_check_SUITE_data/alias.erl index 5375298493e3..9f8d74e709f3 100644 --- a/lib/compiler/test/beam_ssa_check_SUITE_data/alias.erl +++ b/lib/compiler/test/beam_ssa_check_SUITE_data/alias.erl @@ -19,6 +19,7 @@ %% This module tests that beam_ssa_alias_opt:opt/2 correctly annotates %% instructions with information about unique and aliased operands. %% +-feature(maybe_expr, enable). -compile(no_ssa_opt_private_append). @@ -65,7 +66,25 @@ stacktrace1/0, in_cons/0, make_fun/0, - gh6925/0]). + gh6925/0, + binary_part_aliases/2, + aliased_map_lookup_bif/1, + aliased_map_lookup_instr/1, + aliased_tuple_element_bif/1, + aliased_tuple_element_bif/2, + aliased_tuple_element_instr/1, + aliased_pair_hd_bif/1, + aliased_pair_tl_bif/1, + aliased_pair_hd_instr/1, + aliased_pair_tl_instr/1, + aliasing_after_tuple_extract/1, + alias_after_pair_hd/1, + alias_after_pair_tl/1, + + double_map_lookup/2, + double_tuple_element/2, + tuple_element_aliasing/0, + tuple_element_from_tuple_with_existing_child/0]). %% Trivial smoke test transformable0(L) -> @@ -262,8 +281,8 @@ transformable12b(L) -> %% The type analysis can't handle the list yet transformable12([H|T], {Acc}) -> %ssa% (_, _) when post_ssa_opt -> -%ssa% _ = bs_create_bin(append, _, A, _, _, _, B, _) { aliased => [B, A], first_fragment_dies => true }, -%ssa% _ = bs_create_bin(append, _, C, _, _, _, D, _) { aliased => [D, C], first_fragment_dies => true }. +%ssa% _ = bs_create_bin(append, _, A, _, _, _, B, _) { aliased => [B], unique => [A], first_fragment_dies => true }, +%ssa% _ = bs_create_bin(append, _, C, _, _, _, D, _) { aliased => [D], unique => [C], first_fragment_dies => true }. transformable12([H|T], {<>}); transformable12([H|T], [Acc]) -> transformable12([H|T], [<>]); @@ -672,3 +691,187 @@ gh6925() -> A = << <<"x">> || true >>, B = <>, {A, B}. + +%% Check that bif:binary_part/3 is correctly flagged as an operation +%% which aliases its operands +binary_part_aliases(A, B) -> +%ssa% (_,_) when post_ssa_opt -> +%ssa% X = bif:binary_part(_, _, _), +%ssa% ret(X) {aliased => [X]}. + binary_part(<<>>, A, B). + +%% Check that as the map is aliased, the extracted value should also +%% be aliased. +aliased_map_lookup_bif(M) -> +%ssa% (M) when post_ssa_opt -> +%ssa% X = bif:map_get(a, M), +%ssa% ret(X) {aliased => [X]}. + map_get(a, M). + +%% Check that as the map is aliased, the extracted value should also +%% be aliased. +aliased_map_lookup_instr(M) -> +%ssa% (M) when post_ssa_opt -> +%ssa% X = get_map_element(M, a), +%ssa% ret(X) {aliased => [X]}. + #{a:=X} = M, + X. + +%% Check that as the tuple is aliased, the extracted value should also +%% be aliased. +aliased_tuple_element_bif(T) -> +%ssa% (T) when post_ssa_opt -> +%ssa% X = bif:element(1, T), +%ssa% ret(X) {aliased => [X]}. + element(1, T). + +%% Check that as the tuple is aliased, the extracted value should also +%% be aliased. +aliased_tuple_element_instr(T) -> +%ssa% (T) when post_ssa_opt -> +%ssa% X = get_tuple_element(T, 0), +%ssa% ret(X) {aliased => [X]}. + {X} = T, + X. + +%% Check that alias analysis doesn't crash when element is given a +%% non-constant index. +aliased_tuple_element_bif(T, I) -> +%ssa% (T, I) when post_ssa_opt -> +%ssa% X = bif:element(I, T), +%ssa% ret(X) {aliased => [X]}. + element(I, T). + +%% Check that as the pair is aliased, the extracted value should also +%% be aliased. +aliased_pair_hd_bif(Ls) -> +%ssa% (Ls) when post_ssa_opt -> +%ssa% X = bif:hd(Ls), +%ssa% ret(X) {aliased => [X]}. + hd(Ls). + +%% Check that as the pair is aliased, the extracted value should also +%% be aliased. +aliased_pair_tl_bif(Ls) -> +%ssa% (Ls) when post_ssa_opt -> +%ssa% X = bif:tl(Ls), +%ssa% ret(X) {aliased => [X]}. + tl(Ls). + +%% Check that as the pair is aliased, the extracted value should also +%% be aliased. +aliased_pair_hd_instr(Ls) -> +%ssa% (Ls) when post_ssa_opt -> +%ssa% X = get_hd(Ls), +%ssa% ret(X) {aliased => [X]}. + [X|_] = Ls, + X. + +%% Check that as the pair is aliased, the extracted value should also +%% be aliased. +aliased_pair_tl_instr(Ls) -> +%ssa% (Ls) when post_ssa_opt -> +%ssa% X = get_tl(Ls), +%ssa% ret(X) {aliased => [X]}. + [_|X] = Ls, + X. + +aliasing_after_tuple_extract(N) -> + aliasing_after_tuple_extract(N, {<<>>, dummy}). + +%% Check that both the tuple (Acc) and the extracted element (X) are +%% aliased. +aliasing_after_tuple_extract(0, Acc) -> +%ssa% (_,Acc) when post_ssa_opt -> +%ssa% X = get_tuple_element(Acc, 0) {aliased => [Acc]}, +%ssa% _ = bs_create_bin(_,_,X,...) {aliased => [X]}. + Acc; +aliasing_after_tuple_extract(N, Acc) -> + {X,_} = Acc, + aliasing_after_tuple_extract(N - 1, {<>, Acc}). + + +%% Check that both the pair (Acc) and the extracted element (X) are +%% aliased. +alias_after_pair_hd(N) -> + alias_after_pair_hd(N, [<<>>|dummy]). + +alias_after_pair_hd(0, Acc) -> + Acc; +alias_after_pair_hd(N, Acc) -> +%ssa% (_,Acc) when post_ssa_opt -> +%ssa% X = get_hd(Acc) {aliased => [Acc]}, +%ssa% _ = bs_create_bin(_,_,X,...) {aliased => [X]}. + [X|_] = Acc, + alias_after_pair_hd(N - 1, [<>|Acc]). + +%% Check that both the pair (Acc) and the extracted element (X) are +%% aliased. +alias_after_pair_tl(N) -> + alias_after_pair_tl(N, [dummy|<<>>]). + +alias_after_pair_tl(0, Acc) -> + Acc; +alias_after_pair_tl(N, Acc) -> +%ssa% (_,Acc) when post_ssa_opt -> +%ssa% X = get_tl(Acc) {aliased => [Acc]}, +%ssa% _ = bs_create_bin(_,_,X,...) {aliased => [X]}. + [_|X] = Acc, + alias_after_pair_tl(N - 1, [Acc|<>]). + +%% Check that although the map is unique, the extracted values should +%% always be aliased as we can't know if they are the same. +%% +double_map_lookup(A, B) -> +%ssa% (A, B) when post_ssa_opt -> +%ssa% X = bif:map_get(A, Map), +%ssa% Y = bif:map_get(B, Map), +%ssa% _ = put_tuple(X, Y) {aliased => [X,Y]}. + Map = make_map(), + X = map_get(A, Map), + Y = map_get(B, Map), + {X, Y}. + +make_map() -> + #{a=> <<>>, b=> <<>>}. + +%% Check that although the tuple is unique, the extracted values should +%% always be aliased as we can't know if they are the same. +%% +double_tuple_element(A, B) -> +%ssa% (A, B) when post_ssa_opt -> +%ssa% X = bif:element(A, T), +%ssa% Y = bif:element(B, T), +%ssa% _ = put_tuple(X, Y) {aliased => [X,Y]}. + T = make_empty_binary_tuple(), + X = element(A, T), + Y = element(B, T), + {X, Y}. + +%% Check that both T and X are aliased to prevent the append to be +%% rewritten to a private_append. +tuple_element_aliasing() -> +%ssa% () when post_ssa_opt -> +%ssa% T = call(fun make_empty_binary_tuple/0), +%ssa% X = get_tuple_element(T, 0) { aliased => [T]}, +%ssa% Y = bs_create_bin(append, _, X, _, _, _, B, _) { aliased => [X] }, +%ssa% Z = put_tuple(Y, T) {aliased => [T, Y] }. + T = make_empty_binary_tuple(), + X = element(1, T), + Z = <>, + {Z, T}. + +%% Check that alias analysis doesn't crash when extracting an element +%% from a tuple which already has a derived value associated with it. +%% Test case found by Robin Morisset. +tuple_element_from_tuple_with_existing_child() -> + [ 0 || _V1 <- erlang:memory(), + { maybe + error ?= _V1, + ok + end, + maybe + {<<_>>} ?= _V1, + ok + end } ]. + diff --git a/lib/compiler/test/beam_ssa_check_SUITE_data/appendable.erl b/lib/compiler/test/beam_ssa_check_SUITE_data/appendable.erl index 7063debd1b3e..183915e14ea8 100644 --- a/lib/compiler/test/beam_ssa_check_SUITE_data/appendable.erl +++ b/lib/compiler/test/beam_ssa_check_SUITE_data/appendable.erl @@ -17,7 +17,7 @@ %% %CopyrightEnd% -module(appendable). -export([make_empty/0, t0/0, t1/0, t2/0, t3/0, t4/0, - t5/0, t6/0, t7/0, t8/1, t9/1, t10/1, t11/1, t12/0]). + t5/0, t6/0, t7/0, t8/1, t9/1, t10/1, t11/1, t12/0, t13/0]). %% Check that just returning an empty bitstring is considered %% appendable. @@ -160,3 +160,12 @@ t12() -> t12_inner([x|B]) -> [x|<>]. + +%% Check that the compiler doesn't infer anything about the appendable +%% status of a bitstring from a comparison. +t13() -> +%ssa% () when post_ssa_opt -> +%ssa% B = bif:binary_part(A, 0, 0), +%ssa% C = bif:'=:='(B, A) { arg_types => #{ 0 => {t_bitstring,8,false}, 1 => {t_bitstring,256,true}} }, +%ssa% _ = bs_create_bin(append, _, B, ...) { arg_types => #{ 2 => {t_bitstring,256,false} } }. + <<(_V4 = binary_part(_V4 = <<0 || _ <- []>>, 0, 0))/bitstring>>. diff --git a/lib/compiler/test/beam_ssa_check_SUITE_data/nifs.erl b/lib/compiler/test/beam_ssa_check_SUITE_data/nifs.erl new file mode 100644 index 000000000000..d91b00e11c86 --- /dev/null +++ b/lib/compiler/test/beam_ssa_check_SUITE_data/nifs.erl @@ -0,0 +1,61 @@ +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% +%% This module tests that beam_ssa_opt:opt/2 correctly handles modules +%% containing nifs. +%% +-module(nifs). + +-export([load_nif/0, calling_normal_fun/0, calling_nif/0]). + +-nifs([a_nif/0]). + +load_nif() -> + ok = erlang:load_nif("dummy", 0). + +not_a_nif() -> + 1. + +a_nif() -> + 2. + +%% If beam_ssa_opt:isolate_nifs/1 and beam_ssa_opt:restore_nifs/2 fail +%% to do their jobs, and somehow disable beam_ssa_opt-optimizations, +%% the result of not_a_nif() + not_a_nif() won't be statically +%% evaluated. +calling_normal_fun() -> +%ssa% () when post_ssa_opt -> +%ssa% ret(2), +%ssa% label 1, +%ssa% ret(_). + not_a_nif() + not_a_nif(). + +%% If beam_ssa_opt:isolate_nifs/1 and beam_ssa_opt:restore_nifs/2 fail +%% to do their jobs and somehow allow the function marked as a NIF to +%% be statically evaluated, the addition will have been removed. Also +%% check that the local calls to the NIFs have been restored to a call +%% within the module. +calling_nif() -> +%ssa% () when post_ssa_opt -> +%ssa% A = call(fun a_nif/0), +%ssa% B = call(fun a_nif/0), +%ssa% Sum = bif:'+'(A, B), +%ssa% ret(Sum), +%ssa% label 1, +%ssa% ret(_). + a_nif() + a_nif(). diff --git a/lib/compiler/test/beam_ssa_check_SUITE_data/private_append.erl b/lib/compiler/test/beam_ssa_check_SUITE_data/private_append.erl index c1edc5446075..c522607b2d77 100644 --- a/lib/compiler/test/beam_ssa_check_SUITE_data/private_append.erl +++ b/lib/compiler/test/beam_ssa_check_SUITE_data/private_append.erl @@ -80,7 +80,10 @@ id/1, - bs_create_bin_on_literal/0]). + bs_create_bin_on_literal/0, + + crash_in_value_tracking/3, + crash_in_value_tracking_inner/3]). %% Trivial smoke test transformable0(L) -> @@ -315,31 +318,30 @@ transformable11([_|T], Acc)-> transformable11([], Acc) -> Acc. -% Broken, type analysis can't handle the list transformable12a(L) -> -%ssa% xfail (_) when post_ssa_opt -> +%ssa% (_) when post_ssa_opt -> %ssa% A = bs_init_writable(_), %ssa% B = put_tuple(A), %ssa% _ = call(fun transformable12/2, _, B). transformable12(L, {<<>>}). transformable12b(L) -> -%ssa% xfail (_) when post_ssa_opt -> +%ssa% (_) when post_ssa_opt -> %ssa% A = bs_init_writable(_), -%ssa% B = put_list(A, '_'), +%ssa% B = put_list(A, _), %ssa% _ = call(fun transformable12/2, _, B). transformable12(L, [<<>>]). %% The type analysis can't handle the list yet transformable12([H|T], {Acc}) -> -%ssa% xfail (_, Arg1) when post_ssa_opt -> +%ssa% (_, Arg1) when post_ssa_opt -> %ssa% A = get_hd(Arg1), %ssa% B = bs_create_bin(private_append, _, A, ...), %ssa% C = put_list(B, _), %ssa% _ = call(fun transformable12/2, _, C), %ssa% D = get_tuple_element(Arg1, 0), %ssa% E = bs_create_bin(private_append, _, D, ...), -%ssa% F = put_tuple('E'), +%ssa% F = put_tuple(E), %ssa% _ = call(fun transformable12/2, _, F). transformable12([H|T], {<>}); transformable12([H|T], [Acc]) -> @@ -1002,3 +1004,24 @@ bs_create_bin_on_literal() -> end)/bytes >>/binary >>. + +%% Check that the beam_ssa_private_append pass doesn't crash, if it, +%% during initial value tracking, ends up in operations which do not +%% create bit strings. This can happen as the initial value tracking +%% in beam_ssa_private_append doesn't consider types. As the decision +%% to apply the private append transform is using type information, +%% tracking values into not type-compatible execution paths is +%% harmless. +crash_in_value_tracking_inner(_, 1.0, _) -> +%ssa% (_, _, _) when post_ssa_opt -> +%ssa% _ = bs_init_writable(_). + (<<>>); +crash_in_value_tracking_inner(_V1, _, _) when _V1 -> + _V1. + +crash_in_value_tracking(_, _V0, _) -> +%ssa% (_, _, _) when post_ssa_opt -> +%ssa% _ = bs_create_bin(private_append, ...). + ((<<((crash_in_value_tracking_inner( + {#{#{ ok => ok || _ := _ <- ok} => ok}, + _V0, false, _V0, "Bo"}, _V0, ok)))/bytes>>) =/= ok). diff --git a/lib/compiler/test/beam_ssa_check_SUITE_data/sanity_checks.erl b/lib/compiler/test/beam_ssa_check_SUITE_data/sanity_checks.erl index 47c60fd8d6fb..a97c00359b4b 100644 --- a/lib/compiler/test/beam_ssa_check_SUITE_data/sanity_checks.erl +++ b/lib/compiler/test/beam_ssa_check_SUITE_data/sanity_checks.erl @@ -244,7 +244,7 @@ t32(X) -> t33(X) -> %ssa% (X) when post_ssa_opt -> %ssa% A = bif:'=='(X, 1), -%ssa% br(A, 5, 4). +%ssa% br(A, 9, 8). true = X == 1. %% Check that we handle a branch and variable labels diff --git a/lib/compiler/test/beam_type_SUITE.erl b/lib/compiler/test/beam_type_SUITE.erl index 707c7ca80b1e..49b5cb6e745c 100644 --- a/lib/compiler/test/beam_type_SUITE.erl +++ b/lib/compiler/test/beam_type_SUITE.erl @@ -31,7 +31,7 @@ switch_fail_inference/1,failures/1, cover_maps_functions/1,min_max_mixed_types/1, not_equal/1,infer_relops/1,binary_unit/1,premature_concretization/1, - funs/1]). + funs/1,will_succeed/1]). %% Force id/1 to return 'any'. -export([id/1]). @@ -75,7 +75,8 @@ groups() -> infer_relops, binary_unit, premature_concretization, - funs + funs, + will_succeed ]}]. init_per_suite(Config) -> @@ -1046,8 +1047,16 @@ sto_1(step_4_3) -> {b, [sto_1(case_3_3)]}. %% 3, so we must not subtract 2 on the failure path. type_subtraction(Config) when is_list(Config) -> true = type_subtraction_1(id(<<"A">>)), + + ok = type_subtraction_2(id(true)), + <<"aaaa">> = type_subtraction_2(id(false)), + {'EXIT', _} = catch type_subtraction_3(id(false)), + ok = catch type_subtraction_4(id(ok)), + {'EXIT', _} = catch type_subtraction_4(id(false)), + ok. + type_subtraction_1(_x@1) -> _a@1 = ts_12(_x@1), _b@1 = ts_23(_x@1), @@ -1072,6 +1081,41 @@ ts_23(_x@1) -> 2 end. +type_subtraction_2(X) -> + case ts_34(X) of + Tuple when element(1, Tuple) =:= ok -> + ok; + Tuple when element(1, Tuple) =:= error -> + element(2, Tuple) + end. + +ts_34(X) -> + case X of + true -> {ok}; + false -> {error, <<"aaaa">>} + end. + +type_subtraction_3(_V0) when is_boolean(_V0), is_binary(_V0), _V0 andalso _V0 -> + ok. + +type_subtraction_4(_V0) -> + try + _V0 = ok + catch + _ -> + << + 0 + || _V0 := _ <- ok, + (try ok of + _ when _V0, (_V0 andalso _V0) orelse trunc(ok) -> + ok + catch + _ -> + ok + end) + >> + end. + %% GH-4774: The validator didn't update container contents on type subtraction. container_subtraction(Config) when is_list(Config) -> A = id(baz), @@ -1093,6 +1137,11 @@ cs_2({bar,baz}) -> is_list_opt(_Config) -> true = is_list_opt_1(id(<<"application/a2l">>)), false = is_list_opt_1(id(<<"">>)), + + ok = is_list_opt_3(id([])), + true = is_list_opt_3(id([a])), + {'EXIT',{badarg,_}} = catch is_list_opt_3(id(no_list)), + ok. is_list_opt_1(Type) -> @@ -1104,6 +1153,16 @@ is_list_opt_1(Type) -> is_list_opt_2(<<"application/a2l">>) -> [<<"a2l">>]; is_list_opt_2(_Type) -> nil. +is_list_opt_3([]) -> + ok; +is_list_opt_3(A) -> + %% The call to is_list/1 would be optimized to an is_nonempty_list + %% instruction, which only exists as a guard test that cannot + %% produce boolean value. + _ = (Bool = is_list(A)) orelse binary_to_integer(<<"">>), + Bool. + + %% We used to determine the type of `get_tuple_element` at the time of %% extraction, which is simple but sometimes throws away type information when %% on tuple unions. @@ -1433,6 +1492,18 @@ gh_7197() -> ok end]. +will_succeed(_Config) -> + b = will_succeed_1(id(ok), id(#{})), + ok. + +%% OTP-18576: the beam_call_types:will_succeed/3 check was incorrect for 'bsl', +%% erroneously stating that it would never fail in some instances. +will_succeed_1(_V0, _V1) + when (1 bsl ((map_size(_V1) bxor 288230376151711743) + band 288230376151711743)) =:= _V0 -> + a; +will_succeed_1(_, _) -> + b. %%% %%% Common utilities. diff --git a/lib/compiler/test/beam_validator_SUITE.erl b/lib/compiler/test/beam_validator_SUITE.erl index 2092d7401a97..7a663272a850 100644 --- a/lib/compiler/test/beam_validator_SUITE.erl +++ b/lib/compiler/test/beam_validator_SUITE.erl @@ -153,8 +153,8 @@ stack(Config) when is_list(Config) -> Errors = do_val(stack, Config), [{{t,a,2},{return,9,{stack_frame,2}}}, {{t,b,2},{{deallocate,2},4,{allocated,none}}}, - {{t,bad_1,0},{{allocate_zero,2,10},4,{{x,9},not_live}}}, - {{t,bad_2,0},{{move,{y,0},{x,0}},5,{unassigned,{y,0}}}}, + {{t,bad_1,0},{{allocate,2,10},4,{{x,9},not_live}}}, + {{t,bad_2,0},{{move,{y,0},{x,0}},6,{unassigned,{y,0}}}}, {{t,c,2},{{deallocate,2},10,{allocated,none}}}, {{t,d,2}, {{allocate,2,2},5,{existing_stack_frame,{size,2}}}}, @@ -203,7 +203,7 @@ uninit(Config) when is_list(Config) -> {{call,1,{f,8}},5,{uninitialized_reg,{y,0}}}}, {{t,sum_3,2}, {{bif,'+',{f,0},[{x,0},{y,0}],{x,0}}, - 6, + 7, {unassigned,{y,0}}}}] = Errors, ok. @@ -212,7 +212,7 @@ unsafe_catch(Config) when is_list(Config) -> [{{t,small,2}, {{bs_put_integer,{f,0},{integer,16},1, {field_flags,[unsigned,big]},{y,0}}, - 20, + 21, {unassigned,{y,0}}}}] = Errors, ok. @@ -229,7 +229,7 @@ overwrite_catchtag(Config) when is_list(Config) -> overwrite_trytag(Config) when is_list(Config) -> Errors = do_val(overwrite_trytag, Config), [{{overwrite_trytag,foo,1}, - {{kill,{y,2}},8,{trytag,_}}}] = Errors, + {{init_yregs,{list,[{y,2}]}},9,{trytag,_}}}] = Errors, ok. accessing_tags(Config) when is_list(Config) -> @@ -251,11 +251,11 @@ bad_catch_try(Config) when is_list(Config) -> {{bad_catch_try,bad_3,1}, {{catch_end,{y,1}},9,{invalid_tag,{y,1},{t_atom,[kalle]}}}}, {{bad_catch_try,bad_4,1}, - {{'try',{x,0},{f,15}},5,{invalid_tag_register,{x,0}}}}, + {{'try',{x,0},{f,15}},6,{invalid_tag_register,{x,0}}}}, {{bad_catch_try,bad_5,1}, - {{try_case,{y,1}},12,{invalid_tag,{y,1},any}}}, + {{try_case,{y,1}},13,{invalid_tag,{y,1},any}}}, {{bad_catch_try,bad_6,1}, - {{move,{integer,1},{y,1}},7, + {{move,{integer,1},{y,1}},8, {invalid_store,{y,1}}}}] = Errors, ok. @@ -327,7 +327,7 @@ state_after_fault_in_catch(Config) when is_list(Config) -> no_exception_in_catch(Config) when is_list(Config) -> Errors = do_val(no_exception_in_catch, Config), [{{no_exception_in_catch,nested_of_1,4}, - {{try_case_end,{x,0}},166,ambiguous_catch_try_state}}] = Errors, + {{try_case_end,{x,0}},152,ambiguous_catch_try_state}}] = Errors, ok. undef_label(Config) when is_list(Config) -> @@ -534,7 +534,7 @@ bad_try_catch_nesting(Config) -> Errors = do_val(bad_try_catch_nesting, Config), [{{bad_try_catch_nesting,main,2}, {{'try',{y,2},{f,3}}, - 8, + 9, {bad_try_catch_nesting,{y,2},[{{y,1},{trytag,[5]}}]}}}] = Errors, ok. @@ -543,33 +543,33 @@ receive_stacked(Config) -> Errors = do_val(Mod, Config), [{{receive_stacked,f1,0}, {{loop_rec_end,{f,3}}, - 18, + 19, {fragile_message_reference,{y,_}}}}, {{receive_stacked,f2,0}, - {{test_heap,3,0},11,{fragile_message_reference,{y,_}}}}, + {{test_heap,3,0},12,{fragile_message_reference,{y,_}}}}, {{receive_stacked,f3,0}, - {{test_heap,3,0},11,{fragile_message_reference,{y,_}}}}, + {{test_heap,3,0},12,{fragile_message_reference,{y,_}}}}, {{receive_stacked,f4,0}, - {{test_heap,3,0},11,{fragile_message_reference,{y,_}}}}, + {{test_heap,3,0},12,{fragile_message_reference,{y,_}}}}, {{receive_stacked,f5,0}, {{loop_rec_end,{f,23}}, - 22, + 23, {fragile_message_reference,{y,_}}}}, {{receive_stacked,f6,0}, {{gc_bif,byte_size,{f,29},0,[{y,_}],{x,0}}, - 13, + 14, {fragile_message_reference,{y,_}}}}, {{receive_stacked,f7,0}, {{loop_rec_end,{f,33}}, - 21, + 22, {fragile_message_reference,{y,_}}}}, {{receive_stacked,f8,0}, {{loop_rec_end,{f,38}}, - 21, + 22, {fragile_message_reference,{y,_}}}}, {{receive_stacked,m1,0}, {{loop_rec_end,{f,43}}, - 20, + 21, {fragile_message_reference,{y,_}}}}, {{receive_stacked,m2,0}, {{loop_rec_end,{f,48}}, diff --git a/lib/compiler/test/beam_validator_SUITE_data/bad_catch_try.S b/lib/compiler/test/beam_validator_SUITE_data/bad_catch_try.S index 6035f2350675..70995f2bc3a5 100644 --- a/lib/compiler/test/beam_validator_SUITE_data/bad_catch_try.S +++ b/lib/compiler/test/beam_validator_SUITE_data/bad_catch_try.S @@ -86,7 +86,8 @@ {label,13}. {func_info,{atom,bad_catch_try},{atom,bad_4},1}. {label,14}. - {allocate_zero,1,1}. + {allocate,1,1}. + {init_yregs,{list,[{y,0}]}}. {'try',{x,0},{f,15}}. {call,1,{f,26}}. {try_end,{y,0}}. @@ -106,7 +107,8 @@ {label,17}. {func_info,{atom,bad_catch_try},{atom,bad_5},1}. {label,18}. - {allocate_zero,2,1}. + {allocate,2,1}. + {init_yregs,{list,[{y,0},{y,1}]}}. {'try',{y,0},{f,19}}. {call,1,{f,26}}. {try_end,{y,0}}. @@ -127,7 +129,8 @@ {label,21}. {func_info,{atom,bad_catch_try},{atom,bad_6},1}. {label,22}. - {allocate_zero,1,1}. + {allocate,1,1}. + {init_yregs,{list,[{y,0}]}}. {'try',{y,0},{f,23}}. {call,1,{f,26}}. {move,{integer,1},{y,1}}. diff --git a/lib/compiler/test/beam_validator_SUITE_data/bad_try_catch_nesting.S b/lib/compiler/test/beam_validator_SUITE_data/bad_try_catch_nesting.S index 9f1b21a17b5d..1688419320dc 100644 --- a/lib/compiler/test/beam_validator_SUITE_data/bad_try_catch_nesting.S +++ b/lib/compiler/test/beam_validator_SUITE_data/bad_try_catch_nesting.S @@ -12,7 +12,8 @@ {line,[{location,"bad_try_catch_nesting.erl",4}]}. {func_info,{atom,bad_try_catch_nesting},{atom,main},2}. {label,2}. - {allocate_zero,3,2}. + {allocate,3,2}. + {init_yregs,{list,[{y,0},{y,1},{y,2}]}}. {'try',{y,1},{f,5}}. {move,{x,1},{y,0}}. {'try',{y,2},{f,3}}. diff --git a/lib/compiler/test/beam_validator_SUITE_data/no_exception_in_catch.S b/lib/compiler/test/beam_validator_SUITE_data/no_exception_in_catch.S index b6304d00cc95..fa2e45baff20 100644 --- a/lib/compiler/test/beam_validator_SUITE_data/no_exception_in_catch.S +++ b/lib/compiler/test/beam_validator_SUITE_data/no_exception_in_catch.S @@ -13,7 +13,8 @@ {label,2}. {test,is_tuple,{f,1},[{x,0}]}. {test,test_arity,{f,1},[{x,0},3]}. - {allocate_zero,15,4}. + {allocate,15,4}. + {init_yregs,{list,[{y,0},{y,1},{y,2},{y,3},{y,4},{y,5},{y,6},{y,7},{y,8}]}}. {get_tuple_element,{x,0},0,{y,9}}. {get_tuple_element,{x,0},1,{y,10}}. {get_tuple_element,{x,0},2,{y,11}}. @@ -60,10 +61,7 @@ {bif,'=:=',{f,4},[{x,1},{y,11}],{x,4}}. {bif,'and',{f,4},[{x,3},{x,4}],{x,3}}. {test,is_eq_exact,{f,4},[{x,3},{atom,true}]}. - {kill,{y,0}}. - {kill,{y,1}}. - {kill,{y,2}}. - {kill,{y,3}}. + {init_yregs,{list,[{y,0},{y,1},{y,2},{y,3}]}}. {move,{y,12},{x,0}}. {call,1,{f,17}}. {test_heap,3,1}. @@ -104,13 +102,7 @@ {label,8}. {try_end,{y,6}}. {move,{x,0},{y,13}}. - {kill,{y,3}}. - {kill,{y,4}}. - {kill,{y,5}}. - {kill,{y,9}}. - {kill,{y,10}}. - {kill,{y,11}}. - {kill,{y,12}}. + {init_yregs,{list,[{y,3},{y,4},{y,5},{y,9},{y,10},{y,11},{y,12}]}}. {move,{y,14},{x,0}}. {call,1,{f,17}}. {move,{x,0},{x,1}}. @@ -122,12 +114,7 @@ {try_case,{y,6}}. {move,{x,2},{y,13}}. {move,{x,1},{y,12}}. - {kill,{y,3}}. - {kill,{y,4}}. - {kill,{y,5}}. - {kill,{y,9}}. - {kill,{y,10}}. - {kill,{y,11}}. + {init_yregs,{list,[{y,3},{y,4},{y,5},{y,9},{y,10},{y,11}]}}. {move,{y,14},{x,0}}. {call,1,{f,17}}. {move,{x,0},{x,1}}. @@ -151,8 +138,7 @@ {try_end,{y,8}}. {move,{x,0},{y,14}}. {move,{atom,finalized},{x,1}}. - {kill,{y,12}}. - {kill,{y,13}}. + {init_yregs,{list,[{y,12},{y,13}]}}. {move,{atom,nested},{x,0}}. {call_ext,2,{extfunc,erlang,put,2}}. {move,{y,14},{x,0}}. @@ -162,14 +148,14 @@ {move,{x,2},{y,14}}. {move,{x,1},{y,13}}. {move,{atom,finalized},{x,1}}. - {kill,{y,12}}. + {init_yregs,{list,[{y,12}]}}. {move,{atom,nested},{x,0}}. {call_ext,2,{extfunc,erlang,put,2}}. {bif,raise,{f,0},[{y,14},{y,13}],{x,0}}. {'%live',1}. {label,14}. {move,{x,0},{y,14}}. - {kill,{y,13}}. + {init_yregs,{list,[{y,13}]}}. {move,{atom,nested3},{x,0}}. {call_ext,1,{extfunc,erlang,erase,1}}. {move,{x,0},{y,13}}. diff --git a/lib/compiler/test/beam_validator_SUITE_data/overwrite_trytag.S b/lib/compiler/test/beam_validator_SUITE_data/overwrite_trytag.S index db552d541803..a332aea102da 100644 --- a/lib/compiler/test/beam_validator_SUITE_data/overwrite_trytag.S +++ b/lib/compiler/test/beam_validator_SUITE_data/overwrite_trytag.S @@ -11,12 +11,13 @@ {label,1}. {func_info,{atom,overwrite_trytag},{atom,foo},1}. {label,2}. - {allocate_zero,3,1}. + {allocate,3,1}. + {init_yregs,{list,[{y,0},{y,1},{y,2}]}}. {'try',{y,2},{f,3}}. {move,{x,0},{y,1}}. {'%live',1}. {call,1,{f,2}}. - {kill,{y,2}}. + {init_yregs,{list,[{y,2}]}}. {try_end,{y,2}}. {move,{x,0},{y,2}}. {move,{y,1},{x,0}}. diff --git a/lib/compiler/test/beam_validator_SUITE_data/receive_stacked.S b/lib/compiler/test/beam_validator_SUITE_data/receive_stacked.S index d4597f088ed6..3ae6b3351c74 100644 --- a/lib/compiler/test/beam_validator_SUITE_data/receive_stacked.S +++ b/lib/compiler/test/beam_validator_SUITE_data/receive_stacked.S @@ -24,7 +24,8 @@ {line,[{location,"receive_stacked.erl",15}]}. {func_info,{atom,receive_stacked},{atom,f1},0}. {label,2}. - {allocate_zero,1,0}. + {allocate,1,0}. + {init_yregs,{list,[{y,0}]}}. {label,3}. {loop_rec,{f,5},{x,0}}. {move,{x,0},{y,0}}. @@ -47,7 +48,8 @@ {line,[{location,"receive_stacked.erl",22}]}. {func_info,{atom,receive_stacked},{atom,f2},0}. {label,7}. - {allocate_zero,2,0}. + {allocate,2,0}. + {init_yregs,{list,[{y,0},{y,1}]}}. {label,8}. {loop_rec,{f,10},{x,0}}. {test,is_nonempty_list,{f,9},[{x,0}]}. @@ -74,7 +76,8 @@ {line,[{location,"receive_stacked.erl",30}]}. {func_info,{atom,receive_stacked},{atom,f3},0}. {label,12}. - {allocate_zero,2,0}. + {allocate,2,0}. + {init_yregs,{list,[{y,0},{y,1}]}}. {label,13}. {loop_rec,{f,15},{x,0}}. {test,is_nonempty_list,{f,14},[{x,0}]}. @@ -101,7 +104,8 @@ {line,[{location,"receive_stacked.erl",38}]}. {func_info,{atom,receive_stacked},{atom,f4},0}. {label,17}. - {allocate_zero,2,0}. + {allocate,2,0}. + {init_yregs,{list,[{y,0},{y,1}]}}. {label,18}. {loop_rec,{f,20},{x,0}}. {test,is_nonempty_list,{f,19},[{x,0}]}. @@ -128,7 +132,8 @@ {line,[{location,"receive_stacked.erl",46}]}. {func_info,{atom,receive_stacked},{atom,f5},0}. {label,22}. - {allocate_zero,2,0}. + {allocate,2,0}. + {init_yregs,{list,[{y,0},{y,1}]}}. {label,23}. {loop_rec,{f,25},{x,0}}. {test,is_tuple,{f,24},[{x,0}]}. @@ -155,7 +160,8 @@ {line,[{location,"receive_stacked.erl",54}]}. {func_info,{atom,receive_stacked},{atom,f6},0}. {label,27}. - {allocate_zero,1,0}. + {allocate,1,0}. + {init_yregs,{list,[{y,0}]}}. {label,28}. {loop_rec,{f,30},{x,0}}. {test,bs_start_match3,{f,29},1,[{x,0}],{x,0}}. @@ -202,7 +208,8 @@ {line,[{location,"receive_stacked.erl",61}]}. {func_info,{atom,receive_stacked},{atom,f7},0}. {label,32}. - {allocate_zero,1,0}. + {allocate,1,0}. + {init_yregs,{list,[{y,0}]}}. {label,33}. {loop_rec,{f,35},{x,0}}. {test,bs_start_match3,{f,34},1,[{x,0}],{x,0}}. @@ -245,7 +252,8 @@ {line,[{location,"receive_stacked.erl",68}]}. {func_info,{atom,receive_stacked},{atom,f8},0}. {label,37}. - {allocate_zero,1,0}. + {allocate,1,0}. + {init_yregs,{list,[{y,0}]}}. {label,38}. {loop_rec,{f,40},{x,0}}. {test,bs_start_match3,{f,39},1,[{x,0}],{x,1}}. @@ -288,7 +296,8 @@ {line,[{location,"receive_stacked.erl",75}]}. {func_info,{atom,receive_stacked},{atom,m1},0}. {label,42}. - {allocate_zero,1,0}. + {allocate,1,0}. + {init_yregs,{list,[{y,0}]}}. {label,43}. {loop_rec,{f,45},{x,0}}. {test,is_map,{f,44},[{x,0}]}. @@ -313,7 +322,8 @@ {line,[{location,"receive_stacked.erl",82}]}. {func_info,{atom,receive_stacked},{atom,m2},0}. {label,47}. - {allocate_zero,4,0}. + {allocate,4,0}. + {init_yregs,{list,[{y,0},{y,1},{y,2},{y,3}]}}. {move,{atom,key1},{x,0}}. {line,[{location,"receive_stacked.erl",83}]}. {call,1,{f,52}}. @@ -330,8 +340,7 @@ {test,is_integer,{f,49},[{y,1}]}. {test,is_integer,{f,49},[{y,0}]}. remove_message. - {kill,{y,2}}. - {kill,{y,3}}. + {init_yregs,{list,[{y,2},{y,3}]}}. {move,{integer,42},{x,0}}. {line,[{location,"receive_stacked.erl",87}]}. {call,1,{f,52}}. diff --git a/lib/compiler/test/beam_validator_SUITE_data/safe_instructions.S b/lib/compiler/test/beam_validator_SUITE_data/safe_instructions.S index 4266c6474196..b2e1d6d9e296 100644 --- a/lib/compiler/test/beam_validator_SUITE_data/safe_instructions.S +++ b/lib/compiler/test/beam_validator_SUITE_data/safe_instructions.S @@ -13,7 +13,7 @@ {func_info,{atom,t},{atom,send_request},1}. {label,2}. {allocate,3,1}. - {init,{y,0}}. + {init_yregs,{list,[{y,0}]}}. {move,{x,0},{y,1}}. {'try',{y,2},{f,7}}. {move,nil,{x,0}}. diff --git a/lib/compiler/test/beam_validator_SUITE_data/stack.S b/lib/compiler/test/beam_validator_SUITE_data/stack.S index e4356a9d009f..2b347c2886d9 100644 --- a/lib/compiler/test/beam_validator_SUITE_data/stack.S +++ b/lib/compiler/test/beam_validator_SUITE_data/stack.S @@ -63,12 +63,13 @@ {deallocate,5}. return. - + {function, bad_1, 0, 10}. {label,9}. {func_info,{atom,t},{atom,bad_1},0}. {label,10}. - {allocate_zero,2,10}. + {allocate,2,10}. + {init_yregs,{list,[{y,0},{y,1}]}}. {move,{y,0},{x,0}}. return. @@ -77,7 +78,8 @@ {label,11}. {func_info,{atom,t},{atom,bad_2},0}. {label,12}. - {allocate_zero,2,0}. + {allocate,2,0}. + {init_yregs,{list,[{y,0},{y,1}]}}. {move,{y,0},{x,0}}. return. diff --git a/lib/compiler/test/beam_validator_SUITE_data/uninit.S b/lib/compiler/test/beam_validator_SUITE_data/uninit.S index 9a66f4f7d6c6..bde41444ee02 100644 --- a/lib/compiler/test/beam_validator_SUITE_data/uninit.S +++ b/lib/compiler/test/beam_validator_SUITE_data/uninit.S @@ -35,7 +35,8 @@ {label,5}. {func_info,{atom,t},{atom,sum_3},2}. {label,6}. - {allocate_zero,1,2}. + {allocate,1,2}. + {init_yregs,{list,[{y,0}]}}. {'%live',1}. {call,1,{f,8}}. {bif,'+',{f,0},[{x,0},{y,0}],{x,0}}. diff --git a/lib/compiler/test/beam_validator_SUITE_data/unsafe_catch.S b/lib/compiler/test/beam_validator_SUITE_data/unsafe_catch.S index f7d3f805b3f2..81f035c6c8f6 100644 --- a/lib/compiler/test/beam_validator_SUITE_data/unsafe_catch.S +++ b/lib/compiler/test/beam_validator_SUITE_data/unsafe_catch.S @@ -11,7 +11,8 @@ {label,4}. {func_info,{atom,t},{atom,small},2}. {label,5}. - {allocate_zero,2,2}. + {allocate,2,2}. + {init_yregs,{list,[{y,0},{y,1}]}}. {'catch',{y,1},{f,6}}. {bs_init2,{f,0},1,0,2,{field_flags,[]},{x,2}}. {bs_put_integer,{f,0}, diff --git a/lib/compiler/test/bif_SUITE.erl b/lib/compiler/test/bif_SUITE.erl index e58db29114bb..c3610117c318 100644 --- a/lib/compiler/test/bif_SUITE.erl +++ b/lib/compiler/test/bif_SUITE.erl @@ -45,6 +45,7 @@ groups() -> ]}]. init_per_suite(Config) -> + _ = id(Config), test_lib:recompile(?MODULE), Config. @@ -208,6 +209,36 @@ min_max(_Config) -> true = bool_max_true(True, False), true = bool_max_true(True, True), + 11 = min_increment(100), + 11 = min_increment(10), + 10 = min_increment(9), + 1 = min_increment(0), + 0 = min_increment(-1), + 11 = min_increment(a), + + {42,42} = max_number(id(42)), + {42,42.0} = max_number(id(42.0)), + {-1,1} = max_number(id(-1)), + {-1,1} = max_number(id(-1.0)), + + 100 = int_clamped_add(-1), + 100 = int_clamped_add(0), + 105 = int_clamped_add(5), + 110 = int_clamped_add(10), + 110 = int_clamped_add(11), + + 100 = num_clamped_add(-1), + 100 = num_clamped_add(0), + 105 = num_clamped_add(5), + 110 = num_clamped_add(10), + 110 = num_clamped_add(11), + + 105 = num_clamped_add(5), + 105.0 = num_clamped_add(5.0), + 110 = num_clamped_add(a), + 110 = num_clamped_add({a,b,c}), + 110 = num_clamped_add({a,b,c}), + ok. %% GH-7170: The following functions would cause a crash in @@ -222,8 +253,27 @@ bool_min_true(A, B) when is_boolean(A), is_boolean(B) -> bool_max_false(A, B) when is_boolean(A), is_boolean(B) -> false = max(A, B). -bool_max_true(A, B) when is_boolean(A), is_boolean(B) -> - true = max(A, B). +bool_max_true(A, B) when is_boolean(B) -> + true = max(A, B), + if + is_boolean(A) -> + true = max(A, B) + end. + +max_number(A) -> + Res = {trunc(A), max(A, 1)}, + Res = {trunc(A), max(1, A)}. + +min_increment(A) -> + Res = min(10, A) + 1, + Res = min(A, 10) + 1, + Res = min(id(A), 10) + 1. + +int_clamped_add(A) when is_integer(A) -> + min(max(A, 0), 10) + 100. + +num_clamped_add(A) -> + min(max(A, 0), 10) + 100. %%% %%% Common utilities. diff --git a/lib/compiler/test/bs_bincomp_SUITE.erl b/lib/compiler/test/bs_bincomp_SUITE.erl index 4e7adcb7c5fb..41877a9e8477 100644 --- a/lib/compiler/test/bs_bincomp_SUITE.erl +++ b/lib/compiler/test/bs_bincomp_SUITE.erl @@ -182,8 +182,14 @@ mixed(Config) when is_list(Config) -> {'EXIT',{{bad_filter,<<>>},_}} = catch inconsistent_types_2(), + %% Cover some code in beam_ssa_pre_codegen. + [] = fun(A) -> + [] = [ok || <> <= A] + end(id(<<>>)), + cs_end(). + mixed_nested(L) -> << << << << E:16 >> || E <- L >> || true >>/binary, 99:(id(8))>>. @@ -383,6 +389,14 @@ nomatch(Config) when is_list(Config) -> <<>> = << <<>> || <<_:8>> <= <<>> >>, + %% GH-7494. Qualifiers should be evaluated from left to right. The + %% second (failing) generator should never be evaluated because the + %% first generator is an empty list. + <<>> = id(<< <> || C <- [], _ <- ok >>), + <<>> = id(<<0 || _ <- [], _ <- ok, false>>), + + {'EXIT',{{bad_generator,false},_}} = catch << [] || <<0:0>> <= false >>, + ok. nomatch_1(Bin, Size) -> diff --git a/lib/compiler/test/bs_match_SUITE.erl b/lib/compiler/test/bs_match_SUITE.erl index 1c379b70cff0..45103ed6aa99 100644 --- a/lib/compiler/test/bs_match_SUITE.erl +++ b/lib/compiler/test/bs_match_SUITE.erl @@ -19,7 +19,10 @@ %% -module(bs_match_SUITE). --compile(nowarn_shadow_vars). + +%% Limiting error locations to lines makes it more likely that unsafe +%% reordering of clauses will be noticed. +-compile([nowarn_shadow_vars, {error_location,line}]). -export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, init_per_group/2,end_per_group/2, @@ -124,7 +127,11 @@ verify_highest_opcode(_Config) -> ok; TooHigh -> ct:fail({too_high_opcode_for_21,TooHigh}) - end; + end, + + %% Cover min/max for OTP 25. + 10 = max(0, min(10, id(42))), + ok; _ -> ok end. @@ -866,6 +873,10 @@ coverage(Config) when is_list(Config) -> %% Cover code in beam_ssa_bsm. {'EXIT',{{badarg,<<>>},_}} = catch coverage_beam_ssa_bsm_error(id(<<>>)), + %% Cover code for merging registers in beam_validator. + 42 = coverage_beam_validator(id(fun() -> 42 end)), + ok = coverage_beam_validator(id(fun() -> throw(whatever) end)), + ok. coverage_fold(Fun, Acc, <>) -> @@ -1022,6 +1033,19 @@ coverage_beam_ssa_pre_codegen(<>) -> coverage_beam_ssa_bsm_error(<>) -> B andalso ok. +coverage_beam_validator(F) -> + coverage_beam_validator(ok, ok, ok, + try + F() + catch + <> -> + V; + _ -> + ok + end). + +coverage_beam_validator(_, _, _, Result) -> Result. + multiple_uses(Config) when is_list(Config) -> {344,62879,345,<<245,159,1,89>>} = multiple_uses_1(<<1,88,245,159,1,89>>), true = multiple_uses_2(<<0,0,197,18>>), @@ -1327,7 +1351,7 @@ match_string(Config) when is_list(Config) -> %% To make sure that native endian really is handled correctly %% (i.e. that the compiler does not attempt to use bs_match_string/4 %% instructions for native segments), running this test is not enough. - %% Either examine the generated for do_match_string_native/1 or + %% Either examine the generated code for do_match_string_native/1 or %% check the coverage for the v3_kernel module. case erlang:system_info(endian) of little -> @@ -1345,6 +1369,14 @@ match_string(Config) when is_list(Config) -> plain = no_match_string_opt(<<"abc">>), strange = no_match_string_opt(<<$a:9,$b:9,$c:9>>), + d = do_match_string_tail(id(<<"d">>)), + dd = do_match_string_tail(id(<<"dd">>)), + + a = do_match_string_var_size(id(<<"a">>), id(0)), + a = do_match_string_var_size(id(<<"ab">>), id(8)), + ab = do_match_string_var_size(id(<<"ab">>), id(0)), + ab = do_match_string_var_size(id(<<"abc">>), id(8)), + ok. do_match_string_native(<<$a:16/native,$b:16/native>>) -> ok. @@ -1359,7 +1391,13 @@ do_match_string_little_signed(<<(-1):16/little-signed>>) -> ok. no_match_string_opt(<<"abc">>) -> plain; no_match_string_opt(<<$a:9,$b:9,$c:9>>) -> strange. - + +%% GH-7259: Unsafe reordering of clauses. (The clauses must be on the +%% same line to trigger this bug.) +do_match_string_tail(<<"dd", _T/binary>>) -> dd; do_match_string_tail(<<"d", _T/binary>>) -> d. + +do_match_string_var_size(Bin, Size) -> + case Bin of <<"ab",_T:Size>> -> ab; <<"a",_T:Size>> -> a end. %% OTP-7591: A zero-width segment in matching would crash the compiler. @@ -2705,6 +2743,8 @@ bs_match(_Config) -> {'EXIT',{{case_clause,_},_}} = catch do_bs_match_gh_6755(id(<<"1000">>)), + {'EXIT',{{badmatch,<<>>},_}} = catch do_bs_match_gh_7467(<<>>), + ok. do_bs_match_1(_, X) -> @@ -2776,6 +2816,9 @@ do_bs_match_gh_6755(B) -> <<"b">> -> b end. +do_bs_match_gh_7467(A) -> + do_bs_match_gh_7467(<<_:1/bits>> = A). + %% GH-6348/OTP-18297: Allow aliases for binaries. -record(ba_foo, {a,b,c}). diff --git a/lib/compiler/test/compile_SUITE.erl b/lib/compiler/test/compile_SUITE.erl index 7731871bebb0..2c6f260618e3 100644 --- a/lib/compiler/test/compile_SUITE.erl +++ b/lib/compiler/test/compile_SUITE.erl @@ -30,7 +30,7 @@ debug_info/4, custom_debug_info/1, custom_compile_info/1, file_1/1, forms_2/1, module_mismatch/1, outdir/1, binary/1, makedep/1, cond_and_ifdef/1, listings/1, listings_big/1, - other_output/1, kernel_listing/1, encrypted_abstr/1, + other_output/1, encrypted_abstr/1, strict_record/1, utf8_atoms/1, utf8_functions/1, extra_chunks/1, cover/1, env/1, core_pp/1, tuple_calls/1, core_roundtrip/1, asm/1, asm_labels/1, @@ -52,7 +52,7 @@ all() -> [app_test, appup_test, bigE_roundtrip, file_1, forms_2, module_mismatch, outdir, binary, makedep, cond_and_ifdef, listings, listings_big, - other_output, kernel_listing, encrypted_abstr, tuple_calls, + other_output, encrypted_abstr, tuple_calls, strict_record, utf8_atoms, utf8_functions, extra_chunks, cover, env, core_pp, core_roundtrip, asm, asm_labels, no_core_prepare, sys_pre_attributes, dialyzer, warnings, pre_load_check, @@ -180,7 +180,9 @@ file_1(Config) when is_list(Config) -> error = compile:file(filename:join(DataDir, "bad_core_tokens"), [from_core,report]), %% Cover handling of obsolete options. - ObsoleteOptions = [r18,r19,r20,r21,no_bsm3,no_get_hd_tl,no_put_tuple2,no_utf8_atoms], + ObsoleteOptions = [r18,r19,r20,r21,r22,r23, + no_bsm3,no_get_hd_tl,no_put_tuple2,no_utf8_atoms, + no_swap,no_init_yregs,no_shared_fun_wrappers,no_make_fun3], _ = [begin {error,[{_Simple, [{none,compile,{obsolete_option,Opt}}]}], @@ -519,7 +521,6 @@ do_file_listings(DataDir, PrivDir, [File|Files]) -> {dcore, ".core"}, {dcopt, ".copt"}, {dcbsm, ".core_bsm"}, - {dkern, ".kernel"}, {dssa, ".ssa"}, {dbool, ".bool"}, {dssashare, ".ssashare"}, @@ -539,7 +540,6 @@ do_file_listings(DataDir, PrivDir, [File|Files]) -> do_listing(Simple, TargetDir, to_core0, ".core"), ok = file:delete(filename:join(TargetDir, File ++ ".core")), do_listing(Simple, TargetDir, to_core, ".core"), - do_listing(Simple, TargetDir, to_kernel, ".kernel"), do_listing(Simple, TargetDir, to_dis, ".dis"), %% Final clean up. @@ -555,7 +555,6 @@ listings_big(Config) when is_list(Config) -> List = [{'S',".S"}, {'E',".E"}, {'P',".P"}, - {dkern, ".kernel"}, {dssa, ".ssa"}, {dssaopt, ".ssaopt"}, {dprecg, ".precodegen"}, @@ -610,12 +609,6 @@ other_output(Config) when is_list(Config) -> io:put_chars("to_core (forms)"), {ok,simple,Core} = compile:forms(PP, [to_core,binary,time]), - io:put_chars("to_kernel (file)"), - {ok,simple,Kernel} = compile:file(Simple, [to_kernel,binary,time]), - k_mdef = element(1, Kernel), - io:put_chars("to_kernel (forms)"), - {ok,simple,Kernel} = compile:forms(PP, [to_kernel,binary,time]), - io:put_chars("to_asm (file)"), {ok,simple,Asm} = compile:file(Simple, [to_asm,binary,time]), {simple,_,_,_,_} = Asm, @@ -624,33 +617,6 @@ other_output(Config) when is_list(Config) -> ok. -%% Smoke test and cover of pretty-printing of Kernel code. -kernel_listing(_Config) -> - TestBeams = get_unique_beam_files(), - Abstr = [begin {ok,{Mod,[{abstract_code, - {raw_abstract_v1,Abstr}}]}} = - beam_lib:chunks(Beam, [abstract_code]), - {Mod,Abstr} end || Beam <- TestBeams], - test_lib:p_run(fun(F) -> do_kernel_listing(F) end, Abstr). - -do_kernel_listing({M,A}) -> - try - {ok,M,Kern} = compile:forms(A, [to_kernel]), - IoList = v3_kernel_pp:format(Kern), - case unicode:characters_to_binary(IoList) of - Bin when is_binary(Bin) -> - ok - end - catch - throw:{error,Error} -> - io:format("*** compilation failure '~p' for module ~s\n", - [Error,M]), - error; - Class:Error:Stk -> - io:format("~p: ~p ~p\n~p\n", [M,Class,Error,Stk]), - error - end. - encrypted_abstr(Config) when is_list(Config) -> {Simple,Target} = get_files(Config, simple, "encrypted_abstr"), @@ -1700,47 +1666,41 @@ bc_options(Config) -> DataDir = proplists:get_value(data_dir, Config), - L = [{101, small_float, [no_shared_fun_wrappers,no_line_info]}, - {125, small_float, [no_shared_fun_wrappers, - no_line_info, + L = [{171, small_float, [no_line_info, no_ssa_opt_float, no_type_opt]}, - - {153, small_float, [no_shared_fun_wrappers]}, - - {164, small_maps, [no_init_yregs,no_shared_fun_wrappers,no_type_opt]}, - {164, small_maps, [r22]}, - {164, big, [r22]}, - {164, funs, [r22]}, - {164, funs, [no_init_yregs,no_shared_fun_wrappers, - no_ssa_opt_record, - no_line_info,no_stack_trimming, - no_make_fun3,no_type_opt]}, - - {168, small, [r22]}, - {168, small, [no_init_yregs,no_shared_fun_wrappers, - no_ssa_opt_record,no_make_fun3, - no_ssa_opt_float,no_line_info,no_type_opt, + {171, small_float, [no_line_info]}, + {171, small_float, []}, + {171, small_float, [r24]}, + {171, small_float, [r25]}, + + {172, small, [no_ssa_opt_record, + no_ssa_opt_float, + no_line_info, + no_type_opt, no_bs_match]}, - {169, small, [r23]}, + {172, small, [r24]}, - {169, big, [no_init_yregs,no_shared_fun_wrappers, - no_ssa_opt_record, - no_line_info,no_stack_trimming, - no_make_fun3,no_type_opt]}, - {169, big, [r23]}, + {172, funs, [no_ssa_opt_record, + no_ssa_opt_float,no_line_info, + no_type_opt]}, + {172, funs, [no_ssa_opt_record, + no_line_info, + no_stack_trimming, + no_type_opt]}, + {172, funs, [r24]}, - {169, small_maps, [no_init_yregs,no_type_opt]}, + {172, small_maps, [r24]}, + {172, small_maps, [no_type_opt]}, - {171, big, [no_init_yregs,no_shared_fun_wrappers, - no_ssa_opt_record, - no_ssa_opt_float,no_line_info, + {172, big, [no_ssa_opt_record, + no_ssa_opt_float, + no_line_info, no_type_opt]}, - {171, funs, [no_init_yregs,no_shared_fun_wrappers, - no_ssa_opt_record, - no_ssa_opt_float,no_line_info, - no_type_opt]}, + {172, big, [r24]}, + {178, small, [r25]}, + {178, big, [r25]}, {178, funs, []}, {178, big, []} ], @@ -2141,7 +2101,7 @@ annotations_pp(Config) when is_list(Config) -> 10 = length(Uniques), Aliased = get_annotations(" %% Aliased:", Lines), - 17 = length(Aliased), + 13 = length(Aliased), ok = file:del_dir_r(TargetDir), ok. diff --git a/lib/compiler/test/core_SUITE.erl b/lib/compiler/test/core_SUITE.erl index 783b1669d1ec..d2c9d702452a 100644 --- a/lib/compiler/test/core_SUITE.erl +++ b/lib/compiler/test/core_SUITE.erl @@ -177,6 +177,7 @@ nif(Conf) -> nif_compile_to_cerl(Conf, [{d,'WITH_ATTRIBUTE'},{d,'WITH_LOAD_NIF'}]), false = nif_first_instruction_is_nif_start(init, 1, Funs), true = nif_first_instruction_is_nif_start(start, 1, Funs), + false = nif_first_instruction_is_nif_start(bug0, 1, Funs), false = nif_first_instruction_is_nif_start(module_info, 0, Funs), false = nif_first_instruction_is_nif_start(module_info, 1, Funs), ok. @@ -186,6 +187,7 @@ no_nif(Conf) -> Funs = nif_compile_to_cerl(Conf, [{d,'WITH_LOAD_NIF'}]), true = nif_first_instruction_is_nif_start(init, 1, Funs), true = nif_first_instruction_is_nif_start(start, 1, Funs), + true = nif_first_instruction_is_nif_start(bug0, 1, Funs), true = nif_first_instruction_is_nif_start(module_info, 0, Funs), true = nif_first_instruction_is_nif_start(module_info, 1, Funs), ok. @@ -195,6 +197,7 @@ no_load_nif(Conf) -> Funs = nif_compile_to_cerl(Conf, []), false = nif_first_instruction_is_nif_start(init, 1, Funs), false = nif_first_instruction_is_nif_start(start, 1, Funs), + false = nif_first_instruction_is_nif_start(bug0, 1, Funs), false = nif_first_instruction_is_nif_start(module_info, 0, Funs), false = nif_first_instruction_is_nif_start(module_info, 1, Funs), ok. @@ -207,11 +210,7 @@ nif_compile_to_cerl(Conf, Flags) -> nif_first_instruction_is_nif_start(F, A, [{{F,A},Body}|_]) -> try - Primop = cerl:seq_arg(Body), - Name = cerl:primop_name(Primop), - 0 = cerl:primop_arity(Primop), - nif_start = cerl:atom_val(Name), - true + assert_body_starts_with_nif_start(Body) catch error:_ -> false @@ -220,3 +219,27 @@ nif_first_instruction_is_nif_start(F, A, [_|Rest]) -> nif_first_instruction_is_nif_start(F, A, Rest); nif_first_instruction_is_nif_start(_, _, []) -> not_found. + +%% Return true if the body starts with nif_start or not at all if +%% not. Descend into letrecs. +assert_body_starts_with_nif_start(Body0) -> + Body = case cerl:is_c_letrec(Body0) of + true -> + %% For the compiler generated functions in the + %% defs-part of the letrec, we just check that + %% they start with a nif-start, regardless of + %% their names. + lists:foreach(fun({_, F}) -> + assert_body_starts_with_nif_start( + cerl:fun_body(F)) + end, cerl:letrec_defs(Body0)), + %% Return the body of the letrec for checking. + cerl:letrec_body(Body0); + false -> + Body0 + end, + Primop = cerl:seq_arg(Body), + Name = cerl:primop_name(Primop), + 0 = cerl:primop_arity(Primop), + nif_start = cerl:atom_val(Name), + true. diff --git a/lib/compiler/test/core_SUITE_data/nif.erl b/lib/compiler/test/core_SUITE_data/nif.erl index 873e20252b3b..4c57f1f0e93e 100644 --- a/lib/compiler/test/core_SUITE_data/nif.erl +++ b/lib/compiler/test/core_SUITE_data/nif.erl @@ -1,6 +1,6 @@ -module(nif). --export([init/1, start/1]). +-export([init/1, start/1, bug0/1]). -ifdef(WITH_ATTRIBUTE). -nifs([start/1]). @@ -15,3 +15,8 @@ init(_File) -> -endif. start(_) -> erlang:nif_error(not_loaded). + +%% This used to crash the compiler in the v3_core pass as +%% insert_nif_start/1 did not support letrecs. +bug0(<>) -> + <<>>. diff --git a/lib/compiler/test/error_SUITE.erl b/lib/compiler/test/error_SUITE.erl index f82fde9e8b7b..3250ebb3d6a9 100644 --- a/lib/compiler/test/error_SUITE.erl +++ b/lib/compiler/test/error_SUITE.erl @@ -22,8 +22,8 @@ -export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, init_per_group/2,end_per_group/2, - head_mismatch_line/1,warnings_as_errors/1, bif_clashes/1, - transforms/1,maps_warnings/1,bad_utf8/1,bad_decls/1]). + head_mismatch_line/1, head_mismatch_same_function_name/1, warnings_as_errors/1, + bif_clashes/1, transforms/1,maps_warnings/1,bad_utf8/1,bad_decls/1]). %% Used by transforms/1 test case. -export([parse_transform/2]). @@ -35,7 +35,8 @@ all() -> groups() -> [{p,test_lib:parallel(), - [head_mismatch_line,warnings_as_errors,bif_clashes, + [head_mismatch_line,head_mismatch_same_function_name, + warnings_as_errors,bif_clashes, transforms,maps_warnings,bad_utf8,bad_decls]}]. init_per_suite(Config) -> @@ -177,6 +178,19 @@ bif_clashes(Config) when is_list(Config) -> head_mismatch_line(Config) when is_list(Config) -> [E|_] = get_compilation_errors(Config, "head_mismatch_line"), {{26,1}, Mod, Reason} = E, + ("head mismatch: previous function foo/1 is distinct from bar/1. " + "Is the semicolon in foo/1 unwanted?") = lists:flatten(Reason), + Mod:format_error(Reason), + ok. + +%% Tests that a head mismatch with the same function name reports a different error from above. +%% https://github.com/erlang/otp/pull/7383#issuecomment-1586564294 +head_mismatch_same_function_name(Config) when is_list(Config) -> + [E|_] = get_compilation_errors(Config, "head_mismatch_same_function_name"), + {{25,1}, Mod, Reason} = E, + ("head mismatch: function foo with arities 1 and 2 is regarded as " + "two distinct functions. Is the number of arguments incorrect " + "or is the semicolon in foo/1 unwanted?") = lists:flatten(Reason), Mod:format_error(Reason), ok. diff --git a/lib/compiler/test/error_SUITE_data/head_mismatch_same_function_name.erl b/lib/compiler/test/error_SUITE_data/head_mismatch_same_function_name.erl new file mode 100644 index 000000000000..2e02ca42c9f1 --- /dev/null +++ b/lib/compiler/test/error_SUITE_data/head_mismatch_same_function_name.erl @@ -0,0 +1,26 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 1998-2016. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +-module(head_mismatch_same_function_name). + +-export([foo/1, foo/2]). + +foo({A, B}) -> + A + B; +foo(Other, State) -> + {Other, State}. diff --git a/lib/compiler/test/guard_SUITE.erl b/lib/compiler/test/guard_SUITE.erl index f03dcf6225b4..fb06396a96f1 100644 --- a/lib/compiler/test/guard_SUITE.erl +++ b/lib/compiler/test/guard_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2001-2022. All Rights Reserved. +%% Copyright Ericsson AB 2001-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -1156,11 +1156,19 @@ do_complex_guard_2(X, Y, Z) -> gbif(Config) when is_list(Config) -> error = gbif_1(1, {false,true}), ok = gbif_1(2, {false,true}), + + error = gbif_2(id(0)), + error = gbif_2(id(<<>>)), + ok. gbif_1(P, T) when element(P, T) -> ok; gbif_1(_, _) -> error. +gbif_2(A) when bnot trunc((<<(true orelse ok)>> =/= A orelse 0) + 1) =:= A -> + ok; +gbif_2(_) -> + error. t_is_boolean(Config) when is_list(Config) -> true = is_boolean(true), @@ -2405,6 +2413,8 @@ binary_part(Config) when is_list(Config) -> true -> error end, + error = bp_coverage_1(id(<<>>)), + ok. @@ -2463,6 +2473,11 @@ bptest(B,A,C) when erlang:binary_part(B,{A,C}) =:= <<3,3>> -> bptest(_,_,_) -> error. +bp_coverage_1(A) when binary_part(A, A, floor(float(0))) -> + ok; +bp_coverage_1(_) -> + error. + -define(FAILING(C), if C -> ct:fail(should_fail); @@ -2618,6 +2633,10 @@ beam_bool_SUITE(_Config) -> bad_map_in_guard(), gh_6164(), gh_6184(), + gh_7252(), + gh_7339(), + gh_7370(), + gh_7517(), ok. before_and_inside_if() -> @@ -3115,6 +3134,12 @@ do_gh4788(N) -> beam_ssa_bool_coverage() -> {"*","abc"} = collect_modifiers("abc*", []), error = beam_ssa_bool_coverage_1(true), + + ok = beam_ssa_bool_coverage_2(self()), + ok = beam_ssa_bool_coverage_2(true), + error = beam_ssa_bool_coverage_2(false), + error = beam_ssa_bool_coverage_2(42), + ok. collect_modifiers([H | T], Buffer) @@ -3129,6 +3154,11 @@ beam_ssa_bool_coverage_1(V) when V andalso 0, tuple_size(0) -> beam_ssa_bool_coverage_1(_) -> error. +beam_ssa_bool_coverage_2(A) when is_pid(A) andalso true; A -> + ok; +beam_ssa_bool_coverage_2(_) -> + error. + gh_6164() -> true = do_gh_6164(id([])), {'EXIT',{{case_clause,42},_}} = catch do_gh_6164(id(0)), @@ -3165,6 +3195,65 @@ bad_map_in_guard_1() when (a#{key => value})#bad_map_in_guard.name -> bad_map_in_guard_1() -> error. +gh_7252() -> + bar = gh_7252_a(id(bar), id([])), + bar = gh_7252_a(id(bar), id(ok)), + + foo = gh_7252_b(id(ok), id(<<>>)), + bar = gh_7252_b(id(ok), id(ok)), + + bar = gh_7252_c(id(ok)), + + ok. + +gh_7252_a(_, B) when ((ok == B) and (ok =/= trunc(ok))) or (ok < B) -> + foo; +gh_7252_a(A, _) -> + A. + +gh_7252_b(A, B) + when (true xor is_float(A)) or (is_bitstring(B) orelse <<(ok):(ok)>>) -> + foo; +gh_7252_b(_, _) -> + bar. + +gh_7252_c(A) when ((ok > A) and ((bnot ok) =:= ok)) or (not (ok > A)) -> + foo; +gh_7252_c(_) -> + bar. + +gh_7339() -> + b = do_gh_7339(id(42)), + b = do_gh_7339(id(42.0)), + b = do_gh_7339(id(#{})), + ok. + +do_gh_7339(M) when is_number(M) or (not is_map(M#{a => b})) -> + a; +do_gh_7339(_) -> + b. + +gh_7370() -> + b = gh_7370(id(42)), + b = gh_7370(id(42.0)), + ok. + +gh_7370(A) when (not (not is_float(A))) =/= ((ok and ok) or true) -> + a; +gh_7370(_) -> + b. + +gh_7517() -> + ok = catch do_gh_7517([]), + ok = catch do_gh_7517([a,b,c]), + {'EXIT',{function_clause,_}} = catch do_gh_7517(ok), + {'EXIT',{function_clause,_}} = catch do_gh_7517(<<>>), + ok. + +do_gh_7517(A) when (ok /= A) or is_float(is_list(A) orelse ok andalso ok) -> + ok. + + %%% %%% End of beam_bool_SUITE tests. %%% diff --git a/lib/compiler/test/misc_SUITE.erl b/lib/compiler/test/misc_SUITE.erl index 37fb3854de35..a91c1bb2961d 100644 --- a/lib/compiler/test/misc_SUITE.erl +++ b/lib/compiler/test/misc_SUITE.erl @@ -179,24 +179,14 @@ silly_coverage(Config) when is_list(Config) -> {function,0,foo,2,[bad_clauses]}], expect_error(fun() -> v3_core:module(BadAbstr, []) end), - %% sys_core_fold, sys_core_alias, sys_core_bsm, v3_kernel + %% sys_core_fold, sys_core_alias, sys_core_bsm, beam_core_to_ssa BadCoreErlang = {c_module,[], - name,[],[], + {c_literal,[],name},[],[], [{{c_var,[],{foo,2}},seriously_bad_body}]}, expect_error(fun() -> sys_core_fold:module(BadCoreErlang, []) end), expect_error(fun() -> sys_core_alias:module(BadCoreErlang, []) end), expect_error(fun() -> sys_core_bsm:module(BadCoreErlang, []) end), - expect_error(fun() -> v3_kernel:module(BadCoreErlang, []) end), - - %% beam_kernel_to_ssa - BadKernel = {k_mdef,[],?MODULE, - [{foo,0}], - [], - [{k_fdef, - {k,[],[],[]}, - f,0,[], - seriously_bad_body}]}, - expect_error(fun() -> beam_kernel_to_ssa:module(BadKernel, []) end), + expect_error(fun() -> beam_core_to_ssa:module(BadCoreErlang, []) end), %% beam_ssa_lint %% beam_ssa_bool @@ -294,6 +284,7 @@ cover_beam_ssa_bc_size(N) -> cover_beam_ssa_bc_size(N + 1). bad_ssa_lint_input() -> + Ret = {b_var,100}, {b_module,#{},t, [{a,1},{b,1},{c,1},{module_info,0},{module_info,1}], [], @@ -328,14 +319,14 @@ bad_ssa_lint_input() -> #{0 => {b_blk,#{}, [{b_set,#{}, - {b_var,{'@ssa_ret',3}}, + Ret, call, [{b_remote, {b_literal,erlang}, {b_literal,get_module_info}, 1}, {b_var,'@unknown_variable'}]}], - {b_ret,#{},{b_var,{'@ssa_ret',3}}}}}, + {b_ret,#{},Ret}}}, 4}]}. expect_error(Fun) -> diff --git a/lib/compiler/test/property_test/compile_prop.erl b/lib/compiler/test/property_test/compile_prop.erl index e28dc709d2dc..21023cfee51d 100644 --- a/lib/compiler/test/property_test/compile_prop.erl +++ b/lib/compiler/test/property_test/compile_prop.erl @@ -82,7 +82,9 @@ spawn_compile(Forms, Options) -> compiler_variants() -> [ [ssalint,clint0,clint], - [r22,ssalint], + [r24,ssalint], + [r25,ssalint], + [r26,ssalint], [no_type_opt,ssalint], [no_module_opt,ssalint], [no_copt,ssalint,clint0], diff --git a/lib/compiler/test/record_SUITE.erl b/lib/compiler/test/record_SUITE.erl index a098529380e9..10065f4c6d40 100644 --- a/lib/compiler/test/record_SUITE.erl +++ b/lib/compiler/test/record_SUITE.erl @@ -52,6 +52,7 @@ groups() -> init_per_suite(Config) -> + _ = id(Config), %Make return value unpredicatble. test_lib:recompile(?MODULE), Config. @@ -270,10 +271,16 @@ record_test_3(Config) when is_list(Config) -> false = is_record(#foo{}, barf, 5), false = is_record(#foo{}, barf, 6), false = is_record({foo}, foo, 5), + false = is_record({foo}, foo, -1), + false = is_record(id({foo}), foo, -1), true = erlang:is_record(#foo{}, foo, 5), + true = erlang:is_record(#foo{}, id(foo), 5), false = erlang:is_record(#foo{}, barf, 5), false = erlang:is_record({foo}, foo, 5), + false = erlang:is_record({foo}, foo, -1), + false = erlang:is_record(id({foo}), foo, -1), + false = erlang:is_record({foo}, id(foo), -1), false = is_record([], foo), false = is_record(Config, foo), @@ -394,6 +401,28 @@ record_test_3(Config) when is_list(Config) -> true = is_record(Rec, Good, Size) orelse error, error = is_record(Rec, Bad, Size) orelse error, + %% GH-7298: Zero size. + TupleA = id({a}), + + false = is_record(TupleA, a, 0), + false = is_record(Bad, a, 0), + + ZeroF = fun(A) when is_record(A, a, 0) -> ok; + (_) -> error + end, + error = ZeroF(TupleA), + error = ZeroF(Bad), + + %% GH-7317: Huge tuple size used to take forever to compile. + false = is_record(TupleA, a, 10_000_000), + false = is_record(Bad, a, 10_000_000), + + HugeF = fun(A) when is_record(A, a, 10_000_000) -> ok; + (_) -> error + end, + error = HugeF(TupleA), + error = HugeF(Bad), + ok. record_access_in_guards(Config) when is_list(Config) -> diff --git a/lib/compiler/test/test_lib.erl b/lib/compiler/test/test_lib.erl index a6e75f232cc5..de610062dcca 100644 --- a/lib/compiler/test/test_lib.erl +++ b/lib/compiler/test/test_lib.erl @@ -90,23 +90,21 @@ opt_opts(Mod) -> ({feature,_,enable}) -> true; ({feature,_,disable}) -> true; (inline) -> true; + (no_badrecord) -> true; (no_bs_create_bin) -> true; (no_bsm_opt) -> true; (no_bs_match) -> true; (no_copt) -> true; (no_fun_opt) -> true; - (no_init_yregs) -> true; - (no_make_fun3) -> true; + (no_min_max_bifs) -> true; (no_module_opt) -> true; (no_postopt) -> true; (no_recv_opt) -> true; (no_share_opt) -> true; - (no_shared_fun_wrappers) -> true; (no_ssa_opt_float) -> true; (no_ssa_opt_ranges) -> true; (no_ssa_opt) -> true; (no_stack_trimming) -> true; - (no_swap) -> true; (no_type_opt) -> true; (_) -> false end, Opts). diff --git a/lib/compiler/test/trycatch_SUITE.erl b/lib/compiler/test/trycatch_SUITE.erl index 6466234a9166..4d8b511ee835 100644 --- a/lib/compiler/test/trycatch_SUITE.erl +++ b/lib/compiler/test/trycatch_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2003-2022. All Rights Reserved. +%% Copyright Ericsson AB 2003-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -31,7 +31,8 @@ no_return_in_try_block/1, expression_export/1, throw_opt_crash/1, - coverage/1]). + coverage/1, + throw_opt_funs/1]). -include_lib("common_test/include/ct.hrl"). @@ -50,7 +51,8 @@ groups() -> stacktrace,nested_stacktrace,raise, no_return_in_try_block,expression_export, throw_opt_crash, - coverage]}]. + coverage, + throw_opt_funs]}]. init_per_suite(Config) -> @@ -1124,6 +1126,8 @@ grab_bag(_Config) -> {'EXIT',_} = (catch grab_bag_3()), + true = grab_bag_4(), + ok. grab_bag_1(V) -> @@ -1178,6 +1182,16 @@ grab_bag_3() -> %% would not return two values as expected. end =:= (V0 = 42). +grab_bag_4() -> + try + erlang:yield() + after + %% beam_jump would do an unsafe sharing of blocks, resulting + %% in an ambiguous_catch_try_state diagnostic from beam_validator. + catch <<>> = size(catch ([_ | _] = ok)) + end. + + stacktrace(_Config) -> V = [make_ref()|self()], case ?MODULE:module_info(native) of @@ -1672,4 +1686,28 @@ bad_class(Config) -> _ -> also_bad end. +%% GH-7356: Funs weren't considered when checking whether an exception could +%% escape the module, erroneously triggering the optimization in some cases. +throw_opt_funs(_Config) -> + try throw_opt_funs_1(id(a)) of + _ -> unreachable + catch + _:Val -> a = id(Val) %Assertion. + end, + + F = id(fun throw_opt_funs_1/1), + + try F(a) of + _ -> unreachable + catch + _:_:Stack -> true = length(Stack) > 0 %Assertion. + end, + + ok. + +throw_opt_funs_1(a) -> + throw(a); +throw_opt_funs_1(I) -> + I. + id(I) -> I. diff --git a/lib/compiler/test/warnings_SUITE.erl b/lib/compiler/test/warnings_SUITE.erl index df4521098235..94f706f228b6 100644 --- a/lib/compiler/test/warnings_SUITE.erl +++ b/lib/compiler/test/warnings_SUITE.erl @@ -110,7 +110,7 @@ pattern(Config) when is_list(Config) -> pattern2(Config) when is_list(Config) -> %% Test warnings generated by sys_core_fold. %% If we disable Core Erlang optimizations, we expect that - %% v3_kernel should generate some of the warnings. + %% beam_core_to_ssa should generate some of the warnings. Source = <<"f(A) -> ok; f(B) -> error. t(A, B, C) -> @@ -137,21 +137,21 @@ pattern2(Config) when is_list(Config) -> ]}}], [] = run(Config, Ts), - %% Disable Core Erlang optimizations. v3_kernel should produce + %% Disable Core Erlang optimizations. beam_core_to_ssa should produce %% a warning for the clause that didn't match. Ts2 = [{pattern2, Source, [nowarn_unused_vars,no_copt], {warnings, - [{{2,17},v3_kernel,{nomatch,{shadow,1}}}, - {{11,21},v3_kernel,{nomatch,{shadow,10}}} + [{{2,17},beam_core_to_ssa,{nomatch,{shadow,1}}}, + {{11,21},beam_core_to_ssa,{nomatch,{shadow,10}}} ]}}], [] = run(Config, Ts2), ok. pattern3(Config) when is_list(Config) -> %% Test warnings generated by the pattern matching compiler - %% in v3_kernel. + %% in beam_core_to_ssa. Ts = [{pattern3, <<" @@ -165,8 +165,8 @@ pattern3(Config) when is_list(Config) -> ">>, [nowarn_unused_vars], {warnings, - [{{4,13},v3_kernel,{nomatch,{shadow,2}}}, - {{8,13},v3_kernel,{nomatch,{shadow,6}}}]}}], + [{{4,13},beam_core_to_ssa,{nomatch,{shadow,2}}}, + {{8,13},beam_core_to_ssa,{nomatch,{shadow,6}}}]}}], [] = run(Config, Ts), ok. @@ -350,11 +350,11 @@ bad_apply(Config) when is_list(Config) -> ">>, [], {warnings, - [{{2,22},v3_kernel,{failed,bad_call}}, - {{3,22},v3_kernel,{failed,bad_call}}, - {{4,22},v3_kernel,{failed,bad_call}}, - {{5,22},v3_kernel,{failed,bad_call}}, - {{6,22},v3_kernel,{failed,bad_call}}, + [{{2,22},beam_core_to_ssa,{failed,bad_call}}, + {{3,22},beam_core_to_ssa,{failed,bad_call}}, + {{4,22},beam_core_to_ssa,{failed,bad_call}}, + {{5,22},beam_core_to_ssa,{failed,bad_call}}, + {{6,22},beam_core_to_ssa,{failed,bad_call}}, {{7,22},sys_core_fold,{failed,bad_call}} ]}}], [] = run(Config, Ts), @@ -689,7 +689,7 @@ bin_construction(Config) when is_list(Config) -> {{10,21},v3_core,{failed,bad_binary}}, {{11,21},sys_core_fold,{failed,bad_unicode}}, {{12,21},sys_core_fold,{failed,bad_float_size}}, - {{16,18},v3_kernel,{failed,bad_segment_size}} + {{16,18},beam_core_to_ssa,{failed,bad_segment_size}} ]}}], [] = run(Config, Ts), @@ -1177,7 +1177,7 @@ opportunistic_warnings(Config) -> {warnings,[{{2,17},sys_core_fold,{nomatch,{shadow,1,{m,1}}}}, {{4,24},v3_core,{failed,bad_binary}}, {{5,45},sys_core_fold,{failed,{embedded_unit,8,28}}}, - {{6,43},v3_kernel,{failed,bad_segment_size}}, + {{6,43},beam_core_to_ssa,{failed,bad_segment_size}}, {{8,24},sys_core_fold,{ignored,useless_building}} ]}}], [] = run(Config, Ts1), @@ -1195,7 +1195,7 @@ opportunistic_warnings(Config) -> [nowarn_nomatch], {warnings,[{{4,24},v3_core,{failed,bad_binary}}, {{5,45},sys_core_fold,{failed,{embedded_unit,8,28}}}, - {{6,43},v3_kernel,{failed,bad_segment_size}}, + {{6,43},beam_core_to_ssa,{failed,bad_segment_size}}, {{8,24},sys_core_fold,{ignored,useless_building}} ]}}], [] = run(Config, Ts3), @@ -1216,7 +1216,7 @@ opportunistic_warnings(Config) -> {warnings,[{{2,17},sys_core_fold,{nomatch,{shadow,1,{m,1}}}}, {{4,24},v3_core,{failed,bad_binary}}, {{5,45},sys_core_fold,{failed,{embedded_unit,8,28}}}, - {{6,43},v3_kernel,{failed,bad_segment_size}} + {{6,43},beam_core_to_ssa,{failed,bad_segment_size}} ]}}], [] = run(Config, Ts5), diff --git a/lib/compiler/vsn.mk b/lib/compiler/vsn.mk index c9aed4742cac..ccbd87396f62 100644 --- a/lib/compiler/vsn.mk +++ b/lib/compiler/vsn.mk @@ -1 +1 @@ -COMPILER_VSN = 8.3 +COMPILER_VSN = 8.3.2 diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in index 25167a8a3a02..29e7a11335e7 100644 --- a/lib/crypto/c_src/Makefile.in +++ b/lib/crypto/c_src/Makefile.in @@ -205,13 +205,13 @@ $(LIBDIR)/otp_test_engine$(TYPEMARKER).dll: $(TEST_ENGINE_OBJS) $(V_LD) $(LDFLAGS) -o $@ $(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) $(TEST_ENGINE_OBJS) -l$(SSL_CRYPTO_LIBNAME) -l$(SSL_SSL_LIBNAME) $(SSL_EXTRA_LIBS) endif -$(OBJDIR)/ec$(TYPEMARKER).o: ec.c - $(V_at)$(INSTALL_DIR) $(OBJDIR) - $(V_CC) -c -o $@ $(ALL_CFLAGS) $(CRYPTO_NO_DEPRECATE_WARN) $< +# $(OBJDIR)/ec$(TYPEMARKER).o: ec.c +# $(V_at)$(INSTALL_DIR) $(OBJDIR) +# $(V_CC) -c -o $@ $(ALL_CFLAGS) $(CRYPTO_NO_DEPRECATE_WARN) $< $(OBJDIR)/%$(TYPEMARKER).o: %.c $(V_at)$(INSTALL_DIR) $(OBJDIR) - $(V_CC) -c -o $@ $(ALL_CFLAGS) $< + $(V_CC) -MMD -c -o $@ $(ALL_CFLAGS) $< $(LIBDIR)/crypto$(TYPEMARKER).so: $(CRYPTO_OBJS) $(V_at)$(INSTALL_DIR) $(LIBDIR) @@ -277,3 +277,4 @@ endif release_docs_spec: +-include $(CRYPTO_OBJS:%.o=%.d) diff --git a/lib/crypto/c_src/algorithms.c b/lib/crypto/c_src/algorithms.c index be19286509d9..9686ed6464dd 100644 --- a/lib/crypto/c_src/algorithms.c +++ b/lib/crypto/c_src/algorithms.c @@ -51,7 +51,6 @@ void init_rsa_opts_types(ErlNifEnv* env); void init_algorithms_types(ErlNifEnv* env) { - mtx_init_curve_types = enif_mutex_create("init_curve_types"); #ifdef HAS_3_0_API #else init_hash_types(env); @@ -62,9 +61,21 @@ void init_algorithms_types(ErlNifEnv* env) /* ciphers and macs are initiated statically */ } -void cleanup_algorithms_types(ErlNifEnv* env) + +int create_curve_mutex(void) +{ + if (!mtx_init_curve_types) { + mtx_init_curve_types = enif_mutex_create("init_curve_types"); + } + return !!mtx_init_curve_types; +} + +void destroy_curve_mutex(void) { - enif_mutex_destroy(mtx_init_curve_types); + if (mtx_init_curve_types) { + enif_mutex_destroy(mtx_init_curve_types); + mtx_init_curve_types = NULL; + } } /*================================================================ diff --git a/lib/crypto/c_src/algorithms.h b/lib/crypto/c_src/algorithms.h index 25e1db129955..3c22a9fccc42 100644 --- a/lib/crypto/c_src/algorithms.h +++ b/lib/crypto/c_src/algorithms.h @@ -23,8 +23,9 @@ #include "common.h" +int create_curve_mutex(void); +void destroy_curve_mutex(void); void init_algorithms_types(ErlNifEnv* env); -void cleanup_algorithms_types(ErlNifEnv* env); ERL_NIF_TERM hash_algorithms(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); ERL_NIF_TERM pubkey_algorithms(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); diff --git a/lib/crypto/c_src/bn.c b/lib/crypto/c_src/bn.c index f06ed9002e98..5e9fec509348 100644 --- a/lib/crypto/c_src/bn.c +++ b/lib/crypto/c_src/bn.c @@ -212,23 +212,38 @@ int get_ossl_BN_param_from_bin(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL return get_ossl_BN_param_from_bin_sz(env, key, bin, dest, NULL); } -int get_ossl_BN_param_from_bin_sz(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL_PARAM *dest, size_t *size) +int get_ossl_BN_param_from_bin_sz(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, + OSSL_PARAM *dest, size_t *size) { BIGNUM *bn = NULL; - ErlNifBinary tmp; + int ok = 0; - if (!get_bn_from_bin_sz(env, bin, &bn, size) || - !enif_inspect_binary(env, bin_from_bn(env,bn), &tmp) || // Allocate buf - BN_bn2nativepad(bn, tmp.data, tmp.size) < 0) {// Fill with BN in right endianity - if (bn) BN_free(bn); + if (!get_bn_from_bin_sz(env, bin, &bn, size)) return 0; - } - - *dest = OSSL_PARAM_construct_BN(key, tmp.data, tmp.size); - if (bn) BN_free(bn); + + ok = get_ossl_BN_param_from_bn(env, key, bn, dest); + BN_free(bn); + return ok; +} + +int get_ossl_BN_param_from_bn(ErlNifEnv* env, char* key, const BIGNUM* bn, + OSSL_PARAM *dest) +{ + const size_t bn_sz = BN_num_bytes(bn); + unsigned char* tmp_buf; + ERL_NIF_TERM dummy_term; + + /* Create a binary term just as a convenient tmp buffer */ + tmp_buf = enif_make_new_binary(env, bn_sz, &dummy_term); + if (BN_bn2nativepad(bn, tmp_buf, bn_sz) < 0) // Fill with BN in right endianity + return 0; + + *dest = OSSL_PARAM_construct_BN(key, tmp_buf, bn_sz); return 1; } + + int get_ossl_param_from_bin_in_list(ErlNifEnv* env, char* key, ERL_NIF_TERM *listcell, OSSL_PARAM *dest) { ERL_NIF_TERM head; diff --git a/lib/crypto/c_src/bn.h b/lib/crypto/c_src/bn.h index 5e207aed2db8..662a32dc295e 100644 --- a/lib/crypto/c_src/bn.h +++ b/lib/crypto/c_src/bn.h @@ -38,6 +38,7 @@ int get_bn_from_bin_sz(ErlNifEnv* env, ERL_NIF_TERM term, BIGNUM** bnp, size_t* int get_ossl_octet_string_param_from_bin(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL_PARAM *dest); int get_ossl_BN_param_from_bin(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL_PARAM *dest); int get_ossl_BN_param_from_bin_sz(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL_PARAM *dest, size_t *size); +int get_ossl_BN_param_from_bn(ErlNifEnv* env, char* key, const BIGNUM* bn, OSSL_PARAM *dest); int get_ossl_param_from_bin_in_list(ErlNifEnv* env, char* key, ERL_NIF_TERM *listcell, OSSL_PARAM *dest); #endif diff --git a/lib/crypto/c_src/crypto.c b/lib/crypto/c_src/crypto.c index 12abf8aca223..00fe2e44ec74 100644 --- a/lib/crypto/c_src/crypto.c +++ b/lib/crypto/c_src/crypto.c @@ -218,6 +218,8 @@ static int initialize(ErlNifEnv* env, ERL_NIF_TERM load_info) if (!create_engine_mutex(env)) { return __LINE__; } + if (!create_curve_mutex()) + return __LINE__; #ifdef HAS_3_0_API prov_cnt = 0; @@ -333,7 +335,7 @@ static int upgrade(ErlNifEnv* env, void** priv_data, void** old_priv_data, static void unload(ErlNifEnv* env, void* priv_data) { if (--library_refc == 0) { - cleanup_algorithms_types(env); + destroy_curve_mutex(); destroy_engine_mutex(env); } diff --git a/lib/crypto/c_src/ec.c b/lib/crypto/c_src/ec.c index 124582c4f852..49e1da4fe4c6 100644 --- a/lib/crypto/c_src/ec.c +++ b/lib/crypto/c_src/ec.c @@ -24,9 +24,12 @@ #ifdef HAVE_EC # if defined(HAS_3_0_API) +# include + int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, OSSL_PARAM params[], int *i, - size_t *order_size) + size_t *order_size, + struct get_curve_def_ctx* gcd) { const ERL_NIF_TERM* curve; int c_arity = -1; @@ -38,6 +41,7 @@ int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, int arity = -1; const ERL_NIF_TERM* curve_tuple; + /* Here are two random curve definition examples, one prime_field and one characteristic_two_field. Both are from the crypto/src/crypto_ec_curves.erl. @@ -77,6 +81,23 @@ int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, c_arity != 5) assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "Bad curve def. Expect 5-tuple.")); + if (gcd->use_curve_name + && curve_tuple[1] != atom_undefined + && enif_get_atom(env, curve_tuple[1], gcd->curve_name, + sizeof(gcd->curve_name), ERL_NIF_LATIN1)) { + ErlNifBinary order_bin; + params[(*i)++] = OSSL_PARAM_construct_utf8_string("group", gcd->curve_name, 0); + + if (order_size) { + if (!enif_inspect_binary(env, curve[3], &order_bin)) + assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "Bad order")); + *order_size = order_bin.size; + } + gcd->use_curve_name = 1; + return 1; + } + gcd->use_curve_name = 0; + if (!get_ossl_octet_string_param_from_bin(env, "generator", curve[2], ¶ms[(*i)++])) assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "Bad Generator (Point)")); @@ -187,15 +208,8 @@ int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, } else assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "Bad last field")); - { - ErlNifBinary tmp; - - if (!enif_inspect_binary(env, bin_from_bn(env,p), &tmp) || // Allocate buf - BN_bn2nativepad(p, tmp.data, tmp.size) < 0) {// Fill with BN in right endianity - assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "BN padding failed")); - } - params[(*i)++] = OSSL_PARAM_construct_BN("p", tmp.data, tmp.size); - } + if (!get_ossl_BN_param_from_bn(env, "p", p, ¶ms[(*i)++])) + assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "BN padding failed")); # endif } else @@ -216,6 +230,7 @@ int get_ec_public_key(ErlNifEnv* env, ERL_NIF_TERM key, EVP_PKEY **pkey) int tpl_arity; int i = 0; OSSL_PARAM params[15]; + struct get_curve_def_ctx gcd; EVP_PKEY_CTX *pctx = NULL; if (!enif_get_tuple(env, key, &tpl_arity, &tpl_terms) || @@ -227,19 +242,27 @@ int get_ec_public_key(ErlNifEnv* env, ERL_NIF_TERM key, EVP_PKEY **pkey) if (!get_ossl_octet_string_param_from_bin(env, "pub", tpl_terms[1], ¶ms[i++])) assign_goto(ret, err, EXCP_BADARG_N(env, 0, "Bad public key")); - if (!get_curve_definition(env, &ret, tpl_terms[0], params, &i, NULL)) + if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) + assign_goto(ret, err, EXCP_ERROR(env, "Can't make EVP_PKEY_CTX")); + + gcd.use_curve_name = 1; +retry_without_name: + if (!get_curve_definition(env, &ret, tpl_terms[0], params, &i, NULL, &gcd)) goto err; params[i++] = OSSL_PARAM_construct_end(); - if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) - assign_goto(ret, err, EXCP_ERROR(env, "Can't make EVP_PKEY_CTX")); - if (EVP_PKEY_fromdata_init(pctx) <= 0) assign_goto(ret, err, EXCP_ERROR(env, "Can't init fromdata")); - if (EVP_PKEY_fromdata(pctx, pkey, EVP_PKEY_PUBLIC_KEY, params) <= 0) + if (EVP_PKEY_fromdata(pctx, pkey, EVP_PKEY_PUBLIC_KEY, params) <= 0) { + if (gcd.use_curve_name) { + gcd.use_curve_name = 0; + i = 1; + goto retry_without_name; + } assign_goto(ret, err, EXCP_ERROR(env, "Can't do fromdata")); + } if (!*pkey) assign_goto(ret, err, EXCP_ERROR(env, "Couldn't get a public key")); @@ -253,13 +276,7 @@ int get_ec_public_key(ErlNifEnv* env, ERL_NIF_TERM key, EVP_PKEY **pkey) } -int get_ec_private_key_2(ErlNifEnv* env, - ERL_NIF_TERM curve, ERL_NIF_TERM key, - EVP_PKEY **pkey, - ERL_NIF_TERM *ret, - size_t *order_size); - -int get_ec_private_key_2(ErlNifEnv* env, +static int get_ec_private_key_2(ErlNifEnv* env, ERL_NIF_TERM curve, ERL_NIF_TERM key, EVP_PKEY **pkey, ERL_NIF_TERM *ret, @@ -267,24 +284,33 @@ int get_ec_private_key_2(ErlNifEnv* env, { int i = 0; OSSL_PARAM params[15]; + struct get_curve_def_ctx gcd; EVP_PKEY_CTX *pctx = NULL; if (!get_ossl_BN_param_from_bin(env, "priv", key, ¶ms[i++])) assign_goto(*ret, err, EXCP_BADARG_N(env, 0, "Bad private key")); - if (!get_curve_definition(env, ret, curve, params, &i, order_size)) + if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) + assign_goto(*ret, err, EXCP_ERROR(env, "Can't make EVP_PKEY_CTX")); + + gcd.use_curve_name = 1; +retry_without_name: + if (!get_curve_definition(env, ret, curve, params, &i, order_size, &gcd)) goto err; params[i++] = OSSL_PARAM_construct_end(); - if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) - assign_goto(*ret, err, EXCP_ERROR(env, "Can't make EVP_PKEY_CTX")); - if (EVP_PKEY_fromdata_init(pctx) <= 0) assign_goto(*ret, err, EXCP_ERROR(env, "Can't init fromdata")); - if (EVP_PKEY_fromdata(pctx, pkey, EVP_PKEY_KEYPAIR, params) <= 0) + if (EVP_PKEY_fromdata(pctx, pkey, EVP_PKEY_KEYPAIR, params) <= 0) { + if (gcd.use_curve_name) { + gcd.use_curve_name = 0; + i = 1; + goto retry_without_name; + } assign_goto(*ret, err, EXCP_ERROR(env, "Can't do fromdata")); + } if (!*pkey) assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get a private key")); @@ -319,16 +345,18 @@ int get_ec_private_key(ErlNifEnv* env, ERL_NIF_TERM key, EVP_PKEY **pkey) return 0; } -int mk_pub_key_binary(ErlNifEnv* env, EVP_PKEY **peer_pkey, ErlNifBinary *pubkey_bin, ERL_NIF_TERM *ret); +static int mk_pub_key_binary(ErlNifEnv* env, EVP_PKEY *peer_pkey, + ErlNifBinary *pubkey_bin, ERL_NIF_TERM *ret); ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) { /* (Curve, PrivKey|undefined) */ ERL_NIF_TERM ret = atom_undefined; int i = 0; OSSL_PARAM params[15]; + struct get_curve_def_ctx gcd; EVP_PKEY_CTX *pctx = NULL; EVP_PKEY *pkey = NULL, *peer_pkey = NULL; - size_t sz, order_size; + size_t sz, order_size = 0; BIGNUM *priv_bn = NULL; ErlNifBinary pubkey_bin; @@ -339,9 +367,8 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar /* Get the two keys, pub as binary and priv as BN. Since the private key is explicitly given, it must be calculated. - I haven't found any way to do that with the pure 3.0 interface yet. */ - if (!mk_pub_key_binary(env, &peer_pkey, &pubkey_bin, &ret)) + if (!mk_pub_key_binary(env, peer_pkey, &pubkey_bin, &ret)) goto err; if (!EVP_PKEY_get_bn_param(peer_pkey, "priv", &priv_bn)) @@ -349,26 +376,36 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar } else { + /* Neither the private nor the public key is known, so we generate the pair: */ + if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) + assign_goto(ret, err, EXCP_ERROR(env, "Can't EVP_PKEY_CTX_new_from_name")); + + gcd.use_curve_name = 1; + retry_without_name: /* PrivKey (that is, argv[1]) == atom_undefined */ - if (!get_curve_definition(env, &ret, argv[0], params, &i, &order_size)) + if (!get_curve_definition(env, &ret, argv[0], params, &i, + &order_size, &gcd)) // INSERT "ret" parameter in get_curve_definition !! assign_goto(ret, err, EXCP_BADARG_N(env, 0, "Couldn't get Curve definition")); params[i++] = OSSL_PARAM_construct_end(); - /* Neither the private nor the public key is known, so we generate the pair: */ - if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) - assign_goto(ret, err, EXCP_ERROR(env, "Can't EVP_PKEY_CTX_new_from_name")); - if (EVP_PKEY_keygen_init(pctx) <= 0) assign_goto(ret, err, EXCP_ERROR(env, "Can't EVP_PKEY_keygen_init")); if (!EVP_PKEY_CTX_set_params(pctx, params)) assign_goto(ret, err, EXCP_ERROR(env, "Can't EVP_PKEY_CTX_set_params")); - - if (!EVP_PKEY_generate(pctx, &pkey)) + + if (!EVP_PKEY_generate(pctx, &pkey)) { + if (gcd.use_curve_name) { + gcd.use_curve_name = 0; + i = 0; + goto retry_without_name; + } assign_goto(ret, err, EXCP_ERROR(env, "Couldn't generate EC key")); - + } + + /* Get the two keys, pub as binary and priv as BN */ if (!EVP_PKEY_get_octet_string_param(pkey, "encoded-pub-key", NULL, 0, &sz)) assign_goto(ret, err, EXCP_ERROR(env, "Can't get pub octet string size")); @@ -386,6 +423,8 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar assign_goto(ret, err, EXCP_BADARG_N(env, 1, "Couldn't get priv key bytes")); } + if (order_size == 0) + order_size = BN_num_bytes(priv_bn); ret = enif_make_tuple2(env, enif_make_binary(env, &pubkey_bin), bn2term(env, order_size, priv_bn)); @@ -398,67 +437,81 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar return ret; } -int mk_pub_key_binary(ErlNifEnv* env, EVP_PKEY **peer_pkey, ErlNifBinary *pubkey_bin, ERL_NIF_TERM *ret) +static int mk_pub_key_binary(ErlNifEnv* env, EVP_PKEY *peer_pkey, + ErlNifBinary *pubkey_bin, ERL_NIF_TERM *ret) { - EC_KEY *ec_key = NULL; - EC_POINT *public_key = NULL; - EC_GROUP *group = NULL; - BIGNUM *priv_bn = NULL; - - *ret = atom_undefined; - - /* Use the deprecated interface to get the curve and - private key in pre 3.0 form: */ - if ((ec_key = EVP_PKEY_get1_EC_KEY(*peer_pkey)) == NULL) - assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC key")); - - if ((group = EC_GROUP_dup(EC_KEY_get0_group(ec_key))) == NULL) + size_t pub_key_size = 0; + size_t group_name_size = 0; + char group_name_buf[20]; + char* group_name = group_name_buf; + int group_nid; + EC_GROUP* ec_group = NULL; + EC_POINT* pub_key = NULL; + BIGNUM* priv_bn = NULL; + int ok = 0; + + /* This code was inspired by + * https://github.com/openssl/openssl/issues/18437 + * which first tried to get public key directly with + * EVP_PKEY_get_octet_string_param(peer_pkey, OSSL_PKEY_PARAM_PUB_KEY,..) + * + * I removed that since I don't know what key format that will produce + * if it succeeds. That is, we go directly to the "fallback" and calculate + * the public key. + */ + + if (!EVP_PKEY_get_utf8_string_param(peer_pkey, OSSL_PKEY_PARAM_GROUP_NAME, + NULL, 0, &group_name_size)) + assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC group name size")); + + if (group_name_size >= sizeof(group_name_buf)) + group_name = enif_alloc(group_name_size + 1); + if (!EVP_PKEY_get_utf8_string_param(peer_pkey, OSSL_PKEY_PARAM_GROUP_NAME, + group_name, group_name_size+1, + NULL)) + assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC group name")); + + group_nid = OBJ_sn2nid(group_name); + if (group_nid == NID_undef) + assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC group nid")); + + ec_group = EC_GROUP_new_by_curve_name(group_nid); + if (ec_group == NULL) assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC_GROUP")); - if ((public_key = EC_POINT_new(group)) == NULL) + pub_key = EC_POINT_new(ec_group); + if (pub_key == NULL) assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't create POINT")); - if (!EC_POINT_copy(public_key, EC_GROUP_get0_generator(group))) - assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't copy POINT")); - - /* Make the corresponding public key */ - if (!EVP_PKEY_get_bn_param(*peer_pkey, "priv", &priv_bn)) + if (!EVP_PKEY_get_bn_param(peer_pkey, OSSL_PKEY_PARAM_PRIV_KEY, &priv_bn)) assign_goto(*ret, err, EXCP_BADARG_N(env, 1, "Couldn't get peer priv key bytes")); - if (BN_is_zero(priv_bn)) - assign_goto(*ret, err, EXCP_BADARG_N(env, 1, "peer priv key must not be 0")); - - if (!EC_POINT_mul(group, public_key, priv_bn, NULL, NULL, NULL)) + if (!EC_POINT_mul(ec_group, pub_key, priv_bn, NULL, NULL, NULL)) assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't multiply POINT")); - if (!EC_KEY_set_public_key(ec_key, public_key)) - assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't set EC_KEY")); - - if (!EVP_PKEY_assign_EC_KEY(*peer_pkey, ec_key)) - assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't assign EC_KEY to PKEY")); - - /* And now get the binary representation (by some reason we can't read it from - peer_pubkey in the calling function with 3.0-functions.) - */ - { - point_conversion_form_t form = EC_KEY_get_conv_form(ec_key); - size_t dlen = EC_POINT_point2oct(group, public_key, form, NULL, 0, NULL); - - if (!enif_alloc_binary(dlen, pubkey_bin) || - !EC_POINT_point2oct(group, public_key, form, pubkey_bin->data, pubkey_bin->size, NULL) - ) - assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get public key")); + pub_key_size = EC_POINT_point2oct(ec_group, pub_key, + POINT_CONVERSION_UNCOMPRESSED, NULL, 0, NULL); + if (pub_key_size == 0) + assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get pub_key_size")); + + enif_alloc_binary(pub_key_size, pubkey_bin); + if (!EC_POINT_point2oct(ec_group, pub_key, POINT_CONVERSION_UNCOMPRESSED, + pubkey_bin->data, + pubkey_bin->size, NULL)) { + enif_release_binary(pubkey_bin); + assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get pub key bytes")); } - err: - if (public_key) EC_POINT_free(public_key); - if (group) EC_GROUP_free(group); + *ret = enif_make_binary(env, pubkey_bin); + ok = 1; + +err: + if (group_name != group_name_buf) enif_free(group_name); + if (pub_key) EC_POINT_free(pub_key); + if (ec_group) EC_GROUP_free(ec_group); if (priv_bn) BN_free(priv_bn); - if (*ret == atom_undefined) - return 1; - else - return 0; + return ok; } # endif /* HAS_3_0_API */ @@ -908,10 +961,8 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar # endif /* ! HAS_3_0_API */ -#endif /* HAVE_EC */ - +#else /* ifndef HAVE_EC */ -#if ! defined(HAVE_EC) ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) { /* (Curve, PrivKey) */ return EXCP_NOTSUP_N(env, 0, "EC not supported"); diff --git a/lib/crypto/c_src/ec.h b/lib/crypto/c_src/ec.h index e53986d64e82..f0b0b9620715 100644 --- a/lib/crypto/c_src/ec.h +++ b/lib/crypto/c_src/ec.h @@ -26,9 +26,17 @@ #if defined(HAVE_EC) # if defined(HAS_3_0_API) + +struct get_curve_def_ctx +{ + char curve_name[20]; + int use_curve_name; +}; + int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, OSSL_PARAM params[], int *i, - size_t *order_size); + size_t *order_size, + struct get_curve_def_ctx*); # endif /* HAS_3_0_API */ # if ! defined(HAS_3_0_API) diff --git a/lib/crypto/c_src/ecdh.c b/lib/crypto/c_src/ecdh.c index 7509d9cb84f4..f1b0f7eb2877 100644 --- a/lib/crypto/c_src/ecdh.c +++ b/lib/crypto/c_src/ecdh.c @@ -42,6 +42,7 @@ ERL_NIF_TERM ecdh_compute_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM a int ret_bin_alloc = 0; int i = 0, i_key = 0; OSSL_PARAM params[15]; + struct get_curve_def_ctx gcd; EVP_PKEY_CTX *own_pctx = NULL, *peer_pctx = NULL, *pctx_gen = NULL; EVP_PKEY *own_pkey = NULL, *peer_pkey = NULL; int err; @@ -53,21 +54,29 @@ ERL_NIF_TERM ecdh_compute_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM a if (!get_ossl_octet_string_param_from_bin(env, "pub", argv[0], ¶ms[i++])) assign_goto(ret, err, EXCP_BADARG_N(env, 0, "Bad peer public key; binary expected")); + /* Build the remote public key in peer_pkey */ + peer_pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL); + + gcd.use_curve_name = 1; +retry_without_name: /* Curve definition/name */ - if (!get_curve_definition(env, &ret, argv[1], params, &i, NULL)) + if (!get_curve_definition(env, &ret, argv[1], params, &i, NULL, &gcd)) goto err; /* End of params */ params[i++] = OSSL_PARAM_construct_end(); - /* Build the remote public key in peer_pkey */ - peer_pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL); - if (EVP_PKEY_fromdata_init(peer_pctx) <= 0) assign_goto(ret, err, EXCP_ERROR(env, "Can't init fromdata")); - if (EVP_PKEY_fromdata(peer_pctx, &peer_pkey, EVP_PKEY_PUBLIC_KEY, params) <= 0) + if (EVP_PKEY_fromdata(peer_pctx, &peer_pkey, EVP_PKEY_PUBLIC_KEY, params) <= 0) { + if (gcd.use_curve_name) { + gcd.use_curve_name = 0; + i = 1; + goto retry_without_name; + } assign_goto(ret, err, EXCP_ERROR(env, "Can't do fromdata")); + } if (!peer_pkey) assign_goto(ret, err, EXCP_ERROR(env, "No peer_pkey")); diff --git a/lib/crypto/c_src/openssl_config.h b/lib/crypto/c_src/openssl_config.h index d034590a2ec3..b73141a53051 100644 --- a/lib/crypto/c_src/openssl_config.h +++ b/lib/crypto/c_src/openssl_config.h @@ -468,12 +468,6 @@ do { \ # undef FIPS_SUPPORT #endif -/* Disable FIPS for 3.0 temporaryly until the support is added */ -#if defined(FIPS_SUPPORT) && \ - defined(HAS_3_0_API) -# undef FIPS_SUPPORT -#endif - #if defined(FIPS_SUPPORT) && \ defined(HAS_3_0_API) # define FIPS_mode() EVP_default_properties_is_fips_enabled(NULL) diff --git a/lib/crypto/c_src/pkey.c b/lib/crypto/c_src/pkey.c index bfdcfe35537d..afdff78f48bb 100644 --- a/lib/crypto/c_src/pkey.c +++ b/lib/crypto/c_src/pkey.c @@ -100,7 +100,7 @@ static int check_pkey_algorithm_type(ErlNifEnv *env, #ifdef HAVE_EDDSA - if (FIPS_MODE()) + if (FIPS_MODE() && algorithm == atom_eddsa) assign_goto(*err_return, err, EXCP_NOTSUP_N(env, alg_arg_num, "Unsupported algorithm in FIPS mode")); #endif diff --git a/lib/crypto/doc/src/crypto_app.xml b/lib/crypto/doc/src/crypto_app.xml index dcc86cd49c13..4bc019f24462 100644 --- a/lib/crypto/doc/src/crypto_app.xml +++ b/lib/crypto/doc/src/crypto_app.xml @@ -50,9 +50,9 @@ LibreSSL should also work.

The crypto app is tested daily with at least one version of each of the - OpenSSL 1.0.1, 1.0.2, 1.1.0, 1.1.1 and 3.0. FIPS mode is also tested for 1.0.1 and 1.0.2.

+ OpenSSL 1.0.1, 1.0.2, 1.1.0, 1.1.1 and 3.0. FIPS mode is also tested for 1.0.1, 1.0.2 and 3.0.

-

Using OpenSSL 3.0 with Engines or in FIPS mode is not yet supported by the OTP/crypto app.

+

Using OpenSSL 3.0 with Engines is not yet supported by the OTP/crypto app.

Source releases of OpenSSL can be downloaded from the OpenSSL project home page, or mirror sites listed there. diff --git a/lib/crypto/src/crypto.erl b/lib/crypto/src/crypto.erl index 6abaacad5c29..1cc11aa6eb98 100644 --- a/lib/crypto/src/crypto.erl +++ b/lib/crypto/src/crypto.erl @@ -2372,14 +2372,12 @@ nif_curve_params(CurveName) when is_atom(CurveName) -> x448 -> {evp,CurveName}; x25519 -> {evp,CurveName}; _ -> - Spec = - try - crypto_ec_curves:curve(CurveName) - catch - _:_ -> - undefined - end, - {Spec, CurveName} + try + crypto_ec_curves:curve_with_name(CurveName) + catch + _:_ -> + {undefined, CurveName} + end end. diff --git a/lib/crypto/src/crypto_ec_curves.erl b/lib/crypto/src/crypto_ec_curves.erl index a0a2f9960193..3f14c34a26fd 100644 --- a/lib/crypto/src/crypto_ec_curves.erl +++ b/lib/crypto/src/crypto_ec_curves.erl @@ -1,11 +1,22 @@ -module(crypto_ec_curves). --export([curve/1, curves/0]). +-export([curve/1, curves/0, curve_with_name/1]). curves() -> proplists:get_value(curves, crypto:supports()) -- [x25519,x448]. -curve(secp112r1) -> +real_name(secp192r1) -> prime192v1; +real_name(secp256r1) -> prime256v1; +real_name(Name) -> Name. + +curve_with_name(Curve) -> + RealName = real_name(Curve), + {params(RealName), RealName}. + +curve(Curve) -> + params(real_name(Curve)). + +params(secp112r1) -> { {prime_field, <<16#DB7C2ABF62E35E668076BEAD208B:112>>}, %% Prime {<<16#DB7C2ABF62E35E668076BEAD2088:112>>, %% A @@ -18,7 +29,7 @@ curve(secp112r1) -> <<16#01:8>> %% CoFactor }; -curve(secp112r2) -> +params(secp112r2) -> { {prime_field, <<16#DB7C2ABF62E35E668076BEAD208B:112>>}, %% Prime {<<16#6127C24C05F38A0AAAF65C0EF02C:112>>, %% A @@ -31,7 +42,7 @@ curve(secp112r2) -> <<16#04:8>> %% CoFactor }; -curve(secp128r1) -> +params(secp128r1) -> { {prime_field, <<16#FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF:128>>}, %% Prime {<<16#FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC:128>>, %% A @@ -44,7 +55,7 @@ curve(secp128r1) -> <<16#01:8>> %% CoFactor }; -curve(secp128r2) -> +params(secp128r2) -> { {prime_field, <<16#FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF:128>>}, %% Prime {<<16#D6031998D1B3BBFEBF59CC9BBFF9AEE1:128>>, %% A @@ -57,7 +68,7 @@ curve(secp128r2) -> <<16#04:8>> %% CoFactor }; -curve(secp160k1) -> +params(secp160k1) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73:160>>}, %% Prime {<<16#00:8>>, %% A @@ -70,7 +81,7 @@ curve(secp160k1) -> <<16#01:8>> %% CoFactor }; -curve(secp160r1) -> +params(secp160r1) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF:160>>}, %% Prime {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC:160>>, %% A @@ -83,7 +94,7 @@ curve(secp160r1) -> <<16#01:8>> %% CoFactor }; -curve(secp160r2) -> +params(secp160r2) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73:160>>}, %% Prime {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC70:160>>, %% A @@ -96,20 +107,7 @@ curve(secp160r2) -> <<16#01:8>> %% CoFactor }; -curve(secp192r1) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF:192>>}, %% Prime - {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC:192>>, %% A - <<16#64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1:192>>, %% B - <<16#3045AE6FC8422F64ED579528D38120EAE12196D5:160>>}, %% Seed - <<16#04:8, - 16#188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012:192, %% X(p0) - 16#07192B95FFC8DA78631011ED6B24CDD573F977A11E794811:192>>, %% Y(p0) - <<16#FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831:192>>, %% Order - <<16#01:8>> %% CoFactor - }; - -curve(secp192k1) -> +params(secp192k1) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37:192>>}, %% Prime {<<16#00:8>>, %% A @@ -122,7 +120,7 @@ curve(secp192k1) -> <<16#01:8>> %% CoFactor }; -curve(secp224k1) -> +params(secp224k1) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFE56D:224>>}, %% Prime {<<16#00:8>>, %% A @@ -135,7 +133,7 @@ curve(secp224k1) -> <<16#01:8>> %% CoFactor }; -curve(secp224r1) -> +params(secp224r1) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001:224>>}, %% Prime {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE:224>>, %% A @@ -148,7 +146,7 @@ curve(secp224r1) -> <<16#01:8>> %% CoFactor }; -curve(secp256k1) -> +params(secp256k1) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F:256>>}, %% Prime {<<16#00:8>>, %% A @@ -161,20 +159,7 @@ curve(secp256k1) -> <<16#01:8>> %% CoFactor }; -curve(secp256r1) -> - { - {prime_field, <<16#FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF:256>>}, %% Prime - {<<16#FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC:256>>, %% A - <<16#5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B:256>>, %% B - <<16#C49D360886E704936A6678E1139D26B7819F7E90:160>>}, %% Seed - <<16#04:8, - 16#6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296:256, %% X(p0) - 16#4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5:256>>, %% Y(p0) - <<16#FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551:256>>, %% Order - <<16#01:8>> %% CoFactor - }; - -curve(secp384r1) -> +params(secp384r1) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE:256, %% Prime 16#FFFFFFFF0000000000000000FFFFFFFF:128>>}, @@ -193,7 +178,7 @@ curve(secp384r1) -> <<16#01:8>> %% CoFactor }; -curve(secp521r1) -> +params(secp521r1) -> { {prime_field, <<16#01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:256, %% Prime 16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:256, @@ -218,7 +203,7 @@ curve(secp521r1) -> <<16#01:8>> %% CoFactor }; -curve(prime192v1) -> +params(prime192v1) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF:192>>}, %% Prime {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC:192>>, %% A @@ -231,7 +216,7 @@ curve(prime192v1) -> <<16#01:8>> %% CoFactor }; -curve(prime192v2) -> +params(prime192v2) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF:192>>}, %% Prime {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC:192>>, %% A @@ -244,7 +229,7 @@ curve(prime192v2) -> <<16#01:8>> %% CoFactor }; -curve(prime192v3) -> +params(prime192v3) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF:192>>}, %% Prime {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC:192>>, %% A @@ -257,7 +242,7 @@ curve(prime192v3) -> <<16#01:8>> %% CoFactor }; -curve(prime239v1) -> +params(prime239v1) -> { {prime_field, <<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF:240>>}, %% Prime {<<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC:240>>, %% A @@ -270,7 +255,7 @@ curve(prime239v1) -> <<16#01:8>> %% CoFactor }; -curve(prime239v2) -> +params(prime239v2) -> { {prime_field, <<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF:240>>}, %% Prime {<<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC:240>>, %% A @@ -283,7 +268,7 @@ curve(prime239v2) -> <<16#01:8>> %% CoFactor }; -curve(prime239v3) -> +params(prime239v3) -> { {prime_field, <<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF:240>>}, %% Prime {<<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC:240>>, %% A @@ -296,7 +281,7 @@ curve(prime239v3) -> <<16#01:8>> %% CoFactor }; -curve(prime256v1) -> +params(prime256v1) -> { {prime_field, <<16#FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF:256>>}, %% Prime {<<16#FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC:256>>, %% A @@ -309,7 +294,7 @@ curve(prime256v1) -> <<16#01:8>> %% CoFactor }; -curve(sect113r1) -> +params(sect113r1) -> { {characteristic_two_field, 113, {tpbasis,9}}, {<<16#3088250CA6E7C7FE649CE85820F7:112>>, %% A @@ -322,7 +307,7 @@ curve(sect113r1) -> <<16#02:8>> %% CoFactor }; -curve(sect113r2) -> +params(sect113r2) -> { {characteristic_two_field, 113, {tpbasis,9}}, {<<16#689918DBEC7E5A0DD6DFC0AA55C7:112>>, %% A @@ -335,7 +320,7 @@ curve(sect113r2) -> <<16#02:8>> %% CoFactor }; -curve(sect131r1) -> +params(sect131r1) -> { {characteristic_two_field, 131, {ppbasis,2,3,8}}, {<<16#07A11B09A76B562144418FF3FF8C2570B8:136>>, %% A @@ -348,7 +333,7 @@ curve(sect131r1) -> <<16#02:8>> %% CoFactor }; -curve(sect131r2) -> +params(sect131r2) -> { {characteristic_two_field, 131, {ppbasis,2,3,8}}, {<<16#03E5A88919D7CAFCBF415F07C2176573B2:136>>, %% A @@ -361,7 +346,7 @@ curve(sect131r2) -> <<16#02:8>> %% CoFactor }; -curve(sect163k1) -> +params(sect163k1) -> { {characteristic_two_field, 163, {ppbasis,3,6,7}}, {<<16#01:8>>, %% A @@ -374,7 +359,7 @@ curve(sect163k1) -> <<16#02:8>> %% CoFactor }; -curve(sect163r1) -> +params(sect163r1) -> { {characteristic_two_field, 163, {ppbasis,3,6,7}}, {<<16#07B6882CAAEFA84F9554FF8428BD88E246D2782AE2:168>>, %% A @@ -387,7 +372,7 @@ curve(sect163r1) -> <<16#02:8>> %% CoFactor }; -curve(sect163r2) -> +params(sect163r2) -> { {characteristic_two_field, 163, {ppbasis,3,6,7}}, {<<16#01:8>>, %% A @@ -400,7 +385,7 @@ curve(sect163r2) -> <<16#02:8>> %% CoFactor }; -curve(sect193r1) -> +params(sect193r1) -> { {characteristic_two_field, 193, {tpbasis,15}}, {<<16#17858FEB7A98975169E171F77B4087DE098AC8A911DF7B01:192>>, %% A @@ -413,7 +398,7 @@ curve(sect193r1) -> <<16#02:8>> %% CoFactor }; -curve(sect193r2) -> +params(sect193r2) -> { {characteristic_two_field, 193, {tpbasis,15}}, {<<16#0163F35A5137C2CE3EA6ED8667190B0BC43ECD69977702709B:200>>, %% A @@ -426,7 +411,7 @@ curve(sect193r2) -> <<16#02:8>> %% CoFactor }; -curve(sect233k1) -> +params(sect233k1) -> { {characteristic_two_field, 233, {tpbasis,74}}, {<<16#00:8>>, %% A @@ -439,7 +424,7 @@ curve(sect233k1) -> <<16#04:8>> %% CoFactor }; -curve(sect233r1) -> +params(sect233r1) -> { {characteristic_two_field, 233, {tpbasis,74}}, {<<16#01:8>>, %% A @@ -452,7 +437,7 @@ curve(sect233r1) -> <<16#02:8>> %% CoFactor }; -curve(sect239k1) -> +params(sect239k1) -> { {characteristic_two_field, 239, {tpbasis,158}}, {<<16#00:8>>, %% A @@ -465,7 +450,7 @@ curve(sect239k1) -> <<16#04:8>> %% CoFactor }; -curve(sect283k1) -> +params(sect283k1) -> { {characteristic_two_field, 283, {ppbasis,5,7,12}}, {<<16#00:8>>, %% A @@ -481,7 +466,7 @@ curve(sect283k1) -> <<16#04:8>> %% CoFactor }; -curve(sect283r1) -> +params(sect283r1) -> { {characteristic_two_field, 283, {ppbasis,5,7,12}}, {<<16#01:8>>, %% A @@ -498,7 +483,7 @@ curve(sect283r1) -> <<16#02:8>> %% CoFactor }; -curve(sect409k1) -> +params(sect409k1) -> { {characteristic_two_field, 409, {tpbasis,87}}, {<<16#00:8>>, %% A @@ -514,7 +499,7 @@ curve(sect409k1) -> <<16#04:8>> %% CoFactor }; -curve(sect409r1) -> +params(sect409r1) -> { {characteristic_two_field, 409, {tpbasis,87}}, {<<16#01:8>>, %% A @@ -531,7 +516,7 @@ curve(sect409r1) -> <<16#02:8>> %% CoFactor }; -curve(sect571k1) -> +params(sect571k1) -> { {characteristic_two_field, 571, {ppbasis,2,5,10}}, {<<16#00:8>>, %% A @@ -550,7 +535,7 @@ curve(sect571k1) -> <<16#04:8>> %% CoFactor }; -curve(sect571r1) -> +params(sect571r1) -> { {characteristic_two_field, 571, {ppbasis,2,5,10}}, {<<16#01:8>>, %% A @@ -571,7 +556,7 @@ curve(sect571r1) -> <<16#02:8>> %% CoFactor }; -curve(c2pnb163v1) -> +params(c2pnb163v1) -> { {characteristic_two_field, 163, {ppbasis,1,2,8}}, {<<16#072546B5435234A422E0789675F432C89435DE5242:168>>, %% A @@ -584,7 +569,7 @@ curve(c2pnb163v1) -> <<16#02:8>> %% CoFactor }; -curve(c2pnb163v2) -> +params(c2pnb163v2) -> { {characteristic_two_field, 163, {ppbasis,1,2,8}}, {<<16#0108B39E77C4B108BED981ED0E890E117C511CF072:168>>, %% A @@ -597,7 +582,7 @@ curve(c2pnb163v2) -> <<16#02:8>> %% CoFactor }; -curve(c2pnb163v3) -> +params(c2pnb163v3) -> { {characteristic_two_field, 163, {ppbasis,1,2,8}}, {<<16#07A526C63D3E25A256A007699F5447E32AE456B50E:168>>, %% A @@ -610,7 +595,7 @@ curve(c2pnb163v3) -> <<16#02:8>> %% CoFactor }; -curve(c2pnb176v1) -> +params(c2pnb176v1) -> { {characteristic_two_field, 176, {ppbasis,1,2,43}}, {<<16#E4E6DB2995065C407D9D39B8D0967B96704BA8E9C90B:176>>, %% A @@ -623,7 +608,7 @@ curve(c2pnb176v1) -> <<16#FF6E:16>> %% CoFactor }; -curve(c2tnb191v1) -> +params(c2tnb191v1) -> { {characteristic_two_field, 191, {tpbasis,9}}, {<<16#2866537B676752636A68F56554E12640276B649EF7526267:192>>, %% A @@ -636,7 +621,7 @@ curve(c2tnb191v1) -> <<16#02:8>> %% CoFactor }; -curve(c2tnb191v2) -> +params(c2tnb191v2) -> { {characteristic_two_field, 191, {tpbasis,9}}, {<<16#401028774D7777C7B7666D1366EA432071274F89FF01E718:192>>, %% A @@ -649,7 +634,7 @@ curve(c2tnb191v2) -> <<16#04:8>> %% CoFactor }; -curve(c2tnb191v3) -> +params(c2tnb191v3) -> { {characteristic_two_field, 191, {tpbasis,9}}, {<<16#6C01074756099122221056911C77D77E77A777E7E7E77FCB:192>>, %% A @@ -662,7 +647,7 @@ curve(c2tnb191v3) -> <<16#06:8>> %% CoFactor }; -curve(c2pnb208w1) -> +params(c2pnb208w1) -> { {characteristic_two_field, 208, {ppbasis,1,2,83}}, {<<16#00:8>>, %% A @@ -675,7 +660,7 @@ curve(c2pnb208w1) -> <<16#FE48:16>> %% CoFactor }; -curve(c2tnb239v1) -> +params(c2tnb239v1) -> { {characteristic_two_field, 239, {tpbasis,36}}, {<<16#32010857077C5431123A46B808906756F543423E8D27877578125778AC76:240>>, %% A @@ -688,7 +673,7 @@ curve(c2tnb239v1) -> <<16#04:8>> %% CoFactor }; -curve(c2tnb239v2) -> +params(c2tnb239v2) -> { {characteristic_two_field, 239, {tpbasis,36}}, {<<16#4230017757A767FAE42398569B746325D45313AF0766266479B75654E65F:240>>, %% A @@ -701,7 +686,7 @@ curve(c2tnb239v2) -> <<16#06:8>> %% CoFactor }; -curve(c2tnb239v3) -> +params(c2tnb239v3) -> { {characteristic_two_field, 239, {tpbasis,36}}, {<<16#01238774666A67766D6676F778E676B66999176666E687666D8766C66A9F:240>>, %% A @@ -714,7 +699,7 @@ curve(c2tnb239v3) -> <<16#0A:8>> %% CoFactor }; -curve(c2pnb272w1) -> +params(c2pnb272w1) -> { {characteristic_two_field, 272, {ppbasis,1,3,56}}, {<<16#91A091F03B5FBA4AB2CCF49C4EDD220FB028712D42BE752B2C40094DBACDB586:256, %% A @@ -732,7 +717,7 @@ curve(c2pnb272w1) -> <<16#FF06:16>> %% CoFactor }; -curve(c2pnb304w1) -> +params(c2pnb304w1) -> { {characteristic_two_field, 304, {ppbasis,1,2,11}}, {<<16#FD0D693149A118F651E6DCE6802085377E5F882D1B510B44160074C128807836:256, %% A @@ -750,7 +735,7 @@ curve(c2pnb304w1) -> <<16#FE2E:16>> %% CoFactor }; -curve(c2tnb359v1) -> +params(c2tnb359v1) -> { {characteristic_two_field, 359, {tpbasis,68}}, {<<16#5667676A654B20754F356EA92017D946567C46675556F19556A04616B567D223:256, %% A @@ -768,7 +753,7 @@ curve(c2tnb359v1) -> <<16#4C:8>> %% CoFactor }; -curve(c2pnb368w1) -> +params(c2pnb368w1) -> { {characteristic_two_field, 368, {ppbasis,1,2,85}}, {<<16#E0D2EE25095206F5E2A4F9ED229F1F256E79A0E2B455970D8D0D865BD94778C5:256, %% A @@ -786,7 +771,7 @@ curve(c2pnb368w1) -> <<16#FF70:16>> %% CoFactor }; -curve(c2tnb431r1) -> +params(c2tnb431r1) -> { {characteristic_two_field, 431, {tpbasis,120}}, {<<16#1A827EF00DD6FC0E234CAF046C6A5D8A85395B236CC4AD2CF32A0CADBDC9DDF6:256, %% A @@ -804,7 +789,7 @@ curve(c2tnb431r1) -> <<16#2760:16>> %% CoFactor }; -curve(wtls1) -> +params(wtls1) -> { {characteristic_two_field, 113, {tpbasis,9}}, {<<16#01:8>>, %% A @@ -817,7 +802,7 @@ curve(wtls1) -> <<16#02:8>> %% CoFactor }; -curve(wtls3) -> +params(wtls3) -> { {characteristic_two_field, 163, {ppbasis,3,6,7}}, {<<16#01:8>>, %% A @@ -830,7 +815,7 @@ curve(wtls3) -> <<16#02:8>> %% CoFactor }; -curve(wtls4) -> +params(wtls4) -> { {characteristic_two_field, 113, {tpbasis,9}}, {<<16#3088250CA6E7C7FE649CE85820F7:112>>, %% A @@ -843,7 +828,7 @@ curve(wtls4) -> <<16#02:8>> %% CoFactor }; -curve(wtls5) -> +params(wtls5) -> { {characteristic_two_field, 163, {ppbasis,1,2,8}}, {<<16#072546B5435234A422E0789675F432C89435DE5242:168>>, %% A @@ -856,7 +841,7 @@ curve(wtls5) -> <<16#02:8>> %% CoFactor }; -curve(wtls6) -> +params(wtls6) -> { {prime_field, <<16#DB7C2ABF62E35E668076BEAD208B:112>>}, %% Prime {<<16#DB7C2ABF62E35E668076BEAD2088:112>>, %% A @@ -869,7 +854,7 @@ curve(wtls6) -> <<16#01:8>> %% CoFactor }; -curve(wtls7) -> +params(wtls7) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73:160>>}, %% Prime {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC70:160>>, %% A @@ -882,7 +867,7 @@ curve(wtls7) -> <<16#01:8>> %% CoFactor }; -curve(wtls8) -> +params(wtls8) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFDE7:112>>}, %% Prime {<<16#00:8>>, %% A @@ -895,7 +880,7 @@ curve(wtls8) -> <<16#01:8>> %% CoFactor }; -curve(wtls9) -> +params(wtls9) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC808F:160>>}, %% Prime {<<16#00:8>>, %% A @@ -908,7 +893,7 @@ curve(wtls9) -> <<16#01:8>> %% CoFactor }; -curve(wtls10) -> +params(wtls10) -> { {characteristic_two_field, 233, {tpbasis,74}}, {<<16#00:8>>, %% A @@ -921,7 +906,7 @@ curve(wtls10) -> <<16#04:8>> %% CoFactor }; -curve(wtls11) -> +params(wtls11) -> { {characteristic_two_field, 233, {tpbasis,74}}, {<<16#01:8>>, %% A @@ -934,7 +919,7 @@ curve(wtls11) -> <<16#02:8>> %% CoFactor }; -curve(wtls12) -> +params(wtls12) -> { {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001:224>>}, %% Prime {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE:224>>, %% A @@ -947,7 +932,7 @@ curve(wtls12) -> <<16#01:8>> %% CoFactor }; -curve(ipsec3) -> +params(ipsec3) -> { {characteristic_two_field, 155, {tpbasis,62}}, {<<16#00:8>>, %% A @@ -960,7 +945,7 @@ curve(ipsec3) -> <<16#03:8>> %% CoFactor }; -curve(ipsec4) -> +params(ipsec4) -> { {characteristic_two_field, 185, {tpbasis,69}}, {<<16#00:8>>, %% A @@ -973,7 +958,7 @@ curve(ipsec4) -> <<16#02:8>> %% CoFactor }; -curve(brainpoolP160r1) -> +params(brainpoolP160r1) -> { {prime_field, <<16#E95E4A5F737059DC60DFC7AD95B3D8139515620F:160>>}, %% Prime {<<16#340E7BE2A280EB74E2BE61BADA745D97E8F7C300:160>>, %% A @@ -986,7 +971,7 @@ curve(brainpoolP160r1) -> <<16#01:8>> %% CoFactor }; -curve(brainpoolP160t1) -> +params(brainpoolP160t1) -> { {prime_field, <<16#E95E4A5F737059DC60DFC7AD95B3D8139515620F:160>>}, %% Prime {<<16#E95E4A5F737059DC60DFC7AD95B3D8139515620C:160>>, %% A @@ -999,7 +984,7 @@ curve(brainpoolP160t1) -> <<16#01:8>> %% CoFactor }; -curve(brainpoolP192r1) -> +params(brainpoolP192r1) -> { {prime_field, <<16#C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297:192>>}, %% Prime {<<16#6A91174076B1E0E19C39C031FE8685C1CAE040E5C69A28EF:192>>, %% A @@ -1012,7 +997,7 @@ curve(brainpoolP192r1) -> <<16#01:8>> %% CoFactor }; -curve(brainpoolP192t1) -> +params(brainpoolP192t1) -> { {prime_field, <<16#C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297:192>>}, %% Prime {<<16#C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86294:192>>, %% A @@ -1025,7 +1010,7 @@ curve(brainpoolP192t1) -> <<16#01:8>> %% CoFactor }; -curve(brainpoolP224r1) -> +params(brainpoolP224r1) -> { {prime_field, <<16#D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FF:224>>}, %% Prime {<<16#68A5E62CA9CE6C1C299803A6C1530B514E182AD8B0042A59CAD29F43:224>>, %% A @@ -1038,7 +1023,7 @@ curve(brainpoolP224r1) -> <<16#01:8>> %% CoFactor }; -curve(brainpoolP224t1) -> +params(brainpoolP224t1) -> { {prime_field, <<16#D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FF:224>>}, %% Prime {<<16#D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FC:224>>, %% A @@ -1051,7 +1036,7 @@ curve(brainpoolP224t1) -> <<16#01:8>> %% CoFactor }; -curve(brainpoolP256r1) -> +params(brainpoolP256r1) -> { {prime_field, <<16#A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377:256>>}, %% Prime {<<16#7D5A0975FC2C3057EEF67530417AFFE7FB8055C126DC5C6CE94A4B44F330B5D9:256>>, %% A @@ -1064,7 +1049,7 @@ curve(brainpoolP256r1) -> <<16#01:8>> %% CoFactor }; -curve(brainpoolP256t1) -> +params(brainpoolP256t1) -> { {prime_field, <<16#A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377:256>>}, %% Prime {<<16#A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5374:256>>, %% A @@ -1077,7 +1062,7 @@ curve(brainpoolP256t1) -> <<16#01:8>> %% CoFactor }; -curve(brainpoolP320r1) -> +params(brainpoolP320r1) -> { {prime_field, <<16#D35E472036BC4FB7E13C785ED201E065F98FCFA6F6F40DEF4F92B9EC7893EC28:256, %% Prime 16#FCD412B1F1B32E27:64>>}, @@ -1096,7 +1081,7 @@ curve(brainpoolP320r1) -> <<16#01:8>> %% CoFactor }; -curve(brainpoolP320t1) -> +params(brainpoolP320t1) -> { {prime_field, <<16#D35E472036BC4FB7E13C785ED201E065F98FCFA6F6F40DEF4F92B9EC7893EC28:256, %% Prime 16#FCD412B1F1B32E27:64>>}, @@ -1115,7 +1100,7 @@ curve(brainpoolP320t1) -> <<16#01:8>> %% CoFactor }; -curve(brainpoolP384r1) -> +params(brainpoolP384r1) -> { {prime_field, <<16#8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B412B1DA197FB71123:256, %% Prime 16#ACD3A729901D1A71874700133107EC53:128>>}, @@ -1134,7 +1119,7 @@ curve(brainpoolP384r1) -> <<16#01:8>> %% CoFactor }; -curve(brainpoolP384t1) -> +params(brainpoolP384t1) -> { {prime_field, <<16#8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B412B1DA197FB71123:256, %% Prime 16#ACD3A729901D1A71874700133107EC53:128>>}, @@ -1153,7 +1138,7 @@ curve(brainpoolP384t1) -> <<16#01:8>> %% CoFactor }; -curve(brainpoolP512r1) -> +params(brainpoolP512r1) -> { {prime_field, <<16#AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA70330871:256, %% Prime 16#7D4D9B009BC66842AECDA12AE6A380E62881FF2F2D82C68528AA6056583A48F3:256>>}, @@ -1172,7 +1157,7 @@ curve(brainpoolP512r1) -> <<16#01:8>> %% CoFactor }; -curve(brainpoolP512t1) -> +params(brainpoolP512t1) -> { {prime_field, <<16#AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA70330871:256, %% Prime 16#7D4D9B009BC66842AECDA12AE6A380E62881FF2F2D82C68528AA6056583A48F3:256>>}, diff --git a/lib/crypto/test/Makefile b/lib/crypto/test/Makefile index a018b794c5d3..b76272d38341 100644 --- a/lib/crypto/test/Makefile +++ b/lib/crypto/test/Makefile @@ -6,6 +6,7 @@ include $(ERL_TOP)/make/$(TARGET)/otp.mk # ---------------------------------------------------- MODULES= \ + crypto_collect_labmachine_info_SUITE \ crypto_bench_SUITE \ crypto_SUITE \ crypto_property_test_SUITE \ diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl index 0572feaf3380..eea60a523dbd 100644 --- a/lib/crypto/test/crypto_SUITE.erl +++ b/lib/crypto/test/crypto_SUITE.erl @@ -1220,6 +1220,15 @@ generate_compute(Config) when is_list(Config) -> compute_bug() -> [{doc, "Test that it works even if the Secret is smaller than expected"}]. compute_bug(_Config) -> + case crypto:info_fips() of + enabled -> + %% FIPs on OpenSSL 3 seems to demand P to be a safe prime + %% where Q = (P-1)/2 is also prime. + skip; + _ -> do_compute_bug() + end. + +do_compute_bug() -> ExpectedSecret = <<118,89,171,16,156,18,156,103,189,134,130,49,28,144,111,241,247,82,79,32,228,11,209,141,119,176,251,80,105,143,235,251,203,121,223,211,129,3,233,133,45,2,31,157,24,111,5,75,153,66,135,185,128,115,229,178,216,39,73,52,80,151,8,241,34,52,226,71,137,167,53,48,59,224,175,154,89,110,76,83,24,117,149,21,72,6,186,78,149,74,188,56,98,244,30,77,108,248,88,194,195,237,23,51,20,242,254,123,21,12,209,74,217,168,230,65,7,60,211,139,128,239,234,153,22,229,180,59,159,121,41,156,121,200,177,130,163,162,54,224,93,1,94,11,177,254,118,28,156,26,116,10,207,145,219,166,214,189,214,230,221,170,228,15,69,88,31,68,94,255,113,58,49,82,86,192,248,176,131,133,39,186,194,172,206,84,184,16,66,68,153,128,178,227,27,118,52,130,122,92,24,222,102,195,221,207,255,13,152,175,65,32,167,84,54,244,243,109,244,18,234,16,159,224,188,2,106,123,27,17,131,171,226,34,111,251,62,119,155,124,221,124,254,62,97,167,1,105,116,98,98,19,197,30,72,180,79,221,100,134,120,117,124,85,73,132,224,223,222,41,155,137,218,130,238,237,157,161,134,150,69,206,91,141,17,89,120,218,235,229,37,150,76,197,7,157,56,144,42,203,137,100,200,72,141,194,239,1,67,236,238,183,48,214,75,76,108,235,3,237,67,40,137,45,182,236,246,37,116,103,144,237,142,211,88,233,11,24,21,218,41,245,250,51,130,250,104,74,189,17,69,145,70,50,50,215,253,155,10,128,41,114,185,211,82,164,72,92,17,145,104,66,6,140,226,80,43,62,1,166,216,153,118,96,15,147,126,137,118,191,192,75,149,241,206,18,92,17,154,215,219,18,6,139,190,103,210,156,184,29,224,213,157,60,112,189,104,220,125,40,186,50,119,17,143,136,149,38,74,107,21,192,59,61,59,42,231,144,59,175,3,176,87,23,16,122,54,31,82,34,230,211,44,81,41,47,86,37,228,175,130,148,88,136,131,254,241,202,99,199,175,1,141,215,124,155,120,43,141,89,11,140,120,141,29,35,82,219,155,204,75,12,66,241,253,33,250,84,24,85,68,13,80,85,142,227,34,139,26,146,24>>, OthersPublicKey = 635619632099733175381667940709387641100492974601603060984753028943194386334921787463327680809776598322996634648015962954045728174069768874873236397421720142610982770302060309928552098274817978606093380781524199673890631795310930242601197479471368910519338301177304682162189801040921618559902948819107531088646753320486728060005223263561551402855338732899079439899705951063999951507319258050864346087428042978411873495523439615429804957374639092580169417598963105885529553632847023899713490485619763926900318508906706745060947269748612049634207985438016935262521715769812475329234748426647554362991758104620357149045960316987533503707855364806010494793980069245562784050236811004893018183726397041999426883788660276453352521120006817370050691205529335316794439089316232980047277245051173281601960196573681285904611182521967067911862467395705665888521948321299521549941618586026714676885890192323289343756440666276226084448279082483536164085883288884231665240707495770544705648564889889198060417915693315346959170105413290799314390963124178046425737828369059171472978294050322371452255088799865552038756937873388385970088906560408959959429398326288750834357514847891423941047433478384621074116184703014798814515161475596555032391555842, MyPrivateKey = 387759582879975726965038486537011291913744975764132199838375902680222019267527675651273586836110220500657652661706223760165097275862806031329642160439090779625708664007910974206651834216043397115514725827856461492311499129200688538220719685637154290305617686974719521885238198226075381217068175824097878445476010193039590876624464274744156624589136789060427283492343902761765833713520850870233407503430180028104167029073459918756981323130062648615262139444306321256382009848217866984408901761817655567071716275177768316006340055589170095799943481591033461616307776069027985761229636731465482676467627154100912586936231051371168178564599296638350391246393336702334311781595616786107810962134407697848002331639021101685320844880636050048769216986088652236979636019052557155807310341483407890060105599892252118584570558049301477535792498672552850760356632076013402382600669875697284264329434950712239302528367835155163504374877787288116104285944993818319105835423479332617802010952731990182088670508346704423006877514817882782443833997288652405892920173712497948376815825396272381214976859009518623799156300136570204539240675245115597412280078940442452936425561984312708387584800789375684525365060589104566195610526570099527133097201479, @@ -1256,8 +1265,19 @@ no_generate_compute(Config) when is_list(Config) -> compute() -> [{doc, " Test crypto:compute_key"}]. compute(Config) when is_list(Config) -> - Gen = proplists:get_value(compute, Config), + Gen0 = proplists:get_value(compute, Config), + Gen = case crypto:info_fips() of + enabled -> + SkipCurves = [secp192r1], + lists:filter(fun({_,_,_,Curve,_}) -> + not lists:member(Curve,SkipCurves) + end, + Gen0); + _ -> + Gen0 + end, lists:foreach(fun do_compute/1, Gen). + %%-------------------------------------------------------------------- use_all_ec_sign_verify(_Config) -> Msg = <<"hello world!">>, @@ -1268,6 +1288,19 @@ use_all_ec_sign_verify(_Config) -> crypto:info_fips(), Curves, Hashs]), + SkipHashs0 = [md4, md5, ripemd160, sha3_224, sha3_256, sha3_384, sha3_512, + blake2b, blake2s], + SkipCurves0 = [ed25519, ed448, x25519, x448, ipsec3, ipsec4], + + {SkipHashs, SkipCurves} + = case crypto:info_fips() of + enabled -> + {[sha | SkipHashs0], + [secp192r1, prime192v1, sect163k1, sect163r2]}; + _ -> + {SkipHashs0, SkipCurves0} + end, + Results = [{{Curve,Hash}, try @@ -1281,8 +1314,8 @@ use_all_ec_sign_verify(_Config) -> C:E -> {C,E} end} - || Curve <- Curves -- [ed25519, ed448, x25519, x448, ipsec3, ipsec4], - Hash <- Hashs -- [md4, md5, ripemd160, sha3_224, sha3_256, sha3_384, sha3_512, blake2b, blake2s] + || Curve <- Curves -- SkipCurves, + Hash <- Hashs -- SkipHashs ], Fails = lists:filter(fun({_,true}) -> false; @@ -1310,7 +1343,15 @@ use_all_ec_sign_verify(_Config) -> %%-------------------------------------------------------------------- use_all_ecdh_generate_compute(Config) -> - Curves = crypto:supports(curves) -- [ed25519, ed448, x25519, x448], + SkipCurves0 = [ed25519, ed448, x25519, x448], + SkipCurves = + case crypto:info_fips() of + enabled -> + [secp192r1, prime192v1, sect163k1, sect163r2 | SkipCurves0]; + _ -> + SkipCurves0 + end, + Curves = crypto:supports(curves) -- SkipCurves, do_dh_curves(Config, Curves). use_all_eddh_generate_compute(Config) -> @@ -1730,14 +1771,19 @@ do_sign_verify({Type, undefined=Hash, Private, Public, Msg, Signature}) -> end; do_sign_verify({Type, Hash, Public, Private, Msg}) -> - Signature = crypto:sign(Type, Hash, Msg, Private), - case crypto:verify(Type, Hash, Msg, Signature, Public) of - true -> - ct:log("OK crypto:sign(~p, ~p, ..., ..., ...)", [Type,Hash]), - negative_verify(Type, Hash, Msg, <<10,20>>, Public); - false -> - ct:log("ERROR crypto:sign(~p, ~p, ..., ..., ...)", [Type,Hash]), - ct:fail({{crypto, verify, [Type, Hash, Msg, Signature, Public]}}) + case {Hash, crypto:info_fips()} of + {sha, enabled} -> + io:format("Skip sign with SHA for FIPS\n"); + _ -> + Signature = crypto:sign(Type, Hash, Msg, Private), + case crypto:verify(Type, Hash, Msg, Signature, Public) of + true -> + ct:log("OK crypto:sign(~p, ~p, ..., ..., ...)", [Type,Hash]), + negative_verify(Type, Hash, Msg, <<10,20>>, Public); + false -> + ct:log("ERROR crypto:sign(~p, ~p, ..., ..., ...)", [Type,Hash]), + ct:fail({{crypto, verify, [Type, Hash, Msg, Signature, Public]}}) + end end; do_sign_verify({Type, Hash, Public, Private, Msg, Options}) -> LibVer = @@ -2257,15 +2303,19 @@ group_config(dss = Type, Config) -> Public = dss_params() ++ [dss_public()], Private = dss_params() ++ [dss_private()], SupportedHashs = proplists:get_value(hashs, crypto:supports(), []), - DssHashs = + DssHashs0 = case crypto:info_lib() of [{<<"OpenSSL">>,LibVer,_}] when is_integer(LibVer), LibVer > 16#10001000 -> - [sha, sha224, sha256, sha384, sha512]; + [sha224, sha256, sha384, sha512]; [{<<"OpenSSL">>,LibVer,_}] when is_integer(LibVer), LibVer > 16#10000000 -> - [sha, sha224, sha256]; + [sha224, sha256]; _Else -> - [sha] + [] end, + DssHashs = case crypto:info_fips() of + enabled -> DssHashs0; + _ -> [sha | DssHashs0] + end, SignVerify = [{Type, Hash, Public, Private, Msg} || Hash <- DssHashs, lists:member(Hash, SupportedHashs)], @@ -2416,7 +2466,12 @@ rsa_sign_verify_tests(Config, Msg, Public, Private, PublicS, PrivateS, OptsToTry end. rsa_sign_verify_tests(Msg, Public, Private, PublicS, PrivateS, OptsToTry) -> - gen_rsa_sign_verify_tests([md5, ripemd160, sha, sha224, sha256], Msg, Public, Private, + Hashs0 = [sha224, sha256], + Hashs = case crypto:info_fips() of + enabled -> Hashs0; + _ -> [md5, ripemd160, sha | Hashs0] + end, + gen_rsa_sign_verify_tests(Hashs, Msg, Public, Private, [undefined | OptsToTry]) ++ gen_rsa_sign_verify_tests([sha384, sha512], Msg, PublicS, PrivateS, [undefined | OptsToTry]). @@ -3677,16 +3732,16 @@ rsa_private_stronger() -> dss_plain() -> rsa_plain(). dss_public() -> - 25854665488880835237281628794585130313500176551981812527054397586638455298000483144002221850980183404910190346416063318160497344811383498859129095184158800144312512447497510551471331451396405348497845813002058423110442376886564659959543650802132345311573634832461635601376738282831340827591903548964194832978. + 16#289ff18c32a56bb0b8839370647683a38a5a7e291410b93207212adc8088d30f93e9e4abc523f3d46936e7d5c90d88742b36afd37563408f15c8c1a4f7ac24bf05f01008ffee70c8825d57c3a9308bad8a095af2b53b2dda3cbed846d95e301eb9b84766415d11f6c33209a0d28571096ab04a79aa0dc465997529686b68e887cd8a205c2dc8195aef0422eba9979f549ac85548e419413643b7244361153ada1480d238cd00dc16527938955548dd5d027ded1029eeeb8ed6c61b4cd59341d8b15466e9da890a989996f4d7691e6072de136af28b5874bf08bd1f8a60cfb1c00888132909f515e04bce81b02951aa41baac68ffdb8c5dc77a1d32d8f2c10dd7. dss_private() -> - 441502407453038284293378221372000880210588566361. + 16#6132e551cdac88409183bd37ee1452cd247d4834b08814b275be3ff5. dss_params() -> - [109799869232806890760655301608454668257695818999841877165019612946154359052535682480084145133201304812979481136659521529774182959764860329095546511521488413513097576425638476458000255392402120367876345280670101492199681798674053929238558140260669578407351853803102625390950534052428162468100618240968893110797, - 1349199015905534965792122312016505075413456283393, - 18320614775012672475365915366944922415598782131828709277168615511695849821411624805195787607930033958243224786899641459701930253094446221381818858674389863050420226114787005820357372837321561754462061849169568607689530279303056075793886577588606958623645901271866346406773590024901668622321064384483571751669]. + [16#f2d39ed3062b13c916273600a0f2a029e86d7a4b9217b4f1815bf2b24d9710a57ab33f997294b014585b8d0198dfdccbcd75314da5ff85aa344b45adaeaa979b51a312a7bfa94472fb633f1a6f156bb4458867dfd38403f06b851f00fe2d3484077bded71ab7513d04a140220575fb693395480e4c8402b7a46cec2d37a778c305accd1f13e9f62e865315f4b22cc467c8986ec8e4961ddf810566b0c4ee369ac6aa15e43f4744005826f5bde8071a19e30b6909aac4b3d174237270dad02799d09b8a2cc5f22e66894b5422228b2c234f11f5a771c5b89cf465a2acecbbeeaa1725fe8f9b59422be8991052cb556ddf2c8ce8fa9206dbf39feadc194e00f8e5, + 16#8000000000000000c118f49835e4ef733c4d15800fcf059e884d31b1, + 16#e3a93c09da6f560e4d483a382a4c546f2335c36a4c35ac1463c08a3e6dd415df56fdc537f25fd5372be63e4f5300780b782f1acd01c8b4eb33414615fd0ea82573acba7ef83f5a943854151afc2d7dfe121fb8cd03335b065b549c5dcc606be9052483bc284e12ac3c8dba09b426e08402030e70bc1cc2bf8957c4ba0630f3f32ad689389ac47443176063f247d9e2296b3ea5b5bc2335828ea1a080ed35918dee212fd031279d1b894f01afec523833669eac031a420e540ba1320a59c424a3e5849a460a56bcb001647885b1433c4f992971746bfe2977ce7259c550b551a6c35761e4a41af764e8d92132fcc0a59d1684eab90d863f29f41cf7578faa908c]. ec_key_named() -> - Curve = hd(crypto:ec_curves()), + Curve = secp224r1, %hd(crypto:ec_curves()), {D2_pub, D2_priv} = crypto:generate_key(ecdh, Curve), {[D2_priv, Curve], [D2_pub, Curve]}. @@ -4357,8 +4412,7 @@ ecdh() -> ). dh() -> - {dh, 90970053988169282502023478715631717259407236400413906591937635666709823903223997309250405131675572047545403771567755831138144089197560332757755059848492919215391041119286178688014693040542889497092308638580104031455627238700168892909539193174537248629499995652186913900511641708112112482297874449292467498403, 2}. - + {dh, 16#FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF97D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD65612433F51F5F066ED0856365553DED1AF3B557135E7F57C935984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE73530ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FBB96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB190B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F619172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD733BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA886B423861285C97FFFFFFFFFFFFFFFF, 2}. rsa_oaep() -> diff --git a/lib/crypto/test/crypto_bench.spec b/lib/crypto/test/crypto_bench.spec index b9a26d94db80..7c414f23d920 100644 --- a/lib/crypto/test/crypto_bench.spec +++ b/lib/crypto/test/crypto_bench.spec @@ -1,3 +1,4 @@ {suites, "../crypto_test", [ + crypto_collect_labmachine_info_SUITE, crypto_bench_SUITE ]}. diff --git a/lib/crypto/test/crypto_collect_labmachine_info_SUITE.erl b/lib/crypto/test/crypto_collect_labmachine_info_SUITE.erl new file mode 100644 index 000000000000..d83a7a503110 --- /dev/null +++ b/lib/crypto/test/crypto_collect_labmachine_info_SUITE.erl @@ -0,0 +1,423 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2008-2018. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +%% + +-module(crypto_collect_labmachine_info_SUITE). + +%% This test suite collects information about the OpenSSL version +%% used by crypto application. + +%% It requires common_test configuration data 'collect_host_info' +%% to be set to the root target directory where the collected +%% information will be stored. + +%% It can either be a local path +%% {collect_host_info, "/my/local/dir"}. +%% or a remote path usable by the scp command +%% {collect_host_info, "hostname:/its/local/dir"}. +%% {collect_host_info, "user@hostname:/its/local/dir"}. + +%% The collected data will be store as +%% /crypto_info/.data +%% Sub directory crypto_info must exist. + +-include_lib("common_test/include/ct.hrl"). + +-export([ + suite/0, + all/0, + init_per_suite/1, + end_per_suite/1, + crypto_info_lib/1 + ]). + +-define(DAYS_TO_KEEP, 5). + +%%-------------------------------------------------------------------- +%% Common Test interface functions ----------------------------------- +%%-------------------------------------------------------------------- + +suite() -> [{require, collect_host_info}, + {timetrap,{seconds,40}}]. + +all() -> [crypto_info_lib]. + +%%-------------------------------------------------------------------- +init_per_suite(Config) -> + Root = ct:get_config(collect_host_info), + RemoteFile = filename:join([Root, "crypto_info", hostname()++".data"]), + CryptoStarted = + try crypto:start() of + ok -> true; + {error, already_started} -> true; + _ -> false + catch + _:_ -> false + end, + + case CryptoStarted of + true -> + LocalFile = priv_file(Config, hostname()++".cryptodata"), + + case usable_file(LocalFile) of + false -> ct:fail(no_local_file); + true -> ok + end, + + ct:log("os:type() = ~p", [os:type()]), + + TransferType = + case {path_type(RemoteFile), os:type()} of + {local, {unix,_}} -> + case usable_file(RemoteFile) of + true -> filesystem; + false -> ssh + end; + _ -> + ssh + end, + + case TransferType of + filesystem -> + %% 'filesystem' was concluded since it was possible + %% to open the file in append mode + {ok,B} = file:read_file(RemoteFile), + ok = file:write_file(LocalFile, B); + ssh -> + SCP = wsl_ify("scp "++RemoteFile++" "++remove_drive_letter(LocalFile)), + ct:pal("Run command: \"~s\"", [SCP]), + Result = os:cmd(SCP), + ct:pal("Command result: \"~s\"",[Result]) + end, + + crypto:enable_fips_mode(true), + + [{transfer_type, TransferType}, + {local_file,LocalFile}, + {remote_file,RemoteFile} | Config]; + + false -> + {skip, "Crypto did not start"} + end. + +end_per_suite(Config) -> + LocalFile = proplists:get_value(local_file,Config), + RemoteFile = proplists:get_value(remote_file,Config), + case proplists:get_value(transfer_type,Config) of + filesystem -> + {ok,B} = file:read_file(LocalFile), + ok = file:write_file(RemoteFile, B); + ssh -> + SCP = wsl_ify("scp "++remove_drive_letter(LocalFile)++" "++RemoteFile), + ct:pal("Run command: \"~s\"", [SCP]), + Result = os:cmd(SCP), + ct:pal("Command result: \"~s\"",[Result]) + end, + file:delete(LocalFile). + +path_type(Path) -> + case string:lexemes(Path, ":") of + [_] -> + local; + [Host | _] -> + case string:find(Host, "/") of + nomatch -> remote; + _ -> local + end + end. + +%%-------------------------------------------------------------------- +crypto_info_lib(Config) -> + LocalFile = proplists:get_value(local_file, Config), + + NewEntry = new_entry(), + ct:pal("New entry:~n~p",[NewEntry]), + + YoungEntries = + case file:consult(LocalFile) of + {ok, Consulted} when is_list(Consulted) -> + lists:filter(fun(E) -> is_young(E) end, + Consulted); + Other -> + ct:log("Strange result of consult:~n~p", [Other]), + ct:fail("Consult failed") + end, + + {ok,D} = file:open(LocalFile, [write]), + lists:foreach(fun(E) -> + io:format(D, '~p.~n', [E]) + end, lists:usort([NewEntry|YoungEntries])), + file:close(D). + +is_young(E) -> + try + Days = days_ago(proplists:get_value(date, E)), + Days >= 0 andalso Days =< ?DAYS_TO_KEEP + catch + _:_ -> false % No or illegal date property + end. + +days_ago(D={_,_,_})-> + calendar:date_to_gregorian_days(date()) - calendar:date_to_gregorian_days(D). + +new_entry() -> + [{hostname, hostname()}, + {date, date()}, + {time, time()}, + {os_type, os:type()}, + {os_version,os:version()} + ] + ++ [{cwd,PWD} || {ok,PWD} <- [file:get_cwd()]] + ++ crypto_info([info_lib,info_fips,compile_type,link_type,supports,ec_curves]) + ++ try_rsa(). + +crypto_info(Tags) -> + [{Tag, Info} || Tag <- Tags, + Info <- + try crypto:Tag() + of V -> [V] + catch _:_ -> + try maps:get(Tag, crypto:info()) of + V -> [V] + catch _:_ -> [] + end + end + ]. + +%%-------------------------------------------------------------------- +try_rsa() -> + try + {Pub,Pri} = rsa_keys(), %% Precomputed {4096,65537} + RsaOpts = proplists:get_value(rsa_opts, crypto:supports(), []), + [{sign_verify, test_sign_verify(Pub, Pri, RsaOpts)}, + {pub_enc_priv_dec, pk_enc_dec(RsaOpts, Pub, fun crypto:public_encrypt/4, Pri, fun crypto:private_decrypt/4)}, + {priv_enc_pub_dec, pk_enc_dec(RsaOpts, Pri, fun crypto:private_encrypt/4, Pub, fun crypto:public_decrypt/4)} + ] + catch + _:_ -> + [] + end. + +md_opts() -> + [rsa_mgf1_md, rsa_oaep_md]. + +%%---------------- +pk_enc_dec(PadOpts, KeyEnc, Fenc, KeyDec, Fdec) -> + Ptxt = <<1:32/unit:8>>, + HashOpts = [O || O <- md_opts(), + lists:member(O, PadOpts)], + NonHashOpts = PadOpts -- HashOpts, + lists:sort( + pk_enc_dec_hash_opts(HashOpts, KeyEnc, Fenc, KeyDec, Fdec, Ptxt) ++ + pk_enc_dec_non_hash_opts(NonHashOpts, KeyEnc, Fenc, KeyDec, Fdec, Ptxt) + ). + +%%---- +pk_enc_dec_hash_opts(PadOpts, KeyEnc, Fenc, KeyDec, Fdec, Ptxt) -> + SupHash = proplists:get_value(hashs, crypto:supports(), []), + [begin + [H|T] = lists:reverse(tuple_to_list(LogOpt)), + list_to_tuple(lists:reverse([{H,OkMDs}|T])) + end || + Opt <- PadOpts, + {LogOpt, OptsF} <- gen_logopt_opts(Opt), + OkMDs <- [ + [MD || MD <- SupHash, + pk_enc_dec_1(Fenc, Ptxt, KeyEnc, Fdec, KeyDec, OptsF(MD))] + ], + OkMDs =/= [] + ]. + +pk_enc_dec_non_hash_opts(PadOpts, KeyEnc, Fenc, KeyDec, Fdec, Ptxt) -> + [LogOpt || + Opt <- PadOpts, + {LogOpt, OptsF} <- gen_logopt_opts(Opt), + pk_enc_dec_1(Fenc, Ptxt, KeyEnc, Fdec, KeyDec, OptsF(undefined)) + ]. + +%%---- +pk_enc_dec_1(Fenc, Ptxt, KeyEnc, Fdec, KeyDec, Opts) -> + case + begin + R = try Fdec(rsa, Fenc(rsa,Ptxt,KeyEnc,Opts), KeyDec, Opts) + catch _:_ -> no + end, + ct:pal("enc/dec ~p -> ~p",[Opts,R]), + R + end + of + Ptxt -> + true; + _ -> + false + end. + +%%---------------- +test_sign_verify(Pub, Pri, RsaOpts) -> + MDs = Hashs = proplists:get_value(hashs, crypto:supports(), []), + HashOpts = [O || O <- md_opts(), + lists:member(O, RsaOpts)], + NonHashOpts = RsaOpts -- HashOpts, + Rm1 = + lists:sort( + [{{LogOpt,OkHashs},MD} || + Opt <- HashOpts, + {LogOpt, OptsF} <- gen_logopt_opts(Opt), + MD <- MDs, + OkHashs <- [test_sign_verify_hashs(Pub, Pri, OptsF(MD), Hashs)], + OkHashs =/= [] + ]), + + Rm2 = + lists:sort( + [{LogOpt,OkHashs} || + Opt <- NonHashOpts, + {LogOpt, OptsF} <- gen_logopt_opts(Opt), + OkHashs <- [test_sign_verify_hashs(Pub, Pri, OptsF(undefined), Hashs)], + OkHashs =/= [] + ]), + + lists:sort( + Rm2 ++ + lists:foldr(fun({{LogOpt,MD0s},_OkHashs}, Acc) -> + [H|T] = lists:reverse(tuple_to_list(LogOpt)), + [list_to_tuple(lists:reverse([{H,MD0s}|T])) | Acc] + end, + [], + lists:foldr(fun({{LogOpt,OkHashs},MD1}, [{{LogOpt,MD1s},OkHashs}|T]) -> + [{{LogOpt,[MD1|MD1s]},OkHashs}|T]; + ({{LogOpt,OkHashs},MD1}, T) -> + [{{LogOpt,[MD1]},OkHashs}|T] + end, [], Rm1) + ) + ). + +test_sign_verify_hashs(Pub, Pri, Opts, Hashs) -> + [Hash || Hash <- Hashs, + test_sign_verify_hash(Pub, Pri, Opts, Hash) + ]. + +test_sign_verify_hash(Pub, Pri, Opts, Hash) -> + R = try + Sig = crypto:sign(rsa, Hash, <<"hej">>, Pri, Opts), + true == crypto:verify(rsa, Hash, <<"hej">>, Sig, Pub, Opts) + catch + _:_ -> false + end, + ct:pal("sign/verify ~p ~p -> ~p",[Opts,Hash,R]), + R. + +%%---------------- +gen_logopt_opts(rsa_mgf1_md = Opt) -> + [{{rsa_pkcs1_pss_padding, Opt}, + fun(Hash) -> + [{rsa_padding,rsa_pkcs1_pss_padding}, + {rsa_mgf1_md,Hash}] + end + }, + + {{rsa_pkcs1_oaep_padding,Opt}, + fun(Hash) -> + [{rsa_padding,rsa_pkcs1_oaep_padding}, + {rsa_mgf1_md,Hash}] + end + } + ]; + +gen_logopt_opts(rsa_pss_saltlen = Opt) -> + [{{rsa_pkcs1_pss_padding,Opt}, + fun(_Hash) -> + [{rsa_padding,rsa_pkcs1_pss_padding}, + {rsa_pss_saltlen,3}] + end + }]; + +gen_logopt_opts(rsa_oaep_label = Opt) -> + [{{rsa_pkcs1_oaep_padding,Opt}, + fun(_Hash) -> + [{rsa_padding,rsa_pkcs1_oaep_padding}, + {rsa_oaep_label,<<"putte">>}] + end + }]; + +gen_logopt_opts(rsa_oaep_md = Opt) -> + [{{rsa_pkcs1_oaep_padding,Opt}, + fun(Hash) -> + [{rsa_padding,rsa_pkcs1_oaep_padding}, + {rsa_oaep_md,Hash}] + end + }]; + +gen_logopt_opts(signature_md) -> + []; + +gen_logopt_opts(Opt) -> + [{Opt, + fun(_Hash) -> + [{rsa_padding,Opt}] + end + }]. + + + +rsa_keys() -> + {[<<1,0,1>>, + <<184,150,67,22,76,107,137,142,167,255,194,1,215,181,17,212,132,236,4,125,13,115,247,242,189,131,107,101,85,44,86,194,140,47,9,223,187,8,149,120,79,189,228,126,124,174,244,3,164,165,48,50,32,28,251,226,109,27,132,254,210,71,48,86,110,101,77,172,88,148,39,124,235,88,63,225,142,192,255,168,105,177,37,238,148,38,198,188,224,8,82,34,255,203,212,12,1,164,191,222,94,102,252,82,155,33,234,106,207,220,68,84,120,86,189,33,107,162,48,56,9,99,179,3,114,179,107,160,113,246,128,72,89,243,152,31,107,145,151,12,214,79,57,120,210,225,59,221,145,70,120,167,115,66,62,12,250,53,171,0,253,53,117,40,33,98,212,0,135,29,205,119,70,76,17,226,94,108,166,119,181,54,47,152,162,179,123,170,233,43,195,19,191,95,124,245,133,154,46,221,89,162,153,104,26,189,0,122,21,23,98,105,251,52,220,2,168,31,246,247,170,194,141,76,79,104,48,57,24,126,150,43,92,199,27,204,124,62,187,234,59,88,131,126,147,8,176,106,216,186,185,180,184,71,223,4,123,190,138,46,236,27,138,81,34,204,57,229,222,59,68,23,199,153,90,1,41,190,170,190,131,163,215,144,43,238,203,134,85,150,22,40,234,86,142,16,232,205,172,231,242,11,113,85,89,55,236,12,91,9,107,157,93,86,51,86,164,233,169,113,33,175,182,188,142,91,95,177,162,157,110,172,84,239,230,234,133,26,162,198,193,246,66,23,13,16,25,45,59,174,175,0,96,83,241,137,102,24,54,77,189,14,191,108,44,143,60,239,45,231,236,116,66,188,77,227,234,94,169,114,97,220,38,153,222,77,77,102,81,138,51,18,46,137,177,99,155,85,10,213,82,221,6,35,162,177,110,164,79,197,233,242,100,159,105,91,200,234,5,120,142,237,216,118,60,245,172,29,182,168,227,125,17,159,8,143,233,136,55,130,253,7,150,94,206,106,231,68,199,254,25,85,22,57,74,236,144,19,242,179,57,57,9,14,146,28,52,54,170,109,200,195,152,170,214,81,249,238,9,38,215,73,86,241,116,26,139,152,99,64,165,192,69,84,214,96,18,28,141,118,63,35,114,122,87,43,96,4,199,224,157,239>>], + + [<<1,0,1>>, + <<184,150,67,22,76,107,137,142,167,255,194,1,215,181,17,212,132,236,4,125,13,115,247,242,189,131,107,101,85,44,86,194,140,47,9,223,187,8,149,120,79,189,228,126,124,174,244,3,164,165,48,50,32,28,251,226,109,27,132,254,210,71,48,86,110,101,77,172,88,148,39,124,235,88,63,225,142,192,255,168,105,177,37,238,148,38,198,188,224,8,82,34,255,203,212,12,1,164,191,222,94,102,252,82,155,33,234,106,207,220,68,84,120,86,189,33,107,162,48,56,9,99,179,3,114,179,107,160,113,246,128,72,89,243,152,31,107,145,151,12,214,79,57,120,210,225,59,221,145,70,120,167,115,66,62,12,250,53,171,0,253,53,117,40,33,98,212,0,135,29,205,119,70,76,17,226,94,108,166,119,181,54,47,152,162,179,123,170,233,43,195,19,191,95,124,245,133,154,46,221,89,162,153,104,26,189,0,122,21,23,98,105,251,52,220,2,168,31,246,247,170,194,141,76,79,104,48,57,24,126,150,43,92,199,27,204,124,62,187,234,59,88,131,126,147,8,176,106,216,186,185,180,184,71,223,4,123,190,138,46,236,27,138,81,34,204,57,229,222,59,68,23,199,153,90,1,41,190,170,190,131,163,215,144,43,238,203,134,85,150,22,40,234,86,142,16,232,205,172,231,242,11,113,85,89,55,236,12,91,9,107,157,93,86,51,86,164,233,169,113,33,175,182,188,142,91,95,177,162,157,110,172,84,239,230,234,133,26,162,198,193,246,66,23,13,16,25,45,59,174,175,0,96,83,241,137,102,24,54,77,189,14,191,108,44,143,60,239,45,231,236,116,66,188,77,227,234,94,169,114,97,220,38,153,222,77,77,102,81,138,51,18,46,137,177,99,155,85,10,213,82,221,6,35,162,177,110,164,79,197,233,242,100,159,105,91,200,234,5,120,142,237,216,118,60,245,172,29,182,168,227,125,17,159,8,143,233,136,55,130,253,7,150,94,206,106,231,68,199,254,25,85,22,57,74,236,144,19,242,179,57,57,9,14,146,28,52,54,170,109,200,195,152,170,214,81,249,238,9,38,215,73,86,241,116,26,139,152,99,64,165,192,69,84,214,96,18,28,141,118,63,35,114,122,87,43,96,4,199,224,157,239>>, + <<6,96,106,128,226,178,244,85,145,72,44,147,147,184,21,157,153,217,237,109,196,129,53,23,149,164,108,153,91,143,228,143,99,248,92,6,246,151,29,82,194,174,116,174,73,240,97,77,158,234,117,247,197,84,58,255,95,117,139,234,161,169,3,234,120,117,215,113,20,190,73,126,239,66,101,50,141,147,237,65,12,37,170,129,203,108,107,129,42,220,30,186,70,203,235,207,94,95,42,161,171,241,50,214,71,181,172,59,116,98,207,153,123,110,195,169,219,230,6,116,105,30,160,152,133,229,220,217,246,21,229,232,153,242,232,86,109,136,226,6,247,128,85,35,239,101,8,132,102,248,96,66,168,160,169,52,25,144,177,15,159,175,177,20,105,210,216,48,12,122,227,22,51,191,124,254,172,244,99,235,206,190,200,118,37,104,189,228,241,153,41,108,13,56,103,64,180,20,215,121,158,23,23,229,152,198,222,181,88,245,45,217,43,108,112,13,71,113,147,62,139,15,157,129,253,92,68,14,52,226,106,157,164,222,219,254,252,107,206,98,17,26,197,176,33,180,51,35,253,200,181,145,160,172,26,240,37,163,4,195,29,56,108,116,12,23,232,64,225,80,249,223,3,119,251,59,192,43,120,132,98,193,108,88,160,83,183,24,210,143,125,12,78,248,44,137,55,191,250,226,84,45,184,107,35,65,221,107,13,145,179,84,64,190,211,39,13,52,253,37,231,12,67,138,218,140,215,57,181,178,154,64,22,196,57,233,183,182,34,229,214,100,252,39,83,1,166,26,238,91,82,70,224,170,46,250,215,247,237,44,61,245,153,198,50,119,158,157,26,196,168,56,238,136,3,233,137,186,165,143,228,19,14,52,106,61,97,85,50,212,160,24,73,246,145,226,163,176,16,156,45,16,34,122,143,142,223,50,240,224,12,234,119,122,65,167,150,190,63,118,10,250,233,173,206,90,44,36,176,32,110,235,189,56,68,151,29,43,72,41,4,177,112,119,144,243,92,120,51,157,232,113,57,186,7,21,152,22,244,56,92,44,63,213,110,197,204,22,19,69,10,172,136,114,172,19,128,4,149,50,130,238,212,139,78,164,219,187,2,2,23,197,0,40,22,65,197,129,55,206,221,4,208,60,173,157,138,105,67,147,192,193>>, + <<236,240,239,180,144,149,110,219,221,16,232,109,235,113,46,241,245,63,172,130,16,207,32,9,108,91,17,129,164,182,0,67,167,223,65,148,51,163,132,226,195,45,22,71,86,45,48,115,229,0,104,114,192,215,190,50,98,38,56,205,247,193,186,213,138,127,210,154,130,26,7,206,42,70,61,208,223,99,179,2,2,201,148,49,53,57,154,209,20,125,8,45,215,107,39,198,228,176,12,161,14,57,84,247,236,147,134,1,124,83,146,218,235,65,176,143,205,166,10,177,127,238,94,7,240,194,161,222,154,27,75,10,144,155,8,100,128,1,220,108,98,58,152,21,42,133,212,127,161,155,175,36,142,140,107,236,37,232,86,200,251,43,121,91,51,60,67,248,26,113,168,110,134,161,244,42,162,72,39,111,85,62,169,237,53,153,241,191,178,236,139,9,17,40,120,77,187,198,216,143,179,179,77,117,199,226,8,196,238,65,97,163,62,2,150,122,1,240,12,25,226,211,84,119,186,172,218,171,155,202,201,178,142,36,232,249,44,135,235,81,146,148,106,249,83,253,233,198,152,29,205,18,166,147,240,195>>, + <<199,111,65,34,99,67,225,246,145,69,58,195,193,187,63,170,49,114,63,158,95,149,1,57,178,55,176,29,96,188,238,6,201,184,175,16,48,80,9,237,111,171,37,74,199,72,121,197,230,136,217,226,137,95,181,202,104,75,148,142,16,52,84,127,250,114,137,197,254,184,140,132,213,238,67,140,165,0,209,138,63,100,169,185,150,94,73,156,232,46,135,226,216,63,214,148,131,169,92,166,109,68,132,152,102,111,126,164,26,81,64,156,178,158,168,183,94,93,114,246,250,179,80,142,112,196,58,157,93,82,43,173,153,212,154,74,217,44,239,247,127,91,23,207,204,125,61,24,119,108,186,197,102,109,77,203,218,172,254,118,183,95,196,158,112,100,41,171,92,105,127,190,21,54,252,107,75,155,108,129,43,252,246,239,176,137,26,26,224,93,46,153,200,60,75,48,184,40,45,168,9,23,202,103,234,8,192,198,161,174,44,152,236,132,193,240,149,234,56,201,68,83,27,1,106,65,46,60,112,67,186,173,25,71,220,138,127,89,79,65,162,121,15,123,119,216,244,46,27,249,171,129,72,136,203,101>>, + <<94,223,6,11,181,140,175,235,198,243,91,45,144,5,44,183,226,236,16,229,175,87,79,203,150,32,76,189,45,55,86,153,192,96,203,64,77,0,223,87,112,176,223,231,198,96,167,178,239,241,158,224,187,200,102,182,131,200,44,28,132,100,132,171,182,30,2,52,173,125,64,188,210,254,119,7,232,58,98,85,158,202,25,213,46,43,151,138,185,250,106,72,248,165,70,51,4,36,93,154,43,56,215,133,193,171,60,15,226,57,16,103,41,165,142,205,181,153,19,85,9,21,103,127,36,110,186,35,136,110,255,56,6,184,156,190,168,230,149,220,171,228,44,58,229,96,218,186,19,250,99,65,110,246,88,204,32,77,140,90,66,255,160,66,221,27,247,87,35,55,121,42,112,43,238,185,23,107,110,166,204,106,31,222,4,5,84,223,222,3,138,148,33,211,163,127,244,124,228,255,125,3,129,51,116,202,83,154,142,143,141,73,176,173,150,148,217,171,197,28,164,78,219,214,104,223,135,91,9,49,68,91,131,64,210,43,219,33,189,30,87,99,168,5,151,20,231,3,6,171,128,14,68,182,157,195>>, + <<7,89,91,46,24,56,85,40,79,220,28,57,64,119,84,246,65,146,51,51,243,211,186,210,212,117,102,224,254,66,152,6,218,2,27,57,94,126,100,143,66,81,45,51,159,58,85,122,108,111,88,144,23,125,214,102,26,7,198,246,161,52,60,116,230,214,183,170,251,34,243,210,165,75,125,99,190,100,212,83,226,216,35,196,249,252,137,123,229,182,105,61,123,184,134,128,188,133,78,43,183,213,17,137,200,36,141,167,32,109,36,19,98,37,164,147,245,63,62,80,73,150,183,254,55,187,147,105,95,25,251,16,15,158,28,253,107,25,83,210,107,248,0,93,160,236,112,134,233,71,177,110,58,195,6,93,223,182,6,62,123,173,100,194,109,227,211,1,68,139,130,176,143,121,146,61,165,240,153,67,253,73,250,19,133,14,216,78,107,60,35,206,120,233,119,223,216,185,106,77,73,224,125,141,236,186,219,215,181,247,132,31,50,128,5,225,134,180,181,216,252,210,143,41,51,48,41,179,2,116,12,121,250,119,130,113,252,21,95,109,76,190,103,74,166,116,241,50,141,199,90,129,142,25,180,93>>, + <<150,52,171,50,46,79,167,168,5,191,161,144,81,14,216,185,45,107,92,238,220,196,190,14,89,8,217,1,206,175,171,46,59,0,117,183,68,66,186,93,198,237,143,4,10,80,186,176,32,4,27,67,211,137,193,66,9,163,109,188,250,25,11,73,82,91,172,10,149,69,25,169,123,56,174,72,2,1,24,61,5,231,214,164,163,65,121,178,147,24,250,154,193,105,148,223,164,116,179,91,183,58,178,125,188,237,234,104,195,67,144,163,49,219,49,254,13,66,125,185,171,201,244,1,70,6,76,251,4,162,17,246,180,29,20,121,38,248,76,165,250,16,59,42,11,114,89,223,171,28,35,194,84,223,136,63,63,205,172,254,237,195,90,232,181,189,218,133,238,47,95,218,105,32,10,140,81,97,214,238,2,191,107,0,106,107,219,132,123,204,151,252,87,170,139,181,53,60,188,243,230,8,145,184,79,177,225,170,198,250,122,140,253,160,69,226,136,185,69,10,43,97,19,214,68,7,126,194,114,241,207,51,244,35,180,20,136,27,84,155,61,213,189,98,197,120,31,71,209,129,105,98,114,102,77,147>>]}. + +%%-------------------------------------------------------------------- +hostname() -> + case inet:gethostname() of + {ok,Name} -> string:to_lower(Name); + _ -> "undefined" + end. + +priv_dir(Config) -> proplists:get_value(priv_dir, Config). + +priv_file(Config, Name) -> filename:join(priv_dir(Config), Name). + + +remove_drive_letter([_DriveLetter,$:|FileName]) -> "/mnt/c" ++ FileName; +remove_drive_letter(FileName) -> FileName. + + +usable_file(FileName) -> + case file:open(FileName, [append]) of + {ok,D} -> + ok == file:close(D); + _ -> + false + end. + +%%%---------------------------------------------------------------- +wsl_ify(Cmnd) -> + case os:getenv("WSLENV") of + false -> Cmnd; + _ -> "wsl " ++ Cmnd + end. diff --git a/lib/crypto/test/engine_SUITE.erl b/lib/crypto/test/engine_SUITE.erl index 8907d3968ff9..b2c25bdcaec6 100644 --- a/lib/crypto/test/engine_SUITE.erl +++ b/lib/crypto/test/engine_SUITE.erl @@ -136,20 +136,23 @@ groups() -> init_per_suite(Config) -> - try {os:type(), crypto:info_lib()} of - {_, [{_,_, <<"OpenSSL 1.0.1s-freebsd 1 Mar 2016">>}]} -> + try {engine_supported(), os:type(), crypto:info_lib()} of + {false,_,[{_,_,OpenSSLversion}]} -> + {skip, "Engine not supported by " ++ OpenSSLversion}; + + {_,_, [{_,_, <<"OpenSSL 1.0.1s-freebsd 1 Mar 2016">>}]} -> {skip, "Problem with engine on OpenSSL 1.0.1s-freebsd"}; - {_, [{_,_,<<"LibreSSL 2.1.",_/binary>>}]} -> + {_,_, [{_,_,<<"LibreSSL 2.1.",_/binary>>}]} -> {skip, "Problem with engine on older LibreSSL 2.1.*"}; - {{unix,darwin}, _} -> + {_,{unix,darwin}, _} -> {skip, "Engine unsupported on Darwin"}; - - {{win32,_}, _} -> + + {_,{win32,_}, _} -> {skip, "Engine unsupported on Windows"}; - - {OS, Res} -> + + {_,OS, Res} -> ct:log("crypto:info_lib() -> ~p\nos:type() -> ~p", [Res,OS]), try crypto:start() of ok -> @@ -166,6 +169,11 @@ init_per_suite(Config) -> end_per_suite(_Config) -> ok. +engine_supported() -> + try crypto:engine_list(), true + catch error:notsup -> false + end. + %%-------------------------------------------------------------------- init_per_group(engine_stored_key, Config) -> group_load_engine(Config, [engine_method_rsa]); diff --git a/lib/debugger/doc/src/notes.xml b/lib/debugger/doc/src/notes.xml index 6b2188130d55..9ae222be2f66 100644 --- a/lib/debugger/doc/src/notes.xml +++ b/lib/debugger/doc/src/notes.xml @@ -33,6 +33,21 @@

This document describes the changes made to the Debugger application.

+
Debugger 5.3.1.1 + +
Fixed Bugs and Malfunctions + + +

The call int:no_break(Module) did not remove + any breakpoints.

+

+ Own Id: OTP-18644 Aux Id: GH-7336

+
+
+
+ +
+
Debugger 5.3.1
Fixed Bugs and Malfunctions @@ -70,6 +85,21 @@
+
Debugger 5.2.1.1 + +
Fixed Bugs and Malfunctions + + +

The call int:no_break(Module) did not remove + any breakpoints.

+

+ Own Id: OTP-18644 Aux Id: GH-7336

+
+
+
+ +
+
Debugger 5.2.1
Fixed Bugs and Malfunctions @@ -1086,5 +1116,3 @@
- - diff --git a/lib/debugger/src/dbg_icmd.erl b/lib/debugger/src/dbg_icmd.erl index 38f89d0d9edd..3bbd05d7caf0 100644 --- a/lib/debugger/src/dbg_icmd.erl +++ b/lib/debugger/src/dbg_icmd.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1998-2022. All Rights Reserved. +%% Copyright Ericsson AB 1998-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -291,7 +291,8 @@ handle_int_msg({break_options, Break}, _Status, _Bs, _Ieval) -> handle_int_msg(no_break, _Status, _Bs, _Ieval) -> put(breakpoints, []); handle_int_msg({no_break,M}, _Status, _Bs, _Ieval) -> - put(breakpoints, [ML || {Mod,_L}=ML <- get(breakpoints), Mod=/=M]); + put(breakpoints, [B || {{Mod,_L},_Flags}=B <- get(breakpoints), + Mod =/= M]); handle_int_msg(stop, exit_at, _Bs, _Ieval) -> erlang:exit(normal). diff --git a/lib/debugger/src/dbg_ieval.erl b/lib/debugger/src/dbg_ieval.erl index 2d736898d897..978a605dae93 100644 --- a/lib/debugger/src/dbg_ieval.erl +++ b/lib/debugger/src/dbg_ieval.erl @@ -620,8 +620,12 @@ seq([E|Es], Bs0, Ieval) -> {skip,Bs} -> seq(Es, Bs, Ieval); Bs1 -> - {value,_,Bs} = expr(E, Bs1, Ieval#ieval{top=false}), - seq(Es, Bs, Ieval) + case expr(E, Bs1, Ieval#ieval{top=false}) of + {value,_,Bs} -> + seq(Es, Bs, Ieval); + {bad_maybe_match,_}=Bad -> + Bad + end end; seq([], Bs, _) -> {value,true,Bs}. @@ -755,6 +759,24 @@ expr({'orelse',Line,E1,E2}, Bs0, Ieval) -> exception(error, {badarg,Val}, Bs, Ieval) end; +%% Maybe statement without else +expr({'maybe',Line,Es}, Bs, Ieval) -> + case seq(Es, Bs, Ieval#ieval{line=Line}) of + {bad_maybe_match,Val} -> + {value,Val,Bs}; + {value,_,_}=Other -> + Other + end; + +%% Maybe statement with else +expr({'maybe',Line,Es,Cs}, Bs, Ieval) -> + case seq(Es, Bs, Ieval#ieval{line=Line}) of + {bad_maybe_match,Val} -> + case_clauses(Val, Cs, Bs, else_clause, Ieval#ieval{line=Line}); + {value,_,_}=Other -> + Other + end; + %% Matching expression expr({match,Line,Lhs,Rhs0}, Bs0, Ieval0) -> Ieval = Ieval0#ieval{line=Line}, @@ -766,6 +788,17 @@ expr({match,Line,Lhs,Rhs0}, Bs0, Ieval0) -> exception(error, {badmatch,Rhs}, Bs1, Ieval) end; +%% Conditional match expression (?=) +expr({maybe_match,Line,Lhs,Rhs0}, Bs0, Ieval0) -> + Ieval = Ieval0#ieval{line=Line}, + {value,Rhs,Bs1} = expr(Rhs0, Bs0, Ieval#ieval{top=false}), + case match(Lhs, Rhs, Bs1) of + {match,Bs} -> + {value,Rhs,Bs}; + nomatch -> + {bad_maybe_match,Rhs} + end; + %% Construct a fun expr({make_fun,Line,Name,Cs}, Bs, #ieval{module=Module}=Ieval) -> Arity = length(element(3,hd(Cs))), diff --git a/lib/debugger/src/dbg_iload.erl b/lib/debugger/src/dbg_iload.erl index 4649f7cef4f1..7499a0d94b93 100644 --- a/lib/debugger/src/dbg_iload.erl +++ b/lib/debugger/src/dbg_iload.erl @@ -512,6 +512,13 @@ expr({'receive',Anno,Cs0,To0,ToEs0}, Lc, St) -> ToEs1 = exprs(ToEs0, Lc, St), Cs1 = icr_clauses(Cs0, Lc, St), {'receive',ln(Anno),Cs1,To1,ToEs1}; +expr({'maybe',Anno,Es0}, Lc, St) -> + Es1 = exprs(Es0, Lc, St), + {'maybe',ln(Anno),Es1}; +expr({'maybe',Anno,Es0,{'else',_ElseAnno,Cs0}}, Lc, St) -> + Es1 = exprs(Es0, Lc, St), + Cs1 = icr_clauses(Cs0, Lc, St), + {'maybe',ln(Anno),Es1,Cs1}; expr({'fun',Anno,{clauses,Cs0}}, _Lc, St) -> %% New R10B-2 format (abstract_v2). Cs = fun_clauses(Cs0, St), @@ -619,6 +626,10 @@ expr({match,Anno,P0,E0}, _Lc, St) -> E1 = expr(E0, false, St), P1 = pattern(P0, St), {match,ln(Anno),P1,E1}; +expr({maybe_match,Anno,P0,E0}, _Lc, St) -> + E1 = expr(E0, false, St), + P1 = pattern(P0, St), + {maybe_match,ln(Anno),P1,E1}; expr({op,Anno,Op,A0}, _Lc, St) -> A1 = expr(A0, false, St), {op,ln(Anno),Op,[A1]}; diff --git a/lib/debugger/test/Makefile b/lib/debugger/test/Makefile index 015b5f9c29c5..45a2cdc74f7f 100644 --- a/lib/debugger/test/Makefile +++ b/lib/debugger/test/Makefile @@ -47,6 +47,7 @@ MODULES= \ lc_SUITE \ line_number_SUITE \ map_SUITE \ + maybe_SUITE \ overridden_bif_SUITE \ record_SUITE \ trycatch_SUITE \ diff --git a/lib/debugger/test/int_break_SUITE.erl b/lib/debugger/test/int_break_SUITE.erl index 9894c27b8166..69fc68a64120 100644 --- a/lib/debugger/test/int_break_SUITE.erl +++ b/lib/debugger/test/int_break_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1999-2016. All Rights Reserved. +%% Copyright Ericsson AB 1999-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -24,10 +24,10 @@ -include_lib("common_test/include/ct.hrl"). --export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, +-export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, init_per_group/2,end_per_group/2, init_per_testcase/2,end_per_testcase/2, - basic/1,cleanup/1]). + basic/1,delete_breakpoints/1]). -export([auto_attach/1]). @@ -35,10 +35,10 @@ suite() -> [{ct_hooks,[ts_install_cth]}, {timetrap,{minutes,1}}]. -all() -> - [basic, cleanup]. +all() -> + [basic,delete_breakpoints]. -groups() -> +groups() -> []. init_per_suite(Config) -> @@ -63,27 +63,27 @@ init_per_testcase(_Case, Config) -> end_per_testcase(_Case, _Config) -> ok = io:format("Interpreted modules: ~p", [int:interpreted()]), + ok = int:auto_attach(false), + ok = int:no_break(), + ok = int:clear(), ok. -%% Tests setting a few break points. -basic(Config) when list(Config) -> +%% Test auto_attach functions and setting breakpoints. +basic(_Config) -> int:auto_attach([init], {?MODULE,auto_attach}), S1 = [] = ordsets1:new_set(), - ok = i:ib(ordsets1, 86), + ok = i:ib(ordsets1, 86), %Set one breakpoint. S2 = [xxx] = ordsets1:add_element(xxx, S1), S3 = [xxx,y] = ordsets1:add_element(y, S2), - ok = i:ib(ordsets1, union, 2), + ok = i:ib(ordsets1, union, 2), %Set five breakpoints. [xxx,y,z] = ordsets1:union(S3, [z]), - All = [{{ordsets1,86}, _}, {{ordsets1,_},_}|_] = lists:sort(int:all_breaks()), + All = lists:sort(int:all_breaks()), + [{{ordsets1,86}, _}, {{ordsets1,_},_}|_] = All, + 6 = length(All), [] = lists:sort(int:all_breaks(foobar)), All = lists:sort(int:all_breaks(ordsets1)), ok. -%% Make sure that the auto-attach flag is turned off. -cleanup(Config) when list(Config) -> - int:auto_attach(false), - ok. - auto_attach(Pid) -> {ok, Meta} = int:attached(Pid), io:format("Pid = ~p; Meta = ~p", [Pid,Meta]), @@ -102,11 +102,66 @@ attach_cmd({Meta,{break_at,ordsets1,36,2}}, _Pid, Meta) -> int:meta(Meta, continue); attach_cmd({Meta,{break_at,ordsets1,87,_}}, _Pid, Meta) -> int:meta(Meta, continue); -attach_cmd({Meta,{break_at,ordsets1,89,_}}, _Pid, Meta) -> - int:meta(Meta, continue); attach_cmd({Meta,{break_at,ordsets1,Line,_}}, _Pid, Meta) when 107 =< Line, Line =< 115 -> int:meta(Meta, finish); attach_cmd({Meta,{break_at,_Mod,_Line,_Other}}=Cmd, _Pid, Meta) -> io:format("attached: no action for ~p", [Cmd]); attach_cmd(_, _Pid, _Meta) -> ok. + +%% Test that deleting breakpoints works. +delete_breakpoints(_Config) -> + Mod = ordsets1, + + %% Testing deleting all breakpoints in all modules. + ok = i:ib(Mod, intersection, 2), %Set five breakpoints. + 5 = num_breaks(), + ok = int:no_break(), + 0 = num_breaks(), + [b] = Mod:intersection([a,b,c], [b,d,e]), + + %% Set 10 breakpoints. + ok = i:ib(Mod, 89), %One breakpoint. + 1 = num_breaks(), + ok = i:ib(Mod, union, 2), %Five breakpoints. + 6 = num_breaks(), + ok = i:ib(Mod, del_element, 2), %Four breakpoints. + 10 = num_breaks(), + + %% Make sure that all breakpoints remain when deleting breakpoints + %% for another (non-existing) module. + ok = int:no_break(foobar), + [] = int:all_breaks(foobar), + 10 = num_breaks(), + + %% Delete the breakpoint in ordsets1:add_element/2, line 89, + %% and testing calling it. If the breakpoint has not been removed + %% the call will hang and the test case will fail with a timetrap + %% timeout. + ok = int:delete_break(Mod, 89), + 9 = num_breaks(), + [x] = Mod:add_element(x, []), + + %% Delete all breakpoints in ordsets1:del_element/2. + ok = int:del_break_in(Mod, del_element, 2), + 5 = num_breaks(), + [a,b,d,e] = Mod:del_element(c, [a,b,c,d,e]), + + %% GH-7336: Deleting all breakpoints for a module didn't work. + ok = int:no_break(Mod), + [] = int:all_breaks(Mod), + [] = int:all_breaks(), + + %% All breakpoints should now be removed. + [x] = Mod:add_element(x, []), + [a,b,d,e] = Mod:del_element(c, [a,b,c,d,e]), + [a,b,c] = Mod:union([a,c], [a,b]), + + ok. + +%% Return the number of breakpoints in the ordsets1 module. +num_breaks() -> + %% Assumption: There are breakpoints only in the ordsets1 module. + Breaks = lists:sort(int:all_breaks()), + Breaks = lists:sort(int:all_breaks(ordsets1)), + length(Breaks). diff --git a/lib/debugger/test/maybe_SUITE.erl b/lib/debugger/test/maybe_SUITE.erl new file mode 100644 index 000000000000..564c99a71956 --- /dev/null +++ b/lib/debugger/test/maybe_SUITE.erl @@ -0,0 +1,305 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2003-2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +-module(maybe_SUITE). +-feature(maybe_expr, enable). +-include_lib("common_test/include/ct.hrl"). + +-export([all/0, groups/0, init_per_suite/1, end_per_suite/1, + init_per_testcase/2, end_per_testcase/2]). +-export([basic/1, nested/1, in_try_catch/1]). + +all() -> + [{group,p}]. + +groups() -> + [{p,[parallel], + [basic,nested,in_try_catch]}]. + +init_per_testcase(_Case, Config) -> + test_lib:interpret(?MODULE), + Config. + +end_per_testcase(_Case, _Config) -> + ok. + +init_per_suite(Config) -> + test_lib:interpret(?MODULE), + true = lists:member(?MODULE, int:interpreted()), + Config. + +end_per_suite(_Config) -> + ok. + +-record(value, {v}). + +basic(_Config) -> + {ok,42,fish} = basic_1(0, #{0 => {ok,42}, 42 => {ok,fish}}), + error = basic_1(0, #{0 => {ok,42}, 42 => {error,whatever}}), + error = basic_1(0, #{0 => {ok,42}, 42 => error}), + error = basic_1(0, #{0 => error}), + error = basic_1(0, #{0 => {error,whatever}}), + some_value = basic_1(0, #{0 => #value{v=some_value}}), + {'EXIT',{{else_clause,something_wrong},[_|_]}} = catch basic_1(0, #{0 => something_wrong}), + + {ok,life,"universe",everything} = basic_2(0, #{0 => {ok,life}, + life => "universe", + "universe" => {ok,everything}}), + error = basic_2(0, #{0 => {ok,life}, + life => "universe", + "universe" => error}), + {'EXIT',{{badmatch,not_a_list},[_|_]}} = catch basic_2(0, #{0 => {ok,life}, + life => not_a_list}), + {'EXIT',{{else_clause,not_ok},[_|_]}} = catch basic_2(0, #{0 => {ok,life}, + life => "universe", + "universe" => not_ok}), + {'EXIT',{{else_clause,not_ok},[_|_]}} = catch basic_2(0, #{0 => not_ok}), + + {ok,42,fish,dolphins} = basic_3(0, #{0 => {ok,42}, 42 => {ok,fish}, + fish => {ok,#value{v=dolphins}}}), + {error,whatever} = basic_3(0, #{0 => {ok,42}, 42 => {error,whatever}}), + failed = basic_3(0, #{0 => {ok,42}, 42 => failed}), + failed_early = basic_3(0, #{0 => failed_early}), + + y = maybe nomatch ?= id(x) else _ -> y end, + y = maybe nomatch ?= id(x) else _ -> x, y end, + + x = maybe nomatch ?= id(x) else E1 -> E1 end, + + 6 = maybe X1 = 2+2, X1+2 end, + 6 = maybe X2 = 2+2, X2+2 else {error, T} -> T end, + {"llo", "hello", "hello"} = maybe Y1 = "he"++X3=Z1 ?= "hello", {X3,Y1,Z1} end, + {"llo", "hello", "llo"} = maybe Y2 = "he"++(X4=Z2) ?= "hello", {X4,Y2,Z2} end, + + whatever = maybe + AlwaysMatching ?= id(whatever), + AlwaysMatching + else + E2 -> E2 + end, + + <<0>> = basic_4(id({<<0>>})), + + ok. + +basic_1(V0, M) -> + Res = basic_1a(V0, M), + {wrapped,Res} = basic_1b(V0, M), + {wrapped,Res} = basic_1c(V0, M), + Res. + +basic_1a(V0, M) -> + maybe + {ok,V1} ?= do_something(V0, M), + {ok,V2} ?= do_something(V1, M), + {ok,V1,V2} + else + {error,_} -> + error; + error -> + error; + #value{v=V} -> + V + end. + +basic_1b(V0, M) -> + Result = + maybe + {ok,V1} ?= do_something(V0, M), + {ok,V2} ?= do_something(V1, M), + {ok,V1,V2} + else + {error,_} -> + error; + error -> + error; + #value{v=V} -> + V + end, + {wrapped,Result}. + +basic_1c(V0, M) -> + OK = id(ok), + Error = id(error), + Result = + maybe + {OK,V1} ?= do_something(V0, M), + {OK,V2} ?= do_something(V1, M), + {OK,V1,V2} + else + {Error,_} -> + Error; + Error -> + Error; + #value{v=V} -> + V + end, + {wrapped,Result}. + +basic_2(V0, M) -> + Res = basic_2a(V0, M), + {wrapped,Res} = basic_2b(V0, M), + Res. + +basic_2a(V0, M) -> + maybe + {ok,V1} ?= do_something(V0, M), + V2 = [_|_] = do_something(V1, M), + {ok,V3} ?= do_something(V2, M), + {ok,V1,V2,V3} + else + {error,_} -> + error; + error -> + error; + #value{v=V} -> + V + end. + +basic_2b(V0, M) -> + Result = + maybe + {ok,V1} ?= do_something(V0, M), + V2 = [_|_] = do_something(V1, M), + {ok,V3} ?= do_something(V2, M), + {ok,V1,V2,V3} + else + {error,_} -> + error; + error -> + error; + #value{v=V} -> + V + end, + _ = id(0), + {wrapped,Result}. + +basic_3(V0, M) -> + Res = basic_3a(V0, M), + {wrapped,Res} = basic_3b(V0, M), + Res. + +basic_3a(V0, M) -> + maybe + {ok,V1} ?= do_something(V0, M), + {ok,V2} ?= do_something(V1, M), + {ok,#value{v=V3}} ?= do_something(V2, M), + {ok,V1,V2,V3} + end. + +basic_3b(V0, M) -> + Result = + maybe + {ok,V1} ?= do_something(V0, M), + {ok,V2} ?= do_something(V1, M), + {ok,#value{v=V3}} ?= do_something(V2, M), + {ok,V1,V2,V3} + end, + {wrapped,Result}. + +basic_4({X}) -> + maybe + <<_:(ok)>> ?= X + end. + +nested(_Config) -> + {outer_fail,not_ok} = nested_1(0, #{0 => not_ok}), + {x,{error,inner}} = nested_1(0, #{0 => {ok,x}, x => {error,inner}}), + {outer_fail,{unexpected,not_error}} = nested_1(0, #{0 => {ok,x}, x => not_error}), + ok. + +nested_1(V0, M) -> + Res = nested_1a(V0, M), + {wrapped,Res} = nested_1b(V0, M), + {wrapped,Res} = nested_1c(V0, M), + Res. + +nested_1a(V0, M) -> + maybe + {ok,V1} ?= do_something(V0, M), + V2 = {error,_} ?= + maybe + {error, _} ?= id(do_something(V1, M)) + else + Unexpected -> {unexpected, Unexpected} + end, + {V1,V2} + else + Res -> {outer_fail,Res} + end. + +nested_1b(V0, M) -> + Result = + maybe + {ok,V1} ?= do_something(V0, M), + V2 = {error,_} ?= + maybe + {error, _} ?= id(do_something(V1, M)) + else + Unexpected -> {unexpected, Unexpected} + end, + {V1,V2} + else + Res -> {outer_fail,Res} + end, + {wrapped,Result}. + +nested_1c(V0, M) -> + Result = + maybe + R ?= maybe + {ok,V1} ?= do_something(V0, M), + {error,_} = V2 ?= + maybe + {error, _} ?= id(do_something(V1, M)) + else + Unexpected -> {unexpected, Unexpected} + end, + {V1,V2} + else + Res -> {outer_fail,Res} + end, + R + else + Var -> Var + end, + {wrapped,Result}. + +in_try_catch(_Config) -> + Ref = make_ref(), + try + in_try_catch_1(Ref), + ct:failed(should_not_succeed) + catch + {bad_maybe_match,Ref} -> + ok + end. + +in_try_catch_1(Ref) -> + maybe + throw({bad_maybe_match,Ref}) + end. + +%% Utility functions. + +do_something(V, M) -> + map_get(id(V), M). + +id(X) -> X. diff --git a/lib/debugger/vsn.mk b/lib/debugger/vsn.mk index e98a61d2b3b7..1427087a913f 100644 --- a/lib/debugger/vsn.mk +++ b/lib/debugger/vsn.mk @@ -1 +1 @@ -DEBUGGER_VSN = 5.3.1 +DEBUGGER_VSN = 5.3.1.1 diff --git a/lib/dialyzer/Makefile b/lib/dialyzer/Makefile index b58f0e0a182e..875c74b7494b 100644 --- a/lib/dialyzer/Makefile +++ b/lib/dialyzer/Makefile @@ -1,8 +1,8 @@ # # %CopyrightBegin% -# +# # Copyright Ericsson AB 2006-2021. All Rights Reserved. -# +# # 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 @@ -14,7 +14,7 @@ # 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. -# +# # %CopyrightEnd% # #============================================================================= @@ -42,6 +42,6 @@ SPECIAL_TARGETS = # include $(ERL_TOP)/make/otp_subdir.mk -DIA_PLT_APPS=compiler syntax_tools wx +DIA_PLT_APPS=compiler syntax_tools include $(ERL_TOP)/make/app_targets.mk diff --git a/lib/dialyzer/README b/lib/dialyzer/README index bbdab21cbf27..88381ca0ddca 100644 --- a/lib/dialyzer/README +++ b/lib/dialyzer/README @@ -15,11 +15,7 @@ The DIALYZER, a DIscrepancy AnaLYZer for ERlang programs. -- ----------------------------------------------- -You can use Dialyzer either in its GUI mode, simply by: - - ./dialyzer - -or in its command-line mode, as e.g. by: +You can use Dialyzer in its command-line mode by: ./dialyzer -r OTP_DIR/lib/inets diff --git a/lib/dialyzer/doc/src/dialyzer.xml b/lib/dialyzer/doc/src/dialyzer.xml index 334cfcb8d7ae..9451b6fc1ad2 100644 --- a/lib/dialyzer/doc/src/dialyzer.xml +++ b/lib/dialyzer/doc/src/dialyzer.xml @@ -11,7 +11,7 @@ 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 @@ -35,7 +35,7 @@

Dialyzer is a static analysis tool that identifies software discrepancies, such as definite type errors, code that has become dead - or unreachable because of programming error, and unnecessary tests, + or unreachable because of programming errors, and unnecessary tests, in single Erlang modules or entire (sets of) applications.

Dialyzer starts its analysis from either @@ -56,10 +56,6 @@ dialyzer --help -

For more details about the operation of Dialyzer, see section - - Using Dialyzer from the GUI in the User's Guide.

-

Exit status of the command-line version:

@@ -85,7 +81,7 @@ dialyzer --help dialyzer [--add_to_plt] [--apps applications] [--build_plt] [--check_plt] [-Ddefine]* [-Dname]* [--dump_callgraph file] [--error_location flag] [files_or_dirs] [--fullpath] - [--get_warnings] [--gui] [--help] [-I include_dir]* + [--get_warnings] [--help] [-I include_dir]* [--incremental] [--metrics_file] [--no_check_plt] [--no_indentation] [--no_spec] [-o outfile] [--output_plt file] [-pa dir]* [--plt plt] [--plt_info] [--plts plt*] [--quiet] [-r dirs] [--raw] @@ -185,9 +181,6 @@ dialyzer --apps inets ssl ./ebin ../other_lib/ebin/my_module.beam

Make Dialyzer emit warnings even when manipulating the PLT. Warnings are only emitted for files that are analyzed.

- --gui - -

Use the GUI.

--help (or -h)

Print this message and exit.

@@ -304,10 +297,6 @@ dialyzer --plts plt_1 ... plt_n -- files_to_analyze the PLT. Notice that this can cause a reanalysis of the remaining dependent files.

- --shell - -

Do not disable the Erlang shell while running the GUI.

-
--src

Override the default, which is to analyze BEAM files, and @@ -340,9 +329,7 @@ dialyzer --plts plt_1 ... plt_n -- files_to_analyze -

** options -D and -I work both - from the command line and in the Dialyzer GUI; the syntax of - defines and includes is the same as that used by +

** the syntax of defines and includes is the same as that used by erlc(1).

@@ -482,9 +469,8 @@ dialyzer --plts plt_1 ... plt_n -- files_to_analyze
Using Dialyzer from Erlang -

Dialyzer can be used directly from Erlang. Both the GUI and the - command-line versions are also available. The options are similar to the - ones given from the command line, see section +

Dialyzer can be used directly from Erlang. The options are + similar to the ones given from the command line, see section Using Dialyzer from the Command Line.

@@ -662,15 +648,6 @@ dialyzer --plts plt_1 ... plt_n -- files_to_analyze - - - - Dialyzer GUI version. - -

Dialyzer GUI version.

-
-
- Return information about the specified PLT. diff --git a/lib/dialyzer/doc/src/dialyzer_chapter.xml b/lib/dialyzer/doc/src/dialyzer_chapter.xml index b5f87e3ab701..abaa9e4ec57c 100644 --- a/lib/dialyzer/doc/src/dialyzer_chapter.xml +++ b/lib/dialyzer/doc/src/dialyzer_chapter.xml @@ -11,7 +11,7 @@ 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 @@ -19,7 +19,7 @@ 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. - + Dialyzer @@ -39,8 +39,7 @@ or unreachable because of programming error, and unnecessary tests, in single Erlang modules or entire (sets of) applications.

-

Dialyzer can be called from the command line, from Erlang, - and from a GUI.

+

Dialyzer can be called from the command line and from Erlang.

@@ -132,100 +131,6 @@ dialyzer --plt_info See dialyzer(3).

-
- - Using Dialyzer from the GUI -
- Choosing the Applications or Modules -

The File window displays a listing of the current directory. - Click your way to the directories/modules you want to add or type the - correct path in the entry.

- -

Mark the directories/modules you want to analyze for discrepancies and - click Add. You can either add the .beam and - .erl files directly, or add directories that contain - these kind of files. Notice that - you are only allowed to add the type of files that can be analyzed in - the current mode of operation (see below), and that you cannot mix - .beam and .erl files.

-
- -
- Analysis Modes -

Dialyzer has two analysis modes: "Byte Code" and "Source Code". - They are controlled by the buttons in the top-middle part of the - main window, under Analysis Options.

-
- -
- Controlling the Discrepancies Reported by Dialyzer -

Under the Warnings pull-down menu, there are buttons that - control which discrepancies are reported to the user in the - Warnings window. By clicking these buttons, you can - enable/disable a whole class of warnings. Information about the classes - of warnings is found on the "Warnings" item under the Help - menu (in the rightmost top corner).

- -

If modules are compiled with inlining, spurious warnings can be - emitted. In the Options menu you can choose to ignore - inline-compiled modules when analyzing byte code. - When starting from source code, this is not a problem because - inlining is explicitly turned off by Dialyzer. The option causes - Dialyzer to suppress all warnings from inline-compiled - modules, as there is currently no way for Dialyzer to find what - parts of the code have been produced by inlining.

-
- -
- Running the Analysis -

Once you have chosen the modules or directories you want to analyze, - click the Run button to start the analysis. If you for some - reason want to stop the analysis while it is running, click the - Stop button.

- -

The information from the analysis is displayed in the Log - window and the Warnings window.

-
- -
- Include Directories and Macro Definitions -

When analyzing from source, you might have to supply Dialyzer - with a list of include directories and macro definitions (as you can do - with the erlc flags - -I and -D). This can be done - either by starting Dialyzer with these flags from the command - line as in:

- - -dialyzer -I my_includes -DDEBUG -Dvsn=42 -I one_more_dir - -

or by adding these explicitly using submenu - Manage Macro Definitions or - Manage Include Directories in the Options menu.

-
- -
- Saving the Information on the Log and Warnings Windows -

The File menu includes options to save the contents of the - Log window and the Warnings window. Simply choose the - options and enter the file to save the contents in.

- -

There are also buttons to clear the contents of each window.

-
- -
- Inspecting the Inferred Types of the Analyzed Functions -

Dialyzer stores the information of the analyzed functions in a - Persistent Lookup Table (PLT), see section - The Persistent Lookup Table.

- -

After an analysis, you can inspect this information. - In the PLT menu you can choose to either search the PLT - or inspect the contents of the whole PLT. The information is presented - in EDoc format.

-
-
-
Dialyzer's Model of Analysis

Dialyzer operates somewhere between a classical type checker and a more @@ -367,4 +272,3 @@ some_module.erl:31:9: The call t:baz describing the symptoms and how to reproduce them.

- diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile index 2f0f1f6b71ae..2c5a87ff1496 100644 --- a/lib/dialyzer/src/Makefile +++ b/lib/dialyzer/src/Makefile @@ -60,8 +60,6 @@ MODULES = \ dialyzer_dataflow \ dialyzer_dep \ dialyzer_dot \ - dialyzer_explanation \ - dialyzer_gui_wx \ dialyzer_incremental \ dialyzer_options \ dialyzer_iplt \ @@ -79,7 +77,7 @@ MODULES = \ typer \ typer_core -HRL_FILES= dialyzer.hrl dialyzer_gui_wx.hrl +HRL_FILES= dialyzer.hrl ERL_FILES= $(MODULES:%=%.erl) INSTALL_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) $(APP_TARGET) $(APPUP_TARGET) TARGET_FILES= $(INSTALL_FILES) @@ -127,9 +125,6 @@ $(EBIN)/dialyzer_cplt.$(EMULATOR): dialyzer_cplt.erl ../vsn.mk $(EBIN)/dialyzer_iplt.$(EMULATOR): dialyzer_iplt.erl ../vsn.mk $(erlc_verbose)erlc -W $(ERL_COMPILE_FLAGS) -DVSN="\"v$(VSN)\"" -o$(EBIN) dialyzer_iplt.erl -$(EBIN)/dialyzer_gui_wx.$(EMULATOR): dialyzer_gui_wx.erl ../vsn.mk - $(erlc_verbose)erlc -W $(ERL_COMPILE_FLAGS) -DVSN="\"v$(VSN)\"" -o$(EBIN) dialyzer_gui_wx.erl - $(EBIN)/typer.$(EMULATOR): typer.erl ../vsn.mk $(erlc_verbose)erlc -W $(ERL_COMPILE_FLAGS) -DVSN="\"v$(VSN)\"" -o$(EBIN) typer.erl @@ -153,8 +148,6 @@ $(EBIN)/dialyzer_codeserver.beam: dialyzer.hrl $(EBIN)/dialyzer_contracts.beam: dialyzer.hrl $(EBIN)/dialyzer_dataflow.beam: dialyzer.hrl $(EBIN)/dialyzer_dep.beam: dialyzer.hrl -$(EBIN)/dialyzer_explanation.beam: dialyzer.hrl -$(EBIN)/dialyzer_gui_wx.beam: dialyzer.hrl dialyzer_gui_wx.hrl $(EBIN)/dialyzer_options.beam: dialyzer.hrl $(EBIN)/dialyzer_plt.beam: dialyzer.hrl $(EBIN)/dialyzer_race_data_server.beam: dialyzer.hrl @@ -166,7 +159,7 @@ $(EBIN)/dialyzer_utils.beam: dialyzer.hrl # ---------------------------------------------------- # Release Target -# ---------------------------------------------------- +# ---------------------------------------------------- include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt diff --git a/lib/dialyzer/src/dialyzer.app.src b/lib/dialyzer/src/dialyzer.app.src index 107da591d12a..a460f57f16c7 100644 --- a/lib/dialyzer/src/dialyzer.app.src +++ b/lib/dialyzer/src/dialyzer.app.src @@ -37,8 +37,6 @@ dialyzer_dataflow, dialyzer_dep, dialyzer_dot, - dialyzer_explanation, - dialyzer_gui_wx, dialyzer_incremental, dialyzer_options, dialyzer_plt, @@ -56,6 +54,6 @@ {registered, []}, {applications, [compiler, kernel, stdlib]}, {env, []}, - {runtime_dependencies, ["wx-2.0","syntax_tools-2.0","stdlib-5.0", + {runtime_dependencies, ["syntax_tools-2.0","stdlib-5.0", "kernel-8.0","erts-12.0", "compiler-8.0"]}]}. diff --git a/lib/dialyzer/src/dialyzer.erl b/lib/dialyzer/src/dialyzer.erl index ecfc509e34ce..348c1a018b2a 100644 --- a/lib/dialyzer/src/dialyzer.erl +++ b/lib/dialyzer/src/dialyzer.erl @@ -31,8 +31,6 @@ run/1, run_report_modules_analyzed/1, run_report_modules_changed_and_analyzed/1, - gui/0, - gui/1, plt_info/1, format_warning/1, format_warning/2]). @@ -51,7 +49,6 @@ %% had to be analyzed to compute the result, plus the %% set of modules that have changed since the PLT was %% created (if applicable) -%% - gui/0/1: Erlang interface for the gui. %% - format_warning/1: Get the string representation of a warning. %% - format_warning/2: Likewise, but with an option whether %% to display full path names or not @@ -66,19 +63,6 @@ plain_cl() -> cl_halt(cl_check_init(Opts), Opts); {plt_info, Opts} -> cl_halt(cl_print_plt_info(Opts), Opts); - {gui, Opts} -> - try check_gui_options(Opts) - catch throw:{dialyzer_error, Msg} -> cl_error(Msg) - end, - case Opts#options.check_plt of - true -> - case cl_check_init(Opts#options{get_warnings = false}) of - {ok, _} -> gui_halt(internal_gui(Opts), Opts); - {error, _} = Error -> cl_halt(Error, Opts) - end; - false -> - gui_halt(internal_gui(Opts), Opts) - end; {cl, Opts} -> case Opts#options.check_plt of true -> @@ -243,46 +227,6 @@ check_init(#options{check_plt = true} = OptsRecord) -> check_init(#options{check_plt = false}) -> ok. -internal_gui(OptsRecord) -> - F = fun() -> - dialyzer_gui_wx:start(OptsRecord), - ?RET_NOTHING_SUSPICIOUS - end, - doit(F). - --spec gui() -> 'ok'. - -gui() -> - gui([]). - --spec gui(Options) -> 'ok' when - Options :: [dial_option()]. - -gui(Opts) -> - try dialyzer_options:build([{report_mode, quiet}|Opts]) of - {error, Msg} -> - throw({dialyzer_error, Msg}); - OptsRecord -> - ok = check_gui_options(OptsRecord), - ok = check_init(OptsRecord), - F = fun() -> - dialyzer_gui_wx:start(OptsRecord) - end, - case doit(F) of - {ok, _} -> ok; - {error, Msg} -> throw({dialyzer_error, Msg}) - end - catch - throw:{dialyzer_error, ErrorMsg} -> - erlang:error({dialyzer_error, lists:flatten(ErrorMsg)}) - end. - -check_gui_options(#options{analysis_type = succ_typings}) -> - ok; -check_gui_options(#options{analysis_type = Mode}) -> - Msg = io_lib:format("Analysis mode ~w is illegal in GUI mode", [Mode]), - throw({dialyzer_error, Msg}). - -spec plt_info(Plt) -> {'ok', ClassicResult | IncrementalResult } | {'error', Reason} when Plt :: file:filename(), @@ -326,11 +270,6 @@ doit(F) -> cl_error(Msg) -> cl_halt({error, Msg}, #options{}). --spec gui_halt(doit_ret(), #options{}) -> no_return(). - -gui_halt(R, Opts) -> - cl_halt(R, Opts#options{report_mode = quiet}). - -spec cl_halt(doit_ret(), #options{}) -> no_return(). cl_halt({ok, R = ?RET_NOTHING_SUSPICIOUS}, #options{report_mode = quiet}) -> diff --git a/lib/dialyzer/src/dialyzer_cl_parse.erl b/lib/dialyzer/src/dialyzer_cl_parse.erl index 2babea007366..5d2b1d873105 100644 --- a/lib/dialyzer/src/dialyzer_cl_parse.erl +++ b/lib/dialyzer/src/dialyzer_cl_parse.erl @@ -21,7 +21,6 @@ -type dial_cl_parse_ret() :: {'check_init', #options{}} | {'plt_info', #options{}} | {'cl', #options{}} - | {'gui', #options{}} | {'error', string()}. -spec start() -> dial_cl_parse_ret(). @@ -150,8 +149,6 @@ cli() -> no_underspecs, no_unknown, no_unused, underspecs, unknown, unmatched_returns, overspecs, specdiffs, extra_return, no_extra_return, missing_return, no_missing_return]}, help => {<<"[-Wwarn]*">>, [<<"A family of options which selectively turn on/off warnings">>]}}, - #{name => shell, long => "-shell", type => boolean, - help => <<"Do not disable the Erlang shell while running the GUI.">>}, #{name => version, short => $v, long => "-version", type => boolean, help => <<"Print the Dialyzer version and some more information and exit.">>}, #{name => help, short => $h, long => "-help", type => boolean, @@ -215,8 +212,6 @@ cli() -> #{name => indent_opt, long => "-no_indentation", type => boolean, action => {store, false}, help => <<"Do not indent contracts and success typings. Note that this option has " "no effect when combined with the --raw option.">>}, - #{name => gui, long => "-gui", type => boolean, - help => <<"Use the GUI.">>}, #{name => metrics_file, long => "-metrics_file", help => <<"Write metrics about Dialyzer's incrementality (for example, total number of " "modules considered, how many modules were changed since the PLT was " @@ -248,8 +243,7 @@ cli() -> arguments, options, " Note: * denotes that multiple occurrences of these options are possible. - ** options -D and -I work both from command-line and in the Dialyzer GUI; - the syntax of defines and includes is the same as that used by \"erlc\". + ** the syntax of defines and includes is the same as that used by \"erlc\". " ++ warning_options_msg() ++ " " ++ configuration_file_msg() ++ " @@ -304,11 +298,6 @@ postprocess_side_effects(ArgMap) -> plt_check -> %% plt_check is a hidden "check_init" command {check_init, ArgMap1}; - _ when map_get(gui, ArgMap1) -> - %% filter out command-line only arguments - Allowed = [defines, from, include_dirs, plts, output_plt, report_mode, - use_spec, warnings, check_plt, solvers], - {gui, maps:with(Allowed, ArgMap1)}; _ -> {cl, ArgMap1} end. diff --git a/lib/dialyzer/src/dialyzer_cplt.erl b/lib/dialyzer/src/dialyzer_cplt.erl index dcd200adb578..d61b11d3b413 100644 --- a/lib/dialyzer/src/dialyzer_cplt.erl +++ b/lib/dialyzer/src/dialyzer_cplt.erl @@ -490,9 +490,8 @@ tab_merge('$end_of_table', T1, T2) -> tab_merge(Key, T1, T2) end; tab_merge(K1, T1, T2) -> - Vs = ets:lookup(T1, K1), NextK1 = ets:next(T1, K1), - true = ets:delete(T1, K1), + Vs = ets:take(T1, K1), true = ets:insert(T2, Vs), tab_merge(NextK1, T1, T2). diff --git a/lib/dialyzer/src/dialyzer_explanation.erl b/lib/dialyzer/src/dialyzer_explanation.erl deleted file mode 100644 index 10b3ef8ea5bc..000000000000 --- a/lib/dialyzer/src/dialyzer_explanation.erl +++ /dev/null @@ -1,45 +0,0 @@ -%% -*- erlang-indent-level: 2 -*- -%% -%% 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. - -%%%------------------------------------------------------------------- -%%% File : dialyzer_explanation.erl -%%% Author : Elli Fragkaki -%%% Description : -%%%------------------------------------------------------------------- - --module(dialyzer_explanation). - --export([expl_loop/3]). - --include("dialyzer.hrl"). - --spec expl_loop(pid(), dialyzer_codeserver:codeserver(), dialyzer_plt:plt()) -> - no_return(). - -expl_loop(Parent, CServer, Plt) -> - receive - {Parent, warning, _Warning} -> - send_explanation(Parent, none), - expl_loop(Parent, CServer, Plt); - {Parent, further, _Explanation} -> - Parent ! {self(), further, none}, - expl_loop(Parent, CServer, Plt); - Other -> - io:format("Unknown message: ~p\n", [Other]), - expl_loop(Parent, CServer, Plt) - end. - -send_explanation(Parent, Expl) -> - Parent ! {self(), explanation, Expl}, - ok. diff --git a/lib/dialyzer/src/dialyzer_gui_wx.erl b/lib/dialyzer/src/dialyzer_gui_wx.erl deleted file mode 100644 index 13d0a65dbbb3..000000000000 --- a/lib/dialyzer/src/dialyzer_gui_wx.erl +++ /dev/null @@ -1,1234 +0,0 @@ -%% -*- erlang-indent-level: 2 -*- -%% -%% 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. - -%%%----------------------------------------------------------------------- -%%% File : dialyzer_gui_wx.erl -%%% Authors : Elli Fragkaki -%%% Description : The wx-based graphical user interface of dialyzer. -%%% -%%% Created : 07 Oct 2009 by Elli Fragkaki -%%%----------------------------------------------------------------------- - --module(dialyzer_gui_wx). - --export([start/1]). - --include("dialyzer.hrl"). --include("dialyzer_gui_wx.hrl"). - -%%------------------------------------------------------------------------ - --define(DIALYZER_ERROR_TITLE, "Dialyzer Error"). --define(DIALYZER_MESSAGE_TITLE, "Dialyzer Message"). - -%%------------------------------------------------------------------------ - --record(menu, {file :: wx:wx_object(), - warnings :: wx:wx_object(), - plt :: wx:wx_object(), - options :: wx:wx_object(), - help :: wx:wx_object()}). --type menu() :: #menu{}. - --record(gui_state, {add :: wx:wx_object(), - add_dir :: wx:wx_object(), - add_rec :: wx:wx_object(), - chosen_box :: wx:wx_object(), - del_file :: wx:wx_object(), - doc_plt :: dialyzer_plt:plt(), - clear_chosen :: wx:wx_object(), - clear_log :: wx:wx_object(), - explain_warn :: wx:wx_object(), - clear_warn :: wx:wx_object(), - init_plt :: dialyzer_plt:plt(), - dir_entry :: wx:wx_object(), - file_box :: wx:wx_object(), - files_to_analyze :: ordsets:ordset(string()), - gui :: wx:wx_object(), - log :: wx:wx_object(), - menu :: menu(), - mode :: wx:wx_object(), - options :: #options{}, - run :: wx:wx_object(), - stop :: wx:wx_object(), - frame :: wx:wx_object(), - warnings_box :: wx:wx_object(), - explanation_box :: wx:wx_object() | 'undefined', - wantedWarnings :: list(), - rawWarnings :: list(), - backend_pid :: pid() | 'undefined', - expl_pid :: pid() | 'undefined'}). - -%%------------------------------------------------------------------------ - --spec start(#options{}) -> ?RET_NOTHING_SUSPICIOUS. - -start(DialyzerOptions) -> - process_flag(trap_exit, true), - Wx = wx:new(), - State = wx:batch(fun() -> create_window(Wx, DialyzerOptions) end), - gui_loop(State). - -create_window(Wx, #options{init_plts = InitPltFiles} = DialyzerOptions) -> - {ok, Host} = inet:gethostname(), - - %%---------- initializing frame --------- - Frame = wxFrame:new(Wx, -1, "Dialyzer " ++ ?VSN ++ " @ " ++ Host), - wxFrame:connect(Frame, close_window), - FileMenu = createFileMenu(), - WarningsMenu = createWarningsMenu(), - PltMenu = createPltMenu(), - OptionsMenu = createOptionsMenu(), - HelpMenu = createHelpMenu(), - - MenuBar = wxMenuBar:new(), - wxMenuBar:append(MenuBar, FileMenu, "File"), - wxMenuBar:append(MenuBar, WarningsMenu, "Warnings"), - wxMenuBar:append(MenuBar, PltMenu, "Plt"), - wxMenuBar:append(MenuBar, OptionsMenu, "Options"), - wxMenuBar:append(MenuBar, HelpMenu, "Help"), - wxFrame:setMenuBar(Frame, MenuBar), - ok = wxFrame:connect(Frame, command_menu_selected), - - %%----------- Set Labels ------------- - Lab1 = wxStaticText:new(Frame, ?LABEL1, "Directories or modules to analyze"), - OptionsLabel = wxStaticText:new(Frame, ?LABEL2, "Analysis Options"), - LogLabel = wxStaticText:new(Frame, ?LABEL3, "Log"), - FileLabel = wxStaticText:new(Frame, ?LABEL4, "File: "), - DirLabel = wxStaticText:new(Frame, ?LABEL5, "Dir: "), - WarningsLabel = wxStaticText:new(Frame, ?LABEL6, "Warnings"), - - %%---------- Set TextBoxes ----------- - ChosenBox = wxListBox:new(Frame, ?ChosenBox, - [{size, {250,200}}, - {style, ?wxLB_EXTENDED bor ?wxLB_HSCROLL - bor ?wxLB_NEEDED_SB}]), - LogBox = wxTextCtrl:new(Frame, ?LogBox, - [{size, {530,200}}, - {style, ?wxTE_MULTILINE - bor ?wxTE_READONLY bor ?wxHSCROLL}]), - DefaultPath = code:root_dir(), - - FilePicker = wxFilePickerCtrl:new(Frame, ?FilePicker, - [{path, DefaultPath}, - {message, "Choose File to Analyse"}, - {style,?wxFLP_FILE_MUST_EXIST bor ?wxFLP_USE_TEXTCTRL}]), - wxPickerBase:setTextCtrlProportion(FilePicker,3), - wxPickerBase:setPickerCtrlProportion(FilePicker,2), - DirPicker = wxDirPickerCtrl:new(Frame, ?DirPicker, - [{path, DefaultPath}, - {message, "Choose Directory to Analyze"}, - {style,?wxDIRP_DIR_MUST_EXIST bor ?wxDIRP_USE_TEXTCTRL}]), - WarningsBox = wxListBox:new(Frame, ?WarningsBox, - [{size, {700,200}}, - {style, ?wxLB_HSCROLL - bor ?wxLB_NEEDED_SB}]), - - %%--------- Set Buttons -------------- - DeleteButton = wxButton:new(Frame, ?Del_Button, [{label, "Delete"}]), - DeleteAllButton = wxButton:new(Frame, ?DelAll_Button, [{label, "Delete All"}]), - FileType = wxRadioBox:new(Frame, ?RADIOBOX, " File Type: " , {1,1}, {150,90}, - [["BeamFiles"],["SourceFiles"]]), - ClearLogButton = wxButton:new(Frame, ?ClearLog_Button, [{label, "Clear Log"}]), - AddButton = wxButton:new(Frame, ?Add_Button, [{label, "Add"}]), - AddDirButton = wxButton:new(Frame, ?AddDir_Button, [{label, "Add Dir"}]), - AddRecButton = wxButton:new(Frame, ?AddRec_Button, [{label, "Add Recursively"}]), - ExplainWarnButton = wxButton:new(Frame, ?ExplWarn_Button, [{label, "Explain Warning"}]), - ClearWarningsButton = wxButton:new(Frame, ?ClearWarn_Button, [{label, "Clear Warnings"}]), - RunButton = wxButton:new(Frame, ?Run_Button, [{label, "Run"}]), - StopButton = wxButton:new(Frame, ?Stop_Button, [{label, "Stop"}]), - wxWindow:disable(StopButton), - %%--------- Connect Buttons ----------- - wxButton:connect(DeleteButton, command_button_clicked), - wxButton:connect(DeleteAllButton, command_button_clicked), - wxButton:connect(ClearLogButton, command_button_clicked), - wxButton:connect(AddButton, command_button_clicked), - wxButton:connect(AddDirButton, command_button_clicked), - wxButton:connect(AddRecButton, command_button_clicked), - wxButton:connect(ExplainWarnButton, command_button_clicked), - wxButton:connect(ClearWarningsButton, command_button_clicked), - wxButton:connect(RunButton, command_button_clicked), - wxButton:connect(StopButton, command_button_clicked), - - %%------------Set Layout ------------ - All = wxBoxSizer:new(?wxVERTICAL), - Top = wxBoxSizer:new(?wxHORIZONTAL), - Left = wxBoxSizer:new(?wxVERTICAL), - Right = wxBoxSizer:new(?wxVERTICAL), - RightUp = wxBoxSizer:new(?wxHORIZONTAL), - - Opts = [{flag,?wxEXPAND bor ?wxALL}, {proportion,1}, {border, 1}], - Opts3 = [{flag,?wxEXPAND bor ?wxALL}, {proportion,3}, {border, 1}], - Center = [{flag, ?wxALIGN_CENTER_HORIZONTAL}], - - ChooseItem = wxBoxSizer:new(?wxVERTICAL), - FileTypeItem = wxBoxSizer:new(?wxVERTICAL), - LogItem = wxBoxSizer:new(?wxVERTICAL), - FileDirItem = wxBoxSizer:new(?wxVERTICAL), - FileItem = wxBoxSizer:new(?wxHORIZONTAL), - DirItem = wxBoxSizer:new(?wxHORIZONTAL), - AddDirButtons = wxBoxSizer:new(?wxHORIZONTAL), - WarningsItem = wxBoxSizer:new(?wxVERTICAL), - ChooseButtons = wxBoxSizer:new(?wxHORIZONTAL), - WarnButtons = wxBoxSizer:new(?wxHORIZONTAL), - RunButtons = wxBoxSizer:new(?wxHORIZONTAL), - Buttons = wxFlexGridSizer:new(3), - - _ = wxSizer:add(ChooseButtons, DeleteButton, ?BorderOpt), - _ = wxSizer:add(ChooseButtons, DeleteAllButton, ?BorderOpt), - _ = wxSizer:add(ChooseItem, Lab1, Center), - _ = wxSizer:add(ChooseItem, ChosenBox, Opts), - _ = wxSizer:add(ChooseItem, ChooseButtons, ?BorderOpt), - _ = wxSizer:add(FileTypeItem, OptionsLabel), - _ = wxSizer:add(FileTypeItem, FileType, [{border, 5}, {flag, ?wxALL}]), - _ = wxSizer:add(LogItem, LogLabel, Center), - _ = wxSizer:add(LogItem, LogBox, Opts3), - _ = wxSizer:add(LogItem, ClearLogButton, ?BorderOpt), - _ = wxSizer:add(FileItem, FileLabel), - _ = wxSizer:add(FileItem, FilePicker), - _ = wxSizer:add(DirItem, DirLabel), - _ = wxSizer:add(DirItem, DirPicker), - _ = wxSizer:add(AddDirButtons, AddDirButton, ?BorderOpt), - _ = wxSizer:add(AddDirButtons, AddRecButton, ?BorderOpt), - _ = wxSizer:add(FileDirItem, FileItem), - _ = wxSizer:add(FileDirItem, AddButton, ?BorderOpt), - _ = wxSizer:add(FileDirItem, DirItem, ?BorderOpt), - _ = wxSizer:add(FileDirItem, AddDirButtons, ?BorderOpt), - _ = wxSizer:add(WarnButtons, ExplainWarnButton, ?BorderOpt), - _ = wxSizer:add(WarnButtons, ClearWarningsButton, ?BorderOpt), - _ = wxSizer:add(RunButtons, RunButton, ?BorderOpt), - _ = wxSizer:add(RunButtons, StopButton, ?BorderOpt), - _ = wxSizer:add(Buttons, WarnButtons), - _ = wxSizer:add(Buttons, wxStaticText:new(Frame, ?LABEL7, ""), - [{flag, ?wxEXPAND}]), - _ = wxSizer:add(Buttons, RunButtons), - _ = wxFlexGridSizer:addGrowableCol(Buttons, 1), - _ = wxSizer:add(WarningsItem, WarningsLabel, Center), - _ = wxSizer:add(WarningsItem, WarningsBox, Opts3), - _ = wxSizer:add(WarningsItem, Buttons, - [{flag, ?wxEXPAND bor ?wxALL}, ?Border]), - _ = wxSizer:add(Left, ChooseItem, Opts), - _ = wxSizer:add(Left, FileDirItem, - [{proportion, 1}, {border, 60}, {flag, ?wxTOP}]), - _ = wxSizer:add(RightUp, FileTypeItem, ?BorderOpt), - _ = wxSizer:add(RightUp, LogItem, Opts3), - _ = wxSizer:add(Right, RightUp, Opts3), - _ = wxSizer:add(Right, WarningsItem, Opts3), - _ = wxSizer:add(Top, Left, Opts), - _ = wxSizer:add(Top, Right, Opts3), - - _ = wxSizer:add(All, Top, Opts), - wxWindow:setSizer(Frame, All), - wxWindow:setSizeHints(Frame, {1150,600}), - wxWindow:show(Frame), - - Warnings = [{?WARN_RETURN_NO_RETURN, ?menuID_WARN_NO_RETURN_FUN}, - {?WARN_RETURN_ONLY_EXIT, ?menuID_WARN_ERROR_HANDLING_FUN}, - {?WARN_NOT_CALLED, ?menuID_WARN_UNUSED_FUN}, - {?WARN_NON_PROPER_LIST, ?menuID_WARN_LIST_CONSTR}, - {?WARN_FUN_APP, ?menuID_WARN_BAD_FUN}, - {?WARN_MATCHING, ?menuID_WARN_MATCH_FAILURES}, - {?WARN_OPAQUE, ?menuID_WARN_OPAQUE}, - {?WARN_FAILING_CALL, ?menuID_WARN_FAIL_FUN_CALLS}, - {?WARN_CALLGRAPH, ?menuID_WARN_UNEXPORTED_FUN}, - %% For contracts. - {?WARN_CONTRACT_TYPES,?menuID_WARN_WRONG_CONTRACTS}, - {?WARN_CONTRACT_SYNTAX, ?menuID_WARN_CONTRACT_SYNTAX} - ], - Menu = #menu{file = FileMenu, - warnings = WarningsMenu, - plt = PltMenu, - options =OptionsMenu, - help = HelpMenu}, - - InitPlt = - case InitPltFiles of - [] -> dialyzer_plt:new(); - _ -> - Plts = [dialyzer_cplt:from_file(F) || F <- InitPltFiles], - dialyzer_cplt:merge_plts_or_report_conflicts(InitPltFiles, Plts) - end, - - #gui_state{add = AddButton, - add_dir = AddDirButton, - add_rec = AddRecButton, - chosen_box = ChosenBox, - clear_chosen = DeleteAllButton, - clear_log = ClearLogButton, - explain_warn = ExplainWarnButton, - clear_warn = ClearWarningsButton, - del_file = DeleteButton, - doc_plt = dialyzer_plt:new(), - dir_entry = DirPicker, - file_box = FilePicker, - files_to_analyze = ordsets:new(), - gui = Wx, - init_plt = InitPlt, - log = LogBox, - menu = Menu, - mode = FileType, - options = DialyzerOptions, - run = RunButton, - stop = StopButton, - frame = Frame, - warnings_box = WarningsBox, - wantedWarnings = Warnings, - rawWarnings = []}. - -createFileMenu() -> - FileMenu = wxMenu:new(), - _ = wxMenu:append(FileMenu, wxMenuItem:new([{id, ?menuID_FILE_SAVE_WARNINGS}, - {text, "Save &Warnings"}])), - _ = wxMenu:append(FileMenu, wxMenuItem:new([{id, ?menuID_FILE_SAVE_LOG}, - {text, "Save &Log"}])), - _ = wxMenu:append(FileMenu, wxMenuItem:new([{id, ?menuID_FILE_QUIT}, - {text, "E&xit\tAlt-X"}])), - FileMenu. - -createWarningsMenu() -> - WarningsMenu = wxMenu:new(), - addCheckedItem(WarningsMenu, ?menuID_WARN_MATCH_FAILURES, "Match failures"), - addCheckedItem(WarningsMenu, ?menuID_WARN_FAIL_FUN_CALLS, - "Failing function calls"), - addCheckedItem(WarningsMenu, ?menuID_WARN_BAD_FUN, "Bad fun applications"), - addCheckedItem(WarningsMenu, ?menuID_WARN_OPAQUE, "Opacity violations"), - addCheckedItem(WarningsMenu, ?menuID_WARN_LIST_CONSTR, - "Improper list constructions"), - addCheckedItem(WarningsMenu, ?menuID_WARN_UNUSED_FUN, "Unused functions"), - _ = wxMenu:appendCheckItem(WarningsMenu, ?menuID_WARN_ERROR_HANDLING_FUN, - "Error handling functions"), - addCheckedItem(WarningsMenu, ?menuID_WARN_NO_RETURN_FUN, - "Functions of no return"), - addCheckedItem(WarningsMenu, ?menuID_WARN_UNEXPORTED_FUN, - "Call to unexported function"), - addCheckedItem(WarningsMenu, ?menuID_WARN_WRONG_CONTRACTS, "Wrong contracts"), - addCheckedItem(WarningsMenu, ?menuID_WARN_CONTRACT_SYNTAX, - "Wrong contract syntax"), - WarningsMenu. - -addCheckedItem(Menu, ItemId, Str) -> - _ = wxMenu:appendCheckItem(Menu, ItemId, Str), - wxMenu:check(Menu, ItemId, true). - -createPltMenu() -> - PltMenu = wxMenu:new(), - _ = wxMenu:appendCheckItem(PltMenu, ?menuID_PLT_INIT_EMPTY, - "Init with empty PLT"), - _ = wxMenu:append(PltMenu, wxMenuItem:new([{id, ?menuID_PLT_SHOW_CONTENTS}, - {text, "Show contents"}])), - _ = wxMenu:append(PltMenu, wxMenuItem:new([{id, ?menuID_PLT_SEARCH_CONTENTS}, - {text, "Search contents"}])), - PltMenu. - -createOptionsMenu() -> - OptsMenu = wxMenu:new(), - _ = wxMenu:append(OptsMenu, wxMenuItem:new([{id, ?menuID_OPTIONS_MACRO}, - {text, "Manage Macro Definitions"}])), - _ = wxMenu:append(OptsMenu, wxMenuItem:new([{id, ?menuID_OPTIONS_INCLUDE_DIR}, - {text, "Manage Include Directories"}])), - OptsMenu. - -createHelpMenu() -> - HelpMenu = wxMenu:new(), - _ = wxMenu:append(HelpMenu, wxMenuItem:new([{id, ?menuID_HELP_MANUAL}, - {text, "Manual"}])), - _ = wxMenu:append(HelpMenu, wxMenuItem:new([{id, ?menuID_HELP_WARNING_OPTIONS}, - {text, "Warning Options"}])), - _ = wxMenu:append(HelpMenu, wxMenuItem:new([{id, ?menuID_HELP_ABOUT}, - {text, "About"}])), - HelpMenu. - -%% ---------------------------------------------------------------- -%% -%% Main GUI Loop -%% - --spec gui_loop(#gui_state{}) -> ?RET_NOTHING_SUSPICIOUS. - -gui_loop(#gui_state{backend_pid = BackendPid, doc_plt = DocPlt, - log = Log, frame = Frame, - warnings_box = WarningsBox} = State) -> - receive - #wx{event = #wxClose{}} -> - %% io:format("~p Closing window ~n", [self()]), - ok = wxFrame:setStatusText(Frame, "Closing...",[]), - wxWindow:destroy(Frame), - ?RET_NOTHING_SUSPICIOUS; - %% ----- Menu ----- - #wx{id = ?menuID_FILE_SAVE_LOG, obj = Frame, - event = #wxCommand{type = command_menu_selected}} -> - save_file(State, log), - gui_loop(State); - #wx{id=?menuID_FILE_SAVE_WARNINGS, obj=Frame, - event=#wxCommand{type=command_menu_selected}} -> - save_file(State, warnings), - gui_loop(State); - #wx{id=?menuID_FILE_QUIT, obj=Frame, - event=#wxCommand{type=command_menu_selected}} -> - case maybe_quit(State) of - true -> ?RET_NOTHING_SUSPICIOUS; - false -> gui_loop(State) - end; - #wx{id=?menuID_PLT_SHOW_CONTENTS, obj=Frame, - event=#wxCommand{type=command_menu_selected}} -> - show_doc_plt(State), - gui_loop(State); - #wx{id=?menuID_PLT_SEARCH_CONTENTS, obj=Frame, - event=#wxCommand{type=command_menu_selected}} -> - case dialyzer_plt:get_specs(DocPlt) of - "" -> error_sms(State, "No analysis has been made yet!\n"); - _ -> search_doc_plt(State) - end, - gui_loop(State); - #wx{id=?menuID_OPTIONS_INCLUDE_DIR, obj=Frame, - event=#wxCommand{type=command_menu_selected}} -> - NewOptions = include_dialog(State), - NewState = State#gui_state{options = NewOptions}, - gui_loop(NewState); - #wx{id=?menuID_OPTIONS_MACRO, obj=Frame, - event=#wxCommand{type=command_menu_selected}} -> - NewOptions = macro_dialog(State), - NewState = State#gui_state{options = NewOptions}, - gui_loop(NewState); - #wx{id=?menuID_HELP_MANUAL, obj=Frame, - event=#wxCommand{type=command_menu_selected}} -> - handle_help(State, "Dialyzer Manual", "manual.txt"), - gui_loop(State); - #wx{id=?menuID_HELP_WARNING_OPTIONS, obj=Frame, - event=#wxCommand{type=command_menu_selected}} -> - handle_help(State, "Dialyzer Warnings", "warnings.txt"), - gui_loop(State); - #wx{id=?menuID_HELP_ABOUT, obj=Frame, - event=#wxCommand{type=command_menu_selected}} -> - Message = " This is DIALYZER version " ++ ?VSN ++ " \n"++ - "DIALYZER is a DIscrepancy AnaLYZer for ERlang programs.\n\n"++ - " Copyright (C) Tobias Lindahl \n"++ - " Kostis Sagonas \n\n", - output_sms(State, "About Dialyzer", Message, info), - gui_loop(State); - %% ------ Buttons --------- - #wx{id=?Add_Button, - event=#wxCommand{type=command_button_clicked}} -> - State1 = handle_add_files(State), - gui_loop(State1); - #wx{id=?AddDir_Button, - event=#wxCommand{type=command_button_clicked}} -> - State1 = handle_add_dir(State), - gui_loop(State1); - #wx{id=?AddRec_Button, - event=#wxCommand{type=command_button_clicked}} -> - State1 = handle_add_rec(State), - gui_loop(State1); - #wx{id=?Del_Button, - event=#wxCommand{type=command_button_clicked}} -> - State1 = handle_file_delete(State), - gui_loop(State1); - #wx{id=?DelAll_Button, - event=#wxCommand{type=command_button_clicked}} -> - State1 = handle_file_delete_all(State), - gui_loop(State1); - #wx{id=?ClearLog_Button, - event=#wxCommand{type=command_button_clicked}} -> - wxTextCtrl:clear(State#gui_state.log), - gui_loop(State); - #wx{id=?ExplWarn_Button, - event=#wxCommand{type=command_button_clicked}} -> - handle_explanation(State), - gui_loop(State); - #wx{id=?ClearWarn_Button, - event=#wxCommand{type=command_button_clicked}} -> - wxListBox:clear(WarningsBox), - NewState = State#gui_state{rawWarnings = []}, - gui_loop(NewState); - #wx{id=?Run_Button, - event=#wxCommand{type=command_button_clicked}} -> - NewState = start_analysis(State), - gui_loop(NewState); - #wx{id=?Stop_Button, - event=#wxCommand{type=command_button_clicked}} -> - BackendPid ! {self(), stop}, - config_gui_stop(State), - update_editor(Log, "\n***** Analysis stopped ****\n"), - gui_loop(State); - %% ----- Analysis ----- - {BackendPid, ext_calls, ExtCalls} -> - ExtCalls1 = lists:usort([MFA || {MFA, _FileLocation} <- ExtCalls]), - Map = fun({M,F,A}) -> io_lib:format("\t~tp:~tp/~p",[M,F,A]) end, - ExtCallString = lists:join("\n", lists:map(Map, ExtCalls1)), - Msg = io_lib:format("The following functions are called " - "but type information about them is not available.\n" - "The analysis might get more precise by including " - "the modules containing these functions:\n\n~ts\n", - [ExtCallString]), - free_editor(State,"Analysis Done", Msg), - gui_loop(State); - {BackendPid, ext_types, ExtTypes} -> - ExtTypes1 = lists:usort([MFA || {MFA, _FileLocation} <- ExtTypes]), - Map = fun({M,F,A}) -> io_lib:format("\t~tp:~tp/~p",[M,F,A]) end, - ExtTypeString = lists:join("\n", lists:map(Map, ExtTypes1)), - Msg = io_lib:format("The following remote types are being used " - "but information about them is not available.\n" - "The analysis might get more precise by including " - "the modules containing these types and making sure " - "that they are exported:\n\n~ts\n", - [ExtTypeString]), - free_editor(State, "Analysis done", Msg), - gui_loop(State); - {BackendPid, log, LogMsg} -> - update_editor(Log, LogMsg), - gui_loop(State); - {BackendPid, warnings, Warns} -> - SortedWarns = lists:keysort(2, Warns), %% Sort on file/location - NewState = add_warnings(State, SortedWarns), - gui_loop(NewState); - {BackendPid, cserver, CServer, Plt} -> - Self = self(), - Fun = - fun() -> - dialyzer_explanation:expl_loop(Self, CServer, Plt) - end, - ExplanationPid = spawn_link(Fun), - gui_loop(State#gui_state{expl_pid = ExplanationPid}); - {BackendPid, done, _NewPlt, NewDocPlt} -> - message(State, "Analysis done"), - config_gui_stop(State), - dialyzer_plt:delete(State#gui_state.doc_plt), - gui_loop(State#gui_state{doc_plt = NewDocPlt}); - {'EXIT', BackendPid, {error, Reason}} -> - free_editor(State, ?DIALYZER_ERROR_TITLE, Reason), - config_gui_stop(State), - gui_loop(State); - {'EXIT', BackendPid, Reason} when Reason =/= 'normal' -> - free_editor(State, ?DIALYZER_ERROR_TITLE, io_lib:format("~tp", [Reason])), - config_gui_stop(State), - gui_loop(State) - end. - -maybe_quit(#gui_state{frame = Frame} = State) -> - case dialog(State, "Do you really want to quit?", ?DIALYZER_MESSAGE_TITLE) of - true -> - wxWindow:destroy(Frame), - true; - false -> - false - end. - -%% ------------ Yes/No Question ------------ -dialog(#gui_state{frame = Frame}, Message, Title) -> - MessageWin = wxMessageDialog:new(Frame, Message, [{caption, Title},{style, ?wxYES_NO bor ?wxICON_QUESTION bor ?wxNO_DEFAULT}]), - case wxDialog:showModal(MessageWin) of - ?wxID_YES -> - true; - ?wxID_NO -> - false; - ?wxID_CANCEL -> - false - end. - -search_doc_plt(#gui_state{gui = Wx} = State) -> - Dialog = wxFrame:new(Wx, ?SearchPltDialog, "Search the PLT",[{size,{400,100}},{style, ?wxSTAY_ON_TOP}]), - Size = {size,{120,30}}, - ModLabel = wxStaticText:new(Dialog, ?ModLabel, "Module"), - ModText = wxTextCtrl:new(Dialog, ?ModText,[Size]), - FunLabel = wxStaticText:new(Dialog, ?FunLabel, "Function"), - FunText = wxTextCtrl:new(Dialog, ?FunText,[Size]), - ArLabel = wxStaticText:new(Dialog, ?ArLabel, "Arity"), - ArText = wxTextCtrl:new(Dialog, ?ArText,[Size]), - SearchButton = wxButton:new(Dialog, ?SearchButton, [{label, "Search"}]), - wxButton:connect(SearchButton, command_button_clicked), - Cancel = wxButton:new(Dialog, ?Search_Cancel, [{label, "Cancel"}]), - wxButton:connect(Cancel, command_button_clicked), - - Layout = wxBoxSizer:new(?wxVERTICAL), - Top = wxBoxSizer:new(?wxHORIZONTAL), - ModLayout = wxBoxSizer:new(?wxVERTICAL), - FunLayout = wxBoxSizer:new(?wxVERTICAL), - ArLayout = wxBoxSizer:new(?wxVERTICAL), - Buttons = wxBoxSizer:new(?wxHORIZONTAL), - - _ = wxSizer:add(ModLayout, ModLabel, ?BorderOpt), - _ = wxSizer:add(ModLayout, ModText, ?BorderOpt), - _ = wxSizer:add(FunLayout, FunLabel, ?BorderOpt), - _ = wxSizer:add(FunLayout,FunText, ?BorderOpt), - _ = wxSizer:add(ArLayout, ArLabel, ?BorderOpt), - _ = wxSizer:add(ArLayout,ArText, ?BorderOpt), - _ = wxSizer:add(Buttons, SearchButton, ?BorderOpt), - _ = wxSizer:add(Buttons,Cancel, ?BorderOpt), - - _ = wxSizer:add(Top, ModLayout), - _ = wxSizer:add(Top, FunLayout), - _ = wxSizer:add(Top, ArLayout), - _ = wxSizer:add(Layout, Top,[{flag, ?wxALIGN_CENTER}]), - _ = wxSizer:add(Layout, Buttons,[{flag, ?wxALIGN_CENTER bor ?wxBOTTOM}]), - wxFrame:connect(Dialog, close_window), - wxWindow:setSizer(Dialog, Layout), - wxFrame:show(Dialog), - search_plt_loop(State, Dialog, ModText, FunText, ArText, SearchButton, Cancel). - -search_plt_loop(State= #gui_state{doc_plt = DocPlt, frame = Frame}, Win, ModText, FunText, ArText, Search, Cancel) -> - receive - #wx{id = ?Search_Cancel, - event = #wxCommand{type = command_button_clicked}} -> - wxWindow:destroy(Win); - #wx{id = ?SearchPltDialog, event = #wxClose{type = close_window}} -> - wxWindow:destroy(Win); - #wx{event = #wxClose{type = close_window}} -> - wxWindow:destroy(Win), - wxWindow:destroy(Frame); - #wx{id = ?SearchButton, - event = #wxCommand{type = command_button_clicked}} -> - M = format_search(wxTextCtrl:getValue(ModText)), - F = format_search(wxTextCtrl:getValue(FunText)), - A = format_search(wxTextCtrl:getValue(ArText)), - - if - (M =:= '_') orelse (F =:= '_') orelse (A =:= '_') -> - error_sms(State, "Please give:\n Module (atom)\n Function (atom)\n Arity (integer)\n"), - search_plt_loop(State, Win, ModText, FunText, ArText, Search, Cancel); - true -> - case dialyzer_plt:get_specs(DocPlt, M, F, A) of - none -> - error_sms(State, "No such function"), - search_plt_loop(State, Win, ModText, FunText, ArText, Search, Cancel); - NonEmptyString -> - wxWindow:destroy(Win), - free_editor(State, "Content of PLT", NonEmptyString) - end - end - end. - -format_search([]) -> - '_'; -format_search(String) -> - try list_to_integer(String) - catch error:_ -> list_to_atom(String) - end. - -show_doc_plt(#gui_state{doc_plt = DocPLT} = State) -> - case dialyzer_plt:get_specs(DocPLT) of - "" -> error_sms(State, "No analysis has been made yet!\n"); - NonEmptyString -> free_editor(State, "Content of PLT", NonEmptyString) - end. - -message(State, Message) -> - output_sms(State, ?DIALYZER_MESSAGE_TITLE, Message, info). - -error_sms(State, Message) -> - output_sms(State, ?DIALYZER_ERROR_TITLE, Message, error). - -output_sms(#gui_state{frame = Frame}, Title, Message, Type) -> - Style = case Type of - error -> ?wxOK bor ?wxICON_ERROR; - info -> ?wxOK bor ?wxICON_INFORMATION - end, - Options = [{caption, Title}, {style, Style}], - MessageWin = wxMessageDialog:new(Frame, Message, Options), - wxWindow:setSizeHints(MessageWin, {350,100}), - wxDialog:showModal(MessageWin), - ok. - -free_editor(#gui_state{gui = Wx, frame = Frame}, Title, Contents0) -> - Contents = lists:flatten(Contents0), - Tokens = string:lexemes(Contents, "\n"), - NofLines = length(Tokens), - LongestLine = lists:max([length(X) || X <- Tokens]), - Height0 = NofLines * 25 + 80, - Height = if Height0 > 500 -> 500; true -> Height0 end, - Width0 = LongestLine * 7 + 60, - Width = if Width0 > 800 -> 800; true -> Width0 end, - Size = {size,{Width, Height}}, - Win = wxFrame:new(Wx, ?Message, Title, [{size,{Width+4, Height+50}}]), - - Editor = wxTextCtrl:new(Win, ?Message_Info, - [Size, - {style, ?wxTE_MULTILINE - bor ?wxTE_READONLY bor ?wxVSCROLL bor ?wxEXPAND}]), - wxTextCtrl:appendText(Editor, Contents), - wxFrame:connect(Win, close_window), - Ok = wxButton:new(Win, ?Message_Ok, [{label, "OK"}]), - wxButton:connect(Ok, command_button_clicked), - Layout = wxBoxSizer:new(?wxVERTICAL), - - _ = wxSizer:add(Layout, Editor, ?BorderOpt), - Flag = ?wxALIGN_CENTER bor ?wxBOTTOM bor ?wxALL, - _ = wxSizer:add(Layout, Ok, [{flag, Flag}, ?Border]), - wxWindow:setSizer(Win, Layout), - wxWindow:show(Win), - show_info_loop(Frame, Win). - -show_info_loop(Frame, Win) -> - receive - #wx{id = ?Message_Ok, event = #wxCommand{type = command_button_clicked}} -> - wxWindow:destroy(Win); - #wx{id = ?Message, event = #wxClose{type = close_window}} -> - wxWindow:destroy(Win); - #wx{event = #wxClose{type = close_window}} -> - wxWindow:destroy(Frame) - end. - -handle_add_files(#gui_state{chosen_box = ChosenBox, file_box = FileBox, - files_to_analyze = FileList, - mode = Mode} = State) -> - case wxFilePickerCtrl:getPath(FileBox) of - "" -> - State; - File -> - NewFile = ordsets:new(), - NewFile1 = ordsets:add_element(File,NewFile), - Ext = - case wxRadioBox:getSelection(Mode) of - 0 -> ".beam"; - 1-> ".erl" - end, - State#gui_state{files_to_analyze = add_files(filter_mods(NewFile1, Ext), FileList, ChosenBox, Ext)} - end. - -handle_add_dir(#gui_state{chosen_box = ChosenBox, dir_entry = DirBox, - files_to_analyze = FileList, mode = Mode} = State) -> - case wxDirPickerCtrl:getPath(DirBox) of - "" -> - State; - Dir -> - NewDir = ordsets:new(), - NewDir1 = ordsets:add_element(Dir,NewDir), - Ext = case wxRadioBox:getSelection(Mode) of - 0 -> ".beam"; - 1-> ".erl" - end, - State#gui_state{files_to_analyze = add_files(filter_mods(NewDir1,Ext), FileList, ChosenBox, Ext)} - end. - -handle_add_rec(#gui_state{chosen_box = ChosenBox, dir_entry = DirBox, - files_to_analyze = FileList, mode = Mode} = State) -> - case wxDirPickerCtrl:getPath(DirBox) of - "" -> - State; - Dir -> - NewDir = ordsets:new(), - NewDir1 = ordsets:add_element(Dir,NewDir), - TargetDirs = ordsets:union(NewDir1, all_subdirs(NewDir1)), - Ext = case wxRadioBox:getSelection(Mode) of - 0 -> ".beam"; - 1 -> ".erl" - end, - State#gui_state{files_to_analyze = add_files(filter_mods(TargetDirs, Ext), FileList, ChosenBox, Ext)} - end. - -handle_file_delete(#gui_state{chosen_box = ChosenBox, - files_to_analyze = FileList} = State) -> - {_, List} = wxListBox:getSelections(ChosenBox), - Set = ordsets:from_list([wxControlWithItems:getString(ChosenBox, X) || X <- List]), - FileList1 = ordsets:subtract(FileList,Set), - lists:foreach(fun (X) -> wxListBox:delete(ChosenBox, X) end, List), - State#gui_state{files_to_analyze = FileList1}. - -handle_file_delete_all(#gui_state{chosen_box = ChosenBox} = State) -> - wxListBox:clear(ChosenBox), - State#gui_state{files_to_analyze = ordsets:new()}. - -add_files(File, FileList, ChosenBox, Ext) -> - Set = filter_mods(FileList, Ext), - Files = ordsets:union(File, Set), - Files1 = ordsets:to_list(Files), - wxListBox:set(ChosenBox, Files1), - Files. - -filter_mods(Mods, Extension) -> - Fun = fun(X) -> - filename:extension(X) =:= Extension - orelse - (filelib:is_dir(X) andalso - contains_files(X, Extension)) - end, - ordsets:filter(Fun, Mods). - -contains_files(Dir, Extension) -> - {ok, Files} = file:list_dir(Dir), - lists:any(fun(X) -> filename:extension(X) =:= Extension end, Files). - -all_subdirs(Dirs) -> - all_subdirs(Dirs, []). - -all_subdirs([Dir|T], Acc) -> - {ok, Files} = file:list_dir(Dir), - SubDirs = lists:zf(fun(F) -> - SubDir = filename:join(Dir, F), - case filelib:is_dir(SubDir) of - true -> {true, SubDir}; - false -> false - end - end, Files), - NewAcc = ordsets:union(ordsets:from_list(SubDirs), Acc), - all_subdirs(T ++ SubDirs, NewAcc); -all_subdirs([], Acc) -> - Acc. - -start_analysis(State) -> - Analysis = build_analysis_record(State), - case get_anal_files(State, Analysis#analysis.start_from) of - error -> - Msg = "You must choose one or more files or dirs\n" - "before starting the analysis!", - error_sms(State, Msg), - config_gui_stop(State), - State; - {ok, Files} -> - Msg = "\n========== Starting Analysis ==========\n\n", - update_editor(State#gui_state.log, Msg), - NewAnalysis = Analysis#analysis{files = Files}, - run_analysis(State, NewAnalysis) - end. - -build_analysis_record(#gui_state{mode = Mode, menu = Menu, options = Options, - init_plt = InitPlt0}) -> - StartFrom = - case wxRadioBox:getSelection(Mode) of - 0 -> byte_code; - 1 -> src_code - end, - InitPlt = - case wxMenu:isChecked(Menu#menu.plt, ?menuID_PLT_INIT_EMPTY) of - true -> dialyzer_plt:new(); - false -> InitPlt0 - end, - #analysis{defines = Options#options.defines, - include_dirs = Options#options.include_dirs, - plt = InitPlt, - start_from = StartFrom, - solvers = Options#options.solvers}. - -get_anal_files(#gui_state{files_to_analyze = Files}, StartFrom) -> - FilteredMods = - case StartFrom of - src_code -> filter_mods(Files, ".erl"); - byte_code -> filter_mods(Files, ".beam") - end, - FilteredDirs = [X || X <- Files, filelib:is_dir(X)], - case ordsets:union(FilteredMods, FilteredDirs) of - [] -> error; - Set -> {ok, Set} - end. - -run_analysis(State, Analysis) -> - config_gui_start(State), - Self = self(), - NewAnalysis = Analysis#analysis{doc_plt = dialyzer_plt:new()}, - LegalWarnings = find_legal_warnings(State), - Fun = - fun() -> - dialyzer_analysis_callgraph:start(Self, LegalWarnings, NewAnalysis) - end, - BackendPid = spawn_link(Fun), - State#gui_state{backend_pid = BackendPid}. - -find_legal_warnings(#gui_state{menu = #menu{warnings = MenuWarnings}, - wantedWarnings = Warnings }) -> - ordsets:from_list([Tag || {Tag, MenuItem} <- Warnings, - wxMenu:isChecked(MenuWarnings, MenuItem)]). - -update_editor(Editor, Msg) -> - wxTextCtrl:appendText(Editor,Msg). - -config_gui_stop(State) -> - wxWindow:disable(State#gui_state.stop), - wxWindow:enable(State#gui_state.run), - wxWindow:enable(State#gui_state.del_file), - wxWindow:enable(State#gui_state.clear_chosen), - wxWindow:enable(State#gui_state.add), - wxWindow:enable(State#gui_state.add_dir), - wxWindow:enable(State#gui_state.add_rec), - wxWindow:enable(State#gui_state.clear_warn), - wxWindow:enable(State#gui_state.clear_log), - Menu = State#gui_state.menu, - wxMenu:enable(Menu#menu.file,?menuID_FILE_SAVE_WARNINGS,true), - wxMenu:enable(Menu#menu.file,?menuID_FILE_SAVE_LOG,true), - wxMenu:enable(Menu#menu.options,?menuID_OPTIONS_MACRO,true), - wxMenu:enable(Menu#menu.options,?menuID_OPTIONS_INCLUDE_DIR,true), - wxMenu:enable(Menu#menu.plt,?menuID_PLT_INIT_EMPTY,true), - wxMenu:enable(Menu#menu.plt,?menuID_PLT_SHOW_CONTENTS,true), - wxMenu:enable(Menu#menu.plt,?menuID_PLT_SEARCH_CONTENTS,true), - wxRadioBox:enable(State#gui_state.mode). - -config_gui_start(State) -> - wxWindow:enable(State#gui_state.stop), - wxWindow:disable(State#gui_state.run), - wxWindow:disable(State#gui_state.del_file), - wxWindow:disable(State#gui_state.clear_chosen), - wxWindow:disable(State#gui_state.add), - wxWindow:disable(State#gui_state.add_dir), - wxWindow:disable(State#gui_state.add_rec), - wxWindow:disable(State#gui_state.clear_warn), - wxWindow:disable(State#gui_state.clear_log), - Menu = State#gui_state.menu, - wxMenu:enable(Menu#menu.file,?menuID_FILE_SAVE_WARNINGS, false), - wxMenu:enable(Menu#menu.file,?menuID_FILE_SAVE_LOG, false), - wxMenu:enable(Menu#menu.options,?menuID_OPTIONS_MACRO, false), - wxMenu:enable(Menu#menu.options,?menuID_OPTIONS_INCLUDE_DIR, false), - wxMenu:enable(Menu#menu.plt,?menuID_PLT_INIT_EMPTY, false), - wxMenu:enable(Menu#menu.plt,?menuID_PLT_SHOW_CONTENTS, false), - wxMenu:enable(Menu#menu.plt,?menuID_PLT_SEARCH_CONTENTS, false), - wxRadioBox:disable(State#gui_state.mode). - -save_file(#gui_state{frame = Frame, warnings_box = WBox, log = Log} = State, Type) -> - {Message, Box} = case Type of - warnings -> {"Save Warnings", WBox}; - log -> {"Save Log", Log} - end, - case wxTextCtrl:getValue(Box) of - "" -> error_sms(State,"There is nothing to save...\n"); - _ -> - DefaultPath = code:root_dir(), - FileDialog = wxFileDialog:new(Frame, - [{defaultDir, DefaultPath}, - {message, Message}, - {style,?wxFD_SAVE bor ?wxFD_OVERWRITE_PROMPT}]), - case wxFileDialog:showModal(FileDialog) of - ?wxID_OK -> - Path = wxFileDialog:getPath(FileDialog), - case wxTextCtrl:saveFile(Box,[{file,Path}]) of - true -> ok; - false -> error_sms(State, "Could not write to file:\n" ++ Path) - end; - ?wxID_CANCEL -> wxWindow:destroy(FileDialog); - _ -> error_sms(State, "Could not write to file:\n") - end - end. - -include_dialog(#gui_state{gui = Wx, frame = Frame, options = Options}) -> - Size = {size,{300,480}}, - Dialog = wxFrame:new(Wx, ?IncludeDir, "Include Directories",[Size]), - DirLabel = wxStaticText:new(Dialog, ?InclLabel, "Directory: "), - DefaultPath = code:root_dir(), - DirPicker = wxDirPickerCtrl:new(Dialog, ?InclPicker, - [{path, DefaultPath}, - {message, "Choose Directory to Include"}, - {style,?wxDIRP_DIR_MUST_EXIST bor ?wxDIRP_USE_TEXTCTRL}]), - Box = wxListBox:new(Dialog, ?InclBox, - [{size, {200,300}}, - {style, ?wxLB_EXTENDED bor ?wxLB_HSCROLL - bor ?wxLB_NEEDED_SB}]), - AddButton = wxButton:new(Dialog, ?InclAdd, [{label, "Add"}]), - DeleteButton = wxButton:new(Dialog, ?InclDel, [{label, "Delete"}]), - DeleteAllButton = wxButton:new(Dialog, ?InclDelAll, [{label, "Delete All"}]), - Ok = wxButton:new(Dialog, ?InclOk, [{label, "OK"}]), - Cancel = wxButton:new(Dialog, ?InclCancel, [{label, "Cancel"}]), - wxButton:connect(AddButton, command_button_clicked), - wxButton:connect(DeleteButton, command_button_clicked), - wxButton:connect(DeleteAllButton, command_button_clicked), - wxButton:connect(Ok, command_button_clicked), - wxButton:connect(Cancel, command_button_clicked), - Dirs = [io_lib:format("~ts", [X]) || X <- Options#options.include_dirs], - wxListBox:set(Box, Dirs), - Layout = wxBoxSizer:new(?wxVERTICAL), - Buttons = wxBoxSizer:new(?wxHORIZONTAL), - Buttons1 = wxBoxSizer:new(?wxHORIZONTAL), - - _ = wxSizer:add(Layout, DirLabel, [{flag, ?wxALIGN_CENTER_HORIZONTAL}]), - _ = wxSizer:add(Layout, DirPicker, [{flag, ?wxALIGN_CENTER_HORIZONTAL}]), - _ = wxSizer:add(Layout,AddButton, [{flag, ?wxALIGN_CENTER_HORIZONTAL bor ?wxALL}, ?Border]), - _ = wxSizer:add(Layout,Box, [{flag, ?wxALIGN_CENTER_HORIZONTAL bor ?wxALL}, ?Border]), - _ = wxSizer:add(Buttons, DeleteButton, ?BorderOpt), - _ = wxSizer:add(Buttons, DeleteAllButton, ?BorderOpt), - _ = wxSizer:add(Layout,Buttons, [{flag, ?wxALIGN_CENTER_HORIZONTAL}]), - _ = wxSizer:add(Buttons1, Ok, ?BorderOpt), - _ = wxSizer:add(Buttons1,Cancel, ?BorderOpt), - _ = wxSizer:add(Layout,Buttons1,[{flag, ?wxALIGN_RIGHT bor ?wxBOTTOM}]), - - wxFrame:connect(Dialog, close_window), - wxWindow:setSizer(Dialog, Layout), - wxFrame:show(Dialog), - include_loop(Options, Dialog, Box, DirPicker, Frame). - -include_loop(Options, Win, Box, DirPicker, Frame) -> - receive - #wx{id = ?InclCancel, - event = #wxCommand{type = command_button_clicked}} -> - wxWindow:destroy(Win), - Options; - #wx{id = ?IncludeDir, event = #wxClose{type = close_window}} -> - wxWindow:destroy(Win), - Options; - #wx{event = #wxClose{type = close_window}} -> - wxWindow:destroy(Win), - wxWindow:destroy(Frame); - #wx{id = ?InclOk, - event = #wxCommand{type = command_button_clicked}} -> - wxWindow:destroy(Win), - Options; - #wx{id = ?InclAdd, - event = #wxCommand{type = command_button_clicked}} -> - Dirs = Options#options.include_dirs, - NewDirs = - case wxDirPickerCtrl:getPath(DirPicker) of - "" -> Dirs; - Add -> [Add|Dirs] - end, - NewOptions = Options#options{include_dirs = NewDirs}, - wxListBox:set(Box, NewDirs), - include_loop(NewOptions, Win, Box, DirPicker, Frame); - #wx{id = ?InclDel, - event = #wxCommand{type = command_button_clicked}} -> - NewOptions = - case wxListBox:getSelections(Box) of - {0,_} -> Options; - {_,List} -> - DelList = [wxControlWithItems:getString(Box,X) || X <- List], - NewDirs = Options#options.include_dirs -- DelList, - lists:foreach(fun (X) -> wxListBox:delete(Box, X) end, List), - Options#options{include_dirs = NewDirs} - end, - include_loop(NewOptions, Win, Box, DirPicker, Frame); - #wx{id = ?InclDelAll, - event = #wxCommand{type = command_button_clicked}} -> - wxListBox:clear(Box), - NewOptions = Options#options{include_dirs = []}, - include_loop(NewOptions, Win, Box, DirPicker, Frame) - end. - -macro_dialog(#gui_state{gui = Wx, frame = Frame, options = Options}) -> - Size = {size,{300,480}}, - Size1 = {size,{120,30}}, - Dialog = wxFrame:new(Wx, ?MacroDir, "Macro Definitions",[Size]), - MacroLabel = wxStaticText:new(Dialog, ?MacroLabel, "Macro"), - TermLabel = wxStaticText:new(Dialog, ?TermLabel, "Term"), - MacroText = wxTextCtrl:new(Dialog, ?MacroText, [Size1]), - TermText = wxTextCtrl:new(Dialog, ?TermText, [Size1]), - Box = wxListBox:new(Dialog, ?MacroBox, - [{size, {250,300}}, - {style, ?wxLB_EXTENDED bor ?wxLB_HSCROLL - bor ?wxLB_NEEDED_SB}]), - - AddButton = wxButton:new(Dialog, ?MacroAdd, [{label, "Add"}]), - DeleteButton = wxButton:new(Dialog, ?MacroDel, [{label, "Delete"}]), - DeleteAllButton = wxButton:new(Dialog, ?MacroDelAll, [{label, "Delete All"}]), - Ok = wxButton:new(Dialog, ?MacroOk, [{label, "OK"}]), - Cancel = wxButton:new(Dialog, ?MacroCancel, [{label, "Cancel"}]), - wxButton:connect(AddButton, command_button_clicked), - wxButton:connect(DeleteButton, command_button_clicked), - wxButton:connect(DeleteAllButton, command_button_clicked), - wxButton:connect(Ok, command_button_clicked), - wxButton:connect(Cancel, command_button_clicked), - - Macros = [io_lib:format("~p = ~p", [X, Y]) - || {X,Y} <- Options#options.defines], - - wxListBox:set(Box, Macros), - Layout = wxBoxSizer:new(?wxVERTICAL), - Item = wxBoxSizer:new(?wxHORIZONTAL), - MacroItem = wxBoxSizer:new(?wxVERTICAL), - TermItem = wxBoxSizer:new(?wxVERTICAL), - Buttons = wxBoxSizer:new(?wxHORIZONTAL), - Buttons1 = wxBoxSizer:new(?wxHORIZONTAL), - - _ = wxSizer:add(MacroItem, MacroLabel, ?BorderOpt), - _ = wxSizer:add(MacroItem, MacroText, ?BorderOpt), - _ = wxSizer:add(TermItem, TermLabel, ?BorderOpt), - _ = wxSizer:add(TermItem, TermText, ?BorderOpt), - _ = wxSizer:add(Item, MacroItem), - _ = wxSizer:add(Item, TermItem), - _ = wxSizer:add(Layout, Item, [{flag, ?wxALIGN_CENTER_HORIZONTAL}]), - _ = wxSizer:add(Layout, AddButton, [{flag, ?wxALIGN_CENTER_HORIZONTAL bor ?wxALL}, ?Border]), - _ = wxSizer:add(Layout, Box, [{flag, ?wxALIGN_CENTER_HORIZONTAL bor ?wxALL}, ?Border]), - _ = wxSizer:add(Buttons, DeleteButton, ?BorderOpt), - _ = wxSizer:add(Buttons, DeleteAllButton, ?BorderOpt), - _ = wxSizer:add(Layout, Buttons, [{flag, ?wxALIGN_CENTER_HORIZONTAL}]), - _ = wxSizer:add(Buttons1, Ok, ?BorderOpt), - _ = wxSizer:add(Buttons1, Cancel, ?BorderOpt), - _ = wxSizer:add(Layout, Buttons1, [{flag, ?wxALIGN_RIGHT bor ?wxBOTTOM}]), - - wxFrame:connect(Dialog, close_window), - wxWindow:setSizer(Dialog, Layout), - wxFrame:show(Dialog), - macro_loop(Options, Dialog, Box, MacroText, TermText, Frame). - -macro_loop(Options, Win, Box, MacroText, TermText, Frame) -> - receive - #wx{id = ?MacroCancel, - event = #wxCommand{type = command_button_clicked}} -> - wxWindow:destroy(Win), - Options; - #wx{id = ?MacroDir, event = #wxClose{type = close_window}} -> - wxWindow:destroy(Win), - Options; - #wx{event = #wxClose{type = close_window}} -> - wxWindow:destroy(Win), - wxWindow:destroy(Frame); - #wx{id = ?MacroOk, - event = #wxCommand{type = command_button_clicked}} -> - wxWindow:destroy(Win), - Options; - #wx{id = ?MacroAdd, - event = #wxCommand{type = command_button_clicked}} -> - Defines = Options#options.defines, - NewDefines = - case wxTextCtrl:getValue(MacroText) of - "" -> Defines; - Macro -> - case wxTextCtrl:getValue(TermText) of - "" -> - orddict:store(list_to_atom(Macro), true, Defines); - String -> - orddict:store(list_to_atom(Macro), String, Defines) - end - end, - NewOptions = Options#options{defines = NewDefines}, - NewEntries = [io_lib:format("~p = ~p", [X, Y]) || {X, Y} <- NewDefines], - wxListBox:set(Box, NewEntries), - macro_loop(NewOptions, Win, Box, MacroText, TermText, Frame); - #wx{id = ?MacroDel, - event = #wxCommand{type = command_button_clicked}} -> - NewOptions = - case wxListBox:getSelections(Box) of - {0, _} -> Options; - {_, List} -> - Fun = - fun(X) -> - Val = wxControlWithItems:getString(Box,X), - [MacroName|_] = re:split(Val, " ", [{return, list}, unicode]), - list_to_atom(MacroName) - end, - Delete = [Fun(X) || X <- List], - lists:foreach(fun (X) -> wxListBox:delete(Box, X) end, List), - Defines = Options#options.defines, - NewDefines = lists:foldl(fun(X, Acc) -> - orddict:erase(X, Acc) - end, - Defines, Delete), - Options#options{defines = NewDefines} - end, - macro_loop(NewOptions, Win, Box, MacroText, TermText, Frame); - #wx{id = ?MacroDelAll, - event = #wxCommand{type = command_button_clicked}} -> - wxListBox:clear(Box), - NewOptions = Options#options{defines = []}, - macro_loop(NewOptions, Win, Box, MacroText, TermText, Frame) - end. - -handle_help(State, Title, Txt) -> - FileName = filename:join([code:lib_dir(dialyzer), "doc", Txt]), - case file:open(FileName, [read]) of - {error, Reason} -> - error_sms(State, - io_lib:format("Could not find doc/~ts file!\n\n ~tp", - [Txt, Reason])); - {ok, _Handle} -> - case file:read_file(FileName) of - {error, Reason} -> - error_sms(State, - io_lib:format("Could not read doc/~ts file!\n\n ~tp", - [Txt, Reason])); - {ok, Binary} -> - Contents = binary_to_list(Binary), - free_editor(State, Title, Contents) - end - end. - -add_warnings(#gui_state{warnings_box = WarnBox, - rawWarnings = RawWarns} = State, Warnings) -> - NewRawWarns = RawWarns ++ Warnings, - %% The indentation cannot be turned off. - %% The column numbers of locations are always displayed. - WarnList = [string:trim(dialyzer:format_warning(W), trailing) || - W <- NewRawWarns], - wxListBox:set(WarnBox, WarnList), - State#gui_state{rawWarnings = NewRawWarns}. - -handle_explanation(#gui_state{rawWarnings = RawWarns, - warnings_box = WarnBox, - expl_pid = ExplPid} = State) -> - case wxListBox:isEmpty(WarnBox) of - true -> - error_sms(State, "\nThere are no warnings.\nRun the dialyzer first."); - false -> - case wxListBox:getSelections(WarnBox)of - {0, []} -> - error_sms(State,"\nYou must choose a warning to be explained\n"); - {_, [WarnNumber]} -> - Warn = lists:nth(WarnNumber+1,RawWarns), - Self = self(), - ExplPid ! {Self, warning, Warn}, - explanation_loop(State) - end - end. - -explanation_loop(#gui_state{expl_pid = ExplPid} = State) -> - receive - {ExplPid, explanation, Explanation} -> - show_explanation(State, Explanation); - _ -> io:format("Unknown message\n"), - explanation_loop(State) - end. - -show_explanation(#gui_state{gui = Wx} = State, Explanation) -> - case Explanation of - none -> - output_sms(State, ?DIALYZER_MESSAGE_TITLE, - "There is not any explanation for this error!\n", info); - Expl -> - ExplString = format_explanation(Expl), - Size = {size,{700, 300}}, - Win = wxFrame:new(Wx, ?ExplWin, "Dialyzer Explanation", [{size,{740, 350}}]), - - Editor = wxTextCtrl:new(Win, ?ExplText, - [Size, - {style, ?wxTE_MULTILINE - bor ?wxTE_READONLY bor ?wxVSCROLL bor ?wxEXPAND}]), - wxTextCtrl:appendText(Editor, ExplString), - wxFrame:connect(Win, close_window), - ExplButton = wxButton:new(Win, ?ExplButton, [{label, "Further Explain"}]), - wxButton:connect(ExplButton, command_button_clicked), - Ok = wxButton:new(Win, ?ExplOk, [{label, "OK"}]), - wxButton:connect(Ok, command_button_clicked), - Layout = wxBoxSizer:new(?wxVERTICAL), - Buttons = wxBoxSizer:new(?wxHORIZONTAL), - _ = wxSizer:add(Buttons, ExplButton, ?BorderOpt), - _ = wxSizer:add(Buttons, Ok, ?BorderOpt), - _ = wxSizer:add(Layout, Editor, [{flag, ?wxALIGN_CENTER_HORIZONTAL bor ?wxALL}, ?Border]), - _ = wxSizer:add(Layout, Buttons,[{flag, ?wxALIGN_CENTER_HORIZONTAL}]), - wxWindow:setSizer(Win, Layout), - wxWindow:show(Win), - NewState = State#gui_state{explanation_box = Editor}, - show_explanation_loop(NewState, Win, Explanation) - end. - -show_explanation_loop(#gui_state{frame = Frame, expl_pid = ExplPid} = State, Win, Explanation) -> - receive - {ExplPid, none, _} -> - output_sms(State, ?DIALYZER_MESSAGE_TITLE, - "There is not any other explanation for this error!\n", info), - show_explanation_loop(State, Win, Explanation); - {ExplPid, further, NewExplanation} -> - update_explanation(State, NewExplanation), - show_explanation_loop(State, Win, NewExplanation); - #wx{id = ?ExplButton, event = #wxCommand{type = command_button_clicked}} -> - ExplPid ! {self(), further, Explanation}, - show_explanation_loop(State, Win, Explanation); - #wx{id = ?ExplOk, event = #wxCommand{type = command_button_clicked}} -> - wxWindow:destroy(Win); - #wx{id = ?ExplWin, event = #wxClose{type = close_window}} -> - wxWindow:destroy(Win); - #wx{event = #wxClose{type = close_window}} -> - wxWindow:destroy(Frame) - end. - -update_explanation(#gui_state{explanation_box = Box}, Explanation) -> - ExplString = format_explanation(Explanation), - wxTextCtrl:appendText(Box, "\n --------------------------- \n"), - wxTextCtrl:appendText(Box, ExplString). - -format_explanation({function_return, {M, F, A}, NewList}) -> - io_lib:format("The function ~w:~tw/~w returns ~ts\n", - [M, F, A, erl_types:t_to_string(NewList)]); -format_explanation(Explanation) -> - io_lib:format("~p\n", [Explanation]). diff --git a/lib/dialyzer/src/dialyzer_gui_wx.hrl b/lib/dialyzer/src/dialyzer_gui_wx.hrl deleted file mode 100644 index 0a6ca9e8b21d..000000000000 --- a/lib/dialyzer/src/dialyzer_gui_wx.hrl +++ /dev/null @@ -1,123 +0,0 @@ -%% 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. - --include_lib("wx/include/wx.hrl"). - - --define(TEXTSIZE, 9). - --define(Border, {border, 2}). --define(BorderOpt,[{flag,?wxALL}, ?Border]). - --define(menuID_FILE_QUIT, 102). --define(menuID_FILE_SAVE_WARNINGS, 100). --define(menuID_FILE_SAVE_LOG, 101). - --define(menuID_WARN_MATCH_FAILURES, 200). --define(menuID_WARN_FAIL_FUN_CALLS, 201). --define(menuID_WARN_BAD_FUN, 202). --define(menuID_WARN_OPAQUE, 203). --define(menuID_WARN_LIST_CONSTR, 204). --define(menuID_WARN_UNUSED_FUN, 205). --define(menuID_WARN_ERROR_HANDLING_FUN, 206). --define(menuID_WARN_NO_RETURN_FUN, 207). --define(menuID_WARN_UNEXPORTED_FUN, 208). --define(menuID_WARN_WRONG_CONTRACTS, 209). --define(menuID_WARN_CONTRACT_SYNTAX, 210). - --define(menuID_PLT_INIT_EMPTY, 300). --define(menuID_PLT_SHOW_CONTENTS, 301). --define(menuID_PLT_SEARCH_CONTENTS, 302). - --define(menuID_OPTIONS_MACRO, 400). --define(menuID_OPTIONS_INCLUDE_DIR, 401). - --define(menuID_HELP_MANUAL, 500). --define(menuID_HELP_WARNING_OPTIONS, 501). --define(menuID_HELP_ABOUT, 499). - --define(LABEL1,502). --define(LABEL2,503). --define(LABEL3,504). --define(LABEL4,505). --define(LABEL5,505). --define(LABEL6,506). --define(LABEL7,507). --define(LABEL8,508). --define(LABEL9,509). - --define(ChosenBox,510). --define(LogBox,511). --define(FilePicker,512). --define(DirPicker,513). --define(WarningsBox,521). - --define(Del_Button,514). --define(DelAll_Button,515). --define(ClearLog_Button,516). --define(Add_Button,517). --define(AddDir_Button,532). --define(AddRec_Button,518). --define(ClearWarn_Button,519). --define(Run_Button,520). --define(Stop_Button,522). --define(ExplWarn_Button,523). --define(RADIOBOX, 524). - --define(Dialog, 525). --define(Dialog_Ok, 526). --define(Dialog_Cancel, 527). --define(Dialog_Mes, 528). - --define(MESSAGE, 529). --define(Message_Info, 530). --define(Message_Ok, 531). - - --define(Message, 534). --define(SaveWarn, 533). --define(SearchPltDialog, 535). --define(ModLabel, 536). --define(FunLabel, 537). --define(ArLabel, 538). --define(ModText, 539). --define(FunText, 540). --define(ArText, 541). --define(SearchButton, 542). --define(Search_Cancel, 543). - --define(IncludeDir, 544). --define(InclLabel, 545). --define(InclPicker, 546). --define(InclBox, 547). --define(InclAdd, 548). --define(InclDel, 549). --define(InclDelAll, 550). --define(InclOk, 551). --define(InclCancel, 552). - --define(MacroDir, 553). --define(MacroLabel, 554). --define(MacroText, 555). --define(TermLabel, 556). --define(TermText, 557). --define(MacroBox, 558). --define(MacroAdd, 559). --define(MacroDel, 560). --define(MacroDelAll, 561). --define(MacroOk, 562). --define(MacroCancel, 563). - --define(ExplWin, 564). --define(ExplText, 565). --define(ExplButton, 566). --define(ExplOk, 567). diff --git a/lib/dialyzer/src/dialyzer_plt.erl b/lib/dialyzer/src/dialyzer_plt.erl index f58c84da25ff..5f75dc4146da 100644 --- a/lib/dialyzer/src/dialyzer_plt.erl +++ b/lib/dialyzer/src/dialyzer_plt.erl @@ -41,8 +41,6 @@ lookup_module/2, merge_plts/1, new/0, - get_specs/1, - get_specs/4, delete/1, get_all_types/1, get_all_contracts/1, @@ -237,51 +235,6 @@ delete(#plt{info = ETSInfo, true = ets:delete(ETSExpTypes), ok. -%%--------------------------------------------------------------------------- -%% Edoc - --spec get_specs(plt()) -> string(). - -get_specs(#plt{info = Info}) -> - %% TODO: Should print contracts as well. - L = lists:sort([{MFA, Val} || - {{_,_,_} = MFA, Val} <- table_to_list(Info)]), - lists:flatten(create_specs(L, [])). - --spec get_specs(plt(), atom(), atom(), arity_patt()) -> 'none' | string(). - -get_specs(#plt{info = Info}, M, F, A) when is_atom(M), is_atom(F) -> - MFA = {M, F, A}, - case ets_table_lookup(Info, MFA) of - none -> none; - {value, Val} -> lists:flatten(create_specs([{MFA, Val}], [])) - end. - -create_specs([{{M, F, _A}, {Ret, Args}}|Left], M) -> - [io_lib:format("-spec ~tw(~ts) -> ~ts\n", - [F, expand_args(Args), erl_types:t_to_string(Ret)]) - | create_specs(Left, M)]; -create_specs(List = [{{M, _F, _A}, {_Ret, _Args}}| _], _M) -> - [io_lib:format("\n\n%% ------- Module: ~w -------\n\n", [M]) - | create_specs(List, M)]; -create_specs([], _) -> - []. - -expand_args([]) -> - []; -expand_args([ArgType]) -> - case erl_types:t_is_any(ArgType) of - true -> ["_"]; - false -> [erl_types:t_to_string(ArgType)] - end; -expand_args([ArgType|Left]) -> - [case erl_types:t_is_any(ArgType) of - true -> "_"; - false -> erl_types:t_to_string(ArgType) - end ++ - ","|expand_args(Left)]. - - %%--------------------------------------------------------------------------- %% Ets table @@ -371,9 +324,8 @@ tab_merge('$end_of_table', T1, T2) -> tab_merge(Key, T1, T2) end; tab_merge(K1, T1, T2) -> - Vs = ets:lookup(T1, K1), NextK1 = ets:next(T1, K1), - true = ets:delete(T1, K1), + Vs = ets:take(T1, K1), true = ets:insert(T2, Vs), tab_merge(NextK1, T1, T2). diff --git a/lib/dialyzer/src/dialyzer_utils.erl b/lib/dialyzer/src/dialyzer_utils.erl index b920d22b309b..0a44124e43d2 100644 --- a/lib/dialyzer/src/dialyzer_utils.erl +++ b/lib/dialyzer/src/dialyzer_utils.erl @@ -581,6 +581,13 @@ massage_forms([H | T], Defs) -> massage_forms([], _Defs) -> []. +massage_type({type, Loc, 'fun', + [{type, ArgsLoc, product, ArgTypes}, Ret0]}, + Defs) -> + %% We must make sure that we keep the built-in `product` type here. + Args = {type, ArgsLoc, product, massage_type_list(ArgTypes, Defs)}, + Ret = massage_type(Ret0, Defs), + {type, Loc, 'fun', [Args, Ret]}; massage_type({type, Loc, Name, Args0}, Defs) when is_list(Args0) -> case sets:is_element({Name, length(Args0)}, Defs) of true -> @@ -1179,9 +1186,8 @@ ets_take('$end_of_table', T, F, A) -> Key -> ets_take(Key, T, F, A) end; ets_take(Key, T, F, A) -> - Vs = ets:lookup(T, Key), Key1 = ets:next(T, Key), - true = ets:delete(T, Key), + Vs = ets:take(T, Key), ets_take(Key1, T, F, F(Vs, A)). -spec parallelism() -> integer(). diff --git a/lib/dialyzer/test/small_SUITE_data/results/bs_segments b/lib/dialyzer/test/small_SUITE_data/results/bs_segments index 0c3c9a071728..83436d91b639 100644 --- a/lib/dialyzer/test/small_SUITE_data/results/bs_segments +++ b/lib/dialyzer/test/small_SUITE_data/results/bs_segments @@ -1,3 +1,5 @@ +bs_segments.erl:10:1: Function f/0 has no local return +bs_segments.erl:11:10: Binary construction will fail since the size field 'undefined' in segment 0 has type 'undefined' bs_segments.erl:6:1: Function t/1 has no local return bs_segments.erl:6:1: The pattern <<_>> can never match the type any() diff --git a/lib/dialyzer/test/small_SUITE_data/src/bs_segments.erl b/lib/dialyzer/test/small_SUITE_data/src/bs_segments.erl index b1b8a2e866a6..95d9d1263b0b 100644 --- a/lib/dialyzer/test/small_SUITE_data/src/bs_segments.erl +++ b/lib/dialyzer/test/small_SUITE_data/src/bs_segments.erl @@ -1,7 +1,11 @@ -module(bs_segments). --export([t/1]). +-export([t/1, f/0]). %% GH-7138: bogus segment sizes crashed the analysis. t(<<_:undefined>>) -> ok. + +%% GH-7325: variant of the above. +f() -> + <<0:(undefined)>>. diff --git a/lib/dialyzer/test/small_SUITE_data/src/test_product_app.erl b/lib/dialyzer/test/small_SUITE_data/src/test_product_app.erl new file mode 100644 index 000000000000..2115c62a1b38 --- /dev/null +++ b/lib/dialyzer/test/small_SUITE_data/src/test_product_app.erl @@ -0,0 +1,13 @@ +-module(test_product_app). +-export([zero/0, one/1]). + +-type mfa() :: integer(). +-type product() :: binary(). + +-spec zero() -> any(). +zero() -> + ok. + +-spec one(mfa()) -> mfa(). +one(I) when is_integer(I) -> + I * 42. diff --git a/lib/edoc/test/edoc_SUITE.erl b/lib/edoc/test/edoc_SUITE.erl index d09e9a2ecb28..5fb81f74bd8e 100644 --- a/lib/edoc/test/edoc_SUITE.erl +++ b/lib/edoc/test/edoc_SUITE.erl @@ -25,7 +25,7 @@ %% Test cases -export([app/1,appup/1,build_std/1,build_map_module/1,otp_12008/1, build_app/1, otp_14285/1, infer_module_app_test/1, - module_with_feature/1]). + module_with_feature/1, module_with_maybe/1]). suite() -> [{ct_hooks,[ts_install_cth]}]. @@ -170,3 +170,13 @@ module_with_feature(Config) -> PreprocessOpts = [{preprocess, true}, {dir, PrivDir}], ok = edoc:files([Source], PreprocessOpts), ok. + +module_with_maybe(Config) -> + DataDir = ?config(data_dir, Config), + PrivDir = ?config(priv_dir, Config), + Source = filename:join(DataDir, "module_with_maybe.erl"), + DodgerOpts = [{dir, PrivDir}], + ok = edoc:files([Source], DodgerOpts), + PreprocessOpts = [{preprocess, true}, {dir, PrivDir}], + ok = edoc:files([Source], PreprocessOpts), + ok. diff --git a/lib/eldap/test/Makefile b/lib/eldap/test/Makefile index 61cad55c6436..3fe6095c9ac0 100644 --- a/lib/eldap/test/Makefile +++ b/lib/eldap/test/Makefile @@ -30,6 +30,7 @@ INCLUDES= -I. -I ../include MODULES= \ eldap_basic_SUITE \ + eldap_collect_labmachine_info_SUITE \ make_certs diff --git a/lib/eldap/test/eldap_basic_SUITE.erl b/lib/eldap/test/eldap_basic_SUITE.erl index 881b46ec4138..26b681186734 100644 --- a/lib/eldap/test/eldap_basic_SUITE.erl +++ b/lib/eldap/test/eldap_basic_SUITE.erl @@ -189,9 +189,38 @@ init_per_suite(Config) -> false -> undefined end, - [{ssl_available, SSL_available}, - {ldap_server, LDAP_server}, - {ldaps_server, LDAPS_server} | Config]. + log_ldap_servers([{ssl_available, SSL_available}, + {ldap_server, LDAP_server}, + {ldaps_server, LDAPS_server} | Config]). + + +log_ldap_servers(Config) -> + case true == (catch + lists:member({save_eldap_data,3}, + eldap_collect_labmachine_info_SUITE:module_info(exports))) + of + true -> + HostName = + case inet:gethostname() of + {ok,Name} -> string:to_lower(Name); + _ -> "undefined" + end, + Entry = + [{hostname, HostName}, + {type, host}, + {date, date()}, + {time, time()}, + {os_type, os:type()}, + {os_version, os:version()}, + {ldap_server, proplists:get_value(ldap_server, Config)}, + {ldaps_server, proplists:get_value(ldaps_server, Config)} + ], + eldap_collect_labmachine_info_SUITE:save_eldap_data(HostName, Entry, Config), + Config; + false -> + Config + end. + end_per_suite(_Config) -> try ssl:stop() diff --git a/lib/eldap/test/eldap_collect_labmachine_info_SUITE.erl b/lib/eldap/test/eldap_collect_labmachine_info_SUITE.erl new file mode 100644 index 000000000000..f34f330e394f --- /dev/null +++ b/lib/eldap/test/eldap_collect_labmachine_info_SUITE.erl @@ -0,0 +1,197 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2008-2022. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +%% + +-module(eldap_collect_labmachine_info_SUITE). + +-include_lib("common_test/include/ct.hrl"). + +-export([save_eldap_data/3]). + +-export([ + suite/0, + all/0, + init_per_suite/1, + end_per_suite/1 + ]). + +-define(DAYS_TO_KEEP, 5). + +save_eldap_data(Host, Data, Config0) -> + case init_data_transfer(Host, Config0) of + Config1 when is_list(Config1) -> + Config = + case Data of + [[_|_]|_] -> + lists:foldl(fun save_data/2, Config1, Data); + _ -> + save_data(Data, Config1) + end, + end_data_transfer(Config); + + Skip -> Skip + end. + +%%-------------------------------------------------------------------- +%% Common Test interface functions ----------------------------------- +%%-------------------------------------------------------------------- + +suite() -> [{timetrap,{seconds,40}}]. + +all() -> []. + +%%-------------------------------------------------------------------- +init_per_suite(Config) -> Config. + +end_per_suite(Config) -> Config. + +%%%================================================================ +priv_dir(Config) -> proplists:get_value(priv_dir, Config). + +priv_file(Config, Name) -> filename:join(priv_dir(Config), Name). + + +remove_drive_letter([_DriveLetter,$:|FileName]) -> FileName; +remove_drive_letter(FileName) -> FileName. + + +usable_file(FileName) -> + case file:open(FileName, [append]) of + {ok,D} -> + ok == file:close(D); + _ -> + false + end. + +%%%---------------------------------------------------------------- +wsl_ify(Cmnd) -> + case os:getenv("WSLENV") of + false -> Cmnd; + _ -> "wsl " ++ Cmnd + end. + +%%%================================================================ +save_data(NewEntry, Config) -> + LocalFile = proplists:get_value(local_file, Config), + + YoungEntries = + case file:consult(LocalFile) of + {ok, Consulted} when is_list(Consulted) -> + lists:filter(fun(E) -> is_young(E) end, + Consulted); + Other -> + ct:log("Strange result of consult:~n~p", [Other]), + ct:fail("Consult failed") + end, + + {ok,D} = file:open(LocalFile, [write]), + lists:foreach(fun(E) -> + io:format(D, '~p.~n', [E]) + end, lists:usort([NewEntry|YoungEntries])), + file:close(D), + Config. + + +is_young(E) -> + try + Days = days_ago(proplists:get_value(date, E)), + Days >= 0 andalso Days =< ?DAYS_TO_KEEP + catch + _:_ -> false % No or illegal date property + end. + + +days_ago(D={_,_,_})-> + calendar:date_to_gregorian_days(date()) - calendar:date_to_gregorian_days(D). + +%%%---------------------------------------------------------------- +init_data_transfer(Host, Config) -> + case ct:get_config(collect_host_info) of + undefined -> + {skip, "No 'collect_host_info' path configured"}; + + Root when is_list(Root) -> + RemoteFile = filename:join([Root, "eldap_info", Host++".data"]), + init_data_transfer_cont(Host, Config, RemoteFile) + end. + +init_data_transfer_cont(Host, Config, RemoteFile) -> + LocalFile = priv_file(Config, Host++".eldapdata"), + + case usable_file(LocalFile) of + false -> ct:fail(no_local_file); + true -> ok + end, + + TransferType = + case {path_type(RemoteFile), os:type()} of + {local, {unix,_}} -> + case usable_file(RemoteFile) of + true -> filesystem; + false -> ssh + end; + _ -> + ssh + end, + + case TransferType of + filesystem -> + %% 'filesystem' was concluded since it was possible + %% to open the file in append mode + {ok,B} = file:read_file(RemoteFile), + ok = file:write_file(LocalFile, B); + ssh -> + SCP = wsl_ify("scp "++RemoteFile++" "++remove_drive_letter(LocalFile)), + ct:pal("Run command: \"~s\"", [SCP]), + Result = os:cmd(SCP), + ct:pal("Command result: \"~s\"",[Result]) + end, + + [{transfer_type, TransferType}, + {local_file,LocalFile}, + {remote_file,RemoteFile} | Config]. + +%%%---------------------------------------------------------------- +end_data_transfer(Config) -> + LocalFile = proplists:get_value(local_file,Config), + RemoteFile = proplists:get_value(remote_file,Config), + case proplists:get_value(transfer_type,Config) of + filesystem -> + {ok,B} = file:read_file(LocalFile), + ok = file:write_file(RemoteFile, B); + ssh -> + SCP = wsl_ify("scp "++remove_drive_letter(LocalFile)++" "++RemoteFile), + ct:pal("Run command: \"~s\"", [SCP]), + Result = os:cmd(SCP), + ct:pal("Command result: \"~s\"",[Result]) + end, + file:delete(LocalFile). + +path_type(Path) -> + case string:lexemes(Path, ":") of + [_] -> + local; + [Host | _] -> + case string:find(Host, "/") of + nomatch -> remote; + _ -> local + end + end. diff --git a/lib/erl_docgen/priv/bin/validate_links.escript b/lib/erl_docgen/priv/bin/validate_links.escript index 2373a08b2980..8895608416e1 100755 --- a/lib/erl_docgen/priv/bin/validate_links.escript +++ b/lib/erl_docgen/priv/bin/validate_links.escript @@ -256,13 +256,18 @@ validate_link(Filename, "seemfa", Line, Link, CachedFiles) -> end; validate_link(Filename, LinkType = "seetype", Line, Link, CachedFiles) -> {App,Mod,Type} = ParsedLink = parse_link(Filename, maps:get(m2a,CachedFiles), Link), - Types = maps:get(datatypes,maps:get({App,Mod},CachedFiles)), - case lists:member(Type, Types) of - false -> + case maps:find({App,Mod},CachedFiles) of + error -> fail(Line, "Could not find documentation for ~s when " "resolving link",[App ++ ":" ++ Mod ++ "#" ++ Type]); - _ -> - validate_type(Line,LinkType,read_link(Line, ParsedLink, CachedFiles)) + {ok, AppData} -> + case lists:member(Type, maps:get(datatypes,AppData)) of + false -> + fail(Line, "Could not find documentation for ~s when " + "resolving link",[App ++ ":" ++ Mod ++ "#" ++ Type]); + _ -> + validate_type(Line,LinkType,read_link(Line, ParsedLink, CachedFiles)) + end end; validate_link({"jinterface","jinterface_users_guide"},"seefile",_, _, _) -> %% Skip links to java documentation diff --git a/lib/erl_interface/doc/src/ei_users_guide.xml b/lib/erl_interface/doc/src/ei_users_guide.xml index 02279945716d..78f1967f2100 100644 --- a/lib/erl_interface/doc/src/ei_users_guide.xml +++ b/lib/erl_interface/doc/src/ei_users_guide.xml @@ -347,7 +347,7 @@ ei_x_encode_tuple_header(&buf, 2); ei_x_encode_pid(&buf, ei_self(ec)); ei_x_encode_atom(&buf, "Hello world"); -ei_reg_send(&ec,fd,"my_server",buf,buf.index);]]> +ei_reg_send(&ec, fd, "my_server", buf.buff, buf.index);]]>

The first element of the tuple that is sent is your own pid. This enables my_server to reply. diff --git a/lib/inets/doc/src/http_server.xml b/lib/inets/doc/src/http_server.xml index 58671eaee64b..bc7507f703c8 100644 --- a/lib/inets/doc/src/http_server.xml +++ b/lib/inets/doc/src/http_server.xml @@ -117,8 +117,7 @@ number that was picked:

- 2 > {ok, Pid} = inets:start(httpd, [{port, 0}, - {server_name,"httpd_test"}, {server_root,"/tmp"}, + 2 > {ok, Pid} = inets:start(httpd, [{port, 0}, {server_root,"/tmp"}, {document_root,"/tmp/htdocs"}, {bind_address, "localhost"}]). {ok, 0.79.0} @@ -126,7 +125,7 @@ 3 > httpd:info(Pid). [{mime_types,[{"html","text/html"},{"htm","text/html"}]}, - {server_name,"httpd_test"}, + {server_name,"machine.local"}, {bind_address, {127,0,0,1}}, {server_root,"/tmp"}, {port,59408}, @@ -137,8 +136,7 @@

4 > httpd:reload_config([{port, 59408}, - {server_name,"httpd_test"}, {server_root,"/tmp/www_test"}, - {document_root,"/tmp/www_test/htdocs"}, + {server_root,"/tmp/www_test"}, {document_root,"/tmp/www_test/htdocs"}, {bind_address, "localhost"}], non_disturbing). ok. diff --git a/lib/inets/doc/src/httpd.xml b/lib/inets/doc/src/httpd.xml index 118d38ba2a85..7afdab742f60 100644 --- a/lib/inets/doc/src/httpd.xml +++ b/lib/inets/doc/src/httpd.xml @@ -101,11 +101,6 @@ determine which port was picked.

- {server_name, string()} - -

The name of your server, normally a fully qualified domain name.

-
- {server_root, path()}

Defines the home directory of the server, where log files, and so on, @@ -128,6 +123,12 @@

Default is any

+ {server_name, string()} + +

The name of your server, normally a fully qualified domain name.

+

If not given, this defaults to net_adm:localhost().

+
+ {profile, atom()}

Used together with bind_address @@ -280,7 +281,13 @@ 1590. File suffixes are mapped to MIME types before file delivery. The mapping between file suffixes and MIME types can be specified in the property list.

-

Default is [{"html","text/html"},{"htm","text/html"}].

+

Mime types can also be read from a file. The file should contain + lines in the form MediaType [Extensions...], such as + text/html html htm. To configure this, specify + the path to it, such as {mime_types, "/etc/mime.types"}.

+

If unset, conf/mime.types under server_root + will be used if it exists, otherwise, the default is + [{"html","text/html"},{"htm","text/html"}].

{mime_type, string()} diff --git a/lib/inets/doc/src/mod_alias.xml b/lib/inets/doc/src/mod_alias.xml index b76c110bb109..6654684eaa26 100644 --- a/lib/inets/doc/src/mod_alias.xml +++ b/lib/inets/doc/src/mod_alias.xml @@ -75,7 +75,7 @@

path/3 returns the file Path in the RequestURI (see - RFC 1945). + RFC 1945). If the interaction data {real_name,{Path,AfterPath}} has been exported by mod_alias, Path is returned. If no interaction data has been diff --git a/lib/inets/doc/src/mod_esi.xml b/lib/inets/doc/src/mod_esi.xml index 9bdaac7a955e..5f992303e9da 100644 --- a/lib/inets/doc/src/mod_esi.xml +++ b/lib/inets/doc/src/mod_esi.xml @@ -150,7 +150,14 @@ that is, "\r\n\r\n", the server assumes that no HTTP header fields will be generated.

-

Env environment data of the request see description above.

+

To set the response status code, the special status response + header can be sent. For instance, to acknowledge creation of a resource + and annotate the response content type with JSON, one could respond with + the following headers:

+ + "status: 201 Created\r\n content-type: application/json\r\n\r\n" + +

Env environment data of the request, see description above.

Input is query data of a GET request or the body of a PUT or POST request. The default behavior (legacy reasons) diff --git a/lib/inets/doc/src/notes.xml b/lib/inets/doc/src/notes.xml index cb13a84b3703..81e7b91c5f87 100644 --- a/lib/inets/doc/src/notes.xml +++ b/lib/inets/doc/src/notes.xml @@ -33,7 +33,24 @@ notes.xml -

Inets 9.0 +
Inets 9.0.1 + +
Fixed Bugs and Malfunctions + + +

+ Do not make the default ssl options by calling + httpc:ssl_verify_host_options(true) if ssl options + are supplied by the user.

+

+ Own Id: OTP-18604 Aux Id: PR-7306 GH-7303

+
+
+
+ +
+ +
Inets 9.0
Fixed Bugs and Malfunctions @@ -106,6 +123,23 @@
+
+ +
Inets 8.3.1.1 + +
Fixed Bugs and Malfunctions + + +

+ Fixed a bug so httpd does not crash when stopped + at the wrong time during TLS connection negotiation, or + any other theoretically as slow connection setup.

+

+ Own Id: OTP-18688 Aux Id: ERIERL-962

+
+
+
+
Inets 8.3.1 diff --git a/lib/inets/src/http_client/httpc.erl b/lib/inets/src/http_client/httpc.erl index 8f62b8906c23..74ad5a93b0e1 100644 --- a/lib/inets/src/http_client/httpc.erl +++ b/lib/inets/src/http_client/httpc.erl @@ -955,10 +955,12 @@ http_options([{Tag, Default, Idx, Post} | Defaults], HttpOptions, Acc) -> false -> DefaultVal = case Default of - {value, Val} -> - Val; - {field, DefaultIdx} -> - element(DefaultIdx, Acc) + {value, Val} -> + Val; + {value_lazy, ValFn} -> + ValFn(); + {field, DefaultIdx} -> + element(DefaultIdx, Acc) end, Acc2 = setelement(Idx, Acc, DefaultVal), http_options(Defaults, HttpOptions, Acc2) @@ -1009,14 +1011,17 @@ http_options_default() -> error end, - SslOpts = ssl_verify_host_options(true), + SslOptsLazyFn = fun() -> + {ssl, ssl_verify_host_options(true)} + end, UrlDecodePost = boolfun(), [ {version, {value, "HTTP/1.1"}, #http_options.version, VersionPost}, {timeout, {value, ?HTTP_REQUEST_TIMEOUT}, #http_options.timeout, TimeoutPost}, {autoredirect, {value, true}, #http_options.autoredirect, AutoRedirectPost}, - {ssl, {value, {ssl, SslOpts}}, #http_options.ssl, SslPost}, + %% can crash if no os bundle is present. therefore the options are only evaluated on demand + {ssl, {value_lazy, SslOptsLazyFn}, #http_options.ssl, SslPost}, {proxy_auth, {value, undefined}, #http_options.proxy_auth, ProxyAuthPost}, {relaxed, {value, false}, #http_options.relaxed, RelaxedPost}, {url_encode, {value, false}, #http_options.url_encode, UrlDecodePost}, diff --git a/lib/inets/src/http_client/httpc_request.erl b/lib/inets/src/http_client/httpc_request.erl index 861bb5d6837d..8335c263470d 100644 --- a/lib/inets/src/http_client/httpc_request.erl +++ b/lib/inets/src/http_client/httpc_request.erl @@ -95,17 +95,23 @@ send(SendAddr, Socket, SocketType, {TmpHdrs2, Path ++ Query} end, - FinalHeaders = - case NewHeaders of - HeaderList when is_list(HeaderList) -> - http_headers(HeaderList, []); - _ -> - http_request:http_headers(NewHeaders) - end, - Version = HttpOptions#http_options.version, - - do_send_body(SocketType, Socket, Method, Uri, Version, FinalHeaders, Body). - + FinalHeaders = try + case NewHeaders of + HeaderList when is_list(HeaderList) -> + http_headers(HeaderList, []); + _ -> + http_request:http_headers(NewHeaders) + end + catch throw:{invalid_header, _} = Bad -> + {error, Bad} + end, + case FinalHeaders of + {error,_} = InvalidHeaders -> + InvalidHeaders; + _ -> + Version = HttpOptions#http_options.version, + do_send_body(SocketType, Socket, Method, Uri, Version, FinalHeaders, Body) + end. do_send_body(SocketType, Socket, Method, Uri, Version, Headers, {ProcessBody, Acc}) when is_function(ProcessBody, 1) -> diff --git a/lib/inets/src/http_lib/http_request.erl b/lib/inets/src/http_lib/http_request.erl index af8b6754b1de..4eef100b951e 100644 --- a/lib/inets/src/http_lib/http_request.erl +++ b/lib/inets/src/http_lib/http_request.erl @@ -201,7 +201,8 @@ headers(Key, Value, Headers) -> key_value_str(Key, Headers) -> case key_value(Key, Headers) of - undefined -> undefined; + undefined -> + undefined; Value -> mk_key_value_str(atom_to_list(Key), Value) end. @@ -289,7 +290,13 @@ headers_other([{Key, Value} | Rest], Headers) -> headers_other(Rest, [mk_key_value_str(Key, Value) | Headers]). mk_key_value_str(Key, Value) -> - Key ++ ": " ++ value_to_list(Value) ++ ?CRLF. + try Key ++ ": " ++ value_to_list(Value) ++ ?CRLF of + HeaderStr -> + HeaderStr + catch + error:_ -> + throw({invalid_header, {Key, Value}}) + end. value_to_list(Binary) when is_binary(Binary) -> binary_to_list(Binary); diff --git a/lib/inets/src/http_server/httpd_conf.erl b/lib/inets/src/http_server/httpd_conf.erl index ffa9a23fec24..3baad5c63ba2 100644 --- a/lib/inets/src/http_server/httpd_conf.erl +++ b/lib/inets/src/http_server/httpd_conf.erl @@ -75,12 +75,23 @@ load_mime_types(MimeTypesFile) -> {error, ?NICE("Can't open " ++ MimeTypesFile)} end. +%% Add any optional properties if they are not present. +optional_properties(Properties) -> + case proplists:get_value(server_name, Properties) of + undefined -> + Localhost = net_adm:localhost(), + [{server_name, Localhost} | Properties]; + _Name -> + Properties + end. -validate_properties(Properties) -> - %% First, check that all mandatory properties are present +validate_properties(RawProperties) -> + %% First, prefill any optional properties + Properties = optional_properties(RawProperties), + %% Then check that all mandatory properties are present case mandatory_properties(Properties) of ok -> - %% Second, check that property dependency are ok + %% Finally, check that property dependency are ok {ok, check_minimum_bytes_per_second(validate_properties2(Properties))}; Error -> throw(Error) diff --git a/lib/inets/src/http_server/httpd_connection_sup.erl b/lib/inets/src/http_server/httpd_connection_sup.erl index f7b3bef245b5..9f76613e4473 100644 --- a/lib/inets/src/http_server/httpd_connection_sup.erl +++ b/lib/inets/src/http_server/httpd_connection_sup.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2016. All Rights Reserved. +%% Copyright Ericsson AB 2008-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -58,7 +58,7 @@ init([[Addr, Port]]) -> Name = undefined, % As simple_one_for_one is used. StartFunc = {httpd_request_handler, start_link, []}, Restart = temporary, % E.g. should not be restarted - Shutdown = 4000, + Shutdown = brutal_kill, Modules = [httpd_request_handler], Type = worker, diff --git a/lib/inets/src/http_server/httpd_logger.erl b/lib/inets/src/http_server/httpd_logger.erl index fac551e4bc08..f1b2a111e901 100644 --- a/lib/inets/src/http_server/httpd_logger.erl +++ b/lib/inets/src/http_server/httpd_logger.erl @@ -33,11 +33,11 @@ error_report(Protocol, Reason, #mod{init_data = #init_data{peername = PeerName, Location) -> ServerName = httpd_util:lookup(Db, server_name), Report0 = #{protocol => Protocol, - reason => Reason, - peer => PeerName, - host => SockName, - server_name => ServerName, - metadata => Location}, + reason => Reason, + peer => PeerName, + host => SockName, + server_name => ServerName, + metadata => Location}, Report1 = case URI of undefined -> Report0; @@ -46,11 +46,11 @@ error_report(Protocol, Reason, #mod{init_data = #init_data{peername = PeerName, end, case Protocol of 'HTTP' -> - Report1#{transport => transport_type(Type)}; + Report1#{transport => transport_type(Type)}; _ -> Report1 - end. - + end. + log(Level, #{metadata := MetaData} = Report, Domain) -> logger:log(Level, maps:without([metadata], Report), MetaData#{domain => [otp,inets, httpd, Domain, Level], diff --git a/lib/inets/src/http_server/httpd_manager.erl b/lib/inets/src/http_server/httpd_manager.erl index d198bc8fbfe7..e87960e4cca2 100644 --- a/lib/inets/src/http_server/httpd_manager.erl +++ b/lib/inets/src/http_server/httpd_manager.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2000-2021. All Rights Reserved. +%% Copyright Ericsson AB 2000-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -454,28 +454,37 @@ report_error(State,String) -> call(ServerRef, Request) -> try gen_server:call(ServerRef, Request, infinity) catch - exit:_ -> - {error, closed} + exit:Reason:Stacktrace -> + String = + lists:flatten( + io_lib:format( + "Request" + "~n ~p" + "~nto manager (~p) from ~p failed:" + "~n ~p" + "~n ~p", + [Request, ServerRef, self(), Reason, Stacktrace])), + error_logger:warning_report(String), + {error, Reason} end. count_children(Sup) -> Children = supervisor:count_children(whereis(Sup)), proplists:get_value(workers, Children). -shutdown_connections(Sup) -> - Children = [Child || {_,Child,_,_} <- supervisor:which_children(Sup)], - lists:foreach(fun(Pid) -> exit(Pid, kill) end, - Children). - -wait_for_shutdown(CSup, Manager) -> - case count_children(CSup) of - 0 -> - Manager ! connections_terminated; - _ -> - receive - after 500 -> - ok - end, - wait_for_shutdown(CSup, Manager) - end. - +shutdown_connections(CSup) -> + Children = [Child || {_,Child,_,_} <- supervisor:which_children(CSup)], + lists:foreach( + fun(Child) -> + _ = supervisor:terminate_child(CSup, Child) + end, Children). + +wait_for_shutdown(CSup, Manager) -> + Children = [Child || {_,Child,_,_} <- supervisor:which_children(CSup)], + Monitors = [erlang:monitor(process, Child) || Child <- Children], + lists:foreach( + fun(Mref) -> + receive {'DOWN', Mref, _, _, _} -> ok end + end, Monitors), + Manager ! connections_terminated, + ok. diff --git a/lib/inets/src/http_server/httpd_request_handler.erl b/lib/inets/src/http_server/httpd_request_handler.erl index 3d3191fc7b36..43e916c61b7a 100644 --- a/lib/inets/src/http_server/httpd_request_handler.erl +++ b/lib/inets/src/http_server/httpd_request_handler.erl @@ -137,34 +137,47 @@ continue_init(Manager, ConfigDB, SocketType, Socket, Peername, Sockname, socket_type = SocketType, socket = Socket, init_data = InitData}, - - MaxHeaderSize = max_header_size(ConfigDB), - MaxURISize = max_uri_size(ConfigDB), - NrOfRequest = max_keep_alive_request(ConfigDB), + + MaxHeaderSize = max_header_size(ConfigDB), + MaxURISize = max_uri_size(ConfigDB), + NrOfRequest = max_keep_alive_request(ConfigDB), MaxContentLen = max_content_length(ConfigDB), Customize = customize(ConfigDB), MaxChunk = max_client_body_chunk(ConfigDB), - - {_, Status} = httpd_manager:new_connection(Manager), - - MFA = {httpd_request, parse, [[{max_uri, MaxURISize}, {max_header, MaxHeaderSize}, - {max_version, ?HTTP_MAX_VERSION_STRING}, - {max_method, ?HTTP_MAX_METHOD_STRING}, - {max_content_length, MaxContentLen}, - {customize, Customize} - ]]}, - - State = #state{mod = Mod, - manager = Manager, - status = Status, - timeout = TimeOut, - max_keep_alive_request = NrOfRequest, - mfa = MFA, - chunk = chunk_start(MaxChunk)}, - setopts(Socket, SocketType, [binary, {packet, 0}, {active, once}]), - NewState = data_receive_counter(activate_request_timeout(State), httpd_util:lookup(ConfigDB, minimum_bytes_per_second, false)), - gen_server:enter_loop(?MODULE, [], NewState). + {Result, Status} = httpd_manager:new_connection(Manager), + case Result of + error -> + %% this error might happen when httpd manager is stopped + %% during execution of httpd_transport:negotiate; this is + %% most likely to happen for TLS requiring more processing + %% 'HTTP' as error category(Protocol) because transport + %% information is wanted in logs + httpd_util:error_log(ConfigDB, + httpd_logger:error_report('HTTP', Status, + Mod, ?LOCATION)), + exit({shutdown, Status}); + _ -> + MFA = {httpd_request, parse, [[{max_uri, MaxURISize}, {max_header, MaxHeaderSize}, + {max_version, ?HTTP_MAX_VERSION_STRING}, + {max_method, ?HTTP_MAX_METHOD_STRING}, + {max_content_length, MaxContentLen}, + {customize, Customize} + ]]}, + + State = #state{mod = Mod, + manager = Manager, + status = Status, + timeout = TimeOut, + max_keep_alive_request = NrOfRequest, + mfa = MFA, + chunk = chunk_start(MaxChunk)}, + setopts(Socket, SocketType, [binary, {packet, 0}, {active, once}]), + NewState = + data_receive_counter(activate_request_timeout(State), + httpd_util:lookup(ConfigDB, minimum_bytes_per_second, false)), + gen_server:enter_loop(?MODULE, [], NewState) + end. %%==================================================================== %% gen_server callbacks @@ -362,8 +375,10 @@ await_socket_ownership_transfer(AcceptTimeout) -> end. +handle_msg(Body, State) when is_binary(Body) -> + handle_response(State#state{body = Body}); %%% Internal chunking of client body -handle_msg({{continue, Chunk}, Module, Function, Args}, #state{chunk = {_, CbState}} = State) -> +handle_msg({{continue, Chunk}, Module, Function, Args}, #state{chunk = {_, CbState}} = State) when is_binary(Chunk) -> handle_internal_chunk(State#state{chunk = {continue, CbState}, body = Chunk}, Module, Function, Args); handle_msg({continue, Module, Function, Args}, #state{mod = ModData} = State) -> @@ -375,38 +390,42 @@ handle_msg({last, Body}, #state{headers = Headers, chunk = {_, CbState}} = State headers = NewHeaders, body = Body}); %%% Last data chunked by client -handle_msg({ChunkedHeaders, Body}, #state{headers = Headers , chunk = {ChunkState, CbState}} = State) when ChunkState =/= undefined -> +handle_msg({ChunkedHeaders, Body}, #state{headers = Headers , chunk = {ChunkState, CbState}} = State) when ChunkState =/= undefined, is_binary(Body) -> NewHeaders = http_chunk:handle_headers(Headers, ChunkedHeaders), handle_response(State#state{chunk = {last, CbState}, headers = NewHeaders, body = Body}); -handle_msg({ChunkedHeaders, Body}, #state{headers = Headers , chunk = {undefined, _}} = State) -> +handle_msg({ChunkedHeaders, Body}, #state{headers = Headers , chunk = {undefined, _}} = State) when is_binary(Body) -> NewHeaders = http_chunk:handle_headers(Headers, ChunkedHeaders), handle_response(State#state{headers = NewHeaders, body = Body}); +%%% handle_msg(Result, State) -> handle_http_msg(Result, State). -handle_http_msg({_, _, Version, {_, _}, _}, - #state{status = busy, mod = ModData} = State) -> - handle_manager_busy(State#state{mod = +%% status = busy +handle_http_msg({_, _, Version, {_, _}, _}, + #state{status = busy, mod = ModData} = State) -> + handle_manager_busy(State#state{mod = ModData#mod{http_version = Version}}), - {stop, normal, State}; + {stop, normal, State}; -handle_http_msg({_, _, Version, {_, _}, _}, +%% status = blocked +handle_http_msg({_, _, Version, {_, _}, _}, #state{status = blocked, mod = ModData} = State) -> - handle_manager_blocked(State#state{mod = + handle_manager_blocked(State#state{mod = ModData#mod{http_version = Version}}), - {stop, normal, State}; + {stop, normal, State}; +%% status = accept handle_http_msg({Method, Uri, Version, {RecordHeaders, Headers}, Body}, - #state{status = accept, mod = ModData} = State) -> + #state{status = accept, mod = ModData} = State) -> + true = is_binary(Body), case httpd_request:validate(Method, Uri, Version) of {ok, NormalizedURI} -> - {ok, NewModData} = + {ok, NewModData} = httpd_request:update_mod_data(ModData, Method, NormalizedURI, Version, Headers), - case is_host_specified_if_required(NewModData#mod.absolute_uri, RecordHeaders, Version) of true -> @@ -414,8 +433,8 @@ handle_http_msg({Method, Uri, Version, {RecordHeaders, Headers}, Body}, body = Body, mod = NewModData}); false -> - httpd_response:send_status(ModData#mod{http_version = - Version}, + httpd_response:send_status(ModData#mod{http_version = + Version}, 400, none), {stop, normal, State#state{response_sent = true}} end; @@ -432,9 +451,7 @@ handle_http_msg({Method, Uri, Version, {RecordHeaders, Headers}, Body}, ModData#mod{http_version = httpd_request:default_version()}, 400, Ver, {malformed_syntax, Ver}), {stop, normal, State#state{response_sent = true}} - end; -handle_http_msg(Body, State) -> - handle_response(State#state{body = Body}). + end. handle_manager_busy(#state{mod = #mod{config_db = ConfigDB}} = State) -> MaxClients = httpd_util:lookup(ConfigDB, max_clients, 150), @@ -479,7 +496,7 @@ handle_body(#state{headers = Headers, body = Body, {noreply, State#state{mfa = {Module, Function, Args}, chunk = chunk_start(MaxChunk)}}; - {ok, {ChunkedHeaders, NewBody}} -> + {ok, {ChunkedHeaders, NewBody}} when is_binary(NewBody) -> NewHeaders = http_chunk:handle_headers(Headers, ChunkedHeaders), handle_response(State#state{headers = NewHeaders, body = NewBody, @@ -512,12 +529,12 @@ handle_body(#state{headers = Headers, body = Body, setopts(ModData#mod.socket, ModData#mod.socket_type, [{active, once}]), {noreply, State#state{mfa = {Module, Function, Args}}}; - {ok, {{continue, Chunk}, Module, Function, Args}} -> + {ok, {{continue, Chunk}, Module, Function, Args}} when is_binary(Chunk) -> handle_internal_chunk(State#state{chunk = chunk_start(MaxChunk), body = Chunk}, Module, Function, Args); %% Whole body delivered, if chunking mechanism is enabled the whole %% body fits in one chunk. - {ok, NewBody} -> + {ok, NewBody} when is_binary(NewBody) -> handle_response(State#state{chunk = chunk_finish(ChunkState, CbState, MaxChunk), headers = Headers, @@ -665,7 +682,7 @@ handle_next_request(#state{mod = #mod{connection = true} = ModData, mfa = MFA, max_keep_alive_request = decrease(Max), headers = #http_request_h{}, - body = undefined, + body = <<>>, chunk = chunk_start(MaxChunk), response_sent = false}, diff --git a/lib/inets/src/http_server/mod_alias.erl b/lib/inets/src/http_server/mod_alias.erl index e1264deb108d..b310a7c909d0 100644 --- a/lib/inets/src/http_server/mod_alias.erl +++ b/lib/inets/src/http_server/mod_alias.erl @@ -123,8 +123,7 @@ real_name(ConfigDB, RequestURI, [{MP,Replacement}| _] = Aliases) real_name(ConfigDB, RequestURI, [{_,_}|_] = Aliases) -> case longest_match(Aliases, RequestURI) of {match, {FakeName, RealName}} -> - ActualName = re:replace(RequestURI, - "^" ++ FakeName, RealName, [{return,list}]), + ActualName = re:replace(RequestURI, FakeName, RealName, [{return,list}]), {ShortPath, _AfterPath} = httpd_util:split_path(ActualName), {Path, AfterPath} = httpd_util:split_path(default_index(ConfigDB, ActualName)), @@ -137,7 +136,7 @@ longest_match(Aliases, RequestURI) -> longest_match(Aliases, RequestURI, _LongestNo = 0, _LongestAlias = undefined). longest_match([{FakeName, RealName} | Rest], RequestURI, LongestNo, LongestAlias) -> - case re:run(RequestURI, "^" ++ FakeName, [{capture, first}]) of + case re:run(RequestURI, FakeName, [{capture, first}]) of {match, [{_, Length}]} -> if Length > LongestNo -> @@ -158,10 +157,10 @@ longest_match([], _RequestURI, _LongestNo, LongestAlias) -> real_script_name(_ConfigDB, _RequestURI, []) -> not_a_script; real_script_name(ConfigDB, RequestURI, [{FakeName,RealName} | Rest]) -> - case re:run(RequestURI, "^" ++ FakeName, [{capture, none}]) of + case re:run(RequestURI, FakeName, [{capture, none}]) of match -> ActualName0 = - re:replace(RequestURI, "^" ++ FakeName, RealName, [{return,list}]), + re:replace(RequestURI, FakeName, RealName, [{return,list}]), ActualName = abs_script_path(ConfigDB, ActualName0), httpd_util:split_script_path(default_index(ConfigDB, ActualName)); nomatch -> @@ -234,14 +233,17 @@ store({directory_index, Value} = Conf, _) when is_list(Value) -> end; store({directory_index, Value}, _) -> {error, {wrong_type, {directory_index, Value}}}; -store({alias, {Fake, Real}} = Conf, _) +store({alias, {Fake, Real}}, _) when is_list(Fake), is_list(Real) -> + {ok, {alias,{"^"++Fake,Real}}}; +store({alias, {MP, _}} = Conf, _) + when element(1, MP) =:= re_pattern -> {ok, Conf}; store({alias, Value}, _) -> {error, {wrong_type, {alias, Value}}}; store({re_write, {Re, Replacement}} = Conf, _) when is_list(Re), is_list(Replacement) -> - case re:compile(Re) of + case re:compile("^"++Re) of {ok, MP} -> {ok, {alias, {MP, Replacement}}}; {error,_} -> @@ -249,14 +251,17 @@ store({re_write, {Re, Replacement}} = Conf, _) end; store({re_write, _} = Conf, _) -> {error, {wrong_type, Conf}}; -store({script_alias, {Fake, Real}} = Conf, _) +store({script_alias, {Fake, Real}}, _) when is_list(Fake), is_list(Real) -> + {ok, {script_alias,{"^"++Fake,Real}}}; +store({script_alias, {MP, _}} = Conf, _) + when element(1, MP) =:= re_pattern -> {ok, Conf}; store({script_alias, Value}, _) -> {error, {wrong_type, {script_alias, Value}}}; store({script_re_write, {Re, Replacement}} = Conf, _) when is_list(Re), is_list(Replacement) -> - case re:compile(Re) of + case re:compile("^"++Re) of {ok, MP} -> {ok, {script_alias, {MP, Replacement}}}; {error,_} -> diff --git a/lib/inets/src/http_server/mod_esi.erl b/lib/inets/src/http_server/mod_esi.erl index 64af60e50833..8e42311d0040 100644 --- a/lib/inets/src/http_server/mod_esi.erl +++ b/lib/inets/src/http_server/mod_esi.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2022. All Rights Reserved. +%% Copyright Ericsson AB 1997-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -35,7 +35,9 @@ -define(VMODULE,"ESI"). -define(DEFAULT_ERL_TIMEOUT,15). - +-define(ERROR_404, + [{status, {404, ModData#mod.request_uri, "Not found"}} | + ModData#mod.data]). %%%========================================================================= %%% API @@ -220,47 +222,50 @@ erl(#mod{method = "POST", entity_body = Body} = ModData, ESIBody, Modules) -> {proceed,[{status, {400, none, BadRequest}} | ModData#mod.data]} end. -generate_webpage(ModData, ESIBody, [all], Module, FunctionName, - Input, ScriptElements) -> - try - ModuleAtom = list_to_existing_atom(Module), - generate_webpage(ModData, ESIBody, [ModuleAtom], Module, - FunctionName, Input, ScriptElements) - catch - _:_ -> - {proceed, [{status, {404, ModData#mod.request_uri, "Not found"}} - | ModData#mod.data]} - end; -generate_webpage(ModData, ESIBody, Modules, Module, Function, - Input, ScriptElements) when is_atom(Module), is_atom(Function) -> - case lists:member(Module, Modules) of - true -> - Env = httpd_script_env:create_env(esi, ModData, ScriptElements), - case erl_scheme_webpage_chunk(Module, Function, - Env, Input, ModData) of - {error, erl_scheme_webpage_chunk_undefined} -> - {proceed, [{status, {404, ModData#mod.request_uri, "Not found"}} - | ModData#mod.data]}; - ResponseResult -> - ResponseResult - end; - false -> - {proceed, [{status, {403, ModData#mod.request_uri, - ?NICE("Client not authorized to evaluate: " - ++ ESIBody)}} | ModData#mod.data]} - end; -generate_webpage(ModData, ESIBody, Modules, ModuleName, FunctionName, - Input, ScriptElements) -> +generate_webpage(ModData, ESIBody, AllowedModules0, ModuleString, FunctionString, + Input, ScriptElements) + when is_list(ModuleString), is_list(FunctionString) -> + case convert_to_atoms(ModuleString, FunctionString, ModData) of + {ok, Module, Function} -> + verify_module(ModData, ESIBody, AllowedModules0, Module, Function, + Input, ScriptElements); + Result -> + Result + end. + +convert_to_atoms(ModuleString, FunctionString, ModData) -> try - Module = list_to_existing_atom(ModuleName), + Module = list_to_existing_atom(ModuleString), _ = code:ensure_loaded(Module), - Function = list_to_existing_atom(FunctionName), - generate_webpage(ModData, ESIBody, Modules, Module, Function, - Input, ScriptElements) + Function = list_to_existing_atom(FunctionString), + {ok, Module, Function} catch - _:_ -> - {proceed, [{status, {404, ModData#mod.request_uri, "Not found"}} - | ModData#mod.data]} + error:badarg:_Stacktrace -> + {proceed, ?ERROR_404} + end. + +verify_module(ModData, _ESIBody, [all], Module, Function, Input, ScriptElements) -> + do_generate_webpage(ModData, Module, Function, Input, ScriptElements); +verify_module(ModData, ESIBody, Allowed, Module, Function, Input, ScriptElements) -> + case lists:member(Module, Allowed) of + true -> + do_generate_webpage(ModData, Module, Function, Input, ScriptElements); + _ -> + Error403 = + [{status, + {403, ModData#mod.request_uri, + ?NICE("Client not authorized to evaluate: " ++ ESIBody)}} | + ModData#mod.data], + {proceed, Error403} + end. + +do_generate_webpage(ModData, Module, Function, Input, ScriptElements) -> + Env = httpd_script_env:create_env(esi, ModData, ScriptElements), + case erl_scheme_webpage_chunk(Module, Function, Env, Input, ModData) of + {error, erl_scheme_webpage_chunk_undefined} -> + {proceed, ?ERROR_404}; + ResponseResult -> + ResponseResult end. %% API that allows the dynamic wepage to be sent back to the client @@ -292,7 +297,7 @@ deliver_webpage_chunk(#mod{config_db = Db} = ModData, Pid) -> deliver_webpage_chunk(ModData, Pid, Timeout). deliver_webpage_chunk(#mod{config_db = Db} = ModData, Pid, Timeout) -> - case receive_headers(Timeout) of + case receive_headers(Pid, Timeout) of {error, Reason} -> %% Happens when webpage generator callback/3 is undefined {error, Reason}; @@ -329,17 +334,17 @@ deliver_webpage_chunk(#mod{config_db = Db} = ModData, Pid, Timeout) -> {proceed,[{response, {already_sent, 504, 0}} | ModData#mod.data]} end. -receive_headers(Timeout) -> +receive_headers(Pid, Timeout) -> receive {esi_data, Chunk} -> httpd_esi:parse_headers(lists:flatten(Chunk)); {ok, Chunk} -> httpd_esi:parse_headers(lists:flatten(Chunk)); - {'EXIT', Pid, erl_scheme_webpage_chunk_undefined} when is_pid(Pid) -> + {'EXIT', Pid, erl_scheme_webpage_chunk_undefined} -> {error, erl_scheme_webpage_chunk_undefined}; - {'EXIT', Pid, {continue, _} = Continue} when is_pid(Pid) -> + {'EXIT', Pid, {continue, _} = Continue} -> Continue; - {'EXIT', Pid, Reason} when is_pid(Pid) -> + {'EXIT', Pid, Reason} -> exit({mod_esi_linked_process_died, Pid, Reason}) after Timeout -> timeout diff --git a/lib/inets/src/inets_app/inets.appup.src b/lib/inets/src/inets_app/inets.appup.src index e9b88dc469e2..930b3ff63a7c 100644 --- a/lib/inets/src/inets_app/inets.appup.src +++ b/lib/inets/src/inets_app/inets.appup.src @@ -1,7 +1,7 @@ %% -*- erlang -*- %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1999-2022. All Rights Reserved. +%% Copyright Ericsson AB 1999-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -18,12 +18,14 @@ %% %CopyrightEnd% {"%VSN%", [ + {<<"9\\..*">>,[{restart_application, inets}]}, {<<"8\\..*">>,[{restart_application, inets}]}, {<<"7\\..*">>,[{restart_application, inets}]}, {<<"6\\..*">>,[{restart_application, inets}]}, {<<"5\\..*">>,[{restart_application, inets}]} ], [ + {<<"9\\..*">>,[{restart_application, inets}]}, {<<"8\\..*">>,[{restart_application, inets}]}, {<<"7\\..*">>,[{restart_application, inets}]}, {<<"6\\..*">>,[{restart_application, inets}]}, diff --git a/lib/inets/test/Makefile b/lib/inets/test/Makefile index 414884a53540..da0805bc4d48 100644 --- a/lib/inets/test/Makefile +++ b/lib/inets/test/Makefile @@ -129,7 +129,6 @@ MODULES = \ httpd_bench_SUITE \ http_test_lib \ httpd_basic_SUITE \ - httpd_mod \ httpd_load \ httpd_time_test \ httpd_1_1 \ diff --git a/lib/inets/test/httpc_SUITE.erl b/lib/inets/test/httpc_SUITE.erl index f89b06fddd4a..de4d9329ecef 100644 --- a/lib/inets/test/httpc_SUITE.erl +++ b/lib/inets/test/httpc_SUITE.erl @@ -68,7 +68,7 @@ all() -> groups() -> [ - {http, [], real_requests()}, + {http, [parallel], real_requests()}, {http_ipv6, [], [request_options]}, %% process_leak_on_keepalive is depending on stream_fun_server_close %% and it shall be the last test case in the suite otherwise cookie @@ -80,8 +80,8 @@ groups() -> {http_unix_socket, [], simulated_unix_socket()}, {https, [], [def_ssl_opt | real_requests()]}, {sim_https, [], only_simulated()}, - {misc, [], misc()}, - {sim_mixed, [], sim_mixed()} + {misc, [parallel], misc()}, + {sim_mixed, [parallel], sim_mixed()} ]. real_requests()-> @@ -98,7 +98,6 @@ real_requests()-> persistent_connection, save_to_file, save_to_file_async, - headers_as_is, page_does_not_exist, emulate_lower_versions, headers, @@ -134,6 +133,7 @@ real_requests()-> stream_through_mfa, streaming_error, inet_opts, + invalid_headers, invalid_headers_key, invalid_headers_value, invalid_body, @@ -347,13 +347,13 @@ init_per_testcase(pipeline, Config) -> httpc:set_options([{pipeline_timeout, 50000}, {max_pipeline_length, 3}], pipeline), - Config; + [{profile, pipeline} | Config]; init_per_testcase(persistent_connection, Config) -> - inets:start(httpc, [{profile, persistent}]), + inets:start(httpc, [{profile, persistent_connection}]), httpc:set_options([{keep_alive_timeout, 50000}, {max_keep_alive_length, 3}], persistent), - Config; + [{profile, persistent_connection} | Config]; init_per_testcase(Case, Config) when Case == wait_for_whole_response; Case == remote_socket_close_parallel -> ct:timetrap({seconds, 60*3}), @@ -364,13 +364,16 @@ init_per_testcase(Case, Config) when Case == post; Case == post_stream -> ct:timetrap({seconds, 30}), Config; +init_per_testcase(Case, Config) when Case == timeout_memory_leak -> + {ok, _Pid} = inets:start(httpc, [{profile, Case}]), + [{profile, Case} | Config]; init_per_testcase(_Case, Config) -> Config. -end_per_testcase(pipeline, _Config) -> - inets:stop(httpc, pipeline); -end_per_testcase(persistent_connection, _Config) -> - inets:stop(httpc, persistent); +end_per_testcase(Case, Config) when Case == timeout_memory_leak; + Case == pipeline; + Case == persistent_connection -> + inets:stop(httpc, ?config(profile, Config)); end_per_testcase(Case, Config) when Case == server_closing_connection_on_first_response; Case == server_closing_connection_on_second_response -> @@ -562,11 +565,11 @@ pipeline(Config) when is_list(Config) -> persistent_connection(Config) when is_list(Config) -> Request = {url(group_name(Config), "/dummy.html", Config), []}, - {ok, _} = httpc:request(get, Request, [?SSL_NO_VERIFY], [], persistent), + {ok, _} = httpc:request(get, Request, [?SSL_NO_VERIFY], [], persistent_connection), %% Make sure pipeline session is registered ct:sleep(4000), - keep_alive_requests(Request, persistent). + keep_alive_requests(Request, persistent_connection). %%------------------------------------------------------------------------- async() -> @@ -868,18 +871,17 @@ cookie(Config) when is_list(Config) -> {ok, {{_,200,_}, [_ | _], [_|_]}} = httpc:request(get, Request0, [?SSL_NO_VERIFY], []), - %% Populate table to be used by the "dummy" server - ets:new(cookie, [named_table, public, set]), - ets:insert(cookie, {cookies, true}), - Request1 = {url(group_name(Config), "/", Config), []}, - {ok, {{_,200,_}, [_ | _], [_|_]}} - = httpc:request(get, Request1, [?SSL_NO_VERIFY], []), + {ok, {{_,200,_}, [_ | _], [_|_]}} = global:trans( + {cookies, verify}, + fun() -> httpc:request(get, Request1, [?SSL_NO_VERIFY], []) end, + [node()], + 100 + ), [{session_cookies, [_|_]}] = httpc:which_cookies(httpc:default_profile()), - ets:delete(cookie), ok = httpc:set_options([{cookies, disabled}]). @@ -896,16 +898,15 @@ cookie_profile(Config) when is_list(Config) -> {ok, {{_,200,_}, [_ | _], [_|_]}} = httpc:request(get, Request0, [?SSL_NO_VERIFY], [], cookie_test), - %% Populate table to be used by the "dummy" server - ets:new(cookie, [named_table, public, set]), - ets:insert(cookie, {cookies, true}), - Request1 = {url(group_name(Config), "/", Config), []}, - {ok, {{_,200,_}, [_ | _], [_|_]}} - = httpc:request(get, Request1, [?SSL_NO_VERIFY], [], cookie_test), + {ok, {{_,200,_}, [_ | _], [_|_]}} = global:trans( + {cookies, verify}, + fun() -> httpc:request(get, Request1, [?SSL_NO_VERIFY], [], cookie_test) end, + [node()], + 100 + ), - ets:delete(cookie), inets:stop(httpc, cookie_test). %%------------------------------------------------------------------------- @@ -944,6 +945,7 @@ headers_as_is(Config) when is_list(Config) -> {ok, {{_,400,_}, [_|_], [_|_]}} = httpc:request(get, {URL, [{"Te", ""}]}, [?SSL_NO_VERIFY], [{headers_as_is, true}]). + %%------------------------------------------------------------------------- userinfo(doc) -> @@ -1281,8 +1283,16 @@ headers_conflict_chunked_with_length(Config) when is_list(Config) -> ok. %%------------------------------------------------------------------------- +invalid_headers(doc) -> + ["Test invalid header format"]; +invalid_headers(Config) when is_list(Config) -> + URL = url(group_name(Config), "/dummy.html", Config), + {error,{invalid_header,{"headers", + [{"user-agent","httpc"}]}}} = + httpc:request(get, {URL, [{"headers", [{"user-agent", "httpc"}]}]}, + [?SSL_NO_VERIFY], []). - +%%------------------------------------------------------------------------- invalid_headers_key(Config) -> Request = {url(group_name(Config), "/dummy.html", Config), [{cookie, "valid cookie"}]}, @@ -1544,8 +1554,8 @@ inet_opts(Config) when is_list(Config) -> httpc:set_options(ConnOptions), Request = {url(group_name(Config), "/dummy.html", Config), []}, - Timeout = timer:seconds(1), - ConnTimeout = Timeout + timer:seconds(1), + Timeout = timer:seconds(5), + ConnTimeout = Timeout + timer:seconds(5), HttpOptions = [{timeout, Timeout}, {connect_timeout, ConnTimeout}, ?SSL_NO_VERIFY], Options0 = [{socket_opts, [{tos, 87}, {recbuf, 16#FFFF}, @@ -1585,12 +1595,13 @@ timeout_memory_leak() -> [{doc, "Check OTP-8739"}]. timeout_memory_leak(Config) when is_list(Config) -> {_DummyServerPid, Port} = otp_8739_dummy_server(), - {ok,Host} = inet:gethostname(), + {ok, Host} = inet:gethostname(), Request = {?URL_START ++ Host ++ ":" ++ integer_to_list(Port) ++ "/dummy.html", []}, - case httpc:request(get, Request, [{connect_timeout, 500}, {timeout, 1}], [{sync, true}]) of + Profile = ?config(profile, Config), + case httpc:request(get, Request, [{connect_timeout, 500}, {timeout, 1}], [{sync, true}], Profile) of {error, timeout} -> %% And now we check the size of the handler db - Info = httpc:info(), + Info = httpc:info(Profile), ct:log("Info: ~p", [Info]), {value, {handlers, Handlers}} = lists:keysearch(handlers, 1, Info), @@ -2254,7 +2265,6 @@ keep_alive_requests(Request, Profile) -> ct:log("Cancel ~p~n", [RequestIdB1]), receive_replys([RequestIdB0, RequestIdB2]). - receive_replys([]) -> ok; receive_replys([ID|IDs]) -> @@ -2265,8 +2275,6 @@ receive_replys([ID|IDs]) -> ct:pal("~p",[{recived_canceld_id, Other}]) end. - - inet_version() -> inet. %% Just run inet for now %% case gen_tcp:listen(0,[inet6]) of @@ -2277,119 +2285,6 @@ inet_version() -> %% inet %%end. -dummy_server(Inet) -> - dummy_server(self(), ip_comm, Inet, []). - -dummy_server(SocketType, Inet, Extra) -> - dummy_server(self(), SocketType, Inet, Extra). - -dummy_server(Caller, SocketType, Inet, Extra) -> - Args = [Caller, SocketType, Inet, Extra], - Pid = spawn(httpc_SUITE, dummy_server_init, Args), - receive - {port, Port} -> - {Pid, Port} - end. - -dummy_server_init(Caller, ip_comm, Inet, _) -> - BaseOpts = [binary, {packet, 0}, {reuseaddr,true}, {keepalive, true}, {active, false}], - {ok, ListenSocket} = gen_tcp:listen(0, [Inet | BaseOpts]), - {ok, Port} = inet:port(ListenSocket), - Caller ! {port, Port}, - dummy_ipcomm_server_loop({httpd_request, parse, [[{max_uri, ?HTTP_MAX_URI_SIZE}, - {max_header, ?HTTP_MAX_HEADER_SIZE}, - {max_version,?HTTP_MAX_VERSION_STRING}, - {max_method, ?HTTP_MAX_METHOD_STRING}, - {max_content_length, ?HTTP_MAX_CONTENT_LENGTH}, - {customize, httpd_custom} - ]]}, - [], ListenSocket); - -dummy_server_init(Caller, ssl, Inet, SSLOptions) -> - BaseOpts = [binary, {reuseaddr,true}, {active, false} | - SSLOptions], - dummy_ssl_server_init(Caller, BaseOpts, Inet). - -dummy_ssl_server_init(Caller, BaseOpts, Inet) -> - {ok, ListenSocket} = ssl:listen(0, [Inet | BaseOpts]), - {ok, {_, Port}} = ssl:sockname(ListenSocket), - Caller ! {port, Port}, - dummy_ssl_server_loop({httpd_request, parse, [[{max_uri, ?HTTP_MAX_URI_SIZE}, - {max_method, ?HTTP_MAX_METHOD_STRING}, - {max_version,?HTTP_MAX_VERSION_STRING}, - {max_method, ?HTTP_MAX_METHOD_STRING}, - {max_content_length, ?HTTP_MAX_CONTENT_LENGTH}, - {customize, httpd_custom} - ]]}, - [], ListenSocket). - -dummy_ipcomm_server_loop(MFA, Handlers, ListenSocket) -> - receive - stop -> - lists:foreach(fun(Handler) -> Handler ! stop end, Handlers); - {stop, From} -> - Stopper = fun(Handler) -> Handler ! stop end, - lists:foreach(Stopper, Handlers), - From ! {stopped, self()} - after 0 -> - {ok, Socket} = gen_tcp:accept(ListenSocket), - HandlerPid = dummy_request_handler(MFA, Socket), - gen_tcp:controlling_process(Socket, HandlerPid), - HandlerPid ! ipcomm_controller, - dummy_ipcomm_server_loop(MFA, [HandlerPid | Handlers], - ListenSocket) - end. - -dummy_ssl_server_loop(MFA, Handlers, ListenSocket) -> - receive - stop -> - lists:foreach(fun(Handler) -> Handler ! stop end, Handlers); - {stop, From} -> - Stopper = fun(Handler) -> Handler ! stop end, - lists:foreach(Stopper, Handlers), - From ! {stopped, self()} - after 0 -> - {ok, Tsocket} = ssl:transport_accept(ListenSocket), - {ok, Ssocket} = ssl:handshake(Tsocket, infinity), - HandlerPid = dummy_request_handler(MFA, Ssocket), - ssl:controlling_process(Ssocket, HandlerPid), - HandlerPid ! ssl_controller, - dummy_ssl_server_loop(MFA, [HandlerPid | Handlers], - ListenSocket) - end. - -dummy_request_handler(MFA, Socket) -> - spawn(httpc_SUITE, dummy_request_handler_init, [MFA, Socket]). - -dummy_request_handler_init(MFA, Socket) -> - SockType = - receive - ipcomm_controller -> - inet:setopts(Socket, [{active, true}]), - ip_comm; - ssl_controller -> - ssl:setopts(Socket, [{active, true}]), - ssl - end, - dummy_request_handler_loop(MFA, SockType, Socket). - -dummy_request_handler_loop({Module, Function, Args}, SockType, Socket) -> - receive - {Proto, _, Data} when (Proto =:= tcp) orelse (Proto =:= ssl) -> - case handle_request(Module, Function, [Data | Args], Socket) of - stop when Proto =:= tcp -> - gen_tcp:close(Socket); - stop when Proto =:= ssl -> - ssl:close(Socket); - NewMFA -> - dummy_request_handler_loop(NewMFA, SockType, Socket) - end; - stop when SockType =:= ip_comm -> - gen_tcp:close(Socket); - stop when SockType =:= ssl -> - ssl:close(Socket) - end. - handle_request(Module, Function, Args, Socket) -> case Module:Function(Args) of {ok, Result} -> @@ -2441,11 +2336,12 @@ handle_http_msg({Method, RelUri, _, {_, Headers}, Body}, Socket, _) -> end end, - case (catch ets:lookup(cookie, cookies)) of - [{cookies, true}]-> - check_cookie(Headers); - _ -> - ok + case global:trans({cookies, verify}, fun() -> unset end, [node()], 0) of + aborted-> + % somebody has the lock and wants us to check + check_cookie(Headers); + unset -> + ok end, {ok, {_, Port}} = sockname(Socket), @@ -2474,31 +2370,6 @@ handle_http_msg({Method, RelUri, _, {_, Headers}, Body}, Socket, _) -> end, NextRequest. -dummy_ssl_server_hang(Caller, Inet, SslOpt) -> - Pid = spawn(httpc_SUITE, dummy_ssl_server_hang_init, [Caller, Inet, SslOpt]), - receive - {port, Port} -> - {Pid, Port} - end. - -dummy_ssl_server_hang_init(Caller, Inet, SslOpt) -> - {ok, ListenSocket} = - ssl:listen(0, [binary, Inet, {packet, 0}, - {reuseaddr,true}, - {active, false}] ++ SslOpt), - {ok, {_,Port}} = ssl:sockname(ListenSocket), - Caller ! {port, Port}, - {ok, AcceptSocket} = ssl:transport_accept(ListenSocket), - dummy_ssl_server_hang_loop(AcceptSocket). - -dummy_ssl_server_hang_loop(_) -> - %% Do not do ssl:handshake as we - %% want to time out the underlying gen_tcp:connect - receive - stop -> - ok - end. - ensure_host_header_with_port([]) -> false; ensure_host_header_with_port([{"host", Host}| _]) -> diff --git a/lib/inets/test/httpd_SUITE.erl b/lib/inets/test/httpd_SUITE.erl index df628257ec0e..4a9f01baf156 100644 --- a/lib/inets/test/httpd_SUITE.erl +++ b/lib/inets/test/httpd_SUITE.erl @@ -79,11 +79,8 @@ all() -> {group, http_not_sup}, {group, https_alert}, {group, https_not_sup}, - mime_types_format, - erl_script_timeout_default, - erl_script_timeout_option, - erl_script_timeout_proplist, - erl_script_alias_all + {group, esi}, + mime_types_format ]. groups() -> @@ -111,7 +108,7 @@ groups() -> {http_not_sup, [], [{group, not_sup}]}, {https_not_sup, [], [{group, not_sup}]}, {https_alert, [], [tls_alert]}, - {http_mime_types, [], [alias_1_1, alias_1_0]}, + {http_mime_types, [parallel], [alias_1_1, alias_1_0]}, {limit, [], [content_length, max_clients_1_1]}, {custom, [], [customize, add_default]}, {reload, [], [non_disturbing_reconfiger_dies, @@ -130,13 +127,19 @@ groups() -> {security, [], [security_1_1, security_1_0]}, {logging, [], [disk_log_internal, disk_log_exists, disk_log_bad_size, disk_log_bad_file]}, - {http_1_1, [], + {http_1_1, [], [esi_propagate, esi_atom_leak, {group, http_1_1_parallel}] ++ load()}, + {http_1_1_parallel, [parallel], [host, chunked, expect, cgi, cgi_chunked_encoding_test, trace, range, if_modified_since, mod_esi_chunk_timeout, - esi_put, esi_patch, esi_post, esi_proagate, esi_atom_leak, esi_headers] - ++ http_head() ++ http_get() ++ load()}, - {http_1_0, [], [host, cgi, trace] ++ http_head() ++ http_get() ++ load()}, + esi_put, esi_patch, esi_post, esi_headers] + ++ http_head() ++ http_get()}, + {http_1_0, [], [{group, http_1_0_parallel} | load()]}, + {http_1_0_parallel, [parallel], [host, cgi, trace] ++ http_head() ++ http_get()}, {http_rel_path_script_alias, [], [cgi]}, + {esi, [], [erl_script_timeout_default, + erl_script_timeout_option, + erl_script_timeout_proplist, + erl_script_alias_all]}, {not_sup, [], [put_not_sup]} ]. @@ -241,9 +244,11 @@ init_per_group(Group, Config0) when Group == http_basic; -> ok = start_apps(Group), init_httpd(Group, [{http_version, "HTTP/1.0"}, {type, ip_comm} | Config0]); -init_per_group(http_1_1, Config) -> +init_per_group(Group, Config) when Group == http_1_1_parallel; + Group == http_1_1 -> [{http_version, "HTTP/1.1"} | Config]; -init_per_group(http_1_0, Config) -> +init_per_group(Group, Config) when Group == http_1_0_parallel; + Group == http_1_0 -> [{http_version, "HTTP/1.0"} | Config]; init_per_group(auth_api, Config) -> [{auth_prefix, ""} | Config]; @@ -262,6 +267,9 @@ init_per_group(http_rel_path_script_alias = Group, Config) -> init_httpd(Group, [{type, ip_comm},{http_version, "HTTP/1.1"}| Config]); init_per_group(not_sup, Config) -> [{http_version, "HTTP/1.1"} | Config]; +init_per_group(Group, Config) when Group == esi -> + ok = start_apps(Group), + Config; init_per_group(_, Config) -> Config. @@ -274,7 +282,8 @@ end_per_group(Group, _Config) when Group == http_basic; Group == http_security; Group == http_reload; Group == http_post; - Group == http_mime_types + Group == http_mime_types; + Group == esi -> inets:stop(); end_per_group(Group, _Config) when Group == https_basic; @@ -303,7 +312,11 @@ init_per_testcase(Case, Config) when Case == host; Case == trace -> Cb = case Name of http_1_0 -> httpd_1_0; + http_1_0_parallel -> + httpd_1_0; http_1_1 -> + httpd_1_1; + http_1_1_parallel -> httpd_1_1 end, dbg( @@ -382,7 +395,7 @@ end_per_testcase(Case, Config) -> dbg(Case, Config, Status) -> - Cases = [esi_put], + Cases = [], case lists:member(Case, Cases) of true -> case Status of @@ -987,7 +1000,7 @@ mod_esi_chunk_timeout(Config) when is_list(Config) -> proplists:get_value(host, Config), proplists:get_value(node, Config)). %%------------------------------------------------------------------------- -esi_proagate(Config) when is_list(Config) -> +esi_propagate(Config) when is_list(Config) -> register(propagate_test, self()), ok = http_status("GET /cgi-bin/erl/httpd_example:new_status_and_location ", Config, [{statuscode, 201}]), @@ -1149,10 +1162,19 @@ alias() -> [{doc, "Test mod_alias"}]. alias(Config) when is_list(Config) -> + Cgi = case os:type() of + {win32, _} -> + "printenv.bat"; + _ -> + "printenv.sh" + end, TestURIs200 = [ {"GET /pics/icon.sheet.gif ", 200, "image/gif"}, + {"GET /pictures/icon.sheet.gif ", 200, "image/gif"}, {"GET / ", 200, "text/html"}, - {"GET /misc/ ", 200, "text/html"} + {"GET /misc/ ", 200, "text/html"}, + {"GET /cgi-bin/" ++ Cgi ++ " ", 200, "text/html"}, + {"GET /cgi-UNWANTED-bin/" ++ Cgi ++ " ", 200, "text/html"} ], Test200 = fun({Request, ResultCode, ContentType}) -> @@ -1372,9 +1394,7 @@ security(Config) -> Node = proplists:get_value(node, Config), ServerRoot = proplists:get_value(server_root, Config), - global:register_name(mod_security_test, self()), % Receive events - - ct:sleep(5000), + yes = global:register_name(mod_security_test, self()), % Receive events OpenDir = filename:join([ServerRoot, "htdocs", "open"]), @@ -1590,6 +1610,7 @@ disturbing_1_0(Config) when is_list(Config) -> disturbing([{http_version, "HTTP/1.0"} | Config]). disturbing(Config) when is_list(Config)-> + LogWatcher = start_log_watcher(), Server = proplists:get_value(server_pid, Config), Version = proplists:get_value(http_version, Config), Host = proplists:get_value(host, Config), @@ -1606,12 +1627,13 @@ disturbing(Config) when is_list(Config)-> Close = list_to_atom((typestr(Type)) ++ "_closed"), receive {Close, Socket} -> - ok; - Msg -> - ct:fail({{expected, {Close, Socket}}, {got, Msg}}) - end, - inets_test_lib:close(Type, Socket), - [{server_name, "httpd_disturbing_" ++ Version}] = httpd:info(Server, [server_name]). + inets_test_lib:close(Type, Socket), + [{server_name, "httpd_disturbing_" ++ Version}] = + httpd:info(Server, [server_name]), + [] = stop_log_watcher(LogWatcher), + [] = inets_test_lib:flush(), + ok + end. %%------------------------------------------------------------------------- non_disturbing_1_1(Config) when is_list(Config) -> non_disturbing([{http_version, "HTTP/1.1"} | Config]). @@ -1671,7 +1693,6 @@ reload_config_file(Config) when is_list(Config) -> ok = file:write_file(HttpdConf, NewConfig), ok = httpd:reload_config(HttpdConf, non_disturbing), "httpd_test_new" = proplists:get_value(server_name, httpd:info(Server)). - %%------------------------------------------------------------------------- mime_types_format(Config) when is_list(Config) -> DataDir = proplists:get_value(data_dir, Config), @@ -1783,20 +1804,14 @@ mime_types_format(Config) when is_list(Config) -> {"hqx","application/mac-binhex40"}]} = httpd_conf:load_mime_types(MimeTypes). erl_script_timeout_default(Config) when is_list(Config) -> - inets:start(), - {ok, Pid} = inets:start(httpd, - [{port, 0}, - {server_name,"localhost"}, - {server_root,"./"}, - {document_root,"./"}, - {bind_address, any}, - {mimetypes, [{"html", "text/html"}]}, - {modules,[mod_esi]}, - {erl_script_alias, {"/erl", [httpd_example]}} - ]), - Info = httpd:info(Pid), + ServerConfig = [ + {modules, [mod_esi]}, + {erl_script_alias, {"/erl", [httpd_example]}} + | Config + ], + Httpd = init_httpd(esi, ServerConfig), - Port = proplists:get_value(port, Info), + Port = proplists:get_value(port, Httpd), %% Default erl_script_timeout is 15. %% Verify: 13 =< erl_script_timeout =< 17 @@ -1804,22 +1819,17 @@ erl_script_timeout_default(Config) when is_list(Config) -> {ok, {_, _, Body}} = httpc:request(get, {Url, []}, [{timeout, 45000}], []), ct:log("Response: ~p~n", [Body]), - verify_body(Body, 13000), - inets:stop(). + verify_body(Body, 13000). erl_script_timeout_option(Config) when is_list(Config) -> - inets:start(), - {ok, Pid} = inets:start(httpd, - [{port, 0}, - {server_name,"localhost"}, - {server_root,"./"}, - {document_root,"./"}, - {bind_address, any}, - {mimetypes, [{"html", "text/html"}]}, - {modules,[mod_esi]}, - {erl_script_timeout, 2}, - {erl_script_alias, {"/erl", [httpd_example]}} - ]), + ServerConfig = [ + {modules, [mod_esi]}, + {erl_script_timeout, 2}, + {erl_script_alias, {"/erl", [httpd_example]}} + | Config + ], + ServerInfo = init_httpd(esi, ServerConfig), + Pid = proplists:get_value(server_pid, ServerInfo), Info = httpd:info(Pid), verify_timeout(Info, 2), @@ -1830,8 +1840,7 @@ erl_script_timeout_option(Config) when is_list(Config) -> {ok, {_, _, Body}} = httpc:request(Url), ct:log("Response: ~p~n", [Body]), - verify_body(Body, 1000), - inets:stop(). + verify_body(Body, 1000). erl_script_timeout_proplist(Config) when is_list(Config) -> HttpdConf = filename:join(get_tmp_dir(Config), @@ -1849,7 +1858,6 @@ erl_script_timeout_proplist(Config) when is_list(Config) -> "].", ok = file:write_file(HttpdConf, ServerConfig), - inets:start(), {ok, Pid} = inets:start(httpd, [{proplist_file, HttpdConf}]), Info = httpd:info(Pid), @@ -1862,8 +1870,7 @@ erl_script_timeout_proplist(Config) when is_list(Config) -> {ok, {_, _, Body}} = httpc:request(Url), ct:log("Response: ~p~n", [Body]), - verify_body(Body, 3000), - inets:stop(). + verify_body(Body, 3000). erl_script_alias_all(Config0) when is_list(Config0) -> ok = start_apps(http_basic), @@ -1872,8 +1879,7 @@ erl_script_alias_all(Config0) when is_list(Config0) -> Config0], Config2 = init_httpd(http_basic_erl_script_alias_all, Config1), ok = http_status("GET /cgi-bin/erl/httpd_example:get ", - Config2, [{statuscode, 200}]), - inets:stop(). + Config2, [{statuscode, 200}]). tls_alert(Config) when is_list(Config) -> SSLOpts = proplists:get_value(client_alert_conf, Config), @@ -2028,7 +2034,8 @@ start_apps(Group) when Group == http_basic; Group == http_mime_types; Group == http_rel_path_script_alias; Group == http_not_sup; - Group == http_mime_types-> + Group == http_mime_types; + Group == esi -> inets_test_lib:start_apps([inets]). server_start(_, HttpdConfig) -> @@ -2144,7 +2151,9 @@ server_config(https, Config) -> ServerConf = proplists:get_value(server_config, SSLConf), [{socket_type, {ssl, [{nodelay, true} | ServerConf]}}] - ++ proplists:delete(socket_type, server_config(http, Config)). + ++ proplists:delete(socket_type, server_config(http, Config)); +server_config(esi, Config) -> + basic_conf() ++ server_config(http, Config). config_template(Config, ServerRoot, ScriptPath, Modules) -> [{port, 0}, @@ -2160,11 +2169,20 @@ config_template(Config, ServerRoot, ScriptPath, Modules) -> {mime_types, [{"html","text/html"},{"htm","text/html"}, {"shtml","text/html"}, {"gif", "image/gif"}]}, {alias, {"/icons/", filename:join(ServerRoot,"icons") ++ "/"}}, - {alias, {"/pics/", filename:join(ServerRoot,"icons") ++ "/"}}, - {script_alias, {"/cgi-bin/", ScriptPath}}, + {re_write, {"/pic(ture)?s/", filename:join(ServerRoot,"icons") ++ "/"}}, {script_alias, {"/htbin/", ScriptPath}}, + {script_alias, {"/cgi-bin/", ScriptPath}}, + {script_re_write, {"/cgi-([a-zA-Z-]*)bin/", ScriptPath}}, {erl_script_alias, {"/cgi-bin/erl", Modules}} - ]. + ] ++ custom_config_options(Config). + +custom_config_options([{Name, _} = Option | Rest]) when Name == erl_script_alias; + Name == erl_script_timeout -> + [Option | custom_config_options(Rest)]; +custom_config_options([_ | Rest]) -> + custom_config_options(Rest); +custom_config_options([]) -> + []. init_httpd(Group, Config0) -> Config1 = proplists:delete(port, Config0), @@ -2644,3 +2662,56 @@ peer(Config) -> _ -> "false" end. + +start_log_watcher() -> + Spawner = self(), + EventDest = erlang:alias(), + HandlerId = ?MODULE, + _ = + spawn( + fun () -> + MonAlias = + monitor(process, Spawner, [{alias,reply_demonitor}]), + EventDest ! {started,EventDest,MonAlias}, + receive + {stop,MonAlias} -> + _ = logger:remove_handler(HandlerId), + EventDest ! {stopped,EventDest}, + ok; + {'DOWN',MonAlias,_,_,_} -> + _ = logger:remove_handler(HandlerId), + ok + end + end), + receive + {started,EventDest,Watcher} -> + Config = #{ config => EventDest }, + ok = logger:add_handler(HandlerId, ?MODULE, Config), + {EventDest,Watcher} + end. + +stop_log_watcher({EventDest,Watcher}) -> + Watcher ! {stop,Watcher}, + receive + {stopped,EventDest} -> + true = unalias(EventDest), + stop_log_watcher_collect(EventDest) + end. +%% +stop_log_watcher_collect(EventDest) -> + receive + {event,EventDest,Event} -> + [Event | stop_log_watcher_collect(EventDest)] + after 0 -> + [] + end. + +log(#{level := Level} = Event, #{ config := EventDest }) -> + %% Pass on events of level 'error' or worse + case logger:compare_levels(Level, error) of + lt -> + ok; + _ -> + EventDest ! {event,EventDest,Event}, + ok + end. diff --git a/lib/inets/test/httpd_all.erl b/lib/inets/test/httpd_all.erl deleted file mode 100644 index b4845e4cf0fa..000000000000 --- a/lib/inets/test/httpd_all.erl +++ /dev/null @@ -1,240 +0,0 @@ -alias(Version, Type, Port, Host, Node) -> - Opts = [], - ok = httpd_test_lib:verify_request(Type, Host, Port, Opts, Node, - "GET /pics/icon.sheet.gif " - ++ Version ++ "\r\n\r\n", - [{statuscode, 200}, - {header, "Content-Type","image/gif"}, - {header, "Server"}, - {header, "Date"}, - {version, Version}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Opts, Node, - "GET / " ++ Version ++ "\r\n\r\n", - [{statuscode, 200}, - {header, "Content-Type","text/html"}, - {header, "Server"}, - {header, "Date"}, - {version, Version}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Opts, Node, - "GET /misc/ " ++ Version ++ "\r\n\r\n", - [{statuscode, 200}, - {header, "Content-Type","text/html"}, - {header, "Server"}, - {header, "Date"}, - {version, Version}]), - - %% Check redirection if trailing slash is missing. - ok = httpd_test_lib:verify_request(Type, Host, Port, Opts, Node, - "GET /misc "++ Version ++ "\r\n\r\n", - [{statuscode, 301}, - {header, "Location"}, - {header, "Content-Type","text/html"}, - {version, Version}]). - - -head(Version, Type, Port, Host, Node) -> - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "HEAD /index.html " ++ Version ++ "\r\n\r\n", - [{statuscode, 200}, - {version, Version}]). - - -get(Version, Type, Port, Host, Node) -> - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /index.html " ++ Version ++ "\r\n\r\n", - [{statuscode, 200}, - {header, "Content-Type", "text/html"}, - {header, "Date"}, - {header, "Server"}, - {version, Version}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /fsize.shtml " ++ Version ++ "\r\nHost:" - ++ Host ++ "\r\n\r\n", - [{statuscode, 200}, - {header, "Content-Type", "text/html"}, - {header, "Date"}, - {header, "Server"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /secret/dummy.html " - ++ Version ++ "\r\n\r\n", - [{statuscode, 401}, - {header, "WWW-Authenticate"}, - {version, Version}]). - -esi(Version, Type, Port, Host, Node) -> - %% Check "ErlScriptAlias" and "EvalScriptAlias" directives - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /eval?httpd_example:print(\"Hi!\") " - ++ Version ++ "\r\n\r\n", - [{statuscode, 200}, - {version, Version}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /eval?not_allowed:print(\"Hi!\") " - ++ Version ++ "\r\n\r\n", - [{statuscode, 403}, - {version, Version}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /eval?httpd_example:undef(\"Hi!\") " - ++ Version ++ "\r\n\r\n", - [{statuscode, 500}, - {version, Version}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example " - ++ Version ++ "\r\n\r\n", - [{statuscode, 400}, - {version, Version}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example:get " - ++ Version ++ "\r\n\r\n", - [{statuscode, 200}, - {version, Version}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example:" - "get?input=4711" - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example:" - "post " ++ Version ++ "\r\n\r\n", - [{statuscode, 200}, - {version, Version}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/not_allowed:post " - ++ Version ++ "\r\n\r\n", - [{statuscode, 403}, - {version, Version}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example:undef " - ++ Version ++ "\r\n\r\n", - [{statuscode, 404}, - {version, Version}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example/yahoo " - ++ Version ++ "\r\n\r\n", - [{statuscode, 302}, - {version, Version}]), - %% Check "ErlScriptNoCache" directive (default: false) - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example:get " - ++ Version ++ "\r\n\r\n", - [{statuscode, 200}, - {no_header, "cache-control"}, - {version, "HTTP/1.0"}]). - -cgi(Version, Type, Port, Host, Node) -> - {Script, Script2, Script3} = - case os:type() of - {win32, _} -> - {"printenv.bat", "printenv.sh", "cgi_echo.exe"}; - _ -> - {"printenv.sh", "printenv.bat", "cgi_echo"} - end, - - %% The length (> 100) is intentional - ok = httpd_test_lib: - verify_request(Type, Host, Port, Node, - "POST /cgi-bin/" ++ Script3 ++ - Version ++ " \r\n" - "Content-Length:100 \r\n\r\n " - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - " \r\n\r\n", - [{statuscode, 200}, - {version, Version}, - {header, "content-type", "text/plain"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/"++ Script ++ - " " ++ Version ++ "\r\n\r\n", - [{statuscode, 200}, - {version, Version}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/not_there " ++ - Version ++ "\r\n\r\n", - [{statuscode, 404},{statuscode, 500}, - {version, Version}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/"++ Script ++ - "?Nisse:kkk?sss/lll " ++ Version ++ "\r\n\r\n", - [{statuscode, 200}, - {version, Version}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "POST /cgi-bin/"++ Script ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /htbin/"++ Script ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /htbin/not_there " - "HTTP/1.0\r\n\r\n", - [{statuscode, 404},{statuscode, 500}, - {version, "HTTP/1.0"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /htbin/"++ Script ++ - "?Nisse:kkk?sss/lll HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "POST /htbin/"++ Script ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "POST /htbin/"++ Script ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - - %% Execute an existing, but bad CGI script.. - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "POST /htbin/"++ Script2 ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 404}, - {version, "HTTP/1.0"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "POST /cgi-bin/"++ Script2 ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 404}, - {version, "HTTP/1.0"}]), - - %% Check "ScriptNoCache" directive (default: false) - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/" ++ Script ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {no_header, "cache-control"}, - {version, "HTTP/1.0"}]). - diff --git a/lib/inets/test/httpd_basic_SUITE.erl b/lib/inets/test/httpd_basic_SUITE.erl index bbeb49083ed8..7b6e82c7cbd0 100644 --- a/lib/inets/test/httpd_basic_SUITE.erl +++ b/lib/inets/test/httpd_basic_SUITE.erl @@ -34,21 +34,20 @@ suite() -> [{ct_hooks,[ts_install_cth]}, {timetrap, {seconds, 30}}]. all() -> - [uri_too_long_414, - header_too_long_413, - entity_too_long, - http_0_9_not_supported, - erl_script_nocache_opt, - script_nocache, - escaped_url_in_error_body, - script_timeout, - slowdose, - keep_alive_timeout, - invalid_rfc1123_date - ]. + [{group, httpd_basic}]. groups() -> - []. + [{httpd_basic, [parallel], [uri_too_long_414, + header_too_long_413, + entity_too_long, + http_0_9_not_supported, + erl_script_nocache_opt, + script_nocache, + escaped_url_in_error_body, + script_timeout, + slowdose, + keep_alive_timeout, + invalid_rfc1123_date]}]. init_per_group(_GroupName, Config) -> Config. diff --git a/lib/inets/test/httpd_mod.erl b/lib/inets/test/httpd_mod.erl deleted file mode 100644 index a133490cfe49..000000000000 --- a/lib/inets/test/httpd_mod.erl +++ /dev/null @@ -1,1000 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2005-2022. All Rights Reserved. -%% -%% 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. -%% -%% %CopyrightEnd% -%% -%% - --module(httpd_mod). - --include_lib("common_test/include/ct.hrl"). - -%% General testcases bodies called from httpd_SUITE --export([alias/4, actions/4, security/5, auth/4, auth_api/6, - auth_mnesia_api/4, htaccess/4, - cgi/4, esi/4, get/4, head/4, all/4]). - -%% Help functions --export([event/4, ssl_password_cb/0]). - -%% Seconds before successful auths timeout. --define(AUTH_TIMEOUT,5). - - -%%------------------------------------------------------------------------- -%% Test cases starts here. -%%------------------------------------------------------------------------- -alias(Type, Port, Host, Node) -> - %% This is very crude, but... - Opts = [], - ok = httpd_test_lib:verify_request(Type, Host, Port, Opts, Node, - "GET /pics/icon.sheet.gif " - "HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {header, "Content-Type","image/gif"}, - {header, "Server"}, - {header, "Date"}, - {version, "HTTP/1.0"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Opts, Node, - "GET / HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {header, "Content-Type","text/html"}, - {header, "Server"}, - {header, "Date"}, - {version, "HTTP/1.0"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Opts, Node, - "GET /misc/ HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {header, "Content-Type","text/html"}, - {header, "Server"}, - {header, "Date"}, - {version, "HTTP/1.0"}]), - - %% Check redirection if trailing slash is missing. - ok = httpd_test_lib:verify_request(Type, Host, Port, Opts, Node, - "GET /misc HTTP/1.0\r\n\r\n", - [{statuscode, 301}, - {header, "Location"}, - {header, "Content-Type","text/html"}, - {version, "HTTP/1.0"}]). - -%%------------------------------------------------------------------------- -actions(Type, Port, Host, Node) -> - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "HEAD / HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]). - - -%%------------------------------------------------------------------------- -security(ServerRoot, Type, Port, Host, Node) -> - - global:register_name(mod_security_test, self()), % Receive events - - ct:sleep(5000), - - OpenDir = filename:join([ServerRoot, "htdocs", "open"]), - - %% Test blocking / unblocking of users. - - %% /open, require user one Aladdin - - remove_users(Node, ServerRoot, Host, Port, "open"), - - auth_request(Type, Host, Port, Node, "/open/", "one", "onePassword", - [{statuscode, 401}]), - - receive_security_event({event, auth_fail, Port, OpenDir, - [{user, "one"}, {password, "onePassword"}]}, - Node, Port), - - auth_request(Type,Host,Port,Node,"/open/", "two", "twoPassword", - [{statuscode, 401}]), - - receive_security_event({event, auth_fail, Port, OpenDir, - [{user, "two"}, {password, "twoPassword"}]}, - Node, Port), - auth_request(Type, Host, Port, Node,"/open/", "Aladdin", - "AladdinPassword", [{statuscode, 401}]), - - receive_security_event({event, auth_fail, Port, OpenDir, - [{user, "Aladdin"}, - {password, "AladdinPassword"}]}, - Node, Port), - add_user(Node, ServerRoot, Port, "open", "one", "onePassword", []), - - add_user(Node, ServerRoot, Port, "open", "two", "twoPassword", []), - - auth_request(Type, Host, Port, Node,"/open/", "one", "WrongPassword", - [{statuscode, 401}]), - receive_security_event({event, auth_fail, Port, OpenDir, - [{user, "one"}, {password, "WrongPassword"}]}, - Node, Port), - auth_request(Type, Host, Port, Node,"/open/", "one", "WrongPassword", - [{statuscode, 401}]), - - receive_security_event({event, auth_fail, Port, OpenDir, - [{user, "one"}, {password, "WrongPassword"}]}, - Node, Port), - receive_security_event({event, user_block, Port, OpenDir, - [{user, "one"}]}, Node, Port), - - global:unregister_name(mod_security_test), % No more events. - - auth_request(Type, Host, Port, Node,"/open/", "one", "WrongPassword", - [{statuscode, 401}]), - auth_request(Type, Host, Port, Node,"/open/", "one", "onePassword", - [{statuscode, 403}]), - - %% User "one" should be blocked now.. - case list_blocked_users(Node, Port) of - [{"one",_, Port, OpenDir,_}] -> - ok; - Blocked -> - exit({unexpected_blocked, Blocked}) - end, - - [{"one",_, Port, OpenDir,_}] = list_blocked_users(Node, Port, OpenDir), - - true = unblock_user(Node, "one", Port, OpenDir), - %% User "one" should not be blocked any more. - - [] = list_blocked_users(Node, Port), - - auth_request(Type, Host, Port, Node,"/open/", "one", "onePassword", - [{statuscode, 200}]), - - - - %% Test list_auth_users & auth_timeout - ["one"] = list_auth_users(Node, Port), - - auth_request(Type, Host, Port, Node,"/open/", "two", "onePassword", - [{statuscode, 401}]), - ["one"] = list_auth_users(Node, Port), - - ["one"] = list_auth_users(Node, Port, OpenDir), - - auth_request(Type, Host, Port, Node,"/open/", "two", "twoPassword", - [{statuscode, 401}]), - - ["one"] = list_auth_users(Node, Port), - - ["one"] = list_auth_users(Node, Port, OpenDir), - - %% Wait for successful auth to timeout. - ct:sleep(?AUTH_TIMEOUT*1001), - - [] = list_auth_users(Node, Port), - - - [] = list_auth_users(Node, Port, OpenDir), - - %% "two" is blocked. - - true = unblock_user(Node, "two", Port, OpenDir), - %% Test explicit blocking. Block user 'two'. - - [] = list_blocked_users(Node,Port,OpenDir), - - true = block_user(Node, "two", Port, OpenDir, 10), - auth_request(Type, Host, Port, Node,"/open/", "two", "twoPassword", - [{statuscode, 401}]). - -%%------------------------------------------------------------------------- -auth(Type, Port, Host, Node) -> - - %% Authentication required! - ok = httpd_test_lib:verify_request(Type,Host,Port,Node, - "GET /open/ HTTP/1.0\r\n\r\n", - [{statuscode, 401}, - {version, "HTTP/1.0"}, - {header, "WWW-Authenticate"}]), - ok = httpd_test_lib:verify_request(Type,Host,Port,Node, - "GET /secret/ HTTP/1.0\r\n\r\n", - [{statuscode, 401}, - {version, "HTTP/1.0"}, - {header, "WWW-Authenticate"}]), - ok = httpd_test_lib:verify_request(Type,Host,Port,Node, - "GET /secret/top_secret/" - " HTTP/1.0\r\n\r\n", - [{statuscode, 401}, - {version, "HTTP/1.0"}, - {header, "WWW-Authenticate"}]), - - %% Authentication OK! ["one:OnePassword" user first in user list] - auth_request(Type, Host, Port, Node, "/open/dummy.html", "one", - "onePassword", [{statuscode, 200}]), - %% Authentication OK and a directory listing is supplied! - %% ["Aladdin:open sesame" user second in user list] - auth_request(Type, Host, Port, Node, "/open/","Aladdin", - "AladdinPassword", [{statuscode, 200}]), - - %% User correct but wrong password! ["one:one" user first in user list] - auth_request(Type, Host, Port, Node, "/open/", "one", "one", - [{statuscode, 401},{header, "WWW-Authenticate"}]), - %% Make sure Authenticate header is received even the second time - %% we try a incorrect password! Otherwise a browser client will hang! - auth_request(Type, Host, Port, Node, "/open/", "one", "one", - [{statuscode, 401},{header, "WWW-Authenticate"}]), - - %% Neither user or password correct! ["dummy:dummy"] - auth_request(Type, Host, Port, Node, "/open/", "dummy", "dummy", - [{statuscode, 401}]), - - %% Authentication OK! ["two:TwoPassword" user in first group] - auth_request(Type, Host, Port, Node, "/secret/dummy.html", "two", - "twoPassword", [{statuscode, 200}]), - %% Authentication OK and a directory listing is supplied! - %% ["three:ThreePassword" user in second group] - auth_request(Type, Host, Port, Node,"/secret/", "three", - "threePassword", [{statuscode, 200}]), - - %% User correct but wrong password! ["two:two" user in first group] - auth_request(Type, Host, Port, Node, "/secret/", "two", "two", - [{statuscode, 401}]), - %% Neither user or password correct! ["dummy:dummy"] - auth_request(Type, Host, Port, Node,"/secret/", "dummy", "dummy", - [{statuscode, 401}]), - - %% Nested secret/top_secret OK! ["Aladdin:open sesame"] - auth_request(Type, Host, Port, Node, "/secret/top_secret/", "Aladdin", - "AladdinPassword", [{statuscode, 200}]), - %% Authentication still required! - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, "GET /open/ " - "HTTP/1.0\r\n\r\n", - [{statuscode, 401}, - {version, "HTTP/1.0"}, - {header, "WWW-Authenticate"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, "GET /secret/ " - "HTTP/1.0\r\n\r\n", - [{statuscode, 401}, - {version, "HTTP/1.0"}, - {header, "WWW-Authenticate"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /secret/top_secret/ " - "HTTP/1.0\r\n\r\n", - [{statuscode, 401}, - {version, "HTTP/1.0"}, - {header, "WWW-Authenticate"}]). - - -%%------------------------------------------------------------------------- -%% What to test here: -%% -%% /open - plain, require user one Aladdin -%% /secret - plain, require group group1 group2 -%% /secret/top_secret - plain, require group group3 -%% /dets_open - dets, require user one Aladdin -%% /dets_secret - dets, require group group1 group2 -%% /dets_secret/top_secret - dets, require group group3 -%% /mnesia_open/ - mnesia, require user one Aladdin -%% /mnesia_secret/ - mnesia, require group group1 group2 -%% /mnesia_secret/top_secret/ - mnesia, require group group3 -auth_api(ServerRoot, AuthStoreType, Type, Port, Host, Node) -> - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET / HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - auth_request(Type, Host, Port, Node, "/", "one", "WrongPassword", - [{statuscode, 200}]), - - %% Make sure Authenticate header is received even the second time - %% we try a incorrect password! Otherwise a browser client will hang! - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ "open/", - "dummy", "WrongPassword", [{statuscode, 401}, - {header, "WWW-Authenticate"}]), - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ "open/", - "dummy", "WrongPassword", [{statuscode, 401}, - {header, "WWW-Authenticate"}]), - - %% Change the password to DummyPassword then try to add a user - %% Get an error and set it to NoPassword - ok = update_password(Node, ServerRoot, Host, Port, AuthStoreType ++ - "open", "NoPassword", "DummyPassword"), - {error,bad_password} = - add_user(Node, ServerRoot, Port, AuthStoreType ++ "open", "one", - "onePassword", []), - ok = update_password(Node, ServerRoot, Host, Port, AuthStoreType ++"open", - "DummyPassword", "NoPassword"), - - %% Test /*open, require user one Aladdin - remove_users(Node, ServerRoot, Host, Port, AuthStoreType ++ "open"), - - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ "open/", - "one", "onePassword", [{statuscode, 401}]), - - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ "open/", - "two", "twoPassword", [{statuscode, 401}]), - - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ "open/", - "Aladdin", "onePassword", [{statuscode, 401}]), - - add_user(Node, ServerRoot, Port, AuthStoreType ++ "open", "one", - "onePassword", []), - add_user(Node, ServerRoot, Port, AuthStoreType ++ "open", "two", - "twoPassword", []), - add_user(Node, ServerRoot, Port, AuthStoreType ++ "open", "Aladdin", - "AladdinPassword", []), - - {ok, [_|_]} = list_users(Node, ServerRoot, Host, Port, - AuthStoreType++"open"), - auth_request(Type, Host, Port, Node, "/" ++ AuthStoreType ++ "open/", - "one", "WrongPassword", [{statuscode, 401}]), - auth_request(Type, Host, Port, Node, "/" ++ AuthStoreType ++ "open/", - "one", "onePassword", [{statuscode, 200}]), - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ "open/", - "two", "twoPassword", [{statuscode, 401}]), - auth_request(Type, Host, Port, Node, "/" ++ AuthStoreType ++ "open/", - "Aladdin", "WrongPassword", [{statuscode, 401}]), - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ "open/", - "Aladdin", "AladdinPassword", [{statuscode, 200}]), - - remove_users(Node, ServerRoot, Host, Port, AuthStoreType++"open"), - {ok, []} = list_users(Node, ServerRoot, Host, Port, - AuthStoreType++"open"), - - %% Phase 2 - remove_users(Node, ServerRoot, Host, Port, AuthStoreType++"secret"), - {ok, []} = list_users(Node, ServerRoot, Host, Port, AuthStoreType ++ - "secret"), - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ "secret/", - "one", "onePassword", [{statuscode, 401}]), - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ "secret/", - "two", "twoPassword", [{statuscode, 401}]), - auth_request(Type, Host, Port, Node, "/" ++ AuthStoreType ++ "secret/", - "three", "threePassword", [{statuscode, 401}]), - add_user(Node, ServerRoot, Port, AuthStoreType ++ "secret", "one", - "onePassword", - []), - add_user(Node, ServerRoot, Port, AuthStoreType ++ "secret", - "two", "twoPassword", []), - add_user(Node, ServerRoot, Port, AuthStoreType++"secret", "Aladdin", - "AladdinPassword",[]), - add_group_member(Node, ServerRoot, Port, AuthStoreType ++ "secret", - "one", "group1"), - add_group_member(Node, ServerRoot, Port, AuthStoreType ++ "secret", - "two", "group1"), - add_group_member(Node, ServerRoot, Port, AuthStoreType ++ - "secret", "Aladdin", "group2"), - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ "secret/", - "one", "onePassword", [{statuscode, 200}]), - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ "secret/", - "two", "twoPassword", [{statuscode, 200}]), - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ "secret/", - "Aladdin", "AladdinPassword", [{statuscode, 200}]), - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ "secret/", - "three", "threePassword", [{statuscode, 401}]), - remove_users(Node, ServerRoot, Host, Port, AuthStoreType ++ "secret"), - {ok, []} = list_users(Node, ServerRoot, Host, Port, - AuthStoreType ++ "secret"), - remove_groups(Node, ServerRoot, Host, Port, AuthStoreType ++ "secret"), - Directory = filename:join([ServerRoot, "htdocs", AuthStoreType ++ - "secret"]), - {ok, []} = list_groups(Node, ServerRoot, Host, Port, Directory), - - %% Phase 3 - remove_users(Node, ServerRoot, Host, Port, AuthStoreType ++ - "secret/top_secret"), - remove_groups(Node, ServerRoot, Host, Port, AuthStoreType ++ - "secret/top_secret"), - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ - "secret/top_secret/", - "three", "threePassword", [{statuscode, 401}]), - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ - "secret/top_secret/", "two", "twoPassword", - [{statuscode, 401}]), - add_user(Node, ServerRoot, Port, AuthStoreType ++ - "secret/top_secret","three", - "threePassword",[]), - add_user(Node, ServerRoot, Port, AuthStoreType ++ "secret/top_secret", - "two","twoPassword", []), - add_group_member(Node, ServerRoot, Port, AuthStoreType ++ - "secret/top_secret", - "three", "group3"), - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ - "secret/top_secret/", "three", "threePassword", - [{statuscode, 200}]), - auth_request(Type, Host, Port, Node,"/" ++ AuthStoreType ++ - "secret/top_secret/", "two", "twoPassword", - [{statuscode, 401}]), - add_group_member(Node, ServerRoot, Port, AuthStoreType ++ - "secret/top_secret", - "two", "group3"), - auth_request(Type,Host,Port,Node,"/" ++ AuthStoreType ++ - "secret/top_secret/", - "two", "twoPassword", [{statuscode, 200}]), - remove_users(Node, ServerRoot, Host, Port, AuthStoreType ++ - "secret/top_secret"), - {ok, []} = list_users(Node, ServerRoot, Host, Port, - AuthStoreType ++ "secret/top_secret"), - remove_groups(Node, ServerRoot, Host, Port, AuthStoreType ++ - "secret/top_secret"), - Directory2 = filename:join([ServerRoot, "htdocs", - AuthStoreType ++ "secret/top_secret"]), - {ok, []} = list_groups(Node, ServerRoot, Host, Port, Directory2), - auth_request(Type, Host, Port, Node, "/" ++ AuthStoreType ++ - "secret/top_secret/", "two", "twoPassword", - [{statuscode, 401}]), - auth_request(Type, Host, Port, Node, "/" ++ AuthStoreType ++ - "secret/top_secret/","three", "threePassword", - [{statuscode, 401}]). - -%%-------------------------------------------------------------------------- -auth_mnesia_api(_Type, Port, _Host, _Node) -> - %% Create three groups: - %% group1 : one Aladdin - %% group2 : two - %% group3 : three - mod_auth_mnesia:store_user("one", "onePassword", Port, - "/mnesia_open", ""), - mod_auth_mnesia:store_user("Aladdin", "AladdinPassword", Port, - "/mnesia_open", ""), - mod_auth_mnesia:store_user("two", "twoPassword", Port, - "/mnesia_open", ""), - mod_auth_mnesia:store_user("three", "threePassword", Port, - "/mnesia_open", ""), - Users = mod_auth_mnesia:list_users(Port, "/mnesia_open"), - - ok = check_lists_members(Users,["Aladdin","one","two","three"]), - - true = mod_auth_mnesia:store_group_member("group1", "one", Port, - "/mnesia_open", ""), - true = mod_auth_mnesia:store_group_member("group1","Aladdin", Port, - "/mnesia_open", ""), - true = mod_auth_mnesia:store_group_member("group2","two", Port, - "/mnesia_open", ""), - true = mod_auth_mnesia:store_group_member("group3","three", Port, - "/mnesia_open", ""), - %% Check that all three created groups exist. - Groups = mod_auth_mnesia:list_groups(Port, "/mnesia_open"), - ok = check_lists_members(Groups, ["group1","group2","group3"]), - - %% Check that the members of all groups are correct. - Group1 = mod_auth_mnesia:list_group_members("group1", Port, - "/mnesia_open"), - ok = check_lists_members(Group1,["one","Aladdin"]), - {ok,["two"]} = mod_auth_mnesia:list_group_members("group2", Port, - "/mnesia_open"), - - {ok,["three"]} = mod_auth_mnesia:list_group_members("group3", Port, - "/mnesia_open"), - - %% Delete user 'one' from group one and check that he was removed - %% correctly. - true = mod_auth_mnesia:remove_group_member("group1", "one", Port, - "/mnesia_open", ""), - {ok,["Aladdin"]} = mod_auth_mnesia:list_group_members("group1", Port, - "/mnesia_open"), - - %% Remove group1 and check that the group was removed correctly. - true = mod_auth_mnesia:remove_group("group1", Port, "/mnesia_open", ""), - Groups_1 = mod_auth_mnesia:list_groups(Port, "/mnesia_open"), - ok = check_lists_members(Groups_1,["group2","group3"]), - - %% Check that the other users still exist in their groups. - Users_1 = mod_auth_mnesia:list_users(Port, "/mnesia_open"), - ok = check_lists_members(Users_1,["Aladdin","one","two","three"]), - {ok,["two"]} = mod_auth_mnesia:list_group_members("group2", Port, - "/mnesia_open"), - {ok,["three"]} = mod_auth_mnesia:list_group_members("group3", Port, - "/mnesia_open"), - - %% Remove the remaining groups/users and check that all - %% users/groups are removed. - true = mod_auth_mnesia:remove_group("group2", Port, "/mnesia_open", ""), - true = mod_auth_mnesia:remove_group("group3", Port, "/mnesia_open", ""), - {ok, []} = mod_auth_mnesia:list_groups(Port, "/mnesia_open"), - true = mod_auth_mnesia:remove_user("one", Port, "/mnesia_open", ""), - true = mod_auth_mnesia:remove_user("Aladdin", Port, "/mnesia_open", ""), - true = mod_auth_mnesia:remove_user("two", Port, "/mnesia_open", ""), - true = mod_auth_mnesia:remove_user("three", Port, "/mnesia_open", ""), - {ok, []} = mod_auth_mnesia:list_users(Port, "/mnesia_open"), - ok. -%%-------------------------------------------------------------------------- -htaccess(Type, Port, Host, Node) -> - %% Control that authentication required! - %% Control that the pages that shall be - %% authenticated really need authenticatin - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /ht/open/ HTTP/1.0\r\n\r\n", - [{statuscode, 401}, - {version, "HTTP/1.0"}, - {header, "WWW-Authenticate"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /ht/secret/ HTTP/1.0\r\n\r\n", - [{statuscode, 401}, - {version, "HTTP/1.0"}, - {header, "WWW-Authenticate"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /ht/secret/top_secret/ " - "HTTP/1.0\r\n\r\n", - [{statuscode, 401}, - {version, "HTTP/1.0"}, - {header, "WWW-Authenticate"}]), - - %% Make sure Authenticate header is received even the second time - %% we try a incorrect password! Otherwise a browser client will hang! - auth_request(Type, Host, Port, Node,"/ht/open/", - "dummy", "WrongPassword", [{statuscode, 401}, - {header, "WWW-Authenticate"}]), - auth_request(Type, Host, Port, Node,"/ht/open/", - "dummy", "WrongPassword", [{statuscode, 401}, - {header, "WWW-Authenticate"}]), - - %% Control that not just the first user in the list is valid - %% Control the first user - %% Authennticating ["one:OnePassword" user first in user list] - auth_request(Type, Host, Port, Node, "/ht/open/dummy.html", "one", - "OnePassword", [{statuscode, 200}]), - - %% Control the second user - %% Authentication OK and a directory listing is supplied! - %% ["Aladdin:open sesame" user second in user list] - auth_request(Type, Host, Port, Node, "/ht/open/","Aladdin", - "AladdinPassword", [{statuscode, 200}]), - - %% Control that bad passwords and userids get a good denial - %% User correct but wrong password! ["one:one" user first in user list] - auth_request(Type, Host, Port, Node, "/ht/open/", "one", "one", - [{statuscode, 401}]), - %% Neither user or password correct! ["dummy:dummy"] - auth_request(Type, Host, Port, Node, "/ht/open/", "dummy", "dummy", - [{statuscode, 401}]), - - %% Control that authentication still works, even if its a member in a group - %% Authentication OK! ["two:TwoPassword" user in first group] - auth_request(Type, Host, Port, Node, "/ht/secret/dummy.html", "two", - "TwoPassword", [{statuscode, 200}]), - - %% Authentication OK and a directory listing is supplied! - %% ["three:ThreePassword" user in second group] - auth_request(Type, Host, Port, Node,"/ht/secret/", "three", - "ThreePassword", [{statuscode, 200}]), - - %% Deny users with bad passwords even if the user is a group member - %% User correct but wrong password! ["two:two" user in first group] - auth_request(Type, Host, Port, Node, "/ht/secret/", "two", "two", - [{statuscode, 401}]), - %% Neither user or password correct! ["dummy:dummy"] - auth_request(Type, Host, Port, Node,"/ht/secret/", "dummy", "dummy", - [{statuscode, 401}]), - - %% control that we deny the users that are in subnet above the allowed - auth_request(Type, Host, Port, Node,"/ht/blocknet/dummy.html", "four", - "FourPassword", [{statuscode, 403}]), - %% Control that we only applies the rules to the right methods - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "HEAD /ht/blocknet/dummy.html" - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - - %% Control that the rerquire directive can be overrideen - auth_request(Type, Host, Port, Node, - "/ht/secret/top_secret/", "Aladdin", "AladdinPassword", - [{statuscode, 401}]), - - %% Authentication still required! - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, "GET /ht/open/ " - "HTTP/1.0\r\n\r\n", - [{statuscode, 401}, - {version, "HTTP/1.0"}, - {header, "WWW-Authenticate"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /ht/secret/ HTTP/1.0\r\n\r\n", - [{statuscode, 401}, - {version, "HTTP/1.0"}, - {header, "WWW-Authenticate"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /ht/secret/top_secret/ " - "HTTP/1.0\r\n\r\n", - [{statuscode, 401}, - {version, "HTTP/1.0"}, - {header, "WWW-Authenticate"}]). -%%-------------------------------------------------------------------- -cgi(Type, Port, Host, Node) -> - {Script, Script2, Script3} = - case os:type() of - {win32, _} -> - {"printenv.bat", "printenv.sh", "cgi_echo.exe"}; - _ -> - {"printenv.sh", "printenv.bat", "cgi_echo"} - end, - - %% The length (> 100) is intentional - ok = httpd_test_lib: - verify_request(Type, Host, Port, Node, - "POST /cgi-bin/" ++ Script3 ++ - " HTTP/1.0\r\n" - "Content-Length:100 \r\n\r\n " - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - " \r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}, - {header, "content-type", "text/plain"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/"++ Script ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/not_there " - "HTTP/1.0\r\n\r\n", - [{statuscode, 404},{statuscode, 500}, - {version, "HTTP/1.0"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/"++ Script ++ - "?Nisse:kkk?sss/lll HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "POST /cgi-bin/"++ Script ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /htbin/"++ Script ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /htbin/not_there " - "HTTP/1.0\r\n\r\n", - [{statuscode, 404},{statuscode, 500}, - {version, "HTTP/1.0"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /htbin/"++ Script ++ - "?Nisse:kkk?sss/lll HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "POST /htbin/"++ Script ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "POST /htbin/"++ Script ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - - %% Execute an existing, but bad CGI script.. - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "POST /htbin/"++ Script2 ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 404}, - {version, "HTTP/1.0"}]), - - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "POST /cgi-bin/"++ Script2 ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 404}, - {version, "HTTP/1.0"}]), - - %% Check "ScriptNoCache" directive (default: false) - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/" ++ Script ++ - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {no_header, "cache-control"}, - {version, "HTTP/1.0"}]). - -%%-------------------------------------------------------------------- -esi(Type, Port, Host, Node) -> - %% Check "ErlScriptAlias" and "EvalScriptAlias" directives - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /eval?httpd_example:print(\"Hi!\")" - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /eval?not_allowed:print(\"Hi!\")" - " HTTP/1.0\r\n\r\n", - [{statuscode, 403}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /eval?httpd_example:undef(\"Hi!\")" - " HTTP/1.0\r\n\r\n", - [{statuscode, 500}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example " - "HTTP/1.0\r\n\r\n", - [{statuscode, 400}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example:get " - "HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example:" - "get?input=4711" - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example:" - "post HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/not_allowed:post " - "HTTP/1.0\r\n\r\n", - [{statuscode, 403}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example:undef " - "HTTP/1.0\r\n\r\n", - [{statuscode, 404}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example/yahoo" - " HTTP/1.0\r\n\r\n", - [{statuscode, 302}, - {version, "HTTP/1.0"}]), - %% Check "ErlScriptNoCache" directive (default: false) - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example:get" - " HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {no_header, "cache-control"}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /cgi-bin/erl/httpd_example:new_status_and_location" - " HTTP/1.1\r\n\r\n", - [{statuscode, 201}, - {header, "Location"}, - {version, "HTTP/1.1"}]), - ok. - -%%-------------------------------------------------------------------- -get(Type, Port, Host, Node) -> - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /index.html HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {header, "Content-Type", "text/html"}, - {header, "Date"}, - {header, "Server"}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /fsize.shtml HTTP/1.1\r\nHost:" - ++ Host ++ "\r\n\r\n", - [{statuscode, 200}, - {header, "Content-Type", "text/html"}, - {header, "Date"}, - {header, "Server"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /fsize.shtml HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {header, "Content-Type"}, - {header, "Server"}, - {header, "Date"}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /secret/dummy.html " - "HTTP/1.0\r\n\r\n", - [{statuscode, 401}, - {header, "WWW-Authenticate"}, - {version, "HTTP/1.0"}]), - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "GET /index.html HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {header, "Server"}, - {header, "Date"}, - {header, "Content-Type", - "text/html"}, - {version, "HTTP/1.0"}]), - ok. - -%%-------------------------------------------------------------------- -head(Type, Port, Host, Node) -> - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - "HEAD /index.html HTTP/1.0\r\n\r\n", - [{statuscode, 200}, - {version, "HTTP/1.0"}]), - ok. -%%-------------------------------------------------------------------- -all(Type, Port, Host, Node) -> - actions(Type, Port, Host, Node), - alias(Type, Port, Host, Node), - auth(Type, Port, Host, Node), - cgi(Type, Port, Host, Node), - esi(Type, Port, Host, Node), - get(Type, Port, Host, Node), - head(Type, Port, Host, Node), - ok. - -%%-------------------------------------------------------------------- -%% Internal functions -%%-------------------------------------------------------------------- -auth_request(Type, Host, Port, Node, URI, User, Passwd, Expect) -> - Req = ["GET ", URI, " HTTP/1.0\r\n", - "Authorization: Basic ", - base64:encode_to_string(User++":"++Passwd), - "\r\n\r\n"], - ok = httpd_test_lib:verify_request(Type, Host, Port, Node, - lists:flatten(Req), - [{version, "HTTP/1.0"} | Expect]). - -remove_users(Node, ServerRoot, Host, Port, Dir) -> - %% List users, delete them, and make sure they are gone. - case list_users(Node, ServerRoot, Host, Port, Dir) of - {ok, Users} -> - lists:foreach(fun(User) -> - delete_user(Node, ServerRoot, Host, - Port, Dir, User) - end, - Users), - {ok, []} = list_users(Node, ServerRoot, Host, Port, Dir); - _ -> - ok - end. - -add_user(Node, Root, Port, Dir, User, Password, UserData) -> - Addr = undefined, - Directory = filename:join([Root, "htdocs", Dir]), - rpc:call(Node, mod_auth, add_user, - [User, Password, UserData, Addr, Port, Directory]). - -delete_user(Node, Root, _Host, Port, Dir, User) -> - Addr = undefined, - Directory = filename:join([Root, "htdocs", Dir]), - rpc:call(Node, mod_auth, delete_user, [User, Addr, Port, Directory]). - -list_users(Node, Root, _Host, Port, Dir) -> - Addr = undefined, - Directory = filename:join([Root, "htdocs", Dir]), - rpc:call(Node, mod_auth, list_users, [Addr, Port, Directory]). - - -receive_security_event(Event, Node, Port) -> - receive - Event -> - ok; - {'EXIT', _, _} -> - receive_security_event(Event, Node, Port) - after 5000 -> - %% Flush the message queue, to see if we got something... - Msgs = inets_test_lib:flush(), - ct:fail({expected_event_not_received, Msgs}) - - end. - -%% receive_security_event(Event, Node, Port) -> -%% io:format(user, "~w:receive_security_event -> entry with" -%% "~n Event: ~p" -%% "~n Node: ~p" -%% "~n Port: ~p" -%% "~n", [?MODULE, Event, Node, Port]), -%% receive -%% Event -> -%% ok; -%% {'EXIT', _, _} -> -%% receive_security_event(Event, Node, Port); -%% Other -> -%% ct:fail({unexpected_event, -%% {expected, Event}, {received, Other}}) -%% after 5000 -> -%% ct:fail(no_event_recived) - -%% end. - -list_blocked_users(Node,Port) -> - Addr = undefined, % Assumed to be on the same host - rpc:call(Node, mod_security, list_blocked_users, [Addr,Port]). - -list_blocked_users(Node,Port,Dir) -> - Addr = undefined, % Assumed to be on the same host - rpc:call(Node, mod_security, list_blocked_users, [Addr,Port,Dir]). - -block_user(Node,User,Port,Dir,Sec) -> - Addr = undefined, % Assumed to be on the same host - rpc:call(Node, mod_security, block_user, [User, Addr, Port, Dir, Sec]). - -unblock_user(Node,User,Port,Dir) -> - Addr = undefined, % Assumed to be on the same host - rpc:call(Node, mod_security, unblock_user, [User, Addr, Port, Dir]). - -list_auth_users(Node,Port) -> - Addr = undefined, % Assumed to be on the same host - rpc:call(Node, mod_security, list_auth_users, [Addr,Port]). - -list_auth_users(Node,Port,Dir) -> - Addr = undefined, % Assumed to be on the same host - rpc:call(Node, mod_security, list_auth_users, [Addr,Port,Dir]). - -update_password(Node, ServerRoot, _Address, Port, Dir, Old, New)-> - Directory = filename:join([ServerRoot, "htdocs", Dir]), - rpc:call(Node, mod_auth, update_password, - [undefined, Port, Directory, Old, New, New]). - -remove_groups(Node, ServerRoot, Host, Port, Dir) -> - Directory = filename:join([ServerRoot, "htdocs", Dir]), - {ok, Groups} = list_groups(Node, ServerRoot, Host, Port, Directory), - lists:foreach(fun(Group) -> - delete_group(Node, Group, Port, Directory) - end, - Groups), - {ok, []} = list_groups(Node, ServerRoot, Host, Port, Directory), - ok. - -delete_group(Node, Group, Port, Dir) -> - Addr = undefined, - rpc:call(Node, mod_auth, delete_group, [Group, Addr, Port, Dir]). - -list_groups(Node, _, _, Port, Dir) -> - Addr = undefined, - rpc:call(Node, mod_auth, list_groups, [Addr, Port, Dir]). - -add_group_member(Node, ServerRoot, Port, Dir, User, Group) -> - Addr = undefined, - rpc:call(Node, mod_auth, add_group_member, [Group, User, Addr, Port, - filename:join( - [ServerRoot, - "htdocs",Dir])]). -event(What, Port, Dir, Data) -> - Msg = {event, What, Port, Dir, Data}, - case global:whereis_name(mod_security_test) of - undefined -> - ok; - _Pid -> - global:send(mod_security_test, Msg) - end. - -ssl_password_cb() -> - "dummy-ssl-password". - -check_lists_members({ok,L},L) -> - ok; -check_lists_members({ok,L1},L2) -> - check_lists_members1(lists:sort(L1),lists:sort(L2)); -check_lists_members(Error,_L) -> - Error. - -check_lists_members1(L,L) -> - ok; -check_lists_members1(L1,L2) -> - {error,{lists_not_equal,L1,L2}}. - - - diff --git a/lib/inets/test/httpd_mod_SUITE.erl b/lib/inets/test/httpd_mod_SUITE.erl deleted file mode 100644 index 4a1289a72ab8..000000000000 --- a/lib/inets/test/httpd_mod_SUITE.erl +++ /dev/null @@ -1,74 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2013-2021. All Rights Reserved. -%% -%% 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. -%% -%% %CopyrightEnd% -%% -%% - -%% -%% ct:run("../inets_test", httpd_mod_SUITE). --module(httpd_mod_SUITE). - --include_lib("kernel/include/file.hrl"). --include_lib("common_test/include/ct.hrl"). --include("inets_test_lib.hrl"). - -%% Note: This directive should only be used in test suites. --compile(export_all). - -%%-------------------------------------------------------------------- -%% Common Test interface functions ----------------------------------- -%%-------------------------------------------------------------------- -suite() -> - [{ct_hooks,[ts_install_cth]}]. - -all() -> - [ - {group, http}, - {group, https} - ]. - -groups() -> - [ - {http, [], all_version_groups()}, - {https, [], all_version_groups()}, - {http_1_1, [], []}, - {http_1_0, [], []}, - {mod_alias, [], []}, - {mod_actions, [], []}, - {mod_security, [], []}, - {mod_auth, [], []}, - {mod_cgi, [], []}, - {mod_esi, [], []}, - {mod_head, [], []}, - {configure, [], []} - ]. - -all_version_groups ()-> - [ - {group, mod_alias}, - {group, mod_actions}, - {group, mod_security}, - {group, mod_auth}, - {group, mod_cgi}, - {group, mod_esi}, - {group, mod_head} - ]. - -%%------------------------------------------------------------------------- -%% Test cases starts here. -%%------------------------------------------------------------------------- diff --git a/lib/inets/test/httpd_test_data/server_root/Makefile b/lib/inets/test/httpd_test_data/server_root/Makefile index 4defc918cad4..582dd9079875 100644 --- a/lib/inets/test/httpd_test_data/server_root/Makefile +++ b/lib/inets/test/httpd_test_data/server_root/Makefile @@ -40,11 +40,7 @@ MODULE= AUTH_FILES = auth/group \ auth/passwd CGI_FILES = cgi-bin/printenv.sh -CONF_FILES = conf/8080.conf \ - conf/8888.conf \ - conf/httpd.conf \ - conf/ssl.conf \ - conf/mime.types +CONF_FILES = conf/mime.types OPEN_FILES = htdocs/open/dummy.html MNESIA_OPEN_FILES = htdocs/mnesia_open/dummy.html MISC_FILES = htdocs/misc/friedrich.html \ diff --git a/lib/inets/test/httpd_test_data/server_root/conf/8080.conf b/lib/inets/test/httpd_test_data/server_root/conf/8080.conf deleted file mode 100644 index 7b1b4a15b2ac..000000000000 --- a/lib/inets/test/httpd_test_data/server_root/conf/8080.conf +++ /dev/null @@ -1,79 +0,0 @@ -Port 8080 -#ServerName your.server.net -SocketType ip_comm -Modules mod_alias mod_auth mod_esi mod_actions mod_cgi mod_dir mod_get mod_head mod_log mod_disk_log -ServerAdmin jocke@erix.ericsson.se -ServerRoot /var/tmp/server_root -ErrorLog logs/error_log_8080 -TransferLog logs/access_log_8080 -SecurityLog logs/security_log_8080 -ErrorDiskLog logs/error_disk_log_8080 -ErrorDiskLogSize 200000 10 -TransferDiskLog logs/access_disk_log_8080 -TransferDiskLogSize 200000 10 -SecurityDiskLog logs/security_disk_log -SecurityDiskLogSize 200000 10 -MaxClients 50 -#KeepAlive 5 -#KeepAliveTimeout 10 -DocumentRoot /var/tmp/server_root/htdocs -DirectoryIndex index.html welcome.html -DefaultType text/plain -Alias /icons/ /var/tmp/server_root/icons/ -Alias /pics/ /var/tmp/server_root/icons/ -ScriptAlias /cgi-bin/ /var/tmp/server_root/cgi-bin/ -ScriptAlias /htbin/ /var/tmp/server_root/cgi-bin/ -ErlScriptAlias /cgi-bin/erl httpd_example io -EvalScriptAlias /eval httpd_example io -#Script HEAD /cgi-bin/printenv.sh -#Action image/gif /cgi-bin/printenv.sh - - -AuthDBType plain -AuthName Open Area -AuthUserFile /var/tmp/server_root/auth/passwd -AuthGroupFile /var/tmp/server_root/auth/group -require user one Aladdin - - - -AuthDBType plain -AuthName Secret Area -AuthUserFile /var/tmp/server_root/auth/passwd -AuthGroupFile /var/tmp/server_root/auth/group -require group group1 group2 - - - -AuthDBType plain -AuthName Top Secret Area -AuthUserFile /var/tmp/server_root/auth/passwd -AuthGroupFile /var/tmp/server_root/auth/group -require group group3 - - - -AuthDBType mnesia -AuthName Open Area -require user one Aladdin - - - -AuthDBType mnesia -AuthName Secret Area -require group group1 group2 - - - -AuthDBType mnesia -AuthName Top Secret Area -require group group3 -allow from 130.100.34 130.100.35 -deny from 100.234.22.12 194.100.34.1 130.100.34.25 -SecurityDataFile logs/security_data -SecurityMaxRetries 3 -SecurityBlockTime 10 -SecurityFailExpireTime 1 -SecurityAuthTimeout 1 -SecurityCallbackModule security_callback - diff --git a/lib/inets/test/httpd_test_data/server_root/conf/8888.conf b/lib/inets/test/httpd_test_data/server_root/conf/8888.conf deleted file mode 100644 index 042779fcd0c0..000000000000 --- a/lib/inets/test/httpd_test_data/server_root/conf/8888.conf +++ /dev/null @@ -1,63 +0,0 @@ -Port 8888 -#ServerName your.server.net -SocketType ip_comm -Modules mod_alias mod_auth mod_esi mod_actions mod_cgi mod_dir mod_get mod_head mod_log mod_disk_log -ServerAdmin jocke@erix.ericsson.se -ServerRoot /var/tmp/server_root -ErrorLog logs/error_log_8888 -TransferLog logs/access_log_8888 -ErrorDiskLog logs/error_disk_log_8888 -ErrorDiskLogSize 200000 10 -TransferDiskLog logs/access_disk_log_8888 -TransferDiskLogSize 200000 10 -MaxClients 150 -DocumentRoot /var/tmp/server_root/htdocs -DirectoryIndex index.html welcome.html -DefaultType text/plain -Alias /icons/ /var/tmp/server_root/icons/ -Alias /pics/ /var/tmp/server_root/icons/ -ScriptAlias /cgi-bin/ /var/tmp/server_root/cgi-bin/ -ScriptAlias /htbin/ /var/tmp/server_root/cgi-bin/ -ErlScriptAlias /cgi-bin/erl httpd_example io -EvalScriptAlias /eval httpd_example io -#Script HEAD /cgi-bin/printenv.sh -#Action image/gif /cgi-bin/printenv.sh - - -AuthName Open Area -AuthUserFile /var/tmp/server_root/auth/passwd -AuthGroupFile /var/tmp/server_root/auth/group -require user one Aladdin - - - -AuthName Secret Area -AuthUserFile /var/tmp/server_root/auth/passwd -AuthGroupFile /var/tmp/server_root/auth/group -require group group1 group2 - - - -AuthName Top Secret Area -AuthUserFile /var/tmp/server_root/auth/passwd -AuthGroupFile /var/tmp/server_root/auth/group -require group group3 - - - -AuthName Open Area -AuthMnesiaDB On -require user one Aladdin - - - -AuthName Secret Area -AuthMnesiaDB On -require group group1 group2 - - - -AuthName Top Secret Area -AuthMnesiaDB On -require group group3 - diff --git a/lib/inets/test/httpd_test_data/server_root/conf/httpd.conf b/lib/inets/test/httpd_test_data/server_root/conf/httpd.conf deleted file mode 100644 index e44a45c02c64..000000000000 --- a/lib/inets/test/httpd_test_data/server_root/conf/httpd.conf +++ /dev/null @@ -1,269 +0,0 @@ -# -# %CopyrightBegin% -# -# Copyright Ericsson AB 1997-2022. All Rights Reserved. -# -# 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. -# -# %CopyrightEnd% -# -# - -# Port: The port the standalone listens to. For ports < 1023, you will -# need httpd to be run as root initially. - -Port 8888 - -# BindAddress: This directive is used to tell the server which IP address -# to listen to. It can either contain "*", an IP address, or a fully -# qualified Internet domain name. -# -# It is also possible to specify the ip-family with the directive. -# There ar three possible value: inet, inet6 and inet6fb4 -# inet: Use IpFamily inet when retrieving the address and -# fail if that does not work. -# inet6: Use IpFamily inet6 when retrieving the address and -# fail if that does not work. -# inet6fb4: First IpFamily inet6 is tried and if that does not work, -# inet is used as fallback. -# Default value for ip-family is inet6fb4 -# -# The syntax is:
[|] -# -#BindAddress * -#BindAddress *|inet - - -# ServerName allows you to set a host name which is sent back to clients for -# your server if it's different than the one the program would get (i.e. use -# "www" instead of the host's real name). -# -# Note: You cannot just invent host names and hope they work. The name you -# define here must be a valid DNS name for your host. If you don't understand -# this, ask your network administrator. - -#ServerName your.server.net - -# SocketType is either ip_comm, sockets or ssl. - -SocketType ip_comm - -# Modules: Server run-time plug-in modules written using the Erlang -# Web Server API (EWSAPI). The server API make it easy to add functionality -# to the server. Read more about EWSAPI in the Reference Manual. -# WARNING! Do not tamper with this directive unless you are familiar with -# EWSAPI. - -Modules mod_alias mod_auth mod_esi mod_actions mod_cgi mod_responsecontrol mod_trace mod_range mod_head mod_dir mod_get mod_log mod_disk_log - -# ServerAdmin: Your address, where problems with the server should be -# e-mailed. - -ServerAdmin jocke@erix.ericsson.se - -# ServerRoot: The directory the server's config, error, and log files -# are kept in - -ServerRoot /var/tmp/server_root - -# ErrorLog: The location of the error log file. If this does not start -# with /, ServerRoot is prepended to it. - -ErrorLog logs/error_log - -# TransferLog: The location of the transfer log file. If this does not -# start with /, ServerRoot is prepended to it. - -TransferLog logs/access_log - -# SecurityLog: The location of the security log file (mod_security required) -# -SecurityLog logs/security_log - -# ErrorDiskLog: The location of the error log file. If this does not -# start with /, ServerRoot is prepended to it. This log file is managed -# with the disk_log module [See disk_log(3)]. The ErrorDiskLogSize directive -# takes two argument, i.e. MaxBytes and MaxFiles. The wrap log writes at most -# MaxBytes bytes on each file, and it uses MaxFiles files before it wraps, and -# truncates the first file. - -ErrorDiskLog logs/error_disk_log -ErrorDiskLogSize 200000 10 - -# TransferDiskLog: The location of the transfer log file. If this does not -# start with /, ServerRoot is prepended to it. This log file is managed -# with the disk_log module [See disk_log(3)]. The TransferDiskLogSize directive -# takes two argument, i.e. MaxBytes and MaxFiles. The wrap log writes at most -# MaxBytes bytes on each file, and it uses MaxFiles files before it wraps, and -# truncates the first file. - -TransferDiskLog logs/access_disk_log -TransferDiskLogSize 200000 10 - -# SecurityDiskLog: The location of the security log file. If this does not -# start with /, ServerRoot is prepended to it. This log file is managed -# with the disk_log module [See disk_log(3)]. The SecurityDiskLogSize directive -# takes two argument, i.e. MaxBytes and MaxFiles. The wrap log writes at most -# MaxBytes bytes on each file, and it uses MaxFiles files before it wraps, and -# truncates the first file. - -SecurityDiskLog logs/security_disk_log -SecurityDiskLogSize 200000 10 - -# Limit on total number of servers running, i.e., limit on the number -# of clients who can simultaneously connect --- if this limit is ever -# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW. -# It is intended mainly as a brake to keep a runaway server from taking -# the server with it as it spirals down... - -MaxClients 50 - -# KeepAlive set the flag for persistent connections. For persistent connections -# set KeepAlive to on. To use One request per connection set the flag to off -# Note: The value has changed since previous version of INETS. -KeepAlive on - -# KeepAliveTimeout sets the number of seconds before a persistent connection -# times out and closes. -KeepAliveTimeout 10 - -# MaxKeepAliveRequests sets the number of seconds before a persistent connection -# times out and closes. -MaxKeepAliveRequests 10 - - - -# DocumentRoot: The directory out of which you will serve your -# documents. By default, all requests are taken from this directory, but -# symbolic links and aliases may be used to point to other locations. - -DocumentRoot /var/tmp/server_root/htdocs - -# DirectoryIndex: Name of the file or files to use as a pre-written HTML -# directory index. Separate multiple entries with spaces. - -DirectoryIndex index.html welcome.html - -# DefaultType is the default MIME type for documents which the server -# cannot find the type of from filename extensions. - -DefaultType text/plain - -# Aliases: Add here as many aliases as you need (with no limit). The format is -# Alias fakename realname - -Alias /icons/ /var/tmp/server_root/icons/ -Alias /pics/ /var/tmp/server_root/icons/ - -# ScriptAlias: This controls which directories contain server scripts. -# Format: ScriptAlias fakename realname - -ScriptAlias /cgi-bin/ /var/tmp/server_root/cgi-bin/ -ScriptAlias /htbin/ /var/tmp/server_root/cgi-bin/ - -# This directive adds an action, which will activate cgi-script when a -# file is requested using the method of method, which can be one of -# GET, POST and HEAD. It sends the URL and file path of the requested -# document using the standard CGI PATH_INFO and PATH_TRANSLATED -# environment variables. - -#Script HEAD /cgi-bin/printenv.sh - -# This directive adds an action, which will activate cgi-script when a -# file of content type mime-type is requested. It sends the URL and -# file path of the requested document using the standard CGI PATH_INFO -# and PATH_TRANSLATED environment variables. - -#Action image/gif /cgi-bin/printenv.sh - -# ErlScriptAlias: This specifies how "Erl" server scripts are called. -# Format: ErlScriptAlias fakename realname allowed_modules - -ErlScriptAlias /down/erl httpd_example io - -# EvalScriptAlias: This specifies how "Eval" server scripts are called. -# Format: EvalScriptAlias fakename realname allowed_modules - -EvalScriptAlias /eval httpd_example io - -# Point SSLCertificateFile at a PEM encoded certificate. - -SSLCertificateFile /var/tmp/server_root/ssl/ssl_server.pem - -# If the key is not combined with the certificate, use this directive to -# point at the key file. - -SSLCertificateKeyFile /var/tmp/server_root/ssl/ssl_server.pem - -# Set SSLVerifyClient to: -# 0 if no certificate is required -# 1 if the client may present a valid certificate -# 2 if the client must present a valid certificate -# 3 if the client may present a valid certificate but it is not required to -# have a valid CA - -SSLVerifyClient 0 - -# Each directory to which INETS has access, can be configured with respect -# to which services and features are allowed and/or disabled in that -# directory (and its subdirectories). - - -AuthDBType plain -AuthName Open Area -AuthUserFile /var/tmp/server_root/auth/passwd -AuthGroupFile /var/tmp/server_root/auth/group -require user one Aladdin - - - -AuthDBType plain -AuthName Secret Area -AuthUserFile /var/tmp/server_root/auth/passwd -AuthGroupFile /var/tmp/server_root/auth/group -require group group1 group2 - - - -AuthDBType plain -AuthName Top Secret Area -AuthUserFile /var/tmp/server_root/auth/passwd -AuthGroupFile /var/tmp/server_root/auth/group -require group group3 - - - -AuthDBType mnesia -AuthName Open Area -require user one Aladdin - - - -AuthDBType mnesia -AuthName Secret Area -require group group1 group2 - - - -AuthDBType mnesia -AuthName Top Secret Area -require group group3 -allow from 130.100.34 130.100.35 -deny from 100.234.22.12 194.100.34.1 130.100.34.25 -SecurityDataFile logs/security_data -SecurityMaxRetries 3 -SecurityBlockTime 10 -SecurityFailExpireTime 1 -SecurityAuthTimeout 1 -SecurityCallbackModule security_callback - diff --git a/lib/inets/test/httpd_test_data/server_root/conf/ssl.conf b/lib/inets/test/httpd_test_data/server_root/conf/ssl.conf deleted file mode 100644 index de49ceafd00d..000000000000 --- a/lib/inets/test/httpd_test_data/server_root/conf/ssl.conf +++ /dev/null @@ -1,66 +0,0 @@ -Port 8088 -#ServerName your.server.net -SocketType ssl -Modules mod_alias mod_auth mod_esi mod_actions mod_cgi mod_dir mod_get mod_head mod_log mod_disk_log -ServerAdmin jocke@erix.ericsson.se -ServerRoot /var/tmp/server_root -ErrorLog logs/error_log_8088 -TransferLog logs/access_log_8088 -ErrorDiskLog logs/error_disk_log_8088 -ErrorDiskLogSize 200000 10 -TransferDiskLog logs/access_disk_log_8088 -TransferDiskLogSize 200000 10 -MaxClients 150 -DocumentRoot /var/tmp/server_root/htdocs -DirectoryIndex index.html welcome.html -DefaultType text/plain -Alias /icons/ /var/tmp/server_root/icons/ -Alias /pics/ /var/tmp/server_root/icons/ -ScriptAlias /cgi-bin/ /var/tmp/server_root/cgi-bin/ -ScriptAlias /htbin/ /var/tmp/server_root/cgi-bin/ -ErlScriptAlias /cgi-bin/erl httpd_example io -EvalScriptAlias /eval httpd_example io -SSLCertificateFile /var/tmp/server_root/ssl/ssl_server.pem -SSLCertificateKeyFile /var/tmp/server_root/ssl/ssl_server.pem -SSLVerifyClient 0 -#Script HEAD /cgi-bin/printenv.sh -#Action image/gif /cgi-bin/printenv.sh - - -AuthName Open Area -AuthUserFile /var/tmp/server_root/auth/passwd -AuthGroupFile /var/tmp/server_root/auth/group -require user one Aladdin - - - -AuthName Secret Area -AuthUserFile /var/tmp/server_root/auth/passwd -AuthGroupFile /var/tmp/server_root/auth/group -require group group1 group2 - - - -AuthName Top Secret Area -AuthUserFile /var/tmp/server_root/auth/passwd -AuthGroupFile /var/tmp/server_root/auth/group -require group group3 - - - -AuthName Open Area -AuthMnesiaDB On -require user one Aladdin - - - -AuthName Secret Area -AuthMnesiaDB On -require group group1 group2 - - - -AuthName Top Secret Area -AuthMnesiaDB On -require group group3 - diff --git a/lib/inets/test/inets_SUITE.erl b/lib/inets/test/inets_SUITE.erl index 99184a266e6e..ef3a72e2a985 100644 --- a/lib/inets/test/inets_SUITE.erl +++ b/lib/inets/test/inets_SUITE.erl @@ -45,61 +45,22 @@ groups() -> ]}, {app_test, [], [app, appup]}]. -init_per_group(_GroupName, Config) -> - Config. - -end_per_group(_GroupName, Config) -> - Config. - -%%-------------------------------------------------------------------- -%% Function: init_per_suite(Config) -> Config -%% Config - [tuple()] -%% A list of key/value pairs, holding the test case configuration. -%% Description: Initiation before the whole suite -%% -%% Note: This function is free to add any key/value pairs to the Config -%% variable, but should NOT alter/remove any existing entries. -%%-------------------------------------------------------------------- init_per_suite(Config) -> Config. -%%-------------------------------------------------------------------- -%% Function: end_per_suite(Config) -> _ -%% Config - [tuple()] -%% A list of key/value pairs, holding the test case configuration. -%% Description: Cleanup after the whole suite -%%-------------------------------------------------------------------- end_per_suite(_Config) -> ok. -%%-------------------------------------------------------------------- -%% Function: init_per_testcase(Case, Config) -> Config -% Case - atom() -%% Name of the test case that is about to be run. -%% Config - [tuple()] -%% A list of key/value pairs, holding the test case configuration. -%% -%% Description: Initiation before each test case -%% -%% Note: This function is free to add any key/value pairs to the Config -%% variable, but should NOT alter/remove any existing entries. -%%-------------------------------------------------------------------- -init_per_testcase(httpd_reload, Config) -> - inets:stop(), - ct:timetrap({seconds, 40}), - Config; +init_per_group(_GroupName, Config) -> + Config. + +end_per_group(_GroupName, Config) -> + Config. + init_per_testcase(_Case, Config) -> inets:stop(), Config. -%%-------------------------------------------------------------------- -%% Function: end_per_testcase(Case, Config) -> _ -%% Case - atom() -%% Name of the test case that is about to be run. -%% Config - [tuple()] -%% A list of key/value pairs, holding the test case configuration. -%% Description: Cleanup after each test case -%%-------------------------------------------------------------------- end_per_testcase(_, Config) -> Config. @@ -202,8 +163,7 @@ start_httpd() -> start_httpd(Config) when is_list(Config) -> process_flag(trap_exit, true), PrivDir = proplists:get_value(priv_dir, Config), - HttpdConf = [{server_name, "httpd_test"}, {server_root, PrivDir}, - {document_root, PrivDir}, {bind_address, any}], + HttpdConf = [{server_root, PrivDir}, {document_root, PrivDir}, {bind_address, any}], ok = inets:start(), {ok, Pid0} = inets:start(httpd, [{port, 0}, {ipfamily, inet} | HttpdConf]), @@ -262,26 +222,20 @@ httpd_reload(Config) when is_list(Config) -> {bind_address, "localhost"}], ok = inets:start(), - ct:sleep(5000), {ok, Pid0} = inets:start(httpd, [{port, 0}, {ipfamily, inet} | HttpdConf]), - ct:sleep(5000), [{port, Port0}] = httpd:info(Pid0, [port]), - ct:sleep(5000), [{document_root, PrivDir}] = httpd:info(Pid0, [document_root]), - ct:sleep(5000), ok = httpd:reload_config([{port, Port0}, {ipfamily, inet}, {server_name, "httpd_test"}, {server_root, PrivDir}, {document_root, DataDir}, {bind_address, "localhost"}], non_disturbing), - ct:sleep(5000), [{document_root, DataDir}] = httpd:info(Pid0, [document_root]), - ct:sleep(5000), ok = httpd:reload_config([{port, Port0}, {ipfamily, inet}, {server_name, "httpd_test"}, diff --git a/lib/inets/test/inets_socketwrap_SUITE.erl b/lib/inets/test/inets_socketwrap_SUITE.erl index da97de577ad4..e3851237e93f 100644 --- a/lib/inets/test/inets_socketwrap_SUITE.erl +++ b/lib/inets/test/inets_socketwrap_SUITE.erl @@ -79,7 +79,7 @@ start_httpd_fd(Config) when is_list(Config) -> case open_port({spawn_executable, Wrapper}, [stderr_to_stdout,{args,Args}]) of Port when is_port(Port) -> - wait_node_up(Node, 10), + wait_node_up(Node, 200), ct:pal("~p", [rpc:call(Node, init, get_argument, [httpd_80])]), ok = rpc:call(Node, inets, start, []), {ok, Pid} = rpc:call(Node, inets, start, [httpd, HttpdConf]), @@ -117,6 +117,6 @@ wait_node_up(Node, N) -> pong -> ok; pang -> - ct:sleep(5000), + ct:sleep(250), wait_node_up(Node, N-1) end. diff --git a/lib/inets/vsn.mk b/lib/inets/vsn.mk index edf6902806be..7b4eef4055ea 100644 --- a/lib/inets/vsn.mk +++ b/lib/inets/vsn.mk @@ -19,6 +19,6 @@ # %CopyrightEnd% APPLICATION = inets -INETS_VSN = 9.0 +INETS_VSN = 9.0.1 PRE_VSN = APP_VSN = "$(APPLICATION)-$(INETS_VSN)$(PRE_VSN)" diff --git a/lib/kernel/doc/src/code.xml b/lib/kernel/doc/src/code.xml index 1b8ef7a1c30a..5a1bb44cefb9 100644 --- a/lib/kernel/doc/src/code.xml +++ b/lib/kernel/doc/src/code.xml @@ -101,7 +101,7 @@ /usr/local/jungerl:/home/some_user/my_erlang_lib

On Windows, use semi-colon as separator.

-

The code paths specified by $OTP_ROOT, ERL_LIBS, +

The code paths specified by $OTPROOT, ERL_LIBS, and boot scripts have their listings cached by default (except for ".") since OTP 26.0. The code server will lookup the contents in their directories once @@ -327,10 +327,10 @@ zip:create("mnesia-4.4.7.ez", - + - + @@ -348,31 +348,6 @@ zip:create("mnesia-4.4.7.ez", - - - - Set the code server search path. - -

Sets the code path to the list of directories Path.

-

An optional second argument may be set to the atom cache to - control if the contents of the directory must be cached on first traversal. - Defaults to nocache.

-

Returns:

- - true -

If successful

- {error, bad_directory} -

If any Dir is not a directory name

-
- - - - - Return the code server search path. - -

Returns the code path.

-
-
@@ -446,144 +421,32 @@ zip:create("mnesia-4.4.7.ez", - - Delete a directory from the code path. - -

Deletes a directory from the code path. The argument can be - an atom Name, in which case the directory with - the name .../Name[-Vsn][/ebin] is deleted from the code - path. Also, the complete directory name Dir can be - specified as argument.

-

Returns:

- - true -

If successful

- false -

If the directory is not found

- {error, bad_name} -

If the argument is invalid

-
-
-
- - - Deletes directories from the code path. - -

Deletes directories from the code path. The argument is a list of either - atoms or complete directory names. If an atom Name, - the directory with the name .../Name[-Vsn][/ebin] is - deleted from the code path.

-

Always returns ok, regardless of the validity - of each individual NamesOrDirs.

-
-
- - - Clears the code path cache. - -

Clear the code path cache. If a directory is cached, its cache is - cleared once and then it will be recalculated and cached once more - in a future traversal.

-

If you want to clear the cache for a single path, you might re-add it - to the code path (with add_path/2) or - replace it (with replace_path/3). - If you want to disable all cache, you can reset the code path - with code:set_path(code:get_path()).

-

Always returns ok.

-
-
- - - - Replace a directory with another in the code path. - -

Replaces an old occurrence of a directory - named .../Name[-Vsn][/ebin] in the code path, with - Dir. If Name does not exist, it adds - the new directory Dir last in the code path. The new - directory must also be named .../Name[-Vsn][/ebin]. - This function is to be used if a new version of the directory (library) is - added to a running system.

-

An optional third argument may be set to the atom cache to - control if the contents of the directory must be cached on first traversal. - Defaults to nocache.

-

Returns:

- - true -

If successful

- {error, bad_name} -

If Name is not found

- {error, bad_directory} -

If Dir does not exist

- {error, {badarg, [Name, Dir]}} -

If Name or Dir is invalid

-
-
-
- - - Load a module. - - -

Tries to load the Erlang module Module, using - the code path. It looks for the object code file with an - extension corresponding to the Erlang machine used, for - example, Module.beam. The loading fails if the module - name found in the object code differs from the name - Module. - load_binary/3 must - be used to load object code with a module name that is - different from the file name.

-

Returns {module, Module} if successful, or - {error, Reason} if loading fails. - See Error Reasons for Code-Loading Functions for a description of the possible error reasons.

-
-
- - - Load a module, residing in a specified file. - + + Get all available modules. + Filename is an absolute + filename. -

Same as load_file(Module), but - Filename is an absolute or - relative filename. The code path is not searched. It returns - a value in the same way as - load_file/1. Notice - that Filename must not contain the extension (for - example, .beam) because load_abs/1 adds the correct - extension.

-
-
- - - Ensure that a module is loaded. - -

Tries to load a module in the same way as - load_file/1, - unless the module is already loaded. - However, in embedded mode it does not load a module that is not - already loaded, but returns {error, embedded} instead. - See Error Reasons for Code-Loading Functions for a description of other possible error reasons.

+

Returns a list of tuples {Module, Filename, + Loaded} for all available modules. A module is considered + to be available if it either is loaded or would be loaded if called. + Filename is normally the absolute filename, as described for + is_loaded/1.

- - Load object code for a module. + + Get all loaded modules. + Filename is an absolute + filename. -

This function can be used to load object code on remote - Erlang nodes. Argument Binary must contain - object code for Module. - Filename is only used by the code server to keep a - record of from which file the object code for Module - comes. Thus, Filename is not opened and read by - the code server.

-

Returns {module, Module} if successful, or - {error, Reason} if loading fails. - See Error Reasons for Code-Loading Functions for a description of the possible error reasons.

+

Returns a list of tuples {Module, Loaded} for all + loaded modules. Loaded is normally the absolute filename, + as described for + is_loaded/1.

@@ -646,80 +509,70 @@ ok = code:finish_loading(Prepared), - - Prepare a list of modules atomically + + Search for modules with identical names. -

Prepares to load the modules in the list - Modules. - Finish the loading by calling - finish_loading(Prepared).

-

This function can fail with one of the following error reasons:

- - badfile - -

The object code has an incorrect format or the module - name in the object code is not the expected module name.

-
- nofile - -

No file with object code exists.

-
- on_load_not_allowed - -

A module contains an - -on_load function.

-
- duplicated - -

A module is included more than once in - Modules.

-
-
+

Searches all directories in the code path for module names with + identical names and writes a report to stdout.

- - Finish loading a list of prepared modules atomically + + Clears the code path cache. -

Tries to load code for all modules that have been previously - prepared by - prepare_loading/1. - The loading occurs atomically, meaning that - either all modules are loaded at the same time, or - none of the modules are loaded.

-

This function can fail with one of the following error reasons:

- - not_purged - -

The object code cannot be loaded because an old version - of the code already exists.

-
- sticky_directory - -

The object code resides in a sticky directory.

-
- pending_on_load - -

A previously loaded module contains an - -on_load function that never finished.

-
-
+

Clear the code path cache. If a directory is cached, its cache is + cleared once and then it will be recalculated and cached once more + in a future traversal.

+

If you want to clear the cache for a single path, you might re-add it + to the code path (with add_path/2) or + replace it (with replace_path/3). + If you want to disable all cache, you can reset the code path + with code:set_path(code:get_path()).

+

Always returns ok.

- - Ensure that a list of modules is loaded + + Library directory for the compiler. -

Tries to load any modules not already loaded in the list - Modules in the same way as - load_file/1.

-

Returns ok if successful, or - {error,[{Module,Reason}]} if loading of some modules fails. - See Error Reasons for Code-Loading Functions for a description of other possible error reasons.

+

Returns the compiler library directory. Equivalent to + code:lib_dir(compiler).

- + + Delete a directory from the code path. + +

Deletes a directory from the code path. The argument can be + an atom Name, in which case the directory with + the name .../Name[-Vsn][/ebin] is deleted from the code + path. Also, the complete directory name Dir can be + specified as argument.

+

Returns:

+ + true +

If successful

+ false +

If the directory is not found

+ {error, bad_name} +

If the argument is invalid

+
+
+
+ + + Deletes directories from the code path. + +

Deletes directories from the code path. The argument is a list of either + atoms or complete directory names. If an atom Name, + the directory with the name .../Name[-Vsn][/ebin] is + deleted from the code path.

+

Always returns ok, regardless of the validity + of each individual NamesOrDirs.

+
+
+ + Remove current code for a module.

Removes the current code for Module, that is, @@ -732,98 +585,84 @@ ok = code:finish_loading(Prepared), - - Remove old code for a module. - -

Purges the code for Module, that is, removes code - marked as old. If some processes still linger in the old code, - these processes are killed before the code is removed.

-

As of ERTS version 9.0, a process is only considered - to be lingering in the code if it has direct references to the code. - For more information see documentation of - erlang:check_process_code/3, - which is used in order to determine this.

-

Returns true if successful and any process is needed to - be killed, otherwise false.

-
-
- - - Remove old code for a module, unless no process uses it. + + Ensure that a module is loaded. -

Purges the code for Module, that is, removes code - marked as old, but only if no processes linger in it.

-

As of ERTS version 9.0, a process is only considered - to be lingering in the code if it has direct references to the code. - For more information see documentation of - erlang:check_process_code/3, - which is used in order to determine this.

-

Returns false if the module cannot be purged because - of processes lingering in old code, otherwise true.

+

Tries to load a module in the same way as + load_file/1, + unless the module is already loaded. + However, in embedded mode it does not load a module that is not + already loaded, but returns {error, embedded} instead. + See Error Reasons for Code-Loading Functions for a description of other possible error reasons.

- - Check if a module is loaded. - - - Filename is an absolute - filename. + + Ensure that a list of modules is loaded -

Checks if Module is loaded. If it is, - {file, Loaded} is returned, otherwise false.

-

Normally, Loaded is the absolute filename - Filename from which the code is obtained. If the module - is preloaded (see - script(4)), - Loaded==preloaded. If the module is Cover-compiled (see - cover(3)), - Loaded==cover_compiled.

+

Tries to load any modules not already loaded in the list + Modules in the same way as + load_file/1.

+

Returns ok if successful, or + {error,[{Module,Reason}]} if loading of some modules fails. + See Error Reasons for Code-Loading Functions for a description of other possible error reasons.

- - Get all available modules. - - - Filename is an absolute - filename. + + Finish loading a list of prepared modules atomically -

Returns a list of tuples {Module, Filename, - Loaded} for all available modules. A module is considered - to be available if it either is loaded or would be loaded if called. - Filename is normally the absolute filename, as described for - is_loaded/1.

+

Tries to load code for all modules that have been previously + prepared by + prepare_loading/1. + The loading occurs atomically, meaning that + either all modules are loaded at the same time, or + none of the modules are loaded.

+

This function can fail with one of the following error reasons:

+ + not_purged + +

The object code cannot be loaded because an old version + of the code already exists.

+
+ sticky_directory + +

The object code resides in a sticky directory.

+
+ pending_on_load + +

A previously loaded module contains an + -on_load function that never finished.

+
+
- - Get all loaded modules. - - - Filename is an absolute - filename. + + Gets the documentation for a module. -

Returns a list of tuples {Module, Loaded} for all - loaded modules. Loaded is normally the absolute filename, - as described for - is_loaded/1.

+

Searches the code path for EEP-48 style documentation and returns it + if available. If no documentation can be found the function tries to + generate documentation from the debug information in the module. + If no debug information is available, this function will return + {error,missing}. +

+

For more information about the documentation chunk see + Documentation Storage and Format + in Kernel's User's Guide.

- - The object code file of a module. - - + + The mode of the code server. -

If the module is not loaded, this function searches the code - path for the first file containing object code for - Module and returns the absolute filename.

-

If the module is loaded, it returns the name of the file - containing the loaded object code.

-

If the module is preloaded, preloaded is returned.

-

If the module is Cover-compiled, cover_compiled is returned.

-

If the module cannot be found, non_existing is returned.

+

Returns an atom describing the mode of the code server: + interactive or embedded.

+

This information is useful when an external entity (for example, + an IDE) provides additional code for a running node. If the code server is + in interactive mode, it only has to add the path to the code. If the code server + is in embedded mode, the code must be loaded with + load_binary/3.

@@ -846,30 +685,40 @@ rpc:call(Node, code, load_binary, [Module, Filename, Binary]), - - Gets the documentation for a module. + + Return the code server search path. -

Searches the code path for EEP-48 style documentation and returns it - if available. If no documentation can be found the function tries to - generate documentation from the debug information in the module. - If no debug information is available, this function will return - {error,missing}. -

-

For more information about the documentation chunk see - Documentation Storage and Format - in Kernel's User's Guide.

+

Returns the code path.

- - Root directory of Erlang/OTP. + + Check if a module is loaded. + + + Filename is an absolute + filename. -

Returns the root directory of Erlang/OTP, which is - the directory where it is installed.

-

Example:

-
-> code:root_dir().
-"/usr/local/otp"
+

Checks if Module is loaded. If it is, + {file, Loaded} is returned, otherwise false.

+

Normally, Loaded is the absolute filename + Filename from which the code is obtained. If the module + is preloaded (see + script(4)), + Loaded==preloaded. If the module is Cover-compiled (see + cover(3)), + Loaded==cover_compiled.

+
+
+ + + Test if a module is sticky. + +

Returns true if Module is the + name of a module that has been loaded from a sticky directory + (in other words: an attempt to reload the module will fail), + or false if Module is not a loaded module or is + not sticky.

@@ -938,77 +787,66 @@ rpc:call(Node, code, load_binary, [Module, Filename, Binary]), - - Library directory for the compiler. - -

Returns the compiler library directory. Equivalent to - code:lib_dir(compiler).

-
-
- - - Priv directory for an application. - -

Returns the path to the priv directory in an - application. Equivalent to code:lib_dir(Name, priv).

- -

For backward compatibility, Name is also allowed to - be a string. That will probably change in a future release.

-
-
- - - Object code file extension. - -

Returns the object code file extension corresponding to - the Erlang machine used, namely .beam.

-
-
- - - Mark a directory as sticky. - -

Marks Dir as sticky.

-

Returns ok if successful, otherwise error.

-
-
- - - Remove a sticky directory mark. + + Load a module, residing in a specified file. + + + -

Unsticks a directory that is marked as - sticky.

-

Returns ok if successful, otherwise error.

+

Same as load_file(Module), but + Filename is an absolute or + relative filename. The code path is not searched. It returns + a value in the same way as + load_file/1. Notice + that Filename must not contain the extension (for + example, .beam) because load_abs/1 adds the correct + extension.

- - Test if a module is sticky. + + Load object code for a module. + + -

Returns true if Module is the - name of a module that has been loaded from a sticky directory - (in other words: an attempt to reload the module will fail), - or false if Module is not a loaded module or is - not sticky.

+

This function can be used to load object code on remote + Erlang nodes. Argument Binary must contain + object code for Module. + Filename is only used by the code server to keep a + record of from which file the object code for Module + comes. Thus, Filename is not opened and read by + the code server.

+

Returns {module, Module} if successful, or + {error, Reason} if loading fails. + See Error Reasons for Code-Loading Functions for a description of the possible error reasons.

- - Full name of a file located in the code path. + + Load a module. + -

Searches the code path for Filename, a file of - arbitrary type. If found, the full name is returned. - non_existing is returned if the file cannot be found. - The function can be useful, for example, to locate - application resource files.

+

Tries to load the Erlang module Module, using + the code path. It looks for the object code file with an + extension corresponding to the Erlang machine used, for + example, Module.beam. The loading fails if the module + name found in the object code differs from the name + Module. + load_binary/3 must + be used to load object code with a module name that is + different from the file name.

+

Returns {module, Module} if successful, or + {error, Reason} if loading fails. + See Error Reasons for Code-Loading Functions for a description of the possible error reasons.

- - Search for modules with identical names. + + Return a list of all modules modified on disk. -

Searches all directories in the code path for module names with - identical names and writes a report to stdout.

+

Returns the list of all currently loaded modules for which + module_status/1 + returns modified. See also all_loaded/0.

@@ -1049,25 +887,187 @@ rpc:call(Node, code, load_binary, [Module, Filename, Binary]), - - Return a list of all modules modified on disk. + + Object code file extension. -

Returns the list of all currently loaded modules for which - module_status/1 - returns modified. See also all_loaded/0.

+

Returns the object code file extension corresponding to + the Erlang machine used, namely .beam.

- - The mode of the code server. + + Prepare a list of modules atomically -

Returns an atom describing the mode of the code server: - interactive or embedded.

-

This information is useful when an external entity (for example, - an IDE) provides additional code for a running node. If the code server is - in interactive mode, it only has to add the path to the code. If the code server - is in embedded mode, the code must be loaded with - load_binary/3.

+

Prepares to load the modules in the list + Modules. + Finish the loading by calling + finish_loading(Prepared).

+

This function can fail with one of the following error reasons:

+ + badfile + +

The object code has an incorrect format or the module + name in the object code is not the expected module name.

+
+ nofile + +

No file with object code exists.

+
+ on_load_not_allowed + +

A module contains an + -on_load function.

+
+ duplicated + +

A module is included more than once in + Modules.

+
+
+
+
+ + + Priv directory for an application. + +

Returns the path to the priv directory in an + application. Equivalent to code:lib_dir(Name, priv).

+ +

For backward compatibility, Name is also allowed to + be a string. That will probably change in a future release.

+
+
+ + + Remove old code for a module. + +

Purges the code for Module, that is, removes code + marked as old. If some processes still linger in the old code, + these processes are killed before the code is removed.

+

As of ERTS version 9.0, a process is only considered + to be lingering in the code if it has direct references to the code. + For more information see documentation of + erlang:check_process_code/3, + which is used in order to determine this.

+

Returns true if successful and any process is needed to + be killed, otherwise false.

+
+
+ + + + Replace a directory with another in the code path. + +

Replaces an old occurrence of a directory + named .../Name[-Vsn][/ebin] in the code path, with + Dir. If Name does not exist, it adds + the new directory Dir last in the code path. The new + directory must also be named .../Name[-Vsn][/ebin]. + This function is to be used if a new version of the directory (library) is + added to a running system.

+

An optional third argument may be set to the atom cache to + control if the contents of the directory must be cached on first traversal. + Defaults to nocache.

+

Returns:

+ + true +

If successful

+ {error, bad_name} +

If Name is not found

+ {error, bad_directory} +

If Dir does not exist

+ {error, {badarg, [Name, Dir]}} +

If Name or Dir is invalid

+
+
+
+ + + Root directory of Erlang/OTP. + +

Returns the root directory of Erlang/OTP, which is + the directory where it is installed.

+

Example:

+
+> code:root_dir().
+"/usr/local/otp"
+
+
+ + + + Set the code server search path. + +

Sets the code path to the list of directories Path.

+

An optional second argument may be set to the atom cache to + control if the contents of the directory must be cached on first traversal. + Defaults to nocache.

+

Returns:

+ + true +

If successful

+ {error, bad_directory} +

If any Dir is not a directory name

+
+
+
+ + + Remove old code for a module, unless no process uses it. + +

Purges the code for Module, that is, removes code + marked as old, but only if no processes linger in it.

+

As of ERTS version 9.0, a process is only considered + to be lingering in the code if it has direct references to the code. + For more information see documentation of + erlang:check_process_code/3, + which is used in order to determine this.

+

Returns false if the module cannot be purged because + of processes lingering in old code, otherwise true.

+
+
+ + + Mark a directory as sticky. + +

Marks Dir as sticky.

+

Returns ok if successful, otherwise error.

+
+
+ + + Remove a sticky directory mark. + +

Unsticks a directory that is marked as + sticky.

+

Returns ok if successful, otherwise error.

+
+
+ + + Full name of a file located in the code path. + +

Searches the code path for Filename, a file of + arbitrary type. If found, the full name is returned. + non_existing is returned if the file cannot be found. + The function can be useful, for example, to locate + application resource files.

+
+
+ + + The object code file of a module. + + + +

If the module is not loaded, this function searches the code + path for the first file containing object code for + Module and returns the absolute filename.

+

If the module is loaded, it returns the name of the file + containing the loaded object code.

+

If the module is preloaded, preloaded is returned.

+

If the module is Cover-compiled, cover_compiled is returned.

+

If the module cannot be found, non_existing is returned.

diff --git a/lib/kernel/doc/src/disk_log.xml b/lib/kernel/doc/src/disk_log.xml index affb46a65fcc..be9c1b315cc3 100644 --- a/lib/kernel/doc/src/disk_log.xml +++ b/lib/kernel/doc/src/disk_log.xml @@ -791,8 +791,8 @@ no automatic repair is attempted. Instead, the tuple {error, {need_repair, Log}} is returned if an attempt is made to open a corrupt log file. - If truncate is specified, the log file becomes - truncated, creating an empty log. Defaults to + If truncate is specified, the log file becomes truncated, + creating an empty log, regardless of previous content. Defaults to true, which has no effect on logs opened in read-only mode.

diff --git a/lib/kernel/doc/src/file.xml b/lib/kernel/doc/src/file.xml index a24dcadcb7f9..13cc8ddc2f5a 100644 --- a/lib/kernel/doc/src/file.xml +++ b/lib/kernel/doc/src/file.xml @@ -1374,8 +1374,8 @@ f.txt: {person, "kalle", 25}. read from the file, while the position in the file can be moved much more than this number when reading a Unicode file.

Also, if encoding is set to something else than latin1, - the read/3 call fails if the data contains characters larger than 255, - which is why module io(3) + the read/2 call fails if the data contains characters larger than 255, + which is why io:get_chars/3 is to be preferred when reading such a file.

The function returns:

@@ -1413,13 +1413,16 @@ f.txt: {person, "kalle", 25}. + Read a file. +

Returns {ok, Binary}, where Binary is a binary data object that contains the contents of Filename, or {error, Reason} if an error occurs.

+

If the option raw is set, the file server is not called.

Typical error reasons:

enoent @@ -1628,7 +1631,7 @@ f.txt: {person, "kalle", 25}. raw line-oriented reading.

If encoding is set to something else than latin1, the read_line/1 call fails if the data contains characters larger than 255, - why module io(3) is to be + why io:get_line/2 is to be preferred when reading such a file.

The function returns:

@@ -1978,7 +1981,10 @@ f.txt: {person, "kalle", 25}.

If the file is opened with encoding set to something else than latin1, each byte written can result in many bytes being written to the file, as the byte range 0..255 can represent anything between one and - four bytes depending on value and UTF encoding type.

+ four bytes depending on value and UTF encoding type. If you want to write + unicode:chardata() + to the IoDevice you should use + io:put_chars/2 instead.

Typical error reasons:

ebadf @@ -2189,7 +2195,7 @@ f.txt: {person, "kalle", 25}. espipe - Invalid seek esrch - No such process estale - Stale remote file handle - exdev - Cross-domain link + exdev - Cross-device link
diff --git a/lib/kernel/doc/src/gen_tcp.xml b/lib/kernel/doc/src/gen_tcp.xml index e455cfdaf582..55e47a1c928c 100644 --- a/lib/kernel/doc/src/gen_tcp.xml +++ b/lib/kernel/doc/src/gen_tcp.xml @@ -4,7 +4,7 @@
- 19972022 + 19972023 Ericsson AB. All Rights Reserved. @@ -127,7 +127,7 @@ do_recv(Sock, Bs) -> A send operation will detect a remote close and immediately return this to the caller, but do nothing else. A reader will therefore be able to extract any data from the OS buffers. - If the socket is set to active to not false, the data + If the socket is set to active not false, the data will be received as expected ({tcp, ...} and then a closed message ({tcp_closed, ...} will be received (not an error).

@@ -167,6 +167,15 @@ do_recv(Sock, Bs) ->

See async shutdown write for more info.

+ + +

Windows require sockets (domain = inet | inet6) + to be bound.

+

Currently all sockets created on Windows with + inet_backend = socket will be bound. + If the user does not provide an address, gen_tcp will try to + 'figure out' an address itself.

+
@@ -539,9 +548,10 @@ do_recv(Sock, Bs) -> in ERTS. -

Receives a packet from a socket in passive +

Receives a packet from a socket in passive mode. A closed socket is indicated by return value - {error, closed}.

+ {error, closed}. If the socket is not in passive mode, + the return value is {error, einval}.

Argument Length is only meaningful when the socket is in raw mode and denotes the number of bytes to read. If Length is 0, all @@ -552,6 +562,12 @@ do_recv(Sock, Bs) -> data when the socket is closed from the other side.

The optional Timeout parameter specifies a time-out in milliseconds. Defaults to infinity.

+

Any process can receive data from a passive socket, even if that + process is not the controlling process of the socket. However, + only one process can call this function on a socket at any given time. + Using simultaneous calls to recv is not recommended as its behavior + is dependent on the socket implementation, and could return errors + such as {error, ealready}.

diff --git a/lib/kernel/doc/src/gen_udp.xml b/lib/kernel/doc/src/gen_udp.xml index b21cd3e35e80..f1ec5b33373a 100644 --- a/lib/kernel/doc/src/gen_udp.xml +++ b/lib/kernel/doc/src/gen_udp.xml @@ -69,6 +69,15 @@ is currently ignored.

+ + +

Windows require sockets (domain = inet | inet6) + to be bound.

+

Currently all sockets created on Windows with + inet_backend = socket will be bound. + If the user does not provide an address, gen_udp will try to + 'figure out' an address itself.

+
diff --git a/lib/kernel/doc/src/inet.xml b/lib/kernel/doc/src/inet.xml index 0cb03fdbe45e..b9a623e98862 100644 --- a/lib/kernel/doc/src/inet.xml +++ b/lib/kernel/doc/src/inet.xml @@ -1997,7 +1997,7 @@ inet:setopts(Sock,[{raw,6,8,<<30:32/native>>}]),]]>
eusers - Too many users eversion - Version mismatch ewouldblock - Operation would block - exdev - Cross-domain link + exdev - Cross-device link exfull - Message tables full nxdomain - Hostname or domain name cannot be found diff --git a/lib/kernel/doc/src/kernel_app.xml b/lib/kernel/doc/src/kernel_app.xml index 17edb810020a..cd6d0f865378 100644 --- a/lib/kernel/doc/src/kernel_app.xml +++ b/lib/kernel/doc/src/kernel_app.xml @@ -4,7 +4,7 @@
- 19962022 + 19962023 Ericsson AB. All Rights Reserved. @@ -614,6 +614,26 @@ MaxT = NetTickTime + NetTickTime / NetTickIntensity

+ standard_io_encoding = Encoding + +

Set whether bytes sent or received via standard_io should be interpreted as unicode or latin1. + By default input and output is interpreted as Unicode if it is supported on the host. With this flag + you may configure the encoding on startup.

+

This works similarly to io:setopts(standard_io, {encoding, Encoding}) + but is applied before any bytes on standard_io may have been read.

+

Encoding is one of:

+ + unicode +

Configure standard_io to use unicode mode.

+ latin1 +

Configure standard_io to use latin1 mode.

+ _ +

Anything other than unicode or latin1 will be ignored and the system will + configure the encoding by itself, typically unicode on modern systems.

+
+

See + Escripts and non-interactive I/O in Unicode Usage in Erlang for more details.

+
diff --git a/lib/kernel/doc/src/logger_chapter.xml b/lib/kernel/doc/src/logger_chapter.xml index df2edff72498..d326ef725ac8 100644 --- a/lib/kernel/doc/src/logger_chapter.xml +++ b/lib/kernel/doc/src/logger_chapter.xml @@ -829,7 +829,7 @@ logger:debug(#{got => connection_request, id => Id, state => State}, configuration file that configures Logger according to the description.

Modify the default handler to print to a file instead of - standard_io:

+ standard_io:

[{kernel, [{logger, diff --git a/lib/kernel/doc/src/logger_std_h.xml b/lib/kernel/doc/src/logger_std_h.xml index 5d839b2b887b..b5bbec25cb54 100644 --- a/lib/kernel/doc/src/logger_std_h.xml +++ b/lib/kernel/doc/src/logger_std_h.xml @@ -38,8 +38,8 @@

This is the standard handler for Logger. Multiple instances of this handler can be added to - Logger, and each instance prints logs to standard_io, - standard_error, or to file.

+ Logger, and each instance prints logs to standard_io, + standard_error, or to file.

The handler has an overload protection mechanism that keeps the handler process and the Kernel application alive during high loads of log events. How overload protection works, and how to configure it, is @@ -55,12 +55,14 @@ is stored in a sub map with the key config, and can contain the following parameters:

- type = standard_io | standard_error | file | {device, io:device()} + type = io:standard_io() + | io:standard_error() | file + | {device, io:device()}

Specifies the log destination.

The value is set when the handler is added, and it cannot be changed in runtime.

-

Defaults to standard_io, unless +

Defaults to standard_io, unless parameter file is given, in which case it defaults to file.

@@ -182,7 +184,7 @@ logger:add_handler(my_standard_h, logger_std_h, filesync_repeat_interval => 1000}}).

To set the default handler, that starts initially with - the Kernel application, to log to file instead of standard_io, + the Kernel application, to log to file instead of standard_io, change the Kernel default logger configuration. Example:

erl -kernel logger '[{handler,default,logger_std_h, diff --git a/lib/kernel/doc/src/net_adm.xml b/lib/kernel/doc/src/net_adm.xml index cbf8222b3f55..e5e5112d15df 100644 --- a/lib/kernel/doc/src/net_adm.xml +++ b/lib/kernel/doc/src/net_adm.xml @@ -134,7 +134,7 @@

File .hosts.erlang consists of a number of host names written as Erlang terms. It is looked for in the current work - directory, the user's home directory, and $OTP_ROOT + directory, the user's home directory, and $OTPROOT (the root directory of Erlang/OTP), in that order.

The format of file .hosts.erlang must be one host name per line. The host names must be within quotes.

diff --git a/lib/kernel/doc/src/notes.xml b/lib/kernel/doc/src/notes.xml index 6745b8288547..cf2a05bbd294 100644 --- a/lib/kernel/doc/src/notes.xml +++ b/lib/kernel/doc/src/notes.xml @@ -31,6 +31,137 @@

This document describes the changes made to the Kernel application.

+
Kernel 9.0.2 + +
Fixed Bugs and Malfunctions + + +

+ Fix bug where when you entered Alt+Enter in the terminal, + the cursor would move to the last line, instead of moving + to the next line.

+

+ Own Id: OTP-18580 Aux Id: PR-7242

+
+ +

+ Fix so that the shell does not crash on startup when + termcap is not available.

+

+ Own Id: OTP-18624 Aux Id: GH-7296

+
+ +

+ Multiple socket:accept calls issue. When making multiple + accept calls, only the last call is active.

+

+ Own Id: OTP-18635 Aux Id: #7328

+
+ +

+ Fix the shell to ignore terminal delay when the terminal + capabilities report that they should be used.

+

+ Own Id: OTP-18636 Aux Id: PR-7352 GH-7308

+
+ +

+ Fix "oldshell" to echo characters while typing on + Windows.

+

+ Own Id: OTP-18637 Aux Id: PR-7359 GH-7324

+
+ +

+ Fix eof handling when reading from stdin when erlang is + started using -noshell.

+

+ Own Id: OTP-18640 Aux Id: PR-7384 GH-7368 GH-7286 GH-6881

+
+ +

+ On Windows, a call to the function socket:close, when + there are waiting active calls to read, write or accept + functions, could hang.

+

+ Own Id: OTP-18646

+
+ +

+ Fix issues when reading or configuring standard_io + on Windows when erl.exe is started using -noshell + flag.

+

+ Own Id: OTP-18649 Aux Id: GH-7261 PR-7400

+
+ +

+ gen_udp:connect with inet_backend = socket fails when the + Address is a hostname (string or atom).

+

+ Own Id: OTP-18650

+
+ +

+ Fixed problem which would cause shell to crash if + particular escape sequence was written to stdout.

+

+ Own Id: OTP-18651 Aux Id: PR-7242

+
+ +

+ Fixed problem where output would disappear if it was + received after a prompt was written in the shell.

+

+ Own Id: OTP-18652 Aux Id: PR-7242

+
+ +

+ Fix a crash where the location of erts could not be found + in rebar3 dev builds.

+

+ Own Id: OTP-18656 Aux Id: PR-7404 GH-7390

+
+ +

+ Introduce the KERNEL application parameter + standard_io_encoding that can be used to set the + default encoding for standard_io. This option needs to be + set to latin1 if the application wants to treat + all input data as bytes rather than utf-8 encoded + characters.

+

+ Own Id: OTP-18657 Aux Id: GH-7230 PR-7384

+
+
+
+ +
+ +
Kernel 9.0.1 + +
Fixed Bugs and Malfunctions + + +

The POSIX error exdev was sometimes incorrectly + described as "cross domain link" in some error + messages.

+

+ Own Id: OTP-18578 Aux Id: GH-7213

+
+ +

+ Corrected the socket send function description (send with + Timeout = nowait). The send function(s) could not return + {ok, {RestData, SelectInfo}}

+

+ Own Id: OTP-18584 Aux Id: #7238

+
+
+
+ +
+
Kernel 9.0
Fixed Bugs and Malfunctions @@ -543,6 +674,29 @@
+
Kernel 8.5.4.1 + +
Fixed Bugs and Malfunctions + + +

+ Multiple socket:accept calls issue. When making multiple + accept calls, only the last call is active.

+

+ Own Id: OTP-18635 Aux Id: #7328

+
+ +

+ gen_udp:connect with inet_backend = socket fails when the + Address is a hostname (string or atom).

+

+ Own Id: OTP-18650

+
+
+
+ +
+
Kernel 8.5.4
Fixed Bugs and Malfunctions diff --git a/lib/kernel/doc/src/socket.xml b/lib/kernel/doc/src/socket.xml index 2861108da61f..68a8dbd0b683 100644 --- a/lib/kernel/doc/src/socket.xml +++ b/lib/kernel/doc/src/socket.xml @@ -160,6 +160,16 @@ + + + +

+ Extended Error Info. + A term containing additional (error) info if + the socket nif has been configured to produce it. +

+
+
@@ -524,25 +534,63 @@ BufSize :: (default | integer()>0)} - Receive buffer size. - The value default is only valid to set. - N specifies the number of read attempts to do - in a tight loop before assuming no more data is pending. +

+ The value default is only valid to set. +

+

+ N specifies the number of read attempts to do + in a tight loop before assuming no more data is pending. +

+

+ This is the allocation size for the receive buffer + used when calling the OS protocol stack's receive API, + when no specific size (size 0) is requested. + When the receive function returns the receive buffer + is reallocated to the actually received size. + If the data is copied or shrinked in place is up to + the allocator, and can to some extent be configured + in the Erlang VM. +

+

+ The similar socket option; {socket,rcvbuf} + is a related option for the OS' protocol stack + that on Unix corresponds to SOL_SOCKET,SO_RCVBUF. +

rcvctrlbuf BufSize :: (default | integer()>0) - - Buffer size for received ancillary messages. - The value default is only valid to set. + - Allocation size for the ancillary data buffer used + when calling the OS protocol stack's receive API. +

+ The value default is only valid to set. +

sndctrlbuf BufSize :: (default | integer()>0) - - Buffer size for sent ancillary messages. - The value default is only valid to set. + - Allocation size for the ancillary data buffer used + when calling the OS protocol stack's + sendmsg + API. +

+ The value default is only valid to set. +

+

+ It is the user's responsibility to set a buffer size + that has room for the encoded ancillary data + in the message to send. +

+

+ See sendmsg and + also the ctrl field of the + msg_send() + type. +

fd @@ -1469,6 +1517,24 @@ if no connection has been accepted after Timeout milliseconds.

+ +

On unix, note that if multiple calls are made only + the last call is "valid":

+ + {select, {select_info, _Handle}} = socket:accept(LSock, nowait), + {error, timeout} = socket:accept(LSock, 500), + . + . + . + +

In the example above, Handle is not valid once + the second (accept-) call has been made (the first call is + automatically "cancelled" and an abort messaage sent, + when the second call is made). + After the (accept-) call + resulting in the timeout has been made, there is no longer an + active accept call!

+
@@ -1558,6 +1624,26 @@ cancel/2 to cancel the operation.

+ + +

On unix, note that if multiple calls are made only + the last call is "valid":

+ + {select, {select_info, _Handle1}} = socket:accept(LSock, nowait), + {select, {select_info, _Handle2}} = socket:accept(LSock, nowait), + receive + {'$socket', LSock, select, Handle2} -> + {ok, ASock} = socket:accept(LSock, nowait), + . + . + . + end + +

In the example above, only Handle2 is valid once the + second (accept-) call has been made (the first call is + automatically "cancelled" and an abort messaage sent, + when the second call is made).

+
@@ -2169,22 +2255,86 @@ - + + + + Control device.

Retrieve socket (device) parameters.

+

This function retrieves a specific parameter, + according to GetRequest argument.

+ + gifconf + +

Return a list of interface (transport layer) addresses.

+

Result, a list of interfaces, map with name and address.

+
+ + nread + +

Get the number of bytes that are immediately available + for reading.

+

Result, number of bytes, is a integer().

+
+ + nwrite + +

The number of bytes in the send queue.

+

Result, number of bytes, is a integer().

+
+ + nspace + +

Get the free space in the send queue.

+

Result, number of bytes, is a integer().

+
+ + atmark + +

Test if there is oob (out-of-bound) data waiting to be read.

+

Result is a boolean().

+
+ + tcp_info + +

Return miscellaneous TCP related information for a + connected socket.

+

Result is a map().

+
+ +
+ + +

To see if a ioctl request is supported on the + current platform:

+ + Request = nread, + {ok, true} = socket:is_supported(ioctl_requests, Request), + . + . + . + +
+
- + Control device. -

Retrieve socket (device) parameters. - This function retrieves a specific parameter, +

Retrieve socket (device) parameters.

+

This function retrieves a specific parameter, according to GetRequest argument. The third - argument is the (lookup) "key", identifying the - interface (usually the name of the interface).

+ argument is a the (lookup) "key", identifying the + interface (usually the name of the interface) or a + command to set.

gifname @@ -2202,7 +2352,8 @@ gifaddr

Get the address of the interface with the specified name. - Result, address of the interface, is a socket:sockaddr().

+ Result, address of the interface, + is a socket:sockaddr().

gifdstaddr @@ -2260,6 +2411,86 @@

Result, the active flag word of the interface, is an list of socket:ioctl_device_flag() | integer().

+ +
+ +
+
+ + + + Control device. + +

Set socket (device) parameters.

+

This function sets a specific parameter, + according to SetRequest argument. The third + argument is the value to set.

+ + rcvall + +

Enables (or disables) a socket to receive all IPv4 or IPv6 + packages passing through a network interface.

+

The socket has to be either one of:

+ + An IPv4 socket + +

Created with the address family of inet, + socket type of raw and protocol set to ip.

+
+ An IPv6 socket + +

Created with the address family of inet6, + socket type of raw and protocol set to ipv6.

+
+
+

The socket must also be bound to an (explicit) local IPv4 + or IPv6 interface (any not allowed).

+

Setting this IOCTL requires admin privileges.

+
+ +
+ +
+
+ + + + Control device. + +

Set socket (device) parameters.

+

This function sets a specific parameter, + according to SetRequest argument. The third + argument is the value to set.

+ + rcvall_igmpmcall + +

Enables (or disables) a socket to receive IGMP multicast + IP traffic, without receiving any other IP traffic.

+

The socket has to be created with the address family of + inet, socket type of raw and protocol set + to igmp.

+

The socket must also be bound to an (explicit) local interface + (any not allowed).

+

Must have a sufficiently large buffer.

+

Setting this IOCTL requires admin privileges.

+
+ + rcvall_mcall + +

Enables (or disables) a socket to receive all multicast + IP traffic (as in; all IP packets destined for IP addresses + in the range of 224.0.0.0 to 239.255.255.255).

+

The socket has to be created with the address family of + inet, socket type of raw and protocol set + to udp.

+

The socket must also be bound to an (explicit) local interface + (any not allowed). And bind to port zero

+

Must have a sufficiently large buffer.

+

Setting this IOCTL requires admin privileges.

+
+
@@ -2476,7 +2707,7 @@
Defaults to false.

- use_registry> + use_registry

Enable or disable use of the socket registry for this socket. This overrides the global value. @@ -3291,7 +3522,7 @@ If some of the data was sent, the function will return - {ok, {RestDataSelectInfo}, + {select, {RestDataSelectInfo}, which can only happen (on Unix) for a socket of @@ -3525,7 +3756,7 @@ If some of the data was sent, the function will return - {ok, {RestDataSelectInfo}, + {select, {RestDataSelectInfo}, which can only happen for a socket of @@ -3723,7 +3954,7 @@ If some of the data was sent, the function will return - {ok, {RestDataSelectInfo}, + {select, {RestDataSelectInfo}, which can only happen (on Unix) for a socket of diff --git a/lib/kernel/doc/src/socket_usage.xml b/lib/kernel/doc/src/socket_usage.xml index dfa551426db8..f9b95a3b31a0 100644 --- a/lib/kernel/doc/src/socket_usage.xml +++ b/lib/kernel/doc/src/socket_usage.xml @@ -309,6 +309,13 @@ yes type = dgram + + bsp_state + map() + no + yes + Windows only + debug integer() @@ -330,6 +337,13 @@ yes none + + exclusiveaddruse + boolean() + yes + yes + Windows only + keepalive boolean() @@ -344,6 +358,20 @@ yes none + + maxdg + integer() + no + yes + Windows only + + + max_msg_size + integer() + no + yes + Windows only + oobinline boolean() @@ -894,6 +922,35 @@ yes none + + cork + boolean() + yes + yes + 'nopush' one some platforms (FreeBSD) + + + keepcnt + integer() + yes + yes + On Windows (at least), + it is illegal to set to a value greater than 255. + + + keepidle + integer() + yes + yes + none + + + keepintvl + integer() + yes + yes + none + maxseg integer() @@ -908,6 +965,17 @@ yes none + + nopush + boolean() + yes + yes + + 'cork' on some platforms (Linux). + On Darwin this has a different meaning than + on, for instance, FreeBSD. + + tcp options diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile index f67044f5e789..929f1d2c4e68 100644 --- a/lib/kernel/src/Makefile +++ b/lib/kernel/src/Makefile @@ -100,6 +100,7 @@ MODULES = \ inet_config \ inet_db \ inet_dns \ + inet_dns_tsig \ inet_epmd_dist \ inet_epmd_socket \ inet_gethost_native \ @@ -268,6 +269,7 @@ $(EBIN)/inet6_sctp.beam: inet_int.hrl $(EBIN)/inet_config.beam: inet_config.hrl ../include/inet.hrl $(EBIN)/inet_db.beam: ../include/inet.hrl inet_int.hrl inet_res.hrl inet_dns.hrl inet_config.hrl $(EBIN)/inet_dns.beam: inet_int.hrl inet_dns.hrl inet_dns_record_adts.hrl +$(EBIN)/inet_dns_tsig.beam: inet_dns.hrl $(EBIN)/inet_gethost_native.beam: ../include/inet.hrl $(EBIN)/inet_hosts.beam: ../include/inet.hrl $(EBIN)/inet_parse.beam: ../include/file.hrl diff --git a/lib/kernel/src/code.erl b/lib/kernel/src/code.erl index 13fed657d145..c5a3b7ec8e7b 100644 --- a/lib/kernel/src/code.erl +++ b/lib/kernel/src/code.erl @@ -914,14 +914,17 @@ get_doc(Mod, #{sources:=[Source|Sources]}=Options) -> end, case which(Mod) of preloaded -> - ErtsDir = code:lib_dir(erts), - ErtsEbinDir = - case filelib:is_dir(filename:join([ErtsDir,"ebin"])) of - true -> filename:join([ErtsDir,"ebin"]); - false -> filename:join([ErtsDir,"preloaded","ebin"]) - end, - Fn = filename:join([ErtsEbinDir, atom_to_list(Mod) ++ ".beam"]), - GetDoc(Fn); + case code:lib_dir(erts) of + {error, _} -> {error, missing}; + ErtsDir -> + ErtsEbinDir = + case filelib:is_dir(filename:join([ErtsDir,"ebin"])) of + true -> filename:join([ErtsDir,"ebin"]); + false -> filename:join([ErtsDir,"preloaded","ebin"]) + end, + Fn = filename:join([ErtsEbinDir, atom_to_list(Mod) ++ ".beam"]), + GetDoc(Fn) + end; Error when is_atom(Error) -> {error, Error}; Fn -> diff --git a/lib/kernel/src/erts_debug.erl b/lib/kernel/src/erts_debug.erl index 6cf3e211e846..9b939e39d133 100644 --- a/lib/kernel/src/erts_debug.erl +++ b/lib/kernel/src/erts_debug.erl @@ -31,7 +31,7 @@ %%% BIFs --export([breakpoint/2, disassemble/1, display/1, dist_ext_to_term/2, +-export([breakpoint/2, disassemble/1, dist_ext_to_term/2, flat_size/1, get_internal_state/1, instructions/0, interpreter_size/0, map_info/1, same/2, set_internal_state/2, @@ -69,12 +69,6 @@ breakpoint(_, _) -> disassemble(_) -> erlang:nif_error(undef). --spec display(Term) -> string() when - Term :: term(). - -display(_) -> - erlang:nif_error(undef). - -spec dist_ext_to_term(Tuple, Binary) -> term() when Tuple :: tuple(), Binary :: binary(). diff --git a/lib/kernel/src/file.erl b/lib/kernel/src/file.erl index 3d4422dc2a2e..6a5e4911dea0 100644 --- a/lib/kernel/src/file.erl +++ b/lib/kernel/src/file.erl @@ -36,7 +36,8 @@ read_link_info/1, read_link_info/2, read_link/1, read_link_all/1, make_link/2, make_symlink/2, - read_file/1, write_file/2, write_file/3]). + read_file/1, read_file/2, + write_file/2, write_file/3]). %% Specialized -export([ipread_s32bu_p32bu/3]). %% Generic file contents. @@ -70,7 +71,7 @@ %% Types that can be used from other modules -- alphabetically ordered. -export_type([date_time/0, fd/0, file_info/0, filename/0, filename_all/0, - io_device/0, mode/0, name/0, name_all/0, posix/0]). + io_device/0, location/0, mode/0, name/0, name_all/0, posix/0]). %%% Includes and defines -include("file_int.hrl"). @@ -125,6 +126,7 @@ -type posix_file_advise() :: 'normal' | 'sequential' | 'random' | 'no_reuse' | 'will_need' | 'dont_need'. -type delete_option() :: 'raw'. +-type read_file_option() :: 'raw'. -type sendfile_option() :: {chunk_size, non_neg_integer()} | {use_threads, boolean()}. -type file_info_option() :: {'time', 'local'} | {'time', 'universal'} @@ -218,15 +220,14 @@ delete(Name) -> Reason :: posix() | badarg. delete(Name, Opts) when is_list(Opts) -> - Args = [file_name(Name), Opts], - case check_args(Args) of + FileName = file_name(Name), + case check_args(Opts) of ok -> case lists:member(raw, Opts) of true -> - [FileName|_] = Args, ?PRIM_FILE:delete(FileName); false -> - call(delete, Args) + call(delete, [FileName]) end; Error -> Error @@ -418,6 +419,26 @@ list_dir_all(Name) -> read_file(Name) -> check_and_call(read_file, [file_name(Name)]). +-spec read_file(Filename, Opts) -> {ok, Binary} | {error, Reason} when + Filename :: name_all(), + Opts :: [read_file_option()], + Binary :: binary(), + Reason :: posix() | badarg | terminated | system_limit. + +read_file(Name, Opts) when is_list(Opts) -> + FileName = file_name(Name), + case check_args(Opts) of + ok -> + case lists:member(raw, Opts) of + true -> + ?PRIM_FILE:read_file(FileName); + false -> + call(read_file, [FileName]) + end; + Error -> + Error + end. + -spec make_link(Existing, New) -> ok | {error, Reason} when Existing :: name_all(), New :: name_all(), @@ -582,7 +603,7 @@ allocate(#file_descriptor{module = Module} = Handle, Offset, Length) -> Module:allocate(Handle, Offset, Length). -spec read(IoDevice, Number) -> {ok, Data} | eof | {error, Reason} when - IoDevice :: io_device() | atom(), + IoDevice :: io_device() | io:device(), Number :: non_neg_integer(), Data :: string() | binary(), Reason :: posix() @@ -604,7 +625,7 @@ read(_, _) -> {error, badarg}. -spec read_line(IoDevice) -> {ok, Data} | eof | {error, Reason} when - IoDevice :: io_device() | atom(), + IoDevice :: io_device() | io:device(), Data :: string() | binary(), Reason :: posix() | badarg @@ -668,7 +689,7 @@ pread(_, _, _) -> {error, badarg}. -spec write(IoDevice, Bytes) -> ok | {error, Reason} when - IoDevice :: io_device() | atom(), + IoDevice :: io_device() | io:device(), Bytes :: iodata(), Reason :: posix() | badarg | terminated. diff --git a/lib/kernel/src/gen_tcp.erl b/lib/kernel/src/gen_tcp.erl index e56f9eff1d38..88fcf5b4e0cd 100644 --- a/lib/kernel/src/gen_tcp.erl +++ b/lib/kernel/src/gen_tcp.erl @@ -189,7 +189,9 @@ connect(Address, Port, Opts) connect(#{family := Fam} = SockAddr, Opts, Timeout) when ((Fam =:= inet) orelse (Fam =:= inet6)) -> %% Ensure that its a proper sockaddr_in6, with all fields + %% ?DBG([{fam, Fam}, {sa, SockAddr}, {opts, Opts}, {timeout, Timeout}]), SockAddr2 = inet:ensure_sockaddr(SockAddr), + %% ?DBG([{sa2, SockAddr2}]), case inet:gen_tcp_module(Opts) of {?MODULE, Opts2} -> Timer = inet:start_timer(Timeout), @@ -201,8 +203,8 @@ connect(#{family := Fam} = SockAddr, Opts, Timeout) {'EXIT', Reason} -> exit(Reason); Error -> Error end; - {GenTcpMod, Opts2} -> - GenTcpMod:connect(SockAddr2, Opts2, Timeout) + {GenTcpMod, Opts3} -> + GenTcpMod:connect(SockAddr2, Opts3, Timeout) end. diff --git a/lib/kernel/src/gen_tcp_socket.erl b/lib/kernel/src/gen_tcp_socket.erl index fb0f807cc1ce..2929999dcd12 100644 --- a/lib/kernel/src/gen_tcp_socket.erl +++ b/lib/kernel/src/gen_tcp_socket.erl @@ -24,7 +24,8 @@ -compile({no_auto_import, [monitor/1]}). %% gen_tcp --export([connect/4, listen/2, accept/2, +-export([connect/3, connect/4, + listen/2, accept/2, send/2, recv/3, sendfile/4, shutdown/2, close/1, controlling_process/2]). @@ -51,8 +52,10 @@ -export([handle_event/4]). -include("inet_int.hrl"). +-include("socket_int.hrl"). -%% -define(DBG(T), erlang:display({{self(), ?MODULE, ?LINE, ?FUNCTION_NAME}, T})). +%% -define(DBG(T), +%% erlang:display({{self(), ?MODULE, ?LINE, ?FUNCTION_NAME}, T})). %% ------------------------------------------------------------------------- @@ -78,14 +81,20 @@ OTHER__ -> OTHER__ end). --define(socket_abort(Socket, SelectRef, Reason), - {'$socket', (Socket), abort, {(SelectRef), (Reason)}}). --define(socket_select(Socket, SelectRef), - {'$socket', (Socket), select, (SelectRef)}). +-define(socket_abort(Socket, SelectHandle, Reason), + ?ESOCK_ABORT_MSG(Socket, SelectHandle, Reason)). +-define(socket_select(Socket, SelectHandle), + ?ESOCK_SELECT_MSG(Socket, SelectHandle)). +-define(socket_completion(Socket, CH, CS), + ?ESOCK_COMPLETION_MSG(Socket, CH, CS)). + -define(socket_counter_wrap(Socket, Counter), - {'$socket', (Socket), counter_wrap, (Counter)}). --define(select_info(SelectRef), - {select_info, _, (SelectRef)}). + ?ESOCK_SOCKET_MSG(Socket, counter_wrap, Counter)). + +-define(select_info(SelectHandle), + ?ESOCK_SELECT_INFO(SelectHandle)). +-define(completion_info(CompletionHandle), + ?ESOCK_COMPLETION_INFO(CompletionHandle)). -define(CLOSED_SOCKET, #{rstates => [closed], wstates => [closed]}). @@ -94,11 +103,21 @@ socket_inherit_opts() -> [priority]. + %%% ======================================================================== %%% API %%% +connect(SockAddr, Opts, Timeout) -> + Timer = inet:start_timer(Timeout), + try + connect_lookup(SockAddr, Opts, Timer) + after + _ = inet:stop_timer(Timer) + end. + connect(Address, Port, Opts, Timeout) -> + %% ?DBG([{address, Address}, {port, Port}, {opts, Opts}, {timeout, Timeout}]), Timer = inet:start_timer(Timeout), try connect_lookup(Address, Port, Opts, Timer) @@ -106,29 +125,52 @@ connect(Address, Port, Opts, Timeout) -> _ = inet:stop_timer(Timer) end. + %% Helpers ------- -connect_lookup(Address, Port, Opts, Timer) -> - Opts_1 = internalize_setopts(Opts), - {Mod, Opts_2} = inet:tcp_module(Opts_1, Address), - Domain = domain(Mod), - {StartOpts, Opts_3} = split_start_opts(Opts_2), +connect_lookup(#{family := Domain, + addr := Address, + port := Port} = _SockAddr, Opts0, Timer) -> + %% ?DBG([{domain, Domain}, {addr, Address}, {port, Port}, + %% {opts0, Opts0}, {timer, Timer}]), + Opts1 = internalize_setopts(Opts0), + {Mod, Opts2} = inet:tcp_module(Opts1, Address), + connect_lookup(Domain, Address, Port, Mod, Opts2, Timer). + + +connect_lookup(Address, Port, Opts0, Timer) -> + %% ?DBG([{addr, Address}, {port, Port}, + %% {opts0, Opts0}, {timer, Timer}]), + Opts1 = internalize_setopts(Opts0), + {Mod, Opts2} = inet:tcp_module(Opts1, Address), + Domain = domain(Mod), + connect_lookup(Domain, Address, Port, Mod, Opts2, Timer). + +connect_lookup(Domain, Address, Port, Mod, Opts0, Timer) -> + %% ?DBG([{domain, Domain}, {addr, Address}, {port, Port}, + %% {mod, Mod}, {opts0, Opts0}, {timer, Timer}]), + {StartOpts, Opts} = split_start_opts(Opts0), ErrRef = make_ref(), try + %% ?DBG(['try getaddrs']), IPs = val(ErrRef, Mod:getaddrs(Address, Timer)), - TP = val(ErrRef, Mod:getserv(Port)), - CO = val(ErrRef, inet:connect_options(Opts_3, Mod)), - {sockaddrs(IPs, TP, Domain), CO} + %% ?DBG(['try getserv']), + TP = val(ErrRef, Mod:getserv(Port)), + %% ?DBG(['process connect options']), + CO = val(ErrRef, inet:connect_options(Opts, Mod)), + %% ?DBG(['process sockaddrs']), + SAs = sockaddrs(IPs, TP, Domain), + %% ?DBG([{sas, SAs}, {co, CO}]), + {SAs, CO} of {Addrs, - #connect_opts{ - fd = Fd, - ifaddr = BindIP, - port = BindPort, - opts = ConnectOpts}} -> + #connect_opts{fd = Fd, + ifaddr = BindIP, + port = BindPort, + opts = ConnectOpts}} -> %% - %% ?DBG({Domain, BindIP}), - BindAddr = bind_addr(Domain, BindIP, BindPort), + %% ?DBG([{domain, Domain}, {bind_ip, BindIP}]), + BindAddr = bind_addr(Domain, BindIP, BindPort), ExtraOpts = extra_opts(Fd), connect_open( Addrs, Domain, ConnectOpts, StartOpts, ExtraOpts, @@ -151,14 +193,21 @@ connect_open( ExtraOpts) of {ok, Server} -> + %% ?DBG(['server started', {server, Server}]), ErrRef = make_ref(), try + %% ?DBG(['try process opts', + %% {start_opts, StartOpts}, + %% {connect_opts, ConnectOpts}]), Setopts = default_active_true( [{start_opts, StartOpts} | setopts_opts(ErrRef, ConnectOpts)]), + %% ?DBG(['opts processed - try set', {setopts, Setopts}]), ok(ErrRef, call(Server, {setopts, Setopts})), + %% ?DBG(['setopts set - try bind']), ok(ErrRef, call_bind(Server, BindAddr)), + %% ?DBG(['bound - try connect']), DefaultError = {error, einval}, Socket = val(ErrRef, @@ -166,22 +215,27 @@ connect_open( {ok, ?MODULE_socket(Server, Socket)} catch throw : {ErrRef, Reason} -> + %% ?DBG([{reason, Reason}]), close_server(Server), ?badarg_exit({error, Reason}) end; - {error, _} = Error -> + {error, _Reason} = Error -> + %% ?DBG(['server start failed', {reason, _Reason}]), ?badarg_exit(Error) end. -connect_loop([], _Server, Error, _Timer) -> Error; +connect_loop([], _Server, Error, _Timer) -> + %% ?DBG(['done', {error, Error}]), + Error; connect_loop([Addr | Addrs], Server, _Error, Timer) -> Result = call(Server, {connect, Addr, inet:timeout(Timer)}), case Result of - {ok, _Socket} -> Result; - {error, badarg} -> Result; - {error, einval} -> Result; + {ok, _Socket} -> Result; + {error, badarg} -> Result; + {error, einval} -> Result; {error, timeout} -> Result; {error, _} -> + %% ?DBG([{addr, Addr}, {result, Result}]), connect_loop(Addrs, Server, Result, Timer) end. @@ -215,10 +269,19 @@ default_any(Domain, undefined, _Opts) -> default_any(_Domain, BindAddr, _Opts) -> BindAddr. -bind_addr(_Domain, BindIP, BindPort) +bind_addr(Domain, BindIP, BindPort) when ((BindIP =:= undefined) andalso (BindPort =:= 0)) -> - %% Do not bind! - undefined; + %% *Maybe* Do not bind! On Windows we actually need to bind + %% ?DBG([{bind_ip, BindIP}, {bind_port, BindPort}, {fd, Fd}]), + case os:type() of + {win32, nt} -> + Addr = which_bind_address(Domain, BindIP), + #{family => Domain, + addr => Addr, + port => BindPort}; + _ -> + undefined + end; bind_addr(local = Domain, BindIP, _BindPort) -> case BindIP of any -> @@ -229,11 +292,60 @@ bind_addr(local = Domain, BindIP, _BindPort) -> end; bind_addr(Domain, BindIP, BindPort) when (Domain =:= inet) orelse (Domain =:= inet6) -> - Addr = if (BindIP =:= undefined) -> any; true -> BindIP end, + %% ?DBG([{domain, Domain}, {bind_ip, BindIP}, {bind_port, BindPort}]), + Addr = which_bind_address(Domain, BindIP), #{family => Domain, addr => Addr, port => BindPort}. +which_bind_address(Domain, BindIP) when (BindIP =:= undefined) -> + which_default_bind_address(Domain); +which_bind_address(_Domain, BindIP) -> + %% We should really check if its any here, + %% since that will not work on Windows... + BindIP. + +which_default_bind_address(Domain) -> + case os:type() of + {win32, nt} -> + %% Binding to 'any' causes "issues" on Windows: + %% The socket is actually auto-bound when first *sending*, + %% so since the server process start *reading* directly, + %% that (reading) fails. + %% Therefor pick a "proper" address... + which_default_bind_address2(Domain); + _ -> + any + end. + +which_default_bind_address2(Domain) -> + %% ?DBG([{domain, Domain}]), + case net_getifaddrs(Domain) of + {ok, Addrs} -> + %% ?DBG([{addrs, Addrs}]), + %% Pick first *non-loopback* interface that is 'up' + UpNonLoopbackAddrs = + [Addr || + #{flags := Flags} = Addr <- + Addrs, + (not lists:member(loopback, Flags)) andalso + lists:member(up, Flags)], + %% ?DBG([{up_non_loopback_addrs, UpNonLoopbackAddrs}]), + case UpNonLoopbackAddrs of + [#{addr := #{addr := Addr}} | _] -> + Addr; + _ -> + any % better than nothing + end; + {error, _} -> + any % better than nothing + end. + +net_getifaddrs(local = _Domain) -> + net:getifaddrs(#{family => local, flags => any}); +net_getifaddrs(Domain) -> + net:getifaddrs(Domain). + call_bind(_Server, undefined) -> ok; call_bind(Server, BindAddr) -> @@ -251,8 +363,8 @@ default_active_true(Opts) -> %% ------------------------------------------------------------------------- listen(Port, Opts) -> - Opts_1 = internalize_setopts(Opts), - {Mod, Opts_2} = inet:tcp_module(Opts_1), + Opts_1 = internalize_setopts(Opts), + {Mod, Opts_2} = inet:tcp_module(Opts_1), {StartOpts, Opts_3} = split_start_opts(Opts_2), case Mod:getserv(Port) of {ok, TP} -> @@ -260,18 +372,17 @@ listen(Port, Opts) -> {error, badarg} -> exit(badarg); {ok, - #listen_opts{ - fd = Fd, - ifaddr = BindIP, - port = BindPort, - opts = ListenOpts, - backlog = Backlog}} -> + #listen_opts{fd = Fd, + ifaddr = BindIP, + port = BindPort, + opts = ListenOpts, + backlog = Backlog}} -> %% - Domain = domain(Mod), - %% ?DBG({Domain, BindIP}), - BindAddr = bind_addr(Domain, BindIP, BindPort), + Domain = domain(Mod), + %% ?DBG([{domain, Domain}, {bind_ip, BindIP}, + %% {listen_opts, ListenOpts}, {backlog, Backlog}]), + BindAddr = bind_addr(Domain, BindIP, BindPort), ExtraOpts = extra_opts(Fd), - %% ?DBG([{listen_opts, ListenOpts}, {backlog, Backlog}]), listen_open( Domain, ListenOpts, StartOpts, ExtraOpts, Backlog, BindAddr) @@ -280,6 +391,7 @@ listen(Port, Opts) -> ?badarg_exit(Error) end. + %% Helpers ------- listen_open(Domain, ListenOpts, StartOpts, ExtraOpts, Backlog, BindAddr) -> @@ -289,15 +401,14 @@ listen_open(Domain, ListenOpts, StartOpts, ExtraOpts, Backlog, BindAddr) -> {ok, Server} -> ErrRef = make_ref(), try + %% On *Windows* we need to bind before everything else... + ok(ErrRef, call_bind(Server, + default_any(Domain, BindAddr, ExtraOpts))), Setopts = default_active_true( [{start_opts, StartOpts} | setopts_opts(ErrRef, ListenOpts)]), ok(ErrRef, call(Server, {setopts, Setopts})), - ok(ErrRef, call_bind( - Server, - default_any(Domain, BindAddr, ExtraOpts) - )), Socket = val(ErrRef, call(Server, {listen, Backlog})), {ok, ?MODULE_socket(Server, Socket)} catch @@ -369,13 +480,81 @@ send_result(Server, Data, Meta, Result) -> %% ?DBG([{meta, Meta}, {send_result, Result}]), case Result of {error, Reason} -> - %% ?DBG(Result), + %% ?DBG(['send failure', {reason, Reason}]), case Reason of econnreset -> case maps:get(show_econnreset, Meta) of true -> Result; false -> {error, closed} end; + {completion_status, #{info := econnreset = R}} -> + case maps:get(show_econnreset, Meta) of + true -> {error, R}; + false -> {error, closed} + end; + {completion_status, econnreset = R} -> + case maps:get(show_econnreset, Meta) of + true -> {error, R}; + false -> {error, closed} + end; + #{info := econnreset = R} -> + case maps:get(show_econnreset, Meta) of + true -> {error, R}; + false -> {error, closed} + end; + + %% Shall we really use (abuse) the show_econnreset option? + {completion_status, #{info := econnaborted}} -> + case maps:get(show_econnreset, Meta) of + true -> {error, econnreset}; + false -> {error, closed} + end; + {completion_status, econnaborted} -> + case maps:get(show_econnreset, Meta) of + true -> {error, econnreset}; + false -> {error, closed} + end; + #{info := econnaborted} -> + case maps:get(show_econnreset, Meta) of + true -> {error, econnreset}; + false -> {error, closed} + end; + econnaborted -> + case maps:get(show_econnreset, Meta) of + true -> {error, econnreset}; + false -> {error, closed} + end; + + {completion_status, #{info := netname_deleted}} -> + case maps:get(show_econnreset, Meta) of + true -> {error, econnreset}; + false -> {error, closed} + end; + {completion_status, netname_deleted} -> + case maps:get(show_econnreset, Meta) of + true -> {error, econnreset}; + false -> {error, closed} + end; + #{info := netname_deleted} -> + case maps:get(show_econnreset, Meta) of + true -> {error, econnreset}; + false -> {error, closed} + end; + netname_deleted -> + case maps:get(show_econnreset, Meta) of + true -> {error, econnreset}; + false -> {error, closed} + end; + + {completion_status, #{info := too_many_cmds}} -> + {error, closed}; + {completion_status, too_many_cmds} -> + {error, closed}; + #{info := too_many_cmds} -> + {error, closed}; + too_many_cmds -> + {error, closed}; + {timeout = R, RestData} when is_binary(RestData) -> %% To handle RestData we would have to pass %% all writes through a single process that buffers @@ -383,6 +562,8 @@ send_result(Server, Data, Meta, Result) -> %% %% For send_timeout_close we have to waste RestData. %% + %% ?DBG(['timeout with restdata', + %% {restdata_size, byte_size(RestData)}]), case maps:get(send_timeout_close, Meta) of true -> close_server(Server), @@ -401,6 +582,7 @@ send_result(Server, Data, Meta, Result) -> %% and inserting a new packet header into the %% stream would be dead wrong. %% + %% ?DBG(['timeout']), case maps:get(send_timeout_close, Meta) of true -> close_server(Server), @@ -408,6 +590,7 @@ send_result(Server, Data, Meta, Result) -> false -> {error, {Reason, iolist_to_binary(Data)}} end; + _ -> ?badarg_exit(Result) end; @@ -530,14 +713,27 @@ cancel_monitor(MRef) -> %% ------------------------------------------------------------------------- setopts(?MODULE_socket(Server, _Socket), Opts) when is_list(Opts) -> - call(Server, {setopts, internalize_setopts(Opts)}). - + try + begin + call(Server, {setopts, internalize_setopts(Opts)}) + end + catch + exit:badarg -> + {error, einval} + end. %% ------------------------------------------------------------------------- getopts(?MODULE_socket(Server, _Socket), Opts) when is_list(Opts) -> - call(Server, {getopts, internalize_getopts(Opts)}). + try + begin + call(Server, {getopts, internalize_getopts(Opts)}) + end + catch + exit:badarg -> + {error, einval} + end. %% ------------------------------------------------------------------------- @@ -663,6 +859,7 @@ fdopen(Fd, Opts) when is_integer(Fd), 0 =< Fd, is_list(Opts) -> ?badarg_exit(Error) end. + %%% ======================================================================== %%% Socket glue code %%% @@ -694,12 +891,14 @@ socket_send(Socket, Data, Timeout) -> epipe -> econnreset; _ -> Reason end}; + {ok, RestData} when is_binary(RestData) -> %% Can not happen for stream socket, but that %% does not show in the type spec %% - make believe a fatal connection error %% ?DBG({ok, byte_size(RestData)}), {error, econnreset}; + ok -> ok end. @@ -810,8 +1009,9 @@ internalize_setopts(Opts) -> local -> {tcp_module, local_tcp}; {Tag, _} when is_atom(Tag) -> Opt; {raw, Level, Key, Value} -> {raw, {Level, Key, Value}}; - _ -> - exit(badarg) + _ -> + %% ?DBG([{opt, Opt}]), + exit(badarg) end || Opt <- Opts]. internalize_getopts(Opts) -> @@ -819,14 +1019,16 @@ internalize_getopts(Opts) -> Tag when is_atom(Tag) -> Opt; {raw, _} -> Opt; {raw, Level, Key, ValueSpec} -> {raw, {Level, Key, ValueSpec}}; - _ -> exit(badarg) + _ -> %% ?DBG([{opt, Opt}]), + exit(badarg) end || Opt <- Opts]. externalize_getopts(Opts) -> [case Opt of {raw, {Level, Key, Value}} -> {raw, Level, Key, Value}; {Tag, _} when is_atom(Tag) -> Opt; - _ -> exit(badarg) + _ -> %% ?DBG([{opt, Opt}]), + exit(badarg) end || Opt <- Opts]. %% @@ -882,19 +1084,28 @@ setopts_opts(ErrRef, Opts) -> %% Socket options socket_setopt(Socket, raw, Value) -> + %% ?DBG([raw, {value, Value}]), case Value of {Level, Key, Val} -> - socket:setopt_native(Socket, {Level,Key}, Val); + try socket:setopt_native(Socket, {Level,Key}, Val) of + Res -> + %% ?DBG([{res, Res}]), + Res + catch + throw:{invalid, _} -> + {error, einval} + end; _ -> {error, einval} end; socket_setopt(Socket, {Domain, _} = Opt, Value) when is_atom(Domain) -> - %% ?DBG(Opt), + %% ?DBG([{opt, Opt}, {value, Value}]), %% socket:setopt(Socket, otp, debug, true), Res = socket:setopt(Socket, Opt, socket_setopt_value(Opt, Value)), %% socket:setopt(Socket, otp, debug, false), Res; socket_setopt(Socket, DomainProps, Value) when is_list(DomainProps) -> + %% ?DBG([{domain_props, DomainProps}, {value, Value}]), %% We need to lookup the domain of the socket, %% so we can select which one to use. %% ?DBG(Opt0), @@ -928,45 +1139,51 @@ socket_setopt_value(_Opt, Value) -> Value. socket_getopt(Socket, raw, Val) -> + %% ?DBG([raw, {val, Val}]), case Val of {Level, Key, ValueSpec} -> case socket:getopt_native(Socket, {Level,Key}, ValueSpec) of {ok, Value} -> {ok, {Level, Key, Value}}; - {error, _} = ERROR -> + {error, {invalid, _} = _Reason} -> + %% ?DBG([{reason, _Reason}]), + {error, einval}; + {error, _Reason} = ERROR -> + %% ?DBG([{reason, _Reason}]), ERROR end; _ -> + %% ?DBG(bad_raw_value), {error, einval} end; socket_getopt(Socket, {Domain, _} = Opt, _) when is_atom(Domain) -> - %% ?DBG({'socket_getopt - match', Opt}), + %% ?DBG([{opt, Opt}]), %% _ = socket:setopt(Socket, otp, debug, true), Res = socket:getopt(Socket, Opt), - %% ?DBG({'socket_getopt - result', Res}), + %% ?DBG([{res, Res}]), %% _ = socket:setopt(Socket, otp, debug, false), socket_getopt_value(Opt, Res); socket_getopt(Socket, DomainProps, _) when is_list(DomainProps) -> + %% ?DBG([{domain_props, DomainProps}]), %% We need to lookup the domain of the socket, %% so we can select which one to use. - %% ?DBG({'socket_getopt - match', Tag, DomainProps}), case socket:getopt(Socket, otp, domain) of {ok, Domain} -> %% ?DBG({'socket_getopt - domain', Tag, Domain}), case lists:keysearch(Domain, 1, DomainProps) of {value, {Domain, Opt}} -> - %% ?DBG({'socket_getopt - ok domain', Tag, Level, OptKey}), + %% ?DBG([{domain, Domain}, {opt, Opt}]), %% _ = socket:setopt(Socket, otp, debug, true), Res = socket:getopt(Socket, Opt), %% _ = socket:setopt(Socket, otp, debug, false), - %% ?DBG({'socket_getopt - result', Res}), + %% ?DBG([{result, Res}]), socket_getopt_value(Opt, Res); false -> - %% ?DBG({'socket_getopt - invalid domain', Tag, Domain, DomainProps}), + %% ?DBG(no_domain), {error, einval} end; {error, _DReason} -> - %% ?DBG({'socket_getopt - unknown domain', Tag, _DReason}), + %% ?DBG(no_domain), {error, einval} end. @@ -1013,68 +1230,107 @@ ignore_optname(Tag) -> high_watermark -> true; low_msgq_watermark -> true; low_watermark -> true; - nopush -> true; - _ -> false + nopush -> + case nopush_or_cork() of + undefined -> + true; + _ -> + false + end; + _ -> + false end. %% 'socket' options; translation to 'level' and 'opt' %% -compile({inline, [socket_opts/0]}). socket_opts() -> - #{ - %% Level: otp - buffer => {otp, rcvbuf}, - debug => {otp, debug}, - fd => {otp, fd}, - - %% - %% Level: socket - bind_to_device => {socket, bindtodevice}, - dontroute => {socket, dontroute}, - keepalive => {socket, keepalive}, - linger => {socket, linger}, - priority => {socket, priority}, - recbuf => {socket, rcvbuf}, - reuseaddr => {socket, reuseaddr}, - sndbuf => {socket, sndbuf}, - - %% - %% Level: tcp - nodelay => {tcp, nodelay}, - - %% - %% Level: ip - recvtos => {ip, recvtos}, - recvttl => {ip, recvttl}, - tos => {ip, tos}, - ttl => {ip, ttl}, - - %% - %% Level: ipv6 - recvtclass => {ipv6, recvtclass}, - ipv6_v6only => {ipv6, v6only}, - tclass => {ipv6, tclass}, - - %% - %% Raw - raw => raw, - - %% - %% Special cases - %% These are options that cannot be mapped as above, - %% as they, for instance, "belong to" several domains. - %% So, we select which level to use based on the domain - %% of the socket. - - %% This is a special case. - %% Only supported on Linux and then only actually for IPv6, - %% but unofficially also for ip...barf... - %% In both cases this is *no longer valid* as the RFC which - %% introduced this, RFC 2292, is *obsoleted* by RFC 3542, where - %% this "feature" *does not exist*... - pktoptions => - [{inet, {ip, pktoptions}}, {inet6, {ipv6, pktoptions}}] - }. + Opts = + #{ + %% Level: otp + buffer => {otp, rcvbuf}, + debug => {otp, debug}, + fd => {otp, fd}, + + %% + %% Level: socket + bind_to_device => {socket, bindtodevice}, + dontroute => {socket, dontroute}, + exclusiveaddruse => {socket, exclusiveaddruse}, + keepalive => {socket, keepalive}, + linger => {socket, linger}, + priority => {socket, priority}, + recbuf => {socket, rcvbuf}, + reuseaddr => {socket, reuseaddr}, + sndbuf => {socket, sndbuf}, + + %% + %% Level: tcp + nodelay => {tcp, nodelay}, + + %% + %% Level: ip + recvtos => {ip, recvtos}, + recvttl => {ip, recvttl}, + tos => {ip, tos}, + ttl => {ip, ttl}, + + %% + %% Level: ipv6 + recvtclass => {ipv6, recvtclass}, + ipv6_v6only => {ipv6, v6only}, + tclass => {ipv6, tclass}, + + %% + %% Raw + raw => raw, + + %% + %% Special cases + %% These are options that cannot be mapped as above, + %% as they, for instance, "belong to" several domains. + %% So, we select which level to use based on the domain + %% of the socket. + + %% This is a special case. + %% Only supported on Linux and then only actually for IPv6, + %% but unofficially also for ip...barf... + %% In both cases this is *no longer valid* as the RFC which + %% introduced this, RFC 2292, is *obsoleted* by RFC 3542, where + %% this "feature" *does not exist*... + pktoptions => + [{inet, {ip, pktoptions}}, {inet6, {ipv6, pktoptions}}] + }, + case nopush_or_cork() of + undefined -> + %% Neither + Opts; + NopushOpt -> + maps:put(nopush, {tcp, NopushOpt}, Opts) + end. + +-compile({inline, [nopush_or_cork/0]}). +nopush_or_cork() -> + case os:type() of + {unix, darwin} -> + %% This option exist (on Darwin), but does something else! + undefined; + _ -> + OptsSup = socket:supports(options), + NoPushKey = {tcp, nopush}, + case lists:keysearch(NoPushKey, 1, OptsSup) of + {value, {NoPushKey, true}} -> + nopush; + _ -> + CorkKey = {tcp, cork}, + case lists:keysearch(CorkKey, 1, OptsSup) of + {value, {CorkKey, true}} -> + cork; + _ -> + undefined + end + end + end. -compile({inline, [server_read_write_opts/0]}). server_read_write_opts() -> @@ -1123,20 +1379,30 @@ meta(D) -> maps:with(maps:keys(server_write_opts()), D). %% Start for connect or listen - create a socket start_server(Domain, StartOpts, ExtraOpts) -> + %% ?DBG([{domain, Domain}, {start_opts, StartOpts}, {extra_opts, ExtraOpts}]), Owner = self(), Arg = {open, Domain, ExtraOpts, Owner}, case gen_statem:start(?MODULE, Arg, StartOpts) of - {ok, Server} -> {ok, Server}; - {error, _} = Error -> Error + {ok, Server} -> + %% ?DBG([{server, Server}]), + {ok, Server}; + {error, _} = Error -> + %% ?DBG([{error, Error}]), + Error end. %% Start for accept - have no socket yet start_server(ServerData, StartOpts) -> + %% ?DBG([{server_data, ServerData}, {start_opts, StartOpts}]), Owner = self(), Arg = {prepare, ServerData, Owner}, case gen_statem:start(?MODULE, Arg, StartOpts) of - {ok, Server} -> {ok, Server}; - {error, _} = Error -> Error + {ok, Server} -> + %% ?DBG([{server, Server}]), + {ok, Server}; + {error, _} = Error -> + %% ?DBG([{error, Error}]), + Error end. call(Server, Call) -> @@ -1179,20 +1445,20 @@ callback_mode() -> handle_event_function. %% 'accept' -record(accept, - {info :: socket:select_info(), + {info :: socket:select_info() | socket:completion_info(), from :: gen_statem:from(), listen_socket :: socket:socket()}). %% Socket is not created %% 'connect' % A listen socket stays here -record(connect, - {info :: socket:select_info(), + {info :: socket:select_info() | socket:completion_info(), from :: gen_statem:from(), addr :: socket:sockaddr()}). %% 'connected' -record(recv, - {info :: socket:select_info()}). + {info :: socket:select_info() | socket:completion_info()}). %% 'closed_read' | 'closed_read_write' %% 'closed' % Socket is closed or not created @@ -1208,13 +1474,14 @@ init({open, Domain, ExtraOpts, Owner}) -> %% %% ?DBG([{init, open}, - %% {domain, Domain}, {extraopts, ExtraOpts}, {owner, Owner}]), + %% {domain, Domain}, {extraopts, ExtraOpts}, {owner, Owner}]), process_flag(trap_exit, true), OwnerMon = monitor(process, Owner), Extra = #{}, % #{debug => true}, case socket_open(Domain, ExtraOpts, Extra) of {ok, Socket} -> + %% ?DBG(['open success', {socket, Socket}]), D = server_opts(), ok = socket:setopt(Socket, {otp,iow}, true), %% @@ -1229,7 +1496,7 @@ init({open, Domain, ExtraOpts, Owner}) -> owner_mon = OwnerMon}, {ok, connect, {P, D#{type => undefined, buffer => <<>>}}}; {error, Reason} -> - %% ?DBG({open_failed, Reason}), + %% ?DBG(['open failed', {reason, Reason}]), {stop, {shutdown, Reason}} end; init({prepare, D, Owner}) -> @@ -1257,7 +1524,7 @@ socket_open(Domain, #{fd := FD} = ExtraOpts, Extra) -> socket:open(FD, Opts); socket_open(Domain, ExtraOpts, Extra) -> Opts = maps:merge(Extra, ExtraOpts), - %% ?DBG([{netns, NS}, {opts, Opts}]), + %% ?DBG([{domain, Domain}, {extra_opts, ExtraOpts}, {extra, Extra}]), socket:open(Domain, stream, proto(Domain), Opts). proto(Domain) -> @@ -1437,34 +1704,48 @@ handle_event({call, From}, close, State, {P, D} = P_D) -> %% Call: getopts/1 handle_event({call, From}, {getopts, Opts}, State, {P, D}) -> - %% ?DBG({call, getopts, Opts, State, D}), + %% ?DBG([{opts, Opts}, {state, State}, {d, D}]), Result = case state_getopts(P, D, State, Opts) of {ok, OptVals} -> + %% ?DBG([{opt_vals, OptVals}]), {ok, externalize_getopts(OptVals)}; {error, _} = ERROR -> ERROR end, - %% ?DBG({call, getopts_result, Result}), + %% ?DBG([{result, Result}]), {keep_state_and_data, [{reply, From, Result}]}; %% Call: setopts/1 handle_event({call, From}, {setopts, Opts}, State, {P, D}) -> %% ?DBG([{setopts, Opts}, {state, State}, {d, D}]), - {Result, D_1} = state_setopts(P, D, State, Opts), - %% ?DBG([{result, Result}, {d1, D_1}]), - case Result of - {error, einval} -> - %% If we get this error, either the options where crap or - %% the socket is in a "bad state" (maybe its closed). - %% So, if that is the case we accept that we may not be - %% able to update the meta data. - _ = socket:setopt(P#params.socket, {otp,meta}, meta(D_1)), - ok; - _ -> - %% We should really handle this better. stop_and_reply? - ok = socket:setopt(P#params.socket, {otp,meta}, meta(D_1)) - end, + {Result_1, D_1} = state_setopts(P, D, State, Opts), + %% ?DBG([{result, Result_1}, {d1, D_1}]), + Result = + case Result_1 of + {error, enoprotoopt} -> + %% If we get this error, the options is not valid for + %% this (tcp) protocol. + _ = socket:setopt(P#params.socket, {otp,meta}, meta(D_1)), + {error, einval}; + + {error, {invalid, _}} -> + %% If we get this error, the options where crap. + _ = socket:setopt(P#params.socket, {otp,meta}, meta(D_1)), + {error, einval}; + + {error, einval} -> + %% If we get this error, either the options where crap or + %% the socket is in a "bad state" (maybe its closed). + %% So, if that is the case we accept that we may not be + %% able to update the meta data. + _ = socket:setopt(P#params.socket, {otp,meta}, meta(D_1)), + Result_1; + _ -> + %% We should really handle this better. stop_and_reply? + ok = socket:setopt(P#params.socket, {otp,meta}, meta(D_1)), + Result_1 + end, Reply = {reply, From, Result}, %% If the socket is deactivated; active: once | true | N > 0 -> false @@ -1551,7 +1832,7 @@ handle_event(Type, Content, State, P_D) handle_event( {call, From}, {accept, ListenSocket, Timeout}, 'accept' = _State, {P, D}) -> - handle_accept(P, D, From, ListenSocket, Timeout); + handle_accept(P, D, From, ListenSocket, Timeout, accept); handle_event(Type, Content, 'accept' = State, P_D) -> handle_unexpected(Type, Content, State, P_D); %% @@ -1562,7 +1843,14 @@ handle_event( info = ?select_info(SelectRef), from = From, listen_socket = ListenSocket}, {P, D}) -> - handle_accept(P, D, From, ListenSocket, update); + handle_accept(P, D, From, ListenSocket, update, select); +handle_event( + info, ?socket_completion(ListenSocket, CompletionRef, CompletionStatus), + #accept{ + info = ?completion_info(CompletionRef), from = From, + listen_socket = ListenSocket}, + {P, D}) -> + handle_accept(P, D, From, ListenSocket, update, CompletionStatus); handle_event( info, ?socket_abort(ListenSocket, SelectRef, Reason), #accept{ @@ -1571,6 +1859,14 @@ handle_event( {P, D}) -> {next_state, 'closed', {P, D}, [{reply, From, {error, Reason}}]}; +handle_event( + info, ?socket_abort(ListenSocket, CompletionRef, Reason), + #accept{ + info = ?completion_info(CompletionRef), from = From, + listen_socket = ListenSocket}, + {P, D}) -> + {next_state, 'closed', {P, D}, + [{reply, From, {error, Reason}}]}; handle_event( {timeout, accept}, accept, #accept{ @@ -1628,7 +1924,7 @@ handle_event( %% Call: connect/2 handle_event( {call, From}, {connect, Addr, Timeout}, 'connect' = _State, {P, D}) -> - handle_connect(P, D, From, Addr, Timeout); + handle_connect(P, D, From, Addr, Timeout, connect); %% %% Call: recv/2 - not connected handle_event( @@ -1644,21 +1940,56 @@ handle_event( [{reply, From, {ok, Socket}}]); handle_event(Type, Content, 'connect' = State, P_D) -> handle_unexpected(Type, Content, State, P_D); + %% %% State: #connect{} handle_event( info, ?socket_select(Socket, SelectRef), - #connect{ - info = ?select_info(SelectRef), from = From, addr = Addr} = _State, + #connect{info = ?select_info(SelectRef), from = From, addr = Addr} = _State, {#params{socket = Socket} = P, D}) -> - handle_connect(P, D, From, Addr, update); + %% ?DBG(['select message', {ref, SelectRef}]), + handle_connect(P, D, From, Addr, update, select); handle_event( info, ?socket_abort(Socket, SelectRef, Reason), #connect{info = ?select_info(SelectRef), from = From} = _State, {#params{socket = Socket} = _P, _D} = P_D) -> + %% ?DBG(['abort message', + %% {ref, SelectRef}, {reason, Reason}]), _ = socket_close(Socket), {next_state, 'closed', P_D, [{reply, From, {error, Reason}}]}; + +handle_event( + info, ?socket_completion(Socket, CompletionRef, CompletionStatus), + #connect{info = ?completion_info(CompletionRef), + from = From, + addr = Addr} = _State, + {#params{socket = Socket} = P, D}) -> + %% ?DBG(['completion message', + %% {ref, CompletionRef}, {status, CompletionStatus}]), + handle_connect(P, D, From, Addr, update, CompletionStatus); +handle_event( + info, ?socket_abort(Socket, CompletionRef, Reason), + #connect{info = ?completion_info(CompletionRef), from = From} = _State, + {#params{socket = Socket} = _P, _D} = P_D) -> + %% ?DBG(['abort message', + %% {ref, CompletionRef}, {reason, Reason}]), + _ = socket_close(Socket), + NewReason = case Reason of + {completion_status, #{info := netname_deleted}} -> + closed; + {completion_status, netname_deleted} -> + closed; + {completion_status, #{info := INFO}} -> + INFO; + {completion_status, INFO} -> + INFO; + _ -> + Reason + end, + {next_state, 'closed', P_D, + [{reply, From, {error, NewReason}}]}; + handle_event( {timeout, connect}, connect, #connect{info = SelectInfo, from = From}, @@ -1702,7 +2033,7 @@ handle_event( #recv{info = ?select_info(SelectRef)} = _State, {#params{socket = Socket} = P, D}) -> %% ?DBG([info, {socket, Socket}, {ref, SelectRef}]), - handle_recv(P, D, []); + handle_recv(P, D, [], recv); %% handle_event( info, ?socket_abort(Socket, SelectRef, Reason), @@ -1710,6 +2041,35 @@ handle_event( {#params{socket = Socket} = P, D}) -> %% ?DBG({abort, Reason}), handle_connected(P, cleanup_recv_reply(P, D, [], Reason)); + +%% +%% Handle completion done +handle_event( + info, ?socket_completion(Socket, CompletionRef, CompletionStatus), + #recv{info = ?completion_info(CompletionRef)} = _State, + {#params{socket = Socket} = P, D}) -> + %% ?DBG(['completion msg', {socket, Socket}, {ref, CompletionRef}]), + handle_recv(P, D, [], CompletionStatus); +%% +handle_event( + info, ?socket_abort(Socket, CompletionRef, Reason), + #recv{info = ?completion_info(CompletionRef)} = _State, + {#params{socket = Socket} = P, D}) -> + %% ?DBG(['abort msg', {reason, Reason}]), + NewReason = case Reason of + {completion_status, #{info := netname_deleted}} -> + closed; + {completion_status, netname_deleted} -> + closed; + {completion_status, #{info := INFO}} -> + INFO; + {completion_status, INFO} -> + INFO; + _ -> + Reason + end, + handle_connected(P, cleanup_recv_reply(P, D, [], NewReason)); + %% %% Timeout on recv in non-active mode handle_event( @@ -1809,40 +2169,86 @@ handle_closed(Type, Content, State, {P, _D}) -> %% State transition helpers ------- handle_connect( - #params{socket = Socket} = P, D, From, Addr, Timeout) -> + #params{socket = Socket} = P, D, From, Addr, Timeout, Status) + when (Status =:= connect) -> %% %% ?DBG([{d, D}, {addr, Addr}]), + %% _ = socket:setopt(Socket, otp, debug, true), case socket:connect(Socket, Addr, nowait) of ok -> + %% _ = socket:setopt(Socket, otp, debug, false), handle_connected( P, D#{type => connect}, [{{timeout, connect}, cancel}, {reply, From, {ok, Socket}}]); - {select, ?select_info(_) = SelectInfo} -> + + {select, ?select_info(_) = Info} -> + %% _ = socket:setopt(Socket, otp, debug, false), + %% ?DBG(['select info']), {next_state, - #connect{info = SelectInfo, from = From, addr = Addr}, + #connect{info = Info, from = From, addr = Addr}, {P, D#{type => connect}}, [{{timeout, connect}, Timeout, connect}]}; + + {completion, ?completion_info(_) = Info} -> + %% _ = socket:setopt(Socket, otp, debug, false), + %% ?DBG(['completion info']), + {next_state, + #connect{info = Info, from = From, addr = Addr}, + {P, D#{type => connect}}, + [{{timeout, connect}, Timeout, connect}]}; + {error, _} = Error -> + %% _ = socket:setopt(Socket, otp, debug, false), + %% ?DBG(['connect failed', {error, Error}]), {next_state, 'connect', {P, D}, [{{timeout, connect}, cancel}, {reply, From, Error}]} - end. + end; +handle_connect( + #params{socket = Socket} = P, D, From, Addr, Timeout, Status) + when (Status =:= select) -> + %% + %% ?DBG([{d, D}, {addr, Addr}]), + case socket:connect(Socket, Addr, nowait) of + ok -> + handle_connected( + P, D#{type => connect}, + [{{timeout, connect}, cancel}, + {reply, From, {ok, Socket}}]); + + {select, ?select_info(_) = Info} -> + {next_state, + #connect{info = Info, from = From, addr = Addr}, + {P, D#{type => connect}}, + [{{timeout, connect}, Timeout, connect}]}; -handle_accept(P, D, From, ListenSocket, Timeout) -> + {error, _} = Error -> + {next_state, + 'connect', {P, D}, + [{{timeout, connect}, cancel}, + {reply, From, Error}]} + end; +handle_connect(#params{socket = Socket} = P, D, From, _Addr, _Timeout, ok) -> + handle_connected( + P, + D#{type => connect}, + [{{timeout, connect}, cancel}, {reply, From, {ok, Socket}}]); +handle_connect(#params{} = P, D, From, _Addr, _Timeout, + {error, _Reason} = Error) -> + %% ?DBG(['connect failed', {readon, _Reason}]), + {next_state, 'connect', {P, D}, + [{{timeout, connect}, cancel}, {reply, From, Error}]}. + + +handle_accept(P, D, From, ListenSocket, Timeout, Status) + when (Status =:= select) orelse (Status =:= accept) -> %% ?DBG({try_accept, D}), case socket:accept(ListenSocket, nowait) of {ok, Socket} -> - %% ?DBG(accept_success), - ok = socket:setopt(Socket, {otp,iow}, true), - ok = socket:setopt(Socket, {otp,meta}, meta(D)), - [ok = socket_copy_opt(ListenSocket, Opt, Socket) - || Opt <- socket_inherit_opts()], - handle_connected( - P#params{socket = Socket}, D#{type => accept}, - [{{timeout, accept}, cancel}, - {reply, From, {ok, Socket}}]); + handle_accept_success(P, D, From, ListenSocket, Socket); + {select, ?select_info(_) = SelectInfo} -> %% ?DBG({accept_select, SelectInfo}), {next_state, @@ -1851,13 +2257,44 @@ handle_accept(P, D, From, ListenSocket, Timeout) -> listen_socket = ListenSocket}, {P, D#{type => accept}}, [{{timeout, accept}, Timeout, accept}]}; - {error, _Reason} = Error -> - %% ?DBG({accept_failure, _Reason}), + + {completion, ?completion_info(_) = CompletionInfo} -> + %% ?DBG({accept_completion, CompletionInfo}), {next_state, - 'accept', {P, D}, - [{{timeout, accept}, cancel}, - {reply, From, Error}]} - end. + #accept{ + info = CompletionInfo, from = From, + listen_socket = ListenSocket}, + {P, D#{type => accept}}, + [{{timeout, accept}, Timeout, accept}]}; + + {error, _Reason} = Error -> + handle_accept_failure(P, D, From, Error) + end; +handle_accept(P, D, From, ListenSocket, _Timeout, {ok, Socket}) -> + handle_accept_success(P, D, From, ListenSocket, Socket); +handle_accept(P, D, From, _ListenSocket, _Timeout, {error, _Reason} = Error) -> + handle_accept_failure(P, D, From, Error). + +handle_accept_success(P, D, From, ListenSocket, AccSocket) -> + %% ?DBG([{acc_socket, AccSocket}]), + ok = socket:setopt(AccSocket, {otp,iow}, true), + ok = socket:setopt(AccSocket, {otp,meta}, meta(D)), + [ok = socket_copy_opt(ListenSocket, Opt, AccSocket) + || Opt <- socket_inherit_opts()], + handle_connected( + P#params{socket = AccSocket}, D#{type => accept}, + [{{timeout, accept}, cancel}, + {reply, From, {ok, AccSocket}}]). + +handle_accept_failure(P, D, From, Error) -> + %% ?DBG([{error, Error}]), + {next_state, + 'accept', {P, D}, + [{{timeout, accept}, cancel}, + {reply, From, Error}]}. + + + handle_connected(P, {D, ActionsR}) -> handle_connected(P, D, ActionsR). @@ -1870,7 +2307,7 @@ handle_connected(P, D, ActionsR) -> {P, D}, reverse(ActionsR)}; #{active := _} -> - handle_recv(P, recv_start(D), ActionsR) + handle_recv(P, recv_start(D), ActionsR, recv) end. handle_recv_start( @@ -1893,50 +2330,55 @@ handle_recv_start( N = Length - Size, handle_recv( P, D#{recv_length => N, recv_from => From}, - [{{timeout, recv}, Timeout, recv}]) + [{{timeout, recv}, Timeout, recv}], + recv) end; handle_recv_start(P, D, From, _Length, Timeout) -> %% ?DBG([{p, P}, {d, D}]), handle_recv( P, D#{recv_length => 0, recv_from => From}, - [{{timeout, recv}, Timeout, recv}]). + [{{timeout, recv}, Timeout, recv}], + recv). -handle_recv(P, #{packet := Packet, recv_length := Length} = D, ActionsR) -> +handle_recv(P, #{packet := Packet, recv_length := Length} = D, ActionsR, CS) -> %% ?DBG([{packet, Packet}, {recv_length, Length}]), if 0 < Length -> - handle_recv_length(P, D, ActionsR, Length); + handle_recv_length(P, D, ActionsR, Length, CS); Packet =:= raw; Packet =:= 0 -> - handle_recv_length(P, D, ActionsR, Length); + handle_recv_length(P, D, ActionsR, Length, CS); Packet =:= 1; Packet =:= 2; Packet =:= 4 -> - handle_recv_peek(P, D, ActionsR, Packet); + handle_recv_peek(P, D, ActionsR, Packet, CS); true -> - handle_recv_packet(P, D, ActionsR) + handle_recv_packet(P, D, ActionsR, CS) end. -handle_recv_peek(P, D, ActionsR, Packet) -> +handle_recv_peek(P, D, ActionsR, Packet, CS) -> %% Peek Packet bytes %% ?DBG({packet, Packet}), case D of #{buffer := Buffer} when is_list(Buffer) -> %% ?DBG('buffer is list - condence'), Data = condense_buffer(Buffer), - handle_recv_peek(P, D#{buffer := Data}, ActionsR, Packet); + handle_recv_peek(P, D#{buffer := Data}, ActionsR, Packet, CS); #{buffer := <>} -> %% ?DBG('buffer contains header'), - handle_recv_peek(P, D, ActionsR, Packet, Data); - #{buffer := <>} -> + handle_recv_peek2(P, D, ActionsR, Packet, Data); + #{buffer := <>} when (CS =:= recv) -> N = Packet - byte_size(ShortData), - %% ?DBG({'buffer does not contain complete header', - %% Packet, N, byte_size(ShortData)}), + %% ?DBG(['buffer does not contain complete header', + %% {cs, CS}, + %% {packet, Packet}, {n, N}, + %% {short_data, byte_size(ShortData)}]), case socket_recv_peek(P#params.socket, N) of {ok, <>} -> - handle_recv_peek( + handle_recv_peek2( P, D, ActionsR, Packet, <>); + {select, Select} -> {next_state, #recv{ @@ -1949,6 +2391,28 @@ handle_recv_peek(P, D, ActionsR, Packet) -> end}, {P, D}, reverse(ActionsR)}; + + {completion, Completion} -> + {next_state, + #recv{info = Completion}, + {P, D}, + reverse(ActionsR)}; + + {error, {Reason, <<_Data/binary>>}} -> + handle_recv_error(P, D, ActionsR, Reason); + {error, Reason} -> + handle_recv_error(P, D, ActionsR, Reason) + end; + #{buffer := <>} -> + %% ?DBG(['buffer did not contain complete header', + %% {cs, CS}, + %% {packet, Packet}, + %% {short_data, byte_size(ShortData)}]), + case CS of + {ok, <>} -> + handle_recv_peek2( + P, D, ActionsR, Packet, + <>); {error, {Reason, <<_Data/binary>>}} -> handle_recv_error(P, D, ActionsR, Reason); {error, Reason} -> @@ -1956,17 +2420,17 @@ handle_recv_peek(P, D, ActionsR, Packet) -> end end. -handle_recv_peek(P, D, ActionsR, Packet, Data) -> +handle_recv_peek2(P, D, ActionsR, Packet, Data) -> <> = Data, #{packet_size := PacketSize} = D, - %% ?DBG({'packet size', Packet, N, PacketSize}), + %% ?DBG([{'packet size', Packet, N, PacketSize}]), if 0 < PacketSize, PacketSize < N -> %% ?DBG({emsgsize}), handle_recv_error(P, D, ActionsR, emsgsize); true -> %% ?DBG({'read a message'}), - handle_recv_length(P, D, ActionsR, Packet + N) + handle_recv_length(P, D, ActionsR, Packet + N, recv) end. @@ -2058,28 +2522,30 @@ deliver_buffered_data(#params{owner = Owner} = P, end. -handle_recv_packet(P, D, ActionsR) -> +handle_recv_packet(P, D, ActionsR, CS) -> case D of #{buffer := Buffer} when is_list(Buffer) -> Data = condense_buffer(Buffer), - handle_recv_decode(P, D, ActionsR, Data); + handle_recv_decode(P, D, ActionsR, Data, CS); #{buffer := Data} when is_binary(Data) -> - handle_recv_more(P, D, ActionsR, Data) + handle_recv_more(P, D, ActionsR, Data, CS) end. -handle_recv_length(P, #{buffer := Buffer} = D, ActionsR, Length) -> - handle_recv_length(P, D, ActionsR, Length, Buffer). +handle_recv_length(P, #{buffer := Buffer} = D, ActionsR, Length, CS) -> + handle_recv_length(P, D, ActionsR, Length, Buffer, CS). %% %% Here and downwards until handle_recv_deliver() all buffered data %% is the last argument binary and D#{buffer} is not updated %% -handle_recv_length(P, D, ActionsR, Length, Buffer) when 0 < Length -> - %% ?DBG('try socket recv'), +handle_recv_length(P, D, ActionsR, Length, Buffer, CS) + when (0 < Length) andalso (CS =:= recv) -> + %% ?DBG(['try socket recv', {length, Length}, {cs, CS}]), case socket_recv(P#params.socket, Length) of {ok, <>} -> handle_recv_deliver( P, D#{buffer := <<>>}, ActionsR, condense_buffer([Data | Buffer])); + {select, {?select_info(_) = SelectInfo, Data}} -> N = Length - byte_size(Data), {next_state, @@ -2087,34 +2553,64 @@ handle_recv_length(P, D, ActionsR, Length, Buffer) when 0 < Length -> {P, D#{buffer := [Data | Buffer], recv_length := N}}, reverse(ActionsR)}; {select, ?select_info(_) = SelectInfo} -> + %% ?DBG(['recv select']), {next_state, #recv{info = SelectInfo}, {P, D#{buffer := Buffer}}, reverse(ActionsR)}; + + {completion, ?completion_info(_) = CompletionInfo} -> + %% ?DBG(['recv completion']), + {next_state, + #recv{info = CompletionInfo}, + {P, D#{buffer := Buffer}}, + reverse(ActionsR)}; + + {error, {Reason, <>}} -> + %% Error before all data + %% ?DBG({'recv error w rest-data', Reason, byte_size(Data)}), + handle_recv_error( + P, D#{buffer := [Data | Buffer]}, ActionsR, Reason); + {error, Reason} -> + %% ?DBG({'recv error wo rest-data', Reason}), + handle_recv_error(P, D#{buffer := Buffer}, ActionsR, Reason) + end; +handle_recv_length(P, D, ActionsR, Length, Buffer, CS) + when (0 < Length) -> + %% ?DBG(['socket recv result', {cs_result, element(1, CS)}]), + case CS of + {ok, <>} -> + %% ?DBG([{received, byte_size(Data)}]), + handle_recv_deliver( + P, D#{buffer := <<>>}, ActionsR, + condense_buffer([Data | Buffer])); + {error, {Reason, <>}} -> %% Error before all data %% ?DBG({'recv error w rest-data', Reason, byte_size(Data)}), handle_recv_error( P, D#{buffer := [Data | Buffer]}, ActionsR, Reason); + {error, Reason} -> %% ?DBG({'recv error wo rest-data', Reason}), handle_recv_error(P, D#{buffer := Buffer}, ActionsR, Reason) end; -handle_recv_length(P, D, ActionsR, _0, Buffer) -> - %% ?DBG({byte_size(Buffer)}), +handle_recv_length(P, D, ActionsR, _0, Buffer, CS) when (CS =:= recv) -> + %% ?DBG([{buffer_size, byte_size(Buffer)}, {cs, CS}]), case Buffer of <<>> -> %% We should not need to update the buffer field here %% since the only way to get here with empty Buffer %% is when Buffer comes from the buffer field Socket = P#params.socket, - %% ?DBG({'try read some more', byte_size(Buffer)}), + %% ?DBG(['try read some more', {buffer_size, byte_size(Buffer)}]), case socket_recv(Socket, 0) of {ok, <>} -> - %% ?DBG({'got some', byte_size(Data)}), + %% ?DBG(['got some data', {data_size, byte_size(Data)}]), handle_recv_deliver(P, D, ActionsR, Data); + {select, {?select_info(_) = SelectInfo, Data}} -> - %% ?DBG({'got another select with data', byte_size(Data)}), + %% ?DBG({'select with data', byte_size(Data)}), case socket:cancel(Socket, SelectInfo) of ok -> handle_recv_deliver(P, D, ActionsR, Data); @@ -2122,16 +2618,26 @@ handle_recv_length(P, D, ActionsR, _0, Buffer) -> handle_recv_error(P, D, ActionsR, Reason, Data) end; {select, ?select_info(_) = SelectInfo} -> - %% ?DBG({'got another select', SelectInfo}), + %% ?DBG({'select', SelectInfo}), {next_state, #recv{info = SelectInfo}, {P, D}, reverse(ActionsR)}; + + {completion, ?completion_info(_) = CompletionInfo} -> + %% ?DBG(['completion', + %% {completion_info, CompletionInfo}]), + {next_state, + #recv{info = CompletionInfo}, + {P, D}, + reverse(ActionsR)}; + {error, {Reason, <>}} -> - %% ?DBG({'error with data', Reason, byte_size(Data)}), + %% ?DBG(['error with data', + %% {reason, Reason}, {data_size, byte_size(Data)}]), handle_recv_error(P, D, ActionsR, Reason, Data); {error, Reason} -> - %% ?DBG({'error', Reason}), + %% ?DBG(['error', {reason, Reason}]), handle_recv_error(P, D, ActionsR, Reason) end; <> -> @@ -2139,26 +2645,66 @@ handle_recv_length(P, D, ActionsR, _0, Buffer) -> _ when is_list(Buffer) -> Data = condense_buffer(Buffer), handle_recv_deliver(P, D#{buffer := <<>>}, ActionsR, Data) + end; +handle_recv_length(P, D, ActionsR, _0, Buffer, CS) -> + %% ?DBG([{buffer, byte_size(Buffer)}, {cs_result, element(1, CS)}]), + case Buffer of + <<>> -> + %% We should not need to update the buffer field here + %% since the only way to get here with empty Buffer + %% is when Buffer comes from the buffer field + case CS of + {ok, <>} -> + %% ?DBG({'got some', byte_size(Data)}), + handle_recv_deliver(P, D, ActionsR, Data); + + {error, Reason} -> + %% ?DBG(['error', {reason, Reason}]), + handle_recv_error(P, D, ActionsR, Reason) + end; + <<_/binary>> -> + case CS of + {ok, <>} -> + %% ?DBG(['got some data', {data_size, byte_size(Data)}]), + handle_recv_deliver(P, D#{buffer := <<>>}, ActionsR, + condense_buffer([Data, Buffer])); + + {error, Reason} -> + %% ?DBG(['error', {reason, Reason}]), + handle_recv_error(P, D, ActionsR, Reason) + end; + _ when is_list(Buffer) -> + case CS of + {ok, <>} -> + %% ?DBG(['got some data', {data_size, byte_size(Data)}]), + handle_recv_deliver(P, D#{buffer := <<>>}, ActionsR, + condense_buffer([Data | Buffer])); + + {error, Reason} -> + %% ?DBG(['error', {reason, Reason}]), + handle_recv_error(P, D, ActionsR, Reason) + end end. handle_recv_decode(P, #{packet := line, line_delimiter := LineDelimiter, packet_size := PacketSize} = D, - ActionsR, Data) -> + ActionsR, Data, CS) -> DecodeOpts = [{line_delimiter, LineDelimiter}, {line_length, PacketSize}], handle_recv_decode(P, D, - ActionsR, Data, DecodeOpts); -handle_recv_decode(P, D, ActionsR, Data) -> - handle_recv_decode(P, D, ActionsR, Data, []). + ActionsR, Data, DecodeOpts, CS); +handle_recv_decode(P, D, ActionsR, Data, CS) -> + handle_recv_decode(P, D, ActionsR, Data, [], CS). handle_recv_decode(P, #{packet_size := PacketSize} = D, - ActionsR, Data, DecocdeOpts0) -> - %% ?DBG([{packet_sz, PacketSize}, {decode_opts0, DecocdeOpts0}]), + ActionsR, Data, DecocdeOpts0, CS) -> + %% ?DBG([{packet_sz, PacketSize}, {decode_opts0, DecocdeOpts0}, {cs, CS}]), DecodeOpts = [{packet_size, PacketSize}|DecocdeOpts0], case erlang:decode_packet(decode_packet(D), Data, DecodeOpts) of {ok, Decoded, Rest} -> + %% ?DBG(['packet decoded', {decoded, Decoded}, {rest, Rest}]), %% is_list(Buffer) -> try to decode first %% is_binary(Buffer) -> get more data first Buffer = @@ -2168,11 +2714,14 @@ handle_recv_decode(P, #{packet_size := PacketSize} = D, end, handle_recv_deliver(P, D#{buffer := Buffer}, ActionsR, Decoded); {more, undefined} -> - handle_recv_more(P, D, ActionsR, Data); + %% ?DBG(['more undef']), + handle_recv_more(P, D, ActionsR, Data, CS); {more, Length} -> + %% ?DBG(['more', {length, Length}]), N = Length - byte_size(Data), - handle_recv_length(P, D, ActionsR, N, Data); + handle_recv_length(P, D, ActionsR, N, Data, CS); {error, Reason} -> + %% ?DBG(['error', {reason, Reason}]), handle_recv_error( P, D#{buffer := Data}, ActionsR, case Reason of @@ -2211,18 +2760,27 @@ handle_recv_error_decode( end) end. -handle_recv_more(P, D, ActionsR, BufferedData) -> +handle_recv_more(P, D, ActionsR, BufferedData, CS) when (CS =:= recv) -> case socket_recv(P#params.socket, 0) of {ok, <>} -> %% ?DBG([{more_data_sz, byte_size(MoreData)}]), Data = catbin(BufferedData, MoreData), - handle_recv_decode(P, D, ActionsR, Data); + handle_recv_decode(P, D, ActionsR, Data, recv); + {select, ?select_info(_) = SelectInfo} -> %% ?DBG([{select_info, SelectInfo}]), {next_state, #recv{info = SelectInfo}, {P, D#{buffer := BufferedData}}, reverse(ActionsR)}; + + {completion, ?completion_info(_) = CompletionInfo} -> + %% ?DBG([{completion_info, CompletionInfo}]), + {next_state, + #recv{info = CompletionInfo}, + {P, D#{buffer := BufferedData}}, + reverse(ActionsR)}; + {error, {Reason, <>}} -> %% ?DBG({P#params.socket, error, Reason, byte_size(MoreData)}), Data = catbin(BufferedData, MoreData), @@ -2231,6 +2789,18 @@ handle_recv_more(P, D, ActionsR, BufferedData) -> %% ?DBG({P#params.socket, error, Reason}), handle_recv_error( P, D#{buffer := BufferedData}, ActionsR, Reason) + end; +handle_recv_more(P, D, ActionsR, BufferedData, CS) -> + case CS of + {ok, <>} -> + %% ?DBG([{more_data_sz, byte_size(MoreData)}]), + Data = catbin(BufferedData, MoreData), + handle_recv_decode(P, D, ActionsR, Data, recv); + + {error, Reason} -> + %% ?DBG({P#params.socket, error, Reason}), + handle_recv_error( + P, D#{buffer := BufferedData}, ActionsR, Reason) end. %% Here D#{buffer} is supposed to be updated again @@ -2253,6 +2823,9 @@ handle_recv_error(P, D, ActionsR, Reason) -> econnreset -> _ = socket_close(P#params.socket), {next_state, 'closed', {P, D_1}, reverse(ActionsR_1)}; + econnaborted -> + _ = socket_close(P#params.socket), + {next_state, 'closed', {P, D_1}, reverse(ActionsR_1)}; emsgsize -> {next_state, 'connected', {P, recv_stop(D#{active := false})}, @@ -2273,8 +2846,8 @@ cleanup_close_read(P, D, State, Reason) -> _ = socket_cancel(ListenSocket, SelectInfo), {D, [{reply, From, {error, Reason}}]}; - #connect{info = SelectInfo, from = From} -> - _ = socket_cancel(P#params.socket, SelectInfo), + #connect{info = Info, from = From} -> + _ = socket_cancel(P#params.socket, Info), {D, [{reply, From, {error, Reason}}]}; _ -> @@ -2284,8 +2857,8 @@ cleanup_close_read(P, D, State, Reason) -> cleanup_recv(P, D, State, Reason) -> %% ?DBG({P#params.socket, State, Reason}), case State of - #recv{info = SelectInfo} -> - _ = socket_cancel(P#params.socket, SelectInfo), + #recv{info = Info} -> + _ = socket_cancel(P#params.socket, Info), cleanup_recv_reply(P, D, [], Reason); _ -> cleanup_recv_reply(P, D, [], Reason) @@ -2501,17 +3074,24 @@ tag(Packet) -> tcp end. - %% ------- %% Exported socket option translation %% socket_setopts(Socket, Opts) -> - socket_setopts( - Socket, - [Opt || - Opt <- internalize_setopts(Opts), - element(1, Opt) =/= tcp_module], - socket_opts()). + try + begin + socket_setopts( + Socket, + [Opt || + Opt <- internalize_setopts(Opts), + element(1, Opt) =/= tcp_module], + socket_opts()) + end + catch + exit:badarg -> + {error, einval} + end. + %% socket_setopts(_Socket, [], _SocketOpts) -> ok; @@ -2665,10 +3245,10 @@ state_setopts_active(P, D, State, Opts, Active) -> %% -> {ok, [Options]} | {error, einval} state_getopts(P, D, State, Opts) -> state_getopts(P, D, State, Opts, []). -%% state_getopts(_P, _D, _State, [], Acc) -> {ok, reverse(Acc)}; state_getopts(P, D, State, [Tag | Tags], Acc) -> + %% ?DBG([{tag, Tag}]), SocketOpts = socket_opts(), {Key, Val} = case Tag of @@ -2692,8 +3272,10 @@ state_getopts(P, D, State, [Tag | Tags], Acc) -> %% ?DBG({'socket getopt', ok, Value}), state_getopts( P, D, State, Tags, [{Key, Value} | Acc]); + {error, einval} = ERROR -> + ERROR; {error, _Reason} -> - %% ?DBG({'socket getopt', error, _Reason}), + %% ?DBG([{reason, _Reason}]), state_getopts(P, D, State, Tags, Acc) end end; diff --git a/lib/kernel/src/gen_udp_socket.erl b/lib/kernel/src/gen_udp_socket.erl index 5af11f0f1a75..32224989d452 100644 --- a/lib/kernel/src/gen_udp_socket.erl +++ b/lib/kernel/src/gen_udp_socket.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2021-2022. All Rights Reserved. +%% Copyright Ericsson AB 2021-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -54,8 +54,10 @@ -export([handle_event/4]). -include("inet_int.hrl"). +-include("socket_int.hrl"). %% -define(DBG(T), erlang:display({{self(), ?MODULE, ?LINE, ?FUNCTION_NAME}, T})). + -define(RECBUF, 65536). %% -define(ESOCK_VERBOSE_BADARG, true). @@ -85,14 +87,20 @@ OTHER__ -> OTHER__ end). --define(socket_abort(Socket, SelectRef, Reason), - {'$socket', (Socket), abort, {(SelectRef), (Reason)}}). --define(socket_select(Socket, SelectRef), - {'$socket', (Socket), select, (SelectRef)}). +-define(socket_abort(Socket, SelectHandle, Reason), + ?ESOCK_ABORT_MSG(Socket, SelectHandle, Reason)). +-define(socket_select(Socket, SelectHandle), + ?ESOCK_SELECT_MSG(Socket, SelectHandle)). +-define(socket_completion(Socket, CH, CS), + ?ESOCK_COMPLETION_MSG(Socket, CH, CS)). + -define(socket_counter_wrap(Socket, Counter), - {'$socket', (Socket), counter_wrap, (Counter)}). --define(select_info(SelectRef), - {select_info, _, (SelectRef)}). + ?ESOCK_SOCKET_MSG(Socket, counter_wrap, Counter)). + +-define(select_info(SelectHandle), + ?ESOCK_SELECT_INFO(SelectHandle)). +-define(completion_info(CompletionHandle), + ?ESOCK_COMPLETION_INFO(CompletionHandle)). %%% ======================================================================== @@ -116,20 +124,37 @@ close_server(Server) -> %% -- connect ---------------------------------------------------------------- connect(?MODULE_socket(_Server, Socket), Address, Port) -> - Dest = dest2sockaddr({Address, Port}), - case os:type() of - {unix,linux} -> - case socket:peername(Socket) of - {error, enotconn} -> - socket:connect(Socket, Dest); - {error, closed} = Error -> - Error; - _ -> % Matches {ok, _} and unknown errors - _ = socket:connect(Socket, #{family => unspec}), + {Mod, _} = inet:udp_module([], Address), + Domain = domain(Mod), + try + begin + Dest = + case Mod:getaddr(Address) of + {ok, IP} when (Domain =:= local) -> + dest2sockaddr(IP); + {ok, IP} -> + dest2sockaddr({IP, Port}); + {error, _Reason} = ERROR -> + throw(ERROR) + end, + case os:type() of + {unix,linux} -> + case socket:peername(Socket) of + {error, enotconn} -> + socket:connect(Socket, Dest); + {error, closed} = Error -> + Error; + _X -> % Matches {ok, _} and unknown errors + _ = socket:connect(Socket, #{family => unspec}), + socket:connect(Socket, Dest) + end; + _ -> socket:connect(Socket, Dest) - end; - _ -> - socket:connect(Socket, Dest) + end + end + catch + throw:E:_ -> + E end. @@ -162,7 +187,7 @@ open_lookup(Service, Opts0) -> val(ErrRef, inet:udp_options(Opts_4, Mod)), %% ?DBG([{fd, Fd}, {bind_ip, BindIP}, {bind_port, BindPort}, %% {opts, OpenOpts}]), - BindAddr = bind_addr(Domain, BindIP, BindPort, Fd), + BindAddr = bind_addr(Domain, BindIP, BindPort, Fd), ExtraOpts = extra_opts(Fd), do_open(Mod, BindAddr, Domain, OpenOpts, StartOpts, ExtraOpts) end @@ -197,14 +222,14 @@ do_open(Mod, BindAddr, Domain, OpenOpts, Opts, ExtraOpts) -> ErrRef = make_ref(), try - %% ?DBG(['try setopts', - %% {socket_opts, SocketOpts}, {set_opts, SetOpts}]), - ok(ErrRef, call(Server, {setopts, SocketOpts ++ SetOpts})), - %% ?DBG(['maybe try bind', {bind_addr, BindAddr}]), ok(ErrRef, call_bind(Server, default_any(Domain, ExtraOpts, BindAddr))), + %% ?DBG(['try setopts', + %% {socket_opts, SocketOpts}, {set_opts, SetOpts}]), + ok(ErrRef, call(Server, {setopts, SocketOpts ++ SetOpts})), + %% ?DBG(['try get-socket']), Socket = val(ErrRef, call(Server, get_socket)), @@ -247,12 +272,22 @@ default_any(Domain, _ExtraOpts, undefined = Undefined) -> default_any(_Domain, _ExtraOpts, BindAddr) -> BindAddr. -bind_addr(_Domain, BindIP, BindPort, Fd) +bind_addr(Domain, BindIP, BindPort, Fd) when ((BindIP =:= undefined) andalso (BindPort =:= 0)) orelse (is_integer(Fd) andalso (0 =< Fd)) -> - %% Do not bind! - undefined; + %% *Maybe* Do not bind! On Windows we actually need to bind + %% ?DBG([{bind_ip, BindIP}, {bind_port, BindPort}, {fd, Fd}]), + case os:type() of + {win32, nt} -> + Addr = which_bind_address(Domain, BindIP), + #{family => Domain, + addr => Addr, + port => BindPort}; + _ -> + undefined + end; bind_addr(local = Domain, BindIP, _BindPort, _Fd) -> + %% ?DBG([{bind_ip, BindIP}]), case BindIP of any -> undefined; @@ -262,11 +297,61 @@ bind_addr(local = Domain, BindIP, _BindPort, _Fd) -> end; bind_addr(Domain, BindIP, BindPort, _Fd) when (Domain =:= inet) orelse (Domain =:= inet6) -> - Addr = if (BindIP =:= undefined) -> any; true -> BindIP end, + %% ?DBG([{domain, Domain}, {bind_ip, BindIP}, {bind_port, BindPort}]), + Addr = which_bind_address(Domain, BindIP), #{family => Domain, addr => Addr, port => BindPort}. +which_bind_address(Domain, BindIP) when (BindIP =:= undefined) -> + which_default_bind_address(Domain); +which_bind_address(_Domain, BindIP) -> + %% We should really check if its any here, + %% since that will not work on Windows... + BindIP. + +which_default_bind_address(Domain) -> + case os:type() of + {win32, nt} -> + %% Binding to 'any' causes "issues" on Windows: + %% The socket is actually auto-bound when first *sending*, + %% so since the server process start *reading* directly, + %% that (reading) fails. + %% Therefor pick a "proper" address... + which_default_bind_address2(Domain); + _ -> + any + end. + +which_default_bind_address2(Domain) -> + %% ?DBG([{domain, Domain}]), + case net_getifaddrs(Domain) of + {ok, Addrs} -> + %% ?DBG([{addrs, Addrs}]), + %% Pick first *non-loopback* interface that is 'up' + UpNonLoopbackAddrs = + [Addr || + #{flags := Flags} = Addr <- + Addrs, + (not lists:member(loopback, Flags)) andalso + lists:member(up, Flags)], + %% ?DBG([{up_non_loopback_addrs, UpNonLoopbackAddrs}]), + case UpNonLoopbackAddrs of + [#{addr := #{addr := Addr}} | _] -> + Addr; + _ -> + any % better than nothing + end; + {error, _} -> + any % better than nothing + end. + +net_getifaddrs(local = _Domain) -> + net:getifaddrs(#{family => local, flags => any}); +net_getifaddrs(Domain) -> + net:getifaddrs(Domain). + + call_bind(_Server, undefined) -> ok; call_bind(Server, BindAddr) -> @@ -642,10 +727,14 @@ socket_close(Socket) -> -compile({inline, [socket_cancel/2]}). -socket_cancel(Socket, SelectInfo) -> - case socket:cancel(Socket, SelectInfo) of +socket_cancel(Socket, Info) -> + case socket:cancel(Socket, Info) of ok -> ok; - {error, closed} -> ok + {error, closed} -> ok; + + %% Race - shall we await the message (to flush) or just ignore? + {error, _} = ERROR -> ERROR + end. @@ -731,9 +820,17 @@ conv_setopt(Other) -> Other. %% Socket options socket_setopt(Socket, {raw, Level, Key, Value}) -> - socket:setopt_native(Socket, {Level,Key}, Value); + try socket:setopt_native(Socket, {Level,Key}, Value) + catch + throw:{invalid, _} -> + {error, einval} + end; socket_setopt(Socket, {raw, {Level, Key, Value}}) -> - socket:setopt_native(Socket, {Level,Key}, Value); + try socket:setopt_native(Socket, {Level,Key}, Value) + catch + throw:{invalid, _} -> + {error, einval} + end; socket_setopt(Socket, {Tag, Value}) -> %% ?DBG({Tag, Value}), case socket_opt() of @@ -808,9 +905,21 @@ socket_setopt_value(_Tag, Value, _) -> Value. socket_getopt(Socket, {raw, Level, Key, ValueSpec}) -> - socket:getopt_native(Socket, {Level,Key}, ValueSpec); + case socket:getopt_native(Socket, {Level,Key}, ValueSpec) of + {error, {invalid, _} = _Reason} -> + %% ?DBG([{reason, _Reason}]), + {error, einval}; + ELSE -> + ELSE + end; socket_getopt(Socket, {raw, {Level, Key, ValueSpec}}) -> - socket:getopt_native(Socket, {Level,Key}, ValueSpec); + case socket:getopt_native(Socket, {Level,Key}, ValueSpec) of + {error, {invalid, _} = _Reason} -> + %% ?DBG([{reason, _Reason}]), + {error, einval}; + ELSE -> + ELSE + end; socket_getopt(Socket, Tag) when is_atom(Tag) -> case socket_opt() of #{Tag := {Domain, _} = Opt} when is_atom(Domain) -> @@ -974,18 +1083,19 @@ socket_opt() -> %% %% Level: socket - broadcast => {socket, broadcast}, - bind_to_device => {socket, bindtodevice}, - dontroute => {socket, dontroute}, - keepalive => {socket, keepalive}, - %% linger => {socket, linger}, - %% low_watermark => {socket, rcvlowat}, - priority => {socket, priority}, + broadcast => {socket, broadcast}, + bind_to_device => {socket, bindtodevice}, + dontroute => {socket, dontroute}, + exclusiveaddruse => {socket, exclusiveaddruse}, + keepalive => {socket, keepalive}, + %% linger => {socket, linger}, + %% low_watermark => {socket, rcvlowat}, + priority => {socket, priority}, %% Note that its the *first* that is the actual option! %% The second can be seen as a side effect... - recbuf => [{socket, rcvbuf}, {otp, rcvbuf}], - reuseaddr => {socket, reuseaddr}, - sndbuf => {socket, sndbuf}, + recbuf => [{socket, rcvbuf}, {otp, rcvbuf}], + reuseaddr => {socket, reuseaddr}, + sndbuf => {socket, sndbuf}, %% %% Level: udp @@ -1121,7 +1231,7 @@ callback_mode() -> handle_event_function. %% 'reading' -record(recv, - {info :: socket:select_info()}). + {info :: socket:select_info() | socket:completion_info() }). %% 'closed_read' | 'closed_read_write' %% 'closed' % Socket is closed or not created @@ -1366,9 +1476,9 @@ handle_event({call, From}, {getopts, Opts}, State, {P, D}) -> - %% ?DBG({call, getopts, Opts, State, D}), + %% ?DBG(['call getopts', {opts, Opts}, {state, State}, {d, D}]), Result = state_getopts(P, D, State, Opts), - %% ?DBG({call, getopts_result, Result}), + %% ?DBG(['call getopts result', {result, Result}]), {keep_state_and_data, [{reply, From, Result}]}; @@ -1378,20 +1488,37 @@ handle_event({call, From}, State, {P, D}) -> %% ?DBG([{setopts, Opts}, {state, State}, {d, D}]), - {Result, {P_1, D_1}} = state_setopts(P, D, State, Opts), - %% ?DBG([{result, Result}, {p1, P_1}, {d1, D_1}]), - case Result of - {error, einval} -> - %% If we get this error, either the options where crap or - %% the socket is in a "bad state" (maybe its closed). - %% So, if that is the case we accept that we may not be - %% able to update the meta data. - _ = socket:setopt(P_1#params.socket, {otp,meta}, meta(D_1)), - ok; - _ -> - %% We should really handle this better. stop_and_reply? - ok = socket:setopt(P_1#params.socket, {otp,meta}, meta(D_1)) - end, + {Result_1, {P_1, D_1}} = state_setopts(P, D, State, Opts), + %% ?DBG([{result, Result_1}, {p1, P_1}, {d1, D_1}]), + Result = + case Result_1 of + {error, enoprotoopt} -> + %% If we get this error, the options is not valid for + %% this (tcp) protocol. + _ = socket:setopt(P#params.socket, {otp,meta}, meta(D_1)), + {error, einval}; + + {error, {invalid, _}} -> + %% If we get this error, the options where crap. + _ = socket:setopt(P#params.socket, {otp,meta}, meta(D_1)), + {error, einval}; + + {error, einval} -> + %% If we get this error, either the options where crap or + %% the socket is in a "bad state" (maybe its closed). + %% So, if that is the case we accept that we may not be + %% able to update the meta data. + _ = socket:setopt(P_1#params.socket, {otp,meta}, meta(D_1)), + Result_1; + _ -> + %% We should really handle this better. stop_and_reply? + %% D_2 = meta(D_1), + %% ?DBG([{d2, D_2}]), + %% socket:setopt(P_1#params.socket, otp, debug, true), + ok = socket:setopt(P_1#params.socket, {otp,meta}, meta(D_1)), + %% socket:setopt(P_1#params.socket, otp, debug, false), + Result_1 + end, Reply = {reply, From, Result}, handle_reading(State, P_1, D_1, [Reply]); @@ -1471,17 +1598,17 @@ handle_event({call, From}, {bind, BindAddr} = _BIND, _State, {P, _D}) -> %% {handle_event, call}, {bind_addr, BindAddr}, {state, _State}]), Result = socket:bind(P#params.socket, BindAddr), %% ?DBG([{bind_result, Result}] ++ - %% case Result of - %% ok -> - %% case socket:sockname(P#params.socket) of - %% {ok, SockAddr} -> - %% [{sockaddr, SockAddr}]; - %% {error, SAReason} -> - %% [{sockaddr_reason, SAReason}] - %% end; - %% {error, BReason} -> - %% [{bind_reason, BReason}] - %% end), + %% case Result of + %% ok -> + %% case socket:sockname(P#params.socket) of + %% {ok, SockAddr} -> + %% [{sockaddr, SockAddr}]; + %% {error, SAReason} -> + %% [{sockaddr_reason, SAReason}] + %% end; + %% {error, BReason} -> + %% [{bind_reason, BReason}] + %% end), {keep_state_and_data, [{reply, From, Result}]}; @@ -1515,8 +1642,16 @@ handle_event( info, ?socket_select(Socket, SelectRef), #recv{info = ?select_info(SelectRef)}, {#params{socket = Socket} = P, D}) -> - %% ?DBG(['info socket select', {socket, Socket}, {ref, SelectRef}, {p, P}, {d, D}]), - handle_recv(P, D, []); + %% ?DBG(['info socket select', + %% {socket, Socket}, {ref, SelectRef}, {p, P}, {d, D}]), + handle_recv(P, D, [], recv); +handle_event( + info, ?socket_completion(Socket, CompletionRef, CompletionStatus), + #recv{info = ?completion_info(CompletionRef)}, + {#params{socket = Socket} = P, D}) -> + %% ?DBG(['info socket select|completion', + %% {socket, Socket}, {ref, CompletionRef}, {p, P}, {d, D}]), + handle_recv(P, D, [], CompletionStatus); %% handle_event( @@ -1525,6 +1660,14 @@ handle_event( {#params{socket = Socket} = P, D}) -> %% ?DBG(['socket abort', {reason, Reason}, {p, P}, {d, D}]), handle_reading(P, cleanup_recv_reply(P, D, [], Reason)); +handle_event( + info, ?socket_abort(Socket, Handle, Reason), + #recv{info = ?completion_info(Handle)}, + {#params{socket = Socket} = P, D}) -> + %% ?DBG(['socket abort', + %% {timestamp, formated_timestamp()}, + %% {reason, Reason}, {p, P}, {d, D}]), + handle_reading(P, cleanup_recv_reply(P, D, [], Reason)); %% %% Timeout on recv in non-active mode @@ -1614,17 +1757,17 @@ handle_reading('open' = _State, ActionsR) when (Active =/= false) -> %% ?DBG(['open', {p, P}, {d, D}, {actions_r, ActionsR}]), - handle_recv(P, recv_start(D), ActionsR); + handle_recv(P, recv_start(D), ActionsR, recv); %% The socket was "deactivated" (made passive) => Stop reading -handle_reading(#recv{info = SelectInfo} = _State, +handle_reading(#recv{info = Info} = _State, #params{socket = Socket} = P, #{active := Active} = D, ActionsR) when (Active =:= false) -> - %% ?DBG(['recv', {select_info, SelectInfo}, + %% ?DBG(['recv', {info, Info}, %% {p, P}, {d, D}, {actions_r, ActionsR}]), - socket_cancel(Socket, SelectInfo), + _ = socket_cancel(Socket, Info), {D2, ActionsR2} = cleanup_recv_reply(P, D, ActionsR, normal), {next_state, 'open', {P, recv_stop(D2#{active := false})}, reverse(ActionsR2)}; @@ -1645,45 +1788,119 @@ handle_reading(P, D, ActionsR) -> {next_state, 'open', {P, D}, reverse(ActionsR)}; #{active := _} -> %% ?DBG([{p, P}, {d, D}, {actions_r, ActionsR}]), - handle_recv(P, recv_start(D), ActionsR) + handle_recv(P, recv_start(D), ActionsR, recv) end. handle_recv_start(P, D, From, Length, Timeout) -> %% ?DBG([{length, Length}, {timeout, Timeout}]), handle_recv(P, D#{recv_length => Length, recv_from => From}, - [{{timeout, recv}, Timeout, recv}]). + [{{timeout, recv}, Timeout, recv}], + recv). handle_recv(#params{socket = Socket, recv_method = []} = P, - #{recv_length := Length} = D, ActionsR) -> - %% ?DBG(['try recvfrom', {socket, Socket}, {length, Length}]), + #{recv_length := Length} = D, + ActionsR, CS) when (CS =:= recv) -> + %% ?DBG(['try recvfrom', {socket, Socket}, {length, Length}, {d, D}]), case socket_recvfrom(Socket, Length) of {ok, {Source, <>}} -> - %% ?DBG(['recvfrom ok', {source, Source}, - %% {'data sz', byte_size(Data)}]), + %% ?DBG(['recvfrom ok', + %% {source, Source}, {'data sz', byte_size(Data)}]), handle_recv_deliver(P, D, ActionsR, {Source, Data}); + {select, ?select_info(_) = SelectInfo} -> - %% ?DBG(['recvfrom select', {socket_info, SelectInfo}]), + %% ?DBG(['recvfrom select', {info, SelectInfo}]), {next_state, #recv{info = SelectInfo}, {P, D}, reverse(ActionsR)}; + {completion, ?completion_info(_) = CompletionInfo} -> + %% ?DBG(['recvfrom completion', {info, CompletionInfo}]), + {next_state, + #recv{info = CompletionInfo}, + {P, D}, + reverse(ActionsR)}; + {error, Reason} -> %% ?DBG(['recvfrom error', {reason, Reason}]), handle_recv_error(P, D, ActionsR, Reason) end; +handle_recv(#params{recv_method = []} = P, + D, + ActionsR, + CS) -> + %% ?DBG(['recvfrom completion status']), + case CS of + {ok, {Source, <>}} -> + %% ?DBG(['recvfrom ok', {source, Source}, + %% {'data sz', byte_size(Data)}]), + handle_recv_deliver(P, D, ActionsR, {Source, Data}); + + {error, Reason0} -> + Reason = + case Reason0 of + {completion_status, #{info := more_data = _INFO}} -> + %% ?DBG(['completion status', + %% {timestamp, formated_timestamp()}, + %% {info, INFO}, + %% {p, P}, {d, D}]), + emsgsize; + {completion_status, more_data = _INFO} -> + %% ?DBG(['completion status', + %% {timestamp, formated_timestamp()}, + %% {info, INFO}, + %% {p, P}, {d, D}]), + emsgsize; + + {completion_status, #{info := INFO}} -> + %% ?DBG(['completion status', + %% {timestamp, formated_timestamp()}, + %% {info, INFO}, + %% {p, P}, {d, D}]), + INFO; + {completion_status, INFO} -> + %% ?DBG(['completion status', + %% {timestamp, formated_timestamp()}, + %% {info, INFO}, + %% {p, P}, {d, D}]), + INFO; + _ -> + Reason0 + end, + %% ?DBG(['recvfrom error', {reason, Reason}]), + handle_recv_error(P, D, ActionsR, Reason) + end; handle_recv(#params{socket = Socket} = P, - #{recv_length := Length} = D, ActionsR) -> + #{recv_length := Length} = D, ActionsR, CS) when (CS =:= recv) -> %% ?DBG(['try recvmsg', {socket, Socket}, {length, Length}]), case socket_recvmsg(Socket, Length) of {ok, MsgHdr} -> handle_recv_deliver(P, D, ActionsR, MsgHdr); + {select, ?select_info(_) = SelectInfo} -> %% ?DBG(['recvmsg select', {socket_info, SelectInfo}]), {next_state, #recv{info = SelectInfo}, {P, D}, reverse(ActionsR)}; + {completion, ?completion_info(_) = CompletionInfo} -> + %% ?DBG(['recvmsg select', {cinfo, CompletionInfo}]), + {next_state, + #recv{info = CompletionInfo}, + {P, D}, + reverse(ActionsR)}; + + {error, Reason} -> + %% ?DBG(['recvmsg error', {reason, Reason}]), + handle_recv_error(P, D, ActionsR, Reason) + end; +handle_recv(P, D, ActionsR, CS) -> + %% ?DBG(['recvmsg completion status']), + case CS of + {ok, MsgHdr} -> + %% ?DBG(['recvmsg success']), + handle_recv_deliver(P, D, ActionsR, MsgHdr); + {error, Reason} -> %% ?DBG(['recvmsg error', {reason, Reason}]), handle_recv_error(P, D, ActionsR, Reason) @@ -1694,8 +1911,9 @@ handle_recv_deliver(P, D, ActionsR, Data) -> handle_reading(P, recv_data_deliver(P, D, ActionsR, Data)). handle_recv_error(P, D, ActionsR, Reason) -> - %% ?DBG({P#params.socket, Reason}), + %% ?DBG([{p, P}, {d, D}, {socket, P#params.socket}, {reason, Reason}]), {D_1, ActionsR_1} = cleanup_recv_reply(P, D, ActionsR, Reason), + %% ?DBG([{d1, D_1}]), case Reason of closed -> {next_state, 'closed_read', {P, D_1}, reverse(ActionsR_1)}; @@ -1720,35 +1938,104 @@ cleanup_close_read(P, D, State, Reason) -> cleanup_recv(P, D, State, Reason) -> %% ?DBG([{socket, P#params.socket}, {state, State}, {reason, Reason}]), case State of - #recv{info = SelectInfo} -> - socket_cancel(P#params.socket, SelectInfo), + #recv{info = Info} -> + _ = socket_cancel(P#params.socket, Info), cleanup_recv_reply(P, D, [], Reason); _ -> cleanup_recv_reply(P, D, [], Reason) end. -cleanup_recv_reply(P, D, ActionsR, Reason) -> - case D of - #{active := false} -> ok; - #{active := _} -> - ModuleSocket = module_socket(P), - Owner = P#params.owner, - case Reason of - timeout -> - Owner ! {udp_error, ModuleSocket, Reason}, - ok; - closed -> - Owner ! {udp_closed, ModuleSocket}, - ok; - emsgsize -> - Owner ! {udp_error, ModuleSocket, Reason}, - ok; - _ -> - Owner ! {udp_error, ModuleSocket, Reason}, - Owner ! {udp_closed, ModuleSocket}, - ok - end - end, +cleanup_recv_reply(P, D, ActionsR, Reason0) -> + Reason = + case D of + #{active := false} -> + Reason0; + #{active := _} -> + ModuleSocket = module_socket(P), + Owner = P#params.owner, + case Reason0 of + timeout -> + %% ?DBG(['error - timeout', + %% {owner, Owner}, + %% {timestamp, formated_timestamp()}, + %% {module_socket, ModuleSocket}, + %% {p, P}, {d, D}]), + Owner ! {udp_error, ModuleSocket, Reason0}, + Reason0; + closed -> + %% ?DBG(['closed', + %% {owner, Owner}, + %% {timestamp, formated_timestamp()}, + %% {module_socket, ModuleSocket}, + %% {p, P}, {d, D}]), + Owner ! {udp_closed, ModuleSocket}, + Reason0; + emsgsize -> + %% ?DBG(['error - emsgsize', + %% {owner, Owner}, + %% {timestamp, formated_timestamp()}, + %% {module_socket, ModuleSocket}, + %% {p, P}, {d, D}]), + Owner ! {udp_error, ModuleSocket, Reason0}, + Reason0; + + %% None of these errors (completion_status) should + %% be cause to close the socket. + {completion_status, #{info := more_data = _INFO}} -> + %% ?DBG(['completion status', + %% {owner, Owner}, + %% {timestamp, formated_timestamp()}, + %% {module_socket, ModuleSocket}, + %% {info, INFO}, {p, P}, {d, D}, + %% {mq, mq(Owner)}]), + R = emsgsize, + Owner ! {udp_error, ModuleSocket, R}, + %% ?DBG(['udp error sent', + %% {timestamp, formated_timestamp()}, + %% {mq, mq(Owner)}]), + R; + {completion_status, more_data = _INFO} -> + %% ?DBG(['completion status', + %% {owner, Owner}, + %% {timestamp, formated_timestamp()}, + %% {module_socket, ModuleSocket}, + %% {info, INFO}, {p, P}, {d, D}, + %% {mq, mq(Owner)}]), + R = emsgsize, + Owner ! {udp_error, ModuleSocket, R}, + %% ?DBG(['udp error sent', + %% {timestamp, formated_timestamp()}, + %% {mq, mq(Owner)}]), + R; + + {completion_status, #{info := INFO}} -> + %% ?DBG(['completion status', + %% {owner, Owner}, + %% {timestamp, formated_timestamp()}, + %% {module_socket, ModuleSocket}, + %% {info, INFO}, {p, P}, {d, D}]), + Owner ! {udp_error, ModuleSocket, INFO}, + INFO; + {completion_status, INFO} -> + %% ?DBG(['completion status', + %% {owner, Owner}, + %% {timestamp, formated_timestamp()}, + %% {module_socket, ModuleSocket}, + %% {info, INFO}, {p, P}, {d, D}]), + Owner ! {udp_error, ModuleSocket, INFO}, + INFO; + + _ -> + %% ?DBG(['error and closed', + %% {owner, Owner}, + %% {timestamp, formated_timestamp()}, + %% {module_socket, ModuleSocket}, + %% {reason, Reason0}, {p, P}, {d, D}]), + Owner ! {udp_error, ModuleSocket, Reason0}, + Owner ! {udp_closed, ModuleSocket}, + Reason0 + end + end, {recv_stop(D#{active := false}), case D of #{recv_from := From} -> @@ -1758,6 +2045,16 @@ cleanup_recv_reply(P, D, ActionsR, Reason) -> ActionsR end}. +%% send_udp_error_msg(Dest, Sock, Error) -> +%% send_udp_msg(Dest, {udp_error, Sock, Error}). + +%% send_udp_closed_msg(Dest, Sock) -> +%% send_udp_msg(Dest, {udp_closed, Sock}). + +%% send_udp_msg(Dest, Msg) -> +%% erlang:send(Dest, Msg). + + %% Initialize packet recv state recv_start(D) -> D#{recv_length => 0}. @@ -2200,6 +2497,38 @@ reverse([A, B], L) -> [B, A | L]; reverse(L1, L2) -> lists:reverse(L1, L2). +%% ------------------------------------------------------------------------- + +%% formated_timestamp() -> +%% format_timestamp(os:timestamp()). + +%% format_timestamp({_N1, _N2, N3} = TS) -> +%% {_Date, Time} = calendar:now_to_local_time(TS), +%% {Hour, Min, Sec} = Time, +%% FormatTS = io_lib:format("~.2.0w:~.2.0w:~.2.0w.~.3.0w", +%% [Hour, Min, Sec, N3 div 1000]), +%% lists:flatten(FormatTS). + + +%% mq() -> +%% mq(self()). +%% mq(Pid) when is_pid(Pid) -> +%% pi(Pid, messages). + +%% pi(Item) when is_atom(Item) -> +%% pi(self(), Item); +%% pi(Pid) when is_pid(Pid) -> +%% erlang:process_info(Pid). + +%% pi(Pid, Item) -> +%% case erlang:process_info(Pid, Item) of +%% {Item, Value} -> +%% Value; +%% _ -> +%% undefined +%% end. + + %% ------------------------------------------------------------------------- -ifdef(undefined). diff --git a/lib/kernel/src/group.erl b/lib/kernel/src/group.erl index ca7251d7ecca..34e47749d5c4 100644 --- a/lib/kernel/src/group.erl +++ b/lib/kernel/src/group.erl @@ -20,9 +20,16 @@ -module(group). %% A group leader process for user io. +%% This process receives input data from user_drv in this format +%% {Drv,{data,unicode:charlist()}} +%% It then keeps that data as unicode in its state and converts it +%% to latin1/unicode on a per request basis. If any data is left after +%% a request, that data is again kept as unicode. -export([start/2, start/3, whereis_shell/0, server/4]). +-export([server_loop/3]). + start(Drv, Shell) -> start(Drv, Shell, []). @@ -40,7 +47,6 @@ server(Ancestors, Drv, Shell, Options) -> put(line_buffer, proplists:get_value(line_buffer, Options, group_history:load())), put(read_mode, list), put(user_drv, Drv), - put(unicode_state, true), ExpandFun = normalize_expand_fun(Options, fun edlin_expand:expand/2), put(expand_fun, ExpandFun), put(echo, proplists:get_value(echo, Options, true)), @@ -108,26 +114,29 @@ start_shell1(Fun) -> exit(Error) % let the group process crash end. +-spec server_loop(UserDrv :: pid(), Shell:: pid(), + Buffer :: unicode:chardata()) -> + no_return(). server_loop(Drv, Shell, Buf0) -> receive {io_request,From,ReplyAs,Req} when is_pid(From) -> %% This io_request may cause a transition to a couple of %% selective receive loops elsewhere in this module. Buf = io_request(Req, From, ReplyAs, Drv, Shell, Buf0), - server_loop(Drv, Shell, Buf); + ?MODULE:server_loop(Drv, Shell, Buf); {reply,{From,ReplyAs},Reply} -> io_reply(From, ReplyAs, Reply), - server_loop(Drv, Shell, Buf0); + ?MODULE:server_loop(Drv, Shell, Buf0); {driver_id,ReplyTo} -> ReplyTo ! {self(),driver_id,Drv}, - server_loop(Drv, Shell, Buf0); + ?MODULE:server_loop(Drv, Shell, Buf0); {Drv, echo, Bool} -> put(echo, Bool), - server_loop(Drv, Shell, Buf0); + ?MODULE:server_loop(Drv, Shell, Buf0); {'EXIT',Drv,interrupt} -> %% Send interrupt to the shell. exit_shell(interrupt), - server_loop(Drv, Shell, Buf0); + ?MODULE:server_loop(Drv, Shell, Buf0); {'EXIT',Drv,R} -> exit(R); {'EXIT',Shell,R} -> @@ -139,7 +148,7 @@ server_loop(Drv, Shell, Buf0) -> (tuple_size(NotDrvTuple) =/= 2) orelse (element(1, NotDrvTuple) =/= Drv) -> %% Ignore this unknown message. - server_loop(Drv, Shell, Buf0) + ?MODULE:server_loop(Drv, Shell, Buf0) end. exit_shell(Reason) -> @@ -207,8 +216,7 @@ io_request(Req, From, ReplyAs, Drv, Shell, Buf0) -> %% Put_chars, unicode is the normal message, characters are always in -%%standard unicode -%% format. +%% standard unicode format. %% You might be tempted to send binaries unchecked, but the driver %% expects unicode, so that is what we should send... %% io_request({put_chars,unicode,Binary}, Drv, Buf) when is_binary(Binary) -> @@ -240,27 +248,17 @@ io_request({put_chars,unicode,M,F,As}, Drv, _Shell, From, Buf) -> end end; io_request({put_chars,latin1,Binary}, Drv, _Shell, From, Buf) when is_binary(Binary) -> - IsUnicode = get(unicode_state), - if IsUnicode -> - send_drv(Drv, - {put_chars_sync, unicode, - unicode:characters_to_binary(Binary,latin1), - From}); - true -> - send_drv(Drv, {put_chars_sync, latin1, Binary, From}) - end, + send_drv(Drv, {put_chars_sync, unicode, + unicode:characters_to_binary(Binary,latin1), + From}), {noreply,Buf}; io_request({put_chars,latin1,Chars}, Drv, _Shell, From, Buf) -> - IsUnicode = get(unicode_state), - if IsUnicode -> - case catch unicode:characters_to_binary(Chars,latin1) of - Binary when is_binary(Binary) -> - send_drv(Drv, {put_chars_sync, unicode, Binary, From}), - {noreply,Buf}; - _ -> - {error,{error,{put_chars,latin1,Chars}},Buf} - end; - true -> send_drv(Drv, {put_chars_sync, latin1, Chars, From}) + case catch unicode:characters_to_binary(Chars,latin1) of + Binary when is_binary(Binary) -> + send_drv(Drv, {put_chars_sync, unicode, Binary, From}), + {noreply,Buf}; + _ -> + {error,{error,{put_chars,latin1,Chars}},Buf} end; io_request({put_chars,latin1,M,F,As}, Drv, _Shell, From, Buf) -> case catch apply(M, F, As) of @@ -391,13 +389,16 @@ setopts(Opts0,Drv,Buf) -> end. check_valid_opts([]) -> true; -check_valid_opts([{binary,_}|T]) -> +check_valid_opts([{binary,Flag}|T]) when is_boolean(Flag) -> check_valid_opts(T); -check_valid_opts([{encoding,Valid}|T]) when Valid =:= unicode; Valid =:= utf8; Valid =:= latin1 -> +check_valid_opts([{encoding,Valid}|T]) when Valid =:= unicode; + Valid =:= utf8; + Valid =:= latin1 -> check_valid_opts(T); -check_valid_opts([{echo,_}|T]) -> +check_valid_opts([{echo,Flag}|T]) when is_boolean(Flag) -> check_valid_opts(T); -check_valid_opts([{expand_fun,_}|T]) -> +check_valid_opts([{expand_fun,Fun}|T]) when is_function(Fun, 1); + is_function(Fun, 2) -> check_valid_opts(T); check_valid_opts(_) -> false. @@ -405,14 +406,12 @@ check_valid_opts(_) -> do_setopts(Opts, Drv, Buf) -> put(expand_fun, normalize_expand_fun(Opts, get(expand_fun))), put(echo, proplists:get_value(echo, Opts, get(echo))), - case proplists:get_value(encoding,Opts) of + case proplists:get_value(encoding, Opts) of Valid when Valid =:= unicode; Valid =:= utf8 -> - set_unicode_state(Drv,true), - put(unicode_state, true); + set_unicode_state(Drv,true); latin1 -> - set_unicode_state(Drv,false), - put(unicode_state, false); - _ -> + set_unicode_state(Drv,false); + undefined -> ok end, case proplists:get_value(binary, Opts, case get(read_mode) of @@ -424,8 +423,6 @@ do_setopts(Opts, Drv, Buf) -> {ok,ok,Buf}; false -> put(read_mode, list), - {ok,ok,Buf}; - _ -> {ok,ok,Buf} end. @@ -497,13 +494,14 @@ get_chars_loop(Pbs, M, F, Xa, Drv, Shell, Buf0, State, LineCont0, Encoding) -> true -> get_line(Buf0, Pbs, LineCont0, Drv, Shell, Encoding); false -> - %% get_line_echo_off only deals with lists - %% and does not need encoding... - get_line_echo_off(Buf0, Pbs, Drv, Shell) + %% get_line_echo_off only deals with lists, + %% so convert to list before calling it. + get_line_echo_off(cast(Buf0, list, Encoding), Pbs, Drv, Shell) end, case Result of {done,LineCont1,Buf} -> - get_chars_apply(Pbs, M, F, Xa, Drv, Shell, Buf, State, LineCont1, Encoding); + get_chars_apply(Pbs, M, F, Xa, Drv, Shell, append(Buf, [], Encoding), + State, LineCont1, Encoding); interrupted -> {error,{error,interrupted},[]}; @@ -522,6 +520,8 @@ get_chars_apply(Pbs, M, F, Xa, Drv, Shell, Buf, State0, LineCont, Encoding) -> {stop,Result,eof} -> {ok,Result,eof}; {stop,Result,Rest} -> + %% Prompt was valid expression, clear the prompt in user_drv + send_drv_reqs(Drv, [new_prompt]), _ = case {M,F} of {io_lib, get_until} -> save_line_buffer(string:trim(Line, both)++"\n", get_lines(new_stack(get(line_buffer)))); @@ -537,10 +537,8 @@ get_chars_apply(Pbs, M, F, Xa, Drv, Shell, Buf, State0, LineCont, Encoding) -> get_chars_n_loop(Pbs, M, F, Xa, Drv, Shell, Buf0, State, Encoding) -> try M:F(State, cast(Buf0, get(read_mode), Encoding), Encoding, Xa) of - {stop,Result,eof} -> - {ok,Result,eof}; {stop,Result,Rest} -> - {ok,Result,append(Rest, [], Encoding)}; + {ok, Result, append(Rest,[],Encoding)}; State1 -> case get_chars_echo_off(Pbs, Drv, Shell) of interrupted -> @@ -604,13 +602,12 @@ get_line1({undefined,{_A,Mode,Char},Cs,Cont,Rs}, Drv, Shell, Ls0, Encoding) send_drv_reqs(Drv, edlin:erase_line()), {more_chars,Ncont,Nrs} = edlin:start(edlin:prompt(Cont)), send_drv_reqs(Drv, Nrs), - get_line1(edlin:edit_line1(string:to_graphemes(lists:sublist(Lcs, - 1, - length(Lcs)-1)), - Ncont), - Drv, - Shell, - Ls, Encoding) + get_line1( + edlin:edit_line1( + string:to_graphemes( + lists:sublist(Lcs, 1, length(Lcs)-1)), + Ncont), + Drv, Shell, Ls, Encoding) end; get_line1({undefined,{_A,Mode,Char},Cs,Cont,Rs}, Drv, Shell, Ls0, Encoding) when Mode =:= none, Char =:= $\^N; @@ -696,12 +693,12 @@ get_line1({Expand, Before, Cs0, Cont,Rs}, Drv, Shell, Ls0, Encoding) _ -> %% If there are more results than fit on %% screen we expand above - send_drv_reqs(Drv, [{put_chars_keep_state, unicode, NlMatchStr},redraw_prompt]), + send_drv_reqs(Drv, [{put_chars, unicode, NlMatchStr}]), [$\e, $l | Cs1] end end; false -> - send_drv(Drv, {put_chars_keep_state, unicode, NlMatchStr}), + send_drv(Drv, {put_chars, unicode, NlMatchStr}), [$\e, $l | Cs1] end end, @@ -772,7 +769,7 @@ get_line1({What,{line,Prompt,{_,{RevCmd0,_},_},search},_Rs}, send_drv(Drv, beep), put(search_result, []), send_drv(Drv, delete_line), - send_drv(Drv, {put_chars, unicode, unicode:characters_to_binary(Prompt++Cmd)}), + send_drv(Drv, {insert_chars, unicode, unicode:characters_to_binary(Prompt++Cmd)}), {Ls2, {[],{RevCmd, []},[]}}; {Line, Ls2} -> % found. Complete the output edlin couldn't have done. Lines = string:split(string:to_graphemes(Line), "\n", all), @@ -784,7 +781,7 @@ get_line1({What,{line,Prompt,{_,{RevCmd0,_},_},search},_Rs}, end, put(search_result, Lines), send_drv(Drv, delete_line), - send_drv(Drv, {put_chars, unicode, unicode:characters_to_binary(Prompt++Cmd)}), + send_drv(Drv, {insert_chars, unicode, unicode:characters_to_binary(Prompt++Cmd)}), send_drv(Drv, {put_expand_no_trim, unicode, unicode:characters_to_binary(Output)}), {Ls2, {[],{RevCmd, []},[]}} end, @@ -800,7 +797,8 @@ more_data(What, Cont0, Drv, Shell, Ls, Encoding) -> send_drv_reqs(Drv, edlin:redraw_line(Cont0)), more_data(What, Cont0, Drv, Shell, Ls, Encoding); {Drv,{data,Cs}} -> - get_line1(edlin:edit_line(Cs, Cont0), Drv, Shell, Ls, Encoding); + get_line1(edlin:edit_line(cast(Cs, list), Cont0), + Drv, Shell, Ls, Encoding); {Drv,eof} -> get_line1(edlin:edit_line(eof, Cont0), Drv, Shell, Ls, Encoding); {io_request,From,ReplyAs,Req} when is_pid(From) -> @@ -831,7 +829,7 @@ get_line_echo_off(Chars, Pbs, Drv, Shell) -> get_line_echo_off1({Chars,[]}, Drv, Shell) -> receive {Drv,{data,Cs}} -> - get_line_echo_off1(edit_line(Cs, Chars), Drv, Shell); + get_line_echo_off1(edit_line(cast(Cs, list), Chars), Drv, Shell); {Drv,eof} -> get_line_echo_off1(edit_line(eof, Chars), Drv, Shell); {io_request,From,ReplyAs,Req} when is_pid(From) -> @@ -854,13 +852,13 @@ get_line_echo_off1({Chars,Rest}, _Drv, _Shell) -> {done,lists:reverse(Chars),case Rest of done -> []; _ -> Rest end}. get_chars_echo_off(Pbs, Drv, Shell) -> - send_drv_reqs(Drv, [{put_chars, unicode,Pbs}]), + send_drv_reqs(Drv, [{insert_chars, unicode,Pbs}]), get_chars_echo_off1(Drv, Shell). get_chars_echo_off1(Drv, Shell) -> receive {Drv, {data, Cs}} -> - Cs; + cast(Cs, list); {Drv, eof} -> eof; {io_request,From,ReplyAs,Req} when is_pid(From) -> @@ -1008,7 +1006,7 @@ get_password_line(Chars, Drv, Shell) -> get_password1({Chars,[]}, Drv, Shell) -> receive {Drv,{data,Cs}} -> - get_password1(edit_password(Cs,Chars),Drv,Shell); + get_password1(edit_password(Cs,cast(Chars,list)),Drv,Shell); {io_request,From,ReplyAs,Req} when is_pid(From) -> io_request(Req, From, ReplyAs, Drv, Shell, []), %WRONG!!! %% I guess the reason the above line is wrong is that Buf is @@ -1027,7 +1025,7 @@ get_password1({Chars,[]}, Drv, Shell) -> exit(R) end; get_password1({Chars,Rest},Drv,_Shell) -> - send_drv_reqs(Drv,[{put_chars, unicode, "\n"}]), + send_drv_reqs(Drv,[{insert_chars, unicode, "\n"}]), {done,lists:reverse(Chars),case Rest of done -> []; _ -> Rest end}. edit_password([],Chars) -> @@ -1048,20 +1046,18 @@ edit_password([Char|Cs],Chars) -> prompt_bytes(Prompt, Encoding) -> lists:flatten(io_lib:format_prompt(Prompt, Encoding)). -cast(L, binary,latin1) when is_list(L) -> - list_to_binary(L); -cast(L, list, latin1) when is_list(L) -> - binary_to_list(list_to_binary(L)); %% Exception if not bytes -cast(L, binary,unicode) when is_list(L) -> - unicode:characters_to_binary(L,utf8); -cast(Other, _, _) -> - Other. - -append(B, L, latin1) when is_binary(B) -> - binary_to_list(B)++L; -append(B, L, unicode) when is_binary(B) -> - unicode:characters_to_list(B,utf8)++L; -append(L1, L2, _) when is_list(L1) -> - L1++L2; -append(_Eof, L, _) -> - L. +cast(Buf, Type) -> + cast(Buf, Type, utf8). +cast(eof, _, _) -> + eof; +cast(L, binary, ToEnc) -> + unicode:characters_to_binary(L, utf8, ToEnc); +cast(L, list, _ToEnc) -> + unicode:characters_to_list(L, utf8). + +append(eof, [], _) -> + eof; +append(eof, L, _) -> + L; +append(B, L, FromEnc) -> + unicode:characters_to_list(B, FromEnc) ++ L. diff --git a/lib/kernel/src/inet.erl b/lib/kernel/src/inet.erl index 780abec149fb..587a87cbbebb 100644 --- a/lib/kernel/src/inet.erl +++ b/lib/kernel/src/inet.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2022. All Rights Reserved. +%% Copyright Ericsson AB 1997-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -42,7 +42,9 @@ ntoa/1, ipv4_mapped_ipv6_address/1]). -export([connect_options/2, listen_options/2, udp_options/2, sctp_options/2]). --export([udp_module/1, tcp_module/1, tcp_module/2, sctp_module/1]). +-export([udp_module/1, udp_module/2, + tcp_module/1, tcp_module/2, + sctp_module/1]). -export([gen_tcp_module/1, gen_udp_module/1]). -export([i/0, i/1, i/2]). @@ -1181,8 +1183,9 @@ gen_tcp_module(Opts, socket) -> udp_options() -> [ debug, - tos, tclass, - priority, reuseaddr, sndbuf, recbuf, header, active, buffer, mode, + tos, tclass, priority, + reuseaddr, reuseport, reuseport_lb, exclusiveaddruse, + sndbuf, recbuf, header, active, buffer, mode, recvtos, recvtclass, ttl, recvttl, deliver, ipv6_v6only, broadcast, dontroute, multicast_if, multicast_ttl, multicast_loop, add_membership, drop_membership, read_packets, raw, @@ -1258,8 +1261,16 @@ udp_add(Name, Val, #udp_opts{} = R, Opts, As) -> end. udp_module(Opts) -> + udp_module_1(Opts, undefined). + +udp_module(Opts, Addr) -> + Address = {undefined, Addr}, + %% Address has to be a 2-tuple but the first element is ignored + udp_module_1(Opts, Address). + +udp_module_1(Opts, Address) -> mod( - Opts, udp_module, undefined, + Opts, udp_module, Address, #{inet => inet_udp, inet6 => inet6_udp, local => local_udp}). gen_udp_module([{inet_backend, Flag}|Opts]) -> @@ -1293,8 +1304,9 @@ sctp_options() -> [ % The following are generic inet options supported for SCTP sockets: debug, mode, active, buffer, tos, tclass, ttl, - priority, dontroute, reuseaddr, linger, - recvtos, recvtclass, recvttl, + priority, dontroute, + reuseaddr, reuseport, reuseport_lb, exclusiveaddruse, + linger, recvtos, recvtclass, recvttl, sndbuf, recbuf, ipv6_v6only, high_msgq_watermark, low_msgq_watermark, bind_to_device, diff --git a/lib/kernel/src/inet_db.erl b/lib/kernel/src/inet_db.erl index b7d5afcc644c..6b4a0d445086 100644 --- a/lib/kernel/src/inet_db.erl +++ b/lib/kernel/src/inet_db.erl @@ -1022,7 +1022,7 @@ handle_call(Request, From, #state{db=Db}=State) -> {add_rrs, RRs} -> ?dbg("add_rrs: ~p~n", [RRs]), - {reply, do_add_rrs(RRs, Db, State), State}; + {reply, do_add_rrs(RRs, Db, State#state.cache), State}; {del_rr, RR} when is_record(RR, dns_rr) -> Cache = State#state.cache, @@ -1667,14 +1667,11 @@ is_reqname(_) -> false. %% #dns_rr.cnt is used to store the access time %% instead of number of accesses. %% -do_add_rrs(RRs, Db, State) -> - CacheDb = State#state.cache, - do_add_rrs(RRs, Db, State, CacheDb). - -do_add_rrs([], _Db, _State, _CacheDb) -> +do_add_rrs([], _Db, _CacheDb) -> ok; -do_add_rrs([RR | RRs], Db, State, CacheDb) -> - case alloc_entry(Db, CacheDb, #dns_rr.tm) of +do_add_rrs([RR | RRs], Db, CacheDb) -> + Size = ets:lookup_element(Db, cache_size, 2), + case alloc_entry(CacheDb, #dns_rr.tm, Size) of true -> %% Add to cache %% @@ -1698,7 +1695,7 @@ do_add_rrs([RR | RRs], Db, State, CacheDb) -> DelRR <- DeleteRRs], ok end, - do_add_rrs(RRs, Db, State, CacheDb); + do_add_rrs(RRs, Db, CacheDb); false -> ok end. @@ -1745,47 +1742,76 @@ lookup_cache_data(LcDomain, Type) -> %% in the table, i.e identical domain, class, type and data. %% We embrace that and eliminate duplicates here. %% -%% Look up all matching objects. The still valid ones -%% should be returned, and updated with a new cnt time. -%% All expired ones should be deleted. +%% Look up all matching objects. +%% The still valid ones should be returned and updated +%% in the ETS table with a new access time (#dns_rr.cnt). +%% All expired ones should be deleted from the ETS table. %% match_rr(MatchRR) -> CacheDb = inet_cache, RRs = ets:match_object(CacheDb, MatchRR), - match_rr(CacheDb, RRs, times(), #{}, #{}, []). + match_rr(CacheDb, RRs, times(), [], []). %% -match_rr(CacheDb, [], _Time, ResultRRs, InsertRRs, DeleteRRs) -> - %% We insert first so an RR always is present, +match_rr(CacheDb, [], Time, KeepRRs, DeleteRRs) -> + %% + %% Keep the first duplicate RR in KeepRRs (reversed) + %% that is; the last in RRs + ResultRRs = match_rr_dedup(KeepRRs), + %% + %% We insert before delete so an RR always is present, %% which may create duplicates - _ = [ets:insert(CacheDb, RR) || RR <- maps:values(InsertRRs)], + _ = [ets:insert(CacheDb, RR#dns_rr{cnt = Time}) + || RR <- ResultRRs, + %% + %% Insert only if access time changes + RR#dns_rr.cnt < Time], _ = [ets:delete_object(CacheDb, RR) || RR <- DeleteRRs], - maps:values(ResultRRs); -match_rr(CacheDb, [RR | RRs], Time, ResultRRs, InsertRRs, DeleteRRs) -> + ResultRRs; +%% +%% Updating the access time (#dns_rr.cnt) is done by first inserting +%% an updated RR and then deleting the old, both done above. +%% +%% This does not work if the access time for the inserted record +%% is the same as for the deleted record because then both records +%% are identical and we end up with the record being deleted +%% instead of updated. +%% +%% When the access time is unchanged, within the time granularity, +%% the RR should not be updated so it is not put on the delete list +%% (below) and not re-inserted (above). Both parts of this +%% split operation has to use the same condition; RR#dns_rr.cnt < Time, +%% for this to work. +%% +match_rr(CacheDb, [RR | RRs], Time, KeepRRs, DeleteRRs) -> %% - #dns_rr{ttl = TTL, tm = TM, cnt = Cnt} = RR, + #dns_rr{ttl = TTL, tm = TM} = RR, if TM + TTL < Time -> - %% Expired, delete - match_rr( - CacheDb, RRs, Time, - ResultRRs, InsertRRs, [RR | DeleteRRs]); - Time =< Cnt -> - %% Valid and just updated, return and do not update - Key = match_rr_key(RR), - match_rr( - CacheDb, RRs, Time, - ResultRRs#{Key => RR}, InsertRRs, DeleteRRs); + %% Expired + match_rr(CacheDb, RRs, Time, KeepRRs, [RR | DeleteRRs]); + RR#dns_rr.cnt < Time -> % Delete only if access time changes + %% Not expired + match_rr(CacheDb, RRs, Time, [RR | KeepRRs], [RR | DeleteRRs]); + true -> % Cnt == Time since Time is monotonically increasing + %% Not expired + match_rr(CacheDb, RRs, Time, [RR | KeepRRs], DeleteRRs) + end. + +%% Remove all duplicate RRs (according to match_rr_key/1) +%% - keep the first, return reversed list +%% +match_rr_dedup(RRs) -> + match_rr_dedup(RRs, #{}, []). +%% +match_rr_dedup([], _Seen, Acc) -> + Acc; +match_rr_dedup([RR | RRs], Seen, Acc) -> + Key = match_rr_key(RR), + case erlang:is_map_key(Key, Seen) of true -> - %% Valid; return and re-insert with updated cnt time. - %% The clause above ensures that the cnt field is changed - %% which is essential to not accidentally delete - %% a record we also insert. - Key = match_rr_key(RR), - match_rr( - CacheDb, RRs, Time, - ResultRRs#{Key => RR}, - InsertRRs#{Key => RR#dns_rr{cnt = Time}}, - [RR | DeleteRRs]) + match_rr_dedup(RRs, Seen, Acc); + false -> + match_rr_dedup(RRs, Seen#{Key => []}, [RR | Acc]) end. -compile({inline, [match_rr_key/1]}). @@ -1927,8 +1953,7 @@ delete_expired(CacheDb, TM) -> %% Returns: true if space for a new entry otherwise false %% (true if we have a cache since we always make room for new). %% ------------------------------------------------------------------- -alloc_entry(Db, CacheDb, TM) -> - Size = ets:lookup_element(Db, cache_size, 2), +alloc_entry(CacheDb, TM, Size) -> if Size =< 0 -> false; @@ -1947,11 +1972,11 @@ alloc_entry(Db, CacheDb, TM) -> %% This deletion should always give some room since %% it removes a percentage of the oldest entries. %% -%% Fetch all cnt times, sort them, calculate a limit +%% Fetch all access times (#dns_rr.cnt), sort them, calculate a limit %% as the earliest of the time 1/3 from the oldest to now, %% and the 1/10 oldest entry,. %% -%% Delete all entries with a cnt time older than that, +%% Delete all entries with an access time (#dns_rr.cnt) older than that, %% and all expired (tm + ttl < now). %% delete_oldest(CacheDb, TM, N) -> diff --git a/lib/kernel/src/inet_dns.erl b/lib/kernel/src/inet_dns.erl index 2aeb6a98470c..c65546a7e5fe 100644 --- a/lib/kernel/src/inet_dns.erl +++ b/lib/kernel/src/inet_dns.erl @@ -22,15 +22,21 @@ %% Dns record encode/decode %% %% RFC 1035: Domain Names - Implementation and Specification +%% RFC 1995: Incremental Zone Transfer in DNS +%% RFC 1996: A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY) +%% RFC 2136: Dynamic Updates in the Domain Name System (DNS UPDATE) %% RFC 2181: Clarifications to the DNS Specification -%% RFC 6891: Extension Mechanisms for DNS (EDNS0) %% RFC 2782: A DNS RR for specifying the location of services (DNS SRV) %% RFC 2915: The Naming Authority Pointer (NAPTR) DNS Resource Rec +%% RFC 5936: DNS Zone Transfer Protocol (AXFR) %% RFC 6488: DNS Certification Authority Authorization (CAA) Resource Record -%% RFC 7553: The Uniform Resource Identifier (URI) DNS Resource Record %% RFC 6762: Multicast DNS +%% RFC 6891: Extension Mechanisms for DNS (EDNS0) +%% RFC 7553: The Uniform Resource Identifier (URI) DNS Resource Record +%% RFC 8945: Secret Key Transaction Authentication for DNS (TSIG) -export([decode/1, encode/1]). +-export([decode_algname/1, encode_algname/1]). -import(lists, [reverse/1]). @@ -157,9 +163,9 @@ do_decode(<>=Buffer) -> {AnBuf,QdList,QdTC} = decode_query_section(QdBuf,QdCount,Buffer), - {NsBuf,AnList,AnTC} = decode_rr_section(AnBuf,AnCount,Buffer), - {ArBuf,NsList,NsTC} = decode_rr_section(NsBuf,NsCount,Buffer), - {Rest,ArList,ArTC} = decode_rr_section(ArBuf,ArCount,Buffer), + {NsBuf,AnList,AnTC} = decode_rr_section(Opcode,AnBuf,AnCount,Buffer), + {ArBuf,NsList,NsTC} = decode_rr_section(Opcode,NsBuf,NsCount,Buffer), + {Rest,ArList,ArTC} = decode_rr_section(Opcode,ArBuf,ArCount,Buffer), ?MATCH_ELSE_DECODE_ERROR( Rest, <<>>, @@ -217,14 +223,14 @@ decode_query_section(Bin, N, Buffer, Qs) -> decode_query_section(Rest, N-1, Buffer, [DnsQuery|Qs]) end). -decode_rr_section(Bin, N, Buffer) -> - decode_rr_section(Bin, N, Buffer, []). +decode_rr_section(Opcode, Bin, N, Buffer) -> + decode_rr_section(Opcode, Bin, N, Buffer, []). -decode_rr_section(<<>>=Rest, N, _Buffer, RRs) -> +decode_rr_section(_Opcode, <<>>=Rest, N, _Buffer, RRs) -> {Rest,reverse(RRs),N =/= 0}; -decode_rr_section(Rest, 0, _Buffer, RRs) -> +decode_rr_section(_Opcode, Rest, 0, _Buffer, RRs) -> {Rest,reverse(RRs),false}; -decode_rr_section(Bin, N, Buffer, RRs) -> +decode_rr_section(Opcode, Bin, N, Buffer, RRs) -> ?MATCH_ELSE_DECODE_ERROR( decode_name(Bin, Buffer), {< RR = case Type of ?S_OPT -> + %% RFC 6891: 6.1.1. FORMERR if more than one dns_rr_opt + lists:keymember(dns_rr_opt, 1, RRs) andalso + throw(?DECODE_ERROR), <> = TTL, DnssecOk = (DO =/= 0), #dns_rr_opt{ @@ -246,9 +255,37 @@ decode_rr_section(Bin, N, Buffer, RRs) -> z = Z, data = D, do = DnssecOk}; + ?S_TSIG -> + %% RFC 8945: 5.2. FORMERR if not last + %% RFC 8945: 5.2. FORMERR if more than one dns_rr_tsig + %% (...covered by being last) + Rest =/= <<>> andalso throw(?DECODE_ERROR), + {DR,AlgName} = decode_name(D, Buffer), + ?MATCH_ELSE_DECODE_ERROR( + DR, + <>, + #dns_rr_tsig{ + domain = Name, + type = Type, + offset = byte_size(Buffer) - byte_size(Bin), + algname = AlgName, + now = Now, + fudge = Fudge, + mac = MAC, + original_id = OriginalId, + error = Error, + other_data = OtherData}); _ -> {Class,CacheFlush} = decode_class(C), - Data = decode_data(D, Class, Type, Buffer), + Data = if + %% RFC 2136: 2.4. Allow length zero data for UPDATE + Opcode == ?UPDATE, D == <<>> -> + #dns_rr{}#dns_rr.data; + true -> + decode_data(D, Class, Type, Buffer) + end, <> = TTL, #dns_rr{ domain = Name, @@ -258,7 +295,7 @@ decode_rr_section(Bin, N, Buffer, RRs) -> data = Data, func = CacheFlush} end, - decode_rr_section(Rest, N-1, Buffer, [RR|RRs]) + decode_rr_section(Opcode, Rest, N-1, Buffer, [RR|RRs]) end). %% @@ -270,12 +307,13 @@ encode(Q) -> AnCount = length(Q#dns_rec.anlist), NsCount = length(Q#dns_rec.nslist), ArCount = length(Q#dns_rec.arlist), + OC = Q#dns_rec.header#dns_header.opcode, B0 = encode_header(Q#dns_rec.header, QdCount, AnCount, NsCount, ArCount), C0 = gb_trees:empty(), {B1,C1} = encode_query_section(B0, C0, Q#dns_rec.qdlist), - {B2,C2} = encode_res_section(B1, C1, Q#dns_rec.anlist), - {B3,C3} = encode_res_section(B2, C2, Q#dns_rec.nslist), - {B,_} = encode_res_section(B3, C3, Q#dns_rec.arlist), + {B2,C2} = encode_res_section(OC, B1, C1, Q#dns_rec.anlist), + {B3,C3} = encode_res_section(OC, B2, C2, Q#dns_rec.nslist), + {B,_} = encode_res_section(OC, B3, C3, Q#dns_rec.arlist), B. @@ -307,9 +345,9 @@ encode_query_section(Bin0, Comp0, [#dns_query{domain=DName}=Q | Qs]) -> %% RFC 1035: 4.1.3. Resource record format %% RFC 6891: 6.1.2, 6.1.3, 6.2.3 Opt RR format %% -encode_res_section(Bin, Comp, []) -> {Bin,Comp}; +encode_res_section(_Opcode, Bin, Comp, []) -> {Bin,Comp}; encode_res_section( - Bin, Comp, + Opcode, Bin, Comp, [#dns_rr{ domain = DName, type = Type, @@ -318,10 +356,10 @@ encode_res_section( ttl = TTL, data = Data} | Rs]) -> encode_res_section_rr( - Bin, Comp, Rs, DName, Type, Class, CacheFlush, + Opcode, Bin, Comp, Rs, DName, Type, Class, CacheFlush, <>, Data); encode_res_section( - Bin, Comp, + Opcode, Bin, Comp, [#dns_rr_opt{ domain = DName, udp_payload_size = UdpPayloadSize, @@ -332,18 +370,39 @@ encode_res_section( do = DnssecOk} | Rs]) -> DO = case DnssecOk of true -> 1; false -> 0 end, encode_res_section_rr( - Bin, Comp, Rs, DName, ?S_OPT, UdpPayloadSize, false, - <>, Data). + Opcode, Bin, Comp, Rs, DName, ?S_OPT, UdpPayloadSize, false, + <>, Data); +encode_res_section( + Opcode, Bin, Comp, + [#dns_rr_tsig{ + domain = DName, + algname = AlgName, + now = Now, + fudge = Fudge, + mac = MAC, + original_id = OriginalId, + error = Error, + other_data = OtherData}]) -> + Data = {AlgName,Now,Fudge,MAC,OriginalId,Error,OtherData}, + encode_res_section_rr( + Opcode, Bin, Comp, [], DName, ?S_TSIG, ?S_ANY, false, + <<0:32/signed>>, Data). encode_res_section_rr( - Bin0, Comp0, Rs, DName, Type, Class, CacheFlush, TTL, Data) -> + Opcode, Bin0, Comp0, Rs, DName, Type, Class, CacheFlush, TTL, Data) -> T = encode_type(Type), C = encode_class(Class, CacheFlush), {Bin,Comp1} = encode_name(Bin0, Comp0, byte_size(Bin0), DName), Pos = byte_size(Bin)+2+2+byte_size(TTL)+2, - {DataBin,Comp} = encode_data(Comp1, Pos, Type, Class, Data), + {DataBin,Comp} = if + Opcode == update, Data == #dns_rr{}#dns_rr.data -> + {<<>>,Comp1}; + true -> + encode_data(Comp1, Pos, Type, Class, Data) + end, DataSize = byte_size(DataBin), encode_res_section( + Opcode, <>, Comp, Rs). @@ -379,7 +438,8 @@ decode_type(Type) -> ?T_UID -> ?S_UID; ?T_GID -> ?S_GID; ?T_UNSPEC -> ?S_UNSPEC; - %% Query type values which do not appear in resource records + ?T_TSIG -> ?S_TSIG; + ?T_IXFR -> ?S_IXFR; ?T_AXFR -> ?S_AXFR; ?T_MAILB -> ?S_MAILB; ?T_MAILA -> ?S_MAILA; @@ -421,7 +481,8 @@ encode_type(Type) -> ?S_UID -> ?T_UID; ?S_GID -> ?T_GID; ?S_UNSPEC -> ?T_UNSPEC; - %% Query type values which do not appear in resource records + ?S_TSIG -> ?T_TSIG; + ?S_IXFR -> ?T_IXFR; ?S_AXFR -> ?T_AXFR; ?S_MAILB -> ?T_MAILB; ?S_MAILA -> ?T_MAILA; @@ -444,6 +505,7 @@ decode_class(C0) -> ?C_IN -> in; ?C_CHAOS -> chaos; ?C_HS -> hs; + ?C_NONE -> none; ?C_ANY -> any; _ -> C %% raw unknown class end, @@ -463,6 +525,7 @@ encode_class(Class) -> in -> ?C_IN; chaos -> ?C_CHAOS; hs -> ?C_HS; + none -> ?C_NONE; any -> ?C_ANY; Class when is_integer(Class) -> Class %% raw unknown class end. @@ -472,6 +535,8 @@ decode_opcode(Opcode) -> ?QUERY -> 'query'; ?IQUERY -> iquery; ?STATUS -> status; + ?NOTIFY -> notify; + ?UPDATE -> update; _ when is_integer(Opcode) -> Opcode %% non-standard opcode end. @@ -480,9 +545,11 @@ encode_opcode(Opcode) -> 'query' -> ?QUERY; iquery -> ?IQUERY; status -> ?STATUS; + notify -> ?NOTIFY; + update -> ?UPDATE; _ when is_integer(Opcode) -> Opcode %% non-standard opcode end. - + encode_boolean(true) -> 1; encode_boolean(false) -> 0; @@ -707,17 +774,6 @@ decode_name_label(Label, Name, N) -> %% %% Data field -> {binary(),NewCompressionTable} %% -%% Class IN RRs -encode_data(Comp, _, ?S_A, in, Addr) -> - {A,B,C,D} = Addr, - {<>,Comp}; -encode_data(Comp, _, ?S_AAAA, in, Addr) -> - {A,B,C,D,E,F,G,H} = Addr, - {<>,Comp}; -encode_data(Comp, _, ?S_WKS, in, Data) -> - {{A,B,C,D},Proto,BitMap} = Data, - BitMapBin = iolist_to_binary(BitMap), - {<>,Comp}; %% OPT pseudo-RR (of no class) - should not take this way; %% this must be a #dns_rr{type = ?S_OPT} instead of a #dns_rr_opt{}, %% so good luck getting in particular Class and TTL right... @@ -734,6 +790,16 @@ encode_data(Comp, Pos, Type, Class, Data) -> %% %% %% Standard RRs (any class) +encode_data(Comp, _, ?S_A, Addr) -> + {A,B,C,D} = Addr, + {<>,Comp}; +encode_data(Comp, _, ?S_AAAA, Addr) -> + {A,B,C,D,E,F,G,H} = Addr, + {<>,Comp}; +encode_data(Comp, _, ?S_WKS, Data) -> + {{A,B,C,D},Proto,BitMap} = Data, + BitMapBin = iolist_to_binary(BitMap), + {<>,Comp}; encode_data(Comp, Pos, ?S_SOA, Data) -> {MName,RName,Serial,Refresh,Retry,Expiry,Minimum} = Data, {B1,Comp1} = encode_name(Comp, Pos, MName), @@ -808,6 +874,17 @@ encode_data(Comp, _, ?S_CAA, Data)-> _ -> {encode_txt(Data),Comp} end; +encode_data(Comp, _, ?S_TSIG, Data)-> + {AlgName,Now,Fudge,MAC,OriginalId,Error,OtherData} = Data, + %% Bypass name compression (RFC 8945, section 4.2) + {AlgNameEncoded,_} = encode_name(gb_trees:empty(), 0, AlgName), + MACSize = byte_size(MAC), + OtherLen = byte_size(OtherData), + DataB = <>, + {DataB,Comp}; %% %% sofar unknown or non standard encode_data(Comp, _Pos, Type, Data) when is_integer(Type) -> @@ -947,3 +1024,35 @@ encode_loc_size(X) Multiplier = round(math:pow(10, Exponent)), Base = (X + Multiplier - 1) div Multiplier, <>. + +decode_algname(AlgName) -> + case AlgName of + ?T_TSIG_HMAC_MD5 -> ?S_TSIG_HMAC_MD5; + ?T_TSIG_GSS_TSIG -> ?S_TSIG_GSS_TSIG; + ?T_TSIG_HMAC_SHA1 -> ?S_TSIG_HMAC_SHA1; + ?T_TSIG_HMAC_SHA1_96 -> ?S_TSIG_HMAC_SHA1_96; + ?T_TSIG_HMAC_SHA224 -> ?S_TSIG_HMAC_SHA224; + ?T_TSIG_HMAC_SHA256 -> ?S_TSIG_HMAC_SHA256; + ?T_TSIG_HMAC_SHA256_128 -> ?S_TSIG_HMAC_SHA256_128; + ?T_TSIG_HMAC_SHA384 -> ?S_TSIG_HMAC_SHA384; + ?T_TSIG_HMAC_SHA384_192 -> ?S_TSIG_HMAC_SHA384_192; + ?T_TSIG_HMAC_SHA512 -> ?S_TSIG_HMAC_SHA512; + ?T_TSIG_HMAC_SHA512_256 -> ?S_TSIG_HMAC_SHA512_256; + _ -> AlgName % raw unknown algname + end. + +encode_algname(Alg) -> + case Alg of + ?S_TSIG_HMAC_MD5 -> ?T_TSIG_HMAC_MD5; + ?S_TSIG_GSS_TSIG -> ?T_TSIG_GSS_TSIG; + ?S_TSIG_HMAC_SHA1 -> ?T_TSIG_HMAC_SHA1; + ?S_TSIG_HMAC_SHA1_96 -> ?T_TSIG_HMAC_SHA1_96; + ?S_TSIG_HMAC_SHA224 -> ?T_TSIG_HMAC_SHA224; + ?S_TSIG_HMAC_SHA256 -> ?T_TSIG_HMAC_SHA256; + ?S_TSIG_HMAC_SHA256_128 -> ?T_TSIG_HMAC_SHA256_128; + ?S_TSIG_HMAC_SHA384 -> ?T_TSIG_HMAC_SHA384; + ?S_TSIG_HMAC_SHA384_192 -> ?T_TSIG_HMAC_SHA384_192; + ?S_TSIG_HMAC_SHA512 -> ?T_TSIG_HMAC_SHA512; + ?S_TSIG_HMAC_SHA512_256 -> ?T_TSIG_HMAC_SHA512_256; + Alg when is_list(Alg) -> Alg % raw unknown algname + end. diff --git a/lib/kernel/src/inet_dns.hrl b/lib/kernel/src/inet_dns.hrl index cf8f984e0515..d3b5930b4c2e 100644 --- a/lib/kernel/src/inet_dns.hrl +++ b/lib/kernel/src/inet_dns.hrl @@ -1,8 +1,8 @@ %% %% %CopyrightBegin% -%% +%% %% Copyright Ericsson AB 1997-2023. All Rights Reserved. -%% +%% %% 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 @@ -14,7 +14,7 @@ %% 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. -%% +%% %% %CopyrightEnd% %% %% @@ -24,20 +24,11 @@ %% %% Currently defined opcodes %% --define(QUERY, 16#0). %% standard query --define(IQUERY, 16#1). %% inverse query --define(STATUS, 16#2). %% nameserver status query -%% -define(xxx, 16#3) %% 16#3 reserved -%% non standard --define(UPDATEA, 16#9). %% add resource record --define(UPDATED, 16#a). %% delete a specific resource record --define(UPDATEDA, 16#b). %% delete all nemed resource record --define(UPDATEM, 16#c). %% modify a specific resource record --define(UPDATEMA, 16#d). %% modify all named resource record - --define(ZONEINIT, 16#e). %% initial zone transfer --define(ZONEREF, 16#f). %% incremental zone referesh - +-define(QUERY, 16#0). %% standard query +-define(IQUERY, 16#1). %% inverse query +-define(STATUS, 16#2). %% nameserver status query +-define(NOTIFY, 16#4). %% notify +-define(UPDATE, 16#5). %% dynamic update %% %% Currently defined response codes @@ -48,9 +39,16 @@ -define(NXDOMAIN, 3). %% non existent domain -define(NOTIMP, 4). %% not implemented -define(REFUSED, 5). %% query refused -%% non standard --define(NOCHANGE, 16#f). %% update failed to change db --define(BADVERS, 16). +-define(YXDOMAIN, 6). %% name exists when it should not (DDNS) +-define(YXRRSET, 7). %% RR set exists when it should not (DDNS) +-define(NXRRSET, 8). %% RR set that should exist does not (DDNS) +-define(NOTAUTH, 9). %% server not authoritative for zone (DDNS) +-define(NOTZONE, 10). %% name not contained in zone (DDNS) +-define(BADVERS, 16). %% bad version EDNS pseudo-rr RFC6891: 6.1.3 +-define(BADSIG, 16). %% TSIG Signature Failure (TSIG) +-define(BADKEY, 17). %% Key not recognized (TSIG) +-define(BADTIME, 18). %% Signature out of time window (TSIG) +-define(BADTRUNC, 22). %% Bad Truncation (TSIG) %% %% Type values for resources and queries @@ -86,8 +84,9 @@ -define(T_UID, 101). %% user ID -define(T_GID, 102). %% group ID -define(T_UNSPEC, 103). %% Unspecified format (binary data) -%% Query type values which do not appear in resource records --define(T_AXFR, 252). %% transfer zone of authority +-define(T_TSIG, 250). %% transaction signature +-define(T_IXFR, 251). %% incremental zone transfer +-define(T_AXFR, 252). %% zone transfer -define(T_MAILB, 253). %% transfer mailbox records -define(T_MAILA, 254). %% transfer mail agent records -define(T_ANY, 255). %% wildcard match @@ -130,8 +129,9 @@ -define(S_UID, uid). %% user ID -define(S_GID, gid). %% group ID -define(S_UNSPEC, unspec). %% Unspecified format (binary data) -%% Query type values which do not appear in resource records --define(S_AXFR, axfr). %% transfer zone of authority +-define(S_TSIG, tsig). %% transaction signature +-define(S_IXFR, ixfr). %% incremental zone transfer +-define(S_AXFR, axfr). %% zone transfer -define(S_MAILB, mailb). %% transfer mailbox records -define(S_MAILA, maila). %% transfer mail agent records -define(S_ANY, any). %% wildcard match @@ -143,16 +143,38 @@ %% %% Values for class field %% - -define(C_IN, 1). %% the arpa internet -define(C_CHAOS, 3). %% for chaos net at MIT -define(C_HS, 4). %% for Hesiod name server at MIT -%% Query class values which do not appear in resource records --define(C_ANY, 255). %% wildcard match +-define(C_NONE, 254). %% for DDNS (RFC2136, section 2.4) +-define(C_ANY, 255). %% wildcard match - -%% indirection mask for compressed domain names --define(INDIR_MASK, 16#c0). +%% +%% TSIG Algorithms and Identifiers (RFC8945, section 6) +%% +-define(T_TSIG_HMAC_MD5, "HMAC-MD5.SIG-ALG.REG.INT"). +-define(T_TSIG_GSS_TSIG, "gss-tsig"). +-define(T_TSIG_HMAC_SHA1, "hmac-sha1"). +-define(T_TSIG_HMAC_SHA1_96, "hmac-sha1_96"). +-define(T_TSIG_HMAC_SHA224, "hmac-sha224"). +-define(T_TSIG_HMAC_SHA256, "hmac-sha256"). +-define(T_TSIG_HMAC_SHA256_128, "hmac-sha256-128"). +-define(T_TSIG_HMAC_SHA384, "hmac-sha384"). +-define(T_TSIG_HMAC_SHA384_192, "hmac-sha384-192"). +-define(T_TSIG_HMAC_SHA512, "hmac-sha512"). +-define(T_TSIG_HMAC_SHA512_256, "hmac-sha512-256"). +% map mostly to crypto:hmac_hash_algorithm() +-define(S_TSIG_HMAC_MD5, md5). +-define(S_TSIG_GSS_TSIG, gss_tsig). +-define(S_TSIG_HMAC_SHA1, sha). +-define(S_TSIG_HMAC_SHA1_96, {sha,96}). +-define(S_TSIG_HMAC_SHA224, sha224). +-define(S_TSIG_HMAC_SHA256, sha256). +-define(S_TSIG_HMAC_SHA256_128, {sha256,128}). +-define(S_TSIG_HMAC_SHA384, sha384). +-define(S_TSIG_HMAC_SHA384_192, {sha384,192}). +-define(S_TSIG_HMAC_SHA512, sha512). +-define(S_TSIG_HMAC_SHA512_256, {sha512,256}). %% %% Structure for query header, the order of the fields is machine and @@ -160,15 +182,15 @@ %% least significant first, while the order of transmission is most %% significant first. This requires a somewhat confusing rearrangement. %% --record(dns_header, +-record(dns_header, { - id = 0, %% ushort query identification number + id = 0, %% ushort query identification number %% byte F0 qr = 0, %% :1 response flag opcode = 0, %% :4 purpose of message aa = 0, %% :1 authoritative answer tc = 0, %% :1 truncated message - rd = 0, %% :1 recursion desired + rd = 0, %% :1 recursion desired %% byte F1 ra = 0, %% :1 recursion available pr = 0, %% :1 primary server required (non standard) @@ -179,9 +201,9 @@ -record(dns_rec, { header, %% dns_header record - qdlist = [], %% list of question entries - anlist = [], %% list of answer entries - nslist = [], %% list of authority entries + qdlist = [], %% list of question (for UPDATE 'zone') entries + anlist = [], %% list of answer (for UPDATE 'prequisites') entries + nslist = [], %% list of authority (for UPDATE 'update') entries arlist = [] %% list of resource entries }). @@ -190,7 +212,7 @@ { domain = "", %% resource domain type = any, %% resource type - class = in, %% reource class + class = in, %% resource class cnt = 0, %% access count ttl = 0, %% time to live data = [], %% raw data @@ -217,6 +239,21 @@ do = false %% RFC6891(6.1.3 DO) }). +-record(dns_rr_tsig, %% TSIG RR OPT (RFC8945), dns_rr{type=tsig} + { + domain = "", %% name of the key + type = tsig, + offset, %% position of RR in packet + %% RFC8945(4.2 TSIG Record Format) + algname, + now, + fudge, + mac, + original_id = #dns_header{}#dns_header.id, + error = #dns_header{}#dns_header.rcode, + other_data = <<>> + }). + -record(dns_query, { domain, %% query domain diff --git a/lib/kernel/src/inet_dns_tsig.erl b/lib/kernel/src/inet_dns_tsig.erl new file mode 100644 index 000000000000..46bd05b2b0ce --- /dev/null +++ b/lib/kernel/src/inet_dns_tsig.erl @@ -0,0 +1,319 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% +-module(inet_dns_tsig). + +%% DNS TSIG handling +%% +%% RFC 8945: Secret Key Transaction Authentication for DNS (TSIG) + +%% WARNING: in the spirit of inet_dns.erl, this module only handles the +%% cryptographic operations and does not absolve you of your responsibities +%% that include: +%% * implement a truncation policy as per RFC8945, section 5.2 +%% * verifying that for TSIG over TCP the last message contains a TSIG RR +%% * truncated messages must include the TSIG RR as per RFC8945, section 5.3 +%% * if running as a server, generate suitable error responses +%% as per RFC8945, section 5.2 + +-export([init/1, sign/2, sign/3, verify/3]). + +-include("inet_dns.hrl"). + +-define(FUDGE_DEFAULT, 300). % RFC8945, section 10 +-define(MAC_SIZE_MIN, 10). % RFC8945, section 5.2.2.1 +-define(TTL, 0). +-define(NOW, (os:system_time(seconds))). % RFC8945, section 5.2.3 + +-define(ALG_DEFAULT, sha256). % RFC8945, section 6 +-define(ALGS_SUPPORTED, [md5, sha, sha224, ?ALG_DEFAULT, sha384, sha512]). +-type tsig_algs() :: md5 | sha | sha224 | ?ALG_DEFAULT | sha384 | sha512. +-type tsig_alg() :: {tsig_algs(),?MAC_SIZE_MIN..65535}. + +-type tsig_key() :: {string(),iodata()}. +-type tsig_error() :: ?BADSIG | ?BADKEY | ?BADTIME | ?BADTRUNC. + +-record( + tsig_state, + {key = [] :: tsig_key() | list(tsig_key()), + alg = ?ALG_DEFAULT :: tsig_alg(), % client only + fudge = ?FUDGE_DEFAULT :: 0..65535, + + qr = 0 :: 0..100, + %% 0 (false): request, 1+ (true): response + %% this value is overloaded to handle TSIG + %% over TCP where we need to accept up to + %% 99 messages without TSIG so each time a + %% response with a TSIG RR is received this + %% value is reset to 2 + + id :: undefined | 0..65535, + mac = {?MODULE,undefined} :: + {?MODULE,undefined | binary()} | {crypto,crypto:mac_state()} +}). +-opaque tsig_state() :: #tsig_state{}. +-export_type([tsig_state/0]). + +-spec init(proplists:proplist()) -> tsig_state(). +init(Config) -> + Key0 = proplists:get_value(keys, Config, []), % server passes in keys + Key = proplists:get_value(key, Config, Key0), % client passes in key + true = is_tuple(Key) orelse Key =/= [], + Alg = case proplists:get_value(alg, Config, ?ALG_DEFAULT) of + {A,S} when is_atom(A), is_integer(S) -> + true = lists:member(A, ?ALGS_SUPPORTED) + andalso + S >= ?MAC_SIZE_MIN + andalso + S >= maps:get(size, crypto:hash_info(A)) div 2, + {A,S}; + A when is_atom(A) -> + true = lists:member(A, ?ALGS_SUPPORTED), + {A,maps:get(size, crypto:hash_info(A))} + end, + Fudge = proplists:get_value(fudge, Config, ?FUDGE_DEFAULT), + true = is_integer(Fudge) andalso Fudge >= 0 andalso Fudge =< 65535, + #tsig_state{ key = Key, alg = Alg, fudge = Fudge }. + + +-spec sign(binary(), tsig_state()) -> {ok,binary(),tsig_state()}. +sign(Pkt, TS) -> + sign(Pkt, TS, ?NOERROR). + +-spec sign(binary(), tsig_state(), tsig_error() | ?NOERROR) -> + {ok,binary(),tsig_state()}. +sign( + Pkt = <>, + TS = #tsig_state{ id = TSId, qr = TSQR }, + Error) -> + case Hdr of + %% client uses this + <> + when QR == 0, TSId == undefined -> + sign(Pkt, TS#tsig_state{ id = Id }, Error, Hdr, Rest); + %% + %% client and server use this + <<_Id:16, QR:1, _:15, _/binary>> + when QR == 0, TSQR == 0; + QR == 1, TSQR >= 1 -> + sign(Pkt, TS, Error, Hdr, Rest) + end. + +sign(Pkt, TS, Error, Hdr, <>) -> + {Name,_Secret} = TS#tsig_state.key, + {Alg,_MACSize} = TS#tsig_state.alg, + Now = ?NOW, + OtherData = otherdata(Error, Now), + MAC = mac(Pkt, TS, Error, Now, OtherData), + TSigRR = + #dns_rr_tsig{ + domain = Name, + algname = inet_dns:encode_algname(Alg), + now = Now, + fudge = TS#tsig_state.fudge, + mac = MAC, + original_id = TS#tsig_state.id, + error = Error, + other_data = OtherData}, + %% for simplicity, and to avoid export hell, we encode a skeleton packet and + %% extract our TSIG RR directly from it + <<_:12/binary, TSigRRBin/binary>> = + inet_dns:encode( + #dns_rec{ header = #dns_header{}, arlist = [TSigRR]}), + TSQR = TS#tsig_state.qr, + {ok, + <>, + TS#tsig_state{ qr = TSQR + 1, mac = {?MODULE,MAC} }}. + + +%% this function needs to work with the original response binary as the MAC +%% calculation is affected by each DNS implementation having their own varying +%% name compression algorithm +-spec verify(binary(), #dns_rec{}, tsig_state()) -> + {ok,tsig_state()} | + {error,formerr | {notauth,badkey | badsig | badtime}}. +verify(Pkt, Response, TS) -> + try do_verify(Pkt, Response, TS) of + R -> + R + catch + Reason -> + {error,Reason} + end. + +%% server uses this +do_verify(Pkt, + Response = #dns_rec{ + header = #dns_header{ qr = QR }, + arlist = ARList }, + TS0 = #tsig_state{ id = TSId }) + when QR == false, TSId == undefined -> + ARList == [] andalso throw({noauth,badsig}), + #dns_rr_tsig{ + domain = Name, + algname = AlgName, + mac = MAC, + original_id = OriginalId, + error = Error + } = lists:last(ARList), + Key = lists:keyfind(Name, 1, TS0#tsig_state.key), + Key == false andalso throw({notauth,badkey}), + {Alg,AlgSize} = case inet_dns:decode_algname(AlgName) of + {A,S} -> + {A,S}; + A -> + {A,maps:get(size, crypto:hash_info(A))} + end, + %% RFC8945, section 5.2.2.1: MAC Truncation + MACSize = if + Error == ?BADSIG; Error == ?BADKEY -> + AlgSize; + true -> + byte_size(MAC) + end, + lists:member(Alg, ?ALGS_SUPPORTED) orelse throw({notauth,badkey}), + MACValid = MACSize >= ?MAC_SIZE_MIN + andalso + MACSize >= AlgSize div 2 + andalso + MACSize =< AlgSize, + MACValid orelse throw(formerr), + TS = TS0#tsig_state{ alg = {Alg,AlgSize}, key = Key, id = OriginalId }, + do_verify(Pkt, Response, TS); +%% +%% client and server use this +do_verify(Pkt = <<_Id:16, QR:1, _:15, _/binary>>, + Response = #dns_rec{ arlist = ARList }, + TS = #tsig_state{ qr = TSQR }) + when QR == TSQR; QR == 1 andalso TSQR >= 2 -> + case ARList =/= [] andalso lists:last(ARList) of + %% RFC8945, section 5.3.1: TSIG on TCP Connections + false when TSQR == 3 -> % not 2 as we must start with a TSIG RR + MAC0 = mac0(TS), + %% TS#tsig_state.mac is {?MODULE,binary()} (Previous MAC) + MACN0 = macN(TS#tsig_state.mac, TS#tsig_state{ mac = MAC0 }), + MACN = macN(Pkt, TS#tsig_state{ mac = MACN0 }), + {ok,TS#tsig_state{ qr = TSQR + 1, mac = MACN }}; + false when TSQR >= 4, TSQR =< 99 -> + MACN = macN(Pkt, TS), + {ok,TS#tsig_state{ qr = TSQR + 1, mac = MACN }}; + TSigRR = #dns_rr_tsig{} -> + do_verify(Pkt, Response, TS, TSigRR); + false -> + {error,{notauth,badsig}} + end. + +do_verify(Pkt, _Response, TS, TSigRR) -> + Now = ?NOW, + #dns_rr_tsig{ + offset = Offset, + now = NowSigned, + fudge = Fudge, + mac = MAC, + error = Error, + other_data = OtherData + } = TSigRR, + PktS = iolist_to_binary([ + <<(TS#tsig_state.id):16>>, + binary:part(Pkt, {2,8}), + begin + <> = binary:part(Pkt, {10,2}), + <<(ARC - 1):16>> + end, + binary:part(Pkt, {12,Offset - 12}) + ]), + MACCalc = if + element(1, TS#tsig_state.mac) == ?MODULE -> + mac(PktS, TS, Error, Now, OtherData); + %% RFC8945, section 5.3.1: TSIG on TCP Connections + true -> + mac(TS, Error, Now, OtherData) + end, + if + %% RFC8945, section 5.2 - MUST check time after MAC + MAC == MACCalc, NowSigned - Fudge < Now, NowSigned + Fudge > Now -> + QR = if TS#tsig_state.qr == 0 -> 1; true -> 2 end, + {ok,TS#tsig_state{ qr = QR, mac = {?MODULE,MAC} }}; + MAC == MACCalc -> + {error,{notauth,badtime}}; + true -> + {error,{notauth,badsig}} + end. + +%% similar to inet_dns:encode_name/3 but without compression +encode_name(Name) -> + iolist_to_binary([ + [ <<(byte_size(L)):8, L/binary>> + || L <- binary:split(list_to_binary(Name), <<".">>, [global]) ], + <<0:8>> + ]). + +otherdata(?BADTIME, Now) -> <>; +otherdata(_Error, _Now) -> <<>>. + +mac0(TS = #tsig_state{ mac = {?MODULE,MAC} }) -> + {_Name,Secret} = TS#tsig_state.key, + {Alg,_MACSize} = TS#tsig_state.alg, + MACState = crypto:mac_init(hmac, Alg, Secret), + {crypto,if + %% RFC8945, section 5.3.1: TSIG on TCP Connections + is_binary(MAC) -> + MS = byte_size(MAC), + crypto:mac_update(MACState, [<>, MAC]); + true -> + MACState + end}. + +macN({?MODULE,MAC}, #tsig_state{ mac = {crypto,MACState} }) -> + {crypto,crypto:mac_update(MACState, MAC)}; +macN(Pkt, TS = #tsig_state{ mac = {crypto,MACState} }) -> + {crypto,crypto:mac_update(MACState, [ + <<(TS#tsig_state.id):16>>, + binary:part(Pkt, {2,byte_size(Pkt) - 2}) + ])}. + +%% RFC8945, section 5.3.2: Generation of TSIG on Error Returns +mac(_TS, Error, _Now, _OtherData) + when Error == ?BADSIG; Error == ?BADKEY -> + <<>>; +mac(TS = #tsig_state{ mac = {crypto,MACState0} }, Error, Now, OtherData) -> + {Name,_Secret} = TS#tsig_state.key, + {Alg,MACSize} = TS#tsig_state.alg, + Fudge = TS#tsig_state.fudge, + OtherLen = byte_size(OtherData), + MACState = crypto:mac_update(MACState0, if + TS#tsig_state.qr =< 1 -> + [ + %% TSIG RR + encode_name(Name), <>, <>, + %% TSIG RDATA + encode_name(inet_dns:encode_algname(Alg)), + <>, + OtherData + ]; + %% RFC8945, section 5.3.1: TSIG on TCP Connections + true -> + <> + end), + crypto:mac_finalN(MACState, MACSize). + +mac(Pkt, TS, Error, Now, OtherData) -> + MAC0 = mac0(TS), + MACN = macN(Pkt, TS#tsig_state{ mac = MAC0 }), + mac(TS#tsig_state{ mac = MACN }, Error, Now, OtherData). diff --git a/lib/kernel/src/inet_res.erl b/lib/kernel/src/inet_res.erl index 0fb46332f2c5..091ebef91c44 100644 --- a/lib/kernel/src/inet_res.erl +++ b/lib/kernel/src/inet_res.erl @@ -1094,11 +1094,16 @@ decode_answer(Answer, Q_Msg, Verbose) -> case inet_dns:decode(Answer) of {ok, #dns_rec{header = H, arlist = ARList} = Msg} -> ?verbose(Verbose, "Got reply: ~p~n", [dns_msg(Msg)]), + T = case lists:keyfind(dns_rr_tsig, 1, ARList) of + false -> false; + #dns_rr_tsig{error=?NOERROR} -> false; + #dns_rr_tsig{error=TsigError} -> TsigError + end, E = case lists:keyfind(dns_rr_opt, 1, ARList) of false -> 0; #dns_rr_opt{ext_rcode=ExtRCode} -> ExtRCode end, - RCode = (E bsl 4) bor H#dns_header.rcode, + RCode = T orelse (E bsl 4) bor H#dns_header.rcode, case RCode of ?NOERROR -> decode_answer_noerror(Q_Msg, Msg, H); ?FORMERR -> {error,{qfmterror,Msg}}; @@ -1106,7 +1111,16 @@ decode_answer(Answer, Q_Msg, Verbose) -> ?NXDOMAIN -> {error,{nxdomain,Msg}}; ?NOTIMP -> {error,{notimp,Msg}}; ?REFUSED -> {error,{refused,Msg}}; - ?BADVERS -> {error,{badvers,Msg}}; + ?YXDOMAIN -> {error,{yxdomain,Msg}}; + ?YXRRSET -> {error,{yxrrset,Msg}}; + ?NXRRSET -> {error,{nxrrset,Msg}}; + ?NOTAUTH -> {error,{noauth,Msg}}; + ?NOTZONE -> {error,{nozone,Msg}}; + ?BADVERS when not T -> {error,{badvers,Msg}}; + ?BADSIG -> {error,{badsig,Msg}}; + ?BADKEY -> {error,{badkey,Msg}}; + ?BADTIME -> {error,{badtime,Msg}}; + ?BADTRUNC -> {error,{badtrunc,Msg}}; _ -> {error,{unknown,Msg}} end; {error, formerr} = Error -> diff --git a/lib/kernel/src/kernel.app.src b/lib/kernel/src/kernel.app.src index 10705d9d765d..4ae0fb6bb520 100644 --- a/lib/kernel/src/kernel.app.src +++ b/lib/kernel/src/kernel.app.src @@ -104,6 +104,7 @@ inet, inet_db, inet_dns, + inet_dns_tsig, inet_parse, inet_res, inet_tcp, diff --git a/lib/kernel/src/kernel.appup.src b/lib/kernel/src/kernel.appup.src index 279d6989ea76..63aaa33c7ac6 100644 --- a/lib/kernel/src/kernel.appup.src +++ b/lib/kernel/src/kernel.appup.src @@ -52,7 +52,10 @@ {<<"^8\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^8\\.5\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^8\\.5\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^8\\.5\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]}], + {<<"^8\\.5\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^9\\.0$">>,[restart_new_emulator]}, + {<<"^9\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, + {<<"^9\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}], [{<<"^8\\.0$">>,[restart_new_emulator]}, {<<"^8\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^8\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, @@ -77,4 +80,7 @@ {<<"^8\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^8\\.5\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^8\\.5\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^8\\.5\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}. + {<<"^8\\.5\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^9\\.0$">>,[restart_new_emulator]}, + {<<"^9\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, + {<<"^9\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}. diff --git a/lib/kernel/src/logger_olp.erl b/lib/kernel/src/logger_olp.erl index 6bbf9963b66f..ca5242135c7e 100644 --- a/lib/kernel/src/logger_olp.erl +++ b/lib/kernel/src/logger_olp.erl @@ -473,7 +473,7 @@ check_load(State = #{id:=_Name, mode_ref := ModeRef, mode := Mode, sync_mode_qlen := SyncModeQLen, drop_mode_qlen := DropModeQLen, flush_qlen := FlushQLen}) -> - {_,Mem} = process_info(self(), memory), + Mem = maybe_self_memory(State), ?observe(_Name,{max_mem,Mem}), {_,QLen} = process_info(self(), message_queue_len), ?observe(_Name,{max_qlen,QLen}), @@ -507,6 +507,24 @@ check_load(State = #{id:=_Name, mode_ref := ModeRef, mode := Mode, ?update_other(flushes,FLUSHES,_NewFlushes, State4#{last_qlen => QLen})}. +%% Calling process_info(self(), memory) is linear on the size of the message queue, +%% which is an extremely bad thing to do in high load situations, so only do that +%% if the value actually is required. +-ifdef(OBSERVER_MOD). % does ?observe/2 use Mem +maybe_self_memory(_State) -> do_self_memory(). +-else. +-ifdef(SAVE_STATS). % does ?update_max_mem/2 use Mem +maybe_self_memory(_State) -> do_self_memory(). +-else. +maybe_self_memory(#{overload_kill_enable := KillIfOL}) -> % does kill_if_choked/3 use Mem + KillIfOL andalso do_self_memory(). % deliberate non-number if unused +-endif. +-endif. + +do_self_memory() -> + {_, Mem} = process_info(self(), memory), + Mem. + limit_burst(#{burst_limit_enable := false}=State) -> {true,State}; limit_burst(#{burst_win_ts := BurstWinT0, diff --git a/lib/kernel/src/net.erl b/lib/kernel/src/net.erl index 699524181b9f..5e94edff2f3b 100644 --- a/lib/kernel/src/net.erl +++ b/lib/kernel/src/net.erl @@ -90,7 +90,8 @@ -type ifaddrs_filter() :: all | default | inet | inet6 | packet | ifaddrs_filter_map() | ifaddrs_filter_fun(). --type ifaddrs_filter_map() :: #{family := default | inet | inet6 | packet | all, +-type ifaddrs_filter_map() :: #{family := default | local | + inet | inet6 | packet | all, flags := any | [ifaddrs_flag()]}. -type ifaddrs_filter_fun() :: fun((ifaddrs()) -> boolean()). diff --git a/lib/kernel/src/prim_tty.erl b/lib/kernel/src/prim_tty.erl index a03e746cc99f..463c9756f522 100644 --- a/lib/kernel/src/prim_tty.erl +++ b/lib/kernel/src/prim_tty.erl @@ -110,13 +110,15 @@ -export([reader_stop/1, disable_reader/1, enable_reader/1]). -nifs([isatty/1, tty_create/0, tty_init/3, tty_set/1, setlocale/1, - tty_select/3, tty_window_size/1, write_nif/2, read_nif/2, isprint/1, + tty_select/3, tty_window_size/1, tty_encoding/1, write_nif/2, read_nif/2, isprint/1, wcwidth/1, wcswidth/1, sizeof_wchar/0, tgetent_nif/1, tgetnum_nif/1, tgetflag_nif/1, tgetstr_nif/1, - tgoto_nif/2, tgoto_nif/3, tty_read_signal/2]). + tgoto_nif/1, tgoto_nif/2, tgoto_nif/3, tty_read_signal/2]). + +-export([reader_loop/6, writer_loop/2]). %% Exported in order to remove "unused function" warning --export([sizeof_wchar/0, wcswidth/1, tgoto/2, tgoto/3]). +-export([sizeof_wchar/0, wcswidth/1, tgoto/1, tgoto/2, tgoto/3]). %% proc_lib exports -export([reader/1, writer/1]). @@ -131,11 +133,11 @@ -endif. %% Copied from https://github.com/chalk/ansi-regex/blob/main/index.js -define(ANSI_REGEXP, <<"^[\e",194,155,"][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?",7,")|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))">>). --record(state, {tty, - reader, - writer, +-record(state, {tty :: tty() | undefined, + reader :: {pid(), reference()} | undefined, + writer :: {pid(), reference()} | undefined, options, - unicode, + unicode = true :: boolean(), lines_before = [], %% All lines before the current line in reverse order lines_after = [], %% All lines after the current line. buffer_before = [], %% Current line before cursor in reverse @@ -152,10 +154,10 @@ %% Tab to next 8 column windows is "\e[1I", for unix "ta" termcap tab = <<"\e[1I">>, delete_after_cursor = <<"\e[J">>, - insert = false, - delete = false, - position = <<"\e[6n">>, %% "u7" on my Linux - position_reply = <<"\e\\[([0-9]+);([0-9]+)R">>, + insert = false, %% Not used + delete = false, %% Not used + position = <<"\e[6n">>, %% "u7" on my Linux, Not used + position_reply = <<"\e\\[([0-9]+);([0-9]+)R">>, %% Not used ansi_regexp }). @@ -168,10 +170,10 @@ -type request() :: {putc_raw, binary()} | {putc, unicode:unicode_binary()} | - {putc_keep_state, unicode:unicode_binary()} | {expand, unicode:unicode_binary()} | {expand_with_trim, unicode:unicode_binary()} | {insert, unicode:unicode_binary()} | + {insert_over, unicode:unicode_binary()} | {delete, integer()} | delete_after_cursor | delete_line | @@ -184,6 +186,7 @@ {move_combo, integer(), integer(), integer()} | clear | beep. +-type tty() :: reference(). -opaque state() :: #state{}. -export_type([state/0]). @@ -218,7 +221,7 @@ init(UserOptions) when is_map(UserOptions) -> {ok, TTY} = tty_create(), %% Initialize the locale to see if we support utf-8 or not - UnicodeMode = + UnicodeSupported = case setlocale(TTY) of primitive -> lists:any( @@ -228,13 +231,21 @@ init(UserOptions) when is_map(UserOptions) -> UnicodeLocale when is_boolean(UnicodeLocale) -> UnicodeLocale end, + IOEncoding = application:get_env(kernel, standard_io_encoding, default), + UnicodeMode = if IOEncoding =:= latin1 -> false; + IOEncoding =:= unicode -> true; + true -> UnicodeSupported + end, {ok, ANSI_RE_MP} = re:compile(?ANSI_REGEXP, [unicode]), init_term(#state{ tty = TTY, unicode = UnicodeMode, options = Options, ansi_regexp = ANSI_RE_MP }). init_term(State = #state{ tty = TTY, options = Options }) -> TTYState = case maps:get(tty, Options) of true -> - ok = tty_init(TTY, stdout, Options), + case tty_init(TTY, stdout, Options) of + ok -> ok; + {error, enotsup} -> error(enotsup) + end, NewState = init(State, os:type()), ok = tty_set(TTY), NewState; @@ -252,7 +263,12 @@ init_term(State = #state{ tty = TTY, options = Options }) -> ReaderState = case {maps:get(input, Options), TTYState#state.reader} of {true, undefined} -> - {ok, Reader} = proc_lib:start_link(?MODULE, reader, [[State#state.tty, self()]]), + DefaultReaderEncoding = if State#state.unicode -> utf8; + not State#state.unicode -> latin1 + end, + {ok, Reader} = proc_lib:start_link( + ?MODULE, reader, + [[State#state.tty, DefaultReaderEncoding, self()]]), WriterState#state{ reader = Reader }; {true, _} -> WriterState; @@ -385,7 +401,8 @@ unicode(State) -> unicode(#state{ reader = Reader } = State, Bool) -> case Reader of {ReaderPid, _} -> - call(ReaderPid, {set_unicode_state, Bool}); + ReaderPid ! {set_unicode_state, Bool}, + ok; undefined -> ok end, @@ -421,23 +438,16 @@ call(Pid, Msg) -> {error, Reason} end. -reader([TTY, Parent]) -> +reader([TTY, Encoding, Parent]) -> register(user_drv_reader, self()), ReaderRef = make_ref(), SignalRef = make_ref(), + ok = tty_select(TTY, SignalRef, ReaderRef), proc_lib:init_ack({ok, {self(), ReaderRef}}), - FromEnc = case os:type() of - {unix, _} -> utf8; - {win32, _} -> - case isatty(stdin) of - true -> - {utf16, little}; - _ -> - %% When not reading from a console - %% the data read is utf8 encoded - utf8 - end + FromEnc = case tty_encoding(TTY) of + utf8 -> Encoding; + Else -> Else end, reader_loop(TTY, Parent, SignalRef, ReaderRef, FromEnc, <<>>). @@ -448,58 +458,74 @@ reader_loop(TTY, Parent, SignalRef, ReaderRef, FromEnc, Acc) -> receive {EnableAlias, enable} -> EnableAlias ! {EnableAlias, ok}, - reader_loop(TTY, Parent, SignalRef, ReaderRef, FromEnc, Acc) + ?MODULE:reader_loop(TTY, Parent, SignalRef, ReaderRef, FromEnc, Acc) end; {select, TTY, SignalRef, ready_input} -> {ok, Signal} = tty_read_signal(TTY, SignalRef), Parent ! {ReaderRef,{signal,Signal}}, - reader_loop(TTY, Parent, SignalRef, ReaderRef, FromEnc, Acc); - {Alias, {set_unicode_state, _}} when FromEnc =:= {utf16, little} -> - %% Ignore requests on windows - Alias ! {Alias, true}, - reader_loop(TTY, Parent, SignalRef, ReaderRef, FromEnc, Acc); - {Alias, {set_unicode_state, Bool}} -> - Alias ! {Alias, FromEnc =/= latin1}, + ?MODULE:reader_loop(TTY, Parent, SignalRef, ReaderRef, FromEnc, Acc); + {set_unicode_state, _} when FromEnc =:= {utf16, little} -> + ?MODULE:reader_loop(TTY, Parent, SignalRef, ReaderRef, FromEnc, Acc); + {set_unicode_state, Bool} -> NewFromEnc = if Bool -> utf8; not Bool -> latin1 end, - reader_loop(TTY, Parent, SignalRef, ReaderRef, NewFromEnc, Acc); + ?MODULE:reader_loop(TTY, Parent, SignalRef, ReaderRef, NewFromEnc, Acc); {_Alias, stop} -> ok; {select, TTY, ReaderRef, ready_input} -> + %% This call may block until data is available case read_nif(TTY, ReaderRef) of {error, closed} -> Parent ! {ReaderRef, eof}, ok; + {error, aborted} -> + %% The read operation was aborted. This only happens on + %% Windows when we change from "noshell" to "newshell". + %% When it happens we need to re-read the tty_encoding as + %% it has changed. + reader_loop(TTY, Parent, SignalRef, ReaderRef, tty_encoding(TTY), Acc); {ok, <<>>} -> %% EAGAIN or EINTR - reader_loop(TTY, Parent, SignalRef, ReaderRef, FromEnc, Acc); + ?MODULE:reader_loop(TTY, Parent, SignalRef, ReaderRef, FromEnc, Acc); {ok, UtfXBytes} -> + %% read_nif may have blocked for a long time, so we check if + %% there have been any changes to the unicode state before + %% decoding the data. + UpdatedFromEnc = flush_unicode_state(FromEnc), + {Bytes, NewAcc, NewFromEnc} = - case unicode:characters_to_binary([Acc, UtfXBytes], FromEnc, utf8) of + case unicode:characters_to_binary([Acc, UtfXBytes], UpdatedFromEnc, utf8) of {error, B, Error} -> %% We should only be able to get incorrect encoded data when - %% using utf8 (i.e. we are on unix) + %% using utf8 FromEnc = utf8, Parent ! {self(), set_unicode_state, false}, receive - {Alias, {set_unicode_state, false}} -> - Alias ! {Alias, true} - end, - receive - {Parent, set_unicode_state, true} -> ok + {set_unicode_state, false} -> + receive + {Parent, set_unicode_state, _} -> ok + end end, Latin1Chars = unicode:characters_to_binary(Error, latin1, utf8), {<>, <<>>, latin1}; {incomplete, B, Inc} -> - {B, Inc, FromEnc}; + {B, Inc, UpdatedFromEnc}; B when is_binary(B) -> - {B, <<>>, FromEnc} + {B, <<>>, UpdatedFromEnc} end, Parent ! {ReaderRef, {data, Bytes}}, - reader_loop(TTY, Parent, SignalRef, ReaderRef, NewFromEnc, NewAcc) + ?MODULE:reader_loop(TTY, Parent, SignalRef, ReaderRef, NewFromEnc, NewAcc) end end. +flush_unicode_state(FromEnc) -> + receive + {set_unicode_state, Bool} -> + flush_unicode_state(if Bool -> utf8; not Bool -> latin1 end) + after 0 -> + FromEnc + end. + writer(TTY) -> register(user_drv_writer, self()), WriterRef = make_ref(), @@ -518,18 +544,18 @@ write(#state{ writer = {WriterPid, _WriterRef}}, Chars, From) -> writer_loop(TTY, WriterRef) -> receive {write, []} -> - writer_loop(TTY, WriterRef); + ?MODULE:writer_loop(TTY, WriterRef); {write, Chars} -> _ = write_nif(TTY, Chars), - writer_loop(TTY, WriterRef); + ?MODULE:writer_loop(TTY, WriterRef); {write, From, []} -> From ! {WriterRef, ok}, - writer_loop(TTY, WriterRef); + ?MODULE:writer_loop(TTY, WriterRef); {write, From, Chars} -> case write_nif(TTY, Chars) of ok -> From ! {WriterRef, ok}, - writer_loop(TTY, WriterRef); + ?MODULE:writer_loop(TTY, WriterRef); {error, Reason} -> exit(self(), Reason) end @@ -541,7 +567,9 @@ handle_request(State = #state{ options = #{ tty := false } }, Request) -> {putc_raw, Binary} -> {Binary, State}; {putc, Binary} -> - {encode(Binary, State#state.unicode), State}; + {encode(Binary, State#state.unicode, false), State}; + {insert, Binary} -> + {encode(Binary, State#state.unicode, false), State}; beep -> {<<7>>, State}; _Ignore -> @@ -553,7 +581,7 @@ handle_request(State, {redraw_prompt, Pbs, Pbs2, {LB, {Bef, Aft}, LA}}) -> Text = Pbs ++ lists:flatten(lists:join("\n"++Pbs2, lists:reverse(LB)++[CL|LA])), Moves = if LA /= [] -> [Last|_] = lists:reverse(LA), - {move_combo, -logical(Last), length(LA), logical(Bef)}; + {move_combo, -logical(Last), -length(LA), logical(Bef)}; true -> {move, -logical(Aft)} end, @@ -566,20 +594,23 @@ handle_request(State, redraw_prompt) -> {Redraw, NewState} = handle_request(State, redraw_prompt_pre_deleted), {[ClearLine, Redraw], NewState}; handle_request(State = #state{unicode = U, cols = W}, redraw_prompt_pre_deleted) -> - {Movement, TextInView} = in_view(State), + {Movement, TextInView, EverythingFitsInView} = in_view(State), {_, NewPrompt} = handle_request(State, new_prompt), {Redraw, RedrawState} = insert_buf(NewPrompt#state{xn = false}, unicode:characters_to_binary(TextInView)), {Output, _} = case State#state.buffer_expand of undefined -> {[encode(Redraw, U), xnfix(RedrawState, RedrawState#state.buffer_before), Movement], RedrawState}; BufferExpand -> - BBCols = cols(State#state.buffer_before, U), - End = BBCols + cols(State#state.buffer_after,U), + %% If everything fits in the view, then we output the expand buffer after the whole expression. + Last = last_or_empty(State#state.lines_after), + End = case EverythingFitsInView of + true when Last =/= [] -> cols(Last, U); + _ -> cols(State#state.buffer_before, U) + cols(State#state.buffer_after,U) + end, {ExpandBuffer, NewState} = insert_buf(RedrawState#state{ buffer_expand = [] }, iolist_to_binary(BufferExpand)), BECols = cols(W, End, NewState#state.buffer_expand, U), MoveToEnd = move_cursor(RedrawState, BECols, End), {[encode(Redraw,U),encode(ExpandBuffer, U), MoveToEnd, Movement], RedrawState} - end, {Output, State}; %% Clear the expand buffer after the cursor when we handle any request. @@ -599,32 +630,30 @@ handle_request(State, {expand, Expand}) -> handle_request(State, {expand_with_trim, Binary}) -> handle_request(State, {expand, iolist_to_binary(["\r\n",string:trim(Binary, both)])}); -%% putc_keep_state prints Binary and keeps the current prompt unchanged -handle_request(State = #state{ unicode = U }, {putc_keep_state, Binary}) -> - {PutBuffer, _NewState} = insert_buf(State, Binary), - {encode(PutBuffer, U), State}; %% putc prints Binary and overwrites any existing characters handle_request(State = #state{ unicode = U }, {putc, Binary}) -> %% Todo should handle invalid unicode? - {PutBuffer, NewState} = insert_buf(State, Binary), - if NewState#state.buffer_after =:= [] -> - {encode(PutBuffer, U), NewState}; - true -> - %% Delete any overwritten characters after current the cursor - OldLength = logical(State#state.buffer_before) + lists:sum([logical(L) || L <- State#state.lines_before]), - NewLength = logical(NewState#state.buffer_before) + lists:sum([logical(L) || L <- NewState#state.lines_before]), - {_, _, _, NewBA} = split(NewLength - OldLength, NewState#state.buffer_after, U), - {encode(PutBuffer, U), NewState#state{ buffer_after = NewBA }} + %% print above the prompt if we have a prompt. + %% otherwise print on the current line. + case {State#state.lines_before,{State#state.buffer_before, State#state.buffer_after}, State#state.lines_after} of + {[],{[],[]},[]} -> + {PutBuffer, _} = insert_buf(State, Binary), + {[encode(PutBuffer, U)], State}; + _ -> + {Delete, DeletedState} = handle_request(State, delete_line), + {PutBuffer, _} = insert_buf(DeletedState, Binary), + {Redraw, _} = handle_request(State, redraw_prompt_pre_deleted), + {[Delete, encode(PutBuffer, U), Redraw], State} end; -handle_request(State, {putc_raw, Binary}) -> - handle_request(State, {putc, unicode:characters_to_binary(Binary, latin1)}); handle_request(State = #state{}, delete_after_cursor) -> {[State#state.delete_after_cursor], State#state{buffer_after = [], lines_after = []}}; +handle_request(State = #state{buffer_before = [], buffer_after = [], + lines_before = [], lines_after = []}, delete_line) -> + {[],State}; handle_request(State = #state{unicode = U, cols = W, buffer_before = Bef, - lines_before = LinesBefore, - lines_after = _LinesAfter}, delete_line) -> + lines_before = LinesBefore}, delete_line) -> MoveToBeg = move_cursor(State, cols_multiline(Bef, LinesBefore, W, U), 0), {[MoveToBeg, State#state.delete_after_cursor], State#state{buffer_before = [], @@ -703,7 +732,7 @@ handle_request(State = #state{ cols = W, Output = if %% When we move up and the view is "full" RowsInView >= R -> - {Movement, TextInView} = in_view(NewState), + {Movement, TextInView, _} = in_view(NewState), {ClearLine, Cleared} = handle_request(State, delete_line), {Redraw, _} = handle_request(Cleared, {insert, unicode:characters_to_binary(TextInView)}), [ClearLine, Redraw, Movement]; @@ -732,7 +761,7 @@ handle_request(State = #state{ cols = W, RowsInView = cols_multiline([A|NewLinesBefore], W, U) div W, Output = if RowsInView >= R -> - {Movement, TextInView} = in_view(NewState), + {Movement, TextInView, _} = in_view(NewState), {ClearLine, Cleared} = handle_request(State, delete_line), {Redraw, _} = handle_request(Cleared, {insert, unicode:characters_to_binary(TextInView)}), [ClearLine, Redraw, Movement]; @@ -755,6 +784,18 @@ handle_request(State = #state{ unicode = U }, {move, N}) when N > 0 -> buffer_before = NewBB ++ State#state.buffer_before} }; handle_request(State, {move, 0}) -> {"",State}; +handle_request(State = #state{ unicode = U }, {insert_over, Chars}) -> + %% Todo should handle invalid unicode? + {PutBuffer, NewState} = insert_buf(State, Chars), + if NewState#state.buffer_after =:= [] -> + {encode(PutBuffer, U), NewState}; + true -> + %% Delete any overwritten characters after current the cursor + OldLength = logical(State#state.buffer_before) + lists:sum([logical(L) || L <- State#state.lines_before]), + NewLength = logical(NewState#state.buffer_before) + lists:sum([logical(L) || L <- NewState#state.lines_before]), + {_, _, _, NewBA} = split(NewLength - OldLength, NewState#state.buffer_after, U), + {encode(PutBuffer, U), NewState#state{ buffer_after = NewBA }} + end; handle_request(State = #state{cols = W, xn = OrigXn, unicode = U,lines_after = LinesAfter}, {insert, Chars}) -> {InsertBuffer, NewState0} = insert_buf(State#state{ xn = false }, Chars), NewState1 = NewState0#state{ xn = OrigXn }, @@ -782,6 +823,10 @@ handle_request(State, Req) -> erlang:display({unhandled_request, Req}), {"", State}. +last_or_empty([]) -> []; +last_or_empty([H]) -> H; +last_or_empty(L) -> [H|_] = lists:reverse(L), H. + %% Split the buffer after N cols %% Returns the number of characters deleted, and the column length (N) %% of those characters. @@ -901,14 +946,14 @@ in_view(#state{lines_after = LinesAfter, buffer_before = Bef, buffer_after = Aft Movement = move_cursor(State, cols_after_cursor(State#state{lines_after = LAInViewLines++[lists:reverse(Bef, Aft)]}), cols(Bef,U)), - {Movement, Text}; + {Movement, Text, false}; true -> %% Everything fits in the current window, just output everything Movement = move_cursor(State, cols_after_cursor(State#state{lines_after = lists:reverse(LinesAfter)++[lists:reverse(Bef, Aft)]}), cols(Bef,U)), Text = lists:flatten([LB++"\n"||LB<-lists:reverse(LinesBefore)]) ++ lists:reverse(Bef,Aft) ++ lists:flatten(["\n"++LA||LA<-LinesAfter]), - {Movement, Text} + {Movement, Text, true} end. cols_after_cursor(#state{lines_after=[LAST|LinesAfter],cols=W, unicode=U}) -> cols_multiline(LAST, LinesAfter, W, U). @@ -992,7 +1037,7 @@ npwcwidth(Char, true) -> C -> C end; npwcwidth(Char, false) -> - byte_size(char_to_latin1(Char)). + byte_size(char_to_latin1(Char, true)). %% Return the xn fix for the current cursor position. @@ -1147,11 +1192,11 @@ ansi_sgr(<<$m, _Rest/binary>>, Size) -> {ok, Size + 1}; ansi_sgr(<<_/binary>>, _) -> none. --spec to_latin1(erlang:binary()) -> erlang:iovec(). -to_latin1(Bin) -> +-spec to_latin1(erlang:binary(), TTY :: boolean()) -> erlang:iovec(). +to_latin1(Bin, TTY) -> case is_usascii(Bin) of true -> [Bin]; - false -> lists:flatten([binary_to_latin1(Bin)]) + false -> lists:flatten([binary_to_latin1(Bin, TTY)]) end. is_usascii(<>) when Char < 128 -> @@ -1161,19 +1206,21 @@ is_usascii(<<>>) -> is_usascii(_) -> false. -binary_to_latin1(Buffer) -> - [char_to_latin1(CP) || CP <- unicode:characters_to_list(Buffer)]. -char_to_latin1(UnicodeChar) when UnicodeChar >= 512 -> +binary_to_latin1(Buffer, TTY) -> + [char_to_latin1(CP, TTY) || CP <- unicode:characters_to_list(Buffer)]. +char_to_latin1(UnicodeChar, _) when UnicodeChar >= 512 -> <<"\\x{",(integer_to_binary(UnicodeChar, 16))/binary,"}">>; -char_to_latin1(UnicodeChar) when UnicodeChar >= 128 -> +char_to_latin1(UnicodeChar, true) when UnicodeChar >= 128 -> <<"\\",(integer_to_binary(UnicodeChar, 8))/binary>>; -char_to_latin1(UnicodeChar) -> +char_to_latin1(UnicodeChar, _) -> <>. -encode(UnicodeChars, true) -> +encode(UnicodeChars, Unicode) -> + encode(UnicodeChars, Unicode, true). +encode(UnicodeChars, true, _) -> unicode:characters_to_binary(UnicodeChars); -encode(UnicodeChars, false) -> - to_latin1(unicode:characters_to_binary(UnicodeChars)). +encode(UnicodeChars, false, TTY) -> + to_latin1(unicode:characters_to_binary(UnicodeChars), TTY). %% Using get_position adds about 10ms of latency %% get_position(#state{ position = false }) -> @@ -1209,9 +1256,10 @@ dbg(_) -> -endif. %% Nif functions --spec isatty(stdin | stdout | stderr) -> boolean() | ebadf. +-spec isatty(stdin | stdout | stderr | tty()) -> boolean() | ebadf. isatty(_Fd) -> erlang:nif_error(undef). +-spec tty_create() -> {ok, tty()}. tty_create() -> erlang:nif_error(undef). tty_init(_TTY, _Fd, _Options) -> @@ -1222,6 +1270,8 @@ setlocale(_TTY) -> erlang:nif_error(undef). tty_select(_TTY, _SignalRef, _ReadRef) -> erlang:nif_error(undef). +tty_encoding(_TTY) -> + erlang:nif_error(undef). write_nif(_TTY, _IOVec) -> erlang:nif_error(undef). read_nif(_TTY, _Ref) -> @@ -1243,7 +1293,14 @@ tgetnum(Char) -> tgetflag(Char) -> tgetflag_nif([Char,0]). tgetstr(Char) -> - tgetstr_nif([Char,0]). + case tgetstr_nif([Char,0]) of + {ok, Str} -> + {ok, re:replace(Str, "\\$<[^>]*>","")}; + Error -> + Error + end. +tgoto(Char) -> + tgoto_nif([Char,0]). tgoto(Char, Arg) -> tgoto_nif([Char,0], Arg). tgoto(Char, Arg1, Arg2) -> @@ -1256,6 +1313,8 @@ tgetflag_nif(_Char) -> erlang:nif_error(undef). tgetstr_nif(_Char) -> erlang:nif_error(undef). +tgoto_nif(_Ent) -> + erlang:nif_error(undef). tgoto_nif(_Ent, _Arg) -> erlang:nif_error(undef). tgoto_nif(_Ent, _Arg1, _Arg2) -> diff --git a/lib/kernel/src/socket.erl b/lib/kernel/src/socket.erl index 02e199d08840..16defc349146 100644 --- a/lib/kernel/src/socket.erl +++ b/lib/kernel/src/socket.erl @@ -77,7 +77,9 @@ %% Misc utility functions -export([ - which_socket_kind/1 + which_socket_kind/1, + options/0, options/1, options/2, option/1, option/2, + protocols/0, protocol/1 ]). -export_type([ @@ -93,6 +95,7 @@ completion_info/0, invalid/0, + eei/0, socket_counters/0, socket_info/0, @@ -155,14 +158,21 @@ %% We need #file_descriptor{} for sendfile/2,3,4,5 -include("file_int.hrl"). +%% -include("socket_int.hrl"). -%% -define(DBG(T), erlang:display({{self(), ?MODULE, ?LINE, ?FUNCTION_NAME}, T})). +%% -define(DBG(T), +%% erlang:display({{self(), ?MODULE, ?LINE, ?FUNCTION_NAME}, T})). %% Also in prim_socket -define(REGISTRY, socket_registry). -type invalid() :: {invalid, What :: term()}. +%% Extended Error Information +-type eei() :: #{info := econnreset | econnaborted | + netname_deleted | too_many_cmds | atom(), + raw_info := term()}. + -type info() :: #{counters := #{atom() := non_neg_integer()}, iov_max := non_neg_integer(), @@ -415,14 +425,18 @@ acceptfilter | bindtodevice | broadcast | + bsp_state | busy_poll | debug | domain | dontroute | error | + exclusiveaddruse | keepalive | linger | mark | + maxdg | + max_msg_size | oobinline | passcred | peek_off | @@ -1395,6 +1409,34 @@ is_supported(options, Level, Opt) when is_atom(Level), is_atom(Opt) -> is_supported(options, {Level,Opt}). +options() -> + lists:sort(supports(options)). + +options(Level) -> + [{Opt, Supported} || {{Lvl, Opt}, Supported} <- options(), (Lvl =:= Level)]. + +options(Level, Supported) -> + [Opt || {Opt, Sup} <- options(Level), (Sup =:= Supported)]. + +option({Level, Opt}) -> + lists:member(Opt, options(Level, true)). +option(Level, Opt) -> + option({Level, Opt}). + + +protocols() -> + lists:sort(supports(protocols)). + +protocol(Proto) -> + case lists:keysearch(Proto, 1, protocols()) of + {value, {Proto, Supported}} -> + Supported; + false -> + false + end. + + + %% =========================================================================== %% %% The proper socket API @@ -1933,7 +1975,8 @@ send(Socket, Data) -> RestData :: binary(), SelectInfo :: select_info(), CompletionInfo :: completion_info(), - Reason :: posix() | 'closed' | invalid(); + Reason :: posix() | 'closed' | invalid() | + netname_deleted | too_many_cmds | eei(); (Socket, Data, Handle :: select_handle() | completion_handle()) -> 'ok' | @@ -1948,7 +1991,8 @@ send(Socket, Data) -> RestData :: binary(), SelectInfo :: select_info(), CompletionInfo :: completion_info(), - Reason :: posix() | 'closed' | invalid(); + Reason :: posix() | 'closed' | invalid() | + netname_deleted | too_many_cmds | eei(); (Socket, Data, Timeout :: 'infinity') -> 'ok' | @@ -1959,7 +2003,8 @@ send(Socket, Data) -> Socket :: socket(), Data :: iodata(), RestData :: binary(), - Reason :: posix() | 'closed' | invalid(); + Reason :: posix() | 'closed' | invalid() | + netname_deleted | too_many_cmds | eei(); (Socket, Data, Timeout :: non_neg_integer()) -> 'ok' | @@ -1970,7 +2015,8 @@ send(Socket, Data) -> Socket :: socket(), Data :: iodata(), RestData :: binary(), - Reason :: posix() | 'closed' | invalid(). + Reason :: posix() | 'closed' | invalid() | + netname_deleted | too_many_cmds | eei(). send(Socket, Data, Flags_Cont) when is_list(Flags_Cont); @@ -1994,7 +2040,8 @@ send(Socket, Data, Timeout) -> RestData :: binary(), SelectInfo :: select_info(), CompletionInfo :: completion_info(), - Reason :: posix() | 'closed' | invalid(); + Reason :: posix() | 'closed' | invalid() | + netname_deleted | too_many_cmds | eei(); (Socket, Data, Flags, Handle :: select_handle() | completion_handle()) -> 'ok' | @@ -2010,7 +2057,8 @@ send(Socket, Data, Timeout) -> RestData :: binary(), SelectInfo :: select_info(), CompletionInfo :: completion_info(), - Reason :: posix() | 'closed' | invalid(); + Reason :: posix() | 'closed' | invalid() | + netname_deleted | too_many_cmds | eei(); (Socket, Data, Flags, Timeout :: 'infinity') -> 'ok' | @@ -2022,7 +2070,8 @@ send(Socket, Data, Timeout) -> Data :: iodata(), Flags :: [msg_flag() | integer()], RestData :: binary(), - Reason :: posix() | 'closed' | invalid(); + Reason :: posix() | 'closed' | invalid() | + netname_deleted | too_many_cmds | eei(); (Socket, Data, Flags, Timeout :: non_neg_integer()) -> 'ok' | @@ -2034,7 +2083,8 @@ send(Socket, Data, Timeout) -> Data :: iodata(), Flags :: [msg_flag() | integer()], RestData :: binary(), - Reason :: posix() | 'closed' | invalid(); + Reason :: posix() | 'closed' | invalid() | + netname_deleted | too_many_cmds | eei(); (Socket, Data, Cont, SelectHandle :: 'nowait') -> 'ok' | @@ -2222,6 +2272,7 @@ send_common_deadline_result( ?socket_msg(_Socket, abort, {Handle, Reason}) -> send_common_error(Reason, Data, false) after Timeout -> + %% ?DBG(['completion send timeout - cancel']), _ = cancel(SockRef, Op, Handle), send_common_error(timeout, Data, false) end; @@ -4373,15 +4424,39 @@ peername(Socket) -> %% %% --spec ioctl(Socket, GetRequest) -> {'ok', IFConf} | {'error', Reason} when - Socket :: socket(), - GetRequest :: 'gifconf', - IFConf :: [#{name := string, addr := sockaddr()}], - Reason :: posix() | 'closed'. +-spec ioctl(Socket, GetRequest :: 'gifconf') -> + {'ok', IFConf :: [#{name := string, addr := sockaddr()}]} | + {'error', Reason} when + Socket :: socket(), + Reason :: posix() | 'closed'; + + (Socket, GetRequest :: 'nread' | 'nwrite' | 'nspace') -> + {'ok', NumBytes :: non_neg_integer()} | {'error', Reason} when + Socket :: socket(), + Reason :: posix() | 'closed'; + + (Socket, GetRequest :: 'atmark') -> + {'ok', Available :: boolean()} | {'error', Reason} when + Socket :: socket(), + Reason :: posix() | 'closed'; -%% gifconf | {gifaddr, string()} | {gifindex, string()} | {gifname, integer()} + (Socket, GetRequest :: 'tcp_info') -> + {'ok', Info :: map()} | {'error', Reason} when + Socket :: socket(), + Reason :: posix() | 'closed'. + +%% gifconf | nread | nwrite | nspace | atmark | +%% {gifaddr, string()} | {gifindex, string()} | {gifname, integer()} ioctl(?socket(SockRef), gifconf = GetRequest) -> prim_socket:ioctl(SockRef, GetRequest); +ioctl(?socket(SockRef), GetRequest) when (nread =:= GetRequest) orelse + (nwrite =:= GetRequest) orelse + (nspace =:= GetRequest) -> + prim_socket:ioctl(SockRef, GetRequest); +ioctl(?socket(SockRef), GetRequest) when (atmark =:= GetRequest) -> + prim_socket:ioctl(SockRef, GetRequest); +ioctl(Socket, GetRequest) when (tcp_info =:= GetRequest) -> + ioctl(Socket, GetRequest, 0); ioctl(Socket, GetRequest) -> erlang:error(badarg, [Socket, GetRequest]). @@ -4457,10 +4532,21 @@ ioctl(Socket, GetRequest) -> GetRequest :: 'gifname' | 'gifindex' | 'gifaddr' | 'gifdstaddr' | 'gifbrdaddr' | 'gifnetmask' | 'gifhwaddr' | - 'gifmtu' | 'giftxqlen' | 'gifflags', + 'gifmtu' | 'giftxqlen' | 'gifflags' | + 'tcp_info', NameOrIndex :: string() | integer(), Result :: term(), - Reason :: posix() | 'closed'. + Reason :: posix() | 'closed'; + (Socket, SetRequest, Value) -> ok | {'error', Reason} when + Socket :: socket(), + SetRequest :: 'rcvall', + Value :: off | on | iplevel, + Reason :: posix() | 'closed'; + (Socket, SetRequest, Value) -> ok | {'error', Reason} when + Socket :: socket(), + SetRequest :: 'rcvall_igmpmcast' | 'rcvall_mcast', + Value :: off | on, + Reason :: posix() | 'closed'. ioctl(?socket(SockRef), gifname = GetRequest, Index) when is_integer(Index) -> @@ -4495,8 +4581,25 @@ ioctl(?socket(SockRef), gifflags = GetRequest, Name) ioctl(?socket(SockRef), gifmap = GetRequest, Name) when is_list(Name) -> prim_socket:ioctl(SockRef, GetRequest, Name); -ioctl(Socket, GetRequest, Arg) -> - erlang:error(badarg, [Socket, GetRequest, Arg]). + +ioctl(?socket(SockRef), tcp_info = GetRequest, Version) + when (Version =:= 0) -> + prim_socket:ioctl(SockRef, GetRequest, Version); + +ioctl(?socket(SockRef), rcvall = SetRequest, Value) + when (Value =:= off) orelse + (Value =:= on) orelse + (Value =:= iplevel) -> + prim_socket:ioctl(SockRef, SetRequest, Value); +ioctl(?socket(SockRef), SetRequest, Value) + when ((SetRequest =:= rcvall_igmpmcast) orelse + (SetRequest =:= rcvall_mcast)) andalso + ((Value =:= off) orelse + (Value =:= on)) -> + prim_socket:ioctl(SockRef, SetRequest, Value); + +ioctl(Socket, Request, Arg) -> + erlang:error(badarg, [Socket, Request, Arg]). -spec ioctl(Socket, SetRequest, Name, Value) -> 'ok' | {'error', Reason} when @@ -4602,11 +4705,12 @@ cancel(SockRef, Op, Handle) -> _ = flush_abort_msg(SockRef, Handle), invalid; Result -> - %% Since we do not actually if we are using + %% Since we do not actually know if we are using %% select or completion here, so flush both... _ = flush_select_msg(SockRef, Handle), _ = flush_completion_msg(SockRef, Handle), _ = flush_abort_msg(SockRef, Handle), + %% ?DBG([{op, Op}, {result, Result}]), Result end. diff --git a/lib/kernel/src/socket_int.hrl b/lib/kernel/src/socket_int.hrl new file mode 100644 index 000000000000..033871517b8f --- /dev/null +++ b/lib/kernel/src/socket_int.hrl @@ -0,0 +1,50 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023-2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +%% +%% This is a set of (socket) utility macros and constants. +%% + +-define(ESOCK_SOCKET_TAG, '$socket'). + +-define(ESOCK_SOCKET_MSG(Socket, Tag, Info), + {?ESOCK_SOCKET_TAG, (Socket), (Tag), (Info)}). + +-define(ESOCK_ABORT_MSG(Sock, H, Reason), + %% {?ESOCK_SOCKET_TAG, (Sock), abort, {(H), (Reason)}}). + ?ESOCK_SOCKET_MSG(Sock, abort, {(H), (Reason)})). + +-define(ESOCK_SELECT_INFO(ST, SH), + {select_info, (ST), (SH)}). +-define(ESOCK_SELECT_INFO(SH), + ?ESOCK_SELECT_INFO(_, SH)). + +-define(ESOCK_SELECT_MSG(Sock, SH), + %% {'$socket', (Sock), select, (SH)}). + ?ESOCK_SOCKET_MSG(Sock, select, SH)). + +-define(ESOCK_COMPLETION_INFO(CT, CH), + {completion_info, (CT), (CH)}). +-define(ESOCK_COMPLETION_INFO(CH), + ?ESOCK_COMPLETION_INFO(_, CH)). + +-define(ESOCK_COMPLETION_MSG(Sock, CH, CS), + %% {'$socket', (Sock), completion, {(CH), (CS)}}). + ?ESOCK_SOCKET_MSG(Sock, completion, {(CH), (CS)})). diff --git a/lib/kernel/src/user_drv.erl b/lib/kernel/src/user_drv.erl index 25ebcbdd681b..329d19efc6a6 100644 --- a/lib/kernel/src/user_drv.erl +++ b/lib/kernel/src/user_drv.erl @@ -46,15 +46,14 @@ %% `{DrvPid :: pid(), set_unicode_state, SupportedUnicode :: boolean()}` {Sender :: pid(), set_unicode_state, boolean()}. -type request() :: - %% Put characters at current cursor position, - %% overwriting any characters it encounters. + %% Put characters above the prompt {put_chars, unicode, binary()} | %% Same as put_chars/3, but sends Reply to From when the characters are %% guaranteed to have been written to the terminal {put_chars_sync, unicode, binary(), {From :: pid(), Reply :: term()}} | %% Put text in expansion area - {put_expand} | - {put_expand_no_trim} | + {put_expand, unicode, binary()} | + {put_expand_no_trim, unicode, binary()} | %% Move the cursor X characters left or right (negative is left) {move_rel, -32768..32767} | %% Move the cursor Y rows up or down (negative is up) @@ -64,6 +63,9 @@ %% Insert characters at current cursor position moving any %% characters after the cursor. {insert_chars, unicode, binary()} | + %% Put characters at current cursor position, + %% overwriting any characters it encounters. + {insert_chars_over, unicode, binary()} | %% Delete X chars before or after the cursor adjusting any test remaining %% to the right of the cursor. {delete_chars, -32768..32767} | @@ -421,8 +423,7 @@ server({call, From}, {start_shell, _Args}, _State) -> keep_state_and_data; server(info, {ReadHandle,{data,UTF8Binary}}, State = #state{ read = ReadHandle }) when State#state.current_group =:= State#state.user -> - State#state.current_group ! - {self(), {data, unicode:characters_to_list(UTF8Binary, utf8)}}, + State#state.current_group ! {self(), {data,UTF8Binary}}, keep_state_and_data; server(info, {ReadHandle,{data,UTF8Binary}}, State = #state{ read = ReadHandle }) -> case contains_ctrl_g_or_ctrl_c(UTF8Binary) of @@ -435,7 +436,7 @@ server(info, {ReadHandle,{data,UTF8Binary}}, State = #state{ read = ReadHandle } keep_state_and_data; none -> State#state.current_group ! - {self(), {data, unicode:characters_to_list(UTF8Binary, utf8)}}, + {self(), {data, UTF8Binary}}, keep_state_and_data end; server(info, {ReadHandle,eof}, State = #state{ read = ReadHandle }) -> @@ -586,13 +587,13 @@ switch_loop(internal, init, State) -> end end, NewGroup = group:start(self(), {shell,start,[]}), - NewTTYState = io_requests([{put_chars,unicode,<<"\n">>}], State#state.tty), + NewTTYState = io_requests([{insert_chars,unicode,<<"\n">>}], State#state.tty), {next_state, server, State#state{ tty = NewTTYState, groups = gr_add_cur(Gr1, NewGroup, {shell,start,[]})}}; jcl -> NewTTYState = - io_requests([{put_chars,unicode,<<"\nUser switch command (type h for help)\n">>}], + io_requests([{insert_chars,unicode,<<"\nUser switch command (type h for help)\n">>}], State#state.tty), %% init edlin used by switch command and have it copy the %% text buffer from current group process @@ -612,22 +613,23 @@ switch_loop(internal, {line, Line}, State) -> put(current_group, Curr), Curr ! {self(), activate}, {next_state, server, - State#state{ current_group = Curr, groups = Groups }}; + State#state{ current_group = Curr, groups = Groups, + tty = io_requests([{insert_chars, unicode, <<"\n">>},new_prompt], State#state.tty)}}; {retry, Requests} -> - {keep_state, State#state{ tty = io_requests(Requests, State#state.tty) }, + {keep_state, State#state{ tty = io_requests([{insert_chars, unicode, <<"\n">>},new_prompt|Requests], State#state.tty) }, {next_event, internal, line}}; {retry, Requests, Groups} -> Curr = gr_cur_pid(Groups), put(current_group, Curr), {keep_state, State#state{ - tty = io_requests(Requests, State#state.tty), + tty = io_requests([{insert_chars, unicode, <<"\n">>},new_prompt|Requests], State#state.tty), current_group = Curr, groups = Groups }, {next_event, internal, line}} end; {error, _, _} -> NewTTYState = - io_requests([{put_chars,unicode,<<"Illegal input\n">>}], State#state.tty), + io_requests([{insert_chars,unicode,<<"Illegal input\n">>}], State#state.tty), {keep_state, State#state{ tty = NewTTYState }, {next_event, internal, line}} end; @@ -785,18 +787,12 @@ io_request(delete_after_cursor, TTY) -> write(prim_tty:handle_request(TTY, delete_after_cursor)); io_request(delete_line, TTY) -> write(prim_tty:handle_request(TTY, delete_line)); -io_request({put_chars_keep_state, unicode, Chars}, TTY) -> - write(prim_tty:handle_request(TTY, {putc_keep_state, unicode:characters_to_binary(Chars)})); io_request({put_chars, unicode, Chars}, TTY) -> write(prim_tty:handle_request(TTY, {putc, unicode:characters_to_binary(Chars)})); io_request({put_chars_sync, unicode, Chars, Reply}, TTY) -> {Output, NewTTY} = prim_tty:handle_request(TTY, {putc, unicode:characters_to_binary(Chars)}), {ok, MonitorRef} = prim_tty:write(NewTTY, Output, self()), {Reply, MonitorRef, NewTTY}; -io_request({put_chars_sync, latin1, Chars, Reply}, TTY) -> - {Output, NewTTY} = prim_tty:handle_request(TTY, {putc_raw, Chars}), - {ok, MonitorRef} = prim_tty:write(NewTTY, Output, self()), - {Reply, MonitorRef, NewTTY}; io_request({put_expand, unicode, Chars}, TTY) -> write(prim_tty:handle_request(TTY, {expand_with_trim, unicode:characters_to_binary(Chars)})); io_request({put_expand_no_trim, unicode, Chars}, TTY) -> @@ -809,6 +805,8 @@ io_request({move_combo, V1, R, V2}, TTY) -> write(prim_tty:handle_request(TTY, {move_combo, V1, R, V2})); io_request({insert_chars, unicode, Chars}, TTY) -> write(prim_tty:handle_request(TTY, {insert, unicode:characters_to_binary(Chars)})); +io_request({insert_chars_over, unicode, Chars}, TTY) -> + write(prim_tty:handle_request(TTY, {insert_over, unicode:characters_to_binary(Chars)})); io_request({delete_chars, N}, TTY) -> write(prim_tty:handle_request(TTY, {delete, N})); io_request(clear, TTY) -> diff --git a/lib/kernel/test/Makefile b/lib/kernel/test/Makefile index 0d88e3555e25..4bd7e24f6627 100644 --- a/lib/kernel/test/Makefile +++ b/lib/kernel/test/Makefile @@ -1,7 +1,7 @@ # # %CopyrightBegin% # -# Copyright Ericsson AB 1997-2022. All Rights Reserved. +# Copyright Ericsson AB 1997-2023. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -30,12 +30,15 @@ SOCKET_MODULES = \ socket_test_evaluator \ socket_test_ttest_lib \ socket_test_ttest_tcp_gen \ + socket_test_ttest_tcp_gs \ socket_test_ttest_tcp_socket \ socket_test_ttest_tcp_client \ socket_test_ttest_tcp_client_gen \ + socket_test_ttest_tcp_client_gs \ socket_test_ttest_tcp_client_socket \ socket_test_ttest_tcp_server \ socket_test_ttest_tcp_server_gen \ + socket_test_ttest_tcp_server_gs \ socket_test_ttest_tcp_server_socket \ socket_SUITE @@ -150,7 +153,7 @@ TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) INSTALL_PROGS= $(TARGET_FILES) EMAKEFILE=Emakefile -COVERFILE=kernel.cover logger.cover +COVERFILE=kernel.cover logger.cover tty.cover # ---------------------------------------------------- # Release directory specification @@ -214,7 +217,7 @@ release_tests_spec: make_emakefile $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)" $(INSTALL_DATA) $(APP_FILES) $(EXTRA_FILES) "$(RELSYSDIR)" $(INSTALL_DATA) \ - kernel.spec kernel_smoke.spec kernel_bench.spec logger.spec \ + kernel.spec kernel_smoke.spec kernel_bench.spec kernel_gh.spec logger.spec \ $(EMAKEFILE) $(COVERFILE) "$(RELSYSDIR)" chmod -R u+w "$(RELSYSDIR)" @tar cf - *_SUITE_data | (cd "$(RELSYSDIR)"; tar xf -) diff --git a/lib/kernel/test/esock_ttest/esock-ttest b/lib/kernel/test/esock_ttest/esock-ttest index 496c56135700..3126c34c55fd 100755 --- a/lib/kernel/test/esock_ttest/esock-ttest +++ b/lib/kernel/test/esock_ttest/esock-ttest @@ -3,7 +3,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2018-2021. All Rights Reserved. +%% Copyright Ericsson AB 2018-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -68,6 +68,7 @@ usage() -> "~n Defaults to: false" "~n --transport Which transport to use: gen|sock[:plain|msg]" "~n gen: gen_tcp" + "~n gs: gen_tcp with socket backend" "~n sock: socket" "~n plain: recv/send (default)" "~n msg: recvmsg/sendmsg" @@ -137,6 +138,8 @@ process_server_args(["--active", Active|Args], State) (Active =:= "true")) -> process_server_args(Args, State#{active => list_to_atom(Active)}); +process_server_args(["--transport", "gs" | Args], State) -> + process_server_args(Args, State#{transport => gs}); process_server_args(["--transport", "gen" | Args], State) -> process_server_args(Args, State#{transport => gen}); process_server_args(["--transport", "sock" | Args], State) -> @@ -178,6 +181,8 @@ process_client_args(["--active", Active|Args], State) process_client_args(["--transport", "gen" | Args], State) -> process_client_args(Args, State#{transport => gen}); +process_client_args(["--transport", "gs" | Args], State) -> + process_client_args(Args, State#{transport => gs}); process_client_args(["--transport", "sock" | Args], State) -> process_client_args(Args, State#{transport => {sock, plain}}); process_client_args(["--transport", "sock:plain" | Args], State) -> @@ -289,6 +294,23 @@ exec(#{role := server, "~n ~p", [Reason])), error end; +exec(#{role := server, + domain := Domain, + active := Active, + transport := gs}) + when (Domain =:= inet) orelse (Domain =:= inet6) -> + case socket_test_ttest_tcp_server_gs:start(Domain, Active) of + {ok, {Pid, _}} -> + MRef = erlang:monitor(process, Pid), + receive + {'DOWN', MRef, process, Pid, Info} -> + Info + end; + {error, Reason} -> + eprint(f("Failed starting server: " + "~n ~p", [Reason])), + error + end; exec(#{role := server, domain := Domain, async := Async, @@ -333,6 +355,29 @@ exec(#{role := client, "~n ~p", [Reason])), error end; +exec(#{role := client, + server := {_Addr, _Port} = ServerInfo, + active := Active, + transport := gs, + msg_id := MsgID, + max_outstanding := MaxOutstanding, + runtime := RunTime}) -> + case socket_test_ttest_tcp_client_gs:start(true, + ServerInfo, + Active, + MsgID, MaxOutstanding, + RunTime) of + {ok, Pid} -> + MRef = erlang:monitor(process, Pid), + receive + {'DOWN', MRef, process, Pid, Info} -> + Info + end; + {error, Reason} -> + eprint(f("Failed starting server: " + "~n ~p", [Reason])), + error + end; exec(#{role := client, server := ServerInfo, async := Async, diff --git a/lib/kernel/test/esock_ttest/esock-ttest-client b/lib/kernel/test/esock_ttest/esock-ttest-client index 7ff10b4d89d0..aff8e96fb1dc 100755 --- a/lib/kernel/test/esock_ttest/esock-ttest-client +++ b/lib/kernel/test/esock_ttest/esock-ttest-client @@ -3,7 +3,7 @@ # # %CopyrightBegin% # -# Copyright Ericsson AB 2019-2021. All Rights Reserved. +# Copyright Ericsson AB 2019-2023. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -24,10 +24,13 @@ # This is just a simple convenience wrapper to the esock-ttest. # That means that there are some options not available here. # +# Example: +# Assuming your pwd is $ERL_TOP +# (cd lib/kernel/test && ./esock_ttest/esock-ttest-client 1 1.2.3.4 11111) -EMU=$ERL_TOP/erts/emulator -EMU_TEST=$EMU/test -ESOCK_TTEST=$EMU_TEST/esock_ttest +KERNEL=$ERL_TOP/lib/kernel +KERNEL_TEST=$KERNEL/test +ESOCK_TTEST=$KERNEL_TEST/esock_ttest RUNTIME=30 # RUNTIME=60 @@ -41,6 +44,9 @@ if [ $# = 3 ]; then gen false $MSGID gen true $MSGID gen once $MSGID + gs false $MSGID + gs true $MSGID + gs once $MSGID sock false $MSGID --async sock true $MSGID --async sock once $MSGID --async" @@ -70,6 +76,9 @@ fi # gen false $MSGID # gen true $MSGID # gen once $MSGID +# gs false $MSGID +# gs true $MSGID +# gs once $MSGID # sock false $MSGID # sock true $MSGID # sock once $MSGID" @@ -88,5 +97,3 @@ echo "$ITERATIONS" | echo "" done - - diff --git a/lib/kernel/test/esock_ttest/esock-ttest-server-gen b/lib/kernel/test/esock_ttest/esock-ttest-server-gen index 6a160d0d36e6..2aa934cff99a 100755 --- a/lib/kernel/test/esock_ttest/esock-ttest-server-gen +++ b/lib/kernel/test/esock_ttest/esock-ttest-server-gen @@ -3,7 +3,7 @@ # # %CopyrightBegin% # -# Copyright Ericsson AB 2019-2021. All Rights Reserved. +# Copyright Ericsson AB 2019-2023. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -20,9 +20,9 @@ # %CopyrightEnd% # -EMU=$ERL_TOP/erts/emulator -EMU_TEST=$EMU/test -ESOCK_TTEST=$EMU_TEST/esock_ttest +KERNEL=$ERL_TOP/lib/kernel +KERNEL_TEST=$KERNEL/test +ESOCK_TTEST=$KERNEL_TEST/esock_ttest if [ $# = 1 ]; then ACTIVE="--active $1" diff --git a/lib/kernel/test/esock_ttest/esock-ttest-server-gs b/lib/kernel/test/esock_ttest/esock-ttest-server-gs new file mode 100755 index 000000000000..5f8fc283dcbd --- /dev/null +++ b/lib/kernel/test/esock_ttest/esock-ttest-server-gs @@ -0,0 +1,32 @@ +#!/bin/sh + +# +# %CopyrightBegin% +# +# Copyright Ericsson AB 2023-2023. All Rights Reserved. +# +# 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. +# +# %CopyrightEnd% +# + +KERNEL=$ERL_TOP/lib/kernel +KERNEL_TEST=$KERNEL/test +ESOCK_TTEST=$KERNEL_TEST/esock_ttest + +if [ $# = 1 ]; then + ACTIVE="--active $1" +fi + +$ESOCK_TTEST/esock-ttest --server --transport gs $ACTIVE + diff --git a/lib/kernel/test/esock_ttest/esock-ttest-server-sock b/lib/kernel/test/esock_ttest/esock-ttest-server-sock index ac4c489aecf9..d21b812103e3 100755 --- a/lib/kernel/test/esock_ttest/esock-ttest-server-sock +++ b/lib/kernel/test/esock_ttest/esock-ttest-server-sock @@ -3,7 +3,7 @@ # # %CopyrightBegin% # -# Copyright Ericsson AB 2019-2021. All Rights Reserved. +# Copyright Ericsson AB 2019-2023. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -20,9 +20,9 @@ # %CopyrightEnd% # -EMU=$ERL_TOP/erts/emulator -EMU_TEST=$EMU/test -ESOCK_TTEST=$EMU_TEST/esock_ttest +KERNEL=$ERL_TOP/lib/kernel +KERNEL_TEST=$KERNEL/test +ESOCK_TTEST=$KERNEL_TEST/esock_ttest # $1 - async - boolean() # $2 - active - once | boolean() diff --git a/lib/kernel/test/file_SUITE.erl b/lib/kernel/test/file_SUITE.erl index 42ff6517a2fc..7a2b0477e2d6 100644 --- a/lib/kernel/test/file_SUITE.erl +++ b/lib/kernel/test/file_SUITE.erl @@ -535,6 +535,9 @@ read_write_file(Config) when is_list(Config) -> {error, enoent} = ?FILE_MODULE:read_file(Name2), {error, enoent} = ?FILE_MODULE:read_file(""), {error, enoent} = ?FILE_MODULE:read_file(''), + {error, enoent} = ?FILE_MODULE:read_file(Name2, [raw]), + {error, enoent} = ?FILE_MODULE:read_file("", [raw]), + {error, enoent} = ?FILE_MODULE:read_file('', [raw]), %% Try writing to a bad filename {error, enoent} = do_read_write_file("", Bin2), @@ -559,12 +562,15 @@ do_read_write_file(Name, Data) -> ok -> BinData = iolist_to_binary(Data), {ok,BinData} = ?FILE_MODULE:read_file(Name), + {ok,BinData} = ?FILE_MODULE:read_file(Name, [raw]), ok = ?FILE_MODULE:write_file(Name, Data, []), {ok,BinData} = ?FILE_MODULE:read_file(Name), + {ok,BinData} = ?FILE_MODULE:read_file(Name, [raw]), ok = ?FILE_MODULE:write_file(Name, Data, [raw]), {ok,BinData} = ?FILE_MODULE:read_file(Name), + {ok,BinData} = ?FILE_MODULE:read_file(Name, [raw]), ok; {error,_}=Res -> @@ -2333,6 +2339,23 @@ delete(Config) when is_list(Config) -> {error, _} = ?FILE_MODULE:open(Name2, read), %% Try deleting a nonexistent file with the raw option {error, enoent} = ?FILE_MODULE:delete(Name2, [raw]), + + Name3 = filename:join(RootDir, + atom_to_list(?MODULE) + ++"_delete_3.fil"), + {ok, Fd5} = ?FILE_MODULE:open(Name3, write), + io:format(Fd5,"ok.\n",[]), + ok = ?FILE_MODULE:close(Fd5), + %% Check that the file is readable + {ok, Fd6} = ?FILE_MODULE:open(Name3, read), + ok = ?FILE_MODULE:close(Fd6), + %% Try deleting with no option, should be equivalent to delete/1 + ok = ?FILE_MODULE:delete(Name3, []), + %% Check that the file is not readable anymore + {error, _} = ?FILE_MODULE:open(Name3, read), + %% Try deleting a nonexistent file with no option + {error, enoent} = ?FILE_MODULE:delete(Name3, []), + [] = flush(), ok. diff --git a/lib/kernel/test/gen_tcp_api_SUITE.erl b/lib/kernel/test/gen_tcp_api_SUITE.erl index c2ab0c3df65f..e7af5051bfe0 100644 --- a/lib/kernel/test/gen_tcp_api_SUITE.erl +++ b/lib/kernel/test/gen_tcp_api_SUITE.erl @@ -234,14 +234,24 @@ init_per_group(inet_backend_socket = _GroupName, Config) -> [{socket_create_opts, [{inet_backend, socket}]} | Config] end; init_per_group(t_local = _GroupName, Config) -> - try gen_tcp:connect({local,<<"/">>}, 0, []) of - {error, eafnosupport} -> - {skip, "AF_LOCAL not supported"}; - {error,_} -> - Config - catch - _C:_E:_S -> - {skip, "AF_LOCAL not supported"} + case ?IS_SOCKET_BACKEND(Config) of + true -> + case ?LIB:has_support_unix_domain_socket() of + true -> + Config; + false -> + {skip, "AF_LOCAL not supported"} + end; + _ -> + try gen_tcp:connect({local,<<"/">>}, 0, []) of + {error, eafnosupport} -> + {skip, "AF_LOCAL not supported"}; + {error,_} -> + Config + catch + _C:_E:_S -> + {skip, "AF_LOCAL not supported"} + end end; init_per_group(sockaddr = _GroupName, Config) -> case is_socket_supported() of @@ -309,7 +319,21 @@ end_per_testcase(_Func, Config) -> %% Test that gen_tcp:accept/2 (with timeout) works. t_accept_timeout(Config) when is_list(Config) -> - {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config)), + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_accept_timeout(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, + Cond, Pre, TC, Post). + +do_accept_timeout(Config, Addr) -> + {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config) ++ [{ip, Addr}]), timeout({gen_tcp, accept, [L, 200]}, 0.2, 1.0). %%% gen_tcp:connect/X @@ -317,15 +341,29 @@ t_accept_timeout(Config) when is_list(Config) -> %% Test that gen_tcp:connect/4 (with timeout) works. t_connect_timeout(Config) when is_list(Config) -> - ?TC_TRY(t_connect_timeout, fun() -> do_connect_timeout(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_connect_timeout(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, + Cond, Pre, TC, Post). -do_connect_timeout(Config)-> +do_connect_timeout(Config, Addr)-> %%BadAddr = {134,138,177,16}, %%TcpPort = 80, {ok, BadAddr} = unused_ip(), TcpPort = 45638, ok = ?P("Connecting to ~p, port ~p", [BadAddr, TcpPort]), - connect_timeout({gen_tcp,connect, [BadAddr,TcpPort, ?INET_BACKEND_OPTS(Config),200]}, 0.2, 5.0). + connect_timeout({gen_tcp, connect, + [BadAddr,TcpPort, + ?INET_BACKEND_OPTS(Config) ++ [{ip, Addr}], 200]}, + 0.2, 5.0). %% Test that setting only the source port for a connection works. @@ -377,37 +415,78 @@ t_connect_bad(Config, Host, Port, Descr) -> %% Test that gen_tcp:recv/3 (with timeout works). t_recv_timeout(Config) when is_list(Config) -> - {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config)), - {ok, Port} = inet:port(L), - {ok, Client} = gen_tcp:connect(localhost, Port, + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + skip(Reason) + end + end, + TC = fun(Addr) -> do_recv_timeout(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, + Cond, Pre, TC, Post). + +do_recv_timeout(Config, Addr) -> + {ok, L} = gen_tcp:listen(0, + ?INET_BACKEND_OPTS(Config) ++ [{ip, Addr}]), + {ok, Port} = inet:port(L), + {ok, Client} = gen_tcp:connect(Addr, Port, ?INET_BACKEND_OPTS(Config) ++ - [{active, false}]), - {ok, _A} = gen_tcp:accept(L), + [{ip, Addr}, {active, false}]), + {ok, _A} = gen_tcp:accept(L), timeout({gen_tcp, recv, [Client, 0, 200]}, 0.2, 5.0). %% Test that end of file on a socket is reported correctly. t_recv_eof(Config) when is_list(Config) -> - {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config)), - {ok, Port} = inet:port(L), - {ok, Client} = gen_tcp:connect(localhost, Port, + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + skip(Reason) + end + end, + TC = fun(Addr) -> do_recv_eof(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, + Cond, Pre, TC, Post). + +do_recv_eof(Config, Addr) -> + {ok, L} = gen_tcp:listen(0, + ?INET_BACKEND_OPTS(Config) ++ [{ip, Addr}]), + {ok, Port} = inet:port(L), + {ok, Client} = gen_tcp:connect(Addr, Port, ?INET_BACKEND_OPTS(Config) ++ - [{active, false}]), - {ok, A} = gen_tcp:accept(L), - ok = gen_tcp:close(A), + [{ip, Addr}, {active, false}]), + {ok, A} = gen_tcp:accept(L), + ok = gen_tcp:close(A), {error, closed} = gen_tcp:recv(Client, 0), ok. %% Test using message delimiter $X. t_recv_delim(Config) when is_list(Config) -> - ?TC_TRY(t_recv_delim, fun() -> do_recv_delim(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + skip(Reason) + end + end, + TC = fun(Addr) -> do_recv_delim(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, + Cond, Pre, TC, Post). -do_recv_delim(Config) -> - ?P("init"), - {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config)), +do_recv_delim(Config, Addr) -> + ?P("create listen socket"), + {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config) ++ [{ip, Addr}]), {ok, Port} = inet:port(L), Opts = ?INET_BACKEND_OPTS(Config) ++ - [{active,false}, {packet,line}, {line_delimiter,$X}], - {ok, Client} = gen_tcp:connect(localhost, Port, Opts), + [{ip, Addr}, {active,false}, {packet,line}, {line_delimiter,$X}], + {ok, Client} = gen_tcp:connect(Addr, Port, Opts), {ok, A} = gen_tcp:accept(L), ?P("send the data"), @@ -441,13 +520,28 @@ do_recv_delim(Config) -> %%% gen_tcp:shutdown/2 t_shutdown_write(Config) when is_list(Config) -> + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + skip(Reason) + end + end, + TC = fun(Addr) -> do_shutdown_write(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, + Cond, Pre, TC, Post). + +do_shutdown_write(Config, Addr) -> ?P("create listen socket"), - {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config)), + {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config) ++ + [{ip, Addr}]), {ok, Port} = inet:port(L), ?P("create connect socket (C)"), - {ok, C} = gen_tcp:connect(localhost, Port, + {ok, C} = gen_tcp:connect(Addr, Port, ?INET_BACKEND_OPTS(Config) ++ - [{active, false}]), + [{ip, Addr}, {active, false}]), ?P("create accept socket (A)"), {ok, A} = gen_tcp:accept(L), ?P("send message A -> C"), @@ -462,13 +556,28 @@ t_shutdown_write(Config) when is_list(Config) -> ok. t_shutdown_both(Config) when is_list(Config) -> + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + skip(Reason) + end + end, + TC = fun(Addr) -> do_shutdown_both(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, + Cond, Pre, TC, Post). + +do_shutdown_both(Config, Addr) -> ?P("create listen socket"), - {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config)), + {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config) ++ + [{ip, Addr}]), {ok, Port} = inet:port(L), ?P("create connect socket (C)"), - {ok, C} = gen_tcp:connect(localhost, Port, + {ok, C} = gen_tcp:connect(Addr, Port, ?INET_BACKEND_OPTS(Config) ++ - [{active, false}]), + [{ip, Addr}, {active, false}]), ?P("create accept socket (A)"), {ok, A} = gen_tcp:accept(L), ?P("send message A -> C"), @@ -483,11 +592,22 @@ t_shutdown_both(Config) when is_list(Config) -> ok. t_shutdown_error(Config) when is_list(Config) -> - ?TC_TRY(t_shutdown_error, fun() -> do_shutdown_error(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + skip(Reason) + end + end, + TC = fun(Addr) -> do_shutdown_error(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, + Cond, Pre, TC, Post). -do_shutdown_error(Config) -> +do_shutdown_error(Config, Addr) -> ?P("create listen socket"), - {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config)), + {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config) ++ [{ip, Addr}]), ?P("shutdown socket (with How = read_write)"), {error, enotconn} = gen_tcp:shutdown(L, read_write), ?P("close socket"), @@ -498,26 +618,39 @@ do_shutdown_error(Config) -> ok. t_shutdown_async(Config) when is_list(Config) -> - ?TC_TRY(t_shutdown_async, fun() -> do_shutdown_async(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + skip(Reason) + end + end, + TC = fun(Addr) -> do_shutdown_async(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, + Cond, Pre, TC, Post). -do_shutdown_async(Config) -> +do_shutdown_async(Config, Addr) -> ?P("create listen socket"), - {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config) ++ [{sndbuf, 4096}]), + {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config) ++ + [{ip, Addr}, {sndbuf, 4096}]), if is_port(L) -> - do_shutdown_async2(Config, L); + do_shutdown_async2(Config, Addr, L); true -> (catch gen_tcp:close(L)), exit({skip, "inet-only testcase"}) end. -do_shutdown_async2(Config, L) -> +do_shutdown_async2(Config, Addr, L) -> {OS, _} = os:type(), {ok, Port} = inet:port(L), ?P("connect"), - {ok, Client} = gen_tcp:connect(localhost, Port, + {ok, Client} = gen_tcp:connect(Addr, Port, ?INET_BACKEND_OPTS(Config) ++ - [{recbuf, 4096}, + [{ip, Addr}, + {recbuf, 4096}, {active, false}]), ?P("accept connection"), {ok, S} = gen_tcp:accept(L), @@ -554,17 +687,33 @@ do_shutdown_async2(Config, L) -> %%% gen_tcp:fdopen/2 t_fdopen(Config) when is_list(Config) -> + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + skip(Reason) + end + end, + TC = fun(Addr) -> do_fdopen(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, + Cond, Pre, TC, Post). + +do_fdopen(Config, Addr) -> Question = "Aaaa... Long time ago in a small town in Germany,", Question1 = list_to_binary(Question), Question2 = [<<"Aaaa">>, "... ", $L, <<>>, $o, "ng time ago ", ["in ", [], <<"a small town">>, [" in Germany,", <<>>]]], Question1 = iolist_to_binary(Question2), Answer = "there was a shoemaker, Schumacher was his name.", - {ok, L} = gen_tcp:listen(0, ?INET_BACKEND_OPTS(Config) ++ [{active, false}]), + {ok, L} = gen_tcp:listen(0, + ?INET_BACKEND_OPTS(Config) ++ + [{ip, Addr}, {active, false}]), {ok, Port} = inet:port(L), - {ok, Client} = gen_tcp:connect(localhost, Port, + {ok, Client} = gen_tcp:connect(Addr, Port, ?INET_BACKEND_OPTS(Config) ++ - [{active, false}]), + [{ip, Addr}, {active, false}]), {A, FD} = case gen_tcp:accept(L) of {ok, ASock} when is_port(ASock) -> {ok, FileDesc} = prim_inet:getfd(ASock), @@ -577,7 +726,17 @@ t_fdopen(Config) when is_list(Config) -> ?P("fdopen -> accepted: " "~n A: ~p" "~n FD: ~p", [A, FD]), - {ok, Server} = gen_tcp:fdopen(FD, ?INET_BACKEND_OPTS(Config)), + {ok, Server} = try gen_tcp:fdopen(FD, ?INET_BACKEND_OPTS(Config)) of + {ok, _} = OK -> + OK; + {error, notsup = R} -> + %% This is not supported for 'socket on Windows' + skip({fdopen, R}) + catch + throw:{error, notsup = R} -> + %% This is not supported for 'socket on Windows' + skip({fdopen, R}) + end, ok = gen_tcp:send(Client, Question), {ok, Question} = gen_tcp:recv(Server, length(Question), 2000), ok = gen_tcp:send(Client, Question1), @@ -859,7 +1018,9 @@ t_local_basic(Config) -> t_local_unbound(Config) -> - ?TC_TRY(t_local_unbound, fun() -> do_local_unbound(Config) end). + ?TC_TRY(?FUNCTION_NAME, + fun() -> is_not_windows() end, + fun() -> do_local_unbound(Config) end). do_local_unbound(Config) -> ?P("create local (server) filename"), @@ -899,7 +1060,9 @@ do_local_unbound(Config) -> t_local_fdopen(Config) -> - ?TC_TRY(t_local_fdopen, fun() -> do_local_fdopen(Config) end). + ?TC_TRY(?FUNCTION_NAME, + fun() -> is_not_windows() end, + fun() -> do_local_fdopen(Config) end). do_local_fdopen(Config) -> ?P("create local (server) filename"), @@ -959,7 +1122,9 @@ do_local_fdopen(Config) -> ok. t_local_fdopen_listen(Config) -> - ?TC_TRY(t_local_fdopen_listen, fun() -> do_local_fdopen_listen(Config) end). + ?TC_TRY(?FUNCTION_NAME, + fun() -> is_not_windows() end, + fun() -> do_local_fdopen_listen(Config) end). do_local_fdopen_listen(Config) -> ?P("create local (server) filename"), @@ -1007,6 +1172,11 @@ do_local_fdopen_listen(Config) -> ok. t_local_fdopen_listen_unbound(Config) -> + ?TC_TRY(?FUNCTION_NAME, + fun() -> is_not_windows() end, + fun() -> do_local_fdopen_listen_unbound(Config) end). + +do_local_fdopen_listen_unbound(Config) -> SFile = local_filename(server), SAddr = {local,bin_filename(SFile)}, _ = file:delete(SFile), @@ -1029,6 +1199,11 @@ t_local_fdopen_listen_unbound(Config) -> ok. t_local_fdopen_connect(Config) -> + ?TC_TRY(?FUNCTION_NAME, + fun() -> is_not_windows() end, + fun() -> do_local_fdopen_connect(Config) end). + +do_local_fdopen_connect(Config) -> SFile = local_filename(server), SAddr = {local,bin_filename(SFile)}, CFile = local_filename(client), @@ -1055,6 +1230,11 @@ t_local_fdopen_connect(Config) -> ok. t_local_fdopen_connect_unbound(Config) -> + ?TC_TRY(?FUNCTION_NAME, + fun() -> is_not_windows() end, + fun() -> do_local_fdopen_connect_unbound(Config) end). + +do_local_fdopen_connect_unbound(Config) -> SFile = local_filename(server), SAddr = {local,bin_filename(SFile)}, _ = file:delete(SFile), @@ -1122,17 +1302,35 @@ do_local_abstract(Config) -> local_handshake(S, SAddr, C, CAddr) -> - ?P("~w(~p, ~p, ~p, ~p)~n", [?FUNCTION_NAME, S, SAddr, C, CAddr]), + ?P("~w -> entry with" + "~n Server Sock: ~p" + "~n Server Sock Info: ~p" + "~n Server Addr: ~p" + "~n Client Sock: ~p" + "~n Client Sock Info: ~p" + "~n Client Addr: ~p" + "~n", [?FUNCTION_NAME, + S, inet:info(S), SAddr, + C, inet:info(C), CAddr]), SData = "9876543210", CData = "0123456789", + ?P("~w -> verify server sockname", [?FUNCTION_NAME]), SAddr = ok(inet:sockname(S)), + ?P("~w -> verify client sockname", [?FUNCTION_NAME]), CAddr = ok(inet:sockname(C)), + ?P("~w -> verify server peername", [?FUNCTION_NAME]), CAddr = ok(inet:peername(S)), + ?P("~w -> verify client peername", [?FUNCTION_NAME]), SAddr = ok(inet:peername(C)), + ?P("~w -> send data on client socket", [?FUNCTION_NAME]), ok = gen_tcp:send(C, CData), + ?P("~w -> send data on server socket", [?FUNCTION_NAME]), ok = gen_tcp:send(S, SData), + ?P("~w -> recv data on server socket", [?FUNCTION_NAME]), CData = ok(gen_tcp:recv(S, length(CData))), + ?P("~w -> recv data on client socket", [?FUNCTION_NAME]), SData = ok(gen_tcp:recv(C, length(SData))), + ?P("~w -> done", [?FUNCTION_NAME]), ok. t_accept_inet6_tclass(Config) when is_list(Config) -> @@ -1358,20 +1556,30 @@ do_simple_sockaddr_send_recv(SockAddr, _) -> %% Note that since 'socket' currently does not work on windows %% we have to skip on that platform. s_accept_with_explicit_socket_backend(Config) when is_list(Config) -> - ?TC_TRY(s_accept_with_explicit_socket_backend, - fun() -> - is_socket_supported() - end, - fun() -> do_s_accept_with_explicit_socket_backend() end). + Cond = fun() -> + is_socket_supported() + end, + Pre = fun() -> + case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + skip(Reason) + end + end, + TC = fun(Addr) -> do_s_accept_with_explicit_socket_backend(Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, + Cond, Pre, TC, Post). -do_s_accept_with_explicit_socket_backend() -> +do_s_accept_with_explicit_socket_backend(Addr) -> ?P("try create listen socket"), - {ok, S} = gen_tcp:listen(0, [{inet_backend, socket}]), + {ok, S} = gen_tcp:listen(0, [{inet_backend, socket}, {ip, Addr}]), ?P("try get port number (via sockname)"), {ok, {_, Port}} = inet:sockname(S), ClientF = fun() -> ?P("[client] try connect (tp ~p)", [Port]), - {ok, _} = gen_tcp:connect("localhost", Port, []), + {ok, _} = gen_tcp:connect(Addr, Port, [{ip, Addr}]), ?P("[client] connected - wait for termination command"), receive die -> @@ -1394,11 +1602,7 @@ do_s_accept_with_explicit_socket_backend() -> is_socket_supported() -> try socket:info() of - #{io_backend := #{name := BackendName}} - when (BackendName =/= win_esaio) -> - ok; - _ -> - {skip, "Temporary exclusion"} + _ -> ok catch error : notsup -> {skip, "esock not supported"}; @@ -1516,23 +1720,58 @@ get_localaddr([Localhost|Ls]) -> getsockfd() -> undefined. closesockfd(_FD) -> undefined. +-define(WIN32_LOCAL_PRE, ""). +-define(UNIX_LOCAL_PRE, "/tmp/"). + local_filename(Tag) -> - "/tmp/" ?MODULE_STRING "_" ++ os:getpid() ++ "_" ++ atom_to_list(Tag). + {OSF, _} = os:type(), + local_filename(OSF, Tag). + +local_filename(win32, Tag) -> + local_filename(?WIN32_LOCAL_PRE, ".sock", Tag); +local_filename(_, Tag) -> + local_filename(?UNIX_LOCAL_PRE, "", Tag). + +local_filename(Pre, Post, Tag) -> + ?F("~s~s_~s_~w_~w~s", + [Pre, + ?MODULE_STRING,os:getpid(),erlang:system_time(millisecond),Tag, + Post]). + %% Pre ++ + %% ?MODULE_STRING "_" ++ os:getpid() ++ "_" ++ atom_to_list(Tag) ++ + %% Post. bin_filename(String) -> unicode:characters_to_binary(String, file:native_name_encoding()). delete_local_filenames() -> + {OSF, _} = os:type(), + delete_local_filenames(OSF). + +delete_local_filenames(win32) -> + do_delete_local_filenames(?WIN32_LOCAL_PRE); +delete_local_filenames(_) -> + do_delete_local_filenames(?UNIX_LOCAL_PRE). + +do_delete_local_filenames(Pre) -> _ = [file:delete(F) || F <- filelib:wildcard( - "/tmp/" ?MODULE_STRING "_" ++ os:getpid() ++ "_*")], + Pre ++ ?MODULE_STRING "_" ++ os:getpid() ++ "_*")], ok. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +is_not_windows() -> + case os:type() of + {win32, nt} -> + skip("This does not work on Windows"); + _ -> + ok + end. + is_net_supported() -> try net:info() of #{} -> diff --git a/lib/kernel/test/gen_tcp_misc_SUITE.erl b/lib/kernel/test/gen_tcp_misc_SUITE.erl index 7ccab1892c44..f92daaec70a3 100644 --- a/lib/kernel/test/gen_tcp_misc_SUITE.erl +++ b/lib/kernel/test/gen_tcp_misc_SUITE.erl @@ -17,6 +17,36 @@ %% %% %CopyrightEnd% %% + +%% Run the entire test suite: +%% ts:run(kernel, gen_tcp_misc_SUITE, [batch]). +%% +%% Run a specific group: +%% ts:run(kernel, gen_tcp_misc_SUITE, {group, foo}, [batch]). +%% +%% Run a specific test case: +%% ts:run(kernel, gen_tcp_misc_SUITE, foo, [batch]). +%% +%% (cd /mnt/c/$LOCAL_TESTS/26/kernel_test/ && $ERL_TOP/bin/win32/erl.exe -sname kernel-26-tester -pa c:$LOCAL_TESTS/26/test_server) +%% application:set_env(kernel, test_inet_backends, true). +%% S = fun() -> ts:run(kernel, gen_tcp_misc_SUITE, [batch]) end. +%% S = fun(SUITE) -> ts:run(kernel, SUITE, [batch]) end. +%% S = fun() -> ct:run_test([{suite, gen_tcp_misc_SUITE}]) end. +%% S = fun(SUITE) -> ct:run_test([{suite, SUITE}]) end. +%% G = fun(GROUP) -> ts:run(kernel, gen_tcp_misc_SUITE, {group, GROUP}, [batch]) end. +%% G = fun(SUITE, GROUP) -> ts:run(kernel, SUITE, {group, GROUP}, [batch]) end. +%% G = fun(GROUP) -> ct:run_test([{suite, gen_tcp_misc_SUITE}, {group, GROUP}]) end. +%% G = fun(SUITE, GROUP) -> ct:run_test([{suite, SUITE}, {group, GROUP}]) end. +%% T = fun(TC) -> ts:run(kernel, gen_tcp_misc_SUITE, TC, [batch]) end. +%% T = fun(TC) -> ct:run_test([{suite, gen_tcp_misc_SUITE}, {testcase, TC}]) end. +%% T = fun(TC) -> ct:run_test([{suite, gen_tcp_misc_SUITE}, {group, inet_backend_socket}, {testcase, TC}]) end. +%% T = fun(S, TC) -> ct:run_test([{suite, S}, {testcase, TC}]) end. +%% T = fun(S, G, TC) -> ct:run_test([{suite, S}, {group, G}, {testcase, TC}]) end. +%% +%% +%% + + -module(gen_tcp_misc_SUITE). -include_lib("common_test/include/ct.hrl"). @@ -29,7 +59,7 @@ no_accept/1, close_with_pending_output/1, active_n/1, active_n_closed/1, data_before_close/1, - iter_max_socks/0, iter_max_socks/1, + iter_max_socks/1, get_status/1, passive_sockets/1, accept_closed_by_other_process/1, init_per_testcase/2, end_per_testcase/2, @@ -75,19 +105,18 @@ socket_monitor2_manys/1, socket_monitor2_manyc/1, otp_17492/1, - otp_18357/1 + otp_18357/1, + otp_18707/1 ]). %% Internal exports. --export([sender/4, +-export([sender/5, not_owner/1, passive_sockets_server/3, - priority_server/2, + priority_server/3, %% oct_acceptor/1, otp_3924_sender/5, - otp_7731_server/2, - zombie_server/3, - do_iter_max_socks/3]). + zombie_server/4]). init_per_testcase(_Func, Config) -> ?P("init_per_testcase -> entry with" @@ -204,7 +233,8 @@ all_std_cases() -> otp_12242, delay_send_error, bidirectional_traffic, {group, socket_monitor}, - otp_17492 + otp_17492, + otp_18707 ]. ticket_cases() -> @@ -394,78 +424,88 @@ end_per_group(_GroupName, Config) -> %% Tests kernel application variables inet_default_listen_options and %% inet_default_connect_options. default_options(Config) when is_list(Config) -> - ?TC_TRY(default_options, fun() -> do_default_options(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_default_options(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_default_options(Config) -> +do_default_options(Config, Addr) -> %% First check the delay_send option - {true,true,true}=do_delay_send_1(Config), - {false,false,false}=do_delay_send_2(Config), - {true,false,false}=do_delay_send_3(Config), - {false,false,false}=do_delay_send_4(Config), - {false,false,false}=do_delay_send_5(Config), - {false,true,true}=do_delay_send_6(Config), + {true, true, true} = do_delay_send_1(Config, Addr), + {false, false, false} = do_delay_send_2(Config, Addr), + {true, false, false} = do_delay_send_3(Config, Addr), + {false, false, false} = do_delay_send_4(Config, Addr), + {false, false, false} = do_delay_send_5(Config, Addr), + {false, true, true} = do_delay_send_6(Config, Addr), %% Now lets start some nodes with different combinations of options: {true,true,true} = - do_delay_on_other_node("", fun() -> do_delay_send_1(Config) end), + do_delay_on_other_node("", fun() -> do_delay_send_1(Config, Addr) end), {true,false,false} = do_delay_on_other_node("-kernel inet_default_connect_options " "\"[{delay_send,true}]\"", - fun() -> do_delay_send_2(Config) end), + fun() -> do_delay_send_2(Config, Addr) end), {false,true,true} = do_delay_on_other_node("-kernel inet_default_listen_options " "\"[{delay_send,true}]\"", - fun() -> do_delay_send_2(Config) end), + fun() -> do_delay_send_2(Config, Addr) end), {true,true,true} = do_delay_on_other_node("-kernel inet_default_listen_options " "\"[{delay_send,true}]\"", - fun() -> do_delay_send_3(Config) end), + fun() -> do_delay_send_3(Config, Addr) end), {true,true,true} = do_delay_on_other_node("-kernel inet_default_connect_options " "\"[{delay_send,true}]\"", - fun() -> do_delay_send_6(Config) end), + fun() -> do_delay_send_6(Config, Addr) end), {false,false,false} = do_delay_on_other_node("-kernel inet_default_connect_options " "\"[{delay_send,true}]\"", - fun() -> do_delay_send_5(Config) end), + fun() -> do_delay_send_5(Config, Addr) end), {false,true,true} = do_delay_on_other_node("-kernel inet_default_connect_options " "\"[{delay_send,true}]\" " "-kernel inet_default_listen_options " "\"[{delay_send,true}]\"", - fun() -> do_delay_send_5(Config) end), + fun() -> do_delay_send_5(Config, Addr) end), {true,false,false} = do_delay_on_other_node("-kernel inet_default_connect_options " "\"[{delay_send,true}]\" " "-kernel inet_default_listen_options " "\"[{delay_send,true}]\"", - fun() -> do_delay_send_4(Config) end), + fun() -> do_delay_send_4(Config, Addr) end), {true,true,true} = do_delay_on_other_node("-kernel inet_default_connect_options " "\"{delay_send,true}\" " "-kernel inet_default_listen_options " "\"{delay_send,true}\"", - fun() -> do_delay_send_2(Config) end), + fun() -> do_delay_send_2(Config, Addr) end), %% Active is to dangerous and is suppressed {true,true,true} = do_delay_on_other_node("-kernel inet_default_connect_options " "\"{active,false}\" " "-kernel inet_default_listen_options " "\"{active,false}\"", - fun() -> do_delay_send_7(Config) end), + fun() -> do_delay_send_7(Config, Addr) end), {true,true,true} = do_delay_on_other_node("-kernel inet_default_connect_options " "\"[{active,false},{delay_send,true}]\" " "-kernel inet_default_listen_options " "\"[{active,false},{delay_send,true}]\"", - fun() -> do_delay_send_7(Config) end), + fun() -> do_delay_send_7(Config, Addr) end), {true,true,true} = do_delay_on_other_node("-kernel inet_default_connect_options " "\"[{active,false},{delay_send,true}]\" " "-kernel inet_default_listen_options " "\"[{active,false},{delay_send,true}]\"", - fun() -> do_delay_send_2(Config) end), + fun() -> do_delay_send_2(Config, Addr) end), ok. @@ -477,10 +517,10 @@ do_delay_on_other_node(XArgs, Function) -> ?STOP_NODE(Node), Res. -do_delay_send_1(Config) -> - {ok,LS} = ?LISTEN(Config, 0, [{delay_send,true}]), - {ok,{{0,0,0,0},PortNum}}=inet:sockname(LS), - S = case ?CONNECT(Config, "localhost", PortNum, [{delay_send,true}]) of +do_delay_send_1(Config, Addr) -> + {ok, LS} = ?LISTEN(Config, 0, [{ip, Addr}, {delay_send,true}]), + {ok, {_,PortNum}} = inet:sockname(LS), + S = case ?CONNECT(Config, Addr, PortNum, [{ip, Addr}, {delay_send,true}]) of {ok, Sock} -> Sock; {error, eaddrnotavail = Reason} -> @@ -495,10 +535,10 @@ do_delay_send_1(Config) -> gen_tcp:close(LS), {B1,B2,B3}. -do_delay_send_2(Config) -> - {ok, LS} = ?LISTEN(Config), - {ok, {{0,0,0,0},PortNum}} = inet:sockname(LS), - {ok, S} = ?CONNECT(Config, "localhost",PortNum,[]), +do_delay_send_2(Config, Addr) -> + {ok, LS} = ?LISTEN(Config, 0, [{ip, Addr}]), + {ok, {_, PortNum}} = inet:sockname(LS), + {ok, S} = ?CONNECT(Config, Addr, PortNum, [{ip, Addr}]), {ok, S2} = gen_tcp:accept(LS), {ok, [{delay_send,B1}]} = inet:getopts(S,[delay_send]), {ok, [{delay_send,B2}]} = inet:getopts(LS,[delay_send]), @@ -508,10 +548,10 @@ do_delay_send_2(Config) -> gen_tcp:close(LS), {B1,B2,B3}. -do_delay_send_3(Config) -> - {ok, LS} = ?LISTEN(Config, 0, []), - {ok,{{0,0,0,0},PortNum}}=inet:sockname(LS), - {ok,S} = ?CONNECT(Config, "localhost", PortNum, [{delay_send,true}]), +do_delay_send_3(Config, Addr) -> + {ok, LS} = ?LISTEN(Config, 0, [{ip, Addr}]), + {ok, {_, PortNum}} = inet:sockname(LS), + {ok,S} = ?CONNECT(Config, Addr, PortNum, [{ip, Addr}, {delay_send,true}]), {ok,S2}= gen_tcp:accept(LS), {ok,[{delay_send,B1}]}=inet:getopts(S,[delay_send]), {ok,[{delay_send,B2}]}=inet:getopts(LS,[delay_send]), @@ -521,11 +561,11 @@ do_delay_send_3(Config) -> gen_tcp:close(LS), {B1,B2,B3}. -do_delay_send_4(Config) -> - {ok,LS} = ?LISTEN(Config, 0, [{delay_send,false}]), - {ok,{{0,0,0,0},PortNum}}=inet:sockname(LS), - {ok,S} = ?CONNECT(Config, "localhost", PortNum, []), - {ok,S2}= gen_tcp:accept(LS), +do_delay_send_4(Config, Addr) -> + {ok, LS} = ?LISTEN(Config, 0, [{ip, Addr}, {delay_send,false}]), + {ok, {_, PortNum}} = inet:sockname(LS), + {ok, S} = ?CONNECT(Config, Addr, PortNum, [{ip, Addr}]), + {ok, S2} = gen_tcp:accept(LS), {ok,[{delay_send,B1}]}=inet:getopts(S,[delay_send]), {ok,[{delay_send,B2}]}=inet:getopts(LS,[delay_send]), {ok,[{delay_send,B3}]}=inet:getopts(S2,[delay_send]), @@ -534,11 +574,11 @@ do_delay_send_4(Config) -> gen_tcp:close(LS), {B1,B2,B3}. -do_delay_send_5(Config) -> - {ok,LS} = ?LISTEN(Config, 0, []), - {ok,{{0,0,0,0},PortNum}}=inet:sockname(LS), - {ok,S} = ?CONNECT(Config, "localhost",PortNum,[{delay_send,false}]), - {ok,S2}= gen_tcp:accept(LS), +do_delay_send_5(Config, Addr) -> + {ok, LS} = ?LISTEN(Config, 0, [{ip, Addr}]), + {ok, {_, PortNum}} = inet:sockname(LS), + {ok,S} = ?CONNECT(Config, Addr, PortNum, [{ip, Addr}, {delay_send,false}]), + {ok,S2} = gen_tcp:accept(LS), {ok,[{delay_send,B1}]}=inet:getopts(S,[delay_send]), {ok,[{delay_send,B2}]}=inet:getopts(LS,[delay_send]), {ok,[{delay_send,B3}]}=inet:getopts(S2,[delay_send]), @@ -547,11 +587,11 @@ do_delay_send_5(Config) -> gen_tcp:close(LS), {B1,B2,B3}. -do_delay_send_6(Config) -> - {ok,LS} = ?LISTEN(Config, 0, [{delay_send,true}]), - {ok,{{0,0,0,0},PortNum}}=inet:sockname(LS), - {ok,S} = ?CONNECT(Config, "localhost", PortNum, []), - {ok,S2}= gen_tcp:accept(LS), +do_delay_send_6(Config, Addr) -> + {ok, LS} = ?LISTEN(Config, 0, [{ip, Addr}, {delay_send,true}]), + {ok, {_, PortNum}} = inet:sockname(LS), + {ok, S} = ?CONNECT(Config, Addr, PortNum, [{ip, Addr}]), + {ok, S2} = gen_tcp:accept(LS), {ok,[{delay_send,B1}]}=inet:getopts(S,[delay_send]), {ok,[{delay_send,B2}]}=inet:getopts(LS,[delay_send]), {ok,[{delay_send,B3}]}=inet:getopts(S2,[delay_send]), @@ -560,11 +600,11 @@ do_delay_send_6(Config) -> gen_tcp:close(LS), {B1,B2,B3}. -do_delay_send_7(Config) -> - {ok,LS} = ?LISTEN(Config, 0, []), - {ok,{{0,0,0,0},PortNum}}=inet:sockname(LS), - {ok,S} = ?CONNECT(Config, "localhost", PortNum, []), - {ok,S2} = gen_tcp:accept(LS), +do_delay_send_7(Config, Addr) -> + {ok, LS} = ?LISTEN(Config, 0, [{ip, Addr}]), + {ok,{_, PortNum}} = inet:sockname(LS), + {ok,S} = ?CONNECT(Config, Addr, PortNum, [{ip, Addr}]), + {ok,S2} = gen_tcp:accept(LS), {ok,[{active,B1}]}=inet:getopts(S,[active]), {ok,[{active,B2}]}=inet:getopts(LS,[active]), {ok,[{active,B3}]}=inet:getopts(S2,[active]), @@ -577,7 +617,22 @@ do_delay_send_7(Config) -> %% The result should be ok of done by the owner process, %% Otherwise is should return {error,not_owner} or similar. controlling_process(Config) when is_list(Config) -> - {ok, S} = ?LISTEN(Config, 0,[]), + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_controlling_process(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). + +do_controlling_process(Config, Addr) -> + ?P("create listen socket with:" + "~n Addr: ~p", [Addr]), + {ok, S} = ?LISTEN(Config, 0, [{ip, Addr}]), Pid2 = spawn(?MODULE, not_owner, [S]), Pid2 ! {self(),2,control}, {error, E} = receive {2,_E} -> @@ -607,10 +662,23 @@ not_owner(S) -> %% Open a listen port and assign the controlling process to %% it self, then exit and make sure the port is closed properly. controlling_process_self(Config) when is_list(Config) -> + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_controlling_process_self(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). + +do_controlling_process_self(Config, Addr) -> S = self(), process_flag(trap_exit,true), spawn_link(fun() -> - {ok,Sock} = ?LISTEN(Config, 0, []), + {ok,Sock} = ?LISTEN(Config, 0, [{ip, Addr}]), S ! {socket, Sock}, ok = gen_tcp:controlling_process(Sock,self()), S ! done @@ -638,15 +706,31 @@ controlling_process_self(Config) when is_list(Config) -> %% without doing any accept. The connected socket should receive %% a tcp_closed message. no_accept(Config) when is_list(Config) -> - ?P("create listen socket"), + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_no_access(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). + +do_no_access(Config, Addr) -> + ?P("create listen socket with Addr: ~p", [Addr]), %% LOpts = [{debug, true}], LOpts = [], - {ok, L} = ?LISTEN(Config, 0, LOpts), + {ok, L} = ?LISTEN(Config, 0, [{ip, Addr} | LOpts]), {ok, {_, Port}} = inet:sockname(L), ?P("create connection socket"), %% COpts = [{debug, true}], COpts = [], - {ok, Client} = ?CONNECT(Config, localhost, Port, COpts), + ?P("connect to" + "~n Addr: ~p" + "~n Port: ~p", [Addr, Port]), + {ok, Client} = ?CONNECT(Config, Addr, Port, [{ip, Addr} | COpts]), ?P("close listen socket"), ok = gen_tcp:close(L), ?P("await connection socket closed"), @@ -666,17 +750,13 @@ close_with_pending_output(Config) when is_list(Config) -> "~n Config: ~p" "~n Nodes: ~p", [?FUNCTION_NAME, Config, nodes()]), Pre = fun() -> - ?P("~w:pre -> try start 'remote' node", [?FUNCTION_NAME]), - case start_remote(?FUNCTION_NAME, - ?WHICH_INET_BACKEND(Config)) of + ?P("~w:pre -> try start node", [?FUNCTION_NAME]), + case start_remote_node(?FUNCTION_NAME, + ?WHICH_INET_BACKEND(Config)) of {ok, Node} -> - ?P("~w:pre -> 'remote' node ~p started", + ?P("~w:pre -> node ~p started", [?FUNCTION_NAME, Node]), Node; - {error, no_remote_hosts} -> - ?P("~w:pre -> [ERROR] no remote hosts", - [?FUNCTION_NAME]), - ?SKIPT("No remote hosts"); {error, {no_connection,timeout}} -> ?P("~w:pre -> [ERROR] no connection : timeout", [?FUNCTION_NAME]), @@ -700,72 +780,163 @@ close_with_pending_output(Config) when is_list(Config) -> ?TC_TRY(?FUNCTION_NAME, Pre, TC, Post). do_close_with_pending_output(Node, Config) -> + {ok, Addr} = ?WHICH_LOCAL_ADDR(inet), ?P("~w -> try create listen socket", [?FUNCTION_NAME]), - {ok, L} = ?LISTEN(Config, 0, [binary, {active, false}]), - ?P("~w -> try get hostname", [?FUNCTION_NAME]), - {ok, Host} = inet:gethostname(), + {ok, L} = ?LISTEN(Config, 0, [binary, {ip, Addr}, {active, false}]), ?P("~w -> try get port", [?FUNCTION_NAME]), {ok, {_, Port}} = inet:sockname(L), Packets = 16, Total = 2048*Packets, - ?P("~w -> try spawn sender", [?FUNCTION_NAME]), - spawn_link(Node, ?MODULE, sender, [Config, Port, Packets, Host]), - ?P("~w -> sender spawned - accept connection", [?FUNCTION_NAME]), - {ok, A} = gen_tcp:accept(L), - ?P("~w -> connection accepted - recv ~w data", [?FUNCTION_NAME, Total]), - %% ok = inet:setopts(A, [{debug, true}]), - case gen_tcp:recv(A, Total) of - {ok, Bin} when byte_size(Bin) == Total -> - ?P("~w -> [OK] received expected ~w bytes of data - " - "close sockets", [?FUNCTION_NAME, Total]), - gen_tcp:close(A), - gen_tcp:close(L), - ?P("~w -> [OK] done", [?FUNCTION_NAME]), - ok; - {ok, Bin} -> - ?P("~w -> [ERROR] unexpected amount of data recv - " - "close sockets: " - "~n Expected: ~p" - "~n Received: ~p", - [?FUNCTION_NAME, Total, byte_size(Bin)]), - gen_tcp:close(A), - gen_tcp:close(L), - ?P("~w -> [ERROR] done", [?FUNCTION_NAME]), - ct:fail({small_packet, byte_size(Bin)}); - Error -> - ?P("~w -> [ERROR] recv failed - " - "close sockets: " - "~n Error: ~p", [?FUNCTION_NAME, Error]), - (catch gen_tcp:close(A)), - (catch gen_tcp:close(L)), - ?P("~w -> [ERROR] done", [?FUNCTION_NAME]), - ct:fail({unexpected, Error}) - end. + Self = self(), + + ?P("~w -> try spawn sender (on ~p): " + "~n Config: ~p" + "~n Addr: ~p" + "~n Port: ~p" + "~n packets: ~p", [?FUNCTION_NAME, Node, Config, Addr, Port, Packets]), + Sender = spawn_link(Node, ?MODULE, sender, + [Config, Self, Addr, Port, Packets]), + ?P("~w -> sender spawned (~p) - spawn reader", + [?FUNCTION_NAME, Sender]), + Reader = spawn_link( + fun() -> + Self ! {self(), "Starting - try accept"}, + {ok, A} = gen_tcp:accept(L), + ?P("~w -> connection accepted - recv ~w data", + [?FUNCTION_NAME, Total]), + ok = inet:setopts(A, [{debug, true}]), + Self ! {self(), "Accepted - try read"}, + case gen_tcp:recv(A, Total) of + {ok, Bin} when (byte_size(Bin) =:= Total) -> + ?P("~w -> [OK] received expected ~w " + "bytes of data - " + "close sockets", [?FUNCTION_NAME, Total]), + ok = inet:setopts(A, [{debug, false}]), + Self ! {self(), "read - expected amount of data - close socket(s)"}, + gen_tcp:close(A), + gen_tcp:close(L), + ?P("~w -> [OK] done", [?FUNCTION_NAME]), + exit(ok); + {ok, Bin} -> + ?P("~w -> [ERROR] unexpected amount " + "of data recv - " + "close sockets: " + "~n Expected: ~p" + "~n Received: ~p", + [?FUNCTION_NAME, Total, byte_size(Bin)]), + ok = inet:setopts(A, [{debug, false}]), + Self ! {self(), "read - *unexpected* amount of data - close socket(s)"}, + gen_tcp:close(A), + gen_tcp:close(L), + ?P("~w -> [ERROR] done", [?FUNCTION_NAME]), + ct:fail({small_packet, byte_size(Bin)}); + Error -> + ?P("~w -> [ERROR] recv failed - " + "close sockets: " + "~n Error: ~p", [?FUNCTION_NAME, Error]), + ok = inet:setopts(A, [{debug, false}]), + Self ! {self(), ?P("read failed - ~p - close socket(s)", [Error])}, + (catch gen_tcp:close(A)), + (catch gen_tcp:close(L)), + ?P("~w -> [ERROR] done", [?FUNCTION_NAME]), + ct:fail({unexpected, Error}) + end + end + ), + await_reader_result(Node, Sender, Reader). + + +await_reader_result(Node, Sender, Reader) -> + erlang:monitor_node(Node, true), + do_await_reader_result(Node, Sender, Reader). +do_await_reader_result(Node, Sender, Reader) -> + receive + {'EXIT', Reader, ok} -> + ?P("reader terminated with success"), + ok; + {'EXIT', Reader, RError} -> + ?P("reader terminated with failure: " + "~n ~p", [RError]), + ct:fail({reader, RError}); + + {'EXIT', Sender, ok} -> + ?P("sender terminated with success"), + do_await_reader_result(Node, undefined, Reader); + {'EXIT', Sender, SError} -> + ?P("sender terminated with failure: " + "~n ~p", [SError]), + ct:fail({sender, SError}); + + {nodedown, Node} = NODEDOWN -> + ?P("sender node down"), + ct:fail(NODEDOWN); + + {Sender, Msg} -> + ?P("sender: ~s~n", [Msg]), + do_await_reader_result(Node, Sender, Reader); + + {Reader, Msg} -> + ?P("reader: ~s~n", [Msg]), + do_await_reader_result(Node, Sender, Reader) + end. -sender(Config, Port, Packets, Host) -> - X256 = lists:seq(0, 255), - X512 = [X256|X256], - X1K = [X512|X512], - Bin = list_to_binary([X1K|X1K]), - {ok, Sock} = ?CONNECT(Config, Host, Port, []), - send_loop(Sock, Bin, Packets), - ok = gen_tcp:close(Sock). +sender(Config, Parent, ServerAddr, ServerPort, Packets) -> + Parent ! {self(), "starting - get local address"}, + case ?WHICH_LOCAL_ADDR(inet) of + {ok, LocalAddr} -> + Parent ! {self(), ?P("got local address ~p", [LocalAddr])}, + X256 = lists:seq(0, 255), + X512 = [X256|X256], + X1K = [X512|X512], + Bin = list_to_binary([X1K|X1K]), + Parent ! {self(), "try connect to server"}, + {ok, Sock} = ?CONNECT(Config, ServerAddr, ServerPort, + [{ip, LocalAddr}]), + Parent ! {self(), "connected - begin sending"}, + send_loop(Sock, Bin, Packets), + Parent ! {self(), "sent - close socket"}, + ok = gen_tcp:close(Sock), + Parent ! {self(), "done"}, + exit(ok); + Else -> + exit({skip, ?F("Failed get local address: ~p", [Else])}) + end. send_loop(_Sock, _Data, 0) -> ok; send_loop(Sock, Data, Left) -> - ok = gen_tcp:send(Sock, Data), + %% ok = gen_tcp:send(Sock, Data), + case gen_tcp:send(Sock, Data) of + ok -> + ok; + {error, Reason} -> + ?P("[send_loop] failed send data when:" + "~n Left: ~p" + "~n Reason: ~p" + "~n Socket Info: ~p", [Left, Reason, (catch inet:info(Sock))]), + exit({failed_send, Left, Reason}) + end, send_loop(Sock, Data, Left-1). %% Test {active,N} option %% Verify operation of the {active,N} option. active_n(Config) when is_list(Config) -> - ?TC_TRY(active_n, fun() -> do_active_n(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_active_n(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_active_n(Config) -> +do_active_n(Config, Addr) -> N = 3, - LS = ok(?LISTEN(Config, 0, [{active,N}])), + LS = ok(?LISTEN(Config, 0, [{active,N}, {ip, Addr}])), [{active,N}] = ok(inet:getopts(LS, [active])), %% ok = inet:setopts(LS, [{active,-N}]), %% The point of this is to "demonstrate" that its possible to @@ -819,7 +990,7 @@ do_active_n(Config) -> ok = inet:setopts(LS, [{active,false}]), [{active,false}] = ok(inet:getopts(LS, [active])), Port = ok(inet:port(LS)), - C = case ?CONNECT(Config, "localhost", Port, [{active,N}]) of + C = case ?CONNECT(Config, Addr, Port, [{active,N}, {ip, Addr}]) of {ok, CS} -> CS; {error, eaddrnotavail = Reason} -> @@ -862,7 +1033,7 @@ do_active_n(Config) -> 5000 -> exit({error,tcp_passive}) end, - LS2 = ok(?LISTEN(Config, 0, [{active,0}])), + LS2 = ok(?LISTEN(Config, 0, [{ip, Addr}, {active,0}])), receive {tcp_passive,LS2} -> [{active,false}] = ok(inet:getopts(LS2, [active])) @@ -902,6 +1073,13 @@ otp_3924(Config) when is_list(Config) -> end end, Pre = fun() -> + ?P("~w:pre -> which local address", [?FUNCTION_NAME]), + Addr = case ?WHICH_LOCAL_ADDR(inet) of + {ok, A} -> + A; + {error, Reason} -> + throw({skip, Reason}) + end, ?P("~w:pre -> calculate max delay", [?FUNCTION_NAME]), MaxDelay = (case has_superfluous_schedulers() of true -> 4; @@ -914,15 +1092,19 @@ otp_3924(Config) when is_list(Config) -> _ -> 1 end * ?OTP_3924_MAX_DELAY), ?P("~w:pre -> try start node", [?FUNCTION_NAME]), - {ok, Node} = start_node(otp_3924), + {ok, Node} = start_node(?UNIQ_NODE_NAME), ?P("~w:pre -> done with: " "~n Node: ~p" "~n MaxDelay: ~p", [?FUNCTION_NAME, Node, MaxDelay]), - {Node, MaxDelay} + #{addr => Addr, + node => Node, + max_delay => MaxDelay} end, - TC = fun({Node, MaxDelay}) -> + TC = fun(#{addr := Addr, + node := Node, + max_delay := MaxDelay}) -> ?P("~w:tc -> begin", [?FUNCTION_NAME]), - Res = do_otp_3924(Config, Node, MaxDelay), + Res = do_otp_3924(Config, Addr, Node, MaxDelay), ?P("~w:tc -> done", [?FUNCTION_NAME]), Res end, @@ -932,24 +1114,23 @@ otp_3924(Config) when is_list(Config) -> end, ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_otp_3924(Config, Node, MaxDelay) -> +do_otp_3924(Config, Addr, Node, MaxDelay) -> DataLen = 100*1024, Data = otp_3924_data(DataLen), %% Repeat the test a couple of times to prevent the test from passing %% by chance. repeat(10, fun(N) -> - ok = otp_3924(Config, MaxDelay, Node, Data, DataLen, N) + ok = otp_3924(Config, Addr, MaxDelay, Node, Data, DataLen, N) end), ok. -otp_3924(Config, MaxDelay, Node, Data, DataLen, N) -> - {ok, L} = ?LISTEN(Config, 0, [list, {active, false}]), +otp_3924(Config, Addr, MaxDelay, Node, Data, DataLen, N) -> + {ok, L} = ?LISTEN(Config, 0, [list, {ip, Addr}, {active, false}]), {ok, {_, Port}} = inet:sockname(L), - {ok, Host} = inet:gethostname(), - Sender = spawn_link(Node, - ?MODULE, - otp_3924_sender, - [Config, self(), Host, Port, Data]), + Sender = spawn_link(Node, + ?MODULE, + otp_3924_sender, + [Config, self(), Addr, Port, Data]), Data = otp_3924_receive_data(L, Sender, MaxDelay, DataLen, N), ok = gen_tcp:close(L). @@ -1033,28 +1214,54 @@ otp_3924_data(_, Acc, 0, SingleLeft) -> otp_3924_data(Block, Acc, BlockLeft, SingleLeft) -> otp_3924_data(Block, [Block|Acc], BlockLeft-1, SingleLeft). -otp_3924_sender(Config, Receiver, Host, Port, Data) -> +otp_3924_sender(Config, Receiver, Addr, Port, Data) -> receive start -> - {ok, Sock} = ?CONNECT(Config, Host, Port, [list]), - gen_tcp:send(Sock, Data), - ok = gen_tcp:close(Sock), - unlink(Receiver) + %% {ok, Sock} = ?CONNECT(Config, Addr, Port, [list, {ip, Addr}]), + case ?CONNECT(Config, Addr, Port, [list, {ip, Addr}]) of + {ok, Sock} -> + gen_tcp:send(Sock, Data), + ok = gen_tcp:close(Sock), + unlink(Receiver); + {error, eaddrinuse = Reason} -> + exit({skip, Reason}) + end end. %% Tests that a huge amount of data can be received before a close. data_before_close(Config) when is_list(Config) -> - {ok, L} = ?LISTEN(Config, 0, [binary]), + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_data_before_close(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). + +do_data_before_close(Config, Addr) -> + ?P("create listen socket"), + {ok, L} = ?LISTEN(Config, 0, [binary, {ip, Addr}]), {ok, {_, TcpPort}} = inet:sockname(L), Bytes = 256*1024, - spawn_link(fun() -> huge_sender(Config, TcpPort, Bytes) end), + ?P("create 'huge sender' process"), + spawn_link(fun() -> huge_sender(Config, Addr, TcpPort, Bytes) end), + ?P("accept connection"), {ok, A} = gen_tcp:accept(L), + ?P("receive and count data"), case count_bytes_recv(A, 0) of {Bytes, Result} -> - io:format("Result: ~p", [Result]); + ?P("Success: " + "~n Result: ~p", [Result]); {Wrong, Result} -> - io:format("Result: ~p", [Result]), + ?P("Wrong Number of Bytes:" + "~n Expected: ~p" + "~n Got: ~p" + "~n Result: ~p", [Bytes, Wrong, Result]), ct:fail({wrong_count, Wrong}) end, ok. @@ -1062,16 +1269,37 @@ data_before_close(Config) when is_list(Config) -> count_bytes_recv(Sock, Total) -> receive {tcp, Sock, Bin} -> - count_bytes_recv(Sock, Total+byte_size(Bin)); + Sz = byte_size(Bin), + ?P("count_bytes_recv -> received ~w bytes of data", [Sz]), + count_bytes_recv(Sock, Total+Sz); Other -> + ?P("count_bytes_recv -> received 'other': " + "~n ~p", [Other]), {Total, Other} end. -huge_sender(Config, TcpPort, Bytes) -> - {ok, Client} = ?CONNECT(Config, localhost, TcpPort, []), - receive after 500 -> ok end, - gen_tcp:send(Client, make_zero_packet(Bytes)), - gen_tcp:close(Client). +huge_sender(Config, Addr, TcpPort, Bytes) -> + ?P("huge_sender -> connect to" + "~n Addr: ~p" + "~n Port: ~p", [Addr, TcpPort]), + %% {ok, Client} = ?CONNECT(Config, Addr, TcpPort, [{ip, Addr}]), + case ?CONNECT(Config, Addr, TcpPort, [{ip, Addr}]) of + {ok, Client} -> + ?P("huge_sender -> connected: sleep some"), + receive after 500 -> ok end, + ?P("huge_sender -> try send ~w bytes", [Bytes]), + ok = gen_tcp:send(Client, make_zero_packet(Bytes)), + ?P("huge_sender -> data sent: sleep some"), + receive after 500 -> ok end, + ?P("huge_sender -> close socket"), + _ = gen_tcp:close(Client), + ?P("huge_sender -> done"), + ok; + {error, Reason} when (Reason =:= duplicate_name) -> + ?P("huge_sender -> connect failed: " + "~n ~p", [Reason]), + exit({skip, ?F("connect failed: ~p", [Reason])}) + end. make_zero_packet(0) -> []; make_zero_packet(N) when N rem 2 == 0 -> @@ -1088,16 +1316,15 @@ get_status(Config) when is_list(Config) -> {status,Pid,_,_} = sys:get_status(Pid). -define(RECOVER_SLEEP, 60000). --define(RETRY_SLEEP, 15000). - -iter_max_socks() -> - [{timetrap,{minutes,30}}]. +-define(RETRY_SLEEP, 15000). %% Open as many sockets as possible. Do this several times and check %% that we get the same number of sockets every time. %% Guess: This is "supposed to" test for socket leakage -%% This works badly with the socket inet_backend, so make some "checks" +%% This works badly with the socket inet_backend, so make +%% some "checks" and "adjustments"... iter_max_socks(Config) when is_list(Config) -> + ct:timetrap(?MINS(30)), Cond = fun() -> iter_max_socks_condition(Config) end, Pre = fun() -> %% This is not *nearly* enough @@ -1106,7 +1333,7 @@ iter_max_socks(Config) when is_list(Config) -> Tries = case os:type() of {win32, _} -> - 10; + 7; {unix, darwin} -> 10; _ -> @@ -1117,12 +1344,15 @@ iter_max_socks(Config) when is_list(Config) -> Dir = filename:dirname(code:which(?MODULE)), {ok, Node} = ?START_NODE(test_iter_max_socks, "+Q 2048 -pa " ++ Dir), - #{tries => Tries, + {ok, Addr} = ?WHICH_LOCAL_ADDR(inet), + #{addr => Addr, + tries => Tries, node => Node} end, - Case = fun(#{tries := Tries, + Case = fun(#{addr := Addr, + tries := Tries, node := Node}) -> - do_iter_max_socks(Config, Tries, Node) + do_iter_max_socks(Config, Addr, Tries, Node) end, Post = fun(#{node := Node}) -> ?STOP_NODE(Node) @@ -1158,12 +1388,12 @@ iter_max_socks_condition(Config) -> end. -do_iter_max_socks(Config, Tries, Node) -> +do_iter_max_socks(Config, Addr, Tries, Node) -> Self = self(), L = iter_max_socks_run( Node, fun() -> - exit(iter_max_socks_runner(Config, Self, Tries, initialize)) + exit(iter_max_socks_runner(Config, Addr, Self, Tries, initialize)) end), ?P("Result: " "~n ~p", [L]), @@ -1222,37 +1452,37 @@ iter_max_socks_await_runner2(Node, Pid, MRef, Start, Timestamp) -> end. -iter_max_socks_runner(_Config, _Parent, 0, _) -> +iter_max_socks_runner(_Config, _Addr, _Parent, 0, _) -> ?P("iter_max_socks_runner(0,-) -> done"), []; -iter_max_socks_runner(Config, Parent, N, initialize = First) -> +iter_max_socks_runner(Config, Addr, Parent, N, initialize = First) -> ?P("iter_max_socks_runner(~w,~w) -> entry", [N, First]), Parent ! {status, start_socks_counting, First}, - MS = max_socks(Config), - [MS|iter_max_socks_runner(Config, Parent, N-1, MS)]; -iter_max_socks_runner(Config, Parent, N, failed = First) -> + MS = max_socks(Config, Addr), + [MS|iter_max_socks_runner(Config, Addr, Parent, N-1, MS)]; +iter_max_socks_runner(Config, Addr, Parent, N, failed = First) -> ?P("iter_max_socks_runner(~w,~w) -> entry", [N, First]), Parent ! {status, start_socks_counting, First}, - MS = max_socks(Config), - [MS|iter_max_socks_runner(Config, Parent, N-1, First)]; -iter_max_socks_runner(Config, Parent, N, First) when is_integer(First) -> + MS = max_socks(Config, Addr), + [MS|iter_max_socks_runner(Config, Addr, Parent, N-1, First)]; +iter_max_socks_runner(Config, Addr, Parent, N, First) when is_integer(First) -> ?P("iter_max_socks_runner(~w,~w) -> entry", [N, First]), Parent ! {status, start_socks_counting, First}, - MS = max_socks(Config), + MS = max_socks(Config, Addr), if (MS =:= First) -> - [MS|iter_max_socks_runner(Config, Parent, N-1, First)]; + [MS|iter_max_socks_runner(Config, Addr, Parent, N-1, First)]; true -> ?P("~w =/= ~w => sleeping for ~p seconds...", [MS, First, ?RETRY_SLEEP/1000]), - ct:sleep(?RETRY_SLEEP), + receive after ?RETRY_SLEEP -> ok end, ?P("iter_max_socks_runner(~w,~w) -> trying again", [N, First]), Parent ! {status, retry_socks_counting, {First, MS}}, - RetryMS = max_socks(Config), + RetryMS = max_socks(Config, Addr), if RetryMS == First -> - [RetryMS|iter_max_socks_runner(Config, Parent, N-1, First)]; + [RetryMS|iter_max_socks_runner(Config, Addr, Parent, N-1, First)]; true -> - [RetryMS|iter_max_socks_runner(Config, Parent, N-1, failed)] + [RetryMS|iter_max_socks_runner(Config, Addr, Parent, N-1, failed)] end end. @@ -1273,9 +1503,25 @@ all_equal(_, [_ | _]) -> all_equal(_Rule, []) -> ok. -max_socks(Config) -> +max_socks(Config, Addr) -> put(state, open), - Socks = open_socks(Config), + Socks = case ?IS_SOCKET_BACKEND(Config) of + true -> + case os:type() of + {win32, nt} -> + %% 'socket' behaves differently + %% on Windows, so this test case + %% needs a lot of tweaking... + open_socks(Config, + ?IMS_MAX_ULIMIT div 2, + Addr); + _ -> + open_socks(Config, ?IMS_MAX_ULIMIT, Addr) + end; + _ -> + open_socks(Config, ?IMS_MAX_ULIMIT, Addr) + + end, N = length(Socks), put(state, close), lists:foreach(fun(S) -> ok = gen_tcp:close(S) end, Socks), @@ -1283,26 +1529,34 @@ max_socks(Config) -> ?P("Got ~p sockets", [N]), N. -open_socks(Config) -> - case ?LISTEN(Config, 0, []) of +%% We loop *either* until: +%% a) We cannot create more sockets +%% b) We have reached the max number of open sockets. +%% Going passed this limit will make the system unstable +open_socks(Config, N, Addr) -> + case ?LISTEN(Config, 0, [{ip, Addr}]) of {ok, L} -> {ok, {_, Port}} = inet:sockname(L), - [L| connect_accept(Config, L, Port)]; + [L | connect_accept(Config, N-1, L, Addr, Port)]; _ -> [] end. -connect_accept(Config, L, Port) -> - case ?CONNECT(Config, localhost, Port, []) of + +connect_accept(Config, N, L, Addr, Port) when (N > 0) -> + case ?CONNECT(Config, Addr, Port, [{ip, Addr}]) of {ok, C} -> - [C| do_accept(Config, L, Port)]; + [C | do_accept(Config, N-1, L, Addr, Port)]; _ -> [] - end. + end; +connect_accept(_, _, _, _, _) -> + []. -do_accept(Config, L, Port) -> + +do_accept(Config, N, L, Addr, Port) -> case gen_tcp:accept(L) of - {ok, A} -> [A| connect_accept(Config, L, Port)]; + {ok, A} -> [A | connect_accept(Config, N-1, L, Addr, Port)]; _ -> [] end. @@ -1310,21 +1564,44 @@ start_node(Name) -> Pa = filename:dirname(code:which(?MODULE)), ?START_NODE(Name, "-pa " ++ Pa). -start_remote(Name0, InetBackend) -> - Name = list_to_atom(?F("~w_~w", [Name0, InetBackend])), - Pa = filename:dirname(code:which(?MODULE)), - ?START_NODE(Name, "-pa " ++ Pa, [{remote, true}]). +%% start_node(Name0, InetBackend) -> +%% Name = list_to_atom(?F("~w_~w", [Name0, InetBackend])), +%% start_node(Name). + +start_remote_node(Name0, InetBackend) -> + Name = list_to_atom(?F("~w_~w", [Name0, InetBackend])), + Pa = filename:dirname(code:which(?MODULE)), + Opts = [{remote, true}, {fail_on_error, false}], + ?START_NODE(Name, "-pa " ++ Pa, Opts). %% Tests that when 'the other side' on a passive socket closes, the %% connecting side can still read until the end of data. passive_sockets(Config) when is_list(Config) -> - spawn_link(?MODULE, passive_sockets_server, - [Config, [{active, false}], self()]), + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_passive_sockets(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). + + +do_passive_sockets(Config, Addr) -> + ME = self(), + spawn_link(fun() -> + passive_sockets_server(Config, + [{active, false}, {ip, Addr}], + ME) + end), receive {socket,Port} -> ok end, ct:sleep(500), - case ?CONNECT(Config, "localhost", Port, [{active, false}]) of + case ?CONNECT(Config, Addr, Port, [{active, false}, {ip, Addr}]) of {ok, Sock} -> passive_sockets_read(Sock); {error, eaddrnotavail = Reason} -> @@ -1386,8 +1663,21 @@ passive_sockets_server_send(Socket, X) -> %% Tests the return value from gen_tcp:accept when %% the socket is closed from another process. (OTP-3817) accept_closed_by_other_process(Config) when is_list(Config) -> + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_accept_closed_by_other_process(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). + +do_accept_closed_by_other_process(Config, Addr) -> Parent = self(), - {ok, ListenSocket} = ?LISTEN(Config, 0, []), + {ok, ListenSocket} = ?LISTEN(Config, 0, [{ip, Addr}]), Child = spawn_link( fun() -> @@ -1414,7 +1704,20 @@ repeat(_, _, _) -> %% Tests the response when using a closed socket as argument. closed_socket(Config) when is_list(Config) -> - {ok, LS1} = ?LISTEN(Config, 0, []), + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_closed_socket(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). + +do_closed_socket(Config, Addr) -> + {ok, LS1} = ?LISTEN(Config, 0, [{ip, Addr}]), erlang:yield(), ok = gen_tcp:close(LS1), %% If the following delay is uncommented, the result error values @@ -1426,8 +1729,8 @@ closed_socket(Config) when is_list(Config) -> %% %% ct:sleep({seconds,2}) %% - {error, R_send} = gen_tcp:send(LS1, "data"), - {error, R_recv} = gen_tcp:recv(LS1, 17), + {error, R_send} = gen_tcp:send(LS1, "data"), + {error, R_recv} = gen_tcp:recv(LS1, 17), {error, R_accept} = gen_tcp:accept(LS1), {error, R_controlling_process} = gen_tcp:controlling_process(LS1, self()), @@ -1443,46 +1746,66 @@ closed_socket(Config) when is_list(Config) -> %%% shutdown_active(Config) when is_list(Config) -> - ?TC_TRY(shutdown_active, fun() -> shutdown_common(Config, true) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> shutdown_common(Config, Addr, true) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). shutdown_passive(Config) when is_list(Config) -> - ?TC_TRY(shutdown_passive, fun() -> shutdown_common(Config, false) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> shutdown_common(Config, Addr, false) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -shutdown_common(Config, Active) -> +shutdown_common(Config, Addr, Active) -> ?P("start sort server"), - P = sort_server(Config, Active), + P = sort_server(Config, Addr, Active), ?P("Sort server port: ~p", [P]), - do_sort(Config, P, []), - do_sort(Config, P, ["glurf"]), - do_sort(Config, P, ["abc","nisse","dum"]), + do_sort(Config, Addr, P, []), + do_sort(Config, Addr, P, ["glurf"]), + do_sort(Config, Addr, P, ["abc","nisse","dum"]), - do_sort(Config, P, [lists:reverse(integer_to_list(I)) || I <- lists:seq(25, 255)]), - do_sort(Config, P, [lists:reverse(integer_to_list(I)) || I <- lists:seq(77, 999)]), - do_sort(Config, P, [lists:reverse(integer_to_list(I)) || I <- lists:seq(25, 55)]), - do_sort(Config, P, []), - do_sort(Config, P, ["apa"]), - do_sort(Config, P, ["kluns","gorilla"]), - do_sort(Config, P, [lists:reverse(integer_to_list(I)) || I <- lists:seq(25, 1233)]), - do_sort(Config, P, []), + do_sort(Config, Addr, P, [lists:reverse(integer_to_list(I)) || I <- lists:seq(25, 255)]), + do_sort(Config, Addr, P, [lists:reverse(integer_to_list(I)) || I <- lists:seq(77, 999)]), + do_sort(Config, Addr, P, [lists:reverse(integer_to_list(I)) || I <- lists:seq(25, 55)]), + do_sort(Config, Addr, P, []), + do_sort(Config, Addr, P, ["apa"]), + do_sort(Config, Addr, P, ["kluns","gorilla"]), + do_sort(Config, Addr, P, [lists:reverse(integer_to_list(I)) || I <- lists:seq(25, 1233)]), + do_sort(Config, Addr, P, []), receive Any -> ct:fail({unexpected_message,Any}) after 0 -> ok end. -do_sort(Config, P, List0) -> +do_sort(Config, Addr, P, List0) -> ?P("Sort: " "~n ~p", [List0]), List = [El++"\n" || El <- List0], - S = case ?CONNECT(Config, localhost, P, [{packet,line}]) of + S = case ?CONNECT(Config, Addr, P, [{ip, Addr}, {packet,line}]) of {ok, Socket} -> Socket; {error, eaddrnotavail = Reason} -> ?SKIPT(connect_failed_str(Reason)) end, - ok = inet:setopts(S, [{debug, true}]), + %% ok = inet:setopts(S, [{debug, true}]), send_lines(S, List), ok = gen_tcp:shutdown(S, write), Lines = collect_lines(S, true), @@ -1494,8 +1817,8 @@ do_sort(Config, P, List0) -> Lines = SortedLines, ok = gen_tcp:close(S). -sort_server(Config, Active) -> - Opts = [{exit_on_close,false},{packet,line},{active,Active}], +sort_server(Config, Addr, Active) -> + Opts = [{ip, Addr}, {exit_on_close,false},{packet,line},{active,Active}], {ok,L} = ?LISTEN(Config, 0, Opts), Go = make_ref(), Pid = spawn_link(fun() -> @@ -1553,15 +1876,25 @@ send_lines(S, Lines) -> %%% shutdown_pending(Config) when is_list(Config) -> - ?TC_TRY(shutdown_pending, fun() -> do_shutdown_pending(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_shutdown_pending(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_shutdown_pending(Config) -> +do_shutdown_pending(Config, Addr) -> N = 512*1024+17, ?P("N: ~p", [N]), Data = [<>,ones(N),42], - {Port, Pid} = a_server(Config), + {Port, Pid} = a_server(Config, Addr), ?P("try connect to server (port: ~p)", [Port]), - S = case ?CONNECT(Config, localhost, Port, []) of + S = case ?CONNECT(Config, Addr, Port, [{ip, Addr}]) of {ok, Socket} -> ?P("connected"), Socket; @@ -1609,8 +1942,8 @@ sp_await_data(Pid, Sock) -> _ -> [1,Ones|Ones] end. - a_server(Config) -> - {ok, L} = ?LISTEN(Config, 0, [{exit_on_close,false},{active,false}]), +a_server(Config, Addr) -> + {ok, L} = ?LISTEN(Config, 0, [{ip, Addr}, {exit_on_close,false},{active,false}]), Pid = spawn_link(fun() -> a_server2(L) end), ok = gen_tcp:controlling_process(L, Pid), {ok, Port} = inet:port(L), @@ -1635,15 +1968,25 @@ a_server2(L) -> %% show_econnreset_active(Config) when is_list(Config) -> - ?TC_TRY(?FUNCTION_NAME, - fun() -> do_show_econnreset_active(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_show_econnreset_active(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_show_econnreset_active(Config) -> +do_show_econnreset_active(Config, Addr) -> %% First confirm everything works with option turned off. ?P("test with option switched off (default)"), - {ok, L0} = ?LISTEN(Config, 0, []), + {ok, L0} = ?LISTEN(Config, 0, [{ip, Addr}]), {ok, Port0} = inet:port(L0), - Client0 = case ?CONNECT(Config, localhost, Port0, [{active, false}]) of + Client0 = case ?CONNECT(Config, Addr, Port0, + [{active, false}, {ip, Addr}]) of {ok, CSock0} -> CSock0; {error, eaddrnotavail = Reason0} -> @@ -1666,9 +2009,10 @@ do_show_econnreset_active(Config) -> %% Note: We are also testing that the show_econnreset option is %% inherited from the listening socket by the accepting socket. ?P("test with option explicitly switched on"), - {ok, L1} = ?LISTEN(Config, 0, [{show_econnreset, true}]), + {ok, L1} = ?LISTEN(Config, 0, [{show_econnreset, true}, {ip, Addr}]), {ok, Port1} = inet:port(L1), - Client1 = case ?CONNECT(Config, localhost, Port1, [{active, false}]) of + Client1 = case ?CONNECT(Config, Addr, Port1, + [{active, false}, {ip, Addr}]) of {ok, CSock1} -> CSock1; {error, eaddrnotavail = Reason1} -> @@ -1702,16 +2046,27 @@ do_show_econnreset_active(Config) -> end. show_econnreset_active_once(Config) when is_list(Config) -> - ?TC_TRY(?FUNCTION_NAME, - fun() -> do_show_econnreset_active_once(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_show_econnreset_active_once(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_show_econnreset_active_once(Config) -> +do_show_econnreset_active_once(Config, Addr) -> %% Now test using {active, once} {ok, L} = ?LISTEN(Config, 0, - [{active, false}, - {show_econnreset, true}]), + [{active, false}, + {show_econnreset, true}, + {ip, Addr}]), {ok, Port} = inet:port(L), - Client = case ?CONNECT(Config, localhost, Port, [{active, false}]) of + Client = case ?CONNECT(Config, Addr, Port, + [{active, false}, {ip, Addr}]) of {ok, CSock} -> CSock; {error, eaddrnotavail = Reason} -> @@ -1741,14 +2096,23 @@ do_show_econnreset_active_once(Config) -> end. show_econnreset_passive(Config) when is_list(Config) -> - ?TC_TRY(?FUNCTION_NAME, - fun() -> do_show_econnreset_passive(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_show_econnreset_passive(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_show_econnreset_passive(Config) -> +do_show_econnreset_passive(Config, Addr) -> %% First confirm everything works with option turned off. - {ok, L} = ?LISTEN(Config, 0, [{active, false}]), + {ok, L} = ?LISTEN(Config, 0, [{active, false}, {ip, Addr}]), {ok, Port} = inet:port(L), - Client = case ?CONNECT(Config, localhost, Port, [{active, false}]) of + Client = case ?CONNECT(Config, Addr, Port, [{active, false}, {ip, Addr}]) of {ok, CSock} -> CSock; {error, eaddrnotavail = Reason} -> @@ -1762,11 +2126,13 @@ do_show_econnreset_passive(Config) -> {error, closed} = gen_tcp:recv(Client, 0), %% Now test with option switched on. - {ok, L1} = ?LISTEN(Config, 0, [{active, false}]), + {ok, L1} = ?LISTEN(Config, 0, [{active, false}, {ip, Addr}]), {ok, Port1} = inet:port(L1), Client1 = - case ?CONNECT(Config, localhost, Port1, - [{active, false}, {show_econnreset, true}]) of + case ?CONNECT(Config, Addr, Port1, + [{active, false}, + {show_econnreset, true}, + {ip, Addr}]) of {ok, CSock1} -> CSock1; {error, eaddrnotavail = Reason1} -> @@ -1782,15 +2148,27 @@ do_show_econnreset_passive(Config) -> ok. econnreset_after_sync_send(Config) when is_list(Config) -> - ?TC_TRY(?FUNCTION_NAME, - fun() -> do_econnreset_after_sync_send(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_econnreset_after_sync_send(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_econnreset_after_sync_send(Config) -> +do_econnreset_after_sync_send(Config, Addr) -> %% First confirm everything works with option turned off. ?P("test with option switched off (default)"), - {ok, L} = ?LISTEN(Config, 0, [{active, false}]), + {ok, L} = ?LISTEN(Config, 0, [{active, false}, {ip, Addr}]), {ok, Port} = inet:port(L), - Client = case ?CONNECT(Config, localhost, Port, [{active, false}]) of + Client = case ?CONNECT(Config, Addr, Port, + [{active, false}, + {show_econnreset, false}, + {ip, Addr}]) of {ok, CSock} -> CSock; {error, eaddrnotavail = Reason} -> @@ -1801,15 +2179,20 @@ do_econnreset_after_sync_send(Config) -> ok = inet:setopts(S, [{linger, {true, 0}}]), ok = gen_tcp:close(S), ok = ct:sleep(20), - {error, closed} = gen_tcp:send(Client, "Whatever"), + %% _ = inet:setopts(Client, [{debug, true}]), + %% {error, closed} = gen_tcp:send(Client, "Whatever"), + ok = ecr_ass_send(Config, Client, closed), + %% _ = inet:setopts(Client, [{debug, false}]), %% Now test with option switched on. ?P("test with option explicitly switched on"), - {ok, L1} = ?LISTEN(Config, 0, [{active, false}]), + {ok, L1} = ?LISTEN(Config, 0, [{active, false}, {ip, Addr}]), {ok, Port1} = inet:port(L1), Client1 = - case ?CONNECT(Config, localhost, Port1, - [{active, false}, {show_econnreset, true}]) of + case ?CONNECT(Config, Addr, Port1, + [{active, false}, + {show_econnreset, true}, + {ip, Addr}]) of {ok, CSock1} -> CSock1; {error, eaddrnotavail = Reason1} -> @@ -1820,25 +2203,68 @@ do_econnreset_after_sync_send(Config) -> ok = inet:setopts(S1, [{linger, {true, 0}}]), ok = gen_tcp:close(S1), ok = ct:sleep(20), - {error, econnreset} = gen_tcp:send(Client1, "Whatever"), + %% {error, econnreset} = gen_tcp:send(Client1, "Whatever"), + ok = ecr_ass_send(Config, Client1, econnreset), ?P("done"), ok. + +ecr_ass_send(Config, Sock, Expected) -> + case os:type() of + {win32, nt} -> + case ?IS_SOCKET_BACKEND(Config) of + true -> + do_ecr_ass_send(Sock, Expected, 2); + false -> + do_ecr_ass_send(Sock, Expected, 1) + end; + _ -> + do_ecr_ass_send(Sock, Expected, 1) + end. + +do_ecr_ass_send(Sock, Expected, N) when (N > 0) -> + case gen_tcp:send(Sock, "Whatever") of + {error, Expected} -> + ?P("[~w] expected send result", [N]), + ok; + {error, Unexpected} -> + ?P("[~w] unexpected send error: " + "~n Expected: ~p" + "~n Unexpected: ~p", [N, Expected, Unexpected]), + do_ecr_ass_send(Sock, Expected, N-1); + ok -> + ?P("[~w] unexpected send success", [N]), + do_ecr_ass_send(Sock, Expected, N-1) + end; +do_ecr_ass_send(_Sock, _Expected, _) -> + error. + + econnreset_after_async_send_active(Config) when is_list(Config) -> - ?TC_TRY(?FUNCTION_NAME, - fun() -> do_econnreset_after_async_send_active(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_econnreset_after_async_send_active(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_econnreset_after_async_send_active(Config) -> - {OS, _} = os:type(), - CPayload = craasa_mk_payload(), - SPayload = "Whatever", +do_econnreset_after_async_send_active(Config, Addr) -> + {OS, _} = os:type(), + IsSocketBackend = ?IS_SOCKET_BACKEND(Config), + CPayload = craasa_mk_payload(), + SPayload = "Whatever", %% First confirm everything works with option turned off. ?P("pre 1 (default)"), - {Client1, Server1} = craasa_pre(Config, default), + {Client1, Server1} = craasa_pre(Config, Addr, default), ?P("populate 1 (default)"), - {ok, Sender1} = craasa_populate(OS, default, + {ok, Sender1} = craasa_populate(OS, IsSocketBackend, default, Client1, Server1, CPayload, SPayload), ?P("sleep some"), ok = ct:sleep(20), @@ -1858,10 +2284,10 @@ do_econnreset_after_async_send_active(Config) -> %% Now test with option switched on. ?P("pre 2 (true)"), - {Client2, Server2} = craasa_pre(Config, true), + {Client2, Server2} = craasa_pre(Config, Addr, true), ?P("populate 2 (true)"), - {ok, Sender2} = craasa_populate(OS, true, + {ok, Sender2} = craasa_populate(OS, IsSocketBackend, true, Client2, Server2, CPayload, SPayload), ?P("sleep some"), ok = ct:sleep(20), @@ -1885,16 +2311,19 @@ do_econnreset_after_async_send_active(Config) -> craasa_mk_payload() -> list_to_binary(lists:duplicate(1024 * 1024, $.)). -craasa_pre(Config, EConnReset) +craasa_pre(Config, Addr, EConnReset) when is_boolean(EConnReset) orelse (EConnReset =:= default) -> ?P("create listen socket (server) with active = false"), - {ok, L} = ?LISTEN(Config, 0, [{active, false}, {recbuf, 4096}]), + {ok, L} = ?LISTEN(Config, 0, [{active, false}, + {recbuf, 4096}, + {ip, Addr}]), {ok, Port} = inet:port(L), ?P("[client] create connect socket with show_econnreset: ~p", [EConnReset]), Opts = if (EConnReset =:= default) -> []; is_boolean(EConnReset) -> [{show_econnreset, EConnReset}] end, - Client = case ?CONNECT(Config, localhost, Port, [{sndbuf, 4096}] ++ Opts) of + Client = case ?CONNECT(Config, Addr, Port, + [{ip, Addr}, {sndbuf, 4096}] ++ Opts) of {ok, CSock} -> CSock; {error, eaddrnotavail = Reason} -> @@ -1906,7 +2335,7 @@ craasa_pre(Config, EConnReset) ok = gen_tcp:close(L), {Client, S}. -craasa_populate(OS, _EConnReset, Client, Server, CPayload, SPayload) +craasa_populate(OS, _ISB, _EConnReset, Client, Server, CPayload, SPayload) when is_port(Client) andalso is_port(Server) -> ?P("send payload (~w bytes) from client to server", [byte_size(CPayload)]), ok = gen_tcp:send(Client, CPayload), @@ -1919,17 +2348,22 @@ craasa_populate(OS, _EConnReset, Client, Server, CPayload, SPayload) ?P("[server] send something"), ok = gen_tcp:send(Server, SPayload), {ok, undefined}; -craasa_populate(_OS, EConnReset, Client, Server, CPayload, SPayload) -> +craasa_populate(OS, ISB, + EConnReset, Client, Server, CPayload, SPayload) -> ExpectedSendRes = if (EConnReset =:= default) -> closed; (EConnReset =:= true) -> econnreset end, Sender = spawn_link(fun() -> - craasa_populate_sender(Client, - ExpectedSendRes, - CPayload) + craasa_populate_sender( + if (OS =:= win32) andalso ISB -> 2; + true -> 1 + end, + Client, + ExpectedSendRes, + CPayload) end), receive - {'EXIT', Sender, Reason} -> + {'EXIT', Sender, Reason} when (Reason =/= normal) -> {error, {unexpected_exit, Sender, Reason}} after 2000 -> ?P("[server] send something"), @@ -1937,15 +2371,25 @@ craasa_populate(_OS, EConnReset, Client, Server, CPayload, SPayload) -> {ok, Sender} end. -craasa_populate_sender(Client, ExpectedSendRes, Payload) -> - ?P("[socket] send payload (expect failure)"), +craasa_populate_sender(N, Client, ExpectedSendReason, Payload) when (N > 0) -> + ?P("[socket, ~w] send payload (expect failure ~p)", + [N, ExpectedSendReason]), case gen_tcp:send(Client, Payload) of - {error, ExpectedSendRes} -> - ?P("[socket] payload send failure (as expected)"), + {error, ExpectedSendReason} -> + ?P("[socket, ~w] expected payload send failure", [N]), exit(normal); - Unexpected -> - exit({unexpected, Unexpected}) - end. + {error, UnexpectedSendReason} -> + ?P("[socket, ~w] unexpected payload send failure: " + "~n ~p", [N, UnexpectedSendReason]), + craasa_populate_sender(N-1, + Client, ExpectedSendReason, Payload); + ok -> + ?P("[socket, ~w] unexpected payload send success", [N]), + craasa_populate_sender(N-1, + Client, ExpectedSendReason, Payload) + end; +craasa_populate_sender(_, _, _, _) -> + exit(failed_sending_payload). craasa_cleanup(Client, Sender) -> (catch gen_tcp:close(Client)), @@ -2026,43 +2470,62 @@ craasa_verify(true, Client, Payload) -> %% -------------------------------------------------------------------------- econnreset_after_async_send_active_once(Config) when is_list(Config) -> - ?TC_TRY(econnreset_after_async_send_active_once, - fun() -> do_econnreset_after_async_send_active_once(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> + do_econnreset_after_async_send_active_once(Config, Addr) + end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_econnreset_after_async_send_active_once(Config) -> - ?P("pre"), - {Client, Server, CPayload, SPayload} = craasao_pre(Config), +do_econnreset_after_async_send_active_once(Config, Addr) -> + ?P("[ctrl] pre"), + {Client, Server, CPayload, SPayload} = craasao_pre(Config, Addr), - ?P("populate"), - {ok, Sender} = craasao_populate(Client, Server, CPayload, SPayload), + {OS, _} = os:type(), + ISB = ?IS_SOCKET_BACKEND(Config), + + ?P("[ctrl] populate"), + {ok, Sender} = craasao_populate(OS, ISB, + Client, Server, CPayload, SPayload), - ?P("set server socket option linger: {true, 0}"), + ?P("[ctrl] set server socket option linger: {true, 0}"), ok = inet:setopts(Server, [{linger, {true, 0}}]), - ?P("close server socket"), + ?P("[ctrl] close server socket"), ok = gen_tcp:close(Server), - ?P("sleep some"), + ?P("[ctrl] sleep some"), ok = ct:sleep(20), - ?P("verify"), - craasao_verify(Client, Sender, SPayload), + ?P("[ctrl] verify"), + craasao_verify(OS, ISB, Client, Sender, SPayload), - ?P("cleanup"), + ?P("[ctrl] cleanup"), craasao_cleanup(Client), - ?P("done"), + ?P("[ctrl] done"), ok. -craasao_pre(Config) -> +craasao_pre(Config, Addr) -> ?P("[pre] create listen socket with active = false"), - {ok, L} = ?LISTEN(Config, 0, [{active, false}, {recbuf, 4096}]), + {ok, L} = ?LISTEN(Config, 0, + [{active, false}, + {recbuf, 4096}, + {ip, Addr}]), ?P("[pre] listen socket: " "~n ~p", [L]), {ok, Port} = inet:port(L), ?P("[pre] create connect socket (~w)", [Port]), - Client = case ?CONNECT(Config, localhost, Port, + Client = case ?CONNECT(Config, Addr, Port, [{active, false}, {sndbuf, 4096}, - {show_econnreset, true}]) of + {show_econnreset, true}, + {ip, Addr}]) of {ok, CSock} -> ?P("[pre] connect socket created:" "~n ~p", [CSock]), @@ -2076,14 +2539,13 @@ craasao_pre(Config) -> ok = gen_tcp:close(L), {Client, Server, craasao_mk_payload(), "Whatever"}. -craasao_populate(Client, Server, CPayload, SPayload) +craasao_populate(OS, _ISB, Client, Server, CPayload, SPayload) when is_port(Client) andalso is_port(Server) -> ?P("[populate,inet] client send data when" "~n Client: ~p" "~n Server: ~p", [Client, Server]), ok = gen_tcp:send(Client, CPayload), ?P("[populate,inet] verify client socket queue size"), - {OS, _} = os:type(), case erlang:port_info(Client, queue_size) of {queue_size, N} when N > 0 -> ok; {queue_size, 0} when OS =:= win32 -> ok; @@ -2094,15 +2556,21 @@ craasao_populate(Client, Server, CPayload, SPayload) ?P("[populate,inet] sleep some"), ok = ct:sleep(20), {ok, undefined}; -craasao_populate(Client, Server, CPayload, SPayload) -> +craasao_populate(OS, ISB, Client, Server, CPayload, SPayload) -> ?P("[populate,socket] entry when" "~n Client: ~p" "~n Server: ~p", [Client, Server]), Sender = spawn_link(fun() -> - craasao_populate_sender(Client, CPayload) + craasao_populate_sender( + if ((OS =:= win32) andalso ISB) -> 2; + true -> 1 + end, + Client, CPayload) end), receive {'EXIT', Sender, Reason} -> + ?P("unexpected sender exit: " + "~n ~p", [Reason]), {error, {unexpected_exit, Sender, Reason}} after 2000 -> ?P("[populate,socket] send something"), @@ -2110,16 +2578,31 @@ craasao_populate(Client, Server, CPayload, SPayload) -> {ok, Sender} end. -craasao_populate_sender(Client, Payload) -> - ?P("[populate,sender] send payload (expect failure)"), - {error, econnreset} = gen_tcp:send(Client, Payload), - ?P("[populate,sender] payload send failure (as expected)"), - exit(normal). +craasao_populate_sender(N, Client, Payload) when (N > 0) -> + ?P("[populate,sender,~w] send payload (expect failure)", [N]), + ExpectedSendRes = econnreset, + case gen_tcp:send(Client, Payload) of + {error, ExpectedSendRes} -> + ?P("[populate,sender,~w] expected (payload) send failure", [N]), + exit(normal); + {error, BadReason} -> + ?P("[populate,sender,~w] unexpected (payload) send failure reason:" + "~n ~p", [N, BadReason]), + craasao_populate_sender(N-1, Client, Payload); + ok -> + ?P("[populate,sender,~w] unexpected send success - " + "expected failure with ~p", [N, ExpectedSendRes]), + craasao_populate_sender(N-1, Client, Payload) + end; +craasao_populate_sender(_, _, _) -> + exit(send_failure). + craasao_mk_payload() -> list_to_binary(lists:duplicate(1024 * 1024, $.)). -craasao_verify(Client, _Sender, _Payload) when is_port(Client) -> +craasao_verify(_OS, _ISB, + Client, _Sender, _Payload) when is_port(Client) -> ?P("[verify] ensure no 'unexpected messages' received"), ok = receive Msg -> {unexpected_msg, Msg} after 0 -> ok end, ?P("[verify] set client socket option active: once"), @@ -2146,22 +2629,33 @@ craasao_verify(Client, _Sender, _Payload) when is_port(Client) -> "~n Flushed: ~p", [Other2, craasao_flush()]), ct:fail({unexpected, tcp_error, Other2}) end; -craasao_verify(Client, Sender, Payload) when is_pid(Sender) -> +craasao_verify(OS, ISB, + Client, Sender, Payload) when is_pid(Sender) -> ?P("[verify] begin with" "~n Client: ~p" "~n Sender: ~p", [Client, Sender]), craasao_verify_sender(Sender), ?P("[verify] ensure no 'unexpected messages' received"), ok = receive Msg -> {unexpected_msg, Msg} after 0 -> ok end, - ?P("[verify] set client socket option active once (1)"), - ok = inet:setopts(Client, [{active, once}]), - ?P("[verify] client expect (server) data"), - receive - {tcp, Client, Payload} -> - ?P("[verify] client received expected data"), - ok + Post = + if ((OS =:= win32) andalso ISB) -> + ""; + true -> + ?P("[verify] set client socket option active once (1)"), + ok = inet:setopts(Client, [{active, once}]), + ?P("[verify] client expect data"), + receive + {tcp, Client, Payload} -> + ?P("[verify] client received expected data"), + ok + after 10000 -> + ?P("[verify] no client payload: " + "~n ~p", [messages()]), + ct:fail(no_client_payload) + end, + " (2)" end, - ?P("[verify] set client socket option active once (2)"), + ?P("[verify] set client socket option active once" ++ Post), ok = inet:setopts(Client, [{active, once}]), ?P("[verify] await client econnreset"), receive @@ -2200,13 +2694,13 @@ craasao_flush(Acc) -> end. craasao_verify_sender(Sender) when is_pid(Sender) -> - ?P("await sender termination"), + ?P("[verify sender] await termination"), receive {'EXIT', Sender, normal} -> - ?P("expected normal sender termination received"), + ?P("[verify sender] expected normal termination received"), ok; {'EXIT', Sender, Reason} -> - ?P("unexpected sender termination: " + ?P("[verify sender] unexpected termination: " "~n ~p", [Reason]), ct:fail({unexpected_sender_termination, Sender, Reason}) after infinity -> @@ -2222,19 +2716,32 @@ craasao_cleanup(Client) -> %% -------------------------------------------------------------------------- econnreset_after_async_send_passive(Config) when is_list(Config) -> - ?TC_TRY(econnreset_after_async_send_passive, - fun() -> do_econnreset_after_async_send_passive(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> + do_econnreset_after_async_send_passive(Config, Addr) + end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_econnreset_after_async_send_passive(Config) -> +do_econnreset_after_async_send_passive(Config, Addr) -> + {OS, _} = os:type(), + ISB = ?IS_SOCKET_BACKEND(Config), CPayload = craasp_mk_payload(), SPayload = "Whatever", %% First confirm everything works with option turned off. ?P("pre 1 (default)"), - {Client1, Server1} = craasp_pre(Config, default), + {Client1, Server1} = craasp_pre(Config, Addr, default), ?P("populate 1 (default)"), - {ok, Sender1} = craasp_populate(default, + {ok, Sender1} = craasp_populate(OS, ISB, default, Client1, Server1, CPayload, SPayload), ?P("close server socket (1)"), @@ -2243,17 +2750,17 @@ do_econnreset_after_async_send_passive(Config) -> ok = ct:sleep(20), ?P("verify 1 (default)"), - ok = craasp_verify(Client1, default, SPayload), + ok = craasp_verify(OS, ISB, Client1, default, SPayload), ?P("cleanup 1 (default)"), craasp_cleanup(Client1, Sender1), %% Now test with option switched on. ?P("pre 2 (true)"), - {Client2, Server2} = craasp_pre(Config, true), + {Client2, Server2} = craasp_pre(Config, Addr, true), ?P("populate 2 (default)"), - {ok, Sender2} = craasp_populate(true, + {ok, Sender2} = craasp_populate(OS, ISB, true, Client2, Server2, CPayload, SPayload), @@ -2263,7 +2770,7 @@ do_econnreset_after_async_send_passive(Config) -> ok = ct:sleep(20), ?P("verify 2 (default)"), - ok = craasp_verify(Client2, true, SPayload), + ok = craasp_verify(OS, ISB, Client2, true, SPayload), ?P("cleanup 2 (default)"), craasp_cleanup(Client2, Sender2), @@ -2272,21 +2779,23 @@ do_econnreset_after_async_send_passive(Config) -> ok. -craasp_pre(Config, EConnReset) +craasp_pre(Config, Addr, EConnReset) when is_boolean(EConnReset) orelse (EConnReset =:= default) -> ?P("create listen socket *** with option switched off (default)"), - {ok, L} = ?LISTEN(Config, 0, [{active, false}, {recbuf, 4096}]), + {ok, L} = ?LISTEN(Config, 0, + [{active, false}, {recbuf, 4096}, {ip, Addr}]), {ok, Port} = inet:port(L), ?P("[client] create connect socket with show_econnreset: ~p", [EConnReset]), COpts = [{active, false}, {sndbuf, 4096}] ++ - if (EConnReset =:= default) -> []; - is_boolean(EConnReset) -> [{show_econnreset, EConnReset}] + if + (EConnReset =:= default) -> []; + is_boolean(EConnReset) -> [{show_econnreset, EConnReset}] end, - Client = case ?CONNECT(Config, localhost, Port, COpts) of + Client = case ?CONNECT(Config, Addr, Port, [{ip, Addr} | COpts]) of {ok, CSock} -> CSock; - {error, eaddrnotavail = Reason} -> - ?SKIPT(connect_failed_str(Reason)) + {error, eaddrnotavail = Reason} -> + ?SKIPT(connect_failed_str(Reason)) end, ?P("accept connection"), {ok, Server} = gen_tcp:accept(L), @@ -2297,47 +2806,67 @@ craasp_pre(Config, EConnReset) craasp_mk_payload() -> list_to_binary(lists:duplicate(1024 * 1024, $.)). -craasp_populate(_EConnReset, Client, Server, CPayload, SPayload) +craasp_populate(OS, _ISB, + _EConnReset, Client, Server, CPayload, SPayload) when is_port(Client) andalso is_port(Server) -> - ?P("[server] set linger: true:0"), + ?P("[port,server] set linger: true:0"), ok = inet:setopts(Server, [{linger, {true, 0}}]), - ?P("[server] send some data to client"), + ?P("[port,server] send some data to client"), ok = gen_tcp:send(Server, SPayload), - ?P("[client] send some data to server"), + ?P("[port,client] send some data to server"), ok = gen_tcp:send(Client, CPayload), - {OS, _} = os:type(), - ?P("[client] verify (port) queue-size"), + ?P("[port,client] verify (port) queue-size"), case erlang:port_info(Client, queue_size) of {queue_size, N} when N > 0 -> ok; {queue_size, 0} when OS =:= win32 -> ok; {queue_size, 0} = T -> ct:fail(T) end, {ok, undefined}; -craasp_populate(EConnReset, Client, Server, CPayload, SPayload) -> +craasp_populate(OS, ISB, + EConnReset, Client, Server, CPayload, SPayload) -> ExpectedSendRes = if (EConnReset =:= default) -> closed; (EConnReset =:= true) -> econnreset end, Sender = spawn_link(fun() -> - craasp_populate_sender(Client, - ExpectedSendRes, - CPayload) + craasp_populate_sender( + if (OS =:= win32) andalso ISB -> 2; + true -> 1 + end, + Client, + ExpectedSendRes, + CPayload) end), receive - {'EXIT', Sender, Reason} -> - {error, {unexpected_exit, Sender, Reason}} + {'EXIT', Sender, Reason} when (Reason =/= normal) -> + ?P("unexpected sender exit: " + "~n ~p", [Reason]), + {error, {unexpected_exit, Sender, Reason}} after 2000 -> ?P("[server] send something"), ok = gen_tcp:send(Server, SPayload), {ok, Sender} end. -craasp_populate_sender(Client, ExpectedSendRes, Payload) -> - ?P("[socket] send payload (expect failure)"), - {error, ExpectedSendRes} = gen_tcp:send(Client, Payload), - ?P("[socket] payload send failure (as expected)"), - exit(normal). +craasp_populate_sender(N, Client, ExpectedSendRes, Payload) when (N > 0) -> + ?P("[socket,~w] send payload (expect failure)", [N]), + case gen_tcp:send(Client, Payload) of + {error, ExpectedSendRes} -> + ?P("[socket,~w] payload send failure (as expected)", [N]), + exit(normal); + {error, BadReason} -> + ?P("[socket,~w] unexpected failure reason:" + "~n ~p", [N, BadReason]), + craasp_populate_sender(N-1, Client, ExpectedSendRes, Payload); + ok -> + ?P("[socket,~w] unexpected success - expected failure with ~p", + [N, ExpectedSendRes]), + craasp_populate_sender(N-1, Client, ExpectedSendRes, Payload) + end; +craasp_populate_sender(_, _, _, _) -> + exit(failed_sending_payload). -craasp_verify(Client, EConnReset, _Payload) +craasp_verify(_OS, _ISB, + Client, EConnReset, _Payload) when is_port(Client) andalso ((EConnReset =:= default) orelse is_boolean(EConnReset)) -> ?P("[client,~w] attempt receive and expect error (closed): " @@ -2366,7 +2895,32 @@ craasp_verify(Client, EConnReset, _Payload) ok -> {error, unexpected_success} end; -craasp_verify(Client, EConnReset, Payload) +craasp_verify(win32 = _OS, true = _ISB, + Client, EConnReset, _Payload) + when (EConnReset =:= default) orelse is_boolean(EConnReset) -> + ?P("[client,~w] attempt receive and expect error (closed): " + "~n Socket Info: ~p" + "~n Socket Status: ~s", + [EConnReset, inet:info(Client), + try prim_inet:getstatus(Client) of + {ok, CStatus} -> ?F("~p", [CStatus]); + _ -> "-" + catch + _:_:_ -> + "-" + end]), + case gen_tcp:recv(Client, 0) of + {error, closed} when (EConnReset =:= default) -> + ok; + {error, econnreset} when (EConnReset =:= true) -> + ok; + {error, Reason} -> + {error, {unexpected_error, Reason}}; + ok -> + {error, unexpected_success} + end; +craasp_verify(_OS, _ISB, + Client, EConnReset, Payload) when (EConnReset =:= default) orelse is_boolean(EConnReset) -> ?P("[client] attempt first recv and expect success"), case gen_tcp:recv(Client, 0) of @@ -2420,47 +2974,73 @@ craasp_cleanup(_) -> %% linger_zero(Config) when is_list(Config) -> - ?TC_TRY(linger_zero, fun() -> do_linger_zero(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_linger_zero(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_linger_zero(Config) -> +do_linger_zero(Config, Addr) -> %% All the econnreset tests will prove that {linger, {true, 0}} aborts %% a connection when the driver queue is empty. We will test here %% that it also works when the driver queue is not empty. - {OS, Client, Server} = lz_pre(Config), - + ?P("[ctrl] pre"), + {OS, ISB, Client, Server} = lz_pre(Config, Addr), + + ?P("[ctrl] populate when" + "~n OS: ~p" + "~n ISB: ~p" + "~n Client: ~p" + "~n Server: ~p", [OS, ISB, Client, Server]), PayloadSize = 1024 * 1024, - {ok, Sender} = lz_populate(Client, OS, PayloadSize), + {ok, Sender} = lz_populate(OS, ISB, Client, PayloadSize), - ?P("set linger: {true, 0}"), + ?P("[ctrl] set linger: {true, 0}"), + %% ok = inet:setopts(Client, [{debug, true}]), ok = inet:setopts(Client, [{linger, {true, 0}}]), - ?P("close client socket"), + %% ok = inet:setopts(Client, [{linger, {true, 1}}]), + ?P("[ctrl] read back the linger option"), + {ok, [{linger, {true, 0}}]} = inet:getopts(Client, [linger]), + %% {ok, [{linger, {true, 1}}]} = inet:getopts(Client, [linger]), + %% ok = inet:setopts(Client, [{debug, false}]), + ?P("[ctrl] close client socket"), ok = gen_tcp:close(Client), - ?P("sleep some"), + ?P("[ctrl] sleep some"), ok = ct:sleep(1), + ?P("[ctrl] verify"), lz_verify(Client, Server, PayloadSize), - ?P("cleanup"), % Just in case + ?P("[ctrl] cleanup"), % Just in case (catch gen_tcp:close(Server)), if is_pid(Sender) -> exit(Sender, kill); true -> ok end, - ?P("done"), + ?P("[ctrl] done"), ok. -lz_pre(Config) -> +lz_pre(Config, Addr) -> {OS, _} = os:type(), + ISB = ?IS_SOCKET_BACKEND(Config), ?P("create listen socket"), - {ok, L} = ?LISTEN(Config, 0, [{active, false}, - {recbuf, 4096}, + {ok, L} = ?LISTEN(Config, 0, [{ip, Addr}, + {active, false}, + {recbuf, 4096}, {show_econnreset, true}]), ?P("listen socket created"), %% inet_backend = inet {ok, Port} = inet:port(L), ?P("connect (create client socket)"), - Client = case ?CONNECT(Config, localhost, Port, - [{nodelay, true}, + Client = case ?CONNECT(Config, Addr, Port, + [{ip, Addr}, + {nodelay, true}, {active, false}, {sndbuf, 4096}]) of {ok, CSock} -> @@ -2472,17 +3052,19 @@ lz_pre(Config) -> {ok, Server} = gen_tcp:accept(L), ?P("close listen socket"), ok = gen_tcp:close(L), - {OS, Client, Server}. + {OS, ISB, Client, Server}. -lz_populate(Client, OS, PayloadSize) when is_port(Client) -> +lz_populate(OS, _ISB, Client, PayloadSize) when is_port(Client) -> ?P("[inet] create payload"), Payload = lz_make_payload(PayloadSize), ?P("[inet] ensure non-empty queue"), lz_ensure_non_empty_queue(Client, Payload, OS), {ok, undefined}; -lz_populate(Client, _OS, PayloadSize) -> +lz_populate(OS, ISB, Client, PayloadSize) -> ?P("[socket] send payload"), - Sender = spawn_link(fun() -> lz_populate_sender(Client, PayloadSize) end), + Sender = spawn_link(fun() -> + lz_populate_sender(OS, ISB, Client, PayloadSize) + end), receive {'EXIT', Sender, Reason} -> {error, {unexpected_exit, Sender, Reason}} @@ -2490,13 +3072,22 @@ lz_populate(Client, _OS, PayloadSize) -> {ok, Sender} end. -lz_populate_sender(Client, PayloadSize) -> - ?P("[socket] create payload"), +lz_populate_sender(OS, ISB, Client, PayloadSize) -> + ?P("[socket,~w,~w] create payload", [OS, ISB]), Payload = lz_make_payload(PayloadSize), - ?P("[socket] send payload (expect failure)"), - {error, closed} = gen_tcp:send(Client, Payload), - ?P("[socket] payload send failed (as expected)"), - exit(normal). + if ((OS =:= win32) andalso ISB) -> + ?P("[socket] send payload (expect one success and then failure)"), + ok = gen_tcp:send(Client, Payload), + {error, closed} = gen_tcp:send(Client, Payload), + ?P("[socket] payload send success + failure (as expected)"), + exit(normal); + true -> + ?P("[socket] send payload (expect failure)"), + {error, closed} = gen_tcp:send(Client, Payload), + ?P("[socket] payload send failed (as expected)"), + exit(normal) + end. + lz_verify(Client, Server, PayloadSize) when is_port(Client) andalso is_port(Server) -> @@ -2546,17 +3137,27 @@ lz_ensure_non_empty_queue(Sock, Payload, OS, N) -> linger_zero_sndbuf(Config) when is_list(Config) -> - ?TC_TRY(linger_zero_sndbuf, fun() -> do_linger_zero_sndbuf(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_linger_zero_sndbuf(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_linger_zero_sndbuf(Config) -> +do_linger_zero_sndbuf(Config, Addr) -> %% All the econnreset tests will prove that {linger, {true, 0}} aborts %% a connection when the driver queue is empty. We will test here %% that it also works when the driver queue is not empty %% and the linger zero option is set on the listen socket. - {OS, Client, Server} = lzs_pre(Config), + {OS, ISB, Client, Server} = lzs_pre(Config, Addr), PayloadSize = 1024 * 1024, - {ok, Sender} = lzs_populate(Client, OS, PayloadSize), + {ok, Sender} = lzs_populate(OS, ISB, Client, PayloadSize), ?P("verify linger: {true, 0}"), {ok, [{linger, {true, 0}}]} = inet:getopts(Server, [linger]), @@ -2575,17 +3176,20 @@ do_linger_zero_sndbuf(Config) -> ?P("done"), ok. -lzs_pre(Config) -> +lzs_pre(Config, Addr) -> {OS, _} = os:type(), + ISB = ?IS_SOCKET_BACKEND(Config), ?P("create listen socket"), - {ok, Listen} = ?LISTEN(Config, 0, [{active, false}, + {ok, Listen} = ?LISTEN(Config, 0, [{ip, Addr}, + {active, false}, {recbuf, 4096}, {show_econnreset, true}, {linger, {true, 0}}]), {ok, Port} = inet:port(Listen), ?P("connect (create client socket)"), - Client = case ?CONNECT(Config, localhost, Port, - [{nodelay, true}, + Client = case ?CONNECT(Config, Addr, Port, + [{ip, Addr}, + {nodelay, true}, {active, false}, {sndbuf, 4096}]) of {ok, CSock} -> @@ -2603,7 +3207,11 @@ lzs_pre(Config) -> ?P("linger option was inherited"), ok; {ok, [{linger, {true, TO}}]} -> - ?P("linger option was *not* inherited: ~p", [TO]), + ?P("linger option was *not* inherited: TRUE, ~p", [TO]), + ok = inet:setopts(Server, [{linger, {true, 0}}]), + ok; + {ok, [{linger, {false, TO}}]} -> + ?P("linger option was *not* inherited: FALSE, ~p", [TO]), ok = inet:setopts(Server, [{linger, {true, 0}}]), ok; {error, SReason} -> @@ -2613,17 +3221,19 @@ lzs_pre(Config) -> end, ?P("close listen socket"), ok = gen_tcp:close(Listen), - {OS, Client, Server}. + {OS, ISB, Client, Server}. -lzs_populate(Client, OS, PayloadSize) when is_port(Client) -> +lzs_populate(OS, _ISB, Client, PayloadSize) when is_port(Client) -> ?P("[inet] create payload"), Payload = lzs_make_payload(PayloadSize), ?P("[inet] ensure non-empty queue"), lz_ensure_non_empty_queue(Client, Payload, OS), {ok, undefined}; -lzs_populate(Client, _OS, PayloadSize) -> +lzs_populate(OS, ISB, Client, PayloadSize) -> ?P("[socket] send payload ( = start payload sender)"), - Sender = spawn(fun() -> lzs_populate_sender(Client, PayloadSize) end), + Sender = spawn(fun() -> + lzs_populate_sender(OS, ISB, Client, PayloadSize) + end), receive {'EXIT', Sender, Reason} -> {error, {unexpected_exit, Sender, Reason}} @@ -2631,13 +3241,21 @@ lzs_populate(Client, _OS, PayloadSize) -> {ok, Sender} end. -lzs_populate_sender(Client, PayloadSize) -> - ?P("[socket] create payload"), +lzs_populate_sender(OS, ISB, Client, PayloadSize) -> + ?P("[socket,~w,~w] create payload", [OS, ISB]), Payload = lzs_make_payload(PayloadSize), - ?P("[socket] send payload (expect failure)"), - {error, closed} = gen_tcp:send(Client, Payload), - ?P("[socket] payload send failed (as expected)"), - exit(normal). + if ((OS =:= win32) andalso ISB) -> + ?P("[socket] send payload (expect one success and then failure)"), + ok = gen_tcp:send(Client, Payload), + {error, closed} = gen_tcp:send(Client, Payload), + ?P("[socket] payload send success + failure (as expected)"), + exit(normal); + true -> + ?P("[socket] send payload (expect failure)"), + {error, closed} = gen_tcp:send(Client, Payload), + ?P("[socket] payload send failed (as expected)"), + exit(normal) + end. lzs_make_payload(PayloadSize) -> Payload = binary:copy(<<"0123456789ABCDEF">>, 64 * 1024), % 1 MB @@ -2663,12 +3281,29 @@ lzs_verify(Client, _Server, PayloadSize) -> %% corrupt data. The testcase will be killed by the timetrap timeout %% if the bug is present. http_bad_packet(Config) when is_list(Config) -> - {ok,L} = ?LISTEN(Config, 0, [{active, false}, - binary, - {reuseaddr, true}, - {packet, http}]), + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_http_bad_packet(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). + +do_http_bad_packet(Config, Addr) -> + {ok,L} = ?LISTEN(Config, 0, [{ip, Addr}, + {active, false}, + binary, + {reuseaddr, true}, + {packet, http}]), {ok,Port} = inet:port(L), - spawn_link(fun() -> erlang:yield(), http_bad_client(Config, Port) end), + spawn_link(fun() -> + erlang:yield(), + http_bad_client(Config, Addr, Port) + end), case gen_tcp:accept(L) of {ok,S} -> http_worker(S); @@ -2685,8 +3320,9 @@ http_worker(S) -> http_worker(S) end. -http_bad_client(Config, Port) -> - {ok,S} = ?CONNECT(Config, "localhost", Port, [{active,false}, binary]), +http_bad_client(Config, Addr, Port) -> + {ok,S} = ?CONNECT(Config, Addr, Port, + [{ip, Addr}, {active,false}, binary]), ok = gen_tcp:send(S, "\r\n"), ok = gen_tcp:close(S). @@ -2694,9 +3330,19 @@ http_bad_client(Config, Port) -> %% Fill send queue and then start receiving. %% busy_send(Config) when is_list(Config) -> - ?TC_TRY(busy_send, fun() -> do_busy_send(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_busy_send(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_busy_send(Config) -> +do_busy_send(Config, Addr) -> OldFlag = process_flag(trap_exit, true), Master = self(), Msg = <<"the quick brown fox jumps over a lazy dog~n">>, @@ -2704,11 +3350,13 @@ do_busy_send(Config) -> ServerF = fun() -> ?P("[server] create listen socket"), - case ?LISTEN(Config, 0, [{active,false},binary, - {reuseaddr,true}, - {packet,0}, - {recbuf,4096}, - {sndbuf,4096}]) of + case ?LISTEN(Config, 0, [binary, + {ip, Addr}, + {active, false}, + {reuseaddr, true}, + {packet, 0}, + {recbuf, 4096}, + {sndbuf, 4096}]) of {ok, L} -> ?P("[server] listen socket created"), {ok, Port} = inet:port(L), @@ -2752,12 +3400,13 @@ do_busy_send(Config) -> P end, ?P("[client] connect to ~w", [Port]), - case ?CONNECT(Config, "localhost", Port, - [{active,false}, - binary, - {packet,0}, - {recbuf,4096}, - {sndbuf,4096}]) of + case ?CONNECT(Config, Addr, Port, + [binary, + {ip, Addr}, + {active, false}, + {packet, 0}, + {recbuf, 4096}, + {sndbuf, 4096}]) of {ok, Socket} -> Master ! {self(), connected}, ?P("[client] connected - await recv"), @@ -2876,19 +3525,29 @@ busy_send_client_loop(Socket, Master, Msg, N) -> %%% busy_disconnect_passive(Config) when is_list(Config) -> - ?TC_TRY(busy_disconnect_passive, - fun() -> do_busy_disconnect_passive(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_busy_disconnect_passive(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_busy_disconnect_passive(Config) -> +do_busy_disconnect_passive(Config, Addr) -> ?P("[passive] begin"), MuchoData = list_to_binary(ones(64*1024)), - [do_busy_disconnect_passive2(Config, MuchoData, N) || N <- lists:seq(1, 10)], + [do_busy_disconnect_passive2(Config, Addr, MuchoData, N) || + N <- lists:seq(1, 10)], ?P("[passive] done"), ok. -do_busy_disconnect_passive2(Config, MuchoData, N) -> +do_busy_disconnect_passive2(Config, Addr, MuchoData, N) -> ?P("[passive,~w] *** prepare server *** ", [N]), - {_Server, S} = busy_disconnect_prepare_server(Config, [{active,false}]), + {_Server, S} = busy_disconnect_prepare_server(Config, Addr, [{active,false}]), ?P("[passive,~w] server prepared - start sending", [N]), {_OSFam, OSName} = os:type(), busy_disconnect_passive_send(S, MuchoData, OSName). @@ -2910,19 +3569,29 @@ busy_disconnect_passive_send(S, Data, OS) -> %%% a {tcp_closed,Socket} message. (Active mode.) %%% busy_disconnect_active(Config) when is_list(Config) -> - ?TC_TRY(busy_disconnect_active, - fun() -> do_busy_disconnect_active(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_busy_disconnect_active(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_busy_disconnect_active(Config) -> +do_busy_disconnect_active(Config, Addr) -> ?P("[active] begin"), MuchoData = list_to_binary(ones(64*1024)), - [do_busy_disconnect_active2(Config, MuchoData, N) || N <- lists:seq(1, 10)], + [do_busy_disconnect_active2(Config, Addr, MuchoData, N) || + N <- lists:seq(1, 10)], ?P("[active] done"), ok. -do_busy_disconnect_active2(Config, MuchoData, N) -> +do_busy_disconnect_active2(Config, Addr, MuchoData, N) -> ?P("[active,~w] *** prepare server *** ", [N]), - {Server, S} = busy_disconnect_prepare_server(Config, [{active,true}]), + {Server, S} = busy_disconnect_prepare_server(Config, Addr, [{active,true}]), ?P("[active,~w] server prepared - start sending", [N]), busy_disconnect_active_send(Server, S, MuchoData). @@ -2984,14 +3653,16 @@ busy_disconnect_active_send_await_closed(Server, S, Closed, Stopped) -> end. -busy_disconnect_prepare_server(Config, ConnectOpts) -> +busy_disconnect_prepare_server(Config, Addr, ConnectOpts) -> Sender = self(), ?P("[prep-server] create server"), - Server = spawn_link(fun() -> busy_disconnect_server(Config, Sender) end), + Server = spawn_link(fun() -> + busy_disconnect_server(Config, Addr, Sender) + end), ?P("[prep-server] await port (from server)"), receive {port, Server, Port} -> ok end, ?P("[prep-server] connect to ~w", [Port]), - case ?CONNECT(Config, localhost, Port, ConnectOpts) of + case ?CONNECT(Config, Addr, Port, [{ip, Addr} | ConnectOpts]) of {ok, S} -> ?P("[prep-server] connected - order server start sending"), Server ! {Sender, sending}, @@ -3001,13 +3672,14 @@ busy_disconnect_prepare_server(Config, ConnectOpts) -> ?SKIPT(connect_failed_str(Reason)) end. -busy_disconnect_server(Config, Sender) -> +busy_disconnect_server(Config, Addr, Sender) -> ?P("[server] create listen socket"), {ok, L} = ?LISTEN(Config, 0, - [{active,false}, - binary, - {reuseaddr,true}, - {packet,0}]), + [binary, + {ip, Addr}, + {active, false}, + {reuseaddr, true}, + {packet, 0}]), ?P("[server] created - get port number"), {ok,Port} = inet:port(L), ?P("[server] send port ~w (to sender)", [Port]), @@ -3047,16 +3719,31 @@ busy_disconnect_server_wait_for_busy(Sender, S) -> %%% Fill send queue %%% fill_sendq(Config) when is_list(Config) -> - ?TC_TRY(fill_sendq, fun() -> do_fill_sendq(Config) end). + Cond = fun() -> + is_windows() andalso ?IS_SOCKET_BACKEND(Config) andalso + skip("Unstable for 'socket on Windows'"), + ok + end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_fill_sendq(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_fill_sendq(Config) -> +do_fill_sendq(Config, Addr) -> OldFlag = process_flag(trap_exit, true), Master = self(), ServerF = fun () -> ?P("[server] try listen"), - case ?LISTEN(Config, 0, [{active,false},binary, - {reuseaddr,true},{packet,0}]) of + case ?LISTEN(Config, 0, [{ip, Addr}, + {active,false},binary, + {reuseaddr,true},{packet,0}]) of {ok, L} -> ?P("[server] try port"), case inet:port(L) of @@ -3083,9 +3770,8 @@ do_fill_sendq(Config) -> end, %% Just close on order ?P("[client] try connect"), - case ?CONNECT(Config, - "localhost", ServerPort, - [{active,false},binary,{packet,0}]) of + case ?CONNECT(Config, Addr, ServerPort, + [{ip, Addr}, {active,false},binary,{packet,0}]) of {ok, S} -> ?P("[client] connected"), Master ! {self(), connected}, @@ -3192,29 +3878,29 @@ fill_sendq_srv(L, Master) -> fill_sendq_write(S, Master, Msg) -> %% Server %% - %% ?P("[server] sending..."), + %% ?P("[server,writer] sending..."), case gen_tcp:send(S, Msg) of ok -> Master ! {self(), send}, - %% ?P("[server] ok."), + %% ?P("[server,writer] ok."), fill_sendq_write(S, Master, Msg); {error, _} = E -> Error = flush([E]), - ?P("[server] send error: ~p", [Error]), + ?P("[server,writer] send error: ~p", [Error]), Master ! {self(), Error} end. fill_sendq_read(S, Master) -> %% Reader %% - ?P("[reader] read infinity..."), + ?P("[server,reader] read infinity..."), case gen_tcp:recv(S, 0, infinity) of {ok, Data} -> - ?P("[reader] recv: ~p", [Data]), + ?P("[server,reader] recv: ~p", [Data]), fill_sendq_read(S, Master); E -> Error = flush([E]), - ?P("[reader] recv error: ~p", [Error]), + ?P("[server,reader] recv error: ~p", [Error]), Master ! {self(), Error} end. @@ -3223,19 +3909,25 @@ fill_sendq_read(S, Master) -> %%% a closed socket. %%% partial_recv_and_close(Config) when is_list(Config) -> - try do_partial_recv_and_close(Config) - catch - throw:{skip, _} = SKIP -> - SKIP - end. + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_partial_recv_and_close(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_partial_recv_and_close(Config) -> +do_partial_recv_and_close(Config, Addr) -> Msg = "the quick brown fox jumps over a lazy dog 0123456789\n", Len = length(Msg), - {ok,L} = ?LISTEN(Config, 0, [{active,false}]), + {ok,L} = ?LISTEN(Config, 0, [{ip, Addr}, {active,false}]), {ok,P} = inet:port(L), Sock = - case ?CONNECT(Config, "localhost", P, [{active,false}]) of + case ?CONNECT(Config, Addr, P, [{ip, Addr}, {active,false}]) of {ok, S} -> S; {error, eaddrnotavail = Reason} -> @@ -3244,33 +3936,60 @@ do_partial_recv_and_close(Config) -> {ok, A} = gen_tcp:accept(L), ok = gen_tcp:send(Sock, Msg), ok = gen_tcp:close(Sock), - {error, closed} = gen_tcp:recv(A, Len+1), - ok. + %% inet:setopts(A, [{debug, true}]), + case gen_tcp:recv(A, Len+1) of + {error, closed} -> + %% inet:setopts(A, [{debug, false}]), + gen_tcp:close(A), + ok; + {error, BadReason} -> + ?P("unexpected failure (should be 'closed'): " + "~n ~p", [BadReason]), + %% inet:setopts(A, [{debug, false}]), + gen_tcp:close(A), + error; + {ok, Msg} -> + ?P("unexpected success (with expected message): " + "~n ~p", [Msg]), + %% inet:setopts(A, [{debug, false}]), + gen_tcp:close(A), + error; + {ok, BadMsg} -> + ?P("unexpected success (with unexpected message): " + "~n ~p", [BadMsg]), + %% inet:setopts(A, [{debug, false}]), + gen_tcp:close(A), + error + end. + %%% Try to receive more than available number of bytes from %%% a closed socket, this time waiting in the recv before closing. %%% partial_recv_and_close_2(Config) when is_list(Config) -> - OldFlag = process_flag(trap_exit, true), - Res = try do_partial_recv_and_close_2(Config) - catch - exit:{skip, _} = SKIP -> - SKIP - end, - process_flag(trap_exit, OldFlag), - Res. + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_partial_recv_and_close_2(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_partial_recv_and_close_2(Config) -> +do_partial_recv_and_close_2(Config, Addr) -> Msg = "the quick brown fox jumps over a lazy dog 0123456789\n", Len = length(Msg), - {ok,L} = ?LISTEN(Config, 0, [{active,false}]), + {ok,L} = ?LISTEN(Config, 0, [{ip, Addr}, {active,false}]), {ok,P} = inet:port(L), Server = self(), Client = spawn_link( fun () -> receive after 2000 -> ok end, - case ?CONNECT(Config, "localhost", P, [{active,false}]) of + case ?CONNECT(Config, Addr, P, [{ip, Addr}, {active,false}]) of {ok, S} -> ok = gen_tcp:send(S, Msg), receive {Server,close} -> ok end, @@ -3282,31 +4001,59 @@ do_partial_recv_and_close_2(Config) -> end), {ok, A} = gen_tcp:accept(L), Client ! {Server, close}, - {error, closed} = gen_tcp:recv(A, Len+1), - ok. + %% {error, closed} = gen_tcp:recv(A, Len+1), + %% inet:setopts(A, [{debug, true}]), + case gen_tcp:recv(A, Len+1) of + {error, closed} -> + %% inet:setopts(A, [{debug, false}]), + gen_tcp:close(A), + ok; + {error, BadReason} -> + ?P("unexpected failure (should be 'closed'): " + "~n ~p", [BadReason]), + %% inet:setopts(A, [{debug, false}]), + gen_tcp:close(A), + error; + {ok, Msg} -> + ?P("unexpected success (with 'expected' message): " + "~n ~p", [Msg]), + %% inet:setopts(A, [{debug, false}]), + gen_tcp:close(A), + error; + {ok, BadMsg} -> + ?P("unexpected success (with *unexpected* message): " + "~n ~p", [BadMsg]), + %% inet:setopts(A, [{debug, false}]), + gen_tcp:close(A), + error + end. %%% Here we tests that gen_tcp:recv/2 will return {error,closed} following %%% a send operation of a huge amount data when the other end closed the socket. %%% partial_recv_and_close_3(Config) when is_list(Config) -> - OldFlag = process_flag(trap_exit, true), - Res = try do_partial_recv_and_close_3(Config) - catch - throw:{skip, _} = SKIP -> - SKIP - end, - process_flag(trap_exit, OldFlag), - Res. + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_partial_recv_and_close_3(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_partial_recv_and_close_3(Config) -> - [do_partial_recv_and_close_4(Config) || _ <- lists:seq(0, 20)], +do_partial_recv_and_close_3(Config, Addr) -> + [do_partial_recv_and_close_4(Config, Addr) || _ <- lists:seq(0, 20)], ok. -do_partial_recv_and_close_4(Config) -> +do_partial_recv_and_close_4(Config, Addr) -> Parent = self(), spawn_link(fun() -> - {ok,L} = ?LISTEN(Config, 0, [{active,false}]), - {ok,{_,Port}} = inet:sockname(L), + {ok,L} = ?LISTEN(Config, 0, + [{ip, Addr}, {active,false}]), + {ok, {_,Port}} = inet:sockname(L), Parent ! {port,Port}, {ok,S} = gen_tcp:accept(L), gen_tcp:recv(S, 1), @@ -3316,7 +4063,7 @@ do_partial_recv_and_close_4(Config) -> {port,Port} -> ok end, Much = ones(8*64*1024), - S = case ?CONNECT(Config, localhost, Port, [{active, false}]) of + S = case ?CONNECT(Config, Addr, Port, [{ip, Addr}, {active, false}]) of {ok, Sock} -> Sock; {error, eaddrnotavail = Reason} -> @@ -3332,10 +4079,10 @@ do_partial_recv_and_close_4(Config) -> {error, closed} = gen_tcp:recv(S, 0). -test_prio_put_get(Config) -> +test_prio_put_get(Config, Addr) -> Tos = 3 bsl 5, ?P("test_prio_put_get -> create listen socket"), - {ok,L1} = ?LISTEN(Config, 0, [{active,false}]), + {ok,L1} = ?LISTEN(Config, 0, [{ip, Addr}, {active,false}]), ?P("test_prio_put_get -> set opts prio (= 3)"), ok = inet:setopts(L1,[{priority,3}]), ?P("test_prio_put_get -> set opts tos (= ~p)", [Tos]), @@ -3355,17 +4102,19 @@ test_prio_put_get(Config) -> ?P("test_prio_put_get -> done"), ok. -test_prio_accept(Config) -> +test_prio_accept(Config, Addr) -> ?P("test_prio_accept -> create listen socket"), - {ok, Sock} = ?LISTEN(Config, 0, [binary,{packet,0},{active,false}, + {ok, Sock} = ?LISTEN(Config, 0, [binary, {ip, Addr}, {packet,0},{active,false}, {reuseaddr,true},{priority,4}]), ?P("test_prio_accept -> get port number of listen socket"), {ok, Port} = inet:port(Sock), ?P("test_prio_accept -> connect to port ~p", [Port]), - Sock2 = case ?CONNECT(Config, "localhost",Port,[binary,{packet,0}, - {active,false}, - {reuseaddr,true}, - {priority,4}]) of + Sock2 = case ?CONNECT(Config, Addr, Port, [binary, + {ip, Addr}, + {packet,0}, + {active,false}, + {reuseaddr,true}, + {priority,4}]) of {ok, S2} -> S2; {error, eaddrnotavail = Reason} -> @@ -3388,21 +4137,23 @@ test_prio_accept(Config) -> ?P("test_prio_accept -> done"), ok. -test_prio_accept2(Config) -> +test_prio_accept2(Config, Addr) -> Tos1 = 4 bsl 5, Tos2 = 3 bsl 5, ?P("test_prio_accept2 -> create listen socket"), - {ok, Sock} = ?LISTEN(Config, 0,[binary,{packet,0},{active,false}, + {ok, Sock} = ?LISTEN(Config, 0, [binary, {ip, Addr}, {packet,0},{active,false}, {reuseaddr,true},{priority,4}, {tos,Tos1}]), ?P("test_prio_accept2 -> get port number of listen socket"), {ok, Port} = inet:port(Sock), ?P("test_prio_accept2 -> connect to port ~p", [Port]), - Sock2 = case ?CONNECT(Config, "localhost",Port,[binary,{packet,0}, - {active,false}, - {reuseaddr,true}, - {priority,4}, - {tos,Tos2}]) of + Sock2 = case ?CONNECT(Config, Addr, Port, [binary, + {ip, Addr}, + {packet,0}, + {active,false}, + {reuseaddr,true}, + {priority,4}, + {tos,Tos2}]) of {ok, S2} -> S2; {error, eaddrnotavail = Reason} -> @@ -3425,20 +4176,22 @@ test_prio_accept2(Config) -> ?P("test_prio_accept2 -> done"), ok. -test_prio_accept3(Config) -> +test_prio_accept3(Config, Addr) -> Tos1 = 4 bsl 5, Tos2 = 3 bsl 5, ?P("test_prio_accept3 -> create listen socket"), - {ok, Sock} = ?LISTEN(Config, 0,[binary,{packet,0},{active,false}, + {ok, Sock} = ?LISTEN(Config, 0,[binary,{ip, Addr},{packet,0},{active,false}, {reuseaddr,true}, {tos,Tos1}]), ?P("test_prio_accept3 -> get port number of listen socket"), {ok,Port} = inet:port(Sock), ?P("test_prio_accept3 -> connect to port ~p", [Port]), - Sock2 = case ?CONNECT(Config, "localhost",Port,[binary,{packet,0}, - {active,false}, - {reuseaddr,true}, - {tos,Tos2}]) of + Sock2 = case ?CONNECT(Config, Addr, Port, [binary, + {ip, Addr}, + {packet,0}, + {active,false}, + {reuseaddr,true}, + {tos,Tos2}]) of {ok, S2} -> S2; {error, eaddrnotavail = Reason} -> @@ -3462,12 +4215,12 @@ test_prio_accept3(Config) -> ?P("test_prio_accept3 -> done"), ok. -test_prio_accept_async(Config) -> +test_prio_accept_async(Config, Addr) -> Tos1 = 4 bsl 5, Tos2 = 3 bsl 5, Ref = make_ref(), ?P("test_prio_accept_async -> create prio server"), - spawn(?MODULE, priority_server, [Config, {self(),Ref}]), + spawn(?MODULE, priority_server, [Config, Addr, {self(),Ref}]), Port = receive {Ref,P} -> P after 5000 -> ct:fail({error,"helper process timeout"}) @@ -3476,11 +4229,13 @@ test_prio_accept_async(Config) -> after 3000 -> ok end, ?P("test_prio_accept_async -> connect to port ~p", [Port]), - Sock2 = case ?CONNECT(Config, "localhost",Port,[binary,{packet,0}, - {active,false}, - {reuseaddr,true}, - {priority,4}, - {tos,Tos2}]) of + Sock2 = case ?CONNECT(Config, Addr, Port, [binary, + {ip, Addr}, + {packet,0}, + {active,false}, + {reuseaddr,true}, + {priority,4}, + {tos,Tos2}]) of {ok, S2} -> S2; {error, eaddrnotavail = Reason} -> @@ -3511,9 +4266,9 @@ test_prio_accept_async(Config) -> ?P("test_prio_accept_async -> done"), ok. -priority_server(Config, {Parent,Ref}) -> +priority_server(Config, Addr, {Parent,Ref}) -> Tos1 = 4 bsl 5, - {ok,Sock}=?LISTEN(Config, 0,[binary,{packet,0},{active,false}, + {ok,Sock}=?LISTEN(Config, 0,[binary, {ip, Addr}, {packet,0},{active,false}, {reuseaddr,true},{priority,4}, {tos,Tos1}]), {ok,Port} = inet:port(Sock), @@ -3523,9 +4278,9 @@ priority_server(Config, {Parent,Ref}) -> Parent ! {Ref, inet:getopts(Sock3,[priority,tos])}, ok. -test_prio_fail(Config) -> +test_prio_fail(Config, Addr) -> ?P("test_prio_fail -> create listen socket"), - {ok,L} = ?LISTEN(Config, 0, [{active,false}]), + {ok,L} = ?LISTEN(Config, 0, [{ip, Addr}, {active,false}]), ?P("test_prio_fail -> try set (and fail) opts prio (= 1000)"), {error,_} = inet:setopts(L,[{priority,1000}]), ?P("test_prio_fail -> close listen socket"), @@ -3533,10 +4288,10 @@ test_prio_fail(Config) -> ?P("test_prio_fail -> done"), ok. -test_prio_udp() -> +test_prio_udp(Addr) -> Tos = 3 bsl 5, ?P("test_prio_udp -> create UDP socket (open)"), - {ok,S} = gen_udp:open(0,[{active,false},binary,{tos, Tos}, + {ok,S} = gen_udp:open(0,[{ip, Addr}, {active,false},binary,{tos, Tos}, {priority,3}]), ?P("test_prio_udp -> getopts prio and tos"), {ok,[{priority,3},{tos,Tos}]} = inet:getopts(S,[priority,tos]), @@ -3547,30 +4302,29 @@ test_prio_udp() -> %% Tests the so_priority and ip_tos options on sockets when applicable. so_priority(Config) when is_list(Config) -> - ?TC_TRY(so_priority, - %% Normally we should have the condition funm here, - %% but since we are (currently) not platform independent, - %% we can't...check in the test case instead. - fun() -> do_so_priority(Config) end). + Cond = fun() -> + case ?IS_SOCKET_BACKEND(Config) of + true -> + is_socket_supported(), + has_support_sock_priority(); + false -> + ok + end + end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_so_priority(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_so_priority(Config) -> +do_so_priority(Config, Addr) -> ?P("create listen socket"), - L = case ?LISTEN(Config, 0, [{active,false}]) of - {ok, LSock} when not is_port(LSock) -> - try socket:is_supported(options, socket, priority) of - true -> - LSock; - false -> - (catch gen_tcp:close(LSock)), - ?SKIPT("Option 'priority' not supported") - catch - _:_:_ -> - (catch gen_tcp:close(LSock)), - ?SKIPT("Option 'priority' not supported") - end; - {ok, LSock} when is_port(LSock) -> - LSock - end, + {ok, L} = ?LISTEN(Config, 0, [{ip, Addr}, {active,false}]), ?P("set opts on listen socket: prio to 1"), ok = inet:setopts(L,[{priority,1}]), ?P("verify prio"), @@ -3578,13 +4332,13 @@ do_so_priority(Config) -> {ok,[{priority,1}]} -> ?P("close listen socket"), gen_tcp:close(L), - test_prio_put_get(Config), - test_prio_accept(Config), - test_prio_accept2(Config), - test_prio_accept3(Config), - test_prio_accept_async(Config), - test_prio_fail(Config), - test_prio_udp(), + test_prio_put_get(Config, Addr), + test_prio_accept(Config, Addr), + test_prio_accept2(Config, Addr), + test_prio_accept3(Config, Addr), + test_prio_accept_async(Config, Addr), + test_prio_fail(Config, Addr), + test_prio_udp(Addr), ?P("done"), ok; _X -> @@ -4041,15 +4795,21 @@ mktmofun(Tmo,Parent,LS) -> %% Accept tests %% Test singular accept. primitive_accept(Config) when is_list(Config) -> - try do_primitive_accept(Config) - catch - throw:{skip, _} = SKIP -> - SKIP - end. + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_primitive_accept(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_primitive_accept(Config) -> +do_primitive_accept(Config, Addr) -> LSock = - case ?LISTEN(Config, 0,[]) of + case ?LISTEN(Config, 0, [{ip, Addr}]) of {ok, LS} -> LS; {error, LReason} -> @@ -4059,7 +4819,7 @@ do_primitive_accept(Config) -> Parent = self(), F = fun() -> Parent ! {accepted,self(),gen_tcp:accept(LSock)} end, P = spawn(F), - case ?CONNECT(Config, "localhost", PortNo, []) of + case ?CONNECT(Config, Addr, PortNo, [{ip, Addr}]) of {ok, _} -> ok; {error, eaddrnotavail = CReason} -> @@ -4077,12 +4837,21 @@ do_primitive_accept(Config) -> %% Closing listen socket when multi-accepting. multi_accept_close_listen(Config) when is_list(Config) -> - ?TC_TRY(multi_accept_close_listen, - fun() -> do_multi_accept_close_listen(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_multi_accept_close_listen(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_multi_accept_close_listen(Config) -> +do_multi_accept_close_listen(Config, Addr) -> ?P("try create listen socket"), - LS = case ?LISTEN(Config, 0,[]) of + LS = case ?LISTEN(Config, 0, [{ip, Addr}]) of {ok, LSocket} -> LSocket; {error, eaddrnotavail = Reason} -> @@ -4112,14 +4881,20 @@ do_multi_accept_close_listen(Config) -> %% Single accept with timeout. accept_timeout(Config) when is_list(Config) -> - try do_accept_timeout(Config) - catch - throw:{skip, _} = SKIP -> - SKIP - end. + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_accept_timeout(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_accept_timeout(Config) -> - LS = case ?LISTEN(Config, 0,[]) of +do_accept_timeout(Config, Addr) -> + LS = case ?LISTEN(Config, 0, [{ip, Addr}]) of {ok, LSocket} -> LSocket; {error, eaddrnotavail = Reason} -> @@ -4132,14 +4907,20 @@ do_accept_timeout(Config) -> %% Check that multi-accept timeouts happen in the correct order. accept_timeouts_in_order(Config) when is_list(Config) -> - try do_accept_timeouts_in_order(Config) - catch - throw:{skip, _} = SKIP -> - SKIP - end. + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_accept_timeouts_in_order(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_accept_timeouts_in_order(Config) -> - LS = case ?LISTEN(Config, 0,[]) of +do_accept_timeouts_in_order(Config, Addr) -> + LS = case ?LISTEN(Config, 0, [{ip, Addr}]) of {ok, LSocket} -> LSocket; {error, eaddrnotavail = Reason} -> @@ -4155,14 +4936,20 @@ do_accept_timeouts_in_order(Config) -> %% Check that multi-accept timeouts happen in the correct order (more). accept_timeouts_in_order2(Config) when is_list(Config) -> - try do_accept_timeouts_in_order2(Config) - catch - throw:{skip, _} = SKIP -> - SKIP - end. + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_accept_timeouts_in_order2(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_accept_timeouts_in_order2(Config) -> - LS = case ?LISTEN(Config, 0,[]) of +do_accept_timeouts_in_order2(Config, Addr) -> + LS = case ?LISTEN(Config, 0, [{ip, Addr}]) of {ok, LSocket} -> LSocket; {error, eaddrnotavail = Reason} -> @@ -4178,14 +4965,20 @@ do_accept_timeouts_in_order2(Config) -> %% Check that multi-accept timeouts happen in the correct order (even more). accept_timeouts_in_order3(Config) when is_list(Config) -> - try do_accept_timeouts_in_order3(Config) - catch - throw:{skip, _} = SKIP -> - SKIP - end. + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_accept_timeouts_in_order3(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_accept_timeouts_in_order3(Config) -> - LS = case ?LISTEN(Config, 0,[]) of +do_accept_timeouts_in_order3(Config, Addr) -> + LS = case ?LISTEN(Config, 0, [{ip, Addr}]) of {ok, LSocket} -> LSocket; {error, eaddrnotavail = Reason} -> @@ -4202,14 +4995,20 @@ do_accept_timeouts_in_order3(Config) -> %% Check that multi-accept timeouts happen in the correct order after %% mixing millsec and sec timeouts. accept_timeouts_in_order4(Config) when is_list(Config) -> - try do_accept_timeouts_in_order4(Config) - catch - throw:{skip, _} = SKIP -> - SKIP - end. + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_accept_timeouts_in_order4(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_accept_timeouts_in_order4(Config) -> - LS = case ?LISTEN(Config, 0,[]) of +do_accept_timeouts_in_order4(Config, Addr) -> + LS = case ?LISTEN(Config, 0, [{ip, Addr}]) of {ok, LSocket} -> LSocket; {error, eaddrnotavail = Reason} -> @@ -4226,14 +5025,20 @@ do_accept_timeouts_in_order4(Config) -> %% Check that multi-accept timeouts happen in the correct order after %% mixing millsec and sec timeouts (more). accept_timeouts_in_order5(Config) when is_list(Config) -> - try do_accept_timeouts_in_order5(Config) - catch - throw:{skip, _} = SKIP -> - SKIP - end. + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_accept_timeouts_in_order5(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_accept_timeouts_in_order5(Config) -> - LS = case ?LISTEN(Config, 0,[]) of +do_accept_timeouts_in_order5(Config, Addr) -> + LS = case ?LISTEN(Config, 0, [{ip, Addr}]) of {ok, LSocket} -> LSocket; {error, eaddrnotavail = Reason} -> @@ -4250,21 +5055,24 @@ do_accept_timeouts_in_order5(Config) -> %% Check that multi-accept timeouts happen in the correct order after %% mixing millsec and sec timeouts (even more). accept_timeouts_in_order6(Config) when is_list(Config) -> - ?TC_TRY(?FUNCTION_NAME, - fun() -> - ?P("try create listen socket"), - case ?LISTEN(Config, 0,[]) of - {ok, LSocket} -> - #{socket => LSocket}; - {error, eaddrnotavail = Reason} -> - ?P("failed creating socket: ~p", [Reason]), - {skip, listen_failed_str(Reason)} - end - end, - fun(I) -> do_accept_timeouts_in_order6(I) end, - fun(#{socket := LSock}) -> - gen_tcp:close(LSock) - end). + Cond = fun() -> ok end, + Pre = fun() -> + ?P("try get local address"), + {ok, Addr} = ?WHICH_LOCAL_ADDR(inet), + ?P("try create listen socket"), + case ?LISTEN(Config, 0, [{ip, Addr}]) of + {ok, LSocket} -> + #{socket => LSocket}; + {error, eaddrnotavail = Reason} -> + ?P("failed creating socket: ~p", [Reason]), + {skip, listen_failed_str(Reason)} + end + end, + TC = fun(I) -> do_accept_timeouts_in_order6(I) end, + Post = fun(#{socket := LSock}) -> + gen_tcp:close(LSock) + end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). do_accept_timeouts_in_order6(#{socket := LS}) -> Parent = self(), @@ -4295,14 +5103,20 @@ do_accept_timeouts_in_order6(#{socket := LS}) -> %% Check that multi-accept timeouts happen in the correct order after %% mixing millsec and sec timeouts (even more++). accept_timeouts_in_order7(Config) when is_list(Config) -> - try do_accept_timeouts_in_order7(Config) - catch - throw:{skip, _} = SKIP -> - SKIP - end. + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_accept_timeouts_in_order7(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_accept_timeouts_in_order7(Config) -> - LS = case ?LISTEN(Config, 0,[]) of +do_accept_timeouts_in_order7(Config, Addr) -> + LS = case ?LISTEN(Config, 0, [{ip, Addr}]) of {ok, LSocket} -> LSocket; {error, eaddrnotavail = Reason} -> @@ -4324,50 +5138,70 @@ do_accept_timeouts_in_order7(Config) -> %% Check that multi-accept timeouts behave correctly when %% mixed with successful timeouts. +%% Note that on Windows with inet_backend = socket we +%% have *no* control over the accept order! accept_timeouts_mixed(Config) when is_list(Config) -> - ?TC_TRY(accept_timeouts_mixed, - fun() -> do_accept_timeouts_mixed(Config) end). + Cond = fun() -> + is_windows() andalso + ?IS_SOCKET_BACKEND(Config) andalso + ?SKIPT("Not compat with 'socket of Windows'"), + ok + end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_accept_timeouts_mixed(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_accept_timeouts_mixed(Config) -> +do_accept_timeouts_mixed(Config, Addr) -> ?P("create listen socket"), - LS = case ?LISTEN(Config, 0,[]) of + LS = case ?LISTEN(Config, 0, [{ip, Addr}]) of {ok, LSocket} -> LSocket; {error, eaddrnotavail = Reason} -> ?SKIPT(listen_failed_str(Reason)) end, Parent = self(), - {ok,PortNo}=inet:port(LS), + {ok, PortNo} = inet:port(LS), + + ?P("listen socket" + "~n ~p" + "~n Port: ~p", [LS, PortNo]), ?P("create acceptor process 1 (with timeout 1000)"), P1 = spawn(mktmofun(1000,Parent,LS)), - ?P("await ~p accepting", [P1]), + ?P("await 1 (~p) accepting", [P1]), wait_until_accepting(P1,500), ?P("create acceptor process 2 (with timeout 2000)"), P2 = spawn(mktmofun(2000,Parent,LS)), - ?P("await ~p accepting", [P2]), + ?P("await 2 (~p) accepting", [P2]), wait_until_accepting(P2,500), ?P("create acceptor process 3 (with timeout 3000)"), P3 = spawn(mktmofun(3000,Parent,LS)), - ?P("await ~p accepting", [P3]), + ?P("await 3 (~p) accepting", [P3]), wait_until_accepting(P3,500), ?P("create acceptor process 4 (with timeout 4000)"), P4 = spawn(mktmofun(4000,Parent,LS)), - ?P("await ~p accepting", [P4]), + ?P("await 4 (~p) accepting", [P4]), wait_until_accepting(P4,500), ?P("expect accept from 1 (~p) with timeout", [P1]), ok = ?EXPECT_ACCEPTS([{P1,{error,timeout}}],infinity,1500), ?P("connect"), - case ?CONNECT(Config, "localhost", PortNo, []) of + case ?CONNECT(Config, Addr, PortNo, [{ip, Addr}]) of {ok, _} -> ok; {error, eaddrnotavail = Reason1} -> @@ -4379,16 +5213,24 @@ do_accept_timeouts_mixed(Config) -> ok = ?EXPECT_ACCEPTS([{P2,{ok,Port0}}] when is_port(Port0), infinity,100); true -> - ok = ?EXPECT_ACCEPTS([{P2,{ok,_}}],infinity,100) + case ?EXPECT_ACCEPTS([{P2,{ok,_}}],infinity,100) of + ok -> + ok; + {error, Reason2} -> + ?P("Failed accept: " + "~n P2: ~p" + "~n Reason: ~p", [P2, Reason2]), + ct:fail(unexpected_accepts) + end end, ?P("expect accept from 3 (~p) with timeout", [P3]), ok = ?EXPECT_ACCEPTS([{P3,{error,timeout}}],infinity,2000), ?P("connect"), - case ?CONNECT(Config, "localhost", PortNo, []) of - {error, eaddrnotavail = Reason2} -> - ?SKIPT(connect_failed_str(Reason2)); + case ?CONNECT(Config, Addr, PortNo, [{ip, Addr}]) of + {error, eaddrnotavail = Reason3} -> + ?SKIPT(connect_failed_str(Reason3)); _ -> ok end, @@ -4406,11 +5248,21 @@ do_accept_timeouts_mixed(Config) -> %% Check that single acceptor behaves as expected when killed. killing_acceptor(Config) when is_list(Config) -> - ?TC_TRY(killing_acceptor, fun() -> do_killing_acceptor(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_killing_acceptor(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_killing_acceptor(Config) -> +do_killing_acceptor(Config, Addr) -> ?P("create listen socket"), - case ?LISTEN(Config, 0,[]) of + case ?LISTEN(Config, 0, [{ip, Addr}]) of {ok, LSocket} when is_port(LSocket) -> do_killing_acceptor_inet(LSocket); {ok, LSocket} -> @@ -4468,7 +5320,7 @@ do_killing_acceptor_socket(LS) -> ?P("kill acceptor"), exit(Pid, kill), ?P("sleep some"), - ct:sleep(100), + ct:sleep(1000), ?P("validate state - listening"), validate_acceptor_state(LS, 0, [listening], [accepting]), @@ -4573,12 +5425,21 @@ validate_acceptor_state(LS, ExpNumAcc, ExpState, ExpNotState) -> %% Check that multi acceptors behaves as expected when killed. killing_multi_acceptors(Config) when is_list(Config) -> - ?TC_TRY(?FUNCTION_NAME, - fun() -> do_killing_multi_acceptors(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_killing_multi_acceptors(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_killing_multi_acceptors(Config) -> +do_killing_multi_acceptors(Config, Addr) -> ?P("create listen socket"), - case ?LISTEN(Config, 0,[]) of + case ?LISTEN(Config, 0, [{ip, Addr}]) of {ok, LSocket} when is_port(LSocket) -> do_killing_multi_acceptors_inet(LSocket); {ok, LSocket} -> @@ -4689,12 +5550,21 @@ do_killing_multi_acceptors_socket(LS) -> %% Check that multi acceptors behaves as expected when killed (more). killing_multi_acceptors2(Config) when is_list(Config) -> - ?TC_TRY(killing_multi_acceptors2, - fun() -> do_killing_multi_acceptors2(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_killing_multi_acceptors2(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_killing_multi_acceptors2(Config) -> +do_killing_multi_acceptors2(Config, Addr) -> ?P("create listen socket"), - case ?LISTEN(Config, 0,[]) of + case ?LISTEN(Config, 0, [{ip, Addr}]) of {ok, LSocket} when is_port(LSocket) -> do_killing_multi_acceptors2_inet(Config, LSocket); {ok, LSocket} -> @@ -4711,7 +5581,7 @@ do_killing_multi_acceptors2_inet(Config, LS) -> Parent = self(), ?P("get port number for listen socket"), - {ok, PortNo} = inet:port(LS), + {ok, {Addr, PortNo}} = inet:sockname(LS), F = fun() -> Parent ! {accepted,self(),gen_tcp:accept(LS)} end, F2 = mktmofun(1000,Parent,LS), @@ -4759,7 +5629,7 @@ do_killing_multi_acceptors2_inet(Config, LS) -> validate_acceptor_state(LS, [accepting], []), ?P("connect to port ~p", [PortNo]), - ?CONNECT(Config, "localhost", PortNo,[]), + ?CONNECT(Config, Addr, PortNo, [{ip, Addr}]), ?P("await accept"), ok = ?EXPECT_ACCEPTS([{Pid3,{ok,CSock}}] when is_port(CSock),1,100), @@ -4777,7 +5647,7 @@ do_killing_multi_acceptors2_socket(Config, LS) -> Parent = self(), ?P("get port number for listen socket"), - {ok, PortNo} = inet:port(LS), + {ok, {Addr, PortNo}} = inet:sockname(LS), F = fun() -> Parent ! {accepted,self(),gen_tcp:accept(LS)} end, F2 = mktmofun(1000,Parent,LS), @@ -4822,7 +5692,7 @@ do_killing_multi_acceptors2_socket(Config, LS) -> validate_acceptor_state(LS, 1, [accepting], []), ?P("connect to port ~p", [PortNo]), - ?CONNECT(Config, "localhost", PortNo,[]), + ?CONNECT(Config, Addr, PortNo, [{ip, Addr}]), ?P("await accept"), ok = ?EXPECT_ACCEPTS([{Pid3,{ok, _CSock}}],1,100), @@ -4838,13 +5708,22 @@ do_killing_multi_acceptors2_socket(Config, LS) -> %% Checks that multi-accept works when more than one accept can be %% done at once (wb test of inet_driver). several_accepts_in_one_go(Config) when is_list(Config) -> - ?TC_TRY(several_accepts_in_one_go, - fun() -> do_several_accepts_in_one_go(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_several_accepts_in_one_go(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_several_accepts_in_one_go(Config) -> +do_several_accepts_in_one_go(Config, Addr) -> ?P("create listen socket"), NumActors = 8, - LS = case ?LISTEN(Config, 0, [{backlog, NumActors}]) of + LS = case ?LISTEN(Config, 0, [{ip, Addr}, {backlog, NumActors}]) of {ok, LSock} -> LSock; {error, eaddrnotavail = Reason} -> @@ -4858,7 +5737,8 @@ do_several_accepts_in_one_go(Config) -> end, F2 = fun() -> ?P("connector starting"), - Parent ! {connected,self(),?CONNECT(Config, "localhost",PortNo,[])} + Parent ! {connected,self(), + ?CONNECT(Config, Addr, PortNo, [{ip, Addr}])} end, Ns = lists:seq(1, NumActors), ?P("start acceptors"), @@ -4886,7 +5766,8 @@ wait_until_accepting(Proc,N) -> case process_info(Proc,current_function) of {current_function, {prim_inet, accept0, 3}} -> case process_info(Proc, status) of - {status,waiting} -> + {status,waiting} -> + ?P("[prim_inet] ~p accepting when n = ~w", [Proc, N]), ok; _O1 -> receive @@ -4897,6 +5778,7 @@ wait_until_accepting(Proc,N) -> {current_function, {gen, do_call, 4}} -> case process_info(Proc, status) of {status,waiting} -> + ?P("[gen] ~p accepting when n = ~w", [Proc, N]), ok; _O1 -> receive @@ -5013,16 +5895,34 @@ open_ports(L) -> %% Check that active once and tcp_close messages behave as expected. active_once_closed(Config) when is_list(Config) -> - ?TC_TRY(active_once_closed, fun() -> do_active_once_closed(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_active_once_closed(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_active_once_closed(Config) -> +do_active_once_closed(Config, Addr) -> + Send = fun(Socket, Data) -> + case gen_tcp:send(Socket, Data) of + {error, #{info := econnaborted}} -> + {error, econnaborted}; + X -> + X + end + end, ?P("stage 1"), (fun() -> ?P("[stage1] begin setup"), - {Loop,A} = setup_closed_ao(Config), + {Loop,A} = setup_closed_ao(Config, Addr), ?P("[stage1] begin send"), Loop({{error,closed},{error,econnaborted}}, - fun() -> gen_tcp:send(A,"Hello") end), + fun() -> Send(A, "Hello") end), ?P("[stage1] try set active:once => expect success"), ok = inet:setopts(A, [{active,once}]), ?P("[stage1] await socket closed"), @@ -5037,10 +5937,10 @@ do_active_once_closed(Config) -> ?P("stage 2"), (fun() -> ?P("[stage2] begin setup"), - {Loop,A} = setup_closed_ao(Config), + {Loop,A} = setup_closed_ao(Config, Addr), ?P("[stage2] begin send"), Loop({{error,closed},{error,econnaborted}}, - fun() -> gen_tcp:send(A,"Hello") end), + fun() -> Send(A, "Hello") end), ?P("[stage2] try set active:true => expect success"), ok = inet:setopts(A,[{active,true}]), ?P("[stage2] await socket closed"), @@ -5055,10 +5955,10 @@ do_active_once_closed(Config) -> ?P("stage 3"), (fun() -> ?P("[stage3] begin setup"), - {Loop,A} = setup_closed_ao(Config), + {Loop,A} = setup_closed_ao(Config, Addr), ?P("[stage3] begin send"), Loop({{error,closed},{error,econnaborted}}, - fun() -> gen_tcp:send(A,"Hello") end), + fun() -> Send(A, "Hello") end), ?P("[stage3] try set active:true => expect success"), ok = inet:setopts(A,[{active,true}]), ?P("[stage3] await socket closed"), @@ -5073,10 +5973,10 @@ do_active_once_closed(Config) -> ?P("stage 4"), (fun() -> ?P("[stage4] begin setup"), - {Loop,A} = setup_closed_ao(Config), + {Loop,A} = setup_closed_ao(Config, Addr), ?P("[stage4] begin send"), Loop({{error,closed},{error,econnaborted}}, - fun() -> gen_tcp:send(A,"Hello") end), + fun() -> Send(A, "Hello") end), ?P("[stage1] try set active:once => expect success"), ok = inet:setopts(A,[{active,once}]), ?P("[stage4] await socket closed"), @@ -5091,10 +5991,10 @@ do_active_once_closed(Config) -> ?P("stage 5"), (fun() -> ?P("[stage5] begin setup"), - {Loop,A} = setup_closed_ao(Config), + {Loop,A} = setup_closed_ao(Config, Addr), ?P("[stage5] begin send"), Loop({{error,closed},{error,econnaborted}}, - fun() -> gen_tcp:send(A,"Hello") end), + fun() -> Send(A,"Hello") end), ?P("[stage5] try set active:false => expect success"), ok = inet:setopts(A,[{active,false}]), ?P("[stage5] await socket closed => expect timeout"), @@ -5111,11 +6011,21 @@ do_active_once_closed(Config) -> %% Check that active n and tcp_close messages behave as expected. active_n_closed(Config) when is_list(Config) -> - ?TC_TRY(active_n_closed, fun() -> do_active_n_closed(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_active_n_closed(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_active_n_closed(Config) -> +do_active_n_closed(Config, Addr) -> ?P("create listen socket"), - {ok, L} = ?LISTEN(Config, 0, [binary, {active, false}]), + {ok, L} = ?LISTEN(Config, 0, [binary, {ip, Addr}, {active, false}]), P = self(), @@ -5129,8 +6039,8 @@ do_active_n_closed(Config) -> ?P("[client] send size"), P ! {size, Cnt * byte_size(Payload)}, ?P("[client] try connect"), - S = case ?CONNECT(Config, "localhost", Port, - [binary, {active, false}]) of + S = case ?CONNECT(Config, Addr, Port, + [binary, {ip, Addr}, {active, false}]) of {ok, CS} -> ?P("[client] connected"), P ! {continue, self()}, @@ -5235,21 +6145,22 @@ send_timeout_basic_wo_autoclose(Config) when is_list(Config) -> Dir = filename:dirname(code:which(?MODULE)), ?P("create node"), {ok, RNode} = ?START_NODE(?UNIQ_NODE_NAME, "-pa " ++ Dir), - RNode + {ok, Addr} = ?WHICH_LOCAL_ADDR(inet), + #{addr => Addr, rnode => RNode} end, - Case = fun(Node) -> - do_send_timeout_basic_wo_autoclose(Config, Node) + Case = fun(#{addr := Addr, rnode := Node}) -> + do_send_timeout_basic_wo_autoclose(Config, Addr, Node) end, - Post = fun(Node) -> + Post = fun(#{rnode := Node}) -> ?P("stop node ~p", [Node]), ?STOP_NODE(Node) end, ?TC_TRY(?FUNCTION_NAME, Pre, Case, Post). -do_send_timeout_basic_wo_autoclose(Config, RNode) -> +do_send_timeout_basic_wo_autoclose(Config, Addr, RNode) -> ?P("begin"), {TslTimeout, SndTimeout, BinData, SndBuf} = send_timeout_cfg(Config), - send_timeout_basic(Config, BinData, SndBuf, TslTimeout, SndTimeout, + send_timeout_basic(Config, Addr, BinData, SndBuf, TslTimeout, SndTimeout, false, RNode), ?P("done"), ok. @@ -5260,30 +6171,32 @@ send_timeout_basic_w_autoclose(Config) when is_list(Config) -> Dir = filename:dirname(code:which(?MODULE)), ?P("create node"), {ok, RNode} = ?START_NODE(?UNIQ_NODE_NAME, "-pa " ++ Dir), - RNode + {ok, Addr} = ?WHICH_LOCAL_ADDR(inet), + #{addr => Addr, rnode => RNode} end, - Case = fun(Node) -> - do_send_timeout_basic_w_autoclose(Config, Node) + Case = fun(#{addr := Addr, rnode := Node}) -> + do_send_timeout_basic_w_autoclose(Config, Addr, Node) end, - Post = fun(Node) -> + Post = fun(#{rnode := Node}) -> ?P("stop node ~p", [Node]), ?STOP_NODE(Node) end, ?TC_TRY(?FUNCTION_NAME, Pre, Case, Post). -do_send_timeout_basic_w_autoclose(Config, RNode) -> +do_send_timeout_basic_w_autoclose(Config, Addr, RNode) -> ?P("begin"), {TslTimeout, SndTimeout, BinData, SndBuf} = send_timeout_cfg(Config, send_timeout_basic_w_autoclose), - send_timeout_basic(Config, BinData, SndBuf, TslTimeout, SndTimeout, + send_timeout_basic(Config, Addr, BinData, SndBuf, TslTimeout, SndTimeout, true, RNode), ?P("done"), ok. -send_timeout_basic(Config, BinData, SndBuf, TslTimeout, SndTimeout, +send_timeout_basic(Config, Addr, BinData, SndBuf, TslTimeout, SndTimeout, AutoClose, RNode) -> ?P("[basic] sink"), - {A, Pid} = setup_timeout_sink(Config, RNode, SndTimeout, + {A, Pid} = setup_timeout_sink(Config, RNode, + Addr, SndTimeout, AutoClose, SndBuf), Send = fun() -> gen_tcp:send(A, BinData) end, {{error, timeout}, _} = timeout_sink_loop(Send, TslTimeout), @@ -5322,16 +6235,19 @@ send_timeout_check_length(Config) when is_list(Config) -> Dir = filename:dirname(code:which(?MODULE)), ?P("create node"), {ok, RNode} = ?START_NODE(?UNIQ_NODE_NAME, "-pa " ++ Dir), - RNode + {ok, Addr} = ?WHICH_LOCAL_ADDR(inet), + #{addr => Addr, rnode => RNode} end, - Case = fun(Node) -> do_send_timeout_check_length(Config, Node) end, - Post = fun(Node) -> + Case = fun(#{addr := Addr, rnode := Node}) -> + do_send_timeout_check_length(Config, Addr, Node) + end, + Post = fun(#{rnode := Node}) -> ?P("stop node ~p", [Node]), ?STOP_NODE(Node) end, ?TC_TRY(?FUNCTION_NAME, Cond, Pre, Case, Post). -do_send_timeout_check_length(Config, RNode) -> +do_send_timeout_check_length(Config, Addr, RNode) -> ?P("begin"), {TslTimeout, SndTimeout, BinData, SndBuf} = send_timeout_cfg(Config, send_timeout_check_length), @@ -5341,8 +6257,8 @@ do_send_timeout_check_length(Config, RNode) -> Self = self(), {Pid, Mon} = spawn_monitor( fun() -> - {A, _} = setup_timeout_sink(Config, - RNode, SndTimeout, + {A, _} = setup_timeout_sink(Config, RNode, + Addr, SndTimeout, true, SndBuf), Send = fun() -> %% @@ -5390,22 +6306,25 @@ send_timeout_para_wo_autoclose(Config) when is_list(Config) -> Dir = filename:dirname(code:which(?MODULE)), ?P("create node"), {ok, RNode} = ?START_NODE(?UNIQ_NODE_NAME, "-pa " ++ Dir), - RNode + {ok, Addr} = ?WHICH_LOCAL_ADDR(inet), + #{addr => Addr, rnode => RNode} end, - Case = fun(Node) -> do_send_timeout_para_wo_autoclose(Config, Node) end, - Post = fun(Node) -> + Case = fun(#{addr := Addr, rnode := Node}) -> + do_send_timeout_para_wo_autoclose(Config, Addr, Node) + end, + Post = fun(#{rnode := Node}) -> ?P("stop node ~p", [Node]), ?STOP_NODE(Node) end, ?TC_TRY(?FUNCTION_NAME, Cond, Pre, Case, Post). -do_send_timeout_para_wo_autoclose(Config, RNode) -> +do_send_timeout_para_wo_autoclose(Config, Addr, RNode) -> ?P("begin"), {TslTimeout, SndTimeout, BinData, SndBuf} = send_timeout_cfg(Config), %% Check that parallel writers do not hang forever ?P("check parallel writers wo autoclose"), - send_timeout_para(Config, BinData, SndBuf, TslTimeout, SndTimeout, + send_timeout_para(Config, Addr, BinData, SndBuf, TslTimeout, SndTimeout, false, RNode), ?P("done"), @@ -5435,29 +6354,32 @@ send_timeout_para_w_autoclose(Config) when is_list(Config) -> Dir = filename:dirname(code:which(?MODULE)), ?P("create node"), {ok, RNode} = ?START_NODE(?UNIQ_NODE_NAME, "-pa " ++ Dir), - RNode + {ok, Addr} = ?WHICH_LOCAL_ADDR(inet), + #{addr => Addr, rnode => RNode} end, - Case = fun(Node) -> do_send_timeout_para_w_autoclose(Config, Node) end, - Post = fun(Node) -> + Case = fun(#{addr := Addr, rnode := Node}) -> + do_send_timeout_para_w_autoclose(Config, Addr, Node) + end, + Post = fun(#{rnode := Node}) -> ?P("stop node ~p", [Node]), ?STOP_NODE(Node) end, ?TC_TRY(?FUNCTION_NAME, Cond, Pre, Case, Post). -do_send_timeout_para_w_autoclose(Config, RNode) -> +do_send_timeout_para_w_autoclose(Config, Addr, RNode) -> ?P("begin"), {TslTimeout, SndTimeout, BinData, SndBuf} = send_timeout_cfg(Config, send_timeout_para_w_autoclose), %% Check that parallel writers do not hang forever ?P("check parallel writers wo autoclose"), - send_timeout_para(Config, BinData, SndBuf, TslTimeout, SndTimeout, + send_timeout_para(Config, Addr, BinData, SndBuf, TslTimeout, SndTimeout, true, RNode), ?P("done"), ok. -send_timeout_para(Config, BinData, BufSz, TslTimeout, SndTimeout, +send_timeout_para(Config, Addr, BinData, BufSz, TslTimeout, SndTimeout, AutoClose, RNode) -> ?P("[para] sink -> entry with" "~n size(BinData): ~p" @@ -5465,7 +6387,8 @@ send_timeout_para(Config, BinData, BufSz, TslTimeout, SndTimeout, "~n SndTimeout: ~p" "~n AutoClose: ~p", [byte_size(BinData), BufSz, SndTimeout, AutoClose]), - {A, Pid} = setup_timeout_sink(Config, RNode, SndTimeout, AutoClose, BufSz), + {A, Pid} = setup_timeout_sink(Config, RNode, + Addr, SndTimeout, AutoClose, BufSz), Self = self(), SenderFun = fun() -> ?P("[para:sender] starting"), @@ -5705,18 +6628,28 @@ after_send_timeout(AutoClose, Reason) -> %% Test the send_timeout socket option for active sockets. send_timeout_active(Config) when is_list(Config) -> - ?TC_TRY(send_timeout_active, fun() -> do_send_timeout_active(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_send_timeout_active(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_send_timeout_active(Config) -> +do_send_timeout_active(Config, Addr) -> Dir = filename:dirname(code:which(?MODULE)), {ok, RNode} = ?START_NODE(?UNIQ_NODE_NAME, "-pa " ++ Dir), - do_send_timeout_active(Config, false, RNode), - do_send_timeout_active(Config, true, RNode), + do_send_timeout_active(Config, Addr, false, RNode), + do_send_timeout_active(Config, Addr, true, RNode), ?STOP_NODE(RNode), ok. -do_send_timeout_active(Config, AutoClose, RNode) -> - {A,C} = setup_active_timeout_sink(Config, RNode, 1, AutoClose), +do_send_timeout_active(Config, Addr, AutoClose, RNode) -> + {A,C} = setup_active_timeout_sink(Config, RNode, Addr, 1, AutoClose), inet:setopts(A, [{active, once}]), Mad = spawn_link(RNode, fun() -> mad_sender(C) end), ListData = lists:duplicate(1000, $a), @@ -5805,7 +6738,7 @@ flush() -> ok end. -setup_closed_ao(Config) -> +setup_closed_ao(Config, Addr) -> Dir = filename:dirname(code:which(?MODULE)), ?P("[setup] start node"), R = case ?START_NODE(?UNIQ_NODE_NAME, "-pa " ++ Dir) of @@ -5814,15 +6747,20 @@ setup_closed_ao(Config) -> {error, Reason} -> ?SKIPT(?F("failed starting node: ~p", [Reason])) end, + ?P("[setup] get (\"proper\")local address"), + {ok, Addr} = ?LIB:which_local_addr(inet), Host = get_hostname(node()), - ?P("[setup] create listen socket"), - L = case ?LISTEN(Config, 0, [{active,false},{packet,2}]) of + ?P("[setup] create listen socket (with ~p)", [Addr]), + L = case ?LISTEN(Config, 0, [{ip, Addr}, {active,false},{packet,2}]) of {ok, LSock} -> LSock; {error, eaddrnotavail = LReason} -> (catch ?STOP_NODE(R)), ?SKIPT(listen_failed_str(LReason)) end, + {ok, Port} = inet:port(L), + ?P("[setup] listen socket port: " + "~n Port: ~p", [Port]), Fun = fun(F) -> receive {From,X} when is_function(X) -> @@ -5832,14 +6770,13 @@ setup_closed_ao(Config) -> end, ?P("[setup] create remote runner"), Pid = rpc:call(R,erlang,spawn,[fun() -> Fun(Fun) end]), - {ok, Port} = inet:port(L), Remote = fun(Fu) -> Pid ! {self(), Fu}, receive {Pid,X} -> X end end, Connect = fun() -> - ?CONNECT(Config, Host, Port, - [{active, false}, {packet, 2}]) + ?CONNECT(Config, Addr, Port, + [{ip, Addr}, {active, false}, {packet, 2}]) end, ?P("[setup] create (remote) connection"), C = case Remote(Connect) of @@ -5879,10 +6816,7 @@ setup_closed_ao(Config) -> ?P("[setup] done"), {Loop,A}. -setup_timeout_sink(Config, RNode, Timeout, AutoClose, BufSz) -> - ?P("[sink setup] create listen socket"), - {ok, Addr} = ?LIB:which_local_addr(inet), - +setup_timeout_sink(Config, RNode, Addr, Timeout, AutoClose, BufSz) -> ?P("[sink setup] create listen socket"), {ok, L} = ?LISTEN(Config, 0, [{ifaddr, Addr}, {active, false}, @@ -5960,9 +6894,9 @@ setup_timeout_sink(Config, RNode, Timeout, AutoClose, BufSz) -> oki({ok, V}) -> V; oki(E) -> E. -setup_active_timeout_sink(Config, RNode, Timeout, AutoClose) -> - Host = get_hostname(node()), +setup_active_timeout_sink(Config, RNode, Addr, Timeout, AutoClose) -> ListenOpts = [binary, + {ifaddr, Addr}, {active, false}, {packet, 0}, {nodelay, true}, @@ -5986,7 +6920,8 @@ setup_active_timeout_sink(Config, RNode, Timeout, AutoClose) -> end end, {ok, C} = Remote(fun() -> - ?CONNECT(Config, Host, Port, [{active,false}]) + ?CONNECT(Config, Addr, Port, [{ip, Addr}, + {active, false}]) end), {ok, A} = gen_tcp:accept(L), gen_tcp:send(A, "Hello"), @@ -6339,17 +7274,31 @@ has_superfluous_schedulers() -> %% when a socket sending resumes working after a send_timeout. %% Should we even bother testing this if 'inet_backend = socket'? otp_7731(Config) when is_list(Config) -> - ?TC_TRY(otp_7731, fun() -> do_otp_7731(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_otp_7731(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_otp_7731(Config) when is_list(Config) -> +do_otp_7731(Config, Addr) -> ?P("[ctrl] create server"), - ServerPid = spawn_link(?MODULE, otp_7731_server, [Config, self()]), + ME = self(), + ServerPid = spawn_link(fun() -> otp_7731_server(Config, Addr, ME) end), ?P("[ctrl] await listening port (number) from server"), receive {ServerPid, ready, PortNum} -> ok end, ?P("[ctrl] connect to server on port ~w", [PortNum]), - {ok, Socket} = ?CONNECT(Config, "localhost", PortNum, - [binary, {active, false}, {packet, raw}, + {ok, Socket} = ?CONNECT(Config, Addr, PortNum, + [binary, + {ip, Addr}, + {active, false}, + {packet, raw}, {send_timeout, 1000}]), ?P("[ctrl] send data"), @@ -6389,10 +7338,10 @@ otp_7731_send(Socket) -> ok end. -otp_7731_server(Config, Ctrl) -> +otp_7731_server(Config, Addr, Ctrl) -> ?P("[server] create listen socket"), - {ok, LSocket} = ?LISTEN(Config, 0, [binary, {packet, raw}, - {active, false}]), + {ok, LSocket} = + ?LISTEN(Config, 0, [binary, {ip, Addr}, {packet, raw}, {active, false}]), {ok, {_, PortNum}} = inet:sockname(LSocket), ?P("[server] listening on port number ~p", [PortNum]), Ctrl ! {self(), ready, PortNum}, @@ -6433,14 +7382,35 @@ otp_7731_recv(Socket) -> %% buffer followed by a recv() that returns error due to closed %% connection. %% OTP-7615 Leaking closed ports. +%% This is a specific inet-driver bug, skip this when using 'socket' zombie_sockets(Config) when is_list(Config) -> + Cond = fun() -> + case ?IS_SOCKET_BACKEND(Config) of + true -> + {skip, "Inet driver specific test"}; + false -> + ok + end + end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_zombie_sockets(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). + +do_zombie_sockets(Config, Addr) -> register(zombie_collector,self()), Calls = 10, ?P("create zombie server"), - Server = spawn_link(?MODULE, zombie_server, [Config, self(), Calls]), + Server = spawn_link(?MODULE, zombie_server, [Config, Addr, self(), Calls]), {Server, ready, PortNum} = receive Msg -> Msg end, ?P("Ports before = ~p",[lists:sort(erlang:ports())]), - zombie_client_loop(Config, Calls, PortNum), + zombie_client_loop(Config, Calls, Addr, PortNum), Ports = lists:sort(zombie_collector(Calls, [])), Server ! terminate, ?P("Collected ports = ~p", [Ports]), @@ -6449,16 +7419,19 @@ zombie_sockets(Config) when is_list(Config) -> ?P("done"), ok. -zombie_client_loop(_Config, 0, _) -> +zombie_client_loop(_Config, 0, _, _) -> ?P("[zombie client] done"), ok; -zombie_client_loop(Config, N, PortNum) when is_integer(PortNum) -> +zombie_client_loop(Config, N, Addr, PortNum) when is_integer(PortNum) -> ?P("[zombie client][~w] try connect", [N]), - {ok, Socket} = ?CONNECT(Config, "localhost", PortNum, - [binary, {active, false}, {packet, raw}]), + {ok, Socket} = ?CONNECT(Config, Addr, PortNum, + [binary, + {ip, Addr}, + {active, false}, + {packet, raw}]), ?P("[zombie client] connected - now close ~p", [Socket]), gen_tcp:close(Socket), % to make server recv fail - zombie_client_loop(Config, N-1, PortNum). + zombie_client_loop(Config, N-1, Addr, PortNum). zombie_collector(0, Acc) -> @@ -6488,9 +7461,9 @@ zombies_alive(Ports, WaitSec) -> end end. -zombie_server(Config, Pid, Calls) -> +zombie_server(Config, Addr, Pid, Calls) -> ?P("[zombie server] try create listen socket with backlog: ~w", [Calls]), - {ok, LSock} = ?LISTEN(Config, 0, [binary, {packet, raw}, + {ok, LSock} = ?LISTEN(Config, 0, [binary, {ip, Addr}, {packet, raw}, {active, false}, {backlog, Calls}]), {ok, {_, PortNum}} = inet:sockname(LSock), ?P("[zombie server] Listening on ~w with port number ~p", [LSock, PortNum]), @@ -6545,18 +7518,55 @@ zombie_server_handler(Socket, Bin) -> %% Hanging send on windows when sending iolist with more than 16 binaries. otp_7816(Config) when is_list(Config) -> - ?TC_TRY(otp_7816, fun() -> do_otp_7816(Config) end). + ct:timetrap(?MINS(2)), + Cond = fun() -> + %% With 'socket on Windows' we have actually no way to + %% actually *know* that nothing is sent even after a timeout + %% (and the send cancel that socket issues). The I/O + %% Completion Port framework may well have buffers still + %% handle the data and send it as soon as it can. + %% Basically, data is "out of our hands" as soon as we + %% give it to the framework. Cancel may have "no effect" + %% even if the completion operation is reported as + %% 'aborted'. + %% So, this test case simply does not work. + case os:type() of + {win32, nt} -> + case ?IS_SOCKET_BACKEND(Config) of + true -> + {skip, + "Not compatible with 'socket on Windows'"}; + false -> + ok + end; + _ -> + ok + end + end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_otp_7816(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_otp_7816(Config) -> +do_otp_7816(Config, Addr) -> Ctrl = self(), ?P("[ctrl] create server process..."), - Server = spawn_link(fun() -> otp_7816_server(Config, Ctrl) end), + Server = spawn_link(fun() -> otp_7816_server(Config, Addr, Ctrl) end), ?P("[ctrl] await server process ready..."), receive {Server, ready, PortNum} -> ok end, ?P("[ctrl] connect to server..."), - {ok, Socket} = ?CONNECT(Config, "localhost", PortNum, - [binary, {active, false}, {packet, 4}, + {ok, Socket} = ?CONNECT(Config, Addr, PortNum, + [binary, + {ip, Addr}, + {active, false}, + {packet, 4}, {send_timeout, 10}]), %% We use the undocumented feature that sending can be resumed after @@ -6645,12 +7655,12 @@ otp_7816_send_data(Ctrl, Socket, Data, Loops) -> {error, {timeout, RestData}} -> %% A timeout means that **some** of the data was not sent, %% currently there is no way to know how much. - %% NOTE THAT THIS MEANS THAT WE HAVE A PARTIAL PACKAGE - %% WRITTEN, INCLUDING A HEADER THAT INDUCATES A DATA + %% NOTE THAT THIS MEANS THAT WE MAY HAVE A PARTIAL PACKAGE + %% WRITTEN, INCLUDING A HEADER THAT INDICATES A DATA %% SIZE THAT IS **NOT** PRESENT!! %% So for this trest case to work, we need to write the rest. %% But we cannot do that without first setting the package to raw. - %% + %% ?P("[client] send timeout" "~n with ~w bytes of rest data" "~n when Loops: ~p", [byte_size(RestData), Loops]), @@ -6665,13 +7675,13 @@ otp_7816_send_data(Ctrl, Socket, Data, Loops) -> ?P("[client] done"), exit(normal) - end. -otp_7816_server(Config, Ctrl) -> +otp_7816_server(Config, Addr, Ctrl) -> ?P("[server] create listening socket"), - {ok, LSocket} = ?LISTEN(Config, 0, [binary, {packet, 4}, + {ok, LSocket} = ?LISTEN(Config, 0, [binary, {ip, Addr}, + {packet, 4}, {active, false}]), {ok, {_, PortNum}} = inet:sockname(LSocket), ?P("[server] listening on ~w with port number ~p", [LSocket, PortNum]), @@ -6679,7 +7689,7 @@ otp_7816_server(Config, Ctrl) -> ?P("[server] accept connection..."), {ok, ASocket} = gen_tcp:accept(LSocket), - ?P("[server] got connection..."), + ?P("[server] connection accepted..."), gen_tcp:close(LSocket), otp_7816_server_loop(ASocket, Ctrl), @@ -6710,23 +7720,23 @@ otp_7816_recv(_, 0, _) -> ?P("[server] got all data"), ok; otp_7816_recv(Socket, BytesLeft, N) -> - ?P("[server] try recv ~w (~p bytes left)", [N, BytesLeft]), + ?P("[server,~w] try recv (~p bytes left)", [N, BytesLeft]), case gen_tcp:recv(Socket, 0, 1000) of {ok, Bin} when (byte_size(Bin) =< BytesLeft) andalso (byte_size(Bin) > 0) -> - ?P("[server] received ~p of ~p bytes", - [size(Bin), BytesLeft]), + ?P("[server,~w] received ~p of ~p bytes", + [N, size(Bin), BytesLeft]), otp_7816_recv(Socket, BytesLeft - byte_size(Bin), N+1); {ok, Bin} -> - ?P("[server] received unexpected data (~w): " + ?P("[server,~w] received unexpected data: " "~n Expected: ~p bytes" "~n Received: ~p bytes" "~n Socket Info: ~p", [N, BytesLeft, byte_size(Bin), inet:info(Socket)]), {error, {unexpected_data, BytesLeft, byte_size(Bin)}}; {error, timeout} -> - ?P("[server] got receive timeout when expecting more data:" - "~n Socket Info: ~p", [inet:info(Socket)]), + ?P("[server,~w] got receive timeout when expecting more data:" + "~n Socket Info: ~p", [N,inet:info(Socket)]), {error, timeout} end. @@ -6735,11 +7745,24 @@ otp_7816_recv(Socket, BytesLeft, N) -> %% Receive a packet with a faulty packet header. otp_8102(Config) when is_list(Config) -> - {ok, LSocket} = ?LISTEN(Config, 0, []), + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_otp_8102(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). + +do_otp_8102(Config, Addr) -> + {ok, LSocket} = ?LISTEN(Config, 0, [{ip, Addr}]), {ok, {_, PortNum}} = inet:sockname(LSocket), ?P("Listening on ~w with port number ~p", [LSocket, PortNum]), - [otp_8102_do(Config, LSocket, PortNum, otp_8102_packet(Type,Size)) + [otp_8102_do(Config, LSocket, Addr, PortNum, otp_8102_packet(Type, Size)) || Size <- lists:seq(-10,-1), Type <- [4, {cdr,big}, {cdr,little}]], @@ -6753,12 +7776,13 @@ otp_8102_packet({cdr,big}, Size) -> otp_8102_packet({cdr,little}, Size) -> {<<"GIOP",0,0,1,0,Size:32/little>>, cdr}. -otp_8102_do(Config, LSocket, PortNum, {Bin,PType}) -> +otp_8102_do(Config, LSocket, Addr, PortNum, {Bin,PType}) -> ?P("Connect with packet option ~p ...",[PType]), - {ok, RSocket} = ?CONNECT(Config, "localhost", PortNum, [binary, - {packet,PType}, - {active,true}]), + {ok, RSocket} = ?CONNECT(Config, Addr, PortNum, [binary, + {ip, Addr}, + {packet, PType}, + {active, true}]), {ok, SSocket} = gen_tcp:accept(LSocket), ?P("Got connection, sending ~p...",[Bin]), @@ -6775,7 +7799,20 @@ otp_8102_do(Config, LSocket, PortNum, {Bin,PType}) -> %% Verify packet_size handles long HTTP header lines. otp_9389(Config) when is_list(Config) -> - {ok, LS} = ?LISTEN(Config, 0, [{active,false}]), + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_otp_9389(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). + +do_otp_9389(Config, Addr) -> + {ok, LS} = ?LISTEN(Config, 0, [{ip, Addr}, {active,false}]), {ok, {_, PortNum}} = inet:sockname(LS), ?P("Listening on ~w with port number ~p", [LS, PortNum]), OrigLinkHdr = "/" ++ string:chars($S, 8192), @@ -6786,10 +7823,10 @@ otp_9389(Config) when is_list(Config) -> ok = otp_9389_loop(S, OrigLinkHdr), ok = gen_tcp:close(S) end), - {ok, S} = ?CONNECT(Config, "localhost", PortNum, - [binary, {active, false}]), + {ok, S} = ?CONNECT(Config, Addr, PortNum, + [binary, {ip, Addr}, {active, false}]), Req = "GET / HTTP/1.1\r\n" - ++ "Host: localhost\r\n" + ++ "Host: " ++ inet_parse:ntoa(Addr) ++ "\r\n" ++ "Link: " ++ OrigLinkHdr ++ "\r\n\r\n", ok = gen_tcp:send(S, Req), ok = inet:setopts(S, [{packet, http}]), @@ -6837,20 +7874,30 @@ wrapping_oct() -> %% Check that 64bit octet counters work. wrapping_oct(Config) when is_list(Config) -> - ?TC_TRY(wrapping_oct, fun() -> do_wrapping_oct(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_wrapping_oct(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). %% {recbuf, 8192}, {sndbuf, 8192} -do_wrapping_oct(Config) -> +do_wrapping_oct(Config, Addr) -> ?P("[ctrl] create listen socket"), Ctrl = self(), - {ok, LSock} = ?LISTEN(Config, 0, [{active,false},{mode,binary}]), + {ok, LSock} = ?LISTEN(Config, 0, [{ip, Addr}, {active,false},{mode,binary}]), {ok, LPort} = inet:port(LSock), ?P("[ctrl] spawn acceptor"), Acceptor = spawn_link(fun() -> oct_acceptor(Ctrl, LSock) end), ?P("[ctrl] spawn pump"), Pump = spawn_link(fun() -> oct_datapump(Ctrl, - Config, LPort, 16#10000FFFF) + Config, Addr, LPort, 16#10000FFFF) end), ?P("[ctrl] await acceptor socket"), ASock = wc_await_socket("acceptor", Acceptor), @@ -6931,10 +7978,10 @@ wc_proc_info(_) -> undefined. %% {recbuf, 16*1024}, {sndbuf, 16*1024} -oct_datapump(Ctrl, Config, Port, N) -> +oct_datapump(Ctrl, Config, Addr, Port, N) -> ?P("[pump] connect to listener"), - {ok, CSock} = ?CONNECT(Config, "localhost", Port, - [{active, false}, {mode, binary}]), + {ok, CSock} = ?CONNECT(Config, Addr, Port, + [{ip, Addr}, {active, false}, {mode, binary}]), ?P("[pump] announce to ctrl"), Ctrl ! {self(), socket, CSock}, {ok, [{sndbuf,SndBuf}]} = inet:getopts(CSock, [sndbuf]), @@ -7309,22 +8356,25 @@ wait(Mref) -> %% Test that send error works correctly for delay_send delay_send_error(Config) -> ?P("create listen socket"), - {ok, L} = - ?LISTEN(Config, - 0, [{reuseaddr, true}, {packet, 1}, {active, false}]), - {ok,{{0,0,0,0},PortNum}}=inet:sockname(L), - - delay_send_error(Config, L, PortNum, false), - delay_send_error(Config, L, PortNum, true), + {ok, Addr} = ?WHICH_LOCAL_ADDR(inet), + {ok, L} = ?LISTEN(Config, 0, [{ip, Addr}, + {reuseaddr, true}, + {packet, 1}, + {active, false}]), + {ok, {_, PortNum}} = inet:sockname(L), + + delay_send_error(Config, L, Addr, PortNum, false), + delay_send_error(Config, L, Addr, PortNum, true), ?P("close listen socket"), ok = gen_tcp:close(L). -delay_send_error(Config, L, PortNum, Active) -> +delay_send_error(Config, L, Addr, PortNum, Active) -> ?P("try connect - with delay_send:true active:~p",[Active]), - {ok, C} = - ?CONNECT(Config, - "localhost", PortNum, - [{packet, 1}, {active, Active}, {delay_send, true}]), + {ok, C} = ?CONNECT(Config, Addr, PortNum, + [{ip, Addr}, + {packet, 1}, + {active, Active}, + {delay_send, true}]), ?P("try accept"), {ok, A} = gen_tcp:accept(L), %% Do a couple of sends first to see that it works @@ -7349,8 +8399,16 @@ delay_send_error(Config, L, PortNum, Active) -> ?P("closed (expected)"), ok end; + {error, closed} -> - ?P("closed (expected)"), + ?P("closed (expected)"), + ok; + + {error, #{info := eshutdown = R}} -> + ?P("~w (expected)", [R]), + ok; + {error, eshutdown = R} -> + ?P("~w (expected)", [R]), ok end, ?P("close accepted socket"), @@ -7390,8 +8448,26 @@ delay_send_error2(Sock, N) -> %% 30-second test for gen_tcp in {active, N} mode, %% ensuring it does not get stuck. %% Verifies that erl_check_io properly handles extra EPOLLIN signals. +%% We do not bother with this test case on inet_backend = socket +%% since the test is about the inet-driver! bidirectional_traffic(Config) when is_list(Config) -> + ct:timetrap(?SECS(30)), + Cond = fun() -> + case ?IS_SOCKET_BACKEND(Config) of + true -> + {skip, "Inet driver specific test"}; + false -> + ok + end + end, Pre = fun() -> + Addr = + case ?WHICH_LOCAL_ADDR(inet) of + {ok, A} -> + A; + {error, Reason} -> + ?SKIPT({skip, Reason}) + end, NumOnlineScheds = erlang:system_info(schedulers_online), NumWorkers0 = NumOnlineScheds * 2, {NumWorkers, ActiveN} = @@ -7411,17 +8487,19 @@ bidirectional_traffic(Config) when is_list(Config) -> "~n Use workers: ~w" "~n ActiveN: ~w", [NumOnlineScheds, NumWorkers, ActiveN]), - Payload = crypto:strong_rand_bytes(32), + Payload = bdt_payload(32), {ok, LSock} = ?LISTEN(Config, 0, [binary, - {packet, 0}, + {ip, Addr}, + {packet, 0}, {active, false}, {reuseaddr, true}]), %% get all sockets to know failing ends ?P("pre -> listen socket created: " "~n ~p", [LSock]), #{lsock => LSock, + addr => Addr, num_workers => NumWorkers, payload => Payload, %% The point of this is to make it "easy" to @@ -7434,7 +8512,11 @@ bidirectional_traffic(Config) when is_list(Config) -> (catch gen_tcp:close(LSock)) end, ?TC_TRY(?FUNCTION_NAME, - Pre, Case, Post). + Cond, Pre, Case, Post). + +bdt_payload(N) -> + rand:bytes(N). + do_bidirectional_traffic(Config, #{lsock := LSock, num_workers := NumWorkers} = Info) -> @@ -7488,6 +8570,7 @@ bt_terminate_receivers_force(Recvs) -> [exit(Recv, kill) || Recv <- Recvs]. exchange(Config, #{lsock := LSock, + addr := Addr, port := Port, payload := Payload, ctrl := Control, @@ -7498,9 +8581,10 @@ exchange(Config, #{lsock := LSock, ?P("exchange:client -> connect"), {ok, Client} = ?CONNECT(Config, - "localhost", + Addr, Port, - [binary, {packet, 0}, {active, ActiveN}]), + [binary, + {ip, Addr}, {packet, 0}, {active, ActiveN}]), ?P("exchange:client -> connected: ~p" "~n PeerName: ~p" "~n SockName: ~p", @@ -7619,14 +8703,23 @@ recv(Socket, Total, TotIter, TotAct, Control, ActiveN) -> %% monitors to it... socket_monitor1(Config) when is_list(Config) -> ct:timetrap(?MINS(1)), - ?TC_TRY(socket_monitor1, - fun() -> do_socket_monitor1(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_socket_monitor1(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_socket_monitor1(Config) -> +do_socket_monitor1(Config, Addr) -> ?P("begin"), Self = self(), Type = ?SOCKET_TYPE(Config), - {ok, LSock1} = ?LISTEN(Config), + {ok, LSock1} = ?LISTEN(Config, 0, [{ip, Addr}]), F = fun(S, Fun) -> spawn_monitor(fun() -> Fun(S, Self) end) end, F1 = fun(Socket, Parent) when is_pid(Parent) -> ?P("[client] create monitor"), @@ -7694,19 +8787,28 @@ sm_await_down(Pid, Mon, ExpRes) -> %% monitors to them... socket_monitor1_manys(Config) when is_list(Config) -> ct:timetrap(?MINS(1)), - ?TC_TRY(socket_monitor1_manys, - fun() -> do_socket_monitor1_manys(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_socket_monitor1_manys(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_socket_monitor1_manys(Config) -> +do_socket_monitor1_manys(Config, Addr) -> ?P("begin"), Self = self(), Type = ?SOCKET_TYPE(Config), ?P("[client] create socket(s)"), - {ok, LSock1} = ?LISTEN(Config), - {ok, LSock2} = ?LISTEN(Config), - {ok, LSock3} = ?LISTEN(Config), - {ok, LSock4} = ?LISTEN(Config), - {ok, LSock5} = ?LISTEN(Config), + {ok, LSock1} = ?LISTEN(Config, 0, [{ip, Addr}]), + {ok, LSock2} = ?LISTEN(Config, 0, [{ip, Addr}]), + {ok, LSock3} = ?LISTEN(Config, 0, [{ip, Addr}]), + {ok, LSock4} = ?LISTEN(Config, 0, [{ip, Addr}]), + {ok, LSock5} = ?LISTEN(Config, 0, [{ip, Addr}]), F = fun(S, Fun) -> spawn_monitor(fun() -> Fun(S, Self) end) end, F1 = fun(Sockets, Parent) when is_list(Sockets) andalso is_pid(Parent) -> ?P("[client] create monitor(s)"), @@ -7768,14 +8870,23 @@ sm_await_socket_down2(Mons, ExpType, Name) when is_list(Mons) -> %% monitors to it... socket_monitor1_manyc(Config) when is_list(Config) -> ct:timetrap(?MINS(1)), - ?TC_TRY(socket_monitor1_manyc, - fun() -> do_socket_monitor1_manyc(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_socket_monitor1_manyc(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_socket_monitor1_manyc(Config) -> +do_socket_monitor1_manyc(Config, Addr) -> ?P("begin"), Self = self(), Type = ?SOCKET_TYPE(Config), - {ok, LSock1} = ?LISTEN(Config), + {ok, LSock1} = ?LISTEN(Config, 0, [{ip, Addr}]), F = fun(S, Fun, Name) -> spawn_monitor(fun() -> Fun(S, Name, Self) end) end, @@ -7816,14 +8927,23 @@ do_socket_monitor1_manyc(Config) -> %% monitors to it... socket_monitor1_demon_after(Config) when is_list(Config) -> ct:timetrap(?MINS(1)), - ?TC_TRY(socket_monitor1_demon_after, - fun() -> do_socket_monitor1_demon_after(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_socket_monitor1_demon_after(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_socket_monitor1_demon_after(Config) -> +do_socket_monitor1_demon_after(Config, Addr) -> ?P("begin"), Self = self(), Type = ?SOCKET_TYPE(Config), - {ok, LSock1} = ?LISTEN(Config), + {ok, LSock1} = ?LISTEN(Config, 0, [{ip, Addr}]), F = fun(S, Fun) -> spawn_monitor(fun() -> Fun(S, Self) end) end, F1 = fun(Socket, Parent) when is_pid(Parent) -> ?P("[client] create monitor"), @@ -7881,17 +9001,26 @@ sm_await_no_socket_down(ExpMon, ExpSock, ExpType, Name) -> %% that create monitors to it... socket_monitor2(Config) when is_list(Config) -> ct:timetrap(?MINS(1)), - ?TC_TRY(socket_monitor2, - fun() -> do_socket_monitor2(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_socket_monitor2(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_socket_monitor2(Config) -> +do_socket_monitor2(Config, Addr) -> ?P("begin"), Type = ?SOCKET_TYPE(Config), Self = self(), {OwnerPid, OwnerMon} = spawn_monitor(fun() -> ?P("[owner] create (listen) socket"), - {ok, L} = ?LISTEN(Config), + {ok, L} = ?LISTEN(Config, 0, [{ip, Addr}]), ?P("[owner] send (listen) socket to ctrl"), Self ! {socket, L}, ?P("[owner] ready"), @@ -7938,10 +9067,19 @@ do_socket_monitor2(Config) -> socket_monitor2_manys(Config) when is_list(Config) -> ct:timetrap(?MINS(1)), - ?TC_TRY(socket_monitor2_manys, - fun() -> do_socket_monitor2_manys(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_socket_monitor2_manys(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_socket_monitor2_manys(Config) -> +do_socket_monitor2_manys(Config, Addr) -> ?P("begin"), Type = ?SOCKET_TYPE(Config), Self = self(), @@ -7949,11 +9087,11 @@ do_socket_monitor2_manys(Config) -> {OwnerPid, OwnerMon} = spawn_monitor(fun() -> ?P("[owner] create (listen) socket(s)"), - {ok, L1} = ?LISTEN(Config), - {ok, L2} = ?LISTEN(Config), - {ok, L3} = ?LISTEN(Config), - {ok, L4} = ?LISTEN(Config), - {ok, L5} = ?LISTEN(Config), + {ok, L1} = ?LISTEN(Config, 0, [{ip, Addr}]), + {ok, L2} = ?LISTEN(Config, 0, [{ip, Addr}]), + {ok, L3} = ?LISTEN(Config, 0, [{ip, Addr}]), + {ok, L4} = ?LISTEN(Config, 0, [{ip, Addr}]), + {ok, L5} = ?LISTEN(Config, 0, [{ip, Addr}]), ?P("[owner] send (listen) socket(s) to ctrl"), Self ! {socket, [L1, L2, L3, L4, L5]}, ?P("[owner] ready"), @@ -8002,16 +9140,25 @@ do_socket_monitor2_manys(Config) -> %% processes that create monitors to it... socket_monitor2_manyc(Config) when is_list(Config) -> ct:timetrap(?MINS(1)), - ?TC_TRY(socket_monitor2_manyc, - fun() -> do_socket_monitor2_manyc(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_socket_monitor2_manyc(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_socket_monitor2_manyc(Config) -> +do_socket_monitor2_manyc(Config, Addr) -> ?P("begin"), Type = ?SOCKET_TYPE(Config), Self = self(), {OwnerPid, OwnerMon} = spawn_monitor(fun() -> - {ok, L} = ?LISTEN(Config), + {ok, L} = ?LISTEN(Config, 0, [{ip, Addr}]), Self ! {socket, L}, receive {Self, die} -> @@ -8069,15 +9216,25 @@ do_socket_monitor2_manyc(Config) -> %% processes that create monitors to it... otp_17492(Config) when is_list(Config) -> ct:timetrap(?MINS(1)), - ?TC_TRY(otp_17492, fun() -> do_otp_17492(Config) end). + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_otp_17492(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). -do_otp_17492(Config) -> +do_otp_17492(Config, Addr) -> ?P("begin"), Self = self(), ?P("try create listen socket"), - {ok, L} = ?LISTEN(Config, 0, []), + {ok, L} = ?LISTEN(Config, 0, [{ip, Addr}]), ?P("try get (created) listen socket info"), try inet:info(L) of @@ -8185,6 +9342,68 @@ do_otp_18357(#{name := Name, addr := Addr}) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This is the most basic of tests. +otp_18707(Config) when is_list(Config) -> + ct:timetrap(?MINS(1)), + ?TC_TRY(?FUNCTION_NAME, + fun() -> + %% We are not actually trying to make a connection... + is_socket_supported(), + case ?EXPLICIT_INET_BACKEND() of + true -> + case ?WHICH_INET_BACKEND(Config) of + socket -> + ok; + Backend -> + ?SKIPT({backend, Backend}) + end; + _ -> + ok + end + end, + fun() -> do_otp_18707(Config) end). + +do_otp_18707(_Config) -> + ?P("begin"), + + try gen_tcp:connect(#{port => 80, + addr => {127, 0, 0, 1}, + family => inet}, + [{inet_backend, socket}]) of + {ok, Sock} -> + %% Since we do not know what is going on + %% on the machines we run the tests, this + %% call "might" actually succeed... + ?P("(expected) connect success"), + gen_tcp:close(Sock), + ok; + {error, _Reason} -> + ?P("expected failure: " + "~n ~p", [_Reason]), + ok + catch + C:E:S -> + ?P("unexpected failure: " + "~n C: ~p" + "~n E: ~p" + "~n S: ~p", [C, E, S]), + ct:fail({unexpected_failure, C, E, S}) + end, + + ?P("done"), + ok. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +is_windows() -> + case os:type() of + {win32, nt} -> + true; + _ -> + false + end. + is_socket_supported() -> try socket:info() of #{} -> @@ -8196,6 +9415,9 @@ is_socket_supported() -> skip("esock not configured") end. +has_support_sock_priority() -> + has_support_socket_option_sock(priority). + has_support_sock_bindtodevice() -> has_support_socket_option_sock(bindtodevice). diff --git a/lib/kernel/test/gen_udp_SUITE.erl b/lib/kernel/test/gen_udp_SUITE.erl index 4aefee8a798e..a816041a709b 100644 --- a/lib/kernel/test/gen_udp_SUITE.erl +++ b/lib/kernel/test/gen_udp_SUITE.erl @@ -237,16 +237,49 @@ init_per_group(inet_backend_socket = _GroupName, Config) -> false -> [{socket_create_opts, [{inet_backend, socket}]} | Config] end; -init_per_group(local, Config) -> - ?P("init_per_group(local) -> do we support 'local'"), - case ?OPEN(Config, 0, [local]) of - {ok,S} -> - ?P("init_per_group(local) -> we support 'local'"), - ok = gen_udp:close(S), - Config; - {error, eafnosupport} -> - ?P("init_per_group(local) -> we *do not* support 'local'"), - {skip, "AF_LOCAL not supported"} +init_per_group(local, Config) -> + ?P("init_per_group(local) -> " + "is socket supported and is inet-backend = socket ?"), + case ?LIB:is_socket_supported() andalso ?IS_SOCKET_BACKEND(Config) of + true -> + ?P("init_per_group(local) -> [socket] do we support 'local'?"), + case ?LIB:has_support_unix_domain_socket() of + true -> + ?P("init_per_group(local) -> [socket] which platform?"), + case os:type() of + {win32, _} -> + %% AF_LOCAL (AF_UNIX) is *not* (yet) supported + %% for DGRAM (UDP) + ?P("init_per_group(local) -> " + "[socket,win32] 'local' not (currently) " + "supported for DGRAM on windows"), + {skip, "AF_LOCAL not supported"}; + {OSF, _} -> + ?P("init_per_group(local) -> " + "[socket,~w] we support (DGRAM) 'local'!", + [OSF]), + Config + end; + false -> + {skip, "AF_LOCAL not supported"} + end; + false -> + ?P("init_per_group(local) -> [inet] do we support 'local'?"), + case ?OPEN(Config, 0, [local]) of + {ok,S} -> + ?P("init_per_group(local) -> " + "[inet] we support (DGRAM) 'local'!"), + ok = gen_udp:close(S), + Config; + {error, eafnosupport} -> + ?P("init_per_group(local) -> " + "[inet] we *do not* support 'local'"), + {skip, "AF_LOCAL not supported"}; + {error, {invalid, {domain, local}}} -> + ?P("init_per_group(local) -> " + "[inet] we *do not* support 'local'"), + {skip, "AF_LOCAL not supported"} + end end; init_per_group(sockaddr = _GroupName, Config) -> ?P("init_per_group(sockaddr) -> do we support 'socket'"), @@ -332,9 +365,10 @@ send_to_closed(Config) when is_list(Config) -> do_send_to_closed(Config) -> {ok, Sock} = ?OPEN(Config, 0), - ok = gen_udp:send(Sock, {127,0,0,1}, ?CLOSED_PORT, "foo"), + {ok, Addr} = ?LIB:which_local_addr(inet), + ok = gen_udp:send(Sock, Addr, ?CLOSED_PORT, "foo"), timer:sleep(2), - ok = gen_udp:send(Sock, {127,0,0,1}, ?CLOSED_PORT, "foo"), + ok = gen_udp:send(Sock, Addr, ?CLOSED_PORT, "foo"), ok = gen_udp:close(Sock), ok. @@ -362,16 +396,37 @@ do_send_to_empty(Config) -> %% Test UDP buffer size setting. buffer_size(Config) when is_list(Config) -> - ?TC_TRY(?FUNCTION_NAME, fun() -> do_buffer_size(Config) end). + Cond = fun() -> + case os:type() of + {win32, nt} -> + case ?IS_SOCKET_BACKEND(Config) of + true -> + {skip, "TC not compliant with socket (yet)"}; + false -> + ok + end; + _ -> + ok + end + end, + TC = fun() -> do_buffer_size(Config) end, + ?TC_TRY(?FUNCTION_NAME, Cond, TC). do_buffer_size(Config) when is_list(Config) -> + {ok, Addr} = ?LIB:which_local_addr(inet), + ClientIP = Addr, + ServerIP = Addr, Len = 256, Bin = list_to_binary(lists:seq(0, Len-1)), M = 8192 div Len, + SAFE = 3, + LONG = 1, Spec0 = - [{opt,M},{safe,M-3},{long,M+1}, - {opt,2*M},{safe,2*M-3},{long,2*M+1}, - {opt,4*M},{safe,4*M-3},{long,4*M+1}], + [ + {opt, M}, {safe, M - SAFE}, {long, M + LONG}, + {opt, 2*M}, {safe, 2*M - SAFE}, {long, 2*M + LONG}, + {opt, 4*M}, {safe, 4*M - SAFE}, {long, 4*M + LONG} + ], Spec = [case Tag of opt -> @@ -384,17 +439,18 @@ do_buffer_size(Config) when is_list(Config) -> [truncated,emsgsize,timeout]} end || {Tag,Val} <- Spec0], %% - {ok, ClientSocket} = ?OPEN(Config, 0, [binary]), - {ok, ClientPort} = inet:port(ClientSocket), + {ok, ClientSocket} = ?OPEN(Config, 0, [binary, {ip, ClientIP}]), + {ok, ClientPort} = inet:port(ClientSocket), Client = self(), - ClientIP = {127,0,0,1}, - ServerIP = {127,0,0,1}, ?P("Client: {~p, ~p}, ~p", [ClientIP, ClientPort, ClientSocket]), Server = spawn_link( - fun () -> - {ok, ServerSocket} = ?OPEN(Config, 0, [binary]), - {ok, ServerPort} = inet:port(ServerSocket), + fun () -> + ?P("buffer_size[server] -> starting"), + {ok, ServerSocket} = + ?OPEN(Config, 0, [binary, {ip, ServerIP}]), + {ok, ServerPort} = + inet:port(ServerSocket), Client ! {self(),port,ServerPort}, buffer_size_server(Client, ClientIP, ClientPort, ServerSocket, 1, Spec), @@ -417,35 +473,48 @@ buffer_size_client(_, _, _, _, _, []) -> ok; buffer_size_client(Server, IP, Port, Socket, Cnt, [Opts|T]) when is_list(Opts) -> - ?P("buffer_size_client -> Cnt=~w setopts ~p", [Cnt, Opts]), + ?P("buffer_size_client(~w) -> entry with" + "~n Opts: ~p", [Cnt, Opts]), ok = inet:setopts(Socket, Opts), GOpts = [K || {K, _} <- Opts], - ?P("buffer_size_client -> opts result: ~p", [inet:getopts(Socket, GOpts)]), + ?P("buffer_size_client(~w) -> options after set: " + "~n ~p", [Cnt, inet:getopts(Socket, GOpts)]), Server ! {self(),setopts,Cnt}, receive {Server,setopts,Cnt} -> ok end, buffer_size_client(Server, IP, Port, Socket, Cnt+1, T); buffer_size_client(Server, IP, Port, Socket, Cnt, [{B,Replies}|T]=Opts) when is_binary(B) -> - ?P("buffer_size_client -> Cnt=~w send size ~w expecting ~p when" - "~n Info: ~p", + ?P("buffer_size_client(~w) -> entry with" + "~n send size: ~w" + "~n expecting: ~p" + "~nwhen" + "~n Socket Info: ~p", [Cnt, byte_size(B), Replies, inet:info(Socket)]), case gen_udp:send(Socket, IP, Port, <>) of ok -> receive {Server, Cnt, Reply} -> + ?P("buffer_size_client(~w) -> " + "~n Reply: ~p", [Cnt, Reply]), Tag = - if - is_tuple(Reply) -> - element(1, Reply); - is_atom(Reply) -> - Reply - end, + case Reply of + %% {completion_status, #{info := Tag0}} + %% when is_atom(Tag0) -> + %% Tag0; + %% {completion_status, Tag0} when is_atom(Tag0) -> + %% Tag0; + {Tag0, _} -> + Tag0; + Tag0 when is_atom(Tag0) -> + Tag0 + end, case lists:member(Tag, Replies) of true -> ok; false -> - ?P("missing from expected replies: " + ?P("buffer_size_client(~w) -> " + "missing from expected replies: " "~n Tag: ~p" - "~n Replies: ~p", [Tag, Replies]), + "~n Replies: ~p", [Cnt, Tag, Replies]), ct:fail({reply_mismatch,Cnt,Reply,Replies, byte_size(B), inet:getopts(Socket, @@ -453,6 +522,7 @@ buffer_size_client(Server, IP, Port, end, buffer_size_client(Server, IP, Port, Socket, Cnt+1, T) after 1313 -> + %% ?P("buffer_size_client(~w) -> timeout", [Cnt]), buffer_size_client(Server, IP, Port, Socket, Cnt, Opts) end; @@ -472,23 +542,34 @@ buffer_size_server(_, _, _, _, _, []) -> ok; buffer_size_server(Client, IP, Port, Socket, Cnt, [Opts|T]) when is_list(Opts) -> - ?P("buffer_size_server -> await client setopts"), + ?P("buffer_size_server(~w) -> entry when await client setopts", [Cnt]), receive {Client, setopts, Cnt} -> ok end, - ?P("buffer_size_server -> Cnt=~w setopts ~p", [Cnt, Opts]), + ?P("buffer_size_server(~w) -> setopts with " + "~n Opts: ~p" + "~nwhen" + "~n Socket info: ~p", [Cnt, Opts, inet:info(Socket)]), ok = inet:setopts(Socket, Opts), GOpts = [K || {K, _} <- Opts], - ?P("buffer_size_server -> opts result: ~p", [inet:getopts(Socket, GOpts)]), + ?P("buffer_size_server(~w) -> options after set: " + "~n ~p" + "~nwhen" + "~n Socket info: ~p", + [Cnt, inet:getopts(Socket, GOpts), inet:info(Socket)]), Client ! {self(), setopts, Cnt}, buffer_size_server(Client, IP, Port, Socket, Cnt+1, T); buffer_size_server(Client, IP, Port, Socket, Cnt, [{B,_}|T]) when is_binary(B) -> - ?P("buffer_size_server -> try receive: Cnt=~w and ~w bytes of data", - [Cnt, byte_size(B)]), + ?P("buffer_size_server(~w) -> entry when" + "~n expect ~w bytes of data" + "~nwhen" + "~n Socket info: ~p" + "~n MQ: ~p", [Cnt, byte_size(B), inet:info(Socket), mq()]), Reply = case buffer_size_server_recv(Socket, IP, Port, Cnt) of D when is_binary(D) -> SizeD = byte_size(D), - ?P("buffer_size_server -> received: ~w bytes of data", - [SizeD]), + ?P("buffer_size_server(~w) -> received: ~w bytes of data" + "~nwhen" + "~n Socket Info: ~p", [Cnt, SizeD, inet:info(Socket)]), case B of D -> correct; @@ -498,51 +579,69 @@ buffer_size_server(Client, IP, Port, {unexpected,D} end; Error -> - ?P("buffer_size_server -> error: Cnt=~w received error ~w", - [Cnt, Error]), + ?P("buffer_size_server(~w) -> error:" + "~n ~p" + "~nwhen" + "~n Socket Info: ~p", + [Cnt, Error, inet:info(Socket)]), Error end, - ?P("buffer_size_server -> send reply '~p'", [Reply]), + ?P("buffer_size_server(~w) -> send reply '~p' when" + "~n Socket Info: ~p", [Cnt, Reply, inet:info(Socket)]), Client ! {self(), Cnt, Reply}, + ?SLEEP(?SECS(1)), buffer_size_server(Client, IP, Port, Socket, Cnt+1, T). buffer_size_server_recv(Socket, IP, Port, Cnt) -> - ?P("buffer_size_server -> await data: " - "~n Socket: ~p" - "~n IP: ~p" - "~n Port: ~p" - "~n Cnt: ~p", [Socket, IP, Port, Cnt]), + ?P("buffer_size_server(~w) -> await data: " + "~n Socket: ~p" + "~n IP: ~p" + "~n Port: ~p" + "~nwhen" + "~n Socket Info: ~p", [Cnt, Socket, IP, Port, inet:info(Socket)]), receive {udp, Socket, IP, Port, <>} -> - ?P("buffer_size_server -> received (~w) ~w bytes", [Cnt, byte_size(B)]), + ?P("buffer_size_server(~w) -> received ~w bytes", + [Cnt, byte_size(B)]), B; {udp, Socket, IP, Port, <<_B/binary>>} -> - ?P("buffer_size_server -> received unexpected ~w bytes", - [byte_size(_B)]), + ?P("buffer_size_server(~w) -> received unexpected ~w bytes", + [Cnt, byte_size(_B)]), buffer_size_server_recv(Socket, IP, Port, Cnt); {udp, Socket, IP, Port, _CRAP} -> - ?P("buffer_size_server -> received unexpected crap"), + ?P("buffer_size_server(~w) -> received unexpected crap", [Cnt]), buffer_size_server_recv(Socket, IP, Port, Cnt); {udp, XSocket, XIP, XPort, _CRAP} -> - ?P("buffer_size_server -> received unexpected udp message: " + ?P("buffer_size_server(~w) -> received unexpected udp message: " "~n XSocket: ~p" "~n Socket: ~p" "~n XIP: ~p" "~n IP: ~p" "~n XPort: ~p" "~n Port: ~p", - [XSocket, Socket, XIP, IP, XPort, Port]), + [Cnt, XSocket, Socket, XIP, IP, XPort, Port]), buffer_size_server_recv(Socket, IP, Port, Cnt); + {udp_closed, Socket} -> + ?P("buffer_size_server(~w) -> received unexpected 'closed'", [Cnt]), + closed; + {udp_error, Socket, Error} -> - ?P("buffer_size_server -> error: ~p", [Error]), + ?P("buffer_size_server(~w) -> error: " + "~n ~p", [Cnt, Error]), + ok = inet:setopts(Socket, [{active, true}]), Error after 5000 -> - ?P("buffer_size_server -> timeout"), - {timeout, flush()} + ?P("buffer_size_server(~w) -> timeout: " + "~n Socket: ~p" + "~n Socket Info: ~p" + "~n Process Info: ~p", + [Cnt, + Socket, inet:info(Socket), erlang:process_info(self())]), + {timeout, mq()} end. @@ -605,6 +704,7 @@ do_binary_passive_recv(Config) when is_list(Config) -> <<>>, $a, [[], " lazy ", <<"dog">>]], D2 = iolist_to_binary(D3), B = D2, + {ok, Addr} = ?LIB:which_local_addr(inet), ?P("open receive socket"), {ok, R} = ?OPEN(Config, 0, [binary, {active, false}, {debug, true}]), ok = inet:setopts(R, [{debug, false}]), @@ -613,17 +713,17 @@ do_binary_passive_recv(Config) when is_list(Config) -> {ok, S} = ?OPEN(Config, 0), {ok, SP} = inet:port(S), ?P("try send (to port ~w) ~w bytes (as a list)", [RP, length(D1)]), - ok = gen_udp:send(S, localhost, RP, D1), + ok = gen_udp:send(S, Addr, RP, D1), ?P("try recv (from port ~w) ~w bytes", [SP, byte_size(B)+1]), - {ok, {{127, 0, 0, 1}, SP, B}} = gen_udp:recv(R, byte_size(B)+1), + {ok, {Addr, SP, B}} = gen_udp:recv(R, byte_size(B)+1), ?P("try send (to port ~w) ~w bytes (as a binary)", [RP, byte_size(D2)]), - ok = gen_udp:send(S, localhost, RP, D2), + ok = gen_udp:send(S, Addr, RP, D2), ?P("try recv (from port ~w) ~w bytes", [SP, byte_size(B)+1]), - {ok, {{127, 0, 0, 1}, SP, B}} = gen_udp:recv(R, byte_size(B)+1), + {ok, {Addr, SP, B}} = gen_udp:recv(R, byte_size(B)+1), ?P("try send (to port ~w) ~w bytes (as a iolist)", [RP, iolist_size(D3)]), - ok = gen_udp:send(S, localhost, RP, D3), + ok = gen_udp:send(S, Addr, RP, D3), ?P("try recv (from port ~w) ~w bytes", [SP, byte_size(B)+1]), - {ok, {{127, 0, 0, 1}, SP, B}} = gen_udp:recv(R, byte_size(B)+1), + {ok, {Addr, SP, B}} = gen_udp:recv(R, byte_size(B)+1), ?P("cleanup"), ok = gen_udp:close(S), ok = gen_udp:close(R), @@ -708,21 +808,26 @@ do_read_packets(Config) when is_list(Config) -> N1 = 5, N2 = 1, Msgs = 30000, + {ok, Addr} = ?LIB:which_local_addr(inet), ?P("open socket (with read-packets: ~p)", [N1]), - {ok, R} = ?OPEN(Config, 0, [{read_packets,N1}]), - {ok, RP} = inet:port(R), + {ok, R} = ?OPEN(Config, 0, [{ip, Addr}, {read_packets,N1}]), + {ok, {RA, RP}} = inet:sockname(R), + ?P("reader: " + "~n Addr: ~p" + "~n Port: ~p", [RA, RP]), + ?P("create slave node"), {ok,Peer,Node} = ?CT_PEER(), %% ?P("perform read-packets test"), - {V1, Trace1} = read_packets_test(Config, R, RP, Msgs, Node), + {V1, Trace1} = read_packets_test(Config, R, RA, RP, Msgs, Node), ?P("verify read-packets (to ~w)", [N1]), {ok,[{read_packets,N1}]} = inet:getopts(R, [read_packets]), %% ?P("set new read-packets: ~p", [N2]), ok = inet:setopts(R, [{read_packets, N2}]), ?P("perform read-packets test"), - {V2, Trace2} = read_packets_test(Config, R, RP, Msgs, Node), + {V2, Trace2} = read_packets_test(Config, R, RA, RP, Msgs, Node), ?P("verify read-packets (to ~w)", [N2]), {ok, [{read_packets,N2}]} = inet:getopts(R, [read_packets]), %% @@ -762,7 +867,7 @@ dump_terms(Config, Name, Terms) -> file:write_file(FName, term_to_binary(Terms)), ct:log("Logged terms to ~s",[FName]). -read_packets_test(Config, R, RP, Msgs, Node) -> +read_packets_test(Config, R, RA, RP, Msgs, Node) -> Receiver = self(), Tracer = spawn_link( @@ -776,17 +881,19 @@ read_packets_test(Config, R, RP, Msgs, Node) -> spawn_opt( Node, fun () -> - {ok, S} = ?OPEN(Config, 0), - {ok, SP} = inet:port(S), - Receiver ! {self(),{port,SP}}, + %% We run on the same "machine" as R, + %% so use the same addr + {ok, S} = ?OPEN(Config, 0, [{ip, RA}]), + {ok, {SA, SP}} = inet:sockname(S), + Receiver ! {self(),{sockname, {SA, SP}}}, receive {Receiver,go} -> - read_packets_send(S, RP, Msgs) + read_packets_send(S, RA, RP, Msgs) end end, [link,{priority,high}]), receive - {Sender,{port,SP}} -> + {Sender, {sockname, {SA, SP}}} -> erlang:trace(R, true, [running_ports,'send',{tracer,Tracer}]), erlang:yield(), @@ -796,15 +903,15 @@ read_packets_test(Config, R, RP, Msgs, Node) -> Tracer ! {Receiver,get_trace}, receive {Tracer,{trace,Trace}} -> - {read_packets_verify(R, SP, Trace), Trace} + {read_packets_verify(R, SA, SP, Trace), Trace} end end. -read_packets_send(_S, _RP, 0) -> +read_packets_send(_S, _RA, _RP, 0) -> ok; -read_packets_send(S, RP, Msgs) -> - ok = gen_udp:send(S, localhost, RP, "UDP FLOOOOOOD"), - read_packets_send(S, RP, Msgs - 1). +read_packets_send(S, RA, RP, Msgs) -> + ok = gen_udp:send(S, RA, RP, "UDP FLOOOOOOD"), + read_packets_send(S, RA, RP, Msgs - 1). read_packets_recv(0) -> ok; @@ -816,27 +923,28 @@ read_packets_recv(N) -> timeout end. -read_packets_verify(R, SP, Trace) -> - [Max | _] = Pkts = lists:reverse(lists:sort(read_packets_verify(R, SP, Trace, 0))), +read_packets_verify(R, SA, SP, Trace) -> + [Max | _] = Pkts = + lists:reverse(lists:sort(read_packets_verify(R, SA, SP, Trace, 0))), ?P("read-packets verify: ~p", [lists:sublist(Pkts,10)]), Max. -read_packets_verify(R, SP, [{trace,R,OutIn,_}|Trace], M) +read_packets_verify(R, SA, SP, [{trace,R,OutIn,_}|Trace], M) when OutIn =:= out; OutIn =:= in -> - push(M, read_packets_verify(R, SP, Trace, 0)); -read_packets_verify(R, SP, [{trace, R,'receive',timeout}|Trace], M) -> - push(M, read_packets_verify(R, SP, Trace, 0)); -read_packets_verify(R, SP, - [{trace,R,'send',{udp,R,{127,0,0,1},SP,_Msg}, Self} | Trace], M) + push(M, read_packets_verify(R, SA, SP, Trace, 0)); +read_packets_verify(R, SA, SP, [{trace, R,'receive',timeout}|Trace], M) -> + push(M, read_packets_verify(R, SA, SP, Trace, 0)); +read_packets_verify(R, SA, SP, + [{trace,R,'send',{udp, R, SA, SP,_Msg}, Self} | Trace], M) when Self =:= self() -> - read_packets_verify(R, SP, Trace, M+1); -read_packets_verify(_R, _SP, [], M) -> + read_packets_verify(R, SA, SP, Trace, M+1); +read_packets_verify(_R, _SA, _SP, [], M) -> push(M, []); -read_packets_verify(R, SP, [T | Trace], M) -> +read_packets_verify(R, SA, SP, [T | Trace], M) -> ct:fail( {read_packets_verify, mismatch, self(), - {R, SP, [T, length(Trace)], M}}); -read_packets_verify(_R, _SP, Trace, M) -> + {R, SA, SP, [T, length(Trace)], M}}); +read_packets_verify(_R, _SA, _SP, Trace, M) -> ct:fail({read_packets_verify,mismatch,Trace,M}). push(0, Vs) -> @@ -859,10 +967,11 @@ flush() -> recv_poll_after_active_once(Config) when is_list(Config) -> Msg1 = <<"Hej!">>, Msg2 = <<"Hej igen!">>, - Addr = {127,0,0,1}, - {ok,S1} = ?OPEN(Config, 0, [binary, {active, once}]), + {ok, Addr} = ?LIB:which_local_addr(inet), + %% Addr = {127,0,0,1}, + {ok,S1} = ?OPEN(Config, 0, [binary, {ip, Addr}, {active, once}]), {ok,P1} = inet:port(S1), - {ok,S2} = ?OPEN(Config, 0, [binary, {active, false}]), + {ok,S2} = ?OPEN(Config, 0, [binary, {ip, Addr}, {active, false}]), {ok,P2} = inet:port(S2), ok = gen_udp:send(S2, Addr, P1, Msg1), receive @@ -877,7 +986,9 @@ recv_poll_after_active_once(Config) when is_list(Config) -> %% Test that the 'fd' option works. open_fd(Config) when is_list(Config) -> - ?TC_TRY(?FUNCTION_NAME, fun() -> do_open_fd(Config) end). + ?TC_TRY(?FUNCTION_NAME, + fun() -> is_not_windows() end, + fun() -> do_open_fd(Config) end). do_open_fd(Config) when is_list(Config) -> Msg = "Det gör ont när knoppar brista. Varför skulle annars våren tveka?", @@ -957,7 +1068,8 @@ active_n(Config) when is_list(Config) -> do_active_n(Config) when is_list(Config) -> N = 3, ?P("create socket (1) with active = ~w", [N]), - S1 = ok(?OPEN(Config, 0, [{active,N}])), + {ok, Addr} = ?LIB:which_local_addr(inet), + S1 = ok(?OPEN(Config, 0, [{ip, Addr}, {active,N}])), ?P("verify socket active = ~w (~p)", [N, which_info(S1)]), [{active,N}] = ok(inet:getopts(S1, [active])), @@ -1049,10 +1161,21 @@ do_active_n(Config) when is_list(Config) -> ?P("verify socket active passive (=false) (~p)", [which_info(S1)]), [{active,false}] = ok(inet:getopts(S1, [active])), - S1Port = ok(inet:port(S1)), + %% S1Port = ok(inet:port(S1)), + {S1Addr, S1Port} = ok(inet:sockname(S1)), + ?P("S1 sockname: " + "~n Addr: ~p" + "~n Port: ~p", [S1Addr, S1Port]), + ?P("create socket (2) with active = ~w", [N]), - S2 = ok(?OPEN(Config, 0, [{active,N}])), - S2Port = ok(inet:port(S2)), + S2 = ok(?OPEN(Config, 0, [{ip, Addr}, {active,N}])), + + %% S2Port = ok(inet:port(S2)), + {S2Addr, S2Port} = ok(inet:sockname(S2)), + ?P("S2 sockname: " + "~n Addr: ~p" + "~n Port: ~p", [S2Addr, S2Port]), + ?P("verify socket (2) active = ~w (~p)", [N, which_info(S2)]), [{active,N}] = ok(inet:getopts(S2, [active])), ?P("set socket (1) active = ~w and expect success", [N]), @@ -1065,18 +1188,25 @@ do_active_n(Config) when is_list(Config) -> lists:foreach( fun(I) -> Msg = "message "++integer_to_list(I), - ?P("send message ~w from S2 to S1 (~w):" - "~n S1: ~p" - "~n S2: ~p", - [I, S1Port, inet:info(S1), inet:info(S2)]), - ok = gen_udp:send(S2, "localhost", S1Port, Msg), + ?P("send message ~w from S2 to S1 (~p, ~w):" + "~n S1 info: ~p" + "~n S2 info: ~p", + [I, S1Addr, S1Port, inet:info(S1), inet:info(S2)]), + case gen_udp:send(S2, S1Addr, S1Port, Msg) of + ok -> + ok; + {error, Reason} = ERROR -> + ?P("Failed sending message ~w: " + "~n ~p", [N, Reason]), + exit(ERROR) + end, ?P("expect message on S1"), receive {udp, S1, _, S2Port, Msg} -> ?P("expected message received on S1 - " - "send message back: from S1 to S2 (~w): " - "~n ~p", [S2Port, inet:info(S1)]), - ok = gen_udp:send(S1, "localhost", S2Port, Msg) + "send message back: from S1 to S2 (~p, ~w): " + "~n ~p", [S2Addr, S2Port, inet:info(S1)]), + ok = gen_udp:send(S1, S2Addr, S2Port, Msg) after 5000 -> ?P("ERROR: received nothing (->S1)"), @@ -1118,7 +1248,7 @@ do_active_n(Config) when is_list(Config) -> end, ?P("create socket (3) with active = ~w and expect passive message", [0]), - S3 = ok(?OPEN(Config, 0, [{active,0}])), + S3 = ok(?OPEN(Config, 0, [{ip, Addr}, {active,0}])), receive {udp_passive,S3} -> ?P("received passive message for socket (3) - " @@ -1742,7 +1872,10 @@ recv_close(Config) when is_list(Config) -> %% Test that connect/3 has effect. connect(Config) when is_list(Config) -> - ?TC_TRY(?FUNCTION_NAME, fun() -> do_connect(Config) end). + ?TC_TRY(?FUNCTION_NAME, + %% *Currently* not implemented + fun() -> is_not_windows() end, + fun() -> do_connect(Config) end). do_connect(Config) when is_list(Config) -> ?P("begin"), @@ -1787,7 +1920,10 @@ do_connect(Config) when is_list(Config) -> reconnect(Config) when is_list(Config) -> - ?TC_TRY(?FUNCTION_NAME, fun () -> do_reconnect(Config) end). + ?TC_TRY(?FUNCTION_NAME, + %% *Currently* not implemented + fun() -> is_not_windows() end, + fun () -> do_reconnect(Config) end). do_reconnect(Config) -> LoopAddr = {127,0,0,1}, @@ -1844,6 +1980,7 @@ open_port_0(Config, Port, Opts, N) -> Error end. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% implicit_inet6(Config) when is_list(Config) -> @@ -3038,11 +3175,16 @@ is_net_supported() -> is_not_darwin() -> is_not_platform(darwin, "Darwin"). +is_not_windows() -> + is_not_platform(win32, "Windows"). + is_not_platform(Platform, PlatformStr) when is_atom(Platform) andalso is_list(PlatformStr) -> case os:type() of {unix, Platform} -> skip("This does not work on " ++ PlatformStr); + {win32, nt} when (Platform =:= win32) -> + skip("This does not work on " ++ PlatformStr); _ -> ok end. diff --git a/lib/kernel/test/global_SUITE.erl b/lib/kernel/test/global_SUITE.erl index 9a367ca5fa15..325e3ff79b06 100644 --- a/lib/kernel/test/global_SUITE.erl +++ b/lib/kernel/test/global_SUITE.erl @@ -19,7 +19,7 @@ %% -module(global_SUITE). --compile(r23). % many_nodes() +-compile(r24). % many_nodes() -export([all/0, suite/0, groups/0, init_per_suite/1, end_per_suite/1, diff --git a/lib/kernel/test/inet_SUITE.erl b/lib/kernel/test/inet_SUITE.erl index 9061b67be146..fedcd3d50fa6 100644 --- a/lib/kernel/test/inet_SUITE.erl +++ b/lib/kernel/test/inet_SUITE.erl @@ -133,9 +133,13 @@ init_per_suite(Config0) -> Config1 when is_list(Config1) -> + %% We need a monitor on this node also + ?P("init_per_suite -> try start system monitor"), + kernel_test_sys_monitor:start(), + ?P("init_per_suite -> end when " "~n Config: ~p", [Config1]), - + Config1 end. @@ -145,6 +149,10 @@ end_per_suite(Config0) -> "~n Config: ~p" "~n Nodes: ~p", [Config0, erlang:nodes()]), + %% Stop the local monitor + ?P("init_per_suite -> try stop system monitor"), + kernel_test_sys_monitor:stop(), + Config1 = ?LIB:end_per_suite(Config0), ?P("end_per_suite -> " @@ -166,7 +174,7 @@ init_per_testcase(Case, Config0) -> "~n Nodes: ~p" "~n Links: ~p" "~n Monitors: ~p", - [Config0, erlang:nodes(), pi(links), pi(monitors)]), + [Config0, erlang:nodes(), links(), monitors()]), kernel_test_global_sys_monitor:reset_events(), @@ -176,7 +184,7 @@ init_per_testcase(Case, Config0) -> "~n Config: ~p" "~n Nodes: ~p" "~n Links: ~p" - "~n Monitors: ~p", [Config1, erlang:nodes(), pi(links), pi(monitors)]), + "~n Monitors: ~p", [Config1, erlang:nodes(), links(), monitors()]), Config1. init_per_testcase2(gethostnative_debug_level, Config) -> @@ -204,7 +212,7 @@ end_per_testcase(Case, Config) -> "~n Nodes: ~p" "~n Links: ~p" "~n Monitors: ~p", - [Config, erlang:nodes(), pi(links), pi(monitors)]), + [Config, erlang:nodes(), links(), monitors()]), ?P("system events during test: " "~n ~p", [kernel_test_global_sys_monitor:events()]), @@ -214,7 +222,7 @@ end_per_testcase(Case, Config) -> ?P("end_per_testcase -> done with" "~n Nodes: ~p" "~n Links: ~p" - "~n Monitors: ~p", [erlang:nodes(), pi(links), pi(monitors)]), + "~n Monitors: ~p", [erlang:nodes(), links(), monitors()]), ok. end_per_testcase2(lookup_bad_search_option, Config) -> @@ -1967,18 +1975,28 @@ socknames_sctp(Config) when is_list(Config) -> socknames_tcp(Config) when is_list(Config) -> - ?TC_TRY(?FUNCTION_NAME, fun() -> do_socknames_tcp0(Config) end). - -do_socknames_tcp0(_Config) -> + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_socknames_tcp0(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). + +do_socknames_tcp0(_Config, Addr) -> %% Begin with a the plain old boring (= port) socket(s) ?P("Test socknames for 'old' socket (=port)"), - do_socknames_tcp1([]), + do_socknames_tcp1([], Addr), %% And *maybe* also check the 'new' shiny socket sockets try socket:info() of #{} -> ?P("Test socknames for 'new' socket (=socket nif)"), - do_socknames_tcp1([{inet_backend, socket}]) + do_socknames_tcp1([{inet_backend, socket}], Addr) catch error:notsup -> ?P("Skip test of socknames for 'new' socket (=socket nif)"), @@ -1991,9 +2009,13 @@ do_socknames_tcp0(_Config) -> end. -do_socknames_tcp1(Conf) -> +do_socknames_tcp1(Conf, Addr) -> + %% For socket on windows, we require binding... + ?P("try to bind to ~p", [Addr]), + BaseOpts = [{ip, Addr}], + ?P("try create listen socket"), - {ok, S1} = gen_tcp:listen(0, Conf), + {ok, S1} = gen_tcp:listen(0, Conf ++ BaseOpts), ?P("try get socknames for (listen) socket: " "~n ~p", [S1]), PortNumber1 = case inet:socknames(S1) of @@ -2009,7 +2031,7 @@ do_socknames_tcp1(Conf) -> exit({skip, {listen_socket, Reason1}}) end, ?P("try connect to listen socket on port ~p", [PortNumber1]), - {ok, S2} = gen_tcp:connect("localhost", PortNumber1, Conf), + {ok, S2} = gen_tcp:connect(Addr, PortNumber1, Conf ++ BaseOpts), ?P("try get socknames for (connected) socket: " "~n ~p", [S2]), case inet:socknames(S2) of @@ -2049,18 +2071,28 @@ do_socknames_tcp1(Conf) -> socknames_udp(Config) when is_list(Config) -> - ?TC_TRY(?FUNCTION_NAME, fun() -> do_socknames_udp0(Config) end). - -do_socknames_udp0(_Config) -> + Cond = fun() -> ok end, + Pre = fun() -> case ?WHICH_LOCAL_ADDR(inet) of + {ok, Addr} -> + Addr; + {error, Reason} -> + throw({skip, Reason}) + end + end, + TC = fun(Addr) -> do_socknames_udp0(Config, Addr) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, TC, Post). + +do_socknames_udp0(_Config, Addr) -> %% Begin with a the plain old boring (= port) socket(s) ?P("Test socknames for 'old' socket (=port)"), - do_socknames_udp1([]), + do_socknames_udp1([], Addr), %% And *maybe* also check the 'new' shiny socket sockets try socket:info() of #{} -> ?P("Test socknames for 'new' socket (=socket nif)"), - do_socknames_udp1([{inet_backend, socket}]) + do_socknames_udp1([{inet_backend, socket}], Addr) catch error : notsup -> ?P("Skip test of socknames for 'new' socket (=socket nif)"), @@ -2073,9 +2105,13 @@ do_socknames_udp0(_Config) -> end. -do_socknames_udp1(Conf) -> +do_socknames_udp1(Conf, Addr) -> + %% For socket on windows, we require binding... + ?P("try to bind to ~p", [Addr]), + BaseOpts = [{ip, Addr}], + ?P("try create socket"), - {ok, S1} = gen_udp:open(0, Conf), + {ok, S1} = gen_udp:open(0, Conf ++ BaseOpts), ?P("try get socknames for socket: " "~n ~p", [S1]), case inet:socknames(S1) of @@ -2090,6 +2126,8 @@ do_socknames_udp1(Conf) -> "~n ~p", [Reason1]), exit({skip, {listen_socket, Reason1}}) end, + ?P("enable debug"), + inet:setopts(S1, [{debug, true}]), ?P("close socket"), (catch gen_udp:close(S1)), ?P("done"), @@ -2099,6 +2137,12 @@ do_socknames_udp1(Conf) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +links() -> + pi(links). + +monitors() -> + pi(monitors). + pi(Item) -> {Item, Val} = process_info(self(), Item), Val. diff --git a/lib/kernel/test/inet_res_SUITE.erl b/lib/kernel/test/inet_res_SUITE.erl index ac147551f224..045fdcc83bf8 100644 --- a/lib/kernel/test/inet_res_SUITE.erl +++ b/lib/kernel/test/inet_res_SUITE.erl @@ -32,10 +32,10 @@ init_per_testcase/2, end_per_testcase/2 ]). -export([basic/1, name_addr_and_cached/1, resolve/1, - edns0/1, txt_record/1, files_monitor/1, + edns0/1, edns0_multi_formerr/1, txt_record/1, files_monitor/1, nxdomain_reply/1, last_ms_answer/1, intermediate_error/1, servfail_retry_timeout_default/1, servfail_retry_timeout_1000/1, - label_compression_limit/1 + label_compression_limit/1, update/1, tsig_client/1, tsig_server/1 ]). -export([ gethostbyaddr/0, gethostbyaddr/1, @@ -69,15 +69,15 @@ suite() -> [{ct_hooks,[ts_install_cth]}, - {timetrap,{minutes,1}}]. + {timetrap,{seconds,15}}]. all() -> [basic, resolve, name_addr_and_cached, - edns0, txt_record, files_monitor, + edns0, edns0_multi_formerr, txt_record, files_monitor, nxdomain_reply, last_ms_answer, intermediate_error, servfail_retry_timeout_default, servfail_retry_timeout_1000, - label_compression_limit, + label_compression_limit, update, tsig_client, tsig_server, gethostbyaddr, gethostbyaddr_v6, gethostbyname, gethostbyname_v6, getaddr, getaddr_v6, ipv4_to_ipv6, host_and_addr]. @@ -129,9 +129,12 @@ zone_dir(TC) -> name_addr_and_cached -> otptest; resolve -> otptest; edns0 -> otptest; + edns0_multi_formerr -> otptest; files_monitor -> otptest; nxdomain_reply -> otptest; last_ms_answer -> otptest; + update -> otptest; + tsig_client -> otptest; intermediate_error -> {internal, #{rcode => ?REFUSED}}; @@ -169,14 +172,17 @@ init_per_testcase(Func, Config) -> %% dbg:p(all, c), %% dbg:tpl(inet_res, query_nss_res, cx), ?P("init_per_testcase -> done:" - "~n NsSpec: ~p" - "~n Lookup: ~p", [NsSpec, Lookup]), + "~n NsSpec: ~p" + "~n Lookup: ~p", [NsSpec, Lookup]), [{nameserver, NsSpec}, {res_lookup, Lookup} | Config] catch SkipReason -> - ?P("init_per_testcase -> caught:" - "~n SkipReason: ~p", [SkipReason]), - {skip, SkipReason} + ?P("init_per_testcase -> skip: ~p", [SkipReason]), + {skip, SkipReason}; + Class : Reason : Stacktrace -> + ?P("init_per_testcase -> ~w: ~p" + "~n ~p~n", [Class, Reason, Stacktrace]), + {fail, Reason} end. end_per_testcase(_Func, Config) -> @@ -252,11 +258,16 @@ ns_start(ZoneDir, PrivDir, NS, P) -> "Running: "++_ -> ?P("ns_start -> running"), {ZoneDir,NS,P}; + "Skip: "++Reason -> + ?P("ns_start -> skip: " + "~n ~p", [Reason]), + ns_printlog(filename:join([PrivDir,ZoneDir,?LOG_FILE])), + throw(Reason); "Error: "++Error -> ?P("ns_start -> error: " "~n ~p", [Error]), ns_printlog(filename:join([PrivDir,ZoneDir,?LOG_FILE])), - throw(Error); + error(Error); _X -> ?P("ns_start -> retry"), ns_start(ZoneDir, PrivDir, NS, P) @@ -1047,6 +1058,7 @@ check_msg(#{}, []) -> false. % At least one has to be ok edns0(Config) when is_list(Config) -> ?P("begin"), NS = ns(Config), + Opts = [{nameservers,[NS]},verbose], Domain = "otptest", Filler = "-5678901234567890123456789012345678.", MXs = lists:sort([{10,"mx."++Domain}, @@ -1060,12 +1072,9 @@ edns0(Config) when is_list(Config) -> false = inet_db:res_option(edns), % ASSERT true = inet_db:res_option(udp_payload_size) >= 1280, % ASSERT %% These will fall back to TCP - MXs = lists:sort(inet_res:lookup(Domain, in, mx, [{nameservers,[NS]},verbose])), - %% - {ok,#hostent{h_addr_list=As}} = inet_res:getbyname(Domain++".", mx), - MXs = lists:sort(As), + MXs = lists:sort(inet_res:lookup(Domain, in, mx, Opts)), %% - {ok,Msg1} = inet_res:resolve(Domain, in, mx), + {ok,Msg1} = inet_res:resolve(Domain, in, mx, Opts), MXs = lists:sort(inet_res_filter(inet_dns:msg(Msg1, anlist), in, mx)), %% There should be no OPT record in the answer [] = [RR || RR <- inet_dns:msg(Msg1, arlist), @@ -1076,7 +1085,7 @@ edns0(Config) when is_list(Config) -> %% Use EDNS - should not need to fall back to TCP %% there is no way to tell from the outside. %% - {ok,Msg2} = inet_res:resolve(Domain, in, mx, [{edns,0}]), + {ok,Msg2} = inet_res:resolve(Domain, in, mx, [{edns,0}|Opts]), MXs = lists:sort(inet_res_filter(inet_dns:msg(Msg2, anlist), in, mx)), Buf2 = inet_dns:encode(Msg2), {ok,Msg2} = inet_dns:decode(Buf2), @@ -1108,6 +1117,16 @@ inet_res_filter(Anlist, Class, Type) -> inet_dns:rr(RR, type) =:= Type, inet_dns:rr(RR, class) =:= Class]. +%% Test EDNS we catch multiple dns_opt_rr as FORMERR (RFC 6891: 6.1.1) +edns0_multi_formerr(Config) when is_list(Config) -> + Domain = "otptest", + Opts = [{nameservers,[ns(Config)]},{edns,0}], + {ok,DnsRec0} = inet_res:resolve(Domain, in, soa, Opts), + [EDNS|_] = [ X || X <- DnsRec0#dns_rec.arlist, is_record(X, dns_rr_opt) ], + DnsRec = DnsRec0#dns_rec{ arlist = [EDNS|DnsRec0#dns_rec.arlist] }, + {error,formerr} = inet_dns:decode(inet_dns:encode(DnsRec)), + ok. + %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1395,6 +1414,253 @@ incr_domain([Char | Domain]) -> [Char+1 | Domain]. +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Test that the data portion can only be zero bytes for UPDATEs +%% and that a real DNS server (Knot DNS) accepts our packet + +update(Config) when is_list(Config) -> + {NSIP,NSPort} = ns(Config), + Domain = "otptest", + + % test that empty data for a query fails + QueryRec = #dns_rec{ + header = #dns_header{ opcode = query }, + anlist = [ + #dns_rr{ domain = "test-update." ++ Domain, type = a } + ] + }, + true = try inet_dns:encode(QueryRec) of + _ -> + false + catch + error:{badmatch,[]}:_ -> + true + end, + + % test that empty data for an update + UpdateRec = #dns_rec{ + header = #dns_header{ opcode = update }, + % Zone + qdlist = [ + #dns_query{ domain = Domain, class = in, type = soa } + ], + % Update + nslist = [ + #dns_rr{ + domain = "update-test." ++ Domain, + ttl = 300, + class = in, + type = a, + data = {192,0,2,1} + } + ] + }, + UpdatePkt = inet_dns:encode(UpdateRec), + true = is_binary(UpdatePkt), + + % check if an actual DNS server accepts it + SockOpts = [binary,{active,false}], + {ok,Sock} = gen_udp:open(0, SockOpts), + ok = gen_udp:connect(Sock, NSIP, NSPort), + ok = gen_udp:send(Sock, UpdatePkt), + {ok,{NSIP,NSPort,ResponsePkt}} = gen_udp:recv(Sock, 0), + ok = gen_udp:close(Sock), + {ok,ResponseRec} = inet_dns:decode(ResponsePkt), + #dns_rec{ header = #dns_header{ rcode = ?NOERROR } } = ResponseRec, + + ok. + + +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Tests for TSIG + +% note for implementors reading this, the usage of +% inet_dns_tsig.erl is identical except you do not need +% to inspect the reponse for the presence of a TSIG RR +tsig_client(Config) when is_list(Config) -> + {NSIP,NSPort} = ns(Config), + Domain = "otptest", + Request = #dns_rec{ + header = #dns_header{}, + qdlist = [#dns_query{ domain = Domain, class = in, type = axfr }] + }, + Pkt = inet_dns:encode(Request), + + Key = {"testkey","ded5ada3-07f2-42b9-84bf-82d30f6795ee"}, + TS0 = inet_dns_tsig:init([{key,Key}]), + {ok,PktS,TS1} = inet_dns_tsig:sign(Pkt, TS0), + + SockOpts = [binary,{active,false},{nodelay,true},{packet,2}], + {ok,Sock} = gen_tcp:connect(NSIP, NSPort, SockOpts), + ok = gen_tcp:send(Sock, PktS), + ok = gen_tcp:shutdown(Sock, write), + Recv = fun(Recv, A) -> + case gen_tcp:recv(Sock, 0) of + {ok,P} -> + Recv(Recv, [P|A]); + {error,closed} -> + lists:reverse(A) + end + end, + PktR = Recv(Recv, []), + ok = gen_tcp:close(Sock), + + true = PktR =/= [], + + {_TS,Response} = lists:foldl(fun(P, {T0,R0}) -> + {ok,R} = inet_dns:decode(P), + {ok,T} = inet_dns_tsig:verify(P, R, T0), + {T,R0 ++ [R]} + end, {TS1,[]}, PktR), + + % not necessary for the test, but helpful to those using this + % to understand how to validate TCP responses, we need to check + % that the last message has a TSIG RR (RRC8945, section 5.3.1) + % N.B. unnecessary for UDP as handled by inet_dns_tsig:verify() + #dns_rec{ arlist = ARList } = lists:last(Response), + true = ARList =/= [], + #dns_rr_tsig{} = lists:last(ARList), + + % actual implementations would here now consider if the additional + % checks described in the WARNING at the top of inet_dns_tsig.erl + % are applicable to their use case and if so implement them + ok. + +tsig_server(Config) when is_list(Config) -> + case os:find_executable("dig") of + false -> + case os:find_executable("drill") of + false -> + {skip, "Cannot find executable: dig|drill"}; + Drill -> + tsig_server(Config, Drill) + end; + Dig -> + tsig_server(Config, Dig) + end. +%% +tsig_server(_Config, DigDrill) -> + Domain = "otptest", + + Key = {"testkey","b0b8006a-04ad-4a96-841a-a4eae78011a1"}, + Keys0 = [Key,{"grease0",""},{"grease1",""},{"grease2",""}], + Rand = [ rand:uniform() || _ <- lists:seq(1, length(Keys0)) ], + {_,Keys} = lists:unzip(lists:keysort(1, lists:zip(Rand, Keys0))), + TS0 = inet_dns_tsig:init([{keys,Keys}]), + + SockOpts = [binary,{active,false},{nodelay,true},{packet,2}], + {ok,LSock} = gen_tcp:listen(0, [{ip,{127,0,0,1}}|SockOpts]), + {ok,LPort} = inet:port(LSock), + + _ = process_flag(trap_exit, true), + {_, MRef} = + spawn_opt( + fun() -> + KeyName = element(1, Key), + KeySecret = base64:encode_to_string(element(2, Key)), + Command = DigDrill ++ + " -p " ++ integer_to_list(LPort) ++ + " -y hmac-sha256:" ++ KeyName ++ ":" ++ KeySecret ++ + " " ++ Domain ++ ". @127.0.0.1 AXFR IN", + Opts = [in,eof,exit_status,stderr_to_stdout,hide], + Port = erlang:open_port({spawn,Command}, Opts), + Collect = + fun C(A) -> + receive + {Port,{data,B}} -> + C([B|A]); + {Port,eof} -> + C(A); + {Port,{exit_status,Status}} -> + {ok,{Status,lists:reverse(A)}}; + {Port,closed} -> + {error,closed} + after 1000 -> + {error,timeout} + end + end, + ClientResult = Collect([]), + true = erlang:port_close(Port), + exit({done,ClientResult}) + end, [link,monitor]), + + Result = + case gen_tcp:accept(LSock, 5000) of + {ok,Sock} -> + try + ok = gen_tcp:close(LSock), + tsig_server(Domain, TS0, Sock) + of + _ -> + gen_tcp:close(Sock) + catch + Class : Reason : Stacktrace -> + _ = catch gen_tcp:close(Sock), + {Class,Reason,Stacktrace} + end; + Error -> + _ = catch gen_tcp:close(LSock), + Error + end, + + receive + {'DOWN',MRef,_,_,{done,{ok,{Code,Output}}}} -> + ?P("Output of ~s (exit code ~B):~n~s~n", + [DigDrill, Code, Output]), + {0,ok} = {Code,Result}; + {'DOWN',MRef,_,_,CError} -> + error({CError,Result}) + after 1000 -> + error({timeout,Result}) + end. + +tsig_server(Domain, TS0, Sock) -> + SOAData = {"ns","lsa.soa",1,60,10,300,30}, + SOA = #dns_rr{ domain = Domain, class = in, type = soa, data = SOAData }, + PadData = ["0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"], + Padding = #dns_rr{ class = in, type = txt, data = PadData }, + + {ok,Pkt} = gen_tcp:recv(Sock, 0), + ok = gen_tcp:shutdown(Sock, read), + + {ok,Request} = inet_dns:decode(Pkt), + {ok,TS1} = inet_dns_tsig:verify(Pkt, Request, TS0), + + % actual implementations would here now consider if the additional + % checks described in the WARNING at the top of inet_dns_tsig.erl + % are applicable to their use case and if so implement them + + PktR0 = #dns_rec{ + header = #dns_header{ + id = Request#dns_rec.header#dns_header.id, + qr = true + }, + qdlist = Request#dns_rec.qdlist + }, + + Format = "~2.10.0B.padding." ++ Domain, + AnList1 = [SOA] ++ [ Padding#dns_rr{ + domain = io_lib:format(Format, [X]) } || + X <- lists:seq(0, 9) ], + PktR1 = inet_dns:encode(PktR0#dns_rec{ anlist = AnList1 }), + {ok,PktR1S,TS2} = inet_dns_tsig:sign(PktR1, TS1), + ok = gen_tcp:send(Sock, PktR1S), + + AnList2 = [ Padding#dns_rr{ + domain = io_lib:format(Format, [X]) } || + X <- lists:seq(10, 19) ], + PktR2 = inet_dns:encode(PktR0#dns_rec{ anlist = AnList2 }), + {ok,PktR2S,TS3} = inet_dns_tsig:sign(PktR2, TS2), + ok = gen_tcp:send(Sock, PktR2S), + + AnList3 = [ Padding#dns_rr{ + domain = io_lib:format(Format, [X]) } || + X <- lists:seq(20, 29) ] ++ [SOA], + PktR3 = inet_dns:encode(PktR0#dns_rec{ anlist = AnList3 }), + {ok,PktR3S,_TS} = inet_dns_tsig:sign(PktR3, TS3), + ok = gen_tcp:send(Sock, PktR3S). + + %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Compatibility tests. Call the inet_SUITE tests, but with %% lookup = [file,dns] instead of [native] diff --git a/lib/kernel/test/inet_res_SUITE_data/otptest/knot_inc.conf b/lib/kernel/test/inet_res_SUITE_data/otptest/knot_inc.conf new file mode 100644 index 000000000000..91a48f62bf15 --- /dev/null +++ b/lib/kernel/test/inet_res_SUITE_data/otptest/knot_inc.conf @@ -0,0 +1,21 @@ +key: + - id: testkey.otptest + algorithm: hmac-sha256 + # ded5ada3-07f2-42b9-84bf-82d30f6795ee + secret: ZGVkNWFkYTMtMDdmMi00MmI5LTg0YmYtODJkMzBmNjc5NWVl + +acl: + - id: update_rule + address: 127.0.0.1 + action: update + +acl: + - id: testkey_rule + key: testkey.otptest + action: transfer + +zone: + - domain: otptest + acl: [ update_rule, testkey_rule ] + - domain: 0.0.127.in-addr.arpa. + - domain: 0.0.0.0.f.7.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa. diff --git a/lib/kernel/test/inet_res_SUITE_data/otptest/nsd_inc.conf b/lib/kernel/test/inet_res_SUITE_data/otptest/nsd_inc.conf deleted file mode 100644 index d4a434ff773e..000000000000 --- a/lib/kernel/test/inet_res_SUITE_data/otptest/nsd_inc.conf +++ /dev/null @@ -1,11 +0,0 @@ -zone: - name: otptest. - zonefile: otptest.zone - -zone: - name: 0.0.127.in-addr.arpa. - zonefile: 0.0.127.in-addr.arpa.zone - -zone: - name: 0.0.0.0.f.7.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa. - zonefile: 0.0.0.0.f.7.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa.zone diff --git a/lib/kernel/test/inet_res_SUITE_data/otptest/otptest.zone b/lib/kernel/test/inet_res_SUITE_data/otptest/otptest.zone index 98b195fd9715..dc004896cbd5 100644 --- a/lib/kernel/test/inet_res_SUITE_data/otptest/otptest.zone +++ b/lib/kernel/test/inet_res_SUITE_data/otptest/otptest.zone @@ -38,22 +38,533 @@ ns IN AAAA ::127.0.0.253 resolve IN A 127.0.0.28 resolve IN AAAA ::127.0.0.28 cname.resolve IN CNAME resolve -wks.resolve IN WKS 127.0.0.28 TCP ( telnet smtp ) +;wks.resolve IN WKS 127.0.0.28 TCP ( TELNET SMTP ) +wks.resolve IN TYPE11 \# 9 7f00001c 06 00000140 ; ... (23 25) resolve IN HINFO "BEAM" "Erlang/OTP" ns.resolve IN NS resolve mx.resolve IN MX 10 resolve ;; The LOC latitude and longitude is chosen to have an exact ;; decimal degrees floating point representation -loc.resolve IN LOC 42 3 45 N 13 7 30 E 17m 100m 10000m 10m +loc.resolve IN LOC 42 3 45 N 13 7 30 E 17m 100m 10000m 10m _srv._tcp.resolve IN SRV 10 3 4711 resolve naptr.resolve IN NAPTR 10 5 "S" "HTTP" "" _srv._tcp.resolve txt.resolve IN TXT "Hej " "du " "glade " txt.resolve IN TXT "ta " "en " "spade!" -mb.resolve IN MB mx.resolve -mg.resolve IN MG lsa\.mg -mr.resolve IN MR lsa\.mr +;mb.resolve IN MB mx.resolve ; .otptest. +mb.resolve IN TYPE7 \# 20 02 6d78 07 7265736f6c7665 07 6f747074657374 00 +;mg.resolve IN MG lsa\.mg ; .otptest. +mg.resolve IN TYPE8 \# 16 06 6c73612e6d67 07 6f747074657374 00 +;mr.resolve IN MR lsa\.mr ; .otptest. +mr.resolve IN TYPE9 \# 16 06 6c73612e6d72 07 6f747074657374 00 minfo.resolve IN MINFO minfo-owner.resolve minfo-bounce.resolve ;uri.resolve IN URI 10 3 "http://erlang.org" uri.resolve IN TYPE256 \# 21 000a 0003 (68747470 3a2f2f 65726c616e67 2e 6f7267) ;caa.resolve IN CAA 1 iodef "http://iodef.erlang.org" caa.resolve IN TYPE257 \# 30 01 (05 696f646566) (68747470 3a2f2f 696f646566 2e 65726c616e67 2e 6f7267) + +; for testing TSIG we need a multi-message response so we use AXFR but need +; to juice up the zone file to meet our needs, the following creates 3 messages +; +; N.B. knotd does not support $GENERATE so here we go... +; +;$GENERATE 0-599 ${0,3,d} $.padding TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +000.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +001.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +002.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +003.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +004.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +005.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +006.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +007.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +008.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +009.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +010.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +011.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +012.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +013.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +014.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +015.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +016.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +017.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +018.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +019.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +020.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +021.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +022.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +023.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +024.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +025.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +026.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +027.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +028.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +029.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +030.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +031.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +032.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +033.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +034.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +035.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +036.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +037.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +038.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +039.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +040.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +041.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +042.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +043.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +044.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +045.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +046.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +047.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +048.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +049.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +050.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +051.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +052.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +053.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +054.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +055.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +056.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +057.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +058.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +059.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +060.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +061.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +062.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +063.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +064.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +065.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +066.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +067.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +068.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +069.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +070.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +071.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +072.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +073.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +074.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +075.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +076.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +077.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +078.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +079.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +080.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +081.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +082.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +083.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +084.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +085.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +086.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +087.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +088.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +089.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +090.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +091.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +092.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +093.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +094.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +095.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +096.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +097.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +098.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +099.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +100.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +101.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +102.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +103.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +104.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +105.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +106.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +107.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +108.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +109.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +110.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +111.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +112.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +113.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +114.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +115.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +116.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +117.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +118.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +119.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +120.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +121.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +122.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +123.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +124.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +125.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +126.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +127.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +128.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +129.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +130.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +131.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +132.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +133.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +134.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +135.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +136.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +137.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +138.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +139.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +140.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +141.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +142.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +143.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +144.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +145.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +146.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +147.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +148.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +149.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +150.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +151.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +152.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +153.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +154.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +155.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +156.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +157.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +158.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +159.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +160.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +161.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +162.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +163.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +164.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +165.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +166.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +167.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +168.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +169.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +170.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +171.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +172.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +173.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +174.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +175.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +176.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +177.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +178.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +179.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +180.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +181.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +182.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +183.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +184.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +185.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +186.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +187.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +188.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +189.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +190.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +191.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +192.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +193.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +194.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +195.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +196.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +197.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +198.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +199.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +200.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +201.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +202.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +203.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +204.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +205.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +206.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +207.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +208.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +209.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +210.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +211.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +212.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +213.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +214.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +215.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +216.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +217.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +218.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +219.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +220.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +221.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +222.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +223.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +224.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +225.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +226.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +227.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +228.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +229.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +230.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +231.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +232.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +233.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +234.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +235.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +236.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +237.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +238.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +239.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +240.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +241.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +242.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +243.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +244.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +245.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +246.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +247.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +248.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +249.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +250.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +251.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +252.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +253.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +254.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +255.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +256.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +257.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +258.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +259.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +260.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +261.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +262.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +263.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +264.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +265.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +266.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +267.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +268.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +269.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +270.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +271.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +272.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +273.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +274.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +275.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +276.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +277.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +278.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +279.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +280.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +281.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +282.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +283.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +284.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +285.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +286.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +287.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +288.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +289.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +290.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +291.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +292.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +293.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +294.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +295.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +296.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +297.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +298.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +299.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +300.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +301.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +302.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +303.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +304.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +305.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +306.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +307.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +308.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +309.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +310.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +311.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +312.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +313.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +314.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +315.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +316.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +317.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +318.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +319.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +320.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +321.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +322.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +323.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +324.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +325.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +326.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +327.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +328.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +329.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +330.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +331.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +332.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +333.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +334.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +335.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +336.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +337.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +338.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +339.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +340.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +341.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +342.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +343.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +344.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +345.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +346.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +347.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +348.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +349.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +350.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +351.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +352.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +353.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +354.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +355.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +356.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +357.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +358.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +359.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +360.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +361.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +362.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +363.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +364.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +365.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +366.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +367.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +368.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +369.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +370.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +371.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +372.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +373.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +374.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +375.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +376.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +377.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +378.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +379.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +380.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +381.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +382.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +383.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +384.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +385.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +386.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +387.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +388.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +389.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +390.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +391.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +392.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +393.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +394.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +395.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +396.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +397.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +398.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +399.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +400.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +401.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +402.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +403.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +404.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +405.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +406.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +407.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +408.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +409.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +410.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +411.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +412.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +413.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +414.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +415.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +416.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +417.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +418.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +419.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +420.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +421.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +422.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +423.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +424.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +425.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +426.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +427.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +428.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +429.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +430.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +431.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +432.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +433.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +434.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +435.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +436.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +437.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +438.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +439.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +440.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +441.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +442.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +443.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +444.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +445.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +446.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +447.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +448.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +449.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +450.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +451.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +452.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +453.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +454.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +455.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +456.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +457.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +458.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +459.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +460.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +461.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +462.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +463.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +464.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +465.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +466.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +467.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +468.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +469.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +470.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +471.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +472.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +473.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +474.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +475.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +476.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +477.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +478.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +479.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +480.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +481.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +482.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +483.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +484.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +485.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +486.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +487.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +488.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +489.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +490.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +491.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +492.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +493.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +494.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +495.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +496.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +497.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +498.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +499.padding IN TXT "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" diff --git a/lib/kernel/test/inet_res_SUITE_data/run-ns b/lib/kernel/test/inet_res_SUITE_data/run-ns index 2ed7e50f857b..0c35eec91358 100755 --- a/lib/kernel/test/inet_res_SUITE_data/run-ns +++ b/lib/kernel/test/inet_res_SUITE_data/run-ns @@ -2,7 +2,7 @@ ## ## %CopyrightBegin% ## -## Copyright Ericsson AB 2009-2022. All Rights Reserved. +## Copyright Ericsson AB 2009-2023. All Rights Reserved. ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. @@ -37,7 +37,8 @@ ## * Terminate name server and wait for it. ## ## Prints status lines starting with tag and colon (think mail header): -## Error: have given up, no name server started +## Skip: have given up; no point in starting this name server +## Error: have given up; failed to start name server ## Running: name server is running, waiting for "quit" ## Other tags: diagnostics info # @@ -48,76 +49,95 @@ PATH=/usr/sbin:/sbin:/usr/bin:/bin SHELL=/bin/sh export PATH SHELL +NS=knotd LOG_FILE=ns.log +CONF_FILE=knot.conf +INC_FILE=knot_inc.conf -CONF_FILE=nsd.conf -INC_FILE=nsd_inc.conf - +ERROR="Error: " error () { r=$? - echo "Error: $*" + echo "$ERROR$*" + exit $r +} + +skip () { + r=$? + echo "Skip: $*" exit $r } +ME="$0" +SELF=$$ + # Check argument: IP address test :"$1" != : || \ error "Empty argument 1: IP address !" +IP="$1" # Check argument: Port number expr "0$2" + 0 '>' 0 '&' "0$2" + 0 '<' 65536 >/dev/null 2>&1 || \ error "Invalid argument 2: port number !" +PORT="$2" # Check argument: Work/Zone subdir test :"$3" != : || \ error "Empty argument 3: Work/Zone subdir!" -SRCDIR="`dirname "$0"`/$3" +SRCDIR="`dirname "$ME"`/$3" test -d "$SRCDIR" || \ - error "Missing zone directory $SRCDIR !" + error "Missing zone directory: $SRCDIR !" test -f "$SRCDIR/$INC_FILE" || \ - error "Missing file: $SRCDIR/$INC_FILE !" + error "Missing include file: $SRCDIR/$INC_FILE !" +DIR="$3" -# Locate nsd and check version. -NS=nsd -for n in /usr/sbin/nsd /usr/bin/nsd /usr/local/sbin/nsd /usr/local/bin/nsd +# Locate name server and check version. +for n in /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin do - test -x "$n" && NS="$n" && break + test -x "$n/$NS" && { NS="$n/$NS"; break; } done -NS_VER="`"$NS" -v 2>&1`" || \ - error "Name server not found!" -NS_VER=$(echo "$NS_VER" | - ( read V1 V2 V3 IGNORED && - echo "$V1 $V3" ) ) -NS_FG="-d" + +NS_VER="`"$NS" -V 2>&1`" || \ + skip "$NS: Not found!" +NS_VER="`echo "$NS_VER" | head -1`" +{ echo "$NS_VER" | + grep -q -e ' 2[.]9[.]' -e ' 2[.][1-9][0-9][0-9]*[.]' \ + -e ' [3-9][.]' -e ' [1-9][0-9][0-9]*[.]' +} || skip "$NS_VER < 2.9" # Create working directory and cd to it -mkdir "$3" >/dev/null 2>&1 -cd "$3" >/dev/null 2>&1 || \ - error "Can not cd: $3 !" +mkdir "$DIR" >/dev/null 2>&1 +cd "$DIR" >/dev/null 2>&1 || \ + error "Cannot cd: $DIR !" DIR="$(pwd)" # Create $CONF_FILE cat >"$CONF_FILE" <"$LOG_FILE" 2>&1 "$LOG_FILE" 2>&1 /dev/null 2>&1; wait $NS_PID >/dev/null 2>&1" \ 0 1 2 3 15 +NS_STARTED=" info: server started .* PID $NS_PID\$" + +# Wait for nameserver to start, start timer kill sub process +{ sleep 5 && + { echo "\n$ERROR$NS failed to start" + kill $SELF + } +} & +TIMER=$! + +{ + echo $(exec /bin/sh -c 'echo $PPID') # Subshell PID + exec tail -f "$LOG_FILE" +} | { + read TAIL_PID + sed -n "/$NS_STARTED/q" + kill $TAIL_PID # Cannot trust SIGPIPE to stop tail +} +kill $TIMER -sleep 5 # Give name server time to load its zone files - -if ps -p $NS_PID >/dev/null 2>&1 || ps p $NS_PID >/dev/null 2>&1; then - echo "Running: Enter \`\`quit'' to terminate nameserver[$NS_PID]..." - while read LINE; do - test :"$LINE" = :'quit' && break - done - echo "Closing: Terminating nameserver..." -else - error "$NS failed to start" -fi +echo "Running: Enter \`\`quit'' to terminate nameserver[$NS_PID]..." +while read LINE; do + test :"$LINE" = :'quit' && break +done +echo "Closing: Terminating nameserver..." diff --git a/lib/kernel/test/inet_sockopt_SUITE.erl b/lib/kernel/test/inet_sockopt_SUITE.erl index 5c9578106682..7f901f94df85 100644 --- a/lib/kernel/test/inet_sockopt_SUITE.erl +++ b/lib/kernel/test/inet_sockopt_SUITE.erl @@ -51,17 +51,22 @@ -define(C_QUIT,99). --export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, - init_per_group/2,end_per_group/2, - simple/1, loop_all/1, simple_raw/1, simple_raw_getbin/1, +-export([all/0, suite/0, groups/0, + init_per_suite/1, end_per_suite/1, + init_per_group/2, end_per_group/2, + init_per_testcase/2, end_per_testcase/2, + + simple/1, + loop_all/1, + simple_raw/1, simple_raw_getbin/1, multiple_raw/1, multiple_raw_getbin/1, - doc_examples_raw/1,doc_examples_raw_getbin/1, - large_raw/1,large_raw_getbin/1,combined/1,combined_getbin/1, + doc_examples_raw/1, doc_examples_raw_getbin/1, + large_raw/1, large_raw_getbin/1, + combined/1, combined_getbin/1, ipv6_v6only_udp/1, ipv6_v6only_tcp/1, ipv6_v6only_sctp/1, use_ipv6_v6only_udp/1, - type_errors/1, windows_reuseaddr/1]). - --export([init_per_testcase/2, end_per_testcase/2]). + type_errors/1, + windows_reuseaddr/1]). suite() -> @@ -69,23 +74,113 @@ suite() -> {timetrap,{minutes,1}}]. all() -> - [simple, loop_all, simple_raw, simple_raw_getbin, + %% This is a temporary measure to ensure that we can + %% test the socket backend without effecting *all* + %% applications on *all* machines. + %% This flag is set only for *one* host. + case ?TEST_INET_BACKENDS() of + true -> + [ + {group, inet_backend_default}, + {group, inet_backend_inet}, + {group, inet_backend_socket} + ]; + _ -> + [ + {group, inet_backend_default} + ] + end. + + +groups() -> + [ + {inet_backend_default, [], inet_backend_default_cases()}, + {inet_backend_inet, [], inet_backend_inet_cases()}, + {inet_backend_socket, [], inet_backend_socket_cases()} + ]. + +inet_backend_default_cases() -> + all_std_cases(). + +inet_backend_inet_cases() -> + all_std_cases(). + +inet_backend_socket_cases() -> + all_std_cases(). + +all_std_cases() -> + [ + simple, + loop_all, + simple_raw, simple_raw_getbin, multiple_raw, multiple_raw_getbin, - doc_examples_raw, doc_examples_raw_getbin, large_raw, - large_raw_getbin, combined, combined_getbin, + doc_examples_raw, doc_examples_raw_getbin, + large_raw, large_raw_getbin, + combined, combined_getbin, ipv6_v6only_udp, ipv6_v6only_tcp, ipv6_v6only_sctp, use_ipv6_v6only_udp, - type_errors, windows_reuseaddr]. + type_errors, + windows_reuseaddr + ]. -groups() -> - []. +init_per_suite(Config0) -> -init_per_suite(Config) -> - Config. + ?P("init_per_suite -> entry with" + "~n Config: ~p" + "~n Nodes: ~p", [Config0, erlang:nodes()]), -end_per_suite(_Config) -> - ok. + case ?LIB:init_per_suite([{allow_skip, false} | Config0]) of + {skip, _} = SKIP -> + SKIP; + + Config1 when is_list(Config1) -> + + %% We need a monitor on this node also + kernel_test_sys_monitor:start(), + + ?P("init_per_suite -> end when " + "~n Config: ~p", [Config1]), + + Config1 + end. +end_per_suite(Config0) -> + + ?P("end_per_suite -> entry with" + "~n Config: ~p" + "~n Nodes: ~p", [Config0, erlang:nodes()]), + + %% Stop the local monitor + ?P("init_per_suite -> try stop system monitor"), + kernel_test_sys_monitor:stop(), + + Config1 = ?LIB:end_per_suite(Config0), + + ?P("end_per_suite -> " + "~n Nodes: ~p", [erlang:nodes()]), + + Config1. + +init_per_group(inet_backend_default = _GroupName, Config) -> + [{socket_create_opts, []} | Config]; +init_per_group(inet_backend_inet = _GroupName, Config) -> + case ?EXPLICIT_INET_BACKEND() of + true -> + %% The environment trumps us, + %% so only the default group should be run! + {skip, "explicit inet backend"}; + false -> + [{socket_create_opts, [{inet_backend, inet}]} | Config] + end; +init_per_group(inet_backend_socket = _GroupName, Config) -> + case ?EXPLICIT_INET_BACKEND() of + true -> + %% The environment trumps us, + %% so only the default group should be run! + {skip, "explicit inet backend"}; + false -> + [{socket_create_opts, [{inet_backend, socket}]} | Config] + end; init_per_group(_GroupName, Config) -> Config. @@ -94,13 +189,56 @@ end_per_group(_GroupName, Config) -> init_per_testcase(_Func, Config) -> + ?P("init_per_testcase -> entry with" + "~n Config: ~p" + "~n Nodes: ~p" + "~n Links: ~p" + "~n Monitors: ~p", + [Config, erlang:nodes(), links(), monitors()]), + + kernel_test_global_sys_monitor:reset_events(), + + ?P("init_per_testcase -> done when" + "~n Nodes: ~p" + "~n Links: ~p" + "~n Monitors: ~p", [erlang:nodes(), links(), monitors()]), Config. -end_per_testcase(_Func, _Config) -> +end_per_testcase(_Func, Config) -> + ?P("end_per_testcase -> entry with" + "~n Config: ~p" + "~n Nodes: ~p" + "~n Links: ~p" + "~n Monitors: ~p", + [Config, erlang:nodes(), links(), monitors()]), + + ?P("system events during test: " + "~n ~p", [kernel_test_global_sys_monitor:events()]), + + ?P("end_per_testcase -> done with" + "~n Nodes: ~p" + "~n Links: ~p" + "~n Monitors: ~p", [erlang:nodes(), links(), monitors()]), ok. %% Test inet:setopt/getopt simple functionality. simple(Config) when is_list(Config) -> + Cond = fun() -> + %% case ?IS_SOCKET_BACKEND(Config) of + %% true -> + %% {skip, "'nopush' opt not (yet) implemented"}; + %% false -> + %% ok + %% end + ok + end, + Pre = fun() -> #{} end, + Case = fun(State) -> do_simple(Config, State) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, Case, Post). + + +do_simple(Config, _) when is_list(Config) -> XOpt = case os:type() of {unix,_} -> [{reuseaddr,true}]; _ -> [] @@ -109,31 +247,83 @@ simple(Config) when is_list(Config) -> {keepalive,true},{packet,4}, {active,false}|XOpt], OptTags = [X || {X,_} <- Opt], - {S1,S2} = create_socketpair(Opt, Opt), - {ok,Opt} = inet:getopts(S1,OptTags), - {ok,Opt} = inet:getopts(S2,OptTags), + {S1,S2} = create_socketpair(Config, Opt, Opt), + {ok,Opt} = inet:getopts(S1, OptTags), + {ok,Opt} = inet:getopts(S2, OptTags), NoPushOpt = case os:type() of - {unix, Osname} when Osname =:= linux; Osname =:= freebsd -> {nopush, true}; + {unix, Osname} when Osname =:= linux; + Osname =:= freebsd -> {nopush, true}; {_,_} -> {nopush, false} end, - COpt = [{X,case X of nodelay -> false;_ -> Y end} || {X,Y} <- [NoPushOpt|Opt]], + COpt = [{X,case X of nodelay -> false;_ -> Y end} || + {X,Y} <- [NoPushOpt|Opt]], COptTags = [X || {X,_} <- COpt], + ?P("S1: set options:" + "~n ~p", [COpt]), inet:setopts(S1,COpt), - {ok,COpt} = inet:getopts(S1,COptTags), - {ok,Opt} = inet:getopts(S2,OptTags), + ?P("S1: get options: " + "~n ~p", [COptTags]), + %% {ok,COpt} = inet:getopts(S1,COptTags), + case inet:getopts(S1,COptTags) of + {ok,COpt} -> + ?P("S1: success"), + ok; + {ok, COptErr} -> + ?P("S1: incorrect success:" + "~n Expected: ~p" + "~n Received: ~p", [COpt, COptErr]), + ct:fail({incorrect_success, COpt, COptErr}); + {error, CReason} -> + ?P("S1: unexpected failure:" + "~n ~p", [CReason]), + ct:fail({unexpected_failure, CReason}) + end, + ?P("S2: get options: " + "~n ~p", [OptTags]), + %% {ok,Opt} = inet:getopts(S2,OptTags), + case inet:getopts(S2,OptTags) of + {ok, Opt} -> + ?P("S2: success"), + ok; + {ok, OptErr} -> + ?P("S2: incorrect success:" + "~n Expected: ~p" + "~n Received: ~p", [Opt, OptErr]), + ct:fail({incorrect_success, Opt, OptErr}); + {error, Reason} -> + ?P("S2: unexpected failure:" + "~n ~p", [Reason]), + ct:fail({unexpected_failure, Reason}) + end, gen_tcp:close(S1), gen_tcp:close(S2), ok. %% Loop through all socket options and check that they work. loop_all(Config) when is_list(Config) -> + Cond = fun() -> + case ?IS_SOCKET_BACKEND(Config) of + true -> + {skip, "Watermark options not (yet) implemented"}; + false -> + ok + end + end, + Pre = fun() -> #{} end, + Case = fun(State) -> do_loop_all(Config, State) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, Case, Post). + +do_loop_all(Config, _) -> ListenFailures = - lists:foldr(make_check_fun(listen),[],all_listen_options()), + lists:foldr(make_check_fun(Config, listen),[],all_listen_options()), AcceptFailures = - lists:foldr(make_check_fun(accept),[],all_accept_options()), + lists:foldr(make_check_fun(Config, accept),[],all_accept_options()), ConnectFailures = - lists:foldr(make_check_fun(connect),[],all_connect_options()), - case ListenFailures++AcceptFailures++ConnectFailures of + lists:foldr(make_check_fun(Config, connect),[],all_connect_options()), + UdpFailures = + lists:foldr(make_check_fun(Config),[],all_udp_options()), + case ListenFailures++AcceptFailures++ConnectFailures++UdpFailures of [] -> ok; Failed -> @@ -146,19 +336,19 @@ loop_all(Config) when is_list(Config) -> %% Test simple setopt/getopt of raw options. simple_raw(Config) when is_list(Config) -> - do_simple_raw(Config,false). + do_simple_raw(Config, false). %% Test simple setopt/getopt of raw options, with binaries in getopt. simple_raw_getbin(Config) when is_list(Config) -> - do_simple_raw(Config,true). + do_simple_raw(Config, true). -do_simple_raw(Config,Binary) when is_list(Config) -> +do_simple_raw(Config, Binary) when is_list(Config) -> Port = start_helper(Config), SolSocket = ask_helper(Port,?C_GET_SOL_SOCKET), SoKeepAlive = ask_helper(Port,?C_GET_SO_KEEPALIVE), OptionTrue = {raw,SolSocket,SoKeepAlive,<<1:32/native>>}, OptionFalse = {raw,SolSocket,SoKeepAlive,<<0:32/native>>}, - {S1,S2} = create_socketpair([OptionTrue],[{keepalive,true}]), + {S1,S2} = create_socketpair(Config, [OptionTrue],[{keepalive,true}]), {ok,[{keepalive,true}]} = inet:getopts(S1,[keepalive]), {ok,[{keepalive,true}]} = inet:getopts(S2,[keepalive]), {ok,[{raw,SolSocket,SoKeepAlive,X1B}]} = @@ -196,24 +386,34 @@ nintbin2int(<<>>) -> 0. %% Test setopt/getopt of multiple raw options. multiple_raw(Config) when is_list(Config) -> - do_multiple_raw(Config,false). + Cond = fun() -> is_not_openbsd() end, + Pre = fun() -> false end, + Case = fun(State) -> do_multiple_raw(Config, State) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, Case, Post). + %% Test setopt/getopt of multiple raw options, with binaries in %% getopt. multiple_raw_getbin(Config) when is_list(Config) -> - do_multiple_raw(Config,true). + Cond = fun() -> is_not_openbsd() end, + Pre = fun() -> true end, + Case = fun(State) -> do_multiple_raw(Config, State) end, + Post = fun(_) -> ok end, + ?TC_TRY(?FUNCTION_NAME, Cond, Pre, Case, Post). do_multiple_raw(Config, Binary) -> - Port = start_helper(Config), - SolSocket = ask_helper(Port, ?C_GET_SOL_SOCKET), - SoKeepalive = ask_helper(Port, ?C_GET_SO_KEEPALIVE), - SoKeepaliveTrue = {raw,SolSocket,SoKeepalive,<<1:32/native>>}, + Port = start_helper(Config), + SolSocket = ask_helper(Port, ?C_GET_SOL_SOCKET), + SoKeepalive = ask_helper(Port, ?C_GET_SO_KEEPALIVE), + SoKeepaliveTrue = {raw,SolSocket,SoKeepalive,<<1:32/native>>}, SoKeepaliveFalse = {raw,SolSocket,SoKeepalive,<<0:32/native>>}, - SoDontroute = ask_helper(Port, ?C_GET_SO_DONTROUTE), - SoDontrouteTrue = {raw,SolSocket,SoDontroute,<<1:32/native>>}, + SoDontroute = ask_helper(Port, ?C_GET_SO_DONTROUTE), + SoDontrouteTrue = {raw,SolSocket,SoDontroute,<<1:32/native>>}, SoDontrouteFalse = {raw,SolSocket,SoDontroute,<<0:32/native>>}, {S1,S2} = create_socketpair( + Config, [SoDontrouteFalse,SoKeepaliveTrue], [SoKeepaliveFalse,SoDontrouteTrue]), {ok,[{dontroute,false},{keepalive,true}]} = @@ -271,23 +471,23 @@ do_multiple_raw(Config, Binary) -> %% Test that the example code from the documentation works. doc_examples_raw(Config) when is_list(Config) -> - do_doc_examples_raw(Config,false). + do_doc_examples_raw(Config, false). %% Test that the example code from the documentation works when getopt %% uses binaries. doc_examples_raw_getbin(Config) when is_list(Config) -> do_doc_examples_raw(Config,true). -do_doc_examples_raw(Config,Binary) when is_list(Config) -> - Port = start_helper(Config), - Proto = ask_helper(Port,?C_GET_IPPROTO_TCP), - TcpInfo = ask_helper(Port,?C_GET_TCP_INFO), - TcpInfoSize = ask_helper(Port,?C_GET_TCP_INFO_SIZE), - TcpiSackedOffset = ask_helper(Port,?C_GET_OFF_TCPI_SACKED), +do_doc_examples_raw(Config, Binary) when is_list(Config) -> + Port = start_helper(Config), + Proto = ask_helper(Port,?C_GET_IPPROTO_TCP), + TcpInfo = ask_helper(Port,?C_GET_TCP_INFO), + TcpInfoSize = ask_helper(Port,?C_GET_TCP_INFO_SIZE), + TcpiSackedOffset = ask_helper(Port,?C_GET_OFF_TCPI_SACKED), TcpiOptionsOffset = ask_helper(Port,?C_GET_OFF_TCPI_OPTIONS), - TcpiSackedSize = ask_helper(Port,?C_GET_SIZ_TCPI_SACKED), - TcpiOptionsSize = ask_helper(Port,?C_GET_SIZ_TCPI_OPTIONS), - TcpLinger2 = ask_helper(Port,?C_GET_TCP_LINGER2), + TcpiSackedSize = ask_helper(Port,?C_GET_SIZ_TCPI_SACKED), + TcpiOptionsSize = ask_helper(Port,?C_GET_SIZ_TCPI_OPTIONS), + TcpLinger2 = ask_helper(Port,?C_GET_TCP_LINGER2), stop_helper(Port), case all_ok([Proto,TcpInfo,TcpInfoSize,TcpiSackedOffset, TcpiOptionsOffset,TcpiSackedSize,TcpiOptionsSize, @@ -295,7 +495,7 @@ do_doc_examples_raw(Config,Binary) when is_list(Config) -> false -> {skipped,"Does not run on this OS."}; true -> - {Sock,I} = create_socketpair([],[]), + {Sock,I} = create_socketpair(Config, [], []), {ok,[{raw,Proto,TcpLinger2,<>}]} = inet:getopts(Sock,[{raw,Proto,TcpLinger2,binarify(4,Binary)}]), NewLinger = OrigLinger div 2, @@ -349,7 +549,8 @@ do_large_raw(Config,Binary) when is_list(Config) -> false -> {skipped,"Does not run on this OS."}; true -> - {Sock1,Sock2} = create_socketpair([{linger,{true,10}}], + {Sock1,Sock2} = create_socketpair(Config, + [{linger,{true,10}}], [{linger,{false,0}}]), LargeSize = 1024, % Solaris can take up to 1024*9, % linux 1024*63... @@ -372,8 +573,17 @@ do_large_raw(Config,Binary) when is_list(Config) -> true = Off1 =/= 0, true = Off2 == 0, true = Ling1 == 10, - {error,einval} = - inet:getopts(Sock1,[{raw,Proto,Linger,TooLargeSize}]), + case {?IS_SOCKET_BACKEND(Config), + inet:getopts(Sock1,[{raw,Proto,Linger,TooLargeSize}])} of + {false, {error,einval}} -> + ok; + {true, {ok, _}} -> + ok; + {_, Unexpected} -> + ?P("unexpected result: " + "~n ~p", [Unexpected]), + ct:fail({unexpected, Unexpected}) + end, gen_tcp:close(Sock1), gen_tcp:close(Sock2), ok @@ -457,7 +667,8 @@ do_combined(Config,Binary) when is_list(Config) -> RawLingerOn = {raw,Proto,Linger,LingerOn}, RawLingerOff = {raw,Proto,Linger,LingerOff}, {Sock1,Sock2} = - create_socketpair([{keepalive,true}, + create_socketpair(Config, + [{keepalive,true}, RawLingerOn], [{keepalive,false}, RawLingerOff]), @@ -480,7 +691,8 @@ do_combined(Config,Binary) when is_list(Config) -> true = Keep1 =:= true, true = Keep2 =:= false, {Sock3,Sock4} = - create_socketpair([RawLingerOn,{keepalive,true}], + create_socketpair(Config, + [RawLingerOn,{keepalive,true}], [RawLingerOff,{keepalive,false}]), {ok,[{raw,Proto,Linger,Linger3},{keepalive,Keep3}]} = inet:getopts(Sock3,[{raw,Proto,Linger, @@ -501,7 +713,8 @@ do_combined(Config,Binary) when is_list(Config) -> true = Keep3 =:= true, true = Keep4 =:= false, {Sock5,Sock6} = - create_socketpair([{packet,4},RawLingerOn,{keepalive,true}], + create_socketpair(Config, + [{packet,4},RawLingerOn,{keepalive,true}], [{packet,2},RawLingerOff,{keepalive,false}]), {ok,[{packet,Pack5},{raw,Proto,Linger,Linger5}, {keepalive,Keep5}]} = @@ -765,7 +978,7 @@ type_errors(Config) when is_list(Config) -> ], lists:foreach(fun(Option) -> case - catch create_socketpair([Option],[]) of + catch create_socketpair(Config, [Option], []) of {'EXIT',badarg} -> ok; Unexpected1 -> @@ -773,16 +986,16 @@ type_errors(Config) when is_list(Config) -> Unexpected1}) end, case - catch create_socketpair([],[Option]) of - {'EXIT',badarg} -> + catch create_socketpair(Config, [], [Option]) of + {'EXIT', badarg} -> ok; Unexpected2 -> exit({unexpected, Unexpected2}) end, - {Sock1,Sock2} = create_socketpair([],[]), + {Sock1,Sock2} = create_socketpair(Config, [], []), case inet:setopts(Sock1, [Option]) of - {error,einval} -> + {error, einval} -> ok; Unexpected3 -> exit({unexpected, @@ -791,10 +1004,10 @@ type_errors(Config) when is_list(Config) -> gen_tcp:close(Sock1), gen_tcp:close(Sock2) end,BadSetOptions), - {Sock1,Sock2} = create_socketpair([],[]), + {Sock1,Sock2} = create_socketpair(Config, [], []), lists:foreach(fun(Option) -> case inet:getopts(Sock1, [Option]) of - {error,einval} -> + {error, einval} -> ok; Unexpected -> exit({unexpected, @@ -815,16 +1028,20 @@ windows_reuseaddr(Config) when is_list(Config) -> Def = {ask_helper(Port,?C_GET_SOL_SOCKET), ask_helper(Port,?C_GET_SO_REUSEADDR)}, stop_helper(Port), - {false, false} = windows_reuseaddr_test(Def, + {false, false} = windows_reuseaddr_test(Config, + Def, [{reuseaddr,false},{reuseport,false}], [{reuseaddr,false},{reuseport,false}]), - {false, false} = windows_reuseaddr_test(Def, + {false, false} = windows_reuseaddr_test(Config, + Def, [{reuseaddr,true},{reuseport,false}], [{reuseaddr,true},{reuseport,false}]), - {false, false} = windows_reuseaddr_test(Def, + {false, false} = windows_reuseaddr_test(Config, + Def, [{reuseaddr,false},{reuseport,true}], [{reuseaddr,false},{reuseport,true}]), - {true, true} = windows_reuseaddr_test(Def, + {true, true} = windows_reuseaddr_test(Config, + Def, [{reuseaddr,true},{reuseport,true}], [{reuseaddr,true},{reuseport,true}]), ok; @@ -832,11 +1049,11 @@ windows_reuseaddr(Config) when is_list(Config) -> {skipped, "Test for Windows only"} end. -windows_reuseaddr_test({SolSocket, SoReuseaddr}, LOpts, COpts) -> +windows_reuseaddr_test(Config, {SolSocket, SoReuseaddr}, LOpts, COpts) -> OptNames = fun (Opts) -> lists:map(fun ({Name,_}) -> Name end, Opts) end, - {L,A,C} = create_socketpair_init(LOpts, COpts), + {L,A,C} = create_socketpair_init(Config, LOpts, COpts), {ok, LOpts} = inet:getopts(L, OptNames(LOpts)), {ok, COpts} = inet:getopts(L, OptNames(COpts)), RawOpts = [{raw, SolSocket, SoReuseaddr, 4}], @@ -864,7 +1081,7 @@ all_ok(_) -> false. -make_check_fun(Type) -> +make_check_fun(Config, Type) -> fun({Name,V1,V2,Mand,Chang},Acc) -> {LO1,CO1} = case Type of connect -> {[],[{Name,V1}]}; @@ -874,8 +1091,8 @@ make_check_fun(Type) -> connect -> {[],[{Name,V2}]}; _ -> {[{Name,V2}],[]} end, - {X1,Y1,Z1} = create_socketpair_init(LO1,CO1), - {X2,Y2,Z2} = create_socketpair_init(LO2,CO2), + {X1,Y1,Z1} = create_socketpair_init(Config, LO1, CO1), + {X2,Y2,Z2} = create_socketpair_init(Config, LO2, CO2), {S1,S2} = case Type of listen -> {X1,X2}; accept -> {Y1,Y2}; @@ -926,6 +1143,54 @@ make_check_fun(Type) -> NewAcc end. +make_check_fun(_Config) -> + fun ({Name,V1,V2,Mand,Chang} = Spec, Acc) -> + try + {ok,S1} = gen_udp:open(0, [{Name,V1}]), + {ok,S2} = gen_udp:open(0, [{Name,V2}]), + try + {ok,[{Name,R1}]} = inet:getopts(S1, [Name]), + {ok,[{Name,R2}]} = inet:getopts(S2, [Name]), + case R1 =/= R2 of + true -> + case Chang of + true -> + ok = inet:setopts(S1, [{Name,V2}]), + {ok,[{Name,R3}]} = + inet:getopts(S1, [Name]), + if + R3 =/= R1, R3 =:= R2 -> + Acc; + true -> + case Mand of + true -> + exit( + {failed_sockopt, + {change,Name}}); + false -> + [{change,Name}|Acc] + end + end; + false -> + Acc + end; + false -> + case Mand of + true -> + exit({failed_sockopt, {udp,Name}}); + false -> + [{udp,Name}|Acc] + end + end + after + gen_udp:close(S1), + gen_udp:close(S2) + end + catch Class : Reason : Stacktrace -> + erlang:raise(Class, {fail,Reason,Spec}, Stacktrace) + end + end. + %% {OptionName,Value1,Value2,Mandatory,Changeable} all_listen_options() -> OsType = os:type(), @@ -996,6 +1261,37 @@ all_connect_options() -> ]. +all_udp_options() -> + OsType = os:type(), + OsVersion = os:version(), + [{tos,0,1,false,true}, + {priority,0,1,false,true}, + {reuseaddr,false,true,mandatory_reuseaddr(OsType,OsVersion),false}, + {reuseport,false,true,mandatory_reuseport(OsType,OsVersion),false}, + {reuseport_lb,false,true,mandatory_reuseport_lb(OsType,OsVersion),false}, + {exclusiveaddruse,false,true, + mandatory_exclusiveaddruse(OsType,OsVersion),false}, + {sndbuf,2048,4096,false,true}, + {recbuf,2048,4096,false,true}, + {header,2,4,true,true}, + {active,false,true,true,false}, + {buffer,1000,2000,true,true}, + {mode,list,binary,true,true}, + {deliver,term,port,true,true}, + {broadcast,true,false,true,true}, + {dontroute,true,false, + lists:member(OsType, [{unix,linux},{unix,freebsd},{unix,darwin}]), + true}, + %% multicast_if + %% multicast_ttl + %% multicast_loop + %% add_membership + %% drop_membership + {read_packets,6,7,true,true}, + {high_msgq_watermark,4096,8192,true,true}, + {low_msgq_watermark,2048,4096,true,true}]. + + %% Mandatory on a lot of system other than those listed below. Please add more... mandatory_reuseaddr({unix, linux}, _OsVersion) -> true; @@ -1036,15 +1332,15 @@ mandatory_exclusiveaddruse({win32, _}, {X,Y,_Z}) when X > 5 orelse X == 5 andals mandatory_exclusiveaddruse(_OsType, _OsVersion) -> false. -create_socketpair_init(ListenOptions,ConnectOptions) -> - {ok,LS}=gen_tcp:listen(0,ListenOptions), - {ok,Port}=inet:port(LS), - {ok,CS}=gen_tcp:connect(localhost,Port,ConnectOptions), - {ok,AS}=gen_tcp:accept(LS), +create_socketpair_init(Config, ListenOptions, ConnectOptions) -> + {ok,LS} = ?LISTEN(Config, 0, ListenOptions), + {ok,Port} = inet:port(LS), + {ok,CS} = ?CONNECT(Config, localhost, Port, ConnectOptions), + {ok,AS} = gen_tcp:accept(LS), {LS,AS,CS}. -create_socketpair(ListenOptions,ConnectOptions) -> - {LS,AS,CS} = create_socketpair_init(ListenOptions,ConnectOptions), +create_socketpair(Config, ListenOptions, ConnectOptions) -> + {LS,AS,CS} = create_socketpair_init(Config, ListenOptions, ConnectOptions), gen_tcp:close(LS), {AS,CS}. @@ -1085,3 +1381,40 @@ binarify(Size,Binary) when Binary =:= true -> <<0:Size/unit:8>>; binarify(Size,Binary) when Binary =:= false -> Size. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Here are all the *general* test case condition functions. + +is_not_openbsd() -> + is_not_platform(openbsd, "OpenBSD"). + +is_not_platform(Platform, PlatformStr) + when is_atom(Platform) andalso is_list(PlatformStr) -> + case os:type() of + {unix, Platform} -> + skip("This does not work on " ++ PlatformStr); + _ -> + ok + end. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +skip(Reason) -> + throw({skip, Reason}). + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +links() -> + pi(links). + +monitors() -> + pi(monitors). + +pi(Item) -> + {Item, Val} = process_info(self(), Item), + Val. + diff --git a/lib/kernel/test/interactive_shell_SUITE.erl b/lib/kernel/test/interactive_shell_SUITE.erl index b413800661f4..d2d1baea245f 100644 --- a/lib/kernel/test/interactive_shell_SUITE.erl +++ b/lib/kernel/test/interactive_shell_SUITE.erl @@ -56,6 +56,7 @@ shell_expand_location_above/1, shell_expand_location_below/1, shell_update_window_unicode_wrap/1, + shell_receive_standard_out/1, shell_standard_error_nlcr/1, shell_clear/1, remsh_basic/1, remsh_error/1, remsh_longnames/1, remsh_no_epmd/1, remsh_expand_compatibility_25/1, remsh_expand_compatibility_later_version/1, @@ -128,6 +129,7 @@ groups() -> shell_transpose, shell_search, shell_insert, shell_update_window, shell_small_window_multiline_navigation, shell_huge_input, shell_support_ansi_input, + shell_receive_standard_out, shell_standard_error_nlcr, shell_expand_location_above, shell_expand_location_below, @@ -454,10 +456,12 @@ shell_multiline_navigation(Config) -> check_location(Term, {0,0}), send_tty(Term,"C-h"), % Backspace check_location(Term, {-1,width("ccc}")}), + send_tty(Term, "C-Up"), + send_tty(Term, "End"), send_tty(Term,"Left"), send_tty(Term,"M-Enter"), - send_tty(Term,"Right"), - check_location(Term, {0,1}), + check_content(Term, ".. ,"), + check_location(Term, {-1,0}), send_tty(Term,"M-c"), check_location(Term, {-3,0}), send_tty(Term,"{'"++U++"',\n\n\nworks}.\n") @@ -911,6 +915,8 @@ shell_small_window_multiline_navigation(Config) -> check_content(Term,"is_element"), check_content(Term,"is_empty"), check_location(Term, {-4, 9}), + send_tty(Term, "M-Enter"), + check_location(Term, {-1, 0}), ok after stop_tty(Term) @@ -929,7 +935,18 @@ shell_huge_input(Config) -> after stop_tty(Term) end. - +shell_receive_standard_out(Config) -> + Term = start_tty(Config), + try + send_tty(Term,"my_fun(5) -> ok; my_fun(N) -> receive after 100 -> io:format(\"~p\\n\", [N]), my_fun(N+1) end.\n"), + send_tty(Term, "spawn(shell_default, my_fun, [0]). ABC\n"), + timer:sleep(1000), + check_location(Term, {0, 0}), %% Check that we are at the same location relative to the start. + check_content(Term, "3\\s+4\\s+.+>\\sABC"), + ok + after + stop_tty(Term) + end. %% Test that the shell works when invalid utf-8 (aka latin1) is sent to it shell_invalid_unicode(Config) -> Term = start_tty(Config), @@ -1071,8 +1088,8 @@ shell_expand_location_below(Config) -> send_stdin(Term, "\t"), %% The expansion does not fit on screen, verify that %% expand above mode is used - check_content(fun() -> get_content(Term, "-S -7") end, - "3> long_module:" ++ FunctionName ++ "\nfunctions"), + check_content(fun() -> get_content(Term, "-S -5") end, + "\nfunctions\n"), check_content(Term, "3> long_module:" ++ FunctionName ++ "$"), %% We resize the terminal to make everything fit and test that diff --git a/lib/kernel/test/kernel_SUITE.erl b/lib/kernel/test/kernel_SUITE.erl index 48e4db2ad36b..2c26569a8fc4 100644 --- a/lib/kernel/test/kernel_SUITE.erl +++ b/lib/kernel/test/kernel_SUITE.erl @@ -23,7 +23,7 @@ -module(kernel_SUITE). -include_lib("common_test/include/ct.hrl"). --compile(r22). +-compile(r24). %% Test server specific exports -export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, diff --git a/lib/kernel/test/kernel_gh.spec b/lib/kernel/test/kernel_gh.spec new file mode 100644 index 000000000000..b47fed2cf5fd --- /dev/null +++ b/lib/kernel/test/kernel_gh.spec @@ -0,0 +1,4 @@ +{suites,"../kernel_test", all}. +{skip_suites,"../kernel_test",[logger_stress_SUITE],"Benchmarks only"}. +{skip_cases, "../kernel_test", global_SUITE, + [many_nodes, lost_connection2, simple_resolve2],"Broken in docker"}. diff --git a/lib/kernel/test/kernel_test_lib.erl b/lib/kernel/test/kernel_test_lib.erl index 3b00780c49ba..45953fed84c7 100644 --- a/lib/kernel/test/kernel_test_lib.erl +++ b/lib/kernel/test/kernel_test_lib.erl @@ -45,8 +45,10 @@ proxy_call/3, %% Generic 'has support' test function(s) + is_socket_supported/0, has_support_ipv4/0, has_support_ipv6/0, + has_support_unix_domain_socket/0, which_local_host_info/1, which_local_host_info/2, which_local_addr/1, which_link_local_addr/1, @@ -111,10 +113,23 @@ init_per_suite(AllowSkip, Config) when is_boolean(AllowSkip) -> SKIP end; - {Factor, _HostInfo} when (AllowSkip =:= false) andalso + {Factor, HostInfo} when (AllowSkip =:= false) andalso is_integer(Factor) -> - [{kernel_factor, Factor} | Config] - + print("try start (global) system monitor"), + case kernel_test_global_sys_monitor:start() of + {ok, _} -> + print("(global) system monitor started"), + case lists:keysearch(label, 1, HostInfo) of + {value, Label} -> + [{kernel_factor, Factor}, Label | Config]; + false -> + [{kernel_factor, Factor} | Config] + end; + {error, Reason} -> + print("Failed start (global) system monitor:" + "~n ~p", [Reason]), + [{kernel_factor, Factor} | Config] + end catch throw:{skip, _} = SKIP -> SKIP @@ -1896,12 +1911,14 @@ analyze_and_print_win_host_info(Version) -> try begin %% "Normally" this looks like this: "16,123 MB" - %% But sometimes the "," is replaced by a 255 char - %% which I assume must be some unicode screwup... + %% But sometimes the "," is replaced by a + %% 255 or 160 char, which I assume must be some + %% unicode screwup... %% Anyway, filter out both of them! TotPhysMem1 = lists:delete($,, TotPhysMem), TotPhysMem2 = lists:delete(255, TotPhysMem1), - [MStr, MUnit|_] = string:tokens(TotPhysMem2, [$\ ]), + TotPhysMem3 = lists:delete(160, TotPhysMem2), + [MStr, MUnit|_] = string:tokens(TotPhysMem3, [$\ ]), case string:to_lower(MUnit) of "gb" -> try list_to_integer(MStr) of @@ -2682,7 +2699,19 @@ has_support_ipv6() -> skip("IPv6 Not Supported") end. +is_socket_supported() -> + try socket:info() of + #{} -> + true + catch + error : notsup -> + false; + error : undef -> + false + end. +has_support_unix_domain_socket() -> + socket:is_supported(local). %% This gets the local "proper" address %% (not {127, ...} or {169,254, ...} or {0, ...} or {16#fe80, ...}) @@ -2716,7 +2745,8 @@ which_local_host_info(Domain) -> which_local_host_info(LinkLocal, Domain) - when is_boolean(LinkLocal) andalso ((Domain =:= inet) orelse (Domain =:= inet6)) -> + when is_boolean(LinkLocal) andalso + ((Domain =:= inet) orelse (Domain =:= inet6)) -> case inet:getifaddrs() of {ok, IFL} -> which_local_host_info(LinkLocal, Domain, IFL, []); @@ -2778,7 +2808,7 @@ which_local_host_info(LinkLocal, Domain, [{Name, IFO}|IFL], Acc) -> which_local_host_info(LinkLocal, Domain, IFL, [Info#{name => Name}|Acc]) catch - throw:_:_ -> + throw:_E:_ -> which_local_host_info(LinkLocal, Domain, IFL, Acc) end; false -> @@ -2805,15 +2835,27 @@ which_local_host_info2(LinkLocal, inet = _Domain, IFO) -> ({_, _, _, _}) -> not LinkLocal; (_) -> false end), - NetMask = which_local_host_info3(netmask, IFO, - fun({_, _, _, _}) -> true; - (_) -> false - end), - BroadAddr = which_local_host_info3(broadaddr, IFO, - fun({_, _, _, _}) -> true; - (_) -> false - end), - Flags = which_local_host_info3(flags, IFO, fun(_) -> true end), + NetMask = try which_local_host_info3(netmask, IFO, + fun({_, _, _, _}) -> true; + (_) -> false + end) + catch + throw:{error, no_address} -> + undefined + end, + BroadAddr = try which_local_host_info3(broadaddr, IFO, + fun({_, _, _, _}) -> true; + (_) -> false + end) + catch + throw:{error, no_address} -> + undefined + end, + Flags = try which_local_host_info3(flags, IFO, fun(_) -> true end) + catch + throw:{error, no_address} -> + [] + end, #{flags => Flags, addr => Addr, broadaddr => BroadAddr, diff --git a/lib/kernel/test/kernel_test_lib.hrl b/lib/kernel/test/kernel_test_lib.hrl index 891eb6d2627c..f67aa0a70d73 100644 --- a/lib/kernel/test/kernel_test_lib.hrl +++ b/lib/kernel/test/kernel_test_lib.hrl @@ -58,7 +58,7 @@ -define(HAS_SUPPORT_IPV4(), ?LIB:has_support_ipv4()). -define(HAS_SUPPORT_IPV6(), ?LIB:has_support_ipv6()). --define(WHICH_LOCAL_ADDR(__D__), ?LIB:which_local_addr(__D__)). +-define(WHICH_LOCAL_ADDR(D), ?LIB:which_local_addr((D))). -define(START_NODE(__N__, __A__), ?LIB:start_node(__N__, __A__)). @@ -67,7 +67,7 @@ -define(STOP_NODE(__N__), ?LIB:stop_node(__N__)). --define(F(FORMAT, ARGS), ?LIB:f(FORMAT, ARGS)). +-define(F(FORMAT, ARGS), ?LIB:f((FORMAT), (ARGS))). -define(P(F), ?LIB:print(F)). -define(P(F,A), ?LIB:print(F, A)). -define(FTS(), ?LIB:formated_timestamp()). diff --git a/lib/kernel/test/socket_SUITE.erl b/lib/kernel/test/socket_SUITE.erl index 196af345218e..6626e7af6027 100644 --- a/lib/kernel/test/socket_SUITE.erl +++ b/lib/kernel/test/socket_SUITE.erl @@ -60,20 +60,31 @@ %% %% Run the entire test suite: -%% ts:run(emulator, socket_SUITE, [batch]). +%% ts:run(kernel, socket_SUITE, [batch]). %% %% Run a specific group: -%% ts:run(emulator, socket_SUITE, {group, foo}, [batch]). +%% ts:run(kernel, socket_SUITE, {group, foo}, [batch]). %% %% Run a specific test case: -%% ts:run(emulator, socket_SUITE, foo, [batch]). +%% ts:run(kernel, socket_SUITE, foo, [batch]). %% +%% (cd /mnt/c/$LOCAL_TESTS/26/kernel_test/ && $ERL_TOP/bin/win32/erl.exe -sname kernel-26-tester -pa c:$LOCAL_TESTS/26/test_server) +%% application:set_env(kernel, test_inet_backends, true). %% S = fun() -> ts:run(kernel, socket_SUITE, [batch]) end. +%% S = fun(SUITE) -> ts:run(kernel, SUITE, [batch]) end. %% S = fun() -> ct:run_test([{suite, socket_SUITE}]) end. +%% S = fun(SUITE) -> ct:run_test([{suite, SUITE}]) end. %% G = fun(GROUP) -> ts:run(kernel, socket_SUITE, {group, GROUP}, [batch]) end. +%% G = fun(SUITE, GROUP) -> ts:run(kernel, SUITE, {group, GROUP}, [batch]) end. %% G = fun(GROUP) -> ct:run_test([{suite, socket_SUITE}, {group, GROUP}]) end. +%% G = fun(SUITE, GROUP) -> ct:run_test([{suite, SUITE}, {group, GROUP}]) end. %% T = fun(TC) -> ts:run(kernel, socket_SUITE, TC, [batch]) end. %% T = fun(TC) -> ct:run_test([{suite, socket_SUITE}, {testcase, TC}]) end. +%% T = fun(S, TC) -> ct:run_test([{suite, S}, {testcase, TC}]) end. +%% T = fun(S, G, TC) -> ct:run_test([{suite, S}, {group, G}, {testcase, TC}]) end. +%% +%% Some official info about AF_UNIX +%% https://devblogs.microsoft.com/commandline/windowswsl-interop-with-af_unix/ @@ -210,6 +221,8 @@ api_opt_sock_keepalive/1, api_opt_sock_linger/1, api_opt_sock_mark/1, + api_opt_sock_maxdg/1, + api_opt_sock_max_msg_size/1, api_opt_sock_oobinline/1, api_opt_sock_passcred_tcp4/1, api_opt_sock_peek_off_tcpL/1, @@ -219,6 +232,9 @@ api_opt_sock_rcvbuf_udp4/1, api_opt_sock_rcvlowat_udp4/1, api_opt_sock_rcvtimeo_udp4/1, + api_opt_sock_reuseaddr/1, + api_opt_sock_exclusiveaddruse/1, + api_opt_sock_bsp_state/1, api_opt_sock_sndbuf_udp4/1, api_opt_sock_sndlowat_udp4/1, api_opt_sock_sndtimeo_udp4/1, @@ -243,6 +259,9 @@ api_opt_tcp_cork_tcp4/1, api_opt_tcp_maxseg_tcp4/1, api_opt_tcp_nodelay_tcp4/1, + api_opt_tcp_keepcnt_tcp4/1, + api_opt_tcp_keepidle_tcp4/1, + api_opt_tcp_keepintvl_tcp4/1, api_opt_udp_cork_udp4/1, %% *** API Operation Timeout *** @@ -327,6 +346,8 @@ %% Socket IOCTL simple ioctl_simple1/1, + ioctl_simple2/1, + ioctl_nread/1, %% Socket IOCTL get requests ioctl_get_gifname/1, ioctl_get_gifindex/1, @@ -339,6 +360,7 @@ ioctl_get_giftxqlen/1, ioctl_get_gifflags/1, ioctl_get_gifmap/1, + ioctl_tcp_info/1, %% ioctl_set_requests/1, %% *** Traffic *** @@ -440,6 +462,15 @@ ttest_sgenf_csockt_large_tcp4/1, ttest_sgenf_csockt_large_tcp6/1, + %% Server: transport = gen_tcp(socket), active = false + %% Client: transport = socket(tcp) + ttest_sgsf_csockf_small_tcp4/1, + ttest_sgsf_csockf_small_tcp6/1, + ttest_sgsf_csockf_medium_tcp4/1, + ttest_sgsf_csockf_medium_tcp6/1, + ttest_sgsf_csockf_large_tcp4/1, + ttest_sgsf_csockf_large_tcp6/1, + %% Server: transport = gen_tcp, active = once %% Client: transport = gen_tcp ttest_sgeno_cgenf_small_tcp4/1, @@ -555,6 +586,15 @@ ttest_ssockf_cgent_large_tcp4/1, ttest_ssockf_cgent_large_tcp6/1, + %% Server: transport = socket(tcp), active = false + %% Client: transport = gen_tcp(socket) + ttest_ssockf_cgsf_small_tcp4/1, + ttest_ssockf_cgsf_small_tcp6/1, + ttest_ssockf_cgsf_medium_tcp4/1, + ttest_ssockf_cgsf_medium_tcp6/1, + ttest_ssockf_cgsf_large_tcp4/1, + ttest_ssockf_cgsf_large_tcp6/1, + %% Server: transport = socket(tcp), active = false %% Client: transport = socket(tcp) ttest_ssockf_csockf_small_tcp4/1, @@ -697,12 +737,17 @@ ttest_ssockt_csockt_large_tcp6/1, ttest_ssockt_csockt_large_tcpL/1, + ttest_simple_ssockt_csocko_small_tcp4/1, + ttest_simple_ssockt_csocko_small_tcp6/1, + ttest_simple_ssockt_csocko_small_tcpL/1, + %% Tickets otp16359_maccept_tcp4/1, otp16359_maccept_tcp6/1, otp16359_maccept_tcpL/1, otp18240_accept_mon_leak_tcp4/1, - otp18240_accept_mon_leak_tcp6/1 + otp18240_accept_mon_leak_tcp6/1, + otp18635/1 ]). @@ -861,6 +906,9 @@ groups() -> {ttest_sgenf_csockf, [], ttest_sgenf_csockf_cases()}, {ttest_sgenf_csocko, [], ttest_sgenf_csocko_cases()}, {ttest_sgenf_csockt, [], ttest_sgenf_csockt_cases()}, + {ttest_sgsf, [], ttest_sgsf_cases()}, + {ttest_sgsf_csock, [], ttest_sgsf_csock_cases()}, + {ttest_sgsf_csockf, [], ttest_sgsf_csockf_cases()}, {ttest_sgeno, [], ttest_sgeno_cases()}, {ttest_sgeno_cgen, [], ttest_sgeno_cgen_cases()}, {ttest_sgeno_cgenf, [], ttest_sgeno_cgenf_cases()}, @@ -884,6 +932,8 @@ groups() -> {ttest_ssockf_cgenf, [], ttest_ssockf_cgenf_cases()}, {ttest_ssockf_cgeno, [], ttest_ssockf_cgeno_cases()}, {ttest_ssockf_cgent, [], ttest_ssockf_cgent_cases()}, + {ttest_ssockf_cgs, [], ttest_ssockf_cgs_cases()}, + {ttest_ssockf_cgsf, [], ttest_ssockf_cgsf_cases()}, {ttest_ssockf_csock, [], ttest_ssockf_csock_cases()}, {ttest_ssockf_csockf, [], ttest_ssockf_csockf_cases()}, {ttest_ssockf_csocko, [], ttest_ssockf_csocko_cases()}, @@ -906,6 +956,9 @@ groups() -> {ttest_ssockt_csockf, [], ttest_ssockt_csockf_cases()}, {ttest_ssockt_csocko, [], ttest_ssockt_csocko_cases()}, {ttest_ssockt_csockt, [], ttest_ssockt_csockt_cases()}, + {ttest_simple_ssockt, [], ttest_simple_ssockt_cases()}, + {ttest_simple_ssockt_csock, [], ttest_simple_ssockt_csock_cases()}, + {ttest_simple_ssockt_csocko, [], ttest_simple_ssockt_csocko_cases()}, %% Ticket groups {tickets, [], tickets_cases()}, @@ -1066,6 +1119,8 @@ api_options_socket_cases() -> api_opt_sock_keepalive, api_opt_sock_linger, api_opt_sock_mark, + api_opt_sock_maxdg, + api_opt_sock_max_msg_size, api_opt_sock_oobinline, {group, api_option_sock_passcred}, api_opt_sock_peek_off_tcpL, @@ -1074,7 +1129,11 @@ api_options_socket_cases() -> {group, api_option_sock_buf}, {group, api_option_sock_lowat}, {group, api_option_sock_timeo}, - {group, api_option_sock_timestamp} + {group, api_option_sock_timestamp}, + api_opt_sock_reuseaddr, + api_opt_sock_exclusiveaddruse, + api_opt_sock_bsp_state + ]. api_option_sock_acceptconn_cases() -> @@ -1156,8 +1215,11 @@ api_options_tcp_cases() -> %% api_opt_tcp_cork_tcp6, api_opt_tcp_maxseg_tcp4, %% api_opt_tcp_maxseg_tcp6, - api_opt_tcp_nodelay_tcp4%, + api_opt_tcp_nodelay_tcp4, %% api_opt_tcp_nodelay_tcp6 + api_opt_tcp_keepcnt_tcp4, + api_opt_tcp_keepidle_tcp4, + api_opt_tcp_keepintvl_tcp4 ]. api_options_udp_cases() -> @@ -1298,7 +1360,9 @@ ioctl_cases() -> ioctl_simple_cases() -> [ - ioctl_simple1 + ioctl_simple1, + ioctl_simple2, + ioctl_nread ]. @@ -1314,7 +1378,8 @@ ioctl_get_cases() -> ioctl_get_gifhwaddr, ioctl_get_giftxqlen, ioctl_get_gifflags, - ioctl_get_gifmap + ioctl_get_gifmap, + ioctl_tcp_info ]. @@ -1489,6 +1554,9 @@ ttest_cases() -> %% Server: transport = gen_tcp, active = true {group, ttest_sgent}, + %% Server: transport = gen_tcp(socket), active = false + {group, ttest_sgsf}, + %% Server: transport = socket(tcp), active = false {group, ttest_ssockf}, @@ -1496,7 +1564,10 @@ ttest_cases() -> {group, ttest_ssocko}, %% Server: transport = socket(tcp), active = true - {group, ttest_ssockt} + {group, ttest_ssockt}, + + %% simple: Server: transport = socket(tcp), active = true + {group, ttest_simple_ssockt} ]. @@ -1517,6 +1588,13 @@ ttest_sgenf_cgen_cases() -> {group, ttest_sgenf_cgent} ]. +%% Server: transport = gen_tcp(socket), active = false +ttest_sgsf_cases() -> + [ + %% {group, ttest_sgenf_cgen}, + {group, ttest_sgsf_csock} + ]. + %% Server: transport = gen_tcp, active = false %% Client: transport = gen_tcp, active = false @@ -1634,6 +1712,27 @@ ttest_sgenf_csockt_cases() -> [ttest_sgenf_csockt_large_tcp4, ttest_sgenf_csockt_large_tcp6]). +%% Server: transport = gen_tcp(socket), active = false +%% Client: transport = socket(tcp) +ttest_sgsf_csock_cases() -> + [ + {group, ttest_sgsf_csockf}%% , + %% {group, ttest_sgsf_csocko}, + %% {group, ttest_sgsf_csockt} + ]. + +ttest_sgsf_csockf_cases() -> + ttest_select_conditional_cases( + %% Small + [ttest_sgsf_csockf_small_tcp4, + ttest_sgsf_csockf_small_tcp6], + %% Medium + [ttest_sgsf_csockf_medium_tcp4, + ttest_sgsf_csockf_medium_tcp6], + %% Large + [ttest_sgsf_csockf_large_tcp4, + ttest_sgsf_csockf_large_tcp6]). + %% Server: transport = gen_tcp, active = once ttest_sgeno_cases() -> [ @@ -1844,7 +1943,8 @@ ttest_sgent_csockt_cases() -> ttest_ssockf_cases() -> [ {group, ttest_ssockf_cgen}, - {group, ttest_ssockf_csock} + {group, ttest_ssockf_csock}, + {group, ttest_ssockf_cgsf} ]. %% Server: transport = socket(tcp), active = false @@ -1898,6 +1998,29 @@ ttest_ssockf_cgent_cases() -> [ttest_ssockf_cgent_large_tcp4, ttest_ssockf_cgent_large_tcp6]). +%% Server: transport = socket(tcp), active = false +%% Client: transport = gen_tcp(socket) +ttest_ssockf_cgs_cases() -> + [ + {group, ttest_ssockf_cgsf}%% , + %% {group, ttest_ssockf_cgeno}, + %% {group, ttest_ssockf_cgent} + ]. + +%% Server: transport = socket(tcp), active = false +%% Client: transport = gen_tcp(socket), active = false +ttest_ssockf_cgsf_cases() -> + ttest_select_conditional_cases( + %% Small + [ttest_ssockf_cgsf_small_tcp4, + ttest_ssockf_cgsf_small_tcp6], + %% Medium + [ttest_ssockf_cgsf_medium_tcp4, + ttest_ssockf_cgsf_medium_tcp6], + %% Large + [ttest_ssockf_cgsf_large_tcp4, + ttest_ssockf_cgsf_large_tcp6]). + %% Server: transport = socket(tcp), active = false %% Client: transport = socket(tcp) ttest_ssockf_csock_cases() -> @@ -2194,10 +2317,39 @@ ttest_ssockt_csockt_cases() -> ttest_ssockt_csockt_large_tcp6, ttest_ssockt_csockt_large_tcpL]). +%% Server: transport = socket(tcp), active = true +ttest_simple_ssockt_cases() -> + [ + {group, ttest_simple_ssockt_csock} + ]. + +%% Server: transport = socket(tcp), active = true +%% Client: transport = socket(tcp) +ttest_simple_ssockt_csock_cases() -> + [ + %% {group, ttest_simple_ssockt_csockf}, + {group, ttest_simple_ssockt_csocko}%% , + %% {group, ttest_simple_ssockt_csockt} + ]. + +%% Server: transport = socket(tcp), active = true +%% Client: transport = socket(tcp), active = once +ttest_simple_ssockt_csocko_cases() -> + ttest_select_conditional_cases( + %% Small + [ttest_simple_ssockt_csocko_small_tcp4, + ttest_simple_ssockt_csocko_small_tcp6, + ttest_simple_ssockt_csocko_small_tcpL], + %% Medium + [], + %% Large + []). + tickets_cases() -> [ {group, otp16359}, - {group, otp18240} + {group, otp18240}, + otp18635 ]. otp16359_cases() -> @@ -2893,7 +3045,10 @@ api_b_open_and_close_tcp6(_Config) when is_list(_Config) -> api_b_open_and_close_udpL(_Config) when is_list(_Config) -> ?TT(?SECS(5)), tc_try(api_b_open_and_close_udpL, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket(), + is_not_windows() + end, fun() -> InitState = #{domain => local, type => dgram, @@ -2925,7 +3080,10 @@ api_b_open_and_close_tcpL(_Config) when is_list(_Config) -> api_b_open_and_close_seqpL(_Config) when is_list(_Config) -> ?TT(?SECS(5)), tc_try(?FUNCTION_NAME, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket(), + is_not_windows() + end, fun() -> InitState = #{domain => local, type => seqpacket, @@ -3179,6 +3337,7 @@ api_b_sendto_and_recvfrom_udpL(_Config) when is_list(_Config) -> tc_try(api_b_sendto_and_recvfrom_udpL, fun() -> has_support_unix_domain_socket(), + is_not_windows(), unix_domain_socket_host_cond() end, fun() -> @@ -3246,6 +3405,7 @@ api_b_sendmsg_and_recvmsg_udpL(_Config) when is_list(_Config) -> tc_try(api_b_sendmsg_and_recvmsg_udpL, fun() -> has_support_unix_domain_socket(), + is_not_windows(), unix_domain_socket_host_cond() end, fun() -> @@ -3476,7 +3636,10 @@ api_b_send_and_recv_tcpL(_Config) when is_list(_Config) -> api_b_send_and_recv_seqpL(_Config) when is_list(_Config) -> ?TT(?SECS(10)), tc_try(?FUNCTION_NAME, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket(), + is_not_windows() + end, fun() -> Send = fun(Sock, Data) -> socket:send(Sock, Data) @@ -3537,7 +3700,10 @@ api_b_sendmsg_and_recvmsg_tcp4(_Config) when is_list(_Config) -> api_b_sendmsg_and_recvmsg_tcpL(_Config) when is_list(_Config) -> ?TT(?SECS(10)), tc_try(api_b_sendmsg_and_recvmsg_tcpL, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket(), + is_not_windows() + end, fun() -> Send = fun(Sock, Data) -> Msg = #{iov => [Data]}, @@ -3586,7 +3752,10 @@ api_b_sendmsg_and_recvmsg_tcpL(_Config) when is_list(_Config) -> api_b_sendmsg_and_recvmsg_seqpL(_Config) when is_list(_Config) -> ?TT(?SECS(10)), tc_try(?FUNCTION_NAME, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket(), + is_not_windows() + end, fun() -> Send = fun(Sock, Data) -> @@ -3633,6 +3802,7 @@ api_b_sendmsg_and_recvmsg_seqpL(_Config) when is_list(_Config) -> api_b_send_and_recv_conn(InitState) -> process_flag(trap_exit, true), + ServerSeq = [ %% *** Wait for start order *** @@ -3651,6 +3821,7 @@ api_b_send_and_recv_conn(InitState) -> #{desc => "which local address", cmd => fun(#{domain := Domain} = State) -> LSA = which_local_socket_addr(Domain), + ?SEV_IPRINT("LSA: ~p", [LSA]), {ok, State#{lsa => LSA}} end}, #{desc => "create listen socket", @@ -3670,11 +3841,18 @@ api_b_send_and_recv_conn(InitState) -> cmd => fun(#{domain := local, lsock := LSock, lsa := LSA} = _State) -> + ?SEV_IPRINT("try bind to: " + "~n ~p", [LSA]), + %% _ = socket:setopt(LSock, otp, debug, true), case socket:bind(LSock, LSA) of ok -> %% We do not care about the port for local + %% _ = socket:setopt(LSock, otp, debug, false), ok; - {error, _} = ERROR -> + {error, Reason} = ERROR -> + %% _ = socket:setopt(LSock, otp, debug, false), + ?SEV_EPRINT("failed binding: " + "~n ~p", [Reason]), ERROR end; (#{lsock := LSock, lsa := LSA} = State) -> @@ -3709,11 +3887,17 @@ api_b_send_and_recv_conn(InitState) -> end}, #{desc => "await connection", cmd => fun(#{lsock := LSock} = State) -> + %% _ = socket:setopt(LSock, otp, debug, true), + ?SEV_IPRINT("try accept"), case socket:accept(LSock) of {ok, Sock} -> + %% _ = socket:setopt(LSock, otp, debug, false), ?SEV_IPRINT("accepted: ~n ~p", [Sock]), {ok, State#{csock => Sock}}; - {error, _} = ERROR -> + {error, Reason} = ERROR -> + %% _ = socket:setopt(LSock, otp, debug, false), + ?SEV_EPRINT("accept failed: " + "~n ~p", [Reason]), ERROR end end}, @@ -4594,55 +4778,77 @@ api_b_sendmsg_iov_dgram_inet6(Config) when is_list(Config) -> %% api_b_sendmsg_iov_dgram_local(Config) when is_list(Config) -> has_support_unix_domain_socket(), + is_not_windows(), % on Windows, local only works for stream sockets api_b_sendmsg_iov_dgram(local). api_b_sendmsg_iov_stream_inet(Config) when is_list(Config) -> has_support_ipv4(), + is_not_windows(), % sendmsg does not work on Windows api_b_sendmsg_iov_stream(inet). %% api_b_sendmsg_iov_stream_inet6(Config) when is_list(Config) -> has_support_ipv6(), + is_not_windows(), % sendmsg does not work on Windows api_b_sendmsg_iov_stream(inet6). %% api_b_sendmsg_iov_stream_local(Config) when is_list(Config) -> has_support_unix_domain_socket(), + is_not_windows(), % sendmsg does not work on Windows api_b_sendmsg_iov_stream(local). api_b_sendmsg_iov_dgram(Domain) -> + ?P("api_b_sendmsg_iov_dgram -> entry with" + "~n Domain: ~p", [Domain]), ?TT(?SECS(5)), #{iov_max := IOVMax} = socket:info(), + ?P("api_b_sendmsg_iov_dgram -> IOVMax: ~p", [IOVMax]), IOV = lists:map( fun (N) -> <<(rand:uniform(N) - 1)>> end, lists:duplicate(IOVMax, 256)), IOVTooLarge = IOV ++ IOV, Data = erlang:iolist_to_binary(IOV), - {ok, Sa} = socket:open(Domain, dgram), + ?P("api_b_sendmsg_iov_dgram -> a: create socket"), + {ok, Sa} = socket:open(Domain, dgram, #{debug => true}), try + ?P("api_b_sendmsg_iov_dgram -> b: create socket"), {ok, Sb} = socket:open(Domain, dgram), try + ?P("api_b_sendmsg_iov_dgram -> a: bind socket"), ok = socket:bind(Sa, which_local_socket_addr(Domain)), + ?P("api_b_sendmsg_iov_dgram -> b: bind socket"), ok = socket:bind(Sb, which_local_socket_addr(Domain)), + ?P("api_b_sendmsg_iov_dgram -> a: get sockname"), {ok, Aa} = socket:sockname(Sa), + ?P("api_b_sendmsg_iov_dgram -> b: get sockname"), {ok, Ab} = socket:sockname(Sb), %% + ?P("api_b_sendmsg_iov_dgram -> a: sendmsg"), ok = socket:sendmsg(Sa, #{addr => Ab, iov => IOV}), + ?P("api_b_sendmsg_iov_dgram -> b: recvfrom"), {ok, {Aa, Data}} = socket:recvfrom(Sb), %% + ?P("api_b_sendmsg_iov_dgram -> b: sendmsg (too large => fail)"), {error, {invalid, _}} = socket:sendmsg(Sb, #{addr => Aa, iov => IOVTooLarge}), + ?P("api_b_sendmsg_iov_dgram -> done"), ok after + ?P("api_b_sendmsg_iov_dgram -> b: close socket"), socket:close(Sb) end after + ?P("api_b_sendmsg_iov_dgram -> a: close socket"), socket:close(Sa) end. api_b_sendmsg_iov_stream(Domain) -> + ?P("api_b_sendmsg_iov_stream -> entry with" + "~n Domain: ~p", [Domain]), ?TT(?SECS(5)), #{iov_max := IOVMax} = socket:info(), + ?P("api_b_sendmsg_iov_stream -> IOVMax: ~p", [IOVMax]), IOV = lists:map( fun (N) -> <<(rand:uniform(N) - 1)>> end, @@ -4650,44 +4856,64 @@ api_b_sendmsg_iov_stream(Domain) -> IOVTooLarge = IOV ++ IOV, Data = erlang:iolist_to_binary(IOV), DataTooLarge = erlang:iolist_to_binary(IOVTooLarge), + ?P("api_b_sendmsg_iov_stream -> create stream socket a"), {ok, Sa} = socket:open(Domain, stream), try case os:type() of {win32,nt} -> + ?P("api_b_sendmsg_iov_stream-> [win] a: bind socket"), ok = socket:bind(Sa, which_local_socket_addr(Domain)); _ -> ok end, + ?P("api_b_sendmsg_iov_stream -> create stream socket b"), {ok, Sb} = socket:open(Domain, stream), try + ?P("api_b_sendmsg_iov_stream -> b: bind socket"), ok = socket:bind(Sb, which_local_socket_addr(Domain)), + ?P("api_b_sendmsg_iov_stream -> b: get sockname"), {ok, Ab} = socket:sockname(Sb), + ?P("api_b_sendmsg_iov_stream -> b: make socket listen"), ok = socket:listen(Sb), + ?P("api_b_sendmsg_iov_stream -> a: connect socket to b"), ok = socket:connect(Sa, Ab), + ?P("api_b_sendmsg_iov_stream -> a: get sockname"), {ok, Aa} = socket:sockname(Sa), + ?P("api_b_sendmsg_iov_stream -> a: get peername"), {ok, Ab} = socket:peername(Sa), + ?P("api_b_sendmsg_iov_stream -> accept connection (=> c)"), {ok, Sc} = socket:accept(Sb), try + ?P("api_b_sendmsg_iov_stream -> c: get sockname"), {ok, Ab} = socket:sockname(Sc), + ?P("api_b_sendmsg_iov_stream -> c: get peername"), {ok, Aa} = socket:peername(Sc), %% + ?P("api_b_sendmsg_iov_stream -> a: sendmsg"), ok = socket:sendmsg(Sa, #{iov => IOV}), + ?P("api_b_sendmsg_iov_stream -> c: recv"), {ok, Data} = socket:recv(Sc, byte_size(Data)), + ?P("api_b_sendmsg_iov_stream -> c: sendmsg (too large)"), ok = socket:sendmsg(Sc, #{iov => IOVTooLarge}), + ?P("api_b_sendmsg_iov_stream -> a: recv"), {ok, DataTooLarge} = socket:recv(Sa, byte_size(DataTooLarge)), + ?P("api_b_sendmsg_iov_stream -> done"), ok catch error:notsup = Reason:_ -> + ?P("api_b_sendmsg_iov_stream -> notsup"), exit({skip, Reason}) after socket:close(Sc) end after + ?P("api_b_sendmsg_iov_stream -> after - b: close socket"), socket:close(Sb) end after + ?P("api_b_sendmsg_iov_stream -> after - a: close socket"), socket:close(Sa) end. @@ -13502,7 +13728,7 @@ api_opt_sock_bindtodevice() -> [ #{desc => "which local address", cmd => fun(#{domain := Domain} = State) -> - case ?LIB:which_local_host_info(Domain) of + case which_local_host_info(Domain) of {ok, #{name := Name, addr := Addr}} -> ?SEV_IPRINT("local host info (~p): " "~n Name: ~p" @@ -13786,10 +14012,11 @@ api_opt_sock_broadcast() -> [ #{desc => "which local address", cmd => fun(#{domain := Domain} = State) -> - case ?LIB:which_local_host_info(Domain) of + case which_local_host_info(Domain) of {ok, #{name := Name, addr := Addr, - broadaddr := BAddr}} -> + broadaddr := BAddr}} + when (BAddr =/= undefined) -> ?SEV_IPRINT("local host info: " "~n Name: ~p" "~n Addr: ~p" @@ -13801,6 +14028,8 @@ api_opt_sock_broadcast() -> addr => BAddr}, {ok, State#{lsa => LSA, bsa => BSA}}; + {ok, _} -> + {skip, no_broadcast_address}; {error, _} = ERROR -> ERROR end @@ -14159,7 +14388,7 @@ api_opt_sock_debug() -> [ #{desc => "which local address", cmd => fun(#{domain := Domain} = State) -> - case ?LIB:which_local_host_info(Domain) of + case which_local_host_info(Domain) of {ok, #{name := Name, addr := Addr}} -> ?SEV_IPRINT("local host info: " @@ -14269,12 +14498,12 @@ api_opt_sock_domain() -> [ #{desc => "which local address", cmd => fun(#{domain := Domain} = State) -> - case ?LIB:which_local_host_info(Domain) of - {ok, #{name := Name, - addr := Addr}} -> + case which_local_host_info(Domain) of + {ok, #{name := Name, + addr := Addr}} -> ?SEV_IPRINT("local host info: " - "~n Name: ~p" - "~n Addr: ~p", + "~n Name: ~p" + "~n Addr: ~p", [Name, Addr]), LSA = #{family => Domain, addr => Addr}, @@ -14388,12 +14617,12 @@ api_opt_sock_dontroute() -> [ #{desc => "which local address", cmd => fun(#{domain := Domain} = State) -> - case ?LIB:which_local_host_info(Domain) of - {ok, #{name := Name, - addr := Addr}} -> + case which_local_host_info(Domain) of + {ok, #{name := Name, + addr := Addr}} -> ?SEV_IPRINT("local host info: " - "~n Name: ~p" - "~n Addr: ~p", + "~n Name: ~p" + "~n Addr: ~p", [Name, Addr]), LSA = #{family => Domain, addr => Addr}, @@ -14517,12 +14746,12 @@ api_opt_sock_keepalive() -> [ #{desc => "which local address", cmd => fun(#{domain := Domain} = State) -> - case ?LIB:which_local_host_info(Domain) of + case which_local_host_info(Domain) of {ok, #{name := Name, addr := Addr}} -> ?SEV_IPRINT("local host info: " - "~n Name: ~p" - "~n Addr: ~p", + "~n Name: ~p" + "~n Addr: ~p", [Name, Addr]), LSA = #{family => Domain, addr => Addr}, @@ -14609,6 +14838,391 @@ api_opt_sock_keepalive() -> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Tests the socket option reuseaddr. +%% This is the most basic of tests. We only test that we can set the +%% option and then read back. + +api_opt_sock_reuseaddr(_Config) when is_list(_Config) -> + ?TT(?SECS(10)), + tc_try(?FUNCTION_NAME, + fun() -> + %% [IPv4] Nothing to do with the option, + %% [IPv4] but we use it the test so make + %% [IPv4] use we have it. + has_support_ipv4(), + has_support_sock_reuseaddr() + end, + fun() -> api_opt_sock_reuseaddr() end). + + +api_opt_sock_reuseaddr() -> + api_opt_simple_bool(inet, socket, stream, reuseaddr, + #{bind => false}). + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Tests the socket option exclusiveaddruse. +%% This is the most basic of tests. We only test that we can set the +%% option and then read back. + +api_opt_sock_exclusiveaddruse(_Config) when is_list(_Config) -> + ?TT(?SECS(10)), + tc_try(?FUNCTION_NAME, + fun() -> + %% [IPv4] Nothing to do with the option, + %% [IPv4] but we use it the test so make + %% [IPv4] use we have it. + has_support_ipv4(), + has_support_sock_exclusiveaddruse() + end, + fun() -> api_opt_sock_exclusiveaddruse() end). + + +api_opt_sock_exclusiveaddruse() -> + api_opt_simple_bool(inet, socket, stream, exclusiveaddruse, + #{bind => false}). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% *Simple* test for a bool option. +%% This basically just tests that we can set and get the option. +%% This assumes that the option is supported. +%% What if its required that the socket is bound before set/get? +%% What if its required that set/get is done before bind? + +api_opt_simple_bool(Domain, Level, Type, Option, InitState) -> + + Set = fun(S, Val) when is_boolean(Val) -> + socket:setopt(S, Level, Option, Val) + end, + Get = fun(S) -> + socket:getopt(S, Level, Option) + end, + + TesterSeq = + [ + #{desc => "(maybe) which local address", + cmd => fun(#{bind := true} = State) -> + case ?LIB:which_local_host_info(Domain) of + {ok, #{name := Name, + addr := Addr}} -> + ?SEV_IPRINT("local host info: " + "~n Name: ~p" + "~n Addr: ~p", + [Name, Addr]), + LSA = #{family => Domain, + addr => Addr}, + {ok, State#{lsa => LSA}}; + {error, _} = ERROR -> + ERROR + end; + (_State) -> + ?SEV_IPRINT("ignore get local address"), + ok + end}, + + #{desc => "create socket", + cmd => fun(State) -> + case socket:open(Domain, Type) of + {ok, Sock} -> + {ok, State#{sock => Sock}}; + {error, _} = ERROR -> + ERROR + end + end}, + + #{desc => "(maybe) bind", + cmd => fun(#{bind := true, lsa := LSA, sock := Sock} = _State) -> + ?SEV_IPRINT("try binding"), + socket:bind(Sock, LSA); + (_State) -> + ?SEV_IPRINT("ignore binding"), + ok + end}, + + #{desc => "Get current value", + cmd => fun(#{sock := Sock} = State) -> + case Get(Sock) of + {ok, Val} when is_boolean(Val) -> + ?SEV_IPRINT("Success: ~p", [Val]), + {ok, State#{Option => Val}}; + {error, Reason} = ERROR -> + ?SEV_EPRINT("Unexpected failure: ~p", + [Reason]), + ERROR + end + end}, + #{desc => "Try change the value", + cmd => fun(#{sock := Sock} = State) -> + Current = maps:get(Option, State), + New = not Current, + ?SEV_IPRINT("Try change value from ~p to ~p", + [Current, New]), + case Set(Sock, New) of + ok -> + ?SEV_IPRINT("Expected Success"), + {ok, State#{Option => New}}; + {error, Reason} = ERROR -> + ?SEV_EPRINT("Unexpected Failure: ~p", + [Reason]), + ERROR + end + end}, + #{desc => "Verify (new) current value", + cmd => fun(#{sock := Sock} = State) -> + Val = maps:get(Option, State), + case Get(Sock) of + {ok, Val} -> + ?SEV_IPRINT("Expected Success (~p)", [Val]), + ok; + {ok, OtherVal} -> + ?SEV_IPRINT("Unexpected Success: ~p", + [OtherVal]), + {error, {unexpected_success_value, + Val, OtherVal}}; + {error, Reason} = ERROR -> + ?SEV_EPRINT("Unexpected failure: ~p", + [Reason]), + ERROR + end + end}, + + %% *** Termination *** + #{desc => "close socket", + cmd => fun(#{sock := Sock} = State0) -> + socket:close(Sock), + State1 = maps:remove(sock, State0), + {ok, State1} + end}, + + %% *** We are done *** + ?SEV_FINISH_NORMAL + ], + + i("start tester evaluator"), + Tester = ?SEV_START("tester", TesterSeq, InitState), + + i("await evaluator(s)"), + ok = ?SEV_AWAIT_FINISH([Tester]). + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Tests the socket option bsp_state. +%% This is the most basic of tests. We test that we can, +%% create sockets, bind and connect and extract bsp-state +%% in the various state(s) of the socket. +%% For both dgram and stream sockets. + +api_opt_sock_bsp_state(_Config) when is_list(_Config) -> + ?TT(?SECS(10)), + tc_try(?FUNCTION_NAME, + fun() -> + %% This is not a 'IPv4' option, + %% but since we used it in the test... + has_support_ipv4(), + has_support_sock_bsp_state() + end, + fun() -> api_opt_sock_bsp_state() end). + + +api_opt_sock_bsp_state() -> + LSA = which_local_socket_addr(inet), + BspState = fun(S) -> + case socket:getopt(S, socket, bsp_state) of + {ok, BS} -> + BS; + {error, Reason} -> + ?FAIL({getopt_bsp_state, Reason}) + end + end, + CreateSock = fun(T, P) -> + case socket:open(inet, T, P) of + {ok, Sock} -> + Sock; + {error, Reason} -> + skip({socket_create_fail, Reason}) + end + end, + CloseSock = fun(S) -> + socket:close(S) + end, + BindSock = fun(S, SA) -> + case socket:bind(S, SA) of + ok -> + ok; + {error, Reason} -> + ?FAIL({bind, Reason}) + end + end, + Sockname = fun(S) -> + case socket:sockname(S) of + {ok, SA} -> + SA; + {error, Reason} -> + ?FAIL({sockname, Reason}) + end + end, + %% Setopt = fun(S, L, O, V) -> + %% socket:setopt(S, L, O, V) + %% end, + %% SetOtpOpt = fun(S, O, V) -> Setopt(S, otp, O, V) end, + %% SetDebug = fun(S, D) when is_boolean(D) -> SetOptOpt(S, debug, D) end, + %% EnableDebug = fun(S) -> SetDebug(S, true) end, + ConnectSock = fun(S, SA) -> + case socket:connect(S, SA) of + ok -> + ok; + {error, Reason} -> + ?FAIL({connect, Reason}) + end + end, + ListenSock = fun(S) -> + case socket:listen(S) of + ok -> + ok; + {error, Reason} -> + ?FAIL({listen, Reason}) + end + end, + AcceptSock = fun(S) -> + case socket:accept(S) of + {ok, A} -> + A; + {error, Reason} -> + ?FAIL({accept, Reason}) + end + end, + + VerifyBspState = fun(S, Type, Proto, + Bound, Connected) -> + verify_bsp_state(S, Type, Proto, + Bound, Connected) + end, + + ?P("Create UDP socket 1:"), + US1 = CreateSock(dgram, udp), + ?P("UDP[1] [Unbound | Unconnected] => ~p", [BspState(US1)]), + VerifyBspState(BspState(US1), dgram, udp, false, false), + + ?P("Create UDP socket 2:"), + US2 = CreateSock(dgram, udp), + ?P("UDP[2] [Unbound | Unconnected] => ~p", [BspState(US2)]), + VerifyBspState(BspState(US2), dgram, udp, false, false), + + ?P("Bind UDP socket 1"), + BindSock(US1, LSA), + ?P("UDP[1] [Bound | Unconnected] => ~p", [BspState(US1)]), + VerifyBspState(BspState(US1), dgram, udp, true, false), + + ?P("Bind UDP socket 2"), + BindSock(US2, LSA), + ?P("UDP[2] [Bound | Unconnected] => ~p", [BspState(US2)]), + VerifyBspState(BspState(US2), dgram, udp, true, false), + + %% We have not yet implemented 'connect' for UDP on Windows, + %% so we leave this commented for now: + + %% ?P("socknames"), + %% USN1 = Sockname(US1), + %% USN2 = Sockname(US2), + + %% ?P("enable debug for US1"), + %% EnableDebug(US1), + + %% ?P("Connect UDP socket 1 to" + %% "~n ~p", [USN2]), + %% ConnectSock(US1, USN2), + %% ?P("UDP[1] [Bound | Connected] => ~p", [BspState(US1)]), + + %% ?P("Connect UDP socket 2 to" + %% "~n ~p", [USN1]), + %% ConnectSock(US2, USN1), + %% ?P("UDP[2] [Bound | Connected] => ~p", [BspState(US2)]), + + + ?P("Create TCP socket 1:"), + TS1 = CreateSock(stream, tcp), + ?P("TCP[1] [Unbound | Unconnected] => ~p", [BspState(TS1)]), + VerifyBspState(BspState(TS1), stream, tcp, false, false), + + ?P("Create TCP socket 2 (listen):"), + TS2 = CreateSock(stream, tcp), + ?P("TCP[2] [Unbound | Unconnected] => ~p", [BspState(TS2)]), + VerifyBspState(BspState(TS2), stream, tcp, false, false), + + ?P("Bind TCP socket 1"), + BindSock(TS1, LSA), + ?P("TCP[1] [Bound | Unconnected] => ~p", [BspState(TS1)]), + VerifyBspState(BspState(TS1), stream, tcp, true, false), + + ?P("Bind TCP socket 2"), + BindSock(TS2, LSA), + ?P("TCP[2] [Bound | Unconnected] => ~p", [BspState(TS2)]), + VerifyBspState(BspState(TS2), stream, tcp, true, false), + + ?P("Make TCP socket 2 listen"), + ListenSock(TS2), + + ?P("socknames"), + TSN2 = Sockname(TS2), + + ?P("Connect TCP socket 1 to" + "~n ~p", [TSN2]), + ConnectSock(TS1, TSN2), + ?P("TCP[1] [Bound | Connected] => ~p", [BspState(TS1)]), + VerifyBspState(BspState(TS1), stream, tcp, true, true), + + ?P("Accept TCP socket 3"), + TS3 = AcceptSock(TS2), + ?P("TCP[3] [Bound | Connected] => ~p", [BspState(TS3)]), + VerifyBspState(BspState(TS3), stream, tcp, true, true), + + ?P("Close socket(s)"), + CloseSock(TS3), + CloseSock(TS2), + CloseSock(TS1), + + ?P("done"), + ok. + + +verify_bsp_state(#{type := T, + protocol := P, + local_addr := LA, + remote_addr := RA}, + Type, Proto, + Bound, Connected) when (T =:= Type) andalso (P =:= Proto) -> + case {Bound, LA} of + {false, undefined} -> + ok; + {true, _} when (LA =/= undefined) -> + ok; + _ -> + ?FAIL({invalid_bound_la, Bound, LA}) + end, + case {Connected, RA} of + {false, undefined} -> + ok; + {true, _} when (RA =/= undefined) -> + ok; + _ -> + ?FAIL({invalid_connected_ra, Connected, RA}) + end, + ok; +verify_bsp_state(#{type := T, + protocol := P}, + Type, Proto, + _Bound, _Connected) -> + ?FAIL({invalid_type_or_proto, {T, Type}, {P, Proto}}). + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Tests the socket option linger. PLACEHOLDER! @@ -14633,6 +15247,60 @@ api_opt_sock_mark(_Config) when is_list(_Config) -> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Tests the socket option maxdg. + +api_opt_sock_maxdg(_Config) when is_list(_Config) -> + ?TT(?SECS(10)), + tc_try(?FUNCTION_NAME, + fun() -> + %% This is not a 'IPv4' option, + %% but since we used it in the test... + has_support_ipv4(), + has_support_sock_maxdg() + end, + fun() -> do_api_opt_sock_maxdg() end). + +do_api_opt_sock_maxdg() -> + ?P("create DGRAM socket"), + {ok, S} = socket:open(inet, dgram), + ?P("get maxdg"), + case socket:getopt(S, socket, maxdg) of + {ok, Sz} -> + ?P("success: Sz = ~p", [Sz]), + ok; + {error, Reason} -> + ?FAIL({failed_get_maxdg, Reason}) + end. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Tests the socket option max_msg_size. + +api_opt_sock_max_msg_size(_Config) when is_list(_Config) -> + ?TT(?SECS(10)), + tc_try(?FUNCTION_NAME, + fun() -> + %% This is not a 'IPv4' option, + %% but since we used it in the test... + has_support_ipv4(), + has_support_sock_max_msg_size() + end, + fun() -> do_api_opt_sock_max_msg_size() end). + +do_api_opt_sock_max_msg_size() -> + {ok, S} = socket:open(inet, dgram), + case socket:getopt(S, socket, max_msg_size) of + {ok, Sz} -> + ?P("success: Sz = ~p", [Sz]), + ok; + {error, Reason} -> + ?FAIL({failed_get_max_msg_size, Reason}) + end. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% This test case tries to test that the oobinline socket 'socket' option @@ -24486,6 +25154,804 @@ api_opt_tcp_nodelay_tcp(InitState) -> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Tests that the keepcnt tcp socket option. +%% +%% "The maximum number of keepalive probes TCP should send before +%% dropping the connection" +%% + +api_opt_tcp_keepcnt_tcp4(_Config) when is_list(_Config) -> + ?TT(?SECS(5)), + tc_try(?FUNCTION_NAME, + fun() -> has_support_ipv4(), has_support_tcp_keepcnt() end, + fun() -> + Set = fun(Sock, Value) when is_integer(Value) -> + socket:setopt(Sock, tcp, keepcnt, Value) + end, + Get = fun(Sock) -> + socket:getopt(Sock, tcp, keepcnt) + end, + InitState = #{domain => inet, + proto => tcp, + set => Set, + get => Get}, + ok = api_opt_tcp_keepcnt_tcp(InitState) + end). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +api_opt_tcp_keepcnt_tcp(InitState) -> + process_flag(trap_exit, true), + ServerSeq = + [ + %% *** Wait for start order *** + #{desc => "await start (from tester)", + cmd => fun(State) -> + Tester = ?SEV_AWAIT_START(), + {ok, State#{tester => Tester}} + end}, + #{desc => "monitor tester", + cmd => fun(#{tester := Tester}) -> + _MRef = erlang:monitor(process, Tester), + ok + end}, + + %% *** Init part *** + #{desc => "which local address", + cmd => fun(#{domain := Domain} = State) -> + LSA = which_local_socket_addr(Domain), + {ok, State#{lsa => LSA}} + end}, + #{desc => "create socket", + cmd => fun(#{domain := Domain, + proto := Proto} = State) -> + case socket:open(Domain, stream, Proto) of + {ok, Sock} -> + {ok, State#{sock => Sock}}; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "bind to local address", + cmd => fun(#{sock := LSock, lsa := LSA} = _State) -> + case sock_bind(LSock, LSA) of + ok -> + Port = sock_port(LSock), + ?SEV_IPRINT("bound to port: ~w", [Port]), + ok; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "announce ready (init)", + cmd => fun(#{tester := Tester}) -> + ?SEV_ANNOUNCE_READY(Tester, init), + ok + end}, + + + %% The actual test + #{desc => "await continue (get keepcnt(1))", + cmd => fun(#{tester := Tester}) -> + ?SEV_AWAIT_CONTINUE(Tester, tester, get_keepcnt) + end}, + #{desc => "get keepcnt", + cmd => fun(#{sock := Sock, get := Get} = State) -> + case Get(Sock) of + {ok, KeepCnt} -> + ?SEV_IPRINT("keepcnt: ~p", [KeepCnt]), + {ok, State#{keepcnt => KeepCnt}}; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "announce ready (get keepcnt(1))", + cmd => fun(#{tester := Tester}) -> + ?SEV_ANNOUNCE_READY(Tester, get_keepcnt), + ok + end}, + + + #{desc => "await continue (set keepcnt)", + cmd => fun(#{tester := Tester}) -> + ?SEV_AWAIT_CONTINUE(Tester, tester, set_keepcnt) + end}, + #{desc => "set keepcnt", + cmd => fun(#{sock := Sock, + set := Set, + keepcnt := KeepCnt} = State) -> + NewKeepCnt = + if + (KeepCnt >= 255) -> + KeepCnt - 1; + true -> + KeepCnt + 1 + end, + case Set(Sock, NewKeepCnt) of + ok -> + ?SEV_IPRINT("keepcnt updated (to ~p)", + [NewKeepCnt]), + {ok, State#{keepcnt => NewKeepCnt}}; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "announce ready (set keepcnt)", + cmd => fun(#{tester := Tester}) -> + ?SEV_ANNOUNCE_READY(Tester, set_keepcnt), + ok + end}, + + + #{desc => "await continue (get keepcnt(2))", + cmd => fun(#{tester := Tester}) -> + ?SEV_AWAIT_CONTINUE(Tester, tester, get_keepcnt) + end}, + #{desc => "get keepcnt(2)", + cmd => fun(#{sock := Sock, + get := Get, + keepcnt := ExpKeepCnt} = _State) -> + case Get(Sock) of + {ok, KeepCnt} when (ExpKeepCnt =:= KeepCnt) -> + ?SEV_IPRINT("expected keepcnt (~p)", + [ExpKeepCnt]), + ok; + {ok, KeepCnt} -> + ?SEV_EPRINT("unexpected keepcnt:" + "~n Expected KeepCnt: ~p" + "~n Actual KeepCnt: ~p", + [ExpKeepCnt, KeepCnt]), + {error, + {unexpected_keepcnt, ExpKeepCnt, KeepCnt}}; + {error, Reason} = ERROR -> + ?SEV_EPRINT("failed get keepcnt: " + "~n ~p", [Reason]), + ERROR + end + end}, + #{desc => "announce ready (get keepcnt)", + cmd => fun(#{tester := Tester}) -> + ?SEV_ANNOUNCE_READY(Tester, get_keepcnt), + ok + end}, + + + %% *** Termination *** + #{desc => "await terminate", + cmd => fun(#{tester := Tester} = State) -> + case ?SEV_AWAIT_TERMINATE(Tester, tester) of + ok -> + {ok, maps:remove(tester, State)}; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "close connection socket", + cmd => fun(#{sock := Sock} = State) -> + ok = socket:close(Sock), + {ok, maps:remove(sock, State)} + end}, + + %% *** We are done *** + ?SEV_FINISH_NORMAL + ], + + + TesterSeq = + [ + %% *** Init part *** + #{desc => "monitor server", + cmd => fun(#{server := Pid} = _State) -> + _MRef = erlang:monitor(process, Pid), + ok + end}, + + %% Start the server + #{desc => "order server start", + cmd => fun(#{server := Pid} = _State) -> + ?SEV_ANNOUNCE_START(Pid), + ok + end}, + #{desc => "await server ready (init)", + cmd => fun(#{server := Pid} = _State) -> + ok = ?SEV_AWAIT_READY(Pid, server, init), + ok + end}, + + %% *** The actual test *** + #{desc => "order server to continue (with get-keepcnt(1))", + cmd => fun(#{server := Server} = _State) -> + ?SEV_ANNOUNCE_CONTINUE(Server, get_keepcnt), + ok + end}, + #{desc => "await server ready (get-keepcnt(1))", + cmd => fun(#{server := Server} = _State) -> + ?SEV_AWAIT_READY(Server, server, get_keepcnt) + end}, + + #{desc => "order server to continue (with set-keepcnt)", + cmd => fun(#{server := Server} = _State) -> + ?SEV_ANNOUNCE_CONTINUE(Server, set_keepcnt), + ok + end}, + #{desc => "await server ready (set-keepcnt)", + cmd => fun(#{server := Server} = _State) -> + ?SEV_AWAIT_READY(Server, server, set_keepcnt) + end}, + + #{desc => "order server to continue (with get-keepcnt(2))", + cmd => fun(#{server := Server} = _State) -> + ?SEV_ANNOUNCE_CONTINUE(Server, get_keepcnt), + ok + end}, + #{desc => "await server ready (get-keepcnt(2))", + cmd => fun(#{server := Server} = _State) -> + ?SEV_AWAIT_READY(Server, server, get_keepcnt) + end}, + + + %% *** Termination *** + #{desc => "order server to terminate", + cmd => fun(#{server := Server} = _State) -> + ?SEV_ANNOUNCE_TERMINATE(Server), + ok + end}, + #{desc => "await server termination", + cmd => fun(#{server := Server} = State) -> + ?SEV_AWAIT_TERMINATION(Server), + State1 = maps:remove(server, State), + {ok, State1} + end}, + + %% *** We are done *** + ?SEV_FINISH_NORMAL + ], + + + i("start server evaluator"), + Server = ?SEV_START("server", ServerSeq, InitState), + + i("start tester evaluator"), + TesterInitState = #{server => Server#ev.pid}, + Tester = ?SEV_START("tester", TesterSeq, TesterInitState), + + ok = ?SEV_AWAIT_FINISH([Server, Tester]). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Tests that the keepidle tcp socket option. +%% +%% "Gets or sets the number of seconds a TCP connection will remain +%% idle before keepalive probes are sent to the remote." +%% + +api_opt_tcp_keepidle_tcp4(_Config) when is_list(_Config) -> + ?TT(?SECS(5)), + tc_try(?FUNCTION_NAME, + fun() -> has_support_ipv4(), has_support_tcp_keepidle() end, + fun() -> + Set = fun(Sock, Value) when is_integer(Value) -> + socket:setopt(Sock, tcp, keepidle, Value) + end, + Get = fun(Sock) -> + socket:getopt(Sock, tcp, keepidle) + end, + InitState = #{domain => inet, + proto => tcp, + set => Set, + get => Get}, + ok = api_opt_tcp_keepidle_tcp(InitState) + end). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +api_opt_tcp_keepidle_tcp(InitState) -> + process_flag(trap_exit, true), + ServerSeq = + [ + %% *** Wait for start order *** + #{desc => "await start (from tester)", + cmd => fun(State) -> + Tester = ?SEV_AWAIT_START(), + {ok, State#{tester => Tester}} + end}, + #{desc => "monitor tester", + cmd => fun(#{tester := Tester}) -> + _MRef = erlang:monitor(process, Tester), + ok + end}, + + %% *** Init part *** + #{desc => "which local address", + cmd => fun(#{domain := Domain} = State) -> + LSA = which_local_socket_addr(Domain), + {ok, State#{lsa => LSA}} + end}, + #{desc => "create socket", + cmd => fun(#{domain := Domain, + proto := Proto} = State) -> + case socket:open(Domain, stream, Proto) of + {ok, Sock} -> + {ok, State#{sock => Sock}}; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "bind to local address", + cmd => fun(#{sock := LSock, lsa := LSA} = _State) -> + case sock_bind(LSock, LSA) of + ok -> + Port = sock_port(LSock), + ?SEV_IPRINT("bound to port: ~w", [Port]), + ok; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "announce ready (init)", + cmd => fun(#{tester := Tester}) -> + ?SEV_ANNOUNCE_READY(Tester, init), + ok + end}, + + + %% The actual test + #{desc => "await continue (get keepidle(1))", + cmd => fun(#{tester := Tester}) -> + ?SEV_AWAIT_CONTINUE(Tester, tester, get_keepidle) + end}, + #{desc => "get keepidle", + cmd => fun(#{sock := Sock, get := Get} = State) -> + case Get(Sock) of + {ok, KeepIdle} -> + ?SEV_IPRINT("keepidle: ~p", [KeepIdle]), + {ok, State#{keepidle => KeepIdle}}; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "announce ready (get keepidle(1))", + cmd => fun(#{tester := Tester}) -> + ?SEV_ANNOUNCE_READY(Tester, get_keepidle), + ok + end}, + + + #{desc => "await continue (set keepidle)", + cmd => fun(#{tester := Tester}) -> + ?SEV_AWAIT_CONTINUE(Tester, tester, set_keepidle) + end}, + #{desc => "set keepidle", + cmd => fun(#{sock := Sock, + set := Set, + keepidle := KeepIdle} = State) -> + NewKeepIdle = KeepIdle + 1, + case Set(Sock, NewKeepIdle) of + ok -> + ?SEV_IPRINT("keepidle updated (to ~p)", + [NewKeepIdle]), + {ok, State#{keepidle => NewKeepIdle}}; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "announce ready (set keepidle)", + cmd => fun(#{tester := Tester}) -> + ?SEV_ANNOUNCE_READY(Tester, set_keepidle), + ok + end}, + + + #{desc => "await continue (get keepidle(2))", + cmd => fun(#{tester := Tester}) -> + ?SEV_AWAIT_CONTINUE(Tester, tester, get_keepidle) + end}, + #{desc => "get keepidle(2)", + cmd => fun(#{sock := Sock, + get := Get, + keepidle := ExpKeepIdle} = _State) -> + case Get(Sock) of + {ok, KeepIdle} when (ExpKeepIdle =:= KeepIdle) -> + ?SEV_IPRINT("expected keepidle (~p)", + [ExpKeepIdle]), + ok; + {ok, KeepIdle} -> + ?SEV_EPRINT("unexpected keepidle:" + "~n Expected KeepIdle: ~p" + "~n Actual KeepIdle: ~p", + [ExpKeepIdle, KeepIdle]), + {error, + {unexpected_keepidle, + ExpKeepIdle, KeepIdle}}; + {error, Reason} = ERROR -> + ?SEV_EPRINT("failed get keepidle: " + "~n ~p", [Reason]), + ERROR + end + end}, + #{desc => "announce ready (get keepidle(2))", + cmd => fun(#{tester := Tester}) -> + ?SEV_ANNOUNCE_READY(Tester, get_keepidle), + ok + end}, + + + %% *** Termination *** + #{desc => "await terminate", + cmd => fun(#{tester := Tester} = State) -> + case ?SEV_AWAIT_TERMINATE(Tester, tester) of + ok -> + {ok, maps:remove(tester, State)}; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "close connection socket", + cmd => fun(#{sock := Sock} = State) -> + ok = socket:close(Sock), + {ok, maps:remove(sock, State)} + end}, + + %% *** We are done *** + ?SEV_FINISH_NORMAL + ], + + + TesterSeq = + [ + %% *** Init part *** + #{desc => "monitor server", + cmd => fun(#{server := Pid} = _State) -> + _MRef = erlang:monitor(process, Pid), + ok + end}, + + %% Start the server + #{desc => "order server start", + cmd => fun(#{server := Pid} = _State) -> + ?SEV_ANNOUNCE_START(Pid), + ok + end}, + #{desc => "await server ready (init)", + cmd => fun(#{server := Pid} = _State) -> + ok = ?SEV_AWAIT_READY(Pid, server, init), + ok + end}, + + %% *** The actual test *** + #{desc => "order server to continue (with get-keepidle(1))", + cmd => fun(#{server := Server} = _State) -> + ?SEV_ANNOUNCE_CONTINUE(Server, get_keepidle), + ok + end}, + #{desc => "await server ready (get-keepidle(1))", + cmd => fun(#{server := Server} = _State) -> + ?SEV_AWAIT_READY(Server, server, get_keepidle) + end}, + + #{desc => "order server to continue (with set-keepidle)", + cmd => fun(#{server := Server} = _State) -> + ?SEV_ANNOUNCE_CONTINUE(Server, set_keepidle), + ok + end}, + #{desc => "await server ready (set-keepidle)", + cmd => fun(#{server := Server} = _State) -> + ?SEV_AWAIT_READY(Server, server, set_keepidle) + end}, + + #{desc => "order server to continue (with get-keepidle(2))", + cmd => fun(#{server := Server} = _State) -> + ?SEV_ANNOUNCE_CONTINUE(Server, get_keepidle), + ok + end}, + #{desc => "await server ready (get-keepidle(2))", + cmd => fun(#{server := Server} = _State) -> + ?SEV_AWAIT_READY(Server, server, get_keepidle) + end}, + + + %% *** Termination *** + #{desc => "order server to terminate", + cmd => fun(#{server := Server} = _State) -> + ?SEV_ANNOUNCE_TERMINATE(Server), + ok + end}, + #{desc => "await server termination", + cmd => fun(#{server := Server} = State) -> + ?SEV_AWAIT_TERMINATION(Server), + State1 = maps:remove(server, State), + {ok, State1} + end}, + + %% *** We are done *** + ?SEV_FINISH_NORMAL + ], + + + i("start server evaluator"), + Server = ?SEV_START("server", ServerSeq, InitState), + + i("start tester evaluator"), + TesterInitState = #{server => Server#ev.pid}, + Tester = ?SEV_START("tester", TesterSeq, TesterInitState), + + ok = ?SEV_AWAIT_FINISH([Server, Tester]). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Tests that the keepintvl tcp socket option. +%% +%% "Gets or sets the number of seconds a TCP connection will wait for +%% a keepalive response before sending another keepalive probe." +%% + +api_opt_tcp_keepintvl_tcp4(_Config) when is_list(_Config) -> + ?TT(?SECS(5)), + tc_try(?FUNCTION_NAME, + fun() -> has_support_ipv4(), has_support_tcp_keepintvl() end, + fun() -> + Set = fun(Sock, Value) when is_integer(Value) -> + socket:setopt(Sock, tcp, keepintvl, Value) + end, + Get = fun(Sock) -> + socket:getopt(Sock, tcp, keepintvl) + end, + InitState = #{domain => inet, + proto => tcp, + set => Set, + get => Get}, + ok = api_opt_tcp_keepintvl_tcp(InitState) + end). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +api_opt_tcp_keepintvl_tcp(InitState) -> + process_flag(trap_exit, true), + ServerSeq = + [ + %% *** Wait for start order *** + #{desc => "await start (from tester)", + cmd => fun(State) -> + Tester = ?SEV_AWAIT_START(), + {ok, State#{tester => Tester}} + end}, + #{desc => "monitor tester", + cmd => fun(#{tester := Tester}) -> + _MRef = erlang:monitor(process, Tester), + ok + end}, + + %% *** Init part *** + #{desc => "which local address", + cmd => fun(#{domain := Domain} = State) -> + LSA = which_local_socket_addr(Domain), + {ok, State#{lsa => LSA}} + end}, + #{desc => "create socket", + cmd => fun(#{domain := Domain, + proto := Proto} = State) -> + case socket:open(Domain, stream, Proto) of + {ok, Sock} -> + {ok, State#{sock => Sock}}; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "bind to local address", + cmd => fun(#{sock := LSock, lsa := LSA} = _State) -> + case sock_bind(LSock, LSA) of + ok -> + Port = sock_port(LSock), + ?SEV_IPRINT("bound to port: ~w", [Port]), + ok; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "announce ready (init)", + cmd => fun(#{tester := Tester}) -> + ?SEV_ANNOUNCE_READY(Tester, init), + ok + end}, + + + %% The actual test + #{desc => "await continue (get keepintvl(1))", + cmd => fun(#{tester := Tester}) -> + ?SEV_AWAIT_CONTINUE(Tester, tester, get_keepintvl) + end}, + #{desc => "get keepintvl", + cmd => fun(#{sock := Sock, get := Get} = State) -> + case Get(Sock) of + {ok, KeepIntVl} -> + ?SEV_IPRINT("keepintvl: ~p", [KeepIntVl]), + {ok, State#{keepintvl => KeepIntVl}}; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "announce ready (get keepintvl(1))", + cmd => fun(#{tester := Tester}) -> + ?SEV_ANNOUNCE_READY(Tester, get_keepintvl), + ok + end}, + + + #{desc => "await continue (set keepintvl)", + cmd => fun(#{tester := Tester}) -> + ?SEV_AWAIT_CONTINUE(Tester, tester, set_keepintvl) + end}, + #{desc => "set keepintvl", + cmd => fun(#{sock := Sock, + set := Set, + keepintvl := KeepIntVl} = State) -> + NewKeepIntVl = KeepIntVl + 1, + case Set(Sock, NewKeepIntVl) of + ok -> + ?SEV_IPRINT("keepIntVl updated (to ~p)", + [NewKeepIntVl]), + {ok, State#{keepintvl => NewKeepIntVl}}; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "announce ready (set keepintvl)", + cmd => fun(#{tester := Tester}) -> + ?SEV_ANNOUNCE_READY(Tester, set_keepintvl), + ok + end}, + + + #{desc => "await continue (get keepintvl(2))", + cmd => fun(#{tester := Tester}) -> + ?SEV_AWAIT_CONTINUE(Tester, tester, get_keepintvl) + end}, + #{desc => "get keepintvl(2)", + cmd => fun(#{sock := Sock, + get := Get, + keepintvl := ExpKeepIntVl} = _State) -> + case Get(Sock) of + {ok, KeepIntVl} + when (ExpKeepIntVl =:= KeepIntVl) -> + ?SEV_IPRINT("expected keepintvl (~p)", + [ExpKeepIntVl]), + ok; + {ok, KeepIntVl} -> + ?SEV_EPRINT("unexpected keepintvl:" + "~n Expected KeepIntVl: ~p" + "~n Actual KeepIntVl: ~p", + [ExpKeepIntVl, KeepIntVl]), + {error, + {unexpected_keepintvl, + ExpKeepIntVl, KeepIntVl}}; + {error, Reason} = ERROR -> + ?SEV_EPRINT("failed get keepintvl: " + "~n ~p", [Reason]), + ERROR + end + end}, + #{desc => "announce ready (get keepintvl(2))", + cmd => fun(#{tester := Tester}) -> + ?SEV_ANNOUNCE_READY(Tester, get_keepintvl), + ok + end}, + + + %% *** Termination *** + #{desc => "await terminate", + cmd => fun(#{tester := Tester} = State) -> + case ?SEV_AWAIT_TERMINATE(Tester, tester) of + ok -> + {ok, maps:remove(tester, State)}; + {error, _} = ERROR -> + ERROR + end + end}, + #{desc => "close connection socket", + cmd => fun(#{sock := Sock} = State) -> + ok = socket:close(Sock), + {ok, maps:remove(sock, State)} + end}, + + %% *** We are done *** + ?SEV_FINISH_NORMAL + ], + + + TesterSeq = + [ + %% *** Init part *** + #{desc => "monitor server", + cmd => fun(#{server := Pid} = _State) -> + _MRef = erlang:monitor(process, Pid), + ok + end}, + + %% Start the server + #{desc => "order server start", + cmd => fun(#{server := Pid} = _State) -> + ?SEV_ANNOUNCE_START(Pid), + ok + end}, + #{desc => "await server ready (init)", + cmd => fun(#{server := Pid} = _State) -> + ok = ?SEV_AWAIT_READY(Pid, server, init), + ok + end}, + + %% *** The actual test *** + #{desc => "order server to continue (with get-keepintvl(1))", + cmd => fun(#{server := Server} = _State) -> + ?SEV_ANNOUNCE_CONTINUE(Server, get_keepintvl), + ok + end}, + #{desc => "await server ready (get-keepintvl(1))", + cmd => fun(#{server := Server} = _State) -> + ?SEV_AWAIT_READY(Server, server, get_keepintvl) + end}, + + #{desc => "order server to continue (with set-keepintvl)", + cmd => fun(#{server := Server} = _State) -> + ?SEV_ANNOUNCE_CONTINUE(Server, set_keepintvl), + ok + end}, + #{desc => "await server ready (set-keepintvl)", + cmd => fun(#{server := Server} = _State) -> + ?SEV_AWAIT_READY(Server, server, set_keepintvl) + end}, + + #{desc => "order server to continue (with get-keepintvl(2))", + cmd => fun(#{server := Server} = _State) -> + ?SEV_ANNOUNCE_CONTINUE(Server, get_keepintvl), + ok + end}, + #{desc => "await server ready (get-keepintvl(2))", + cmd => fun(#{server := Server} = _State) -> + ?SEV_AWAIT_READY(Server, server, get_keepintvl) + end}, + + + %% *** Termination *** + #{desc => "order server to terminate", + cmd => fun(#{server := Server} = _State) -> + ?SEV_ANNOUNCE_TERMINATE(Server), + ok + end}, + #{desc => "await server termination", + cmd => fun(#{server := Server} = State) -> + ?SEV_AWAIT_TERMINATION(Server), + State1 = maps:remove(server, State), + {ok, State1} + end}, + + %% *** We are done *** + ?SEV_FINISH_NORMAL + ], + + + i("start server evaluator"), + Server = ?SEV_START("server", ServerSeq, InitState), + + i("start tester evaluator"), + TesterInitState = #{server => Server#ev.pid}, + Tester = ?SEV_START("tester", TesterSeq, TesterInitState), + + ok = ?SEV_AWAIT_FINISH([Server, Tester]). + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Tests that the cork udp socket option. @@ -26293,6 +27759,8 @@ reg_s_single_open_and_close_and_count(_Config) when is_list(_Config) -> reg_s_single_open_and_close_and_count() -> socket:use_registry(true), + {OS, _} = os:type(), + %% We may have some sockets already existing. %% Make sure we dont count them when we test. Existing = socket:which_sockets(), @@ -26333,11 +27801,15 @@ reg_s_single_open_and_close_and_count() -> [] end ++ case SupportsLOCAL of - true -> + true when (OS =/= win32) -> [ {local, stream, default}, {local, dgram, default} ]; + true -> + [ + {local, stream, default} + ]; false -> [] end ++ @@ -26547,8 +28019,8 @@ reg_s_single_open_and_close_and_count() -> OwnSockets = lists:sort( [fun({D, T})-> i("create ~w:~w socket", [D, T]), - {ok, OS} = socket:open(D, T, default), - OS + {ok, OSocks} = socket:open(D, T, default), + OSocks end(SockInfo) || SockInfo <- [{inet, dgram}, {inet, dgram}, @@ -31771,7 +33243,10 @@ sc_cpe_socket_cleanup_udp6(_Config) when is_list(_Config) -> sc_cpe_socket_cleanup_udpL(_Config) when is_list(_Config) -> ?TT(?SECS(30)), tc_try(sc_cpe_socket_cleanup_udpL, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket(), + is_not_windows() + end, fun() -> InitState = #{domain => local, type => dgram, @@ -31965,7 +33440,9 @@ sc_lc_recv_response_tcp6(_Config) when is_list(_Config) -> sc_lc_recv_response_tcpL(_Config) when is_list(_Config) -> ?TT(?SECS(10)), tc_try(sc_lc_recv_response_tcpL, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket() + end, fun() -> Recv = fun(Sock) -> socket:recv(Sock) end, InitState = #{domain => local, @@ -32645,7 +34122,10 @@ sc_lc_recvfrom_response_udp6(_Config) when is_list(_Config) -> sc_lc_recvfrom_response_udpL(_Config) when is_list(_Config) -> ?TT(?SECS(30)), tc_try(?FUNCTION_NAME, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket(), + is_not_windows() + end, fun() -> Recv = fun(Sock, To) -> socket:recvfrom(Sock, [], To) @@ -33074,7 +34554,7 @@ sc_lc_recvmsg_response_tcp4(_Config) when is_list(_Config) -> ?TT(?SECS(10)), tc_try(?FUNCTION_NAME, fun() -> - is_not_windows(), + is_not_windows(), % recvmsg does not work on Windows has_support_ipv4() end, fun() -> @@ -33095,7 +34575,7 @@ sc_lc_recvmsg_response_tcp6(_Config) when is_list(_Config) -> ?TT(?SECS(10)), tc_try(?FUNCTION_NAME, fun() -> - is_not_windows(), + is_not_windows(), % recvmsg does not work on Windows has_support_ipv6() end, fun() -> @@ -33114,8 +34594,11 @@ sc_lc_recvmsg_response_tcp6(_Config) when is_list(_Config) -> sc_lc_recvmsg_response_tcpL(_Config) when is_list(_Config) -> ?TT(?SECS(10)), - tc_try(sc_recvmsg_response_tcpL, - fun() -> has_support_unix_domain_socket() end, + tc_try(?FUNCTION_NAME, + fun() -> + is_not_windows(), % recvmsg does not work on Windows + has_support_unix_domain_socket() + end, fun() -> Recv = fun(Sock) -> socket:recvmsg(Sock) end, InitState = #{domain => local, @@ -33170,7 +34653,10 @@ sc_lc_recvmsg_response_udp6(_Config) when is_list(_Config) -> sc_lc_recvmsg_response_udpL(_Config) when is_list(_Config) -> ?TT(?SECS(10)), tc_try(sc_recvmsg_response_udpL, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket(), + is_not_windows() + end, fun() -> Recv = fun(Sock, To) -> socket:recvmsg(Sock, To) end, InitState = #{domain => local, @@ -35712,10 +37198,34 @@ sc_rs_recvmsg_send_shutdown_receive_tcpL(_Config) when is_list(_Config) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% This test case is intended to (simply) test "some" ioctl features. +%% This test case is intended to (*really* simply) test +%% "some" ioctl features. %% ioctl_simple1(_Config) when is_list(_Config) -> + ?TT(?SECS(5)), + tc_try(?FUNCTION_NAME, + fun() -> + has_support_ioctl_requests() + end, + fun() -> + InitState = #{}, + ok = do_ioctl_simple1(InitState) + end). + + +do_ioctl_simple1(_State) -> + Requests = socket:supports(ioctl_requests), + ?P("Requests: ~p", [Requests]), + ok. + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case is intended to (simply) test "some" ioctl features. +%% + +ioctl_simple2(_Config) when is_list(_Config) -> ?TT(?SECS(5)), tc_try(?FUNCTION_NAME, fun() -> @@ -35724,11 +37234,11 @@ ioctl_simple1(_Config) when is_list(_Config) -> end, fun() -> InitState = #{}, - ok = do_ioctl_simple(InitState) + ok = do_ioctl_simple2(InitState) end). -do_ioctl_simple(_State) -> +do_ioctl_simple2(_State) -> i("create dummy dgram:UDP socket"), {ok, Sock1} = socket:open(inet, dgram, udp), i("perform simple ioctl (expect success)"), @@ -35792,6 +37302,81 @@ do_ioctl_simple(_State) -> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case is intended to (simply) test the ioctl nread feature. +%% + +ioctl_nread(_Config) when is_list(_Config) -> + ?TT(?SECS(5)), + tc_try(?FUNCTION_NAME, + fun() -> + has_support_ioctl_requests(), + has_support_ioctl_nread() + end, + fun() -> + InitState = #{}, + ok = do_ioctl_nread(InitState) + end). + +do_ioctl_nread(_) -> + i("Get local socket address"), + LSA = which_local_socket_addr(inet), + i("Use LSA: ~p", [LSA]), + + i("Create dgram:UDP socket 1"), + {ok, S1} = socket:open(inet, dgram, udp), + + i("Bind socket 1"), + ok = socket:bind(S1, LSA), + + i("Create dgram:UDP socket 2"), + {ok, S2} = socket:open(inet, dgram, udp), + + i("Bind socket 2"), + ok = socket:bind(S2, LSA), + + i("Check data to read - expect 0 bytes"), + {ok, 0} = socket:ioctl(S1, nread), + + i("Get socket 1 port number"), + {ok, #{port := Port1}} = socket:sockname(S1), + + i("Send data to socket 1 (from socket 2)"), + Data = <<0,1,2,3,4,5,6,7,8,9>>, + DataSz = byte_size(Data), + ok = socket:sendto(S2, Data, LSA#{port => Port1}), + + i("Give it some time to arrive"), + ?SLEEP(?SECS(1)), + + i("Verify that the correct amount of data (atleast ~p) is available", [DataSz]), + case socket:ioctl(S1, nread) of + {ok, DataSize} when (DataSize >= DataSz) -> + i("Success: " + "~n Min Size: ~p" + "~n Actual Size: ~p", [DataSz, DataSize]), + ok; + {ok, DataSize} -> + i("Unexpected data size: " + "~n Expected (min) Size: ~p" + "~n Actual Size: ~p", [DataSz, DataSize]), + ct:fail({invalid_data_size, DataSz, DataSize}) + end, + + i("Read the data"), + {ok, {_, Data}} = socket:recvfrom(S1), + + i("Verify that the data has been read (no more data is available)"), + {ok, 0} = socket:ioctl(S1, nread), + + i("Cleanup"), + socket:close(S1), + socket:close(S2), + + i("Done"), + ok. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% These test case(s) are intended to (simply) test "some" ioctl get %% request(s). @@ -36530,6 +38115,201 @@ do_ioctl_get_gifmap(_State) -> +%% --- tcp_info --- + +ioctl_tcp_info(_Config) when is_list(_Config) -> + ?TT(?SECS(15)), + Cond = fun() -> + has_support_ioctl_tcp_info() + end, + TC = fun() -> + Domain = inet, + case which_local_addr(Domain) of + {ok, Addr} -> + State = #{domain => Domain, + laddr => Addr}, + do_ioctl_tcp_info(State); + {error, Reason} -> + skip({no_local_addr, Reason}) + end + end, + tc_try(?FUNCTION_NAME, Cond, TC). + + +do_ioctl_tcp_info(#{domain := Domain, + laddr := LAddr} = _State) -> + LSA = #{family => Domain, addr => LAddr}, + + i("[server] create stream:TCP server listen socket"), + {ok, L} = socket:open(Domain, stream, tcp), + + i("[server] bind to ~p", [LSA]), + ok = socket:bind(L, LSA), + + i("[server] make listen socket"), + ok = socket:listen(L), + + i("[server] get sockname"), + {ok, SSA} = socket:sockname(L), + + + i("[client] create stream:TCP socket"), + {ok, C} = socket:open(Domain, stream, tcp), + + i("[client] bind to ~p", [LSA]), + ok = socket:bind(C, LSA), + + i("[client] connect to server: " + "~n ~p", [SSA]), + ok = socket:connect(C, SSA), + + + i("[server] accept connection"), + {ok, A} = socket:accept(L), + + + i("[client] try get tcp info"), + case socket:ioctl(C, tcp_info) of + {ok, CTcpInfo0} -> + i("[client] tcp info: " + "~n ~p" + "~n", [CTcpInfo0]), + ok; + {error, CReason0} -> + i("[client] failed get TCP info: " + "~n ~p" + "~n", [CReason0]), + skip({client_tcp_info, 0, CReason0}) + end, + + i("[server] try get tcp info"), + case socket:ioctl(A, tcp_info) of + {ok, ATcpInfo0} -> + i("[server] tcp info: " + "~n ~p" + "~n", [ATcpInfo0]), + ok; + {error, AReason0} -> + i("[server] failed get TCP info: " + "~n ~p" + "~n", [AReason0]), + skip({server_tcp_info, 0, AReason0}) + end, + + + Data = <<0,1,2,3,4,5,6,7,8,9, + 0,1,2,3,4,5,6,7,8,9>>, + DSz = byte_size(Data), + i("[client] send some data"), + ok = socket:send(C, Data), + + i("[client] try get tcp info (verify bytes-out)"), + case socket:ioctl(C, tcp_info) of + {ok, #{bytes_out := BytesOut} = CTcpInfo1} when (BytesOut =:= DSz) -> + i("[client] tcp info: " + "~n ~p" + "~n", [CTcpInfo1]), + ok; + {error, CReason1} -> + i("[client] failed get TCP info: " + "~n ~p" + "~n", [CReason1]), + skip({client_tcp_info, 1, CReason1}) + end, + + i("[server] try get tcp info (verify bytes-in)"), + case socket:ioctl(A, tcp_info) of + {ok, #{bytes_in := BytesIn} = ATcpInfo1} when (BytesIn =:= DSz) -> + i("[server] tcp info: " + "~n ~p" + "~n", [ATcpInfo1]), + ok; + {error, AReason1} -> + i("[server] failed get TCP info: " + "~n ~p" + "~n", [AReason1]), + skip({server_tcp_info, 1, AReason1}) + end, + + + i("[server] recv some data"), + {ok, _} = socket:recv(A), + + i("[client] try get tcp info"), + {ok, CConnTime2} = + case socket:ioctl(C, tcp_info) of + {ok, #{connection_time := CCT2} = CTcpInfo2} -> + i("[client] tcp info: " + "~n ~p" + "~n", [CTcpInfo2]), + {ok, CCT2}; + {error, CReason2} -> + i("[client] failed get TCP info: " + "~n ~p" + "~n", [CReason2]), + skip({client_tcp_info, 2, CReason2}) + end, + + i("[server] try get tcp info"), + {ok, AConnTime2} = + case socket:ioctl(A, tcp_info) of + {ok, #{connection_time := ACT2} = ATcpInfo2} -> + i("[server] tcp info: " + "~n ~p" + "~n", [ATcpInfo2]), + {ok, ACT2}; + {error, AReason2} -> + i("[server] failed get TCP info: " + "~n ~p" + "~n", [AReason2]), + skip({server_tcp_info, 2, AReason2}) + end, + + SLEEP = ?SECS(5), + ?SLEEP(SLEEP), + + i("[client] try get tcp info (verify connection time)"), + case socket:ioctl(C, tcp_info) of + {ok, #{connection_time := CCT3} = CTcpInfo3} + when (CCT3 >= (SLEEP+CConnTime2)) -> + i("[client] tcp info: " + "~n ~p" + "~n", [CTcpInfo3]), + ok; + {error, CReason3} -> + i("[client] failed get TCP info: " + "~n ~p" + "~n", [CReason3]), + skip({client_tcp_info, 3, CReason3}) + end, + + i("[server] try get tcp info (verify connection time)"), + case socket:ioctl(A, tcp_info) of + {ok, #{connection_time := ACT3} = ATcpInfo3} + when (ACT3 >= (SLEEP+AConnTime2)) -> + i("[server] tcp info: " + "~n ~p" + "~n", [ATcpInfo3]), + ok; + {error, AReason3} -> + i("[server] failed get TCP info: " + "~n ~p" + "~n", [AReason3]), + skip({server_tcp_info, 3, AReason3}) + end, + + + i("cleanup"), + ok = socket:close(L), + ok = socket:close(A), + ok = socket:close(C), + + i("done"), + ok. + + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% This test case is intended to (simply) test that the counters %% for both read and write. @@ -37774,7 +39554,10 @@ traffic_sendto_and_recvfrom_counters_udp6(_Config) when is_list(_Config) -> traffic_sendto_and_recvfrom_counters_udpL(_Config) when is_list(_Config) -> ?TT(?SECS(15)), tc_try(traffic_sendto_and_recvfrom_counters_udp4, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket(), + is_not_windows() + end, fun() -> InitState = #{domain => local, proto => default, @@ -37859,7 +39642,10 @@ traffic_sendmsg_and_recvmsg_counters_udp6(_Config) when is_list(_Config) -> traffic_sendmsg_and_recvmsg_counters_udpL(_Config) when is_list(_Config) -> ?TT(?SECS(15)), tc_try(traffic_sendmsg_and_recvmsg_counters_udpL, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket(), + is_not_windows() + end, fun() -> InitState = #{domain => local, proto => default, @@ -40115,7 +41901,10 @@ traffic_ping_pong_small_sendto_and_recvfrom_udpL(Config) when is_list(Config) -> Msg = l2b(?TPP_SMALL), Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM), tc_try(traffic_ping_pong_small_sendto_and_recvfrom_udpL, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket(), + is_not_windows() + end, fun() -> ?TT(?SECS(45)), InitState = #{domain => local, @@ -40189,7 +41978,10 @@ traffic_ping_pong_medium_sendto_and_recvfrom_udpL(Config) when is_list(Config) - Msg = l2b(?TPP_MEDIUM), Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM), tc_try(traffic_ping_pong_medium_sendto_and_recvfrom_udpL, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket(), + is_not_windows() + end, fun() -> ?TT(?SECS(45)), InitState = #{domain => local, @@ -40268,7 +42060,10 @@ traffic_ping_pong_small_sendmsg_and_recvmsg_tcpL(Config) when is_list(Config) -> Msg = l2b(?TPP_SMALL), Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM), tc_try(traffic_ping_pong_small_sendmsg_and_recvmsg_tcpL, - fun() -> has_support_unix_domain_socket() end, + fun() -> + is_not_windows(), + has_support_unix_domain_socket() + end, fun() -> ?TT(?SECS(20)), InitState = #{domain => local, @@ -40346,7 +42141,10 @@ traffic_ping_pong_medium_sendmsg_and_recvmsg_tcpL(Config) when is_list(Config) - Msg = l2b(?TPP_MEDIUM), Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM), tc_try(traffic_ping_pong_medium_sendmsg_and_recvmsg_tcpL, - fun() -> has_support_unix_domain_socket() end, + fun() -> + is_not_windows(), + has_support_unix_domain_socket() + end, fun() -> ?TT(?SECS(30)), InitState = #{domain => local, @@ -40437,7 +42235,10 @@ traffic_ping_pong_large_sendmsg_and_recvmsg_tcpL(Config) when is_list(Config) -> Msg = l2b(?TPP_LARGE), Num = ?TPP_NUM(Config, ?TPP_LARGE_NUM), tc_try(traffic_ping_pong_large_sendmsg_and_recvmsg_tcpL, - fun() -> has_support_unix_domain_socket() end, + fun() -> + is_not_windows(), + has_support_unix_domain_socket() + end, fun() -> ?TT(?SECS(60)), InitState = #{domain => local, @@ -40510,7 +42311,10 @@ traffic_ping_pong_small_sendmsg_and_recvmsg_udpL(Config) when is_list(Config) -> Msg = l2b(?TPP_SMALL), Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM), tc_try(traffic_ping_pong_small_sendmsg_and_recvmsg_udpL, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket(), + is_not_windows() + end, fun() -> ?TT(?SECS(60)), InitState = #{domain => local, @@ -40583,7 +42387,10 @@ traffic_ping_pong_medium_sendmsg_and_recvmsg_udpL(Config) when is_list(Config) - Msg = l2b(?TPP_MEDIUM), Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM), tc_try(traffic_ping_pong_medium_sendmsg_and_recvmsg_udpL, - fun() -> has_support_unix_domain_socket() end, + fun() -> + has_support_unix_domain_socket(), + is_not_windows() + end, fun() -> ?TT(?SECS(60)), InitState = #{domain => local, @@ -43024,6 +44831,126 @@ ttest_sgenf_csockf_large_tcp6(Config) when is_list(Config) -> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = gen_tcp(socket), Active = false +%% Client: Transport = socket(tcp), Active = false +%% Message Size: small (=1) +%% Domain: inet +%% + +ttest_sgsf_csockf_small_tcp4(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + inet, + gs, false, + sock, false, + 1, ttest_small_max_outstanding(Config)). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = gen_tcp(socket), Active = false +%% Client: Transport = socket(tcp), Active = false +%% Message Size: small (=1) +%% Domain: inet6 +%% + +ttest_sgsf_csockf_small_tcp6(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + inet6, + gs, false, + sock, false, + 1, ttest_small_max_outstanding(Config)). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = gen_tcp(socket), Active = false +%% Client: Transport = socket(tcp), Active = false +%% Message Size: medium (=2) +%% Domain: inet +%% + +ttest_sgsf_csockf_medium_tcp4(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + inet, + gs, false, + sock, false, + 2, ttest_medium_max_outstanding(Config)). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = gen_tcp(socket), Active = false +%% Client: Transport = socket(tcp), Active = false +%% Message Size: medium (=2) +%% Domain: inet6 +%% + +ttest_sgsf_csockf_medium_tcp6(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + inet6, + gs, false, + sock, false, + 2, ttest_medium_max_outstanding(Config)). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = gen_tcp(socket), Active = false +%% Client: Transport = socket(tcp), Active = false +%% Message Size: large (=3) +%% Domain: inet +%% + +ttest_sgsf_csockf_large_tcp4(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + inet, + gs, false, + sock, false, + 3, ttest_large_max_outstanding(Config)). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = gen_tcp(socket), Active = false +%% Client: Transport = socket(tcp), Active = false +%% Message Size: large (=3) +%% Domain: inet6 +%% + +ttest_sgsf_csockf_large_tcp6(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + inet6, + gs, false, + sock, false, + 3, ttest_large_max_outstanding(Config)). + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% This test case uses the time test (ttest) utility to implement a %% ping-pong like test case. @@ -45076,6 +47003,126 @@ ttest_ssockf_cgent_large_tcp6(Config) when is_list(Config) -> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = socket(tcp), Active = false +%% Client: Transport = gen_tcp(socket), Active = false +%% Message Size: small (=1) +%% Domain: inet +%% + +ttest_ssockf_cgsf_small_tcp4(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + inet, + sock, false, + gs, false, + 1, ttest_small_max_outstanding(Config)). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = socket(tcp), Active = false +%% Client: Transport = gen_tcp(socket), Active = false +%% Message Size: small (=1) +%% Domain: inet6 +%% + +ttest_ssockf_cgsf_small_tcp6(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + inet6, + sock, false, + gs, false, + 1, ttest_small_max_outstanding(Config)). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = socket(tcp), Active = false +%% Client: Transport = gen_tcp(socket), Active = false +%% Message Size: medium (=2) +%% Domain: inet +%% + +ttest_ssockf_cgsf_medium_tcp4(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + inet, + sock, false, + gs, false, + 2, ttest_medium_max_outstanding(Config)). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = socket(tcp), Active = false +%% Client: Transport = gen_tcp(socket), Active = false +%% Message Size: medium (=2) +%% Domain: inet6 +%% + +ttest_ssockf_cgsf_medium_tcp6(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + inet6, + sock, false, + gs, false, + 2, ttest_medium_max_outstanding(Config)). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = socket(tcp), Active = false +%% Client: Transport = gen_tcp(socket), Active = false +%% Message Size: large (=3) +%% Domain: inet +%% + +ttest_ssockf_cgsf_large_tcp4(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + inet, + sock, false, + gs, false, + 3, ttest_large_max_outstanding(Config)). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = socket(tcp), Active = false +%% Client: Transport = gen_tcp(socket), Active = false +%% Message Size: large (=3) +%% Domain: inet6 +%% + +ttest_ssockf_cgsf_large_tcp6(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + inet6, + sock, false, + gs, false, + 3, ttest_large_max_outstanding(Config)). + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% This test case uses the time test (ttest) utility to implement a %% ping-pong like test case. @@ -47416,6 +49463,70 @@ ttest_ssockt_csockt_large_tcpL(Config) when is_list(Config) -> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = socket(tcp), Active = true +%% Client: Transport = socket(tcp), Active = once +%% Message Size: small (=1) +%% Domain: inet +%% Remote: false (run everything on the local node) +%% + +ttest_simple_ssockt_csocko_small_tcp4(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + inet, + sock, true, + sock, once, + 1, ttest_small_max_outstanding(Config), + false). + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = socket(tcp), Active = true +%% Client: Transport = socket(tcp), Active = once +%% Message Size: small (=1) +%% Domain: inet6 +%% + +ttest_simple_ssockt_csocko_small_tcp6(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + inet6, + sock, true, + sock, once, + 1, ttest_small_max_outstanding(Config), + false). + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This test case uses the time test (ttest) utility to implement a +%% ping-pong like test case. +%% Server: Transport = socket(tcp), Active = true +%% Client: Transport = socket(tcp), Active = once +%% Message Size: small (=1) +%% Domain: local +%% + +ttest_simple_ssockt_csocko_small_tcpL(Config) when is_list(Config) -> + Runtime = which_ttest_runtime(Config), + ttest_tcp(?FUNCTION_NAME, + Runtime, + local, + sock, true, + sock, once, + 1, ttest_small_max_outstanding(Config), + false). + + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% which_ttest_runtime(Config) when is_list(Config) -> @@ -47474,6 +49585,20 @@ ttest_tcp(TC, ServerMod, ServerActive, ClientMod, ClientActive, MsgID, MaxOutstanding) -> + ttest_tcp(TC, + Runtime, + Domain, + ServerMod, ServerActive, + ClientMod, ClientActive, + MsgID, MaxOutstanding, true). + +ttest_tcp(TC, + Runtime, + Domain, + ServerMod, ServerActive, + ClientMod, ClientActive, + MsgID, MaxOutstanding, + Remote) -> tc_try(TC, fun() -> if @@ -47505,9 +49630,11 @@ ttest_tcp(TC, "~n Server Module: ~p" "~n Server Active: ~p" "~n Client Module: ~p" - "~n Client Active: ~p", + "~n Client Active: ~p" + "~n Remote: ~p", [Domain, MsgID, MaxOutstanding, Runtime, - ServerMod, ServerActive, ClientMod, ClientActive]), + ServerMod, ServerActive, ClientMod, ClientActive, + Remote]), InitState = #{domain => Domain, msg_id => MsgID, max_outstanding => MaxOutstanding, @@ -47515,7 +49642,8 @@ ttest_tcp(TC, server_mod => ServerMod, server_active => ServerActive, client_mod => ClientMod, - client_active => ClientActive}, + client_active => ClientActive, + remote => Remote}, ok = ttest_tcp(InitState) end). @@ -47539,15 +49667,25 @@ ttest_tcp(InitState) -> %% *** Init part *** - #{desc => "create node", - cmd => fun(State) -> + #{desc => "(maybe) create node", + cmd => fun(#{remote := true} = State) -> {Peer, Node} = ?START_NODE("server"), - {ok, State#{peer => Peer, node => Node}} - end}, - #{desc => "monitor server node", - cmd => fun(#{node := Node} = _State) -> + ?SEV_IPRINT("server node created:" + "~n Peer: ~p" + "~n Node: ~p", [Peer, Node]), + {ok, State#{peer => Peer, node => Node}}; + (State) -> + ?SEV_IPRINT("use local node for server"), + {ok, State#{peer => undefined, node => node()}} + end}, + #{desc => "(maybe) monitor server node", + cmd => fun(#{node := Node} = _State) when (Node =/= node) -> true = erlang:monitor_node(Node, true), - ok + ?SEV_IPRINT("~p monitored", [Node]), + ok; + (_State) -> + ?SEV_IPRINT("nothing"), + ok end}, #{desc => "start ttest (remote) server", cmd => fun(#{domain := local = Domain, @@ -47627,8 +49765,8 @@ ttest_tcp(InitState) -> State1 = maps:remove(rserver, State), {ok, State1} end}, - #{desc => "stop (server) node", - cmd => fun(#{peer := Peer} = State) -> + #{desc => "(maybe) stop (server) node", + cmd => fun(#{peer := Peer} = State) when (Peer =/= undefined) -> {ok, try peer:stop(Peer) of ok -> @@ -47644,10 +49782,14 @@ ttest_tcp(InitState) -> "~n Error: ~p" "~n Stack: ~p",[C, E, S]), State#{node_stop => error} - end} + end}; + (_) -> + ?SEV_IPRINT("nothing"), + ok end}, - #{desc => "await (server) node termination", - cmd => fun(#{node := Node, node_stop := ok} = State) -> + #{desc => "(maybe) await (server) node termination", + cmd => fun(#{node := Node, node_stop := ok} = State) + when (Node =/= node()) -> ?SEV_IPRINT("Success node stop - await nodedown"), receive {nodedown, Node} -> @@ -47658,6 +49800,10 @@ ttest_tcp(InitState) -> (#{node_stop := error} = State) -> ?SEV_IPRINT("Failed node stop - cleanup"), State1 = maps:remove(node, State), + {ok, State1}; + (State) -> + ?SEV_IPRINT("nothing"), + State1 = maps:remove(node, State), {ok, State1} end}, @@ -47697,18 +49843,24 @@ ttest_tcp(InitState) -> %% *** Init part *** #{desc => "create node", - cmd => fun(#{host := _Host} = State) -> + cmd => fun(#{remote := true, host := _Host} = State) -> %% Because peer does not accept a host argument, %% we can no longer start "remote" nodes... %% Not that we actually did that. We always %% used local-host. {Peer, Node} = ?START_NODE("client"), - {ok, State#{peer => Peer, node => Node}} + {ok, State#{peer => Peer, node => Node}}; + (State) -> + {ok, State#{peer => undefined, node => node()}} end}, - #{desc => "monitor client node", - cmd => fun(#{node := Node} = _State) -> + #{desc => "(maybe) monitor client node", + cmd => fun(#{node := Node} = _State) when (Node =/= node()) -> true = erlang:monitor_node(Node, true), - ok + ?SEV_IPRINT("~p monitored", [Node]), + ok; + (_) -> + ?SEV_IPRINT("nothing"), + ok end}, #{desc => "announce ready (init)", cmd => fun(#{tester := Tester}) -> @@ -47770,6 +49922,19 @@ ttest_tcp(InitState) -> RunTime) of {ok, {Pid, _MRef}} -> {ok, State#{rclient => Pid}}; + {error, {connect, Reason, ServerInfo} = EI} -> + ?SEV_EPRINT("Failed connecting to server: " + "~n Reason: ~p" + "~n Server: ~p", + [Reason, ServerInfo]), + case Reason of + eaddrnotavail -> + {skip, Reason}; + network_unreachable -> + {skip, Reason}; + _ -> + {error, EI} + end; {error, _} = ERROR -> ERROR end @@ -47809,8 +49974,8 @@ ttest_tcp(InitState) -> ERROR end end}, - #{desc => "stop (client) node", - cmd => fun(#{peer := Peer} = State) -> + #{desc => "(maybe) stop (client) node", + cmd => fun(#{peer := Peer} = State) when (Peer =/= undefined) -> {ok, try peer:stop(Peer) of ok -> @@ -47826,10 +49991,14 @@ ttest_tcp(InitState) -> "~n Error: ~p" "~n Stack: ~p",[C, E, S]), State#{node_stop => error} - end} + end}; + (_) -> + ?SEV_IPRINT("nothing"), + ok end}, - #{desc => "await (client) node termination", - cmd => fun(#{node := Node, node_stop := ok} = State) -> + #{desc => "(maybe) await (client) node termination", + cmd => fun(#{node := Node, node_stop := ok} = State) + when (Node =/= node()) -> ?SEV_IPRINT("Success node stop - await nodedown"), receive {nodedown, Node} -> @@ -47840,7 +50009,10 @@ ttest_tcp(InitState) -> (#{node_stop := error} = State) -> ?SEV_IPRINT("Failed node stop - cleanup"), State1 = maps:remove(node, State), - {ok, State1} + {ok, State1}; + (_) -> + ?SEV_IPRINT("nothing"), + ok end}, @@ -48063,6 +50235,10 @@ ttest_tcp_server_start(Node, Domain, gen, Active) -> TransportMod = socket_test_ttest_tcp_gen, Transport = {TransportMod, #{domain => Domain}}, socket_test_ttest_tcp_server:start_monitor(Node, Transport, Active); +ttest_tcp_server_start(Node, Domain, gs, Active) -> + TransportMod = socket_test_ttest_tcp_gs, + Transport = {TransportMod, #{domain => Domain}}, + socket_test_ttest_tcp_server:start_monitor(Node, Transport, Active); ttest_tcp_server_start(Node, Domain, sock, Active) -> TransportMod = socket_test_ttest_tcp_socket, Transport = {TransportMod, #{domain => Domain, @@ -48085,6 +50261,18 @@ ttest_tcp_client_start(Node, ServerInfo, Active, MsgID, MaxOutstanding, RunTime); +ttest_tcp_client_start(Node, + Notify, + Domain, gs, + ServerInfo, Active, MsgID, MaxOutstanding, RunTime) -> + TransportMod = socket_test_ttest_tcp_gs, + Transport = {TransportMod, #{domain => Domain}}, + socket_test_ttest_tcp_client:start_monitor(Node, + Notify, + Transport, + ServerInfo, + Active, + MsgID, MaxOutstanding, RunTime); ttest_tcp_client_start(Node, Notify, Domain, sock, @@ -49140,6 +51328,167 @@ otp18240_do_close({ID, Sock}) -> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% This test case is to verify that we do not leak monitors. +otp18635(Config) when is_list(Config) -> + ?TT(?SECS(10)), + tc_try(?FUNCTION_NAME, + fun() -> + is_not_windows(), + has_support_ipv4() + end, + fun() -> + InitState = #{}, + ok = do_otp18635(InitState) + end). + + +do_otp18635(_) -> + Parent = self(), + + ?P("try create (listen) socket when" + "~n (gen socket) info: ~p" + "~n Sockets: ~p", + [socket:info(), socket:which_sockets()]), + + ?P("Get \"proper\" local socket address"), + LSA = which_local_socket_addr(inet), + + {ok, LSock} = socket:open(inet, stream, #{use_registry => true}), + + ?P("bind (listen) socket to: " + "~n ~p", [LSA]), + ok = socket:bind(LSock, LSA), + + ?P("make listen socket"), + ok = socket:listen(LSock), + + ?P("get sockname for listen socket"), + {ok, SA} = socket:sockname(LSock), + + %% ok = socket:setopt(LSock, otp, debug, true), + + % show handle returned from nowait accept + ?P("try accept with timeout = nowait - expect select when" + "~n (gen socket) info: ~p" + "~n Sockets: ~p", + [socket:info(), socket:which_sockets()]), + {select, {select_info, _, Handle}} = socket:accept(LSock, nowait), + ?P("expected select result: " + "~n Select Handle: ~p" + "~n (gen socket) info: ~p" + "~n Sockets: ~p", + [Handle, socket:info(), socket:which_sockets()]), + + ?SLEEP(?SECS(1)), + + %% perform a blocking accept that will fail (timeout) + ?P("attempt accept with timeout = 500 - expect failure (timeout)"), + {error, timeout} = socket:accept(LSock, 500), + + ?P("await abort message for the first accept call: " + "~n Select Handle: ~p" + "~n (gen socket) info: ~p" + "~n Sockets: ~p", + [Handle, socket:info(), socket:which_sockets()]), + receive + {'$socket', LSock, abort, {Handle, cancelled}} -> + ?P("received expected abort message"), + ok + end, + + %% spawn a client to connect + ?P("spawn connector when" + "~n (gen socket) info: ~p" + "~n Listen Socket info: ~p" + "~n Sockets: ~p", + [socket:info(), socket:info(LSock), socket:which_sockets()]), + {Connector, MRef} = + spawn_monitor( + fun() -> + ?P("[connector] try create socket"), + {ok, CSock} = socket:open(inet, stream), + ?P("[connector] try connect: " + "~n (server) ~p", [SA]), + ok = socket:connect(CSock, SA), + ?P("[connector] connected - inform parent"), + Parent ! {self(), connected}, + ?P("[connector] await termination command"), + receive + {Parent, terminate} -> + ?P("[connector] terminate - close socket"), + (catch socket:close(CSock)), + exit(normal) + end + end), + + ?P("await (connection-) confirmation from connector (~p)", [Connector]), + receive + {Connector, connected} -> + ?P("connector connected"), + ok + end, + + %% We should *not* get *any* select messages; + %% since the second call (that *replaced* the current active request) + %% timeout out + ?P("wait for a select message that should never come"), + Result = + receive + {'$socket', LSock, select, AnyHandle} -> + ?P("received unexpected select message when" + "~n Unexpected Handle: ~p" + "~n (gen socket) info: ~p" + "~n Listen Socket info: ~p" + "~n Sockets: ~p", + [AnyHandle, + socket:info(), socket:info(LSock), socket:which_sockets()]), + error + after 5000 -> + ?P("expected timeout"), + ok + end, + + ?P("try accept the waiting connection when" + "~n (gen socket) info: ~p" + "~n Listen Socket info: ~p" + "~n Sockets: ~p", + [socket:info(), socket:info(LSock), socket:which_sockets()]), + + {ok, ASock} = socket:accept(LSock), + + ?P("connection accepted" + "~n (gen socket) info: ~p" + "~n Accepted socket: ~p" + "~n Accepted Socket info: ~p" + "~n Listen Socket info: ~p" + "~n Sockets: ~p", + [socket:info(), + ASock, + socket:info(ASock), + socket:info(LSock), + socket:which_sockets()]), + + ?P("cleanup"), + socket:close(LSock), + socket:close(ASock), + Connector ! {self(), terminate}, + receive + {'DOWN', MRef, process, Connector, _} -> + ?P("connector terminated"), + ok + end, + + ?SLEEP(?SECS(1)), + + ?P("done when" + "~n (gen socket) info: ~p" + "~n Sockets: ~p", [socket:info(), socket:which_sockets()]), + + Result. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% sock_open(Domain, Type, Proto) -> @@ -49222,37 +51571,11 @@ local_host() -> %% The point of this is to "ensure" that paths from different test runs %% don't clash. + mk_unique_path() -> - [NodeName | _] = string:tokens(atom_to_list(node()), [$@]), - Path = ?LIB:f("/tmp/esock_~s_~w", [NodeName, erlang:system_time(nanosecond)]), - ensure_unique_path(Path). - -ensure_unique_path(Path) -> - case file:read_file_info(Path) of - {ok, _} -> % Ouch, append a unique ID and try again - ensure_unique_path(Path, 1); - {error, _} -> - %% We assume this means it does not exist yet... - %% If we have several process in parallel trying to create - %% (unique) path's, then we are in trouble. To *really* be - %% on the safe side we should have a (central) path registry... - encode_path(Path) - end. + ?LIB:mk_unique_path(). -ensure_unique_path(Path, ID) when (ID < 100) -> % If this is not enough... - NewPath = ?LIB:f("~s_~w", [Path, ID]), - case file:read_file_info(NewPath) of - {ok, _} -> % Ouch, this also existed, increment and try again - ensure_unique_path(Path, ID + 1); - {error, _} -> % We assume this means it does not exist yet... - encode_path(NewPath) - end; -ensure_unique_path(_, _) -> - skip("Could not create unique path"). -encode_path(Path) -> - unicode:characters_to_binary(Path, file:native_name_encoding()). - which_local_socket_addr(local = Domain) -> #{family => Domain, path => mk_unique_path()}; @@ -49261,14 +51584,22 @@ which_local_socket_addr(local = Domain) -> %% We should really implement this using the (new) net module, %% but until that gets the necessary functionality... which_local_socket_addr(Domain) -> - case ?LIB:which_local_host_info(Domain) of - {ok, #{addr := Addr}} -> + case ?KLIB:which_local_host_info(Domain) of + {ok, [#{addr := Addr}|_]} -> #{family => Domain, addr => Addr}; {error, Reason} -> ?FAIL(Reason) end. +which_local_host_info(Domain) -> + case ?KLIB:which_local_host_info(Domain) of + {ok, [Info|_]} -> + {ok, Info#{family => Domain}}; + {error, Reason} -> + ?FAIL(Reason) + end. + which_local_addr(local = _Domain) -> @@ -49278,7 +51609,7 @@ which_local_addr(local = _Domain) -> %% We should really implement this using the (new) net module, %% but until that gets the necessary functionality... which_local_addr(Domain) -> - ?LIB:which_local_addr(Domain). + ?KLIB:which_local_addr(Domain). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -49356,6 +51687,21 @@ has_support_sock_dontroute() -> has_support_sock_keepalive() -> has_support_socket_option_sock(keepalive). +has_support_sock_reuseaddr() -> + has_support_socket_option_sock(reuseaddr). + +has_support_sock_bsp_state() -> + has_support_socket_option_sock(bsp_state). + +has_support_sock_exclusiveaddruse() -> + has_support_socket_option_sock(exclusiveaddruse). + +has_support_sock_maxdg() -> + has_support_socket_option_sock(maxdg). + +has_support_sock_max_msg_size() -> + has_support_socket_option_sock(max_msg_size). + has_support_sock_oobinline() -> has_support_socket_option_sock(oobinline). @@ -49479,6 +51825,15 @@ has_support_tcp_maxseg() -> has_support_tcp_nodelay() -> has_support_socket_option_tcp(nodelay). +has_support_tcp_keepcnt() -> + has_support_socket_option_tcp(keepcnt). + +has_support_tcp_keepidle() -> + has_support_socket_option_tcp(keepidle). + +has_support_tcp_keepintvl() -> + has_support_socket_option_tcp(keepintvl). + %% --- UDP socket option test functions --- @@ -49611,16 +51966,11 @@ unix_domain_socket_host_cond(_, _) -> ok. has_support_unix_domain_socket() -> - case os:type() of - {win32, _} -> - skip("Not supported"); - _ -> - case socket:is_supported(local) of - true -> - ok; - false -> - skip("Not supported") - end + case socket:is_supported(local) of + true -> + ok; + false -> + skip("Not supported") end. has_support_sctp() -> @@ -49644,10 +51994,10 @@ has_support_sctp() -> %% support for IPv4 or IPv6. If not, there is no point in running corresponding tests. %% Currently we just skip. has_support_ipv4() -> - ?LIB:has_support_ipv4(). + ?KLIB:has_support_ipv4(). has_support_ipv6() -> - ?LIB:has_support_ipv6(). + ?KLIB:has_support_ipv6(). inet_or_inet6() -> try @@ -49696,6 +52046,9 @@ has_support_ioctl_requests() -> has_support_ioctl_gifconf() -> has_support_ioctl_request(gifconf). +has_support_ioctl_nread() -> + has_support_ioctl_request(nread). + has_support_ioctl_gifname() -> has_support_ioctl_request(gifname). @@ -49729,6 +52082,9 @@ has_support_ioctl_gifflags() -> has_support_ioctl_gifmap() -> has_support_ioctl_request(gifmap). +has_support_ioctl_tcp_info() -> + has_support_ioctl_request(tcp_info). + has_support_ioctl_request(Req) when is_atom(Req) -> try socket:is_supported(ioctl_requests, Req) of true -> diff --git a/lib/kernel/test/socket_test_lib.erl b/lib/kernel/test/socket_test_lib.erl index da3694346131..2d8b4f5181da 100644 --- a/lib/kernel/test/socket_test_lib.erl +++ b/lib/kernel/test/socket_test_lib.erl @@ -44,6 +44,7 @@ has_support_ipv4/0, has_support_ipv6/0, + mk_unique_path/0, which_local_host_info/1, which_local_addr/1, @@ -55,6 +56,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-define(LIB, kernel_test_lib). -define(FAIL(R), exit(R)). @@ -208,6 +210,50 @@ has_support_ipv6() -> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mk_unique_path() -> + {OSF, _} = os:type(), + mk_unique_path(OSF). + +mk_unique_path(win32) -> + [NodeName | _] = string:tokens(atom_to_list(node()), [$@]), + Path = f("esock_~s_~w", [NodeName, erlang:system_time(nanosecond)]), + ensure_unique_path(Path, ".sock"); +mk_unique_path(_) -> + [NodeName | _] = string:tokens(atom_to_list(node()), [$@]), + Path = f("/tmp/esock_~s_~w", [NodeName, erlang:system_time(nanosecond)]), + ensure_unique_path(Path, ""). + +ensure_unique_path(Path, Ext) -> + NewPath = Path ++ Ext, + case file:read_file_info(NewPath) of + {ok, _} -> % Ouch, append a unique ID and try again + ensure_unique_path(Path, Ext, 1); + {error, _} -> + %% We assume this means it does not exist yet... + %% If we have several process in parallel trying to create + %% (unique) path's, then we are in trouble. To *really* be + %% on the safe side we should have a (central) path registry... + encode_path(NewPath) + end. + +ensure_unique_path(Path, Ext, ID) when (ID < 100) -> % If this is not enough... + NewPath = f("~s_~w", [Path, ID]) ++ Ext, + case file:read_file_info(NewPath) of + {ok, _} -> % Ouch, this also existed, increment and try again + ensure_unique_path(Path, Ext, ID + 1); + {error, _} -> % We assume this means it does not exist yet... + encode_path(NewPath) + end; +ensure_unique_path(_, _, _) -> + skip("Could not create unique path"). + +encode_path(Path) -> + unicode:characters_to_binary(Path, file:native_name_encoding()). + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% This gets the local address (not {127, _} or {0, ...} or {16#fe80, ...}) @@ -225,92 +271,13 @@ which_local_addr(Domain) -> %% Returns the interface (name), flags and address (not 127...) %% of the local host. which_local_host_info(Domain) -> - case inet:getifaddrs() of - {ok, IFL} -> - which_local_host_info(Domain, IFL); + case ?LIB:which_local_host_info(Domain) of + {ok, [H|_]} -> + {ok, H}; {error, _} = ERROR -> ERROR end. -which_local_host_info(_Domain, []) -> - {error, no_address}; -which_local_host_info(Domain, [{"docker" ++ _, _}|IFL]) -> - which_local_host_info(Domain, IFL); -which_local_host_info(Domain, [{"br-" ++ _, _}|IFL]) -> - which_local_host_info(Domain, IFL); -which_local_host_info(Domain, [{Name, IFO}|IFL]) -> - case if_is_running_and_not_loopback(IFO) of - true -> - try which_local_host_info2(Domain, IFO) of - Info -> - {ok, Info#{name => Name}} - catch - throw:_:_ -> - which_local_host_info(Domain, IFL) - end; - false -> - which_local_host_info(Domain, IFL) - end; -which_local_host_info(Domain, [_|IFL]) -> - which_local_host_info(Domain, IFL). - -if_is_running_and_not_loopback(If) -> - lists:keymember(flags, 1, If) andalso - begin - {value, {flags, Flags}} = lists:keysearch(flags, 1, If), - (not lists:member(loopback, Flags)) andalso - lists:member(running, Flags) - end. - - -which_local_host_info2(inet = _Domain, IFO) -> - Addr = which_local_host_info3(addr, IFO, - fun({A, _, _, _}) when (A =/= 127) -> true; - (_) -> false - end), - NetMask = which_local_host_info3(netmask, IFO, - fun({_, _, _, _}) -> true; - (_) -> false - end), - BroadAddr = which_local_host_info3(broadaddr, IFO, - fun({_, _, _, _}) -> true; - (_) -> false - end), - Flags = which_local_host_info3(flags, IFO, fun(_) -> true end), - #{flags => Flags, - addr => Addr, - broadaddr => BroadAddr, - netmask => NetMask}; -which_local_host_info2(inet6 = _Domain, IFO) -> - Addr = which_local_host_info3(addr, IFO, - fun({A, _, _, _, _, _, _, _}) - when (A =/= 0) andalso - (A =/= 16#fe80) -> true; - (_) -> false - end), - NetMask = which_local_host_info3(netmask, IFO, - fun({_, _, _, _, _, _, _, _}) -> true; - (_) -> false - end), - Flags = which_local_host_info3(flags, IFO, fun(_) -> true end), - #{flags => Flags, - addr => Addr, - netmask => NetMask}. - -which_local_host_info3(_Key, [], _) -> - throw({error, no_address}); -which_local_host_info3(Key, [{Key, Val}|IFO], Check) -> - case Check(Val) of - true -> - Val; - false -> - which_local_host_info3(Key, IFO, Check) - end; -which_local_host_info3(Key, [_|IFO], Check) -> - which_local_host_info3(Key, IFO, Check). - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/lib/kernel/test/socket_test_ttest_tcp_client.erl b/lib/kernel/test/socket_test_ttest_tcp_client.erl index 7c115b32c06a..b062b82b2582 100644 --- a/lib/kernel/test/socket_test_ttest_tcp_client.erl +++ b/lib/kernel/test/socket_test_ttest_tcp_client.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2018-2022. All Rights Reserved. +%% Copyright Ericsson AB 2018-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -112,7 +112,7 @@ start_monitor(_, Notify, Transport, ServerInfo, Active, MsgID, MaxOutstanding, RunTime) -> case do_start(false, self(), Notify, - Transport, Active, ServerInfo, + Transport, ServerInfo, Active, MsgID, MaxOutstanding, RunTime) of {ok, Pid} -> MRef = erlang:monitor(process, Pid), @@ -268,8 +268,17 @@ init(Quiet, bcnt => 0, num => undefined, acc => <<>>}), + if not Quiet -> ?I("send result"); + true -> ok + end, Notify(Results), + if not Quiet -> ?I("close socket"); + true -> ok + end, (catch Mod:close(Sock)), + if not Quiet -> ?I("done"); + true -> ok + end, exit(normal); {error, Reason} -> ?E("connect failed: ~p" diff --git a/lib/kernel/test/socket_test_ttest_tcp_client_gs.erl b/lib/kernel/test/socket_test_ttest_tcp_client_gs.erl new file mode 100644 index 000000000000..1dd24d660b16 --- /dev/null +++ b/lib/kernel/test/socket_test_ttest_tcp_client_gs.erl @@ -0,0 +1,49 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023-2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +-module(socket_test_ttest_tcp_client_gs). + +-export([ + start/2, start/3, start/5, start/6, + stop/1 + ]). + +-define(TRANSPORT_MOD, socket_test_ttest_tcp_gs). + +start(ServerInfo, Active) -> + socket_test_ttest_tcp_client:start(?TRANSPORT_MOD, ServerInfo, Active). + +start(ServerInfo, Active, MsgID) -> + socket_test_ttest_tcp_client:start(?TRANSPORT_MOD, ServerInfo, Active, MsgID). + +start(ServerInfo, Active, MsgID, MaxOutstanding, RunTime) -> + socket_test_ttest_tcp_client:start(false, + ?TRANSPORT_MOD, + ServerInfo, Active, + MsgID, MaxOutstanding, RunTime). + +start(Quiet, ServerInfo, Active, MsgID, MaxOutstanding, RunTime) -> + socket_test_ttest_tcp_client:start(Quiet, + ?TRANSPORT_MOD, + ServerInfo, Active, + MsgID, MaxOutstanding, RunTime). + +stop(Pid) -> + socket_test_ttest_tcp_client:stop(Pid). diff --git a/lib/kernel/test/socket_test_ttest_tcp_gs.erl b/lib/kernel/test/socket_test_ttest_tcp_gs.erl new file mode 100644 index 000000000000..d6545c729e10 --- /dev/null +++ b/lib/kernel/test/socket_test_ttest_tcp_gs.erl @@ -0,0 +1,140 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023-2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +-module(socket_test_ttest_tcp_gs). + +-export([ + accept/1, accept/2, + active/2, + close/1, + connect/2, connect/3, + controlling_process/2, + listen/0, listen/1, listen/2, + peername/1, + port/1, + recv/2, recv/3, + send/2, + shutdown/2, + sockname/1 + ]). + + +-define(LIB, socket_test_lib). + +%% ========================================================================== + +accept(Sock) -> + case gen_tcp:accept(Sock) of + {ok, NewSock} -> + {ok, NewSock}; + {error, _} = ERROR -> + ERROR + end. + +accept(Sock, Timeout) -> + case gen_tcp:accept(Sock, Timeout) of + {ok, NewSock} -> + {ok, NewSock}; + {error, _} = ERROR -> + ERROR + end. + + +active(Sock, NewActive) + when (is_boolean(NewActive) orelse (NewActive =:= once)) -> + inet:setopts(Sock, [{active, NewActive}]). + + +close(Sock) -> + gen_tcp:close(Sock). + + +connect(Addr, Port) -> + Opts = [{inet_backend, socket}, + binary, {packet, raw}, {active, false}, {buffer, 32*1024}], + do_connect(Addr, Port, Opts). + +connect(Addr, Port, #{domain := Domain}) -> + Opts = [{inet_backend, socket}, + Domain, binary, {packet, raw}, {active, false}, {buffer, 32*1024}], + do_connect(Addr, Port, Opts). + +do_connect(Addr, Port, Opts) -> + case gen_tcp:connect(Addr, Port, Opts) of + {ok, Sock} -> + {ok, Sock}; + {error, _} = ERROR -> + ERROR + end. + +controlling_process(Sock, NewPid) -> + gen_tcp:controlling_process(Sock, NewPid). + + +%% Create a listen socket +listen() -> + listen(0). + +listen(Port) -> + listen(Port, #{domain => inet}). + +listen(Port, #{domain := Domain}) when is_integer(Port) andalso (Port >= 0) -> + case ?LIB:which_local_host_info(Domain) of + {ok, #{addr := Addr}} -> + Opts = [{inet_backend, socket}, + Domain, + binary, {ip, Addr}, {packet, raw}, {active, false}, + {buffer, 32*1024}], + gen_tcp:listen(Port, Opts); + {error, _} = ERROR -> + ERROR + end. + + +peername(Sock) -> + inet:peername(Sock). + + +port(Sock) -> + inet:port(Sock). + + +recv(Sock, Length) -> + gen_tcp:recv(Sock, Length). +recv(Sock, Length, Timeout) -> + gen_tcp:recv(Sock, Length, Timeout). + + +send(Sock, Data) -> + gen_tcp:send(Sock, Data). + + +shutdown(Sock, How) -> + gen_tcp:shutdown(Sock, How). + + +sockname(Sock) -> + inet:sockname(Sock). + + +%% ========================================================================== + + + diff --git a/lib/kernel/test/socket_test_ttest_tcp_server_gs.erl b/lib/kernel/test/socket_test_ttest_tcp_server_gs.erl new file mode 100644 index 000000000000..dfb90bf4e440 --- /dev/null +++ b/lib/kernel/test/socket_test_ttest_tcp_server_gs.erl @@ -0,0 +1,39 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023-2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +-module(socket_test_ttest_tcp_server_gs). + +-export([ + start/1, start/2, + stop/1 + ]). + +-define(TRANSPORT_MOD, socket_test_ttest_tcp_gs). +-define(MOD(D), {?TRANSPORT_MOD, #{domain => D}}). + +start(Active) -> + start(inet, Active). + +start(Domain, Active) -> + socket_test_ttest_tcp_server:start(?MOD(Domain), Active). + + +stop(Pid) -> + socket_test_ttest_tcp_server:stop(Pid). diff --git a/lib/kernel/test/socket_test_ttest_tcp_socket.erl b/lib/kernel/test/socket_test_ttest_tcp_socket.erl index 7a084a445dea..b38056f92500 100644 --- a/lib/kernel/test/socket_test_ttest_tcp_socket.erl +++ b/lib/kernel/test/socket_test_ttest_tcp_socket.erl @@ -213,8 +213,8 @@ do_connect(LocalSA, ServerSA, Cleanup, #{domain := Domain, end. mk_unique_path() -> - [NodeName | _] = string:tokens(atom_to_list(node()), [$@]), - ?LIB:f("/tmp/esock_~s_~w", [NodeName, erlang:system_time(nanosecond)]). + ?LIB:mk_unique_path(). + maybe_start_stats_timer(#{stats_to := Pid, stats_interval := T}, diff --git a/lib/kernel/test/tty.cover b/lib/kernel/test/tty.cover new file mode 100644 index 000000000000..cf4d26ea8e1a --- /dev/null +++ b/lib/kernel/test/tty.cover @@ -0,0 +1,3 @@ +%% -*- erlang -*- +{incl_mods,[prim_tty, user_drv, group, shell, edlin, edlin_expand, io_lib]}. + diff --git a/lib/kernel/vsn.mk b/lib/kernel/vsn.mk index 78d04715a760..533e0719002e 100644 --- a/lib/kernel/vsn.mk +++ b/lib/kernel/vsn.mk @@ -1 +1 @@ -KERNEL_VSN = 9.0 +KERNEL_VSN = 9.0.2 diff --git a/lib/megaco/doc/src/megaco_intro.xml b/lib/megaco/doc/src/megaco_intro.xml index 606ee16d5a82..0a2213c63b9c 100644 --- a/lib/megaco/doc/src/megaco_intro.xml +++ b/lib/megaco/doc/src/megaco_intro.xml @@ -120,16 +120,16 @@ Megaco/H.248 and about the Erlang/OTP development system:

-

version 1, RFC 3525

+

version 1, RFC 3525

old version 1, RFC 3015

-

Version 2 Corrigendum 1

+

Version 2 Corrigendum 1

-

version 2, draft-ietf-megaco-h248v2-04

+

version 2, draft-ietf-megaco-h248v2-04

H.248.1 version 3

diff --git a/lib/megaco/doc/src/megaco_tcp.xml b/lib/megaco/doc/src/megaco_tcp.xml index eee44ef7f23d..013b3f5e66cb 100644 --- a/lib/megaco/doc/src/megaco_tcp.xml +++ b/lib/megaco/doc/src/megaco_tcp.xml @@ -4,7 +4,7 @@
- 20002021 + 20002023 Ericsson AB. All Rights Reserved. @@ -56,12 +56,24 @@ TransportRef = pid() | regname() OptionListPerPort = [Option] - Option = {port, integer()} | {options, list()} | {receive_handle, term()} | {inet_backend, default | inet | socket} + Option = {port, integer()} | + {options, list()} | + {receive_handle, term()} | + {inet_backend, default | inet | socket}

This function is used for starting new TPKT listening socket for TCP/IP. The option list contains the socket definitions.

+ + + +

Choose the inet-backend.

+

This option make it possible to use a + different inet-backend ('default', 'inet' or 'socket').

+

Default is default (system default).

+
+
@@ -100,6 +112,13 @@

Default value is megaco.

+ + +

Choose the inet-backend.

+

This option make it possible to use a + different inet-backend ('default', 'inet' or 'socket').

+

Default is default (system default).

+
diff --git a/lib/megaco/doc/src/megaco_udp.xml b/lib/megaco/doc/src/megaco_udp.xml index f9dc551f6c1a..80a25ce702c1 100644 --- a/lib/megaco/doc/src/megaco_udp.xml +++ b/lib/megaco/doc/src/megaco_udp.xml @@ -4,7 +4,7 @@
- 20002021 + 20002023 Ericsson AB. All Rights Reserved. @@ -85,6 +85,13 @@

Default value is megaco.

+ + +

Choose the inet-backend.

+

This option make it possible to use a + different inet-backend ('default', 'inet' or 'socket').

+

Default is default (system default).

+
diff --git a/lib/megaco/src/tcp/megaco_tcp.erl b/lib/megaco/src/tcp/megaco_tcp.erl index 51abc99d6c13..e23167be71bc 100644 --- a/lib/megaco/src/tcp/megaco_tcp.erl +++ b/lib/megaco/src/tcp/megaco_tcp.erl @@ -33,6 +33,7 @@ %%----------------------------------------------------------------- %% Include files %%----------------------------------------------------------------- +-define(megaco_debug, true). -include_lib("megaco/include/megaco.hrl"). -include_lib("megaco/src/tcp/megaco_tcp.hrl"). -include_lib("megaco/src/app/megaco_internal.hrl"). @@ -183,18 +184,31 @@ connect(SupPid, Parameters) -> port = Port, options = Options, inet_backend = IB} = Rec, - - IpOpt = + + %% When using 'socket on Windows': + %% Unless 'Options' contain the 'ip' option, + %% we *will* use our own value (selected from net:getifaddr/1). + %% If 'host' is a string, we need to check 'Options' + %% to see if 'local' is present (which does not, currently, + %% work on Windows)? + %% If not (local), we *assume* domain = 'inet'. + + IpOpts = case IB of default -> []; _ -> [{inet_backend, IB}] - end ++ [binary, {packet, tpkt}, {active, once} | Options], + end ++ [binary, {packet, tpkt}, {active, once} | + post_process_opts(Host, IB, Options)], %%------------------------------------------------------ %% Connect the other side - case (catch gen_tcp:connect(Host, Port, IpOpt)) of + ?d1("connect -> connect with: " + "~n Host: ~p" + "~n Port: ~p" + "~n IpOpts: ~p", [Host, Port, IpOpts]), + case (catch gen_tcp:connect(Host, Port, IpOpts)) of {ok, Socket} -> ?d1("connect -> connected: " "~n Socket: ~p", [Socket]), @@ -217,14 +231,14 @@ connect(SupPid, Parameters) -> {error, Reason} -> ?d1("connect -> failed connecting: " "~n Reason: ~p", [Reason]), - Error = {error, {gen_tcp_connect, Reason, {Host, Port, IpOpt}}}, + Error = {error, {gen_tcp_connect, Reason, {Host, Port, IpOpts}}}, ?tcp_debug(Rec, "tcp connect failed", [Error]), Error; {'EXIT', _Reason} = Exit -> ?d1("connect -> connect exited: " "~n Exit: ~p", [Exit]), - Error = {error, {gen_tcp_connect, Exit, {Host, Port, IpOpt}}}, + Error = {error, {gen_tcp_connect, Exit, {Host, Port, IpOpts}}}, ?tcp_debug(Rec, "tcp connect failed", [Error]), Error @@ -239,6 +253,123 @@ connect(SupPid, Parameters) -> end. +%% In some cases we must bind and therefor we must have the +%% ip (or ifaddr) option. +post_process_opts(Host, socket = _IB, Opts) -> + case os:type() of + {win32, nt} -> + %% We must bind, and therefor we must provide a "proper" address. + %% Therefor...we need to figure out our domain. + post_process_opts(Host, Opts); + _ -> + Opts + end; +post_process_opts(_Host, _IB, Opts) -> + Opts. + + +%% Socket on Windows: We need the ip (or ifaddr) option +post_process_opts(Host, Opts) -> + case lists:keymember(ip, 1, Opts) orelse + lists:keymember(ifaddr, 1, Opts) of + true -> + %% No need to do anything, user has provided an address + Opts; + false -> + %% We need to figure out a proper address and provide + %% the ip option our selves. + post_process_opts2(Host, Opts) + end. + +%% We do not have the ip (or ifaddr) option +post_process_opts2(Host, Opts) + when is_tuple(Host) andalso (tuple_size(Host) =:= 4) -> + post_process_opts3(inet, Opts); +post_process_opts2(Host, Opts) + when is_tuple(Host) andalso (tuple_size(Host) =:= 8) -> + post_process_opts3(inet6, Opts); +%% This works even if Host is 'undefined' +post_process_opts2(Host, Opts) when is_atom(Host) -> + case lists:member(inet, Opts) of + true -> + post_process_opts3(inet, Opts); + false -> + case lists:member(inet6, Opts) of + true -> + post_process_opts3(inet6, Opts); + false -> + post_process_opts3(inet, Opts) + end + end; +post_process_opts2(Host, Opts) when is_list(Host) -> + %% Either hostname (inet or inet6) or a path (local) + case lists:member(inet, Opts) of + true -> + post_process_opts3(inet, Opts); + false -> + case lists:member(inet6, Opts) of + true -> + post_process_opts3(inet6, Opts); + false -> + case lists:member(local, Opts) of + true -> + %% Not supported on windows, + %% so we leave it as is and... + Opts; + false -> + post_process_opts3(inet, Opts) + end + end + end. + +post_process_opts3(Domain, Opts) -> + case net:getifaddrs(Domain) of + {ok, IfAddrs} -> + post_process_opts4(Domain, IfAddrs, Opts); + {error, _} -> + Opts + end. + +post_process_opts4(_Domain, [] = _IfAddrs, Opts) -> + Opts; +post_process_opts4(inet, + [#{addr := #{family := inet, + addr := {A, B, _, _}}} | IfAddrs], + Opts) + when (A =:= 127) orelse ((A =:= 169) andalso (B =:= 254)) -> + post_process_opts4(inet, IfAddrs, Opts); +post_process_opts4(inet, + [#{addr := #{family := inet, + addr := Addr}, + flags := Flags} | IfAddrs], + Opts) -> + case lists:member(up, Flags) of + true -> + [{ip, Addr} | Opts]; + false -> + post_process_opts4(inet, IfAddrs, Opts) + end; +post_process_opts4(inet6, + [#{addr := #{family := inet6, + addr := {A, _, _, _, _, _, _, _}}} | IfAddrs], + Opts) + when (A =:= 0) orelse (A =:= 16#fe80) -> + post_process_opts4(inet6, IfAddrs, Opts); +post_process_opts4(inet6, + [#{addr := #{family := inet6, + addr := Addr}, + flags := Flags} | IfAddrs], + Opts) -> + %% The loopback should really have been covered above, but just in case... + case lists:member(up, Flags) andalso (not lists:member(loopback, Flags)) of + true -> + [{ip, Addr} | Opts]; + false -> + post_process_opts4(inet6, IfAddrs, Opts) + end. + + + %%----------------------------------------------------------------- %% Func: send_message %% Description: Function is used for sending data on the TCP socket @@ -486,7 +617,9 @@ setup(SupPid, Options) -> "~n Options: ~p", [SupPid, Options]), Mand = [port, receive_handle], case parse_options(Options, #megaco_tcp{}, Mand) of - {ok, TcpRec} -> + {ok, #megaco_tcp{port = Port, + options = Opts, + inet_backend = IB} = TcpRec} -> ?d1("setup -> options parsed" "~n TcpRec: ~p", [TcpRec]), @@ -494,20 +627,22 @@ setup(SupPid, Options) -> %%------------------------------------------------------ %% Setup the listen socket IpOpts = - case TcpRec#megaco_tcp.inet_backend of + case IB of default -> []; - IB -> + _ -> [{inet_backend, IB}] end ++ - [binary, {packet, tpkt}, {active, once}, - {reuseaddr, true} | TcpRec#megaco_tcp.options], - Port = TcpRec#megaco_tcp.port, + [binary, {packet, tpkt}, {active, once}, {reuseaddr, true} | + post_process_opts(undefined, IB, Opts)], + ?d1("setup -> listen with: " + "~n Port: ~p" + "~n IpOpts: ~p", [Port, IpOpts]), case catch gen_tcp:listen(Port, IpOpts) of {ok, LSock} -> ?d1("setup -> listen ok" - "~n Listen: ~p", [Listen]), + "~n Listen: ~p", [LSock]), %%----------------------------------------------- %% Startup the accept process that will wait for diff --git a/lib/megaco/src/udp/megaco_udp.erl b/lib/megaco/src/udp/megaco_udp.erl index e3825e96252a..37960161e2d6 100644 --- a/lib/megaco/src/udp/megaco_udp.erl +++ b/lib/megaco/src/udp/megaco_udp.erl @@ -110,20 +110,22 @@ stop_transport(Pid, Reason) -> open(SupPid, Options) -> Mand = [port, receive_handle], case parse_options(Options, #megaco_udp{}, Mand) of - {ok, UdpRec} -> + {ok, #megaco_udp{port = Port, + options = Opts, + inet_backend = IB} = UdpRec} -> %%------------------------------------------------------ %% Setup the socket IpOpts = - case UdpRec#megaco_udp.inet_backend of + case IB of default -> []; IB -> [{inet_backend, IB}] end ++ [binary, {reuseaddr, true}, {active, once} | - UdpRec#megaco_udp.options], - case (catch gen_udp:open(UdpRec#megaco_udp.port, IpOpts)) of + post_process_opts(IB, Opts)], + case (catch gen_udp:open(Port, IpOpts)) of {ok, Socket} -> ?udp_debug(UdpRec, "udp open", []), NewUdpRec = UdpRec#megaco_udp{socket = Socket}, @@ -154,6 +156,95 @@ open(SupPid, Options) -> end. +%% In some cases we must bind and therefor we must have the +%% ip (or ifaddr) option. +post_process_opts(socket = _IB, Opts) -> + case os:type() of + {win32, nt} -> + %% We must bind, and therefor we must provide a "proper" address. + %% Therefor...we need to figure out our domain. + post_process_opts(Opts); + _ -> + Opts + end; +post_process_opts(_IB, Opts) -> + Opts. + + +%% Socket on Windows: We need the ip (or ifaddr) option +post_process_opts(Opts) -> + case lists:keymember(ip, 1, Opts) orelse + lists:keymember(ifaddr, 1, Opts) of + true -> + %% No need to do anything, user has provided an address + Opts; + false -> + %% We need to figure out a proper address and provide + %% the ip option our selves. + post_process_opts2(Opts) + end. + +post_process_opts2(Opts) -> + case lists:member(inet, Opts) of + true -> + post_process_opts3(inet, Opts); + false -> + case lists:member(inet6, Opts) of + true -> + post_process_opts3(inet6, Opts); + false -> + post_process_opts3(inet, Opts) + end + end. + +post_process_opts3(Domain, Opts) -> + case net:getifaddrs(Domain) of + {ok, IfAddrs} -> + post_process_opts4(Domain, IfAddrs, Opts); + {error, _} -> + Opts + end. + +post_process_opts4(_Domain, [] = _IfAddrs, Opts) -> + Opts; +post_process_opts4(inet, + [#{addr := #{family := inet, + addr := {A, B, _, _}}} | IfAddrs], + Opts) + when (A =:= 127) orelse ((A =:= 169) andalso (B =:= 254)) -> + post_process_opts4(inet, IfAddrs, Opts); +post_process_opts4(inet, + [#{addr := #{family := inet, + addr := Addr}, + flags := Flags} | IfAddrs], + Opts) -> + case lists:member(up, Flags) of + true -> + [{ip, Addr} | Opts]; + false -> + post_process_opts4(inet, IfAddrs, Opts) + end; +post_process_opts4(inet6, + [#{addr := #{family := inet6, + addr := {A, _, _, _, _, _, _, _}}} | IfAddrs], + Opts) + when (A =:= 0) orelse (A =:= 16#fe80) -> + post_process_opts4(inet6, IfAddrs, Opts); +post_process_opts4(inet6, + [#{addr := #{family := inet6, + addr := Addr}, + flags := Flags} | IfAddrs], + Opts) -> + %% The loopback should really have been covered above, but just in case... + case lists:member(up, Flags) andalso (not lists:member(loopback, Flags)) of + true -> + [{ip, Addr} | Opts]; + false -> + post_process_opts4(inet6, IfAddrs, Opts) + end. + + + %%----------------------------------------------------------------- %% Func: socket %% Description: Returns the inet socket diff --git a/lib/megaco/test/megaco_load_SUITE.erl b/lib/megaco/test/megaco_load_SUITE.erl index 9d671450e884..0d019a272cb3 100644 --- a/lib/megaco/test/megaco_load_SUITE.erl +++ b/lib/megaco/test/megaco_load_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2003-2022. All Rights Reserved. +%% Copyright Ericsson AB 2003-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -22,6 +22,26 @@ %%---------------------------------------------------------------------- %% Purpose: Verify the application specifics of the Megaco application %%---------------------------------------------------------------------- +%% +%% application:set_env(megaco, test_inet_backends, true). +%% +%% S = fun() -> ts:run(kernel, megaco_load_SUITE, [batch]) end. +%% S = fun(SUITE) -> ts:run(kernel, SUITE, [batch]) end. +%% S = fun() -> ct:run_test([{suite, megaco_load_SUITE}]) end. +%% S = fun(SUITE) -> ct:run_test([{suite, SUITE}]) end. +%% G = fun(GROUP) -> ts:run(kernel, megaco_load_SUITE, {group, GROUP}, [batch]) end. +%% G = fun(SUITE, GROUP) -> ts:run(kernel, SUITE, {group, GROUP}, [batch]) end. +%% G = fun(GROUP) -> ct:run_test([{suite, megaco_load_SUITE}, {group, GROUP}]) end. +%% G = fun(SUITE, GROUP) -> ct:run_test([{suite, SUITE}, {group, GROUP}]) end. +%% T = fun(TC) -> ts:run(kernel, megaco_load_SUITE, TC, [batch]) end. +%% T = fun(TC) -> ct:run_test([{suite, megaco_load_SUITE}, {testcase, TC}]) end. +%% T = fun(TC) -> ct:run_test([{suite, megaco_load_SUITE}, {group, inet_backend_socket}, {testcase, TC}]) end. +%% T = fun(S, TC) -> ct:run_test([{suite, S}, {testcase, TC}]) end. +%% T = fun(S, G, TC) -> ct:run_test([{suite, S}, {group, G}, {testcase, TC}]) end. +%% +%%---------------------------------------------------------------------- +%% + -module(megaco_load_SUITE). -export([ diff --git a/lib/megaco/test/megaco_test_lib.erl b/lib/megaco/test/megaco_test_lib.erl index 1eab21ef5aae..727ea37e1131 100644 --- a/lib/megaco/test/megaco_test_lib.erl +++ b/lib/megaco/test/megaco_test_lib.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1999-2022. All Rights Reserved. +%% Copyright Ericsson AB 1999-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -64,6 +64,7 @@ stop_node/3, ping/1, ping/2, + which_inet_backend/1, is_socket_backend/1, inet_backend_opts/1, explicit_inet_backend/0, test_inet_backends/0, @@ -3150,25 +3151,17 @@ explicit_inet_backend() -> end. test_inet_backends() -> - case init:get_argument(megaco) of - {ok, SnmpArgs} when is_list(SnmpArgs) -> - test_inet_backends(SnmpArgs, atom_to_list(?FUNCTION_NAME)); - error -> - false - end. - -test_inet_backends([], _) -> - false; -test_inet_backends([[Key, Val] | _], Key) -> - case list_to_atom(string:to_lower(Val)) of - Bool when is_boolean(Bool) -> - Bool; + case application:get_all_env(megaco) of + Env when is_list(Env) -> + case lists:keysearch(test_inet_backends, 1, Env) of + {value, {test_inet_backends, true}} -> + true; + _ -> + false + end; _ -> - false - end; -test_inet_backends([_|Args], Key) -> - test_inet_backends(Args, Key). - + false + end. inet_backend_opts(Config) when is_list(Config) -> case lists:keysearch(socket_create_opts, 1, Config) of @@ -3178,13 +3171,16 @@ inet_backend_opts(Config) when is_list(Config) -> [] end. -is_socket_backend(Config) when is_list(Config) -> +which_inet_backend(Config) -> case lists:keysearch(socket_create_opts, 1, Config) of - {value, {socket_create_opts, [{inet_backend, socket}]}} -> - true; + {value, {socket_create_opts, [{inet_backend, Backend}]}} -> + Backend; _ -> - false + default end. + +is_socket_backend(Config) when is_list(Config) -> + (which_inet_backend(Config) =:= socket). open(Config, Pid, Opts) diff --git a/lib/megaco/test/megaco_test_lib.hrl b/lib/megaco/test/megaco_test_lib.hrl index 5f5a26adf9a7..46bffdf81807 100644 --- a/lib/megaco/test/megaco_test_lib.hrl +++ b/lib/megaco/test/megaco_test_lib.hrl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1999-2022. All Rights Reserved. +%% Copyright Ericsson AB 1999-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -118,6 +118,7 @@ -define(INET_BACKEND_OPTS(C), ?LIB:inet_backend_opts(C)). -define(EXPLICIT_INET_BACKEND(), ?LIB:explicit_inet_backend()). -define(TEST_INET_BACKENDS(), ?LIB:test_inet_backends()). +-define(WHICH_INET_BACKEND(C), ?LIB:which_inet_backend(C)). -define(IS_SOCKET_BACKEND(C), ?LIB:is_socket_backend(C)). -define(OPEN(C, P, O), ?LIB:open(C, P, O)). @@ -142,6 +143,6 @@ io:format(user, "~n*** ~s *** case ~w:~w end~n~n", [?FTS(), ?MODULE, C])). --define(UNIQUE(__PreName__), +-define(UNIQUE(PreName), list_to_atom( - ?F("~w_~w", [__PreName__, erlang:system_time(millisecond)]))). + ?F("~w_~w", [(PreName), erlang:system_time(millisecond)]))). diff --git a/lib/megaco/test/megaco_udp_SUITE.erl b/lib/megaco/test/megaco_udp_SUITE.erl index 461b56fad446..40b542ffdf06 100644 --- a/lib/megaco/test/megaco_udp_SUITE.erl +++ b/lib/megaco/test/megaco_udp_SUITE.erl @@ -1118,8 +1118,10 @@ server_open(Config, #{transport_ref := Ref} = State, Options) "~n ControlPid: ~p", [Socket, ControlPid]), {ok, State#{handle => {socket, Socket}, % Temporary control_pid => ControlPid}}; - {error, {could_not_open_udp_port, eaddrinuse}} -> - {skip, {server, eaddrinuse}}; + {error, {could_not_open_udp_port, SkipReason}} + when (SkipReason =:= eaddrinuse) orelse + (SkipReason =:= eacces) -> + {skip, {server, SkipReason}}; {error, _} = ERROR -> ERROR catch @@ -1233,8 +1235,10 @@ client_open(Config, #{transport_ref := Ref} = State, Options) {ok, State#{handle => {socket, Socket}, socket => Socket, control_pid => ControlPid}}; - {error, {could_not_open_udp_port, eaddrinuse}} -> - {skip, {client, eaddrinuse}}; + {error, {could_not_open_udp_port, SkipReason}} + when (SkipReason =:= eaddrinuse) orelse + (SkipReason =:= eacces) -> + {skip, {client, SkipReason}}; {error, _} = ERROR -> ERROR catch diff --git a/lib/mnesia/src/mnesia_backup.erl b/lib/mnesia/src/mnesia_backup.erl index 2cbf164b9f63..7603b66e1c01 100644 --- a/lib/mnesia/src/mnesia_backup.erl +++ b/lib/mnesia/src/mnesia_backup.erl @@ -79,7 +79,6 @@ open_write(OpaqueData) -> File = OpaqueData, Tmp = lists:concat([File,".BUPTMP"]), file:delete(Tmp), - file:delete(File), case disk_log:open([{name, make_ref()}, {file, Tmp}, {repair, false}, @@ -112,6 +111,7 @@ commit_write(OpaqueData) -> ok -> case disk_log:close(B#backup.file_desc) of ok -> + file:delete(B#backup.file), case file:rename(B#backup.tmp_file, B#backup.file) of ok -> {ok, B#backup.file}; diff --git a/lib/mnesia/test/README b/lib/mnesia/test/README index 30a0d2fd6426..ee4220689b1d 100644 --- a/lib/mnesia/test/README +++ b/lib/mnesia/test/README @@ -41,13 +41,13 @@ evil for mnesia_evil_coverage_test etc. In order to be able to run the test suite, the Erlang node must be started with the distribution enabled and the code path must be set to the mnesia/ebin, mnesia/examples, and mnesia/test -directories. E.g. the following would do: +directories. Running the following in this directory would do: + top=$ERL_TOP/lib/mnesia erl -sname a -pa $top/examples -pa $top/src -pa $top/ebin -where $top is the path to the Mnesia installation. Many test -cases needs 2 or 3 nodes. The node names may explicitly be -stated as test suite configuration parameters, but by default +Many test cases need 2 or 3 nodes. The node names may explicitly +be stated as test suite configuration parameters, but by default the extra node names are generated. In this example the names will be: a, a1 and a2. It is enough to start the first node manually, the extra nodes will automatically be started if @@ -95,10 +95,12 @@ commit protocols work it is essential that it is possible to ensure that we are able to kill Mnesia in the most critical situations. Normally Mnesia is compiled with the debug functions disabled and this means that test cases which -requires this functionality will be skipped. The mnesia:ni(), -mentioned above, functions ensures that the interpreted code is -instrumented with Mnesia's debug functionality. The mnesia:nc() -functions compiles Mnesia with the debug setting enabled. +require this functionality will be skipped. To compile mnesia +with debug functionality, (re-)compile it with erlc flag +"-Ddebug", for instance, with make: + + make clean + make ERLC=$(pwd)/../../bin/erlc ERL_COMPILE_FLAGS="-Ddebug" Happy bug hunting! diff --git a/lib/mnesia/test/mnesia_evil_backup.erl b/lib/mnesia/test/mnesia_evil_backup.erl index 45b11f2f3f27..7901b9149ac6 100644 --- a/lib/mnesia/test/mnesia_evil_backup.erl +++ b/lib/mnesia/test/mnesia_evil_backup.erl @@ -141,7 +141,7 @@ global_backup_checkpoint(Config) when is_list(Config) -> ?match(ok, mnesia:backup_checkpoint(cp_name, File)), ?match({error, _}, mnesia:backup_checkpoint(cp_name_nonexist, File)), ?match(ok, mnesia:backup_checkpoint(cp_name, File2, mnesia_backup)), - ?match({error, _}, file:delete(File)), + ?match(ok, file:delete(File)), ?match(ok, file:delete(File2)), ?verify_mnesia(Nodes, []). @@ -761,7 +761,10 @@ sops_with_checkpoint(Config) when is_list(Config) -> ?match(ok, mnesia:dirty_write({Tab,8,-8})), ?match({atomic,ok}, mnesia:delete_table(Tab)), + ?match(true, filelib:is_file(File2)), ?match({error,_}, mnesia:backup_checkpoint(cp2, File2)), + ?match(true, filelib:is_file(File2)), + ?match({'EXIT',_}, mnesia:dirty_write({Tab,9,-9})), ?match({atomic,_}, mnesia:restore(File1, [{default_op, recreate_tables}])), @@ -772,6 +775,7 @@ sops_with_checkpoint(Config) when is_list(Config) -> end end, [Test(N) || N <- mnesia:dirty_all_keys(Tab)], + ok = file:delete(File2), ?match({aborted,enoent}, mnesia:restore(File2, [{default_op, recreate_tables}])), %% Mnesia crashes when deleting a table during backup diff --git a/lib/observer/src/observer_trace_wx.erl b/lib/observer/src/observer_trace_wx.erl index 5b4e98a90974..0425bfc166b6 100644 --- a/lib/observer/src/observer_trace_wx.erl +++ b/lib/observer/src/observer_trace_wx.erl @@ -398,6 +398,10 @@ handle_event(#wx{id=Id, obj=LogWin, event=Ev}, {noreply, State} end; +handle_event(#wx{id=?wxID_CLOSE, obj=Obj, event=#wxCommand{type=command_menu_selected}}, State) -> + wxWindow:close(Obj, []), + {noreply, State}; + handle_event(#wx{id=?LOG_CLEAR, userData=TCtrl}, State) -> wxTextCtrl:clear(TCtrl), {noreply, State}; @@ -697,7 +701,7 @@ handle_event(#wx{id=?REMOVE_NODES}, #state{n_view=Nview, nodes=Ns0} = State) -> {noreply, State#state{nodes = Ns}}; handle_event(#wx{id=ID, event = What}, State) -> - io:format("~p:~p: Unhandled event: ~p, ~tp ~n", [?MODULE, ?LINE, ID, What]), + io:format(user,"~p:~p: Unhandled event: ~p, ~tp ~n", [?MODULE, ?LINE, ID, What]), {noreply, State}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/lib/observer/test/crashdump_helper.erl b/lib/observer/test/crashdump_helper.erl index 8a5dd1011c5e..7d9558a8957f 100644 --- a/lib/observer/test/crashdump_helper.erl +++ b/lib/observer/test/crashdump_helper.erl @@ -25,7 +25,7 @@ dump_persistent_terms/0, create_persistent_terms/0, dump_global_literals/0]). --compile(r22). +-compile(r24). -include_lib("common_test/include/ct.hrl"). n1_proc(N2,Creator) -> diff --git a/lib/public_key/doc/src/public_key_app.xml b/lib/public_key/doc/src/public_key_app.xml index 497c4fbd77a1..e21b368f90c2 100644 --- a/lib/public_key/doc/src/public_key_app.xml +++ b/lib/public_key/doc/src/public_key_app.xml @@ -47,7 +47,7 @@ Supports DSS - Digital Signature Standard (DSA - Digital Signature Algorithm) Supports - PKCS-3 - + PKCS-3 - Diffie-Hellman Key Agreement Standard Supports PKCS-5 - Password-Based Cryptography Standard diff --git a/lib/public_key/src/pubkey_cert.erl b/lib/public_key/src/pubkey_cert.erl index 4d448fd42c75..be9a5969069b 100644 --- a/lib/public_key/src/pubkey_cert.erl +++ b/lib/public_key/src/pubkey_cert.erl @@ -411,9 +411,8 @@ match_name(emailAddress, Name, [PermittedName | Rest]) -> match_name(dNSName, Name, [PermittedName | Rest]) -> Fun = fun(Domain, [$.|Domain]) -> true; (Name1,Name2) -> - lists:suffix(string:to_lower(Name2), - string:to_lower(Name1)) - end, + is_suffix(Name2, Name1) + end, match_name(Fun, Name, [$.|PermittedName], Rest); match_name(x400Address, OrAddress, [PermittedAddr | Rest]) -> @@ -561,11 +560,11 @@ root_cert(Name, Opts) -> %%-------------------------------------------------------------------- do_normalize_general_name(Issuer) -> Normalize = fun([{Description, Type, {printableString, Value}}]) -> - NewValue = string:to_lower(strip_spaces(Value)), - [{Description, Type, {printableString, NewValue}}]; - (Atter) -> - Atter - end, + NewValue = string:casefold(strip_spaces(Value, false)), + [{Description, Type, {printableString, NewValue}}]; + (Atter) -> + Atter + end, lists:map(Normalize, Issuer). %% See rfc3280 4.1.2.6 Subject: regarding emails. @@ -718,14 +717,28 @@ is_dir_name(_,[],false) -> is_dir_name(_,_,_) -> false. -is_dir_name2(Value, Value) -> true; -is_dir_name2({printableString, Value1}, {printableString, Value2}) -> - string:to_lower(strip_spaces(Value1)) =:= - string:to_lower(strip_spaces(Value2)); -is_dir_name2({utf8String, Value1}, String) -> - is_dir_name2({printableString, unicode:characters_to_list(Value1)}, String); -is_dir_name2(String, {utf8String, Value1}) -> - is_dir_name2(String, {printableString, unicode:characters_to_list(Value1)}); +%% attribute values in types other than PrintableString are case +%% sensitive (this permits matching of attribute values as binary +%% objects); that is term comparison will compare. Rules origninate +%% from RFC 3280 section 4.1.24. However fallback to case insensite +%% matching also for utf8 strings, as this is done by the +%% pkits_suite interop suite +is_dir_name2(Str, Str) -> + true; +is_dir_name2({T1, Str1}, Str2) + when T1 == printableString; T1 == utf8String -> + is_dir_name2(Str1, Str2); +is_dir_name2(Str1, {T2, Str2}) + when T2 == printableString; T2 == utf8String -> + is_dir_name2(Str1, Str2); +is_dir_name2(Str1, Str2) + when (is_list(Str1) orelse is_binary(Str1)) andalso + (is_list(Str2) orelse is_binary(Str2)) -> + %%attribute values in PrintableString are compared after + %%removing leading and trailing white space and converting internal + %%substrings of one or more consecutive white space characters to a + %%single space. They are case insensetive. + string:equal(strip_spaces(Str1, true), strip_spaces(Str2, true), true); is_dir_name2(_, _) -> false. @@ -743,13 +756,19 @@ decode_general_name([{directoryName, Issuer}]) -> decode_general_name([{_, Issuer}]) -> Issuer. -%% Strip all leading and trailing spaces and make -%% sure there is no double spaces in between. -strip_spaces(String) -> - NewString = - lists:foldl(fun(Char, Acc) -> Acc ++ Char ++ " " end, [], - string:tokens(String, " ")), - string:strip(NewString). +strip_spaces(String0, KeepDeep) -> + Trimmed = string:trim(String0), + strip_many_spaces(string:split(Trimmed, " ", all), KeepDeep). + +strip_many_spaces([OnlySingleSpace], _) -> + OnlySingleSpace; +strip_many_spaces(Strings, KeepDeep) -> + Split = [string:trim(Str, leading, " ") || Str <- Strings, Str /= []], + DeepList = lists:join(" ", Split), + case KeepDeep of + true -> DeepList; + false -> unicode:characters_to_list(DeepList) + end. %% No extensions present validate_extensions(OtpCert, asn1_NOVALUE, ValidationState, ExistBasicCon, @@ -1099,9 +1118,9 @@ is_valid_email_address(Canditate, Permitted, [_, _]) -> case_insensitive_match(Canditate, Permitted). is_suffix(Suffix, Str) -> - lists:suffix(string:to_lower(Suffix), string:to_lower(Str)). + lists:suffix(string:casefold(Suffix), string:casefold(Str)). case_insensitive_match(Str1, Str2) -> - string:to_lower(Str1) == string:to_lower(Str2). + string:equal(Str1, Str2, true). is_or_address(Address, Canditate) -> %% TODO: Is case_insensitive_match sufficient? diff --git a/lib/public_key/src/pubkey_os_cacerts.erl b/lib/public_key/src/pubkey_os_cacerts.erl index 93f0e48353ac..4d577fd63e6e 100644 --- a/lib/public_key/src/pubkey_os_cacerts.erl +++ b/lib/public_key/src/pubkey_os_cacerts.erl @@ -23,7 +23,7 @@ -module(pubkey_os_cacerts). -include("public_key.hrl"). --export([load/0, load/1, get/0, clear/0]). +-export([load/0, load/1, get/0, clear/0, format_error/2]). -on_load(on_load/0). -nifs([os_cacerts/0]). @@ -35,8 +35,16 @@ get() -> case persistent_term:get(?MODULE, not_loaded) of not_loaded -> - ok = load(), - persistent_term:get(?MODULE); + case load() of + ok -> + persistent_term:get(?MODULE); + {error, Reason} -> + erlang:error( + {failed_load_cacerts, conv_error_reason(Reason)}, + none, + [{error_info, #{cause => Reason, module => ?MODULE}}] + ) + end; CaCerts -> CaCerts end. @@ -216,3 +224,35 @@ load_nif() -> end; Error1 -> Error1 end. + +%%% +%%% Error Handling +%%% + +conv_error_reason(enoent) -> enoent; +conv_error_reason({enotsup, _OS}) -> enotsup; +conv_error_reason({eopnotsupp, _Reason}) -> eopnotsupp; +conv_error_reason({eopnotsupp, _Status, _Acc}) -> eopnotsupp. + +-spec format_error(Reason, StackTrace) -> ErrorMap when + Reason :: term(), + StackTrace :: erlang:stacktrace(), + ErrorMap :: #{pos_integer() => unicode:chardata(), + general => unicode:chardata(), + reason => unicode:chardata()}. + +format_error(Reason, [{_M, _F, _As, Info} | _]) -> + ErrorInfoMap = proplists:get_value(error_info, Info, #{}), + Cause = maps:get(cause, ErrorInfoMap, none), + Message = case Cause of + enoent -> + "operating system CA bundle could not be located"; + {enotsup, OS} -> + io_lib:format("operating system ~p is not supported", [OS]); + {eopnotsupp, SubReason} -> + io_lib:format("operation failed because of ~p", [SubReason]); + {eopnotsupp, Status, _Acc} -> + io_lib:format("operation failed with status ~B", [Status]) + end, + #{general => io_lib:format("Failed to load cacerts: ~s", [Message]), + reason => io_lib:format("~p: ~p", [?MODULE, Reason])}. diff --git a/lib/public_key/src/public_key.erl b/lib/public_key/src/public_key.erl index 8c3805c2199a..33b404089a0f 100644 --- a/lib/public_key/src/public_key.erl +++ b/lib/public_key/src/public_key.erl @@ -160,7 +160,7 @@ -type oid() :: tuple(). -type cert_id() :: {SerialNr::integer(), issuer_name()} . -type issuer_name() :: {rdnSequence,[[#'AttributeTypeAndValue'{}]]} . --type bad_cert_reason() :: cert_expired | invalid_issuer | invalid_signature | name_not_permitted | missing_basic_constraint | invalid_key_usage | {revoked, crl_reason()} | atom(). +-type bad_cert_reason() :: cert_expired | invalid_issuer | invalid_signature | name_not_permitted | missing_basic_constraint | invalid_key_usage | duplicate_cert_in_path | {revoked, crl_reason()} | atom(). -type combined_cert() :: #cert{}. -type cert() :: der_cert() | otp_cert(). @@ -1161,7 +1161,12 @@ pkix_path_validation(#'OTPCertificate'{} = TrustedCert, CertChain, Options) MaxPathDefault, [{verify_fun, {VerifyFun, UserState1}} | proplists:delete(verify_fun, Options)]), - path_validation(CertChain, ValidationState) + case exists_duplicate_cert(CertChain) of + true -> + {error, {bad_cert, duplicate_cert_in_path}}; + false -> + path_validation(CertChain, ValidationState) + end catch throw:{bad_cert, _} = Result -> {error, Result} @@ -1553,6 +1558,20 @@ do_pem_entry_decode({Asn1Type,_, _} = PemEntry, Password) -> Der = pubkey_pem:decipher(PemEntry, Password), der_decode(Asn1Type, Der). +%% The only way a path with duplicates could be somehow wrongly +%% passed is if the certs are located together and also are +%% self-signed. This is what we need to possible protect against. We +%% only check for togetherness here as it helps with the case not +%% otherwise caught. It can result in a different error message for +%% cases already failing before but that is not important, the +%% important thing is that it will be rejected. +exists_duplicate_cert([]) -> + false; +exists_duplicate_cert([Cert, Cert | _]) -> + true; +exists_duplicate_cert([_ | Rest]) -> + exists_duplicate_cert(Rest). + path_validation([], #path_validation_state{working_public_key_algorithm = Algorithm, working_public_key = diff --git a/lib/public_key/test/pkits_SUITE.erl b/lib/public_key/test/pkits_SUITE.erl index ca722919a9bf..baa212ff65af 100644 --- a/lib/public_key/test/pkits_SUITE.erl +++ b/lib/public_key/test/pkits_SUITE.erl @@ -379,7 +379,7 @@ string_name_chain() -> [{doc,"Test name chaining"}]. string_name_chain(Config) when is_list(Config) -> run([{ "4.3.9", "Valid UTF8String Encoded Names Test9 EE", ok}, - %%{ "4.3.10", "Valid Rollover from PrintableString to UTF8String Test10 EE", ok}, + { "4.3.10", "Valid Rollover from PrintableString to UTF8String Test10 EE", ok}, { "4.3.11", "Valid UTF8String Case Insensitive Match Test11 EE", ok}]). %%----------------------------verifying_paths_with_self_issued_certificates------------------------------------------------- @@ -1478,7 +1478,8 @@ intermidiate_cas(Chap) when Chap == "4.5.8" -> %%%%%%%%%%%%%%% CRL mappings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - +crl_names("4.3.10") -> + ["PrintableString to UTF8String CA CRL"]; crl_names("4.4.1") -> ["Trust Anchor Root CRL"]; crl_names("4.4.2") -> diff --git a/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/RolloverfromPrintableStringtoUTF8StringCACert.pem b/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/RolloverfromPrintableStringtoUTF8StringCACert.pem index 17e4e8259c01..e8cdc66af538 100644 --- a/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/RolloverfromPrintableStringtoUTF8StringCACert.pem +++ b/lib/public_key/test/pkits_SUITE_data/pkits/smime-pem/RolloverfromPrintableStringtoUTF8StringCACert.pem @@ -1,61 +1,61 @@ Bag Attributes - localKeyID: E0 D4 12 A0 DC 4B 51 3E 01 68 B3 B7 0B E0 32 00 08 50 CE D5 + localKeyID: 0C 0E C1 9B 90 D2 60 B1 D6 2E 75 B6 8E 45 8D 0A 57 3E 9D 54 friendlyName: Rollover from PrintableString to UTF8String CA Cert -subject=/C=US/O=Test Certificates 2011/CN=Rollover from PrintableString to UTF8String CA -issuer=/C=US/O=Test Certificates 2011/CN=Rollover from PrintableString to UTF8String CA +subject=C = US, O = Test Certificates 2011, CN = Rollover from PrintableString to UTF8String CA +issuer=C = US, O = Test Certificates 2011, CN = Trust Anchor -----BEGIN CERTIFICATE----- -MIIDnjCCAoagAwIBAgIBADANBgkqhkiG9w0BAQsFADBnMQswCQYDVQQGEwJVUzEf -MB0GA1UECgwWVGVzdCBDZXJ0aWZpY2F0ZXMgMjAxMTE3MDUGA1UEAwwuUm9sbG92 -ZXIgZnJvbSBQcmludGFibGVTdHJpbmcgdG8gVVRGOFN0cmluZyBDQTAeFw0xMDAx -MDEwODMwMDBaFw0zMDEyMzEwODMwMDBaMGcxCzAJBgNVBAYTAlVTMR8wHQYDVQQK -DBZUZXN0IENlcnRpZmljYXRlcyAyMDExMTcwNQYDVQQDDC5Sb2xsb3ZlciBmcm9t -IFByaW50YWJsZVN0cmluZyB0byBVVEY4U3RyaW5nIENBMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEAuEETE+kVGfvnJPPJHUxpy7khkrkcBdQPlj2HTZ9i -LbYRvpIAC+Qa2lAVwzAwshljKfoGD6ZuL0sHATtKDC0/+iyDTOG7UJCGesmbO90Y -bgLR/j7fT9RNMND0BEycIOhBukZ4FkjKWU3+KFjQjMa9nUGECoNXyjYnKTAYj07X -sR+rsMgmzRm2TzALDArS6D+toFAs8DbNbtT882ZsE1h8O9VmN5GkWzrEVBzDGiKo -GUAt9P/ZmNVjx4gW5pB0MxacAvK+HxohxcF/y1gRZ3zp2dccZiirFK9GoCst0pDM -qqEgDRyTTK2a7hZkLtmVRNp2VIh7x5+hk41UnOELKoRErwIDAQABo1UwUzAJBgNV -HSMEAjAAMB0GA1UdDgQWBBS1bU8oP8e7sZikqaXQqFteSnSz5zAOBgNVHQ8BAf8E -BAMCBPAwFwYDVR0gBBAwDjAMBgpghkgBZQMCATABMA0GCSqGSIb3DQEBCwUAA4IB -AQA4KPELZ6+9+ZDvahZzIrH+QTAWJg50Y4xbi9Zhs739Q4F0TGrzwvXIpCcTY5iC -IrIBWHSqiE9cEEShxnY+sdGdAgtW7oJdRnVl3JfuNW9moIueVdvk5CbVGGdMzPIu -FfhNwLUHfpSrUKek+nWpWPIoMpQCmMVbIXVMRbjL7yFJZB4kNxo1650+Er4Kdjzq -TnedRp+n2+Lm1M4AxLUgJ/StrD6b1WkSjI3LgiqFLxdwOeH/Im99UEUyTulhSUCI -ZeoOali6JrtcsuMwtE0su8xLuEuHgCuHV3rh54ekfiEFmgUOuviiUSoYU8WoFk0O -ds/hkFuM1qLbRxFJU4h1AfKz +MIIDozCCAougAwIBAgIBYzANBgkqhkiG9w0BAQsFADBFMQswCQYDVQQGEwJVUzEf +MB0GA1UEChMWVGVzdCBDZXJ0aWZpY2F0ZXMgMjAxMTEVMBMGA1UEAxMMVHJ1c3Qg +QW5jaG9yMB4XDTEwMDEwMTA4MzAwMFoXDTMwMTIzMTA4MzAwMFowZzELMAkGA1UE +BhMCVVMxHzAdBgNVBAoTFlRlc3QgQ2VydGlmaWNhdGVzIDIwMTExNzA1BgNVBAMT +LlJvbGxvdmVyIGZyb20gUHJpbnRhYmxlU3RyaW5nIHRvIFVURjhTdHJpbmcgQ0Ew +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4QRMT6RUZ++ck88kdTGnL +uSGSuRwF1A+WPYdNn2ItthG+kgAL5BraUBXDMDCyGWMp+gYPpm4vSwcBO0oMLT/6 +LINM4btQkIZ6yZs73RhuAtH+Pt9P1E0w0PQETJwg6EG6RngWSMpZTf4oWNCMxr2d +QYQKg1fKNicpMBiPTtexH6uwyCbNGbZPMAsMCtLoP62gUCzwNs1u1PzzZmwTWHw7 +1WY3kaRbOsRUHMMaIqgZQC30/9mY1WPHiBbmkHQzFpwC8r4fGiHFwX/LWBFnfOnZ +1xxmKKsUr0agKy3SkMyqoSANHJNMrZruFmQu2ZVE2nZUiHvHn6GTjVSc4QsqhESv +AgMBAAGjfDB6MB8GA1UdIwQYMBaAFOR9X9FclYYILAWuvnW2ZafZXahmMB0GA1Ud +DgQWBBS1bU8oP8e7sZikqaXQqFteSnSz5zAOBgNVHQ8BAf8EBAMCAQYwFwYDVR0g +BBAwDjAMBgpghkgBZQMCATABMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL +BQADggEBAEIpMIiOeUzWzRx5RExhSxK7MtakcVAbTjjlHWSlTuNWvkEpo6hbj5re +iUeRe3dt9mHKa2/rrTIfzd44IXmYGb/E+n7C1jzlxOTlUrHrVv+CHtANcON2lsNq +/ZtThy/HisC1FqEM2rQMfsSmHXzDwgsEFDCZU/wTbWZKig1oNpkUPLXa39IRqBIZ +WVu3HtxMAlFccm5Olp/gE0EvqFgzufYSllZU2khgkCaQjLlbqw9aSiNUZob+pY1v +asyGwpiBv9AqeYODTRd/2GCmkHTt2k8aEXoY2ICb6Wzqb9TDQG5Ea1h2y31C4UaY +HuU+qfxmwTT1sIiABlmkzTWaOWw5qmM= -----END CERTIFICATE----- Bag Attributes - localKeyID: E0 D4 12 A0 DC 4B 51 3E 01 68 B3 B7 0B E0 32 00 08 50 CE D5 + localKeyID: 0C 0E C1 9B 90 D2 60 B1 D6 2E 75 B6 8E 45 8D 0A 57 3E 9D 54 friendlyName: Rollover from PrintableString to UTF8String CA Cert Key Attributes: ------BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,9DDA760B90D3F5F4 - -odK0zz4yql9kRhptAZajKhjn8Z40phPXVyFw7Oa1H2W07aI8ebO7TFWG/woxEZC+ -AIx53YZA/Wqu4w+rSGokIXv7CMMmx0n1h3YGYE9nbS/Cvtqr02NF447J60Q8GGl1 -GRrOhSacfge3pKkdFZRZWgQwgcJgtZqLbPZI5rGkrqTc6h4AwRIhgNp9NdeSqKSn -T7abY80UwouSMjaefqARTomvPihqKnVA3SZlKXkxB2Gz8elW5UP5MfWuZZV0yBqq -NtegLaWeLKFKQOr99t21MUHFTD6vH5ELQr8XDHfYdDPTaMirhfySo+oUSa5ueE5M -x454cqPbxPJznKoQrAXtfLjRdoFPSN5G6s4paVP327cvHmtIOD1YYgwEtG77H35j -52lsSz4SOyBVWL0UfdnrlWmY3BaAg+HtfwkaacN+yFiPA/Eirgp8ImWn03GIbSwV -3Lx6ztmIuDs+ma0n+miGAtJrC5rmAW9tJdwE38q4K/tG5UBASK7D63zm5/z28Jkj -Wp8D6pmM4SnpTKJ4icARvIN2/BciEiuAUtlmqJel3YJhCDwcMbtdv1r2hyJSjwNx -d8YwX0HHvQrWU0/yxUcC/aZ/yonRZq3cCujcQlZTILFFHm2uqkJGwHPi+C3TTctw -Ct93ALYTDlq3YkIQwRY6jqluoDs4YgYlluE+cRv9a6+BnifwDeDnBikRFDhjEbqr -SpOYNG80P0e4ifuKgngQUuR71GkezCJ633lyerqeG2RsXDRwVpbK9279uEL8IooN -H8Ud4iQ4kXYUFDD7wRcUQy8Rz/4+DI6cixxhSmMR0/2ljEqDdtWpElnJQXoHgISP -kY5vj3BT4WyH6xhWbImRI4BKLHriPT8s3zzE4a0UhRsy1YTvoKBp3//JQxx9drb0 -U10OFHOQsU9+dpdGOWmdUhBDdPpOA/iE0CBjwgar6Z+kVmRgiA3YkFI7ezbc4G77 -2Ep4ZD5PLEqK/Lh8MjXY8ysok5Ki6hcclq7R2XyHld2K4RxHIxidQybjH+Rn0NEB -8RKF5ID5jTKaqe82ivCGpQ4NkbyqS5Vs9iml2yESOzQt8zKDbpoKO7WixBBWm0UJ -FdRKek9xZj8gBTDLnDgDaXXLy2ZAmuYHo+NNbjbkSaYx21LJ37pGqL00OqMNhKVQ -vLXaDHVrDVBqHKfnHlULNvR8tV1BH+BplyOebwawojgqSSwlIUCgkg54TC0TFBI+ -MpT71vFv9WzHQwGID5Lzxd0lC/I4osSCxERF2iZtyTdfWeSO8hbSKRea/jdt+DEc -BPMe/DZuV/QcvrLJhcJKD4Twp6LYyLp7OxcJBaHoBajIznIN97d1VTn6PFYdSIHg -exqDN/bULO6J/9gLrGlv3HgJzxmG9Zuk3xy81B3ua5Ke7/wkNIpmoInQxZuCH5ES -x/BdQv4XlakRy3Jw+26sZQKAkAV26YAgj1IUTUUa8WeHfTgXMYKLzcekPimWyu5E -JkeSjwaFBEf5978Tb3Fw9pM/OTB2dwt7XrZHbPVqdy9rZ3H38wUET42jTFX8QYpR -/ni1glyQZ2EVGAfyLMNp9w8YB2AKPiZ5y36ePJS6cawoSFZ+yIE1ZQ== ------END RSA PRIVATE KEY----- +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFLTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQIWyW1PlYjVf4CAggA +MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBAsNLFyz2zh0qbV6Y0JtPacBIIE +0HTGklhdBCHN9wb4WuGM+WE7nq9ovuEZRyCh8lYjEvjW7KbxP1D0hSuEeSyT9Iq7 +RRFeOHLGxLhrHWxz5lNDFb0STJUdUv7TbbU2HCTVVVUTp8WfRMobDcRSYeFOHIfa +vussU5FU0l/A86MOXzZkQD7MpTusIUeODaxeeDnOxCSbIpROCH9dduHt9O3wdnyT +2YRtK1rovm1ID0Zk/p0gbQLojkw0EQ+DDJhXW/yVYwAMoydwaOLO4zZSIbfKAv0v +6xhjpmpLme8x+bbI4Jt1syP6kakvaYeHjvF/TDiWm5+fZmMtTuFxwiWKfYGEf2LW +flxPQFdx66PjRfi4TCCQgLH/B77XdQ+Vdv7PKjltVZOgglP9Gt7+CfKw8pZhk9iU +Dtws8Vz9x1YDVCZg37c7IL3Vg9p0hwpXsyG1vey1Hz+7gNyqs09EfpyOvV/ZoeDc +p0Hf9O4ny0dEU6jncsLBKNVAMitXRDW6Rcxv8DNqy7Z7fJWZE6n+qlLiW//tApDa +zJD2TZSV2jeFQNiP9FAEtjoixFDKt20SpZVFGC5cblI0izXNaJhMAIIGR9pKeAh6 +GheX/MYxxUwTq0MunFmpJli4k3LjdrKXUrwN9ByK5jDjauL9l5EtGVJICwO6ybQV +OYlT5ZvKesd87S9TCK76VM5rcjQGNmpmalndw/dXsRI1M+qHrO/jORJcsHOSH8PT +ToLO6G1pNdWF4zeZY0hH5sMDjBBo2kcvagHzAK3iHd90orspowUcRq4ybW1+jrek +PbTLDYaUpW302kXlCYYvmDdu8fwRCHKGPOI6mqNCgRs01jmBV104DbXFydaXU9d4 +ibP328EYpGn+/fcpkajyVMQq9YaF9JqAlN8S3cFCv7wwSfrGrG4pxmxhravFI9Qq +t03Fn6iQLoQw8l/8zT4tz7KG77+k30ioLS4XcFshCyk+WwHQ2HE57RLyGwP7hc2W +zTmM198UYs/Zx+OYtzuYgTHkNARz+kmRdXfUuO25GPAhLTezk1xnVFX1eJLzIAtE +Bb8XYIkB17/gdSGsohmFg6T7N+l6whLd0XwmVZ8ruHsRHzf30UH6X9dM7Pl5ySlg +dmSI06eVsqpiiYcX2JhHhOrkVlYlyGRiO7Wi4YIocvPjAbbdpQga12OQcIkWUVYl +21+lJ7KCwjY5eXmu932RfkkGcZXRupLLg2QV3c0KP3io1lKzPrRjOlZjyzXXz2sk +gbg4g3jKTv8aM7DHxVa/leHIm0EDM3MNpu+ar4mbnkph9tbrFZLevruv+rNFMFNY +3a+7F0up3YTwngKtjoV/hq1A0wvqaF6H+6h5Ih80sgdW0iVr/6/OPXXgNNKfK3lV +HLvwrj/rNJ9IQcD2h/sbUIyj76ql+Yn3UNQfv1zMLQWijQhVO1ToZiIPn/j1dghZ +awadnvL9VnaFw+TqVft7QnM8SEf4+poVzWfgKKhdCgLbQiVtWXpHMHS1lahHzhON +PV4Pjha7VQsGFwZusqS/5EwqzRtQmSL69ESfzw1ohinmFozIhPCHuJ5qZ5XJcs14 +jWiwX6cryEvzcWDTAN26xoScFczn19Kc2CLPQlTN8R1olhYYNSzl0EnMLDIBMOVX +PCkZ7VIWTLWNOMBj/iv80EduPtOwzZ5+ibCRjDRyYbc+ +-----END ENCRYPTED PRIVATE KEY----- diff --git a/lib/public_key/test/public_key_SUITE.erl b/lib/public_key/test/public_key_SUITE.erl index 1a779e03bdee..7cb8ceddd416 100644 --- a/lib/public_key/test/public_key_SUITE.erl +++ b/lib/public_key/test/public_key_SUITE.erl @@ -117,6 +117,8 @@ pkix_test_data_all_default/1, pkix_test_data/0, pkix_test_data/1, + pkix_is_issuer/0, + pkix_is_issuer/1, short_cert_issuer_hash/0, short_cert_issuer_hash/1, short_crl_issuer_hash/0, @@ -167,6 +169,7 @@ all() -> pkix_dist_point_uri, pkix_test_data_all_default, pkix_test_data, + pkix_is_issuer, short_cert_issuer_hash, short_crl_issuer_hash, cacerts_load @@ -836,8 +839,12 @@ pkix_path_validation(Config) when is_list(Config) -> {error, {bad_cert,invalid_issuer}} = public_key:pkix_path_validation(Trusted, [Cert2], []), - + {ok, _} = public_key:pkix_path_validation(Trusted, [Cert1, Cert2], []), + + {error, {bad_cert, duplicate_cert_in_path}} = + public_key:pkix_path_validation(Trusted, [Cert1, Cert1, Cert2], []), + {error, issuer_not_found} = public_key:pkix_issuer_id(Cert2, other), CertK3 = {Cert3,_} = erl_make_certs:make_cert([{issuer, CertK1}, @@ -1245,6 +1252,7 @@ pkix_test_data_all_default(Config) when is_list(Config) -> check_conf_member(ServerConf1, [key, cert, cacerts]), check_conf_member(ClientConf1, [key, cert, cacerts]). +%%-------------------------------------------------------------------- pkix_test_data() -> [{doc, "Test API function pkix_test_data/1"}]. @@ -1289,6 +1297,23 @@ check_conf_member(Conf, [Member | Rest]) -> ct:fail({misssing_conf, Member}) end. +%%-------------------------------------------------------------------- +pkix_is_issuer() -> + [{doc, "Test pubkey_cert:pkix_is_issuer with cert that have diffent cases on countryname"}]. + +pkix_is_issuer(Config) when is_list(Config) -> + Upper = {rdnSequence, + [[{'AttributeTypeAndValue',{2,5,4,6},"GB"}], + [{'AttributeTypeAndValue',{2,5,4,10},{utf8String,<<"MYORG">>}}], + [{'AttributeTypeAndValue',{2,5,4,11},{utf8String,<<"INTERMEDIATE">>}}], + [{'AttributeTypeAndValue',{2,5,4,3},{utf8String,<<"INTERMEDIATE">>}}]]}, + Lower = {rdnSequence, + [[{'AttributeTypeAndValue',{2,5,4,6},"gb"}], + [{'AttributeTypeAndValue',{2,5,4,10},{utf8String,<<"MYORG">>}}], + [{'AttributeTypeAndValue',{2,5,4,11},{utf8String,<<"INTERMEDIATE">>}}], + [{'AttributeTypeAndValue',{2,5,4,3},{utf8String,<<"INTERMEDIATE">>}}]]}, + true = pubkey_cert:is_issuer(Upper, Lower). + %%-------------------------------------------------------------------- short_cert_issuer_hash() -> [{doc, "Test OpenSSL-style hash for certificate issuer"}]. diff --git a/lib/reltool/doc/src/notes.xml b/lib/reltool/doc/src/notes.xml index 6cc06b521cce..43355a0b0140 100644 --- a/lib/reltool/doc/src/notes.xml +++ b/lib/reltool/doc/src/notes.xml @@ -508,10 +508,10 @@ A new sys level configuration parameter {excl_lib,otp_root} is added. When this is set, the target system will not contain anything from - $OTP_ROOT. It will only contain a releases + $OTPROOT. It will only contain a releases directory with rel, script and boot files, and a lib directory with applications found outside of - $OTP_ROOT (i.e. "your own" applications).

+ $OTPROOT (i.e. "your own" applications).

Own Id: OTP-9743

diff --git a/lib/reltool/doc/src/reltool.xml b/lib/reltool/doc/src/reltool.xml index ff05d72232d6..b71c1a21995a 100644 --- a/lib/reltool/doc/src/reltool.xml +++ b/lib/reltool/doc/src/reltool.xml @@ -237,11 +237,11 @@

This option is experimental.

If the excl_lib option is set to otp_root then reltool will not copy anything from the Erlang/OTP - installation ($OTP_ROOT) into the target structure. The goal + installation ($OTPROOT) into the target structure. The goal is to create a "slim" release which can be used together with an existing Erlang/OTP installation. The target structure will therefore only contain a lib directory with the - applications that were found outside of $OTP_ROOT (typically + applications that were found outside of $OTPROOT (typically your own applications), and a releases directory with the generated .rel, .script and .boot files.

@@ -251,14 +251,14 @@ Which releases directory to use Tell the release handler to use the releases directory in our target structure instead of - $OTP_ROOT/releases. This is done by setting the SASL + $OTPROOT/releases. This is done by setting the SASL environment variable releases_dir, either from the command line (-sasl releases_dir <target-dir>/releases) or in sys.config. Which boot file to use - The default boot file is $OTP_ROOT/bin/start, + The default boot file is $OTPROOT/bin/start, but in this case we need to specify a boot file from our target structure, typically <target-dir>/releases/<vsn>/<RelName>. This diff --git a/lib/reltool/src/reltool_target.erl b/lib/reltool/src/reltool_target.erl index 561f67c31bdd..b30edc5c368d 100644 --- a/lib/reltool/src/reltool_target.erl +++ b/lib/reltool/src/reltool_target.erl @@ -772,7 +772,7 @@ do_spec_rel_files(#rel{name = RelName} = Rel, Sys) -> case Sys#sys.excl_lib of otp_root -> %% All applications that are fetched from somewhere - %% other than $OTP_ROOT/lib will get $RELTOOL_EXT_LIB + %% other than $OTPROOT/lib will get $RELTOOL_EXT_LIB %% as path prefix in the .script file. [{"RELTOOL_EXT_LIB",LibDir} || LibDir <- Sys#sys.lib_dirs] ++ [{"RELTOOL_EXT_LIB",filename:dirname(AppLibDir)} || diff --git a/lib/runtime_tools/doc/src/instrument.xml b/lib/runtime_tools/doc/src/instrument.xml index 5acdb13dd42e..b2bbd9f230fb 100644 --- a/lib/runtime_tools/doc/src/instrument.xml +++ b/lib/runtime_tools/doc/src/instrument.xml @@ -54,8 +54,8 @@ that returned the histogram, and the last interval has no upper bound.

For example, the histogram below has 40 (message) blocks - between 256-512 bytes in size, 78 blocks between 512-1024 bytes,2 - blocks between 1-2KB, and 2 blocks between 2-4KB.

+ between 128-256 bytes in size, 78 blocks between 256-512 bytes,2 + blocks between 512-1024 bytes, and 2 blocks between 1-2KB.

instrument:allocations(#{ histogram_start => 128, histogram_width => 15 }). {ok, {128, 0, #{ message => {0,40,78,2,2,0,0,0,0,0,0,0,0,0,0}, ... } }} @@ -79,6 +79,9 @@ is the number of bytes that had to be skipped.

+ + + @@ -155,6 +158,12 @@

The number of intervals in the allocated block size histograms. Defaults to 18.

+ flags + +

Controls how to group the output, for example showing + allocations on a per-process basis (when possible) rather than + only a NIF/driver-basis. Defaults to [].

+

Example:

+ Allocations :: #{ Origin :: allocation_origin() => #{ Type :: atom() => block_histogram() }}}. +-type allocation_origin() :: atom() | mfa() | pid() | port(). + -spec allocations() -> {ok, Result} | {error, Reason} when Result :: allocation_summary(), Reason :: not_enabled. @@ -42,27 +49,64 @@ allocations() -> Options :: #{ scheduler_ids => list(non_neg_integer()), allocator_types => list(atom()), histogram_start => pos_integer(), - histogram_width => pos_integer() }. -allocations(Options) -> - Ref = make_ref(), + histogram_width => pos_integer(), + flags => [per_process | per_port | per_mfa] }. +allocations(Options0) -> + SchedIds = lists:seq(0, erts_internal:no_aux_work_threads() - 1), - Defaults = #{ scheduler_ids => lists:seq(0, erts_internal:no_aux_work_threads()-1), + Defaults = #{ scheduler_ids => SchedIds, allocator_types => erlang:system_info(alloc_util_allocators), histogram_start => 128, - histogram_width => 18 }, + histogram_width => 18, + flags => [] }, + Options = maps:merge(Defaults, Options0), + Flags = allocations_flags(Options), + + Ref = make_ref(), {HistStart, MsgCount} = - dispatch_gather(maps:merge(Defaults, Options), Ref, + dispatch_gather(Options, Flags, Ref, fun erts_internal:gather_alloc_histograms/1), - alloc_hist_receive(HistStart, MsgCount, Ref). + alloc_hist_receive(HistStart, MsgCount, Flags, Ref). + +allocations_flags(#{ flags := Flags }) -> + lists:foldl(fun(per_process, Acc) -> + Acc bor ?GATHER_AHIST_FLAG_PER_PID; + (per_port, Acc) -> + Acc bor ?GATHER_AHIST_FLAG_PER_PORT; + (per_mfa, Acc) -> + Acc bor ?GATHER_AHIST_FLAG_PER_MFA + end, 0, Flags). -alloc_hist_receive(_HistStart, 0, _Ref) -> +alloc_hist_receive(_HistStart, 0, _Flags, _Ref) -> {error, not_enabled}; -alloc_hist_receive(HistStart, MsgCount, Ref) when MsgCount > 0 -> - {Unscanned, Histograms} = alloc_hist_receive_1(MsgCount, Ref, 0, #{}), +alloc_hist_receive(HistStart, MsgCount, Flags, Ref) when MsgCount > 0 -> + {Unscanned, Histograms0} = + alloc_hist_receive_1(MsgCount, Ref, 0, #{}), + + Histograms = case (Flags band ?GATHER_AHIST_FLAG_PER_PID) =/= 0 of + true -> alloc_hist_registered(Histograms0); + false -> Histograms0 + end, + {ok, {HistStart, Unscanned, Histograms}}. +alloc_hist_registered(Histograms) -> + alloc_hist_registered_1(registered(), Histograms). + +alloc_hist_registered_1([Name | Names], Histograms0) -> + Pid = whereis(Name), + case Histograms0 of + #{ Pid := Hist } -> + Histograms = maps:remove(Pid, Histograms0), + alloc_hist_registered_1(Names, Histograms#{ Name => Hist }); + #{} -> + alloc_hist_registered_1(Names, Histograms0) + end; +alloc_hist_registered_1([], Histograms) -> + Histograms. + alloc_hist_receive_1(0, _Ref, Unscanned, Result) -> {Unscanned, Result}; alloc_hist_receive_1(MsgCount, Ref, Unscanned0, Result0) -> @@ -115,20 +159,28 @@ carriers() -> allocator_types => list(atom()), histogram_start => pos_integer(), histogram_width => pos_integer() }. -carriers(Options) -> - Ref = make_ref(), +carriers(Options0) -> + SchedIds = lists:seq(0, erts_internal:no_aux_work_threads() - 1), - Defaults = #{ scheduler_ids => lists:seq(0, erts_internal:no_aux_work_threads()-1), + Defaults = #{ scheduler_ids => SchedIds, allocator_types => erlang:system_info(alloc_util_allocators), histogram_start => 512, - histogram_width => 14 }, + histogram_width => 14, + flags => [] }, + Options = maps:merge(Defaults, Options0), + Flags = carriers_flags(Options), + + Ref = make_ref(), {HistStart, MsgCount} = - dispatch_gather(maps:merge(Defaults, Options), Ref, + dispatch_gather(Options, Flags, Ref, fun erts_internal:gather_carrier_info/1), carrier_info_receive(HistStart, MsgCount, Ref). +carriers_flags(#{ flags := Flags }) when length(Flags) >= 0 -> + 0. + carrier_info_receive(_HistStart, 0, _Ref) -> {error, not_enabled}; carrier_info_receive(HistStart, MsgCount, Ref) -> @@ -145,15 +197,15 @@ carrier_info_receive_1(MsgCount, Ref, Result0) -> dispatch_gather(#{ allocator_types := AllocatorTypes, scheduler_ids := SchedulerIds, histogram_start := HistStart, - histogram_width := HistWidth }, Ref, Gather) + histogram_width := HistWidth }, Flags, Ref, Gather) when is_list(AllocatorTypes), is_list(SchedulerIds), HistStart >= 1, HistStart =< (1 bsl 28), HistWidth >= 1, HistWidth =< 32 -> MsgCount = lists:sum( - [Gather({AllocatorType, SchedId, HistWidth, HistStart, Ref}) || + [Gather({AllocatorType, SchedId, HistWidth, HistStart, Flags, Ref}) || SchedId <- SchedulerIds, AllocatorType <- AllocatorTypes]), {HistStart, MsgCount}; -dispatch_gather(_, _, _) -> +dispatch_gather(_, _, _, _) -> error(badarg). diff --git a/lib/runtime_tools/test/instrument_SUITE.erl b/lib/runtime_tools/test/instrument_SUITE.erl index 8577794e5fb6..62cc1cda793f 100644 --- a/lib/runtime_tools/test/instrument_SUITE.erl +++ b/lib/runtime_tools/test/instrument_SUITE.erl @@ -65,9 +65,16 @@ allocations_test(Args, Plain, PerAlloc) -> [fun instrument:allocations/1, PerAlloc]), ok = rpc:call(Node, ?MODULE, test_format, [#{ histogram_start => 512, - histogram_width => 4 }, + histogram_width => 4, + flags => [] }, fun instrument:allocations/1, fun verify_allocations_output/2]), + ok = rpc:call(Node, ?MODULE, test_format, + [#{ histogram_start => 512, + histogram_width => 4, + flags => [per_process, per_port] }, + fun instrument:allocations/1, + fun verify_allocations_output/2]), ok = rpc:call(Node, ?MODULE, test_abort, [fun erts_internal:gather_alloc_histograms/1]) end). @@ -113,11 +120,24 @@ verify_allocations_output(#{}, {ok, {_, _, Allocs}}) when Allocs =:= #{} -> verify_allocations_output(#{}, {error, not_enabled}) -> ok; verify_allocations_output(#{ histogram_start := HistStart, - histogram_width := HistWidth }, + histogram_width := HistWidth, + flags := Flags }, {ok, {HistStart, _UnscannedBytes, ByOrigin}}) -> AllHistograms = lists:flatten([maps:values(ByType) || ByType <- maps:values(ByOrigin)]), + Origins = maps:keys(ByOrigin), + + PerProcess = lists:member(per_process, Flags), + PerProcess = lists:any(fun(K) -> is_pid(K) end, Origins), + + PerPort = lists:member(per_port, Flags), + PerPort = lists:any(fun(K) -> is_port(K) end, Origins), + + true = lists:all(fun(K) -> + is_pid(K) or is_port(K) or is_atom(K) + end, Origins), + %% Do the histograms look alright? HistogramSet = ordsets:from_list(AllHistograms), Verified = [H || H <- HistogramSet, @@ -277,7 +297,7 @@ test_abort(Gather) -> spawn_opt(fun() -> [begin Ref2 = make_ref(), - [Gather({Type, SchedId, 1, 1, Ref2}) || + [Gather({Type, SchedId, 1, 1, 0, Ref2}) || Type <- erlang:system_info(alloc_util_allocators), SchedId <- lists:seq(0, erlang:system_info(schedulers))] end || _ <- lists:seq(1,100)], diff --git a/lib/sasl/doc/src/appup.xml b/lib/sasl/doc/src/appup.xml index 9ed8e1299edd..c4b15c23b6ff 100644 --- a/lib/sasl/doc/src/appup.xml +++ b/lib/sasl/doc/src/appup.xml @@ -393,7 +393,7 @@ restart_new_emulator

As stated earlier, instruction restart_new_emulator causes the emulator to be restarted with new versions of - ERTS>, Kernel, STDLIB, and SASL. + ERTS, Kernel, STDLIB, and SASL. However, all other applications do at startup run their old versions in this new emulator. This is usually no problem, but every now and then incompatible changes occur to the diff --git a/lib/sasl/doc/src/sasl_app.xml b/lib/sasl/doc/src/sasl_app.xml index 039264ed1eee..039a4340cf92 100644 --- a/lib/sasl/doc/src/sasl_app.xml +++ b/lib/sasl/doc/src/sasl_app.xml @@ -54,7 +54,7 @@

Specifies the program to be used when restarting the system during release installation. Default is - $OTP_ROOT/bin/start.

+ $OTPROOT/bin/start.

@@ -84,7 +84,7 @@ The release handler writes all its files to this directory. If this parameter is not set, the OS environment parameter RELDIR is used. By default, this is - $OTP_ROOT/releases.

+ $OTPROOT/releases.

diff --git a/lib/sasl/test/release_handler_SUITE.erl b/lib/sasl/test/release_handler_SUITE.erl index 734b55155d7a..1203592eaa9e 100644 --- a/lib/sasl/test/release_handler_SUITE.erl +++ b/lib/sasl/test/release_handler_SUITE.erl @@ -3230,7 +3230,7 @@ create_fake_release(Dir,RelName,RelVsn,AppDirs) -> ok = copy_file(Rel++".boot", filename:join(RelDir,"start.boot")), %% Use an own 'releases' directory - we don't want to change the - %% contents of $OTP_ROOT/releases + %% contents of $OTPROOT/releases %% Inform SASL about this via sys.config ReleasesDir = filename:join(Dir, "releases"), Config = [{sasl,[{releases_dir,ReleasesDir}]}], diff --git a/lib/sasl/test/sasl_SUITE.erl b/lib/sasl/test/sasl_SUITE.erl index bbebce83ae57..313fa8d419cc 100644 --- a/lib/sasl/test/sasl_SUITE.erl +++ b/lib/sasl/test/sasl_SUITE.erl @@ -32,7 +32,7 @@ log_file/1, utc_log/1]). --compile(r22). +-compile(r24). all() -> [log_mf_h_env, log_file, app_test, appup_test, utc_log]. diff --git a/lib/snmp/doc/src/snmp_app.xml b/lib/snmp/doc/src/snmp_app.xml index 1400e7bf3265..9b0760ab5291 100644 --- a/lib/snmp/doc/src/snmp_app.xml +++ b/lib/snmp/doc/src/snmp_app.xml @@ -303,7 +303,7 @@ in the snmp_config file! {filter, agent_net_if_filter_options()} | {open_err_filters, agent_net_if_open_err_filters()} | {extra_sock_opts, extra_socket_options()} | - {inet_backend, inet | socket}

+ {inet_backend, inet_backend()}

These options are actually specific to the used module. The ones shown here are applicable to the default agent_net_if_module().

@@ -824,8 +824,8 @@ in the snmp_config file! {recbuf, recbuf()} | {no_reuse, no_reuse()} | {filter, manager_net_if_filter_options()} | - {extra_sock_opts, extra_socket_options()} | - {inet_backend, inet | socket}

+ {extra_sock_opts, extra_socket_options()}} | + {inet_backend, inet_backend()}

These options are actually specific to the used module. The ones shown here are applicable to the default manager_net_if_module().

@@ -968,6 +968,15 @@ in the snmp_config file!

Default is [].

+ + ]]> + +

Choose the inet-backend.

+

This option make it possible to use net_if (gen_udp) with a + different inet-backend ('inet' or 'socket').

+

Default is inet.

+
+ ]]> diff --git a/lib/snmp/doc/src/snmp_config.xml b/lib/snmp/doc/src/snmp_config.xml index 99324ed400ef..c82236e87d27 100644 --- a/lib/snmp/doc/src/snmp_config.xml +++ b/lib/snmp/doc/src/snmp_config.xml @@ -287,9 +287,9 @@ {no_reuse, no_reuse()} | {req_limit, req_limit()} | {filter, agent_net_if_filter_options()} | - {extra_sock_opts, extra_socket_options()} | {open_err_filters, agent_net_if_open_err_filters()} | - {inet_backend, inet | socket}

+ {extra_sock_opts, extra_socket_options()} | + {inet_backend, inet_backend()}

These options are actually specific to the used module. The ones shown here are applicable to the default agent_net_if_module().

@@ -841,13 +841,13 @@ in so far as it will be converted to the new format if found. ]]>

manager_net_if_option() = - {bind_to, bind_to()} | - {sndbuf, sndbuf()} | - {recbuf, recbuf()} | - {no_reuse, no_reuse()} | - {filter, manager_net_if_filter_options()} | - {extra_sock_opts, extra_socket_options()} | - {inet_backend, inet | socket}

+ {bind_to, bind_to()} | + {sndbuf, sndbuf()} | + {recbuf, recbuf()} | + {no_reuse, no_reuse()} | + {filter, manager_net_if_filter_options()} | + {extra_sock_opts, extra_socket_options()} | + {inet_backend, inet_backend()}

These options are actually specific to the used module. The ones shown here are applicable to the default manager_net_if_module().

@@ -990,6 +990,15 @@ in so far as it will be converted to the new format if found.

Default is [].

+ + ]]> + +

Choose the inet-backend.

+

This option make it possible to use net_if (gen_udp) with a + different inet-backend ('inet' or 'socket').

+

Default is inet.

+
+ ]]> diff --git a/lib/snmp/src/agent/snmpa_net_if.erl b/lib/snmp/src/agent/snmpa_net_if.erl index ce8cb8f0ee9c..56d50403e5f8 100644 --- a/lib/snmp/src/agent/snmpa_net_if.erl +++ b/lib/snmp/src/agent/snmpa_net_if.erl @@ -829,9 +829,12 @@ handle_udp_error(S, #transport{socket = Socket, try inet:sockname(Socket) of {ok, {IP, Port}} -> error_msg("UDP Error for transport: " - "~n Socket: ~p (~p, ~p)" + "~n Socket: ~s" + "~n Addr: ~p" + "~n Port: ~p" "~n Kind: ~p" - "~n Error: ~p", [Socket, IP, Port, Kind, Error]); + "~n Error: ~p", + [inet:socket_to_list(Socket), IP, Port, Kind, Error]); {error, _} -> error_msg("UDP Error for transport: " "~n Socket: ~p" @@ -2017,6 +2020,21 @@ socket_opts(Domain, {IpAddr, PortInfo}, SocketOpts, DefaultOpts) -> "~n SocketOpts: ~p" "~n DefaultOpts: ~p", [Domain, IpAddr, PortInfo, SocketOpts, DefaultOpts]), + {RequireBind, InetBackend} = + case get_inet_backend(SocketOpts, DefaultOpts) of + use_default -> + {false, []}; + Backend when (Backend =:= inet) -> + {false, [{inet_backend, Backend}]}; + Backend when (Backend =:= socket) -> + {case os:type() of + {win32, nt} -> + true; + _ -> + false + end, + [{inet_backend, Backend}]} + end, Opts = [binary | case snmp_conf:tdomain_to_family(Domain) of @@ -2025,7 +2043,8 @@ socket_opts(Domain, {IpAddr, PortInfo}, SocketOpts, DefaultOpts) -> Family -> [Family] end ++ - case get_bind_to_ip_address(SocketOpts, DefaultOpts) of + case RequireBind orelse + get_bind_to_ip_address(SocketOpts, DefaultOpts) of true -> [{ip, IpAddr}]; _ -> @@ -2058,13 +2077,6 @@ socket_opts(Domain, {IpAddr, PortInfo}, SocketOpts, DefaultOpts) -> "~n ~p", [BadESO]), [] end, - InetBackend = - case get_inet_backend(SocketOpts, DefaultOpts) of - use_default -> - []; - Backend when (Backend =:= inet) orelse (Backend =:= socket) -> - [{inet_backend, Backend}] - end, %% %% Ephm = get_ephemeral(SocketOpts), %% {Ephm, PortInfo, Opts}. diff --git a/lib/snmp/src/manager/snmpm_net_if.erl b/lib/snmp/src/manager/snmpm_net_if.erl index 96a8d7cab2db..c55a2cfd2e5a 100644 --- a/lib/snmp/src/manager/snmpm_net_if.erl +++ b/lib/snmp/src/manager/snmpm_net_if.erl @@ -292,14 +292,26 @@ do_init(Server, NoteStore) -> ?vdebug("DomainAddresses: ~w", [DomainAddresses]), CommonSocketOpts = common_socket_opts(Opts), BindTo = get_opt(Opts, bind_to, false), - InetBackend = case get_opt(Opts, inet_backend, use_default) of - use_default -> []; - IB -> [{inet_backend, IB}] - end, + {RequireBind, InetBackend} = + case get_opt(Opts, inet_backend, use_default) of + use_default -> + {false, []}; + IB when (IB =:= inet) -> + {false, [{inet_backend, IB}]}; + IB when (IB =:= socket) -> + {case os:type() of + {win32, nt} -> + true; + _ -> + false + end, + [{inet_backend, IB}]} + end, case [begin {IpPort, SocketOpts} = - socket_params(Domain, Address, BindTo, CommonSocketOpts), + socket_params(Domain, Address, + RequireBind, BindTo, CommonSocketOpts), %% The 'inet-backend' option has to be first, %% so we might as well add it last. Socket = socket_open(IpPort, InetBackend ++ SocketOpts), @@ -356,7 +368,8 @@ socket_open(IpPort, SocketOpts) -> Socket end. -socket_params(Domain, {IpAddr, IpPort} = Addr, BindTo, CommonSocketOpts) -> +socket_params(Domain, {IpAddr, IpPort} = Addr, + RequireBind, BindTo, CommonSocketOpts) -> Family = snmp_conf:tdomain_to_family(Domain), SocketOpts = case Family of @@ -370,22 +383,22 @@ socket_params(Domain, {IpAddr, IpPort} = Addr, BindTo, CommonSocketOpts) -> case init:get_argument(snmpm_fd) of {ok, [[FdStr]]} -> Fd = list_to_integer(FdStr), - case BindTo of + case RequireBind orelse BindTo of true -> {IpPort, [{ip, IpAddr}, {fd, Fd} | SocketOpts]}; _ -> {0, [{fd, Fd} | SocketOpts]} end; error -> - socket_params(SocketOpts, Addr, BindTo) + socket_params(SocketOpts, Addr, RequireBind, BindTo) end; _ -> - socket_params(SocketOpts, Addr, BindTo) + socket_params(SocketOpts, Addr, RequireBind, BindTo) end. %% -socket_params(SocketOpts, {IpAddr, IpPort}, BindTo) -> - case BindTo of +socket_params(SocketOpts, {IpAddr, IpPort}, RequireBind, BindTo) -> + case RequireBind orelse BindTo of true -> {IpPort, [{ip, IpAddr} | SocketOpts]}; _ -> diff --git a/lib/snmp/test/snmp_test_lib.erl b/lib/snmp/test/snmp_test_lib.erl index de1216790d53..97b69dcfa5a9 100644 --- a/lib/snmp/test/snmp_test_lib.erl +++ b/lib/snmp/test/snmp_test_lib.erl @@ -279,24 +279,17 @@ explicit_inet_backend() -> end. test_inet_backends() -> - case init:get_argument(snmp) of - {ok, SnmpArgs} when is_list(SnmpArgs) -> - test_inet_backends(SnmpArgs, atom_to_list(?FUNCTION_NAME)); - error -> - false - end. - -test_inet_backends([], _) -> - false; -test_inet_backends([[Key, Val] | _], Key) -> - case list_to_atom(string:to_lower(Val)) of - Bool when is_boolean(Bool) -> - Bool; + case application:get_all_env(snmp) of + Env when is_list(Env) -> + case lists:keysearch(test_inet_backends, 1, Env) of + {value, {test_inet_backends, true}} -> + true; + _ -> + false + end; _ -> - false - end; -test_inet_backends([_|Args], Key) -> - test_inet_backends(Args, Key). + false + end. @@ -2718,66 +2711,118 @@ analyze_and_print_solaris_host_info(Version) -> analyze_and_print_win_host_info(Version) -> + Label = ts_extra_platform_label(), + AddLabelFactor = label2factor(simplify_label(Label)), + SysInfo = which_win_system_info(), OsName = win_sys_info_lookup(os_name, SysInfo), OsVersion = win_sys_info_lookup(os_version, SysInfo), SysMan = win_sys_info_lookup(system_manufacturer, SysInfo), SysMod = win_sys_info_lookup(system_model, SysInfo), + SysType = win_sys_info_lookup(system_type, SysInfo), NumProcs = win_sys_info_lookup(num_processors, SysInfo), TotPhysMem = win_sys_info_lookup(total_phys_memory, SysInfo), io:format("Windows: ~s" "~n OS Version: ~s (~p)" "~n System Manufacturer: ~s" "~n System Model: ~s" + "~n System Type: ~s" "~n Number of Processor(s): ~s" "~n Total Physical Memory: ~s" + "~n (Erlang) WordSize: ~w" "~n Num Online Schedulers: ~s" "~n~n", [OsName, OsVersion, Version, - SysMan, SysMod, NumProcs, TotPhysMem, + SysMan, SysMod, SysType, + NumProcs, TotPhysMem, + erlang:system_info(wordsize), str_num_schedulers()]), - io:format("TS Scale Factor: ~w~n", [timetrap_scale_factor()]), + + io:format("TS: " + "~n TimeTrap Factor: ~w" + "~n Extra Platform Label: ~s" + "~n~n", + [timetrap_scale_factor(), Label]), + + %% 'VirtFactor' will be 0 unless virtual + VirtFactor = win_virt_factor(SysMod), + + %% On some machines this is a badly formated string + %% (contains a char of 255), so we need to do some nasty stuff... MemFactor = try begin - [MStr, MUnit|_] = - string:tokens(lists:delete($,, TotPhysMem), [$\ ]), + %% "Normally" this looks like this: "16,123 MB" + %% But sometimes the "," is replaced by a + %% 255 or 160 char, which I assume must be some + %% unicode screwup... + %% Anyway, filter out both of them! + TotPhysMem1 = lists:delete($,, TotPhysMem), + TotPhysMem2 = lists:delete(255, TotPhysMem1), + TotPhysMem3 = lists:delete(160, TotPhysMem2), + [MStr, MUnit|_] = string:tokens(TotPhysMem3, [$\ ]), case string:to_lower(MUnit) of "gb" -> try list_to_integer(MStr) of - M when M > 8 -> + M when M >= 16 -> 0; - M when M > 4 -> + M when M >= 8 -> 1; - M when M > 2 -> - 2; + M when M >= 4 -> + 3; + M when M >= 2 -> + 6; _ -> - 5 + 10 catch _:_:_ -> + %% For some reason the string contains + %% "unusual" characters... + %% ...so print the string as a list... + io:format("Bad memory string: " + "~n [gb] ~w" + "~n", [MStr]), 10 end; "mb" -> try list_to_integer(MStr) of - M when M > 8192 -> + M when M >= 16384 -> 0; - M when M > 4096 -> + M when M >= 8192 -> 1; - M when M > 2048 -> - 2; + M when M >= 4096 -> + 3; + M when M >= 2048 -> + 6; _ -> - 5 + 10 catch _:_:_ -> + %% For some reason the string contains + %% "unusual" characters... + %% ...so print the string as a list... + io:format("Bad memory string: " + "~n [mb] ~w" + "~n", [MStr]), 10 end; _ -> + io:format("Bad memory string: " + "~n ~w" + "~n", [MStr]), 10 end end catch _:_:_ -> + %% For some reason the string contains + %% "unusual" characters... + %% ...so print the string as a list... + io:format("Bad memory string: " + "~n (y) ~w" + "~n", [TotPhysMem]), 10 end, + CPUFactor = case erlang:system_info(schedulers) of 1 -> @@ -2787,7 +2832,19 @@ analyze_and_print_win_host_info(Version) -> _ -> 2 end, - {CPUFactor + MemFactor, SysInfo}. + io:format("Factor calc:" + "~n CPU Factor: ~w" + "~n Mem Factor: ~w" + "~n Label Factor: ~w" + "~n Virtual Factor: ~w" + "~n~n", + [CPUFactor, MemFactor, AddLabelFactor, VirtFactor]), + {CPUFactor + MemFactor + AddLabelFactor + VirtFactor, SysInfo}. + +win_virt_factor("VMware" ++ _) -> + 2; +win_virt_factor(_) -> + 0. win_sys_info_lookup(Key, SysInfo) -> win_sys_info_lookup(Key, SysInfo, "-"). diff --git a/lib/ssh/doc/src/configure_algos.xml b/lib/ssh/doc/src/configure_algos.xml index df4ed145a682..fff0091f9d3f 100644 --- a/lib/ssh/doc/src/configure_algos.xml +++ b/lib/ssh/doc/src/configure_algos.xml @@ -432,7 +432,7 @@
Example 8

In this example, we need to use a diffie-hellman-group1-sha1 key exchange algorithm - although it is unsage and disabled by default. + although it is unsafe and disabled by default.

We use the modify_algorithms diff --git a/lib/ssh/doc/src/notes.xml b/lib/ssh/doc/src/notes.xml index 4736255a2670..1e9ea82fb60b 100644 --- a/lib/ssh/doc/src/notes.xml +++ b/lib/ssh/doc/src/notes.xml @@ -30,6 +30,22 @@ notes.xml +

Ssh 5.0.1 + +
Fixed Bugs and Malfunctions + + +

+ Added multiline editing support to ssh clients connected + through OTP ssh daemon.

+

+ Own Id: OTP-18653 Aux Id: PR-7242

+
+
+
+ +
+
Ssh 5.0
Improvements and New Features @@ -270,6 +286,22 @@
+
Ssh 4.13.2.3 + +
Fixed Bugs and Malfunctions + + +

+ With this change, error logging related crashes in + ssh_connection_handler module are fixed.

+

+ Own Id: OTP-18620 Aux Id: OTP-18386,PR-6611

+
+
+
+ +
+
Ssh 4.13.2.2
Fixed Bugs and Malfunctions diff --git a/lib/ssh/src/ssh_cli.erl b/lib/ssh/src/ssh_cli.erl index f83eba30bc36..9f6d3be21d91 100644 --- a/lib/ssh/src/ssh_cli.erl +++ b/lib/ssh/src/ssh_cli.erl @@ -430,6 +430,32 @@ io_request({insert_chars, unicode, Cs}, Buf, Tty, _Group) -> insert_chars(unicode:characters_to_list(Cs,unicode), Buf, Tty); io_request({move_rel, N}, Buf, Tty, _Group) -> move_rel(N, Buf, Tty); +io_request({move_line, N}, Buf, Tty, _Group) -> + move_line(N, Buf, Tty); +io_request({move_combo, L, V, R}, Buf, Tty, _Group) -> + {ML, Buf1} = move_rel(L, Buf, Tty), + {MV, Buf2} = move_line(V, Buf1, Tty), + {MR, Buf3} = move_rel(R, Buf2, Tty), + {[ML,MV,MR], Buf3}; +io_request(new_prompt, _Buf, _Tty, _Group) -> + {[], {[], {[],[]}, [], 0 }}; +io_request(delete_line, {_, {_, _}, _, Col}, Tty, _Group) -> + MoveToBeg = move_cursor(Col, 0, Tty), + {[MoveToBeg, "\e[J"], + {[],{[],[]},[],0}}; +io_request({redraw_prompt, Pbs, Pbs2, {LB, {Bef, Aft}, LA}}, Buf, Tty, _Group) -> + {ClearLine, Cleared} = io_request(delete_line, Buf, Tty, _Group), + CL = lists:reverse(Bef,Aft), + Text = Pbs ++ lists:flatten(lists:join("\n"++Pbs2, lists:reverse(LB)++[CL|LA])), + Moves = if LA /= [] -> + [Last|_] = lists:reverse(LA), + {move_combo, -length(Last), -length(LA), length(Bef)}; + true -> + {move_rel, -length(Aft)} + end, + {T, InsertedText} = io_request({insert_chars, unicode:characters_to_binary(Text)}, Cleared, Tty, _Group), + {M, Moved} = io_request(Moves, InsertedText, Tty, _Group), + {[ClearLine, T, M], Moved}; io_request({delete_chars,N}, Buf, Tty, _Group) -> delete_chars(N, Buf, Tty); io_request(clear, Buf, _Tty, _Group) -> @@ -447,7 +473,6 @@ io_request({requests,Rs}, Buf, Tty, Group) -> io_request(tty_geometry, Buf, Tty, Group) -> io_requests([{move_rel, 0}, {put_chars, unicode, [10]}], Buf, Tty, [], Group); - %{[], Buf}; %% New in 18 io_request({put_chars_sync, Class, Cs, Reply}, Buf, Tty, Group) -> @@ -486,55 +511,58 @@ get_tty_command(left, N, _TerminalType) -> %% convert input characters to buffer and to writeout %% Note that the buf is reversed but the buftail is not %% (this is handy; the head is always next to the cursor) -conv_buf([], AccBuf, AccBufTail, AccWrite, Col, _Tty) -> - {AccBuf, AccBufTail, lists:reverse(AccWrite), Col}; -conv_buf([13, 10 | Rest], _AccBuf, AccBufTail, AccWrite, _Col, Tty) -> - conv_buf(Rest, [], tl2(AccBufTail), [10, 13 | AccWrite], 0, Tty); -conv_buf([13 | Rest], _AccBuf, AccBufTail, AccWrite, _Col, Tty) -> - conv_buf(Rest, [], tl1(AccBufTail), [13 | AccWrite], 0, Tty); -conv_buf([10 | Rest], _AccBuf, AccBufTail, AccWrite0, _Col, Tty) -> +conv_buf([], {LB, {Bef, Aft}, LA, Col}, AccWrite, _Tty) -> + {{LB, {Bef, Aft}, LA}, lists:reverse(AccWrite), Col}; +conv_buf([13, 10 | Rest], {LB, {Bef, Aft}, LA, Col}, AccWrite, Tty = #ssh_pty{width = W}) -> + conv_buf(Rest, {[lists:reverse(Bef)|LB], {[], tl2(Aft)}, LA, Col+(W-(Col rem W))}, [10, 13 | AccWrite], Tty); +conv_buf([13 | Rest], {LB, {Bef, Aft}, LA, Col}, AccWrite, Tty = #ssh_pty{width = W}) -> + conv_buf(Rest, {[lists:reverse(Bef)|LB], {[], tl1(Aft)}, LA, Col+(W-(Col rem W))}, [13 | AccWrite], Tty); +conv_buf([10 | Rest],{LB, {Bef, Aft}, LA, Col}, AccWrite0, Tty = #ssh_pty{width = W}) -> AccWrite = case pty_opt(onlcr,Tty) of 0 -> [10 | AccWrite0]; 1 -> [10,13 | AccWrite0]; undefined -> [10 | AccWrite0] end, - conv_buf(Rest, [], tl1(AccBufTail), AccWrite, 0, Tty); -conv_buf([C | Rest], AccBuf, AccBufTail, AccWrite, Col, Tty) -> - conv_buf(Rest, [C | AccBuf], tl1(AccBufTail), [C | AccWrite], Col + 1, Tty). - - -%%% put characters at current position (possibly overwriting -%%% characters after current position in buffer) -put_chars(Chars, {Buf, BufTail, Col}, Tty) -> - {NewBuf, NewBufTail, WriteBuf, NewCol} = - conv_buf(Chars, Buf, BufTail, [], Col, Tty), - {WriteBuf, {NewBuf, NewBufTail, NewCol}}. + conv_buf(Rest, {[lists:reverse(Bef)|LB], {[], tl1(Aft)}, LA, Col+(W - (Col rem W))}, AccWrite, Tty); +conv_buf([C | Rest], {LB, {Bef, Aft}, LA, Col}, AccWrite, Tty) -> + conv_buf(Rest, {LB, {[C|Bef], tl1(Aft)}, LA, Col+1}, [C | AccWrite], Tty). + +%%% put characters before the prompt +put_chars(Chars, Buf, Tty) -> + case Buf of + {[],{[],[]},[],_} -> {_, WriteBuf, _} = conv_buf(Chars, Buf, [], Tty), + {WriteBuf, Buf}; + _ -> + {Delete, DeletedState} = io_request(delete_line, Buf, Tty, []), + {_, PutBuffer, _} = conv_buf(Chars, DeletedState, [], Tty), + {Redraw, _} = io_request(redraw_prompt_pre_deleted, Buf, Tty, []), + {[Delete, PutBuffer, Redraw], Buf} + end. %%% insert character at current position -insert_chars([], {Buf, BufTail, Col}, _Tty) -> - {[], {Buf, BufTail, Col}}; -insert_chars(Chars, {Buf, BufTail, Col}, Tty) -> - {NewBuf, _NewBufTail, WriteBuf, NewCol} = - conv_buf(Chars, Buf, [], [], Col, Tty), - M = move_cursor(special_at_width(NewCol+length(BufTail), Tty), NewCol, Tty), - {[WriteBuf, BufTail | M], {NewBuf, BufTail, NewCol}}. +insert_chars([], Buf, _Tty) -> + {[], Buf}; +insert_chars(Chars, {_LB,{_Bef, Aft},LA, _Col}=Buf, Tty) -> + {{NewLB, {NewBef, _NewAft}, _NewLA}, WriteBuf, NewCol} = conv_buf(Chars, Buf, [], Tty), + M = move_cursor(special_at_width(NewCol+length(Aft), Tty), NewCol, Tty), + {[WriteBuf, Aft | M], {NewLB,{NewBef, Aft},LA, NewCol}}. %%% delete characters at current position, (backwards if negative argument) -delete_chars(0, {Buf, BufTail, Col}, _Tty) -> - {[], {Buf, BufTail, Col}}; -delete_chars(N, {Buf, BufTail, Col}, Tty) when N > 0 -> - NewBufTail = nthtail(N, BufTail), - M = move_cursor(Col + length(NewBufTail) + N, Col, Tty), - {[NewBufTail, lists:duplicate(N, $ ) | M], - {Buf, NewBufTail, Col}}; -delete_chars(N, {Buf, BufTail, Col}, Tty) -> % N < 0 - NewBuf = nthtail(-N, Buf), +delete_chars(0, {LB,{Bef, Aft},LA, Col}, _Tty) -> + {[], {LB,{Bef, Aft},LA, Col}}; +delete_chars(N, {LB,{Bef, Aft},LA, Col}, Tty) when N > 0 -> + NewAft = nthtail(N, Aft), + M = move_cursor(Col + length(NewAft) + N, Col, Tty), + {[NewAft, lists:duplicate(N, $ ) | M], + {LB,{Bef, NewAft},LA, Col}}; +delete_chars(N, {LB,{Bef, Aft},LA, Col}, Tty) -> % N < 0 + NewBef = nthtail(-N, Bef), NewCol = case Col + N of V when V >= 0 -> V; _ -> 0 end, M1 = move_cursor(Col, NewCol, Tty), - M2 = move_cursor(special_at_width(NewCol+length(BufTail)-N, Tty), NewCol, Tty), - {[M1, BufTail, lists:duplicate(-N, $ ) | M2], - {NewBuf, BufTail, NewCol}}. + M2 = move_cursor(special_at_width(NewCol+length(Aft)-N, Tty), NewCol, Tty), + {[M1, Aft, lists:duplicate(-N, $ ) | M2], + {LB,{NewBef, Aft},LA, NewCol}}. %%% Window change, redraw the current line (and clear out after it %%% if current window is wider than previous) @@ -542,52 +570,74 @@ window_change(Tty, OldTty, Buf) when OldTty#ssh_pty.width == Tty#ssh_pty.width -> %% No line width change {[], Buf}; -window_change(Tty, OldTty, {Buf, BufTail, Col}) -> +window_change(Tty, OldTty, {LB, {Bef, Aft}, LA, Col}) -> case OldTty#ssh_pty.width - Tty#ssh_pty.width of 0 -> %% No line width change - {[], {Buf,BufTail,Col}}; + {[], {LB, {Bef, Aft}, LA, Col}}; DeltaW0 when DeltaW0 < 0, - BufTail == [] -> + Aft == [] -> % Line width is decreased, cursor is at end of input - {[], {Buf,BufTail,Col}}; + {[], {LB, {Bef, Aft}, LA, Col}}; DeltaW0 when DeltaW0 < 0, - BufTail =/= [] -> + Aft =/= [] -> % Line width is decreased, cursor is not at end of input - {[], {Buf,BufTail,Col}}; + {[], {LB, {Bef, Aft}, LA, Col}}; DeltaW0 when DeltaW0 > 0 -> % Line width is increased - {[], {Buf,BufTail,Col}} + {[], {LB, {Bef, Aft}, LA, Col}} end. %% move around in buffer, respecting pad characters -step_over(0, Buf, [?PAD | BufTail], Col) -> - {[?PAD | Buf], BufTail, Col+1}; -step_over(0, Buf, BufTail, Col) -> - {Buf, BufTail, Col}; -step_over(N, [C | Buf], BufTail, Col) when N < 0 -> +step_over(0, {LB, {Bef, [?PAD |Aft]}, LA, Col}) -> + {LB, {[?PAD | Bef], Aft}, LA, Col+1}; +step_over(0, {LB, {Bef, Aft}, LA, Col}) -> + {LB, {Bef, Aft}, LA, Col}; +step_over(N, {LB, {[C | Bef], Aft}, LA, Col}) when N < 0 -> N1 = ifelse(C == ?PAD, N, N+1), - step_over(N1, Buf, [C | BufTail], Col-1); -step_over(N, Buf, [C | BufTail], Col) when N > 0 -> + step_over(N1, {LB, {Bef, [C | Aft]}, LA, Col-1}); +step_over(N, {LB, {Bef, [C | Aft]}, LA, Col}) when N > 0 -> N1 = ifelse(C == ?PAD, N, N-1), - step_over(N1, [C | Buf], BufTail, Col+1). + step_over(N1, {LB, {[C | Bef], Aft}, LA, Col+1}). %%% an empty line buffer -empty_buf() -> {[], [], 0}. +empty_buf() -> {[], {[], []}, [], 0}. %%% col and row from position with given width col(N, W) -> N rem W. row(N, W) -> N div W. %%% move relative N characters -move_rel(N, {Buf, BufTail, Col}, Tty) -> - {NewBuf, NewBufTail, NewCol} = step_over(N, Buf, BufTail, Col), +move_rel(N, {_LB, {_Bef, _Aft}, _LA, Col}=Buf, Tty) -> + {NewLB, {NewBef, NewAft}, NewLA, NewCol} = step_over(N, Buf), M = move_cursor(Col, NewCol, Tty), - {M, {NewBuf, NewBufTail, NewCol}}. - + {M, {NewLB, {NewBef, NewAft}, NewLA, NewCol}}. + +move_line(V, {_LB, {_Bef, _Aft}, _LA, Col}, Tty = #ssh_pty{width=W}) + when V < 0, length(_LB) >= -V -> + {LinesJumped, [B|NewLB]} = lists:split(-V -1, _LB), + CL = lists:reverse(_Bef,_Aft), + NewLA = lists:reverse([CL|LinesJumped], _LA), + {NewBB, NewAft} = lists:split(min(length(_Bef),length(B)), B), + NewBef = lists:reverse(NewBB), + NewCol = Col - length(_Bef) - lists:sum([((length(L)-1) div W)*W + W || L <- [B|LinesJumped]]) + length(NewBB), + M = move_cursor(Col, NewCol, Tty), + {M, {NewLB, {NewBef, NewAft}, NewLA, NewCol}}; +move_line(V, {_LB, {_Bef, _Aft}, _LA, Col}, Tty = #ssh_pty{width=W}) + when V > 0, length(_LA) >= V -> + {LinesJumped, [A|NewLA]} = lists:split(V -1, _LA), + CL = lists:reverse(_Bef,_Aft), + NewLB = lists:reverse([CL|LinesJumped],_LB), + {NewBB, NewAft} = lists:split(min(length(_Bef),length(A)), A), + NewBef = lists:reverse(NewBB), + NewCol = Col - length(_Bef) + lists:sum([((length(L)-1) div W)*W + W || L <- [CL|LinesJumped]]) + length(NewBB), + M = move_cursor(Col, NewCol, Tty), + {M, {NewLB, {NewBef, NewAft}, NewLA, NewCol}}; +move_line(_, Buf, _) -> + {"", Buf}. %%% give move command for tty move_cursor(A, A, _Tty) -> []; diff --git a/lib/ssh/test/Makefile b/lib/ssh/test/Makefile index 908312f8debb..4dd070852fbb 100644 --- a/lib/ssh/test/Makefile +++ b/lib/ssh/test/Makefile @@ -32,6 +32,7 @@ MODULES= \ ssh_basic_SUITE \ ssh_bench_SUITE \ ssh_chan_behaviours_SUITE \ + ssh_collect_labmachine_info_SUITE \ ssh_compat_SUITE \ ssh_connection_SUITE \ ssh_agent_mock_server \ diff --git a/lib/ssh/test/ssh_basic_SUITE.erl b/lib/ssh/test/ssh_basic_SUITE.erl index fa88cb4bbdb8..bcf4c7f859e1 100644 --- a/lib/ssh/test/ssh_basic_SUITE.erl +++ b/lib/ssh/test/ssh_basic_SUITE.erl @@ -1584,7 +1584,8 @@ new_do_shell(IO, N, Ops=[{Order,Arg}|More]) -> ct:log("Matched echo ~ts",[RecStr]), new_do_shell(IO, N, More); false -> - ct:fail("*** Expected ~p, but got ~p",[string:strip(ExpStr),RecStr]) + ct:log("*** Expected ~p, but got ~p",[string:strip(ExpStr),RecStr]), + new_do_shell(IO, N, Ops) end after 30000 -> ct:log("Message queue of ~p:~n~p", diff --git a/lib/ssh/test/ssh_collect_labmachine_info_SUITE.erl b/lib/ssh/test/ssh_collect_labmachine_info_SUITE.erl new file mode 100644 index 000000000000..02b11bde1dca --- /dev/null +++ b/lib/ssh/test/ssh_collect_labmachine_info_SUITE.erl @@ -0,0 +1,250 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2008-2021. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% + +%% + +-module(ssh_collect_labmachine_info_SUITE). + +-include_lib("common_test/include/ct.hrl"). + +-export([save_ssh_data/3]). + +-export([ + suite/0, + all/0, + init_per_suite/1, + end_per_suite/1, + ssh_info_lib/1 + ]). + + +-define(DAYS_TO_KEEP, 5). + +save_ssh_data(Host, Data, Config0) -> + case init_data_transfer(Host, Config0) of + Config1 when is_list(Config1) -> + Config = + case Data of + [[_|_]|_] -> + lists:foldl(fun save_data/2, Config1, Data); + _ -> + save_data(Data, Config1) + end, + end_data_transfer(Config); + + Skip -> + Skip + end. + +%%-------------------------------------------------------------------- +%% Common Test interface functions ----------------------------------- +%%-------------------------------------------------------------------- + +suite() -> [{timetrap,{seconds,40}}]. + +all() -> [ssh_info_lib]. + +%%-------------------------------------------------------------------- +init_per_suite(Config) -> + case os:find_executable("ssh") of + false -> + {skip, "No ssh found"}; + + _Path -> + init_data_transfer(hostname(), Config) + end. + +end_per_suite(Config) -> + end_data_transfer(Config). + +%%-------------------------------------------------------------------- +ssh_info_lib(Config) -> + NewEntry = new_entry(), + ct:pal("New entry:~n~p",[NewEntry]), + save_data(NewEntry, Config). + +new_entry() -> + [{hostname, hostname()}, + {type, host}, + {date, date()}, + {time, time()}, + {os_type, os:type()}, + {os_version, os:version()}, + {full_ssh_version, ssh_info()} + ]. + +ssh_info() -> + try os:cmd("ssh -V") of + Version when is_list(Version) -> Version--"\n"; + _ -> "?" + catch + _:_ -> "??" + end. + +%%-------------------------------------------------------------------- +hostname() -> + case inet:gethostname() of + {ok,Name} -> string:to_lower(Name); + _ -> "undefined" + end. + +priv_dir(Config) -> proplists:get_value(priv_dir, Config). + +priv_file(Config, Name) -> filename:join(priv_dir(Config), Name). + +remove_drive_letter(FileName) -> + ssh_test_lib:winpath_to_linuxpath(FileName). + +usable_file(FileName) -> + case file:open(FileName, [append]) of + {ok,D} -> + ok == file:close(D); + _ -> + false + end. + +%%%---------------------------------------------------------------- +wsl_ify(Cmnd) -> + case os:getenv("WSLENV") of + false -> Cmnd; + _ -> "wsl " ++ Cmnd + end. + +%%%================================================================ +save_data(NewEntry, Config) -> + LocalFile = proplists:get_value(local_file, Config), + + YoungEntries = + case file:consult(LocalFile) of + {ok, Consulted} when is_list(Consulted) -> + lists:filter(fun(E) -> is_young(E) end, + Consulted); + Other -> + ct:log("Strange result of consult:~n~p", [Other]), + ct:fail("Consult failed") + end, + + {ok,D} = file:open(LocalFile, [write]), + lists:foreach(fun(E) -> + io:format(D, '~p.~n', [E]) + end, lists:usort([NewEntry|YoungEntries])), + file:close(D), + Config. + + +is_young(E) -> + try + Days = days_ago(proplists:get_value(date, E)), + Days >= 0 andalso Days =< ?DAYS_TO_KEEP + catch + _:_ -> false % No or illegal date property + end. + + +days_ago(D={_,_,_})-> + calendar:date_to_gregorian_days(date()) - calendar:date_to_gregorian_days(D). + +%%%---------------------------------------------------------------- +init_data_transfer(Host, Config) -> + case ct:get_config(collect_host_info) of + undefined -> + {skip, "No 'collect_host_info' path configured"}; + + Root when is_list(Root) -> + RemoteFile = filename:join([Root, "ssh_info", Host++".data"]), + init_data_transfer_cont(Host, Config, RemoteFile) + end. + +init_data_transfer_cont(Host, Config, RemoteFile) -> + LocalFile = priv_file(Config, Host++".sshdata"), + + case usable_file(LocalFile) of + false -> ct:fail(no_local_file); + true -> ok + end, + + TransferType = + case {path_type(RemoteFile), os:type()} of + {local, {unix,_}} -> + case usable_file(RemoteFile) of + true -> filesystem; + false -> ssh + end; + _ -> + ssh + end, + + case TransferType of + filesystem -> + %% 'filesystem' was concluded since it was possible + %% to open the file in append mode + {ok,B} = file:read_file(RemoteFile), + ok = file:write_file(LocalFile, B); + ssh -> + SCP = wsl_ify("scp "++RemoteFile++" "++remove_drive_letter(LocalFile)), + ct:pal("Run command: \"~s\"", [SCP]), + Result = os:cmd(SCP), + ct:pal("Command result: \"~s\"",[Result]) + end, + + [{transfer_type, TransferType}, + {local_file,LocalFile}, + {remote_file,RemoteFile} | Config]. + +%%%---------------------------------------------------------------- +end_data_transfer(Config) -> + LocalFile = proplists:get_value(local_file,Config), + RemoteFile = proplists:get_value(remote_file,Config), + case proplists:get_value(transfer_type,Config) of + filesystem -> + {ok,B} = file:read_file(LocalFile), + ok = file:write_file(RemoteFile, B); + ssh -> + SCP = wsl_ify("scp "++remove_drive_letter(LocalFile)++" "++RemoteFile), + ct:pal("Run command: \"~s\"", [SCP]), + Result = os:cmd(SCP), + ct:pal("Command result: \"~s\"",[Result]) + end, + file:delete(LocalFile). + +path_type(Path) -> + case string:lexemes(Path, ":") of + [_] -> + local; + [Host | _] -> + case string:find(Host, "/") of + nomatch -> remote; + _ -> local + end + end. + + + + + + + + + + + + + + diff --git a/lib/ssh/test/ssh_compat_SUITE.erl b/lib/ssh/test/ssh_compat_SUITE.erl index 0b1357ca05fd..d1c7d838679c 100644 --- a/lib/ssh/test/ssh_compat_SUITE.erl +++ b/lib/ssh/test/ssh_compat_SUITE.erl @@ -100,6 +100,7 @@ init_per_suite(Config) -> {skip, "No docker"}; _ -> ssh:start(), + log_image_versions(ssh_image_versions(), Config), ct:log("Crypto info: ~p",[crypto:info_lib()]), ct:log("ssh image versions: ~p",[ssh_image_versions()]), Config @@ -1486,3 +1487,50 @@ renegotiate_test(Kex1, ConnectionRef) -> %% ct:log("Renegotiate test passed!",[]), ok end. + +%%%---------------------------------------------------------------- +%% ImageVersions = ['dropbearv2016.72', +%% 'openssh4.4p1-openssl0.9.8c', +%% ... +%% 'openssh8.8p1-openssl1.1.1l'] + +log_image_versions(ImageVersions, Config) -> + case true == (catch + lists:member({save_ssh_data,3}, + ssh_collect_labmachine_info_SUITE:module_info(exports))) + of + true -> + HostPfx = hostname()++"_docker", + {_Imax, Entries} = lists:foldl(fix_entry(HostPfx), {0,[]}, ImageVersions), + ssh_collect_labmachine_info_SUITE:save_ssh_data(HostPfx, Entries, Config); + false -> + Config + end. + + +fix_entry(HostPfx) -> + fun(E, {I,Acc}) -> + Entry = + [{hostname, lists:flatten(io_lib:format("~s:~2..0w",[HostPfx,I]))}, + {type, compat_test}, + {date, date()}, + {time, time()}, + {os_type, os:type()}, + {os_version, os:version()}, + {full_ssh_version, fix_version(E)} + ], + {I+1, [Entry|Acc]} + end. + +fix_version(E) -> + case string:tokens(atom_to_list(E), "-") of + ["openssh"++Vs, "openssl"++Vc ] -> lists:concat(["OpenSSH_",Vs," OpenSSL ",Vc]); + ["openssh"++Vs, "libressl"++Vc] -> lists:concat(["OpenSSH_",Vs," LibreSSL ",Vc]); + _ -> atom_to_list(E) + end. + +hostname() -> + case inet:gethostname() of + {ok,Name} -> string:to_lower(Name); + _ -> "undefined" + end. diff --git a/lib/ssh/test/ssh_test_lib.erl b/lib/ssh/test/ssh_test_lib.erl index 08c9638213f0..faa350423dca 100644 --- a/lib/ssh/test/ssh_test_lib.erl +++ b/lib/ssh/test/ssh_test_lib.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2004-2021. All Rights Reserved. +%% Copyright Ericsson AB 2004-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -484,7 +484,7 @@ receive_exec_result(Msgs) when is_list(Msgs) -> receive_exec_result(Msgs); Other -> ct:log("~p:~p unexpected Other ~p", [?MODULE,?FUNCTION_NAME,Other]), - {unexpected_msg, Other} + receive_exec_result(Msgs) end end after diff --git a/lib/ssh/vsn.mk b/lib/ssh/vsn.mk index b5b7991fe1cd..50757ade5b5d 100644 --- a/lib/ssh/vsn.mk +++ b/lib/ssh/vsn.mk @@ -1,4 +1,4 @@ #-*-makefile-*- ; force emacs to enter makefile-mode -SSH_VSN = 5.0 +SSH_VSN = 5.0.1 APP_VSN = "ssh-$(SSH_VSN)" diff --git a/lib/ssl/doc/src/notes.xml b/lib/ssl/doc/src/notes.xml index 5b767d2d01fb..4e703fc8d28d 100644 --- a/lib/ssl/doc/src/notes.xml +++ b/lib/ssl/doc/src/notes.xml @@ -27,6 +27,74 @@

This document describes the changes made to the SSL application.

+
SSL 11.0.2 + +
Fixed Bugs and Malfunctions + + +

+ Added keylog information to all protocol versions in + ssl:connection_information/2.

+

+ Own Id: OTP-18643 Aux Id: ERIERL-932

+
+
+
+ + +
Improvements and New Features + + +

+ Add RFC-6083 considerations for DTLS to enable gen_sctp + based callback for the transport.

+

+ Own Id: OTP-18618 Aux Id: ERIERL-932

+
+
+
+ +
+ +
SSL 11.0.1 + +
Fixed Bugs and Malfunctions + + +

+ Make sure that selection of client certificates handle + both TLS-1.3 and TLS-1.2 names correctly. Could cause + valid client certificate to not be selected, and an empty + client certificate message to be sent to server.

+

+ Own Id: OTP-18588 Aux Id: GH-7264, PR-7277

+
+ +

+ Improved ssl:format_error/1 to handle more error + tuples.

+

+ Own Id: OTP-18596 Aux Id: GH-7247

+
+ +

+ Fixed hanging ssl:connect when ssl application is + not started.

+

+ Own Id: OTP-18603 Aux Id: GH-7297

+
+ +

+ Correct handling of retransmission timers, current + behavior could cause unwanted delays.

+

+ Own Id: OTP-18632 Aux Id: PR-7300, GH-7301

+
+
+
+ +
+
SSL 11.0
Improvements and New Features @@ -229,6 +297,35 @@
+
SSL 10.9.1.1 + +
Fixed Bugs and Malfunctions + + +

+ Added keylog information to all protocol versions in + ssl:connection_information/2.

+

+ Own Id: OTP-18643 Aux Id: ERIERL-932

+
+
+
+ + +
Improvements and New Features + + +

+ Add RFC-6083 considerations for DTLS to enable gen_sctp + based callback for the transport.

+

+ Own Id: OTP-18618 Aux Id: ERIERL-932

+
+
+
+ +
+
SSL 10.9.1
Fixed Bugs and Malfunctions @@ -670,6 +767,35 @@
+
SSL 10.7.3.8 + +
Fixed Bugs and Malfunctions + + +

+ Added keylog information to all protocol versions in + ssl:connection_information/2.

+

+ Own Id: OTP-18643 Aux Id: ERIERL-932

+
+
+
+ + +
Improvements and New Features + + +

+ Add RFC-6083 considerations for DTLS to enable gen_sctp + based callback for the transport.

+

+ Own Id: OTP-18618 Aux Id: ERIERL-932

+
+
+
+ +
+
SSL 10.7.3.7
Fixed Bugs and Malfunctions diff --git a/lib/ssl/doc/src/ssl.xml b/lib/ssl/doc/src/ssl.xml index 4fda1a316131..57fb68ab5f78 100644 --- a/lib/ssl/doc/src/ssl.xml +++ b/lib/ssl/doc/src/ssl.xml @@ -2186,7 +2186,8 @@ fun(srp, Username :: binary(), UserState :: term()) -> range of protocols from (D)TLS-1.2, the first version to support configuration of the signature algorithms, to Version.

-

Example: +

Example:

+ 1> ssl:signature_algs(default, 'tlsv1.3'). [eddsa_ed25519,eddsa_ed448,ecdsa_secp521r1_sha512, @@ -2217,7 +2218,7 @@ fun(srp, Username :: binary(), UserState :: term()) -> ecdsa_secp384r1_sha384,ecdsa_secp256r1_sha256, rsa_pss_pss_sha512,rsa_pss_pss_sha384,rsa_pss_pss_sha256, rsa_pss_rsae_sha512,rsa_pss_rsae_sha384,rsa_pss_rsae_sha256] -

+

Some TLS-1-3 scheme names overlap with TLS-1.2 algorithm-tuple-pair-names and then TLS-1.3 names will be diff --git a/lib/ssl/doc/src/using_ssl.xml b/lib/ssl/doc/src/using_ssl.xml index 148c7d8dfca1..eb222615f91c 100644 --- a/lib/ssl/doc/src/using_ssl.xml +++ b/lib/ssl/doc/src/using_ssl.xml @@ -247,7 +247,63 @@ ok #{cipher => aes_256_cbc,key_exchange => ecdhe_ecdsa, mac => sha384,prf => sha384}, ...] -

+
+ +
+ Customizing signature algorithms(TLS-1.2)/schemes(TLS-1.3) + +

Starting from TLS-1.2 signature algorithms (called signature + schemes in TLS-1.3) is something that can be negotiated and hence + also configured. These algorithms/schemes will be used for digital + signatures in protocol messages and in certificates.

+ +

TLS-1.3 schemes have atom names whereas TLS-1.2 + configuration is two element tuples composed by one hash algorithm + and one signature algorithm. When both versions are supported the + configuration can be a mix of these as both versions might be + negotiated. All rsa_pss based schemes are back ported to + TLS-1.2 and can be used also in a TLS-1.2 configuration. In + TLS-1.2 the signature algorithms chosen by the server will also + be affected by the chiper suite that is chosen, which is not the + case in TLS-1.3.

+ +

Using the function ssl:signature_algs/2 + will let you inspect diffrent aspects of possible configurations + for your system. For example if TLS-1.3 and TLS-1.2 is supported the + default signature_algorithm list in OTP-26 and cryptolib from + OpenSSL 3.0.2 would look like: +

+ + 1> ssl:signature_algs(default, 'tlsv1.3'). + %% TLS-1.3 schemes + [eddsa_ed25519,eddsa_ed448,ecdsa_secp521r1_sha512, + ecdsa_secp384r1_sha384,ecdsa_secp256r1_sha256, + rsa_pss_pss_sha512,rsa_pss_pss_sha384,rsa_pss_pss_sha256, + rsa_pss_rsae_sha512,rsa_pss_rsae_sha384,rsa_pss_rsae_sha256, + %% Legacy schemes only valid for certificate signatures in TLS-1.3 + %% (would have a tuple name in TLS-1.2 only configuration) + rsa_pkcs1_sha512,rsa_pkcs1_sha384,rsa_pkcs1_sha256 + %% TLS 1.2 algorithms + {sha512,ecdsa}, + {sha384,ecdsa}, + {sha256,ecdsa}] + + +

If you want to add support for non default supported + algorithms you should append them to the default list as the + configuration is in prefered order, something like this:

+ + + MySignatureAlgs = ssl:signature_algs(default, 'tlsv1.3') ++ [{sha, rsa}, {sha, dsa}], + ssl:connect(Host,Port,[{signature_algs, MySignatureAlgs,...]}), + ... + + +

See also ssl:signature_algs/2 + and sign_algo()

+
Using an Engine Stored Key @@ -286,6 +342,33 @@ ssl:connect("localhost", 9999,
+
+ NSS keylog +

The NSS keylog debug feature can be used by authorized users + to for instance enable wireshark to decrypt TLS packets.

+ +

Server (with NSS key logging)

+ + server() -> + application:load(ssl), + {ok, _} = application:ensure_all_started(ssl), + Port = 11029, + LOpts = [{certs_keys, [#{certfile => "cert.pem", keyfile => "key.pem"}]}, + {reuseaddr, true}, + {versions, ['tlsv1.2','tlsv1.3']}, + {keep_secrets, true} %% Enable NSS key log (debug option) + ], + {ok, LSock} = ssl:listen(Port, LOpts), + {ok, ASock} = ssl:transport_accept(LSock), + {ok, CSock} = ssl:handshake(ASock). + +

Exporting the secrets

+ + {ok, [{keylog, KeylogItems}]} = ssl:connection_information(CSock, [keylog]). + file:write_file("key.log", [[KeylogItem,$\n] || KeylogItem <- KeylogItems]). + +
+
Session Reuse pre TLS 1.3 @@ -497,7 +580,7 @@ ssl:connect("localhost", 9999, [{verify, verify_peer}, {versions, ['tlsv1.2','tlsv1.3']}, {session_tickets, stateless}]. {ok, LSock} = ssl:listen(8001, LOpts). - {ok, CSock} = ssl:transport_accept(LSock). + {ok, ASock} = ssl:transport_accept(LSock).

Step 2 (client): Start the client and connect to server:

@@ -512,7 +595,7 @@ ssl:connect("localhost", 9999, [{verify, verify_peer},

Step 3 (server): Start the TLS handshake:

- ssl:handshake(CSock). + {ok, CSocket} = ssl:handshake(ASock).

A connection is established using a full handshake. @@ -534,7 +617,7 @@ ssl:connect("localhost", 9999, [{verify, verify_peer},

Step 4 (server): Accept a new connection on the server:

- {ok, CSock2} = ssl:transport_accept(LSock). + {ok, ASock2} = ssl:transport_accept(LSock).

Step 5 (client): Make a new connection:

@@ -544,7 +627,7 @@ ssl:connect("localhost", 9999, [{verify, verify_peer},

Step 6 (server): Start the handshake:

- ssl:handshake(CSock2). + {ok, CSock2} =ssl:handshake(ASock2).

The second connection is a session resumption using keying material @@ -563,7 +646,7 @@ ssl:connect("localhost", 9999, [{verify, verify_peer},

Step 7 (server): Accept a new connection on the server:

- {ok, CSock3} = ssl:transport_accept(LSock). + {ok, ASock3} = ssl:transport_accept(LSock).

Step 8 (client): Make a new connection to server:

@@ -578,7 +661,7 @@ ssl:connect("localhost", 9999, [{verify, verify_peer},

Step 9 (server): Start the handshake:

- ssl:handshake(CSock3). + {ok, CSock3} = ssl:handshake(ASock3).

After the handshake is performed, the user process receivess @@ -591,7 +674,7 @@ ssl:connect("localhost", 9999, [{verify, verify_peer},

Step 11 (server): Accept a new connection on the server:

- {ok, CSock4} = ssl:transport_accept(LSock). + {ok, ASock4} = ssl:transport_accept(LSock).

Step 12 (client): Initiate a new connection to the server with the session ticket @@ -608,13 +691,13 @@ ssl:connect("localhost", 9999, [{verify, verify_peer},

Step 13 (server): Start the handshake:

- ssl:handshake(CSock3). + {ok, CSock4} = ssl:handshake(ASock4).
- Early Data in TLS 1.3 + Early Data in TLS-1.3

TLS 1.3 allows clients to send data on the first flight if the endpoints have a shared crypographic secret (pre-shared key). This means that clients can send early data if they have a valid session ticket received in a previous @@ -633,12 +716,8 @@ ssl:connect("localhost", 9999, [{verify, verify_peer}, GET, can usually be regarded as safe but even they can be exploited by a large number of replays causing resource limit exhaustion and other similar problems.

An example of sending early data with automatic and manual session ticket handling:

- -

The Early Data feature is experimental in this version of OTP. -

-
-

Server (with NSS key logging)

+

Server

early_data_server() -> application:load(ssl), @@ -649,22 +728,17 @@ ssl:connect("localhost", 9999, [{verify, verify_peer}, {versions, ['tlsv1.2','tlsv1.3']}, {session_tickets, stateless}, {early_data, enabled}, - {keep_secrets, true} %% Enable NSS key log (debug option) ], {ok, LSock} = ssl:listen(Port, LOpts), %% Accept first connection - {ok, CSock0} = ssl:transport_accept(LSock), - {ok, _} = ssl:handshake(CSock0), + {ok, ASock0} = ssl:transport_accept(LSock), + {ok, CSock0} = ssl:handshake(ASock0), %% Accept second connection - {ok, CSock1} = ssl:transport_accept(LSock), - {ok, Sock} = ssl:handshake(CSock1), + {ok, ASock1} = ssl:transport_accept(LSock), + {ok, CSock1} = ssl:handshake(ASock1), Sock. -

Exporting the secrets (optional)

- - {ok, [{keylog, KeylogItems}]} = ssl:connection_information(Sock, [keylog]). - file:write_file("key.log", [[KeylogItem,$\n] || KeylogItem <- KeylogItems]). - +

Client (automatic ticket handling):

early_data_auto() -> diff --git a/lib/ssl/src/dtls_connection.erl b/lib/ssl/src/dtls_connection.erl index 899e7d330525..aa93b5482abc 100644 --- a/lib/ssl/src/dtls_connection.erl +++ b/lib/ssl/src/dtls_connection.erl @@ -734,11 +734,12 @@ handle_client_hello(#client_hello{client_version = ClientVersion} = Hello, State handle_state_timeout(flight_retransmission_timeout, StateName, #state{protocol_specific = - #{flight_state := {retransmit, _NextTimeout}}} = State0) -> + #{flight_state := {retransmit, CurrentTimeout}}} = State0) -> {State1, Actions0} = dtls_gen_connection:send_handshake_flight(State0, retransmit_epoch(StateName, State0)), - {next_state, StateName, State, Actions} = + {next_state, StateName, #state{protocol_specific = PS} = State2, Actions} = dtls_gen_connection:next_event(StateName, no_record, State1, Actions0), + State = State2#state{protocol_specific = PS#{flight_state => {retransmit, new_timeout(CurrentTimeout)}}}, %% This will reset the retransmission timer by repeating the enter state event {repeat_state, State, Actions}. @@ -813,7 +814,7 @@ handle_flight_timer(#state{protocol_specific = #{flight_state := reliable}} = St {State, []}. start_retransmision_timer(Timeout, #state{protocol_specific = PS} = State) -> - {State#state{protocol_specific = PS#{flight_state => {retransmit, new_timeout(Timeout)}}}, + {State#state{protocol_specific = PS#{flight_state => {retransmit, Timeout}}}, [{state_timeout, Timeout, flight_retransmission_timeout}]}. new_timeout(N) when N =< 30000 -> diff --git a/lib/ssl/src/dtls_gen_connection.erl b/lib/ssl/src/dtls_gen_connection.erl index 446a065ac3f6..95b0302b7418 100644 --- a/lib/ssl/src/dtls_gen_connection.erl +++ b/lib/ssl/src/dtls_gen_connection.erl @@ -72,9 +72,8 @@ %% See thread @ http://lists.cluenet.de/pipermail/ipv6-ops/2011-June/005755.html %% 1280 - headers --define(PMTUEstimate, 1200). - - +-define(PMTUEstimate_UDP, 1200). +-define(PMTUEstimate_SCTP, 16384). % 2^14 RFC 6083 %%==================================================================== %% Internal application API @@ -109,14 +108,20 @@ next_record(#state{handshake_env = next_record(#state{protocol_buffers = #protocol_buffers{dtls_cipher_texts = [#ssl_tls{epoch = Epoch} = CT | Rest]} = Buffers, - connection_states = #{current_read := #{epoch := Epoch}} = ConnectionStates} = State) -> + connection_states = #{current_read := #{epoch := Epoch}} = ConnectionStates, + static_env = #static_env{data_tag = DataTag}} = State) -> CurrentRead = dtls_record:get_connection_state_by_epoch(Epoch, ConnectionStates, read), - case dtls_record:replay_detect(CT, CurrentRead) of - false -> - decode_cipher_text(State) ; + case is_reliable(DataTag) of true -> - %% Ignore replayed record - next_record(State#state{protocol_buffers = Buffers#protocol_buffers{dtls_cipher_texts = Rest}}) + decode_cipher_text(State) ; + false -> + case dtls_record:replay_detect(CT, CurrentRead) of + false -> + decode_cipher_text(State); + true -> + %% Ignore replayed record + next_record(State#state{protocol_buffers = Buffers#protocol_buffers{dtls_cipher_texts = Rest}}) + end end; next_record(#state{protocol_buffers = #protocol_buffers{dtls_cipher_texts = [#ssl_tls{epoch = Epoch} | Rest]} @@ -157,6 +162,11 @@ next_record(#state{protocol_specific = #{active_n_toggle := true, next_record(State) -> {no_record, State}. +is_reliable(udp) -> + false; +is_reliable(sctp) -> + true. + next_event(StateName, Record, State) -> next_event(StateName, Record, State, []). @@ -245,7 +255,8 @@ new_flight() -> handshakes_after_change_cipher_spec => []}. send_handshake_flight(#state{static_env = #static_env{socket = Socket, - transport_cb = Transport}, + transport_cb = Transport, + data_tag = DataTag}, connection_env = #connection_env{negotiated_version = Version}, flight_buffer = #{handshakes := Flight, change_cipher_spec := undefined}, @@ -253,7 +264,7 @@ send_handshake_flight(#state{static_env = #static_env{socket = Socket, ssl_options = #{log_level := LogLevel}} = State0, Epoch) -> #{current_write := #{max_fragment_length := MaxFragmentLength}} = ConnectionStates0, - MaxSize = min(MaxFragmentLength, ?PMTUEstimate), + MaxSize = mtu(MaxFragmentLength, DataTag), {Encoded, ConnectionStates} = encode_handshake_flight(lists:reverse(Flight), Version, MaxSize, Epoch, ConnectionStates0), send_packets(Transport, Socket, MaxSize, Encoded), @@ -261,7 +272,8 @@ send_handshake_flight(#state{static_env = #static_env{socket = Socket, {State0#state{connection_states = ConnectionStates}, []}; send_handshake_flight(#state{static_env = #static_env{socket = Socket, - transport_cb = Transport}, + transport_cb = Transport, + data_tag = DataTag}, connection_env = #connection_env{negotiated_version = Version}, flight_buffer = #{handshakes := [_|_] = Flight0, change_cipher_spec := ChangeCipher, @@ -270,7 +282,7 @@ send_handshake_flight(#state{static_env = #static_env{socket = Socket, ssl_options = #{log_level := LogLevel}} = State0, Epoch) -> #{current_write := #{max_fragment_length := MaxFragmentLength}} = ConnectionStates0, - MaxSize = min(MaxFragmentLength, ?PMTUEstimate), + MaxSize = mtu(MaxFragmentLength, DataTag), {HsBefore, ConnectionStates1} = encode_handshake_flight(lists:reverse(Flight0), Version, MaxSize, Epoch, ConnectionStates0), {EncChangeCipher, ConnectionStates} = encode_change_cipher(ChangeCipher, Version, Epoch, ConnectionStates1), @@ -280,7 +292,8 @@ send_handshake_flight(#state{static_env = #static_env{socket = Socket, {State0#state{connection_states = ConnectionStates}, []}; send_handshake_flight(#state{static_env = #static_env{socket = Socket, - transport_cb = Transport}, + transport_cb = Transport, + data_tag = DataTag}, connection_env = #connection_env{negotiated_version = Version}, flight_buffer = #{handshakes := [_|_] = Flight0, change_cipher_spec := ChangeCipher, @@ -289,7 +302,7 @@ send_handshake_flight(#state{static_env = #static_env{socket = Socket, ssl_options = #{log_level := LogLevel}} = State0, Epoch) -> #{current_write := #{max_fragment_length := MaxFragmentLength}} = ConnectionStates0, - MaxSize = min(MaxFragmentLength, ?PMTUEstimate), + MaxSize = mtu(MaxFragmentLength, DataTag), {HsBefore, ConnectionStates1} = encode_handshake_flight(lists:reverse(Flight0), Version, MaxSize, Epoch-1, ConnectionStates0), {EncChangeCipher, ConnectionStates2} = @@ -303,7 +316,8 @@ send_handshake_flight(#state{static_env = #static_env{socket = Socket, {State0#state{connection_states = ConnectionStates}, []}; send_handshake_flight(#state{static_env = #static_env{socket = Socket, - transport_cb = Transport}, + transport_cb = Transport, + data_tag = DataTag}, connection_env = #connection_env{negotiated_version = Version}, flight_buffer = #{handshakes := [], change_cipher_spec := ChangeCipher, @@ -312,7 +326,7 @@ send_handshake_flight(#state{static_env = #static_env{socket = Socket, ssl_options = #{log_level := LogLevel}} = State0, Epoch) -> #{current_write := #{max_fragment_length := MaxFragmentLength}} = ConnectionStates0, - MaxSize = min(MaxFragmentLength, ?PMTUEstimate), + MaxSize = mtu(MaxFragmentLength, DataTag), {EncChangeCipher, ConnectionStates1} = encode_change_cipher(ChangeCipher, Version, Epoch-1, ConnectionStates0), {HsAfter, ConnectionStates} = @@ -322,6 +336,12 @@ send_handshake_flight(#state{static_env = #static_env{socket = Socket, ssl_logger:debug(LogLevel, outbound, 'record', [HsAfter]), {State0#state{connection_states = ConnectionStates}, []}. + +mtu(MaxFragmentLength, udp) -> + min(MaxFragmentLength, ?PMTUEstimate_UDP); +mtu(MaxFragmentLength, sctp) -> + min(MaxFragmentLength, ?PMTUEstimate_SCTP). + %%% DTLS record protocol level application data messages handle_protocol_record(#ssl_tls{type = ?APPLICATION_DATA, fragment = Data}, StateName0, State0) -> diff --git a/lib/ssl/src/dtls_handshake.erl b/lib/ssl/src/dtls_handshake.erl index 85faad11b686..1f85bae2ce1d 100644 --- a/lib/ssl/src/dtls_handshake.erl +++ b/lib/ssl/src/dtls_handshake.erl @@ -91,7 +91,6 @@ client_hello(_Host, _Port, Cookie, ConnectionStates, cipher_suites = ssl_handshake:cipher_suites(CipherSuites, Renegotiation, Fallback), - compression_methods = ssl_record:compressions(), random = SecParams#security_parameters.client_random, cookie = Cookie, extensions = Extensions @@ -99,7 +98,6 @@ client_hello(_Host, _Port, Cookie, ConnectionStates, hello(#server_hello{server_version = Version, random = Random, cipher_suite = CipherSuite, - compression_method = Compression, session_id = SessionId, extensions = HelloExt}, #{versions := SupportedVersions} = SslOpt, ConnectionStates0, Renegotiation, OldId) -> @@ -107,7 +105,7 @@ hello(#server_hello{server_version = Version, random = Random, case dtls_record:is_acceptable_version(Version, SupportedVersions) of true -> handle_server_hello_extensions(Version, SessionId, Random, CipherSuite, - Compression, HelloExt, SslOpt, + HelloExt, SslOpt, ConnectionStates0, Renegotiation, IsNew); false -> throw(?ALERT_REC(?FATAL, ?PROTOCOL_VERSION)) @@ -121,12 +119,11 @@ hello(#client_hello{client_version = ClientVersion} = Hello, cookie(Key, Address, Port, #client_hello{client_version = Version, random = Random, session_id = SessionId, - cipher_suites = CipherSuites, - compression_methods = CompressionMethods}) -> + cipher_suites = CipherSuites}) -> {Major, Minor} = Version, CookieData = [address_to_bin(Address, Port), <>, - Random, SessionId, CipherSuites, CompressionMethods], + Random, SessionId, CipherSuites, [?NO_COMPRESSION]], crypto:mac(hmac, sha, Key, CookieData). %%-------------------------------------------------------------------- -spec hello_verify_request(binary(), ssl_record:ssl_version()) -> #hello_verify_request{}. @@ -174,7 +171,6 @@ get_dtls_handshake(Version, Fragment, ProtocolBuffers, Options) -> handle_client_hello(Version, #client_hello{session_id = SugesstedId, cipher_suites = CipherSuites, - compression_methods = Compressions, random = Random, extensions = HelloExt}, #{versions := Versions, @@ -193,10 +189,10 @@ handle_client_hello(Version, ECCCurve = ssl_handshake:select_curve(Curves, SupportedECCs, ECCOrder), {Type, #session{cipher_suite = CipherSuite, own_certificates = [OwnCert |_]} = Session1} - = ssl_handshake:select_session(SugesstedId, CipherSuites, - AvailableHashSigns, Compressions, - SessIdTracker, Session0#session{ecc = ECCCurve}, TLSVersion, - SslOpts, CertKeyPairs), + = ssl_handshake:select_session(SugesstedId, CipherSuites, + AvailableHashSigns, + SessIdTracker, Session0#session{ecc = ECCCurve}, + TLSVersion, SslOpts, CertKeyPairs), case CipherSuite of no_suite -> throw(?ALERT_REC(?FATAL, ?INSUFFICIENT_SECURITY)); @@ -228,11 +224,11 @@ handle_client_hello_extensions(Version, Type, Random, CipherSuites, {Version, {Type, Session}, ConnectionStates, Protocol, ServerHelloExt, HashSign}. handle_server_hello_extensions(Version, SessionId, Random, CipherSuite, - Compression, HelloExt, SslOpt, ConnectionStates0, + HelloExt, SslOpt, ConnectionStates0, Renegotiation, IsNew) -> {ConnectionStates, ProtoExt, Protocol, OcspState} = ssl_handshake:handle_server_hello_extensions( - dtls_record, Random, CipherSuite, Compression, HelloExt, + dtls_record, Random, CipherSuite, HelloExt, dtls_v1:corresponding_tls_version(Version), SslOpt, ConnectionStates0, Renegotiation, IsNew), {Version, SessionId, ConnectionStates, ProtoExt, Protocol, OcspState}. @@ -240,7 +236,7 @@ handle_server_hello_extensions(Version, SessionId, Random, CipherSuite, %%-------------------------------------------------------------------- enc_handshake(#hello_verify_request{protocol_version = Version, - cookie = Cookie}, _Version) -> + cookie = Cookie}, _Version) -> CookieLength = byte_size(Cookie), {Major,Minor} = Version, {?HELLO_VERIFY_REQUEST, < {?HELLO_REQUEST, <<>>}; enc_handshake(#client_hello{client_version = ClientVersion, - random = Random, - session_id = SessionID, - cookie = Cookie, - cipher_suites = CipherSuites, - compression_methods = CompMethods, - extensions = HelloExtensions}, _Version) -> + random = Random, + session_id = SessionID, + cookie = Cookie, + cipher_suites = CipherSuites, + extensions = HelloExtensions}, _Version) -> SIDLength = byte_size(SessionID), CookieLength = byte_size(Cookie), - BinCompMethods = list_to_binary(CompMethods), + BinCompMethods = list_to_binary([?NO_COMPRESSION]), CmLength = byte_size(BinCompMethods), BinCipherSuites = list_to_binary(CipherSuites), CsLength = byte_size(BinCipherSuites), @@ -345,7 +340,7 @@ decode_handshake(Version, ?CLIENT_HELLO, <>) -> TLSVersion = dtls_v1:corresponding_tls_version(Version), LegacyVersion = dtls_v1:corresponding_tls_version({Major, Minor}), @@ -358,7 +353,6 @@ decode_handshake(Version, ?CLIENT_HELLO, < {[binary()], binary()} | #alert{}. %% %% Description: Given old buffer and new data from UDP/SCTP, packs up a records -%% and returns it as a list of tls_compressed binaries also returns leftover +%% and returns it as a list of binaries also returns leftover %% data %%-------------------------------------------------------------------- get_dtls_records(Data, Vinfo, Buffer, #{log_level := LogLevel}) -> @@ -412,7 +412,6 @@ initial_connection_state(ConnectionEnd, BeastMitigation) -> sequence_number => 0, replay_window => init_replay_window(), beast_mitigation => BeastMitigation, - compression_state => undefined, cipher_state => undefined, mac_secret => undefined, secure_renegotiation => undefined, @@ -537,66 +536,52 @@ encode_dtls_cipher_text(Type, Version, Fragment, ?UINT48(Seq), ?UINT16(Length)>>, Fragment], WriteState#{sequence_number => Seq + 1}}. -encode_plain_text(Type, Version, Data, #{compression_state := CompS0, - cipher_state := CipherS0, +encode_plain_text(Type, Version, Data, #{cipher_state := CipherS0, epoch := Epoch, sequence_number := Seq, security_parameters := #security_parameters{ cipher_type = ?AEAD, - bulk_cipher_algorithm = BCAlg, - compression_algorithm = CompAlg} + bulk_cipher_algorithm = BCAlg} } = WriteState0) -> - {Comp, CompS1} = ssl_record:compress(CompAlg, Data, CompS0), AAD = start_additional_data(Type, Version, Epoch, Seq), CipherS = ssl_record:nonce_seed(BCAlg, <>, CipherS0), - WriteState = WriteState0#{compression_state => CompS1, - cipher_state => CipherS}, + WriteState = WriteState0#{cipher_state => CipherS}, TLSVersion = dtls_v1:corresponding_tls_version(Version), - ssl_record:cipher_aead(TLSVersion, Comp, WriteState, AAD); -encode_plain_text(Type, Version, Fragment, #{compression_state := CompS0, - epoch := Epoch, - sequence_number := Seq, - cipher_state := CipherS0, - security_parameters := - #security_parameters{compression_algorithm = CompAlg, - bulk_cipher_algorithm = - BulkCipherAlgo} - }= WriteState0) -> - {Comp, CompS1} = ssl_record:compress(CompAlg, Fragment, CompS0), - WriteState1 = WriteState0#{compression_state => CompS1}, - MAC = calc_mac_hash(Type, Version, WriteState1, Epoch, Seq, Comp), + ssl_record:cipher_aead(TLSVersion, Data, WriteState, AAD); +encode_plain_text(Type, Version, Fragment, #{epoch := Epoch, + sequence_number := Seq, + cipher_state := CipherS0, + security_parameters := + #security_parameters{bulk_cipher_algorithm = + BulkCipherAlgo} + }= WriteState) -> + MAC = calc_mac_hash(Type, Version, WriteState, Epoch, Seq, Fragment), TLSVersion = dtls_v1:corresponding_tls_version(Version), - {CipherFragment, CipherS1} = - ssl_cipher:cipher(BulkCipherAlgo, CipherS0, MAC, Fragment, TLSVersion), - {CipherFragment, WriteState0#{cipher_state => CipherS1}}. + {CipherFrag, CipherS1} = ssl_cipher:cipher(BulkCipherAlgo, CipherS0, MAC, Fragment, TLSVersion), + {CipherFrag, WriteState#{cipher_state => CipherS1}}. %%-------------------------------------------------------------------- decode_cipher_text(#ssl_tls{type = Type, version = Version, epoch = Epoch, sequence_number = Seq, fragment = CipherFragment} = CipherText, - #{compression_state := CompressionS0, - cipher_state := CipherS0, + #{cipher_state := CipherS0, security_parameters := #security_parameters{ cipher_type = ?AEAD, - bulk_cipher_algorithm = - BulkCipherAlgo, - compression_algorithm = CompAlg}} = ReadState0, + bulk_cipher_algorithm = BulkCipherAlgo + }} = ReadState0, ConnnectionStates0) -> AAD = start_additional_data(Type, Version, Epoch, Seq), CipherS = ssl_record:nonce_seed(BulkCipherAlgo, <>, CipherS0), TLSVersion = dtls_v1:corresponding_tls_version(Version), case ssl_record:decipher_aead(BulkCipherAlgo, CipherS, AAD, CipherFragment, TLSVersion) of PlainFragment when is_binary(PlainFragment) -> - {Plain, CompressionS} = ssl_record:uncompress(CompAlg, - PlainFragment, CompressionS0), - ReadState1 = ReadState0#{compression_state := CompressionS, - cipher_state := CipherS}, + ReadState1 = ReadState0#{cipher_state := CipherS}, ReadState = update_replay_window(Seq, ReadState1), ConnnectionStates = set_connection_state_by_epoch(ReadState, Epoch, ConnnectionStates0, read), - {CipherText#ssl_tls{fragment = Plain}, ConnnectionStates}; + {CipherText#ssl_tls{fragment = PlainFragment}, ConnnectionStates}; #alert{} = Alert -> Alert end; @@ -604,26 +589,20 @@ decode_cipher_text(#ssl_tls{type = Type, version = Version, epoch = Epoch, sequence_number = Seq, fragment = CipherFragment} = CipherText, - #{compression_state := CompressionS0, - security_parameters := - #security_parameters{ - compression_algorithm = CompAlg}} = ReadState0, + ReadState0, ConnnectionStates0) -> {PlainFragment, Mac, ReadState1} = ssl_record:decipher(dtls_v1:corresponding_tls_version(Version), CipherFragment, ReadState0, true), MacHash = calc_mac_hash(Type, Version, ReadState1, Epoch, Seq, PlainFragment), case ssl_record:is_correct_mac(Mac, MacHash) of true -> - {Plain, CompressionS1} = ssl_record:uncompress(CompAlg, - PlainFragment, CompressionS0), - - ReadState2 = ReadState1#{compression_state => CompressionS1}, - ReadState = update_replay_window(Seq, ReadState2), + ReadState = update_replay_window(Seq, ReadState1), ConnnectionStates = set_connection_state_by_epoch(ReadState, Epoch, ConnnectionStates0, read), - {CipherText#ssl_tls{fragment = Plain}, ConnnectionStates}; + {CipherText#ssl_tls{fragment = PlainFragment}, ConnnectionStates}; false -> ?ALERT_REC(?FATAL, ?BAD_RECORD_MAC) end. + %%-------------------------------------------------------------------- calc_mac_hash(Type, Version, #{mac_secret := MacSecret, diff --git a/lib/ssl/src/ssl.appup.src b/lib/ssl/src/ssl.appup.src index b0faa738d31f..6c8cb7ae9907 100644 --- a/lib/ssl/src/ssl.appup.src +++ b/lib/ssl/src/ssl.appup.src @@ -1,6 +1,7 @@ %% -*- erlang -*- {"%VSN%", [ + {<<"11\\..*">>, [{restart_application, ssl}]}, {<<"10\\..*">>, [{restart_application, ssl}]}, {<<"9\\..*">>, [{restart_application, ssl}]}, {<<"8\\..*">>, [{restart_application, ssl}]}, @@ -11,6 +12,7 @@ {<<"3\\..*">>, [{restart_application, ssl}]} ], [ + {<<"11\\..*">>, [{restart_application, ssl}]}, {<<"10\\..*">>, [{restart_application, ssl}]}, {<<"9\\..*">>, [{restart_application, ssl}]}, {<<"8\\..*">>, [{restart_application, ssl}]}, diff --git a/lib/ssl/src/ssl.erl b/lib/ssl/src/ssl.erl index 0a1db0680485..2069c9912646 100644 --- a/lib/ssl/src/ssl.erl +++ b/lib/ssl/src/ssl.erl @@ -879,7 +879,7 @@ send(#sslsocket{pid = {ListenSocket, #config{transport_info = Info}}}, Data) -> %%-------------------------------------------------------------------- -spec recv(SslSocket, Length) -> {ok, Data} | {error, reason()} when SslSocket :: sslsocket(), - Length :: integer(), + Length :: non_neg_integer(), Data :: binary() | list() | HttpPacket, HttpPacket :: any(). @@ -888,13 +888,15 @@ recv(Socket, Length) -> -spec recv(SslSocket, Length, Timeout) -> {ok, Data} | {error, reason()} when SslSocket :: sslsocket(), - Length :: integer(), + Length :: non_neg_integer(), Data :: binary() | list() | HttpPacket, Timeout :: timeout(), HttpPacket :: any(). -recv(#sslsocket{pid = [Pid|_]}, Length, Timeout) when is_pid(Pid), - (is_integer(Timeout) andalso Timeout >= 0) or (Timeout == infinity)-> +recv(#sslsocket{pid = [Pid|_]}, Length, Timeout) + when is_pid(Pid) andalso + (is_integer(Length) andalso Length >= 0) andalso + ((is_integer(Timeout) andalso Timeout >= 0) orelse Timeout == infinity) -> ssl_gen_statem:recv(Pid, Length, Timeout); recv(#sslsocket{pid = {dtls,_}}, _, _) -> {error,enotconn}; @@ -999,7 +1001,7 @@ peercert(#sslsocket{pid = {_Listen, #config{}}}) -> -spec negotiated_protocol(SslSocket) -> {ok, Protocol} | {error, Reason} when SslSocket :: sslsocket(), Protocol :: binary(), - Reason :: protocol_not_negotiated. + Reason :: protocol_not_negotiated | closed. %% %% Description: Returns the protocol that has been negotiated. If no %% protocol has been negotiated will return {error, protocol_not_negotiated} @@ -1322,8 +1324,21 @@ getstat(#sslsocket{pid = [Pid|_], fd = {Transport, Socket, _}}, %% %% Description: Same as gen_tcp:shutdown/2 %%-------------------------------------------------------------------- -shutdown(#sslsocket{pid = {dtls, #config{}}},_) -> - {error, enotconn}; +shutdown(#sslsocket{pid = {dtls, #config{transport_info = Info}}}, _) -> + Transport = element(1, Info), + %% enotconn is what gen_tcp:shutdown on a listen socket will result with. + %% shutdown really is handling TCP functionality not present + %% with gen_udp or gen_sctp, but if a callback wrapper is supplied let + %% the error be the same as for gen_tcp as a wrapper could have + %% supplied it own logic and this is backwards compatible. + case Transport of + gen_udp -> + {error, notsup}; + gen_sctp -> + {error, notsup}; + _ -> + {error, enotconn} + end; shutdown(#sslsocket{pid = {Listen, #config{transport_info = Info}}}, How) -> Transport = element(1, Info), Transport:shutdown(Listen, How); @@ -2752,16 +2767,34 @@ do_format_error(closed) -> "TLS connection is closed"; do_format_error({tls_alert, {_, Description}}) -> Description; -do_format_error({options,{FileType, File, Reason}}) when FileType == cacertfile; - FileType == certfile; - FileType == keyfile; - FileType == dhfile -> +do_format_error({options,{FileType, File, Reason}}) + when FileType == cacertfile; + FileType == certfile; + FileType == keyfile; + FileType == dhfile -> Error = file_error_format(Reason), file_desc(FileType) ++ File ++ ": " ++ Error; do_format_error ({options, {socket_options, Option, Error}}) -> lists:flatten(io_lib:format("Invalid transport socket option ~p: ~s", [Option, do_format_error(Error)])); do_format_error({options, {socket_options, Option}}) -> lists:flatten(io_lib:format("Invalid socket option: ~p", [Option])); +do_format_error({options, incompatible, Opts}) -> + lists:flatten(io_lib:format("Options (or their values) can not be combined: ~p", [Opts])); +do_format_error({option, Reason, Opts}) -> + lists:flatten(io_lib:format("Invalid option ~w ~w", [Opts, Reason])); +do_format_error({options, Reason, Opts}) -> + lists:flatten(io_lib:format("Invalid option ~w ~w", [Opts, Reason])); +do_format_error({options, {missing_version=R, Opts}}) -> + lists:flatten(io_lib:format("Invalid option ~w ~w", [Opts, R])); +do_format_error({options, {option_not_a_key_value_tuple=R, Opts}}) -> + lists:flatten(io_lib:format("Invalid option ~w ~w", [Opts, R])); +do_format_error({options, {no_supported_algorithms=R, Opts}}) -> + lists:flatten(io_lib:format("Invalid option ~w ~w", [Opts, R])); +do_format_error({options, {no_supported_signature_schemes=R, Opts}}) -> + lists:flatten(io_lib:format("Invalid option ~w ~w", [Opts, R])); +do_format_error({options, {insufficient_crypto_support=R, Opts}}) -> + lists:flatten(io_lib:format("Invalid option ~w ~w", [Opts, R])); + do_format_error({options, Options}) -> lists:flatten(io_lib:format("Invalid TLS option: ~p", [Options])); diff --git a/lib/ssl/src/ssl_alert.erl b/lib/ssl/src/ssl_alert.erl index 6421c3ea5038..e23db08ffbba 100644 --- a/lib/ssl/src/ssl_alert.erl +++ b/lib/ssl/src/ssl_alert.erl @@ -155,8 +155,6 @@ description_txt(?DECRYPTION_FAILED_RESERVED) -> "Decryption Failed Reserved"; description_txt(?RECORD_OVERFLOW) -> "Record Overflow"; -description_txt(?DECOMPRESSION_FAILURE) -> - "Decompression Failure"; description_txt(?HANDSHAKE_FAILURE) -> "Handshake Failure"; description_txt(?NO_CERTIFICATE_RESERVED) -> @@ -226,8 +224,6 @@ description_atom(?DECRYPTION_FAILED_RESERVED) -> decryption_failed_reserved; description_atom(?RECORD_OVERFLOW) -> record_overflow; -description_atom(?DECOMPRESSION_FAILURE) -> - decompression_failure; description_atom(?HANDSHAKE_FAILURE) -> handshake_failure; description_atom(?NO_CERTIFICATE_RESERVED) -> diff --git a/lib/ssl/src/ssl_alert.hrl b/lib/ssl/src/ssl_alert.hrl index 90e32a4b2d55..de7f61746e9a 100644 --- a/lib/ssl/src/ssl_alert.hrl +++ b/lib/ssl/src/ssl_alert.hrl @@ -85,7 +85,7 @@ -define(BAD_RECORD_MAC, 20). -define(DECRYPTION_FAILED_RESERVED, 21). -define(RECORD_OVERFLOW, 22). --define(DECOMPRESSION_FAILURE, 30). +%%-define(DECOMPRESSION_FAILURE, 30). NOT USED -define(HANDSHAKE_FAILURE, 40). -define(NO_CERTIFICATE_RESERVED, 41). -define(BAD_CERTIFICATE, 42). diff --git a/lib/ssl/src/ssl_cipher.erl b/lib/ssl/src/ssl_cipher.erl index 8d982f7fa205..33085bb7cf64 100644 --- a/lib/ssl/src/ssl_cipher.erl +++ b/lib/ssl/src/ssl_cipher.erl @@ -925,9 +925,9 @@ generic_block_cipher_from_bin(?TLS_1_0, T, IV, HashSize)-> PadLength0 >= Sz1 -> 0; true -> PadLength0 end, - CompressedLength = byte_size(T) - PadLength - 1 - HashSize, - <> = T, + Length = byte_size(T) - PadLength - 1 - HashSize, + <> = T, #generic_block_cipher{content=Content, mac=Mac, padding=Padding, padding_length=PadLength0, next_iv = IV}; @@ -937,8 +937,8 @@ generic_block_cipher_from_bin(Version, T, IV, HashSize) Sz1 = byte_size(T) - 1, <<_:Sz1/binary, ?BYTE(PadLength)>> = T, IVLength = byte_size(IV), - CompressedLength = byte_size(T) - IVLength - PadLength - 1 - HashSize, - <> = T, #generic_block_cipher{content=Content, mac=Mac, padding=Padding, padding_length=PadLength, @@ -946,8 +946,8 @@ generic_block_cipher_from_bin(Version, T, IV, HashSize) generic_stream_cipher_from_bin(T, HashSz) -> Sz = byte_size(T), - CompressedLength = Sz - HashSz, - <> = T, + Length = Sz - HashSz, + <> = T, #generic_stream_cipher{content=Content, mac=Mac}. diff --git a/lib/ssl/src/ssl_connection.hrl b/lib/ssl/src/ssl_connection.hrl index c8295f339fbd..6c0a937b04ce 100644 --- a/lib/ssl/src/ssl_connection.hrl +++ b/lib/ssl/src/ssl_connection.hrl @@ -172,7 +172,6 @@ %% %% connection_state :: map() %% -%% compression_state - not used %% mac_secret - not used %% sequence_number - not used %% secure_renegotiation - not used, no renegotiation_info in TLS 1.3 @@ -190,7 +189,6 @@ %% mac_algorithm - not used %% prf_algorithm - not used %% hash_size - not used -%% compression_algorithm - not used %% master_secret - used for multiple secret types in TLS 1.3 %% client_random - not used %% server_random - not used diff --git a/lib/ssl/src/ssl_gen_statem.erl b/lib/ssl/src/ssl_gen_statem.erl index 12a4721a09cc..348abe6125d5 100644 --- a/lib/ssl/src/ssl_gen_statem.erl +++ b/lib/ssl/src/ssl_gen_statem.erl @@ -824,7 +824,7 @@ handle_call({shutdown, read_write = How}, From, StateName, try send_alert(?ALERT_REC(?WARNING, ?CLOSE_NOTIFY), StateName, State) of _ -> - case Transport:shutdown(Socket, How) of + try Transport:shutdown(Socket, How) of ok -> {next_state, StateName, State#state{connection_env = CEnv#connection_env{socket_terminated = true}}, @@ -832,6 +832,9 @@ handle_call({shutdown, read_write = How}, From, StateName, Error -> {stop_and_reply, {shutdown, normal}, {reply, From, Error}, State#state{connection_env = CEnv#connection_env{socket_terminated = true}}} + catch error:{undef, _} -> + {stop_and_reply, {shutdown, normal}, {reply, From, {error, notsup}}, + State#state{connection_env = CEnv#connection_env{socket_terminated = true}}} end catch throw:Return -> @@ -1071,10 +1074,11 @@ handle_normal_shutdown(Alert, StateName, #state{static_env = #static_env{role = protocol_cb = Connection, trackers = Trackers}, connection_env = #connection_env{user_application = {_Mon, Pid}}, + handshake_env = #handshake_env{renegotiation = Type}, socket_options = Opts, start_or_recv_from = RecvFrom} = State) -> Pids = Connection:pids(State), - alert_user(Pids, Transport, Trackers, Socket, StateName, Opts, Pid, RecvFrom, Alert, Role, StateName, Connection). + alert_user(Pids, Transport, Trackers, Socket, Type, Opts, Pid, RecvFrom, Alert, Role, StateName, Connection). handle_alert(#alert{level = ?FATAL} = Alert, StateName, State) -> handle_fatal_alert(Alert, StateName, State); @@ -1876,9 +1880,11 @@ send_user(Pid, Msg) -> Pid ! Msg, ok. -alert_user(Pids, Transport, Trackers, Socket, connection, Opts, Pid, From, Alert, Role, StateName, Connection) -> +alert_user(Pids, Transport, Trackers, Socket, _, Opts, Pid, From, Alert, Role, connection = StateName, Connection) -> + alert_user(Pids, Transport, Trackers, Socket, Opts#socket_options.active, Pid, From, Alert, Role, StateName, Connection); +alert_user(Pids, Transport, Trackers, Socket, {true, internal}, Opts, Pid, From, Alert, Role, StateName, Connection) -> alert_user(Pids, Transport, Trackers, Socket, Opts#socket_options.active, Pid, From, Alert, Role, StateName, Connection); -alert_user(Pids, Transport, Trackers, Socket,_, _, _, From, Alert, Role, StateName, Connection) -> +alert_user(Pids, Transport, Trackers, Socket, _, _, _, From, Alert, Role, StateName, Connection) -> alert_user(Pids, Transport, Trackers, Socket, From, Alert, Role, StateName, Connection). alert_user(Pids, Transport, Trackers, Socket, From, Alert, Role, StateName, Connection) -> @@ -2047,6 +2053,8 @@ get_socket_opts(Connection, Transport, Socket, [Tag | Tags], SockOpts, Acc) -> case Connection:getopts(Transport, Socket, [Tag]) of {ok, [Opt]} -> get_socket_opts(Connection, Transport, Socket, Tags, SockOpts, [Opt | Acc]); + {ok, []} -> + get_socket_opts(Connection, Transport, Socket, Tags, SockOpts, Acc); {error, Reason} -> {error, {options, {socket_options, Tag, Reason}}} end; @@ -2176,18 +2184,6 @@ ssl_options_list([{Key, Value}|T], Acc) -> maybe_add_keylog(Info) -> maybe_add_keylog(lists:keyfind(protocol, 1, Info), Info). -maybe_add_keylog({_, 'tlsv1.2'}, Info) -> - try - {client_random, ClientRandomBin} = lists:keyfind(client_random, 1, Info), - {master_secret, MasterSecretBin} = lists:keyfind(master_secret, 1, Info), - ClientRandom = binary:decode_unsigned(ClientRandomBin), - MasterSecret = binary:decode_unsigned(MasterSecretBin), - Keylog = [io_lib:format("CLIENT_RANDOM ~64.16.0B ~96.16.0B", [ClientRandom, MasterSecret])], - Info ++ [{keylog,Keylog}] - catch - _Cxx:_Exx -> - Info - end; maybe_add_keylog({_, 'tlsv1.3'}, Info) -> try {client_random, ClientRandomBin} = lists:keyfind(client_random, 1, Info), @@ -2235,6 +2231,18 @@ maybe_add_keylog({_, 'tlsv1.3'}, Info) -> _Cxx:_Exx -> Info end; +maybe_add_keylog({_, _}, Info) -> + try + {client_random, ClientRandomBin} = lists:keyfind(client_random, 1, Info), + {master_secret, MasterSecretBin} = lists:keyfind(master_secret, 1, Info), + ClientRandom = binary:decode_unsigned(ClientRandomBin), + MasterSecret = binary:decode_unsigned(MasterSecretBin), + Keylog = [io_lib:format("CLIENT_RANDOM ~64.16.0B ~96.16.0B", [ClientRandom, MasterSecret])], + Info ++ [{keylog,Keylog}] + catch + _Cxx:_Exx -> + Info + end; maybe_add_keylog(_, Info) -> Info. diff --git a/lib/ssl/src/ssl_handshake.erl b/lib/ssl/src/ssl_handshake.erl index fb303729998b..54cceadb8ec5 100644 --- a/lib/ssl/src/ssl_handshake.erl +++ b/lib/ssl/src/ssl_handshake.erl @@ -70,13 +70,13 @@ %% Cipher suites handling -export([available_suites/2, available_signature_algs/2, available_signature_algs/3, - cipher_suites/3, prf/6, select_session/9, + cipher_suites/3, prf/6, select_session/8, premaster_secret/2, premaster_secret/3, premaster_secret/4]). %% Extensions handling -export([client_hello_extensions/10, handle_client_hello_extensions/10, %% Returns server hello extensions - handle_server_hello_extensions/10, select_curve/2, select_curve/3, + handle_server_hello_extensions/9, select_curve/2, select_curve/3, select_hashsign/4, select_hashsign/5, select_hashsign_algs/3, empty_extensions/2, add_server_share/3, add_alpn/2, add_selected_version/1, decode_alpn/1, max_frag_enum/1 @@ -115,8 +115,6 @@ server_hello(SessionId, Version, ConnectionStates, Extensions) -> ssl_record:pending_connection_state(ConnectionStates, read), #server_hello{server_version = Version, cipher_suite = SecParams#security_parameters.cipher_suite, - compression_method = - SecParams#security_parameters.compression_algorithm, random = SecParams#security_parameters.server_random, session_id = SessionId, extensions = Extensions @@ -544,14 +542,13 @@ encode_handshake(#server_hello{server_version = ServerVersion, random = Random, session_id = Session_ID, cipher_suite = CipherSuite, - compression_method = Comp_method, extensions = Extensions}, _Version) -> SID_length = byte_size(Session_ID), {Major,Minor} = ServerVersion, ExtensionsBin = encode_hello_extensions(Extensions), {?SERVER_HELLO, <>}; + ?BYTE(SID_length), Session_ID/binary, + CipherSuite/binary, ?BYTE(?NO_COMPRESSION), ExtensionsBin/binary>>}; encode_handshake(#certificate{asn1_certificates = ASN1CertList}, _Version) -> ASN1Certs = certs_from_list(ASN1CertList), ACLen = erlang:iolist_size(ASN1Certs), @@ -850,28 +847,26 @@ decode_handshake(_, ?NEXT_PROTOCOL, <>) -> + ?BYTE(SID_length), Session_ID:SID_length/binary, + Cipher_suite:2/binary, ?BYTE(?NO_COMPRESSION)>>) -> #server_hello{ server_version = {Major,Minor}, random = Random, session_id = Session_ID, cipher_suite = Cipher_suite, - compression_method = Comp_method, extensions = empty_extensions(Version, server_hello)}; -decode_handshake(Version, ?SERVER_HELLO, <>) -> +decode_handshake(Version, ?SERVER_HELLO, + <>) -> HelloExtensions = decode_hello_extensions(Extensions, Version, {Major, Minor}, server_hello), - #server_hello{ server_version = {Major,Minor}, random = Random, session_id = Session_ID, cipher_suite = Cipher_suite, - compression_method = Comp_method, extensions = HelloExtensions}; decode_handshake(_Version, ?CERTIFICATE, <>) -> #certificate{asn1_certificates = certs_to_list(ASN1Certs)}; @@ -1064,7 +1059,8 @@ prf(Version, PRFAlgo, Secret, Label, Seed, WantedLength) when ?TLS_1_X(Version)-> {ok, tls_v1:prf(PRFAlgo, Secret, Label, Seed, WantedLength)}. -select_session(SuggestedSessionId, CipherSuites, HashSigns, Compressions, SessIdTracker, Session0, Version, SslOpts, CertKeyAlts) -> +select_session(SuggestedSessionId, CipherSuites, HashSigns, SessIdTracker, Session0, + Version, SslOpts, CertKeyAlts) -> CertKeyPairs = ssl_certificate:available_cert_key_pairs(CertKeyAlts, Version), {SessionId, Resumed} = ssl_session:server_select_session(Version, SessIdTracker, SuggestedSessionId, SslOpts, CertKeyPairs), @@ -1072,25 +1068,22 @@ select_session(SuggestedSessionId, CipherSuites, HashSigns, Compressions, SessId undefined -> %% Select Cert Session = new_session_parameters(SessionId, Session0, CipherSuites, - SslOpts, Version, Compressions, - HashSigns, CertKeyPairs), + SslOpts, Version, HashSigns, CertKeyPairs), {new, Session}; _ -> {resumed, Resumed} end. - new_session_parameters(SessionId, #session{ecc = ECCCurve0} = Session, CipherSuites, SslOpts, - Version, Compressions, HashSigns, CertKeyPairs) -> - Compression = select_compression(Compressions), - {Certs, Key, {ECCCurve, CipherSuite}} = server_select_cert_key_pair_and_params(CipherSuites, CertKeyPairs, HashSigns, - ECCCurve0, SslOpts, Version), + Version, HashSigns, CertKeyPairs) -> + {Certs, Key, {ECCCurve, CipherSuite}} = + server_select_cert_key_pair_and_params(CipherSuites, CertKeyPairs, HashSigns, + ECCCurve0, SslOpts, Version), Session#session{session_id = SessionId, ecc = ECCCurve, own_certificates = Certs, private_key = Key, - cipher_suite = CipherSuite, - compression_method = Compression}. + cipher_suite = CipherSuite}. %% Possibly support part of "trusted_ca_keys" extension that corresponds to TLS-1.3 certificate_authorities?! @@ -1473,15 +1466,14 @@ handle_client_hello_extensions(RecordCB, Random, ClientCipherSuites, Exts, Version, #{secure_renegotiate := SecureRenegotation, alpn_preferred_protocols := ALPNPreferredProtocols} = Opts, - #session{cipher_suite = NegotiatedCipherSuite, - compression_method = Compression} = Session0, + #session{cipher_suite = NegotiatedCipherSuite} = Session0, ConnectionStates0, Renegotiation, IsResumed) -> Session = handle_srp_extension(maps:get(srp, Exts, undefined), Session0), MaxFragEnum = handle_mfl_extension(maps:get(max_frag_enum, Exts, undefined)), ConnectionStates1 = ssl_record:set_max_fragment_length(MaxFragEnum, ConnectionStates0), ConnectionStates = handle_renegotiation_extension(server, RecordCB, Version, maps:get(renegotiation_info, Exts, undefined), Random, NegotiatedCipherSuite, - ClientCipherSuites, Compression, + ClientCipherSuites, ConnectionStates1, Renegotiation, SecureRenegotation), Empty = empty_extensions(Version, server_hello), @@ -1515,7 +1507,7 @@ handle_client_hello_extensions(RecordCB, Random, ClientCipherSuites, encode_protocols_advertised_on_server(ProtocolsToAdvertise)}} end. -handle_server_hello_extensions(RecordCB, Random, CipherSuite, Compression, +handle_server_hello_extensions(RecordCB, Random, CipherSuite, Exts, Version, #{secure_renegotiate := SecureRenegotation} = SslOpts, @@ -1523,7 +1515,7 @@ handle_server_hello_extensions(RecordCB, Random, CipherSuite, Compression, ConnectionStates = handle_renegotiation_extension(client, RecordCB, Version, maps:get(renegotiation_info, Exts, undefined), Random, CipherSuite, undefined, - Compression, ConnectionStates0, + ConnectionStates0, Renegotiation, SecureRenegotation), %% RFC 6066: handle received/expected maximum fragment length @@ -1626,7 +1618,7 @@ select_hashsign({ClientHashSigns, ClientSignatureSchemes}, select_hashsign({#hash_sign_algos{hash_sign_algos = ClientHashSigns}, ClientSignatureSchemes0}, Cert, KeyExAlgo, SupportedHashSigns, ?TLS_1_2) -> - ClientSignatureSchemes = get_signature_scheme(ClientSignatureSchemes0), + ClientSignatureSchemes = client_signature_schemes(ClientHashSigns, ClientSignatureSchemes0), {SignAlgo0, Param, PublicKeyAlgo0, _, _} = get_cert_params(Cert), SignAlgo = sign_algo(SignAlgo0, Param), PublicKeyAlgo = ssl_certificate:public_key_type(PublicKeyAlgo0), @@ -1647,7 +1639,7 @@ select_hashsign({#hash_sign_algos{hash_sign_algos = ClientHashSigns}, %% If no "signature_algorithms_cert" extension is %% present, then the "signature_algorithms" extension also applies to %% signatures appearing in certificates. - case is_supported_sign(SignAlgo, Param, ClientHashSigns, ClientSignatureSchemes) of + case is_supported_sign(SignAlgo, ClientSignatureSchemes) of true -> case (KeyExAlgo == psk) orelse @@ -1657,9 +1649,9 @@ select_hashsign({#hash_sign_algos{hash_sign_algos = ClientHashSigns}, (KeyExAlgo == dh_anon) orelse (KeyExAlgo == ecdhe_anon) of true -> - ClientHashSigns; + ClientSignatureSchemes; false -> - do_select_hashsign(ClientHashSigns, PublicKeyAlgo, SupportedHashSigns) + do_select_hashsign(ClientSignatureSchemes, PublicKeyAlgo, SupportedHashSigns) end; false -> ?ALERT_REC(?FATAL, ?INSUFFICIENT_SECURITY, no_suitable_signature_algorithm) @@ -1684,11 +1676,10 @@ select_hashsign(#certificate_request{ SupportedHashSigns, ?TLS_1_2) -> {SignAlgo0, Param, PublicKeyAlgo0, _, _} = get_cert_params(Cert), - SignAlgo = {_, KeyType} = sign_algo(SignAlgo0, Param), + SignAlgo = sign_algo(SignAlgo0, Param), PublicKeyAlgo = ssl_certificate:public_key_type(PublicKeyAlgo0), - SignatureSchemes = [Scheme || Scheme <- HashSigns, is_atom(Scheme), (KeyType == rsa_pss_pss) or (KeyType == rsa)], case is_acceptable_cert_type(PublicKeyAlgo, Types) andalso - is_supported_sign(SignAlgo, Param, HashSigns, SignatureSchemes) of + is_supported_sign(SignAlgo, HashSigns) of true -> do_select_hashsign(HashSigns, PublicKeyAlgo, SupportedHashSigns); false -> @@ -1706,26 +1697,56 @@ select_hashsign(#certificate_request{certificate_types = Types}, Cert, _, Versio ?ALERT_REC(?FATAL, ?INSUFFICIENT_SECURITY, no_suitable_signature_algorithm) end. - do_select_hashsign(HashSigns, PublicKeyAlgo, SupportedHashSigns) -> - case lists:filter(fun({H, rsa_pss_pss = S} = Algos) when S == PublicKeyAlgo -> - is_acceptable_hash_sign(list_to_existing_atom(atom_to_list(S) ++ "_" ++ atom_to_list(H)), SupportedHashSigns) orelse - is_acceptable_hash_sign(Algos, SupportedHashSigns); - ({H, rsa_pss_rsae = S} = Algos) when PublicKeyAlgo == rsa -> - is_acceptable_hash_sign(list_to_existing_atom(atom_to_list(S) ++ "_" ++ atom_to_list(H)), SupportedHashSigns) orelse - is_acceptable_hash_sign(Algos, SupportedHashSigns); - ({_, S} = Algos) when S == PublicKeyAlgo -> - is_acceptable_hash_sign(Algos, SupportedHashSigns); - (_A) -> - false - end, HashSigns) of + TLS12Scheme = + fun(Scheme) -> + {H, S, _} = ssl_cipher:scheme_to_components(Scheme), + case S of + rsa_pkcs1 when PublicKeyAlgo == rsa -> + is_acceptable_hash_sign({H, rsa}, SupportedHashSigns) %% TLS-1.2 name + orelse is_acceptable_hash_sign(Scheme, SupportedHashSigns); %% TLS-1.3 legacy name + rsa_pss_rsae when PublicKeyAlgo == rsa -> %% Backported + is_acceptable_hash_sign(Scheme, SupportedHashSigns); + rsa_pss_pss when PublicKeyAlgo == rsa_pss_pss -> %% Backported + is_acceptable_hash_sign(Scheme, SupportedHashSigns); + ecdsa when (PublicKeyAlgo == ecdsa) andalso (H == sha) -> + is_acceptable_hash_sign({H, S}, SupportedHashSigns) orelse %% TLS-1.2 name + is_acceptable_hash_sign(Scheme, SupportedHashSigns); %% TLS-1.3 legacy name + _ -> + false + end + end, + + case lists:filter( + fun({H, rsa_pss_pss = S} = Algos) when S == PublicKeyAlgo -> + %% Backported from TLS-1.3, but only TLS-1.2 configured + is_acceptable_hash_sign(list_to_existing_atom(atom_to_list(S) ++ "_" ++ atom_to_list(H)), + SupportedHashSigns) orelse + is_acceptable_hash_sign(Algos, SupportedHashSigns); + ({H, rsa_pss_rsae = S} = Algos) when PublicKeyAlgo == rsa -> + %% Backported from TLS-1.3, but only TLS-1.2 configured + is_acceptable_hash_sign(list_to_existing_atom(atom_to_list(S) ++ "_" ++ atom_to_list(H)), + SupportedHashSigns) orelse + is_acceptable_hash_sign(Algos, SupportedHashSigns); + ({_, S} = Algos) when S == PublicKeyAlgo -> + is_acceptable_hash_sign(Algos, SupportedHashSigns); + %% Backported or legacy schemes from TLS-1.3 (TLS-1.2 negotiated when TLS-1.3 supported) + (Scheme) when is_atom(Scheme) -> + TLS12Scheme(Scheme); + (_) -> + false + end, HashSigns) of [] -> ?ALERT_REC(?FATAL, ?INSUFFICIENT_SECURITY, no_suitable_signature_algorithm); [HashSign | _] -> - HashSign + case ssl_cipher:scheme_to_components(HashSign) of + {Hash, rsa_pkcs1, _} -> + {Hash, rsa}; + {Hash, Sign, _} -> + {Hash, Sign} + end end. - %% Gets the relevant parameters of a certificate: %% - signature algorithm %% - parameters of the signature algorithm @@ -1845,10 +1866,10 @@ select_own_cert([OwnCert| _]) -> select_own_cert(undefined) -> undefined. -get_signature_scheme(undefined) -> - []; -get_signature_scheme(#signature_algorithms_cert{ - signature_scheme_list = ClientSignatureSchemes}) -> +client_signature_schemes(ClientHashSigns, undefined) -> + ClientHashSigns; +client_signature_schemes(_, #signature_algorithms_cert{ + signature_scheme_list = ClientSignatureSchemes}) -> ClientSignatureSchemes. @@ -2347,7 +2368,7 @@ calc_master_secret(Version, PrfAlgo, PremasterSecret, ClientRandom, ServerRandom %% hello messages %% NOTE : Role is the role of the receiver of the hello message %% currently being processed. -hello_pending_connection_states(_RecordCB, Role, Version, CipherSuite, Random, Compression, +hello_pending_connection_states(_RecordCB, Role, Version, CipherSuite, Random, ConnectionStates) -> ReadState = ssl_record:pending_connection_state(ConnectionStates, read), @@ -2355,36 +2376,27 @@ hello_pending_connection_states(_RecordCB, Role, Version, CipherSuite, Random, C ssl_record:pending_connection_state(ConnectionStates, write), NewReadSecParams = - hello_security_parameters(Role, Version, ReadState, CipherSuite, - Random, Compression), - + hello_security_parameters(Role, Version, ReadState, CipherSuite, Random), + NewWriteSecParams = - hello_security_parameters(Role, Version, WriteState, CipherSuite, - Random, Compression), + hello_security_parameters(Role, Version, WriteState, CipherSuite, Random), ssl_record:set_security_params(NewReadSecParams, NewWriteSecParams, ConnectionStates). -hello_security_parameters(client, Version, #{security_parameters := SecParams}, CipherSuite, Random, - Compression) -> +hello_security_parameters(client, Version, #{security_parameters := SecParams}, + CipherSuite, Random) -> NewSecParams = ssl_cipher:security_parameters(Version, CipherSuite, SecParams), - NewSecParams#security_parameters{ - server_random = Random, - compression_algorithm = Compression - }; + NewSecParams#security_parameters{server_random = Random}; -hello_security_parameters(server, Version, #{security_parameters := SecParams}, CipherSuite, Random, - Compression) -> +hello_security_parameters(server, Version, #{security_parameters := SecParams}, + CipherSuite, Random) -> NewSecParams = ssl_cipher:security_parameters(Version, CipherSuite, SecParams), NewSecParams#security_parameters{ - client_random = Random, - compression_algorithm = Compression + client_random = Random }. -select_compression(_CompressionMetodes) -> - ?NULL. - do_select_version(_, ClientVersion, []) -> ClientVersion; do_select_version(RecordCB, ClientVersion, [Version | Versions]) -> @@ -3384,7 +3396,7 @@ filter_unavailable_ecc_suites(_, Suites) -> %%-------------Extension handling -------------------------------- handle_renegotiation_extension(Role, RecordCB, Version, Info, Random, NegotiatedCipherSuite, - ClientCipherSuites, Compression, + ClientCipherSuites, ConnectionStates0, Renegotiation, SecureRenegotation) -> {ok, ConnectionStates} = handle_renegotiation_info(Version, RecordCB, Role, Info, ConnectionStates0, Renegotiation, SecureRenegotation, @@ -3393,7 +3405,6 @@ handle_renegotiation_extension(Role, RecordCB, Version, Info, Random, Negotiated Version, NegotiatedCipherSuite, Random, - Compression, ConnectionStates). %% Receive protocols, choose one from the list, return it. @@ -3470,9 +3481,6 @@ is_acceptable_hash_sign(Algos, SupportedHashSigns) -> is_acceptable_cert_type(Sign, Types) -> lists:member(sign_type(Sign), binary_to_list(Types)). -%% signature_algorithms_cert = undefined -is_supported_sign(SignAlgo, _, HashSigns, []) -> - ssl_cipher:is_supported_sign(SignAlgo, HashSigns); %% {'SignatureAlgorithm',{1,2,840,113549,1,1,11},'NULL'} %% TODO: Implement validation for the curve used in the signature %% RFC 3279 - 2.2.3 ECDSA Signature Algorithm @@ -3484,13 +3492,17 @@ is_supported_sign(SignAlgo, _, HashSigns, []) -> %% The elliptic curve parameters in the subjectPublicKeyInfo field of %% the certificate of the issuer SHALL apply to the verification of the %% signature. -is_supported_sign({Hash, Sign}, _Param, _, SignatureSchemes) -> +is_supported_sign({Hash, Sign}, SignatureSchemes) -> Fun = fun (Scheme) -> {H, S0, _} = ssl_cipher:scheme_to_components(Scheme), S1 = case S0 of - rsa_pkcs1 -> rsa; - S -> S - end, + rsa_pkcs1 -> + rsa; + rsa_pss_rsae -> + rsa; + S -> + S + end, (Sign =:= S1) andalso (Hash =:= H) end, lists:any(Fun, SignatureSchemes). diff --git a/lib/ssl/src/ssl_handshake.hrl b/lib/ssl/src/ssl_handshake.hrl index ada0c774d56a..522a8bfd628e 100644 --- a/lib/ssl/src/ssl_handshake.hrl +++ b/lib/ssl/src/ssl_handshake.hrl @@ -43,7 +43,6 @@ peer_certificate, own_certificates, private_key, - compression_method, cipher_suite, master_secret, srp_username, @@ -123,10 +122,9 @@ -record(server_hello, { server_version, - random, + random, session_id, % opaque SessionID<0..32> cipher_suite, % cipher_suites - compression_method, % compression_method extensions }). diff --git a/lib/ssl/src/ssl_internal.hrl b/lib/ssl/src/ssl_internal.hrl index f98be277bfe5..cbe497616aa4 100644 --- a/lib/ssl/src/ssl_internal.hrl +++ b/lib/ssl/src/ssl_internal.hrl @@ -74,6 +74,9 @@ -define(TRUE, 0). -define(FALSE, 1). + +-define(NO_COMPRESSION, ?NULL). + %% sslv3 is considered insecure due to lack of padding check (Poodle attack) %% Keep as interop with legacy software but do not support as default %% tlsv1.0 and tlsv1.1 is now also considered legacy diff --git a/lib/ssl/src/ssl_manager.erl b/lib/ssl/src/ssl_manager.erl index 2e96624a2b21..58019b53bc54 100644 --- a/lib/ssl/src/ssl_manager.erl +++ b/lib/ssl/src/ssl_manager.erl @@ -33,7 +33,7 @@ lookup_trusted_cert/4, clean_cert_db/2, refresh_trusted_db/1, refresh_trusted_db/2, - register_session/2, register_session/4, invalidate_session/2, + register_session/4, invalidate_session/2, insert_crls/2, insert_crls/3, delete_crls/1, delete_crls/2, invalidate_session/3, name/1]). @@ -185,9 +185,6 @@ register_session(Host, Port, Session, true) -> register_session(Host, Port, Session, unique = Save) -> cast({register_session, Host, Port, Session, Save}). --spec register_session(inet:port_number(), #session{}) -> ok. -register_session(Port, Session) -> - cast({register_session, Port, Session}). %%-------------------------------------------------------------------- %% %% Description: Make the session unavailable for reuse. After @@ -308,7 +305,7 @@ handle_call({{delete_crls, CRLsOrPath}, _}, _From, #state{certificate_db = Db} = State) -> ssl_pkix_db:remove_crls(Db, CRLsOrPath), {reply, ok, State}; -handle_call({{register_session, Host, Port, Session},_}, _, State0) -> +handle_call({{register_session, Host, Port, Session}, _}, _, State0) -> State = client_register_session(Host, Port, Session, State0), {reply, ok, State}; handle_call({refresh_trusted_db, _}, _, #state{certificate_db = Db} = State) -> @@ -332,9 +329,6 @@ handle_cast({register_session, Host, Port, Session, unique}, State0) -> State = client_register_unique_session(Host, Port, Session, State0), {noreply, State}; -handle_cast({register_session, Host, Port, Session, true}, State0) -> - State = client_register_session(Host, Port, Session, State0), - {noreply, State}; handle_cast({invalidate_session, Host, Port, #session{session_id = ID} = Session}, #state{session_cache_client = Cache, @@ -556,14 +550,12 @@ exists_equivalent(_, []) -> exists_equivalent(#session{ peer_certificate = PeerCert, own_certificates = [OwnCert | _], - compression_method = Compress, cipher_suite = CipherSuite, srp_username = SRP, ecc = ECC} , [#session{ peer_certificate = PeerCert, own_certificates = [OwnCert | _], - compression_method = Compress, cipher_suite = CipherSuite, srp_username = SRP, ecc = ECC} | _]) -> diff --git a/lib/ssl/src/ssl_record.erl b/lib/ssl/src/ssl_record.erl index 9daee92c5bac..bef51b3d21d4 100644 --- a/lib/ssl/src/ssl_record.erl +++ b/lib/ssl/src/ssl_record.erl @@ -48,9 +48,6 @@ step_encryption_state_read/1, step_encryption_state_write/1]). -%% Compression --export([compress/3, uncompress/3, compressions/0]). - %% Payload encryption/decryption -export([cipher/4, cipher/5, decipher/4, cipher_aead/4, cipher_aead/5, decipher_aead/5, @@ -335,24 +332,6 @@ set_pending_cipher_state(#{pending_read := Read, pending_read => Read#{cipher_state => ServerState}, pending_write => Write#{cipher_state => ClientState}}. -%%==================================================================== -%% Compression -%%==================================================================== - -uncompress(?NULL, Data, CS) -> - {Data, CS}. - -compress(?NULL, Data, CS) -> - {Data, CS}. - -%%-------------------------------------------------------------------- --spec compressions() -> [integer()]. -%% -%% Description: return a list of compressions supported (currently none) -%%-------------------------------------------------------------------- -compressions() -> - [?NULL]. - %%==================================================================== %% Payload encryption/decryption %%==================================================================== @@ -476,7 +455,6 @@ empty_connection_state(ConnectionEnd, Version, SecParams = init_security_parameters(ConnectionEnd, Version), #{security_parameters => SecParams, beast_mitigation => BeastMitigation, - compression_state => undefined, cipher_state => undefined, mac_secret => undefined, secure_renegotiation => undefined, @@ -516,8 +494,7 @@ record_protocol_role(server) -> ?SERVER. initial_security_params(ConnectionEnd) -> - SecParams = #security_parameters{connection_end = ConnectionEnd, - compression_algorithm = ?NULL}, + SecParams = #security_parameters{connection_end = ConnectionEnd}, ssl_cipher:security_parameters(?TLS_NULL_WITH_NULL_NULL, SecParams). -define(end_additional_data(AAD, Len), << (begin(AAD)end)/binary, ?UINT16(begin(Len)end) >>). diff --git a/lib/ssl/src/ssl_record.hrl b/lib/ssl/src/ssl_record.hrl index c58a931ab539..c3ef944a7770 100644 --- a/lib/ssl/src/ssl_record.hrl +++ b/lib/ssl/src/ssl_record.hrl @@ -33,7 +33,6 @@ %% For documentation purposes are now maps in implementation %% -record(connection_state, { %% security_parameters, -%% compression_state, %% cipher_state, %% mac_secret, %% sequence_number, @@ -64,7 +63,6 @@ mac_algorithm, % unit 8 prf_algorithm, % unit 8 hash_size, % unit 8 - compression_algorithm, % unit 8 master_secret, % opaque 48 resumption_master_secret, application_traffic_secret, @@ -124,15 +122,6 @@ -define(SHA384, 5). -define(SHA512, 6). -%% CompressionMethod -% -define(NULL, 0). %% Already defined by ssl_internal.hrl - - --record(compression_state, { - method, - state - }). - %% See also cipher.hrl for #cipher_state{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -152,7 +141,6 @@ -define(KNOWN_RECORD_TYPE(Type), (is_integer(Type) andalso (20 =< (Type)) andalso ((Type) =< 23))). -define(MAX_PLAIN_TEXT_LENGTH, 16384). --define(MAX_COMPRESSED_LENGTH, (?MAX_PLAIN_TEXT_LENGTH+1024)). -define(MAX_CIPHER_TEXT_LENGTH, (?MAX_PLAIN_TEXT_LENGTH+2048)). -define(TLS13_MAX_CIPHER_TEXT_LENGTH, (?MAX_PLAIN_TEXT_LENGTH+256)). -define(MAX_PADDING_LENGTH,256). diff --git a/lib/ssl/src/ssl_session.erl b/lib/ssl/src/ssl_session.erl index 721a9ef4d50d..3f1a7ea5bceb 100644 --- a/lib/ssl/src/ssl_session.erl +++ b/lib/ssl/src/ssl_session.erl @@ -200,14 +200,13 @@ is_resumable(SuggestedSessionId, SessIdTracker, case ssl_server_session_cache:reuse_session(SessIdTracker, SuggestedSessionId) of #session{cipher_suite = CipherSuite, own_certificates = [SessionOwnCert | _], - compression_method = Compression, is_resumable = IsResumable, peer_certificate = PeerCert} = Session -> case resumable(IsResumable) andalso is_owncert(SessionOwnCert, OwnCertKeyPairs) andalso reusable_options(Options, Session) andalso ReuseFun(SuggestedSessionId, PeerCert, - Compression, CipherSuite) + ?NO_COMPRESSION, CipherSuite) of true -> {true, Session}; false -> {false, undefined} diff --git a/lib/ssl/src/ssl_trace.erl b/lib/ssl/src/ssl_trace.erl index c8ac32712e7b..70ac33004c19 100644 --- a/lib/ssl/src/ssl_trace.erl +++ b/lib/ssl/src/ssl_trace.erl @@ -432,7 +432,7 @@ trace_profiles() -> {client_hello_extensions, 10}, {cert_status_check, 5}, {get_ocsp_responder_list, 1}, {handle_ocsp_extension, 2}, {path_validation, 10}, - {handle_server_hello_extensions, 10}, + {handle_server_hello_extensions, 9}, {handle_client_hello_extensions, 10}, {cert_status_check, 5}]}, {public_key, [{ocsp_extensions, 1}, {pkix_ocsp_validate, 5}, @@ -509,4 +509,43 @@ trace_profiles() -> {dtls_gen_connection, [{handle_info,3}]}, {ssl_gen_statem, - [{hibernate_after, 3}, {handle_common_event, 4}]}]}]. + [{hibernate_after, 3}, {handle_common_event, 4}]}]}, + {ct, %% common_test + fun(M, F, A) -> dbg:tpl(M, F, A, x) end, + fun(M, F, A) -> dbg:ctpl(M, F, A) end, + [ + %% {ct_test_support, %% module from test and not src folder, enable it manually if needed + %% [{run_ct_run_test, 2}, + %% {run_ct_script_start, 2}, + %% {run, 2}, + %% {init_per_suite, 2}, + %% {start_slave, 3}]}, + {test_server, [ + {ts_tc, 3}, + {user_callback, 5}, + {fw_error_notify, 4}, + {get_loc, 1}, + {set_tc_state, 1}, + {init_per_testcase, 3}, + {run_test_case_msgloop, 1}, + {run_test_case_eval1, 6}, + {do_init_tc_call, 4}, + {process_return_val, 6}, + {do_end_tc_call, 4}, + {end_per_testcase, 3}, + {call_end_conf, 7}, + {do_call_end_conf, 7}, + {call_end_conf, 7}, + {handle_tc_exit, 2}, + {capture_start, 0}, + {capture_stop, 0}, + {capture_get, 0}, + {fail, 0}, + {fail, 1}, + {timetrap, 4}, + {start_node, 3}, + {comment, 1} + ]} + %% ,{ct_util, [{mark_process, 0}]} + ] + }]. diff --git a/lib/ssl/src/tls_dtls_connection.erl b/lib/ssl/src/tls_dtls_connection.erl index c2edbffe3000..3512a5fbc07f 100644 --- a/lib/ssl/src/tls_dtls_connection.erl +++ b/lib/ssl/src/tls_dtls_connection.erl @@ -108,8 +108,7 @@ prf(ConnectionPid, Secret, Label, Seed, WantedLength) -> binary(), ssl_record:connection_states(), _,_, #state{}) -> gen_statem:state_function_result(). %%-------------------------------------------------------------------- -handle_session(#server_hello{cipher_suite = CipherSuite, - compression_method = Compression}, +handle_session(#server_hello{cipher_suite = CipherSuite}, Version, NewId, ConnectionStates, ProtoExt, Protocol0, #state{session = Session, handshake_env = #handshake_env{negotiated_protocol = CurrentProtocol} = HsEnv, @@ -134,11 +133,9 @@ handle_session(#server_hello{cipher_suite = CipherSuite, case ssl_session:is_new(Session, NewId) of true -> - handle_new_session(NewId, CipherSuite, Compression, - State#state{connection_states = ConnectionStates}); + handle_new_session(NewId, CipherSuite, State#state{connection_states = ConnectionStates}); false -> - handle_resumed_session(NewId, - State#state{connection_states = ConnectionStates}) + handle_resumed_session(NewId, State#state{connection_states = ConnectionStates}) end. @@ -832,21 +829,18 @@ override_server_random(Random, _, _) -> Random. new_server_hello(#server_hello{cipher_suite = CipherSuite, - compression_method = Compression, - session_id = SessionId}, - #state{session = Session0, - static_env = #static_env{protocol_cb = Connection}} = State0, Connection) -> + session_id = SessionId}, + #state{session = Session0} = State0, Connection) -> #state{} = State1 = server_certify_and_key_exchange(State0, Connection), {State, Actions} = server_hello_done(State1, Connection), Session = Session0#session{session_id = SessionId, - cipher_suite = CipherSuite, - compression_method = Compression}, + cipher_suite = CipherSuite}, Connection:next_event(certify, no_record, State#state{session = Session}, Actions). resumed_server_hello(#state{session = Session, connection_states = ConnectionStates0, - static_env = #static_env{protocol_cb = Connection}, - connection_env = #connection_env{negotiated_version = Version}} = State0, Connection) -> + connection_env = #connection_env{negotiated_version = Version}} = State0, + Connection) -> case ssl_handshake:master_secret(ssl:tls_version(Version), Session, ConnectionStates0, server) of @@ -1612,13 +1606,12 @@ host_id(client, _Host, #{server_name_indication := Hostname}) when is_list(Hostn host_id(_, Host, _) -> Host. -handle_new_session(NewId, CipherSuite, Compression, +handle_new_session(NewId, CipherSuite, #state{static_env = #static_env{protocol_cb = Connection}, session = Session0 } = State0) -> Session = Session0#session{session_id = NewId, - cipher_suite = CipherSuite, - compression_method = Compression}, + cipher_suite = CipherSuite}, Connection:next_event(certify, no_record, State0#state{session = Session}). handle_resumed_session(SessId, #state{static_env = #static_env{host = Host, diff --git a/lib/ssl/src/tls_gen_connection.erl b/lib/ssl/src/tls_gen_connection.erl index 76e7bc334ef2..7a64bc7db3f9 100644 --- a/lib/ssl/src/tls_gen_connection.erl +++ b/lib/ssl/src/tls_gen_connection.erl @@ -104,7 +104,7 @@ handle_sender_options(ErlDist, SpawnOpts) -> start_connection_tree(User, IsErlDist, SenderOpts, Role, ReceiverOpts) -> StartConnectionTree = fun() -> - case start_dyn_connection_sup(IsErlDist) of + try start_dyn_connection_sup(IsErlDist) of {ok, DynSup} -> case tls_dyn_connection_sup:start_child(DynSup, sender, SenderOpts) of {ok, Sender} -> @@ -122,6 +122,11 @@ start_connection_tree(User, IsErlDist, SenderOpts, Role, ReceiverOpts) -> end; {error, Error} -> User ! {self(), Error} + catch exit:{noproc, _} -> + User ! {self(), {error, ssl_not_started}}; + _:Reason:ST -> %% Don't hang signal internal error + ?SSL_LOG(notice, internal_error, [{error, Reason}, {stacktrace, ST}]), + User ! {self(), {error, internal_error}} end end, spawn(StartConnectionTree). diff --git a/lib/ssl/src/tls_handshake.erl b/lib/ssl/src/tls_handshake.erl index ec53b65959a1..33c5a28fb08f 100644 --- a/lib/ssl/src/tls_handshake.erl +++ b/lib/ssl/src/tls_handshake.erl @@ -95,7 +95,6 @@ client_hello(_Host, _Port, ConnectionStates, #client_hello{session_id = Id, client_version = LegacyVersion, cipher_suites = CipherSuites, - compression_methods = ssl_record:compressions(), random = SecParams#security_parameters.client_random, extensions = Extensions }. @@ -155,7 +154,6 @@ hello(#server_hello{server_version = {Major, Minor}, hello(#server_hello{server_version = LegacyVersion, random = Random, cipher_suite = CipherSuite, - compression_method = Compression, session_id = SessionId, extensions = #{server_hello_selected_version := @@ -180,7 +178,7 @@ hello(#server_hello{server_version = LegacyVersion, IsNew = ssl_session:is_new(OldId, SessionId), %% TLS 1.2 ServerHello with "supported_versions" (special case) handle_server_hello_extensions(Version, SessionId, Random, CipherSuite, - Compression, HelloExt, SslOpt, + HelloExt, SslOpt, ConnectionStates0, Renegotiation, IsNew); SelectedVersion -> %% TLS 1.3 @@ -196,7 +194,6 @@ hello(#server_hello{server_version = LegacyVersion, hello(#server_hello{server_version = Version, random = Random, cipher_suite = CipherSuite, - compression_method = Compression, session_id = SessionId, extensions = HelloExt}, #{versions := SupportedVersions} = SslOpt, @@ -205,7 +202,7 @@ hello(#server_hello{server_version = Version, case tls_record:is_acceptable_version(Version, SupportedVersions) of true -> handle_server_hello_extensions(Version, SessionId, Random, CipherSuite, - Compression, HelloExt, SslOpt, + HelloExt, SslOpt, ConnectionStates0, Renegotiation, IsNew); false -> throw(?ALERT_REC(?FATAL, ?PROTOCOL_VERSION)) @@ -326,7 +323,6 @@ ocsp_nonce(SslOpts) -> handle_client_hello(Version, #client_hello{session_id = SugesstedId, cipher_suites = CipherSuites, - compression_methods = Compressions, random = Random, extensions = HelloExt}, #{versions := Versions, @@ -346,7 +342,7 @@ handle_client_hello(Version, {Type, #session{cipher_suite = CipherSuite, own_certificates = [OwnCert |_]} = Session1} = ssl_handshake:select_session(SugesstedId, CipherSuites, - AvailableHashSigns, Compressions, + AvailableHashSigns, SessIdTracker, Session0#session{ecc = ECCCurve}, Version, SslOpts, CertKeyPairs), case CipherSuite of @@ -384,10 +380,10 @@ handle_client_hello_extensions(Version, Type, Random, CipherSuites, {Version, {Type, Session}, ConnectionStates, Protocol, ServerHelloExt, HashSign}. handle_server_hello_extensions(Version, SessionId, Random, CipherSuite, - Compression, HelloExt, SslOpt, ConnectionStates0, Renegotiation, IsNew) -> + HelloExt, SslOpt, ConnectionStates0, Renegotiation, IsNew) -> {ConnectionStates, ProtoExt, Protocol, OcspState} = ssl_handshake:handle_server_hello_extensions(tls_record, Random, CipherSuite, - Compression, HelloExt, Version, + HelloExt, Version, SslOpt, ConnectionStates0, Renegotiation, IsNew), {Version, SessionId, ConnectionStates, ProtoExt, Protocol, OcspState}. @@ -415,10 +411,9 @@ enc_handshake(#client_hello{client_version = ServerVersion, random = Random, session_id = SessionID, cipher_suites = CipherSuites, - compression_methods = CompMethods, extensions = HelloExtensions}, _Version) -> SIDLength = byte_size(SessionID), - BinCompMethods = list_to_binary(CompMethods), + BinCompMethods = list_to_binary([?NO_COMPRESSION]), CmLength = byte_size(BinCompMethods), BinCipherSuites = list_to_binary(CipherSuites), CsLength = byte_size(BinCipherSuites), @@ -458,7 +453,7 @@ decode_handshake(Version, ?CLIENT_HELLO, <>) -> Exts = ssl_handshake:decode_vector(Extensions), DecodedExtensions = ssl_handshake:decode_hello_extensions(Exts, Version, {Major, Minor}, @@ -468,7 +463,6 @@ decode_handshake(Version, ?CLIENT_HELLO, random = Random, session_id = Session_ID, cipher_suites = ssl_handshake:decode_suites('2_bytes', CipherSuites), - compression_methods = erlang:binary_to_list(Comp_methods), extensions = DecodedExtensions }; decode_handshake(?TLS_1_3, Tag, Msg) -> diff --git a/lib/ssl/src/tls_handshake.hrl b/lib/ssl/src/tls_handshake.hrl index f06b7b3b3317..63bf05334749 100644 --- a/lib/ssl/src/tls_handshake.hrl +++ b/lib/ssl/src/tls_handshake.hrl @@ -34,7 +34,6 @@ session_id, % opaque SessionID<0..32> cookie, % opaque<2..2^16-1> cipher_suites, % cipher_suites<2..2^16-1> - compression_methods, % compression_methods<1..2^8-1>, %% Extensions extensions }). diff --git a/lib/ssl/src/tls_handshake_1_3.erl b/lib/ssl/src/tls_handshake_1_3.erl index 0861db4607e5..95520d7a35f7 100644 --- a/lib/ssl/src/tls_handshake_1_3.erl +++ b/lib/ssl/src/tls_handshake_1_3.erl @@ -108,7 +108,6 @@ server_hello(MsgType, SessionId, KeyShare, PSK, ConnectionStates) -> Extensions = server_hello_extensions(MsgType, KeyShare, PSK), #server_hello{server_version = ?LEGACY_VERSION, %% legacy_version cipher_suite = SecParams#security_parameters.cipher_suite, - compression_method = 0, %% legacy attribute random = server_hello_random(MsgType, SecParams), session_id = SessionId, extensions = Extensions @@ -384,13 +383,11 @@ create_change_cipher_spec(#state{ssl_options = #{log_level := LogLevel}}) -> %% Dummy connection_states with NULL cipher ConnectionStates = #{current_write => - #{compression_state => undefined, - cipher_state => undefined, + #{cipher_state => undefined, sequence_number => 1, security_parameters => #security_parameters{ bulk_cipher_algorithm = 0, - compression_algorithm = ?NULL, mac_algorithm = ?NULL }, mac_secret => undefined}}, @@ -602,7 +599,7 @@ encode_early_data(Cipher, decode_handshake(?SERVER_HELLO, <>) when Random =:= ?HELLO_RETRY_REQUEST_RANDOM -> HelloExtensions = ssl_handshake:decode_hello_extensions(Extensions, ?TLS_1_3, {Major, Minor}, @@ -612,7 +609,6 @@ decode_handshake(?SERVER_HELLO, <>) -> Exts = decode_extensions(EncExts, certificate_request), diff --git a/lib/ssl/src/tls_record.erl b/lib/ssl/src/tls_record.erl index 01f85624bfd2..3decaf6535bc 100644 --- a/lib/ssl/src/tls_record.erl +++ b/lib/ssl/src/tls_record.erl @@ -111,7 +111,7 @@ init_connection_states(Role, Version, BeastMitigation, MaxEarlyDataSize) -> Buffer :: {'undefined' | #ssl_tls{}, {[binary()],non_neg_integer(),[binary()]}}} | #alert{}. %% -%% and returns it as a list of tls_compressed binaries also returns leftover +%% and returns it as a list of binaries also returns leftover %% Description: Given old buffer and new data from TCP, packs up a records %% data %%-------------------------------------------------------------------- @@ -227,17 +227,11 @@ decode_cipher_text(_, CipherTextRecord, BulkCipherAlgo, CipherS, StartAdditionalData, Fragment, Version) of PlainFragment when is_binary(PlainFragment) -> - #{current_read := - #{security_parameters := SecParams, - compression_state := CompressionS0} = ReadState0} = ConnectionStates0, - {Plain, CompressionS} = ssl_record:uncompress(SecParams#security_parameters.compression_algorithm, - PlainFragment, CompressionS0), - ConnectionStates = ConnectionStates0#{ - current_read => ReadState0#{ - cipher_state => CipherS, - sequence_number => Seq + 1, - compression_state => CompressionS}}, - {CipherTextRecord#ssl_tls{fragment = Plain}, ConnectionStates}; + #{current_read := ReadState0} = ConnectionStates0, + ConnectionStates = + ConnectionStates0#{current_read => ReadState0#{cipher_state => CipherS, + sequence_number => Seq + 1}}, + {CipherTextRecord#ssl_tls{fragment = PlainFragment}, ConnectionStates}; #alert{} = Alert -> Alert end; @@ -247,24 +241,19 @@ decode_cipher_text(_, #ssl_tls{version = Version, #{current_read := ReadState0} = ConnnectionStates0, PaddingCheck) -> case ssl_record:decipher(Version, CipherFragment, ReadState0, PaddingCheck) of {PlainFragment, Mac, ReadState1} -> - MacHash = ssl_cipher:calc_mac_hash(CipherTextRecord#ssl_tls.type, Version, PlainFragment, ReadState1), + MacHash = ssl_cipher:calc_mac_hash(CipherTextRecord#ssl_tls.type, Version, + PlainFragment, ReadState1), case ssl_record:is_correct_mac(Mac, MacHash) of true -> - #{sequence_number := Seq, - compression_state := CompressionS0, - security_parameters := - #security_parameters{compression_algorithm = CompAlg}} = ReadState0, - {Plain, CompressionS1} = ssl_record:uncompress(CompAlg, - PlainFragment, CompressionS0), + #{sequence_number := Seq} = ReadState0, ConnnectionStates = ConnnectionStates0#{current_read => - ReadState1#{sequence_number => Seq + 1, - compression_state => CompressionS1}}, - {CipherTextRecord#ssl_tls{fragment = Plain}, ConnnectionStates}; + ReadState1#{sequence_number => Seq + 1}}, + {CipherTextRecord#ssl_tls{fragment = PlainFragment}, ConnnectionStates}; false -> ?ALERT_REC(?FATAL, ?BAD_RECORD_MAC) end; - #alert{} = Alert -> + #alert{} = Alert -> Alert end. @@ -483,7 +472,6 @@ initial_connection_state(ConnectionEnd, BeastMitigation, MaxEarlyDataSize) -> ssl_record:initial_security_params(ConnectionEnd), sequence_number => 0, beast_mitigation => BeastMitigation, - compression_state => undefined, cipher_state => undefined, mac_secret => undefined, secure_renegotiation => undefined, @@ -666,47 +654,43 @@ encode_plain_text(Type, Version, Data, ConnectionStates0) -> {CipherText,ConnectionStates}. %%-------------------------------------------------------------------- encode_fragments(Type, Version, Data, - #{current_write := #{compression_state := CompS, - cipher_state := CipherS, - sequence_number := Seq}} = ConnectionStates) -> - encode_fragments(Type, Version, Data, ConnectionStates, CompS, CipherS, Seq, []). + #{current_write := #{cipher_state := CipherS, + sequence_number := Seq}} = ConnectionStates) -> + encode_fragments(Type, Version, Data, ConnectionStates, CipherS, Seq, []). %% encode_fragments(_Type, _Version, [], #{current_write := WriteS} = CS, - CompS, CipherS, Seq, CipherFragments) -> + CipherS, Seq, CipherFragments) -> {lists:reverse(CipherFragments), - CS#{current_write := WriteS#{compression_state := CompS, - cipher_state := CipherS, - sequence_number := Seq}}}; + CS#{current_write := WriteS#{cipher_state := CipherS, sequence_number := Seq}}}; encode_fragments(Type, Version, [Text|Data], - #{current_write := #{security_parameters := - #security_parameters{cipher_type = ?AEAD, - bulk_cipher_algorithm = BCAlg, - compression_algorithm = CompAlg} = SecPars}} = CS, - CompS0, CipherS0, Seq, CipherFragments) -> - {CompText, CompS} = ssl_record:compress(CompAlg, Text, CompS0), + #{current_write := + #{security_parameters := + #security_parameters{cipher_type = ?AEAD, + bulk_cipher_algorithm = BCAlg} = SecPars}} = CS, + CipherS0, Seq, CipherFragments) -> SeqBin = <>, CipherS1 = ssl_record:nonce_seed(BCAlg, SeqBin, CipherS0), {MajVer, MinVer} = Version, VersionBin = <>, StartAdditionalData = <>, - {CipherFragment,CipherS} = ssl_record:cipher_aead(Version, CompText, CipherS1, StartAdditionalData, SecPars), + {CipherFragment,CipherS} = ssl_record:cipher_aead(Version, Text, CipherS1, + StartAdditionalData, SecPars), Length = byte_size(CipherFragment), CipherHeader = <>, - encode_fragments(Type, Version, Data, CS, CompS, CipherS, Seq + 1, - [[CipherHeader, CipherFragment] | CipherFragments]); + encode_fragments(Type, Version, Data, CS, CipherS, Seq + 1, + [[CipherHeader, CipherFragment] | CipherFragments]); encode_fragments(Type, Version, [Text|Data], - #{current_write := #{security_parameters := - #security_parameters{compression_algorithm = CompAlg, - mac_algorithm = MacAlgorithm} = SecPars, - mac_secret := MacSecret}} = CS, - CompS0, CipherS0, Seq, CipherFragments) -> - {CompText, CompS} = ssl_record:compress(CompAlg, Text, CompS0), - MacHash = ssl_cipher:calc_mac_hash(Type, Version, CompText, MacAlgorithm, MacSecret, Seq), - {CipherFragment,CipherS} = ssl_record:cipher(Version, CompText, CipherS0, MacHash, SecPars), + #{current_write := + #{security_parameters := + #security_parameters{mac_algorithm = MacAlgorithm} = SecPars, + mac_secret := MacSecret}} = CS, + CipherS0, Seq, CipherFragments) -> + MacHash = ssl_cipher:calc_mac_hash(Type, Version, Text, MacAlgorithm, MacSecret, Seq), + {CipherFragment,CipherS} = ssl_record:cipher(Version, Text, CipherS0, MacHash, SecPars), Length = byte_size(CipherFragment), {MajVer, MinVer} = Version, CipherHeader = <>, - encode_fragments(Type, Version, Data, CS, CompS, CipherS, Seq + 1, + encode_fragments(Type, Version, Data, CS, CipherS, Seq + 1, [[CipherHeader, CipherFragment] | CipherFragments]). diff --git a/lib/ssl/test/dtls_api_SUITE.erl b/lib/ssl/test/dtls_api_SUITE.erl index 35e19d86f27c..9fbcf21fa0fc 100644 --- a/lib/ssl/test/dtls_api_SUITE.erl +++ b/lib/ssl/test/dtls_api_SUITE.erl @@ -56,6 +56,7 @@ client_restarts_multiple_acceptors/1 ]). +-include("ssl_test_lib.hrl"). -include_lib("ssl/src/ssl_internal.hrl"). %%-------------------------------------------------------------------- @@ -384,10 +385,10 @@ client_restarts(Config) -> ReConnect = %% Whitebox re-connect test fun({sslsocket, {gen_udp,_,dtls_gen_connection}, [Pid]} = Socket, ssl) -> - ct:log("~p Client Socket: ~p ~n", [self(), Socket]), + ?CT_LOG("Client Socket: ~p ~n", [Socket]), {ok, IntSocket} = gen_statem:call(Pid, {downgrade, self()}), {{Address,CPort},UDPSocket}=IntSocket, - ct:log("Info: ~p~n", [inet:info(UDPSocket)]), + ?CT_LOG("Info: ~p~n", [inet:info(UDPSocket)]), {ok, #config{transport_info = CbInfo, connection_cb = ConnectionCb, ssl = SslOpts0}} = @@ -395,7 +396,7 @@ client_restarts(Config) -> SslOpts = {SslOpts0, #socket_options{}, undefined}, ct:sleep(250), - ct:log("Client second connect: ~p ~p~n", [Socket, CbInfo]), + ?CT_LOG("Client second connect: ~p ~p~n", [Socket, CbInfo]), {ok, NewSocket} = ssl_gen_statem:connect(ConnectionCb, Address, CPort, IntSocket, SslOpts, self(), CbInfo, infinity), {replace, NewSocket} @@ -404,10 +405,10 @@ client_restarts(Config) -> Client0 ! {apply, self(), ReConnect}, receive {apply_res, {replace, Res}} -> - ct:log("Apply res: ~p~n", [Res]), + ?CT_LOG("Apply res: ~p~n", [Res]), ok; ErrMsg -> - ct:log("Unhandled: ~p~n", [ErrMsg]), + ?CT_LOG("Unhandled: ~p~n", [ErrMsg]), ct:fail({wrong_msg, ErrMsg}) end, @@ -468,10 +469,10 @@ client_restarts_multiple_acceptors(Config) -> ReConnect = %% Whitebox re-connect test fun({sslsocket, {gen_udp,_,dtls_gen_connection}, [Pid]} = Socket, ssl) -> - ct:log("~p Client Socket: ~p ~n", [self(), Socket]), + ?CT_LOG("Client Socket: ~p ~n", [Socket]), {ok, IntSocket} = gen_statem:call(Pid, {downgrade, self()}), {{Address,CPort},UDPSocket}=IntSocket, - ct:log("Info: ~p~n", [inet:info(UDPSocket)]), + ?CT_LOG("Info: ~p~n", [inet:info(UDPSocket)]), {ok, #config{transport_info = CbInfo, connection_cb = ConnectionCb, ssl = SslOpts0}} = @@ -479,7 +480,7 @@ client_restarts_multiple_acceptors(Config) -> SslOpts = {SslOpts0, #socket_options{}, undefined}, ct:sleep(250), - ct:log("Client second connect: ~p ~p~n", [Socket, CbInfo]), + ?CT_LOG("Client second connect: ~p ~p~n", [Socket, CbInfo]), {ok, NewSocket} = ssl_gen_statem:connect(ConnectionCb, Address, CPort, IntSocket, SslOpts, self(), CbInfo, infinity), {replace, NewSocket} @@ -488,10 +489,10 @@ client_restarts_multiple_acceptors(Config) -> Client0 ! {apply, self(), ReConnect}, receive {apply_res, {replace, Res}} -> - ct:log("Apply res: ~p~n", [Res]), + ?CT_LOG("Apply res: ~p~n", [Res]), ok; ErrMsg -> - ct:log("Unhandled: ~p~n", [ErrMsg]), + ?CT_LOG("Unhandled: ~p~n", [ErrMsg]), ct:fail({wrong_msg, ErrMsg}) end, diff --git a/lib/ssl/test/openssl_cipher_suite_SUITE.erl b/lib/ssl/test/openssl_cipher_suite_SUITE.erl index fce70645d3b1..980b81d8bc62 100644 --- a/lib/ssl/test/openssl_cipher_suite_SUITE.erl +++ b/lib/ssl/test/openssl_cipher_suite_SUITE.erl @@ -22,6 +22,7 @@ -module(openssl_cipher_suite_SUITE). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). %% Callback functions @@ -926,9 +927,9 @@ cipher_suite_test(CipherSuite, Version, Config) -> client_config := COpts} = proplists:get_value(tls_config, Config), ServerOpts = ssl_test_lib:ssl_options(SOpts, Config), ClientOpts = ssl_test_lib:ssl_options(COpts, Config), - ct:log("Testing CipherSuite ~p~n", [CipherSuite]), - ct:log("Server Opts ~p~n", [ServerOpts]), - ct:log("Client Opts ~p~n", [ClientOpts]), + ?CT_LOG("Testing CipherSuite ~p~n", [CipherSuite]), + ?CT_LOG("Server Opts ~p~n", [ServerOpts]), + ?CT_LOG("Client Opts ~p~n", [ClientOpts]), case proplists:get_value(server_type, Config) of erlang -> ssl_test_lib:basic_test([{ciphers, ssl:cipher_suites(all, Version)} | COpts], @@ -949,11 +950,11 @@ test_ciphers(Kex, Cipher, Version) -> fun(Cipher0) when Cipher0 == Cipher -> true; (_) -> false end}]), - ct:log("Version ~p Testing ~p~n", [Version, Ciphers]), + ?CT_LOG("Version ~p Testing ~p~n", [Version, Ciphers]), OpenSSLCiphers = ssl_test_lib:openssl_ciphers(), - ct:log("OpenSSLCiphers ~p~n", [OpenSSLCiphers]), + ?CT_LOG("OpenSSLCiphers ~p~n", [OpenSSLCiphers]), lists:filter(fun(C) -> - ct:log("Cipher ~p~n", [C]), + ?CT_LOG("Cipher ~p~n", [C]), lists:member(ssl_cipher_format:suite_map_to_openssl_str(C), OpenSSLCiphers) end, Ciphers). diff --git a/lib/ssl/test/openssl_reject_SUITE.erl b/lib/ssl/test/openssl_reject_SUITE.erl index 35d165f1556e..cc6722bd5eee 100644 --- a/lib/ssl/test/openssl_reject_SUITE.erl +++ b/lib/ssl/test/openssl_reject_SUITE.erl @@ -21,6 +21,7 @@ -module(openssl_reject_SUITE). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). %% Common test -export([all/0, @@ -187,7 +188,7 @@ erlang_server_reject_sslv3(Config) when is_list(Config) -> OpenSslPort = ssl_test_lib:portable_open_port(Exe, Args), - ct:log("Ports ~p~n", [[erlang:port_info(P) || P <- erlang:ports()]]), + ?CT_LOG("Ports ~p~n", [[erlang:port_info(P) || P <- erlang:ports()]]), ssl_test_lib:consume_port_exit(OpenSslPort), ssl_test_lib:check_server_alert(Server, protocol_version), process_flag(trap_exit, false). diff --git a/lib/ssl/test/openssl_session_ticket_SUITE.erl b/lib/ssl/test/openssl_session_ticket_SUITE.erl index caff7458d4a2..d5af7ee63102 100644 --- a/lib/ssl/test/openssl_session_ticket_SUITE.erl +++ b/lib/ssl/test/openssl_session_ticket_SUITE.erl @@ -56,6 +56,7 @@ openssl_client_early_data_basic/0, openssl_client_early_data_basic/1]). +-include("ssl_test_lib.hrl"). -include("tls_handshake.hrl"). -include_lib("common_test/include/ct.hrl"). @@ -346,7 +347,7 @@ openssl_server_hrr_multiple_tickets(Config) when is_list(Config) -> Tickets0 = ssl_test_lib:check_tickets(Client0), - ct:pal("Received tickets: ~p~n", [Tickets0]), + ?CT_LOG("Received tickets: ~p~n", [Tickets0]), %% Close previous connection as s_server can only handle one at a time ssl_test_lib:close(Client0), @@ -479,7 +480,7 @@ openssl_server_early_data_manual(Config) when is_list(Config) -> Tickets0 = ssl_test_lib:check_tickets(Client0), - ct:pal("Received tickets: ~p~n", [Tickets0]), + ?CT_LOG("Received tickets: ~p~n", [Tickets0]), %% Close previous connection as s_server can only handle one at a time ssl_test_lib:close(Client0), @@ -528,7 +529,7 @@ openssl_server_early_data_manual_big(Config) when is_list(Config) -> Tickets0 = ssl_test_lib:check_tickets(Client0), - ct:pal("Received tickets: ~p~n", [Tickets0]), + ?CT_LOG("Received tickets: ~p~n", [Tickets0]), %% Close previous connection as s_server can only handle one at a time ssl_test_lib:close(Client0), @@ -575,7 +576,7 @@ openssl_server_early_data_manual_2_tickets(Config) when is_list(Config) -> Tickets0 = ssl_test_lib:check_tickets(Client0), - ct:pal("Received tickets: ~p~n", [Tickets0]), + ?CT_LOG("Received tickets: ~p~n", [Tickets0]), %% Close previous connection as s_server can only handle one at a time ssl_test_lib:close(Client0), @@ -626,7 +627,7 @@ openssl_server_early_data_manual_2_chacha_tickets(Config) when is_list(Config) - %% Receive 2 tickets that used Chacha20-Poly1305 and sha256 Tickets0 = ssl_test_lib:check_tickets(Client0), - ct:pal("Received tickets: ~p~n", [Tickets0]), + ?CT_LOG("Received tickets: ~p~n", [Tickets0]), %% Close previous connection as s_server can only handle one at a time ssl_test_lib:close(Client0), diff --git a/lib/ssl/test/property_test/ssl_eqc_handshake.erl b/lib/ssl/test/property_test/ssl_eqc_handshake.erl index 8f5aaedd1cc9..c01f548ca44a 100644 --- a/lib/ssl/test/property_test/ssl_eqc_handshake.erl +++ b/lib/ssl/test/property_test/ssl_eqc_handshake.erl @@ -117,7 +117,6 @@ client_hello(?TLS_1_3 = Version) -> #client_hello{session_id = session_id(), client_version = ?TLS_1_2, cipher_suites = cipher_suites(Version), - compression_methods = compressions(Version), random = client_random(Version), extensions = client_hello_extensions(Version) }; @@ -125,7 +124,6 @@ client_hello(Version) -> #client_hello{session_id = session_id(), client_version = Version, cipher_suites = cipher_suites(Version), - compression_methods = compressions(Version), random = client_random(Version), extensions = client_hello_extensions(Version) }. @@ -135,7 +133,6 @@ server_hello(?TLS_1_3 = Version) -> session_id = session_id(), random = server_random(Version), cipher_suite = cipher_suite(Version), - compression_method = compression(Version), extensions = server_hello_extensions(Version) }; server_hello(Version) -> @@ -143,7 +140,6 @@ server_hello(Version) -> session_id = session_id(), random = server_random(Version), cipher_suite = cipher_suite(Version), - compression_method = compression(Version), extensions = server_hello_extensions(Version) }. @@ -204,12 +200,6 @@ cipher_suites(Version) -> session_id() -> crypto:strong_rand_bytes(?NUM_OF_SESSION_ID_BYTES). - -compression(Version) -> - oneof(compressions(Version)). - -compressions(_) -> - ssl_record:compressions(). client_random(_) -> crypto:strong_rand_bytes(32). diff --git a/lib/ssl/test/ssl_ECC_SUITE.erl b/lib/ssl/test/ssl_ECC_SUITE.erl index 379cc6371bf5..d605f0bdae52 100644 --- a/lib/ssl/test/ssl_ECC_SUITE.erl +++ b/lib/ssl/test/ssl_ECC_SUITE.erl @@ -24,6 +24,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("ssl/src/ssl_record.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("public_key/include/public_key.hrl"). @@ -127,7 +128,7 @@ end_per_suite(_Config) -> init_per_group(GroupName, Config) -> case ssl_test_lib:is_protocol_version(GroupName) of true -> - ct:log("Ciphers: ~p~n ", [ssl:cipher_suites(default, GroupName)]), + ?CT_LOG("Ciphers: ~p~n ", [ssl:cipher_suites(default, GroupName)]), ssl_test_lib:init_per_group(GroupName, [{client_type, erlang}, {server_type, erlang}, diff --git a/lib/ssl/test/ssl_alert_SUITE.erl b/lib/ssl/test/ssl_alert_SUITE.erl index d6b132cc6397..759d8f87fbb8 100644 --- a/lib/ssl/test/ssl_alert_SUITE.erl +++ b/lib/ssl/test/ssl_alert_SUITE.erl @@ -22,6 +22,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("public_key/include/public_key.hrl"). @@ -83,7 +84,7 @@ alerts() -> [{doc, "Test ssl_alert formatting code"}]. alerts(Config) when is_list(Config) -> Descriptions = [?CLOSE_NOTIFY, ?UNEXPECTED_MESSAGE, ?BAD_RECORD_MAC, - ?DECRYPTION_FAILED_RESERVED, ?RECORD_OVERFLOW, ?DECOMPRESSION_FAILURE, + ?DECRYPTION_FAILED_RESERVED, ?RECORD_OVERFLOW, ?HANDSHAKE_FAILURE, ?BAD_CERTIFICATE, ?UNSUPPORTED_CERTIFICATE, ?CERTIFICATE_REVOKED,?CERTIFICATE_EXPIRED, ?CERTIFICATE_UNKNOWN, ?ILLEGAL_PARAMETER, ?UNKNOWN_CA, ?ACCESS_DENIED, ?DECODE_ERROR, @@ -133,7 +134,7 @@ alert_details_not_too_big(Config) when is_list(Config) -> line => 1710}}, server, "TLS", cipher), case byte_size(term_to_binary(Txt)) < (byte_size(term_to_binary(ReasonText)) - PrefixLen) of true -> - ct:pal("~s", [Txt]); + ?CT_PAL("~s", [Txt]); false -> ct:fail(ssl_alert_text_too_big) end. @@ -157,7 +158,7 @@ check_response({error, {tls_alert, {unexpected_message, _}}}) -> check_response({error, {options, {insufficient_crypto_support,_}}}) -> ok; check_response(What) -> - ct:pal("RES: ~p~n", [What]), + ?CT_PAL("RES: ~p~n", [What]), What. echo_server_init(Tester) -> @@ -176,7 +177,7 @@ echo_server(Socket, Listen) -> {ok, New} = gen_tcp:accept(Listen), echo_server(New, Listen); Msg -> - ct:pal("Server: ~p~n", [Msg]), + ?CT_PAL("Server: ~p~n", [Msg]), echo_server(Socket, Listen) end. diff --git a/lib/ssl/test/ssl_alpn_SUITE.erl b/lib/ssl/test/ssl_alpn_SUITE.erl index e3c10caa43a7..379fb3766c0a 100644 --- a/lib/ssl/test/ssl_alpn_SUITE.erl +++ b/lib/ssl/test/ssl_alpn_SUITE.erl @@ -23,6 +23,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). %% Callback functions @@ -296,13 +297,13 @@ session_reused(Config) when is_list(Config)-> %%-------------------------------------------------------------------- assert_alpn(Socket, Protocol) -> - ct:log("Negotiated Protocol ~p, Expecting: ~p ~n", + ?CT_LOG("Negotiated Protocol ~p, Expecting: ~p ~n", [ssl:negotiated_protocol(Socket), Protocol]), Protocol = ssl:negotiated_protocol(Socket). assert_alpn_and_renegotiate_and_send_data(Socket, Protocol, Data) -> assert_alpn(Socket, Protocol), - ct:log("Renegotiating ~n", []), + ?CT_LOG("Renegotiating ~n", []), ok = ssl:renegotiate(Socket), ssl:send(Socket, Data), assert_alpn(Socket, Protocol), @@ -317,7 +318,7 @@ ssl_receive_and_assert_alpn(Socket, Protocol, Data) -> ssl_receive(Socket, Data). ssl_send(Socket, Data) -> - ct:log("Connection info: ~p~n", + ?CT_LOG("Connection info: ~p~n", [ssl:connection_information(Socket)]), ssl:send(Socket, Data). @@ -325,11 +326,11 @@ ssl_receive(Socket, Data) -> ssl_receive(Socket, Data, []). ssl_receive(Socket, Data, Buffer) -> - ct:log("Connection info: ~p~n", + ?CT_LOG("Connection info: ~p~n", [ssl:connection_information(Socket)]), receive {ssl, Socket, MoreData} -> - ct:log("Received ~p~n",[MoreData]), + ?CT_LOG("Received ~p~n",[MoreData]), NewBuffer = Buffer ++ MoreData, case NewBuffer of Data -> diff --git a/lib/ssl/test/ssl_api_SUITE.erl b/lib/ssl/test/ssl_api_SUITE.erl index 215097bd4d20..aa93a021a02e 100644 --- a/lib/ssl/test/ssl_api_SUITE.erl +++ b/lib/ssl/test/ssl_api_SUITE.erl @@ -23,6 +23,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("ssl/src/ssl_api.hrl"). -include_lib("ssl/src/ssl_internal.hrl"). @@ -182,12 +183,16 @@ server_options_negative_stateless_tickets_seed/1, invalid_options_tls13/0, invalid_options_tls13/1, + ssl_not_started/0, + ssl_not_started/1, cookie/0, cookie/1, check_random_nonce/0, check_random_nonce/1, cipher_listing/0, - cipher_listing/1 + cipher_listing/1, + format_error/0, + format_error/1 ]). %% Apply export @@ -275,7 +280,8 @@ simple_api_tests() -> invalid_cacertfile, invalid_options, options_not_proplist, - options_whitebox + options_whitebox, + format_error ]. @@ -316,6 +322,7 @@ gen_api_tests() -> der_input, max_handshake_size, cb_info, + ssl_not_started, log_alert, getstat, check_random_nonce, @@ -491,8 +498,7 @@ peercert(Config) when is_list(Config) -> ServerMsg = {error, no_peercert}, ClientMsg = {ok, BinCert}, - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ServerMsg, Client, ClientMsg), @@ -527,8 +533,7 @@ peercert_with_client_cert(Config) when is_list(Config) -> ServerMsg = {ok, ClientBinCert}, ClientMsg = {ok, ServerBinCert}, - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ServerMsg, Client, ClientMsg), @@ -615,8 +620,7 @@ connection_information(Config) when is_list(Config) -> {mfa, {?MODULE, connection_information_result, []}}, {options, ClientOpts}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok, Client, ok), @@ -650,7 +654,7 @@ do_run_conn_info_srp_test(ErlangCipherSuite, Version, Config) -> ServerOpts = ssl_test_lib:ssl_options(SOpts, Config), ClientOpts = ssl_test_lib:ssl_options(COpts, Config), - ct:log("Erlang Cipher Suite is: ~p~n", [ErlangCipherSuite]), + ?CT_LOG("Erlang Cipher Suite is: ~p~n", [ErlangCipherSuite]), Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0}, @@ -696,8 +700,7 @@ secret_connection_info(Config) when is_list(Config) -> {mfa, {?MODULE, secret_connection_info_result, []}}, {options, [{verify, verify_peer} |ClientOpts]}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, true, Client, true), @@ -728,8 +731,7 @@ keylog_connection_info(Config, KeepSecrets) -> {mfa, {?MODULE, keylog_connection_info_result, [KeepSecrets]}}, {options, [{verify, verify_peer}, {keep_secrets, KeepSecrets} |ClientOpts]}]), - ct:log("Testcase ~p, KeepSecrets ~p Client ~p Server ~p ~n", - [self(), KeepSecrets, Client, Server]), + ?CT_LOG("KeepSecrets ~p Client ~p Server ~p ~n", [KeepSecrets, Client, Server]), ServerKeylog = receive {Server, {ok, Keylog}} -> @@ -819,8 +821,7 @@ conf_signature_algs(Config) when is_list(Config) -> {options, [{active, false}, {signature_algs, [{sha256, rsa}]}, {versions, ['tlsv1.2']} | ClientOpts]}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok, Client, ok), @@ -1082,7 +1083,7 @@ versions() -> versions(Config) when is_list(Config) -> [_|_] = Versions = ssl:versions(), - ct:log("~p~n", [Versions]). + ?CT_LOG("~p~n", [Versions]). %%-------------------------------------------------------------------- @@ -1273,7 +1274,7 @@ hibernate_helper(Version, CheckServer, StartServerOpts, StartClientOpts, ClientHibernateAfter} end, SleepAmount = max(1.5*HibernateAfter, 500), - ct:log("HibernateAfter = ~w SleepAmount = ~w", [HibernateAfter, SleepAmount]), + ?CT_LOG("HibernateAfter = ~w SleepAmount = ~w", [HibernateAfter, SleepAmount]), ct:sleep(SleepAmount), %% Schedule out {current_function, {erlang, hibernate, 3}} = process_info(ReceiverPid, current_function), @@ -1297,7 +1298,7 @@ listen_socket() -> listen_socket(Config) -> ServerOpts = ssl_test_lib:ssl_options(server_rsa_opts, Config), {ok, ListenSocket} = ssl:listen(0, ServerOpts), - + Protocol = proplists:get_value(protocol, ServerOpts, tls), %% This can be a valid thing to do as %% options are inherited by the accept socket ok = ssl:controlling_process(ListenSocket, self()), @@ -1311,8 +1312,12 @@ listen_socket(Config) -> {error, enotconn} = ssl:peercert(ListenSocket), {error, enotconn} = ssl:renegotiate(ListenSocket), {error, enotconn} = ssl:prf(ListenSocket, 'master_secret', <<"Label">>, [client_random], 256), - {error, enotconn} = ssl:shutdown(ListenSocket, read_write), - + case Protocol of + tls -> + {error, enotconn} = ssl:shutdown(ListenSocket, read_write); + dtls -> + {error, notsup} = ssl:shutdown(ListenSocket, read_write) + end, ok = ssl:close(ListenSocket). %%-------------------------------------------------------------------- @@ -1337,8 +1342,7 @@ peername(Config) when is_list(Config) -> {from, self()}, {options, ClientOpts}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), Server ! get_socket, SSocket = @@ -1348,9 +1352,9 @@ peername(Config) when is_list(Config) -> end, {ok, ServerPeer} = ssl:peername(SSocket), - ct:log("Server's peer: ~p~n", [ServerPeer]), + ?CT_LOG("Server's peer: ~p~n", [ServerPeer]), {ok, ClientPeer} = ssl:peername(CSocket), - ct:log("Client's peer: ~p~n", [ClientPeer]), + ?CT_LOG("Client's peer: ~p~n", [ClientPeer]), ssl_test_lib:close(Server), ssl_test_lib:close(Client). @@ -1534,8 +1538,7 @@ controlling_process(Config) when is_list(Config) -> ClientMsg]}}, {options, ClientOpts}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ServerMsg = ssl_test_lib:active_recv(CSocket, length(ServerMsg)), %% We do not have the TLS server socket but all messages form the client @@ -1569,7 +1572,7 @@ controller_dies(Config) when is_list(Config) -> ClientMsg]}}, {options, ClientOpts}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ct:sleep(?SLEEP), %% so that they are connected process_flag(trap_exit, true), @@ -1606,12 +1609,12 @@ controller_dies(Config) when is_list(Config) -> Client3 ! die_nice end, - ct:log("Waiting on exit ~p~n",[Client3]), + ?CT_LOG("Waiting on exit ~p~n",[Client3]), receive {'EXIT', Client3, normal} -> ok end, receive %% Client3 is dead but that doesn't matter, socket should not be closed. Unexpected -> - ct:log("Unexpected ~p~n",[Unexpected]), + ?CT_LOG("Unexpected ~p~n",[Unexpected]), ct:fail({line, ?LINE-1}) after 1000 -> ok @@ -1864,8 +1867,7 @@ ipv6(Config) when is_list(Config) -> {options, [inet6, {active, false} | ClientOpts]}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok, Client, ok), @@ -1889,7 +1891,7 @@ der_input(Config) when is_list(Config) -> [CADb | _] = element(5, State), ct:sleep(?SLEEP*2), %%Make sure there is no outstanding clean cert db msg in manager Size = ets:info(CADb, size), - ct:pal("Size ~p", [Size]), + ?CT_LOG("Size ~p", [Size]), SeverVerifyOpts = ssl_test_lib:ssl_options(server_rsa_opts, Config), {ServerCert, ServerKey, ServerCaCerts, DHParams} = der_input_opts([{dhfile, DHParamFile} | @@ -2069,8 +2071,7 @@ new_options_in_handshake(Config) when is_list(Config) -> {mfa, {?MODULE, connection_info_result, []}}, {options, [{ciphers, Ciphers} | ClientOpts]}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ServerMsg = ClientMsg = {ok, {Version, Cipher}}, @@ -2218,26 +2219,26 @@ customize_defaults(Opts, Role, Host) -> {ok, #config{ssl=EXP = __ALL}} -> ShouldBeMissing = ShouldBeMissing -- maps:keys(__ALL); Other -> - ct:pal("ssl:handle_options(~0p,~0p,~0p).",[__Opts,Role,Host]), + ?CT_PAL("ssl:handle_options(~0p,~0p,~0p).",[__Opts,Role,Host]), error({unexpected, Other}) catch throw:{error,{options,{insufficient_crypto_support,{'tlsv1.3',_}}}} -> ignored; C:Other:ST -> - ct:pal("ssl:handle_options(~0p,~0p,~0p).",[__Opts,Role,Host]), + ?CT_PAL("ssl:handle_options(~0p,~0p,~0p).",[__Opts,Role,Host]), error({unexpected, C, Other,ST}) end, try ssl:update_options(__Opts, Role, __DefOpts) of EXP = __ALL2 -> ShouldBeMissing = ShouldBeMissing -- maps:keys(__ALL2); Other2 -> - ct:pal("{ok,Cfg} = ssl:handle_options([],~p,~p)," + ?CT_PAL("{ok,Cfg} = ssl:handle_options([],~p,~p)," "ssl:update_options(~w,~w, element(2,Cfg)).", [Role,Host,__Opts,Role]), error({unexpected2, Other2}) catch throw:{error,{options,{insufficient_crypto_support,{'tlsv1.3',_}}}} -> ignored; C2:Other2:ST2 -> - ct:pal("{ok,Cfg} = ssl:handle_options([],~p,~p)," + ?CT_PAL("{ok,Cfg} = ssl:handle_options([],~p,~p)," "ssl:update_options(~p,~p, element(2,Cfg)).", [Role,Host,__Opts,Role]), error({unexpected, C2, Other2, ST2}) @@ -2250,19 +2251,19 @@ customize_defaults(Opts, Role, Host) -> {__DefOpts, __Opts} = customize_defaults(Opts, Role, Host), try ssl:handle_options(__Opts, Role, Host) of Other -> - ct:pal("ssl:handle_options(~0p,~0p,~0p).",[__Opts,Role,Host]), + ?CT_PAL("ssl:handle_options(~0p,~0p,~0p).",[__Opts,Role,Host]), error({unexpected, Other}) catch throw:{error,{options,{insufficient_crypto_support,{'tlsv1.3',_}}}} -> ignored; throw:{error, {options, EXP}} -> ok; throw:{error, EXP} -> ok; C:Other:ST -> - ct:pal("ssl:handle_options(~0p,~0p,~0p).",[__Opts,Role,Host]), + ?CT_PAL("ssl:handle_options(~0p,~0p,~0p).",[__Opts,Role,Host]), error({unexpected, C, Other,ST}) end, try ssl:update_options(__Opts, Role, __DefOpts) of Other2 -> - ct:pal("{ok,Cfg} = ssl:handle_options([],~p,~p)," + ?CT_PAL("{ok,Cfg} = ssl:handle_options([],~p,~p)," "ssl:update_options(~p,~p, element(2,Cfg)).", [Role,Host,__Opts,Role]), error({unexpected, Other2}) @@ -2271,7 +2272,7 @@ customize_defaults(Opts, Role, Host) -> throw:{error, {options, EXP}} -> ok; throw:{error, EXP} -> ok; C2:Other2:ST2 -> - ct:pal("{ok,Cfg} = ssl:handle_options([],~p,~p)," + ?CT_PAL("{ok,Cfg} = ssl:handle_options([],~p,~p)," "ssl:update_options(~p,~p, element(2,Cfg)).", [Role,Host,__Opts,Role]), error({unexpected, C2, Other2,ST2}) @@ -3496,6 +3497,23 @@ invalid_options_tls13(Config) when is_list(Config) -> end, [Fun(Option, ErrorMsg, Type) || {Option, ErrorMsg, Type} <- TestOpts]. + +ssl_not_started() -> + [{doc, "Test that an error is returned if ssl is not started"}]. +ssl_not_started(Config) when is_list(Config) -> + application:stop(ssl), + Protocol = proplists:get_value(protocol, Config, tls), + Version = proplists:get_value(version, Config), + Opts = [{verify, verify_none}, + {versions, [Version]}, + {protocol, Protocol}], + try + {error, ssl_not_started} = ssl:connect("localhost", 22, Opts) + after + ssl:start() + end, + ok. + cookie() -> [{doc, "Test cookie extension in TLS 1.3"}]. cookie(Config) when is_list(Config) -> @@ -3545,6 +3563,34 @@ cipher_listing(Config) when is_list(Config) -> Version = ssl_test_lib:protocol_version(Config, tuple), length_exclusive(Version) == length_all(Version). +format_error() -> + "". +format_error(Config) when is_list(Config) -> + Errors = [{error, enotconn}, + {error, closed}, + {options, {keyfile, "TestFileName", {error,enoent}}}, + {options, {certfile, "TestFileName", {error,enoent}}}, + {options, {cacertfile, "TestFileName",{error,enoent}}}, + {options, {option_not_a_key_value_tuple, [foo]}}, + {options, {insufficient_crypto_support,{'tlsv1.3','tlsv1.1'}}}, + {options, incompatible, [{verify,verify_peer},{cacerts,undefined}]}, + {options, {protocol, foo}}, + {option, server_only, alpn_preferred_protocols}, + {options, {alpn_advertised_protocols, undefined}}, + {options, missing_version, {'tlsv1.2',{versions, ['tlsv1.1','tlsv1.3']}}}, + {options, {no_supported_algorithms, {signature_algs,[]}}}, + {options, {no_supported_signature_schemes, {signature_algs_cert,[]}}} + ], + Check = fun(Err) -> + Str = ssl:format_error(Err), + io:format("~p => ~s ~n", [Err, Str]), + %% Verify flat string (why do ssl flatten strings?) + Str = [C || C <- Str, is_integer(C)] + end, + [Check(Err) || Err <- Errors], + ok. + + %%-------------------------------------------------------------------- establish_connection(Id, ServerNode, ServerOpts, ClientNode, ClientOpts, Hostname) -> @@ -3564,8 +3610,7 @@ establish_connection(Id, ServerNode, ServerOpts, ClientNode, ClientOpts, Hostnam [Id, client_random]}}, {options, [{verify, verify_peer} |ClientOpts]}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), {Server, Client}. %%% Checker functions @@ -3581,7 +3626,7 @@ connection_information_result(Socket) -> case length(Info) > 3 of true -> %% At least one ssl_option() is set - ct:log("Info ~p", [Info]), + ?CT_LOG("Info ~p", [Info]), ok; false -> ct:fail(no_ssl_options_returned) @@ -3601,18 +3646,16 @@ check_keylog_info('tlsv1.3', [{keylog, ["CLIENT_HANDSHAKE_TRAFFIC_SECRET"++_,_|_ {ok, Keylog}; check_keylog_info('tlsv1.3', []=Keylog, false) -> {ok, Keylog}; -check_keylog_info('tlsv1.2', [{keylog, ["CLIENT_RANDOM"++_]=Keylog}], _) -> +check_keylog_info(_, [{keylog, ["CLIENT_RANDOM"++_]=Keylog}], _) -> {ok, Keylog}; -check_keylog_info(NotSup, [], _) when NotSup == 'tlsv1.1'; NotSup == tlsv1; NotSup == 'dtlsv1.2'; NotSup == dtlsv1 -> - {ok, []}; -check_keylog_info(_, Unexpected, _) -> - {unexpected, Unexpected}. +check_keylog_info(_, Unexpected, Keep) -> + {unexpected, Keep, Unexpected}. check_srp_in_connection_information(_Socket, _Username, client) -> ok; check_srp_in_connection_information(Socket, Username, server) -> {ok, Info} = ssl:connection_information(Socket), - ct:log("Info ~p~n", [Info]), + ?CT_LOG("Info ~p~n", [Info]), case proplists:get_value(srp_username, Info, not_found) of Username -> ok; @@ -3667,6 +3710,10 @@ controlling_process_result(Socket, Pid, Msg) -> controller_dies_result(_Socket, _Pid, _Msg) -> receive Result -> Result end. send_recv_result_timeout_client(Socket) -> + try ssl:recv(Socket, 11, not_infinity) catch error : function_clause -> ok end, + try ssl:recv(Socket, 11, -1) catch error : function_clause -> ok end, + try ssl:recv(Socket, not_integer, 500) catch error : function_clause -> ok end, + try ssl:recv(Socket, -1, 500) catch error : function_clause -> ok end, {error, timeout} = ssl:recv(Socket, 11, 500), {error, timeout} = ssl:recv(Socket, 11, 0), ssl:send(Socket, "Hello world"), @@ -3753,7 +3800,7 @@ prf_create_plan(TlsVer, PRFs, Results) when TlsVer == 'tlsv1.2' orelse TlsVer == Ciphers = prf_get_ciphers(TlsVer, PRF), case Ciphers of [] -> - ct:log("No ciphers for PRF algorithm ~p. Skipping.", [PRF]), + ?CT_LOG("No ciphers for PRF algorithm ~p. Skipping.", [PRF]), Acc; Ciphers -> {_, Expected} = lists:keyfind(PRF, 1, Results), @@ -3867,15 +3914,15 @@ get_close(Pid, Where) -> {'EXIT', Pid, _Reason} -> receive {_, {ssl_closed, Socket}} -> - ct:log("Socket closed ~p~n",[Socket]); + ?CT_LOG("Socket closed ~p~n",[Socket]); Unexpected -> - ct:log("Unexpected ~p~n",[Unexpected]), + ?CT_LOG("Unexpected ~p~n",[Unexpected]), ct:fail({line, ?LINE-1}) after 5000 -> ct:fail({timeout, {line, ?LINE, Where}}) end; Unexpected -> - ct:log("Unexpected ~p~n",[Unexpected]), + ?CT_LOG("Unexpected ~p~n",[Unexpected]), ct:fail({line, ?LINE-1}) after 5000 -> ct:fail({timeout, {line, ?LINE, Where}}) @@ -3958,7 +4005,7 @@ start_client_negative(Config, Options, Error) -> {return_error, econnrefused}, {mfa, {?MODULE, connection_info_result, []}}, {options, Options ++ ClientOpts}]), - ct:pal("Actual: ~p~nExpected: ~p", [Client, {connect_failed, Error}]), + ?CT_LOG("Actual: ~p~nExpected: ~p", [Client, {connect_failed, Error}]), {connect_failed, Error} = Client. start_server_negative(Config, Options, Error) -> @@ -3969,7 +4016,7 @@ start_server_negative(Config, Options, Error) -> {mfa, {?MODULE, connection_info_result, []}}, {options, Options ++ ServerOpts}]), - ct:pal("Actual: ~p~nExpected: ~p", [Server,Error]), + ?CT_LOG("Actual: ~p~nExpected: ~p", [Server,Error]), Error = Server. der_input_opts(Opts) -> diff --git a/lib/ssl/test/ssl_basic_SUITE.erl b/lib/ssl/test/ssl_basic_SUITE.erl index 52242d8728e8..0e6ca22c4209 100644 --- a/lib/ssl/test/ssl_basic_SUITE.erl +++ b/lib/ssl/test/ssl_basic_SUITE.erl @@ -24,6 +24,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("public_key/include/public_key.hrl"). -include_lib("ssl/src/ssl_api.hrl"). @@ -227,8 +228,7 @@ connect_twice(Config) when is_list(Config) -> {options, [{keepalive, true},{active, false} | ClientOpts]}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok, Client, ok), ssl_test_lib:check_result(Server, ok, Client1, ok), @@ -817,7 +817,7 @@ incomplete_chain_length(Config) when is_list(Config)-> %% than the one received {valid, UserState}; (_,{extension, _} = Extension, #{ext := N} = UserState) -> - ct:pal("~p", [Extension]), + ?CT_LOG("~p", [Extension]), {unknown, UserState#{ext => N +1}}; (_, valid, #{intermediates := N} = UserState) -> {valid, UserState#{intermediates => N +1}}; @@ -825,7 +825,7 @@ incomplete_chain_length(Config) when is_list(Config)-> ext := 1} = UserState) -> {valid, UserState}; (_, valid_peer, UserState) -> - ct:pal("~p", [UserState]), + ?CT_LOG("~p", [UserState]), {error, {bad_cert, too_short_path}} end, #{intermediates => 0, ext => 0}}, @@ -925,8 +925,7 @@ version_option_test(Config, Version) -> {mfa, {ssl_test_lib, send_recv_result, []}}, {options, [{active, false}, {versions, [Version]}| ClientOpts]}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok, Client, ok), ssl_test_lib:close(Server), ssl_test_lib:close(Client). @@ -1100,7 +1099,8 @@ check_process_count(Count, Try) -> Count -> ok; Other -> - ct:pal("Not expected number of cildren ~p on try ~p", [Other, Try]), + ?CT_PAL("Not expected number of cildren ~p on try ~p", + [Other, Try]), ct:sleep(500), %% Wait long enough check_process_count(Count, Try - 1) end. diff --git a/lib/ssl/test/ssl_bench_test_lib.erl b/lib/ssl/test/ssl_bench_test_lib.erl index 474a69fe1719..c654ee7ba96e 100644 --- a/lib/ssl/test/ssl_bench_test_lib.erl +++ b/lib/ssl/test/ssl_bench_test_lib.erl @@ -25,6 +25,7 @@ %% Internal exports -export([setup_server/1]). +-include("ssl_test_lib.hrl"). -define(remote_host, "NETMARKS_REMOTE_HOST"). setup(Name) -> @@ -46,7 +47,7 @@ setup(Name) -> PeerOptions = #{name => NameStr, host => Host}, - ct:pal("PeerOptions: ~p~n", [PeerOptions]), + ?CT_PAL("PeerOptions: ~p~n", [PeerOptions]), {ok, _Pid, Node} = peer:start( case Remote of @@ -60,7 +61,7 @@ setup(Name) -> Path = code:get_path(), true = erpc:call(Node, code, set_path, [Path]), ok = erpc:call(Node, ?MODULE, setup_server, [node()]), - ct:pal("Client (~p) using ~ts~n",[node(), code:which(ssl)]), + ?CT_PAL("Client (~p) using ~ts~n",[node(), code:which(ssl)]), (Node =:= node()) andalso restrict_schedulers(client), Node end. @@ -73,7 +74,7 @@ find_executable(Prog) -> setup_server(ClientNode) -> (ClientNode =:= node()) andalso restrict_schedulers(server), - ct:pal("Server (~p) using ~ts~n",[node(), code:which(ssl)]), + ?CT_PAL("Server (~p) using ~ts~n",[node(), code:which(ssl)]), ok. restrict_schedulers(Type) -> diff --git a/lib/ssl/test/ssl_cert_tests.erl b/lib/ssl/test/ssl_cert_tests.erl index a551025ea537..2749d161943e 100644 --- a/lib/ssl/test/ssl_cert_tests.erl +++ b/lib/ssl/test/ssl_cert_tests.erl @@ -21,6 +21,7 @@ %% -module(ssl_cert_tests). +-include("ssl_test_lib.hrl"). -include_lib("public_key/include/public_key.hrl"). %% Test cases @@ -458,32 +459,32 @@ hello_retry_client_auth_empty_cert_rejected(Config) -> test_ciphers(_, 'tlsv1.3' = Version) -> Ciphers = ssl:cipher_suites(default, Version), - ct:log("Version ~p Testing ~p~n", [Version, Ciphers]), + ?CT_LOG("Version ~p Testing ~p~n", [Version, Ciphers]), OpenSSLCiphers = openssl_ciphers(), - ct:log("OpenSSLCiphers ~p~n", [OpenSSLCiphers]), + ?CT_LOG("OpenSSLCiphers ~p~n", [OpenSSLCiphers]), lists:filter(fun(C) -> - ct:log("Cipher ~p~n", [C]), + ?CT_LOG("Cipher ~p~n", [C]), lists:member(ssl_cipher_format:suite_map_to_openssl_str(C), OpenSSLCiphers) end, Ciphers); test_ciphers(_, Version) when Version == 'dtlsv1'; Version == 'dtlsv1.2' -> NVersion = dtls_record:protocol_version_name(Version), Ciphers = [ssl_cipher_format:suite_bin_to_map(Bin) || Bin <- dtls_v1:suites(NVersion)], - ct:log("Version ~p Testing ~p~n", [Version, Ciphers]), + ?CT_LOG("Version ~p Testing ~p~n", [Version, Ciphers]), OpenSSLCiphers = openssl_ciphers(), - ct:log("OpenSSLCiphers ~p~n", [OpenSSLCiphers]), + ?CT_LOG("OpenSSLCiphers ~p~n", [OpenSSLCiphers]), lists:filter(fun(C) -> - ct:log("Cipher ~p~n", [C]), + ?CT_LOG("Cipher ~p~n", [C]), lists:member(ssl_cipher_format:suite_map_to_openssl_str(C), OpenSSLCiphers) end, Ciphers); test_ciphers(Kex, Version) -> Ciphers = ssl:filter_cipher_suites(ssl:cipher_suites(default, Version), [{key_exchange, Kex}]), - ct:log("Version ~p Testing ~p~n", [Version, Ciphers]), + ?CT_LOG("Version ~p Testing ~p~n", [Version, Ciphers]), OpenSSLCiphers = openssl_ciphers(), - ct:log("OpenSSLCiphers ~p~n", [OpenSSLCiphers]), + ?CT_LOG("OpenSSLCiphers ~p~n", [OpenSSLCiphers]), lists:filter(fun(C) -> - ct:log("Cipher ~p~n", [C]), + ?CT_LOG("Cipher ~p~n", [C]), lists:member(ssl_cipher_format:suite_map_to_openssl_str(C), OpenSSLCiphers) end, Ciphers). diff --git a/lib/ssl/test/ssl_cipher_suite_SUITE.erl b/lib/ssl/test/ssl_cipher_suite_SUITE.erl index 04425bbb1e1c..e2a57cb14a09 100644 --- a/lib/ssl/test/ssl_cipher_suite_SUITE.erl +++ b/lib/ssl/test/ssl_cipher_suite_SUITE.erl @@ -24,6 +24,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). %% Callback functions -export([all/0, @@ -976,9 +977,9 @@ cipher_suite_test(ErlangCipherSuite, Version, Config) -> client_config := COpts} = proplists:get_value(tls_config, Config), ServerOpts = ssl_test_lib:ssl_options(SOpts, Config), ClientOpts = ssl_test_lib:ssl_options(COpts, Config), - ct:log("Testing CipherSuite ~p~n", [ErlangCipherSuite]), - ct:log("Server Opts ~p~n", [ServerOpts]), - ct:log("Client Opts ~p~n", [ClientOpts]), + ?CT_LOG("Testing CipherSuite ~p~n", [ErlangCipherSuite]), + ?CT_LOG("Server Opts ~p~n", [ServerOpts]), + ?CT_LOG("Client Opts ~p~n", [ClientOpts]), {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config), ConnectionInfo = {ok, {Version, ErlangCipherSuite}}, diff --git a/lib/ssl/test/ssl_dist_SUITE.erl b/lib/ssl/test/ssl_dist_SUITE.erl index 0194ff4dce00..526af64b5373 100644 --- a/lib/ssl/test/ssl_dist_SUITE.erl +++ b/lib/ssl/test/ssl_dist_SUITE.erl @@ -23,6 +23,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("kernel/include/net_address.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("public_key/include/public_key.hrl"). @@ -331,7 +332,7 @@ ktls_encrypt_decrypt(Client, Server) -> {ok, Data} -> ct:fail(recv_cleartext_data); {ok, RandomData} when length(Data) < length(RandomData) -> - ct:log("Received ~p", [RandomData]), + ?CT_LOG("Received ~p", [RandomData]), %% A TLS block should be longer than Data ok end, @@ -504,7 +505,7 @@ listen_port_options(Config) when is_list(Config) -> {ok, C} = gen_tcp:connect({127,0,0,1}, Port, []), {ok, S} = gen_tcp:accept(L), ok = gen_tcp:close(L), - ct:pal("Port: ~w", [Port]), + ?CT_LOG("Port: ~w", [Port]), %% %% Start a node on the server port, {reuseaddr,true} %% is used per default on the listening socket @@ -870,9 +871,9 @@ listen_options_test(NH1, NH2, Config) -> apply_on_ssl_node(NH2, fun get_socket_priorities/0), Elevated1 = [P || P <- PrioritiesNode1, P =:= Prio], - ct:pal("Elevated1: ~p~n", [Elevated1]), + ?CT_LOG("Elevated1: ~p~n", [Elevated1]), Elevated2 = [P || P <- PrioritiesNode2, P =:= Prio], - ct:pal("Elevated2: ~p~n", [Elevated2]), + ?CT_LOG("Elevated2: ~p~n", [Elevated2]), [_|_] = Elevated1, [_|_] = Elevated2. @@ -895,9 +896,9 @@ connect_options_test(NH1, NH2, Config) -> apply_on_ssl_node(NH2, fun get_socket_priorities/0), Elevated1 = [P || P <- PrioritiesNode1, P =:= Prio], - ct:pal("Elevated1: ~p~n", [Elevated1]), + ?CT_LOG("Elevated1: ~p~n", [Elevated1]), Elevated2 = [P || P <- PrioritiesNode2, P =:= Prio], - ct:pal("Elevated2: ~p~n", [Elevated2]), + ?CT_LOG("Elevated2: ~p~n", [Elevated2]), %% Node 1 will have a socket with elevated priority. [_|_] = Elevated1, %% Node 2 will not, since it only applies to outbound connections. @@ -914,8 +915,8 @@ net_ticker_spawn_options_test(NH1, NH2, _Config) -> FullsweepOptionNode2 = apply_on_ssl_node(NH2, fun () -> get_dist_util_fullsweep_option(Node1) end), - ct:pal("FullsweepOptionNode1: ~p~n", [FullsweepOptionNode1]), - ct:pal("FullsweepOptionNode2: ~p~n", [FullsweepOptionNode2]), + ?CT_LOG("FullsweepOptionNode1: ~p~n", [FullsweepOptionNode1]), + ?CT_LOG("FullsweepOptionNode2: ~p~n", [FullsweepOptionNode2]), 0 = FullsweepOptionNode1, 0 = FullsweepOptionNode2. @@ -1111,18 +1112,18 @@ add_ssl_opts_config(Config) -> VSN_PKEY, SSL_VSN]), ok = file:close(RelFile), - ct:pal("Bootscript: ~p", [Script]), + ?CT_LOG("Bootscript: ~p", [Script]), case systools:make_script(Script, []) of ok -> ok; NotOk -> - ct:pal("Bootscript problem: ~p", [NotOk]), + ?CT_PAL("Bootscript problem: ~p", [NotOk]), erlang:error(NotOk) end, [{app_opts, "-boot " ++ Script} | Config] catch Class : Reason : Stacktrace -> - ct:pal("Exception while generating bootscript:~n~p", + ?CT_LOG("Exception while generating bootscript:~n~p", [{Class, Reason, Stacktrace}]), [{app_opts, "-pa \"" ++ filename:dirname(code:which(ssl))++"\""} | add_comment_config( diff --git a/lib/ssl/test/ssl_dist_bench_SUITE.erl b/lib/ssl/test/ssl_dist_bench_SUITE.erl index 989007bec068..806d98724fde 100644 --- a/lib/ssl/test/ssl_dist_bench_SUITE.erl +++ b/lib/ssl/test/ssl_dist_bench_SUITE.erl @@ -22,6 +22,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct_event.hrl"). -include_lib("public_key/include/public_key.hrl"). @@ -447,12 +448,12 @@ setup(A, B, Prefix, Effort, HA, HB) -> _ = ssl_apply(HA, fun () -> set_cpu_affinity(client) end), {Log, Before, After} = ssl_apply(HB, fun () -> set_cpu_affinity(server) end), - ct:pal("Server CPU affinity: ~w -> ~w~n~s", [Before, After, Log]), + ?CT_PAL("Server CPU affinity: ~w -> ~w~n~s", [Before, After, Log]), MemStart = mem_start(HA, HB), ChildCountResult = ssl_dist_test_lib:apply_on_ssl_node( HA, supervisor, count_children, [tls_dist_connection_sup]), - ct:log("TLS Connection Child Count Result: ~p", [ChildCountResult]), + ?CT_LOG("TLS Connection Child Count Result: ~p", [ChildCountResult]), {SetupTime, CycleTime} = ssl_apply(HA, fun () -> setup_runner(A, B, Rounds) end), ok = ssl_apply(HB, fun () -> setup_wait_nodedown(A, 10000) end), @@ -579,7 +580,7 @@ parallel_setup(Config, Clients, _0, HNs) -> try {Log, Before, After} = ssl_apply(ServerHandle, fun () -> set_cpu_affinity(server) end), - ct:pal("Server CPU affinity: ~w -> ~w~n~s", [Before, After, Log]), + ?CT_PAL("Server CPU affinity: ~w -> ~w~n~s", [Before, After, Log]), ServerMemBefore = ssl_apply(ServerHandle, fun mem/0), parallel_setup_result( @@ -726,7 +727,7 @@ sched_utilization(A, B, Prefix, Effort, HA, HB, Config) -> MemStart = mem_start(HA, HB), PidA = ssl_apply(HA, os, getpid, []), PidB = ssl_apply(HB, os, getpid, []), - ct:pal("Starting scheduler utilization run effort ~w:~n" + ?CT_PAL("Starting scheduler utilization run effort ~w:~n" " [~s] ~w~n" " [~s] ~w~n", [Effort, PidA, A, PidB, B]), @@ -740,17 +741,17 @@ sched_utilization(A, B, Prefix, Effort, HA, HB, Config) -> "sched_utilization.Result", Result), Result end), - ct:log("Got ~p busy_dist_port msgs",[tail(BusyDistPortMsgs)]), + ?CT_LOG("Got ~p busy_dist_port msgs",[tail(BusyDistPortMsgs)]), [B] = ssl_apply(HA, erlang, nodes, []), [A] = ssl_apply(HB, erlang, nodes, []), {MemA, MemB, MemSuffix} = mem_stop(HA, HB, MemStart), - ct:log("Microstate accounting for node ~w:", [A]), + ?CT_LOG("Microstate accounting for node ~w:", [A]), msacc:print(ClientMsacc), - ct:log("Microstate accounting for node ~w:", [B]), + ?CT_LOG("Microstate accounting for node ~w:", [B]), msacc:print(ServerMsacc), - ct:log("Stats of B from A: ~p", + ?CT_LOG("Stats of B from A: ~p", [ssl_apply(HA, net_kernel, node_info, [B])]), - ct:log("Stats of A from B: ~p", + ?CT_LOG("Stats of A from B: ~p", [ssl_apply(HB, net_kernel, node_info, [A])]), SchedUtilClient = round(10000 * msacc:stats(system_runtime,ClientMsacc) / @@ -765,7 +766,7 @@ sched_utilization(A, B, Prefix, Effort, HA, HB, Config) -> is_integer(BusyDistPortMsgs) -> " ?"; true -> - ct:log("Stray Msgs: ~p", [BusyDistPortMsgs]), + ?CT_LOG("Stray Msgs: ~p", [BusyDistPortMsgs]), " ???" end, _ = report(Prefix++" Sched Utilization Client Mem", MemA, "KByte"), @@ -1422,7 +1423,7 @@ microseconds(Time) -> erlang:convert_time_unit(Time, native, microsecond). report(Name, Value, Suffix) -> - ct:pal("~s: ~w ~s", [Name, Value, Suffix]), + ?CT_PAL("~s: ~w ~s", [Name, Value, Suffix]), ct_event:notify( #event{ name = benchmark_data, diff --git a/lib/ssl/test/ssl_dist_test_lib.erl b/lib/ssl/test/ssl_dist_test_lib.erl index 3df721f2d7e4..9aa3087487dd 100644 --- a/lib/ssl/test/ssl_dist_test_lib.erl +++ b/lib/ssl/test/ssl_dist_test_lib.erl @@ -20,6 +20,7 @@ -module(ssl_dist_test_lib). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("public_key/include/public_key.hrl"). -include("ssl_dist_test_lib.hrl"). @@ -85,17 +86,17 @@ stop_ssl_node(#node_handle{connection_handler = Handler, normal -> ok; _ -> - ct:pal( + ?CT_PAL( "stop_ssl_node/1 ~s Down ~p ~n", [Name,Reason]) end end; Error -> erlang:demonitor(Mon, [flush]), - ct:pal("stop_ssl_node/1 ~s Warning ~p ~n", [Name,Error]) + ?CT_PAL("stop_ssl_node/1 ~s Warning ~p ~n", [Name,Error]) end, ssl_test_lib:ct_pal_file(LogPath), - ct:pal("DumpPath(~pB) = ~p~n", [filelib:file_size(DumpPath), DumpPath]). + ?CT_LOG("DumpPath(~pB) = ~p~n", [filelib:file_size(DumpPath), DumpPath]). start_ssl_node(Name, Args) -> start_ssl_node(Name, Args, 1). diff --git a/lib/ssl/test/ssl_engine_SUITE.erl b/lib/ssl/test/ssl_engine_SUITE.erl index fbc1d084e8d0..81daad70d89d 100644 --- a/lib/ssl/test/ssl_engine_SUITE.erl +++ b/lib/ssl/test/ssl_engine_SUITE.erl @@ -23,6 +23,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("public_key/include/public_key.hrl"). @@ -70,7 +71,7 @@ init_per_suite(Config) -> {ok, Engine} -> [{engine, Engine} |Config]; {error, Reason} -> - ct:pal("Reason ~p", [Reason]), + ?CT_PAL("Reason ~p", [Reason]), {skip, "No dynamic engine support"} catch error:notsup -> {skip, "No engine support in OpenSSL"} diff --git a/lib/ssl/test/ssl_handshake_SUITE.erl b/lib/ssl/test/ssl_handshake_SUITE.erl index f462fcefad40..27c80c49a95e 100644 --- a/lib/ssl/test/ssl_handshake_SUITE.erl +++ b/lib/ssl/test/ssl_handshake_SUITE.erl @@ -209,7 +209,7 @@ signature_algorithms(Config) -> signature_scheme_list = [rsa_pkcs1_sha256, ecdsa_sha1]}, {sha512, rsa} = ssl_handshake:select_hashsign( - {HashSigns0, Schemes0}, + {HashSigns0, undefined}, Cert, ecdhe_rsa, tls_v1:default_signature_algs([?TLS_1_2]), ?TLS_1_2), diff --git a/lib/ssl/test/ssl_key_update_SUITE.erl b/lib/ssl/test/ssl_key_update_SUITE.erl index 542674159c82..61d2c1066ccc 100644 --- a/lib/ssl/test/ssl_key_update_SUITE.erl +++ b/lib/ssl/test/ssl_key_update_SUITE.erl @@ -39,6 +39,7 @@ explicit_key_update/0, explicit_key_update/1]). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("ssl/src/ssl_api.hrl"). -include_lib("ssl/src/ssl_connection.hrl"). @@ -121,7 +122,7 @@ key_update_at(Config, Role) -> {Server, {socket, S}} -> S end, Keys0 = get_traffic_secrets(ClientSocket, ServerSocket), - ct:log("connected", []), + ?CT_LOG("connected", []), {Sender, Receiver} = case Role of client -> {Client, Server}; server -> {Server, Client} @@ -131,14 +132,14 @@ key_update_at(Config, Role) -> Data = ssl_test_lib:check_active_receive(Receiver, Data), %% TODO check if key has been updated (needs debug logging of secrets) ct:sleep(500), - ct:log("sent and waited", []), + ?CT_LOG("sent and waited", []), Keys1 = get_traffic_secrets(ClientSocket, ServerSocket), verify_key_update(Keys0, Keys1), %% Test mechanism to prevent infinite loop of key updates BigData = binary:copy(<<"1234567890">>, 10), %% 100 bytes ok = ssl_test_lib:send(Sender, BigData), ct:sleep(500), - ct:log("sent and waited 2", []), + ?CT_LOG("sent and waited 2", []), Keys2 = get_traffic_secrets(ClientSocket, ServerSocket), verify_key_update(Keys1, Keys2), ssl_test_lib:close(Server), @@ -168,7 +169,7 @@ get_traffic_secrets(ClientSocket, ServerSocket) -> [{ClientSocket, client}, {ServerSocket, server}]]), P = fun(Direction) -> Vals = proplists:get_all_values(Direction, Secrets), - ct:log("~30s ~10s(c) ~10s(s)", + ?CT_LOG("~30s ~10s(c) ~10s(s)", [Direction, proplists:get_value(client, Vals), proplists:get_value(server, Vals)]), {Direction, [proplists:get_value(client, Vals), diff --git a/lib/ssl/test/ssl_mfl_SUITE.erl b/lib/ssl/test/ssl_mfl_SUITE.erl index 0cff56193835..4754bdf0e207 100644 --- a/lib/ssl/test/ssl_mfl_SUITE.erl +++ b/lib/ssl/test/ssl_mfl_SUITE.erl @@ -21,6 +21,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). -include("ssl_record.hrl"). @@ -181,11 +182,11 @@ run_mfl_handshake_continue(Config, MFL) -> MflEnum = mfl_enum(MFL), PostF = fun(Server, Client) -> receive {Server, {ext, ServerExt}} -> - ct:log("Server handshake Ext ~p~n", [ServerExt]), + ?CT_LOG("Server handshake Ext ~p~n", [ServerExt]), MflEnum = maps:get(max_frag_enum, ServerExt, undefined) end, receive {Client, {ext, ClientExt}} -> - ct:log("Client handshake Ext ~p~n", [ClientExt]), + ?CT_LOG("Client handshake Ext ~p~n", [ClientExt]), case maps:get(server_hello_selected_version, ClientExt, undefined) of ?TLS_1_3 -> %% For TLS 1.3 the ssl {handshake, hello} API is inconsistent: @@ -220,7 +221,7 @@ ssl_receive(Socket, Data) -> ssl_receive(Socket, Data, Buffer) -> receive {ssl, Socket, MoreData} -> - ct:log("Received ~p~n",[MoreData]), + ?CT_LOG("Received ~p~n",[MoreData]), NewBuffer = Buffer ++ MoreData, case NewBuffer of Data -> diff --git a/lib/ssl/test/ssl_npn_SUITE.erl b/lib/ssl/test/ssl_npn_SUITE.erl index 7cd4818088b0..75154af652a2 100644 --- a/lib/ssl/test/ssl_npn_SUITE.erl +++ b/lib/ssl/test/ssl_npn_SUITE.erl @@ -23,6 +23,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). %% Callback functions @@ -122,7 +123,7 @@ end_per_group(GroupName, Config) -> init_per_testcase(_TestCase, Config) -> ssl_test_lib:ct_log_supported_protocol_versions(Config), Version = proplists:get_value(version, Config), - ct:log("Ciphers: ~p~n ", [ ssl:cipher_suites(default, Version)]), + ?CT_LOG("Ciphers: ~p~n ", [ ssl:cipher_suites(default, Version)]), ct:timetrap(?TIMEOUT), Config. @@ -255,13 +256,13 @@ npn_handshake_session_reused(Config) when is_list(Config)-> %%-------------------------------------------------------------------- assert_npn(Socket, Protocol) -> - ct:log("Negotiated Protocol ~p, Expecting: ~p ~n", + ?CT_LOG("Negotiated Protocol ~p, Expecting: ~p ~n", [ssl:negotiated_protocol(Socket), Protocol]), Protocol = ssl:negotiated_protocol(Socket). assert_npn_and_renegotiate_and_send_data(Socket, Protocol, Data) -> assert_npn(Socket, Protocol), - ct:log("Renegotiating ~n", []), + ?CT_LOG("Renegotiating ~n", []), ok = ssl:renegotiate(Socket), ssl:send(Socket, Data), assert_npn(Socket, Protocol), @@ -276,7 +277,7 @@ ssl_receive_and_assert_npn(Socket, Protocol, Data) -> ssl_receive(Socket, Data). ssl_send(Socket, Data) -> - ct:log("Connection info: ~p~n", + ?CT_LOG("Connection info: ~p~n", [ssl:connection_information(Socket)]), ssl:send(Socket, Data). @@ -284,11 +285,11 @@ ssl_receive(Socket, Data) -> ssl_receive(Socket, Data, []). ssl_receive(Socket, Data, Buffer) -> - ct:log("Connection info: ~p~n", + ?CT_LOG("Connection info: ~p~n", [ssl:connection_information(Socket)]), receive {ssl, Socket, MoreData} -> - ct:log("Received ~p~n",[MoreData]), + ?CT_LOG("Received ~p~n",[MoreData]), NewBuffer = Buffer ++ MoreData, case NewBuffer of Data -> diff --git a/lib/ssl/test/ssl_npn_hello_SUITE.erl b/lib/ssl/test/ssl_npn_hello_SUITE.erl index b097a311eb68..946c931ce400 100644 --- a/lib/ssl/test/ssl_npn_hello_SUITE.erl +++ b/lib/ssl/test/ssl_npn_hello_SUITE.erl @@ -24,6 +24,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("ssl/src/tls_record.hrl"). -include_lib("ssl/src/tls_handshake.hrl"). -include_lib("ssl/src/ssl_cipher.hrl"). @@ -118,7 +119,7 @@ encode_and_decode_npn_server_hello_test(Config) -> tls_handshake:get_tls_handshakes(Version, list_to_binary(HandShakeData), <<>>, default_options_map()), Extensions = DecodedHandshakeMessage#server_hello.extensions, - ct:log("~p ~n", [Extensions]), + ?CT_LOG("~p ~n", [Extensions]), #{next_protocol_negotiation := #next_protocol_negotiation{extension_data = <<6, "spdy/2">>}} = Extensions. %%-------------------------------------------------------------------- @@ -142,7 +143,6 @@ create_client_handshake(Npn) -> random = <<1:256>>, session_id = <<>>, cipher_suites = [?TLS_DHE_DSS_WITH_DES_CBC_SHA], - compression_methods = "", extensions = #{next_protocol_negotiation => Npn, renegotiation_info => #renegotiation_info{}} }, Vsn). @@ -154,7 +154,6 @@ create_server_handshake(Npn) -> random = <<1:256>>, session_id = <<>>, cipher_suite = ?TLS_DHE_DSS_WITH_DES_CBC_SHA, - compression_method = 1, extensions = #{next_protocol_negotiation => Npn, renegotiation_info => #renegotiation_info{}} }, Vsn). @@ -162,7 +161,6 @@ create_server_handshake(Npn) -> create_connection_states() -> #{pending_read => #{security_parameters => #security_parameters{ server_random = <<1:256>>, - compression_algorithm = 1, cipher_suite = ?TLS_DHE_DSS_WITH_DES_CBC_SHA } }, diff --git a/lib/ssl/test/ssl_payload_SUITE.erl b/lib/ssl/test/ssl_payload_SUITE.erl index c3ddbdabc14d..48d70934ad7b 100644 --- a/lib/ssl/test/ssl_payload_SUITE.erl +++ b/lib/ssl/test/ssl_payload_SUITE.erl @@ -22,6 +22,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). %% Common test -export([all/0, @@ -792,40 +793,40 @@ send_close(Socket, Data) -> ssl:close(Socket). sender(Socket, Data) -> - ct:log("Sender recv: ~p~n", [ssl:getopts(Socket, [active])]), + ?CT_LOG("Sender recv: ~p~n", [ssl:getopts(Socket, [active])]), send(Socket, Data, 100, fun() -> ssl_test_lib:recv_disregard(Socket, byte_size(Data)) end). sender_active_once(Socket, Data) -> - ct:log("Sender active once: ~p~n", [ssl:getopts(Socket, [active])]), + ?CT_LOG("Sender active once: ~p~n", [ssl:getopts(Socket, [active])]), send(Socket, Data, 100, fun() -> ssl_test_lib:active_once_disregard(Socket, byte_size(Data)) end). sender_active(Socket, Data) -> - ct:log("Sender active: ~p~n", [ssl:getopts(Socket, [active])]), + ?CT_LOG("Sender active: ~p~n", [ssl:getopts(Socket, [active])]), send(Socket, Data, 100, fun() -> ssl_test_lib:active_disregard(Socket, byte_size(Data)) end). echoer(Socket, Size) -> - ct:log("Echoer recv: ~p~n", [ssl:getopts(Socket, [active])]), + ?CT_LOG("Echoer recv: ~p~n", [ssl:getopts(Socket, [active])]), echo_recv(Socket, Size * 100). echoer_chunk(Socket, Size) -> - ct:log("Echoer recv: ~p~n", [ssl:getopts(Socket, [active])]), + ?CT_LOG("Echoer recv: ~p~n", [ssl:getopts(Socket, [active])]), echo_recv_chunk(Socket, Size, Size * 100). echoer_active_once(Socket, Size) -> - ct:log("Echoer active once: ~p~n", [ssl:getopts(Socket, [active])]), + ?CT_LOG("Echoer active once: ~p~n", [ssl:getopts(Socket, [active])]), echo_active_once(Socket, Size * 100). echoer_active(Socket, Size) -> - ct:log("Echoer active: ~p~n", [ssl:getopts(Socket, [active])]), + ?CT_LOG("Echoer active: ~p~n", [ssl:getopts(Socket, [active])]), echo_active(Socket, Size * 100). diff --git a/lib/ssl/test/ssl_pem_cache_SUITE.erl b/lib/ssl/test/ssl_pem_cache_SUITE.erl index 0c26388e8c65..9054d9d94a7f 100644 --- a/lib/ssl/test/ssl_pem_cache_SUITE.erl +++ b/lib/ssl/test/ssl_pem_cache_SUITE.erl @@ -512,7 +512,7 @@ new_root_pem_helper(Config, CleanMode, %% ConnectedN - state after establishing Nth connection %% Cleaned - state after periodical cleanup %% DisconnectedN - state after closing Nth connection - ?CT_PAL(">>> IntermediateServerKeyId = ~w", [IntermediateServerKeyId]), + ?CT_LOG(">>> IntermediateServerKeyId = ~w", [IntermediateServerKeyId]), {ServerCAFile, ClientConf0, ServerConf, ServerRootCert0, ClientBase, ServerBase} = create_initial_config(Config), @@ -778,10 +778,18 @@ pem_periodical_cleanup(Config, FileIds, try Cleaned = get_table_sizes(), [{pem_cache, PemCacheData1}, _, _, _] = get_tables(), - IsSame = PemCacheData1 == PemCacheData0, check_tables([{pem_cache, PemCacheData1}, {cert, CertData0}, {ca_ref_cnt, CaRefCntData0}, {ca_file_ref, CaFileRefData0}]), - [true = lists:member(Row, PemCacheData0) || Row <- PemCacheData1], + + [] = [{missing, Row} || Row <- PemCacheData1, + not lists:member(Row, PemCacheData0)], + case IsSame of + true -> + [] = PemCacheData0 -- PemCacheData1; + _ -> + ok + end, + %% restore original mtime attributes [ok = file:write_file_info(C, F#file_info{mtime = OT}) || {C, F, OT} <- Memory], @@ -789,8 +797,8 @@ pem_periodical_cleanup(Config, FileIds, [ssl_test_lib:close(A) || A <- [Server, Client]], Disconnected = get_table_sizes(), ok - catch _:Reason -> - Reason + catch _:Reason:ST -> + {Reason,ST} end, case Result of ok -> diff --git a/lib/ssl/test/ssl_renegotiate_SUITE.erl b/lib/ssl/test/ssl_renegotiate_SUITE.erl index 2a58d5ee5b53..5ad0b8ceb2c7 100644 --- a/lib/ssl/test/ssl_renegotiate_SUITE.erl +++ b/lib/ssl/test/ssl_renegotiate_SUITE.erl @@ -24,6 +24,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("public_key/include/public_key.hrl"). -include("ssl_record.hrl"). @@ -61,7 +62,9 @@ renegotiate_dos_mitigate_passive/0, renegotiate_dos_mitigate_passive/1, renegotiate_dos_mitigate_absolute/0, - renegotiate_dos_mitigate_absolute/1 + renegotiate_dos_mitigate_absolute/1, + active_error_disallowed_client_renegotiate/0, + active_error_disallowed_client_renegotiate/1 ]). %% Apply export @@ -105,7 +108,8 @@ renegotiate_tests() -> server_no_wrap_sequence_number, renegotiate_dos_mitigate_active, renegotiate_dos_mitigate_passive, - renegotiate_dos_mitigate_absolute]. + renegotiate_dos_mitigate_absolute, + active_error_disallowed_client_renegotiate]. init_per_suite(Config) -> catch crypto:stop(), @@ -466,13 +470,38 @@ renegotiate_dos_mitigate_absolute(Config) when is_list(Config) -> ssl_test_lib:close(Server), ssl_test_lib:close(Client). +%%-------------------------------------------------------------------- +active_error_disallowed_client_renegotiate() -> + [{doc,"Test that an active client socket gets an error when server denies client renegotiation."}]. +active_error_disallowed_client_renegotiate(Config) when is_list(Config) -> + ServerOpts = ssl_test_lib:ssl_options(server_rsa_verify_opts, Config), + ClientOpts = ssl_test_lib:ssl_options(client_rsa_verify_opts, Config), + + {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config), + + Server = + ssl_test_lib:start_server([{node, ServerNode}, {port, 0}, + {from, self()}, + {mfa, {ssl_test_lib, no_result, []}}, + {options, [{client_renegotiation, false} | ServerOpts]}]), + Port = ssl_test_lib:inet_port(Server), + + {ok, Client} = ssl:connect(Hostname, Port, [{renegotiate_at, 1}, {active, true} | ClientOpts]), + + {error, closed} = ssl:send(Client, crypto:strong_rand_bytes(20)), + + receive + {ssl_error, Client, _} -> + ok + end. + %%-------------------------------------------------------------------- %% Internal functions ------------------------------------------------ %%-------------------------------------------------------------------- renegotiate(Socket, Data) -> - ct:log("Renegotiating ~n", []), + ?CT_LOG("Renegotiating ~n", []), Result = ssl:renegotiate(Socket), - ct:log("Result ~p~n", [Result]), + ?CT_LOG("Result ~p~n", [Result]), ssl:send(Socket, Data), case Result of ok -> @@ -492,7 +521,7 @@ renegotiate_immediately(Socket) -> {error, renegotiation_rejected} = ssl:renegotiate(Socket), ct:sleep(?RENEGOTIATION_DISABLE_TIME + ?SLEEP), ok = ssl:renegotiate(Socket), - ct:log("Renegotiated again"), + ?CT_LOG("Renegotiated again"), ssl:send(Socket, "Hello world"), ok. @@ -502,7 +531,7 @@ renegotiate_rejected(Socket) -> {error, renegotiation_rejected} = ssl:renegotiate(Socket), ct:sleep(?RENEGOTIATION_DISABLE_TIME +1), {error, renegotiation_rejected} = ssl:renegotiate(Socket), - ct:log("Failed to renegotiate again"), + ?CT_LOG("Failed to renegotiate again"), ssl:send(Socket, "Hello world"), ok. diff --git a/lib/ssl/test/ssl_session_SUITE.erl b/lib/ssl/test/ssl_session_SUITE.erl index b94932bfc6ee..4063e55cac12 100644 --- a/lib/ssl/test/ssl_session_SUITE.erl +++ b/lib/ssl/test/ssl_session_SUITE.erl @@ -23,6 +23,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include("tls_handshake.hrl"). -include("ssl_record.hrl"). @@ -464,6 +465,8 @@ no_reuses_session_server_restart_new_cert() -> no_reuses_session_server_restart_new_cert(Config) when is_list(Config) -> ClientOpts = ssl_test_lib:ssl_options(client_rsa_der_opts, Config), ServerOpts = ssl_test_lib:ssl_options(server_rsa_der_verify_opts, Config), + POpts = proplists:get_value(protocol_opts, Config, []), + #{client_config := NewCOpts, server_config := NewSOpts} = ssl_test_lib:make_cert_chains_der(rsa, [[{key, ssl_test_lib:hardcode_rsa_key(4)}], @@ -493,19 +496,19 @@ no_reuses_session_server_restart_new_cert(Config) when is_list(Config) -> Server1 = ssl_test_lib:start_server([{node, ServerNode}, {port, Port}, {from, self()}, {mfa, {ssl_test_lib, session_info_result, []}}, - {options, [{reuseaddr, true} | NewSOpts]}]), + {options, [{reuseaddr, true} | NewSOpts ++ POpts]}]), Client1 = ssl_test_lib:start_client([{node, ClientNode}, {port, Port}, {host, Hostname}, {mfa, {ssl_test_lib, session_info_result, []}}, - {from, self()}, {options, NewCOpts}]), + {from, self()}, {options, NewCOpts ++ POpts}]), Info1 = receive {Server1, Info10} -> Info10 end, receive {Client1, Info0} -> ct:fail(session_reused_when_server_has_new_cert); {Client1, Info1} -> - ct:pal("First: ~p~nSecond ~p~n",[Info0, Info1]); + ?CT_LOG("First: ~p~nSecond ~p~n",[Info0, Info1]); Unexpected -> ct:fail({unexpected, Unexpected, {Client1, Info1}}) end, @@ -520,6 +523,8 @@ no_reuses_session_server_restart_new_cert_file() -> no_reuses_session_server_restart_new_cert_file(Config) when is_list(Config) -> ClientOpts = ssl_test_lib:ssl_options(client_rsa_opts, Config), ServerOpts = ssl_test_lib:ssl_options(server_rsa_verify_opts, Config), + POpts = proplists:get_value(protocol_opts, Config, []), + #{client_config := NewCOpts, server_config := NewSOpts} = ssl_test_lib:make_cert_chains_pem(rsa, [[{key, ssl_test_lib:hardcode_rsa_key(4)}], @@ -534,14 +539,14 @@ no_reuses_session_server_restart_new_cert_file(Config) when is_list(Config) -> Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0}, {from, self()}, - {mfa, {ssl_test_lib, session_info_result, []}}, + {mfa, {ssl_test_lib, session_info_result, []}}, {options, NewServerOpts0}]), Port = ssl_test_lib:inet_port(Server), Client0 = ssl_test_lib:start_client([{node, ClientNode}, - {port, Port}, {host, Hostname}, - {mfa, {ssl_test_lib, no_result, []}}, - {from, self()}, {options, ClientOpts}]), + {port, Port}, {host, Hostname}, + {mfa, {ssl_test_lib, no_result, []}}, + {from, self()}, {options, ClientOpts}]), SessionInfo = receive {Server, Info} -> @@ -561,13 +566,13 @@ no_reuses_session_server_restart_new_cert_file(Config) when is_list(Config) -> Server1 = ssl_test_lib:start_server([{node, ServerNode}, {port, Port}, {from, self()}, - {mfa, {ssl_test_lib, no_result, []}}, - {options, [{reuseaddr, true} | NewServerOpts1]}]), + {mfa, {ssl_test_lib, no_result, []}}, + {options, [{reuseaddr, true} | NewServerOpts1 ++ POpts]}]), Client1 = ssl_test_lib:start_client([{node, ClientNode}, - {port, Port}, {host, Hostname}, - {mfa, {ssl_test_lib, session_info_result, []}}, - {from, self()}, {options, NewCOpts}]), + {port, Port}, {host, Hostname}, + {mfa, {ssl_test_lib, session_info_result, []}}, + {from, self()}, {options, NewCOpts ++ POpts}]), receive {Client1, SessionInfo} -> ct:fail(session_reused_when_server_has_new_cert); @@ -649,7 +654,7 @@ session_cachce_info(SessionCache) -> check_table_did_not_grow(SessionCachePid, N) -> {SessionCacheCb, SessionCacheDb} = session_cachce_info(SessionCachePid), - ct:pal("Run ~p ~p", [SessionCacheCb, SessionCacheDb]), + ?CT_LOG("Run ~p ~p", [SessionCacheCb, SessionCacheDb]), case catch SessionCacheCb:size(SessionCacheDb) of N -> ok; @@ -750,14 +755,13 @@ client_hello(Random) -> random = Random, session_id = crypto:strong_rand_bytes(32), cipher_suites = CipherSuites, - compression_methods = [0], extensions = Extensions }. connection_states(Random) -> #{current_write => #{beast_mitigation => one_n_minus_one,cipher_state => undefined, - client_verify_data => undefined,compression_state => undefined, + client_verify_data => undefined, mac_secret => undefined,secure_renegotiation => undefined, security_parameters => #security_parameters{ @@ -772,7 +776,6 @@ connection_states(Random) -> mac_algorithm = 0, prf_algorithm = 0, hash_size = 0, - compression_algorithm = 0, master_secret = undefined, resumption_master_secret = undefined, client_random = Random, diff --git a/lib/ssl/test/ssl_session_cache_SUITE.erl b/lib/ssl/test/ssl_session_cache_SUITE.erl index 79f9a5231731..464aa6c9112a 100644 --- a/lib/ssl/test/ssl_session_cache_SUITE.erl +++ b/lib/ssl/test/ssl_session_cache_SUITE.erl @@ -24,6 +24,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). %% Callback functions @@ -217,7 +218,7 @@ client_unique_session(Config) when is_list(Config) -> {options, ServerOpts}]), Port = ssl_test_lib:inet_port(Server), LastClient = clients_start(Server, ClientNode, Hostname, Port, ClientOpts, 20, []), - receive + receive {LastClient, {ok, _}} -> ok end, @@ -227,10 +228,10 @@ client_unique_session(Config) when is_list(Config) -> ClientCache = element(2, State), 1 = ?CLIENT_CB:size(ClientCache), - + ssl_test_lib:close(Server, 500), ssl_test_lib:close(LastClient). - + session_cleanup() -> [{doc, "Test that sessions are cleaned up eventually, so that the session table " "does not grow and grow ..."}]. @@ -380,7 +381,7 @@ max_table_size(Config) when is_list(Config) -> State = ssl_test_lib:state(Prop), ClientCache = element(2, State), M = ?CLIENT_CB:size(ClientCache), - ct:pal("Cache size ~p",[M]), + ?CT_LOG("Cache size ~p",[M]), ssl_test_lib:close(Server, 500), ssl_test_lib:close(LastClient), true = M =< ?MAX_TABLE_SIZE. @@ -560,8 +561,11 @@ clients_start(Server, ClientNode, Hostname, Port, ClientOpts, N, Opts) -> spawn_link(ssl_test_lib, start_client, [[{node, ClientNode}, {port, Port}, {host, Hostname}, - {mfa, {ssl_test_lib, no_result, []}}, + {mfa, {?MODULE, connection_info_result, []}}, {from, self()}, {options, Opts ++ ClientOpts}]]), + receive %% Sync client connect + {_, {ok, _}} -> ok + end, Server ! listen, wait_for_server(), clients_start(Server, ClientNode, Hostname, Port, ClientOpts, N-1, Opts). diff --git a/lib/ssl/test/ssl_session_ticket_SUITE.erl b/lib/ssl/test/ssl_session_ticket_SUITE.erl index 6e07a845e9fb..dcebd5f0c335 100644 --- a/lib/ssl/test/ssl_session_ticket_SUITE.erl +++ b/lib/ssl/test/ssl_session_ticket_SUITE.erl @@ -82,8 +82,8 @@ stateless_multiple_servers/0, stateless_multiple_servers/1]). +-include("ssl_test_lib.hrl"). -include("tls_handshake.hrl"). - -include_lib("common_test/include/ct.hrl"). -define(SLEEP, 500). @@ -648,7 +648,7 @@ multiple_tickets(Config) when is_list(Config) -> Tickets0 = ssl_test_lib:check_tickets(Client0), - ct:pal("Received tickets: ~p~n", [Tickets0]), + ?CT_LOG("Received tickets: ~p~n", [Tickets0]), ssl_test_lib:check_result(Server0, ok), @@ -710,7 +710,7 @@ multiple_tickets_2hash(Config) when is_list(Config) -> Tickets0 = ssl_test_lib:check_tickets(Client0), - ct:pal("Received tickets: ~p~n", [Tickets0]), + ?CT_LOG("Received tickets: ~p~n", [Tickets0]), ssl_test_lib:check_result(Server0, ok), @@ -734,7 +734,7 @@ multiple_tickets_2hash(Config) when is_list(Config) -> Tickets1 = ssl_test_lib:check_tickets(Client1), - ct:pal("Received tickets: ~p~n", [Tickets1]), + ?CT_LOG("Received tickets: ~p~n", [Tickets1]), ssl_test_lib:check_result(Server0, ok), diff --git a/lib/ssl/test/ssl_sni_SUITE.erl b/lib/ssl/test/ssl_sni_SUITE.erl index 3cc4d4968473..9f37fe5535bd 100644 --- a/lib/ssl/test/ssl_sni_SUITE.erl +++ b/lib/ssl/test/ssl_sni_SUITE.erl @@ -23,6 +23,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("public_key/include/public_key.hrl"). -include_lib("kernel/include/inet.hrl"). @@ -137,7 +138,7 @@ init_per_testcase(customize_hostname_check, Config) -> init_per_testcase(_TestCase, Config) -> ssl_test_lib:ct_log_supported_protocol_versions(Config), Version = proplists:get_value(version, Config), - ct:log("Ciphers: ~p~n ", [ ssl:cipher_suites(default, Version)]), + ?CT_LOG("Ciphers: ~p~n ", [ ssl:cipher_suites(default, Version)]), ct:timetrap(?TIMEOUT), Config. @@ -449,7 +450,7 @@ recv_and_certificate(SSLSocket) -> {ok, PeerCert} = ssl:peercert(SSLSocket), #'OTPCertificate'{tbsCertificate = #'OTPTBSCertificate'{subject = {rdnSequence, Subject}}} = public_key:pkix_decode_cert(PeerCert, otp), - ct:log("Subject of certificate received from server: ~p", [Subject]), + ?CT_LOG("Subject of certificate received from server: ~p", [Subject]), rdn_to_string(rdnPart(Subject, ?'id-at-commonName')). %%-------------------------------------------------------------------- diff --git a/lib/ssl/test/ssl_socket_SUITE.erl b/lib/ssl/test/ssl_socket_SUITE.erl index 5f0ea7662611..781f9b6e796f 100644 --- a/lib/ssl/test/ssl_socket_SUITE.erl +++ b/lib/ssl/test/ssl_socket_SUITE.erl @@ -22,6 +22,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("public_key/include/public_key.hrl"). @@ -170,8 +171,7 @@ getstat(Config) when is_list(Config) -> {ok, PassiveC} = rpc:call(ClientNode, ssl, connect, [Hostname,Port2,[{active, false}|ClientOpts]]), - ct:log("Testcase ~p, Client ~p Servers ~p, ~p ~n", - [self(), self(), Server1, Server2]), + ?CT_LOG("Servers ~p, ~p ~n", [Server1, Server2]), %% We only check that the values are non-zero initially %% (due to the handshake), and that sending more changes the values. @@ -179,21 +179,21 @@ getstat(Config) when is_list(Config) -> %% Passive socket. {ok, InitialStats} = ssl:getstat(PassiveC), - ct:pal("InitialStats ~p~n", [InitialStats]), + ?CT_LOG("InitialStats ~p~n", [InitialStats]), [true] = lists:usort([0 =/= proplists:get_value(Name, InitialStats) || Name <- [recv_cnt, recv_oct, recv_avg, recv_max, send_cnt, send_oct, send_avg, send_max]]), ok = ssl:send(PassiveC, "Hello world"), wait_for_send(PassiveC), {ok, SStats} = ssl:getstat(PassiveC, [send_cnt, send_oct]), - ct:pal("SStats ~p~n", [SStats]), + ?CT_LOG("SStats ~p~n", [SStats]), [true] = lists:usort([proplists:get_value(Name, SStats) =/= proplists:get_value(Name, InitialStats) || Name <- [send_cnt, send_oct]]), %% Active socket. {ok, InitialAStats} = ssl:getstat(ActiveC), - ct:pal("InitialAStats ~p~n", [InitialAStats]), + ?CT_LOG("InitialAStats ~p~n", [InitialAStats]), [true] = lists:usort([0 =/= proplists:get_value(Name, InitialAStats) || Name <- [recv_cnt, recv_oct, recv_avg, recv_max, send_cnt, send_oct, send_avg, send_max]]), @@ -208,7 +208,7 @@ getstat(Config) when is_list(Config) -> ok = ssl:send(ActiveC, "Hello world"), wait_for_send(ActiveC), {ok, ASStats} = ssl:getstat(ActiveC, [send_cnt, send_oct]), - ct:pal("ASStats ~p~n", [ASStats]), + ?CT_LOG("ASStats ~p~n", [ASStats]), [true] = lists:usort([proplists:get_value(Name, ASStats) =/= proplists:get_value(Name, InitialAStats) || Name <- [send_cnt, send_oct]]), @@ -290,8 +290,7 @@ invalid_inet_get_option(Config) when is_list(Config) -> {mfa, {ssl_test_lib, no_result, []}}, {options, ClientOpts}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok), ssl_test_lib:close(Server), @@ -316,8 +315,7 @@ invalid_inet_get_option_not_list(Config) when is_list(Config) -> {mfa, {ssl_test_lib, no_result, []}}, {options, ClientOpts}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok), ssl_test_lib:close(Server), @@ -342,8 +340,7 @@ invalid_inet_get_option_improper_list(Config) when is_list(Config) -> {mfa, {ssl_test_lib, no_result, []}}, {options, ClientOpts}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok), ssl_test_lib:close(Server), @@ -368,8 +365,7 @@ invalid_inet_set_option(Config) when is_list(Config) -> {mfa, {ssl_test_lib, no_result, []}}, {options, ClientOpts}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok), ssl_test_lib:close(Server), @@ -394,8 +390,7 @@ invalid_inet_set_option_not_list(Config) when is_list(Config) -> {mfa, {ssl_test_lib, no_result, []}}, {options, ClientOpts}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok), ssl_test_lib:close(Server), @@ -420,8 +415,7 @@ invalid_inet_set_option_improper_list(Config) when is_list(Config) -> {mfa, {ssl_test_lib, no_result, []}}, {options, ClientOpts}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok), ssl_test_lib:close(Server), @@ -439,7 +433,7 @@ socket_options_result(Socket, Options, DefaultValues, NewOptions, NewValues) -> %% Test get/set inet opts {ok,[{reuseaddr, _}]} = ssl:getopts(Socket, [reuseaddr]), {ok, All} = ssl:getopts(Socket, []), - ct:log("All opts ~p~n", [All]), + ?CT_LOG("All opts ~p~n", [All]), ok. get_invalid_inet_option(Socket) -> diff --git a/lib/ssl/test/ssl_test_lib.erl b/lib/ssl/test/ssl_test_lib.erl index 64ee3c9d0d10..b8715ee69203 100644 --- a/lib/ssl/test/ssl_test_lib.erl +++ b/lib/ssl/test/ssl_test_lib.erl @@ -2866,21 +2866,21 @@ openssl_tls_version_support(Proto, Opts, Port, Exe, Args0) -> close_port(OpensslPort), true; {error, {tls_alert, {protocol_version, _}}} -> - ?CT_PAL("OpenSSL does not support ~p", [proplists:get_value(versions, Opts)]), + ?CT_LOG("OpenSSL does not support ~p", [proplists:get_value(versions, Opts)]), close_port(OpensslPort), false; {error, {tls_alert, Alert}} -> - ?CT_PAL("OpenSSL returned alert ~p", [Alert]), + ?CT_LOG("OpenSSL returned alert ~p", [Alert]), close_port(OpensslPort), false; {error, timeout} -> - ?CT_PAL("Timed out connection to OpenSSL", []), + ?CT_LOG("Timed out connection to OpenSSL", []), close_port(OpensslPort), false end catch _:_ -> - ?CT_PAL("OpenSSL does not support ~p", [proplists:get_value(versions, Opts)]), + ?CT_LOG("OpenSSL does not support ~p", [proplists:get_value(versions, Opts)]), close_port(OpensslPort), false end. @@ -2946,7 +2946,7 @@ check_key_exchange(KeyEx1, KeyEx2, Version) -> 'dtlsv1.2' -> v_1_2_check(element(1, KeyEx1), KeyEx2); _ -> - ?CT_PAL("Negotiated ~p Expected ~p", [KeyEx1, KeyEx2]), + ?CT_LOG("Negotiated ~p Expected ~p", [KeyEx1, KeyEx2]), false end. @@ -3926,66 +3926,66 @@ session_id(Socket) -> reuse_session(ClientOpts, ServerOpts, Config) -> {ClientNode, ServerNode, Hostname} = run_where(Config), - + Server0 = start_server([{node, ServerNode}, {port, 0}, - {from, self()}, - {mfa, {ssl_test_lib, no_result, []}}, - {tcp_options, [{active, false}]}, - {options, ServerOpts}]), + {from, self()}, + {mfa, {ssl_test_lib, no_result, []}}, + {tcp_options, [{active, false}]}, + {options, ServerOpts}]), Port0 = inet_port(Server0), - + Client0 = start_client([{node, ClientNode}, - {port, Port0}, {host, Hostname}, - {mfa, {ssl_test_lib, session_id, []}}, - {from, self()}, {options, [{reuse_sessions, save} | ClientOpts]}]), + {port, Port0}, {host, Hostname}, + {mfa, {ssl_test_lib, session_id, []}}, + {from, self()}, {options, [{reuse_sessions, save} | ClientOpts]}]), Server0 ! listen, - - Client1 = start_client([{node, ClientNode}, - {port, Port0}, {host, Hostname}, - {mfa, {ssl_test_lib, session_id, []}}, - {from, self()}, {options, ClientOpts}]), SID = receive {Client0, Id0} -> Id0 end, - + + Client1 = start_client([{node, ClientNode}, + {port, Port0}, {host, Hostname}, + {mfa, {ssl_test_lib, session_id, []}}, + {from, self()}, {options, ClientOpts}]), + receive {Client1, SID} -> ok after ?SLEEP -> - ct:fail(session_not_reused) + ct:fail(session_not_reused) end, - + Server0 ! listen, - + Client2 = start_client([{node, ClientNode}, - {port, Port0}, {host, Hostname}, - {mfa, {ssl_test_lib, session_id, []}}, - {from, self()}, {options, [{reuse_sessions, false} - | ClientOpts]}]), + {port, Port0}, {host, Hostname}, + {mfa, {ssl_test_lib, session_id, []}}, + {from, self()}, {options, [{reuse_sessions, false} + | ClientOpts]}]), receive - {Client2, SID} -> + {Client2, SID} -> ct:fail(session_reused_when_session_reuse_disabled_by_client); - {Client2, _} -> + {Client2, _} -> ok end, - + close(Server0), close(Client0), close(Client1), close(Client2), - + Server1 = start_server([{node, ServerNode}, {port, 0}, - {from, self()}, - {mfa, {ssl_test_lib, no_result, []}}, - {tcp_options, [{active, false}]}, - {options, [{reuse_sessions, false} | ServerOpts]}]), + {from, self()}, + {mfa, {ssl_test_lib, no_result, []}}, + {tcp_options, [{active, false}]}, + {options, [{reuse_sessions, false} | ServerOpts]}]), Port1 = inet_port(Server1), - + Client3 = start_client([{node, ClientNode}, {port, Port1}, {host, Hostname}, {mfa, {ssl_test_lib, session_id, []}}, @@ -3996,7 +3996,7 @@ reuse_session(ClientOpts, ServerOpts, Config) -> end, Server1 ! listen, - + Client4 = start_client([{node, ClientNode}, {port, Port1}, {host, Hostname}, @@ -4009,7 +4009,7 @@ reuse_session(ClientOpts, ServerOpts, Config) -> {Client4, _} -> ok end, - + close(Server1), close(Client3), close(Client4). @@ -4179,6 +4179,8 @@ openssl_maxfraglen_support() -> false; "OpenSSL 1.1.1" ++ _ -> true; + "OpenSSL 3.0" ++ _ -> + false; %% OpenSSL sends internal error alert "OpenSSL" ++ _ -> true; _ -> @@ -4282,9 +4284,9 @@ ktls_set_cipher(Socket, OS, TxRx, Seed) -> ct_pal_file(FilePath) -> case file:read_file(FilePath) of {ok, Binary} -> - ?CT_PAL("~s ~pB~n~s", + ?CT_LOG("~s ~pB~n~s", [FilePath, filelib:file_size(FilePath), Binary]); _ -> - ?CT_PAL("Failed to log ~s", [FilePath]), + ?CT_LOG("Failed to log ~s", [FilePath]), ok end. diff --git a/lib/ssl/test/ssl_trace_SUITE.erl b/lib/ssl/test/ssl_trace_SUITE.erl index c33b29e90c43..8fbc0b8efb4b 100644 --- a/lib/ssl/test/ssl_trace_SUITE.erl +++ b/lib/ssl/test/ssl_trace_SUITE.erl @@ -58,7 +58,7 @@ suite() -> [{ct_hooks,[ts_install_cth]}, {timetrap,{seconds,60}}]. all() -> [tc_basic, tc_no_trace, tc_api_profile, tc_rle_profile, - tc_budget_option, tc_write, tc_file_option, tc_check_profiles]. + tc_budget_option, tc_write, tc_file_option, tc_check_profiles]. init_per_suite(Config) -> catch crypto:stop(), @@ -110,7 +110,9 @@ tc_basic(_Config) -> ok = ssl_trace:stop(), undefined = whereis(ssl_trace), - {ok, [api, crt, csp, hbn, kdt, rle, ssn]} = ssl_trace:start(), + {ok, EnabledProfiles} = ssl_trace:start(), + [true = lists:member(ExpectedProfile, EnabledProfiles) || + ExpectedProfile <- [api, crt, csp, hbn, kdt, rle, ssn]], {ok, [api]} = ssl_trace:on(api), {ok, []} = ssl_trace:off(api), ok = ssl_trace:stop(), diff --git a/lib/ssl/test/ssl_upgrade_SUITE.erl b/lib/ssl/test/ssl_upgrade_SUITE.erl index d39f8bd78375..5f17e98947c3 100644 --- a/lib/ssl/test/ssl_upgrade_SUITE.erl +++ b/lib/ssl/test/ssl_upgrade_SUITE.erl @@ -21,6 +21,7 @@ -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). %% Common test @@ -94,7 +95,7 @@ upgrade_init(CtData, State) -> upgrade_upgraded(_, #state{skip = true} = State) -> State; upgrade_upgraded(_, #state{soft = false, config = Config, result_proxy = Pid} = State) -> - ct:pal("Restart upgrade ~n", []), + ?CT_PAL("Restart upgrade ~n", []), {Server, Client} = restart_start_connection(Config, Pid), Result = check_result(Pid, Server, Client), ssl_test_lib:close(Server), @@ -104,7 +105,7 @@ upgrade_upgraded(_, #state{soft = false, config = Config, result_proxy = Pid} = upgrade_upgraded(_, #state{server = Server0, client = Client0, config = Config, soft = true, result_proxy = Pid} = State) -> - ct:pal("Soft upgrade: ~n", []), + ?CT_PAL("Soft upgrade: ~n", []), Server0 ! changed_version, Client0 ! changed_version, Result = check_result(Pid, Server0, Client0), @@ -117,7 +118,7 @@ upgrade_upgraded(_, #state{server = Server0, client = Client0, upgrade_downgraded(_, #state{skip = true} = State) -> State; upgrade_downgraded(_, #state{soft = false, config = Config, result_proxy = Pid} = State) -> - ct:pal("Restart downgrade: ~n", []), + ?CT_PAL("Restart downgrade: ~n", []), {Server, Client} = restart_start_connection(Config, Pid), Result = check_result(Pid, Server, Client), ssl_test_lib:close(Server), @@ -126,7 +127,7 @@ upgrade_downgraded(_, #state{soft = false, config = Config, result_proxy = Pid} ok = Result, State; upgrade_downgraded(_, #state{server = Server, client = Client, soft = true, result_proxy = Pid} = State) -> - ct:pal("Soft downgrade: ~n", []), + ?CT_PAL("Soft downgrade: ~n", []), Server ! changed_version, Client ! changed_version, Result = check_result(Pid, Server, Client), @@ -156,7 +157,7 @@ upgrade_init(_, "8.0.2", _, State) -> State#state{skip = true}; upgrade_init(_, _, CtData, #state{config = Config} = State) -> {ok, {_, _, Up, _Down}} = ct_release_test:get_appup(CtData, ssl), - ct:pal("Up: ~p", [Up]), + ?CT_PAL("Up: ~p", [Up]), Soft = is_soft(Up), %% It is symmetrical, if upgrade is soft so is downgrade Pid = spawn(?MODULE, result_proxy_init, [[]]), case Soft of diff --git a/lib/ssl/test/tls_1_3_record_SUITE.erl b/lib/ssl/test/tls_1_3_record_SUITE.erl index c08bd90a02f9..8f22a775ce48 100644 --- a/lib/ssl/test/tls_1_3_record_SUITE.erl +++ b/lib/ssl/test/tls_1_3_record_SUITE.erl @@ -20,6 +20,7 @@ -module(tls_1_3_record_SUITE). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("ssl/src/tls_record.hrl"). -include_lib("ssl/src/tls_handshake.hrl"). @@ -87,7 +88,7 @@ encode_decode(_Config) -> <<197,54,168,218,54,91,157,58,30,201,197,142,51,58,53,231,228, 131,57,122,170,78,82,196,30,48,23,16,95,255,185,236>>, undefined,undefined,undefined,16}, - client_verify_data => undefined,compression_state => undefined, + client_verify_data => undefined, mac_secret => undefined,secure_renegotiation => undefined, security_parameters => #security_parameters{ @@ -118,7 +119,7 @@ encode_decode(_Config) -> <<197,54,168,218,54,91,157,58,30,201,197,142,51,58,53,231,228, 131,57,122,170,78,82,196,30,48,23,16,95,255,185,236>>, undefined,undefined,undefined,16}, - client_verify_data => undefined,compression_state => undefined, + client_verify_data => undefined, mac_secret => undefined,secure_renegotiation => undefined, security_parameters => #security_parameters{ @@ -180,7 +181,7 @@ encode_decode(_Config) -> tls_record_1_3:decode_cipher_text(CipherText, ConnectionStates), DecodedText = iolist_to_binary(PlainText), - ct:log("Decoded: ~p ~n", [DecodedText]), + ?CT_LOG("Decoded: ~p ~n", [DecodedText]), ok. %%-------------------------------------------------------------------- '1_RTT_handshake'() -> diff --git a/lib/ssl/test/tls_1_3_version_SUITE.erl b/lib/ssl/test/tls_1_3_version_SUITE.erl index b5aa0d3cada6..6f30c34535b7 100644 --- a/lib/ssl/test/tls_1_3_version_SUITE.erl +++ b/lib/ssl/test/tls_1_3_version_SUITE.erl @@ -155,10 +155,11 @@ tls13_client_tls12_server() -> [{doc,"Test that a TLS 1.3 client can connect to a TLS 1.2 server."}]. tls13_client_tls12_server(Config) when is_list(Config) -> - ClientOpts = [{versions, - ['tlsv1.3', 'tlsv1.2']} | ssl_test_lib:ssl_options(client_cert_opts, Config)], - ServerOpts = [{versions, - ['tlsv1.1', 'tlsv1.2']} | ssl_test_lib:ssl_options(server_cert_opts, Config)], + ClientOpts = [{versions, ['tlsv1.3', 'tlsv1.2']} | + ssl_test_lib:ssl_options(client_cert_opts, Config)], + ServerOpts = [{versions, ['tlsv1.1', 'tlsv1.2']}, + {verify, verify_peer}, {fail_if_no_peer_cert, true} + | ssl_test_lib:ssl_options(server_cert_opts, Config)], ssl_test_lib:basic_test(ClientOpts, ServerOpts, Config). tls13_client_with_ext_tls12_server() -> @@ -168,24 +169,30 @@ tls13_client_with_ext_tls12_server() -> tls13_client_with_ext_tls12_server(Config) -> ClientOpts0 = ssl_test_lib:ssl_options(client_cert_opts, Config), ServerOpts0 = ssl_test_lib:ssl_options(server_cert_opts, Config), - - ServerOpts = [{versions, ['tlsv1.2']}|ServerOpts0], + + ServerOpts = [{versions, ['tlsv1.2']}, + {verify, verify_peer}, {fail_if_no_peer_cert, true}, + {signature_algs, [rsa_pss_rsae_sha256, + {sha256, rsa}, + {sha256, ecdsa}, + {sha, ecdsa}]}| ServerOpts0], ClientOpts = [{versions, ['tlsv1.2','tlsv1.3']}, {signature_algs_cert, [ecdsa_secp384r1_sha384, ecdsa_secp256r1_sha256, rsa_pss_rsae_sha256, rsa_pkcs1_sha256, - {sha256,rsa},{sha256,dsa}]}|ClientOpts0], + ecdsa_sha1]}|ClientOpts0], ssl_test_lib:basic_test(ClientOpts, ServerOpts, Config). tls12_client_tls13_server() -> [{doc,"Test that a TLS 1.2 client can connect to a TLS 1.3 server."}]. tls12_client_tls13_server(Config) when is_list(Config) -> - ClientOpts = [{versions, - ['tlsv1.1', 'tlsv1.2']} | ssl_test_lib:ssl_options(client_cert_opts, Config)], - ServerOpts = [{versions, - ['tlsv1.3', 'tlsv1.2']} | ssl_test_lib:ssl_options(server_cert_opts, Config)], + ClientOpts = [{versions, ['tlsv1.1', 'tlsv1.2']} | + ssl_test_lib:ssl_options(client_cert_opts, Config)], + ServerOpts = [{versions, ['tlsv1.3', 'tlsv1.2']}, + {verify, verify_peer}, {fail_if_no_peer_cert, true} + | ssl_test_lib:ssl_options(server_cert_opts, Config)], ssl_test_lib:basic_test(ClientOpts, ServerOpts, Config). tls_client_tls10_server() -> @@ -196,13 +203,11 @@ tls_client_tls10_server(Config) when is_list(Config) -> (srp_anon) -> false; (srp_dss) -> false; (_) -> true end}]), - ClientOpts = [{versions, - ['tlsv1', 'tlsv1.1', 'tlsv1.2', 'tlsv1.3']}, - {ciphers, CCiphers} - | + ClientOpts = [{versions, ['tlsv1', 'tlsv1.1', 'tlsv1.2', 'tlsv1.3']}, + {ciphers, CCiphers} | ssl_test_lib:ssl_options(client_cert_opts, Config)], - ServerOpts = [{versions, - ['tlsv1']}, + ServerOpts = [{versions, ['tlsv1']}, + {verify, verify_peer}, {fail_if_no_peer_cert, true}, {ciphers, ssl:cipher_suites(all, 'tlsv1')} | ssl_test_lib:ssl_options(server_cert_opts, Config)], ssl_test_lib:basic_test(ClientOpts, ServerOpts, Config). @@ -219,8 +224,8 @@ tls_client_tls11_server(Config) when is_list(Config) -> ['tlsv1', 'tlsv1.1', 'tlsv1.2', 'tlsv1.3']}, {ciphers, CCiphers} | ssl_test_lib:ssl_options(client_cert_opts, Config)], - ServerOpts = [{versions, - ['tlsv1.1']}, + ServerOpts = [{versions,['tlsv1.1']}, + {verify, verify_peer}, {fail_if_no_peer_cert, true}, {ciphers, ssl:cipher_suites(all, 'tlsv1.1')} | ssl_test_lib:ssl_options(server_cert_opts, Config)], ssl_test_lib:basic_test(ClientOpts, ServerOpts, Config). @@ -231,8 +236,9 @@ tls_client_tls12_server(Config) when is_list(Config) -> ClientOpts = [{versions, ['tlsv1', 'tlsv1.1', 'tlsv1.2', 'tlsv1.3']} | ssl_test_lib:ssl_options(client_cert_opts, Config)], - ServerOpts = [{versions, - ['tlsv1.2']} | ssl_test_lib:ssl_options(server_cert_opts, Config)], + ServerOpts = [{versions, ['tlsv1.2']}, + {verify, verify_peer}, {fail_if_no_peer_cert, true} + | ssl_test_lib:ssl_options(server_cert_opts, Config)], ssl_test_lib:basic_test(ClientOpts, ServerOpts, Config). tls10_client_tls_server() -> @@ -243,12 +249,12 @@ tls10_client_tls_server(Config) when is_list(Config) -> (srp_anon) -> false; (srp_dss) -> false; (_) -> true end}]), - ClientOpts = [{versions, - ['tlsv1']}, {ciphers, ssl:cipher_suites(all, 'tlsv1')} | ssl_test_lib:ssl_options(client_cert_opts, Config)], - ServerOpts = [{versions, - ['tlsv1','tlsv1.1', 'tlsv1.2', 'tlsv1.3']}, - {ciphers, SCiphers} - | + ClientOpts = [{versions, ['tlsv1']}, + {ciphers, ssl:cipher_suites(all, 'tlsv1')} | + ssl_test_lib:ssl_options(client_cert_opts, Config)], + ServerOpts = [{versions, ['tlsv1','tlsv1.1', 'tlsv1.2', 'tlsv1.3']}, + {verify, verify_peer}, {fail_if_no_peer_cert, true}, + {ciphers, SCiphers} | ssl_test_lib:ssl_options(server_cert_opts, Config)], ssl_test_lib:basic_test(ClientOpts, ServerOpts, Config). @@ -261,13 +267,12 @@ tls11_client_tls_server(Config) when is_list(Config) -> (srp_dss) -> false; (_) -> true end}]), - ClientOpts = [{versions, - ['tlsv1.1']}, {ciphers, ssl:cipher_suites(all, 'tlsv1.1')} | + ClientOpts = [{versions, ['tlsv1.1']}, + {ciphers, ssl:cipher_suites(all, 'tlsv1.1')} | ssl_test_lib:ssl_options(client_cert_opts, Config)], - ServerOpts = [{versions, - ['tlsv1','tlsv1.1', 'tlsv1.2', 'tlsv1.3']}, - {ciphers, SCiphers} - | + ServerOpts = [{versions, ['tlsv1','tlsv1.1', 'tlsv1.2', 'tlsv1.3']}, + {verify, verify_peer}, {fail_if_no_peer_cert, true}, + {ciphers, SCiphers} | ssl_test_lib:ssl_options(server_cert_opts, Config)], ssl_test_lib:basic_test(ClientOpts, ServerOpts, Config). @@ -277,7 +282,8 @@ tls12_client_tls_server(Config) when is_list(Config) -> ClientOpts = [{versions, ['tlsv1.2']} | ssl_test_lib:ssl_options(client_cert_opts, Config)], ServerOpts = [{versions, - ['tlsv1','tlsv1.1', 'tlsv1.2', 'tlsv1.3']} | + ['tlsv1','tlsv1.1', 'tlsv1.2', 'tlsv1.3']}, + {verify, verify_peer}, {fail_if_no_peer_cert, true} | ssl_test_lib:ssl_options(server_cert_opts, Config)], ssl_test_lib:basic_test(ClientOpts, ServerOpts, Config). diff --git a/lib/ssl/test/tls_api_SUITE.erl b/lib/ssl/test/tls_api_SUITE.erl index 74b4e76566d4..ea4cdf2800ac 100644 --- a/lib/ssl/test/tls_api_SUITE.erl +++ b/lib/ssl/test/tls_api_SUITE.erl @@ -21,6 +21,7 @@ %% -module(tls_api_SUITE). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("public_key/include/public_key.hrl"). -include_lib("ssl/src/ssl_record.hrl"). @@ -248,8 +249,7 @@ tls_upgrade(Config) when is_list(Config) -> {ssl_options, [{verify, verify_peer}, {server_name_indication, Hostname} | ClientOpts]}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok, Client, ok), @@ -285,8 +285,7 @@ tls_upgrade_new_opts(Config) when is_list(Config) -> {mode, list}, {server_name_indication, Hostname} | ClientOpts]}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok, Client, ok), @@ -328,8 +327,7 @@ tls_upgrade_new_opts_with_sni_fun(Config) when is_list(Config) -> {ciphers, Ciphers}, {server_name_indication, Hostname} | ClientOpts]}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok, Client, ok), @@ -366,8 +364,7 @@ tls_upgrade_with_timeout(Config) when is_list(Config) -> {ssl_options, [{verify, verify_peer}, {server_name_indication, Hostname} | ClientOpts]}]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ok, Client, ok), @@ -401,7 +398,7 @@ tls_upgrade_with_client_timeout(Config) when is_list(Config) -> {ssl_options, [{verify, verify_peer}, {server_name_indication, Hostname} | ClientOpts]}]), - ct:log("Testcase ~p, Client ~p Server ~p", [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p", [Client, Server]), ok = ssl_test_lib:check_result(Client, {error, timeout}), ssl_test_lib:close(Server). @@ -671,14 +668,14 @@ tls_tcp_msg(Config) when is_list(Config) -> Port = ssl_test_lib:inet_port(Server), {ok, Socket} = gen_tcp:connect(Hostname, Port, [binary, {packet, 0}]), - ct:log("Testcase ~p connected to Server ~p ~n", [self(), Server]), + ?CT_LOG("connected to Server ~p ~n", [Server]), gen_tcp:send(Socket, ""), receive {tcp_closed, Socket} -> receive {Server, {error, Error}} -> - ct:log("Error ~p", [Error]) + ?CT_LOG("Error ~p", [Error]) end end. %%-------------------------------------------------------------------- @@ -701,7 +698,7 @@ tls_tcp_msg_big(Config) when is_list(Config) -> Port = ssl_test_lib:inet_port(Server), {ok, Socket} = gen_tcp:connect(Hostname, Port, [binary, {packet, 0}]), - ct:log("Testcase ~p connected to Server ~p ~n", [self(), Server]), + ?CT_LOG("connected to Server ~p ~n", [Server]), gen_tcp:send(Socket, <>), @@ -712,7 +709,7 @@ tls_tcp_msg_big(Config) when is_list(Config) -> {Server, {error, timeout}} -> ct:fail("hangs"); {Server, {error, Error}} -> - ct:log("Error ~p", [Error]); + ?CT_LOG("Error ~p", [Error]); {'EXIT', Server, _} -> ok end @@ -932,8 +929,7 @@ peername(Config) when is_list(Config) -> ServerMsg = {ok, {ClientIp, ClientPort}}, ClientMsg = {ok, {ServerIp, Port}}, - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ServerMsg, Client, ClientMsg), @@ -964,8 +960,7 @@ sockname(Config) when is_list(Config) -> ServerMsg = {ok, {ServerIp, Port}}, ClientMsg = {ok, {ClientIp, ClientPort}}, - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), Client, Server]), + ?CT_LOG("Client ~p Server ~p ~n", [Client, Server]), ssl_test_lib:check_result(Server, ServerMsg, Client, ClientMsg), @@ -1018,8 +1013,7 @@ transport_close(Config) when is_list(Config) -> {ok, SslS} = rpc:call(ClientNode, ssl, connect, [TcpS,[{active, false}|ClientOpts]]), - ct:log("Testcase ~p, Client ~p Server ~p ~n", - [self(), self(), Server]), + ?CT_LOG("Server ~p ~n", [Server]), ok = ssl:send(SslS, "Hello world"), {ok,<<"Hello world">>} = ssl:recv(SslS, 11), gen_tcp:close(TcpS), @@ -1423,7 +1417,7 @@ tls_socket_options_result(Socket, Options, DefaultValues, NewOptions, NewValues) ssl:setopts(Socket, [{nodelay, true}]), {ok,[{nodelay, true}]} = ssl:getopts(Socket, [nodelay]), {ok, All} = ssl:getopts(Socket, []), - ct:log("All opts ~p~n", [All]), + ?CT_LOG("All opts ~p~n", [All]), ok. active_tcp_recv(Socket, N) -> diff --git a/lib/ssl/test/tls_client_ticket_store_SUITE.erl b/lib/ssl/test/tls_client_ticket_store_SUITE.erl index ebc602c4e83f..05ba7c80eb38 100644 --- a/lib/ssl/test/tls_client_ticket_store_SUITE.erl +++ b/lib/ssl/test/tls_client_ticket_store_SUITE.erl @@ -21,6 +21,7 @@ -module(tls_client_ticket_store_SUITE). -behaviour(ct_suite). +-include("ssl_test_lib.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("ssl/src/ssl_internal.hrl"). -include_lib("ssl/src/tls_handshake_1_3.hrl"). @@ -80,7 +81,7 @@ ticket_obfuscated_age(_Config) -> [#ticket_data{identity = Identity}] = tls_client_ticket_store:get_tickets(self(), [Key]), #psk_identity{obfuscated_ticket_age = ObfAge} = Identity, Age = ObfAge - TicketAgeAdd, - ct:log("Ticket age: ~p (obfuscated age: ~p, ticket age add: ~p)~n", + ?CT_LOG("Ticket age: ~p (obfuscated age: ~p, ticket age add: ~p)~n", [Age, ObfAge, TicketAgeAdd]), true = Age < 1000 andalso Age >= 100. diff --git a/lib/ssl/test/tls_server_session_ticket_SUITE.erl b/lib/ssl/test/tls_server_session_ticket_SUITE.erl index 3f5b0f71b259..283f91b73410 100644 --- a/lib/ssl/test/tls_server_session_ticket_SUITE.erl +++ b/lib/ssl/test/tls_server_session_ticket_SUITE.erl @@ -268,7 +268,6 @@ get_client_hello(OfferedPSKs) -> random = <<1:256>>, session_id = <<>>, cipher_suites = [?TLS_AES_256_GCM_SHA384], - compression_methods = "", extensions = Ext0#{pre_shared_key => PreSharedKey}}. get_replay_expected_result(Config, AcceptResponse) -> diff --git a/lib/ssl/vsn.mk b/lib/ssl/vsn.mk index de283ec08a1e..ac909ac7f425 100644 --- a/lib/ssl/vsn.mk +++ b/lib/ssl/vsn.mk @@ -1 +1 @@ -SSL_VSN = 11.0 +SSL_VSN = 11.0.2 diff --git a/lib/stdlib/doc/src/binary.xml b/lib/stdlib/doc/src/binary.xml index 6f55d6d327f0..9c3637013696 100644 --- a/lib/stdlib/doc/src/binary.xml +++ b/lib/stdlib/doc/src/binary.xml @@ -91,19 +91,16 @@ - Convert a binary to a list of integers. - -

Same as bin_to_list(Subject, {0,byte_size(Subject)}).

-
-
- - + Convert a binary to a list of integers. +

Converts Subject to a list of byte()s, each - representing the value of one byte. part() denotes which part of - the binary() to convert.

+ representing the value of one byte. PosLen or alternatively + Pos and Len denote which part of the + Subject binary to convert. By default, the entire + Subject binary is converted.

Example:

@@ -112,16 +109,9 @@ "rla" %% or [114,108,97] in list notation.
-

If PosLen in any way references outside the binary, - a badarg exception is raised.

- - - - - - Convert a binary to a list of integers. - -

Same as bin_to_list(Subject, {Pos, Len}).

+

If PosLen or alternatively Pos and + Len in any way reference outside the binary, a badarg + exception is raised.

@@ -149,28 +139,23 @@ only one element. The order of alternatives in a pattern is not significant.

-

The list of binaries used for search alternatives must be flat and - proper.

+

The list of binaries used for search alternatives must be flat, + proper and non-empty.

-

If Pattern is not a binary or a flat proper list of - binaries with length > 0, a badarg exception is raised.

+

If Pattern is not a binary or a flat proper + non-empty list of binaries with length > 0, a badarg + exception is raised.

- Create a duplicate of a binary. - -

Same as copy(Subject, 1).

-
-
- - Duplicate a binary N times and create a new.

Creates a binary with the content of Subject - duplicated N times.

+ duplicated N times. The default for N + is 1.

This function always creates a new binary, even if N = 1. By using copy/1 @@ -186,29 +171,33 @@ large binaries are no longer used in any process, deliberate copying can be a good idea.

- -

If N < 0, a badarg exception is - raised.

- - Decode a whole binary into an integer of arbitrary size. - + + Decodes a hex encoded binary into a binary. -

Same as decode_unsigned(Subject, big).

+

Decodes a hex encoded binary into a binary.

+ +

Example

+ + +1> binary:decode_hex(<<"66">>). +<<"f">>
+ Decode a whole binary into an integer of arbitrary size.

Converts the binary digit representation, in big endian or little endian, of a positive integer in Subject to an Erlang - integer().

+ integer(). The default Endianness is + big.

Example:

@@ -218,30 +207,6 @@
- - - Encode an unsigned integer into the minimal binary. - -

Same as encode_unsigned(Unsigned, big).

-
-
- - - - Encode an unsigned integer into the minimal binary. - -

Converts a positive integer to the smallest possible - representation in a binary digit representation, either big endian - or little endian.

- -

Example:

- - -1> binary:encode_unsigned(11111111, big). -<<169,138,199>> -
-
- @@ -265,16 +230,20 @@ - - Decodes a hex encoded binary into a binary. + + + Encode an unsigned integer into the minimal binary. -

Decodes a hex encoded binary into a binary.

+

Converts a positive integer to the smallest possible + representation in a binary digit representation, either big endian + or little endian. The default Endianness is + big.

-

Example

+

Example:

-1> binary:decode_hex(<<"66">>). -<<"f">> +1> binary:encode_unsigned(11111111, big). +<<169,138,199>>
@@ -324,8 +293,8 @@ 2> binary:longest_common_prefix([<<"erlang">>, <<"perl">>]). 0
-

If Binaries is not a flat list of binaries, a - badarg exception is raised.

+

If Binaries is not a flat non-empty list of + binaries, a badarg exception is raised.

@@ -345,21 +314,13 @@ 2> binary:longest_common_suffix([<<"erlang">>, <<"perl">>]). 0 -

If Binaries is not a flat list of binaries, a badarg - exception is raised.

+

If Binaries is not a flat non-empty list of binaries, a + badarg exception is raised.

- Search for the first match of a pattern in a binary. - -

Same as match(Subject, Pattern, []). -

-
-
- - Search for the first match of a pattern in a binary. @@ -409,14 +370,6 @@ - Search for all matches of a pattern in a binary. - -

Same as matches(Subject, Pattern, []). -

-
-
- - Search for all matches of a pattern in a binary. @@ -462,7 +415,9 @@ + Extract a part of a binary. +

Extracts the part of binary Subject described by PosLen.

@@ -488,15 +443,6 @@
- - - Extract a part of a binary. - -

Same as part(Subject, {Pos, - Len}).

-
-
- Determine the size of the binary pointed out by a subbinary. @@ -563,64 +509,68 @@ store(Binary, GBSet) -> - Replace bytes in a binary according to a pattern. - -

Same as replace(Subject, Pattern, Replacement,[]).

-
-
- - Replace bytes in a binary according to a pattern. An integer() =< byte_size(Replacement) - + if Replacement is given as a binary. -

Constructs a new binary by replacing the parts in - Subject matching Pattern with - the content of Replacement.

- -

If the matching subpart of Subject giving raise - to the replacement is to be inserted in the result, option - {insert_replaced, InsPos} inserts the matching part - into Replacement at the specified position (or - positions) before inserting Replacement into - Subject.

+

Constructs a new binary by replacing the parts in + Subject matching Pattern with + Replacement if given as a literal binary() + or with the result of applying Replacement to a matching + subpart if given as a fun.

+ +

If Replacement is given as a binary() and the + matching subpart of Subject giving raise + to the replacement is to be inserted in the result, option + {insert_replaced, InsPos} inserts the matching part + into Replacement at the specified position (or + positions) before inserting Replacement into + Subject. If Replacement is given + as a fun instead, this option is ignored.

-

Example:

+

If any position specified in InsPos > size + of the replacement binary, a badarg exception is raised.

- -1> binary:replace(<<"abcde">>,<<"b">>,<<"[]">>, [{insert_replaced,1}]). +

Options global and {scope, part()} work as for + split/3. + The return type is always a binary().

+ +

For a description of Pattern, see + compile_pattern/1.

+

Examples:

+ +
+1> binary:replace(<<"abcde">>, [<<"b">>, <<"d">>], <<"X">>, []).
+<<"aXcde">>
+
+2> binary:replace(<<"abcde">>, [<<"b">>, <<"d">>], <<"X">>, [global]).
+<<"aXcXe">>
+
+3> binary:replace(<<"abcde">>, <<"b">>, <<"[]">>, [{insert_replaced, 1}]).
 <<"a[b]cde">>
-2> binary:replace(<<"abcde">>,[<<"b">>,<<"d">>],<<"[]">>,[global,{insert_replaced,1}]).
+
+4> binary:replace(<<"abcde">>, [<<"b">>, <<"d">>], <<"[]">>, [global, {insert_replaced, 1}]).
 <<"a[b]c[d]e">>
-3> binary:replace(<<"abcde">>,[<<"b">>,<<"d">>],<<"[]">>,[global,{insert_replaced,[1,1]}]).
+
+5> binary:replace(<<"abcde">>, [<<"b">>, <<"d">>], <<"[]">>, [global, {insert_replaced, [1, 1]}]).
 <<"a[bb]c[dd]e">>
-4> binary:replace(<<"abcde">>,[<<"b">>,<<"d">>],<<"[-]">>,[global,{insert_replaced,[1,2]}]).
-<<"a[b-b]c[d-d]e">>
 
-        

If any position specified in InsPos > size - of the replacement binary, a badarg exception is raised.

+6> binary:replace(<<"abcde">>, [<<"b">>, <<"d">>], <<"[-]">>, [global, {insert_replaced, [1, 2]}]). +<<"a[b-b]c[d-d]e">> -

Options global and {scope, part()} work as for - split/3. - The return type is always a binary().

+7> binary:replace(<<"abcde">>, [<<"b">>, <<"d">>], fun(M) -> <<$[, M/binary, $]>> end, []). +<<"a[b]cde">> -

For a description of Pattern, see - compile_pattern/1. -

- - +8> binary:replace(<<"abcde">>, [<<"b">>, <<"d">>], fun(M) -> <<$[, M/binary, $]>> end, [global]). +<<"a[b]c[d]e">> +
- - - Split a binary according to a pattern. - -

Same as split(Subject, Pattern, - []).

+ Split a binary according to a pattern. diff --git a/lib/stdlib/doc/src/gb_sets.xml b/lib/stdlib/doc/src/gb_sets.xml index c1162f0dba47..41443f7b04b0 100644 --- a/lib/stdlib/doc/src/gb_sets.xml +++ b/lib/stdlib/doc/src/gb_sets.xml @@ -120,6 +120,7 @@ + Remove a (possibly non-existing) element from a set.

Returns a new set formed from Set1 with @@ -140,19 +141,9 @@ - - - Remove a (possibly non-existing) element from a set. - -

Returns a new set formed from Set1 with - Element removed. If Element - is not an element - in Set1, nothing is changed.

-
-
- + Return the difference of two sets.

Returns only the elements of Set1 that are not @@ -177,6 +168,15 @@ + + + Filter and map set elements. + +

Filters and maps elements in Set1 using function + Fun.

+
+
+ Fold over set elements. @@ -245,6 +245,7 @@ + Test for membership of a set.

Returns true if Element is an element of @@ -262,11 +263,13 @@ - - Test for membership of a set. + + Test for equality. -

Returns true if Element is an element of - Set, otherwise false.

+

Returns true if Set1 and + Set2 are equal, that is when every element of + one set is also a member of the respective other set, otherwise + false.

@@ -335,6 +338,15 @@
+ + + Map set elements. + +

Maps elements in Set1 using mapping function + Fun.

+
+
+ Return an empty set. @@ -382,15 +394,6 @@
- - - Return the difference of two sets. - -

Returns only the elements of Set1 that are not - also elements of Set2.

-
-
- Extract largest element. diff --git a/lib/stdlib/doc/src/gen_event.xml b/lib/stdlib/doc/src/gen_event.xml index 25d02d83f9f1..99333e284fbe 100644 --- a/lib/stdlib/doc/src/gen_event.xml +++ b/lib/stdlib/doc/src/gen_event.xml @@ -453,7 +453,7 @@ gen_event:stop -----> Module:terminate/2 must correspond to requests that have been made using send_request/3 or send_request/5, - and all request must have been made by the process calling this + and all requests must have been made by the process calling this function.

@@ -631,7 +631,7 @@ gen_event:stop -----> Module:terminate/2 that have been made using send_request/3 or send_request/5, - and all request must have been made by the process calling this + and all requests must have been made by the process calling this function.

@@ -861,8 +861,8 @@ gen_event:stop -----> Module:terminate/2   Dbgs = [Dbg]    Dbg = trace | log | statistics | {log_to_file,FileName} | {install,{Func,FuncState}}   SOpts = [term()] - Result = {ok,Pid} | {error,{already_started,Pid}} -  Pid = pid() + Result = {ok,Pid} | {error,{already_started,OtherPid}} | {error,timeout} +  Pid = OtherPid = pid()

Creates a stand-alone event manager process, that is, an event @@ -888,14 +888,14 @@ gen_event:stop -----> Module:terminate/2   Dbgs = [Dbg]    Dbg = trace | log | statistics | {log_to_file,FileName} | {install,{Func,FuncState}}   SOpts = [term()] - Result = {ok,Pid} | {error,{already_started,Pid}} -  Pid = pid() + Result = {ok,Pid} | {error,{already_started,OtherPid}} | {error,timeout} +  Pid = OtherPid = pid()

Creates an event manager process as part of a supervision tree. The function is to be called, directly or indirectly, by the supervisor. For example, it ensures that - the event manager is linked to the supervisor.

+ the event manager is linked to the caller (supervisor).

If EventMgrName={local,Name}, the event manager is @@ -927,10 +927,50 @@ gen_event:stop -----> Module:terminate/2

If the event manager is successfully created, the function returns {ok,Pid}, where Pid is the pid of - the event manager. If a process with the specified + the event manager.

+

If a process with the specified EventMgrName exists already, the function returns - {error,{already_started,Pid}}, where Pid is - the pid of that process.

+ {error,{already_started,OtherPid}}, where OtherPid is + the pid of that process, and the event manager process + exits with reason normal.

+

+ If the event manager fails to start within the specified + start timeout {timeout,Time}, which is very unlikely + since the start does not interact with other processes, + the function returns {error,timeout} and the + failed event manager is killed with + exit(_, kill). +

+

+ If start_link/1,2 returns {error,_}, + the started event manager process has terminated. + If an 'EXIT' message was delivered to the calling process + (due to the process link), that message has been consumed. +

+ +

+ Before OTP 26.0, if the started event manager + failed to register its name, this founction could return + {error,{already_started,OtherPid}} + before the started event manager process + had terminated so starting again might fail + because the registered name was not yet unregistered, + and an 'EXIT' message could arrive later + to the process calling this function. +

+

+ But if the start timed out, this function killed + the started event manager process and returned + {error,timeout}, and then the process link + {'EXIT',Pid,killed} message was consumed. +

+

+ The start was made synchronous in OTP 26.0 + and the guarantee was implemented + that no process link 'EXIT' message from a failed start + will linger in the caller's inbox. +

+
@@ -948,8 +988,8 @@ gen_event:stop -----> Module:terminate/2   Dbgs = [Dbg]    Dbg = trace | log | statistics | {log_to_file,FileName} | {install,{Func,FuncState}}   SOpts = [term()] - Result = {ok,{Pid,Mon}} | {error,{already_started,Pid}} -  Pid = pid() + Result = {ok,{Pid,Mon}} | {error,{already_started,OtherPid}} | {error,timeout} +  Pid = OtherPid = pid()

Creates a stand-alone event manager process, that is, an event @@ -1140,7 +1180,7 @@ gen_event:stop -----> Module:terminate/2 that have been made using send_request/3 or send_request/5, - and all request must have been made by the process calling this + and all requests must have been made by the process calling this function.

@@ -1177,7 +1217,7 @@ gen_event:stop -----> Module:terminate/2 The difference between receive_response/3 and wait_response/3 is that receive_response/3 - abandons requests at timeout so that a potential future + abandons requests at timeout so that potential future responses are ignored, while wait_response/3 does not.

diff --git a/lib/stdlib/doc/src/gen_server.xml b/lib/stdlib/doc/src/gen_server.xml index ad1deed96507..788197ac46c0 100644 --- a/lib/stdlib/doc/src/gen_server.xml +++ b/lib/stdlib/doc/src/gen_server.xml @@ -345,30 +345,48 @@ gen_server:abcast -----> Module:handle_cast/2

A process with the specified ServerName exists already with the process identifier OtherPid. - This gen_server was not started. + This gen_server was not started, + or rather exited with reason normal before + calling + Module:init/1. +

+ + {error,timeout} + +

+ The gen_server process failed to initialize since + Module:init/1 + did not return within the + start timeout. + The gen_server process was killed with + exit(_, kill).

ignore

+ The gen_server process failed to initialize since Module:init/1 - returned ignore, the gen_server process - is terminated. An exit signal normal is sent - to linked processes and ports. + returned ignore.

{error,Reason}

+ The gen_server process failed to initialize since Module:init/1 - returned {stop,Reason} - or failed with Reason. - The gen_server process is terminated and - an exit signal with the same Reason - is sent to linked processes and ports. + returned {stop,Reason}, + {error,Reason}, + or it failed with reason Reason.

+

+ See + Module:init/1 + about the exit reason for the gen_server process + when it fails to initialize. +

@@ -647,11 +665,8 @@ gen_server:abcast -----> Module:handle_cast/2

The server stopped during the call by returning - {stop,Reason,_} from its - - Module:handle_call/3 - - callback, without replying. See also + {stop,Reason,_} from one of its callbacks + without replying to this call. See also stop/3.

@@ -659,14 +674,11 @@ gen_server:abcast -----> Module:handle_cast/2

The server process exited during the call, - with reason Reason. Either by returning - {stop,Reason,_} from its - - Module:handle_call/3 - - callback (without replying), - by raising an exception, - or due to getting an exit signal it did not trap. + with reason Reason. Either by returning + {stop,Reason,_} from one of its callbacks + (without replying to this call), by raising an + exception, or due to getting an exit signal it + did not trap.

@@ -741,7 +753,7 @@ gen_server:abcast -----> Module:handle_cast/2 must correspond to requests that have been made using send_request/2 or send_request/4, - and all request must have been made by the process calling this + and all requests must have been made by the process calling this function.

@@ -997,7 +1009,7 @@ gen_server:abcast -----> Module:handle_cast/2 that have been made using send_request/2 or send_request/4, - and all request must have been made by the process calling this + and all requests must have been made by the process calling this function.

@@ -1266,7 +1278,8 @@ gen_server:abcast -----> Module:handle_cast/2 Creates a gen_server process as part of a supervision tree. This function is to be called, directly or indirectly, by the supervisor. For example, it ensures that - the gen_server process is linked to the supervisor. + the gen_server process is spawned as linked + to the caller (supervisor).

The gen_server process calls @@ -1274,7 +1287,7 @@ gen_server:abcast -----> Module:handle_cast/2 to initialize. To ensure a synchronized startup procedure, start_link/3,4 does not return until - Module:init/1 has returned. + Module:init/1 has returned or failed.

Using the argument ServerName @@ -1304,6 +1317,48 @@ gen_server:abcast -----> Module:handle_cast/2 start_ret() for a description this function's return values.

+

+ If start_link/3,4 returns ignore or {error,_}, + the started gen_server process has terminated. + If an 'EXIT' message was delivered to the calling process + (due to the process link), that message has been consumed. +

+ +

+ Before OTP 26.0, if the started gen_server process + returned e.g. {stop,Reason} from + Module:init/1, + this function could return {error,Reason} + before the started gen_statem process + had terminated so starting again might fail + because VM resources such as the registered name + was not yet unregistered. An 'EXIT' message + could arrive later to the process calling this function. +

+

+ But if the started gen_server process instead + failed during + Module:init/1, + a process link {'EXIT',Pid,Reason} message + caused this function to return {error,Reason} + so the 'EXIT' message had been consumed + and the started gen_statem process had terminated. +

+

+ Since it was impossible to tell the difference + between these two cases from + start_link/3,4's return value, + this inconsistency was cleaned up in OTP 26.0. +

+
+

+ The difference between returning + {stop,_} and {error,_} from + Module:init/1, + is that {error,_} results in a graceful ("silent") + termination since the gen_server process + exits with reason normal. +

@@ -1426,7 +1481,7 @@ gen_server:abcast -----> Module:handle_cast/2 that have been made using send_request/2 or send_request/4, - and all request must have been made by the process calling this + and all requests must have been made by the process calling this function.

@@ -1463,7 +1518,7 @@ gen_server:abcast -----> Module:handle_cast/2 The difference between receive_response/3 and wait_response/3 is that receive_response/3 - abandons requests at timeout so that a potential future + abandons requests at timeout so that potential future responses are ignored, while wait_response/3 does not.

@@ -1970,30 +2025,34 @@ format_status(Status) -> {stop,Reason}
+
+ +

+ Initialization failed. The gen_server process + exits with reason Reason. +

+ + {error,Reason}
ignore

- Initialization failed. - An exit signal with reason

- - stop: - Reason - error: - normal - ignore: - normal - -

is sent to linked processes and ports, - notably to the process starting the gen_server when - - start_link/3,4 - - is used. + Initialization failed. The gen_server process + exits with reason normal. +

+

+ {error,Reason} was introduced in OTP 26.0.

+

+ See function + start_link/3,4's + return value + start_ret() + in these different cases. +

diff --git a/lib/stdlib/doc/src/gen_statem.xml b/lib/stdlib/doc/src/gen_statem.xml index 319fafee07d2..92c5bc5f8062 100644 --- a/lib/stdlib/doc/src/gen_statem.xml +++ b/lib/stdlib/doc/src/gen_statem.xml @@ -588,8 +588,10 @@ handle_event(_, _, State, Data) ->

- Return value from the start() and start_link() functions, - for example, start_link/3. + Return value from the + start/3,4 and + start_link/3,4 + functions.

@@ -598,7 +600,7 @@ handle_event(_, _, State, Data) ->

Return value from the - start_monitor() + start_monitor/3,4 functions.

@@ -1502,11 +1504,14 @@ handle_event(_, _, State, Data) ->

For an unsuccesful initialization, - {stop, Reason}, - {error, Reason} + {stop,Reason}, + {error,Reason} or ignore should be used; see start_link/3,4.

+

+ {error,Reason} was introduced in OTP 26.0. +

@@ -1876,7 +1881,7 @@ handle_event(_, _, State, Data) -> must correspond to requests that have been made using send_request/2 or send_request/4, - and all request must have been made by the process calling this + and all requests must have been made by the process calling this function.

@@ -2095,7 +2100,7 @@ handle_event(_, _, State, Data) -> that have been made using send_request/2 or send_request/4, - and all request must have been made by the process calling this + and all requests must have been made by the process calling this function.

@@ -2382,7 +2387,7 @@ handle_event(_, _, State, Data) -> (using proc_lib primitives) - that is linked to the calling process. + that is spawned as linked to the calling process. This is essential when the gen_statem must be part of a supervision tree so it gets linked to its supervisor.

@@ -2392,15 +2397,15 @@ handle_event(_, _, State, Data) -> to initialize the server. To ensure a synchronized startup procedure, start_link/3,4 does not return until Module:init/1 - has returned. + has returned or failed.

ServerName specifies the server_name() - to register for the gen_statem. - If the gen_statem is started with start_link/3, - no ServerName is provided and - the gen_statem is not registered. + to register for the gen_statem process. + If the gen_statem process is started with start_link/3, + no ServerName is provided and + the gen_statem process is not registered.

Module is the name of the callback module.

@@ -2416,9 +2421,9 @@ handle_event(_, _, State, Data) -> {timeout,Time} is present in - Opts, the gen_statem + Opts, the gen_statem process is allowed to spend Time milliseconds initializing - or it terminates and the start function returns + or it is terminated and the start function returns {error,timeout}.

@@ -2428,9 +2433,11 @@ handle_event(_, _, State, Data) -> {hibernate_after,HibernateAfterTimeout} is present, the gen_statem - process awaits any message for HibernateAfterTimeout milliseconds and - if no message is received, the process goes into hibernation automatically - (by calling proc_lib:hibernate/3). + process awaits any message for HibernateAfterTimeout + milliseconds and if no message is received, + the process goes into hibernation automatically + (by calling + proc_lib:hibernate/3).

@@ -2465,38 +2472,88 @@ handle_event(_, _, State, Data) ->

- If the gen_statem is successfully created + If the gen_statem process is successfully created and initialized, this function returns {ok,Pid}, where Pid is the pid() - of the gen_statem. + of the gen_statem process. If a process with the specified ServerName exists already, this function returns - {error,{already_started,Pid}}, - where Pid is the pid() of that process. + {error,{already_started,OtherPid}}, + where OtherPid is the pid() of that process, + and the gen_statem process exits with reason normal + before calling + Module:init/1.

+

+ If Module:init/1 + does not return within the + start timeout, + the gen_statem process is killed with + exit(_, kill), + and this function returns + {error,timeout}. +

- If Module:init/1 fails with Reason, - this function returns - {error, Reason}. - If Module:init/1 returns - {stop, Reason}, - {shutdown, Reason} - or - ignore, - the process is terminated and this function - returns - {error,Reason} - or - ignore, - respectively. - An exit signal with the same Reason (or normal if - Module:init/1 returns ignore) is set to linked processes - and ports, including the process calling start_link/3,4. + This function returns + {error,Reason} if + Module:init/1 + returns + {stop,Reason} or + {error,Reason}, + or fails with reason Reason. + This function returns + ignore if + Module:init/1 + returns + ignore. + In these cases the gen_statem process exits + with reason Reason, except when Module:init/1 + returns ignore or {error,_}; + then the gen_statem process exits with reason normal. +

+

+ If start_link/3,4 returns ignore or {error,_}, + the started gen_statem process has terminated. + If an 'EXIT' message was delivered to the calling process + (due to the process link), that message has been consumed.

-

The difference between returning {stop, Reason} and - {error, Reason} (from Module:init/1) is that - error results in a graceful ("silent") termination.

+ +

+ Before OTP 26.0, if the started gen_statem process + returned e.g. {stop,Reason} from + Module:init/1, + this function could return {error,Reason} + before the started gen_statem process + had terminated so starting again might fail + because VM resources such as the registered name + was not yet unregistered, and an 'EXIT' message + could arrive later to the process calling this function. +

+

+ But if the started gen_statem process instead + failed during + Module:init/1, + a process link {'EXIT',Pid,Reason} message + caused this function to return {error,Reason} + so the 'EXIT' message had been consumed + and the started gen_statem process had terminated. +

+

+ Since it was impossible to tell the difference + between these two cases from + start_link/3,4's return value, + this inconsistency was cleaned up in OTP 26.0. +

+
+

+ The difference between returning + {stop,_} and {error,_} from + Module:init/1, + is that {error,_} results in a graceful ("silent") + termination since the gen_statem process + exits with reason normal. +

@@ -2531,7 +2588,7 @@ handle_event(_, _, State, Data) -> - Synchronously stop a generic server. + Synchronously stop a gen_statem process.

The same as @@ -2542,7 +2599,7 @@ handle_event(_, _, State, Data) -> - Synchronously stop a generic server. + Synchronously stop a gen_statem process.

Orders the gen_statem @@ -2648,7 +2705,7 @@ handle_event(_, _, State, Data) -> that have been made using send_request/2 or send_request/4, - and all request must have been made by the process calling this + and all requests must have been made by the process calling this function.

@@ -2685,7 +2742,7 @@ handle_event(_, _, State, Data) -> The difference between receive_response/3 and wait_response/3 is that receive_response/3 - abandons requests at timeout so that a potential future + abandons requests at timeout so that potential future responses are ignored, while wait_response/3 does not.

diff --git a/lib/stdlib/doc/src/io.xml b/lib/stdlib/doc/src/io.xml index aed39279c91f..c2215c821ed1 100644 --- a/lib/stdlib/doc/src/io.xml +++ b/lib/stdlib/doc/src/io.xml @@ -41,7 +41,7 @@ protocols. Normally, it is a IoDevice returned by file:open/2. If no IoDevice is given, - standard_io is used.

+ standard_io is used.

For a description of the I/O protocols, see section The Erlang I/O Protocol @@ -71,12 +71,74 @@ -

An I/O device, either standard_io, standard_error, a - registered name, or a pid handling I/O protocols (returned from +

An I/O device, either standard_io, standard_error, user, + a registered name, or a pid handling I/O protocols (returned from file:open/2).

-

For more information about the built-in devices see - Standard Input/Output - and Standard Error. + + + + + +

All Erlang processes have a default standard I/O device. This + device is used when no IoDevice argument is specified in + the function calls in this module. However, it is sometimes desirable to + use an explicit IoDevice argument that refers to the + default I/O device. This is the case with functions that can + access either a file or the default I/O device. The atom + standard_io has this special meaning. The following example + illustrates this: +

+ +
+27> io:read('enter>').
+enter>foo.
+{ok,foo}
+28> io:read(standard_io, 'enter>').
+enter>bar.
+{ok,bar}
+ +

By default all I/O sent to standard_io will en up in the + user I/O device of the node + that spawned the calling process. +

+ +

standard_io is an alias for + group_leader/0, so in order to change where the default input/output + requests are sent you can change the group leader for the current process using + + group_leader(NewGroupLeader, self()). +

+ +
+
+ + + +

The I/O device standard_error can be used to direct + output to whatever the current operating system considers a suitable + I/O device for error output. This can be useful when standard output is + redirected. Example on a Unix-like operating system: +

+ +
+$ erl -noinput -eval 'io:format(standard_error,"Error: ~s~n",["error 11"]),'\
+'init:stop().' > /dev/null
+Error: error 11
+
+
+ + + +

An I/O device that can be used to interact with the node local + stdout and stdin. This can be either a terminal, + a pipe, a file, or a combination. You can use + getopts/0 to get more information about the + I/O device. +

+

See The Interactive Shell + and Escripts and non-interactive I/O + in the Using Unicode In Erlang User's Guide for details on how Unicode + is handled by user.

@@ -743,7 +805,10 @@ enter>: alan : joelatin1 range). If the I/O server is set to deliver binaries, they are encoded in UTF-8 (regardless of whether - the I/O device supports Unicode).

+ the I/O device supports Unicode). If you want the data to + be returned as a latin1 encoded binary you should use + file:read/2 + instead.

eof @@ -775,7 +840,10 @@ enter>: alan : joelatin1 range). If the I/O server is set to deliver binaries, they are encoded in UTF-8 (regardless of if - the I/O device supports Unicode).

+ the I/O device supports Unicode). If you want the data to + be returned as a latin1 encoded binary you should use + file:read_line/1 + instead.

eof @@ -816,8 +884,11 @@ enter>: alan : joeThis example is, as can be seen, run in an environment where the terminal supports Unicode input and output.

The terminal option is read only and indicates whether - the output stream is a terminal or not. - See setopts/1 for a description + the output stream is a terminal or not. When it is a terminal, + most systems that Erlang runs on allows the use of + ANSI escape codes + to control what the terminal outputs.

+

See setopts/1 for a description of the other options.

@@ -965,7 +1036,10 @@ enter>abc("hey". Write a list of characters.

Writes the characters of CharData to the I/O - server (IoDevice).

+ server (IoDevice). If you want to write latin1 encoded + bytes to the I/O server you should use + file:write/2 + instead.

@@ -1214,15 +1288,19 @@ fun("") -> {yes, "quit", []};

Prior to OTP 26.0, when Erlang was started with the -oldshell or -noshell flags (for example, in an - escript), the default encoding for standard_io was - set to latin1, meaning that any characters > codepoint - 255 were escaped and that input was expected to be plain 8-bit - ISO Latin-1. As of OTP 26.0, standard_io always defaults + escript), the default encoding for + standard_io was set to latin1, meaning + that any characters > codepoint 255 were escaped and that input + was expected to be plain 8-bit ISO Latin-1. As of OTP 26.0, + standard_io always defaults to unicode if its supported, otherwise latin1.

- If you want to send raw bytes on standard_io, you now - always need to explicitly set the encoding to latin1; + If you want to send raw bytes on standard_io, + you now always need to explicitly set the encoding to latin1; otherwise, code points 128-255 will be converted to UTF-8. + This is best done by setting the kernel configuration parameter + standard_io_encoding + to latin1.

Files can also be set in {encoding, unicode}, meaning that data is written and read as UTF-8. More encodings are @@ -1261,49 +1339,6 @@ fun("") -> {yes, "quit", []}; -

- Standard Input/Output -

All Erlang processes have a default standard I/O device. This - device is used when no IoDevice argument is specified in - the function calls in this module. However, it is sometimes desirable to - use an explicit IoDevice argument that refers to the - default I/O device. This is the case with functions that can - access either a file or the default I/O device. The atom - standard_io has this special meaning. The following example - illustrates this:

- -
-27> io:read('enter>').
-enter>foo.
-{ok,foo}
-28> io:read(standard_io, 'enter>').
-enter>bar.
-{ok,bar}
- -

standard_io is an alias for - group_leader/0, so in order to change where the default input/output - requests are sent you can change the group leader for the current process using - - group_leader(NewGroupLeader, self()).

- -

There is always a process registered under the name of - user. This can be used for sending output to the user.

-
- -
- Standard Error -

In certain situations, especially when the standard output is - redirected, access to an I/O server specific for error messages can be - convenient. The I/O device standard_error can be used to direct - output to whatever the current operating system considers a suitable - I/O device for error output. Example on a Unix-like operating system:

- -
-$ erl -noshell -noinput -eval 'io:format(standard_error,"Error: ~s~n",["error 11"]),'\
-'init:stop().' > /dev/null
-Error: error 11
-
-
Error Information

The ErrorInfo mentioned in this module is the standard diff --git a/lib/stdlib/doc/src/io_protocol.xml b/lib/stdlib/doc/src/io_protocol.xml index e47ace022813..1a7be2fdc590 100644 --- a/lib/stdlib/doc/src/io_protocol.xml +++ b/lib/stdlib/doc/src/io_protocol.xml @@ -87,7 +87,7 @@

ReplyAs can be any datum and is returned in the corresponding io_reply. The io module monitors the - the I/O server and uses the monitor reference as the ReplyAs + I/O server and uses the monitor reference as the ReplyAs datum. A more complicated client can have many outstanding I/O requests to the same I/O server and can use different references (or something else) to differentiate among the incoming I/O replies. diff --git a/lib/stdlib/doc/src/maps.xml b/lib/stdlib/doc/src/maps.xml index 8a2c57392016..9113276aaf15 100644 --- a/lib/stdlib/doc/src/maps.xml +++ b/lib/stdlib/doc/src/maps.xml @@ -113,8 +113,7 @@ returns true, the association is copied to the result map. If it returns false, the association is not copied. If it returns {true, NewValue}, the value for Key is - replaced with NewValue at this position is replaced in the - result map.

+ replaced with NewValue in the result map.

The call fails with a {badmap,Map} exception if MapOrIter is not a map or valid iterator, or with badarg if Fun is not a diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml index 3f9edddbc1c8..f59f434a6da8 100644 --- a/lib/stdlib/doc/src/notes.xml +++ b/lib/stdlib/doc/src/notes.xml @@ -31,6 +31,64 @@

This document describes the changes made to the STDLIB application.

+
STDLIB 5.0.2 + +
Fixed Bugs and Malfunctions + + +

+ Fix bug where when you entered Alt+Enter in the terminal, + the cursor would move to the last line, instead of moving + to the next line.

+

+ Own Id: OTP-18580 Aux Id: PR-7242

+
+ +

+ Fix eof handling when reading from stdin when erlang is + started using -noshell.

+

+ Own Id: OTP-18640 Aux Id: PR-7384 GH-7368 GH-7286 GH-6881

+
+ +

+ Fixed problem where output would disappear if it was + received after a prompt was written in the shell.

+

+ Own Id: OTP-18652 Aux Id: PR-7242

+
+ +

The following functions are now much faster when given + a long list or binary:

+ erlang:list_to_integer/1 + erlang:binary_to_integer/1 + erlang:binary_to_integer/2 + erlang:list_to_integer/2 + string:to_integer/1 +

+ Own Id: OTP-18659 Aux Id: PR-7426

+
+
+
+ +
+ +
STDLIB 5.0.1 + +
Fixed Bugs and Malfunctions + + +

The POSIX error exdev was sometimes incorrectly + described as "cross domain link" in some error + messages.

+

+ Own Id: OTP-18578 Aux Id: GH-7213

+
+
+
+ +
+
STDLIB 5.0
Fixed Bugs and Malfunctions @@ -476,6 +534,43 @@
+
STDLIB 4.3.1.2 + +
Fixed Bugs and Malfunctions + + +

The following functions are now much faster when given + a long list or binary:

+ erlang:list_to_integer/1 + erlang:binary_to_integer/1 + erlang:binary_to_integer/2 + erlang:list_to_integer/2 + string:to_integer/1 +

+ Own Id: OTP-18659 Aux Id: PR-7426

+
+
+
+ +
+ +
STDLIB 4.3.1.1 + +
Improvements and New Features + + +

+ Static supervisors are very idle processes after they + have started so they will now be hibernated after start + to improve resource management.

+

+ Own Id: OTP-18556

+
+
+
+ +
+
STDLIB 4.3.1
Fixed Bugs and Malfunctions @@ -1159,6 +1254,43 @@
+
STDLIB 3.17.2.4 + +
Fixed Bugs and Malfunctions + + +

The following functions are now much faster when given + a long list or binary:

+ erlang:list_to_integer/1 + erlang:binary_to_integer/1 + erlang:binary_to_integer/2 + erlang:list_to_integer/2 + string:to_integer/1 +

+ Own Id: OTP-18659 Aux Id: PR-7426

+
+
+
+ +
+ +
STDLIB 3.17.2.3 + +
Improvements and New Features + + +

+ Static supervisors are very idle processes after they + have started so they will now be hibernated after start + to improve resource management.

+

+ Own Id: OTP-18556

+
+
+
+ +
+
STDLIB 3.17.2.2
Fixed Bugs and Malfunctions @@ -1948,6 +2080,23 @@
+
STDLIB 3.14.2.3 + +
Fixed Bugs and Malfunctions + + +

It is not allowed to call functions from guards. The + compiler failed to reject a call in a guard when done by + constructing a record with a default initialization + expression that called a function.

+

+ Own Id: OTP-18325 Aux Id: GH-6465, GH-6466

+
+
+
+ +
+
STDLIB 3.14.2.2
Fixed Bugs and Malfunctions diff --git a/lib/stdlib/doc/src/orddict.xml b/lib/stdlib/doc/src/orddict.xml index 46370358e662..2ebe7566bfb7 100644 --- a/lib/stdlib/doc/src/orddict.xml +++ b/lib/stdlib/doc/src/orddict.xml @@ -331,7 +331,7 @@ merge(Fun, D1, D2) -> 2> orddict:store(a, 99, OrdDict1). [{a,99},{b,2}] 3> orddict:store(c, 100, OrdDict1). -[{a,1},{b,2},{c,99}] +[{a,1},{b,2},{c,100}] diff --git a/lib/stdlib/doc/src/ordsets.xml b/lib/stdlib/doc/src/ordsets.xml index b3efde76b458..b7575ea31bb7 100644 --- a/lib/stdlib/doc/src/ordsets.xml +++ b/lib/stdlib/doc/src/ordsets.xml @@ -91,6 +91,15 @@ + + + Filter and map set elements. + +

Filters and maps elements in Ordset1 with function + Fun.

+
+
+ Fold over set elements. @@ -155,6 +164,17 @@ + + + Test for equality. + +

Returns true if Ordset1 and + Ordset2 are equal, that is when every element of + one set is also a member of the respective other set, otherwise + false.

+
+
+ Test for an Ordset. @@ -176,6 +196,15 @@ + + + Map set elements. + +

Maps elements in Ordset1 with mapping function + Fun.

+
+
+ Return an empty set. diff --git a/lib/stdlib/doc/src/peer.xml b/lib/stdlib/doc/src/peer.xml index 71bf71e75e45..e28dd7814669 100644 --- a/lib/stdlib/doc/src/peer.xml +++ b/lib/stdlib/doc/src/peer.xml @@ -311,7 +311,7 @@ build_image(Dir) -> detached

Defines whether to pass the -detached flag to the started peer. - This option cannot be set to false using the standard_io alternative + This option cannot be set to false using the standard_io alternative connection type. Default is true.

diff --git a/lib/stdlib/doc/src/proc_lib.xml b/lib/stdlib/doc/src/proc_lib.xml index a064c8341e22..b3d4fef41c39 100644 --- a/lib/stdlib/doc/src/proc_lib.xml +++ b/lib/stdlib/doc/src/proc_lib.xml @@ -458,7 +458,7 @@ init(Parent) ->

If the started process gets killed or crashes with a reason - that is not `normal`, the process link will kill the calling + that is not normal, the process link will kill the calling process so this function does not return, unless the calling process traps exits. For example, if this function times out it will kill diff --git a/lib/stdlib/doc/src/qlc.xml b/lib/stdlib/doc/src/qlc.xml index 18f2bcfb108c..84302337fa2e 100644 --- a/lib/stdlib/doc/src/qlc.xml +++ b/lib/stdlib/doc/src/qlc.xml @@ -1247,6 +1247,11 @@ ets:match_spec_run( Options, erl_eval:new_bindings()).

This function is probably mainly useful when called from outside of Erlang, for example from a driver written in C.

+ +

Query handles created this way may have worse + performance than when created directly via + q/1,2.

+
diff --git a/lib/stdlib/doc/src/sets.xml b/lib/stdlib/doc/src/sets.xml index 4b70fe4add21..45a895955663 100644 --- a/lib/stdlib/doc/src/sets.xml +++ b/lib/stdlib/doc/src/sets.xml @@ -84,6 +84,8 @@ filter/2 + filtermap/2 + fold/3 from_list/1 @@ -96,10 +98,14 @@ is_empty/1 + is_equal/2 + is_set/1 is_subset/2 + map/2 + new/0 size/1 @@ -173,6 +179,15 @@ true + + + Filter and map set elements. + +

Filters and maps elements in Set1 with function + Fun.

+
+
+ Fold over set elements. @@ -244,6 +259,17 @@ true + + + Test for equality. + +

Returns true if Set1 and + Set2 are equal, that is when every element of + one set is also a member of the respective other set, otherwise + false.

+
+
+ Test for a Set. @@ -267,6 +293,15 @@ true + + + Map set elements. + +

Maps elements in Set1 with mapping function + Fun.

+
+
+ Return an empty set. diff --git a/lib/stdlib/doc/src/sys.xml b/lib/stdlib/doc/src/sys.xml index 6c1973f7621c..26f226907814 100644 --- a/lib/stdlib/doc/src/sys.xml +++ b/lib/stdlib/doc/src/sys.xml @@ -470,7 +470,7 @@

If Flag is get, a list of all logged events is returned.

If Flag is print, the logged events - are printed to standard_io.

+ are printed to standard_io.

The events are formatted with a function that is defined by the process that generated the event (with a call to @@ -675,9 +675,9 @@ Print all system events on standard_io. -

Prints all system events on standard_io. The events are - formatted with a function that is defined by the process that - generated the event (with a call to +

Prints all system events on standard_io. + The events are formatted with a function that is defined by + the process that generated the event (with a call to handle_debug/4).

diff --git a/lib/stdlib/doc/src/unicode_usage.xml b/lib/stdlib/doc/src/unicode_usage.xml index c73dc73667c1..ca8883830f84 100644 --- a/lib/stdlib/doc/src/unicode_usage.xml +++ b/lib/stdlib/doc/src/unicode_usage.xml @@ -611,9 +611,7 @@ ok
The Interactive Shell -

The interactive Erlang shell, when started to a terminal or started - using command werl on Windows, can support Unicode input and - output.

+

The interactive Erlang shell can support Unicode input and output.

On Windows, proper operation requires that a suitable font is installed and selected for the Erlang application to use. If no suitable @@ -716,7 +714,50 @@ Eshell V5.10.1 (abort with ^G) 2> Юникод. * 1: illegal character 2> -

+
+ +
+ Escripts and non-interactive I/O +

When Erlang is started without an interactive shell (-noshell, + -noinput or as an escript) the unicode support is identified using + environment variables just as for + interactive shells. Working with unicode in non-interactive + sessions works just the same as for interactive sessions. +

+

In some situations you may need to be able to read and write raw bytes + from standard_io. + If that is the case, then you want to set + the standard_io_encoding + configuration parameter to latin1 and use the file + API to read and write data (as explained in Unicode Data in Files). +

+

In the example below we first read the character ξ from standard_io + and then print the charlist() + represented by it. +

+
+#!/usr/bin/env escript
+%%! -kernel standard_io_encoding latin1
+
+main(_) ->
+  {ok, Char} = file:read_line(standard_io),
+  ok = file:write(standard_io, string:trim(Char)),
+  ok = file:write(standard_io, io_lib:format(": ~w~n",[string:trim(Char)])),
+  ok.
+
+
+$ escript test.es
+ξ
+ξ: [206,190]
+
+

ξ would normally be represented as the integer 958, but since we are + using bytewise encoding (latin1), it is represented by 206 and 190, + which is the utf-8 bytes representing ξ. When we echo those bytes back + to standard_io, + the terminal will see the bytes as utf-8 and show the + correct value even though in Erlang we never knew that it was indeed a unicode + string.

+
@@ -1214,19 +1255,27 @@ ok

io:setopts/1,2 - and flags -oldshell/-noshell + and + standard_io_encoding -

When Erlang is started with -oldshell or -noshell, the - I/O server for standard_io is by default set to bytewise - encoding, while an interactive shell defaults to what the - environment variables says.

+

When Erlang is started the encoding for standard_io is by + default set to what the locale settings indicate. + You can override the default by setting the kernel configuration parameter + + standard_io_encoding to the desired encoding.

You can set the encoding of a file or other I/O server with function io:setopts/2. This can also be set when opening a file. Setting the terminal (or - other standard_io server) unconditionally to option - {encoding,utf8} implies that UTF-8 encoded characters are - written to the device, regardless of how Erlang was started or the - user's environment.

+ other standard_io server) + unconditionally to option {encoding,utf8} implies that UTF-8 + encoded characters are written to the device, regardless of how Erlang + was started or the user's environment.

+

If you use io:setopts/2 + to change the encoding of standard_io + the I/O server may already have + read some data using the default encoding. To avoid this you should set + the encoding using + standard_io_encoding.

Opening files with option encoding is convenient when writing or reading text files in a known encoding.

You can retrieve the encoding setting for an I/O server with @@ -1357,7 +1406,8 @@ ok terminal: "oldshell" or "noshell") or whatever is suitable to show the character properly (for an interactive terminal: the regular shell).

-

So, you can always send Unicode data to the standard_io device. +

So, you can always send Unicode data to the + standard_io device. Files, however, accept only Unicode code points beyond ISO Latin-1 if encoding is set to something else than latin1.

diff --git a/lib/stdlib/doc/src/zip.xml b/lib/stdlib/doc/src/zip.xml index 5d5d83d270ca..449913ed8fa4 100644 --- a/lib/stdlib/doc/src/zip.xml +++ b/lib/stdlib/doc/src/zip.xml @@ -368,8 +368,11 @@ erl_tar.

FileList is a list of files, with paths relative to the current directory, which are stored with this path in the - archive. Files can also be specified with data in binaries - to create an archive directly from data.

+ archive. File system operations are performed to read the file metadata + and, when compression is enabled, to stream the file contents without + loading whole files into memory. Files can also be specified as binaries + to create an archive directly from data. In such cases, no metadata or + file system reads are performed.

Files are compressed using the DEFLATE compression, as described in the "Appnote.txt" file. However, files are stored without compression if they are already compressed. diff --git a/lib/stdlib/src/argparse.erl b/lib/stdlib/src/argparse.erl index a5fdd8d3d95e..69b734a126f5 100644 --- a/lib/stdlib/src/argparse.erl +++ b/lib/stdlib/src/argparse.erl @@ -1252,17 +1252,21 @@ format_description(#{help := {_Short, Desc}} = Opt) -> String end, Desc ); -%% default format: "desc", "desc (type)", "desc (default)", "desc (type, default)" +%% default format: +%% "desc" +%% "desc (type)" +%% "desc, default: abc" +%% "desc (type), default: abc" format_description(#{name := Name} = Opt) -> NameStr = maps:get(help, Opt, io_lib:format("~ts", [Name])), case {NameStr, format_type(Opt), format_default(Opt)} of {"", "", Type} -> Type; {"", Default, ""} -> Default; {Desc, "", ""} -> Desc; - {Desc, "", Default} -> [Desc, " (", Default, ")"]; + {Desc, "", Default} -> [Desc, " , default: ", Default]; {Desc, Type, ""} -> [Desc, " (", Type, ")"]; - {"", Type, Default} -> [Type, ", ", Default]; - {Desc, Type, Default} -> [Desc, " (", Type, ", ", Default, ")"] + {"", Type, Default} -> [Type, ", default: ", Default]; + {Desc, Type, Default} -> [Desc, " (", Type, "), default: ", Default] end. %% option formatting helpers diff --git a/lib/stdlib/src/beam_lib.erl b/lib/stdlib/src/beam_lib.erl index 14c6d76430e4..31be2776433d 100644 --- a/lib/stdlib/src/beam_lib.erl +++ b/lib/stdlib/src/beam_lib.erl @@ -53,6 +53,7 @@ -export_type([attrib_entry/0, compinfo_entry/0, labeled_entry/0, label/0]). -export_type([chunkid/0]). -export_type([chnk_rsn/0]). +-export_type([beam/0]). -import(lists, [append/1, delete/2, foreach/2, keysort/2, member/2, reverse/1, sort/1, splitwith/2]). diff --git a/lib/stdlib/src/binary.erl b/lib/stdlib/src/binary.erl index e587cfe98d30..8b3be311ee73 100644 --- a/lib/stdlib/src/binary.erl +++ b/lib/stdlib/src/binary.erl @@ -108,7 +108,8 @@ bin_to_list(Subject, Pos, Len) -> badarg_with_info([Subject, Pos, Len]). -spec compile_pattern(Pattern) -> cp() when - Pattern :: binary() | [binary()]. + Pattern :: PatternBinary | [PatternBinary,...], + PatternBinary :: nonempty_binary(). compile_pattern(_) -> erlang:nif_error(undef). @@ -173,20 +174,21 @@ list_to_bin(_) -> erlang:nif_error(undef). -spec longest_common_prefix(Binaries) -> non_neg_integer() when - Binaries :: [binary()]. + Binaries :: [binary(),...]. longest_common_prefix(_) -> erlang:nif_error(undef). -spec longest_common_suffix(Binaries) -> non_neg_integer() when - Binaries :: [binary()]. + Binaries :: [binary(),...]. longest_common_suffix(_) -> erlang:nif_error(undef). -spec match(Subject, Pattern) -> Found | nomatch when Subject :: binary(), - Pattern :: binary() | [binary()] | cp(), + Pattern :: PatternBinary | [PatternBinary,...] | cp(), + PatternBinary :: nonempty_binary(), Found :: part(). match(_, _) -> @@ -194,7 +196,8 @@ match(_, _) -> -spec match(Subject, Pattern, Options) -> Found | nomatch when Subject :: binary(), - Pattern :: binary() | [binary()] | cp(), + Pattern :: PatternBinary | [PatternBinary,...] | cp(), + PatternBinary :: nonempty_binary(), Found :: part(), Options :: [Option], Option :: {scope, part()}. @@ -204,7 +207,8 @@ match(_, _, _) -> -spec matches(Subject, Pattern) -> Found when Subject :: binary(), - Pattern :: binary() | [binary()] | cp(), + Pattern :: PatternBinary | [PatternBinary,...] | cp(), + PatternBinary :: nonempty_binary(), Found :: [part()]. matches(_, _) -> @@ -212,7 +216,8 @@ matches(_, _) -> -spec matches(Subject, Pattern, Options) -> Found when Subject :: binary(), - Pattern :: binary() | [binary()] | cp(), + Pattern :: PatternBinary | [PatternBinary,...] | cp(), + PatternBinary :: nonempty_binary(), Found :: [part()], Options :: [Option], Option :: {scope, part()}. @@ -243,7 +248,8 @@ referenced_byte_size(_) -> -spec split(Subject, Pattern) -> Parts when Subject :: binary(), - Pattern :: binary() | [binary()] | cp(), + Pattern :: PatternBinary | [PatternBinary,...] | cp(), + PatternBinary :: nonempty_binary(), Parts :: [binary()]. split(_, _) -> @@ -251,7 +257,8 @@ split(_, _) -> -spec split(Subject, Pattern, Options) -> Parts when Subject :: binary(), - Pattern :: binary() | [binary()] | cp(), + Pattern :: PatternBinary | [PatternBinary,...] | cp(), + PatternBinary :: nonempty_binary(), Options :: [Option], Option :: {scope, part()} | trim | global | trim_all, Parts :: [binary()]. @@ -267,8 +274,9 @@ split(_, _, _) -> -spec replace(Subject, Pattern, Replacement) -> Result when Subject :: binary(), - Pattern :: binary() | [ binary() ] | cp(), - Replacement :: binary(), + Pattern :: PatternBinary | [PatternBinary,...] | cp(), + PatternBinary :: nonempty_binary(), + Replacement :: binary() | fun((binary()) -> binary()), Result :: binary(). replace(H,N,R) -> @@ -281,8 +289,9 @@ replace(H,N,R) -> -spec replace(Subject, Pattern, Replacement, Options) -> Result when Subject :: binary(), - Pattern :: binary() | [ binary() ] | cp(), - Replacement :: binary(), + Pattern :: PatternBinary | [PatternBinary,...] | cp(), + PatternBinary :: nonempty_binary(), + Replacement :: binary() | fun((binary()) -> binary()), Options :: [Option], Option :: global | {scope, part()} | {insert_replaced, InsPos}, InsPos :: OnePos | [ OnePos ], @@ -291,7 +300,7 @@ replace(H,N,R) -> replace(Haystack,Needles,Replacement,Options) -> try - true = is_binary(Replacement), % Make badarg instead of function clause + true = is_binary(Replacement) orelse is_function(Replacement, 1), % Make badarg instead of function clause {Part,Global,Insert} = get_opts_replace(Options,{no,false,[]}), Moptlist = case Part of no -> @@ -308,13 +317,17 @@ replace(Haystack,Needles,Replacement,Options) -> Match -> [Match] end end, - ReplList = case Insert of + ReplList = case is_function(Replacement, 1) orelse Insert of + true -> + Replacement; [] -> - Replacement; + fun(_) -> Replacement end; Y when is_integer(Y) -> - splitat(Replacement,0,[Y]); + <> = Replacement, + fun(M) -> [ReplFront, M, ReplRear] end; Li when is_list(Li) -> - splitat(Replacement,0,lists:sort(Li)) + Splits = splitat(Replacement,0,lists:sort(Li)), + fun(M) -> lists:join(M, Splits) end end, erlang:iolist_to_binary(do_replace(Haystack,MList,ReplList,0)) catch @@ -328,19 +341,7 @@ replace(Haystack,Needles,Replacement,Options) -> do_replace(H,[],_,N) -> [binary:part(H,{N,byte_size(H)-N})]; do_replace(H,[{A,B}|T],Replacement,N) -> - [binary:part(H,{N,A-N}), - if - is_list(Replacement) -> - do_insert(Replacement, binary:part(H,{A,B})); - true -> - Replacement - end - | do_replace(H,T,Replacement,A+B)]. - -do_insert([X],_) -> - [X]; -do_insert([H|T],R) -> - [H,R|do_insert(T,R)]. + [binary:part(H,{N,A-N}), Replacement(binary:part(H, {A, B})) | do_replace(H,T,Replacement,A+B)]. splitat(H,N,[]) -> [binary:part(H,{N,byte_size(H)-N})]; diff --git a/lib/stdlib/src/edlin.erl b/lib/stdlib/src/edlin.erl index 88283a54c923..d3b189c1a723 100644 --- a/lib/stdlib/src/edlin.erl +++ b/lib/stdlib/src/edlin.erl @@ -72,13 +72,10 @@ start(Pbs) -> %% Only two modes used: 'none' and 'search'. Other modes can be %% handled inline through specific character handling. start(Pbs, {_,{_,_},_}=Cont) -> - Rs1 = erase_line(), - Rs2 = redraw(Pbs, Cont, Rs1), - Rs3 = reverse(Rs2), - {more_chars,{line,Pbs,Cont,none},Rs3}; + {more_chars,{line,Pbs,Cont,none},redraw(Pbs, Cont, [])}; start(Pbs, Mode) -> - {more_chars,{line,Pbs,{[],{[],[]},[]},Mode},[new_prompt, {put_chars,unicode,Pbs}]}. + {more_chars,{line,Pbs,{[],{[],[]},[]},Mode},[new_prompt, {insert_chars,unicode,Pbs}]}. edit_line(Cs, {line,P,L,{blink,N_Rs}}) -> edit(Cs, P, L, none, N_Rs); @@ -90,8 +87,7 @@ edit_line1(Cs, {line,P,L,{blink,N_Rs}}) -> edit_line1(Cs, {line,P,{B,{[],[]},A},none}) -> [CurrentLine|Lines] = [string:to_graphemes(Line) || Line <- reverse(string:split(Cs, "\n",all))], Cont = {Lines ++ B,{reverse(CurrentLine),[]},A}, - Rs = reverse(redraw(P, Cont, [])), - %erlang:display({P, Cont, Cs, CurrentLine}), + Rs = redraw(P, Cont, []), {more_chars, {line,P,Cont,none},[delete_line|Rs]}; edit_line1(Cs, {line,P,L,M}) -> edit(Cs, P, L, M, []). @@ -119,17 +115,12 @@ edit([C|Cs], P, {LB, {Bef,Aft}, LA}=MultiLine, Prefix, Rs0) -> ctlx -> edit(Cs, P, MultiLine, ctlx, Rs0); new_line -> - case Bef of - [] -> edit(Cs, P, MultiLine, none, Rs0); - _ -> MultiLine1 = {[lists:reverse(Bef)|LB],{[],Aft},LA}, - edit(Cs, P, MultiLine1, none, redraw(P, MultiLine1, Rs0)) - end; + MultiLine1 = {[lists:reverse(Bef)|LB],{[],Aft},LA}, + edit(Cs, P, MultiLine1, none, reverse(redraw(P, MultiLine1, Rs0))); new_line_finish -> - [Last|LAR]=LA1 = lists:reverse([lists:reverse(Bef,Aft)|LA]), - MultiLine1 = {LA1 ++ LB,{[],[]},[]}, - % Move to end and redraw - Rs1 = redraw(P, {LAR ++ LB, {lists:reverse(Last), []},[]}, Rs0), - {done, MultiLine1, Cs, reverse(Rs1, [{insert_chars, unicode, "\n"}])}; + % Move to end + {{LB1,{Bef1,[]},[]}, Rs1} = do_op(end_of_expression, MultiLine, Rs0), + {done, {[lists:reverse(Bef1)|LB1],{[],[]},[]}, Cs, reverse(Rs1, [{insert_chars, unicode, "\n"}])}; redraw_line -> Rs1 = erase_line(Rs0), Rs = redraw(P, MultiLine, Rs1), @@ -343,7 +334,7 @@ do_op({insert,C}, {LB,{[Bef|Bef0], Aft},LA}, Rs) -> %% search mode), we can use the Bef and Aft variables to hold each %% part of the line. Bef takes charge of "(search)`$TERMS" and Aft %% takes charge of "': $RESULT". -%% +%% %% Since multiline support the search mode prompt always looks like: %% search: $TERMS %% $ResultLine1 @@ -400,10 +391,10 @@ do_op(backward_delete_char, {LB,{[GC|Bef], Aft},LA}, Rs) -> {{LB, {Bef,Aft}, LA},[{delete_chars,-gc_len(GC)}|Rs]}; do_op(transpose_char, {LB,{[C1,C2|Bef], []},LA}, Rs) -> Len = gc_len(C1)+gc_len(C2), - {{LB, {[C2,C1|Bef],[]}, LA},[{put_chars, unicode,[C1,C2]},{move_rel,-Len}|Rs]}; + {{LB, {[C2,C1|Bef],[]}, LA},[{insert_chars_over, unicode,[C1,C2]},{move_rel,-Len}|Rs]}; do_op(transpose_char, {LB,{[C2|Bef], [C1|Aft]},LA}, Rs) -> Len = gc_len(C2), - {{LB, {[C2,C1|Bef],Aft}, LA},[{put_chars, unicode,[C1,C2]},{move_rel,-Len}|Rs]}; + {{LB, {[C2,C1|Bef],Aft}, LA},[{insert_chars_over, unicode,[C1,C2]},{move_rel,-Len}|Rs]}; do_op(kill_word, {LB,{Bef, Aft0},LA}, Rs) -> {Aft1,Kill0,N0} = over_non_word(Aft0, [], 0), {Aft,Kill,N} = over_word(Aft1, Kill0, N0), @@ -421,7 +412,7 @@ do_op(clear_line, _, Rs) -> {redraw, {[], {[],[]},[]}, Rs}; do_op(yank, {LB,{Bef, []},LA}, Rs) -> Kill = get(kill_buffer), - {{LB, {reverse(Kill, Bef),[]}, LA},[{put_chars, unicode,Kill}|Rs]}; + {{LB, {reverse(Kill, Bef),[]}, LA},[{insert_chars, unicode,Kill}|Rs]}; do_op(yank, {LB,{Bef, Aft},LA}, Rs) -> Kill = get(kill_buffer), {{LB, {reverse(Kill, Bef),Aft}, LA},[{insert_chars, unicode,Kill}|Rs]}; @@ -468,7 +459,7 @@ do_op(end_of_expression, {LB,{Bef, []},[]}, Rs) -> {{LB, {Bef,[]}, []},Rs}; do_op(end_of_expression, {LB,{Bef, Aft},LA}, Rs) -> [Last|Rest] = lists:reverse(LA) ++ [lists:reverse(Bef, Aft)], - {{LB ++ Rest, {lists:reverse(Last),[]}, []},[{move_combo, -cp_len(Bef), length(LA), cp_len(Last)}|Rs]}; + {{Rest ++ LB, {lists:reverse(Last),[]}, []},[{move_combo, -cp_len(Bef), length(LA), cp_len(Last)}|Rs]}; do_op(beginning_of_line, {LB,{[_|_]=Bef, Aft},LA}, Rs) -> {{LB, {[],reverse(Bef, Aft)}, LA},[{move_rel,-(cp_len(Bef))}|Rs]}; do_op(beginning_of_line, {LB,{[], Aft},LA}, Rs) -> @@ -677,7 +668,8 @@ redraw_line({line, Pbs, L,_}) -> redraw(Pbs, L, []). multi_line_prompt(Pbs) -> - lists:duplicate(max(0,prim_tty:npwcwidthstring(Pbs)-3), $ )++".. ". + lists:duplicate(max(0,prim_tty:npwcwidthstring(Pbs)-3), $ ) + ++ "\e[7m \e[27m ". % redraw(Pbs, {_,{_,_},_}=L, Rs) -> [{redraw_prompt, Pbs, multi_line_prompt(Pbs), L} |Rs]. diff --git a/lib/stdlib/src/erl_error.erl b/lib/stdlib/src/erl_error.erl index e3e7e11ff911..cd8a8b737b68 100644 --- a/lib/stdlib/src/erl_error.erl +++ b/lib/stdlib/src/erl_error.erl @@ -216,6 +216,8 @@ explain_reason({case_clause,V}, error=Cl, [], PF, S, _Enc, CL) -> %% "there is no case clause with a true guard sequence and a %% pattern matching..." format_value(V, <<"no case clause matching ">>, Cl, PF, S, CL); +explain_reason({else_clause,V}, error=Cl, [], PF, S, _Enc, CL) -> + format_value(V, <<"no else clause matching ">>, Cl, PF, S, CL); explain_reason(function_clause, error, [{F,A}], _PF, _S, _Enc, _CL) -> %% Shell commands FAs = io_lib:fwrite(<<"~w/~w">>, [F, A]), diff --git a/lib/stdlib/src/erl_expand_records.erl b/lib/stdlib/src/erl_expand_records.erl index 8cd78e597d71..706b5fec6eda 100644 --- a/lib/stdlib/src/erl_expand_records.erl +++ b/lib/stdlib/src/erl_expand_records.erl @@ -371,6 +371,12 @@ expr({call,Anno,{remote,_,{atom,_,erlang},{atom,_,is_record}}, expr({call,Anno,{tuple,_,[{atom,_,erlang},{atom,_,is_record}]}, [A,{atom,_,Name}]}, St) -> record_test(Anno, A, Name, St); +expr({call,Anno,{atom,_,is_record},[_,_,{integer,_,Sz}]}, St) + when is_integer(Sz), Sz =< 0 -> + {{atom,Anno,false},St}; +expr({call,Anno,{remote,_,{atom,_,erlang},{atom,_,is_record}}, + [_,_,{integer,_,Sz}]}, St) when is_integer(Sz), Sz =< 0 -> + {{atom,Anno,false},St}; expr({call,Anno,{atom,_AnnoA,record_info},[_,_]=As0}, St0) -> {As,St1} = expr_list(As0, St0), record_info_call(Anno, As, St1); @@ -919,11 +925,13 @@ opt_rec_vars_2({op,_,'orelse',Arg,{atom,_,fail}}, Rs) -> %% Since the second argument guarantees failure, %% it is safe to inspect the first argument. opt_rec_vars_2(Arg, Rs); -opt_rec_vars_2({call,_,{remote,_,{atom,_,erlang},{atom,_,is_record}}, - [{var,_,V},{atom,_,Tag},{integer,_,Sz}]}, Rs) -> - orddict:store(V, {Tag,Sz}, Rs); +opt_rec_vars_2({call,Anno, + {remote,_,{atom,_,erlang},{atom,_,is_record}=IsRecord}, + Args}, Rs) -> + opt_rec_vars_2({call,Anno,IsRecord,Args}, Rs); opt_rec_vars_2({call,_,{atom,_,is_record}, - [{var,_,V},{atom,_,Tag},{integer,_,Sz}]}, Rs) -> + [{var,_,V},{atom,_,Tag},{integer,_,Sz}]}, Rs) + when is_integer(Sz), 0 < Sz, Sz < 100 -> orddict:store(V, {Tag,Sz}, Rs); opt_rec_vars_2(_, Rs) -> Rs. diff --git a/lib/stdlib/src/erl_lint.erl b/lib/stdlib/src/erl_lint.erl index 55e53cad3def..893fe4dbaee8 100644 --- a/lib/stdlib/src/erl_lint.erl +++ b/lib/stdlib/src/erl_lint.erl @@ -320,6 +320,9 @@ format_error({illegal_guard_local_call, {F,A}}) -> io_lib:format("call to local/imported function ~tw/~w is illegal in guard", [F,A]); format_error(illegal_guard_expr) -> "illegal guard expression"; +format_error(match_float_zero) -> + "matching on the float 0.0 will no longer also match -0.0 in OTP 27. If " + "you specifically intend to match 0.0 alone, write +0.0 instead."; %% --- maps --- format_error(illegal_map_construction) -> "only association operators '=>' are allowed in map construction"; @@ -672,6 +675,9 @@ start(File, Opts) -> true, Opts)}, {singleton_typevar, bool_option(warn_singleton_typevar, nowarn_singleton_typevar, + true, Opts)}, + {match_float_zero, + bool_option(warn_match_float_zero, nowarn_match_float_zero, true, Opts)} ], Enabled1 = [Category || {Category,true} <- Enabled0], @@ -1704,7 +1710,12 @@ pattern({var,Anno,V}, _Vt, Old, St) -> pat_var(V, Anno, Old, [], St); pattern({char,_Anno,_C}, _Vt, _Old, St) -> {[],[],St}; pattern({integer,_Anno,_I}, _Vt, _Old, St) -> {[],[],St}; -pattern({float,_Anno,_F}, _Vt, _Old, St) -> {[],[],St}; +pattern({float,Anno,F}, _Vt, _Old, St0) -> + St = case F == 0 andalso is_warn_enabled(match_float_zero, St0) of + true -> add_warning(Anno, match_float_zero, St0); + false -> St0 + end, + {[], [], St}; pattern({atom,Anno,A}, _Vt, _Old, St) -> {[],[],keyword_warning(Anno, A, St)}; pattern({string,_Anno,_S}, _Vt, _Old, St) -> {[],[],St}; @@ -2149,6 +2160,9 @@ gexpr({op,_,'andalso',L,R}, Vt, St) -> gexpr_list([L,R], Vt, St); gexpr({op,_,'orelse',L,R}, Vt, St) -> gexpr_list([L,R], Vt, St); +gexpr({op,_Anno,EqOp,L,R}, Vt, St0) when EqOp =:= '=:='; EqOp =:= '=/=' -> + St1 = expr_check_match_zero(R, expr_check_match_zero(L, St0)), + gexpr_list([L,R], Vt, St1); gexpr({op,Anno,Op,L,R}, Vt, St0) -> {Avt,St1} = gexpr_list([L,R], Vt, St0), case is_gexpr_op(Op, 2) of @@ -2565,6 +2579,9 @@ expr({op,Anno,Op,L,R}, Vt, St0) when Op =:= 'orelse'; Op =:= 'andalso' -> {Evt2,St2} = expr(R, Vt1, St1), Evt3 = vtupdate(vtunsafe({Op,Anno}, Evt2, Vt1), Evt2), {vtmerge(Evt1, Evt3),St2}; +expr({op,_Anno,EqOp,L,R}, Vt, St0) when EqOp =:= '=:='; EqOp =:= '=/=' -> + St = expr_check_match_zero(R, expr_check_match_zero(L, St0)), + expr_list([L,R], Vt, St); %They see the same variables expr({op,_Anno,_Op,L,R}, Vt, St) -> expr_list([L,R], Vt, St); %They see the same variables %% The following are not allowed to occur anywhere! @@ -2573,6 +2590,20 @@ expr({remote,_Anno,M,_F}, _Vt, St) -> expr({ssa_check_when,_Anno,_WantedResult,_Args,_Tag,_Exprs}, _Vt, St) -> {[], St}. +%% Checks whether 0.0 occurs naked in the LHS or RHS of an equality check. Note +%% that we do not warn when it's being used as arguments for expressions in +%% in general: `A =:= abs(0.0)` is fine. +expr_check_match_zero({float,Anno,F}, St) -> + case F == 0 andalso is_warn_enabled(match_float_zero, St) of + true -> add_warning(Anno, match_float_zero, St); + false -> St + end; +expr_check_match_zero({cons,_Anno,H,T}, St) -> + expr_check_match_zero(H, expr_check_match_zero(T, St)); +expr_check_match_zero({tuple,_Anno,Es}, St) -> + foldl(fun expr_check_match_zero/2, St, Es); +expr_check_match_zero(_Expr, St) -> + St. %% expr_list(Expressions, Variables, State) -> %% {UsedVarTable,State} diff --git a/lib/stdlib/src/erl_parse.yrl b/lib/stdlib/src/erl_parse.yrl index bef858cdc536..a1e41958a4de 100644 --- a/lib/stdlib/src/erl_parse.yrl +++ b/lib/stdlib/src/erl_parse.yrl @@ -1499,8 +1499,21 @@ check_clauses(Cs, Name, Arity) -> [case C of {clause,A,N,As,G,B} when N =:= Name, length(As) =:= Arity -> {clause,A,As,G,B}; - {clause,A,_N,_As,_G,_B} -> - ret_err(A, "head mismatch") + {clause,A,N,As,_G,_B} when N =:= Name -> + Detail = io_lib:format( + "head mismatch: function ~s with arities ~w and ~w is " + "regarded as two distinct functions. Is the number of " + "arguments incorrect or is the semicolon in ~s/~w unwanted?", + [Name, Arity, length(As), Name, Arity] + ), + ret_err(A, Detail); + {clause,A,N,As,_G,_B} -> + Detail = io_lib:format( + "head mismatch: previous function ~s/~w is distinct from ~s/~w. " + "Is the semicolon in ~s/~w unwanted?", + [Name, Arity, N, length(As), Name, Arity] + ), + ret_err(A, Detail) end || C <- Cs]. build_try(A,Es,Scs,{Ccs,As}) -> diff --git a/lib/stdlib/src/erl_posix_msg.erl b/lib/stdlib/src/erl_posix_msg.erl index 2a6676aede90..4161cf6644a4 100644 --- a/lib/stdlib/src/erl_posix_msg.erl +++ b/lib/stdlib/src/erl_posix_msg.erl @@ -167,7 +167,7 @@ message_1(eunatch) -> <<"protocol driver not attached">>; message_1(eusers) -> <<"too many users">>; message_1(eversion) -> <<"version mismatch">>; message_1(ewouldblock) -> <<"operation would block">>; -message_1(exdev) -> <<"cross-domain link">>; +message_1(exdev) -> <<"cross-device link">>; message_1(exfull) -> <<"message tables full">>; message_1(nxdomain) -> <<"non-existing domain">>; message_1(exbadport) -> <<"inet_drv bad port state">>; diff --git a/lib/stdlib/src/escript.erl b/lib/stdlib/src/escript.erl index a2280bf69023..6db6656380cf 100644 --- a/lib/stdlib/src/escript.erl +++ b/lib/stdlib/src/escript.erl @@ -431,7 +431,7 @@ do_parse_file(Type, File, Fd, StartLine, HeaderSz, CheckOnly) -> initial_state(File) -> #state{file = File, n_errors = 0, - mode = interpret, + mode = compile, exports_main = false, has_records = false}. diff --git a/lib/stdlib/src/ets.erl b/lib/stdlib/src/ets.erl index 3545c8a1868a..9b0aff47b7c6 100644 --- a/lib/stdlib/src/ets.erl +++ b/lib/stdlib/src/ets.erl @@ -612,8 +612,11 @@ fun2ms(ShellFun) when is_function(ShellFun) -> %% Check that this is really a shell fun... case erl_eval:fun_data(ShellFun) of {fun_data,ImportList,Clauses} -> + {module, FunModule} = erlang:fun_info(ShellFun,module), + CompilationOptions = FunModule:module_info(compile), + ShouldOptimise = not proplists:get_bool(no_optimise_fun2ms, CompilationOptions), case ms_transform:transform_from_shell( - ?MODULE,Clauses,ImportList) of + ?MODULE,Clauses,ImportList, ShouldOptimise) of {error,[{_,[{_,_,Code}|_]}|_],_} -> io:format("Error: ~ts~n", [ms_transform:format_error(Code)]), @@ -822,7 +825,8 @@ tab2file(Table, File, Options) -> _ -> throw(eaccess) end, Name = make_ref(), - case disk_log:open([{name, Name}, {file, File}]) of + case disk_log:open([{name, Name}, {file, File}, + {repair, truncate}]) of {ok, Name} -> ok; {error, Reason} -> diff --git a/lib/stdlib/src/filelib.erl b/lib/stdlib/src/filelib.erl index de08352398b9..2f0ff537446d 100644 --- a/lib/stdlib/src/filelib.erl +++ b/lib/stdlib/src/filelib.erl @@ -770,65 +770,65 @@ find_regular_file([File|Files]) -> Cwd :: filename_all(), SafeFilename :: filename_all(). +safe_relative_path(Path, "") -> + safe_relative_path(Path, "."); safe_relative_path(Path, Cwd) -> - case filename:pathtype(Path) of - relative -> safe_relative_path(filename:split(Path), Cwd, [], ""); - _ -> unsafe - end. - -safe_relative_path([], _Cwd, _PrevLinks, Acc) -> - Acc; - -safe_relative_path([Segment | Segments], Cwd, PrevLinks, Acc) -> - AccSegment = join(Acc, Segment), - case safe_relative_path(AccSegment) of - unsafe -> - unsafe; - SafeAccSegment -> - case file:read_link(join(Cwd, SafeAccSegment)) of - {ok, LinkPath} -> - case lists:member(LinkPath, PrevLinks) of - true -> - unsafe; - false -> - case safe_relative_path(filename:split(LinkPath), Cwd, [LinkPath | PrevLinks], Acc) of - unsafe -> unsafe; - NewAcc -> safe_relative_path(Segments, Cwd, [], NewAcc) - end - end; - {error, _} -> - safe_relative_path(Segments, Cwd, PrevLinks, SafeAccSegment) - end - end. - -join([], Path) -> Path; -join(Left, Right) -> filename:join(Left, Right). - -safe_relative_path(Path) -> - case filename:pathtype(Path) of + srp_path(filename:split(Path), + Cwd, + sets:new([{version, 2}]), + []). + +srp_path([], _Cwd, _Seen, []) -> + ""; +srp_path([], _Cwd, _Seen, Acc) -> + filename:join(Acc); +srp_path(["."|Segs], Cwd, Seen, Acc) -> + srp_path(Segs, Cwd, Seen, Acc); +srp_path([<<".">>|Segs], Cwd, Seen, Acc) -> + srp_path(Segs, Cwd, Seen, Acc); +srp_path([".."|_Segs], _Cwd, _Seen, []) -> + unsafe; +srp_path([".."|Segs], Cwd, Seen, [_|_]=Acc) -> + srp_path(Segs, Cwd, Seen, lists:droplast(Acc)); +srp_path([<<"..">>|_Segs], _Cwd, _Seen, []) -> + unsafe; +srp_path([<<"..">>|Segs], Cwd, Seen, [_|_]=Acc) -> + srp_path(Segs, Cwd, Seen, lists:droplast(Acc)); +srp_path([clear|Segs], Cwd, _Seen, Acc) -> + srp_path(Segs, Cwd, sets:new([{version, 2}]), Acc); +srp_path([Seg|_]=Segs, Cwd, Seen, Acc) -> + case filename:pathtype(Seg) of relative -> - Cs0 = filename:split(Path), - safe_relative_path_1(Cs0, []); + srp_segment(Segs, Cwd, Seen, Acc); _ -> unsafe end. -safe_relative_path_1(["."|T], Acc) -> - safe_relative_path_1(T, Acc); -safe_relative_path_1([<<".">>|T], Acc) -> - safe_relative_path_1(T, Acc); -safe_relative_path_1([".."|T], Acc) -> - climb(T, Acc); -safe_relative_path_1([<<"..">>|T], Acc) -> - climb(T, Acc); -safe_relative_path_1([H|T], Acc) -> - safe_relative_path_1(T, [H|Acc]); -safe_relative_path_1([], []) -> - []; -safe_relative_path_1([], Acc) -> - filename:join(lists:reverse(Acc)). +srp_segment([Seg|Segs], Cwd, Seen, Acc) -> + Path = filename:join([Cwd|Acc]), + case file:read_link(filename:join(Path, Seg)) of + {ok, LinkPath} -> + srp_link(Path, + LinkPath, + Segs, + Cwd, + Seen, + Acc); + {error, _} -> + srp_path(Segs, + Cwd, + Seen, + Acc++[Seg]) + end. -climb(_, []) -> - unsafe; -climb(T, [_|Acc]) -> - safe_relative_path_1(T, Acc). +srp_link(Path, LinkPath, Segs, Cwd, Seen, Acc) -> + FullLinkPath = filename:join(Path, LinkPath), + case sets:is_element(FullLinkPath, Seen) of + true -> + unsafe; + false -> + srp_path(filename:split(LinkPath)++[clear|Segs], + Cwd, + sets:add_element(FullLinkPath, Seen), + Acc) + end. diff --git a/lib/stdlib/src/gb_sets.erl b/lib/stdlib/src/gb_sets.erl index aba1bed15639..f94996a669cf 100644 --- a/lib/stdlib/src/gb_sets.erl +++ b/lib/stdlib/src/gb_sets.erl @@ -153,10 +153,12 @@ -export([empty/0, is_empty/1, size/1, singleton/1, is_member/2, insert/2, add/2, delete/2, delete_any/2, balance/1, union/2, - union/1, intersection/2, intersection/1, is_disjoint/2, difference/2, - is_subset/2, to_list/1, from_list/1, from_ordset/1, smallest/1, - largest/1, take_smallest/1, take_largest/1, iterator/1, - iterator_from/2, next/1, filter/2, fold/3, is_set/1]). + union/1, intersection/2, intersection/1, is_equal/2, + is_disjoint/2, difference/2, is_subset/2, to_list/1, + from_list/1, from_ordset/1, smallest/1, largest/1, + take_smallest/1, take_largest/1, iterator/1, + iterator_from/2, next/1, filter/2, fold/3, map/2, + filtermap/2, is_set/1]). %% `sets' compatibility aliases: @@ -229,6 +231,32 @@ is_empty(_) -> size({Size, _}) -> Size. +-spec is_equal(Set1, Set2) -> boolean() when + Set1 :: set(), + Set2 :: set(). + +is_equal({Size, S1}, {Size, _} = S2) -> + try is_equal_1(S1, to_list(S2)) of + [] -> + true + catch + throw:not_equal -> + false + end; +is_equal({_, _}, {_, _}) -> + false. + +is_equal_1(nil, Keys) -> + Keys; +is_equal_1({Key1, Smaller, Bigger}, Keys0) -> + [Key2 | Keys] = is_equal_1(Smaller, Keys0), + if + Key1 == Key2 -> + is_equal_1(Bigger, Keys); + true -> + throw(not_equal) + end. + -spec singleton(Element) -> set(Element). singleton(Key) -> @@ -876,6 +904,37 @@ is_set(_) -> false. filter(F, S) when is_function(F, 1) -> from_ordset([X || X <- to_list(S), F(X)]). +-spec map(Fun, Set1) -> Set2 when + Fun :: fun((Element1) -> Element2), + Set1 :: set(Element1), + Set2 :: set(Element2). + +map(F, {_, T}) when is_function(F, 1) -> + from_list(map_1(T, F, [])). + +map_1({Key, Small, Big}, F, L) -> + map_1(Small, F, [F(Key) | map_1(Big, F, L)]); +map_1(nil, _F, L) -> L. + +-spec filtermap(Fun, Set1) -> Set2 when + Fun :: fun((Element1) -> boolean() | {true, Element2}), + Set1 :: set(Element1), + Set2 :: set(Element1 | Element2). + +filtermap(F, {_, T}) when is_function(F, 1) -> + from_list(filtermap_1(T, F, [])). + +filtermap_1({Key, Small, Big}, F, L) -> + case F(Key) of + true -> + filtermap_1(Small, F, [Key | filtermap_1(Big, F, L)]); + {true,Val} -> + filtermap_1(Small, F, [Val | filtermap_1(Big, F, L)]); + false -> + filtermap_1(Small, F, filtermap_1(Big, F, L)) + end; +filtermap_1(nil, _F, L) -> L. + -spec fold(Function, Acc0, Set) -> Acc1 when Function :: fun((Element, AccIn) -> AccOut), Acc0 :: Acc, diff --git a/lib/stdlib/src/gen_statem.erl b/lib/stdlib/src/gen_statem.erl index 849bf455618d..f140d80f5b01 100644 --- a/lib/stdlib/src/gen_statem.erl +++ b/lib/stdlib/src/gen_statem.erl @@ -345,6 +345,22 @@ CurrentState :: state(), data()) -> event_handler_result(state()). % New state +%% The following fun() should have the same type as the previous callback, +%% but ... +%% the type language cannot express a fun() with multiple clauses +%% so we have to specify the union fun() here. Furthermore this +%% type is only used for record field #params.callback_mode +%% so the type checker can verify that we use correct arguments +%% (could, but all end up in term() so that will be in vain), +%% but the return value comes from some Module:handle_event/4 +%% function so we cannot assume it is correct, and a type checker +%% cannot make the connection between such an external function +%% and this type anyway... +-type handle_event_fun() :: + fun (('enter' | event_type(), + (OldState :: state()) | event_content(), + CurrentState :: state(), + data()) -> term()). %% Clean up before the server terminates. -callback terminate( @@ -410,6 +426,15 @@ ]). +%% Helper function for #params.callback_mode, that caches callback_mode() +-compile({inline, [params_callback_mode/2]}). +params_callback_mode(CallbackMode, Modules) -> + case CallbackMode of + state_functions -> CallbackMode; + handle_event_function -> + Module = hd(Modules), + fun Module:handle_event/4 +end. %% Type validation functions %% - return true if the value is of the type, false otherwise @@ -492,7 +517,8 @@ event_type(Type) -> end). -record(params, - {callback_mode = state_functions :: callback_mode(), + {callback_mode = state_functions :: + 'state_functions' | handle_event_fun(), state_enter = false :: boolean(), parent :: pid(), modules = [?MODULE] :: nonempty_list(module()), @@ -1375,8 +1401,8 @@ loop_state_callback( case CallbackMode of state_functions -> Module:State(Type, Content, Data); - handle_event_function -> - Module:handle_event(Type, Content, State, Data) + HandleEventFun when is_function(HandleEventFun, 4) -> + HandleEventFun(Type, Content, State, Data) end of Result -> @@ -2501,7 +2527,7 @@ callback_mode_result( true -> P#params{ modules = Modules, - callback_mode = CallbackMode, + callback_mode = params_callback_mode(CallbackMode, Modules), state_enter = StateEnter} end. diff --git a/lib/stdlib/src/io.erl b/lib/stdlib/src/io.erl index 067177155e37..2c3823bdc6ff 100644 --- a/lib/stdlib/src/io.erl +++ b/lib/stdlib/src/io.erl @@ -36,11 +36,15 @@ %% Implemented in native code -export([printable_range/0]). --export_type([device/0, format/0, server_no_data/0]). +-export_type([device/0, format/0, server_no_data/0, + standard_io/0, standard_error/0, user/0]). %%------------------------------------------------------------------------- --type device() :: atom() | pid(). +-type standard_io() :: standard_io. +-type standard_error() :: standard_error. +-type user() :: user. +-type device() :: atom() | pid() | standard_io() | standard_error() | user(). -type prompt() :: atom() | unicode:chardata(). %% ErrorDescription is whatever the I/O-server sends. diff --git a/lib/stdlib/src/io_lib.erl b/lib/stdlib/src/io_lib.erl index 5f45165968f2..87010361c050 100644 --- a/lib/stdlib/src/io_lib.erl +++ b/lib/stdlib/src/io_lib.erl @@ -809,41 +809,51 @@ collect_chars(Tag, Data, N) -> %% Now we are aware of encoding... collect_chars(start, Data, unicode, N) when is_binary(Data), is_integer(N) -> {Size,Npos} = count_and_find_utf8(Data,N), - if Size >= N -> + if Size > N -> {B1,B2} = split_binary(Data, Npos), {stop,B1,B2}; Size < N -> - {binary,[Data],N-Size} + {binary,[Data],N-Size}; + true -> + {stop,Data,<<>>} end; collect_chars(start, Data, latin1, N) when is_binary(Data), is_integer(N) -> Size = byte_size(Data), - if Size >= N -> + if Size > N -> {B1,B2} = split_binary(Data, N), {stop,B1,B2}; Size < N -> - {binary,[Data],N-Size} + {binary,[Data],N-Size}; + true -> + {stop,Data,<<>>} end; collect_chars(start,Data,_,N) when is_list(Data), is_integer(N) -> collect_chars_list([], N, Data); collect_chars(start, eof, _,_) -> {stop,eof,eof}; +collect_chars({binary,[<<>>],_N}, eof, _,_) -> + {stop,eof,eof}; collect_chars({binary,Stack,_N}, eof, _,_) -> {stop,binrev(Stack),eof}; collect_chars({binary,Stack,N}, Data,unicode, _) when is_integer(N) -> {Size,Npos} = count_and_find_utf8(Data,N), - if Size >= N -> + if Size > N -> {B1,B2} = split_binary(Data, Npos), {stop,binrev(Stack, [B1]),B2}; Size < N -> - {binary,[Data|Stack],N-Size} + {binary,[Data|Stack],N-Size}; + true -> + {stop,binrev(Stack, [Data]),<<>>} end; collect_chars({binary,Stack,N}, Data,latin1, _) when is_integer(N) -> Size = byte_size(Data), - if Size >= N -> + if Size > N -> {B1,B2} = split_binary(Data, N), {stop,binrev(Stack, [B1]),B2}; Size < N -> - {binary,[Data|Stack],N-Size} + {binary,[Data|Stack],N-Size}; + true -> + {stop,binrev(Stack, [Data]),<<>>} end; collect_chars({list,Stack,N}, Data, _,_) when is_integer(N) -> collect_chars_list(Stack, N, Data); @@ -871,6 +881,8 @@ collect_chars1(N, [], Stack) -> collect_chars_list(Stack, 0, Data) -> {stop,lists:reverse(Stack, []),Data}; +collect_chars_list([], _N, eof) -> + {stop,eof,eof}; collect_chars_list(Stack, _N, eof) -> {stop,lists:reverse(Stack, []),eof}; collect_chars_list(Stack, N, []) -> diff --git a/lib/stdlib/src/ms_transform.erl b/lib/stdlib/src/ms_transform.erl index 01496adb5508..8cd66d88441f 100644 --- a/lib/stdlib/src/ms_transform.erl +++ b/lib/stdlib/src/ms_transform.erl @@ -19,7 +19,7 @@ %% -module(ms_transform). --export([format_error/1,transform_from_shell/3, +-export([format_error/1,transform_from_shell/3,transform_from_shell/4, parse_transform/2,parse_transform_info/0]). %% Error codes. @@ -205,8 +205,22 @@ parse_transform_info() -> BoundEnvironment :: erl_eval:binding_struct(). transform_from_shell(Dialect, Clauses, BoundEnvironment) -> + transform_from_shell(Dialect, Clauses, BoundEnvironment, true). + +-spec transform_from_shell(Dialect, Clauses, BoundEnvironment, ShouldOptimise) -> term() when + Dialect :: ets | dbg, + Clauses :: [erl_parse:abstract_clause()], + BoundEnvironment :: erl_eval:binding_struct(), + ShouldOptimise :: boolean(). + +transform_from_shell(Dialect, Clauses, BoundEnvironment, ShouldOptimise) -> SaveFilename = setup_filename(), - case catch ms_clause_list(1,Clauses,Dialect,gb_sets:new()) of + MaybeOptimise = + case ShouldOptimise of + true -> fun optimise_ms/1; + false -> fun (MS) -> MS end + end, + case catch MaybeOptimise(ms_clause_list(1,Clauses,Dialect,gb_sets:new())) of {'EXIT',Reason} -> cleanup_filename(SaveFilename), exit(Reason); @@ -224,7 +238,7 @@ transform_from_shell(Dialect, Clauses, BoundEnvironment) -> Ret end end. - + %% %% Called when translating during compiling @@ -237,10 +251,10 @@ transform_from_shell(Dialect, Clauses, BoundEnvironment) -> Errors :: {error, ErrInfo :: [tuple()], WarnInfo :: []}, Warnings :: {warning, Forms2, WarnInfo :: [tuple()]}. -parse_transform(Forms, _Options) -> +parse_transform(Forms, Options) -> SaveFilename = setup_filename(), - %io:format("Forms: ~p~n",[Forms]), - case catch forms(Forms) of + ShouldOptimise = not proplists:get_bool(no_optimise_fun2ms, Options), + case catch forms(Forms, ShouldOptimise) of {'EXIT',Reason} -> cleanup_filename(SaveFilename), exit(Reason); @@ -248,7 +262,6 @@ parse_transform(Forms, _Options) -> {error, [{cleanup_filename(SaveFilename), [{location(AnnoOrUnknown), ?MODULE, R}]}], []}; Else -> - %io:format("Transformed into: ~p~n",[Else]), case get_warnings() of [] -> cleanup_filename(SaveFilename), @@ -345,10 +358,10 @@ record_field({record_field,_,{atom,_,FieldName},Def}, C) -> record_field({typed_record_field,Field,_Type}, C) -> record_field(Field, C). -forms(Forms0) -> +forms(Forms0, ShouldOptimise) -> put(records_replaced_by_tuples, []), try - Forms = [form(F) || F <- Forms0], + Forms = [form(F, ShouldOptimise) || F <- Forms0], %% Add `-compile({nowarn_unused_record, RecordNames}).', where %% RecordNames is the names of all records replaced by tuples, %% in order to silence the code linter's warnings about unused @@ -364,96 +377,790 @@ forms(Forms0) -> erase(records_replaced_by_tuples) end. -form({attribute,_,file,{Filename,_}}=Form) -> +form({attribute,_,file,{Filename,_}}=Form, _) -> put_filename(Filename), Form; -form({attribute,_,record,Definition}=Form) -> +form({attribute,_,record,Definition}=Form, _) -> add_record_definition(Definition), Form; -form({function,Anno,Name0,Arity0,Clauses0}) -> - {Name,Arity,Clauses} = function(Name0, Arity0, Clauses0), +form({function,Anno,Name0,Arity0,Clauses0}, ShouldOptimise) -> + {Name,Arity,Clauses} = function(Name0, Arity0, Clauses0, ShouldOptimise), {function,Anno,Name,Arity,Clauses}; -form(AnyOther) -> +form(AnyOther, _) -> AnyOther. -function(Name, Arity, Clauses0) -> - Clauses1 = clauses(Clauses0), +function(Name, Arity, Clauses0, ShouldOptimise) -> + Clauses1 = clauses(Clauses0, ShouldOptimise), {Name,Arity,Clauses1}. -clauses([C0|Cs]) -> - C1 = clause(C0,gb_sets:new()), - C2 = clauses(Cs), +clauses([C0|Cs], ShouldOptimise) -> + C1 = clause(C0,gb_sets:new(), ShouldOptimise), + C2 = clauses(Cs, ShouldOptimise), [C1|C2]; -clauses([]) -> []. +clauses([],_) -> []. -clause({clause,Anno,H0,G0,B0},Bound) -> - {H1,Bound1} = copy(H0,Bound), - {B1,_Bound2} = copy(B0,Bound1), +clause({clause,Anno,H0,G0,B0},Bound, ShouldOptimise) -> + {H1,Bound1} = copy(H0,Bound, ShouldOptimise), + {B1,_Bound2} = copy(B0,Bound1, ShouldOptimise), {clause,Anno,H1,G0,B1}. copy({call,Anno,{remote,_Anno2,{atom,_Anno3,ets},{atom,_Anno4,fun2ms}}, - As0},Bound) -> - {transform_call(ets,Anno,As0,Bound),Bound}; + As0},Bound, ShouldOptimise) -> + {transform_call(ets,Anno,As0,Bound,ShouldOptimise),Bound}; copy({call,Anno,{remote,_Anno2,{atom,_Anno3,dbg},{atom,_Anno4,fun2ms}}, - As0},Bound) -> - {transform_call(dbg,Anno,As0,Bound),Bound}; -copy({match,Anno,A,B},Bound) -> - {B1,Bound1} = copy(B,Bound), - {A1,Bound2} = copy(A,Bound), + As0},Bound, ShouldOptimise) -> + {transform_call(dbg,Anno,As0,Bound,ShouldOptimise),Bound}; +copy({match,Anno,A,B},Bound,ShouldOptimise) -> + {B1,Bound1} = copy(B,Bound,ShouldOptimise), + {A1,Bound2} = copy(A,Bound,ShouldOptimise), {{match,Anno,A1,B1},gb_sets:union(Bound1,Bound2)}; -copy({var,_Anno,'_'} = VarDef,Bound) -> +copy({var,_Anno,'_'} = VarDef,Bound,_) -> {VarDef,Bound}; -copy({var,_Anno,Name} = VarDef,Bound) -> +copy({var,_Anno,Name} = VarDef,Bound,_) -> Bound1 = gb_sets:add(Name,Bound), {VarDef,Bound1}; -copy({'fun',Anno,{clauses,Clauses}},Bound) -> % Dont export bindings from funs - {NewClauses,_IgnoredBindings} = copy_list(Clauses,Bound), +copy({'fun',Anno,{clauses,Clauses}},Bound,ShouldOptimise) -> % Dont export bindings from funs + {NewClauses,_IgnoredBindings} = copy_list(Clauses,Bound,ShouldOptimise), {{'fun',Anno,{clauses,NewClauses}},Bound}; -copy({named_fun,Anno,Name,Clauses},Bound) -> % Dont export bindings from funs +copy({named_fun,Anno,Name,Clauses},Bound,ShouldOptimise) -> % Dont export bindings from funs Bound1 = case Name of '_' -> Bound; Name -> gb_sets:add(Name,Bound) end, - {NewClauses,_IgnoredBindings} = copy_list(Clauses,Bound1), + {NewClauses,_IgnoredBindings} = copy_list(Clauses,Bound1,ShouldOptimise), {{named_fun,Anno,Name,NewClauses},Bound}; -copy({'case',Anno,Of,ClausesList},Bound) -> % Dont export bindings from funs - {NewOf,NewBind0} = copy(Of,Bound), - {NewClausesList,NewBindings} = copy_case_clauses(ClausesList,NewBind0,[]), +copy({'case',Anno,Of,ClausesList},Bound,ShouldOptimise) -> % Dont export bindings from funs + {NewOf,NewBind0} = copy(Of,Bound,ShouldOptimise), + {NewClausesList,NewBindings} = copy_case_clauses(ClausesList,NewBind0,[],ShouldOptimise), {{'case',Anno,NewOf,NewClausesList},NewBindings}; -copy(T,Bound) when is_tuple(T) -> - {L,Bound1} = copy_list(tuple_to_list(T),Bound), +copy(T,Bound,ShouldOptimise) when is_tuple(T) -> + {L,Bound1} = copy_list(tuple_to_list(T),Bound,ShouldOptimise), {list_to_tuple(L),Bound1}; -copy(L,Bound) when is_list(L) -> - copy_list(L,Bound); -copy(AnyOther,Bound) -> +copy(L,Bound,ShouldOptimise) when is_list(L) -> + copy_list(L,Bound,ShouldOptimise); +copy(AnyOther,Bound,_) -> {AnyOther,Bound}. -copy_case_clauses([],Bound,AddSets) -> +copy_case_clauses([],Bound,AddSets,_) -> ReallyAdded = gb_sets:intersection(AddSets), {[],gb_sets:union(Bound,ReallyAdded)}; -copy_case_clauses([{clause,Anno,Match,Guard,Clauses}|T],Bound,AddSets) -> - {NewMatch,MatchBinds} = copy(Match,Bound), - {NewGuard,GuardBinds} = copy(Guard,MatchBinds), %% Really no new binds - {NewClauses,AllBinds} = copy(Clauses,GuardBinds), +copy_case_clauses([{clause,Anno,Match,Guard,Clauses}|T],Bound,AddSets,ShouldOptimise) -> + {NewMatch,MatchBinds} = copy(Match,Bound,ShouldOptimise), + {NewGuard,GuardBinds} = copy(Guard,MatchBinds,ShouldOptimise), %% Really no new binds + {NewClauses,AllBinds} = copy(Clauses,GuardBinds,ShouldOptimise), %% To limit the setsizes, I subtract what I had before the case clause %% and add it in the end AddedBinds = gb_sets:subtract(AllBinds,Bound), {NewTail,ExportedBindings} = - copy_case_clauses(T,Bound,[AddedBinds | AddSets]), + copy_case_clauses(T,Bound,[AddedBinds | AddSets],ShouldOptimise), {[{clause,Anno,NewMatch,NewGuard,NewClauses}|NewTail],ExportedBindings}. -copy_list([H|T],Bound) -> - {C1,Bound1} = copy(H,Bound), - {C2,Bound2} = copy_list(T,Bound1), +copy_list([H|T],Bound,ShouldOptimise) -> + {C1,Bound1} = copy(H,Bound,ShouldOptimise), + {C2,Bound2} = copy_list(T,Bound1,ShouldOptimise), {[C1|C2],Bound2}; -copy_list([],Bound) -> +copy_list([],Bound,_) -> {[],Bound}. -transform_call(Type,_Anno,[{'fun',Anno2,{clauses, ClauseList}}],Bound) -> - ms_clause_list(Anno2, ClauseList,Type,Bound); -transform_call(_Type,Anno,_NoAbstractFun,_) -> +transform_call(Type,_Anno,[{'fun',Anno2,{clauses, ClauseList}}],Bound,ShouldOptimise) -> + Ms = ms_clause_list(Anno2, ClauseList,Type,Bound), + case ShouldOptimise of + true -> optimise_ms(Ms); + false -> Ms + end; +transform_call(_Type,Anno,_NoAbstractFun,_,_) -> throw({error,Anno,?ERR_NOFUN}). +% Multiple semicolon-separated clauses in the function given to ets:fun2ms +% results in an ETS head-guard-body-triple match spec per clause. We iterate +% through those clauses here. +optimise_ms({cons, _Anno, Tuple, Tail}=Unopt) -> + % One clause may be expanded to many clauses to make applying the optimisation + % simplier + Clauses = optimise_ms_clause(Tuple), + try + Compound = + lists:foldr( + fun + AppendOrMerge( + {cons, Anno2, + {tuple, Anno3, [MSHead1, MSGuards1, MSBody1]}=MoreClause, MoreTail}, + {cons, _, + {tuple, _, [MSHead2, MSGuards2, MSBody2]}, + AccTail}=Acc) -> + % Multiple clauses with equivalent heads and bodies can be merged + % for compactness and performance reasons + case equiv(MSHead1, MSHead2) andalso equiv(MSBody1, MSBody2) of + true -> + {cons, Anno2, + {tuple, Anno3, [MSHead1, merge_guards(MSGuards1, MSGuards2), MSBody1]}, + AppendOrMerge(MoreTail, AccTail)}; + false -> + {cons, Anno2, MoreClause, AppendOrMerge(MoreTail, Acc)} + end; + AppendOrMerge({cons, Anno2, MoreClause, MoreTail}, Acc) -> + {cons, Anno2, MoreClause, AppendOrMerge(MoreTail, Acc)}; + AppendOrMerge({nil, _}, Acc) -> + Acc + end, + optimise_ms(Tail), + Clauses + ), + Compound + catch _:_:_ -> + Unopt + end; +optimise_ms({nil, _}=Nil) -> + Nil. + +merge_guards(Guards1, Guards2) -> + disj(conj_list(Guards1), conj_list(Guards2)). + +conj_list(Guards) -> + case as_list(Guards) of + [] -> none; + [G] -> {ok, G}; + [_|_] = Gs -> {ok, {tuple, gen_loc(), [{atom, gen_loc(), 'andalso'} | Gs]}} + end. + +disj(none, none) -> + {nil, gen_loc()}; +disj({ok, Guard1}, none) -> + {cons, gen_loc(), Guard1, {nil, gen_loc()}}; +disj(none, {ok, Guard2}) -> + {cons, gen_loc(), Guard2, {nil, gen_loc()}}; +disj({ok, Guard1}, {ok, Guard2}) -> + OrElse = {tuple, gen_loc(), [{atom, gen_loc(), 'orelse'}, Guard1, Guard2]}, + {cons, gen_loc(), OrElse, {nil, gen_loc()}}. + +as_list({cons, _Anno, Head, Tail}) -> + [Head | as_list(Tail)]; +as_list({nil, _}) -> + []. + +equiv({atom,_,Val}, {atom,_,Val}) -> + true; +equiv({char,_,Val}, {char,_,Val}) -> + true; +equiv({integer,_,Val}, {integer,_,Val}) -> + true; +equiv({string,_,Val}, {string,_,Val}) -> + true; +equiv({float,_,Val}, {float,_,Val}) -> + true; +equiv({nil,_}, {nil,_}) -> + true; +equiv({cons,_,Head1,Tail1}, {cons,_,Head2,Tail2}) -> + equiv(Head1,Head2) andalso equiv(Tail1, Tail2); +equiv({tuple,_,Elems1}, {tuple,_,Elems2}) -> + equiv_list(Elems1, Elems2); +equiv({bin,_,Elems1}, {bin,_,Elems2}) -> + equiv_list(Elems1, Elems2); +equiv({bin_element,_,Elem1,S,T}, {bin_element,_,Elem2,S,T}) -> + equiv(Elem1, Elem2); +equiv(_, _) -> false. + +equiv_list(Elems1, Elems2) -> + lists:all( + fun ({Elem1, Elem2}) -> + equiv(Elem1,Elem2) + end, + lists:zip(Elems1,Elems2) + ). + +% We simplify match functions with multiple alternative conditions +% into multiple separate match functions which can be optimised +% independently +optimise_ms_clause({tuple, Anno, [MSHead, MSGuards, MSBody]}=Unoptimised) -> + MSGuardAlternatives = split_alternatives_list(MSGuards), + try [optimise_ms_clause_alternative( + {cons, Anno, + {tuple, Anno, [MSHead, AltGuards, MSBody]}, + {nil, Anno}}) + || AltGuards <- MSGuardAlternatives] of + NewClauses -> NewClauses + catch + throw:{unoptimisable_operation, _Operation} -> + [{cons, Anno, Unoptimised, {nil, Anno}}]; + _:Err:_ -> + error(Err) + end. + +optimise_ms_clause_alternative( + {cons, Anno1, + {tuple, Anno2, [MSHead, MSGuards, MSBody]}, + {nil, Anno3}}) -> + {ColumnsToSubstitute1,NewGuards1} = find_substitutable_columns_list(MSGuards), + % Gracefully handle contradictive cases such as (X =:= 1) and (X =:= 2) + % by reducing the guard to just 'false' + ConflictingColumns = + maps:filter( + fun (_Column, AllSubstitutionsForColumn) -> + AllLiteralSubstitutionsForColumn = + % (K1 =:= K2) andalso (K1 =:= K3) doesn't imply a contradiction, + % since despite the names being different, their bound values + % may be the same at runtime + [ S || S <- AllSubstitutionsForColumn, not is_column_ref(S)], + erlang:length(lists:uniq(AllLiteralSubstitutionsForColumn)) > 1 end, + maps:groups_from_list( + fun ({{atom,_,Col},_Subs}) -> Col end, + fun ({_Col,Subs}) -> Subs end, + ColumnsToSubstitute1) + ), + {ColumnsToSubstitute2,NewGuards2} = + case maps:size(ConflictingColumns) of + % lists:uniq to remove duplicates, e.g. when the guards contains + % `(X =:= 1) and (X =:= 1)` + 0 -> {lists:uniq(ColumnsToSubstitute1),NewGuards1}; + _ -> {[], {cons, Anno2, {atom,Anno2,false}, {nil, Anno2}}} + end, + ColumnsToSubstitute3 = set_substitution_precedence(ColumnsToSubstitute2), + NewGuards3 = substitute_promotions_in_guards(ColumnsToSubstitute3, NewGuards2), + NewGuards4 = remove_const_true_guards(NewGuards3), + NewHead = substitute_columns(ColumnsToSubstitute3, MSHead), + NewBody = simplify_bodies(substitute_columns(ColumnsToSubstitute3, MSBody)), + {cons, Anno1, {tuple, Anno2, [NewHead,NewGuards4,NewBody]}, {nil, Anno3}}. + +split_alternatives_list({cons, Anno1, Expr, {nil,Anno2}}) -> + [ {cons, Anno1, Alt, {nil,Anno2}} || Alt <- split_alternatives_expr(Expr)]; +split_alternatives_list(Unsplittable) -> + [Unsplittable]. + +split_alternatives_expr({tuple, _Anno2, [{atom, _Anno3, 'or'}, Operand1, Operand2]}) -> + split_alternatives_expr(Operand1) ++ split_alternatives_expr(Operand2); +split_alternatives_expr({tuple, _Anno2, [{atom, _Anno3, 'orelse'}, Operand1, Operand2]}) -> + split_alternatives_expr(Operand1) ++ split_alternatives_expr(Operand2); +split_alternatives_expr(Expr) -> + [Expr]. + +% If we have ($1 =:= foo) and ($1 =:= $2) and ($3 =:= $2), +% inline all of those columns to just be the value foo +% once all substitutions are applied +set_substitution_precedence(ColumnsToSubstitutions) -> + % When both the key and the column are a column reference, + % and neither has a literal substitution, canonicalise them into the column + % with the lower index to deterministically pick the new column index to use + % for all equal values + {ColumnEqualities, OtherEqualities} = + lists:partition(fun + ({K,V}) -> is_column_ref(K) andalso is_column_ref(V); + (_) -> false + end, + ColumnsToSubstitutions + ), + LookupSubstitution = + fun + L({atom,_,Column}, [{{atom,_,Column}, Value} | _Tail ]) -> + {value, Value}; + L(Needle, [_| Tail ]) -> + L(Needle, Tail); + L(_Needle, []) -> + false + end, + Canonicalise = + fun (Substitutions) -> + lists:sort( + fun + ({{atom,_,Before},{atom,_,After1}},{{atom,_,Before},{atom,_,After2}}) -> + After1 < After2; + ({{atom,_,Before1},{atom,_,_}},{{atom,_,Before2},{atom,_,_}}) -> + Before1 < Before2 + end, + [ case {get_column_index(Col1), get_column_index(Col2)} of + {{value, Col1Index},{value, Col2Index}} when Col1Index =< Col2Index -> + {Col2,Col1}; + _ -> + {Col1,Col2} + end + || {Col1={atom,_,Col1Idx},Col2={atom,_,Col2Idx}} <- Substitutions + % If we have something like ($1 =:= $1), we can eliminate that + % redundant substitution + , (Col1Idx =/= Col2Idx) + ] + ) + end, + Unify = + fun + U([{BeforeCol,AfterCol}|Tail], OtherSubstitutions) -> + case LookupSubstitution(BeforeCol, OtherSubstitutions) of + {value, SubsForBeforeCol} -> + U(Tail, [{AfterCol,SubsForBeforeCol}|OtherSubstitutions]); + false -> + U(Tail, [{BeforeCol,AfterCol}|OtherSubstitutions]) + end; + U([], OtherSubstitutions) -> + OtherSubstitutions + end, + Unify( + Canonicalise(ColumnEqualities), + OtherEqualities + ). + +remove_const_true_guards({nil, _}=Nil) -> + Nil; +remove_const_true_guards({cons, _, {atom,_,true}, Tail}) -> + remove_const_true_guards(Tail); +remove_const_true_guards({cons, Anno, Head, Tail}) -> + {cons, Anno, Head, remove_const_true_guards(Tail)}. + +substitute_columns([{{atom,_,Key},Value}|MorePromotions], {atom,_,Key}) -> + % Keep replacing until we run out of replacements in case we have + % a chain of equalities such as (X =:= Y), (Y =:= Z), (Z =:= foo), + % so that we end up substituting foo in place of X + substitute_columns(MorePromotions, Value); +substitute_columns([{{atom,_,_},_}|MorePromotions], {atom,_,_}=Guard) -> + substitute_columns(MorePromotions, Guard) ; +substitute_columns(Promotions, {cons, Anno, Guard, MoreGuards}) -> + {cons, + Anno, + substitute_columns(Promotions, Guard), + substitute_columns(Promotions, MoreGuards)}; +substitute_columns(Promotions, {tuple,Anno,Elems}) -> + {tuple, Anno, [substitute_columns(Promotions, Elem) || Elem <- Elems]}; +substitute_columns(Promotions, {map, Anno, Assocs}) -> + {map, Anno, [substitute_columns(Promotions, Assoc) || Assoc <- Assocs]}; +substitute_columns(Promotions, {map_field_assoc,Anno,NField,NValue}) -> + {map_field_assoc, + Anno, + substitute_columns(Promotions, NField), + substitute_columns(Promotions, NValue)}; +substitute_columns(_, Other) -> + Other. + +-define(ATOM_LIT_EQ_KV_VK_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {atom,_,_}=Value, {atom,_,_}=Key]}). +-define(CHAR_LIT_EQ_KV_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {char,_,_}=Value, {atom,_,_}=Key]}). +-define(INTEGER_LIT_EQ_KV_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {integer,_,_}=Value, {atom,_,_}=Key]}). +-define(NIL_LIT_EQ_KV_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {nil, _}=Value, {atom,_,_}=Key]}). +-define(STRING_LIT_EQ_KV_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {string,_,_}=Value, {atom,_,_}=Key]}). +-define(TUPLE_LIT_EQ_KV_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {tuple,_,_}=Value, {atom,_,_}=Key]}). +-define(CONS_LIT_EQ_KV_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {cons,_,_,_}=Value, {atom,_,_}=Key]}). +-define(BIN_LIT_EQ_KV_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {bin,_,_}=Value, {atom,_,_}=Key]}). +-define(MAP_LIT_EQ_KV_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {map,_,_}=Value, {atom,_,_}=Key]}). +-define(CHAR_LIT_EQ_VK_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {atom,_,_}=Key, {char,_,_}=Value]}). +-define(INTEGER_LIT_EQ_VK_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {atom,_,_}=Key, {integer,_,_}=Value]}). +-define(NIL_LIT_EQ_VK_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {atom,_,_}=Key, {nil, _}=Value]}). +-define(STRING_LIT_EQ_VK_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {atom,_,_}=Key, {string,_,_}=Value]}). +-define(TUPLE_LIT_EQ_VK_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {atom,_,_}=Key, {tuple,_,_}=Value]}). +-define(CONS_LIT_EQ_VK_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {atom,_,_}=Key, {cons,_,_,_}=Value]}). +-define(BIN_LIT_EQ_VK_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {atom,_,_}=Key, {bin,_,_}=Value]}). +-define(MAP_LIT_EQ_VK_CANDIDATE, + {tuple, _Anno2, [{atom, _Anno3, '=:='}, {atom,_,_}=Key, {map,_,_}=Value]}). + +-define(VAR_EQ_KV, + {tuple, _Anno2, + [{atom, _Anno3, '=:='}, {atom,_,_}=Key, {var,_,_}=Value]}). +-define(VAR_EQ_VK, + {tuple, _Anno2, + [{atom, _Anno3, '=:='}, + {var,_,_}=Value, + {atom,_,_}=Key]}). +-define(VAR_EQ_KV_CONST, + {tuple, _Anno2, + [{atom, _Anno3, '=:='}, + {atom,_,_}=Key, + {tuple,_Anno4,[{atom, _Anno5, const}, {var,_,_}=Value]}]}). +-define(VAR_EQ_VK_CONST, + {tuple, _Anno2, + [{atom, _Anno3, '=:='}, + {tuple,_Anno4, + [{atom, _Anno5, const},{var,_,_}=Value]},{atom,_,_}=Key]}). + +% Special atoms of the form `$` refer to columns we are to match against +% rather than normal atom values +is_column_ref(Val) -> + case get_column_index(Val) of + {value,_} -> true; + false -> false + end. + +get_column_index({atom,_,Key}) -> + case atom_to_list(Key) of + [$$|MaybeIndex] -> + case string:to_integer(MaybeIndex) of + {ColIndex, ""} -> {value, ColIndex}; + _ -> false + end; + _ -> false + end; +get_column_index(_) -> + false. + +extract_literal_column_guard(Key, Value, OriginalGuard) -> + case is_column_ref(Key) of + true -> + {[{Key,Value}],{atom, undefined, true}}; + false -> + {[], OriginalGuard} + end. + +% Applicable when there's a `=:=` guard that could be promoted to a pattern +find_substitutable_columns((?VAR_EQ_KV)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns((?VAR_EQ_VK)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns((?VAR_EQ_KV_CONST)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns((?VAR_EQ_VK_CONST)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns((?ATOM_LIT_EQ_KV_VK_CANDIDATE)=Guard) -> + case is_column_ref(Key) of + true -> extract_literal_column_guard(Key, Value, Guard); + false -> extract_literal_column_guard(Value, Key, Guard) + end; +find_substitutable_columns((?CHAR_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?INTEGER_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?NIL_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?STRING_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?TUPLE_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?CONS_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?BIN_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?MAP_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?CHAR_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?INTEGER_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?NIL_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?STRING_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?TUPLE_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?CONS_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?BIN_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns((?MAP_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_literal_column_guard(Key, Value, Guard); +find_substitutable_columns({tuple, _, [{atom, _Anno3, 'andalso'}, _, _]}=Op) -> + find_substitutable_columns_expr(Op); +find_substitutable_columns({tuple, _, [{atom, _Anno3, 'and'}, _, _]}=Op) -> + find_substitutable_columns_expr(Op); +find_substitutable_columns({tuple, _, [{atom, _Anno3, 'or'}, _, _]}=Op) -> + throw({unoptimisable_operation, Op}); +find_substitutable_columns({tuple, _, [{atom, _Anno3, 'orelse'}, _, _]}=Op) -> + throw({unoptimisable_operation, Op}); +find_substitutable_columns({tuple, _, [{atom, _Anno3, 'xor'}, _, _]}=Op) -> + throw({unoptimisable_operation, Op}); +find_substitutable_columns({tuple, _, [{atom, _Anno3, 'not'}, _]}=Op) -> + throw({unoptimisable_operation, Op}); +find_substitutable_columns(Other) -> + {[], Other}. + + +find_substitutable_columns_list({cons, Anno, Guard, MoreGuards}) -> + {Promotable, Remaining} = find_substitutable_columns(Guard), + {PromotableMore, RemainingMore} = find_substitutable_columns_list(MoreGuards), + {Promotable ++ PromotableMore, {cons, Anno, Remaining, RemainingMore}}; +find_substitutable_columns_list({nil, _Anno}=Nil) -> + {[], Nil}. + +simplify_bodies({cons, Anno, Body, MoreBodies}) -> + {cons, Anno, simplify_body_expr(Body), simplify_bodies(MoreBodies)}; +simplify_bodies({nil, _Anno}=Nil) -> + Nil. + +% e.g. is_record/3 +simplify_body_expr({tuple, _, [{atom, _, Operator}, Operand1, Operand2, Operand3]}) -> + SimplifiedOperand1 = simplify_body_expr(Operand1), + SimplifiedOperand2 = simplify_body_expr(Operand2), + SimplifiedOperand3 = simplify_body_expr(Operand3), + simplify_guard_function( + Operator, + SimplifiedOperand1, + SimplifiedOperand2, + SimplifiedOperand3); +% e.g. is_function/2, '>', etc. +simplify_body_expr({tuple, _, [{atom, _, Operator}, Operand1, Operand2]}) -> + SimplifiedOperand1 = simplify_body_expr(Operand1), + SimplifiedOperand2 = simplify_body_expr(Operand2), + simplify_guard_function(Operator, SimplifiedOperand1, SimplifiedOperand2); +% e.g. not/1, is_integer/1, etc. +simplify_body_expr({tuple, _, [{atom, _, Operator}, Operand]}) -> + SimplifiedOperand = simplify_body_expr(Operand), + simplify_guard_function(Operator, SimplifiedOperand); +% Tuple values need to be escaped by being double-wrapped in curly braces +simplify_body_expr({tuple, Anno1, [{tuple, Anno2, Elems}]}) -> + SimplifiedElems = [ simplify_body_expr(Elem) || Elem <- Elems ], + {tuple, Anno1, [{tuple, Anno2, SimplifiedElems}]}; +simplify_body_expr({cons, Anno, Head, Tail}) -> + {cons, Anno, simplify_body_expr(Head), simplify_body_expr(Tail)}; +% e.g. '$1', [] +simplify_body_expr(Other) -> + Other. + +% If we inline guards such as `X =:= 1` into the pattern `$1` to get the +% pattern `1`, then `$1` will not be bound elsewhere in the guards. Typically, +% this doesn't occur, since equality constraints such as `X =:= 1` are +% already as specific as a guard can be, so subsequent guards that reference +% `X` tend to be redundant (e.g. `X > 0`), or a contradiction (e.g. `X =:= 2`). +% Here, we substitute in the value for the variable we have, then partially +% evaluate the result to simplify it. +substitute_promotions_in_guards(Promotions, {cons, Anno, Guard, MoreGuards}) -> + SubstitutedGuard = substitute_promotions_in_guards_expr(Promotions, Guard), + SubstitutedMore = substitute_promotions_in_guards(Promotions, MoreGuards), + {cons, Anno, SubstitutedGuard, SubstitutedMore}; +substitute_promotions_in_guards(_Promotions, {nil, _Anno}=Nil) -> + Nil. + +% e.g. is_record/3 +substitute_promotions_in_guards_expr( + Promotions, + {tuple, _, [{atom, _, Operator}, Operand1, Operand2, Operand3]}) -> + RemainingOperand1 = substitute_promotions_in_guards_expr(Promotions, Operand1), + RemainingOperand2 = substitute_promotions_in_guards_expr(Promotions, Operand2), + RemainingOperand3 = substitute_promotions_in_guards_expr(Promotions, Operand3), + simplify_guard_function( + Operator, + RemainingOperand1, + RemainingOperand2, + RemainingOperand3); +% e.g. is_function/2, '>', etc. +substitute_promotions_in_guards_expr( + Promotions, + {tuple, _, [{atom, _, Operator}, Operand1, Operand2]}) -> + RemainingOperand1 = substitute_promotions_in_guards_expr(Promotions, Operand1), + RemainingOperand2 = substitute_promotions_in_guards_expr(Promotions, Operand2), + simplify_guard_function(Operator, RemainingOperand1, RemainingOperand2); +% e.g. not/1, is_integer/1, etc. +substitute_promotions_in_guards_expr( + Promotions, + {tuple, _, [{atom, _, Operator}, Operand]}) -> + RemainingOperand = substitute_promotions_in_guards_expr(Promotions, Operand), + simplify_guard_function(Operator, RemainingOperand); +% e.g. '$1' +substitute_promotions_in_guards_expr(Promotions, {atom,_,AtomInGuard}=Expr) -> + case is_column_ref(Expr) of + true -> + Search = + lists:search(fun ({{atom,_,PromotionColumnName},_PromotionValue}) -> + PromotionColumnName =:= AtomInGuard + end, + Promotions), + case Search of + {value, {_ColumnKey, SubstitutedValue}} -> SubstitutedValue; + false -> Expr + end; + false -> + Expr + end; +substitute_promotions_in_guards_expr(_Promotions, Other) -> + Other. + +% Once we've inlined a column value (e.g. '$1' is replaced with 4, because we +% saw `$1 =:= 4`), % there may be some easy further simplifiations we can make, +% such as: +% {'>', $1, 2} +% substituted: +% {'>', 4, 2} +% simplified: +% true +% +% Notably, this function doesn't claim to exhaustively +% partially evaluate guards, and we can't use erl_eval:partial_eval +% because we have match spec guards, which aren't normal erlang expressions +simplify_guard_function(is_atom, {atom,_,_}=Val) -> + case is_column_ref(Val) of + false -> {atom, gen_loc(), true}; + true -> {tuple, gen_loc(), [{atom, gen_loc(), is_atom}, Val]} + end; +simplify_guard_function(is_float, {float,_,_}) -> + {atom,gen_loc(),true}; +simplify_guard_function(is_number, {float,_,_}) -> + {atom,gen_loc(),true}; +simplify_guard_function(is_number, {integer,_,_}) -> + {atom,gen_loc(),true}; +simplify_guard_function(is_integer, {integer,_,_}) -> + {atom,gen_loc(),true}; +simplify_guard_function(is_tuple, {tuple,_,_}) -> + {atom,gen_loc(),true}; +simplify_guard_function(is_binary, {bin, _, _}) -> + {atom,gen_loc(),true}; +simplify_guard_function('not', {atom, _, X}) when is_boolean(X) -> + {atom,gen_loc(), not X}; +simplify_guard_function(Op, Operand) -> + {tuple, gen_loc(), [{atom, gen_loc(), Op}, Operand]}. + +simplify_guard_function('>', {integer, _, X}, {integer, _, Y}) -> + {atom,gen_loc(),X > Y}; +simplify_guard_function('>', {float, _, X}, {float, _, Y}) -> + {atom,gen_loc(),X > Y}; +simplify_guard_function('>=', {integer, _, X}, {integer, _, Y}) -> + {atom,gen_loc(),X >= Y}; +simplify_guard_function('>=', {float, _, X}, {float, _, Y}) -> + {atom,gen_loc(),X >= Y}; +simplify_guard_function('<', {integer, _, X}, {integer, _, Y}) -> + {atom,gen_loc(),X < Y}; +simplify_guard_function('<', {float, _, X}, {float, _, Y}) -> + {atom,gen_loc(),X < Y}; +simplify_guard_function('=<', {integer, _, X}, {integer, _, Y}) -> + {atom,gen_loc(),X =< Y}; +simplify_guard_function('=<', {float, _, X}, {float, _, Y}) -> + {atom,gen_loc(),X =< Y}; +simplify_guard_function('=:=', {integer, _, X}, {integer, _, Y}) -> + {atom,gen_loc(),X =:= Y}; +simplify_guard_function('=:=', {float, _, X}, {float, _, Y}) -> + {atom,gen_loc(),X =:= Y}; +simplify_guard_function('=/=', {integer, _, X}, {integer, _, Y}) -> + {atom,gen_loc(),X =/= Y}; +simplify_guard_function('=/=', {float, _, X}, {float, _, Y}) -> + {atom,gen_loc(),X =/= Y}; +simplify_guard_function('and', {atom, _, X}, {atom, _, Y}) when is_boolean(X), is_boolean(Y) -> + {atom,gen_loc(),X and Y}; +simplify_guard_function('or', {atom, _, X}, {atom, _, Y}) when is_boolean(X), is_boolean(Y) -> + {atom,gen_loc(),X or Y}; +simplify_guard_function('andalso', {atom, _, X}, {atom, _, Y}) when is_boolean(X), is_boolean(Y) -> + {atom,gen_loc(),X andalso Y}; +simplify_guard_function('orelse', {atom, _, X}, {atom, _, Y}) when is_boolean(X), is_boolean(Y) -> + {atom,gen_loc(),X orelse Y}; +simplify_guard_function('xor', {atom, _, X}, {atom, _, Y}) when is_boolean(X), is_boolean(Y) -> + {atom,gen_loc(),X xor Y}; + +simplify_guard_function('+', {integer, _, X}, {integer, _, Y}) -> + {integer,gen_loc(), X+Y}; +simplify_guard_function('+', {float, _, X}, {float, _, Y}) -> + {float,gen_loc(), X+Y}; +simplify_guard_function('-', {integer, _, X}, {integer, _, Y}) -> + {integer,gen_loc(), X-Y}; +simplify_guard_function('-', {float, _, X}, {float, _, Y}) -> + {float,gen_loc(), X-Y}; +simplify_guard_function('*', {integer, _, X}, {integer, _, Y}) -> + {integer,gen_loc(), X*Y}; +simplify_guard_function('*', {float, _, X}, {float, _, Y}) -> + {float,gen_loc(), X*Y}; +simplify_guard_function('/', {integer, _, X}, {integer, _, Y}) -> + {float,gen_loc(), X/Y}; +simplify_guard_function('/', {float, _, X}, {float, _, Y}) -> + {float,gen_loc(), X/Y}; +simplify_guard_function('div', {integer, _, X}, {integer, _, Y}) -> + {integer,gen_loc(), X div Y}; +simplify_guard_function('rem', {integer, _, X}, {integer, _, Y}) -> + {integer,gen_loc(), X div Y}; + +simplify_guard_function(Op, Operand1, Operand2) -> + {tuple, gen_loc(), [{atom, gen_loc(), Op}, Operand1, Operand2]}. + +simplify_guard_function(Op, Operand1, Operand2, Operand3) -> + {tuple, gen_loc(), [{atom, gen_loc(), Op}, Operand1, Operand2, Operand3]}. + +extract_column_guard_expr(Key, Value, OriginalGuard) -> + case is_column_ref(Key) of + true -> + {[{Key,Value}], {atom, gen_loc(), true}}; + false -> + {[], OriginalGuard} + end. + +extract_variable_column_guard_expr(Key, Value, OriginalGuard) -> + case is_column_ref(Key) of + true -> + NewGuard = {atom,gen_loc(),true}, + {[{Key,Value}], NewGuard}; + false -> + {[], OriginalGuard} + end. + +% In the case of conjunctions, such as `X andalso Y`, we can continue +% searching for usages of `=:=`, simplifying the remaining expression as we go +find_substitutable_columns_expr((?VAR_EQ_KV)=Guard) -> + extract_variable_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?VAR_EQ_VK)=Guard) -> + extract_variable_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?ATOM_LIT_EQ_KV_VK_CANDIDATE)=Guard) -> + case is_column_ref(Key) of + true -> extract_column_guard_expr(Key, Value, Guard); + false -> extract_column_guard_expr(Value, Key, Guard) + end; +find_substitutable_columns_expr((?CHAR_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?INTEGER_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?NIL_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?STRING_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?TUPLE_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?CONS_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?BIN_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?MAP_LIT_EQ_KV_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?CHAR_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?INTEGER_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?NIL_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?STRING_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?TUPLE_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?CONS_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?BIN_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr((?MAP_LIT_EQ_VK_CANDIDATE)=Guard) -> + extract_column_guard_expr(Key, Value, Guard); +find_substitutable_columns_expr({tuple, Anno2, [{atom, Anno3, 'andalso'}, Left, Right]}) -> + {PromotableLeft, RemainingLeft} = find_substitutable_columns_expr(Left), + {PromotableRight, RemainingRight} = find_substitutable_columns_expr(Right), + Promotable = PromotableLeft ++ PromotableRight, + Remaining = + case {RemainingLeft, RemainingRight} of + {{atom, _, true},R} -> R; + {{tuple, _,[{atom, _, const}, {atom, _, true}]},R} -> R; + {L,{atom, _, true}} -> L; + {L,{tuple, _,[{atom, _, const}, {atom, _, true}]}} -> L; + _ -> + {tuple, Anno2, [{atom, Anno3, 'andalso'}, RemainingLeft, RemainingRight]} + end, + {Promotable, Remaining}; +find_substitutable_columns_expr({tuple, Anno2, [{atom, Anno3, 'and'}, Left, Right]}) -> + {PromotableLeft, RemainingLeft} = find_substitutable_columns_expr(Left), + {PromotableRight, RemainingRight} = find_substitutable_columns_expr(Right), + Remaining = + case {RemainingLeft, RemainingRight} of + {{atom, _, true},R} -> R; + {{tuple, _,[{atom, _, const}, {atom, _, true}]},R} -> R; + {L,{atom, _, true}} -> L; + {L,{tuple, _,[{atom, _, const}, {atom, _, true}]}} -> L; + _ -> + {tuple, Anno2, [{atom, Anno3, 'and'}, RemainingLeft, RemainingRight]} + end, + Promotable = PromotableLeft ++ PromotableRight, + {Promotable, Remaining}; +find_substitutable_columns_expr(Other) -> + {[], Other}. + +% A placeholder location for generated code +gen_loc() -> + erl_anno:new(0). + % Fixup semicolons in guards ms_clause_expand({clause, Anno, Parameters, Guard = [_,_|_], Body}) -> [ {clause, Anno, Parameters, [X], Body} || X <- Guard ]; @@ -477,7 +1184,6 @@ ms_clause({clause, Anno, Parameters, Guards, Body},Type,Bound) -> MSBody = transform_body(Anno,Body,Bindings), {tuple, Anno, [MSHead,MSGuards,MSBody]}. - check_type(_,[{var,_,_}],_) -> ok; check_type(_,[{tuple,_,_}],ets) -> @@ -509,11 +1215,9 @@ transform_guards(Anno,[G],Bindings) -> tg0(Anno,G,B); transform_guards(Anno,_,_) -> throw({error,Anno,?ERR_SEMI_GUARD}). - transform_body(Anno,Body,Bindings) -> B = #tgd{b = Bindings, p = body, eb = ?ERROR_BASE_BODY}, tg0(Anno,Body,B). - guard_top_trans({call,Anno0,{atom,Anno1,OldTest},Params}) -> case old_bool_test(OldTest,length(Params)) of @@ -532,7 +1236,6 @@ tg0(Anno,[H0|T],B) when B#tgd.p =:= guard -> {cons,Anno, tg(H,B), tg0(Anno,T,B)}; tg0(Anno,[H|T],B) -> {cons,Anno, tg(H,B), tg0(Anno,T,B)}. - tg({match,Anno,_,_},B) -> throw({error,Anno,?ERR_GENMATCH+B#tgd.eb}); @@ -748,7 +1451,7 @@ tg({bin_element,_Anno0,{var, Anno, A},_,_} = Whole,B) -> Whole; % exists in environment hopefully _AtomName -> throw({error,Anno,{?ERR_GENBINCONSTRUCT+B#tgd.eb,A}}) - end; + end; tg(default,_B) -> default; tg({bin_element,Anno,X,Y,Z},B) -> @@ -1100,9 +1803,9 @@ is_ms_function(X,A,body) -> is_ms_function(X,A,guard) -> guard_function(X,A) or bool_test(X,A). -fixup_environment(L,B) when is_list(L) -> +fixup_environment(L,B) when is_list(L) -> lists:map(fun(X) -> - fixup_environment(X,B) + fixup_environment(X,B) end, L); fixup_environment({var,Anno,Name},B) -> @@ -1112,15 +1815,14 @@ fixup_environment({var,Anno,Name},B) -> _ -> throw({error,Anno,{?ERR_UNBOUND_VARIABLE,atom_to_list(Name)}}) end; -fixup_environment(T,B) when is_tuple(T) -> +fixup_environment(T,B) when is_tuple(T) -> list_to_tuple( lists:map(fun(X) -> - fixup_environment(X,B) + fixup_environment(X,B) end, tuple_to_list(T))); fixup_environment(Other,_B) -> Other. - freeze(Anno,Term) -> {frozen,Anno,Term}. diff --git a/lib/stdlib/src/ordsets.erl b/lib/stdlib/src/ordsets.erl index 9011c44e5b78..2001a1338bdf 100644 --- a/lib/stdlib/src/ordsets.erl +++ b/lib/stdlib/src/ordsets.erl @@ -22,9 +22,9 @@ -export([new/0,is_set/1,size/1,is_empty/1,to_list/1,from_list/1]). -export([is_element/2,add_element/2,del_element/2]). -export([union/2,union/1,intersection/2,intersection/1]). --export([is_disjoint/2]). +-export([is_equal/2, is_disjoint/2]). -export([subtract/2,is_subset/2]). --export([fold/3,filter/2]). +-export([fold/3,filter/2,map/2,filtermap/2]). -export_type([ordset/1]). @@ -67,6 +67,16 @@ size(S) -> length(S). is_empty(S) -> S=:=[]. +%% is_equal(OrdSet1, OrdSet2) -> boolean(). +%% Return 'true' if OrdSet1 and OrdSet2 contain the same elements, +%% otherwise 'false'. +-spec is_equal(Ordset1, Ordset2) -> boolean() when + Ordset1 :: ordset(_), + Ordset2 :: ordset(_). + +is_equal(S1, S2) when is_list(S1), is_list(S2) -> + S1 == S2. + %% to_list(OrdSet) -> [Elem]. %% Return the elements in OrdSet as a list. @@ -262,3 +272,24 @@ fold(F, Acc, Set) -> filter(F, Set) -> lists:filter(F, Set). + +%% map(Fun, OrdSet) -> OrdSet. +%% Map OrdSet with Fun. + +-spec map(Fun, Ordset1) -> Ordset2 when + Fun :: fun((Element1 :: T1) -> Element2 :: T2), + Ordset1 :: ordset(T1), + Ordset2 :: ordset(T2). + +map(F, Set) -> + from_list(lists:map(F, Set)). + +%% filtermap(Fun, OrdSet) -> OrdSet. +%% Filter and map Ordset with Fun. +-spec filtermap(Fun, Ordset1) -> Ordset2 when + Fun :: fun((Element1 :: T1) -> boolean | ({true, Element2 :: T2})), + Ordset1 :: ordset(T1), + Ordset2 :: ordset(T1 | T2). + +filtermap(F, Set) -> + from_list(lists:filtermap(F, Set)). diff --git a/lib/stdlib/src/qlc_pt.erl b/lib/stdlib/src/qlc_pt.erl index be7dcafef72a..45822cc2dc81 100644 --- a/lib/stdlib/src/qlc_pt.erl +++ b/lib/stdlib/src/qlc_pt.erl @@ -2285,7 +2285,9 @@ try_ms(E, P, Fltr, State) -> Fun = {'fun',Anno,{clauses,[{clause,Anno,[P],[[Fltr]],[E]}]}}, Expr = {call,Anno,{remote,Anno,{atom,Anno,ets},{atom,Anno,fun2ms}},[Fun]}, Form = {function,Anno,foo,0,[{clause,Anno,[],[],[Expr]}]}, - X = ms_transform:parse_transform(State#state.records ++ [Form], []), + % We disable fun2ms optimisations because they can interfere with the + % pre-existing assumptions of qlc + X = ms_transform:parse_transform(State#state.records ++ [Form], [no_optimise_fun2ms]), case catch begin {function,Anno,foo,0,[{clause,Anno,[],[],[MS0]}]} = lists:last(X), diff --git a/lib/stdlib/src/sets.erl b/lib/stdlib/src/sets.erl index dccc6dcf3a07..5cf42560fc61 100644 --- a/lib/stdlib/src/sets.erl +++ b/lib/stdlib/src/sets.erl @@ -44,9 +44,9 @@ -export([new/0,is_set/1,size/1,is_empty/1,to_list/1,from_list/1]). -export([is_element/2,add_element/2,del_element/2]). -export([union/2,union/1,intersection/2,intersection/1]). --export([is_disjoint/2]). +-export([is_equal/2, is_disjoint/2]). -export([subtract/2,is_subset/2]). --export([fold/3,filter/2]). +-export([fold/3,filter/2,map/2,filtermap/2]). -export([new/1, from_list/2]). -export_type([set/0, set/1]). @@ -146,6 +146,25 @@ size(#set{size=Size}) -> Size. is_empty(#{}=S) -> map_size(S)=:=0; is_empty(#set{size=Size}) -> Size=:=0. +%% is_equal(Set1, Set2) -> boolean(). +%% Return 'true' if Set1 and Set2 contain the same elements, +%% otherwise 'false'. +-spec is_equal(Set1, Set2) -> boolean() when + Set1 :: set(), + Set2 :: set(). +is_equal(S1, S2) -> + case size(S1) =:= size(S2) of + true when S1 =:= S2 -> + true; + true -> + canonicalize_v2(S1) =:= canonicalize_v2(S2); + false -> + false + end. + +canonicalize_v2(S) -> + from_list(to_list(S), [{version, 2}]). + %% to_list(Set) -> [Elem]. %% Return the elements in Set as a list. -spec to_list(Set) -> List when @@ -472,6 +491,40 @@ filter(F, #{}=D) when is_function(F, 1)-> filter(F, #set{}=D) when is_function(F, 1)-> filter_set(F, D). +%% map(Fun, Set) -> Set. +%% Map Set with Map. +-spec map(Fun, Set1) -> Set2 when + Fun :: fun((Element1) -> Element2), + Set1 :: set(Element1), + Set2 :: set(Element2). +map(F, #{}=D) when is_function(F, 1) -> + %% For this purpose, it is more efficient to use + %% maps:from_keys than a map comprehension. + maps:from_keys([F(K) || K := _ <- D], ?VALUE); +map(F, #set{}=D) when is_function(F, 1) -> + fold(fun(E, Acc) -> add_element(F(E), Acc) end, + sets:new([{version, 1}]), + D). + +%% filtermap(Fun, Set) -> Set. +%% Filter and map Set with Fun. +-spec filtermap(Fun, Set1) -> Set2 when + Fun :: fun((Element1) -> boolean() | {true, Element2}), + Set1 :: set(Element1), + Set2 :: set(Element1 | Element2). +filtermap(F, #{}=D) when is_function(F, 1) -> + maps:from_keys(lists:filtermap(F, to_list(D)), ?VALUE); +filtermap(F, #set{}=D) when is_function(F, 1) -> + fold(fun(E0, Acc) -> + case F(E0) of + true -> add_element(E0, Acc); + {true, E1} -> add_element(E1, Acc); + false -> Acc + end + end, + sets:new([{version, 1}]), + D). + %% get_slot(Hashdb, Key) -> Slot. %% Get the slot. First hash on the new range, if we hit a bucket %% which has not been split use the unsplit buddy bucket. diff --git a/lib/stdlib/src/shell.erl b/lib/stdlib/src/shell.erl index 9f0bc0c811c6..834a570c7ff8 100644 --- a/lib/stdlib/src/shell.erl +++ b/lib/stdlib/src/shell.erl @@ -58,11 +58,11 @@ non_local_allowed(_,_,State) -> -spec start_interactive() -> ok | {error, already_started}. start_interactive() -> user_drv:start_shell(). --spec start_interactive(noshell | mfa()) -> +-spec start_interactive(noshell | {module(), atom(), [term()]}) -> ok | {error, already_started}; ({remote, string()}) -> ok | {error, already_started | noconnection}; - ({node(), mfa()} | {remote, string(), mfa()}) -> + ({node(), {module(), atom(), [term()]}} | {remote, string(), {module(), atom(), [term()]}}) -> ok | {error, already_started | noconnection | badfile | nofile | on_load_failure}. start_interactive({Node, {M, F, A}}) -> user_drv:start_shell(#{ initial_shell => {Node, M, F ,A} }); diff --git a/lib/stdlib/src/shell_docs.erl b/lib/stdlib/src/shell_docs.erl index 5cf1e0aed28a..8c743e20c2a9 100644 --- a/lib/stdlib/src/shell_docs.erl +++ b/lib/stdlib/src/shell_docs.erl @@ -595,13 +595,18 @@ render_function(FDocs, D, Config) when is_map(Config) -> render_function(FDocs, #docs_v1{ docs = Docs } = D, Config) -> Grouping = lists:foldl( - fun({_Group,_Anno,_Sig,_Doc,#{ equiv := Group }} = Func,Acc) -> - Members = maps:get(Group, Acc, []), - Acc#{ Group => [Func|Members] }; + fun({_Group,_Anno,_Sig,_Doc,#{ equiv := Group }} = Func, Acc) -> + case lists:keytake(Group, 1, Acc) of + false -> [{Group, [Func]} | Acc]; + {value, {Group, Members}, NewAcc} -> + [{Group,[Func|Members]} | NewAcc] + end; ({Group, _Anno, _Sig, _Doc, _Meta} = Func, Acc) -> - Members = maps:get(Group, Acc, []), - Acc#{ Group => [Func|Members] } - end, #{}, lists:sort(FDocs)), + [{Group, [Func]} | Acc] + end, [], + %% We sort only on the group element, so that multiple entries with + %% the same group do not change order. For example erlang:halt/1. + lists:sort(fun(A, B) -> element(1, A) =< element(1, B) end, FDocs)), lists:map( fun({Group,Members}) -> Signatures = lists:flatmap(fun render_signature/1, lists:reverse(Members)), @@ -621,7 +626,7 @@ render_function(FDocs, #docs_v1{ docs = Docs } = D, Config) -> Signatures, get_local_doc(Group, Doc, D), D, Config) end end - end, maps:to_list(Grouping)). + end, lists:reverse(Grouping)). %% Render the signature of either function, type, or anything else really. render_signature({{_Type,_F,_A},_Anno,_Sigs,_Docs,#{ signature := Specs } = Meta}) -> diff --git a/lib/stdlib/src/stdlib.appup.src b/lib/stdlib/src/stdlib.appup.src index 922f4f876722..65413b3c125e 100644 --- a/lib/stdlib/src/stdlib.appup.src +++ b/lib/stdlib/src/stdlib.appup.src @@ -49,7 +49,10 @@ {<<"^4\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^4\\.3$">>,[restart_new_emulator]}, {<<"^4\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^4\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}], + {<<"^4\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^5\\.0$">>,[restart_new_emulator]}, + {<<"^5\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, + {<<"^5\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}], [{<<"^3\\.15$">>,[restart_new_emulator]}, {<<"^3\\.15\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^3\\.15\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, @@ -71,4 +74,7 @@ {<<"^4\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^4\\.3$">>,[restart_new_emulator]}, {<<"^4\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^4\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}. + {<<"^4\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^5\\.0$">>,[restart_new_emulator]}, + {<<"^5\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, + {<<"^5\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}. diff --git a/lib/stdlib/src/string.erl b/lib/stdlib/src/string.erl index e0b765948c73..163bd8d0811a 100644 --- a/lib/stdlib/src/string.erl +++ b/lib/stdlib/src/string.erl @@ -106,8 +106,33 @@ list_to_float(_) -> Rest :: string(), Reason :: 'no_integer' | 'not_a_list'. -list_to_integer(_) -> - erlang:nif_error(undef). +list_to_integer(String) -> + Base = 10, + case erts_internal:list_to_integer(String, Base) of + {_, _}=Result -> + Result; + big -> + {Binary, Tail} = split_string(String), + try binary_to_integer(Binary) of + N -> + {N, Tail} + catch + error:system_limit -> + {error, system_limit} + end; + Reason -> + {error, Reason} + end. + +split_string([C|Cs]) when C =:= $+; C =:= $- -> + split_string(Cs, [C]); +split_string(Cs) -> + split_string(Cs, []). + +split_string([C|Cs], Acc) when is_integer(C), $0 =< C, C =< $9 -> + split_string(Cs, [C|Acc]); +split_string(Cs, Acc) -> + {list_to_binary(lists:reverse(Acc)),Cs}. %%% End of BIFs diff --git a/lib/stdlib/src/supervisor.erl b/lib/stdlib/src/supervisor.erl index de44ce55eed1..f81e31cb05d7 100644 --- a/lib/stdlib/src/supervisor.erl +++ b/lib/stdlib/src/supervisor.erl @@ -716,6 +716,8 @@ handle_start_child(Child, State) -> {{ok, Pid}, save_child(Child#child{pid = Pid}, State)}; {ok, Pid, Extra} -> {{ok, Pid, Extra}, save_child(Child#child{pid = Pid}, State)}; + {error, {already_started, _Pid} = What} -> + {{error, What}, State}; {error, What} -> {{error, {What, Child}}, State} end; @@ -1532,9 +1534,9 @@ add_restart(State) -> end. add_restart(Restarts0, Now, Period) -> - Treshold = Now - Period, + Threshold = Now - Period, Restarts1 = lists:takewhile( - fun (R) -> R >= Treshold end, + fun (R) -> R >= Threshold end, Restarts0 ), [Now | Restarts1]. diff --git a/lib/stdlib/src/sys.erl b/lib/stdlib/src/sys.erl index 6ec29aa1ffa1..abd025b7f725 100644 --- a/lib/stdlib/src/sys.erl +++ b/lib/stdlib/src/sys.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1996-2022. All Rights Reserved. +%% Copyright Ericsson AB 1996-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -138,7 +138,7 @@ get_status(Name, Timeout) -> send_system_msg(Name, get_status, Timeout). get_state(Name) -> case send_system_msg(Name, get_state) of {error, Reason} -> error(Reason); - State -> State + {ok, State} -> State end. -spec get_state(Name, Timeout) -> State when @@ -148,7 +148,7 @@ get_state(Name) -> get_state(Name, Timeout) -> case send_system_msg(Name, get_state, Timeout) of {error, Reason} -> error(Reason); - State -> State + {ok, State} -> State end. -spec replace_state(Name, StateFun) -> NewState when @@ -158,7 +158,7 @@ get_state(Name, Timeout) -> replace_state(Name, StateFun) -> case send_system_msg(Name, {replace_state, StateFun}) of {error, Reason} -> error(Reason); - State -> State + {ok, State} -> State end. -spec replace_state(Name, StateFun, Timeout) -> NewState when @@ -169,7 +169,7 @@ replace_state(Name, StateFun) -> replace_state(Name, StateFun, Timeout) -> case send_system_msg(Name, {replace_state, StateFun}, Timeout) of {error, Reason} -> error(Reason); - State -> State + {ok, State} -> State end. -spec change_code(Name, Module, OldVsn, Extra) -> 'ok' | {error, Reason} when @@ -333,15 +333,19 @@ remove(Name, FuncOrFuncId, Timeout) -> %% The receiving side should send Msg to handle_system_msg/5. %%----------------------------------------------------------------- send_system_msg(Name, Request) -> - case catch gen:call(Name, system, Request) of - {ok,Res} -> Res; - {'EXIT', Reason} -> exit({Reason, mfa(Name, Request)}) + try gen:call(Name, system, Request) of + {ok, Res} -> + Res + catch exit : Reason -> + exit({Reason, mfa(Name, Request)}) end. send_system_msg(Name, Request, Timeout) -> - case catch gen:call(Name, system, Request, Timeout) of - {ok,Res} -> Res; - {'EXIT', Reason} -> exit({Reason, mfa(Name, Request, Timeout)}) + try gen:call(Name, system, Request, Timeout) of + {ok, Res} -> + Res + catch exit : Reason -> + exit({Reason, mfa(Name, Request, Timeout)}) end. mfa(Name, {debug, {Func, Arg2}}) -> @@ -503,34 +507,50 @@ do_cmd(SysState, Other, _Parent, _Mod, Debug, Misc) -> do_get_state(Mod, Misc) -> case erlang:function_exported(Mod, system_get_state, 1) of true -> - try - {ok, State} = Mod:system_get_state(Misc), - State - catch - Cl:Exc -> - {error, {callback_failed,{Mod,system_get_state},{Cl,Exc}}} - end; + try Mod:system_get_state(Misc) of + {ok, _} = Result -> + Result; + Other -> + {error, + {callback_failed, {Mod,system_get_state}, + {bad_return,Other}}} + catch + Cl : Exc -> + {error, + {callback_failed, {Mod,system_get_state}, + {Cl,Exc}}} + end; false -> - Misc + {ok, Misc} end. do_replace_state(StateFun, Mod, Misc) -> case erlang:function_exported(Mod, system_replace_state, 2) of true -> - try - {ok, State, NMisc} = Mod:system_replace_state(StateFun, Misc), - {State, NMisc} + try Mod:system_replace_state(StateFun, Misc) of + {ok, State, NMisc} -> + {{ok, State}, NMisc}; + Other -> + {{error, + {callback_failed, {Mod,system_replace_state}, + {bad_return,Other}}}, + Misc} catch - Cl:Exc -> - {{error, {callback_failed,{Mod,system_replace_state},{Cl,Exc}}}, Misc} + Cl : Exc -> + {{error, + {callback_failed, {Mod,system_replace_state}, + {Cl,Exc}}}, + Misc} end; false -> - try - NMisc = StateFun(Misc), - {NMisc, NMisc} + try StateFun(Misc) of + NMisc -> + {{ok, NMisc}, NMisc} catch - Cl:Exc -> - {{error, {callback_failed,StateFun,{Cl,Exc}}}, Misc} + Cl : Exc -> + {{error, + {callback_failed, StateFun, {Cl,Exc}}}, + Misc} end end. diff --git a/lib/stdlib/src/zip.erl b/lib/stdlib/src/zip.erl index 0809dbb492b4..4be9c78d048d 100644 --- a/lib/stdlib/src/zip.erl +++ b/lib/stdlib/src/zip.erl @@ -1620,6 +1620,9 @@ dos_date_time_to_datetime(DosDate, DosTime) -> {{YearFrom1980+1980, Month, Day}, {Hour, Min, Sec}}. +dos_date_time_from_datetime(Seconds) when is_integer(Seconds) -> + DateTime = calendar:now_to_datetime({0, Seconds, 0}), + dos_date_time_from_datetime(DateTime); dos_date_time_from_datetime({{Year, Month, Day}, {Hour, Min, Sec}}) -> YearFrom1980 = Year-1980, <> = <>, diff --git a/lib/stdlib/test/Makefile b/lib/stdlib/test/Makefile index 259715700448..77357c129e5a 100644 --- a/lib/stdlib/test/Makefile +++ b/lib/stdlib/test/Makefile @@ -44,6 +44,7 @@ MODULES= \ filename_SUITE \ fixtable_SUITE \ format_SUITE \ + gb_sets_property_test_SUITE \ gen_event_SUITE \ gen_fsm_SUITE \ gen_server_SUITE \ @@ -71,6 +72,7 @@ MODULES= \ re_testoutput1_split_test \ slave_SUITE \ sets_SUITE \ + sets_property_test_SUITE \ sets_test_lib \ sofs_SUITE \ stdlib_SUITE \ @@ -133,7 +135,7 @@ ERL_COMPILE_FLAGS := $(filter-out +deterministic,$(ERL_COMPILE_FLAGS)) EBIN = . EMAKEFILE=Emakefile -COVERFILE=stdlib.cover +COVERFILE=stdlib.cover tty.cover # ---------------------------------------------------- # Targets @@ -163,7 +165,7 @@ release_spec: opt release_tests_spec: make_emakefile $(INSTALL_DIR) "$(RELSYSDIR)" - $(INSTALL_DATA) stdlib.spec stdlib_bench.spec error_info.spec $(EMAKEFILE) \ + $(INSTALL_DATA) stdlib.spec stdlib_bench.spec stdlib_gh.spec error_info.spec $(EMAKEFILE) \ $(ERL_FILES) $(COVERFILE) $(EXTRA_FILES) "$(RELSYSDIR)" chmod -R u+w "$(RELSYSDIR)" @tar cf - *_SUITE_data property_test | (cd "$(RELSYSDIR)"; tar xf -) diff --git a/lib/stdlib/test/argparse_SUITE.erl b/lib/stdlib/test/argparse_SUITE.erl index fb7eaecda1ec..a63b8867d25f 100644 --- a/lib/stdlib/test/argparse_SUITE.erl +++ b/lib/stdlib/test/argparse_SUITE.erl @@ -399,7 +399,7 @@ unicode(Config) when is_list(Config) -> Prog = [prog()], ?assertEqual({ok, Expected, Prog, Cmd}, argparse:parse([], Cmd)), %% default ?assertEqual({ok, Expected, Prog, Cmd}, argparse:parse(["★"], Cmd)), %% specified in the command line - ?assertEqual("Usage:\n " ++ prog() ++ " \n\nArguments:\n text åäö (binary, ★)\n", + ?assertEqual("Usage:\n " ++ prog() ++ " \n\nArguments:\n text åäö (binary), default: ★\n", unicode:characters_to_list(argparse:help(Cmd))), %% test command name and argument name in unicode Uni = #{commands => #{"åäö" => #{help => "öФ"}}, handler => optional, @@ -775,7 +775,7 @@ usage(Config) when is_list(Config) -> " -v verbosity level\n" " -i interval set (int >= 1)\n" " --req required optional, right?\n" - " --float floating-point long form argument (float, 3.14)\n", + " --float floating-point long form argument (float), default: 3.14\n", ?assertEqual(Usage, unicode:characters_to_list(argparse:help(Cmd, #{progname => "erl", command => ["start"]}))), FullCmd = "Usage:\n erl" @@ -790,7 +790,7 @@ usage(Config) when is_list(Config) -> " -v verbosity level\n" " -i interval set (int >= 1)\n" " --req required optional, right?\n" - " --float floating-point long form argument (float, 3.14)\n", + " --float floating-point long form argument (float), default: 3.14\n", ?assertEqual(FullCmd, unicode:characters_to_list(argparse:help(Cmd, #{progname => erl}))), CrawlerStatus = "Usage:\n erl status crawler [-rfv] [---extra ] [--force] [-i ]\n" @@ -799,7 +799,7 @@ usage(Config) when is_list(Config) -> " -f, --force force\n -v verbosity level\n" " -i interval set (int >= 1)\n" " --req required optional, right?\n" - " --float floating-point long form argument (float, 3.14)\n", + " --float floating-point long form argument (float), default: 3.14\n", ?assertEqual(CrawlerStatus, unicode:characters_to_list(argparse:help(Cmd, #{progname => "erl", command => ["status", "crawler"]}))), ok. diff --git a/lib/stdlib/test/binary_module_SUITE.erl b/lib/stdlib/test/binary_module_SUITE.erl index 954efae9b709..21593b4f49c5 100644 --- a/lib/stdlib/test/binary_module_SUITE.erl +++ b/lib/stdlib/test/binary_module_SUITE.erl @@ -78,6 +78,15 @@ badargs(Config) when is_list(Config) -> binary:match(<<1,2,3>>,<<1>>, [{scope,{16#FFFFFFFFFFFFFFFF, 16#7FFFFFFFFFFFFFFF}}])), + badarg = ?MASK_ERROR(binary:match(<<>>,foobar)), + badarg = ?MASK_ERROR(binary:match(<<"abc">>,foobar, + [{scope,{0,0}}])), + badarg = ?MASK_ERROR(binary:matches(<<>>,foobar)), + badarg = ?MASK_ERROR(binary:matches(<<"abc">>,foobar, + [{scope,{0,0}}])), + badarg = ?MASK_ERROR(binary:replace(<<>>,foobar,<<>>)), + badarg = ?MASK_ERROR(binary:replace(<<"abc">>,foobar,<<>>, + [{scope,{0,0}}])), badarg = ?MASK_ERROR( binary:part(<<1,2,3>>,{16#FF, @@ -238,6 +247,9 @@ badargs(Config) when is_list(Config) -> ?MASK_ERROR( binary:at([1,2,4],2)), + badarg = ?MASK_ERROR(binary:split(<<>>,foobar)), + badarg = ?MASK_ERROR(binary:split(<<"abc">>,foobar,[{scope,{0,0}}])), + badarg = ?MASK_ERROR(binary:encode_hex("abc")), badarg = ?MASK_ERROR(binary:encode_hex(123)), badarg = ?MASK_ERROR(binary:encode_hex([])), @@ -495,28 +507,51 @@ do_interesting(Module) -> [] = binary:split(<<>>, <<",">>, [global,trim]), [] = binary:split(<<>>, <<",">>, [global,trim_all]), + ReplaceFn = fun(Match) -> << <<(B + 1)>> || <> <= Match >> end, badarg = ?MASK_ERROR( Module:replace(<<1,2,3,4,5,6,7,8>>, [<<4,5>>,<<7>>,<<8>>],<<99>>, [global,trim,{scope,{0,5}}])), + badarg = ?MASK_ERROR( + Module:replace(<<1,2,3,4,5,6,7,8>>, + [<<4,5>>,<<7>>,<<8>>],ReplaceFn, + [global,trim,{scope,{0,5}}])), <<1,2,3,99,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>, [<<4,5>>,<<7>>,<<8>>],<<99>>,[]), + <<1,2,3,5,6,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>, + [<<4,5>>,<<7>>,<<8>>],ReplaceFn,[]), <<1,2,3,99,6,99,99>> = Module:replace(<<1,2,3,4,5,6,7,8>>, [<<4,5>>,<<7>>,<<8>>],<<99>>, [global]), + <<1,2,3,5,6,6,8,9>> = Module:replace(<<1,2,3,4,5,6,7,8>>, + [<<4,5>>,<<7>>,<<8>>],ReplaceFn, + [global]), <<1,2,3,99,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>, [<<4,5>>,<<7>>,<<8>>],<<99>>, [global,{scope,{0,5}}]), + <<1,2,3,5,6,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>, + [<<4,5>>,<<7>>,<<8>>],ReplaceFn, + [global,{scope,{0,5}}]), <<1,2,3,99,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>, [<<4,5>>,<<7>>,<<8>>],<<99>>, [global,{scope,{0,5}}]), + <<1,2,3,5,6,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>, + [<<4,5>>,<<7>>,<<8>>],ReplaceFn, + [global,{scope,{0,5}}]), <<1,2,3,99,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>, [<<4,5>>,<<7>>,<<8>>],<<99>>, [global,{scope,{0,5}}]), + <<1,2,3,5,6,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>, + [<<4,5>>,<<7>>,<<8>>],ReplaceFn, + [global,{scope,{0,5}}]), badarg = ?MASK_ERROR(Module:replace(<<1,2,3,4,5,6,7,8>>, [<<4,5>>,<<7>>,<<8>>],<<99>>, [global,{scope,{0,5}}, {insert,1}])), + badarg = ?MASK_ERROR(Module:replace(<<1,2,3,4,5,6,7,8>>, + [<<4,5>>,<<7>>,<<8>>],ReplaceFn, + [global,{scope,{0,5}}, + {insert,1}])), <<1,2,3,99,4,5,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>, [<<4,5>>,<<7>>,<<8>>],<<99>>, [global,{scope,{0,5}}, diff --git a/lib/stdlib/test/binref.erl b/lib/stdlib/test/binref.erl index deb1ede4dff6..c92a716dba9e 100644 --- a/lib/stdlib/test/binref.erl +++ b/lib/stdlib/test/binref.erl @@ -228,7 +228,7 @@ replace(Haystack,Needles0,Replacement,Options) -> true -> exit(badtype) end, - true = is_binary(Replacement), % Make badarg instead of function clause + true = is_binary(Replacement) orelse is_function(Replacement, 1), % Make badarg instead of function clause {Part,Global,Insert} = get_opts_replace(Options,{nomatch,false,[]}), {Start,End,NewStack} = case Part of @@ -254,7 +254,9 @@ replace(Haystack,Needles0,Replacement,Options) -> [X] end end, - ReplList = case Insert of + ReplList = case is_binary(Replacement) andalso Insert of + false -> + Replacement; [] -> Replacement; Y when is_integer(Y) -> @@ -274,6 +276,8 @@ do_replace(H,[],_,N) -> do_replace(H,[{A,B}|T],Replacement,N) -> [part(H,{N,A-N}), if + is_function(Replacement) -> + Replacement(part(H, {A, B})); is_list(Replacement) -> do_insert(Replacement, part(H,{A,B})); true -> diff --git a/lib/stdlib/test/erl_lint_SUITE.erl b/lib/stdlib/test/erl_lint_SUITE.erl index 81bc3e9a0da9..3c45dd1cb90b 100644 --- a/lib/stdlib/test/erl_lint_SUITE.erl +++ b/lib/stdlib/test/erl_lint_SUITE.erl @@ -82,7 +82,8 @@ unused_type2/1, eep49/1, redefined_builtin_type/1, - tilde_k/1]). + tilde_k/1, + match_float_zero/1]). suite() -> [{ct_hooks,[ts_install_cth]}, @@ -113,7 +114,8 @@ all() -> eep49, redefined_builtin_type, tilde_k, - singleton_type_var_errors]. + singleton_type_var_errors, + match_float_zero]. groups() -> [{unused_vars_warn, [], @@ -5183,6 +5185,35 @@ tilde_k(Config) -> ok. +match_float_zero(Config) -> + Ts = [{float_zero_1, + <<"t(+0.0) -> ok.\n" + "k(-0.0) -> ok.\n">>, + [], + []}, + {float_zero_2, + <<"t(0.0) -> ok.\n" + "k({0.0}) -> ok.\n">>, + [], + {warnings,[{{1,23},erl_lint,match_float_zero}, + {{2,4},erl_lint,match_float_zero}]}}, + {float_zero_3, + <<"t(A) when A =:= 0.0 -> ok;\n" %% Should warn. + "t(A) when A =:= {0.0} -> ok.\n" %% Should warn. + "k(A) -> A =:= 0.0.\n" %% Should warn. + "q(A) -> A =:= {0.0}.\n" %% Should warn. + "z(A) when A =:= +0.0 -> ok;\n" %% Should not warn. + "z(A) when A =:= {+0.0} -> ok.\n">>, %% Should not warn. + [], + {warnings,[{{1,37},erl_lint,match_float_zero}, + {{2,18},erl_lint,match_float_zero}, + {{3,15},erl_lint,match_float_zero}, + {{4,16},erl_lint,match_float_zero}]}} + ], + [] = run(Config, Ts), + + ok. + %%% %%% Common utilities. %%% diff --git a/lib/stdlib/test/escript_SUITE.erl b/lib/stdlib/test/escript_SUITE.erl index 77238d27964b..d65eccdb8446 100644 --- a/lib/stdlib/test/escript_SUITE.erl +++ b/lib/stdlib/test/escript_SUITE.erl @@ -89,25 +89,28 @@ basic(Config) when is_list(Config) -> run(Config, Dir, "factorial_compile_main 7", <<"factorial 7 = 5040\nExitCode:0">>), run(Config, Dir, "factorial_warning 20", - [data_dir,<<"factorial_warning:12:1: Warning: function bar/0 is unused\n" - "factorial 20 = 2432902008176640000\nExitCode:0">>]), - run_with_opts(Config, Dir, "-s", "factorial_warning", - [data_dir,<<"factorial_warning:12:1: Warning: function bar/0 is unused\n" - "% 12| bar() ->\n" - "% | ^\n\n" - "ExitCode:0">>]), - run_with_opts(Config, Dir, "-s -i", "factorial_warning", - [data_dir,<<"factorial_warning:12:1: Warning: function bar/0 is unused\n" - "% 12| bar() ->\n" - "% | ^\n\n" - "ExitCode:0">>]), - run_with_opts(Config, Dir, "-c -s", "factorial_warning", - [data_dir,<<"factorial_warning:12:1: Warning: function bar/0 is unused\n" - "% 12| bar() ->\n" - "% | ^\n\n" - "ExitCode:0">>]), + [data_dir,<<"factorial_warning:12:1: Warning: function bar/0 is unused\n" + "% 12| bar() ->\n" + "% | ^\n\n" + "factorial 20 = 2432902008176640000\n" + "ExitCode:0">>]), + run_with_opts(Config, Dir, "-i", "factorial_warning 20", + [data_dir,<<"factorial_warning:12:1: Warning: function bar/0 is unused\n" + "factorial 20 = 2432902008176640000\nExitCode:0">>]), + Warnings = [data_dir,<<"factorial_warning:12:1: Warning: function bar/0 is unused\n" + "% 12| bar() ->\n" + "% | ^\n\n" + "ExitCode:0">>], + run_with_opts(Config, Dir, "-s", "factorial_warning", Warnings), + run_with_opts(Config, Dir, "-s -i", "factorial_warning", Warnings), + run_with_opts(Config, Dir, "-c -s", "factorial_warning", Warnings), run(Config, Dir, "filesize "++filename:join(proplists:get_value(data_dir, Config),"filesize"), - [data_dir,<<"filesize:11:1: Warning: function id/1 is unused\n324\nExitCode:0">>]), + [data_dir,<<"filesize:11:1: Warning: function id/1 is unused\n" + "% 11| id(I) -> I.\n" + "% | ^\n" + "\n" + "324\n" + "ExitCode:0">>]), run(Config, Dir, "test_script_name", [data_dir,<<"test_script_name\nExitCode:0">>]), run(Config, Dir, "tail_rec 1000", @@ -128,18 +131,19 @@ errors(Config) when is_list(Config) -> [data_dir,<<"compile_error:5:12: syntax error before: '*'\n">>, data_dir,<<"compile_error:8:9: syntax error before: blarf\n">>, <<"escript: There were compilation errors.\nExitCode:127">>]), - run(Config, Dir, "lint_error", - [data_dir,<<"lint_error:6:1: function main/1 already defined\n">>, - data_dir,"lint_error:8:10: variable 'ExitCode' is unbound\n", - <<"escript: There were compilation errors.\nExitCode:127">>]), - run_with_opts(Config, Dir, "-s", "lint_error", - [data_dir,<<"lint_error:6:1: function main/1 already defined\n" - "% 6| main(Args) ->\n" - "% | ^\n\n">>, - data_dir,("lint_error:8:10: variable 'ExitCode' is unbound\n" - "% 8| halt(ExitCode).\n" - "% | ^\n\n"), - <<"escript: There were compilation errors.\nExitCode:127">>]), + CompileErrors = [data_dir,<<"lint_error:6:1: function main/1 already defined\n" + "% 6| main(Args) ->\n" + "% | ^\n\n">>, + data_dir,("lint_error:8:10: variable 'ExitCode' is unbound\n" + "% 8| halt(ExitCode).\n" + "% | ^\n\n"), + <<"escript: There were compilation errors.\nExitCode:127">>], + run(Config, Dir, "lint_error", CompileErrors), + run_with_opts(Config, Dir, "-i", "lint_error", + [data_dir,<<"lint_error:6:1: function main/1 already defined\n">>, + data_dir,"lint_error:8:10: variable 'ExitCode' is unbound\n", + <<"escript: There were compilation errors.\nExitCode:127">>]), + run_with_opts(Config, Dir, "-s", "lint_error", CompileErrors), ok. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/lib/stdlib/test/ets_SUITE.erl b/lib/stdlib/test/ets_SUITE.erl index 52cf5b9e69f1..09d7eee3deb6 100644 --- a/lib/stdlib/test/ets_SUITE.erl +++ b/lib/stdlib/test/ets_SUITE.erl @@ -100,6 +100,7 @@ -export([otp_9932/1]). -export([otp_9423/1]). -export([otp_10182/1]). +-export([compress_magic_ref/1]). -export([ets_all/1]). -export([massive_ets_all/1]). -export([take/1]). @@ -173,6 +174,7 @@ all() -> otp_10182, otp_9932, otp_9423, + compress_magic_ref, ets_all, massive_ets_all, take, @@ -1110,8 +1112,8 @@ delete_all_objects_trap(Opts, Mode) -> false; "delete_all_objects done" -> ct:fail("No trap detected"); - M -> - %%io:format("Ignored msg: ~p\n", [M]), + _M -> + %%io:format("Ignored msg: ~p\n", [_M]), true end end), @@ -5528,30 +5530,30 @@ insert_trap_delete_run3(Traps, {Opts, InsertFunc, Mode}, NKeys) -> %% Rename table during trapping ets:insert insert_trap_rename(Config) when is_list(Config) -> repeat_for_opts(fun(Opts) -> - [insert_trap_rename_run1(InsertFunc) + [insert_trap_rename_run1(Opts, InsertFunc) || InsertFunc <- [insert, insert_new]] end, [all_non_stim_types, write_concurrency, compressed]), ok. -insert_trap_rename_run1(InsertFunc) -> +insert_trap_rename_run1(Opts, InsertFunc) -> NKeys = 50_000 + rand:uniform(50_000), %% First measure how many traps the insert op will do - Traps0 = insert_trap_rename_run3(unlimited, InsertFunc, NKeys), + Traps0 = insert_trap_rename_run3(Opts, unlimited, InsertFunc, NKeys), %% Then do again and rename table at different moments Decr = (Traps0 div 5) + 1, - insert_trap_rename_run2(Traps0-1, Decr, InsertFunc, NKeys), + insert_trap_rename_run2(Opts, Traps0-1, Decr, InsertFunc, NKeys), ok. -insert_trap_rename_run2(Traps, _Decr, InsertFunc, NKeys) when Traps =< 1 -> - insert_trap_rename_run3(1, InsertFunc, NKeys), +insert_trap_rename_run2(Opts, Traps, _Decr, InsertFunc, NKeys) when Traps =< 1 -> + insert_trap_rename_run3(Opts, 1, InsertFunc, NKeys), ok; -insert_trap_rename_run2(Traps, Decr, InsertFunc, NKeys) -> - insert_trap_rename_run3(Traps, InsertFunc, NKeys), - insert_trap_rename_run2(Traps - Decr, Decr, InsertFunc, NKeys). +insert_trap_rename_run2(Opts, Traps, Decr, InsertFunc, NKeys) -> + insert_trap_rename_run3(Opts, Traps, InsertFunc, NKeys), + insert_trap_rename_run2(Opts, Traps - Decr, Decr, InsertFunc, NKeys). -insert_trap_rename_run3(Traps, InsertFunc, NKeys) -> +insert_trap_rename_run3(Opts, Traps, InsertFunc, NKeys) -> io:format("insert_trap_rename_run(~p, ~p)\n", [Traps, InsertFunc]), TabName = insert_trap_rename, TabRenamed = insert_trap_rename_X, @@ -5561,7 +5563,7 @@ insert_trap_rename_run3(Traps, InsertFunc, NKeys) -> OwnerFun = fun() -> erlang:trace(Tester, true, [running]), - ets:new(TabName, [named_table, public]), + ets_new(TabName, [named_table, public | Opts]), Tester ! {ets_new, ets:whereis(TabName)}, io:format("Wait for ets:~p/2 to yield...\n", [InsertFunc]), GotTraps = repeat_while( @@ -7800,6 +7802,28 @@ otp_10182(Config) when is_list(Config) -> In = Out end). +%% Verify magic refs in compressed table are reference counted correctly +compress_magic_ref(Config) when is_list(Config)-> + F = fun(Opts) -> + T = ets:new(banana, Opts), + ets:insert(T, {key, atomics:new(2, [])}), + erlang:garbage_collect(), % make really sure no ref on heap + [{_, Ref}] = ets:lookup(T, key), + #{size := 2} = atomics:info(Ref), % Still alive! + + %% Now test ets:delete will deallocate if last ref + WeakRef = term_to_binary(Ref), + erlang:garbage_collect(), % make sure no Ref on heap + ets:delete(T, key), + StaleRef = binary_to_term(WeakRef), + badarg = try atomics:info(StaleRef) + catch error:badarg -> badarg end, + ets:delete(T), + ok + end, + repeat_for_opts(F, [[set, ordered_set], compressed]), + ok. + %% Test that ets:all include/exclude tables that we know are created/deleted ets_all(Config) when is_list(Config) -> Pids = [spawn_link(fun() -> ets_all_run() end) || _ <- [1,2]], diff --git a/lib/stdlib/test/filelib_SUITE.erl b/lib/stdlib/test/filelib_SUITE.erl index 179567f12825..8b5e9c637768 100644 --- a/lib/stdlib/test/filelib_SUITE.erl +++ b/lib/stdlib/test/filelib_SUITE.erl @@ -840,7 +840,10 @@ safe_relative_path_links(Config) -> nested_links_test(BaseDir), loop_test(BaseDir), loop_with_parent_test(BaseDir), - revist_links_test(BaseDir); + revist_links_test(BaseDir), + descend_climb_cwd_link_test(BaseDir), + chained_links_same_target_name_test(BaseDir), + ok; false -> {skipped, "This platform/user can't create symlinks."} end @@ -914,6 +917,32 @@ revist_links_test(BaseDir) -> "file" = filelib:safe_relative_path("x/x/y/y/file", filename:join(BaseDir, "revist_links_test")), "file" = filelib:safe_relative_path("x/z/y/x/./z/foo/../x/./y/file", filename:join(BaseDir, "revist_links_test")). +descend_climb_cwd_link_test(BaseDir) -> + Dir = filename:join(BaseDir, ?FUNCTION_NAME), + + ok = file:make_dir(Dir), + ok = file:make_dir(filename:join(Dir, "cwd")), + + ok = file:make_symlink("cwd", filename:join(Dir, "cwd_link")), + + "" = filelib:safe_relative_path("foo/..", filename:join(Dir, "cwd_link")), + "bar" = filelib:safe_relative_path("foo/../bar", filename:join(Dir, "cwd_link")), + "" = filelib:safe_relative_path("foo/..", filename:join(Dir, "cwd")), + "bar" = filelib:safe_relative_path("foo/../bar", filename:join(Dir, "cwd")). + +chained_links_same_target_name_test(BaseDir) -> + Dir = filename:join(BaseDir, ?FUNCTION_NAME), + + ok = file:make_dir(Dir), + ok = file:make_dir(filename:join(Dir, "foo")), + ok = file:make_dir(filename:join(Dir, "foo/foo")), + ok = file:make_dir(filename:join(Dir, "foo/foo/bar")), + + ok = file:make_symlink("foo/bar", filename:join(Dir, "foo/bar")), + ok = file:make_symlink("foo/bar", filename:join(Dir, "bar")), + + "foo/foo/bar" = filelib:safe_relative_path("bar", Dir). + rm_rf(Dir) -> case file:read_link_info(Dir) of {ok, #file_info{type = directory}} -> diff --git a/lib/stdlib/test/gb_sets_property_test_SUITE.erl b/lib/stdlib/test/gb_sets_property_test_SUITE.erl new file mode 100644 index 000000000000..4ba880950688 --- /dev/null +++ b/lib/stdlib/test/gb_sets_property_test_SUITE.erl @@ -0,0 +1,97 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2021-2022. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% +-module(gb_sets_property_test_SUITE). + +-include_lib("common_test/include/ct.hrl"). + +-compile(export_all). +-compile(nowarn_export_all). + +all() -> [ + add_case, + balance_case, + delete_case, delete_any_case, + difference_case, + from_ordset_case, + insert_case, + is_member_case, + iterator_case, iterator_from_case, + largest_case, + singleton_case, + smallest_case, + take_largest_case, + take_smallest_case + ]. + +init_per_suite(Config) -> + ct_property_test:init_per_suite(Config). + +end_per_suite(Config) -> + Config. + +add_case(Config) -> + do_proptest(prop_add, Config). + +balance_case(Config) -> + do_proptest(prop_balance, Config). + +delete_case(Config) -> + do_proptest(prop_delete, Config). + +delete_any_case(Config) -> + do_proptest(prop_delete_any, Config). + +difference_case(Config) -> + do_proptest(prop_difference, Config). + +from_ordset_case(Config) -> + do_proptest(prop_from_ordset, Config). + +insert_case(Config) -> + do_proptest(prop_insert, Config). + +is_member_case(Config) -> + do_proptest(prop_is_member, Config). + +iterator_case(Config) -> + do_proptest(prop_iterator, Config). + +iterator_from_case(Config) -> + do_proptest(prop_iterator_from, Config). + +largest_case(Config) -> + do_proptest(prop_largest, Config). + +singleton_case(Config) -> + do_proptest(prop_singleton, Config). + +smallest_case(Config) -> + do_proptest(prop_smallest, Config). + +take_largest_case(Config) -> + do_proptest(prop_take_largest, Config). + +take_smallest_case(Config) -> + do_proptest(prop_take_smallest, Config). + +do_proptest(Prop, Config) -> + ct_property_test:quickcheck( + gb_sets_prop:Prop(), + Config). diff --git a/lib/stdlib/test/gen_statem_SUITE.erl b/lib/stdlib/test/gen_statem_SUITE.erl index d99c7e978630..8257cd3b3b04 100644 --- a/lib/stdlib/test/gen_statem_SUITE.erl +++ b/lib/stdlib/test/gen_statem_SUITE.erl @@ -1563,6 +1563,13 @@ replace_state(Config) -> {state0,NState3} = sys:replace_state(Pid, Replace4), ok = sys:resume(Pid), {state0,NState3} = sys:get_state(Pid, 5000), + %% State 'error' does not exist but is never touched, + %% just verify that sys handles it as a state, not as an error return + {error,NState3} = + sys:replace_state(Pid, fun ({state0, SD}) -> {error, SD} end), + {error, NState3} = sys:get_state(Pid), + {state0,NState3} = + sys:replace_state(Pid, fun ({error, SD}) -> {state0, SD} end), stop_it(Pid), ok = verify_empty_msgq(). diff --git a/lib/stdlib/test/io_proto_SUITE.erl b/lib/stdlib/test/io_proto_SUITE.erl index 368fdbdf0135..acc0d8ab82f4 100644 --- a/lib/stdlib/test/io_proto_SUITE.erl +++ b/lib/stdlib/test/io_proto_SUITE.erl @@ -25,7 +25,14 @@ -export([setopts_getopts/1,unicode_options/1,unicode_options_gen/1, binary_options/1, read_modes_gl/1, read_modes_ogl/1, broken_unicode/1,eof_on_pipe/1, - unicode_prompt/1, shell_slogan/1, raw_stdout/1, raw_stdout_isatty/1]). + unicode_prompt/1, shell_slogan/1, raw_stdout/1, raw_stdout_isatty/1, + file_read_stdin_binary_mode/1, file_read_stdin_list_mode/1, + io_get_chars_stdin_binary_mode/1, io_get_chars_stdin_list_mode/1, + io_get_chars_file_read_stdin_binary_mode/1, + file_read_stdin_latin1_binary_mode/1, + file_read_stdin_latin1_list_mode/1, + io_fwrite_stdin_latin1_mode/1 + ]). -export([io_server_proxy/1,start_io_server_proxy/0, proxy_getall/1, @@ -35,7 +42,7 @@ -export([uprompt/1, slogan/0, session_slogan/0]). --export([write_raw_to_stdout/0]). +-export([write_raw_to_stdout/0, read_raw_from_stdin/1]). %%-define(debug, true). @@ -53,7 +60,16 @@ all() -> [setopts_getopts, unicode_options, unicode_options_gen, binary_options, read_modes_gl, read_modes_ogl, broken_unicode, eof_on_pipe, unicode_prompt, - shell_slogan, raw_stdout, raw_stdout_isatty]. + shell_slogan, raw_stdout, raw_stdout_isatty, + file_read_stdin_binary_mode, + file_read_stdin_list_mode, + io_get_chars_stdin_binary_mode, + io_get_chars_stdin_list_mode, + io_get_chars_file_read_stdin_binary_mode, + file_read_stdin_latin1_binary_mode, + file_read_stdin_latin1_list_mode, + io_fwrite_stdin_latin1_mode + ]. groups() -> []. @@ -269,6 +285,249 @@ setopts_getopts(Config) when is_list(Config) -> ],[],"",["-oldshell"]), ok. +%% Test that reading from stdin using file:read works when io is in binary mode +file_read_stdin_binary_mode(_Config) -> + {ok, P, ErlPort} = start_stdin_node(fun() -> file:read(standard_io, 3) end, [binary]), + + erlang:port_command(ErlPort, "abc"), + {ok, "got: <<\"abc\">>\n"} = gen_tcp:recv(P, 0), + erlang:port_command(ErlPort, "def"), + {ok, "got: <<\"def\">>\n"} = gen_tcp:recv(P, 0), + ErlPort ! {self(), close}, + {ok, "got: eof"} = gen_tcp:recv(P, 0), + + ok. + +%% Test that reading from stdin using file:read works when io is in binary mode +file_read_stdin_list_mode(_Config) -> + {ok, P, ErlPort} = start_stdin_node(fun() -> file:read(standard_io, 3) end, [list]), + + erlang:port_command(ErlPort, "abc"), + {ok, "got: \"abc\"\n"} = gen_tcp:recv(P, 0), + erlang:port_command(ErlPort, "def"), + {ok, "got: \"def\"\n"} = gen_tcp:recv(P, 0), + ErlPort ! {self(), close}, + {ok, "got: eof"} = gen_tcp:recv(P, 0), + + ok. + +%% Test that reading from stdin using file:read works when io is in binary mode +io_get_chars_stdin_binary_mode(_Config) -> + {ok, P, ErlPort} = start_stdin_node( + fun() -> + case io:get_chars(standard_io, "", 1) of + eof -> eof; + Chars -> {ok, Chars} + end + end, [binary]), + + erlang:port_command(ErlPort, "x\n"), + {ok, "got: <<\"x\">>\n"} = gen_tcp:recv(P, 0), + {ok, "got: <<\"\\n\">>\n"} = gen_tcp:recv(P, 0), + ErlPort ! {self(), close}, + {ok, "got: eof"} = gen_tcp:recv(P, 0), + + ok. + +%% Test that reading from stdin using file:read works when io is in binary mode +io_get_chars_stdin_list_mode(_Config) -> + {ok, P, ErlPort} = start_stdin_node( + fun() -> case io:get_chars(standard_io, "", 1) of + eof -> eof; + Chars -> {ok, Chars} + end + end, [list]), + + erlang:port_command(ErlPort, "x\n"), + {ok, "got: \"x\"\n"} = gen_tcp:recv(P, 0), + {ok, "got: \"\\n\"\n"} = gen_tcp:recv(P, 0), + ErlPort ! {self(), close}, + {ok, "got: eof"} = gen_tcp:recv(P, 0), + + ok. + +%% Test that mixing io:get_chars and file:read works when stdin is in binary mode. +io_get_chars_file_read_stdin_binary_mode(_Config) -> + {ok, P, ErlPort} = start_stdin_node( + fun() -> case file:read(standard_io, 1) of + eof -> eof; + {ok, Chars} -> + case io:get_line(standard_io, "") of + eof -> Chars; + Line -> + {ok, [Chars, Line]} + end + end + end, [binary]), + + erlang:port_command(ErlPort, "1\n"), + {ok, "got: [<<\"1\">>,<<\"\\n\">>]\n"} = gen_tcp:recv(P, 0), + ErlPort ! {self(), close}, + {ok, "got: eof"} = gen_tcp:recv(P, 0), + + ok. + +%% Test that reading from stdin using file:read_line works when io is not utf8 +file_read_stdin_latin1_binary_mode(_Config) -> + {ok, P, ErlPort} = start_stdin_node( + fun() -> file:read_line(standard_io) end, + [binary], + "-kernel standard_io_encoding latin1"), + + %% Invalid utf8 + erlang:port_command(ErlPort, <<192,128,10,192,128,10,192,128,10>>), + + {ok, "got: <<192,128,10>>\n"} = gen_tcp:recv(P, 0, 5000), + {ok, "got: <<192,128,10>>\n"} = gen_tcp:recv(P, 0, 5000), + {ok, "got: <<192,128,10>>\n"} = gen_tcp:recv(P, 0, 5000), + ErlPort ! {self(), close}, + {ok, "got: eof"} = gen_tcp:recv(P, 0, 5000), + + {ok, P2, ErlPort2} = start_stdin_node( + fun() -> file:read(standard_io, 5) end, + [binary], + "-kernel standard_io_encoding latin1"), + + %% Valid utf8 + erlang:port_command(ErlPort2, <<"duπaduπaduπa"/utf8>>), + + {ok, "got: <<100,117,207,128,97>>\n"} = gen_tcp:recv(P2, 0, 5000), + {ok, "got: <<100,117,207,128,97>>\n"} = gen_tcp:recv(P2, 0, 5000), + {ok, "got: <<100,117,207,128,97>>\n"} = gen_tcp:recv(P2, 0, 5000), + ErlPort2 ! {self(), close}, + {ok, "got: eof"} = gen_tcp:recv(P2, 0, 5000), + + %% Setting using io:setopts used to hang on Windows, see #7459 for details. + {ok, P3, ErlPort3} = start_stdin_node( + fun() -> file:read_line(standard_io) end, + [binary], + "-eval \"io:setopts([{encoding, latin1}])\""), + + %% Invalid utf8 + erlang:port_command(ErlPort3, <<192,128,10,192,128,10,192,128,10>>), + + {ok, "got: <<192,128,10>>\n"} = gen_tcp:recv(P3, 0, 5000), + {ok, "got: <<192,128,10>>\n"} = gen_tcp:recv(P3, 0, 5000), + {ok, "got: <<192,128,10>>\n"} = gen_tcp:recv(P3, 0, 5000), + ErlPort3 ! {self(), close}, + {ok, "got: eof"} = gen_tcp:recv(P3, 0, 5000), + + ok. + +%% Test that reading from stdin using file:read_line works when io is not utf8 +file_read_stdin_latin1_list_mode(_Config) -> + {ok, P, ErlPort} = start_stdin_node( + fun() -> file:read_line(standard_io) end, + [list], + "-kernel standard_io_encoding latin1"), + + %% Invalid utf8 + erlang:port_command(ErlPort, <<192,128,10,192,128,10,192,128,10>>), + + {ok, "got: [192,128,10]\n"} = gen_tcp:recv(P, 0, 5000), + {ok, "got: [192,128,10]\n"} = gen_tcp:recv(P, 0, 5000), + {ok, "got: [192,128,10]\n"} = gen_tcp:recv(P, 0, 5000), + ErlPort ! {self(), close}, + {ok, "got: eof"} = gen_tcp:recv(P, 0, 5000), + + {ok, P2, ErlPort2} = start_stdin_node( + fun() -> file:read(standard_io, 5) end, + [list], + "-kernel standard_io_encoding latin1"), + + %% Valid utf8 + erlang:port_command(ErlPort2, <<"duπaduπaduπa"/utf8>>), + + {ok, "got: [100,117,207,128,97]\n"} = gen_tcp:recv(P2, 0, 5000), + {ok, "got: [100,117,207,128,97]\n"} = gen_tcp:recv(P2, 0, 5000), + {ok, "got: [100,117,207,128,97]\n"} = gen_tcp:recv(P2, 0, 5000), + ErlPort2 ! {self(), close}, + {ok, "got: eof"} = gen_tcp:recv(P2, 0, 5000), + + ok. + +%% Test that reading from stdin using file:read works when io is not utf8, +%% but unicode is printed out +io_fwrite_stdin_latin1_mode(_Config) -> + {ok, P, ErlPort} = + start_stdin_node( + fun() -> case file:read(standard_io, 5) of + {ok, Chars} -> + %% We've read a unicode string as latin1, + %% which means that if we convert it to + %% a binary it will be seen as the original + %% unicode string. + io:format("~ts",[list_to_binary(Chars)]), + {ok, Chars}; + Else -> + Else + end + end, + [list], + "-kernel standard_io_encoding latin1"), + + %% Valid utf8 + erlang:port_command(ErlPort, <<"duπa"/utf8>>), + + {ok, "got: [100,117,207,128,97]\n"} = gen_tcp:recv(P, 0, 5000), + receive + {ErlPort, {data, Data}} -> + %% On stdout any unicode should be translated to hex syntax + "du\\x{3C0}a" = Data + end, + + ErlPort ! {self(), close}, + {ok, "got: eof"} = gen_tcp:recv(P, 0, 5000), + + ok. + +start_stdin_node(ReadFun, IoOptions) -> + start_stdin_node(ReadFun, IoOptions, ""). +start_stdin_node(ReadFun, IoOptions, ExtraArgs) -> + {ok, L} = gen_tcp:listen(0,[{active, false},{packet,4}]), + {ok, Port} = inet:port(L), + Cmd = lists:append( + [ct:get_progname(), + " -noshell ", + ExtraArgs, + " -pa ", filename:dirname(code:which(?MODULE)), + " -s ", atom_to_list(?MODULE), " read_raw_from_stdin ", integer_to_list(Port)]), + ct:log("~p~n", [Cmd]), + ErlPort = open_port({spawn, Cmd}, [stream, eof, stderr_to_stdout]), + {ok, P} = gen_tcp:accept(L), + gen_tcp:send(P, term_to_binary(IoOptions)), + gen_tcp:send(P, term_to_binary(ReadFun)), + {ok, P, ErlPort}. + +read_raw_from_stdin([Port]) -> + try + {ok, P} = gen_tcp:connect(localhost, list_to_integer(atom_to_list(Port)), + [binary, {packet, 4}, {active, false}]), + {ok, OptionsBin} = gen_tcp:recv(P, 0), + io:setopts(standard_io, binary_to_term(OptionsBin)), + {ok, ReadFunBin} = gen_tcp:recv(P, 0), + spawn(fun() -> + gen_tcp:recv(P, 0), + init:stop("crash") + end), + read_raw_from_stdin(binary_to_term(ReadFunBin), P) + catch E:R:ST -> + io:format(standard_error, "~p ~p",[Port,{E,R,ST}]) + end. +read_raw_from_stdin(ReadFun, P) -> + case ReadFun() of + eof -> + gen_tcp:send(P, "got: eof"), + init:stop(); + {ok, Char} -> + gen_tcp:send(P, unicode:characters_to_binary( + io_lib:format("got: ~p\n",[Char]))), + read_raw_from_stdin(ReadFun, P); + {ok, Fmt, Char} -> + gen_tcp:send(P, unicode:characters_to_binary( + io_lib:format("got: "++Fmt++"\n",[Char]))), + read_raw_from_stdin(ReadFun, P) + end. get_lc_ctype() -> case {os:type(),os:version()} of diff --git a/lib/stdlib/test/lists_SUITE.erl b/lib/stdlib/test/lists_SUITE.erl index 59f2e8bd0350..7a73e1bc8205 100644 --- a/lib/stdlib/test/lists_SUITE.erl +++ b/lib/stdlib/test/lists_SUITE.erl @@ -39,20 +39,14 @@ sublist_2/1, sublist_3/1, sublist_2_e/1, sublist_3_e/1, flatten_1/1, flatten_2/1, flatten_1_e/1, flatten_2_e/1, dropwhile/1, takewhile/1, - sort_1/1, sort_stable/1, merge/1, rmerge/1, sort_rand/1, - usort_1/1, usort_stable/1, umerge/1, rumerge/1,usort_rand/1, + sort_1/1, merge/1, rmerge/1, sort_rand/1, + usort_1/1, umerge/1, rumerge/1,usort_rand/1, keymerge/1, rkeymerge/1, - keysort_1/1, keysort_i/1, keysort_stable/1, + keysort_1/1, keysort_i/1, keysort_rand/1, keysort_error/1, ukeymerge/1, rukeymerge/1, - ukeysort_1/1, ukeysort_i/1, ukeysort_stable/1, + ukeysort_1/1, ukeysort_i/1, ukeysort_rand/1, ukeysort_error/1, - funmerge/1, rfunmerge/1, - funsort_1/1, funsort_stable/1, funsort_rand/1, - funsort_error/1, - ufunmerge/1, rufunmerge/1, - ufunsort_1/1, ufunsort_stable/1, ufunsort_rand/1, - ufunsort_error/1, uniq_1/1, uniq_2/1, zip_unzip/1, zip_unzip3/1, zipwith/1, zipwith3/1, zip_fail/1, zip_trim/1, zip_pad/1, @@ -73,9 +67,6 @@ -export([sort_loop/0, sort_loop/1, sloop/1]). -%% Internal export. --export([make_fun/1]). - %% %% all/1 %% @@ -91,8 +82,6 @@ all() -> {group, keysort}, {group, ukeysort}, {group, uniq}, - {group, funsort}, - {group, ufunsort}, {group, sublist}, {group, flatten}, {group, seq}, @@ -103,22 +92,16 @@ all() -> groups() -> [{append, [parallel], [append_1, append_2]}, {usort, [parallel], - [umerge, rumerge, usort_1, usort_rand, usort_stable]}, + [umerge, rumerge, usort_1, usort_rand]}, {keysort, [parallel], [keymerge, rkeymerge, keysort_1, keysort_rand, - keysort_i, keysort_stable, keysort_error]}, + keysort_i, keysort_error]}, {key, [parallel], [keymember, keysearch_keyfind, keystore, keytake, keyreplace]}, {sort,[parallel],[merge, rmerge, sort_1, sort_rand]}, {ukeysort, [parallel], [ukeymerge, rukeymerge, ukeysort_1, ukeysort_rand, - ukeysort_i, ukeysort_stable, ukeysort_error]}, - {funsort, [parallel], - [funmerge, rfunmerge, funsort_1, funsort_stable, - funsort_error, funsort_rand]}, - {ufunsort, [parallel], - [ufunmerge, rufunmerge, ufunsort_1, ufunsort_stable, - ufunsort_error, ufunsort_rand]}, + ukeysort_i, ukeysort_error]}, {seq, [parallel], [seq_loop, seq_2, seq_3, seq_2_e, seq_3_e]}, {sublist, [parallel], [sublist_2, sublist_3, sublist_2_e, sublist_3_e]}, @@ -647,21 +630,6 @@ sort_rand(Config) when is_list(Config) -> ok = check(biglist(10000)), ok. -%% sort/1 was really stable for a while - the order of equal elements -%% was kept - but since the performance suffered a bit, this "feature" -%% was removed. - -%% sort/1 should be stable for equal terms. -sort_stable(Config) when is_list(Config) -> - ok = check_stability(bigfunlist(10)), - ok = check_stability(bigfunlist(100)), - ok = check_stability(bigfunlist(1000)), - case erlang:system_info(modified_timing_level) of - undefined -> ok = check_stability(bigfunlist(10000)); - _ -> ok - end, - ok. - check([]) -> ok; check(L) -> @@ -681,23 +649,6 @@ check(A, [B | L]) when A =< B -> check(_A, _L) -> no. -%% The check that sort/1 is stable is no longer used. -%% Equal elements are no longer always kept in order. -check_stability(L) -> - S = lists:sort(L), - LP = explicit_pid(L), - SP = explicit_pid(S), - check_sorted(1, 2, LP, SP). - -explicit_pid(L) -> - lists:reverse(expl_pid(L, [])). - -expl_pid([{I,F} | T], L) when is_function(F) -> - expl_pid(T, [{I,fun_pid(F)} | L]); -expl_pid([], L) -> - L. - - usort_1(Conf) when is_list(Conf) -> [] = lists:usort([]), [1] = lists:usort([1]), @@ -944,18 +895,6 @@ usort_rand(Config) when is_list(Config) -> ok = ucheck(ubiglist(10000)), ok. -%% usort/1 should keep the first duplicate. -usort_stable(Config) when is_list(Config) -> - ok = ucheck_stability(bigfunlist(3)), - ok = ucheck_stability(bigfunlist(10)), - ok = ucheck_stability(bigfunlist(100)), - ok = ucheck_stability(bigfunlist(1000)), - case erlang:system_info(modified_timing_level) of - undefined -> ok = ucheck_stability(bigfunlist(10000)); - _ -> ok - end, - ok. - ucheck([]) -> ok; ucheck(L) -> @@ -975,13 +914,6 @@ ucheck(A, [B | L]) when A < B -> ucheck(_A, _L) -> no. -%% Check that usort/1 is stable and correct relative ukeysort/2. -ucheck_stability(L) -> - S = no_dups(lsort(L)), - U = lists:usort(L), - check_stab(L, U, S, "usort/1", "ukeysort/2"). - - %% Key merge two lists. keymerge(Config) when is_list(Config) -> @@ -1105,18 +1037,6 @@ keysort_1(Config) when is_list(Config) -> ok. -%% keysort should be stable -keysort_stable(Config) when is_list(Config) -> - ok = keysort_check(1, [{1,b},{1,c}], [{1,b},{1,c}]), - ok = keysort_check(1, [{1,c},{1,b}], [{1,c},{1,b}]), - ok = keysort_check(1, - [{1,c},{1,b},{2,x},{3,p},{2,a}], - [{1,c},{1,b},{2,x},{2,a},{3,p}]), - ok = keysort_check(1, - [{1,a},{1,b},{1,a},{1,a}], - [{1,a},{1,b},{1,a},{1,a}]), - ok. - %% keysort should exit when given bad arguments keysort_error(Config) when is_list(Config) -> {'EXIT', _} = (catch lists:keysort(0, [{1,b},{1,c}])), @@ -1373,27 +1293,6 @@ ukeysort_1(Config) when is_list(Config) -> ok. -%% ukeysort should keep the first duplicate. -ukeysort_stable(Config) when is_list(Config) -> - ok = ukeysort_check(1, [{1,b},{1,c}], [{1,b}]), - ok = ukeysort_check(1, [{1,c},{1,b}], [{1,c}]), - ok = ukeysort_check(1, - [{1,c},{1,b},{2,x},{3,p},{2,a}], - [{1,c},{2,x},{3,p}]), - - ok = ukeysort_check(1, [{1,a},{1,b},{1,b}], [{1,a}]), - ok = ukeysort_check(1, [{2,a},{1,b},{2,a}], [{1,b},{2,a}]), - - ok = ukeysort_check_stability(bigfunlist(3)), - ok = ukeysort_check_stability(bigfunlist(10)), - ok = ukeysort_check_stability(bigfunlist(100)), - ok = ukeysort_check_stability(bigfunlist(1000)), - case erlang:system_info(modified_timing_level) of - undefined -> ok = ukeysort_check_stability(bigfunlist(10000)); - _ -> ok - end, - ok. - %% ukeysort should exit when given bad arguments. ukeysort_error(Config) when is_list(Config) -> {'EXIT', _} = (catch lists:ukeysort(0, [{1,b},{1,c}])), @@ -1438,13 +1337,6 @@ gen_ukeysort_check(I, Input) -> erlang:error(gen_ukeysort_check) end. -%% Used for checking that the first copy is kept. -ukeysort_check_stability(L) -> - I = 1, - U = lists:ukeysort(I, L), - S = no_dups_keys(lkeysort(I, L), I), - check_stab(L, U, S, "ukeysort/2", "usort/2"). - %%% Uniquely keysort a list, check that the returned list is what we %%% expected, and that it is actually sorted. ukeysort_check(I, Input, Expected) -> @@ -1483,395 +1375,6 @@ ukeycompare(I, J, A, B) when A =/= B, element(J, A) =< element(J, B) -> ok. - - -%% Merge two lists using a fun. -funmerge(Config) when is_list(Config) -> - - Singleton = id([a, b, c]), - Two = [1,2], - Six = [1,2,3,4,5,6], - F = fun(X, Y) -> X =< Y end, - - %% 2-way merge - [] = lists:merge(F, [], []), - Two = lists:merge(F, Two, []), - Two = lists:merge(F, [], Two), - Six = lists:merge(F, [1,3,5], [2,4,6]), - Six = lists:merge(F, [2,4,6], [1,3,5]), - Six = lists:merge(F, [1,2,3], [4,5,6]), - Six = lists:merge(F, [4,5,6], [1,2,3]), - Six = lists:merge(F, [1,2,5],[3,4,6]), - [1,2,3,5,7] = lists:merge(F, [1,3,5,7], [2]), - [1,2,3,4,5,7] = lists:merge(F, [1,3,5,7], [2,4]), - [1,2,3,4,5,6,7] = lists:merge(F, [1,3,5,7], [2,4,6]), - [1,2,3,5,7] = lists:merge(F, [2], [1,3,5,7]), - [1,2,3,4,5,7] = lists:merge(F, [2,4], [1,3,5,7]), - [1,2,3,4,5,6,7] = lists:merge(F, [2,4,6], [1,3,5,7]), - - F2 = fun(X,Y) -> element(1,X) =< element(1,Y) end, - [{b,2},{c,11},{c,12},{c,21},{c,22},{e,5}] = - lists:merge(F2,[{c,11},{c,12},{e,5}], [{b,2},{c,21},{c,22}]), - - true = erts_debug:same(Singleton, lists:merge(F, Singleton, [])), - true = erts_debug:same(Singleton, lists:merge(F, [], Singleton)), - - {'EXIT', _} = (catch lists:merge(F, a, b)), - {'EXIT', _} = (catch lists:merge(F, a, [])), - {'EXIT', _} = (catch lists:merge(F, [], b)), - {'EXIT', _} = (catch lists:merge(F, a, [1, 2, 3])), - {'EXIT', _} = (catch lists:merge(F, [1, 2, 3], b)), - - ok. - -%% Reverse merge two lists using a fun. -rfunmerge(Config) when is_list(Config) -> - - Singleton = id([a, b, c]), - Two = [2,1], - Six = [6,5,4,3,2,1], - F = fun(X, Y) -> X =< Y end, - - %% 2-way reversed merge - [] = lists:rmerge(F, [], []), - Two = lists:rmerge(F, Two, []), - Two = lists:rmerge(F, [], Two), - Six = lists:rmerge(F, [5,3,1], [6,4,2]), - Six = lists:rmerge(F, [6,4,2], [5,3,1]), - Six = lists:rmerge(F, [3,2,1], [6,5,4]), - Six = lists:rmerge(F, [6,5,4], [3,2,1]), - Six = lists:rmerge(F, [4,3,2],[6,5,1]), - [7,6,5,3,1] = lists:rmerge(F, [7,5,3,1], [6]), - [7,6,5,4,3,1] = lists:rmerge(F, [7,5,3,1], [6,4]), - [7,6,5,4,3,2,1] = lists:rmerge(F, [7,5,3,1], [6,4,2]), - [7,5,3,2,1] = lists:rmerge(F, [2], [7,5,3,1]), - [7,5,4,3,2,1] = lists:rmerge(F, [4,2], [7,5,3,1]), - [7,6,5,4,3,2,1] = lists:rmerge(F, [6,4,2], [7,5,3,1]), - - F2 = fun(X,Y) -> element(1,X) =< element(1,Y) end, - L1 = [{c,11},{c,12},{e,5}], - L2 = [{b,2},{c,21},{c,22}], - true = - lists:merge(F2, L1, L2) == - lists:reverse(lists:rmerge(F2,lists:reverse(L1), lists:reverse(L2))), - - true = erts_debug:same(Singleton, lists:rmerge(F, Singleton, [])), - true = erts_debug:same(Singleton, lists:rmerge(F, [], Singleton)), - - {'EXIT', _} = (catch lists:rmerge(F, a, b)), - {'EXIT', _} = (catch lists:rmerge(F, a, [])), - {'EXIT', _} = (catch lists:rmerge(F, [], b)), - {'EXIT', _} = (catch lists:rmerge(F, a, [1, 2, 3])), - {'EXIT', _} = (catch lists:rmerge(F, [1, 2, 3], b)), - - ok. - - -funsort_1(Config) when is_list(Config) -> - ok = funsort_check(1, [], []), - ok = funsort_check(1, [{a,b}], [{a,b}]), - ok = funsort_check(1, [{a,b},{a,b}], [{a,b},{a,b}]), - ok = funsort_check(1, [{a,b},{b,c}], [{a,b},{b,c}]), - ok = funsort_check(1, [{b,c},{a,b}], [{a,b},{b,c}]), - ok = funsort_check(1, - [{1,e},{3,f},{2,y},{0,z},{x,14}], - [{0,z},{1,e},{2,y},{3,f},{x,14}]), - F = funsort_fun(1), - - [{b,1},{c,1}] = lists:sort(F, [{c,1},{b,1}]), - [{a,0},{b,2},{c,3},{d,4}] = - lists:sort(F, [{d,4},{c,3},{b,2},{a,0}]), - [{a,0},{b,1},{b,2},{c,1}] = - lists:sort(F, [{c,1},{b,1},{b,2},{a,0}]), - [{a,0},{b,1},{b,2},{c,1},{d,4}] = - lists:sort(F, [{c,1},{b,1},{b,2},{a,0},{d,4}]), - - SFun = fun(L) -> fun(X) -> funsort_check(1, X, L) end end, - L1 = [{1,a},{1,a},{2,b},{2,b},{3,c},{4,d},{5,e},{6,f}], - lists:foreach(SFun(L1), perms(L1)), - - ok. - -%% sort/2 should be stable. -funsort_stable(Config) when is_list(Config) -> - ok = funsort_check(1, [{1,b},{1,c}], [{1,b},{1,c}]), - ok = funsort_check(1, [{1,c},{1,b}], [{1,c},{1,b}]), - ok = funsort_check(1, - [{1,c},{1,b},{2,x},{3,p},{2,a}], - [{1,c},{1,b},{2,x},{2,a},{3,p}]), - ok. - -%% sort/2 should exit when given bad arguments. -funsort_error(Config) when is_list(Config) -> - {'EXIT', _} = (catch lists:sort(1, [{1,b} , {1,c}])), - {'EXIT', _} = (catch lists:sort(fun(X,Y) -> X =< Y end, - [{1,b} | {1,c}])), - ok. - -%% sort/2 on big randomized lists. -funsort_rand(Config) when is_list(Config) -> - ok = funsort_check3(1, biglist(10)), - ok = funsort_check3(1, biglist(100)), - ok = funsort_check3(1, biglist(1000)), - ok = funsort_check3(1, biglist(10000)), - ok. - -%% Do a keysort -funsort(I, L) -> - lists:sort(funsort_fun(I), L). - -funsort_check3(I, Input) -> - check_sorted(I, 3, Input, funsort(I, Input)). - -%%% Keysort a list, check that the returned list is what we expected, -%%% and that it is actually sorted. -funsort_check(I, Input, Expected) -> - Expected = funsort(I, Input), - check_sorted(I, Input, Expected). - - -%% Merge two lists while removing duplicates using a fun. -ufunmerge(Conf) when is_list(Conf) -> - - Singleton = id([a, b, c]), - Two = [1,2], - Six = [1,2,3,4,5,6], - F = fun(X, Y) -> X =< Y end, - - %% 2-way unique merge - [] = lists:umerge(F, [], []), - Two = lists:umerge(F, Two, []), - Two = lists:umerge(F, [], Two), - Six = lists:umerge(F, [1,3,5], [2,4,6]), - Six = lists:umerge(F, [2,4,6], [1,3,5]), - Six = lists:umerge(F, [1,2,3], [4,5,6]), - Six = lists:umerge(F, [4,5,6], [1,2,3]), - Six = lists:umerge(F, [1,2,5],[3,4,6]), - [1,2,3,5,7] = lists:umerge(F, [1,3,5,7], [2]), - [1,2,3,4,5,7] = lists:umerge(F, [1,3,5,7], [2,4]), - [1,2,3,4,5,6,7] = lists:umerge(F, [1,3,5,7], [2,4,6]), - [1,2,3,5,7] = lists:umerge(F, [2], [1,3,5,7]), - [1,2,3,4,5,7] = lists:umerge(F, [2,4], [1,3,5,7]), - [1,2,3,4,5,6,7] = lists:umerge(F, [2,4,6], [1,3,5,7]), - - [1,2,3,5,7] = lists:umerge(F, [1,2,3,5,7], [2]), - [1,2,3,4,5,7] = lists:umerge(F, [1,2,3,4,5,7], [2,4]), - [1,2,3,4,5,6,7] = lists:umerge(F, [1,3,5,6,7], [2,4,6]), - [1,2,3,5,7] = lists:umerge(F, [2], [1,2,3,5,7]), - [1,2,3,4,5,7] = lists:umerge(F, [2,4], [1,2,3,4,5,7]), - [1,2,3,4,5,6,7] = lists:umerge(F, [2,4,6], [1,2,3,4,5,6,7]), - - L1 = [{a,1},{a,3},{a,5},{a,7}], - L2 = [{b,1},{b,3},{b,5},{b,7}], - F2 = fun(X,Y) -> element(2,X) =< element(2,Y) end, - L1 = lists:umerge(F2, L1, L2), - [{b,2},{e,5},{c,11},{c,12},{c,21},{c,22}] = - lists:umerge(F2, [{e,5},{c,11},{c,12}], [{b,2},{c,21},{c,22}]), - - true = erts_debug:same(Singleton, lists:umerge(F, Singleton, [])), - true = erts_debug:same(Singleton, lists:umerge(F, [], Singleton)), - - {'EXIT', _} = (catch lists:umerge(F, a, b)), - {'EXIT', _} = (catch lists:umerge(F, a, [])), - {'EXIT', _} = (catch lists:umerge(F, [], b)), - {'EXIT', _} = (catch lists:umerge(F, a, [1, 2, 3])), - {'EXIT', _} = (catch lists:umerge(F, [1, 2, 3], b)), - - ok. - -%% Reverse merge two lists while removing duplicates using a fun. -rufunmerge(Conf) when is_list(Conf) -> - Singleton = id([a, b, c]), - Two = [2,1], - Six = [6,5,4,3,2,1], - F = fun(X, Y) -> X =< Y end, - - %% 2-way reversed unique merge - [] = lists:rumerge(F, [], []), - Two = lists:rumerge(F, Two, []), - Two = lists:rumerge(F, [], Two), - Six = lists:rumerge(F, [5,3,1], [6,4,2]), - Six = lists:rumerge(F, [6,4,2], [5,3,1]), - Six = lists:rumerge(F, [3,2,1], [6,5,4]), - Six = lists:rumerge(F, [6,5,4], [3,2,1]), - Six = lists:rumerge(F, [4,3,2],[6,5,1]), - [7,6,5,3,1] = lists:rumerge(F, [7,5,3,1], [6]), - [7,6,5,4,3,1] = lists:rumerge(F, [7,5,3,1], [6,4]), - [7,6,5,4,3,2,1] = lists:rumerge(F, [7,5,3,1], [6,4,2]), - [7,5,3,2,1] = lists:rumerge(F, [2], [7,5,3,1]), - [7,5,4,3,2,1] = lists:rumerge(F, [4,2], [7,5,3,1]), - [7,6,5,4,3,2,1] = lists:rumerge(F, [6,4,2], [7,5,3,1]), - - [7,6,5,3,1] = lists:rumerge(F, [7,6,5,3,1], [6]), - [7,6,5,4,3,1] = lists:rumerge(F, [7,6,5,4,3,1], [6,4]), - [7,6,5,4,3,2,1] = lists:rumerge(F, [7,6,5,4,3,2,1], [6,4,2]), - [7,5,3,2,1] = lists:rumerge(F, [2], [7,5,3,2,1]), - [7,5,4,3,2,1] = lists:rumerge(F, [4,2], [7,5,4,3,2,1]), - [7,6,5,4,3,2,1] = lists:rumerge(F, [6,4,2], [7,6,5,4,3,2,1]), - - F2 = fun(X,Y) -> element(1,X) =< element(1,Y) end, - L1 = [{1,a},{1,b},{1,a}], - L2 = [{1,a},{1,b},{1,a}], - true = lists:umerge(F2, L1, L2) == - lists:reverse(lists:rumerge(F, lists:reverse(L2), lists:reverse(L1))), - - L3 = [{c,11},{c,12},{e,5}], - L4 = [{b,2},{c,21},{c,22}], - true = - lists:umerge(F2, L3, L4) == - lists:reverse(lists:rumerge(F2,lists:reverse(L3), lists:reverse(L4))), - - true = erts_debug:same(Singleton, lists:rumerge(F, Singleton, [])), - true = erts_debug:same(Singleton, lists:rumerge(F, [], Singleton)), - - {'EXIT', _} = (catch lists:rumerge(F, a, b)), - {'EXIT', _} = (catch lists:rumerge(F, a, [])), - {'EXIT', _} = (catch lists:rumerge(F, [], b)), - {'EXIT', _} = (catch lists:rumerge(F, a, [1, 2, 3])), - {'EXIT', _} = (catch lists:rumerge(F, [1, 2, 3], b)), - - ok. - -ufunsort_1(Config) when is_list(Config) -> - ok = ufunsort_check(1, [], []), - ok = ufunsort_check(1, [{a,b}], [{a,b}]), - ok = ufunsort_check(1, [{a,b},{a,b}], [{a,b}]), - ok = ufunsort_check(1, [{a,b},{b,c}], [{a,b},{b,c}]), - ok = ufunsort_check(1, [{b,c},{a,b}], [{a,b},{b,c}]), - ok = ufunsort_check(1, - [{1,e},{3,f},{2,y},{0,z},{x,14}], - [{0,z},{1,e},{2,y},{3,f},{x,14}]), - ok = ufunsort_check(1, - [{1,a},{2,b},{3,c},{2,b},{1,a},{2,b},{3,c}, - {2,b},{1,a}], - [{1,a},{2,b},{3,c}]), - ok = ufunsort_check(1, - [{1,a},{1,a},{1,b},{1,b},{1,a},{2,a}], - [{1,a},{2,a}]), - - F = funsort_fun(1), - L1 = [{1,a},{1,b},{1,a}], - L2 = [{1,a},{1,b},{1,a}], - ok = ufunsort_check(1, lists:keymerge(1, L1, L2), - lists:umerge(F, lists:usort(F, L1), - lists:usort(F, L2))), - L3 = [{1,a},{1,b},{1,a},{2,a}], - ok = ufunsort_check(1, lists:keymerge(1, L3, L2), - lists:umerge(F, lists:usort(F, L3), - lists:usort(F, L2))), - L4 = [{1,b},{1,a}], - ok = ufunsort_check(1, lists:keymerge(1, L1, L4), - lists:umerge(F, lists:usort(F, L1), - lists:usort(F, L4))), - L5 = [{1,a},{1,b},{1,a},{2,a}], - ok = ufunsort_check(1, lists:keymerge(1, L5, []), - lists:umerge(F, lists:usort(F, L5), [])), - L6 = [{3,a}], - ok = ufunsort_check(1, lists:keymerge(1, L5, L6), - lists:umerge(F, lists:usort(F, L5), - lists:usort(F, L6))), - - [{b,1},{c,1}] = lists:usort(F, [{c,1},{c,1},{b,1}]), - [{a,0},{b,2},{c,3},{d,4}] = - lists:usort(F, [{d,4},{c,3},{b,2},{b,2},{a,0}]), - [{a,0},{b,1},{c,1}] = - lists:usort(F, [{c,1},{b,1},{b,1},{b,2},{b,2},{a,0}]), - [{a,0},{b,1},{c,1},{d,4}] = - lists:usort(F, [{c,1},{b,1},{b,2},{a,0},{a,0},{d,4},{d,4}]), - - SFun = fun(L) -> fun(X) -> ufunsort_check(1, X, L) end end, - PL = [{1,a},{2,b},{3,c},{4,d},{5,e},{6,f}], - Ps = perms([{1,a},{2,b},{3,c},{4,d},{5,e},{6,f},{2,b},{1,a}]), - lists:foreach(SFun(PL), Ps), - - ok. - -%% usort/2 should be stable. -ufunsort_stable(Config) when is_list(Config) -> - ok = ufunsort_check(1, [{1,b},{1,c}], [{1,b}]), - ok = ufunsort_check(1, [{1,c},{1,b}], [{1,c}]), - ok = ufunsort_check(1, - [{1,c},{1,b},{2,x},{3,p},{2,a}], - [{1,c},{2,x},{3,p}]), - - ok = ufunsort_check_stability(bigfunlist(10)), - ok = ufunsort_check_stability(bigfunlist(100)), - ok = ufunsort_check_stability(bigfunlist(1000)), - case erlang:system_info(modified_timing_level) of - undefined -> ok = ufunsort_check_stability(bigfunlist(10000)); - _ -> ok - end, - ok. - -%% usort/2 should exit when given bad arguments. -ufunsort_error(Config) when is_list(Config) -> - {'EXIT', _} = (catch lists:usort(1, [{1,b} , {1,c}])), - {'EXIT', _} = (catch lists:usort(fun(X,Y) -> X =< Y end, - [{1,b} | {1,c}])), - ok. - -%% usort/2 on big randomized lists. -ufunsort_rand(Config) when is_list(Config) -> - ok = ufunsort_check3(1, biglist(10)), - ok = ufunsort_check3(1, biglist(100)), - ok = ufunsort_check3(1, biglist(1000)), - ok = ufunsort_check3(1, biglist(10000)), - - ok = gen_ufunsort_check(1, ubiglist(100)), - ok = gen_ufunsort_check(1, ubiglist(1000)), - ok = gen_ufunsort_check(1, ubiglist(10000)), - ok. - -%% Check that usort/2 is stable and correct relative sort/2. -gen_ufunsort_check(I, Input) -> - U = ufunsort(I, Input), - S = funsort(I, Input), - case U == no_dups_keys(S, I) of - true -> - ok; - false -> - io:format("~w~n", [Input]), - erlang:error(gen_ufunsort_check) - end. - -%% Used for checking that the first copy is kept. -ufunsort_check_stability(L) -> - I = 1, - U = ufunsort(I, L), - S = no_dups(funsort(I, L)), - check_stab(L, U, S, "usort/2", "sort/2"). - -ufunsort_check3(I, Input) -> - ucheck_sorted(I, 3, Input, ufunsort(I, Input)). - -%%% Keysort a list, check that the returned list is what we expected, -%%% and that it is actually sorted. -ufunsort_check(I, Input, Expected) -> - Expected = ufunsort(I, Input), - ucheck_sorted(I, Input, Expected). - -%% Do a keysort -ufunsort(I, L) -> - lists:usort(funsort_fun(I), L). - -funsort_fun(I) -> - fun(A, B) when tuple_size(A) >= I, tuple_size(B) >= I -> - element(I, A) =< element(I, B) - end. - -check_stab(L, U, S, US, SS) -> - UP = explicit_pid(U), - SP = explicit_pid(S), - case UP == SP of - true -> - ok; - false -> - io:format("In: ~w~n", [explicit_pid(L)]), - io:format("~s: ~w~n", [US, UP]), - io:format("~s: ~w~n", [SS, SP]), - erlang:error(unstable) - end. - %%%------------------------------------------------------------ %%% Generate lists of given length, containing 3-tuples with %%% random integer elements in the range 0..44 as elements 1 and 2. @@ -1908,50 +1411,6 @@ urandom_tuple(N, I) -> R2 = randint(I), {R1, R2}. -%%%------------------------------------------------------------ -%%% Generate lists of given length, containing 2-tuples with random -%%% integer elements in the range 0..10 as elements 1. All tuples have -%%% the same function as element 2, but every function is created in a -%%% unique process. ==/2 will return 'true' for any pair of functions, -%%% but erlang:fun_info(Fun, pid) can be used for distinguishing -%%% functions created in different processes. The pid acts like a -%%% sequence number. - -bigfunlist(N) -> - rand:seed(exsplus), - bigfunlist_1(N). - -bigfunlist_1(N) when N < 30000 -> % Now (R8) max 32000 different pids. - case catch bigfunlist(N, 0, []) of - {'EXIT', _} -> - bigfunlist_1(N); - Reply -> - Reply - end. - -bigfunlist(0, _P, L) -> - lists:reverse(L); -bigfunlist(N, P, L) -> - {E, NP} = random_funtuple(P, 11), - bigfunlist(N-1, NP, [E | L]). - -random_funtuple(P, N) -> - R = randint(N), - F = make_fun(), - NP = fun_pid(F), - true = NP > P, - {{R, F}, NP}. - -make_fun() -> - Pid = spawn(?MODULE, make_fun, [self()]), - receive {Pid, Fun} -> Fun end. - -make_fun(Pid) -> - Pid ! {self(), fun (X) -> {X, Pid} end}. - -fun_pid(Fun) -> - erlang:fun_info(Fun, pid). - random_tuple(N, Seq) -> R1 = randint(N), R2 = randint(N), @@ -1960,19 +1419,6 @@ random_tuple(N, Seq) -> randint(N) -> trunc(rand:uniform() * N). -%% The first "duplicate" is kept. -no_dups([]) -> - []; -no_dups([H | T]) -> - no_dups(H, T, []). - -no_dups(H, [H1 | T], L) when H == H1 -> - no_dups(H, T, L); -no_dups(H, [H1 | T], L) -> - no_dups(H1, T, [H | L]); -no_dups(H, [], L) -> - lists:reverse([H | L]). - %% The first "duplicate" is kept. no_dups_keys([], _I) -> []; @@ -1994,7 +1440,7 @@ perms(L) -> %%%------------------------------------------------------------ %%% Test the sort routines with randomly generated lists. --record(state, {sort = 0, usort = 0, stable = 0}). +-record(state, {sort = 0, usort = 0}). %% Run it interactively. 'stop' or 'info' recognized commands. sort_loop() -> @@ -2037,289 +1483,19 @@ sloop(N, S) -> BL = biglist(Len, []), ok = check(BL), ok = keysort_check3(1, BL), - ok = funsort_check3(1, BL), S#state{sort = S#state.sort + 1}; 1 -> BL = ubiglist(Len, []), ok = ucheck(BL), ok = gen_ukeysort_check(1, BL), - ok = gen_ufunsort_check(1, BL), - S#state{usort = S#state.usort + 1}; - 2 -> - BL = bigfunlist(Len), - %% ok = check_stability(BL), - ok = ucheck_stability(BL), - ok = ukeysort_check_stability(BL), - ok = ufunsort_check_stability(BL), - S#state{stable = S#state.stable + 1} + S#state{usort = S#state.usort + 1} end, sloop(N, NS) end. display_state(S) -> io:format("sort: ~p~n", [S#state.sort]), - io:format("usort: ~p~n", [S#state.usort]), - io:format("stable: ~p~n", [S#state.stable]). - -%% This version of sort/1 is really stable; the order of equal -%% elements is kept. It is used for checking the current -%% implementation of usort/1 etc. - -lsort([X, Y | L] = L0) when X =< Y -> - case L of - [] -> - L0; - [Z] when Y =< Z -> - L0; - [Z] when X =< Z -> - [X, Z, Y]; - [Z] -> - [Z, X, Y]; - _ -> - split_1(X, Y, L, [], []) - end; -lsort([X, Y | L]) -> - case L of - [] -> - [Y, X]; - [Z] when X =< Z -> - [Y, X | L]; - [Z] when Y =< Z -> - [Y, Z, X]; - [Z] -> - [Z, Y, X]; - _ -> - split_2(X, Y, L, [], []) - end; -lsort([_] = L) -> - L; -lsort([] = L) -> - L. - -split_1(X, Y, [Z | L], R, Rs) when Z >= Y -> - split_1(Y, Z, L, [X | R], Rs); -split_1(X, Y, [Z | L], R, Rs) when Z >= X -> - split_1(Z, Y, L, [X | R], Rs); -split_1(X, Y, [Z | L], [], Rs) -> - split_1(X, Y, L, [Z], Rs); -split_1(X, Y, [Z | L], R, Rs) -> - split_1_1(X, Y, L, R, Rs, Z); -split_1(X, Y, [], R, Rs) -> - rmergel([[Y, X | R] | Rs], [], asc). - -split_1_1(X, Y, [Z | L], R, Rs, S) when Z >= Y -> - split_1_1(Y, Z, L, [X | R], Rs, S); -split_1_1(X, Y, [Z | L], R, Rs, S) when Z >= X -> - split_1_1(Z, Y, L, [X | R], Rs, S); -split_1_1(X, Y, [Z | L], R, Rs, S) when S =< Z -> - split_1(S, Z, L, [], [[Y, X | R] | Rs]); -split_1_1(X, Y, [Z | L], R, Rs, S) -> - split_1(Z, S, L, [], [[Y, X | R] | Rs]); -split_1_1(X, Y, [], R, Rs, S) -> - rmergel([[S], [Y, X | R] | Rs], [], asc). - -split_2(X, Y, [Z | L], R, Rs) when Z < Y -> - split_2(Y, Z, L, [X | R], Rs); -split_2(X, Y, [Z | L], R, Rs) when Z < X -> - split_2(Z, Y, L, [X | R], Rs); -split_2(X, Y, [Z | L], [], Rs) -> - split_2(X, Y, L, [Z], Rs); -split_2(X, Y, [Z | L], R, Rs) -> - split_2_1(X, Y, L, R, Rs, Z); -split_2(X, Y, [], R, Rs) -> - mergel([[Y, X | R] | Rs], [], desc). - -split_2_1(X, Y, [Z | L], R, Rs, S) when Z < Y -> - split_2_1(Y, Z, L, [X | R], Rs, S); -split_2_1(X, Y, [Z | L], R, Rs, S) when Z < X -> - split_2_1(Z, Y, L, [X | R], Rs, S); -split_2_1(X, Y, [Z | L], R, Rs, S) when S > Z -> - split_2(S, Z, L, [], [[Y, X | R] | Rs]); -split_2_1(X, Y, [Z | L], R, Rs, S) -> - split_2(Z, S, L, [], [[Y, X | R] | Rs]); -split_2_1(X, Y, [], R, Rs, S) -> - mergel([[S], [Y, X | R] | Rs], [], desc). - -mergel([[] | L], Acc, O) -> - mergel(L, Acc, O); -mergel([T1, [H2 | T2] | L], Acc, asc) -> - mergel(L, [merge2_1(T1, H2, T2, []) | Acc], asc); -mergel([[H2 | T2], T1 | L], Acc, desc) -> - mergel(L, [merge2_1(T1, H2, T2, []) | Acc], desc); -mergel([L], [], _O) -> - L; -mergel([L], Acc, O) -> - rmergel([lists:reverse(L, []) | Acc], [], O); -mergel([], [], _O) -> - []; -mergel([], Acc, O) -> - rmergel(Acc, [], O); -mergel([A, [] | L], Acc, O) -> - mergel([A | L], Acc, O); -mergel([A, B, [] | L], Acc, O) -> - mergel([A, B | L], Acc, O). - -rmergel([[H2 | T2], T1 | L], Acc, asc) -> - rmergel(L, [rmerge2_1(T1, H2, T2, []) | Acc], asc); -rmergel([T1, [H2 | T2] | L], Acc, desc) -> - rmergel(L, [rmerge2_1(T1, H2, T2, []) | Acc], desc); -rmergel([L], Acc, O) -> - mergel([lists:reverse(L, []) | Acc], [], O); -rmergel([], Acc, O) -> - mergel(Acc, [], O). - -merge2_1([H1 | T1], H2, T2, M) when H1 =< H2 -> - merge2_1(T1, H2, T2, [H1 | M]); -merge2_1([H1 | T1], H2, T2, M) -> - merge2_2(T1, H1, T2, [H2 | M]); -merge2_1([], H2, T2, M) -> - lists:reverse(T2, [H2 | M]). - -merge2_2(T1, H1, [H2 | T2], M) when H1 =< H2 -> - merge2_1(T1, H2, T2, [H1 | M]); -merge2_2(T1, H1, [H2 | T2], M) -> - merge2_2(T1, H1, T2, [H2 | M]); -merge2_2(T1, H1, [], M) -> - lists:reverse(T1, [H1 | M]). - -rmerge2_1([H1 | T1], H2, T2, M) when H1 =< H2 -> - rmerge2_2(T1, H1, T2, [H2 | M]); -rmerge2_1([H1 | T1], H2, T2, M) -> - rmerge2_1(T1, H2, T2, [H1 | M]); -rmerge2_1([], H2, T2, M) -> - lists:reverse(T2, [H2 | M]). - -rmerge2_2(T1, H1, [H2 | T2], M) when H1 =< H2 -> - rmerge2_2(T1, H1, T2, [H2 | M]); -rmerge2_2(T1, H1, [H2 | T2], M) -> - rmerge2_1(T1, H2, T2, [H1 | M]); -rmerge2_2(T1, H1, [], M) -> - lists:reverse(T1, [H1 | M]). - - - -%% This version of keysort/2 is really stable; the order of equal -%% elements is kept. It is used for checking the current -%% implementation of ukeysort/2 etc. - -lkeysort(Index, L) when is_integer(Index), Index > 0 -> - case L of - [] -> L; - [_] -> L; - [X, Y | T] -> - EX = element(Index, X), - EY = element(Index, Y), - if - EX =< EY -> - keysplit_1(Index, X, EX, Y, EY, T, [], []); - true -> - keysplit_2(Index, Y, EY, T, [X]) - end - end. - -keysplit_1(I, X, EX, Y, EY, [Z | L], R, Rs) -> - EZ = element(I, Z), - if - EY =< EZ -> - keysplit_1(I, Y, EY, Z, EZ, L, [X | R], Rs); - EX =< EZ -> - keysplit_1(I, Z, EZ, Y, EY, L, [X | R], Rs); - true, R == [] -> - keysplit_1(I, X, EX, Y, EY, L, [Z], Rs); - true -> - keysplit_1_1(I, X, EX, Y, EY, L, R, Rs, Z, EZ) - end; -keysplit_1(I, X, _EX, Y, _EY, [], R, Rs) -> - rkeymergel(I, [[Y, X | R] | Rs], []). - -%% One out-of-order element, S. -keysplit_1_1(I, X, EX, Y, EY, [Z | L], R, Rs, S, ES) -> - EZ = element(I, Z), - if - EY =< EZ -> - keysplit_1_1(I, Y, EY, Z, EZ, L, [X | R], Rs, S, ES); - EX =< EZ -> - keysplit_1_1(I, Z, EZ, Y, EY, L, [X | R], Rs, S, ES); - ES =< EZ -> - keysplit_1(I, S, ES, Z, EZ, L, [], [[Y, X | R] | Rs]); - true -> - keysplit_1(I, Z, EZ, S, ES, L, [], [[Y, X | R] | Rs]) - end; -keysplit_1_1(I, X, _EX, Y, _EY, [], R, Rs, S, _ES) -> - rkeymergel(I, [[S], [Y, X | R] | Rs], []). - -%% Descending. -keysplit_2(I, Y, EY, [Z | L], R) -> - EZ = element(I, Z), - if - EY =< EZ -> - keysplit_1(I, Y, EY, Z, EZ, L, [], [lists:reverse(R, [])]); - true -> - keysplit_2(I, Z, EZ, L, [Y | R]) - end; -keysplit_2(_I, Y, _EY, [], R) -> - [Y | R]. - -keymergel(I, [T1, [H2 | T2] | L], Acc) -> - keymergel(I, L, [keymerge2_1(I, T1, element(I, H2), H2, T2, []) | Acc]); -keymergel(_I, [L], []) -> - L; -keymergel(I, [L], Acc) -> - rkeymergel(I, [lists:reverse(L, []) | Acc], []); -keymergel(I, [], Acc) -> - rkeymergel(I, Acc, []). - -rkeymergel(I, [[H2 | T2], T1 | L], Acc) -> - rkeymergel(I, L, [rkeymerge2_1(I, T1, element(I, H2), H2, T2, []) | Acc]); -rkeymergel(I, [L], Acc) -> - keymergel(I, [lists:reverse(L, []) | Acc], []); -rkeymergel(I, [], Acc) -> - keymergel(I, Acc, []). - -keymerge2_1(I, [H1 | T1], E2, H2, T2, M) -> - E1 = element(I, H1), - if - E1 =< E2 -> - keymerge2_1(I, T1, E2, H2, T2, [H1 | M]); - true -> - keymerge2_2(I, T1, E1, H1, T2, [H2 | M]) - end; -keymerge2_1(_I, [], _E2, H2, T2, M) -> - lists:reverse(T2, [H2 | M]). - -keymerge2_2(I, T1, E1, H1, [H2 | T2], M) -> - E2 = element(I, H2), - if - E1 =< E2 -> - keymerge2_1(I, T1, E2, H2, T2, [H1 | M]); - true -> - keymerge2_2(I, T1, E1, H1, T2, [H2 | M]) - end; -keymerge2_2(_I, T1, _E1, H1, [], M) -> - lists:reverse(T1, [H1 | M]). - -rkeymerge2_1(I, [H1 | T1], E2, H2, T2, M) -> - E1 = element(I, H1), - if - E1 =< E2 -> - rkeymerge2_2(I, T1, E1, T2, [H2 | M], H1); - true -> - rkeymerge2_1(I, T1, E2, H2, T2, [H1 | M]) - end; -rkeymerge2_1(_I, [], _E2, H2, T2, M) -> - lists:reverse(T2, [H2 | M]). - -rkeymerge2_2(I, T1, E1, [H2 | T2], M, H1) -> - E2 = element(I, H2), - if - E1 =< E2 -> - rkeymerge2_2(I, T1, E1, T2, [H2 | M], H1); - true -> - rkeymerge2_1(I, T1, E2, H2, T2, [H1 | M]) - end; -rkeymerge2_2(_I, T1, _E1, [], M, H1) -> - lists:reverse(T1, [H1 | M]). - + io:format("usort: ~p~n", [S#state.usort]). %%%------------------------------------------------------------ @@ -2543,7 +1719,6 @@ sublist_3_e(Config) when is_list(Config) -> -define(flatten_error1(X), {'EXIT', _} = (catch lists:flatten(X))). --define(flatten_error2(X,Y), {'EXIT', _} = (catch lists:flatten(X,Y))). %% Test lists:flatten/1,2 and lists:flatlength/1. flatten_1(Config) when is_list(Config) -> diff --git a/lib/stdlib/test/lists_property_test_SUITE.erl b/lib/stdlib/test/lists_property_test_SUITE.erl index ecbf14309e6d..71f7a0c8b986 100644 --- a/lib/stdlib/test/lists_property_test_SUITE.erl +++ b/lib/stdlib/test/lists_property_test_SUITE.erl @@ -112,7 +112,6 @@ init_per_suite(Config) -> ct_property_test:init_per_suite(Config). end_per_suite(Config) -> - persistent_term:erase({lists_prop, random_atoms}), Config. do_proptest(Prop, Config) -> diff --git a/lib/stdlib/test/ms_transform_SUITE.erl b/lib/stdlib/test/ms_transform_SUITE.erl index 5e8e6076ae21..9648fbcc773c 100644 --- a/lib/stdlib/test/ms_transform_SUITE.erl +++ b/lib/stdlib/test/ms_transform_SUITE.erl @@ -21,8 +21,9 @@ -author('pan@erix.ericsson.se'). -include_lib("common_test/include/ct.hrl"). +-include_lib("stdlib/include/assert.hrl"). --export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, +-export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, init_per_testcase/2, end_per_testcase/2, init_per_group/2,end_per_group/2]). -export([basic_ets/1]). @@ -53,6 +54,11 @@ -export([otp_14454/1]). -export([otp_16824/1]). -export([unused_record/1]). +-export([optimise_equality_guards_ets_compilation/1]). +-export([optimise_equality_guards_ets_execution/1]). +-export([optimise_equality_guards_ets_equivalence/1]). +-export([ms_transform_optimisations_can_be_disabled_but_default_to_on/1]). + init_per_testcase(_Func, Config) -> Config. @@ -64,7 +70,7 @@ suite() -> [{ct_hooks,[ts_install_cth]}, {timetrap,{minutes,6}}]. -all() -> +all() -> [from_shell, basic_ets, basic_dbg, records, record_index, multipass, bitsyntax, binary_bifs, record_defaults, andalso_orelse, float_1_function, action_function, @@ -72,9 +78,13 @@ all() -> semicolon, eep37, otp_14454, otp_16824, unused_record, map_pattern, map_expr_in_head, map_pattern_from_shell, map_expr_in_head_from_shell, - map_exprs, map_exprs_from_shell]. + map_exprs, map_exprs_from_shell, + optimise_equality_guards_ets_compilation, + optimise_equality_guards_ets_execution, + optimise_equality_guards_ets_equivalence, + ms_transform_optimisations_can_be_disabled_but_default_to_on]. -groups() -> +groups() -> []. init_per_suite(Config) -> @@ -201,34 +211,34 @@ no_warnings(Config) when is_list(Config) -> %% Test that andalso and orelse are allowed in guards. andalso_orelse(Config) when is_list(Config) -> setup(Config), - [{{'$1','$2'}, + ?assertEqual([{{'$1','$2'}, [{'and',{is_integer,'$1'},{'>',{'+','$1',5},'$2'}}], - [{'andalso','$1','$2'}]}] = + [{'andalso','$1','$2'}]}], compile_and_run(<<"ets:fun2ms(fun({A,B}) " " when is_integer(A) and (A+5 > B) -> " " A andalso B " - " end)">>), - [{{'$1','$2'}, - [{'or',{is_atom,'$1'},{'>',{'+','$1',5},'$2'}}], - [{'orelse','$1','$2'}]}] = + " end)">>)), + ?assertEqual([{{'$1','$2'}, + [{'orelse',{is_atom,'$1'},{'>',{'+','$1',5},'$2'}}], + [{'orelse','$1','$2'}]}], compile_and_run(<<"ets:fun2ms(fun({A,B}) " " when is_atom(A) or (A+5 > B) -> " " A orelse B " - " end)">>), - [{{'$1','$2'}, - [{'andalso',{is_integer,'$1'},{'>',{'+','$1',5},'$2'}}], - ['$1']}] = + " end)">>)), + ?assertEqual([{{'$1','$2'}, + [{'andalso', {is_integer,'$1'},{'>',{'+','$1',5},'$2'}}], + ['$1']}], compile_and_run( <<"ets:fun2ms(fun({A,B}) when is_integer(A) andalso (A+5 > B) ->" " A " - " end)">>), - [{{'$1','$2'}, + " end)">>)), + ?assertEqual([{{'$1','$2'}, [{'orelse',{is_atom,'$1'},{'>',{'+','$1',5},'$2'}}], - ['$1']}] = + ['$1']}], compile_and_run( <<"ets:fun2ms(fun({A,B}) when is_atom(A) orelse (A+5 > B) -> " " A " - " end)">>), + " end)">>)), ok. @@ -239,13 +249,8 @@ bitsyntax(Config) when is_list(Config) -> [<<0,27,0,27>>]}] = compile_and_run(<<"A = 27, " "ets:fun2ms(fun(_) -> <> end)">>), - [{{<<15,47>>, - '$1', - '$2'}, - [{'=:=','$1', - <<0,27>>}, - {'=:=','$2', - <<27,28,19>>}], + [{{<<15,47>>,<<0,27>>,<<27,28,19>>}, + [], [<<188,0,13>>]}] = compile_and_run(<<"A = 27, " "ets:fun2ms(" @@ -308,21 +313,21 @@ record_defaults(Config) when is_list(Config) -> %% Test basic ets:fun2ms. basic_ets(Config) when is_list(Config) -> setup(Config), - [{{a,b},[],[true]}] = compile_and_run( - <<"ets:fun2ms(fun({a,b}) -> true end)">>), - [{{'$1',foo},[{is_list,'$1'}],[{{{hd,'$1'},'$_'}}]}, - {{'$1','$1'},[{is_tuple,'$1'}],[{{{element,1,'$1'},'$*'}}]}] = + ?assertEqual([{{a,b},[],[true]}], compile_and_run( + <<"ets:fun2ms(fun({a,b}) -> true end)">>)), + ?assertEqual([{{'$1',foo},[{is_list,'$1'}],[{{{hd,'$1'},'$_'}}]}, + {{'$1','$1'},[{is_tuple,'$1'}],[{{{element,1,'$1'},'$*'}}]}], compile_and_run(<<"ets:fun2ms(fun({X,foo}) when is_list(X) -> ", "{hd(X),object()};", "({X,X}) when is_tuple(X) ->", "{element(1,X),bindings()}", - "end)">>), - [{{'$1','$2'},[],[{{'$2','$1'}}]}] = - compile_and_run(<<"ets:fun2ms(fun({A,B}) -> {B,A} end)">>), - [{{'$1','$2'},[],[['$2','$1']]}] = - compile_and_run(<<"ets:fun2ms(fun({A,B}) -> [B,A] end)">>), - [{{"foo" ++ '_','$1'},[],['$1']}] = - compile_and_run(<<"ets:fun2ms(fun({\"foo\" ++ _, X}) -> X end)">>), + "end)">>)), + ?assertEqual([{{'$1','$2'},[],[{{'$2','$1'}}]}], + compile_and_run(<<"ets:fun2ms(fun({A,B}) -> {B,A} end)">>)), + ?assertEqual([{{'$1','$2'},[],[['$2','$1']]}], + compile_and_run(<<"ets:fun2ms(fun({A,B}) -> [B,A] end)">>)), + ?assertEqual([{{"foo" ++ '_','$1'},[],['$1']}], + compile_and_run(<<"ets:fun2ms(fun({\"foo\" ++ _, X}) -> X end)">>)), ok. %% Tests basic dbg:fun2ms. @@ -368,39 +373,39 @@ records(Config) when is_list(Config) -> "t3," "t4" "}).">>, - [{{t,'$1','$2',foo,'_'},[{is_list,'$1'}],[{{{hd,'$1'},'$_'}}]}, - {{t,'_','_','_','_'},[{'==',{element,2,'$_'},nisse}],[{{'$*'}}]}] = + ?assertEqual([{{t,'$1','$2',foo,'_'},[{is_list,'$1'}],[{{{hd,'$1'},'$_'}}]}, + {{t,'_','_','_','_'},[{'==',{element,2,'$_'},nisse}],[{{'$*'}}]}], compile_and_run(RD,<< "ets:fun2ms(fun(#t{t1 = X, t2 = Y, t3 = foo}) when is_list(X) -> - {hd(X),object()}; + {hd(X),object()}; (#t{}) when (object())#t.t1 == nisse -> {bindings()} - end)">>), - [{{t,'$1','$2','_',foo}, + end)">>)), + ?assertEqual([{{t,'$1','$2','_',foo}, [{'==',{element,4,'$_'},7},{is_list,'$1'}], [{{{hd,'$1'},'$_'}}]}, {'$1',[{is_record,'$1',t,5}], [{{{element,2,'$1'}, {{t,'$1',foo,undefined,undefined}}, - {{t,{element,2,'$1'},{element,3,'$1'},{element,4,'$1'},boooo}}}}]}] = + {{t,{element,2,'$1'},{element,3,'$1'},{element,4,'$1'},boooo}}}}]}], compile_and_run(RD,<< - "ets:fun2ms(fun(#t{t1 = X, t2 = Y, t4 = foo}) when - (object())#t.t3==7,is_list(X) -> - {hd(X),object()}; - (A) when is_record(A,t) -> + "ets:fun2ms(fun(#t{t1 = X, t2 = Y, t4 = foo}) when + (object())#t.t3==7,is_list(X) -> + {hd(X),object()}; + (A) when is_record(A,t) -> {A#t.t1 ,#t{t1=A} ,A#t{t4=boooo} - } + } end)" - >>), + >>)), [{[{t,'$1','$2',foo,'_'}],[{is_list,'$1'}],[{{{hd,'$1'},'$_'}}]}, {[{t,'_','_','_','_'}],[{'==',{element,2,{hd,'$_'}},nisse}],[{{'$*'}}]}]= compile_and_run(RD,<< - "dbg:fun2ms(fun([#t{t1 = X, t2 = Y, t3 = foo}]) when is_list(X) -> - {hd(X),object()}; - ([#t{}]) when (hd(object()))#t.t1 == nisse -> - {bindings()} + "dbg:fun2ms(fun([#t{t1 = X, t2 = Y, t3 = foo}]) when is_list(X) -> + {hd(X),object()}; + ([#t{}]) when (hd(object()))#t.t1 == nisse -> + {bindings()} end)" >>), ok. @@ -455,7 +460,7 @@ map_expr_in_head_from_shell(Config) when is_list(Config) -> map_exprs(Config) when is_list(Config) -> setup(Config), - MSGuard = [{{key,'$1','$2'}, [{'=:=','$1',#{foo => '$2'}}], ['$1']}], + MSGuard = [{{key,#{foo => '$2'},'$2'}, [], [#{foo => '$2'}]}], MSGuard = compile_and_run( <<"ets:fun2ms(fun({key, V1, V2}) when V1 =:= #{foo => V2} -> V1 end)">>), MSBody = [{{key,'$1'}, [], [#{foo => '$1'}]}], @@ -465,7 +470,7 @@ map_exprs(Config) when is_list(Config) -> map_exprs_from_shell(Config) when is_list(Config) -> setup(Config), - MSGuard = [{{key,'$1','$2'}, [{'=:=','$1',#{foo => '$2'}}], ['$1']}], + MSGuard = [{{key,#{foo => '$2'},'$2'}, [], [#{foo => '$2'}]}], MSGuard = do_eval("ets:fun2ms(fun({key, V1, V2}) when V1 =:= #{foo => V2} -> V1 end)"), MSBody = [{{key,'$1'}, [], [#{foo => '$1'}]}], MSBody = do_eval("ets:fun2ms(fun({key, V}) -> #{foo => V} end)"), @@ -502,14 +507,14 @@ multipass(Config) when is_list(Config) -> expect_failure(RD,<<"ets:fun2ms(fun(A) -> #a{a=2,a=3} end)">>), expect_failure(RD,<<"ets:fun2ms(fun(A) -> A#a{a=2,a=3} end)">>), expect_failure(RD,<<"ets:fun2ms(fun(A) when A =:= #a{a=2,a=3} ->", - " true end)">>), - expect_failure(RD,<<"ets:fun2ms(fun({A,B})when A =:= B#a{a=2,a=3}->", + " true end)">>), + expect_failure(RD,<<"ets:fun2ms(fun({A,B}) when A =:= B#a{a=2,a=3}->", "true end)">>), expect_failure(RD,<<"ets:fun2ms(fun(#a{a=3,a=3}) -> true end)">>), compile_and_run(RD,<<"ets:fun2ms(fun(A) -> #a{a=2,b=3} end)">>), compile_and_run(RD,<<"ets:fun2ms(fun(A) -> A#a{a=2,b=3} end)">>), compile_and_run(RD,<<"ets:fun2ms(fun(A) when A =:= #a{a=2,b=3} ->", - " true end)">>), + " true end)">>), compile_and_run(RD,<<"ets:fun2ms(fun({A,B})when A=:= B#a{a=2,b=3}->", "true end)">>), compile_and_run(RD,<<"ets:fun2ms(fun(#a{a=3,b=3}) -> true end)">>), @@ -537,7 +542,7 @@ old_guards(Config) when is_list(Config) -> atom_to_list(Old), <<"(X) -> true end)">>]), case compile_and_run(Bin) of - [{'$1',[{New,'$1'}],[true]}] -> + [{'$1',[{New,'$1'}],[true]}] -> ok; _ -> exit({bad_result_for, binary_to_list(Bin)}) @@ -572,7 +577,7 @@ old_guards(Config) when is_list(Config) -> "binary(X), record(X,a) -> true end)" >>), ok. - + %% Test use of autoimported BIFs used like erlang:'+'(A,B) in guards %% and body. autoimported(Config) when is_list(Config) -> @@ -757,7 +762,7 @@ semicolon(Config) when is_list(Config) -> Res02 = compile_and_run (<<"ets:fun2ms(fun(X) when is_integer(X) -> true; " "(X) when is_float(X) -> true end)">>), - Res01 = Res02, + ?assertEqual(Res01, Res02), Res11 = compile_and_run (<<"ets:fun2ms(fun(X) when is_integer(X); " "is_float(X); atom(X) -> true end)">>), @@ -765,52 +770,52 @@ semicolon(Config) when is_list(Config) -> (<<"ets:fun2ms(fun(X) when is_integer(X) -> true; " "(X) when is_float(X) -> true; " "(X) when is_atom(X) -> true end)">>), - Res11 = Res12, + ?assertEqual(Res11, Res12), ok. - - + + %% OTP-5297. The function float/1. float_1_function(Config) when is_list(Config) -> setup(Config), - RunMS = fun(L, MS) -> - ets:match_spec_run(L, ets:match_spec_compile(MS)) + RunMS = fun(L, MS) -> + ets:match_spec_run(L, ets:match_spec_compile(MS)) end, MS1 = compile_and_run (<<"ets:fun2ms(fun(X) -> float(X) end)">>), [F1] = RunMS([3], MS1), - true = is_float(F1) and (F1 == 3), - + ?assert(is_float(F1) and (F1 == 3)), + MS1b = compile_and_run (<<"dbg:fun2ms(fun(X) -> float(X) end)">>), [F2] = RunMS([3], MS1b), - true = is_float(F2) and (F2 == 3), - + ?assert(is_float(F2) and (F2 == 3)), + MS2 = compile_and_run (<<"ets:fun2ms(fun(X) when is_pid(X) or float(X) -> true end)">>), - [] = RunMS([3.0], MS2), + ?assertEqual([], RunMS([3.0], MS2)), MS3 = compile_and_run (<<"dbg:fun2ms(fun(X) when is_pid(X); float(X) -> true end)">>), - [true] = RunMS([3.0], MS3), + ?assertEqual([true], RunMS([3.0], MS3)), MS4 = compile_and_run (<<"ets:fun2ms(fun(X) when erlang:float(X) > 1 -> big;" " (_) -> small end)">>), - [small,big] = RunMS([1.0, 3.0], MS4), + ?assertEqual([small,big], RunMS([1.0, 3.0], MS4)), MS5 = compile_and_run (<<"ets:fun2ms(fun(X) when float(X) > 1 -> big;" " (_) -> small end)">>), - [small,big] = RunMS([1.0, 3.0], MS5), + ?assertEqual([small,big], RunMS([1.0, 3.0], MS5)), %% This is the test from autoimported/1. - [{'$1',[{is_float,'$1'}],[{float,'$1'}]}] = + ?assertEqual([{'$1',[{is_float,'$1'}],[{float,'$1'}]}], compile_and_run - (<<"ets:fun2ms(fun(X) when float(X) -> float(X) end)">>), - [{'$1',[{float,'$1'}],[{float,'$1'}]}] = + (<<"ets:fun2ms(fun(X) when float(X) -> float(X) end)">>)), + ?assertEqual([{'$1',[{float,'$1'}],[{float,'$1'}]}], compile_and_run (<<"ets:fun2ms(fun(X) when erlang:'float'(X) -> " - "erlang:'float'(X) end)">>), + "erlang:'float'(X) end)">>)), ok. @@ -914,6 +919,688 @@ unused_record(Config) when is_list(Config) -> [] = compile_ww(Record, Expr), ok. +optimise_equality_guards_ets_compilation(Config) when is_list(Config) -> + setup(Config), + ?assertMatch( + [{{42,'$2'},[],[{{42,'$2'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({K, V}) when K =:= 42 -> {K,V} end)">>)), + ?assertMatch( + [{{42,'$2'},[],[{{42,'$2'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({K, V}) when 42 =:= K -> {K,V} end)">>)), + ?assertMatch( + [{{my_atom,'$2'},[],[{{my_atom,'$2'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({K, V}) when K =:= my_atom -> {K,V} end)">>)), + ?assertMatch( + [{{[],'$2'},[],[{{[],'$2'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({K, V}) when K =:= [] -> {K,V} end)">>)), + ?assertMatch( + [{{$z,'$2'},[],[{{$z,'$2'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({K, V}) when K =:= $z -> {K,V} end)">>)), + ?assertMatch( + [{{"str",'$2'},[],[{{"str",'$2'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({K, V}) when K =:= \"str\" -> {K,V} end)">>)), + ?assertMatch( + [{{42,my_atom,'$3'},[],[{{42,my_atom,'$3'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({A, B, C}) when A =:= 42, B =:= my_atom -> {A, B, C} end)">>)), + ?assertMatch( + [{{{'$1',42},'$3'},[],[{{{{'$1',42}},'$3'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({{K1,K2}, V}) when K2 =:= 42 -> {{K1,K2},V} end)">>)), + ?assertMatch( + [{{#{'$1':=42},'$3'},[],[{{#{'$1':=42},'$3'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({#{A := B}, V}) when B =:= 42 -> {#{A => 42},V} end)">>)), + ?assertMatch( + [{{#{a:=42},'$2'},[],[{{#{a:=42},'$2'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({#{a := B}, V}) when B =:= 42 -> {#{a => B},V} end)">>)), + ?assertMatch( + [{{#{42:='$2'},'$3'},[],[{{#{42:='$2'},'$3'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({#{A := B}, V}) when A =:= 42 -> {#{42 => B},V} end)">>)), + ?assertMatch( + [{{42,'$2'},[{'>', '$2', 10}],[{{42,'$2'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({K, V}) when (V > 10) andalso (K =:= 42) -> {K,V} end)">>)), + ?assertMatch( + [{{42,'$2'},[{'>', '$2', 10}],[{{42,'$2'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({K, V}) when (K =:= 42) and (V > 10) -> {K,V} end)">>)), + ?assertMatch( + [{{42,7,'$3'},[],[{{42,7,'$3'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({K, V1, V2}) when (V1 =:= 7) andalso (K =:= 42) -> {K,V1,V2} end)">>)), + ?assertMatch( + [{{42,7,'$3'},[{'>', '$3', 6}],[{{42,7,'$3'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({K, V1, V2}) when ((V2 > 6) andalso (V1 =:= 7)) andalso (K =:= 42) -> {K,V1,V2} end)">>)), + ?assertMatch( + [{{6,'$2'},[],[{{6,'$2'}}]}], + compile_and_run_decl( + <<"Needle">>, + 6, + <<"ets:fun2ms(fun ({K, V}) when K =:= Needle -> {K,V} end)">>)), + ?assertMatch( + [{{6.0,'$2'},[],[{{6.0,'$2'}}]}], + compile_and_run_decl( + <<"Needle">>, + 6.0, + <<"ets:fun2ms(fun ({K, V}) when K =:= Needle -> {K,V} end)">>)), + ?assertEqual( + [{ '$1', + [{'is_integer','$1'}, {'>', '$1', 2}], + ['$1'] + }], + compile_and_run( + <<"ets:fun2ms(fun(X) when is_integer(X), " + "X > 2 -> X end)">>) + ), + ?assertEqual( + [{ 2, + [], + ['true']} + ], + compile_and_run( + <<"ets:fun2ms(fun(X) when is_integer(X), " + "X =:= 2 -> true end)">>) + ), + ?assertEqual( + [{ '$1', + [ {'orelse', + {'is_integer','$1'}, + {'is_float','$1'}}], + ['$1']}, + { 5, + [], + [5]} + ], + compile_and_run( + <<"ets:fun2ms(fun(X) when is_integer(X); " + "is_float(X); X =:= 5 -> X end)">>) + ), + ?assertEqual( + [{ '$1', + [{'is_integer','$1'}], + ['$1']}, + { 8, + [], + [8]}, + { '$1', + [{'is_float','$1'}], + ['$1']} + ], + compile_and_run( + <<"ets:fun2ms(fun(X) when is_integer(X) -> X; " + "(X) when 8 =:= X -> X;" + "(X) when is_float(X) -> X end)">>) + ), + ?assertMatch( + [{{{1,2}},[],[{{1,2}}]}], + compile_and_run( + <<"ets:fun2ms(fun (A) when A =:= {1,2} -> A end)">>)), + ?assertMatch( + [{{{{11,12}},'$2','$3'},[{'>', '$2', 4}],['$3']}], + compile_and_run( + <<"ets:fun2ms(fun ({K, V1, V2}) when (K =:= {11,12}) andalso (V1 > 4) -> V2 end)">>)), + ?assertMatch( + [{[1,2,3],[],[[1,2,3]]}], + compile_and_run( + <<"ets:fun2ms(fun (A) when A =:= [1,2,3] -> A end)">>)), + ?assertMatch( + [{{{[1,2,{{foo,bar}}], {{a, 7}}}},[],[{{[1,2,{{foo,bar}}], {{a, 7}}}}]}], + compile_and_run( + <<"ets:fun2ms(fun (Complex) when Complex =:= {[1,2,{foo,bar}], {a, 7}} -> Complex end)">>)), + ?assertMatch( + [{1,[false],[1]}], + compile_and_run( + <<"ets:fun2ms(fun (A) when A =:= 1, A > 2 -> A end)">>)), + ?assertMatch( + [{{42,'$2'},[{'>', '$2', 10}],[{{42,'$2'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({K, V}) when (K =:= 42) and (V > 10) -> {K,V} end)">>)), + ?assertMatch( + [{{'$1', '$2'},[false],[{{'$1', '$2'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({K, V}) when (K =:= 42) and (K =:= 7) -> {K,V} end)">>)), + ?assertMatch( + [{{'_','_'},[],['$_']}], + compile_and_run( + <<"ets:fun2ms(fun ({_, _}=KV) -> KV end)">>)), + ?assertMatch( + [{{'_',6},[],['$_']}], + compile_and_run( + <<"ets:fun2ms(fun (KV={_, V}) when V =:= 6 -> KV end)">>)), + ?assertMatch( + [{'$1',[{'=/=', '$1', 7}],['$1']}], + compile_and_run( + <<"ets:fun2ms(fun (A) when A =/= 7 -> A end)">>)), + ?assertMatch( + [{{'$1','$2',[{"yes",'_','_'}]},[],['$_']}], + compile_and_run( + <<"ets:fun2ms(fun({_A, _B, [{C, _, _}]} = All) when (C =:= \"yes\") -> All end)">>)), + ?assertMatch( + [{9,[],[11]}], + compile_and_run( + <<"ets:fun2ms(fun (A) when A =:= (4 + 5) -> (A + 2) end)">>)), + ?assertEqual( + [{0,[false],[0]}], + compile_and_run( + <<"ets:fun2ms(fun(X) when is_integer(X), " + "X =:= 0, " + "X > 2 -> X end)">>) + ), + ?assertEqual( + compile_and_run( + <<"ets:fun2ms(fun(X) when " + "X =:= 0; X =:= 6 -> X end)">>), + compile_and_run( + <<"ets:fun2ms(fun(X) when " + "(X =:= 0) or (X =:= 6) -> X end)">>) + ), + ?assertEqual( + compile_and_run( + <<"ets:fun2ms(fun(X) when X =:= 0 -> X; " + "(X) when X =:= 6 -> X end)">>), + compile_and_run( + <<"ets:fun2ms(fun(X) when " + "(X =:= 0) or (X =:= 6) -> X end)">>) + ), + ?assertEqual( + compile_and_run( + <<"ets:fun2ms(fun(X) when " + "X =:= 0, X =:= 6 -> X end)">>), + compile_and_run( + <<"ets:fun2ms(fun(X) when " + "(X =:= 0) and (X =:= 6) -> X end)">>) + ), + ?assertEqual( + compile_and_run( + <<"ets:fun2ms(fun(X) when " + "X =:= 0 -> X end)">>), + compile_and_run( + <<"ets:fun2ms(fun(X) when " + "is_integer(X), (X =:= 0) -> X end)">>) + ), + ?assertEqual( + compile_and_run( + <<"ets:fun2ms(fun(X) when X =:= 0 -> X; " + "(X) when X =:= 6 -> X;" + "(X) when is_integer(X) and (X > 11) -> X end)">>), + compile_and_run( + <<"ets:fun2ms(fun(X) when (is_integer(X) and " + "(X =:= 0)) or (X =:= 6) or (is_integer(X) and (X > 11)) -> X end)">>) + ), + ?assertEqual( + compile_and_run( + <<"ets:fun2ms(fun(X) when X =:= 0 -> X; " + "(X) when X =:= 6 -> X;" + "(X) when is_integer(X) and ((X > 11) or (X < -3)) -> X end)">>), + compile_and_run( + <<"ets:fun2ms(fun(X) when " + "(X =:= 0) or (X =:= 6) or (is_integer(X) and ((X > 11) or (X < -3))) -> X end)">>) + ), + ?assertMatch( + [{{[1,2,3],'$2'},[],['$2']}], + compile_and_run( + <<"ets:fun2ms(fun ({A,B}) when A =:= [1,2,3] -> B end)">>)), + ?assertMatch( + [{{<<"a string"/utf8>>,'$2'},[],['$2']}], + compile_and_run( + <<"ets:fun2ms(fun ({Bin, Val}) when Bin =:= <<\"a string\"/utf8>> -> Val end)">>)), + ?assertMatch( + [{{#{},'$2'},[],['$2']}], + compile_and_run( + <<"ets:fun2ms(fun ({Map, Val}) when Map =:= #{} -> Val end)">>)), + ?assertMatch( + [{{#{foo := bar},'$2'},[],['$2']}], + compile_and_run( + <<"ets:fun2ms(fun ({Map, Val}) when Map =:= #{foo => bar} -> Val end)">>)), + ?assertMatch( + [{{{'$1','$1'}, '$3'},[],['$3']}], + compile_and_run( + <<"ets:fun2ms(fun ({{K1,K2}, V}) when (K1 =:= K2) -> V end)">>)), + ?assertMatch( + [{{{'$1','$1'}, '$1', '$4'},[],['$4']}], + compile_and_run( + <<"ets:fun2ms(fun ({{K1,K2}, K3, V}) when (K1 =:= K2), (K3 =:= K2) -> V end)">>)), + ?assertMatch( + [{{{'$1','$1'}, '$1', '$3'},[],['$3']}], + compile_and_run( + <<"ets:fun2ms(fun ({{K1,K2}, K2, V}) when (K1 =:= K2) -> V end)">>)), + ?assertMatch( + [{{{'$1','$1'}, '$1', '$3'},[],['$3']}], + compile_and_run( + <<"ets:fun2ms(fun ({{K1,K2}, K2, V}) when (K2 =:= K1) -> V end)">>)), + ?assertMatch( + [{{{'$1','$1'}, '$1', '$4'},[],['$4']}], + compile_and_run( + <<"ets:fun2ms(fun ({{K1,K2}, K3, V}) when (K2 =:= K1) andalso (K3 =:= K2) -> V end)">>)), + ?assertMatch( + [{{{8,8},8, '$4'},[],['$4']}], + compile_and_run( + <<"ets:fun2ms(fun ({{K1,K2}, K3, V}) when (K2 =:= K1) andalso (K3 =:= K2) andalso (K2 =:= 8) -> V end)">>)), + ?assertMatch( + [{{{'$1','$1'}, '$1', '$4'},[],[{{'$1', '$4'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({{K1,K2}, K3, V}) when (K2 =:= K1) andalso (K3 =:= K2) -> {K3, V} end)">>)), + ?assertMatch( + [{{'$1','$1','$1','$1','$5'},[],[{{'$1','$5'}}]}], + compile_and_run( + <<"ets:fun2ms(fun ({K1,K2,K3,K4,V}) when (K2 =:= K1) andalso (K3 =:= K2) andalso (K1 =:= K4) -> {K3, V} end)">>)), + ok. + +optimise_equality_guards_ets_execution(Config) when is_list(Config) -> + setup(Config), + % We don't just use ets:test_ms/2 here, since we also watch to capture correctness + % with respect to more subtle parameters, such as ordered_set vs. set + ?assertMatch( + [{42,"yep"}], + compile_and_execute( + <<"ets:fun2ms(fun ({K, V}) when K =:= 42 -> {K,V} end)">>, + [ordered_set], + [{41,"nope"},{42,"yep"},{43,"no way"}] + ) + ), + ?assertMatch( + [{42,"yep"}], + compile_and_execute( + <<"ets:fun2ms(fun ({K, V}) when V =:= \"yep\" -> {K,V} end)">>, + [ordered_set], + [{41,"nope"},{42,"yep"},{43,"no way"}] + ) + ), + ?assertMatch( + [{42,my_atom,"yep"}], + compile_and_execute( + <<"ets:fun2ms(fun ({A, B, C}) when A =:= 42, B =:= my_atom -> {A, B, C} end)">>, + [set], + [ {41,my_atom,"nope"}, + {42,my_atom,"yep"}, + {43,your_atom, "no way"}, + {44,"not_an_atom", "definitely not"} + ] + ) + ), + ?assertMatch( + [{42,my_atom,"yep"}], + compile_and_execute( + <<"ets:fun2ms(fun ({A, B, C}) when A =:= 42, B =:= my_atom -> {A, B, C} end)">>, + [ordered_set], + [ {41,my_atom,"nope"}, + {42,my_atom,"yep"}, + {43,your_atom, "no way"}, + {44,"not_an_atom", "definitely not"} + ] + ) + ), + ?assertMatch( + [], + compile_and_execute( + <<"ets:fun2ms(fun ({A, B, C}) when A =:= 42, B =:= my_atom -> {A, B, C} end)">>, + [set], + [ {41,my_atom,"nope"}, + {42,your_atom,"yep"}, + {43,my_atom, "no way"}, + {44,"not_an_atom", "definitely not"} + ] + ) + ), + ?assertMatch( + [], + compile_and_execute( + <<"ets:fun2ms(fun ({A, B, C}) when A =:= 42, B =:= my_atom -> {A, B, C} end)">>, + [ordered_set], + [ {41,my_atom,"nope"}, + {42,your_atom,"yep"}, + {43,my_atom, "no way"}, + {44,"not_an_atom", "definitely not"} + ] + ) + ), + ?assertMatch( + [{42,my_atom,"yep"}], + compile_and_execute( + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [ordered_set], + [ {41,my_atom,"nope"}, + {42,my_atom,"yep"}, + {43,your_atom, "no way"}, + {44,"not_an_atom", "definitely not"} + ] + ) + ), + ?assertMatch( + [], + compile_and_execute( + <<"ets:fun2ms(fun ({A, B, C}) when A =:= 42, B =:= my_atom -> {A, B, C} end)">>, + [ordered_set], + [ {41.0,my_atom,"nope"}, + {42.0,my_atom,"yep"}, + {43.0,your_atom, "no way"}, + {44.0,"not_an_atom", "definitely not"} + ] + ) + ), + ?assertMatch( + [], + compile_and_execute( + <<"ets:fun2ms(fun ({A, B, C}) when A =:= 42, B =:= my_atom -> {A, B, C} end)">>, + [ordered_set], + [ {41.0,my_atom,"nope"}, + {42.0,my_atom,"yep"}, + {43.0,your_atom, "no way"}, + {44.0,"not_an_atom", "definitely not"} + ] + ) + ), + ?assertMatch( + [], + compile_and_execute( + <<"ets:fun2ms(fun ({A, B, C}) when A =:= 42, B =:= my_atom -> {A, B, C} end)">>, + [set], + [ {41.0,my_atom,"nope"}, + {42.0,my_atom,"yep"}, + {43.0,your_atom, "no way"}, + {44.0,"not_an_atom", "definitely not"} + ] + ) + ), + ok. + +optimise_equality_guards_ets_equivalence(Config) when is_list(Config) -> + setup(Config), + FloatKeySetData = + [ {41.0,my_atom,"nope"}, + {42.0,my_atom,"yep"}, + {43.0,your_atom, "no way"}, + {44.0,"not_an_atom", "definitely not"} + ], + IntKeySetData = + [ {41,my_atom,"nope"}, + {42,my_atom,"yep"}, + {43,your_atom, "no way"}, + {44,"not_an_atom", "definitely not"} + ], + FloatKeyBagData = + [ {41.0,my_atom,"nope"}, + {42.3,my_atom,"yep"}, + {42.3,my_atom,"yep"}, + {42.3,your_atom,"yes"}, + {43.0,your_atom, "no way"}, + {44.0,"not_an_atom", "definitely not"} + ], + IntKeyBagData = + [ {41,my_atom,"nope"}, + {42,my_atom,"yep"}, + {42,my_atom,"yep"}, + {42,your_atom,"yes"}, + {43,your_atom, "no way"}, + {44,"not_an_atom", "definitely not"} + ], + Compare = fun (SimpleQuery,OptimisedQuery,TableOpts,Data) -> + ?assertEqual( + compile_and_execute( + SimpleQuery, + TableOpts, + Data + ), + compile_and_execute( + OptimisedQuery, + TableOpts, + Data + ) + ) + end, + + % ordered_set float equality handling + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [ordered_set], + IntKeySetData), + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [ordered_set], + FloatKeySetData), + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42.0},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42.0) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [ordered_set], + IntKeySetData), + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42.0},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42.0) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [ordered_set], + FloatKeySetData), + + % set float equality handling + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [set], + IntKeySetData), + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [set], + FloatKeySetData), + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42.0},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42.0) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [set], + IntKeySetData), + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42.0},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42.0) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [set], + FloatKeySetData), + + % duplicate_bag float equality handling + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [duplicate_bag], + IntKeyBagData), + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [duplicate_bag], + FloatKeyBagData), + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42.3},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42.3) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [duplicate_bag], + IntKeyBagData), + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42.3},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42.3) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [duplicate_bag], + FloatKeyBagData), + + % bag float equality handling + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [bag], + IntKeyBagData), + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [bag], + FloatKeyBagData), + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42.3},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42.3) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [bag], + IntKeyBagData), + Compare( + <<"[{{'$1','$2','$3'}, + [{'andalso',{'=:=','$1',42.3},{'=:=','$2',my_atom}}], + [{{'$1','$2','$3'}}]}]">>, + <<"ets:fun2ms(fun ({A, B, C}) when (A =:= 42.3) andalso (B =:= my_atom) -> {A, B, C} end)">>, + [bag], + FloatKeyBagData), + + % handling of clause separators + Compare( + <<"ets:fun2ms(fun(X) when is_integer(X); " + "is_float(X) -> true end)">>, + <<"ets:fun2ms(fun(X) when is_integer(X) -> true; " + "(X) when is_float(X) -> true end)">>, + [ordered_set], + IntKeyBagData), + Compare( + <<"ets:fun2ms(fun(X) when is_integer(X); " + "is_float(X); atom(X) -> true end)">>, + <<"ets:fun2ms(fun(X) when is_integer(X) -> true; " + "(X) when is_float(X) -> true; " + "(X) when is_atom(X) -> true end)">>, + [ordered_set], + IntKeyBagData), + Compare( + <<"[{ {'$1'}, + [{'is_integer','$1'}], + ['$1']}, + { {'$1'}, + [{'is_float','$1'}], + ['$1']} + ]">>, + <<"ets:fun2ms(fun(X) when is_integer(X); " + "is_float(X) -> X end)">>, + [ordered_set], + IntKeyBagData), + Compare( + <<"[{ '_', + [false], + ['$_']} + ]">>, + <<"ets:fun2ms(fun(X) when is_integer(X), " + "X =:= 0, " + "X > 2 -> X end)">>, + [ordered_set], + IntKeyBagData), + Compare( + <<"[{ '$1', + [{'is_integer','$1'}], + [{{'$1'}}]}, + { 0, + [], + [{{0}}]}, + { '$1', + [{'>', '$1', 2}], + ['$1']} + ]">>, + <<"ets:fun2ms(fun(X) when is_integer(X); " + "X =:= 0; " + "X > 2 -> X end)">>, + [ordered_set], + IntKeyBagData), + Compare( + <<"[{ '$1', + [{'is_integer','$1'}], + [{{'$1'}}]}, + { 2, + [], + [{{2}}]} + ]">>, + <<"ets:fun2ms(fun(X) when is_integer(X), " + "X =:= 2 -> X end)">>, + [ordered_set], + IntKeyBagData), + + % The inlined value is itself a compound value + Compare( + <<"[{ {{41,my_atom,\"nope\"}}, + [], + [{{41,my_atom,\"nope\"}}] + }]">>, + <<"ets:fun2ms(fun (A) when A =:= {41,my_atom,\"nope\"} -> A end)">>, + [ordered_set], + IntKeySetData), + + % A carefully crafted query ends up giving the same results as + % a more naively written one + Compare( + <<"ets:fun2ms(fun({0,_}) -> 0; " + "({6,_}) -> 6; " + "({X,42}) when is_integer(X) -> X end)">>, + <<"ets:fun2ms(fun({X,Y}) when " + "(X =:= 0) orelse (X =:= 6) orelse (is_integer(X) andalso (Y =:= 42)) -> X end)">>, + [ordered_set], + [ {0,x}, + {6.0,42}, + {6,y}, + {b,42}, + {1,42}, + {a,42} + ] + ), + ok. + +ms_transform_optimisations_can_be_disabled_but_default_to_on(Config) -> + setup(Config), + OptimisableFunctionSrc = + <<"ets:fun2ms(fun (X) when X =:= 1 -> X end)">>, + OptimisationsOff = + compile_and_run_with_opt(OptimisableFunctionSrc, {no_optimise_fun2ms, true}), + OptimisationsOn = + compile_and_run_with_opt(OptimisableFunctionSrc, {no_optimise_fun2ms, false}), + OptimisationsDefault = + compile_and_run(OptimisableFunctionSrc), + ?assertEqual( + [{ '$1', + [{'=:=', '$1', 1}], + ['$1']} + ], + OptimisationsOff + ), + ?assertEqual( + [{ 1, + [], + [1]} + ], + OptimisationsOn + ), + ?assertEqual(OptimisationsOn, OptimisationsDefault). + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Helpers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -937,7 +1624,7 @@ expect_failure(Recs,Code) -> Other -> exit({expected,failure,got,Other}) end. - + compile_and_run(Expr) -> compile_and_run(<<>>,Expr). compile_and_run(Records,Expr) -> @@ -951,10 +1638,81 @@ compile_and_run(Records,Expr) -> FN=temp_name(), file:write_file(FN,Prog), {ok,Forms} = parse_file(FN), - {ok,tmp,Bin} = compile:forms(Forms), + Bin = + case compile:forms(Forms) of + {ok,tmp,B} -> B; + E -> + error(lists:flatten(io_lib:format( + "Compilation of match expression failed: ~tp~nForms were:~n~tp~nStacktrace:~tp~n", + [E, lists:flatten([erl_pp:form(Form) || Form <- Forms]), (catch error("Stack trace"))]))) + end, + code:load_binary(tmp,FN,Bin), + tmp:tmp(). + +compile_and_run_with_opt(Expr,Opt) -> + compile_and_run_with_opt(<<>>,Expr,Opt). +compile_and_run_with_opt(Records,Expr,Opt) -> + Prog = << + "-module(tmp).\n", + "-include_lib(\"stdlib/include/ms_transform.hrl\").\n", + "-export([tmp/0]).\n", + Records/binary,"\n", + "tmp() ->\n", + Expr/binary,".\n">>, + FN=temp_name(), + file:write_file(FN,Prog), + {ok,Forms} = parse_file(FN), + Bin = + case compile:forms(Forms,Opt) of + {ok,tmp,B} -> B; + E -> + error(lists:flatten(io_lib:format( + "Compilation of match expression failed: ~tp~nForms were:~n~tp~nStacktrace:~tp~n", + [E, lists:flatten([erl_pp:form(Form) || Form <- Forms]), (catch error("Stack trace"))]))) + end, code:load_binary(tmp,FN,Bin), tmp:tmp(). +compile_and_execute(Expr, TableOpts, TableData) -> + compile_and_execute(<<>>,Expr,TableOpts,TableData). +compile_and_execute(Records,Expr,TableOpts,TableData) -> + Prog = << + "-module(tmp).\n", + "-include_lib(\"stdlib/include/ms_transform.hrl\").\n", + "-export([tmp/0]).\n", + Records/binary,"\n", + "tmp() ->\n", + Expr/binary,".\n">>, + FN=temp_name(), + file:write_file(FN,Prog), + {ok,Forms} = parse_file(FN), + {ok,tmp,Bin} = compile:forms(Forms), + code:load_binary(tmp,FN,Bin), + MatchSpec = tmp:tmp(), + T = ets:new(t, TableOpts), + try + ets:insert(T, TableData), + ets:select(T, MatchSpec) + catch E -> + throw(E) + after + ets:delete(T) + end. + +compile_and_run_decl(ArgName, ArgValue, Body) -> + Prog = << + "-module(tmp).\n", + "-include_lib(\"stdlib/include/ms_transform.hrl\").\n", + "-export([tmp/1]).\n", + "tmp(",ArgName/binary,") ->\n", + Body/binary,".\n">>, + FN=temp_name(), + file:write_file(FN,Prog), + {ok,Forms} = parse_file(FN), + {ok,tmp,Bin} = compile:forms(Forms), + code:load_binary(tmp,FN,Bin), + tmp:tmp(ArgValue). + compile_ww(Expr) -> compile_ww(<<>>,Expr). diff --git a/lib/stdlib/test/property_test/base64_prop.erl b/lib/stdlib/test/property_test/base64_prop.erl index f4d7f264f10b..b82a1059daea 100644 --- a/lib/stdlib/test/property_test/base64_prop.erl +++ b/lib/stdlib/test/property_test/base64_prop.erl @@ -19,36 +19,7 @@ %% -module(base64_prop). --compile([export_all, nowarn_export_all]). - --proptest(eqc). --proptest([triq, proper]). - --ifndef(EQC). --ifndef(PROPER). --ifndef(TRIQ). --define(EQC, true). --endif. --endif. --endif. - --ifdef(EQC). --include_lib("eqc/include/eqc.hrl"). --define(MOD_eqc,eqc). - --else. --ifdef(PROPER). --include_lib("proper/include/proper.hrl"). --define(MOD_eqc,proper). - --else. --ifdef(TRIQ). --define(MOD_eqc,triq). --include_lib("triq/include/triq.hrl"). - --endif. --endif. --endif. +-include_lib("common_test/include/ct_property_test.hrl"). %%%%%%%%%%%%%%%%%% %%% Properties %%% diff --git a/lib/stdlib/test/property_test/gb_sets_prop.erl b/lib/stdlib/test/property_test/gb_sets_prop.erl new file mode 100644 index 000000000000..a4097904d9ba --- /dev/null +++ b/lib/stdlib/test/property_test/gb_sets_prop.erl @@ -0,0 +1,303 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2021-2022. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% +-module(gb_sets_prop). + +-include_lib("common_test/include/ct_property_test.hrl"). + +%%%%%%%%%%%%%%%%%% +%%% Properties %%% +%%%%%%%%%%%%%%%%%% + +%% --- add/2 ---------------------------------------------------------- +%% +%% add_element/2 is an alias for add/2 +%% Since add_element/2 is tested in sets_prop, this property only tests if +%% the result of add/2 is the same as the result of add_element/2. +prop_add() -> + ?FORALL( + {S, L}, + ?LET( + {L1, L2}, + {ct_proper_ext:safe_list(), + non_empty(ct_proper_ext:safe_list())}, + {gb_sets:from_list(L1), L1 ++ L2} + ), + lists:all(fun(E) -> gb_sets:add(E, S) =:= gb_sets:add_element(E, S) end, L) + ). + +%% --- balance/1 ------------------------------------------------------ +prop_balance() -> + ?FORALL( + S, + ?LET( + {L1, L2}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list()}, + lists:foldl( + fun gb_sets:del_element/2, + gb_sets:from_list(L1 ++ L2), + L1 + ) + ), + gb_sets:is_equal(S, gb_sets:balance(S)) + ). + +%% --- delete/2 ------------------------------------------------------- +prop_delete() -> + ?FORALL( + {S, L}, + ?LET( + {L1, L2}, + {ct_proper_ext:safe_list(), + non_empty(ct_proper_ext:safe_list())}, + {gb_sets:from_list(L1), L1 ++ L2} + ), + lists:all( + fun(E) -> + try + gb_sets:delete(E, S) =:= gb_sets:del_element(E, S) + of + _ -> gb_sets:is_element(E, S) + catch + error:_ -> not gb_sets:is_element(E, S) + end + end, + L + ) + ). + +%% --- delete_any/2 --------------------------------------------------- +%% +%% del_element/2 is an alias for delete_any/2 +%% Since del_element/2 is tested in sets_prop, this property only tests if +%% the result of delete_any/2 is the same as the result of del_element/2. +prop_delete_any() -> + ?FORALL( + {S, L}, + ?LET( + {L1, L2}, + {ct_proper_ext:safe_list(), + non_empty(ct_proper_ext:safe_list())}, + {gb_sets:from_list(L1), L1 ++ L2} + ), + lists:all(fun(E) -> gb_sets:delete_any(E, S) =:= gb_sets:del_element(E, S) end, L) + ). + +%% --- difference/2 --------------------------------------------------- +%% +%% subtract/2 is an alias for difference/2 +%% Since subtract/2 is tested in sets_prop, this property only tests if +%% the result of difference/2 is the same as the result of subtract/2. +prop_difference() -> + ?FORALL( + {S1, S2}, + ?LET( + {L1, L2, Both}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_list()}, + {gb_sets:from_list(L1 ++ Both), gb_sets:from_list(L2 ++ Both)} + ), + gb_sets:difference(S1, S2) =:= gb_sets:subtract(S1, S2) + ). + +%% --- from_ordset/1 -------------------------------------------------- +prop_from_ordset() -> + ?FORALL( + L, + ct_proper_ext:safe_list(), + gb_sets:is_equal(gb_sets:from_list(L), + gb_sets:from_ordset(ordsets:from_list(L))) + ). + +%% --- insert/2 ------------------------------------------------------- +prop_insert() -> + ?FORALL( + {S, L}, + ?LET( + {L1, L2}, + {ct_proper_ext:safe_list(), + non_empty(ct_proper_ext:safe_list())}, + {gb_sets:from_list(L1), L1 ++ L2} + ), + lists:all( + fun(E) -> + try + gb_sets:insert(E, S) =:= gb_sets:add_element(E, S) + of + _ -> not gb_sets:is_element(E, S) + catch + error:_ -> gb_sets:is_element(E, S) + end + end, + L + ) + ). + +%% --- is_member/2 ---------------------------------------------------- +%% +%% is_element/2 is an alias for is_member/2 +%% Since is_element/2 is tested in sets_prop, this property only tests if +%% the result of is_member/2 is the same as the result of is_element/2. +prop_is_member() -> + ?FORALL( + {S, L}, + ?LET( + {L1, L2}, + {ct_proper_ext:safe_list(), + non_empty(ct_proper_ext:safe_list())}, + {gb_sets:from_list(L1), L1 ++ L2} + ), + lists:all(fun(E) -> gb_sets:is_member(E, S) =:= gb_sets:is_element(E, S) end, L) + ). + +%% --- iterator/1 ----------------------------------------------------- +%% +%% This property implicitly tests next/1 +prop_iterator() -> + ?FORALL( + {S, L}, + ?LET( + L, + ct_proper_ext:safe_list(), + begin + L1 = lists:usort(L), + {gb_sets:from_list(L1), L1} + end + ), + do_iterate(gb_sets:iterator(S), L) + ). + +do_iterate(none, L) -> + L =:= []; +do_iterate(I, []) -> + none =:= gb_sets:next(I); +do_iterate(I0, L0) -> + {E, I1} = gb_sets:next(I0), + lists:member(E, L0) andalso + do_iterate_from(E, I1, lists:delete(E, L0)). + +%% --- iterator_from/2 ------------------------------------------------ +%% +%% This property implicitly tests next/1 +prop_iterator_from() -> + ?FORALL( + {S, L, From}, + ?LET( + {L, E}, + {ct_proper_ext:safe_list(), ct_proper_ext:safe_any()}, + begin + L1 = lists:usort(L), + L2 = lists:dropwhile(fun(X) -> X < E end, L1), + F = case L2 of + [] -> E; + _ -> oneof([E, hd(L2)]) + end, + {gb_sets:from_list(L1), L2, F} + end + ), + do_iterate_from(From, gb_sets:iterator_from(From, S), L) + ). + +do_iterate_from(_Min, none, L) -> + L =:= []; +do_iterate_from(_Min, I, []) -> + none =:= gb_sets:next(I); +do_iterate_from(Min, I0, L0) -> + {E, I1} = gb_sets:next(I0), + lists:member(E, L0) andalso + Min =< E andalso + do_iterate_from(E, I1, lists:delete(E, L0)). + +%% --- largest/1 ------------------------------------------------------ +prop_largest() -> + ?FORALL( + {Set, Largest}, + ?LET( + L, + non_empty(ct_proper_ext:safe_list()), + begin + L1 = lists:usort(L), + {gb_sets:from_list(L1), lists:last(L1)} + end + ), + Largest =:= gb_sets:largest(Set) + ). + +%% --- singleton/1 ---------------------------------------------------- +prop_singleton() -> + ?FORALL( + E, + ct_proper_ext:safe_any(), + [E] =:= gb_sets:to_list(gb_sets:singleton(E)) + ). + +%% --- smallest/1 ----------------------------------------------------- +prop_smallest() -> + ?FORALL( + {Set, Smallest}, + ?LET( + L, + non_empty(ct_proper_ext:safe_list()), + begin + L1 = lists:usort(L), + {gb_sets:from_list(L1), hd(L1)} + end + ), + Smallest =:= gb_sets:smallest(Set) + ). + +%% --- take_largest/1 ------------------------------------------------- +prop_take_largest() -> + ?FORALL( + {S, Largest}, + ?LET( + L, + non_empty(ct_proper_ext:safe_list()), + begin + L1 = lists:usort(L), + {gb_sets:from_list(L1), lists:last(L1)} + end + ), + begin + {Largest1, S1} = gb_sets:take_largest(S), + Largest1 =:= Largest andalso + gb_sets:is_equal(S1, gb_sets:del_element(Largest, S)) + end + ). + +%% --- take_smallest/1 ------------------------------------------------ +prop_take_smallest() -> + ?FORALL( + {S, Smallest}, + ?LET( + L, + non_empty(ct_proper_ext:safe_list()), + begin + L1 = lists:usort(L), + {gb_sets:from_list(L1), hd(L1)} + end + ), + begin + {Smallest1, S1} = gb_sets:take_smallest(S), + Smallest1 =:= Smallest andalso + gb_sets:is_equal(S1, gb_sets:del_element(Smallest, S)) + end + ). diff --git a/lib/stdlib/test/property_test/lists_prop.erl b/lib/stdlib/test/property_test/lists_prop.erl index 68c087b76d3d..2522a9b38b6f 100644 --- a/lib/stdlib/test/property_test/lists_prop.erl +++ b/lib/stdlib/test/property_test/lists_prop.erl @@ -19,38 +19,7 @@ %% -module(lists_prop). --compile([export_all, nowarn_export_all]). - --proptest(eqc). --proptest([triq, proper]). - --ifndef(EQC). --ifndef(PROPER). --ifndef(TRIQ). --define(EQC, true). --endif. --endif. --endif. - --ifdef(EQC). --include_lib("eqc/include/eqc.hrl"). --define(MOD_eqc,eqc). - --else. --ifdef(PROPER). --include_lib("proper/include/proper.hrl"). --define(MOD_eqc,proper). - --else. --ifdef(TRIQ). --define(MOD_eqc,triq). --include_lib("triq/include/triq.hrl"). - --endif. --endif. --endif. - --define(RANDOM_ATOMS, 1000). +-include_lib("common_test/include/ct_property_test.hrl"). %%%%%%%%%%%%%%%%%% %%% Properties %%% @@ -60,7 +29,7 @@ prop_all_true() -> ?FORALL( InList, - gen_list(), + ct_proper_ext:safe_list(), lists:all(fun(_) -> true end, InList) ). @@ -69,7 +38,9 @@ prop_all_false() -> {InList, Elem}, ?LET( {F, R, E}, - {gen_list(), gen_list(), make_ref()}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + make_ref()}, {F ++ [E|R], E} ), not lists:all(fun(T) -> T =/= Elem end, InList) @@ -81,7 +52,9 @@ prop_any_true() -> {InList, Elem}, ?LET( {F, R, E}, - {gen_list(), gen_list(), make_ref()}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + make_ref()}, {F ++ [E|R], E} ), lists:any(fun(T) -> T =:= Elem end, InList) @@ -90,7 +63,7 @@ prop_any_true() -> prop_any_false() -> ?FORALL( InList, - gen_list(), + ct_proper_ext:safe_list(), not lists:any(fun(_) -> false end, InList) ). @@ -98,7 +71,7 @@ prop_any_false() -> prop_append_1() -> ?FORALL( InLists, - list(gen_list()), + list(ct_proper_ext:safe_list()), check_appended(InLists, lists:append(InLists)) ). @@ -106,7 +79,7 @@ prop_append_1() -> prop_append_2() -> ?FORALL( {InList1, InList2}, - {gen_list(), gen_list()}, + {ct_proper_ext:safe_list(), ct_proper_ext:safe_list()}, lists:append(InList1, InList2) =:= InList1 ++ InList2 ). @@ -115,7 +88,7 @@ prop_concat() -> ?FORALL( {InList, ExpString}, gen_list_fold( - oneof([gen_atom(), number(), string()]), + oneof([ct_proper_ext:safe_atom(), number(), string()]), fun (A, Acc) when is_atom(A) -> Acc ++ atom_to_list(A); (I, Acc) when is_integer(I) -> Acc ++ integer_to_list(I); @@ -133,7 +106,9 @@ prop_delete() -> {InList, DelElem}, ?LET( {F, R, E}, - {gen_list(), gen_list(), gen_any()}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_any()}, {F ++ [E|R], E} ), begin @@ -146,7 +121,7 @@ prop_delete() -> prop_delete_absent() -> ?FORALL( InList, - gen_list(), + ct_proper_ext:safe_list(), lists:delete(make_ref(), InList) =:= InList ). @@ -154,7 +129,7 @@ prop_delete_absent() -> prop_droplast() -> ?FORALL( InList, - gen_list(), + ct_proper_ext:safe_list(), try lists:droplast(InList) =:= lists:reverse(tl(lists:reverse(InList))) catch @@ -173,7 +148,7 @@ prop_dropwhile() -> ?LET( {L, {_, DL}}, gen_list_fold( - gen_any(), + ct_proper_ext:safe_any(), fun(E, {Drop, Acc}) -> case Drop andalso Fn(E) of true -> {true, Acc}; @@ -194,7 +169,7 @@ prop_duplicate() -> {N, Term, ExpList}, ?LET( T, - gen_any(), + ct_proper_ext:safe_any(), ?LET(L, list(T), {length(L), T, L}) ), lists:duplicate(N, Term) =:= ExpList @@ -207,7 +182,7 @@ prop_enumerate_1() -> ?LET( {L, {_, EL}}, gen_list_fold( - gen_any(), + ct_proper_ext:safe_any(), fun(T, {I, Acc}) -> {I + 1, Acc ++ [{I, T}]} end, @@ -228,7 +203,7 @@ prop_enumerate_2() -> ?LET( {L, {_, EL}}, gen_list_fold( - gen_any(), + ct_proper_ext:safe_any(), fun(T, {I, Acc}) -> {I + 1, Acc ++ [{I, T}]} end, @@ -250,7 +225,7 @@ prop_enumerate_3() -> ?LET( {L, {_, EL}}, gen_list_fold( - gen_any(), + ct_proper_ext:safe_any(), fun(T, {I, Acc}) -> {I + S, Acc ++ [{I, T}]} end, @@ -272,7 +247,7 @@ prop_filter() -> ?LET( {L, F}, gen_list_fold( - gen_any(), + ct_proper_ext:safe_any(), fun(T, Acc) -> case P(T) of true -> Acc ++ [T]; @@ -293,11 +268,11 @@ prop_filtermap() -> {FilterMapFn, InList, ExpList}, ?LET( Fn, - function1(oneof([true, false, {true, gen_any()}])), + function1(oneof([true, false, {true, ct_proper_ext:safe_any()}])), ?LET( {L, FM}, gen_list_fold( - gen_any(), + ct_proper_ext:safe_any(), fun(T, Acc) -> case Fn(T) of false -> Acc; @@ -327,11 +302,11 @@ prop_flatmap() -> {MapFn, InList, ExpList}, ?LET( Fn, - function1(gen_list()), + function1(ct_proper_ext:safe_list()), ?LET( {L, FlatMapped}, gen_list_fold( - gen_any(), + ct_proper_ext:safe_any(), fun(T, Acc) -> Acc ++ Fn(T) end, @@ -355,7 +330,8 @@ prop_flatten_1() -> prop_flatten_2() -> ?FORALL( {{DeepList, FlatList}, Tail}, - {gen_list_deepfold(fun(_, E, Acc) -> Acc ++ [E] end, []), gen_list()}, + {gen_list_deepfold(fun(_, E, Acc) -> Acc ++ [E] end, []), + ct_proper_ext:safe_list()}, lists:flatten(DeepList, Tail) =:= FlatList ++ Tail ). @@ -365,10 +341,10 @@ prop_foldl() -> {FoldFn, InList, Acc0, Exp}, ?LET( {Fn, Acc0}, - {function2(gen_any()), gen_any()}, + {function2(ct_proper_ext:safe_any()), ct_proper_ext:safe_any()}, ?LET( {L, V}, - gen_list_fold(gen_any(), Fn, Acc0), + gen_list_fold(ct_proper_ext:safe_any(), Fn, Acc0), {Fn, L, Acc0, V} ) ), @@ -381,10 +357,10 @@ prop_foldr() -> {FoldFn, InList, Acc0, Exp}, ?LET( {Fn, Acc0}, - {function2(gen_any()), gen_any()}, + {function2(ct_proper_ext:safe_any()), ct_proper_ext:safe_any()}, ?LET( {L, V}, - gen_list_fold(gen_any(), Fn, Acc0), + gen_list_fold(ct_proper_ext:safe_any(), Fn, Acc0), {Fn, lists:reverse(L), Acc0, V} ) ), @@ -395,7 +371,7 @@ prop_foldr() -> prop_foreach() -> ?FORALL( InList, - gen_list(), + ct_proper_ext:safe_list(), begin Tag = make_ref(), lists:foreach(fun(E) -> self() ! {Tag, E} end, InList), @@ -407,7 +383,7 @@ prop_foreach() -> prop_join() -> ?FORALL( {Sep, InList}, - {gen_any(), gen_list()}, + {ct_proper_ext:safe_any(), ct_proper_ext:safe_list()}, check_joined(Sep, InList, lists:join(Sep, InList)) ). @@ -417,10 +393,12 @@ prop_keydelete() -> {Key, N, InList}, ?LET( {K, N}, - {gen_any(), range(1, 5)}, + {ct_proper_ext:safe_any(), range(1, 5)}, ?LET( {F, R, E}, - {gen_list(), gen_list(), gen_keytuple(K, N, N + 3)}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + gen_keytuple(K, N, N + 3)}, {K, N, F ++ [E|R]} ) ), @@ -434,7 +412,7 @@ prop_keydelete() -> prop_keydelete_absent() -> ?FORALL( {N, InList}, - {pos_integer(), gen_list()}, + {pos_integer(), ct_proper_ext:safe_list()}, lists:keydelete(make_ref(), N, InList) =:= InList ). @@ -444,10 +422,12 @@ prop_keyfind() -> {Key, N, InList}, ?LET( {K, N}, - {gen_any(), range(1, 5)}, + {ct_proper_ext:safe_any(), range(1, 5)}, ?LET( {F, R, E}, - {gen_list(), gen_list(), gen_keytuple(K, N, N + 3)}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + gen_keytuple(K, N, N + 3)}, {K, N, F ++ [E|R]} ) ), @@ -462,7 +442,7 @@ prop_keyfind() -> prop_keyfind_absent() -> ?FORALL( {N, InList}, - {pos_integer(), gen_list()}, + {pos_integer(), ct_proper_ext:safe_list()}, not lists:keyfind(make_ref(), N, InList) ). @@ -472,7 +452,7 @@ prop_keymap() -> {MapFn, N, InList, ExpList}, ?LET( Fn, - function([gen_any()], gen_any()), + function([ct_proper_ext:safe_any()], ct_proper_ext:safe_any()), ?LET( N, range(1, 5), @@ -498,10 +478,12 @@ prop_keymember() -> {Key, N, InList}, ?LET( {K, N}, - {gen_any(), range(1, 5)}, + {ct_proper_ext:safe_any(), range(1, 5)}, ?LET( {F, R, E}, - {gen_list(), gen_list(), gen_keytuple(K, N, N + 3)}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + gen_keytuple(K, N, N + 3)}, {K, N, F ++ [E|R]} ) ), @@ -511,7 +493,7 @@ prop_keymember() -> prop_keymember_absent() -> ?FORALL( {N, InList}, - {pos_integer(), gen_list()}, + {pos_integer(), ct_proper_ext:safe_list()}, not lists:keymember(make_ref(), N, InList) ). @@ -558,10 +540,13 @@ prop_keyreplace() -> {Key, N, InList, Replacement}, ?LET( {K, N}, - {gen_any(), range(1, 5)}, + {ct_proper_ext:safe_any(), range(1, 5)}, ?LET( {F, R, E0, E1}, - {gen_list(), gen_list(), gen_keytuple(K, N, N + 3), gen_tuple()}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + gen_keytuple(K, N, N + 3), + gen_tuple()}, {K, N, F ++ [E0|R], E1} ) ), @@ -571,7 +556,7 @@ prop_keyreplace() -> prop_keyreplace_absent() -> ?FORALL( {N, InList, Replacement}, - {pos_integer(), gen_list(), gen_tuple()}, + {pos_integer(), ct_proper_ext:safe_list(), gen_tuple()}, lists:keyreplace(make_ref(), N, InList, Replacement) =:= InList ). @@ -581,10 +566,12 @@ prop_keysearch() -> {Key, N, InList}, ?LET( {K, N}, - {gen_any(), range(1, 5)}, + {ct_proper_ext:safe_any(), range(1, 5)}, ?LET( {F, R, E}, - {gen_list(), gen_list(), gen_keytuple(K, N, N + 3)}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + gen_keytuple(K, N, N + 3)}, {K, N, F ++ [E|R]} ) ), @@ -599,7 +586,7 @@ prop_keysearch() -> prop_keysearch_absent() -> ?FORALL( {N, InList}, - {pos_integer(), gen_list()}, + {pos_integer(), ct_proper_ext:safe_list()}, not lists:keysearch(make_ref(), N, InList) ). @@ -625,10 +612,13 @@ prop_keystore() -> {Key, N, InList, ToStore}, ?LET( {K, N}, - {gen_any(), range(1, 5)}, + {ct_proper_ext:safe_any(), range(1, 5)}, ?LET( {F, R, E0, E1}, - {gen_list(), gen_list(), gen_keytuple(K, N, N + 3), gen_tuple()}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + gen_keytuple(K, N, N + 3), + gen_tuple()}, {K, N, F ++ [E0|R], E1} ) ), @@ -638,7 +628,7 @@ prop_keystore() -> prop_keystore_absent() -> ?FORALL( {N, InList, ToStore}, - {pos_integer(), gen_list(), gen_tuple()}, + {pos_integer(), ct_proper_ext:safe_list(), gen_tuple()}, lists:keystore(make_ref(), N, InList, ToStore) =:= InList ++ [ToStore] ). @@ -651,7 +641,9 @@ prop_keytake() -> {make_ref(), range(1, 5)}, ?LET( {F, R, E}, - {gen_list(), gen_list(), gen_keytuple(K, N, N + 3)}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + gen_keytuple(K, N, N + 3)}, {K, N, F ++ [E|R], F ++ R, E} ) ), @@ -661,7 +653,7 @@ prop_keytake() -> prop_keytake_absent() -> ?FORALL( {N, InList}, - {pos_integer(), gen_list()}, + {pos_integer(), ct_proper_ext:safe_list()}, lists:keytake(make_ref(), N, InList) =:= false ). @@ -669,7 +661,7 @@ prop_keytake_absent() -> prop_last() -> ?FORALL( InList, - gen_list(), + ct_proper_ext:safe_list(), try lists:last(InList) =:= hd(lists:reverse(InList)) catch @@ -684,11 +676,11 @@ prop_map() -> {MapFn, InList, ExpList}, ?LET( Fn, - function1(gen_any()), + function1(ct_proper_ext:safe_any()), ?LET( {L, M}, gen_list_fold( - gen_any(), + ct_proper_ext:safe_any(), fun(T, Acc) -> Acc ++ [Fn(T)] end, @@ -706,11 +698,13 @@ prop_mapfoldl() -> {MapFoldFn, InList, Acc0, Exp}, ?LET( {MapFn, FoldFn, Acc0}, - {function1(gen_any()), function2(gen_any()), gen_any()}, + {function1(ct_proper_ext:safe_any()), + function2(ct_proper_ext:safe_any()), + ct_proper_ext:safe_any()}, ?LET( {L, MV}, gen_list_fold( - gen_any(), + ct_proper_ext:safe_any(), fun(T, {AccM, AccF}) -> {AccM ++ [MapFn(T)], FoldFn(T, AccF)} end, @@ -728,11 +722,13 @@ prop_mapfoldr() -> {MapFoldFn, InList, Acc0, Exp}, ?LET( {MapFn, FoldFn, Acc0}, - {function1(gen_any()), function2(gen_any()), gen_any()}, + {function1(ct_proper_ext:safe_any()), + function2(ct_proper_ext:safe_any()), + ct_proper_ext:safe_any()}, ?LET( {L, MV}, gen_list_fold( - gen_any(), + ct_proper_ext:safe_any(), fun(T, {AccM, AccF}) -> {[MapFn(T)|AccM], FoldFn(T, AccF)} end, @@ -748,7 +744,7 @@ prop_mapfoldr() -> prop_max() -> ?FORALL( {InList, ExpMax}, - gen_list_fold(gen_any(), fun erlang:max/2), + gen_list_fold(ct_proper_ext:safe_any(), fun erlang:max/2), try lists:max(InList) == ExpMax catch @@ -763,7 +759,9 @@ prop_member() -> {InList, Member}, ?LET( {F, R, E}, - {gen_list(), gen_list(), gen_any()}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_any()}, {F ++ [E|R], E} ), lists:member(Member, InList) @@ -772,7 +770,7 @@ prop_member() -> prop_member_absent() -> ?FORALL( InList, - gen_list(), + ct_proper_ext:safe_list(), not lists:member(make_ref(), InList) ). @@ -780,7 +778,7 @@ prop_member_absent() -> prop_merge_1() -> ?FORALL( InLists, - list(?LET(L, gen_list(), lists:sort(L))), + list(?LET(L, ct_proper_ext:safe_list(), lists:sort(L))), check_merged(fun erlang:'=<'/2, InLists, lists:merge(InLists)) ). @@ -789,7 +787,9 @@ prop_merge_1_invalid() -> InLists, ?LET( {L1, X, L2}, - {list(oneof([non_list(), gen_list()])), non_list(), list(oneof([non_list(), gen_list()]))}, + {list(oneof([non_list(), ct_proper_ext:safe_list()])), + non_list(), + list(oneof([non_list(), ct_proper_ext:safe_list()]))}, L1 ++ [X|L2] ), expect_error(fun lists:merge/1, [InLists]) @@ -801,7 +801,7 @@ prop_merge_2() -> {InList1, InList2}, ?LET( {L1, L2}, - {gen_list(), gen_list()}, + {ct_proper_ext:safe_list(), ct_proper_ext:safe_list()}, {lists:sort(L1), lists:sort(L2)} ), check_merged(fun erlang:'=<'/2, [InList1, InList2], lists:merge(InList1, InList2)) @@ -810,7 +810,7 @@ prop_merge_2() -> prop_merge_2_invalid() -> ?FORALL( {InList, X, Y}, - {gen_list(), non_list(), non_list()}, + {ct_proper_ext:safe_list(), non_list(), non_list()}, expect_error(fun lists:merge/2, [InList, X]) andalso expect_error(fun lists:merge/2, [X, InList]) andalso expect_error(fun lists:merge/2, [X, Y]) @@ -822,7 +822,9 @@ prop_merge_3() -> {SortFn, InList1, InList2}, ?LET( {Fn, L1, L2}, - {gen_ordering_fun(), gen_list(), gen_list()}, + {gen_ordering_fun(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_list()}, {Fn, lists:sort(Fn, L1), lists:sort(Fn, L2)} ), check_merged(SortFn, [InList1, InList2], lists:merge(SortFn, InList1, InList2)) @@ -831,7 +833,10 @@ prop_merge_3() -> prop_merge_3_invalid() -> ?FORALL( {SortFn, InList, X, Y}, - {gen_ordering_fun(), gen_list(), non_list(), non_list()}, + {gen_ordering_fun(), + ct_proper_ext:safe_list(), + non_list(), + non_list()}, expect_error(fun lists:merge/3, [SortFn, InList, Y]) andalso expect_error(fun lists:merge/3, [SortFn, X, InList]) andalso expect_error(fun lists:merge/3, [SortFn, X, Y]) @@ -843,7 +848,9 @@ prop_merge3() -> {InList1, InList2, InList3}, ?LET( {L1, L2, L3}, - {gen_list(), gen_list(), gen_list()}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_list()}, {lists:sort(L1), lists:sort(L2), lists:sort(L3)} ), check_merged(fun erlang:'=<'/2, [InList1, InList2, InList3], lists:merge3(InList1, InList2, InList3)) @@ -852,7 +859,7 @@ prop_merge3() -> prop_merge3_invalid() -> ?FORALL( {InList, X, Y, Z}, - {gen_list(), non_list(), non_list(), non_list()}, + {ct_proper_ext:safe_list(), non_list(), non_list(), non_list()}, expect_error(fun lists:merge/3, [InList, InList, Z]) andalso expect_error(fun lists:merge/3, [InList, Y, InList]) andalso expect_error(fun lists:merge/3, [InList, Y, Z]) andalso @@ -865,7 +872,7 @@ prop_merge3_invalid() -> prop_min() -> ?FORALL( {InList, ExpMin}, - gen_list_fold(gen_any(), fun erlang:min/2), + gen_list_fold(ct_proper_ext:safe_any(), fun erlang:min/2), try lists:min(InList) == ExpMin catch @@ -880,7 +887,9 @@ prop_nth() -> {InList, N, ExpElem}, ?LET( {F, R, E}, - {gen_list(), gen_list(), gen_any()}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_any()}, {F ++ [E|R], length(F)+1, E} ), lists:nth(N, InList) =:= ExpElem @@ -891,7 +900,7 @@ prop_nth_outofrange() -> {N, InList}, ?LET( {L, Offset}, - {gen_list(), pos_integer()}, + {ct_proper_ext:safe_list(), pos_integer()}, {length(L) + Offset, L} ), try @@ -911,7 +920,7 @@ prop_nthtail() -> {InList, N, ExpTail}, ?LET( {F, R}, - {gen_list(), gen_list()}, + {ct_proper_ext:safe_list(), ct_proper_ext:safe_list()}, {F ++ R, length(F), R} ), lists:nthtail(N, InList) =:= ExpTail @@ -922,7 +931,7 @@ prop_nthtail_outofrange() -> {N, InList}, ?LET( {L, Offset}, - {gen_list(), pos_integer()}, + {ct_proper_ext:safe_list(), pos_integer()}, {length(L) + Offset, L} ), try @@ -940,7 +949,7 @@ prop_nthtail_outofrange() -> prop_partition() -> ?FORALL( {Pred, InList}, - {function1(boolean()), gen_list()}, + {function1(boolean()), ct_proper_ext:safe_list()}, begin {Group1, Group2} = lists:partition(Pred, InList), check_partitioned(Pred, InList, Group1, Group2) @@ -953,7 +962,7 @@ prop_prefix() -> {InList, Prefix}, ?LET( {F, R}, - {gen_list(), gen_list()}, + {ct_proper_ext:safe_list(), ct_proper_ext:safe_list()}, {F ++ R, F} ), lists:prefix(Prefix, InList) andalso @@ -966,7 +975,7 @@ prop_prefix() -> prop_reverse_1() -> ?FORALL( InList, - gen_list(), + ct_proper_ext:safe_list(), check_reversed(InList, lists:reverse(InList)) andalso lists:reverse(lists:reverse(InList)) =:= InList ). @@ -975,7 +984,7 @@ prop_reverse_1() -> prop_reverse_2() -> ?FORALL( {InList, InTail}, - {gen_list(), gen_list()}, + {ct_proper_ext:safe_list(), ct_proper_ext:safe_list()}, check_reversed(InList, lists:reverse(InList, InTail), InTail) ). @@ -985,7 +994,9 @@ prop_search() -> {Pred, InList, ExpElem}, ?LET( {F, R, E}, - {gen_list(), gen_list(), make_ref()}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + make_ref()}, {fun(T) -> T =:= E end, F ++ [E|R], E} ), lists:search(Pred, InList) =:= {value, ExpElem} @@ -994,7 +1005,7 @@ prop_search() -> prop_search_absent() -> ?FORALL( InList, - gen_list(), + ct_proper_ext:safe_list(), lists:search(fun(_) -> false end, InList) =:= false ). @@ -1046,7 +1057,7 @@ prop_seq3() -> prop_sort_1() -> ?FORALL( InList, - gen_list(), + ct_proper_ext:safe_list(), begin Sorted = lists:sort(InList), length(Sorted) =:= length(InList) andalso @@ -1058,7 +1069,7 @@ prop_sort_1() -> prop_sort_2() -> ?FORALL( {SortFn, InList}, - {gen_ordering_fun(), gen_list()}, + {gen_ordering_fun(), ct_proper_ext:safe_list()}, begin Sorted = lists:sort(SortFn, InList), length(Sorted) =:= length(InList) andalso @@ -1072,7 +1083,7 @@ prop_split() -> {N, InList, ExpList1, ExpList2}, ?LET( {F, R}, - {gen_list(), gen_list()}, + {ct_proper_ext:safe_list(), ct_proper_ext:safe_list()}, {length(F), F ++ R, F, R} ), lists:split(N, InList) =:= {ExpList1, ExpList2} @@ -1083,7 +1094,7 @@ prop_split_outofrange() -> {N, InList}, ?LET( {L, Offset}, - {gen_list(), pos_integer()}, + {ct_proper_ext:safe_list(), pos_integer()}, {length(L) + Offset, L} ), try @@ -1101,7 +1112,7 @@ prop_split_outofrange() -> prop_splitwith() -> ?FORALL( {Pred, InList}, - {function1(boolean()), gen_list()}, + {function1(boolean()), ct_proper_ext:safe_list()}, begin {Part1, Part2} = lists:splitwith(Pred, InList), check_splitwithed(Pred, InList, Part1, Part2) @@ -1114,7 +1125,7 @@ prop_sublist_2() -> {Len, InList, ExpList}, ?LET( {F, R}, - {gen_list(), gen_list()}, + {ct_proper_ext:safe_list(), ct_proper_ext:safe_list()}, {length(F), F ++ R, F} ), lists:sublist(InList, Len) =:= ExpList @@ -1126,7 +1137,9 @@ prop_sublist_3() -> {Start, Len, InList, ExpList}, ?LET( {F, M, R}, - {gen_list(), gen_list(), gen_list()}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_list()}, {length(F)+1, length(M), F ++ M ++ R, M} ), lists:sublist(InList, Start, Len) =:= ExpList @@ -1138,7 +1151,9 @@ prop_subtract() -> {InList, SubtractList}, ?LET( {L, B, S}, - {gen_list(), gen_list(), gen_list()}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_list()}, {L ++ B, S ++ B} ), lists:subtract(InList, SubtractList) =:= InList -- SubtractList @@ -1150,7 +1165,7 @@ prop_suffix() -> {InList, Suffix}, ?LET( {F, R}, - {gen_list(), gen_list()}, + {ct_proper_ext:safe_list(), ct_proper_ext:safe_list()}, {F ++ R, R} ), lists:suffix(Suffix, InList) andalso @@ -1177,7 +1192,7 @@ prop_takewhile() -> ?LET( {L, {_, TL}}, gen_list_fold( - gen_any(), + ct_proper_ext:safe_any(), fun(E, {Take, Acc}) -> case Take andalso Fn(E) of true -> {true, Acc ++ [E]}; @@ -1249,7 +1264,7 @@ prop_ukeysort() -> prop_umerge_1() -> ?FORALL( InLists, - list(?LET(L, gen_list(), lists:usort(L))), + list(?LET(L, ct_proper_ext:safe_list(), lists:usort(L))), check_umerged(InLists, lists:umerge(InLists)) ). @@ -1258,7 +1273,9 @@ prop_umerge_1_invalid() -> InList, ?LET( {L1, X, L2}, - {list(oneof([non_list(), gen_list()])), non_list(), list(oneof([non_list(), gen_list()]))}, + {list(oneof([non_list(), ct_proper_ext:safe_list()])), + non_list(), + list(oneof([non_list(), ct_proper_ext:safe_list()]))}, L1 ++ [X|L2] ), expect_error(fun lists:umerge/1, [InList]) @@ -1270,7 +1287,7 @@ prop_umerge_2() -> {InList1, InList2}, ?LET( {L1, L2}, - {gen_list(), gen_list()}, + {ct_proper_ext:safe_list(), ct_proper_ext:safe_list()}, {lists:usort(L1), lists:usort(L2)} ), check_umerged([InList1, InList2], lists:umerge(InList1, InList2)) @@ -1279,7 +1296,7 @@ prop_umerge_2() -> prop_umerge_2_invalid() -> ?FORALL( {InList, X, Y}, - {gen_list(), non_list(), non_list()}, + {ct_proper_ext:safe_list(), non_list(), non_list()}, expect_error(fun lists:umerge/2, [InList, Y]) andalso expect_error(fun lists:umerge/2, [X, InList]) andalso expect_error(fun lists:umerge/2, [X, Y]) @@ -1291,7 +1308,9 @@ prop_umerge_3() -> {SortFn, InList1, InList2}, ?LET( {Fn, L1, L2}, - {gen_ordering_fun(), gen_list(), gen_list()}, + {gen_ordering_fun(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_list()}, {Fn, lists:usort(Fn, L1), lists:usort(Fn, L2)} ), check_umerged(SortFn, [InList1, InList2], lists:umerge(SortFn, InList1, InList2)) @@ -1300,7 +1319,10 @@ prop_umerge_3() -> prop_umerge_3_invalid() -> ?FORALL( {SortFn, InList, X, Y}, - {gen_ordering_fun(), gen_list(), non_list(), non_list()}, + {gen_ordering_fun(), + ct_proper_ext:safe_list(), + non_list(), + non_list()}, expect_error(fun lists:umerge/3, [SortFn, InList, Y]) andalso expect_error(fun lists:umerge/3, [SortFn, X, InList]) andalso expect_error(fun lists:umerge/3, [SortFn, X, Y]) @@ -1312,7 +1334,9 @@ prop_umerge3() -> {InList1, InList2, InList3}, ?LET( {L1, L2, L3}, - {gen_list(), gen_list(), gen_list()}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_list()}, {lists:usort(L1), lists:usort(L2), lists:usort(L3)} ), check_umerged([InList1, InList2, InList3], lists:umerge3(InList1, InList2, InList3)) @@ -1321,7 +1345,7 @@ prop_umerge3() -> prop_umerge3_invalid() -> ?FORALL( {InList, X, Y, Z}, - {gen_list(), non_list(), non_list(), non_list()}, + {ct_proper_ext:safe_list(), non_list(), non_list(), non_list()}, expect_error(fun lists:umerge3/3, [InList, InList, Z]) andalso expect_error(fun lists:umerge3/3, [InList, Y, InList]) andalso expect_error(fun lists:umerge3/3, [InList, Y, Z]) andalso @@ -1337,7 +1361,7 @@ prop_uniq_1() -> InList, ?LET( {L, M}, - {gen_list(), gen_list()}, + {ct_proper_ext:safe_list(), ct_proper_ext:safe_list()}, ?LET( S, vector(length(L) + 2 * length(M), integer()), @@ -1351,7 +1375,7 @@ prop_uniq_1() -> prop_uniq_2() -> ?FORALL( {UniqFn, InList}, - {function1(oneof([a, b, c])), gen_list()}, + {function1(oneof([a, b, c])), ct_proper_ext:safe_list()}, check_uniqed(UniqFn, InList, lists:uniq(UniqFn, InList)) ). @@ -1360,7 +1384,7 @@ prop_unzip() -> ?FORALL( {InList, {ExpList1, ExpList2}}, gen_list_fold( - {gen_any(), gen_any()}, + {ct_proper_ext:safe_any(), ct_proper_ext:safe_any()}, fun({T1, T2}, {L1, L2}) -> {L1 ++ [T1], L2 ++ [T2]} end, @@ -1374,7 +1398,9 @@ prop_unzip3() -> ?FORALL( {InList, {ExpList1, ExpList2, ExpList3}}, gen_list_fold( - {gen_any(), gen_any(), gen_any()}, + {ct_proper_ext:safe_any(), + ct_proper_ext:safe_any(), + ct_proper_ext:safe_any()}, fun({T1, T2, T3}, {L1, L2, L3}) -> {L1 ++ [T1], L2 ++ [T2], L3 ++ [T3]} end, @@ -1387,7 +1413,7 @@ prop_unzip3() -> prop_usort_1() -> ?FORALL( InList, - gen_list(), + ct_proper_ext:safe_list(), begin Sorted = lists:usort(InList), length(Sorted) =< length(InList) andalso @@ -1399,7 +1425,7 @@ prop_usort_1() -> prop_usort_2() -> ?FORALL( {SortFn, InList}, - {gen_ordering_fun(), gen_list()}, + {gen_ordering_fun(), ct_proper_ext:safe_list()}, begin Sorted = lists:usort(SortFn, InList), length(Sorted) =< length(InList) andalso @@ -1412,7 +1438,7 @@ prop_zip_2() -> ?FORALL( {ExpList, {InList1, InList2}}, gen_list_fold( - {gen_any(), gen_any()}, + {ct_proper_ext:safe_any(), ct_proper_ext:safe_any()}, fun({T1, T2}, {L1, L2}) -> {L1 ++ [T1], L2 ++ [T2]} end, @@ -1427,13 +1453,13 @@ prop_zip_3() -> {{ExpList, {InList1, InList2}}, ExtraList}, { gen_list_fold( - {gen_any(), gen_any()}, + {ct_proper_ext:safe_any(), ct_proper_ext:safe_any()}, fun({T1, T2}, {L1, L2}) -> {L1 ++ [T1], L2 ++ [T2]} end, {[], []} ), - non_empty(gen_list()) + non_empty(ct_proper_ext:safe_list()) }, begin Tag = make_ref(), @@ -1462,7 +1488,9 @@ prop_zip3_3() -> ?FORALL( {ExpList, {InList1, InList2, InList3}}, gen_list_fold( - {gen_any(), gen_any(), gen_any()}, + {ct_proper_ext:safe_any(), + ct_proper_ext:safe_any(), + ct_proper_ext:safe_any()}, fun({T1, T2, T3}, {L1, L2, L3}) -> {L1 ++ [T1], L2 ++ [T2], L3 ++ [T3]} end, @@ -1477,13 +1505,15 @@ prop_zip3_4() -> {{ExpList, {InList1, InList2, InList3}}, ExtraList}, { gen_list_fold( - {gen_any(), gen_any(), gen_any()}, + {ct_proper_ext:safe_any(), + ct_proper_ext:safe_any(), + ct_proper_ext:safe_any()}, fun({T1, T2, T3}, {L1, L2, L3}) -> {L1 ++ [T1], L2 ++ [T2], L3 ++ [T3]} end, {[], [], []} ), - non_empty(gen_list()) + non_empty(ct_proper_ext:safe_list()) }, begin Tag = make_ref(), @@ -1529,11 +1559,11 @@ prop_zipwith_3() -> {ZipFn, InList1, InList2, ExpList}, ?LET( Fn, - function2(gen_any()), + function2(ct_proper_ext:safe_any()), ?LET( {_, {L1, L2, Z}}, gen_list_fold( - {gen_any(), gen_any()}, + {ct_proper_ext:safe_any(), ct_proper_ext:safe_any()}, fun({T1, T2}, {L1, L2, Z}) -> {L1 ++ [T1], L2 ++ [T2], Z ++ [Fn(T1, T2)]} end, @@ -1551,11 +1581,12 @@ prop_zipwith_4() -> {ZipFn, InList1, InList2, ExpList, ExtraList}, ?LET( {Extra, Fn}, - {non_empty(gen_list()), function2(gen_any())}, + {non_empty(ct_proper_ext:safe_list()), + function2(ct_proper_ext:safe_any())}, ?LET( {_, {L1, L2, Z}}, gen_list_fold( - {gen_any(), gen_any()}, + {ct_proper_ext:safe_any(), ct_proper_ext:safe_any()}, fun({T1, T2}, {L1, L2, Z}) -> {L1 ++ [T1], L2 ++ [T2], Z ++ [Fn(T1, T2)]} end, @@ -1592,11 +1623,13 @@ prop_zipwith3_4() -> {ZipFn, InList1, InList2, InList3, ExpList}, ?LET( Fn, - function3(gen_any()), + function3(ct_proper_ext:safe_any()), ?LET( {_, {L1, L2, L3, Z}}, gen_list_fold( - {gen_any(), gen_any(), gen_any()}, + {ct_proper_ext:safe_any(), + ct_proper_ext:safe_any(), + ct_proper_ext:safe_any()}, fun({T1, T2, T3}, {L1, L2, L3, Z}) -> {L1 ++ [T1], L2 ++ [T2], L3 ++ [T3], Z ++ [Fn(T1, T2, T3)]} end, @@ -1614,11 +1647,14 @@ prop_zipwith3_5() -> {ZipFn, InList1, InList2, InList3, ExpList, ExtraList}, ?LET( {Extra, Fn}, - {non_empty(gen_list()), function3(gen_any())}, + {non_empty(ct_proper_ext:safe_list()), + function3(ct_proper_ext:safe_any())}, ?LET( {_, {L1, L2, L3, Z}}, gen_list_fold( - {gen_any(), gen_any(), gen_any()}, + {ct_proper_ext:safe_any(), + ct_proper_ext:safe_any(), + ct_proper_ext:safe_any()}, fun({T1, T2, T3}, {L1, L2, L3, Z}) -> {L1 ++ [T1], L2 ++ [T2], L3 ++ [T3], Z ++ [Fn(T1, T2, T3)]} end, @@ -1670,7 +1706,7 @@ prop_zipwith3_5() -> %%%%%%%%%%%%%%%%%% non_list() -> - ?SUCHTHAT(NonList, gen_any(), not is_list(NonList)). + ?SUCHTHAT(NonList, ct_proper_ext:safe_any(), not is_list(NonList)). %% Generator for lists of the given type, folding the given function %% over values on the top level as they are generated. The first generated @@ -1723,17 +1759,13 @@ gen_keytuple(Key, MinSize, MaxSize) -> %% Generator for tuples of random size. gen_tuple() -> - ?LET( - N, - non_neg_integer(), - gen_tuple(N) - ). + ct_proper_ext:safe_tuple(). %% Generator for tuples of the given size. gen_tuple(Size) -> ?LET( V, - vector(Size, gen_any()), + vector(Size, ct_proper_ext:safe_any()), list_to_tuple(V) ). @@ -1745,15 +1777,11 @@ gen_tuple(MinSize, MaxSize) -> range(MinSize, MaxSize), ?LET( V, - vector(N, gen_any()), + vector(N, ct_proper_ext:safe_any()), list_to_tuple(V) ) ). -%% Generator for lists of anything. -gen_list() -> - list(gen_any()). - %% Generator for lists of anything, folding the given function %% over values on all levels of list-nesting as they are generated. gen_list_deepfold(FoldFn, Acc0) -> @@ -1772,9 +1800,12 @@ gen_list_deepfold(N, Level, L, FoldFn, Acc) -> ?LET( X, frequency([ - {4, {term, gen_any_simple()}}, + {5, {term, oneof([ct_proper_ext:safe_atom(), + ct_proper_ext:safe_tuple(), + integer(), + float(), + bitstring()])}}, {1, deeplist}, - {1, tuple}, {2, stop} ]), case X of @@ -1784,15 +1815,6 @@ gen_list_deepfold(N, Level, L, FoldFn, Acc) -> gen_list_deepfold(N, Level + 1, [], FoldFn, Acc), gen_list_deepfold(N1, Level, [L1|L], FoldFn, Acc1) ); - tuple -> - ?LET( - {N1, L1, _}, - gen_list_deepfold(N, Level + 1, [], fun(_, _, _) -> undefined end, undefined), - begin - E = list_to_tuple(L1), - gen_list_deepfold(N1, Level, [E|L], FoldFn, FoldFn(Level, E, Acc)) - end - ); stop -> {N, lists:reverse(L), Acc}; {term, E} -> @@ -1800,69 +1822,6 @@ gen_list_deepfold(N, Level, L, FoldFn, Acc) -> end ). -%% Generator for simple and composite (lists and tuples) types. -gen_any() -> - frequency( - [ - {4, gen_any_simple()}, - {1, ?LET({L, _}, gen_list_deepfold(fun(_, _, Acc) -> Acc end, undefined), L)}, - {1, ?LET({L, _}, gen_list_deepfold(fun(_, _, Acc) -> Acc end, undefined), list_to_tuple(L))} - ] - ). - -%% Generator for simple types: -%% - atoms -%% - integers -%% - floats -%% - bitstrings -gen_any_simple() -> - oneof([gen_atom(), integer(), float(), bitstring()]). - -%% Generator for interesting atoms: -%% - well-known atoms like `ok', `undefined', `infinity'... -%% - randomly generated "weird" atoms -gen_atom() -> - oneof( - [ - oneof([ok, error, true, false, undefined, infinity]), - oneof(['', '"', '\'', '(', ')', '()', '[', '[', '[]', '{', '}', '{}']), - gen_random_atom() - ] - ). - -%% Generator for a limited set of random atoms. The number of -%% atoms that will be generated is set in `?RANDOM_ATOMS'. -gen_random_atom() -> - ?LAZY( - ?LET( - N, - range(1, ?RANDOM_ATOMS), - try - persistent_term:get({?MODULE, random_atoms}) - of - Atoms -> - maps:get(N, Atoms) - catch - error:badarg -> - ?LET( - AtomsList, - vector(?RANDOM_ATOMS, ?SIZED(Size, resize(Size * 100, atom()))), - begin - Fn = fun - F(_, [], Acc) -> - Acc; - F(Index, [A|As], Acc) -> - F(Index + 1, As, Acc#{Index => A}) - end, - Atoms = Fn(1, AtomsList, #{}), - persistent_term:put({?MODULE, random_atoms}, Atoms), - maps:get(N, Atoms) - end - ) - end - ) - ). - %% Generator for ordering functions, to be used for sorting and merging. %% The generated ordering functions are designed to fulfill the requirements given %% at the top of the `lists' documentation, namely to be antisymmetric, transitive, diff --git a/lib/stdlib/test/property_test/queue_prop.erl b/lib/stdlib/test/property_test/queue_prop.erl index 03372d2aab20..e010afe4b670 100644 --- a/lib/stdlib/test/property_test/queue_prop.erl +++ b/lib/stdlib/test/property_test/queue_prop.erl @@ -19,36 +19,7 @@ %% -module(queue_prop). --compile(export_all). - --proptest(eqc). --proptest([triq, proper]). - --ifndef(EQC). --ifndef(PROPER). --ifndef(TRIQ). --define(EQC, true). --endif. --endif. --endif. - --ifdef(EQC). --include_lib("eqc/include/eqc.hrl"). --define(MOD_eqc,eqc). - --else. --ifdef(PROPER). --include_lib("proper/include/proper.hrl"). --define(MOD_eqc,proper). - --else. --ifdef(TRIQ). --define(MOD_eqc,triq). --include_lib("triq/include/triq.hrl"). - --endif. --endif. --endif. +-include_lib("common_test/include/ct_property_test.hrl"). %%%%%%%%%%%%%%%%%% %%% Properties %%% @@ -72,7 +43,7 @@ prop_is_queue() -> prop_list_conversion() -> ?FORALL( List, - list(), + ct_proper_ext:safe_list(), begin Queue = queue:from_list(List), queue:is_queue(Queue) andalso @@ -83,7 +54,7 @@ prop_list_conversion() -> prop_from_list_invalid() -> ?FORALL( NonList, - ?SUCHTHAT(T, term(), not is_list(T)), + ?SUCHTHAT(T, ct_proper_ext:safe_any(), not is_list(T)), expect_badarg(fun queue:from_list/1, [NonList]) ). @@ -93,7 +64,8 @@ prop_to_list_invalid() -> prop_all() -> ?FORALL( {L, Q}, - oneof([list_queue(atom()), list_queue(term())]), + oneof([list_queue(ct_proper_ext:safe_atom()), + list_queue(ct_proper_ext:safe_any())]), begin lists:all(fun is_atom/1, L) =:= queue:all(fun is_atom/1, Q) end @@ -129,7 +101,7 @@ prop_daeh_invalid() -> prop_delete() -> ?FORALL( {X, {L, Q}}, - {term(), list_queue()}, + {ct_proper_ext:safe_any(), list_queue()}, begin R1 = if L =:= [] -> @@ -150,7 +122,7 @@ prop_delete_invalid() -> prop_delete_r() -> ?FORALL( {X, {L, Q}}, - {term(), list_queue()}, + {ct_proper_ext:safe_any(), list_queue()}, begin R1 = if L =:= [] -> @@ -327,7 +299,7 @@ prop_head_invalid() -> prop_in() -> ?FORALL( L, - list(), + ct_proper_ext:safe_list(), begin Q = lists:foldl( fun(I, Acc) -> @@ -410,7 +382,7 @@ prop_liat_invalid() -> prop_member() -> ?FORALL( {X, {L, Q}}, - {term(), list_queue()}, + {ct_proper_ext:safe_any(), list_queue()}, begin % all members of L are members of Q lists:all( @@ -526,7 +498,7 @@ prop_reverse_invalid() -> prop_snoc() -> ?FORALL( L, - list(), + ct_proper_ext:safe_list(), begin Q = lists:foldl( fun(I, Acc) -> @@ -542,7 +514,7 @@ prop_snoc() -> prop_snoc_invalid() -> ?FORALL( {I, NonQueue}, - {term(), non_queue()}, + {ct_proper_ext:safe_any(), non_queue()}, expect_badarg(fun queue:snoc/2, [NonQueue, I]) ). @@ -568,7 +540,7 @@ prop_split_invalid() -> {non_queue(), 0}, ?SUCHTHAT( {Q1, N1}, - {queue(), term()}, + {queue(), ct_proper_ext:safe_any()}, not(is_integer(N1) andalso N1>=0 andalso N1= {Ops, {L, Q}}, { list( - oneof([{cons, term()}, + oneof([{cons, ct_proper_ext:safe_any()}, daeh, drop, drop_r, get, get_r, head, - {in, term()}, - {in_r, term()}, + {in, ct_proper_ext:safe_any()}, + {in_r, ct_proper_ext:safe_any()}, init, liat, last, @@ -604,7 +576,7 @@ prop_ops() -> out_r, peek, peek_r, - {snoc, term()}, + {snoc, ct_proper_ext:safe_any()}, tail]) ), list_queue() @@ -785,7 +757,7 @@ common_drop_tail(Fn) -> common_in_r_cons(Fn) -> ?FORALL( L, - list(), + ct_proper_ext:safe_list(), begin Q = lists:foldl( fun(I, Acc) -> @@ -815,7 +787,7 @@ common_invalid_pred(Fn) -> common_invalid_term(Fn) -> ?FORALL( {I, NonQueue}, - {term(), non_queue()}, + {ct_proper_ext:safe_any(), non_queue()}, expect_badarg(Fn, [I, NonQueue]) ). @@ -824,7 +796,7 @@ common_invalid_term(Fn) -> %%%%%%%%%%%%%%%%%% list_queue() -> - list_queue(term()). + list_queue(ct_proper_ext:safe_any()). list_queue(Type) -> ?LET( @@ -841,7 +813,7 @@ list_queue(Type) -> ). queue() -> - queue(term()). + queue(ct_proper_ext:safe_any()). queue(Type) -> ?LET(List, list(Type), queue:from_list(List)). @@ -857,7 +829,7 @@ queue(Type) -> non_queue() -> ?SUCHTHAT( T, - term(), + ct_proper_ext:safe_any(), not( is_tuple(T) andalso tuple_size(T) =:= 2 andalso @@ -869,7 +841,7 @@ non_queue() -> non_fun(Arity) -> ?SUCHTHAT( T, - term(), + ct_proper_ext:safe_any(), not is_function(T, Arity) ). diff --git a/lib/stdlib/test/property_test/sets_prop.erl b/lib/stdlib/test/property_test/sets_prop.erl new file mode 100644 index 000000000000..2a87aa2614fc --- /dev/null +++ b/lib/stdlib/test/property_test/sets_prop.erl @@ -0,0 +1,653 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2021-2022. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% +-module(sets_prop). + +-include_lib("common_test/include/ct_property_test.hrl"). + +%%%%%%%%%%%%%%%%%% +%%% Properties %%% +%%%%%%%%%%%%%%%%%% + +%% --- add_element/2 -------------------------------------------------- +prop_add_element() -> + test_all(fun subprop_add_element/1). + +subprop_add_element(Mod) -> + ?FORALL( + {{S0, M0}, Es}, + ?LET( + {L1, L2, B}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_list()}, + {gen_set(Mod, L1 ++ B), L2 ++ B} + ), + begin + {S1, M1} = lists:foldl(fun(E, {SAcc, MAcc}) -> + {Mod:add_element(E, SAcc), + model_add_element(E, MAcc)} + end, + {S0, M0}, + Es), + is_equal(S1, M1) + end + ). + + +%% --- del_element/2 -------------------------------------------------- +prop_del_element() -> + test_all(fun subprop_del_element/1). + +subprop_del_element(Mod) -> + ?FORALL( + {{S0, M0}, Es}, + ?LET( + {L1, L2, B}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_list()}, + {gen_set(Mod, L1 ++ B), L2 ++ B} + ), + begin + {S1, M1} = lists:foldl(fun(E, {SAcc, MAcc}) -> + {Mod:del_element(E, SAcc), + model_del_element(E, MAcc)} + end, + {S0, M0}, + Es), + is_equal(S1, M1) + end + ). + + +%% --- filter/2 ------------------------------------------------------- +prop_filter() -> + test_all(fun subprop_filter/1). + +subprop_filter(Mod) -> + ?FORALL( + {{S0, M0}, Fun}, + {gen_set(Mod), function1(boolean())}, + is_equal(Mod:filter(Fun, S0), + model_filter(Fun, M0)) + ). + + +%% --- filtermap/2 ---------------------------------------------------- +prop_filtermap() -> + test_all(fun subprop_filtermap/1). + +subprop_filtermap(Mod) -> + ?FORALL( + {{S0, M0}, Fun}, + {gen_set(Mod), + function1(oneof([true, false, {true, ct_proper_ext:safe_any()}]))}, + is_equal(Mod:filtermap(Fun, S0), + model_filtermap(Fun, M0)) + ). + + +%% --- fold/3 --------------------------------------------------------- +prop_fold() -> + test_all(fun subprop_fold/1). + +subprop_fold(Mod) -> + ?FORALL( + {S, M}, + gen_set(Mod), + begin + Fun = fun(E, Acc) -> Acc + erlang:phash2(E) end, + Mod:fold(Fun, 0, S) =:= model_fold(Fun, 0, M) + end + ). + + +%% --- from_list/1,2 -------------------------------------------------- +prop_from_list() -> + test_all(fun subprop_from_list/1). + +subprop_from_list(sets) -> + ?FORALL( + {L, V}, + {ct_proper_ext:safe_list(), gen_version()}, + is_equal(sets:from_list(L, [{version, V}]), + model_from_list(sets, L)) + ); +subprop_from_list(Mod) -> + ?FORALL( + L, + ct_proper_ext:safe_list(), + is_equal(Mod:from_list(L), + model_from_list(Mod, L)) + ). + + +%% --- intersection/1 ------------------------------------------------- +prop_intersection_1() -> + test_all(fun subprop_intersection_1/1). + +subprop_intersection_1(Mod) -> + ?FORALL( + SMs, + ?LET( + {Ls, A}, + {non_empty(list(ct_proper_ext:safe_list())), + ct_proper_ext:safe_list()}, + [gen_set(Mod, L ++ A) || L <- Ls] + ), + begin + {Ss, Ms} = lists:unzip(SMs), + is_equal(Mod:intersection(Ss), + model_intersection(Ms)) + end + ). + + +%% --- intersection/2 ------------------------------------------------- +prop_intersection_2() -> + test_all(fun subprop_intersection_2/1). + +subprop_intersection_2(Mod) -> + ?FORALL( + {{S1, M1}, {S2, M2}}, + ?LET( + {L1, L2, B}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_list()}, + {gen_set(Mod, L1 ++ B), gen_set(Mod, L2 ++ B)} + ), + is_equal(Mod:intersection(S1, S2), + model_intersection(M1, M2)) + ). + + +%% --- is_disjoint/2 -------------------------------------------------- +prop_is_disjoint() -> + test_all(fun subprop_is_disjoint/1). + +subprop_is_disjoint(Mod) -> + ?FORALL( + {{S1, M1}, {S2, M2}}, + ?LET( + {L1, L2, B}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_list()}, + begin + {gen_set(Mod, L1 ++ B), gen_set(Mod, L2 ++ B)} + end + ), + Mod:is_disjoint(S1, S2) =:= model_is_disjoint(M1, M2) + ). + + +%% --- is_element/2 --------------------------------------------------- +prop_is_element() -> + test_all(fun subprop_is_element/1). + +subprop_is_element(Mod) -> + ?FORALL( + {{S, M}, Es}, + ?LET( + {L, Extra}, + {ct_proper_ext:safe_list(), ct_proper_ext:safe_list()}, + {gen_set(Mod, L), L ++ Extra} + ), + lists:all(fun(E) -> + Mod:is_element(E, S) =:= model_is_element(E, M) + end, + Es) + ). + + +%% --- is_empty/1 ----------------------------------------------------- +prop_is_empty() -> + test_all(fun subprop_is_empty/1). + +subprop_is_empty(Mod) -> + ?FORALL( + {S, M}, + gen_set(Mod), + Mod:is_empty(S) =:= model_is_empty(M) + ). + + +%% --- is_equal/1 ----------------------------------------------------- +prop_is_equal() -> + test_all(fun subprop_is_equal/1). + +subprop_is_equal(Mod) -> + ?FORALL( + {{S1, M1}, {S2, M2}}, + {gen_set(Mod), gen_set(Mod)}, + Mod:is_equal(S1, S2)=:=is_equal(S1, M2) andalso + Mod:is_equal(S2, S1)=:=is_equal(S2, M1) + ). + + +%% --- is_set/1 ------------------------------------------------------- +prop_is_set() -> + test_all(fun subprop_is_set/1). + +subprop_is_set(sets) -> + ?FORALL( + {Exp, {S, _M}}, + oneof([{true, gen_set(sets)}, + {false, {?SUCHTHAT(T, + ct_proper_ext:safe_any(), + not (is_map(T) orelse + is_tuple(T) andalso + tuple_size(T)=:=9 andalso + element(1, T)=:=set)), + undefined}}]), + Exp =:= sets:is_set(S) + ); +subprop_is_set(ordsets) -> + ?FORALL( + {Exp, {S, _M}}, + oneof([{true, gen_set(ordsets)}, + {false, {?SUCHTHAT(T, + ct_proper_ext:safe_any(), + not is_list(T)), + undefined}}]), + Exp =:= ordsets:is_set(S) + ); +subprop_is_set(gb_sets) -> + ?FORALL( + {Exp, {S, _M}}, + oneof([{true, gen_set(gb_sets)}, + {false, {?SUCHTHAT(T, + ct_proper_ext:safe_any(), + not (is_tuple(T) andalso + tuple_size(T) =:= 2 andalso + is_integer(element(1, T)) andalso + element(1, T) >= 0 andalso + (element(2, T) =:= nil orelse + is_tuple(element(2, T)) andalso + tuple_size(element(2, T)) =:= 3))), + undefined}}]), + Exp =:= gb_sets:is_set(S) + ). + + +%% --- subset/2 ------------------------------------------------------- +%% +%% +-----------------------------+ +%% | S0 +----------------------+ | +%% | | S1 +-------------+ | | +%% | | | S2 | | | +%% | | +----+-----------+ | | | +%% | | | S3 | +-------+ | | | | +%% | | | | | Empty | | | | | +%% | | | | +-------+ | | | | +%% | | | +-----------+-+ | | +%% | | +----------------+ | | +%% | +----------------------+ | +%% +-----------------------------+ +%% * Empty is a subset of S2 and S3 +%% +%% * S2 is a subset of S1 but not of S3 +%% * S3 is a subset of S1 but not of S2 +%% --> Empty is a subset of S1 +%% +%% * S1 is a subset of S0 +%% --> S2, S3 and Empty are subsets of S0 +prop_is_subset() -> + test_all(fun subprop_is_subset/1). + +subprop_is_subset(Mod) -> + ?FORALL( + SMs, + ?LET( + {L1, L2}, + {ct_proper_ext:safe_list(), ct_proper_ext:safe_list()}, + begin + L3Extra = [make_ref()|L2], + L2Extra = [make_ref()|L1], + L1Extra = [make_ref()|L2Extra ++ L3Extra], + L0Extra = [make_ref()|L1Extra], + [gen_set(Mod, L0Extra), + gen_set(Mod, L1Extra), + gen_set(Mod, L2Extra), + gen_set(Mod, L3Extra), + gen_set(Mod, [])] + end + ), + lists:all(fun({{S1, M1}, {S2, M2}}) -> + Mod:is_subset(S1, S2) =:= model_is_subset(M1, M2) + end, + [{SM1, SM2} || SM1 <- SMs, SM2 <- SMs]) + ). + + +%% --- map/2 ---------------------------------------------------------- +prop_map() -> + test_all(fun subprop_map/1). + +subprop_map(Mod) -> + ?FORALL( + {{S0, M0}, Fun}, + {gen_set(Mod), function1(ct_proper_ext:safe_any())}, + is_equal(Mod:map(Fun, S0), + model_map(Fun, M0)) + ). + + +%% --- size/1 --------------------------------------------------------- +prop_size() -> + test_all(fun subprop_size/1). + +subprop_size(Mod) -> + ?FORALL( + {S, M}, + gen_set(Mod), + Mod:size(S) =:= model_size(M) + ). + + +%% --- subtract/2 ----------------------------------------------------- +prop_subtract() -> + test_all(fun subprop_subtract/1). + +subprop_subtract(Mod) -> + ?FORALL( + {{S1, M1}, {S2, M2}}, + ?LET( + {L1, L2, B}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_list()}, + {gen_set(Mod, L1 ++ B), gen_set(Mod, L2 ++ B)} + ), + is_equal(Mod:subtract(S1, S2), + model_subtract(M1, M2)) andalso + is_equal(Mod:subtract(S2, S1), + model_subtract(M2, M1)) + ). + + +%% --- to_list/1 ------------------------------------------------------ +prop_to_list() -> + test_all(fun subprop_to_list/1). + +subprop_to_list(Mod) -> + ?FORALL( + {S, M}, + gen_set(Mod), + list_matchsort(Mod:to_list(S)) =:= list_matchsort(model_to_list(M)) + ). + + +%% --- union/1 -------------------------------------------------------- +prop_union_1() -> + test_all(fun subprop_union_1/1). + +subprop_union_1(Mod) -> + ?FORALL( + SMs, + ?LET( + {Ls, A}, + {list(ct_proper_ext:safe_list()), ct_proper_ext:safe_list()}, + [gen_set(Mod, L ++ A) || L <- Ls] + ), + begin + {Ss, Ms} = lists:unzip(SMs), + is_equal(Mod:union(Ss), + model_union(Mod, Ms)) + end + ). + + +%% --- union/2 -------------------------------------------------------- +prop_union_2() -> + test_all(fun subprop_union_2/1). + +subprop_union_2(Mod) -> + ?FORALL( + {{S1, M1}, {S2, M2}}, + ?LET( + {L1, L2, B}, + {ct_proper_ext:safe_list(), + ct_proper_ext:safe_list(), + ct_proper_ext:safe_list()}, + {gen_set(Mod, L1 ++ B), gen_set(Mod, L2 ++ B)} + ), + is_equal(Mod:union(S1, S2), + model_union(Mod, M1, M2)) + ). + +%% --- sequence of modifying operations ------------------------------- +prop_operations() -> + test_all(fun subprop_operations/1). + +subprop_operations(Mod) -> + ?FORALL( + {SM0, Ops}, + {gen_set(Mod), + list(oneof([{add_element, ct_proper_ext:safe_any()}, + {del_element, ct_proper_ext:safe_any()}, + {filter, function1(boolean())}, + {filtermap, function1(oneof([true, + false, + {true, ct_proper_ext:safe_any()}]))}, + {intersection, gen_set(Mod)}, + {map, function1(ct_proper_ext:safe_any())}, + {subtract, gen_set(Mod)}, + {union, gen_set(Mod)}]))}, + begin + {S1, M1} = lists:foldl(fun + ({add_element, E}, {SAcc, MAcc}) -> + {Mod:add_element(E, SAcc), + model_add_element(E, MAcc)}; + ({del_element, E}, {SAcc, MAcc}) -> + {Mod:del_element(E, SAcc), + model_del_element(E, MAcc)}; + ({filter, Fun}, {SAcc, MAcc}) -> + {Mod:filter(Fun, SAcc), + model_filter(Fun, MAcc)}; + ({filtermap, Fun}, {SAcc, MAcc}) -> + {Mod:filtermap(Fun, SAcc), + model_filtermap(Fun, MAcc)}; + ({intersection, {S, M}}, {SAcc, MAcc}) -> + {Mod:intersection(SAcc, S), + model_intersection(MAcc, M)}; + ({map, Fun}, {SAcc, MAcc}) -> + {Mod:map(Fun, SAcc), + model_map(Fun, MAcc)}; + ({subtract, {S, M}}, {SAcc, MAcc}) -> + {Mod:subtract(SAcc, S), + model_subtract(MAcc, M)}; + ({union, {S, M}}, {SAcc, MAcc}) -> + {Mod:union(SAcc, S), + model_union(Mod, MAcc, M)} + end, + SM0, + Ops), + is_equal(S1, M1) + end + ). + +%%%%%%%%%%%%%%%%%% +%%% Generators %%% +%%%%%%%%%%%%%%%%%% + +gen_version() -> + oneof([1, 2]). + +gen_set(sets) -> + ?LET( + {L, V}, + {ct_proper_ext:safe_list(), gen_version()}, + gen_set(sets, L, V) + ); +gen_set(Mod) -> + ?LET( + L, + ct_proper_ext:safe_list(), + gen_set(Mod, L, 0) + ). + +gen_set(sets, List) when is_list(List) -> + ?LET( + V, + gen_version(), + gen_set(sets, List, V) + ); +gen_set(Mod, List) when is_list(List) -> + gen_set(Mod, List, 0); +gen_set(Mod, Version) when is_integer(Version) -> + ?LET( + L, + ct_proper_ext:safe_list(), + gen_set(Mod, L, Version) + ). + +gen_set(sets, List, Version) -> + {sets:from_list(List, [{version, Version}]), + model_from_list(sets, List)}; +gen_set(Mod, List, _Version) -> + {Mod:from_list(List), + model_from_list(Mod, List)}. + + +%%%%%%%%%%%%% +%%% Model %%% +%%%%%%%%%%%%% + +-record(model, {type, module, content=#{}}). + +model_new(sets) -> + #model{type=match, module=sets}; +model_new(ordsets) -> + #model{type=equal, module=ordsets}; +model_new(gb_sets) -> + #model{type=equal, module=gb_sets}. + +model_add_element(E, #model{type=equal, content=C}=M) when is_float(E), trunc(E) == E -> + M#model{content=C#{trunc(E) => E}}; +model_add_element(E, #model{content=C}=M) -> + M#model{content=C#{E => E}}. + +model_del_element(E, #model{type=equal, content=C}=M) when is_float(E), trunc(E) == E -> + M#model{content=maps:remove(trunc(E), C)}; +model_del_element(E, #model{content=C}=M) -> + M#model{content=maps:remove(E, C)}. + +model_from_list(Mod, L) -> + lists:foldl(fun model_add_element/2, model_new(Mod), L). + +model_to_list(#model{content=C}) -> + maps:values(C). + +model_is_element(E, #model{type=equal, content=C}) when is_float(E), trunc(E) == E -> + maps:is_key(trunc(E), C); +model_is_element(E, #model{content=C}) -> + maps:is_key(E, C). + +model_size(#model{content=C}) -> + maps:size(C). + +model_filter(Fun, #model{content=C}=M) -> + M#model{content=maps:filter(fun(_K, V) -> Fun(V) end, C)}. + +model_map(Fun, #model{module=Mod, content=C}) -> + maps:fold(fun(_K, V, Acc) -> model_add_element(Fun(V), Acc) end, model_new(Mod), C). + +model_filtermap(Fun, #model{module=Mod, content=C}) -> + maps:fold(fun(_K, V0, Acc) -> + case Fun(V0) of + true -> + model_add_element(V0, Acc); + {true, V1} -> + model_add_element(V1, Acc); + false -> + Acc + end + end, + model_new(Mod), + C). + +model_fold(Fun, Acc0, #model{content=C}) -> + maps:fold(fun(_K, V, Acc1) -> Fun(V, Acc1) end, Acc0, C). + +model_subtract(#model{module=Mod, content=C1}=M1, #model{module=Mod, content=C2}) -> + M1#model{content=maps:without(maps:keys(C2), C1)}. + +model_intersection([M|Ms]) -> + model_intersection_1(Ms, M). + +model_intersection(M1, M2) -> + model_intersection_1([M1], M2). + +model_intersection_1([], Acc) -> + Acc; +model_intersection_1([#model{module=Mod, content=C1}|Ms], #model{module=Mod, content=C2}=Acc) -> + model_intersection_1(Ms, Acc#model{content=maps:with(maps:keys(C2), maps:with(maps:keys(C1), C2))}). + +model_union(Mod, []) -> + model_new(Mod); +model_union(_Mod, [M|Ms]) -> + model_union_1(Ms, M). + +model_union(_Mod, M1, M2) -> + model_union_1([M1], M2). + +model_union_1([], Acc) -> + Acc; +model_union_1([#model{module=Mod, content=C1}|Ms], #model{module=Mod, content=C2}=Acc) -> + model_union_1(Ms, Acc#model{content=maps:merge(C2, C1)}). + +model_is_subset(#model{module=Mod, content=C1}, #model{module=Mod, content=C2}) -> + [] =:= maps:keys(C1) -- maps:keys(C2). + +model_is_empty(M) -> + 0 =:= model_size(M). + +model_is_disjoint(M1, M2) -> + 0 =:= model_size(model_intersection(M1, M2)). + + +%%%%%%%%%%%%%%% +%%% Helpers %%% +%%%%%%%%%%%%%%% + +test_all(Fun) -> + conjunction([{T, Fun(T)} || T <- [sets, ordsets, gb_sets]]). + +list_matchsort(L) -> + lists:sort(fun + (A, B) when is_float(A), is_integer(B) -> + true; + (A, B) when is_integer(A), is_float(B) -> + false; + (A, B) -> + A =< B + end, + L). + +is_equal(S, #model{type=T, module=Mod, content=C}) -> + L1 = list_matchsort(Mod:to_list(S)), + L2 = list_matchsort(maps:keys(C)), + case T of + match -> L1 =:= L2; + equal -> L1 == L2 + end. + diff --git a/lib/stdlib/test/qlc_SUITE.erl b/lib/stdlib/test/qlc_SUITE.erl index 2e1b722b8efd..e4e268af5a1b 100644 --- a/lib/stdlib/test/qlc_SUITE.erl +++ b/lib/stdlib/test/qlc_SUITE.erl @@ -366,7 +366,7 @@ nomatch(Config) when is_list(Config) -> end]). ">>, [], - {warnings,[{{5,24},v3_kernel,{nomatch,{shadow,4}}}]}}, + {warnings,[{{5,24},beam_core_to_ssa,{nomatch,{shadow,4}}}]}}, {nomatch1, <<"generator1() -> @@ -7257,15 +7257,18 @@ manpage(Config) when is_list(Config) -> [2,3,4] = qlc:eval(QH), %% ets(3) - MS = ets:fun2ms(fun({X,Y}) when (X > 1) or (X < 5) -> {Y} end), + MS = ets:fun2ms(fun({X,Y}) when (X > 1) and (X < 5) -> {Y} end), ETs = [ [<<"true = ets:insert(Tab = ets:new(t, []),[{1,a},{2,b},{3,c},{4,d}]), MS = ">>, io_lib:format("~w", [MS]), <<", QH1 = ets:table(Tab, [{traverse, {select, MS}}]), - QH2 = qlc:q([{Y} || {X,Y} <- ets:table(Tab), (X > 1) or (X < 5)]), + QH2 = qlc:q([{Y} || {X,Y} <- ets:table(Tab), (X > 1) and (X < 5)]), - true = qlc:info(QH1) =:= qlc:info(QH2), + case (qlc:info(QH1) =:= qlc:info(QH2)) of + true -> ok; + false -> error({\"QH1 =/= QH2\", {qh1, QH1}, {qh2, QH2}}) + end, true = ets:delete(Tab)">>]], run(Config, ETs), @@ -7276,9 +7279,12 @@ manpage(Config) when is_list(Config) -> MS = ">>, io_lib:format("~w", [MS]), <<", QH1 = dets:table(T, [{traverse, {select, MS}}]), - QH2 = qlc:q([{Y} || {X,Y} <- dets:table(t), (X > 1) or (X < 5)]), + QH2 = qlc:q([{Y} || {X,Y} <- dets:table(t), (X > 1) and (X < 5)]), - true = qlc:info(QH1) =:= qlc:info(QH2), + case (qlc:info(QH1) =:= qlc:info(QH2)) of + true -> ok; + false -> error({\"QH1 =/= QH2\", {qh1, QH1}, {qh2, QH2}}) + end, ok = dets:close(T)">>]], run(Config, DTs), @@ -7872,7 +7878,7 @@ run_test(Config, Extra, {cres, Body, Opts, ExpectedCompileReturn}) -> R = case catch Mod:function() of {'EXIT', _Reason} = Error -> - io:format("failed, got ~p~n", [Error]), + io:format(standard_error, "failed, got ~p~n", [Error]), fail(SourceFile); Reply -> Reply diff --git a/lib/stdlib/test/sets_SUITE.erl b/lib/stdlib/test/sets_SUITE.erl index c7cb7bad5220..b7bbaa96c763 100644 --- a/lib/stdlib/test/sets_SUITE.erl +++ b/lib/stdlib/test/sets_SUITE.erl @@ -28,8 +28,8 @@ init_per_testcase/2,end_per_testcase/2, create/1,add_element/1,del_element/1, subtract/1,intersection/1,union/1,is_subset/1, - is_disjoint/1,is_set/1,is_empty/1,fold/1,filter/1, - take_smallest/1,take_largest/1, iterate/1]). + is_equal/1, is_disjoint/1,is_set/1,is_empty/1,fold/1,filter/1, + map/1, filtermap/1, take_smallest/1,take_largest/1, iterate/1]). -include_lib("common_test/include/ct.hrl"). @@ -47,8 +47,9 @@ suite() -> all() -> [create, add_element, del_element, subtract, - intersection, union, is_subset, is_set, fold, filter, - take_smallest, take_largest, iterate, is_empty, is_disjoint]. + intersection, union, is_subset, is_set, fold, filter, map, + filtermap, take_smallest, take_largest, iterate, is_empty, + is_disjoint, is_equal]. groups() -> []. @@ -93,13 +94,13 @@ add_element_1(List, M) -> %% elements one at the time. S2 = foldl(fun(El, Set) -> M(add_element, {El,Set}) end, M(empty, []), List), - true = M(equal, {S,S2}), + true = M(is_equal, {S,S2}), %% Insert elements, randomly delete inserted elements, %% and re-inserted all deleted elements at the end. S3 = add_element_del(List, M, M(empty, []), [], []), - true = M(equal, {S2,S3}), - true = M(equal, {S,S3}), + true = M(is_equal, {S2,S3}), + true = M(is_equal, {S,S3}), S. add_element_del([H|T], M, S, Del, []) -> @@ -123,12 +124,12 @@ del_element(Config) when is_list(Config) -> del_element_1(List, M) -> S0 = M(from_list, List), Empty = foldl(fun(El, Set) -> M(del_element, {El,Set}) end, S0, List), - true = M(equal, {Empty,M(empty, [])}), + true = M(is_equal, {Empty,M(empty, [])}), true = M(is_empty, Empty), S1 = foldl(fun(El, Set) -> M(add_element, {El,Set}) end, S0, reverse(List)), - true = M(equal, {S0,S1}), + true = M(is_equal, {S0,S1}), S1. subtract(Config) when is_list(Config) -> @@ -148,7 +149,7 @@ subtract_1(List, M) -> %% Trivial cases. true = M(is_empty, M(subtract, {Empty,S0})), - true = M(equal, {S0,M(subtract, {S0,Empty})}), + true = M(is_equal, {S0,M(subtract, {S0,Empty})}), %% Not so trivial. subtract_check(List, mutate_some(remove_some(List, 0.4)), M), @@ -167,7 +168,7 @@ one_subtract_check(A, B, M) -> BSet = M(from_list, B), DiffSet = M(subtract, {ASet,BSet}), Diff = ASorted -- BSorted, - true = M(equal, {DiffSet,M(from_list, Diff)}), + true = M(is_equal, {DiffSet,M(from_list, Diff)}), Diff = lists:sort(M(to_list, DiffSet)), DiffSet. @@ -179,15 +180,15 @@ intersection_1(List, M) -> S0 = M(from_list, List), %% Intersection with self. - true = M(equal, {S0,M(intersection, {S0,S0})}), - true = M(equal, {S0,M(intersection, [S0,S0])}), - true = M(equal, {S0,M(intersection, [S0,S0,S0])}), - true = M(equal, {S0,M(intersection, [S0])}), + true = M(is_equal, {S0,M(intersection, {S0,S0})}), + true = M(is_equal, {S0,M(intersection, [S0,S0])}), + true = M(is_equal, {S0,M(intersection, [S0,S0,S0])}), + true = M(is_equal, {S0,M(intersection, [S0])}), %% Intersection with empty. Empty = M(empty, []), - true = M(equal, {Empty,M(intersection, {S0,Empty})}), - true = M(equal, {Empty,M(intersection, [S0,Empty,S0,Empty])}), + true = M(is_equal, {Empty,M(intersection, {S0,Empty})}), + true = M(is_equal, {Empty,M(intersection, [S0,Empty,S0,Empty])}), %% The intersection of no sets is undefined. {'EXIT',_} = (catch M(intersection, [])), @@ -228,7 +229,7 @@ check_intersection(Orig, Mutated, M) -> Intersection = [El || El <- Mutated, not is_tuple(El)], SortedIntersection = lists:usort(Intersection), IntersectionSet = M(intersection, {OrigSet,MutatedSet}), - true = M(equal, {IntersectionSet,M(from_list, SortedIntersection)}), + true = M(is_equal, {IntersectionSet,M(from_list, SortedIntersection)}), SortedIntersection = lists:sort(M(to_list, IntersectionSet)), IntersectionSet. @@ -243,12 +244,12 @@ union_1(List, M) -> %% Union with self and empty. Empty = M(empty, []), - true = M(equal, {S,M(union, {S,S})}), - true = M(equal, {S,M(union, [S,S])}), - true = M(equal, {S,M(union, [S,S,Empty])}), - true = M(equal, {S,M(union, [S,Empty,S])}), - true = M(equal, {S,M(union, {S,Empty})}), - true = M(equal, {S,M(union, [S])}), + true = M(is_equal, {S,M(union, {S,S})}), + true = M(is_equal, {S,M(union, [S,S])}), + true = M(is_equal, {S,M(union, [S,S,Empty])}), + true = M(is_equal, {S,M(union, [S,Empty,S])}), + true = M(is_equal, {S,M(union, {S,Empty})}), + true = M(is_equal, {S,M(union, [S])}), true = M(is_empty, M(union, [])), %% Partial overlap. @@ -271,9 +272,26 @@ check_union(Orig, Other, M) -> SortedUnion = lists:usort(Union), UnionSet = M(union, {OrigSet,OtherSet}), SortedUnion = lists:sort(M(to_list, UnionSet)), - M(equal, {UnionSet,M(from_list, Union)}), + M(is_equal, {UnionSet,M(from_list, Union)}), UnionSet. +is_equal(Config) when is_list(Config) -> + test_all([{1,132},{253,270},{299,311}], fun is_equal_1/2). + +is_equal_1(List, M) -> + S = M(from_list, List), + Empty = M(empty, []), + + true = M(is_equal, {Empty, Empty}), + false = M(is_equal, {Empty, S}) andalso List =/= [], + false = M(is_equal, {S, Empty}) andalso List =/= [], + true = M(is_equal, {S, S}), + + S1 = M(from_list, [make_ref()|List]), + false = M(is_equal, {S, S1}), + + S. + is_subset(Config) when is_list(Config) -> test_all([{1,132},{253,270},{299,311}], fun is_subset_1/2). @@ -389,10 +407,36 @@ filter(Config) when is_list(Config) -> filter_1(List, M) -> S = M(from_list, List), IsNumber = fun(X) -> is_number(X) end, - M(equal, {M(from_list, lists:filter(IsNumber, List)), + M(is_equal, {M(from_list, lists:filter(IsNumber, List)), M(filter, {IsNumber,S})}), M(filter, {fun(X) -> is_atom(X) end,S}). +map(Config) when is_list(Config) -> + test_all([{0,69},{126,130},{254,259},{510,513},{1023,1025},{7999,8000}], + fun map_1/2). + +map_1(List, M) -> + S = M(from_list, List), + ToTuple = fun(X) -> {X} end, + M(is_equal, {M(from_list, lists:map(ToTuple, List)), + M(map, {ToTuple, S})}), + M(map, {fun(_) -> x end, S}). + +filtermap(Config) when is_list(Config) -> + test_all([{0,69},{126,130},{254,259},{510,513},{1023,1025},{7999,8000}], + fun filtermap_1/2). + +filtermap_1(List, M) -> + S = M(from_list, List), + FMFun = fun + (X) when is_float(X) -> false; + (X) when is_integer(X) -> true; + (X) -> {true, {X}} + end, + M(is_equal, {M(from_list, lists:filtermap(FMFun, List)), + M(filtermap, {FMFun, S})}), + M(empty, []). + %%% %%% Test specifics for gb_sets. %%% diff --git a/lib/stdlib/test/sets_property_test_SUITE.erl b/lib/stdlib/test/sets_property_test_SUITE.erl new file mode 100644 index 000000000000..20e6e0bcb3f4 --- /dev/null +++ b/lib/stdlib/test/sets_property_test_SUITE.erl @@ -0,0 +1,122 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2021-2023. All Rights Reserved. +%% +%% 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. +%% +%% %CopyrightEnd% +%% +-module(sets_property_test_SUITE). + +-include_lib("common_test/include/ct.hrl"). + +-compile(export_all). +-compile(nowarn_export_all). + +all() -> + [ + add_element_case, + del_element_case, + filter_case, + filtermap_case, + fold_case, + from_list_case, + intersection_1_case, + intersection_2_case, + is_disjoint_case, + is_element_case, + is_empty_case, + is_equal_case, + is_set_case, + is_subset_case, + map_case, + size_case, + subtract_case, + to_list_case, + union_1_case, + union_2_case, + operations_case + ]. + +init_per_suite(Config) -> + ct_property_test:init_per_suite(Config). + +end_per_suite(Config) -> + Config. + +do_proptest(Prop, Config) -> + ct_property_test:quickcheck(sets_prop:Prop(), Config). + +add_element_case(Config) -> + do_proptest(prop_add_element, Config). + +del_element_case(Config) -> + do_proptest(prop_del_element, Config). + +filter_case(Config) -> + do_proptest(prop_filter, Config). + +filtermap_case(Config) -> + do_proptest(prop_filtermap, Config). + +fold_case(Config) -> + do_proptest(prop_fold, Config). + +from_list_case(Config) -> + do_proptest(prop_from_list, Config). + +intersection_1_case(Config) -> + do_proptest(prop_intersection_1, Config). + +intersection_2_case(Config) -> + do_proptest(prop_intersection_2, Config). + +is_disjoint_case(Config) -> + do_proptest(prop_is_disjoint, Config). + +is_element_case(Config) -> + do_proptest(prop_is_element, Config). + +is_empty_case(Config) -> + do_proptest(prop_is_empty, Config). + +is_equal_case(Config) -> + do_proptest(prop_is_equal, Config). + +is_set_case(Config) -> + do_proptest(prop_is_set, Config). + +is_subset_case(Config) -> + do_proptest(prop_is_subset, Config). + +map_case(Config) -> + do_proptest(prop_map, Config). + +size_case(Config) -> + do_proptest(prop_size, Config). + +subtract_case(Config) -> + do_proptest(prop_subtract, Config). + +to_list_case(Config) -> + do_proptest(prop_to_list, Config). + +union_1_case(Config) -> + do_proptest(prop_union_1, Config). + +union_2_case(Config) -> + do_proptest(prop_union_2, Config). + +operations_case(Config) -> + do_proptest(prop_operations, Config). diff --git a/lib/stdlib/test/sets_test_lib.erl b/lib/stdlib/test/sets_test_lib.erl index 3d2fffbe453d..5c1811aecbd6 100644 --- a/lib/stdlib/test/sets_test_lib.erl +++ b/lib/stdlib/test/sets_test_lib.erl @@ -25,22 +25,28 @@ new(Mod, Eq) -> new(Mod, Eq, fun Mod:new/0, fun Mod:from_list/1). -new(Mod, Eq, New, FromList) -> +new(Mod, Eq0, New, FromList) -> + Eq = fun(S1, S2) -> + IsEqual = Eq0(S1, S2), + IsEqual = Mod:is_equal(S1, S2) + end, fun (add_element, {El,S}) -> add_element(Mod, El, S); (del_element, {El,S}) -> del_element(Mod, El, S); (empty, []) -> New(); - (equal, {S1,S2}) -> Eq(S1, S2); (filter, {F,S}) -> filter(Mod, F, S); + (filtermap, {F,S}) -> filtermap(Mod, F, S); (fold, {F,A,S}) -> fold(Mod, F, A, S); (from_list, L) -> FromList(L); (intersection, {S1,S2}) -> intersection(Mod, Eq, S1, S2); (intersection, Ss) -> intersection(Mod, Eq, Ss); + (is_equal, {S,Set}) -> Eq(S, Set); (is_disjoint, {S,Set}) -> Mod:is_disjoint(S, Set); (is_empty, S) -> Mod:is_empty(S); (is_set, S) -> Mod:is_set(S); (is_subset, {S,Set}) -> is_subset(Mod, Eq, S, Set); (iterator, S) -> Mod:iterator(S); (iterator_from, {Start, S}) -> Mod:iterator_from(Start, S); + (map, {F, S}) -> map(Mod, F, S); (module, []) -> Mod; (next, I) -> Mod:next(I); (singleton, E) -> singleton(Mod, FromList, E); @@ -121,3 +127,11 @@ fold(Mod, F, A, S) -> filter(Mod, F, S) -> true = Mod:is_set(S), Mod:filter(F, S). + +map(Mod, F, S) -> + true = Mod:is_set(S), + Mod:map(F, S). + +filtermap(Mod, F, S) -> + true = Mod:is_set(S), + Mod:filtermap(F, S). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/erlang.docs_v1 b/lib/stdlib/test/shell_docs_SUITE_data/erlang.docs_v1 index 72d7f5f4ef65..86c2e27a2c7d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/erlang.docs_v1 +++ b/lib/stdlib/test/shell_docs_SUITE_data/erlang.docs_v1 @@ -1 +1 @@ -{docs_v1,[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],erlang,<<97,112,112,108,105,99,97,116,105,111,110,47,101,114,108,97,110,103,43,104,116,109,108>>,#{<<101,110>> => [{p,[],[<<66,121,32,99,111,110,118,101,110,116,105,111,110,44,32,109,111,115,116,32,66,117,105,108,116,45,73,110,32,70,117,110,99,116,105,111,110,115,32,40,66,73,70,115,41,32,97,110,100,32,97,108,108,32,112,114,101,100,101,102,105,110,101,100,32,116,121,112,101,115,32,97,114,101,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,105,115,32,109,111,100,117,108,101,46,32,83,111,109,101,32,111,102,32,116,104,101,32,66,73,70,115,32,97,110,100,32,97,108,108,32,111,102,32,116,104,101,32,112,114,101,100,101,102,105,110,101,100,32,116,121,112,101,115,32,97,114,101,32,118,105,101,119,101,100,32,109,111,114,101,32,111,114,32,108,101,115,115,32,97,115,32,112,97,114,116,32,111,102,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,103,114,97,109,109,105,110,103,32,108,97,110,103,117,97,103,101,32,97,110,100,32,97,114,101,32>>,{em,[],[<<97,117,116,111,45,105,109,112,111,114,116,101,100>>]},<<46,32,84,104,117,115,44,32,105,116,32,105,115,32,110,111,116,32,110,101,99,101,115,115,97,114,121,32,116,111,32,115,112,101,99,105,102,121,32,116,104,101,32,109,111,100,117,108,101,32,110,97,109,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,99,97,108,108,115,32>>,{code,[],[<<97,116,111,109,95,116,111,95,108,105,115,116,40,101,114,108,97,110,103,41>>]},<<32,97,110,100,32>>,{code,[],[<<101,114,108,97,110,103,58,97,116,111,109,95,116,111,95,108,105,115,116,40,101,114,108,97,110,103,41>>]},<<32,97,114,101,32,105,100,101,110,116,105,99,97,108,46>>]},{p,[],[<<65,117,116,111,45,105,109,112,111,114,116,101,100,32,66,73,70,115,32,97,114,101,32,108,105,115,116,101,100,32,119,105,116,104,111,117,116,32,109,111,100,117,108,101,32,112,114,101,102,105,120,46,32,66,73,70,115,32,108,105,115,116,101,100,32,119,105,116,104,32,109,111,100,117,108,101,32,112,114,101,102,105,120,32,97,114,101,32,110,111,116,32,97,117,116,111,45,105,109,112,111,114,116,101,100,46>>]},{p,[],[<<80,114,101,100,101,102,105,110,101,100,32,116,121,112,101,115,32,97,114,101,32,108,105,115,116,101,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>]},<<32,115,101,99,116,105,111,110,32,111,102,32,116,104,105,115,32,114,101,102,101,114,101,110,99,101,32,109,97,110,117,97,108,32,97,110,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,116,121,112,101,115,112,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<84,121,112,101,115,32,97,110,100,32,70,117,110,99,116,105,111,110,32,83,112,101,99,105,102,105,99,97,116,105,111,110,115>>]},<<32,115,101,99,116,105,111,110,32,111,102,32,116,104,101,32,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,46>>]},{p,[],[<<66,73,70,115,32,99,97,110,32,102,97,105,108,32,102,111,114,32,118,97,114,105,111,117,115,32,114,101,97,115,111,110,115,46,32,65,108,108,32,66,73,70,115,32,102,97,105,108,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,121,32,97,114,101,32,99,97,108,108,101,100,32,119,105,116,104,32,97,114,103,117,109,101,110,116,115,32,111,102,32,97,110,32,105,110,99,111,114,114,101,99,116,32,116,121,112,101,46,32,84,104,101,32,111,116,104,101,114,32,114,101,97,115,111,110,115,32,97,114,101,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,101,97,99,104,32,105,110,100,105,118,105,100,117,97,108,32,66,73,70,46>>]},{p,[],[<<83,111,109,101,32,66,73,70,115,32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,32,97,110,100,32,97,114,101,32,109,97,114,107,101,100,32,119,105,116,104,32,34,65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,34,46>>]}]},#{name => <<101,114,108,97,110,103>>,otp_doc_vsn => {1,0,0},source => [46,46,47,120,109,108,47,101,114,108,97,110,103,46,120,109,108],types => #{{nil,0} => {attribute,{103,2},type,{nil,{type,{103,16},nil,[]},[]}},{trace_flag,0} => {attribute,{356,2},type,{trace_flag,{type,{357,7},union,[{atom,{357,7},all},{atom,{358,7},send},{atom,{359,7},'receive'},{atom,{360,7},procs},{atom,{361,7},ports},{atom,{362,7},call},{atom,{363,7},arity},{atom,{364,7},return_to},{atom,{365,7},silent},{atom,{366,7},running},{atom,{367,7},exiting},{atom,{368,7},running_procs},{atom,{369,7},running_ports},{atom,{370,7},garbage_collection},{atom,{371,7},timestamp},{atom,{372,7},cpu_timestamp},{atom,{373,7},monotonic_timestamp},{atom,{374,7},strict_monotonic_timestamp},{atom,{375,7},set_on_spawn},{atom,{376,7},set_on_first_spawn},{atom,{377,7},set_on_link},{atom,{378,7},set_on_first_link},{type,{379,7},tuple,[{atom,{379,8},tracer},{type,{379,16},union,[{type,{379,16},pid,[]},{type,{379,24},port,[]}]}]},{type,{380,7},tuple,[{atom,{380,8},tracer},{type,{380,16},module,[]},{type,{380,26},term,[]}]}]},[]}},{nonempty_maybe_improper_list,0} => {attribute,{113,2},type,{nonempty_maybe_improper_list,{type,{113,41},nonempty_maybe_improper_list,[{type,{113,70},any,[]},{type,{113,77},any,[]}]},[]}},{maybe_improper_list,0} => {attribute,{98,2},type,{maybe_improper_list,{type,{98,32},maybe_improper_list,[{type,{98,52},any,[]},{type,{98,59},any,[]}]},[]}},{iodata,0} => {attribute,{93,2},type,{iodata,{type,{93,19},union,[{type,{93,19},iolist,[]},{type,{93,30},binary,[]}]},[]}},{trace_info_item_result,0} => {attribute,{382,2},type,{trace_info_item_result,{type,{383,8},union,[{type,{383,8},tuple,[{atom,{383,9},traced},{type,{383,17},union,[{atom,{383,17},global},{atom,{383,26},local},{atom,{383,34},false},{atom,{383,42},undefined}]}]},{type,{384,8},tuple,[{atom,{384,9},match_spec},{type,{384,21},union,[{user_type,{384,21},trace_match_spec,[]},{atom,{384,42},false},{atom,{384,50},undefined}]}]},{type,{385,8},tuple,[{atom,{385,9},meta},{type,{385,15},union,[{type,{385,15},pid,[]},{type,{385,23},port,[]},{atom,{385,32},false},{atom,{385,40},undefined},{type,{385,52},nil,[]}]}]},{type,{386,8},tuple,[{atom,{386,9},meta},{type,{386,15},module,[]},{type,{386,25},term,[]}]},{type,{387,8},tuple,[{atom,{387,9},meta_match_spec},{type,{387,26},union,[{user_type,{387,26},trace_match_spec,[]},{atom,{387,47},false},{atom,{387,55},undefined}]}]},{type,{388,8},tuple,[{atom,{388,9},call_count},{type,{388,21},union,[{type,{388,21},non_neg_integer,[]},{type,{388,41},boolean,[]},{atom,{388,53},undefined}]}]},{type,{389,8},tuple,[{atom,{389,9},call_time},{type,{389,20},union,[{type,{389,20},list,[{type,{389,21},tuple,[{type,{389,22},pid,[]},{type,{389,29},non_neg_integer,[]},{type,{390,8},non_neg_integer,[]},{type,{390,27},non_neg_integer,[]}]}]},{type,{390,49},boolean,[]},{atom,{390,61},undefined}]}]}]},[]}},{map,0} => {attribute,{97,2},type,{map,{type,{97,16},map,[{type,{97,25},map_field_assoc,[{type,{97,19},any,[]},{type,{97,28},any,[]}]}]},[]}},{atom,0} => {attribute,{82,2},type,{atom,{type,{82,17},atom,[]},[]}},{stacktrace,0} => {attribute,{151,2},type,{stacktrace,{type,{151,23},list,[{type,{151,24},union,[{type,{151,24},tuple,[{type,{151,25},module,[]},{type,{151,35},atom,[]},{type,{151,43},union,[{type,{151,43},arity,[]},{type,{151,53},list,[{type,{151,54},term,[]}]}]},{type,{152,25},list,[{user_type,{152,26},stacktrace_extrainfo,[]}]}]},{type,{153,24},tuple,[{type,{153,25},function,[]},{type,{153,37},union,[{type,{153,37},arity,[]},{type,{153,47},list,[{type,{153,48},term,[]}]}]},{type,{153,57},list,[{user_type,{153,58},stacktrace_extrainfo,[]}]}]}]}]},[]}},{nif_resource,0} => {attribute,{181,2},opaque,{nif_resource,{type,{181,27},reference,[]},[]}},{term,0} => {attribute,{122,2},type,{term,{type,{122,17},any,[]},[]}},{port,0} => {attribute,{118,2},type,{port,{type,{118,17},port,[]},[]}},{maybe_improper_list,2} => {attribute,{99,2},type,{maybe_improper_list,{type,{99,60},maybe_improper_list,[{var,{99,80},'ContentType'},{var,{99,93},'TerminationType'}]},[{var,{99,27},'ContentType'},{var,{99,40},'TerminationType'}]}},{number,0} => {attribute,{116,2},type,{number,{type,{116,19},union,[{type,{116,19},integer,[]},{type,{116,31},float,[]}]},[]}},{any,0} => {attribute,{80,2},type,{any,{type,{80,16},any,[]},[]}},{nonempty_list,1} => {attribute,{112,2},type,{nonempty_list,{type,{112,37},nonempty_list,[{var,{112,38},'ContentType'}]},[{var,{112,21},'ContentType'}]}},{scheduler_bind_type,0} => {attribute,{2662,2},type,{scheduler_bind_type,{type,{2663,7},union,[{atom,{2663,7},no_node_processor_spread},{atom,{2664,7},no_node_thread_spread},{atom,{2665,7},no_spread},{atom,{2666,7},processor_spread},{atom,{2667,7},spread},{atom,{2668,7},thread_spread},{atom,{2669,7},thread_no_node_processor_spread},{atom,{2670,7},unbound}]},[]}},{raise_stacktrace,0} => {attribute,{349,2},type,{raise_stacktrace,{type,{350,7},list,[{type,{350,8},union,[{type,{350,8},tuple,[{type,{350,9},module,[]},{type,{350,19},atom,[]},{type,{350,27},union,[{type,{350,27},arity,[]},{type,{350,37},list,[{type,{350,38},term,[]}]}]}]},{type,{351,8},tuple,[{type,{351,9},function,[]},{type,{351,21},union,[{type,{351,21},arity,[]},{type,{351,31},list,[{type,{351,32},term,[]}]}]}]}]}]},[]}},{timestamp,0} => {attribute,{157,2},type,{timestamp,{type,{157,22},tuple,[{ann_type,{157,23},[{var,{157,23},'MegaSecs'},{type,{157,35},non_neg_integer,[]}]},{ann_type,{158,23},[{var,{158,23},'Secs'},{type,{158,31},non_neg_integer,[]}]},{ann_type,{159,23},[{var,{159,23},'MicroSecs'},{type,{159,36},non_neg_integer,[]}]}]},[]}},{spawn_opt_option,0} => {attribute,{3056,2},type,{spawn_opt_option,{type,{3057,2},union,[{atom,{3057,2},link},{atom,{3058,9},monitor},{type,{3059,9},tuple,[{atom,{3059,10},monitor},{ann_type,{3059,19},[{var,{3059,19},'MonitorOpts'},{type,{3059,34},list,[{user_type,{3059,35},monitor_option,[]}]}]}]},{type,{3060,9},tuple,[{atom,{3060,10},priority},{ann_type,{3060,20},[{var,{3060,20},'Level'},{user_type,{3060,29},priority_level,[]}]}]},{type,{3061,9},tuple,[{atom,{3061,10},fullsweep_after},{ann_type,{3061,27},[{var,{3061,27},'Number'},{type,{3061,37},non_neg_integer,[]}]}]},{type,{3062,9},tuple,[{atom,{3062,10},min_heap_size},{ann_type,{3062,25},[{var,{3062,25},'Size'},{type,{3062,33},non_neg_integer,[]}]}]},{type,{3063,9},tuple,[{atom,{3063,10},min_bin_vheap_size},{ann_type,{3063,30},[{var,{3063,30},'VSize'},{type,{3063,39},non_neg_integer,[]}]}]},{type,{3064,9},tuple,[{atom,{3064,10},max_heap_size},{ann_type,{3064,25},[{var,{3064,25},'Size'},{user_type,{3064,33},max_heap_size,[]}]}]},{type,{3065,9},tuple,[{atom,{3065,10},message_queue_data},{ann_type,{3065,30},[{var,{3065,30},'MQD'},{user_type,{3065,37},message_queue_data,[]}]}]}]},[]}},{ext_binary,0} => {attribute,{155,2},type,{ext_binary,{type,{155,23},binary,[]},[]}},{trace_info_flag,0} => {attribute,{392,2},type,{trace_info_flag,{type,{393,7},union,[{atom,{393,7},send},{atom,{394,7},'receive'},{atom,{395,7},set_on_spawn},{atom,{396,7},call},{atom,{397,7},return_to},{atom,{398,7},procs},{atom,{399,7},set_on_first_spawn},{atom,{400,7},set_on_link},{atom,{401,7},running},{atom,{402,7},garbage_collection},{atom,{403,7},timestamp},{atom,{404,7},monotonic_timestamp},{atom,{405,7},strict_monotonic_timestamp},{atom,{406,7},arity}]},[]}},{info_list,0} => {attribute,{2830,2},type,{info_list,{type,{2830,22},nil,[]},[]}},{module,0} => {attribute,{101,2},type,{module,{type,{101,19},atom,[]},[]}},{boolean,0} => {attribute,{86,2},type,{boolean,{type,{86,20},union,[{atom,{86,20},true},{atom,{86,27},false}]},[]}},{non_neg_integer,0} => {attribute,{106,2},type,{non_neg_integer,{type,{106,28},non_neg_integer,[]},[]}},{byte,0} => {attribute,{87,2},type,{byte,{type,{87,17},range,[{integer,{87,17},0},{integer,{87,20},255}]},[]}},{nonempty_maybe_improper_list,2} => {attribute,{114,2},type,{nonempty_maybe_improper_list,{type,{114,69},nonempty_maybe_improper_list,[{var,{114,98},'ContentType'},{var,{114,111},'TerminationType'}]},[{var,{114,36},'ContentType'},{var,{114,49},'TerminationType'}]}},{process_info_result_item,0} => {attribute,{2491,2},type,{process_info_result_item,{type,{2492,7},union,[{type,{2492,7},tuple,[{atom,{2492,8},backtrace},{ann_type,{2492,19},[{var,{2492,19},'Bin'},{type,{2492,26},binary,[]}]}]},{type,{2493,7},tuple,[{atom,{2493,8},binary},{ann_type,{2493,16},[{var,{2493,16},'BinInfo'},{type,{2493,27},list,[{type,{2493,28},tuple,[{type,{2493,29},non_neg_integer,[]},{type,{2494,29},non_neg_integer,[]},{type,{2495,29},non_neg_integer,[]}]}]}]}]},{type,{2496,7},tuple,[{atom,{2496,8},catchlevel},{ann_type,{2496,20},[{var,{2496,20},'CatchLevel'},{type,{2496,34},non_neg_integer,[]}]}]},{type,{2497,7},tuple,[{atom,{2497,8},current_function},{type,{2498,8},union,[{type,{2498,8},tuple,[{ann_type,{2498,9},[{var,{2498,9},'Module'},{type,{2498,19},module,[]}]},{ann_type,{2498,29},[{var,{2498,29},'Function'},{type,{2498,41},atom,[]}]},{ann_type,{2498,49},[{var,{2498,49},'Arity'},{type,{2498,58},arity,[]}]}]},{atom,{2498,69},undefined}]}]},{type,{2499,7},tuple,[{atom,{2499,8},current_location},{type,{2500,8},tuple,[{ann_type,{2500,9},[{var,{2500,9},'Module'},{type,{2500,19},module,[]}]},{ann_type,{2500,29},[{var,{2500,29},'Function'},{type,{2500,41},atom,[]}]},{ann_type,{2500,49},[{var,{2500,49},'Arity'},{type,{2500,58},arity,[]}]},{ann_type,{2501,9},[{var,{2501,9},'Location'},{type,{2501,21},list,[{type,{2501,22},union,[{type,{2501,22},tuple,[{atom,{2501,23},file},{ann_type,{2501,29},[{var,{2501,29},'Filename'},{type,{2501,41},string,[]}]}]},{type,{2502,22},tuple,[{atom,{2502,23},line},{ann_type,{2502,29},[{var,{2502,29},'Line'},{type,{2502,37},pos_integer,[]}]}]}]}]}]}]}]},{type,{2503,7},tuple,[{atom,{2503,8},current_stacktrace},{ann_type,{2503,28},[{var,{2503,28},'Stack'},{type,{2503,37},list,[{user_type,{2503,38},stack_item,[]}]}]}]},{type,{2504,7},tuple,[{atom,{2504,8},dictionary},{ann_type,{2504,20},[{var,{2504,20},'Dictionary'},{type,{2504,34},list,[{type,{2504,35},tuple,[{ann_type,{2504,36},[{var,{2504,36},'Key'},{type,{2504,43},term,[]}]},{ann_type,{2504,51},[{var,{2504,51},'Value'},{type,{2504,60},term,[]}]}]}]}]}]},{type,{2505,7},tuple,[{atom,{2505,8},error_handler},{ann_type,{2505,23},[{var,{2505,23},'Module'},{type,{2505,33},module,[]}]}]},{type,{2506,7},tuple,[{atom,{2506,8},garbage_collection},{ann_type,{2506,28},[{var,{2506,28},'GCInfo'},{type,{2506,38},list,[{type,{2506,39},tuple,[{type,{2506,40},atom,[]},{type,{2506,47},non_neg_integer,[]}]}]}]}]},{type,{2507,7},tuple,[{atom,{2507,8},garbage_collection_info},{ann_type,{2507,33},[{var,{2507,33},'GCInfo'},{type,{2507,43},list,[{type,{2507,44},tuple,[{type,{2507,45},atom,[]},{type,{2507,52},non_neg_integer,[]}]}]}]}]},{type,{2508,7},tuple,[{atom,{2508,8},group_leader},{ann_type,{2508,22},[{var,{2508,22},'GroupLeader'},{type,{2508,37},pid,[]}]}]},{type,{2509,7},tuple,[{atom,{2509,8},heap_size},{ann_type,{2509,19},[{var,{2509,19},'Size'},{type,{2509,27},non_neg_integer,[]}]}]},{type,{2510,7},tuple,[{atom,{2510,8},initial_call},{type,{2510,22},mfa,[]}]},{type,{2511,7},tuple,[{atom,{2511,8},links},{ann_type,{2511,15},[{var,{2511,15},'PidsAndPorts'},{type,{2511,31},list,[{type,{2511,32},union,[{type,{2511,32},pid,[]},{type,{2511,40},port,[]}]}]}]}]},{type,{2512,7},tuple,[{atom,{2512,8},last_calls},{type,{2512,20},union,[{atom,{2512,20},false},{ann_type,{2512,29},[{var,{2512,29},'Calls'},{type,{2512,38},list,[{type,{2512,39},mfa,[]}]}]}]}]},{type,{2513,7},tuple,[{atom,{2513,8},memory},{ann_type,{2513,16},[{var,{2513,16},'Size'},{type,{2513,24},non_neg_integer,[]}]}]},{type,{2514,7},tuple,[{atom,{2514,8},message_queue_len},{ann_type,{2514,27},[{var,{2514,27},'MessageQueueLen'},{type,{2514,46},non_neg_integer,[]}]}]},{type,{2515,7},tuple,[{atom,{2515,8},messages},{ann_type,{2515,18},[{var,{2515,18},'MessageQueue'},{type,{2515,34},list,[{type,{2515,35},term,[]}]}]}]},{type,{2516,7},tuple,[{atom,{2516,8},min_heap_size},{ann_type,{2516,23},[{var,{2516,23},'MinHeapSize'},{type,{2516,38},non_neg_integer,[]}]}]},{type,{2517,7},tuple,[{atom,{2517,8},min_bin_vheap_size},{ann_type,{2517,28},[{var,{2517,28},'MinBinVHeapSize'},{type,{2517,47},non_neg_integer,[]}]}]},{type,{2518,7},tuple,[{atom,{2518,8},max_heap_size},{ann_type,{2518,23},[{var,{2518,23},'MaxHeapSize'},{user_type,{2518,38},max_heap_size,[]}]}]},{type,{2519,7},tuple,[{atom,{2519,8},monitored_by},{ann_type,{2519,22},[{var,{2519,22},'MonitoredBy'},{type,{2519,37},list,[{type,{2519,38},union,[{type,{2519,38},pid,[]},{type,{2519,46},port,[]},{user_type,{2519,55},nif_resource,[]}]}]}]}]},{type,{2520,7},tuple,[{atom,{2520,8},monitors},{ann_type,{2521,8},[{var,{2521,8},'Monitors'},{type,{2521,20},list,[{type,{2521,21},tuple,[{type,{2521,22},union,[{atom,{2521,22},process},{atom,{2521,32},port}]},{ann_type,{2521,38},[{var,{2521,38},'Pid'},{type,{2521,45},union,[{type,{2521,45},pid,[]},{type,{2521,53},port,[]},{type,{2522,38},tuple,[{ann_type,{2522,39},[{var,{2522,39},'RegName'},{type,{2522,50},atom,[]}]},{ann_type,{2522,58},[{var,{2522,58},'Node'},{type,{2522,66},node,[]}]}]}]}]}]}]}]}]},{type,{2523,7},tuple,[{atom,{2523,8},message_queue_data},{ann_type,{2523,28},[{var,{2523,28},'MQD'},{user_type,{2523,35},message_queue_data,[]}]}]},{type,{2524,7},tuple,[{atom,{2524,8},priority},{ann_type,{2524,18},[{var,{2524,18},'Level'},{user_type,{2524,27},priority_level,[]}]}]},{type,{2525,7},tuple,[{atom,{2525,8},reductions},{ann_type,{2525,20},[{var,{2525,20},'Number'},{type,{2525,30},non_neg_integer,[]}]}]},{type,{2526,7},tuple,[{atom,{2526,8},registered_name},{type,{2526,25},union,[{type,{2526,25},nil,[]},{ann_type,{2526,31},[{var,{2526,31},'Atom'},{type,{2526,39},atom,[]}]}]}]},{type,{2527,7},tuple,[{atom,{2527,8},sequential_trace_token},{type,{2527,32},union,[{type,{2527,32},nil,[]},{ann_type,{2527,38},[{var,{2527,38},'SequentialTraceToken'},{type,{2527,62},term,[]}]}]}]},{type,{2528,7},tuple,[{atom,{2528,8},stack_size},{ann_type,{2528,20},[{var,{2528,20},'Size'},{type,{2528,28},non_neg_integer,[]}]}]},{type,{2529,7},tuple,[{atom,{2529,8},status},{ann_type,{2529,16},[{var,{2529,16},'Status'},{type,{2529,26},union,[{atom,{2529,26},exiting},{atom,{2529,36},garbage_collecting},{atom,{2529,57},waiting},{atom,{2529,67},running},{atom,{2529,77},runnable},{atom,{2529,88},suspended}]}]}]},{type,{2530,7},tuple,[{atom,{2530,8},suspending},{ann_type,{2531,8},[{var,{2531,8},'SuspendeeList'},{type,{2531,25},list,[{type,{2531,26},tuple,[{ann_type,{2531,27},[{var,{2531,27},'Suspendee'},{type,{2531,40},pid,[]}]},{ann_type,{2532,27},[{var,{2532,27},'ActiveSuspendCount'},{type,{2532,49},non_neg_integer,[]}]},{ann_type,{2533,27},[{var,{2533,27},'OutstandingSuspendCount'},{type,{2533,53},non_neg_integer,[]}]}]}]}]}]},{type,{2534,7},tuple,[{atom,{2534,8},total_heap_size},{ann_type,{2534,25},[{var,{2534,25},'Size'},{type,{2534,33},non_neg_integer,[]}]}]},{type,{2535,7},tuple,[{atom,{2535,8},trace},{ann_type,{2535,15},[{var,{2535,15},'InternalTraceFlags'},{type,{2535,37},non_neg_integer,[]}]}]},{type,{2536,7},tuple,[{atom,{2536,8},trap_exit},{ann_type,{2536,19},[{var,{2536,19},'Boolean'},{type,{2536,30},boolean,[]}]}]}]},[]}},{nonempty_bitstring,0} => {attribute,{109,2},type,{nonempty_bitstring,{type,{109,31},binary,[{integer,{109,35},1},{integer,{109,42},1}]},[]}},{nonempty_improper_list,2} => {attribute,{110,2},type,{nonempty_improper_list,{type,{110,63},nonempty_improper_list,[{var,{110,86},'ContentType'},{var,{110,99},'TerminationType'}]},[{var,{110,30},'ContentType'},{var,{110,43},'TerminationType'}]}},{float,0} => {attribute,{89,2},type,{float,{type,{89,18},float,[]},[]}},{trace_pattern_mfa,0} => {attribute,{2768,2},type,{trace_pattern_mfa,{type,{2769,7},union,[{type,{2769,7},tuple,[{type,{2769,8},atom,[]},{type,{2769,15},atom,[]},{type,{2769,22},union,[{type,{2769,22},arity,[]},{atom,{2769,32},'_'}]}]},{atom,{2769,39},on_load}]},[]}},{level_tag,0} => {attribute,{2827,2},type,{level_tag,{type,{2827,22},union,[{atom,{2827,22},core},{atom,{2827,29},node},{atom,{2827,36},processor},{atom,{2827,48},thread}]},[]}},{fun_info_item,0} => {attribute,{315,2},type,{fun_info_item,{type,{316,7},union,[{atom,{316,7},arity},{atom,{317,7},env},{atom,{318,7},index},{atom,{319,7},name},{atom,{320,7},module},{atom,{321,7},new_index},{atom,{322,7},new_uniq},{atom,{323,7},pid},{atom,{324,7},type},{atom,{325,7},uniq}]},[]}},{memory_type,0} => {attribute,{4006,2},type,{memory_type,{type,{4006,24},union,[{atom,{4006,24},total},{atom,{4006,34},processes},{atom,{4006,48},processes_used},{atom,{4006,67},system},{atom,{4007,24},atom},{atom,{4007,33},atom_used},{atom,{4007,47},binary},{atom,{4007,58},code},{atom,{4007,67},ets}]},[]}},{stack_item,0} => {attribute,{2538,2},type,{stack_item,{type,{2539,9},tuple,[{ann_type,{2539,10},[{var,{2539,10},'Module'},{type,{2539,20},module,[]}]},{ann_type,{2540,10},[{var,{2540,10},'Function'},{type,{2540,22},atom,[]}]},{ann_type,{2541,10},[{var,{2541,10},'Arity'},{type,{2541,19},union,[{type,{2541,19},arity,[]},{ann_type,{2541,30},[{var,{2541,30},'Args'},{type,{2541,38},list,[{type,{2541,39},term,[]}]}]}]}]},{ann_type,{2542,10},[{var,{2542,10},'Location'},{type,{2542,22},list,[{type,{2542,23},union,[{type,{2542,23},tuple,[{atom,{2542,24},file},{ann_type,{2542,30},[{var,{2542,30},'Filename'},{type,{2542,42},string,[]}]}]},{type,{2543,23},tuple,[{atom,{2543,24},line},{ann_type,{2543,30},[{var,{2543,30},'Line'},{type,{2543,38},pos_integer,[]}]}]}]}]}]}]},[]}},{sub_level,0} => {attribute,{2828,2},type,{sub_level,{type,{2828,22},union,[{type,{2828,22},list,[{ann_type,{2828,23},[{var,{2828,23},'LevelEntry'},{user_type,{2828,37},level_entry,[]}]}]},{ann_type,{2829,23},[{var,{2829,23},'LogicalCpuId'},{type,{2829,39},tuple,[{atom,{2829,40},logical},{type,{2829,49},non_neg_integer,[]}]}]}]},[]}},{monitor_process_identifier,0} => {attribute,{1458,2},type,{monitor_process_identifier,{type,{1458,39},union,[{type,{1458,39},pid,[]},{user_type,{1458,47},registered_process_identifier,[]}]},[]}},{nonempty_list,0} => {attribute,{111,2},type,{nonempty_list,{type,{111,26},nonempty_list,[{type,{111,40},any,[]}]},[]}},{deprecated_time_unit,0} => {attribute,{172,2},type,{deprecated_time_unit,{type,{173,7},union,[{atom,{173,7},seconds},{atom,{174,9},milli_seconds},{atom,{175,9},micro_seconds},{atom,{176,9},nano_seconds}]},[]}},{neg_integer,0} => {attribute,{102,2},type,{neg_integer,{type,{102,24},neg_integer,[]},[]}},{bool,0} => {attribute,{85,2},type,{bool,{type,{85,17},boolean,[]},[]}},{system_monitor_option,0} => {attribute,{342,2},type,{system_monitor_option,{type,{343,7},union,[{atom,{343,7},busy_port},{atom,{344,7},busy_dist_port},{type,{345,7},tuple,[{atom,{345,8},long_gc},{type,{345,19},non_neg_integer,[]}]},{type,{346,7},tuple,[{atom,{346,8},long_schedule},{type,{346,25},non_neg_integer,[]}]},{type,{347,7},tuple,[{atom,{347,8},large_heap},{type,{347,22},non_neg_integer,[]}]}]},[]}},{no_return,0} => {attribute,{104,2},type,{no_return,{type,{104,22},none,[]},[]}},{process_info_item,0} => {attribute,{2456,2},type,{process_info_item,{type,{2457,7},union,[{atom,{2457,7},backtrace},{atom,{2458,7},binary},{atom,{2459,7},catchlevel},{atom,{2460,7},current_function},{atom,{2461,7},current_location},{atom,{2462,7},current_stacktrace},{atom,{2463,7},dictionary},{atom,{2464,7},error_handler},{atom,{2465,7},garbage_collection},{atom,{2466,7},garbage_collection_info},{atom,{2467,7},group_leader},{atom,{2468,7},heap_size},{atom,{2469,7},initial_call},{atom,{2470,7},links},{atom,{2471,7},last_calls},{atom,{2472,7},memory},{atom,{2473,7},message_queue_len},{atom,{2474,7},messages},{atom,{2475,7},min_heap_size},{atom,{2476,7},min_bin_vheap_size},{atom,{2477,7},monitored_by},{atom,{2478,7},monitors},{atom,{2479,7},message_queue_data},{atom,{2480,7},priority},{atom,{2481,7},reductions},{atom,{2482,7},registered_name},{atom,{2483,7},sequential_trace_token},{atom,{2484,7},stack_size},{atom,{2485,7},status},{atom,{2486,7},suspending},{atom,{2487,7},total_heap_size},{atom,{2488,7},trace},{atom,{2489,7},trap_exit}]},[]}},{char,0} => {attribute,{88,2},type,{char,{type,{88,17},range,[{integer,{88,17},0},{integer,{88,20},1114111}]},[]}},{pid,0} => {attribute,{117,2},type,{pid,{type,{117,16},pid,[]},[]}},{level_entry,0} => {attribute,{2822,2},type,{level_entry,{type,{2823,9},union,[{type,{2823,9},tuple,[{ann_type,{2823,10},[{var,{2823,10},'LevelTag'},{user_type,{2823,22},level_tag,[]}]},{ann_type,{2823,35},[{var,{2823,35},'SubLevel'},{user_type,{2823,47},sub_level,[]}]}]},{type,{2824,9},tuple,[{ann_type,{2824,10},[{var,{2824,10},'LevelTag'},{user_type,{2824,22},level_tag,[]}]},{ann_type,{2825,10},[{var,{2825,10},'InfoList'},{user_type,{2825,22},info_list,[]}]},{ann_type,{2826,10},[{var,{2826,10},'SubLevel'},{user_type,{2826,22},sub_level,[]}]}]}]},[]}},{cpu_topology,0} => {attribute,{2820,2},type,{cpu_topology,{type,{2821,9},union,[{type,{2821,9},list,[{ann_type,{2821,10},[{var,{2821,10},'LevelEntry'},{user_type,{2821,24},level_entry,[]}]}]},{atom,{2821,41},undefined}]},[]}},{nonempty_string,0} => {attribute,{115,2},type,{nonempty_string,{type,{115,28},nonempty_list,[{type,{115,42},char,[]}]},[]}},{integer,0} => {attribute,{92,2},type,{integer,{type,{92,20},integer,[]},[]}},{monitor_port_identifier,0} => {attribute,{1459,2},type,{monitor_port_identifier,{type,{1459,36},union,[{type,{1459,36},port,[]},{user_type,{1459,45},registered_name,[]}]},[]}},{dst,0} => {attribute,{3472,2},type,{dst,{type,{3472,16},union,[{type,{3472,16},pid,[]},{type,{3473,16},reference,[]},{type,{3474,16},port,[]},{ann_type,{3475,17},[{var,{3475,17},'RegName'},{type,{3475,28},atom,[]}]},{type,{3476,16},tuple,[{ann_type,{3476,17},[{var,{3476,17},'RegName'},{type,{3476,28},atom,[]}]},{ann_type,{3476,36},[{var,{3476,36},'Node'},{type,{3476,44},node,[]}]}]}]},[]}},{trace_info_return,0} => {attribute,{408,2},type,{trace_info_return,{type,{409,7},union,[{atom,{409,7},undefined},{type,{410,7},tuple,[{atom,{410,8},flags},{type,{410,15},list,[{user_type,{410,16},trace_info_flag,[]}]}]},{type,{411,7},tuple,[{atom,{411,8},tracer},{type,{411,16},union,[{type,{411,16},pid,[]},{type,{411,24},port,[]},{type,{411,33},nil,[]}]}]},{type,{412,7},tuple,[{atom,{412,8},tracer},{type,{412,16},module,[]},{type,{412,26},term,[]}]},{user_type,{413,7},trace_info_item_result,[]},{type,{414,7},tuple,[{atom,{414,8},all},{type,{414,13},union,[{type,{414,13},list,[{user_type,{414,15},trace_info_item_result,[]}]},{atom,{414,44},false},{atom,{414,52},undefined}]}]}]},[]}},{string,0} => {attribute,{121,2},type,{string,{type,{121,19},list,[{type,{121,20},char,[]}]},[]}},{list,0} => {attribute,{95,2},type,{list,{type,{95,17},list,[]},[]}},{node,0} => {attribute,{105,2},type,{node,{type,{105,17},atom,[]},[]}},{tuple,0} => {attribute,{124,2},type,{tuple,{type,{124,18},tuple,any},[]}},{mfa,0} => {attribute,{100,2},type,{mfa,{type,{100,16},tuple,[{type,{100,17},module,[]},{type,{100,26},atom,[]},{type,{100,33},arity,[]}]},[]}},{none,0} => {attribute,{107,2},type,{none,{type,{107,17},none,[]},[]}},{bitstring_list,0} => {attribute,{353,2},type,{bitstring_list,{type,{354,7},maybe_improper_list,[{type,{354,27},union,[{type,{354,27},byte,[]},{type,{354,36},bitstring,[]},{user_type,{354,50},bitstring_list,[]}]},{type,{354,68},union,[{type,{354,68},bitstring,[]},{type,{354,82},nil,[]}]}]},[]}},{registered_name,0} => {attribute,{1456,2},type,{registered_name,{type,{1456,28},atom,[]},[]}},{ext_iovec,0} => {attribute,{156,2},type,{ext_iovec,{user_type,{156,22},iovec,[]},[]}},{pos_integer,0} => {attribute,{119,2},type,{pos_integer,{type,{119,24},pos_integer,[]},[]}},{priority_level,0} => {attribute,{2413,2},type,{priority_level,{type,{2414,7},union,[{atom,{2414,7},low},{atom,{2414,13},normal},{atom,{2414,22},high},{atom,{2414,29},max}]},[]}},{binary,0} => {attribute,{83,2},type,{binary,{type,{83,19},binary,[{integer,83,0},{integer,{83,25},8}]},[]}},{monitor_option,0} => {attribute,{1460,2},type,{monitor_option,{type,{1460,27},union,[{type,{1460,27},tuple,[{atom,{1460,28},alias},{type,{1460,37},union,[{atom,{1460,37},explicit_unalias},{atom,{1460,58},demonitor},{atom,{1460,72},reply_demonitor}]}]},{type,{1461,27},tuple,[{atom,{1461,28},tag},{type,{1461,35},term,[]}]}]},[]}},{timeout,0} => {attribute,{123,2},type,{timeout,{type,{123,20},union,[{atom,{123,20},infinity},{type,{123,33},non_neg_integer,[]}]},[]}},{system_profile_option,0} => {attribute,{333,2},type,{system_profile_option,{type,{334,7},union,[{atom,{334,7},exclusive},{atom,{335,7},runnable_ports},{atom,{336,7},runnable_procs},{atom,{337,7},scheduler},{atom,{338,7},timestamp},{atom,{339,7},monotonic_timestamp},{atom,{340,7},strict_monotonic_timestamp}]},[]}},{reference,0} => {attribute,{120,2},type,{reference,{type,{120,22},reference,[]},[]}},{bitstring,0} => {attribute,{84,2},type,{bitstring,{type,{84,22},binary,[{integer,84,0},{integer,{84,28},1}]},[]}},{iolist,0} => {attribute,{94,2},type,{iolist,{type,{94,19},maybe_improper_list,[{type,{94,39},union,[{type,{94,39},byte,[]},{type,{94,48},binary,[]},{type,{94,59},iolist,[]}]},{type,{94,69},union,[{type,{94,69},binary,[]},{type,{94,80},nil,[]}]}]},[]}},{trace_pattern_flag,0} => {attribute,{2786,2},type,{trace_pattern_flag,{type,{2787,7},union,[{atom,{2787,7},global},{atom,{2787,16},local},{atom,{2788,7},meta},{type,{2788,14},tuple,[{atom,{2788,15},meta},{ann_type,{2788,21},[{var,{2788,21},'Pid'},{type,{2788,28},pid,[]}]}]},{type,{2789,7},tuple,[{atom,{2789,8},meta},{ann_type,{2789,14},[{var,{2789,14},'TracerModule'},{type,{2789,30},module,[]}]},{ann_type,{2789,40},[{var,{2789,40},'TracerState'},{type,{2789,55},term,[]}]}]},{atom,{2790,7},call_count},{atom,{2791,7},call_time}]},[]}},{nonempty_binary,0} => {attribute,{108,2},type,{nonempty_binary,{type,{108,28},binary,[{integer,{108,32},8},{integer,{108,39},8}]},[]}},{prepared_code,0} => {attribute,{178,2},opaque,{prepared_code,{type,{178,28},reference,[]},[]}},{dist_handle,0} => {attribute,{184,2},opaque,{dist_handle,{type,{184,26},atom,[]},[]}},{function,0} => {attribute,{90,2},type,{function,{type,{90,21},'fun',[]},[]}},{trace_match_spec,0} => {attribute,{2770,2},type,{trace_match_spec,{type,{2771,7},list,[{type,{2771,8},tuple,[{type,{2771,9},union,[{type,{2771,9},list,[{type,{2771,10},term,[]}]},{atom,{2771,20},'_'},{user_type,{2771,26},match_variable,[]}]},{type,{2771,44},list,[{type,{2771,45},term,[]}]},{type,{2771,53},list,[{type,{2771,54},term,[]}]}]}]},[]}},{list,1} => {attribute,{96,2},type,{list,{type,{96,28},list,[{var,{96,33},'ContentType'}]},[{var,{96,12},'ContentType'}]}},{stacktrace_extrainfo,0} => {attribute,{146,2},type,{stacktrace_extrainfo,{type,{147,9},union,[{type,{147,9},tuple,[{atom,{147,10},line},{type,{147,16},pos_integer,[]}]},{type,{148,9},tuple,[{atom,{148,10},file},{remote_type,{148,16},[{atom,{148,16},unicode},{atom,{148,24},chardata},[]]}]},{type,{149,9},tuple,[{atom,{149,10},error_info},{type,{149,22},map,[{type,{149,32},map_field_assoc,[{atom,{149,25},module},{type,{149,35},module,[]}]},{type,{149,54},map_field_assoc,[{atom,{149,45},function},{type,{149,57},atom,[]}]},{type,{149,71},map_field_assoc,[{atom,{149,65},cause},{type,{149,74},term,[]}]}]}]},{type,{150,9},tuple,[{type,{150,10},atom,[]},{type,{150,18},term,[]}]}]},[]}},{iovec,0} => {attribute,{187,2},type,{iovec,{type,{187,18},list,[{type,{187,19},binary,[]}]},[]}},{module_info_key,0} => {attribute,{2186,2},type,{module_info_key,{type,{2186,28},union,[{atom,{2186,28},attributes},{atom,{2186,41},compile},{atom,{2186,51},exports},{atom,{2186,61},functions},{atom,{2186,73},md5},{atom,{2187,28},module},{atom,{2187,37},native},{atom,{2187,46},native_addresses},{atom,{2187,65},nifs}]},[]}},{time_unit,0} => {attribute,{161,2},type,{time_unit,{type,{162,2},union,[{type,{162,2},pos_integer,[]},{atom,{163,9},second},{atom,{164,9},millisecond},{atom,{165,9},microsecond},{atom,{166,9},nanosecond},{atom,{167,9},native},{atom,{168,9},perf_counter},{user_type,{169,9},deprecated_time_unit,[]}]},[]}},{message_queue_data,0} => {attribute,{2416,2},type,{message_queue_data,{type,{2417,2},union,[{atom,{2417,2},off_heap},{atom,{2417,13},on_heap}]},[]}},{arity,0} => {attribute,{81,2},type,{arity,{type,{81,18},arity,[]},[]}},{identifier,0} => {attribute,{91,2},type,{identifier,{type,{91,23},union,[{type,{91,23},pid,[]},{type,{91,31},port,[]},{type,{91,40},reference,[]}]},[]}},{max_heap_size,0} => {attribute,{3049,2},type,{max_heap_size,{ann_type,{3050,9},[{var,{3050,9},'Size'},{type,{3050,17},union,[{type,{3050,17},non_neg_integer,[]},{type,{3052,9},map,[{type,{3052,17},map_field_assoc,[{atom,{3052,12},size},{type,{3052,20},non_neg_integer,[]}]},{type,{3053,17},map_field_assoc,[{atom,{3053,12},kill},{type,{3053,20},boolean,[]}]},{type,{3054,25},map_field_assoc,[{atom,{3054,12},error_logger},{type,{3054,28},boolean,[]}]}]}]}]},[]}},{seq_trace_info_returns,0} => {attribute,{327,2},type,{seq_trace_info_returns,{type,{328,7},union,[{type,{328,7},tuple,[{type,{328,9},union,[{atom,{328,9},send},{atom,{328,18},'receive'},{atom,{328,30},print},{atom,{328,40},timestamp},{atom,{328,54},monotonic_timestamp},{atom,{328,78},strict_monotonic_timestamp}]},{type,{328,108},boolean,[]}]},{type,{329,7},tuple,[{atom,{329,9},label},{type,{329,18},term,[]}]},{type,{330,7},tuple,[{atom,{330,9},serial},{type,{330,19},tuple,[{type,{330,21},non_neg_integer,[]},{type,{330,40},non_neg_integer,[]}]}]},{type,{331,7},nil,[]}]},[]}},{match_variable,0} => {attribute,{2767,2},type,{match_variable,{type,{2767,27},atom,[]},[]}},{registered_process_identifier,0} => {attribute,{1457,2},type,{registered_process_identifier,{type,{1457,42},union,[{user_type,{1457,42},registered_name,[]},{type,{1457,62},tuple,[{user_type,{1457,63},registered_name,[]},{type,{1457,82},node,[]}]}]},[]}}}},[{{function,'!',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,33,39,47,50>>],hidden,#{}},{{function,'*',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,42,39,47,50>>],hidden,#{}},{{function,'+',1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,43,39,47,49>>],hidden,#{}},{{function,'+',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,43,39,47,50>>],hidden,#{}},{{function,'++',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,43,43,39,47,50>>],hidden,#{}},{{function,'-',1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,45,39,47,49>>],hidden,#{}},{{function,'-',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,45,39,47,50>>],hidden,#{}},{{function,'--',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,45,45,39,47,50>>],hidden,#{}},{{function,'/',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,47,39,47,50>>],hidden,#{}},{{function,'/=',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,47,61,39,47,50>>],hidden,#{}},{{function,'<',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,60,39,47,50>>],hidden,#{}},{{function,'=/=',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,61,47,61,39,47,50>>],hidden,#{}},{{function,'=:=',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,61,58,61,39,47,50>>],hidden,#{}},{{function,'=<',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,61,60,39,47,50>>],hidden,#{}},{{function,'==',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,61,61,39,47,50>>],hidden,#{}},{{function,'>',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,62,39,47,50>>],hidden,#{}},{{function,'>=',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,62,61,39,47,50>>],hidden,#{}},{{function,alloc_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<97,108,108,111,99,95,105,110,102,111,47,49>>],hidden,#{}},{{function,alloc_sizes,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<97,108,108,111,99,95,115,105,122,101,115,47,49>>],hidden,#{}},{{function,'and',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,97,110,100,39,47,50>>],hidden,#{}},{{function,append,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<97,112,112,101,110,100,47,50>>],hidden,#{}},{{function,'band',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,98,97,110,100,39,47,50>>],hidden,#{}},{{function,'bnot',1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,98,110,111,116,39,47,49>>],hidden,#{}},{{function,'bor',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,98,111,114,39,47,50>>],hidden,#{}},{{function,'bsl',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,98,115,108,39,47,50>>],hidden,#{}},{{function,'bsr',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,98,115,114,39,47,50>>],hidden,#{}},{{function,'bxor',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,98,120,111,114,39,47,50>>],hidden,#{}},{{function,call_on_load_function,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<99,97,108,108,95,111,110,95,108,111,97,100,95,102,117,110,99,116,105,111,110,47,49>>],hidden,#{}},{{function,delay_trap,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,101,108,97,121,95,116,114,97,112,47,50>>],hidden,#{}},{{function,display_nl,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,105,115,112,108,97,121,95,110,108,47,48>>],hidden,#{}},{{function,display_string,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,105,115,112,108,97,121,95,115,116,114,105,110,103,47,49>>],hidden,#{}},{{function,dist_get_stat,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,105,115,116,95,103,101,116,95,115,116,97,116,47,49>>],hidden,#{}},{{function,'div',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,100,105,118,39,47,50>>],hidden,#{}},{{function,dmonitor_node,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,109,111,110,105,116,111,114,95,110,111,100,101,47,51>>],hidden,#{}},{{function,dt_append_vm_tag_data,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,116,95,97,112,112,101,110,100,95,118,109,95,116,97,103,95,100,97,116,97,47,49>>],hidden,#{}},{{function,dt_get_tag,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,116,95,103,101,116,95,116,97,103,47,48>>],hidden,#{}},{{function,dt_get_tag_data,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,116,95,103,101,116,95,116,97,103,95,100,97,116,97,47,48>>],hidden,#{}},{{function,dt_prepend_vm_tag_data,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,116,95,112,114,101,112,101,110,100,95,118,109,95,116,97,103,95,100,97,116,97,47,49>>],hidden,#{}},{{function,dt_put_tag,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,116,95,112,117,116,95,116,97,103,47,49>>],hidden,#{}},{{function,dt_restore_tag,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,116,95,114,101,115,116,111,114,101,95,116,97,103,47,49>>],hidden,#{}},{{function,dt_spread_tag,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,116,95,115,112,114,101,97,100,95,116,97,103,47,49>>],hidden,#{}},{{function,exit_signal,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<101,120,105,116,95,115,105,103,110,97,108,47,50>>],hidden,#{}},{{function,finish_after_on_load,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<102,105,110,105,115,104,95,97,102,116,101,114,95,111,110,95,108,111,97,100,47,50>>],hidden,#{}},{{function,finish_loading,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<102,105,110,105,115,104,95,108,111,97,100,105,110,103,47,49>>],hidden,#{}},{{function,format_cpu_topology,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<102,111,114,109,97,116,95,99,112,117,95,116,111,112,111,108,111,103,121,47,49>>],hidden,#{}},{{function,fun_info_mfa,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<102,117,110,95,105,110,102,111,95,109,102,97,47,49>>],hidden,#{}},{{function,garbage_collect_message_area,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,95,109,101,115,115,97,103,101,95,97,114,101,97,47,48>>],hidden,#{}},{{function,gather_gc_info_result,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<103,97,116,104,101,114,95,103,99,95,105,110,102,111,95,114,101,115,117,108,116,47,49>>],hidden,#{}},{{function,get_module_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<103,101,116,95,109,111,100,117,108,101,95,105,110,102,111,47,49>>],hidden,#{}},{{function,get_module_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<103,101,116,95,109,111,100,117,108,101,95,105,110,102,111,47,50>>],hidden,#{}},{{function,has_prepared_code_on_load,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<104,97,115,95,112,114,101,112,97,114,101,100,95,99,111,100,101,95,111,110,95,108,111,97,100,47,49>>],hidden,#{}},{{function,make_fun,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<109,97,107,101,95,102,117,110,47,51>>],hidden,#{}},{{function,'not',1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,110,111,116,39,47,49>>],hidden,#{}},{{function,'or',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,111,114,39,47,50>>],hidden,#{}},{{function,port_call,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<112,111,114,116,95,99,97,108,108,47,50>>],hidden,#{}},{{function,port_get_data,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<112,111,114,116,95,103,101,116,95,100,97,116,97,47,49>>],hidden,#{}},{{function,port_set_data,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<112,111,114,116,95,115,101,116,95,100,97,116,97,47,50>>],hidden,#{}},{{function,posixtime_to_universaltime,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<112,111,115,105,120,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,47,49>>],hidden,#{}},{{function,prepare_loading,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<112,114,101,112,97,114,101,95,108,111,97,100,105,110,103,47,50>>],hidden,#{}},{{function,'rem',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,114,101,109,39,47,50>>],hidden,#{}},{{function,seq_trace,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,101,113,95,116,114,97,99,101,47,50>>],hidden,#{}},{{function,seq_trace_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,101,113,95,116,114,97,99,101,95,105,110,102,111,47,49>>],hidden,#{}},{{function,seq_trace_print,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,101,113,95,116,114,97,99,101,95,112,114,105,110,116,47,49>>],hidden,#{}},{{function,seq_trace_print,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,101,113,95,116,114,97,99,101,95,112,114,105,110,116,47,50>>],hidden,#{}},{{function,set_cpu_topology,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,101,116,95,99,112,117,95,116,111,112,111,108,111,103,121,47,49>>],hidden,#{}},{{function,setnode,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,101,116,110,111,100,101,47,50>>],hidden,#{}},{{function,setnode,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,101,116,110,111,100,101,47,51>>],hidden,#{}},{{function,subtract,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,117,98,116,114,97,99,116,47,50>>],hidden,#{}},{{function,universaltime_to_posixtime,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<117,110,105,118,101,114,115,97,108,116,105,109,101,95,116,111,95,112,111,115,105,120,116,105,109,101,47,49>>],hidden,#{}},{{function,'xor',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,120,111,114,39,47,50>>],hidden,#{}},{{function,abs,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2163}],[<<97,98,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,111,114,32,102,108,111,97,116,32,116,104,97,116,32,105,115,32,116,104,101,32,97,114,105,116,104,109,101,116,105,99,97,108,32,97,98,115,111,108,117,116,101,32,118,97,108,117,101,32,111,102,32>>,{code,[],[<<70,108,111,97,116>>]},<<32,111,114,32>>,{code,[],[<<73,110,116>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,97,98,115,40,45,51,46,51,51,41,46,10,51,46,51,51,10,62,32,97,98,115,40,45,51,41,46,10,51>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,54,56>>,signature => [{attribute,{2163,2},spec,{{abs,1},[{type,{2163,10},bounded_fun,[{type,{2163,10},'fun',[{type,{2163,10},product,[{var,{2163,11},'Float'}]},{type,{2163,21},float,[]}]},[{type,{2164,7},constraint,[{atom,{2164,7},is_subtype},[{var,{2164,7},'Float'},{type,{2164,16},float,[]}]]}]]},{type,{2165,10},bounded_fun,[{type,{2165,10},'fun',[{type,{2165,10},product,[{var,{2165,11},'Int'}]},{type,{2165,19},non_neg_integer,[]}]},[{type,{2166,7},constraint,[{atom,{2166,7},is_subtype},[{var,{2166,7},'Int'},{type,{2166,14},integer,[]}]]}]]}]}}]}},{{function,adler32,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,418}],[<<97,100,108,101,114,51,50,47,49>>],#{<<101,110>> => [{p,[],[<<67,111,109,112,117,116,101,115,32,97,110,100,32,114,101,116,117,114,110,115,32,116,104,101,32,97,100,108,101,114,51,50,32,99,104,101,99,107,115,117,109,32,102,111,114,32>>,{code,[],[<<68,97,116,97>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,56,53>>,signature => [{attribute,{418,2},spec,{{erlang,adler32,1},[{type,{418,21},bounded_fun,[{type,{418,21},'fun',[{type,{418,21},product,[{var,{418,22},'Data'}]},{type,{418,31},non_neg_integer,[]}]},[{type,{419,7},constraint,[{atom,{419,7},is_subtype},[{var,{419,7},'Data'},{type,{419,15},iodata,[]}]]}]]}]}}]}},{{function,adler32,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,424}],[<<97,100,108,101,114,51,50,47,50>>],#{<<101,110>> => [{p,[],[<<67,111,110,116,105,110,117,101,115,32,99,111,109,112,117,116,105,110,103,32,116,104,101,32,97,100,108,101,114,51,50,32,99,104,101,99,107,115,117,109,32,98,121,32,99,111,109,98,105,110,105,110,103,32,116,104,101,32,112,114,101,118,105,111,117,115,32,99,104,101,99,107,115,117,109,44,32>>,{code,[],[<<79,108,100,65,100,108,101,114>>]},<<44,32,119,105,116,104,32,116,104,101,32,99,104,101,99,107,115,117,109,32,111,102,32>>,{code,[],[<<68,97,116,97>>]},<<46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,100,101,58>>]},{pre,[],[{code,[],[<<88,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,40,68,97,116,97,49,41,44,10,89,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,40,88,44,68,97,116,97,50,41,46>>]}]},{p,[],[<<97,115,115,105,103,110,115,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,116,111,32>>,{code,[],[<<89>>]},<<32,97,115,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<89,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,40,91,68,97,116,97,49,44,68,97,116,97,50,93,41,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,57,52>>,signature => [{attribute,{424,2},spec,{{erlang,adler32,2},[{type,{424,21},bounded_fun,[{type,{424,21},'fun',[{type,{424,21},product,[{var,{424,22},'OldAdler'},{var,{424,32},'Data'}]},{type,{424,41},non_neg_integer,[]}]},[{type,{425,7},constraint,[{atom,{425,7},is_subtype},[{var,{425,7},'OldAdler'},{type,{425,19},non_neg_integer,[]}]]},{type,{426,7},constraint,[{atom,{426,7},is_subtype},[{var,{426,7},'Data'},{type,{426,15},iodata,[]}]]}]]}]}}]}},{{function,adler32_combine,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,431}],[<<97,100,108,101,114,51,50,95,99,111,109,98,105,110,101,47,51>>],#{<<101,110>> => [{p,[],[<<67,111,109,98,105,110,101,115,32,116,119,111,32,112,114,101,118,105,111,117,115,108,121,32,99,111,109,112,117,116,101,100,32,97,100,108,101,114,51,50,32,99,104,101,99,107,115,117,109,115,46,32,84,104,105,115,32,99,111,109,112,117,116,97,116,105,111,110,32,114,101,113,117,105,114,101,115,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,100,97,116,97,32,111,98,106,101,99,116,32,102,111,114,32,116,104,101,32,115,101,99,111,110,100,32,99,104,101,99,107,115,117,109,32,116,111,32,98,101,32,107,110,111,119,110,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,100,101,58>>]},{pre,[],[{code,[],[<<89,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,40,68,97,116,97,49,41,44,10,90,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,40,89,44,68,97,116,97,50,41,46>>]}]},{p,[],[<<97,115,115,105,103,110,115,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,116,111,32>>,{code,[],[<<90>>]},<<32,97,115,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<88,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,40,68,97,116,97,49,41,44,10,89,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,40,68,97,116,97,50,41,44,10,90,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,95,99,111,109,98,105,110,101,40,88,44,89,44,105,111,108,105,115,116,95,115,105,122,101,40,68,97,116,97,50,41,41,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,49,49>>,signature => [{attribute,{431,2},spec,{{erlang,adler32_combine,3},[{type,{431,29},bounded_fun,[{type,{431,29},'fun',[{type,{431,29},product,[{var,{431,30},'FirstAdler'},{var,{431,42},'SecondAdler'},{var,{431,55},'SecondSize'}]},{type,{431,70},non_neg_integer,[]}]},[{type,{432,7},constraint,[{atom,{432,7},is_subtype},[{var,{432,7},'FirstAdler'},{type,{432,21},non_neg_integer,[]}]]},{type,{433,7},constraint,[{atom,{433,7},is_subtype},[{var,{433,7},'SecondAdler'},{type,{433,22},non_neg_integer,[]}]]},{type,{434,7},constraint,[{atom,{434,7},is_subtype},[{var,{434,7},'SecondSize'},{type,{434,21},non_neg_integer,[]}]]}]]}]}}]}},{{function,alias,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,824}],[<<97,108,105,97,115,47,49>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,51,48>>,equiv => {function,alias,0},signature => [{attribute,{824,2},spec,{{alias,1},[{type,{824,12},bounded_fun,[{type,{824,12},'fun',[{type,{824,12},product,[{var,{824,13},'Opts'}]},{var,{824,22},'Alias'}]},[{type,{825,7},constraint,[{atom,{825,7},is_subtype},[{var,{825,7},'Alias'},{type,{825,16},reference,[]}]]},{type,{826,7},constraint,[{atom,{826,7},is_subtype},[{var,{826,7},'Opts'},{type,{826,15},list,[{type,{826,16},union,[{atom,{826,16},explicit_unalias},{atom,{826,37},reply}]}]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,48>>}},{{function,alias,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,818}],[<<97,108,105,97,115,47,48>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,32,97,110,32,97,108,105,97,115,32,119,104,105,99,104,32,99,97,110,32,98,101,32,117,115,101,100,32,119,104,101,110,32,115,101,110,100,105,110,103,32,109,101,115,115,97,103,101,115,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,99,114,101,97,116,101,100,32,116,104,101,32,97,108,105,97,115,46,32,87,104,101,110,32,116,104,101,32,97,108,105,97,115,32,104,97,115,32,98,101,101,110,32,100,101,97,99,116,105,118,97,116,101,100,44,32,109,101,115,115,97,103,101,115,32,115,101,110,116,32,117,115,105,110,103,32,116,104,101,32,97,108,105,97,115,32,119,105,108,108,32,98,101,32,100,114,111,112,112,101,100,46,32,65,110,32,97,108,105,97,115,32,99,97,110,32,98,101,32,100,101,97,99,116,105,118,97,116,101,100,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,117,110,97,108,105,97,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<117,110,97,108,105,97,115,47,49>>]}]},<<46,32,67,117,114,114,101,110,116,108,121,32,97,118,97,105,108,97,98,108,101,32,111,112,116,105,111,110,115,32,102,111,114,32>>,{code,[],[<<97,108,105,97,115,47,49>>]},<<58>>]},{dl,[],[{dt,[],[{code,[],[<<101,120,112,108,105,99,105,116,95,117,110,97,108,105,97,115>>]}]},{dd,[],[{p,[],[<<84,104,101,32,97,108,105,97,115,32,99,97,110,32,111,110,108,121,32,98,101,32,100,101,97,99,116,105,118,97,116,101,100,32,118,105,97,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<117,110,97,108,105,97,115,47,49>>]},<<46,32,84,104,105,115,32,105,115,32,97,108,115,111,32,116,104,101,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,117,114,32,105,102,32,110,111,32,111,112,116,105,111,110,115,32,97,114,101,32,112,97,115,115,101,100,32,111,114,32,105,102,32>>,{code,[],[<<97,108,105,97,115,47,48>>]},<<32,105,115,32,99,97,108,108,101,100,46>>]}]},{dt,[],[{code,[],[<<114,101,112,108,121>>]}]},{dd,[],[{p,[],[<<84,104,101,32,97,108,105,97,115,32,119,105,108,108,32,98,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,97,99,116,105,118,97,116,101,100,32,119,104,101,110,32,97,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,115,101,110,116,32,118,105,97,32,116,104,101,32,97,108,105,97,115,32,105,115,32,114,101,99,101,105,118,101,100,46,32,84,104,101,32,97,108,105,97,115,32,99,97,110,32,97,108,115,111,32,115,116,105,108,108,32,98,101,32,100,101,97,99,116,105,118,97,116,101,100,32,118,105,97,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<117,110,97,108,105,97,115,47,49>>]},<<46>>]}]}]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<115,101,114,118,101,114,40,41,32,45,62,10,32,32,32,32,114,101,99,101,105,118,101,10,32,32,32,32,32,32,32,32,123,114,101,113,117,101,115,116,44,32,65,108,105,97,115,82,101,113,73,100,44,32,82,101,113,117,101,115,116,125,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,82,101,115,117,108,116,32,61,32,112,101,114,102,111,114,109,95,114,101,113,117,101,115,116,40,82,101,113,117,101,115,116,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,65,108,105,97,115,82,101,113,73,100,32,33,32,123,114,101,112,108,121,44,32,65,108,105,97,115,82,101,113,73,100,44,32,82,101,115,117,108,116,125,10,32,32,32,32,101,110,100,44,10,32,32,32,32,115,101,114,118,101,114,40,41,46,10,10,99,108,105,101,110,116,40,83,101,114,118,101,114,80,105,100,44,32,82,101,113,117,101,115,116,41,32,45,62,10,32,32,32,32,65,108,105,97,115,82,101,113,73,100,32,61,32,97,108,105,97,115,40,91,114,101,112,108,121,93,41,44,10,32,32,32,32,83,101,114,118,101,114,80,105,100,32,33,32,123,114,101,113,117,101,115,116,44,32,65,108,105,97,115,82,101,113,73,100,44,32,82,101,113,117,101,115,116,125,44,10,32,32,32,32,37,37,32,65,108,105,97,115,32,119,105,108,108,32,98,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,97,99,116,105,118,97,116,101,100,32,105,102,32,119,101,32,114,101,99,101,105,118,101,32,97,32,114,101,112,108,121,10,32,32,32,32,37,37,32,115,105,110,99,101,32,119,101,32,117,115,101,100,32,116,104,101,32,39,114,101,112,108,121,39,32,111,112,116,105,111,110,46,46,46,10,32,32,32,32,114,101,99,101,105,118,101,10,32,32,32,32,32,32,32,32,123,114,101,112,108,121,44,32,65,108,105,97,115,82,101,113,73,100,44,32,82,101,115,117,108,116,125,32,45,62,32,82,101,115,117,108,116,10,32,32,32,32,97,102,116,101,114,32,53,48,48,48,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,117,110,97,108,105,97,115,40,65,108,105,97,115,82,101,113,73,100,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,37,37,32,70,108,117,115,104,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,105,110,32,99,97,115,101,32,116,104,101,32,114,101,112,108,121,32,97,114,114,105,118,101,100,10,32,32,32,32,32,32,32,32,32,32,32,32,37,37,32,106,117,115,116,32,98,101,102,111,114,101,32,116,104,101,32,97,108,105,97,115,32,119,97,115,32,100,101,97,99,116,105,118,97,116,101,100,46,46,46,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,99,101,105,118,101,32,123,114,101,112,108,121,44,32,65,108,105,97,115,82,101,113,73,100,44,32,82,101,115,117,108,116,125,32,45,62,32,82,101,115,117,108,116,10,32,32,32,32,32,32,32,32,32,32,32,32,97,102,116,101,114,32,48,32,45,62,32,101,120,105,116,40,116,105,109,101,111,117,116,41,10,32,32,32,32,32,32,32,32,32,32,32,32,101,110,100,10,32,32,32,32,101,110,100,46,10,9>>]}]},{p,[],[<<78,111,116,101,32,116,104,97,116,32,98,111,116,104,32,116,104,101,32,115,101,114,118,101,114,32,97,110,100,32,116,104,101,32,99,108,105,101,110,116,32,105,110,32,116,104,105,115,32,101,120,97,109,112,108,101,32,109,117,115,116,32,98,101,32,101,120,101,99,117,116,105,110,103,32,111,110,32,97,116,32,108,101,97,115,116,32,79,84,80,32,50,52,32,115,121,115,116,101,109,115,32,105,110,32,111,114,100,101,114,32,102,111,114,32,116,104,105,115,32,116,111,32,119,111,114,107,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,112,114,111,99,101,115,115,32,97,108,105,97,115,101,115,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,112,114,111,99,101,115,115,45,97,108,105,97,115,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<80,114,111,99,101,115,115,32,65,108,105,97,115,101,115>>]}]},<<32,115,101,99,116,105,111,110,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,51,48>>,signature => [{attribute,{818,2},spec,{{alias,0},[{type,{818,12},bounded_fun,[{type,{818,12},'fun',[{type,{818,12},product,[]},{var,{818,18},'Alias'}]},[{type,{819,7},constraint,[{atom,{819,7},is_subtype},[{var,{819,7},'Alias'},{type,{819,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,48>>}},{{function,append_element,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,439}],[<<97,112,112,101,110,100,95,101,108,101,109,101,110,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,110,101,119,32,116,117,112,108,101,32,116,104,97,116,32,104,97,115,32,111,110,101,32,101,108,101,109,101,110,116,32,109,111,114,101,32,116,104,97,110,32>>,{code,[],[<<84,117,112,108,101,49>>]},<<44,32,97,110,100,32,99,111,110,116,97,105,110,115,32,116,104,101,32,101,108,101,109,101,110,116,115,32,105,110,32>>,{code,[],[<<84,117,112,108,101,49>>]},<<32,102,111,108,108,111,119,101,100,32,98,121,32>>,{code,[],[<<84,101,114,109>>]},<<32,97,115,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,46,32,83,101,109,97,110,116,105,99,97,108,108,121,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<108,105,115,116,95,116,111,95,116,117,112,108,101,40,116,117,112,108,101,95,116,111,95,108,105,115,116,40,84,117,112,108,101,49,41,32,43,43,32,91,84,101,114,109,93,41>>]},<<44,32,98,117,116,32,109,117,99,104,32,102,97,115,116,101,114,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,97,112,112,101,110,100,95,101,108,101,109,101,110,116,40,123,111,110,101,44,32,116,119,111,125,44,32,116,104,114,101,101,41,46,10,123,111,110,101,44,116,119,111,44,116,104,114,101,101,125>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,57,57>>,signature => [{attribute,{439,2},spec,{{erlang,append_element,2},[{type,{439,28},bounded_fun,[{type,{439,28},'fun',[{type,{439,28},product,[{var,{439,29},'Tuple1'},{var,{439,37},'Term'}]},{var,{439,46},'Tuple2'}]},[{type,{440,7},constraint,[{atom,{440,7},is_subtype},[{var,{440,7},'Tuple1'},{type,{440,17},tuple,any}]]},{type,{441,7},constraint,[{atom,{441,7},is_subtype},[{var,{441,7},'Tuple2'},{type,{441,17},tuple,any}]]},{type,{442,7},constraint,[{atom,{442,7},is_subtype},[{var,{442,7},'Term'},{type,{442,15},term,[]}]]}]]}]}}]}},{{function,apply,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2956}],[<<97,112,112,108,121,47,50>>],#{<<101,110>> => [{p,[],[<<67,97,108,108,115,32,97,32,102,117,110,44,32,112,97,115,115,105,110,103,32,116,104,101,32,101,108,101,109,101,110,116,115,32,105,110,32>>,{code,[],[<<65,114,103,115>>]},<<32,97,115,32,97,114,103,117,109,101,110,116,115,46>>]},{p,[],[<<73,102,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,105,110,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,107,110,111,119,110,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,44,32,116,104,101,32,99,97,108,108,32,105,115,32,98,101,116,116,101,114,32,119,114,105,116,116,101,110,32,97,115,32>>,{code,[],[<<70,117,110,40,65,114,103,49,44,32,65,114,103,50,44,32,46,46,46,32,65,114,103,78,41>>]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<69,97,114,108,105,101,114,44,32>>,{code,[],[<<70,117,110>>]},<<32,99,111,117,108,100,32,97,108,115,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32>>,{code,[],[<<123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,125>>]},<<44,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<97,112,112,108,121,40,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,103,115,41>>]},<<46,32>>,{em,[],[<<84,104,105,115,32,117,115,101,32,105,115,32,100,101,112,114,101,99,97,116,101,100,32,97,110,100,32,119,105,108,108,32,115,116,111,112,32,119,111,114,107,105,110,103,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,49,54>>,signature => [{attribute,{2956,2},spec,{{apply,2},[{type,{2956,12},bounded_fun,[{type,{2956,12},'fun',[{type,{2956,12},product,[{var,{2956,13},'Fun'},{var,{2956,18},'Args'}]},{type,{2956,27},term,[]}]},[{type,{2957,7},constraint,[{atom,{2957,7},is_subtype},[{var,{2957,7},'Fun'},{type,{2957,14},function,[]}]]},{type,{2958,7},constraint,[{atom,{2958,7},is_subtype},[{var,{2958,7},'Args'},{type,{2958,15},list,[{type,{2958,16},term,[]}]}]]}]]}]}}]}},{{function,apply,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2963}],[<<97,112,112,108,121,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,105,110,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<46,32,84,104,101,32,97,112,112,108,105,101,100,32,102,117,110,99,116,105,111,110,32,109,117,115,116,32,98,101,32,101,120,112,111,114,116,101,100,32,102,114,111,109,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46,32,84,104,101,32,97,114,105,116,121,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32>>,{code,[],[<<65,114,103,115>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,97,112,112,108,121,40,108,105,115,116,115,44,32,114,101,118,101,114,115,101,44,32,91,91,97,44,32,98,44,32,99,93,93,41,46,10,91,99,44,98,44,97,93,10,62,32,97,112,112,108,121,40,101,114,108,97,110,103,44,32,97,116,111,109,95,116,111,95,108,105,115,116,44,32,91,39,69,114,108,97,110,103,39,93,41,46,10,34,69,114,108,97,110,103,34>>]}]},{p,[],[<<73,102,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,107,110,111,119,110,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,44,32,116,104,101,32,99,97,108,108,32,105,115,32,98,101,116,116,101,114,32,119,114,105,116,116,101,110,32,97,115,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,40,65,114,103,49,44,32,65,114,103,50,44,32,46,46,46,44,32,65,114,103,78,41>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{a,[{href,<<107,101,114,110,101,108,58,101,114,114,111,114,95,104,97,110,100,108,101,114,35,117,110,100,101,102,105,110,101,100,95,102,117,110,99,116,105,111,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,114,111,114,95,104,97,110,100,108,101,114,58,117,110,100,101,102,105,110,101,100,95,102,117,110,99,116,105,111,110,47,51>>]}]},<<32,105,115,32,99,97,108,108,101,100,32,105,102,32,116,104,101,32,97,112,112,108,105,101,100,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,101,120,112,111,114,116,101,100,46,32,84,104,101,32,101,114,114,111,114,32,104,97,110,100,108,101,114,32,99,97,110,32,98,101,32,114,101,100,101,102,105,110,101,100,32,40,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>]}]},<<41,46,32,73,102,32>>,{code,[],[<<101,114,114,111,114,95,104,97,110,100,108,101,114>>]},<<32,105,115,32,117,110,100,101,102,105,110,101,100,44,32,111,114,32,105,102,32,116,104,101,32,117,115,101,114,32,104,97,115,32,114,101,100,101,102,105,110,101,100,32,116,104,101,32,100,101,102,97,117,108,116,32>>,{code,[],[<<101,114,114,111,114,95,104,97,110,100,108,101,114>>]},<<32,115,111,32,116,104,101,32,114,101,112,108,97,99,101,109,101,110,116,32,109,111,100,117,108,101,32,105,115,32,117,110,100,101,102,105,110,101,100,44,32,97,110,32,101,114,114,111,114,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<117,110,100,101,102>>]},<<32,105,115,32,103,101,110,101,114,97,116,101,100,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,51,52>>,signature => [{attribute,{2963,2},spec,{{apply,3},[{type,{2963,12},bounded_fun,[{type,{2963,12},'fun',[{type,{2963,12},product,[{var,{2963,13},'Module'},{var,{2963,21},'Function'},{var,{2963,31},'Args'}]},{type,{2963,40},term,[]}]},[{type,{2964,7},constraint,[{atom,{2964,7},is_subtype},[{var,{2964,7},'Module'},{type,{2964,17},module,[]}]]},{type,{2965,7},constraint,[{atom,{2965,7},is_subtype},[{var,{2965,7},'Function'},{type,{2965,19},atom,[]}]]},{type,{2966,7},constraint,[{atom,{2966,7},is_subtype},[{var,{2966,7},'Args'},{type,{2966,15},list,[{type,{2966,16},term,[]}]}]]}]]}]}}]}},{{function,atom_to_binary,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,447}],[<<97,116,111,109,95,116,111,95,98,105,110,97,114,121,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,97,116,111,109,95,116,111,95,98,105,110,97,114,121,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<97,116,111,109,95,116,111,95,98,105,110,97,114,121>>]},<<32>>]},{code,[],[<<40,65,116,111,109,44,32,117,116,102,56,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,54,52>>,signature => [{attribute,{447,2},spec,{{atom_to_binary,1},[{type,{447,21},bounded_fun,[{type,{447,21},'fun',[{type,{447,21},product,[{var,{447,22},'Atom'}]},{type,{447,31},binary,[]}]},[{type,{448,7},constraint,[{atom,{448,7},is_subtype},[{var,{448,7},'Atom'},{type,{448,15},atom,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,atom_to_binary,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,458}],[<<97,116,111,109,95,116,111,95,98,105,110,97,114,121,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<65,116,111,109>>]},<<46,32,73,102,32>>,{code,[],[<<69,110,99,111,100,105,110,103>>]},<<32,105,115,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,111,110,101,32,98,121,116,101,32,101,120,105,115,116,115,32,102,111,114,32,101,97,99,104,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,46,32,73,102,32>>,{code,[],[<<69,110,99,111,100,105,110,103>>]},<<32,105,115,32>>,{code,[],[<<117,116,102,56>>]},<<32,111,114,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,101,110,99,111,100,101,100,32,117,115,105,110,103,32,85,84,70,45,56,32,119,104,101,114,101,32,99,104,97,114,97,99,116,101,114,115,32,109,97,121,32,114,101,113,117,105,114,101,32,109,117,108,116,105,112,108,101,32,98,121,116,101,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,50,48,44,32,97,116,111,109,115,32,99,97,110,32,99,111,110,116,97,105,110,32,97,110,121,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,32,97,110,100,32>>,{code,[],[<<97,116,111,109,95,116,111,95,98,105,110,97,114,121,40,65,116,111,109,44,32,108,97,116,105,110,49,41>>]},<<32,109,97,121,32,102,97,105,108,32,105,102,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,102,111,114,32>>,{code,[],[<<65,116,111,109>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,32,62,32,50,53,53,46>>]}]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,97,116,111,109,95,116,111,95,98,105,110,97,114,121,40,39,69,114,108,97,110,103,39,44,32,108,97,116,105,110,49,41,46,10,60,60,34,69,114,108,97,110,103,34,62,62>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,55,52>>,signature => [{attribute,{458,2},spec,{{atom_to_binary,2},[{type,{458,21},bounded_fun,[{type,{458,21},'fun',[{type,{458,21},product,[{var,{458,22},'Atom'},{var,{458,28},'Encoding'}]},{type,{458,41},binary,[]}]},[{type,{459,7},constraint,[{atom,{459,7},is_subtype},[{var,{459,7},'Atom'},{type,{459,15},atom,[]}]]},{type,{460,7},constraint,[{atom,{460,7},is_subtype},[{var,{460,7},'Encoding'},{type,{460,19},union,[{atom,{460,19},latin1},{atom,{460,28},unicode},{atom,{460,38},utf8}]}]]}]]}]}}]}},{{function,atom_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,465}],[<<97,116,111,109,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,117,110,105,99,111,100,101,32,99,111,100,101,32,112,111,105,110,116,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<65,116,111,109>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,97,116,111,109,95,116,111,95,108,105,115,116,40,39,69,114,108,97,110,103,39,41,46,10,34,69,114,108,97,110,103,34>>]}]},{pre,[],[{code,[],[<<62,32,97,116,111,109,95,116,111,95,108,105,115,116,40,39,228,189,160,229,165,189,39,41,46,10,91,50,48,51,50,48,44,50,50,57,48,57,93>>]}]},{p,[],[<<83,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<117,110,105,99,111,100,101,40,51,41>>]}]},<<32,102,111,114,32,104,111,119,32,116,111,32,99,111,110,118,101,114,116,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,108,105,115,116,32,116,111,32,100,105,102,102,101,114,101,110,116,32,102,111,114,109,97,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,57,57>>,signature => [{attribute,{465,2},spec,{{atom_to_list,1},[{type,{465,19},bounded_fun,[{type,{465,19},'fun',[{type,{465,19},product,[{var,{465,20},'Atom'}]},{type,{465,29},string,[]}]},[{type,{466,7},constraint,[{atom,{466,7},is_subtype},[{var,{466,7},'Atom'},{type,{466,15},atom,[]}]]}]]}]}}]}},{{function,binary_part,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,472}],[<<98,105,110,97,114,121,95,112,97,114,116,47,50>>],#{<<101,110>> => [{p,[],[<<69,120,116,114,97,99,116,115,32,116,104,101,32,112,97,114,116,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,100,101,115,99,114,105,98,101,100,32,98,121,32>>,{code,[],[<<80,111,115,76,101,110>>]},<<46>>]},{p,[],[<<78,101,103,97,116,105,118,101,32,108,101,110,103,116,104,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,101,120,116,114,97,99,116,32,98,121,116,101,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,97,32,98,105,110,97,114,121,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<49,62,32,66,105,110,32,61,32,60,60,49,44,50,44,51,44,52,44,53,44,54,44,55,44,56,44,57,44,49,48,62,62,46,10,50,62,32,98,105,110,97,114,121,95,112,97,114,116,40,66,105,110,44,123,98,121,116,101,95,115,105,122,101,40,66,105,110,41,44,32,45,53,125,41,46,10,60,60,54,44,55,44,56,44,57,44,49,48,62,62>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,115,76,101,110>>]},<<32,105,110,32,97,110,121,32,119,97,121,32,114,101,102,101,114,101,110,99,101,115,32,111,117,116,115,105,100,101,32,116,104,101,32,98,105,110,97,114,121,46>>]},{p,[],[{code,[],[<<83,116,97,114,116>>]},<<32,105,115,32,122,101,114,111,45,98,97,115,101,100,44,32,116,104,97,116,32,105,115,58>>]},{pre,[],[{code,[],[<<49,62,32,66,105,110,32,61,32,60,60,49,44,50,44,51,62,62,10,50,62,32,98,105,110,97,114,121,95,112,97,114,116,40,66,105,110,44,123,48,44,50,125,41,46,10,60,60,49,44,50,62,62>>]}]},{p,[],[<<70,111,114,32,100,101,116,97,105,108,115,32,97,98,111,117,116,32,116,104,101,32>>,{code,[],[<<80,111,115,76,101,110>>]},<<32,115,101,109,97,110,116,105,99,115,44,32,115,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,98,105,110,97,114,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<98,105,110,97,114,121,40,51,41>>]}]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,49,55>>,signature => [{attribute,{472,2},spec,{{binary_part,2},[{type,{472,18},bounded_fun,[{type,{472,18},'fun',[{type,{472,18},product,[{var,{472,19},'Subject'},{var,{472,28},'PosLen'}]},{type,{472,39},binary,[]}]},[{type,{473,7},constraint,[{atom,{473,7},is_subtype},[{var,{473,7},'Subject'},{type,{473,18},binary,[]}]]},{type,{474,7},constraint,[{atom,{474,7},is_subtype},[{var,{474,7},'PosLen'},{type,{474,17},tuple,[{ann_type,{474,18},[{var,{474,18},'Start'},{type,{474,27},non_neg_integer,[]}]},{ann_type,{474,46},[{var,{474,46},'Length'},{type,{474,56},integer,[]}]}]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66>>}},{{function,binary_part,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,480}],[<<98,105,110,97,114,121,95,112,97,114,116,47,51>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<98,105,110,97,114,121,95,112,97,114,116,40,83,117,98,106,101,99,116,44,32,123,83,116,97,114,116,44,32,76,101,110,103,116,104,125,41>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,52,50>>,signature => [{attribute,{480,2},spec,{{binary_part,3},[{type,{480,18},bounded_fun,[{type,{480,18},'fun',[{type,{480,18},product,[{var,{480,19},'Subject'},{var,{480,28},'Start'},{var,{480,35},'Length'}]},{type,{480,46},binary,[]}]},[{type,{481,7},constraint,[{atom,{481,7},is_subtype},[{var,{481,7},'Subject'},{type,{481,18},binary,[]}]]},{type,{482,7},constraint,[{atom,{482,7},is_subtype},[{var,{482,7},'Start'},{type,{482,16},non_neg_integer,[]}]]},{type,{483,7},constraint,[{atom,{483,7},is_subtype},[{var,{483,7},'Length'},{type,{483,17},integer,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66>>}},{{function,binary_to_atom,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,488}],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109>>]},<<32>>]},{code,[],[<<40,66,105,110,97,114,121,44,32,117,116,102,56,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,53,50>>,signature => [{attribute,{488,2},spec,{{binary_to_atom,1},[{type,{488,21},bounded_fun,[{type,{488,21},'fun',[{type,{488,21},product,[{var,{488,22},'Binary'}]},{type,{488,33},atom,[]}]},[{type,{489,7},constraint,[{atom,{489,7},is_subtype},[{var,{489,7},'Binary'},{type,{489,17},binary,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,binary_to_atom,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,498}],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,97,116,111,109,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<46,32,73,102,32>>,{code,[],[<<69,110,99,111,100,105,110,103>>]},<<32,105,115,32>>,{code,[],[<<117,116,102,56>>]},<<32,111,114,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,116,104,101,32,98,105,110,97,114,121,32,109,117,115,116,32,99,111,110,116,97,105,110,32,118,97,108,105,100,32,85,84,70,45,56,32,115,101,113,117,101,110,99,101,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,50,48,44,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,40,66,105,110,97,114,121,44,32,117,116,102,56,41>>]},<<32,105,115,32,99,97,112,97,98,108,101,32,111,102,32,100,101,99,111,100,105,110,103,32,97,110,121,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,46,32,69,97,114,108,105,101,114,32,118,101,114,115,105,111,110,115,32,119,111,117,108,100,32,102,97,105,108,32,105,102,32,116,104,101,32,98,105,110,97,114,121,32,99,111,110,116,97,105,110,101,100,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,32,62,32,50,53,53,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,112,101,114,109,105,116,116,101,100,32,105,110,32,97,110,32,97,116,111,109,32,110,97,109,101,32,105,115,32,108,105,109,105,116,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,108,105,109,105,116,115,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,102,102,105,99,105,101,110,99,121,32,103,117,105,100,101,32,40,115,101,99,116,105,111,110,32,65,100,118,97,110,99,101,100,41>>]},<<46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,114,101,32,105,115,32,99,111,110,102,105,103,117,114,97,98,108,101,32,108,105,109,105,116,32,111,110,32,104,111,119,32,109,97,110,121,32,97,116,111,109,115,32,116,104,97,116,32,99,97,110,32,101,120,105,115,116,32,97,110,100,32,97,116,111,109,115,32,97,114,101,32,110,111,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,46,32,84,104,101,114,101,102,111,114,101,44,32,105,116,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,99,111,110,115,105,100,101,114,32,119,104,101,116,104,101,114,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,50>>]},<<32,105,115,32,97,32,98,101,116,116,101,114,32,111,112,116,105,111,110,32,116,104,97,110,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>]},<<46,32,84,104,101,32,100,101,102,97,117,108,116,32,108,105,109,105,116,115,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,102,102,105,99,105,101,110,99,121,32,103,117,105,100,101,32,40,115,101,99,116,105,111,110,32,65,100,118,97,110,99,101,100,41>>]},<<46>>]}]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,98,105,110,97,114,121,95,116,111,95,97,116,111,109,40,60,60,34,69,114,108,97,110,103,34,62,62,44,32,108,97,116,105,110,49,41,46,10,39,69,114,108,97,110,103,39>>]}]},{pre,[],[{code,[],[<<62,32,98,105,110,97,114,121,95,116,111,95,97,116,111,109,40,60,60,49,48,50,52,47,117,116,102,56,62,62,44,32,117,116,102,56,41,46,10,39,208,128,39>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,54,50>>,signature => [{attribute,{498,2},spec,{{binary_to_atom,2},[{type,{498,21},bounded_fun,[{type,{498,21},'fun',[{type,{498,21},product,[{var,{498,22},'Binary'},{var,{498,30},'Encoding'}]},{type,{498,43},atom,[]}]},[{type,{499,7},constraint,[{atom,{499,7},is_subtype},[{var,{499,7},'Binary'},{type,{499,17},binary,[]}]]},{type,{500,7},constraint,[{atom,{500,7},is_subtype},[{var,{500,7},'Encoding'},{type,{500,19},union,[{atom,{500,19},latin1},{atom,{500,28},unicode},{atom,{500,38},utf8}]}]]}]]}]}}]}},{{function,binary_to_existing_atom,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,505}],[<<98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109>>]}]},<<32>>,{code,[],[<<40,66,105,110,97,114,121,44,32,117,116,102,56,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,48,49>>,signature => [{attribute,{505,2},spec,{{binary_to_existing_atom,1},[{type,{505,30},bounded_fun,[{type,{505,30},'fun',[{type,{505,30},product,[{var,{505,31},'Binary'}]},{type,{505,42},atom,[]}]},[{type,{506,7},constraint,[{atom,{506,7},is_subtype},[{var,{506,7},'Binary'},{type,{506,17},binary,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,binary_to_existing_atom,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,515}],[<<98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,50>>],#{<<101,110>> => [{p,[],[<<65,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>]}]},<<44,32,98,117,116,32,116,104,101,32,97,116,111,109,32,109,117,115,116,32,101,120,105,115,116,46>>]},{p,[],[<<84,104,101,32,69,114,108,97,110,103,32,115,121,115,116,101,109,32,104,97,115,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<99,111,110,102,105,103,117,114,97,98,108,101,32,108,105,109,105,116>>]},<<32,102,111,114,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,97,116,111,109,115,32,116,104,97,116,32,99,97,110,32,101,120,105,115,116,44,32,97,110,100,32,97,116,111,109,115,32,97,114,101,32,110,111,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,46,32,84,104,101,114,101,102,111,114,101,44,32,105,116,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,99,114,101,97,116,101,32,109,97,110,121,32,97,116,111,109,115,32,102,114,111,109,32,98,105,110,97,114,105,101,115,32,116,104,97,116,32,99,111,109,101,32,102,114,111,109,32,97,110,32,117,110,116,114,117,115,116,101,100,32,115,111,117,114,99,101,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,97,32,102,105,108,101,32,102,101,116,99,104,101,100,32,102,114,111,109,32,116,104,101,32,73,110,116,101,114,110,101,116,41,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>]}]},<<46,32,84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,116,104,117,115,32,116,104,101,32,97,112,112,114,111,112,114,105,97,116,101,32,111,112,116,105,111,110,32,119,104,101,110,32,116,104,101,32,105,110,112,117,116,32,98,105,110,97,114,121,32,99,111,109,101,115,32,102,114,111,109,32,97,110,32,117,110,116,114,117,115,116,101,100,32,115,111,117,114,99,101,46>>]},{p,[],[<<65,110,32,97,116,111,109,32,101,120,105,115,116,115,32,105,110,32,97,110,32,69,114,108,97,110,103,32,115,121,115,116,101,109,32,119,104,101,110,32,105,110,99,108,117,100,101,100,32,105,110,32,97,32,108,111,97,100,101,100,32,69,114,108,97,110,103,32,109,111,100,117,108,101,32,111,114,32,119,104,101,110,32,99,114,101,97,116,101,100,32,112,114,111,103,114,97,109,109,97,116,105,99,97,108,108,121,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,98,121,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>]},<<41,46,32,83,101,101,32,116,104,101,32,110,101,120,116,32,110,111,116,101,32,102,111,114,32,97,110,32,101,120,97,109,112,108,101,32,111,102,32,119,104,101,110,32,97,110,32,97,116,111,109,32,101,120,105,115,116,115,32,105,110,32,116,104,101,32,115,111,117,114,99,101,32,99,111,100,101,32,102,111,114,32,97,110,32,69,114,108,97,110,103,32,109,111,100,117,108,101,32,98,117,116,32,110,111,116,32,105,110,32,116,104,101,32,99,111,109,112,105,108,101,100,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,115,97,109,101,32,109,111,100,117,108,101,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,32,97,116,111,109,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<78,111,116,101,32,116,104,97,116,32,116,104,101,32,99,111,109,112,105,108,101,114,32,109,97,121,32,111,112,116,105,109,105,122,101,32,97,119,97,121,32,97,116,111,109,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,99,111,109,112,105,108,101,114,32,119,105,108,108,32,114,101,119,114,105,116,101,32>>,{code,[],[<<97,116,111,109,95,116,111,95,108,105,115,116,40,115,111,109,101,95,97,116,111,109,41>>]},<<32,116,111,32>>,{code,[],[<<34,115,111,109,101,95,97,116,111,109,34>>]},<<46,32,73,102,32,116,104,97,116,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,116,104,101,32,111,110,108,121,32,109,101,110,116,105,111,110,32,111,102,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<115,111,109,101,95,97,116,111,109>>]},<<32,105,110,32,116,104,101,32,99,111,110,116,97,105,110,105,110,103,32,109,111,100,117,108,101,44,32,116,104,101,32,97,116,111,109,32,119,105,108,108,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,32,119,104,101,110,32,116,104,101,32,109,111,100,117,108,101,32,105,115,32,108,111,97,100,101,100,44,32,97,110,100,32,97,32,115,117,98,115,101,113,117,101,110,116,32,99,97,108,108,32,116,111,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,40,60,60,34,115,111,109,101,95,97,116,111,109,34,62,62,44,32,117,116,102,56,41>>]},<<32,119,105,108,108,32,102,97,105,108,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,112,101,114,109,105,116,116,101,100,32,105,110,32,97,110,32,97,116,111,109,32,110,97,109,101,32,105,115,32,108,105,109,105,116,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,108,105,109,105,116,115,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,102,102,105,99,105,101,110,99,121,32,103,117,105,100,101,32,40,115,101,99,116,105,111,110,32,65,100,118,97,110,99,101,100,41>>]},<<46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,49,50>>,signature => [{attribute,{515,2},spec,{{binary_to_existing_atom,2},[{type,{515,30},bounded_fun,[{type,{515,30},'fun',[{type,{515,30},product,[{var,{515,31},'Binary'},{var,{515,39},'Encoding'}]},{type,{515,52},atom,[]}]},[{type,{516,7},constraint,[{atom,{516,7},is_subtype},[{var,{516,7},'Binary'},{type,{516,17},binary,[]}]]},{type,{517,7},constraint,[{atom,{517,7},is_subtype},[{var,{517,7},'Encoding'},{type,{517,19},union,[{atom,{517,19},latin1},{atom,{517,28},unicode},{atom,{517,38},utf8}]}]]}]]}]}}]}},{{function,binary_to_float,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,522}],[<<98,105,110,97,114,121,95,116,111,95,102,108,111,97,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,102,108,111,97,116,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,98,105,110,97,114,121,95,116,111,95,102,108,111,97,116,40,60,60,34,50,46,50,48,49,55,55,54,52,101,43,48,34,62,62,41,46,10,50,46,50,48,49,55,55,54,52>>]}]},{p,[],[<<84,104,101,32,102,108,111,97,116,32,115,116,114,105,110,103,32,102,111,114,109,97,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,102,111,114,109,97,116,32,102,111,114,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,102,108,111,97,116,32,108,105,116,101,114,97,108,115>>]},<<32,101,120,99,101,112,116,32,102,111,114,32,116,104,97,116,32,117,110,100,101,114,115,99,111,114,101,115,32,97,114,101,32,110,111,116,32,112,101,114,109,105,116,116,101,100,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,32,102,108,111,97,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,53,54>>,signature => [{attribute,{522,2},spec,{{binary_to_float,1},[{type,{522,22},bounded_fun,[{type,{522,22},'fun',[{type,{522,22},product,[{var,{522,23},'Binary'}]},{type,{522,34},float,[]}]},[{type,{523,7},constraint,[{atom,{523,7},is_subtype},[{var,{523,7},'Binary'},{type,{523,17},binary,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,binary_to_integer,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,528}],[<<98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,40,60,60,34,49,50,51,34,62,62,41,46,10,49,50,51>>]}]},{p,[],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,47,49>>]},<<32,97,99,99,101,112,116,115,32,116,104,101,32,115,97,109,101,32,115,116,114,105,110,103,32,102,111,114,109,97,116,115,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,47,49>>]}]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,110,32,105,110,116,101,103,101,114,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,55,52>>,signature => [{attribute,{528,2},spec,{{binary_to_integer,1},[{type,{528,24},bounded_fun,[{type,{528,24},'fun',[{type,{528,24},product,[{var,{528,25},'Binary'}]},{type,{528,36},integer,[]}]},[{type,{529,7},constraint,[{atom,{529,7},is_subtype},[{var,{529,7},'Binary'},{type,{529,17},binary,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,binary_to_integer,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,534}],[<<98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,110,32,98,97,115,101,32>>,{code,[],[<<66,97,115,101>>]},<<32,105,115,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,40,60,60,34,51,70,70,34,62,62,44,32,49,54,41,46,10,49,48,50,51>>]}]},{p,[],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,47,50>>]},<<32,97,99,99,101,112,116,115,32,116,104,101,32,115,97,109,101,32,115,116,114,105,110,103,32,102,111,114,109,97,116,115,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,47,50>>]}]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,110,32,105,110,116,101,103,101,114,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,57,49>>,signature => [{attribute,{534,2},spec,{{binary_to_integer,2},[{type,{534,24},bounded_fun,[{type,{534,24},'fun',[{type,{534,24},product,[{var,{534,25},'Binary'},{var,{534,32},'Base'}]},{type,{534,41},integer,[]}]},[{type,{535,7},constraint,[{atom,{535,7},is_subtype},[{var,{535,7},'Binary'},{type,{535,17},binary,[]}]]},{type,{536,7},constraint,[{atom,{536,7},is_subtype},[{var,{536,7},'Base'},{type,{536,15},range,[{integer,{536,15},2},{integer,{536,18},36}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,binary_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,541}],[<<98,105,110,97,114,121,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,105,110,116,101,103,101,114,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,98,121,116,101,115,32,111,102,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,48,57>>,signature => [{attribute,{541,2},spec,{{binary_to_list,1},[{type,{541,21},bounded_fun,[{type,{541,21},'fun',[{type,{541,21},product,[{var,{541,22},'Binary'}]},{type,{541,33},list,[{type,{541,34},byte,[]}]}]},[{type,{542,7},constraint,[{atom,{542,7},is_subtype},[{var,{542,7},'Binary'},{type,{542,17},binary,[]}]]}]]}]}}]}},{{function,binary_to_list,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,547}],[<<98,105,110,97,114,121,95,116,111,95,108,105,115,116,47,51>>],#{<<101,110>> => [{p,[],[<<65,115,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,108,105,115,116,47,49>>]},<<44,32,98,117,116,32,114,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,105,110,116,101,103,101,114,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,98,121,116,101,115,32,102,114,111,109,32,112,111,115,105,116,105,111,110,32>>,{code,[],[<<83,116,97,114,116>>]},<<32,116,111,32,112,111,115,105,116,105,111,110,32>>,{code,[],[<<83,116,111,112>>]},<<32,105,110,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<46,32,84,104,101,32,112,111,115,105,116,105,111,110,115,32,105,110,32,116,104,101,32,98,105,110,97,114,121,32,97,114,101,32,110,117,109,98,101,114,101,100,32,115,116,97,114,116,105,110,103,32,102,114,111,109,32,49,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[{em,[],[<<84,104,101,32,111,110,101,45,98,97,115,101,100,32,105,110,100,101,120,105,110,103,32,102,111,114,32,98,105,110,97,114,105,101,115,32,117,115,101,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,100,101,112,114,101,99,97,116,101,100,46>>]},<<32,78,101,119,32,99,111,100,101,32,105,115,32,116,111,32,117,115,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,98,105,110,97,114,121,35,98,105,110,95,116,111,95,108,105,115,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,58,98,105,110,95,116,111,95,108,105,115,116,47,51>>]}]},<<32,105,110,32,83,84,68,76,73,66,32,105,110,115,116,101,97,100,46,32,65,108,108,32,102,117,110,99,116,105,111,110,115,32,105,110,32,109,111,100,117,108,101,32>>,{code,[],[<<98,105,110,97,114,121>>]},<<32,99,111,110,115,105,115,116,101,110,116,108,121,32,117,115,101,32,122,101,114,111,45,98,97,115,101,100,32,105,110,100,101,120,105,110,103,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,49,56>>,signature => [{attribute,{547,2},spec,{{binary_to_list,3},[{type,{547,21},bounded_fun,[{type,{547,21},'fun',[{type,{547,21},product,[{var,{547,22},'Binary'},{var,{547,30},'Start'},{var,{547,37},'Stop'}]},{type,{547,46},list,[{type,{547,47},byte,[]}]}]},[{type,{548,7},constraint,[{atom,{548,7},is_subtype},[{var,{548,7},'Binary'},{type,{548,17},binary,[]}]]},{type,{549,7},constraint,[{atom,{549,7},is_subtype},[{var,{549,7},'Start'},{type,{549,16},pos_integer,[]}]]},{type,{550,7},constraint,[{atom,{550,7},is_subtype},[{var,{550,7},'Stop'},{type,{550,15},pos_integer,[]}]]}]]}]}}]}},{{function,binary_to_term,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,555}],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,69,114,108,97,110,103,32,116,101,114,109,32,116,104,97,116,32,105,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,100,101,99,111,100,105,110,103,32,98,105,110,97,114,121,32,111,98,106,101,99,116,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<44,32,119,104,105,99,104,32,109,117,115,116,32,98,101,32,101,110,99,111,100,101,100,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,101,120,116,95,100,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116>>]},<<46>>]},{pre,[],[{code,[],[<<62,32,66,105,110,32,61,32,116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,104,101,108,108,111,41,46,10,60,60,49,51,49,44,49,48,48,44,48,44,53,44,49,48,52,44,49,48,49,44,49,48,56,44,49,48,56,44,49,49,49,62,62,10,62,32,104,101,108,108,111,32,61,32,98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,66,105,110,41,46,10,104,101,108,108,111>>]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<87,104,101,110,32,100,101,99,111,100,105,110,103,32,98,105,110,97,114,105,101,115,32,102,114,111,109,32,117,110,116,114,117,115,116,101,100,32,115,111,117,114,99,101,115,44,32,116,104,101,32,117,110,116,114,117,115,116,101,100,32,115,111,117,114,99,101,32,109,97,121,32,115,117,98,109,105,116,32,100,97,116,97,32,105,110,32,97,32,119,97,121,32,116,111,32,99,114,101,97,116,101,32,114,101,115,111,117,114,99,101,115,44,32,115,117,99,104,32,97,115,32,97,116,111,109,115,32,97,110,100,32,114,101,109,111,116,101,32,114,101,102,101,114,101,110,99,101,115,44,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,32,97,110,100,32,108,101,97,100,32,116,111,32,68,101,110,105,97,108,32,111,102,32,83,101,114,118,105,99,101,32,97,116,116,97,99,107,46,32,73,110,32,115,117,99,104,32,99,97,115,101,115,44,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,50>>]},<<32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<115,97,102,101>>]},<<32,111,112,116,105,111,110,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,52,48>>,signature => [{attribute,{555,2},spec,{{binary_to_term,1},[{type,{555,21},bounded_fun,[{type,{555,21},'fun',[{type,{555,21},product,[{var,{555,22},'Binary'}]},{type,{555,33},term,[]}]},[{type,{556,7},constraint,[{atom,{556,7},is_subtype},[{var,{556,7},'Binary'},{user_type,{556,17},ext_binary,[]}]]}]]}]}}]}},{{function,binary_to_term,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,561}],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,50>>],#{<<101,110>> => [{p,[],[<<65,115,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>]},<<44,32,98,117,116,32,116,97,107,101,115,32,116,104,101,115,101,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<115,97,102,101>>]}]},{dd,[],[{p,[],[<<85,115,101,32,116,104,105,115,32,111,112,116,105,111,110,32,119,104,101,110,32,114,101,99,101,105,118,105,110,103,32,98,105,110,97,114,105,101,115,32,102,114,111,109,32,97,110,32,117,110,116,114,117,115,116,101,100,32,115,111,117,114,99,101,46>>]},{p,[],[<<87,104,101,110,32,101,110,97,98,108,101,100,44,32,105,116,32,112,114,101,118,101,110,116,115,32,100,101,99,111,100,105,110,103,32,100,97,116,97,32,116,104,97,116,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,97,116,116,97,99,107,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,46,32,73,110,32,116,104,101,32,101,118,101,110,116,32,111,102,32,114,101,99,101,105,118,105,110,103,32,117,110,115,97,102,101,32,100,97,116,97,44,32,100,101,99,111,100,105,110,103,32,102,97,105,108,115,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,114,114,111,114,46>>]},{p,[],[<<84,104,105,115,32,112,114,101,118,101,110,116,115,32,99,114,101,97,116,105,111,110,32,111,102,32,110,101,119,32,97,116,111,109,115,32,100,105,114,101,99,116,108,121,44,32,99,114,101,97,116,105,111,110,32,111,102,32,110,101,119,32,97,116,111,109,115,32,105,110,100,105,114,101,99,116,108,121,32,40,97,115,32,116,104,101,121,32,97,114,101,32,101,109,98,101,100,100,101,100,32,105,110,32,99,101,114,116,97,105,110,32,115,116,114,117,99,116,117,114,101,115,44,32,115,117,99,104,32,97,115,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,115,44,32,114,101,102,115,44,32,97,110,100,32,102,117,110,115,41,44,32,97,110,100,32,99,114,101,97,116,105,111,110,32,111,102,32,110,101,119,32,101,120,116,101,114,110,97,108,32,102,117,110,99,116,105,111,110,32,114,101,102,101,114,101,110,99,101,115,46,32,78,111,110,101,32,111,102,32,116,104,111,115,101,32,114,101,115,111,117,114,99,101,115,32,97,114,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,44,32,115,111,32,117,110,99,104,101,99,107,101,100,32,99,114,101,97,116,105,111,110,32,111,102,32,116,104,101,109,32,99,97,110,32,101,120,104,97,117,115,116,32,97,118,97,105,108,97,98,108,101,32,109,101,109,111,114,121,46>>]},{pre,[],[{code,[],[<<62,32,98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,60,60,49,51,49,44,49,48,48,44,48,44,53,44,34,104,101,108,108,111,34,62,62,44,32,91,115,97,102,101,93,41,46,10,42,42,32,101,120,99,101,112,116,105,111,110,32,101,114,114,111,114,58,32,98,97,100,32,97,114,103,117,109,101,110,116,10,62,32,104,101,108,108,111,46,10,104,101,108,108,111,10,62,32,98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,60,60,49,51,49,44,49,48,48,44,48,44,53,44,34,104,101,108,108,111,34,62,62,44,32,91,115,97,102,101,93,41,46,10,104,101,108,108,111>>]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,101,32>>,{code,[],[<<115,97,102,101>>]},<<32,111,112,116,105,111,110,32,101,110,115,117,114,101,115,32,116,104,101,32,100,97,116,97,32,105,115,32,115,97,102,101,108,121,32,112,114,111,99,101,115,115,101,100,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,98,117,116,32,105,116,32,100,111,101,115,32,110,111,116,32,103,117,97,114,97,110,116,101,101,32,116,104,101,32,100,97,116,97,32,105,115,32,115,97,102,101,32,116,111,32,121,111,117,114,32,97,112,112,108,105,99,97,116,105,111,110,46,32,89,111,117,32,109,117,115,116,32,97,108,119,97,121,115,32,118,97,108,105,100,97,116,101,32,100,97,116,97,32,102,114,111,109,32,117,110,116,114,117,115,116,101,100,32,115,111,117,114,99,101,115,46,32,73,102,32,116,104,101,32,98,105,110,97,114,121,32,105,115,32,115,116,111,114,101,100,32,111,114,32,116,114,97,110,115,105,116,115,32,116,104,114,111,117,103,104,32,117,110,116,114,117,115,116,101,100,32,115,111,117,114,99,101,115,44,32,121,111,117,32,115,104,111,117,108,100,32,97,108,115,111,32,99,111,110,115,105,100,101,114,32,99,114,121,112,116,111,103,114,97,112,104,105,99,97,108,108,121,32,115,105,103,110,105,110,103,32,105,116,46>>]}]}]},{dt,[],[{code,[],[<<117,115,101,100>>]}]},{dd,[],[{p,[],[<<67,104,97,110,103,101,115,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,116,111,32>>,{code,[],[<<123,84,101,114,109,44,32,85,115,101,100,125>>]},<<32,119,104,101,114,101,32>>,{code,[],[<<85,115,101,100>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,97,99,116,117,97,108,108,121,32,114,101,97,100,32,102,114,111,109,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<46>>]},{pre,[],[{code,[],[<<62,32,73,110,112,117,116,32,61,32,60,60,49,51,49,44,49,48,48,44,48,44,53,44,34,104,101,108,108,111,34,44,34,119,111,114,108,100,34,62,62,46,10,60,60,49,51,49,44,49,48,48,44,48,44,53,44,49,48,52,44,49,48,49,44,49,48,56,44,49,48,56,44,49,49,49,44,49,49,57,44,49,49,49,44,49,49,52,44,49,48,56,44,49,48,48,62,62,10,62,32,123,84,101,114,109,44,32,85,115,101,100,125,32,61,32,98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,73,110,112,117,116,44,32,91,117,115,101,100,93,41,46,10,123,104,101,108,108,111,44,32,57,125,10,62,32,115,112,108,105,116,95,98,105,110,97,114,121,40,73,110,112,117,116,44,32,85,115,101,100,41,46,10,123,60,60,49,51,49,44,49,48,48,44,48,44,53,44,49,48,52,44,49,48,49,44,49,48,56,44,49,48,56,44,49,49,49,62,62,44,32,60,60,34,119,111,114,108,100,34,62,62,125>>]}]}]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<115,97,102,101>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,110,100,32,117,110,115,97,102,101,32,100,97,116,97,32,105,115,32,100,101,99,111,100,101,100,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,54,57>>,signature => [{attribute,{561,2},spec,{{binary_to_term,2},[{type,{561,21},bounded_fun,[{type,{561,21},'fun',[{type,{561,21},product,[{var,{561,22},'Binary'},{var,{561,30},'Opts'}]},{type,{561,39},union,[{type,{561,39},term,[]},{type,{561,48},tuple,[{type,{561,49},term,[]},{var,{561,57},'Used'}]}]}]},[{type,{562,7},constraint,[{atom,{562,7},is_subtype},[{var,{562,7},'Binary'},{user_type,{562,17},ext_binary,[]}]]},{type,{563,7},constraint,[{atom,{563,7},is_subtype},[{var,{563,7},'Opt'},{type,{563,14},union,[{atom,{563,14},safe},{atom,{563,21},used}]}]]},{type,{564,7},constraint,[{atom,{564,7},is_subtype},[{var,{564,7},'Opts'},{type,{564,15},list,[{var,{564,16},'Opt'}]}]]},{type,{565,7},constraint,[{atom,{565,7},is_subtype},[{var,{565,7},'Used'},{type,{565,15},pos_integer,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,51,66,48,52>>}},{{function,bit_size,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,571}],[<<98,105,116,95,115,105,122,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,116,104,97,116,32,105,115,32,116,104,101,32,115,105,122,101,32,105,110,32,98,105,116,115,32,111,102,32>>,{code,[],[<<66,105,116,115,116,114,105,110,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,98,105,116,95,115,105,122,101,40,60,60,52,51,51,58,49,54,44,51,58,51,62,62,41,46,10,49,57,10,62,32,98,105,116,95,115,105,122,101,40,60,60,49,44,50,44,51,62,62,41,46,10,50,52>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,51,50>>,signature => [{attribute,{571,2},spec,{{bit_size,1},[{type,{571,15},bounded_fun,[{type,{571,15},'fun',[{type,{571,15},product,[{var,{571,16},'Bitstring'}]},{type,{571,30},non_neg_integer,[]}]},[{type,{572,7},constraint,[{atom,{572,7},is_subtype},[{var,{572,7},'Bitstring'},{type,{572,20},bitstring,[]}]]}]]}]}}]}},{{function,bitstring_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,577}],[<<98,105,116,115,116,114,105,110,103,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,105,110,116,101,103,101,114,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,98,121,116,101,115,32,111,102,32>>,{code,[],[<<66,105,116,115,116,114,105,110,103>>]},<<46,32,73,102,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,105,116,115,32,105,110,32,116,104,101,32,98,105,110,97,114,121,32,105,115,32,110,111,116,32,100,105,118,105,115,105,98,108,101,32,98,121,32,56,44,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,108,105,115,116,32,105,115,32,97,32,98,105,116,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,49,45,55,32,98,105,116,115,46,32,69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,98,105,116,115,116,114,105,110,103,95,116,111,95,108,105,115,116,40,60,60,52,51,51,58,49,54,62,62,41,46,10,91,49,44,49,55,55,93>>]}]},{pre,[],[{code,[],[<<62,32,98,105,116,115,116,114,105,110,103,95,116,111,95,108,105,115,116,40,60,60,52,51,51,58,49,54,44,51,58,51,62,62,41,46,10,91,49,44,49,55,55,44,60,60,51,58,51,62,62,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,52,55>>,signature => [{attribute,{577,2},spec,{{bitstring_to_list,1},[{type,{577,24},bounded_fun,[{type,{577,24},'fun',[{type,{577,24},product,[{var,{577,25},'Bitstring'}]},{type,{577,39},list,[{type,{577,40},union,[{type,{577,40},byte,[]},{type,{577,49},bitstring,[]}]}]}]},[{type,{578,7},constraint,[{atom,{578,7},is_subtype},[{var,{578,7},'Bitstring'},{type,{578,20},bitstring,[]}]]}]]}]}}]}},{{function,bump_reductions,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,583}],[<<98,117,109,112,95,114,101,100,117,99,116,105,111,110,115,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,105,115,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,45,100,101,112,101,110,100,101,110,116,32,102,117,110,99,116,105,111,110,32,105,110,99,114,101,109,101,110,116,115,32,116,104,101,32,114,101,100,117,99,116,105,111,110,32,99,111,117,110,116,101,114,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,73,110,32,116,104,101,32,66,101,97,109,32,101,109,117,108,97,116,111,114,44,32,116,104,101,32,114,101,100,117,99,116,105,111,110,32,99,111,117,110,116,101,114,32,105,115,32,110,111,114,109,97,108,108,121,32,105,110,99,114,101,109,101,110,116,101,100,32,98,121,32,111,110,101,32,102,111,114,32,101,97,99,104,32,102,117,110,99,116,105,111,110,32,97,110,100,32,66,73,70,32,99,97,108,108,46,32,65,32,99,111,110,116,101,120,116,32,115,119,105,116,99,104,32,105,115,32,102,111,114,99,101,100,32,119,104,101,110,32,116,104,101,32,99,111,117,110,116,101,114,32,114,101,97,99,104,101,115,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,114,101,100,117,99,116,105,111,110,115,32,102,111,114,32,97,32,112,114,111,99,101,115,115,32,40,52,48,48,48,32,114,101,100,117,99,116,105,111,110,115,32,105,110,32,69,114,108,97,110,103,47,79,84,80,32,49,57,46,50,32,97,110,100,32,108,97,116,101,114,41,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,99,97,110,32,98,101,32,114,101,109,111,118,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,66,101,97,109,32,109,97,99,104,105,110,101,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,119,97,114,110,105,110,103,46,32,73,116,32,105,115,32,117,110,108,105,107,101,108,121,32,116,111,32,98,101,32,105,109,112,108,101,109,101,110,116,101,100,32,105,110,32,111,116,104,101,114,32,69,114,108,97,110,103,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,115,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,54,52>>,signature => [{attribute,{583,2},spec,{{erlang,bump_reductions,1},[{type,{583,29},bounded_fun,[{type,{583,29},'fun',[{type,{583,29},product,[{var,{583,30},'Reductions'}]},{atom,{583,45},true}]},[{type,{584,7},constraint,[{atom,{584,7},is_subtype},[{var,{584,7},'Reductions'},{type,{584,21},pos_integer,[]}]]}]]}]}}]}},{{function,byte_size,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,590}],[<<98,121,116,101,95,115,105,122,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,116,104,97,116,32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,110,101,101,100,101,100,32,116,111,32,99,111,110,116,97,105,110,32>>,{code,[],[<<66,105,116,115,116,114,105,110,103>>]},<<46,32,84,104,97,116,32,105,115,44,32,105,102,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,105,116,115,32,105,110,32>>,{code,[],[<<66,105,116,115,116,114,105,110,103>>]},<<32,105,115,32,110,111,116,32,100,105,118,105,115,105,98,108,101,32,98,121,32,56,44,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,105,115,32,114,111,117,110,100,101,100,32>>,{em,[],[<<117,112>>]},<<46,32,69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,98,121,116,101,95,115,105,122,101,40,60,60,52,51,51,58,49,54,44,51,58,51,62,62,41,46,10,51,10,62,32,98,121,116,101,95,115,105,122,101,40,60,60,49,44,50,44,51,62,62,41,46,10,51>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,56,50>>,signature => [{attribute,{590,2},spec,{{byte_size,1},[{type,{590,16},bounded_fun,[{type,{590,16},'fun',[{type,{590,16},product,[{var,{590,17},'Bitstring'}]},{type,{590,31},non_neg_integer,[]}]},[{type,{591,7},constraint,[{atom,{591,7},is_subtype},[{var,{591,7},'Bitstring'},{type,{591,20},bitstring,[]}]]}]]}]}}]}},{{function,cancel_timer,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,602}],[<<99,97,110,99,101,108,95,116,105,109,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<67,97,110,99,101,108,115,32,97,32,116,105,109,101,114,46,32,84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,97,110,99,101,108,95,116,105,109,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,97,110,99,101,108,95,116,105,109,101,114,40,84,105,109,101,114,82,101,102,44,32,91,93,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,57,57>>,signature => [{attribute,{602,2},spec,{{erlang,cancel_timer,1},[{type,{602,26},bounded_fun,[{type,{602,26},'fun',[{type,{602,26},product,[{var,{602,27},'TimerRef'}]},{var,{602,40},'Result'}]},[{type,{603,7},constraint,[{atom,{603,7},is_subtype},[{var,{603,7},'TimerRef'},{type,{603,19},reference,[]}]]},{type,{604,7},constraint,[{atom,{604,7},is_subtype},[{var,{604,7},'Time'},{type,{604,15},non_neg_integer,[]}]]},{type,{605,7},constraint,[{atom,{605,7},is_subtype},[{var,{605,7},'Result'},{type,{605,17},union,[{var,{605,17},'Time'},{atom,{605,24},false}]}]]}]]}]}}]}},{{function,cancel_timer,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,611}],[<<99,97,110,99,101,108,95,116,105,109,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<67,97,110,99,101,108,115,32,97,32,116,105,109,101,114,32,116,104,97,116,32,104,97,115,32,98,101,101,110,32,99,114,101,97,116,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,114,116,95,116,105,109,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,97,102,116,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114>>]}]},<<46,32>>,{code,[],[<<84,105,109,101,114,82,101,102>>]},<<32,105,100,101,110,116,105,102,105,101,115,32,116,104,101,32,116,105,109,101,114,44,32,97,110,100,32,119,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32,116,104,101,32,66,73,70,32,116,104,97,116,32,99,114,101,97,116,101,100,32,116,104,101,32,116,105,109,101,114,46>>]},{p,[],[{code,[],[<<79,112,116,105,111,110>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,97,115,121,110,99,44,32,65,115,121,110,99,125>>]}]},{dd,[],[{p,[],[<<65,115,121,110,99,104,114,111,110,111,117,115,32,114,101,113,117,101,115,116,32,102,111,114,32,99,97,110,99,101,108,108,97,116,105,111,110,46,32>>,{code,[],[<<65,115,121,110,99>>]},<<32,100,101,102,97,117,108,116,115,32,116,111,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,119,104,105,99,104,32,99,97,117,115,101,115,32,116,104,101,32,99,97,110,99,101,108,108,97,116,105,111,110,32,116,111,32,98,101,32,112,101,114,102,111,114,109,101,100,32,115,121,110,99,104,114,111,110,111,117,115,108,121,46,32,87,104,101,110,32>>,{code,[],[<<65,115,121,110,99>>]},<<32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,116,104,101,32,99,97,110,99,101,108,32,111,112,101,114,97,116,105,111,110,32,105,115,32,112,101,114,102,111,114,109,101,100,32,97,115,121,110,99,104,114,111,110,111,117,115,108,121,46,32,84,104,97,116,32,105,115,44,32>>,{code,[],[<<99,97,110,99,101,108,95,116,105,109,101,114,40,41>>]},<<32,115,101,110,100,115,32,97,110,32,97,115,121,110,99,104,114,111,110,111,117,115,32,114,101,113,117,101,115,116,32,102,111,114,32,99,97,110,99,101,108,108,97,116,105,111,110,32,116,111,32,116,104,101,32,116,105,109,101,114,32,115,101,114,118,105,99,101,32,116,104,97,116,32,109,97,110,97,103,101,115,32,116,104,101,32,116,105,109,101,114,44,32,97,110,100,32,116,104,101,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,105,110,102,111,44,32,73,110,102,111,125>>]}]},{dd,[],[{p,[],[<<82,101,113,117,101,115,116,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,111,102,32,116,104,101,32,99,97,110,99,101,108,108,97,116,105,111,110,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,100,101,102,97,117,108,116,115,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,119,104,105,99,104,32,109,101,97,110,115,32,116,104,101,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32,103,105,118,101,110,46,32,87,104,101,110,32>>,{code,[],[<<73,110,102,111>>]},<<32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,110,111,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,99,97,110,99,101,108,108,97,116,105,111,110,32,105,115,32,103,105,118,101,110,46>>]},{ul,[],[{li,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<65,115,121,110,99>>]},<<32,105,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<58,32,105,102,32>>,{code,[],[<<73,110,102,111>>]},<<32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,116,104,101,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,99,97,110,99,101,108,95,116,105,109,101,114,40,41>>]},<<46,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<111,107>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]},{li,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<65,115,121,110,99>>]},<<32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<58,32,105,102,32>>,{code,[],[<<73,110,102,111>>]},<<32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,97,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,99,97,110,99,101,108,95,116,105,109,101,114,44,32,84,105,109,101,114,82,101,102,44,32,82,101,115,117,108,116,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,99,97,110,99,101,108,95,116,105,109,101,114,40,41>>]},<<32,119,104,101,110,32,116,104,101,32,99,97,110,99,101,108,108,97,116,105,111,110,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,101,114,102,111,114,109,101,100,44,32,111,116,104,101,114,119,105,115,101,32,110,111,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,46>>]}]}]}]}]},{p,[],[<<77,111,114,101,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,109,97,121,32,98,101,32,97,100,100,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,44,32,105,116,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,116,105,109,101,32,105,110,32,109,105,108,108,105,115,101,99,111,110,100,115,32,108,101,102,116,32,117,110,116,105,108,32,116,104,101,32,99,97,110,99,101,108,101,100,32,116,105,109,101,114,32,119,111,117,108,100,32,104,97,118,101,32,101,120,112,105,114,101,100,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,97,32,116,105,109,101,114,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32>>,{code,[],[<<84,105,109,101,114,82,101,102>>]},<<32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,46,32,84,104,105,115,32,99,97,110,32,98,101,32,101,105,116,104,101,114,32,98,101,99,97,117,115,101,32,116,104,101,32,116,105,109,101,114,32,104,97,100,32,101,120,112,105,114,101,100,44,32,97,108,114,101,97,100,121,32,104,97,100,32,98,101,101,110,32,99,97,110,99,101,108,101,100,44,32,111,114,32,98,101,99,97,117,115,101,32>>,{code,[],[<<84,105,109,101,114,82,101,102>>]},<<32,110,101,118,101,114,32,99,111,114,114,101,115,112,111,110,100,101,100,32,116,111,32,97,32,116,105,109,101,114,46,32,69,118,101,110,32,105,102,32,116,104,101,32,116,105,109,101,114,32,104,97,100,32,101,120,112,105,114,101,100,44,32,105,116,32,100,111,101,115,32,110,111,116,32,116,101,108,108,32,121,111,117,32,105,102,32,116,104,101,32,116,105,109,101,45,111,117,116,32,109,101,115,115,97,103,101,32,104,97,115,32,97,114,114,105,118,101,100,32,97,116,32,105,116,115,32,100,101,115,116,105,110,97,116,105,111,110,32,121,101,116,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,116,105,109,101,114,32,115,101,114,118,105,99,101,32,116,104,97,116,32,109,97,110,97,103,101,115,32,116,104,101,32,116,105,109,101,114,32,99,97,110,32,98,101,32,99,111,45,108,111,99,97,116,101,100,32,119,105,116,104,32,97,110,111,116,104,101,114,32,115,99,104,101,100,117,108,101,114,32,116,104,97,110,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46,32,73,102,32,115,111,44,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,119,105,116,104,32,116,104,101,32,116,105,109,101,114,32,115,101,114,118,105,99,101,32,116,97,107,101,115,32,109,117,99,104,32,108,111,110,103,101,114,32,116,105,109,101,32,116,104,97,110,32,105,102,32,105,116,32,105,115,32,108,111,99,97,116,101,100,32,108,111,99,97,108,108,121,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,105,110,32,99,114,105,116,105,99,97,108,32,112,97,116,104,44,32,97,110,100,32,99,97,110,32,100,111,32,111,116,104,101,114,32,116,104,105,110,103,115,32,119,104,105,108,101,32,119,97,105,116,105,110,103,32,102,111,114,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,105,115,32,111,112,101,114,97,116,105,111,110,44,32,111,114,32,105,115,32,110,111,116,32,105,110,116,101,114,101,115,116,101,100,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,111,112,101,114,97,116,105,111,110,44,32,121,111,117,32,119,97,110,116,32,116,111,32,117,115,101,32,111,112,116,105,111,110,32>>,{code,[],[<<123,97,115,121,110,99,44,32,116,114,117,101,125>>]},<<46,32,73,102,32,117,115,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<123,97,115,121,110,99,44,32,102,97,108,115,101,125>>]},<<44,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,98,108,111,99,107,115,32,117,110,116,105,108,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,101,114,102,111,114,109,101,100,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,97,102,116,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114,47,52>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,114,116,95,116,105,109,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114,47,52>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,97,100,95,116,105,109,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,48,57>>,signature => [{attribute,{611,2},spec,{{erlang,cancel_timer,2},[{type,{611,26},bounded_fun,[{type,{611,26},'fun',[{type,{611,26},product,[{var,{611,27},'TimerRef'},{var,{611,37},'Options'}]},{type,{611,49},union,[{var,{611,49},'Result'},{atom,{611,58},ok}]}]},[{type,{612,7},constraint,[{atom,{612,7},is_subtype},[{var,{612,7},'TimerRef'},{type,{612,19},reference,[]}]]},{type,{613,7},constraint,[{atom,{613,7},is_subtype},[{var,{613,7},'Async'},{type,{613,16},boolean,[]}]]},{type,{614,7},constraint,[{atom,{614,7},is_subtype},[{var,{614,7},'Info'},{type,{614,15},boolean,[]}]]},{type,{615,7},constraint,[{atom,{615,7},is_subtype},[{var,{615,7},'Option'},{type,{615,17},union,[{type,{615,17},tuple,[{atom,{615,18},async},{var,{615,25},'Async'}]},{type,{615,34},tuple,[{atom,{615,35},info},{var,{615,41},'Info'}]}]}]]},{type,{616,7},constraint,[{atom,{616,7},is_subtype},[{var,{616,7},'Options'},{type,{616,18},list,[{var,{616,19},'Option'}]}]]},{type,{617,7},constraint,[{atom,{617,7},is_subtype},[{var,{617,7},'Time'},{type,{617,15},non_neg_integer,[]}]]},{type,{618,7},constraint,[{atom,{618,7},is_subtype},[{var,{618,7},'Result'},{type,{618,17},union,[{var,{618,17},'Time'},{atom,{618,24},false}]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,ceil,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,625}],[<<99,101,105,108,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,105,110,116,101,103,101,114,32,110,111,116,32,108,101,115,115,32,116,104,97,110,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<46,32,70,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,99,101,105,108,40,53,46,53,41,46,10,54>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,57,49>>,signature => [{attribute,{625,2},spec,{{ceil,1},[{type,{625,11},bounded_fun,[{type,{625,11},'fun',[{type,{625,11},product,[{var,{625,12},'Number'}]},{type,{625,23},integer,[]}]},[{type,{626,7},constraint,[{atom,{626,7},is_subtype},[{var,{626,7},'Number'},{type,{626,17},number,[]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,48>>}},{{function,check_old_code,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,631}],[<<99,104,101,99,107,95,111,108,100,95,99,111,100,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,104,97,115,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,99,111,100,101,95,108,111,97,100,105,110,103,35,99,111,100,101,45,114,101,112,108,97,99,101,109,101,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<111,108,100,32,99,111,100,101>>]},<<44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,100,101,40,51,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,48,52>>,signature => [{attribute,{631,2},spec,{{check_old_code,1},[{type,{631,21},bounded_fun,[{type,{631,21},'fun',[{type,{631,21},product,[{var,{631,22},'Module'}]},{type,{631,33},boolean,[]}]},[{type,{632,7},constraint,[{atom,{632,7},is_subtype},[{var,{632,7},'Module'},{type,{632,17},module,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66,48,52>>}},{{function,check_process_code,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,637}],[<<99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,50>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,40,80,105,100,44,32,77,111,100,117,108,101,44,32,91,93,41>>]},<<32>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,49,53>>,signature => [{attribute,{637,2},spec,{{check_process_code,2},[{type,{637,25},bounded_fun,[{type,{637,25},'fun',[{type,{637,25},product,[{var,{637,26},'Pid'},{var,{637,31},'Module'}]},{var,{637,42},'CheckResult'}]},[{type,{638,7},constraint,[{atom,{638,7},is_subtype},[{var,{638,7},'Pid'},{type,{638,14},pid,[]}]]},{type,{639,7},constraint,[{atom,{639,7},is_subtype},[{var,{639,7},'Module'},{type,{639,17},module,[]}]]},{type,{640,7},constraint,[{atom,{640,7},is_subtype},[{var,{640,7},'CheckResult'},{type,{640,22},boolean,[]}]]}]]}]}}]}},{{function,check_process_code,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,649}],[<<99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,51>>],#{<<101,110>> => [{p,[],[<<67,104,101,99,107,115,32,105,102,32,116,104,101,32,110,111,100,101,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,101,120,101,99,117,116,101,115,32,111,108,100,32,99,111,100,101,32,102,111,114,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46>>]},{p,[],[{code,[],[<<79,112,116,105,111,110>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,97,108,108,111,119,95,103,99,44,32,98,111,111,108,101,97,110,40,41,125>>]}]},{dd,[],[{p,[],[<<68,101,116,101,114,109,105,110,101,115,32,105,102,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,97,108,108,111,119,101,100,32,119,104,101,110,32,112,101,114,102,111,114,109,105,110,103,32,116,104,101,32,111,112,101,114,97,116,105,111,110,46,32,73,102,32>>,{code,[],[<<123,97,108,108,111,119,95,103,99,44,32,102,97,108,115,101,125>>]},<<32,105,115,32,112,97,115,115,101,100,44,32,97,110,100,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,110,101,101,100,101,100,32,116,111,32,100,101,116,101,114,109,105,110,101,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,111,112,101,114,97,116,105,111,110,44,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,105,115,32,97,98,111,114,116,101,100,32,40,115,101,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32>>,{code,[],[<<67,104,101,99,107,82,101,115,117,108,116>>]},<<32,98,101,108,111,119,41,46,32,84,104,101,32,100,101,102,97,117,108,116,32,105,115,32,116,111,32,97,108,108,111,119,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,44,32,116,104,97,116,32,105,115,44,32>>,{code,[],[<<123,97,108,108,111,119,95,103,99,44,32,116,114,117,101,125>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,97,115,121,110,99,44,32,82,101,113,117,101,115,116,73,100,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,51>>]},<<32,114,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<97,115,121,110,99>>]},<<32,105,109,109,101,100,105,97,116,101,108,121,32,97,102,116,101,114,32,116,104,101,32,114,101,113,117,101,115,116,32,104,97,115,32,98,101,101,110,32,115,101,110,116,46,32,87,104,101,110,32,116,104,101,32,114,101,113,117,101,115,116,32,104,97,115,32,98,101,101,110,32,112,114,111,99,101,115,115,101,100,44,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,99,97,108,108,101,100,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,112,97,115,115,101,100,32,97,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,44,32,82,101,113,117,101,115,116,73,100,44,32,67,104,101,99,107,82,101,115,117,108,116,125>>]},<<46>>]}]}]},{p,[],[<<73,102,32>>,{code,[],[<<80,105,100>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<115,101,108,102,40,41>>]},<<44,32,97,110,100,32,110,111,32>>,{code,[],[<<97,115,121,110,99>>]},<<32,111,112,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,97,115,115,101,100,44,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,105,115,32,112,101,114,102,111,114,109,101,100,32,97,116,32,111,110,99,101,46,32,79,116,104,101,114,119,105,115,101,32,97,32,114,101,113,117,101,115,116,32,102,111,114,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<44,32,97,110,100,32,105,115,32,104,97,110,100,108,101,100,32,119,104,101,110,32,97,112,112,114,111,112,114,105,97,116,101,46,32,73,102,32,110,111,32>>,{code,[],[<<97,115,121,110,99>>]},<<32,111,112,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,97,115,115,101,100,44,32,116,104,101,32,99,97,108,108,101,114,32,98,108,111,99,107,115,32,117,110,116,105,108,32>>,{code,[],[<<67,104,101,99,107,82,101,115,117,108,116>>]},<<32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,110,100,32,99,97,110,32,98,101,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[{code,[],[<<67,104,101,99,107,82,101,115,117,108,116>>]},<<32,105,110,102,111,114,109,115,32,97,98,111,117,116,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,114,101,113,117,101,115,116,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,101,120,101,99,117,116,101,115,32,111,108,100,32,99,111,100,101,32,102,111,114,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,99,117,114,114,101,110,116,32,99,97,108,108,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,101,120,101,99,117,116,101,115,32,111,108,100,32,99,111,100,101,32,102,111,114,32,116,104,105,115,32,109,111,100,117,108,101,44,32,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,115,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,111,108,100,32,99,111,100,101,32,102,111,114,32,116,104,105,115,32,109,111,100,117,108,101,44,32,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32,99,111,110,116,97,105,110,115,32,102,117,110,115,32,116,104,97,116,32,114,101,102,101,114,101,110,99,101,115,32,111,108,100,32,99,111,100,101,32,102,111,114,32,116,104,105,115,32,109,111,100,117,108,101,46>>]}]},{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,101,99,117,116,101,32,111,108,100,32,99,111,100,101,32,102,111,114,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46>>]}]},{dt,[],[{code,[],[<<97,98,111,114,116,101,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,111,112,101,114,97,116,105,111,110,32,119,97,115,32,97,98,111,114,116,101,100,44,32,97,115,32,116,104,101,32,112,114,111,99,101,115,115,32,110,101,101,100,101,100,32,116,111,32,98,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,32,116,111,32,100,101,116,101,114,109,105,110,101,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,114,101,115,117,108,116,44,32,97,110,100,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,119,97,115,32,114,101,113,117,101,115,116,101,100,32,98,121,32,112,97,115,115,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<123,97,108,108,111,119,95,103,99,44,32,102,97,108,115,101,125>>]},<<46>>]}]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<85,112,32,117,110,116,105,108,32,69,82,84,83,32,118,101,114,115,105,111,110,32,56,46,42,44,32,116,104,101,32,99,104,101,99,107,32,112,114,111,99,101,115,115,32,99,111,100,101,32,111,112,101,114,97,116,105,111,110,32,99,104,101,99,107,115,32,102,111,114,32,97,108,108,32,116,121,112,101,115,32,111,102,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,116,104,101,32,111,108,100,32,99,111,100,101,46,32,84,104,97,116,32,105,115,44,32,100,105,114,101,99,116,32,114,101,102,101,114,101,110,99,101,115,32,40,101,46,103,46,32,114,101,116,117,114,110,32,97,100,100,114,101,115,115,101,115,32,111,110,32,116,104,101,32,112,114,111,99,101,115,115,32,115,116,97,99,107,41,44,32,105,110,100,105,114,101,99,116,32,114,101,102,101,114,101,110,99,101,115,32,40>>,{code,[],[<<102,117,110>>]},<<115,32,105,110,32,112,114,111,99,101,115,115,32,99,111,110,116,101,120,116,41,44,32,97,110,100,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,108,105,116,101,114,97,108,115,32,105,110,32,116,104,101,32,99,111,100,101,46>>]},{p,[],[<<65,115,32,111,102,32,69,82,84,83,32,118,101,114,115,105,111,110,32,57,46,48,44,32,116,104,101,32,99,104,101,99,107,32,112,114,111,99,101,115,115,32,99,111,100,101,32,111,112,101,114,97,116,105,111,110,32,111,110,108,121,32,99,104,101,99,107,115,32,102,111,114,32,100,105,114,101,99,116,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,116,104,101,32,99,111,100,101,46,32,73,110,100,105,114,101,99,116,32,114,101,102,101,114,101,110,99,101,115,32,118,105,97,32>>,{code,[],[<<102,117,110>>]},<<115,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,46,32,73,102,32,115,117,99,104,32>>,{code,[],[<<102,117,110>>]},<<115,32,101,120,105,115,116,32,97,110,100,32,97,114,101,32,117,115,101,100,32,97,102,116,101,114,32,97,32,112,117,114,103,101,32,111,102,32,116,104,101,32,111,108,100,32,99,111,100,101,44,32,97,110,32,101,120,99,101,112,116,105,111,110,32,119,105,108,108,32,98,101,32,114,97,105,115,101,100,32,117,112,111,110,32,117,115,97,103,101,32,40,115,97,109,101,32,97,115,32,116,104,101,32,99,97,115,101,32,119,104,101,110,32,116,104,101,32>>,{code,[],[<<102,117,110>>]},<<32,105,115,32,114,101,99,101,105,118,101,100,32,98,121,32,116,104,101,32,112,114,111,99,101,115,115,32,97,102,116,101,114,32,116,104,101,32,112,117,114,103,101,41,46,32,76,105,116,101,114,97,108,115,32,119,105,108,108,32,98,101,32,116,97,107,101,110,32,99,97,114,101,32,111,102,32,40,99,111,112,105,101,100,41,32,97,116,32,97,32,108,97,116,101,114,32,115,116,97,103,101,46,32,84,104,105,115,32,98,101,104,97,118,105,111,114,32,99,97,110,32,97,115,32,111,102,32,69,82,84,83,32,118,101,114,115,105,111,110,32,56,46,49,32,98,101,32,101,110,97,98,108,101,100,32,119,104,101,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,105,110,115,116,97,108,108,97,116,105,111,110,95,103,117,105,100,101,58,73,78,83,84,65,76,76,35,65,100,118,97,110,99,101,100,45,99,111,110,102,105,103,117,114,97,116,105,111,110,45,97,110,100,45,98,117,105,108,100,45,111,102,45,69,114,108,97,110,103,79,84,80,95,67,111,110,102,105,103,117,114,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<98,117,105,108,100,105,110,103,32,79,84,80>>]},<<44,32,97,110,100,32,119,105,108,108,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,98,101,32,101,110,97,98,108,101,100,32,105,102,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,32,115,117,112,112,111,114,116,32,105,115,32,101,110,97,98,108,101,100,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,100,101,40,51,41>>]}]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,110,111,116,32,97,32,110,111,100,101,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,116,105,111,110,76,105,115,116>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,108,105,115,116,32,111,102,32,111,112,116,105,111,110,115,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,50,54>>,signature => [{attribute,{649,2},spec,{{check_process_code,3},[{type,{649,25},bounded_fun,[{type,{649,25},'fun',[{type,{649,25},product,[{var,{649,26},'Pid'},{var,{649,31},'Module'},{var,{649,39},'OptionList'}]},{type,{649,54},union,[{var,{649,54},'CheckResult'},{atom,{649,68},async}]}]},[{type,{650,7},constraint,[{atom,{650,7},is_subtype},[{var,{650,7},'Pid'},{type,{650,14},pid,[]}]]},{type,{651,7},constraint,[{atom,{651,7},is_subtype},[{var,{651,7},'Module'},{type,{651,17},module,[]}]]},{type,{652,7},constraint,[{atom,{652,7},is_subtype},[{var,{652,7},'RequestId'},{type,{652,20},term,[]}]]},{type,{653,7},constraint,[{atom,{653,7},is_subtype},[{var,{653,7},'Option'},{type,{653,17},union,[{type,{653,17},tuple,[{atom,{653,18},async},{var,{653,25},'RequestId'}]},{type,{653,38},tuple,[{atom,{653,39},allow_gc},{type,{653,49},boolean,[]}]}]}]]},{type,{654,7},constraint,[{atom,{654,7},is_subtype},[{var,{654,7},'OptionList'},{type,{654,21},list,[{var,{654,22},'Option'}]}]]},{type,{655,7},constraint,[{atom,{655,7},is_subtype},[{var,{655,7},'CheckResult'},{type,{655,22},union,[{type,{655,22},boolean,[]},{atom,{655,34},aborted}]}]]}]]}]}}],since => <<79,84,80,32,49,55,46,48>>}},{{function,convert_time_unit,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1619}],[<<99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>],#{<<101,110>> => [{p,[],[<<67,111,110,118,101,114,116,115,32,116,104,101,32>>,{code,[],[<<84,105,109,101>>]},<<32,118,97,108,117,101,32,111,102,32,116,105,109,101,32,117,110,105,116,32>>,{code,[],[<<70,114,111,109,85,110,105,116>>]},<<32,116,111,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32>>,{code,[],[<<67,111,110,118,101,114,116,101,100,84,105,109,101>>]},<<32,118,97,108,117,101,32,111,102,32,116,105,109,101,32,117,110,105,116,32>>,{code,[],[<<84,111,85,110,105,116>>]},<<46,32,84,104,101,32,114,101,115,117,108,116,32,105,115,32,114,111,117,110,100,101,100,32,117,115,105,110,103,32,116,104,101,32,102,108,111,111,114,32,102,117,110,99,116,105,111,110,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<89,111,117,32,99,97,110,32,108,111,115,101,32,97,99,99,117,114,97,99,121,32,97,110,100,32,112,114,101,99,105,115,105,111,110,32,119,104,101,110,32,99,111,110,118,101,114,116,105,110,103,32,98,101,116,119,101,101,110,32,116,105,109,101,32,117,110,105,116,115,46,32,84,111,32,109,105,110,105,109,105,122,101,32,115,117,99,104,32,108,111,115,115,44,32,99,111,108,108,101,99,116,32,97,108,108,32,100,97,116,97,32,97,116,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,32,97,110,100,32,100,111,32,116,104,101,32,99,111,110,118,101,114,115,105,111,110,32,111,110,32,116,104,101,32,101,110,100,32,114,101,115,117,108,116,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,52,50,57>>,signature => [{attribute,{1619,2},spec,{{erlang,convert_time_unit,3},[{type,{1619,31},bounded_fun,[{type,{1619,31},'fun',[{type,{1619,31},product,[{var,{1619,32},'Time'},{var,{1619,38},'FromUnit'},{var,{1619,48},'ToUnit'}]},{var,{1619,59},'ConvertedTime'}]},[{type,{1620,7},constraint,[{atom,{1620,7},is_subtype},[{var,{1620,7},'Time'},{type,{1620,15},integer,[]}]]},{type,{1621,7},constraint,[{atom,{1621,7},is_subtype},[{var,{1621,7},'ConvertedTime'},{type,{1621,24},integer,[]}]]},{type,{1622,7},constraint,[{atom,{1622,7},is_subtype},[{var,{1622,7},'FromUnit'},{user_type,{1622,19},time_unit,[]}]]},{type,{1623,7},constraint,[{atom,{1623,7},is_subtype},[{var,{1623,7},'ToUnit'},{user_type,{1623,17},time_unit,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,crc32,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,667}],[<<99,114,99,51,50,47,49>>],#{<<101,110>> => [{p,[],[<<67,111,109,112,117,116,101,115,32,97,110,100,32,114,101,116,117,114,110,115,32,116,104,101,32,99,114,99,51,50,32,40,73,69,69,69,32,56,48,50,46,51,32,115,116,121,108,101,41,32,99,104,101,99,107,115,117,109,32,102,111,114,32>>,{code,[],[<<68,97,116,97>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,52,52,55>>,signature => [{attribute,{667,2},spec,{{erlang,crc32,1},[{type,{667,19},bounded_fun,[{type,{667,19},'fun',[{type,{667,19},product,[{var,{667,20},'Data'}]},{type,{667,29},non_neg_integer,[]}]},[{type,{668,7},constraint,[{atom,{668,7},is_subtype},[{var,{668,7},'Data'},{type,{668,15},iodata,[]}]]}]]}]}}]}},{{function,crc32,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,673}],[<<99,114,99,51,50,47,50>>],#{<<101,110>> => [{p,[],[<<67,111,110,116,105,110,117,101,115,32,99,111,109,112,117,116,105,110,103,32,116,104,101,32,99,114,99,51,50,32,99,104,101,99,107,115,117,109,32,98,121,32,99,111,109,98,105,110,105,110,103,32,116,104,101,32,112,114,101,118,105,111,117,115,32,99,104,101,99,107,115,117,109,44,32>>,{code,[],[<<79,108,100,67,114,99>>]},<<44,32,119,105,116,104,32,116,104,101,32,99,104,101,99,107,115,117,109,32,111,102,32>>,{code,[],[<<68,97,116,97>>]},<<46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,100,101,58>>]},{pre,[],[{code,[],[<<88,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,40,68,97,116,97,49,41,44,10,89,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,40,88,44,68,97,116,97,50,41,46>>]}]},{p,[],[<<97,115,115,105,103,110,115,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,116,111,32>>,{code,[],[<<89>>]},<<32,97,115,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<89,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,40,91,68,97,116,97,49,44,68,97,116,97,50,93,41,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,52,53,54>>,signature => [{attribute,{673,2},spec,{{erlang,crc32,2},[{type,{673,19},bounded_fun,[{type,{673,19},'fun',[{type,{673,19},product,[{var,{673,20},'OldCrc'},{var,{673,28},'Data'}]},{type,{673,37},non_neg_integer,[]}]},[{type,{674,7},constraint,[{atom,{674,7},is_subtype},[{var,{674,7},'OldCrc'},{type,{674,17},non_neg_integer,[]}]]},{type,{675,7},constraint,[{atom,{675,7},is_subtype},[{var,{675,7},'Data'},{type,{675,15},iodata,[]}]]}]]}]}}]}},{{function,crc32_combine,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,680}],[<<99,114,99,51,50,95,99,111,109,98,105,110,101,47,51>>],#{<<101,110>> => [{p,[],[<<67,111,109,98,105,110,101,115,32,116,119,111,32,112,114,101,118,105,111,117,115,108,121,32,99,111,109,112,117,116,101,100,32,99,114,99,51,50,32,99,104,101,99,107,115,117,109,115,46,32,84,104,105,115,32,99,111,109,112,117,116,97,116,105,111,110,32,114,101,113,117,105,114,101,115,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,100,97,116,97,32,111,98,106,101,99,116,32,102,111,114,32,116,104,101,32,115,101,99,111,110,100,32,99,104,101,99,107,115,117,109,32,116,111,32,98,101,32,107,110,111,119,110,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,100,101,58>>]},{pre,[],[{code,[],[<<89,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,40,68,97,116,97,49,41,44,10,90,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,40,89,44,68,97,116,97,50,41,46>>]}]},{p,[],[<<97,115,115,105,103,110,115,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,116,111,32>>,{code,[],[<<90>>]},<<32,97,115,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<88,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,40,68,97,116,97,49,41,44,10,89,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,40,68,97,116,97,50,41,44,10,90,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,95,99,111,109,98,105,110,101,40,88,44,89,44,105,111,108,105,115,116,95,115,105,122,101,40,68,97,116,97,50,41,41,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,52,55,51>>,signature => [{attribute,{680,2},spec,{{erlang,crc32_combine,3},[{type,{680,27},bounded_fun,[{type,{680,27},'fun',[{type,{680,27},product,[{var,{680,28},'FirstCrc'},{var,{680,38},'SecondCrc'},{var,{680,49},'SecondSize'}]},{type,{680,64},non_neg_integer,[]}]},[{type,{681,7},constraint,[{atom,{681,7},is_subtype},[{var,{681,7},'FirstCrc'},{type,{681,19},non_neg_integer,[]}]]},{type,{682,7},constraint,[{atom,{682,7},is_subtype},[{var,{682,7},'SecondCrc'},{type,{682,20},non_neg_integer,[]}]]},{type,{683,7},constraint,[{atom,{683,7},is_subtype},[{var,{683,7},'SecondSize'},{type,{683,21},non_neg_integer,[]}]]}]]}]}}]}},{{function,date,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,688}],[<<100,97,116,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,100,97,116,101,32,97,115,32>>,{code,[],[<<123,89,101,97,114,44,32,77,111,110,116,104,44,32,68,97,121,125>>]},<<46>>]},{p,[],[<<84,104,101,32,116,105,109,101,32,122,111,110,101,32,97,110,100,32,68,97,121,108,105,103,104,116,32,83,97,118,105,110,103,32,84,105,109,101,32,99,111,114,114,101,99,116,105,111,110,32,100,101,112,101,110,100,32,111,110,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,98,97,115,101,100,32,111,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,83,121,115,116,101,109,32,84,105,109,101>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,100,97,116,101,40,41,46,10,123,49,57,57,53,44,50,44,49,57,125>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,52,57,50>>,signature => [{attribute,{688,2},spec,{{date,0},[{type,{688,11},bounded_fun,[{type,{688,11},'fun',[{type,{688,11},product,[]},{var,{688,17},'Date'}]},[{type,{689,7},constraint,[{atom,{689,7},is_subtype},[{var,{689,7},'Date'},{remote_type,{689,15},[{atom,{689,15},calendar},{atom,{689,24},date},[]]}]]}]]}]}}]}},{{function,decode_packet,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,694}],[<<100,101,99,111,100,101,95,112,97,99,107,101,116,47,51>>],#{<<101,110>> => [{p,[],[<<68,101,99,111,100,101,115,32,116,104,101,32,98,105,110,97,114,121,32>>,{code,[],[<<66,105,110>>]},<<32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,112,97,99,107,101,116,32,112,114,111,116,111,99,111,108,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<84,121,112,101>>]},<<46,32,83,105,109,105,108,97,114,32,116,111,32,116,104,101,32,112,97,99,107,101,116,32,104,97,110,100,108,105,110,103,32,100,111,110,101,32,98,121,32,115,111,99,107,101,116,115,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<123,112,97,99,107,101,116,44,84,121,112,101,125,46>>]}]},{p,[],[<<73,102,32,97,110,32,101,110,116,105,114,101,32,112,97,99,107,101,116,32,105,115,32,99,111,110,116,97,105,110,101,100,32,105,110,32>>,{code,[],[<<66,105,110>>]},<<44,32,105,116,32,105,115,32,114,101,116,117,114,110,101,100,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,100,101,114,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,97,115,32>>,{code,[],[<<123,111,107,44,80,97,99,107,101,116,44,82,101,115,116,125>>]},<<46>>]},{p,[],[<<73,102,32>>,{code,[],[<<66,105,110>>]},<<32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,116,104,101,32,101,110,116,105,114,101,32,112,97,99,107,101,116,44,32>>,{code,[],[<<123,109,111,114,101,44,76,101,110,103,116,104,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32>>,{code,[],[<<76,101,110,103,116,104>>]},<<32,105,115,32,101,105,116,104,101,114,32,116,104,101,32,101,120,112,101,99,116,101,100,32>>,{em,[],[<<116,111,116,97,108,32,115,105,122,101>>]},<<32,111,102,32,116,104,101,32,112,97,99,107,101,116,44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,101,120,112,101,99,116,101,100,32,112,97,99,107,101,116,32,115,105,122,101,32,105,115,32,117,110,107,110,111,119,110,46,32>>,{code,[],[<<100,101,99,111,100,101,95,112,97,99,107,101,116>>]},<<32,99,97,110,32,116,104,101,110,32,98,101,32,99,97,108,108,101,100,32,97,103,97,105,110,32,119,105,116,104,32,109,111,114,101,32,100,97,116,97,32,97,100,100,101,100,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,97,99,107,101,116,32,100,111,101,115,32,110,111,116,32,99,111,110,102,111,114,109,32,116,111,32,116,104,101,32,112,114,111,116,111,99,111,108,32,102,111,114,109,97,116,44,32>>,{code,[],[<<123,101,114,114,111,114,44,82,101,97,115,111,110,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[{code,[],[<<84,121,112,101>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<114,97,119,32,124,32,48>>]}]},{dd,[],[{p,[],[<<78,111,32,112,97,99,107,101,116,32,104,97,110,100,108,105,110,103,32,105,115,32,100,111,110,101,46,32,84,104,101,32,101,110,116,105,114,101,32,98,105,110,97,114,121,32,105,115,32,114,101,116,117,114,110,101,100,32,117,110,108,101,115,115,32,105,116,32,105,115,32,101,109,112,116,121,46>>]}]},{dt,[],[{code,[],[<<49,32,124,32,50,32,124,32,52>>]}]},{dd,[],[{p,[],[<<80,97,99,107,101,116,115,32,99,111,110,115,105,115,116,32,111,102,32,97,32,104,101,97,100,101,114,32,115,112,101,99,105,102,121,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,105,110,32,116,104,101,32,112,97,99,107,101,116,44,32,102,111,108,108,111,119,101,100,32,98,121,32,116,104,97,116,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,46,32,84,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,104,101,97,100,101,114,32,99,97,110,32,98,101,32,111,110,101,44,32,116,119,111,44,32,111,114,32,102,111,117,114,32,98,121,116,101,115,59,32,116,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,98,121,116,101,115,32,105,115,32,98,105,103,45,101,110,100,105,97,110,46,32,84,104,101,32,104,101,97,100,101,114,32,105,115,32,115,116,114,105,112,112,101,100,32,111,102,102,32,119,104,101,110,32,116,104,101,32,112,97,99,107,101,116,32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]},{dt,[],[{code,[],[<<108,105,110,101>>]}]},{dd,[],[{p,[],[<<65,32,112,97,99,107,101,116,32,105,115,32,97,32,108,105,110,101,45,116,101,114,109,105,110,97,116,101,100,32,98,121,32,97,32,100,101,108,105,109,105,116,101,114,32,98,121,116,101,44,32,100,101,102,97,117,108,116,32,105,115,32,116,104,101,32,108,97,116,105,110,45,49,32,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,46,32,84,104,101,32,100,101,108,105,109,105,116,101,114,32,98,121,116,101,32,105,115,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,112,97,99,107,101,116,32,117,110,108,101,115,115,32,116,104,101,32,108,105,110,101,32,119,97,115,32,116,114,117,110,99,97,116,101,100,32,97,99,99,111,114,100,105,110,103,32,116,111,32,111,112,116,105,111,110,32>>,{code,[],[<<108,105,110,101,95,108,101,110,103,116,104>>]},<<46>>]}]},{dt,[],[{code,[],[<<97,115,110,49,32,124,32,99,100,114,32,124,32,115,117,110,114,109,32,124,32,102,99,103,105,32,124,32,116,112,107,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,104,101,97,100,101,114,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,115,116,114,105,112,112,101,100,32,111,102,102,46>>]},{p,[],[<<84,104,101,32,109,101,97,110,105,110,103,115,32,111,102,32,116,104,101,32,112,97,99,107,101,116,32,116,121,112,101,115,32,97,114,101,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<97,115,110,49>>]},<<32,45,32,65,83,78,46,49,32,66,69,82>>]},{dd,[],[]},{dt,[],[{code,[],[<<115,117,110,114,109>>]},<<32,45,32,83,117,110,39,115,32,82,80,67,32,101,110,99,111,100,105,110,103>>]},{dd,[],[]},{dt,[],[{code,[],[<<99,100,114>>]},<<32,45,32,67,79,82,66,65,32,40,71,73,79,80,32,49,46,49,41>>]},{dd,[],[]},{dt,[],[{code,[],[<<102,99,103,105>>]},<<32,45,32,70,97,115,116,32,67,71,73>>]},{dd,[],[]},{dt,[],[{code,[],[<<116,112,107,116>>]},<<32,45,32,84,80,75,84,32,102,111,114,109,97,116,32,91,82,70,67,49,48,48,54,93>>]},{dd,[],[]}]}]},{dt,[],[{code,[],[<<104,116,116,112,32,124,32,104,116,116,112,104,32,124,32,104,116,116,112,95,98,105,110,32,124,32,104,116,116,112,104,95,98,105,110>>]}]},{dd,[],[{p,[],[<<84,104,101,32,72,121,112,101,114,116,101,120,116,32,84,114,97,110,115,102,101,114,32,80,114,111,116,111,99,111,108,46,32,84,104,101,32,112,97,99,107,101,116,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,119,105,116,104,32,116,104,101,32,102,111,114,109,97,116,32,97,99,99,111,114,100,105,110,103,32,116,111,32>>,{code,[],[<<72,116,116,112,80,97,99,107,101,116>>]},<<32,100,101,115,99,114,105,98,101,100,32,101,97,114,108,105,101,114,46,32,65,32,112,97,99,107,101,116,32,105,115,32,101,105,116,104,101,114,32,97,32,114,101,113,117,101,115,116,44,32,97,32,114,101,115,112,111,110,115,101,44,32,97,32,104,101,97,100,101,114,44,32,111,114,32,97,110,32,101,110,100,32,111,102,32,104,101,97,100,101,114,32,109,97,114,107,46,32,73,110,118,97,108,105,100,32,108,105,110,101,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,97,115,32>>,{code,[],[<<72,116,116,112,69,114,114,111,114>>]},<<46>>]},{p,[],[<<82,101,99,111,103,110,105,122,101,100,32,114,101,113,117,101,115,116,32,109,101,116,104,111,100,115,32,97,110,100,32,104,101,97,100,101,114,32,102,105,101,108,100,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,97,115,32,97,116,111,109,115,46,32,79,116,104,101,114,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,97,115,32,115,116,114,105,110,103,115,46,32,83,116,114,105,110,103,115,32,111,102,32,117,110,114,101,99,111,103,110,105,122,101,100,32,104,101,97,100,101,114,32,102,105,101,108,100,115,32,97,114,101,32,102,111,114,109,97,116,116,101,100,32,119,105,116,104,32,111,110,108,121,32,99,97,112,105,116,97,108,32,108,101,116,116,101,114,115,32,102,105,114,115,116,32,97,110,100,32,97,102,116,101,114,32,104,121,112,104,101,110,32,99,104,97,114,97,99,116,101,114,115,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<34,83,101,99,45,87,101,98,115,111,99,107,101,116,45,75,101,121,34>>]},<<46,32,72,101,97,100,101,114,32,102,105,101,108,100,32,110,97,109,101,115,32,97,114,101,32,97,108,115,111,32,114,101,116,117,114,110,101,100,32,105,110,32>>,{code,[],[<<85,110,109,111,100,105,102,105,101,100,70,105,101,108,100>>]},<<32,97,115,32,115,116,114,105,110,103,115,44,32,119,105,116,104,111,117,116,32,97,110,121,32,99,111,110,118,101,114,115,105,111,110,32,111,114,32,102,111,114,109,97,116,116,105,110,103,46>>]},{p,[],[<<84,104,101,32,112,114,111,116,111,99,111,108,32,116,121,112,101,32>>,{code,[],[<<104,116,116,112>>]},<<32,105,115,32,111,110,108,121,32,116,111,32,98,101,32,117,115,101,100,32,102,111,114,32,116,104,101,32,102,105,114,115,116,32,108,105,110,101,32,119,104,101,110,32,97,110,32>>,{code,[],[<<72,116,116,112,82,101,113,117,101,115,116>>]},<<32,111,114,32,97,110,32>>,{code,[],[<<72,116,116,112,82,101,115,112,111,110,115,101>>]},<<32,105,115,32,101,120,112,101,99,116,101,100,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,97,108,108,115,32,97,114,101,32,116,111,32,117,115,101,32>>,{code,[],[<<104,116,116,112,104>>]},<<32,116,111,32,103,101,116,32>>,{code,[],[<<72,116,116,112,72,101,97,100,101,114>>]},<<115,32,117,110,116,105,108,32>>,{code,[],[<<104,116,116,112,95,101,111,104>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,119,104,105,99,104,32,109,97,114,107,115,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,104,101,97,100,101,114,115,32,97,110,100,32,116,104,101,32,98,101,103,105,110,110,105,110,103,32,111,102,32,97,110,121,32,102,111,108,108,111,119,105,110,103,32,109,101,115,115,97,103,101,32,98,111,100,121,46>>]},{p,[],[<<84,104,101,32,118,97,114,105,97,110,116,115,32>>,{code,[],[<<104,116,116,112,95,98,105,110>>]},<<32,97,110,100,32>>,{code,[],[<<104,116,116,112,104,95,98,105,110>>]},<<32,114,101,116,117,114,110,32,115,116,114,105,110,103,115,32,40>>,{code,[],[<<72,116,116,112,83,116,114,105,110,103>>]},<<41,32,97,115,32,98,105,110,97,114,105,101,115,32,105,110,115,116,101,97,100,32,111,102,32,108,105,115,116,115,46>>]}]}]},{p,[],[<<79,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,112,97,99,107,101,116,95,115,105,122,101,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,116,104,101,32,109,97,120,105,109,117,109,32,97,108,108,111,119,101,100,32,115,105,122,101,32,111,102,32,116,104,101,32,112,97,99,107,101,116,32,98,111,100,121,46,32,73,102,32,116,104,101,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,105,110,100,105,99,97,116,101,115,32,116,104,97,116,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,112,97,99,107,101,116,32,105,115,32,108,111,110,103,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,97,108,108,111,119,101,100,32,108,101,110,103,116,104,44,32,116,104,101,32,112,97,99,107,101,116,32,105,115,32,99,111,110,115,105,100,101,114,101,100,32,105,110,118,97,108,105,100,46,32,68,101,102,97,117,108,116,115,32,116,111,32,48,44,32,119,104,105,99,104,32,109,101,97,110,115,32,110,111,32,115,105,122,101,32,108,105,109,105,116,46>>]}]},{dt,[],[{code,[],[<<123,108,105,110,101,95,108,101,110,103,116,104,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{dd,[],[{p,[],[<<70,111,114,32,112,97,99,107,101,116,32,116,121,112,101,32>>,{code,[],[<<108,105,110,101>>]},<<44,32,108,105,110,101,115,32,108,111,110,103,101,114,32,116,104,97,110,32,116,104,101,32,105,110,100,105,99,97,116,101,100,32,108,101,110,103,116,104,32,97,114,101,32,116,114,117,110,99,97,116,101,100,46>>]},{p,[],[<<79,112,116,105,111,110,32>>,{code,[],[<<108,105,110,101,95,108,101,110,103,116,104>>]},<<32,97,108,115,111,32,97,112,112,108,105,101,115,32,116,111,32>>,{code,[],[<<104,116,116,112,42>>]},<<32,112,97,99,107,101,116,32,116,121,112,101,115,32,97,115,32,97,110,32,97,108,105,97,115,32,102,111,114,32,111,112,116,105,111,110,32>>,{code,[],[<<112,97,99,107,101,116,95,115,105,122,101>>]},<<32,105,102,32>>,{code,[],[<<112,97,99,107,101,116,95,115,105,122,101>>]},<<32,105,116,115,101,108,102,32,105,115,32,110,111,116,32,115,101,116,46,32,84,104,105,115,32,117,115,101,32,105,115,32,111,110,108,121,32,105,110,116,101,110,100,101,100,32,102,111,114,32,98,97,99,107,119,97,114,100,32,99,111,109,112,97,116,105,98,105,108,105,116,121,46>>]}]},{dt,[],[{code,[],[<<123,108,105,110,101,95,100,101,108,105,109,105,116,101,114,44,32,48,32,61,60,32,98,121,116,101,40,41,32,61,60,32,50,53,53,125>>]}]},{dd,[],[{p,[],[<<70,111,114,32,112,97,99,107,101,116,32,116,121,112,101,32>>,{code,[],[<<108,105,110,101>>]},<<44,32,115,101,116,115,32,116,104,101,32,100,101,108,105,109,105,116,105,110,103,32,98,121,116,101,46,32,68,101,102,97,117,108,116,32,105,115,32,116,104,101,32,108,97,116,105,110,45,49,32,99,104,97,114,97,99,116,101,114,32>>,{code,[],[<<36,92,110>>]},<<46>>]}]}]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,100,101,99,111,100,101,95,112,97,99,107,101,116,40,49,44,60,60,51,44,34,97,98,99,100,34,62,62,44,91,93,41,46,10,123,111,107,44,60,60,34,97,98,99,34,62,62,44,60,60,34,100,34,62,62,125,10,62,32,101,114,108,97,110,103,58,100,101,99,111,100,101,95,112,97,99,107,101,116,40,49,44,60,60,53,44,34,97,98,99,100,34,62,62,44,91,93,41,46,10,123,109,111,114,101,44,54,125>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,53,48,55>>,signature => [{attribute,{694,2},spec,{{erlang,decode_packet,3},[{type,{694,27},bounded_fun,[{type,{694,27},'fun',[{type,{694,27},product,[{var,{694,28},'Type'},{var,{694,34},'Bin'},{var,{694,39},'Options'}]},{type,{695,35},union,[{type,{695,35},tuple,[{atom,{695,36},ok},{var,{695,40},'Packet'},{var,{695,48},'Rest'}]},{type,{696,35},tuple,[{atom,{696,36},more},{var,{696,42},'Length'}]},{type,{697,35},tuple,[{atom,{697,36},error},{var,{697,43},'Reason'}]}]}]},[{type,{698,7},constraint,[{atom,{698,7},is_subtype},[{var,{698,7},'Type'},{type,{698,15},union,[{atom,{698,15},raw},{integer,{698,23},0},{integer,{698,27},1},{integer,{698,31},2},{integer,{698,35},4},{atom,{698,39},asn1},{atom,{698,48},cdr},{atom,{698,56},sunrm},{atom,{698,66},fcgi},{atom,{699,15},tpkt},{atom,{699,24},line},{atom,{699,33},http},{atom,{699,42},http_bin},{atom,{699,55},httph},{atom,{699,65},httph_bin}]}]]},{type,{700,7},constraint,[{atom,{700,7},is_subtype},[{var,{700,7},'Bin'},{type,{700,14},binary,[]}]]},{type,{701,7},constraint,[{atom,{701,7},is_subtype},[{var,{701,7},'Options'},{type,{701,18},list,[{var,{701,19},'Opt'}]}]]},{type,{702,7},constraint,[{atom,{702,7},is_subtype},[{var,{702,7},'Opt'},{type,{702,14},union,[{type,{702,14},tuple,[{atom,{702,15},packet_size},{type,{702,28},non_neg_integer,[]}]},{type,{703,14},tuple,[{atom,{703,15},line_length},{type,{703,28},non_neg_integer,[]}]}]}]]},{type,{704,7},constraint,[{atom,{704,7},is_subtype},[{var,{704,7},'Packet'},{type,{704,17},union,[{type,{704,17},binary,[]},{var,{704,28},'HttpPacket'}]}]]},{type,{705,7},constraint,[{atom,{705,7},is_subtype},[{var,{705,7},'Rest'},{type,{705,15},binary,[]}]]},{type,{706,7},constraint,[{atom,{706,7},is_subtype},[{var,{706,7},'Length'},{type,{706,17},union,[{type,{706,17},non_neg_integer,[]},{atom,{706,37},undefined}]}]]},{type,{707,7},constraint,[{atom,{707,7},is_subtype},[{var,{707,7},'Reason'},{type,{707,17},term,[]}]]},{type,{708,7},constraint,[{atom,{708,7},is_subtype},[{var,{708,7},'HttpPacket'},{type,{708,21},union,[{var,{708,21},'HttpRequest'},{var,{709,21},'HttpResponse'},{var,{710,21},'HttpHeader'},{atom,{711,21},http_eoh},{var,{712,21},'HttpError'}]}]]},{type,{713,7},constraint,[{atom,{713,7},is_subtype},[{var,{713,7},'HttpRequest'},{type,{713,22},tuple,[{atom,{713,23},http_request},{var,{713,39},'HttpMethod'},{var,{713,51},'HttpUri'},{var,{713,60},'HttpVersion'}]}]]},{type,{714,7},constraint,[{atom,{714,7},is_subtype},[{var,{714,7},'HttpResponse'},{type,{714,23},tuple,[{atom,{714,24},http_response},{var,{714,41},'HttpVersion'},{type,{714,54},integer,[]},{var,{714,65},'HttpString'}]}]]},{type,{715,7},constraint,[{atom,{715,7},is_subtype},[{var,{715,7},'HttpHeader'},{type,{715,21},tuple,[{atom,{715,22},http_header},{type,{716,22},integer,[]},{var,{717,22},'HttpField'},{ann_type,{718,22},[{var,{718,22},'UnmodifiedField'},{var,{718,41},'HttpString'}]},{ann_type,{719,22},[{var,{719,22},'Value'},{var,{719,31},'HttpString'}]}]}]]},{type,{720,7},constraint,[{atom,{720,7},is_subtype},[{var,{720,7},'HttpError'},{type,{720,20},tuple,[{atom,{720,21},http_error},{var,{720,35},'HttpString'}]}]]},{type,{721,7},constraint,[{atom,{721,7},is_subtype},[{var,{721,7},'HttpMethod'},{type,{721,21},union,[{atom,{721,21},'OPTIONS'},{atom,{721,33},'GET'},{atom,{721,41},'HEAD'},{atom,{721,50},'POST'},{atom,{721,59},'PUT'},{atom,{721,67},'DELETE'},{atom,{722,21},'TRACE'},{var,{722,31},'HttpString'}]}]]},{type,{723,7},constraint,[{atom,{723,7},is_subtype},[{var,{723,7},'HttpUri'},{type,{723,18},union,[{atom,{723,18},'*'},{type,{724,18},tuple,[{atom,{724,20},absoluteURI},{type,{725,20},union,[{atom,{725,20},http},{atom,{725,29},https}]},{ann_type,{726,20},[{var,{726,20},'Host'},{var,{726,28},'HttpString'}]},{ann_type,{727,20},[{var,{727,20},'Port'},{type,{727,28},union,[{remote_type,{727,28},[{atom,{727,28},inet},{atom,{727,33},port_number},[]]},{atom,{727,49},undefined}]}]},{ann_type,{728,20},[{var,{728,20},'Path'},{var,{728,28},'HttpString'}]}]},{type,{729,18},tuple,[{atom,{729,19},scheme},{ann_type,{729,29},[{var,{729,29},'Scheme'},{var,{729,39},'HttpString'}]},{var,{729,51},'HttpString'}]},{type,{730,18},tuple,[{atom,{730,19},abs_path},{var,{730,31},'HttpString'}]},{var,{731,18},'HttpString'}]}]]},{type,{732,7},constraint,[{atom,{732,7},is_subtype},[{var,{732,7},'HttpVersion'},{type,{732,22},tuple,[{ann_type,{732,23},[{var,{732,23},'Major'},{type,{732,32},non_neg_integer,[]}]},{ann_type,{732,51},[{var,{732,51},'Minor'},{type,{732,60},non_neg_integer,[]}]}]}]]},{type,{733,7},constraint,[{atom,{733,7},is_subtype},[{var,{733,7},'HttpField'},{type,{733,20},union,[{atom,{733,20},'Cache-Control'},{atom,{734,20},'Connection'},{atom,{735,20},'Date'},{atom,{736,20},'Pragma'},{atom,{737,20},'Transfer-Encoding'},{atom,{738,20},'Upgrade'},{atom,{739,20},'Via'},{atom,{740,20},'Accept'},{atom,{741,20},'Accept-Charset'},{atom,{742,20},'Accept-Encoding'},{atom,{743,20},'Accept-Language'},{atom,{744,20},'Authorization'},{atom,{745,20},'From'},{atom,{746,20},'Host'},{atom,{747,20},'If-Modified-Since'},{atom,{748,20},'If-Match'},{atom,{749,20},'If-None-Match'},{atom,{750,20},'If-Range'},{atom,{751,20},'If-Unmodified-Since'},{atom,{752,20},'Max-Forwards'},{atom,{753,20},'Proxy-Authorization'},{atom,{754,20},'Range'},{atom,{755,20},'Referer'},{atom,{756,20},'User-Agent'},{atom,{757,20},'Age'},{atom,{758,20},'Location'},{atom,{759,20},'Proxy-Authenticate'},{atom,{760,20},'Public'},{atom,{761,20},'Retry-After'},{atom,{762,20},'Server'},{atom,{763,20},'Vary'},{atom,{764,20},'Warning'},{atom,{765,19},'Www-Authenticate'},{atom,{766,20},'Allow'},{atom,{767,20},'Content-Base'},{atom,{768,20},'Content-Encoding'},{atom,{769,20},'Content-Language'},{atom,{770,20},'Content-Length'},{atom,{771,20},'Content-Location'},{atom,{772,20},'Content-Md5'},{atom,{773,20},'Content-Range'},{atom,{774,20},'Content-Type'},{atom,{775,20},'Etag'},{atom,{776,20},'Expires'},{atom,{777,20},'Last-Modified'},{atom,{778,20},'Accept-Ranges'},{atom,{779,20},'Set-Cookie'},{atom,{780,20},'Set-Cookie2'},{atom,{781,20},'X-Forwarded-For'},{atom,{782,20},'Cookie'},{atom,{783,20},'Keep-Alive'},{atom,{784,20},'Proxy-Connection'},{var,{785,20},'HttpString'}]}]]},{type,{786,7},constraint,[{atom,{786,7},is_subtype},[{var,{786,7},'HttpString'},{type,{786,21},union,[{type,{786,21},string,[]},{type,{786,32},binary,[]}]}]]}]]}]}}]}},{{function,delete_element,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,791}],[<<100,101,108,101,116,101,95,101,108,101,109,101,110,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,110,101,119,32,116,117,112,108,101,32,119,105,116,104,32,101,108,101,109,101,110,116,32,97,116,32>>,{code,[],[<<73,110,100,101,120>>]},<<32,114,101,109,111,118,101,100,32,102,114,111,109,32,116,117,112,108,101,32>>,{code,[],[<<84,117,112,108,101,49>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,100,101,108,101,116,101,95,101,108,101,109,101,110,116,40,50,44,32,123,111,110,101,44,32,116,119,111,44,32,116,104,114,101,101,125,41,46,10,123,111,110,101,44,116,104,114,101,101,125>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,54,49,57>>,signature => [{attribute,{791,2},spec,{{erlang,delete_element,2},[{type,{791,28},bounded_fun,[{type,{791,28},'fun',[{type,{791,28},product,[{var,{791,29},'Index'},{var,{791,36},'Tuple1'}]},{var,{791,47},'Tuple2'}]},[{type,{792,7},constraint,[{atom,{792,7},is_subtype},[{var,{792,7},'Index'},{type,{792,17},pos_integer,[]}]]},{type,{793,7},constraint,[{atom,{793,7},is_subtype},[{var,{793,7},'Tuple1'},{type,{793,17},tuple,any}]]},{type,{794,7},constraint,[{atom,{794,7},is_subtype},[{var,{794,7},'Tuple2'},{type,{794,17},tuple,any}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,delete_module,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,799}],[<<100,101,108,101,116,101,95,109,111,100,117,108,101,47,49>>],#{<<101,110>> => [{p,[],[<<77,97,107,101,115,32,116,104,101,32,99,117,114,114,101,110,116,32,99,111,100,101,32,102,111,114,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,98,101,99,111,109,101,32,111,108,100,32,99,111,100,101,32,97,110,100,32,100,101,108,101,116,101,115,32,97,108,108,32,114,101,102,101,114,101,110,99,101,115,32,102,111,114,32,116,104,105,115,32,109,111,100,117,108,101,32,102,114,111,109,32,116,104,101,32,101,120,112,111,114,116,32,116,97,98,108,101,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,109,111,100,117,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<116,114,117,101>>]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,116,104,101,32,99,111,100,101,32,115,101,114,118,101,114,32,40,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,100,101,40,51,41>>]}]},<<41,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,101,108,115,101,119,104,101,114,101,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,114,101,32,97,108,114,101,97,100,121,32,105,115,32,97,110,32,111,108,100,32,118,101,114,115,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,54,51,50>>,signature => [{attribute,{799,2},spec,{{delete_module,1},[{type,{799,20},bounded_fun,[{type,{799,20},'fun',[{type,{799,20},product,[{var,{799,21},'Module'}]},{type,{799,32},union,[{atom,{799,32},true},{atom,{799,39},undefined}]}]},[{type,{800,7},constraint,[{atom,{800,7},is_subtype},[{var,{800,7},'Module'},{type,{800,17},module,[]}]]}]]}]}}]}},{{function,demonitor,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,805}],[<<100,101,109,111,110,105,116,111,114,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<77,111,110,105,116,111,114,82,101,102>>]},<<32,105,115,32,97,32,114,101,102,101,114,101,110,99,101,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,111,98,116,97,105,110,101,100,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,47,50>>]}]},<<44,32,116,104,105,115,32,109,111,110,105,116,111,114,105,110,103,32,105,115,32,116,117,114,110,101,100,32,111,102,102,46,32,73,102,32,116,104,101,32,109,111,110,105,116,111,114,105,110,103,32,105,115,32,97,108,114,101,97,100,121,32,116,117,114,110,101,100,32,111,102,102,44,32,110,111,116,104,105,110,103,32,104,97,112,112,101,110,115,46>>]},{p,[],[<<79,110,99,101,32>>,{code,[],[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,41>>]},<<32,104,97,115,32,114,101,116,117,114,110,101,100,44,32,105,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,104,97,116,32,110,111,32>>,{code,[],[<<123,39,68,79,87,78,39,44,32,77,111,110,105,116,111,114,82,101,102,44,32,95,44,32,95,44,32,95,125>>]},<<32,109,101,115,115,97,103,101,44,32,98,101,99,97,117,115,101,32,111,102,32,116,104,101,32,109,111,110,105,116,111,114,44,32,119,105,108,108,32,98,101,32,112,108,97,99,101,100,32,105,110,32,116,104,101,32,99,97,108,108,101,114,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46,32,72,111,119,101,118,101,114,44,32,97,32>>,{code,[],[<<123,39,68,79,87,78,39,44,32,77,111,110,105,116,111,114,82,101,102,44,32,95,44,32,95,44,32,95,125>>]},<<32,109,101,115,115,97,103,101,32,99,97,110,32,104,97,118,101,32,98,101,101,110,32,112,108,97,99,101,100,32,105,110,32,116,104,101,32,99,97,108,108,101,114,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,98,101,102,111,114,101,32,116,104,101,32,99,97,108,108,46,32,73,116,32,105,115,32,116,104,101,114,101,102,111,114,101,32,117,115,117,97,108,108,121,32,97,100,118,105,115,97,98,108,101,32,116,111,32,114,101,109,111,118,101,32,115,117,99,104,32,97,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,32,102,114,111,109,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,97,102,116,101,114,32,109,111,110,105,116,111,114,105,110,103,32,104,97,115,32,98,101,101,110,32,115,116,111,112,112,101,100,46,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,101,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,44,32,91,102,108,117,115,104,93,41>>]}]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,115,116,101,97,100,32,111,102,32>>,{code,[],[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,41>>]},<<32,105,102,32,116,104,105,115,32,99,108,101,97,110,117,112,32,105,115,32,119,97,110,116,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<66,101,102,111,114,101,32,69,114,108,97,110,103,47,79,84,80,32,82,49,49,66,32,40,69,82,84,83,32,53,46,53,41,32>>,{code,[],[<<100,101,109,111,110,105,116,111,114,47,49>>]},<<32,98,101,104,97,118,101,100,32,99,111,109,112,108,101,116,101,108,121,32,97,115,121,110,99,104,114,111,110,111,117,115,108,121,44,32,116,104,97,116,32,105,115,44,32,116,104,101,32,109,111,110,105,116,111,114,32,119,97,115,32,97,99,116,105,118,101,32,117,110,116,105,108,32,116,104,101,32,34,100,101,109,111,110,105,116,111,114,32,115,105,103,110,97,108,34,32,114,101,97,99,104,101,100,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,101,110,116,105,116,121,46,32,84,104,105,115,32,104,97,100,32,111,110,101,32,117,110,100,101,115,105,114,97,98,108,101,32,101,102,102,101,99,116,46,32,89,111,117,32,99,111,117,108,100,32,110,101,118,101,114,32,107,110,111,119,32,119,104,101,110,32,121,111,117,32,119,101,114,101,32,103,117,97,114,97,110,116,101,101,100,32>>,{em,[],[<<110,111,116>>]},<<32,116,111,32,114,101,99,101,105,118,101,32,97,32>>,{code,[],[<<68,79,87,78>>]},<<32,109,101,115,115,97,103,101,32,98,101,99,97,117,115,101,32,111,102,32,116,104,101,32,109,111,110,105,116,111,114,46>>]},{p,[],[<<84,104,101,32,99,117,114,114,101,110,116,32,98,101,104,97,118,105,111,114,32,99,97,110,32,98,101,32,118,105,101,119,101,100,32,97,115,32,116,119,111,32,99,111,109,98,105,110,101,100,32,111,112,101,114,97,116,105,111,110,115,58,32,97,115,121,110,99,104,114,111,110,111,117,115,108,121,32,115,101,110,100,32,97,32,34,100,101,109,111,110,105,116,111,114,32,115,105,103,110,97,108,34,32,116,111,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,101,110,116,105,116,121,32,97,110,100,32,105,103,110,111,114,101,32,97,110,121,32,102,117,116,117,114,101,32,114,101,115,117,108,116,115,32,111,102,32,116,104,101,32,109,111,110,105,116,111,114,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32,73,116,32,105,115,32,97,110,32,101,114,114,111,114,32,105,102,32>>,{code,[],[<<77,111,110,105,116,111,114,82,101,102>>]},<<32,114,101,102,101,114,115,32,116,111,32,97,32,109,111,110,105,116,111,114,105,110,103,32,115,116,97,114,116,101,100,32,98,121,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,46,32,78,111,116,32,97,108,108,32,115,117,99,104,32,99,97,115,101,115,32,97,114,101,32,99,104,101,97,112,32,116,111,32,99,104,101,99,107,46,32,73,102,32,99,104,101,99,107,105,110,103,32,105,115,32,99,104,101,97,112,44,32,116,104,101,32,99,97,108,108,32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,32,105,102,32>>,{code,[],[<<77,111,110,105,116,111,114,82,101,102>>]},<<32,105,115,32,97,32,114,101,109,111,116,101,32,114,101,102,101,114,101,110,99,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,54,53,48>>,signature => [{attribute,{805,2},spec,{{demonitor,1},[{type,{805,16},bounded_fun,[{type,{805,16},'fun',[{type,{805,16},product,[{var,{805,17},'MonitorRef'}]},{atom,{805,32},true}]},[{type,{806,7},constraint,[{atom,{806,7},is_subtype},[{var,{806,7},'MonitorRef'},{type,{806,21},reference,[]}]]}]]}]}}]}},{{function,demonitor,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,811}],[<<100,101,109,111,110,105,116,111,114,47,50>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,117,110,108,101,115,115,32>>,{code,[],[<<105,110,102,111>>]},<<32,105,115,32,112,97,114,116,32,111,102,32>>,{code,[],[<<79,112,116,105,111,110,76,105,115,116>>]},<<46>>]},{p,[],[{code,[],[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,44,32,91,93,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,101,109,111,110,105,116,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,41>>]}]},<<46>>]},{p,[],[{code,[],[<<79,112,116,105,111,110>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<102,108,117,115,104>>]}]},{dd,[],[{p,[],[<<82,101,109,111,118,101,115,32,40,111,110,101,41,32>>,{code,[],[<<123,95,44,32,77,111,110,105,116,111,114,82,101,102,44,32,95,44,32,95,44,32,95,125>>]},<<32,109,101,115,115,97,103,101,44,32,105,102,32,116,104,101,114,101,32,105,115,32,111,110,101,44,32,102,114,111,109,32,116,104,101,32,99,97,108,108,101,114,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,97,102,116,101,114,32,109,111,110,105,116,111,114,105,110,103,32,104,97,115,32,98,101,101,110,32,115,116,111,112,112,101,100,46>>]},{p,[],[<<67,97,108,108,105,110,103,32>>,{code,[],[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,44,32,91,102,108,117,115,104,93,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,116,104,101,32,102,111,108,108,111,119,105,110,103,44,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,41,44,10,114,101,99,101,105,118,101,10,32,32,32,32,123,95,44,32,77,111,110,105,116,111,114,82,101,102,44,32,95,44,32,95,44,32,95,125,32,45,62,10,32,32,32,32,32,32,32,32,116,114,117,101,10,97,102,116,101,114,32,48,32,45,62,10,32,32,32,32,32,32,32,32,116,114,117,101,10,101,110,100>>]}]}]},{dt,[],[{code,[],[<<105,110,102,111>>]}]},{dd,[],[{p,[],[<<84,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,119,97,115,32,102,111,117,110,100,32,97,110,100,32,114,101,109,111,118,101,100,46,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32,110,111,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,105,115,32,109,111,110,105,116,111,114,32,104,97,115,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,32,97,110,100,32,119,105,108,108,32,110,111,116,32,98,101,32,100,101,108,105,118,101,114,101,100,46>>]}]},{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,119,97,115,32,110,111,116,32,102,111,117,110,100,32,97,110,100,32,99,111,117,108,100,32,110,111,116,32,98,101,32,114,101,109,111,118,101,100,46,32,84,104,105,115,32,112,114,111,98,97,98,108,121,32,98,101,99,97,117,115,101,32,115,111,109,101,111,110,101,32,97,108,114,101,97,100,121,32,104,97,115,32,112,108,97,99,101,100,32,97,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,105,115,32,109,111,110,105,116,111,114,32,105,110,32,116,104,101,32,99,97,108,108,101,114,32,109,101,115,115,97,103,101,32,113,117,101,117,101,46>>]}]}]},{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<105,110,102,111>>]},<<32,105,115,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<102,108,117,115,104>>]},<<44,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,102,32,97,32,102,108,117,115,104,32,119,97,115,32,110,101,101,100,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<116,114,117,101>>]},<<46>>]}]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<77,111,114,101,32,111,112,116,105,111,110,115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,116,105,111,110,76,105,115,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,105,115,116,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,111,112,116,105,111,110,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<84,104,101,32,115,97,109,101,32,102,97,105,108,117,114,101,32,97,115,32,102,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,101,109,111,110,105,116,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<100,101,109,111,110,105,116,111,114,47,49>>]}]},<<46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,54,57,50>>,signature => [{attribute,{811,2},spec,{{demonitor,2},[{type,{811,16},bounded_fun,[{type,{811,16},'fun',[{type,{811,16},product,[{var,{811,17},'MonitorRef'},{var,{811,29},'OptionList'}]},{type,{811,44},boolean,[]}]},[{type,{812,7},constraint,[{atom,{812,7},is_subtype},[{var,{812,7},'MonitorRef'},{type,{812,21},reference,[]}]]},{type,{813,7},constraint,[{atom,{813,7},is_subtype},[{var,{813,7},'OptionList'},{type,{813,21},list,[{var,{813,22},'Option'}]}]]},{type,{814,7},constraint,[{atom,{814,7},is_subtype},[{var,{814,7},'Option'},{type,{814,17},union,[{atom,{814,17},flush},{atom,{814,25},info}]}]]}]]}]}}]}},{{function,disconnect_node,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3449}],[<<100,105,115,99,111,110,110,101,99,116,95,110,111,100,101,47,49>>],#{<<101,110>> => [{p,[],[<<70,111,114,99,101,115,32,116,104,101,32,100,105,115,99,111,110,110,101,99,116,105,111,110,32,111,102,32,97,32,110,111,100,101,46,32,84,104,105,115,32,97,112,112,101,97,114,115,32,116,111,32,116,104,101,32,110,111,100,101,32>>,{code,[],[<<78,111,100,101>>]},<<32,97,115,32,105,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,104,97,115,32,99,114,97,115,104,101,100,46,32,84,104,105,115,32,66,73,70,32,105,115,32,109,97,105,110,108,121,32,117,115,101,100,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,110,101,116,119,111,114,107,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,112,114,111,116,111,99,111,108,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,100,105,115,99,111,110,110,101,99,116,105,111,110,32,115,117,99,99,101,101,100,115,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46,32,73,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,44,32>>,{code,[],[<<105,103,110,111,114,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,109,97,121,32,114,101,116,117,114,110,32,98,101,102,111,114,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,95,110,111,100,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,111,100,101,100,111,119,110>>]},<<32,109,101,115,115,97,103,101,115>>]},<<32,104,97,118,101,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,55,54,48>>,signature => [{attribute,{3449,2},spec,{{disconnect_node,1},[{type,{3449,22},bounded_fun,[{type,{3449,22},'fun',[{type,{3449,22},product,[{var,{3449,23},'Node'}]},{type,{3449,32},union,[{type,{3449,32},boolean,[]},{atom,{3449,44},ignored}]}]},[{type,{3450,7},constraint,[{atom,{3450,7},is_subtype},[{var,{3450,7},'Node'},{type,{3450,15},node,[]}]]}]]}]}}]}},{{function,display,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,838}],[<<100,105,115,112,108,97,121,47,49>>],#{<<101,110>> => [{p,[],[<<80,114,105,110,116,115,32,97,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,111,110,32,116,104,101,32,115,116,97,110,100,97,114,100,32,111,117,116,112,117,116,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,111,110,108,121,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,55,55,57>>,signature => [{attribute,{838,2},spec,{{erlang,display,1},[{type,{838,21},bounded_fun,[{type,{838,21},'fun',[{type,{838,21},product,[{var,{838,22},'Term'}]},{atom,{838,31},true}]},[{type,{839,7},constraint,[{atom,{839,7},is_subtype},[{var,{839,7},'Term'},{type,{839,15},term,[]}]]}]]}]}}]}},{{function,dist_ctrl_get_data,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3733}],[<<100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,47,49>>],#{<<101,110>> => [{p,[],[<<71,101,116,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,100,97,116,97,32,102,114,111,109,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,116,104,97,116,32,105,115,32,116,111,32,98,101,32,112,97,115,115,101,100,32,116,111,32,116,104,101,32,114,101,109,111,116,101,32,110,111,100,101,46,32,84,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<46,32,73,102,32,110,111,32,100,97,116,97,32,105,115,32,97,118,97,105,108,97,98,108,101,44,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<110,111,110,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,79,110,101,32,99,97,110,32,114,101,113,117,101,115,116,32,116,111,32,98,101,32,105,110,102,111,114,109,101,100,32,98,121,32,97,32,109,101,115,115,97,103,101,32,119,104,101,110,32,109,111,114,101,32,100,97,116,97,32,105,115,32,97,118,97,105,108,97,98,108,101,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,95,110,111,116,105,102,105,99,97,116,105,111,110,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,95,110,111,116,105,102,105,99,97,116,105,111,110,40,68,72,97,110,100,108,101,41>>]}]},<<46>>]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<103,101,116,95,115,105,122,101>>]},<<32,111,112,116,105,111,110,32,99,111,110,102,105,103,117,114,101,100,32,111,110,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32>>,{code,[],[<<103,101,116,95,115,105,122,101>>]},<<32,111,112,116,105,111,110,32,102,111,114,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,105,115,116,95,99,116,114,108,95,115,101,116,95,111,112,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,115,101,116,95,111,112,116,47,51>>]}]},<<32,102,117,110,99,116,105,111,110,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,110,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,103,105,115,116,101,114,101,100,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46>>]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,119,104,101,110,32,105,109,112,108,101,109,101,110,116,105,110,103,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,97,114,114,105,101,114,32,117,115,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,115,46,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,32,99,97,108,108,98,97,99,107,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,104,115,95,100,97,116,97,95,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>]}]},<<46,32,77,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,100,105,115,116,114,105,98,117,116,105,111,110,95,109,111,100,117,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,32,226,158,156,32,72,111,119,32,116,111,32,105,109,112,108,101,109,101,110,116,32,97,110,32,65,108,116,101,114,110,97,116,105,118,101,32,67,97,114,114,105,101,114,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,68,105,115,116,114,105,98,117,116,105,111,110,32,226,158,156,32,68,105,115,116,114,105,98,117,116,105,111,110,32,77,111,100,117,108,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,55,57,49>>,signature => [{attribute,{3733,2},spec,{{erlang,dist_ctrl_get_data,1},[{type,{3733,32},bounded_fun,[{type,{3733,32},'fun',[{type,{3733,32},product,[{var,{3733,33},'DHandle'}]},{type,{3733,45},union,[{type,{3733,45},tuple,[{var,{3733,46},'Size'},{var,{3733,52},'Data'}]},{var,{3733,60},'Data'},{atom,{3733,67},none}]}]},[{type,{3734,7},constraint,[{atom,{3734,7},is_subtype},[{var,{3734,7},'Size'},{type,{3734,15},non_neg_integer,[]}]]},{type,{3735,7},constraint,[{atom,{3735,7},is_subtype},[{var,{3735,7},'DHandle'},{user_type,{3735,18},dist_handle,[]}]]},{type,{3736,7},constraint,[{atom,{3736,7},is_subtype},[{var,{3736,7},'Data'},{user_type,{3736,15},iovec,[]}]]}]]}]}}],since => <<79,84,80,32,50,49,46,48>>}},{{function,dist_ctrl_get_opt,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3755}],[<<100,105,115,116,95,99,116,114,108,95,103,101,116,95,111,112,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<103,101,116,95,115,105,122,101>>]},<<32,111,112,116,105,111,110,32,111,110,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32>>,{code,[],[<<103,101,116,95,115,105,122,101>>]},<<32,111,112,116,105,111,110,32,102,111,114,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,105,115,116,95,99,116,114,108,95,115,101,116,95,111,112,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,115,101,116,95,111,112,116,47,51>>]}]},<<32,102,117,110,99,116,105,111,110,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,110,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,103,105,115,116,101,114,101,100,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46>>]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,119,104,101,110,32,105,109,112,108,101,109,101,110,116,105,110,103,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,97,114,114,105,101,114,32,117,115,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,115,46,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,32,99,97,108,108,98,97,99,107,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,104,115,95,100,97,116,97,95,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>]}]},<<46,32,77,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,100,105,115,116,114,105,98,117,116,105,111,110,95,109,111,100,117,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,32,226,158,156,32,72,111,119,32,116,111,32,105,109,112,108,101,109,101,110,116,32,97,110,32,65,108,116,101,114,110,97,116,105,118,101,32,67,97,114,114,105,101,114,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,68,105,115,116,114,105,98,117,116,105,111,110,32,226,158,156,32,68,105,115,116,114,105,98,117,116,105,111,110,32,77,111,100,117,108,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,56,51,50>>,signature => [{attribute,{3755,2},spec,{{erlang,dist_ctrl_get_opt,2},[{type,{3755,31},bounded_fun,[{type,{3755,31},'fun',[{type,{3755,31},product,[{var,{3755,32},'DHandle'},{atom,{3755,41},get_size}]},{var,{3755,56},'Value'}]},[{type,{3756,7},constraint,[{atom,{3756,7},is_subtype},[{var,{3756,7},'DHandle'},{user_type,{3756,18},dist_handle,[]}]]},{type,{3757,7},constraint,[{atom,{3757,7},is_subtype},[{var,{3757,7},'Value'},{type,{3757,16},boolean,[]}]]}]]}]}}],since => <<79,84,80,32,50,50,46,48>>}},{{function,dist_ctrl_get_data_notification,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3741}],[<<100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,95,110,111,116,105,102,105,99,97,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,113,117,101,115,116,32,110,111,116,105,102,105,99,97,116,105,111,110,32,119,104,101,110,32,109,111,114,101,32,100,97,116,97,32,105,115,32,97,118,97,105,108,97,98,108,101,32,116,111,32,102,101,116,99,104,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,40,68,72,97,110,100,108,101,41>>]}]},<<32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<46,32,87,104,101,110,32,109,111,114,101,32,100,97,116,97,32,105,115,32,112,114,101,115,101,110,116,44,32,116,104,101,32,99,97,108,108,101,114,32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,104,101,32,109,101,115,115,97,103,101,32>>,{code,[],[<<100,105,115,116,95,100,97,116,97>>]},<<46,32,79,110,99,101,32,97,32>>,{code,[],[<<100,105,115,116,95,100,97,116,97>>]},<<32,109,101,115,115,97,103,101,115,32,104,97,115,32,98,101,101,110,32,115,101,110,116,44,32,110,111,32,109,111,114,101,32>>,{code,[],[<<100,105,115,116,95,100,97,116,97>>]},<<32,109,101,115,115,97,103,101,115,32,119,105,108,108,32,98,101,32,115,101,110,116,32,117,110,116,105,108,32,116,104,101,32>>,{code,[],[<<100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,95,110,111,116,105,102,105,99,97,116,105,111,110,47,49>>]},<<32,102,117,110,99,116,105,111,110,32,104,97,115,32,98,101,101,110,32,99,97,108,108,101,100,32,97,103,97,105,110,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,110,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,103,105,115,116,101,114,101,100,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46>>]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,119,104,101,110,32,105,109,112,108,101,109,101,110,116,105,110,103,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,97,114,114,105,101,114,32,117,115,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,115,46,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,32,99,97,108,108,98,97,99,107,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,104,115,95,100,97,116,97,95,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>]}]},<<46,32,77,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,100,105,115,116,114,105,98,117,116,105,111,110,95,109,111,100,117,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,32,226,158,156,32,72,111,119,32,116,111,32,105,109,112,108,101,109,101,110,116,32,97,110,32,65,108,116,101,114,110,97,116,105,118,101,32,67,97,114,114,105,101,114,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,68,105,115,116,114,105,98,117,116,105,111,110,32,226,158,156,32,68,105,115,116,114,105,98,117,116,105,111,110,32,77,111,100,117,108,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,56,54,49>>,signature => [{attribute,{3741,2},spec,{{erlang,dist_ctrl_get_data_notification,1},[{type,{3741,45},bounded_fun,[{type,{3741,45},'fun',[{type,{3741,45},product,[{var,{3741,46},'DHandle'}]},{atom,{3741,58},ok}]},[{type,{3742,7},constraint,[{atom,{3742,7},is_subtype},[{var,{3742,7},'DHandle'},{user_type,{3742,18},dist_handle,[]}]]}]]}]}}],since => <<79,84,80,32,50,49,46,48>>}},{{function,dist_ctrl_input_handler,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3719}],[<<100,105,115,116,95,99,116,114,108,95,105,110,112,117,116,95,104,97,110,100,108,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,103,105,115,116,101,114,32,97,110,32,97,108,116,101,114,110,97,116,101,32,105,110,112,117,116,32,104,97,110,100,108,101,114,32,112,114,111,99,101,115,115,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<46,32,79,110,99,101,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,104,97,115,32,98,101,101,110,32,99,97,108,108,101,100,44,32>>,{code,[],[<<73,110,112,117,116,72,97,110,100,108,101,114>>]},<<32,105,115,32,116,104,101,32,111,110,108,121,32,112,114,111,99,101,115,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,105,115,116,95,99,116,114,108,95,112,117,116,95,100,97,116,97,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,112,117,116,95,100,97,116,97,40,68,72,97,110,100,108,101,44,32,68,97,116,97,41>>]}]},<<32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,100,101,110,116,105,102,121,105,110,103,32,116,104,105,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,110,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,103,105,115,116,101,114,101,100,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46>>]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,119,104,101,110,32,105,109,112,108,101,109,101,110,116,105,110,103,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,97,114,114,105,101,114,32,117,115,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,115,46,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,32,99,97,108,108,98,97,99,107,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,104,115,95,100,97,116,97,95,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>]}]},<<46,32,77,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,100,105,115,116,114,105,98,117,116,105,111,110,95,109,111,100,117,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,32,226,158,156,32,72,111,119,32,116,111,32,105,109,112,108,101,109,101,110,116,32,97,110,32,65,108,116,101,114,110,97,116,105,118,101,32,67,97,114,114,105,101,114,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,68,105,115,116,114,105,98,117,116,105,111,110,32,226,158,156,32,68,105,115,116,114,105,98,117,116,105,111,110,32,77,111,100,117,108,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,56,57,55>>,signature => [{attribute,{3719,2},spec,{{erlang,dist_ctrl_input_handler,2},[{type,{3719,37},bounded_fun,[{type,{3719,37},'fun',[{type,{3719,37},product,[{var,{3719,38},'DHandle'},{var,{3719,47},'InputHandler'}]},{atom,{3719,64},ok}]},[{type,{3720,7},constraint,[{atom,{3720,7},is_subtype},[{var,{3720,7},'DHandle'},{user_type,{3720,18},dist_handle,[]}]]},{type,{3721,7},constraint,[{atom,{3721,7},is_subtype},[{var,{3721,7},'InputHandler'},{type,{3721,23},pid,[]}]]}]]}]}}],since => <<79,84,80,32,50,49,46,48>>}},{{function,dist_ctrl_put_data,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3726}],[<<100,105,115,116,95,99,116,114,108,95,112,117,116,95,100,97,116,97,47,50>>],#{<<101,110>> => [{p,[],[<<68,101,108,105,118,101,114,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,100,97,116,97,32,102,114,111,109,32,97,32,114,101,109,111,116,101,32,110,111,100,101,32,116,111,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,110,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,103,105,115,116,101,114,101,100,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,117,110,108,101,115,115,32,97,110,32,97,108,116,101,114,110,97,116,101,32,105,110,112,117,116,32,104,97,110,100,108,101,114,32,112,114,111,99,101,115,115,32,104,97,115,32,98,101,101,110,32,114,101,103,105,115,116,101,114,101,100,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,105,115,116,95,99,116,114,108,95,105,110,112,117,116,95,104,97,110,100,108,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,105,110,112,117,116,95,104,97,110,100,108,101,114,40,68,72,97,110,100,108,101,44,32,73,110,112,117,116,72,97,110,100,108,101,114,41>>]}]},<<46,32,73,102,32,97,110,32,97,108,116,101,114,110,97,116,101,32,105,110,112,117,116,32,104,97,110,100,108,101,114,32,104,97,115,32,98,101,101,110,32,114,101,103,105,115,116,101,114,101,100,44,32,111,110,108,121,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,105,110,112,117,116,32,104,97,110,100,108,101,114,32,112,114,111,99,101,115,115,32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46>>]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,119,104,101,110,32,105,109,112,108,101,109,101,110,116,105,110,103,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,97,114,114,105,101,114,32,117,115,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,115,46,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,32,99,97,108,108,98,97,99,107,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,104,115,95,100,97,116,97,95,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>]}]},<<46,32,77,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,100,105,115,116,114,105,98,117,116,105,111,110,95,109,111,100,117,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,32,226,158,156,32,72,111,119,32,116,111,32,105,109,112,108,101,109,101,110,116,32,97,110,32,65,108,116,101,114,110,97,116,105,118,101,32,67,97,114,114,105,101,114,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,68,105,115,116,114,105,98,117,116,105,111,110,32,226,158,156,32,68,105,115,116,114,105,98,117,116,105,111,110,32,77,111,100,117,108,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,57,51,48>>,signature => [{attribute,{3726,2},spec,{{erlang,dist_ctrl_put_data,2},[{type,{3726,32},bounded_fun,[{type,{3726,32},'fun',[{type,{3726,32},product,[{var,{3726,33},'DHandle'},{var,{3726,42},'Data'}]},{atom,{3726,51},ok}]},[{type,{3727,7},constraint,[{atom,{3727,7},is_subtype},[{var,{3727,7},'DHandle'},{user_type,{3727,18},dist_handle,[]}]]},{type,{3728,7},constraint,[{atom,{3728,7},is_subtype},[{var,{3728,7},'Data'},{type,{3728,15},iodata,[]}]]}]]}]}}],since => <<79,84,80,32,50,49,46,48>>}},{{function,dist_ctrl_set_opt,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3747}],[<<100,105,115,116,95,99,116,114,108,95,115,101,116,95,111,112,116,47,51>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<103,101,116,95,115,105,122,101>>]},<<32,111,112,116,105,111,110,32,111,110,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<46,32,84,104,105,115,32,111,112,116,105,111,110,32,99,111,110,116,114,111,108,115,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,111,102,32,99,97,108,108,115,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,40,68,72,97,110,100,108,101,41>>]},<<32,119,104,101,114,101,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,117,115,101,100,32,119,104,101,110,32,115,101,116,116,105,110,103,32,116,104,105,115,32,111,112,116,105,111,110,46,32,87,104,101,110,32,116,104,101,32>>,{code,[],[<<103,101,116,95,115,105,122,101>>]},<<32,111,112,116,105,111,110,32,105,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[<<97,110,100,32,116,104,101,114,101,32,97,114,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,44,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,40,68,72,97,110,100,108,101,41>>]},<<32,119,105,108,108,32,106,117,115,116,32,114,101,116,117,114,110,32>>,{code,[],[<<68,97,116,97>>]},<<32,116,111,32,112,97,115,115,32,111,118,101,114,32,116,104,101,32,99,104,97,110,110,101,108,46,32,84,104,105,115,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<103,101,116,95,115,105,122,101>>]},<<32,111,112,116,105,111,110,46>>]},{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[<<97,110,100,32,116,104,101,114,101,32,97,114,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,44,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,40,68,72,97,110,100,108,101,41>>]},<<32,119,105,108,108,32,114,101,116,117,114,110,32>>,{code,[],[<<68,97,116,97>>]},<<32,116,111,32,112,97,115,115,32,111,118,101,114,32,116,104,101,32,99,104,97,110,110,101,108,32,97,115,32,119,101,108,108,32,97,115,32,116,104,101,32>>,{code,[],[<<83,105,122,101>>]},<<32,111,102,32>>,{code,[],[<<68,97,116,97>>]},<<32,105,110,32,98,121,116,101,115,46,32,84,104,105,115,32,105,115,32,114,101,116,117,114,110,101,100,32,97,115,32,97,32,116,117,112,108,101,32,111,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,83,105,122,101,44,32,68,97,116,97,125>>]},<<46>>]}]},{p,[],[<<65,108,108,32,111,112,116,105,111,110,115,32,97,114,101,32,115,101,116,32,116,111,32,100,101,102,97,117,108,116,32,119,104,101,110,32,97,32,99,104,97,110,110,101,108,32,105,115,32,99,108,111,115,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,110,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,103,105,115,116,101,114,101,100,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46>>]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,119,104,101,110,32,105,109,112,108,101,109,101,110,116,105,110,103,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,97,114,114,105,101,114,32,117,115,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,115,46,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,32,99,97,108,108,98,97,99,107,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,104,115,95,100,97,116,97,95,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>]}]},<<46,32,77,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,100,105,115,116,114,105,98,117,116,105,111,110,95,109,111,100,117,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,32,226,158,156,32,72,111,119,32,116,111,32,105,109,112,108,101,109,101,110,116,32,97,110,32,65,108,116,101,114,110,97,116,105,118,101,32,67,97,114,114,105,101,114,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,68,105,115,116,114,105,98,117,116,105,111,110,32,226,158,156,32,68,105,115,116,114,105,98,117,116,105,111,110,32,77,111,100,117,108,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,57,54,51>>,signature => [{attribute,{3747,2},spec,{{erlang,dist_ctrl_set_opt,3},[{type,{3747,31},bounded_fun,[{type,{3747,31},'fun',[{type,{3747,31},product,[{var,{3747,32},'DHandle'},{atom,{3747,41},get_size},{var,{3747,53},'Value'}]},{var,{3747,63},'OldValue'}]},[{type,{3748,7},constraint,[{atom,{3748,7},is_subtype},[{var,{3748,7},'DHandle'},{user_type,{3748,18},dist_handle,[]}]]},{type,{3749,7},constraint,[{atom,{3749,7},is_subtype},[{var,{3749,7},'Value'},{type,{3749,16},boolean,[]}]]},{type,{3750,7},constraint,[{atom,{3750,7},is_subtype},[{var,{3750,7},'OldValue'},{type,{3750,19},boolean,[]}]]}]]}]}}],since => <<79,84,80,32,50,50,46,48>>}},{{function,element,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2179}],[<<101,108,101,109,101,110,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{code,[],[<<78>>]},<<116,104,32,101,108,101,109,101,110,116,32,40,110,117,109,98,101,114,105,110,103,32,102,114,111,109,32,49,41,32,111,102,32>>,{code,[],[<<84,117,112,108,101>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,108,101,109,101,110,116,40,50,44,32,123,97,44,32,98,44,32,99,125,41,46,10,98>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,48,49,50>>,signature => [{attribute,{2179,2},spec,{{element,2},[{type,{2179,14},bounded_fun,[{type,{2179,14},'fun',[{type,{2179,14},product,[{var,{2179,15},'N'},{var,{2179,18},'Tuple'}]},{type,{2179,28},term,[]}]},[{type,{2180,5},constraint,[{atom,{2180,5},is_subtype},[{var,{2180,5},'N'},{type,{2180,10},pos_integer,[]}]]},{type,{2181,5},constraint,[{atom,{2181,5},is_subtype},[{var,{2181,5},'Tuple'},{type,{2181,14},tuple,any}]]}]]}]}}]}},{{function,erase,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,897}],[<<101,114,97,115,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,32,97,110,100,32,100,101,108,101,116,101,115,32,105,116,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,112,117,116,40,107,101,121,49,44,32,123,49,44,32,50,44,32,51,125,41,44,10,112,117,116,40,107,101,121,50,44,32,91,97,44,32,98,44,32,99,93,41,44,10,101,114,97,115,101,40,41,46,10,91,123,107,101,121,49,44,123,49,44,50,44,51,125,125,44,123,107,101,121,50,44,91,97,44,98,44,99,93,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,48,50,54>>,signature => [{attribute,{897,2},spec,{{erase,0},[{type,{897,12},bounded_fun,[{type,{897,12},'fun',[{type,{897,12},product,[]},{type,{897,18},list,[{type,{897,19},tuple,[{var,{897,20},'Key'},{var,{897,25},'Val'}]}]}]},[{type,{898,7},constraint,[{atom,{898,7},is_subtype},[{var,{898,7},'Key'},{type,{898,14},term,[]}]]},{type,{899,7},constraint,[{atom,{899,7},is_subtype},[{var,{899,7},'Val'},{type,{899,14},term,[]}]]}]]}]}}]}},{{function,erase,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,904}],[<<101,114,97,115,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<86,97,108>>]},<<32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32>>,{code,[],[<<75,101,121>>]},<<32,97,110,100,32,100,101,108,101,116,101,115,32,105,116,32,102,114,111,109,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,110,111,32,118,97,108,117,101,32,105,115,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32>>,{code,[],[<<75,101,121>>]},<<46,32,84,104,101,32,97,118,101,114,97,103,101,32,116,105,109,101,32,99,111,109,112,108,101,120,105,116,121,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,79,40>>,{code,[],[<<49>>]},<<41,32,97,110,100,32,116,104,101,32,119,111,114,115,116,32,99,97,115,101,32,116,105,109,101,32,99,111,109,112,108,101,120,105,116,121,32,105,115,32,79,40>>,{code,[],[<<78>>]},<<41,44,32,119,104,101,114,101,32>>,{code,[],[<<78>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,105,116,101,109,115,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,112,117,116,40,107,101,121,49,44,32,123,109,101,114,114,121,44,32,108,97,109,98,115,44,32,97,114,101,44,32,112,108,97,121,105,110,103,125,41,44,10,88,32,61,32,101,114,97,115,101,40,107,101,121,49,41,44,10,123,88,44,32,101,114,97,115,101,40,107,101,121,49,41,125,46,10,123,123,109,101,114,114,121,44,108,97,109,98,115,44,97,114,101,44,112,108,97,121,105,110,103,125,44,117,110,100,101,102,105,110,101,100,125>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,48,52,48>>,signature => [{attribute,{904,2},spec,{{erase,1},[{type,{904,12},bounded_fun,[{type,{904,12},'fun',[{type,{904,12},product,[{var,{904,13},'Key'}]},{type,{904,21},union,[{var,{904,21},'Val'},{atom,{904,27},undefined}]}]},[{type,{905,7},constraint,[{atom,{905,7},is_subtype},[{var,{905,7},'Key'},{type,{905,14},term,[]}]]},{type,{906,7},constraint,[{atom,{906,7},is_subtype},[{var,{906,7},'Val'},{type,{906,14},term,[]}]]}]]}]}}]}},{{function,error,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,912}],[<<101,114,114,111,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,111,102,32,99,108,97,115,115,32>>,{code,[],[<<101,114,114,111,114>>]},<<32,119,105,116,104,32,116,104,101,32,114,101,97,115,111,110,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<46,32,65,115,32,101,118,97,108,117,97,116,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,99,97,117,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,116,111,32,98,101,32,116,104,114,111,119,110,44,32,105,116,32,104,97,115,32,110,111,32,114,101,116,117,114,110,32,118,97,108,117,101,46>>]},{p,[],[<<84,104,101,32,105,110,116,101,110,116,32,111,102,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,99,108,97,115,115,32>>,{code,[],[<<101,114,114,111,114>>]},<<32,105,115,32,116,111,32,115,105,103,110,97,108,32,116,104,97,116,32,97,110,32,117,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,32,104,97,115,32,104,97,112,112,101,110,101,100,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,97,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,32,119,105,116,104,32,97,32,112,97,114,97,109,101,116,101,114,32,116,104,97,116,32,104,97,115,32,97,110,32,105,110,99,111,114,114,101,99,116,32,116,121,112,101,41,46,32,83,101,101,32,116,104,101,32,103,117,105,100,101,32,97,98,111,117,116,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,114,114,111,114,115,32,97,110,100,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103>>]},<<32,102,111,114,32,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,99,97,116,99,104,32,101,114,114,111,114,40,102,111,111,98,97,114,41,46,10,123,39,69,88,73,84,39,44,123,102,111,111,98,97,114,44,91,123,115,104,101,108,108,44,97,112,112,108,121,95,102,117,110,44,51,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,123,102,105,108,101,44,34,115,104,101,108,108,46,101,114,108,34,125,44,123,108,105,110,101,44,57,48,54,125,93,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,101,114,108,95,101,118,97,108,44,100,111,95,97,112,112,108,121,44,54,44,91,123,102,105,108,101,44,34,101,114,108,95,101,118,97,108,46,101,114,108,34,125,44,123,108,105,110,101,44,54,55,55,125,93,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,101,114,108,95,101,118,97,108,44,101,120,112,114,44,53,44,91,123,102,105,108,101,44,34,101,114,108,95,101,118,97,108,46,101,114,108,34,125,44,123,108,105,110,101,44,52,51,48,125,93,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,115,104,101,108,108,44,101,120,112,114,115,44,55,44,91,123,102,105,108,101,44,34,115,104,101,108,108,46,101,114,108,34,125,44,123,108,105,110,101,44,54,56,55,125,93,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,115,104,101,108,108,44,101,118,97,108,95,101,120,112,114,115,44,55,44,91,123,102,105,108,101,44,34,115,104,101,108,108,46,101,114,108,34,125,44,123,108,105,110,101,44,54,52,50,125,93,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,115,104,101,108,108,44,101,118,97,108,95,108,111,111,112,44,51,44,91,123,102,105,108,101,44,34,115,104,101,108,108,46,101,114,108,34,125,44,123,108,105,110,101,44,54,50,55,125,93,125,93,125,125>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,48,54,49>>,signature => [{attribute,{912,2},spec,{{error,1},[{type,{912,12},bounded_fun,[{type,{912,12},'fun',[{type,{912,12},product,[{var,{912,13},'Reason'}]},{type,{912,24},no_return,[]}]},[{type,{913,7},constraint,[{atom,{913,7},is_subtype},[{var,{913,7},'Reason'},{type,{913,17},term,[]}]]}]]}]}}]}},{{function,error,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,919}],[<<101,114,114,111,114,47,50>>],#{<<101,110>> => [{p,[],[<<82,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,111,102,32,99,108,97,115,115,32>>,{code,[],[<<101,114,114,111,114>>]},<<32,119,105,116,104,32,116,104,101,32,114,101,97,115,111,110,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<46,32>>,{code,[],[<<65,114,103,115>>]},<<32,105,115,32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,116,104,101,32,108,105,115,116,32,111,102,32,97,114,103,117,109,101,110,116,115,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<110,111,110,101>>]},<<46,32,73,102,32,105,116,32,105,115,32,97,32,108,105,115,116,44,32,105,116,32,105,115,32,117,115,101,100,32,116,111,32,112,114,111,118,105,100,101,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,105,110,32,116,104,101,32,115,116,97,99,107,32,98,97,99,107,45,116,114,97,99,101,46,32,73,102,32,105,116,32,105,115,32>>,{code,[],[<<110,111,110,101>>]},<<44,32,116,104,101,32,97,114,105,116,121,32,111,102,32,116,104,101,32,99,97,108,108,105,110,103,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,105,110,32,116,104,101,32,115,116,97,99,107,116,114,97,99,101,46,32,65,115,32,101,118,97,108,117,97,116,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,99,97,117,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,116,111,32,98,101,32,114,97,105,115,101,100,44,32,105,116,32,104,97,115,32,110,111,32,114,101,116,117,114,110,32,118,97,108,117,101,46>>]},{p,[],[<<84,104,101,32,105,110,116,101,110,116,32,111,102,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,99,108,97,115,115,32>>,{code,[],[<<101,114,114,111,114>>]},<<32,105,115,32,116,111,32,115,105,103,110,97,108,32,116,104,97,116,32,97,110,32,117,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,32,104,97,115,32,104,97,112,112,101,110,101,100,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,97,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,32,119,105,116,104,32,97,32,112,97,114,97,109,101,116,101,114,32,116,104,97,116,32,104,97,115,32,97,110,32,105,110,99,111,114,114,101,99,116,32,116,121,112,101,41,46,32,83,101,101,32,116,104,101,32,103,117,105,100,101,32,97,98,111,117,116,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,114,114,111,114,115,32,97,110,100,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103>>]},<<32,102,111,114,32,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46,32,69,120,97,109,112,108,101,58>>]},{p,[],[{code,[],[<<116,101,115,116,46,101,114,108>>]},<<58>>]},{pre,[],[{code,[],[<<45,109,111,100,117,108,101,40,116,101,115,116,41,46,10,45,101,120,112,111,114,116,40,91,101,120,97,109,112,108,101,95,102,117,110,47,50,93,41,46,10,10,101,120,97,109,112,108,101,95,102,117,110,40,65,49,44,32,65,50,41,32,45,62,10,32,32,32,32,101,114,108,97,110,103,58,101,114,114,111,114,40,109,121,95,101,114,114,111,114,44,32,91,65,49,44,32,65,50,93,41,46>>]}]},{p,[],[<<69,114,108,97,110,103,32,115,104,101,108,108,58>>]},{pre,[],[{code,[],[<<54,62,32,99,40,116,101,115,116,41,46,10,123,111,107,44,116,101,115,116,125,10,55,62,32,116,101,115,116,58,101,120,97,109,112,108,101,95,102,117,110,40,97,114,103,49,44,34,116,104,105,115,32,105,115,32,116,104,101,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,34,41,46,10,42,42,32,101,120,99,101,112,116,105,111,110,32,101,114,114,111,114,58,32,109,121,95,101,114,114,111,114,10,32,32,32,32,32,105,110,32,102,117,110,99,116,105,111,110,32,32,116,101,115,116,58,101,120,97,109,112,108,101,95,102,117,110,47,50,10,32,32,32,32,32,32,32,32,32,99,97,108,108,101,100,32,97,115,32,116,101,115,116,58,101,120,97,109,112,108,101,95,102,117,110,40,97,114,103,49,44,34,116,104,105,115,32,105,115,32,116,104,101,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,34,41,10,32>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,48,56,55>>,signature => [{attribute,{919,2},spec,{{error,2},[{type,{919,12},bounded_fun,[{type,{919,12},'fun',[{type,{919,12},product,[{var,{919,13},'Reason'},{var,{919,21},'Args'}]},{type,{919,30},no_return,[]}]},[{type,{920,7},constraint,[{atom,{920,7},is_subtype},[{var,{920,7},'Reason'},{type,{920,17},term,[]}]]},{type,{921,7},constraint,[{atom,{921,7},is_subtype},[{var,{921,7},'Args'},{type,{921,15},union,[{type,{921,15},list,[{type,{921,16},term,[]}]},{atom,{921,26},none}]}]]}]]}]}}]}},{{function,error,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,927}],[<<101,114,114,111,114,47,51>>],#{<<101,110>> => [{p,[],[<<82,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,111,102,32,99,108,97,115,115,32>>,{code,[],[<<101,114,114,111,114>>]},<<32,119,105,116,104,32,116,104,101,32,114,101,97,115,111,110,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<46,32>>,{code,[],[<<65,114,103,115>>]},<<32,105,115,32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,116,104,101,32,108,105,115,116,32,111,102,32,97,114,103,117,109,101,110,116,115,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<110,111,110,101>>]},<<46,32,73,102,32,105,116,32,105,115,32,97,32,108,105,115,116,44,32,105,116,32,105,115,32,117,115,101,100,32,116,111,32,112,114,111,118,105,100,101,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,105,110,32,116,104,101,32,115,116,97,99,107,32,98,97,99,107,45,116,114,97,99,101,46,32,73,102,32,105,116,32,105,115,32>>,{code,[],[<<110,111,110,101>>]},<<44,32,116,104,101,32,97,114,105,116,121,32,111,102,32,116,104,101,32,99,97,108,108,105,110,103,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,105,110,32,116,104,101,32,115,116,97,99,107,116,114,97,99,101,46,32,65,115,32,101,118,97,108,117,97,116,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,99,97,117,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,116,111,32,98,101,32,114,97,105,115,101,100,44,32,105,116,32,104,97,115,32,110,111,32,114,101,116,117,114,110,32,118,97,108,117,101,46>>]},{p,[],[<<73,102,32,116,104,101,32>>,{code,[],[<<101,114,114,111,114,95,105,110,102,111>>]},<<32,111,112,116,105,111,110,32,105,115,32,103,105,118,101,110,44,32,116,104,101,32>>,{code,[],[<<69,114,114,111,114,73,110,102,111,77,97,112>>]},<<32,119,105,108,108,32,98,101,32,105,110,115,101,114,116,101,100,32,105,110,116,111,32,116,104,101,32,115,116,97,99,107,116,114,97,99,101,46,32,84,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,103,105,118,101,110,32,105,110,32,116,104,101,32>>,{code,[],[<<69,114,114,111,114,73,110,102,111,77,97,112>>]},<<32,105,115,32,116,111,32,98,101,32,117,115,101,100,32,98,121,32,101,114,114,111,114,32,102,111,114,109,97,116,116,101,114,115,32,115,117,99,104,32,97,115,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,114,108,95,101,114,114,111,114,35,102,111,114,109,97,116,95,101,120,99,101,112,116,105,111,110,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,95,101,114,114,111,114>>]}]},<<32,116,111,32,112,114,111,118,105,100,101,32,109,111,114,101,32,99,111,110,116,101,120,116,32,97,114,111,117,110,100,32,97,110,32,101,114,114,111,114,46>>]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,32>>,{code,[],[<<109,111,100,117,108,101>>]},<<32,111,102,32,116,104,101,32>>,{code,[],[<<69,114,114,111,114,73,110,102,111,77,97,112>>]},<<32,105,115,32,116,104,101,32,109,111,100,117,108,101,32,116,104,97,116,32,116,104,101,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,114,114,111,114,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,114,111,114,47,51>>]}]},<<32,105,115,32,109,97,100,101,46,32,84,104,101,32,100,101,102,97,117,108,116,32>>,{code,[],[<<102,117,110,99,116,105,111,110>>]},<<32,105,115,32>>,{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114>>]},<<46,32,83,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,114,108,95,101,114,114,111,114,35,102,111,114,109,97,116,95,101,114,114,111,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,50>>]}]},<<32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,32,111,110,32,104,111,119,32,116,104,105,115,32,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,47,50,32,105,115,32,116,111,32,98,101,32,117,115,101,100>>]},{p,[],[<<84,104,101,32,105,110,116,101,110,116,32,111,102,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,99,108,97,115,115,32>>,{code,[],[<<101,114,114,111,114>>]},<<32,105,115,32,116,111,32,115,105,103,110,97,108,32,116,104,97,116,32,97,110,32,117,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,32,104,97,115,32,104,97,112,112,101,110,101,100,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,97,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,32,119,105,116,104,32,97,32,112,97,114,97,109,101,116,101,114,32,116,104,97,116,32,104,97,115,32,97,110,32,105,110,99,111,114,114,101,99,116,32,116,121,112,101,41,46,32,83,101,101,32,116,104,101,32,103,117,105,100,101,32,97,98,111,117,116,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,114,114,111,114,115,32,97,110,100,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103>>]},<<32,102,111,114,32,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,49,50,52>>,signature => [{attribute,{927,2},spec,{{error,3},[{type,{927,12},bounded_fun,[{type,{927,12},'fun',[{type,{927,12},product,[{var,{927,13},'Reason'},{var,{927,21},'Args'},{var,{927,27},'Options'}]},{type,{927,39},no_return,[]}]},[{type,{928,7},constraint,[{atom,{928,7},is_subtype},[{var,{928,7},'Reason'},{type,{928,17},term,[]}]]},{type,{929,7},constraint,[{atom,{929,7},is_subtype},[{var,{929,7},'Args'},{type,{929,15},union,[{type,{929,15},list,[{type,{929,16},term,[]}]},{atom,{929,26},none}]}]]},{type,{930,7},constraint,[{atom,{930,7},is_subtype},[{var,{930,7},'Options'},{type,{930,18},list,[{var,{930,19},'Option'}]}]]},{type,{931,7},constraint,[{atom,{931,7},is_subtype},[{var,{931,7},'Option'},{type,{931,17},tuple,[{atom,{931,18},error_info},{var,{931,32},'ErrorInfoMap'}]}]]},{type,{932,7},constraint,[{atom,{932,7},is_subtype},[{var,{932,7},'ErrorInfoMap'},{type,{932,23},map,[{type,{932,33},map_field_assoc,[{atom,{932,25},cause},{type,{932,36},term,[]}]},{type,{933,34},map_field_assoc,[{atom,{933,25},module},{type,{933,37},module,[]}]},{type,{934,36},map_field_assoc,[{atom,{934,25},function},{type,{934,39},atom,[]}]}]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,48>>}},{{function,exit,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,940}],[<<101,120,105,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,111,102,32,99,108,97,115,115,32>>,{code,[],[<<101,120,105,116>>]},<<32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<46,32,65,115,32,101,118,97,108,117,97,116,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,99,97,117,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,116,111,32,98,101,32,114,97,105,115,101,100,44,32,105,116,32,104,97,115,32,110,111,32,114,101,116,117,114,110,32,118,97,108,117,101,46>>]},{p,[],[<<84,104,101,32,105,110,116,101,110,116,32,111,102,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,99,108,97,115,115,32>>,{code,[],[<<101,120,105,116>>]},<<32,105,115,32,116,104,97,116,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,32,115,104,111,117,108,100,32,98,101,32,115,116,111,112,112,101,100,32,40,102,111,114,32,101,120,97,109,112,108,101,32,119,104,101,110,32,97,32,109,101,115,115,97,103,101,32,116,101,108,108,105,110,103,32,97,32,112,114,111,99,101,115,115,32,116,111,32,115,116,111,112,32,105,115,32,114,101,99,101,105,118,101,100,41,46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,100,105,102,102,101,114,32,102,114,111,109,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,114,111,114,47,49,44,50,44,51>>]}]},<<32,98,121,32,99,97,117,115,105,110,103,32,97,110,32,101,120,99,101,112,116,105,111,110,32,111,102,32,97,32,100,105,102,102,101,114,101,110,116,32,99,108,97,115,115,32,97,110,100,32,98,121,32,104,97,118,105,110,103,32,97,32,114,101,97,115,111,110,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,105,110,99,108,117,100,101,32,116,104,101,32,108,105,115,116,32,111,102,32,102,117,110,99,116,105,111,110,115,32,102,114,111,109,32,116,104,101,32,99,97,108,108,32,115,116,97,99,107,46>>]},{p,[],[<<83,101,101,32,116,104,101,32,103,117,105,100,101,32,97,98,111,117,116,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,114,114,111,114,115,32,97,110,100,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103>>]},<<32,102,111,114,32,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46>>]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,120,105,116,40,102,111,111,98,97,114,41,46,10,42,42,32,101,120,99,101,112,116,105,111,110,32,101,120,105,116,58,32,102,111,111,98,97,114,10,62,32,99,97,116,99,104,32,101,120,105,116,40,102,111,111,98,97,114,41,46,10,123,39,69,88,73,84,39,44,102,111,111,98,97,114,125>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,102,32,97,32,112,114,111,99,101,115,115,32,99,97,108,108,115,32>>,{code,[],[<<101,120,105,116,40,107,105,108,108,41>>]},<<32,97,110,100,32,100,111,101,115,32,110,111,116,32,99,97,116,99,104,32,116,104,101,32,101,120,99,101,112,116,105,111,110,44,32,105,116,32,119,105,108,108,32,116,101,114,109,105,110,97,116,101,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<107,105,108,108>>]},<<32,97,110,100,32,97,108,115,111,32,101,109,105,116,32,101,120,105,116,32,115,105,103,110,97,108,115,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<107,105,108,108>>]},<<32,40,110,111,116,32>>,{code,[],[<<107,105,108,108,101,100>>]},<<41,32,116,111,32,97,108,108,32,108,105,110,107,101,100,32,112,114,111,99,101,115,115,101,115,46,32,83,117,99,104,32,101,120,105,116,32,115,105,103,110,97,108,115,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<107,105,108,108>>]},<<32,99,97,110,32,98,101,32,116,114,97,112,112,101,100,32,98,121,32,116,104,101,32,108,105,110,107,101,100,32,112,114,111,99,101,115,115,101,115,46,32,78,111,116,101,32,116,104,97,116,32,116,104,105,115,32,109,101,97,110,115,32,116,104,97,116,32,115,105,103,110,97,108,115,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<107,105,108,108>>]},<<32,98,101,104,97,118,101,32,100,105,102,102,101,114,101,110,116,108,121,32,100,101,112,101,110,100,105,110,103,32,111,110,32,104,111,119,32,116,104,101,121,32,97,114,101,32,115,101,110,116,32,98,101,99,97,117,115,101,32,116,104,101,32,115,105,103,110,97,108,32,119,105,108,108,32,98,101,32,117,110,116,114,97,112,112,97,98,108,101,32,105,102,32,97,32,112,114,111,99,101,115,115,32,115,101,110,100,115,32,115,117,99,104,32,97,32,115,105,103,110,97,108,32,116,111,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,105,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,47,50>>]}]},<<46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,49,53,51>>,signature => [{attribute,{940,2},spec,{{exit,1},[{type,{940,11},bounded_fun,[{type,{940,11},'fun',[{type,{940,11},product,[{var,{940,12},'Reason'}]},{type,{940,23},no_return,[]}]},[{type,{941,7},constraint,[{atom,{941,7},is_subtype},[{var,{941,7},'Reason'},{type,{941,17},term,[]}]]}]]}]}}]}},{{function,exit,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,946}],[<<101,120,105,116,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,110,100,115,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,98,101,104,97,118,105,111,114,32,97,112,112,108,105,101,115,32,105,102,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<32,105,115,32,97,110,121,32,116,101,114,109,44,32,101,120,99,101,112,116,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,111,114,32>>,{code,[],[<<107,105,108,108>>]},<<44,32,97,110,100,32>>,{code,[],[<<80>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<58>>]},{ul,[],[{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<80>>]},<<32,105,115,32,110,111,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<116,114,97,112,112,105,110,103,32,101,120,105,116,115>>]},<<44,32>>,{code,[],[<<80>>]},<<32,101,120,105,116,115,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<46>>]}]},{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<80>>]},<<32,105,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<116,114,97,112,112,105,110,103,32,101,120,105,116,115>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,105,115,32,116,114,97,110,115,102,111,114,109,101,100,32,105,110,116,111,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,39,69,88,73,84,39,44,32,70,114,111,109,44,32,82,101,97,115,111,110,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<70,114,111,109>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,115,101,110,116,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,44,32,97,110,100,32,100,101,108,105,118,101,114,101,100,32,116,111,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,111,102,32>>,{code,[],[<<80>>]},<<46>>]}]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,98,101,104,97,118,105,111,114,32,97,112,112,108,105,101,115,32,105,102,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<32,105,115,32,116,104,101,32,116,101,114,109,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,97,110,100,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80>>]},<<32,119,104,105,99,104,32,105,115,32,110,111,116,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,105,110,118,111,107,101,100,32>>,{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,40,80,105,100,44,32,110,111,114,109,97,108,41>>]},<<32,40,116,104,101,32,98,101,104,97,118,105,111,114,32,119,104,101,110,32,97,32,112,114,111,99,101,115,115,32,115,101,110,100,115,32,97,32,115,105,103,110,97,108,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,114,101,97,115,111,110,32,116,111,32,105,116,115,101,108,102,32,105,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,119,97,114,110,105,110,103,41,58>>]},{ul,[],[{li,[],[<<73,102,32>>,{code,[],[<<80>>]},<<32,105,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<116,114,97,112,112,105,110,103,32,101,120,105,116,115>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,105,115,32,116,114,97,110,115,102,111,114,109,101,100,32,105,110,116,111,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,39,69,88,73,84,39,44,32,70,114,111,109,44,32,110,111,114,109,97,108,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<70,114,111,109>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,115,101,110,116,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,44,32,97,110,100,32,100,101,108,105,118,101,114,101,100,32,116,111,32>>,{code,[],[<<80>>]},<<39,115,32,109,101,115,115,97,103,101,32,113,117,101,117,101,46>>]},{li,[],[<<84,104,101,32,115,105,103,110,97,108,32,104,97,115,32,110,111,32,101,102,102,101,99,116,32,105,102,32>>,{code,[],[<<80>>]},<<32,105,115,32,110,111,116,32,116,114,97,112,112,105,110,103,32,101,120,105,116,115,46>>]}]},{p,[],[<<73,102,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<32,105,115,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<107,105,108,108>>]},<<44,32,116,104,97,116,32,105,115,44,32,105,102,32>>,{code,[],[<<101,120,105,116,40,80,105,100,44,32,107,105,108,108,41>>]},<<32,105,115,32,99,97,108,108,101,100,44,32,97,110,32,117,110,116,114,97,112,112,97,98,108,101,32,101,120,105,116,32,115,105,103,110,97,108,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,105,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<44,32,119,104,105,99,104,32,117,110,99,111,110,100,105,116,105,111,110,97,108,108,121,32,101,120,105,116,115,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<107,105,108,108,101,100>>]},<<46,32,84,104,101,32,101,120,105,116,32,114,101,97,115,111,110,32,105,115,32,99,104,97,110,103,101,100,32,102,114,111,109,32>>,{code,[],[<<107,105,108,108>>]},<<32,116,111,32>>,{code,[],[<<107,105,108,108,101,100>>]},<<32,116,111,32,104,105,110,116,32,116,111,32,108,105,110,107,101,100,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,116,104,101,32,107,105,108,108,101,100,32,112,114,111,99,101,115,115,32,103,111,116,32,107,105,108,108,101,100,32,98,121,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<101,120,105,116,40,80,105,100,44,32,107,105,108,108,41>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,105,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,47,49>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,105,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,47,50>>]}]},<<32,97,114,101,32,110,97,109,101,100,32,115,105,109,105,108,97,114,108,121,32,98,117,116,32,112,114,111,118,105,100,101,32,118,101,114,121,32,100,105,102,102,101,114,101,110,116,32,102,117,110,99,116,105,111,110,97,108,105,116,105,101,115,46,32,84,104,101,32>>,{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,47,49>>]},<<32,102,117,110,99,116,105,111,110,32,115,104,111,117,108,100,32,98,101,32,117,115,101,100,32,119,104,101,110,32,116,104,101,32,105,110,116,101,110,116,32,105,115,32,116,111,32,115,116,111,112,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,32,119,104,105,108,101,32>>,{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,47,50>>]},<<32,115,104,111,117,108,100,32,98,101,32,117,115,101,100,32,119,104,101,110,32,116,104,101,32,105,110,116,101,110,116,32,105,115,32,116,111,32,115,101,110,100,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,116,111,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,46,32,78,111,116,101,32,97,108,115,111,32,116,104,97,116,32>>,{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,47,49>>]},<<32,114,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,116,104,97,116,32,99,97,110,32,98,101,32,99,97,117,103,104,116,32,119,104,105,108,101,32>>,{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,47,50>>]},<<32,100,111,101,115,32,110,111,116,32,99,97,117,115,101,32,97,110,121,32,101,120,99,101,112,116,105,111,110,32,116,111,32,98,101,32,114,97,105,115,101,100,46>>]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,101,32,111,110,108,121,32,115,99,101,110,97,114,105,111,32,116,104,97,116,32,104,97,115,32,110,111,116,32,98,101,101,110,32,99,111,118,101,114,101,100,32,98,121,32,116,104,101,32,100,101,115,99,114,105,112,116,105,111,110,32,97,98,111,118,101,32,105,115,32,119,104,101,110,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80>>]},<<32,115,101,110,100,115,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,116,111,32,105,116,115,101,108,102,44,32,116,104,97,116,32,105,115,32>>,{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,40,115,101,108,102,40,41,44,32,110,111,114,109,97,108,41>>]},<<46,32,84,104,101,32,98,101,104,97,118,105,111,114,32,105,110,32,116,104,105,115,32,115,99,101,110,97,114,105,111,32,105,115,32,97,115,32,102,111,108,108,111,119,115,58>>]},{ul,[],[{li,[],[<<73,102,32>>,{code,[],[<<80>>]},<<32,105,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<116,114,97,112,112,105,110,103,32,101,120,105,116,115>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,105,115,32,116,114,97,110,115,102,111,114,109,101,100,32,105,110,116,111,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,39,69,88,73,84,39,44,32,70,114,111,109,44,32,110,111,114,109,97,108,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<70,114,111,109>>]},<<32,105,115,32>>,{code,[],[<<80>>]},<<39,115,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,44,32,97,110,100,32,100,101,108,105,118,101,114,101,100,32,116,111,32>>,{code,[],[<<80>>]},<<39,115,32,109,101,115,115,97,103,101,32,113,117,101,117,101,46>>]},{li,[],[{code,[],[<<80>>]},<<32,101,120,105,116,115,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,105,102,32>>,{code,[],[<<80>>]},<<32,105,115,32,110,111,116,32,116,114,97,112,112,105,110,103,32,101,120,105,116,115,46>>]}]},{p,[],[<<78,111,116,101,32,116,104,97,116,32,116,104,101,32,98,101,104,97,118,105,111,114,32,100,101,115,99,114,105,98,101,100,32,97,98,111,118,101,32,105,115,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,119,104,101,110,32,97,32,112,114,111,99,101,115,115,32,115,101,110,100,115,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,116,111,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,105,115,32,97,114,103,117,97,98,108,121,32,115,116,114,97,110,103,101,32,98,117,116,32,116,104,105,115,32,98,101,104,97,118,105,111,114,32,105,115,32,107,101,112,116,32,102,111,114,32,98,97,99,107,119,97,114,100,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,114,101,97,115,111,110,115,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,49,57,53>>,signature => [{attribute,{946,2},spec,{{exit,2},[{type,{946,11},bounded_fun,[{type,{946,11},'fun',[{type,{946,11},product,[{var,{946,12},'Pid'},{var,{946,17},'Reason'}]},{atom,{946,28},true}]},[{type,{947,7},constraint,[{atom,{947,7},is_subtype},[{var,{947,7},'Pid'},{type,{947,14},union,[{type,{947,14},pid,[]},{type,{947,22},port,[]}]}]]},{type,{948,7},constraint,[{atom,{948,7},is_subtype},[{var,{948,7},'Reason'},{type,{948,17},term,[]}]]}]]}]}}]}},{{function,external_size,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,960}],[<<101,120,116,101,114,110,97,108,95,115,105,122,101,47,49>>],#{<<101,110>> => [{p,[],[<<67,97,108,99,117,108,97,116,101,115,44,32,119,105,116,104,111,117,116,32,100,111,105,110,103,32,116,104,101,32,101,110,99,111,100,105,110,103,44,32,116,104,101,32,109,97,120,105,109,117,109,32,98,121,116,101,32,115,105,122,101,32,102,111,114,32,97,32,116,101,114,109,32,101,110,99,111,100,101,100,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,110,100,105,116,105,111,110,32,97,112,112,108,105,101,115,32,97,108,119,97,121,115,58>>]},{pre,[],[{code,[],[<<62,32,83,105,122,101,49,32,61,32,98,121,116,101,95,115,105,122,101,40,116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,84,101,114,109,41,41,44,10,62,32,83,105,122,101,50,32,61,32,101,114,108,97,110,103,58,101,120,116,101,114,110,97,108,95,115,105,122,101,40,84,101,114,109,41,44,10,62,32,116,114,117,101,32,61,32,83,105,122,101,49,32,61,60,32,83,105,122,101,50,46,10,116,114,117,101>>]}]},{p,[],[<<84,104,105,115,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,97,32,99,97,108,108,32,116,111,58>>]},{pre,[],[{code,[],[<<101,114,108,97,110,103,58,101,120,116,101,114,110,97,108,95,115,105,122,101,40,84,101,114,109,44,32,91,93,41>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,50,56,49>>,signature => [{attribute,{960,2},spec,{{erlang,external_size,1},[{type,{960,27},bounded_fun,[{type,{960,27},'fun',[{type,{960,27},product,[{var,{960,28},'Term'}]},{type,{960,37},non_neg_integer,[]}]},[{type,{961,7},constraint,[{atom,{961,7},is_subtype},[{var,{961,7},'Term'},{type,{961,15},term,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66,48,52>>}},{{function,external_size,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,966}],[<<101,120,116,101,114,110,97,108,95,115,105,122,101,47,50>>],#{<<101,110>> => [{p,[],[<<67,97,108,99,117,108,97,116,101,115,44,32,119,105,116,104,111,117,116,32,100,111,105,110,103,32,116,104,101,32,101,110,99,111,100,105,110,103,44,32,116,104,101,32,109,97,120,105,109,117,109,32,98,121,116,101,32,115,105,122,101,32,102,111,114,32,97,32,116,101,114,109,32,101,110,99,111,100,101,100,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,110,100,105,116,105,111,110,32,97,112,112,108,105,101,115,32,97,108,119,97,121,115,58>>]},{pre,[],[{code,[],[<<62,32,83,105,122,101,49,32,61,32,98,121,116,101,95,115,105,122,101,40,116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,84,101,114,109,44,32,79,112,116,105,111,110,115,41,41,44,10,62,32,83,105,122,101,50,32,61,32,101,114,108,97,110,103,58,101,120,116,101,114,110,97,108,95,115,105,122,101,40,84,101,114,109,44,32,79,112,116,105,111,110,115,41,44,10,62,32,116,114,117,101,32,61,32,83,105,122,101,49,32,61,60,32,83,105,122,101,50,46,10,116,114,117,101>>]}]},{p,[],[<<79,112,116,105,111,110,32>>,{code,[],[<<123,109,105,110,111,114,95,118,101,114,115,105,111,110,44,32,86,101,114,115,105,111,110,125>>]},<<32,115,112,101,99,105,102,105,101,115,32,104,111,119,32,102,108,111,97,116,115,32,97,114,101,32,101,110,99,111,100,101,100,46,32,70,111,114,32,97,32,100,101,116,97,105,108,101,100,32,100,101,115,99,114,105,112,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,51,48,48>>,signature => [{attribute,{966,2},spec,{{erlang,external_size,2},[{type,{966,27},bounded_fun,[{type,{966,27},'fun',[{type,{966,27},product,[{var,{966,28},'Term'},{var,{966,34},'Options'}]},{type,{966,46},non_neg_integer,[]}]},[{type,{967,7},constraint,[{atom,{967,7},is_subtype},[{var,{967,7},'Term'},{type,{967,15},term,[]}]]},{type,{968,7},constraint,[{atom,{968,7},is_subtype},[{var,{968,7},'Options'},{type,{968,18},list,[{type,{968,19},tuple,[{atom,{968,20},minor_version},{ann_type,{968,35},[{var,{968,35},'Version'},{type,{968,46},non_neg_integer,[]}]}]}]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66,48,52>>}},{{function,float,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,990}],[<<102,108,111,97,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,102,108,111,97,116,32,98,121,32,99,111,110,118,101,114,116,105,110,103,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<32,116,111,32,97,32,102,108,111,97,116,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,102,108,111,97,116,40,53,53,41,46,10,53,53,46,48>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,102,32,117,115,101,100,32,111,110,32,116,104,101,32,116,111,112,32,108,101,118,101,108,32,105,110,32,97,32,103,117,97,114,100,44,32,105,116,32,116,101,115,116,115,32,119,104,101,116,104,101,114,32,116,104,101,32,97,114,103,117,109,101,110,116,32,105,115,32,97,32,102,108,111,97,116,105,110,103,32,112,111,105,110,116,32,110,117,109,98,101,114,59,32,102,111,114,32,99,108,97,114,105,116,121,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,105,115,95,102,108,111,97,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,115,95,102,108,111,97,116,47,49>>]}]},<<32,105,110,115,116,101,97,100,46>>]},{p,[],[<<87,104,101,110,32>>,{code,[],[<<102,108,111,97,116,47,49>>]},<<32,105,115,32,117,115,101,100,32,105,110,32,97,110,32,101,120,112,114,101,115,115,105,111,110,32,105,110,32,97,32,103,117,97,114,100,44,32,115,117,99,104,32,97,115,32,39>>,{code,[],[<<102,108,111,97,116,40,65,41,32,61,61,32,52,46,48>>]},<<39,44,32,105,116,32,99,111,110,118,101,114,116,115,32,97,32,110,117,109,98,101,114,32,97,115,32,100,101,115,99,114,105,98,101,100,32,101,97,114,108,105,101,114,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,51,50,48>>,signature => [{attribute,{990,2},spec,{{float,1},[{type,{990,12},bounded_fun,[{type,{990,12},'fun',[{type,{990,12},product,[{var,{990,13},'Number'}]},{type,{990,24},float,[]}]},[{type,{991,7},constraint,[{atom,{991,7},is_subtype},[{var,{991,7},'Number'},{type,{991,17},number,[]}]]}]]}]}}]}},{{function,float_to_binary,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,996}],[<<102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,70,108,111,97,116,44,91,123,115,99,105,101,110,116,105,102,105,99,44,50,48,125,93,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,51,52,50>>,signature => [{attribute,{996,2},spec,{{float_to_binary,1},[{type,{996,22},bounded_fun,[{type,{996,22},'fun',[{type,{996,22},product,[{var,{996,23},'Float'}]},{type,{996,33},binary,[]}]},[{type,{997,7},constraint,[{atom,{997,7},is_subtype},[{var,{997,7},'Float'},{type,{997,16},float,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,float_to_binary,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1002}],[<<102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,108,111,97,116>>]},<<32,117,115,105,110,103,32,102,105,120,101,100,32,100,101,99,105,109,97,108,32,112,111,105,110,116,32,102,111,114,109,97,116,116,105,110,103,46,32>>,{code,[],[<<79,112,116,105,111,110,115>>]},<<32,98,101,104,97,118,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,119,97,121,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,102,108,111,97,116,95,116,111,95,108,105,115,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,108,111,97,116,95,116,111,95,108,105,115,116,47,50>>]}]},<<46,32,69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,55,46,49,50,44,32,91,123,100,101,99,105,109,97,108,115,44,32,52,125,93,41,46,10,60,60,34,55,46,49,50,48,48,34,62,62,10,62,32,102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,55,46,49,50,44,32,91,123,100,101,99,105,109,97,108,115,44,32,52,125,44,32,99,111,109,112,97,99,116,93,41,46,10,60,60,34,55,46,49,50,34,62,62,10,62,32,102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,55,46,49,50,44,32,91,123,115,99,105,101,110,116,105,102,105,99,44,32,51,125,93,41,46,10,60,60,34,55,46,49,50,48,101,43,48,48,34,62,62,10,62,32,102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,55,46,49,50,44,32,91,115,104,111,114,116,93,41,46,10,60,60,34,55,46,49,50,34,62,62,10,62,32,102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,48,46,49,43,48,46,50,44,32,91,115,104,111,114,116,93,41,46,10,60,60,34,48,46,51,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,34,62,62,10,62,32,102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,48,46,49,43,48,46,50,41,10,60,60,34,51,46,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,52,52,48,57,101,45,48,49,34,62,62>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,51,53,49>>,signature => [{attribute,{1002,2},spec,{{float_to_binary,2},[{type,{1002,22},bounded_fun,[{type,{1002,22},'fun',[{type,{1002,22},product,[{var,{1002,23},'Float'},{var,{1002,30},'Options'}]},{type,{1002,42},binary,[]}]},[{type,{1003,7},constraint,[{atom,{1003,7},is_subtype},[{var,{1003,7},'Float'},{type,{1003,16},float,[]}]]},{type,{1004,7},constraint,[{atom,{1004,7},is_subtype},[{var,{1004,7},'Options'},{type,{1004,18},list,[{var,{1004,19},'Option'}]}]]},{type,{1005,7},constraint,[{atom,{1005,7},is_subtype},[{var,{1005,7},'Option'},{type,{1005,18},union,[{type,{1005,18},tuple,[{atom,{1005,19},decimals},{ann_type,{1005,29},[{var,{1005,29},'Decimals'},{type,{1005,41},range,[{integer,{1005,41},0},{integer,{1005,44},253}]}]}]},{type,{1006,18},tuple,[{atom,{1006,19},scientific},{ann_type,{1006,31},[{var,{1006,31},'Decimals'},{type,{1006,43},range,[{integer,{1006,43},0},{integer,{1006,46},249}]}]}]},{atom,{1007,18},compact},{atom,{1008,18},short}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,float_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1013}],[<<102,108,111,97,116,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<102,108,111,97,116,95,116,111,95,108,105,115,116,40,70,108,111,97,116,44,91,123,115,99,105,101,110,116,105,102,105,99,44,50,48,125,93,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,51,55,56>>,signature => [{attribute,{1013,2},spec,{{float_to_list,1},[{type,{1013,20},bounded_fun,[{type,{1013,20},'fun',[{type,{1013,20},product,[{var,{1013,21},'Float'}]},{type,{1013,31},string,[]}]},[{type,{1014,7},constraint,[{atom,{1014,7},is_subtype},[{var,{1014,7},'Float'},{type,{1014,16},float,[]}]]}]]}]}}]}},{{function,float_to_list,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1019}],[<<102,108,111,97,116,95,116,111,95,108,105,115,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,108,111,97,116>>]},<<32,117,115,105,110,103,32,102,105,120,101,100,32,100,101,99,105,109,97,108,32,112,111,105,110,116,32,102,111,114,109,97,116,116,105,110,103,46>>]},{p,[],[<<65,118,97,105,108,97,98,108,101,32,111,112,116,105,111,110,115,58>>]},{ul,[],[{li,[],[{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<100,101,99,105,109,97,108,115>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,99,111,110,116,97,105,110,115,32,97,116,32,109,111,115,116,32>>,{code,[],[<<68,101,99,105,109,97,108,115>>]},<<32,110,117,109,98,101,114,32,111,102,32,100,105,103,105,116,115,32,112,97,115,116,32,116,104,101,32,100,101,99,105,109,97,108,32,112,111,105,110,116,46,32,73,102,32,116,104,101,32,110,117,109,98,101,114,32,100,111,101,115,32,110,111,116,32,102,105,116,32,105,110,32,116,104,101,32,105,110,116,101,114,110,97,108,32,115,116,97,116,105,99,32,98,117,102,102,101,114,32,111,102,32,50,53,54,32,98,121,116,101,115,44,32,116,104,101,32,102,117,110,99,116,105,111,110,32,116,104,114,111,119,115,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<46>>]}]},{li,[],[{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<99,111,109,112,97,99,116>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,116,114,97,105,108,105,110,103,32,122,101,114,111,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,108,105,115,116,32,97,114,101,32,116,114,117,110,99,97,116,101,100,46,32,84,104,105,115,32,111,112,116,105,111,110,32,105,115,32,111,110,108,121,32,109,101,97,110,105,110,103,102,117,108,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<100,101,99,105,109,97,108,115>>]},<<46>>]}]},{li,[],[{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<115,99,105,101,110,116,105,102,105,99>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,102,108,111,97,116,32,105,115,32,102,111,114,109,97,116,116,101,100,32,117,115,105,110,103,32,115,99,105,101,110,116,105,102,105,99,32,110,111,116,97,116,105,111,110,32,119,105,116,104,32>>,{code,[],[<<68,101,99,105,109,97,108,115>>]},<<32,100,105,103,105,116,115,32,111,102,32,112,114,101,99,105,115,105,111,110,46>>]}]},{li,[],[{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<115,104,111,114,116>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,102,108,111,97,116,32,105,115,32,102,111,114,109,97,116,116,101,100,32,119,105,116,104,32,116,104,101,32,115,109,97,108,108,101,115,116,32,110,117,109,98,101,114,32,111,102,32,100,105,103,105,116,115,32,116,104,97,116,32,115,116,105,108,108,32,103,117,97,114,97,110,116,101,101,115,32,116,104,97,116,32>>,{code,[],[<<70,32,61,58,61,32,108,105,115,116,95,116,111,95,102,108,111,97,116,40,102,108,111,97,116,95,116,111,95,108,105,115,116,40,70,44,32,91,115,104,111,114,116,93,41,41>>]},<<46,32,87,104,101,110,32,116,104,101,32,102,108,111,97,116,32,105,115,32,105,110,115,105,100,101,32,116,104,101,32,114,97,110,103,101,32,40,45,50,226,129,181,194,179,44,32,50,226,129,181,194,179,41,44,32,116,104,101,32,110,111,116,97,116,105,111,110,32,116,104,97,116,32,121,105,101,108,100,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,110,117,109,98,101,114,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,105,115,32,117,115,101,100,32,40,115,99,105,101,110,116,105,102,105,99,32,110,111,116,97,116,105,111,110,32,111,114,32,110,111,114,109,97,108,32,100,101,99,105,109,97,108,32,110,111,116,97,116,105,111,110,41,46,32,70,108,111,97,116,115,32,111,117,116,115,105,100,101,32,116,104,101,32,114,97,110,103,101,32,40,45,50,226,129,181,194,179,44,32,50,226,129,181,194,179,41,32,97,114,101,32,97,108,119,97,121,115,32,102,111,114,109,97,116,116,101,100,32,117,115,105,110,103,32,115,99,105,101,110,116,105,102,105,99,32,110,111,116,97,116,105,111,110,32,116,111,32,97,118,111,105,100,32,99,111,110,102,117,115,105,110,103,32,114,101,115,117,108,116,115,32,119,104,101,110,32,100,111,105,110,103,32,97,114,105,116,104,109,101,116,105,99,32,111,112,101,114,97,116,105,111,110,115,46>>]}]},{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<79,112,116,105,111,110,115>>]},<<32,105,115,32>>,{code,[],[<<91,93>>]},<<44,32,116,104,101,32,102,117,110,99,116,105,111,110,32,98,101,104,97,118,101,115,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,102,108,111,97,116,95,116,111,95,108,105,115,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,108,111,97,116,95,116,111,95,108,105,115,116,47,49>>]}]},<<46>>]}]}]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,102,108,111,97,116,95,116,111,95,108,105,115,116,40,55,46,49,50,44,32,91,123,100,101,99,105,109,97,108,115,44,32,52,125,93,41,46,10,34,55,46,49,50,48,48,34,10,62,32,102,108,111,97,116,95,116,111,95,108,105,115,116,40,55,46,49,50,44,32,91,123,100,101,99,105,109,97,108,115,44,32,52,125,44,32,99,111,109,112,97,99,116,93,41,46,10,34,55,46,49,50,34,10,62,32,102,108,111,97,116,95,116,111,95,108,105,115,116,40,55,46,49,50,44,32,91,123,115,99,105,101,110,116,105,102,105,99,44,32,51,125,93,41,46,10,34,55,46,49,50,48,101,43,48,48,34,10,62,32,102,108,111,97,116,95,116,111,95,108,105,115,116,40,55,46,49,50,44,32,91,115,104,111,114,116,93,41,46,10,34,55,46,49,50,34,10,62,32,102,108,111,97,116,95,116,111,95,108,105,115,116,40,48,46,49,43,48,46,50,44,32,91,115,104,111,114,116,93,41,46,10,34,48,46,51,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,34,10,62,32,102,108,111,97,116,95,116,111,95,108,105,115,116,40,48,46,49,43,48,46,50,41,10,34,51,46,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,52,52,48,57,101,45,48,49,34>>]}]},{p,[],[<<73,110,32,116,104,101,32,108,97,115,116,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<102,108,111,97,116,95,116,111,95,108,105,115,116,40,48,46,49,43,48,46,50,41>>]},<<32,101,118,97,108,117,97,116,101,115,32,116,111,32>>,{code,[],[<<34,51,46,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,52,52,48,57,101,45,48,49,34>>]},<<46,32,84,104,101,32,114,101,97,115,111,110,32,102,111,114,32,116,104,105,115,32,105,115,32,101,120,112,108,97,105,110,101,100,32,105,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,102,108,111,97,116,95,114,101,112,114,101,115,101,110,116,97,116,105,111,110,95,112,114,111,98,108,101,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<82,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,70,108,111,97,116,105,110,103,32,80,111,105,110,116,32,78,117,109,98,101,114,115>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,51,56,55>>,signature => [{attribute,{1019,2},spec,{{float_to_list,2},[{type,{1019,20},bounded_fun,[{type,{1019,20},'fun',[{type,{1019,20},product,[{var,{1019,21},'Float'},{var,{1019,28},'Options'}]},{type,{1019,40},string,[]}]},[{type,{1020,7},constraint,[{atom,{1020,7},is_subtype},[{var,{1020,7},'Float'},{type,{1020,16},float,[]}]]},{type,{1021,7},constraint,[{atom,{1021,7},is_subtype},[{var,{1021,7},'Options'},{type,{1021,18},list,[{var,{1021,19},'Option'}]}]]},{type,{1022,7},constraint,[{atom,{1022,7},is_subtype},[{var,{1022,7},'Option'},{type,{1022,18},union,[{type,{1022,18},tuple,[{atom,{1022,19},decimals},{ann_type,{1022,29},[{var,{1022,29},'Decimals'},{type,{1022,41},range,[{integer,{1022,41},0},{integer,{1022,44},253}]}]}]},{type,{1023,18},tuple,[{atom,{1023,19},scientific},{ann_type,{1023,31},[{var,{1023,31},'Decimals'},{type,{1023,43},range,[{integer,{1023,43},0},{integer,{1023,46},249}]}]}]},{atom,{1024,18},compact},{atom,{1025,18},short}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,floor,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1031}],[<<102,108,111,111,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,108,97,114,103,101,115,116,32,105,110,116,101,103,101,114,32,110,111,116,32,103,114,101,97,116,101,114,32,116,104,97,110,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<46,32,70,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,102,108,111,111,114,40,45,49,48,46,53,41,46,10,45,49,49>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,52,52,55>>,signature => [{attribute,{1031,2},spec,{{floor,1},[{type,{1031,12},bounded_fun,[{type,{1031,12},'fun',[{type,{1031,12},product,[{var,{1031,13},'Number'}]},{type,{1031,24},integer,[]}]},[{type,{1032,7},constraint,[{atom,{1032,7},is_subtype},[{var,{1032,7},'Number'},{type,{1032,17},number,[]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,48>>}},{{function,fun_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3454}],[<<102,117,110,95,105,110,102,111,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,119,105,116,104,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,102,117,110,32>>,{code,[],[<<70,117,110>>]},<<46,32,69,97,99,104,32,108,105,115,116,32,101,108,101,109,101,110,116,32,105,115,32,97,32,116,117,112,108,101,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,116,117,112,108,101,115,32,105,115,32,117,110,100,101,102,105,110,101,100,44,32,97,110,100,32,109,111,114,101,32,116,117,112,108,101,115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,109,97,105,110,108,121,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,44,32,98,117,116,32,105,116,32,99,97,110,32,115,111,109,101,116,105,109,101,115,32,98,101,32,117,115,101,102,117,108,32,105,110,32,108,105,98,114,97,114,121,32,102,117,110,99,116,105,111,110,115,32,116,104,97,116,32,110,101,101,100,32,116,111,32,118,101,114,105,102,121,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,97,114,105,116,121,32,111,102,32,97,32,102,117,110,46>>]}]},{p,[],[<<84,119,111,32,116,121,112,101,115,32,111,102,32,102,117,110,115,32,104,97,118,101,32,115,108,105,103,104,116,108,121,32,100,105,102,102,101,114,101,110,116,32,115,101,109,97,110,116,105,99,115,58>>]},{ul,[],[{li,[],[{p,[],[<<65,32,102,117,110,32,99,114,101,97,116,101,100,32,98,121,32>>,{code,[],[<<102,117,110,32,77,58,70,47,65>>]},<<32,105,115,32,99,97,108,108,101,100,32,97,110,32>>,{em,[],[<<101,120,116,101,114,110,97,108>>]},<<32,102,117,110,46,32,67,97,108,108,105,110,103,32,105,116,32,119,105,108,108,32,97,108,119,97,121,115,32,99,97,108,108,32,116,104,101,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<70>>]},<<32,119,105,116,104,32,97,114,105,116,121,32>>,{code,[],[<<65>>]},<<32,105,110,32,116,104,101,32,108,97,116,101,115,116,32,99,111,100,101,32,102,111,114,32,109,111,100,117,108,101,32>>,{code,[],[<<77>>]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,109,111,100,117,108,101,32>>,{code,[],[<<77>>]},<<32,100,111,101,115,32,110,111,116,32,101,118,101,110,32,110,101,101,100,32,116,111,32,98,101,32,108,111,97,100,101,100,32,119,104,101,110,32,116,104,101,32,102,117,110,32>>,{code,[],[<<102,117,110,32,77,58,70,47,65>>]},<<32,105,115,32,99,114,101,97,116,101,100,46>>]}]},{li,[],[{p,[],[<<65,108,108,32,111,116,104,101,114,32,102,117,110,115,32,97,114,101,32,99,97,108,108,101,100,32>>,{em,[],[<<108,111,99,97,108>>]},<<46,32,87,104,101,110,32,97,32,108,111,99,97,108,32,102,117,110,32,105,115,32,99,97,108,108,101,100,44,32,116,104,101,32,115,97,109,101,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,99,111,100,101,32,116,104,97,116,32,99,114,101,97,116,101,100,32,116,104,101,32,102,117,110,32,105,115,32,99,97,108,108,101,100,32,40,101,118,101,110,32,105,102,32,97,32,110,101,119,101,114,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,109,111,100,117,108,101,32,104,97,115,32,98,101,101,110,32,108,111,97,100,101,100,41,46>>]}]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,101,108,101,109,101,110,116,115,32,97,114,101,32,97,108,119,97,121,115,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,108,105,115,116,32,102,111,114,32,98,111,116,104,32,108,111,99,97,108,32,97,110,100,32,101,120,116,101,114,110,97,108,32,102,117,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,116,121,112,101,44,32,84,121,112,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<84,121,112,101>>]},<<32,105,115,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,111,114,32>>,{code,[],[<<101,120,116,101,114,110,97,108>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,109,111,100,117,108,101,44,32,77,111,100,117,108,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,111,100,117,108,101>>]},<<32,40,97,110,32,97,116,111,109,41,32,105,115,32,116,104,101,32,109,111,100,117,108,101,32,110,97,109,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,32,108,111,99,97,108,32,102,117,110,44,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,105,115,32,116,104,101,32,109,111,100,117,108,101,32,105,110,32,119,104,105,99,104,32,116,104,101,32,102,117,110,32,105,115,32,100,101,102,105,110,101,100,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,110,32,101,120,116,101,114,110,97,108,32,102,117,110,44,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,105,115,32,116,104,101,32,109,111,100,117,108,101,32,116,104,97,116,32,116,104,101,32,102,117,110,32,114,101,102,101,114,115,32,116,111,46>>]}]},{dt,[],[{code,[],[<<123,110,97,109,101,44,32,78,97,109,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<78,97,109,101>>]},<<32,40,97,110,32,97,116,111,109,41,32,105,115,32,97,32,102,117,110,99,116,105,111,110,32,110,97,109,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,32,108,111,99,97,108,32,102,117,110,44,32>>,{code,[],[<<78,97,109,101>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,105,109,112,108,101,109,101,110,116,115,32,116,104,101,32,102,117,110,46,32,40,84,104,105,115,32,110,97,109,101,32,119,97,115,32,103,101,110,101,114,97,116,101,100,32,98,121,32,116,104,101,32,99,111,109,112,105,108,101,114,44,32,97,110,100,32,105,115,32,111,110,108,121,32,111,102,32,105,110,102,111,114,109,97,116,105,111,110,97,108,32,117,115,101,46,32,65,115,32,105,116,32,105,115,32,97,32,108,111,99,97,108,32,102,117,110,99,116,105,111,110,44,32,105,116,32,99,97,110,110,111,116,32,98,101,32,99,97,108,108,101,100,32,100,105,114,101,99,116,108,121,46,41,32,73,102,32,110,111,32,99,111,100,101,32,105,115,32,99,117,114,114,101,110,116,108,121,32,108,111,97,100,101,100,32,102,111,114,32,116,104,101,32,102,117,110,44,32>>,{code,[],[<<91,93>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,32,111,102,32,97,110,32,97,116,111,109,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,110,32,101,120,116,101,114,110,97,108,32,102,117,110,44,32>>,{code,[],[<<78,97,109,101>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,101,120,112,111,114,116,101,100,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,116,104,101,32,102,117,110,32,114,101,102,101,114,115,32,116,111,46>>]}]},{dt,[],[{code,[],[<<123,97,114,105,116,121,44,32,65,114,105,116,121,125>>]}]},{dd,[],[{p,[],[{code,[],[<<65,114,105,116,121>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,104,97,116,32,116,104,101,32,102,117,110,32,105,115,32,116,111,32,98,101,32,99,97,108,108,101,100,32,119,105,116,104,46>>]}]},{dt,[],[{code,[],[<<123,101,110,118,44,32,69,110,118,125>>]}]},{dd,[],[{p,[],[{code,[],[<<69,110,118>>]},<<32,40,97,32,108,105,115,116,41,32,105,115,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,111,114,32,102,114,101,101,32,118,97,114,105,97,98,108,101,115,32,102,111,114,32,116,104,101,32,102,117,110,46,32,70,111,114,32,101,120,116,101,114,110,97,108,32,102,117,110,115,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,32,105,115,32,97,108,119,97,121,115,32,101,109,112,116,121,46>>]}]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,101,108,101,109,101,110,116,115,32,97,114,101,32,111,110,108,121,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,108,105,115,116,32,105,102,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,108,111,99,97,108,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,112,105,100,44,32,80,105,100,125>>]}]},{dd,[],[{p,[],[{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,111,114,105,103,105,110,97,108,108,121,32,99,114,101,97,116,101,100,32,116,104,101,32,102,117,110,46>>]},{p,[],[<<73,116,32,109,105,103,104,116,32,112,111,105,110,116,32,116,111,32,116,104,101,32>>,{code,[],[<<105,110,105,116>>]},<<32,112,114,111,99,101,115,115,32,105,102,32,116,104,101,32>>,{code,[],[<<70,117,110>>]},<<32,119,97,115,32,115,116,97,116,105,99,97,108,108,121,32,97,108,108,111,99,97,116,101,100,32,119,104,101,110,32,109,111,100,117,108,101,32,119,97,115,32,108,111,97,100,101,100,32,40,116,104,105,115,32,111,112,116,105,109,105,115,97,116,105,111,110,32,105,115,32,112,101,114,102,111,114,109,101,100,32,102,111,114,32,108,111,99,97,108,32,102,117,110,99,116,105,111,110,115,32,116,104,97,116,32,100,111,32,110,111,116,32,99,97,112,116,117,114,101,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,41,46>>]}]},{dt,[],[{code,[],[<<123,105,110,100,101,120,44,32,73,110,100,101,120,125>>]}]},{dd,[],[{p,[],[{code,[],[<<73,110,100,101,120>>]},<<32,40,97,110,32,105,110,116,101,103,101,114,41,32,105,115,32,97,110,32,105,110,100,101,120,32,105,110,116,111,32,116,104,101,32,109,111,100,117,108,101,32,102,117,110,32,116,97,98,108,101,46>>]}]},{dt,[],[{code,[],[<<123,110,101,119,95,105,110,100,101,120,44,32,73,110,100,101,120,125>>]}]},{dd,[],[{p,[],[{code,[],[<<73,110,100,101,120>>]},<<32,40,97,110,32,105,110,116,101,103,101,114,41,32,105,115,32,97,110,32,105,110,100,101,120,32,105,110,116,111,32,116,104,101,32,109,111,100,117,108,101,32,102,117,110,32,116,97,98,108,101,46>>]}]},{dt,[],[{code,[],[<<123,110,101,119,95,117,110,105,113,44,32,85,110,105,113,125>>]}]},{dd,[],[{p,[],[{code,[],[<<85,110,105,113>>]},<<32,40,97,32,98,105,110,97,114,121,41,32,105,115,32,97,32,117,110,105,113,117,101,32,118,97,108,117,101,32,102,111,114,32,116,104,105,115,32,102,117,110,46,32,73,116,32,105,115,32,99,97,108,99,117,108,97,116,101,100,32,102,114,111,109,32,116,104,101,32,99,111,109,112,105,108,101,100,32,99,111,100,101,32,102,111,114,32,116,104,101,32,101,110,116,105,114,101,32,109,111,100,117,108,101,46>>]}]},{dt,[],[{code,[],[<<123,117,110,105,113,44,32,85,110,105,113,125>>]}]},{dd,[],[{p,[],[{code,[],[<<85,110,105,113>>]},<<32,40,97,110,32,105,110,116,101,103,101,114,41,32,105,115,32,97,32,117,110,105,113,117,101,32,118,97,108,117,101,32,102,111,114,32,116,104,105,115,32,102,117,110,46,32,65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,49,53,44,32,116,104,105,115,32,105,110,116,101,103,101,114,32,105,115,32,99,97,108,99,117,108,97,116,101,100,32,102,114,111,109,32,116,104,101,32,99,111,109,112,105,108,101,100,32,99,111,100,101,32,102,111,114,32,116,104,101,32,101,110,116,105,114,101,32,109,111,100,117,108,101,46,32,66,101,102,111,114,101,32,69,114,108,97,110,103,47,79,84,80,32,82,49,53,44,32,116,104,105,115,32,105,110,116,101,103,101,114,32,119,97,115,32,98,97,115,101,100,32,111,110,32,111,110,108,121,32,116,104,101,32,98,111,100,121,32,111,102,32,116,104,101,32,102,117,110,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,52,54,49>>,signature => [{attribute,{3454,2},spec,{{erlang,fun_info,1},[{type,{3454,22},bounded_fun,[{type,{3454,22},'fun',[{type,{3454,22},product,[{var,{3454,23},'Fun'}]},{type,{3454,31},list,[{type,{3454,32},tuple,[{var,{3454,33},'Item'},{var,{3454,39},'Info'}]}]}]},[{type,{3455,7},constraint,[{atom,{3455,7},is_subtype},[{var,{3455,7},'Fun'},{type,{3455,14},function,[]}]]},{type,{3456,7},constraint,[{atom,{3456,7},is_subtype},[{var,{3456,7},'Item'},{type,{3456,15},union,[{atom,{3456,15},arity},{atom,{3456,23},env},{atom,{3456,29},index},{atom,{3456,37},name},{atom,{3457,15},module},{atom,{3457,24},new_index},{atom,{3457,36},new_uniq},{atom,{3457,47},pid},{atom,{3457,53},type},{atom,{3457,60},uniq}]}]]},{type,{3458,7},constraint,[{atom,{3458,7},is_subtype},[{var,{3458,7},'Info'},{type,{3458,15},term,[]}]]}]]}]}}]}},{{function,fun_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1037}],[<<102,117,110,95,105,110,102,111,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<102,117,110,95,105,110,102,111,95,105,116,101,109>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32>>,{code,[],[<<70,117,110>>]},<<32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<44,32,105,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,73,116,101,109,44,73,110,102,111,125>>]},<<46>>]},{p,[],[<<70,111,114,32,97,110,121,32,102,117,110,44,32>>,{code,[],[<<73,116,101,109>>]},<<32,99,97,110,32,98,101,32,97,110,121,32,111,102,32,116,104,101,32,97,116,111,109,115,32>>,{code,[],[<<109,111,100,117,108,101>>]},<<44,32>>,{code,[],[<<110,97,109,101>>]},<<44,32>>,{code,[],[<<97,114,105,116,121>>]},<<44,32>>,{code,[],[<<101,110,118>>]},<<44,32,111,114,32>>,{code,[],[<<116,121,112,101>>]},<<46>>]},{p,[],[<<70,111,114,32,97,32,108,111,99,97,108,32,102,117,110,44,32>>,{code,[],[<<73,116,101,109>>]},<<32,99,97,110,32,97,108,115,111,32,98,101,32,97,110,121,32,111,102,32,116,104,101,32,97,116,111,109,115,32>>,{code,[],[<<105,110,100,101,120>>]},<<44,32>>,{code,[],[<<110,101,119,95,105,110,100,101,120>>]},<<44,32>>,{code,[],[<<110,101,119,95,117,110,105,113>>]},<<44,32>>,{code,[],[<<117,110,105,113>>]},<<44,32,97,110,100,32>>,{code,[],[<<112,105,100>>]},<<46,32,70,111,114,32,97,110,32,101,120,116,101,114,110,97,108,32,102,117,110,44,32,116,104,101,32,118,97,108,117,101,32,111,102,32,97,110,121,32,111,102,32,116,104,101,115,101,32,105,116,101,109,115,32,105,115,32,97,108,119,97,121,115,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,102,117,110,95,105,110,102,111,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,102,117,110,95,105,110,102,111,47,49>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,53,54,54>>,signature => [{attribute,{1037,2},spec,{{erlang,fun_info,2},[{type,{1037,22},bounded_fun,[{type,{1037,22},'fun',[{type,{1037,22},product,[{var,{1037,23},'Fun'},{var,{1037,28},'Item'}]},{type,{1037,37},tuple,[{var,{1037,38},'Item'},{var,{1037,44},'Info'}]}]},[{type,{1038,7},constraint,[{atom,{1038,7},is_subtype},[{var,{1038,7},'Fun'},{type,{1038,14},function,[]}]]},{type,{1039,7},constraint,[{atom,{1039,7},is_subtype},[{var,{1039,7},'Item'},{user_type,{1039,15},fun_info_item,[]}]]},{type,{1040,7},constraint,[{atom,{1040,7},is_subtype},[{var,{1040,7},'Info'},{type,{1040,15},term,[]}]]}]]}]}}]}},{{function,fun_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1054}],[<<102,117,110,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,116,104,97,116,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,99,111,100,101,32,116,104,97,116,32,99,114,101,97,116,101,100,32>>,{code,[],[<<70,117,110>>]},<<46>>]},{p,[],[{code,[],[<<83,116,114,105,110,103>>]},<<32,104,97,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,111,114,109,44,32,105,102,32>>,{code,[],[<<70,117,110>>]},<<32,119,97,115,32,99,114,101,97,116,101,100,32,98,121,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,102,117,110,45,101,120,112,114,101,115,115,105,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<102,117,110,32,101,120,112,114,101,115,115,105,111,110>>]},<<32,111,102,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<102,117,110,32,77,111,100,117,108,101,78,97,109,101,58,70,117,110,99,78,97,109,101,47,65,114,105,116,121>>]},<<58>>]},{p,[],[{code,[],[<<34,102,117,110,32,77,111,100,117,108,101,78,97,109,101,58,70,117,110,99,78,97,109,101,47,65,114,105,116,121,34>>]}]},{p,[],[<<84,104,101,32,102,111,114,109,32,111,102,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,119,104,101,110,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,99,114,101,97,116,101,100,32,102,114,111,109,32,111,116,104,101,114,32,116,121,112,101,115,32,111,102,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,102,117,110,45,101,120,112,114,101,115,115,105,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<102,117,110,32,101,120,112,114,101,115,115,105,111,110,115>>]},<<32,100,105,102,102,101,114,115,32,100,101,112,101,110,100,105,110,103,32,111,110,32,105,102,32,116,104,101,32,102,117,110,32,101,120,112,114,101,115,115,105,111,110,32,119,97,115,32,101,120,101,99,117,116,101,100,32,119,104,105,108,101,32,101,120,101,99,117,116,105,110,103,32,99,111,109,112,105,108,101,100,32,99,111,100,101,32,111,114,32,105,102,32,116,104,101,32,102,117,110,32,101,120,112,114,101,115,115,105,111,110,32,119,97,115,32,101,120,101,99,117,116,101,100,32,119,104,105,108,101,32,101,120,101,99,117,116,105,110,103,32,117,110,99,111,109,112,105,108,101,100,32,99,111,100,101,32,40,117,110,99,111,109,112,105,108,101,100,32,101,115,99,114,105,112,116,115,44,32,116,104,101,32,69,114,108,97,110,103,32,115,104,101,108,108,44,32,97,110,100,32,111,116,104,101,114,32,99,111,100,101,32,101,120,101,99,117,116,101,100,32,98,121,32,116,104,101,32,101,114,108,95,101,118,97,108,32,109,111,100,117,108,101,41,58>>]},{dl,[],[{dt,[],[<<99,111,109,112,105,108,101,100,32,99,111,100,101>>]},{dd,[],[{p,[],[{code,[],[<<34,35,70,117,110,60,77,46,73,46,85,62,34>>]},<<44,32,119,104,101,114,101,32,77,44,32,73,32,97,110,100,32,85,32,99,111,114,114,101,115,112,111,110,100,32,116,111,32,116,104,101,32,118,97,108,117,101,115,32,110,97,109,101,100,32>>,{code,[],[<<109,111,100,117,108,101>>]},<<44,32>>,{code,[],[<<105,110,100,101,120>>]},<<32,97,110,100,32>>,{code,[],[<<117,110,105,113>>]},<<32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,102,117,110,95,105,110,102,111,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,102,117,110,95,105,110,102,111,40,70,117,110,41>>]}]},<<46>>]}]},{dt,[],[<<117,110,99,111,109,112,105,108,101,100,32,99,111,100,101>>]},{dd,[],[<<65,108,108,32,102,117,110,115,32,99,114,101,97,116,101,100,32,102,114,111,109,32,102,117,110,32,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,117,110,99,111,109,112,105,108,101,100,32,99,111,100,101,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,97,114,105,116,121,32,97,114,101,32,109,97,112,112,101,100,32,116,111,32,116,104,101,32,115,97,109,101,32,108,105,115,116,32,98,121,32>>,{code,[],[<<102,117,110,95,116,111,95,108,105,115,116,47,49>>]},<<46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<71,101,110,101,114,97,108,108,121,44,32,111,110,101,32,99,97,110,32,110,111,116,32,117,115,101,32>>,{code,[],[<<102,117,110,95,116,111,95,108,105,115,116,47,49>>]},<<32,116,111,32,99,104,101,99,107,32,105,102,32,116,119,111,32,102,117,110,115,32,97,114,101,32,101,113,117,97,108,32,97,115,32>>,{code,[],[<<102,117,110,95,116,111,95,108,105,115,116,47,49>>]},<<32,100,111,101,115,32,110,111,116,32,116,97,107,101,32,116,104,101,32,102,117,110,39,115,32,101,110,118,105,114,111,110,109,101,110,116,32,105,110,116,111,32,97,99,99,111,117,110,116,46,32,83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,102,117,110,95,105,110,102,111,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,102,117,110,95,105,110,102,111,47,49>>]}]},<<32,102,111,114,32,104,111,119,32,116,111,32,103,101,116,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,111,102,32,97,32,102,117,110,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,111,117,116,112,117,116,32,111,102,32>>,{code,[],[<<102,117,110,95,116,111,95,108,105,115,116,47,49>>]},<<32,99,97,110,32,100,105,102,102,101,114,32,98,101,116,119,101,101,110,32,69,114,108,97,110,103,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,115,32,97,110,100,32,109,97,121,32,99,104,97,110,103,101,32,105,110,32,102,117,116,117,114,101,32,118,101,114,115,105,111,110,115,46>>]}]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<45,109,111,100,117,108,101,40,116,101,115,116,41,46,10,45,101,120,112,111,114,116,40,91,97,100,100,47,49,44,32,97,100,100,50,47,48,44,32,102,117,110,95,116,117,112,108,101,47,48,93,41,46,10,97,100,100,40,65,41,32,45,62,32,102,117,110,40,66,41,32,45,62,32,65,32,43,32,66,32,101,110,100,46,10,97,100,100,50,40,41,32,45,62,32,102,117,110,32,97,100,100,47,49,46,10,102,117,110,95,116,117,112,108,101,40,41,32,45,62,32,123,102,117,110,40,41,32,45,62,32,49,32,101,110,100,44,32,102,117,110,40,41,32,45,62,32,49,32,101,110,100,125,46,10,32,32,32,32,32,32,32,32>>]}]},{pre,[],[{code,[],[<<62,32,123,102,117,110,32,116,101,115,116,58,97,100,100,47,49,44,32,116,101,115,116,58,97,100,100,50,40,41,125,46,10,123,102,117,110,32,116,101,115,116,58,97,100,100,47,49,44,35,70,117,110,60,116,101,115,116,46,49,46,49,48,55,55,51,56,57,56,51,62,125>>]}]},{p,[],[<<69,120,112,108,97,110,97,116,105,111,110,58,32>>,{code,[],[<<102,117,110,32,116,101,115,116,58,97,100,100,47,49>>]},<<32,105,115,32,117,112,103,114,97,100,97,98,108,101,32,98,117,116,32>>,{code,[],[<<116,101,115,116,58,97,100,100,50,40,41>>]},<<32,105,115,32,110,111,116,32,117,112,103,114,97,100,97,98,108,101,46>>]},{pre,[],[{code,[],[<<62,32,123,116,101,115,116,58,97,100,100,40,49,41,44,32,116,101,115,116,58,97,100,100,40,52,50,41,125,46,10,123,35,70,117,110,60,116,101,115,116,46,48,46,49,48,55,55,51,56,57,56,51,62,44,35,70,117,110,60,116,101,115,116,46,48,46,49,48,55,55,51,56,57,56,51,62,125>>]}]},{p,[],[<<69,120,112,108,97,110,97,116,105,111,110,58,32>>,{code,[],[<<116,101,115,116,58,97,100,100,40,49,41>>]},<<32,97,110,100,32>>,{code,[],[<<116,101,115,116,58,97,100,100,40,52,50,41>>]},<<32,104,97,115,32,116,104,101,32,115,97,109,101,32,115,116,114,105,110,103,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,97,115,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,105,115,32,110,111,116,32,116,97,107,101,110,32,105,110,116,111,32,97,99,99,111,117,110,116,46>>]},{pre,[],[{code,[],[<<62,116,101,115,116,58,102,117,110,95,116,117,112,108,101,40,41,46,10,123,35,70,117,110,60,116,101,115,116,46,50,46,49,48,55,55,51,56,57,56,51,62,44,35,70,117,110,60,116,101,115,116,46,51,46,49,48,55,55,51,56,57,56,51,62,125>>]}]},{p,[],[<<69,120,112,108,97,110,97,116,105,111,110,58,32,84,104,101,32,115,116,114,105,110,103,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,115,32,100,105,102,102,101,114,32,98,101,99,97,117,115,101,32,116,104,101,32,102,117,110,115,32,99,111,109,101,32,102,114,111,109,32,100,105,102,102,101,114,101,110,116,32,102,117,110,32,101,120,112,114,101,115,115,105,111,110,115,46>>]},{pre,[],[{code,[],[<<62,32,123,102,117,110,40,41,32,45,62,32,49,32,101,110,100,44,32,102,117,110,40,41,32,45,62,32,49,32,101,110,100,125,46,32,62,32,10,123,35,70,117,110,60,101,114,108,95,101,118,97,108,46,52,53,46,57,55,50,56,51,48,57,53,62,44,35,70,117,110,60,101,114,108,95,101,118,97,108,46,52,53,46,57,55,50,56,51,48,57,53,62,125>>]}]},{p,[],[<<69,120,112,108,97,110,97,116,105,111,110,58,32,65,108,108,32,102,117,110,115,32,99,114,101,97,116,101,100,32,102,114,111,109,32,102,117,110,32,101,120,112,114,101,115,115,105,111,110,115,32,111,102,32,116,104,105,115,32,102,111,114,109,32,105,110,32,117,110,99,111,109,112,105,108,101,100,32,99,111,100,101,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,97,114,105,116,121,32,97,114,101,32,109,97,112,112,101,100,32,116,111,32,116,104,101,32,115,97,109,101,32,108,105,115,116,32,98,121,32>>,{code,[],[<<102,117,110,95,116,111,95,108,105,115,116,47,49>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,53,56,54>>,signature => [{attribute,{1054,2},spec,{{erlang,fun_to_list,1},[{type,{1054,25},bounded_fun,[{type,{1054,25},'fun',[{type,{1054,25},product,[{var,{1054,26},'Fun'}]},{ann_type,{1054,34},[{var,{1054,34},'String'},{type,{1054,44},string,[]}]}]},[{type,{1055,7},constraint,[{atom,{1055,7},is_subtype},[{var,{1055,7},'Fun'},{type,{1055,14},function,[]}]]}]]}]}}]}},{{function,function_exported,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1060}],[<<102,117,110,99,116,105,111,110,95,101,120,112,111,114,116,101,100,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,109,111,100,117,108,101,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,105,115,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,99,111,100,101,95,108,111,97,100,105,110,103,35,99,111,100,101,45,114,101,112,108,97,99,101,109,101,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<99,117,114,114,101,110,116>>]},<<32,97,110,100,32,99,111,110,116,97,105,110,115,32,97,110,32,101,120,112,111,114,116,101,100,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<70,117,110,99,116,105,111,110,47,65,114,105,116,121>>]},<<44,32,111,114,32,105,102,32,116,104,101,114,101,32,105,115,32,97,32,66,73,70,32,40,97,32,98,117,105,108,116,45,105,110,32,102,117,110,99,116,105,111,110,32,105,109,112,108,101,109,101,110,116,101,100,32,105,110,32,67,41,32,119,105,116,104,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,110,97,109,101,44,32,111,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,54,55,53>>,signature => [{attribute,{1060,2},spec,{{erlang,function_exported,3},[{type,{1060,31},bounded_fun,[{type,{1060,31},'fun',[{type,{1060,31},product,[{var,{1060,32},'Module'},{var,{1060,40},'Function'},{var,{1060,50},'Arity'}]},{type,{1060,60},boolean,[]}]},[{type,{1061,7},constraint,[{atom,{1061,7},is_subtype},[{var,{1061,7},'Module'},{type,{1061,17},module,[]}]]},{type,{1062,7},constraint,[{atom,{1062,7},is_subtype},[{var,{1062,7},'Function'},{type,{1062,19},atom,[]}]]},{type,{1063,7},constraint,[{atom,{1063,7},is_subtype},[{var,{1063,7},'Arity'},{type,{1063,16},arity,[]}]]}]]}]}}]}},{{function,garbage_collect,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1068}],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,48>>],#{<<101,110>> => [{p,[],[<<70,111,114,99,101,115,32,97,110,32,105,109,109,101,100,105,97,116,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,116,104,101,32,101,120,101,99,117,116,105,110,103,32,112,114,111,99,101,115,115,46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,117,110,108,101,115,115,32,105,116,32,104,97,115,32,98,101,101,110,32,110,111,116,105,99,101,100,32,40,111,114,32,116,104,101,114,101,32,97,114,101,32,103,111,111,100,32,114,101,97,115,111,110,115,32,116,111,32,115,117,115,112,101,99,116,41,32,116,104,97,116,32,116,104,101,32,115,112,111,110,116,97,110,101,111,117,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,119,105,108,108,32,111,99,99,117,114,32,116,111,111,32,108,97,116,101,32,111,114,32,110,111,116,32,97,116,32,97,108,108,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<73,109,112,114,111,112,101,114,32,117,115,101,32,99,97,110,32,115,101,114,105,111,117,115,108,121,32,100,101,103,114,97,100,101,32,115,121,115,116,101,109,32,112,101,114,102,111,114,109,97,110,99,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,54,56,55>>,signature => [{attribute,{1068,2},spec,{{garbage_collect,0},[{type,{1068,22},'fun',[{type,{1068,22},product,[]},{atom,{1068,28},true}]}]}}]}},{{function,garbage_collect,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1073}],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,40,80,105,100,44,32,91,93,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,55,48,51>>,signature => [{attribute,{1073,2},spec,{{garbage_collect,1},[{type,{1073,22},bounded_fun,[{type,{1073,22},'fun',[{type,{1073,22},product,[{var,{1073,23},'Pid'}]},{var,{1073,31},'GCResult'}]},[{type,{1074,7},constraint,[{atom,{1074,7},is_subtype},[{var,{1074,7},'Pid'},{type,{1074,14},pid,[]}]]},{type,{1075,7},constraint,[{atom,{1075,7},is_subtype},[{var,{1075,7},'GCResult'},{type,{1075,19},boolean,[]}]]}]]}]}}]}},{{function,garbage_collect,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1089}],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,50>>],#{<<101,110>> => [{p,[],[<<71,97,114,98,97,103,101,32,99,111,108,108,101,99,116,115,32,116,104,101,32,110,111,100,101,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<46>>]},{p,[],[{code,[],[<<79,112,116,105,111,110>>]},<<58>>]},{dl,[],[{dt,[],[{code,[],[<<123,97,115,121,110,99,44,32,82,101,113,117,101,115,116,73,100,125>>]}]},{dd,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,50>>]},<<32,114,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<97,115,121,110,99>>]},<<32,105,109,109,101,100,105,97,116,101,108,121,32,97,102,116,101,114,32,116,104,101,32,114,101,113,117,101,115,116,32,104,97,115,32,98,101,101,110,32,115,101,110,116,46,32,87,104,101,110,32,116,104,101,32,114,101,113,117,101,115,116,32,104,97,115,32,98,101,101,110,32,112,114,111,99,101,115,115,101,100,44,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,99,97,108,108,101,100,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,112,97,115,115,101,100,32,97,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,44,32,82,101,113,117,101,115,116,73,100,44,32,71,67,82,101,115,117,108,116,125>>]},<<46>>]},{dt,[],[{code,[],[<<123,116,121,112,101,44,32,39,109,97,106,111,114,39,32,124,32,39,109,105,110,111,114,39,125>>]}]},{dd,[],[<<84,114,105,103,103,101,114,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,114,101,113,117,101,115,116,101,100,32,116,121,112,101,46,32,68,101,102,97,117,108,116,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<39,109,97,106,111,114,39>>]},<<44,32,119,104,105,99,104,32,119,111,117,108,100,32,116,114,105,103,103,101,114,32,97,32,102,117,108,108,115,119,101,101,112,32,71,67,46,32,84,104,101,32,111,112,116,105,111,110,32>>,{code,[],[<<39,109,105,110,111,114,39>>]},<<32,105,115,32,99,111,110,115,105,100,101,114,101,100,32,97,32,104,105,110,116,32,97,110,100,32,109,97,121,32,108,101,97,100,32,116,111,32,101,105,116,104,101,114,32,109,105,110,111,114,32,111,114,32,109,97,106,111,114,32,71,67,32,114,117,110,46>>]}]},{p,[],[<<73,102,32>>,{code,[],[<<80,105,100>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<115,101,108,102,40,41>>]},<<44,32,97,110,100,32,110,111,32>>,{code,[],[<<97,115,121,110,99>>]},<<32,111,112,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,97,115,115,101,100,44,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,112,101,114,102,111,114,109,101,100,32,97,116,32,111,110,99,101,44,32,116,104,97,116,32,105,115,44,32,116,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,48>>]}]},<<46,32,79,116,104,101,114,119,105,115,101,32,97,32,114,101,113,117,101,115,116,32,102,111,114,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<44,32,97,110,100,32,119,105,108,108,32,98,101,32,104,97,110,100,108,101,100,32,119,104,101,110,32,97,112,112,114,111,112,114,105,97,116,101,46,32,73,102,32,110,111,32>>,{code,[],[<<97,115,121,110,99>>]},<<32,111,112,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,97,115,115,101,100,44,32,116,104,101,32,99,97,108,108,101,114,32,98,108,111,99,107,115,32,117,110,116,105,108,32>>,{code,[],[<<71,67,82,101,115,117,108,116>>]},<<32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,110,100,32,99,97,110,32,98,101,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[{code,[],[<<71,67,82,101,115,117,108,116>>]},<<32,105,110,102,111,114,109,115,32,97,98,111,117,116,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,114,101,113,117,101,115,116,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[<<84,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,104,97,115,32,98,101,101,110,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,46>>]},{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[<<78,111,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,119,97,115,32,112,101,114,102,111,114,109,101,100,44,32,97,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,116,101,114,109,105,110,97,116,101,100,32,98,101,102,111,114,101,32,116,104,101,32,114,101,113,117,101,115,116,32,99,111,117,108,100,32,98,101,32,115,97,116,105,115,102,105,101,100,46>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,115,97,109,101,32,99,97,118,101,97,116,115,32,97,112,112,108,121,32,97,115,32,102,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,48>>]}]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,110,111,116,32,97,32,110,111,100,101,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,116,105,111,110,76,105,115,116>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,108,105,115,116,32,111,102,32,111,112,116,105,111,110,115,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,55,49,51>>,signature => [{attribute,{1089,2},spec,{{garbage_collect,2},[{type,{1089,22},bounded_fun,[{type,{1089,22},'fun',[{type,{1089,22},product,[{var,{1089,23},'Pid'},{var,{1089,28},'OptionList'}]},{type,{1089,43},union,[{var,{1089,43},'GCResult'},{atom,{1089,54},async}]}]},[{type,{1090,7},constraint,[{atom,{1090,7},is_subtype},[{var,{1090,7},'Pid'},{type,{1090,14},pid,[]}]]},{type,{1091,7},constraint,[{atom,{1091,7},is_subtype},[{var,{1091,7},'RequestId'},{type,{1091,20},term,[]}]]},{type,{1092,7},constraint,[{atom,{1092,7},is_subtype},[{var,{1092,7},'Option'},{type,{1092,17},union,[{type,{1092,17},tuple,[{atom,{1092,18},async},{var,{1092,25},'RequestId'}]},{type,{1092,38},tuple,[{atom,{1092,39},type},{type,{1092,45},union,[{atom,{1092,45},major},{atom,{1092,55},minor}]}]}]}]]},{type,{1093,7},constraint,[{atom,{1093,7},is_subtype},[{var,{1093,7},'OptionList'},{type,{1093,21},list,[{var,{1093,22},'Option'}]}]]},{type,{1094,7},constraint,[{atom,{1094,7},is_subtype},[{var,{1094,7},'GCResult'},{type,{1094,19},boolean,[]}]]}]]}]}}],since => <<79,84,80,32,49,55,46,48>>}},{{function,get,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1139}],[<<103,101,116,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,32,97,115,32,97,32,108,105,115,116,32,111,102,32>>,{code,[],[<<123,75,101,121,44,32,86,97,108,125>>]},<<32,116,117,112,108,101,115,46,32,84,104,101,32,105,116,101,109,115,32,105,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,32,99,97,110,32,98,101,32,105,110,32,97,110,121,32,111,114,100,101,114,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,112,117,116,40,107,101,121,49,44,32,109,101,114,114,121,41,44,10,112,117,116,40,107,101,121,50,44,32,108,97,109,98,115,41,44,10,112,117,116,40,107,101,121,51,44,32,123,97,114,101,44,32,112,108,97,121,105,110,103,125,41,44,10,103,101,116,40,41,46,10,91,123,107,101,121,49,44,109,101,114,114,121,125,44,123,107,101,121,50,44,108,97,109,98,115,125,44,123,107,101,121,51,44,123,97,114,101,44,112,108,97,121,105,110,103,125,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,55,55,56>>,signature => [{attribute,{1139,2},spec,{{get,0},[{type,{1139,10},bounded_fun,[{type,{1139,10},'fun',[{type,{1139,10},product,[]},{type,{1139,16},list,[{type,{1139,17},tuple,[{var,{1139,18},'Key'},{var,{1139,23},'Val'}]}]}]},[{type,{1140,7},constraint,[{atom,{1140,7},is_subtype},[{var,{1140,7},'Key'},{type,{1140,14},term,[]}]]},{type,{1141,7},constraint,[{atom,{1141,7},is_subtype},[{var,{1141,7},'Val'},{type,{1141,14},term,[]}]]}]]}]}}]}},{{function,get,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1146}],[<<103,101,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<86,97,108>>]},<<32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32>>,{code,[],[<<75,101,121>>]},<<32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32>>,{code,[],[<<75,101,121>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,32,84,104,101,32,101,120,112,101,99,116,101,100,32,116,105,109,101,32,99,111,109,112,108,101,120,105,116,121,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,79,40>>,{code,[],[<<49>>]},<<41,32,97,110,100,32,116,104,101,32,119,111,114,115,116,32,99,97,115,101,32,116,105,109,101,32,99,111,109,112,108,101,120,105,116,121,32,105,115,32,79,40>>,{code,[],[<<78>>]},<<41,44,32,119,104,101,114,101,32>>,{code,[],[<<78>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,105,116,101,109,115,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,112,117,116,40,107,101,121,49,44,32,109,101,114,114,121,41,44,10,112,117,116,40,107,101,121,50,44,32,108,97,109,98,115,41,44,10,112,117,116,40,123,97,110,121,44,32,91,118,97,108,105,100,44,32,116,101,114,109,93,125,44,32,123,97,114,101,44,32,112,108,97,121,105,110,103,125,41,44,10,103,101,116,40,123,97,110,121,44,32,91,118,97,108,105,100,44,32,116,101,114,109,93,125,41,46,10,123,97,114,101,44,112,108,97,121,105,110,103,125>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,55,57,53>>,signature => [{attribute,{1146,2},spec,{{get,1},[{type,{1146,10},bounded_fun,[{type,{1146,10},'fun',[{type,{1146,10},product,[{var,{1146,11},'Key'}]},{type,{1146,19},union,[{var,{1146,19},'Val'},{atom,{1146,25},undefined}]}]},[{type,{1147,7},constraint,[{atom,{1147,7},is_subtype},[{var,{1147,7},'Key'},{type,{1147,14},term,[]}]]},{type,{1148,7},constraint,[{atom,{1148,7},is_subtype},[{var,{1148,7},'Val'},{type,{1148,14},term,[]}]]}]]}]}}]}},{{function,get_cookie,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3814}],[<<103,101,116,95,99,111,111,107,105,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,97,103,105,99,32,99,111,111,107,105,101,32,111,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,102,32,116,104,101,32,110,111,100,101,32,105,115,32,97,108,105,118,101,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<110,111,99,111,111,107,105,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,56,49,53>>,signature => [{attribute,{3814,2},spec,{{erlang,get_cookie,0},[{type,{3814,24},bounded_fun,[{type,{3814,24},'fun',[{type,{3814,24},product,[]},{type,{3814,30},union,[{var,{3814,30},'Cookie'},{atom,{3814,39},nocookie}]}]},[{type,{3815,7},constraint,[{atom,{3815,7},is_subtype},[{var,{3815,7},'Cookie'},{type,{3815,17},atom,[]}]]}]]}]}}]}},{{function,get_cookie,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3819}],[<<103,101,116,95,99,111,111,107,105,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,97,103,105,99,32,99,111,111,107,105,101,32,102,111,114,32,110,111,100,101,32>>,{code,[],[<<78,111,100,101>>]},<<32,105,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,97,108,105,118,101,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<110,111,99,111,111,107,105,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,56,50,52>>,signature => [{attribute,{3819,2},spec,{{erlang,get_cookie,1},[{type,{3819,24},bounded_fun,[{type,{3819,24},'fun',[{type,{3819,24},product,[{var,{3819,25},'Node'}]},{type,{3819,34},union,[{var,{3819,34},'Cookie'},{atom,{3819,43},nocookie}]}]},[{type,{3820,7},constraint,[{atom,{3820,7},is_subtype},[{var,{3820,7},'Node'},{type,{3820,15},node,[]}]]},{type,{3821,7},constraint,[{atom,{3821,7},is_subtype},[{var,{3821,7},'Cookie'},{type,{3821,17},atom,[]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,49>>}},{{function,get_keys,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1153}],[<<103,101,116,95,107,101,121,115,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,97,108,108,32,107,101,121,115,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46,32,84,104,101,32,105,116,101,109,115,32,105,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,32,99,97,110,32,98,101,32,105,110,32,97,110,121,32,111,114,100,101,114,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,112,117,116,40,100,111,103,44,32,123,97,110,105,109,97,108,44,49,125,41,44,10,112,117,116,40,99,111,119,44,32,123,97,110,105,109,97,108,44,50,125,41,44,10,112,117,116,40,108,97,109,98,44,32,123,97,110,105,109,97,108,44,51,125,41,44,10,103,101,116,95,107,101,121,115,40,41,46,10,91,100,111,103,44,99,111,119,44,108,97,109,98,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,56,51,52>>,signature => [{attribute,{1153,2},spec,{{get_keys,0},[{type,{1153,15},bounded_fun,[{type,{1153,15},'fun',[{type,{1153,15},product,[]},{type,{1153,21},list,[{var,{1153,22},'Key'}]}]},[{type,{1154,7},constraint,[{atom,{1154,7},is_subtype},[{var,{1154,7},'Key'},{type,{1154,14},term,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,get_keys,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1159}],[<<103,101,116,95,107,101,121,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,107,101,121,115,32,116,104,97,116,32,97,114,101,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<86,97,108>>]},<<32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46,32,84,104,101,32,105,116,101,109,115,32,105,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,32,99,97,110,32,98,101,32,105,110,32,97,110,121,32,111,114,100,101,114,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,112,117,116,40,109,97,114,121,44,32,123,49,44,32,50,125,41,44,10,112,117,116,40,104,97,100,44,32,123,49,44,32,50,125,41,44,10,112,117,116,40,97,44,32,123,49,44,32,50,125,41,44,10,112,117,116,40,108,105,116,116,108,101,44,32,123,49,44,32,50,125,41,44,10,112,117,116,40,100,111,103,44,32,123,49,44,32,51,125,41,44,10,112,117,116,40,108,97,109,98,44,32,123,49,44,32,50,125,41,44,10,103,101,116,95,107,101,121,115,40,123,49,44,32,50,125,41,46,10,91,109,97,114,121,44,104,97,100,44,97,44,108,105,116,116,108,101,44,108,97,109,98,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,56,53,49>>,signature => [{attribute,{1159,2},spec,{{get_keys,1},[{type,{1159,15},bounded_fun,[{type,{1159,15},'fun',[{type,{1159,15},product,[{var,{1159,16},'Val'}]},{type,{1159,24},list,[{var,{1159,25},'Key'}]}]},[{type,{1160,7},constraint,[{atom,{1160,7},is_subtype},[{var,{1160,7},'Val'},{type,{1160,14},term,[]}]]},{type,{1161,7},constraint,[{atom,{1161,7},is_subtype},[{var,{1161,7},'Key'},{type,{1161,14},term,[]}]]}]]}]}}]}},{{function,group_leader,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1173}],[<<103,114,111,117,112,95,108,101,97,100,101,114,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32,101,118,97,108,117,97,116,105,110,103,32,116,104,101,32,102,117,110,99,116,105,111,110,46>>]},{p,[],[<<69,118,101,114,121,32,112,114,111,99,101,115,115,32,105,115,32,97,32,109,101,109,98,101,114,32,111,102,32,115,111,109,101,32,112,114,111,99,101,115,115,32,103,114,111,117,112,32,97,110,100,32,97,108,108,32,103,114,111,117,112,115,32,104,97,118,101,32,97,32>>,{em,[],[<<103,114,111,117,112,32,108,101,97,100,101,114>>]},<<46,32,65,108,108,32,73,47,79,32,102,114,111,109,32,116,104,101,32,103,114,111,117,112,32,105,115,32,99,104,97,110,110,101,108,101,100,32,116,111,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,46,32,87,104,101,110,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,105,115,32,115,112,97,119,110,101,100,44,32,105,116,32,103,101,116,115,32,116,104,101,32,115,97,109,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,97,115,32,116,104,101,32,115,112,97,119,110,105,110,103,32,112,114,111,99,101,115,115,46,32,73,110,105,116,105,97,108,108,121,44,32,97,116,32,115,121,115,116,101,109,32,115,116,97,114,116,117,112,44,32>>,{code,[],[<<105,110,105,116>>]},<<32,105,115,32,98,111,116,104,32,105,116,115,32,111,119,110,32,103,114,111,117,112,32,108,101,97,100,101,114,32,97,110,100,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,111,102,32,97,108,108,32,112,114,111,99,101,115,115,101,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,56,55,49>>,signature => [{attribute,{1173,2},spec,{{group_leader,0},[{type,{1173,19},'fun',[{type,{1173,19},product,[]},{type,{1173,25},pid,[]}]}]}}]}},{{function,group_leader,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1178}],[<<103,114,111,117,112,95,108,101,97,100,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,111,102,32>>,{code,[],[<<80,105,100>>]},<<32,116,111,32>>,{code,[],[<<71,114,111,117,112,76,101,97,100,101,114>>]},<<46,32,84,121,112,105,99,97,108,108,121,44,32,116,104,105,115,32,105,115,32,117,115,101,100,32,119,104,101,110,32,97,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,102,114,111,109,32,97,32,99,101,114,116,97,105,110,32,115,104,101,108,108,32,105,115,32,116,111,32,104,97,118,101,32,97,110,111,116,104,101,114,32,103,114,111,117,112,32,108,101,97,100,101,114,32,116,104,97,110,32>>,{code,[],[<<105,110,105,116>>]},<<46>>]},{p,[],[<<84,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,115,104,111,117,108,100,32,98,101,32,114,97,114,101,108,121,32,99,104,97,110,103,101,100,32,105,110,32,97,112,112,108,105,99,97,116,105,111,110,115,32,119,105,116,104,32,97,32,115,117,112,101,114,118,105,115,105,111,110,32,116,114,101,101,44,32,98,101,99,97,117,115,101,32,79,84,80,32,97,115,115,117,109,101,115,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,111,102,32,116,104,101,105,114,32,112,114,111,99,101,115,115,101,115,32,105,115,32,116,104,101,105,114,32,97,112,112,108,105,99,97,116,105,111,110,32,109,97,115,116,101,114,46>>]},{p,[],[<<83,101,116,116,105,110,103,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,102,111,108,108,111,119,115,32,116,104,101,32,115,105,103,110,97,108,32,111,114,100,101,114,105,110,103,32,103,117,97,114,97,110,116,101,101,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<80,114,111,99,101,115,115,101,115,32,67,104,97,112,116,101,114>>]},<<32,105,110,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,103,114,111,117,112,95,108,101,97,100,101,114,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<103,114,111,117,112,95,108,101,97,100,101,114,47,48>>]}]},<<32,97,110,100,32>>,{a,[{href,<<115,121,115,116,101,109,47,100,101,115,105,103,110,95,112,114,105,110,99,105,112,108,101,115,58,97,112,112,108,105,99,97,116,105,111,110,115,35,115,116,111,112,112,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,84,80,32,100,101,115,105,103,110,32,112,114,105,110,99,105,112,108,101,115>>]},<<32,114,101,108,97,116,101,100,32,116,111,32,115,116,97,114,116,105,110,103,32,97,110,100,32,115,116,111,112,112,105,110,103,32,97,112,112,108,105,99,97,116,105,111,110,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,56,56,54>>,signature => [{attribute,{1178,2},spec,{{group_leader,2},[{type,{1178,19},bounded_fun,[{type,{1178,19},'fun',[{type,{1178,19},product,[{var,{1178,20},'GroupLeader'},{var,{1178,33},'Pid'}]},{atom,{1178,41},true}]},[{type,{1179,7},constraint,[{atom,{1179,7},is_subtype},[{var,{1179,7},'GroupLeader'},{type,{1179,22},pid,[]}]]},{type,{1180,7},constraint,[{atom,{1180,7},is_subtype},[{var,{1180,7},'Pid'},{type,{1180,14},pid,[]}]]}]]}]}}]}},{{function,halt,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1198}],[<<104,97,108,116,47,48>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,104,97,108,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<104,97,108,116,40,48,44,32,91,93,41>>]}]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,104,97,108,116,40,41,46,10,111,115,95,112,114,111,109,112,116,37>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,57,49,49>>,signature => [{attribute,{1198,2},spec,{{halt,0},[{type,{1198,11},'fun',[{type,{1198,11},product,[]},{type,{1198,17},no_return,[]}]}]}}]}},{{function,halt,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1204}],[<<104,97,108,116,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,104,97,108,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<104,97,108,116,40,83,116,97,116,117,115,44,32,91,93,41>>]}]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,104,97,108,116,40,49,55,41,46,10,111,115,95,112,114,111,109,112,116,37,32,101,99,104,111,32,36,63,10,49,55,10,111,115,95,112,114,111,109,112,116,37>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,57,50,52>>,signature => [{attribute,{1204,2},spec,{{halt,1},[{type,{1204,11},bounded_fun,[{type,{1204,11},'fun',[{type,{1204,11},product,[{var,{1204,12},'Status'}]},{type,{1204,23},no_return,[]}]},[{type,{1205,7},constraint,[{atom,{1205,7},is_subtype},[{var,{1205,7},'Status'},{type,{1205,17},union,[{type,{1205,17},non_neg_integer,[]},{atom,{1205,37},abort},{type,{1205,47},string,[]}]}]]}]]}]}}]}},{{function,halt,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1216}],[<<104,97,108,116,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<83,116,97,116,117,115>>]},<<32,109,117,115,116,32,98,101,32,97,32,110,111,110,45,110,101,103,97,116,105,118,101,32,105,110,116,101,103,101,114,44,32,97,32,115,116,114,105,110,103,44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<97,98,111,114,116>>]},<<46,32,72,97,108,116,115,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,72,97,115,32,110,111,32,114,101,116,117,114,110,32,118,97,108,117,101,46,32,68,101,112,101,110,100,105,110,103,32,111,110,32>>,{code,[],[<<83,116,97,116,117,115>>]},<<44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,111,99,99,117,114,115,58>>]},{dl,[],[{dt,[],[<<105,110,116,101,103,101,114,40,41>>]},{dd,[],[<<84,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,101,120,105,116,115,32,119,105,116,104,32,105,110,116,101,103,101,114,32,118,97,108,117,101,32>>,{code,[],[<<83,116,97,116,117,115>>]},<<32,97,115,32,115,116,97,116,117,115,32,99,111,100,101,32,116,111,32,116,104,101,32,99,97,108,108,105,110,103,32,101,110,118,105,114,111,110,109,101,110,116,32,40,79,83,41,46>>,{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,110,32,109,97,110,121,32,112,108,97,116,102,111,114,109,115,44,32,116,104,101,32,79,83,32,115,117,112,112,111,114,116,115,32,111,110,108,121,32,115,116,97,116,117,115,32,99,111,100,101,115,32,48,45,50,53,53,46,32,65,32,116,111,111,32,108,97,114,103,101,32,115,116,97,116,117,115,32,99,111,100,101,32,105,115,32,116,114,117,110,99,97,116,101,100,32,98,121,32,99,108,101,97,114,105,110,103,32,116,104,101,32,104,105,103,104,32,98,105,116,115,46>>]}]}]},{dt,[],[<<115,116,114,105,110,103,40,41>>]},{dd,[],[<<65,110,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,32,105,115,32,112,114,111,100,117,99,101,100,32,119,105,116,104,32>>,{code,[],[<<83,116,97,116,117,115>>]},<<32,97,115,32,115,108,111,103,97,110,46,32,84,104,101,110,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,101,120,105,116,115,32,119,105,116,104,32,115,116,97,116,117,115,32,99,111,100,101,32>>,{code,[],[<<49>>]},<<46,32,84,104,101,32,115,116,114,105,110,103,32,119,105,108,108,32,98,101,32,116,114,117,110,99,97,116,101,100,32,105,102,32,108,111,110,103,101,114,32,116,104,97,110,32,50,48,48,32,99,104,97,114,97,99,116,101,114,115,46>>,{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<66,101,102,111,114,101,32,69,82,84,83,32,57,46,49,32,40,79,84,80,45,50,48,46,49,41,32,111,110,108,121,32,99,111,100,101,32,112,111,105,110,116,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32,48,45,50,53,53,32,119,97,115,32,97,99,99,101,112,116,101,100,32,105,110,32,116,104,101,32,115,116,114,105,110,103,46,32,78,111,119,32,97,110,121,32,117,110,105,99,111,100,101,32,115,116,114,105,110,103,32,105,115,32,118,97,108,105,100,46>>]}]}]},{dt,[],[{code,[],[<<97,98,111,114,116>>]}]},{dd,[],[<<84,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,97,98,111,114,116,115,32,112,114,111,100,117,99,105,110,103,32,97,32,99,111,114,101,32,100,117,109,112,44,32,105,102,32,116,104,97,116,32,105,115,32,101,110,97,98,108,101,100,32,105,110,32,116,104,101,32,79,83,46>>]}]},{p,[],[<<70,111,114,32,105,110,116,101,103,101,114,32>>,{code,[],[<<83,116,97,116,117,115>>]},<<44,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,99,108,111,115,101,115,32,97,108,108,32,112,111,114,116,115,32,97,110,100,32,97,108,108,111,119,115,32,97,115,121,110,99,32,116,104,114,101,97,100,115,32,116,111,32,102,105,110,105,115,104,32,116,104,101,105,114,32,111,112,101,114,97,116,105,111,110,115,32,98,101,102,111,114,101,32,101,120,105,116,105,110,103,46,32,84,111,32,101,120,105,116,32,119,105,116,104,111,117,116,32,115,117,99,104,32,102,108,117,115,104,105,110,103,44,32,117,115,101,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<32,97,115,32>>,{code,[],[<<123,102,108,117,115,104,44,102,97,108,115,101,125>>]},<<46>>]},{p,[],[<<70,111,114,32,115,116,97,116,117,115,101,115,32>>,{code,[],[<<115,116,114,105,110,103,40,41>>]},<<32,97,110,100,32>>,{code,[],[<<97,98,111,114,116>>]},<<44,32,111,112,116,105,111,110,32>>,{code,[],[<<102,108,117,115,104>>]},<<32,105,115,32,105,103,110,111,114,101,100,32,97,110,100,32,102,108,117,115,104,105,110,103,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,100,111,110,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,57,51,56>>,signature => [{attribute,{1216,2},spec,{{halt,2},[{type,{1216,11},bounded_fun,[{type,{1216,11},'fun',[{type,{1216,11},product,[{var,{1216,12},'Status'},{var,{1216,20},'Options'}]},{type,{1216,32},no_return,[]}]},[{type,{1217,7},constraint,[{atom,{1217,7},is_subtype},[{var,{1217,7},'Status'},{type,{1217,17},union,[{type,{1217,17},non_neg_integer,[]},{atom,{1217,37},abort},{type,{1217,47},string,[]}]}]]},{type,{1218,7},constraint,[{atom,{1218,7},is_subtype},[{var,{1218,7},'Options'},{type,{1218,18},list,[{var,{1218,19},'Option'}]}]]},{type,{1219,7},constraint,[{atom,{1219,7},is_subtype},[{var,{1219,7},'Option'},{type,{1219,17},tuple,[{atom,{1219,18},flush},{type,{1219,25},boolean,[]}]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66,48,49>>}},{{function,hd,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2196}],[<<104,100,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,104,101,97,100,32,111,102,32>>,{code,[],[<<76,105,115,116>>]},<<44,32,116,104,97,116,32,105,115,44,32,116,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,104,100,40,91,49,44,50,44,51,44,52,44,53,93,41,46,10,49>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<76,105,115,116>>]},<<32,105,115,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,57,56,48>>,signature => [{attribute,{2196,2},spec,{{hd,1},[{type,{2196,9},bounded_fun,[{type,{2196,9},'fun',[{type,{2196,9},product,[{var,{2196,10},'List'}]},{type,{2196,19},term,[]}]},[{type,{2197,7},constraint,[{atom,{2197,7},is_subtype},[{var,{2197,7},'List'},{type,{2197,15},nonempty_list,[{type,{2197,16},term,[]}]}]]}]]}]}}]}},{{function,hibernate,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1230}],[<<104,105,98,101,114,110,97,116,101,47,51>>],#{<<101,110>> => [{p,[],[<<80,117,116,115,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,110,116,111,32,97,32,119,97,105,116,32,115,116,97,116,101,32,119,104,101,114,101,32,105,116,115,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,114,101,100,117,99,101,100,32,97,115,32,109,117,99,104,32,97,115,32,112,111,115,115,105,98,108,101,46,32,84,104,105,115,32,105,115,32,117,115,101,102,117,108,32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,100,111,101,115,32,110,111,116,32,101,120,112,101,99,116,32,116,111,32,114,101,99,101,105,118,101,32,97,110,121,32,109,101,115,115,97,103,101,115,32,115,111,111,110,46>>]},{p,[],[<<84,104,101,32,112,114,111,99,101,115,115,32,105,115,32,97,119,97,107,101,110,32,119,104,101,110,32,97,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,116,111,32,105,116,44,32,97,110,100,32,99,111,110,116,114,111,108,32,114,101,115,117,109,101,115,32,105,110,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,119,105,116,104,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<65,114,103,115>>]},<<32,119,105,116,104,32,116,104,101,32,99,97,108,108,32,115,116,97,99,107,32,101,109,112,116,105,101,100,44,32,109,101,97,110,105,110,103,32,116,104,97,116,32,116,104,101,32,112,114,111,99,101,115,115,32,116,101,114,109,105,110,97,116,101,115,32,119,104,101,110,32,116,104,97,116,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,46,32,84,104,117,115,32>>,{code,[],[<<101,114,108,97,110,103,58,104,105,98,101,114,110,97,116,101,47,51>>]},<<32,110,101,118,101,114,32,114,101,116,117,114,110,115,32,116,111,32,105,116,115,32,99,97,108,108,101,114,46,32,84,104,101,32,114,101,115,117,109,101,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,47,65,114,105,116,121>>]},<<32,109,117,115,116,32,98,101,32,101,120,112,111,114,116,101,100,32,40>>,{code,[],[<<65,114,105,116,121>>]},<<32,61,58,61,32>>,{code,[],[<<108,101,110,103,116,104,40,65,114,103,115,41>>]},<<41,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,115,32,97,110,121,32,109,101,115,115,97,103,101,32,105,110,32,105,116,115,32,109,101,115,115,97,103,101,32,113,117,101,117,101,44,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,97,119,97,107,101,110,101,100,32,105,109,109,101,100,105,97,116,101,108,121,32,105,110,32,116,104,101,32,115,97,109,101,32,119,97,121,32,97,115,32,100,101,115,99,114,105,98,101,100,32,101,97,114,108,105,101,114,46>>]},{p,[],[<<73,110,32,109,111,114,101,32,116,101,99,104,110,105,99,97,108,32,116,101,114,109,115,44,32>>,{code,[],[<<101,114,108,97,110,103,58,104,105,98,101,114,110,97,116,101,47,51>>]},<<32,100,105,115,99,97,114,100,115,32,116,104,101,32,99,97,108,108,32,115,116,97,99,107,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,44,32,97,110,100,32,116,104,101,110,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,115,32,116,104,101,32,112,114,111,99,101,115,115,46,32,65,102,116,101,114,32,116,104,105,115,44,32,97,108,108,32,108,105,118,101,32,100,97,116,97,32,105,115,32,105,110,32,111,110,101,32,99,111,110,116,105,110,117,111,117,115,32,104,101,97,112,46,32,84,104,101,32,104,101,97,112,32,105,115,32,116,104,101,110,32,115,104,114,117,110,107,101,110,32,116,111,32,116,104,101,32,101,120,97,99,116,32,115,97,109,101,32,115,105,122,101,32,97,115,32,116,104,101,32,108,105,118,101,32,100,97,116,97,32,116,104,97,116,32,105,116,32,104,111,108,100,115,32,40,101,118,101,110,32,105,102,32,116,104,97,116,32,115,105,122,101,32,105,115,32,108,101,115,115,32,116,104,97,110,32,116,104,101,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,41,46>>]},{p,[],[<<73,102,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,108,105,118,101,32,100,97,116,97,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,108,101,115,115,32,116,104,97,110,32,116,104,101,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,44,32,116,104,101,32,102,105,114,115,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,111,99,99,117,114,114,105,110,103,32,97,102,116,101,114,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,97,119,97,107,101,110,101,100,32,101,110,115,117,114,101,115,32,116,104,97,116,32,116,104,101,32,104,101,97,112,32,115,105,122,101,32,105,115,32,99,104,97,110,103,101,100,32,116,111,32,97,32,115,105,122,101,32,110,111,116,32,115,109,97,108,108,101,114,32,116,104,97,110,32,116,104,101,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,101,109,112,116,121,105,110,103,32,116,104,101,32,99,97,108,108,32,115,116,97,99,107,32,109,101,97,110,115,32,116,104,97,116,32,97,110,121,32,115,117,114,114,111,117,110,100,105,110,103,32>>,{code,[],[<<99,97,116,99,104>>]},<<32,105,115,32,114,101,109,111,118,101,100,32,97,110,100,32,109,117,115,116,32,98,101,32,114,101,45,105,110,115,101,114,116,101,100,32,97,102,116,101,114,32,104,105,98,101,114,110,97,116,105,111,110,46,32,79,110,101,32,101,102,102,101,99,116,32,111,102,32,116,104,105,115,32,105,115,32,116,104,97,116,32,112,114,111,99,101,115,115,101,115,32,115,116,97,114,116,101,100,32,117,115,105,110,103,32>>,{code,[],[<<112,114,111,99,95,108,105,98>>]},<<32,40,97,108,115,111,32,105,110,100,105,114,101,99,116,108,121,44,32,115,117,99,104,32,97,115,32>>,{code,[],[<<103,101,110,95,115,101,114,118,101,114>>]},<<32,112,114,111,99,101,115,115,101,115,41,44,32,97,114,101,32,116,111,32,117,115,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,112,114,111,99,95,108,105,98,35,104,105,98,101,114,110,97,116,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,95,108,105,98,58,104,105,98,101,114,110,97,116,101,47,51>>]}]},<<32,105,110,115,116,101,97,100,44,32,116,111,32,101,110,115,117,114,101,32,116,104,97,116,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,104,97,110,100,108,101,114,32,99,111,110,116,105,110,117,101,115,32,116,111,32,119,111,114,107,32,119,104,101,110,32,116,104,101,32,112,114,111,99,101,115,115,32,119,97,107,101,115,32,117,112,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,57,57,53>>,signature => [{attribute,{1230,2},spec,{{erlang,hibernate,3},[{type,{1230,23},bounded_fun,[{type,{1230,23},'fun',[{type,{1230,23},product,[{var,{1230,24},'Module'},{var,{1230,32},'Function'},{var,{1230,42},'Args'}]},{type,{1230,51},no_return,[]}]},[{type,{1231,7},constraint,[{atom,{1231,7},is_subtype},[{var,{1231,7},'Module'},{type,{1231,17},module,[]}]]},{type,{1232,7},constraint,[{atom,{1232,7},is_subtype},[{var,{1232,7},'Function'},{type,{1232,19},atom,[]}]]},{type,{1233,7},constraint,[{atom,{1233,7},is_subtype},[{var,{1233,7},'Args'},{type,{1233,15},list,[{type,{1233,16},term,[]}]}]]}]]}]}}]}},{{function,insert_element,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1238}],[<<105,110,115,101,114,116,95,101,108,101,109,101,110,116,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,110,101,119,32,116,117,112,108,101,32,119,105,116,104,32,101,108,101,109,101,110,116,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,110,115,101,114,116,101,100,32,97,116,32,112,111,115,105,116,105,111,110,32>>,{code,[],[<<73,110,100,101,120>>]},<<32,105,110,32,116,117,112,108,101,32>>,{code,[],[<<84,117,112,108,101,49>>]},<<46,32,65,108,108,32,101,108,101,109,101,110,116,115,32,102,114,111,109,32,112,111,115,105,116,105,111,110,32>>,{code,[],[<<73,110,100,101,120>>]},<<32,97,110,100,32,117,112,119,97,114,100,115,32,97,114,101,32,112,117,115,104,101,100,32,111,110,101,32,115,116,101,112,32,104,105,103,104,101,114,32,105,110,32,116,104,101,32,110,101,119,32,116,117,112,108,101,32>>,{code,[],[<<84,117,112,108,101,50>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,105,110,115,101,114,116,95,101,108,101,109,101,110,116,40,50,44,32,123,111,110,101,44,32,116,119,111,44,32,116,104,114,101,101,125,44,32,110,101,119,41,46,10,123,111,110,101,44,110,101,119,44,116,119,111,44,116,104,114,101,101,125>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,48,51,57>>,signature => [{attribute,{1238,2},spec,{{erlang,insert_element,3},[{type,{1238,28},bounded_fun,[{type,{1238,28},'fun',[{type,{1238,28},product,[{var,{1238,29},'Index'},{var,{1238,36},'Tuple1'},{var,{1238,44},'Term'}]},{var,{1238,53},'Tuple2'}]},[{type,{1239,7},constraint,[{atom,{1239,7},is_subtype},[{var,{1239,7},'Index'},{type,{1239,17},pos_integer,[]}]]},{type,{1240,7},constraint,[{atom,{1240,7},is_subtype},[{var,{1240,7},'Tuple1'},{type,{1240,17},tuple,any}]]},{type,{1241,7},constraint,[{atom,{1241,7},is_subtype},[{var,{1241,7},'Tuple2'},{type,{1241,17},tuple,any}]]},{type,{1242,7},constraint,[{atom,{1242,7},is_subtype},[{var,{1242,7},'Term'},{type,{1242,17},term,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,integer_to_binary,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1247}],[<<105,110,116,101,103,101,114,95,116,111,95,98,105,110,97,114,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<73,110,116,101,103,101,114>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,105,110,116,101,103,101,114,95,116,111,95,98,105,110,97,114,121,40,55,55,41,46,10,60,60,34,55,55,34,62,62>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,48,53,55>>,signature => [{attribute,{1247,2},spec,{{integer_to_binary,1},[{type,{1247,24},bounded_fun,[{type,{1247,24},'fun',[{type,{1247,24},product,[{var,{1247,25},'Integer'}]},{type,{1247,37},binary,[]}]},[{type,{1248,7},constraint,[{atom,{1248,7},is_subtype},[{var,{1248,7},'Integer'},{type,{1248,18},integer,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,integer_to_binary,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3834}],[<<105,110,116,101,103,101,114,95,116,111,95,98,105,110,97,114,121,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<73,110,116,101,103,101,114>>]},<<32,105,110,32,98,97,115,101,32>>,{code,[],[<<66,97,115,101>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,105,110,116,101,103,101,114,95,116,111,95,98,105,110,97,114,121,40,49,48,50,51,44,32,49,54,41,46,10,60,60,34,51,70,70,34,62,62>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,48,54,57>>,signature => [{attribute,{3834,2},spec,{{integer_to_binary,2},[{type,{3834,24},bounded_fun,[{type,{3834,24},'fun',[{type,{3834,24},product,[{var,{3834,25},'Integer'},{var,{3834,34},'Base'}]},{type,{3834,43},binary,[]}]},[{type,{3835,7},constraint,[{atom,{3835,7},is_subtype},[{var,{3835,7},'Integer'},{type,{3835,18},integer,[]}]]},{type,{3836,7},constraint,[{atom,{3836,7},is_subtype},[{var,{3836,7},'Base'},{type,{3836,15},range,[{integer,{3836,15},2},{integer,{3836,18},36}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,integer_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1253}],[<<105,110,116,101,103,101,114,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<73,110,116,101,103,101,114>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,105,110,116,101,103,101,114,95,116,111,95,108,105,115,116,40,55,55,41,46,10,34,55,55,34>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,48,56,50>>,signature => [{attribute,{1253,2},spec,{{integer_to_list,1},[{type,{1253,22},bounded_fun,[{type,{1253,22},'fun',[{type,{1253,22},product,[{var,{1253,23},'Integer'}]},{type,{1253,35},string,[]}]},[{type,{1254,7},constraint,[{atom,{1254,7},is_subtype},[{var,{1254,7},'Integer'},{type,{1254,18},integer,[]}]]}]]}]}}]}},{{function,integer_to_list,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3828}],[<<105,110,116,101,103,101,114,95,116,111,95,108,105,115,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<73,110,116,101,103,101,114>>]},<<32,105,110,32,98,97,115,101,32>>,{code,[],[<<66,97,115,101>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,105,110,116,101,103,101,114,95,116,111,95,108,105,115,116,40,49,48,50,51,44,32,49,54,41,46,10,34,51,70,70,34>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,48,57,52>>,signature => [{attribute,{3828,2},spec,{{integer_to_list,2},[{type,{3828,22},bounded_fun,[{type,{3828,22},'fun',[{type,{3828,22},product,[{var,{3828,23},'Integer'},{var,{3828,32},'Base'}]},{type,{3828,41},string,[]}]},[{type,{3829,7},constraint,[{atom,{3829,7},is_subtype},[{var,{3829,7},'Integer'},{type,{3829,18},integer,[]}]]},{type,{3830,7},constraint,[{atom,{3830,7},is_subtype},[{var,{3830,7},'Base'},{type,{3830,15},range,[{integer,{3830,15},2},{integer,{3830,18},36}]}]]}]]}]}}]}},{{function,iolist_size,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1259}],[<<105,111,108,105,115,116,95,115,105,122,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,44,32,116,104,97,116,32,105,115,32,116,104,101,32,115,105,122,101,32,105,110,32,98,121,116,101,115,44,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,116,104,97,116,32,119,111,117,108,100,32,98,101,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32>>,{code,[],[<<105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,73,116,101,109,41>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,105,111,108,105,115,116,95,115,105,122,101,40,91,49,44,50,124,60,60,51,44,52,62,62,93,41,46,10,52>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,49,48,55>>,signature => [{attribute,{1259,2},spec,{{iolist_size,1},[{type,{1259,18},bounded_fun,[{type,{1259,18},'fun',[{type,{1259,18},product,[{var,{1259,19},'Item'}]},{type,{1259,28},non_neg_integer,[]}]},[{type,{1260,7},constraint,[{atom,{1260,7},is_subtype},[{var,{1260,7},'Item'},{type,{1260,15},union,[{type,{1260,15},iolist,[]},{type,{1260,26},binary,[]}]}]]}]]}]}}]}},{{function,iolist_to_binary,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1265}],[<<105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,116,104,97,116,32,105,115,32,109,97,100,101,32,102,114,111,109,32,116,104,101,32,105,110,116,101,103,101,114,115,32,97,110,100,32,98,105,110,97,114,105,101,115,32,105,110,32>>,{code,[],[<<73,111,76,105,115,116,79,114,66,105,110,97,114,121>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,66,105,110,49,32,61,32,60,60,49,44,50,44,51,62,62,46,10,60,60,49,44,50,44,51,62,62,10,62,32,66,105,110,50,32,61,32,60,60,52,44,53,62,62,46,10,60,60,52,44,53,62,62,10,62,32,66,105,110,51,32,61,32,60,60,54,62,62,46,10,60,60,54,62,62,10,62,32,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,91,66,105,110,49,44,49,44,91,50,44,51,44,66,105,110,50,93,44,52,124,66,105,110,51,93,41,46,10,60,60,49,44,50,44,51,44,49,44,50,44,51,44,52,44,53,44,52,44,54,62,62>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,49,50,48>>,signature => [{attribute,{1265,2},spec,{{iolist_to_binary,1},[{type,{1265,23},bounded_fun,[{type,{1265,23},'fun',[{type,{1265,23},product,[{var,{1265,24},'IoListOrBinary'}]},{type,{1265,43},binary,[]}]},[{type,{1266,7},constraint,[{atom,{1266,7},is_subtype},[{var,{1266,7},'IoListOrBinary'},{type,{1266,25},union,[{type,{1266,25},iolist,[]},{type,{1266,36},binary,[]}]}]]}]]}]}}]}},{{function,iolist_to_iovec,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1271}],[<<105,111,108,105,115,116,95,116,111,95,105,111,118,101,99,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,105,111,118,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<105,111,118,101,99>>]},<<32,116,104,97,116,32,105,115,32,109,97,100,101,32,102,114,111,109,32,116,104,101,32,105,110,116,101,103,101,114,115,32,97,110,100,32,98,105,110,97,114,105,101,115,32,105,110,32>>,{code,[],[<<73,111,76,105,115,116,79,114,66,105,110,97,114,121>>]},<<46,32,84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,102,117,108,32,119,104,101,110,32,121,111,117,32,119,97,110,116,32,116,111,32,102,108,97,116,116,101,110,32,97,110,32,105,111,108,105,115,116,32,98,117,116,32,121,111,117,32,100,111,32,110,111,116,32,110,101,101,100,32,97,32,115,105,110,103,108,101,32,98,105,110,97,114,121,46,32,84,104,105,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,32,102,111,114,32,112,97,115,115,105,110,103,32,116,104,101,32,100,97,116,97,32,116,111,32,110,105,102,32,102,117,110,99,116,105,111,110,115,32,115,117,99,104,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,110,105,102,35,101,110,105,102,95,105,110,115,112,101,99,116,95,105,111,118,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,110,105,102,95,105,110,115,112,101,99,116,95,105,111,118,101,99>>]}]},<<32,111,114,32,100,111,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,109,101,115,115,97,103,101,32,112,97,115,115,105,110,103,46,32,84,104,101,32,97,100,118,97,110,116,97,103,101,32,111,102,32,117,115,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,111,118,101,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49>>]}]},<<32,105,115,32,116,104,97,116,32,105,116,32,100,111,101,115,32,110,111,116,32,104,97,118,101,32,116,111,32,99,111,112,121,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,98,105,110,97,114,121,104,97,110,100,108,105,110,103,35,114,101,102,99,95,98,105,110,97,114,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<111,102,102,45,104,101,97,112,32,98,105,110,97,114,105,101,115>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,66,105,110,49,32,61,32,60,60,49,44,50,44,51,62,62,46,10,60,60,49,44,50,44,51,62,62,10,62,32,66,105,110,50,32,61,32,60,60,52,44,53,62,62,46,10,60,60,52,44,53,62,62,10,62,32,66,105,110,51,32,61,32,60,60,54,62,62,46,10,60,60,54,62,62,10,37,37,32,73,102,32,121,111,117,32,112,97,115,115,32,115,109,97,108,108,32,98,105,110,97,114,105,101,115,32,97,110,100,32,105,110,116,101,103,101,114,115,32,105,116,32,119,111,114,107,115,32,97,115,32,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,10,62,32,101,114,108,97,110,103,58,105,111,108,105,115,116,95,116,111,95,105,111,118,101,99,40,91,66,105,110,49,44,49,44,91,50,44,51,44,66,105,110,50,93,44,52,124,66,105,110,51,93,41,46,10,91,60,60,49,44,50,44,51,44,49,44,50,44,51,44,52,44,53,44,52,44,54,62,62,93,10,37,37,32,73,102,32,121,111,117,32,112,97,115,115,32,108,97,114,103,101,114,32,98,105,110,97,114,105,101,115,44,32,116,104,101,121,32,97,114,101,32,115,112,108,105,116,32,97,110,100,32,114,101,116,117,114,110,101,100,32,105,110,32,97,32,102,111,114,109,10,37,37,32,111,112,116,105,109,105,122,101,100,32,102,111,114,32,99,97,108,108,105,110,103,32,116,104,101,32,67,32,102,117,110,99,116,105,111,110,32,119,114,105,116,101,118,46,10,62,32,101,114,108,97,110,103,58,105,111,108,105,115,116,95,116,111,95,105,111,118,101,99,40,91,60,60,49,62,62,44,60,60,50,58,56,48,57,54,62,62,44,60,60,51,58,56,48,57,54,62,62,93,41,46,10,91,60,60,49,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,10,32,32,32,48,44,46,46,46,62,62,44,10,32,60,60,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,10,32,32,32,46,46,46,62,62,44,10,32,60,60,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,46,46,46,62,62,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,49,51,56>>,signature => [{attribute,{1271,2},spec,{{erlang,iolist_to_iovec,1},[{type,{1271,29},bounded_fun,[{type,{1271,29},'fun',[{type,{1271,29},product,[{var,{1271,30},'IoListOrBinary'}]},{user_type,{1271,49},iovec,[]}]},[{type,{1272,7},constraint,[{atom,{1272,7},is_subtype},[{var,{1272,7},'IoListOrBinary'},{type,{1272,25},union,[{type,{1272,25},iolist,[]},{type,{1272,36},binary,[]}]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,49>>}},{{function,is_alive,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1277}],[<<105,115,95,97,108,105,118,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,97,108,105,118,101,32,40,116,104,97,116,32,105,115,44,32,105,102,32,116,104,101,32,110,111,100,101,32,99,97,110,32,98,101,32,112,97,114,116,32,111,102,32,97,32,100,105,115,116,114,105,98,117,116,101,100,32,115,121,115,116,101,109,41,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46,32,65,32,110,111,100,101,32,105,115,32,97,108,105,118,101,32,105,102,32,105,116,32,105,115,32,115,116,97,114,116,101,100,32,119,105,116,104,58>>]},{ol,[],[{li,[],[{a,[{href,<<101,114,116,115,58,101,114,108,35,110,97,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<34,101,114,108,32,45,110,97,109,101,32,76,79,78,71,78,65,77,69,34>>]}]},<<32,111,114,44>>]},{li,[],[{a,[{href,<<101,114,116,115,58,101,114,108,35,115,110,97,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<34,101,114,108,32,45,115,110,97,109,101,32,83,72,79,82,84,78,65,77,69,34>>]}]},<<46>>]}]},{p,[],[<<65,32,110,111,100,101,32,99,97,110,32,97,108,115,111,32,98,101,32,97,108,105,118,101,32,105,102,32,105,116,32,104,97,115,32,103,111,116,32,97,32,110,97,109,101,32,102,114,111,109,32,97,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,110,101,116,95,107,101,114,110,101,108,35,115,116,97,114,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,101,116,95,107,101,114,110,101,108,58,115,116,97,114,116,47,49>>]}]},<<32,97,110,100,32,104,97,115,32,110,111,116,32,98,101,101,110,32,115,116,111,112,112,101,100,32,98,121,32,97,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,110,101,116,95,107,101,114,110,101,108,35,115,116,111,112,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,101,116,95,107,101,114,110,101,108,58,115,116,111,112,47,48>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,49,55,53>>,signature => [{attribute,{1277,2},spec,{{is_alive,0},[{type,{1277,15},'fun',[{type,{1277,15},product,[]},{type,{1277,21},boolean,[]}]}]}}]}},{{function,is_atom,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2204}],[<<105,115,95,97,116,111,109,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,110,32,97,116,111,109,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,49,57,52>>,signature => [{attribute,{2204,2},spec,{{is_atom,1},[{type,{2204,14},bounded_fun,[{type,{2204,14},'fun',[{type,{2204,14},product,[{var,{2204,15},'Term'}]},{type,{2204,24},boolean,[]}]},[{type,{2205,7},constraint,[{atom,{2205,7},is_subtype},[{var,{2205,7},'Term'},{type,{2205,15},term,[]}]]}]]}]}}]}},{{function,is_binary,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2210}],[<<105,115,95,98,105,110,97,114,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,98,105,110,97,114,121,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,32,98,105,110,97,114,121,32,97,108,119,97,121,115,32,99,111,110,116,97,105,110,115,32,97,32,99,111,109,112,108,101,116,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,48,52>>,signature => [{attribute,{2210,2},spec,{{is_binary,1},[{type,{2210,16},bounded_fun,[{type,{2210,16},'fun',[{type,{2210,16},product,[{var,{2210,17},'Term'}]},{type,{2210,26},boolean,[]}]},[{type,{2211,7},constraint,[{atom,{2211,7},is_subtype},[{var,{2211,7},'Term'},{type,{2211,15},term,[]}]]}]]}]}}]}},{{function,is_bitstring,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2216}],[<<105,115,95,98,105,116,115,116,114,105,110,103,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,98,105,116,115,116,114,105,110,103,32,40,105,110,99,108,117,100,105,110,103,32,97,32,98,105,110,97,114,121,41,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,49,53>>,signature => [{attribute,{2216,2},spec,{{is_bitstring,1},[{type,{2216,19},bounded_fun,[{type,{2216,19},'fun',[{type,{2216,19},product,[{var,{2216,20},'Term'}]},{type,{2216,29},boolean,[]}]},[{type,{2217,7},constraint,[{atom,{2217,7},is_subtype},[{var,{2217,7},'Term'},{type,{2217,15},term,[]}]]}]]}]}}]}},{{function,is_boolean,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2222}],[<<105,115,95,98,111,111,108,101,97,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<116,114,117,101>>]},<<32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,40,116,104,97,116,32,105,115,44,32,97,32,98,111,111,108,101,97,110,41,46,32,79,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,50,53>>,signature => [{attribute,{2222,2},spec,{{is_boolean,1},[{type,{2222,17},bounded_fun,[{type,{2222,17},'fun',[{type,{2222,17},product,[{var,{2222,18},'Term'}]},{type,{2222,27},boolean,[]}]},[{type,{2223,7},constraint,[{atom,{2223,7},is_subtype},[{var,{2223,7},'Term'},{type,{2223,15},term,[]}]]}]]}]}}]}},{{function,is_builtin,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1282}],[<<105,115,95,98,117,105,108,116,105,110,47,51>>],#{<<101,110>> => [{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,117,115,101,102,117,108,32,102,111,114,32,98,117,105,108,100,101,114,115,32,111,102,32,99,114,111,115,115,45,114,101,102,101,114,101,110,99,101,32,116,111,111,108,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,47,65,114,105,116,121>>]},<<32,105,115,32,97,32,66,73,70,32,105,109,112,108,101,109,101,110,116,101,100,32,105,110,32,67,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,51,54>>,signature => [{attribute,{1282,2},spec,{{erlang,is_builtin,3},[{type,{1282,24},bounded_fun,[{type,{1282,24},'fun',[{type,{1282,24},product,[{var,{1282,25},'Module'},{var,{1282,33},'Function'},{var,{1282,43},'Arity'}]},{type,{1282,53},boolean,[]}]},[{type,{1283,7},constraint,[{atom,{1283,7},is_subtype},[{var,{1283,7},'Module'},{type,{1283,17},module,[]}]]},{type,{1284,7},constraint,[{atom,{1284,7},is_subtype},[{var,{1284,7},'Function'},{type,{1284,19},atom,[]}]]},{type,{1285,7},constraint,[{atom,{1285,7},is_subtype},[{var,{1285,7},'Arity'},{type,{1285,16},arity,[]}]]}]]}]}}]}},{{function,is_float,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2228}],[<<105,115,95,102,108,111,97,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,102,108,111,97,116,105,110,103,32,112,111,105,110,116,32,110,117,109,98,101,114,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,52,55>>,signature => [{attribute,{2228,2},spec,{{is_float,1},[{type,{2228,15},bounded_fun,[{type,{2228,15},'fun',[{type,{2228,15},product,[{var,{2228,16},'Term'}]},{type,{2228,25},boolean,[]}]},[{type,{2229,7},constraint,[{atom,{2229,7},is_subtype},[{var,{2229,7},'Term'},{type,{2229,15},term,[]}]]}]]}]}}]}},{{function,is_function,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2234}],[<<105,115,95,102,117,110,99,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,102,117,110,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,53,55>>,signature => [{attribute,{2234,2},spec,{{is_function,1},[{type,{2234,18},bounded_fun,[{type,{2234,18},'fun',[{type,{2234,18},product,[{var,{2234,19},'Term'}]},{type,{2234,28},boolean,[]}]},[{type,{2235,7},constraint,[{atom,{2235,7},is_subtype},[{var,{2235,7},'Term'},{type,{2235,15},term,[]}]]}]]}]}}]}},{{function,is_function,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2240}],[<<105,115,95,102,117,110,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,102,117,110,32,116,104,97,116,32,99,97,110,32,98,101,32,97,112,112,108,105,101,100,32,119,105,116,104,32>>,{code,[],[<<65,114,105,116,121>>]},<<32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,54,55>>,signature => [{attribute,{2240,2},spec,{{is_function,2},[{type,{2240,18},bounded_fun,[{type,{2240,18},'fun',[{type,{2240,18},product,[{var,{2240,19},'Term'},{var,{2240,25},'Arity'}]},{type,{2240,35},boolean,[]}]},[{type,{2241,7},constraint,[{atom,{2241,7},is_subtype},[{var,{2241,7},'Term'},{type,{2241,15},term,[]}]]},{type,{2242,7},constraint,[{atom,{2242,7},is_subtype},[{var,{2242,7},'Arity'},{type,{2242,16},arity,[]}]]}]]}]}}]}},{{function,is_integer,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2247}],[<<105,115,95,105,110,116,101,103,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,55,57>>,signature => [{attribute,{2247,2},spec,{{is_integer,1},[{type,{2247,17},bounded_fun,[{type,{2247,17},'fun',[{type,{2247,17},product,[{var,{2247,18},'Term'}]},{type,{2247,27},boolean,[]}]},[{type,{2248,7},constraint,[{atom,{2248,7},is_subtype},[{var,{2248,7},'Term'},{type,{2248,15},term,[]}]]}]]}]}}]}},{{function,is_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2253}],[<<105,115,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,108,105,115,116,32,119,105,116,104,32,122,101,114,111,32,111,114,32,109,111,114,101,32,101,108,101,109,101,110,116,115,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,56,57>>,signature => [{attribute,{2253,2},spec,{{is_list,1},[{type,{2253,14},bounded_fun,[{type,{2253,14},'fun',[{type,{2253,14},product,[{var,{2253,15},'Term'}]},{type,{2253,24},boolean,[]}]},[{type,{2254,7},constraint,[{atom,{2254,7},is_subtype},[{var,{2254,7},'Term'},{type,{2254,15},term,[]}]]}]]}]}}]}},{{function,is_map,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2271}],[<<105,115,95,109,97,112,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,109,97,112,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,57,57>>,signature => [{attribute,{2271,2},spec,{{is_map,1},[{type,{2271,13},bounded_fun,[{type,{2271,13},'fun',[{type,{2271,13},product,[{var,{2271,14},'Term'}]},{type,{2271,23},boolean,[]}]},[{type,{2272,7},constraint,[{atom,{2272,7},is_subtype},[{var,{2272,7},'Term'},{type,{2272,15},term,[]}]]}]]}]}}],since => <<79,84,80,32,49,55,46,48>>}},{{function,is_map_key,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1290}],[<<105,115,95,109,97,112,95,107,101,121,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,109,97,112,32>>,{code,[],[<<77,97,112>>]},<<32,99,111,110,116,97,105,110,115,32>>,{code,[],[<<75,101,121>>]},<<32,97,110,100,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,105,116,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,116,104,101,32>>,{code,[],[<<75,101,121>>]},<<46>>]},{p,[],[<<84,104,101,32,99,97,108,108,32,102,97,105,108,115,32,119,105,116,104,32,97,32>>,{code,[],[<<123,98,97,100,109,97,112,44,77,97,112,125>>]},<<32,101,120,99,101,112,116,105,111,110,32,105,102,32>>,{code,[],[<<77,97,112>>]},<<32,105,115,32,110,111,116,32,97,32,109,97,112,46>>]},{p,[],[{em,[],[<<69,120,97,109,112,108,101,58>>]}]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<62,32,77,97,112,32,61,32,35,123,34,52,50,34,32,61,62,32,118,97,108,117,101,125,46,10,35,123,34,52,50,34,32,61,62,32,118,97,108,117,101,125,10,62,32,105,115,95,109,97,112,95,107,101,121,40,34,52,50,34,44,77,97,112,41,46,10,116,114,117,101,10,62,32,105,115,95,109,97,112,95,107,101,121,40,118,97,108,117,101,44,77,97,112,41,46,10,102,97,108,115,101>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,51,48,57>>,signature => [{attribute,{1290,2},spec,{{is_map_key,2},[{type,{1290,17},bounded_fun,[{type,{1290,17},'fun',[{type,{1290,17},product,[{var,{1290,18},'Key'},{var,{1290,23},'Map'}]},{type,{1290,31},boolean,[]}]},[{type,{1291,5},constraint,[{atom,{1291,5},is_subtype},[{var,{1291,5},'Key'},{type,{1291,12},term,[]}]]},{type,{1292,5},constraint,[{atom,{1292,5},is_subtype},[{var,{1292,5},'Map'},{type,{1292,12},map,any}]]}]]}]}}],since => <<79,84,80,32,50,49,46,48>>}},{{function,is_number,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2259}],[<<105,115,95,110,117,109,98,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,111,114,32,97,32,102,108,111,97,116,105,110,103,32,112,111,105,110,116,32,110,117,109,98,101,114,46,32,79,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,51,51,48>>,signature => [{attribute,{2259,2},spec,{{is_number,1},[{type,{2259,16},bounded_fun,[{type,{2259,16},'fun',[{type,{2259,16},product,[{var,{2259,17},'Term'}]},{type,{2259,26},boolean,[]}]},[{type,{2260,7},constraint,[{atom,{2260,7},is_subtype},[{var,{2260,7},'Term'},{type,{2260,15},term,[]}]]}]]}]}}]}},{{function,is_pid,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2265}],[<<105,115,95,112,105,100,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,51,52,48>>,signature => [{attribute,{2265,2},spec,{{is_pid,1},[{type,{2265,13},bounded_fun,[{type,{2265,13},'fun',[{type,{2265,13},product,[{var,{2265,14},'Term'}]},{type,{2265,23},boolean,[]}]},[{type,{2266,7},constraint,[{atom,{2266,7},is_subtype},[{var,{2266,7},'Term'},{type,{2266,15},term,[]}]]}]]}]}}]}},{{function,is_port,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2277}],[<<105,115,95,112,111,114,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,51,53,48>>,signature => [{attribute,{2277,2},spec,{{is_port,1},[{type,{2277,14},bounded_fun,[{type,{2277,14},'fun',[{type,{2277,14},product,[{var,{2277,15},'Term'}]},{type,{2277,24},boolean,[]}]},[{type,{2278,7},constraint,[{atom,{2278,7},is_subtype},[{var,{2278,7},'Term'},{type,{2278,15},term,[]}]]}]]}]}}]}},{{function,is_process_alive,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1297}],[<<105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,47,49>>],#{<<101,110>> => [{p,[],[{code,[],[<<80,105,100>>]},<<32,109,117,115,116,32,114,101,102,101,114,32,116,111,32,97,32,112,114,111,99,101,115,115,32,97,116,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,101,120,105,115,116,115,32,97,110,100,32,105,115,32,97,108,105,118,101,44,32,116,104,97,116,32,105,115,44,32,105,115,32,110,111,116,32,101,120,105,116,105,110,103,32,97,110,100,32,104,97,115,32,110,111,116,32,101,120,105,116,101,100,46,32,79,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<73,102,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,49>>]},<<32,99,97,108,108,115,32>>,{code,[],[<<105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,40,80,50,80,105,100,41>>]},<<32,105,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,104,97,116,32,97,108,108,32,115,105,103,110,97,108,115,44,32,115,101,110,116,32,102,114,111,109,32>>,{code,[],[<<80,49>>]},<<32,116,111,32>>,{code,[],[<<80,50>>]},<<32,40>>,{code,[],[<<80,50>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,119,105,116,104,32,105,100,101,110,116,105,102,105,101,114,32>>,{code,[],[<<80,50,80,105,100>>]},<<41,32,98,101,102,111,114,101,32,116,104,101,32,99,97,108,108,44,32,119,105,108,108,32,98,101,32,100,101,108,105,118,101,114,101,100,32,116,111,32>>,{code,[],[<<80,50>>]},<<32,98,101,102,111,114,101,32,116,104,101,32,97,108,105,118,101,110,101,115,115,32,111,102,32>>,{code,[],[<<80,50>>]},<<32,105,115,32,99,104,101,99,107,101,100,46,32,84,104,105,115,32,103,117,97,114,97,110,116,101,101,32,109,101,97,110,115,32,116,104,97,116,32,111,110,101,32,99,97,110,32,117,115,101,32>>,{code,[],[<<105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,47,49>>]},<<32,116,111,32,108,101,116,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,49>>]},<<32,119,97,105,116,32,117,110,116,105,108,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,50>>]},<<44,32,119,104,105,99,104,32,104,97,115,32,103,111,116,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<107,105,108,108>>]},<<32,102,114,111,109,32,80,49,44,32,105,115,32,107,105,108,108,101,100,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<101,120,105,116,40,80,50,80,105,100,44,32,107,105,108,108,41,44,10,37,32,80,50,32,109,105,103,104,116,32,110,111,116,32,98,101,32,107,105,108,108,101,100,10,105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,40,80,50,80,105,100,41,44,10,37,32,80,50,32,105,115,32,110,111,116,32,97,108,105,118,101,32,40,116,104,101,32,99,97,108,108,32,97,98,111,118,101,32,97,108,119,97,121,115,32,114,101,116,117,114,110,32,102,97,108,115,101,41>>]}]},{p,[],[<<83,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,97,98,111,117,116,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,105,103,110,97,108,115>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,105,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<101,114,108,97,110,103,58,101,120,105,116,47,50>>]},<<32,102,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,115,105,103,110,97,108,115,32,97,110,100,32,101,120,105,116,32,115,105,103,110,97,108,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,51,54,48>>,signature => [{attribute,{1297,2},spec,{{is_process_alive,1},[{type,{1297,23},bounded_fun,[{type,{1297,23},'fun',[{type,{1297,23},product,[{var,{1297,24},'Pid'}]},{type,{1297,32},boolean,[]}]},[{type,{1298,7},constraint,[{atom,{1298,7},is_subtype},[{var,{1298,7},'Pid'},{type,{1298,14},pid,[]}]]}]]}]}}]}},{{function,is_record,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2283}],[<<105,115,95,114,101,99,111,114,100,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,116,117,112,108,101,32,97,110,100,32,105,116,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<82,101,99,111,114,100,84,97,103>>]},<<46,32,79,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<78,111,114,109,97,108,108,121,32,116,104,101,32,99,111,109,112,105,108,101,114,32,116,114,101,97,116,115,32,99,97,108,108,115,32,116,111,32>>,{code,[],[<<105,115,95,114,101,99,111,114,100,47,50>>]},<<32,101,115,112,101,99,105,97,108,108,121,46,32,73,116,32,101,109,105,116,115,32,99,111,100,101,32,116,111,32,118,101,114,105,102,121,32,116,104,97,116,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,116,117,112,108,101,44,32,116,104,97,116,32,105,116,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<82,101,99,111,114,100,84,97,103>>]},<<44,32,97,110,100,32,116,104,97,116,32,116,104,101,32,115,105,122,101,32,105,115,32,99,111,114,114,101,99,116,46,32,72,111,119,101,118,101,114,44,32,105,102,32>>,{code,[],[<<82,101,99,111,114,100,84,97,103>>]},<<32,105,115,32,110,111,116,32,97,32,108,105,116,101,114,97,108,32,97,116,111,109,44,32,116,104,101,32,66,73,70,32>>,{code,[],[<<105,115,95,114,101,99,111,114,100,47,50>>]},<<32,105,115,32,99,97,108,108,101,100,32,105,110,115,116,101,97,100,32,97,110,100,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,116,117,112,108,101,32,105,115,32,110,111,116,32,118,101,114,105,102,105,101,100,46>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,44,32,105,102,32>>,{code,[],[<<82,101,99,111,114,100,84,97,103>>]},<<32,105,115,32,97,32,108,105,116,101,114,97,108,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,51,57,50>>,signature => [{attribute,{2283,2},spec,{{is_record,2},[{type,{2283,16},bounded_fun,[{type,{2283,16},'fun',[{type,{2283,16},product,[{var,{2283,17},'Term'},{var,{2283,22},'RecordTag'}]},{type,{2283,36},boolean,[]}]},[{type,{2284,7},constraint,[{atom,{2284,7},is_subtype},[{var,{2284,7},'Term'},{type,{2284,15},term,[]}]]},{type,{2285,7},constraint,[{atom,{2285,7},is_subtype},[{var,{2285,7},'RecordTag'},{type,{2285,20},atom,[]}]]}]]}]}}]}},{{function,is_record,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2290}],[<<105,115,95,114,101,99,111,114,100,47,51>>],#{<<101,110>> => [{p,[],[{code,[],[<<82,101,99,111,114,100,84,97,103>>]},<<32,109,117,115,116,32,98,101,32,97,110,32,97,116,111,109,46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,116,117,112,108,101,44,32,105,116,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<82,101,99,111,114,100,84,97,103>>]},<<44,32,97,110,100,32,105,116,115,32,115,105,122,101,32,105,115,32>>,{code,[],[<<83,105,122,101>>]},<<46,32,79,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,32,105,102,32>>,{code,[],[<<82,101,99,111,114,100,84,97,103>>]},<<32,105,115,32,97,32,108,105,116,101,114,97,108,32,97,116,111,109,32,97,110,100,32>>,{code,[],[<<83,105,122,101>>]},<<32,105,115,32,97,32,108,105,116,101,114,97,108,32,105,110,116,101,103,101,114,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,100,111,99,117,109,101,110,116,101,100,32,102,111,114,32,99,111,109,112,108,101,116,101,110,101,115,115,46,32,85,115,117,97,108,108,121,32>>,{code,[],[<<105,115,95,114,101,99,111,114,100,47,50>>]},<<32,105,115,32,116,111,32,98,101,32,117,115,101,100,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,52,49,51>>,signature => [{attribute,{2290,2},spec,{{is_record,3},[{type,{2290,16},bounded_fun,[{type,{2290,16},'fun',[{type,{2290,16},product,[{var,{2290,17},'Term'},{var,{2290,22},'RecordTag'},{var,{2290,32},'Size'}]},{type,{2290,41},boolean,[]}]},[{type,{2291,7},constraint,[{atom,{2291,7},is_subtype},[{var,{2291,7},'Term'},{type,{2291,15},term,[]}]]},{type,{2292,7},constraint,[{atom,{2292,7},is_subtype},[{var,{2292,7},'RecordTag'},{type,{2292,20},atom,[]}]]},{type,{2293,7},constraint,[{atom,{2293,7},is_subtype},[{var,{2293,7},'Size'},{type,{2293,15},non_neg_integer,[]}]]}]]}]}}]}},{{function,is_reference,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2298}],[<<105,115,95,114,101,102,101,114,101,110,99,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,114,101,102,101,114,101,110,99,101,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,52,51,50>>,signature => [{attribute,{2298,2},spec,{{is_reference,1},[{type,{2298,19},bounded_fun,[{type,{2298,19},'fun',[{type,{2298,19},product,[{var,{2298,20},'Term'}]},{type,{2298,29},boolean,[]}]},[{type,{2299,7},constraint,[{atom,{2299,7},is_subtype},[{var,{2299,7},'Term'},{type,{2299,15},term,[]}]]}]]}]}}]}},{{function,is_tuple,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2304}],[<<105,115,95,116,117,112,108,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,116,117,112,108,101,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,52,52,50>>,signature => [{attribute,{2304,2},spec,{{is_tuple,1},[{type,{2304,15},bounded_fun,[{type,{2304,15},'fun',[{type,{2304,15},product,[{var,{2304,16},'Term'}]},{type,{2304,25},boolean,[]}]},[{type,{2305,7},constraint,[{atom,{2305,7},is_subtype},[{var,{2305,7},'Term'},{type,{2305,15},term,[]}]]}]]}]}}]}},{{function,length,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1304}],[<<108,101,110,103,116,104,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32>>,{code,[],[<<76,105,115,116>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,101,110,103,116,104,40,91,49,44,50,44,51,44,52,44,53,44,54,44,55,44,56,44,57,93,41,46,10,57>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,52,53,50>>,signature => [{attribute,{1304,2},spec,{{length,1},[{type,{1304,13},bounded_fun,[{type,{1304,13},'fun',[{type,{1304,13},product,[{var,{1304,14},'List'}]},{type,{1304,23},non_neg_integer,[]}]},[{type,{1305,7},constraint,[{atom,{1305,7},is_subtype},[{var,{1305,7},'List'},{type,{1305,15},list,[{type,{1305,16},term,[]}]}]]}]]}]}}]}},{{function,link,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1310}],[<<108,105,110,107,47,49>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,117,112,32,97,110,100,32,97,99,116,105,118,97,116,101,115,32,97,32,108,105,110,107,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,32,111,114,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100,79,114,80,111,114,116>>]},<<46,32,87,101,32,119,105,108,108,32,102,114,111,109,32,104,101,114,101,32,111,110,32,99,97,108,108,32,116,104,101,32,105,100,101,110,116,105,102,105,101,100,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,108,105,110,107,101,101,46,32,73,102,32,116,104,101,32,108,105,110,107,101,101,32,105,115,32,97,32,112,111,114,116,44,32,105,116,32,109,117,115,116,32,114,101,115,105,100,101,32,111,110,32,116,104,101,32,115,97,109,101,32,110,111,100,101,32,97,115,32,116,104,101,32,99,97,108,108,101,114,46>>]},{p,[],[<<73,102,32,111,110,101,32,111,102,32,116,104,101,32,112,97,114,116,105,99,105,112,97,110,116,115,32,111,102,32,97,32,108,105,110,107,32,116,101,114,109,105,110,97,116,101,115,44,32,105,116,32,119,105,108,108,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,115,101,110,100,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,101,110,100,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108>>]},<<32,116,111,32,116,104,101,32,111,116,104,101,114,32,112,97,114,116,105,99,105,112,97,110,116,46,32,84,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,108,108,32,99,111,110,116,97,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,108,105,110,107,95,101,120,105,116,95,115,105,103,110,97,108,95,114,101,97,115,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,120,105,116,32,114,101,97,115,111,110>>]},<<32,111,102,32,116,104,101,32,116,101,114,109,105,110,97,116,101,100,32,112,97,114,116,105,99,105,112,97,110,116,46,32,79,116,104,101,114,32,99,97,115,101,115,32,119,104,101,110,32,101,120,105,116,32,115,105,103,110,97,108,115,32,97,114,101,32,116,114,105,103,103,101,114,101,100,32,100,117,101,32,116,111,32,97,32,108,105,110,107,32,97,114,101,32,119,104,101,110,32,110,111,32,108,105,110,107,101,101,32,101,120,105,115,116,32,40>>,{code,[],[<<110,111,112,114,111,99>>]},<<32,101,120,105,116,32,114,101,97,115,111,110,41,32,97,110,100,32,119,104,101,110,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,98,101,116,119,101,101,110,32,108,105,110,107,101,100,32,112,114,111,99,101,115,115,101,115,32,111,110,32,100,105,102,102,101,114,101,110,116,32,110,111,100,101,115,32,105,115,32,108,111,115,116,32,111,114,32,99,97,110,110,111,116,32,98,101,32,101,115,116,97,98,108,105,115,104,101,100,32,40>>,{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]},<<32,101,120,105,116,32,114,101,97,115,111,110,41,46>>]},{p,[],[<<65,110,32,101,120,105,115,116,105,110,103,32,108,105,110,107,32,99,97,110,32,98,101,32,114,101,109,111,118,101,100,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,117,110,108,105,110,107,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<117,110,108,105,110,107,47,49>>]}]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,108,105,110,107,115,32,97,110,100,32,101,120,105,116,32,115,105,103,110,97,108,115,32,100,117,101,32,116,111,32,108,105,110,107,115,44,32,115,101,101,32,116,104,101,32>>,{i,[],[<<80,114,111,99,101,115,115,101,115>>]},<<32,99,104,97,112,116,101,114,32,105,110,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<58>>]},{ul,[],[{li,[],[{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,108,105,110,107,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<76,105,110,107,115>>]}]},{li,[],[{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,115,101,110,100,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<83,101,110,100,105,110,103,32,69,120,105,116,32,83,105,103,110,97,108,115>>]}]},{li,[],[{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,114,101,99,101,105,118,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<82,101,99,101,105,118,105,110,103,32,69,120,105,116,32,83,105,103,110,97,108,115>>]}]}]},{p,[],[<<70,111,114,32,104,105,115,116,111,114,105,99,97,108,32,114,101,97,115,111,110,115,44,32>>,{code,[],[<<108,105,110,107,47,49>>]},<<32,104,97,115,32,97,32,115,116,114,97,110,103,101,32,115,101,109,105,45,115,121,110,99,104,114,111,110,111,117,115,32,98,101,104,97,118,105,111,114,32,119,104,101,110,32,105,116,32,105,115,32,34,99,104,101,97,112,34,32,116,111,32,99,104,101,99,107,32,105,102,32,116,104,101,32,108,105,110,107,101,101,32,101,120,105,115,116,115,32,111,114,32,110,111,116,44,32,97,110,100,32,116,104,101,32,99,97,108,108,101,114,32,100,111,101,115,32,110,111,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,116,114,97,112,95,101,120,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,114,97,112,32,101,120,105,116,115>>]},<<46,32,73,102,32,116,104,101,32,97,98,111,118,101,32,105,115,32,116,114,117,101,32,97,110,100,32,116,104,101,32,108,105,110,107,101,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32>>,{code,[],[<<108,105,110,107,47,49>>]},<<32,119,105,108,108,32,114,97,105,115,101,32,97,32>>,{code,[],[<<110,111,112,114,111,99>>]},<<32,101,114,114,111,114,32>>,{em,[],[<<101,120,99,101,112,116,105,111,110>>]},<<46,32,84,104,101,32,101,120,112,101,99,116,101,100,32,98,101,104,97,118,105,111,114,32,119,111,117,108,100,32,105,110,115,116,101,97,100,32,104,97,118,101,32,98,101,101,110,32,116,104,97,116,32>>,{code,[],[<<108,105,110,107,47,49>>]},<<32,114,101,116,117,114,110,101,100,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,97,110,100,32,116,104,101,32,99,97,108,108,101,114,32,108,97,116,101,114,32,119,97,115,32,115,101,110,116,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32>>,{code,[],[<<110,111,112,114,111,99>>]},<<32,101,120,105,116,32,114,101,97,115,111,110,44,32,98,117,116,32,116,104,105,115,32,105,115,32,117,110,102,111,114,116,117,110,97,116,101,108,121,32,110,111,116,32,116,104,101,32,99,97,115,101,46,32,84,104,101,32>>,{code,[],[<<110,111,112,114,111,99>>]},<<32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115,35,101,120,99,101,112,116,105,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,120,99,101,112,116,105,111,110>>]},<<32,105,115,32,110,111,116,32,116,111,32,98,101,32,99,111,110,102,117,115,101,100,32,119,105,116,104,32,97,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,115,101,110,100,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,120,105,116,32,115,105,103,110,97,108>>]},<<32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<110,111,112,114,111,99>>]},<<46,32,67,117,114,114,101,110,116,108,121,32,105,116,32,105,115,32,34,99,104,101,97,112,34,32,116,111,32,99,104,101,99,107,32,105,102,32,116,104,101,32,108,105,110,107,101,101,32,101,120,105,115,116,115,32,119,104,101,110,32,105,116,32,105,115,32,115,117,112,112,111,115,101,100,32,116,111,32,114,101,115,105,100,101,32,111,110,32,116,104,101,32,115,97,109,101,32,110,111,100,101,32,97,115,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<84,104,101,32,108,105,110,107,32,115,101,116,117,112,32,97,110,100,32,97,99,116,105,118,97,116,105,111,110,32,105,115,32,112,101,114,102,111,114,109,101,100,32,97,115,121,110,99,104,114,111,110,111,117,115,108,121,46,32,73,102,32,116,104,101,32,108,105,110,107,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,44,32,111,114,32,105,102,32,116,104,101,32,99,97,108,108,101,114,32,97,116,116,101,109,112,116,115,32,116,111,32,99,114,101,97,116,101,32,97,32,108,105,110,107,32,116,111,32,105,116,115,101,108,102,44,32,110,111,116,104,105,110,103,32,105,115,32,100,111,110,101,46,32,65,32,100,101,116,97,105,108,101,100,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,105,115,116,95,112,114,111,116,111,99,111,108,35,108,105,110,107,95,112,114,111,116,111,99,111,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<108,105,110,107,32,112,114,111,116,111,99,111,108>>]},<<32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32>>,{i,[],[<<68,105,115,116,114,105,98,117,116,105,111,110,32,80,114,111,116,111,99,111,108>>]},<<32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32>>,{i,[],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58>>]},{ul,[],[{li,[],[{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,105,100,79,114,80,111,114,116>>]},<<32,100,111,101,115,32,110,111,116,32,105,100,101,110,116,105,102,121,32,97,32,112,114,111,99,101,115,115,32,111,114,32,97,32,110,111,100,101,32,108,111,99,97,108,32,112,111,114,116,46>>]},{li,[],[{code,[],[<<110,111,112,114,111,99>>]},<<32,108,105,110,107,101,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,32,97,110,100,32,105,116,32,105,115,32,34,99,104,101,97,112,34,32,116,111,32,99,104,101,99,107,32,105,102,32,105,116,32,101,120,105,115,116,115,32,97,115,32,100,101,115,99,114,105,98,101,100,32,97,98,111,118,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,52,54,52>>,signature => [{attribute,{1310,2},spec,{{link,1},[{type,{1310,11},bounded_fun,[{type,{1310,11},'fun',[{type,{1310,11},product,[{var,{1310,12},'PidOrPort'}]},{atom,{1310,26},true}]},[{type,{1311,7},constraint,[{atom,{1311,7},is_subtype},[{var,{1311,7},'PidOrPort'},{type,{1311,20},union,[{type,{1311,20},pid,[]},{type,{1311,28},port,[]}]}]]}]]}]}}]}},{{function,list_to_atom,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1316}],[<<108,105,115,116,95,116,111,95,97,116,111,109,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,97,116,111,109,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<46>>]},{p,[],[<<65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,50,48,44,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,109,97,121,32,99,111,110,116,97,105,110,32,97,110,121,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,46,32,69,97,114,108,105,101,114,32,118,101,114,115,105,111,110,115,32,97,108,108,111,119,101,100,32,111,110,108,121,32,73,83,79,45,108,97,116,105,110,45,49,32,99,104,97,114,97,99,116,101,114,115,32,97,115,32,116,104,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,100,105,100,32,110,111,116,32,97,108,108,111,119,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,32,97,98,111,118,101,32,50,53,53,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,112,101,114,109,105,116,116,101,100,32,105,110,32,97,110,32,97,116,111,109,32,110,97,109,101,32,105,115,32,108,105,109,105,116,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,108,105,109,105,116,115,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,102,102,105,99,105,101,110,99,121,32,103,117,105,100,101,32,40,115,101,99,116,105,111,110,32,65,100,118,97,110,99,101,100,41>>]},<<46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,114,101,32,105,115,32,99,111,110,102,105,103,117,114,97,98,108,101,32,108,105,109,105,116,32,111,110,32,104,111,119,32,109,97,110,121,32,97,116,111,109,115,32,116,104,97,116,32,99,97,110,32,101,120,105,115,116,32,97,110,100,32,97,116,111,109,115,32,97,114,101,32,110,111,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,46,32,84,104,101,114,101,102,111,114,101,44,32,105,116,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,99,111,110,115,105,100,101,114,32,105,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49>>]}]},<<32,105,115,32,97,32,98,101,116,116,101,114,32,111,112,116,105,111,110,32,116,104,97,110,32>>,{code,[],[<<108,105,115,116,95,116,111,95,97,116,111,109,47,49>>]},<<46,32,84,104,101,32,100,101,102,97,117,108,116,32,108,105,109,105,116,115,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,102,102,105,99,105,101,110,99,121,32,103,117,105,100,101,32,40,115,101,99,116,105,111,110,32,65,100,118,97,110,99,101,100,41>>]},<<46>>]}]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,97,116,111,109,40,34,69,114,108,97,110,103,34,41,46,10,39,69,114,108,97,110,103,39>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,53,52,56>>,signature => [{attribute,{1316,2},spec,{{list_to_atom,1},[{type,{1316,19},bounded_fun,[{type,{1316,19},'fun',[{type,{1316,19},product,[{var,{1316,20},'String'}]},{type,{1316,31},atom,[]}]},[{type,{1317,7},constraint,[{atom,{1317,7},is_subtype},[{var,{1317,7},'String'},{type,{1317,17},string,[]}]]}]]}]}}]}},{{function,list_to_binary,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1322}],[<<108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,116,104,97,116,32,105,115,32,109,97,100,101,32,102,114,111,109,32,116,104,101,32,105,110,116,101,103,101,114,115,32,97,110,100,32,98,105,110,97,114,105,101,115,32,105,110,32>>,{code,[],[<<73,111,76,105,115,116>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,66,105,110,49,32,61,32,60,60,49,44,50,44,51,62,62,46,10,60,60,49,44,50,44,51,62,62,10,62,32,66,105,110,50,32,61,32,60,60,52,44,53,62,62,46,10,60,60,52,44,53,62,62,10,62,32,66,105,110,51,32,61,32,60,60,54,62,62,46,10,60,60,54,62,62,10,62,32,108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,91,66,105,110,49,44,49,44,91,50,44,51,44,66,105,110,50,93,44,52,124,66,105,110,51,93,41,46,10,60,60,49,44,50,44,51,44,49,44,50,44,51,44,52,44,53,44,52,44,54,62,62>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,53,56,49>>,signature => [{attribute,{1322,2},spec,{{list_to_binary,1},[{type,{1322,21},bounded_fun,[{type,{1322,21},'fun',[{type,{1322,21},product,[{var,{1322,22},'IoList'}]},{type,{1322,33},binary,[]}]},[{type,{1323,7},constraint,[{atom,{1323,7},is_subtype},[{var,{1323,7},'IoList'},{type,{1323,17},iolist,[]}]]}]]}]}}]}},{{function,list_to_bitstring,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1328}],[<<108,105,115,116,95,116,111,95,98,105,116,115,116,114,105,110,103,47,49>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<98,105,116,115,116,114,105,110,103,95,108,105,115,116>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,116,115,116,114,105,110,103,32,116,104,97,116,32,105,115,32,109,97,100,101,32,102,114,111,109,32,116,104,101,32,105,110,116,101,103,101,114,115,32,97,110,100,32,98,105,116,115,116,114,105,110,103,115,32,105,110,32>>,{code,[],[<<66,105,116,115,116,114,105,110,103,76,105,115,116>>]},<<46,32,40,84,104,101,32,108,97,115,116,32,116,97,105,108,32,105,110,32>>,{code,[],[<<66,105,116,115,116,114,105,110,103,76,105,115,116>>]},<<32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,98,101,32,97,32,98,105,116,115,116,114,105,110,103,46,41,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,66,105,110,49,32,61,32,60,60,49,44,50,44,51,62,62,46,10,60,60,49,44,50,44,51,62,62,10,62,32,66,105,110,50,32,61,32,60,60,52,44,53,62,62,46,10,60,60,52,44,53,62,62,10,62,32,66,105,110,51,32,61,32,60,60,54,44,55,58,52,62,62,46,10,60,60,54,44,55,58,52,62,62,10,62,32,108,105,115,116,95,116,111,95,98,105,116,115,116,114,105,110,103,40,91,66,105,110,49,44,49,44,91,50,44,51,44,66,105,110,50,93,44,52,124,66,105,110,51,93,41,46,10,60,60,49,44,50,44,51,44,49,44,50,44,51,44,52,44,53,44,52,44,54,44,55,58,52,62,62>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,53,57,57>>,signature => [{attribute,{1328,2},spec,{{list_to_bitstring,1},[{type,{1328,24},bounded_fun,[{type,{1328,24},'fun',[{type,{1328,24},product,[{var,{1328,25},'BitstringList'}]},{type,{1328,43},bitstring,[]}]},[{type,{1329,7},constraint,[{atom,{1329,7},is_subtype},[{var,{1329,7},'BitstringList'},{user_type,{1329,24},bitstring_list,[]}]]}]]}]}}]}},{{function,list_to_existing_atom,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1334}],[<<108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,97,116,111,109,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<44,32,98,117,116,32,111,110,108,121,32,105,102,32,116,104,101,114,101,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,32,115,117,99,104,32,97,116,111,109,46,32,65,110,32,97,116,111,109,32,101,120,105,115,116,115,32,105,102,32,105,116,32,104,97,115,32,98,101,101,110,32,99,114,101,97,116,101,100,32,98,121,32,116,104,101,32,114,117,110,45,116,105,109,101,32,115,121,115,116,101,109,32,98,121,32,101,105,116,104,101,114,32,108,111,97,100,105,110,103,32,99,111,100,101,32,111,114,32,99,114,101,97,116,105,110,103,32,97,32,116,101,114,109,32,105,110,32,119,104,105,99,104,32,116,104,101,32,97,116,111,109,32,105,115,32,112,97,114,116,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,114,101,32,100,111,101,115,32,110,111,116,32,97,108,114,101,97,100,121,32,101,120,105,115,116,32,97,110,32,97,116,111,109,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<78,111,116,101,32,116,104,97,116,32,116,104,101,32,99,111,109,112,105,108,101,114,32,109,97,121,32,111,112,116,105,109,105,122,101,32,97,119,97,121,32,97,116,111,109,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,99,111,109,112,105,108,101,114,32,119,105,108,108,32,114,101,119,114,105,116,101,32>>,{code,[],[<<97,116,111,109,95,116,111,95,108,105,115,116,40,115,111,109,101,95,97,116,111,109,41>>]},<<32,116,111,32>>,{code,[],[<<34,115,111,109,101,95,97,116,111,109,34>>]},<<46,32,73,102,32,116,104,97,116,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,116,104,101,32,111,110,108,121,32,109,101,110,116,105,111,110,32,111,102,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<115,111,109,101,95,97,116,111,109>>]},<<32,105,110,32,116,104,101,32,99,111,110,116,97,105,110,105,110,103,32,109,111,100,117,108,101,44,32,116,104,101,32,97,116,111,109,32,119,105,108,108,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,32,119,104,101,110,32,116,104,101,32,109,111,100,117,108,101,32,105,115,32,108,111,97,100,101,100,44,32,97,110,100,32,97,32,115,117,98,115,101,113,117,101,110,116,32,99,97,108,108,32,116,111,32>>,{code,[],[<<108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,40,34,115,111,109,101,95,97,116,111,109,34,41>>]},<<32,119,105,108,108,32,102,97,105,108,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,54,50,48>>,signature => [{attribute,{1334,2},spec,{{list_to_existing_atom,1},[{type,{1334,28},bounded_fun,[{type,{1334,28},'fun',[{type,{1334,28},product,[{var,{1334,29},'String'}]},{type,{1334,40},atom,[]}]},[{type,{1335,7},constraint,[{atom,{1335,7},is_subtype},[{var,{1335,7},'String'},{type,{1335,17},string,[]}]]}]]}]}}]}},{{function,list_to_float,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1340}],[<<108,105,115,116,95,116,111,95,102,108,111,97,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,102,108,111,97,116,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,102,108,111,97,116,40,34,50,46,50,48,49,55,55,54,52,101,43,48,34,41,46,10,50,46,50,48,49,55,55,54,52>>]}]},{p,[],[<<84,104,101,32,102,108,111,97,116,32,115,116,114,105,110,103,32,102,111,114,109,97,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,102,111,114,109,97,116,32,102,111,114,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,102,108,111,97,116,32,108,105,116,101,114,97,108,115>>]},<<32,101,120,99,101,112,116,32,102,111,114,32,116,104,97,116,32,117,110,100,101,114,115,99,111,114,101,115,32,97,114,101,32,110,111,116,32,112,101,114,109,105,116,116,101,100,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,32,102,108,111,97,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,54,52,51>>,signature => [{attribute,{1340,2},spec,{{list_to_float,1},[{type,{1340,20},bounded_fun,[{type,{1340,20},'fun',[{type,{1340,20},product,[{var,{1340,21},'String'}]},{type,{1340,32},float,[]}]},[{type,{1341,7},constraint,[{atom,{1341,7},is_subtype},[{var,{1341,7},'String'},{type,{1341,17},string,[]}]]}]]}]}}]}},{{function,list_to_integer,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1346}],[<<108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,49,50,51,34,41,46,10,49,50,51>>]}]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,45,49,50,51,34,41,46,10,45,49,50,51>>]}]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,43,49,50,51,50,51,52,57,56,50,51,48,52,57,56,50,51,48,57,52,56,50,48,57,51,56,51,51,50,51,52,50,51,52,34,41,46,10,49,50,51,50,51,52,57,56,50,51,48,52,57,56,50,51,48,57,52,56,50,48,57,51,56,51,51,50,51,52,50,51,52>>]}]},{p,[],[{code,[],[<<83,116,114,105,110,103>>]},<<32,109,117,115,116,32,99,111,110,116,97,105,110,32,97,116,32,108,101,97,115,116,32,111,110,101,32,100,105,103,105,116,32,99,104,97,114,97,99,116,101,114,32,97,110,100,32,99,97,110,32,104,97,118,101,32,97,110,32,111,112,116,105,111,110,97,108,32,112,114,101,102,105,120,32,99,111,110,115,105,115,116,105,110,103,32,111,102,32,97,32,115,105,110,103,108,101,32,34>>,{code,[],[<<43>>]},<<34,32,111,114,32,34>>,{code,[],[<<45>>]},<<34,32,99,104,97,114,97,99,116,101,114,32,40,116,104,97,116,32,105,115,44,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,109,117,115,116,32,109,97,116,99,104,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32>>,{code,[],[<<34,94,91,43,45,93,63,91,48,45,57,93,43,36,34>>]},<<41,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,110,32,105,110,116,101,103,101,114,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,54,54,49>>,signature => [{attribute,{1346,2},spec,{{list_to_integer,1},[{type,{1346,22},bounded_fun,[{type,{1346,22},'fun',[{type,{1346,22},product,[{var,{1346,23},'String'}]},{type,{1346,34},integer,[]}]},[{type,{1347,7},constraint,[{atom,{1347,7},is_subtype},[{var,{1347,7},'String'},{type,{1347,17},string,[]}]]}]]}]}}]}},{{function,list_to_integer,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1352}],[<<108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,110,32,98,97,115,101,32>>,{code,[],[<<66,97,115,101>>]},<<32,105,115,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,51,70,70,34,44,32,49,54,41,46,10,49,48,50,51>>]}]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,43,51,70,70,34,44,32,49,54,41,46,10,49,48,50,51>>]}]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,51,102,102,34,44,32,49,54,41,46,10,49,48,50,51>>]}]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,51,102,70,34,44,32,49,54,41,46,10,49,48,50,51>>]}]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,45,51,70,70,34,44,32,49,54,41,46,10,45,49,48,50,51>>]}]},{p,[],[<<70,111,114,32,101,120,97,109,112,108,101,44,32,119,104,101,110,32>>,{code,[],[<<66,97,115,101>>]},<<32,105,115,32,49,54,44,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,109,117,115,116,32,109,97,116,99,104,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32>>,{code,[],[<<34,94,91,43,45,93,63,40,91,48,45,57,93,124,91,65,45,70,93,124,91,97,45,102,93,41,43,36,34>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,110,32,105,110,116,101,103,101,114,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,54,56,54>>,signature => [{attribute,{1352,2},spec,{{list_to_integer,2},[{type,{1352,22},bounded_fun,[{type,{1352,22},'fun',[{type,{1352,22},product,[{var,{1352,23},'String'},{var,{1352,31},'Base'}]},{type,{1352,40},integer,[]}]},[{type,{1353,7},constraint,[{atom,{1353,7},is_subtype},[{var,{1353,7},'String'},{type,{1353,17},string,[]}]]},{type,{1354,7},constraint,[{atom,{1354,7},is_subtype},[{var,{1354,7},'Base'},{type,{1354,15},range,[{integer,{1354,15},2},{integer,{1354,18},36}]}]]}]]}]}}]}},{{function,list_to_pid,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1359}],[<<108,105,115,116,95,116,111,95,112,105,100,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32,97,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,112,105,100,40,34,60,48,46,52,46,49,62,34,41,46,10,60,48,46,52,46,49,62>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,97,112,112,108,105,99,97,116,105,111,110,32,112,114,111,103,114,97,109,115,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,55,49,54>>,signature => [{attribute,{1359,2},spec,{{list_to_pid,1},[{type,{1359,18},bounded_fun,[{type,{1359,18},'fun',[{type,{1359,18},product,[{var,{1359,19},'String'}]},{type,{1359,30},pid,[]}]},[{type,{1360,7},constraint,[{atom,{1360,7},is_subtype},[{var,{1360,7},'String'},{type,{1360,17},string,[]}]]}]]}]}}]}},{{function,list_to_port,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1365}],[<<108,105,115,116,95,116,111,95,112,111,114,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32,97,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,112,111,114,116,40,34,35,80,111,114,116,60,48,46,52,62,34,41,46,10,35,80,111,114,116,60,48,46,52,62>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,97,112,112,108,105,99,97,116,105,111,110,32,112,114,111,103,114,97,109,115,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,55,51,52>>,signature => [{attribute,{1365,2},spec,{{list_to_port,1},[{type,{1365,19},bounded_fun,[{type,{1365,19},'fun',[{type,{1365,19},product,[{var,{1365,20},'String'}]},{type,{1365,31},port,[]}]},[{type,{1366,7},constraint,[{atom,{1366,7},is_subtype},[{var,{1366,7},'String'},{type,{1366,17},string,[]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,48>>}},{{function,list_to_ref,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1371}],[<<108,105,115,116,95,116,111,95,114,101,102,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,114,101,102,101,114,101,110,99,101,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32,97,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,114,101,102,40,34,35,82,101,102,60,48,46,52,49,57,50,53,51,55,54,55,56,46,52,48,55,51,49,57,51,52,55,53,46,55,49,49,56,49,62,34,41,46,10,35,82,101,102,60,48,46,52,49,57,50,53,51,55,54,55,56,46,52,48,55,51,49,57,51,52,55,53,46,55,49,49,56,49,62>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,32,114,101,102,101,114,101,110,99,101,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,97,112,112,108,105,99,97,116,105,111,110,32,112,114,111,103,114,97,109,115,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,55,53,50>>,signature => [{attribute,{1371,2},spec,{{list_to_ref,1},[{type,{1371,18},bounded_fun,[{type,{1371,18},'fun',[{type,{1371,18},product,[{var,{1371,19},'String'}]},{type,{1371,30},reference,[]}]},[{type,{1372,7},constraint,[{atom,{1372,7},is_subtype},[{var,{1372,7},'String'},{type,{1372,17},string,[]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,48>>}},{{function,list_to_tuple,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1377}],[<<108,105,115,116,95,116,111,95,116,117,112,108,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,116,117,112,108,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32>>,{code,[],[<<76,105,115,116>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,116,117,112,108,101,40,91,115,104,97,114,101,44,32,91,39,69,114,105,99,115,115,111,110,95,66,39,44,32,49,54,51,93,93,41,46,10,123,115,104,97,114,101,44,32,91,39,69,114,105,99,115,115,111,110,95,66,39,44,32,49,54,51,93,125>>]}]},{p,[],[{code,[],[<<76,105,115,116>>]},<<32,99,97,110,32,99,111,110,116,97,105,110,32,97,110,121,32,69,114,108,97,110,103,32,116,101,114,109,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,55,55,48>>,signature => [{attribute,{1377,2},spec,{{list_to_tuple,1},[{type,{1377,20},bounded_fun,[{type,{1377,20},'fun',[{type,{1377,20},product,[{var,{1377,21},'List'}]},{type,{1377,30},tuple,any}]},[{type,{1378,7},constraint,[{atom,{1378,7},is_subtype},[{var,{1378,7},'List'},{type,{1378,15},list,[{type,{1378,16},term,[]}]}]]}]]}]}}]}},{{function,load_module,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2309}],[<<108,111,97,100,95,109,111,100,117,108,101,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,111,98,106,101,99,116,32,99,111,100,101,32,102,111,114,32,109,111,100,117,108,101,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<44,32,116,104,105,115,32,66,73,70,32,108,111,97,100,115,32,116,104,97,116,32,111,98,106,101,99,116,32,99,111,100,101,46,32,73,102,32,116,104,101,32,99,111,100,101,32,102,111,114,32,109,111,100,117,108,101,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,44,32,97,108,108,32,101,120,112,111,114,116,32,114,101,102,101,114,101,110,99,101,115,32,97,114,101,32,114,101,112,108,97,99,101,100,32,115,111,32,116,104,101,121,32,112,111,105,110,116,32,116,111,32,116,104,101,32,110,101,119,108,121,32,108,111,97,100,101,100,32,99,111,100,101,46,32,84,104,101,32,112,114,101,118,105,111,117,115,108,121,32,108,111,97,100,101,100,32,99,111,100,101,32,105,115,32,107,101,112,116,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,97,115,32,111,108,100,32,99,111,100,101,44,32,97,115,32,116,104,101,114,101,32,99,97,110,32,115,116,105,108,108,32,98,101,32,112,114,111,99,101,115,115,101,115,32,101,120,101,99,117,116,105,110,103,32,116,104,97,116,32,99,111,100,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,101,105,116,104,101,114,32>>,{code,[],[<<123,109,111,100,117,108,101,44,32,77,111,100,117,108,101,125>>]},<<44,32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<32,105,102,32,108,111,97,100,105,110,103,32,102,97,105,108,115,46,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<32,105,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,102,105,108,101>>]}]},{dd,[],[<<84,104,101,32,111,98,106,101,99,116,32,99,111,100,101,32,105,110,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,104,97,115,32,97,110,32,105,110,99,111,114,114,101,99,116,32,102,111,114,109,97,116,32>>,{em,[],[<<111,114>>]},<<32,116,104,101,32,111,98,106,101,99,116,32,99,111,100,101,32,99,111,110,116,97,105,110,115,32,99,111,100,101,32,102,111,114,32,97,110,111,116,104,101,114,32,109,111,100,117,108,101,32,116,104,97,110,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46>>]},{dt,[],[{code,[],[<<110,111,116,95,112,117,114,103,101,100>>]}]},{dd,[],[{code,[],[<<66,105,110,97,114,121>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,109,111,100,117,108,101,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,108,111,97,100,101,100,32,98,101,99,97,117,115,101,32,111,108,100,32,99,111,100,101,32,102,111,114,32,116,104,105,115,32,109,111,100,117,108,101,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,46>>]},{dt,[],[{code,[],[<<111,110,95,108,111,97,100>>]}]},{dd,[],[<<84,104,101,32,99,111,100,101,32,105,110,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,99,111,110,116,97,105,110,115,32,97,110,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<32,100,101,99,108,97,114,97,116,105,111,110,32,116,104,97,116,32,109,117,115,116,32,98,101,32,101,120,101,99,117,116,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,99,97,110,32,98,101,99,111,109,101,32,116,104,101,32,99,117,114,114,101,110,116,32,99,111,100,101,46,32,65,110,121,32,112,114,101,118,105,111,117,115,32,99,117,114,114,101,110,116,32,99,111,100,101,32,102,111,114,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,119,105,108,108,32,114,101,109,97,105,110,32,117,110,116,105,108,32,116,104,101,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<32,99,97,108,108,32,104,97,115,32,102,105,110,105,115,104,101,100,46>>]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,116,104,101,32,99,111,100,101,32,115,101,114,118,101,114,32,40,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,100,101,40,51,41>>]}]},<<41,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,101,108,115,101,119,104,101,114,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,55,56,51>>,signature => [{attribute,{2309,2},spec,{{load_module,2},[{type,{2309,18},bounded_fun,[{type,{2309,18},'fun',[{type,{2309,18},product,[{var,{2309,19},'Module'},{var,{2309,27},'Binary'}]},{type,{2309,38},union,[{type,{2309,38},tuple,[{atom,{2309,39},module},{var,{2309,47},'Module'}]},{type,{2309,57},tuple,[{atom,{2309,58},error},{var,{2309,65},'Reason'}]}]}]},[{type,{2310,7},constraint,[{atom,{2310,7},is_subtype},[{var,{2310,7},'Module'},{type,{2310,17},module,[]}]]},{type,{2311,7},constraint,[{atom,{2311,7},is_subtype},[{var,{2311,7},'Binary'},{type,{2311,17},binary,[]}]]},{type,{2312,7},constraint,[{atom,{2312,7},is_subtype},[{var,{2312,7},'Reason'},{type,{2312,17},union,[{atom,{2312,17},badfile},{atom,{2312,27},not_purged},{atom,{2312,40},on_load}]}]]}]]}]}}]}},{{function,load_nif,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2330}],[<<108,111,97,100,95,110,105,102,47,50>>],#{<<101,110>> => [{p,[],[<<76,111,97,100,115,32,97,110,100,32,108,105,110,107,115,32,97,32,100,121,110,97,109,105,99,32,108,105,98,114,97,114,121,32,99,111,110,116,97,105,110,105,110,103,32,110,97,116,105,118,101,32,105,109,112,108,101,109,101,110,116,101,100,32,102,117,110,99,116,105,111,110,115,32,40,78,73,70,115,41,32,102,111,114,32,97,32,109,111,100,117,108,101,46,32>>,{code,[],[<<80,97,116,104>>]},<<32,105,115,32,97,32,102,105,108,101,32,112,97,116,104,32,116,111,32,116,104,101,32,115,104,97,114,101,97,98,108,101,32,111,98,106,101,99,116,47,100,121,110,97,109,105,99,32,108,105,98,114,97,114,121,32,102,105,108,101,32,109,105,110,117,115,32,116,104,101,32,79,83,45,100,101,112,101,110,100,101,110,116,32,102,105,108,101,32,101,120,116,101,110,115,105,111,110,32,40>>,{code,[],[<<46,115,111>>]},<<32,102,111,114,32,85,110,105,120,32,97,110,100,32>>,{code,[],[<<46,100,108,108>>]},<<32,102,111,114,32,87,105,110,100,111,119,115,41,46,32,78,111,116,105,99,101,32,116,104,97,116,32,111,110,32,109,111,115,116,32,79,83,115,32,116,104,101,32,108,105,98,114,97,114,121,32,104,97,115,32,116,111,32,104,97,118,101,32,97,32,100,105,102,102,101,114,101,110,116,32,110,97,109,101,32,111,110,32,100,105,115,99,32,119,104,101,110,32,97,110,32,117,112,103,114,97,100,101,32,111,102,32,116,104,101,32,110,105,102,32,105,115,32,100,111,110,101,46,32,73,102,32,116,104,101,32,110,97,109,101,32,105,115,32,116,104,101,32,115,97,109,101,44,32,98,117,116,32,116,104,101,32,99,111,110,116,101,110,116,115,32,100,105,102,102,101,114,44,32,116,104,101,32,111,108,100,32,108,105,98,114,97,114,121,32,109,97,121,32,98,101,32,108,111,97,100,101,100,32,105,110,115,116,101,97,100,46,32,70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,104,111,119,32,116,111,32,105,109,112,108,101,109,101,110,116,32,97,32,78,73,70,32,108,105,98,114,97,114,121,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,110,105,102>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,108,95,110,105,102,40,51,41>>]}]},<<46>>]},{p,[],[{code,[],[<<76,111,97,100,73,110,102,111>>]},<<32,99,97,110,32,98,101,32,97,110,121,32,116,101,114,109,46,32,73,116,32,105,115,32,112,97,115,115,101,100,32,111,110,32,116,111,32,116,104,101,32,108,105,98,114,97,114,121,32,97,115,32,112,97,114,116,32,111,102,32,116,104,101,32,105,110,105,116,105,97,108,105,122,97,116,105,111,110,46,32,65,32,103,111,111,100,32,112,114,97,99,116,105,99,101,32,105,115,32,116,111,32,105,110,99,108,117,100,101,32,97,32,109,111,100,117,108,101,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,32,116,111,32,115,117,112,112,111,114,116,32,102,117,116,117,114,101,32,99,111,100,101,32,117,112,103,114,97,100,101,32,115,99,101,110,97,114,105,111,115,46>>]},{p,[],[<<84,104,101,32,99,97,108,108,32,116,111,32>>,{code,[],[<<108,111,97,100,95,110,105,102,47,50>>]},<<32,109,117,115,116,32,98,101,32,109,97,100,101,32>>,{em,[],[<<100,105,114,101,99,116,108,121>>]},<<32,102,114,111,109,32,116,104,101,32,69,114,108,97,110,103,32,99,111,100,101,32,111,102,32,116,104,101,32,109,111,100,117,108,101,32,116,104,97,116,32,116,104,101,32,78,73,70,32,108,105,98,114,97,114,121,32,98,101,108,111,110,103,115,32,116,111,46,32,73,116,32,114,101,116,117,114,110,115,32,101,105,116,104,101,114,32>>,{code,[],[<<111,107>>]},<<44,32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,123,82,101,97,115,111,110,44,84,101,120,116,125,125>>]},<<32,105,102,32,108,111,97,100,105,110,103,32,102,97,105,108,115,46,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<32,105,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,97,116,111,109,115,32,119,104,105,108,101,32>>,{code,[],[<<84,101,120,116>>]},<<32,105,115,32,97,32,104,117,109,97,110,32,114,101,97,100,97,98,108,101,32,115,116,114,105,110,103,32,116,104,97,116,32,99,97,110,32,103,105,118,101,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,102,97,105,108,117,114,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<108,111,97,100,95,102,97,105,108,101,100>>]}]},{dd,[],[<<84,104,101,32,79,83,32,102,97,105,108,101,100,32,116,111,32,108,111,97,100,32,116,104,101,32,78,73,70,32,108,105,98,114,97,114,121,46>>]},{dt,[],[{code,[],[<<98,97,100,95,108,105,98>>]}]},{dd,[],[<<84,104,101,32,108,105,98,114,97,114,121,32,100,105,100,32,110,111,116,32,102,117,108,102,105,108,108,32,116,104,101,32,114,101,113,117,105,114,101,109,101,110,116,115,32,97,115,32,97,32,78,73,70,32,108,105,98,114,97,114,121,32,111,102,32,116,104,101,32,99,97,108,108,105,110,103,32,109,111,100,117,108,101,46>>]},{dt,[],[{code,[],[<<108,111,97,100,32,124,32,117,112,103,114,97,100,101>>]}]},{dd,[],[<<84,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,108,105,98,114,97,114,121,32,99,97,108,108,98,97,99,107,32,119,97,115,32,117,110,115,117,99,99,101,115,115,102,117,108,46>>]},{dt,[],[{code,[],[<<114,101,108,111,97,100>>]}]},{dd,[],[<<65,32,78,73,70,32,108,105,98,114,97,114,121,32,105,115,32,97,108,114,101,97,100,121,32,108,111,97,100,101,100,32,102,111,114,32,116,104,105,115,32,109,111,100,117,108,101,32,105,110,115,116,97,110,99,101,46,32,84,104,101,32,112,114,101,118,105,111,117,115,108,121,32,100,101,112,114,101,99,97,116,101,100,32>>,{code,[],[<<114,101,108,111,97,100>>]},<<32,102,101,97,116,117,114,101,32,119,97,115,32,114,101,109,111,118,101,100,32,105,110,32,79,84,80,32,50,48,46>>]},{dt,[],[{code,[],[<<111,108,100,95,99,111,100,101>>]}]},{dd,[],[<<84,104,101,32,99,97,108,108,32,116,111,32>>,{code,[],[<<108,111,97,100,95,110,105,102,47,50>>]},<<32,119,97,115,32,109,97,100,101,32,102,114,111,109,32,116,104,101,32,111,108,100,32,99,111,100,101,32,111,102,32,97,32,109,111,100,117,108,101,32,116,104,97,116,32,104,97,115,32,98,101,101,110,32,117,112,103,114,97,100,101,100,59,32,116,104,105,115,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,56,50,51>>,signature => [{attribute,{2330,2},spec,{{erlang,load_nif,2},[{type,{2330,22},bounded_fun,[{type,{2330,22},'fun',[{type,{2330,22},product,[{var,{2330,23},'Path'},{var,{2330,29},'LoadInfo'}]},{type,{2330,43},union,[{atom,{2330,43},ok},{var,{2330,48},'Error'}]}]},[{type,{2331,7},constraint,[{atom,{2331,7},is_subtype},[{var,{2331,7},'Path'},{type,{2331,15},string,[]}]]},{type,{2332,7},constraint,[{atom,{2332,7},is_subtype},[{var,{2332,7},'LoadInfo'},{type,{2332,19},term,[]}]]},{type,{2333,7},constraint,[{atom,{2333,7},is_subtype},[{var,{2333,7},'Error'},{type,{2333,16},tuple,[{atom,{2333,17},error},{type,{2333,24},tuple,[{var,{2333,25},'Reason'},{ann_type,{2333,33},[{var,{2333,33},'Text'},{type,{2333,41},string,[]}]}]}]}]]},{type,{2334,7},constraint,[{atom,{2334,7},is_subtype},[{var,{2334,7},'Reason'},{type,{2334,17},union,[{atom,{2334,17},load_failed},{atom,{2334,31},bad_lib},{atom,{2334,41},load},{atom,{2334,48},reload},{atom,{2334,57},upgrade},{atom,{2334,67},old_code}]}]]}]]}]}}]}},{{function,loaded,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1383}],[<<108,111,97,100,101,100,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,97,108,108,32,108,111,97,100,101,100,32,69,114,108,97,110,103,32,109,111,100,117,108,101,115,32,40,99,117,114,114,101,110,116,32,97,110,100,32,111,108,100,32,99,111,100,101,41,44,32,105,110,99,108,117,100,105,110,103,32,112,114,101,108,111,97,100,101,100,32,109,111,100,117,108,101,115,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,100,101,40,51,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,56,55,50>>,signature => [{attribute,{1383,2},spec,{{erlang,loaded,0},[{type,{1383,20},bounded_fun,[{type,{1383,20},'fun',[{type,{1383,20},product,[]},{type,{1383,26},list,[{var,{1383,27},'Module'}]}]},[{type,{1384,7},constraint,[{atom,{1384,7},is_subtype},[{var,{1384,7},'Module'},{type,{1384,17},module,[]}]]}]]}]}}]}},{{function,localtime,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1389}],[<<108,111,99,97,108,116,105,109,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,108,111,99,97,108,32,100,97,116,101,32,97,110,100,32,116,105,109,101,44,32>>,{code,[],[<<123,123,89,101,97,114,44,32,77,111,110,116,104,44,32,68,97,121,125,44,32,123,72,111,117,114,44,32,77,105,110,117,116,101,44,32,83,101,99,111,110,100,125,125>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,40,41,46,10,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,52,44,52,53,44,49,55,125,125>>]}]},{p,[],[<<84,104,101,32,116,105,109,101,32,122,111,110,101,32,97,110,100,32,68,97,121,108,105,103,104,116,32,83,97,118,105,110,103,32,84,105,109,101,32,99,111,114,114,101,99,116,105,111,110,32,100,101,112,101,110,100,32,111,110,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,98,97,115,101,100,32,111,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,83,121,115,116,101,109,32,84,105,109,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,56,56,51>>,signature => [{attribute,{1389,2},spec,{{erlang,localtime,0},[{type,{1389,23},bounded_fun,[{type,{1389,23},'fun',[{type,{1389,23},product,[]},{var,{1389,29},'DateTime'}]},[{type,{1390,7},constraint,[{atom,{1390,7},is_subtype},[{var,{1390,7},'DateTime'},{remote_type,{1390,19},[{atom,{1390,19},calendar},{atom,{1390,28},datetime},[]]}]]}]]}]}}]}},{{function,localtime_to_universaltime,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3501}],[<<108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,47,49>>],#{<<101,110>> => [{p,[],[<<67,111,110,118,101,114,116,115,32,108,111,99,97,108,32,100,97,116,101,32,97,110,100,32,116,105,109,101,32,116,111,32,85,110,105,118,101,114,115,97,108,32,84,105,109,101,32,67,111,111,114,100,105,110,97,116,101,100,32,40,85,84,67,41,44,32,105,102,32,115,117,112,112,111,114,116,101,100,32,98,121,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,46,32,79,116,104,101,114,119,105,115,101,32,110,111,32,99,111,110,118,101,114,115,105,111,110,32,105,115,32,100,111,110,101,32,97,110,100,32>>,{code,[],[<<76,111,99,97,108,116,105,109,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,40,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,52,44,52,53,44,49,55,125,125,41,46,10,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,51,44,52,53,44,49,55,125,125>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<76,111,99,97,108,116,105,109,101>>]},<<32,100,101,110,111,116,101,115,32,97,110,32,105,110,118,97,108,105,100,32,100,97,116,101,32,97,110,100,32,116,105,109,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,57,48,48>>,signature => [{attribute,{3501,2},spec,{{erlang,localtime_to_universaltime,1},[{type,{3501,40},bounded_fun,[{type,{3501,40},'fun',[{type,{3501,40},product,[{var,{3501,41},'Localtime'}]},{var,{3501,55},'Universaltime'}]},[{type,{3502,7},constraint,[{atom,{3502,7},is_subtype},[{var,{3502,7},'Localtime'},{remote_type,{3502,20},[{atom,{3502,20},calendar},{atom,{3502,29},datetime},[]]}]]},{type,{3503,7},constraint,[{atom,{3503,7},is_subtype},[{var,{3503,7},'Universaltime'},{remote_type,{3503,24},[{atom,{3503,24},calendar},{atom,{3503,33},datetime},[]]}]]}]]}]}}]}},{{function,localtime_to_universaltime,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2338}],[<<108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,47,50>>],#{<<101,110>> => [{p,[],[<<67,111,110,118,101,114,116,115,32,108,111,99,97,108,32,100,97,116,101,32,97,110,100,32,116,105,109,101,32,116,111,32,85,110,105,118,101,114,115,97,108,32,84,105,109,101,32,67,111,111,114,100,105,110,97,116,101,100,32,40,85,84,67,41,32,97,115,32>>,{code,[],[<<101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,47,49>>]},<<44,32,98,117,116,32,116,104,101,32,99,97,108,108,101,114,32,100,101,99,105,100,101,115,32,105,102,32,68,97,121,108,105,103,104,116,32,83,97,118,105,110,103,32,84,105,109,101,32,105,115,32,97,99,116,105,118,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<73,115,68,115,116,32,61,61,32,116,114,117,101>>]},<<44,32>>,{code,[],[<<76,111,99,97,108,116,105,109,101>>]},<<32,105,115,32,100,117,114,105,110,103,32,68,97,121,108,105,103,104,116,32,83,97,118,105,110,103,32,84,105,109,101,44,32,105,102,32>>,{code,[],[<<73,115,68,115,116,32,61,61,32,102,97,108,115,101>>]},<<32,105,116,32,105,115,32,110,111,116,46,32,73,102,32>>,{code,[],[<<73,115,68,115,116,32,61,61,32,117,110,100,101,102,105,110,101,100>>]},<<44,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,32,99,97,110,32,103,117,101,115,115,44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,40,76,111,99,97,108,116,105,109,101,41>>]},<<46>>]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,40,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,52,44,52,53,44,49,55,125,125,44,32,116,114,117,101,41,46,10,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,50,44,52,53,44,49,55,125,125,10,62,32,101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,40,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,52,44,52,53,44,49,55,125,125,44,32,102,97,108,115,101,41,46,10,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,51,44,52,53,44,49,55,125,125,10,62,32,101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,40,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,52,44,52,53,44,49,55,125,125,44,32,117,110,100,101,102,105,110,101,100,41,46,10,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,51,44,52,53,44,49,55,125,125>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<76,111,99,97,108,116,105,109,101>>]},<<32,100,101,110,111,116,101,115,32,97,110,32,105,110,118,97,108,105,100,32,100,97,116,101,32,97,110,100,32,116,105,109,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,57,49,55>>,signature => [{attribute,{2338,2},spec,{{erlang,localtime_to_universaltime,2},[{type,{2338,40},bounded_fun,[{type,{2338,40},'fun',[{type,{2338,40},product,[{var,{2338,41},'Localtime'},{var,{2338,52},'IsDst'}]},{var,{2338,62},'Universaltime'}]},[{type,{2339,7},constraint,[{atom,{2339,7},is_subtype},[{var,{2339,7},'Localtime'},{remote_type,{2339,20},[{atom,{2339,20},calendar},{atom,{2339,29},datetime},[]]}]]},{type,{2340,7},constraint,[{atom,{2340,7},is_subtype},[{var,{2340,7},'Universaltime'},{remote_type,{2340,24},[{atom,{2340,24},calendar},{atom,{2340,33},datetime},[]]}]]},{type,{2341,7},constraint,[{atom,{2341,7},is_subtype},[{var,{2341,7},'IsDst'},{type,{2341,16},union,[{atom,{2341,16},true},{atom,{2341,23},false},{atom,{2341,31},undefined}]}]]}]]}]}}]}},{{function,make_ref,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1395}],[<<109,97,107,101,95,114,101,102,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100,35,117,110,105,113,117,101,95,114,101,102,101,114,101,110,99,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<117,110,105,113,117,101,32,114,101,102,101,114,101,110,99,101>>]},<<46,32,84,104,101,32,114,101,102,101,114,101,110,99,101,32,105,115,32,117,110,105,113,117,101,32,97,109,111,110,103,32,99,111,110,110,101,99,116,101,100,32,110,111,100,101,115,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<66,101,102,111,114,101,32,79,84,80,45,50,51,32,119,104,101,110,32,97,32,110,111,100,101,32,105,115,32,114,101,115,116,97,114,116,101,100,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,111,100,101,32,110,97,109,101,44,32,114,101,102,101,114,101,110,99,101,115,32,99,114,101,97,116,101,100,32,111,110,32,97,32,110,101,119,101,114,32,110,111,100,101,32,99,97,110,32,98,101,32,109,105,115,116,97,107,101,110,32,102,111,114,32,97,32,114,101,102,101,114,101,110,99,101,32,99,114,101,97,116,101,100,32,111,110,32,97,110,32,111,108,100,101,114,32,110,111,100,101,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,111,100,101,32,110,97,109,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,57,52,51>>,signature => [{attribute,{1395,2},spec,{{make_ref,0},[{type,{1395,15},'fun',[{type,{1395,15},product,[]},{type,{1395,21},reference,[]}]}]}}]}},{{function,make_tuple,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2357}],[<<109,97,107,101,95,116,117,112,108,101,47,50>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32,110,101,119,32,116,117,112,108,101,32,111,102,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32>>,{code,[],[<<65,114,105,116,121>>]},<<44,32,119,104,101,114,101,32,97,108,108,32,101,108,101,109,101,110,116,115,32,97,114,101,32>>,{code,[],[<<73,110,105,116,105,97,108,86,97,108,117,101>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,109,97,107,101,95,116,117,112,108,101,40,52,44,32,91,93,41,46,10,123,91,93,44,91,93,44,91,93,44,91,93,125>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,57,54,48>>,signature => [{attribute,{2357,2},spec,{{erlang,make_tuple,2},[{type,{2357,24},bounded_fun,[{type,{2357,24},'fun',[{type,{2357,24},product,[{var,{2357,25},'Arity'},{var,{2357,32},'InitialValue'}]},{type,{2357,49},tuple,any}]},[{type,{2358,7},constraint,[{atom,{2358,7},is_subtype},[{var,{2358,7},'Arity'},{type,{2358,16},arity,[]}]]},{type,{2359,7},constraint,[{atom,{2359,7},is_subtype},[{var,{2359,7},'InitialValue'},{type,{2359,23},term,[]}]]}]]}]}}]}},{{function,make_tuple,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2364}],[<<109,97,107,101,95,116,117,112,108,101,47,51>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32,116,117,112,108,101,32,111,102,32,115,105,122,101,32>>,{code,[],[<<65,114,105,116,121>>]},<<44,32,119,104,101,114,101,32,101,97,99,104,32,101,108,101,109,101,110,116,32,104,97,115,32,118,97,108,117,101,32>>,{code,[],[<<68,101,102,97,117,108,116,86,97,108,117,101>>]},<<44,32,97,110,100,32,116,104,101,110,32,102,105,108,108,115,32,105,110,32,118,97,108,117,101,115,32,102,114,111,109,32>>,{code,[],[<<73,110,105,116,76,105,115,116>>]},<<46,32,69,97,99,104,32,108,105,115,116,32,101,108,101,109,101,110,116,32,105,110,32>>,{code,[],[<<73,110,105,116,76,105,115,116>>]},<<32,109,117,115,116,32,98,101,32,97,32,116,119,111,45,116,117,112,108,101,44,32,119,104,101,114,101,32,116,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32,97,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,116,117,112,108,101,32,97,110,100,32,116,104,101,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,32,105,115,32,97,110,121,32,116,101,114,109,46,32,73,102,32,97,32,112,111,115,105,116,105,111,110,32,111,99,99,117,114,115,32,109,111,114,101,32,116,104,97,110,32,111,110,99,101,32,105,110,32,116,104,101,32,108,105,115,116,44,32,116,104,101,32,116,101,114,109,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,108,97,115,116,32,111,99,99,117,114,114,101,110,99,101,32,105,115,32,117,115,101,100,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,109,97,107,101,95,116,117,112,108,101,40,53,44,32,91,93,44,32,91,123,50,44,105,103,110,111,114,101,100,125,44,123,53,44,122,122,125,44,123,50,44,97,97,125,93,41,46,10,123,91,93,44,97,97,44,91,93,44,91,93,44,122,122,125>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,57,55,50>>,signature => [{attribute,{2364,2},spec,{{erlang,make_tuple,3},[{type,{2364,24},bounded_fun,[{type,{2364,24},'fun',[{type,{2364,24},product,[{var,{2364,25},'Arity'},{var,{2364,32},'DefaultValue'},{var,{2364,46},'InitList'}]},{type,{2364,59},tuple,any}]},[{type,{2365,7},constraint,[{atom,{2365,7},is_subtype},[{var,{2365,7},'Arity'},{type,{2365,16},arity,[]}]]},{type,{2366,7},constraint,[{atom,{2366,7},is_subtype},[{var,{2366,7},'DefaultValue'},{type,{2366,23},term,[]}]]},{type,{2367,7},constraint,[{atom,{2367,7},is_subtype},[{var,{2367,7},'InitList'},{type,{2367,19},list,[{type,{2367,20},tuple,[{ann_type,{2367,21},[{var,{2367,21},'Position'},{type,{2367,33},pos_integer,[]}]},{type,{2367,48},term,[]}]}]}]]}]]}]}}]}},{{function,map_get,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1406}],[<<109,97,112,95,103,101,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,118,97,108,117,101,32>>,{code,[],[<<86,97,108,117,101>>]},<<32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32>>,{code,[],[<<75,101,121>>]},<<32,105,102,32>>,{code,[],[<<77,97,112>>]},<<32,99,111,110,116,97,105,110,115,32>>,{code,[],[<<75,101,121>>]},<<46>>]},{p,[],[<<84,104,101,32,99,97,108,108,32,102,97,105,108,115,32,119,105,116,104,32,97,32>>,{code,[],[<<123,98,97,100,109,97,112,44,77,97,112,125>>]},<<32,101,120,99,101,112,116,105,111,110,32,105,102,32>>,{code,[],[<<77,97,112>>]},<<32,105,115,32,110,111,116,32,97,32,109,97,112,44,32,111,114,32,119,105,116,104,32,97,32>>,{code,[],[<<123,98,97,100,107,101,121,44,75,101,121,125>>]},<<32,101,120,99,101,112,116,105,111,110,32,105,102,32,110,111,32,118,97,108,117,101,32,105,115,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32>>,{code,[],[<<75,101,121>>]},<<46>>]},{p,[],[{em,[],[<<69,120,97,109,112,108,101,58>>]}]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<62,32,75,101,121,32,61,32,49,51,51,55,44,10,32,32,77,97,112,32,61,32,35,123,52,50,32,61,62,32,118,97,108,117,101,95,116,119,111,44,49,51,51,55,32,61,62,32,34,118,97,108,117,101,32,111,110,101,34,44,34,97,34,32,61,62,32,49,125,44,10,32,32,109,97,112,95,103,101,116,40,75,101,121,44,77,97,112,41,46,10,34,118,97,108,117,101,32,111,110,101,34>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,57,57,48>>,signature => [{attribute,{1406,2},spec,{{map_get,2},[{type,{1406,14},bounded_fun,[{type,{1406,14},'fun',[{type,{1406,14},product,[{var,{1406,15},'Key'},{var,{1406,20},'Map'}]},{var,{1406,28},'Value'}]},[{type,{1407,7},constraint,[{atom,{1407,7},is_subtype},[{var,{1407,7},'Map'},{type,{1407,14},map,any}]]},{type,{1408,7},constraint,[{atom,{1408,7},is_subtype},[{var,{1408,7},'Key'},{type,{1408,14},any,[]}]]},{type,{1409,7},constraint,[{atom,{1409,7},is_subtype},[{var,{1409,7},'Value'},{type,{1409,16},any,[]}]]}]]}]}}],since => <<79,84,80,32,50,49,46,48>>}},{{function,map_size,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1400}],[<<109,97,112,95,115,105,122,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,107,101,121,45,118,97,108,117,101,32,112,97,105,114,115,32,105,110,32>>,{code,[],[<<77,97,112>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,109,97,112,95,115,105,122,101,40,35,123,97,61,62,49,44,32,98,61,62,50,44,32,99,61,62,51,125,41,46,10,51>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,48,49,48>>,signature => [{attribute,{1400,2},spec,{{map_size,1},[{type,{1400,15},bounded_fun,[{type,{1400,15},'fun',[{type,{1400,15},product,[{var,{1400,16},'Map'}]},{type,{1400,24},non_neg_integer,[]}]},[{type,{1401,7},constraint,[{atom,{1401,7},is_subtype},[{var,{1401,7},'Map'},{type,{1401,14},map,any}]]}]]}]}}],since => <<79,84,80,32,49,55,46,48>>}},{{function,match_spec_test,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1414}],[<<109,97,116,99,104,95,115,112,101,99,95,116,101,115,116,47,51>>],#{<<101,110>> => [{p,[],[<<84,101,115,116,115,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,117,115,101,100,32,105,110,32,99,97,108,108,115,32,116,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,116,115,35,115,101,108,101,99,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,116,115,58,115,101,108,101,99,116,47,50>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]}]},<<46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,116,101,115,116,115,32,98,111,116,104,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,111,114,32,34,115,121,110,116,97,99,116,105,99,34,32,99,111,114,114,101,99,116,110,101,115,115,32,97,110,100,32,114,117,110,115,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,97,103,97,105,110,115,116,32,116,104,101,32,111,98,106,101,99,116,46,32,73,102,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,99,111,110,116,97,105,110,115,32,101,114,114,111,114,115,44,32,116,104,101,32,116,117,112,108,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,69,114,114,111,114,115,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,119,104,101,114,101,32>>,{code,[],[<<69,114,114,111,114,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,110,97,116,117,114,97,108,32,108,97,110,103,117,97,103,101,32,100,101,115,99,114,105,112,116,105,111,110,115,32,111,102,32,119,104,97,116,32,119,97,115,32,119,114,111,110,103,32,119,105,116,104,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32>>,{code,[],[<<116,97,98,108,101>>]},<<44,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,109,97,116,99,104,32,97,103,97,105,110,115,116,32,105,115,32,116,111,32,98,101,32,97,32,116,117,112,108,101,46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,116,104,101,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,82,101,115,117,108,116,44,91,93,44,87,97,114,110,105,110,103,115,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32,119,104,97,116,32,119,111,117,108,100,32,104,97,118,101,32,98,101,101,110,32,116,104,101,32,114,101,115,117,108,116,32,105,110,32,97,32,114,101,97,108,32>>,{code,[],[<<101,116,115,58,115,101,108,101,99,116,47,50>>]},<<32,99,97,108,108,44,32,111,114,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,111,98,106,101,99,116,32,116,117,112,108,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32>>,{code,[],[<<116,114,97,99,101>>]},<<44,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,109,97,116,99,104,32,97,103,97,105,110,115,116,32,105,115,32,116,111,32,98,101,32,97,32,108,105,115,116,46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,82,101,115,117,108,116,44,32,70,108,97,103,115,44,32,87,97,114,110,105,110,103,115,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{ul,[],[{li,[],[{code,[],[<<116,114,117,101>>]},<<32,105,102,32,97,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,105,115,32,116,111,32,98,101,32,101,109,105,116,116,101,100>>]},{li,[],[{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,97,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,105,115,32,110,111,116,32,116,111,32,98,101,32,101,109,105,116,116,101,100>>]},{li,[],[<<84,104,101,32,109,101,115,115,97,103,101,32,116,101,114,109,32,116,111,32,98,101,32,97,112,112,101,110,100,101,100,32,116,111,32,116,104,101,32,116,114,97,99,101,32,109,101,115,115,97,103,101>>]}]},{p,[],[{code,[],[<<70,108,97,103,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,97,108,108,32,116,104,101,32,116,114,97,99,101,32,102,108,97,103,115,32,116,111,32,98,101,32,101,110,97,98,108,101,100,44,32,99,117,114,114,101,110,116,108,121,32,116,104,105,115,32,105,115,32,111,110,108,121,32>>,{code,[],[<<114,101,116,117,114,110,95,116,114,97,99,101>>]},<<46>>]},{p,[],[<<84,104,105,115,32,105,115,32,97,32,117,115,101,102,117,108,32,100,101,98,117,103,103,105,110,103,32,97,110,100,32,116,101,115,116,32,116,111,111,108,44,32,101,115,112,101,99,105,97,108,108,121,32,119,104,101,110,32,119,114,105,116,105,110,103,32,99,111,109,112,108,105,99,97,116,101,100,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,116,115,35,116,101,115,116,95,109,115,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,116,115,58,116,101,115,116,95,109,115,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,48,50,51>>,signature => [{attribute,{1414,2},spec,{{erlang,match_spec_test,3},[{type,{1414,29},bounded_fun,[{type,{1414,29},'fun',[{type,{1414,29},product,[{var,{1414,30},'MatchAgainst'},{var,{1414,44},'MatchSpec'},{var,{1414,55},'Type'}]},{var,{1414,64},'TestResult'}]},[{type,{1415,7},constraint,[{atom,{1415,7},is_subtype},[{var,{1415,7},'MatchAgainst'},{type,{1415,23},union,[{type,{1415,23},list,[{type,{1415,24},term,[]}]},{type,{1415,34},tuple,any}]}]]},{type,{1416,7},constraint,[{atom,{1416,7},is_subtype},[{var,{1416,7},'MatchSpec'},{type,{1416,20},term,[]}]]},{type,{1417,7},constraint,[{atom,{1417,7},is_subtype},[{var,{1417,7},'Type'},{type,{1417,15},union,[{atom,{1417,15},table},{atom,{1417,23},trace}]}]]},{type,{1418,7},constraint,[{atom,{1418,7},is_subtype},[{var,{1418,7},'TestResult'},{type,{1418,21},union,[{type,{1418,21},tuple,[{atom,{1418,22},ok},{type,{1418,26},term,[]},{type,{1418,34},list,[{atom,{1418,35},return_trace}]},{type,{1418,50},list,[{type,{1418,52},tuple,[{type,{1418,53},union,[{atom,{1418,53},error},{atom,{1418,61},warning}]},{type,{1418,70},string,[]}]}]}]},{type,{1418,85},tuple,[{atom,{1418,86},error},{type,{1418,93},list,[{type,{1418,95},tuple,[{type,{1418,96},union,[{atom,{1418,96},error},{atom,{1418,104},warning}]},{type,{1418,113},string,[]}]}]}]}]}]]}]]}]}}],since => <<79,84,80,32,49,57,46,48>>}},{{function,max,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3991}],[<<109,97,120,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,108,97,114,103,101,115,116,32,111,102,32>>,{code,[],[<<84,101,114,109,49>>]},<<32,97,110,100,32>>,{code,[],[<<84,101,114,109,50>>]},<<46,32,73,102,32,116,104,101,32,116,101,114,109,115,32,99,111,109,112,97,114,101,32,101,113,117,97,108,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<61,61>>]},<<32,111,112,101,114,97,116,111,114,44,32>>,{code,[],[<<84,101,114,109,49>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,116,101,114,109,45,99,111,109,112,97,114,105,115,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,120,112,114,101,115,115,105,111,110,115,32,115,101,99,116,105,111,110>>]},<<32,99,111,110,116,97,105,110,115,32,100,101,115,99,114,105,112,116,105,111,110,115,32,111,102,32,116,104,101,32>>,{code,[],[<<61,61>>]},<<32,111,112,101,114,97,116,111,114,32,97,110,100,32,104,111,119,32,116,101,114,109,115,32,97,114,101,32,111,114,100,101,114,101,100,46>>]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,109,97,120,40,49,44,32,50,41,46,10,50>>]}]},{pre,[],[{code,[],[<<62,32,109,97,120,40,49,46,48,44,32,49,41,46,10,49,46,48>>]}]},{pre,[],[{code,[],[<<62,32,109,97,120,40,49,44,32,49,46,48,41,46,10,49>>]}]},{pre,[],[{code,[],[<<62,32,109,97,120,40,34,97,98,99,34,44,32,34,98,34,41,46,10,34,98,34>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,48,54,49>>,signature => [{attribute,{3991,2},spec,{{max,2},[{type,{3991,10},bounded_fun,[{type,{3991,10},'fun',[{type,{3991,10},product,[{var,{3991,11},'Term1'},{var,{3991,18},'Term2'}]},{var,{3991,28},'Maximum'}]},[{type,{3992,7},constraint,[{atom,{3992,7},is_subtype},[{var,{3992,7},'Term1'},{type,{3992,16},term,[]}]]},{type,{3993,7},constraint,[{atom,{3993,7},is_subtype},[{var,{3993,7},'Term2'},{type,{3993,16},term,[]}]]},{type,{3994,7},constraint,[{atom,{3994,7},is_subtype},[{var,{3994,7},'Maximum'},{type,{3994,18},term,[]}]]}]]}]}}]}},{{function,md5,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1423}],[<<109,100,53,47,49>>],#{<<101,110>> => [{p,[],[<<67,111,109,112,117,116,101,115,32,97,110,32,77,68,53,32,109,101,115,115,97,103,101,32,100,105,103,101,115,116,32,102,114,111,109,32>>,{code,[],[<<68,97,116,97>>]},<<44,32,119,104,101,114,101,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,100,105,103,101,115,116,32,105,115,32,49,50,56,32,98,105,116,115,32,40,49,54,32,98,121,116,101,115,41,46,32>>,{code,[],[<<68,97,116,97>>]},<<32,105,115,32,97,32,98,105,110,97,114,121,32,111,114,32,97,32,108,105,115,116,32,111,102,32,115,109,97,108,108,32,105,110,116,101,103,101,114,115,32,97,110,100,32,98,105,110,97,114,105,101,115,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,77,68,53,44,32,115,101,101,32>>,{a,[{href,<<104,116,116,112,115,58,47,47,119,119,119,46,105,101,116,102,46,111,114,103,47,114,102,99,47,114,102,99,49,51,50,49,46,116,120,116>>}],[<<82,70,67,32,49,51,50,49,32,45,32,84,104,101,32,77,68,53,32,77,101,115,115,97,103,101,45,68,105,103,101,115,116,32,65,108,103,111,114,105,116,104,109>>]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,101,32,77,68,53,32,77,101,115,115,97,103,101,45,68,105,103,101,115,116,32,65,108,103,111,114,105,116,104,109,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,99,111,110,115,105,100,101,114,101,100,32,115,97,102,101,32,102,111,114,32,99,111,100,101,45,115,105,103,110,105,110,103,32,111,114,32,115,111,102,116,119,97,114,101,45,105,110,116,101,103,114,105,116,121,32,112,117,114,112,111,115,101,115,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,48,57,48>>,signature => [{attribute,{1423,2},spec,{{erlang,md5,1},[{type,{1423,17},bounded_fun,[{type,{1423,17},'fun',[{type,{1423,17},product,[{var,{1423,18},'Data'}]},{var,{1423,27},'Digest'}]},[{type,{1424,7},constraint,[{atom,{1424,7},is_subtype},[{var,{1424,7},'Data'},{type,{1424,15},iodata,[]}]]},{type,{1425,7},constraint,[{atom,{1425,7},is_subtype},[{var,{1425,7},'Digest'},{type,{1425,17},binary,[]}]]}]]}]}}]}},{{function,md5_final,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1430}],[<<109,100,53,95,102,105,110,97,108,47,49>>],#{<<101,110>> => [{p,[],[<<70,105,110,105,115,104,101,115,32,116,104,101,32,117,112,100,97,116,101,32,111,102,32,97,110,32,77,68,53,32>>,{code,[],[<<67,111,110,116,101,120,116>>]},<<32,97,110,100,32,114,101,116,117,114,110,115,32,116,104,101,32,99,111,109,112,117,116,101,100,32>>,{code,[],[<<77,68,53>>]},<<32,109,101,115,115,97,103,101,32,100,105,103,101,115,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,49,48,56>>,signature => [{attribute,{1430,2},spec,{{erlang,md5_final,1},[{type,{1430,23},bounded_fun,[{type,{1430,23},'fun',[{type,{1430,23},product,[{var,{1430,24},'Context'}]},{var,{1430,36},'Digest'}]},[{type,{1431,7},constraint,[{atom,{1431,7},is_subtype},[{var,{1431,7},'Context'},{type,{1431,18},binary,[]}]]},{type,{1432,7},constraint,[{atom,{1432,7},is_subtype},[{var,{1432,7},'Digest'},{type,{1432,17},binary,[]}]]}]]}]}}]}},{{function,md5_init,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1437}],[<<109,100,53,95,105,110,105,116,47,48>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,110,32,77,68,53,32,99,111,110,116,101,120,116,44,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,99,97,108,108,115,32,116,111,32>>,{code,[],[<<109,100,53,95,117,112,100,97,116,101,47,50>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,49,49,56>>,signature => [{attribute,{1437,2},spec,{{erlang,md5_init,0},[{type,{1437,22},bounded_fun,[{type,{1437,22},'fun',[{type,{1437,22},product,[]},{var,{1437,28},'Context'}]},[{type,{1438,7},constraint,[{atom,{1438,7},is_subtype},[{var,{1438,7},'Context'},{type,{1438,18},binary,[]}]]}]]}]}}]}},{{function,md5_update,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1443}],[<<109,100,53,95,117,112,100,97,116,101,47,50>>],#{<<101,110>> => [{p,[],[<<85,112,100,97,116,101,32,97,110,32,77,68,53,32>>,{code,[],[<<67,111,110,116,101,120,116>>]},<<32,119,105,116,104,32>>,{code,[],[<<68,97,116,97>>]},<<32,97,110,100,32,114,101,116,117,114,110,115,32,97,32>>,{code,[],[<<78,101,119,67,111,110,116,101,120,116>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,49,50,55>>,signature => [{attribute,{1443,2},spec,{{erlang,md5_update,2},[{type,{1443,24},bounded_fun,[{type,{1443,24},'fun',[{type,{1443,24},product,[{var,{1443,25},'Context'},{var,{1443,34},'Data'}]},{var,{1443,43},'NewContext'}]},[{type,{1444,7},constraint,[{atom,{1444,7},is_subtype},[{var,{1444,7},'Context'},{type,{1444,18},binary,[]}]]},{type,{1445,7},constraint,[{atom,{1445,7},is_subtype},[{var,{1445,7},'Data'},{type,{1445,15},iodata,[]}]]},{type,{1446,7},constraint,[{atom,{1446,7},is_subtype},[{var,{1446,7},'NewContext'},{type,{1446,21},binary,[]}]]}]]}]}}]}},{{function,memory,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4023}],[<<109,101,109,111,114,121,47,48>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,101,109,111,114,121,95,116,121,112,101>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,119,105,116,104,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,109,101,109,111,114,121,32,100,121,110,97,109,105,99,97,108,108,121,32,97,108,108,111,99,97,116,101,100,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,101,109,117,108,97,116,111,114,46,32,69,97,99,104,32,108,105,115,116,32,101,108,101,109,101,110,116,32,105,115,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,84,121,112,101,44,32,83,105,122,101,125>>]},<<46,32,84,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32,97,110,32,97,116,111,109,32,100,101,115,99,114,105,98,105,110,103,32,109,101,109,111,114,121,32,116,121,112,101,46,32,84,104,101,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,32>>,{code,[],[<<83,105,122,101>>]},<<32,105,115,32,116,104,101,32,109,101,109,111,114,121,32,115,105,122,101,32,105,110,32,98,121,116,101,115,46>>]},{p,[],[<<77,101,109,111,114,121,32,116,121,112,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<116,111,116,97,108>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,97,108,108,111,99,97,116,101,100,46,32,84,104,105,115,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,115,117,109,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,115,105,122,101,32,102,111,114,32>>,{code,[],[<<112,114,111,99,101,115,115,101,115>>]},<<32,97,110,100,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<46>>]}]},{dt,[],[{code,[],[<<112,114,111,99,101,115,115,101,115>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,46>>]}]},{dt,[],[{code,[],[<<112,114,111,99,101,115,115,101,115,95,117,115,101,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,117,115,101,100,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,46,32,84,104,105,115,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<112,114,111,99,101,115,115,101,115>>]},<<32,109,101,109,111,114,121,46>>]}]},{dt,[],[{code,[],[<<115,121,115,116,101,109>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,116,104,101,32,101,109,117,108,97,116,111,114,32,116,104,97,116,32,105,115,32,110,111,116,32,100,105,114,101,99,116,108,121,32,114,101,108,97,116,101,100,32,116,111,32,97,110,121,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,46,32,77,101,109,111,114,121,32,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<112,114,111,99,101,115,115,101,115>>]},<<32,105,115,32,110,111,116,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,105,115,32,109,101,109,111,114,121,46,32>>,{a,[{href,<<116,111,111,108,115,58,105,110,115,116,114,117,109,101,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,110,115,116,114,117,109,101,110,116,40,51,41>>]}]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,103,101,116,32,97,32,109,111,114,101,32,100,101,116,97,105,108,101,100,32,98,114,101,97,107,100,111,119,110,32,111,102,32,119,104,97,116,32,109,101,109,111,114,121,32,105,115,32,112,97,114,116,32,111,102,32,116,104,105,115,32,116,121,112,101,46>>]}]},{dt,[],[{code,[],[<<97,116,111,109>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,97,116,111,109,115,46,32,84,104,105,115,32,109,101,109,111,114,121,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,109,101,109,111,114,121,46>>]}]},{dt,[],[{code,[],[<<97,116,111,109,95,117,115,101,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,117,115,101,100,32,102,111,114,32,97,116,111,109,115,46,32,84,104,105,115,32,109,101,109,111,114,121,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<97,116,111,109>>]},<<32,109,101,109,111,114,121,46>>]}]},{dt,[],[{code,[],[<<98,105,110,97,114,121>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,98,105,110,97,114,105,101,115,46,32,84,104,105,115,32,109,101,109,111,114,121,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,109,101,109,111,114,121,46>>]}]},{dt,[],[{code,[],[<<99,111,100,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,69,114,108,97,110,103,32,99,111,100,101,46,32,84,104,105,115,32,109,101,109,111,114,121,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,109,101,109,111,114,121,46>>]}]},{dt,[],[{code,[],[<<101,116,115>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,69,84,83,32,116,97,98,108,101,115,46,32,84,104,105,115,32,109,101,109,111,114,121,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,109,101,109,111,114,121,46>>]}]},{dt,[],[{code,[],[<<109,97,120,105,109,117,109>>]}]},{dd,[],[{p,[],[<<84,104,101,32,109,97,120,105,109,117,109,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,101,100,32,115,105,110,99,101,32,116,104,101,32,101,109,117,108,97,116,111,114,32,119,97,115,32,115,116,97,114,116,101,100,46,32,84,104,105,115,32,116,117,112,108,101,32,105,115,32,111,110,108,121,32,112,114,101,115,101,110,116,32,119,104,101,110,32,116,104,101,32,101,109,117,108,97,116,111,114,32,105,115,32,114,117,110,32,119,105,116,104,32,105,110,115,116,114,117,109,101,110,116,97,116,105,111,110,46>>]},{p,[],[<<70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,104,111,119,32,116,111,32,114,117,110,32,116,104,101,32,101,109,117,108,97,116,111,114,32,119,105,116,104,32,105,110,115,116,114,117,109,101,110,116,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<116,111,111,108,115,58,105,110,115,116,114,117,109,101,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,110,115,116,114,117,109,101,110,116,40,51,41>>]}]},<<32,97,110,100,47,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<101,114,108,40,49,41>>]}]},<<46>>]}]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,109,112,108,101,116,101,46,32,83,111,109,101,32,97,108,108,111,99,97,116,101,100,32,109,101,109,111,114,121,32,116,104,97,116,32,105,115,32,116,111,32,98,101,32,112,97,114,116,32,111,102,32,116,104,105,115,32,118,97,108,117,101,32,105,115,32,110,111,116,46>>]},{p,[],[<<87,104,101,110,32,116,104,101,32,101,109,117,108,97,116,111,114,32,105,115,32,114,117,110,32,119,105,116,104,32,105,110,115,116,114,117,109,101,110,116,97,116,105,111,110,44,32,116,104,101,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,118,97,108,117,101,32,105,115,32,109,111,114,101,32,97,99,99,117,114,97,116,101,44,32,98,117,116,32,109,101,109,111,114,121,32,100,105,114,101,99,116,108,121,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32>>,{code,[],[<<109,97,108,108,111,99>>]},<<32,40,97,110,100,32,102,114,105,101,110,100,115,41,32,105,115,32,115,116,105,108,108,32,110,111,116,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,118,97,108,117,101,46,32,68,105,114,101,99,116,32,99,97,108,108,115,32,116,111,32>>,{code,[],[<<109,97,108,108,111,99>>]},<<32,97,114,101,32,111,110,108,121,32,100,111,110,101,32,102,114,111,109,32,79,83,45,115,112,101,99,105,102,105,99,32,114,117,110,116,105,109,101,32,108,105,98,114,97,114,105,101,115,32,97,110,100,32,112,101,114,104,97,112,115,32,102,114,111,109,32,117,115,101,114,45,105,109,112,108,101,109,101,110,116,101,100,32,69,114,108,97,110,103,32,100,114,105,118,101,114,115,32,116,104,97,116,32,100,111,32,110,111,116,32,117,115,101,32,116,104,101,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,117,110,99,116,105,111,110,115,32,105,110,32,116,104,101,32,100,114,105,118,101,114,32,105,110,116,101,114,102,97,99,101,46>>]},{p,[],[<<65,115,32,116,104,101,32>>,{code,[],[<<116,111,116,97,108>>]},<<32,118,97,108,117,101,32,105,115,32,116,104,101,32,115,117,109,32,111,102,32>>,{code,[],[<<112,114,111,99,101,115,115,101,115>>]},<<32,97,110,100,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<44,32,116,104,101,32,101,114,114,111,114,32,105,110,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,112,114,111,112,97,103,97,116,101,115,32,116,111,32,116,104,101,32>>,{code,[],[<<116,111,116,97,108>>]},<<32,118,97,108,117,101,46>>]},{p,[],[<<84,104,101,32,100,105,102,102,101,114,101,110,116,32,97,109,111,117,110,116,115,32,111,102,32,109,101,109,111,114,121,32,116,104,97,116,32,97,114,101,32,115,117,109,109,101,100,32,97,114,101,32>>,{em,[],[<<110,111,116>>]},<<32,103,97,116,104,101,114,101,100,32,97,116,111,109,105,99,97,108,108,121,44,32,119,104,105,99,104,32,105,110,116,114,111,100,117,99,101,115,32,97,110,32,101,114,114,111,114,32,105,110,32,116,104,101,32,114,101,115,117,108,116,46>>]}]},{p,[],[<<84,104,101,32,100,105,102,102,101,114,101,110,116,32,118,97,108,117,101,115,32,104,97,118,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,114,101,108,97,116,105,111,110,32,116,111,32,101,97,99,104,32,111,116,104,101,114,46,32,86,97,108,117,101,115,32,98,101,103,105,110,110,105,110,103,32,119,105,116,104,32,97,110,32,117,112,112,101,114,99,97,115,101,32,108,101,116,116,101,114,32,105,115,32,110,111,116,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,46>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<116,111,116,97,108,32,32,32,32,32,32,61,32,112,114,111,99,101,115,115,101,115,32,43,32,115,121,115,116,101,109,10,112,114,111,99,101,115,115,101,115,32,32,61,32,112,114,111,99,101,115,115,101,115,95,117,115,101,100,32,43,32,80,114,111,99,101,115,115,101,115,78,111,116,85,115,101,100,10,115,121,115,116,101,109,32,32,32,32,32,61,32,97,116,111,109,32,43,32,98,105,110,97,114,121,32,43,32,99,111,100,101,32,43,32,101,116,115,32,43,32,79,116,104,101,114,83,121,115,116,101,109,10,97,116,111,109,32,32,32,32,32,32,32,61,32,97,116,111,109,95,117,115,101,100,32,43,32,65,116,111,109,78,111,116,85,115,101,100,10,82,101,97,108,84,111,116,97,108,32,32,61,32,112,114,111,99,101,115,115,101,115,32,43,32,82,101,97,108,83,121,115,116,101,109,10,82,101,97,108,83,121,115,116,101,109,32,61,32,115,121,115,116,101,109,32,43,32,77,105,115,115,101,100,83,121,115,116,101,109>>]}]},{p,[],[<<77,111,114,101,32,116,117,112,108,101,115,32,105,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,32,99,97,110,32,98,101,32,97,100,100,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32>>,{code,[],[<<116,111,116,97,108>>]},<<32,118,97,108,117,101,32,105,115,32,115,117,112,112,111,115,101,100,32,116,111,32,98,101,32,116,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,100,121,110,97,109,105,99,97,108,108,121,32,97,108,108,111,99,97,116,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,83,104,97,114,101,100,32,108,105,98,114,97,114,105,101,115,44,32,116,104,101,32,99,111,100,101,32,111,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,105,116,115,101,108,102,44,32,97,110,100,32,116,104,101,32,101,109,117,108,97,116,111,114,32,115,116,97,99,107,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,115,101,100,32,116,111,32,98,101,32,105,110,99,108,117,100,101,100,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32>>,{code,[],[<<116,111,116,97,108>>]},<<32,118,97,108,117,101,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,115,117,112,112,111,115,101,100,32,116,111,32,98,101,32,101,113,117,97,108,32,116,111,32,116,104,101,32,116,111,116,97,108,32,115,105,122,101,32,111,102,32,97,108,108,32,112,97,103,101,115,32,109,97,112,112,101,100,32,116,111,32,116,104,101,32,101,109,117,108,97,116,111,114,46>>]},{p,[],[<<65,108,115,111,44,32,98,101,99,97,117,115,101,32,111,102,32,102,114,97,103,109,101,110,116,97,116,105,111,110,32,97,110,100,32,112,114,101,114,101,115,101,114,118,97,116,105,111,110,32,111,102,32,109,101,109,111,114,121,32,97,114,101,97,115,44,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,115,101,103,109,101,110,116,115,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,100,121,110,97,109,105,99,97,108,108,121,32,97,108,108,111,99,97,116,101,100,32,109,101,109,111,114,121,32,98,108,111,99,107,115,32,99,97,110,32,98,101,32,109,117,99,104,32,108,97,114,103,101,114,32,116,104,97,110,32,116,104,101,32,116,111,116,97,108,32,115,105,122,101,32,111,102,32,116,104,101,32,100,121,110,97,109,105,99,97,108,108,121,32,97,108,108,111,99,97,116,101,100,32,109,101,109,111,114,121,32,98,108,111,99,107,115,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,115,32,102,114,111,109,32,69,82,84,83,32,53,46,54,46,52,44,32>>,{code,[],[<<101,114,108,97,110,103,58,109,101,109,111,114,121,47,48>>]},<<32,114,101,113,117,105,114,101,115,32,116,104,97,116,32,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]}]},<<32,97,108,108,111,99,97,116,111,114,115,32,97,114,101,32,101,110,97,98,108,101,100,32,40,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,41,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<110,111,116,115,117,112>>]},<<32,105,102,32,97,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]}]},<<32,97,108,108,111,99,97,116,111,114,32,104,97,115,32,98,101,101,110,32,100,105,115,97,98,108,101,100,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,49,51,56>>,signature => [{attribute,{4023,2},spec,{{erlang,memory,0},[{type,{4023,20},bounded_fun,[{type,{4023,20},'fun',[{type,{4023,20},product,[]},{type,{4023,26},list,[{type,{4023,27},tuple,[{var,{4023,28},'Type'},{var,{4023,34},'Size'}]}]}]},[{type,{4024,7},constraint,[{atom,{4024,7},is_subtype},[{var,{4024,7},'Type'},{user_type,{4024,15},memory_type,[]}]]},{type,{4025,7},constraint,[{atom,{4025,7},is_subtype},[{var,{4025,7},'Size'},{type,{4025,15},non_neg_integer,[]}]]}]]}]}}]}},{{function,memory,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4042}],[<<109,101,109,111,114,121,47,49>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,101,109,111,114,121,95,116,121,112,101>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,101,109,111,114,121,32,115,105,122,101,32,105,110,32,98,121,116,101,115,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,109,101,109,111,114,121,32,111,102,32,116,121,112,101,32>>,{code,[],[<<84,121,112,101>>]},<<46,32,84,104,101,32,97,114,103,117,109,101,110,116,32,99,97,110,32,97,108,115,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,108,105,115,116,32,111,102,32>>,{code,[],[<<109,101,109,111,114,121,95,116,121,112,101,40,41>>]},<<32,97,116,111,109,115,44,32,105,110,32,119,104,105,99,104,32,99,97,115,101,32,97,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,108,105,115,116,32,111,102,32>>,{code,[],[<<123,109,101,109,111,114,121,95,116,121,112,101,40,41,44,32,83,105,122,101,32,58,58,32,105,110,116,101,103,101,114,32,62,61,32,48,125>>]},<<32,116,117,112,108,101,115,32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,115,32,102,114,111,109,32,69,82,84,83,32,53,46,54,46,52,44,32>>,{code,[],[<<101,114,108,97,110,103,58,109,101,109,111,114,121,47,49>>]},<<32,114,101,113,117,105,114,101,115,32,116,104,97,116,32,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]}]},<<32,97,108,108,111,99,97,116,111,114,115,32,97,114,101,32,101,110,97,98,108,101,100,32,40,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,41,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32,110,111,116,32,111,110,101,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,116,121,112,101,115,32,108,105,115,116,101,100,32,105,110,32,116,104,101,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,101,109,111,114,121,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,109,101,109,111,114,121,47,48>>]}]},<<46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<109,97,120,105,109,117,109>>]},<<32,105,115,32,112,97,115,115,101,100,32,97,115,32>>,{code,[],[<<84,121,112,101>>]},<<32,97,110,100,32,116,104,101,32,101,109,117,108,97,116,111,114,32,105,115,32,110,111,116,32,114,117,110,32,105,110,32,105,110,115,116,114,117,109,101,110,116,101,100,32,109,111,100,101,46>>]},{dt,[],[{code,[],[<<110,111,116,115,117,112>>]}]},{dd,[],[<<73,102,32,97,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]}]},<<32,97,108,108,111,99,97,116,111,114,32,104,97,115,32,98,101,101,110,32,100,105,115,97,98,108,101,100,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,101,109,111,114,121,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,109,101,109,111,114,121,47,48>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,50,55,51>>,signature => [{attribute,{4042,2},spec,{{erlang,memory,1},[{type,{4042,20},'fun',[{type,{4042,20},product,[{ann_type,{4042,21},[{var,{4042,21},'Type'},{user_type,{4042,29},memory_type,[]}]}]},{type,{4042,47},non_neg_integer,[]}]},{type,{4043,20},'fun',[{type,{4043,20},product,[{ann_type,{4043,21},[{var,{4043,21},'TypeList'},{type,{4043,33},list,[{user_type,{4043,34},memory_type,[]}]}]}]},{type,{4043,53},list,[{type,{4043,54},tuple,[{user_type,{4043,55},memory_type,[]},{type,{4043,70},non_neg_integer,[]}]}]}]}]}}]}},{{function,min,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3984}],[<<109,105,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,111,102,32>>,{code,[],[<<84,101,114,109,49>>]},<<32,97,110,100,32>>,{code,[],[<<84,101,114,109,50>>]},<<46,32,73,102,32,116,104,101,32,116,101,114,109,115,32,99,111,109,112,97,114,101,32,101,113,117,97,108,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<61,61>>]},<<32,111,112,101,114,97,116,111,114,44,32>>,{code,[],[<<84,101,114,109,49>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,116,101,114,109,45,99,111,109,112,97,114,105,115,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,120,112,114,101,115,115,105,111,110,115,32,115,101,99,116,105,111,110>>]},<<32,99,111,110,116,97,105,110,115,32,100,101,115,99,114,105,112,116,105,111,110,115,32,111,102,32,116,104,101,32>>,{code,[],[<<61,61>>]},<<32,111,112,101,114,97,116,111,114,32,97,110,100,32,104,111,119,32,116,101,114,109,115,32,97,114,101,32,111,114,100,101,114,101,100,46>>]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,109,105,110,40,49,44,32,50,41,46,10,49>>]}]},{pre,[],[{code,[],[<<62,32,109,105,110,40,49,46,48,44,32,49,41,46,10,49,46,48>>]}]},{pre,[],[{code,[],[<<62,32,109,105,110,40,49,44,32,49,46,48,41,46,10,49>>]}]},{pre,[],[{code,[],[<<62,32,109,105,110,40,34,97,98,99,34,44,32,34,98,34,41,46,10,34,97,98,99,34>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,51,49,51>>,signature => [{attribute,{3984,2},spec,{{min,2},[{type,{3984,10},bounded_fun,[{type,{3984,10},'fun',[{type,{3984,10},product,[{var,{3984,11},'Term1'},{var,{3984,18},'Term2'}]},{var,{3984,28},'Minimum'}]},[{type,{3985,7},constraint,[{atom,{3985,7},is_subtype},[{var,{3985,7},'Term1'},{type,{3985,16},term,[]}]]},{type,{3986,7},constraint,[{atom,{3986,7},is_subtype},[{var,{3986,7},'Term2'},{type,{3986,16},term,[]}]]},{type,{3987,7},constraint,[{atom,{3987,7},is_subtype},[{var,{3987,7},'Minimum'},{type,{3987,18},term,[]}]]}]]}]}}]}},{{function,module_loaded,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1451}],[<<109,111,100,117,108,101,95,108,111,97,100,101,100,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,109,111,100,117,108,101,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,105,115,32,108,111,97,100,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46,32,73,116,32,100,111,101,115,32,110,111,116,32,97,116,116,101,109,112,116,32,116,111,32,108,111,97,100,32,116,104,101,32,109,111,100,117,108,101,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,116,104,101,32,99,111,100,101,32,115,101,114,118,101,114,32,40,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,100,101,40,51,41>>]}]},<<41,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,101,108,115,101,119,104,101,114,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,51,52,50>>,signature => [{attribute,{1451,2},spec,{{module_loaded,1},[{type,{1451,20},bounded_fun,[{type,{1451,20},'fun',[{type,{1451,20},product,[{var,{1451,21},'Module'}]},{type,{1451,32},boolean,[]}]},[{type,{1452,7},constraint,[{atom,{1452,7},is_subtype},[{var,{1452,7},'Module'},{type,{1452,17},module,[]}]]}]]}]}}]}},{{function,monitor,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1464}],[<<109,111,110,105,116,111,114,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,111,110,105,116,111,114,95,112,111,114,116,95,105,100,101,110,116,105,102,105,101,114>>}],[]},{li,[{name,<<109,111,110,105,116,111,114,95,112,114,111,99,101,115,115,95,105,100,101,110,116,105,102,105,101,114>>}],[]},{li,[{name,<<114,101,103,105,115,116,101,114,101,100,95,110,97,109,101>>}],[]},{li,[{name,<<114,101,103,105,115,116,101,114,101,100,95,112,114,111,99,101,115,115,95,105,100,101,110,116,105,102,105,101,114>>}],[]}]},{p,[],[{a,[{id,<<109,111,110,105,116,111,114,95,109,101,115,115,97,103,101>>}],[]},<<83,101,110,100,115,32,97,32,109,111,110,105,116,111,114,32,114,101,113,117,101,115,116,32,111,102,32,116,121,112,101,32>>,{code,[],[<<84,121,112,101>>]},<<32,116,111,32,116,104,101,32,101,110,116,105,116,121,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<46,32,73,102,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,101,110,116,105,116,121,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,32,111,114,32,105,116,32,99,104,97,110,103,101,115,32,109,111,110,105,116,111,114,101,100,32,115,116,97,116,101,44,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<109,111,110,105,116,111,114,47,50>>]},<<32,105,115,32,110,111,116,105,102,105,101,100,32,98,121,32,97,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,111,114,109,97,116,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<123,84,97,103,44,32,77,111,110,105,116,111,114,82,101,102,44,32,84,121,112,101,44,32,79,98,106,101,99,116,44,32,73,110,102,111,125>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,114,101,113,117,101,115,116,32,105,115,32,97,110,32,97,115,121,110,99,104,114,111,110,111,117,115,32,115,105,103,110,97,108,46,32,84,104,97,116,32,105,115,44,32,105,116,32,116,97,107,101,115,32,116,105,109,101,32,98,101,102,111,114,101,32,116,104,101,32,115,105,103,110,97,108,32,114,101,97,99,104,101,115,32,105,116,115,32,100,101,115,116,105,110,97,116,105,111,110,46>>]}]},{p,[],[{code,[],[<<84,121,112,101>>]},<<32,99,97,110,32,98,101,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,97,116,111,109,115,58,32>>,{code,[],[<<112,114,111,99,101,115,115>>]},<<44,32>>,{code,[],[<<112,111,114,116>>]},<<32,111,114,32>>,{code,[],[<<116,105,109,101,95,111,102,102,115,101,116>>]},<<46>>]},{p,[],[<<65,32>>,{code,[],[<<112,114,111,99,101,115,115>>]},<<32,111,114,32>>,{code,[],[<<112,111,114,116>>]},<<32,109,111,110,105,116,111,114,32,105,115,32,116,114,105,103,103,101,114,101,100,32,111,110,108,121,32,111,110,99,101,44,32,97,102,116,101,114,32,116,104,97,116,32,105,116,32,105,115,32,114,101,109,111,118,101,100,32,102,114,111,109,32,98,111,116,104,32,109,111,110,105,116,111,114,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,101,110,116,105,116,121,46,32,77,111,110,105,116,111,114,115,32,97,114,101,32,102,105,114,101,100,32,119,104,101,110,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,116,101,114,109,105,110,97,116,101,115,44,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,32,97,116,32,116,104,101,32,109,111,109,101,110,116,32,111,102,32,99,114,101,97,116,105,111,110,44,32,111,114,32,105,102,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32,105,116,32,105,115,32,108,111,115,116,46,32,73,102,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32,105,116,32,105,115,32,108,111,115,116,44,32,119,101,32,100,111,32,110,111,116,32,107,110,111,119,32,105,102,32,105,116,32,115,116,105,108,108,32,101,120,105,115,116,115,46,32,84,104,101,32,109,111,110,105,116,111,114,105,110,103,32,105,115,32,97,108,115,111,32,116,117,114,110,101,100,32,111,102,102,32,119,104,101,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,101,109,111,110,105,116,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<100,101,109,111,110,105,116,111,114,47,49>>]},<<32,105,115,32,99,97,108,108,101,100,46>>]},{p,[],[<<65,32>>,{code,[],[<<112,114,111,99,101,115,115>>]},<<32,111,114,32>>,{code,[],[<<112,111,114,116>>]},<<32,109,111,110,105,116,111,114,32,98,121,32,110,97,109,101,32,114,101,115,111,108,118,101,115,32,116,104,101,32>>,{code,[],[<<82,101,103,105,115,116,101,114,101,100,78,97,109,101>>]},<<32,116,111,32>>,{code,[],[<<112,105,100,40,41>>]},<<32,111,114,32>>,{code,[],[<<112,111,114,116,40,41>>]},<<32,111,110,108,121,32,111,110,99,101,32,97,116,32,116,104,101,32,109,111,109,101,110,116,32,111,102,32,109,111,110,105,116,111,114,32,105,110,115,116,97,110,116,105,97,116,105,111,110,44,32,108,97,116,101,114,32,99,104,97,110,103,101,115,32,116,111,32,116,104,101,32,110,97,109,101,32,114,101,103,105,115,116,114,97,116,105,111,110,32,119,105,108,108,32,110,111,116,32,97,102,102,101,99,116,32,116,104,101,32,101,120,105,115,116,105,110,103,32,109,111,110,105,116,111,114,46>>]},{p,[],[<<87,104,101,110,32,97,32>>,{code,[],[<<112,114,111,99,101,115,115>>]},<<32,111,114,32>>,{code,[],[<<112,111,114,116>>]},<<32,109,111,110,105,116,111,114,32,105,115,32,116,114,105,103,103,101,114,101,100,44,32,97,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,116,104,97,116,32,104,97,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<123,39,68,79,87,78,39,44,32,77,111,110,105,116,111,114,82,101,102,44,32,84,121,112,101,44,32,79,98,106,101,99,116,44,32,73,110,102,111,125>>]}]},{p,[],[<<73,110,32,116,104,101,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,32>>,{code,[],[<<77,111,110,105,116,111,114,82,101,102>>]},<<32,97,110,100,32>>,{code,[],[<<84,121,112,101>>]},<<32,97,114,101,32,116,104,101,32,115,97,109,101,32,97,115,32,100,101,115,99,114,105,98,101,100,32,101,97,114,108,105,101,114,44,32,97,110,100,58>>]},{dl,[],[{dt,[],[{code,[],[<<79,98,106,101,99,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,101,100,32,101,110,116,105,116,121,44,32,119,104,105,99,104,32,116,114,105,103,103,101,114,101,100,32,116,104,101,32,101,118,101,110,116,46,32,87,104,101,110,32,109,111,110,105,116,111,114,105,110,103,32,97,32,112,114,111,99,101,115,115,32,111,114,32,97,32,108,111,99,97,108,32,112,111,114,116,44,32>>,{code,[],[<<79,98,106,101,99,116>>]},<<32,119,105,108,108,32,98,101,32,101,113,117,97,108,32,116,111,32,116,104,101,32>>,{code,[],[<<112,105,100,40,41>>]},<<32,111,114,32>>,{code,[],[<<112,111,114,116,40,41>>]},<<32,116,104,97,116,32,119,97,115,32,98,101,105,110,103,32,109,111,110,105,116,111,114,101,100,46,32,87,104,101,110,32,109,111,110,105,116,111,114,105,110,103,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,98,121,32,110,97,109,101,44,32>>,{code,[],[<<79,98,106,101,99,116>>]},<<32,119,105,108,108,32,104,97,118,101,32,102,111,114,109,97,116,32>>,{code,[],[<<123,82,101,103,105,115,116,101,114,101,100,78,97,109,101,44,32,78,111,100,101,125>>]},<<32,119,104,101,114,101,32>>,{code,[],[<<82,101,103,105,115,116,101,114,101,100,78,97,109,101>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,119,104,105,99,104,32,104,97,115,32,98,101,101,110,32,117,115,101,100,32,119,105,116,104,32>>,{code,[],[<<109,111,110,105,116,111,114,47,50>>]},<<32,99,97,108,108,32,97,110,100,32>>,{code,[],[<<78,111,100,101>>]},<<32,105,115,32,108,111,99,97,108,32,111,114,32,114,101,109,111,116,101,32,110,111,100,101,32,110,97,109,101,32,40,102,111,114,32,112,111,114,116,115,32,109,111,110,105,116,111,114,101,100,32,98,121,32,110,97,109,101,44,32>>,{code,[],[<<78,111,100,101>>]},<<32,105,115,32,97,108,119,97,121,115,32,108,111,99,97,108,32,110,111,100,101,32,110,97,109,101,41,46>>]}]},{dt,[],[{code,[],[<<73,110,102,111>>]}]},{dd,[],[{p,[],[<<69,105,116,104,101,114,32,116,104,101,32,101,120,105,116,32,114,101,97,115,111,110,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,44,32>>,{code,[],[<<110,111,112,114,111,99>>]},<<32,40,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,100,105,100,32,110,111,116,32,101,120,105,115,116,32,97,116,32,116,104,101,32,116,105,109,101,32,111,102,32,109,111,110,105,116,111,114,32,99,114,101,97,116,105,111,110,41,44,32,111,114,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]},<<32,40,110,111,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32,116,104,101,32,110,111,100,101,32,119,104,101,114,101,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,112,114,111,99,101,115,115,32,114,101,115,105,100,101,115,41,46>>]}]}]},{dl,[],[{dt,[],[<<77,111,110,105,116,111,114,105,110,103,32,97,32>>,{a,[{id,<<109,111,110,105,116,111,114,95,112,114,111,99,101,115,115>>}],[]},{code,[],[<<112,114,111,99,101,115,115>>]}]},{dd,[],[{p,[],[<<67,114,101,97,116,101,115,32,109,111,110,105,116,111,114,32,98,101,116,119,101,101,110,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,32,97,110,100,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,97,32>>,{code,[],[<<112,105,100,40,41>>]},<<32,40,108,111,99,97,108,32,111,114,32,114,101,109,111,116,101,41,44,32,97,110,32,97,116,111,109,32>>,{code,[],[<<82,101,103,105,115,116,101,114,101,100,78,97,109,101>>]},<<32,111,114,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,82,101,103,105,115,116,101,114,101,100,78,97,109,101,44,32,78,111,100,101,125>>]},<<32,102,111,114,32,97,32,114,101,103,105,115,116,101,114,101,100,32,112,114,111,99,101,115,115,44,32,108,111,99,97,116,101,100,32,101,108,115,101,119,104,101,114,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<66,101,102,111,114,101,32,69,82,84,83,32,49,48,46,48,32,40,79,84,80,32,50,49,46,48,41,44,32,109,111,110,105,116,111,114,105,110,103,32,97,32,112,114,111,99,101,115,115,32,99,111,117,108,100,32,102,97,105,108,32,119,105,116,104,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,112,114,111,99,101,115,115,32,114,101,115,105,100,101,100,32,111,110,32,97,32,112,114,105,109,105,116,105,118,101,32,110,111,100,101,32,40,115,117,99,104,32,97,115,32,101,114,108,95,105,110,116,101,114,102,97,99,101,32,111,114,32,106,105,110,116,101,114,102,97,99,101,41,44,32,119,104,101,114,101,32,114,101,109,111,116,101,32,112,114,111,99,101,115,115,32,109,111,110,105,116,111,114,105,110,103,32,105,115,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,46>>]},{p,[],[<<78,111,119,44,32,115,117,99,104,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<109,111,110,105,116,111,114>>]},<<32,119,105,108,108,32,105,110,115,116,101,97,100,32,115,117,99,99,101,101,100,32,97,110,100,32,97,32,109,111,110,105,116,111,114,32,105,115,32,99,114,101,97,116,101,100,46,32,66,117,116,32,116,104,101,32,109,111,110,105,116,111,114,32,119,105,108,108,32,111,110,108,121,32,115,117,112,101,114,118,105,115,101,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,46,32,84,104,97,116,32,105,115,44,32,97,32>>,{code,[],[<<123,39,68,79,87,78,39,44,32,95,44,32,112,114,111,99,101,115,115,44,32,95,44,32,110,111,99,111,110,110,101,99,116,105,111,110,125>>]},<<32,105,115,32,116,104,101,32,111,110,108,121,32,109,101,115,115,97,103,101,32,116,104,97,116,32,109,97,121,32,98,101,32,114,101,99,101,105,118,101,100,44,32,97,115,32,116,104,101,32,112,114,105,109,105,116,105,118,101,32,110,111,100,101,32,104,97,118,101,32,110,111,32,119,97,121,32,111,102,32,114,101,112,111,114,116,105,110,103,32,116,104,101,32,115,116,97,116,117,115,32,111,102,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,112,114,111,99,101,115,115,46>>]}]}]},{dt,[],[<<77,111,110,105,116,111,114,105,110,103,32,97,32>>,{a,[{id,<<109,111,110,105,116,111,114,95,112,111,114,116>>}],[]},{code,[],[<<112,111,114,116>>]}]},{dd,[],[{p,[],[<<67,114,101,97,116,101,115,32,109,111,110,105,116,111,114,32,98,101,116,119,101,101,110,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,32,97,110,100,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,97,32>>,{code,[],[<<112,111,114,116,40,41>>]},<<32,40,111,110,108,121,32,108,111,99,97,108,41,44,32,97,110,32,97,116,111,109,32>>,{code,[],[<<82,101,103,105,115,116,101,114,101,100,78,97,109,101>>]},<<32,111,114,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,82,101,103,105,115,116,101,114,101,100,78,97,109,101,44,32,78,111,100,101,125>>]},<<32,102,111,114,32,97,32,114,101,103,105,115,116,101,114,101,100,32,112,111,114,116,44,32,108,111,99,97,116,101,100,32,111,110,32,116,104,105,115,32,110,111,100,101,46,32,78,111,116,101,44,32,116,104,97,116,32,97,116,116,101,109,112,116,32,116,111,32,109,111,110,105,116,111,114,32,97,32,114,101,109,111,116,101,32,112,111,114,116,32,119,105,108,108,32,114,101,115,117,108,116,32,105,110,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<46>>]}]},{dt,[],[<<77,111,110,105,116,111,114,105,110,103,32,97,32>>,{a,[{id,<<109,111,110,105,116,111,114,95,116,105,109,101,95,111,102,102,115,101,116>>}],[]},{code,[],[<<116,105,109,101,95,111,102,102,115,101,116>>]}]},{dd,[],[{p,[],[<<77,111,110,105,116,111,114,115,32,99,104,97,110,103,101,115,32,105,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,105,109,101,95,111,102,102,115,101,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,105,109,101,32,111,102,102,115,101,116>>]}]},<<32,98,101,116,119,101,101,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<46,32,79,110,101,32,118,97,108,105,100,32>>,{code,[],[<<73,116,101,109>>]},<<32,101,120,105,115,116,115,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<116,105,109,101,95,111,102,102,115,101,116,32,84,121,112,101>>]},<<44,32,110,97,109,101,108,121,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<99,108,111,99,107,95,115,101,114,118,105,99,101>>]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<99,108,111,99,107,95,115,101,114,118,105,99,101>>]},<<32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,97,32,112,114,111,99,101,115,115,46,32,73,110,32,116,104,105,115,32,99,97,115,101,32,105,116,32,115,101,114,118,101,115,32,97,115,32,97,110,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,116,101,114,110,97,108,32,99,108,111,99,107,32,115,101,114,118,105,99,101,32,97,116,32,99,117,114,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46>>]},{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,105,115,32,116,114,105,103,103,101,114,101,100,32,119,104,101,110,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,99,104,97,110,103,101,100,46,32,84,104,105,115,32,101,105,116,104,101,114,32,105,102,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,118,97,108,117,101,32,105,115,32,99,104,97,110,103,101,100,44,32,111,114,32,105,102,32,116,104,101,32,111,102,102,115,101,116,32,105,115,32,99,104,97,110,103,101,100,32,102,114,111,109,32,112,114,101,108,105,109,105,110,97,114,121,32,116,111,32,102,105,110,97,108,32,100,117,114,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,116,105,109,101,95,111,102,102,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,105,110,97,108,105,122,97,116,105,111,110,32,111,102,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116>>]},<<32,119,104,101,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,83,105,110,103,108,101,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46,32,87,104,101,110,32,97,32,99,104,97,110,103,101,32,102,114,111,109,32,112,114,101,108,105,109,105,110,97,114,121,32,116,111,32,102,105,110,97,108,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,109,97,100,101,44,32,116,104,101,32,109,111,110,105,116,111,114,32,105,115,32,116,114,105,103,103,101,114,101,100,32,111,110,99,101,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,119,104,101,116,104,101,114,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,118,97,108,117,101,32,119,97,115,32,99,104,97,110,103,101,100,32,111,114,32,110,111,116,46>>]},{p,[],[<<73,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,115,32,105,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,77,117,108,116,105,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<109,117,108,116,105,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<44,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,99,104,97,110,103,101,100,32,119,104,101,110,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,100,101,116,101,99,116,115,32,116,104,97,116,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,79,83,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,104,97,115,32,99,104,97,110,103,101,100,46,32,84,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,100,111,101,115,44,32,104,111,119,101,118,101,114,44,32,110,111,116,32,100,101,116,101,99,116,32,116,104,105,115,32,105,109,109,101,100,105,97,116,101,108,121,32,119,104,101,110,32,105,116,32,111,99,99,117,114,115,46,32,65,32,116,97,115,107,32,99,104,101,99,107,105,110,103,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,115,99,104,101,100,117,108,101,100,32,116,111,32,101,120,101,99,117,116,101,32,97,116,32,108,101,97,115,116,32,111,110,99,101,32,97,32,109,105,110,117,116,101,44,32,115,111,32,117,110,100,101,114,32,110,111,114,109,97,108,32,111,112,101,114,97,116,105,111,110,32,116,104,105,115,32,105,115,32,116,111,32,98,101,32,100,101,116,101,99,116,101,100,32,119,105,116,104,105,110,32,97,32,109,105,110,117,116,101,44,32,98,117,116,32,100,117,114,105,110,103,32,104,101,97,118,121,32,108,111,97,100,32,105,116,32,99,97,110,32,116,97,107,101,32,108,111,110,103,101,114,32,116,105,109,101,46>>]},{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,114,101,109,111,118,101,100,32,97,102,116,101,114,32,105,116,32,104,97,115,32,98,101,101,110,32,116,114,105,103,103,101,114,101,100,46,32,84,104,97,116,32,105,115,44,32,114,101,112,101,97,116,101,100,32,99,104,97,110,103,101,115,32,111,102,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,116,114,105,103,103,101,114,32,116,104,101,32,109,111,110,105,116,111,114,32,114,101,112,101,97,116,101,100,108,121,46>>]},{p,[],[<<87,104,101,110,32,116,104,101,32,109,111,110,105,116,111,114,32,105,115,32,116,114,105,103,103,101,114,101,100,32,97,32>>,{code,[],[<<39,67,72,65,78,71,69,39>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,109,111,110,105,116,111,114,105,110,103,32,112,114,111,99,101,115,115,46,32,65,32>>,{code,[],[<<39,67,72,65,78,71,69,39>>]},<<32,109,101,115,115,97,103,101,32,104,97,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<123,39,67,72,65,78,71,69,39,44,32,77,111,110,105,116,111,114,82,101,102,44,32,84,121,112,101,44,32,73,116,101,109,44,32,78,101,119,84,105,109,101,79,102,102,115,101,116,125>>]}]},{p,[],[<<119,104,101,114,101,32>>,{code,[],[<<77,111,110,105,116,111,114,82,101,102>>]},<<44,32>>,{code,[],[<<84,121,112,101>>]},<<44,32,97,110,100,32>>,{code,[],[<<73,116,101,109>>]},<<32,97,114,101,32,116,104,101,32,115,97,109,101,32,97,115,32,100,101,115,99,114,105,98,101,100,32,97,98,111,118,101,44,32,97,110,100,32>>,{code,[],[<<78,101,119,84,105,109,101,79,102,102,115,101,116>>]},<<32,105,115,32,116,104,101,32,110,101,119,32,116,105,109,101,32,111,102,102,115,101,116,46>>]},{p,[],[<<87,104,101,110,32,116,104,101,32>>,{code,[],[<<39,67,72,65,78,71,69,39>>]},<<32,109,101,115,115,97,103,101,32,104,97,115,32,98,101,101,110,32,114,101,99,101,105,118,101,100,32,121,111,117,32,97,114,101,32,103,117,97,114,97,110,116,101,101,100,32,110,111,116,32,116,111,32,114,101,116,114,105,101,118,101,32,116,104,101,32,111,108,100,32,116,105,109,101,32,111,102,102,115,101,116,32,119,104,101,110,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,105,109,101,95,111,102,102,115,101,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,105,109,101,95,111,102,102,115,101,116,40,41>>]}]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,121,111,117,32,99,97,110,32,111,98,115,101,114,118,101,32,116,104,101,32,99,104,97,110,103,101,32,111,102,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,119,104,101,110,32,99,97,108,108,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,116,105,109,101,95,111,102,102,115,101,116,40,41>>]},<<32,98,101,102,111,114,101,32,121,111,117,32,103,101,116,32,116,104,101,32>>,{code,[],[<<39,67,72,65,78,71,69,39>>]},<<32,109,101,115,115,97,103,101,46>>]}]}]},{p,[],[<<77,97,107,105,110,103,32,115,101,118,101,114,97,108,32,99,97,108,108,115,32,116,111,32>>,{code,[],[<<109,111,110,105,116,111,114,47,50>>]},<<32,102,111,114,32,116,104,101,32,115,97,109,101,32>>,{code,[],[<<73,116,101,109>>]},<<32,97,110,100,47,111,114,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32,110,111,116,32,97,110,32,101,114,114,111,114,59,32,105,116,32,114,101,115,117,108,116,115,32,105,110,32,97,115,32,109,97,110,121,32,105,110,100,101,112,101,110,100,101,110,116,32,109,111,110,105,116,111,114,105,110,103,32,105,110,115,116,97,110,99,101,115,46>>]},{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,102,117,110,99,116,105,111,110,97,108,105,116,121,32,105,115,32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,101,120,116,101,110,100,101,100,46,32,84,104,97,116,32,105,115,44,32,111,116,104,101,114,32>>,{code,[],[<<84,121,112,101>>]},<<115,32,97,110,100,32>>,{code,[],[<<73,116,101,109>>]},<<115,32,97,114,101,32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,115,117,112,112,111,114,116,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,102,32,111,114,32,119,104,101,110,32>>,{code,[],[<<109,111,110,105,116,111,114,47,50>>]},<<32,105,115,32,101,120,116,101,110,100,101,100,44,32,111,116,104,101,114,32,112,111,115,115,105,98,108,101,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<84,97,103>>]},<<44,32>>,{code,[],[<<79,98,106,101,99,116>>]},<<44,32,97,110,100,32>>,{code,[],[<<73,110,102,111>>]},<<32,105,110,32,116,104,101,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,32,119,105,108,108,32,98,101,32,105,110,116,114,111,100,117,99,101,100,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,51,53,55>>,signature => [{attribute,{1464,2},spec,{{monitor,2},[{type,{1465,7},bounded_fun,[{type,{1465,7},'fun',[{type,{1465,7},product,[{atom,{1465,8},process},{user_type,{1465,17},monitor_process_identifier,[]}]},{var,{1465,50},'MonitorRef'}]},[{type,{1466,9},constraint,[{atom,{1466,9},is_subtype},[{var,{1466,9},'MonitorRef'},{type,{1466,23},reference,[]}]]}]]},{type,{1467,7},bounded_fun,[{type,{1467,7},'fun',[{type,{1467,7},product,[{atom,{1467,8},port},{user_type,{1467,14},monitor_port_identifier,[]}]},{var,{1467,44},'MonitorRef'}]},[{type,{1468,9},constraint,[{atom,{1468,9},is_subtype},[{var,{1468,9},'MonitorRef'},{type,{1468,23},reference,[]}]]}]]},{type,{1469,7},bounded_fun,[{type,{1469,7},'fun',[{type,{1469,7},product,[{atom,{1469,8},time_offset},{atom,{1469,21},clock_service}]},{var,{1469,39},'MonitorRef'}]},[{type,{1470,9},constraint,[{atom,{1470,9},is_subtype},[{var,{1470,9},'MonitorRef'},{type,{1470,23},reference,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48,44,79,84,80,32,49,57,46,48>>}},{{function,monitor,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1476}],[<<109,111,110,105,116,111,114,47,51>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,111,110,105,116,111,114,95,112,111,114,116,95,105,100,101,110,116,105,102,105,101,114>>}],[]},{li,[{name,<<109,111,110,105,116,111,114,95,112,114,111,99,101,115,115,95,105,100,101,110,116,105,102,105,101,114>>}],[]},{li,[{name,<<114,101,103,105,115,116,101,114,101,100,95,110,97,109,101>>}],[]},{li,[{name,<<114,101,103,105,115,116,101,114,101,100,95,112,114,111,99,101,115,115,95,105,100,101,110,116,105,102,105,101,114>>}],[]}]},{p,[],[<<80,114,111,118,105,100,101,115,32,97,110,32,111,112,116,105,111,110,32,108,105,115,116,32,102,111,114,32,109,111,100,105,102,105,99,97,116,105,111,110,32,111,102,32,109,111,110,105,116,111,114,105,110,103,32,102,117,110,99,116,105,111,110,97,108,105,116,121,32,112,114,111,118,105,100,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,47,50>>]}]},<<46,32,84,104,101,32>>,{code,[],[<<84,121,112,101>>]},<<32,97,110,100,32>>,{code,[],[<<73,116,101,109>>]},<<32,97,114,103,117,109,101,110,116,115,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,109,101,97,110,105,110,103,32,97,115,32,119,104,101,110,32,112,97,115,115,101,100,32,116,111,32>>,{code,[],[<<109,111,110,105,116,111,114,47,50>>]},<<46,32,67,117,114,114,101,110,116,108,121,32,97,118,97,105,108,97,98,108,101,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,97,108,105,97,115,44,32,85,110,97,108,105,97,115,79,112,116,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,114,101,116,117,114,110,101,100,32,109,111,110,105,116,111,114,32,114,101,102,101,114,101,110,99,101,32,119,105,108,108,32,97,108,115,111,32,98,101,99,111,109,101,32,97,110,32,97,108,105,97,115,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,114,101,102,101,114,101,110,99,101,32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,32,115,101,110,100,105,110,103,32,109,101,115,115,97,103,101,115,32,116,111,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,97,108,105,97,115,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<97,108,105,97,115,47,48>>]}]},<<46,32,84,104,101,32>>,{code,[],[<<85,110,97,108,105,97,115,79,112,116>>]},<<32,100,101,116,101,114,109,105,110,101,115,32,104,111,119,32,116,104,101,32,97,108,105,97,115,32,115,104,111,117,108,100,32,98,101,32,100,101,97,99,116,105,118,97,116,101,100,46>>]},{dl,[],[{dt,[],[{code,[],[<<101,120,112,108,105,99,105,116,95,117,110,97,108,105,97,115>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,97,110,32,101,120,112,108,105,99,105,116,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,117,110,97,108,105,97,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<117,110,97,108,105,97,115,47,49>>]}]},<<32,119,105,108,108,32,100,101,97,99,116,105,118,97,116,101,32,116,104,101,32,97,108,105,97,115,46>>]}]},{dt,[],[{code,[],[<<100,101,109,111,110,105,116,111,114>>]}]},{dd,[],[{p,[],[<<84,104,101,32,97,108,105,97,115,32,119,105,108,108,32,98,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,97,99,116,105,118,97,116,101,100,32,119,104,101,110,32,116,104,101,32,109,111,110,105,116,111,114,32,105,115,32,114,101,109,111,118,101,100,46,32,84,104,105,115,32,101,105,116,104,101,114,32,118,105,97,32,97,110,32,101,120,112,108,105,99,105,116,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,101,109,111,110,105,116,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<100,101,109,111,110,105,116,111,114,47,49>>]}]},<<32,111,114,32,119,104,101,110,32,105,116,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,114,101,109,111,118,101,100,32,97,116,32,116,104,101,32,115,97,109,101,32,116,105,109,101,32,97,115,32,97,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,100,101,108,105,118,101,114,101,100,32,100,117,101,32,116,111,32,116,104,101,32,109,111,110,105,116,111,114,46,32,84,104,101,32,97,108,105,97,115,32,99,97,110,32,97,108,115,111,32,115,116,105,108,108,32,98,101,32,100,101,97,99,116,105,118,97,116,101,100,32,118,105,97,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<117,110,97,108,105,97,115,47,49>>]},<<46>>]}]},{dt,[],[{code,[],[<<114,101,112,108,121,95,100,101,109,111,110,105,116,111,114>>]}]},{dd,[],[{p,[],[<<84,104,101,32,97,108,105,97,115,32,119,105,108,108,32,98,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,97,99,116,105,118,97,116,101,100,32,119,104,101,110,32,116,104,101,32,109,111,110,105,116,111,114,32,105,115,32,114,101,109,111,118,101,100,32,40,115,101,101,32>>,{code,[],[<<100,101,109,111,110,105,116,111,114>>]},<<32,111,112,116,105,111,110,32,97,98,111,118,101,41,32,111,114,32,97,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,115,101,110,116,32,118,105,97,32,116,104,101,32,97,108,105,97,115,32,105,115,32,114,101,99,101,105,118,101,100,46,32,87,104,101,110,32,97,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,105,115,32,114,101,99,101,105,118,101,100,32,118,105,97,32,116,104,101,32,97,108,105,97,115,32,116,104,101,32,109,111,110,105,116,111,114,32,119,105,108,108,32,97,108,115,111,32,98,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,114,101,109,111,118,101,100,46,32,84,104,105,115,32,105,115,32,117,115,101,102,117,108,32,105,110,32,99,108,105,101,110,116,47,115,101,114,118,101,114,32,115,99,101,110,97,114,105,111,115,32,119,104,101,110,32,97,32,99,108,105,101,110,116,32,109,111,110,105,116,111,114,115,32,116,104,101,32,115,101,114,118,101,114,32,97,110,100,32,119,105,108,108,32,103,101,116,32,116,104,101,32,114,101,112,108,121,32,118,105,97,32,116,104,101,32,97,108,105,97,115,46,32,79,110,99,101,32,116,104,101,32,114,101,115,112,111,110,115,101,32,105,115,32,114,101,99,101,105,118,101,100,32,98,111,116,104,32,116,104,101,32,97,108,105,97,115,32,97,110,100,32,116,104,101,32,109,111,110,105,116,111,114,32,119,105,108,108,32,98,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,114,101,109,111,118,101,100,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,119,104,101,116,104,101,114,32,116,104,101,32,114,101,115,112,111,110,115,101,32,105,115,32,97,32,114,101,112,108,121,32,111,114,32,97,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,46,32,84,104,101,32,97,108,105,97,115,32,99,97,110,32,97,108,115,111,32,115,116,105,108,108,32,98,101,32,100,101,97,99,116,105,118,97,116,101,100,32,118,105,97,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<117,110,97,108,105,97,115,47,49>>]},<<46,32,78,111,116,101,32,116,104,97,116,32,105,102,32,116,104,101,32,97,108,105,97,115,32,105,115,32,114,101,109,111,118,101,100,32,117,115,105,110,103,32,116,104,101,32>>,{code,[],[<<117,110,97,108,105,97,115,47,49>>]},<<32,66,73,70,44,32,116,104,101,32,109,111,110,105,116,111,114,32,119,105,108,108,32,115,116,105,108,108,32,98,101,32,108,101,102,116,32,97,99,116,105,118,101,46>>]}]}]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<115,101,114,118,101,114,40,41,32,45,62,10,32,32,32,32,114,101,99,101,105,118,101,10,32,32,32,32,32,32,32,32,123,114,101,113,117,101,115,116,44,32,65,108,105,97,115,82,101,113,73,100,44,32,82,101,113,117,101,115,116,125,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,82,101,115,117,108,116,32,61,32,112,101,114,102,111,114,109,95,114,101,113,117,101,115,116,40,82,101,113,117,101,115,116,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,65,108,105,97,115,82,101,113,73,100,32,33,32,123,114,101,112,108,121,44,32,65,108,105,97,115,82,101,113,73,100,44,32,82,101,115,117,108,116,125,10,32,32,32,32,101,110,100,44,10,32,32,32,32,115,101,114,118,101,114,40,41,46,10,10,99,108,105,101,110,116,40,83,101,114,118,101,114,80,105,100,44,32,82,101,113,117,101,115,116,41,32,45,62,10,32,32,32,32,65,108,105,97,115,77,111,110,82,101,113,73,100,32,61,32,109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,83,101,114,118,101,114,80,105,100,44,32,91,123,97,108,105,97,115,44,32,114,101,112,108,121,95,100,101,109,111,110,105,116,111,114,125,93,41,44,10,32,32,32,32,83,101,114,118,101,114,80,105,100,32,33,32,123,114,101,113,117,101,115,116,44,32,65,108,105,97,115,77,111,110,82,101,113,73,100,44,32,82,101,113,117,101,115,116,125,44,10,32,32,32,32,37,37,32,65,108,105,97,115,32,97,115,32,119,101,108,108,32,97,115,32,109,111,110,105,116,111,114,32,119,105,108,108,32,98,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,97,99,116,105,118,97,116,101,100,32,105,102,32,119,101,10,32,32,32,32,37,37,32,114,101,99,101,105,118,101,32,97,32,114,101,112,108,121,32,111,114,32,97,32,39,68,79,87,78,39,32,109,101,115,115,97,103,101,32,115,105,110,99,101,32,119,101,32,117,115,101,100,32,39,114,101,112,108,121,95,100,101,109,111,110,105,116,111,114,39,10,32,32,32,32,37,37,32,97,115,32,117,110,97,108,105,97,115,32,111,112,116,105,111,110,46,46,46,10,32,32,32,32,114,101,99,101,105,118,101,10,32,32,32,32,32,32,32,32,123,114,101,112,108,121,44,32,65,108,105,97,115,77,111,110,82,101,113,73,100,44,32,82,101,115,117,108,116,125,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,82,101,115,117,108,116,59,10,32,32,32,32,32,32,32,32,123,39,68,79,87,78,39,44,32,65,108,105,97,115,77,111,110,82,101,113,73,100,44,32,112,114,111,99,101,115,115,44,32,83,101,114,118,101,114,80,105,100,44,32,69,120,105,116,82,101,97,115,111,110,125,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,101,114,114,111,114,40,69,120,105,116,82,101,97,115,111,110,41,10,32,32,32,32,101,110,100,46,10,9,32,32,32,32>>]}]},{p,[],[<<78,111,116,101,32,116,104,97,116,32,98,111,116,104,32,116,104,101,32,115,101,114,118,101,114,32,97,110,100,32,116,104,101,32,99,108,105,101,110,116,32,105,110,32,116,104,105,115,32,101,120,97,109,112,108,101,32,109,117,115,116,32,98,101,32,101,120,101,99,117,116,105,110,103,32,111,110,32,97,116,32,108,101,97,115,116,32,79,84,80,32,50,52,32,115,121,115,116,101,109,115,32,105,110,32,111,114,100,101,114,32,102,111,114,32,116,104,105,115,32,116,111,32,119,111,114,107,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,112,114,111,99,101,115,115,32,97,108,105,97,115,101,115,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,112,114,111,99,101,115,115,45,97,108,105,97,115,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<80,114,111,99,101,115,115,32,65,108,105,97,115,101,115>>]}]},<<32,115,101,99,116,105,111,110,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,116,97,103,44,32,85,115,101,114,68,101,102,105,110,101,100,84,97,103,125>>]}]},{dd,[],[{p,[],[<<82,101,112,108,97,99,101,32,116,104,101,32,100,101,102,97,117,108,116,32>>,{code,[],[<<84,97,103>>]},<<32,119,105,116,104,32>>,{code,[],[<<85,115,101,114,68,101,102,105,110,101,100,84,97,103>>]},<<32,105,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<109,111,110,105,116,111,114,32,109,101,115,115,97,103,101>>]},<<32,100,101,108,105,118,101,114,101,100,32,119,104,101,110,32,116,104,101,32,109,111,110,105,116,111,114,32,105,115,32,116,114,105,103,103,101,114,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,119,104,101,110,32,109,111,110,105,116,111,114,105,110,103,32,97,32,112,114,111,99,101,115,115,44,32,116,104,101,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,116,97,103,32,105,110,32,116,104,101,32,100,111,119,110,32,109,101,115,115,97,103,101,32,119,105,108,108,32,98,101,32,114,101,112,108,97,99,101,100,32,98,121,32>>,{code,[],[<<85,115,101,114,68,101,102,105,110,101,100,84,97,103>>]},<<46>>]},{p,[],[<<65,110,32,101,120,97,109,112,108,101,32,111,102,32,104,111,119,32,116,104,101,32>>,{code,[],[<<123,116,97,103,44,32,85,115,101,114,68,101,102,105,110,101,100,84,97,103,125>>]},<<32,111,112,116,105,111,110,32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,32,111,114,100,101,114,32,116,111,32,101,110,97,98,108,101,32,116,104,101,32,110,101,119,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,112,114,111,99,101,115,115,101,115,35,114,101,99,101,105,118,105,110,103,45,109,101,115,115,97,103,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,101,108,101,99,116,105,118,101,32,114,101,99,101,105,118,101,32,111,112,116,105,109,105,122,97,116,105,111,110>>]},<<44,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,79,84,80,32,50,52,44,32,119,104,101,110,32,109,97,107,105,110,103,32,109,117,108,116,105,112,108,101,32,114,101,113,117,101,115,116,115,32,116,111,32,100,105,102,102,101,114,101,110,116,32,115,101,114,118,101,114,115,58>>]},{pre,[],[{code,[],[<<115,101,114,118,101,114,40,41,32,45,62,10,32,32,32,32,114,101,99,101,105,118,101,10,32,32,32,32,32,32,32,32,123,114,101,113,117,101,115,116,44,32,70,114,111,109,44,32,82,101,113,73,100,44,32,82,101,113,117,101,115,116,125,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,82,101,115,117,108,116,32,61,32,112,101,114,102,111,114,109,95,114,101,113,117,101,115,116,40,82,101,113,117,101,115,116,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,70,114,111,109,32,33,32,123,114,101,112,108,121,44,32,115,101,108,102,40,41,44,32,82,101,113,73,100,44,32,82,101,115,117,108,116,125,10,32,32,32,32,101,110,100,44,10,32,32,32,32,115,101,114,118,101,114,40,41,46,10,10,99,108,105,101,110,116,40,83,101,114,118,101,114,80,105,100,115,44,32,82,101,113,117,101,115,116,41,32,119,104,101,110,32,105,115,95,108,105,115,116,40,83,101,114,118,101,114,80,105,100,115,41,32,45,62,10,32,32,32,32,82,101,113,73,100,32,61,32,109,97,107,101,95,114,101,102,40,41,44,10,32,32,32,32,108,105,115,116,115,58,102,111,114,101,97,99,104,40,102,117,110,32,40,83,101,114,118,101,114,80,105,100,41,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,95,32,61,32,109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,83,101,114,118,101,114,80,105,100,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,123,116,97,103,44,32,123,39,68,79,87,78,39,44,32,82,101,113,73,100,125,125,93,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,83,101,114,118,101,114,80,105,100,32,33,32,123,114,101,113,117,101,115,116,44,32,115,101,108,102,40,41,44,32,82,101,113,73,100,44,32,82,101,113,117,101,115,116,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,101,110,100,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,83,101,114,118,101,114,80,105,100,115,41,44,10,32,32,32,32,114,101,99,101,105,118,101,95,114,101,112,108,105,101,115,40,82,101,113,73,100,44,32,108,101,110,103,116,104,40,83,101,114,118,101,114,80,105,100,115,41,44,32,91,93,41,46,10,10,114,101,99,101,105,118,101,95,114,101,112,108,105,101,115,40,95,82,101,113,73,100,44,32,48,44,32,65,99,99,41,32,45,62,10,32,32,32,32,65,99,99,59,10,114,101,99,101,105,118,101,95,114,101,112,108,105,101,115,40,82,101,113,73,100,44,32,78,44,32,65,99,99,41,32,45,62,10,32,32,32,32,37,37,32,84,104,101,32,99,111,109,112,105,108,101,114,32,119,105,108,108,32,100,101,116,101,99,116,32,116,104,97,116,32,119,101,32,109,97,116,99,104,32,111,110,32,116,104,101,32,39,82,101,113,73,100,39,10,32,32,32,32,37,37,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,108,108,32,99,108,97,117,115,101,115,44,32,97,110,100,32,119,105,108,108,32,101,110,97,98,108,101,32,116,104,101,32,115,101,108,101,99,116,105,118,101,10,32,32,32,32,37,37,32,114,101,99,101,105,118,101,32,111,112,116,105,109,105,122,97,116,105,111,110,32,119,104,105,99,104,32,109,97,107,101,115,32,116,104,101,32,114,101,99,101,105,118,101,32,97,98,108,101,32,116,111,10,32,32,32,32,37,37,32,115,107,105,112,32,112,97,115,116,32,97,108,108,32,109,101,115,115,97,103,101,115,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,97,116,10,32,32,32,32,37,37,32,116,104,101,32,116,105,109,101,32,119,104,101,110,32,116,104,101,32,39,82,101,113,73,100,39,32,114,101,102,101,114,101,110,99,101,32,119,97,115,32,99,114,101,97,116,101,100,46,46,46,10,32,32,32,32,82,101,115,32,61,32,114,101,99,101,105,118,101,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,114,101,112,108,121,44,32,83,101,114,118,101,114,80,105,100,44,32,82,101,113,73,100,44,32,82,101,115,117,108,116,125,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,37,37,32,72,101,114,101,32,119,101,32,116,121,112,105,99,97,108,108,121,32,119,111,117,108,100,32,104,97,118,101,32,100,101,97,99,116,105,118,97,116,101,100,32,116,104,101,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,37,37,32,109,111,110,105,116,111,114,32,98,121,32,97,32,99,97,108,108,32,116,111,32,100,101,109,111,110,105,116,111,114,40,77,111,110,44,32,91,102,108,117,115,104,93,41,32,98,117,116,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,37,37,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,105,110,32,116,104,105,115,32,101,120,97,109,112,108,101,32,102,111,114,32,115,105,109,112,108,105,99,105,116,121,46,46,46,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,111,107,44,32,83,101,114,118,101,114,80,105,100,44,32,82,101,115,117,108,116,125,59,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,123,39,68,79,87,78,39,44,32,82,101,113,73,100,125,44,32,95,77,111,110,44,32,112,114,111,99,101,115,115,44,32,83,101,114,118,101,114,80,105,100,44,32,69,120,105,116,82,101,97,115,111,110,125,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,101,114,114,111,114,44,32,83,101,114,118,101,114,80,105,100,44,32,69,120,105,116,82,101,97,115,111,110,125,10,32,32,32,32,32,32,32,32,32,32,101,110,100,44,10,32,32,32,32,114,101,99,101,105,118,101,95,114,101,112,108,105,101,115,40,82,101,113,73,100,44,32,78,45,49,44,32,91,82,101,115,32,124,32,65,99,99,93,41,46,10,9,32,32,32,32>>]}]},{p,[],[<<73,110,32,111,114,100,101,114,32,102,111,114,32,116,104,105,115,32,101,120,97,109,112,108,101,32,116,111,32,119,111,114,107,32,97,115,32,105,110,116,101,110,100,101,100,44,32,116,104,101,32,99,108,105,101,110,116,32,109,117,115,116,32,98,101,32,101,120,101,99,117,116,105,110,103,32,111,110,32,97,116,32,108,101,97,115,116,32,97,110,32,79,84,80,32,50,52,32,115,121,115,116,101,109,44,32,98,117,116,32,116,104,101,32,115,101,114,118,101,114,115,32,109,97,121,32,101,120,101,99,117,116,101,32,111,110,32,111,108,100,101,114,32,115,121,115,116,101,109,115,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,53,51,51>>,signature => [{attribute,{1476,2},spec,{{monitor,3},[{type,{1477,7},bounded_fun,[{type,{1477,7},'fun',[{type,{1477,7},product,[{atom,{1477,8},process},{user_type,{1477,17},monitor_process_identifier,[]},{type,{1477,47},list,[{user_type,{1477,48},monitor_option,[]}]}]},{var,{1477,70},'MonitorRef'}]},[{type,{1478,9},constraint,[{atom,{1478,9},is_subtype},[{var,{1478,9},'MonitorRef'},{type,{1478,23},reference,[]}]]}]]},{type,{1479,7},bounded_fun,[{type,{1479,7},'fun',[{type,{1479,7},product,[{atom,{1479,8},port},{user_type,{1479,14},monitor_port_identifier,[]},{type,{1479,41},list,[{user_type,{1479,42},monitor_option,[]}]}]},{var,{1479,64},'MonitorRef'}]},[{type,{1480,9},constraint,[{atom,{1480,9},is_subtype},[{var,{1480,9},'MonitorRef'},{type,{1480,23},reference,[]}]]}]]},{type,{1481,7},bounded_fun,[{type,{1481,7},'fun',[{type,{1481,7},product,[{atom,{1481,8},time_offset},{atom,{1481,21},clock_service},{type,{1481,36},list,[{user_type,{1481,37},monitor_option,[]}]}]},{var,{1481,59},'MonitorRef'}]},[{type,{1482,9},constraint,[{atom,{1482,9},is_subtype},[{var,{1482,9},'MonitorRef'},{type,{1482,23},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,48>>}},{{function,monitor_node,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1488}],[<<109,111,110,105,116,111,114,95,110,111,100,101,47,50>>],#{<<101,110>> => [{p,[],[<<77,111,110,105,116,111,114,32,116,104,101,32,115,116,97,116,117,115,32,111,102,32,116,104,101,32,110,111,100,101,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,73,102,32>>,{code,[],[<<70,108,97,103>>]},<<32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,109,111,110,105,116,111,114,105,110,103,32,105,115,32,116,117,114,110,101,100,32,111,110,46,32,73,102,32>>,{code,[],[<<70,108,97,103>>]},<<32,105,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,109,111,110,105,116,111,114,105,110,103,32,105,115,32,116,117,114,110,101,100,32,111,102,102,46>>]},{p,[],[<<77,97,107,105,110,103,32,115,101,118,101,114,97,108,32,99,97,108,108,115,32,116,111,32>>,{code,[],[<<109,111,110,105,116,111,114,95,110,111,100,101,40,78,111,100,101,44,32,116,114,117,101,41>>]},<<32,102,111,114,32,116,104,101,32,115,97,109,101,32>>,{code,[],[<<78,111,100,101>>]},<<32,105,115,32,110,111,116,32,97,110,32,101,114,114,111,114,59,32,105,116,32,114,101,115,117,108,116,115,32,105,110,32,97,115,32,109,97,110,121,32,105,110,100,101,112,101,110,100,101,110,116,32,109,111,110,105,116,111,114,105,110,103,32,105,110,115,116,97,110,99,101,115,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,102,97,105,108,115,32,111,114,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,116,104,101,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,110,111,100,101,100,111,119,110,44,32,78,111,100,101,125>>]},<<32,105,115,32,100,101,108,105,118,101,114,101,100,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,46,32,73,102,32,97,32,112,114,111,99,101,115,115,32,104,97,115,32,109,97,100,101,32,116,119,111,32,99,97,108,108,115,32,116,111,32>>,{code,[],[<<109,111,110,105,116,111,114,95,110,111,100,101,40,78,111,100,101,44,32,116,114,117,101,41>>]},<<32,97,110,100,32>>,{code,[],[<<78,111,100,101>>]},<<32,116,101,114,109,105,110,97,116,101,115,44,32,116,119,111,32>>,{code,[],[<<110,111,100,101,100,111,119,110>>]},<<32,109,101,115,115,97,103,101,115,32,97,114,101,32,100,101,108,105,118,101,114,101,100,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,46,32,73,102,32,116,104,101,114,101,32,105,115,32,110,111,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32>>,{code,[],[<<78,111,100,101>>]},<<44,32,97,110,32,97,116,116,101,109,112,116,32,105,115,32,109,97,100,101,32,116,111,32,99,114,101,97,116,101,32,111,110,101,46,32,73,102,32,116,104,105,115,32,102,97,105,108,115,44,32,97,32>>,{code,[],[<<110,111,100,101,100,111,119,110>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,100,101,108,105,118,101,114,101,100,46>>]},{p,[],[<<84,104,101,32,100,101,108,105,118,101,114,121,32,111,102,32,116,104,101,32>>,{code,[],[<<110,111,100,101,100,111,119,110>>]},<<32,115,105,103,110,97,108,32,105,115,32,110,111,116,32,111,114,100,101,114,101,100,32,119,105,116,104,32,114,101,115,112,101,99,116,32,116,111,32,111,116,104,101,114,32,108,105,110,107,32,111,114,32,109,111,110,105,116,111,114,32,115,105,103,110,97,108,115,32,102,114,111,109,32,116,104,101,32,110,111,100,101,32,116,104,97,116,32,103,111,101,115,32,100,111,119,110,46,32,73,102,32,121,111,117,32,110,101,101,100,32,97,32,103,117,97,114,97,110,116,101,101,32,116,104,97,116,32,97,108,108,32,115,105,103,110,97,108,115,32,102,114,111,109,32,116,104,101,32,114,101,109,111,116,101,32,110,111,100,101,32,104,97,115,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,116,104,101,32>>,{code,[],[<<110,111,100,101,100,111,119,110>>]},<<32,115,105,103,110,97,108,32,105,115,32,115,101,110,116,44,32,121,111,117,32,115,104,111,117,108,100,32,117,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,110,101,116,95,107,101,114,110,101,108,35,109,111,110,105,116,111,114,95,110,111,100,101,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,101,116,95,107,101,114,110,101,108,58,109,111,110,105,116,111,114,95,110,111,100,101,115,47,49>>]}]},<<46>>]},{p,[],[<<78,111,100,101,115,32,99,111,110,110,101,99,116,101,100,32,116,104,114,111,117,103,104,32,104,105,100,100,101,110,32,99,111,110,110,101,99,116,105,111,110,115,32,99,97,110,32,98,101,32,109,111,110,105,116,111,114,101,100,32,97,115,32,97,110,121,32,111,116,104,101,114,32,110,111,100,101,115,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<110,111,116,97,108,105,118,101>>]},<<32,105,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,54,57,57>>,signature => [{attribute,{1488,2},spec,{{monitor_node,2},[{type,{1488,19},bounded_fun,[{type,{1488,19},'fun',[{type,{1488,19},product,[{var,{1488,20},'Node'},{var,{1488,26},'Flag'}]},{atom,{1488,35},true}]},[{type,{1489,7},constraint,[{atom,{1489,7},is_subtype},[{var,{1489,7},'Node'},{type,{1489,15},node,[]}]]},{type,{1490,7},constraint,[{atom,{1490,7},is_subtype},[{var,{1490,7},'Flag'},{type,{1490,15},boolean,[]}]]}]]}]}}]}},{{function,monitor_node,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1495}],[<<109,111,110,105,116,111,114,95,110,111,100,101,47,51>>],#{<<101,110>> => [{p,[],[<<66,101,104,97,118,101,115,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,95,110,111,100,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,95,110,111,100,101,47,50>>]}]},<<32,101,120,99,101,112,116,32,116,104,97,116,32,105,116,32,97,108,108,111,119,115,32,97,110,32,101,120,116,114,97,32,111,112,116,105,111,110,32,116,111,32,98,101,32,115,112,101,99,105,102,105,101,100,44,32,110,97,109,101,108,121,32>>,{code,[],[<<97,108,108,111,119,95,112,97,115,115,105,118,101,95,99,111,110,110,101,99,116>>]},<<46,32,84,104,105,115,32,111,112,116,105,111,110,32,97,108,108,111,119,115,32,116,104,101,32,66,73,70,32,116,111,32,119,97,105,116,32,116,104,101,32,110,111,114,109,97,108,32,110,101,116,119,111,114,107,32,99,111,110,110,101,99,116,105,111,110,32,116,105,109,101,45,111,117,116,32,102,111,114,32,116,104,101,32>>,{em,[],[<<109,111,110,105,116,111,114,101,100,32,110,111,100,101>>]},<<32,116,111,32,99,111,110,110,101,99,116,32,105,116,115,101,108,102,44,32,101,118,101,110,32,105,102,32,105,116,32,99,97,110,110,111,116,32,98,101,32,97,99,116,105,118,101,108,121,32,99,111,110,110,101,99,116,101,100,32,102,114,111,109,32,116,104,105,115,32,110,111,100,101,32,40,116,104,97,116,32,105,115,44,32,105,116,32,105,115,32,98,108,111,99,107,101,100,41,46,32,84,104,101,32,115,116,97,116,101,32,119,104,101,114,101,32,116,104,105,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,32,99,97,110,32,111,110,108,121,32,98,101,32,97,99,104,105,101,118,101,100,32,98,121,32,117,115,105,110,103,32,116,104,101,32,75,101,114,110,101,108,32,111,112,116,105,111,110,32>>,{code,[],[<<100,105,115,116,95,97,117,116,111,95,99,111,110,110,101,99,116,32,111,110,99,101>>]},<<46,32,73,102,32,116,104,97,116,32,111,112,116,105,111,110,32,105,115,32,110,111,116,32,117,115,101,100,44,32,111,112,116,105,111,110,32>>,{code,[],[<<97,108,108,111,119,95,112,97,115,115,105,118,101,95,99,111,110,110,101,99,116>>]},<<32,104,97,115,32,110,111,32,101,102,102,101,99,116,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,112,116,105,111,110,32>>,{code,[],[<<97,108,108,111,119,95,112,97,115,115,105,118,101,95,99,111,110,110,101,99,116>>]},<<32,105,115,32,117,115,101,100,32,105,110,116,101,114,110,97,108,108,121,32,97,110,100,32,105,115,32,115,101,108,100,111,109,32,110,101,101,100,101,100,32,105,110,32,97,112,112,108,105,99,97,116,105,111,110,115,32,119,104,101,114,101,32,116,104,101,32,110,101,116,119,111,114,107,32,116,111,112,111,108,111,103,121,32,97,110,100,32,116,104,101,32,75,101,114,110,101,108,32,111,112,116,105,111,110,115,32,105,110,32,101,102,102,101,99,116,32,97,114,101,32,107,110,111,119,110,32,105,110,32,97,100,118,97,110,99,101,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,32,111,114,32,116,104,101,32,111,112,116,105,111,110,32,108,105,115,116,32,105,115,32,109,97,108,102,111,114,109,101,100,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,55,50,57>>,signature => [{attribute,{1495,2},spec,{{erlang,monitor_node,3},[{type,{1495,26},bounded_fun,[{type,{1495,26},'fun',[{type,{1495,26},product,[{var,{1495,27},'Node'},{var,{1495,33},'Flag'},{var,{1495,39},'Options'}]},{atom,{1495,51},true}]},[{type,{1496,7},constraint,[{atom,{1496,7},is_subtype},[{var,{1496,7},'Node'},{type,{1496,15},node,[]}]]},{type,{1497,7},constraint,[{atom,{1497,7},is_subtype},[{var,{1497,7},'Flag'},{type,{1497,15},boolean,[]}]]},{type,{1498,7},constraint,[{atom,{1498,7},is_subtype},[{var,{1498,7},'Options'},{type,{1498,18},list,[{var,{1498,19},'Option'}]}]]},{type,{1499,7},constraint,[{atom,{1499,7},is_subtype},[{var,{1499,7},'Option'},{atom,{1499,17},allow_passive_connect}]]}]]}]}}]}},{{function,monotonic_time,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1597}],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,105,110,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,117,110,105,116>>]},<<46,32,84,104,105,115,32,105,115,32,97,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,116,105,109,101,32,115,105,110,99,101,32,115,111,109,101,32,117,110,115,112,101,99,105,102,105,101,100,32,112,111,105,110,116,32,105,110,32,116,105,109,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,105,115,32,97,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,77,111,110,111,116,111,110,105,99,97,108,108,121,95,73,110,99,114,101,97,115,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103>>]},<<32,116,105,109,101,44,32,98,117,116,32>>,{em,[],[<<110,111,116>>]},<<32,97,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,83,116,114,105,99,116,108,121,95,77,111,110,111,116,111,110,105,99,97,108,108,121,95,73,110,99,114,101,97,115,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,116,114,105,99,116,108,121,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103>>]},<<32,116,105,109,101,46,32,84,104,97,116,32,105,115,44,32,99,111,110,115,101,99,117,116,105,118,101,32,99,97,108,108,115,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48>>]},<<32,99,97,110,32,112,114,111,100,117,99,101,32,116,104,101,32,115,97,109,101,32,114,101,115,117,108,116,46>>]},{p,[],[<<68,105,102,102,101,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,115,32,119,105,108,108,32,117,115,101,32,100,105,102,102,101,114,101,110,116,32,117,110,115,112,101,99,105,102,105,101,100,32,112,111,105,110,116,115,32,105,110,32,116,105,109,101,32,97,115,32,98,97,115,101,32,102,111,114,32,116,104,101,105,114,32,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,99,108,111,99,107,115,46,32,84,104,97,116,32,105,115,44,32,105,116,32,105,115,32>>,{em,[],[<<112,111,105,110,116,108,101,115,115>>]},<<32,99,111,109,112,97,114,105,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,115,32,102,114,111,109,32,100,105,102,102,101,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,115,46,32,68,105,102,102,101,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,115,32,99,97,110,32,97,108,115,111,32,112,108,97,99,101,32,116,104,105,115,32,117,110,115,112,101,99,105,102,105,101,100,32,112,111,105,110,116,32,105,110,32,116,105,109,101,32,100,105,102,102,101,114,101,110,116,32,114,101,108,97,116,105,118,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,115,116,97,114,116,46,32,73,116,32,99,97,110,32,98,101,32,112,108,97,99,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,32,40,116,105,109,101,32,97,116,32,115,116,97,114,116,32,105,115,32,97,32,110,101,103,97,116,105,118,101,32,118,97,108,117,101,41,44,32,116,104,101,32,112,97,115,116,32,40,116,105,109,101,32,97,116,32,115,116,97,114,116,32,105,115,32,97,32,112,111,115,105,116,105,118,101,32,118,97,108,117,101,41,44,32,111,114,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,115,116,97,114,116,32,40,116,105,109,101,32,97,116,32,115,116,97,114,116,32,105,115,32,122,101,114,111,41,46,32,84,104,101,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,97,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,115,116,97,114,116,32,99,97,110,32,98,101,32,114,101,116,114,105,101,118,101,100,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,116,97,114,116,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,116,97,114,116,95,116,105,109,101,41>>]}]},<<46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,55,53,53>>,signature => [{attribute,{1597,2},spec,{{erlang,monotonic_time,0},[{type,{1597,28},'fun',[{type,{1597,28},product,[]},{type,{1597,34},integer,[]}]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,monotonic_time,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1602}],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,99,111,110,118,101,114,116,101,100,32,105,110,116,111,32,116,104,101,32>>,{code,[],[<<85,110,105,116>>]},<<32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,46>>]},{p,[],[<<83,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116>>]}]},{code,[],[<<40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<32>>,{code,[],[<<101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,41>>]}]},{code,[],[<<44,32,110,97,116,105,118,101,44,32,85,110,105,116,41>>]},<<44,32,104,111,119,101,118,101,114,32,111,112,116,105,109,105,122,101,100,32,102,111,114,32,99,111,109,109,111,110,108,121,32,117,115,101,100,32>>,{code,[],[<<85,110,105,116>>]},<<115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,55,56,57>>,signature => [{attribute,{1602,2},spec,{{erlang,monotonic_time,1},[{type,{1602,28},bounded_fun,[{type,{1602,28},'fun',[{type,{1602,28},product,[{var,{1602,29},'Unit'}]},{type,{1602,38},integer,[]}]},[{type,{1603,7},constraint,[{atom,{1603,7},is_subtype},[{var,{1603,7},'Unit'},{user_type,{1603,15},time_unit,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,nif_error,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1505}],[<<110,105,102,95,101,114,114,111,114,47,49>>],#{<<101,110>> => [{p,[],[<<87,111,114,107,115,32,101,120,97,99,116,108,121,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,114,111,114,47,49>>]}]},<<44,32,98,117,116,32,68,105,97,108,121,122,101,114,32,116,104,105,110,107,115,32,116,104,97,116,32,116,104,105,115,32,66,73,70,32,119,105,108,108,32,114,101,116,117,114,110,32,97,110,32,97,114,98,105,116,114,97,114,121,32,116,101,114,109,46,32,87,104,101,110,32,117,115,101,100,32,105,110,32,97,32,115,116,117,98,32,102,117,110,99,116,105,111,110,32,102,111,114,32,97,32,78,73,70,32,116,111,32,103,101,110,101,114,97,116,101,32,97,110,32,101,120,99,101,112,116,105,111,110,32,119,104,101,110,32,116,104,101,32,78,73,70,32,108,105,98,114,97,114,121,32,105,115,32,110,111,116,32,108,111,97,100,101,100,44,32,68,105,97,108,121,122,101,114,32,100,111,101,115,32,110,111,116,32,103,101,110,101,114,97,116,101,32,102,97,108,115,101,32,119,97,114,110,105,110,103,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,56,48,55>>,signature => [{attribute,{1505,2},spec,{{erlang,nif_error,1},[{type,{1505,23},bounded_fun,[{type,{1505,23},'fun',[{type,{1505,23},product,[{var,{1505,24},'Reason'}]},{type,{1505,35},no_return,[]}]},[{type,{1506,7},constraint,[{atom,{1506,7},is_subtype},[{var,{1506,7},'Reason'},{type,{1506,17},term,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66>>}},{{function,nif_error,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1512}],[<<110,105,102,95,101,114,114,111,114,47,50>>],#{<<101,110>> => [{p,[],[<<87,111,114,107,115,32,101,120,97,99,116,108,121,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,114,114,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,114,111,114,47,50>>]}]},<<44,32,98,117,116,32,68,105,97,108,121,122,101,114,32,116,104,105,110,107,115,32,116,104,97,116,32,116,104,105,115,32,66,73,70,32,119,105,108,108,32,114,101,116,117,114,110,32,97,110,32,97,114,98,105,116,114,97,114,121,32,116,101,114,109,46,32,87,104,101,110,32,117,115,101,100,32,105,110,32,97,32,115,116,117,98,32,102,117,110,99,116,105,111,110,32,102,111,114,32,97,32,78,73,70,32,116,111,32,103,101,110,101,114,97,116,101,32,97,110,32,101,120,99,101,112,116,105,111,110,32,119,104,101,110,32,116,104,101,32,78,73,70,32,108,105,98,114,97,114,121,32,105,115,32,110,111,116,32,108,111,97,100,101,100,44,32,68,105,97,108,121,122,101,114,32,100,111,101,115,32,110,111,116,32,103,101,110,101,114,97,116,101,32,102,97,108,115,101,32,119,97,114,110,105,110,103,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,56,50,48>>,signature => [{attribute,{1512,2},spec,{{erlang,nif_error,2},[{type,{1512,23},bounded_fun,[{type,{1512,23},'fun',[{type,{1512,23},product,[{var,{1512,24},'Reason'},{var,{1512,32},'Args'}]},{type,{1512,41},no_return,[]}]},[{type,{1513,7},constraint,[{atom,{1513,7},is_subtype},[{var,{1513,7},'Reason'},{type,{1513,17},term,[]}]]},{type,{1514,7},constraint,[{atom,{1514,7},is_subtype},[{var,{1514,7},'Args'},{type,{1514,15},list,[{type,{1514,16},term,[]}]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66>>}},{{function,node,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1520}],[<<110,111,100,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46,32,73,102,32,116,104,101,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,44,32>>,{code,[],[<<110,111,110,111,100,101,64,110,111,104,111,115,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,56,51,51>>,signature => [{attribute,{1520,2},spec,{{node,0},[{type,{1520,11},bounded_fun,[{type,{1520,11},'fun',[{type,{1520,11},product,[]},{var,{1520,17},'Node'}]},[{type,{1521,7},constraint,[{atom,{1521,7},is_subtype},[{var,{1521,7},'Node'},{type,{1521,15},node,[]}]]}]]}]}}]}},{{function,node,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1527}],[<<110,111,100,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,111,100,101,32,119,104,101,114,101,32>>,{code,[],[<<65,114,103>>]},<<32,111,114,105,103,105,110,97,116,101,115,46,32>>,{code,[],[<<65,114,103>>]},<<32,99,97,110,32,98,101,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,44,32,97,32,114,101,102,101,114,101,110,99,101,44,32,111,114,32,97,32,112,111,114,116,46,32,73,102,32>>,{code,[],[<<65,114,103>>]},<<32,111,114,105,103,105,110,97,116,101,115,32,102,114,111,109,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,97,110,100,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,44,32>>,{code,[],[<<110,111,110,111,100,101,64,110,111,104,111,115,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,56,52,51>>,signature => [{attribute,{1527,2},spec,{{node,1},[{type,{1527,11},bounded_fun,[{type,{1527,11},'fun',[{type,{1527,11},product,[{var,{1527,12},'Arg'}]},{var,{1527,20},'Node'}]},[{type,{1528,7},constraint,[{atom,{1528,7},is_subtype},[{var,{1528,7},'Arg'},{type,{1528,14},union,[{type,{1528,14},pid,[]},{type,{1528,22},port,[]},{type,{1528,31},reference,[]}]}]]},{type,{1529,7},constraint,[{atom,{1529,7},is_subtype},[{var,{1529,7},'Node'},{type,{1529,15},node,[]}]]}]]}]}}]}},{{function,nodes,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3444}],[<<110,111,100,101,115,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,97,108,108,32,110,111,100,101,115,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,105,115,32,110,111,100,101,32,116,104,114,111,117,103,104,32,110,111,114,109,97,108,32,99,111,110,110,101,99,116,105,111,110,115,32,40,116,104,97,116,32,105,115,44,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,105,115,116,114,105,98,117,116,101,100,35,104,105,100,100,101,110,45,110,111,100,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<104,105,100,100,101,110,32,110,111,100,101,115>>]},<<32,97,114,101,32,110,111,116,32,108,105,115,116,101,100,41,46,32,83,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,110,111,100,101,115,95,118,105,115,105,98,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<110,111,100,101,115,40,118,105,115,105,98,108,101,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,56,53,54>>,signature => [{attribute,{3444,2},spec,{{nodes,0},[{type,{3444,12},bounded_fun,[{type,{3444,12},'fun',[{type,{3444,12},product,[]},{var,{3444,18},'Nodes'}]},[{type,{3445,7},constraint,[{atom,{3445,7},is_subtype},[{var,{3445,7},'Nodes'},{type,{3445,16},list,[{type,{3445,17},node,[]}]}]]}]]}]}}]}},{{function,nodes,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2371}],[<<110,111,100,101,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,110,111,100,101,115,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,97,114,103,117,109,101,110,116,32,115,112,101,99,105,102,105,101,100,46,32,84,104,101,32,114,101,116,117,114,110,101,100,32,114,101,115,117,108,116,44,32,119,104,101,110,32,116,104,101,32,97,114,103,117,109,101,110,116,32,105,115,32,97,32,108,105,115,116,44,32,105,115,32,116,104,101,32,108,105,115,116,32,111,102,32,110,111,100,101,115,32,115,97,116,105,115,102,121,105,110,103,32,116,104,101,32,100,105,115,106,117,110,99,116,105,111,110,40,115,41,32,111,102,32,116,104,101,32,108,105,115,116,32,101,108,101,109,101,110,116,115,46>>]},{p,[],[{code,[],[<<78,111,100,101,84,121,112,101>>]},<<115,58>>]},{dl,[],[{dt,[],[{a,[{id,<<110,111,100,101,115,95,118,105,115,105,98,108,101>>}],[]},{code,[],[<<118,105,115,105,98,108,101>>]}]},{dd,[],[{p,[],[<<78,111,100,101,115,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,105,115,32,110,111,100,101,32,116,104,114,111,117,103,104,32,110,111,114,109,97,108,32,99,111,110,110,101,99,116,105,111,110,115,46>>]}]},{dt,[],[{code,[],[<<104,105,100,100,101,110>>]}]},{dd,[],[{p,[],[<<78,111,100,101,115,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,105,115,32,110,111,100,101,32,116,104,114,111,117,103,104,32,104,105,100,100,101,110,32,99,111,110,110,101,99,116,105,111,110,115,46>>]}]},{dt,[],[{code,[],[<<99,111,110,110,101,99,116,101,100>>]}]},{dd,[],[{p,[],[<<65,108,108,32,110,111,100,101,115,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,105,115,32,110,111,100,101,46>>]}]},{dt,[],[{code,[],[<<116,104,105,115>>]}]},{dd,[],[{p,[],[<<84,104,105,115,32,110,111,100,101,46>>]}]},{dt,[],[{code,[],[<<107,110,111,119,110>>]}]},{dd,[],[{p,[],[<<78,111,100,101,115,32,116,104,97,116,32,97,114,101,32,107,110,111,119,110,32,116,111,32,116,104,105,115,32,110,111,100,101,46,32,84,104,97,116,32,105,115,44,32,99,111,110,110,101,99,116,101,100,32,110,111,100,101,115,32,97,110,100,32,110,111,100,101,115,32,114,101,102,101,114,114,101,100,32,116,111,32,98,121,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,115,44,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,115,44,32,97,110,100,32,114,101,102,101,114,101,110,99,101,115,32,108,111,99,97,116,101,100,32,111,110,32,116,104,105,115,32,110,111,100,101,46,32,84,104,101,32,115,101,116,32,111,102,32,107,110,111,119,110,32,110,111,100,101,115,32,105,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,105,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,99,97,110,32,98,101,32,100,101,108,97,121,101,100,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,101,108,97,121,101,100,95,110,111,100,101,95,116,97,98,108,101,95,103,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,101,108,97,121,101,100,95,110,111,100,101,95,116,97,98,108,101,95,103,99,41>>]}]},<<46>>]}]}]},{p,[],[<<83,111,109,101,32,101,113,117,97,108,105,116,105,101,115,58,32>>,{code,[],[<<91,110,111,100,101,40,41,93,32,61,32,110,111,100,101,115,40,116,104,105,115,41>>]},<<44,32>>,{code,[],[<<110,111,100,101,115,40,99,111,110,110,101,99,116,101,100,41,32,61,32,110,111,100,101,115,40,91,118,105,115,105,98,108,101,44,32,104,105,100,100,101,110,93,41>>]},<<44,32,97,110,100,32>>,{code,[],[<<110,111,100,101,115,40,41,32,61,32,110,111,100,101,115,40,118,105,115,105,98,108,101,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,56,54,56>>,signature => [{attribute,{2371,2},spec,{{nodes,1},[{type,{2371,12},bounded_fun,[{type,{2371,12},'fun',[{type,{2371,12},product,[{var,{2371,13},'Arg'}]},{var,{2371,21},'Nodes'}]},[{type,{2372,7},constraint,[{atom,{2372,7},is_subtype},[{var,{2372,7},'Arg'},{type,{2372,14},union,[{var,{2372,14},'NodeType'},{type,{2372,25},list,[{var,{2372,26},'NodeType'}]}]}]]},{type,{2373,7},constraint,[{atom,{2373,7},is_subtype},[{var,{2373,7},'NodeType'},{type,{2373,19},union,[{atom,{2373,19},visible},{atom,{2373,29},hidden},{atom,{2373,38},connected},{atom,{2373,50},this},{atom,{2373,57},known}]}]]},{type,{2374,7},constraint,[{atom,{2374,7},is_subtype},[{var,{2374,7},'Nodes'},{type,{2374,16},list,[{type,{2374,17},node,[]}]}]]}]]}]}}]}},{{function,now,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1534}],[<<110,111,119,47,48>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<116,105,109,101,115,116,97,109,112>>}],[]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[{em,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,100,101,112,114,101,99,97,116,101,100,46,32,68,111,32,110,111,116,32,117,115,101,32,105,116,46>>]}]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<84,105,109,101,32,97,110,100,32,84,105,109,101,32,67,111,114,114,101,99,116,105,111,110>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46,32,83,112,101,99,105,102,105,99,97,108,108,121,44,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,68,111,115,95,97,110,100,95,68,111,110,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<68,111,115,32,97,110,100,32,68,111,110,116,39,115>>]},<<32,100,101,115,99,114,105,98,101,115,32,119,104,97,116,32,116,111,32,117,115,101,32,105,110,115,116,101,97,100,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,110,111,119,47,48>>]},<<46>>]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,116,117,112,108,101,32>>,{code,[],[<<123,77,101,103,97,83,101,99,115,44,32,83,101,99,115,44,32,77,105,99,114,111,83,101,99,115,125>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,101,108,97,112,115,101,100,32,116,105,109,101,32,115,105,110,99,101,32,48,48,58,48,48,32,71,77,84,44,32,74,97,110,117,97,114,121,32,49,44,32,49,57,55,48,32,40,122,101,114,111,32,104,111,117,114,41,44,32,105,102,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,46,32,79,116,104,101,114,119,105,115,101,32,115,111,109,101,32,111,116,104,101,114,32,112,111,105,110,116,32,105,110,32,116,105,109,101,32,105,115,32,99,104,111,115,101,110,46,32,73,116,32,105,115,32,97,108,115,111,32,103,117,97,114,97,110,116,101,101,100,32,116,104,97,116,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,99,97,108,108,115,32,116,111,32,116,104,105,115,32,66,73,70,32,114,101,116,117,114,110,32,99,111,110,116,105,110,117,111,117,115,108,121,32,105,110,99,114,101,97,115,105,110,103,32,118,97,108,117,101,115,46,32,72,101,110,99,101,44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,102,114,111,109,32>>,{code,[],[<<101,114,108,97,110,103,58,110,111,119,47,48>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,103,101,110,101,114,97,116,101,32,117,110,105,113,117,101,32,116,105,109,101,32,115,116,97,109,112,115,46,32,73,102,32,105,116,32,105,115,32,99,97,108,108,101,100,32,105,110,32,97,32,116,105,103,104,116,32,108,111,111,112,32,111,110,32,97,32,102,97,115,116,32,109,97,99,104,105,110,101,44,32,116,104,101,32,116,105,109,101,32,111,102,32,116,104,101,32,110,111,100,101,32,99,97,110,32,98,101,99,111,109,101,32,115,107,101,119,101,100,46>>]},{p,[],[<<67,97,110,32,111,110,108,121,32,98,101,32,117,115,101,100,32,116,111,32,99,104,101,99,107,32,116,104,101,32,108,111,99,97,108,32,116,105,109,101,32,111,102,32,100,97,121,32,105,102,32,116,104,101,32,116,105,109,101,45,122,111,110,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,102,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,32,105,115,32,112,114,111,112,101,114,108,121,32,99,111,110,102,105,103,117,114,101,100,46>>]}]},#{deprecated => <<101,114,108,97,110,103,58,110,111,119,47,48,32,105,115,32,100,101,112,114,101,99,97,116,101,100,59,32,115,101,101,32,116,104,101,32,34,84,105,109,101,32,97,110,100,32,84,105,109,101,32,67,111,114,114,101,99,116,105,111,110,32,105,110,32,69,114,108,97,110,103,34,32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32,69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,32,102,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110>>,edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,57,49,49>>,signature => [{attribute,{1534,2},spec,{{now,0},[{type,{1534,10},bounded_fun,[{type,{1534,10},'fun',[{type,{1534,10},product,[]},{var,{1534,16},'Timestamp'}]},[{type,{1535,7},constraint,[{atom,{1535,7},is_subtype},[{var,{1535,7},'Timestamp'},{user_type,{1535,20},timestamp,[]}]]}]]}]}}]}},{{function,open_port,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2378}],[<<111,112,101,110,95,112,111,114,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32,97,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,111,112,101,110,105,110,103,32,97,32,110,101,119,32,69,114,108,97,110,103,32,112,111,114,116,46,32,65,32,112,111,114,116,32,99,97,110,32,98,101,32,115,101,101,110,32,97,115,32,97,110,32,101,120,116,101,114,110,97,108,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<84,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,32,97,115,32,119,101,108,108,32,97,115,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,105,110,32>>,{code,[],[<<99,100>>]},<<44,32>>,{code,[],[<<101,110,118>>]},<<44,32>>,{code,[],[<<97,114,103,115>>]},<<44,32,97,110,100,32>>,{code,[],[<<97,114,103,48>>]},<<32,97,114,101,32,115,117,98,106,101,99,116,32,116,111,32,85,110,105,99,111,100,101,32,102,105,108,101,110,97,109,101,32,116,114,97,110,115,108,97,116,105,111,110,32,105,102,32,116,104,101,32,115,121,115,116,101,109,32,105,115,32,114,117,110,110,105,110,103,32,105,110,32,85,110,105,99,111,100,101,32,102,105,108,101,110,97,109,101,32,109,111,100,101,46,32,84,111,32,97,118,111,105,100,32,116,114,97,110,115,108,97,116,105,111,110,32,111,114,32,116,111,32,102,111,114,99,101,44,32,102,111,114,32,101,120,97,109,112,108,101,32,85,84,70,45,56,44,32,115,117,112,112,108,121,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,32,97,110,100,47,111,114,32,97,114,103,117,109,101,110,116,115,32,97,115,32,97,32,98,105,110,97,114,121,32,105,110,32,116,104,101,32,99,111,114,114,101,99,116,32,101,110,99,111,100,105,110,103,46,32,70,111,114,32,100,101,116,97,105,108,115,44,32,115,101,101,32,116,104,101,32,109,111,100,117,108,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<102,105,108,101,40,51,41>>]}]},<<44,32,116,104,101,32,102,117,110,99,116,105,111,110,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,105,108,101,58,110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48>>]}]},<<32,105,110,32,75,101,114,110,101,108,44,32,97,110,100,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101,95,117,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<85,115,105,110,103,32,85,110,105,99,111,100,101,32,105,110,32,69,114,108,97,110,103>>]}]},<<32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,116,104,101,32,110,97,109,101,32,40,105,102,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,108,105,115,116,41,32,99,97,110,32,111,110,108,121,32,98,101,32,62,32,50,53,53,32,105,102,32,116,104,101,32,69,114,108,97,110,103,32,118,105,114,116,117,97,108,32,109,97,99,104,105,110,101,32,105,115,32,115,116,97,114,116,101,100,32,105,110,32,85,110,105,99,111,100,101,32,102,105,108,101,110,97,109,101,32,116,114,97,110,115,108,97,116,105,111,110,32,109,111,100,101,46,32,79,116,104,101,114,119,105,115,101,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,32,105,115,32,108,105,109,105,116,101,100,32,116,111,32,116,104,101,32,73,83,79,32,76,97,116,105,110,45,49,32,99,104,97,114,97,99,116,101,114,32,115,101,116,46>>]}]},{p,[],[{code,[],[<<80,111,114,116,78,97,109,101>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125>>]}]},{dd,[],[{p,[],[<<83,116,97,114,116,115,32,97,110,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,46,32>>,{code,[],[<<67,111,109,109,97,110,100>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,32,116,111,32,98,101,32,114,117,110,46,32>>,{code,[],[<<67,111,109,109,97,110,100>>]},<<32,114,117,110,115,32,111,117,116,115,105,100,101,32,116,104,101,32,69,114,108,97,110,103,32,119,111,114,107,32,115,112,97,99,101,32,117,110,108,101,115,115,32,97,110,32,69,114,108,97,110,103,32,100,114,105,118,101,114,32,119,105,116,104,32,116,104,101,32,110,97,109,101,32>>,{code,[],[<<67,111,109,109,97,110,100>>]},<<32,105,115,32,102,111,117,110,100,46,32,73,102,32,102,111,117,110,100,44,32,116,104,97,116,32,100,114,105,118,101,114,32,105,115,32,115,116,97,114,116,101,100,46,32,65,32,100,114,105,118,101,114,32,114,117,110,115,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,119,111,114,107,32,115,112,97,99,101,44,32,119,104,105,99,104,32,109,101,97,110,115,32,116,104,97,116,32,105,116,32,105,115,32,108,105,110,107,101,100,32,119,105,116,104,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]},{p,[],[<<70,111,114,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,115,44,32>>,{code,[],[<<80,65,84,72>>]},<<32,105,115,32,115,101,97,114,99,104,101,100,32,40,111,114,32,97,110,32,101,113,117,105,118,97,108,101,110,116,32,109,101,116,104,111,100,32,105,115,32,117,115,101,100,32,116,111,32,102,105,110,100,32,112,114,111,103,114,97,109,115,44,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,79,83,41,46,32,84,104,105,115,32,105,115,32,100,111,110,101,32,98,121,32,105,110,118,111,107,105,110,103,32,116,104,101,32,115,104,101,108,108,32,111,110,32,99,101,114,116,97,105,110,32,112,108,97,116,102,111,114,109,115,46,32,84,104,101,32,102,105,114,115,116,32,115,112,97,99,101,45,115,101,112,97,114,97,116,101,100,32,116,111,107,101,110,32,111,102,32,116,104,101,32,99,111,109,109,97,110,100,32,105,115,32,99,111,110,115,105,100,101,114,101,100,32,97,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,32,40,111,114,32,100,114,105,118,101,114,41,46,32,84,104,105,115,32,40,97,109,111,110,103,32,111,116,104,101,114,32,116,104,105,110,103,115,41,32,109,97,107,101,115,32,116,104,105,115,32,111,112,116,105,111,110,32,117,110,115,117,105,116,97,98,108,101,32,102,111,114,32,114,117,110,110,105,110,103,32,112,114,111,103,114,97,109,115,32,119,105,116,104,32,115,112,97,99,101,115,32,105,110,32,102,105,108,101,110,97,109,101,115,32,111,114,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,115,46,32,73,102,32,115,112,97,99,101,115,32,105,110,32,101,120,101,99,117,116,97,98,108,101,32,102,105,108,101,110,97,109,101,115,32,97,114,101,32,100,101,115,105,114,101,100,44,32,117,115,101,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,67,111,109,109,97,110,100,125>>]},<<32,105,110,115,116,101,97,100,46>>]}]},{dt,[],[{code,[],[<<123,115,112,97,119,110,95,100,114,105,118,101,114,44,32,67,111,109,109,97,110,100,125>>]}]},{dd,[],[{p,[],[<<87,111,114,107,115,32,108,105,107,101,32>>,{code,[],[<<123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125>>]},<<44,32,98,117,116,32,100,101,109,97,110,100,115,32,116,104,101,32,102,105,114,115,116,32,40,115,112,97,99,101,45,115,101,112,97,114,97,116,101,100,41,32,116,111,107,101,110,32,111,102,32,116,104,101,32,99,111,109,109,97,110,100,32,116,111,32,98,101,32,116,104,101,32,110,97,109,101,32,111,102,32,97,32,108,111,97,100,101,100,32,100,114,105,118,101,114,46,32,73,102,32,110,111,32,100,114,105,118,101,114,32,119,105,116,104,32,116,104,97,116,32,110,97,109,101,32,105,115,32,108,111,97,100,101,100,44,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,114,114,111,114,32,105,115,32,114,97,105,115,101,100,46>>]}]},{dt,[],[{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]}]},{dd,[],[{p,[],[<<87,111,114,107,115,32,108,105,107,101,32>>,{code,[],[<<123,115,112,97,119,110,44,32,70,105,108,101,78,97,109,101,125>>]},<<44,32,98,117,116,32,111,110,108,121,32,114,117,110,115,32,101,120,116,101,114,110,97,108,32,101,120,101,99,117,116,97,98,108,101,115,46,32>>,{code,[],[<<70,105,108,101,78,97,109,101>>]},<<32,105,110,32,105,116,115,32,119,104,111,108,101,32,105,115,32,117,115,101,100,32,97,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,44,32,105,110,99,108,117,100,105,110,103,32,97,110,121,32,115,112,97,99,101,115,46,32,73,102,32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,116,111,32,98,101,32,112,97,115,115,101,100,44,32,116,104,101,32>>,{code,[],[<<80,111,114,116,83,101,116,116,105,110,103,115>>]},<<32>>,{code,[],[<<97,114,103,115>>]},<<32,97,110,100,32>>,{code,[],[<<97,114,103,48>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,46>>]},{p,[],[<<84,104,101,32,115,104,101,108,108,32,105,115,32,117,115,117,97,108,108,121,32,110,111,116,32,105,110,118,111,107,101,100,32,116,111,32,115,116,97,114,116,32,116,104,101,32,112,114,111,103,114,97,109,44,32,105,116,32,105,115,32,101,120,101,99,117,116,101,100,32,100,105,114,101,99,116,108,121,46,32>>,{code,[],[<<80,65,84,72>>]},<<32,40,111,114,32,101,113,117,105,118,97,108,101,110,116,41,32,105,115,32,110,111,116,32,115,101,97,114,99,104,101,100,46,32,84,111,32,102,105,110,100,32,97,32,112,114,111,103,114,97,109,32,105,110,32>>,{code,[],[<<80,65,84,72>>]},<<32,116,111,32,101,120,101,99,117,116,101,44,32,117,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,111,115,35,102,105,110,100,95,101,120,101,99,117,116,97,98,108,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,115,58,102,105,110,100,95,101,120,101,99,117,116,97,98,108,101,47,49>>]}]},<<46>>]},{p,[],[<<79,110,108,121,32,105,102,32,97,32,115,104,101,108,108,32,115,99,114,105,112,116,32,111,114,32>>,{code,[],[<<46,98,97,116>>]},<<32,102,105,108,101,32,105,115,32,101,120,101,99,117,116,101,100,44,32,116,104,101,32,97,112,112,114,111,112,114,105,97,116,101,32,99,111,109,109,97,110,100,32,105,110,116,101,114,112,114,101,116,101,114,32,105,115,32,105,110,118,111,107,101,100,32,105,109,112,108,105,99,105,116,108,121,44,32,98,117,116,32,116,104,101,114,101,32,105,115,32,115,116,105,108,108,32,110,111,32,99,111,109,109,97,110,100,45,97,114,103,117,109,101,110,116,32,101,120,112,97,110,115,105,111,110,32,111,114,32,105,109,112,108,105,99,105,116,32>>,{code,[],[<<80,65,84,72>>]},<<32,115,101,97,114,99,104,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<70,105,108,101,78,97,109,101>>]},<<32,99,97,110,110,111,116,32,98,101,32,114,117,110,44,32,97,110,32,101,114,114,111,114,32,101,120,99,101,112,116,105,111,110,32,105,115,32,114,97,105,115,101,100,44,32,119,105,116,104,32,116,104,101,32,80,79,83,73,88,32,101,114,114,111,114,32,99,111,100,101,32,97,115,32,116,104,101,32,114,101,97,115,111,110,46,32,84,104,101,32,101,114,114,111,114,32,114,101,97,115,111,110,32,99,97,110,32,100,105,102,102,101,114,32,98,101,116,119,101,101,110,32,79,83,115,46,32,84,121,112,105,99,97,108,108,121,32,116,104,101,32,101,114,114,111,114,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,97,105,115,101,100,32,119,104,101,110,32,97,110,32,97,116,116,101,109,112,116,32,105,115,32,109,97,100,101,32,116,111,32,114,117,110,32,97,32,112,114,111,103,114,97,109,32,116,104,97,116,32,105,115,32,110,111,116,32,102,111,117,110,100,32,97,110,100,32>>,{code,[],[<<101,97,99,99,101,115>>]},<<32,105,115,32,114,97,105,115,101,100,32,119,104,101,110,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,105,108,101,32,105,115,32,110,111,116,32,101,120,101,99,117,116,97,98,108,101,46>>]}]},{dt,[],[{code,[],[<<123,102,100,44,32,73,110,44,32,79,117,116,125>>]}]},{dd,[],[{p,[],[<<65,108,108,111,119,115,32,97,110,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,32,116,111,32,97,99,99,101,115,115,32,97,110,121,32,99,117,114,114,101,110,116,108,121,32,111,112,101,110,101,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,117,115,101,100,32,98,121,32,69,114,108,97,110,103,46,32,84,104,101,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32>>,{code,[],[<<73,110>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,44,32,97,110,100,32,116,104,101,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32>>,{code,[],[<<79,117,116>>]},<<32,102,111,114,32,115,116,97,110,100,97,114,100,32,111,117,116,112,117,116,46,32,73,116,32,105,115,32,111,110,108,121,32,117,115,101,100,32,102,111,114,32,118,97,114,105,111,117,115,32,115,101,114,118,101,114,115,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,79,83,32,40>>,{code,[],[<<115,104,101,108,108>>]},<<32,97,110,100,32>>,{code,[],[<<117,115,101,114>>]},<<41,46,32,72,101,110,99,101,44,32,105,116,115,32,117,115,101,32,105,115,32,108,105,109,105,116,101,100,46>>]}]}]},{p,[],[{code,[],[<<80,111,114,116,83,101,116,116,105,110,103,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,115,101,116,116,105,110,103,115,32,102,111,114,32,116,104,101,32,112,111,114,116,46,32,84,104,101,32,118,97,108,105,100,32,115,101,116,116,105,110,103,115,32,97,114,101,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,112,97,99,107,101,116,44,32,78,125>>]}]},{dd,[],[{p,[],[<<77,101,115,115,97,103,101,115,32,97,114,101,32,112,114,101,99,101,100,101,100,32,98,121,32,116,104,101,105,114,32,108,101,110,103,116,104,44,32,115,101,110,116,32,105,110,32>>,{code,[],[<<78>>]},<<32,98,121,116,101,115,44,32,119,105,116,104,32,116,104,101,32,109,111,115,116,32,115,105,103,110,105,102,105,99,97,110,116,32,98,121,116,101,32,102,105,114,115,116,46,32,84,104,101,32,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<78>>]},<<32,97,114,101,32,49,44,32,50,44,32,97,110,100,32,52,46>>]}]},{dt,[],[{code,[],[<<115,116,114,101,97,109>>]}]},{dd,[],[{p,[],[<<79,117,116,112,117,116,32,109,101,115,115,97,103,101,115,32,97,114,101,32,115,101,110,116,32,119,105,116,104,111,117,116,32,112,97,99,107,101,116,32,108,101,110,103,116,104,115,46,32,65,32,117,115,101,114,45,100,101,102,105,110,101,100,32,112,114,111,116,111,99,111,108,32,109,117,115,116,32,98,101,32,117,115,101,100,32,98,101,116,119,101,101,110,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,116,104,101,32,101,120,116,101,114,110,97,108,32,111,98,106,101,99,116,46>>]}]},{dt,[],[{code,[],[<<123,108,105,110,101,44,32,76,125>>]}]},{dd,[],[{p,[],[<<77,101,115,115,97,103,101,115,32,97,114,101,32,100,101,108,105,118,101,114,101,100,32,111,110,32,97,32,112,101,114,32,108,105,110,101,32,98,97,115,105,115,46,32,69,97,99,104,32,108,105,110,101,32,40,100,101,108,105,109,105,116,101,100,32,98,121,32,116,104,101,32,79,83,45,100,101,112,101,110,100,101,110,116,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,41,32,105,115,32,100,101,108,105,118,101,114,101,100,32,105,110,32,97,32,115,105,110,103,108,101,32,109,101,115,115,97,103,101,46,32,84,104,101,32,109,101,115,115,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32>>,{code,[],[<<123,70,108,97,103,44,32,76,105,110,101,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<70,108,97,103>>]},<<32,105,115,32>>,{code,[],[<<101,111,108>>]},<<32,111,114,32>>,{code,[],[<<110,111,101,111,108>>]},<<44,32,97,110,100,32>>,{code,[],[<<76,105,110,101>>]},<<32,105,115,32,116,104,101,32,100,97,116,97,32,100,101,108,105,118,101,114,101,100,32,40,119,105,116,104,111,117,116,32,116,104,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,41,46>>]},{p,[],[{code,[],[<<76>>]},<<32,115,112,101,99,105,102,105,101,115,32,116,104,101,32,109,97,120,105,109,117,109,32,108,105,110,101,32,108,101,110,103,116,104,32,105,110,32,98,121,116,101,115,46,32,76,105,110,101,115,32,108,111,110,103,101,114,32,116,104,97,110,32,116,104,105,115,32,97,114,101,32,100,101,108,105,118,101,114,101,100,32,105,110,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,109,101,115,115,97,103,101,44,32,119,105,116,104,32>>,{code,[],[<<70,108,97,103>>]},<<32,115,101,116,32,116,111,32>>,{code,[],[<<110,111,101,111,108>>]},<<32,102,111,114,32,97,108,108,32,98,117,116,32,116,104,101,32,108,97,115,116,32,109,101,115,115,97,103,101,46,32,73,102,32,101,110,100,32,111,102,32,102,105,108,101,32,105,115,32,101,110,99,111,117,110,116,101,114,101,100,32,97,110,121,119,104,101,114,101,32,101,108,115,101,32,116,104,97,110,32,105,109,109,101,100,105,97,116,101,108,121,32,102,111,108,108,111,119,105,110,103,32,97,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,44,32,116,104,101,32,108,97,115,116,32,108,105,110,101,32,105,115,32,97,108,115,111,32,100,101,108,105,118,101,114,101,100,32,119,105,116,104,32>>,{code,[],[<<70,108,97,103>>]},<<32,115,101,116,32,116,111,32>>,{code,[],[<<110,111,101,111,108>>]},<<46,32,79,116,104,101,114,119,105,115,101,32,108,105,110,101,115,32,97,114,101,32,100,101,108,105,118,101,114,101,100,32,119,105,116,104,32>>,{code,[],[<<70,108,97,103>>]},<<32,115,101,116,32,116,111,32>>,{code,[],[<<101,111,108>>]},<<46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<123,112,97,99,107,101,116,44,32,78,125>>]},<<32,97,110,100,32>>,{code,[],[<<123,108,105,110,101,44,32,76,125>>]},<<32,115,101,116,116,105,110,103,115,32,97,114,101,32,109,117,116,117,97,108,108,121,32,101,120,99,108,117,115,105,118,101,46>>]}]},{dt,[],[{code,[],[<<123,99,100,44,32,68,105,114,125>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,118,97,108,105,100,32,102,111,114,32>>,{code,[],[<<123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125>>]},<<32,97,110,100,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]},<<46,32,84,104,101,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,32,115,116,97,114,116,115,32,117,115,105,110,103,32>>,{code,[],[<<68,105,114>>]},<<32,97,115,32,105,116,115,32,119,111,114,107,105,110,103,32,100,105,114,101,99,116,111,114,121,46,32>>,{code,[],[<<68,105,114>>]},<<32,109,117,115,116,32,98,101,32,97,32,115,116,114,105,110,103,46>>]}]},{dt,[],[{code,[],[<<123,101,110,118,44,32,69,110,118,125>>]}]},{dd,[],[{p,[],[<<84,121,112,101,115,58>>,{br,[],[]},<<194,160,194,160>>,{code,[],[<<78,97,109,101,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,111,115,35,101,110,118,95,118,97,114,95,110,97,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<111,115,58,101,110,118,95,118,97,114,95,110,97,109,101,40,41>>]}]},{br,[],[]},<<194,160,194,160>>,{code,[],[<<86,97,108,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,111,115,35,101,110,118,95,118,97,114,95,118,97,108,117,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<111,115,58,101,110,118,95,118,97,114,95,118,97,108,117,101,40,41>>]}]},{code,[],[<<32,124,32,102,97,108,115,101>>]},{br,[],[]},<<194,160,194,160>>,{code,[],[<<69,110,118,32,61,32,91,123,78,97,109,101,44,32,86,97,108,125,93>>]}]},{p,[],[<<79,110,108,121,32,118,97,108,105,100,32,102,111,114,32>>,{code,[],[<<123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125>>]},<<44,32,97,110,100,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]},<<46,32,84,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,111,102,32,116,104,101,32,115,116,97,114,116,101,100,32,112,114,111,99,101,115,115,32,105,115,32,101,120,116,101,110,100,101,100,32,117,115,105,110,103,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,32,105,110,32>>,{code,[],[<<69,110,118>>]},<<46>>]},{p,[],[{code,[],[<<69,110,118>>]},<<32,105,115,32,116,111,32,98,101,32,97,32,108,105,115,116,32,111,102,32,116,117,112,108,101,115,32>>,{code,[],[<<123,78,97,109,101,44,32,86,97,108,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<78,97,109,101>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32,97,110,32,101,110,118,105,114,111,110,109,101,110,116,32,118,97,114,105,97,98,108,101,44,32,97,110,100,32>>,{code,[],[<<86,97,108>>]},<<32,105,115,32,116,104,101,32,118,97,108,117,101,32,105,116,32,105,115,32,116,111,32,104,97,118,101,32,105,110,32,116,104,101,32,115,112,97,119,110,101,100,32,112,111,114,116,32,112,114,111,99,101,115,115,46,32,66,111,116,104,32>>,{code,[],[<<78,97,109,101>>]},<<32,97,110,100,32>>,{code,[],[<<86,97,108>>]},<<32,109,117,115,116,32,98,101,32,115,116,114,105,110,103,115,46,32,84,104,101,32,111,110,101,32,101,120,99,101,112,116,105,111,110,32,105,115,32>>,{code,[],[<<86,97,108>>]},<<32,98,101,105,110,103,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,40,105,110,32,97,110,97,108,111,103,121,32,119,105,116,104,32>>,{a,[{href,<<107,101,114,110,101,108,58,111,115,35,103,101,116,101,110,118,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,115,58,103,101,116,101,110,118,47,49>>]}]},<<44,32,119,104,105,99,104,32,114,101,109,111,118,101,115,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,118,97,114,105,97,98,108,101,46>>]},{p,[],[<<70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,101,110,99,111,100,105,110,103,32,114,101,113,117,105,114,101,109,101,110,116,115,44,32,115,101,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,116,121,112,101,115,32,102,111,114,32>>,{code,[],[<<78,97,109,101>>]},<<32,97,110,100,32>>,{code,[],[<<86,97,108>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,97,114,103,115,44,32,91,32,115,116,114,105,110,103,40,41,32,124,32,98,105,110,97,114,121,40,41,32,93,125>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,118,97,108,105,100,32,102,111,114,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]},<<32,97,110,100,32,115,112,101,99,105,102,105,101,115,32,97,114,103,117,109,101,110,116,115,32,116,111,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,46,32,69,97,99,104,32,97,114,103,117,109,101,110,116,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,115,101,112,97,114,97,116,101,32,115,116,114,105,110,103,32,97,110,100,32,40,111,110,32,85,110,105,120,41,32,101,118,101,110,116,117,97,108,108,121,32,101,110,100,115,32,117,112,32,97,115,32,111,110,101,32,101,108,101,109,101,110,116,32,101,97,99,104,32,105,110,32,116,104,101,32,97,114,103,117,109,101,110,116,32,118,101,99,116,111,114,46,32,79,110,32,111,116,104,101,114,32,112,108,97,116,102,111,114,109,115,44,32,97,32,115,105,109,105,108,97,114,32,98,101,104,97,118,105,111,114,32,105,115,32,109,105,109,105,99,107,101,100,46>>]},{p,[],[<<84,104,101,32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,110,111,116,32,101,120,112,97,110,100,101,100,32,98,121,32,116,104,101,32,115,104,101,108,108,32,98,101,102,111,114,101,32,116,104,101,121,32,97,114,101,32,115,117,112,112,108,105,101,100,32,116,111,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,46,32,77,111,115,116,32,110,111,116,97,98,108,121,32,116,104,105,115,32,109,101,97,110,115,32,116,104,97,116,32,102,105,108,101,32,119,105,108,100,99,97,114,100,32,101,120,112,97,110,115,105,111,110,32,100,111,101,115,32,110,111,116,32,111,99,99,117,114,46,32,84,111,32,101,120,112,97,110,100,32,119,105,108,100,99,97,114,100,115,32,102,111,114,32,116,104,101,32,97,114,103,117,109,101,110,116,115,44,32,117,115,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,102,105,108,101,108,105,98,35,119,105,108,100,99,97,114,100,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,105,108,101,108,105,98,58,119,105,108,100,99,97,114,100,47,49>>]}]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,101,118,101,110,32,105,102,32,116,104,101,32,112,114,111,103,114,97,109,32,105,115,32,97,32,85,110,105,120,32,115,104,101,108,108,32,115,99,114,105,112,116,44,32,109,101,97,110,105,110,103,32,116,104,97,116,32,116,104,101,32,115,104,101,108,108,32,117,108,116,105,109,97,116,101,108,121,32,105,115,32,105,110,118,111,107,101,100,44,32,119,105,108,100,99,97,114,100,32,101,120,112,97,110,115,105,111,110,32,100,111,101,115,32,110,111,116,32,111,99,99,117,114,44,32,97,110,100,32,116,104,101,32,115,99,114,105,112,116,32,105,115,32,112,114,111,118,105,100,101,100,32,119,105,116,104,32,116,104,101,32,117,110,116,111,117,99,104,101,100,32,97,114,103,117,109,101,110,116,115,46,32,79,110,32,87,105,110,100,111,119,115,44,32,119,105,108,100,99,97,114,100,32,101,120,112,97,110,115,105,111,110,32,105,115,32,97,108,119,97,121,115,32,117,112,32,116,111,32,116,104,101,32,112,114,111,103,114,97,109,32,105,116,115,101,108,102,44,32,116,104,101,114,101,102,111,114,101,32,116,104,105,115,32,105,115,32,110,111,116,32,97,110,32,105,115,115,117,101,46>>]},{p,[],[<<84,104,101,32,101,120,101,99,117,116,97,98,108,101,32,110,97,109,101,32,40,97,108,115,111,32,107,110,111,119,110,32,97,115,32>>,{code,[],[<<97,114,103,118,91,48,93>>]},<<41,32,105,115,32,110,111,116,32,116,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,105,110,32,116,104,105,115,32,108,105,115,116,46,32,84,104,101,32,112,114,111,112,101,114,32,101,120,101,99,117,116,97,98,108,101,32,110,97,109,101,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,117,115,101,100,32,97,115,32>>,{code,[],[<<97,114,103,118,91,48,93>>]},<<44,32,119,104,101,114,101,32,97,112,112,108,105,99,97,98,108,101,46>>]},{p,[],[<<73,102,32,121,111,117,32,101,120,112,108,105,99,105,116,108,121,32,119,97,110,116,32,116,111,32,115,101,116,32,116,104,101,32,112,114,111,103,114,97,109,32,110,97,109,101,32,105,110,32,116,104,101,32,97,114,103,117,109,101,110,116,32,118,101,99,116,111,114,44,32,111,112,116,105,111,110,32>>,{code,[],[<<97,114,103,48>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,46>>]}]},{dt,[],[{code,[],[<<123,97,114,103,48,44,32,115,116,114,105,110,103,40,41,32,124,32,98,105,110,97,114,121,40,41,125>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,118,97,108,105,100,32,102,111,114,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]},<<32,97,110,100,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,115,32,116,104,101,32,112,114,111,103,114,97,109,32,110,97,109,101,32,97,114,103,117,109,101,110,116,32,119,104,101,110,32,114,117,110,110,105,110,103,32,97,110,32,101,120,101,99,117,116,97,98,108,101,46,32,84,104,105,115,32,99,97,110,32,105,110,32,115,111,109,101,32,99,105,114,99,117,109,115,116,97,110,99,101,115,44,32,111,110,32,115,111,109,101,32,79,83,115,44,32,98,101,32,100,101,115,105,114,97,98,108,101,46,32,72,111,119,32,116,104,101,32,112,114,111,103,114,97,109,32,114,101,115,112,111,110,100,115,32,116,111,32,116,104,105,115,32,105,115,32,104,105,103,104,108,121,32,115,121,115,116,101,109,45,100,101,112,101,110,100,101,110,116,32,97,110,100,32,110,111,32,115,112,101,99,105,102,105,99,32,101,102,102,101,99,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,46>>]}]},{dt,[],[{code,[],[<<101,120,105,116,95,115,116,97,116,117,115>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,118,97,108,105,100,32,102,111,114,32>>,{code,[],[<<123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<67,111,109,109,97,110,100>>]},<<32,114,101,102,101,114,115,32,116,111,32,97,110,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,44,32,97,110,100,32,102,111,114,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]},<<46>>]},{p,[],[<<87,104,101,110,32,116,104,101,32,101,120,116,101,114,110,97,108,32,112,114,111,99,101,115,115,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,101,32,112,111,114,116,32,101,120,105,116,115,44,32,97,32,109,101,115,115,97,103,101,32,111,102,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,80,111,114,116,44,123,101,120,105,116,95,115,116,97,116,117,115,44,83,116,97,116,117,115,125,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,111,110,110,101,99,116,101,100,32,112,114,111,99,101,115,115,44,32,119,104,101,114,101,32>>,{code,[],[<<83,116,97,116,117,115>>]},<<32,105,115,32,116,104,101,32,101,120,105,116,32,115,116,97,116,117,115,32,111,102,32,116,104,101,32,101,120,116,101,114,110,97,108,32,112,114,111,99,101,115,115,46,32,73,102,32,116,104,101,32,112,114,111,103,114,97,109,32,97,98,111,114,116,115,32,111,110,32,85,110,105,120,44,32,116,104,101,32,115,97,109,101,32,99,111,110,118,101,110,116,105,111,110,32,105,115,32,117,115,101,100,32,97,115,32,116,104,101,32,115,104,101,108,108,115,32,100,111,32,40,116,104,97,116,32,105,115,44,32,49,50,56,43,115,105,103,110,97,108,41,46>>]},{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<101,111,102>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,108,115,111,44,32,116,104,101,32,109,101,115,115,97,103,101,115,32>>,{code,[],[<<101,111,102>>]},<<32,97,110,100,32>>,{code,[],[<<101,120,105,116,95,115,116,97,116,117,115>>]},<<32,97,112,112,101,97,114,32,105,110,32,97,110,32,117,110,115,112,101,99,105,102,105,101,100,32,111,114,100,101,114,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,112,114,111,103,114,97,109,32,99,108,111,115,101,115,32,105,116,115,32>>,{code,[],[<<115,116,100,111,117,116>>]},<<32,119,105,116,104,111,117,116,32,101,120,105,116,105,110,103,44,32,111,112,116,105,111,110,32>>,{code,[],[<<101,120,105,116,95,115,116,97,116,117,115>>]},<<32,100,111,101,115,32,110,111,116,32,119,111,114,107,46>>]}]},{dt,[],[{code,[],[<<117,115,101,95,115,116,100,105,111>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,118,97,108,105,100,32,102,111,114,32>>,{code,[],[<<123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125>>]},<<32,97,110,100,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]},<<46,32,73,116,32,97,108,108,111,119,115,32,116,104,101,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,32,97,110,100,32,111,117,116,112,117,116,32,40,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,48,32,97,110,100,32,49,41,32,111,102,32,116,104,101,32,115,112,97,119,110,101,100,32,40,85,110,105,120,41,32,112,114,111,99,101,115,115,32,102,111,114,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,119,105,116,104,32,69,114,108,97,110,103,46>>]}]},{dt,[],[{code,[],[<<110,111,117,115,101,95,115,116,100,105,111>>]}]},{dd,[],[{p,[],[<<84,104,101,32,111,112,112,111,115,105,116,101,32,111,102,32>>,{code,[],[<<117,115,101,95,115,116,100,105,111>>]},<<46,32,73,116,32,117,115,101,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,51,32,97,110,100,32,52,32,102,111,114,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,119,105,116,104,32,69,114,108,97,110,103,46>>]}]},{dt,[],[{code,[],[<<115,116,100,101,114,114,95,116,111,95,115,116,100,111,117,116>>]}]},{dd,[],[{p,[],[<<65,102,102,101,99,116,115,32,112,111,114,116,115,32,116,111,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,115,46,32,84,104,101,32,101,120,101,99,117,116,101,100,32,112,114,111,103,114,97,109,32,103,101,116,115,32,105,116,115,32,115,116,97,110,100,97,114,100,32,101,114,114,111,114,32,102,105,108,101,32,114,101,100,105,114,101,99,116,101,100,32,116,111,32,105,116,115,32,115,116,97,110,100,97,114,100,32,111,117,116,112,117,116,32,102,105,108,101,46,32>>,{code,[],[<<115,116,100,101,114,114,95,116,111,95,115,116,100,111,117,116>>]},<<32,97,110,100,32>>,{code,[],[<<110,111,117,115,101,95,115,116,100,105,111>>]},<<32,97,114,101,32,109,117,116,117,97,108,108,121,32,101,120,99,108,117,115,105,118,101,46>>]}]},{dt,[],[{code,[],[<<111,118,101,114,108,97,112,112,101,100,95,105,111>>]}]},{dd,[],[{p,[],[<<65,102,102,101,99,116,115,32,112,111,114,116,115,32,116,111,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,115,32,111,110,32,87,105,110,100,111,119,115,32,111,110,108,121,46,32,84,104,101,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,32,97,110,100,32,115,116,97,110,100,97,114,100,32,111,117,116,112,117,116,32,104,97,110,100,108,101,115,32,111,102,32,116,104,101,32,112,111,114,116,32,112,114,111,103,114,97,109,32,97,114,101,44,32,105,102,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,115,117,112,112,108,105,101,100,44,32,111,112,101,110,101,100,32,119,105,116,104,32,102,108,97,103,32>>,{code,[],[<<70,73,76,69,95,70,76,65,71,95,79,86,69,82,76,65,80,80,69,68>>]},<<44,32,115,111,32,116,104,97,116,32,116,104,101,32,112,111,114,116,32,112,114,111,103,114,97,109,32,99,97,110,32,40,97,110,100,32,109,117,115,116,41,32,100,111,32,111,118,101,114,108,97,112,112,101,100,32,73,47,79,32,111,110,32,105,116,115,32,115,116,97,110,100,97,114,100,32,104,97,110,100,108,101,115,46,32,84,104,105,115,32,105,115,32,110,111,116,32,110,111,114,109,97,108,108,121,32,116,104,101,32,99,97,115,101,32,102,111,114,32,115,105,109,112,108,101,32,112,111,114,116,32,112,114,111,103,114,97,109,115,44,32,98,117,116,32,97,110,32,111,112,116,105,111,110,32,111,102,32,118,97,108,117,101,32,102,111,114,32,116,104,101,32,101,120,112,101,114,105,101,110,99,101,100,32,87,105,110,100,111,119,115,32,112,114,111,103,114,97,109,109,101,114,46,32>>,{em,[],[<<79,110,32,97,108,108,32,111,116,104,101,114,32,112,108,97,116,102,111,114,109,115,44,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,115,105,108,101,110,116,108,121,32,100,105,115,99,97,114,100,101,100,46>>]}]}]},{dt,[],[{code,[],[<<105,110>>]}]},{dd,[],[{p,[],[<<84,104,101,32,112,111,114,116,32,99,97,110,32,111,110,108,121,32,98,101,32,117,115,101,100,32,102,111,114,32,105,110,112,117,116,46>>]}]},{dt,[],[{code,[],[<<111,117,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,112,111,114,116,32,99,97,110,32,111,110,108,121,32,98,101,32,117,115,101,100,32,102,111,114,32,111,117,116,112,117,116,46>>]}]},{dt,[],[{code,[],[<<98,105,110,97,114,121>>]}]},{dd,[],[{p,[],[<<65,108,108,32,73,47,79,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,98,105,110,97,114,121,32,100,97,116,97,32,111,98,106,101,99,116,115,32,97,115,32,111,112,112,111,115,101,100,32,116,111,32,108,105,115,116,115,32,111,102,32,98,121,116,101,115,46>>]}]},{dt,[],[{code,[],[<<101,111,102>>]}]},{dd,[],[{p,[],[<<84,104,101,32,112,111,114,116,32,105,115,32,110,111,116,32,99,108,111,115,101,100,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,102,105,108,101,32,97,110,100,32,100,111,101,115,32,110,111,116,32,112,114,111,100,117,99,101,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,46,32,73,110,115,116,101,97,100,44,32,105,116,32,114,101,109,97,105,110,115,32,111,112,101,110,32,97,110,100,32,97,32>>,{code,[],[<<123,80,111,114,116,44,32,101,111,102,125>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,104,111,108,100,105,110,103,32,116,104,101,32,112,111,114,116,46>>]}]},{dt,[],[{code,[],[<<104,105,100,101>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32,114,117,110,110,105,110,103,32,111,110,32,87,105,110,100,111,119,115,44,32,115,117,112,112,114,101,115,115,101,115,32,99,114,101,97,116,105,111,110,32,111,102,32,97,32,110,101,119,32,99,111,110,115,111,108,101,32,119,105,110,100,111,119,32,119,104,101,110,32,115,112,97,119,110,105,110,103,32,116,104,101,32,112,111,114,116,32,112,114,111,103,114,97,109,46,32,40,84,104,105,115,32,111,112,116,105,111,110,32,104,97,115,32,110,111,32,101,102,102,101,99,116,32,111,110,32,111,116,104,101,114,32,112,108,97,116,102,111,114,109,115,46,41>>]}]},{dt,[],[{code,[],[<<123,112,97,114,97,108,108,101,108,105,115,109,44,32,66,111,111,108,101,97,110,125>>]}]},{dd,[],[{a,[{id,<<111,112,101,110,95,112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109>>}],[]},{p,[],[<<83,101,116,115,32,115,99,104,101,100,117,108,101,114,32,104,105,110,116,32,102,111,114,32,112,111,114,116,32,112,97,114,97,108,108,101,108,105,115,109,46,32,73,102,32,115,101,116,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,116,104,101,32,118,105,114,116,117,97,108,32,109,97,99,104,105,110,101,32,115,99,104,101,100,117,108,101,115,32,112,111,114,116,32,116,97,115,107,115,59,32,119,104,101,110,32,100,111,105,110,103,32,115,111,44,32,105,116,32,105,109,112,114,111,118,101,115,32,112,97,114,97,108,108,101,108,105,115,109,32,105,110,32,116,104,101,32,115,121,115,116,101,109,46,32,73,102,32,115,101,116,32,116,111,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,116,104,101,32,118,105,114,116,117,97,108,32,109,97,99,104,105,110,101,32,116,114,105,101,115,32,116,111,32,112,101,114,102,111,114,109,32,112,111,114,116,32,116,97,115,107,115,32,105,109,109,101,100,105,97,116,101,108,121,44,32,105,109,112,114,111,118,105,110,103,32,108,97,116,101,110,99,121,32,97,116,32,116,104,101,32,101,120,112,101,110,115,101,32,111,102,32,112,97,114,97,108,108,101,108,105,115,109,46,32,84,104,101,32,100,101,102,97,117,108,116,32,99,97,110,32,98,101,32,115,101,116,32,97,116,32,115,121,115,116,101,109,32,115,116,97,114,116,117,112,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,112,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,112,112>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,98,117,115,121,95,108,105,109,105,116,115,95,112,111,114,116,44,32,123,76,111,119,44,32,72,105,103,104,125,32,124,32,100,105,115,97,98,108,101,100,125>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,108,105,109,105,116,115,32,116,104,97,116,32,119,105,108,108,32,98,101,32,117,115,101,100,32,102,111,114,32,99,111,110,116,114,111,108,108,105,110,103,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,32,111,102,32,116,104,101,32,112,111,114,116,46>>]},{p,[],[<<87,104,101,110,32,116,104,101,32,112,111,114,116,115,32,105,110,116,101,114,110,97,108,32,111,117,116,112,117,116,32,113,117,101,117,101,32,115,105,122,101,32,98,101,99,111,109,101,115,32,108,97,114,103,101,114,32,116,104,97,110,32,111,114,32,101,113,117,97,108,32,116,111,32>>,{code,[],[<<72,105,103,104>>]},<<32,98,121,116,101,115,44,32,105,116,32,101,110,116,101,114,115,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46,32,87,104,101,110,32,105,116,32,98,101,99,111,109,101,115,32,108,101,115,115,32,116,104,97,110,32>>,{code,[],[<<76,111,119>>]},<<32,98,121,116,101,115,32,105,116,32,108,101,97,118,101,115,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46,32,87,104,101,110,32,116,104,101,32,112,111,114,116,32,105,115,32,105,110,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,44,32,112,114,111,99,101,115,115,101,115,32,115,101,110,100,105,110,103,32,99,111,109,109,97,110,100,115,32,116,111,32,105,116,32,119,105,108,108,32,98,101,32,115,117,115,112,101,110,100,101,100,32,117,110,116,105,108,32,116,104,101,32,112,111,114,116,32,108,101,97,118,101,115,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46,32,67,111,109,109,97,110,100,115,32,97,114,101,32,105,110,32,116,104,105,115,32,99,111,110,116,101,120,116,32,101,105,116,104,101,114,32>>,{code,[],[<<80,111,114,116,32,33,32,123,79,119,110,101,114,44,32,123,99,111,109,109,97,110,100,44,32,68,97,116,97,125,125>>]},<<32,111,114,32>>,{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,91,50,44,51,93>>]},<<46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<76,111,119>>]},<<32,108,105,109,105,116,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,97,100,106,117,115,116,101,100,32,116,111,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<72,105,103,104>>]},<<32,105,102,32,105,116,32,105,115,32,115,101,116,32,108,97,114,103,101,114,32,116,104,101,110,32>>,{code,[],[<<72,105,103,104>>]},<<46,32,86,97,108,105,100,32,114,97,110,103,101,32,111,102,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<76,111,119>>]},<<32,97,110,100,32>>,{code,[],[<<72,105,103,104>>]},<<32,105,115,32>>,{code,[],[<<91,49,44,32,40,49,32,98,115,108,32,40,56,42,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,119,111,114,100,115,105,122,101,41,41,41,45,50,93>>]},<<46,32,73,102,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<100,105,115,97,98,108,101,100>>]},<<32,105,115,32,112,97,115,115,101,100,44,32,116,104,101,32,112,111,114,116,32,119,105,108,108,32,110,101,118,101,114,32,101,110,116,101,114,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46>>]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,115,32,97,114,101,32>>,{code,[],[<<76,111,119,32,61,32,52,48,57,54>>]},<<32,97,110,100,32>>,{code,[],[<<72,105,103,104,32,61,32,56,49,57,50>>]},<<46>>]},{p,[],[{em,[],[<<78,111,116,101>>]},<<32,116,104,97,116,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,111,110,108,121,32,118,97,108,105,100,32,119,104,101,110,32,115,112,97,119,110,105,110,103,32,97,110,32,101,120,101,99,117,116,97,98,108,101,32,40,112,111,114,116,32,112,114,111,103,114,97,109,41,32,98,121,32,111,112,101,110,105,110,103,32,116,104,101,32,115,112,97,119,110,32,100,114,105,118,101,114,32,97,110,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32>>,{code,[],[<<102,100>>]},<<32,100,114,105,118,101,114,46,32,84,104,105,115,32,111,112,116,105,111,110,32,119,105,108,108,32,99,97,117,115,101,32,97,32,102,97,105,108,117,114,101,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,119,104,101,110,32,111,112,101,110,105,110,103,32,111,116,104,101,114,32,100,114,105,118,101,114,115,46>>]}]},{dt,[],[{code,[],[<<123,98,117,115,121,95,108,105,109,105,116,115,95,109,115,103,113,44,32,123,76,111,119,44,32,72,105,103,104,125,32,124,32,100,105,115,97,98,108,101,100,125>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,108,105,109,105,116,115,32,116,104,97,116,32,119,105,108,108,32,98,101,32,117,115,101,100,32,102,111,114,32,99,111,110,116,114,111,108,108,105,110,103,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,32,111,102,32,116,104,101,32,112,111,114,116,32,109,101,115,115,97,103,101,32,113,117,101,117,101,46>>]},{p,[],[<<87,104,101,110,32,116,104,101,32,112,111,114,116,115,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,115,105,122,101,32,98,101,99,111,109,101,115,32,108,97,114,103,101,114,32,116,104,97,110,32,111,114,32,101,113,117,97,108,32,116,111,32>>,{code,[],[<<72,105,103,104>>]},<<32,98,121,116,101,115,32,105,116,32,101,110,116,101,114,115,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46,32,87,104,101,110,32,105,116,32,98,101,99,111,109,101,115,32,108,101,115,115,32,116,104,97,110,32>>,{code,[],[<<76,111,119>>]},<<32,98,121,116,101,115,32,105,116,32,108,101,97,118,101,115,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46,32,87,104,101,110,32,116,104,101,32,112,111,114,116,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,105,115,32,105,110,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,44,32,112,114,111,99,101,115,115,101,115,32,115,101,110,100,105,110,103,32,99,111,109,109,97,110,100,115,32,116,111,32,105,116,32,119,105,108,108,32,98,101,32,115,117,115,112,101,110,100,101,100,32,117,110,116,105,108,32,116,104,101,32,112,111,114,116,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,108,101,97,118,101,115,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46,32,67,111,109,109,97,110,100,115,32,97,114,101,32,105,110,32,116,104,105,115,32,99,111,110,116,101,120,116,32,101,105,116,104,101,114,32>>,{code,[],[<<80,111,114,116,32,33,32,123,79,119,110,101,114,44,32,123,99,111,109,109,97,110,100,44,32,68,97,116,97,125,125>>]},<<32,111,114,32>>,{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,91,50,44,51,93>>]},<<46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<76,111,119>>]},<<32,108,105,109,105,116,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,97,100,106,117,115,116,101,100,32,116,111,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<72,105,103,104>>]},<<32,105,102,32,105,116,32,105,115,32,115,101,116,32,108,97,114,103,101,114,32,116,104,101,110,32>>,{code,[],[<<72,105,103,104>>]},<<46,32,86,97,108,105,100,32,114,97,110,103,101,32,111,102,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<76,111,119>>]},<<32,97,110,100,32>>,{code,[],[<<72,105,103,104>>]},<<32,105,115,32>>,{code,[],[<<91,49,44,32,40,49,32,98,115,108,32,40,56,42,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,119,111,114,100,115,105,122,101,41,41,41,45,50,93>>]},<<46,32,73,102,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<100,105,115,97,98,108,101,100>>]},<<32,105,115,32,112,97,115,115,101,100,44,32,116,104,101,32,112,111,114,116,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,119,105,108,108,32,110,101,118,101,114,32,101,110,116,101,114,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46>>]},{p,[],[{em,[],[<<78,111,116,101>>]},<<32,116,104,97,116,32,105,102,32,116,104,101,32,100,114,105,118,101,114,32,115,116,97,116,105,99,97,108,108,121,32,104,97,115,32,100,105,115,97,98,108,101,100,32,116,104,101,32,117,115,101,32,111,102,32,116,104,105,115,32,102,101,97,116,117,114,101,44,32,97,32,102,97,105,108,117,114,101,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,119,105,108,108,32,98,101,32,114,97,105,115,101,100,32,117,110,108,101,115,115,32,116,104,105,115,32,111,112,116,105,111,110,32,97,108,115,111,32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<100,105,115,97,98,108,101>>]},<<32,111,114,32,110,111,116,32,112,97,115,115,101,100,32,97,116,32,97,108,108,46>>]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,115,32,97,114,101,32>>,{code,[],[<<76,111,119,32,61,32,52,48,57,54>>]},<<32,97,110,100,32>>,{code,[],[<<72,105,103,104,32,61,32,56,49,57,50>>]},<<32,117,110,108,101,115,115,32,116,104,101,32,100,114,105,118,101,114,32,105,116,115,101,108,102,32,100,111,101,115,32,109,111,100,105,102,105,99,97,116,105,111,110,115,32,111,102,32,116,104,101,115,101,32,118,97,108,117,101,115,46>>]},{p,[],[{em,[],[<<78,111,116,101>>]},<<32,116,104,97,116,32,116,104,101,32,100,114,105,118,101,114,32,109,105,103,104,116,32,102,97,105,108,32,105,102,32,105,116,32,97,108,115,111,32,97,100,106,117,115,116,32,116,104,101,115,101,32,108,105,109,105,116,115,32,98,121,32,105,116,115,101,108,102,32,97,110,100,32,121,111,117,32,104,97,118,101,32,100,105,115,97,98,108,101,100,32,116,104,105,115,32,102,101,97,116,117,114,101,46>>]},{p,[],[<<84,104,101,32,115,112,97,119,110,32,100,114,105,118,101,114,32,40,117,115,101,100,32,119,104,101,110,32,115,112,97,119,110,105,110,103,32,97,110,32,101,120,101,99,117,116,97,98,108,101,41,32,97,110,100,32,116,104,101,32>>,{code,[],[<<102,100>>]},<<32,100,114,105,118,101,114,32,100,111,32,110,111,116,32,100,105,115,97,98,108,101,32,116,104,105,115,32,102,101,97,116,117,114,101,32,97,110,100,32,100,111,32,110,111,116,32,97,100,106,117,115,116,32,116,104,101,115,101,32,108,105,109,105,116,115,32,98,121,32,116,104,101,109,115,101,108,118,101,115,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,114,105,118,101,114,35,101,114,108,95,100,114,118,95,98,117,115,121,95,109,115,103,113,95,108,105,109,105,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,108,95,100,114,118,95,98,117,115,121,95,109,115,103,113,95,108,105,109,105,116,115,40,41>>]}]},<<46>>]}]}]},{p,[],[<<68,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<115,116,114,101,97,109>>]},<<32,102,111,114,32,97,108,108,32,112,111,114,116,32,116,121,112,101,115,32,97,110,100,32>>,{code,[],[<<117,115,101,95,115,116,100,105,111>>]},<<32,102,111,114,32,115,112,97,119,110,101,100,32,112,111,114,116,115,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32,105,102,32,116,104,101,32,112,111,114,116,32,99,97,110,110,111,116,32,98,101,32,111,112,101,110,101,100,44,32,116,104,101,32,101,120,105,116,32,114,101,97,115,111,110,32,105,115,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<44,32>>,{code,[],[<<115,121,115,116,101,109,95,108,105,109,105,116>>]},<<44,32,111,114,32,116,104,101,32,80,79,83,73,88,32,101,114,114,111,114,32,99,111,100,101,32,116,104,97,116,32,109,111,115,116,32,99,108,111,115,101,108,121,32,100,101,115,99,114,105,98,101,115,32,116,104,101,32,101,114,114,111,114,44,32,111,114,32>>,{code,[],[<<101,105,110,118,97,108>>]},<<32,105,102,32,110,111,32,80,79,83,73,88,32,99,111,100,101,32,105,115,32,97,112,112,114,111,112,114,105,97,116,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<66,97,100,32,105,110,112,117,116,32,97,114,103,117,109,101,110,116,115,32,116,111,32>>,{code,[],[<<111,112,101,110,95,112,111,114,116>>]},<<46>>]},{dt,[],[{code,[],[<<115,121,115,116,101,109,95,108,105,109,105,116>>]}]},{dd,[],[<<65,108,108,32,97,118,97,105,108,97,98,108,101,32,112,111,114,116,115,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,101,109,117,108,97,116,111,114,32,97,114,101,32,105,110,32,117,115,101,46>>]},{dt,[],[{code,[],[<<101,110,111,109,101,109>>]}]},{dd,[],[<<78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,116,104,101,32,112,111,114,116,46>>]},{dt,[],[{code,[],[<<101,97,103,97,105,110>>]}]},{dd,[],[<<78,111,32,109,111,114,101,32,97,118,97,105,108,97,98,108,101,32,79,83,32,112,114,111,99,101,115,115,101,115,46>>]},{dt,[],[{code,[],[<<101,110,97,109,101,116,111,111,108,111,110,103>>]}]},{dd,[],[<<84,111,111,32,108,111,110,103,32,101,120,116,101,114,110,97,108,32,99,111,109,109,97,110,100,46>>]},{dt,[],[{code,[],[<<101,109,102,105,108,101>>]}]},{dd,[],[<<78,111,32,109,111,114,101,32,97,118,97,105,108,97,98,108,101,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,40,102,111,114,32,116,104,101,32,79,83,32,112,114,111,99,101,115,115,32,116,104,97,116,32,116,104,101,32,69,114,108,97,110,103,32,101,109,117,108,97,116,111,114,32,114,117,110,115,32,105,110,41,46>>]},{dt,[],[{code,[],[<<101,110,102,105,108,101>>]}]},{dd,[],[<<70,117,108,108,32,102,105,108,101,32,116,97,98,108,101,32,40,102,111,114,32,116,104,101,32,101,110,116,105,114,101,32,79,83,41,46>>]},{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{code,[],[<<67,111,109,109,97,110,100>>]},<<32,115,112,101,99,105,102,105,101,100,32,105,110,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,67,111,109,109,97,110,100,125>>]},<<32,100,111,101,115,32,110,111,116,32,112,111,105,110,116,32,111,117,116,32,97,110,32,101,120,101,99,117,116,97,98,108,101,32,102,105,108,101,46>>]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{code,[],[<<70,105,108,101,78,97,109,101>>]},<<32,115,112,101,99,105,102,105,101,100,32,105,110,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]},<<32,100,111,101,115,32,110,111,116,32,112,111,105,110,116,32,111,117,116,32,97,110,32,101,120,105,115,116,105,110,103,32,102,105,108,101,46>>]}]},{p,[],[<<68,117,114,105,110,103,32,117,115,101,32,111,102,32,97,32,112,111,114,116,32,111,112,101,110,101,100,32,117,115,105,110,103,32>>,{code,[],[<<123,115,112,97,119,110,44,32,78,97,109,101,125>>]},<<44,32>>,{code,[],[<<123,115,112,97,119,110,95,100,114,105,118,101,114,44,32,78,97,109,101,125>>]},<<44,32,111,114,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,78,97,109,101,125>>]},<<44,32,101,114,114,111,114,115,32,97,114,105,115,105,110,103,32,119,104,101,110,32,115,101,110,100,105,110,103,32,109,101,115,115,97,103,101,115,32,116,111,32,105,116,32,97,114,101,32,114,101,112,111,114,116,101,100,32,116,111,32,116,104,101,32,111,119,110,105,110,103,32,112,114,111,99,101,115,115,32,117,115,105,110,103,32,115,105,103,110,97,108,115,32,111,102,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,39,69,88,73,84,39,44,32,80,111,114,116,44,32,80,111,115,105,120,67,111,100,101,125>>]},<<46,32,70,111,114,32,116,104,101,32,112,111,115,115,105,98,108,101,32,118,97,108,117,101,115,32,111,102,32>>,{code,[],[<<80,111,115,105,120,67,111,100,101>>]},<<44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<102,105,108,101,40,51,41>>]}]},<<46>>]},{p,[],[<<84,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,112,111,114,116,115,32,116,104,97,116,32,99,97,110,32,98,101,32,111,112,101,110,32,97,116,32,116,104,101,32,115,97,109,101,32,116,105,109,101,32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,109,97,120,95,112,111,114,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,81>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,57,52,48>>,signature => [{attribute,{2378,2},spec,{{open_port,2},[{type,{2378,16},bounded_fun,[{type,{2378,16},'fun',[{type,{2378,16},product,[{var,{2378,17},'PortName'},{var,{2378,27},'PortSettings'}]},{type,{2378,44},port,[]}]},[{type,{2379,7},constraint,[{atom,{2379,7},is_subtype},[{var,{2379,7},'PortName'},{type,{2379,19},union,[{type,{2379,19},tuple,[{atom,{2379,20},spawn},{ann_type,{2379,27},[{var,{2379,27},'Command'},{type,{2379,38},union,[{type,{2379,38},string,[]},{type,{2379,49},binary,[]}]}]}]},{type,{2380,19},tuple,[{atom,{2380,20},spawn_driver},{ann_type,{2380,34},[{var,{2380,34},'Command'},{type,{2380,45},union,[{type,{2380,45},string,[]},{type,{2380,56},binary,[]}]}]}]},{type,{2381,19},tuple,[{atom,{2381,20},spawn_executable},{ann_type,{2381,38},[{var,{2381,38},'FileName'},{remote_type,{2381,50},[{atom,{2381,50},file},{atom,{2381,55},name_all},[]]}]}]},{type,{2382,19},tuple,[{atom,{2382,20},fd},{ann_type,{2382,24},[{var,{2382,24},'In'},{type,{2382,30},non_neg_integer,[]}]},{ann_type,{2382,49},[{var,{2382,49},'Out'},{type,{2382,56},non_neg_integer,[]}]}]}]}]]},{type,{2383,7},constraint,[{atom,{2383,7},is_subtype},[{var,{2383,7},'PortSettings'},{type,{2383,23},list,[{var,{2383,24},'Opt'}]}]]},{type,{2384,7},constraint,[{atom,{2384,7},is_subtype},[{var,{2384,7},'Opt'},{type,{2384,14},union,[{type,{2384,14},tuple,[{atom,{2384,15},packet},{ann_type,{2384,23},[{var,{2384,23},'N'},{type,{2384,28},union,[{integer,{2384,28},1},{integer,{2384,32},2},{integer,{2384,36},4}]}]}]},{atom,{2385,14},stream},{type,{2386,14},tuple,[{atom,{2386,15},line},{ann_type,{2386,21},[{var,{2386,21},'L'},{type,{2386,26},non_neg_integer,[]}]}]},{type,{2387,14},tuple,[{atom,{2387,15},cd},{ann_type,{2387,19},[{var,{2387,19},'Dir'},{type,{2387,26},union,[{type,{2387,26},string,[]},{type,{2387,37},binary,[]}]}]}]},{type,{2388,14},tuple,[{atom,{2388,15},env},{ann_type,{2388,20},[{var,{2388,20},'Env'},{type,{2388,27},list,[{type,{2388,28},tuple,[{ann_type,{2388,29},[{var,{2388,29},'Name'},{remote_type,{2388,37},[{atom,{2388,37},os},{atom,{2388,40},env_var_name},[]]}]},{ann_type,{2388,56},[{var,{2388,56},'Val'},{type,{2388,63},union,[{remote_type,{2388,63},[{atom,{2388,63},os},{atom,{2388,66},env_var_value},[]]},{atom,{2388,84},false}]}]}]}]}]}]},{type,{2389,14},tuple,[{atom,{2389,15},args},{type,{2389,21},list,[{type,{2389,22},union,[{type,{2389,22},string,[]},{type,{2389,33},binary,[]}]}]}]},{type,{2390,14},tuple,[{atom,{2390,15},arg0},{type,{2390,21},union,[{type,{2390,21},string,[]},{type,{2390,32},binary,[]}]}]},{atom,{2391,14},exit_status},{atom,{2392,14},use_stdio},{atom,{2393,14},nouse_stdio},{atom,{2394,14},stderr_to_stdout},{atom,{2395,14},in},{atom,{2396,14},out},{atom,{2397,14},binary},{atom,{2398,14},eof},{type,{2399,7},tuple,[{atom,{2399,8},parallelism},{ann_type,{2399,21},[{var,{2399,21},'Boolean'},{type,{2399,32},boolean,[]}]}]},{atom,{2400,7},hide},{type,{2401,14},tuple,[{atom,{2401,15},busy_limits_port},{type,{2401,33},union,[{type,{2401,33},tuple,[{type,{2401,34},non_neg_integer,[]},{type,{2401,53},non_neg_integer,[]}]},{atom,{2401,74},disabled}]}]},{type,{2402,14},tuple,[{atom,{2402,15},busy_limits_msgq},{type,{2402,33},union,[{type,{2402,33},tuple,[{type,{2402,34},non_neg_integer,[]},{type,{2402,53},non_neg_integer,[]}]},{atom,{2402,74},disabled}]}]}]}]]}]]}]}}]}},{{function,phash,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1540}],[<<112,104,97,115,104,47,50>>],#{<<101,110>> => [{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,100,101,112,114,101,99,97,116,101,100,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,104,97,115,104,50,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,112,104,97,115,104,50,47,50>>]}]},<<32,115,104,111,117,108,100,32,98,101,32,117,115,101,100,32,102,111,114,32,110,101,119,32,99,111,100,101,46,32,78,111,116,101,32,116,104,97,116,32>>,{code,[],[<<101,114,108,97,110,103,58,112,104,97,115,104,40,88,44,78,41>>]},<<32,105,115,32,110,111,116,32,110,101,99,101,115,115,97,114,121,32,101,113,117,97,108,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,112,104,97,115,104,50,40,88,44,78,41>>]}]}]},{p,[],[<<80,111,114,116,97,98,108,101,32,104,97,115,104,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,103,105,118,101,115,32,116,104,101,32,115,97,109,101,32,104,97,115,104,32,102,111,114,32,116,104,101,32,115,97,109,101,32,69,114,108,97,110,103,32,116,101,114,109,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,109,97,99,104,105,110,101,32,97,114,99,104,105,116,101,99,116,117,114,101,32,97,110,100,32,69,82,84,83,32,118,101,114,115,105,111,110,32,40,116,104,101,32,66,73,70,32,119,97,115,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,69,82,84,83,32,52,46,57,46,49,46,49,41,46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,97,32,104,97,115,104,32,118,97,108,117,101,32,102,111,114,32>>,{code,[],[<<84,101,114,109>>]},<<32,119,105,116,104,105,110,32,116,104,101,32,114,97,110,103,101,32>>,{code,[],[<<49,46,46,82,97,110,103,101>>]},<<46,32,84,104,101,32,109,97,120,105,109,117,109,32,118,97,108,117,101,32,102,111,114,32>>,{code,[],[<<82,97,110,103,101>>]},<<32,105,115,32,50,94,51,50,46>>]}]},#{deprecated => <<101,114,108,97,110,103,58,112,104,97,115,104,47,50,32,105,115,32,100,101,112,114,101,99,97,116,101,100,59,32,117,115,101,32,101,114,108,97,110,103,58,112,104,97,115,104,50,47,50,32,105,110,115,116,101,97,100>>,edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,51,52,54>>,signature => [{attribute,{1540,2},spec,{{erlang,phash,2},[{type,{1540,19},bounded_fun,[{type,{1540,19},'fun',[{type,{1540,19},product,[{var,{1540,20},'Term'},{var,{1540,26},'Range'}]},{var,{1540,36},'Hash'}]},[{type,{1541,7},constraint,[{atom,{1541,7},is_subtype},[{var,{1541,7},'Term'},{type,{1541,15},term,[]}]]},{type,{1542,7},constraint,[{atom,{1542,7},is_subtype},[{var,{1542,7},'Range'},{type,{1542,16},pos_integer,[]}]]},{type,{1543,7},constraint,[{atom,{1543,7},is_subtype},[{var,{1543,7},'Hash'},{type,{1543,15},pos_integer,[]}]]}]]}]}}]}},{{function,phash2,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1555}],[<<112,104,97,115,104,50,47,50>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,51,54,56>>,equiv => {function,phash2,1},signature => [{attribute,{1555,2},spec,{{erlang,phash2,2},[{type,{1555,20},bounded_fun,[{type,{1555,20},'fun',[{type,{1555,20},product,[{var,{1555,21},'Term'},{var,{1555,27},'Range'}]},{var,{1555,37},'Hash'}]},[{type,{1556,7},constraint,[{atom,{1556,7},is_subtype},[{var,{1556,7},'Term'},{type,{1556,15},term,[]}]]},{type,{1557,7},constraint,[{atom,{1557,7},is_subtype},[{var,{1557,7},'Range'},{type,{1557,16},pos_integer,[]}]]},{type,{1558,7},constraint,[{atom,{1558,7},is_subtype},[{var,{1558,7},'Hash'},{type,{1558,15},non_neg_integer,[]}]]}]]}]}}]}},{{function,phash2,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1548}],[<<112,104,97,115,104,50,47,49>>],#{<<101,110>> => [{p,[],[<<80,111,114,116,97,98,108,101,32,104,97,115,104,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,103,105,118,101,115,32,116,104,101,32,115,97,109,101,32,104,97,115,104,32,102,111,114,32,116,104,101,32,115,97,109,101,32,69,114,108,97,110,103,32,116,101,114,109,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,109,97,99,104,105,110,101,32,97,114,99,104,105,116,101,99,116,117,114,101,32,97,110,100,32,69,82,84,83,32,118,101,114,115,105,111,110,32,40,116,104,101,32,66,73,70,32,119,97,115,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,69,82,84,83,32,53,46,50,41,46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,97,32,104,97,115,104,32,118,97,108,117,101,32,102,111,114,32>>,{code,[],[<<84,101,114,109>>]},<<32,119,105,116,104,105,110,32,116,104,101,32,114,97,110,103,101,32>>,{code,[],[<<48,46,46,82,97,110,103,101,45,49>>]},<<46,32,84,104,101,32,109,97,120,105,109,117,109,32,118,97,108,117,101,32,102,111,114,32>>,{code,[],[<<82,97,110,103,101>>]},<<32,105,115,32,50,94,51,50,46,32,87,104,101,110,32,119,105,116,104,111,117,116,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<82,97,110,103,101>>]},<<44,32,97,32,118,97,108,117,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,48,46,46,50,94,50,55,45,49,32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,97,108,119,97,121,115,32,116,111,32,98,101,32,117,115,101,100,32,102,111,114,32,104,97,115,104,105,110,103,32,116,101,114,109,115,46,32,73,116,32,100,105,115,116,114,105,98,117,116,101,115,32,115,109,97,108,108,32,105,110,116,101,103,101,114,115,32,98,101,116,116,101,114,32,116,104,97,110,32>>,{code,[],[<<112,104,97,115,104,47,50>>]},<<44,32,97,110,100,32,105,116,32,105,115,32,102,97,115,116,101,114,32,102,111,114,32,98,105,103,110,117,109,115,32,97,110,100,32,98,105,110,97,114,105,101,115,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,114,97,110,103,101,32>>,{code,[],[<<48,46,46,82,97,110,103,101,45,49>>]},<<32,105,115,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,116,104,101,32,114,97,110,103,101,32,111,102,32>>,{code,[],[<<112,104,97,115,104,47,50>>]},<<44,32,119,104,105,99,104,32,105,115,32>>,{code,[],[<<49,46,46,82,97,110,103,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,51,54,56>>,signature => [{attribute,{1548,2},spec,{{erlang,phash2,1},[{type,{1548,20},bounded_fun,[{type,{1548,20},'fun',[{type,{1548,20},product,[{var,{1548,21},'Term'}]},{var,{1548,30},'Hash'}]},[{type,{1549,7},constraint,[{atom,{1549,7},is_subtype},[{var,{1549,7},'Term'},{type,{1549,15},term,[]}]]},{type,{1550,7},constraint,[{atom,{1550,7},is_subtype},[{var,{1550,7},'Hash'},{type,{1550,15},non_neg_integer,[]}]]}]]}]}}]}},{{function,pid_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1563}],[<<112,105,100,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<80,105,100>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,112,105,100,95,116,111,95,108,105,115,116,40,115,101,108,102,40,41,41,46,10,34,60,48,46,56,53,46,48,62,34>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,105,115,116,95,112,114,111,116,111,99,111,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<99,114,101,97,116,105,111,110>>]},<<32,102,111,114,32,116,104,101,32,110,111,100,101,32,105,115,32,110,111,116,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,101,32,108,105,115,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<80,105,100>>]},<<46,32,84,104,105,115,32,109,101,97,110,115,32,116,104,97,116,32,112,114,111,99,101,115,115,101,115,32,105,110,32,100,105,102,102,101,114,101,110,116,32,105,110,99,97,114,110,97,116,105,111,110,115,32,111,102,32,97,32,110,111,100,101,32,119,105,116,104,32,97,32,115,112,101,99,105,102,105,99,32,110,97,109,101,32,99,97,110,32,103,101,116,32,116,104,101,32,115,97,109,101,32,108,105,115,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,51,57,51>>,signature => [{attribute,{1563,2},spec,{{pid_to_list,1},[{type,{1563,18},bounded_fun,[{type,{1563,18},'fun',[{type,{1563,18},product,[{var,{1563,19},'Pid'}]},{type,{1563,27},string,[]}]},[{type,{1564,7},constraint,[{atom,{1564,7},is_subtype},[{var,{1564,7},'Pid'},{type,{1564,14},pid,[]}]]}]]}]}}]}},{{function,port_call,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3614}],[<<112,111,114,116,95,99,97,108,108,47,51>>],#{<<101,110>> => [{p,[],[<<80,101,114,102,111,114,109,115,32,97,32,115,121,110,99,104,114,111,110,111,117,115,32,99,97,108,108,32,116,111,32,97,32,112,111,114,116,46,32,84,104,101,32,109,101,97,110,105,110,103,32,111,102,32>>,{code,[],[<<79,112,101,114,97,116,105,111,110>>]},<<32,97,110,100,32>>,{code,[],[<<68,97,116,97>>]},<<32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,112,111,114,116,44,32,116,104,97,116,32,105,115,44,32,111,110,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,46,32,78,111,116,32,97,108,108,32,112,111,114,116,32,100,114,105,118,101,114,115,32,115,117,112,112,111,114,116,32,116,104,105,115,32,102,101,97,116,117,114,101,46>>]},{p,[],[{code,[],[<<80,111,114,116>>]},<<32,105,115,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,114,101,102,101,114,114,105,110,103,32,116,111,32,97,32,100,114,105,118,101,114,46>>]},{p,[],[{code,[],[<<79,112,101,114,97,116,105,111,110>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,44,32,119,104,105,99,104,32,105,115,32,112,97,115,115,101,100,32,111,110,32,116,111,32,116,104,101,32,100,114,105,118,101,114,46>>]},{p,[],[{code,[],[<<68,97,116,97>>]},<<32,105,115,32,97,110,121,32,69,114,108,97,110,103,32,116,101,114,109,46,32,84,104,105,115,32,100,97,116,97,32,105,115,32,99,111,110,118,101,114,116,101,100,32,116,111,32,98,105,110,97,114,121,32,116,101,114,109,32,102,111,114,109,97,116,32,97,110,100,32,115,101,110,116,32,116,111,32,116,104,101,32,112,111,114,116,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,97,32,116,101,114,109,32,102,114,111,109,32,116,104,101,32,100,114,105,118,101,114,46,32,84,104,101,32,109,101,97,110,105,110,103,32,111,102,32,116,104,101,32,114,101,116,117,114,110,101,100,32,100,97,116,97,32,97,108,115,111,32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,110,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,44,32,111,114,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,99,108,111,115,101,100,32,112,111,114,116,44,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,116,104,105,115,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,101,114,97,116,105,111,110>>]},<<32,100,111,101,115,32,110,111,116,32,102,105,116,32,105,110,32,97,32,51,50,45,98,105,116,32,105,110,116,101,103,101,114,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,115,121,110,99,104,114,111,110,111,117,115,32,99,111,110,116,114,111,108,32,111,112,101,114,97,116,105,111,110,115,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,115,111,32,100,101,99,105,100,101,115,32,102,111,114,32,97,110,121,32,114,101,97,115,111,110,32,40,112,114,111,98,97,98,108,121,32,115,111,109,101,116,104,105,110,103,32,119,114,111,110,103,32,119,105,116,104,32>>,{code,[],[<<79,112,101,114,97,116,105,111,110>>]},<<32,111,114,32>>,{code,[],[<<68,97,116,97>>]},<<41,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<68,111,32,110,111,116,32,99,97,108,108,32>>,{code,[],[<<112,111,114,116,95,99,97,108,108>>]},<<32,119,105,116,104,32,97,110,32,117,110,107,110,111,119,110,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,100,101,110,116,105,102,105,101,114,32,97,110,100,32,101,120,112,101,99,116,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,46,32,65,110,121,32,117,110,100,101,102,105,110,101,100,32,98,101,104,97,118,105,111,114,32,105,115,32,112,111,115,115,105,98,108,101,32,40,105,110,99,108,117,100,105,110,103,32,110,111,100,101,32,99,114,97,115,104,41,32,100,101,112,101,110,100,105,110,103,32,111,110,32,104,111,119,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,105,110,116,101,114,112,114,101,116,115,32,116,104,101,32,115,117,112,112,108,105,101,100,32,97,114,103,117,109,101,110,116,115,46>>]}]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,52,49,50>>,signature => [{attribute,{3614,2},spec,{{erlang,port_call,3},[{type,{3614,23},bounded_fun,[{type,{3614,23},'fun',[{type,{3614,23},product,[{var,{3614,24},'Port'},{var,{3614,30},'Operation'},{var,{3614,41},'Data'}]},{type,{3614,50},term,[]}]},[{type,{3615,7},constraint,[{atom,{3615,7},is_subtype},[{var,{3615,7},'Port'},{type,{3615,15},union,[{type,{3615,15},port,[]},{type,{3615,24},atom,[]}]}]]},{type,{3616,7},constraint,[{atom,{3616,7},is_subtype},[{var,{3616,7},'Operation'},{type,{3616,20},integer,[]}]]},{type,{3617,7},constraint,[{atom,{3617,7},is_subtype},[{var,{3617,7},'Data'},{type,{3617,15},term,[]}]]}]]}]}}]}},{{function,port_close,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3575}],[<<112,111,114,116,95,99,108,111,115,101,47,49>>],#{<<101,110>> => [{p,[],[<<67,108,111,115,101,115,32,97,110,32,111,112,101,110,32,112,111,114,116,46,32,82,111,117,103,104,108,121,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<80,111,114,116,32,33,32,123,115,101,108,102,40,41,44,32,99,108,111,115,101,125>>]},<<32,101,120,99,101,112,116,32,102,111,114,32,116,104,101,32,101,114,114,111,114,32,98,101,104,97,118,105,111,114,32,40,115,101,101,32,98,101,108,111,119,41,44,32,98,101,105,110,103,32,115,121,110,99,104,114,111,110,111,117,115,44,32,97,110,100,32,116,104,97,116,32,116,104,101,32,112,111,114,116,32,100,111,101,115,32>>,{em,[],[<<110,111,116>>]},<<32,114,101,112,108,121,32,119,105,116,104,32>>,{code,[],[<<123,80,111,114,116,44,32,99,108,111,115,101,100,125>>]},<<46,32,65,110,121,32,112,114,111,99,101,115,115,32,99,97,110,32,99,108,111,115,101,32,97,32,112,111,114,116,32,119,105,116,104,32>>,{code,[],[<<112,111,114,116,95,99,108,111,115,101,47,49>>]},<<44,32,110,111,116,32,111,110,108,121,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,32,40,116,104,101,32,99,111,110,110,101,99,116,101,100,32,112,114,111,99,101,115,115,41,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,99,108,111,115,101,47,49>>]},<<32,114,101,116,117,114,110,115,46>>]},{p,[],[<<70,111,114,32,99,111,109,112,97,114,105,115,111,110,58,32>>,{code,[],[<<80,111,114,116,32,33,32,123,115,101,108,102,40,41,44,32,99,108,111,115,101,125>>]},<<32,111,110,108,121,32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,100,111,101,115,32,110,111,116,32,114,101,102,101,114,32,116,111,32,97,32,112,111,114,116,32,111,114,32,97,32,112,114,111,99,101,115,115,46,32,73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,97,32,99,108,111,115,101,100,32,112,111,114,116,44,32,110,111,116,104,105,110,103,32,104,97,112,112,101,110,115,46,32,73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,97,110,32,111,112,101,110,32,112,111,114,116,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,44,32,116,104,101,32,112,111,114,116,32,114,101,112,108,105,101,115,32,119,105,116,104,32>>,{code,[],[<<123,80,111,114,116,44,32,99,108,111,115,101,100,125>>]},<<32,119,104,101,110,32,97,108,108,32,98,117,102,102,101,114,115,32,104,97,118,101,32,98,101,101,110,32,102,108,117,115,104,101,100,32,97,110,100,32,116,104,101,32,112,111,114,116,32,114,101,97,108,108,121,32,99,108,111,115,101,115,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,44,32,116,104,101,32>>,{em,[],[<<112,111,114,116,32,111,119,110,101,114>>]},<<32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,115,105,103>>]},<<46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,110,121,32,112,114,111,99,101,115,115,32,99,97,110,32,99,108,111,115,101,32,97,32,112,111,114,116,32,117,115,105,110,103,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,99,108,111,115,101,125>>]},<<32,97,115,32,105,102,32,105,116,32,105,116,115,101,108,102,32,119,97,115,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,44,32,98,117,116,32,116,104,101,32,114,101,112,108,121,32,97,108,119,97,121,115,32,103,111,101,115,32,116,111,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,46>>]},{p,[],[<<65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,49,54,44,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,99,108,111,115,101,125>>]},<<32,105,115,32,116,114,117,108,121,32,97,115,121,110,99,104,114,111,110,111,117,115,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,105,115,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,97,108,119,97,121,115,32,98,101,101,110,32,100,111,99,117,109,101,110,116,101,100,32,97,115,32,97,110,32,97,115,121,110,99,104,114,111,110,111,117,115,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,108,101,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,115,121,110,99,104,114,111,110,111,117,115,46,32>>,{code,[],[<<112,111,114,116,95,99,108,111,115,101,47,49>>]},<<32,105,115,32,104,111,119,101,118,101,114,32,115,116,105,108,108,32,102,117,108,108,121,32,115,121,110,99,104,114,111,110,111,117,115,32,98,101,99,97,117,115,101,32,111,102,32,105,116,115,32,101,114,114,111,114,32,98,101,104,97,118,105,111,114,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,110,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,44,32,111,114,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,99,108,111,115,101,100,32,112,111,114,116,44,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,116,104,105,115,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,52,54,52>>,signature => [{attribute,{3575,2},spec,{{port_close,1},[{type,{3575,17},bounded_fun,[{type,{3575,17},'fun',[{type,{3575,17},product,[{var,{3575,18},'Port'}]},{atom,{3575,27},true}]},[{type,{3576,7},constraint,[{atom,{3576,7},is_subtype},[{var,{3576,7},'Port'},{type,{3576,15},union,[{type,{3576,15},port,[]},{type,{3576,24},atom,[]}]}]]}]]}]}}]}},{{function,port_command,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3533}],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,110,100,115,32,100,97,116,97,32,116,111,32,97,32,112,111,114,116,46,32,83,97,109,101,32,97,115,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,123,99,111,109,109,97,110,100,44,32,68,97,116,97,125,125>>]},<<32,101,120,99,101,112,116,32,102,111,114,32,116,104,101,32,101,114,114,111,114,32,98,101,104,97,118,105,111,114,32,97,110,100,32,98,101,105,110,103,32,115,121,110,99,104,114,111,110,111,117,115,32,40,115,101,101,32,98,101,108,111,119,41,46,32,65,110,121,32,112,114,111,99,101,115,115,32,99,97,110,32,115,101,110,100,32,100,97,116,97,32,116,111,32,97,32,112,111,114,116,32,119,105,116,104,32>>,{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,50>>]},<<44,32,110,111,116,32,111,110,108,121,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,32,40,116,104,101,32,99,111,110,110,101,99,116,101,100,32,112,114,111,99,101,115,115,41,46>>]},{p,[],[<<70,111,114,32,99,111,109,112,97,114,105,115,111,110,58,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,123,99,111,109,109,97,110,100,44,32,68,97,116,97,125,125>>]},<<32,111,110,108,121,32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,100,111,101,115,32,110,111,116,32,114,101,102,101,114,32,116,111,32,97,32,112,111,114,116,32,111,114,32,97,32,112,114,111,99,101,115,115,46,32,73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,97,32,99,108,111,115,101,100,32,112,111,114,116,44,32,116,104,101,32,100,97,116,97,32,109,101,115,115,97,103,101,32,100,105,115,97,112,112,101,97,114,115,32,119,105,116,104,111,117,116,32,97,32,115,111,117,110,100,46,32,73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,111,112,101,110,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,44,32,116,104,101,32>>,{em,[],[<<112,111,114,116,32,111,119,110,101,114>>]},<<32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,115,105,103>>]},<<46,32,84,104,101,32,112,111,114,116,32,111,119,110,101,114,32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,115,105,103>>]},<<32,97,108,115,111,32,105,102,32>>,{code,[],[<<68,97,116,97>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,73,47,79,32,108,105,115,116,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,110,121,32,112,114,111,99,101,115,115,32,99,97,110,32,115,101,110,100,32,116,111,32,97,32,112,111,114,116,32,117,115,105,110,103,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,123,99,111,109,109,97,110,100,44,32,68,97,116,97,125,125>>]},<<32,97,115,32,105,102,32,105,116,32,105,116,115,101,108,102,32,119,97,115,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,98,117,115,121,44,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,115,117,115,112,101,110,100,101,100,32,117,110,116,105,108,32,116,104,101,32,112,111,114,116,32,105,115,32,110,111,116,32,98,117,115,121,32,97,110,121,32,109,111,114,101,46>>]},{p,[],[<<65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,49,54,44,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,123,99,111,109,109,97,110,100,44,32,68,97,116,97,125,125>>]},<<32,105,115,32,116,114,117,108,121,32,97,115,121,110,99,104,114,111,110,111,117,115,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,105,115,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,97,108,119,97,121,115,32,98,101,101,110,32,100,111,99,117,109,101,110,116,101,100,32,97,115,32,97,110,32,97,115,121,110,99,104,114,111,110,111,117,115,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,108,101,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,115,121,110,99,104,114,111,110,111,117,115,46,32>>,{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,50>>]},<<32,105,115,32,104,111,119,101,118,101,114,32,115,116,105,108,108,32,102,117,108,108,121,32,115,121,110,99,104,114,111,110,111,117,115,32,98,101,99,97,117,115,101,32,111,102,32,105,116,115,32,101,114,114,111,114,32,98,101,104,97,118,105,111,114,46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[{p,[],[<<73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,110,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,44,32,111,114,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,99,108,111,115,101,100,32,112,111,114,116,44,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,116,104,105,115,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46>>]}]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[{p,[],[<<73,102,32>>,{code,[],[<<68,97,116,97>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,73,47,79,32,108,105,115,116,46>>]}]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<68,111,32,110,111,116,32,115,101,110,100,32,100,97,116,97,32,116,111,32,97,110,32,117,110,107,110,111,119,110,32,112,111,114,116,46,32,65,110,121,32,117,110,100,101,102,105,110,101,100,32,98,101,104,97,118,105,111,114,32,105,115,32,112,111,115,115,105,98,108,101,32,40,105,110,99,108,117,100,105,110,103,32,110,111,100,101,32,99,114,97,115,104,41,32,100,101,112,101,110,100,105,110,103,32,111,110,32,104,111,119,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,105,110,116,101,114,112,114,101,116,115,32,116,104,101,32,100,97,116,97,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,53,48,52>>,signature => [{attribute,{3533,2},spec,{{port_command,2},[{type,{3533,19},bounded_fun,[{type,{3533,19},'fun',[{type,{3533,19},product,[{var,{3533,20},'Port'},{var,{3533,26},'Data'}]},{atom,{3533,35},true}]},[{type,{3534,7},constraint,[{atom,{3534,7},is_subtype},[{var,{3534,7},'Port'},{type,{3534,15},union,[{type,{3534,15},port,[]},{type,{3534,24},atom,[]}]}]]},{type,{3535,7},constraint,[{atom,{3535,7},is_subtype},[{var,{3535,7},'Data'},{type,{3535,15},iodata,[]}]]}]]}]}}]}},{{function,port_command,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3546}],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,51>>],#{<<101,110>> => [{p,[],[<<83,101,110,100,115,32,100,97,116,97,32,116,111,32,97,32,112,111,114,116,46,32>>,{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,40,80,111,114,116,44,32,68,97,116,97,44,32,91,93,41>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,40,80,111,114,116,44,32,68,97,116,97,41>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,99,111,109,109,97,110,100,32,105,115,32,97,98,111,114,116,101,100,44,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<116,114,117,101>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,98,117,115,121,44,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,115,117,115,112,101,110,100,101,100,32,117,110,116,105,108,32,116,104,101,32,112,111,114,116,32,105,115,32,110,111,116,32,98,117,115,121,32,97,110,121,109,111,114,101,46>>]},{p,[],[{code,[],[<<79,112,116,105,111,110>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<102,111,114,99,101>>]}]},{dd,[],[<<84,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,115,117,115,112,101,110,100,101,100,32,105,102,32,116,104,101,32,112,111,114,116,32,105,115,32,98,117,115,121,44,32,105,110,115,116,101,97,100,32,116,104,101,32,112,111,114,116,32,99,111,109,109,97,110,100,32,105,115,32,102,111,114,99,101,100,32,116,104,114,111,117,103,104,46,32,84,104,101,32,99,97,108,108,32,102,97,105,108,115,32,119,105,116,104,32,97,32>>,{code,[],[<<110,111,116,115,117,112>>]},<<32,101,120,99,101,112,116,105,111,110,32,105,102,32,116,104,101,32,100,114,105,118,101,114,32,111,102,32,116,104,101,32,112,111,114,116,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,116,104,105,115,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,100,114,105,118,101,114,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,100,114,105,118,101,114,95,101,110,116,114,121,35,100,114,105,118,101,114,95,102,108,97,103,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<69,82,76,95,68,82,86,95,70,76,65,71,95,83,79,70,84,95,66,85,83,89>>]}]},<<46>>]},{dt,[],[{code,[],[<<110,111,115,117,115,112,101,110,100>>]}]},{dd,[],[<<84,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,115,117,115,112,101,110,100,101,100,32,105,102,32,116,104,101,32,112,111,114,116,32,105,115,32,98,117,115,121,44,32,105,110,115,116,101,97,100,32,116,104,101,32,112,111,114,116,32,99,111,109,109,97,110,100,32,105,115,32,97,98,111,114,116,101,100,32,97,110,100,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<77,111,114,101,32,111,112,116,105,111,110,115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,110,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,44,32,111,114,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,99,108,111,115,101,100,32,112,111,114,116,44,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,116,104,105,115,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<68,97,116,97>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,73,47,79,32,108,105,115,116,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,116,105,111,110,76,105,115,116>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,111,112,116,105,111,110,32,108,105,115,116,46>>]},{dt,[],[{code,[],[<<110,111,116,115,117,112>>]}]},{dd,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<102,111,114,99,101>>]},<<32,104,97,115,32,98,101,101,110,32,112,97,115,115,101,100,44,32,98,117,116,32,116,104,101,32,100,114,105,118,101,114,32,111,102,32,116,104,101,32,112,111,114,116,32,100,111,101,115,32,110,111,116,32,97,108,108,111,119,32,102,111,114,99,105,110,103,32,116,104,114,111,117,103,104,32,97,32,98,117,115,121,32,112,111,114,116,46>>]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<68,111,32,110,111,116,32,115,101,110,100,32,100,97,116,97,32,116,111,32,97,110,32,117,110,107,110,111,119,110,32,112,111,114,116,46,32,65,110,121,32,117,110,100,101,102,105,110,101,100,32,98,101,104,97,118,105,111,114,32,105,115,32,112,111,115,115,105,98,108,101,32,40,105,110,99,108,117,100,105,110,103,32,110,111,100,101,32,99,114,97,115,104,41,32,100,101,112,101,110,100,105,110,103,32,111,110,32,104,111,119,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,105,110,116,101,114,112,114,101,116,115,32,116,104,101,32,100,97,116,97,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,53,53,54>>,signature => [{attribute,{3546,2},spec,{{port_command,3},[{type,{3546,19},bounded_fun,[{type,{3546,19},'fun',[{type,{3546,19},product,[{var,{3546,20},'Port'},{var,{3546,26},'Data'},{var,{3546,32},'OptionList'}]},{type,{3546,47},boolean,[]}]},[{type,{3547,7},constraint,[{atom,{3547,7},is_subtype},[{var,{3547,7},'Port'},{type,{3547,15},union,[{type,{3547,15},port,[]},{type,{3547,24},atom,[]}]}]]},{type,{3548,7},constraint,[{atom,{3548,7},is_subtype},[{var,{3548,7},'Data'},{type,{3548,15},iodata,[]}]]},{type,{3549,7},constraint,[{atom,{3549,7},is_subtype},[{var,{3549,7},'Option'},{type,{3549,17},union,[{atom,{3549,17},force},{atom,{3549,25},nosuspend}]}]]},{type,{3550,7},constraint,[{atom,{3550,7},is_subtype},[{var,{3550,7},'OptionList'},{type,{3550,21},list,[{var,{3550,22},'Option'}]}]]}]]}]}}]}},{{function,port_connect,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3562}],[<<112,111,114,116,95,99,111,110,110,101,99,116,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,32,40,116,104,101,32,99,111,110,110,101,99,116,101,100,32,112,111,114,116,41,32,116,111,32>>,{code,[],[<<80,105,100>>]},<<46,32,82,111,117,103,104,108,121,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<80,111,114,116,32,33,32,123,79,119,110,101,114,44,32,123,99,111,110,110,101,99,116,44,32,80,105,100,125,125>>]},<<32,101,120,99,101,112,116,32,102,111,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{ul,[],[{li,[],[{p,[],[<<84,104,101,32,101,114,114,111,114,32,98,101,104,97,118,105,111,114,32,100,105,102,102,101,114,115,44,32,115,101,101,32,98,101,108,111,119,46>>]}]},{li,[],[{p,[],[<<84,104,101,32,112,111,114,116,32,100,111,101,115,32>>,{em,[],[<<110,111,116>>]},<<32,114,101,112,108,121,32,119,105,116,104,32>>,{code,[],[<<123,80,111,114,116,44,99,111,110,110,101,99,116,101,100,125>>]},<<46>>]}]},{li,[],[{p,[],[{code,[],[<<112,111,114,116,95,99,111,110,110,101,99,116,47,49>>]},<<32,105,115,32,115,121,110,99,104,114,111,110,111,117,115,44,32,115,101,101,32,98,101,108,111,119,46>>]}]},{li,[],[{p,[],[<<84,104,101,32,110,101,119,32,112,111,114,116,32,111,119,110,101,114,32,103,101,116,115,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,46>>]}]}]},{p,[],[<<84,104,101,32,111,108,100,32,112,111,114,116,32,111,119,110,101,114,32,115,116,97,121,115,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,32,97,110,100,32,109,117,115,116,32,99,97,108,108,32>>,{code,[],[<<117,110,108,105,110,107,40,80,111,114,116,41>>]},<<32,105,102,32,116,104,105,115,32,105,115,32,110,111,116,32,100,101,115,105,114,101,100,46,32,65,110,121,32,112,114,111,99,101,115,115,32,99,97,110,32,115,101,116,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,32,116,111,32,98,101,32,97,110,121,32,112,114,111,99,101,115,115,32,119,105,116,104,32>>,{code,[],[<<112,111,114,116,95,99,111,110,110,101,99,116,47,50>>]},<<46>>]},{p,[],[<<70,111,114,32,99,111,109,112,97,114,105,115,111,110,58,32>>,{code,[],[<<80,111,114,116,32,33,32,123,115,101,108,102,40,41,44,32,123,99,111,110,110,101,99,116,44,32,80,105,100,125,125>>]},<<32,111,110,108,121,32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,100,111,101,115,32,110,111,116,32,114,101,102,101,114,32,116,111,32,97,32,112,111,114,116,32,111,114,32,97,32,112,114,111,99,101,115,115,46,32,73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,97,32,99,108,111,115,101,100,32,112,111,114,116,44,32,110,111,116,104,105,110,103,32,104,97,112,112,101,110,115,46,32,73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,97,110,32,111,112,101,110,32,112,111,114,116,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,44,32,116,104,101,32,112,111,114,116,32,114,101,112,108,105,101,115,32,119,105,116,104,32>>,{code,[],[<<123,80,111,114,116,44,32,99,111,110,110,101,99,116,101,100,125>>]},<<32,116,111,32,116,104,101,32,111,108,100,32,112,111,114,116,32,111,119,110,101,114,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,111,108,100,32,112,111,114,116,32,111,119,110,101,114,32,105,115,32,115,116,105,108,108,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,119,104,105,108,101,32,116,104,101,32,110,101,119,32,105,115,32,110,111,116,46,32,73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,97,110,32,111,112,101,110,32,112,111,114,116,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,44,32,116,104,101,32>>,{em,[],[<<112,111,114,116,32,111,119,110,101,114>>]},<<32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,115,105,103>>]},<<46,32,84,104,101,32,112,111,114,116,32,111,119,110,101,114,32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,115,105,103>>]},<<32,97,108,115,111,32,105,102,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,110,111,116,32,97,110,32,101,120,105,115,116,105,110,103,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,110,121,32,112,114,111,99,101,115,115,32,99,97,110,32,115,101,116,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,32,117,115,105,110,103,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,123,99,111,110,110,101,99,116,44,32,80,105,100,125,125>>]},<<32,97,115,32,105,102,32,105,116,32,105,116,115,101,108,102,32,119,97,115,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,44,32,98,117,116,32,116,104,101,32,114,101,112,108,121,32,97,108,119,97,121,115,32,103,111,101,115,32,116,111,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,46>>]},{p,[],[<<65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,49,54,44,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,123,99,111,110,110,101,99,116,44,32,80,105,100,125,125>>]},<<32,105,115,32,116,114,117,108,121,32,97,115,121,110,99,104,114,111,110,111,117,115,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,105,115,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,97,108,119,97,121,115,32,98,101,101,110,32,100,111,99,117,109,101,110,116,101,100,32,97,115,32,97,110,32,97,115,121,110,99,104,114,111,110,111,117,115,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,108,101,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,115,121,110,99,104,114,111,110,111,117,115,46,32>>,{code,[],[<<112,111,114,116,95,99,111,110,110,101,99,116,47,50>>]},<<32,105,115,32,104,111,119,101,118,101,114,32,115,116,105,108,108,32,102,117,108,108,121,32,115,121,110,99,104,114,111,110,111,117,115,32,98,101,99,97,117,115,101,32,111,102,32,105,116,115,32,101,114,114,111,114,32,98,101,104,97,118,105,111,114,46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,110,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,44,32,111,114,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,99,108,111,115,101,100,32,112,111,114,116,44,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,116,104,105,115,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,110,111,116,32,97,110,32,101,120,105,115,116,105,110,103,32,108,111,99,97,108,32,112,114,111,99,101,115,115,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,54,50,48>>,signature => [{attribute,{3562,2},spec,{{port_connect,2},[{type,{3562,19},bounded_fun,[{type,{3562,19},'fun',[{type,{3562,19},product,[{var,{3562,20},'Port'},{var,{3562,26},'Pid'}]},{atom,{3562,34},true}]},[{type,{3563,7},constraint,[{atom,{3563,7},is_subtype},[{var,{3563,7},'Port'},{type,{3563,15},union,[{type,{3563,15},port,[]},{type,{3563,24},atom,[]}]}]]},{type,{3564,7},constraint,[{atom,{3564,7},is_subtype},[{var,{3564,7},'Pid'},{type,{3564,14},pid,[]}]]}]]}]}}]}},{{function,port_control,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3587}],[<<112,111,114,116,95,99,111,110,116,114,111,108,47,51>>],#{<<101,110>> => [{p,[],[<<80,101,114,102,111,114,109,115,32,97,32,115,121,110,99,104,114,111,110,111,117,115,32,99,111,110,116,114,111,108,32,111,112,101,114,97,116,105,111,110,32,111,110,32,97,32,112,111,114,116,46,32,84,104,101,32,109,101,97,110,105,110,103,32,111,102,32>>,{code,[],[<<79,112,101,114,97,116,105,111,110>>]},<<32,97,110,100,32>>,{code,[],[<<68,97,116,97>>]},<<32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,112,111,114,116,44,32,116,104,97,116,32,105,115,44,32,111,110,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,46,32,78,111,116,32,97,108,108,32,112,111,114,116,32,100,114,105,118,101,114,115,32,115,117,112,112,111,114,116,32,116,104,105,115,32,99,111,110,116,114,111,108,32,102,101,97,116,117,114,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,105,110,116,101,103,101,114,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32,48,46,46,50,53,53,44,32,111,114,32,97,32,98,105,110,97,114,121,44,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,46,32,84,104,101,32,109,101,97,110,105,110,103,32,111,102,32,116,104,101,32,114,101,116,117,114,110,101,100,32,100,97,116,97,32,97,108,115,111,32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,110,32,111,112,101,110,32,112,111,114,116,32,111,114,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,101,114,97,116,105,111,110>>]},<<32,99,97,110,110,111,116,32,102,105,116,32,105,110,32,97,32,51,50,45,98,105,116,32,105,110,116,101,103,101,114,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,115,121,110,99,104,114,111,110,111,117,115,32,99,111,110,116,114,111,108,32,111,112,101,114,97,116,105,111,110,115,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,115,111,32,100,101,99,105,100,101,115,32,102,111,114,32,97,110,121,32,114,101,97,115,111,110,32,40,112,114,111,98,97,98,108,121,32,115,111,109,101,116,104,105,110,103,32,119,114,111,110,103,32,119,105,116,104,32>>,{code,[],[<<79,112,101,114,97,116,105,111,110>>]},<<32,111,114,32>>,{code,[],[<<68,97,116,97>>]},<<41,46>>,{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<68,111,32,110,111,116,32,99,97,108,108,32>>,{code,[],[<<112,111,114,116,95,99,111,110,116,114,111,108,47,51>>]},<<32,119,105,116,104,32,97,110,32,117,110,107,110,111,119,110,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,100,101,110,116,105,102,105,101,114,32,97,110,100,32,101,120,112,101,99,116,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,46,32,65,110,121,32,117,110,100,101,102,105,110,101,100,32,98,101,104,97,118,105,111,114,32,105,115,32,112,111,115,115,105,98,108,101,32,40,105,110,99,108,117,100,105,110,103,32,110,111,100,101,32,99,114,97,115,104,41,32,100,101,112,101,110,100,105,110,103,32,111,110,32,104,111,119,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,105,110,116,101,114,112,114,101,116,115,32,116,104,101,32,115,117,112,112,108,105,101,100,32,97,114,103,117,109,101,110,116,115,46>>]}]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,54,56,57>>,signature => [{attribute,{3587,2},spec,{{port_control,3},[{type,{3587,19},bounded_fun,[{type,{3587,19},'fun',[{type,{3587,19},product,[{var,{3587,20},'Port'},{var,{3587,26},'Operation'},{var,{3587,37},'Data'}]},{type,{3587,46},union,[{type,{3587,46},iodata,[]},{type,{3587,57},binary,[]}]}]},[{type,{3588,7},constraint,[{atom,{3588,7},is_subtype},[{var,{3588,7},'Port'},{type,{3588,15},union,[{type,{3588,15},port,[]},{type,{3588,24},atom,[]}]}]]},{type,{3589,7},constraint,[{atom,{3589,7},is_subtype},[{var,{3589,7},'Operation'},{type,{3589,20},integer,[]}]]},{type,{3590,7},constraint,[{atom,{3590,7},is_subtype},[{var,{3590,7},'Data'},{type,{3590,15},iodata,[]}]]}]]}]}}]}},{{function,port_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3628}],[<<112,111,114,116,95,105,110,102,111,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,116,117,112,108,101,115,32,119,105,116,104,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32>>,{code,[],[<<80,111,114,116>>]},<<44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,112,111,114,116,32,105,115,32,110,111,116,32,111,112,101,110,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,116,117,112,108,101,115,32,105,115,32,117,110,100,101,102,105,110,101,100,44,32,97,110,100,32,97,108,108,32,116,104,101,32,116,117,112,108,101,115,32,97,114,101,32,110,111,116,32,109,97,110,100,97,116,111,114,121,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,49>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<84,104,101,32,114,101,115,117,108,116,32,99,111,110,116,97,105,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32>>,{code,[],[<<73,116,101,109>>]},<<115,58>>]},{ul,[],[{li,[],[{code,[],[<<114,101,103,105,115,116,101,114,101,100,95,110,97,109,101>>]},<<32,40,105,102,32,116,104,101,32,112,111,114,116,32,104,97,115,32,97,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,41>>]},{li,[],[{code,[],[<<105,100>>]}]},{li,[],[{code,[],[<<99,111,110,110,101,99,116,101,100>>]}]},{li,[],[{code,[],[<<108,105,110,107,115>>]}]},{li,[],[{code,[],[<<110,97,109,101>>]}]},{li,[],[{code,[],[<<105,110,112,117,116>>]}]},{li,[],[{code,[],[<<111,117,116,112,117,116>>]}]}]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,100,105,102,102,101,114,101,110,116,32>>,{code,[],[<<73,116,101,109>>]},<<115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,111,114,116,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]}]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,55,51,51>>,signature => [{attribute,{3628,2},spec,{{erlang,port_info,1},[{type,{3628,23},bounded_fun,[{type,{3628,23},'fun',[{type,{3628,23},product,[{var,{3628,24},'Port'}]},{var,{3628,33},'Result'}]},[{type,{3629,7},constraint,[{atom,{3629,7},is_subtype},[{var,{3629,7},'Port'},{type,{3629,15},union,[{type,{3629,15},port,[]},{type,{3629,24},atom,[]}]}]]},{type,{3630,7},constraint,[{atom,{3630,7},is_subtype},[{var,{3630,7},'ResultItem'},{type,{3630,21},union,[{type,{3630,21},tuple,[{atom,{3630,22},registered_name},{ann_type,{3630,39},[{var,{3630,39},'RegisteredName'},{type,{3630,57},atom,[]}]}]},{type,{3631,7},tuple,[{atom,{3631,8},id},{ann_type,{3631,12},[{var,{3631,12},'Index'},{type,{3631,21},non_neg_integer,[]}]}]},{type,{3632,7},tuple,[{atom,{3632,8},connected},{ann_type,{3632,19},[{var,{3632,19},'Pid'},{type,{3632,26},pid,[]}]}]},{type,{3633,7},tuple,[{atom,{3633,8},links},{ann_type,{3633,15},[{var,{3633,15},'Pids'},{type,{3633,23},list,[{type,{3633,24},pid,[]}]}]}]},{type,{3634,7},tuple,[{atom,{3634,8},name},{ann_type,{3634,14},[{var,{3634,14},'String'},{type,{3634,24},string,[]}]}]},{type,{3635,7},tuple,[{atom,{3635,8},input},{ann_type,{3635,15},[{var,{3635,15},'Bytes'},{type,{3635,24},non_neg_integer,[]}]}]},{type,{3636,7},tuple,[{atom,{3636,8},output},{ann_type,{3636,16},[{var,{3636,16},'Bytes'},{type,{3636,25},non_neg_integer,[]}]}]},{type,{3637,7},tuple,[{atom,{3637,8},os_pid},{ann_type,{3637,16},[{var,{3637,16},'OsPid'},{type,{3637,25},union,[{type,{3637,25},non_neg_integer,[]},{atom,{3637,45},undefined}]}]}]}]}]]},{type,{3638,7},constraint,[{atom,{3638,7},is_subtype},[{var,{3638,7},'Result'},{type,{3638,17},union,[{type,{3638,17},list,[{var,{3638,18},'ResultItem'}]},{atom,{3638,32},undefined}]}]]}]]}]}}]}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3649}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,101,32,112,111,114,116,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,55,54,52>>,signature => [{attribute,{3649,2},spec,{{erlang,port_info,2},[{type,{3649,23},bounded_fun,[{type,{3649,23},'fun',[{type,{3649,23},product,[{var,{3649,24},'Port'},{atom,{3649,30},connected}]},{type,{3649,44},union,[{type,{3649,44},tuple,[{atom,{3649,45},connected},{var,{3649,56},'Pid'}]},{atom,{3649,63},undefined}]}]},[{type,{3650,7},constraint,[{atom,{3650,7},is_subtype},[{var,{3650,7},'Port'},{type,{3650,15},union,[{type,{3650,15},port,[]},{type,{3650,24},atom,[]}]}]]},{type,{3651,7},constraint,[{atom,{3651,7},is_subtype},[{var,{3651,7},'Pid'},{type,{3651,14},pid,[]}]]}]]}]}}]}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3649}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<73,110,100,101,120>>]},<<32,105,115,32,116,104,101,32,105,110,116,101,114,110,97,108,32,105,110,100,101,120,32,111,102,32,116,104,101,32,112,111,114,116,46,32,84,104,105,115,32,105,110,100,101,120,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,115,101,112,97,114,97,116,101,32,112,111,114,116,115,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,55,56,48>>,signature => [{attribute,{3649,2},spec,{{erlang,port_info,2},[{type,{3652,9},bounded_fun,[{type,{3652,9},'fun',[{type,{3652,9},product,[{var,{3652,10},'Port'},{atom,{3652,16},id}]},{type,{3652,23},union,[{type,{3652,23},tuple,[{atom,{3652,24},id},{var,{3652,28},'Index'}]},{atom,{3652,37},undefined}]}]},[{type,{3653,7},constraint,[{atom,{3653,7},is_subtype},[{var,{3653,7},'Port'},{type,{3653,15},union,[{type,{3653,15},port,[]},{type,{3653,24},atom,[]}]}]]},{type,{3654,7},constraint,[{atom,{3654,7},is_subtype},[{var,{3654,7},'Index'},{type,{3654,16},non_neg_integer,[]}]]}]]}]}}]}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3649}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<66,121,116,101,115>>]},<<32,105,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,114,101,97,100,32,102,114,111,109,32,116,104,101,32,112,111,114,116,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,55,57,54>>,signature => [{attribute,{3649,2},spec,{{erlang,port_info,2},[{type,{3655,9},bounded_fun,[{type,{3655,9},'fun',[{type,{3655,9},product,[{var,{3655,10},'Port'},{atom,{3655,16},input}]},{type,{3655,26},union,[{type,{3655,26},tuple,[{atom,{3655,27},input},{var,{3655,34},'Bytes'}]},{atom,{3655,43},undefined}]}]},[{type,{3656,7},constraint,[{atom,{3656,7},is_subtype},[{var,{3656,7},'Port'},{type,{3656,15},union,[{type,{3656,15},port,[]},{type,{3656,24},atom,[]}]}]]},{type,{3657,7},constraint,[{atom,{3657,7},is_subtype},[{var,{3657,7},'Bytes'},{type,{3657,16},non_neg_integer,[]}]]}]]}]}}]}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3649}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<80,105,100,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,115,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,116,104,101,32,112,111,114,116,32,105,115,32,108,105,110,107,101,100,32,116,111,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,56,49,50>>,signature => [{attribute,{3649,2},spec,{{erlang,port_info,2},[{type,{3658,9},bounded_fun,[{type,{3658,9},'fun',[{type,{3658,9},product,[{var,{3658,10},'Port'},{atom,{3658,16},links}]},{type,{3658,26},union,[{type,{3658,26},tuple,[{atom,{3658,27},links},{var,{3658,34},'Pids'}]},{atom,{3658,42},undefined}]}]},[{type,{3659,7},constraint,[{atom,{3659,7},is_subtype},[{var,{3659,7},'Port'},{type,{3659,15},union,[{type,{3659,15},port,[]},{type,{3659,24},atom,[]}]}]]},{type,{3660,7},constraint,[{atom,{3660,7},is_subtype},[{var,{3660,7},'Pids'},{type,{3660,15},list,[{type,{3660,16},pid,[]}]}]]}]]}]}}]}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3649}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<76,111,99,107,105,110,103>>]},<<32,105,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{ul,[],[{li,[],[{code,[],[<<112,111,114,116,95,108,101,118,101,108>>]},<<32,40,112,111,114,116,45,115,112,101,99,105,102,105,99,32,108,111,99,107,105,110,103,41>>]},{li,[],[{code,[],[<<100,114,105,118,101,114,95,108,101,118,101,108>>]},<<32,40,100,114,105,118,101,114,45,115,112,101,99,105,102,105,99,32,108,111,99,107,105,110,103,41>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,115,101,32,114,101,115,117,108,116,115,32,97,114,101,32,104,105,103,104,108,121,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,45,115,112,101,99,105,102,105,99,32,97,110,100,32,99,97,110,32,99,104,97,110,103,101,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,56,50,56>>,signature => [{attribute,{3649,2},spec,{{erlang,port_info,2},[{type,{3661,9},bounded_fun,[{type,{3661,9},'fun',[{type,{3661,9},product,[{var,{3661,10},'Port'},{atom,{3661,16},locking}]},{type,{3661,28},union,[{type,{3661,28},tuple,[{atom,{3661,29},locking},{var,{3661,38},'Locking'}]},{atom,{3661,49},undefined}]}]},[{type,{3662,7},constraint,[{atom,{3662,7},is_subtype},[{var,{3662,7},'Port'},{type,{3662,15},union,[{type,{3662,15},port,[]},{type,{3662,24},atom,[]}]}]]},{type,{3663,7},constraint,[{atom,{3663,7},is_subtype},[{var,{3663,7},'Locking'},{type,{3663,18},union,[{atom,{3663,18},false},{atom,{3663,28},port_level},{atom,{3663,43},driver_level}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3649}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{a,[{id,<<112,111,114,116,95,105,110,102,111,95,109,101,109,111,114,121>>}],[]},{p,[],[{code,[],[<<66,121,116,101,115>>]},<<32,105,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,116,104,105,115,32,112,111,114,116,32,98,121,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,84,104,101,32,112,111,114,116,32,105,116,115,101,108,102,32,99,97,110,32,104,97,118,101,32,97,108,108,111,99,97,116,101,100,32,109,101,109,111,114,121,32,116,104,97,116,32,105,115,32,110,111,116,32,105,110,99,108,117,100,101,100,32,105,110,32>>,{code,[],[<<66,121,116,101,115>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,56,52,57>>,signature => [{attribute,{3649,2},spec,{{erlang,port_info,2},[{type,{3664,9},bounded_fun,[{type,{3664,9},'fun',[{type,{3664,9},product,[{var,{3664,10},'Port'},{atom,{3664,16},memory}]},{type,{3664,27},union,[{type,{3664,27},tuple,[{atom,{3664,28},memory},{var,{3664,36},'Bytes'}]},{atom,{3664,45},undefined}]}]},[{type,{3665,7},constraint,[{atom,{3665,7},is_subtype},[{var,{3665,7},'Port'},{type,{3665,15},union,[{type,{3665,15},port,[]},{type,{3665,24},atom,[]}]}]]},{type,{3666,7},constraint,[{atom,{3666,7},is_subtype},[{var,{3666,7},'Bytes'},{type,{3666,16},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3649}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<77,111,110,105,116,111,114,115>>]},<<32,114,101,112,114,101,115,101,110,116,32,112,114,111,99,101,115,115,101,115,32,109,111,110,105,116,111,114,101,100,32,98,121,32,116,104,105,115,32,112,111,114,116,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,56,54,56>>,signature => [{attribute,{3649,2},spec,{{erlang,port_info,2},[{type,{3667,9},bounded_fun,[{type,{3667,9},'fun',[{type,{3667,9},product,[{var,{3667,10},'Port'},{atom,{3667,16},monitors}]},{type,{3667,29},union,[{type,{3667,29},tuple,[{atom,{3667,30},monitors},{var,{3667,40},'Monitors'}]},{atom,{3667,52},undefined}]}]},[{type,{3668,7},constraint,[{atom,{3668,7},is_subtype},[{var,{3668,7},'Port'},{type,{3668,15},union,[{type,{3668,15},port,[]},{type,{3668,24},atom,[]}]}]]},{type,{3669,7},constraint,[{atom,{3669,7},is_subtype},[{var,{3669,7},'Monitors'},{type,{3669,19},list,[{type,{3669,20},tuple,[{atom,{3669,21},process},{type,{3669,30},pid,[]}]}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3649}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,108,105,115,116,32,111,102,32,112,105,100,115,32,116,104,97,116,32,97,114,101,32,109,111,110,105,116,111,114,105,110,103,32,103,105,118,101,110,32,112,111,114,116,32,97,116,32,116,104,101,32,109,111,109,101,110,116,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,56,56,52>>,signature => [{attribute,{3649,2},spec,{{erlang,port_info,2},[{type,{3670,9},bounded_fun,[{type,{3670,9},'fun',[{type,{3670,9},product,[{var,{3670,10},'Port'},{atom,{3670,16},monitored_by}]},{type,{3670,33},union,[{type,{3670,33},tuple,[{atom,{3670,34},monitored_by},{var,{3670,48},'MonitoredBy'}]},{atom,{3670,63},undefined}]}]},[{type,{3671,7},constraint,[{atom,{3671,7},is_subtype},[{var,{3671,7},'Port'},{type,{3671,15},union,[{type,{3671,15},port,[]},{type,{3671,24},atom,[]}]}]]},{type,{3672,7},constraint,[{atom,{3672,7},is_subtype},[{var,{3672,7},'MonitoredBy'},{type,{3672,22},list,[{type,{3672,23},pid,[]}]}]]}]]}]}}],since => <<79,84,80,32,49,57,46,48>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3649}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<78,97,109,101>>]},<<32,105,115,32,116,104,101,32,99,111,109,109,97,110,100,32,110,97,109,101,32,115,101,116,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,111,112,101,110,95,112,111,114,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,95,112,111,114,116,47,50>>]}]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,57,48,48>>,signature => [{attribute,{3649,2},spec,{{erlang,port_info,2},[{type,{3673,9},bounded_fun,[{type,{3673,9},'fun',[{type,{3673,9},product,[{var,{3673,10},'Port'},{atom,{3673,16},name}]},{type,{3673,25},union,[{type,{3673,25},tuple,[{atom,{3673,26},name},{var,{3673,32},'Name'}]},{atom,{3673,40},undefined}]}]},[{type,{3674,7},constraint,[{atom,{3674,7},is_subtype},[{var,{3674,7},'Port'},{type,{3674,15},union,[{type,{3674,15},port,[]},{type,{3674,24},atom,[]}]}]]},{type,{3675,7},constraint,[{atom,{3675,7},is_subtype},[{var,{3675,7},'Name'},{type,{3675,15},string,[]}]]}]]}]}}]}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3649}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<79,115,80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,111,114,32,101,113,117,105,118,97,108,101,110,116,41,32,111,102,32,97,110,32,79,83,32,112,114,111,99,101,115,115,32,99,114,101,97,116,101,100,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,111,112,101,110,95,112,111,114,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,95,112,111,114,116,40,123,115,112,97,119,110,32,124,32,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,67,111,109,109,97,110,100,125,44,32,79,112,116,105,111,110,115,41>>]}]},<<46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,110,111,116,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,115,112,97,119,110,105,110,103,32,97,110,32,79,83,32,112,114,111,99,101,115,115,44,32,116,104,101,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,57,49,54>>,signature => [{attribute,{3649,2},spec,{{erlang,port_info,2},[{type,{3676,9},bounded_fun,[{type,{3676,9},'fun',[{type,{3676,9},product,[{var,{3676,10},'Port'},{atom,{3676,16},os_pid}]},{type,{3676,27},union,[{type,{3676,27},tuple,[{atom,{3676,28},os_pid},{var,{3676,36},'OsPid'}]},{atom,{3676,45},undefined}]}]},[{type,{3677,7},constraint,[{atom,{3677,7},is_subtype},[{var,{3677,7},'Port'},{type,{3677,15},union,[{type,{3677,15},port,[]},{type,{3677,24},atom,[]}]}]]},{type,{3678,7},constraint,[{atom,{3678,7},is_subtype},[{var,{3678,7},'OsPid'},{type,{3678,16},union,[{type,{3678,16},non_neg_integer,[]},{atom,{3678,36},undefined}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3649}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<66,121,116,101,115>>]},<<32,105,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,119,114,105,116,116,101,110,32,116,111,32,116,104,101,32,112,111,114,116,32,102,114,111,109,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,111,114,116,95,99,111,109,109,97,110,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,50>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,111,114,116,95,99,111,109,109,97,110,100,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,51>>]}]},<<44,32,111,114,32>>,{code,[],[<<80,111,114,116,32,33,32,123,79,119,110,101,114,44,32,123,99,111,109,109,97,110,100,44,32,68,97,116,97,125>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,57,51,53>>,signature => [{attribute,{3649,2},spec,{{erlang,port_info,2},[{type,{3679,9},bounded_fun,[{type,{3679,9},'fun',[{type,{3679,9},product,[{var,{3679,10},'Port'},{atom,{3679,16},output}]},{type,{3679,27},union,[{type,{3679,27},tuple,[{atom,{3679,28},output},{var,{3679,36},'Bytes'}]},{atom,{3679,45},undefined}]}]},[{type,{3680,7},constraint,[{atom,{3680,7},is_subtype},[{var,{3680,7},'Port'},{type,{3680,15},union,[{type,{3680,15},port,[]},{type,{3680,24},atom,[]}]}]]},{type,{3681,7},constraint,[{atom,{3681,7},is_subtype},[{var,{3681,7},'Bytes'},{type,{3681,16},non_neg_integer,[]}]]}]]}]}}]}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3649}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<66,111,111,108,101,97,110>>]},<<32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,112,111,114,116,32,112,97,114,97,108,108,101,108,105,115,109,32,104,105,110,116,32,117,115,101,100,32,98,121,32,116,104,105,115,32,112,111,114,116,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,111,112,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,111,112,101,110,95,112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,97,114,97,108,108,101,108,105,115,109>>]}]},<<32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,111,112,101,110,95,112,111,114,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,95,112,111,114,116,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,57,53,52>>,signature => [{attribute,{3649,2},spec,{{erlang,port_info,2},[{type,{3682,9},bounded_fun,[{type,{3682,9},'fun',[{type,{3682,9},product,[{var,{3682,10},'Port'},{atom,{3682,16},parallelism}]},{type,{3682,32},union,[{type,{3682,32},tuple,[{atom,{3682,33},parallelism},{var,{3682,46},'Boolean'}]},{atom,{3682,57},undefined}]}]},[{type,{3683,7},constraint,[{atom,{3683,7},is_subtype},[{var,{3683,7},'Port'},{type,{3683,15},union,[{type,{3683,15},port,[]},{type,{3683,24},atom,[]}]}]]},{type,{3684,7},constraint,[{atom,{3684,7},is_subtype},[{var,{3684,7},'Boolean'},{type,{3684,18},boolean,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3649}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<66,121,116,101,115>>]},<<32,105,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,113,117,101,117,101,100,32,98,121,32,116,104,101,32,112,111,114,116,32,117,115,105,110,103,32,116,104,101,32,69,82,84,83,32,100,114,105,118,101,114,32,113,117,101,117,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,57,54,53>>,signature => [{attribute,{3649,2},spec,{{erlang,port_info,2},[{type,{3685,9},bounded_fun,[{type,{3685,9},'fun',[{type,{3685,9},product,[{var,{3685,10},'Port'},{atom,{3685,16},queue_size}]},{type,{3685,31},union,[{type,{3685,31},tuple,[{atom,{3685,32},queue_size},{var,{3685,44},'Bytes'}]},{atom,{3685,53},undefined}]}]},[{type,{3686,7},constraint,[{atom,{3686,7},is_subtype},[{var,{3686,7},'Port'},{type,{3686,15},union,[{type,{3686,15},port,[]},{type,{3686,24},atom,[]}]}]]},{type,{3687,7},constraint,[{atom,{3687,7},is_subtype},[{var,{3687,7},'Bytes'},{type,{3687,16},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3649}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<82,101,103,105,115,116,101,114,101,100,78,97,109,101>>]},<<32,105,115,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,116,104,101,32,112,111,114,116,46,32,73,102,32,116,104,101,32,112,111,114,116,32,104,97,115,32,110,111,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,44,32>>,{code,[],[<<91,93>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,57,56,50>>,signature => [{attribute,{3649,2},spec,{{erlang,port_info,2},[{type,{3688,9},bounded_fun,[{type,{3688,9},'fun',[{type,{3688,9},product,[{var,{3688,10},'Port'},{atom,{3688,16},registered_name}]},{type,{3688,36},union,[{type,{3688,36},tuple,[{atom,{3688,37},registered_name},{var,{3688,54},'RegisteredName'}]},{type,{3688,72},nil,[]},{atom,{3688,77},undefined}]}]},[{type,{3689,7},constraint,[{atom,{3689,7},is_subtype},[{var,{3689,7},'Port'},{type,{3689,15},union,[{type,{3689,15},port,[]},{type,{3689,24},atom,[]}]}]]},{type,{3690,7},constraint,[{atom,{3690,7},is_subtype},[{var,{3690,7},'RegisteredName'},{type,{3690,25},atom,[]}]]}]]}]}}]}},{{function,port_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1569}],[<<112,111,114,116,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32>>,{code,[],[<<80,111,114,116>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,57,57,57>>,signature => [{attribute,{1569,2},spec,{{port_to_list,1},[{type,{1569,19},bounded_fun,[{type,{1569,19},'fun',[{type,{1569,19},product,[{var,{1569,20},'Port'}]},{type,{1569,29},string,[]}]},[{type,{1570,7},constraint,[{atom,{1570,7},is_subtype},[{var,{1570,7},'Port'},{type,{1570,15},port,[]}]]}]]}]}}]}},{{function,ports,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1575}],[<<112,111,114,116,115,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,97,108,108,32,116,104,101,32,112,111,114,116,115,32,101,120,105,115,116,105,110,103,32,111,110,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,110,32,101,120,105,116,105,110,103,32,112,111,114,116,32,101,120,105,115,116,115,44,32,98,117,116,32,105,115,32,110,111,116,32,111,112,101,110,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,48,48,56>>,signature => [{attribute,{1575,2},spec,{{erlang,ports,0},[{type,{1575,19},'fun',[{type,{1575,19},product,[]},{type,{1575,25},list,[{type,{1575,26},port,[]}]}]}]}}]}},{{function,pre_loaded,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1721}],[<<112,114,101,95,108,111,97,100,101,100,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,69,114,108,97,110,103,32,109,111,100,117,108,101,115,32,116,104,97,116,32,97,114,101,32,112,114,101,108,111,97,100,101,100,32,105,110,32,116,104,101,32,114,117,110,45,116,105,109,101,32,115,121,115,116,101,109,46,32,80,114,101,45,108,111,97,100,101,100,32,109,111,100,117,108,101,115,32,97,114,101,32,69,114,108,97,110,103,32,109,111,100,117,108,101,115,32,116,104,97,116,32,97,114,101,32,110,101,101,100,101,100,32,116,111,32,98,111,111,116,115,116,114,97,112,32,116,104,101,32,115,121,115,116,101,109,32,116,111,32,108,111,97,100,32,116,104,101,32,102,105,114,115,116,32,69,114,108,97,110,103,32,109,111,100,117,108,101,115,32,102,114,111,109,32,101,105,116,104,101,114,32,100,105,115,107,32,111,114,32,98,121,32,117,115,105,110,103,32>>,{a,[{href,<<107,101,114,110,101,108,58,101,114,108,95,98,111,111,116,95,115,101,114,118,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,95,98,111,111,116,95,115,101,114,118,101,114>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,48,49,56>>,signature => [{attribute,{1721,2},spec,{{pre_loaded,0},[{type,{1721,17},'fun',[{type,{1721,17},product,[]},{type,{1721,23},list,[{type,{1721,24},module,[]}]}]}]}}]}},{{function,process_display,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1726}],[<<112,114,111,99,101,115,115,95,100,105,115,112,108,97,121,47,50>>],#{<<101,110>> => [{p,[],[<<87,114,105,116,101,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100>>]},<<32,111,110,32,115,116,97,110,100,97,114,100,32,101,114,114,111,114,46,32,84,104,101,32,111,110,108,121,32,97,108,108,111,119,101,100,32,118,97,108,117,101,32,102,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32>>,{code,[],[<<98,97,99,107,116,114,97,99,101>>]},<<44,32,119,104,105,99,104,32,115,104,111,119,115,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32,116,104,101,32,99,97,108,108,32,115,116,97,99,107,44,32,105,110,99,108,117,100,105,110,103,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,99,97,108,108,32,99,104,97,105,110,44,32,119,105,116,104,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,112,114,105,110,116,101,100,32,102,105,114,115,116,46,32,84,104,101,32,102,111,114,109,97,116,32,111,102,32,116,104,101,32,111,117,116,112,117,116,32,105,115,32,110,111,116,32,102,117,114,116,104,101,114,32,100,101,102,105,110,101,100,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,48,51,48>>,signature => [{attribute,{1726,2},spec,{{erlang,process_display,2},[{type,{1726,29},bounded_fun,[{type,{1726,29},'fun',[{type,{1726,29},product,[{var,{1726,30},'Pid'},{var,{1726,35},'Type'}]},{atom,{1726,44},true}]},[{type,{1727,7},constraint,[{atom,{1727,7},is_subtype},[{var,{1727,7},'Pid'},{type,{1727,14},pid,[]}]]},{type,{1728,7},constraint,[{atom,{1728,7},is_subtype},[{var,{1728,7},'Type'},{atom,{1728,15},backtrace}]]}]]}]}}]}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2419}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<87,104,101,110,32>>,{code,[],[<<116,114,97,112,95,101,120,105,116>>]},<<32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,101,120,105,116,32,115,105,103,110,97,108,115,32,97,114,114,105,118,105,110,103,32,116,111,32,97,32,112,114,111,99,101,115,115,32,97,114,101,32,99,111,110,118,101,114,116,101,100,32,116,111,32>>,{code,[],[<<123,39,69,88,73,84,39,44,32,70,114,111,109,44,32,82,101,97,115,111,110,125>>]},<<32,109,101,115,115,97,103,101,115,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,114,101,99,101,105,118,101,100,32,97,115,32,111,114,100,105,110,97,114,121,32,109,101,115,115,97,103,101,115,46,32,73,102,32>>,{code,[],[<<116,114,97,112,95,101,120,105,116>>]},<<32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,116,104,101,32,112,114,111,99,101,115,115,32,101,120,105,116,115,32,105,102,32,105,116,32,114,101,99,101,105,118,101,115,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,111,116,104,101,114,32,116,104,97,110,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,97,110,100,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,105,115,32,112,114,111,112,97,103,97,116,101,100,32,116,111,32,105,116,115,32,108,105,110,107,101,100,32,112,114,111,99,101,115,115,101,115,46,32,65,112,112,108,105,99,97,116,105,111,110,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,110,111,114,109,97,108,108,121,32,110,111,116,32,116,111,32,116,114,97,112,32,101,120,105,116,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,105,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,120,105,116,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,48,52,52>>,signature => [{attribute,{2419,2},spec,{{process_flag,2},[{type,{2419,19},bounded_fun,[{type,{2419,19},'fun',[{type,{2419,19},product,[{atom,{2419,20},trap_exit},{var,{2419,31},'Boolean'}]},{var,{2419,43},'OldBoolean'}]},[{type,{2420,7},constraint,[{atom,{2420,7},is_subtype},[{var,{2420,7},'Boolean'},{type,{2420,18},boolean,[]}]]},{type,{2421,7},constraint,[{atom,{2421,7},is_subtype},[{var,{2421,7},'OldBoolean'},{type,{2421,21},boolean,[]}]]}]]}]}}]}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2419}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<85,115,101,100,32,98,121,32,97,32,112,114,111,99,101,115,115,32,116,111,32,114,101,100,101,102,105,110,101,32,116,104,101,32,101,114,114,111,114,32,104,97,110,100,108,101,114,32,102,111,114,32,117,110,100,101,102,105,110,101,100,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,32,97,110,100,32,117,110,100,101,102,105,110,101,100,32,114,101,103,105,115,116,101,114,101,100,32,112,114,111,99,101,115,115,101,115,46,32,73,110,101,120,112,101,114,105,101,110,99,101,100,32,117,115,101,114,115,32,97,114,101,32,110,111,116,32,116,111,32,117,115,101,32,116,104,105,115,32,102,108,97,103,44,32,97,115,32,99,111,100,101,32,97,117,116,111,45,108,111,97,100,105,110,103,32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,99,111,114,114,101,99,116,32,111,112,101,114,97,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103,32,109,111,100,117,108,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,48,54,50>>,signature => [{attribute,{2419,2},spec,{{process_flag,2},[{type,{2422,19},bounded_fun,[{type,{2422,19},'fun',[{type,{2422,19},product,[{atom,{2422,20},error_handler},{var,{2422,35},'Module'}]},{var,{2422,46},'OldModule'}]},[{type,{2423,7},constraint,[{atom,{2423,7},is_subtype},[{var,{2423,7},'Module'},{type,{2423,17},atom,[]}]]},{type,{2424,7},constraint,[{atom,{2424,7},is_subtype},[{var,{2424,7},'OldModule'},{type,{2424,20},atom,[]}]]}]]}]}}]}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2419}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,103,101,110,101,114,97,116,105,111,110,97,108,32,99,111,108,108,101,99,116,105,111,110,115,32,98,101,102,111,114,101,32,102,111,114,99,105,110,103,32,97,32,102,117,108,108,115,119,101,101,112,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,48,55,54>>,signature => [{attribute,{2419,2},spec,{{process_flag,2},[{type,{2425,19},bounded_fun,[{type,{2425,19},'fun',[{type,{2425,19},product,[{atom,{2425,20},fullsweep_after},{var,{2425,37},'FullsweepAfter'}]},{var,{2425,56},'OldFullsweepAfter'}]},[{type,{2426,7},constraint,[{atom,{2426,7},is_subtype},[{var,{2426,7},'FullsweepAfter'},{type,{2426,25},non_neg_integer,[]}]]},{type,{2427,7},constraint,[{atom,{2427,7},is_subtype},[{var,{2427,7},'OldFullsweepAfter'},{type,{2427,28},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,48>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2419}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,116,104,101,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,48,56,55>>,signature => [{attribute,{2419,2},spec,{{process_flag,2},[{type,{2428,19},bounded_fun,[{type,{2428,19},'fun',[{type,{2428,19},product,[{atom,{2428,20},min_heap_size},{var,{2428,35},'MinHeapSize'}]},{var,{2428,51},'OldMinHeapSize'}]},[{type,{2429,7},constraint,[{atom,{2429,7},is_subtype},[{var,{2429,7},'MinHeapSize'},{type,{2429,22},non_neg_integer,[]}]]},{type,{2430,7},constraint,[{atom,{2430,7},is_subtype},[{var,{2430,7},'OldMinHeapSize'},{type,{2430,25},non_neg_integer,[]}]]}]]}]}}]}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2419}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,116,104,101,32,109,105,110,105,109,117,109,32,98,105,110,97,114,121,32,118,105,114,116,117,97,108,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,48,57,56>>,signature => [{attribute,{2419,2},spec,{{process_flag,2},[{type,{2431,19},bounded_fun,[{type,{2431,19},'fun',[{type,{2431,19},product,[{atom,{2431,20},min_bin_vheap_size},{var,{2431,40},'MinBinVHeapSize'}]},{var,{2431,60},'OldMinBinVHeapSize'}]},[{type,{2432,7},constraint,[{atom,{2432,7},is_subtype},[{var,{2432,7},'MinBinVHeapSize'},{type,{2432,26},non_neg_integer,[]}]]},{type,{2433,7},constraint,[{atom,{2433,7},is_subtype},[{var,{2433,7},'OldMinBinVHeapSize'},{type,{2433,29},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,51,66,48,52>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2419}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]}]},{p,[],[<<84,104,105,115,32,102,108,97,103,32,115,101,116,115,32,116,104,101,32,109,97,120,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,73,102,32>>,{code,[],[<<77,97,120,72,101,97,112,83,105,122,101>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,44,32,116,104,101,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<107,105,108,108>>]},<<32,97,110,100,32>>,{code,[],[<<101,114,114,111,114,95,108,111,103,103,101,114>>]},<<32,97,114,101,32,117,115,101,100,46>>]},{dl,[],[{dt,[],[{code,[],[<<115,105,122,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,109,97,120,105,109,117,109,32,115,105,122,101,32,105,110,32,119,111,114,100,115,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32,73,102,32,115,101,116,32,116,111,32,122,101,114,111,44,32,116,104,101,32,104,101,97,112,32,115,105,122,101,32,108,105,109,105,116,32,105,115,32,100,105,115,97,98,108,101,100,46,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,115,32,98,101,32,116,104,114,111,119,110,32,105,102,32,116,104,101,32,118,97,108,117,101,32,105,115,32,115,109,97,108,108,101,114,32,116,104,97,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,105,110,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,105,110,95,104,101,97,112,95,115,105,122,101>>]}]},<<46,32,84,104,101,32,115,105,122,101,32,99,104,101,99,107,32,105,115,32,111,110,108,121,32,100,111,110,101,32,119,104,101,110,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,116,114,105,103,103,101,114,101,100,46>>]},{p,[],[{code,[],[<<115,105,122,101>>]},<<32,105,115,32,116,104,101,32,101,110,116,105,114,101,32,104,101,97,112,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,119,104,101,110,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,116,114,105,103,103,101,114,101,100,46,32,84,104,105,115,32,105,110,99,108,117,100,101,115,32,97,108,108,32,103,101,110,101,114,97,116,105,111,110,97,108,32,104,101,97,112,115,44,32,116,104,101,32,112,114,111,99,101,115,115,32,115,116,97,99,107,44,32,97,110,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<109,101,115,115,97,103,101,115,32,116,104,97,116,32,97,114,101,32,99,111,110,115,105,100,101,114,101,100,32,116,111,32,98,101,32,112,97,114,116,32,111,102,32,116,104,101,32,104,101,97,112>>]},<<44,32,97,110,100,32,97,110,121,32,101,120,116,114,97,32,109,101,109,111,114,121,32,116,104,97,116,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,111,114,32,110,101,101,100,115,32,100,117,114,105,110,103,32,99,111,108,108,101,99,116,105,111,110,46>>]},{p,[],[{code,[],[<<115,105,122,101>>]},<<32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,99,97,110,32,98,101,32,114,101,116,114,105,101,118,101,100,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,105,110,102,111,95,116,111,116,97,108,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,112,114,111,99,101,115,115,95,105,110,102,111,40,80,105,100,44,32,116,111,116,97,108,95,104,101,97,112,95,115,105,122,101,41>>]}]},<<44,32,111,114,32,98,121,32,97,100,100,105,110,103,32>>,{code,[],[<<104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]},<<44,32>>,{code,[],[<<111,108,100,95,104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]},<<32,97,110,100,32>>,{code,[],[<<109,98,117,102,95,115,105,122,101>>]},<<32,102,114,111,109,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,105,110,102,111,95,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,95,105,110,102,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,112,114,111,99,101,115,115,95,105,110,102,111,40,80,105,100,44,32,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,95,105,110,102,111,41>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<107,105,108,108>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32,115,101,116,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,115,101,110,100,115,32,97,110,32,117,110,116,114,97,112,112,97,98,108,101,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<107,105,108,108>>]},<<32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,102,32,116,104,101,32,109,97,120,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,105,115,32,114,101,97,99,104,101,100,46,32,84,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,116,104,97,116,32,116,114,105,103,103,101,114,101,100,32,116,104,101,32>>,{code,[],[<<107,105,108,108>>]},<<32,105,115,32,110,111,116,32,99,111,109,112,108,101,116,101,100,44,32,105,110,115,116,101,97,100,32,116,104,101,32,112,114,111,99,101,115,115,32,101,120,105,116,115,32,97,115,32,115,111,111,110,32,97,115,32,112,111,115,115,105,98,108,101,46,32,87,104,101,110,32,115,101,116,32,116,111,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,110,111,32,101,120,105,116,32,115,105,103,110,97,108,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,44,32,105,110,115,116,101,97,100,32,105,116,32,99,111,110,116,105,110,117,101,115,32,101,120,101,99,117,116,105,110,103,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<107,105,108,108>>]},<<32,105,115,32,110,111,116,32,100,101,102,105,110,101,100,32,105,110,32,116,104,101,32,109,97,112,44,32,116,104,101,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<46,32,73,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,98,121,32,101,105,116,104,101,114,32,111,112,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,97,120,107>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<43,104,109,97,120,107>>]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<44,32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,77,97,120,72,101,97,112,83,105,122,101,41>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<101,114,114,111,114,95,108,111,103,103,101,114>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32,115,101,116,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,108,111,103,115,32,97,110,32,101,114,114,111,114,32,101,118,101,110,116,32,118,105,97,32>>,{a,[{href,<<107,101,114,110,101,108,58,108,111,103,103,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<108,111,103,103,101,114>>]}]},<<44,32,99,111,110,116,97,105,110,105,110,103,32,100,101,116,97,105,108,115,32,97,98,111,117,116,32,116,104,101,32,112,114,111,99,101,115,115,32,119,104,101,110,32,116,104,101,32,109,97,120,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,105,115,32,114,101,97,99,104,101,100,46,32,79,110,101,32,108,111,103,32,101,118,101,110,116,32,105,115,32,115,101,110,116,32,101,97,99,104,32,116,105,109,101,32,116,104,101,32,108,105,109,105,116,32,105,115,32,114,101,97,99,104,101,100,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<101,114,114,111,114,95,108,111,103,103,101,114>>]},<<32,105,115,32,110,111,116,32,100,101,102,105,110,101,100,32,105,110,32,116,104,101,32,109,97,112,44,32,116,104,101,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,105,115,32,117,115,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<46,32,73,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,98,121,32,101,105,116,104,101,114,32,116,104,101,32,111,112,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,97,120,101,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<43,104,109,97,120,101,108>>]},<<32,105,110,116,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<44,32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,77,97,120,72,101,97,112,83,105,122,101,41>>]}]},<<46>>]}]}]},{p,[],[<<84,104,101,32,104,101,97,112,32,115,105,122,101,32,111,102,32,97,32,112,114,111,99,101,115,115,32,105,115,32,113,117,105,116,101,32,104,97,114,100,32,116,111,32,112,114,101,100,105,99,116,44,32,101,115,112,101,99,105,97,108,108,121,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,116,104,97,116,32,105,115,32,117,115,101,100,32,100,117,114,105,110,103,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46,32,87,104,101,110,32,99,111,110,116,101,109,112,108,97,116,105,110,103,32,117,115,105,110,103,32,116,104,105,115,32,111,112,116,105,111,110,44,32,105,116,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,102,105,114,115,116,32,114,117,110,32,105,116,32,105,110,32,112,114,111,100,117,99,116,105,111,110,32,119,105,116,104,32>>,{code,[],[<<107,105,108,108>>]},<<32,115,101,116,32,116,111,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,97,110,100,32,105,110,115,112,101,99,116,32,116,104,101,32,108,111,103,32,101,118,101,110,116,115,32,116,111,32,115,101,101,32,119,104,97,116,32,116,104,101,32,110,111,114,109,97,108,32,112,101,97,107,32,115,105,122,101,115,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,101,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,105,115,32,97,110,100,32,116,104,101,110,32,116,117,110,101,32,116,104,101,32,118,97,108,117,101,32,97,99,99,111,114,100,105,110,103,108,121,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,49,48,57>>,signature => [{attribute,{2419,2},spec,{{process_flag,2},[{type,{2434,19},bounded_fun,[{type,{2434,19},'fun',[{type,{2434,19},product,[{atom,{2434,20},max_heap_size},{var,{2434,35},'MaxHeapSize'}]},{var,{2434,51},'OldMaxHeapSize'}]},[{type,{2435,7},constraint,[{atom,{2435,7},is_subtype},[{var,{2435,7},'MaxHeapSize'},{user_type,{2435,22},max_heap_size,[]}]]},{type,{2436,7},constraint,[{atom,{2436,7},is_subtype},[{var,{2436,7},'OldMaxHeapSize'},{user_type,{2436,25},max_heap_size,[]}]]}]]}]}}],since => <<79,84,80,32,49,57,46,48>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2419}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>}],[]}]},{p,[],[<<68,101,116,101,114,109,105,110,101,115,32,104,111,119,32,109,101,115,115,97,103,101,115,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,97,114,101,32,115,116,111,114,101,100,44,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<111,102,102,95,104,101,97,112>>]}]},{dd,[],[{p,[],[{em,[],[<<65,108,108>>]},<<32,109,101,115,115,97,103,101,115,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,119,105,108,108,32,98,101,32,115,116,111,114,101,100,32,111,117,116,115,105,100,101,32,116,104,101,32,112,114,111,99,101,115,115,32,104,101,97,112,46,32,84,104,105,115,32,105,109,112,108,105,101,115,32,116,104,97,116,32>>,{em,[],[<<110,111>>]},<<32,109,101,115,115,97,103,101,115,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,119,105,108,108,32,98,101,32,112,97,114,116,32,111,102,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<111,110,95,104,101,97,112>>]}]},{dd,[],[{p,[],[<<65,108,108,32,109,101,115,115,97,103,101,115,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,119,105,108,108,32,101,118,101,110,116,117,97,108,108,121,32,98,101,32,112,108,97,99,101,100,32,111,110,32,116,104,101,32,112,114,111,99,101,115,115,32,104,101,97,112,46,32,84,104,101,121,32,99,97,110,44,32,104,111,119,101,118,101,114,44,32,98,101,32,116,101,109,112,111,114,97,114,105,108,121,32,115,116,111,114,101,100,32,111,102,102,32,116,104,101,32,104,101,97,112,46,32,84,104,105,115,32,105,115,32,104,111,119,32,109,101,115,115,97,103,101,115,32,104,97,118,101,32,97,108,119,97,121,115,32,98,101,101,110,32,115,116,111,114,101,100,32,117,112,32,117,110,116,105,108,32,69,82,84,83,32,56,46,48,46>>]}]}]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32,116,104,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,113,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,113,100>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,109,97,121,32,112,111,116,101,110,116,105,97,108,108,121,32,97,99,99,117,109,117,108,97,116,101,32,97,32,108,97,114,103,101,32,110,117,109,98,101,114,32,111,102,32,109,101,115,115,97,103,101,115,32,105,110,32,105,116,115,32,113,117,101,117,101,32,105,116,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,115,101,116,32,116,104,101,32,102,108,97,103,32,118,97,108,117,101,32,116,111,32>>,{code,[],[<<111,102,102,95,104,101,97,112>>]},<<46,32,84,104,105,115,32,105,115,32,100,117,101,32,116,111,32,116,104,101,32,102,97,99,116,32,116,104,97,116,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,97,32,112,114,111,99,101,115,115,32,116,104,97,116,32,104,97,115,32,97,32,108,97,114,103,101,32,110,117,109,98,101,114,32,111,102,32,109,101,115,115,97,103,101,115,32,115,116,111,114,101,100,32,111,110,32,116,104,101,32,104,101,97,112,32,99,97,110,32,98,101,99,111,109,101,32,101,120,116,114,101,109,101,108,121,32,101,120,112,101,110,115,105,118,101,32,97,110,100,32,116,104,101,32,112,114,111,99,101,115,115,32,99,97,110,32,99,111,110,115,117,109,101,32,108,97,114,103,101,32,97,109,111,117,110,116,115,32,111,102,32,109,101,109,111,114,121,46,32,84,104,101,32,112,101,114,102,111,114,109,97,110,99,101,32,111,102,32,116,104,101,32,97,99,116,117,97,108,32,109,101,115,115,97,103,101,32,112,97,115,115,105,110,103,32,105,115,44,32,104,111,119,101,118,101,114,44,32,103,101,110,101,114,97,108,108,121,32,98,101,116,116,101,114,32,119,104,101,110,32,116,104,101,32,102,108,97,103,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<111,110,95,104,101,97,112>>]},<<46>>]},{p,[],[<<67,104,97,110,103,105,110,103,32,116,104,101,32,102,108,97,103,32,118,97,108,117,101,32,99,97,117,115,101,115,32,97,110,121,32,101,120,105,115,116,105,110,103,32,109,101,115,115,97,103,101,115,32,116,111,32,98,101,32,109,111,118,101,100,46,32,84,104,101,32,109,111,118,101,32,111,112,101,114,97,116,105,111,110,32,105,115,32,105,110,105,116,105,97,116,101,100,44,32,98,117,116,32,110,111,116,32,110,101,99,101,115,115,97,114,105,108,121,32,99,111,109,112,108,101,116,101,100,44,32,98,121,32,116,104,101,32,116,105,109,101,32,116,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,49,56,51>>,signature => [{attribute,{2419,2},spec,{{process_flag,2},[{type,{2437,19},bounded_fun,[{type,{2437,19},'fun',[{type,{2437,19},product,[{atom,{2437,20},message_queue_data},{var,{2437,40},'MQD'}]},{var,{2437,48},'OldMQD'}]},[{type,{2438,7},constraint,[{atom,{2438,7},is_subtype},[{var,{2438,7},'MQD'},{user_type,{2438,14},message_queue_data,[]}]]},{type,{2439,7},constraint,[{atom,{2439,7},is_subtype},[{var,{2439,7},'OldMQD'},{user_type,{2439,17},message_queue_data,[]}]]}]]}]}}],since => <<79,84,80,32,49,57,46,48>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2419}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<112,114,105,111,114,105,116,121,95,108,101,118,101,108>>}],[]}]},{p,[],[<<83,101,116,115,32,116,104,101,32,112,114,111,99,101,115,115,32,112,114,105,111,114,105,116,121,46,32>>,{code,[],[<<76,101,118,101,108>>]},<<32,105,115,32,97,110,32,97,116,111,109,46,32,70,111,117,114,32,112,114,105,111,114,105,116,121,32,108,101,118,101,108,115,32,101,120,105,115,116,58,32>>,{code,[],[<<108,111,119>>]},<<44,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<44,32>>,{code,[],[<<104,105,103,104>>]},<<44,32,97,110,100,32>>,{code,[],[<<109,97,120>>]},<<46,32,68,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<80,114,105,111,114,105,116,121,32,108,101,118,101,108,32>>,{code,[],[<<109,97,120>>]},<<32,105,115,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,44,32,97,110,100,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,116,111,32,98,101,32,117,115,101,100,32,98,121,32,111,116,104,101,114,115,46>>]}]},{p,[],[<<73,110,116,101,114,110,97,108,108,121,32,105,110,32,101,97,99,104,32,112,114,105,111,114,105,116,121,32,108,101,118,101,108,44,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,115,99,104,101,100,117,108,101,100,32,105,110,32,97,32,114,111,117,110,100,32,114,111,98,105,110,32,102,97,115,104,105,111,110,46>>]},{p,[],[<<69,120,101,99,117,116,105,111,110,32,111,102,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,97,110,100,32>>,{code,[],[<<108,111,119>>]},<<32,97,114,101,32,105,110,116,101,114,108,101,97,118,101,100,46,32,80,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<108,111,119>>]},<<32,97,114,101,32,115,101,108,101,99,116,101,100,32,102,111,114,32,101,120,101,99,117,116,105,111,110,32,108,101,115,115,32,102,114,101,113,117,101,110,116,108,121,32,116,104,97,110,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<46>>]},{p,[],[<<87,104,101,110,32,114,117,110,110,97,98,108,101,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<104,105,103,104>>]},<<32,101,120,105,115,116,44,32,110,111,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<108,111,119>>]},<<32,111,114,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,97,114,101,32,115,101,108,101,99,116,101,100,32,102,111,114,32,101,120,101,99,117,116,105,111,110,46,32,78,111,116,105,99,101,32,104,111,119,101,118,101,114,32,116,104,97,116,32,116,104,105,115,32,100,111,101,115,32>>,{em,[],[<<110,111,116>>]},<<32,109,101,97,110,32,116,104,97,116,32,110,111,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<108,111,119>>]},<<32,111,114,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,99,97,110,32,114,117,110,32,119,104,101,110,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,114,117,110,110,105,110,103,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<104,105,103,104>>]},<<46,32,87,104,101,110,32,117,115,105,110,103,32,109,117,108,116,105,112,108,101,32,115,99,104,101,100,117,108,101,114,115,44,32,109,111,114,101,32,112,114,111,99,101,115,115,101,115,32,99,97,110,32,98,101,32,114,117,110,110,105,110,103,32,105,110,32,112,97,114,97,108,108,101,108,32,116,104,97,110,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<104,105,103,104>>]},<<46,32,84,104,97,116,32,105,115,44,32,97,32>>,{code,[],[<<108,111,119>>]},<<32,97,110,100,32,97,32>>,{code,[],[<<104,105,103,104>>]},<<32,112,114,105,111,114,105,116,121,32,112,114,111,99,101,115,115,32,99,97,110,32,101,120,101,99,117,116,101,32,97,116,32,116,104,101,32,115,97,109,101,32,116,105,109,101,46>>]},{p,[],[<<87,104,101,110,32,114,117,110,110,97,98,108,101,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<109,97,120>>]},<<32,101,120,105,115,116,44,32,110,111,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<108,111,119>>]},<<44,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<44,32,111,114,32>>,{code,[],[<<104,105,103,104>>]},<<32,97,114,101,32,115,101,108,101,99,116,101,100,32,102,111,114,32,101,120,101,99,117,116,105,111,110,46,32,65,115,32,119,105,116,104,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<104,105,103,104>>]},<<44,32,112,114,111,99,101,115,115,101,115,32,111,110,32,108,111,119,101,114,32,112,114,105,111,114,105,116,105,101,115,32,99,97,110,32,101,120,101,99,117,116,101,32,105,110,32,112,97,114,97,108,108,101,108,32,119,105,116,104,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<109,97,120>>]},<<46>>]},{p,[],[<<83,99,104,101,100,117,108,105,110,103,32,105,115,32,112,114,101,45,101,109,112,116,105,118,101,46,32,82,101,103,97,114,100,108,101,115,115,32,111,102,32,112,114,105,111,114,105,116,121,44,32,97,32,112,114,111,99,101,115,115,32,105,115,32,112,114,101,45,101,109,112,116,101,100,32,119,104,101,110,32,105,116,32,104,97,115,32,99,111,110,115,117,109,101,100,32,109,111,114,101,32,116,104,97,110,32,97,32,99,101,114,116,97,105,110,32,110,117,109,98,101,114,32,111,102,32,114,101,100,117,99,116,105,111,110,115,32,115,105,110,99,101,32,116,104,101,32,108,97,115,116,32,116,105,109,101,32,105,116,32,119,97,115,32,115,101,108,101,99,116,101,100,32,102,111,114,32,101,120,101,99,117,116,105,111,110,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<68,111,32,110,111,116,32,100,101,112,101,110,100,32,111,110,32,116,104,101,32,115,99,104,101,100,117,108,105,110,103,32,116,111,32,114,101,109,97,105,110,32,101,120,97,99,116,108,121,32,97,115,32,105,116,32,105,115,32,116,111,100,97,121,46,32,83,99,104,101,100,117,108,105,110,103,32,105,115,32,108,105,107,101,108,121,32,116,111,32,98,101,32,99,104,97,110,103,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,32,116,111,32,117,115,101,32,97,118,97,105,108,97,98,108,101,32,112,114,111,99,101,115,115,111,114,32,99,111,114,101,115,32,98,101,116,116,101,114,46>>]}]},{p,[],[<<84,104,101,114,101,32,105,115,32>>,{em,[],[<<110,111>>]},<<32,97,117,116,111,109,97,116,105,99,32,109,101,99,104,97,110,105,115,109,32,102,111,114,32,97,118,111,105,100,105,110,103,32,112,114,105,111,114,105,116,121,32,105,110,118,101,114,115,105,111,110,44,32,115,117,99,104,32,97,115,32,112,114,105,111,114,105,116,121,32,105,110,104,101,114,105,116,97,110,99,101,32,111,114,32,112,114,105,111,114,105,116,121,32,99,101,105,108,105,110,103,115,46,32,87,104,101,110,32,117,115,105,110,103,32,112,114,105,111,114,105,116,105,101,115,44,32,116,97,107,101,32,116,104,105,115,32,105,110,116,111,32,97,99,99,111,117,110,116,32,97,110,100,32,104,97,110,100,108,101,32,115,117,99,104,32,115,99,101,110,97,114,105,111,115,32,98,121,32,121,111,117,114,115,101,108,102,46>>]},{p,[],[<<77,97,107,105,110,103,32,99,97,108,108,115,32,102,114,111,109,32,97,32>>,{code,[],[<<104,105,103,104>>]},<<32,112,114,105,111,114,105,116,121,32,112,114,111,99,101,115,115,32,105,110,116,111,32,99,111,100,101,32,116,104,97,116,32,121,111,117,32,104,97,115,32,110,111,32,99,111,110,116,114,111,108,32,111,118,101,114,32,99,97,110,32,99,97,117,115,101,32,116,104,101,32>>,{code,[],[<<104,105,103,104>>]},<<32,112,114,105,111,114,105,116,121,32,112,114,111,99,101,115,115,32,116,111,32,119,97,105,116,32,102,111,114,32,97,32,112,114,111,99,101,115,115,32,119,105,116,104,32,108,111,119,101,114,32,112,114,105,111,114,105,116,121,46,32,84,104,97,116,32,105,115,44,32,101,102,102,101,99,116,105,118,101,108,121,32,100,101,99,114,101,97,115,105,110,103,32,116,104,101,32,112,114,105,111,114,105,116,121,32,111,102,32,116,104,101,32>>,{code,[],[<<104,105,103,104>>]},<<32,112,114,105,111,114,105,116,121,32,112,114,111,99,101,115,115,32,100,117,114,105,110,103,32,116,104,101,32,99,97,108,108,46,32,69,118,101,110,32,105,102,32,116,104,105,115,32,105,115,32,110,111,116,32,116,104,101,32,99,97,115,101,32,119,105,116,104,32,111,110,101,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,99,111,100,101,32,116,104,97,116,32,121,111,117,32,104,97,118,101,32,110,111,32,99,111,110,116,114,111,108,32,111,118,101,114,44,32,105,116,32,99,97,110,32,98,101,32,116,104,101,32,99,97,115,101,32,105,110,32,97,32,102,117,116,117,114,101,32,118,101,114,115,105,111,110,32,111,102,32,105,116,46,32,84,104,105,115,32,99,97,110,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,111,99,99,117,114,32,105,102,32,97,32>>,{code,[],[<<104,105,103,104>>]},<<32,112,114,105,111,114,105,116,121,32,112,114,111,99,101,115,115,32,116,114,105,103,103,101,114,115,32,99,111,100,101,32,108,111,97,100,105,110,103,44,32,97,115,32,116,104,101,32,99,111,100,101,32,115,101,114,118,101,114,32,114,117,110,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<46>>]},{p,[],[<<79,116,104,101,114,32,112,114,105,111,114,105,116,105,101,115,32,116,104,97,110,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,97,114,101,32,110,111,114,109,97,108,108,121,32,110,111,116,32,110,101,101,100,101,100,46,32,87,104,101,110,32,111,116,104,101,114,32,112,114,105,111,114,105,116,105,101,115,32,97,114,101,32,117,115,101,100,44,32,117,115,101,32,116,104,101,109,32,119,105,116,104,32,99,97,114,101,44,32>>,{em,[],[<<101,115,112,101,99,105,97,108,108,121>>]},<<32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<104,105,103,104>>]},<<46,32,65,32,112,114,111,99,101,115,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<104,105,103,104>>]},<<32,105,115,32,111,110,108,121,32,116,111,32,112,101,114,102,111,114,109,32,119,111,114,107,32,102,111,114,32,115,104,111,114,116,32,112,101,114,105,111,100,115,46,32,66,117,115,121,32,108,111,111,112,105,110,103,32,102,111,114,32,108,111,110,103,32,112,101,114,105,111,100,115,32,105,110,32,97,32>>,{code,[],[<<104,105,103,104>>]},<<32,112,114,105,111,114,105,116,121,32,112,114,111,99,101,115,115,32,99,97,117,115,101,115,32,109,111,115,116,32,108,105,107,101,108,121,32,112,114,111,98,108,101,109,115,44,32,97,115,32,105,109,112,111,114,116,97,110,116,32,79,84,80,32,115,101,114,118,101,114,115,32,114,117,110,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,50,50,53>>,signature => [{attribute,{2419,2},spec,{{process_flag,2},[{type,{2440,19},bounded_fun,[{type,{2440,19},'fun',[{type,{2440,19},product,[{atom,{2440,20},priority},{var,{2440,30},'Level'}]},{var,{2440,40},'OldLevel'}]},[{type,{2441,7},constraint,[{atom,{2441,7},is_subtype},[{var,{2441,7},'Level'},{user_type,{2441,16},priority_level,[]}]]},{type,{2442,7},constraint,[{atom,{2442,7},is_subtype},[{var,{2442,7},'OldLevel'},{user_type,{2442,19},priority_level,[]}]]}]]}]}}]}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2419}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<78>>]},<<32,109,117,115,116,32,98,101,32,97,110,32,105,110,116,101,103,101,114,32,105,110,32,116,104,101,32,105,110,116,101,114,118,97,108,32,48,46,46,49,48,48,48,48,46,32,73,102,32>>,{code,[],[<<78>>]},<<32,62,32,48,44,32,99,97,108,108,32,115,97,118,105,110,103,32,105,115,32,109,97,100,101,32,97,99,116,105,118,101,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,109,101,97,110,115,32,116,104,97,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32>>,{code,[],[<<78>>]},<<32,109,111,115,116,32,114,101,99,101,110,116,32,103,108,111,98,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,44,32,66,73,70,32,99,97,108,108,115,44,32,115,101,110,100,115,44,32,97,110,100,32,114,101,99,101,105,118,101,115,32,109,97,100,101,32,98,121,32,116,104,101,32,112,114,111,99,101,115,115,32,97,114,101,32,115,97,118,101,100,32,105,110,32,97,32,108,105,115,116,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,114,101,116,114,105,101,118,101,100,32,119,105,116,104,32>>,{code,[],[<<112,114,111,99,101,115,115,95,105,110,102,111,40,80,105,100,44,32,108,97,115,116,95,99,97,108,108,115,41>>]},<<46,32,65,32,103,108,111,98,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,32,105,115,32,111,110,101,32,105,110,32,119,104,105,99,104,32,116,104,101,32,109,111,100,117,108,101,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,101,120,112,108,105,99,105,116,108,121,32,109,101,110,116,105,111,110,101,100,46,32,79,110,108,121,32,97,32,102,105,120,101,100,32,97,109,111,117,110,116,32,111,102,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32,115,97,118,101,100,44,32,97,115,32,102,111,108,108,111,119,115,58>>]},{ul,[],[{li,[],[{p,[],[<<65,32,116,117,112,108,101,32>>,{code,[],[<<123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,125>>]},<<32,102,111,114,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115>>]}]},{li,[],[{p,[],[<<84,104,101,32,97,116,111,109,115,32>>,{code,[],[<<115,101,110,100>>]},<<44,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<44,32,97,110,100,32>>,{code,[],[<<116,105,109,101,111,117,116>>]},<<32,102,111,114,32,115,101,110,100,115,32,97,110,100,32,114,101,99,101,105,118,101,115,32,40>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<32,119,104,101,110,32,97,32,109,101,115,115,97,103,101,32,105,115,32,114,101,99,101,105,118,101,100,32,97,110,100,32>>,{code,[],[<<116,105,109,101,111,117,116>>]},<<32,119,104,101,110,32,97,32,114,101,99,101,105,118,101,32,116,105,109,101,115,32,111,117,116,41>>]}]}]},{p,[],[<<73,102,32>>,{code,[],[<<78>>]},<<32,61,32,48,44,32,99,97,108,108,32,115,97,118,105,110,103,32,105,115,32,100,105,115,97,98,108,101,100,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,46,32,87,104,101,110,101,118,101,114,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,99,97,108,108,32,115,97,118,105,110,103,32,108,105,115,116,32,105,115,32,115,101,116,44,32,105,116,115,32,99,111,110,116,101,110,116,115,32,97,114,101,32,114,101,115,101,116,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,50,57,56>>,signature => [{attribute,{2419,2},spec,{{process_flag,2},[{type,{2443,19},bounded_fun,[{type,{2443,19},'fun',[{type,{2443,19},product,[{atom,{2443,20},save_calls},{var,{2443,32},'N'}]},{var,{2443,38},'OldN'}]},[{type,{2444,7},constraint,[{atom,{2444,7},is_subtype},[{var,{2444,7},'N'},{type,{2444,12},range,[{integer,{2444,12},0},{integer,{2444,15},10000}]}]]},{type,{2445,7},constraint,[{atom,{2445,7},is_subtype},[{var,{2445,7},'OldN'},{type,{2445,15},range,[{integer,{2445,15},0},{integer,{2445,18},10000}]}]]}]]}]}}]}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2419}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,111,114,32,99,108,101,97,114,115,32,102,108,97,103,32>>,{code,[],[<<115,101,110,115,105,116,105,118,101>>]},<<32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,46,32,87,104,101,110,32,97,32,112,114,111,99,101,115,115,32,104,97,115,32,98,101,101,110,32,109,97,114,107,101,100,32,97,115,32,115,101,110,115,105,116,105,118,101,32,98,121,32,99,97,108,108,105,110,103,32>>,{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,115,101,110,115,105,116,105,118,101,44,32,116,114,117,101,41>>]},<<44,32,102,101,97,116,117,114,101,115,32,105,110,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,116,104,97,116,32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,32,101,120,97,109,105,110,105,110,103,32,116,104,101,32,100,97,116,97,32,111,114,32,105,110,110,101,114,32,119,111,114,107,105,110,103,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,97,114,101,32,115,105,108,101,110,116,108,121,32,100,105,115,97,98,108,101,100,46>>]},{p,[],[<<70,101,97,116,117,114,101,115,32,116,104,97,116,32,97,114,101,32,100,105,115,97,98,108,101,100,32,105,110,99,108,117,100,101,32,40,98,117,116,32,97,114,101,32,110,111,116,32,108,105,109,105,116,101,100,32,116,111,41,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{ul,[],[{li,[],[{p,[],[<<84,114,97,99,105,110,103,46,32,84,114,97,99,101,32,102,108,97,103,115,32,99,97,110,32,115,116,105,108,108,32,98,101,32,115,101,116,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,44,32,98,117,116,32,110,111,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,111,102,32,97,110,121,32,107,105,110,100,32,97,114,101,32,103,101,110,101,114,97,116,101,100,46,32,40,73,102,32,102,108,97,103,32>>,{code,[],[<<115,101,110,115,105,116,105,118,101>>]},<<32,105,115,32,116,117,114,110,101,100,32,111,102,102,44,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,97,114,101,32,97,103,97,105,110,32,103,101,110,101,114,97,116,101,100,32,105,102,32,97,110,121,32,116,114,97,99,101,32,102,108,97,103,115,32,97,114,101,32,115,101,116,46,41>>]}]},{li,[],[{p,[],[<<83,101,113,117,101,110,116,105,97,108,32,116,114,97,99,105,110,103,46,32,84,104,101,32,115,101,113,117,101,110,116,105,97,108,32,116,114,97,99,101,32,116,111,107,101,110,32,105,115,32,112,114,111,112,97,103,97,116,101,100,32,97,115,32,117,115,117,97,108,44,32,98,117,116,32,110,111,32,115,101,113,117,101,110,116,105,97,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,97,114,101,32,103,101,110,101,114,97,116,101,100,46>>]}]}]},{p,[],[{code,[],[<<112,114,111,99,101,115,115,95,105,110,102,111,47,49,44,50>>]},<<32,99,97,110,110,111,116,32,98,101,32,117,115,101,100,32,116,111,32,114,101,97,100,32,111,117,116,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,32,40,98,111,116,104,32,97,114,101,32,114,101,116,117,114,110,101,100,32,97,115,32,101,109,112,116,121,32,108,105,115,116,115,41,46>>]},{p,[],[<<83,116,97,99,107,32,98,97,99,107,45,116,114,97,99,101,115,32,99,97,110,110,111,116,32,98,101,32,100,105,115,112,108,97,121,101,100,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<73,110,32,99,114,97,115,104,32,100,117,109,112,115,44,32,116,104,101,32,115,116,97,99,107,44,32,109,101,115,115,97,103,101,115,44,32,97,110,100,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,32,97,114,101,32,111,109,105,116,116,101,100,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<123,115,97,118,101,95,99,97,108,108,115,44,78,125>>]},<<32,104,97,115,32,98,101,101,110,32,115,101,116,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,44,32,110,111,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,32,97,114,101,32,115,97,118,101,100,32,116,111,32,116,104,101,32,99,97,108,108,32,115,97,118,105,110,103,32,108,105,115,116,46,32,40,84,104,101,32,99,97,108,108,32,115,97,118,105,110,103,32,108,105,115,116,32,105,115,32,110,111,116,32,99,108,101,97,114,101,100,46,32,65,108,115,111,44,32,115,101,110,100,44,32,114,101,99,101,105,118,101,44,32,97,110,100,32,116,105,109,101,45,111,117,116,32,101,118,101,110,116,115,32,97,114,101,32,115,116,105,108,108,32,97,100,100,101,100,32,116,111,32,116,104,101,32,108,105,115,116,46,41>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,51,50,57>>,signature => [{attribute,{2419,2},spec,{{process_flag,2},[{type,{2446,19},bounded_fun,[{type,{2446,19},'fun',[{type,{2446,19},product,[{atom,{2446,20},sensitive},{var,{2446,31},'Boolean'}]},{var,{2446,43},'OldBoolean'}]},[{type,{2447,7},constraint,[{atom,{2447,7},is_subtype},[{var,{2447,7},'Boolean'},{type,{2447,18},boolean,[]}]]},{type,{2448,7},constraint,[{atom,{2448,7},is_subtype},[{var,{2448,7},'OldBoolean'},{type,{2448,21},boolean,[]}]]}]]}]}}]}},{{function,process_flag,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1748}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,51>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,99,101,114,116,97,105,110,32,102,108,97,103,115,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100>>]},<<44,32,105,110,32,116,104,101,32,115,97,109,101,32,109,97,110,110,101,114,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>]}]},<<46,32,82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46,32,84,104,101,32,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<70,108,97,103>>]},<<32,97,114,101,32,111,110,108,121,32,97,32,115,117,98,115,101,116,32,111,102,32,116,104,111,115,101,32,97,108,108,111,119,101,100,32,105,110,32>>,{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>]},<<44,32,110,97,109,101,108,121,32>>,{code,[],[<<115,97,118,101,95,99,97,108,108,115>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,51,54,51>>,signature => [{attribute,{1748,2},spec,{{process_flag,3},[{type,{1748,19},bounded_fun,[{type,{1748,19},'fun',[{type,{1748,19},product,[{var,{1748,20},'Pid'},{var,{1748,25},'Flag'},{var,{1748,31},'Value'}]},{var,{1748,41},'OldValue'}]},[{type,{1749,7},constraint,[{atom,{1749,7},is_subtype},[{var,{1749,7},'Pid'},{type,{1749,14},pid,[]}]]},{type,{1750,7},constraint,[{atom,{1750,7},is_subtype},[{var,{1750,7},'Flag'},{atom,{1750,15},save_calls}]]},{type,{1751,7},constraint,[{atom,{1751,7},is_subtype},[{var,{1751,7},'Value'},{type,{1751,16},non_neg_integer,[]}]]},{type,{1752,7},constraint,[{atom,{1752,7},is_subtype},[{var,{1752,7},'OldValue'},{type,{1752,19},non_neg_integer,[]}]]}]]}]}}]}},{{function,process_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1765}],[<<112,114,111,99,101,115,115,95,105,110,102,111,47,49>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]},{li,[{name,<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>}],[]},{li,[{name,<<112,114,105,111,114,105,116,121,95,108,101,118,101,108>>}],[]},{li,[{name,<<112,114,111,99,101,115,115,95,105,110,102,111,95,114,101,115,117,108,116,95,105,116,101,109>>}],[]},{li,[{name,<<115,116,97,99,107,95,105,116,101,109>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,32,119,105,116,104,32,109,105,115,99,101,108,108,97,110,101,111,117,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,97,108,105,118,101,46>>]},{p,[],[<<84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,32,105,115,32,117,110,100,101,102,105,110,101,100,32,97,110,100,32,97,108,108,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,32,97,114,101,32,110,111,116,32,109,97,110,100,97,116,111,114,121,46,32,84,104,101,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,32,119,105,116,104,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,105,116,101,109,115,32,97,114,101,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,58>>]},{ul,[],[{li,[],[{code,[],[<<99,117,114,114,101,110,116,95,102,117,110,99,116,105,111,110>>]}]},{li,[],[{code,[],[<<105,110,105,116,105,97,108,95,99,97,108,108>>]}]},{li,[],[{code,[],[<<115,116,97,116,117,115>>]}]},{li,[],[{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,108,101,110>>]}]},{li,[],[{code,[],[<<108,105,110,107,115>>]}]},{li,[],[{code,[],[<<100,105,99,116,105,111,110,97,114,121>>]}]},{li,[],[{code,[],[<<116,114,97,112,95,101,120,105,116>>]}]},{li,[],[{code,[],[<<101,114,114,111,114,95,104,97,110,100,108,101,114>>]}]},{li,[],[{code,[],[<<112,114,105,111,114,105,116,121>>]}]},{li,[],[{code,[],[<<103,114,111,117,112,95,108,101,97,100,101,114>>]}]},{li,[],[{code,[],[<<116,111,116,97,108,95,104,101,97,112,95,115,105,122,101>>]}]},{li,[],[{code,[],[<<104,101,97,112,95,115,105,122,101>>]}]},{li,[],[{code,[],[<<115,116,97,99,107,95,115,105,122,101>>]}]},{li,[],[{code,[],[<<114,101,100,117,99,116,105,111,110,115>>]}]},{li,[],[{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>]}]}]},{p,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,104,97,115,32,97,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,44,32,97,108,115,111,32,97,110,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<32,119,105,116,104,32,105,116,101,109,32>>,{code,[],[<<114,101,103,105,115,116,101,114,101,100,95,110,97,109,101>>]},<<32,105,115,32,105,110,99,108,117,100,101,100,46>>]},{p,[],[<<70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,115,112,101,99,105,102,105,99,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,105,110,102,111,47,50>>]}]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32>>,{em,[],[<<100,101,98,117,103,103,105,110,103,32,111,110,108,121>>]},<<46,32,70,111,114,32,97,108,108,32,111,116,104,101,114,32,112,117,114,112,111,115,101,115,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,105,110,102,111,47,50>>]}]},<<46>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,51,55,56>>,signature => [{attribute,{1765,2},spec,{{process_info,1},[{type,{1765,19},bounded_fun,[{type,{1765,19},'fun',[{type,{1765,19},product,[{var,{1765,20},'Pid'}]},{var,{1765,28},'Info'}]},[{type,{1766,7},constraint,[{atom,{1766,7},is_subtype},[{var,{1766,7},'Pid'},{type,{1766,14},pid,[]}]]},{type,{1767,7},constraint,[{atom,{1767,7},is_subtype},[{var,{1767,7},'Info'},{type,{1767,15},union,[{type,{1767,15},list,[{var,{1767,16},'InfoTuple'}]},{atom,{1767,29},undefined}]}]]},{type,{1768,7},constraint,[{atom,{1768,7},is_subtype},[{var,{1768,7},'InfoTuple'},{user_type,{1768,20},process_info_result_item,[]}]]}]]}]}}]}},{{function,process_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2545}],[<<112,114,111,99,101,115,115,95,105,110,102,111,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]},{li,[{name,<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>}],[]},{li,[{name,<<112,114,105,111,114,105,116,121,95,108,101,118,101,108>>}],[]},{li,[{name,<<112,114,111,99,101,115,115,95,105,110,102,111,95,105,116,101,109>>}],[]},{li,[{name,<<112,114,111,99,101,115,115,95,105,110,102,111,95,114,101,115,117,108,116,95,105,116,101,109>>}],[]},{li,[{name,<<115,116,97,99,107,95,105,116,101,109>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<44,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<32,111,114,32>>,{code,[],[<<73,116,101,109,76,105,115,116>>]},<<46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,97,108,105,118,101,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,97,108,105,118,101,32,97,110,100,32,97,32,115,105,110,103,108,101,32>>,{code,[],[<<73,116,101,109>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<44,32,117,110,108,101,115,115,32>>,{code,[],[<<73,116,101,109,32,61,58,61,32,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101>>]},<<32,97,110,100,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,115,32,110,111,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,46,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32>>,{code,[],[<<91,93>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,105,115,32,115,116,114,97,110,103,101,32,98,101,104,97,118,105,111,114,32,105,115,32,98,101,99,97,117,115,101,32,111,102,32,104,105,115,116,111,114,105,99,97,108,32,114,101,97,115,111,110,115,44,32,97,110,100,32,105,115,32,107,101,112,116,32,102,111,114,32,98,97,99,107,119,97,114,100,32,99,111,109,112,97,116,105,98,105,108,105,116,121,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<73,116,101,109,76,105,115,116>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101,76,105,115,116>>]},<<46,32,84,104,101,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,32,105,110,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101,76,105,115,116>>]},<<32,97,114,101,32,105,110,99,108,117,100,101,100,32,119,105,116,104,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32>>,{code,[],[<<73,116,101,109>>]},<<115,32,105,110,32,116,104,101,32,115,97,109,101,32,111,114,100,101,114,32,97,115,32,116,104,101,32>>,{code,[],[<<73,116,101,109>>]},<<115,32,119,101,114,101,32,105,110,99,108,117,100,101,100,32,105,110,32>>,{code,[],[<<73,116,101,109,76,105,115,116>>]},<<46,32,86,97,108,105,100,32>>,{code,[],[<<73,116,101,109>>]},<<115,32,99,97,110,32,98,101,32,105,110,99,108,117,100,101,100,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,32,105,110,32>>,{code,[],[<<73,116,101,109,76,105,115,116>>]},<<46>>]},{p,[],[<<71,101,116,116,105,110,103,32,112,114,111,99,101,115,115,32,105,110,102,111,114,109,97,116,105,111,110,32,102,111,108,108,111,119,115,32,116,104,101,32,115,105,103,110,97,108,32,111,114,100,101,114,105,110,103,32,103,117,97,114,97,110,116,101,101,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<80,114,111,99,101,115,115,101,115,32,67,104,97,112,116,101,114>>]},<<32,105,110,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,102,32>>,{code,[],[<<114,101,103,105,115,116,101,114,101,100,95,110,97,109,101>>]},<<32,105,115,32,112,97,114,116,32,111,102,32>>,{code,[],[<<73,116,101,109,76,105,115,116>>]},<<32,97,110,100,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,115,32,110,111,32,110,97,109,101,32,114,101,103,105,115,116,101,114,101,100,44,32,97,32>>,{code,[],[<<123,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101,44,32,91,93,125>>]},<<44,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<32>>,{em,[],[<<119,105,108,108>>]},<<32,98,101,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101,76,105,115,116>>]},<<46,32,84,104,105,115,32,98,101,104,97,118,105,111,114,32,105,115,32,100,105,102,102,101,114,101,110,116,32,119,104,101,110,32,97,32,115,105,110,103,108,101,32>>,{code,[],[<<73,116,101,109,32,61,58,61,32,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,97,110,100,32,119,104,101,110,32>>,{code,[],[<<112,114,111,99,101,115,115,95,105,110,102,111,47,49>>]},<<32,105,115,32,117,115,101,100,46>>]}]},{p,[],[<<86,97,108,105,100,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,32,119,105,116,104,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32>>,{code,[],[<<73,116,101,109>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,98,97,99,107,116,114,97,99,101,44,32,66,105,110,125>>]}]},{dd,[],[{p,[],[<<66,105,110,97,114,121,32>>,{code,[],[<<66,105,110>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,115,97,109,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,115,32,116,104,101,32,111,117,116,112,117,116,32,102,114,111,109,32>>,{code,[],[<<101,114,108,97,110,103,58,112,114,111,99,101,115,115,95,100,105,115,112,108,97,121,40,80,105,100,44,32,98,97,99,107,116,114,97,99,101,41>>]},<<46,32,85,115,101,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,108,105,115,116,47,49>>]},<<32,116,111,32,111,98,116,97,105,110,32,116,104,101,32,115,116,114,105,110,103,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,102,114,111,109,32,116,104,101,32,98,105,110,97,114,121,46>>]}]},{dt,[],[{code,[],[<<123,98,105,110,97,114,121,44,32,66,105,110,73,110,102,111,125>>]}]},{dd,[],[{p,[],[{code,[],[<<66,105,110,73,110,102,111>>]},<<32,105,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,109,105,115,99,101,108,108,97,110,101,111,117,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,98,105,110,97,114,105,101,115,32,111,110,32,116,104,101,32,104,101,97,112,32,111,102,32,116,104,105,115,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,111,114,32,114,101,109,111,118,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46,32,73,110,32,116,104,101,32,99,117,114,114,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32>>,{code,[],[<<66,105,110,73,110,102,111>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,117,112,108,101,115,46,32,84,104,101,32,116,117,112,108,101,115,32,99,111,110,116,97,105,110,59,32>>,{code,[],[<<66,105,110,97,114,121,73,100>>]},<<44,32>>,{code,[],[<<66,105,110,97,114,121,83,105,122,101>>]},<<44,32>>,{code,[],[<<66,105,110,97,114,121,82,101,102,99,67,111,117,110,116>>]},<<46>>]},{p,[],[<<68,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]}]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,109,97,121,32,98,101,32,115,116,111,114,101,100,32,111,110,32,116,104,101,32,104,101,97,112,46>>]}]},{dt,[],[{code,[],[<<123,99,97,116,99,104,108,101,118,101,108,44,32,67,97,116,99,104,76,101,118,101,108,125>>]}]},{dd,[],[{p,[],[{code,[],[<<67,97,116,99,104,76,101,118,101,108>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,117,114,114,101,110,116,108,121,32,97,99,116,105,118,101,32,99,97,116,99,104,101,115,32,105,110,32,116,104,105,115,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,111,114,32,114,101,109,111,118,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]},{dt,[],[{code,[],[<<123,99,117,114,114,101,110,116,95,102,117,110,99,116,105,111,110,44,32,123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,125,32,124,32,117,110,100,101,102,105,110,101,100,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,111,100,117,108,101>>]},<<44,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<44,32>>,{code,[],[<<65,114,105,116,121>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,99,97,108,108,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,101,32,118,97,108,117,101,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,99,97,110,32,98,101,32,114,101,116,117,114,110,101,100,32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,99,117,114,114,101,110,116,108,121,32,101,120,101,99,117,116,105,110,103,32,110,97,116,105,118,101,32,99,111,109,112,105,108,101,100,32,99,111,100,101,46>>]}]},{dt,[],[{code,[],[<<123,99,117,114,114,101,110,116,95,108,111,99,97,116,105,111,110,44,32,123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,44,32,76,111,99,97,116,105,111,110,125,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,111,100,117,108,101>>]},<<44,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<44,32>>,{code,[],[<<65,114,105,116,121>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,99,97,108,108,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32>>,{code,[],[<<76,111,99,97,116,105,111,110>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,119,111,45,116,117,112,108,101,115,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,108,111,99,97,116,105,111,110,32,105,110,32,116,104,101,32,115,111,117,114,99,101,32,99,111,100,101,46>>]}]},{dt,[],[{code,[],[<<123,99,117,114,114,101,110,116,95,115,116,97,99,107,116,114,97,99,101,44,32,83,116,97,99,107,125>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,99,97,108,108,32,115,116,97,99,107,32,98,97,99,107,45,116,114,97,99,101,32,40>>,{em,[],[<<115,116,97,99,107,116,114,97,99,101>>]},<<41,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,101,32,115,116,97,99,107,32,104,97,115,32,116,104,101,32,115,97,109,101,32,102,111,114,109,97,116,32,97,115,32,105,110,32,116,104,101,32>>,{code,[],[<<99,97,116,99,104>>]},<<32,112,97,114,116,32,111,102,32,97,32>>,{code,[],[<<116,114,121>>]},<<46,32,83,101,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115,35,115,116,97,99,107,116,114,97,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<84,104,101,32,99,97,108,108,45,115,116,97,99,107,32,98,97,99,107,32,116,114,97,99,101,32,40,115,116,97,99,107,116,114,97,99,101,41>>]},<<46,32,84,104,101,32,100,101,112,116,104,32,111,102,32,116,104,101,32,115,116,97,99,107,116,114,97,99,101,32,105,115,32,116,114,117,110,99,97,116,101,100,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32>>,{code,[],[<<98,97,99,107,116,114,97,99,101,95,100,101,112,116,104>>]},<<32,115,121,115,116,101,109,32,102,108,97,103,32,115,101,116,116,105,110,103,46>>]}]},{dt,[],[{code,[],[<<123,100,105,99,116,105,111,110,97,114,121,44,32,68,105,99,116,105,111,110,97,114,121,125>>]}]},{dd,[],[{p,[],[{code,[],[<<68,105,99,116,105,111,110,97,114,121>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,95,104,97,110,100,108,101,114,44,32,77,111,100,117,108,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,111,100,117,108,101>>]},<<32,105,115,32,116,104,101,32,101,114,114,111,114,32,104,97,110,100,108,101,114,32,109,111,100,117,108,101,32,117,115,101,100,32,98,121,32,116,104,101,32,112,114,111,99,101,115,115,32,40,102,111,114,32,117,110,100,101,102,105,110,101,100,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,44,32,102,111,114,32,101,120,97,109,112,108,101,41,46>>]}]},{dt,[],[{code,[],[<<123,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,44,32,71,67,73,110,102,111,125>>]}]},{dd,[],[{p,[],[{code,[],[<<71,67,73,110,102,111>>]},<<32,105,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,109,105,115,99,101,108,108,97,110,101,111,117,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,102,111,114,32,116,104,105,115,32,112,114,111,99,101,115,115,46,32,84,104,101,32,99,111,110,116,101,110,116,32,111,102,32>>,{code,[],[<<71,67,73,110,102,111>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]},{dt,[],[{a,[{id,<<112,114,111,99,101,115,115,95,105,110,102,111,95,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,95,105,110,102,111>>}],[]},{code,[],[<<123,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,95,105,110,102,111,44,32,71,67,73,110,102,111,125>>]}]},{dd,[],[{p,[],[{code,[],[<<71,67,73,110,102,111>>]},<<32,105,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,109,105,115,99,101,108,108,97,110,101,111,117,115,32,100,101,116,97,105,108,101,100,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,102,111,114,32,116,104,105,115,32,112,114,111,99,101,115,115,46,32,84,104,101,32,99,111,110,116,101,110,116,32,111,102,32>>,{code,[],[<<71,67,73,110,102,111>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46,32,70,111,114,32,100,101,116,97,105,108,115,32,97,98,111,117,116,32,116,104,101,32,109,101,97,110,105,110,103,32,111,102,32,101,97,99,104,32,105,116,101,109,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,103,99,95,109,105,110,111,114,95,115,116,97,114,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>]}]},<<32,105,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,103,114,111,117,112,95,108,101,97,100,101,114,44,32,71,114,111,117,112,76,101,97,100,101,114,125>>]}]},{dd,[],[{p,[],[{code,[],[<<71,114,111,117,112,76,101,97,100,101,114>>]},<<32,105,115,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,102,111,114,32,116,104,101,32,73,47,79,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<123,104,101,97,112,95,115,105,122,101,44,32,83,105,122,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<83,105,122,101>>]},<<32,105,115,32,116,104,101,32,115,105,122,101,32,105,110,32,119,111,114,100,115,32,111,102,32,116,104,101,32,121,111,117,110,103,101,115,116,32,104,101,97,112,32,103,101,110,101,114,97,116,105,111,110,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,103,101,110,101,114,97,116,105,111,110,32,105,110,99,108,117,100,101,115,32,116,104,101,32,112,114,111,99,101,115,115,32,115,116,97,99,107,46,32,84,104,105,115,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32,104,105,103,104,108,121,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,45,100,101,112,101,110,100,101,110,116,44,32,97,110,100,32,99,97,110,32,99,104,97,110,103,101,32,105,102,32,116,104,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,99,104,97,110,103,101,115,46>>]}]},{dt,[],[{code,[],[<<123,105,110,105,116,105,97,108,95,99,97,108,108,44,32,123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,125,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,111,100,117,108,101>>]},<<44,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<44,32>>,{code,[],[<<65,114,105,116,121>>]},<<32,105,115,32,116,104,101,32,105,110,105,116,105,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,32,119,105,116,104,32,119,104,105,99,104,32,116,104,101,32,112,114,111,99,101,115,115,32,119,97,115,32,115,112,97,119,110,101,100,46>>]}]},{dt,[],[{code,[],[<<123,108,105,110,107,115,44,32,80,105,100,115,65,110,100,80,111,114,116,115,125>>]}]},{dd,[],[{p,[],[{code,[],[<<80,105,100,115,65,110,100,80,111,114,116,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,115,32,97,110,100,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,115,44,32,119,105,116,104,32,112,114,111,99,101,115,115,101,115,32,111,114,32,112,111,114,116,115,32,116,111,32,119,104,105,99,104,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,115,32,97,32,108,105,110,107,46>>]}]},{dt,[],[{code,[],[<<123,108,97,115,116,95,99,97,108,108,115,44,32,102,97,108,115,101,124,67,97,108,108,115,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,99,97,108,108,32,115,97,118,105,110,103,32,105,115,32,110,111,116,32,97,99,116,105,118,101,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32,40,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,51>>]}]},<<41,46,32,73,102,32,99,97,108,108,32,115,97,118,105,110,103,32,105,115,32,97,99,116,105,118,101,44,32,97,32,108,105,115,116,32,105,115,32,114,101,116,117,114,110,101,100,44,32,105,110,32,119,104,105,99,104,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,32,105,115,32,116,104,101,32,109,111,115,116,32,114,101,99,101,110,116,32,99,97,108,108,101,100,46>>]}]},{dt,[],[{code,[],[<<123,109,101,109,111,114,121,44,32,83,105,122,101,125>>]}]},{dd,[],[{a,[{id,<<112,114,111,99,101,115,115,95,105,110,102,111,95,109,101,109,111,114,121>>}],[]},{p,[],[{code,[],[<<83,105,122,101>>]},<<32,105,115,32,116,104,101,32,115,105,122,101,32,105,110,32,98,121,116,101,115,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,105,110,99,108,117,100,101,115,32,99,97,108,108,32,115,116,97,99,107,44,32,104,101,97,112,44,32,97,110,100,32,105,110,116,101,114,110,97,108,32,115,116,114,117,99,116,117,114,101,115,46>>]}]},{dt,[],[{code,[],[<<123,109,101,115,115,97,103,101,95,113,117,101,117,101,95,108,101,110,44,32,77,101,115,115,97,103,101,81,117,101,117,101,76,101,110,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,101,115,115,97,103,101,81,117,101,117,101,76,101,110>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,109,101,115,115,97,103,101,115,32,99,117,114,114,101,110,116,108,121,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,105,115,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,108,105,115,116,32>>,{code,[],[<<77,101,115,115,97,103,101,81,117,101,117,101>>]},<<32,114,101,116,117,114,110,101,100,32,97,115,32,116,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,105,116,101,109,32>>,{code,[],[<<109,101,115,115,97,103,101,115>>]},<<32,40,115,101,101,32,98,101,108,111,119,41,46>>]}]},{dt,[],[{code,[],[<<123,109,101,115,115,97,103,101,115,44,32,77,101,115,115,97,103,101,81,117,101,117,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,101,115,115,97,103,101,81,117,101,117,101>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,104,101,32,109,101,115,115,97,103,101,115,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,44,32,119,104,105,99,104,32,104,97,118,101,32,110,111,116,32,121,101,116,32,98,101,101,110,32,112,114,111,99,101,115,115,101,100,46>>]}]},{dt,[],[{code,[],[<<123,109,105,110,95,104,101,97,112,95,115,105,122,101,44,32,77,105,110,72,101,97,112,83,105,122,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,105,110,72,101,97,112,83,105,122,101>>]},<<32,105,115,32,116,104,101,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<123,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101,44,32,77,105,110,66,105,110,86,72,101,97,112,83,105,122,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,105,110,66,105,110,86,72,101,97,112,83,105,122,101>>]},<<32,105,115,32,116,104,101,32,109,105,110,105,109,117,109,32,98,105,110,97,114,121,32,118,105,114,116,117,97,108,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<123,109,111,110,105,116,111,114,101,100,95,98,121,44,32,77,111,110,105,116,111,114,101,100,66,121,125>>]}]},{dd,[],[{p,[],[<<65,32,108,105,115,116,32,111,102,32,105,100,101,110,116,105,102,105,101,114,115,32,102,111,114,32,97,108,108,32,116,104,101,32,112,114,111,99,101,115,115,101,115,44,32,112,111,114,116,115,32,97,110,100,32,78,73,70,32,114,101,115,111,117,114,99,101,115,44,32,116,104,97,116,32,97,114,101,32,109,111,110,105,116,111,114,105,110,103,32,116,104,101,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<123,109,111,110,105,116,111,114,115,44,32,77,111,110,105,116,111,114,115,125>>]}]},{dd,[],[{p,[],[<<65,32,108,105,115,116,32,111,102,32,109,111,110,105,116,111,114,115,32,40,115,116,97,114,116,101,100,32,98,121,32>>,{code,[],[<<109,111,110,105,116,111,114,47,50>>]},<<41,32,116,104,97,116,32,97,114,101,32,97,99,116,105,118,101,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46,32,70,111,114,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,109,111,110,105,116,111,114,32,111,114,32,97,32,114,101,109,111,116,101,32,112,114,111,99,101,115,115,32,109,111,110,105,116,111,114,32,98,121,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,44,32,116,104,101,32,108,105,115,116,32,99,111,110,115,105,115,116,115,32,111,102,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,112,114,111,99,101,115,115,44,32,80,105,100,125>>]}]},{dd,[],[<<80,114,111,99,101,115,115,32,105,115,32,109,111,110,105,116,111,114,101,100,32,98,121,32,112,105,100,46>>]},{dt,[],[{code,[],[<<123,112,114,111,99,101,115,115,44,32,123,82,101,103,78,97,109,101,44,32,78,111,100,101,125,125>>]}]},{dd,[],[<<76,111,99,97,108,32,111,114,32,114,101,109,111,116,101,32,112,114,111,99,101,115,115,32,105,115,32,109,111,110,105,116,111,114,101,100,32,98,121,32,110,97,109,101,46>>]},{dt,[],[{code,[],[<<123,112,111,114,116,44,32,80,111,114,116,73,100,125>>]}]},{dd,[],[<<76,111,99,97,108,32,112,111,114,116,32,105,115,32,109,111,110,105,116,111,114,101,100,32,98,121,32,112,111,114,116,32,105,100,46>>]},{dt,[],[{code,[],[<<123,112,111,114,116,44,32,123,82,101,103,78,97,109,101,44,32,78,111,100,101,125,125>>]}]},{dd,[],[<<76,111,99,97,108,32,112,111,114,116,32,105,115,32,109,111,110,105,116,111,114,101,100,32,98,121,32,110,97,109,101,46,32,80,108,101,97,115,101,32,110,111,116,101,44,32,116,104,97,116,32,114,101,109,111,116,101,32,112,111,114,116,32,109,111,110,105,116,111,114,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,115,111,32>>,{code,[],[<<78,111,100,101>>]},<<32,119,105,108,108,32,97,108,119,97,121,115,32,98,101,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,110,97,109,101,46>>]}]}]},{dt,[],[{code,[],[<<123,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,44,32,77,81,68,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,81,68>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,101,105,116,104,101,114,32>>,{code,[],[<<111,102,102,95,104,101,97,112>>]},<<32,111,114,32>>,{code,[],[<<111,110,95,104,101,97,112>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,44,32,77,81,68,41>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,112,114,105,111,114,105,116,121,44,32,76,101,118,101,108,125>>]}]},{dd,[],[{p,[],[{code,[],[<<76,101,118,101,108>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,105,111,114,105,116,121,32,108,101,118,101,108,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,112,114,105,111,114,105,116,105,101,115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,112,114,105,111,114,105,116,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,112,114,105,111,114,105,116,121,44,32,76,101,118,101,108,41>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,114,101,100,117,99,116,105,111,110,115,44,32,78,117,109,98,101,114,125>>]}]},{dd,[],[{p,[],[{code,[],[<<78,117,109,98,101,114>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,100,117,99,116,105,111,110,115,32,101,120,101,99,117,116,101,100,32,98,121,32,116,104,101,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<123,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101,44,32,65,116,111,109,125>>]}]},{dd,[],[{p,[],[{code,[],[<<65,116,111,109>>]},<<32,105,115,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,112,114,111,99,101,115,115,32,110,97,109,101,46,32,73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,115,32,110,111,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,44,32,116,104,105,115,32,116,117,112,108,101,32,105,115,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,108,105,115,116,46>>]}]},{dt,[],[{code,[],[<<123,115,101,113,117,101,110,116,105,97,108,95,116,114,97,99,101,95,116,111,107,101,110,44,32,91,93,32,124,32,83,101,113,117,101,110,116,105,97,108,84,114,97,99,101,84,111,107,101,110,125>>]}]},{dd,[],[{p,[],[{code,[],[<<83,101,113,117,101,110,116,105,97,108,84,114,97,99,101,84,111,107,101,110>>]},<<32,105,115,32,116,104,101,32,115,101,113,117,101,110,116,105,97,108,32,116,114,97,99,101,32,116,111,107,101,110,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,111,114,32,114,101,109,111,118,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]},{dt,[],[{code,[],[<<123,115,116,97,99,107,95,115,105,122,101,44,32,83,105,122,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<83,105,122,101>>]},<<32,105,115,32,116,104,101,32,115,116,97,99,107,32,115,105,122,101,44,32,105,110,32,119,111,114,100,115,44,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<123,115,116,97,116,117,115,44,32,83,116,97,116,117,115,125>>]}]},{dd,[],[{p,[],[{code,[],[<<83,116,97,116,117,115>>]},<<32,105,115,32,116,104,101,32,115,116,97,116,117,115,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,97,110,100,32,105,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{ul,[],[{li,[],[{code,[],[<<101,120,105,116,105,110,103>>]}]},{li,[],[{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,110,103>>]}]},{li,[],[{code,[],[<<119,97,105,116,105,110,103>>]},<<32,40,102,111,114,32,97,32,109,101,115,115,97,103,101,41>>]},{li,[],[{code,[],[<<114,117,110,110,105,110,103>>]}]},{li,[],[{code,[],[<<114,117,110,110,97,98,108,101>>]},<<32,40,114,101,97,100,121,32,116,111,32,114,117,110,44,32,98,117,116,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,32,105,115,32,114,117,110,110,105,110,103,41>>]},{li,[],[{code,[],[<<115,117,115,112,101,110,100,101,100>>]},<<32,40,115,117,115,112,101,110,100,101,100,32,111,110,32,97,32,34,98,117,115,121,34,32,112,111,114,116,32,111,114,32,98,121,32,116,104,101,32,66,73,70,32>>,{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49,44,50>>]},<<41>>]}]}]},{dt,[],[{code,[],[<<123,115,117,115,112,101,110,100,105,110,103,44,32,83,117,115,112,101,110,100,101,101,76,105,115,116,125>>]}]},{dd,[],[{p,[],[{code,[],[<<83,117,115,112,101,110,100,101,101,76,105,115,116>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32>>,{code,[],[<<123,83,117,115,112,101,110,100,101,101,44,32,65,99,116,105,118,101,83,117,115,112,101,110,100,67,111,117,110,116,44,32,79,117,116,115,116,97,110,100,105,110,103,83,117,115,112,101,110,100,67,111,117,110,116,125>>]},<<32,116,117,112,108,101,115,46,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,112,114,111,99,101,115,115,32,116,104,97,116,32,104,97,115,32,98,101,101,110,44,32,111,114,32,105,115,32,116,111,32,98,101,44,32,115,117,115,112,101,110,100,101,100,32,98,121,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,116,104,114,111,117,103,104,32,116,104,101,32,66,73,70,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49>>]}]},<<46>>]},{p,[],[{code,[],[<<65,99,116,105,118,101,83,117,115,112,101,110,100,67,111,117,110,116>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,116,105,109,101,115,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,104,97,115,32,98,101,101,110,32,115,117,115,112,101,110,100,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<46,32>>,{code,[],[<<79,117,116,115,116,97,110,100,105,110,103,83,117,115,112,101,110,100,67,111,117,110,116>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,110,111,116,32,121,101,116,32,99,111,109,112,108,101,116,101,100,32,115,117,115,112,101,110,100,32,114,101,113,117,101,115,116,115,32,115,101,110,116,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<44,32,116,104,97,116,32,105,115,58>>]},{ul,[],[{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<65,99,116,105,118,101,83,117,115,112,101,110,100,67,111,117,110,116,32,61,47,61,32,48>>]},<<44,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,99,117,114,114,101,110,116,108,121,32,105,110,32,116,104,101,32,115,117,115,112,101,110,100,101,100,32,115,116,97,116,101,46>>]}]},{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<79,117,116,115,116,97,110,100,105,110,103,83,117,115,112,101,110,100,67,111,117,110,116,32,61,47,61,32,48>>]},<<44,32,111,112,116,105,111,110,32>>,{code,[],[<<97,115,121,110,99,104,114,111,110,111,117,115>>]},<<32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>]},<<32,104,97,115,32,98,101,101,110,32,117,115,101,100,32,97,110,100,32,116,104,101,32,115,117,115,112,101,110,100,101,101,32,104,97,115,32,110,111,116,32,121,101,116,32,98,101,101,110,32,115,117,115,112,101,110,100,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<46>>]}]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32>>,{code,[],[<<65,99,116,105,118,101,83,117,115,112,101,110,100,67,111,117,110,116>>]},<<32,97,110,100,32>>,{code,[],[<<79,117,116,115,116,97,110,100,105,110,103,83,117,115,112,101,110,100,67,111,117,110,116>>]},<<32,97,114,101,32,110,111,116,32,116,104,101,32,116,111,116,97,108,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<44,32,111,110,108,121,32,116,104,101,32,112,97,114,116,115,32,99,111,110,116,114,105,98,117,116,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<46>>]}]},{dt,[],[{a,[{id,<<112,114,111,99,101,115,115,95,105,110,102,111,95,116,111,116,97,108,95,104,101,97,112,95,115,105,122,101>>}],[]},{code,[],[<<123,116,111,116,97,108,95,104,101,97,112,95,115,105,122,101,44,32,83,105,122,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<83,105,122,101>>]},<<32,105,115,32,116,104,101,32,116,111,116,97,108,32,115,105,122,101,44,32,105,110,32,119,111,114,100,115,44,32,111,102,32,97,108,108,32,104,101,97,112,32,102,114,97,103,109,101,110,116,115,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,105,110,99,108,117,100,101,115,32,116,104,101,32,112,114,111,99,101,115,115,32,115,116,97,99,107,32,97,110,100,32,97,110,121,32,117,110,114,101,99,101,105,118,101,100,32,109,101,115,115,97,103,101,115,32,116,104,97,116,32,97,114,101,32,99,111,110,115,105,100,101,114,101,100,32,116,111,32,98,101,32,112,97,114,116,32,111,102,32,116,104,101,32,104,101,97,112,46>>]}]},{dt,[],[{code,[],[<<123,116,114,97,99,101,44,32,73,110,116,101,114,110,97,108,84,114,97,99,101,70,108,97,103,115,125>>]}]},{dd,[],[{p,[],[{code,[],[<<73,110,116,101,114,110,97,108,84,114,97,99,101,70,108,97,103,115>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,114,101,112,114,101,115,101,110,116,105,110,103,32,116,104,101,32,105,110,116,101,114,110,97,108,32,116,114,97,99,101,32,102,108,97,103,32,102,111,114,32,116,104,105,115,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,111,114,32,114,101,109,111,118,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]},{dt,[],[{code,[],[<<123,116,114,97,112,95,101,120,105,116,44,32,66,111,111,108,101,97,110,125>>]}]},{dd,[],[{p,[],[{code,[],[<<66,111,111,108,101,97,110>>]},<<32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,116,114,97,112,112,105,110,103,32,101,120,105,116,115,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,110,111,116,32,97,108,108,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,115,32,115,117,112,112,111,114,116,32,97,108,108,32,116,104,101,115,101,32>>,{code,[],[<<73,116,101,109>>]},<<115,46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<73,116,101,109>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,105,116,101,109,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,52,50,57>>,signature => [{attribute,{2545,2},spec,{{process_info,2},[{type,{2545,19},bounded_fun,[{type,{2545,19},'fun',[{type,{2545,19},product,[{var,{2545,20},'Pid'},{var,{2545,25},'Item'}]},{type,{2546,27},union,[{var,{2546,27},'InfoTuple'},{type,{2546,39},nil,[]},{atom,{2546,44},undefined}]}]},[{type,{2547,7},constraint,[{atom,{2547,7},is_subtype},[{var,{2547,7},'Pid'},{type,{2547,14},pid,[]}]]},{type,{2548,7},constraint,[{atom,{2548,7},is_subtype},[{var,{2548,7},'Item'},{user_type,{2548,15},process_info_item,[]}]]},{type,{2549,7},constraint,[{atom,{2549,7},is_subtype},[{var,{2549,7},'InfoTuple'},{user_type,{2549,20},process_info_result_item,[]}]]}]]},{type,{2550,19},bounded_fun,[{type,{2550,19},'fun',[{type,{2550,19},product,[{var,{2550,20},'Pid'},{var,{2550,25},'ItemList'}]},{type,{2550,38},union,[{var,{2550,38},'InfoTupleList'},{type,{2550,54},nil,[]},{atom,{2550,59},undefined}]}]},[{type,{2551,7},constraint,[{atom,{2551,7},is_subtype},[{var,{2551,7},'Pid'},{type,{2551,14},pid,[]}]]},{type,{2552,7},constraint,[{atom,{2552,7},is_subtype},[{var,{2552,7},'ItemList'},{type,{2552,19},list,[{var,{2552,20},'Item'}]}]]},{type,{2553,7},constraint,[{atom,{2553,7},is_subtype},[{var,{2553,7},'Item'},{user_type,{2553,15},process_info_item,[]}]]},{type,{2554,7},constraint,[{atom,{2554,7},is_subtype},[{var,{2554,7},'InfoTupleList'},{type,{2554,24},list,[{var,{2554,25},'InfoTuple'}]}]]},{type,{2555,7},constraint,[{atom,{2555,7},is_subtype},[{var,{2555,7},'InfoTuple'},{user_type,{2555,20},process_info_result_item,[]}]]}]]}]}}]}},{{function,processes,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1773}],[<<112,114,111,99,101,115,115,101,115,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,97,108,108,32,116,104,101,32,112,114,111,99,101,115,115,101,115,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,111,110,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,110,32,101,120,105,116,105,110,103,32,112,114,111,99,101,115,115,32,101,120,105,115,116,115,44,32,98,117,116,32,105,115,32,110,111,116,32,97,108,105,118,101,46,32,84,104,97,116,32,105,115,44,32>>,{code,[],[<<105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,47,49>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,102,111,114,32,97,110,32,101,120,105,116,105,110,103,32,112,114,111,99,101,115,115,44,32,98,117,116,32,105,116,115,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32>>,{code,[],[<<112,114,111,99,101,115,115,101,115,47,48>>]},<<46>>]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,112,114,111,99,101,115,115,101,115,40,41,46,10,91,60,48,46,48,46,48,62,44,60,48,46,50,46,48,62,44,60,48,46,52,46,48,62,44,60,48,46,53,46,48,62,44,60,48,46,55,46,48,62,44,60,48,46,56,46,48,62,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,55,55,50>>,signature => [{attribute,{1773,2},spec,{{processes,0},[{type,{1773,16},'fun',[{type,{1773,16},product,[]},{type,{1773,22},list,[{type,{1773,23},pid,[]}]}]}]}}]}},{{function,purge_module,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1778}],[<<112,117,114,103,101,95,109,111,100,117,108,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,109,111,118,101,115,32,111,108,100,32,99,111,100,101,32,102,111,114,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46,32,66,101,102,111,114,101,32,116,104,105,115,32,66,73,70,32,105,115,32,117,115,101,100,44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,50>>]}]},<<32,105,115,32,116,111,32,98,101,32,99,97,108,108,101,100,32,116,111,32,99,104,101,99,107,32,116,104,97,116,32,110,111,32,112,114,111,99,101,115,115,101,115,32,101,120,101,99,117,116,101,32,111,108,100,32,99,111,100,101,32,105,110,32,116,104,101,32,109,111,100,117,108,101,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,116,104,101,32,99,111,100,101,32,115,101,114,118,101,114,32,40,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,100,101,40,51,41>>]}]},<<41,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,101,108,115,101,119,104,101,114,101,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,115,32,102,114,111,109,32,69,82,84,83,32,56,46,48,32,40,69,114,108,97,110,103,47,79,84,80,32,49,57,41,44,32,97,110,121,32,108,105,110,103,101,114,105,110,103,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,115,116,105,108,108,32,101,120,101,99,117,116,101,32,116,104,101,32,111,108,100,32,99,111,100,101,32,105,115,32,107,105,108,108,101,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,32,73,110,32,101,97,114,108,105,101,114,32,118,101,114,115,105,111,110,115,44,32,115,117,99,104,32,105,110,99,111,114,114,101,99,116,32,117,115,101,32,99,111,117,108,100,32,99,97,117,115,101,32,109,117,99,104,32,109,111,114,101,32,102,97,116,97,108,32,102,97,105,108,117,114,101,115,44,32,108,105,107,101,32,101,109,117,108,97,116,111,114,32,99,114,97,115,104,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,114,101,32,105,115,32,110,111,32,111,108,100,32,99,111,100,101,32,102,111,114,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,55,56,57>>,signature => [{attribute,{1778,2},spec,{{purge_module,1},[{type,{1778,19},bounded_fun,[{type,{1778,19},'fun',[{type,{1778,19},product,[{var,{1778,20},'Module'}]},{atom,{1778,31},true}]},[{type,{1779,7},constraint,[{atom,{1779,7},is_subtype},[{var,{1779,7},'Module'},{type,{1779,17},atom,[]}]]}]]}]}}]}},{{function,put,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1792}],[<<112,117,116,47,50>>],#{<<101,110>> => [{p,[],[<<65,100,100,115,32,97,32,110,101,119,32>>,{code,[],[<<75,101,121>>]},<<32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,44,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<86,97,108>>]},<<44,32,97,110,100,32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46,32,73,102,32>>,{code,[],[<<75,101,121>>]},<<32,101,120,105,115,116,115,44,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,105,115,32,100,101,108,101,116,101,100,32,97,110,100,32,114,101,112,108,97,99,101,100,32,98,121,32>>,{code,[],[<<86,97,108>>]},<<44,32,97,110,100,32,116,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,46,32,84,104,101,32,97,118,101,114,97,103,101,32,116,105,109,101,32,99,111,109,112,108,101,120,105,116,121,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,79,40>>,{code,[],[<<49>>]},<<41,32,97,110,100,32,116,104,101,32,119,111,114,115,116,32,99,97,115,101,32,116,105,109,101,32,99,111,109,112,108,101,120,105,116,121,32,105,115,32,79,40>>,{code,[],[<<78>>]},<<41,44,32,119,104,101,114,101,32>>,{code,[],[<<78>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,105,116,101,109,115,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,88,32,61,32,112,117,116,40,110,97,109,101,44,32,119,97,108,114,117,115,41,44,32,89,32,61,32,112,117,116,40,110,97,109,101,44,32,99,97,114,112,101,110,116,101,114,41,44,10,90,32,61,32,103,101,116,40,110,97,109,101,41,44,10,123,88,44,32,89,44,32,90,125,46,10,123,117,110,100,101,102,105,110,101,100,44,119,97,108,114,117,115,44,99,97,114,112,101,110,116,101,114,125>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,118,97,108,117,101,115,32,115,116,111,114,101,100,32,119,104,101,110,32>>,{code,[],[<<112,117,116>>]},<<32,105,115,32,101,118,97,108,117,97,116,101,100,32,119,105,116,104,105,110,32,116,104,101,32,115,99,111,112,101,32,111,102,32,97,32>>,{code,[],[<<99,97,116,99,104>>]},<<32,97,114,101,32,110,111,116,32,114,101,116,114,97,99,116,101,100,32,105,102,32,97,32>>,{code,[],[<<116,104,114,111,119>>]},<<32,105,115,32,101,118,97,108,117,97,116,101,100,44,32,111,114,32,105,102,32,97,110,32,101,114,114,111,114,32,111,99,99,117,114,115,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,56,49,52>>,signature => [{attribute,{1792,2},spec,{{put,2},[{type,{1792,10},bounded_fun,[{type,{1792,10},'fun',[{type,{1792,10},product,[{var,{1792,11},'Key'},{var,{1792,16},'Val'}]},{type,{1792,24},term,[]}]},[{type,{1793,7},constraint,[{atom,{1793,7},is_subtype},[{var,{1793,7},'Key'},{type,{1793,14},term,[]}]]},{type,{1794,7},constraint,[{atom,{1794,7},is_subtype},[{var,{1794,7},'Val'},{type,{1794,14},term,[]}]]}]]}]}}]}},{{function,raise,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1799}],[<<114,97,105,115,101,47,51>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<114,97,105,115,101,95,115,116,97,99,107,116,114,97,99,101>>}],[]}]},{p,[],[<<82,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,99,108,97,115,115,44,32,114,101,97,115,111,110,44,32,97,110,100,32,99,97,108,108,32,115,116,97,99,107,32,98,97,99,107,116,114,97,99,101,32,40>>,{em,[],[<<115,116,97,99,107,116,114,97,99,101>>]},<<41,46>>]},{p,[],[{code,[],[<<67,108,97,115,115>>]},<<32,105,115,32>>,{code,[],[<<101,114,114,111,114>>]},<<44,32>>,{code,[],[<<101,120,105,116>>]},<<44,32,111,114,32>>,{code,[],[<<116,104,114,111,119>>]},<<46,32,83,111,44,32,105,102,32,105,116,32,119,101,114,101,32,110,111,116,32,102,111,114,32,116,104,101,32,115,116,97,99,107,116,114,97,99,101,44,32>>,{code,[],[<<101,114,108,97,110,103,58,114,97,105,115,101,40,67,108,97,115,115,44,32,82,101,97,115,111,110,44,32,83,116,97,99,107,116,114,97,99,101,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,67,108,97,115,115,40,82,101,97,115,111,110,41>>]},<<32,40,103,105,118,101,110,32,116,104,97,116,32>>,{code,[],[<<67,108,97,115,115>>]},<<32,105,115,32,97,32,118,97,108,105,100,32,99,108,97,115,115,41,46>>]},{p,[],[{code,[],[<<82,101,97,115,111,110>>]},<<32,99,97,110,32,98,101,32,97,110,121,32,116,101,114,109,46>>]},{p,[],[{code,[],[<<83,116,97,99,107,116,114,97,99,101>>]},<<32,105,115,32,97,32,108,105,115,116,32,97,115,32,112,114,111,118,105,100,101,100,32,105,110,32,97,32,116,114,121,45,99,97,116,99,104,32,99,108,97,117,115,101,46>>]},{pre,[],[{code,[],[<<116,114,121,10,32,32,32,32,46,46,46,10,99,97,116,99,104,32,67,108,97,115,115,58,82,101,97,115,111,110,58,83,116,97,99,107,116,114,97,99,101,32,45,62,10,32,32,32,32,46,46,46,10,101,110,100>>]}]},{p,[],[<<84,104,97,116,32,105,115,44,32,97,32,108,105,115,116,32,111,102,32,102,111,117,114,45,116,117,112,108,101,115,32>>,{code,[],[<<123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,32,124,32,65,114,103,115,44,32,69,120,116,114,97,73,110,102,111,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,97,110,100,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,97,114,101,32,97,116,111,109,115,44,32,97,110,100,32,116,104,101,32,116,104,105,114,100,32,101,108,101,109,101,110,116,32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,97,114,105,116,121,32,111,114,32,97,110,32,97,114,103,117,109,101,110,116,32,108,105,115,116,46,32,84,104,101,32,115,116,97,99,107,116,114,97,99,101,32,99,97,110,32,97,108,115,111,32,99,111,110,116,97,105,110,32>>,{code,[],[<<123,70,117,110,44,32,65,114,103,115,44,32,69,120,116,114,97,73,110,102,111,125>>]},<<32,116,117,112,108,101,115,44,32,119,104,101,114,101,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,32,108,111,99,97,108,32,102,117,110,32,97,110,100,32>>,{code,[],[<<65,114,103,115>>]},<<32,105,115,32,97,110,32,97,114,103,117,109,101,110,116,32,108,105,115,116,46>>]},{p,[],[<<69,108,101,109,101,110,116,32>>,{code,[],[<<69,120,116,114,97,73,110,102,111>>]},<<32,97,116,32,116,104,101,32,101,110,100,32,105,115,32,111,112,116,105,111,110,97,108,46,32,79,109,105,116,116,105,110,103,32,105,116,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,115,112,101,99,105,102,121,105,110,103,32,97,110,32,101,109,112,116,121,32,108,105,115,116,46>>]},{p,[],[<<84,104,101,32,115,116,97,99,107,116,114,97,99,101,32,105,115,32,117,115,101,100,32,97,115,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,115,116,97,99,107,116,114,97,99,101,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,59,32,105,116,32,105,115,32,116,114,117,110,99,97,116,101,100,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,120,105,109,117,109,32,115,116,97,99,107,116,114,97,99,101,32,100,101,112,116,104,46>>]},{p,[],[<<65,115,32,101,118,97,108,117,97,116,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,99,97,117,115,101,115,32,116,104,101,32,112,114,111,99,101,115,115,32,116,111,32,116,101,114,109,105,110,97,116,101,44,32,105,116,32,104,97,115,32,110,111,32,114,101,116,117,114,110,32,118,97,108,117,101,32,117,110,108,101,115,115,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,105,110,118,97,108,105,100,44,32,105,110,32,119,104,105,99,104,32,99,97,115,101,32,116,104,101,32,102,117,110,99,116,105,111,110,32>>,{em,[],[<<114,101,116,117,114,110,115,32,116,104,101,32,101,114,114,111,114,32,114,101,97,115,111,110>>]},<<32>>,{code,[],[<<98,97,100,97,114,103>>]},<<46,32,73,102,32,121,111,117,32,119,97,110,116,32,116,111,32,98,101,32,115,117,114,101,32,110,111,116,32,116,111,32,114,101,116,117,114,110,44,32,121,111,117,32,99,97,110,32,99,97,108,108,32>>,{code,[],[<<101,114,114,111,114,40,101,114,108,97,110,103,58,114,97,105,115,101,40,67,108,97,115,115,44,32,82,101,97,115,111,110,44,32,83,116,97,99,107,116,114,97,99,101,41,41>>]},<<32,97,110,100,32,104,111,112,101,32,116,111,32,100,105,115,116,105,110,103,117,105,115,104,32,101,120,99,101,112,116,105,111,110,115,32,108,97,116,101,114,46>>]},{p,[],[<<83,101,101,32,116,104,101,32,114,101,102,101,114,101,110,99,101,32,109,97,110,117,97,108,32,97,98,111,117,116,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,114,114,111,114,115,32,97,110,100,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103>>]},<<32,102,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,101,120,99,101,112,116,105,111,110,32,99,108,97,115,115,101,115,32,97,110,100,32,104,111,119,32,116,111,32,99,97,116,99,104,32,101,120,99,101,112,116,105,111,110,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,56,52,48>>,signature => [{attribute,{1799,2},spec,{{erlang,raise,3},[{type,{1799,19},bounded_fun,[{type,{1799,19},'fun',[{type,{1799,19},product,[{var,{1799,20},'Class'},{var,{1799,27},'Reason'},{var,{1799,35},'Stacktrace'}]},{atom,{1799,50},badarg}]},[{type,{1800,7},constraint,[{atom,{1800,7},is_subtype},[{var,{1800,7},'Class'},{type,{1800,16},union,[{atom,{1800,16},error},{atom,{1800,26},exit},{atom,{1800,35},throw}]}]]},{type,{1801,7},constraint,[{atom,{1801,7},is_subtype},[{var,{1801,7},'Reason'},{type,{1801,17},term,[]}]]},{type,{1802,7},constraint,[{atom,{1802,7},is_subtype},[{var,{1802,7},'Stacktrace'},{type,{1802,21},union,[{user_type,{1802,21},raise_stacktrace,[]},{user_type,{1802,42},stacktrace,[]}]}]]}]]}]}}]}},{{function,read_timer,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1807}],[<<114,101,97,100,95,116,105,109,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,97,100,115,32,116,104,101,32,115,116,97,116,101,32,111,102,32,97,32,116,105,109,101,114,46,32,84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,97,100,95,116,105,109,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114,40,84,105,109,101,114,82,101,102,44,32,91,93,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,56,57,48>>,signature => [{attribute,{1807,2},spec,{{erlang,read_timer,1},[{type,{1807,24},bounded_fun,[{type,{1807,24},'fun',[{type,{1807,24},product,[{var,{1807,25},'TimerRef'}]},{var,{1807,38},'Result'}]},[{type,{1808,7},constraint,[{atom,{1808,7},is_subtype},[{var,{1808,7},'TimerRef'},{type,{1808,19},reference,[]}]]},{type,{1809,7},constraint,[{atom,{1809,7},is_subtype},[{var,{1809,7},'Time'},{type,{1809,15},non_neg_integer,[]}]]},{type,{1810,7},constraint,[{atom,{1810,7},is_subtype},[{var,{1810,7},'Result'},{type,{1810,17},union,[{var,{1810,17},'Time'},{atom,{1810,24},false}]}]]}]]}]}}]}},{{function,read_timer,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1816}],[<<114,101,97,100,95,116,105,109,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,97,100,115,32,116,104,101,32,115,116,97,116,101,32,111,102,32,97,32,116,105,109,101,114,32,116,104,97,116,32,104,97,115,32,98,101,101,110,32,99,114,101,97,116,101,100,32,98,121,32,101,105,116,104,101,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,114,116,95,116,105,109,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,97,102,116,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114>>]}]},<<46,32>>,{code,[],[<<84,105,109,101,114,82,101,102>>]},<<32,105,100,101,110,116,105,102,105,101,115,32,116,104,101,32,116,105,109,101,114,44,32,97,110,100,32,119,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32,116,104,101,32,66,73,70,32,116,104,97,116,32,99,114,101,97,116,101,100,32,116,104,101,32,116,105,109,101,114,46>>]},{p,[],[{code,[],[<<79,112,116,105,111,110,115>>]},<<58>>]},{dl,[],[{dt,[],[{code,[],[<<123,97,115,121,110,99,44,32,65,115,121,110,99,125>>]}]},{dd,[],[{p,[],[<<65,115,121,110,99,104,114,111,110,111,117,115,32,114,101,113,117,101,115,116,32,102,111,114,32,115,116,97,116,101,32,105,110,102,111,114,109,97,116,105,111,110,46,32>>,{code,[],[<<65,115,121,110,99>>]},<<32,100,101,102,97,117,108,116,115,32,116,111,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,119,104,105,99,104,32,99,97,117,115,101,115,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,116,111,32,98,101,32,112,101,114,102,111,114,109,101,100,32,115,121,110,99,104,114,111,110,111,117,115,108,121,46,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32,116,104,101,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114>>]},<<46,32,87,104,101,110,32>>,{code,[],[<<65,115,121,110,99>>]},<<32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<44,32>>,{code,[],[<<101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114>>]},<<32,115,101,110,100,115,32,97,110,32,97,115,121,110,99,104,114,111,110,111,117,115,32,114,101,113,117,101,115,116,32,102,111,114,32,116,104,101,32,115,116,97,116,101,32,105,110,102,111,114,109,97,116,105,111,110,32,116,111,32,116,104,101,32,116,105,109,101,114,32,115,101,114,118,105,99,101,32,116,104,97,116,32,109,97,110,97,103,101,115,32,116,104,101,32,116,105,109,101,114,44,32,97,110,100,32,116,104,101,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<46,32,65,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,114,109,97,116,32>>,{code,[],[<<123,114,101,97,100,95,116,105,109,101,114,44,32,84,105,109,101,114,82,101,102,44,32,82,101,115,117,108,116,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114>>]},<<32,119,104,101,110,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,114,111,99,101,115,115,101,100,46>>]}]}]},{p,[],[<<77,111,114,101,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,44,32,105,116,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,116,105,109,101,32,105,110,32,109,105,108,108,105,115,101,99,111,110,100,115,32,108,101,102,116,32,117,110,116,105,108,32,116,104,101,32,116,105,109,101,114,32,101,120,112,105,114,101,115,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,97,32,116,105,109,101,114,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32>>,{code,[],[<<84,105,109,101,114,82,101,102>>]},<<32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,46,32,84,104,105,115,32,98,101,99,97,117,115,101,32,116,104,101,32,116,105,109,101,114,32,104,97,100,32,101,120,112,105,114,101,100,44,32,111,114,32,98,101,101,110,32,99,97,110,99,101,108,101,100,44,32,111,114,32,98,101,99,97,117,115,101,32>>,{code,[],[<<84,105,109,101,114,82,101,102>>]},<<32,110,101,118,101,114,32,104,97,115,32,99,111,114,114,101,115,112,111,110,100,101,100,32,116,111,32,97,32,116,105,109,101,114,46,32,69,118,101,110,32,105,102,32,116,104,101,32,116,105,109,101,114,32,104,97,115,32,101,120,112,105,114,101,100,44,32,105,116,32,100,111,101,115,32,110,111,116,32,116,101,108,108,32,121,111,117,32,119,104,101,116,104,101,114,32,111,114,32,110,111,116,32,116,104,101,32,116,105,109,101,45,111,117,116,32,109,101,115,115,97,103,101,32,104,97,115,32,97,114,114,105,118,101,100,32,97,116,32,105,116,115,32,100,101,115,116,105,110,97,116,105,111,110,32,121,101,116,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,116,105,109,101,114,32,115,101,114,118,105,99,101,32,116,104,97,116,32,109,97,110,97,103,101,115,32,116,104,101,32,116,105,109,101,114,32,99,97,110,32,98,101,32,99,111,45,108,111,99,97,116,101,100,32,119,105,116,104,32,97,110,111,116,104,101,114,32,115,99,104,101,100,117,108,101,114,32,116,104,97,110,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46,32,73,102,32,115,111,44,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,119,105,116,104,32,116,104,101,32,116,105,109,101,114,32,115,101,114,118,105,99,101,32,116,97,107,101,115,32,109,117,99,104,32,108,111,110,103,101,114,32,116,105,109,101,32,116,104,97,110,32,105,102,32,105,116,32,105,115,32,108,111,99,97,116,101,100,32,108,111,99,97,108,108,121,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,105,110,32,97,32,99,114,105,116,105,99,97,108,32,112,97,116,104,44,32,97,110,100,32,99,97,110,32,100,111,32,111,116,104,101,114,32,116,104,105,110,103,115,32,119,104,105,108,101,32,119,97,105,116,105,110,103,32,102,111,114,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,105,115,32,111,112,101,114,97,116,105,111,110,44,32,121,111,117,32,119,97,110,116,32,116,111,32,117,115,101,32,111,112,116,105,111,110,32>>,{code,[],[<<123,97,115,121,110,99,44,32,116,114,117,101,125>>]},<<46,32,73,102,32,117,115,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<123,97,115,121,110,99,44,32,102,97,108,115,101,125>>]},<<44,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,98,108,111,99,107,101,100,32,117,110,116,105,108,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,101,114,102,111,114,109,101,100,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,97,102,116,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114,47,52>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,114,116,95,116,105,109,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114,47,52>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,97,110,99,101,108,95,116,105,109,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,97,110,99,101,108,95,116,105,109,101,114,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,57,48,48>>,signature => [{attribute,{1816,2},spec,{{erlang,read_timer,2},[{type,{1816,24},bounded_fun,[{type,{1816,24},'fun',[{type,{1816,24},product,[{var,{1816,25},'TimerRef'},{var,{1816,35},'Options'}]},{type,{1816,47},union,[{var,{1816,47},'Result'},{atom,{1816,56},ok}]}]},[{type,{1817,7},constraint,[{atom,{1817,7},is_subtype},[{var,{1817,7},'TimerRef'},{type,{1817,19},reference,[]}]]},{type,{1818,7},constraint,[{atom,{1818,7},is_subtype},[{var,{1818,7},'Async'},{type,{1818,16},boolean,[]}]]},{type,{1819,7},constraint,[{atom,{1819,7},is_subtype},[{var,{1819,7},'Option'},{type,{1819,17},tuple,[{atom,{1819,18},async},{var,{1819,25},'Async'}]}]]},{type,{1820,7},constraint,[{atom,{1820,7},is_subtype},[{var,{1820,7},'Options'},{type,{1820,18},list,[{var,{1820,19},'Option'}]}]]},{type,{1821,7},constraint,[{atom,{1821,7},is_subtype},[{var,{1821,7},'Time'},{type,{1821,15},non_neg_integer,[]}]]},{type,{1822,7},constraint,[{atom,{1822,7},is_subtype},[{var,{1822,7},'Result'},{type,{1822,17},union,[{var,{1822,17},'Time'},{atom,{1822,24},false}]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,ref_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1828}],[<<114,101,102,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<82,101,102>>]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,97,112,112,108,105,99,97,116,105,111,110,32,112,114,111,103,114,97,109,115,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,57,53,54>>,signature => [{attribute,{1828,2},spec,{{ref_to_list,1},[{type,{1828,18},bounded_fun,[{type,{1828,18},'fun',[{type,{1828,18},product,[{var,{1828,19},'Ref'}]},{type,{1828,27},string,[]}]},[{type,{1829,7},constraint,[{atom,{1829,7},is_subtype},[{var,{1829,7},'Ref'},{type,{1829,14},reference,[]}]]}]]}]}}]}},{{function,register,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1834}],[<<114,101,103,105,115,116,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,103,105,115,116,101,114,115,32,116,104,101,32,110,97,109,101,32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,119,105,116,104,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,114,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,114,117,110,116,105,109,101,45,115,101,114,118,105,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<110,97,109,101,32,114,101,103,105,115,116,114,121>>]}]},<<46,32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<44,32,119,104,105,99,104,32,109,117,115,116,32,98,101,32,97,110,32,97,116,111,109,44,32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,115,116,101,97,100,32,111,102,32,116,104,101,32,112,105,100,32,111,114,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32,105,110,32,115,101,110,100,32,111,112,101,114,97,116,111,114,32,40>>,{code,[],[<<82,101,103,78,97,109,101,32,33,32,77,101,115,115,97,103,101>>]},<<41,32,97,110,100,32,109,111,115,116,32,111,116,104,101,114,32,66,73,70,115,32,116,104,97,116,32,116,97,107,101,32,97,32,112,105,100,32,111,114,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,115,32,97,115,32,97,110,32,97,114,103,117,109,101,110,116,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,114,101,103,105,115,116,101,114,40,100,98,44,32,80,105,100,41,46,10,116,114,117,101>>]}]},{p,[],[<<84,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,105,115,32,99,111,110,115,105,100,101,114,101,100,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,118,105,115,105,98,108,101,45,114,101,115,111,117,114,99,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<68,105,114,101,99,116,108,121,32,86,105,115,105,98,108,101,32,69,114,108,97,110,103,32,82,101,115,111,117,114,99,101>>]},<<32,97,110,100,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,117,110,114,101,103,105,115,116,101,114,101,100,32,119,104,101,110,32,116,104,101,32,112,114,111,99,101,115,115,32,116,101,114,109,105,110,97,116,101,115,46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,105,100,79,114,80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,110,32,101,120,105,115,116,105,110,103,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,105,115,32,97,108,114,101,97,100,121,32,114,101,103,105,115,116,101,114,101,100,32,40,97,108,114,101,97,100,121,32,104,97,115,32,97,32,110,97,109,101,41,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,105,115,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,57,54,57>>,signature => [{attribute,{1834,2},spec,{{register,2},[{type,{1834,15},bounded_fun,[{type,{1834,15},'fun',[{type,{1834,15},product,[{var,{1834,16},'RegName'},{var,{1834,25},'PidOrPort'}]},{atom,{1834,39},true}]},[{type,{1835,7},constraint,[{atom,{1835,7},is_subtype},[{var,{1835,7},'RegName'},{type,{1835,18},atom,[]}]]},{type,{1836,7},constraint,[{atom,{1836,7},is_subtype},[{var,{1836,7},'PidOrPort'},{type,{1836,20},union,[{type,{1836,20},port,[]},{type,{1836,29},pid,[]}]}]]}]]}]}}]}},{{function,registered,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1841}],[<<114,101,103,105,115,116,101,114,101,100,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,110,97,109,101,115,32,116,104,97,116,32,104,97,118,101,32,98,101,101,110,32,114,101,103,105,115,116,101,114,101,100,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,103,105,115,116,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,103,105,115,116,101,114,47,50>>]}]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,114,101,103,105,115,116,101,114,101,100,40,41,46,10,91,99,111,100,101,95,115,101,114,118,101,114,44,32,102,105,108,101,95,115,101,114,118,101,114,44,32,105,110,105,116,44,32,117,115,101,114,44,32,109,121,95,100,98,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,48,48,53>>,signature => [{attribute,{1841,2},spec,{{registered,0},[{type,{1841,17},bounded_fun,[{type,{1841,17},'fun',[{type,{1841,17},product,[]},{type,{1841,23},list,[{var,{1841,24},'RegName'}]}]},[{type,{1842,7},constraint,[{atom,{1842,7},is_subtype},[{var,{1842,7},'RegName'},{type,{1842,18},atom,[]}]]}]]}]}}]}},{{function,resume_process,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1847}],[<<114,101,115,117,109,101,95,112,114,111,99,101,115,115,47,49>>],#{<<101,110>> => [{p,[],[<<68,101,99,114,101,97,115,101,115,32,116,104,101,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<46,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,112,114,101,118,105,111,117,115,108,121,32,116,111,32,104,97,118,101,32,98,101,101,110,32,115,117,115,112,101,110,100,101,100,32,116,104,114,111,117,103,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49>>]}]},<<32,98,121,32,116,104,101,32,112,114,111,99,101,115,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,114,101,115,117,109,101,95,112,114,111,99,101,115,115,40,83,117,115,112,101,110,100,101,101,41>>]},<<46,32,87,104,101,110,32,116,104,101,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,114,101,97,99,104,101,115,32,122,101,114,111,44,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,114,101,115,117,109,101,100,44,32,116,104,97,116,32,105,115,44,32,105,116,115,32,115,116,97,116,101,32,105,115,32,99,104,97,110,103,101,100,32,102,114,111,109,32,115,117,115,112,101,110,100,101,100,32,105,110,116,111,32,116,104,101,32,115,116,97,116,101,32,105,116,32,104,97,100,32,98,101,102,111,114,101,32,105,116,32,119,97,115,32,115,117,115,112,101,110,100,101,100,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,111,110,108,121,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,110,111,116,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,114,101,115,117,109,101,95,112,114,111,99,101,115,115,47,49>>]},<<32,104,97,100,32,110,111,116,32,112,114,101,118,105,111,117,115,108,121,32,105,110,99,114,101,97,115,101,100,32,116,104,101,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,110,111,116,32,97,108,105,118,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,48,49,56>>,signature => [{attribute,{1847,2},spec,{{erlang,resume_process,1},[{type,{1847,28},bounded_fun,[{type,{1847,28},'fun',[{type,{1847,28},product,[{var,{1847,29},'Suspendee'}]},{atom,{1847,43},true}]},[{type,{1848,7},constraint,[{atom,{1848,7},is_subtype},[{var,{1848,7},'Suspendee'},{type,{1848,20},pid,[]}]]}]]}]}}]}},{{function,round,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1854}],[<<114,111,117,110,100,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,98,121,32,114,111,117,110,100,105,110,103,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<114,111,117,110,100,40,52,50,46,49,41,46,10,52,50>>]}]},{pre,[],[{code,[],[<<114,111,117,110,100,40,53,46,53,41,46,10,54>>]}]},{pre,[],[{code,[],[<<114,111,117,110,100,40,45,53,46,53,41,46,10,45,54>>]}]},{pre,[],[{code,[],[<<114,111,117,110,100,40,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,57,46,48,41,46,10,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56>>]}]},{p,[],[<<73,110,32,116,104,101,32,108,97,115,116,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<114,111,117,110,100,40,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,57,46,48,41>>]},<<32,101,118,97,108,117,97,116,101,115,32,116,111,32>>,{code,[],[<<51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56>>]},<<46,32,84,104,101,32,114,101,97,115,111,110,32,102,111,114,32,116,104,105,115,32,105,115,32,116,104,97,116,32,116,104,101,32,110,117,109,98,101,114,32>>,{code,[],[<<51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,57,46,48>>]},<<32,99,97,110,110,111,116,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,101,120,97,99,116,108,121,32,97,115,32,97,32,102,108,111,97,116,32,118,97,108,117,101,46,32,73,110,115,116,101,97,100,44,32,116,104,101,32,102,108,111,97,116,32,108,105,116,101,114,97,108,32,105,115,32,114,101,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56,46,48>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,99,108,111,115,101,115,116,32,110,117,109,98,101,114,32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,101,120,97,99,116,108,121,32,97,115,32,97,32,102,108,111,97,116,32,118,97,108,117,101,46,32,83,101,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,102,108,111,97,116,95,114,101,112,114,101,115,101,110,116,97,116,105,111,110,95,112,114,111,98,108,101,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<82,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,70,108,111,97,116,105,110,103,32,80,111,105,110,116,32,78,117,109,98,101,114,115>>]},<<32,102,111,114,32,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,48,53,57>>,signature => [{attribute,{1854,2},spec,{{round,1},[{type,{1854,12},bounded_fun,[{type,{1854,12},'fun',[{type,{1854,12},product,[{var,{1854,13},'Number'}]},{type,{1854,24},integer,[]}]},[{type,{1855,7},constraint,[{atom,{1855,7},is_subtype},[{var,{1855,7},'Number'},{type,{1855,17},number,[]}]]}]]}]}}]}},{{function,self,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1861}],[<<115,101,108,102,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,115,101,108,102,40,41,46,10,60,48,46,50,54,46,48,62>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,48,57,48>>,signature => [{attribute,{1861,2},spec,{{self,0},[{type,{1861,11},'fun',[{type,{1861,11},product,[]},{type,{1861,17},pid,[]}]}]}}]}},{{function,send,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2559}],[<<115,101,110,100,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<100,115,116>>}],[]}]},{p,[],[<<83,101,110,100,115,32,97,32,109,101,115,115,97,103,101,32,97,110,100,32,114,101,116,117,114,110,115,32>>,{code,[],[<<77,115,103>>]},<<46,32,84,104,105,115,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,117,115,105,110,103,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,115,101,110,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,101,110,100,32,111,112,101,114,97,116,111,114>>]},<<58,32>>,{code,[],[<<68,101,115,116,32,33,32,77,115,103>>]},<<46>>]},{p,[],[{code,[],[<<68,101,115,116>>]},<<32,99,97,110,32,98,101,32,97,32,114,101,109,111,116,101,32,111,114,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,44,32,97,110,32,97,108,105,97,115,44,32,97,32,40,108,111,99,97,108,41,32,112,111,114,116,44,32,97,32,108,111,99,97,108,108,121,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,44,32,111,114,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,82,101,103,78,97,109,101,44,32,78,111,100,101,125>>]},<<32,102,111,114,32,97,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,97,116,32,97,110,111,116,104,101,114,32,110,111,100,101,46>>]},{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,115,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,114,117,110,45,116,105,109,101,32,101,114,114,111,114,32,105,102,32>>,{code,[],[<<68,101,115,116>>]},<<32,105,115,32,97,110,32,97,116,111,109,32,110,97,109,101,44,32,98,117,116,32,116,104,105,115,32,110,97,109,101,32,105,115,32,110,111,116,32,114,101,103,105,115,116,101,114,101,100,46,32,84,104,105,115,32,105,115,32,116,104,101,32,111,110,108,121,32,99,97,115,101,32,119,104,101,110,32>>,{code,[],[<<115,101,110,100>>]},<<32,102,97,105,108,115,32,102,111,114,32,97,110,32,117,110,114,101,97,99,104,97,98,108,101,32,100,101,115,116,105,110,97,116,105,111,110,32>>,{code,[],[<<68,101,115,116>>]},<<32,40,111,102,32,99,111,114,114,101,99,116,32,116,121,112,101,41,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,49,48,51>>,signature => [{attribute,{2559,2},spec,{{erlang,send,2},[{type,{2559,18},bounded_fun,[{type,{2559,18},'fun',[{type,{2559,18},product,[{var,{2559,19},'Dest'},{var,{2559,25},'Msg'}]},{var,{2559,33},'Msg'}]},[{type,{2560,7},constraint,[{atom,{2560,7},is_subtype},[{var,{2560,7},'Dest'},{user_type,{2560,15},dst,[]}]]},{type,{2561,7},constraint,[{atom,{2561,7},is_subtype},[{var,{2561,7},'Msg'},{type,{2561,14},term,[]}]]}]]}]}}]}},{{function,send,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2565}],[<<115,101,110,100,47,51>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<100,115,116>>}],[]}]},{p,[],[<<69,105,116,104,101,114,32,115,101,110,100,115,32,97,32,109,101,115,115,97,103,101,32,97,110,100,32,114,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<44,32,111,114,32,100,111,101,115,32,110,111,116,32,115,101,110,100,32,116,104,101,32,109,101,115,115,97,103,101,32,98,117,116,32,114,101,116,117,114,110,115,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,40,115,101,101,32,98,101,108,111,119,41,46,32,79,116,104,101,114,119,105,115,101,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,47,50>>]}]},<<46,32,70,111,114,32,109,111,114,101,32,100,101,116,97,105,108,101,100,32,101,120,112,108,97,110,97,116,105,111,110,32,97,110,100,32,119,97,114,110,105,110,103,115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50,44,51>>]}]},<<46>>]},{p,[],[<<79,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<110,111,115,117,115,112,101,110,100>>]}]},{dd,[],[<<73,102,32,116,104,101,32,115,101,110,100,101,114,32,119,111,117,108,100,32,104,97,118,101,32,116,111,32,98,101,32,115,117,115,112,101,110,100,101,100,32,116,111,32,100,111,32,116,104,101,32,115,101,110,100,44,32>>,{code,[],[<<110,111,115,117,115,112,101,110,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]},{dt,[],[{code,[],[<<110,111,99,111,110,110,101,99,116>>]}]},{dd,[],[<<73,102,32,116,104,101,32,100,101,115,116,105,110,97,116,105,111,110,32,110,111,100,101,32,119,111,117,108,100,32,104,97,118,101,32,116,111,32,98,101,32,97,117,116,111,45,99,111,110,110,101,99,116,101,100,32,116,111,32,100,111,32,116,104,101,32,115,101,110,100,44,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<65,115,32,119,105,116,104,32>>,{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50,44,51>>]},<<58,32,117,115,101,32,119,105,116,104,32,101,120,116,114,101,109,101,32,99,97,114,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,49,50,51>>,signature => [{attribute,{2565,2},spec,{{erlang,send,3},[{type,{2565,18},bounded_fun,[{type,{2565,18},'fun',[{type,{2565,18},product,[{var,{2565,19},'Dest'},{var,{2565,25},'Msg'},{var,{2565,30},'Options'}]},{var,{2565,42},'Res'}]},[{type,{2566,7},constraint,[{atom,{2566,7},is_subtype},[{var,{2566,7},'Dest'},{user_type,{2566,15},dst,[]}]]},{type,{2567,7},constraint,[{atom,{2567,7},is_subtype},[{var,{2567,7},'Msg'},{type,{2567,14},term,[]}]]},{type,{2568,7},constraint,[{atom,{2568,7},is_subtype},[{var,{2568,7},'Options'},{type,{2568,18},list,[{type,{2568,19},union,[{atom,{2568,19},nosuspend},{atom,{2568,31},noconnect}]}]}]]},{type,{2569,7},constraint,[{atom,{2569,7},is_subtype},[{var,{2569,7},'Res'},{type,{2569,14},union,[{atom,{2569,14},ok},{atom,{2569,19},nosuspend},{atom,{2569,31},noconnect}]}]]}]]}]}}]}},{{function,send_after,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1866}],[<<115,101,110,100,95,97,102,116,101,114,47,51>>],#{<<101,110>> => [{p,[],[<<83,116,97,114,116,115,32,97,32,116,105,109,101,114,46,32,84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,97,102,116,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114,40,84,105,109,101,44,32,68,101,115,116,44,32,77,115,103,44,32,91,93,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,49,53,53>>,signature => [{attribute,{1866,2},spec,{{erlang,send_after,3},[{type,{1866,24},bounded_fun,[{type,{1866,24},'fun',[{type,{1866,24},product,[{var,{1866,25},'Time'},{var,{1866,31},'Dest'},{var,{1866,37},'Msg'}]},{var,{1866,45},'TimerRef'}]},[{type,{1867,7},constraint,[{atom,{1867,7},is_subtype},[{var,{1867,7},'Time'},{type,{1867,15},non_neg_integer,[]}]]},{type,{1868,7},constraint,[{atom,{1868,7},is_subtype},[{var,{1868,7},'Dest'},{type,{1868,15},union,[{type,{1868,15},pid,[]},{type,{1868,23},atom,[]}]}]]},{type,{1869,7},constraint,[{atom,{1869,7},is_subtype},[{var,{1869,7},'Msg'},{type,{1869,14},term,[]}]]},{type,{1870,7},constraint,[{atom,{1870,7},is_subtype},[{var,{1870,7},'TimerRef'},{type,{1870,19},reference,[]}]]}]]}]}}]}},{{function,send_after,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1876}],[<<115,101,110,100,95,97,102,116,101,114,47,52>>],#{<<101,110>> => [{p,[],[<<83,116,97,114,116,115,32,97,32,116,105,109,101,114,46,32,87,104,101,110,32,116,104,101,32,116,105,109,101,114,32,101,120,112,105,114,101,115,44,32,116,104,101,32,109,101,115,115,97,103,101,32>>,{code,[],[<<77,115,103>>]},<<32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,101,115,116>>]},<<46,32,65,112,97,114,116,32,102,114,111,109,32,116,104,101,32,102,111,114,109,97,116,32,111,102,32,116,104,101,32,116,105,109,101,45,111,117,116,32,109,101,115,115,97,103,101,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,119,111,114,107,115,32,101,120,97,99,116,108,121,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,114,116,95,116,105,109,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114,47,52>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,49,54,54>>,signature => [{attribute,{1876,2},spec,{{erlang,send_after,4},[{type,{1876,24},bounded_fun,[{type,{1876,24},'fun',[{type,{1876,24},product,[{var,{1876,25},'Time'},{var,{1876,31},'Dest'},{var,{1876,37},'Msg'},{var,{1876,42},'Options'}]},{var,{1876,54},'TimerRef'}]},[{type,{1877,7},constraint,[{atom,{1877,7},is_subtype},[{var,{1877,7},'Time'},{type,{1877,15},integer,[]}]]},{type,{1878,7},constraint,[{atom,{1878,7},is_subtype},[{var,{1878,7},'Dest'},{type,{1878,15},union,[{type,{1878,15},pid,[]},{type,{1878,23},atom,[]}]}]]},{type,{1879,7},constraint,[{atom,{1879,7},is_subtype},[{var,{1879,7},'Msg'},{type,{1879,14},term,[]}]]},{type,{1880,7},constraint,[{atom,{1880,7},is_subtype},[{var,{1880,7},'Options'},{type,{1880,18},list,[{var,{1880,19},'Option'}]}]]},{type,{1881,7},constraint,[{atom,{1881,7},is_subtype},[{var,{1881,7},'Abs'},{type,{1881,14},boolean,[]}]]},{type,{1882,7},constraint,[{atom,{1882,7},is_subtype},[{var,{1882,7},'Option'},{type,{1882,17},tuple,[{atom,{1882,18},abs},{var,{1882,23},'Abs'}]}]]},{type,{1883,7},constraint,[{atom,{1883,7},is_subtype},[{var,{1883,7},'TimerRef'},{type,{1883,19},reference,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,send_nosuspend,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3478}],[<<115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<100,115,116>>}],[]}]},{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,40,68,101,115,116,44,32,77,115,103,44,32,91,110,111,115,117,115,112,101,110,100,93,41>>]}]},<<44,32,98,117,116,32,114,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,109,101,115,115,97,103,101,32,119,97,115,32,115,101,110,116,32,97,110,100,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,116,104,101,32,109,101,115,115,97,103,101,32,119,97,115,32,110,111,116,32,115,101,110,116,32,98,101,99,97,117,115,101,32,116,104,101,32,115,101,110,100,101,114,32,119,111,117,108,100,32,104,97,118,101,32,104,97,100,32,116,111,32,98,101,32,115,117,115,112,101,110,100,101,100,46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,115,101,110,100,32,111,112,101,114,97,116,105,111,110,115,32,116,111,32,97,110,32,117,110,114,101,108,105,97,98,108,101,32,114,101,109,111,116,101,32,110,111,100,101,32,119,105,116,104,111,117,116,32,101,118,101,114,32,98,108,111,99,107,105,110,103,32,116,104,101,32,115,101,110,100,105,110,103,32,40,69,114,108,97,110,103,41,32,112,114,111,99,101,115,115,46,32,73,102,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32,116,104,101,32,114,101,109,111,116,101,32,110,111,100,101,32,40,117,115,117,97,108,108,121,32,110,111,116,32,97,32,114,101,97,108,32,69,114,108,97,110,103,32,110,111,100,101,44,32,98,117,116,32,97,32,110,111,100,101,32,119,114,105,116,116,101,110,32,105,110,32,67,32,111,114,32,74,97,118,97,41,32,105,115,32,111,118,101,114,108,111,97,100,101,100,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32>>,{em,[],[<<100,111,101,115,32,110,111,116,32,115,101,110,100,32,116,104,101,32,109,101,115,115,97,103,101>>]},<<32,97,110,100,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<84,104,101,32,115,97,109,101,32,111,99,99,117,114,115,32,105,102,32>>,{code,[],[<<68,101,115,116>>]},<<32,114,101,102,101,114,115,32,116,111,32,97,32,108,111,99,97,108,32,112,111,114,116,32,116,104,97,116,32,105,115,32,98,117,115,121,46,32,70,111,114,32,97,108,108,32,111,116,104,101,114,32,100,101,115,116,105,110,97,116,105,111,110,115,32,40,97,108,108,111,119,101,100,32,102,111,114,32,116,104,101,32,111,114,100,105,110,97,114,121,32,115,101,110,100,32,111,112,101,114,97,116,111,114,32>>,{code,[],[<<39,33,39>>]},<<41,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,115,101,110,100,115,32,116,104,101,32,109,101,115,115,97,103,101,32,97,110,100,32,114,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,111,110,108,121,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,114,97,114,101,32,99,105,114,99,117,109,115,116,97,110,99,101,115,32,119,104,101,114,101,32,97,32,112,114,111,99,101,115,115,32,99,111,109,109,117,110,105,99,97,116,101,115,32,119,105,116,104,32,69,114,108,97,110,103,32,110,111,100,101,115,32,116,104,97,116,32,99,97,110,32,100,105,115,97,112,112,101,97,114,32,119,105,116,104,111,117,116,32,97,110,121,32,116,114,97,99,101,44,32,99,97,117,115,105,110,103,32,116,104,101,32,84,67,80,32,98,117,102,102,101,114,115,32,97,110,100,32,116,104,101,32,100,114,105,118,101,114,115,32,113,117,101,117,101,32,116,111,32,98,101,32,111,118,101,114,45,102,117,108,108,32,98,101,102,111,114,101,32,116,104,101,32,110,111,100,101,32,105,115,32,115,104,117,116,32,100,111,119,110,32,40,98,101,99,97,117,115,101,32,111,102,32,116,105,99,107,32,116,105,109,101,45,111,117,116,115,41,32,98,121,32>>,{code,[],[<<110,101,116,95,107,101,114,110,101,108>>]},<<46,32,84,104,101,32,110,111,114,109,97,108,32,114,101,97,99,116,105,111,110,32,116,111,32,116,97,107,101,32,119,104,101,110,32,116,104,105,115,32,111,99,99,117,114,115,32,105,115,32,115,111,109,101,32,107,105,110,100,32,111,102,32,112,114,101,109,97,116,117,114,101,32,115,104,117,116,100,111,119,110,32,111,102,32,116,104,101,32,111,116,104,101,114,32,110,111,100,101,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,105,103,110,111,114,105,110,103,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,102,114,111,109,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,119,111,117,108,100,32,114,101,115,117,108,116,32,105,110,32,97,110,32>>,{em,[],[<<117,110,114,101,108,105,97,98,108,101>>]},<<32,109,101,115,115,97,103,101,32,112,97,115,115,105,110,103,44,32,119,104,105,99,104,32,105,115,32,99,111,110,116,114,97,100,105,99,116,111,114,121,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,103,114,97,109,109,105,110,103,32,109,111,100,101,108,46,32,84,104,101,32,109,101,115,115,97,103,101,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,115,101,110,116,32,105,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<73,110,32,109,97,110,121,32,115,121,115,116,101,109,115,44,32,116,114,97,110,115,105,101,110,116,32,115,116,97,116,101,115,32,111,102,32,111,118,101,114,108,111,97,100,101,100,32,113,117,101,117,101,115,32,97,114,101,32,110,111,114,109,97,108,46,32,65,108,116,104,111,117,103,104,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,100,111,101,115,32,110,111,116,32,109,101,97,110,32,116,104,97,116,32,116,104,101,32,111,116,104,101,114,32,110,111,100,101,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,110,111,110,45,114,101,115,112,111,110,115,105,118,101,44,32,105,116,32,99,111,117,108,100,32,98,101,32,97,32,116,101,109,112,111,114,97,114,121,32,111,118,101,114,108,111,97,100,46,32,65,108,115,111,44,32,97,32,114,101,116,117,114,110,32,118,97,108,117,101,32,111,102,32>>,{code,[],[<<116,114,117,101>>]},<<32,100,111,101,115,32,111,110,108,121,32,109,101,97,110,32,116,104,97,116,32,116,104,101,32,109,101,115,115,97,103,101,32,99,97,110,32,98,101,32,115,101,110,116,32,111,110,32,116,104,101,32,40,84,67,80,41,32,99,104,97,110,110,101,108,32,119,105,116,104,111,117,116,32,98,108,111,99,107,105,110,103,59,32,116,104,101,32,109,101,115,115,97,103,101,32,105,115,32,110,111,116,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,97,114,114,105,118,101,32,97,116,32,116,104,101,32,114,101,109,111,116,101,32,110,111,100,101,46,32,70,111,114,32,97,32,100,105,115,99,111,110,110,101,99,116,101,100,32,110,111,110,45,114,101,115,112,111,110,115,105,118,101,32,110,111,100,101,44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,40,109,105,109,105,99,115,32,116,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,111,112,101,114,97,116,111,114,32>>,{code,[],[<<33>>]},<<41,46,32,84,104,101,32,101,120,112,101,99,116,101,100,32,98,101,104,97,118,105,111,114,32,97,110,100,32,116,104,101,32,97,99,116,105,111,110,115,32,116,111,32,116,97,107,101,32,119,104,101,110,32,116,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,97,114,101,32,97,112,112,108,105,99,97,116,105,111,110,45,32,97,110,100,32,104,97,114,100,119,97,114,101,45,115,112,101,99,105,102,105,99,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<85,115,101,32,119,105,116,104,32,101,120,116,114,101,109,101,32,99,97,114,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,49,55,57>>,signature => [{attribute,{3478,2},spec,{{erlang,send_nosuspend,2},[{type,{3478,28},bounded_fun,[{type,{3478,28},'fun',[{type,{3478,28},product,[{var,{3478,29},'Dest'},{var,{3478,35},'Msg'}]},{type,{3478,43},boolean,[]}]},[{type,{3479,7},constraint,[{atom,{3479,7},is_subtype},[{var,{3479,7},'Dest'},{user_type,{3479,15},dst,[]}]]},{type,{3480,7},constraint,[{atom,{3480,7},is_subtype},[{var,{3480,7},'Msg'},{type,{3480,14},term,[]}]]}]]}]}}]}},{{function,send_nosuspend,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3488}],[<<115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,51>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<100,115,116>>}],[]}]},{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,40,68,101,115,116,44,32,77,115,103,44,32,91,110,111,115,117,115,112,101,110,100,32,124,32,79,112,116,105,111,110,115,93,41>>]}]},<<44,32,98,117,116,32,119,105,116,104,32,97,32,66,111,111,108,101,97,110,32,114,101,116,117,114,110,32,118,97,108,117,101,46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,98,101,104,97,118,101,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50>>]}]},<<44,32,98,117,116,32,116,97,107,101,115,32,97,32,116,104,105,114,100,32,112,97,114,97,109,101,116,101,114,44,32,97,32,108,105,115,116,32,111,102,32,111,112,116,105,111,110,115,46,32,84,104,101,32,111,110,108,121,32,111,112,116,105,111,110,32,105,115,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116>>]},<<44,32,119,104,105,99,104,32,109,97,107,101,115,32,116,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,116,104,101,32,114,101,109,111,116,101,32,110,111,100,101,32,105,115,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,114,101,97,99,104,97,98,108,101,32,98,121,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46,32,84,104,101,32,110,111,114,109,97,108,32,98,101,104,97,118,105,111,114,32,105,115,32,116,111,32,116,114,121,32,116,111,32,99,111,110,110,101,99,116,32,116,111,32,116,104,101,32,110,111,100,101,44,32,119,104,105,99,104,32,99,97,110,32,115,116,97,108,108,32,116,104,101,32,112,114,111,99,101,115,115,32,100,117,114,105,110,103,32,97,32,115,104,111,114,116,32,112,101,114,105,111,100,46,32,84,104,101,32,117,115,101,32,111,102,32,111,112,116,105,111,110,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116>>]},<<32,109,97,107,101,115,32,105,116,32,112,111,115,115,105,98,108,101,32,116,111,32,98,101,32,115,117,114,101,32,110,111,116,32,116,111,32,103,101,116,32,116,104,101,32,115,108,105,103,104,116,101,115,116,32,100,101,108,97,121,32,119,104,101,110,32,115,101,110,100,105,110,103,32,116,111,32,97,32,114,101,109,111,116,101,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,105,115,32,101,115,112,101,99,105,97,108,108,121,32,117,115,101,102,117,108,32,119,104,101,110,32,99,111,109,109,117,110,105,99,97,116,105,110,103,32,119,105,116,104,32,110,111,100,101,115,32,116,104,97,116,32,101,120,112,101,99,116,32,116,111,32,97,108,119,97,121,115,32,98,101,32,116,104,101,32,99,111,110,110,101,99,116,105,110,103,32,112,97,114,116,32,40,116,104,97,116,32,105,115,44,32,110,111,100,101,115,32,119,114,105,116,116,101,110,32,105,110,32,67,32,111,114,32,74,97,118,97,41,46>>]},{p,[],[<<87,104,101,110,101,118,101,114,32,116,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,40,101,105,116,104,101,114,32,119,104,101,110,32,97,32,115,117,115,112,101,110,100,32,119,111,117,108,100,32,111,99,99,117,114,32,111,114,32,119,104,101,110,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116>>]},<<32,119,97,115,32,115,112,101,99,105,102,105,101,100,32,97,110,100,32,116,104,101,32,110,111,100,101,32,119,97,115,32,110,111,116,32,97,108,114,101,97,100,121,32,99,111,110,110,101,99,116,101,100,41,44,32,116,104,101,32,109,101,115,115,97,103,101,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32>>,{em,[],[<<110,111,116>>]},<<32,116,111,32,104,97,118,101,32,98,101,101,110,32,115,101,110,116,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<85,115,101,32,119,105,116,104,32,101,120,116,114,101,109,101,32,99,97,114,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,50,50,57>>,signature => [{attribute,{3488,2},spec,{{erlang,send_nosuspend,3},[{type,{3488,28},bounded_fun,[{type,{3488,28},'fun',[{type,{3488,28},product,[{var,{3488,29},'Dest'},{var,{3488,35},'Msg'},{var,{3488,40},'Options'}]},{type,{3488,52},boolean,[]}]},[{type,{3489,7},constraint,[{atom,{3489,7},is_subtype},[{var,{3489,7},'Dest'},{user_type,{3489,15},dst,[]}]]},{type,{3490,7},constraint,[{atom,{3490,7},is_subtype},[{var,{3490,7},'Msg'},{type,{3490,14},term,[]}]]},{type,{3491,7},constraint,[{atom,{3491,7},is_subtype},[{var,{3491,7},'Options'},{type,{3491,18},list,[{atom,{3491,19},noconnect}]}]]}]]}]}}]}},{{function,set_cookie,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3797}],[<<115,101,116,95,99,111,111,107,105,101,47,49>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,109,97,103,105,99,32,99,111,111,107,105,101,32,111,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,116,111,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<67,111,111,107,105,101>>]},<<44,32,119,104,105,99,104,32,105,115,32,97,108,115,111,32,116,104,101,32,99,111,111,107,105,101,32,102,111,114,32,97,108,108,32,110,111,100,101,115,32,116,104,97,116,32,104,97,118,101,32,110,111,32,101,120,112,108,105,99,105,116,32,99,111,111,107,105,101,32,115,101,116,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,116,95,99,111,111,107,105,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,101,116,95,99,111,111,107,105,101,47,50>>]}]},<<32>>,{code,[],[<<67,111,111,107,105,101>>]},<<32,40,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,105,115,116,114,105,98,117,116,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<68,105,115,116,114,105,98,117,116,101,100,32,69,114,108,97,110,103>>]},<<32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,32,105,110,32,83,121,115,116,101,109,32,68,111,99,117,109,101,110,116,97,116,105,111,110,41,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<102,117,110,99,116,105,111,110,95,99,108,97,117,115,101>>]},<<32,105,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,50,54,50>>,signature => [{attribute,{3797,2},spec,{{erlang,set_cookie,1},[{type,{3797,24},bounded_fun,[{type,{3797,24},'fun',[{type,{3797,24},product,[{var,{3797,25},'Cookie'}]},{atom,{3797,36},true}]},[{type,{3798,7},constraint,[{atom,{3798,7},is_subtype},[{var,{3798,7},'Cookie'},{type,{3798,17},atom,[]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,49>>}},{{function,set_cookie,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3804}],[<<115,101,116,95,99,111,111,107,105,101,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,109,97,103,105,99,32,99,111,111,107,105,101,32,102,111,114,32>>,{code,[],[<<78,111,100,101>>]},<<32,116,111,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<67,111,111,107,105,101>>]},<<46,32,73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,105,115,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,44,32,116,104,101,32,102,117,110,99,116,105,111,110,32,115,101,116,115,32,116,104,101,32,99,111,111,107,105,101,32,111,102,32,97,108,108,32,111,116,104,101,114,32,110,111,100,101,115,32,40,116,104,97,116,32,104,97,118,101,32,110,111,32,101,120,112,108,105,99,105,116,32,99,111,111,107,105,101,32,115,101,116,32,119,105,116,104,32,116,104,105,115,32,102,117,110,99,116,105,111,110,41,32,116,111,32>>,{code,[],[<<67,111,111,107,105,101>>]},<<32,40,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,105,115,116,114,105,98,117,116,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<68,105,115,116,114,105,98,117,116,101,100,32,69,114,108,97,110,103>>]},<<32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,32,105,110,32,83,121,115,116,101,109,32,68,111,99,117,109,101,110,116,97,116,105,111,110,41,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<102,117,110,99,116,105,111,110,95,99,108,97,117,115,101>>]},<<32,105,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,50,55,57>>,signature => [{attribute,{3804,2},spec,{{erlang,set_cookie,2},[{type,{3804,24},bounded_fun,[{type,{3804,24},'fun',[{type,{3804,24},product,[{var,{3804,25},'Node'},{var,{3804,31},'Cookie'}]},{atom,{3804,42},true}]},[{type,{3805,7},constraint,[{atom,{3805,7},is_subtype},[{var,{3805,7},'Node'},{type,{3805,15},node,[]}]]},{type,{3806,7},constraint,[{atom,{3806,7},is_subtype},[{var,{3806,7},'Cookie'},{type,{3806,17},atom,[]}]]}]]}]}}]}},{{function,setelement,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2586}],[<<115,101,116,101,108,101,109,101,110,116,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,116,117,112,108,101,32,116,104,97,116,32,105,115,32,97,32,99,111,112,121,32,111,102,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<84,117,112,108,101,49>>]},<<32,119,105,116,104,32,116,104,101,32,101,108,101,109,101,110,116,32,115,112,101,99,105,102,105,101,100,32,98,121,32,105,110,116,101,103,101,114,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<73,110,100,101,120>>]},<<32,40,116,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32,116,104,101,32,101,108,101,109,101,110,116,32,119,105,116,104,32,105,110,100,101,120,32,49,41,32,114,101,112,108,97,99,101,100,32,98,121,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<86,97,108,117,101>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,115,101,116,101,108,101,109,101,110,116,40,50,44,32,123,49,48,44,32,103,114,101,101,110,44,32,98,111,116,116,108,101,115,125,44,32,114,101,100,41,46,10,123,49,48,44,114,101,100,44,98,111,116,116,108,101,115,125>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,50,57,54>>,signature => [{attribute,{2586,2},spec,{{setelement,3},[{type,{2586,17},bounded_fun,[{type,{2586,17},'fun',[{type,{2586,17},product,[{var,{2586,18},'Index'},{var,{2586,25},'Tuple1'},{var,{2586,33},'Value'}]},{var,{2586,43},'Tuple2'}]},[{type,{2587,7},constraint,[{atom,{2587,7},is_subtype},[{var,{2587,7},'Index'},{type,{2587,16},pos_integer,[]}]]},{type,{2588,7},constraint,[{atom,{2588,7},is_subtype},[{var,{2588,7},'Tuple1'},{type,{2588,17},tuple,any}]]},{type,{2589,7},constraint,[{atom,{2589,7},is_subtype},[{var,{2589,7},'Tuple2'},{type,{2589,17},tuple,any}]]},{type,{2590,7},constraint,[{atom,{2590,7},is_subtype},[{var,{2590,7},'Value'},{type,{2590,16},term,[]}]]}]]}]}}]}},{{function,size,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1937}],[<<115,105,122,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,105,110,32,97,32,116,117,112,108,101,32,111,114,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,105,110,32,97,32,98,105,110,97,114,121,32,111,114,32,98,105,116,115,116,114,105,110,103,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,115,105,122,101,40,123,109,111,114,110,105,44,32,109,117,108,108,101,44,32,98,119,97,110,103,101,125,41,46,10,51,10,62,32,115,105,122,101,40,60,60,49,49,44,32,50,50,44,32,51,51,62,62,41,46,10,51>>]}]},{p,[],[<<70,111,114,32,98,105,116,115,116,114,105,110,103,115,44,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,119,104,111,108,101,32,98,121,116,101,115,32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,97,116,32,105,115,44,32,105,102,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,105,116,115,32,105,110,32,116,104,101,32,98,105,116,115,116,114,105,110,103,32,105,115,32,110,111,116,32,100,105,118,105,115,105,98,108,101,32,98,121,32,56,44,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,105,115,32,114,111,117,110,100,101,100,32>>,{em,[],[<<100,111,119,110>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,117,112,108,101,95,115,105,122,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,117,112,108,101,95,115,105,122,101,47,49>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,121,116,101,95,115,105,122,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,121,116,101,95,115,105,122,101,47,49>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,116,95,115,105,122,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,116,95,115,105,122,101,47,49>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,51,49,51>>,signature => [{attribute,{1937,2},spec,{{size,1},[{type,{1937,11},bounded_fun,[{type,{1937,11},'fun',[{type,{1937,11},product,[{var,{1937,12},'Item'}]},{type,{1937,21},non_neg_integer,[]}]},[{type,{1938,7},constraint,[{atom,{1938,7},is_subtype},[{var,{1938,7},'Item'},{type,{1938,15},union,[{type,{1938,15},tuple,any},{type,{1938,25},binary,[]}]}]]}]]}]}}]}},{{function,spawn,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2972}],[<<115,112,97,119,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,51,51,54>>,signature => [{attribute,{2972,2},spec,{{spawn,1},[{type,{2972,12},bounded_fun,[{type,{2972,12},'fun',[{type,{2972,12},product,[{var,{2972,13},'Fun'}]},{type,{2972,21},pid,[]}]},[{type,{2973,7},constraint,[{atom,{2973,7},is_subtype},[{var,{2973,7},'Fun'},{type,{2973,14},function,[]}]]}]]}]}}]}},{{function,spawn,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2981}],[<<115,112,97,119,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<32,111,110,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,97,32,117,115,101,108,101,115,115,32,112,105,100,32,105,115,32,114,101,116,117,114,110,101,100,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,51,52,55>>,signature => [{attribute,{2981,2},spec,{{spawn,2},[{type,{2981,12},bounded_fun,[{type,{2981,12},'fun',[{type,{2981,12},product,[{var,{2981,13},'Node'},{var,{2981,19},'Fun'}]},{type,{2981,27},pid,[]}]},[{type,{2982,7},constraint,[{atom,{2982,7},is_subtype},[{var,{2982,7},'Node'},{type,{2982,15},node,[]}]]},{type,{2983,7},constraint,[{atom,{2983,7},is_subtype},[{var,{2983,7},'Fun'},{type,{2983,14},function,[]}]]}]]}]}}]}},{{function,spawn,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1943}],[<<115,112,97,119,110,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<46>>]},{p,[],[{code,[],[<<101,114,114,111,114,95,104,97,110,100,108,101,114,58,117,110,100,101,102,105,110,101,100,95,102,117,110,99,116,105,111,110,40,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,103,115,41>>]},<<32,105,115,32,101,118,97,108,117,97,116,101,100,32,98,121,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,32,105,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,47,65,114,105,116,121>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,32,40,119,104,101,114,101,32>>,{code,[],[<<65,114,105,116,121>>]},<<32,105,115,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32>>,{code,[],[<<65,114,103,115>>]},<<41,46,32,84,104,101,32,101,114,114,111,114,32,104,97,110,100,108,101,114,32,99,97,110,32,98,101,32,114,101,100,101,102,105,110,101,100,32,40,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>]}]},<<41,46,32,73,102,32>>,{code,[],[<<101,114,114,111,114,95,104,97,110,100,108,101,114>>]},<<32,105,115,32,117,110,100,101,102,105,110,101,100,44,32,111,114,32,116,104,101,32,117,115,101,114,32,104,97,115,32,114,101,100,101,102,105,110,101,100,32,116,104,101,32,100,101,102,97,117,108,116,32>>,{code,[],[<<101,114,114,111,114,95,104,97,110,100,108,101,114>>]},<<32,97,110,100,32,105,116,115,32,114,101,112,108,97,99,101,109,101,110,116,32,105,115,32,117,110,100,101,102,105,110,101,100,44,32,97,32,102,97,105,108,117,114,101,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<117,110,100,101,102>>]},<<32,111,99,99,117,114,115,46>>]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,115,112,97,119,110,40,115,112,101,101,100,44,32,114,101,103,117,108,97,116,111,114,44,32,91,104,105,103,104,95,115,112,101,101,100,44,32,116,104,105,110,95,99,117,116,93,41,46,10,60,48,46,49,51,46,49,62>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,51,54,49>>,signature => [{attribute,{1943,2},spec,{{spawn,3},[{type,{1943,12},bounded_fun,[{type,{1943,12},'fun',[{type,{1943,12},product,[{var,{1943,13},'Module'},{var,{1943,21},'Function'},{var,{1943,31},'Args'}]},{type,{1943,40},pid,[]}]},[{type,{1944,7},constraint,[{atom,{1944,7},is_subtype},[{var,{1944,7},'Module'},{type,{1944,17},module,[]}]]},{type,{1945,7},constraint,[{atom,{1945,7},is_subtype},[{var,{1945,7},'Function'},{type,{1945,19},atom,[]}]]},{type,{1946,7},constraint,[{atom,{1946,7},is_subtype},[{var,{1946,7},'Args'},{type,{1946,15},list,[{type,{1946,16},term,[]}]}]]}]]}]}}]}},{{function,spawn,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3110}],[<<115,112,97,119,110,47,52>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<32,111,110,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,97,32,117,115,101,108,101,115,115,32,112,105,100,32,105,115,32,114,101,116,117,114,110,101,100,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,51,56,54>>,signature => [{attribute,{3110,2},spec,{{spawn,4},[{type,{3110,12},bounded_fun,[{type,{3110,12},'fun',[{type,{3110,12},product,[{var,{3110,13},'Node'},{var,{3110,19},'Module'},{var,{3110,27},'Function'},{var,{3110,37},'Args'}]},{type,{3110,46},pid,[]}]},[{type,{3111,7},constraint,[{atom,{3111,7},is_subtype},[{var,{3111,7},'Node'},{type,{3111,15},node,[]}]]},{type,{3112,7},constraint,[{atom,{3112,7},is_subtype},[{var,{3112,7},'Module'},{type,{3112,17},module,[]}]]},{type,{3113,7},constraint,[{atom,{3113,7},is_subtype},[{var,{3113,7},'Function'},{type,{3113,19},atom,[]}]]},{type,{3114,7},constraint,[{atom,{3114,7},is_subtype},[{var,{3114,7},'Args'},{type,{3114,15},list,[{type,{3114,16},term,[]}]}]]}]]}]}}]}},{{function,spawn_link,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2993}],[<<115,112,97,119,110,95,108,105,110,107,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<46,32,65,32,108,105,110,107,32,105,115,32,99,114,101,97,116,101,100,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,44,32,97,116,111,109,105,99,97,108,108,121,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,52,48,49>>,signature => [{attribute,{2993,2},spec,{{spawn_link,1},[{type,{2993,17},bounded_fun,[{type,{2993,17},'fun',[{type,{2993,17},product,[{var,{2993,18},'Fun'}]},{type,{2993,26},pid,[]}]},[{type,{2994,7},constraint,[{atom,{2994,7},is_subtype},[{var,{2994,7},'Fun'},{type,{2994,14},function,[]}]]}]]}]}}]}},{{function,spawn_link,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3002}],[<<115,112,97,119,110,95,108,105,110,107,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<32,111,110,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,65,32,108,105,110,107,32,105,115,32,99,114,101,97,116,101,100,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,44,32,97,116,111,109,105,99,97,108,108,121,46,32,73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,97,32,117,115,101,108,101,115,115,32,112,105,100,32,105,115,32,114,101,116,117,114,110,101,100,32,97,110,100,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]},<<32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,52,49,53>>,signature => [{attribute,{3002,2},spec,{{spawn_link,2},[{type,{3002,17},bounded_fun,[{type,{3002,17},'fun',[{type,{3002,17},product,[{var,{3002,18},'Node'},{var,{3002,24},'Fun'}]},{type,{3002,32},pid,[]}]},[{type,{3003,7},constraint,[{atom,{3003,7},is_subtype},[{var,{3003,7},'Node'},{type,{3003,15},node,[]}]]},{type,{3004,7},constraint,[{atom,{3004,7},is_subtype},[{var,{3004,7},'Fun'},{type,{3004,14},function,[]}]]}]]}]}}]}},{{function,spawn_link,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1951}],[<<115,112,97,119,110,95,108,105,110,107,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<46,32,65,32,108,105,110,107,32,105,115,32,99,114,101,97,116,101,100,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,44,32,97,116,111,109,105,99,97,108,108,121,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,52,51,50>>,signature => [{attribute,{1951,2},spec,{{spawn_link,3},[{type,{1951,17},bounded_fun,[{type,{1951,17},'fun',[{type,{1951,17},product,[{var,{1951,18},'Module'},{var,{1951,26},'Function'},{var,{1951,36},'Args'}]},{type,{1951,45},pid,[]}]},[{type,{1952,7},constraint,[{atom,{1952,7},is_subtype},[{var,{1952,7},'Module'},{type,{1952,17},module,[]}]]},{type,{1953,7},constraint,[{atom,{1953,7},is_subtype},[{var,{1953,7},'Function'},{type,{1953,19},atom,[]}]]},{type,{1954,7},constraint,[{atom,{1954,7},is_subtype},[{var,{1954,7},'Args'},{type,{1954,15},list,[{type,{1954,16},term,[]}]}]]}]]}]}}]}},{{function,spawn_link,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3132}],[<<115,112,97,119,110,95,108,105,110,107,47,52>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<32,111,110,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,65,32,108,105,110,107,32,105,115,32,99,114,101,97,116,101,100,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,44,32,97,116,111,109,105,99,97,108,108,121,46,32,73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,97,32,117,115,101,108,101,115,115,32,112,105,100,32,105,115,32,114,101,116,117,114,110,101,100,32,97,110,100,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]},<<32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,52,52,54>>,signature => [{attribute,{3132,2},spec,{{spawn_link,4},[{type,{3132,17},bounded_fun,[{type,{3132,17},'fun',[{type,{3132,17},product,[{var,{3132,18},'Node'},{var,{3132,24},'Module'},{var,{3132,32},'Function'},{var,{3132,42},'Args'}]},{type,{3132,51},pid,[]}]},[{type,{3133,7},constraint,[{atom,{3133,7},is_subtype},[{var,{3133,7},'Node'},{type,{3133,15},node,[]}]]},{type,{3134,7},constraint,[{atom,{3134,7},is_subtype},[{var,{3134,7},'Module'},{type,{3134,17},module,[]}]]},{type,{3135,7},constraint,[{atom,{3135,7},is_subtype},[{var,{3135,7},'Function'},{type,{3135,19},atom,[]}]]},{type,{3136,7},constraint,[{atom,{3136,7},is_subtype},[{var,{3136,7},'Args'},{type,{3136,15},list,[{type,{3136,16},term,[]}]}]]}]]}]}}]}},{{function,spawn_monitor,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3016}],[<<115,112,97,119,110,95,109,111,110,105,116,111,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,44,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<44,32,97,110,100,32,97,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,97,32,109,111,110,105,116,111,114,32,99,114,101,97,116,101,100,32,116,111,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,52,54,52>>,signature => [{attribute,{3016,2},spec,{{spawn_monitor,1},[{type,{3016,20},bounded_fun,[{type,{3016,20},'fun',[{type,{3016,20},product,[{var,{3016,21},'Fun'}]},{type,{3016,29},tuple,[{type,{3016,30},pid,[]},{type,{3016,37},reference,[]}]}]},[{type,{3017,7},constraint,[{atom,{3017,7},is_subtype},[{var,{3017,7},'Fun'},{type,{3017,14},function,[]}]]}]]}]}}]}},{{function,spawn_monitor,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3023}],[<<115,112,97,119,110,95,109,111,110,105,116,111,114,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,44,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<32,111,110,32,116,104,101,32,110,111,100,101,32>>,{code,[],[<<78,111,100,101>>]},<<44,32,97,110,100,32,97,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,97,32,109,111,110,105,116,111,114,32,99,114,101,97,116,101,100,32,116,111,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,100,105,115,116,114,105,98,117,116,101,100,32>>,{code,[],[<<115,112,97,119,110,95,109,111,110,105,116,111,114,40,41>>]},<<44,32,116,104,101,32,99,97,108,108,32,119,105,108,108,32,102,97,105,108,32,119,105,116,104,32,97,32>>,{code,[],[<<110,111,116,115,117,112>>]},<<32,101,120,99,101,112,116,105,111,110,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,52,55,56>>,signature => [{attribute,{3023,2},spec,{{spawn_monitor,2},[{type,{3023,20},bounded_fun,[{type,{3023,20},'fun',[{type,{3023,20},product,[{var,{3023,21},'Node'},{var,{3023,27},'Fun'}]},{type,{3023,35},tuple,[{type,{3023,36},pid,[]},{type,{3023,43},reference,[]}]}]},[{type,{3024,7},constraint,[{atom,{3024,7},is_subtype},[{var,{3024,7},'Node'},{type,{3024,15},node,[]}]]},{type,{3025,7},constraint,[{atom,{3025,7},is_subtype},[{var,{3025,7},'Fun'},{type,{3025,14},function,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_monitor,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3037}],[<<115,112,97,119,110,95,109,111,110,105,116,111,114,47,51>>],#{<<101,110>> => [{p,[],[<<65,32,110,101,119,32,112,114,111,99,101,115,115,32,105,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<46,32,84,104,101,32,112,114,111,99,101,115,115,32,105,115,32,109,111,110,105,116,111,114,101,100,32,97,116,32,116,104,101,32,115,97,109,101,32,116,105,109,101,46,32,82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,97,110,100,32,97,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,116,104,101,32,109,111,110,105,116,111,114,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,52,57,53>>,signature => [{attribute,{3037,2},spec,{{spawn_monitor,3},[{type,{3037,20},bounded_fun,[{type,{3037,20},'fun',[{type,{3037,20},product,[{var,{3037,21},'Module'},{var,{3037,29},'Function'},{var,{3037,39},'Args'}]},{type,{3037,48},tuple,[{type,{3037,49},pid,[]},{type,{3037,56},reference,[]}]}]},[{type,{3038,7},constraint,[{atom,{3038,7},is_subtype},[{var,{3038,7},'Module'},{type,{3038,17},module,[]}]]},{type,{3039,7},constraint,[{atom,{3039,7},is_subtype},[{var,{3039,7},'Function'},{type,{3039,19},atom,[]}]]},{type,{3040,7},constraint,[{atom,{3040,7},is_subtype},[{var,{3040,7},'Args'},{type,{3040,15},list,[{type,{3040,16},term,[]}]}]]}]]}]}}]}},{{function,spawn_monitor,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3154}],[<<115,112,97,119,110,95,109,111,110,105,116,111,114,47,52>>],#{<<101,110>> => [{p,[],[<<65,32,110,101,119,32,112,114,111,99,101,115,115,32,105,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<32,111,110,32,116,104,101,32,110,111,100,101,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,84,104,101,32,112,114,111,99,101,115,115,32,105,115,32,109,111,110,105,116,111,114,101,100,32,97,116,32,116,104,101,32,115,97,109,101,32,116,105,109,101,46,32,82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,97,110,100,32,97,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,116,104,101,32,109,111,110,105,116,111,114,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,100,105,115,116,114,105,98,117,116,101,100,32>>,{code,[],[<<115,112,97,119,110,95,109,111,110,105,116,111,114,40,41>>]},<<44,32,116,104,101,32,99,97,108,108,32,119,105,108,108,32,102,97,105,108,32,119,105,116,104,32,97,32>>,{code,[],[<<110,111,116,115,117,112>>]},<<32,101,120,99,101,112,116,105,111,110,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,53,48,57>>,signature => [{attribute,{3154,2},spec,{{spawn_monitor,4},[{type,{3154,20},bounded_fun,[{type,{3154,20},'fun',[{type,{3154,20},product,[{var,{3154,21},'Node'},{var,{3154,27},'Module'},{var,{3154,35},'Function'},{var,{3154,45},'Args'}]},{type,{3154,54},tuple,[{type,{3154,55},pid,[]},{type,{3154,62},reference,[]}]}]},[{type,{3155,7},constraint,[{atom,{3155,7},is_subtype},[{var,{3155,7},'Node'},{type,{3155,15},node,[]}]]},{type,{3156,7},constraint,[{atom,{3156,7},is_subtype},[{var,{3156,7},'Module'},{type,{3156,17},module,[]}]]},{type,{3157,7},constraint,[{atom,{3157,7},is_subtype},[{var,{3157,7},'Function'},{type,{3157,19},atom,[]}]]},{type,{3158,7},constraint,[{atom,{3158,7},is_subtype},[{var,{3158,7},'Args'},{type,{3158,15},list,[{type,{3158,16},term,[]}]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_opt,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3067}],[<<115,112,97,119,110,95,111,112,116,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]},{li,[{name,<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>}],[]},{li,[{name,<<112,114,105,111,114,105,116,121,95,108,101,118,101,108>>}],[]},{li,[{name,<<115,112,97,119,110,95,111,112,116,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,52>>]}]},<<46>>]},{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<109,111,110,105,116,111,114>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,32,105,115,32,109,111,110,105,116,111,114,101,100,44,32,97,110,100,32,98,111,116,104,32,116,104,101,32,112,105,100,32,97,110,100,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,116,104,101,32,109,111,110,105,116,111,114,32,97,114,101,32,114,101,116,117,114,110,101,100,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,53,50,54>>,signature => [{attribute,{3067,2},spec,{{spawn_opt,2},[{type,{3067,16},bounded_fun,[{type,{3067,16},'fun',[{type,{3067,16},product,[{var,{3067,17},'Fun'},{var,{3067,22},'Options'}]},{type,{3067,34},union,[{type,{3067,34},pid,[]},{type,{3067,42},tuple,[{type,{3067,43},pid,[]},{type,{3067,50},reference,[]}]}]}]},[{type,{3068,7},constraint,[{atom,{3068,7},is_subtype},[{var,{3068,7},'Fun'},{type,{3068,14},function,[]}]]},{type,{3069,7},constraint,[{atom,{3069,7},is_subtype},[{var,{3069,7},'Options'},{type,{3069,18},list,[{user_type,{3069,19},spawn_opt_option,[]}]}]]}]]}]}}]}},{{function,spawn_opt,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3082}],[<<115,112,97,119,110,95,111,112,116,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<32,111,110,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,97,32,117,115,101,108,101,115,115,32,112,105,100,32,105,115,32,114,101,116,117,114,110,101,100,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,52>>]}]},<<46>>]},{p,[],[<<86,97,108,105,100,32,111,112,116,105,111,110,115,32,100,101,112,101,110,100,115,32,111,110,32,119,104,97,116,32,111,112,116,105,111,110,115,32,97,114,101,32,115,117,112,112,111,114,116,101,100,32,98,121,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,65,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,118,97,108,105,100,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,102,111,114,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,111,102,32,99,117,114,114,101,110,116,32,79,84,80,32,118,101,114,115,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,52>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,53,52,52>>,signature => [{attribute,{3082,2},spec,{{spawn_opt,3},[{type,{3082,16},bounded_fun,[{type,{3082,16},'fun',[{type,{3082,16},product,[{var,{3082,17},'Node'},{var,{3082,23},'Fun'},{var,{3082,28},'Options'}]},{type,{3082,40},union,[{type,{3082,40},pid,[]},{type,{3082,48},tuple,[{type,{3082,49},pid,[]},{type,{3082,56},reference,[]}]}]}]},[{type,{3083,7},constraint,[{atom,{3083,7},is_subtype},[{var,{3083,7},'Node'},{type,{3083,15},node,[]}]]},{type,{3084,7},constraint,[{atom,{3084,7},is_subtype},[{var,{3084,7},'Fun'},{type,{3084,14},function,[]}]]},{type,{3085,7},constraint,[{atom,{3085,7},is_subtype},[{var,{3085,7},'Options'},{type,{3085,18},list,[{type,{3085,19},union,[{atom,{3085,19},monitor},{type,{3086,19},tuple,[{atom,{3086,20},monitor},{type,{3086,29},list,[{user_type,{3086,30},monitor_option,[]}]}]},{atom,{3087,19},link},{var,{3088,19},'OtherOption'}]}]}]]},{type,{3089,7},constraint,[{atom,{3089,7},is_subtype},[{var,{3089,7},'OtherOption'},{type,{3089,22},term,[]}]]}]]}]}}]}},{{function,spawn_opt,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3199}],[<<115,112,97,119,110,95,111,112,116,47,52>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]},{li,[{name,<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>}],[]},{li,[{name,<<112,114,105,111,114,105,116,121,95,108,101,118,101,108>>}],[]},{li,[{name,<<115,112,97,119,110,95,111,112,116,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<87,111,114,107,115,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<44,32,101,120,99,101,112,116,32,116,104,97,116,32,97,110,32,101,120,116,114,97,32,111,112,116,105,111,110,32,108,105,115,116,32,105,115,32,115,112,101,99,105,102,105,101,100,32,119,104,101,110,32,99,114,101,97,116,105,110,103,32,116,104,101,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<109,111,110,105,116,111,114>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,32,105,115,32,109,111,110,105,116,111,114,101,100,44,32,97,110,100,32,98,111,116,104,32,116,104,101,32,112,105,100,32,97,110,100,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,116,104,101,32,109,111,110,105,116,111,114,32,97,114,101,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<79,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<108,105,110,107>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,97,32,108,105,110,107,32,116,111,32,116,104,101,32,112,97,114,101,110,116,32,112,114,111,99,101,115,115,32,40,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,108,105,110,107,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,108,105,110,107,47,51>>]}]},<<32,100,111,101,115,41,46>>]}]},{dt,[],[{code,[],[<<109,111,110,105,116,111,114>>]}]},{dd,[],[{p,[],[<<77,111,110,105,116,111,114,115,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,32,40,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,80,105,100,41>>]}]},<<32,100,111,101,115,41,46,32,65,32>>,{code,[],[<<123,80,105,100,44,32,77,111,110,105,116,111,114,82,101,102,125>>]},<<32,116,117,112,108,101,32,119,105,108,108,32,98,101,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,32,111,102,32,106,117,115,116,32,97,32>>,{code,[],[<<80,105,100>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,109,111,110,105,116,111,114,44,32,77,111,110,105,116,111,114,79,112,116,115,125>>]}]},{dd,[],[{p,[],[<<77,111,110,105,116,111,114,115,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,32,119,105,116,104,32,111,112,116,105,111,110,115,32,40,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,80,105,100,44,32,77,111,110,105,116,111,114,79,112,116,115,41>>]}]},<<32,100,111,101,115,41,46,32,65,32>>,{code,[],[<<123,80,105,100,44,32,77,111,110,105,116,111,114,82,101,102,125>>]},<<32,116,117,112,108,101,32,119,105,108,108,32,98,101,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,32,111,102,32,106,117,115,116,32,97,32>>,{code,[],[<<80,105,100>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,112,114,105,111,114,105,116,121,44,32,76,101,118,101,108,125>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,116,104,101,32,112,114,105,111,114,105,116,121,32,111,102,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,46,32,69,113,117,105,118,97,108,101,110,116,32,116,111,32,101,120,101,99,117,116,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,112,114,105,111,114,105,116,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,112,114,105,111,114,105,116,121,44,32,76,101,118,101,108,41>>]}]},<<32,105,110,32,116,104,101,32,115,116,97,114,116,32,102,117,110,99,116,105,111,110,32,111,102,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,44,32,101,120,99,101,112,116,32,116,104,97,116,32,116,104,101,32,112,114,105,111,114,105,116,121,32,105,115,32,115,101,116,32,98,101,102,111,114,101,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,115,101,108,101,99,116,101,100,32,102,111,114,32,101,120,101,99,117,116,105,111,110,32,102,111,114,32,116,104,101,32,102,105,114,115,116,32,116,105,109,101,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,112,114,105,111,114,105,116,105,101,115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,112,114,105,111,114,105,116,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,112,114,105,111,114,105,116,121,44,32,76,101,118,101,108,41>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114,44,32,78,117,109,98,101,114,125>>]}]},{dd,[],[{p,[],[<<85,115,101,102,117,108,32,111,110,108,121,32,102,111,114,32,112,101,114,102,111,114,109,97,110,99,101,32,116,117,110,105,110,103,46,32,68,111,32,110,111,116,32,117,115,101,32,116,104,105,115,32,111,112,116,105,111,110,32,117,110,108,101,115,115,32,121,111,117,32,107,110,111,119,32,116,104,97,116,32,116,104,101,114,101,32,105,115,32,112,114,111,98,108,101,109,32,119,105,116,104,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,115,32,111,114,32,109,101,109,111,114,121,32,99,111,110,115,117,109,112,116,105,111,110,44,32,97,110,100,32,101,110,115,117,114,101,32,116,104,97,116,32,116,104,101,32,111,112,116,105,111,110,32,105,109,112,114,111,118,101,115,32,109,97,116,116,101,114,115,46>>]},{p,[],[<<84,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,117,115,101,115,32,97,32,103,101,110,101,114,97,116,105,111,110,97,108,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,115,99,104,101,109,101,44,32,117,115,105,110,103,32,97,110,32,34,111,108,100,32,104,101,97,112,34,32,102,111,114,32,100,97,116,97,32,116,104,97,116,32,104,97,115,32,115,117,114,118,105,118,101,100,32,97,116,32,108,101,97,115,116,32,111,110,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46,32,87,104,101,110,32,116,104,101,114,101,32,105,115,32,110,111,32,109,111,114,101,32,114,111,111,109,32,111,110,32,116,104,101,32,111,108,100,32,104,101,97,112,44,32,97,32,102,117,108,108,115,119,101,101,112,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,100,111,110,101,46>>]},{p,[],[<<79,112,116,105,111,110,32>>,{code,[],[<<102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>]},<<32,109,97,107,101,115,32,105,116,32,112,111,115,115,105,98,108,101,32,116,111,32,115,112,101,99,105,102,121,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,103,101,110,101,114,97,116,105,111,110,97,108,32,99,111,108,108,101,99,116,105,111,110,115,32,98,101,102,111,114,101,32,102,111,114,99,105,110,103,32,97,32,102,117,108,108,115,119,101,101,112,44,32,101,118,101,110,32,105,102,32,116,104,101,114,101,32,105,115,32,114,111,111,109,32,111,110,32,116,104,101,32,111,108,100,32,104,101,97,112,46,32,83,101,116,116,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,116,111,32,122,101,114,111,32,100,105,115,97,98,108,101,115,32,116,104,101,32,103,101,110,101,114,97,108,32,99,111,108,108,101,99,116,105,111,110,32,97,108,103,111,114,105,116,104,109,44,32,116,104,97,116,32,105,115,44,32,97,108,108,32,108,105,118,101,32,100,97,116,97,32,105,115,32,99,111,112,105,101,100,32,97,116,32,101,118,101,114,121,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46>>]},{p,[],[<<65,32,102,101,119,32,99,97,115,101,115,32,119,104,101,110,32,105,116,32,99,97,110,32,98,101,32,117,115,101,102,117,108,32,116,111,32,99,104,97,110,103,101,32>>,{code,[],[<<102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>]},<<58>>]},{ul,[],[{li,[],[{p,[],[<<73,102,32,98,105,110,97,114,105,101,115,32,116,104,97,116,32,97,114,101,32,110,111,32,108,111,110,103,101,114,32,117,115,101,100,32,97,114,101,32,116,111,32,98,101,32,116,104,114,111,119,110,32,97,119,97,121,32,97,115,32,115,111,111,110,32,97,115,32,112,111,115,115,105,98,108,101,46,32,40,83,101,116,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<32,116,111,32,122,101,114,111,46,41>>]}]},{li,[],[{p,[],[<<65,32,112,114,111,99,101,115,115,32,116,104,97,116,32,109,111,115,116,108,121,32,104,97,118,101,32,115,104,111,114,116,45,108,105,118,101,100,32,100,97,116,97,32,105,115,32,102,117,108,108,115,119,101,101,112,101,100,32,115,101,108,100,111,109,32,111,114,32,110,101,118,101,114,44,32,116,104,97,116,32,105,115,44,32,116,104,101,32,111,108,100,32,104,101,97,112,32,99,111,110,116,97,105,110,115,32,109,111,115,116,108,121,32,103,97,114,98,97,103,101,46,32,84,111,32,101,110,115,117,114,101,32,97,32,102,117,108,108,115,119,101,101,112,32,111,99,99,97,115,105,111,110,97,108,108,121,44,32,115,101,116,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<32,116,111,32,97,32,115,117,105,116,97,98,108,101,32,118,97,108,117,101,44,32,115,117,99,104,32,97,115,32,49,48,32,111,114,32,50,48,46>>]}]},{li,[],[<<73,110,32,101,109,98,101,100,100,101,100,32,115,121,115,116,101,109,115,32,119,105,116,104,32,97,32,108,105,109,105,116,101,100,32,97,109,111,117,110,116,32,111,102,32,82,65,77,32,97,110,100,32,110,111,32,118,105,114,116,117,97,108,32,109,101,109,111,114,121,44,32,121,111,117,32,109,105,103,104,116,32,119,97,110,116,32,116,111,32,112,114,101,115,101,114,118,101,32,109,101,109,111,114,121,32,98,121,32,115,101,116,116,105,110,103,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<32,116,111,32,122,101,114,111,46,32,40,84,104,101,32,118,97,108,117,101,32,99,97,110,32,98,101,32,115,101,116,32,103,108,111,98,97,108,108,121,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,47,50>>]}]},<<46,41>>]}]}]},{dt,[],[{code,[],[<<123,109,105,110,95,104,101,97,112,95,115,105,122,101,44,32,83,105,122,101,125>>]}]},{dd,[],[{p,[],[<<85,115,101,102,117,108,32,111,110,108,121,32,102,111,114,32,112,101,114,102,111,114,109,97,110,99,101,32,116,117,110,105,110,103,46,32,68,111,32,110,111,116,32,117,115,101,32,116,104,105,115,32,111,112,116,105,111,110,32,117,110,108,101,115,115,32,121,111,117,32,107,110,111,119,32,116,104,97,116,32,116,104,101,114,101,32,105,115,32,112,114,111,98,108,101,109,32,119,105,116,104,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,115,32,111,114,32,109,101,109,111,114,121,32,99,111,110,115,117,109,112,116,105,111,110,44,32,97,110,100,32,101,110,115,117,114,101,32,116,104,97,116,32,116,104,101,32,111,112,116,105,111,110,32,105,109,112,114,111,118,101,115,32,109,97,116,116,101,114,115,46>>]},{p,[],[<<71,105,118,101,115,32,97,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,44,32,105,110,32,119,111,114,100,115,46,32,83,101,116,116,105,110,103,32,116,104,105,115,32,118,97,108,117,101,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,99,97,110,32,115,112,101,101,100,32,117,112,32,115,111,109,101,32,112,114,111,99,101,115,115,101,115,32,98,101,99,97,117,115,101,32,108,101,115,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,100,111,110,101,46,32,72,111,119,101,118,101,114,44,32,115,101,116,116,105,110,103,32,97,32,116,111,111,32,104,105,103,104,32,118,97,108,117,101,32,99,97,110,32,119,97,115,116,101,32,109,101,109,111,114,121,32,97,110,100,32,115,108,111,119,32,100,111,119,110,32,116,104,101,32,115,121,115,116,101,109,32,98,101,99,97,117,115,101,32,111,102,32,119,111,114,115,101,32,100,97,116,97,32,108,111,99,97,108,105,116,121,46,32,84,104,101,114,101,102,111,114,101,44,32,117,115,101,32,116,104,105,115,32,111,112,116,105,111,110,32,111,110,108,121,32,102,111,114,32,102,105,110,101,45,116,117,110,105,110,103,32,97,110,32,97,112,112,108,105,99,97,116,105,111,110,32,97,110,100,32,116,111,32,109,101,97,115,117,114,101,32,116,104,101,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,32,119,105,116,104,32,118,97,114,105,111,117,115,32>>,{code,[],[<<83,105,122,101>>]},<<32,118,97,108,117,101,115,46>>]}]},{dt,[],[{code,[],[<<123,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101,44,32,86,83,105,122,101,125>>]}]},{dd,[],[{p,[],[<<85,115,101,102,117,108,32,111,110,108,121,32,102,111,114,32,112,101,114,102,111,114,109,97,110,99,101,32,116,117,110,105,110,103,46,32,68,111,32,110,111,116,32,117,115,101,32,116,104,105,115,32,111,112,116,105,111,110,32,117,110,108,101,115,115,32,121,111,117,32,107,110,111,119,32,116,104,97,116,32,116,104,101,114,101,32,105,115,32,112,114,111,98,108,101,109,32,119,105,116,104,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,115,32,111,114,32,109,101,109,111,114,121,32,99,111,110,115,117,109,112,116,105,111,110,44,32,97,110,100,32,101,110,115,117,114,101,32,116,104,97,116,32,116,104,101,32,111,112,116,105,111,110,32,105,109,112,114,111,118,101,115,32,109,97,116,116,101,114,115,46>>]},{p,[],[<<71,105,118,101,115,32,97,32,109,105,110,105,109,117,109,32,98,105,110,97,114,121,32,118,105,114,116,117,97,108,32,104,101,97,112,32,115,105,122,101,44,32,105,110,32,119,111,114,100,115,46,32,83,101,116,116,105,110,103,32,116,104,105,115,32,118,97,108,117,101,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,99,97,110,32,115,112,101,101,100,32,117,112,32,115,111,109,101,32,112,114,111,99,101,115,115,101,115,32,98,101,99,97,117,115,101,32,108,101,115,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,100,111,110,101,46,32,72,111,119,101,118,101,114,44,32,115,101,116,116,105,110,103,32,97,32,116,111,111,32,104,105,103,104,32,118,97,108,117,101,32,99,97,110,32,119,97,115,116,101,32,109,101,109,111,114,121,46,32,84,104,101,114,101,102,111,114,101,44,32,117,115,101,32,116,104,105,115,32,111,112,116,105,111,110,32,111,110,108,121,32,102,111,114,32,102,105,110,101,45,116,117,110,105,110,103,32,97,110,32,97,112,112,108,105,99,97,116,105,111,110,32,97,110,100,32,116,111,32,109,101,97,115,117,114,101,32,116,104,101,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,32,119,105,116,104,32,118,97,114,105,111,117,115,32>>,{code,[],[<<86,83,105,122,101>>]},<<32,118,97,108,117,101,115,46>>]}]},{dt,[],[{code,[],[<<123,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,83,105,122,101,125>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,116,104,101,32>>,{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,46,32,84,104,101,32,100,101,102,97,117,108,116,32>>,{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]},<<32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,97,120>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,97,120>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,83,105,122,101,41>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,44,32,77,81,68,125>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,46,32>>,{code,[],[<<77,81,68>>]},<<32,99,97,110,32,98,101,32,101,105,116,104,101,114,32>>,{code,[],[<<111,102,102,95,104,101,97,112>>]},<<32,111,114,32>>,{code,[],[<<111,110,95,104,101,97,112>>]},<<46,32,84,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32,116,104,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,113,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,113,100>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,44,32,77,81,68,41>>]}]},<<46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,53,54,55>>,signature => [{attribute,{3199,2},spec,{{spawn_opt,4},[{type,{3199,16},bounded_fun,[{type,{3199,16},'fun',[{type,{3199,16},product,[{var,{3199,17},'Module'},{var,{3199,25},'Function'},{var,{3199,35},'Args'},{var,{3199,41},'Options'}]},{type,{3200,11},union,[{var,{3200,11},'Pid'},{type,{3200,17},tuple,[{var,{3200,18},'Pid'},{var,{3200,23},'MonitorRef'}]}]}]},[{type,{3201,7},constraint,[{atom,{3201,7},is_subtype},[{var,{3201,7},'Module'},{type,{3201,17},module,[]}]]},{type,{3202,7},constraint,[{atom,{3202,7},is_subtype},[{var,{3202,7},'Function'},{type,{3202,19},atom,[]}]]},{type,{3203,7},constraint,[{atom,{3203,7},is_subtype},[{var,{3203,7},'Args'},{type,{3203,15},list,[{type,{3203,16},term,[]}]}]]},{type,{3204,7},constraint,[{atom,{3204,7},is_subtype},[{var,{3204,7},'Options'},{type,{3204,18},list,[{user_type,{3204,19},spawn_opt_option,[]}]}]]},{type,{3205,7},constraint,[{atom,{3205,7},is_subtype},[{var,{3205,7},'Pid'},{type,{3205,14},pid,[]}]]},{type,{3206,7},constraint,[{atom,{3206,7},is_subtype},[{var,{3206,7},'MonitorRef'},{type,{3206,21},reference,[]}]]}]]}]}}]}},{{function,spawn_opt,5},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3211}],[<<115,112,97,119,110,95,111,112,116,47,53>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<32,111,110,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,97,32,117,115,101,108,101,115,115,32,112,105,100,32,105,115,32,114,101,116,117,114,110,101,100,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,52>>]}]},<<46>>]},{p,[],[<<86,97,108,105,100,32,111,112,116,105,111,110,115,32,100,101,112,101,110,100,115,32,111,110,32,119,104,97,116,32,111,112,116,105,111,110,115,32,97,114,101,32,115,117,112,112,111,114,116,101,100,32,98,121,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,65,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,118,97,108,105,100,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,102,111,114,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,111,102,32,99,117,114,114,101,110,116,32,79,84,80,32,118,101,114,115,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,52>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,55,49,53>>,signature => [{attribute,{3211,2},spec,{{spawn_opt,5},[{type,{3211,16},bounded_fun,[{type,{3211,16},'fun',[{type,{3211,16},product,[{var,{3211,17},'Node'},{var,{3211,23},'Module'},{var,{3211,31},'Function'},{var,{3211,41},'Args'},{var,{3211,47},'Options'}]},{type,{3212,24},union,[{type,{3212,24},pid,[]},{type,{3212,32},tuple,[{type,{3212,33},pid,[]},{type,{3212,40},reference,[]}]}]}]},[{type,{3213,7},constraint,[{atom,{3213,7},is_subtype},[{var,{3213,7},'Node'},{type,{3213,15},node,[]}]]},{type,{3214,7},constraint,[{atom,{3214,7},is_subtype},[{var,{3214,7},'Module'},{type,{3214,17},module,[]}]]},{type,{3215,7},constraint,[{atom,{3215,7},is_subtype},[{var,{3215,7},'Function'},{type,{3215,19},atom,[]}]]},{type,{3216,7},constraint,[{atom,{3216,7},is_subtype},[{var,{3216,7},'Args'},{type,{3216,15},list,[{type,{3216,16},term,[]}]}]]},{type,{3217,7},constraint,[{atom,{3217,7},is_subtype},[{var,{3217,7},'Options'},{type,{3217,18},list,[{type,{3217,19},union,[{atom,{3217,19},monitor},{type,{3218,19},tuple,[{atom,{3218,20},monitor},{type,{3218,29},list,[{user_type,{3218,30},monitor_option,[]}]}]},{atom,{3219,19},link},{var,{3220,19},'OtherOption'}]}]}]]},{type,{3221,7},constraint,[{atom,{3221,7},is_subtype},[{var,{3221,7},'OtherOption'},{type,{3221,22},term,[]}]]}]]}]}}]}},{{function,spawn_request,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3266}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,110,111,100,101,40,41,44,70,117,110,44,91,93,41>>]}]},<<46,32,84,104,97,116,32,105,115,44,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,111,110,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,119,105,116,104,32,110,111,32,111,112,116,105,111,110,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,55,51,57>>,signature => [{attribute,{3266,2},spec,{{spawn_request,1},[{type,{3266,20},bounded_fun,[{type,{3266,20},'fun',[{type,{3266,20},product,[{var,{3266,21},'Fun'}]},{var,{3266,29},'ReqId'}]},[{type,{3267,7},constraint,[{atom,{3267,7},is_subtype},[{var,{3267,7},'Fun'},{type,{3267,14},function,[]}]]},{type,{3268,7},constraint,[{atom,{3268,7},is_subtype},[{var,{3268,7},'ReqId'},{type,{3268,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3284}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,50>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,110,111,100,101,40,41,44,70,117,110,44,79,112,116,105,111,110,115,41>>]}]},<<46,32,84,104,97,116,32,105,115,44,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,111,110,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,55,53,49>>,signature => [{attribute,{3284,2},spec,{{spawn_request,2},[{type,{3284,20},bounded_fun,[{type,{3284,20},'fun',[{type,{3284,20},product,[{var,{3284,21},'Fun'},{var,{3284,26},'Options'}]},{var,{3284,38},'ReqId'}]},[{type,{3285,7},constraint,[{atom,{3285,7},is_subtype},[{var,{3285,7},'Fun'},{type,{3285,14},function,[]}]]},{type,{3286,7},constraint,[{atom,{3286,7},is_subtype},[{var,{3286,7},'Option'},{type,{3286,17},union,[{type,{3286,17},tuple,[{atom,{3286,18},reply_tag},{var,{3286,29},'ReplyTag'}]},{type,{3287,17},tuple,[{atom,{3287,18},reply},{var,{3287,25},'Reply'}]},{user_type,{3288,17},spawn_opt_option,[]}]}]]},{type,{3289,7},constraint,[{atom,{3289,7},is_subtype},[{var,{3289,7},'ReplyTag'},{type,{3289,19},term,[]}]]},{type,{3290,7},constraint,[{atom,{3290,7},is_subtype},[{var,{3290,7},'Reply'},{type,{3290,16},union,[{atom,{3290,16},yes},{atom,{3290,22},no},{atom,{3290,27},error_only},{atom,{3290,40},success_only}]}]]},{type,{3291,7},constraint,[{atom,{3291,7},is_subtype},[{var,{3291,7},'Options'},{type,{3291,18},list,[{var,{3291,19},'Option'}]}]]},{type,{3292,7},constraint,[{atom,{3292,7},is_subtype},[{var,{3292,7},'ReqId'},{type,{3292,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3284}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,50>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,78,111,100,101,44,70,117,110,44,91,93,41>>]}]},<<46,32,84,104,97,116,32,105,115,44,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,119,105,116,104,32,110,111,32,111,112,116,105,111,110,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,55,54,51>>,signature => [{attribute,{3284,2},spec,{{spawn_request,2},[{type,{3293,20},bounded_fun,[{type,{3293,20},'fun',[{type,{3293,20},product,[{var,{3293,21},'Node'},{var,{3293,27},'Fun'}]},{var,{3293,35},'ReqId'}]},[{type,{3294,7},constraint,[{atom,{3294,7},is_subtype},[{var,{3294,7},'Node'},{type,{3294,15},node,[]}]]},{type,{3295,7},constraint,[{atom,{3295,7},is_subtype},[{var,{3295,7},'Fun'},{type,{3295,14},function,[]}]]},{type,{3296,7},constraint,[{atom,{3296,7},is_subtype},[{var,{3296,7},'ReqId'},{type,{3296,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3319}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,51>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,78,111,100,101,44,101,114,108,97,110,103,44,97,112,112,108,121,44,91,70,117,110,44,91,93,93,44,79,112,116,105,111,110,115,41>>]}]},<<46,32,84,104,97,116,32,105,115,44,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,117,115,105,110,103,32,116,104,101,32,102,117,110,32>>,{code,[],[<<70,117,110>>]},<<32,111,102,32,97,114,105,116,121,32,122,101,114,111,32,97,115,32,101,110,116,114,121,32,112,111,105,110,116,46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,119,105,108,108,32,102,97,105,108,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,105,102,58>>]},{ul,[],[{li,[],[{p,[],[{code,[],[<<78,111,100,101>>]},<<32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46>>]}]},{li,[],[{p,[],[{code,[],[<<70,117,110>>]},<<32,105,115,32,110,111,116,32,97,32,102,117,110,32,111,102,32,97,114,105,116,121,32,122,101,114,111,46>>]}]},{li,[],[{p,[],[{code,[],[<<79,112,116,105,111,110,115>>]},<<32,105,115,32,110,111,116,32,97,32,112,114,111,112,101,114,32,108,105,115,116,32,111,102,32,116,101,114,109,115,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,55,55,53>>,signature => [{attribute,{3319,2},spec,{{spawn_request,3},[{type,{3319,20},bounded_fun,[{type,{3319,20},'fun',[{type,{3319,20},product,[{var,{3319,21},'Node'},{var,{3319,27},'Fun'},{var,{3319,32},'Options'}]},{var,{3319,44},'ReqId'}]},[{type,{3320,7},constraint,[{atom,{3320,7},is_subtype},[{var,{3320,7},'Node'},{type,{3320,15},node,[]}]]},{type,{3321,7},constraint,[{atom,{3321,7},is_subtype},[{var,{3321,7},'Fun'},{type,{3321,14},function,[]}]]},{type,{3322,7},constraint,[{atom,{3322,7},is_subtype},[{var,{3322,7},'Options'},{type,{3322,18},list,[{var,{3322,19},'Option'}]}]]},{type,{3323,7},constraint,[{atom,{3323,7},is_subtype},[{var,{3323,7},'Option'},{type,{3323,17},union,[{atom,{3323,17},monitor},{type,{3324,17},tuple,[{atom,{3324,18},monitor},{type,{3324,27},list,[{user_type,{3324,28},monitor_option,[]}]}]},{atom,{3325,17},link},{type,{3326,17},tuple,[{atom,{3326,18},reply_tag},{var,{3326,29},'ReplyTag'}]},{type,{3327,17},tuple,[{atom,{3327,18},reply},{var,{3327,25},'Reply'}]},{var,{3328,17},'OtherOption'}]}]]},{type,{3329,7},constraint,[{atom,{3329,7},is_subtype},[{var,{3329,7},'ReplyTag'},{type,{3329,19},term,[]}]]},{type,{3330,7},constraint,[{atom,{3330,7},is_subtype},[{var,{3330,7},'Reply'},{type,{3330,16},union,[{atom,{3330,16},yes},{atom,{3330,22},no},{atom,{3330,27},error_only},{atom,{3330,40},success_only}]}]]},{type,{3331,7},constraint,[{atom,{3331,7},is_subtype},[{var,{3331,7},'OtherOption'},{type,{3331,22},term,[]}]]},{type,{3332,7},constraint,[{atom,{3332,7},is_subtype},[{var,{3332,7},'ReqId'},{type,{3332,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3319}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,51>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,110,111,100,101,40,41,44,77,111,100,117,108,101,44,70,117,110,99,116,105,111,110,44,65,114,103,115,44,91,93,41>>]}]},<<46,32,84,104,97,116,32,105,115,44,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,111,110,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,119,105,116,104,32,110,111,32,111,112,116,105,111,110,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,55,57,53>>,signature => [{attribute,{3319,2},spec,{{spawn_request,3},[{type,{3333,20},bounded_fun,[{type,{3333,20},'fun',[{type,{3333,20},product,[{var,{3333,21},'Module'},{var,{3333,29},'Function'},{var,{3333,39},'Args'}]},{var,{3334,28},'ReqId'}]},[{type,{3335,7},constraint,[{atom,{3335,7},is_subtype},[{var,{3335,7},'Module'},{type,{3335,17},module,[]}]]},{type,{3336,7},constraint,[{atom,{3336,7},is_subtype},[{var,{3336,7},'Function'},{type,{3336,19},atom,[]}]]},{type,{3337,7},constraint,[{atom,{3337,7},is_subtype},[{var,{3337,7},'Args'},{type,{3337,15},list,[{type,{3337,16},term,[]}]}]]},{type,{3338,7},constraint,[{atom,{3338,7},is_subtype},[{var,{3338,7},'ReqId'},{type,{3338,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3359}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,52>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,78,111,100,101,44,77,111,100,117,108,101,44,70,117,110,99,116,105,111,110,44,65,114,103,115,44,91,93,41>>]}]},<<46,32,84,104,97,116,32,105,115,44,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,119,105,116,104,32,110,111,32,111,112,116,105,111,110,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,56,48,55>>,signature => [{attribute,{3359,2},spec,{{spawn_request,4},[{type,{3359,20},bounded_fun,[{type,{3359,20},'fun',[{type,{3359,20},product,[{var,{3359,21},'Node'},{var,{3359,27},'Module'},{var,{3359,35},'Function'},{var,{3359,45},'Args'}]},{var,{3360,28},'ReqId'}]},[{type,{3361,7},constraint,[{atom,{3361,7},is_subtype},[{var,{3361,7},'Node'},{type,{3361,15},node,[]}]]},{type,{3362,7},constraint,[{atom,{3362,7},is_subtype},[{var,{3362,7},'Module'},{type,{3362,17},module,[]}]]},{type,{3363,7},constraint,[{atom,{3363,7},is_subtype},[{var,{3363,7},'Function'},{type,{3363,19},atom,[]}]]},{type,{3364,7},constraint,[{atom,{3364,7},is_subtype},[{var,{3364,7},'Args'},{type,{3364,15},list,[{type,{3364,16},term,[]}]}]]},{type,{3365,7},constraint,[{atom,{3365,7},is_subtype},[{var,{3365,7},'ReqId'},{type,{3365,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3359}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,52>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,110,111,100,101,40,41,44,77,111,100,117,108,101,44,70,117,110,99,116,105,111,110,44,65,114,103,115,44,79,112,116,105,111,110,115,41>>]}]},<<46,32,84,104,97,116,32,105,115,44,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,111,110,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,56,49,57>>,signature => [{attribute,{3359,2},spec,{{spawn_request,4},[{type,{3366,20},bounded_fun,[{type,{3366,20},'fun',[{type,{3366,20},product,[{var,{3366,21},'Module'},{var,{3366,29},'Function'},{var,{3366,39},'Args'},{var,{3366,45},'Options'}]},{var,{3367,28},'ReqId'}]},[{type,{3368,7},constraint,[{atom,{3368,7},is_subtype},[{var,{3368,7},'Module'},{type,{3368,17},module,[]}]]},{type,{3369,7},constraint,[{atom,{3369,7},is_subtype},[{var,{3369,7},'Function'},{type,{3369,19},atom,[]}]]},{type,{3370,7},constraint,[{atom,{3370,7},is_subtype},[{var,{3370,7},'Args'},{type,{3370,15},list,[{type,{3370,16},term,[]}]}]]},{type,{3371,7},constraint,[{atom,{3371,7},is_subtype},[{var,{3371,7},'Option'},{type,{3371,17},union,[{type,{3371,17},tuple,[{atom,{3371,18},reply_tag},{var,{3371,29},'ReplyTag'}]},{type,{3372,17},tuple,[{atom,{3372,18},reply},{var,{3372,25},'Reply'}]},{user_type,{3373,17},spawn_opt_option,[]}]}]]},{type,{3374,7},constraint,[{atom,{3374,7},is_subtype},[{var,{3374,7},'ReplyTag'},{type,{3374,19},term,[]}]]},{type,{3375,7},constraint,[{atom,{3375,7},is_subtype},[{var,{3375,7},'Reply'},{type,{3375,16},union,[{atom,{3375,16},yes},{atom,{3375,22},no},{atom,{3375,27},error_only},{atom,{3375,40},success_only}]}]]},{type,{3376,7},constraint,[{atom,{3376,7},is_subtype},[{var,{3376,7},'Options'},{type,{3376,18},list,[{var,{3376,19},'Option'}]}]]},{type,{3377,7},constraint,[{atom,{3377,7},is_subtype},[{var,{3377,7},'ReqId'},{type,{3377,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,5},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3400}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,53>>],#{<<101,110>> => [{p,[],[<<65,115,121,110,99,104,114,111,110,111,117,115,108,121,32,115,101,110,100,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,46,32,82,101,116,117,114,110,115,32,97,32,114,101,113,117,101,115,116,32,105,100,101,110,116,105,102,105,101,114,32>>,{code,[],[<<82,101,113,73,100>>]},<<46>>]},{a,[{id,<<115,112,97,119,110,95,114,101,113,117,101,115,116,95,115,117,99,99,101,115,115,95,109,101,115,115,97,103,101>>}],[]},{p,[],[<<73,102,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,115,117,99,99,101,101,100,115,44,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,105,115,32,99,114,101,97,116,101,100,32,111,110,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,87,104,101,110,32,97,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,115,117,99,99,101,101,100,115,44,32,116,104,101,32,99,97,108,108,101,114,32,119,105,108,108,32,98,121,32,100,101,102,97,117,108,116,32,98,101,32,115,101,110,116,32,97,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,82,101,112,108,121,84,97,103,44,32,82,101,113,73,100,44,32,111,107,44,32,80,105,100,125>>]},<<32,119,104,101,114,101,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,46,32,83,117,99,104,32,97,32,109,101,115,115,97,103,101,32,105,115,32,114,101,102,101,114,114,101,100,32,116,111,32,97,115,32,97,32>>,{i,[],[<<115,117,99,99,101,115,115,32,109,101,115,115,97,103,101>>]},<<32,98,101,108,111,119,32,105,110,32,116,104,101,32,116,101,120,116,46,32>>,{code,[],[<<82,101,112,108,121,84,97,103>>]},<<32,105,115,32,98,121,32,100,101,102,97,117,108,116,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<115,112,97,119,110,95,114,101,112,108,121>>]},<<32,117,110,108,101,115,115,32,109,111,100,105,102,105,101,100,32,98,121,32,116,104,101,32>>,{code,[],[<<123,114,101,112,108,121,95,116,97,103,44,32,82,101,112,108,121,84,97,103,125>>]},<<32,111,112,116,105,111,110,46,32,84,104,101,32,110,101,119,32,112,114,111,99,101,115,115,32,105,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<46>>]},{a,[{id,<<115,112,97,119,110,95,114,101,113,117,101,115,116,95,101,114,114,111,114,95,109,101,115,115,97,103,101>>}],[]},{p,[],[<<84,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,115,32,101,105,116,104,101,114,32,105,102,32,99,114,101,97,116,105,111,110,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,102,97,105,108,101,100,32,111,114,32,105,102,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,119,97,115,32,105,110,116,101,114,114,117,112,116,101,100,32,98,121,32,97,32,99,111,110,110,101,99,116,105,111,110,32,102,97,105,108,117,114,101,46,32,87,104,101,110,32,97,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,115,44,32,116,104,101,32,99,97,108,108,101,114,32,119,105,108,108,32,98,121,32,100,101,102,97,117,108,116,32,98,101,32,115,101,110,116,32,97,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,82,101,112,108,121,84,97,103,44,32,82,101,113,73,100,44,32,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<32,119,104,101,114,101,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<32,105,115,32,116,104,101,32,101,114,114,111,114,32,114,101,97,115,111,110,46,32,83,117,99,104,32,97,32,109,101,115,115,97,103,101,32,105,115,32,114,101,102,101,114,114,101,100,32,116,111,32,97,115,32,97,110,32>>,{i,[],[<<101,114,114,111,114,32,109,101,115,115,97,103,101>>]},<<32,98,101,108,111,119,32,105,110,32,116,104,101,32,116,101,120,116,46,32,67,117,114,114,101,110,116,108,121,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,112,97,119,110,32,101,114,114,111,114,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<115,32,97,114,101,32,100,101,102,105,110,101,100,44,32,98,117,116,32,111,116,104,101,114,32,114,101,97,115,111,110,115,32,99,97,110,32,97,112,112,101,97,114,32,97,116,32,97,110,121,32,116,105,109,101,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,111,112,116>>]}]},{dd,[],[{p,[],[<<65,110,32,105,110,118,97,108,105,100,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<32,119,97,115,32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,46,32,78,111,116,101,32,116,104,97,116,32,100,105,102,102,101,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,115,32,109,97,121,32,115,117,112,112,111,114,116,32,100,105,102,102,101,114,101,110,116,32,111,112,116,105,111,110,115,46>>]}]},{dt,[],[{code,[],[<<110,111,116,115,117,112>>]}]},{dd,[],[{p,[],[<<84,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,115,32,105,115,115,117,101,100,32,98,121,32>>,{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,41>>]},<<46>>]}]},{dt,[],[{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]}]},{dd,[],[{p,[],[<<70,97,105,108,117,114,101,32,116,111,32,115,101,116,32,117,112,32,97,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<32,111,114,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32,116,104,97,116,32,110,111,100,101,32,119,97,115,32,108,111,115,116,32,100,117,114,105,110,103,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,46,32,73,110,32,116,104,101,32,99,97,115,101,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,119,97,115,32,108,111,115,116,44,32,97,32,112,114,111,99,101,115,115,32,109,97,121,32,111,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,98,101,101,110,32,99,114,101,97,116,101,100,46>>]}]},{dt,[],[{code,[],[<<115,121,115,116,101,109,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<67,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,100,117,101,32,116,111,32,116,104,97,116,32,115,111,109,101,32,115,121,115,116,101,109,32,108,105,109,105,116,32,119,97,115,32,114,101,97,99,104,101,100,46,32,84,121,112,105,99,97,108,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,116,97,98,108,101,32,119,97,115,32,102,117,108,108,46>>]}]}]},{p,[],[<<86,97,108,105,100,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<109,111,110,105,116,111,114>>]}]},{dd,[],[{p,[],[<<73,110,32,116,104,101,32,97,98,115,101,110,99,101,32,111,102,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,117,114,101,115,44,32,97,116,111,109,105,99,97,108,108,121,32,115,101,116,115,32,117,112,32,97,32,109,111,110,105,116,111,114,32,116,111,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,46,32,84,104,97,116,32,105,115,44,32,97,115,32,105,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,104,97,100,32,99,97,108,108,101,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,80,105,100,41>>]}]},<<32,119,104,101,114,101,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,46,32,84,104,101,32>>,{code,[],[<<82,101,113,73,100>>]},<<32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,41>>]},<<32,105,115,32,97,108,115,111,32,117,115,101,100,32,97,115,32,109,111,110,105,116,111,114,32,114,101,102,101,114,101,110,99,101,32,97,115,32,105,102,32,105,116,32,119,97,115,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32>>,{code,[],[<<109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,80,105,100,41>>]},<<46>>]},{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,119,105,108,108,32,110,111,116,32,98,101,32,97,99,116,105,118,97,116,101,100,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,117,110,116,105,108,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,115,117,99,99,101,101,100,101,100,46,32,84,104,101,32,109,111,110,105,116,111,114,32,99,97,110,32,110,111,116,32,98,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,101,109,111,110,105,116,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<100,101,109,111,110,105,116,111,114,101,100>>]},<<32,98,101,102,111,114,101,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,115,117,99,99,101,101,100,101,100,46,32,65,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,32,102,111,114,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,109,111,110,105,116,111,114,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,110,111,116,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,115,117,99,99,101,115,115,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<115,117,99,99,101,115,115,32,109,101,115,115,97,103,101>>]}]},<<32,116,104,97,116,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,46,32,73,102,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,115,44,32,110,111,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,32,119,105,108,108,32,98,101,32,100,101,108,105,118,101,114,101,100,46>>]},{p,[],[<<73,102,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,98,101,116,119,101,101,110,32,116,104,101,32,110,111,100,101,115,32,105,110,118,111,108,118,101,100,32,105,110,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,105,115,32,108,111,115,116,32,100,117,114,105,110,103,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,44,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,119,105,108,108,32,102,97,105,108,32,119,105,116,104,32,97,110,32,101,114,114,111,114,32,114,101,97,115,111,110,32,111,102,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]},<<46,32,65,32,110,101,119,32,112,114,111,99,101,115,115,32,109,97,121,32,111,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,98,101,101,110,32,99,114,101,97,116,101,100,46>>]}]},{dt,[],[{code,[],[<<123,109,111,110,105,116,111,114,44,32,77,111,110,105,116,111,114,79,112,116,115,125>>]}]},{dd,[],[{p,[],[<<73,110,32,116,104,101,32,97,98,115,101,110,99,101,32,111,102,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,117,114,101,115,44,32,97,116,111,109,105,99,97,108,108,121,32,115,101,116,115,32,117,112,32,97,32,109,111,110,105,116,111,114,32,116,111,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,46,32,84,104,97,116,32,105,115,44,32,97,115,32,105,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,104,97,100,32,99,97,108,108,101,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,80,105,100,44,32,77,111,110,105,116,111,114,79,112,116,115,41>>]}]},<<32,119,104,101,114,101,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,46,32,83,101,101,32,116,104,101,32>>,{code,[],[<<109,111,110,105,116,111,114>>]},<<32,111,112,116,105,111,110,32,97,98,111,118,101,32,102,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,46>>]},{p,[],[<<78,111,116,101,32,116,104,97,116,32,116,104,101,32,109,111,110,105,116,111,114,32,119,105,108,108,32,110,111,116,32,98,101,32,97,99,116,105,118,97,116,101,100,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,117,110,116,105,108,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,115,117,99,99,101,101,100,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,110,32,116,104,101,32,99,97,115,101,32,116,104,97,116,32,97,110,32,97,108,105,97,115,32,105,115,32,99,114,101,97,116,101,100,32,117,115,105,110,103,32,116,104,101,32,109,111,110,105,116,111,114,32,111,112,116,105,111,110,44,32,116,104,101,32,97,108,105,97,115,32,119,105,108,108,32,110,111,116,32,98,101,32,97,99,116,105,118,101,32,117,110,116,105,108,32,116,104,101,32,109,111,110,105,116,111,114,32,105,115,32,97,99,116,105,118,97,116,101,100,46>>]}]},{dt,[],[{code,[],[<<108,105,110,107>>]}]},{dd,[],[{p,[],[<<73,110,32,97,98,115,101,110,99,101,32,111,102,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,117,114,101,115,44,32,97,116,111,109,105,99,97,108,108,121,32,115,101,116,115,32,117,112,32,97,32,108,105,110,107,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,46,32,84,104,97,116,32,105,115,44,32,97,115,32,105,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,104,97,100,32,99,97,108,108,101,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,110,107,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<108,105,110,107,40,80,105,100,41>>]}]},<<32,119,104,101,114,101,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<84,104,101,32,108,105,110,107,32,119,105,108,108,32,110,111,116,32,98,101,32,97,99,116,105,118,97,116,101,100,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,117,110,116,105,108,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,115,117,99,99,101,101,100,101,100,46,32,84,104,101,32,108,105,110,107,32,99,97,110,32,110,111,116,32,98,101,32,114,101,109,111,118,101,100,32,98,101,102,111,114,101,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,115,117,99,99,101,101,100,101,100,46,32,65,110,32,101,120,105,116,32,115,105,103,110,97,108,32,100,117,101,32,116,111,32,116,104,101,32,108,105,110,107,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,110,111,116,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,115,117,99,99,101,115,115,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<115,117,99,99,101,115,115,32,109,101,115,115,97,103,101>>]}]},<<32,116,104,97,116,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,46,32,73,102,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,115,44,32,110,111,32,101,120,105,116,32,115,105,103,110,97,108,32,100,117,101,32,116,111,32,116,104,101,32,108,105,110,107,32,119,105,108,108,32,98,101,32,100,101,108,105,118,101,114,101,100,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,41>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,98,101,116,119,101,101,110,32,116,104,101,32,110,111,100,101,115,32,105,110,118,111,108,118,101,100,32,105,110,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,105,115,32,108,111,115,116,32,100,117,114,105,110,103,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,44,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,119,105,108,108,32,102,97,105,108,32,119,105,116,104,32,97,110,32,101,114,114,111,114,32,114,101,97,115,111,110,32,111,102,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]},<<46,32,65,32,110,101,119,32,112,114,111,99,101,115,115,32,109,97,121,32,111,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,98,101,101,110,32,99,114,101,97,116,101,100,46,32,73,102,32,105,116,32,104,97,115,32,98,101,101,110,32,99,114,101,97,116,101,100,44,32,105,116,32,119,105,108,108,32,98,101,32,100,101,108,105,118,101,114,101,100,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,97,110,32,101,120,105,116,32,114,101,97,115,111,110,32,111,102,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,114,101,112,108,121,44,32,82,101,112,108,121,125>>]}]},{dd,[],[{p,[],[<<86,97,108,105,100,32>>,{code,[],[<<82,101,112,108,121>>]},<<32,118,97,108,117,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<121,101,115>>]}]},{dd,[],[{p,[],[<<65,32,115,112,97,119,110,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,119,104,101,116,104,101,114,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,115,117,99,99,101,101,100,115,32,111,114,32,110,111,116,46,32,73,102,32,116,104,101,32,99,97,108,108,32,116,111,32>>,{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,41>>]},<<32,114,101,116,117,114,110,115,32,119,105,116,104,111,117,116,32,114,97,105,115,105,110,103,32,97,110,32,101,120,99,101,112,116,105,111,110,32,97,110,100,32,116,104,101,32>>,{code,[],[<<114,101,112,108,121>>]},<<32,111,112,116,105,111,110,32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<121,101,115>>]},<<44,32,116,104,101,32,99,97,108,108,101,114,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,101,105,116,104,101,114,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,115,117,99,99,101,115,115,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<115,117,99,99,101,115,115,32,109,101,115,115,97,103,101>>]}]},<<32,111,114,32,97,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,101,114,114,111,114,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<101,114,114,111,114,32,109,101,115,115,97,103,101>>]}]},<<46,32,84,104,101,32>>,{code,[],[<<114,101,112,108,121>>]},<<32,111,112,116,105,111,110,32,105,115,32,98,121,32,100,101,102,97,117,108,116,32,115,101,116,32,116,111,32>>,{code,[],[<<121,101,115>>]},<<46>>]}]},{dt,[],[{code,[],[<<110,111>>]}]},{dd,[],[{p,[],[<<78,111,32,115,112,97,119,110,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,119,104,101,110,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,99,111,109,112,108,101,116,101,115,46,32,84,104,105,115,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,119,104,101,116,104,101,114,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,115,117,99,99,101,101,100,115,32,111,114,32,110,111,116,46>>]}]},{dt,[],[{code,[],[<<101,114,114,111,114,95,111,110,108,121>>]}]},{dd,[],[{p,[],[<<78,111,32,115,112,97,119,110,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,105,102,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,115,117,99,99,101,101,100,115,44,32,98,117,116,32,97,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,101,114,114,111,114,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<101,114,114,111,114,32,109,101,115,115,97,103,101>>]}]},<<32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,105,102,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,115,46>>]}]},{dt,[],[{code,[],[<<115,117,99,99,101,115,115,95,111,110,108,121>>]}]},{dd,[],[{p,[],[<<78,111,32,115,112,97,119,110,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,105,102,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,115,44,32,98,117,116,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,115,117,99,99,101,115,115,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<115,117,99,99,101,115,115,32,109,101,115,115,97,103,101>>]}]},<<32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,105,102,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,115,117,99,99,101,101,100,115,46>>]}]}]}]},{dt,[],[{code,[],[<<123,114,101,112,108,121,95,116,97,103,44,32,82,101,112,108,121,84,97,103,125>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,116,104,101,32,114,101,112,108,121,32,116,97,103,32,116,111,32>>,{code,[],[<<82,101,112,108,121,84,97,103>>]},<<32,105,110,32,116,104,101,32,114,101,112,108,121,32,109,101,115,115,97,103,101,46,32,84,104,97,116,32,105,115,44,32,105,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,115,117,99,99,101,115,115,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<115,117,99,99,101,115,115>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,101,114,114,111,114,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<101,114,114,111,114>>]}]},<<32,109,101,115,115,97,103,101,32,116,104,97,116,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,100,117,101,32,116,111,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,46,32,84,104,101,32,100,101,102,97,117,108,116,32,114,101,112,108,121,32,116,97,103,32,105,115,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<115,112,97,119,110,95,114,101,112,108,121>>]},<<46>>]}]},{dt,[],[{code,[],[<<79,116,104,101,114,79,112,116,105,111,110>>]}]},{dd,[],[{p,[],[<<79,116,104,101,114,32,118,97,108,105,100,32,111,112,116,105,111,110,115,32,100,101,112,101,110,100,115,32,111,110,32,119,104,97,116,32,111,112,116,105,111,110,115,32,97,114,101,32,115,117,112,112,111,114,116,101,100,32,98,121,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,65,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,111,116,104,101,114,32,118,97,108,105,100,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,102,111,114,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,111,102,32,99,117,114,114,101,110,116,32,79,84,80,32,118,101,114,115,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,52>>]}]},<<46>>]}]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,119,105,108,108,32,102,97,105,108,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,105,102,58>>]},{ul,[],[{li,[],[{p,[],[{code,[],[<<78,111,100,101>>]},<<32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46>>]}]},{li,[],[{p,[],[{code,[],[<<77,111,100,117,108,101>>]},<<32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46>>]}]},{li,[],[{p,[],[{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46>>]}]},{li,[],[{p,[],[{code,[],[<<65,114,103,115>>]},<<32,105,115,32,110,111,116,32,97,32,112,114,111,112,101,114,32,108,105,115,116,32,111,102,32,116,101,114,109,115,46>>]}]},{li,[],[{p,[],[{code,[],[<<79,112,116,105,111,110,115>>]},<<32,105,115,32,110,111,116,32,97,32,112,114,111,112,101,114,32,108,105,115,116,32,111,102,32,116,101,114,109,115,46>>]}]}]},{p,[],[<<78,111,116,101,32,116,104,97,116,32,110,111,116,32,97,108,108,32,105,110,100,105,118,105,100,117,97,108,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,97,114,101,32,99,104,101,99,107,101,100,32,119,104,101,110,32,116,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,105,115,32,115,101,110,116,46,32,83,111,109,101,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,99,97,110,32,111,110,108,121,32,98,101,32,99,104,101,99,107,101,100,32,111,110,32,114,101,99,101,112,116,105,111,110,32,111,102,32,116,104,101,32,114,101,113,117,101,115,116,46,32,84,104,101,114,101,102,111,114,101,32,97,110,32,105,110,118,97,108,105,100,32,111,112,116,105,111,110,32,100,111,101,115,32>>,{em,[],[<<110,111,116>>]},<<32,99,97,117,115,101,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,44,32,98,117,116,32,119,105,108,108,32,99,97,117,115,101,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,116,111,32,102,97,105,108,32,119,105,116,104,32,97,110,32,101,114,114,111,114,32,114,101,97,115,111,110,32,111,102,32>>,{code,[],[<<98,97,100,111,112,116>>]},<<46>>]},{p,[],[<<65,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,99,97,110,32,98,101,32,97,98,97,110,100,111,110,101,100,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,97,98,97,110,100,111,110,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,95,97,98,97,110,100,111,110,47,49>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,56,51,49>>,signature => [{attribute,{3400,2},spec,{{spawn_request,5},[{type,{3400,20},bounded_fun,[{type,{3400,20},'fun',[{type,{3400,20},product,[{var,{3400,21},'Node'},{var,{3400,27},'Module'},{var,{3400,35},'Function'},{var,{3400,45},'Args'},{var,{3400,51},'Options'}]},{var,{3401,28},'ReqId'}]},[{type,{3402,7},constraint,[{atom,{3402,7},is_subtype},[{var,{3402,7},'Node'},{type,{3402,15},node,[]}]]},{type,{3403,7},constraint,[{atom,{3403,7},is_subtype},[{var,{3403,7},'Module'},{type,{3403,17},module,[]}]]},{type,{3404,7},constraint,[{atom,{3404,7},is_subtype},[{var,{3404,7},'Function'},{type,{3404,19},atom,[]}]]},{type,{3405,7},constraint,[{atom,{3405,7},is_subtype},[{var,{3405,7},'Args'},{type,{3405,15},list,[{type,{3405,16},term,[]}]}]]},{type,{3406,7},constraint,[{atom,{3406,7},is_subtype},[{var,{3406,7},'Options'},{type,{3406,18},list,[{var,{3406,19},'Option'}]}]]},{type,{3407,7},constraint,[{atom,{3407,7},is_subtype},[{var,{3407,7},'Option'},{type,{3407,17},union,[{atom,{3407,17},monitor},{type,{3408,17},tuple,[{atom,{3408,18},monitor},{type,{3408,27},list,[{user_type,{3408,28},monitor_option,[]}]}]},{atom,{3409,17},link},{type,{3410,17},tuple,[{atom,{3410,18},reply_tag},{var,{3410,29},'ReplyTag'}]},{type,{3411,17},tuple,[{atom,{3411,18},reply},{var,{3411,25},'Reply'}]},{var,{3412,17},'OtherOption'}]}]]},{type,{3413,7},constraint,[{atom,{3413,7},is_subtype},[{var,{3413,7},'ReplyTag'},{type,{3413,19},term,[]}]]},{type,{3414,7},constraint,[{atom,{3414,7},is_subtype},[{var,{3414,7},'Reply'},{type,{3414,16},union,[{atom,{3414,16},yes},{atom,{3414,22},no},{atom,{3414,27},error_only},{atom,{3414,40},success_only}]}]]},{type,{3415,7},constraint,[{atom,{3415,7},is_subtype},[{var,{3415,7},'OtherOption'},{type,{3415,22},term,[]}]]},{type,{3416,7},constraint,[{atom,{3416,7},is_subtype},[{var,{3416,7},'ReqId'},{type,{3416,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request_abandon,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3433}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,95,97,98,97,110,100,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<65,98,97,110,100,111,110,32,97,32,112,114,101,118,105,111,117,115,108,121,32,105,115,115,117,101,100,32,115,112,97,119,110,32,114,101,113,117,101,115,116,46,32>>,{code,[],[<<82,101,113,73,100>>]},<<32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,97,32,114,101,113,117,101,115,116,32,105,100,101,110,116,105,102,105,101,114,32,112,114,101,118,105,111,117,115,108,121,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,41>>]}]},<<32,105,110,32,97,32,99,97,108,108,32,102,114,111,109,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,46,32,84,104,97,116,32,105,115,44,32,111,110,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,104,97,115,32,109,97,100,101,32,116,104,101,32,114,101,113,117,101,115,116,32,99,97,110,32,97,98,97,110,100,111,110,32,116,104,101,32,114,101,113,117,101,115,116,46>>]},{p,[],[<<65,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,99,97,110,32,111,110,108,121,32,98,101,32,115,117,99,99,101,115,115,102,117,108,108,121,32,97,98,97,110,100,111,110,101,100,32,117,110,116,105,108,32,116,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,104,97,115,32,99,111,109,112,108,101,116,101,100,46,32,87,104,101,110,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,104,97,115,32,98,101,101,110,32,115,117,99,99,101,115,115,102,117,108,108,121,32,97,98,97,110,100,111,110,101,100,44,32,116,104,101,32,99,97,108,108,101,114,32,119,105,108,108,32,110,111,116,32,98,101,32,101,102,102,101,99,116,101,100,32,98,121,32,102,117,116,117,114,101,32,100,105,114,101,99,116,32,101,102,102,101,99,116,115,32,111,102,32,116,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,105,116,115,101,108,102,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,116,32,119,105,108,108,32,110,111,116,32,114,101,99,101,105,118,101,32,97,32,115,112,97,119,110,32,114,101,112,108,121,32,109,101,115,115,97,103,101,46,32,84,104,101,32,114,101,113,117,101,115,116,32,105,115,32,104,111,119,101,118,101,114,32,110,111,116,32,119,105,116,104,100,114,97,119,110,44,32,115,111,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,109,97,121,32,111,114,32,109,97,121,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,32,100,117,101,32,116,111,32,116,104,101,32,114,101,113,117,101,115,116,46,32,73,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,105,115,32,99,114,101,97,116,101,100,32,97,102,116,101,114,32,116,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,119,97,115,32,97,98,97,110,100,111,110,101,100,44,32,110,111,32,109,111,110,105,116,111,114,115,32,110,111,114,32,108,105,110,107,115,32,119,105,108,108,32,98,101,32,115,101,116,32,117,112,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,95,97,98,97,110,100,111,110,47,49>>]},<<32,100,117,101,32,116,111,32,116,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,46,32,73,102,32,116,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,105,110,99,108,117,100,101,100,32,116,104,101,32>>,{code,[],[<<108,105,110,107>>]},<<32,111,112,116,105,111,110,44,32,116,104,101,32,112,114,111,99,101,115,115,32,99,114,101,97,116,101,100,32,100,117,101,32,116,111,32,116,104,105,115,32,114,101,113,117,101,115,116,32,119,105,108,108,32,98,101,32,115,101,110,116,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,105,116,115,32,112,97,114,101,110,116,32,119,105,116,104,32,116,104,101,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<97,98,97,110,100,111,110,101,100>>]},<<32,119,104,101,110,32,105,116,32,105,115,32,100,101,116,101,99,116,101,100,32,116,104,97,116,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,115,117,99,99,101,101,100,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,32,112,114,111,99,101,115,115,32,99,114,101,97,116,101,100,32,100,117,101,32,116,111,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,116,104,97,116,32,104,97,115,32,98,101,101,110,32,97,98,97,110,100,111,110,101,100,32,109,97,121,32,99,111,109,109,117,110,105,99,97,116,101,32,119,105,116,104,32,105,116,115,32,112,97,114,101,110,116,32,97,115,32,97,110,121,32,111,116,104,101,114,32,112,114,111,99,101,115,115,46,32,73,116,32,105,115,32>>,{em,[],[<<111,110,108,121>>]},<<32,116,104,101,32,100,105,114,101,99,116,32,101,102,102,101,99,116,115,32,111,110,32,116,104,101,32,112,97,114,101,110,116,32,111,102,32,116,104,101,32,97,99,116,117,97,108,32,115,112,97,119,110,32,114,101,113,117,101,115,116,44,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,97,110,99,101,108,101,100,32,98,121,32,97,98,97,110,100,111,110,105,110,103,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,46>>]}]},{p,[],[<<82,101,116,117,114,110,32,118,97,108,117,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,119,97,115,32,115,117,99,99,101,115,115,102,117,108,108,121,32,97,98,97,110,100,111,110,101,100,46>>]}]},{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[{p,[],[<<78,111,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,119,97,115,32,97,98,97,110,100,111,110,101,100,46,32,84,104,101,32>>,{code,[],[<<82,101,113,73,100>>]},<<32,114,101,113,117,101,115,116,32,105,100,101,110,116,105,102,105,101,114,32,100,105,100,32,110,111,116,32,99,111,114,114,101,115,112,111,110,100,32,116,111,32,97,110,32,111,117,116,115,116,97,110,100,105,110,103,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,105,115,115,117,101,100,32,98,121,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,84,104,101,32,114,101,97,115,111,110,32,102,111,114,32,116,104,105,115,32,105,115,32,101,105,116,104,101,114,58>>]},{ul,[],[{li,[],[{p,[],[{code,[],[<<82,101,113,73,100>>]},<<32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,112,114,101,118,105,111,117,108,115,121,32,109,97,100,101,32,98,121,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,84,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,99,111,109,112,108,101,116,101,100,32,97,110,100,32,97,32,115,112,97,119,110,32,114,101,112,108,121,32,104,97,115,32,97,108,114,101,97,100,121,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,32,116,111,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,117,110,108,101,115,115,32,116,104,101,32,115,112,97,119,110,32,114,101,112,108,121,32,119,97,115,32,100,105,115,97,98,108,101,100,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,46>>]}]},{li,[],[{p,[],[{code,[],[<<82,101,113,73,100>>]},<<32,100,111,101,115,32,110,111,116,32,99,111,114,114,101,115,112,111,110,100,32,116,111,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,116,104,97,116,32,104,97,115,32,98,101,101,110,32,109,97,100,101,32,98,121,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46>>]}]}]}]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,102,97,105,108,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,105,102,32>>,{code,[],[<<82,101,113,73,100>>]},<<32,105,115,32,110,111,116,32,97,32,114,101,102,101,114,101,110,99,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,48,56,56>>,signature => [{attribute,{3433,2},spec,{{spawn_request_abandon,1},[{type,{3433,28},'fun',[{type,{3433,28},product,[{ann_type,{3433,29},[{var,{3433,29},'ReqId'},{type,{3433,38},reference,[]}]}]},{type,{3433,54},boolean,[]}]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,split_binary,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1959}],[<<115,112,108,105,116,95,98,105,110,97,114,121,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,116,117,112,108,101,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,98,105,110,97,114,105,101,115,32,116,104,97,116,32,97,114,101,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,115,112,108,105,116,116,105,110,103,32>>,{code,[],[<<66,105,110>>]},<<32,105,110,116,111,32,116,119,111,32,112,97,114,116,115,32,97,116,32,112,111,115,105,116,105,111,110,32>>,{code,[],[<<80,111,115>>]},<<46,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,100,101,115,116,114,117,99,116,105,118,101,32,111,112,101,114,97,116,105,111,110,46,32,65,102,116,101,114,32,116,104,101,32,111,112,101,114,97,116,105,111,110,44,32,116,104,101,114,101,32,97,114,101,32,116,104,114,101,101,32,98,105,110,97,114,105,101,115,32,97,108,116,111,103,101,116,104,101,114,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,66,32,61,32,108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,34,48,49,50,51,52,53,54,55,56,57,34,41,46,10,60,60,34,48,49,50,51,52,53,54,55,56,57,34,62,62,10,62,32,98,121,116,101,95,115,105,122,101,40,66,41,46,10,49,48,10,62,32,123,66,49,44,32,66,50,125,32,61,32,115,112,108,105,116,95,98,105,110,97,114,121,40,66,44,51,41,46,10,123,60,60,34,48,49,50,34,62,62,44,60,60,34,51,52,53,54,55,56,57,34,62,62,125,10,62,32,98,121,116,101,95,115,105,122,101,40,66,49,41,46,10,51,10,62,32,98,121,116,101,95,115,105,122,101,40,66,50,41,46,10,55>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,49,53,52>>,signature => [{attribute,{1959,2},spec,{{split_binary,2},[{type,{1959,19},bounded_fun,[{type,{1959,19},'fun',[{type,{1959,19},product,[{var,{1959,20},'Bin'},{var,{1959,25},'Pos'}]},{type,{1959,33},tuple,[{type,{1959,34},binary,[]},{type,{1959,44},binary,[]}]}]},[{type,{1960,7},constraint,[{atom,{1960,7},is_subtype},[{var,{1960,7},'Bin'},{type,{1960,14},binary,[]}]]},{type,{1961,7},constraint,[{atom,{1961,7},is_subtype},[{var,{1961,7},'Pos'},{type,{1961,14},non_neg_integer,[]}]]}]]}]}}]}},{{function,start_timer,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1966}],[<<115,116,97,114,116,95,116,105,109,101,114,47,51>>],#{<<101,110>> => [{p,[],[<<83,116,97,114,116,115,32,97,32,116,105,109,101,114,46,32,84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,114,116,95,116,105,109,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114,40,84,105,109,101,44,32,68,101,115,116,44,32,77,115,103,44,32,91,93,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,49,55,56>>,signature => [{attribute,{1966,2},spec,{{erlang,start_timer,3},[{type,{1966,25},bounded_fun,[{type,{1966,25},'fun',[{type,{1966,25},product,[{var,{1966,26},'Time'},{var,{1966,32},'Dest'},{var,{1966,38},'Msg'}]},{var,{1966,46},'TimerRef'}]},[{type,{1967,7},constraint,[{atom,{1967,7},is_subtype},[{var,{1967,7},'Time'},{type,{1967,15},non_neg_integer,[]}]]},{type,{1968,7},constraint,[{atom,{1968,7},is_subtype},[{var,{1968,7},'Dest'},{type,{1968,15},union,[{type,{1968,15},pid,[]},{type,{1968,23},atom,[]}]}]]},{type,{1969,7},constraint,[{atom,{1969,7},is_subtype},[{var,{1969,7},'Msg'},{type,{1969,14},term,[]}]]},{type,{1970,7},constraint,[{atom,{1970,7},is_subtype},[{var,{1970,7},'TimerRef'},{type,{1970,19},reference,[]}]]}]]}]}}]}},{{function,start_timer,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1976}],[<<115,116,97,114,116,95,116,105,109,101,114,47,52>>],#{<<101,110>> => [{p,[],[<<83,116,97,114,116,115,32,97,32,116,105,109,101,114,46,32,87,104,101,110,32,116,104,101,32,116,105,109,101,114,32,101,120,112,105,114,101,115,44,32,116,104,101,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,116,105,109,101,111,117,116,44,32,84,105,109,101,114,82,101,102,44,32,77,115,103,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,101,115,116>>]},<<46>>]},{p,[],[{code,[],[<<79,112,116,105,111,110>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,97,98,115,44,32,102,97,108,115,101,125>>]}]},{dd,[],[{p,[],[<<84,104,105,115,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,46,32,73,116,32,109,101,97,110,115,32,116,104,101,32>>,{code,[],[<<84,105,109,101>>]},<<32,118,97,108,117,101,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,32,116,105,109,101,32,105,110,32,109,105,108,108,105,115,101,99,111,110,100,115,32>>,{em,[],[<<114,101,108,97,116,105,118,101>>]},<<32,99,117,114,114,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,97,98,115,44,32,116,114,117,101,125>>]}]},{dd,[],[{p,[],[<<65,98,115,111,108,117,116,101,32>>,{code,[],[<<84,105,109,101>>]},<<32,118,97,108,117,101,46,32,84,104,101,32>>,{code,[],[<<84,105,109,101>>]},<<32,118,97,108,117,101,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,110,32,97,98,115,111,108,117,116,101,32,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,105,110,32,109,105,108,108,105,115,101,99,111,110,100,115,46>>]}]}]},{p,[],[<<77,111,114,101,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{p,[],[<<84,104,101,32,97,98,115,111,108,117,116,101,32,112,111,105,110,116,32,105,110,32,116,105,109,101,44,32,116,104,101,32,116,105,109,101,114,32,105,115,32,115,101,116,32,116,111,32,101,120,112,105,114,101,32,111,110,44,32,109,117,115,116,32,98,101,32,105,110,32,116,104,101,32,105,110,116,101,114,118,97,108,32>>,{code,[],[<<91,32>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116>>]},{code,[],[<<40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,116,97,114,116,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111>>]},{code,[],[<<40,115,116,97,114,116,95,116,105,109,101,41,44,32,110,97,116,105,118,101,44,32,109,105,108,108,105,115,101,99,111,110,100,41,44,32>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116>>]},{code,[],[<<40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,110,100,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111>>]},{code,[],[<<40,101,110,100,95,116,105,109,101,41,44,32,110,97,116,105,118,101,44,32,109,105,108,108,105,115,101,99,111,110,100,41,32,93>>]},<<46,32,73,102,32,97,32,114,101,108,97,116,105,118,101,32,116,105,109,101,32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32>>,{code,[],[<<84,105,109,101>>]},<<32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,116,111,32,98,101,32,110,101,103,97,116,105,118,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<68,101,115,116>>]},<<32,105,115,32,97,32>>,{code,[],[<<112,105,100,40,41>>]},<<44,32,105,116,32,109,117,115,116,32,98,101,32,97,32>>,{code,[],[<<112,105,100,40,41>>]},<<32,111,102,32,97,32,112,114,111,99,101,115,115,32,99,114,101,97,116,101,100,32,111,110,32,116,104,101,32,99,117,114,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46,32,84,104,105,115,32,112,114,111,99,101,115,115,32,104,97,115,32,101,105,116,104,101,114,32,116,101,114,109,105,110,97,116,101,100,32,111,114,32,110,111,116,46,32,73,102,32>>,{code,[],[<<68,101,115,116>>]},<<32,105,115,32,97,110,32>>,{code,[],[<<97,116,111,109,40,41>>]},<<44,32,105,116,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,116,104,101,32,110,97,109,101,32,111,102,32,97,32,108,111,99,97,108,108,121,32,114,101,103,105,115,116,101,114,101,100,32,112,114,111,99,101,115,115,46,32,84,104,101,32,112,114,111,99,101,115,115,32,114,101,102,101,114,114,101,100,32,116,111,32,98,121,32,116,104,101,32,110,97,109,101,32,105,115,32,108,111,111,107,101,100,32,117,112,32,97,116,32,116,104,101,32,116,105,109,101,32,111,102,32,116,105,109,101,114,32,101,120,112,105,114,97,116,105,111,110,46,32,78,111,32,101,114,114,111,114,32,105,115,32,114,101,116,117,114,110,101,100,32,105,102,32,116,104,101,32,110,97,109,101,32,100,111,101,115,32,110,111,116,32,114,101,102,101,114,32,116,111,32,97,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<68,101,115,116>>]},<<32,105,115,32,97,32>>,{code,[],[<<112,105,100,40,41>>]},<<44,32,116,104,101,32,116,105,109,101,114,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,99,97,110,99,101,108,101,100,32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,102,101,114,114,101,100,32,116,111,32,98,121,32,116,104,101,32>>,{code,[],[<<112,105,100,40,41>>]},<<32,105,115,32,110,111,116,32,97,108,105,118,101,44,32,111,114,32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,101,120,105,116,115,46,32,84,104,105,115,32,102,101,97,116,117,114,101,32,119,97,115,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,69,82,84,83,32,53,46,52,46,49,49,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,105,109,101,114,115,32,97,114,101,32,110,111,116,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,99,97,110,99,101,108,101,100,32,119,104,101,110,32>>,{code,[],[<<68,101,115,116>>]},<<32,105,115,32,97,110,32>>,{code,[],[<<97,116,111,109,40,41>>]},<<46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,97,102,116,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114,47,52>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,97,110,99,101,108,95,116,105,109,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,97,110,99,101,108,95,116,105,109,101,114,47,50>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,97,100,95,116,105,109,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114,47,50>>]}]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,100,111,32,110,111,116,32,115,97,116,105,115,102,121,32,116,104,101,32,114,101,113,117,105,114,101,109,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,104,101,114,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,49,56,57>>,signature => [{attribute,{1976,2},spec,{{erlang,start_timer,4},[{type,{1976,25},bounded_fun,[{type,{1976,25},'fun',[{type,{1976,25},product,[{var,{1976,26},'Time'},{var,{1976,32},'Dest'},{var,{1976,38},'Msg'},{var,{1976,43},'Options'}]},{var,{1976,55},'TimerRef'}]},[{type,{1977,7},constraint,[{atom,{1977,7},is_subtype},[{var,{1977,7},'Time'},{type,{1977,15},integer,[]}]]},{type,{1978,7},constraint,[{atom,{1978,7},is_subtype},[{var,{1978,7},'Dest'},{type,{1978,15},union,[{type,{1978,15},pid,[]},{type,{1978,23},atom,[]}]}]]},{type,{1979,7},constraint,[{atom,{1979,7},is_subtype},[{var,{1979,7},'Msg'},{type,{1979,14},term,[]}]]},{type,{1980,7},constraint,[{atom,{1980,7},is_subtype},[{var,{1980,7},'Options'},{type,{1980,18},list,[{var,{1980,19},'Option'}]}]]},{type,{1981,7},constraint,[{atom,{1981,7},is_subtype},[{var,{1981,7},'Abs'},{type,{1981,14},boolean,[]}]]},{type,{1982,7},constraint,[{atom,{1982,7},is_subtype},[{var,{1982,7},'Option'},{type,{1982,17},tuple,[{atom,{1982,18},abs},{var,{1982,23},'Abs'}]}]]},{type,{1983,7},constraint,[{atom,{1983,7},is_subtype},[{var,{1983,7},'TimerRef'},{type,{1983,19},reference,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108,41>>]}]},<<32,119,105,116,104,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,116,104,97,116,32,110,111,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,100,105,114,116,121,32,73,79,32,114,117,110,32,113,117,101,117,101,32,97,110,100,32,105,116,115,32,97,115,115,111,99,105,97,116,101,100,32,115,99,104,101,100,117,108,101,114,115,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,46,32,84,104,97,116,32,105,115,44,32,111,110,108,121,32,116,97,115,107,115,32,116,104,97,116,32,97,114,101,32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,67,80,85,32,98,111,117,110,100,32,97,114,101,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,50,52,57>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2594,17},bounded_fun,[{type,{2594,17},'fun',[{type,{2594,17},product,[{atom,{2594,18},active_tasks}]},{type,{2594,35},list,[{var,{2594,36},'ActiveTasks'}]}]},[{type,{2595,7},constraint,[{atom,{2595,7},is_subtype},[{var,{2595,7},'ActiveTasks'},{type,{2595,22},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,51>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,119,104,101,114,101,32,101,97,99,104,32,101,108,101,109,101,110,116,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,97,99,116,105,118,101,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,112,111,114,116,115,32,111,110,32,101,97,99,104,32,114,117,110,32,113,117,101,117,101,32,97,110,100,32,105,116,115,32,97,115,115,111,99,105,97,116,101,100,32,115,99,104,101,100,117,108,101,114,115,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,112,111,114,116,115,32,116,104,97,116,32,97,114,101,32,114,101,97,100,121,32,116,111,32,114,117,110,44,32,111,114,32,97,114,101,32,99,117,114,114,101,110,116,108,121,32,114,117,110,110,105,110,103,46,32,86,97,108,117,101,115,32,102,111,114,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,32,97,110,100,32,116,104,101,105,114,32,97,115,115,111,99,105,97,116,101,100,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,108,111,99,97,116,101,100,32,102,105,114,115,116,32,105,110,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,108,105,115,116,46,32,84,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,115,99,104,101,100,117,108,101,114,32,110,117,109,98,101,114,32,49,32,97,110,100,32,115,111,32,111,110,46,32,73,102,32,115,117,112,112,111,114,116,32,102,111,114,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,101,120,105,115,116,44,32,97,110,32,101,108,101,109,101,110,116,32,119,105,116,104,32,116,104,101,32,118,97,108,117,101,32,102,111,114,32,116,104,101,32,100,105,114,116,121,32,67,80,85,32,114,117,110,32,113,117,101,117,101,32,97,110,100,32,105,116,115,32,97,115,115,111,99,105,97,116,101,100,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,102,111,108,108,111,119,32,97,110,100,32,116,104,101,110,32,97,115,32,108,97,115,116,32,101,108,101,109,101,110,116,32,116,104,101,32,118,97,108,117,101,32,102,111,114,32,116,104,101,32,116,104,101,32,100,105,114,116,121,32,73,79,32,114,117,110,32,113,117,101,117,101,32,97,110,100,32,105,116,115,32,97,115,115,111,99,105,97,116,101,100,32,100,105,114,116,121,32,73,79,32,115,99,104,101,100,117,108,101,114,115,32,102,111,108,108,111,119,46,32,84,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,103,97,116,104,101,114,101,100,32,97,116,111,109,105,99,97,108,108,121,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,110,111,116,32,110,101,99,101,115,115,97,114,105,108,121,32,97,32,99,111,110,115,105,115,116,101,110,116,32,115,110,97,112,115,104,111,116,32,111,102,32,116,104,101,32,115,116,97,116,101,44,32,98,117,116,32,105,110,115,116,101,97,100,32,113,117,105,116,101,32,101,102,102,105,99,105,101,110,116,108,121,32,103,97,116,104,101,114,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<69,97,99,104,32,110,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,32,104,97,115,32,111,110,101,32,114,117,110,32,113,117,101,117,101,32,116,104,97,116,32,105,116,32,109,97,110,97,103,101,115,46,32,73,102,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,115,117,112,112,111,114,116,101,100,44,32,97,108,108,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,115,104,97,114,101,32,111,110,101,32,114,117,110,32,113,117,101,117,101,44,32,97,110,100,32,97,108,108,32,100,105,114,116,121,32,73,79,32,115,99,104,101,100,117,108,101,114,115,32,115,104,97,114,101,32,111,110,101,32,114,117,110,32,113,117,101,117,101,46,32,84,104,97,116,32,105,115,44,32,119,101,32,104,97,118,101,32,109,117,108,116,105,112,108,101,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,44,32,111,110,101,32,100,105,114,116,121,32,67,80,85,32,114,117,110,32,113,117,101,117,101,32,97,110,100,32,111,110,101,32,100,105,114,116,121,32,73,79,32,114,117,110,32,113,117,101,117,101,46,32,87,111,114,107,32,99,97,110,32>>,{em,[],[<<110,111,116>>]},<<32,109,105,103,114,97,116,101,32,98,101,116,119,101,101,110,32,116,104,101,32,100,105,102,102,101,114,101,110,116,32,116,121,112,101,115,32,111,102,32,114,117,110,32,113,117,101,117,101,115,46,32,79,110,108,121,32,119,111,114,107,32,105,110,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,32,99,97,110,32,109,105,103,114,97,116,101,32,116,111,32,111,116,104,101,114,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,46,32,84,104,105,115,32,104,97,115,32,116,111,32,98,101,32,116,97,107,101,110,32,105,110,116,111,32,97,99,99,111,117,110,116,32,119,104,101,110,32,101,118,97,108,117,97,116,105,110,103,32,116,104,101,32,114,101,115,117,108,116,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,97,99,116,105,118,101,95,116,97,115,107,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,97,99,116,105,118,101,95,116,97,115,107,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,50,54,52>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2596,3},bounded_fun,[{type,{2596,3},'fun',[{type,{2596,3},product,[{atom,{2596,4},active_tasks_all}]},{type,{2596,25},list,[{var,{2596,26},'ActiveTasks'}]}]},[{type,{2597,7},constraint,[{atom,{2597,7},is_subtype},[{var,{2597,7},'ActiveTasks'},{type,{2597,22},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,99,111,110,116,101,120,116,32,115,119,105,116,99,104,101,115,32,115,105,110,99,101,32,116,104,101,32,115,121,115,116,101,109,32,115,116,97,114,116,101,100,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,51,48,54>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2598,3},bounded_fun,[{type,{2598,3},'fun',[{type,{2598,3},product,[{atom,{2598,4},context_switches}]},{type,{2598,25},tuple,[{var,{2598,26},'ContextSwitches'},{integer,{2598,42},0}]}]},[{type,{2599,7},constraint,[{atom,{2599,7},is_subtype},[{var,{2599,7},'ContextSwitches'},{type,{2599,26},non_neg_integer,[]}]]}]]}]}}]}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,120,97,99,116,32,114,101,100,117,99,116,105,111,110,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,101,120,97,99,116,95,114,101,100,117,99,116,105,111,110,115,41>>]},<<32,105,115,32,97,32,109,111,114,101,32,101,120,112,101,110,115,105,118,101,32,111,112,101,114,97,116,105,111,110,32,116,104,97,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,114,101,100,117,99,116,105,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<115,116,97,116,105,115,116,105,99,115,40,114,101,100,117,99,116,105,111,110,115,41>>]},<<46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,51,49,53>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2600,17},bounded_fun,[{type,{2600,17},'fun',[{type,{2600,17},product,[{atom,{2600,18},exact_reductions}]},{type,{2600,39},tuple,[{var,{2600,40},'Total_Exact_Reductions'},{var,{2601,40},'Exact_Reductions_Since_Last_Call'}]}]},[{type,{2602,7},constraint,[{atom,{2602,7},is_subtype},[{var,{2602,7},'Total_Exact_Reductions'},{type,{2602,33},non_neg_integer,[]}]]},{type,{2603,7},constraint,[{atom,{2603,7},is_subtype},[{var,{2603,7},'Exact_Reductions_Since_Last_Call'},{type,{2603,43},non_neg_integer,[]}]]}]]}]}}]}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,115,116,97,116,105,115,116,105,99,115,40,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,41,46,10,123,56,53,44,50,51,57,54,49,44,48,125>>]}]},{p,[],[<<84,104,105,115,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,105,110,118,97,108,105,100,32,102,111,114,32,115,111,109,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,51,51,48>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2604,17},bounded_fun,[{type,{2604,17},'fun',[{type,{2604,17},product,[{atom,{2604,18},garbage_collection}]},{type,{2604,41},tuple,[{var,{2604,42},'Number_of_GCs'},{var,{2604,57},'Words_Reclaimed'},{integer,{2604,74},0}]}]},[{type,{2605,7},constraint,[{atom,{2605,7},is_subtype},[{var,{2605,7},'Number_of_GCs'},{type,{2605,24},non_neg_integer,[]}]]},{type,{2606,7},constraint,[{atom,{2606,7},is_subtype},[{var,{2606,7},'Words_Reclaimed'},{type,{2606,26},non_neg_integer,[]}]]}]]}]}}]}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<73,110,112,117,116>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,114,101,99,101,105,118,101,100,32,116,104,114,111,117,103,104,32,112,111,114,116,115,44,32,97,110,100,32>>,{code,[],[<<79,117,116,112,117,116>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,111,117,116,112,117,116,32,116,111,32,112,111,114,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,51,52,50>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2607,17},bounded_fun,[{type,{2607,17},'fun',[{type,{2607,17},product,[{atom,{2607,18},io}]},{type,{2607,25},tuple,[{type,{2607,26},tuple,[{atom,{2607,27},input},{var,{2607,34},'Input'}]},{type,{2607,42},tuple,[{atom,{2607,43},output},{var,{2607,51},'Output'}]}]}]},[{type,{2608,7},constraint,[{atom,{2608,7},is_subtype},[{var,{2608,7},'Input'},{type,{2608,16},non_neg_integer,[]}]]},{type,{2609,7},constraint,[{atom,{2609,7},is_subtype},[{var,{2609,7},'Output'},{type,{2609,17},non_neg_integer,[]}]]}]]}]}}]}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<77,105,99,114,111,115,116,97,116,101,32,97,99,99,111,117,110,116,105,110,103,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,109,101,97,115,117,114,101,32,104,111,119,32,109,117,99,104,32,116,105,109,101,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,115,112,101,110,100,115,32,100,111,105,110,103,32,118,97,114,105,111,117,115,32,116,97,115,107,115,46,32,73,116,32,105,115,32,100,101,115,105,103,110,101,100,32,116,111,32,98,101,32,97,115,32,108,105,103,104,116,119,101,105,103,104,116,32,97,115,32,112,111,115,115,105,98,108,101,44,32,98,117,116,32,115,111,109,101,32,111,118,101,114,104,101,97,100,32,101,120,105,115,116,115,32,119,104,101,110,32,116,104,105,115,32,105,115,32,101,110,97,98,108,101,100,46,32,77,105,99,114,111,115,116,97,116,101,32,97,99,99,111,117,110,116,105,110,103,32,105,115,32,109,101,97,110,116,32,116,111,32,98,101,32,97,32,112,114,111,102,105,108,105,110,103,32,116,111,111,108,32,116,111,32,104,101,108,112,32,102,105,110,100,105,110,103,32,112,101,114,102,111,114,109,97,110,99,101,32,98,111,116,116,108,101,110,101,99,107,115,46,32,84,111,32>>,{code,[],[<<115,116,97,114,116>>]},<<47>>,{code,[],[<<115,116,111,112>>]},<<47>>,{code,[],[<<114,101,115,101,116>>]},<<32,109,105,99,114,111,115,116,97,116,101,32,97,99,99,111,117,110,116,105,110,103,44,32,117,115,101,32,115,121,115,116,101,109,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103>>]}]},<<46>>]},{p,[],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103,41>>]},<<32,114,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,109,97,112,115,32,114,101,112,114,101,115,101,110,116,105,110,103,32,115,111,109,101,32,111,102,32,116,104,101,32,79,83,32,116,104,114,101,97,100,115,32,119,105,116,104,105,110,32,69,82,84,83,46,32,69,97,99,104,32,109,97,112,32,99,111,110,116,97,105,110,115,32>>,{code,[],[<<116,121,112,101>>]},<<32,97,110,100,32>>,{code,[],[<<105,100>>]},<<32,102,105,101,108,100,115,32,116,104,97,116,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,105,100,101,110,116,105,102,121,32,119,104,97,116,32,116,104,114,101,97,100,32,105,116,32,105,115,44,32,97,110,100,32,97,108,115,111,32,97,32,99,111,117,110,116,101,114,115,32,102,105,101,108,100,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,100,97,116,97,32,97,98,111,117,116,32,104,111,119,32,109,117,99,104,32,116,105,109,101,32,104,97,115,32,98,101,101,110,32,115,112,101,110,116,32,105,110,32,116,104,101,32,118,97,114,105,111,117,115,32,115,116,97,116,101,115,46>>]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,115,116,97,116,105,115,116,105,99,115,40,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103,41,46,10,91,35,123,99,111,117,110,116,101,114,115,32,61,62,32,35,123,97,117,120,32,61,62,32,49,56,57,57,49,56,50,57,49,52,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,99,104,101,99,107,95,105,111,32,61,62,32,50,54,48,53,56,54,51,54,48,50,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,101,109,117,108,97,116,111,114,32,61,62,32,52,53,55,51,49,56,56,48,52,54,51,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,103,99,32,61,62,32,49,53,49,50,50,48,54,57,49,48,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,111,116,104,101,114,32,61,62,32,53,52,50,49,51,51,56,52,53,54,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,112,111,114,116,32,61,62,32,50,50,49,54,51,49,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,115,108,101,101,112,32,61,62,32,53,49,53,48,50,57,52,49,48,48,125,44,10,32,32,32,105,100,32,61,62,32,49,44,10,32,32,32,116,121,112,101,32,61,62,32,115,99,104,101,100,117,108,101,114,125,124,46,46,46,93>>]}]},{p,[],[<<84,104,101,32,116,105,109,101,32,117,110,105,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{a,[{href,<<107,101,114,110,101,108,58,111,115,35,112,101,114,102,95,99,111,117,110,116,101,114,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,115,58,112,101,114,102,95,99,111,117,110,116,101,114,47,48>>]}]},<<46,32,83,111,44,32,116,111,32,99,111,110,118,101,114,116,32,105,116,32,116,111,32,109,105,108,108,105,115,101,99,111,110,100,115,44,32,121,111,117,32,99,97,110,32,100,111,32,115,111,109,101,116,104,105,110,103,32,108,105,107,101,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<108,105,115,116,115,58,109,97,112,40,10,32,32,102,117,110,40,35,123,32,99,111,117,110,116,101,114,115,32,58,61,32,67,110,116,32,125,32,61,32,77,41,32,45,62,10,32,32,32,32,32,32,32,32,32,32,77,115,67,110,116,32,61,32,109,97,112,115,58,109,97,112,40,102,117,110,40,95,75,44,32,80,101,114,102,67,111,117,110,116,41,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,40,80,101,114,102,67,111,117,110,116,44,32,112,101,114,102,95,99,111,117,110,116,101,114,44,32,49,48,48,48,41,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,101,110,100,44,32,67,110,116,41,44,10,32,32,32,32,32,32,32,32,32,77,35,123,32,99,111,117,110,116,101,114,115,32,58,61,32,77,115,67,110,116,32,125,10,32,32,101,110,100,44,32,101,114,108,97,110,103,58,115,116,97,116,105,115,116,105,99,115,40,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103,41,41,46>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,115,101,32,118,97,108,117,101,115,32,97,114,101,32,110,111,116,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,116,104,101,32,101,120,97,99,116,32,116,105,109,101,32,115,112,101,110,116,32,105,110,32,101,97,99,104,32,115,116,97,116,101,46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32,111,102,32,118,97,114,105,111,117,115,32,111,112,116,105,109,105,115,97,116,105,111,110,32,100,111,110,101,32,116,111,32,107,101,101,112,32,116,104,101,32,111,118,101,114,104,101,97,100,32,97,115,32,115,109,97,108,108,32,97,115,32,112,111,115,115,105,98,108,101,46>>]},{p,[],[{code,[],[<<77,83,65,99,99,95,84,104,114,101,97,100,95,84,121,112,101>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<115,99,104,101,100,117,108,101,114>>]}]},{dd,[],[<<84,104,101,32,109,97,105,110,32,101,120,101,99,117,116,105,111,110,32,116,104,114,101,97,100,115,32,116,104,97,116,32,100,111,32,109,111,115,116,32,111,102,32,116,104,101,32,119,111,114,107,46,32,83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,83>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<101,114,108,32,43,83>>]},<<32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46>>]},{dt,[],[{code,[],[<<100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114>>]}]},{dd,[],[<<84,104,101,32,116,104,114,101,97,100,115,32,102,111,114,32,108,111,110,103,32,114,117,110,110,105,110,103,32,99,112,117,32,105,110,116,101,110,115,105,118,101,32,119,111,114,107,46,32,83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,83,68,99,112,117>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<101,114,108,32,43,83,68,99,112,117>>]},<<32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46>>]},{dt,[],[{code,[],[<<100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114>>]}]},{dd,[],[<<84,104,101,32,116,104,114,101,97,100,115,32,102,111,114,32,108,111,110,103,32,114,117,110,110,105,110,103,32,73,47,79,32,119,111,114,107,46,32,83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,83,68,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<101,114,108,32,43,83,68,105,111>>]},<<32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46>>]},{dt,[],[{code,[],[<<97,115,121,110,99>>]}]},{dd,[],[<<65,115,121,110,99,32,116,104,114,101,97,100,115,32,97,114,101,32,117,115,101,100,32,98,121,32,118,97,114,105,111,117,115,32,108,105,110,107,101,100,45,105,110,32,100,114,105,118,101,114,115,32,40,109,97,105,110,108,121,32,116,104,101,32,102,105,108,101,32,100,114,105,118,101,114,115,41,32,100,111,32,111,102,102,108,111,97,100,32,110,111,110,45,67,80,85,32,105,110,116,101,110,115,105,118,101,32,119,111,114,107,46,32,83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,97,115,121,110,99,95,116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<101,114,108,32,43,65>>]},<<32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46>>]},{dt,[],[{code,[],[<<97,117,120>>]}]},{dd,[],[<<84,97,107,101,115,32,99,97,114,101,32,111,102,32,97,110,121,32,119,111,114,107,32,116,104,97,116,32,105,115,32,110,111,116,32,115,112,101,99,105,102,105,99,97,108,108,121,32,97,115,115,105,103,110,101,100,32,116,111,32,97,32,115,99,104,101,100,117,108,101,114,46>>]},{dt,[],[{code,[],[<<112,111,108,108>>]}]},{dd,[],[<<68,111,101,115,32,116,104,101,32,73,79,32,112,111,108,108,105,110,103,32,102,111,114,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,73,79,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<101,114,108,32,43,73,79,116>>]},<<32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32>>,{code,[],[<<77,83,65,99,99,95,84,104,114,101,97,100,95,83,116,97,116,101>>]},<<115,32,97,114,101,32,97,118,97,105,108,97,98,108,101,46,32,65,108,108,32,115,116,97,116,101,115,32,97,114,101,32,101,120,99,108,117,115,105,118,101,44,32,109,101,97,110,105,110,103,32,116,104,97,116,32,97,32,116,104,114,101,97,100,32,99,97,110,110,111,116,32,98,101,32,105,110,32,116,119,111,32,115,116,97,116,101,115,32,97,116,32,111,110,99,101,46,32,83,111,44,32,105,102,32,121,111,117,32,97,100,100,32,116,104,101,32,110,117,109,98,101,114,115,32,111,102,32,97,108,108,32,99,111,117,110,116,101,114,115,32,105,110,32,97,32,116,104,114,101,97,100,44,32,121,111,117,32,103,101,116,32,116,104,101,32,116,111,116,97,108,32,114,117,110,116,105,109,101,32,102,111,114,32,116,104,97,116,32,116,104,114,101,97,100,46>>]},{dl,[],[{dt,[],[{code,[],[<<97,117,120>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,104,97,110,100,108,105,110,103,32,97,117,120,105,108,105,97,114,121,32,106,111,98,115,46>>]},{dt,[],[{code,[],[<<99,104,101,99,107,95,105,111>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,99,104,101,99,107,105,110,103,32,102,111,114,32,110,101,119,32,73,47,79,32,101,118,101,110,116,115,46>>]},{dt,[],[{code,[],[<<101,109,117,108,97,116,111,114>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,101,120,101,99,117,116,105,110,103,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,46>>]},{dt,[],[{code,[],[<<103,99>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,100,111,105,110,103,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46,32,87,104,101,110,32,101,120,116,114,97,32,115,116,97,116,101,115,32,97,114,101,32,101,110,97,98,108,101,100,32,116,104,105,115,32,105,115,32,116,104,101,32,116,105,109,101,32,115,112,101,110,116,32,100,111,105,110,103,32,110,111,110,45,102,117,108,108,115,119,101,101,112,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,115,46>>]},{dt,[],[{code,[],[<<111,116,104,101,114>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,100,111,105,110,103,32,117,110,97,99,99,111,117,110,116,101,100,32,116,104,105,110,103,115,46>>]},{dt,[],[{code,[],[<<112,111,114,116>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,101,120,101,99,117,116,105,110,103,32,112,111,114,116,115,46>>]},{dt,[],[{code,[],[<<115,108,101,101,112>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,115,108,101,101,112,105,110,103,46>>]}]},{p,[],[<<77,111,114,101,32,102,105,110,101,45,103,114,97,105,110,101,100,32>>,{code,[],[<<77,83,65,99,99,95,84,104,114,101,97,100,95,83,116,97,116,101>>]},<<115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,116,104,114,111,117,103,104,32,99,111,110,102,105,103,117,114,101,32,40,115,117,99,104,32,97,115,32>>,{code,[],[<<46,47,99,111,110,102,105,103,117,114,101,32,45,45,119,105,116,104,45,109,105,99,114,111,115,116,97,116,101,45,97,99,99,111,117,110,116,105,110,103,61,101,120,116,114,97>>]},<<41,46,32,69,110,97,98,108,105,110,103,32,116,104,101,115,101,32,115,116,97,116,101,115,32,99,97,117,115,101,115,32,112,101,114,102,111,114,109,97,110,99,101,32,100,101,103,114,97,100,97,116,105,111,110,32,119,104,101,110,32,109,105,99,114,111,115,116,97,116,101,32,97,99,99,111,117,110,116,105,110,103,32,105,115,32,116,117,114,110,101,100,32,111,102,102,32,97,110,100,32,105,110,99,114,101,97,115,101,115,32,116,104,101,32,111,118,101,114,104,101,97,100,32,119,104,101,110,32,105,116,32,105,115,32,116,117,114,110,101,100,32,111,110,46>>]},{dl,[],[{dt,[],[{code,[],[<<97,108,108,111,99>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,109,97,110,97,103,105,110,103,32,109,101,109,111,114,121,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,115,112,114,101,97,100,32,111,117,116,32,111,118,101,114,32,97,108,108,32,111,116,104,101,114,32,115,116,97,116,101,115,46>>]},{dt,[],[{code,[],[<<98,105,102>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,105,110,32,66,73,70,115,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<101,109,117,108,97,116,111,114>>]},<<32,115,116,97,116,101,46>>]},{dt,[],[{code,[],[<<98,117,115,121,95,119,97,105,116>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,98,117,115,121,32,119,97,105,116,105,110,103,46,32,84,104,105,115,32,105,115,32,97,108,115,111,32,116,104,101,32,115,116,97,116,101,32,119,104,101,114,101,32,97,32,115,99,104,101,100,117,108,101,114,32,110,111,32,108,111,110,103,101,114,32,114,101,112,111,114,116,115,32,116,104,97,116,32,105,116,32,105,115,32,97,99,116,105,118,101,32,119,104,101,110,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,41>>]}]},<<46,32,83,111,44,32,105,102,32,121,111,117,32,97,100,100,32,97,108,108,32,111,116,104,101,114,32,115,116,97,116,101,115,32,98,117,116,32,116,104,105,115,32,97,110,100,32,115,108,101,101,112,44,32,97,110,100,32,116,104,101,110,32,100,105,118,105,100,101,32,116,104,97,116,32,98,121,32,97,108,108,32,116,105,109,101,32,105,110,32,116,104,101,32,116,104,114,101,97,100,44,32,121,111,117,32,115,104,111,117,108,100,32,103,101,116,32,115,111,109,101,116,104,105,110,103,32,118,101,114,121,32,115,105,109,105,108,97,114,32,116,111,32,116,104,101,32>>,{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]},<<32,102,114,97,99,116,105,111,110,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<111,116,104,101,114>>]},<<32,115,116,97,116,101,46>>]},{dt,[],[{code,[],[<<101,116,115>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,101,120,101,99,117,116,105,110,103,32,69,84,83,32,66,73,70,115,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<101,109,117,108,97,116,111,114>>]},<<32,115,116,97,116,101,46>>]},{dt,[],[{code,[],[<<103,99,95,102,117,108,108>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,100,111,105,110,103,32,102,117,108,108,115,119,101,101,112,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<103,99>>]},<<32,115,116,97,116,101,46>>]},{dt,[],[{code,[],[<<110,105,102>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,105,110,32,78,73,70,115,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<101,109,117,108,97,116,111,114>>]},<<32,115,116,97,116,101,46>>]},{dt,[],[{code,[],[<<115,101,110,100>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,115,101,110,100,105,110,103,32,109,101,115,115,97,103,101,115,32,40,112,114,111,99,101,115,115,101,115,32,111,110,108,121,41,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<101,109,117,108,97,116,111,114>>]},<<32,115,116,97,116,101,46>>]},{dt,[],[{code,[],[<<116,105,109,101,114,115>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,109,97,110,97,103,105,110,103,32,116,105,109,101,114,115,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<111,116,104,101,114>>]},<<32,115,116,97,116,101,46>>]}]},{p,[],[<<84,104,101,32,117,116,105,108,105,116,121,32,109,111,100,117,108,101,32>>,{a,[{href,<<114,117,110,116,105,109,101,95,116,111,111,108,115,58,109,115,97,99,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,115,97,99,99,40,51,41>>]}]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,109,111,114,101,32,101,97,115,105,108,121,32,97,110,97,108,121,115,101,32,116,104,101,115,101,32,115,116,97,116,105,115,116,105,99,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,115,121,115,116,101,109,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103>>]}]},<<32,105,115,32,116,117,114,110,101,100,32,111,102,102,46>>]},{p,[],[<<84,104,101,32,108,105,115,116,32,111,102,32,116,104,114,101,97,100,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32,117,110,115,111,114,116,101,100,32,97,110,100,32,99,97,110,32,97,112,112,101,97,114,32,105,110,32,100,105,102,102,101,114,101,110,116,32,111,114,100,101,114,32,98,101,116,119,101,101,110,32,99,97,108,108,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,116,104,114,101,97,100,115,32,97,110,100,32,115,116,97,116,101,115,32,97,114,101,32,115,117,98,106,101,99,116,32,116,111,32,99,104,97,110,103,101,32,119,105,116,104,111,117,116,32,97,110,121,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,51,53,51>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2610,17},bounded_fun,[{type,{2610,17},'fun',[{type,{2610,17},product,[{atom,{2610,18},microstate_accounting}]},{type,{2610,44},union,[{type,{2610,44},list,[{var,{2610,45},'MSAcc_Thread'}]},{atom,{2610,61},undefined}]}]},[{type,{2611,7},constraint,[{atom,{2611,7},is_subtype},[{var,{2611,7},'MSAcc_Thread'},{type,{2611,23},map,[{type,{2611,31},map_field_exact,[{atom,{2611,26},type},{var,{2611,34},'MSAcc_Thread_Type'}]},{type,{2612,28},map_field_exact,[{atom,{2612,25},id},{var,{2612,31},'MSAcc_Thread_Id'}]},{type,{2613,34},map_field_exact,[{atom,{2613,25},counters},{var,{2613,37},'MSAcc_Counters'}]}]}]]},{type,{2614,7},constraint,[{atom,{2614,7},is_subtype},[{var,{2614,7},'MSAcc_Thread_Type'},{type,{2614,28},union,[{atom,{2614,28},async},{atom,{2614,36},aux},{atom,{2614,42},dirty_io_scheduler},{atom,{2615,28},dirty_cpu_scheduler},{atom,{2615,50},poll},{atom,{2615,57},scheduler}]}]]},{type,{2616,7},constraint,[{atom,{2616,7},is_subtype},[{var,{2616,7},'MSAcc_Thread_Id'},{type,{2616,26},non_neg_integer,[]}]]},{type,{2617,7},constraint,[{atom,{2617,7},is_subtype},[{var,{2617,7},'MSAcc_Counters'},{type,{2617,25},map,[{type,{2617,47},map_field_assoc,[{var,{2617,28},'MSAcc_Thread_State'},{type,{2617,50},non_neg_integer,[]}]}]}]]},{type,{2618,7},constraint,[{atom,{2618,7},is_subtype},[{var,{2618,7},'MSAcc_Thread_State'},{type,{2618,29},union,[{atom,{2618,29},alloc},{atom,{2618,37},aux},{atom,{2618,43},bif},{atom,{2618,49},busy_wait},{atom,{2618,61},check_io},{atom,{2619,29},emulator},{atom,{2619,40},ets},{atom,{2619,46},gc},{atom,{2619,51},gc_fullsweep},{atom,{2619,66},nif},{atom,{2620,29},other},{atom,{2620,37},port},{atom,{2620,44},send},{atom,{2620,51},sleep},{atom,{2620,59},timers}]}]]}]]}]}}],since => <<79,84,80,32,49,57,46,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,114,101,100,117,99,116,105,111,110,115,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,115,116,97,116,105,115,116,105,99,115,40,114,101,100,117,99,116,105,111,110,115,41,46,10,123,50,48,52,54,44,49,49,125>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,115,32,102,114,111,109,32,69,82,84,83,32,53,46,53,32,40,69,114,108,97,110,103,47,79,84,80,32,82,49,49,66,41,44,32,116,104,105,115,32,118,97,108,117,101,32,100,111,101,115,32,110,111,116,32,105,110,99,108,117,100,101,32,114,101,100,117,99,116,105,111,110,115,32,112,101,114,102,111,114,109,101,100,32,105,110,32,99,117,114,114,101,110,116,32,116,105,109,101,32,115,108,105,99,101,115,32,111,102,32,99,117,114,114,101,110,116,108,121,32,115,99,104,101,100,117,108,101,100,32,112,114,111,99,101,115,115,101,115,46,32,73,102,32,97,110,32,101,120,97,99,116,32,118,97,108,117,101,32,105,115,32,119,97,110,116,101,100,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,101,120,97,99,116,95,114,101,100,117,99,116,105,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,101,120,97,99,116,95,114,101,100,117,99,116,105,111,110,115,41>>]}]},<<46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,52,57,54>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2621,17},bounded_fun,[{type,{2621,17},'fun',[{type,{2621,17},product,[{atom,{2621,18},reductions}]},{type,{2621,33},tuple,[{var,{2621,34},'Total_Reductions'},{var,{2622,34},'Reductions_Since_Last_Call'}]}]},[{type,{2623,7},constraint,[{atom,{2623,7},is_subtype},[{var,{2623,7},'Total_Reductions'},{type,{2623,27},non_neg_integer,[]}]]},{type,{2624,7},constraint,[{atom,{2624,7},is_subtype},[{var,{2624,7},'Reductions_Since_Last_Call'},{type,{2624,37},non_neg_integer,[]}]]}]]}]}}]}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,116,111,116,97,108,32,108,101,110,103,116,104,32,111,102,32,97,108,108,32,110,111,114,109,97,108,32,97,110,100,32,100,105,114,116,121,32,67,80,85,32,114,117,110,32,113,117,101,117,101,115,46,32,84,104,97,116,32,105,115,44,32,113,117,101,117,101,100,32,119,111,114,107,32,116,104,97,116,32,105,115,32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,67,80,85,32,98,111,117,110,100,46,32,84,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32,103,97,116,104,101,114,101,100,32,97,116,111,109,105,99,97,108,108,121,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,97,32,99,111,110,115,105,115,116,101,110,116,32,115,110,97,112,115,104,111,116,32,111,102,32,116,104,101,32,115,116,97,116,101,44,32,98,117,116,32,116,104,105,115,32,111,112,101,114,97,116,105,111,110,32,105,115,32,109,117,99,104,32,109,111,114,101,32,101,120,112,101,110,115,105,118,101,32,99,111,109,112,97,114,101,100,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,41>>]}]},<<44,32,101,115,112,101,99,105,97,108,108,121,32,119,104,101,110,32,97,32,108,97,114,103,101,32,97,109,111,117,110,116,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,105,115,32,117,115,101,100,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,53,49,53>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2625,17},'fun',[{type,{2625,17},product,[{atom,{2625,18},run_queue}]},{type,{2625,32},non_neg_integer,[]}]}]}}]}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108,41>>]}]},<<32,119,105,116,104,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,116,104,97,116,32,110,111,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,100,105,114,116,121,32,73,79,32,114,117,110,32,113,117,101,117,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,46,32,84,104,97,116,32,105,115,44,32,111,110,108,121,32,114,117,110,32,113,117,101,117,101,115,32,119,105,116,104,32,119,111,114,107,32,116,104,97,116,32,105,115,32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,67,80,85,32,98,111,117,110,100,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,53,51,49>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2626,17},bounded_fun,[{type,{2626,17},'fun',[{type,{2626,17},product,[{atom,{2626,18},run_queue_lengths}]},{type,{2626,40},list,[{var,{2626,41},'RunQueueLength'}]}]},[{type,{2627,7},constraint,[{atom,{2627,7},is_subtype},[{var,{2627,7},'RunQueueLength'},{type,{2627,25},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,51>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,119,104,101,114,101,32,101,97,99,104,32,101,108,101,109,101,110,116,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,112,111,114,116,115,32,114,101,97,100,121,32,116,111,32,114,117,110,32,102,111,114,32,101,97,99,104,32,114,117,110,32,113,117,101,117,101,46,32,86,97,108,117,101,115,32,102,111,114,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,32,97,114,101,32,108,111,99,97,116,101,100,32,102,105,114,115,116,32,105,110,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,108,105,115,116,46,32,84,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,32,111,102,32,115,99,104,101,100,117,108,101,114,32,110,117,109,98,101,114,32,49,32,97,110,100,32,115,111,32,111,110,46,32,73,102,32,115,117,112,112,111,114,116,32,102,111,114,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,101,120,105,115,116,44,32,118,97,108,117,101,115,32,102,111,114,32,116,104,101,32,100,105,114,116,121,32,67,80,85,32,114,117,110,32,113,117,101,117,101,32,97,110,100,32,116,104,101,32,100,105,114,116,121,32,73,79,32,114,117,110,32,113,117,101,117,101,32,102,111,108,108,111,119,32,40,105,110,32,116,104,97,116,32,111,114,100,101,114,41,32,97,116,32,116,104,101,32,101,110,100,46,32,84,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,103,97,116,104,101,114,101,100,32,97,116,111,109,105,99,97,108,108,121,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,110,111,116,32,110,101,99,101,115,115,97,114,105,108,121,32,97,32,99,111,110,115,105,115,116,101,110,116,32,115,110,97,112,115,104,111,116,32,111,102,32,116,104,101,32,115,116,97,116,101,44,32,98,117,116,32,105,110,115,116,101,97,100,32,113,117,105,116,101,32,101,102,102,105,99,105,101,110,116,108,121,32,103,97,116,104,101,114,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<69,97,99,104,32,110,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,32,104,97,115,32,111,110,101,32,114,117,110,32,113,117,101,117,101,32,116,104,97,116,32,105,116,32,109,97,110,97,103,101,115,46,32,73,102,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,115,117,112,112,111,114,116,101,100,44,32,97,108,108,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,115,104,97,114,101,32,111,110,101,32,114,117,110,32,113,117,101,117,101,44,32,97,110,100,32,97,108,108,32,100,105,114,116,121,32,73,79,32,115,99,104,101,100,117,108,101,114,115,32,115,104,97,114,101,32,111,110,101,32,114,117,110,32,113,117,101,117,101,46,32,84,104,97,116,32,105,115,44,32,119,101,32,104,97,118,101,32,109,117,108,116,105,112,108,101,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,44,32,111,110,101,32,100,105,114,116,121,32,67,80,85,32,114,117,110,32,113,117,101,117,101,32,97,110,100,32,111,110,101,32,100,105,114,116,121,32,73,79,32,114,117,110,32,113,117,101,117,101,46,32,87,111,114,107,32,99,97,110,32>>,{em,[],[<<110,111,116>>]},<<32,109,105,103,114,97,116,101,32,98,101,116,119,101,101,110,32,116,104,101,32,100,105,102,102,101,114,101,110,116,32,116,121,112,101,115,32,111,102,32,114,117,110,32,113,117,101,117,101,115,46,32,79,110,108,121,32,119,111,114,107,32,105,110,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,32,99,97,110,32,109,105,103,114,97,116,101,32,116,111,32,111,116,104,101,114,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,46,32,84,104,105,115,32,104,97,115,32,116,111,32,98,101,32,116,97,107,101,110,32,105,110,116,111,32,97,99,99,111,117,110,116,32,119,104,101,110,32,101,118,97,108,117,97,116,105,110,103,32,116,104,101,32,114,101,115,117,108,116,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,97,99,116,105,118,101,95,116,97,115,107,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,97,99,116,105,118,101,95,116,97,115,107,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,97,99,116,105,118,101,95,116,97,115,107,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,97,99,116,105,118,101,95,116,97,115,107,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,53,52,54>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2628,17},bounded_fun,[{type,{2628,17},'fun',[{type,{2628,17},product,[{atom,{2628,18},run_queue_lengths_all}]},{type,{2628,44},list,[{var,{2628,45},'RunQueueLength'}]}]},[{type,{2629,7},constraint,[{atom,{2629,7},is_subtype},[{var,{2629,7},'RunQueueLength'},{type,{2629,25},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,114,117,110,116,105,109,101,44,32,105,110,32,109,105,108,108,105,115,101,99,111,110,100,115,46>>]},{p,[],[<<84,104,105,115,32,105,115,32,116,104,101,32,115,117,109,32,111,102,32,116,104,101,32,114,117,110,116,105,109,101,32,102,111,114,32,97,108,108,32,116,104,114,101,97,100,115,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,97,110,100,32,99,97,110,32,116,104,101,114,101,102,111,114,101,32,98,101,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,119,97,108,108,32,99,108,111,99,107,32,116,105,109,101,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,118,97,108,117,101,32,109,105,103,104,116,32,119,114,97,112,32,100,117,101,32,116,111,32,108,105,109,105,116,97,116,105,111,110,115,32,105,110,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,102,117,110,99,116,105,111,110,97,108,105,116,121,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,116,104,97,116,32,105,115,32,117,115,101,100,46>>]}]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,115,116,97,116,105,115,116,105,99,115,40,114,117,110,116,105,109,101,41,46,10,123,49,54,57,48,44,49,54,50,48,125>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,53,56,57>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2630,17},bounded_fun,[{type,{2630,17},'fun',[{type,{2630,17},product,[{atom,{2630,18},runtime}]},{type,{2630,30},tuple,[{var,{2630,31},'Total_Run_Time'},{var,{2630,47},'Time_Since_Last_Call'}]}]},[{type,{2631,7},constraint,[{atom,{2631,7},is_subtype},[{var,{2631,7},'Total_Run_Time'},{type,{2631,25},non_neg_integer,[]}]]},{type,{2632,7},constraint,[{atom,{2632,7},is_subtype},[{var,{2632,7},'Time_Since_Last_Call'},{type,{2632,31},non_neg_integer,[]}]]}]]}]}}]}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,100,101,115,99,114,105,98,105,110,103,32,104,111,119,32,109,117,99,104,32,116,105,109,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<110,111,114,109,97,108>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,105,114,116,121,32,67,80,85>>]},<<32,115,99,104,101,100,117,108,101,114,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,104,97,118,101,32,98,101,101,110,32,98,117,115,121,46,32,84,104,105,115,32,118,97,108,117,101,32,105,115,32,110,111,114,109,97,108,108,121,32,97,32,98,101,116,116,101,114,32,105,110,100,105,99,97,116,111,114,32,111,102,32,104,111,119,32,109,117,99,104,32,108,111,97,100,32,97,110,32,69,114,108,97,110,103,32,110,111,100,101,32,105,115,32,117,110,100,101,114,32,105,110,115,116,101,97,100,32,111,102,32,108,111,111,107,105,110,103,32,97,116,32,116,104,101,32,67,80,85,32,117,116,105,108,105,122,97,116,105,111,110,32,112,114,111,118,105,100,101,100,32,98,121,32,116,111,111,108,115,32,115,117,99,104,32,97,115,32>>,{code,[],[<<116,111,112>>]},<<32,111,114,32>>,{code,[],[<<115,121,115,115,116,97,116>>]},<<46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32>>,{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]},<<32,97,108,115,111,32,105,110,99,108,117,100,101,115,32,116,105,109,101,32,119,104,101,114,101,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,105,115,32,119,97,105,116,105,110,103,32,102,111,114,32,115,111,109,101,32,111,116,104,101,114,32,114,101,97,115,111,117,114,99,101,32,40,115,117,99,104,32,97,115,32,97,110,32,105,110,116,101,114,110,97,108,32,109,117,116,101,120,41,32,116,111,32,98,101,32,97,118,97,105,108,97,98,108,101,32,98,117,116,32,100,111,101,115,32,110,111,116,32,117,115,101,32,116,104,101,32,67,80,85,46,32,73,110,32,111,114,100,101,114,32,116,111,32,98,101,116,116,101,114,32,117,110,100,101,114,115,116,97,110,100,32,119,104,97,116,32,97,32,115,99,104,101,100,117,108,101,114,32,105,115,32,98,117,115,121,32,100,111,105,110,103,32,121,111,117,32,99,97,110,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<109,105,99,114,111,115,116,97,116,101,32,97,99,99,111,117,110,116,105,110,103>>]},<<46>>]},{p,[],[<<84,104,101,32,100,101,102,105,110,105,116,105,111,110,32,111,102,32,97,32,98,117,115,121,32,115,99,104,101,100,117,108,101,114,32,105,115,32,119,104,101,110,32,105,116,32,105,115,32,110,111,116,32,105,100,108,101,32,97,110,100,32,110,111,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,119,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<98,117,115,121,32,119,97,105,116,105,110,103>>]},<<32,102,111,114,32,110,101,119,32,119,111,114,107,44,32,116,104,97,116,32,105,115,58>>]},{ul,[],[{li,[],[<<69,120,101,99,117,116,105,110,103,32,112,114,111,99,101,115,115,32,99,111,100,101>>]},{li,[],[<<69,120,101,99,117,116,105,110,103,32,108,105,110,107,101,100,45,105,110,32,100,114,105,118,101,114,32,111,114,32,78,73,70,32,99,111,100,101>>]},{li,[],[<<69,120,101,99,117,116,105,110,103,32,66,73,70,115,44,32,111,114,32,97,110,121,32,111,116,104,101,114,32,114,117,110,116,105,109,101,32,104,97,110,100,108,105,110,103>>]},{li,[],[<<71,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,110,103>>]},{li,[],[<<72,97,110,100,108,105,110,103,32,97,110,121,32,111,116,104,101,114,32,109,101,109,111,114,121,32,109,97,110,97,103,101,109,101,110,116>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,32,115,99,104,101,100,117,108,101,114,32,99,97,110,32,97,108,115,111,32,98,101,32,98,117,115,121,32,101,118,101,110,32,105,102,32,116,104,101,32,79,83,32,104,97,115,32,115,99,104,101,100,117,108,101,100,32,111,117,116,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,116,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,117,115,101,32,116,104,101,32,109,111,100,117,108,101,32>>,{a,[{href,<<114,117,110,116,105,109,101,95,116,111,111,108,115,58,115,99,104,101,100,117,108,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,99,104,101,100,117,108,101,114>>]}]},<<32,105,110,115,116,101,97,100,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,100,105,114,101,99,116,108,121,32,97,115,32,105,116,32,112,114,111,118,105,100,101,115,32,97,110,32,101,97,115,105,101,114,32,119,97,121,32,116,111,32,103,101,116,32,116,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,116,104,97,116,32,121,111,117,32,117,115,117,97,108,108,121,32,119,97,110,116,46>>]}]},{p,[],[<<73,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,110,97,98,108,101,100>>]},<<32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,116,117,112,108,101,115,32,119,105,116,104,32>>,{code,[],[<<123,83,99,104,101,100,117,108,101,114,73,100,44,32,65,99,116,105,118,101,84,105,109,101,44,32,84,111,116,97,108,84,105,109,101,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<83,99,104,101,100,117,108,101,114,73,100>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,73,68,32,111,102,32,116,104,101,32,115,99,104,101,100,117,108,101,114,44,32>>,{code,[],[<<65,99,116,105,118,101,84,105,109,101>>]},<<32,105,115,32,116,104,101,32,100,117,114,97,116,105,111,110,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,104,97,115,32,98,101,101,110,32,98,117,115,121,44,32,97,110,100,32>>,{code,[],[<<84,111,116,97,108,84,105,109,101>>]},<<32,105,115,32,116,104,101,32,116,111,116,97,108,32,116,105,109,101,32,100,117,114,97,116,105,111,110,32,115,105,110,99,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]}]},<<32,97,99,116,105,118,97,116,105,111,110,32,102,111,114,32,116,104,101,32,115,112,101,99,105,102,105,99,32,115,99,104,101,100,117,108,101,114,46,32,84,104,101,32,116,105,109,101,32,117,110,105,116,32,114,101,116,117,114,110,101,100,32,105,115,32,117,110,100,101,102,105,110,101,100,32,97,110,100,32,99,97,110,32,98,101,32,115,117,98,106,101,99,116,32,116,111,32,99,104,97,110,103,101,32,98,101,116,119,101,101,110,32,114,101,108,101,97,115,101,115,44,32,79,83,115,44,32,97,110,100,32,115,121,115,116,101,109,32,114,101,115,116,97,114,116,115,46,32>>,{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]},<<32,105,115,32,111,110,108,121,32,116,111,32,98,101,32,117,115,101,100,32,116,111,32,99,97,108,99,117,108,97,116,101,32,114,101,108,97,116,105,118,101,32,118,97,108,117,101,115,32,102,111,114,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,46,32,84,104,101,32>>,{code,[],[<<65,99,116,105,118,101,84,105,109,101>>]},<<32,99,97,110,32,110,101,118,101,114,32,101,120,99,101,101,100,32>>,{code,[],[<<84,111,116,97,108,84,105,109,101>>]},<<46,32,84,104,101,32,108,105,115,116,32,111,102,32,115,99,104,101,100,117,108,101,114,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32,117,110,115,111,114,116,101,100,32,97,110,100,32,99,97,110,32,97,112,112,101,97,114,32,105,110,32,100,105,102,102,101,114,101,110,116,32,111,114,100,101,114,32,98,101,116,119,101,101,110,32,99,97,108,108,115,46>>]},{p,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,105,115,97,98,108,101,100>>]},<<32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<84,104,101,32,97,99,116,105,118,97,116,105,111,110,32,116,105,109,101,32,99,97,110,32,100,105,102,102,101,114,32,115,105,103,110,105,102,105,99,97,110,116,108,121,32,98,101,116,119,101,101,110,32,115,99,104,101,100,117,108,101,114,115,46,32,67,117,114,114,101,110,116,108,121,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,97,99,116,105,118,97,116,101,100,32,97,116,32,115,121,115,116,101,109,32,115,116,97,114,116,32,119,104,105,108,101,32,110,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,97,99,116,105,118,97,116,101,100,32,115,111,109,101,32,116,105,109,101,32,97,102,116,101,114,32,116,104,101,32>>,{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]},<<32,102,117,110,99,116,105,111,110,97,108,105,116,121,32,105,115,32,101,110,97,98,108,101,100,46>>]},{p,[],[<<79,110,108,121,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,115,99,104,101,100,117,108,101,114,115,32,116,104,97,116,32,97,114,101,32,101,120,112,101,99,116,101,100,32,116,111,32,104,97,110,100,108,101,32,67,80,85,32,98,111,117,110,100,32,119,111,114,107,32,105,115,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,102,114,111,109,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,32,73,102,32,121,111,117,32,97,108,115,111,32,119,97,110,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,105,114,116,121,32,73,47,79,32,115,99,104,101,100,117,108,101,114,115>>]},<<44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,95,97,108,108,41>>]}]},<<32,105,110,115,116,101,97,100,46>>]},{p,[],[<<78,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,115,32,119,105,108,108,32,104,97,118,101,32,115,99,104,101,100,117,108,101,114,32,105,100,101,110,116,105,102,105,101,114,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32>>,{code,[],[<<49,32,61,60,32,83,99,104,101,100,117,108,101,114,73,100,32,61,60,32>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46,32,68,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,119,105,108,108,32,104,97,118,101,32,115,99,104,101,100,117,108,101,114,32,105,100,101,110,116,105,102,105,101,114,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41,32,60,32,83,99,104,101,100,117,108,101,114,73,100,32,61,60,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41,32,43,32>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,100,105,102,102,101,114,101,110,116,32,116,121,112,101,115,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,104,97,110,100,108,101,32,115,112,101,99,105,102,105,99,32,116,121,112,101,115,32,111,102,32,106,111,98,115,46,32,69,118,101,114,121,32,106,111,98,32,105,115,32,97,115,115,105,103,110,101,100,32,116,111,32,97,32,115,112,101,99,105,102,105,99,32,115,99,104,101,100,117,108,101,114,32,116,121,112,101,46,32,74,111,98,115,32,99,97,110,32,109,105,103,114,97,116,101,32,98,101,116,119,101,101,110,32,100,105,102,102,101,114,101,110,116,32,115,99,104,101,100,117,108,101,114,115,32,111,102,32,116,104,101,32,115,97,109,101,32,116,121,112,101,44,32,98,117,116,32,110,101,118,101,114,32,98,101,116,119,101,101,110,32,115,99,104,101,100,117,108,101,114,115,32,111,102,32,100,105,102,102,101,114,101,110,116,32,116,121,112,101,115,46,32,84,104,105,115,32,102,97,99,116,32,104,97,115,32,116,111,32,98,101,32,116,97,107,101,110,32,117,110,100,101,114,32,99,111,110,115,105,100,101,114,97,116,105,111,110,32,119,104,101,110,32,101,118,97,108,117,97,116,105,110,103,32,116,104,101,32,114,101,115,117,108,116,32,114,101,116,117,114,110,101,100,46>>]}]},{p,[],[<<89,111,117,32,99,97,110,32,117,115,101,32>>,{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]},<<32,116,111,32,99,97,108,99,117,108,97,116,101,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,46,32,70,105,114,115,116,32,121,111,117,32,116,97,107,101,32,97,32,115,97,109,112,108,101,32,111,102,32,116,104,101,32,118,97,108,117,101,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,115,116,97,116,105,115,116,105,99,115,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,41>>]},<<46>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,44,32,116,114,117,101,41,46,10,102,97,108,115,101,10,62,32,84,115,48,32,61,32,108,105,115,116,115,58,115,111,114,116,40,101,114,108,97,110,103,58,115,116,97,116,105,115,116,105,99,115,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,41,41,44,32,111,107,46,10,111,107>>]}]},{p,[],[<<83,111,109,101,32,116,105,109,101,32,108,97,116,101,114,32,116,104,101,32,117,115,101,114,32,116,97,107,101,115,32,97,110,111,116,104,101,114,32,115,110,97,112,115,104,111,116,32,97,110,100,32,99,97,108,99,117,108,97,116,101,115,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,32,112,101,114,32,115,99,104,101,100,117,108,101,114,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,84,115,49,32,61,32,108,105,115,116,115,58,115,111,114,116,40,101,114,108,97,110,103,58,115,116,97,116,105,115,116,105,99,115,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,41,41,44,32,111,107,46,10,111,107,10,62,32,108,105,115,116,115,58,109,97,112,40,102,117,110,40,123,123,73,44,32,65,48,44,32,84,48,125,44,32,123,73,44,32,65,49,44,32,84,49,125,125,41,32,45,62,10,9,123,73,44,32,40,65,49,32,45,32,65,48,41,47,40,84,49,32,45,32,84,48,41,125,32,101,110,100,44,32,108,105,115,116,115,58,122,105,112,40,84,115,48,44,84,115,49,41,41,46,10,91,123,49,44,48,46,57,55,52,51,52,55,52,55,51,48,49,55,55,53,52,56,125,44,10,32,123,50,44,48,46,57,55,52,52,56,52,51,55,56,50,55,53,49,52,52,52,125,44,10,32,123,51,44,48,46,57,57,57,53,57,48,50,51,54,49,54,54,57,48,52,53,125,44,10,32,123,52,44,48,46,57,55,51,56,48,49,50,53,57,54,53,55,50,49,54,49,125,44,10,32,123,53,44,48,46,57,55,49,55,57,53,54,54,54,55,48,49,56,49,48,51,125,44,10,32,123,54,44,48,46,57,55,51,57,50,51,53,56,52,54,52,50,48,55,52,49,125,44,10,32,123,55,44,48,46,57,55,51,50,51,55,48,51,51,48,55,55,56,55,54,125,44,10,32,123,56,44,48,46,57,55,52,49,50,57,55,50,57,51,50,52,56,54,53,54,125,93>>]}]},{p,[],[<<85,115,105,110,103,32,116,104,101,32,115,97,109,101,32,115,110,97,112,115,104,111,116,115,32,116,111,32,99,97,108,99,117,108,97,116,101,32,97,32,116,111,116,97,108,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,58>>]},{pre,[],[{code,[],[<<62,32,123,65,44,32,84,125,32,61,32,108,105,115,116,115,58,102,111,108,100,108,40,102,117,110,40,123,123,95,44,32,65,48,44,32,84,48,125,44,32,123,95,44,32,65,49,44,32,84,49,125,125,44,32,123,65,105,44,84,105,125,41,32,45,62,10,9,123,65,105,32,43,32,40,65,49,32,45,32,65,48,41,44,32,84,105,32,43,32,40,84,49,32,45,32,84,48,41,125,32,101,110,100,44,32,123,48,44,32,48,125,44,32,108,105,115,116,115,58,122,105,112,40,84,115,48,44,84,115,49,41,41,44,10,9,84,111,116,97,108,83,99,104,101,100,117,108,101,114,85,116,105,108,105,122,97,116,105,111,110,32,61,32,65,47,84,46,10,48,46,57,55,54,57,49,51,54,56,48,51,55,54,52,56,50,53>>]}]},{p,[],[<<84,111,116,97,108,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,32,119,105,108,108,32,101,113,117,97,108,32>>,{code,[],[<<49,46,48>>]},<<32,119,104,101,110,32,97,108,108,32,115,99,104,101,100,117,108,101,114,115,32,104,97,118,101,32,98,101,101,110,32,97,99,116,105,118,101,32,97,108,108,32,116,104,101,32,116,105,109,101,32,98,101,116,119,101,101,110,32,116,104,101,32,116,119,111,32,109,101,97,115,117,114,101,109,101,110,116,115,46>>]},{p,[],[<<65,110,111,116,104,101,114,32,40,112,114,111,98,97,98,108,121,32,109,111,114,101,41,32,117,115,101,102,117,108,32,118,97,108,117,101,32,105,115,32,116,111,32,99,97,108,99,117,108,97,116,101,32,116,111,116,97,108,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,32,119,101,105,103,104,116,101,100,32,97,103,97,105,110,115,116,32,109,97,120,105,109,117,109,32,97,109,111,117,110,116,32,111,102,32,97,118,97,105,108,97,98,108,101,32,67,80,85,32,116,105,109,101,58>>]},{pre,[],[{code,[],[<<62,32,87,101,105,103,104,116,101,100,83,99,104,101,100,117,108,101,114,85,116,105,108,105,122,97,116,105,111,110,32,61,32,40,84,111,116,97,108,83,99,104,101,100,117,108,101,114,85,116,105,108,105,122,97,116,105,111,110,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,42,32,40,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,43,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41,41,41,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,47,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,97,118,97,105,108,97,98,108,101,41,46,10,48,46,57,55,54,57,49,51,54,56,48,51,55,54,52,56,50,53>>]}]},{p,[],[<<84,104,105,115,32,119,101,105,103,104,116,101,100,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,32,119,105,108,108,32,114,101,97,99,104,32>>,{code,[],[<<49,46,48>>]},<<32,119,104,101,110,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,97,99,116,105,118,101,32,116,104,101,32,115,97,109,101,32,97,109,111,117,110,116,32,111,102,32,116,105,109,101,32,97,115,32,109,97,120,105,109,117,109,32,97,118,97,105,108,97,98,108,101,32,67,80,85,32,116,105,109,101,46,32,73,102,32,109,111,114,101,32,115,99,104,101,100,117,108,101,114,115,32,101,120,105,115,116,32,116,104,97,110,32,97,118,97,105,108,97,98,108,101,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,44,32,116,104,105,115,32,118,97,108,117,101,32,109,97,121,32,98,101,32,103,114,101,97,116,101,114,32,116,104,97,110,32>>,{code,[],[<<49,46,48>>]},<<46>>]},{p,[],[<<65,115,32,111,102,32,69,82,84,83,32,118,101,114,115,105,111,110,32,57,46,48,44,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,119,105,108,108,32,97,115,32,100,101,102,97,117,108,116,32,104,97,118,101,32,109,111,114,101,32,115,99,104,101,100,117,108,101,114,115,32,116,104,97,110,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46,32,84,104,105,115,32,100,117,101,32,116,111,32,116,104,101,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]},<<32,105,115,32,98,121,32,100,101,102,97,117,108,116,32,100,105,115,97,98,108,101,100,46,32,84,111,32,101,110,97,98,108,101,32,105,116,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,44,32,116,114,117,101,41>>]}]},<<46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,54,48,55>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2633,17},bounded_fun,[{type,{2633,17},'fun',[{type,{2633,17},product,[{atom,{2633,18},scheduler_wall_time}]},{type,{2633,42},union,[{type,{2633,42},list,[{type,{2633,43},tuple,[{var,{2633,44},'SchedulerId'},{var,{2633,57},'ActiveTime'},{var,{2633,69},'TotalTime'}]}]},{atom,{2633,83},undefined}]}]},[{type,{2634,7},constraint,[{atom,{2634,7},is_subtype},[{var,{2634,7},'SchedulerId'},{type,{2634,22},pos_integer,[]}]]},{type,{2635,7},constraint,[{atom,{2635,7},is_subtype},[{var,{2635,7},'ActiveTime'},{type,{2635,22},non_neg_integer,[]}]]},{type,{2636,7},constraint,[{atom,{2636,7},is_subtype},[{var,{2636,7},'TotalTime'},{type,{2636,22},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66,48,49>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,41>>]}]},<<44,32,101,120,99,101,112,116,32,116,104,97,116,32,105,116,32,97,108,115,111,32,105,110,99,108,117,100,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,108,108,32,100,105,114,116,121,32,73,47,79,32,115,99,104,101,100,117,108,101,114,115,46>>]},{p,[],[<<68,105,114,116,121,32,73,79,32,115,99,104,101,100,117,108,101,114,115,32,119,105,108,108,32,104,97,118,101,32,115,99,104,101,100,117,108,101,114,32,105,100,101,110,116,105,102,105,101,114,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},{code,[],[<<32,43,32>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},{code,[],[<<32,60,32,83,99,104,101,100,117,108,101,114,73,100,32,61,60,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41,32,43,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41,32,43,32>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<78,111,116,101,32,116,104,97,116,32,119,111,114,107,32,101,120,101,99,117,116,105,110,103,32,111,110,32,100,105,114,116,121,32,73,47,79,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,101,120,112,101,99,116,101,100,32,116,111,32,109,97,105,110,108,121,32,119,97,105,116,32,102,111,114,32,73,47,79,46,32,84,104,97,116,32,105,115,44,32,119,104,101,110,32,121,111,117,32,103,101,116,32,104,105,103,104,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,32,111,110,32,100,105,114,116,121,32,73,47,79,32,115,99,104,101,100,117,108,101,114,115,44,32,67,80,85,32,117,116,105,108,105,122,97,116,105,111,110,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,104,105,103,104,32,100,117,101,32,116,111,32,116,104,105,115,32,119,111,114,107,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,55,53,50>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2637,17},bounded_fun,[{type,{2637,17},'fun',[{type,{2637,17},product,[{atom,{2637,18},scheduler_wall_time_all}]},{type,{2637,46},union,[{type,{2637,46},list,[{type,{2637,47},tuple,[{var,{2637,48},'SchedulerId'},{var,{2637,61},'ActiveTime'},{var,{2637,73},'TotalTime'}]}]},{atom,{2637,87},undefined}]}]},[{type,{2638,7},constraint,[{atom,{2638,7},is_subtype},[{var,{2638,7},'SchedulerId'},{type,{2638,22},pos_integer,[]}]]},{type,{2639,7},constraint,[{atom,{2639,7},is_subtype},[{var,{2639,7},'ActiveTime'},{type,{2639,22},non_neg_integer,[]}]]},{type,{2640,7},constraint,[{atom,{2640,7},is_subtype},[{var,{2640,7},'TotalTime'},{type,{2640,22},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<108,105,115,116,115,58,115,117,109,40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,97,99,116,105,118,101,95,116,97,115,107,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,97,99,116,105,118,101,95,116,97,115,107,115,41>>]}]},{code,[],[<<41>>]},<<44,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,55,56,48>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2641,3},bounded_fun,[{type,{2641,3},'fun',[{type,{2641,3},product,[{atom,{2641,4},total_active_tasks}]},{var,{2641,27},'ActiveTasks'}]},[{type,{2642,7},constraint,[{atom,{2642,7},is_subtype},[{var,{2642,7},'ActiveTasks'},{type,{2642,22},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,51>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<108,105,115,116,115,58,115,117,109,40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108,41>>]}]},{code,[],[<<41>>]},<<44,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,55,57,49>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2643,3},bounded_fun,[{type,{2643,3},'fun',[{type,{2643,3},product,[{atom,{2643,4},total_active_tasks_all}]},{var,{2643,31},'ActiveTasks'}]},[{type,{2644,7},constraint,[{atom,{2644,7},is_subtype},[{var,{2644,7},'ActiveTasks'},{type,{2644,22},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<108,105,115,116,115,58,115,117,109,40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,41>>]}]},{code,[],[<<41>>]},<<44,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,56,48,50>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2645,17},bounded_fun,[{type,{2645,17},'fun',[{type,{2645,17},product,[{atom,{2645,18},total_run_queue_lengths}]},{var,{2645,46},'TotalRunQueueLengths'}]},[{type,{2646,7},constraint,[{atom,{2646,7},is_subtype},[{var,{2646,7},'TotalRunQueueLengths'},{type,{2646,31},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,51>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<108,105,115,116,115,58,115,117,109,40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108,41>>]}]},{code,[],[<<41>>]},<<44,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,56,49,51>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2647,17},bounded_fun,[{type,{2647,17},'fun',[{type,{2647,17},product,[{atom,{2647,18},total_run_queue_lengths_all}]},{var,{2647,50},'TotalRunQueueLengths'}]},[{type,{2648,7},constraint,[{atom,{2648,7},is_subtype},[{var,{2648,7},'TotalRunQueueLengths'},{type,{2648,31},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2594}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,119,97,108,108,32,99,108,111,99,107,46,32>>,{code,[],[<<119,97,108,108,95,99,108,111,99,107>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,32,116,104,101,32,115,97,109,101,32,109,97,110,110,101,114,32,97,115,32>>,{code,[],[<<114,117,110,116,105,109,101>>]},<<44,32,101,120,99,101,112,116,32,116,104,97,116,32,114,101,97,108,32,116,105,109,101,32,105,115,32,109,101,97,115,117,114,101,100,32,97,115,32,111,112,112,111,115,101,100,32,116,111,32,114,117,110,116,105,109,101,32,111,114,32,67,80,85,32,116,105,109,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,56,50,52>>,signature => [{attribute,{2594,2},spec,{{statistics,1},[{type,{2649,17},bounded_fun,[{type,{2649,17},'fun',[{type,{2649,17},product,[{atom,{2649,18},wall_clock}]},{type,{2649,33},tuple,[{var,{2649,34},'Total_Wallclock_Time'},{var,{2650,34},'Wallclock_Time_Since_Last_Call'}]}]},[{type,{2651,7},constraint,[{atom,{2651,7},is_subtype},[{var,{2651,7},'Total_Wallclock_Time'},{type,{2651,31},non_neg_integer,[]}]]},{type,{2652,7},constraint,[{atom,{2652,7},is_subtype},[{var,{2652,7},'Wallclock_Time_Since_Last_Call'},{type,{2652,41},non_neg_integer,[]}]]}]]}]}}]}},{{function,suspend_process,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2005}],[<<115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49>>],#{<<101,110>> => [{p,[],[<<83,117,115,112,101,110,100,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<46,32,84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,40,83,117,115,112,101,110,100,101,101,44,32,91,93,41>>]}]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,111,110,108,121,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,56,51,53>>,signature => [{attribute,{2005,2},spec,{{erlang,suspend_process,1},[{type,{2005,29},bounded_fun,[{type,{2005,29},'fun',[{type,{2005,29},product,[{var,{2005,30},'Suspendee'}]},{atom,{2005,44},true}]},[{type,{2006,7},constraint,[{atom,{2006,7},is_subtype},[{var,{2006,7},'Suspendee'},{type,{2006,20},pid,[]}]]}]]}]}}]}},{{function,suspend_process,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1989}],[<<115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>],#{<<101,110>> => [{p,[],[<<73,110,99,114,101,97,115,101,115,32,116,104,101,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,97,110,100,32,112,117,116,115,32,105,116,32,105,110,32,116,104,101,32,115,117,115,112,101,110,100,101,100,32,115,116,97,116,101,32,105,102,32,105,116,32,105,115,32,110,111,116,32,97,108,114,101,97,100,121,32,105,110,32,116,104,97,116,32,115,116,97,116,101,46,32,65,32,115,117,115,112,101,110,100,101,100,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,115,99,104,101,100,117,108,101,100,32,102,111,114,32,101,120,101,99,117,116,105,111,110,32,117,110,116,105,108,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,115,32,98,101,101,110,32,114,101,115,117,109,101,100,46>>]},{p,[],[<<65,32,112,114,111,99,101,115,115,32,99,97,110,32,98,101,32,115,117,115,112,101,110,100,101,100,32,98,121,32,109,117,108,116,105,112,108,101,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,99,97,110,32,98,101,32,115,117,115,112,101,110,100,101,100,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,32,98,121,32,97,32,115,105,110,103,108,101,32,112,114,111,99,101,115,115,46,32,65,32,115,117,115,112,101,110,100,101,100,32,112,114,111,99,101,115,115,32,100,111,101,115,32,110,111,116,32,108,101,97,118,101,32,116,104,101,32,115,117,115,112,101,110,100,101,100,32,115,116,97,116,101,32,117,110,116,105,108,32,105,116,115,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,114,101,97,99,104,101,115,32,122,101,114,111,46,32,84,104,101,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,102,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,100,101,99,114,101,97,115,101,100,32,119,104,101,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,115,117,109,101,95,112,114,111,99,101,115,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,114,101,115,117,109,101,95,112,114,111,99,101,115,115,40,83,117,115,112,101,110,100,101,101,41>>]}]},<<32,105,115,32,99,97,108,108,101,100,32,98,121,32,116,104,101,32,115,97,109,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,99,97,108,108,101,100,32>>,{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,40,83,117,115,112,101,110,100,101,101,41>>]},<<46,32,65,108,108,32,105,110,99,114,101,97,115,101,100,32,115,117,115,112,101,110,100,32,99,111,117,110,116,115,32,111,110,32,111,116,104,101,114,32,112,114,111,99,101,115,115,101,115,32,97,99,113,117,105,114,101,100,32,98,121,32,97,32,112,114,111,99,101,115,115,32,97,114,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,99,114,101,97,115,101,100,32,119,104,101,110,32,116,104,101,32,112,114,111,99,101,115,115,32,116,101,114,109,105,110,97,116,101,115,46>>]},{p,[],[<<79,112,116,105,111,110,115,32,40>>,{code,[],[<<79,112,116>>]},<<115,41,58>>]},{dl,[],[{dt,[],[{code,[],[<<97,115,121,110,99,104,114,111,110,111,117,115>>]}]},{dd,[],[{p,[],[<<65,32,115,117,115,112,101,110,100,32,114,101,113,117,101,115,116,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<46,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,101,118,101,110,116,117,97,108,108,121,32,115,117,115,112,101,110,100,115,32,117,110,108,101,115,115,32,105,116,32,105,115,32,114,101,115,117,109,101,100,32,98,101,102,111,114,101,32,105,116,32,99,111,117,108,100,32,115,117,115,112,101,110,100,46,32,84,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>]},<<32,114,101,116,117,114,110,115,32,105,109,109,101,100,105,97,116,101,108,121,44,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,119,104,101,116,104,101,114,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,104,97,115,32,115,117,115,112,101,110,100,101,100,32,121,101,116,32,111,114,32,110,111,116,46,32,84,104,101,32,112,111,105,110,116,32,105,110,32,116,105,109,101,32,119,104,101,110,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,115,117,115,112,101,110,100,115,32,99,97,110,110,111,116,32,98,101,32,100,101,100,117,99,101,100,32,102,114,111,109,32,111,116,104,101,114,32,101,118,101,110,116,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,46,32,73,116,32,105,115,32,111,110,108,121,32,103,117,97,114,97,110,116,101,101,100,32,116,104,97,116,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32>>,{em,[],[<<101,118,101,110,116,117,97,108,108,121>>]},<<32,115,117,115,112,101,110,100,115,32,40,117,110,108,101,115,115,32,105,116,32,105,115,32,114,101,115,117,109,101,100,41,46,32,73,102,32,110,111,32>>,{code,[],[<<97,115,121,110,99,104,114,111,110,111,117,115>>]},<<32,111,112,116,105,111,110,115,32,104,97,115,32,98,101,101,110,32,112,97,115,115,101,100,44,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>]},<<32,105,115,32,98,108,111,99,107,101,100,32,117,110,116,105,108,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,104,97,115,32,115,117,115,112,101,110,100,101,100,46>>]}]},{dt,[],[{code,[],[<<123,97,115,121,110,99,104,114,111,110,111,117,115,44,32,82,101,112,108,121,84,97,103,125>>]}]},{dd,[],[{p,[],[<<65,32,115,117,115,112,101,110,100,32,114,101,113,117,101,115,116,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<46,32,87,104,101,110,32,116,104,101,32,115,117,115,112,101,110,100,32,114,101,113,117,101,115,116,32,104,97,115,32,98,101,101,110,32,112,114,111,99,101,115,115,101,100,44,32,97,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,32,84,104,101,32,114,101,112,108,121,32,105,115,32,111,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,82,101,112,108,121,84,97,103,44,32,83,116,97,116,101,125>>]},<<32,119,104,101,114,101,32>>,{code,[],[<<83,116,97,116,101>>]},<<32,105,115,32,101,105,116,104,101,114,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,120,105,116,101,100>>]}]},{dd,[],[{p,[],[{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,104,97,115,32,101,120,105,116,101,100,46>>]}]},{dt,[],[{code,[],[<<115,117,115,112,101,110,100,101,100>>]}]},{dd,[],[{p,[],[{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,110,111,119,32,115,117,115,112,101,110,100,101,100,46>>]}]},{dt,[],[{code,[],[<<110,111,116,95,115,117,115,112,101,110,100,101,100>>]}]},{dd,[],[{p,[],[{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,110,111,116,32,115,117,115,112,101,110,100,101,100,46,32,84,104,105,115,32,99,97,110,32,111,110,108,121,32,104,97,112,112,101,110,32,119,104,101,110,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,105,115,115,117,101,100,32,116,104,105,115,32,114,101,113,117,101,115,116,44,32,104,97,118,101,32,99,97,108,108,101,100,32>>,{code,[],[<<114,101,115,117,109,101,95,112,114,111,99,101,115,115,40,83,117,115,112,101,110,100,101,101,41>>]},<<32,98,101,102,111,114,101,32,103,101,116,116,105,110,103,32,116,104,101,32,114,101,112,108,121,46>>]}]}]},{p,[],[<<65,112,97,114,116,32,102,114,111,109,32,116,104,101,32,114,101,112,108,121,32,109,101,115,115,97,103,101,44,32,116,104,101,32>>,{code,[],[<<123,97,115,121,110,99,104,114,111,110,111,117,115,44,32,82,101,112,108,121,84,97,103,125>>]},<<32,111,112,116,105,111,110,32,98,101,104,97,118,101,115,32,101,120,97,99,116,108,121,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32>>,{code,[],[<<97,115,121,110,99,104,114,111,110,111,117,115>>]},<<32,111,112,116,105,111,110,32,119,105,116,104,111,117,116,32,114,101,112,108,121,32,116,97,103,46>>]}]},{dt,[],[{code,[],[<<117,110,108,101,115,115,95,115,117,115,112,101,110,100,105,110,103>>]}]},{dd,[],[{p,[],[<<84,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,115,117,115,112,101,110,100,101,100,32,117,110,108,101,115,115,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,108,114,101,97,100,121,32,105,115,32,115,117,115,112,101,110,100,105,110,103,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<46,32,73,102,32>>,{code,[],[<<117,110,108,101,115,115,95,115,117,115,112,101,110,100,105,110,103>>]},<<32,105,115,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<97,115,121,110,99,104,114,111,110,111,117,115>>]},<<44,32,97,32,115,117,115,112,101,110,100,32,114,101,113,117,101,115,116,32,105,115,32,115,101,110,116,32,117,110,108,101,115,115,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,108,114,101,97,100,121,32,105,115,32,115,117,115,112,101,110,100,105,110,103,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,111,114,32,105,102,32,97,32,115,117,115,112,101,110,100,32,114,101,113,117,101,115,116,32,97,108,114,101,97,100,121,32,104,97,115,32,98,101,101,110,32,115,101,110,116,32,97,110,100,32,105,115,32,105,110,32,116,114,97,110,115,105,116,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,108,114,101,97,100,121,32,105,115,32,115,117,115,112,101,110,100,105,110,103,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<44,32,111,114,32,105,102,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<97,115,121,110,99,104,114,111,110,111,117,115>>]},<<32,97,110,100,32,97,32,115,101,110,100,32,114,101,113,117,101,115,116,32,97,108,114,101,97,100,121,32,105,115,32,105,110,32,116,114,97,110,115,105,116,44,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,97,110,100,32,116,104,101,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,114,101,109,97,105,110,115,32,117,110,99,104,97,110,103,101,100,46>>]}]}]},{p,[],[<<73,102,32,116,104,101,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,105,110,99,114,101,97,115,101,100,44,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,111,110,108,121,46>>]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<89,111,117,32,99,97,110,32,101,97,115,105,108,121,32,99,114,101,97,116,101,32,100,101,97,100,108,111,99,107,115,32,105,102,32,112,114,111,99,101,115,115,101,115,32,115,117,115,112,101,110,100,115,32,101,97,99,104,32,111,116,104,101,114,32,40,100,105,114,101,99,116,108,121,32,111,114,32,105,110,32,99,105,114,99,108,101,115,41,46,32,73,110,32,69,82,84,83,32,118,101,114,115,105,111,110,115,32,112,114,105,111,114,32,116,111,32,69,82,84,83,32,118,101,114,115,105,111,110,32,49,48,46,48,44,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,112,114,101,118,101,110,116,101,100,32,115,117,99,104,32,100,101,97,100,108,111,99,107,115,44,32,98,117,116,32,116,104,105,115,32,112,114,101,118,101,110,116,105,111,110,32,104,97,115,32,110,111,119,32,98,101,101,110,32,114,101,109,111,118,101,100,32,100,117,101,32,116,111,32,112,101,114,102,111,114,109,97,110,99,101,32,114,101,97,115,111,110,115,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,110,111,116,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,116,104,101,32,115,97,109,101,32,112,114,111,99,101,115,115,32,97,115,32,116,104,101,32,112,114,111,99,101,115,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>]},<<46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,110,111,116,32,97,108,105,118,101,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,114,101,115,105,100,101,115,32,111,110,32,97,110,111,116,104,101,114,32,110,111,100,101,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,116,76,105,115,116>>]},<<32,105,115,32,110,111,116,32,97,32,112,114,111,112,101,114,32,108,105,115,116,32,111,102,32,118,97,108,105,100,32>>,{code,[],[<<79,112,116>>]},<<115,46>>]},{dt,[],[{code,[],[<<115,121,115,116,101,109,95,108,105,109,105,116>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,104,97,115,32,98,101,101,110,32,115,117,115,112,101,110,100,101,100,32,109,111,114,101,32,116,105,109,101,115,32,98,121,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,116,104,97,110,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,116,104,101,32,99,117,114,114,101,110,116,108,121,32,117,115,101,100,32,105,110,116,101,114,110,97,108,32,100,97,116,97,32,115,116,114,117,99,116,117,114,101,115,46,32,84,104,101,32,115,121,115,116,101,109,32,108,105,109,105,116,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,50,44,48,48,48,44,48,48,48,44,48,48,48,32,115,117,115,112,101,110,100,115,32,97,110,100,32,119,105,108,108,32,110,101,118,101,114,32,98,101,32,108,111,119,101,114,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,56,53,48>>,signature => [{attribute,{1989,2},spec,{{erlang,suspend_process,2},[{type,{1989,29},bounded_fun,[{type,{1989,29},'fun',[{type,{1989,29},product,[{var,{1989,30},'Suspendee'},{var,{1989,41},'OptList'}]},{type,{1989,53},boolean,[]}]},[{type,{1990,7},constraint,[{atom,{1990,7},is_subtype},[{var,{1990,7},'Suspendee'},{type,{1990,20},pid,[]}]]},{type,{1991,7},constraint,[{atom,{1991,7},is_subtype},[{var,{1991,7},'OptList'},{type,{1991,18},list,[{var,{1991,19},'Opt'}]}]]},{type,{1992,7},constraint,[{atom,{1992,7},is_subtype},[{var,{1992,7},'Opt'},{type,{1992,14},union,[{atom,{1992,14},unless_suspending},{atom,{1992,34},asynchronous},{type,{1992,49},tuple,[{atom,{1992,50},asynchronous},{type,{1992,64},term,[]}]}]}]]}]]}]}}]}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,109,97,120,105,109,117,109,32,100,101,112,116,104,32,111,102,32,99,97,108,108,32,115,116,97,99,107,32,98,97,99,107,45,116,114,97,99,101,115,32,105,110,32,116,104,101,32,101,120,105,116,32,114,101,97,115,111,110,32,101,108,101,109,101,110,116,32,111,102,32>>,{code,[],[<<39,69,88,73,84,39>>]},<<32,116,117,112,108,101,115,46,32,84,104,101,32,102,108,97,103,32,97,108,115,111,32,108,105,109,105,116,115,32,116,104,101,32,115,116,97,99,107,116,114,97,99,101,32,100,101,112,116,104,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<112,114,111,99,101,115,115,95,105,110,102,111>>]},<<32,105,116,101,109,32>>,{code,[],[<<99,117,114,114,101,110,116,95,115,116,97,99,107,116,114,97,99,101,46>>]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,57,57,54>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2672,25},bounded_fun,[{type,{2672,25},'fun',[{type,{2672,25},product,[{atom,{2672,26},backtrace_depth},{var,{2672,43},'Depth'}]},{var,{2672,53},'OldDepth'}]},[{type,{2673,7},constraint,[{atom,{2673,7},is_subtype},[{var,{2673,7},'Depth'},{type,{2673,16},non_neg_integer,[]}]]},{type,{2674,7},constraint,[{atom,{2674,7},is_subtype},[{var,{2674,7},'OldDepth'},{type,{2674,19},non_neg_integer,[]}]]}]]}]}}]}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<99,112,117,95,116,111,112,111,108,111,103,121>>}],[]},{li,[{name,<<105,110,102,111,95,108,105,115,116>>}],[]},{li,[{name,<<108,101,118,101,108,95,101,110,116,114,121>>}],[]},{li,[{name,<<108,101,118,101,108,95,116,97,103>>}],[]},{li,[{name,<<115,117,98,95,108,101,118,101,108>>}],[]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[{em,[],[<<84,104,105,115,32,97,114,103,117,109,101,110,116,32,105,115,32,100,101,112,114,101,99,97,116,101,100,46>>]},<<32,73,110,115,116,101,97,100,32,111,102,32,117,115,105,110,103,32,116,104,105,115,32,97,114,103,117,109,101,110,116,44,32,117,115,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,99,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<87,104,101,110,32,116,104,105,115,32,97,114,103,117,109,101,110,116,32,105,115,32,114,101,109,111,118,101,100,44,32,97,32,102,105,110,97,108,32,67,80,85,32,116,111,112,111,108,111,103,121,32,116,111,32,117,115,101,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,97,116,32,101,109,117,108,97,116,111,114,32,98,111,111,116,32,116,105,109,101,46>>]}]},{p,[],[<<83,101,116,115,32,116,104,101,32,117,115,101,114,45,100,101,102,105,110,101,100,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<46,32,84,104,101,32,117,115,101,114,45,100,101,102,105,110,101,100,32,67,80,85,32,116,111,112,111,108,111,103,121,32,111,118,101,114,114,105,100,101,115,32,97,110,121,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,116,101,99,116,101,100,32,67,80,85,32,116,111,112,111,108,111,103,121,46,32,66,121,32,112,97,115,115,105,110,103,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,97,115,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<44,32,116,104,101,32,115,121,115,116,101,109,32,114,101,118,101,114,116,115,32,116,111,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,116,101,99,116,101,100,46,32,84,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,101,113,117,97,108,115,32,116,104,101,32,118,97,108,117,101,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,99,112,117,95,116,111,112,111,108,111,103,121,41>>]},<<32,98,101,102,111,114,101,32,116,104,101,32,99,104,97,110,103,101,32,119,97,115,32,109,97,100,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]},{p,[],[<<84,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,105,115,32,117,115,101,100,32,119,104,101,110,32,98,105,110,100,105,110,103,32,115,99,104,101,100,117,108,101,114,115,32,116,111,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46,32,73,102,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,97,108,114,101,97,100,121,32,98,111,117,110,100,32,119,104,101,110,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,105,115,32,99,104,97,110,103,101,100,44,32,116,104,101,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,115,101,110,116,32,97,32,114,101,113,117,101,115,116,32,116,111,32,114,101,98,105,110,100,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,110,101,119,32,67,80,85,32,116,111,112,111,108,111,103,121,46>>]},{p,[],[<<84,104,101,32,117,115,101,114,45,100,101,102,105,110,101,100,32,67,80,85,32,116,111,112,111,108,111,103,121,32,99,97,110,32,97,108,115,111,32,98,101,32,115,101,116,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,99,116>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,116,121,112,101,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<32,97,110,100,32,109,111,114,101,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,99,112,117,95,116,111,112,111,108,111,103,121,41>>]}]},<<32,97,115,32,119,101,108,108,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,99,116>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,48,48,56>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2675,25},bounded_fun,[{type,{2675,25},'fun',[{type,{2675,25},product,[{atom,{2675,26},cpu_topology},{var,{2675,40},'CpuTopology'}]},{var,{2675,56},'OldCpuTopology'}]},[{type,{2676,7},constraint,[{atom,{2676,7},is_subtype},[{var,{2676,7},'CpuTopology'},{user_type,{2676,22},cpu_topology,[]}]]},{type,{2677,7},constraint,[{atom,{2677,7},is_subtype},[{var,{2677,7},'OldCpuTopology'},{user_type,{2677,25},cpu_topology,[]}]]}]]}]}}]}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46,32,82,97,110,103,101,32,105,115,32>>,{code,[],[<<49,32,60,61,32,68,105,114,116,121,67,80,85,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,32,60,61,32,78>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<78>>]},<<32,105,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,111,102,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41>>]},<<32,97,110,100,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]},{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,99,97,110,32,99,104,97,110,103,101,32,105,102,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,99,104,97,110,103,101,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32,49,50,32,115,99,104,101,100,117,108,101,114,115,32,97,110,100,32,54,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,111,110,108,105,110,101,44,32,97,110,100,32>>,{code,[],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>]},<<32,105,115,32,117,115,101,100,32,116,111,32,115,101,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,116,111,32,54,44,32,116,104,101,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,99,114,101,97,115,101,100,32,98,121,32,104,97,108,102,32,97,115,32,119,101,108,108,44,32,100,111,119,110,32,116,111,32,51,46,32,83,105,109,105,108,97,114,108,121,44,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,105,110,99,114,101,97,115,101,115,32,112,114,111,112,111,114,116,105,111,110,97,108,108,121,32,116,111,32,105,110,99,114,101,97,115,101,115,32,105,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,48,53,54>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2678,25},bounded_fun,[{type,{2678,25},'fun',[{type,{2678,25},product,[{atom,{2678,26},dirty_cpu_schedulers_online},{var,{2678,55},'DirtyCPUSchedulersOnline'}]},{var,{2679,33},'OldDirtyCPUSchedulersOnline'}]},[{type,{2680,7},constraint,[{atom,{2680,7},is_subtype},[{var,{2680,7},'DirtyCPUSchedulersOnline'},{type,{2680,35},pos_integer,[]}]]},{type,{2681,7},constraint,[{atom,{2681,7},is_subtype},[{var,{2681,7},'OldDirtyCPUSchedulersOnline'},{type,{2681,38},pos_integer,[]}]]}]]}]}}],since => <<79,84,80,32,49,55,46,48>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,115,121,115,116,101,109,32,102,108,97,103,115,32,102,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]}]},<<46,32>>,{code,[],[<<65,108,108,111,99>>]},<<32,105,115,32,116,104,101,32,97,108,108,111,99,97,116,111,114,32,116,111,32,97,102,102,101,99,116,44,32,102,111,114,32,101,120,97,109,112,108,101,32>>,{code,[],[<<98,105,110,97,114,121,95,97,108,108,111,99>>]},<<46,32>>,{code,[],[<<70>>]},<<32,105,115,32,116,104,101,32,102,108,97,103,32,116,111,32,99,104,97,110,103,101,32,97,110,100,32>>,{code,[],[<<86>>]},<<32,105,115,32,116,104,101,32,110,101,119,32,118,97,108,117,101,46>>]},{p,[],[<<79,110,108,121,32,97,32,115,117,98,115,101,116,32,111,102,32,97,108,108,32>>,{code,[],[<<101,114,116,115,95,97,108,108,111,99>>]},<<32,102,108,97,103,115,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,97,116,32,114,117,110,32,116,105,109,101,46,32,84,104,105,115,32,115,117,98,115,101,116,32,105,115,32,99,117,114,114,101,110,116,108,121,32,111,110,108,121,32,116,104,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99,35,77,95,115,98,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<115,98,99,116>>]}]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,116,104,101,32,102,108,97,103,32,119,97,115,32,115,101,116,32,111,114,32>>,{code,[],[<<110,111,116,115,117,112>>]},<<32,105,102,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32>>,{code,[],[<<101,114,116,115,95,97,108,108,111,99>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,48,56,53>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2682,25},bounded_fun,[{type,{2682,25},'fun',[{type,{2682,25},product,[{atom,{2682,26},erts_alloc},{type,{2682,38},tuple,[{var,{2682,39},'Alloc'},{var,{2682,46},'F'},{var,{2682,49},'V'}]}]},{type,{2682,56},union,[{atom,{2682,56},ok},{atom,{2682,61},notsup}]}]},[{type,{2683,7},constraint,[{atom,{2683,7},is_subtype},[{var,{2683,7},'Alloc'},{type,{2683,16},atom,[]}]]},{type,{2684,7},constraint,[{atom,{2684,7},is_subtype},[{var,{2684,7},'F'},{type,{2684,12},atom,[]}]]},{type,{2685,7},constraint,[{atom,{2685,7},is_subtype},[{var,{2685,7},'V'},{type,{2685,12},integer,[]}]]}]]}]}}],since => <<79,84,80,32,50,48,46,50,46,51>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,115,121,115,116,101,109,32,102,108,97,103,32>>,{code,[],[<<102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>]},<<46,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<32,105,115,32,97,32,110,111,110,45,110,101,103,97,116,105,118,101,32,105,110,116,101,103,101,114,32,105,110,100,105,99,97,116,105,110,103,32,104,111,119,32,109,97,110,121,32,116,105,109,101,115,32,103,101,110,101,114,97,116,105,111,110,97,108,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,99,97,110,32,98,101,32,100,111,110,101,32,119,105,116,104,111,117,116,32,102,111,114,99,105,110,103,32,97,32,102,117,108,108,115,119,101,101,112,32,99,111,108,108,101,99,116,105,111,110,46,32,84,104,101,32,118,97,108,117,101,32,97,112,112,108,105,101,115,32,116,111,32,110,101,119,32,112,114,111,99,101,115,115,101,115,44,32,119,104,105,108,101,32,112,114,111,99,101,115,115,101,115,32,97,108,114,101,97,100,121,32,114,117,110,110,105,110,103,32,97,114,101,32,110,111,116,32,97,102,102,101,99,116,101,100,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]},{p,[],[<<73,110,32,108,111,119,45,109,101,109,111,114,121,32,115,121,115,116,101,109,115,32,40,101,115,112,101,99,105,97,108,108,121,32,119,105,116,104,111,117,116,32,118,105,114,116,117,97,108,32,109,101,109,111,114,121,41,44,32,115,101,116,116,105,110,103,32,116,104,101,32,118,97,108,117,101,32,116,111,32>>,{code,[],[<<48>>]},<<32,99,97,110,32,104,101,108,112,32,116,111,32,99,111,110,115,101,114,118,101,32,109,101,109,111,114,121,46>>]},{p,[],[<<84,104,105,115,32,118,97,108,117,101,32,99,97,110,32,97,108,115,111,32,98,101,32,115,101,116,32,116,104,114,111,117,103,104,32,40,79,83,41,32,101,110,118,105,114,111,110,109,101,110,116,32,118,97,114,105,97,98,108,101,32>>,{code,[],[<<69,82,76,95,70,85,76,76,83,87,69,69,80,95,65,70,84,69,82>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,49,48,50>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2686,25},bounded_fun,[{type,{2686,25},'fun',[{type,{2686,25},product,[{atom,{2686,26},fullsweep_after},{var,{2686,43},'Number'}]},{var,{2686,54},'OldNumber'}]},[{type,{2687,7},constraint,[{atom,{2687,7},is_subtype},[{var,{2687,7},'Number'},{type,{2687,17},non_neg_integer,[]}]]},{type,{2688,7},constraint,[{atom,{2688,7},is_subtype},[{var,{2688,7},'OldNumber'},{type,{2688,20},non_neg_integer,[]}]]}]]}]}}]}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<84,117,114,110,115,32,111,110,47,111,102,102,32,109,105,99,114,111,115,116,97,116,101,32,97,99,99,111,117,110,116,105,110,103,32,109,101,97,115,117,114,101,109,101,110,116,115,46,32,87,104,101,110,32,112,97,115,115,105,110,103,32,114,101,115,101,116,44,32,97,108,108,32,99,111,117,110,116,101,114,115,32,97,114,101,32,114,101,115,101,116,32,116,111,32,48,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,49,50,49>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2689,25},bounded_fun,[{type,{2689,25},'fun',[{type,{2689,25},product,[{atom,{2689,26},microstate_accounting},{var,{2689,49},'Action'}]},{var,{2689,60},'OldState'}]},[{type,{2690,7},constraint,[{atom,{2690,7},is_subtype},[{var,{2690,7},'Action'},{type,{2690,17},union,[{atom,{2690,17},true},{atom,{2690,24},false},{atom,{2690,32},reset}]}]]},{type,{2691,7},constraint,[{atom,{2691,7},is_subtype},[{var,{2691,7},'OldState'},{type,{2691,19},union,[{atom,{2691,19},true},{atom,{2691,26},false}]}]]}]]}]}}],since => <<79,84,80,32,49,57,46,48>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,100,101,102,97,117,108,116,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,112,114,111,99,101,115,115,101,115,46,32,84,104,101,32,115,105,122,101,32,105,115,32,115,112,101,99,105,102,105,101,100,32,105,110,32,119,111,114,100,115,46,32,84,104,101,32,110,101,119,32>>,{code,[],[<<109,105,110,95,104,101,97,112,95,115,105,122,101>>]},<<32,101,102,102,101,99,116,115,32,111,110,108,121,32,112,114,111,99,101,115,115,101,115,32,115,112,97,119,110,101,100,32,97,102,116,101,114,32,116,104,101,32,99,104,97,110,103,101,32,111,102,32>>,{code,[],[<<109,105,110,95,104,101,97,112,95,115,105,122,101>>]},<<32,104,97,115,32,98,101,101,110,32,109,97,100,101,46,32>>,{code,[],[<<109,105,110,95,104,101,97,112,95,115,105,122,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,102,111,114,32,105,110,100,105,118,105,100,117,97,108,32,112,114,111,99,101,115,115,101,115,32,98,121,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,52>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>]}]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,49,51,53>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2692,25},bounded_fun,[{type,{2692,25},'fun',[{type,{2692,25},product,[{atom,{2692,26},min_heap_size},{var,{2692,41},'MinHeapSize'}]},{var,{2692,57},'OldMinHeapSize'}]},[{type,{2693,7},constraint,[{atom,{2693,7},is_subtype},[{var,{2693,7},'MinHeapSize'},{type,{2693,22},non_neg_integer,[]}]]},{type,{2694,7},constraint,[{atom,{2694,7},is_subtype},[{var,{2694,7},'OldMinHeapSize'},{type,{2694,25},non_neg_integer,[]}]]}]]}]}}]}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,100,101,102,97,117,108,116,32,109,105,110,105,109,117,109,32,98,105,110,97,114,121,32,118,105,114,116,117,97,108,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,112,114,111,99,101,115,115,101,115,46,32,84,104,101,32,115,105,122,101,32,105,115,32,115,112,101,99,105,102,105,101,100,32,105,110,32,119,111,114,100,115,46,32,84,104,101,32,110,101,119,32>>,{code,[],[<<109,105,110,95,98,105,110,95,118,104,104,101,97,112,95,115,105,122,101>>]},<<32,101,102,102,101,99,116,115,32,111,110,108,121,32,112,114,111,99,101,115,115,101,115,32,115,112,97,119,110,101,100,32,97,102,116,101,114,32,116,104,101,32,99,104,97,110,103,101,32,111,102,32>>,{code,[],[<<109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101>>]},<<32,104,97,115,32,98,101,101,110,32,109,97,100,101,46,32>>,{code,[],[<<109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,102,111,114,32,105,110,100,105,118,105,100,117,97,108,32,112,114,111,99,101,115,115,101,115,32,98,121,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,50,44,51,44,52>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>]}]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,49,53,48>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2695,25},bounded_fun,[{type,{2695,25},'fun',[{type,{2695,25},product,[{atom,{2695,26},min_bin_vheap_size},{var,{2695,46},'MinBinVHeapSize'}]},{var,{2696,33},'OldMinBinVHeapSize'}]},[{type,{2697,7},constraint,[{atom,{2697,7},is_subtype},[{var,{2697,7},'MinBinVHeapSize'},{type,{2697,26},non_neg_integer,[]}]]},{type,{2698,7},constraint,[{atom,{2698,7},is_subtype},[{var,{2698,7},'OldMinBinVHeapSize'},{type,{2698,29},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,51,66,48,52>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]}]},{p,[],[<<83,101,116,115,32,116,104,101,32,100,101,102,97,117,108,116,32,109,97,120,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,115,101,116,116,105,110,103,115,32,102,111,114,32,112,114,111,99,101,115,115,101,115,46,32,84,104,101,32,115,105,122,101,32,105,115,32,115,112,101,99,105,102,105,101,100,32,105,110,32,119,111,114,100,115,46,32,84,104,101,32,110,101,119,32>>,{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]},<<32,101,102,102,101,99,116,115,32,111,110,108,121,32,112,114,111,99,101,115,115,101,115,32,115,112,97,119,110,101,100,32,101,102,116,101,114,32,116,104,101,32,99,104,97,110,103,101,32,104,97,115,32,98,101,101,110,32,109,97,100,101,46,32>>,{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,102,111,114,32,105,110,100,105,118,105,100,117,97,108,32,112,114,111,99,101,115,115,101,115,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,50,44,51,44,52>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>]}]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,49,54,55>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2699,25},bounded_fun,[{type,{2699,25},'fun',[{type,{2699,25},product,[{atom,{2699,26},max_heap_size},{var,{2699,41},'MaxHeapSize'}]},{var,{2699,57},'OldMaxHeapSize'}]},[{type,{2700,7},constraint,[{atom,{2700,7},is_subtype},[{var,{2700,7},'MaxHeapSize'},{user_type,{2700,22},max_heap_size,[]}]]},{type,{2701,7},constraint,[{atom,{2701,7},is_subtype},[{var,{2701,7},'OldMaxHeapSize'},{user_type,{2701,25},max_heap_size,[]}]]}]]}]}}],since => <<79,84,80,32,49,57,46,48>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,101,110,97,98,108,101,100,44,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,32,105,115,32,117,115,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,77,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,99,97,110,32,98,101,32,98,108,111,99,107,101,100,32,105,110,32,116,119,111,32,100,105,102,102,101,114,101,110,116,32,119,97,121,115,46,32,69,105,116,104,101,114,32,97,108,108,32,115,99,104,101,100,117,108,101,114,115,32,98,117,116,32,111,110,101,32,105,115,32,98,108,111,99,107,101,100,44,32,111,114,32,97,108,108,32>>,{em,[],[<<110,111,114,109,97,108>>]},<<32,115,99,104,101,100,117,108,101,114,115,32,98,117,116,32,111,110,101,32,105,115,32,98,108,111,99,107,101,100,46,32,87,104,101,110,32,111,110,108,121,32,110,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,98,108,111,99,107,101,100,44,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,102,114,101,101,32,116,111,32,99,111,110,116,105,110,117,101,32,116,111,32,115,99,104,101,100,117,108,101,32,112,114,111,99,101,115,115,101,115,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<66,108,111,99,107,83,116,97,116,101,32,61,58,61,32,98,108,111,99,107>>]},<<44,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,98,108,111,99,107,101,100,46,32,84,104,97,116,32,105,115,44,32,111,110,101,32,97,110,100,32,111,110,108,121,32,111,110,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,32,119,105,108,108,32,101,120,101,99,117,116,101,46,32,73,102,32>>,{code,[],[<<66,108,111,99,107,83,116,97,116,101,32,61,58,61,32,117,110,98,108,111,99,107>>]},<<32,97,110,100,32,110,111,32,111,110,101,32,101,108,115,101,32,98,108,111,99,107,115,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,44,32,97,110,100,32,116,104,105,115,32,112,114,111,99,101,115,115,32,104,97,115,32,98,108,111,99,107,101,100,32,111,110,108,121,32,111,110,99,101,44,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,117,110,98,108,111,99,107,101,100,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<66,108,111,99,107,83,116,97,116,101,32,61,58,61,32,98,108,111,99,107,95,110,111,114,109,97,108>>]},<<44,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,98,108,111,99,107,101,100,46,32,84,104,97,116,32,105,115,44,32,111,110,108,121,32,111,110,101,32,110,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,32,119,105,108,108,32,101,120,101,99,117,116,101,44,32,98,117,116,32,109,117,108,116,105,112,108,101,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,99,97,110,32,101,120,101,99,117,116,101,46,32,73,102,32>>,{code,[],[<<66,108,111,99,107,83,116,97,116,101,32,61,58,61,32,117,110,98,108,111,99,107,95,110,111,114,109,97,108>>]},<<32,97,110,100,32,110,111,32,111,110,101,32,101,108,115,101,32,98,108,111,99,107,115,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,44,32,97,110,100,32,116,104,105,115,32,112,114,111,99,101,115,115,32,104,97,115,32,98,108,111,99,107,101,100,32,111,110,108,121,32,111,110,99,101,44,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,117,110,98,108,111,99,107,101,100,46>>]},{p,[],[<<79,110,101,32,112,114,111,99,101,115,115,32,99,97,110,32,98,108,111,99,107,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,97,110,100,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,46,32,73,102,32,97,32,112,114,111,99,101,115,115,32,104,97,115,32,98,108,111,99,107,101,100,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,44,32,105,116,32,109,117,115,116,32,117,110,98,108,111,99,107,32,101,120,97,99,116,108,121,32,97,115,32,109,97,110,121,32,116,105,109,101,115,32,97,115,32,105,116,32,104,97,115,32,98,108,111,99,107,101,100,32,98,101,102,111,114,101,32,105,116,32,104,97,115,32,114,101,108,101,97,115,101,100,32,105,116,115,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,98,108,111,99,107,46,32,73,102,32,97,32,112,114,111,99,101,115,115,32,116,104,97,116,32,104,97,115,32,98,108,111,99,107,101,100,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,111,114,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,101,120,105,116,115,44,32,105,116,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,114,101,108,101,97,115,101,115,32,105,116,115,32,98,108,111,99,107,105,110,103,32,111,102,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,97,110,100,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,46>>]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,97,114,101,32>>,{code,[],[<<100,105,115,97,98,108,101,100>>]},<<44,32>>,{code,[],[<<98,108,111,99,107,101,100>>]},<<44,32>>,{code,[],[<<98,108,111,99,107,101,100,95,110,111,114,109,97,108>>]},<<44,32,111,114,32>>,{code,[],[<<101,110,97,98,108,101,100>>]},<<46,32,84,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,100,101,115,99,114,105,98,101,115,32,116,104,101,32,115,116,97,116,101,32,106,117,115,116,32,97,102,116,101,114,32,116,104,101,32,99,97,108,108,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,44,32,66,108,111,99,107,83,116,97,116,101,41>>]},<<32,104,97,115,32,98,101,101,110,32,109,97,100,101,46,32,70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,41>>]}]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<66,108,111,99,107,105,110,103,32,111,102,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,97,110,100,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,110,111,114,109,97,108,108,121,32,110,111,116,32,110,101,101,100,101,100,46,32,73,102,32,121,111,117,32,102,101,101,108,32,116,104,97,116,32,121,111,117,32,110,101,101,100,32,116,111,32,117,115,101,32,116,104,101,115,101,32,102,101,97,116,117,114,101,115,44,32,99,111,110,115,105,100,101,114,32,105,116,32,97,32,102,101,119,32,109,111,114,101,32,116,105,109,101,115,32,97,103,97,105,110,46,32,66,108,111,99,107,105,110,103,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,111,110,108,121,32,116,111,32,98,101,32,117,115,101,100,32,97,115,32,97,32,108,97,115,116,32,114,101,115,111,114,116,44,32,97,115,32,105,116,32,105,115,32,109,111,115,116,32,108,105,107,101,108,121,32,97,32>>,{em,[],[<<118,101,114,121,32,105,110,101,102,102,105,99,105,101,110,116>>]},<<32,119,97,121,32,116,111,32,115,111,108,118,101,32,116,104,101,32,112,114,111,98,108,101,109,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,49,56,53>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2702,25},bounded_fun,[{type,{2702,25},'fun',[{type,{2702,25},product,[{atom,{2702,26},multi_scheduling},{var,{2702,44},'BlockState'}]},{var,{2702,59},'OldBlockState'}]},[{type,{2703,7},constraint,[{atom,{2703,7},is_subtype},[{var,{2703,7},'BlockState'},{type,{2703,21},union,[{atom,{2703,21},block},{atom,{2703,29},unblock},{atom,{2703,39},block_normal},{atom,{2703,54},unblock_normal}]}]]},{type,{2704,7},constraint,[{atom,{2704,7},is_subtype},[{var,{2704,7},'OldBlockState'},{type,{2704,24},union,[{atom,{2704,24},blocked},{atom,{2704,34},disabled},{atom,{2704,45},enabled}]}]]}]]}]}}]}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101>>}],[]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[{em,[],[<<84,104,105,115,32,97,114,103,117,109,101,110,116,32,105,115,32,100,101,112,114,101,99,97,116,101,100,46>>]},<<32,73,110,115,116,101,97,100,32,111,102,32,117,115,105,110,103,32,116,104,105,115,32,97,114,103,117,109,101,110,116,44,32,117,115,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46,32,87,104,101,110,32,116,104,105,115,32,97,114,103,117,109,101,110,116,32,105,115,32,114,101,109,111,118,101,100,44,32,97,32,102,105,110,97,108,32,115,99,104,101,100,117,108,101,114,32,98,105,110,100,32,116,121,112,101,32,116,111,32,117,115,101,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,97,116,32,101,109,117,108,97,116,111,114,32,98,111,111,116,32,116,105,109,101,46>>]}]},{p,[],[<<67,111,110,116,114,111,108,115,32,105,102,32,97,110,100,32,104,111,119,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,98,111,117,110,100,32,116,111,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46>>]},{p,[],[<<87,104,101,110,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101,44,32,72,111,119,41>>]},<<32,105,115,32,99,97,108,108,101,100,44,32,97,110,32,97,115,121,110,99,104,114,111,110,111,117,115,32,115,105,103,110,97,108,32,105,115,32,115,101,110,116,32,116,111,32,97,108,108,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,44,32,99,97,117,115,105,110,103,32,116,104,101,109,32,116,111,32,116,114,121,32,116,111,32,98,105,110,100,32,111,114,32,117,110,98,105,110,100,32,97,115,32,114,101,113,117,101,115,116,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,102,32,97,32,115,99,104,101,100,117,108,101,114,32,102,97,105,108,115,32,116,111,32,98,105,110,100,44,32,116,104,105,115,32,105,115,32,111,102,116,101,110,32,115,105,108,101,110,116,108,121,32,105,103,110,111,114,101,100,44,32,97,115,32,105,116,32,105,115,32,110,111,116,32,97,108,119,97,121,115,32,112,111,115,115,105,98,108,101,32,116,111,32,118,101,114,105,102,121,32,118,97,108,105,100,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,32,105,100,101,110,116,105,102,105,101,114,115,46,32,73,102,32,97,110,32,101,114,114,111,114,32,105,115,32,114,101,112,111,114,116,101,100,44,32,97,110,32,101,114,114,111,114,32,101,118,101,110,116,32,105,115,32,108,111,103,103,101,100,46,32,84,111,32,118,101,114,105,102,121,32,116,104,97,116,32,116,104,101,32,115,99,104,101,100,117,108,101,114,115,32,104,97,118,101,32,98,111,117,110,100,32,97,115,32,114,101,113,117,101,115,116,101,100,44,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115,41>>]}]},<<46>>]}]},{p,[],[<<83,99,104,101,100,117,108,101,114,115,32,99,97,110,32,98,101,32,98,111,117,110,100,32,111,110,32,110,101,119,101,114,32,76,105,110,117,120,44,32,83,111,108,97,114,105,115,44,32,70,114,101,101,66,83,68,44,32,97,110,100,32,87,105,110,100,111,119,115,32,115,121,115,116,101,109,115,44,32,98,117,116,32,109,111,114,101,32,115,121,115,116,101,109,115,32,119,105,108,108,32,98,101,32,115,117,112,112,111,114,116,101,100,32,105,110,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,115,46>>]},{p,[],[<<73,110,32,111,114,100,101,114,32,102,111,114,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,116,111,32,98,101,32,97,98,108,101,32,116,111,32,98,105,110,100,32,115,99,104,101,100,117,108,101,114,115,44,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,109,117,115,116,32,98,101,32,107,110,111,119,110,46,32,73,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,102,97,105,108,115,32,116,111,32,100,101,116,101,99,116,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,97,117,116,111,109,97,116,105,99,97,108,108,121,44,32,105,116,32,99,97,110,32,98,101,32,100,101,102,105,110,101,100,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,104,111,119,32,116,111,32,100,101,102,105,110,101,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,44,32,115,101,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,99,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<84,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,100,111,101,115,32,98,121,32,100,101,102,97,117,108,116,32>>,{em,[],[<<110,111,116>>]},<<32,98,105,110,100,32,115,99,104,101,100,117,108,101,114,115,32,116,111,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,102,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,115,32,116,104,101,32,111,110,108,121,32,79,83,32,112,114,111,99,101,115,115,32,98,105,110,100,105,110,103,32,116,104,114,101,97,100,115,32,116,111,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,44,32,116,104,105,115,32,105,109,112,114,111,118,101,115,32,116,104,101,32,112,101,114,102,111,114,109,97,110,99,101,32,111,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,72,111,119,101,118,101,114,44,32,105,102,32,111,116,104,101,114,32,79,83,32,112,114,111,99,101,115,115,101,115,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,97,110,111,116,104,101,114,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,41,32,97,108,115,111,32,98,105,110,100,32,116,104,114,101,97,100,115,32,116,111,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,44,32,116,104,101,114,101,32,99,97,110,32,98,101,32,97,32,112,101,114,102,111,114,109,97,110,99,101,32,112,101,110,97,108,116,121,32,105,110,115,116,101,97,100,46,32,83,111,109,101,116,105,109,101,115,32,116,104,105,115,32,112,101,114,102,111,114,109,97,110,99,101,32,112,101,110,97,108,116,121,32,99,97,110,32,98,101,32,115,101,118,101,114,101,46,32,73,102,32,115,111,44,32,105,116,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,110,111,116,32,98,105,110,100,32,116,104,101,32,115,99,104,101,100,117,108,101,114,115,46>>]}]},{p,[],[<<83,99,104,101,100,117,108,101,114,115,32,99,97,110,32,98,101,32,98,111,117,110,100,32,105,110,32,100,105,102,102,101,114,101,110,116,32,119,97,121,115,46,32,65,114,103,117,109,101,110,116,32>>,{code,[],[<<72,111,119>>]},<<32,100,101,116,101,114,109,105,110,101,115,32,104,111,119,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,98,111,117,110,100,32,97,110,100,32,99,97,110,32,98,101,32,97,110,121,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<117,110,98,111,117,110,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,117>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<110,111,95,115,112,114,101,97,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,110,115>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<116,104,114,101,97,100,95,115,112,114,101,97,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,116,115>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<112,114,111,99,101,115,115,111,114,95,115,112,114,101,97,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,112,115>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<115,112,114,101,97,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,115>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<110,111,95,110,111,100,101,95,116,104,114,101,97,100,95,115,112,114,101,97,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,110,110,116,115>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<110,111,95,110,111,100,101,95,112,114,111,99,101,115,115,111,114,95,115,112,114,101,97,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,110,110,112,115>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<116,104,114,101,97,100,95,110,111,95,110,111,100,101,95,112,114,111,99,101,115,115,111,114,95,115,112,114,101,97,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,116,110,110,112,115>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<100,101,102,97,117,108,116,95,98,105,110,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,100,98>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,101,113,117,97,108,115,32>>,{code,[],[<<72,111,119>>]},<<32,98,101,102,111,114,101,32,102,108,97,103,32>>,{code,[],[<<115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101>>]},<<32,119,97,115,32,99,104,97,110,103,101,100,46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<110,111,116,115,117,112>>]}]},{dd,[],[<<73,102,32,98,105,110,100,105,110,103,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<72,111,119>>]},<<32,105,115,32,110,111,116,32,111,110,101,32,111,102,32,116,104,101,32,100,111,99,117,109,101,110,116,101,100,32,97,108,116,101,114,110,97,116,105,118,101,115,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,67,80,85,32,116,111,112,111,108,111,103,121,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,46>>]}]},{p,[],[<<84,104,101,32,115,99,104,101,100,117,108,101,114,32,98,105,110,100,32,116,121,112,101,32,99,97,110,32,97,108,115,111,32,98,101,32,115,101,116,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115,41>>]}]},<<44,32,97,115,32,119,101,108,108,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,99,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,50,52,49>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2705,25},bounded_fun,[{type,{2705,25},'fun',[{type,{2705,25},product,[{atom,{2705,26},scheduler_bind_type},{var,{2705,47},'How'}]},{var,{2705,55},'OldBindType'}]},[{type,{2706,7},constraint,[{atom,{2706,7},is_subtype},[{var,{2706,7},'How'},{type,{2706,14},union,[{user_type,{2706,14},scheduler_bind_type,[]},{atom,{2706,38},default_bind}]}]]},{type,{2707,7},constraint,[{atom,{2707,7},is_subtype},[{var,{2707,7},'OldBindType'},{user_type,{2707,22},scheduler_bind_type,[]}]]}]]}]}}]}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<84,117,114,110,115,32,111,110,32,111,114,32,111,102,102,32,115,99,104,101,100,117,108,101,114,32,119,97,108,108,32,116,105,109,101,32,109,101,97,115,117,114,101,109,101,110,116,115,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,51,54,56>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2708,25},bounded_fun,[{type,{2708,25},'fun',[{type,{2708,25},product,[{atom,{2708,26},scheduler_wall_time},{var,{2708,47},'Boolean'}]},{var,{2708,60},'OldBoolean'}]},[{type,{2709,7},constraint,[{atom,{2709,7},is_subtype},[{var,{2709,7},'Boolean'},{type,{2709,18},boolean,[]}]]},{type,{2710,7},constraint,[{atom,{2710,7},is_subtype},[{var,{2710,7},'OldBoolean'},{type,{2710,21},boolean,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66,48,49>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46,32,82,97,110,103,101,32,105,115,32>>,{code,[],[<<49,32,60,61,32,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,32,60,61,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]},{p,[],[<<73,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,119,97,115,32,98,117,105,108,116,32,119,105,116,104,32,115,117,112,112,111,114,116,32,102,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115>>]},<<44,32,99,104,97,110,103,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,99,97,110,32,97,108,115,111,32,99,104,97,110,103,101,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32,49,50,32,115,99,104,101,100,117,108,101,114,115,32,97,110,100,32,54,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,111,110,108,105,110,101,44,32,97,110,100,32>>,{code,[],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>]},<<32,105,115,32,117,115,101,100,32,116,111,32,115,101,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,116,111,32,54,44,32,116,104,101,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,99,114,101,97,115,101,100,32,98,121,32,104,97,108,102,32,97,115,32,119,101,108,108,44,32,100,111,119,110,32,116,111,32,51,46,32,83,105,109,105,108,97,114,108,121,44,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,105,110,99,114,101,97,115,101,115,32,112,114,111,112,111,114,116,105,111,110,97,108,108,121,32,116,111,32,105,110,99,114,101,97,115,101,115,32,105,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,51,56,49>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2711,25},bounded_fun,[{type,{2711,25},'fun',[{type,{2711,25},product,[{atom,{2711,26},schedulers_online},{var,{2711,45},'SchedulersOnline'}]},{var,{2712,33},'OldSchedulersOnline'}]},[{type,{2713,7},constraint,[{atom,{2713,7},is_subtype},[{var,{2713,7},'SchedulersOnline'},{type,{2713,27},pos_integer,[]}]]},{type,{2714,7},constraint,[{atom,{2714,7},is_subtype},[{var,{2714,7},'OldSchedulersOnline'},{type,{2714,30},pos_integer,[]}]]}]]}]}}]}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,119,105,108,108,32,114,101,99,101,105,118,101,32,116,104,101,32,108,111,103,103,105,110,103,32,109,101,115,115,97,103,101,115,32,103,101,110,101,114,97,116,101,100,32,98,121,32,69,82,84,83,46,32,73,102,32,115,101,116,32,116,111,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<44,32,97,108,108,32,108,111,103,103,105,110,103,32,109,101,115,115,97,103,101,115,32,103,101,110,101,114,97,116,101,100,32,98,121,32,69,82,84,83,32,119,105,108,108,32,98,101,32,100,114,111,112,112,101,100,46,32,84,104,101,32,109,101,115,115,97,103,101,115,32,119,105,108,108,32,98,101,32,105,110,32,116,104,101,32,102,111,114,109,97,116,58>>]},{pre,[],[{code,[],[<<123,108,111,103,44,76,101,118,101,108,44,70,111,114,109,97,116,44,65,114,103,76,105,115,116,44,77,101,116,97,100,97,116,97,125,32,119,104,101,114,101,10,10,76,101,118,101,108,32,61,32,97,116,111,109,40,41,44,10,70,111,114,109,97,116,32,61,32,115,116,114,105,110,103,40,41,44,10,65,114,103,76,105,115,116,32,61,32,108,105,115,116,40,116,101,114,109,40,41,41,44,10,77,101,116,97,100,97,116,97,32,61,32,35,123,32,112,105,100,32,61,62,32,112,105,100,40,41,44,10,32,32,32,103,114,111,117,112,95,108,101,97,100,101,114,32,61,62,32,112,105,100,40,41,44,10,32,32,32,116,105,109,101,32,58,61,32,108,111,103,103,101,114,58,116,105,109,101,115,116,97,109,112,40,41,44,10,32,32,32,101,114,114,111,114,95,108,111,103,103,101,114,32,58,61,32,35,123,32,101,109,117,108,97,116,111,114,32,58,61,32,116,114,117,101,44,32,116,97,103,32,58,61,32,97,116,111,109,40,41,32,125,10,32,32,32,32,32,32,32,32>>]}]},{p,[],[<<73,102,32,116,104,101,32>>,{code,[],[<<115,121,115,116,101,109,95,108,111,103,103,101,114>>]},<<32,112,114,111,99,101,115,115,32,100,105,101,115,44,32,116,104,105,115,32,102,108,97,103,32,119,105,108,108,32,98,101,32,114,101,115,101,116,32,116,111,32>>,{code,[],[<<108,111,103,103,101,114>>]},<<46>>]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,110,97,109,101,100,32>>,{code,[],[<<108,111,103,103,101,114>>]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,100,101,115,105,103,110,101,100,32,116,111,32,98,101,32,117,115,101,100,32,98,121,32,116,104,101,32,75,69,82,78,69,76,32>>,{a,[{href,<<107,101,114,110,101,108,58,108,111,103,103,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<108,111,103,103,101,114>>]}]},<<46,32,66,101,32,99,97,114,101,102,117,108,32,105,102,32,121,111,117,32,99,104,97,110,103,101,32,105,116,32,116,111,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,97,115,32,108,111,103,32,109,101,115,115,97,103,101,115,32,109,97,121,32,98,101,32,108,111,115,116,46,32,73,102,32,121,111,117,32,119,97,110,116,32,116,111,32,105,110,116,101,114,99,101,112,116,32,101,109,117,108,97,116,111,114,32,108,111,103,32,109,101,115,115,97,103,101,115,44,32,100,111,32,105,116,32,98,121,32,97,100,100,105,110,103,32,97,32,115,112,101,99,105,97,108,105,122,101,100,32,104,97,110,100,108,101,114,32,116,111,32,116,104,101,32,75,69,82,78,69,76,32,108,111,103,103,101,114,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,52,49,48>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2715,25},bounded_fun,[{type,{2715,25},'fun',[{type,{2715,25},product,[{atom,{2715,26},system_logger},{var,{2715,41},'Logger'}]},{var,{2715,52},'PrevLogger'}]},[{type,{2716,7},constraint,[{atom,{2716,7},is_subtype},[{var,{2716,7},'Logger'},{type,{2716,17},union,[{atom,{2716,17},logger},{atom,{2716,26},undefined},{type,{2716,38},pid,[]}]}]]},{type,{2717,7},constraint,[{atom,{2717,7},is_subtype},[{var,{2717,7},'PrevLogger'},{type,{2717,21},union,[{atom,{2717,21},logger},{atom,{2717,30},undefined},{type,{2717,42},pid,[]}]}]]}]]}]}}],since => <<79,84,80,32,50,49,46,51>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,110,111,100,101,32,116,114,97,99,101,32,99,111,110,116,114,111,108,32,119,111,114,100,32,116,111,32>>,{code,[],[<<84,67,87>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,111,32,98,101,32,97,110,32,117,110,115,105,103,110,101,100,32,105,110,116,101,103,101,114,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,102,117,110,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,109,97,116,99,104,95,115,112,101,99,35,115,101,116,95,116,99,119>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<115,101,116,95,116,99,119>>]}]},<<32,105,110,32,115,101,99,116,105,111,110,32,34,77,97,116,99,104,32,83,112,101,99,105,102,105,99,97,116,105,111,110,115,32,105,110,32,69,114,108,97,110,103,34,32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,52,52,50>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2718,25},bounded_fun,[{type,{2718,25},'fun',[{type,{2718,25},product,[{atom,{2718,26},trace_control_word},{var,{2718,46},'TCW'}]},{var,{2718,54},'OldTCW'}]},[{type,{2719,7},constraint,[{atom,{2719,7},is_subtype},[{var,{2719,7},'TCW'},{type,{2719,14},non_neg_integer,[]}]]},{type,{2720,7},constraint,[{atom,{2720,7},is_subtype},[{var,{2720,7},'OldTCW'},{type,{2720,17},non_neg_integer,[]}]]}]]}]}}]}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2672}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<70,105,110,97,108,105,122,101,115,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,105,109,101,95,111,102,102,115,101,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<116,105,109,101,32,111,102,102,115,101,116>>]},<<32,119,104,101,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,83,105,110,103,108,101,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46,32,73,102,32,97,110,111,116,104,101,114,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101,32,105,115,32,117,115,101,100,44,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,115,116,97,116,101,32,105,115,32,108,101,102,116,32,117,110,99,104,97,110,103,101,100,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,115,116,97,116,101,32,105,100,101,110,116,105,102,105,101,114,44,32,116,104,97,116,32,105,115,58>>]},{ul,[],[{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<112,114,101,108,105,109,105,110,97,114,121>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,102,105,110,97,108,105,122,97,116,105,111,110,32,119,97,115,32,112,101,114,102,111,114,109,101,100,32,97,110,100,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,110,111,119,32,102,105,110,97,108,46>>]}]},{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<102,105,110,97,108>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,119,97,115,32,97,108,114,101,97,100,121,32,105,110,32,116,104,101,32,102,105,110,97,108,32,115,116,97,116,101,46,32,84,104,105,115,32,101,105,116,104,101,114,32,98,101,99,97,117,115,101,32,97,110,111,116,104,101,114,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,116,105,109,101,95,111,102,102,115,101,116,44,32,102,105,110,97,108,105,122,101,41>>]},<<32,99,97,108,108,32,111,114,32,98,101,99,97,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,78,111,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<110,111,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46>>]}]},{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<118,111,108,97,116,105,108,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,99,97,110,110,111,116,32,98,101,32,102,105,110,97,108,105,122,101,100,32,98,101,99,97,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,77,117,108,116,105,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<109,117,108,116,105,45,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,52,53,54>>,signature => [{attribute,{2672,2},spec,{{erlang,system_flag,2},[{type,{2721,4},bounded_fun,[{type,{2721,4},'fun',[{type,{2721,4},product,[{atom,{2721,5},time_offset},{atom,{2721,18},finalize}]},{var,{2721,31},'OldState'}]},[{type,{2722,7},constraint,[{atom,{2722,7},is_subtype},[{var,{2722,7},'OldState'},{type,{2722,19},union,[{atom,{2722,19},preliminary},{atom,{2722,33},final},{atom,{2722,41},volatile}]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2834}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,46,32,84,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,98,114,111,107,101,110,32,105,110,116,111,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,101,99,116,105,111,110,115,32,105,110,32,111,114,100,101,114,32,116,111,32,109,97,107,101,32,105,116,32,101,97,115,105,101,114,32,116,111,32,110,97,118,105,103,97,116,101,46>>]},{dl,[],[{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<77,101,109,111,114,121,32,65,108,108,111,99,97,116,105,111,110>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,101,100,95,97,114,101,97,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,108,108,111,99,97,116,101,100,95,97,114,101,97,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,108,108,111,99,97,116,111,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,95,117,116,105,108,95,97,108,108,111,99,97,116,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,108,108,111,99,95,117,116,105,108,95,97,108,108,111,99,97,116,111,114,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114,95,115,105,122,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,108,108,111,99,97,116,111,114,95,115,105,122,101,115>>]}]}]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<67,80,85,32,84,111,112,111,108,111,103,121>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,112,117,95,116,111,112,111,108,111,103,121>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,117,112,100,97,116,101,95,99,112,117,95,105,110,102,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<117,112,100,97,116,101,95,99,112,117,95,105,110,102,111>>]}]}]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,101,115,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<80,114,111,99,101,115,115,32,73,110,102,111,114,109,97,116,105,111,110>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,104,101,97,112,95,115,105,122,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<104,101,97,112,95,115,105,122,101,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,104,101,97,112,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<104,101,97,112,95,116,121,112,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,105,110,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,105,110,95,104,101,97,112,95,115,105,122,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,115>>]}]}]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,105,109,105,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<83,121,115,116,101,109,32,76,105,109,105,116,115>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,116,111,109,95,99,111,117,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,116,111,109,95,99,111,117,110,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,116,111,109,95,108,105,109,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,116,111,109,95,108,105,109,105,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,116,115,95,99,111,117,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,116,115,95,99,111,117,110,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,116,115,95,108,105,109,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,116,115,95,108,105,109,105,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,112,111,114,116,95,99,111,117,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,111,114,116,95,99,111,117,110,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,112,111,114,116,95,108,105,109,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,111,114,116,95,108,105,109,105,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,101,115,115,95,99,111,117,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,99,111,117,110,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,101,115,115,95,108,105,109,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,108,105,109,105,116>>]}]}]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<83,121,115,116,101,109,32,84,105,109,101>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,110,100,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,110,100,95,116,105,109,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,111,115,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,95,115,111,117,114,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,115,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,95,115,111,117,114,99,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,111,115,95,115,121,115,116,101,109,95,116,105,109,101,95,115,111,117,114,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,115,95,115,121,115,116,101,109,95,116,105,109,101,95,115,111,117,114,99,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,116,97,114,116,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,114,116,95,116,105,109,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,105,109,101,95,99,111,114,114,101,99,116,105,111,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,111,102,102,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,105,109,101,95,111,102,102,115,101,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,119,97,114,112,95,109,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,105,109,101,95,119,97,114,112,95,109,111,100,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,111,108,101,114,97,110,116,95,116,105,109,101,111,102,100,97,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,111,108,101,114,97,110,116,95,116,105,109,101,111,102,100,97,121>>]}]}]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<83,99,104,101,100,117,108,101,114,32,73,110,102,111,114,109,97,116,105,111,110>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,105,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,99,104,101,100,117,108,101,114,95,105,100>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,99,104,101,100,117,108,101,114,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,109,112,95,115,117,112,112,111,114,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,109,112,95,115,117,112,112,111,114,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,104,114,101,97,100,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,104,114,101,97,100,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101>>]}]}]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<68,105,115,116,114,105,98,117,116,105,111,110,32,73,110,102,111,114,109,97,116,105,111,110>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,114,101,97,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,114,101,97,116,105,111,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,101,108,97,121,101,100,95,110,111,100,101,95,116,97,98,108,101,95,103,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,101,108,97,121,101,100,95,110,111,100,101,95,116,97,98,108,101,95,103,99>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,115,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116,95,98,117,102,95,98,117,115,121,95,108,105,109,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,115,116,95,98,117,102,95,98,117,115,121,95,108,105,109,105,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116,95,99,116,114,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,115,116,95,99,116,114,108>>]}]}]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,105,115,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<83,121,115,116,101,109,32,73,110,102,111,114,109,97,116,105,111,110>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,95,99,111,109,112,105,108,101,114,95,117,115,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,95,99,111,109,112,105,108,101,114,95,117,115,101,100>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,104,101,99,107,95,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,104,101,99,107,95,105,111>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,111,109,112,97,116,95,114,101,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,109,112,97,116,95,114,101,108>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,101,98,117,103,95,99,111,109,112,105,108,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,101,98,117,103,95,99,111,109,112,105,108,101,100>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,114,105,118,101,114,95,118,101,114,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,114,105,118,101,114,95,118,101,114,115,105,111,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,121,110,97,109,105,99,95,116,114,97,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,121,110,97,109,105,99,95,116,114,97,99,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,121,110,97,109,105,99,95,116,114,97,99,101,95,112,114,111,98,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,121,110,97,109,105,99,95,116,114,97,99,101,95,112,114,111,98,101,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,109,117,95,102,108,97,118,111,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,109,117,95,102,108,97,118,111,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,109,117,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,109,117,95,116,121,112,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,105,110,102,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,110,102,111>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,107,101,114,110,101,108,95,112,111,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<107,101,114,110,101,108,95,112,111,108,108>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,97,100,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<108,111,97,100,101,100>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,97,99,104,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,97,99,104,105,110,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,111,100,105,102,105,101,100,95,116,105,109,105,110,103,95,108,101,118,101,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,111,100,105,102,105,101,100,95,116,105,109,105,110,103,95,108,101,118,101,108>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,110,105,102,95,118,101,114,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<110,105,102,95,118,101,114,115,105,111,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,111,116,112,95,114,101,108,101,97,115,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,116,112,95,114,101,108,101,97,115,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,121,115,116,101,109,95,97,114,99,104,105,116,101,99,116,117,114,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,121,115,116,101,109,95,97,114,99,104,105,116,101,99,116,117,114,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,121,115,116,101,109,95,108,111,103,103,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,121,115,116,101,109,95,108,111,103,103,101,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,121,115,116,101,109,95,118,101,114,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,121,115,116,101,109,95,118,101,114,115,105,111,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,114,97,99,101,95,99,111,110,116,114,111,108,95,119,111,114,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,114,97,99,101,95,99,111,110,116,114,111,108,95,119,111,114,100>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,118,101,114,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<118,101,114,115,105,111,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,119,111,114,100,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<119,111,114,100,115,105,122,101>>]}]}]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,52,56,54>>,signature => [{attribute,{2834,2},spec,{{erlang,system_info,1},[{type,{2934,10},'fun',[{type,{2934,10},product,[{atom,{2934,11},version}]},{type,{2934,23},string,[]}]}]}}]}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2834}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114,95,116,97,103,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,118,97,114,105,111,117,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,111,114,115,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,40,101,109,117,108,97,116,111,114,41,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<58>>]},{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,101,100,95,97,114,101,97,115>>}],[]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,101,100,95,97,114,101,97,115>>}],[]},{code,[],[<<97,108,108,111,99,97,116,101,100,95,97,114,101,97,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,116,117,112,108,101,115,32,119,105,116,104,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,109,105,115,99,101,108,108,97,110,101,111,117,115,32,97,108,108,111,99,97,116,101,100,32,109,101,109,111,114,121,32,97,114,101,97,115,46>>]},{p,[],[<<69,97,99,104,32,116,117,112,108,101,32,99,111,110,116,97,105,110,115,32,97,110,32,97,116,111,109,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,116,121,112,101,32,111,102,32,109,101,109,111,114,121,32,97,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,97,110,100,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,97,108,108,111,99,97,116,101,100,32,109,101,109,111,114,121,32,105,110,32,98,121,116,101,115,32,97,115,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,46,32,87,104,101,110,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,108,108,111,99,97,116,101,100,32,97,110,100,32,117,115,101,100,32,109,101,109,111,114,121,32,105,115,32,112,114,101,115,101,110,116,44,32,97,108,115,111,32,97,32,116,104,105,114,100,32,101,108,101,109,101,110,116,32,105,115,32,112,114,101,115,101,110,116,44,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,117,115,101,100,32,109,101,109,111,114,121,32,105,110,32,98,121,116,101,115,46>>]},{p,[],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,97,108,108,111,99,97,116,101,100,95,97,114,101,97,115,41>>]},<<32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,44,32,97,110,100,32,116,104,101,32,99,111,110,116,101,110,116,32,105,115,32,104,105,103,104,108,121,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,45,100,101,112,101,110,100,101,110,116,46,32,84,104,101,32,99,111,110,116,101,110,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,115,32,116,104,101,114,101,102,111,114,101,32,99,104,97,110,103,101,115,32,119,104,101,110,32,110,101,101,100,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,115,117,109,32,111,102,32,116,104,101,115,101,32,118,97,108,117,101,115,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,116,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,83,111,109,101,32,118,97,108,117,101,115,32,97,114,101,32,112,97,114,116,32,111,102,32,111,116,104,101,114,32,118,97,108,117,101,115,44,32,97,110,100,32,115,111,109,101,32,109,101,109,111,114,121,32,97,114,101,97,115,32,97,114,101,32,110,111,116,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,46,32,70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,101,109,111,114,121,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,109,101,109,111,114,121,47,48,44,49>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114>>}],[]},{code,[],[<<97,108,108,111,99,97,116,111,114>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,65,108,108,111,99,97,116,111,114,44,32,86,101,114,115,105,111,110,44,32,70,101,97,116,117,114,101,115,44,32,83,101,116,116,105,110,103,115>>]},<<44,32,119,104,101,114,101,58>>]},{ul,[],[{li,[],[{p,[],[{code,[],[<<65,108,108,111,99,97,116,111,114>>]},<<32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32>>,{code,[],[<<109,97,108,108,111,99,40,41>>]},<<32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,117,115,101,100,46,32,73,102,32>>,{code,[],[<<65,108,108,111,99,97,116,111,114>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<44,32,116,104,101,32>>,{code,[],[<<109,97,108,108,111,99,40,41>>]},<<32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,117,115,101,100,32,99,97,110,110,111,116,32,98,101,32,105,100,101,110,116,105,102,105,101,100,46,32>>,{code,[],[<<103,108,105,98,99>>]},<<32,99,97,110,32,98,101,32,105,100,101,110,116,105,102,105,101,100,46>>]}]},{li,[],[{p,[],[{code,[],[<<86,101,114,115,105,111,110>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,105,110,116,101,103,101,114,115,32,40,98,117,116,32,110,111,116,32,97,32,115,116,114,105,110,103,41,32,114,101,112,114,101,115,101,110,116,105,110,103,32,116,104,101,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32>>,{code,[],[<<109,97,108,108,111,99,40,41>>]},<<32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,117,115,101,100,46>>]}]},{li,[],[{p,[],[{code,[],[<<70,101,97,116,117,114,101,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,97,116,111,109,115,32,114,101,112,114,101,115,101,110,116,105,110,103,32,116,104,101,32,97,108,108,111,99,97,116,105,111,110,32,102,101,97,116,117,114,101,115,32,117,115,101,100,46>>]}]},{li,[],[{p,[],[{code,[],[<<83,101,116,116,105,110,103,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,115,117,98,115,121,115,116,101,109,115,44,32,116,104,101,105,114,32,99,111,110,102,105,103,117,114,97,98,108,101,32,112,97,114,97,109,101,116,101,114,115,44,32,97,110,100,32,117,115,101,100,32,118,97,108,117,101,115,46,32,83,101,116,116,105,110,103,115,32,99,97,110,32,100,105,102,102,101,114,32,98,101,116,119,101,101,110,32,100,105,102,102,101,114,101,110,116,32,99,111,109,98,105,110,97,116,105,111,110,115,32,111,102,32,112,108,97,116,102,111,114,109,115,44,32,97,108,108,111,99,97,116,111,114,115,44,32,97,110,100,32,97,108,108,111,99,97,116,105,111,110,32,102,101,97,116,117,114,101,115,46,32,77,101,109,111,114,121,32,115,105,122,101,115,32,97,114,101,32,103,105,118,101,110,32,105,110,32,98,121,116,101,115,46>>]}]}]},{p,[],[<<83,101,101,32,97,108,115,111,32,34,83,121,115,116,101,109,32,70,108,97,103,115,32,69,102,102,101,99,116,105,110,103,32,101,114,116,115,95,97,108,108,111,99,34,32,105,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99,35,102,108,97,103,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114,95,116,117,112,108,101>>}],[]},{code,[],[<<123,97,108,108,111,99,97,116,111,114,44,32,65,108,108,111,99,125>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,97,108,108,111,99,97,116,111,114,46,32,65,115,32,102,114,111,109,32,69,82,84,83,32,53,46,54,46,49,44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,97,32,108,105,115,116,32,111,102,32>>,{code,[],[<<123,105,110,115,116,97,110,99,101,44,32,73,110,115,116,97,110,99,101,78,111,44,32,73,110,115,116,97,110,99,101,73,110,102,111,125>>]},<<32,116,117,112,108,101,115,44,32,119,104,101,114,101,32>>,{code,[],[<<73,110,115,116,97,110,99,101,73,110,102,111>>]},<<32,99,111,110,116,97,105,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,32,115,112,101,99,105,102,105,99,32,105,110,115,116,97,110,99,101,32,111,102,32,116,104,101,32,97,108,108,111,99,97,116,111,114,46,32,73,102,32>>,{code,[],[<<65,108,108,111,99>>]},<<32,105,115,32,110,111,116,32,97,32,114,101,99,111,103,110,105,122,101,100,32,97,108,108,111,99,97,116,111,114,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32>>,{code,[],[<<65,108,108,111,99>>]},<<32,105,115,32,100,105,115,97,98,108,101,100,44,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,114,101,116,117,114,110,101,100,32,105,115,32,104,105,103,104,108,121,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,45,100,101,112,101,110,100,101,110,116,32,97,110,100,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,111,114,32,114,101,109,111,118,101,100,32,97,116,32,97,110,121,32,116,105,109,101,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46,32,73,116,32,119,97,115,32,105,110,105,116,105,97,108,108,121,32,105,110,116,101,110,100,101,100,32,97,115,32,97,32,116,111,111,108,32,119,104,101,110,32,100,101,118,101,108,111,112,105,110,103,32,110,101,119,32,97,108,108,111,99,97,116,111,114,115,44,32,98,117,116,32,97,115,32,105,116,32,99,97,110,32,98,101,32,111,102,32,105,110,116,101,114,101,115,116,32,102,111,114,32,111,116,104,101,114,115,32,105,116,32,104,97,115,32,98,101,101,110,32,98,114,105,101,102,108,121,32,100,111,99,117,109,101,110,116,101,100,46>>]},{p,[],[<<84,104,101,32,114,101,99,111,103,110,105,122,101,100,32,97,108,108,111,99,97,116,111,114,115,32,97,114,101,32,108,105,115,116,101,100,32,105,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]}]},<<46,32,73,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,115,117,112,101,114,32,99,97,114,114,105,101,114,115,32,99,97,110,32,98,101,32,111,98,116,97,105,110,101,100,32,102,114,111,109,32,69,82,84,83,32,56,46,48,32,119,105,116,104,32>>,{code,[],[<<123,97,108,108,111,99,97,116,111,114,44,32,101,114,116,115,95,109,109,97,112,125>>]},<<32,111,114,32,102,114,111,109,32,69,82,84,83,32,53,46,49,48,46,52,59,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,32,119,104,101,110,32,99,97,108,108,105,110,103,32,119,105,116,104,32>>,{code,[],[<<123,97,108,108,111,99,97,116,111,114,44,32,109,115,101,103,95,97,108,108,111,99,125>>]},<<32,97,108,115,111,32,105,110,99,108,117,100,101,115,32,97,110,32>>,{code,[],[<<123,101,114,116,115,95,109,109,97,112,44,32,95,125>>]},<<32,116,117,112,108,101,32,97,115,32,111,110,101,32,101,108,101,109,101,110,116,32,105,110,32,116,104,101,32,108,105,115,116,46>>]},{p,[],[<<65,102,116,101,114,32,114,101,97,100,105,110,103,32,116,104,101,32>>,{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]},<<32,100,111,99,117,109,101,110,116,97,116,105,111,110,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,105,110,102,111,114,109,97,116,105,111,110,32,109,111,114,101,32,111,114,32,108,101,115,115,32,115,112,101,97,107,115,32,102,111,114,32,105,116,115,101,108,102,44,32,98,117,116,32,105,116,32,99,97,110,32,98,101,32,119,111,114,116,104,32,101,120,112,108,97,105,110,105,110,103,32,115,111,109,101,32,116,104,105,110,103,115,46,32,67,97,108,108,32,99,111,117,110,116,115,32,97,114,101,32,112,114,101,115,101,110,116,101,100,32,98,121,32,116,119,111,32,118,97,108,117,101,115,44,32,116,104,101,32,102,105,114,115,116,32,118,97,108,117,101,32,105,115,32,103,105,103,97,32,99,97,108,108,115,44,32,97,110,100,32,116,104,101,32,115,101,99,111,110,100,32,118,97,108,117,101,32,105,115,32,99,97,108,108,115,46,32>>,{code,[],[<<109,98,99,115>>]},<<32,97,110,100,32>>,{code,[],[<<115,98,99,115>>]},<<32,100,101,110,111,116,101,32,109,117,108,116,105,45,98,108,111,99,107,32,99,97,114,114,105,101,114,115,44,32,97,110,100,32,115,105,110,103,108,101,45,98,108,111,99,107,32,99,97,114,114,105,101,114,115,44,32,114,101,115,112,101,99,116,105,118,101,108,121,46,32,83,105,122,101,115,32,97,114,101,32,112,114,101,115,101,110,116,101,100,32,105,110,32,98,121,116,101,115,46,32,87,104,101,110,32,97,32,115,105,122,101,32,105,115,32,110,111,116,32,112,114,101,115,101,110,116,101,100,44,32,105,116,32,105,115,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,115,111,109,101,116,104,105,110,103,46,32,83,105,122,101,115,32,97,110,100,32,97,109,111,117,110,116,115,32,97,114,101,32,111,102,116,101,110,32,112,114,101,115,101,110,116,101,100,32,98,121,32,116,104,114,101,101,32,118,97,108,117,101,115,58>>]},{ul,[],[{li,[],[<<84,104,101,32,102,105,114,115,116,32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,118,97,108,117,101,46>>]},{li,[],[<<84,104,101,32,115,101,99,111,110,100,32,105,115,32,116,104,101,32,109,97,120,105,109,117,109,32,118,97,108,117,101,32,115,105,110,99,101,32,116,104,101,32,108,97,115,116,32,99,97,108,108,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,123,97,108,108,111,99,97,116,111,114,44,32,65,108,108,111,99,125,41>>]},<<46>>]},{li,[],[<<84,104,101,32,116,104,105,114,100,32,105,115,32,116,104,101,32,109,97,120,105,109,117,109,32,118,97,108,117,101,32,115,105,110,99,101,32,116,104,101,32,101,109,117,108,97,116,111,114,32,119,97,115,32,115,116,97,114,116,101,100,46>>]}]},{p,[],[<<73,102,32,111,110,108,121,32,111,110,101,32,118,97,108,117,101,32,105,115,32,112,114,101,115,101,110,116,44,32,105,116,32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,118,97,108,117,101,46,32>>,{code,[],[<<102,105,120,95,97,108,108,111,99>>]},<<32,109,101,109,111,114,121,32,98,108,111,99,107,32,116,121,112,101,115,32,97,114,101,32,112,114,101,115,101,110,116,101,100,32,98,121,32,116,119,111,32,118,97,108,117,101,115,46,32,84,104,101,32,102,105,114,115,116,32,118,97,108,117,101,32,105,115,32,116,104,101,32,109,101,109,111,114,121,32,112,111,111,108,32,115,105,122,101,32,97,110,100,32,116,104,101,32,115,101,99,111,110,100,32,118,97,108,117,101,32,105,115,32,116,104,101,32,117,115,101,100,32,109,101,109,111,114,121,32,115,105,122,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,95,117,116,105,108,95,97,108,108,111,99,97,116,111,114,115>>}],[]},{code,[],[<<97,108,108,111,99,95,117,116,105,108,95,97,108,108,111,99,97,116,111,114,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,116,104,101,32,110,97,109,101,115,32,111,102,32,97,108,108,32,97,108,108,111,99,97,116,111,114,115,32,117,115,105,110,103,32,116,104,101,32,69,82,84,83,32,105,110,116,101,114,110,97,108,32>>,{code,[],[<<97,108,108,111,99,95,117,116,105,108>>]},<<32,102,114,97,109,101,119,111,114,107,32,97,115,32,97,116,111,109,115,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99,35,97,108,108,111,99,95,117,116,105,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[<<84,104,101,32,97,108,108,111,99,95,117,116,105,108,32,102,114,97,109,101,119,111,114,107>>]},<<32,105,110,32>>,{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114,95,115,105,122,101,115>>}],[]},{code,[],[<<123,97,108,108,111,99,97,116,111,114,95,115,105,122,101,115,44,32,65,108,108,111,99,125>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,118,97,114,105,111,117,115,32,115,105,122,101,32,105,110,102,111,114,109,97,116,105,111,110,32,102,111,114,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,97,108,108,111,99,97,116,111,114,46,32,84,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,114,101,116,117,114,110,101,100,32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32,116,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114,95,116,117,112,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,123,97,108,108,111,99,97,116,111,114,44,32,65,108,108,111,99,125,41>>]}]},<<46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,54,49,57>>,signature => [{attribute,{2834,2},spec,{{erlang,system_info,1},[{type,{2835,10},'fun',[{type,{2835,10},product,[{atom,{2835,11},allocated_areas}]},{type,{2835,31},list,[{type,{2835,33},tuple,any}]}]},{type,{2836,10},bounded_fun,[{type,{2836,10},'fun',[{type,{2836,10},product,[{atom,{2836,11},allocator}]},{type,{2837,18},tuple,[{var,{2837,19},'Allocator'},{var,{2837,30},'Version'},{var,{2837,39},'Features'},{var,{2837,49},'Settings'}]}]},[{type,{2838,7},constraint,[{atom,{2838,7},is_subtype},[{var,{2838,7},'Allocator'},{type,{2838,20},union,[{atom,{2838,20},undefined},{atom,{2838,32},glibc}]}]]},{type,{2839,7},constraint,[{atom,{2839,7},is_subtype},[{var,{2839,7},'Version'},{type,{2839,18},list,[{type,{2839,19},non_neg_integer,[]}]}]]},{type,{2840,7},constraint,[{atom,{2840,7},is_subtype},[{var,{2840,7},'Features'},{type,{2840,19},list,[{type,{2840,20},atom,[]}]}]]},{type,{2841,7},constraint,[{atom,{2841,7},is_subtype},[{var,{2841,7},'Settings'},{type,{2841,19},list,[{type,{2841,20},tuple,[{ann_type,{2841,21},[{var,{2841,21},'Subsystem'},{type,{2841,34},atom,[]}]},{type,{2842,21},list,[{type,{2842,22},tuple,[{ann_type,{2842,23},[{var,{2842,23},'Parameter'},{type,{2842,36},atom,[]}]},{ann_type,{2843,23},[{var,{2843,23},'Value'},{type,{2843,32},term,[]}]}]}]}]}]}]]}]]},{type,{2844,10},bounded_fun,[{type,{2844,10},'fun',[{type,{2844,10},product,[{type,{2844,11},tuple,[{atom,{2844,12},allocator},{var,{2844,23},'Alloc'}]}]},{type,{2844,34},list,[{var,{2844,35},'_'}]}]},[{type,{2845,7},constraint,[{atom,{2845,7},is_subtype},[{var,{2845,7},'Alloc'},{type,{2845,16},atom,[]}]]}]]},{type,{2846,10},bounded_fun,[{type,{2846,10},'fun',[{type,{2846,10},product,[{atom,{2846,11},alloc_util_allocators}]},{type,{2846,37},list,[{var,{2846,38},'Alloc'}]}]},[{type,{2847,7},constraint,[{atom,{2847,7},is_subtype},[{var,{2847,7},'Alloc'},{type,{2847,16},atom,[]}]]}]]},{type,{2848,10},bounded_fun,[{type,{2848,10},'fun',[{type,{2848,10},product,[{type,{2848,11},tuple,[{atom,{2848,12},allocator_sizes},{var,{2848,29},'Alloc'}]}]},{type,{2848,40},list,[{var,{2848,41},'_'}]}]},[{type,{2849,7},constraint,[{atom,{2849,7},is_subtype},[{var,{2849,7},'Alloc'},{type,{2849,16},atom,[]}]]}]]}]}}]}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2834}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<99,112,117,95,116,111,112,111,108,111,103,121>>}],[]},{li,[{name,<<99,112,117,95,116,111,112,111,108,111,103,121>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<65,108,108,32>>,{code,[],[<<76,101,118,101,108,69,110,116,114,121>>]},<<115,32,111,102,32,97,32,108,105,115,116,32,109,117,115,116,32,99,111,110,116,97,105,110,32,116,104,101,32,115,97,109,101,32>>,{code,[],[<<76,101,118,101,108,84,97,103>>]},<<44,32,101,120,99,101,112,116,32,111,110,32,116,104,101,32,116,111,112,32,108,101,118,101,108,32,119,104,101,114,101,32,98,111,116,104,32>>,{code,[],[<<110,111,100,101>>]},<<32,97,110,100,32>>,{code,[],[<<112,114,111,99,101,115,115,111,114>>]},{code,[],[<<76,101,118,101,108,84,97,103>>]},<<115,32,99,97,110,32,99,111,101,120,105,115,116,46>>]},{li,[{name,<<105,110,102,111,95,108,105,115,116>>}],[]},{li,[{name,<<105,110,102,111,95,108,105,115,116>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<84,104,101,32>>,{code,[],[<<105,110,102,111,95,108,105,115,116,40,41>>]},<<32,99,97,110,32,98,101,32,101,120,116,101,110,100,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]},{li,[{name,<<108,101,118,101,108,95,101,110,116,114,121>>}],[]},{li,[{name,<<108,101,118,101,108,95,101,110,116,114,121>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[{code,[],[<<123,76,101,118,101,108,84,97,103,44,32,83,117,98,76,101,118,101,108,125,32,61,61,32,123,76,101,118,101,108,84,97,103,44,32,91,93,44,32,83,117,98,76,101,118,101,108,125>>]}]},{li,[{name,<<108,101,118,101,108,95,116,97,103>>}],[]},{li,[{name,<<108,101,118,101,108,95,116,97,103>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<77,111,114,101,32>>,{code,[],[<<76,101,118,101,108,84,97,103>>]},<<115,32,99,97,110,32,98,101,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]},{li,[{name,<<115,117,98,95,108,101,118,101,108>>}],[]}]},{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121,95,116,97,103,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,118,97,114,105,111,117,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,40,101,109,117,108,97,116,111,114,41,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<58>>]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121>>}],[]},{code,[],[<<99,112,117,95,116,111,112,111,108,111,103,121>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<32,99,117,114,114,101,110,116,108,121,32,117,115,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,84,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,105,115,32,117,115,101,100,32,119,104,101,110,32,98,105,110,100,105,110,103,32,115,99,104,101,100,117,108,101,114,115,32,116,111,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46,32,84,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,117,115,101,100,32,105,115,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121,95,100,101,102,105,110,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,115,101,114,45,100,101,102,105,110,101,100,32,67,80,85,32,116,111,112,111,108,111,103,121>>]},<<44,32,105,102,32,115,117,99,104,32,101,120,105,115,116,115,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121,95,100,101,116,101,99,116,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,116,101,99,116,101,100,32,67,80,85,32,116,111,112,111,108,111,103,121>>]},<<44,32,105,102,32,115,117,99,104,32,101,120,105,115,116,115,46,32,73,102,32,110,111,32,67,80,85,32,116,111,112,111,108,111,103,121,32,101,120,105,115,116,115,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[{code,[],[<<110,111,100,101>>]},<<32,114,101,102,101,114,115,32,116,111,32,78,111,110,45,85,110,105,102,111,114,109,32,77,101,109,111,114,121,32,65,99,99,101,115,115,32,40,78,85,77,65,41,32,110,111,100,101,115,46,32>>,{code,[],[<<116,104,114,101,97,100>>]},<<32,114,101,102,101,114,115,32,116,111,32,104,97,114,100,119,97,114,101,32,116,104,114,101,97,100,115,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,73,110,116,101,108,32,104,121,112,101,114,45,116,104,114,101,97,100,115,41,46>>]},{p,[],[<<65,32,108,101,118,101,108,32,105,110,32,116,101,114,109,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<32,99,97,110,32,98,101,32,111,109,105,116,116,101,100,32,105,102,32,111,110,108,121,32,111,110,101,32,101,110,116,114,121,32,101,120,105,115,116,115,32,97,110,100,32>>,{code,[],[<<73,110,102,111,76,105,115,116>>]},<<32,105,115,32,101,109,112,116,121,46>>]},{p,[],[{code,[],[<<116,104,114,101,97,100>>]},<<32,99,97,110,32,111,110,108,121,32,98,101,32,97,32,115,117,98,108,101,118,101,108,32,116,111,32>>,{code,[],[<<99,111,114,101>>]},<<46,32>>,{code,[],[<<99,111,114,101>>]},<<32,99,97,110,32,98,101,32,97,32,115,117,98,108,101,118,101,108,32,116,111,32>>,{code,[],[<<112,114,111,99,101,115,115,111,114>>]},<<32,111,114,32>>,{code,[],[<<110,111,100,101>>]},<<46,32>>,{code,[],[<<112,114,111,99,101,115,115,111,114>>]},<<32,99,97,110,32,98,101,32,111,110,32,116,104,101,32,116,111,112,32,108,101,118,101,108,32,111,114,32,97,32,115,117,98,108,101,118,101,108,32,116,111,32>>,{code,[],[<<110,111,100,101>>]},<<46,32>>,{code,[],[<<110,111,100,101>>]},<<32,99,97,110,32,98,101,32,111,110,32,116,104,101,32,116,111,112,32,108,101,118,101,108,32,111,114,32,97,32,115,117,98,108,101,118,101,108,32,116,111,32>>,{code,[],[<<112,114,111,99,101,115,115,111,114>>]},<<46,32,84,104,97,116,32,105,115,44,32,78,85,77,65,32,110,111,100,101,115,32,99,97,110,32,98,101,32,112,114,111,99,101,115,115,111,114,32,105,110,116,101,114,110,97,108,32,111,114,32,112,114,111,99,101,115,115,111,114,32,101,120,116,101,114,110,97,108,46,32,65,32,67,80,85,32,116,111,112,111,108,111,103,121,32,99,97,110,32,99,111,110,115,105,115,116,32,111,102,32,97,32,109,105,120,32,111,102,32,112,114,111,99,101,115,115,111,114,32,105,110,116,101,114,110,97,108,32,97,110,100,32,101,120,116,101,114,110,97,108,32,78,85,77,65,32,110,111,100,101,115,44,32,97,115,32,108,111,110,103,32,97,115,32,101,97,99,104,32,108,111,103,105,99,97,108,32,67,80,85,32,98,101,108,111,110,103,115,32,116,111,32>>,{em,[],[<<111,110,101>>]},<<32,78,85,77,65,32,110,111,100,101,46,32,67,97,99,104,101,32,104,105,101,114,97,114,99,104,121,32,105,115,32,110,111,116,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<32,116,121,112,101,44,32,98,117,116,32,119,105,108,108,32,98,101,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46,32,79,116,104,101,114,32,116,104,105,110,103,115,32,99,97,110,32,97,108,115,111,32,109,97,107,101,32,105,116,32,105,110,116,111,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46,32,83,111,44,32,101,120,112,101,99,116,32,116,104,101,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<32,116,121,112,101,32,116,111,32,99,104,97,110,103,101,46>>]}]},{dt,[],[{code,[],[<<123,99,112,117,95,116,111,112,111,108,111,103,121,44,32,100,101,102,105,110,101,100,125>>]}]},{dd,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121,95,100,101,102,105,110,101,100>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,117,115,101,114,45,100,101,102,105,110,101,100,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,99,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<32,97,110,100,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,112,117,95,116,111,112,111,108,111,103,121>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,99,112,117,95,116,111,112,111,108,111,103,121,44,32,100,101,116,101,99,116,101,100,125>>]}]},{dd,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121,95,100,101,116,101,99,116,101,100>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,116,101,99,116,101,100,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121,121>>]},<<46,32,84,104,101,32,101,109,117,108,97,116,111,114,32,100,101,116,101,99,116,115,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,111,110,32,115,111,109,101,32,110,101,119,101,114,32,76,105,110,117,120,44,32,83,111,108,97,114,105,115,44,32,70,114,101,101,66,83,68,44,32,97,110,100,32,87,105,110,100,111,119,115,32,115,121,115,116,101,109,115,46,32,79,110,32,87,105,110,100,111,119,115,32,115,121,115,116,101,109,32,119,105,116,104,32,109,111,114,101,32,116,104,97,110,32,51,50,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,44,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,105,115,32,110,111,116,32,100,101,116,101,99,116,101,100,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,112,117,95,116,111,112,111,108,111,103,121>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,99,112,117,95,116,111,112,111,108,111,103,121,44,32,117,115,101,100,125>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<32,117,115,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,112,117,95,116,111,112,111,108,111,103,121>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115>>}],[]},{code,[],[<<108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,100,101,116,101,99,116,101,100,32,110,117,109,98,101,114,32,111,102,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,99,111,110,102,105,103,117,114,101,100,32,105,110,32,116,104,101,32,115,121,115,116,101,109,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,101,105,116,104,101,114,32,97,110,32,105,110,116,101,103,101,114,44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,107,110,111,119,110>>]},<<32,105,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,99,97,110,110,111,116,32,100,101,116,101,99,116,32,116,104,101,32,99,111,110,102,105,103,117,114,101,100,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,97,118,97,105,108,97,98,108,101>>}],[]},{code,[],[<<108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,97,118,97,105,108,97,98,108,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,100,101,116,101,99,116,101,100,32,110,117,109,98,101,114,32,111,102,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,97,118,97,105,108,97,98,108,101,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,101,105,116,104,101,114,32,97,110,32,105,110,116,101,103,101,114,44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,107,110,111,119,110>>]},<<32,105,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,99,97,110,110,111,116,32,100,101,116,101,99,116,32,116,104,101,32,97,118,97,105,108,97,98,108,101,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46,32,84,104,101,32,110,117,109,98,101,114,32,111,102,32,97,118,97,105,108,97,98,108,101,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,105,115,32,108,101,115,115,32,116,104,97,110,32,111,114,32,101,113,117,97,108,32,116,111,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,111,110,108,105,110,101>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,111,110,108,105,110,101>>}],[]},{code,[],[<<108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,111,110,108,105,110,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,100,101,116,101,99,116,101,100,32,110,117,109,98,101,114,32,111,102,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,111,110,108,105,110,101,32,111,110,32,116,104,101,32,115,121,115,116,101,109,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,101,105,116,104,101,114,32,97,110,32,105,110,116,101,103,101,114,44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,107,110,111,119,110>>]},<<32,105,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,99,97,110,110,111,116,32,100,101,116,101,99,116,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,111,110,108,105,110,101,46,32,84,104,101,32,110,117,109,98,101,114,32,111,102,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,111,110,108,105,110,101,32,105,115,32,108,101,115,115,32,116,104,97,110,32,111,114,32,101,113,117,97,108,32,116,111,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,99,111,110,102,105,103,117,114,101,100>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,113,117,111,116,97>>}],[]},{code,[],[<<99,112,117,95,113,117,111,116,97>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,100,101,116,101,99,116,101,100,32,67,80,85,32,113,117,111,116,97,32,116,104,101,32,101,109,117,108,97,116,111,114,32,105,115,32,108,105,109,105,116,101,100,32,98,121,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,115,97,121,105,110,103,32,104,111,119,32,109,97,110,121,32,112,114,111,99,101,115,115,111,114,115,39,32,119,111,114,116,104,32,111,102,32,114,117,110,116,105,109,101,32,119,101,32,103,101,116,32,40,98,101,116,119,101,101,110,32,49,32,97,110,100,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,41,44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,107,110,111,119,110>>]},<<32,105,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,99,97,110,110,111,116,32,100,101,116,101,99,116,32,97,32,113,117,111,116,97,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,117,112,100,97,116,101,95,99,112,117,95,105,110,102,111>>}],[]},{code,[],[<<117,112,100,97,116,101,95,99,112,117,95,105,110,102,111>>]}]},{dd,[],[{p,[],[<<84,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,114,101,114,101,97,100,115,32,116,104,101,32,67,80,85,32,105,110,102,111,114,109,97,116,105,111,110,32,97,118,97,105,108,97,98,108,101,32,97,110,100,32,117,112,100,97,116,101,115,32,105,116,115,32,105,110,116,101,114,110,97,108,108,121,32,115,116,111,114,101,100,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121,95,100,101,116,101,99,116,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,101,116,101,99,116,101,100,32,67,80,85,32,116,111,112,111,108,111,103,121>>]},<<32,97,110,100,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<99,111,110,102,105,103,117,114,101,100>>]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<111,110,108,105,110,101>>]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,97,118,97,105,108,97,98,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<97,118,97,105,108,97,98,108,101>>]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,113,117,111,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<99,112,117,32,113,117,111,116,97>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,67,80,85,32,105,110,102,111,114,109,97,116,105,111,110,32,104,97,115,32,99,104,97,110,103,101,100,32,115,105,110,99,101,32,116,104,101,32,108,97,115,116,32,116,105,109,101,32,105,116,32,119,97,115,32,114,101,97,100,44,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<99,104,97,110,103,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,99,104,97,110,103,101,100>>]},<<46,32,73,102,32,116,104,101,32,67,80,85,32,105,110,102,111,114,109,97,116,105,111,110,32,104,97,115,32,99,104,97,110,103,101,100,44,32,121,111,117,32,112,114,111,98,97,98,108,121,32,119,97,110,116,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<97,100,106,117,115,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101>>]},<<46,32,89,111,117,32,116,121,112,105,99,97,108,108,121,32,119,97,110,116,32,116,111,32,104,97,118,101,32,97,115,32,109,97,110,121,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,97,118,97,105,108,97,98,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,97,118,97,105,108,97,98,108,101>>]},<<46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,55,54,56>>,signature => [{attribute,{2834,2},spec,{{erlang,system_info,1},[{type,{2857,10},bounded_fun,[{type,{2857,10},'fun',[{type,{2857,10},product,[{atom,{2857,11},cpu_topology}]},{var,{2857,29},'CpuTopology'}]},[{type,{2858,7},constraint,[{atom,{2858,7},is_subtype},[{var,{2858,7},'CpuTopology'},{user_type,{2858,22},cpu_topology,[]}]]}]]},{type,{2859,10},bounded_fun,[{type,{2859,10},'fun',[{type,{2859,10},product,[{type,{2859,11},tuple,[{atom,{2859,12},cpu_topology},{type,{2859,26},union,[{atom,{2859,26},defined},{atom,{2859,36},detected},{atom,{2859,47},used}]}]}]},{var,{2859,57},'CpuTopology'}]},[{type,{2860,7},constraint,[{atom,{2860,7},is_subtype},[{var,{2860,7},'CpuTopology'},{user_type,{2860,22},cpu_topology,[]}]]}]]},{type,{2887,10},'fun',[{type,{2887,10},product,[{type,{2887,11},union,[{atom,{2887,11},logical_processors},{atom,{2888,11},logical_processors_available},{atom,{2889,11},logical_processors_online}]}]},{type,{2889,41},union,[{atom,{2889,41},unknown},{type,{2889,51},pos_integer,[]}]}]},{type,{2933,10},'fun',[{type,{2933,10},product,[{atom,{2933,11},update_cpu_info}]},{type,{2933,31},union,[{atom,{2933,31},changed},{atom,{2933,41},unchanged}]}]}]}}],since => <<79,84,80,32,82,49,52,66>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2834}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]},{li,[{name,<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>}],[]}]},{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,101,115,115,95,116,97,103,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,100,101,102,97,117,108,116,32,112,114,111,99,101,115,115,32,104,101,97,112,32,115,101,116,116,105,110,103,115,58>>]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>}],[]},{code,[],[<<102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,104,101,32>>,{code,[],[<<102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>]},<<32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,115,101,116,116,105,110,103,32,117,115,101,100,32,98,121,32,100,101,102,97,117,108,116,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>]},<<32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>}],[]},{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,100,101,102,97,117,108,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,115,101,116,116,105,110,103,115,46,32,65,32,112,114,111,99,101,115,115,32,115,112,97,119,110,101,100,32,111,110,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,98,121,32,97,32>>,{code,[],[<<115,112,97,119,110>>]},<<32,111,114,32>>,{code,[],[<<115,112,97,119,110,95,108,105,110,107>>]},<<32,117,115,101,115,32,116,104,101,115,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,115,101,116,116,105,110,103,115,46,32,84,104,101,32,100,101,102,97,117,108,116,32,115,101,116,116,105,110,103,115,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,98,121,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,47,50>>]}]},<<46,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,50,44,51,44,52>>]}]},<<32,99,97,110,32,115,112,97,119,110,32,97,32,112,114,111,99,101,115,115,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,117,115,101,32,116,104,101,32,100,101,102,97,117,108,116,32,115,101,116,116,105,110,103,115,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,104,101,97,112,95,115,105,122,101,115>>}],[]},{code,[],[<<104,101,97,112,95,115,105,122,101,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,105,110,116,101,103,101,114,115,32,114,101,112,114,101,115,101,110,116,105,110,103,32,118,97,108,105,100,32,104,101,97,112,32,115,105,122,101,115,32,105,110,32,119,111,114,100,115,46,32,65,108,108,32,69,114,108,97,110,103,32,104,101,97,112,115,32,97,114,101,32,115,105,122,101,100,32,102,114,111,109,32,115,105,122,101,115,32,105,110,32,116,104,105,115,32,108,105,115,116,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,104,101,97,112,95,116,121,112,101>>}],[]},{code,[],[<<104,101,97,112,95,116,121,112,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,104,101,97,112,32,116,121,112,101,32,117,115,101,100,32,98,121,32,116,104,101,32,99,117,114,114,101,110,116,32,101,109,117,108,97,116,111,114,46,32,79,110,101,32,104,101,97,112,32,116,121,112,101,32,101,120,105,115,116,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<112,114,105,118,97,116,101>>]}]},{dd,[],[<<69,97,99,104,32,112,114,111,99,101,115,115,32,104,97,115,32,97,32,104,101,97,112,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,116,115,32,117,115,101,32,97,110,100,32,110,111,32,114,101,102,101,114,101,110,99,101,115,32,98,101,116,119,101,101,110,32,104,101,97,112,115,32,111,102,32,100,105,102,102,101,114,101,110,116,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,97,108,108,111,119,101,100,46,32,77,101,115,115,97,103,101,115,32,112,97,115,115,101,100,32,98,101,116,119,101,101,110,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,99,111,112,105,101,100,32,98,101,116,119,101,101,110,32,104,101,97,112,115,46>>]}]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]},{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,77,97,120,72,101,97,112,83,105,122,101,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<77,97,120,72,101,97,112,83,105,122,101>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,45,119,105,100,101,32,109,97,120,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,115,101,116,116,105,110,103,115,32,102,111,114,32,115,112,97,119,110,101,100,32,112,114,111,99,101,115,115,101,115,46,32,84,104,105,115,32,115,101,116,116,105,110,103,32,99,97,110,32,98,101,32,115,101,116,32,117,115,105,110,103,32,116,104,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,97,120>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,97,120>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,97,120,107>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,97,120,107>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,97,120,101,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,97,120,101,108>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46,32,73,116,32,99,97,110,32,97,108,115,111,32,98,101,32,99,104,97,110,103,101,100,32,97,116,32,114,117,110,116,105,109,101,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,77,97,120,72,101,97,112,83,105,122,101,41>>]}]},<<46,32,70,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,32,97,98,111,117,116,32,116,104,101,32>>,{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,77,97,120,72,101,97,112,83,105,122,101,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>}],[]},{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,101,105,116,104,101,114,32>>,{code,[],[<<111,102,102,95,104,101,97,112>>]},<<32,111,114,32>>,{code,[],[<<111,110,95,104,101,97,112>>]},<<46,32,84,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,105,115,32,115,101,116,32,98,121,32,116,104,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,113,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,113,100>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,44,32,77,81,68,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,105,110,95,104,101,97,112,95,115,105,122,101>>}],[]},{code,[],[<<109,105,110,95,104,101,97,112,95,115,105,122,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,109,105,110,95,104,101,97,112,95,115,105,122,101,44,32,77,105,110,72,101,97,112,83,105,122,101,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<77,105,110,72,101,97,112,83,105,122,101>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,45,119,105,100,101,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,115,112,97,119,110,101,100,32,112,114,111,99,101,115,115,101,115,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101>>}],[]},{code,[],[<<109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101,44,32,77,105,110,66,105,110,86,72,101,97,112,83,105,122,101,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<77,105,110,66,105,110,86,72,101,97,112,83,105,122,101>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,45,119,105,100,101,32,109,105,110,105,109,117,109,32,98,105,110,97,114,121,32,118,105,114,116,117,97,108,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,115,112,97,119,110,101,100,32,112,114,111,99,101,115,115,101,115,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,115>>}],[]},{code,[],[<<112,114,111,99,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,110,116,97,105,110,105,110,103,32,97,32,115,116,114,105,110,103,32,111,102,32,112,114,111,99,101,115,115,32,97,110,100,32,112,111,114,116,32,105,110,102,111,114,109,97,116,105,111,110,32,102,111,114,109,97,116,116,101,100,32,97,115,32,105,110,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,99,114,97,115,104,95,100,117,109,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<72,111,119,32,116,111,32,105,110,116,101,114,112,114,101,116,32,116,104,101,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,57,51,51>>,signature => [{attribute,{2834,2},spec,{{erlang,system_info,1},[{type,{2880,10},'fun',[{type,{2880,10},product,[{atom,{2880,11},fullsweep_after}]},{type,{2880,31},tuple,[{atom,{2880,32},fullsweep_after},{type,{2880,49},non_neg_integer,[]}]}]},{type,{2881,10},'fun',[{type,{2881,10},product,[{atom,{2881,11},garbage_collection}]},{type,{2881,34},list,[{type,{2881,35},tuple,[{type,{2881,36},atom,[]},{type,{2881,44},integer,[]}]}]}]},{type,{2882,10},'fun',[{type,{2882,10},product,[{atom,{2882,11},heap_sizes}]},{type,{2882,26},list,[{type,{2882,27},non_neg_integer,[]}]}]},{type,{2883,10},'fun',[{type,{2883,10},product,[{atom,{2883,11},heap_type}]},{atom,{2883,25},private}]},{type,{2891,10},'fun',[{type,{2891,10},product,[{atom,{2891,11},max_heap_size}]},{type,{2891,29},tuple,[{atom,{2891,30},max_heap_size},{ann_type,{2891,45},[{var,{2891,45},'MaxHeapSize'},{user_type,{2891,60},max_heap_size,[]}]}]}]},{type,{2892,10},'fun',[{type,{2892,10},product,[{atom,{2892,11},message_queue_data}]},{user_type,{2892,34},message_queue_data,[]}]},{type,{2893,10},'fun',[{type,{2893,10},product,[{atom,{2893,11},min_heap_size}]},{type,{2893,29},tuple,[{atom,{2893,30},min_heap_size},{ann_type,{2893,45},[{var,{2893,45},'MinHeapSize'},{type,{2893,60},pos_integer,[]}]}]}]},{type,{2894,10},'fun',[{type,{2894,10},product,[{atom,{2894,11},min_bin_vheap_size}]},{type,{2894,34},tuple,[{atom,{2894,35},min_bin_vheap_size},{ann_type,{2895,35},[{var,{2895,35},'MinBinVHeapSize'},{type,{2895,54},pos_integer,[]}]}]}]},{type,{2909,10},'fun',[{type,{2909,10},product,[{atom,{2909,11},procs}]},{type,{2909,21},binary,[]}]}]}}],since => <<79,84,80,32,49,57,46,48,44,79,84,80,32,82,49,51,66,48,52>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2834}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,108,105,109,105,116,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,40,101,109,117,108,97,116,111,114,41,32,108,105,109,105,116,115,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<58>>]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,116,111,109,95,99,111,117,110,116>>}],[]},{code,[],[<<97,116,111,109,95,99,111,117,110,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,97,116,111,109,115,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,97,116,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46,32,84,104,101,32,118,97,108,117,101,32,105,115,32,103,105,118,101,110,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,116,111,109,95,108,105,109,105,116>>}],[]},{code,[],[<<97,116,111,109,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,97,116,111,109,115,32,97,108,108,111,119,101,100,46,32,84,104,105,115,32,108,105,109,105,116,32,99,97,110,32,98,101,32,105,110,99,114,101,97,115,101,100,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,116>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,101,116,115,95,99,111,117,110,116>>}],[]},{code,[],[<<101,116,115,95,99,111,117,110,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,69,84,83,32,116,97,98,108,101,115,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,97,116,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,101,116,115,95,108,105,109,105,116>>}],[]},{code,[],[<<101,116,115,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,108,105,109,105,116,32,102,111,114,32,110,117,109,98,101,114,32,111,102,32,69,84,83,32,116,97,98,108,101,115,46,32,84,104,105,115,32,108,105,109,105,116,32,105,115,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,116,115,35,109,97,120,95,101,116,115,95,116,97,98,108,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<112,97,114,116,105,97,108,108,121,32,111,98,115,111,108,101,116,101>>]},<<32,97,110,100,32,110,117,109,98,101,114,32,111,102,32,116,97,98,108,101,115,32,97,114,101,32,111,110,108,121,32,108,105,109,105,116,101,100,32,98,121,32,97,118,97,105,108,97,98,108,101,32,109,101,109,111,114,121,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,112,111,114,116,95,99,111,117,110,116>>}],[]},{code,[],[<<112,111,114,116,95,99,111,117,110,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,112,111,114,116,115,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,97,116,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46,32,84,104,101,32,118,97,108,117,101,32,105,115,32,103,105,118,101,110,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,84,104,105,115,32,105,115,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<108,101,110,103,116,104,40,101,114,108,97,110,103,58,112,111,114,116,115,40,41,41>>]},<<44,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,112,111,114,116,95,108,105,109,105,116>>}],[]},{code,[],[<<112,111,114,116,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,115,105,109,117,108,116,97,110,101,111,117,115,108,121,32,101,120,105,115,116,105,110,103,32,112,111,114,116,115,32,97,116,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,84,104,105,115,32,108,105,109,105,116,32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,117,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,81>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,81>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,101,115,115,95,99,111,117,110,116>>}],[]},{code,[],[<<112,114,111,99,101,115,115,95,99,111,117,110,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,112,114,111,99,101,115,115,101,115,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,97,116,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46,32,84,104,101,32,118,97,108,117,101,32,105,115,32,103,105,118,101,110,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,84,104,105,115,32,105,115,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<108,101,110,103,116,104,40,112,114,111,99,101,115,115,101,115,40,41,41>>]},<<44,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,101,115,115,95,108,105,109,105,116>>}],[]},{code,[],[<<112,114,111,99,101,115,115,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,115,105,109,117,108,116,97,110,101,111,117,115,108,121,32,101,120,105,115,116,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,116,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46,32,84,104,101,32,118,97,108,117,101,32,105,115,32,103,105,118,101,110,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,84,104,105,115,32,108,105,109,105,116,32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,117,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,80>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,80>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,48,53,49>>,signature => [{attribute,{2834,2},spec,{{erlang,system_info,1},[{type,{2850,10},'fun',[{type,{2850,10},product,[{atom,{2850,11},atom_count}]},{type,{2850,26},pos_integer,[]}]},{type,{2851,10},'fun',[{type,{2851,10},product,[{atom,{2851,11},atom_limit}]},{type,{2851,26},pos_integer,[]}]},{type,{2878,10},'fun',[{type,{2878,10},product,[{atom,{2878,11},ets_count}]},{type,{2878,25},pos_integer,[]}]},{type,{2879,10},'fun',[{type,{2879,10},product,[{atom,{2879,11},ets_limit}]},{type,{2879,25},pos_integer,[]}]},{type,{2905,10},'fun',[{type,{2905,10},product,[{atom,{2905,11},port_count}]},{type,{2905,26},non_neg_integer,[]}]},{type,{2906,10},'fun',[{type,{2906,10},product,[{atom,{2906,11},port_limit}]},{type,{2906,26},pos_integer,[]}]},{type,{2907,10},'fun',[{type,{2907,10},product,[{atom,{2907,11},process_count}]},{type,{2907,29},pos_integer,[]}]},{type,{2908,10},'fun',[{type,{2908,10},product,[{atom,{2908,11},process_limit}]},{type,{2908,29},pos_integer,[]}]}]}}],since => <<79,84,80,32,50,48,46,48,44,79,84,80,32,50,49,46,49,44,79,84,80,32,82,49,54,66,44,79,84,80,32,82,49,54,66,48,51>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2834}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,116,97,103,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,40,101,109,117,108,97,116,111,114,41,32,116,105,109,101,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<58>>]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,101,110,100,95,116,105,109,101>>}],[]},{code,[],[<<101,110,100,95,116,105,109,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,108,97,115,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,105,110,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,117,110,105,116>>]},<<32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,105,110,116,101,114,110,97,108,108,121,32,105,110,32,116,104,101,32,99,117,114,114,101,110,116,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46,32,84,104,101,32,116,105,109,101,32,98,101,116,119,101,101,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,116,97,114,116,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<115,116,97,114,116,32,116,105,109,101>>]},<<32,97,110,100,32,116,104,101,32,101,110,100,32,116,105,109,101,32,105,115,32,97,116,32,108,101,97,115,116,32,97,32,113,117,97,114,116,101,114,32,111,102,32,97,32,109,105,108,108,101,110,110,105,117,109,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,111,115,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,95,115,111,117,114,99,101>>}],[]},{code,[],[<<111,115,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,95,115,111,117,114,99,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,115,111,117,114,99,101,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,79,83,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,116,104,97,116,32,105,115,32,117,115,101,100,32,98,121,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<91,93>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,110,111,32,79,83,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,105,115,32,97,118,97,105,108,97,98,108,101,46,32,84,104,101,32,108,105,115,116,32,99,111,110,116,97,105,110,115,32,116,119,111,45,116,117,112,108,101,115,32,119,105,116,104,32>>,{code,[],[<<75,101,121>>]},<<115,32,97,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,44,32,97,110,100,32>>,{code,[],[<<86,97,108,117,101>>]},<<115,32,97,115,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,115,101,32,116,117,112,108,101,115,32,105,115,32,117,110,100,101,102,105,110,101,100,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,116,117,112,108,101,115,32,99,97,110,32,98,101,32,112,97,114,116,32,111,102,32,116,104,101,32,108,105,115,116,44,32,98,117,116,32,109,111,114,101,32,116,117,112,108,101,115,32,99,97,110,32,98,101,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,102,117,110,99,116,105,111,110,44,32,70,117,110,99,116,105,111,110,125>>]}]},{dd,[],[{p,[],[{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,117,115,101,100,46,32,84,104,105,115,32,116,117,112,108,101,32,97,108,119,97,121,115,32,101,120,105,115,116,115,32,105,102,32,79,83,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,105,115,32,97,118,97,105,108,97,98,108,101,32,116,111,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]}]},{dt,[],[{code,[],[<<123,99,108,111,99,107,95,105,100,44,32,67,108,111,99,107,73,100,125>>]}]},{dd,[],[{p,[],[<<84,104,105,115,32,116,117,112,108,101,32,111,110,108,121,32,101,120,105,115,116,115,32,105,102,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,99,108,111,99,107,115,46,32>>,{code,[],[<<67,108,111,99,107,73,100>>]},<<32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,99,108,111,99,107,32,105,100,101,110,116,105,102,105,101,114,32,117,115,101,100,32,119,104,101,110,32,99,97,108,108,105,110,103,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,114,101,115,111,108,117,116,105,111,110,44,32,79,115,77,111,110,111,116,111,110,105,99,84,105,109,101,82,101,115,111,108,117,116,105,111,110,125>>]}]},{dd,[],[{p,[],[<<72,105,103,104,101,115,116,32,112,111,115,115,105,98,108,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,82,101,115,111,108,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<114,101,115,111,108,117,116,105,111,110>>]},<<32,111,102,32,99,117,114,114,101,110,116,32,79,83,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,115,111,117,114,99,101,32,97,115,32,112,97,114,116,115,32,112,101,114,32,115,101,99,111,110,100,46,32,73,102,32,110,111,32,114,101,115,111,108,117,116,105,111,110,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,114,101,116,114,105,101,118,101,100,32,102,114,111,109,32,116,104,101,32,79,83,44,32>>,{code,[],[<<79,115,77,111,110,111,116,111,110,105,99,84,105,109,101,82,101,115,111,108,117,116,105,111,110>>]},<<32,105,115,32,115,101,116,32,116,111,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,32,111,102,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,111,102,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<115,32,114,101,116,117,114,110,32,118,97,108,117,101,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,97,99,116,117,97,108,32,114,101,115,111,108,117,116,105,111,110,32,99,97,110,32,98,101,32,108,111,119,101,114,32,116,104,97,110,32>>,{code,[],[<<79,115,77,111,110,111,116,111,110,105,99,84,105,109,101,82,101,115,111,108,117,116,105,111,110>>]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,32,100,111,101,115,32,110,111,116,32,115,97,121,32,97,110,121,116,104,105,110,103,32,97,98,111,117,116,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,65,99,99,117,114,97,99,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<97,99,99,117,114,97,99,121>>]},<<32,111,114,32,119,104,101,116,104,101,114,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,80,114,101,99,105,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<112,114,101,99,105,115,105,111,110>>]},<<32,97,108,105,103,110,115,32,119,105,116,104,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,46,32,89,111,117,32,100,111,44,32,104,111,119,101,118,101,114,44,32,107,110,111,119,32,116,104,97,116,32,116,104,101,32,112,114,101,99,105,115,105,111,110,32,105,115,32,110,111,116,32,98,101,116,116,101,114,32,116,104,97,110,32>>,{code,[],[<<79,115,77,111,110,111,116,111,110,105,99,84,105,109,101,82,101,115,111,108,117,116,105,111,110>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,120,116,101,110,100,101,100,44,32,69,120,116,101,110,100,101,100,125>>]}]},{dd,[],[{p,[],[{code,[],[<<69,120,116,101,110,100,101,100>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<121,101,115>>]},<<32,105,102,32,116,104,101,32,114,97,110,103,101,32,111,102,32,116,105,109,101,32,118,97,108,117,101,115,32,104,97,115,32,98,101,101,110,32,101,120,116,101,110,100,101,100,59,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<69,120,116,101,110,100,101,100>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<110,111>>]},<<46,32,84,104,101,32,114,97,110,103,101,32,109,117,115,116,32,98,101,32,101,120,116,101,110,100,101,100,32,105,102,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,114,101,116,117,114,110,115,32,118,97,108,117,101,115,32,116,104,97,116,32,119,114,97,112,32,102,97,115,116,46,32,84,104,105,115,32,116,121,112,105,99,97,108,108,121,32,105,115,32,116,104,101,32,99,97,115,101,32,119,104,101,110,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,97,32,51,50,45,98,105,116,32,118,97,108,117,101,46>>]}]},{dt,[],[{code,[],[<<123,112,97,114,97,108,108,101,108,44,32,80,97,114,97,108,108,101,108,125>>]}]},{dd,[],[{p,[],[{code,[],[<<80,97,114,97,108,108,101,108>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<121,101,115>>]},<<32,105,102,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,105,115,32,99,97,108,108,101,100,32,105,110,32,112,97,114,97,108,108,101,108,32,102,114,111,109,32,109,117,108,116,105,112,108,101,32,116,104,114,101,97,100,115,46,32,73,102,32,105,116,32,105,115,32,110,111,116,32,99,97,108,108,101,100,32,105,110,32,112,97,114,97,108,108,101,108,44,32,98,101,99,97,117,115,101,32,99,97,108,108,115,32,109,117,115,116,32,98,101,32,115,101,114,105,97,108,105,122,101,100,44,32>>,{code,[],[<<80,97,114,97,108,108,101,108>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<110,111>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,116,105,109,101,44,32,79,115,77,111,110,111,116,111,110,105,99,84,105,109,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<79,115,77,111,110,111,116,111,110,105,99,84,105,109,101>>]},<<32,101,113,117,97,108,115,32,99,117,114,114,101,110,116,32,79,83,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,105,110,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,117,110,105,116>>]},<<46>>]}]}]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,111,115,95,115,121,115,116,101,109,95,116,105,109,101,95,115,111,117,114,99,101>>}],[]},{code,[],[<<111,115,95,115,121,115,116,101,109,95,116,105,109,101,95,115,111,117,114,99,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,115,111,117,114,99,101,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,79,83,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,116,104,97,116,32,105,115,32,117,115,101,100,32,98,121,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]},{p,[],[<<84,104,101,32,108,105,115,116,32,99,111,110,116,97,105,110,115,32,116,119,111,45,116,117,112,108,101,115,32,119,105,116,104,32>>,{code,[],[<<75,101,121>>]},<<115,32,97,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,44,32,97,110,100,32>>,{code,[],[<<86,97,108,117,101>>]},<<115,32,97,115,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,115,101,32,116,117,112,108,101,115,32,105,115,32,117,110,100,101,102,105,110,101,100,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,116,117,112,108,101,115,32,99,97,110,32,98,101,32,112,97,114,116,32,111,102,32,116,104,101,32,108,105,115,116,44,32,98,117,116,32,109,111,114,101,32,116,117,112,108,101,115,32,99,97,110,32,98,101,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,102,117,110,99,116,105,111,110,44,32,70,117,110,99,116,105,111,110,125>>]}]},{dd,[],[{p,[],[{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,117,115,101,100,46>>]}]},{dt,[],[{code,[],[<<123,99,108,111,99,107,95,105,100,44,32,67,108,111,99,107,73,100,125>>]}]},{dd,[],[{p,[],[<<69,120,105,115,116,115,32,111,110,108,121,32,105,102,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,99,108,111,99,107,115,46,32>>,{code,[],[<<67,108,111,99,107,73,100>>]},<<32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,99,108,111,99,107,32,105,100,101,110,116,105,102,105,101,114,32,117,115,101,100,32,119,104,101,110,32,99,97,108,108,105,110,103,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,114,101,115,111,108,117,116,105,111,110,44,32,79,115,83,121,115,116,101,109,84,105,109,101,82,101,115,111,108,117,116,105,111,110,125>>]}]},{dd,[],[{p,[],[<<72,105,103,104,101,115,116,32,112,111,115,115,105,98,108,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,82,101,115,111,108,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<114,101,115,111,108,117,116,105,111,110>>]},<<32,111,102,32,99,117,114,114,101,110,116,32,79,83,32,115,121,115,116,101,109,32,116,105,109,101,32,115,111,117,114,99,101,32,97,115,32,112,97,114,116,115,32,112,101,114,32,115,101,99,111,110,100,46,32,73,102,32,110,111,32,114,101,115,111,108,117,116,105,111,110,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,114,101,116,114,105,101,118,101,100,32,102,114,111,109,32,116,104,101,32,79,83,44,32>>,{code,[],[<<79,115,83,121,115,116,101,109,84,105,109,101,82,101,115,111,108,117,116,105,111,110>>]},<<32,105,115,32,115,101,116,32,116,111,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,32,111,102,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,111,102,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<115,32,114,101,116,117,114,110,32,118,97,108,117,101,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,97,99,116,117,97,108,32,114,101,115,111,108,117,116,105,111,110,32,99,97,110,32,98,101,32,108,111,119,101,114,32,116,104,97,110,32>>,{code,[],[<<79,115,83,121,115,116,101,109,84,105,109,101,82,101,115,111,108,117,116,105,111,110>>]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,32,100,111,101,115,32,110,111,116,32,115,97,121,32,97,110,121,116,104,105,110,103,32,97,98,111,117,116,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,65,99,99,117,114,97,99,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<97,99,99,117,114,97,99,121>>]},<<32,111,114,32,119,104,101,116,104,101,114,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,80,114,101,99,105,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<112,114,101,99,105,115,105,111,110>>]},<<32,100,111,32,97,108,105,103,110,32,119,105,116,104,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,46,32,89,111,117,32,100,111,44,32,104,111,119,101,118,101,114,44,32,107,110,111,119,32,116,104,97,116,32,116,104,101,32,112,114,101,99,105,115,105,111,110,32,105,115,32,110,111,116,32,98,101,116,116,101,114,32,116,104,97,110,32>>,{code,[],[<<79,115,83,121,115,116,101,109,84,105,109,101,82,101,115,111,108,117,116,105,111,110>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,112,97,114,97,108,108,101,108,44,32,80,97,114,97,108,108,101,108,125>>]}]},{dd,[],[{p,[],[{code,[],[<<80,97,114,97,108,108,101,108>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<121,101,115>>]},<<32,105,102,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,105,115,32,99,97,108,108,101,100,32,105,110,32,112,97,114,97,108,108,101,108,32,102,114,111,109,32,109,117,108,116,105,112,108,101,32,116,104,114,101,97,100,115,46,32,73,102,32,105,116,32,105,115,32,110,111,116,32,99,97,108,108,101,100,32,105,110,32,112,97,114,97,108,108,101,108,44,32,98,101,99,97,117,115,101,32,99,97,108,108,115,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,114,105,97,108,105,122,101,100,44,32>>,{code,[],[<<80,97,114,97,108,108,101,108>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<110,111>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,116,105,109,101,44,32,79,115,83,121,115,116,101,109,84,105,109,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<79,115,83,121,115,116,101,109,84,105,109,101>>]},<<32,101,113,117,97,108,115,32,99,117,114,114,101,110,116,32,79,83,32,115,121,115,116,101,109,32,116,105,109,101,32,105,110,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,117,110,105,116>>]},<<46>>]}]}]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,116,97,114,116,95,116,105,109,101>>}],[]},{code,[],[<<115,116,97,114,116,95,116,105,109,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,105,110,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,117,110,105,116>>]},<<32,97,116,32,116,104,101,32,116,105,109,101,32,119,104,101,110,32,99,117,114,114,101,110,116,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,32,115,116,97,114,116,101,100,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,110,100,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,101,110,100,95,116,105,109,101,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110>>}],[]},{code,[],[<<116,105,109,101,95,99,111,114,114,101,99,116,105,111,110>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,111,111,108,101,97,110,32,118,97,108,117,101,32,105,110,100,105,99,97,116,105,110,103,32,119,104,101,116,104,101,114,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,67,111,114,114,101,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,105,109,101,32,99,111,114,114,101,99,116,105,111,110>>]},<<32,105,115,32,101,110,97,98,108,101,100,32,111,114,32,110,111,116,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,111,102,102,115,101,116>>}],[]},{code,[],[<<116,105,109,101,95,111,102,102,115,101,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,116,97,116,101,32,111,102,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,58>>]},{dl,[],[{dt,[],[{code,[],[<<112,114,101,108,105,109,105,110,97,114,121>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,112,114,101,108,105,109,105,110,97,114,121,44,32,97,110,100,32,119,105,108,108,32,98,101,32,99,104,97,110,103,101,100,32,97,110,100,32,102,105,110,97,108,105,122,101,100,32,108,97,116,101,114,46,32,84,104,101,32,112,114,101,108,105,109,105,110,97,114,121,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,117,115,101,100,32,100,117,114,105,110,103,32,116,104,101,32,112,114,101,108,105,109,105,110,97,114,121,32,112,104,97,115,101,32,111,102,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,83,105,110,103,108,101,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<46>>]}]},{dt,[],[{code,[],[<<102,105,110,97,108>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,102,105,110,97,108,46,32,84,104,105,115,32,101,105,116,104,101,114,32,98,101,99,97,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,78,111,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<110,111,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,44,32,111,114,32,98,101,99,97,117,115,101,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,104,97,118,101,32,98,101,101,110,32,102,105,110,97,108,105,122,101,100,32,119,104,101,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,83,105,110,103,108,101,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46>>]}]},{dt,[],[{code,[],[<<118,111,108,97,116,105,108,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,118,111,108,97,116,105,108,101,46,32,84,104,97,116,32,105,115,44,32,105,116,32,99,97,110,32,99,104,97,110,103,101,32,97,116,32,97,110,121,32,116,105,109,101,46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,77,117,108,116,105,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<109,117,108,116,105,45,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46>>]}]}]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,119,97,114,112,95,109,111,100,101>>}],[]},{code,[],[<<116,105,109,101,95,119,97,114,112,95,109,111,100,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,118,97,108,117,101,32,105,100,101,110,116,105,102,121,105,110,103,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,87,97,114,112,95,77,111,100,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,116,104,97,116,32,105,115,32,117,115,101,100,58>>]},{dl,[],[{dt,[],[{code,[],[<<110,111,95,116,105,109,101,95,119,97,114,112>>]}]},{dd,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,78,111,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<110,111,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46>>]},{dt,[],[{code,[],[<<115,105,110,103,108,101,95,116,105,109,101,95,119,97,114,112>>]}]},{dd,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,83,105,110,103,108,101,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46>>]},{dt,[],[{code,[],[<<109,117,108,116,105,95,116,105,109,101,95,119,97,114,112>>]}]},{dd,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,77,117,108,116,105,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<109,117,108,116,105,45,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46>>]}]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,111,108,101,114,97,110,116,95,116,105,109,101,111,102,100,97,121>>}],[]},{code,[],[<<116,111,108,101,114,97,110,116,95,116,105,109,101,111,102,100,97,121>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,119,104,101,116,104,101,114,32,97,32,112,114,101,32,69,82,84,83,32,55,46,48,32,98,97,99,107,119,97,114,100,115,32,99,111,109,112,97,116,105,98,108,101,32,99,111,109,112,101,110,115,97,116,105,111,110,32,102,111,114,32,115,117,100,100,101,110,32,99,104,97,110,103,101,115,32,111,102,32,115,121,115,116,101,109,32,116,105,109,101,32,105,115,32>>,{code,[],[<<101,110,97,98,108,101,100>>]},<<32,111,114,32>>,{code,[],[<<100,105,115,97,98,108,101,100>>]},<<46,32,83,117,99,104,32,99,111,109,112,101,110,115,97,116,105,111,110,32,105,115,32>>,{code,[],[<<101,110,97,98,108,101,100>>]},<<32,119,104,101,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,111,102,102,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,111,102,102,115,101,116>>]},<<32,105,115,32>>,{code,[],[<<102,105,110,97,108>>]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,99,111,114,114,101,99,116,105,111,110>>]},<<32,105,115,32,101,110,97,98,108,101,100,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,49,51,49>>,signature => [{attribute,{2834,2},spec,{{erlang,system_info,1},[{type,{2877,10},'fun',[{type,{2877,10},product,[{atom,{2877,11},end_time}]},{type,{2877,24},non_neg_integer,[]}]},{type,{2902,10},'fun',[{type,{2902,10},product,[{atom,{2902,11},os_monotonic_time_source}]},{type,{2902,40},list,[{type,{2902,41},tuple,[{type,{2902,42},atom,[]},{type,{2902,49},term,[]}]}]}]},{type,{2903,10},'fun',[{type,{2903,10},product,[{atom,{2903,11},os_system_time_source}]},{type,{2903,37},list,[{type,{2903,38},tuple,[{type,{2903,39},atom,[]},{type,{2903,46},term,[]}]}]}]},{type,{2922,10},'fun',[{type,{2922,10},product,[{atom,{2922,11},start_time}]},{type,{2922,26},integer,[]}]},{type,{2928,10},'fun',[{type,{2928,10},product,[{atom,{2928,11},time_correction}]},{type,{2928,31},union,[{atom,{2928,31},true},{atom,{2928,38},false}]}]},{type,{2929,10},'fun',[{type,{2929,10},product,[{atom,{2929,11},time_offset}]},{type,{2929,27},union,[{atom,{2929,27},preliminary},{atom,{2929,41},final},{atom,{2929,49},volatile}]}]},{type,{2930,10},'fun',[{type,{2930,10},product,[{atom,{2930,11},time_warp_mode}]},{type,{2930,30},union,[{atom,{2930,30},no_time_warp},{atom,{2930,45},single_time_warp},{atom,{2930,64},multi_time_warp}]}]},{type,{2931,10},'fun',[{type,{2931,10},product,[{atom,{2931,11},tolerant_timeofday}]},{type,{2931,34},union,[{atom,{2931,34},enabled},{atom,{2931,44},disabled}]}]}]}}],since => <<79,84,80,32,49,55,46,49,44,79,84,80,32,49,56,46,48>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2834}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,116,97,103,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,115,99,104,101,100,117,108,101,114,115,44,32,115,99,104,101,100,117,108,105,110,103,32,97,110,100,32,116,104,114,101,97,100,115,32,105,110,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<58>>]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>}],[]},{code,[],[<<100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,117,115,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,68,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,101,120,101,99,117,116,101,32,67,80,85,45,98,111,117,110,100,32,110,97,116,105,118,101,32,102,117,110,99,116,105,111,110,115,44,32,115,117,99,104,32,97,115,32,78,73,70,115,44,32,108,105,110,107,101,100,45,105,110,32,100,114,105,118,101,114,32,99,111,100,101,44,32,97,110,100,32,66,73,70,115,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,109,97,110,97,103,101,100,32,99,108,101,97,110,108,121,32,98,121,32,116,104,101,32,110,111,114,109,97,108,32,101,109,117,108,97,116,111,114,32,115,99,104,101,100,117,108,101,114,115,46>>]},{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,97,116,32,101,109,117,108,97,116,111,114,32,98,111,111,116,32,116,105,109,101,32,97,110,100,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,97,102,116,101,114,32,116,104,97,116,46,32,72,111,119,101,118,101,114,44,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,111,110,108,105,110,101,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,97,116,32,97,110,121,32,116,105,109,101,46,32,84,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,99,97,110,32,98,101,32,115,101,116,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,83,68,99,112,117>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,83,68,99,112,117>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,83,68,80,99,112,117>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,83,68,80,99,112,117>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,44,32,68,105,114,116,121,67,80,85,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,44,32,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>}],[]},{code,[],[<<100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,115,97,116,105,115,102,105,101,115,32>>,{code,[],[<<49,32,60,61,32,68,105,114,116,121,67,80,85,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,32,60,61,32,78>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<78>>]},<<32,105,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,111,102,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41>>]},<<32,97,110,100,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]},<<46>>]},{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,99,97,110,32,98,101,32,115,101,116,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,83,68,99,112,117>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,83,68,99,112,117>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,44,32,68,105,114,116,121,67,80,85,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>}],[]},{code,[],[<<100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,73,47,79,32,115,99,104,101,100,117,108,101,114,115,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,68,105,114,116,121,32,73,47,79,32,115,99,104,101,100,117,108,101,114,115,32,101,120,101,99,117,116,101,32,73,47,79,45,98,111,117,110,100,32,110,97,116,105,118,101,32,102,117,110,99,116,105,111,110,115,44,32,115,117,99,104,32,97,115,32,78,73,70,115,32,97,110,100,32,108,105,110,107,101,100,45,105,110,32,100,114,105,118,101,114,32,99,111,100,101,44,32,119,104,105,99,104,32,99,97,110,110,111,116,32,98,101,32,109,97,110,97,103,101,100,32,99,108,101,97,110,108,121,32,98,121,32,116,104,101,32,110,111,114,109,97,108,32,101,109,117,108,97,116,111,114,32,115,99,104,101,100,117,108,101,114,115,46>>]},{p,[],[<<84,104,105,115,32,118,97,108,117,101,32,99,97,110,32,98,101,32,115,101,116,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,83,68,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,83,68,105,111>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,44,32,68,105,114,116,121,67,80,85,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>}],[]},{code,[],[<<109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<100,105,115,97,98,108,101,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,101,109,117,108,97,116,111,114,32,104,97,115,32,98,101,101,110,32,115,116,97,114,116,101,100,32,119,105,116,104,32,111,110,108,121,32,111,110,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,46>>]}]},{dt,[],[{code,[],[<<98,108,111,99,107,101,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,101,109,117,108,97,116,111,114,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,44,32,98,117,116,32,97,108,108,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,101,120,99,101,112,116,32,111,110,101,32,97,114,101,32,98,108,111,99,107,101,100,46,32,84,104,97,116,32,105,115,44,32,111,110,108,121,32,111,110,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,32,115,99,104,101,100,117,108,101,115,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,101,120,101,99,117,116,101,115,32,69,114,108,97,110,103,32,99,111,100,101,46>>]}]},{dt,[],[{code,[],[<<98,108,111,99,107,101,100,95,110,111,114,109,97,108>>]}]},{dd,[],[{p,[],[<<84,104,101,32,101,109,117,108,97,116,111,114,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,44,32,98,117,116,32,97,108,108,32,110,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,101,120,99,101,112,116,32,111,110,101,32,97,114,101,32,98,108,111,99,107,101,100,46,32,78,111,116,105,99,101,32,116,104,97,116,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,110,111,116,32,98,108,111,99,107,101,100,44,32,97,110,100,32,99,97,110,32,115,99,104,101,100,117,108,101,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,101,120,101,99,117,116,101,32,110,97,116,105,118,101,32,99,111,100,101,46>>]}]},{dt,[],[{code,[],[<<101,110,97,98,108,101,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,101,109,117,108,97,116,111,114,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,44,32,97,110,100,32,110,111,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,97,114,101,32,98,108,111,99,107,101,100,46,32,84,104,97,116,32,105,115,44,32,97,108,108,32,97,118,97,105,108,97,98,108,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,115,99,104,101,100,117,108,101,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,101,120,101,99,117,116,101,32,69,114,108,97,110,103,32,99,111,100,101,46>>]}]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,44,32,66,108,111,99,107,83,116,97,116,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>}],[]},{code,[],[<<109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32>>,{code,[],[<<80,105,100>>]},<<115,32,119,104,101,110,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,98,108,111,99,107,101,100,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,101,32>>,{code,[],[<<80,105,100>>]},<<115,32,105,110,32,116,104,101,32,108,105,115,116,32,114,101,112,114,101,115,101,110,116,32,97,108,108,32,116,104,101,32,112,114,111,99,101,115,115,101,115,32,99,117,114,114,101,110,116,108,121,32,98,108,111,99,107,105,110,103,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,46,32,65,32>>,{code,[],[<<80,105,100>>]},<<32,111,99,99,117,114,115,32,111,110,108,121,32,111,110,99,101,32,105,110,32,116,104,101,32,108,105,115,116,44,32,101,118,101,110,32,105,102,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,112,114,111,99,101,115,115,32,104,97,115,32,98,108,111,99,107,101,100,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,44,32,66,108,111,99,107,83,116,97,116,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>}],[]},{code,[],[<<110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32>>,{code,[],[<<80,105,100>>]},<<115,32,119,104,101,110,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,98,108,111,99,107,101,100,32,40,116,104,97,116,32,105,115,44,32,97,108,108,32,110,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,115,32,98,117,116,32,111,110,101,32,105,115,32,98,108,111,99,107,101,100,41,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,101,32>>,{code,[],[<<80,105,100>>]},<<115,32,105,110,32,116,104,101,32,108,105,115,116,32,114,101,112,114,101,115,101,110,116,32,97,108,108,32,116,104,101,32,112,114,111,99,101,115,115,101,115,32,99,117,114,114,101,110,116,108,121,32,98,108,111,99,107,105,110,103,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,46,32,65,32>>,{code,[],[<<80,105,100>>]},<<32,111,99,99,117,114,115,32,111,110,108,121,32,111,110,99,101,32,105,110,32,116,104,101,32,108,105,115,116,44,32,101,118,101,110,32,105,102,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,112,114,111,99,101,115,115,32,104,97,115,32,98,108,111,99,107,101,100,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,44,32,66,108,111,99,107,83,116,97,116,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101>>}],[]},{code,[],[<<115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,104,111,119,32,116,104,101,32,117,115,101,114,32,104,97,115,32,114,101,113,117,101,115,116,101,100,32,115,99,104,101,100,117,108,101,114,115,32,116,111,32,98,101,32,98,111,117,110,100,32,111,114,32,110,111,116,32,98,111,117,110,100,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,108,116,104,111,117,103,104,32,97,32,117,115,101,114,32,104,97,115,32,114,101,113,117,101,115,116,101,100,32,115,99,104,101,100,117,108,101,114,115,32,116,111,32,98,101,32,98,111,117,110,100,44,32,116,104,101,121,32,99,97,110,32,115,105,108,101,110,116,108,121,32,104,97,118,101,32,102,97,105,108,101,100,32,116,111,32,98,105,110,100,46,32,84,111,32,105,110,115,112,101,99,116,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,98,105,110,100,105,110,103,115,44,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115,41>>]}]},<<46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>}],[]},{code,[],[<<115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,99,117,114,114,101,110,116,108,121,32,117,115,101,100,32,115,99,104,101,100,117,108,101,114,32,98,105,110,100,105,110,103,115,46>>]},{p,[],[<<65,32,116,117,112,108,101,32,111,102,32,97,32,115,105,122,101,32,101,113,117,97,108,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,101,32,116,117,112,108,101,32,101,108,101,109,101,110,116,115,32,97,114,101,32,105,110,116,101,103,101,114,115,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,98,111,117,110,100>>]},<<46,32,76,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,32,105,100,101,110,116,105,102,105,101,114,115,32,97,114,101,32,114,101,112,114,101,115,101,110,116,101,100,32,97,115,32,105,110,116,101,103,101,114,115,46,32,84,104,101,32>>,{code,[],[<<78>>]},<<116,104,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,116,117,112,108,101,32,101,113,117,97,108,115,32,116,104,101,32,99,117,114,114,101,110,116,32,98,105,110,100,105,110,103,32,102,111,114,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,119,105,116,104,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,105,100,101,110,116,105,102,105,101,114,32,101,113,117,97,108,32,116,111,32>>,{code,[],[<<78>>]},<<46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32,116,104,101,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,98,111,117,110,100,44,32>>,{code,[],[<<101,108,101,109,101,110,116,40,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,105,100,41,44,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115,41,41>>]},<<32,114,101,116,117,114,110,115,32,116,104,101,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,111,110,108,121,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,99,97,110,32,98,101,32,98,111,117,110,100,32,116,111,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,105,100>>}],[]},{code,[],[<<115,99,104,101,100,117,108,101,114,95,105,100>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,73,68,32,40>>,{code,[],[<<83,99,104,101,100,117,108,101,114,73,100>>]},<<41,32,111,102,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46,32>>,{code,[],[<<83,99,104,101,100,117,108,101,114,73,100>>]},<<32,105,115,32,97,32,112,111,115,105,116,105,118,101,32,105,110,116,101,103,101,114,44,32,119,104,101,114,101,32>>,{code,[],[<<49,32,60,61,32,83,99,104,101,100,117,108,101,114,73,100,32,60,61,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]},<<46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>}],[]},{code,[],[<<115,99,104,101,100,117,108,101,114,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,117,115,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,83,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,111,110,108,105,110,101,32,115,99,104,101,100,117,108,101,115,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,69,114,108,97,110,103,32,112,111,114,116,115,44,32,97,110,100,32,101,120,101,99,117,116,101,32,69,114,108,97,110,103,32,99,111,100,101,32,97,110,100,32,69,114,108,97,110,103,32,108,105,110,107,101,100,45,105,110,32,100,114,105,118,101,114,32,99,111,100,101,46>>]},{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,97,116,32,101,109,117,108,97,116,111,114,32,98,111,111,116,32,116,105,109,101,32,97,110,100,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,108,97,116,101,114,46,32,72,111,119,101,118,101,114,44,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,97,116,32,97,110,121,32,116,105,109,101,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,44,32,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,105,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,105,100,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,44,32,66,108,111,99,107,83,116,97,116,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>}],[]},{code,[],[<<115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46,32,84,104,101,32,115,99,104,101,100,117,108,101,114,32,105,100,101,110,116,105,102,105,101,114,115,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,115,97,116,105,115,102,121,32,116,104,101,32,114,101,108,97,116,105,111,110,115,104,105,112,32>>,{code,[],[<<49,32,60,61,32,83,99,104,101,100,117,108,101,114,73,100,32,60,61,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]},<<46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,44,32,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,109,112,95,115,117,112,112,111,114,116>>}],[]},{code,[],[<<115,109,112,95,115,117,112,112,111,114,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,104,114,101,97,100,115>>}],[]},{code,[],[<<116,104,114,101,97,100,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101>>}],[]},{code,[],[<<116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101>>]}]},{dd,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,97,115,121,110,99,32,116,104,114,101,97,100,115,32,105,110,32,116,104,101,32,97,115,121,110,99,32,116,104,114,101,97,100,32,112,111,111,108,32,117,115,101,100,32,102,111,114,32,97,115,121,110,99,104,114,111,110,111,117,115,32,100,114,105,118,101,114,32,99,97,108,108,115,32,40>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,114,105,118,101,114,35,100,114,105,118,101,114,95,97,115,121,110,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[<<32>>,{code,[],[<<101,114,108,95,100,114,105,118,101,114,58,100,114,105,118,101,114,95,97,115,121,110,99,40,41>>]}]},<<41,46,32,84,104,101,32,118,97,108,117,101,32,105,115,32,103,105,118,101,110,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,51,53,57>>,signature => [{attribute,{2834,2},spec,{{erlang,system_info,1},[{type,{2864,10},'fun',[{type,{2864,10},product,[{atom,{2864,11},dirty_cpu_schedulers}]},{type,{2864,36},non_neg_integer,[]}]},{type,{2865,10},'fun',[{type,{2865,10},product,[{atom,{2865,11},dirty_cpu_schedulers_online}]},{type,{2865,43},non_neg_integer,[]}]},{type,{2866,10},'fun',[{type,{2866,10},product,[{atom,{2866,11},dirty_io_schedulers}]},{type,{2866,35},non_neg_integer,[]}]},{type,{2897,10},'fun',[{type,{2897,10},product,[{atom,{2897,11},multi_scheduling}]},{type,{2897,32},union,[{atom,{2897,32},disabled},{atom,{2897,43},blocked},{atom,{2897,53},blocked_normal},{atom,{2897,70},enabled}]}]},{type,{2898,10},'fun',[{type,{2898,10},product,[{atom,{2898,11},multi_scheduling_blockers}]},{type,{2898,41},list,[{ann_type,{2898,42},[{var,{2898,42},'Pid'},{type,{2898,49},pid,[]}]}]}]},{type,{2900,10},'fun',[{type,{2900,10},product,[{atom,{2900,11},normal_multi_scheduling_blockers}]},{type,{2900,48},list,[{ann_type,{2900,49},[{var,{2900,49},'Pid'},{type,{2900,56},pid,[]}]}]}]},{type,{2910,10},'fun',[{type,{2910,10},product,[{atom,{2910,11},scheduler_bind_type}]},{type,{2910,35},union,[{atom,{2910,35},spread},{atom,{2911,35},processor_spread},{atom,{2912,35},thread_spread},{atom,{2913,35},thread_no_node_processor_spread},{atom,{2914,35},no_node_processor_spread},{atom,{2915,35},no_node_thread_spread},{atom,{2916,35},no_spread},{atom,{2917,35},unbound}]}]},{type,{2918,10},'fun',[{type,{2918,10},product,[{atom,{2918,11},scheduler_bindings}]},{type,{2918,35},tuple,any}]},{type,{2919,10},'fun',[{type,{2919,10},product,[{atom,{2919,11},scheduler_id}]},{ann_type,{2919,28},[{var,{2919,28},'SchedulerId'},{type,{2919,43},pos_integer,[]}]}]},{type,{2920,10},'fun',[{type,{2920,10},product,[{type,{2920,11},union,[{atom,{2920,11},schedulers},{atom,{2920,24},schedulers_online}]}]},{type,{2920,46},pos_integer,[]}]},{type,{2921,10},'fun',[{type,{2921,10},product,[{atom,{2921,11},smp_support}]},{type,{2921,27},boolean,[]}]},{type,{2926,10},'fun',[{type,{2926,10},product,[{atom,{2926,11},threads}]},{type,{2926,23},boolean,[]}]},{type,{2927,10},'fun',[{type,{2927,10},product,[{atom,{2927,11},thread_pool_size}]},{type,{2927,32},non_neg_integer,[]}]}]}}],since => <<79,84,80,32,49,55,46,48,44,79,84,80,32,49,57,46,48>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2834}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116,95,116,97,103,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,69,114,108,97,110,103,32,68,105,115,116,114,105,98,117,116,105,111,110,32,105,110,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<58>>]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,114,101,97,116,105,111,110>>}],[]},{code,[],[<<99,114,101,97,116,105,111,110>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,114,101,97,116,105,111,110,32,111,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,84,104,101,32,99,114,101,97,116,105,111,110,32,105,115,32,99,104,97,110,103,101,100,32,119,104,101,110,32,97,32,110,111,100,101,32,105,115,32,114,101,115,116,97,114,116,101,100,46,32,84,104,101,32,99,114,101,97,116,105,111,110,32,111,102,32,97,32,110,111,100,101,32,105,115,32,115,116,111,114,101,100,32,105,110,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,115,44,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,115,44,32,97,110,100,32,114,101,102,101,114,101,110,99,101,115,46,32,84,104,105,115,32,109,97,107,101,115,32,105,116,32,40,116,111,32,115,111,109,101,32,101,120,116,101,110,116,41,32,112,111,115,115,105,98,108,101,32,116,111,32,100,105,115,116,105,110,103,117,105,115,104,32,98,101,116,119,101,101,110,32,105,100,101,110,116,105,102,105,101,114,115,32,102,114,111,109,32,100,105,102,102,101,114,101,110,116,32,105,110,99,97,114,110,97,116,105,111,110,115,32,111,102,32,97,32,110,111,100,101,46,32,84,104,101,32,118,97,108,105,100,32,99,114,101,97,116,105,111,110,115,32,97,114,101,32,105,110,116,101,103,101,114,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32,49,46,46,51,44,32,98,117,116,32,116,104,105,115,32,119,105,108,108,32,112,114,111,98,97,98,108,121,32,99,104,97,110,103,101,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46,32,73,102,32,116,104,101,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,44,32>>,{code,[],[<<48>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,101,108,97,121,101,100,95,110,111,100,101,95,116,97,98,108,101,95,103,99>>}],[]},{code,[],[<<100,101,108,97,121,101,100,95,110,111,100,101,95,116,97,98,108,101,95,103,99>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,116,105,109,101,32,105,110,32,115,101,99,111,110,100,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,97,110,32,101,110,116,114,121,32,105,110,32,97,32,110,111,100,101,32,116,97,98,108,101,32,105,115,32,100,101,108,97,121,101,100,46,32,84,104,105,115,32,108,105,109,105,116,32,99,97,110,32,98,101,32,115,101,116,32,111,110,32,115,116,97,114,116,117,112,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,122,100,110,116,103,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,122,100,110,116,103,99>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116>>}],[]},{code,[],[<<100,105,115,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,110,116,97,105,110,105,110,103,32,97,32,115,116,114,105,110,103,32,111,102,32,100,105,115,116,114,105,98,117,116,105,111,110,32,105,110,102,111,114,109,97,116,105,111,110,32,102,111,114,109,97,116,116,101,100,32,97,115,32,105,110,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,99,114,97,115,104,95,100,117,109,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<72,111,119,32,116,111,32,105,110,116,101,114,112,114,101,116,32,116,104,101,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116,95,98,117,102,95,98,117,115,121,95,108,105,109,105,116>>}],[]},{code,[],[<<100,105,115,116,95,98,117,102,95,98,117,115,121,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,98,117,102,102,101,114,32,98,117,115,121,32,108,105,109,105,116,32,105,110,32,98,121,116,101,115,46,32,84,104,105,115,32,108,105,109,105,116,32,99,97,110,32,98,101,32,115,101,116,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,122,100,98,98,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,122,100,98,98,108>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116,95,99,116,114,108>>}],[]},{code,[],[<<100,105,115,116,95,99,116,114,108>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,116,117,112,108,101,115,32>>,{code,[],[<<123,78,111,100,101,44,32,67,111,110,116,114,111,108,108,105,110,103,69,110,116,105,116,121,125>>]},<<44,32,111,110,101,32,101,110,116,114,121,32,102,111,114,32,101,97,99,104,32,99,111,110,110,101,99,116,101,100,32,114,101,109,111,116,101,32,110,111,100,101,46,32>>,{code,[],[<<78,111,100,101>>]},<<32,105,115,32,116,104,101,32,110,111,100,101,32,110,97,109,101,32,97,110,100,32>>,{code,[],[<<67,111,110,116,114,111,108,108,105,110,103,69,110,116,105,116,121>>]},<<32,105,115,32,116,104,101,32,112,111,114,116,32,111,114,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,114,101,115,112,111,110,115,105,98,108,101,32,102,111,114,32,116,104,101,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,116,111,32,116,104,97,116,32,110,111,100,101,46,32,77,111,114,101,32,115,112,101,99,105,102,105,99,97,108,108,121,44,32>>,{code,[],[<<67,111,110,116,114,111,108,108,105,110,103,69,110,116,105,116,121>>]},<<32,102,111,114,32,110,111,100,101,115,32,99,111,110,110,101,99,116,101,100,32,116,104,114,111,117,103,104,32,84,67,80,47,73,80,32,40,116,104,101,32,110,111,114,109,97,108,32,99,97,115,101,41,32,105,115,32,116,104,101,32,115,111,99,107,101,116,32,117,115,101,100,32,105,110,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,119,105,116,104,32,116,104,101,32,115,112,101,99,105,102,105,99,32,110,111,100,101,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,54,53,57>>,signature => [{attribute,{2834,2},spec,{{erlang,system_info,1},[{type,{2861,10},'fun',[{type,{2861,10},product,[{atom,{2861,11},creation}]},{type,{2861,24},integer,[]}]},{type,{2863,10},'fun',[{type,{2863,10},product,[{atom,{2863,11},delayed_node_table_gc}]},{type,{2863,37},union,[{atom,{2863,37},infinity},{type,{2863,48},non_neg_integer,[]}]}]},{type,{2867,10},'fun',[{type,{2867,10},product,[{atom,{2867,11},dist}]},{type,{2867,20},binary,[]}]},{type,{2868,10},'fun',[{type,{2868,10},product,[{atom,{2868,11},dist_buf_busy_limit}]},{type,{2868,35},non_neg_integer,[]}]},{type,{2869,10},'fun',[{type,{2869,10},product,[{atom,{2869,11},dist_ctrl}]},{type,{2869,25},tuple,[{ann_type,{2869,26},[{var,{2869,26},'Node'},{type,{2869,34},node,[]}]},{ann_type,{2870,26},[{var,{2870,26},'ControllingEntity'},{type,{2870,47},union,[{type,{2870,47},port,[]},{type,{2870,56},pid,[]}]}]}]}]}]}}],since => <<79,84,80,32,49,56,46,48,44,79,84,80,32,82,49,52,66,48,49>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2834}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,105,115,99,95,116,97,103,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,118,97,114,105,111,117,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,40,101,109,117,108,97,116,111,114,41,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<58>>]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,98,117,105,108,100,95,116,121,112,101>>}],[]},{code,[],[<<98,117,105,108,100,95,116,121,112,101>>]}]},{dd,[],[{p,[],[<<68,101,112,114,101,99,97,116,101,100,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,109,117,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,109,117,95,116,121,112,101>>]},<<32,105,110,115,116,101,97,100>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,95,99,111,109,112,105,108,101,114,95,117,115,101,100>>}],[]},{code,[],[<<99,95,99,111,109,112,105,108,101,114,95,117,115,101,100>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,116,119,111,45,116,117,112,108,101,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,67,32,99,111,109,112,105,108,101,114,32,117,115,101,100,32,119,104,101,110,32,99,111,109,112,105,108,105,110,103,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,84,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32,97,110,32,97,116,111,109,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,99,111,109,112,105,108,101,114,44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,117,110,107,110,111,119,110,46,32,84,104,101,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,32,105,115,32,97,32,116,101,114,109,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,99,111,109,112,105,108,101,114,44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,117,110,107,110,111,119,110,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,104,101,99,107,95,105,111>>}],[]},{code,[],[<<99,104,101,99,107,95,105,111>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,109,105,115,99,101,108,108,97,110,101,111,117,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,101,109,117,108,97,116,111,114,115,32,105,110,116,101,114,110,97,108,32,73,47,79,32,99,104,101,99,107,105,110,103,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,99,111,110,116,101,110,116,32,111,102,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,32,99,97,110,32,118,97,114,121,32,98,101,116,119,101,101,110,32,112,108,97,116,102,111,114,109,115,32,97,110,100,32,111,118,101,114,32,116,105,109,101,46,32,73,116,32,105,115,32,111,110,108,121,32,103,117,97,114,97,110,116,101,101,100,32,116,104,97,116,32,97,32,108,105,115,116,32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,111,109,112,97,116,95,114,101,108>>}],[]},{code,[],[<<99,111,109,112,97,116,95,114,101,108>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,109,111,100,101,32,111,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,84,104,101,32,105,110,116,101,103,101,114,32,114,101,116,117,114,110,101,100,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,69,114,108,97,110,103,47,79,84,80,32,114,101,108,101,97,115,101,32,116,104,97,116,32,116,104,101,32,99,117,114,114,101,110,116,32,101,109,117,108,97,116,111,114,32,104,97,115,32,98,101,101,110,32,115,101,116,32,116,111,32,98,101,32,98,97,99,107,119,97,114,100,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,46,32,84,104,101,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,109,111,100,101,32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,117,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,99,111,109,112,97,116,95,114,101,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,82>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,101,98,117,103,95,99,111,109,112,105,108,101,100>>}],[]},{code,[],[<<100,101,98,117,103,95,99,111,109,112,105,108,101,100>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,104,97,115,32,98,101,101,110,32,100,101,98,117,103,45,99,111,109,112,105,108,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,114,105,118,101,114,95,118,101,114,115,105,111,110>>}],[]},{code,[],[<<100,114,105,118,101,114,95,118,101,114,115,105,111,110>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,100,114,105,118,101,114,32,118,101,114,115,105,111,110,32,117,115,101,100,32,98,121,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,73,116,32,104,97,115,32,116,104,101,32,102,111,114,109,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,114,105,118,101,114,35,118,101,114,115,105,111,110,95,109,97,110,97,103,101,109,101,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[<<34,60,109,97,106,111,114,32,118,101,114,62,46,60,109,105,110,111,114,32,118,101,114,62,34>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,121,110,97,109,105,99,95,116,114,97,99,101>>}],[]},{code,[],[<<100,121,110,97,109,105,99,95,116,114,97,99,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,97,116,111,109,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,100,121,110,97,109,105,99,32,116,114,97,99,101,32,102,114,97,109,101,119,111,114,107,32,99,111,109,112,105,108,101,100,32,105,110,116,111,32,116,104,101,32,118,105,114,116,117,97,108,32,109,97,99,104,105,110,101,46,32,73,116,32,99,97,110,32,98,101,32>>,{code,[],[<<100,116,114,97,99,101>>]},<<44,32>>,{code,[],[<<115,121,115,116,101,109,116,97,112>>]},<<44,32,111,114,32>>,{code,[],[<<110,111,110,101>>]},<<46,32,70,111,114,32,97,32,99,111,109,109,101,114,99,105,97,108,32,111,114,32,115,116,97,110,100,97,114,100,32,98,117,105,108,100,44,32,105,116,32,105,115,32,97,108,119,97,121,115,32>>,{code,[],[<<110,111,110,101>>]},<<46,32,84,104,101,32,111,116,104,101,114,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,105,110,100,105,99,97,116,101,32,97,32,99,117,115,116,111,109,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<46,47,99,111,110,102,105,103,117,114,101,32,45,45,119,105,116,104,45,100,121,110,97,109,105,99,45,116,114,97,99,101,61,100,116,114,97,99,101>>]},<<41,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,100,121,110,97,109,105,99,32,116,114,97,99,105,110,103,44,32,115,101,101,32>>,{a,[{href,<<114,117,110,116,105,109,101,95,116,111,111,108,115,58,100,121,110,116,114,97,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,121,110,116,114,97,99,101,40,51,41>>]}]},<<32,109,97,110,117,97,108,32,112,97,103,101,32,97,110,100,32,116,104,101,32>>,{code,[],[<<82,69,65,68,77,69,46,100,116,114,97,99,101>>]},<<47>>,{code,[],[<<82,69,65,68,77,69,46,115,121,115,116,101,109,116,97,112>>]},<<32,102,105,108,101,115,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,115,111,117,114,99,101,32,99,111,100,101,32,116,111,112,32,100,105,114,101,99,116,111,114,121,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,121,110,97,109,105,99,95,116,114,97,99,101,95,112,114,111,98,101,115>>}],[]},{code,[],[<<100,121,110,97,109,105,99,95,116,114,97,99,101,95,112,114,111,98,101,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32>>,{code,[],[<<98,111,111,108,101,97,110,40,41>>]},<<32,105,110,100,105,99,97,116,105,110,103,32,105,102,32,100,121,110,97,109,105,99,32,116,114,97,99,101,32,112,114,111,98,101,115,32,40>>,{code,[],[<<100,116,114,97,99,101>>]},<<32,111,114,32>>,{code,[],[<<115,121,115,116,101,109,116,97,112>>]},<<41,32,97,114,101,32,98,117,105,108,116,32,105,110,116,111,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,84,104,105,115,32,99,97,110,32,111,110,108,121,32,98,101,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,118,105,114,116,117,97,108,32,109,97,99,104,105,110,101,32,119,97,115,32,98,117,105,108,116,32,102,111,114,32,100,121,110,97,109,105,99,32,116,114,97,99,105,110,103,32,40,116,104,97,116,32,105,115,44,32>>,{code,[],[<<115,121,115,116,101,109,95,105,110,102,111,40,100,121,110,97,109,105,99,95,116,114,97,99,101,41>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<100,116,114,97,99,101>>]},<<32,111,114,32>>,{code,[],[<<115,121,115,116,101,109,116,97,112>>]},<<41,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,101,109,117,95,102,108,97,118,111,114>>}],[]},{code,[],[<<101,109,117,95,102,108,97,118,111,114>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,97,116,111,109,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,102,108,97,118,111,114,32,111,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,84,104,105,115,32,119,105,108,108,32,98,101,32,101,105,116,104,101,114,32>>,{code,[],[<<101,109,117>>]},<<32,111,114,32>>,{code,[],[<<106,105,116>>]},<<46,32,80,111,115,115,105,98,108,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,111,114,32,114,101,109,111,118,101,100,32,97,116,32,97,110,121,32,116,105,109,101,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,101,109,117,95,116,121,112,101>>}],[]},{code,[],[<<101,109,117,95,116,121,112,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,97,116,111,109,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,98,117,105,108,100,32,116,121,112,101,32,111,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,84,104,105,115,32,105,115,32,110,111,114,109,97,108,108,121,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<111,112,116>>]},<<32,102,111,114,32,111,112,116,105,109,105,122,101,100,46,32,79,116,104,101,114,32,112,111,115,115,105,98,108,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,97,114,101,32>>,{code,[],[<<100,101,98,117,103>>]},<<44,32>>,{code,[],[<<103,99,111,118>>]},<<44,32>>,{code,[],[<<118,97,108,103,114,105,110,100>>]},<<44,32>>,{code,[],[<<103,112,114,111,102>>]},<<44,32,97,110,100,32>>,{code,[],[<<108,99,110,116>>]},<<46,32,80,111,115,115,105,98,108,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,111,114,32,114,101,109,111,118,101,100,32,97,116,32,97,110,121,32,116,105,109,101,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,105,110,102,111>>}],[]},{code,[],[<<105,110,102,111>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,110,116,97,105,110,105,110,103,32,97,32,115,116,114,105,110,103,32,111,102,32,109,105,115,99,101,108,108,97,110,101,111,117,115,32,115,121,115,116,101,109,32,105,110,102,111,114,109,97,116,105,111,110,32,102,111,114,109,97,116,116,101,100,32,97,115,32,105,110,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,99,114,97,115,104,95,100,117,109,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<72,111,119,32,116,111,32,105,110,116,101,114,112,114,101,116,32,116,104,101,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,107,101,114,110,101,108,95,112,111,108,108>>}],[]},{code,[],[<<107,101,114,110,101,108,95,112,111,108,108>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,117,115,101,115,32,115,111,109,101,32,107,105,110,100,32,111,102,32,107,101,114,110,101,108,45,112,111,108,108,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,108,111,97,100,101,100>>}],[]},{code,[],[<<108,111,97,100,101,100>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,110,116,97,105,110,105,110,103,32,97,32,115,116,114,105,110,103,32,111,102,32,108,111,97,100,101,100,32,109,111,100,117,108,101,32,105,110,102,111,114,109,97,116,105,111,110,32,102,111,114,109,97,116,116,101,100,32,97,115,32,105,110,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,99,114,97,115,104,95,100,117,109,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<72,111,119,32,116,111,32,105,110,116,101,114,112,114,101,116,32,116,104,101,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,97,99,104,105,110,101>>}],[]},{code,[],[<<109,97,99,104,105,110,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,109,97,99,104,105,110,101,32,110,97,109,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,111,100,105,102,105,101,100,95,116,105,109,105,110,103,95,108,101,118,101,108>>}],[]},{code,[],[<<109,111,100,105,102,105,101,100,95,116,105,109,105,110,103,95,108,101,118,101,108>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,111,100,105,102,105,101,100,32,116,105,109,105,110,103,45,108,101,118,101,108,32,40,97,110,32,105,110,116,101,103,101,114,41,32,105,102,32,109,111,100,105,102,105,101,100,32,116,105,109,105,110,103,32,105,115,32,101,110,97,98,108,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,109,111,100,105,102,105,101,100,32,116,105,109,105,110,103,44,32,115,101,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,84>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,84>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]}]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,110,105,102,95,118,101,114,115,105,111,110>>}],[]},{code,[],[<<110,105,102,95,118,101,114,115,105,111,110>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,69,114,108,97,110,103,32,78,73,70,32,105,110,116,101,114,102,97,99,101,32,117,115,101,100,32,98,121,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,73,116,32,105,115,32,111,110,32,116,104,101,32,102,111,114,109,32,34,60,109,97,106,111,114,32,118,101,114,62,46,60,109,105,110,111,114,32,118,101,114,62,34,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,111,116,112,95,114,101,108,101,97,115,101>>}],[]},{code,[],[<<111,116,112,95,114,101,108,101,97,115,101>>]}]},{dd,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,111,116,112,95,114,101,108,101,97,115,101>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,79,84,80,32,114,101,108,101,97,115,101,32,110,117,109,98,101,114,32,111,102,32,116,104,101,32,79,84,80,32,114,101,108,101,97,115,101,32,116,104,97,116,32,116,104,101,32,99,117,114,114,101,110,116,108,121,32,101,120,101,99,117,116,105,110,103,32,69,82,84,83,32,97,112,112,108,105,99,97,116,105,111,110,32,105,115,32,112,97,114,116,32,111,102,46>>]},{p,[],[<<65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,49,55,44,32,116,104,101,32,79,84,80,32,114,101,108,101,97,115,101,32,110,117,109,98,101,114,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,109,97,106,111,114,32,79,84,80,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,46,32,78,111,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,41>>]},<<32,97,114,103,117,109,101,110,116,32,103,105,118,101,115,32,116,104,101,32,101,120,97,99,116,32,79,84,80,32,118,101,114,115,105,111,110,46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32,116,104,101,32,101,120,97,99,116,32,79,84,80,32,118,101,114,115,105,111,110,32,105,110,32,116,104,101,32,103,101,110,101,114,97,108,32,99,97,115,101,32,105,115,32,100,105,102,102,105,99,117,108,116,32,116,111,32,100,101,116,101,114,109,105,110,101,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,118,101,114,115,105,111,110,115,32,105,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,115,121,115,116,101,109,95,112,114,105,110,99,105,112,108,101,115,58,118,101,114,115,105,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<83,121,115,116,101,109,32,112,114,105,110,99,105,112,108,101,115>>]},<<32,105,110,32,83,121,115,116,101,109,32,68,111,99,117,109,101,110,116,97,116,105,111,110,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109>>}],[]},{code,[],[<<112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,100,101,102,97,117,108,116,32,112,111,114,116,32,112,97,114,97,108,108,101,108,105,115,109,32,115,99,104,101,100,117,108,105,110,103,32,104,105,110,116,32,117,115,101,100,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,112,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,112,112>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,121,115,116,101,109,95,97,114,99,104,105,116,101,99,116,117,114,101>>}],[]},{code,[],[<<115,121,115,116,101,109,95,97,114,99,104,105,116,101,99,116,117,114,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,112,114,111,99,101,115,115,111,114,32,97,110,100,32,79,83,32,97,114,99,104,105,116,101,99,116,117,114,101,32,116,104,101,32,101,109,117,108,97,116,111,114,32,105,115,32,98,117,105,108,116,32,102,111,114,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,121,115,116,101,109,95,108,111,103,103,101,114>>}],[]},{code,[],[<<115,121,115,116,101,109,95,108,111,103,103,101,114>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32>>,{code,[],[<<115,121,115,116,101,109,95,108,111,103,103,101,114>>]},<<32,97,115,32,115,101,116,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,115,121,115,116,101,109,95,108,111,103,103,101,114,44,32,95,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,121,115,116,101,109,95,118,101,114,115,105,111,110>>}],[]},{code,[],[<<115,121,115,116,101,109,95,118,101,114,115,105,111,110>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,32,97,110,100,32,115,111,109,101,32,105,109,112,111,114,116,97,110,116,32,112,114,111,112,101,114,116,105,101,115,44,32,115,117,99,104,32,97,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,114,97,99,101,95,99,111,110,116,114,111,108,95,119,111,114,100>>}],[]},{code,[],[<<116,114,97,99,101,95,99,111,110,116,114,111,108,95,119,111,114,100>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,110,111,100,101,32,116,114,97,99,101,32,99,111,110,116,114,111,108,32,119,111,114,100,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<103,101,116,95,116,99,119>>]},<<32,105,110,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,109,97,116,99,104,95,115,112,101,99,35,103,101,116,95,116,99,119>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<77,97,116,99,104,32,83,112,101,99,105,102,105,99,97,116,105,111,110,115,32,105,110,32,69,114,108,97,110,103>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,118,101,114,115,105,111,110>>}],[]},{code,[],[<<118,101,114,115,105,111,110>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,32,111,102,32,116,104,101,32,101,109,117,108,97,116,111,114,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,119,111,114,100,115,105,122,101>>}],[]},{code,[],[<<119,111,114,100,115,105,122,101>>]}]},{dd,[],[{p,[],[<<83,97,109,101,32,97,115,32>>,{code,[],[<<123,119,111,114,100,115,105,122,101,44,32,105,110,116,101,114,110,97,108,125>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,119,111,114,100,115,105,122,101,44,32,105,110,116,101,114,110,97,108,125>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,105,122,101,32,111,102,32,69,114,108,97,110,103,32,116,101,114,109,32,119,111,114,100,115,32,105,110,32,98,121,116,101,115,32,97,115,32,97,110,32,105,110,116,101,103,101,114,44,32,116,104,97,116,32,105,115,44,32,52,32,105,115,32,114,101,116,117,114,110,101,100,32,111,110,32,97,32,51,50,45,98,105,116,32,97,114,99,104,105,116,101,99,116,117,114,101,44,32,97,110,100,32,56,32,105,115,32,114,101,116,117,114,110,101,100,32,111,110,32,97,32,54,52,45,98,105,116,32,97,114,99,104,105,116,101,99,116,117,114,101,46>>]}]},{dt,[],[{code,[],[<<123,119,111,114,100,115,105,122,101,44,32,101,120,116,101,114,110,97,108,125>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,116,114,117,101,32,119,111,114,100,32,115,105,122,101,32,111,102,32,116,104,101,32,101,109,117,108,97,116,111,114,44,32,116,104,97,116,32,105,115,44,32,116,104,101,32,115,105,122,101,32,111,102,32,97,32,112,111,105,110,116,101,114,46,32,84,104,101,32,118,97,108,117,101,32,105,115,32,103,105,118,101,110,32,105,110,32,98,121,116,101,115,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,79,110,32,97,32,112,117,114,101,32,51,50,45,98,105,116,32,97,114,99,104,105,116,101,99,116,117,114,101,44,32,52,32,105,115,32,114,101,116,117,114,110,101,100,46,32,79,110,32,97,32,54,52,45,98,105,116,32,97,114,99,104,105,116,101,99,116,117,114,101,44,32,56,32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,55,51,48>>,signature => [{attribute,{2834,2},spec,{{erlang,system_info,1},[{type,{2854,10},'fun',[{type,{2854,10},product,[{atom,{2854,11},c_compiler_used}]},{type,{2854,31},tuple,[{type,{2854,32},atom,[]},{type,{2854,40},term,[]}]}]},{type,{2855,10},'fun',[{type,{2855,10},product,[{atom,{2855,11},check_io}]},{type,{2855,24},list,[{var,{2855,25},'_'}]}]},{type,{2856,10},'fun',[{type,{2856,10},product,[{atom,{2856,11},compat_rel}]},{type,{2856,26},integer,[]}]},{type,{2862,10},'fun',[{type,{2862,10},product,[{atom,{2862,11},debug_compiled}]},{type,{2862,30},boolean,[]}]},{type,{2871,10},'fun',[{type,{2871,10},product,[{atom,{2871,11},driver_version}]},{type,{2871,30},string,[]}]},{type,{2872,10},'fun',[{type,{2872,10},product,[{atom,{2872,11},dynamic_trace}]},{type,{2872,29},union,[{atom,{2872,29},none},{atom,{2872,36},dtrace},{atom,{2872,45},systemtap}]}]},{type,{2873,10},'fun',[{type,{2873,10},product,[{atom,{2873,11},dynamic_trace_probes}]},{type,{2873,36},boolean,[]}]},{type,{2875,10},'fun',[{type,{2875,10},product,[{atom,{2875,11},emu_flavor}]},{type,{2875,26},union,[{atom,{2875,26},emu},{atom,{2875,32},jit}]}]},{type,{2876,10},'fun',[{type,{2876,10},product,[{atom,{2876,11},emu_type}]},{type,{2876,24},union,[{atom,{2876,24},opt},{atom,{2876,30},debug},{atom,{2876,38},gcov},{atom,{2876,45},valgrind},{atom,{2876,56},gprof},{atom,{2876,64},lcnt},{atom,{2876,71},frmptr}]}]},{type,{2884,10},'fun',[{type,{2884,10},product,[{atom,{2884,11},info}]},{type,{2884,20},binary,[]}]},{type,{2885,10},'fun',[{type,{2885,10},product,[{atom,{2885,11},kernel_poll}]},{type,{2885,27},boolean,[]}]},{type,{2886,10},'fun',[{type,{2886,10},product,[{atom,{2886,11},loaded}]},{type,{2886,22},binary,[]}]},{type,{2890,10},'fun',[{type,{2890,10},product,[{atom,{2890,11},machine}]},{type,{2890,23},string,[]}]},{type,{2896,10},'fun',[{type,{2896,10},product,[{atom,{2896,11},modified_timing_level}]},{type,{2896,37},union,[{type,{2896,37},integer,[]},{atom,{2896,49},undefined}]}]},{type,{2899,10},'fun',[{type,{2899,10},product,[{atom,{2899,11},nif_version}]},{type,{2899,27},string,[]}]},{type,{2901,10},'fun',[{type,{2901,10},product,[{atom,{2901,11},otp_release}]},{type,{2901,27},string,[]}]},{type,{2904,10},'fun',[{type,{2904,10},product,[{atom,{2904,11},port_parallelism}]},{type,{2904,32},boolean,[]}]},{type,{2923,10},'fun',[{type,{2923,10},product,[{atom,{2923,11},system_architecture}]},{type,{2923,35},string,[]}]},{type,{2924,10},'fun',[{type,{2924,10},product,[{atom,{2924,11},system_logger}]},{type,{2924,29},union,[{atom,{2924,29},logger},{atom,{2924,38},undefined},{type,{2924,50},pid,[]}]}]},{type,{2925,10},'fun',[{type,{2925,10},product,[{atom,{2925,11},system_version}]},{type,{2925,30},string,[]}]},{type,{2932,10},'fun',[{type,{2932,10},product,[{atom,{2932,11},trace_control_word}]},{type,{2932,34},non_neg_integer,[]}]},{type,{2934,10},'fun',[{type,{2934,10},product,[{atom,{2934,11},version}]},{type,{2934,23},string,[]}]},{type,{2935,10},'fun',[{type,{2935,10},product,[{type,{2935,11},union,[{atom,{2935,11},wordsize},{type,{2935,22},tuple,[{atom,{2935,23},wordsize},{atom,{2935,33},internal}]},{type,{2935,45},tuple,[{atom,{2935,46},wordsize},{atom,{2935,56},external}]}]}]},{type,{2935,70},union,[{integer,{2935,70},4},{integer,{2935,74},8}]}]}]}}],since => <<79,84,80,32,49,55,46,52,44,79,84,80,32,50,49,46,51,44,79,84,80,32,50,52,46,48,44,79,84,80,32,82,49,53,66,48,49,44,79,84,80,32,82,49,54,66>>}},{{function,system_monitor,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2020}],[<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,48>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,105,110,103,32,115,101,116,116,105,110,103,115,32,115,101,116,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50>>]}]},<<32,97,115,32>>,{code,[],[<<123,77,111,110,105,116,111,114,80,105,100,44,32,79,112,116,105,111,110,115,125>>]},<<44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,110,111,32,115,101,116,116,105,110,103,115,32,101,120,105,115,116,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,111,112,116,105,111,110,115,32,99,97,110,32,98,101,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,116,104,101,32,111,110,101,32,116,104,97,116,32,119,97,115,32,115,101,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,48,51,52>>,signature => [{attribute,{2020,2},spec,{{erlang,system_monitor,0},[{type,{2020,28},bounded_fun,[{type,{2020,28},'fun',[{type,{2020,28},product,[]},{var,{2020,34},'MonSettings'}]},[{type,{2021,7},constraint,[{atom,{2021,7},is_subtype},[{var,{2021,7},'MonSettings'},{type,{2021,22},union,[{atom,{2021,22},undefined},{type,{2021,34},tuple,[{var,{2021,36},'MonitorPid'},{var,{2021,48},'Options'}]}]}]]},{type,{2022,7},constraint,[{atom,{2022,7},is_subtype},[{var,{2022,7},'MonitorPid'},{type,{2022,21},pid,[]}]]},{type,{2023,7},constraint,[{atom,{2023,7},is_subtype},[{var,{2023,7},'Options'},{type,{2023,18},list,[{user_type,{2023,20},system_monitor_option,[]}]}]]}]]}]}}]}},{{function,system_monitor,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2028}],[<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,49>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<87,104,101,110,32,99,97,108,108,101,100,32,119,105,116,104,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<44,32,97,108,108,32,115,121,115,116,101,109,32,112,101,114,102,111,114,109,97,110,99,101,32,109,111,110,105,116,111,114,105,110,103,32,115,101,116,116,105,110,103,115,32,97,114,101,32,99,108,101,97,114,101,100,46>>]},{p,[],[<<67,97,108,108,105,110,103,32,116,104,101,32,102,117,110,99,116,105,111,110,32,119,105,116,104,32>>,{code,[],[<<123,77,111,110,105,116,111,114,80,105,100,44,32,79,112,116,105,111,110,115,125>>]},<<32,97,115,32,97,114,103,117,109,101,110,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,80,105,100,44,32,79,112,116,105,111,110,115,41>>]}]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,101,118,105,111,117,115,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,32,115,101,116,116,105,110,103,115,32,106,117,115,116,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,48>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,48,52,56>>,signature => [{attribute,{2028,2},spec,{{erlang,system_monitor,1},[{type,{2028,28},bounded_fun,[{type,{2028,28},'fun',[{type,{2028,28},product,[{var,{2028,29},'Arg'}]},{var,{2028,37},'MonSettings'}]},[{type,{2029,7},constraint,[{atom,{2029,7},is_subtype},[{var,{2029,7},'Arg'},{type,{2029,14},union,[{atom,{2029,14},undefined},{type,{2029,26},tuple,[{var,{2029,28},'MonitorPid'},{var,{2029,40},'Options'}]}]}]]},{type,{2030,7},constraint,[{atom,{2030,7},is_subtype},[{var,{2030,7},'MonSettings'},{type,{2030,22},union,[{atom,{2030,22},undefined},{type,{2030,34},tuple,[{var,{2030,36},'MonitorPid'},{var,{2030,48},'Options'}]}]}]]},{type,{2031,7},constraint,[{atom,{2031,7},is_subtype},[{var,{2031,7},'MonitorPid'},{type,{2031,21},pid,[]}]]},{type,{2032,7},constraint,[{atom,{2032,7},is_subtype},[{var,{2032,7},'Options'},{type,{2032,18},list,[{user_type,{2032,20},system_monitor_option,[]}]}]]}]]}]}}]}},{{function,system_monitor,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2037}],[<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<83,101,116,115,32,116,104,101,32,115,121,115,116,101,109,32,112,101,114,102,111,114,109,97,110,99,101,32,109,111,110,105,116,111,114,105,110,103,32,111,112,116,105,111,110,115,46,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<32,105,115,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,114,101,99,101,105,118,105,110,103,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,115,46,32,84,104,101,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,105,115,32,97,32,108,105,115,116,32,111,102,32,109,111,110,105,116,111,114,105,110,103,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,108,111,110,103,95,103,99,44,32,84,105,109,101,125>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,116,97,107,101,115,32,97,116,32,108,101,97,115,116,32>>,{code,[],[<<84,105,109,101>>]},<<32,119,97,108,108,32,99,108,111,99,107,32,109,105,108,108,105,115,101,99,111,110,100,115,44,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,109,111,110,105,116,111,114,44,32,71,99,80,105,100,44,32,108,111,110,103,95,103,99,44,32,73,110,102,111,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<46,32>>,{code,[],[<<71,99,80,105,100>>]},<<32,105,115,32,116,104,101,32,112,105,100,32,116,104,97,116,32,119,97,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,119,111,45,101,108,101,109,101,110,116,32,116,117,112,108,101,115,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46>>]},{p,[],[<<79,110,101,32,111,102,32,116,104,101,32,116,117,112,108,101,115,32,105,115,32>>,{code,[],[<<123,116,105,109,101,111,117,116,44,32,71,99,84,105,109,101,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<71,99,84,105,109,101>>]},<<32,105,115,32,116,104,101,32,116,105,109,101,32,102,111,114,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,110,32,109,105,108,108,105,115,101,99,111,110,100,115,46,32,84,104,101,32,111,116,104,101,114,32,116,117,112,108,101,115,32,97,114,101,32,116,97,103,103,101,100,32,119,105,116,104,32>>,{code,[],[<<104,101,97,112,95,115,105,122,101>>]},<<44,32>>,{code,[],[<<104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]},<<44,32>>,{code,[],[<<115,116,97,99,107,95,115,105,122,101>>]},<<44,32>>,{code,[],[<<109,98,117,102,95,115,105,122,101>>]},<<44,32>>,{code,[],[<<111,108,100,95,104,101,97,112,95,115,105,122,101>>]},<<44,32,97,110,100,32>>,{code,[],[<<111,108,100,95,104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]},<<46,32,84,104,101,115,101,32,116,117,112,108,101,115,32,97,114,101,32,101,120,112,108,97,105,110,101,100,32,105,110,32,116,104,101,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,103,99,95,109,105,110,111,114,95,115,116,97,114,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>]}]},<<32,40,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<41,46,32,78,101,119,32,116,117,112,108,101,115,32,99,97,110,32,98,101,32,97,100,100,101,100,44,32,97,110,100,32,116,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,116,117,112,108,101,115,32,105,110,32,116,104,101,32>>,{code,[],[<<73,110,102,111>>]},<<32,108,105,115,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,97,116,32,97,110,121,32,116,105,109,101,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]},{dt,[],[{code,[],[<<123,108,111,110,103,95,115,99,104,101,100,117,108,101,44,32,84,105,109,101,125>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,114,117,110,115,32,117,110,105,110,116,101,114,114,117,112,116,101,100,32,102,111,114,32,97,116,32,108,101,97,115,116,32>>,{code,[],[<<84,105,109,101>>]},<<32,119,97,108,108,32,99,108,111,99,107,32,109,105,108,108,105,115,101,99,111,110,100,115,44,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,109,111,110,105,116,111,114,44,32,80,105,100,79,114,80,111,114,116,44,32,108,111,110,103,95,115,99,104,101,100,117,108,101,44,32,73,110,102,111,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<46,32>>,{code,[],[<<80,105,100,79,114,80,111,114,116>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,116,104,97,116,32,119,97,115,32,114,117,110,110,105,110,103,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,119,111,45,101,108,101,109,101,110,116,32,116,117,112,108,101,115,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,101,118,101,110,116,46>>]},{p,[],[<<73,102,32,97,32>>,{code,[],[<<112,105,100,40,41>>]},<<44,32,116,104,101,32,116,117,112,108,101,115,32>>,{code,[],[<<123,116,105,109,101,111,117,116,44,32,77,105,108,108,105,115,125>>]},<<44,32>>,{code,[],[<<123,105,110,44,32,76,111,99,97,116,105,111,110,125>>]},<<44,32,97,110,100,32>>,{code,[],[<<123,111,117,116,44,32,76,111,99,97,116,105,111,110,125>>]},<<32,97,114,101,32,112,114,101,115,101,110,116,44,32,119,104,101,114,101,32>>,{code,[],[<<76,111,99,97,116,105,111,110>>]},<<32,105,115,32,101,105,116,104,101,114,32,97,110,32,77,70,65,32,40>>,{code,[],[<<123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,125>>]},<<41,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,102,117,110,99,116,105,111,110,32,119,104,101,114,101,32,116,104,101,32,112,114,111,99,101,115,115,32,119,97,115,32,115,99,104,101,100,117,108,101,100,32,105,110,47,111,117,116,44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<73,102,32,97,32>>,{code,[],[<<112,111,114,116,40,41>>]},<<44,32,116,104,101,32,116,117,112,108,101,115,32>>,{code,[],[<<123,116,105,109,101,111,117,116,44,32,77,105,108,108,105,115,125>>]},<<32,97,110,100,32>>,{code,[],[<<123,112,111,114,116,95,111,112,44,79,112,125>>]},<<32,97,114,101,32,112,114,101,115,101,110,116,46,32>>,{code,[],[<<79,112>>]},<<32,105,115,32,111,110,101,32,111,102,32>>,{code,[],[<<112,114,111,99,95,115,105,103>>]},<<44,32>>,{code,[],[<<116,105,109,101,111,117,116>>]},<<44,32>>,{code,[],[<<105,110,112,117,116>>]},<<44,32>>,{code,[],[<<111,117,116,112,117,116>>]},<<44,32>>,{code,[],[<<101,118,101,110,116>>]},<<44,32,111,114,32>>,{code,[],[<<100,105,115,116,95,99,109,100>>]},<<44,32,100,101,112,101,110,100,105,110,103,32,111,110,32,119,104,105,99,104,32,100,114,105,118,101,114,32,99,97,108,108,98,97,99,107,32,119,97,115,32,101,120,101,99,117,116,105,110,103,46>>]},{p,[],[{code,[],[<<112,114,111,99,95,115,105,103>>]},<<32,105,115,32,97,110,32,105,110,116,101,114,110,97,108,32,111,112,101,114,97,116,105,111,110,32,97,110,100,32,105,115,32,110,101,118,101,114,32,116,111,32,97,112,112,101,97,114,44,32,119,104,105,108,101,32,116,104,101,32,111,116,104,101,114,115,32,114,101,112,114,101,115,101,110,116,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,100,114,105,118,101,114,32,99,97,108,108,98,97,99,107,115,32>>,{code,[],[<<116,105,109,101,111,117,116>>]},<<44,32>>,{code,[],[<<114,101,97,100,121,95,105,110,112,117,116>>]},<<44,32>>,{code,[],[<<114,101,97,100,121,95,111,117,116,112,117,116>>]},<<44,32>>,{code,[],[<<101,118,101,110,116>>]},<<44,32,97,110,100,32>>,{code,[],[<<111,117,116,112,117,116,118>>]},<<32,40,119,104,101,110,32,116,104,101,32,112,111,114,116,32,105,115,32,117,115,101,100,32,98,121,32,100,105,115,116,114,105,98,117,116,105,111,110,41,46,32,86,97,108,117,101,32>>,{code,[],[<<77,105,108,108,105,115>>]},<<32,105,110,32,116,117,112,108,101,32>>,{code,[],[<<116,105,109,101,111,117,116>>]},<<32,105,110,102,111,114,109,115,32,97,98,111,117,116,32,116,104,101,32,117,110,105,110,116,101,114,114,117,112,116,101,100,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,44,32,119,104,105,99,104,32,97,108,119,97,121,115,32,105,115,32,101,113,117,97,108,32,116,111,32,111,114,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32>>,{code,[],[<<84,105,109,101>>]},<<32,118,97,108,117,101,32,115,117,112,112,108,105,101,100,32,119,104,101,110,32,115,116,97,114,116,105,110,103,32,116,104,101,32,116,114,97,99,101,46,32,78,101,119,32,116,117,112,108,101,115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,116,111,32,116,104,101,32>>,{code,[],[<<73,110,102,111>>]},<<32,108,105,115,116,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,116,117,112,108,101,115,32,105,110,32,116,104,101,32,108,105,115,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,97,116,32,97,110,121,32,116,105,109,101,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]},{p,[],[<<84,104,105,115,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,100,101,116,101,99,116,32,112,114,111,98,108,101,109,115,32,119,105,116,104,32,78,73,70,115,32,111,114,32,100,114,105,118,101,114,115,32,116,104,97,116,32,116,97,107,101,32,116,111,111,32,108,111,110,103,32,116,111,32,101,120,101,99,117,116,101,46,32,49,32,109,115,32,105,115,32,99,111,110,115,105,100,101,114,101,100,32,97,32,103,111,111,100,32,109,97,120,105,109,117,109,32,116,105,109,101,32,102,111,114,32,97,32,100,114,105,118,101,114,32,99,97,108,108,98,97,99,107,32,111,114,32,97,32,78,73,70,46,32,72,111,119,101,118,101,114,44,32,97,32,116,105,109,101,45,115,104,97,114,105,110,103,32,115,121,115,116,101,109,32,105,115,32,117,115,117,97,108,108,121,32,116,111,32,99,111,110,115,105,100,101,114,32,101,118,101,114,121,116,104,105,110,103,32,60,32,49,48,48,32,109,115,32,97,115,32,34,112,111,115,115,105,98,108,101,34,32,97,110,100,32,102,97,105,114,108,121,32,34,110,111,114,109,97,108,34,46,32,72,111,119,101,118,101,114,44,32,108,111,110,103,101,114,32,115,99,104,101,100,117,108,101,32,116,105,109,101,115,32,99,97,110,32,105,110,100,105,99,97,116,101,32,115,119,97,112,112,105,110,103,32,111,114,32,97,32,109,105,115,98,101,104,97,118,105,110,103,32,78,73,70,47,100,114,105,118,101,114,46,32,77,105,115,98,101,104,97,118,105,110,103,32,78,73,70,115,32,97,110,100,32,100,114,105,118,101,114,115,32,99,97,110,32,99,97,117,115,101,32,98,97,100,32,114,101,115,111,117,114,99,101,32,117,116,105,108,105,122,97,116,105,111,110,32,97,110,100,32,98,97,100,32,111,118,101,114,97,108,108,32,115,121,115,116,101,109,32,112,101,114,102,111,114,109,97,110,99,101,46>>]}]},{dt,[],[{code,[],[<<123,108,97,114,103,101,95,104,101,97,112,44,32,83,105,122,101,125>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,114,101,115,117,108,116,115,32,105,110,32,116,104,101,32,97,108,108,111,99,97,116,101,100,32,115,105,122,101,32,111,102,32,97,32,104,101,97,112,32,98,101,105,110,103,32,97,116,32,108,101,97,115,116,32>>,{code,[],[<<83,105,122,101>>]},<<32,119,111,114,100,115,44,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,109,111,110,105,116,111,114,44,32,71,99,80,105,100,44,32,108,97,114,103,101,95,104,101,97,112,44,32,73,110,102,111,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<46,32>>,{code,[],[<<71,99,80,105,100>>]},<<32,97,110,100,32>>,{code,[],[<<73,110,102,111>>]},<<32,97,114,101,32,116,104,101,32,115,97,109,101,32,97,115,32,102,111,114,32>>,{code,[],[<<108,111,110,103,95,103,99>>]},<<32,101,97,114,108,105,101,114,44,32,101,120,99,101,112,116,32,116,104,97,116,32,116,104,101,32,116,117,112,108,101,32,116,97,103,103,101,100,32,119,105,116,104,32>>,{code,[],[<<116,105,109,101,111,117,116>>]},<<32,105,115,32,110,111,116,32,112,114,101,115,101,110,116,46>>]},{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,105,102,32,116,104,101,32,115,117,109,32,111,102,32,116,104,101,32,115,105,122,101,115,32,111,102,32,97,108,108,32,109,101,109,111,114,121,32,98,108,111,99,107,115,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,97,108,108,32,104,101,97,112,32,103,101,110,101,114,97,116,105,111,110,115,32,97,102,116,101,114,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,111,114,32,104,105,103,104,101,114,32,116,104,97,110,32>>,{code,[],[<<83,105,122,101>>]},<<46>>]},{p,[],[<<87,104,101,110,32,97,32,112,114,111,99,101,115,115,32,105,115,32,107,105,108,108,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]}]},<<44,32,105,116,32,105,115,32,107,105,108,108,101,100,32,98,101,102,111,114,101,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,99,111,109,112,108,101,116,101,32,97,110,100,32,116,104,117,115,32,110,111,32,108,97,114,103,101,32,104,101,97,112,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,46>>]}]},{dt,[],[{code,[],[<<98,117,115,121,95,112,111,114,116>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,112,114,111,99,101,115,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,103,101,116,115,32,115,117,115,112,101,110,100,101,100,32,98,101,99,97,117,115,101,32,105,116,32,115,101,110,100,115,32,116,111,32,97,32,98,117,115,121,32,112,111,114,116,44,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,109,111,110,105,116,111,114,44,32,83,117,115,80,105,100,44,32,98,117,115,121,95,112,111,114,116,44,32,80,111,114,116,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<46,32>>,{code,[],[<<83,117,115,80,105,100>>]},<<32,105,115,32,116,104,101,32,112,105,100,32,116,104,97,116,32,103,111,116,32,115,117,115,112,101,110,100,101,100,32,119,104,101,110,32,115,101,110,100,105,110,103,32,116,111,32>>,{code,[],[<<80,111,114,116>>]},<<46>>]}]},{dt,[],[{code,[],[<<98,117,115,121,95,100,105,115,116,95,112,111,114,116>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,112,114,111,99,101,115,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,103,101,116,115,32,115,117,115,112,101,110,100,101,100,32,98,101,99,97,117,115,101,32,105,116,32,115,101,110,100,115,32,116,111,32,97,32,112,114,111,99,101,115,115,32,111,110,32,97,32,114,101,109,111,116,101,32,110,111,100,101,32,119,104,111,115,101,32,105,110,116,101,114,45,110,111,100,101,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,119,97,115,32,104,97,110,100,108,101,100,32,98,121,32,97,32,98,117,115,121,32,112,111,114,116,44,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,109,111,110,105,116,111,114,44,32,83,117,115,80,105,100,44,32,98,117,115,121,95,100,105,115,116,95,112,111,114,116,44,32,80,111,114,116,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<46,32>>,{code,[],[<<83,117,115,80,105,100>>]},<<32,105,115,32,116,104,101,32,112,105,100,32,116,104,97,116,32,103,111,116,32,115,117,115,112,101,110,100,101,100,32,119,104,101,110,32,115,101,110,100,105,110,103,32,116,104,114,111,117,103,104,32,116,104,101,32,105,110,116,101,114,45,110,111,100,101,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,112,111,114,116,32>>,{code,[],[<<80,111,114,116>>]},<<46>>]}]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,101,118,105,111,117,115,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,32,115,101,116,116,105,110,103,115,32,106,117,115,116,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,48>>]}]},<<46>>]},{p,[],[<<84,104,101,32,97,114,103,117,109,101,110,116,115,32,116,111,32>>,{code,[],[<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50>>]},<<32,115,112,101,99,105,102,105,101,115,32,104,111,119,32,97,108,108,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,105,110,103,32,111,110,32,116,104,101,32,110,111,100,101,32,115,104,111,117,108,100,32,98,101,32,100,111,110,101,44,32,110,111,116,32,104,111,119,32,105,116,32,115,104,111,117,108,100,32,98,101,32,99,104,97,110,103,101,100,46,32,84,104,105,115,32,109,101,97,110,115,32,111,110,108,121,32,111,110,101,32,112,114,111,99,101,115,115,32,97,116,32,97,32,116,105,109,101,32,40>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<41,32,99,97,110,32,98,101,32,116,104,101,32,114,101,99,101,105,118,101,114,32,111,102,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,115,46,32,65,108,115,111,44,32,116,104,101,32,119,97,121,32,116,111,32,99,108,101,97,114,32,97,32,115,112,101,99,105,102,105,99,32,109,111,110,105,116,111,114,32,111,112,116,105,111,110,32,105,115,32,116,111,32,110,111,116,32,105,110,99,108,117,100,101,32,105,116,32,105,110,32,116,104,101,32,108,105,115,116,32>>,{code,[],[<<79,112,116,105,111,110,115>>]},<<46,32,65,108,108,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,105,110,103,32,119,105,108,108,44,32,104,111,119,101,118,101,114,44,32,98,101,32,99,108,101,97,114,101,100,32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<32,116,101,114,109,105,110,97,116,101,115,46>>]},{p,[],[<<84,104,101,114,101,32,97,114,101,32,110,111,32,115,112,101,99,105,97,108,32,111,112,116,105,111,110,32,118,97,108,117,101,115,32,40,108,105,107,101,32,122,101,114,111,41,32,116,111,32,99,108,101,97,114,32,97,110,32,111,112,116,105,111,110,46,32,83,111,109,101,32,111,102,32,116,104,101,32,111,112,116,105,111,110,115,32,104,97,118,101,32,97,32,117,110,115,112,101,99,105,102,105,101,100,32,109,105,110,105,109,117,109,32,118,97,108,117,101,46,32,76,111,119,101,114,32,118,97,108,117,101,115,32,119,105,108,108,32,98,101,32,97,100,106,117,115,116,101,100,32,116,111,32,116,104,101,32,109,105,110,105,109,117,109,32,118,97,108,117,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,116,32,105,115,32,99,117,114,114,101,110,116,108,121,32,110,111,116,32,112,111,115,115,105,98,108,101,32,116,111,32,109,111,110,105,116,111,114,32,97,108,108,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32>>,{code,[],[<<123,108,111,110,103,95,103,99,44,32,48,125>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,102,32,97,32,109,111,110,105,116,111,114,105,110,103,32,112,114,111,99,101,115,115,32,103,101,116,115,32,115,111,32,108,97,114,103,101,32,116,104,97,116,32,105,116,32,105,116,115,101,108,102,32,115,116,97,114,116,115,32,116,111,32,99,97,117,115,101,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,115,32,119,104,101,110,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,110,103,44,32,116,104,101,32,109,101,115,115,97,103,101,115,32,101,110,108,97,114,103,101,32,116,104,101,32,112,114,111,99,101,115,115,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,97,110,100,32,112,114,111,98,97,98,108,121,32,109,97,107,101,32,116,104,101,32,112,114,111,98,108,101,109,32,119,111,114,115,101,46>>]},{p,[],[<<75,101,101,112,32,116,104,101,32,109,111,110,105,116,111,114,105,110,103,32,112,114,111,99,101,115,115,32,110,101,97,116,32,97,110,100,32,100,111,32,110,111,116,32,115,101,116,32,116,104,101,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,32,108,105,109,105,116,115,32,116,111,111,32,116,105,103,104,116,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,48,54,54>>,signature => [{attribute,{2037,2},spec,{{erlang,system_monitor,2},[{type,{2037,28},bounded_fun,[{type,{2037,28},'fun',[{type,{2037,28},product,[{var,{2037,29},'MonitorPid'},{var,{2037,41},'Options'}]},{var,{2037,53},'MonSettings'}]},[{type,{2038,7},constraint,[{atom,{2038,7},is_subtype},[{var,{2038,7},'MonitorPid'},{type,{2038,21},pid,[]}]]},{type,{2039,7},constraint,[{atom,{2039,7},is_subtype},[{var,{2039,7},'Options'},{type,{2039,18},list,[{user_type,{2039,20},system_monitor_option,[]}]}]]},{type,{2040,7},constraint,[{atom,{2040,7},is_subtype},[{var,{2040,7},'MonSettings'},{type,{2040,22},union,[{atom,{2040,22},undefined},{type,{2040,34},tuple,[{var,{2040,36},'OldMonitorPid'},{var,{2040,51},'OldOptions'}]}]}]]},{type,{2041,7},constraint,[{atom,{2041,7},is_subtype},[{var,{2041,7},'OldMonitorPid'},{type,{2041,24},pid,[]}]]},{type,{2042,7},constraint,[{atom,{2042,7},is_subtype},[{var,{2042,7},'OldOptions'},{type,{2042,21},list,[{user_type,{2042,23},system_monitor_option,[]}]}]]}]]}]}}]}},{{function,system_profile,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2047}],[<<115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,48>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<115,121,115,116,101,109,95,112,114,111,102,105,108,101,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,112,114,111,102,105,108,105,110,103,32,115,101,116,116,105,110,103,115,32,115,101,116,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,50>>]}]},<<32,97,115,32>>,{code,[],[<<123,80,114,111,102,105,108,101,114,80,105,100,44,32,79,112,116,105,111,110,115,125>>]},<<44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,114,101,32,97,114,101,32,110,111,32,115,101,116,116,105,110,103,115,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,111,112,116,105,111,110,115,32,99,97,110,32,98,101,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,116,104,101,32,111,110,101,32,116,104,97,116,32,119,97,115,32,115,101,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,50,49,48>>,signature => [{attribute,{2047,2},spec,{{erlang,system_profile,0},[{type,{2047,28},bounded_fun,[{type,{2047,28},'fun',[{type,{2047,28},product,[]},{var,{2047,34},'ProfilerSettings'}]},[{type,{2048,7},constraint,[{atom,{2048,7},is_subtype},[{var,{2048,7},'ProfilerSettings'},{type,{2048,27},union,[{atom,{2048,27},undefined},{type,{2048,39},tuple,[{var,{2048,41},'ProfilerPid'},{var,{2048,54},'Options'}]}]}]]},{type,{2049,7},constraint,[{atom,{2049,7},is_subtype},[{var,{2049,7},'ProfilerPid'},{type,{2049,22},union,[{type,{2049,22},pid,[]},{type,{2049,30},port,[]}]}]]},{type,{2050,7},constraint,[{atom,{2050,7},is_subtype},[{var,{2050,7},'Options'},{type,{2050,18},list,[{user_type,{2050,20},system_profile_option,[]}]}]]}]]}]}}]}},{{function,system_profile,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2055}],[<<115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<115,121,115,116,101,109,95,112,114,111,102,105,108,101,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<83,101,116,115,32,115,121,115,116,101,109,32,112,114,111,102,105,108,101,114,32,111,112,116,105,111,110,115,46,32>>,{code,[],[<<80,114,111,102,105,108,101,114,80,105,100>>]},<<32,105,115,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,114,32,112,111,114,116,32,114,101,99,101,105,118,105,110,103,32,112,114,111,102,105,108,105,110,103,32,109,101,115,115,97,103,101,115,46,32,84,104,101,32,114,101,99,101,105,118,101,114,32,105,115,32,101,120,99,108,117,100,101,100,32,102,114,111,109,32,97,108,108,32,112,114,111,102,105,108,105,110,103,46,32,84,104,101,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,105,115,32,97,32,108,105,115,116,32,111,102,32,112,114,111,102,105,108,105,110,103,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,120,99,108,117,115,105,118,101>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,115,121,110,99,104,114,111,110,111,117,115,32,99,97,108,108,32,116,111,32,97,32,112,111,114,116,32,102,114,111,109,32,97,32,112,114,111,99,101,115,115,32,105,115,32,100,111,110,101,44,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,99,111,110,115,105,100,101,114,101,100,32,110,111,116,32,114,117,110,110,97,98,108,101,32,100,117,114,105,110,103,32,116,104,101,32,99,97,108,108,32,114,117,110,116,105,109,101,32,116,111,32,116,104,101,32,112,111,114,116,46,32,84,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,105,102,105,101,100,32,97,115,32>>,{code,[],[<<105,110,97,99,116,105,118,101>>]},<<44,32,97,110,100,32,108,97,116,101,114,32>>,{code,[],[<<97,99,116,105,118,101>>]},<<32,119,104,101,110,32,116,104,101,32,112,111,114,116,32,99,97,108,108,98,97,99,107,32,114,101,116,117,114,110,115,46>>]}]},{dt,[],[{code,[],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]}]},{dd,[],[{p,[],[<<84,105,109,101,32,115,116,97,109,112,115,32,105,110,32,112,114,111,102,105,108,101,32,109,101,115,115,97,103,101,115,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<46,32,84,104,101,32,116,105,109,101,32,115,116,97,109,112,32,40,84,115,41,32,104,97,115,32,116,104,101,32,115,97,109,101,32,102,111,114,109,97,116,32,97,110,100,32,118,97,108,117,101,32,97,115,32,112,114,111,100,117,99,101,100,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,110,97,110,111,115,101,99,111,110,100,41>>]},<<46>>]}]},{dt,[],[{code,[],[<<114,117,110,110,97,98,108,101,95,112,114,111,99,115>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,112,114,111,99,101,115,115,32,105,115,32,112,117,116,32,105,110,116,111,32,111,114,32,114,101,109,111,118,101,100,32,102,114,111,109,32,116,104,101,32,114,117,110,32,113,117,101,117,101,44,32,97,32,109,101,115,115,97,103,101,44,32>>,{code,[],[<<123,112,114,111,102,105,108,101,44,32,80,105,100,44,32,83,116,97,116,101,44,32,77,102,97,44,32,84,115,125>>]},<<44,32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<80,114,111,102,105,108,101,114,80,105,100>>]},<<46,32,82,117,110,110,105,110,103,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,97,114,101,32,114,101,105,110,115,101,114,116,101,100,32,105,110,116,111,32,116,104,101,32,114,117,110,32,113,117,101,117,101,32,97,102,116,101,114,32,104,97,118,105,110,103,32,98,101,101,110,32,112,114,101,45,101,109,112,116,101,100,32,100,111,32,110,111,116,32,116,114,105,103,103,101,114,32,116,104,105,115,32,109,101,115,115,97,103,101,46>>]}]},{dt,[],[{code,[],[<<114,117,110,110,97,98,108,101,95,112,111,114,116,115>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,112,111,114,116,32,105,115,32,112,117,116,32,105,110,116,111,32,111,114,32,114,101,109,111,118,101,100,32,102,114,111,109,32,116,104,101,32,114,117,110,32,113,117,101,117,101,44,32,97,32,109,101,115,115,97,103,101,44,32>>,{code,[],[<<123,112,114,111,102,105,108,101,44,32,80,111,114,116,44,32,83,116,97,116,101,44,32,48,44,32,84,115,125>>]},<<44,32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<80,114,111,102,105,108,101,114,80,105,100>>]},<<46>>]}]},{dt,[],[{code,[],[<<115,99,104,101,100,117,108,101,114>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,115,99,104,101,100,117,108,101,114,32,105,115,32,112,117,116,32,116,111,32,115,108,101,101,112,32,111,114,32,97,119,111,107,101,110,44,32,97,32,109,101,115,115,97,103,101,44,32>>,{code,[],[<<123,112,114,111,102,105,108,101,44,32,115,99,104,101,100,117,108,101,114,44,32,73,100,44,32,83,116,97,116,101,44,32,78,111,83,99,104,101,100,115,44,32,84,115,125>>]},<<44,32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<80,114,111,102,105,108,101,114,80,105,100>>]},<<46>>]}]},{dt,[],[{code,[],[<<115,116,114,105,99,116,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]}]},{dd,[],[{p,[],[<<84,105,109,101,32,115,116,97,109,112,115,32,105,110,32,112,114,111,102,105,108,101,32,109,101,115,115,97,103,101,115,32,99,111,110,115,105,115,116,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,97,110,100,32,97,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,105,110,116,101,103,101,114,46,32,84,104,101,32,116,105,109,101,32,115,116,97,109,112,32,40,84,115,41,32,104,97,115,32,116,104,101,32,115,97,109,101,32,102,111,114,109,97,116,32,97,110,100,32,118,97,108,117,101,32,97,115,32,112,114,111,100,117,99,101,100,32,98,121,32>>,{code,[],[<<123,101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,110,97,110,111,115,101,99,111,110,100,41,44,32,101,114,108,97,110,103,58,117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,91,109,111,110,111,116,111,110,105,99,93,41,125>>]},<<46>>]}]},{dt,[],[{code,[],[<<116,105,109,101,115,116,97,109,112>>]}]},{dd,[],[{p,[],[<<84,105,109,101,32,115,116,97,109,112,115,32,105,110,32,112,114,111,102,105,108,101,32,109,101,115,115,97,103,101,115,32,105,110,99,108,117,100,101,32,97,32,116,105,109,101,32,115,116,97,109,112,32,40,84,115,41,32,116,104,97,116,32,104,97,115,32,116,104,101,32,115,97,109,101,32,102,111,114,109,32,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,110,111,119,40,41>>]},<<46,32,84,104,105,115,32,105,115,32,97,108,115,111,32,116,104,101,32,100,101,102,97,117,108,116,32,105,102,32,110,111,32,116,105,109,101,32,115,116,97,109,112,32,102,108,97,103,32,105,115,32,115,112,101,99,105,102,105,101,100,46,32,73,102,32>>,{code,[],[<<99,112,117,95,116,105,109,101,115,116,97,109,112>>]},<<32,104,97,115,32,98,101,101,110,32,101,110,97,98,108,101,100,32,116,104,114,111,117,103,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<44,32,116,104,105,115,32,97,108,115,111,32,101,102,102,101,99,116,115,32,116,104,101,32,116,105,109,101,32,115,116,97,109,112,32,112,114,111,100,117,99,101,100,32,105,110,32,112,114,111,102,105,108,105,110,103,32,109,101,115,115,97,103,101,115,32,119,104,101,110,32,102,108,97,103,32>>,{code,[],[<<116,105,109,101,115,116,97,109,112>>]},<<32,105,115,32,101,110,97,98,108,101,100,46>>]}]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,112,114,111,102,105,108,101>>]},<<32,98,101,104,97,118,105,111,114,32,99,97,110,32,99,104,97,110,103,101,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,50,50,53>>,signature => [{attribute,{2055,2},spec,{{erlang,system_profile,2},[{type,{2055,28},bounded_fun,[{type,{2055,28},'fun',[{type,{2055,28},product,[{var,{2055,29},'ProfilerPid'},{var,{2055,42},'Options'}]},{var,{2055,54},'ProfilerSettings'}]},[{type,{2056,7},constraint,[{atom,{2056,7},is_subtype},[{var,{2056,7},'ProfilerPid'},{type,{2056,22},union,[{type,{2056,22},pid,[]},{type,{2056,30},port,[]},{atom,{2056,39},undefined}]}]]},{type,{2057,7},constraint,[{atom,{2057,7},is_subtype},[{var,{2057,7},'Options'},{type,{2057,18},list,[{user_type,{2057,20},system_profile_option,[]}]}]]},{type,{2058,7},constraint,[{atom,{2058,7},is_subtype},[{var,{2058,7},'ProfilerSettings'},{type,{2058,27},union,[{atom,{2058,27},undefined},{type,{2058,39},tuple,[{type,{2058,41},union,[{type,{2058,41},pid,[]},{type,{2058,49},port,[]}]},{type,{2058,57},list,[{user_type,{2058,59},system_profile_option,[]}]}]}]}]]}]]}]}}]}},{{function,system_time,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1608}],[<<115,121,115,116,101,109,95,116,105,109,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,99,117,114,114,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,105,110,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,117,110,105,116>>]},<<46>>]},{p,[],[<<67,97,108,108,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,116,105,109,101,40,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,41>>]}]},{code,[],[<<32,43,32>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,105,109,101,95,111,102,102,115,101,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,105,109,101,95,111,102,102,115,101,116,40,41>>]}]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,116,105,109,101,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,97,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,116,105,109,101,32,105,110,32,116,104,101,32,103,101,110,101,114,97,108,32,99,97,115,101,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,87,97,114,112,95,77,111,100,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,105,109,101,32,119,97,114,112,32,109,111,100,101,115>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,50,57,57>>,signature => [{attribute,{1608,2},spec,{{erlang,system_time,0},[{type,{1608,25},'fun',[{type,{1608,25},product,[]},{type,{1608,31},integer,[]}]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,system_time,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1613}],[<<115,121,115,116,101,109,95,116,105,109,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,99,117,114,114,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,99,111,110,118,101,114,116,101,100,32,105,110,116,111,32,116,104,101,32>>,{code,[],[<<85,110,105,116>>]},<<32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,46>>]},{p,[],[<<67,97,108,108,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,116,105,109,101,40,85,110,105,116,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116>>]}]},{code,[],[<<40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,116,105,109,101,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,116,105,109,101,40,41>>]}]},{code,[],[<<44,32,110,97,116,105,118,101,44,32,85,110,105,116,41>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,116,105,109,101,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,97,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,116,105,109,101,32,105,110,32,116,104,101,32,103,101,110,101,114,97,108,32,99,97,115,101,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,87,97,114,112,95,77,111,100,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,105,109,101,32,119,97,114,112,32,109,111,100,101,115>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,51,50,49>>,signature => [{attribute,{1613,2},spec,{{erlang,system_time,1},[{type,{1613,25},bounded_fun,[{type,{1613,25},'fun',[{type,{1613,25},product,[{var,{1613,26},'Unit'}]},{type,{1613,35},integer,[]}]},[{type,{1614,7},constraint,[{atom,{1614,7},is_subtype},[{var,{1614,7},'Unit'},{user_type,{1614,15},time_unit,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,term_to_binary,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2733}],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,100,97,116,97,32,111,98,106,101,99,116,32,116,104,97,116,32,105,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,101,110,99,111,100,105,110,103,32>>,{code,[],[<<84,101,114,109>>]},<<32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,101,120,116,95,100,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46>>]}]},{p,[],[<<84,104,105,115,32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,32,118,97,114,105,111,117,115,32,112,117,114,112,111,115,101,115,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,119,114,105,116,105,110,103,32,97,32,116,101,114,109,32,116,111,32,97,32,102,105,108,101,32,105,110,32,97,110,32,101,102,102,105,99,105,101,110,116,32,119,97,121,44,32,111,114,32,115,101,110,100,105,110,103,32,97,110,32,69,114,108,97,110,103,32,116,101,114,109,32,116,111,32,115,111,109,101,32,116,121,112,101,32,111,102,32,99,111,109,109,117,110,105,99,97,116,105,111,110,115,32,99,104,97,110,110,101,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,100,105,115,116,114,105,98,117,116,101,100,32,69,114,108,97,110,103,46>>]},{pre,[],[{code,[],[<<62,32,66,105,110,32,61,32,116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,104,101,108,108,111,41,46,10,60,60,49,51,49,44,49,48,48,44,48,44,53,44,49,48,52,44,49,48,49,44,49,48,56,44,49,48,56,44,49,49,49,62,62,10,62,32,104,101,108,108,111,32,61,32,98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,66,105,110,41,46,10,104,101,108,108,111>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>]}]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,114,101,32,105,115,32,110,111,32,103,117,97,114,97,110,116,101,101,32,116,104,97,116,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,119,105,108,108,32,114,101,116,117,114,110,32,116,104,101,32,115,97,109,101,32,101,110,99,111,100,101,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,102,111,114,32,116,104,101,32,115,97,109,101,32,116,101,114,109,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,51,52,51>>,signature => [{attribute,{2733,2},spec,{{term_to_binary,1},[{type,{2733,21},bounded_fun,[{type,{2733,21},'fun',[{type,{2733,21},product,[{var,{2733,22},'Term'}]},{user_type,{2733,31},ext_binary,[]}]},[{type,{2734,7},constraint,[{atom,{2734,7},is_subtype},[{var,{2734,7},'Term'},{type,{2734,15},term,[]}]]}]]}]}}]}},{{function,term_to_binary,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2738}],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,100,97,116,97,32,111,98,106,101,99,116,32,116,104,97,116,32,105,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,101,110,99,111,100,105,110,103,32>>,{code,[],[<<84,101,114,109>>]},<<32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46>>]},{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<99,111,109,112,114,101,115,115,101,100>>]},<<32,105,115,32,112,114,111,118,105,100,101,100,44,32,116,104,101,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,46,32,84,104,101,32,99,111,109,112,114,101,115,115,101,100,32,102,111,114,109,97,116,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,114,101,99,111,103,110,105,122,101,100,32,98,121,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>]},<<32,97,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,55,66,46>>]},{p,[],[<<65,32,99,111,109,112,114,101,115,115,105,111,110,32,108,101,118,101,108,32,99,97,110,32,98,101,32,115,112,101,99,105,102,105,101,100,32,98,121,32,103,105,118,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<123,99,111,109,112,114,101,115,115,101,100,44,32,76,101,118,101,108,125>>]},<<46,32>>,{code,[],[<<76,101,118,101,108>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,119,105,116,104,32,114,97,110,103,101,32,48,46,46,57,44,32,119,104,101,114,101,58>>]},{ul,[],[{li,[],[{p,[],[{code,[],[<<48>>]},<<32,45,32,78,111,32,99,111,109,112,114,101,115,115,105,111,110,32,105,115,32,100,111,110,101,32,40,105,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,103,105,118,105,110,103,32,110,111,32>>,{code,[],[<<99,111,109,112,114,101,115,115,101,100>>]},<<32,111,112,116,105,111,110,41,46>>]}]},{li,[],[{p,[],[{code,[],[<<49>>]},<<32,45,32,84,97,107,101,115,32,108,101,97,115,116,32,116,105,109,101,32,98,117,116,32,109,97,121,32,110,111,116,32,99,111,109,112,114,101,115,115,32,97,115,32,119,101,108,108,32,97,115,32,116,104,101,32,104,105,103,104,101,114,32,108,101,118,101,108,115,46>>]}]},{li,[],[{p,[],[{code,[],[<<54>>]},<<32,45,32,68,101,102,97,117,108,116,32,108,101,118,101,108,32,119,104,101,110,32,111,112,116,105,111,110,32>>,{code,[],[<<99,111,109,112,114,101,115,115,101,100>>]},<<32,105,115,32,112,114,111,118,105,100,101,100,46>>]}]},{li,[],[{p,[],[{code,[],[<<57>>]},<<32,45,32,84,97,107,101,115,32,109,111,115,116,32,116,105,109,101,32,97,110,100,32,116,114,105,101,115,32,116,111,32,112,114,111,100,117,99,101,32,97,32,115,109,97,108,108,101,114,32,114,101,115,117,108,116,46,32,78,111,116,105,99,101,32,34,116,114,105,101,115,34,32,105,110,32,116,104,101,32,112,114,101,99,101,100,105,110,103,32,115,101,110,116,101,110,99,101,59,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,105,110,112,117,116,32,116,101,114,109,44,32,108,101,118,101,108,32,57,32,99,111,109,112,114,101,115,115,105,111,110,32,101,105,116,104,101,114,32,100,111,101,115,32,111,114,32,100,111,101,115,32,110,111,116,32,112,114,111,100,117,99,101,32,97,32,115,109,97,108,108,101,114,32,114,101,115,117,108,116,32,116,104,97,110,32,108,101,118,101,108,32,49,32,99,111,109,112,114,101,115,115,105,111,110,46>>]}]}]},{p,[],[<<79,112,116,105,111,110,32>>,{code,[],[<<123,109,105,110,111,114,95,118,101,114,115,105,111,110,44,32,86,101,114,115,105,111,110,125>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,99,111,110,116,114,111,108,32,115,111,109,101,32,101,110,99,111,100,105,110,103,32,100,101,116,97,105,108,115,46,32,84,104,105,115,32,111,112,116,105,111,110,32,119,97,115,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,69,114,108,97,110,103,47,79,84,80,32,82,49,49,66,45,52,46,32,84,104,101,32,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<86,101,114,115,105,111,110>>]},<<32,97,114,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<48>>]}]},{dd,[],[{p,[],[<<70,108,111,97,116,115,32,97,114,101,32,101,110,99,111,100,101,100,32,117,115,105,110,103,32,97,32,116,101,120,116,117,97,108,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,46,32,84,104,105,115,32,111,112,116,105,111,110,32,105,115,32,117,115,101,102,117,108,32,116,111,32,101,110,115,117,114,101,32,116,104,97,116,32,114,101,108,101,97,115,101,115,32,98,101,102,111,114,101,32,69,114,108,97,110,103,47,79,84,80,32,82,49,49,66,45,52,32,99,97,110,32,100,101,99,111,100,101,32,114,101,115,117,108,116,105,110,103,32,98,105,110,97,114,121,46>>]},{p,[],[<<84,104,105,115,32,118,101,114,115,105,111,110,32,101,110,99,111,100,101,32,97,116,111,109,115,32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,32,108,97,116,105,110,49,32,115,116,114,105,110,103,32,117,115,105,110,103,32,108,97,116,105,110,49,32,101,110,99,111,100,105,110,103,32,119,104,105,108,101,32,111,110,108,121,32,97,116,111,109,115,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,108,97,116,105,110,49,32,97,114,101,32,101,110,99,111,100,101,100,32,117,115,105,110,103,32,117,116,102,56,46>>]}]},{dt,[],[{code,[],[<<49>>]}]},{dd,[],[{p,[],[<<84,104,105,115,32,105,115,32,97,115,32,111,102,32,69,114,108,97,110,103,47,79,84,80,32,49,55,46,48,32,116,104,101,32>>,{em,[],[<<100,101,102,97,117,108,116>>]},<<46,32,73,116,32,102,111,114,99,101,115,32,97,110,121,32,102,108,111,97,116,115,32,105,110,32,116,104,101,32,116,101,114,109,32,116,111,32,98,101,32,101,110,99,111,100,101,100,32,105,110,32,97,32,109,111,114,101,32,115,112,97,99,101,45,101,102,102,105,99,105,101,110,116,32,97,110,100,32,101,120,97,99,116,32,119,97,121,32,40,110,97,109,101,108,121,32,105,110,32,116,104,101,32,54,52,45,98,105,116,32,73,69,69,69,32,102,111,114,109,97,116,44,32,114,97,116,104,101,114,32,116,104,97,110,32,99,111,110,118,101,114,116,101,100,32,116,111,32,97,32,116,101,120,116,117,97,108,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,41,46,32,65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,49,49,66,45,52,44,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>]},<<32,99,97,110,32,100,101,99,111,100,101,32,116,104,105,115,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,46>>]},{p,[],[<<84,104,105,115,32,118,101,114,115,105,111,110,32,101,110,99,111,100,101,32,97,116,111,109,115,32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,32,108,97,116,105,110,49,32,115,116,114,105,110,103,32,117,115,105,110,103,32,108,97,116,105,110,49,32,101,110,99,111,100,105,110,103,32,119,104,105,108,101,32,111,110,108,121,32,97,116,111,109,115,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,108,97,116,105,110,49,32,97,114,101,32,101,110,99,111,100,101,100,32,117,115,105,110,103,32,117,116,102,56,46>>]}]},{dt,[],[{code,[],[<<50>>]}]},{dd,[],[{p,[],[<<68,114,111,112,115,32,117,115,97,103,101,32,111,102,32,116,104,101,32,108,97,116,105,110,49,32,97,116,111,109,32,101,110,99,111,100,105,110,103,32,97,110,100,32,117,110,99,111,110,100,105,116,105,111,110,97,108,108,121,32,117,115,101,32,117,116,102,56,32,101,110,99,111,100,105,110,103,32,102,111,114,32,97,108,108,32,97,116,111,109,115,46,32,69,114,108,97,110,103,47,79,84,80,32,115,121,115,116,101,109,115,32,97,115,32,111,102,32,82,49,54,66,32,99,97,110,32,100,101,99,111,100,101,32,116,104,105,115,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,110,32,69,114,108,97,110,103,47,79,84,80,32,50,54,44,32,116,104,101,32,100,101,102,97,117,108,116,32>>,{code,[],[<<109,105,110,111,114,95,118,101,114,115,105,111,110>>]},<<32,105,115,32,112,108,97,110,110,101,100,32,116,111,32,99,104,97,110,103,101,32,102,114,111,109,32,49,32,116,111,32,50,46,32,83,101,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,103,101,110,101,114,97,108,95,105,110,102,111,58,117,112,99,111,109,105,110,103,95,105,110,99,111,109,112,97,116,105,98,105,108,105,116,105,101,115,35,97,116,111,109,115,95,98,101,95,117,116,102,56>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<85,112,99,111,109,105,110,103,32,80,111,116,101,110,116,105,97,108,32,73,110,99,111,109,112,97,116,105,98,105,108,105,116,105,101,115,32>>]},<<46>>]}]}]}]},{p,[],[<<79,112,116,105,111,110,32>>,{code,[],[<<100,101,116,101,114,109,105,110,105,115,116,105,99>>]},<<32,40,105,110,116,114,111,100,117,99,101,100,32,105,110,32,79,84,80,32,50,52,46,49,41,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,101,110,115,117,114,101,32,116,104,97,116,32,119,105,116,104,105,110,32,116,104,101,32,115,97,109,101,32,109,97,106,111,114,32,114,101,108,101,97,115,101,32,111,102,32,69,114,108,97,110,103,47,79,84,80,44,32,116,104,101,32,115,97,109,101,32,101,110,99,111,100,101,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32,114,101,116,117,114,110,101,100,32,102,111,114,32,116,104,101,32,115,97,109,101,32,116,101,114,109,46,32,84,104,101,114,101,32,105,115,32,115,116,105,108,108,32,110,111,32,103,117,97,114,97,110,116,101,101,32,116,104,97,116,32,116,104,101,32,101,110,99,111,100,101,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,114,101,109,97,105,110,115,32,116,104,101,32,115,97,109,101,32,98,101,116,119,101,101,110,32,109,97,106,111,114,32,114,101,108,101,97,115,101,115,32,111,102,32,69,114,108,97,110,103,47,79,84,80,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,51,55,49>>,signature => [{attribute,{2738,2},spec,{{term_to_binary,2},[{type,{2738,21},bounded_fun,[{type,{2738,21},'fun',[{type,{2738,21},product,[{var,{2738,22},'Term'},{var,{2738,28},'Options'}]},{user_type,{2738,40},ext_binary,[]}]},[{type,{2739,7},constraint,[{atom,{2739,7},is_subtype},[{var,{2739,7},'Term'},{type,{2739,15},term,[]}]]},{type,{2740,7},constraint,[{atom,{2740,7},is_subtype},[{var,{2740,7},'Options'},{type,{2740,18},list,[{type,{2740,19},union,[{atom,{2740,19},compressed},{type,{2741,10},tuple,[{atom,{2741,11},compressed},{ann_type,{2741,23},[{var,{2741,23},'Level'},{type,{2741,32},range,[{integer,{2741,32},0},{integer,{2741,35},9}]}]}]},{atom,{2742,10},deterministic},{type,{2743,10},tuple,[{atom,{2743,11},minor_version},{ann_type,{2743,26},[{var,{2743,26},'Version'},{type,{2743,37},range,[{integer,{2743,37},0},{integer,{2743,40},2}]}]}]}]}]}]]}]]}]}}]}},{{function,term_to_iovec,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2747}],[<<116,101,114,109,95,116,111,95,105,111,118,101,99,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,116,95,105,111,118,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<101,120,116,95,105,111,118,101,99,40,41>>]}]},<<46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,112,114,111,100,117,99,101,32,116,104,101,32,115,97,109,101,32,101,110,99,111,100,105,110,103,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>]}]},<<44,32,98,117,116,32,119,105,116,104,32,97,110,111,116,104,101,114,32,114,101,116,117,114,110,32,116,121,112,101,46,32,84,104,101,32,99,97,108,108,32>>,{code,[],[<<105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,116,101,114,109,95,116,111,95,105,111,118,101,99,40,84,101,114,109,41,41>>]},<<32,119,105,108,108,32,112,114,111,100,117,99,101,32,101,120,97,99,116,108,121,32,116,104,101,32,115,97,109,101,32,114,101,115,117,108,116,32,97,115,32,116,104,101,32,99,97,108,108,32>>,{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,84,101,114,109,41>>]},<<46>>]},{p,[],[{code,[],[<<116,101,114,109,95,116,111,95,105,111,118,101,99,40,41>>]},<<32,105,115,32,97,32,112,117,114,101,32,111,112,116,105,109,105,122,97,116,105,111,110,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,97,108,105,116,121,32>>,{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,41>>]},<<32,112,114,111,118,105,100,101,46,32>>,{code,[],[<<116,101,114,109,95,116,111,95,105,111,118,101,99,40,41>>]},<<32,99,97,110,32,102,111,114,32,101,120,97,109,112,108,101,32,114,101,102,101,114,32,100,105,114,101,99,116,108,121,32,116,111,32,111,102,102,32,104,101,97,112,32,98,105,110,97,114,105,101,115,32,105,110,115,116,101,97,100,32,111,102,32,99,111,112,121,105,110,103,32,116,104,101,32,98,105,110,97,114,121,32,100,97,116,97,32,105,110,116,111,32,116,104,101,32,114,101,115,117,108,116,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,52,52,56>>,signature => [{attribute,{2747,2},spec,{{term_to_iovec,1},[{type,{2747,20},bounded_fun,[{type,{2747,20},'fun',[{type,{2747,20},product,[{var,{2747,21},'Term'}]},{user_type,{2747,30},ext_iovec,[]}]},[{type,{2748,7},constraint,[{atom,{2748,7},is_subtype},[{var,{2748,7},'Term'},{type,{2748,15},term,[]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,term_to_iovec,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2752}],[<<116,101,114,109,95,116,111,95,105,111,118,101,99,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,116,95,105,111,118,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<101,120,116,95,105,111,118,101,99,40,41>>]}]},<<46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,112,114,111,100,117,99,101,32,116,104,101,32,115,97,109,101,32,101,110,99,111,100,105,110,103,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>]}]},<<44,32,98,117,116,32,119,105,116,104,32,97,110,111,116,104,101,114,32,114,101,116,117,114,110,32,116,121,112,101,46,32,84,104,101,32,99,97,108,108,32>>,{code,[],[<<105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,116,101,114,109,95,116,111,95,105,111,118,101,99,40,84,101,114,109,44,32,79,112,116,115,41,41>>]},<<32,119,105,108,108,32,112,114,111,100,117,99,101,32,101,120,97,99,116,108,121,32,116,104,101,32,115,97,109,101,32,114,101,115,117,108,116,32,97,115,32>>,{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,84,101,114,109,44,32,79,112,116,115,41>>]},<<46>>]},{p,[],[<<67,117,114,114,101,110,116,108,121,32,114,101,99,111,103,110,105,115,101,100,32,111,112,116,105,111,110,115,32,97,114,101,32,97,108,108,32,111,112,116,105,111,110,115,32,114,101,99,111,103,110,105,115,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>]}]},<<46>>]},{p,[],[{code,[],[<<116,101,114,109,95,116,111,95,105,111,118,101,99,40,41>>]},<<32,105,115,32,97,32,112,117,114,101,32,111,112,116,105,109,105,122,97,116,105,111,110,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,97,108,105,116,121,32>>,{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,41>>]},<<32,112,114,111,118,105,100,101,46,32>>,{code,[],[<<116,101,114,109,95,116,111,95,105,111,118,101,99,40,41>>]},<<32,99,97,110,32,102,111,114,32,101,120,97,109,112,108,101,32,114,101,102,101,114,32,100,105,114,101,99,116,108,121,32,116,111,32,111,102,102,32,104,101,97,112,32,98,105,110,97,114,105,101,115,32,105,110,115,116,101,97,100,32,111,102,32,99,111,112,121,105,110,103,32,116,104,101,32,98,105,110,97,114,121,32,100,97,116,97,32,105,110,116,111,32,116,104,101,32,114,101,115,117,108,116,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,52,55,51>>,signature => [{attribute,{2752,2},spec,{{term_to_iovec,2},[{type,{2752,20},bounded_fun,[{type,{2752,20},'fun',[{type,{2752,20},product,[{var,{2752,21},'Term'},{var,{2752,27},'Options'}]},{user_type,{2752,39},ext_iovec,[]}]},[{type,{2753,7},constraint,[{atom,{2753,7},is_subtype},[{var,{2753,7},'Term'},{type,{2753,15},term,[]}]]},{type,{2754,7},constraint,[{atom,{2754,7},is_subtype},[{var,{2754,7},'Options'},{type,{2754,18},list,[{type,{2754,19},union,[{atom,{2754,19},compressed},{type,{2755,10},tuple,[{atom,{2755,11},compressed},{ann_type,{2755,23},[{var,{2755,23},'Level'},{type,{2755,32},range,[{integer,{2755,32},0},{integer,{2755,35},9}]}]}]},{atom,{2756,10},deterministic},{type,{2757,10},tuple,[{atom,{2757,11},minor_version},{ann_type,{2757,26},[{var,{2757,26},'Version'},{type,{2757,37},range,[{integer,{2757,37},0},{integer,{2757,40},2}]}]}]}]}]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,throw,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2064}],[<<116,104,114,111,119,47,49>>],#{<<101,110>> => [{p,[],[<<82,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,111,102,32,99,108,97,115,115,32>>,{code,[],[<<116,104,114,111,119>>]},<<46,32,73,110,116,101,110,100,101,100,32,116,111,32,98,101,32,117,115,101,100,32,116,111,32,100,111,32,110,111,110,45,108,111,99,97,108,32,114,101,116,117,114,110,115,32,102,114,111,109,32,102,117,110,99,116,105,111,110,115,46>>]},{p,[],[<<73,102,32,101,118,97,108,117,97,116,101,100,32,119,105,116,104,105,110,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,99,97,116,99,104>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<99,97,116,99,104,32,101,120,112,114,101,115,115,105,111,110>>]},<<44,32,116,104,101,32,99,97,116,99,104,32,101,120,112,114,101,115,115,105,111,110,32,114,101,116,117,114,110,115,32,118,97,108,117,101,32>>,{code,[],[<<65,110,121>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,99,97,116,99,104,32,116,104,114,111,119,40,123,104,101,108,108,111,44,32,116,104,101,114,101,125,41,46,10,32,32,32,32,32,32,32,32,123,104,101,108,108,111,44,116,104,101,114,101,125>>]}]},{p,[],[<<73,102,32,101,118,97,108,117,97,116,101,100,32,119,105,116,104,105,110,32,97,32>>,{code,[],[<<116,114,121>>]},<<45,98,108,111,99,107,32,111,102,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,116,114,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,114,121,32,101,120,112,114,101,115,115,105,111,110>>]},<<44,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<65,110,121>>]},<<32,99,97,110,32,98,101,32,99,97,117,103,104,116,32,119,105,116,104,105,110,32,116,104,101,32,99,97,116,99,104,32,98,108,111,99,107,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<116,114,121,10,32,32,32,32,116,104,114,111,119,40,123,109,121,95,101,120,99,101,112,116,105,111,110,44,32,34,83,111,109,101,116,104,105,110,103,32,104,97,112,112,101,110,101,100,34,125,41,10,99,97,116,99,104,10,32,32,32,32,116,104,114,111,119,58,123,109,121,95,101,120,99,101,112,116,105,111,110,44,32,68,101,115,99,125,32,45,62,10,32,32,32,32,32,32,32,32,105,111,58,102,111,114,109,97,116,40,115,116,97,110,100,97,114,100,95,101,114,114,111,114,44,32,34,69,114,114,111,114,58,32,126,115,126,110,34,44,32,91,68,101,115,99,93,41,10,101,110,100>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<110,111,99,97,116,99,104>>]},<<32,105,102,32,110,111,116,32,99,97,117,103,104,116,32,98,121,32,97,110,32,101,120,99,101,112,116,105,111,110,32,104,97,110,100,108,101,114,46>>]},{p,[],[<<83,101,101,32,116,104,101,32,103,117,105,100,101,32,97,98,111,117,116,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,114,114,111,114,115,32,97,110,100,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103>>]},<<32,102,111,114,32,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,53,48,49>>,signature => [{attribute,{2064,2},spec,{{throw,1},[{type,{2064,12},bounded_fun,[{type,{2064,12},'fun',[{type,{2064,12},product,[{var,{2064,13},'Any'}]},{type,{2064,21},no_return,[]}]},[{type,{2065,7},constraint,[{atom,{2065,7},is_subtype},[{var,{2065,7},'Any'},{type,{2065,14},term,[]}]]}]]}]}}]}},{{function,time,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2070}],[<<116,105,109,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,109,101,32,97,115,32>>,{code,[],[<<123,72,111,117,114,44,32,77,105,110,117,116,101,44,32,83,101,99,111,110,100,125>>]},<<46>>]},{p,[],[<<84,104,101,32,116,105,109,101,32,122,111,110,101,32,97,110,100,32,68,97,121,108,105,103,104,116,32,83,97,118,105,110,103,32,84,105,109,101,32,99,111,114,114,101,99,116,105,111,110,32,100,101,112,101,110,100,32,111,110,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,98,97,115,101,100,32,111,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,83,121,115,116,101,109,32,84,105,109,101>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,116,105,109,101,40,41,46,10,123,57,44,52,50,44,52,52,125>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,53,50,57>>,signature => [{attribute,{2070,2},spec,{{time,0},[{type,{2070,11},bounded_fun,[{type,{2070,11},'fun',[{type,{2070,11},product,[]},{var,{2070,17},'Time'}]},[{type,{2071,7},constraint,[{atom,{2071,7},is_subtype},[{var,{2071,7},'Time'},{remote_type,{2071,15},[{atom,{2071,15},calendar},{atom,{2071,24},time},[]]}]]}]]}]}}]}},{{function,time_offset,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1668}],[<<116,105,109,101,95,111,102,102,115,101,116,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,109,101,32,111,102,102,115,101,116,32,98,101,116,119,101,101,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,105,110,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,117,110,105,116>>]},<<46,32,67,117,114,114,101,110,116,32,116,105,109,101,32,111,102,102,115,101,116,32,97,100,100,101,100,32,116,111,32,97,110,32,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,103,105,118,101,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101,46>>]},{p,[],[<<84,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,109,97,121,32,111,114,32,109,97,121,32,110,111,116,32,99,104,97,110,103,101,32,100,117,114,105,110,103,32,111,112,101,114,97,116,105,111,110,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,87,97,114,112,95,77,111,100,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,117,115,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,32,99,104,97,110,103,101,32,105,110,32,116,105,109,101,32,111,102,102,115,101,116,32,99,97,110,32,98,101,32,111,98,115,101,114,118,101,100,32,97,116,32,115,108,105,103,104,116,108,121,32,100,105,102,102,101,114,101,110,116,32,112,111,105,110,116,115,32,105,110,32,116,105,109,101,32,98,121,32,100,105,102,102,101,114,101,110,116,32,112,114,111,99,101,115,115,101,115,46>>]},{p,[],[<<73,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,115,32,105,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,77,117,108,116,105,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<109,117,108,116,105,45,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<44,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,99,104,97,110,103,101,100,32,119,104,101,110,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,100,101,116,101,99,116,115,32,116,104,97,116,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,79,83,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,104,97,115,32,99,104,97,110,103,101,100,46,32,84,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,119,105,108,108,44,32,104,111,119,101,118,101,114,44,32,110,111,116,32,100,101,116,101,99,116,32,116,104,105,115,32,105,109,109,101,100,105,97,116,101,108,121,32,119,104,101,110,32,105,116,32,111,99,99,117,114,115,46,32,65,32,116,97,115,107,32,99,104,101,99,107,105,110,103,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,115,99,104,101,100,117,108,101,100,32,116,111,32,101,120,101,99,117,116,101,32,97,116,32,108,101,97,115,116,32,111,110,99,101,32,97,32,109,105,110,117,116,101,59,32,115,111,44,32,117,110,100,101,114,32,110,111,114,109,97,108,32,111,112,101,114,97,116,105,111,110,32,116,104,105,115,32,105,115,32,116,111,32,98,101,32,100,101,116,101,99,116,101,100,32,119,105,116,104,105,110,32,97,32,109,105,110,117,116,101,44,32,98,117,116,32,100,117,114,105,110,103,32,104,101,97,118,121,32,108,111,97,100,32,105,116,32,99,97,110,32,116,97,107,101,32,108,111,110,103,101,114,32,116,105,109,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,53,52,52>>,signature => [{attribute,{1668,2},spec,{{erlang,time_offset,0},[{type,{1668,25},'fun',[{type,{1668,25},product,[]},{type,{1668,31},integer,[]}]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,time_offset,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1673}],[<<116,105,109,101,95,111,102,102,115,101,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,109,101,32,111,102,102,115,101,116,32,98,101,116,119,101,101,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,99,111,110,118,101,114,116,101,100,32,105,110,116,111,32,116,104,101,32>>,{code,[],[<<85,110,105,116>>]},<<32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,46>>]},{p,[],[<<83,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116>>]}]},{code,[],[<<40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,105,109,101,95,111,102,102,115,101,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<32>>,{code,[],[<<101,114,108,97,110,103,58,116,105,109,101,95,111,102,102,115,101,116,40,41>>]}]},{code,[],[<<44,32,110,97,116,105,118,101,44,32,85,110,105,116,41>>]},<<32,104,111,119,101,118,101,114,32,111,112,116,105,109,105,122,101,100,32,102,111,114,32,99,111,109,109,111,110,108,121,32,117,115,101,100,32>>,{code,[],[<<85,110,105,116>>]},<<115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,53,55,54>>,signature => [{attribute,{1673,2},spec,{{erlang,time_offset,1},[{type,{1673,25},bounded_fun,[{type,{1673,25},'fun',[{type,{1673,25},product,[{var,{1673,26},'Unit'}]},{type,{1673,35},integer,[]}]},[{type,{1674,7},constraint,[{atom,{1674,7},is_subtype},[{var,{1674,7},'Unit'},{user_type,{1674,15},time_unit,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,timestamp,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1679}],[<<116,105,109,101,115,116,97,109,112,47,48>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<116,105,109,101,115,116,97,109,112>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,99,117,114,114,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,111,110,32,116,104,101,32,102,111,114,109,97,116,32>>,{code,[],[<<123,77,101,103,97,83,101,99,115,44,32,83,101,99,115,44,32,77,105,99,114,111,83,101,99,115,125>>]},<<46,32,84,104,105,115,32,102,111,114,109,97,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<107,101,114,110,101,108,58,111,115,35,116,105,109,101,115,116,97,109,112,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,115,58,116,105,109,101,115,116,97,109,112,47,48>>]}]},<<32,97,110,100,32,116,104,101,32,100,101,112,114,101,99,97,116,101,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,110,111,119,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,110,111,119,47,48>>]}]},<<32,117,115,101,46,32,84,104,101,32,114,101,97,115,111,110,32,102,111,114,32,116,104,101,32,101,120,105,115,116,101,110,99,101,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,116,105,109,101,115,116,97,109,112,40,41>>]},<<32,105,115,32,112,117,114,101,108,121,32,116,111,32,115,105,109,112,108,105,102,121,32,117,115,101,32,102,111,114,32,101,120,105,115,116,105,110,103,32,99,111,100,101,32,116,104,97,116,32,97,115,115,117,109,101,115,32,116,104,105,115,32,116,105,109,101,32,115,116,97,109,112,32,102,111,114,109,97,116,46,32,67,117,114,114,101,110,116,32,69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101,32,99,97,110,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,108,121,32,98,101,32,114,101,116,114,105,101,118,101,100,32,105,110,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,111,102,32,121,111,117,114,32,99,104,111,105,99,101,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,116,105,109,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,116,105,109,101,47,49>>]}]},<<46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<101,114,108,97,110,103,58,116,105,109,101,115,116,97,109,112,40,41>>]},<<32,66,73,70,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<116,105,109,101,115,116,97,109,112,40,41,32,45,62,10,32,32,32,32,69,114,108,97,110,103,83,121,115,116,101,109,84,105,109,101,32,61,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,116,105,109,101,40,109,105,99,114,111,115,101,99,111,110,100,41,44,10,32,32,32,32,77,101,103,97,83,101,99,115,32,61,32,69,114,108,97,110,103,83,121,115,116,101,109,84,105,109,101,32,100,105,118,32,49,48,48,48,95,48,48,48,95,48,48,48,95,48,48,48,44,10,32,32,32,32,83,101,99,115,32,61,32,69,114,108,97,110,103,83,121,115,116,101,109,84,105,109,101,32,100,105,118,32,49,48,48,48,95,48,48,48,32,45,32,77,101,103,97,83,101,99,115,42,49,48,48,48,95,48,48,48,44,10,32,32,32,32,77,105,99,114,111,83,101,99,115,32,61,32,69,114,108,97,110,103,83,121,115,116,101,109,84,105,109,101,32,114,101,109,32,49,48,48,48,95,48,48,48,44,10,32,32,32,32,123,77,101,103,97,83,101,99,115,44,32,83,101,99,115,44,32,77,105,99,114,111,83,101,99,115,125,46>>]}]},{p,[],[<<73,116,44,32,104,111,119,101,118,101,114,44,32,117,115,101,115,32,97,32,110,97,116,105,118,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,98,117,105,108,100,32,103,97,114,98,97,103,101,32,111,110,32,116,104,101,32,104,101,97,112,32,97,110,100,32,119,105,116,104,32,115,108,105,103,104,116,108,121,32,98,101,116,116,101,114,32,112,101,114,102,111,114,109,97,110,99,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,116,105,109,101,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,97,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,116,105,109,101,32,105,110,32,116,104,101,32,103,101,110,101,114,97,108,32,99,97,115,101,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,87,97,114,112,95,77,111,100,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,105,109,101,32,119,97,114,112,32,109,111,100,101,115>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,53,57,53>>,signature => [{attribute,{1679,2},spec,{{erlang,timestamp,0},[{type,{1679,23},bounded_fun,[{type,{1679,23},'fun',[{type,{1679,23},product,[]},{var,{1679,29},'Timestamp'}]},[{type,{1680,7},constraint,[{atom,{1680,7},is_subtype},[{var,{1680,7},'Timestamp'},{user_type,{1680,20},timestamp,[]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,tl,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2762}],[<<116,108,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,116,97,105,108,32,111,102,32>>,{code,[],[<<76,105,115,116>>]},<<44,32,116,104,97,116,32,105,115,44,32,116,104,101,32,108,105,115,116,32,109,105,110,117,115,32,116,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,116,108,40,91,103,101,101,115,116,105,101,115,44,32,103,117,105,108,105,101,115,44,32,98,101,97,115,116,105,101,115,93,41,46,10,91,103,117,105,108,105,101,115,44,32,98,101,97,115,116,105,101,115,93>>]}]},{pre,[],[{code,[],[<<62,32,116,108,40,91,103,101,101,115,116,105,101,115,93,41,46,10,91,93>>]}]},{pre,[],[{code,[],[<<62,32,116,108,40,91,103,101,101,115,116,105,101,115,44,32,103,117,105,108,105,101,115,44,32,98,101,97,115,116,105,101,115,32,124,32,105,109,112,114,111,112,101,114,95,101,110,100,93,41,46,10,91,103,117,105,108,105,101,115,44,32,98,101,97,115,116,105,101,115,32,124,32,105,109,112,114,111,112,101,114,95,101,110,100,93>>]}]},{pre,[],[{code,[],[<<62,32,116,108,40,91,103,101,101,115,116,105,101,115,32,124,32,105,109,112,114,111,112,101,114,95,101,110,100,93,41,46,10,105,109,112,114,111,112,101,114,95,101,110,100>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<76,105,115,116>>]},<<32,105,115,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,54,51,52>>,signature => [{attribute,{2762,2},spec,{{tl,1},[{type,{2762,9},bounded_fun,[{type,{2762,9},'fun',[{type,{2762,9},product,[{var,{2762,10},'List'}]},{type,{2762,19},term,[]}]},[{type,{2763,7},constraint,[{atom,{2763,7},is_subtype},[{var,{2763,7},'List'},{type,{2763,15},nonempty_maybe_improper_list,[]}]]}]]}]}}]}},{{function,trace,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2076}],[<<116,114,97,99,101,47,51>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<116,114,97,99,101,95,102,108,97,103>>}],[]}]},{p,[],[<<84,117,114,110,115,32,111,110,32,40,105,102,32>>,{code,[],[<<72,111,119,32,61,61,32,116,114,117,101>>]},<<41,32,111,114,32,111,102,102,32,40,105,102,32>>,{code,[],[<<72,111,119,32,61,61,32,102,97,108,115,101>>]},<<41,32,116,104,101,32,116,114,97,99,101,32,102,108,97,103,115,32,105,110,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,114,111,99,101,115,115,101,115,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32>>,{code,[],[<<80,105,100,80,111,114,116,83,112,101,99>>]},<<46>>]},{p,[],[{code,[],[<<80,105,100,80,111,114,116,83,112,101,99>>]},<<32,105,115,32,101,105,116,104,101,114,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,102,111,114,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,44,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,97,116,111,109,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<97,108,108>>]}]},{dd,[],[<<65,108,108,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,112,111,114,116,115,32,97,110,100,32,97,108,108,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{dt,[],[{code,[],[<<112,114,111,99,101,115,115,101,115>>]}]},{dd,[],[<<65,108,108,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,97,108,108,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{dt,[],[{code,[],[<<112,111,114,116,115>>]}]},{dd,[],[<<65,108,108,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,112,111,114,116,115,32,97,110,100,32,97,108,108,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{dt,[],[{code,[],[<<101,120,105,115,116,105,110,103>>]}]},{dd,[],[<<65,108,108,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,112,111,114,116,115,46>>]},{dt,[],[{code,[],[<<101,120,105,115,116,105,110,103,95,112,114,111,99,101,115,115,101,115>>]}]},{dd,[],[<<65,108,108,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,112,114,111,99,101,115,115,101,115,46>>]},{dt,[],[{code,[],[<<101,120,105,115,116,105,110,103,95,112,111,114,116,115>>]}]},{dd,[],[<<65,108,108,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,112,111,114,116,115,46>>]},{dt,[],[{code,[],[<<110,101,119>>]}]},{dd,[],[<<65,108,108,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,112,111,114,116,115,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{dt,[],[{code,[],[<<110,101,119,95,112,114,111,99,101,115,115,101,115>>]}]},{dd,[],[<<65,108,108,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{dt,[],[{code,[],[<<110,101,119,95,112,111,114,116,115>>]}]},{dd,[],[<<65,108,108,32,112,111,114,116,115,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]}]},{p,[],[{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,99,97,110,32,99,111,110,116,97,105,110,32,97,110,121,32,110,117,109,98,101,114,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,108,97,103,115,32,40,116,104,101,32,34,109,101,115,115,97,103,101,32,116,97,103,115,34,32,114,101,102,101,114,115,32,116,111,32,116,104,101,32,108,105,115,116,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,114,97,99,101,32,109,101,115,115,97,103,101,115>>]}]},<<41,58>>]},{dl,[],[{dt,[],[{code,[],[<<97,108,108>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,97,108,108,32,116,114,97,99,101,32,102,108,97,103,115,32,101,120,99,101,112,116,32>>,{code,[],[<<116,114,97,99,101,114>>]},<<32,97,110,100,32>>,{code,[],[<<99,112,117,95,116,105,109,101,115,116,97,109,112>>]},<<44,32,119,104,105,99,104,32,97,114,101,32,105,110,32,116,104,101,105,114,32,110,97,116,117,114,101,32,100,105,102,102,101,114,101,110,116,32,116,104,97,110,32,116,104,101,32,111,116,104,101,114,115,46>>]}]},{dt,[],[{code,[],[<<115,101,110,100>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,115,101,110,100,105,110,103,32,111,102,32,109,101,115,115,97,103,101,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,101,110,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,101,110,100>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,101,110,100,95,116,111,95,110,111,110,95,101,120,105,115,116,105,110,103,95,112,114,111,99,101,115,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,101,110,100,95,116,111,95,110,111,110,95,101,120,105,115,116,105,110,103,95,112,114,111,99,101,115,115>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<39,114,101,99,101,105,118,101,39>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,114,101,99,101,105,118,105,110,103,32,111,102,32,109,101,115,115,97,103,101,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,99,101,105,118,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<39,114,101,99,101,105,118,101,39>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<99,97,108,108>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,99,101,114,116,97,105,110,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,46,32,83,112,101,99,105,102,121,32,119,104,105,99,104,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,32,116,111,32,116,114,97,99,101,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]}]},<<46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,99,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,97,108,108>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,116,117,114,110,95,102,114,111,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,101,116,117,114,110,95,102,114,111,109>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<115,105,108,101,110,116>>]}]},{dd,[],[{p,[],[<<85,115,101,100,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<99,97,108,108>>]},<<32,116,114,97,99,101,32,102,108,97,103,46,32,84,104,101,32>>,{code,[],[<<99,97,108,108>>]},<<44,32>>,{code,[],[<<114,101,116,117,114,110,95,102,114,111,109>>]},<<44,32,97,110,100,32>>,{code,[],[<<114,101,116,117,114,110,95,116,111>>]},<<32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,97,114,101,32,105,110,104,105,98,105,116,101,100,32,105,102,32,116,104,105,115,32,102,108,97,103,32,105,115,32,115,101,116,44,32,98,117,116,32,116,104,101,121,32,97,114,101,32,101,120,101,99,117,116,101,100,32,97,115,32,110,111,114,109,97,108,32,105,102,32,116,104,101,114,101,32,97,114,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,46>>]},{p,[],[<<83,105,108,101,110,116,32,109,111,100,101,32,105,115,32,105,110,104,105,98,105,116,101,100,32,98,121,32,101,120,101,99,117,116,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,40,95,44,32,102,97,108,115,101,44,32,91,115,105,108,101,110,116,124,95,93,41>>]},<<44,32,111,114,32,98,121,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,101,120,101,99,117,116,105,110,103,32,116,104,101,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<123,115,105,108,101,110,116,44,32,102,97,108,115,101,125>>]},<<46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<115,105,108,101,110,116>>]},<<32,116,114,97,99,101,32,102,108,97,103,32,102,97,99,105,108,105,116,97,116,101,115,32,115,101,116,116,105,110,103,32,117,112,32,97,32,116,114,97,99,101,32,111,110,32,109,97,110,121,32,111,114,32,101,118,101,110,32,97,108,108,32,112,114,111,99,101,115,115,101,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,46,32,84,104,101,32,116,114,97,99,101,32,99,97,110,32,116,104,101,110,32,98,101,32,97,99,116,105,118,97,116,101,100,32,97,110,100,32,100,101,97,99,116,105,118,97,116,101,100,32,117,115,105,110,103,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<123,115,105,108,101,110,116,44,66,111,111,108,125>>]},<<44,32,103,105,118,105,110,103,32,97,32,104,105,103,104,32,100,101,103,114,101,101,32,111,102,32,99,111,110,116,114,111,108,32,111,102,32,119,104,105,99,104,32,102,117,110,99,116,105,111,110,115,32,119,105,116,104,32,119,104,105,99,104,32,97,114,103,117,109,101,110,116,115,32,116,104,97,116,32,116,114,105,103,103,101,114,32,116,104,101,32,116,114,97,99,101,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,99,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,97,108,108>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,116,117,114,110,95,102,114,111,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,101,116,117,114,110,95,102,114,111,109>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,116,117,114,110,95,116,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,101,116,117,114,110,95,116,111>>]}]},<<46,32,79,114,32,114,97,116,104,101,114,44,32,116,104,101,32,97,98,115,101,110,99,101,32,111,102,46>>]}]},{dt,[],[{code,[],[<<114,101,116,117,114,110,95,116,111>>]}]},{dd,[],[{p,[],[<<85,115,101,100,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<99,97,108,108>>]},<<32,116,114,97,99,101,32,102,108,97,103,46,32,84,114,97,99,101,115,32,116,104,101,32,114,101,116,117,114,110,32,102,114,111,109,32,97,32,116,114,97,99,101,100,32,102,117,110,99,116,105,111,110,32,98,97,99,107,32,116,111,32,105,116,115,32,99,97,108,108,101,114,46,32,79,110,108,121,32,119,111,114,107,115,32,102,111,114,32,102,117,110,99,116,105,111,110,115,32,116,114,97,99,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]}]},<<46>>]},{p,[],[<<84,104,101,32,115,101,109,97,110,116,105,99,115,32,105,115,32,116,104,97,116,32,97,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,119,104,101,110,32,97,32,99,97,108,108,32,116,114,97,99,101,100,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,44,32,116,104,97,116,32,105,115,44,32,119,104,101,110,32,97,32,99,104,97,105,110,32,111,102,32,116,97,105,108,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,115,32,101,110,100,115,46,32,79,110,108,121,32,111,110,101,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,112,101,114,32,99,104,97,105,110,32,111,102,32,116,97,105,108,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,115,44,32,115,111,32,116,104,101,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,116,97,105,108,32,114,101,99,117,114,115,105,118,101,110,101,115,115,32,102,111,114,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,32,97,114,101,32,107,101,112,116,32,119,104,105,108,101,32,116,114,97,99,105,110,103,32,119,105,116,104,32,116,104,105,115,32,102,108,97,103,46,32,85,115,105,110,103,32>>,{code,[],[<<99,97,108,108>>]},<<32,97,110,100,32>>,{code,[],[<<114,101,116,117,114,110,95,116,111>>]},<<32,116,114,97,99,101,32,116,111,103,101,116,104,101,114,32,109,97,107,101,115,32,105,116,32,112,111,115,115,105,98,108,101,32,116,111,32,107,110,111,119,32,101,120,97,99,116,108,121,32,105,110,32,119,104,105,99,104,32,102,117,110,99,116,105,111,110,32,97,32,112,114,111,99,101,115,115,32,101,120,101,99,117,116,101,115,32,97,116,32,97,110,121,32,116,105,109,101,46>>]},{p,[],[<<84,111,32,103,101,116,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,99,111,110,116,97,105,110,105,110,103,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,102,114,111,109,32,102,117,110,99,116,105,111,110,115,44,32,117,115,101,32,116,104,101,32>>,{code,[],[<<123,114,101,116,117,114,110,95,116,114,97,99,101,125>>]},<<32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,97,99,116,105,111,110,32,105,110,115,116,101,97,100,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,116,117,114,110,95,116,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,101,116,117,114,110,95,116,111>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<112,114,111,99,115>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,112,114,111,99,101,115,115,45,114,101,108,97,116,101,100,32,101,118,101,110,116,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,112,97,119,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,112,97,119,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,112,97,119,110,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,112,97,119,110,101,100>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,101,120,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,120,105,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,103,105,115,116,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,101,103,105,115,116,101,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,117,110,114,101,103,105,115,116,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<117,110,114,101,103,105,115,116,101,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,108,105,110,107>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<108,105,110,107>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,117,110,108,105,110,107>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<117,110,108,105,110,107>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,101,116,116,105,110,103,95,108,105,110,107,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,101,116,116,105,110,103,95,108,105,110,107,101,100>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,101,116,116,105,110,103,95,117,110,108,105,110,107,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,101,116,116,105,110,103,95,117,110,108,105,110,107,101,100>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<112,111,114,116,115>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,112,111,114,116,45,114,101,108,97,116,101,100,32,101,118,101,110,116,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,112,101,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,112,101,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,99,108,111,115,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,108,111,115,101,100>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,103,105,115,116,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,101,103,105,115,116,101,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,117,110,114,101,103,105,115,116,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<117,110,114,101,103,105,115,116,101,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,101,116,116,105,110,103,95,108,105,110,107,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,101,116,116,105,110,103,95,108,105,110,107,101,100>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,101,116,116,105,110,103,95,117,110,108,105,110,107,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,101,116,116,105,110,103,95,117,110,108,105,110,107,101,100>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<114,117,110,110,105,110,103>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,115,99,104,101,100,117,108,105,110,103,32,111,102,32,112,114,111,99,101,115,115,101,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,105,110,95,112,114,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,110>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,112,114,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,117,116>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<101,120,105,116,105,110,103>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,115,99,104,101,100,117,108,105,110,103,32,111,102,32,101,120,105,116,105,110,103,32,112,114,111,99,101,115,115,101,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,105,110,95,101,120,105,116,105,110,103,95,112,114,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,110,95,101,120,105,116,105,110,103>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,101,120,105,116,105,110,103,95,112,114,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,117,116,95,101,120,105,116,105,110,103>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,101,120,105,116,101,100,95,112,114,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,117,116,95,101,120,105,116,101,100>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<114,117,110,110,105,110,103,95,112,114,111,99,115>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,115,99,104,101,100,117,108,105,110,103,32,111,102,32,112,114,111,99,101,115,115,101,115,32,106,117,115,116,32,108,105,107,101,32>>,{code,[],[<<114,117,110,110,105,110,103>>]},<<46,32,72,111,119,101,118,101,114,44,32,116,104,105,115,32,111,112,116,105,111,110,32,97,108,115,111,32,105,110,99,108,117,100,101,115,32,115,99,104,101,100,117,108,101,32,101,118,101,110,116,115,32,119,104,101,110,32,116,104,101,32,112,114,111,99,101,115,115,32,101,120,101,99,117,116,101,115,32,119,105,116,104,105,110,32,116,104,101,32,99,111,110,116,101,120,116,32,111,102,32,97,32,112,111,114,116,32,119,105,116,104,111,117,116,32,98,101,105,110,103,32,115,99,104,101,100,117,108,101,100,32,111,117,116,32,105,116,115,101,108,102,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,105,110,95,112,114,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,110>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,112,114,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,117,116>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<114,117,110,110,105,110,103,95,112,111,114,116,115>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,115,99,104,101,100,117,108,105,110,103,32,111,102,32,112,111,114,116,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,105,110,95,112,111,114,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,110>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,112,111,114,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,117,116>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,102,32,112,114,111,99,101,115,115,101,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,105,110,111,114,95,115,116,97,114,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,99,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,105,110,111,114,95,101,110,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,99,95,109,105,110,111,114,95,101,110,100>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<116,105,109,101,115,116,97,109,112>>]}]},{dd,[],[{p,[],[<<73,110,99,108,117,100,101,115,32,97,32,116,105,109,101,32,115,116,97,109,112,32,105,110,32,97,108,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,46,32,84,104,101,32,116,105,109,101,32,115,116,97,109,112,32,40,84,115,41,32,104,97,115,32,116,104,101,32,115,97,109,101,32,102,111,114,109,32,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,110,111,119,40,41>>]},<<46>>]}]},{dt,[],[{code,[],[<<99,112,117,95,116,105,109,101,115,116,97,109,112>>]}]},{dd,[],[{p,[],[<<65,32,103,108,111,98,97,108,32,116,114,97,99,101,32,102,108,97,103,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,110,111,100,101,32,116,104,97,116,32,109,97,107,101,115,32,97,108,108,32,116,114,97,99,101,32,116,105,109,101,32,115,116,97,109,112,115,32,117,115,105,110,103,32,102,108,97,103,32>>,{code,[],[<<116,105,109,101,115,116,97,109,112>>]},<<32,116,111,32,98,101,32,105,110,32,67,80,85,32,116,105,109,101,44,32,110,111,116,32,119,97,108,108,32,99,108,111,99,107,32,116,105,109,101,46,32,84,104,97,116,32,105,115,44,32>>,{code,[],[<<99,112,117,95,116,105,109,101,115,116,97,109,112>>]},<<32,105,115,32,110,111,116,32,98,101,32,117,115,101,100,32,105,102,32>>,{code,[],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<32,111,114,32>>,{code,[],[<<115,116,114,105,99,116,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<32,105,115,32,101,110,97,98,108,101,100,46,32,79,110,108,121,32,97,108,108,111,119,101,100,32,119,105,116,104,32>>,{code,[],[<<80,105,100,80,111,114,116,83,112,101,99,61,61,97,108,108>>]},<<46,32,73,102,32,116,104,101,32,104,111,115,116,32,109,97,99,104,105,110,101,32,79,83,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,104,105,103,104,45,114,101,115,111,108,117,116,105,111,110,32,67,80,85,32,116,105,109,101,32,109,101,97,115,117,114,101,109,101,110,116,115,44,32>>,{code,[],[<<116,114,97,99,101,47,51>>]},<<32,101,120,105,116,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,109,111,115,116,32,79,83,32,100,111,32,110,111,116,32,115,121,110,99,104,114,111,110,105,122,101,32,116,104,105,115,32,118,97,108,117,101,32,97,99,114,111,115,115,32,99,111,114,101,115,44,32,115,111,32,98,101,32,112,114,101,112,97,114,101,100,32,116,104,97,116,32,116,105,109,101,32,99,97,110,32,115,101,101,109,32,116,111,32,103,111,32,98,97,99,107,119,97,114,100,115,32,119,104,101,110,32,117,115,105,110,103,32,116,104,105,115,32,111,112,116,105,111,110,46>>]}]},{dt,[],[{code,[],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]}]},{dd,[],[{p,[],[<<73,110,99,108,117,100,101,115,32,97,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,116,105,109,101,32,115,116,97,109,112,32,105,110,32,97,108,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,46,32,84,104,101,32,116,105,109,101,32,115,116,97,109,112,32,40,84,115,41,32,104,97,115,32,116,104,101,32,115,97,109,101,32,102,111,114,109,97,116,32,97,110,100,32,118,97,108,117,101,32,97,115,32,112,114,111,100,117,99,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,110,97,110,111,115,101,99,111,110,100,41>>]}]},<<46,32,84,104,105,115,32,102,108,97,103,32,111,118,101,114,114,105,100,101,115,32,102,108,97,103,32>>,{code,[],[<<99,112,117,95,116,105,109,101,115,116,97,109,112>>]},<<46>>]}]},{dt,[],[{code,[],[<<115,116,114,105,99,116,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]}]},{dd,[],[{p,[],[<<73,110,99,108,117,100,101,115,32,97,110,32,116,105,109,101,32,115,116,97,109,112,32,99,111,110,115,105,115,116,105,110,103,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,97,110,100,32,97,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,105,110,116,101,103,101,114,32,105,110,32,97,108,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,46,32,84,104,101,32,116,105,109,101,32,115,116,97,109,112,32,40,84,115,41,32,104,97,115,32,116,104,101,32,115,97,109,101,32,102,111,114,109,97,116,32,97,110,100,32,118,97,108,117,101,32,97,115,32,112,114,111,100,117,99,101,100,32,98,121,32>>,{code,[],[<<123>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,110,97,110,111,115,101,99,111,110,100,41>>]}]},{code,[],[<<44>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,117,110,105,113,117,101,95,105,110,116,101,103,101,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,91,109,111,110,111,116,111,110,105,99,93,41>>]}]},{code,[],[<<125>>]},<<46,32,84,104,105,115,32,102,108,97,103,32,111,118,101,114,114,105,100,101,115,32,102,108,97,103,32>>,{code,[],[<<99,112,117,95,116,105,109,101,115,116,97,109,112>>]},<<46>>]}]},{dt,[],[{code,[],[<<97,114,105,116,121>>]}]},{dd,[],[{p,[],[<<85,115,101,100,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<99,97,108,108>>]},<<32,116,114,97,99,101,32,102,108,97,103,46,32>>,{code,[],[<<123,77,44,32,70,44,32,65,114,105,116,121,125>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,32,105,110,115,116,101,97,100,32,111,102,32>>,{code,[],[<<123,77,44,32,70,44,32,65,114,103,115,125>>]},<<32,105,110,32,99,97,108,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,46>>]}]},{dt,[],[{code,[],[<<115,101,116,95,111,110,95,115,112,97,119,110>>]}]},{dd,[],[{p,[],[<<77,97,107,101,115,32,97,110,121,32,112,114,111,99,101,115,115,32,99,114,101,97,116,101,100,32,98,121,32,97,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,32,105,110,104,101,114,105,116,32,105,116,115,32,116,114,97,99,101,32,102,108,97,103,115,44,32,105,110,99,108,117,100,105,110,103,32,102,108,97,103,32>>,{code,[],[<<115,101,116,95,111,110,95,115,112,97,119,110>>]},<<46>>]}]},{dt,[],[{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,115,112,97,119,110>>]}]},{dd,[],[{p,[],[<<77,97,107,101,115,32,116,104,101,32,102,105,114,115,116,32,112,114,111,99,101,115,115,32,99,114,101,97,116,101,100,32,98,121,32,97,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,32,105,110,104,101,114,105,116,32,105,116,115,32,116,114,97,99,101,32,102,108,97,103,115,44,32,101,120,99,108,117,100,105,110,103,32,102,108,97,103,32>>,{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,115,112,97,119,110>>]},<<46>>]}]},{dt,[],[{code,[],[<<115,101,116,95,111,110,95,108,105,110,107>>]}]},{dd,[],[{p,[],[<<77,97,107,101,115,32,97,110,121,32,112,114,111,99,101,115,115,32,108,105,110,107,101,100,32,98,121,32,97,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,32,105,110,104,101,114,105,116,32,105,116,115,32,116,114,97,99,101,32,102,108,97,103,115,44,32,105,110,99,108,117,100,105,110,103,32,102,108,97,103,32>>,{code,[],[<<115,101,116,95,111,110,95,108,105,110,107>>]},<<46>>]}]},{dt,[],[{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,108,105,110,107>>]}]},{dd,[],[{p,[],[<<77,97,107,101,115,32,116,104,101,32,102,105,114,115,116,32,112,114,111,99,101,115,115,32,108,105,110,107,101,100,32,116,111,32,98,121,32,97,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,32,105,110,104,101,114,105,116,32,105,116,115,32,116,114,97,99,101,32,102,108,97,103,115,44,32,101,120,99,108,117,100,105,110,103,32,102,108,97,103,32>>,{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,108,105,110,107>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,116,114,97,99,101,114,44,32,84,114,97,99,101,114,125>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,119,104,101,114,101,32,116,111,32,115,101,110,100,32,116,104,101,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,46,32>>,{code,[],[<<84,114,97,99,101,114>>]},<<32,109,117,115,116,32,98,101,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,111,114,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,108,111,99,97,108,32,112,111,114,116,46>>]}]},{dt,[],[{code,[],[<<123,116,114,97,99,101,114,44,32,84,114,97,99,101,114,77,111,100,117,108,101,44,32,84,114,97,99,101,114,83,116,97,116,101,125>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,116,104,97,116,32,97,32,116,114,97,99,101,114,32,109,111,100,117,108,101,32,105,115,32,116,111,32,98,101,32,99,97,108,108,101,100,32,105,110,115,116,101,97,100,32,111,102,32,115,101,110,100,105,110,103,32,97,32,116,114,97,99,101,32,109,101,115,115,97,103,101,46,32,84,104,101,32,116,114,97,99,101,114,32,109,111,100,117,108,101,32,99,97,110,32,116,104,101,110,32,105,103,110,111,114,101,32,111,114,32,99,104,97,110,103,101,32,116,104,101,32,116,114,97,99,101,32,109,101,115,115,97,103,101,46,32,70,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,32,111,110,32,104,111,119,32,116,111,32,119,114,105,116,101,32,97,32,116,114,97,99,101,114,32,109,111,100,117,108,101,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,116,114,97,99,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,95,116,114,97,99,101,114,40,51,41>>]}]},<<46>>]}]}]},{p,[],[<<73,102,32,110,111,32>>,{code,[],[<<116,114,97,99,101,114>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,114,101,99,101,105,118,101,115,32,97,108,108,32,116,104,101,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,46>>]},{p,[],[<<84,104,101,32,101,102,102,101,99,116,32,111,102,32,99,111,109,98,105,110,105,110,103,32>>,{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,108,105,110,107>>]},<<32,119,105,116,104,32>>,{code,[],[<<115,101,116,95,111,110,95,108,105,110,107>>]},<<32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,108,105,110,107>>]},<<32,97,108,111,110,101,46,32,76,105,107,101,119,105,115,101,32,102,111,114,32>>,{code,[],[<<115,101,116,95,111,110,95,115,112,97,119,110>>]},<<32,97,110,100,32>>,{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,115,112,97,119,110>>]},<<46>>]},{p,[],[<<84,104,101,32,116,114,97,99,105,110,103,32,112,114,111,99,101,115,115,32,114,101,99,101,105,118,101,115,32,116,104,101,32>>,{em,[],[<<116,114,97,99,101,32,109,101,115,115,97,103,101,115>>]},<<32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,108,105,115,116,46,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,32,105,110,32,119,104,105,99,104,32,116,104,101,32,116,114,97,99,101,100,32,101,118,101,110,116,32,104,97,115,32,111,99,99,117,114,114,101,100,46,32,84,104,101,32,116,104,105,114,100,32,116,117,112,108,101,32,101,108,101,109,101,110,116,32,105,115,32,116,104,101,32,109,101,115,115,97,103,101,32,116,97,103,46>>]},{p,[],[<<73,102,32,102,108,97,103,32>>,{code,[],[<<116,105,109,101,115,116,97,109,112>>]},<<44,32>>,{code,[],[<<115,116,114,105,99,116,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<44,32,111,114,32>>,{code,[],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,102,105,114,115,116,32,116,117,112,108,101,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<116,114,97,99,101,95,116,115>>]},<<32,105,110,115,116,101,97,100,44,32,97,110,100,32,116,104,101,32,116,105,109,101,32,115,116,97,109,112,32,105,115,32,97,100,100,101,100,32,97,115,32,97,110,32,101,120,116,114,97,32,101,108,101,109,101,110,116,32,108,97,115,116,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,116,117,112,108,101,46,32,73,102,32,109,117,108,116,105,112,108,101,32,116,105,109,101,32,115,116,97,109,112,32,102,108,97,103,115,32,97,114,101,32,112,97,115,115,101,100,44,32>>,{code,[],[<<116,105,109,101,115,116,97,109,112>>]},<<32,104,97,115,32,112,114,101,99,101,100,101,110,99,101,32,111,118,101,114,32>>,{code,[],[<<115,116,114,105,99,116,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<44,32,119,104,105,99,104,32,105,110,32,116,117,114,110,32,104,97,115,32,112,114,101,99,101,100,101,110,99,101,32,111,118,101,114,32>>,{code,[],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<46,32,65,108,108,32,116,105,109,101,32,115,116,97,109,112,32,102,108,97,103,115,32,97,114,101,32,114,101,109,101,109,98,101,114,101,100,44,32,115,111,32,105,102,32,116,119,111,32,97,114,101,32,112,97,115,115,101,100,32,97,110,100,32,116,104,101,32,111,110,101,32,119,105,116,104,32,104,105,103,104,101,115,116,32,112,114,101,99,101,100,101,110,99,101,32,108,97,116,101,114,32,105,115,32,100,105,115,97,98,108,101,100,44,32,116,104,101,32,111,116,104,101,114,32,111,110,101,32,98,101,99,111,109,101,115,32,97,99,116,105,118,101,46>>]},{p,[],[<<73,102,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,40,97,112,112,108,105,99,97,98,108,101,32,111,110,108,121,32,102,111,114,32>>,{code,[],[<<99,97,108,108>>]},<<44,32>>,{code,[],[<<115,101,110,100>>]},<<32,97,110,100,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<32,116,114,97,99,105,110,103,41,32,99,111,110,116,97,105,110,115,32,97,32>>,{code,[],[<<123,109,101,115,115,97,103,101,125>>]},<<32,97,99,116,105,111,110,32,102,117,110,99,116,105,111,110,32,119,105,116,104,32,97,32,110,111,110,45,98,111,111,108,101,97,110,32,118,97,108,117,101,44,32,116,104,97,116,32,118,97,108,117,101,32,105,115,32,97,100,100,101,100,32,97,115,32,97,110,32,101,120,116,114,97,32,101,108,101,109,101,110,116,32,116,111,32,116,104,101,32,109,101,115,115,97,103,101,32,116,117,112,108,101,32,101,105,116,104,101,114,32,105,110,32,116,104,101,32,108,97,115,116,32,112,111,115,105,116,105,111,110,32,111,114,32,98,101,102,111,114,101,32,116,104,101,32,116,105,109,101,115,116,97,109,112,32,40,105,102,32,105,116,32,105,115,32,112,114,101,115,101,110,116,41,46>>]},{p,[],[<<84,114,97,99,101,32,109,101,115,115,97,103,101,115,58>>]},{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115>>}],[]},{dl,[],[{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,101,110,100>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,80,111,114,116,44,32,115,101,110,100,44,32,77,115,103,44,32,84,111,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100,80,111,114,116>>]},<<32,115,101,110,100,115,32,109,101,115,115,97,103,101,32>>,{code,[],[<<77,115,103>>]},<<32,116,111,32,112,114,111,99,101,115,115,32>>,{code,[],[<<84,111>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,101,110,100,95,116,111,95,110,111,110,95,101,120,105,115,116,105,110,103,95,112,114,111,99,101,115,115>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,80,111,114,116,44,32,115,101,110,100,95,116,111,95,110,111,110,95,101,120,105,115,116,105,110,103,95,112,114,111,99,101,115,115,44,32,77,115,103,44,32,84,111,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100,80,111,114,116>>]},<<32,115,101,110,100,115,32,109,101,115,115,97,103,101,32>>,{code,[],[<<77,115,103>>]},<<32,116,111,32,116,104,101,32,110,111,110,45,101,120,105,115,116,105,110,103,32,112,114,111,99,101,115,115,32>>,{code,[],[<<84,111>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,99,101,105,118,101>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,80,111,114,116,44,32,39,114,101,99,101,105,118,101,39,44,32,77,115,103,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100,80,111,114,116>>]},<<32,114,101,99,101,105,118,101,115,32,109,101,115,115,97,103,101,32>>,{code,[],[<<77,115,103>>]},<<46,32,73,102,32>>,{code,[],[<<77,115,103>>]},<<32,105,115,32,115,101,116,32,116,111,32,116,105,109,101,45,111,117,116,44,32,97,32,114,101,99,101,105,118,101,32,115,116,97,116,101,109,101,110,116,32,99,97,110,32,104,97,118,101,32,116,105,109,101,100,32,111,117,116,44,32,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,99,101,105,118,101,100,32,97,32,109,101,115,115,97,103,101,32,119,105,116,104,32,116,104,101,32,112,97,121,108,111,97,100,32>>,{code,[],[<<116,105,109,101,111,117,116>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,99,97,108,108>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,99,97,108,108,44,32,123,77,44,32,70,44,32,65,114,103,115,125,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,99,97,108,108,115,32,97,32,116,114,97,99,101,100,32,102,117,110,99,116,105,111,110,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,111,102,32,99,97,108,108,115,32,97,114,101,32,110,101,118,101,114,32,115,117,112,112,108,105,101,100,44,32,111,110,108,121,32,116,104,101,32,99,97,108,108,32,97,110,100,32,105,116,115,32,97,114,103,117,109,101,110,116,115,46>>]},{p,[],[<<84,114,97,99,101,32,102,108,97,103,32>>,{code,[],[<<97,114,105,116,121>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,99,104,97,110,103,101,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32,116,104,105,115,32,109,101,115,115,97,103,101,44,32,115,111,32,116,104,97,116,32>>,{code,[],[<<65,114,105,116,121>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,32,105,110,115,116,101,97,100,32,111,102,32>>,{code,[],[<<65,114,103,115>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,116,117,114,110,95,116,111>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,114,101,116,117,114,110,95,116,111,44,32,123,77,44,32,70,44,32,65,114,105,116,121,125,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,114,101,116,117,114,110,115,32>>,{em,[],[<<116,111>>]},<<32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,117,110,99,116,105,111,110,46,32,84,104,105,115,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,105,102,32,98,111,116,104,32,116,104,101,32,102,108,97,103,115,32>>,{code,[],[<<99,97,108,108>>]},<<32,97,110,100,32>>,{code,[],[<<114,101,116,117,114,110,95,116,111>>]},<<32,97,114,101,32,115,101,116,44,32,97,110,100,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,115,101,116,32,116,111,32,98,101,32,116,114,97,99,101,100,32,111,110,32>>,{em,[],[<<108,111,99,97,108>>]},<<32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,46,32,84,104,101,32,109,101,115,115,97,103,101,32,105,115,32,111,110,108,121,32,115,101,110,116,32,119,104,101,110,32,114,101,116,117,114,110,105,110,103,32,102,114,111,109,32,97,32,99,104,97,105,110,32,111,102,32,116,97,105,108,32,114,101,99,117,114,115,105,118,101,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,44,32,119,104,101,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,99,97,108,108,32,103,101,110,101,114,97,116,101,100,32,97,32>>,{code,[],[<<99,97,108,108>>]},<<32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,40,116,104,97,116,32,105,115,44,32,116,104,101,32,102,117,110,99,116,105,111,110,115,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,109,97,116,99,104,101,100,44,32,97,110,100,32>>,{code,[],[<<123,109,101,115,115,97,103,101,44,32,102,97,108,115,101,125>>]},<<32,119,97,115,32,110,111,116,32,97,110,32,97,99,116,105,111,110,41,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,116,117,114,110,95,102,114,111,109>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,114,101,116,117,114,110,95,102,114,111,109,44,32,123,77,44,32,70,44,32,65,114,105,116,121,125,44,32,82,101,116,117,114,110,86,97,108,117,101,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,114,101,116,117,114,110,115,32>>,{em,[],[<<102,114,111,109>>]},<<32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,117,110,99,116,105,111,110,46,32,84,104,105,115,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,105,102,32,102,108,97,103,32>>,{code,[],[<<99,97,108,108>>]},<<32,105,115,32,115,101,116,44,32,97,110,100,32,116,104,101,32,102,117,110,99,116,105,111,110,32,104,97,115,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,119,105,116,104,32,97,32>>,{code,[],[<<114,101,116,117,114,110,95,116,114,97,99,101>>]},<<32,111,114,32>>,{code,[],[<<101,120,99,101,112,116,105,111,110,95,116,114,97,99,101>>]},<<32,97,99,116,105,111,110,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,101,120,99,101,112,116,105,111,110,95,102,114,111,109>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,101,120,99,101,112,116,105,111,110,95,102,114,111,109,44,32,123,77,44,32,70,44,32,65,114,105,116,121,125,44,32,123,67,108,97,115,115,44,32,86,97,108,117,101,125,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,101,120,105,116,115,32>>,{em,[],[<<102,114,111,109>>]},<<32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,117,110,99,116,105,111,110,32,98,101,99,97,117,115,101,32,111,102,32,97,110,32,101,120,99,101,112,116,105,111,110,46,32,84,104,105,115,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,105,102,32,102,108,97,103,32>>,{code,[],[<<99,97,108,108>>]},<<32,105,115,32,115,101,116,44,32,97,110,100,32,116,104,101,32,102,117,110,99,116,105,111,110,32,104,97,115,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,119,105,116,104,32,97,110,32>>,{code,[],[<<101,120,99,101,112,116,105,111,110,95,116,114,97,99,101>>]},<<32,97,99,116,105,111,110,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,112,97,119,110>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,115,112,97,119,110,44,32,80,105,100,50,44,32,123,77,44,32,70,44,32,65,114,103,115,125,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,115,112,97,119,110,115,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100,50>>]},<<32,119,105,116,104,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,117,110,99,116,105,111,110,32,99,97,108,108,32,97,115,32,101,110,116,114,121,32,112,111,105,110,116,46>>]},{p,[],[{code,[],[<<65,114,103,115>>]},<<32,105,115,32,115,117,112,112,111,115,101,100,32,116,111,32,98,101,32,116,104,101,32,97,114,103,117,109,101,110,116,32,108,105,115,116,44,32,98,117,116,32,99,97,110,32,98,101,32,97,110,121,32,116,101,114,109,32,105,102,32,116,104,101,32,115,112,97,119,110,32,105,115,32,101,114,114,111,110,101,111,117,115,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,112,97,119,110,101,100>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,115,112,97,119,110,101,100,44,32,80,105,100,50,44,32,123,77,44,32,70,44,32,65,114,103,115,125,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,115,112,97,119,110,101,100,32,98,121,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100,50>>]},<<32,119,105,116,104,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,117,110,99,116,105,111,110,32,99,97,108,108,32,97,115,32,101,110,116,114,121,32,112,111,105,110,116,46>>]},{p,[],[{code,[],[<<65,114,103,115>>]},<<32,105,115,32,115,117,112,112,111,115,101,100,32,116,111,32,98,101,32,116,104,101,32,97,114,103,117,109,101,110,116,32,108,105,115,116,44,32,98,117,116,32,99,97,110,32,98,101,32,97,110,121,32,116,101,114,109,32,105,102,32,116,104,101,32,115,112,97,119,110,32,105,115,32,101,114,114,111,110,101,111,117,115,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,101,120,105,116>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,101,120,105,116,44,32,82,101,97,115,111,110,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,101,120,105,116,115,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,103,105,115,116,101,114>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,80,111,114,116,44,32,114,101,103,105,115,116,101,114,44,32,82,101,103,78,97,109,101,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100,80,111,114,116>>]},<<32,103,101,116,115,32,116,104,101,32,110,97,109,101,32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,114,101,103,105,115,116,101,114,101,100,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,117,110,114,101,103,105,115,116,101,114>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,80,111,114,116,44,32,117,110,114,101,103,105,115,116,101,114,44,32,82,101,103,78,97,109,101,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100,80,111,114,116>>]},<<32,103,101,116,115,32,116,104,101,32,110,97,109,101,32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,117,110,114,101,103,105,115,116,101,114,101,100,46,32,84,104,105,115,32,105,115,32,100,111,110,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,119,104,101,110,32,97,32,114,101,103,105,115,116,101,114,101,100,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,101,120,105,116,115,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,108,105,110,107>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,108,105,110,107,44,32,80,105,100,50,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,108,105,110,107,115,32,116,111,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100,50>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,117,110,108,105,110,107>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,117,110,108,105,110,107,44,32,80,105,100,50,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,114,101,109,111,118,101,115,32,116,104,101,32,108,105,110,107,32,102,114,111,109,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100,50>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,101,116,116,105,110,103,95,108,105,110,107,101,100>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,80,111,114,116,44,32,103,101,116,116,105,110,103,95,108,105,110,107,101,100,44,32,80,105,100,50,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100,80,111,114,116>>]},<<32,103,101,116,115,32,108,105,110,107,101,100,32,116,111,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100,50>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,101,116,116,105,110,103,95,117,110,108,105,110,107,101,100>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,80,111,114,116,44,32,103,101,116,116,105,110,103,95,117,110,108,105,110,107,101,100,44,32,80,105,100,50,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100,80,111,114,116>>]},<<32,103,101,116,115,32,117,110,108,105,110,107,101,100,32,102,114,111,109,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100,50>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,112,101,110>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,111,114,116,44,32,111,112,101,110,44,32,80,105,100,44,32,68,114,105,118,101,114,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,111,112,101,110,115,32,97,32,110,101,119,32,112,111,114,116,32>>,{code,[],[<<80,111,114,116>>]},<<32,119,105,116,104,32,116,104,101,32,114,117,110,110,105,110,103,32>>,{code,[],[<<68,114,105,118,101,114>>]},<<46>>]},{p,[],[{code,[],[<<68,114,105,118,101,114>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,100,114,105,118,101,114,32,97,115,32,97,110,32,97,116,111,109,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,99,108,111,115,101,100>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,111,114,116,44,32,99,108,111,115,101,100,44,32,82,101,97,115,111,110,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,111,114,116>>]},<<32,99,108,111,115,101,115,32,119,105,116,104,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,105,110,95,112,114,111,99>>}],[]},{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,105,110,95,101,120,105,116,105,110,103,95,112,114,111,99>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,105,110,32,124,32,105,110,95,101,120,105,116,105,110,103,44,32,123,77,44,32,70,44,32,65,114,105,116,121,125,32,124,32,48,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,115,99,104,101,100,117,108,101,100,32,116,111,32,114,117,110,46,32,84,104,101,32,112,114,111,99,101,115,115,32,114,117,110,115,32,105,110,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<123,77,44,32,70,44,32,65,114,105,116,121,125>>]},<<46,32,79,110,32,115,111,109,101,32,114,97,114,101,32,111,99,99,97,115,105,111,110,115,44,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,99,97,110,110,111,116,32,98,101,32,100,101,116,101,114,109,105,110,101,100,44,32,116,104,101,110,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<48>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,112,114,111,99>>}],[]},{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,101,120,105,116,105,110,103,95,112,114,111,99>>}],[]},{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,101,120,105,116,101,100,95,112,114,111,99>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,111,117,116,32,124,32,111,117,116,95,101,120,105,116,105,110,103,32,124,32,111,117,116,95,101,120,105,116,101,100,44,32,123,77,44,32,70,44,32,65,114,105,116,121,125,32,124,32,48,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,115,99,104,101,100,117,108,101,100,32,111,117,116,46,32,84,104,101,32,112,114,111,99,101,115,115,32,119,97,115,32,114,117,110,110,105,110,103,32,105,110,32,102,117,110,99,116,105,111,110,32,123,77,44,32,70,44,32,65,114,105,116,121,125,46,32,79,110,32,115,111,109,101,32,114,97,114,101,32,111,99,99,97,115,105,111,110,115,44,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,99,97,110,110,111,116,32,98,101,32,100,101,116,101,114,109,105,110,101,100,44,32,116,104,101,110,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<48>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,105,110,95,112,111,114,116>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,111,114,116,44,32,105,110,44,32,67,111,109,109,97,110,100,32,124,32,48,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,115,99,104,101,100,117,108,101,100,32,116,111,32,114,117,110,46,32>>,{code,[],[<<67,111,109,109,97,110,100>>]},<<32,105,115,32,116,104,101,32,102,105,114,115,116,32,116,104,105,110,103,32,116,104,101,32,112,111,114,116,32,119,105,108,108,32,101,120,101,99,117,116,101,44,32,105,116,32,99,97,110,32,104,111,119,101,118,101,114,32,114,117,110,32,115,101,118,101,114,97,108,32,99,111,109,109,97,110,100,115,32,98,101,102,111,114,101,32,98,101,105,110,103,32,115,99,104,101,100,117,108,101,100,32,111,117,116,46,32,79,110,32,115,111,109,101,32,114,97,114,101,32,111,99,99,97,115,105,111,110,115,44,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,99,97,110,110,111,116,32,98,101,32,100,101,116,101,114,109,105,110,101,100,44,32,116,104,101,110,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<48>>]},<<46>>]},{p,[],[<<84,104,101,32,112,111,115,115,105,98,108,101,32,99,111,109,109,97,110,100,115,32,97,114,101,32>>,{code,[],[<<99,97,108,108>>]},<<44,32>>,{code,[],[<<99,108,111,115,101>>]},<<44,32>>,{code,[],[<<99,111,109,109,97,110,100>>]},<<44,32>>,{code,[],[<<99,111,110,110,101,99,116>>]},<<44,32>>,{code,[],[<<99,111,110,116,114,111,108>>]},<<44,32>>,{code,[],[<<102,108,117,115,104>>]},<<44,32>>,{code,[],[<<105,110,102,111>>]},<<44,32>>,{code,[],[<<108,105,110,107>>]},<<44,32>>,{code,[],[<<111,112,101,110>>]},<<44,32,97,110,100,32>>,{code,[],[<<117,110,108,105,110,107>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,112,111,114,116>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,111,114,116,44,32,111,117,116,44,32,67,111,109,109,97,110,100,32,124,32,48,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,115,99,104,101,100,117,108,101,100,32,111,117,116,46,32,84,104,101,32,108,97,115,116,32,99,111,109,109,97,110,100,32,114,117,110,32,119,97,115,32>>,{code,[],[<<67,111,109,109,97,110,100>>]},<<46,32,79,110,32,115,111,109,101,32,114,97,114,101,32,111,99,99,97,115,105,111,110,115,44,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,99,97,110,110,111,116,32,98,101,32,100,101,116,101,114,109,105,110,101,100,44,32,116,104,101,110,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<48>>]},<<46,32>>,{code,[],[<<67,111,109,109,97,110,100>>]},<<32,99,97,110,32,99,111,110,116,97,105,110,32,116,104,101,32,115,97,109,101,32,99,111,109,109,97,110,100,115,32,97,115,32>>,{code,[],[<<105,110>>]}]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,105,110,111,114,95,115,116,97,114,116>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,103,99,95,109,105,110,111,114,95,115,116,97,114,116,44,32,73,110,102,111,125>>]}]},{dd,[],[{a,[{id,<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>}],[]},{p,[],[<<83,101,110,116,32,119,104,101,110,32,97,32,121,111,117,110,103,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,97,98,111,117,116,32,116,111,32,98,101,32,115,116,97,114,116,101,100,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,119,111,45,101,108,101,109,101,110,116,32,116,117,112,108,101,115,44,32,119,104,101,114,101,32,116,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32,97,32,107,101,121,44,32,97,110,100,32,116,104,101,32,115,101,99,111,110,100,32,105,115,32,116,104,101,32,118,97,108,117,101,46,32,68,111,32,110,111,116,32,100,101,112,101,110,100,32,111,110,32,97,110,121,32,111,114,100,101,114,32,111,102,32,116,104,101,32,116,117,112,108,101,115,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,107,101,121,115,32,97,114,101,32,100,101,102,105,110,101,100,58>>]},{dl,[],[{dt,[],[{code,[],[<<104,101,97,112,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,117,115,101,100,32,112,97,114,116,32,111,102,32,116,104,101,32,104,101,97,112,46>>]},{dt,[],[{code,[],[<<104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,98,108,111,99,107,32,117,115,101,100,32,102,111,114,32,115,116,111,114,105,110,103,32,116,104,101,32,104,101,97,112,32,97,110,100,32,116,104,101,32,115,116,97,99,107,46>>]},{dt,[],[{code,[],[<<111,108,100,95,104,101,97,112,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,117,115,101,100,32,112,97,114,116,32,111,102,32,116,104,101,32,111,108,100,32,104,101,97,112,46>>]},{dt,[],[{code,[],[<<111,108,100,95,104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,98,108,111,99,107,32,117,115,101,100,32,102,111,114,32,115,116,111,114,105,110,103,32,116,104,101,32,111,108,100,32,104,101,97,112,46>>]},{dt,[],[{code,[],[<<115,116,97,99,107,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,115,116,97,99,107,46>>]},{dt,[],[{code,[],[<<114,101,99,101,110,116,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,100,97,116,97,32,116,104,97,116,32,115,117,114,118,105,118,101,100,32,116,104,101,32,112,114,101,118,105,111,117,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46>>]},{dt,[],[{code,[],[<<109,98,117,102,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,99,111,109,98,105,110,101,100,32,115,105,122,101,32,111,102,32,109,101,115,115,97,103,101,32,98,117,102,102,101,114,115,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,116,104,101,32,112,114,111,99,101,115,115,46>>]},{dt,[],[{code,[],[<<98,105,110,95,118,104,101,97,112,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,116,111,116,97,108,32,115,105,122,101,32,111,102,32,117,110,105,113,117,101,32,111,102,102,45,104,101,97,112,32,98,105,110,97,114,105,101,115,32,114,101,102,101,114,101,110,99,101,100,32,102,114,111,109,32,116,104,101,32,112,114,111,99,101,115,115,32,104,101,97,112,46>>]},{dt,[],[{code,[],[<<98,105,110,95,118,104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,116,111,116,97,108,32,115,105,122,101,32,111,102,32,98,105,110,97,114,105,101,115,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,118,105,114,116,117,97,108,32,104,101,97,112,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,98,101,102,111,114,101,32,100,111,105,110,103,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46>>]},{dt,[],[{code,[],[<<98,105,110,95,111,108,100,95,118,104,101,97,112,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,116,111,116,97,108,32,115,105,122,101,32,111,102,32,117,110,105,113,117,101,32,111,102,102,45,104,101,97,112,32,98,105,110,97,114,105,101,115,32,114,101,102,101,114,101,110,99,101,100,32,102,114,111,109,32,116,104,101,32,112,114,111,99,101,115,115,32,111,108,100,32,104,101,97,112,46>>]},{dt,[],[{code,[],[<<98,105,110,95,111,108,100,95,118,104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,116,111,116,97,108,32,115,105,122,101,32,111,102,32,98,105,110,97,114,105,101,115,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,118,105,114,116,117,97,108,32,111,108,100,32,104,101,97,112,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,98,101,102,111,114,101,32,100,111,105,110,103,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46>>]},{dt,[],[{code,[],[<<119,111,114,100,115,105,122,101>>]}]},{dd,[],[<<70,111,114,32,116,104,101,32>>,{code,[],[<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>]},<<32,101,118,101,110,116,32,105,116,32,105,115,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,110,101,101,100,32,116,104,97,116,32,116,114,105,103,103,101,114,101,100,32,116,104,101,32,71,67,46,32,70,111,114,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32>>,{code,[],[<<103,99,95,109,105,110,111,114,95,101,110,100>>]},<<32,101,118,101,110,116,32,105,116,32,105,115,32,116,104,101,32,115,105,122,101,32,111,102,32,114,101,99,108,97,105,109,101,100,32,109,101,109,111,114,121,32,61,32,115,116,97,114,116,32>>,{code,[],[<<104,101,97,112,95,115,105,122,101>>]},<<32,45,32,101,110,100,32>>,{code,[],[<<104,101,97,112,95,115,105,122,101>>]},<<46>>]}]},{p,[],[<<65,108,108,32,115,105,122,101,115,32,97,114,101,32,105,110,32,119,111,114,100,115,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,103,99,95,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,73,110,102,111,125>>]}]},{dd,[],[{p,[],[<<83,101,110,116,32,119,104,101,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]}]},<<32,105,115,32,114,101,97,99,104,101,100,32,100,117,114,105,110,103,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,115,97,109,101,32,107,105,110,100,32,111,102,32,108,105,115,116,32,97,115,32,105,110,32,109,101,115,115,97,103,101,32>>,{code,[],[<<103,99,95,115,116,97,114,116>>]},<<44,32,98,117,116,32,116,104,101,32,115,105,122,101,115,32,114,101,102,108,101,99,116,32,116,104,101,32,115,105,122,101,115,32,116,104,97,116,32,116,114,105,103,103,101,114,101,100,32>>,{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]},<<32,116,111,32,98,101,32,114,101,97,99,104,101,100,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,105,110,111,114,95,101,110,100>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,103,99,95,109,105,110,111,114,95,101,110,100,44,32,73,110,102,111,125>>]}]},{dd,[],[{p,[],[<<83,101,110,116,32,119,104,101,110,32,121,111,117,110,103,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,102,105,110,105,115,104,101,100,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,115,97,109,101,32,107,105,110,100,32,111,102,32,108,105,115,116,32,97,115,32,105,110,32,109,101,115,115,97,103,101,32>>,{code,[],[<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>]},<<44,32,98,117,116,32,116,104,101,32,115,105,122,101,115,32,114,101,102,108,101,99,116,32,116,104,101,32,110,101,119,32,115,105,122,101,115,32,97,102,116,101,114,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,97,106,111,114,95,115,116,97,114,116>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,103,99,95,109,97,106,111,114,95,115,116,97,114,116,44,32,73,110,102,111,125>>]}]},{dd,[],[{p,[],[<<83,101,110,116,32,119,104,101,110,32,102,117,108,108,115,119,101,101,112,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,97,98,111,117,116,32,116,111,32,98,101,32,115,116,97,114,116,101,100,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,115,97,109,101,32,107,105,110,100,32,111,102,32,108,105,115,116,32,97,115,32,105,110,32,109,101,115,115,97,103,101,32>>,{code,[],[<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,97,106,111,114,95,101,110,100>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,103,99,95,109,97,106,111,114,95,101,110,100,44,32,73,110,102,111,125>>]}]},{dd,[],[{p,[],[<<83,101,110,116,32,119,104,101,110,32,102,117,108,108,115,119,101,101,112,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,102,105,110,105,115,104,101,100,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,115,97,109,101,32,107,105,110,100,32,111,102,32,108,105,115,116,32,97,115,32,105,110,32,109,101,115,115,97,103,101,32>>,{code,[],[<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>]},<<44,32,98,117,116,32,116,104,101,32,115,105,122,101,115,32,114,101,102,108,101,99,116,32,116,104,101,32,110,101,119,32,115,105,122,101,115,32,97,102,116,101,114,32,97,32,102,117,108,108,115,119,101,101,112,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46>>]}]}]},{p,[],[<<73,102,32,116,104,101,32,116,114,97,99,105,110,103,32,112,114,111,99,101,115,115,47,112,111,114,116,32,100,105,101,115,32,111,114,32,116,104,101,32,116,114,97,99,101,114,32,109,111,100,117,108,101,32,114,101,116,117,114,110,115,32>>,{code,[],[<<114,101,109,111,118,101>>]},<<44,32,116,104,101,32,102,108,97,103,115,32,97,114,101,32,115,105,108,101,110,116,108,121,32,114,101,109,111,118,101,100,46>>]},{p,[],[<<69,97,99,104,32,112,114,111,99,101,115,115,32,99,97,110,32,111,110,108,121,32,98,101,32,116,114,97,99,101,100,32,98,121,32,111,110,101,32,116,114,97,99,101,114,46,32,84,104,101,114,101,102,111,114,101,44,32,97,116,116,101,109,112,116,115,32,116,111,32,116,114,97,99,101,32,97,110,32,97,108,114,101,97,100,121,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,32,102,97,105,108,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,97,32,110,117,109,98,101,114,32,105,110,100,105,99,97,116,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,109,97,116,99,104,101,100,32>>,{code,[],[<<80,105,100,80,111,114,116,83,112,101,99>>]},<<46,32,73,102,32>>,{code,[],[<<80,105,100,80,111,114,116,83,112,101,99>>]},<<32,105,115,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<49>>]},<<46,32,73,102,32>>,{code,[],[<<80,105,100,80,111,114,116,83,112,101,99>>]},<<32,105,115,32>>,{code,[],[<<97,108,108>>]},<<32,111,114,32>>,{code,[],[<<101,120,105,115,116,105,110,103>>]},<<44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,112,114,111,99,101,115,115,101,115,32,114,117,110,110,105,110,103,46,32,73,102,32>>,{code,[],[<<80,105,100,80,111,114,116,83,112,101,99>>]},<<32,105,115,32>>,{code,[],[<<110,101,119>>]},<<44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<48>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<99,112,117,95,116,105,109,101,115,116,97,109,112>>]},<<32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,111,110,32,97,108,108,32,112,108,97,116,102,111,114,109,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,54,53,56>>,signature => [{attribute,{2076,2},spec,{{erlang,trace,3},[{type,{2076,19},bounded_fun,[{type,{2076,19},'fun',[{type,{2076,19},product,[{var,{2076,20},'PidPortSpec'},{var,{2076,33},'How'},{var,{2076,38},'FlagList'}]},{type,{2076,51},integer,[]}]},[{type,{2077,7},constraint,[{atom,{2077,7},is_subtype},[{var,{2077,7},'PidPortSpec'},{type,{2077,22},union,[{type,{2077,22},pid,[]},{type,{2077,30},port,[]},{atom,{2078,22},all},{atom,{2078,28},processes},{atom,{2078,40},ports},{atom,{2079,22},existing},{atom,{2079,33},existing_processes},{atom,{2079,54},existing_ports},{atom,{2080,22},new},{atom,{2080,28},new_processes},{atom,{2080,44},new_ports}]}]]},{type,{2081,7},constraint,[{atom,{2081,7},is_subtype},[{var,{2081,7},'How'},{type,{2081,14},boolean,[]}]]},{type,{2082,7},constraint,[{atom,{2082,7},is_subtype},[{var,{2082,7},'FlagList'},{type,{2082,19},list,[{user_type,{2082,20},trace_flag,[]}]}]]}]]}]}}]}},{{function,trace_delivered,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2091}],[<<116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,100,101,108,105,118,101,114,121,32,111,102,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,40,103,101,110,101,114,97,116,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<44,32>>,{a,[{href,<<107,101,114,110,101,108,58,115,101,113,95,116,114,97,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,101,113,95,116,114,97,99,101,40,51,41>>]}]},<<44,32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,50>>]}]},<<41,32,105,115,32,100,105,115,108,111,99,97,116,101,100,32,111,110,32,116,104,101,32,116,105,109,101,45,108,105,110,101,32,99,111,109,112,97,114,101,100,32,116,111,32,111,116,104,101,114,32,101,118,101,110,116,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,46,32,73,102,32,121,111,117,32,107,110,111,119,32,116,104,97,116,32>>,{code,[],[<<84,114,97,99,101,101>>]},<<32,104,97,115,32,112,97,115,115,101,100,32,115,111,109,101,32,115,112,101,99,105,102,105,99,32,112,111,105,110,116,32,105,110,32,105,116,115,32,101,120,101,99,117,116,105,111,110,44,32,97,110,100,32,121,111,117,32,119,97,110,116,32,116,111,32,107,110,111,119,32,119,104,101,110,32,97,116,32,108,101,97,115,116,32,97,108,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,101,118,101,110,116,115,32,117,112,32,116,111,32,116,104,105,115,32,112,111,105,110,116,32,104,97,118,101,32,114,101,97,99,104,101,100,32,116,104,101,32,116,114,97,99,101,114,44,32,117,115,101,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,40,84,114,97,99,101,101,41>>]},<<46>>]},{p,[],[<<87,104,101,110,32,105,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,104,97,116,32,97,108,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,97,114,101,32,100,101,108,105,118,101,114,101,100,32,116,111,32,116,104,101,32,116,114,97,99,101,114,32,117,112,32,116,111,32,116,104,101,32,112,111,105,110,116,32,116,104,97,116,32>>,{code,[],[<<84,114,97,99,101,101>>]},<<32,114,101,97,99,104,101,100,32,97,116,32,116,104,101,32,116,105,109,101,32,111,102,32,116,104,101,32,99,97,108,108,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,40,84,114,97,99,101,101,41>>]},<<44,32,116,104,101,110,32,97,32>>,{code,[],[<<123,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,44,32,84,114,97,99,101,101,44,32,82,101,102,125>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,40,84,114,97,99,101,101,41>>]},<<32,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,109,101,115,115,97,103,101,32>>,{code,[],[<<116,114,97,99,101,95,100,101,108,105,118,101,114,101,100>>]},<<32,100,111,101,115,32>>,{em,[],[<<110,111,116>>]},<<32,105,109,112,108,121,32,116,104,97,116,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,104,97,118,101,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,46,32,73,110,115,116,101,97,100,32,105,116,32,105,109,112,108,105,101,115,32,116,104,97,116,32,97,108,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,116,104,97,116,32>>,{em,[],[<<97,114,101,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100>>]},<<32,104,97,118,101,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,46,32,73,116,32,105,115,32,110,111,116,32,97,110,32,101,114,114,111,114,32,105,102,32>>,{code,[],[<<84,114,97,99,101,101>>]},<<32,105,115,32,110,111,116,44,32,97,110,100,32,104,97,115,32,110,111,116,32,98,101,101,110,32,116,114,97,99,101,100,32,98,121,32,115,111,109,101,111,110,101,44,32,98,117,116,32,105,102,32,116,104,105,115,32,105,115,32,116,104,101,32,99,97,115,101,44,32>>,{em,[],[<<110,111>>]},<<32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,104,97,118,101,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,32,119,104,101,110,32,116,104,101,32>>,{code,[],[<<116,114,97,99,101,95,100,101,108,105,118,101,114,101,100>>]},<<32,109,101,115,115,97,103,101,32,97,114,114,105,118,101,115,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32>>,{code,[],[<<84,114,97,99,101,101>>]},<<32,109,117,115,116,32,114,101,102,101,114,32,116,111,32,97,32,112,114,111,99,101,115,115,32,99,117,114,114,101,110,116,108,121,32,111,114,32,112,114,101,118,105,111,117,115,108,121,32,101,120,105,115,116,105,110,103,32,111,110,32,116,104,101,32,115,97,109,101,32,110,111,100,101,32,97,115,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,40,84,114,97,99,101,101,41>>]},<<32,114,101,115,105,100,101,115,32,111,110,46,32,84,104,101,32,115,112,101,99,105,97,108,32>>,{code,[],[<<84,114,97,99,101,101>>]},<<32,97,116,111,109,32>>,{code,[],[<<97,108,108>>]},<<32,100,101,110,111,116,101,115,32,97,108,108,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,99,117,114,114,101,110,116,108,121,32,97,114,101,32,116,114,97,99,101,100,32,105,110,32,116,104,101,32,110,111,100,101,46>>]},{p,[],[<<87,104,101,110,32,117,115,101,100,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,116,114,97,99,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<84,114,97,99,101,114,32,77,111,100,117,108,101>>]},<<44,32,97,110,121,32,109,101,115,115,97,103,101,32,115,101,110,116,32,105,110,32,116,104,101,32,116,114,97,99,101,32,99,97,108,108,98,97,99,107,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,104,97,118,101,32,114,101,97,99,104,101,100,32,105,116,115,32,114,101,99,105,112,105,101,110,116,32,98,101,102,111,114,101,32,116,104,101,32>>,{code,[],[<<116,114,97,99,101,95,100,101,108,105,118,101,114,101,100>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,46>>]},{p,[],[<<69,120,97,109,112,108,101,58,32,80,114,111,99,101,115,115,32>>,{code,[],[<<65>>]},<<32,105,115,32>>,{code,[],[<<84,114,97,99,101,101>>]},<<44,32,112,111,114,116,32>>,{code,[],[<<66>>]},<<32,105,115,32,116,114,97,99,101,114,44,32,97,110,100,32,112,114,111,99,101,115,115,32>>,{code,[],[<<67>>]},<<32,105,115,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,32,111,102,32>>,{code,[],[<<66>>]},<<46,32>>,{code,[],[<<67>>]},<<32,119,97,110,116,115,32,116,111,32,99,108,111,115,101,32>>,{code,[],[<<66>>]},<<32,119,104,101,110,32>>,{code,[],[<<65>>]},<<32,101,120,105,116,115,46,32,84,111,32,101,110,115,117,114,101,32,116,104,97,116,32,116,104,101,32,116,114,97,99,101,32,105,115,32,110,111,116,32,116,114,117,110,99,97,116,101,100,44,32>>,{code,[],[<<67>>]},<<32,99,97,110,32,99,97,108,108,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,40,65,41>>]},<<32,119,104,101,110,32>>,{code,[],[<<65>>]},<<32,101,120,105,116,115,44,32,97,110,100,32,119,97,105,116,32,102,111,114,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,44,32,65,44,32,82,101,102,125>>]},<<32,98,101,102,111,114,101,32,99,108,111,115,105,110,103,32>>,{code,[],[<<66>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<84,114,97,99,101,101>>]},<<32,100,111,101,115,32,110,111,116,32,114,101,102,101,114,32,116,111,32,97,32,112,114,111,99,101,115,115,32,40,100,101,97,100,32,111,114,32,97,108,105,118,101,41,32,111,110,32,116,104,101,32,115,97,109,101,32,110,111,100,101,32,97,115,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,40,84,114,97,99,101,101,41>>]},<<32,114,101,115,105,100,101,115,32,111,110,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,51,49,56>>,signature => [{attribute,{2091,2},spec,{{erlang,trace_delivered,1},[{type,{2091,29},bounded_fun,[{type,{2091,29},'fun',[{type,{2091,29},product,[{var,{2091,30},'Tracee'}]},{var,{2091,41},'Ref'}]},[{type,{2092,7},constraint,[{atom,{2092,7},is_subtype},[{var,{2092,7},'Tracee'},{type,{2092,17},union,[{type,{2092,17},pid,[]},{atom,{2092,25},all}]}]]},{type,{2093,7},constraint,[{atom,{2093,7},is_subtype},[{var,{2093,7},'Ref'},{type,{2093,14},reference,[]}]]}]]}]}}]}},{{function,trace_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2098}],[<<116,114,97,99,101,95,105,110,102,111,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>}],[]},{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<65,112,112,114,111,120,105,109,97,116,105,111,110,32,111,102,32,39,36,49,39,32,124,32,39,36,50,39,32,124,32,39,36,51,39,32,124,32,46,46,46>>]},{li,[{name,<<116,114,97,99,101,95,105,110,102,111,95,102,108,97,103>>}],[]},{li,[{name,<<116,114,97,99,101,95,105,110,102,111,95,105,116,101,109,95,114,101,115,117,108,116>>}],[]},{li,[{name,<<116,114,97,99,101,95,105,110,102,111,95,114,101,116,117,114,110>>}],[]},{li,[{name,<<116,114,97,99,101,95,109,97,116,99,104,95,115,112,101,99>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,114,97,99,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,32,112,111,114,116,44,32,112,114,111,99,101,115,115,44,32,102,117,110,99,116,105,111,110,44,32,111,114,32,101,118,101,110,116,46>>]},{p,[],[{em,[],[<<84,111,32,103,101,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,32,112,111,114,116,32,111,114,32,112,114,111,99,101,115,115>>]},<<44,32>>,{code,[],[<<80,105,100,80,111,114,116,70,117,110,99,69,118,101,110,116>>]},<<32,105,115,32,116,111,32,98,101,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,44,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,111,110,101,32,111,102,32,116,104,101,32,97,116,111,109,115,32>>,{code,[],[<<110,101,119>>]},<<44,32>>,{code,[],[<<110,101,119,95,112,114,111,99,101,115,115,101,115>>]},<<44,32,111,114,32>>,{code,[],[<<110,101,119,95,112,111,114,116,115>>]},<<46,32,84,104,101,32,97,116,111,109,32>>,{code,[],[<<110,101,119>>]},<<32,111,114,32>>,{code,[],[<<110,101,119,95,112,114,111,99,101,115,115,101,115>>]},<<32,109,101,97,110,115,32,116,104,97,116,32,116,104,101,32,100,101,102,97,117,108,116,32,116,114,97,99,101,32,115,116,97,116,101,32,102,111,114,32,112,114,111,99,101,115,115,101,115,32,116,111,32,98,101,32,99,114,101,97,116,101,100,32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,101,32,97,116,111,109,32>>,{code,[],[<<110,101,119,95,112,111,114,116,115>>]},<<32,109,101,97,110,115,32,116,104,97,116,32,116,104,101,32,100,101,102,97,117,108,116,32,116,114,97,99,101,32,115,116,97,116,101,32,102,111,114,32,112,111,114,116,115,32,116,111,32,98,101,32,99,114,101,97,116,101,100,32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<86,97,108,105,100,32>>,{code,[],[<<73,116,101,109>>]},<<115,32,102,111,114,32,112,111,114,116,115,32,97,110,100,32,112,114,111,99,101,115,115,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<102,108,97,103,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,97,116,111,109,115,32,105,110,100,105,99,97,116,105,110,103,32,119,104,97,116,32,107,105,110,100,32,111,102,32,116,114,97,99,101,115,32,105,115,32,101,110,97,98,108,101,100,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,101,32,108,105,115,116,32,105,115,32,101,109,112,116,121,32,105,102,32,110,111,32,116,114,97,99,101,115,32,97,114,101,32,101,110,97,98,108,101,100,44,32,97,110,100,32,111,110,101,32,111,114,32,109,111,114,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,97,116,111,109,115,32,105,102,32,116,114,97,99,101,115,32,97,114,101,32,101,110,97,98,108,101,100,58,32>>,{code,[],[<<115,101,110,100>>]},<<44,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<44,32>>,{code,[],[<<115,101,116,95,111,110,95,115,112,97,119,110>>]},<<44,32>>,{code,[],[<<99,97,108,108>>]},<<44,32>>,{code,[],[<<114,101,116,117,114,110,95,116,111>>]},<<44,32>>,{code,[],[<<112,114,111,99,115>>]},<<44,32>>,{code,[],[<<112,111,114,116,115>>]},<<44,32>>,{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,115,112,97,119,110>>]},<<44,32>>,{code,[],[<<115,101,116,95,111,110,95,108,105,110,107>>]},<<44,32>>,{code,[],[<<114,117,110,110,105,110,103>>]},<<44,32>>,{code,[],[<<114,117,110,110,105,110,103,95,112,114,111,99,115>>]},<<44,32>>,{code,[],[<<114,117,110,110,105,110,103,95,112,111,114,116,115>>]},<<44,32>>,{code,[],[<<115,105,108,101,110,116>>]},<<44,32>>,{code,[],[<<101,120,105,116,105,110,103>>]},<<44,32>>,{code,[],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<44,32>>,{code,[],[<<115,116,114,105,99,116,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<44,32>>,{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>]},<<44,32>>,{code,[],[<<116,105,109,101,115,116,97,109,112>>]},<<44,32,97,110,100,32>>,{code,[],[<<97,114,105,116,121>>]},<<46,32,84,104,101,32,111,114,100,101,114,32,105,115,32,97,114,98,105,116,114,97,114,121,46>>]}]},{dt,[],[{code,[],[<<116,114,97,99,101,114>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,105,100,101,110,116,105,102,105,101,114,32,102,111,114,32,112,114,111,99,101,115,115,44,32,112,111,114,116,44,32,111,114,32,97,32,116,117,112,108,101,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,116,114,97,99,101,114,32,109,111,100,117,108,101,32,97,110,100,32,116,114,97,99,101,114,32,115,116,97,116,101,32,116,114,97,99,105,110,103,32,116,104,105,115,32,112,114,111,99,101,115,115,46,32,73,102,32,116,104,105,115,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,116,114,97,99,101,100,44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<91,93>>]},<<46>>]}]}]},{p,[],[{em,[],[<<84,111,32,103,101,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,32,102,117,110,99,116,105,111,110>>]},<<44,32>>,{code,[],[<<80,105,100,80,111,114,116,70,117,110,99,69,118,101,110,116>>]},<<32,105,115,32,116,111,32,98,101,32,116,104,101,32,116,104,114,101,101,45,101,108,101,109,101,110,116,32,116,117,112,108,101,32>>,{code,[],[<<123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,125>>]},<<32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<46,32,78,111,32,119,105,108,100,99,97,114,100,115,32,97,114,101,32,97,108,108,111,119,101,100,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,111,114,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,116,114,97,99,101,100,46,32,73,102,32>>,{code,[],[<<80,105,100,80,111,114,116,70,117,110,99,69,118,101,110,116>>]},<<32,105,115,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<44,32,116,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,114,101,116,117,114,110,101,100,32,114,101,102,101,114,115,32,116,111,32,116,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,102,111,114,32,99,111,100,101,32,116,104,97,116,32,119,105,108,108,32,98,101,32,108,111,97,100,101,100,46>>]},{p,[],[<<86,97,108,105,100,32>>,{code,[],[<<73,116,101,109>>]},<<115,32,102,111,114,32,102,117,110,99,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<116,114,97,99,101,100>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<32,105,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,116,114,97,99,101,100,32,111,110,32,103,108,111,98,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,44,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,105,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,116,114,97,99,101,100,32,111,110,32,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,32,40,116,104,97,116,32,105,115,44,32,108,111,99,97,108,32,97,110,100,32,103,108,111,98,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,41,44,32,97,110,100,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,108,111,99,97,108,32,111,114,32,103,108,111,98,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,32,97,114,101,32,110,111,116,32,116,114,97,99,101,100,46>>]}]},{dt,[],[{code,[],[<<109,97,116,99,104,95,115,112,101,99>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,111,114,32,116,104,105,115,32,102,117,110,99,116,105,111,110,44,32,105,102,32,105,116,32,104,97,115,32,111,110,101,46,32,73,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,108,111,99,97,108,108,121,32,111,114,32,103,108,111,98,97,108,108,121,32,116,114,97,99,101,100,32,98,117,116,32,104,97,115,32,110,111,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,100,101,102,105,110,101,100,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<91,93>>]},<<46>>]}]},{dt,[],[{code,[],[<<109,101,116,97>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,101,116,97,45,116,114,97,99,101,32,116,114,97,99,101,114,32,112,114,111,99,101,115,115,44,32,112,111,114,116,44,32,111,114,32,116,114,97,99,101,32,109,111,100,117,108,101,32,102,111,114,32,116,104,105,115,32,102,117,110,99,116,105,111,110,44,32,105,102,32,105,116,32,104,97,115,32,111,110,101,46,32,73,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,109,101,116,97,45,116,114,97,99,101,100,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46,32,73,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,109,101,116,97,45,116,114,97,99,101,100,32,98,117,116,32,104,97,115,32,111,110,99,101,32,100,101,116,101,99,116,101,100,32,116,104,97,116,32,116,104,101,32,116,114,97,99,101,114,32,112,114,111,99,101,115,115,32,105,115,32,105,110,118,97,108,105,100,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<91,93>>]},<<46>>]}]},{dt,[],[{code,[],[<<109,101,116,97,95,109,97,116,99,104,95,115,112,101,99>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,101,116,97,45,116,114,97,99,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,111,114,32,116,104,105,115,32,102,117,110,99,116,105,111,110,44,32,105,102,32,105,116,32,104,97,115,32,111,110,101,46,32,73,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,109,101,116,97,45,116,114,97,99,101,100,32,98,117,116,32,104,97,115,32,110,111,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,100,101,102,105,110,101,100,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<91,93>>]},<<46>>]}]},{dt,[],[{code,[],[<<99,97,108,108,95,99,111,117,110,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,97,108,108,32,99,111,117,110,116,32,118,97,108,117,101,32,102,111,114,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,111,114,32>>,{code,[],[<<116,114,117,101>>]},<<32,102,111,114,32,116,104,101,32,112,115,101,117,100,111,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<32,105,102,32,99,97,108,108,32,99,111,117,110,116,32,116,114,97,99,105,110,103,32,105,115,32,97,99,116,105,118,101,46,32,79,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<99,97,108,108,95,116,105,109,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,97,108,108,32,116,105,109,101,32,118,97,108,117,101,115,32,102,111,114,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,111,114,32>>,{code,[],[<<116,114,117,101>>]},<<32,102,111,114,32,116,104,101,32,112,115,101,117,100,111,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<32,105,102,32,99,97,108,108,32,116,105,109,101,32,116,114,97,99,105,110,103,32,105,115,32,97,99,116,105,118,101,46,32,79,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,101,32,99,97,108,108,32,116,105,109,101,32,118,97,108,117,101,115,32,114,101,116,117,114,110,101,100,44,32>>,{code,[],[<<91,123,80,105,100,44,32,67,111,117,110,116,44,32,83,44,32,85,115,125,93>>]},<<44,32,105,115,32,97,32,108,105,115,116,32,111,102,32,101,97,99,104,32,112,114,111,99,101,115,115,32,116,104,97,116,32,101,120,101,99,117,116,101,100,32,116,104,101,32,102,117,110,99,116,105,111,110,32,97,110,100,32,105,116,115,32,115,112,101,99,105,102,105,99,32,99,111,117,110,116,101,114,115,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<97,108,108>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32>>,{code,[],[<<123,73,116,101,109,44,32,86,97,108,117,101,125>>]},<<32,116,117,112,108,101,115,32,102,111,114,32,97,108,108,32,111,116,104,101,114,32,105,116,101,109,115,44,32,111,114,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,110,111,32,116,114,97,99,105,110,103,32,105,115,32,97,99,116,105,118,101,32,102,111,114,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46>>]}]}]},{p,[],[{em,[],[<<84,111,32,103,101,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,110,32,101,118,101,110,116>>]},<<44,32>>,{code,[],[<<80,105,100,80,111,114,116,70,117,110,99,69,118,101,110,116>>]},<<32,105,115,32,116,111,32,98,101,32,111,110,101,32,111,102,32,116,104,101,32,97,116,111,109,115,32>>,{code,[],[<<115,101,110,100>>]},<<32,111,114,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<46>>]},{p,[],[<<79,110,101,32,118,97,108,105,100,32>>,{code,[],[<<73,116,101,109>>]},<<32,102,111,114,32,101,118,101,110,116,115,32,101,120,105,115,116,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<109,97,116,99,104,95,115,112,101,99>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,111,114,32,116,104,105,115,32,101,118,101,110,116,44,32,105,102,32,105,116,32,104,97,115,32,111,110,101,44,32,111,114,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,110,111,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,115,101,116,46>>]}]}]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<123,73,116,101,109,44,32,86,97,108,117,101,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<86,97,108,117,101>>]},<<32,105,115,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,105,110,102,111,114,109,97,116,105,111,110,32,97,115,32,100,101,115,99,114,105,98,101,100,32,101,97,114,108,105,101,114,46,32,73,102,32,97,32,112,105,100,32,102,111,114,32,97,32,100,101,97,100,32,112,114,111,99,101,115,115,32,119,97,115,32,115,112,101,99,105,102,105,101,100,44,32,111,114,32,116,104,101,32,110,97,109,101,32,111,102,32,97,32,110,111,110,45,101,120,105,115,116,105,110,103,32,102,117,110,99,116,105,111,110,44,32>>,{code,[],[<<86,97,108,117,101>>]},<<32,105,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,51,55,51>>,signature => [{attribute,{2098,2},spec,{{erlang,trace_info,2},[{type,{2098,24},bounded_fun,[{type,{2098,24},'fun',[{type,{2098,24},product,[{var,{2098,25},'PidPortFuncEvent'},{var,{2098,43},'Item'}]},{var,{2098,52},'Res'}]},[{type,{2099,7},constraint,[{atom,{2099,7},is_subtype},[{var,{2099,7},'PidPortFuncEvent'},{type,{2099,27},union,[{type,{2099,27},pid,[]},{type,{2099,35},port,[]},{atom,{2099,44},new},{atom,{2099,50},new_processes},{atom,{2099,66},new_ports},{type,{2100,24},tuple,[{var,{2100,25},'Module'},{var,{2100,33},'Function'},{var,{2100,43},'Arity'}]},{atom,{2100,52},on_load},{atom,{2100,62},send},{atom,{2100,69},'receive'}]}]]},{type,{2101,7},constraint,[{atom,{2101,7},is_subtype},[{var,{2101,7},'Module'},{type,{2101,17},module,[]}]]},{type,{2102,7},constraint,[{atom,{2102,7},is_subtype},[{var,{2102,7},'Function'},{type,{2102,19},atom,[]}]]},{type,{2103,7},constraint,[{atom,{2103,7},is_subtype},[{var,{2103,7},'Arity'},{type,{2103,16},arity,[]}]]},{type,{2104,7},constraint,[{atom,{2104,7},is_subtype},[{var,{2104,7},'Item'},{type,{2104,15},union,[{atom,{2104,15},flags},{atom,{2104,23},tracer},{atom,{2104,32},traced},{atom,{2104,41},match_spec},{atom,{2105,15},meta},{atom,{2105,22},meta_match_spec},{atom,{2105,40},call_count},{atom,{2105,53},call_time},{atom,{2105,65},all}]}]]},{type,{2106,7},constraint,[{atom,{2106,7},is_subtype},[{var,{2106,7},'Res'},{user_type,{2106,14},trace_info_return,[]}]]}]]}]}}]}},{{function,trace_pattern,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2773}],[<<116,114,97,99,101,95,112,97,116,116,101,114,110,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>}],[]},{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<65,112,112,114,111,120,105,109,97,116,105,111,110,32,111,102,32,39,36,49,39,32,124,32,39,36,50,39,32,124,32,39,36,51,39,32,124,32,46,46,46>>]},{li,[{name,<<116,114,97,99,101,95,109,97,116,99,104,95,115,112,101,99>>}],[]},{li,[{name,<<116,114,97,99,101,95,112,97,116,116,101,114,110,95,109,102,97>>}],[]}]},{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,69,118,101,110,116,44,32,77,97,116,99,104,83,112,101,99,44,32,91,93,41>>]}]},<<44,32,114,101,116,97,105,110,101,100,32,102,111,114,32,98,97,99,107,119,97,114,100,32,99,111,109,112,97,116,105,98,105,108,105,116,121,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,53,48,57>>,signature => [{attribute,{2773,2},spec,{{erlang,trace_pattern,2},[{type,{2773,27},bounded_fun,[{type,{2773,27},'fun',[{type,{2773,27},product,[{var,{2773,28},'MFA'},{var,{2773,33},'MatchSpec'}]},{type,{2773,47},non_neg_integer,[]}]},[{type,{2774,7},constraint,[{atom,{2774,7},is_subtype},[{var,{2774,7},'MFA'},{type,{2774,14},union,[{user_type,{2774,14},trace_pattern_mfa,[]},{atom,{2774,36},send},{atom,{2774,43},'receive'}]}]]},{type,{2775,7},constraint,[{atom,{2775,7},is_subtype},[{var,{2775,7},'MatchSpec'},{type,{2775,21},union,[{ann_type,{2775,21},[{var,{2775,21},'MatchSpecList'},{user_type,{2775,38},trace_match_spec,[]}]},{type,{2776,20},boolean,[]},{atom,{2777,20},restart},{atom,{2778,20},pause}]}]]}]]}]}}]}},{{function,trace_pattern,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2793}],[<<116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>}],[]},{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<65,112,112,114,111,120,105,109,97,116,105,111,110,32,111,102,32,39,36,49,39,32,124,32,39,36,50,39,32,124,32,39,36,51,39,32,124,32,46,46,46>>]},{li,[{name,<<116,114,97,99,101,95,109,97,116,99,104,95,115,112,101,99>>}],[]}]},{p,[],[<<83,101,116,115,32,116,114,97,99,101,32,112,97,116,116,101,114,110,32,102,111,114,32>>,{em,[],[<<109,101,115,115,97,103,101,32,115,101,110,100,105,110,103>>]},<<46,32,77,117,115,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<32,116,111,32,115,101,116,32,116,104,101,32>>,{code,[],[<<115,101,110,100>>]},<<32,116,114,97,99,101,32,102,108,97,103,32,102,111,114,32,111,110,101,32,111,114,32,109,111,114,101,32,112,114,111,99,101,115,115,101,115,46,32,66,121,32,100,101,102,97,117,108,116,32,97,108,108,32,109,101,115,115,97,103,101,115,32,115,101,110,116,32,102,114,111,109,32>>,{code,[],[<<115,101,110,100>>]},<<32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,116,114,97,99,101,100,46,32,84,111,32,108,105,109,105,116,32,116,114,97,99,101,100,32,115,101,110,100,32,101,118,101,110,116,115,32,98,97,115,101,100,32,111,110,32,116,104,101,32,109,101,115,115,97,103,101,32,99,111,110,116,101,110,116,44,32,116,104,101,32,115,101,110,100,101,114,32,97,110,100,47,111,114,32,116,104,101,32,114,101,99,101,105,118,101,114,44,32,117,115,101,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]},<<46>>]},{p,[],[<<65,114,103,117,109,101,110,116,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99>>]},<<32,99,97,110,32,116,97,107,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,111,114,109,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<77,97,116,99,104,83,112,101,99,76,105,115,116>>]}]},{dd,[],[{p,[],[<<65,32,108,105,115,116,32,111,102,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,46,32,84,104,101,32,109,97,116,99,104,105,110,103,32,105,115,32,100,111,110,101,32,111,110,32,116,104,101,32,108,105,115,116,32>>,{code,[],[<<91,82,101,99,101,105,118,101,114,44,32,77,115,103,93>>]},<<46,32>>,{code,[],[<<82,101,99,101,105,118,101,114>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,105,100,101,110,116,105,116,121,32,111,102,32,116,104,101,32,114,101,99,101,105,118,101,114,32,97,110,100,32>>,{code,[],[<<77,115,103>>]},<<32,105,115,32,116,104,101,32,109,101,115,115,97,103,101,32,116,101,114,109,46,32,84,104,101,32,112,105,100,32,111,102,32,116,104,101,32,115,101,110,100,105,110,103,32,112,114,111,99,101,115,115,32,99,97,110,32,98,101,32,97,99,99,101,115,115,101,100,32,119,105,116,104,32,116,104,101,32,103,117,97,114,100,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<115,101,108,102,47,48>>]},<<46,32,65,110,32,101,109,112,116,121,32,108,105,115,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<116,114,117,101>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,109,97,116,99,104,95,115,112,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<77,97,116,99,104,32,83,112,101,99,105,102,105,99,97,116,105,111,110,115,32,105,110,32,69,114,108,97,110,103>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]},{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[{p,[],[<<69,110,97,98,108,101,115,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,115,101,110,116,32,109,101,115,115,97,103,101,115,32,40,102,114,111,109,32>>,{code,[],[<<115,101,110,100>>]},<<32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,101,115,41,46,32,65,110,121,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,105,115,32,114,101,109,111,118,101,100,46,32>>,{em,[],[<<84,104,105,115,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116>>]},<<46>>]}]},{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[{p,[],[<<68,105,115,97,98,108,101,115,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,115,101,110,116,32,109,101,115,115,97,103,101,115,46,32,65,110,121,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,105,115,32,114,101,109,111,118,101,100,46>>]}]}]},{p,[],[<<65,114,103,117,109,101,110,116,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,109,117,115,116,32,98,101,32>>,{code,[],[<<91,93>>]},<<32,102,111,114,32,115,101,110,100,32,116,114,97,99,105,110,103,46>>]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,97,108,119,97,121,115,32>>,{code,[],[<<49>>]},<<46>>]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{p,[],[<<79,110,108,121,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,116,111,32,97,32,115,112,101,99,105,102,105,99,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100>>]},<<58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,115,101,110,100,44,32,91,123,91,80,105,100,44,32,39,95,39,93,44,91,93,44,91,93,125,93,44,32,91,93,41,46,10,49>>]}]},{p,[],[<<79,110,108,121,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,109,97,116,99,104,105,110,103,32>>,{code,[],[<<123,114,101,112,108,121,44,32,95,125>>]},<<58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,115,101,110,100,44,32,91,123,91,39,95,39,44,32,123,114,101,112,108,121,44,39,95,39,125,93,44,91,93,44,91,93,125,93,44,32,91,93,41,46,10,49>>]}]},{p,[],[<<79,110,108,121,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,115,101,110,116,32,116,111,32,116,104,101,32,115,101,110,100,101,114,32,105,116,115,101,108,102,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,115,101,110,100,44,32,91,123,91,39,36,49,39,44,32,39,95,39,93,44,91,123,39,61,58,61,39,44,39,36,49,39,44,123,115,101,108,102,125,125,93,44,91,93,125,93,44,32,91,93,41,46,10,49>>]}]},{p,[],[<<79,110,108,121,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,115,101,110,116,32,116,111,32,111,116,104,101,114,32,110,111,100,101,115,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,115,101,110,100,44,32,91,123,91,39,36,49,39,44,32,39,95,39,93,44,91,123,39,61,47,61,39,44,123,110,111,100,101,44,39,36,49,39,125,44,123,110,111,100,101,125,125,93,44,91,93,125,93,44,32,91,93,41,46,10,49>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,111,114,32>>,{code,[],[<<115,101,110,100>>]},<<32,116,114,97,99,101,32,99,97,110,32,117,115,101,32,97,108,108,32,103,117,97,114,100,32,97,110,100,32,98,111,100,121,32,102,117,110,99,116,105,111,110,115,32,101,120,99,101,112,116,32>>,{code,[],[<<99,97,108,108,101,114>>]},<<46>>]}]},{p,[],[<<70,97,105,108,115,32,98,121,32,114,97,105,115,105,110,103,32,97,110,32,101,114,114,111,114,32,101,120,99,101,112,116,105,111,110,32,119,105,116,104,32,97,110,32,101,114,114,111,114,32,114,101,97,115,111,110,32,111,102,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[{p,[],[<<73,102,32,97,110,32,97,114,103,117,109,101,110,116,32,105,115,32,105,110,118,97,108,105,100,46>>]}]},{dt,[],[{code,[],[<<115,121,115,116,101,109,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,32,104,97,115,32,101,120,99,101,115,115,105,118,101,32,110,101,115,116,105,110,103,32,119,104,105,99,104,32,99,97,117,115,101,115,32,115,99,104,101,100,117,108,101,114,32,115,116,97,99,107,32,101,120,104,97,117,115,116,105,111,110,32,102,111,114,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,115,99,104,101,100,95,116,104,114,101,97,100,95,115,116,97,99,107,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<83,99,104,101,100,117,108,101,114,32,115,116,97,99,107,32,115,105,122,101>>]},<<32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,119,104,101,110,32,115,116,97,114,116,105,110,103,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,53,50,55>>,signature => [{attribute,{2793,2},spec,{{erlang,trace_pattern,3},[{type,{2793,27},bounded_fun,[{type,{2793,27},'fun',[{type,{2793,27},product,[{atom,{2793,28},send},{var,{2793,34},'MatchSpec'},{type,{2793,45},nil,[]}]},{type,{2793,52},non_neg_integer,[]}]},[{type,{2794,7},constraint,[{atom,{2794,7},is_subtype},[{var,{2794,7},'MatchSpec'},{type,{2794,21},union,[{ann_type,{2794,21},[{var,{2794,21},'MatchSpecList'},{user_type,{2794,38},trace_match_spec,[]}]},{type,{2795,20},boolean,[]}]}]]}]]}]}}],since => <<79,84,80,32,49,57,46,48>>}},{{function,trace_pattern,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2793}],[<<116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>}],[]},{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<65,112,112,114,111,120,105,109,97,116,105,111,110,32,111,102,32,39,36,49,39,32,124,32,39,36,50,39,32,124,32,39,36,51,39,32,124,32,46,46,46>>]},{li,[{name,<<116,114,97,99,101,95,109,97,116,99,104,95,115,112,101,99>>}],[]}]},{p,[],[<<83,101,116,115,32,116,114,97,99,101,32,112,97,116,116,101,114,110,32,102,111,114,32>>,{em,[],[<<109,101,115,115,97,103,101,32,114,101,99,101,105,118,105,110,103>>]},<<46,32,77,117,115,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<32,116,111,32,115,101,116,32,116,104,101,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<32,116,114,97,99,101,32,102,108,97,103,32,102,111,114,32,111,110,101,32,111,114,32,109,111,114,101,32,112,114,111,99,101,115,115,101,115,46,32,66,121,32,100,101,102,97,117,108,116,32,97,108,108,32,109,101,115,115,97,103,101,115,32,114,101,99,101,105,118,101,100,32,98,121,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,116,114,97,99,101,100,46,32,84,111,32,108,105,109,105,116,32,116,114,97,99,101,100,32,114,101,99,101,105,118,101,32,101,118,101,110,116,115,32,98,97,115,101,100,32,111,110,32,116,104,101,32,109,101,115,115,97,103,101,32,99,111,110,116,101,110,116,44,32,116,104,101,32,115,101,110,100,101,114,32,97,110,100,47,111,114,32,116,104,101,32,114,101,99,101,105,118,101,114,44,32,117,115,101,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]},<<46>>]},{p,[],[<<65,114,103,117,109,101,110,116,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99>>]},<<32,99,97,110,32,116,97,107,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,111,114,109,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<77,97,116,99,104,83,112,101,99,76,105,115,116>>]}]},{dd,[],[{p,[],[<<65,32,108,105,115,116,32,111,102,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,46,32,84,104,101,32,109,97,116,99,104,105,110,103,32,105,115,32,100,111,110,101,32,111,110,32,116,104,101,32,108,105,115,116,32>>,{code,[],[<<91,78,111,100,101,44,32,83,101,110,100,101,114,44,32,77,115,103,93>>]},<<46,32>>,{code,[],[<<78,111,100,101>>]},<<32,105,115,32,116,104,101,32,110,111,100,101,32,110,97,109,101,32,111,102,32,116,104,101,32,115,101,110,100,101,114,46,32>>,{code,[],[<<83,101,110,100,101,114>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,105,100,101,110,116,105,116,121,32,111,102,32,116,104,101,32,115,101,110,100,101,114,44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,115,101,110,100,101,114,32,105,115,32,110,111,116,32,107,110,111,119,110,32,40,119,104,105,99,104,32,99,97,110,32,98,101,32,116,104,101,32,99,97,115,101,32,102,111,114,32,114,101,109,111,116,101,32,115,101,110,100,101,114,115,41,46,32>>,{code,[],[<<77,115,103>>]},<<32,105,115,32,116,104,101,32,109,101,115,115,97,103,101,32,116,101,114,109,46,32,84,104,101,32,112,105,100,32,111,102,32,116,104,101,32,114,101,99,101,105,118,105,110,103,32,112,114,111,99,101,115,115,32,99,97,110,32,98,101,32,97,99,99,101,115,115,101,100,32,119,105,116,104,32,116,104,101,32,103,117,97,114,100,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<115,101,108,102,47,48>>]},<<46,32,65,110,32,101,109,112,116,121,32,108,105,115,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<116,114,117,101>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,109,97,116,99,104,95,115,112,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<77,97,116,99,104,32,83,112,101,99,105,102,105,99,97,116,105,111,110,115,32,105,110,32,69,114,108,97,110,103>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]},{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[{p,[],[<<69,110,97,98,108,101,115,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,114,101,99,101,105,118,101,100,32,109,101,115,115,97,103,101,115,32,40,116,111,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,101,115,41,46,32,65,110,121,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,105,115,32,114,101,109,111,118,101,100,46,32>>,{em,[],[<<84,104,105,115,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116>>]},<<46>>]}]},{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[{p,[],[<<68,105,115,97,98,108,101,115,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,114,101,99,101,105,118,101,100,32,109,101,115,115,97,103,101,115,46,32,65,110,121,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,105,115,32,114,101,109,111,118,101,100,46>>]}]}]},{p,[],[<<65,114,103,117,109,101,110,116,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,109,117,115,116,32,98,101,32>>,{code,[],[<<91,93>>]},<<32,102,111,114,32,114,101,99,101,105,118,101,32,116,114,97,99,105,110,103,46>>]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,97,108,119,97,121,115,32>>,{code,[],[<<49>>]},<<46>>]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{p,[],[<<79,110,108,121,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,102,114,111,109,32,97,32,115,112,101,99,105,102,105,99,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100>>]},<<58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,39,114,101,99,101,105,118,101,39,44,32,91,123,91,39,95,39,44,80,105,100,44,32,39,95,39,93,44,91,93,44,91,93,125,93,44,32,91,93,41,46,10,49>>]}]},{p,[],[<<79,110,108,121,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,109,97,116,99,104,105,110,103,32>>,{code,[],[<<123,114,101,112,108,121,44,32,95,125>>]},<<58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,39,114,101,99,101,105,118,101,39,44,32,91,123,91,39,95,39,44,39,95,39,44,32,123,114,101,112,108,121,44,39,95,39,125,93,44,91,93,44,91,93,125,93,44,32,91,93,41,46,10,49>>]}]},{p,[],[<<79,110,108,121,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,102,114,111,109,32,111,116,104,101,114,32,110,111,100,101,115,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,39,114,101,99,101,105,118,101,39,44,32,91,123,91,39,36,49,39,44,32,39,95,39,44,32,39,95,39,93,44,91,123,39,61,47,61,39,44,39,36,49,39,44,123,110,111,100,101,125,125,93,44,91,93,125,93,44,32,91,93,41,46,10,49>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,111,114,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<32,116,114,97,99,101,32,99,97,110,32,117,115,101,32,97,108,108,32,103,117,97,114,100,32,97,110,100,32,98,111,100,121,32,102,117,110,99,116,105,111,110,115,32,101,120,99,101,112,116,32>>,{code,[],[<<99,97,108,108,101,114>>]},<<44,32>>,{code,[],[<<105,115,95,115,101,113,95,116,114,97,99,101>>]},<<44,32>>,{code,[],[<<103,101,116,95,115,101,113,95,116,111,107,101,110>>]},<<44,32>>,{code,[],[<<115,101,116,95,115,101,113,95,116,111,107,101,110>>]},<<44,32>>,{code,[],[<<101,110,97,98,108,101,95,116,114,97,99,101>>]},<<44,32>>,{code,[],[<<100,105,115,97,98,108,101,95,116,114,97,99,101>>]},<<44,32>>,{code,[],[<<116,114,97,99,101>>]},<<44,32>>,{code,[],[<<115,105,108,101,110,116>>]},<<44,32,97,110,100,32>>,{code,[],[<<112,114,111,99,101,115,115,95,100,117,109,112>>]},<<46>>]}]},{p,[],[<<70,97,105,108,115,32,98,121,32,114,97,105,115,105,110,103,32,97,110,32,101,114,114,111,114,32,101,120,99,101,112,116,105,111,110,32,119,105,116,104,32,97,110,32,101,114,114,111,114,32,114,101,97,115,111,110,32,111,102,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[{p,[],[<<73,102,32,97,110,32,97,114,103,117,109,101,110,116,32,105,115,32,105,110,118,97,108,105,100,46>>]}]},{dt,[],[{code,[],[<<115,121,115,116,101,109,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,32,104,97,115,32,101,120,99,101,115,115,105,118,101,32,110,101,115,116,105,110,103,32,119,104,105,99,104,32,99,97,117,115,101,115,32,115,99,104,101,100,117,108,101,114,32,115,116,97,99,107,32,101,120,104,97,117,115,116,105,111,110,32,102,111,114,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,115,99,104,101,100,95,116,104,114,101,97,100,95,115,116,97,99,107,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<83,99,104,101,100,117,108,101,114,32,115,116,97,99,107,32,115,105,122,101>>]},<<32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,119,104,101,110,32,115,116,97,114,116,105,110,103,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,54,49,52>>,signature => [{attribute,{2793,2},spec,{{erlang,trace_pattern,3},[{type,{2796,6},bounded_fun,[{type,{2796,6},'fun',[{type,{2796,6},product,[{atom,{2796,7},'receive'},{var,{2796,18},'MatchSpec'},{type,{2796,29},nil,[]}]},{type,{2796,36},non_neg_integer,[]}]},[{type,{2797,7},constraint,[{atom,{2797,7},is_subtype},[{var,{2797,7},'MatchSpec'},{type,{2797,21},union,[{ann_type,{2797,21},[{var,{2797,21},'MatchSpecList'},{user_type,{2797,38},trace_match_spec,[]}]},{type,{2798,20},boolean,[]}]}]]}]]}]}}],since => <<79,84,80,32,49,57,46,48>>}},{{function,trace_pattern,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2793}],[<<116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>}],[]},{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<65,112,112,114,111,120,105,109,97,116,105,111,110,32,111,102,32,39,36,49,39,32,124,32,39,36,50,39,32,124,32,39,36,51,39,32,124,32,46,46,46>>]},{li,[{name,<<116,114,97,99,101,95,109,97,116,99,104,95,115,112,101,99>>}],[]},{li,[{name,<<116,114,97,99,101,95,112,97,116,116,101,114,110,95,102,108,97,103>>}],[]},{li,[{name,<<116,114,97,99,101,95,112,97,116,116,101,114,110,95,109,102,97>>}],[]}]},{p,[],[<<69,110,97,98,108,101,115,32,111,114,32,100,105,115,97,98,108,101,115,32>>,{em,[],[<<99,97,108,108,32,116,114,97,99,105,110,103>>]},<<32,102,111,114,32,111,110,101,32,111,114,32,109,111,114,101,32,102,117,110,99,116,105,111,110,115,46,32,77,117,115,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<32,116,111,32,115,101,116,32,116,104,101,32>>,{code,[],[<<99,97,108,108>>]},<<32,116,114,97,99,101,32,102,108,97,103,32,102,111,114,32,111,110,101,32,111,114,32,109,111,114,101,32,112,114,111,99,101,115,115,101,115,46>>]},{p,[],[<<67,111,110,99,101,112,116,117,97,108,108,121,44,32,99,97,108,108,32,116,114,97,99,105,110,103,32,119,111,114,107,115,32,97,115,32,102,111,108,108,111,119,115,46,32,73,110,115,105,100,101,32,116,104,101,32,69,114,108,97,110,103,32,118,105,114,116,117,97,108,32,109,97,99,104,105,110,101,44,32,97,32,115,101,116,32,111,102,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,97,32,115,101,116,32,111,102,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,116,111,32,98,101,32,116,114,97,99,101,100,46,32,73,102,32,97,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,32,99,97,108,108,115,32,97,32,116,114,97,99,101,100,32,102,117,110,99,116,105,111,110,44,32,116,104,101,32,116,114,97,99,101,32,97,99,116,105,111,110,32,105,115,32,116,97,107,101,110,46,32,79,116,104,101,114,119,105,115,101,44,32,110,111,116,104,105,110,103,32,104,97,112,112,101,110,115,46>>]},{p,[],[<<84,111,32,97,100,100,32,111,114,32,114,101,109,111,118,101,32,111,110,101,32,111,114,32,109,111,114,101,32,112,114,111,99,101,115,115,101,115,32,116,111,32,116,104,101,32,115,101,116,32,111,102,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,101,115,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<46>>]},{p,[],[<<84,111,32,97,100,100,32,111,114,32,114,101,109,111,118,101,32,102,117,110,99,116,105,111,110,115,32,116,111,32,116,104,101,32,115,101,116,32,111,102,32,116,114,97,99,101,100,32,102,117,110,99,116,105,111,110,115,44,32,117,115,101,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]},<<46>>]},{p,[],[<<84,104,101,32,66,73,70,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]},<<32,99,97,110,32,97,108,115,111,32,97,100,100,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,32,116,111,32,97,32,102,117,110,99,116,105,111,110,46,32,65,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,99,111,109,112,114,105,115,101,115,32,97,32,112,97,116,116,101,114,110,32,116,104,97,116,32,116,104,101,32,102,117,110,99,116,105,111,110,32,97,114,103,117,109,101,110,116,115,32,109,117,115,116,32,109,97,116,99,104,44,32,97,32,103,117,97,114,100,32,101,120,112,114,101,115,115,105,111,110,32,116,104,97,116,32,109,117,115,116,32,101,118,97,108,117,97,116,101,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,97,110,100,32,97,110,32,97,99,116,105,111,110,32,116,111,32,98,101,32,112,101,114,102,111,114,109,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,97,99,116,105,111,110,32,105,115,32,116,111,32,115,101,110,100,32,97,32,116,114,97,99,101,32,109,101,115,115,97,103,101,46,32,73,102,32,116,104,101,32,112,97,116,116,101,114,110,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,111,114,32,116,104,101,32,103,117,97,114,100,32,102,97,105,108,115,44,32,116,104,101,32,97,99,116,105,111,110,32,105,115,32,110,111,116,32,101,120,101,99,117,116,101,100,46>>]},{p,[],[<<65,114,103,117,109,101,110,116,32>>,{code,[],[<<77,70,65>>]},<<32,105,115,32,116,111,32,98,101,32,97,32,116,117,112,108,101,44,32,115,117,99,104,32,97,115,32>>,{code,[],[<<123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,125>>]},<<44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<32,40,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,41,46,32,73,116,32,99,97,110,32,98,101,32,116,104,101,32,109,111,100,117,108,101,44,32,102,117,110,99,116,105,111,110,44,32,97,110,100,32,97,114,105,116,121,32,102,111,114,32,97,32,102,117,110,99,116,105,111,110,32,40,111,114,32,97,32,66,73,70,32,105,110,32,97,110,121,32,109,111,100,117,108,101,41,46,32,84,104,101,32,97,116,111,109,32>>,{code,[],[<<39,95,39>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,97,115,32,97,32,119,105,108,100,99,97,114,100,32,105,110,32,97,110,121,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,119,97,121,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,77,111,100,117,108,101,44,70,117,110,99,116,105,111,110,44,39,95,39,125>>]}]},{dd,[],[{p,[],[<<65,108,108,32,102,117,110,99,116,105,111,110,115,32,111,102,32,97,110,121,32,97,114,105,116,121,32,110,97,109,101,100,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,105,110,32,109,111,100,117,108,101,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,77,111,100,117,108,101,44,39,95,39,44,39,95,39,125>>]}]},{dd,[],[{p,[],[<<65,108,108,32,102,117,110,99,116,105,111,110,115,32,105,110,32,109,111,100,117,108,101,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,39,95,39,44,39,95,39,44,39,95,39,125>>]}]},{dd,[],[{p,[],[<<65,108,108,32,102,117,110,99,116,105,111,110,115,32,105,110,32,97,108,108,32,108,111,97,100,101,100,32,109,111,100,117,108,101,115,46>>]}]}]},{p,[],[<<79,116,104,101,114,32,99,111,109,98,105,110,97,116,105,111,110,115,44,32,115,117,99,104,32,97,115,32>>,{code,[],[<<123,77,111,100,117,108,101,44,39,95,39,44,65,114,105,116,121,125>>]},<<44,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,46,32,76,111,99,97,108,32,102,117,110,99,116,105,111,110,115,32,109,97,116,99,104,32,119,105,108,100,99,97,114,100,115,32,111,110,108,121,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,105,115,32,105,110,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<46>>]},{p,[],[<<73,102,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<77,70,65>>]},<<32,105,115,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<44,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,97,110,100,32,102,108,97,103,32,108,105,115,116,32,97,114,101,32,117,115,101,100,32,111,110,32,97,108,108,32,109,111,100,117,108,101,115,32,116,104,97,116,32,97,114,101,32,110,101,119,108,121,32,108,111,97,100,101,100,46>>]},{p,[],[<<65,114,103,117,109,101,110,116,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99>>]},<<32,99,97,110,32,116,97,107,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,111,114,109,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[{p,[],[<<68,105,115,97,98,108,101,115,32,116,114,97,99,105,110,103,32,102,111,114,32,116,104,101,32,109,97,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,115,46,32,65,110,121,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,105,115,32,114,101,109,111,118,101,100,46>>]}]},{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[{p,[],[<<69,110,97,98,108,101,115,32,116,114,97,99,105,110,103,32,102,111,114,32,116,104,101,32,109,97,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,115,46,32,65,110,121,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,105,115,32,114,101,109,111,118,101,100,46>>]}]},{dt,[],[{code,[],[<<77,97,116,99,104,83,112,101,99,76,105,115,116>>]}]},{dd,[],[{p,[],[<<65,32,108,105,115,116,32,111,102,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,46,32,65,110,32,101,109,112,116,121,32,108,105,115,116,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<46,32,70,111,114,32,97,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,109,97,116,99,104,95,115,112,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<77,97,116,99,104,32,83,112,101,99,105,102,105,99,97,116,105,111,110,115,32,105,110,32,69,114,108,97,110,103>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]},{dt,[],[{code,[],[<<114,101,115,116,97,114,116>>]}]},{dd,[],[{p,[],[<<70,111,114,32,116,104,101,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,111,112,116,105,111,110,115,32>>,{code,[],[<<99,97,108,108,95,99,111,117,110,116>>]},<<32,97,110,100,32>>,{code,[],[<<99,97,108,108,95,116,105,109,101>>]},<<58,32,114,101,115,116,97,114,116,115,32,116,104,101,32,101,120,105,115,116,105,110,103,32,99,111,117,110,116,101,114,115,46,32,84,104,101,32,98,101,104,97,118,105,111,114,32,105,115,32,117,110,100,101,102,105,110,101,100,32,102,111,114,32,111,116,104,101,114,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,111,112,116,105,111,110,115,46>>]}]},{dt,[],[{code,[],[<<112,97,117,115,101>>]}]},{dd,[],[{p,[],[<<70,111,114,32,116,104,101,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,111,112,116,105,111,110,115,32>>,{code,[],[<<99,97,108,108,95,99,111,117,110,116>>]},<<32,97,110,100,32>>,{code,[],[<<99,97,108,108,95,116,105,109,101>>]},<<58,32,112,97,117,115,101,115,32,116,104,101,32,101,120,105,115,116,105,110,103,32,99,111,117,110,116,101,114,115,46,32,84,104,101,32,98,101,104,97,118,105,111,114,32,105,115,32,117,110,100,101,102,105,110,101,100,32,102,111,114,32,111,116,104,101,114,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,111,112,116,105,111,110,115,46>>]}]}]},{p,[],[<<80,97,114,97,109,101,116,101,114,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,111,112,116,105,111,110,115,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,118,97,108,105,100,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<103,108,111,98,97,108>>]}]},{dd,[],[{p,[],[<<84,117,114,110,115,32,111,110,32,111,114,32,111,102,102,32,99,97,108,108,32,116,114,97,99,105,110,103,32,102,111,114,32,103,108,111,98,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,32,40,116,104,97,116,32,105,115,44,32,99,97,108,108,115,32,115,112,101,99,105,102,121,105,110,103,32,116,104,101,32,109,111,100,117,108,101,32,101,120,112,108,105,99,105,116,108,121,41,46,32,79,110,108,121,32,101,120,112,111,114,116,101,100,32,102,117,110,99,116,105,111,110,115,32,109,97,116,99,104,32,97,110,100,32,111,110,108,121,32,103,108,111,98,97,108,32,99,97,108,108,115,32,103,101,110,101,114,97,116,101,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,46,32>>,{em,[],[<<84,104,105,115,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116>>]},<<46>>]}]},{dt,[],[{code,[],[<<108,111,99,97,108>>]}]},{dd,[],[{p,[],[<<84,117,114,110,115,32,111,110,32,111,114,32,111,102,102,32,99,97,108,108,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,116,121,112,101,115,32,111,102,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,46,32,84,114,97,99,101,32,109,101,115,115,97,103,101,115,32,97,114,101,32,115,101,110,116,32,119,104,101,110,101,118,101,114,32,97,110,121,32,111,102,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,99,97,108,108,101,100,44,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,104,111,119,32,116,104,101,121,32,97,114,101,32,99,97,108,108,101,100,46,32,73,102,32,102,108,97,103,32>>,{code,[],[<<114,101,116,117,114,110,95,116,111>>]},<<32,105,115,32,115,101,116,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,44,32,97,32>>,{code,[],[<<114,101,116,117,114,110,95,116,111>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,97,108,115,111,32,115,101,110,116,32,119,104,101,110,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,116,111,32,105,116,115,32,99,97,108,108,101,114,46>>]}]},{dt,[],[{code,[],[<<109,101,116,97,32,124,32,123,109,101,116,97,44,32,80,105,100,125,32,124,32,123,109,101,116,97,44,32,84,114,97,99,101,114,77,111,100,117,108,101,44,32,84,114,97,99,101,114,83,116,97,116,101,125>>]}]},{dd,[],[{p,[],[<<84,117,114,110,115,32,111,110,32,111,114,32,111,102,102,32,109,101,116,97,45,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,116,121,112,101,115,32,111,102,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,46,32,84,114,97,99,101,32,109,101,115,115,97,103,101,115,32,97,114,101,32,115,101,110,116,32,116,111,32,116,104,101,32,116,114,97,99,101,114,32,119,104,101,110,101,118,101,114,32,97,110,121,32,111,102,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,99,97,108,108,101,100,46,32,73,102,32,110,111,32,116,114,97,99,101,114,32,105,115,32,115,112,101,99,105,102,105,101,100,44,32>>,{code,[],[<<115,101,108,102,40,41>>]},<<32,105,115,32,117,115,101,100,32,97,115,32,97,32,100,101,102,97,117,108,116,32,116,114,97,99,101,114,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<77,101,116,97,45,116,114,97,99,105,110,103,32,116,114,97,99,101,115,32,97,108,108,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,100,111,101,115,32,110,111,116,32,99,97,114,101,32,97,98,111,117,116,32,116,104,101,32,112,114,111,99,101,115,115,32,116,114,97,99,101,32,102,108,97,103,115,32,115,101,116,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]},<<44,32,116,104,101,32,116,114,97,99,101,32,102,108,97,103,115,32,97,114,101,32,105,110,115,116,101,97,100,32,102,105,120,101,100,32,116,111,32>>,{code,[],[<<91,99,97,108,108,44,32,116,105,109,101,115,116,97,109,112,93>>]},<<46>>]},{p,[],[<<84,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<123,114,101,116,117,114,110,95,116,114,97,99,101,125>>]},<<32,119,111,114,107,115,32,119,105,116,104,32,109,101,116,97,45,116,114,97,99,101,32,97,110,100,32,115,101,110,100,115,32,105,116,115,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,116,111,32,116,104,101,32,115,97,109,101,32,116,114,97,99,101,114,46>>]}]},{dt,[],[{code,[],[<<99,97,108,108,95,99,111,117,110,116>>]}]},{dd,[],[{p,[],[<<83,116,97,114,116,115,32,40>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,116,114,117,101>>]},<<41,32,111,114,32,115,116,111,112,115,32,40>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,102,97,108,115,101>>]},<<41,32,99,97,108,108,32,99,111,117,110,116,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,116,121,112,101,115,32,111,102,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,46,32,70,111,114,32,101,118,101,114,121,32,102,117,110,99,116,105,111,110,44,32,97,32,99,111,117,110,116,101,114,32,105,115,32,105,110,99,114,101,109,101,110,116,101,100,32,119,104,101,110,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,44,32,105,110,32,97,110,121,32,112,114,111,99,101,115,115,46,32,78,111,32,112,114,111,99,101,115,115,32,116,114,97,99,101,32,102,108,97,103,115,32,110,101,101,100,32,116,111,32,98,101,32,97,99,116,105,118,97,116,101,100,46>>]},{p,[],[<<73,102,32,99,97,108,108,32,99,111,117,110,116,32,116,114,97,99,105,110,103,32,105,115,32,115,116,97,114,116,101,100,32,119,104,105,108,101,32,97,108,114,101,97,100,121,32,114,117,110,110,105,110,103,44,32,116,104,101,32,99,111,117,110,116,32,105,115,32,114,101,115,116,97,114,116,101,100,32,102,114,111,109,32,122,101,114,111,46,32,84,111,32,112,97,117,115,101,32,114,117,110,110,105,110,103,32,99,111,117,110,116,101,114,115,44,32,117,115,101,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,112,97,117,115,101>>]},<<46,32,80,97,117,115,101,100,32,97,110,100,32,114,117,110,110,105,110,103,32,99,111,117,110,116,101,114,115,32,99,97,110,32,98,101,32,114,101,115,116,97,114,116,101,100,32,102,114,111,109,32,122,101,114,111,32,119,105,116,104,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,114,101,115,116,97,114,116>>]},<<46>>]},{p,[],[<<84,111,32,114,101,97,100,32,116,104,101,32,99,111,117,110,116,101,114,32,118,97,108,117,101,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<99,97,108,108,95,116,105,109,101>>]}]},{dd,[],[{p,[],[<<83,116,97,114,116,115,32,40>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,116,114,117,101>>]},<<41,32,111,114,32,115,116,111,112,115,32,40>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,102,97,108,115,101>>]},<<41,32,99,97,108,108,32,116,105,109,101,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,116,121,112,101,115,32,111,102,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,46,32,70,111,114,32,101,118,101,114,121,32,102,117,110,99,116,105,111,110,44,32,97,32,99,111,117,110,116,101,114,32,105,115,32,105,110,99,114,101,109,101,110,116,101,100,32,119,104,101,110,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,46,32,84,105,109,101,32,115,112,101,110,116,32,105,110,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,97,99,99,117,109,117,108,97,116,101,100,32,105,110,32,116,119,111,32,111,116,104,101,114,32,99,111,117,110,116,101,114,115,44,32,115,101,99,111,110,100,115,32,97,110,100,32,109,105,99,114,111,115,101,99,111,110,100,115,46,32,84,104,101,32,99,111,117,110,116,101,114,115,32,97,114,101,32,115,116,111,114,101,100,32,102,111,114,32,101,97,99,104,32,99,97,108,108,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<73,102,32,99,97,108,108,32,116,105,109,101,32,116,114,97,99,105,110,103,32,105,115,32,115,116,97,114,116,101,100,32,119,104,105,108,101,32,97,108,114,101,97,100,121,32,114,117,110,110,105,110,103,44,32,116,104,101,32,99,111,117,110,116,32,97,110,100,32,116,105,109,101,32,114,101,115,116,97,114,116,32,102,114,111,109,32,122,101,114,111,46,32,84,111,32,112,97,117,115,101,32,114,117,110,110,105,110,103,32,99,111,117,110,116,101,114,115,44,32,117,115,101,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,112,97,117,115,101>>]},<<46,32,80,97,117,115,101,100,32,97,110,100,32,114,117,110,110,105,110,103,32,99,111,117,110,116,101,114,115,32,99,97,110,32,98,101,32,114,101,115,116,97,114,116,101,100,32,102,114,111,109,32,122,101,114,111,32,119,105,116,104,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,114,101,115,116,97,114,116>>]},<<46>>]},{p,[],[<<84,111,32,114,101,97,100,32,116,104,101,32,99,111,117,110,116,101,114,32,118,97,108,117,101,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]}]},{p,[],[<<84,104,101,32,111,112,116,105,111,110,115,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<32,97,110,100,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,97,114,101,32,109,117,116,117,97,108,108,121,32,101,120,99,108,117,115,105,118,101,44,32,97,110,100,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,32,40,105,102,32,110,111,32,111,112,116,105,111,110,115,32,97,114,101,32,115,112,101,99,105,102,105,101,100,41,46,32,84,104,101,32,111,112,116,105,111,110,115,32>>,{code,[],[<<99,97,108,108,95,99,111,117,110,116>>]},<<32,97,110,100,32>>,{code,[],[<<109,101,116,97>>]},<<32,112,101,114,102,111,114,109,32,97,32,107,105,110,100,32,111,102,32,108,111,99,97,108,32,116,114,97,99,105,110,103,44,32,97,110,100,32,99,97,110,110,111,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<46,32,65,32,102,117,110,99,116,105,111,110,32,99,97,110,32,98,101,32,103,108,111,98,97,108,108,121,32,111,114,32,108,111,99,97,108,108,121,32,116,114,97,99,101,100,46,32,73,102,32,103,108,111,98,97,108,32,116,114,97,99,105,110,103,32,105,115,32,115,112,101,99,105,102,105,101,100,32,102,111,114,32,97,32,115,101,116,32,111,102,32,102,117,110,99,116,105,111,110,115,44,32,116,104,101,110,32,108,111,99,97,108,44,32,109,101,116,97,44,32,99,97,108,108,32,116,105,109,101,44,32,97,110,100,32,99,97,108,108,32,99,111,117,110,116,32,116,114,97,99,105,110,103,32,102,111,114,32,116,104,101,32,109,97,116,99,104,105,110,103,32,115,101,116,32,111,102,32,108,111,99,97,108,32,102,117,110,99,116,105,111,110,115,32,105,115,32,100,105,115,97,98,108,101,100,44,32,97,110,100,32,99,111,110,118,101,114,115,101,108,121,46>>]},{p,[],[<<87,104,101,110,32,100,105,115,97,98,108,105,110,103,32,116,114,97,99,101,44,32,116,104,101,32,111,112,116,105,111,110,32,109,117,115,116,32,109,97,116,99,104,32,116,104,101,32,116,121,112,101,32,111,102,32,116,114,97,99,101,32,115,101,116,32,111,110,32,116,104,101,32,102,117,110,99,116,105,111,110,46,32,84,104,97,116,32,105,115,44,32,108,111,99,97,108,32,116,114,97,99,105,110,103,32,109,117,115,116,32,98,101,32,100,105,115,97,98,108,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,97,110,100,32,103,108,111,98,97,108,32,116,114,97,99,105,110,103,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<32,40,111,114,32,110,111,32,111,112,116,105,111,110,41,44,32,97,110,100,32,115,111,32,111,110,46>>]},{p,[],[<<80,97,114,116,32,111,102,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,108,105,115,116,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,100,105,114,101,99,116,108,121,46,32,73,102,32,97,32,102,117,110,99,116,105,111,110,32,104,97,115,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,44,32,105,116,32,99,97,110,32,98,101,32,114,101,112,108,97,99,101,100,32,119,105,116,104,32,97,32,110,101,119,32,111,110,101,46,32,84,111,32,99,104,97,110,103,101,32,97,110,32,101,120,105,115,116,105,110,103,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,44,32,117,115,101,32,116,104,101,32,66,73,70,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,105,110,102,111,47,50>>]}]},<<32,116,111,32,114,101,116,114,105,101,118,101,32,116,104,101,32,101,120,105,115,116,105,110,103,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,102,117,110,99,116,105,111,110,115,32,109,97,116,99,104,105,110,103,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<77,70,65>>]},<<46,32,84,104,105,115,32,105,115,32,122,101,114,111,32,105,102,32,110,111,110,101,32,109,97,116,99,104,101,100,46>>]},{p,[],[<<70,97,105,108,115,32,98,121,32,114,97,105,115,105,110,103,32,97,110,32,101,114,114,111,114,32,101,120,99,101,112,116,105,111,110,32,119,105,116,104,32,97,110,32,101,114,114,111,114,32,114,101,97,115,111,110,32,111,102,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[{p,[],[<<73,102,32,97,110,32,97,114,103,117,109,101,110,116,32,105,115,32,105,110,118,97,108,105,100,46>>]}]},{dt,[],[{code,[],[<<115,121,115,116,101,109,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,32,104,97,115,32,101,120,99,101,115,115,105,118,101,32,110,101,115,116,105,110,103,32,119,104,105,99,104,32,99,97,117,115,101,115,32,115,99,104,101,100,117,108,101,114,32,115,116,97,99,107,32,101,120,104,97,117,115,116,105,111,110,32,102,111,114,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,115,99,104,101,100,95,116,104,114,101,97,100,95,115,116,97,99,107,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<83,99,104,101,100,117,108,101,114,32,115,116,97,99,107,32,115,105,122,101>>]},<<32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,119,104,101,110,32,115,116,97,114,116,105,110,103,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,55,48,50>>,signature => [{attribute,{2793,2},spec,{{erlang,trace_pattern,3},[{type,{2799,6},bounded_fun,[{type,{2799,6},'fun',[{type,{2799,6},product,[{var,{2799,7},'MFA'},{var,{2799,12},'MatchSpec'},{var,{2799,23},'FlagList'}]},{type,{2799,36},non_neg_integer,[]}]},[{type,{2800,7},constraint,[{atom,{2800,7},is_subtype},[{var,{2800,7},'MFA'},{user_type,{2800,14},trace_pattern_mfa,[]}]]},{type,{2801,7},constraint,[{atom,{2801,7},is_subtype},[{var,{2801,7},'MatchSpec'},{type,{2801,21},union,[{ann_type,{2801,21},[{var,{2801,21},'MatchSpecList'},{user_type,{2801,38},trace_match_spec,[]}]},{type,{2802,20},boolean,[]},{atom,{2803,20},restart},{atom,{2804,20},pause}]}]]},{type,{2805,7},constraint,[{atom,{2805,7},is_subtype},[{var,{2805,7},'FlagList'},{type,{2805,19},list,[{user_type,{2805,21},trace_pattern_flag,[]}]}]]}]]}]}}]}},{{function,trunc,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2112}],[<<116,114,117,110,99,47,49>>],#{<<101,110>> => [{p,[],[<<84,114,117,110,99,97,116,101,115,32,116,104,101,32,100,101,99,105,109,97,108,115,32,111,102,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,116,114,117,110,99,40,53,46,55,41,46,10,53>>]}]},{pre,[],[{code,[],[<<62,32,116,114,117,110,99,40,45,53,46,55,41,46,10,45,53>>]}]},{pre,[],[{code,[],[<<62,32,116,114,117,110,99,40,53,41,46,10,53>>]}]},{pre,[],[{code,[],[<<62,32,116,114,117,110,99,40,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,57,46,48,41,46,10,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56>>]}]},{p,[],[<<73,110,32,116,104,101,32,108,97,115,116,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<116,114,117,110,99,40,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,57,46,48,41>>]},<<32,101,118,97,108,117,97,116,101,115,32,116,111,32>>,{code,[],[<<51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56>>]},<<46,32,84,104,101,32,114,101,97,115,111,110,32,102,111,114,32,116,104,105,115,32,105,115,32,116,104,97,116,32,116,104,101,32,110,117,109,98,101,114,32>>,{code,[],[<<51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,57,46,48>>]},<<32,99,97,110,110,111,116,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,101,120,97,99,116,108,121,32,97,115,32,97,32,102,108,111,97,116,32,118,97,108,117,101,46,32,73,110,115,116,101,97,100,44,32,116,104,101,32,102,108,111,97,116,32,108,105,116,101,114,97,108,32,105,115,32,114,101,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56,46,48>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,99,108,111,115,101,115,116,32,110,117,109,98,101,114,32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,101,120,97,99,116,108,121,32,97,115,32,97,32,102,108,111,97,116,32,118,97,108,117,101,46,32,83,101,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,102,108,111,97,116,95,114,101,112,114,101,115,101,110,116,97,116,105,111,110,95,112,114,111,98,108,101,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<82,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,70,108,111,97,116,105,110,103,32,80,111,105,110,116,32,78,117,109,98,101,114,115>>]},<<32,102,111,114,32,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,57,48,57>>,signature => [{attribute,{2112,2},spec,{{trunc,1},[{type,{2112,12},bounded_fun,[{type,{2112,12},'fun',[{type,{2112,12},product,[{var,{2112,13},'Number'}]},{type,{2112,24},integer,[]}]},[{type,{2113,7},constraint,[{atom,{2113,7},is_subtype},[{var,{2113,7},'Number'},{type,{2113,17},number,[]}]]}]]}]}}]}},{{function,tuple_size,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2119}],[<<116,117,112,108,101,95,115,105,122,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,116,104,97,116,32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,105,110,32>>,{code,[],[<<84,117,112,108,101>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,116,117,112,108,101,95,115,105,122,101,40,123,109,111,114,110,105,44,32,109,117,108,108,101,44,32,98,119,97,110,103,101,125,41,46,10,51>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,57,52,48>>,signature => [{attribute,{2119,2},spec,{{tuple_size,1},[{type,{2119,17},bounded_fun,[{type,{2119,17},'fun',[{type,{2119,17},product,[{var,{2119,18},'Tuple'}]},{type,{2119,28},non_neg_integer,[]}]},[{type,{2120,7},constraint,[{atom,{2120,7},is_subtype},[{var,{2120,7},'Tuple'},{type,{2120,16},tuple,any}]]}]]}]}}]}},{{function,tuple_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2815}],[<<116,117,112,108,101,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32>>,{code,[],[<<84,117,112,108,101>>]},<<46,32>>,{code,[],[<<84,117,112,108,101>>]},<<32,99,97,110,32,99,111,110,116,97,105,110,32,97,110,121,32,69,114,108,97,110,103,32,116,101,114,109,115,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,116,117,112,108,101,95,116,111,95,108,105,115,116,40,123,115,104,97,114,101,44,32,123,39,69,114,105,99,115,115,111,110,95,66,39,44,32,49,54,51,125,125,41,46,10,91,115,104,97,114,101,44,123,39,69,114,105,99,115,115,111,110,95,66,39,44,49,54,51,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,57,53,51>>,signature => [{attribute,{2815,2},spec,{{tuple_to_list,1},[{type,{2815,20},bounded_fun,[{type,{2815,20},'fun',[{type,{2815,20},product,[{var,{2815,21},'Tuple'}]},{type,{2815,31},list,[{type,{2815,32},term,[]}]}]},[{type,{2816,7},constraint,[{atom,{2816,7},is_subtype},[{var,{2816,7},'Tuple'},{type,{2816,16},tuple,any}]]}]]}]}}]}},{{function,unalias,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,831}],[<<117,110,97,108,105,97,115,47,49>>],#{<<101,110>> => [{p,[],[<<68,101,97,99,116,105,118,97,116,101,32,116,104,101,32,97,108,105,97,115,32>>,{code,[],[<<65,108,105,97,115>>]},<<32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,32,98,121,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,65,110,32,97,108,105,97,115,32,99,97,110,32,102,111,114,32,101,120,97,109,112,108,101,32,98,101,32,99,114,101,97,116,101,100,32,118,105,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,97,108,105,97,115,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<97,108,105,97,115,47,48>>]}]},<<44,32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,47,51>>]}]},<<46,32>>,{code,[],[<<117,110,97,108,105,97,115,47,49>>]},<<32,119,105,108,108,32,97,108,119,97,121,115,32,100,101,97,99,116,105,118,97,116,101,32,116,104,101,32,97,108,105,97,115,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,111,112,116,105,111,110,115,32,117,115,101,100,32,119,104,101,110,32,99,114,101,97,116,105,110,103,32,116,104,101,32,97,108,105,97,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,114,117,101,32,105,102,32>>,{code,[],[<<65,108,105,97,115>>]},<<32,119,97,115,32,97,32,99,117,114,114,101,110,116,108,121,32,97,99,116,105,118,101,32,97,108,105,97,115,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,101,115,59,32,111,116,104,101,114,119,105,115,101,44,32,102,97,108,115,101,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,112,114,111,99,101,115,115,32,97,108,105,97,115,101,115,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,112,114,111,99,101,115,115,45,97,108,105,97,115,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<80,114,111,99,101,115,115,32,65,108,105,97,115,101,115>>]}]},<<32,115,101,99,116,105,111,110,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,57,54,54>>,signature => [{attribute,{831,2},spec,{{unalias,1},[{type,{831,14},bounded_fun,[{type,{831,14},'fun',[{type,{831,14},product,[{var,{831,15},'Alias'}]},{type,{831,25},boolean,[]}]},[{type,{832,7},constraint,[{atom,{832,7},is_subtype},[{var,{832,7},'Alias'},{type,{832,16},reference,[]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,48>>}},{{function,unique_integer,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1592}],[<<117,110,105,113,117,101,95,105,110,116,101,103,101,114,47,48>>],#{<<101,110>> => [{p,[],[<<71,101,110,101,114,97,116,101,115,32,97,110,100,32,114,101,116,117,114,110,115,32,97,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100,35,117,110,105,113,117,101,95,105,110,116,101,103,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<105,110,116,101,103,101,114,32,117,110,105,113,117,101,32,111,110,32,99,117,114,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101>>]},<<46,32,84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,117,110,105,113,117,101,95,105,110,116,101,103,101,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,91,93,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,57,57,50>>,signature => [{attribute,{1592,2},spec,{{erlang,unique_integer,0},[{type,{1592,28},'fun',[{type,{1592,28},product,[]},{type,{1592,34},integer,[]}]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,unique_integer,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1585}],[<<117,110,105,113,117,101,95,105,110,116,101,103,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<71,101,110,101,114,97,116,101,115,32,97,110,100,32,114,101,116,117,114,110,115,32,97,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100,35,117,110,105,113,117,101,95,105,110,116,101,103,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<105,110,116,101,103,101,114,32,117,110,105,113,117,101,32,111,110,32,99,117,114,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101>>]},<<46,32,84,104,101,32,105,110,116,101,103,101,114,32,105,115,32,117,110,105,113,117,101,32,105,110,32,116,104,101,32,115,101,110,115,101,32,116,104,97,116,32,116,104,105,115,32,66,73,70,44,32,117,115,105,110,103,32,116,104,101,32,115,97,109,101,32,115,101,116,32,111,102,32,109,111,100,105,102,105,101,114,115,44,32,100,111,101,115,32,110,111,116,32,114,101,116,117,114,110,32,116,104,101,32,115,97,109,101,32,105,110,116,101,103,101,114,32,109,111,114,101,32,116,104,97,110,32,111,110,99,101,32,111,110,32,116,104,101,32,99,117,114,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46,32,69,97,99,104,32,105,110,116,101,103,101,114,32,118,97,108,117,101,32,99,97,110,32,111,102,32,99,111,117,114,115,101,32,98,101,32,99,111,110,115,116,114,117,99,116,101,100,32,98,121,32,111,116,104,101,114,32,109,101,97,110,115,46>>]},{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,119,104,101,110,32>>,{code,[],[<<91,93>>]},<<32,105,115,32,112,97,115,115,101,100,32,97,115,32>>,{code,[],[<<77,111,100,105,102,105,101,114,76,105,115,116>>]},<<44,32,98,111,116,104,32,110,101,103,97,116,105,118,101,32,97,110,100,32,112,111,115,105,116,105,118,101,32,105,110,116,101,103,101,114,115,32,99,97,110,32,98,101,32,114,101,116,117,114,110,101,100,46,32,84,104,105,115,32,116,111,32,117,115,101,32,116,104,101,32,114,97,110,103,101,32,111,102,32,105,110,116,101,103,101,114,115,32,116,104,97,116,32,100,111,32,110,111,116,32,110,101,101,100,32,104,101,97,112,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,97,115,32,109,117,99,104,32,97,115,32,112,111,115,115,105,98,108,101,46,32,66,121,32,100,101,102,97,117,108,116,32,116,104,101,32,114,101,116,117,114,110,101,100,32,105,110,116,101,103,101,114,115,32,97,114,101,32,97,108,115,111,32,111,110,108,121,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,117,110,105,113,117,101,44,32,116,104,97,116,32,105,115,44,32,97,110,121,32,114,101,116,117,114,110,101,100,32,105,110,116,101,103,101,114,32,99,97,110,32,98,101,32,115,109,97,108,108,101,114,32,111,114,32,108,97,114,103,101,114,32,116,104,97,110,32,112,114,101,118,105,111,117,115,108,121,32,114,101,116,117,114,110,101,100,32,105,110,116,101,103,101,114,115,46>>]},{p,[],[{code,[],[<<77,111,100,105,102,105,101,114>>]},<<115,58>>]},{dl,[],[{dt,[],[<<112,111,115,105,116,105,118,101>>]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,111,110,108,121,32,112,111,115,105,116,105,118,101,32,105,110,116,101,103,101,114,115,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,98,121,32,112,97,115,115,105,110,103,32,116,104,101,32>>,{code,[],[<<112,111,115,105,116,105,118,101>>]},<<32,109,111,100,105,102,105,101,114,32,121,111,117,32,119,105,108,108,32,103,101,116,32,104,101,97,112,32,97,108,108,111,99,97,116,101,100,32,105,110,116,101,103,101,114,115,32,40,98,105,103,110,117,109,115,41,32,113,117,105,99,107,101,114,46>>]}]},{dt,[],[<<109,111,110,111,116,111,110,105,99>>]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,83,116,114,105,99,116,108,121,95,77,111,110,111,116,111,110,105,99,97,108,108,121,95,73,110,99,114,101,97,115,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,116,114,105,99,116,108,121,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103>>]},<<32,105,110,116,101,103,101,114,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,99,114,101,97,116,105,111,110,32,116,105,109,101,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,105,110,116,101,103,101,114,32,114,101,116,117,114,110,101,100,32,105,115,32,97,108,119,97,121,115,32,108,97,114,103,101,114,32,116,104,97,110,32,112,114,101,118,105,111,117,115,108,121,32,114,101,116,117,114,110,101,100,32,105,110,116,101,103,101,114,115,32,111,110,32,116,104,101,32,99,117,114,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46>>]},{p,[],[<<84,104,101,115,101,32,118,97,108,117,101,115,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,100,101,116,101,114,109,105,110,101,32,111,114,100,101,114,32,98,101,116,119,101,101,110,32,101,118,101,110,116,115,32,111,110,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46,32,84,104,97,116,32,105,115,44,32,105,102,32,98,111,116,104,32>>,{code,[],[<<88,32,61,32,101,114,108,97,110,103,58,117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,91,109,111,110,111,116,111,110,105,99,93,41>>]},<<32,97,110,100,32>>,{code,[],[<<89,32,61,32,101,114,108,97,110,103,58,117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,91,109,111,110,111,116,111,110,105,99,93,41>>]},<<32,97,114,101,32,101,120,101,99,117,116,101,100,32,98,121,32,100,105,102,102,101,114,101,110,116,32,112,114,111,99,101,115,115,101,115,32,40,111,114,32,116,104,101,32,115,97,109,101,32,112,114,111,99,101,115,115,41,32,111,110,32,116,104,101,32,115,97,109,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,32,97,110,100,32>>,{code,[],[<<88,32,60,32,89>>]},<<44,32,119,101,32,107,110,111,119,32,116,104,97,116,32>>,{code,[],[<<88>>]},<<32,119,97,115,32,99,114,101,97,116,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<89>>]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<83,116,114,105,99,116,108,121,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,118,97,108,117,101,115,32,97,114,101,32,105,110,104,101,114,101,110,116,108,121,32,113,117,105,116,101,32,101,120,112,101,110,115,105,118,101,32,116,111,32,103,101,110,101,114,97,116,101,32,97,110,100,32,115,99,97,108,101,115,32,112,111,111,114,108,121,46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32,116,104,101,32,118,97,108,117,101,115,32,110,101,101,100,32,116,111,32,98,101,32,115,121,110,99,104,114,111,110,105,122,101,100,32,98,101,116,119,101,101,110,32,67,80,85,32,99,111,114,101,115,46,32,84,104,97,116,32,105,115,44,32,100,111,32,110,111,116,32,112,97,115,115,32,116,104,101,32>>,{code,[],[<<109,111,110,111,116,111,110,105,99>>]},<<32,109,111,100,105,102,105,101,114,32,117,110,108,101,115,115,32,121,111,117,32,114,101,97,108,108,121,32,110,101,101,100,32,115,116,114,105,99,116,108,121,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,118,97,108,117,101,115,46>>]}]}]}]},{p,[],[<<65,108,108,32,118,97,108,105,100,32>>,{code,[],[<<77,111,100,105,102,105,101,114>>]},<<115,32,99,97,110,32,98,101,32,99,111,109,98,105,110,101,100,46,32,82,101,112,101,97,116,101,100,32,40,118,97,108,105,100,41,32>>,{code,[],[<<77,111,100,105,102,105,101,114>>]},<<115,32,105,110,32,116,104,101,32>>,{code,[],[<<77,111,100,105,102,105,101,114,76,105,115,116>>]},<<32,97,114,101,32,105,103,110,111,114,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,115,101,116,32,111,102,32,105,110,116,101,103,101,114,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,117,110,105,113,117,101,95,105,110,116,101,103,101,114,47,49>>]},<<32,117,115,105,110,103,32,100,105,102,102,101,114,101,110,116,32,115,101,116,115,32,111,102,32>>,{code,[],[<<77,111,100,105,102,105,101,114>>]},<<115,32>>,{em,[],[<<119,105,108,108,32,111,118,101,114,108,97,112>>]},<<46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,98,121,32,99,97,108,108,105,110,103,32>>,{code,[],[<<117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,91,109,111,110,111,116,111,110,105,99,93,41>>]},<<44,32,97,110,100,32>>,{code,[],[<<117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,91,112,111,115,105,116,105,118,101,44,32,109,111,110,111,116,111,110,105,99,93,41>>]},<<32,114,101,112,101,97,116,101,100,108,121,44,32,121,111,117,32,119,105,108,108,32,101,118,101,110,116,117,97,108,108,121,32,115,101,101,32,115,111,109,101,32,105,110,116,101,103,101,114,115,32,116,104,97,116,32,97,114,101,32,114,101,116,117,114,110,101,100,32,98,121,32,98,111,116,104,32,99,97,108,108,115,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<105,102,32>>,{code,[],[<<77,111,100,105,102,105,101,114,76,105,115,116>>]},<<32,105,115,32,110,111,116,32,97,32,112,114,111,112,101,114,32,108,105,115,116,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<105,102,32>>,{code,[],[<<77,111,100,105,102,105,101,114>>]},<<32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,109,111,100,105,102,105,101,114,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,48,48,53>>,signature => [{attribute,{1585,2},spec,{{erlang,unique_integer,1},[{type,{1585,28},bounded_fun,[{type,{1585,28},'fun',[{type,{1585,28},product,[{var,{1585,29},'ModifierList'}]},{type,{1585,46},integer,[]}]},[{type,{1586,7},constraint,[{atom,{1586,7},is_subtype},[{var,{1586,7},'ModifierList'},{type,{1586,23},list,[{var,{1586,24},'Modifier'}]}]]},{type,{1587,7},constraint,[{atom,{1587,7},is_subtype},[{var,{1587,7},'Modifier'},{type,{1587,19},union,[{atom,{1587,19},positive},{atom,{1587,30},monotonic}]}]]}]]}]}}],since => <<79,84,80,32,49,56,46,48>>}},{{function,universaltime,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2125}],[<<117,110,105,118,101,114,115,97,108,116,105,109,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,100,97,116,101,32,97,110,100,32,116,105,109,101,32,97,99,99,111,114,100,105,110,103,32,116,111,32,85,110,105,118,101,114,115,97,108,32,84,105,109,101,32,67,111,111,114,100,105,110,97,116,101,100,32,40,85,84,67,41,32,105,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,123,89,101,97,114,44,32,77,111,110,116,104,44,32,68,97,121,125,44,32,123,72,111,117,114,44,32,77,105,110,117,116,101,44,32,83,101,99,111,110,100,125,125>>]},<<32,105,102,32,115,117,112,112,111,114,116,101,100,32,98,121,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,46,32,79,116,104,101,114,119,105,115,101,32>>,{code,[],[<<101,114,108,97,110,103,58,117,110,105,118,101,114,115,97,108,116,105,109,101,40,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,40,41>>]},<<46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,98,97,115,101,100,32,111,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,83,121,115,116,101,109,32,84,105,109,101>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,117,110,105,118,101,114,115,97,108,116,105,109,101,40,41,46,10,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,52,44,49,56,44,52,51,125,125>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,48,56,55>>,signature => [{attribute,{2125,2},spec,{{erlang,universaltime,0},[{type,{2125,27},bounded_fun,[{type,{2125,27},'fun',[{type,{2125,27},product,[]},{var,{2125,33},'DateTime'}]},[{type,{2126,7},constraint,[{atom,{2126,7},is_subtype},[{var,{2126,7},'DateTime'},{remote_type,{2126,19},[{atom,{2126,19},calendar},{atom,{2126,28},datetime},[]]}]]}]]}]}}]}},{{function,universaltime_to_localtime,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2942}],[<<117,110,105,118,101,114,115,97,108,116,105,109,101,95,116,111,95,108,111,99,97,108,116,105,109,101,47,49>>],#{<<101,110>> => [{p,[],[<<67,111,110,118,101,114,116,115,32,85,110,105,118,101,114,115,97,108,32,84,105,109,101,32,67,111,111,114,100,105,110,97,116,101,100,32,40,85,84,67,41,32,100,97,116,101,32,97,110,100,32,116,105,109,101,32,116,111,32,108,111,99,97,108,32,100,97,116,101,32,97,110,100,32,116,105,109,101,32,105,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,123,89,101,97,114,44,32,77,111,110,116,104,44,32,68,97,121,125,44,32,123,72,111,117,114,44,32,77,105,110,117,116,101,44,32,83,101,99,111,110,100,125,125>>]},<<32,105,102,32,115,117,112,112,111,114,116,101,100,32,98,121,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,46,32,79,116,104,101,114,119,105,115,101,32,110,111,32,99,111,110,118,101,114,115,105,111,110,32,105,115,32,100,111,110,101,44,32,97,110,100,32>>,{code,[],[<<85,110,105,118,101,114,115,97,108,116,105,109,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,117,110,105,118,101,114,115,97,108,116,105,109,101,95,116,111,95,108,111,99,97,108,116,105,109,101,40,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,52,44,49,56,44,52,51,125,125,41,46,10,123,123,49,57,57,54,44,49,49,44,55,125,44,123,49,53,44,49,56,44,52,51,125,125>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<85,110,105,118,101,114,115,97,108,116,105,109,101>>]},<<32,100,101,110,111,116,101,115,32,97,110,32,105,110,118,97,108,105,100,32,100,97,116,101,32,97,110,100,32,116,105,109,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,49,48,54>>,signature => [{attribute,{2942,2},spec,{{erlang,universaltime_to_localtime,1},[{type,{2942,40},bounded_fun,[{type,{2942,40},'fun',[{type,{2942,40},product,[{var,{2942,41},'Universaltime'}]},{var,{2942,60},'Localtime'}]},[{type,{2943,7},constraint,[{atom,{2943,7},is_subtype},[{var,{2943,7},'Localtime'},{remote_type,{2943,20},[{atom,{2943,20},calendar},{atom,{2943,29},datetime},[]]}]]},{type,{2944,7},constraint,[{atom,{2944,7},is_subtype},[{var,{2944,7},'Universaltime'},{remote_type,{2944,24},[{atom,{2944,24},calendar},{atom,{2944,33},datetime},[]]}]]}]]}]}}]}},{{function,unlink,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2137}],[<<117,110,108,105,110,107,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,109,111,118,101,115,32,97,32,108,105,110,107,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,32,111,114,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,100>>]},<<46,32,87,101,32,119,105,108,108,32,102,114,111,109,32,104,101,114,101,32,111,110,32,99,97,108,108,32,116,104,101,32,105,100,101,110,116,105,102,105,101,100,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,117,110,108,105,110,107,101,101,46>>]},{p,[],[<<65,32,108,105,110,107,32,99,97,110,32,98,101,32,115,101,116,32,117,112,32,117,115,105,110,103,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,110,107,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<108,105,110,107,47,49>>]}]},<<32,66,73,70,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,108,105,110,107,115,32,97,110,100,32,101,120,105,116,32,115,105,103,110,97,108,115,32,100,117,101,32,116,111,32,108,105,110,107,115,44,32,115,101,101,32,116,104,101,32>>,{i,[],[<<80,114,111,99,101,115,115,101,115>>]},<<32,99,104,97,112,116,101,114,32,105,110,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<58>>]},{ul,[],[{li,[],[{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,108,105,110,107,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<76,105,110,107,115>>]}]},{li,[],[{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,115,101,110,100,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<83,101,110,100,105,110,103,32,69,120,105,116,32,83,105,103,110,97,108,115>>]}]},{li,[],[{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,114,101,99,101,105,118,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<82,101,99,101,105,118,105,110,103,32,69,120,105,116,32,83,105,103,110,97,108,115>>]}]}]},{p,[],[<<79,110,99,101,32>>,{code,[],[<<117,110,108,105,110,107,40,73,100,41>>]},<<32,104,97,115,32,114,101,116,117,114,110,101,100,44,32,105,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,104,97,116,32,116,104,101,32,108,105,110,107,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,101,114,32,97,110,100,32,116,104,101,32,117,110,108,105,110,107,101,101,32,104,97,115,32,110,111,32,101,102,102,101,99,116,32,111,110,32,116,104,101,32,99,97,108,108,101,114,32,105,110,32,116,104,101,32,102,117,116,117,114,101,32,40,117,110,108,101,115,115,32,116,104,101,32,108,105,110,107,32,105,115,32,115,101,116,117,112,32,97,103,97,105,110,41,46,32,78,111,116,101,32,116,104,97,116,32,105,102,32,116,104,101,32,99,97,108,108,101,114,32,105,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,116,114,97,112,95,101,120,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,114,97,112,112,105,110,103,32,101,120,105,116,115>>]},<<44,32,97,110,32>>,{code,[],[<<123,39,69,88,73,84,39,44,32,73,100,44,32,69,120,105,116,82,101,97,115,111,110,125>>]},<<32,109,101,115,115,97,103,101,32,100,117,101,32,116,111,32,116,104,101,32,108,105,110,107,32,109,97,121,32,104,97,118,101,32,98,101,101,110,32,112,108,97,99,101,100,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,111,102,32,116,104,101,32,99,97,108,108,101,114,32,98,101,102,111,114,101,32,116,104,101,32>>,{code,[],[<<117,110,108,105,110,107,40,73,100,41>>]},<<32,99,97,108,108,32,99,111,109,112,108,101,116,101,100,46,32,65,108,115,111,32,110,111,116,101,32,116,104,97,116,32,116,104,101,32>>,{code,[],[<<123,39,69,88,73,84,39,44,32,73,100,44,32,69,120,105,116,82,101,97,115,111,110,125>>]},<<32,109,101,115,115,97,103,101,32,109,97,121,32,98,101,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,108,105,110,107,44,32,98,117,116,32,109,97,121,32,97,108,115,111,32,98,101,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,117,110,108,105,107,101,101,32,115,101,110,100,105,110,103,32,116,104,101,32,99,97,108,108,101,114,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,98,121,32,99,97,108,108,105,110,103,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,105,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,120,105,116,47,50>>]}]},<<32,66,73,70,46,32,84,104,101,114,101,102,111,114,101,44,32,105,116,32,109,97,121,32,111,114,32,109,97,121,32,110,111,116,32,98,101,32,97,112,112,114,111,112,114,105,97,116,101,32,116,111,32,99,108,101,97,110,32,117,112,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,97,102,116,101,114,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<117,110,108,105,110,107,40,73,100,41>>]},<<32,97,115,32,102,111,108,108,111,119,115,44,32,119,104,101,110,32,116,114,97,112,112,105,110,103,32,101,120,105,116,115,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<117,110,108,105,110,107,40,73,100,41,44,10,114,101,99,101,105,118,101,10,32,32,32,32,123,39,69,88,73,84,39,44,32,73,100,44,32,95,125,32,45,62,10,32,32,32,32,32,32,32,32,116,114,117,101,10,97,102,116,101,114,32,48,32,45,62,10,32,32,32,32,32,32,32,32,116,114,117,101,10,101,110,100>>]}]},{p,[],[<<84,104,101,32,108,105,110,107,32,114,101,109,111,118,97,108,32,105,115,32,112,101,114,102,111,114,109,101,100,32,97,115,121,110,99,104,114,111,110,111,117,115,108,121,46,32,73,102,32,115,117,99,104,32,97,32,108,105,110,107,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,110,111,116,104,105,110,103,32,105,115,32,100,111,110,101,46,32,65,32,100,101,116,97,105,108,101,100,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,105,115,116,95,112,114,111,116,111,99,111,108,35,108,105,110,107,95,112,114,111,116,111,99,111,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<108,105,110,107,32,112,114,111,116,111,99,111,108>>]},<<32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32>>,{i,[],[<<68,105,115,116,114,105,98,117,116,105,111,110,32,80,114,111,116,111,99,111,108>>]},<<32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32>>,{i,[],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<73,100>>]},<<32,100,111,101,115,32,110,111,116,32,105,100,101,110,116,105,102,121,32,97,32,112,114,111,99,101,115,115,32,111,114,32,97,32,110,111,100,101,32,108,111,99,97,108,32,112,111,114,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,49,50,53>>,signature => [{attribute,{2137,2},spec,{{unlink,1},[{type,{2137,13},bounded_fun,[{type,{2137,13},'fun',[{type,{2137,13},product,[{var,{2137,14},'Id'}]},{atom,{2137,21},true}]},[{type,{2138,7},constraint,[{atom,{2138,7},is_subtype},[{var,{2138,7},'Id'},{type,{2138,13},union,[{type,{2138,13},pid,[]},{type,{2138,21},port,[]}]}]]}]]}]}}]}},{{function,unregister,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2143}],[<<117,110,114,101,103,105,115,116,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,109,111,118,101,115,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,103,105,115,116,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,103,105,115,116,101,114,101,100,32,110,97,109,101>>]}]},<<32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,114,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32,102,114,111,109,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,114,117,110,116,105,109,101,45,115,101,114,118,105,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<110,97,109,101,32,114,101,103,105,115,116,114,121>>]}]},<<46,32,70,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,117,110,114,101,103,105,115,116,101,114,40,100,98,41,46,10,116,114,117,101>>]}]},{p,[],[<<75,101,101,112,32,105,110,32,109,105,110,100,32,116,104,97,116,32,121,111,117,32,99,97,110,32,115,116,105,108,108,32,114,101,99,101,105,118,101,32,115,105,103,110,97,108,115,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,97,102,116,101,114,32,105,116,32,104,97,115,32,98,101,101,110,32,117,110,114,101,103,105,115,116,101,114,101,100,32,97,115,32,116,104,101,32,115,101,110,100,101,114,32,109,97,121,32,104,97,118,101,32,108,111,111,107,101,100,32,117,112,32,116,104,101,32,110,97,109,101,32,98,101,102,111,114,101,32,115,101,110,100,105,110,103,32,116,111,32,105,116,46>>]},{p,[],[<<85,115,101,114,115,32,97,114,101,32,97,100,118,105,115,101,100,32,110,111,116,32,116,111,32,117,110,114,101,103,105,115,116,101,114,32,115,121,115,116,101,109,32,112,114,111,99,101,115,115,101,115,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,105,115,32,110,111,116,32,97,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,49,57,55>>,signature => [{attribute,{2143,2},spec,{{unregister,1},[{type,{2143,17},bounded_fun,[{type,{2143,17},'fun',[{type,{2143,17},product,[{var,{2143,18},'RegName'}]},{atom,{2143,30},true}]},[{type,{2144,7},constraint,[{atom,{2144,7},is_subtype},[{var,{2144,7},'RegName'},{type,{2144,18},atom,[]}]]}]]}]}}]}},{{function,whereis,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2149}],[<<119,104,101,114,101,105,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,114,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32,119,105,116,104,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,103,105,115,116,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,103,105,115,116,101,114,101,100,32,110,97,109,101>>]}]},<<32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,102,114,111,109,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,114,117,110,116,105,109,101,45,115,101,114,118,105,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<110,97,109,101,32,114,101,103,105,115,116,114,121>>]}]},<<46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,110,97,109,101,32,105,115,32,110,111,116,32,114,101,103,105,115,116,101,114,101,100,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,119,104,101,114,101,105,115,40,100,98,41,46,10,60,48,46,52,51,46,48,62>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,50,49,56>>,signature => [{attribute,{2149,2},spec,{{whereis,1},[{type,{2149,14},bounded_fun,[{type,{2149,14},'fun',[{type,{2149,14},product,[{var,{2149,15},'RegName'}]},{type,{2149,27},union,[{type,{2149,27},pid,[]},{type,{2149,35},port,[]},{atom,{2149,44},undefined}]}]},[{type,{2150,7},constraint,[{atom,{2150,7},is_subtype},[{var,{2150,7},'RegName'},{type,{2150,18},atom,[]}]]}]]}]}}]}},{{function,yield,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3438}],[<<121,105,101,108,100,47,48>>],#{<<101,110>> => [{p,[],[<<84,114,105,101,115,32,116,111,32,103,105,118,101,32,111,116,104,101,114,32,112,114,111,99,101,115,115,101,115,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,111,114,32,104,105,103,104,101,114,32,112,114,105,111,114,105,116,121,32,40,105,102,32,97,110,121,41,32,97,32,99,104,97,110,99,101,32,116,111,32,101,120,101,99,117,116,101,32,98,101,102,111,114,101,32,114,101,116,117,114,110,105,110,103,46,32,84,104,101,114,101,32,105,115,32,110,111,32,103,117,97,114,97,110,116,101,101,32,116,104,97,116,32,97,110,121,32,111,116,104,101,114,32,112,114,111,99,101,115,115,32,114,117,110,115,32,98,101,116,119,101,101,110,32,116,104,101,32,105,110,118,111,99,97,116,105,111,110,32,97,110,100,32,114,101,116,117,114,110,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,121,105,101,108,100,47,48>>]},<<46>>]},{p,[],[<<83,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,114,101,99,101,105,118,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<114,101,99,101,105,118,101,45,97,102,116,101,114>>]},<<32,101,120,112,114,101,115,115,105,111,110,115>>]},<<32,102,111,114,32,104,111,119,32,116,111,32,109,97,107,101,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,32,115,108,101,101,112,32,102,111,114,32,97,32,115,112,101,99,105,102,105,99,32,110,117,109,98,101,114,32,111,102,32,109,105,108,108,105,115,101,99,111,110,100,115,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,101,114,101,32,105,115,32,115,101,108,100,111,109,32,111,114,32,110,101,118,101,114,32,97,110,121,32,110,101,101,100,32,116,111,32,117,115,101,32,116,104,105,115,32,66,73,70,46,32,85,115,105,110,103,32,116,104,105,115,32,66,73,70,32,119,105,116,104,111,117,116,32,97,32,116,104,111,114,111,117,103,104,32,103,114,97,115,112,32,111,102,32,104,111,119,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,119,111,114,107,115,32,99,97,110,32,99,97,117,115,101,32,112,101,114,102,111,114,109,97,110,99,101,32,100,101,103,114,97,100,97,116,105,111,110,46,32,84,104,101,32,99,117,114,114,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,112,117,116,115,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,32,108,97,115,116,32,105,110,32,116,104,101,32,99,117,114,114,101,110,116,32,115,99,104,101,100,117,108,101,114,39,115,32,113,117,101,117,101,32,102,111,114,32,112,114,111,99,101,115,115,101,115,32,111,102,32,116,104,101,32,115,97,109,101,32,112,114,105,111,114,105,116,121,32,97,115,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,50,51,53>>,signature => [{attribute,{3438,2},spec,{{erlang,yield,0},[{type,{3438,19},'fun',[{type,{3438,19},product,[]},{atom,{3438,25},true}]}]}}]}},{{type,any,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,80}],[<<45,116,121,112,101,32,97,110,121,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,108,108,32,112,111,115,115,105,98,108,101,32,69,114,108,97,110,103,32,116,101,114,109,115,46,32,83,121,110,111,110,121,109,32,102,111,114,32>>,{code,[],[<<116,101,114,109,40,41>>]},<<46>>]}]},#{signature => [{attribute,{80,2},type,{any,{type,{80,16},any,[]},[]}}]}},{{type,arity,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,81}],[<<45,116,121,112,101,32,97,114,105,116,121,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,97,114,105,116,121,32,111,102,32,97,32,102,117,110,99,116,105,111,110,32,111,114,32,116,121,112,101,46>>]}]},#{signature => [{attribute,{81,2},type,{arity,{type,{81,18},arity,[]},[]}}]}},{{type,atom,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,82}],[<<45,116,121,112,101,32,97,116,111,109,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,97,116,111,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<97,116,111,109>>]},<<46>>]}]},#{signature => [{attribute,{82,2},type,{atom,{type,{82,17},atom,[]},[]}}]}},{{type,binary,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,83}],[<<45,116,121,112,101,32,98,105,110,97,114,121,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,98,105,116,45,115,116,114,105,110,103,115,45,97,110,100,45,98,105,110,97,114,105,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<98,105,110,97,114,121>>]},<<44,32,116,104,97,116,32,105,115,44,32,97,32,98,105,116,115,116,114,105,110,103,32,119,105,116,104,32,97,32,115,105,122,101,32,100,105,118,105,115,105,98,108,101,32,98,121,32,56,46>>]}]},#{signature => [{attribute,{83,2},type,{binary,{type,{83,19},binary,[{integer,83,0},{integer,{83,25},8}]},[]}}]}},{{type,bitstring,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,84}],[<<45,116,121,112,101,32,98,105,116,115,116,114,105,110,103,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,98,105,116,45,115,116,114,105,110,103,115,45,97,110,100,45,98,105,110,97,114,105,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<98,105,116,115,116,114,105,110,103>>]},<<46>>]}]},#{signature => [{attribute,{84,2},type,{bitstring,{type,{84,22},binary,[{integer,84,0},{integer,{84,28},1}]},[]}}]}},{{type,boolean,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,86}],[<<45,116,121,112,101,32,98,111,111,108,101,97,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,98,111,111,108,101,97,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<98,111,111,108,101,97,110>>]},<<32,118,97,108,117,101,46>>]}]},#{signature => [{attribute,{86,2},type,{boolean,{type,{86,20},union,[{atom,{86,20},true},{atom,{86,27},false}]},[]}}]}},{{type,byte,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,87}],[<<45,116,121,112,101,32,98,121,116,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,98,121,116,101,32,111,102,32,100,97,116,97,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,110,32,105,110,116,101,103,101,114,46>>]}]},#{signature => [{attribute,{87,2},type,{byte,{type,{87,17},range,[{integer,{87,17},0},{integer,{87,20},255}]},[]}}]}},{{type,char,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,88}],[<<45,116,121,112,101,32,99,104,97,114,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114,32,111,114,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,105,99,111,100,101>>]},<<32,99,111,100,101,112,111,105,110,116,32,112,114,101,115,101,110,116,101,100,32,98,121,32,97,110,32,105,110,116,101,103,101,114,46>>]}]},#{signature => [{attribute,{88,2},type,{char,{type,{88,17},range,[{integer,{88,17},0},{integer,{88,20},1114111}]},[]}}]}},{{type,float,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,89}],[<<45,116,121,112,101,32,102,108,111,97,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,110,117,109,98,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<102,108,111,97,116>>]},<<46>>]}]},#{signature => [{attribute,{89,2},type,{float,{type,{89,18},float,[]},[]}}]}},{{type,function,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,90}],[<<45,116,121,112,101,32,102,117,110,99,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,102,117,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<102,117,110>>]},<<46>>]}]},#{signature => [{attribute,{90,2},type,{function,{type,{90,21},'fun',[]},[]}}]}},{{type,identifier,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,91}],[<<45,116,121,112,101,32,105,100,101,110,116,105,102,105,101,114,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,117,110,105,113,117,101,32,105,100,101,110,116,105,102,105,101,114,32,102,111,114,32,115,111,109,101,32,101,110,116,105,116,121,44,32,102,111,114,32,101,120,97,109,112,108,101,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<112,114,111,99,101,115,115>>]},<<44,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,111,114,116,115,35,112,111,114,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<112,111,114,116>>]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<109,111,110,105,116,111,114>>]},<<46>>]}]},#{signature => [{attribute,{91,2},type,{identifier,{type,{91,23},union,[{type,{91,23},pid,[]},{type,{91,31},port,[]},{type,{91,40},reference,[]}]},[]}}]}},{{type,integer,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,92}],[<<45,116,121,112,101,32,105,110,116,101,103,101,114,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,110,117,109,98,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<105,110,116,101,103,101,114>>]},<<46>>]}]},#{signature => [{attribute,{92,2},type,{integer,{type,{92,20},integer,[]},[]}}]}},{{type,iodata,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,93}],[<<45,116,121,112,101,32,105,111,100,97,116,97,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,98,105,110,97,114,121,32,111,114,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,98,121,116,101,115,32,97,110,100,47,111,114,32,105,111,100,97,116,97,46,32,84,104,105,115,32,100,97,116,97,116,121,112,101,32,105,115,32,117,115,101,100,32,116,111,32,114,101,112,114,101,115,101,110,116,32,100,97,116,97,32,116,104,97,116,32,105,115,32,109,101,97,110,116,32,116,111,32,98,101,32,111,117,116,112,117,116,32,117,115,105,110,103,32,97,110,121,32,73,47,79,32,109,111,100,117,108,101,46,32,70,111,114,32,101,120,97,109,112,108,101,58,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<102,105,108,101,58,119,114,105,116,101,47,50>>]},<<32,111,114,32>>,{a,[{href,<<107,101,114,110,101,108,58,103,101,110,95,116,99,112,35,115,101,110,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<103,101,110,95,116,99,112,58,115,101,110,100,47,50>>]},<<46>>]},{p,[],[<<84,111,32,99,111,110,118,101,114,116,32,97,110,32,105,111,100,97,116,97,40,41,32,116,101,114,109,32,116,111,32,98,105,110,97,114,121,40,41,32,121,111,117,32,99,97,110,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,50>>]},<<46,32,84,111,32,116,114,97,110,115,99,111,100,101,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,114,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<115,116,114,105,110,103,40,41>>]},<<32,111,114,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101,35,99,104,97,114,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<117,110,105,99,111,100,101,58,99,104,97,114,100,97,116,97,40,41>>]},<<32,116,111,32,105,111,100,97,116,97,40,41,32,121,111,117,32,99,97,110,32,117,115,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101,35,99,104,97,114,97,99,116,101,114,115,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<117,110,105,99,111,100,101,58,99,104,97,114,97,99,116,101,114,115,95,116,111,95,98,105,110,97,114,121,47,49>>]},<<46>>]}]},#{signature => [{attribute,{93,2},type,{iodata,{type,{93,19},union,[{type,{93,19},iolist,[]},{type,{93,30},binary,[]}]},[]}}]}},{{type,iolist,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,94}],[<<45,116,121,112,101,32,105,111,108,105,115,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,98,121,116,101,115,32,97,110,100,47,111,114,32,105,111,100,97,116,97,46,32,84,104,105,115,32,100,97,116,97,116,121,112,101,32,105,115,32,117,115,101,100,32,116,111,32,114,101,112,114,101,115,101,110,116,32,100,97,116,97,32,116,104,97,116,32,105,115,32,109,101,97,110,116,32,116,111,32,98,101,32,111,117,116,112,117,116,32,117,115,105,110,103,32,97,110,121,32,73,47,79,32,109,111,100,117,108,101,46,32,70,111,114,32,101,120,97,109,112,108,101,58,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<102,105,108,101,58,119,114,105,116,101,47,50>>]},<<32,111,114,32>>,{a,[{href,<<107,101,114,110,101,108,58,103,101,110,95,116,99,112,35,115,101,110,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<103,101,110,95,116,99,112,58,115,101,110,100,47,50>>]},<<46>>]},{p,[],[<<73,110,32,109,111,115,116,32,117,115,101,32,99,97,115,101,115,32,121,111,117,32,119,97,110,116,32,116,111,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,105,111,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<105,111,100,97,116,97,40,41>>]},<<32,105,110,115,116,101,97,100,32,111,102,32,116,104,105,115,32,116,121,112,101,46>>]}]},#{signature => [{attribute,{94,2},type,{iolist,{type,{94,19},maybe_improper_list,[{type,{94,39},union,[{type,{94,39},byte,[]},{type,{94,48},binary,[]},{type,{94,59},iolist,[]}]},{type,{94,69},union,[{type,{94,69},binary,[]},{type,{94,80},nil,[]}]}]},[]}}]}},{{type,list,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,95}],[<<45,116,121,112,101,32,108,105,115,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<108,105,115,116>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,101,114,109,115,32,111,102,32,97,110,121,32,116,121,112,101,46>>]}]},#{signature => [{attribute,{95,2},type,{list,{type,{95,17},list,[]},[]}}]}},{{type,list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,96}],[<<45,116,121,112,101,32,108,105,115,116,40,65,114,103,49,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<108,105,115,116>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,101,114,109,115,32,111,102,32,116,104,101,32,116,121,112,101,32>>,{code,[],[<<67,111,110,116,101,110,116,84,121,112,101>>]},<<46>>]}]},#{signature => [{attribute,{96,2},type,{list,{type,{96,28},list,[{var,{96,33},'ContentType'}]},[{var,{96,12},'ContentType'}]}}]}},{{type,map,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,97}],[<<45,116,121,112,101,32,109,97,112,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,109,97,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<109,97,112>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,97,110,121,32,110,117,109,98,101,114,32,111,102,32,107,101,121,32,97,110,100,32,118,97,108,117,101,32,97,115,115,111,99,105,97,116,105,111,110,115,46>>]}]},#{signature => [{attribute,{97,2},type,{map,{type,{97,16},map,[{type,{97,25},map_field_assoc,[{type,{97,19},any,[]},{type,{97,28},any,[]}]}]},[]}}]}},{{type,maybe_improper_list,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,98}],[<<45,116,121,112,101,32,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<108,105,115,116>>]},<<32,116,104,97,116,32,105,115,32,110,111,116,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,101,110,100,32,119,105,116,104,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,110,105,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<91,93>>]},<<44,32,97,110,100,32,119,104,101,114,101,32,116,104,101,32,108,105,115,116,32,101,108,101,109,101,110,116,115,32,99,97,110,32,98,101,32,111,102,32,97,110,121,32,116,121,112,101,46>>]}]},#{signature => [{attribute,{98,2},type,{maybe_improper_list,{type,{98,32},maybe_improper_list,[{type,{98,52},any,[]},{type,{98,59},any,[]}]},[]}}]}},{{type,maybe_improper_list,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,99}],[<<45,116,121,112,101,32,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,65,114,103,49,44,65,114,103,50,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<108,105,115,116>>]},<<44,32,116,104,97,116,32,105,115,32,110,111,116,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,101,110,100,32,119,105,116,104,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,110,105,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<91,93>>]},<<44,32,97,110,100,32,119,104,101,114,101,32,116,104,101,32,108,105,115,116,32,101,108,101,109,101,110,116,115,32,97,114,101,32,111,102,32,116,104,101,32,116,121,112,101,32>>,{code,[],[<<67,111,110,116,101,110,116,84,121,112,101>>]},<<46>>]}]},#{signature => [{attribute,{99,2},type,{maybe_improper_list,{type,{99,60},maybe_improper_list,[{var,{99,80},'ContentType'},{var,{99,93},'TerminationType'}]},[{var,{99,27},'ContentType'},{var,{99,40},'TerminationType'}]}}]}},{{type,mfa,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,100}],[<<45,116,121,112,101,32,109,102,97,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,116,104,114,101,101,45,116,117,112,108,101,32,114,101,112,114,101,115,101,110,116,105,110,103,32,97,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,47,65,114,105,116,121>>]},<<32,102,117,110,99,116,105,111,110,32,115,105,103,110,97,116,117,114,101,46>>]}]},#{signature => [{attribute,{100,2},type,{mfa,{type,{100,16},tuple,[{type,{100,17},module,[]},{type,{100,26},atom,[]},{type,{100,33},arity,[]}]},[]}}]}},{{type,module,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,101}],[<<45,116,121,112,101,32,109,111,100,117,108,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32,109,111,100,117,108,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{101,2},type,{module,{type,{101,19},atom,[]},[]}}]}},{{type,neg_integer,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,102}],[<<45,116,121,112,101,32,110,101,103,95,105,110,116,101,103,101,114,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,110,101,103,97,116,105,118,101,32,105,110,116,101,103,101,114,46>>]}]},#{signature => [{attribute,{102,2},type,{neg_integer,{type,{102,24},neg_integer,[]},[]}}]}},{{type,nil,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,103}],[<<45,116,121,112,101,32,110,105,108,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,101,109,112,116,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<108,105,115,116,40,41>>]},<<46>>]}]},#{signature => [{attribute,{103,2},type,{nil,{type,{103,16},nil,[]},[]}}]}},{{type,no_return,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,104}],[<<45,116,121,112,101,32,110,111,95,114,101,116,117,114,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,116,121,112,101,32,117,115,101,100,32,116,111,32,115,104,111,119,32,116,104,97,116,32,97,32,102,117,110,99,116,105,111,110,32,119,105,108,108,32>>,{em,[],[<<110,101,118,101,114>>]},<<32,114,101,116,117,114,110,32,97,32,118,97,108,117,101,44,32,116,104,97,116,32,105,115,32,105,116,32,119,105,108,108,32>>,{em,[],[<<97,108,119,97,121,115>>]},<<32,116,104,114,111,119,32,97,110,32,101,120,99,101,112,116,105,111,110,46>>]}]},#{signature => [{attribute,{104,2},type,{no_return,{type,{104,22},none,[]},[]}}]}},{{type,node,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,105}],[<<45,116,121,112,101,32,110,111,100,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,105,115,116,114,105,98,117,116,101,100,35,110,111,100,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<110,111,100,101>>]},<<32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{105,2},type,{node,{type,{105,17},atom,[]},[]}}]}},{{type,non_neg_integer,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,106}],[<<45,116,121,112,101,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,110,111,110,45,110,101,103,97,116,105,118,101,32,105,110,116,101,103,101,114,44,32,116,104,97,116,32,105,115,32,97,110,121,32,112,111,115,105,116,105,118,101,32,105,110,116,101,103,101,114,32,111,114,32,48,46>>]}]},#{signature => [{attribute,{106,2},type,{non_neg_integer,{type,{106,28},non_neg_integer,[]},[]}}]}},{{type,none,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,107}],[<<45,116,121,112,101,32,110,111,110,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<84,104,105,115,32,116,121,112,101,32,105,115,32,117,115,101,100,32,116,111,32,115,104,111,119,32,116,104,97,116,32,97,32,102,117,110,99,116,105,111,110,32,119,105,108,108,32>>,{em,[],[<<110,101,118,101,114>>]},<<32,114,101,116,117,114,110,32,97,32,118,97,108,117,101,59,32,116,104,97,116,32,105,115,32,105,116,32,119,105,108,108,32>>,{em,[],[<<97,108,119,97,121,115>>]},<<32,116,104,114,111,119,32,97,110,32,101,120,99,101,112,116,105,111,110,46,32,73,110,32,97,32,115,112,101,99,44,32,117,115,101,32>>,{code,[],[<<110,111,95,114,101,116,117,114,110,40,41>>]},<<32,102,111,114,32,116,104,101,32,115,97,107,101,32,111,102,32,99,108,97,114,105,116,121,46>>]}]},#{signature => [{attribute,{107,2},type,{none,{type,{107,17},none,[]},[]}}]}},{{type,nonempty_binary,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,108}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,98,105,110,97,114,121,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<98,105,110,97,114,121,40,41>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,100,97,116,97,46>>]}]},#{signature => [{attribute,{108,2},type,{nonempty_binary,{type,{108,28},binary,[{integer,{108,32},8},{integer,{108,39},8}]},[]}}]}},{{type,nonempty_bitstring,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,109}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,98,105,116,115,116,114,105,110,103,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,116,115,116,114,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<98,105,116,115,116,114,105,110,103,40,41>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,100,97,116,97,46>>]}]},#{signature => [{attribute,{109,2},type,{nonempty_bitstring,{type,{109,31},binary,[{integer,{109,35},1},{integer,{109,42},1}]},[]}}]}},{{type,nonempty_improper_list,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,110}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,65,114,103,49,44,65,114,103,50,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,47,50>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,105,116,101,109,115,46>>]}]},#{signature => [{attribute,{110,2},type,{nonempty_improper_list,{type,{110,63},nonempty_improper_list,[{var,{110,86},'ContentType'},{var,{110,99},'TerminationType'}]},[{var,{110,30},'ContentType'},{var,{110,43},'TerminationType'}]}}]}},{{type,nonempty_list,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,111}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,108,105,115,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<108,105,115,116,40,41>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,105,116,101,109,115,46>>]}]},#{signature => [{attribute,{111,2},type,{nonempty_list,{type,{111,26},nonempty_list,[{type,{111,40},any,[]}]},[]}}]}},{{type,nonempty_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,112}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,108,105,115,116,40,65,114,103,49,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<108,105,115,116,40,67,111,110,116,101,110,116,84,121,112,101,41>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,105,116,101,109,115,46>>]}]},#{signature => [{attribute,{112,2},type,{nonempty_list,{type,{112,37},nonempty_list,[{var,{112,38},'ContentType'}]},[{var,{112,21},'ContentType'}]}}]}},{{type,nonempty_maybe_improper_list,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,113}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,41>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,105,116,101,109,115,46>>]}]},#{signature => [{attribute,{113,2},type,{nonempty_maybe_improper_list,{type,{113,41},nonempty_maybe_improper_list,[{type,{113,70},any,[]},{type,{113,77},any,[]}]},[]}}]}},{{type,nonempty_maybe_improper_list,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,114}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,65,114,103,49,44,65,114,103,50,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,67,111,110,116,101,110,116,84,121,112,101,44,32,84,101,114,109,105,110,97,116,105,111,110,84,121,112,101,41>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,105,116,101,109,115,46>>]}]},#{signature => [{attribute,{114,2},type,{nonempty_maybe_improper_list,{type,{114,69},nonempty_maybe_improper_list,[{var,{114,98},'ContentType'},{var,{114,111},'TerminationType'}]},[{var,{114,36},'ContentType'},{var,{114,49},'TerminationType'}]}}]}},{{type,nonempty_string,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,115}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,115,116,114,105,110,103,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,114,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<115,116,114,105,110,103,40,41>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,99,104,97,114,97,99,116,101,114,115,46>>]}]},#{signature => [{attribute,{115,2},type,{nonempty_string,{type,{115,28},nonempty_list,[{type,{115,42},char,[]}]},[]}}]}},{{type,number,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,116}],[<<45,116,121,112,101,32,110,117,109,98,101,114,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,110,117,109,98,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<110,117,109,98,101,114>>]},<<46>>]}]},#{signature => [{attribute,{116,2},type,{number,{type,{116,19},union,[{type,{116,19},integer,[]},{type,{116,31},float,[]}]},[]}}]}},{{type,pid,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,117}],[<<45,116,121,112,101,32,112,105,100,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,112,105,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114>>]},<<46>>]}]},#{signature => [{attribute,{117,2},type,{pid,{type,{117,16},pid,[]},[]}}]}},{{type,port,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,118}],[<<45,116,121,112,101,32,112,111,114,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,112,111,114,116,45,105,100,101,110,116,105,102,105,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<112,111,114,116,32,105,100,101,110,116,105,102,105,101,114>>]},<<46>>]}]},#{signature => [{attribute,{118,2},type,{port,{type,{118,17},port,[]},[]}}]}},{{type,pos_integer,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,119}],[<<45,116,121,112,101,32,112,111,115,95,105,110,116,101,103,101,114,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,105,110,116,101,103,101,114,32,103,114,101,97,116,101,114,32,116,104,97,110,32,122,101,114,111,46>>]}]},#{signature => [{attribute,{119,2},type,{pos_integer,{type,{119,24},pos_integer,[]},[]}}]}},{{type,reference,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,120}],[<<45,116,121,112,101,32,114,101,102,101,114,101,110,99,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,114,101,102,101,114,101,110,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<114,101,102,101,114,101,110,99,101>>]},<<46>>]}]},#{signature => [{attribute,{120,2},type,{reference,{type,{120,22},reference,[]},[]}}]}},{{type,string,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,121}],[<<45,116,121,112,101,32,115,116,114,105,110,103,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,99,104,97,114,97,99,116,101,114,32,115,116,114,105,110,103,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,32,108,105,115,116,32,111,102,32,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114,115,32,111,114,32,117,110,105,99,111,100,101,32,99,111,100,101,112,111,105,110,116,115,46>>]}]},#{signature => [{attribute,{121,2},type,{string,{type,{121,19},list,[{type,{121,20},char,[]}]},[]}}]}},{{type,term,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,122}],[<<45,116,121,112,101,32,116,101,114,109,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,108,108,32,112,111,115,115,105,98,108,101,32,69,114,108,97,110,103,32,116,101,114,109,115,46,32,83,121,110,111,110,121,109,32,102,111,114,32>>,{code,[],[<<97,110,121,40,41>>]},<<46>>]}]},#{signature => [{attribute,{122,2},type,{term,{type,{122,17},any,[]},[]}}]}},{{type,timeout,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,123}],[<<45,116,121,112,101,32,116,105,109,101,111,117,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,116,105,109,101,111,117,116,32,118,97,108,117,101,32,116,104,97,116,32,99,97,110,32,98,101,32,112,97,115,115,101,100,32,116,111,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,114,101,99,101,105,118,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<114,101,99,101,105,118,101,32,101,120,112,114,101,115,115,105,111,110>>]},<<46>>]}]},#{signature => [{attribute,{123,2},type,{timeout,{type,{123,20},union,[{atom,{123,20},infinity},{type,{123,33},non_neg_integer,[]}]},[]}}]}},{{type,tuple,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,124}],[<<45,116,121,112,101,32,116,117,112,108,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,116,117,112,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,117,112,108,101>>]},<<46>>]}]},#{signature => [{attribute,{124,2},type,{tuple,{type,{124,18},tuple,any},[]}}]}},{{type,ext_binary,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,155}],[<<45,116,121,112,101,32,101,120,116,95,98,105,110,97,114,121,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,98,105,110,97,114,121,32,100,97,116,97,32,111,98,106,101,99,116,44,32,115,116,114,117,99,116,117,114,101,100,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46>>]}]},#{signature => [{attribute,{155,2},type,{ext_binary,{type,{155,23},binary,[]},[]}}]}},{{type,ext_iovec,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,156}],[<<45,116,121,112,101,32,101,120,116,95,105,111,118,101,99,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,116,101,114,109,32,111,102,32,116,121,112,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,105,111,118,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<105,111,118,101,99,40,41>>]}]},<<44,32,115,116,114,117,99,116,117,114,101,100,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46>>]}]},#{signature => [{attribute,{156,2},type,{ext_iovec,{user_type,{156,22},iovec,[]},[]}}]}},{{type,iovec,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,187}],[<<45,116,121,112,101,32,105,111,118,101,99,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,108,105,115,116,32,111,102,32,98,105,110,97,114,105,101,115,46,32,84,104,105,115,32,100,97,116,97,116,121,112,101,32,105,115,32,117,115,101,102,117,108,32,116,111,32,117,115,101,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,110,105,102,35,101,110,105,102,95,105,110,115,112,101,99,116,95,105,111,118,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,110,105,102,95,105,110,115,112,101,99,116,95,105,111,118,101,99>>]}]},<<46>>]}]},#{signature => [{attribute,{187,2},type,{iovec,{type,{187,18},list,[{type,{187,19},binary,[]}]},[]}}]}},{{type,message_queue_data,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2416}],[<<45,116,121,112,101,32,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,44,32,77,81,68,41>>]}]},<<46>>]}]},#{signature => [{attribute,{2416,2},type,{message_queue_data,{type,{2417,2},union,[{atom,{2417,2},off_heap},{atom,{2417,13},on_heap}]},[]}}]}},{{type,monitor_option,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1460}],[<<45,116,121,112,101,32,109,111,110,105,116,111,114,95,111,112,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,47,51>>]}]},<<46>>]}]},#{signature => [{attribute,{1460,2},type,{monitor_option,{type,{1460,27},union,[{type,{1460,27},tuple,[{atom,{1460,28},alias},{type,{1460,37},union,[{atom,{1460,37},explicit_unalias},{atom,{1460,58},demonitor},{atom,{1460,72},reply_demonitor}]}]},{type,{1461,27},tuple,[{atom,{1461,28},tag},{type,{1461,35},term,[]}]}]},[]}}]}},{{type,timestamp,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,157}],[<<45,116,121,112,101,32,116,105,109,101,115,116,97,109,112,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,105,109,101,115,116,97,109,112,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,105,109,101,115,116,97,109,112,47,48>>]}]},<<46>>]}]},#{signature => [{attribute,{157,2},type,{timestamp,{type,{157,22},tuple,[{ann_type,{157,23},[{var,{157,23},'MegaSecs'},{type,{157,35},non_neg_integer,[]}]},{ann_type,{158,23},[{var,{158,23},'Secs'},{type,{158,31},non_neg_integer,[]}]},{ann_type,{159,23},[{var,{159,23},'MicroSecs'},{type,{159,36},non_neg_integer,[]}]}]},[]}}]}},{{type,time_unit,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,161}],[<<45,116,121,112,101,32,116,105,109,101,95,117,110,105,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{a,[{id,<<116,121,112,101,95,116,105,109,101,95,117,110,105,116>>}],[]},{p,[],[<<83,117,112,112,111,114,116,101,100,32,116,105,109,101,32,117,110,105,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<80,97,114,116,115,80,101,114,83,101,99,111,110,100,32,58,58,32,105,110,116,101,103,101,114,40,41,32,62,61,32,49>>]}]},{dd,[],[{p,[],[<<84,105,109,101,32,117,110,105,116,32,101,120,112,114,101,115,115,101,100,32,105,110,32,112,97,114,116,115,32,112,101,114,32,115,101,99,111,110,100,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,101,113,117,97,108,115,32>>,{code,[],[<<49,47,80,97,114,116,115,80,101,114,83,101,99,111,110,100>>]},<<32,115,101,99,111,110,100,46>>]}]},{dt,[],[{code,[],[<<115,101,99,111,110,100>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,116,104,101,32,105,110,116,101,103,101,114,32>>,{code,[],[<<49>>]},<<46>>]}]},{dt,[],[{code,[],[<<109,105,108,108,105,115,101,99,111,110,100>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,116,104,101,32,105,110,116,101,103,101,114,32>>,{code,[],[<<49,48,48,48>>]},<<46>>]}]},{dt,[],[{code,[],[<<109,105,99,114,111,115,101,99,111,110,100>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,116,104,101,32,105,110,116,101,103,101,114,32>>,{code,[],[<<49,48,48,48,95,48,48,48>>]},<<46>>]}]},{dt,[],[{code,[],[<<110,97,110,111,115,101,99,111,110,100>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,116,104,101,32,105,110,116,101,103,101,114,32>>,{code,[],[<<49,48,48,48,95,48,48,48,95,48,48,48>>]},<<46>>]}]},{dt,[],[{code,[],[<<110,97,116,105,118,101>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,110,97,116,105,118,101,32,116,105,109,101,32,117,110,105,116,32,117,115,101,100,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,97,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,115,116,97,114,116,44,32,97,110,100,32,114,101,109,97,105,110,115,32,116,104,101,32,115,97,109,101,32,117,110,116,105,108,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,116,101,114,109,105,110,97,116,101,115,46,32,73,102,32,97,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,115,32,115,116,111,112,112,101,100,32,97,110,100,32,116,104,101,110,32,115,116,97,114,116,101,100,32,97,103,97,105,110,32,40,101,118,101,110,32,111,110,32,116,104,101,32,115,97,109,101,32,109,97,99,104,105,110,101,41,44,32,116,104,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,32,111,102,32,116,104,101,32,110,101,119,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,32,99,97,110,32,100,105,102,102,101,114,32,102,114,111,109,32,116,104,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,32,111,102,32,116,104,101,32,111,108,100,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46>>]},{p,[],[<<79,110,101,32,99,97,110,32,103,101,116,32,97,110,32,97,112,112,114,111,120,105,109,97,116,105,111,110,32,111,102,32,116,104,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,40,49,44,32,115,101,99,111,110,100,44,32,110,97,116,105,118,101,41>>]}]},<<46,32,84,104,101,32,114,101,115,117,108,116,32,101,113,117,97,108,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,119,104,111,108,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,115,32,112,101,114,32,115,101,99,111,110,100,46,32,73,102,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,115,32,112,101,114,32,115,101,99,111,110,100,32,100,111,101,115,32,110,111,116,32,97,100,100,32,117,112,32,116,111,32,97,32,119,104,111,108,101,32,110,117,109,98,101,114,44,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,114,111,117,110,100,101,100,32,100,111,119,110,119,97,114,100,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,32,103,105,118,101,115,32,121,111,117,32,109,111,114,101,32,111,114,32,108,101,115,115,32,110,111,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,113,117,97,108,105,116,121,32,111,102,32,116,105,109,101,32,118,97,108,117,101,115,46,32,73,116,32,115,101,116,115,32,97,32,108,105,109,105,116,32,102,111,114,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,82,101,115,111,108,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<114,101,115,111,108,117,116,105,111,110>>]},<<32,97,110,100,32,102,111,114,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,80,114,101,99,105,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<112,114,101,99,105,115,105,111,110>>]},<<32,111,102,32,116,105,109,101,32,118,97,108,117,101,115,44,32,98,117,116,32,105,116,32,103,105,118,101,115,32,110,111,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,65,99,99,117,114,97,99,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<97,99,99,117,114,97,99,121>>]},<<32,111,102,32,116,105,109,101,32,118,97,108,117,101,115,46,32,84,104,101,32,114,101,115,111,108,117,116,105,111,110,32,111,102,32,116,104,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,32,97,110,100,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,32,111,102,32,116,105,109,101,32,118,97,108,117,101,115,32,99,97,110,32,100,105,102,102,101,114,32,115,105,103,110,105,102,105,99,97,110,116,108,121,46>>]}]}]},{dt,[],[{code,[],[<<112,101,114,102,95,99,111,117,110,116,101,114>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,112,101,114,102,111,114,109,97,110,99,101,32,99,111,117,110,116,101,114,32,116,105,109,101,32,117,110,105,116,32,117,115,101,100,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<112,101,114,102,95,99,111,117,110,116,101,114>>]},<<32,116,105,109,101,32,117,110,105,116,32,98,101,104,97,118,101,115,32,109,117,99,104,32,105,110,32,116,104,101,32,115,97,109,101,32,119,97,121,32,97,115,32,116,104,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,46,32,84,104,97,116,32,105,115,44,32,105,116,32,99,97,110,32,100,105,102,102,101,114,32,98,101,116,119,101,101,110,32,114,117,110,116,105,109,101,32,114,101,115,116,97,114,116,115,46,32,84,111,32,103,101,116,32,118,97,108,117,101,115,32,111,102,32,116,104,105,115,32,116,121,112,101,44,32,99,97,108,108,32>>,{a,[{href,<<107,101,114,110,101,108,58,111,115,35,112,101,114,102,95,99,111,117,110,116,101,114,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,115,58,112,101,114,102,95,99,111,117,110,116,101,114,47,48>>]}]},<<46>>]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,100,101,112,114,101,99,97,116,101,100,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,101,112,114,101,99,97,116,101,100,95,116,105,109,101,95,117,110,105,116,40,41>>]}]}]},{dd,[],[{p,[],[<<68,101,112,114,101,99,97,116,101,100,32,115,121,109,98,111,108,105,99,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,115,32,107,101,112,116,32,102,111,114,32,98,97,99,107,119,97,114,100,115,45,99,111,109,112,97,116,105,98,105,108,105,116,121,46>>]}]}]},{p,[],[<<84,104,101,32>>,{code,[],[<<116,105,109,101,95,117,110,105,116,47,48>>]},<<32,116,121,112,101,32,99,97,110,32,98,101,32,101,120,116,101,110,100,101,100,46,32,84,111,32,99,111,110,118,101,114,116,32,116,105,109,101,32,118,97,108,117,101,115,32,98,101,116,119,101,101,110,32,116,105,109,101,32,117,110,105,116,115,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>]}]},<<46>>]}]},#{signature => [{attribute,{161,2},type,{time_unit,{type,{162,2},union,[{type,{162,2},pos_integer,[]},{atom,{163,9},second},{atom,{164,9},millisecond},{atom,{165,9},microsecond},{atom,{166,9},nanosecond},{atom,{167,9},native},{atom,{168,9},perf_counter},{user_type,{169,9},deprecated_time_unit,[]}]},[]}}]}},{{type,deprecated_time_unit,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,172}],[<<45,116,121,112,101,32,100,101,112,114,101,99,97,116,101,100,95,116,105,109,101,95,117,110,105,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{a,[{id,<<116,121,112,101,95,100,101,112,114,101,99,97,116,101,100,95,116,105,109,101,95,117,110,105,116>>}],[]},{p,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,105,109,101,95,117,110,105,116,40,41>>]}]},<<32,116,121,112,101,32,97,108,115,111,32,99,111,110,115,105,115,116,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32>>,{em,[],[<<100,101,112,114,101,99,97,116,101,100>>]},<<32,115,121,109,98,111,108,105,99,32,116,105,109,101,32,117,110,105,116,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<115,101,99,111,110,100,115>>]}]},{dd,[],[{p,[],[<<83,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,101,99,111,110,100>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<109,105,108,108,105,95,115,101,99,111,110,100,115>>]}]},{dd,[],[{p,[],[<<83,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,105,108,108,105,115,101,99,111,110,100>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<109,105,99,114,111,95,115,101,99,111,110,100,115>>]}]},{dd,[],[{p,[],[<<83,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,105,99,114,111,115,101,99,111,110,100>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<110,97,110,111,95,115,101,99,111,110,100,115>>]}]},{dd,[],[{p,[],[<<83,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<110,97,110,111,115,101,99,111,110,100>>]}]},<<46>>]}]}]}]},#{signature => [{attribute,{172,2},type,{deprecated_time_unit,{type,{173,7},union,[{atom,{173,7},seconds},{atom,{174,9},milli_seconds},{atom,{175,9},micro_seconds},{atom,{176,9},nano_seconds}]},[]}}]}},{{type,dist_handle,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,184}],[<<45,116,121,112,101,32,100,105,115,116,95,104,97,110,100,108,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,111,112,97,113,117,101,32,104,97,110,100,108,101,32,105,100,101,110,116,105,102,121,105,110,103,32,97,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,46>>]}]},#{signature => [{attribute,{184,2},opaque,{dist_handle,{type,{184,26},atom,[]},[]}}]}},{{type,nif_resource,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,181}],[<<45,116,121,112,101,32,110,105,102,95,114,101,115,111,117,114,99,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,111,112,97,113,117,101,32,104,97,110,100,108,101,32,105,100,101,110,116,105,102,121,105,110,103,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,110,105,102,35,114,101,115,111,117,114,99,101,95,111,98,106,101,99,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[<<78,73,70,32,114,101,115,111,117,114,99,101,32,111,98,106,101,99,116,32>>]},<<46>>]}]},#{signature => [{attribute,{181,2},opaque,{nif_resource,{type,{181,27},reference,[]},[]}}]}},{{type,spawn_opt_option,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3056}],[<<45,116,121,112,101,32,115,112,97,119,110,95,111,112,116,95,111,112,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<79,112,116,105,111,110,115,32,102,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,40,41>>]}]},<<46>>]}]},#{signature => [{attribute,{3056,2},type,{spawn_opt_option,{type,{3057,2},union,[{atom,{3057,2},link},{atom,{3058,9},monitor},{type,{3059,9},tuple,[{atom,{3059,10},monitor},{ann_type,{3059,19},[{var,{3059,19},'MonitorOpts'},{type,{3059,34},list,[{user_type,{3059,35},monitor_option,[]}]}]}]},{type,{3060,9},tuple,[{atom,{3060,10},priority},{ann_type,{3060,20},[{var,{3060,20},'Level'},{user_type,{3060,29},priority_level,[]}]}]},{type,{3061,9},tuple,[{atom,{3061,10},fullsweep_after},{ann_type,{3061,27},[{var,{3061,27},'Number'},{type,{3061,37},non_neg_integer,[]}]}]},{type,{3062,9},tuple,[{atom,{3062,10},min_heap_size},{ann_type,{3062,25},[{var,{3062,25},'Size'},{type,{3062,33},non_neg_integer,[]}]}]},{type,{3063,9},tuple,[{atom,{3063,10},min_bin_vheap_size},{ann_type,{3063,30},[{var,{3063,30},'VSize'},{type,{3063,39},non_neg_integer,[]}]}]},{type,{3064,9},tuple,[{atom,{3064,10},max_heap_size},{ann_type,{3064,25},[{var,{3064,25},'Size'},{user_type,{3064,33},max_heap_size,[]}]}]},{type,{3065,9},tuple,[{atom,{3065,10},message_queue_data},{ann_type,{3065,30},[{var,{3065,30},'MQD'},{user_type,{3065,37},message_queue_data,[]}]}]}]},[]}}]}},{{type,priority_level,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2413}],[<<45,116,121,112,101,32,112,114,105,111,114,105,116,121,95,108,101,118,101,108,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<80,114,111,99,101,115,115,32,112,114,105,111,114,105,116,121,32,108,101,118,101,108,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,112,114,105,111,114,105,116,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,112,114,105,111,114,105,116,121,44,32,76,101,118,101,108,41>>]}]}]}]},#{signature => [{attribute,{2413,2},type,{priority_level,{type,{2414,7},union,[{atom,{2414,7},low},{atom,{2414,13},normal},{atom,{2414,22},high},{atom,{2414,29},max}]},[]}}]}},{{type,max_heap_size,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3049}],[<<45,116,121,112,101,32,109,97,120,95,104,101,97,112,95,115,105,122,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<80,114,111,99,101,115,115,32,109,97,120,32,104,101,97,112,32,115,105,122,101,32,99,111,110,102,105,103,117,114,97,116,105,111,110,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,77,97,120,72,101,97,112,83,105,122,101,41>>]}]}]}]},#{signature => [{attribute,{3049,2},type,{max_heap_size,{ann_type,{3050,9},[{var,{3050,9},'Size'},{type,{3050,17},union,[{type,{3050,17},non_neg_integer,[]},{type,{3052,9},map,[{type,{3052,17},map_field_assoc,[{atom,{3052,12},size},{type,{3052,20},non_neg_integer,[]}]},{type,{3053,17},map_field_assoc,[{atom,{3053,12},kill},{type,{3053,20},boolean,[]}]},{type,{3054,25},map_field_assoc,[{atom,{3054,12},error_logger},{type,{3054,28},boolean,[]}]}]}]}]},[]}}]}},{{type,message_queue_data,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2416}],[<<45,116,121,112,101,32,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<80,114,111,99,101,115,115,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,100,97,116,97,32,99,111,110,102,105,103,117,114,97,116,105,111,110,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,44,32,77,81,68,41>>]}]}]}]},#{signature => [{attribute,{2416,2},type,{message_queue_data,{type,{2417,2},union,[{atom,{2417,2},off_heap},{atom,{2417,13},on_heap}]},[]}}]}},{{type,stacktrace_extrainfo,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,146}],[<<45,116,121,112,101,32,115,116,97,99,107,116,114,97,99,101,95,101,120,116,114,97,105,110,102,111,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32,115,116,97,99,107,116,114,97,99,101,32,97,115,32,100,101,115,99,114,105,98,101,100,32,98,121,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115,35,115,116,97,99,107,116,114,97,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,114,111,114,115,32,97,110,100,32,69,114,114,111,114,32,72,97,110,100,108,105,110,103>>]},<<32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,46>>]}]},#{signature => [{attribute,{146,2},type,{stacktrace_extrainfo,{type,{147,9},union,[{type,{147,9},tuple,[{atom,{147,10},line},{type,{147,16},pos_integer,[]}]},{type,{148,9},tuple,[{atom,{148,10},file},{remote_type,{148,16},[{atom,{148,16},unicode},{atom,{148,24},chardata},[]]}]},{type,{149,9},tuple,[{atom,{149,10},error_info},{type,{149,22},map,[{type,{149,32},map_field_assoc,[{atom,{149,25},module},{type,{149,35},module,[]}]},{type,{149,54},map_field_assoc,[{atom,{149,45},function},{type,{149,57},atom,[]}]},{type,{149,71},map_field_assoc,[{atom,{149,65},cause},{type,{149,74},term,[]}]}]}]},{type,{150,9},tuple,[{type,{150,10},atom,[]},{type,{150,18},term,[]}]}]},[]}}]}},{{type,stacktrace,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,151}],[<<45,116,121,112,101,32,115,116,97,99,107,116,114,97,99,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32,115,116,97,99,107,116,114,97,99,101,32,97,115,32,100,101,115,99,114,105,98,101,100,32,98,121,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115,35,115,116,97,99,107,116,114,97,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,114,111,114,115,32,97,110,100,32,69,114,114,111,114,32,72,97,110,100,108,105,110,103>>]},<<32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,46>>]}]},#{signature => [{attribute,{151,2},type,{stacktrace,{type,{151,23},list,[{type,{151,24},union,[{type,{151,24},tuple,[{type,{151,25},module,[]},{type,{151,35},atom,[]},{type,{151,43},union,[{type,{151,43},arity,[]},{type,{151,53},list,[{type,{151,54},term,[]}]}]},{type,{152,25},list,[{user_type,{152,26},stacktrace_extrainfo,[]}]}]},{type,{153,24},tuple,[{type,{153,25},function,[]},{type,{153,37},union,[{type,{153,37},arity,[]},{type,{153,47},list,[{type,{153,48},term,[]}]}]},{type,{153,57},list,[{user_type,{153,58},stacktrace_extrainfo,[]}]}]}]}]},[]}}]}}]}. \ No newline at end of file +{docs_v1,[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],erlang,<<97,112,112,108,105,99,97,116,105,111,110,47,101,114,108,97,110,103,43,104,116,109,108>>,#{<<101,110>> => [{p,[],[<<66,121,32,99,111,110,118,101,110,116,105,111,110,44,32,109,111,115,116,32,66,117,105,108,116,45,73,110,32,70,117,110,99,116,105,111,110,115,32,40,66,73,70,115,41,32,97,110,100,32,97,108,108,32,112,114,101,100,101,102,105,110,101,100,32,116,121,112,101,115,32,97,114,101,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,105,115,32,109,111,100,117,108,101,46,32,83,111,109,101,32,111,102,32,116,104,101,32,66,73,70,115,32,97,110,100,32,97,108,108,32,111,102,32,116,104,101,32,112,114,101,100,101,102,105,110,101,100,32,116,121,112,101,115,32,97,114,101,32,118,105,101,119,101,100,32,109,111,114,101,32,111,114,32,108,101,115,115,32,97,115,32,112,97,114,116,32,111,102,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,103,114,97,109,109,105,110,103,32,108,97,110,103,117,97,103,101,32,97,110,100,32,97,114,101,32>>,{em,[],[<<97,117,116,111,45,105,109,112,111,114,116,101,100>>]},<<46,32,84,104,117,115,44,32,105,116,32,105,115,32,110,111,116,32,110,101,99,101,115,115,97,114,121,32,116,111,32,115,112,101,99,105,102,121,32,116,104,101,32,109,111,100,117,108,101,32,110,97,109,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,99,97,108,108,115,32>>,{code,[],[<<97,116,111,109,95,116,111,95,108,105,115,116,40,101,114,108,97,110,103,41>>]},<<32,97,110,100,32>>,{code,[],[<<101,114,108,97,110,103,58,97,116,111,109,95,116,111,95,108,105,115,116,40,101,114,108,97,110,103,41>>]},<<32,97,114,101,32,105,100,101,110,116,105,99,97,108,46>>]},{p,[],[<<65,117,116,111,45,105,109,112,111,114,116,101,100,32,66,73,70,115,32,97,114,101,32,108,105,115,116,101,100,32,119,105,116,104,111,117,116,32,109,111,100,117,108,101,32,112,114,101,102,105,120,46,32,66,73,70,115,32,108,105,115,116,101,100,32,119,105,116,104,32,109,111,100,117,108,101,32,112,114,101,102,105,120,32,97,114,101,32,110,111,116,32,97,117,116,111,45,105,109,112,111,114,116,101,100,46>>]},{p,[],[<<80,114,101,100,101,102,105,110,101,100,32,116,121,112,101,115,32,97,114,101,32,108,105,115,116,101,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<80,114,101,100,101,102,105,110,101,100,32,100,97,116,97,116,121,112,101,115>>]},<<32,115,101,99,116,105,111,110,32,111,102,32,116,104,105,115,32,114,101,102,101,114,101,110,99,101,32,109,97,110,117,97,108,32,97,110,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,116,121,112,101,115,112,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<84,121,112,101,115,32,97,110,100,32,70,117,110,99,116,105,111,110,32,83,112,101,99,105,102,105,99,97,116,105,111,110,115>>]},<<32,115,101,99,116,105,111,110,32,111,102,32,116,104,101,32,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,46>>]},{p,[],[<<66,73,70,115,32,99,97,110,32,102,97,105,108,32,102,111,114,32,118,97,114,105,111,117,115,32,114,101,97,115,111,110,115,46,32,65,108,108,32,66,73,70,115,32,102,97,105,108,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,121,32,97,114,101,32,99,97,108,108,101,100,32,119,105,116,104,32,97,114,103,117,109,101,110,116,115,32,111,102,32,97,110,32,105,110,99,111,114,114,101,99,116,32,116,121,112,101,46,32,84,104,101,32,111,116,104,101,114,32,114,101,97,115,111,110,115,32,97,114,101,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,101,97,99,104,32,105,110,100,105,118,105,100,117,97,108,32,66,73,70,46>>]},{p,[],[<<83,111,109,101,32,66,73,70,115,32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,32,97,110,100,32,97,114,101,32,109,97,114,107,101,100,32,119,105,116,104,32,34,65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,34,46>>]}]},#{name => <<101,114,108,97,110,103>>,otp_doc_vsn => {1,0,0},source => [46,46,47,120,109,108,47,101,114,108,97,110,103,46,120,109,108],types => #{{non_neg_integer,0} => {attribute,{107,2},type,{non_neg_integer,{type,{107,28},non_neg_integer,[]},[]}},{trace_match_spec,0} => {attribute,{3009,2},type,{trace_match_spec,{type,{3010,7},list,[{type,{3010,8},tuple,[{type,{3010,9},union,[{type,{3010,9},list,[{type,{3010,10},term,[]}]},{atom,{3010,20},'_'},{user_type,{3010,26},match_variable,[]}]},{type,{3010,44},list,[{type,{3010,45},term,[]}]},{type,{3010,53},list,[{type,{3010,54},term,[]}]}]}]},[]}},{nonempty_binary,0} => {attribute,{109,2},type,{nonempty_binary,{type,{109,28},binary,[{integer,{109,32},8},{integer,{109,39},8}]},[]}},{stacktrace,0} => {attribute,{152,2},type,{stacktrace,{type,{152,23},list,[{type,{152,24},union,[{type,{152,24},tuple,[{type,{152,25},module,[]},{type,{152,35},atom,[]},{type,{152,43},union,[{type,{152,43},arity,[]},{type,{152,53},list,[{type,{152,54},term,[]}]}]},{type,{153,25},list,[{user_type,{153,26},stacktrace_extrainfo,[]}]}]},{type,{154,24},tuple,[{type,{154,25},function,[]},{type,{154,37},union,[{type,{154,37},arity,[]},{type,{154,47},list,[{type,{154,48},term,[]}]}]},{type,{154,57},list,[{user_type,{154,58},stacktrace_extrainfo,[]}]}]}]}]},[]}},{time_unit,0} => {attribute,{162,2},type,{time_unit,{type,{163,2},union,[{type,{163,2},pos_integer,[]},{atom,{164,9},second},{atom,{165,9},millisecond},{atom,{166,9},microsecond},{atom,{167,9},nanosecond},{atom,{168,9},native},{atom,{169,9},perf_counter},{user_type,{170,9},deprecated_time_unit,[]}]},[]}},{string,0} => {attribute,{122,2},type,{string,{type,{122,19},list,[{type,{122,20},char,[]}]},[]}},{trace_info_flag,0} => {attribute,{396,2},type,{trace_info_flag,{type,{397,7},union,[{atom,{397,7},send},{atom,{398,7},'receive'},{atom,{399,7},set_on_spawn},{atom,{400,7},call},{atom,{401,7},return_to},{atom,{402,7},procs},{atom,{403,7},set_on_first_spawn},{atom,{404,7},set_on_link},{atom,{405,7},running},{atom,{406,7},garbage_collection},{atom,{407,7},timestamp},{atom,{408,7},monotonic_timestamp},{atom,{409,7},strict_monotonic_timestamp},{atom,{410,7},arity}]},[]}},{mfa,0} => {attribute,{101,2},type,{mfa,{type,{101,16},tuple,[{type,{101,17},module,[]},{type,{101,26},atom,[]},{type,{101,33},arity,[]}]},[]}},{nonempty_bitstring,0} => {attribute,{110,2},type,{nonempty_bitstring,{type,{110,31},binary,[{integer,{110,35},1},{integer,{110,42},1}]},[]}},{dynamic,0} => {attribute,{89,2},type,{dynamic,{type,{89,20},dynamic,[]},[]}},{none,0} => {attribute,{108,2},type,{none,{type,{108,17},none,[]},[]}},{trace_info_item_result,0} => {attribute,{386,2},type,{trace_info_item_result,{type,{387,8},union,[{type,{387,8},tuple,[{atom,{387,9},traced},{type,{387,17},union,[{atom,{387,17},global},{atom,{387,26},local},{atom,{387,34},false},{atom,{387,42},undefined}]}]},{type,{388,8},tuple,[{atom,{388,9},match_spec},{type,{388,21},union,[{user_type,{388,21},trace_match_spec,[]},{atom,{388,42},false},{atom,{388,50},undefined}]}]},{type,{389,8},tuple,[{atom,{389,9},meta},{type,{389,15},union,[{type,{389,15},pid,[]},{type,{389,23},port,[]},{atom,{389,32},false},{atom,{389,40},undefined},{type,{389,52},nil,[]}]}]},{type,{390,8},tuple,[{atom,{390,9},meta},{type,{390,15},module,[]},{type,{390,25},term,[]}]},{type,{391,8},tuple,[{atom,{391,9},meta_match_spec},{type,{391,26},union,[{user_type,{391,26},trace_match_spec,[]},{atom,{391,47},false},{atom,{391,55},undefined}]}]},{type,{392,8},tuple,[{atom,{392,9},call_count},{type,{392,21},union,[{type,{392,21},non_neg_integer,[]},{type,{392,41},boolean,[]},{atom,{392,53},undefined}]}]},{type,{393,8},tuple,[{type,{393,9},union,[{atom,{393,9},call_time},{atom,{393,21},call_memory}]},{type,{393,34},union,[{type,{393,34},list,[{type,{393,35},tuple,[{type,{393,36},pid,[]},{type,{393,43},non_neg_integer,[]},{type,{394,8},non_neg_integer,[]},{type,{394,27},non_neg_integer,[]}]}]},{type,{394,49},boolean,[]},{atom,{394,61},undefined}]}]}]},[]}},{atom,0} => {attribute,{82,2},type,{atom,{type,{82,17},atom,[]},[]}},{trace_pattern_mfa,0} => {attribute,{3007,2},type,{trace_pattern_mfa,{type,{3008,7},union,[{type,{3008,7},tuple,[{type,{3008,8},atom,[]},{type,{3008,15},atom,[]},{type,{3008,22},union,[{type,{3008,22},arity,[]},{atom,{3008,32},'_'}]}]},{atom,{3008,39},on_load}]},[]}},{timestamp,0} => {attribute,{158,2},type,{timestamp,{type,{158,22},tuple,[{ann_type,{158,23},[{var,{158,23},'MegaSecs'},{type,{158,35},non_neg_integer,[]}]},{ann_type,{159,23},[{var,{159,23},'Secs'},{type,{159,31},non_neg_integer,[]}]},{ann_type,{160,23},[{var,{160,23},'MicroSecs'},{type,{160,36},non_neg_integer,[]}]}]},[]}},{char,0} => {attribute,{88,2},type,{char,{type,{88,17},range,[{integer,{88,17},0},{integer,{88,20},1114111}]},[]}},{list,1} => {attribute,{97,2},type,{list,{type,{97,28},list,[{var,{97,29},'ContentType'}]},[{var,{97,12},'ContentType'}]}},{any,0} => {attribute,{80,2},type,{any,{type,{80,16},any,[]},[]}},{function,0} => {attribute,{91,2},type,{function,{type,{91,21},'fun',[]},[]}},{deprecated_time_unit,0} => {attribute,{173,2},type,{deprecated_time_unit,{type,{174,7},union,[{atom,{174,7},seconds},{atom,{175,9},milli_seconds},{atom,{176,9},micro_seconds},{atom,{177,9},nano_seconds}]},[]}},{bitstring_list,0} => {attribute,{357,2},type,{bitstring_list,{type,{358,7},maybe_improper_list,[{type,{358,27},union,[{type,{358,27},byte,[]},{type,{358,36},bitstring,[]},{user_type,{358,50},bitstring_list,[]}]},{type,{358,68},union,[{type,{358,68},bitstring,[]},{type,{358,82},nil,[]}]}]},[]}},{nonempty_list,0} => {attribute,{112,2},type,{nonempty_list,{type,{112,26},nonempty_list,[{type,{112,40},any,[]}]},[]}},{neg_integer,0} => {attribute,{103,2},type,{neg_integer,{type,{103,24},neg_integer,[]},[]}},{monitor_process_identifier,0} => {attribute,{1687,2},type,{monitor_process_identifier,{type,{1687,39},union,[{type,{1687,39},pid,[]},{user_type,{1687,47},registered_process_identifier,[]}]},[]}},{sub_level,0} => {attribute,{3068,2},type,{sub_level,{type,{3068,22},union,[{type,{3068,22},list,[{ann_type,{3068,23},[{var,{3068,23},'LevelEntry'},{user_type,{3068,37},level_entry,[]}]}]},{ann_type,{3069,23},[{var,{3069,23},'LogicalCpuId'},{type,{3069,39},tuple,[{atom,{3069,40},logical},{type,{3069,49},non_neg_integer,[]}]}]}]},[]}},{scheduler_bind_type,0} => {attribute,{2894,2},type,{scheduler_bind_type,{type,{2895,7},union,[{atom,{2895,7},no_node_processor_spread},{atom,{2896,7},no_node_thread_spread},{atom,{2897,7},no_spread},{atom,{2898,7},processor_spread},{atom,{2899,7},spread},{atom,{2900,7},thread_spread},{atom,{2901,7},thread_no_node_processor_spread},{atom,{2902,7},unbound}]},[]}},{iovec,0} => {attribute,{188,2},type,{iovec,{type,{188,18},list,[{type,{188,19},binary,[]}]},[]}},{level_entry,0} => {attribute,{3062,2},type,{level_entry,{type,{3063,9},union,[{type,{3063,9},tuple,[{ann_type,{3063,10},[{var,{3063,10},'LevelTag'},{user_type,{3063,22},level_tag,[]}]},{ann_type,{3063,35},[{var,{3063,35},'SubLevel'},{user_type,{3063,47},sub_level,[]}]}]},{type,{3064,9},tuple,[{ann_type,{3064,10},[{var,{3064,10},'LevelTag'},{user_type,{3064,22},level_tag,[]}]},{ann_type,{3065,10},[{var,{3065,10},'InfoList'},{user_type,{3065,22},info_list,[]}]},{ann_type,{3066,10},[{var,{3066,10},'SubLevel'},{user_type,{3066,22},sub_level,[]}]}]}]},[]}},{process_info_item,0} => {attribute,{2684,2},type,{process_info_item,{type,{2685,7},union,[{atom,{2685,7},async_dist},{atom,{2686,7},backtrace},{atom,{2687,7},binary},{atom,{2688,7},catchlevel},{atom,{2689,7},current_function},{atom,{2690,7},current_location},{atom,{2691,7},current_stacktrace},{atom,{2692,7},dictionary},{atom,{2693,7},error_handler},{atom,{2694,7},garbage_collection},{atom,{2695,7},garbage_collection_info},{atom,{2696,7},group_leader},{atom,{2697,7},heap_size},{atom,{2698,7},initial_call},{atom,{2699,7},links},{atom,{2700,7},last_calls},{atom,{2701,7},memory},{atom,{2702,7},message_queue_len},{atom,{2703,7},messages},{atom,{2704,7},min_heap_size},{atom,{2705,7},min_bin_vheap_size},{atom,{2706,7},monitored_by},{atom,{2707,7},monitors},{atom,{2708,7},message_queue_data},{atom,{2709,7},parent},{atom,{2710,7},priority},{atom,{2711,7},reductions},{atom,{2712,7},registered_name},{atom,{2713,7},sequential_trace_token},{atom,{2714,7},stack_size},{atom,{2715,7},status},{atom,{2716,7},suspending},{atom,{2717,7},total_heap_size},{atom,{2718,7},trace},{atom,{2719,7},trap_exit}]},[]}},{iolist,0} => {attribute,{95,2},type,{iolist,{type,{95,19},maybe_improper_list,[{type,{95,39},union,[{type,{95,39},byte,[]},{type,{95,48},binary,[]},{type,{95,59},iolist,[]}]},{type,{95,69},union,[{type,{95,69},binary,[]},{type,{95,80},nil,[]}]}]},[]}},{integer,0} => {attribute,{93,2},type,{integer,{type,{93,20},integer,[]},[]}},{match_variable,0} => {attribute,{3006,2},type,{match_variable,{type,{3006,27},atom,[]},[]}},{nonempty_improper_list,2} => {attribute,{111,2},type,{nonempty_improper_list,{type,{111,63},nonempty_improper_list,[{var,{111,86},'ContentType'},{var,{111,99},'TerminationType'}]},[{var,{111,30},'ContentType'},{var,{111,43},'TerminationType'}]}},{bitstring,0} => {attribute,{84,2},type,{bitstring,{type,{84,22},binary,[{integer,84,0},{integer,{84,28},1}]},[]}},{max_heap_size,0} => {attribute,{3291,2},type,{max_heap_size,{ann_type,{3292,9},[{var,{3292,9},'Size'},{type,{3292,17},union,[{type,{3292,17},non_neg_integer,[]},{type,{3294,9},map,[{type,{3294,17},map_field_assoc,[{atom,{3294,12},size},{type,{3294,20},non_neg_integer,[]}]},{type,{3295,17},map_field_assoc,[{atom,{3295,12},kill},{type,{3295,20},boolean,[]}]},{type,{3296,25},map_field_assoc,[{atom,{3296,12},error_logger},{type,{3296,28},boolean,[]}]},{type,{3297,36},map_field_assoc,[{atom,{3297,12},include_shared_binaries},{type,{3297,39},boolean,[]}]}]}]}]},[]}},{system_monitor_option,0} => {attribute,{346,2},type,{system_monitor_option,{type,{347,7},union,[{atom,{347,7},busy_port},{atom,{348,7},busy_dist_port},{type,{349,7},tuple,[{atom,{349,8},long_gc},{type,{349,19},non_neg_integer,[]}]},{type,{350,7},tuple,[{atom,{350,8},long_schedule},{type,{350,25},non_neg_integer,[]}]},{type,{351,7},tuple,[{atom,{351,8},large_heap},{type,{351,22},non_neg_integer,[]}]}]},[]}},{number,0} => {attribute,{117,2},type,{number,{type,{117,19},union,[{type,{117,19},integer,[]},{type,{117,31},float,[]}]},[]}},{send_destination,0} => {attribute,{3737,2},type,{send_destination,{type,{3737,29},union,[{type,{3737,29},pid,[]},{type,{3738,29},reference,[]},{type,{3739,29},port,[]},{ann_type,{3740,30},[{var,{3740,30},'RegName'},{type,{3740,41},atom,[]}]},{type,{3741,29},tuple,[{ann_type,{3741,30},[{var,{3741,30},'RegName'},{type,{3741,41},atom,[]}]},{ann_type,{3741,49},[{var,{3741,49},'Node'},{type,{3741,57},node,[]}]}]}]},[]}},{ext_binary,0} => {attribute,{156,2},type,{ext_binary,{type,{156,23},binary,[]},[]}},{ext_iovec,0} => {attribute,{157,2},type,{ext_iovec,{user_type,{157,22},iovec,[]},[]}},{message_queue_data,0} => {attribute,{2641,2},type,{message_queue_data,{type,{2642,2},union,[{atom,{2642,2},off_heap},{atom,{2642,13},on_heap}]},[]}},{node,0} => {attribute,{106,2},type,{node,{type,{106,17},atom,[]},[]}},{list,0} => {attribute,{96,2},type,{list,{type,{96,17},list,[{type,{96,18},any,[]}]},[]}},{stacktrace_extrainfo,0} => {attribute,{147,2},type,{stacktrace_extrainfo,{type,{148,9},union,[{type,{148,9},tuple,[{atom,{148,10},line},{type,{148,16},pos_integer,[]}]},{type,{149,9},tuple,[{atom,{149,10},file},{remote_type,{149,16},[{atom,{149,16},unicode},{atom,{149,24},chardata},[]]}]},{type,{150,9},tuple,[{atom,{150,10},error_info},{type,{150,22},map,[{type,{150,32},map_field_assoc,[{atom,{150,25},module},{type,{150,35},module,[]}]},{type,{150,54},map_field_assoc,[{atom,{150,45},function},{type,{150,57},atom,[]}]},{type,{150,71},map_field_assoc,[{atom,{150,65},cause},{type,{150,74},term,[]}]}]}]},{type,{151,9},tuple,[{type,{151,10},atom,[]},{type,{151,18},term,[]}]}]},[]}},{pid,0} => {attribute,{118,2},type,{pid,{type,{118,16},pid,[]},[]}},{prepared_code,0} => {attribute,{179,2},opaque,{prepared_code,{type,{179,28},reference,[]},[]}},{nonempty_list,1} => {attribute,{113,2},type,{nonempty_list,{type,{113,37},nonempty_list,[{var,{113,38},'ContentType'}]},[{var,{113,21},'ContentType'}]}},{identifier,0} => {attribute,{92,2},type,{identifier,{type,{92,23},union,[{type,{92,23},pid,[]},{type,{92,31},port,[]},{type,{92,40},reference,[]}]},[]}},{registered_name,0} => {attribute,{1685,2},type,{registered_name,{type,{1685,28},atom,[]},[]}},{cpu_topology,0} => {attribute,{3060,2},type,{cpu_topology,{type,{3061,9},union,[{type,{3061,9},list,[{ann_type,{3061,10},[{var,{3061,10},'LevelEntry'},{user_type,{3061,24},level_entry,[]}]}]},{atom,{3061,41},undefined}]},[]}},{seq_trace_info_returns,0} => {attribute,{331,2},type,{seq_trace_info_returns,{type,{332,7},union,[{type,{332,7},tuple,[{type,{332,9},union,[{atom,{332,9},send},{atom,{332,18},'receive'},{atom,{332,30},print},{atom,{332,40},timestamp},{atom,{332,54},monotonic_timestamp},{atom,{332,78},strict_monotonic_timestamp}]},{type,{332,108},boolean,[]}]},{type,{333,7},tuple,[{atom,{333,9},label},{type,{333,18},term,[]}]},{type,{334,7},tuple,[{atom,{334,9},serial},{type,{334,19},tuple,[{type,{334,21},non_neg_integer,[]},{type,{334,40},non_neg_integer,[]}]}]},{type,{335,7},nil,[]}]},[]}},{info_list,0} => {attribute,{3070,2},type,{info_list,{type,{3070,22},nil,[]},[]}},{monitor_option,0} => {attribute,{1689,2},type,{monitor_option,{type,{1689,27},union,[{type,{1689,27},tuple,[{atom,{1689,28},alias},{type,{1689,37},union,[{atom,{1689,37},explicit_unalias},{atom,{1689,58},demonitor},{atom,{1689,72},reply_demonitor}]}]},{type,{1690,27},tuple,[{atom,{1690,28},tag},{type,{1690,35},term,[]}]}]},[]}},{boolean,0} => {attribute,{86,2},type,{boolean,{type,{86,20},union,[{atom,{86,20},true},{atom,{86,27},false}]},[]}},{trace_pattern_flag,0} => {attribute,{3025,2},type,{trace_pattern_flag,{type,{3026,7},union,[{atom,{3026,7},global},{atom,{3026,16},local},{atom,{3027,7},meta},{type,{3027,14},tuple,[{atom,{3027,15},meta},{ann_type,{3027,21},[{var,{3027,21},'Pid'},{type,{3027,28},pid,[]}]}]},{type,{3028,7},tuple,[{atom,{3028,8},meta},{ann_type,{3028,14},[{var,{3028,14},'TracerModule'},{type,{3028,30},module,[]}]},{ann_type,{3028,40},[{var,{3028,40},'TracerState'},{type,{3028,55},term,[]}]}]},{atom,{3029,7},call_count},{atom,{3030,7},call_time},{atom,{3031,7},call_memory}]},[]}},{priority_level,0} => {attribute,{2638,2},type,{priority_level,{type,{2639,7},union,[{atom,{2639,7},low},{atom,{2639,13},normal},{atom,{2639,22},high},{atom,{2639,29},max}]},[]}},{pos_integer,0} => {attribute,{120,2},type,{pos_integer,{type,{120,24},pos_integer,[]},[]}},{maybe_improper_list,0} => {attribute,{99,2},type,{maybe_improper_list,{type,{99,32},maybe_improper_list,[{type,{99,52},any,[]},{type,{99,59},any,[]}]},[]}},{dist_handle,0} => {attribute,{185,2},opaque,{dist_handle,{type,{185,26},atom,[]},[]}},{byte,0} => {attribute,{87,2},type,{byte,{type,{87,17},range,[{integer,{87,17},0},{integer,{87,20},255}]},[]}},{arity,0} => {attribute,{81,2},type,{arity,{type,{81,18},arity,[]},[]}},{term,0} => {attribute,{123,2},type,{term,{type,{123,17},any,[]},[]}},{nonempty_maybe_improper_list,2} => {attribute,{115,2},type,{nonempty_maybe_improper_list,{type,{115,69},nonempty_maybe_improper_list,[{var,{115,98},'ContentType'},{var,{115,111},'TerminationType'}]},[{var,{115,36},'ContentType'},{var,{115,49},'TerminationType'}]}},{nil,0} => {attribute,{104,2},type,{nil,{type,{104,16},nil,[]},[]}},{stack_item,0} => {attribute,{2770,2},type,{stack_item,{type,{2771,9},tuple,[{ann_type,{2771,10},[{var,{2771,10},'Module'},{type,{2771,20},module,[]}]},{ann_type,{2772,10},[{var,{2772,10},'Function'},{type,{2772,22},atom,[]}]},{ann_type,{2773,10},[{var,{2773,10},'Arity'},{type,{2773,19},union,[{type,{2773,19},arity,[]},{ann_type,{2773,30},[{var,{2773,30},'Args'},{type,{2773,38},list,[{type,{2773,39},term,[]}]}]}]}]},{ann_type,{2774,10},[{var,{2774,10},'Location'},{type,{2774,22},list,[{type,{2774,23},union,[{type,{2774,23},tuple,[{atom,{2774,24},file},{ann_type,{2774,30},[{var,{2774,30},'Filename'},{type,{2774,42},string,[]}]}]},{type,{2775,23},tuple,[{atom,{2775,24},line},{ann_type,{2775,30},[{var,{2775,30},'Line'},{type,{2775,38},pos_integer,[]}]}]}]}]}]}]},[]}},{tuple,0} => {attribute,{125,2},type,{tuple,{type,{125,18},tuple,any},[]}},{nif_resource,0} => {attribute,{182,2},opaque,{nif_resource,{type,{182,27},reference,[]},[]}},{spawn_opt_option,0} => {attribute,{3299,2},type,{spawn_opt_option,{type,{3300,2},union,[{atom,{3300,2},link},{atom,{3301,9},monitor},{type,{3302,9},tuple,[{atom,{3302,10},monitor},{ann_type,{3302,19},[{var,{3302,19},'MonitorOpts'},{type,{3302,34},list,[{user_type,{3302,35},monitor_option,[]}]}]}]},{type,{3303,9},tuple,[{atom,{3303,10},priority},{ann_type,{3303,20},[{var,{3303,20},'Level'},{user_type,{3303,29},priority_level,[]}]}]},{type,{3304,9},tuple,[{atom,{3304,10},fullsweep_after},{ann_type,{3304,27},[{var,{3304,27},'Number'},{type,{3304,37},non_neg_integer,[]}]}]},{type,{3305,9},tuple,[{atom,{3305,10},min_heap_size},{ann_type,{3305,25},[{var,{3305,25},'Size'},{type,{3305,33},non_neg_integer,[]}]}]},{type,{3306,9},tuple,[{atom,{3306,10},min_bin_vheap_size},{ann_type,{3306,30},[{var,{3306,30},'VSize'},{type,{3306,39},non_neg_integer,[]}]}]},{type,{3307,9},tuple,[{atom,{3307,10},max_heap_size},{ann_type,{3307,25},[{var,{3307,25},'Size'},{user_type,{3307,33},max_heap_size,[]}]}]},{type,{3308,9},tuple,[{atom,{3308,10},message_queue_data},{ann_type,{3308,30},[{var,{3308,30},'MQD'},{user_type,{3308,37},message_queue_data,[]}]}]},{type,{3309,9},tuple,[{atom,{3309,10},async_dist},{ann_type,{3309,22},[{var,{3309,22},'Enabled'},{type,{3309,33},boolean,[]}]}]}]},[]}},{halt_options,0} => {attribute,{1401,2},type,{halt_options,{type,{1402,9},list,[{type,{1402,10},tuple,[{atom,{1402,11},flush},{type,{1402,18},boolean,[]}]}]},[]}},{raise_stacktrace,0} => {attribute,{353,2},type,{raise_stacktrace,{type,{354,7},list,[{type,{354,8},union,[{type,{354,8},tuple,[{type,{354,9},module,[]},{type,{354,19},atom,[]},{type,{354,27},union,[{type,{354,27},arity,[]},{type,{354,37},list,[{type,{354,38},term,[]}]}]}]},{type,{355,8},tuple,[{type,{355,9},function,[]},{type,{355,21},union,[{type,{355,21},arity,[]},{type,{355,31},list,[{type,{355,32},term,[]}]}]}]}]}]},[]}},{module,0} => {attribute,{102,2},type,{module,{type,{102,19},atom,[]},[]}},{float,0} => {attribute,{90,2},type,{float,{type,{90,18},float,[]},[]}},{monitor_port_identifier,0} => {attribute,{1688,2},type,{monitor_port_identifier,{type,{1688,36},union,[{type,{1688,36},port,[]},{user_type,{1688,45},registered_name,[]}]},[]}},{memory_type,0} => {attribute,{4277,2},type,{memory_type,{type,{4277,24},union,[{atom,{4277,24},total},{atom,{4277,34},processes},{atom,{4277,48},processes_used},{atom,{4277,67},system},{atom,{4278,24},atom},{atom,{4278,33},atom_used},{atom,{4278,47},binary},{atom,{4278,58},code},{atom,{4278,67},ets}]},[]}},{timeout,0} => {attribute,{124,2},type,{timeout,{type,{124,20},union,[{atom,{124,20},infinity},{type,{124,33},non_neg_integer,[]}]},[]}},{maybe_improper_list,2} => {attribute,{100,2},type,{maybe_improper_list,{type,{100,60},maybe_improper_list,[{var,{100,80},'ContentType'},{var,{100,93},'TerminationType'}]},[{var,{100,27},'ContentType'},{var,{100,40},'TerminationType'}]}},{process_info_result_item,0} => {attribute,{2721,2},type,{process_info_result_item,{type,{2722,7},union,[{type,{2722,7},tuple,[{atom,{2722,8},async_dist},{ann_type,{2722,20},[{var,{2722,20},'Enabled'},{type,{2722,31},boolean,[]}]}]},{type,{2723,7},tuple,[{atom,{2723,8},backtrace},{ann_type,{2723,19},[{var,{2723,19},'Bin'},{type,{2723,26},binary,[]}]}]},{type,{2724,7},tuple,[{atom,{2724,8},binary},{ann_type,{2724,16},[{var,{2724,16},'BinInfo'},{type,{2724,27},list,[{type,{2724,28},tuple,[{type,{2724,29},non_neg_integer,[]},{type,{2725,29},non_neg_integer,[]},{type,{2726,29},non_neg_integer,[]}]}]}]}]},{type,{2727,7},tuple,[{atom,{2727,8},catchlevel},{ann_type,{2727,20},[{var,{2727,20},'CatchLevel'},{type,{2727,34},non_neg_integer,[]}]}]},{type,{2728,7},tuple,[{atom,{2728,8},current_function},{type,{2729,8},union,[{type,{2729,8},tuple,[{ann_type,{2729,9},[{var,{2729,9},'Module'},{type,{2729,19},module,[]}]},{ann_type,{2729,29},[{var,{2729,29},'Function'},{type,{2729,41},atom,[]}]},{ann_type,{2729,49},[{var,{2729,49},'Arity'},{type,{2729,58},arity,[]}]}]},{atom,{2729,69},undefined}]}]},{type,{2730,7},tuple,[{atom,{2730,8},current_location},{type,{2731,8},tuple,[{ann_type,{2731,9},[{var,{2731,9},'Module'},{type,{2731,19},module,[]}]},{ann_type,{2731,29},[{var,{2731,29},'Function'},{type,{2731,41},atom,[]}]},{ann_type,{2731,49},[{var,{2731,49},'Arity'},{type,{2731,58},arity,[]}]},{ann_type,{2732,9},[{var,{2732,9},'Location'},{type,{2732,21},list,[{type,{2732,22},union,[{type,{2732,22},tuple,[{atom,{2732,23},file},{ann_type,{2732,29},[{var,{2732,29},'Filename'},{type,{2732,41},string,[]}]}]},{type,{2733,22},tuple,[{atom,{2733,23},line},{ann_type,{2733,29},[{var,{2733,29},'Line'},{type,{2733,37},pos_integer,[]}]}]}]}]}]}]}]},{type,{2734,7},tuple,[{atom,{2734,8},current_stacktrace},{ann_type,{2734,28},[{var,{2734,28},'Stack'},{type,{2734,37},list,[{user_type,{2734,38},stack_item,[]}]}]}]},{type,{2735,7},tuple,[{atom,{2735,8},dictionary},{ann_type,{2735,20},[{var,{2735,20},'Dictionary'},{type,{2735,34},list,[{type,{2735,35},tuple,[{ann_type,{2735,36},[{var,{2735,36},'Key'},{type,{2735,43},term,[]}]},{ann_type,{2735,51},[{var,{2735,51},'Value'},{type,{2735,60},term,[]}]}]}]}]}]},{type,{2736,7},tuple,[{atom,{2736,8},error_handler},{ann_type,{2736,23},[{var,{2736,23},'Module'},{type,{2736,33},module,[]}]}]},{type,{2737,7},tuple,[{atom,{2737,8},garbage_collection},{ann_type,{2737,28},[{var,{2737,28},'GCInfo'},{type,{2737,38},list,[{type,{2737,39},tuple,[{type,{2737,40},atom,[]},{type,{2737,47},non_neg_integer,[]}]}]}]}]},{type,{2738,7},tuple,[{atom,{2738,8},garbage_collection_info},{ann_type,{2738,33},[{var,{2738,33},'GCInfo'},{type,{2738,43},list,[{type,{2738,44},tuple,[{type,{2738,45},atom,[]},{type,{2738,52},non_neg_integer,[]}]}]}]}]},{type,{2739,7},tuple,[{atom,{2739,8},group_leader},{ann_type,{2739,22},[{var,{2739,22},'GroupLeader'},{type,{2739,37},pid,[]}]}]},{type,{2740,7},tuple,[{atom,{2740,8},heap_size},{ann_type,{2740,19},[{var,{2740,19},'Size'},{type,{2740,27},non_neg_integer,[]}]}]},{type,{2741,7},tuple,[{atom,{2741,8},initial_call},{type,{2741,22},mfa,[]}]},{type,{2742,7},tuple,[{atom,{2742,8},links},{ann_type,{2742,15},[{var,{2742,15},'PidsAndPorts'},{type,{2742,31},list,[{type,{2742,32},union,[{type,{2742,32},pid,[]},{type,{2742,40},port,[]}]}]}]}]},{type,{2743,7},tuple,[{atom,{2743,8},last_calls},{type,{2743,20},union,[{atom,{2743,20},false},{ann_type,{2743,29},[{var,{2743,29},'Calls'},{type,{2743,38},list,[{type,{2743,39},mfa,[]}]}]}]}]},{type,{2744,7},tuple,[{atom,{2744,8},memory},{ann_type,{2744,16},[{var,{2744,16},'Size'},{type,{2744,24},non_neg_integer,[]}]}]},{type,{2745,7},tuple,[{atom,{2745,8},message_queue_len},{ann_type,{2745,27},[{var,{2745,27},'MessageQueueLen'},{type,{2745,46},non_neg_integer,[]}]}]},{type,{2746,7},tuple,[{atom,{2746,8},messages},{ann_type,{2746,18},[{var,{2746,18},'MessageQueue'},{type,{2746,34},list,[{type,{2746,35},term,[]}]}]}]},{type,{2747,7},tuple,[{atom,{2747,8},min_heap_size},{ann_type,{2747,23},[{var,{2747,23},'MinHeapSize'},{type,{2747,38},non_neg_integer,[]}]}]},{type,{2748,7},tuple,[{atom,{2748,8},min_bin_vheap_size},{ann_type,{2748,28},[{var,{2748,28},'MinBinVHeapSize'},{type,{2748,47},non_neg_integer,[]}]}]},{type,{2749,7},tuple,[{atom,{2749,8},max_heap_size},{ann_type,{2749,23},[{var,{2749,23},'MaxHeapSize'},{user_type,{2749,38},max_heap_size,[]}]}]},{type,{2750,7},tuple,[{atom,{2750,8},monitored_by},{ann_type,{2750,22},[{var,{2750,22},'MonitoredBy'},{type,{2750,37},list,[{type,{2750,38},union,[{type,{2750,38},pid,[]},{type,{2750,46},port,[]},{user_type,{2750,55},nif_resource,[]}]}]}]}]},{type,{2751,7},tuple,[{atom,{2751,8},monitors},{ann_type,{2752,8},[{var,{2752,8},'Monitors'},{type,{2752,20},list,[{type,{2752,21},tuple,[{type,{2752,22},union,[{atom,{2752,22},process},{atom,{2752,32},port}]},{ann_type,{2752,38},[{var,{2752,38},'Pid'},{type,{2752,45},union,[{type,{2752,45},pid,[]},{type,{2752,53},port,[]},{type,{2753,38},tuple,[{ann_type,{2753,39},[{var,{2753,39},'RegName'},{type,{2753,50},atom,[]}]},{ann_type,{2753,58},[{var,{2753,58},'Node'},{type,{2753,66},node,[]}]}]}]}]}]}]}]}]},{type,{2754,7},tuple,[{atom,{2754,8},message_queue_data},{ann_type,{2754,28},[{var,{2754,28},'MQD'},{user_type,{2754,35},message_queue_data,[]}]}]},{type,{2755,7},tuple,[{atom,{2755,8},parent},{type,{2755,16},union,[{type,{2755,16},pid,[]},{atom,{2755,24},undefined}]}]},{type,{2756,7},tuple,[{atom,{2756,8},priority},{ann_type,{2756,18},[{var,{2756,18},'Level'},{user_type,{2756,27},priority_level,[]}]}]},{type,{2757,7},tuple,[{atom,{2757,8},reductions},{ann_type,{2757,20},[{var,{2757,20},'Number'},{type,{2757,30},non_neg_integer,[]}]}]},{type,{2758,7},tuple,[{atom,{2758,8},registered_name},{type,{2758,25},union,[{type,{2758,25},nil,[]},{ann_type,{2758,31},[{var,{2758,31},'Atom'},{type,{2758,39},atom,[]}]}]}]},{type,{2759,7},tuple,[{atom,{2759,8},sequential_trace_token},{type,{2759,32},union,[{type,{2759,32},nil,[]},{ann_type,{2759,38},[{var,{2759,38},'SequentialTraceToken'},{type,{2759,62},term,[]}]}]}]},{type,{2760,7},tuple,[{atom,{2760,8},stack_size},{ann_type,{2760,20},[{var,{2760,20},'Size'},{type,{2760,28},non_neg_integer,[]}]}]},{type,{2761,7},tuple,[{atom,{2761,8},status},{ann_type,{2761,16},[{var,{2761,16},'Status'},{type,{2761,26},union,[{atom,{2761,26},exiting},{atom,{2761,36},garbage_collecting},{atom,{2761,57},waiting},{atom,{2761,67},running},{atom,{2761,77},runnable},{atom,{2761,88},suspended}]}]}]},{type,{2762,7},tuple,[{atom,{2762,8},suspending},{ann_type,{2763,8},[{var,{2763,8},'SuspendeeList'},{type,{2763,25},list,[{type,{2763,26},tuple,[{ann_type,{2763,27},[{var,{2763,27},'Suspendee'},{type,{2763,40},pid,[]}]},{ann_type,{2764,27},[{var,{2764,27},'ActiveSuspendCount'},{type,{2764,49},non_neg_integer,[]}]},{ann_type,{2765,27},[{var,{2765,27},'OutstandingSuspendCount'},{type,{2765,53},non_neg_integer,[]}]}]}]}]}]},{type,{2766,7},tuple,[{atom,{2766,8},total_heap_size},{ann_type,{2766,25},[{var,{2766,25},'Size'},{type,{2766,33},non_neg_integer,[]}]}]},{type,{2767,7},tuple,[{atom,{2767,8},trace},{ann_type,{2767,15},[{var,{2767,15},'InternalTraceFlags'},{type,{2767,37},non_neg_integer,[]}]}]},{type,{2768,7},tuple,[{atom,{2768,8},trap_exit},{ann_type,{2768,19},[{var,{2768,19},'Boolean'},{type,{2768,30},boolean,[]}]}]}]},[]}},{trace_flag,0} => {attribute,{360,2},type,{trace_flag,{type,{361,7},union,[{atom,{361,7},all},{atom,{362,7},send},{atom,{363,7},'receive'},{atom,{364,7},procs},{atom,{365,7},ports},{atom,{366,7},call},{atom,{367,7},arity},{atom,{368,7},return_to},{atom,{369,7},silent},{atom,{370,7},running},{atom,{371,7},exiting},{atom,{372,7},running_procs},{atom,{373,7},running_ports},{atom,{374,7},garbage_collection},{atom,{375,7},timestamp},{atom,{376,7},cpu_timestamp},{atom,{377,7},monotonic_timestamp},{atom,{378,7},strict_monotonic_timestamp},{atom,{379,7},set_on_spawn},{atom,{380,7},set_on_first_spawn},{atom,{381,7},set_on_link},{atom,{382,7},set_on_first_link},{type,{383,7},tuple,[{atom,{383,8},tracer},{type,{383,16},union,[{type,{383,16},pid,[]},{type,{383,24},port,[]}]}]},{type,{384,7},tuple,[{atom,{384,8},tracer},{type,{384,16},module,[]},{type,{384,26},term,[]}]}]},[]}},{trace_info_return,0} => {attribute,{412,2},type,{trace_info_return,{type,{413,7},union,[{atom,{413,7},undefined},{type,{414,7},tuple,[{atom,{414,8},flags},{type,{414,15},list,[{user_type,{414,16},trace_info_flag,[]}]}]},{type,{415,7},tuple,[{atom,{415,8},tracer},{type,{415,16},union,[{type,{415,16},pid,[]},{type,{415,24},port,[]},{type,{415,33},nil,[]}]}]},{type,{416,7},tuple,[{atom,{416,8},tracer},{type,{416,16},module,[]},{type,{416,26},term,[]}]},{user_type,{417,7},trace_info_item_result,[]},{type,{418,7},tuple,[{atom,{418,8},all},{type,{418,13},union,[{type,{418,13},list,[{user_type,{418,15},trace_info_item_result,[]}]},{atom,{418,44},false},{atom,{418,52},undefined}]}]}]},[]}},{fun_info_item,0} => {attribute,{319,2},type,{fun_info_item,{type,{320,7},union,[{atom,{320,7},arity},{atom,{321,7},env},{atom,{322,7},index},{atom,{323,7},name},{atom,{324,7},module},{atom,{325,7},new_index},{atom,{326,7},new_uniq},{atom,{327,7},pid},{atom,{328,7},type},{atom,{329,7},uniq}]},[]}},{registered_process_identifier,0} => {attribute,{1686,2},type,{registered_process_identifier,{type,{1686,42},union,[{user_type,{1686,42},registered_name,[]},{type,{1686,62},tuple,[{user_type,{1686,63},registered_name,[]},{type,{1686,82},node,[]}]}]},[]}},{system_profile_option,0} => {attribute,{337,2},type,{system_profile_option,{type,{338,7},union,[{atom,{338,7},exclusive},{atom,{339,7},runnable_ports},{atom,{340,7},runnable_procs},{atom,{341,7},scheduler},{atom,{342,7},timestamp},{atom,{343,7},monotonic_timestamp},{atom,{344,7},strict_monotonic_timestamp}]},[]}},{module_info_key,0} => {attribute,{2416,2},type,{module_info_key,{type,{2416,28},union,[{atom,{2416,28},attributes},{atom,{2416,41},compile},{atom,{2416,51},exports},{atom,{2416,61},functions},{atom,{2416,73},md5},{atom,{2417,28},module},{atom,{2417,37},native},{atom,{2417,46},native_addresses},{atom,{2417,65},nifs}]},[]}},{nonempty_string,0} => {attribute,{116,2},type,{nonempty_string,{type,{116,28},nonempty_list,[{type,{116,42},char,[]}]},[]}},{nonempty_maybe_improper_list,0} => {attribute,{114,2},type,{nonempty_maybe_improper_list,{type,{114,41},nonempty_maybe_improper_list,[{type,{114,70},any,[]},{type,{114,77},any,[]}]},[]}},{binary,0} => {attribute,{83,2},type,{binary,{type,{83,19},binary,[{integer,83,0},{integer,{83,25},8}]},[]}},{map,0} => {attribute,{98,2},type,{map,{type,{98,16},map,[{type,{98,25},map_field_assoc,[{type,{98,19},any,[]},{type,{98,28},any,[]}]}]},[]}},{level_tag,0} => {attribute,{3067,2},type,{level_tag,{type,{3067,22},union,[{atom,{3067,22},core},{atom,{3067,29},node},{atom,{3067,36},processor},{atom,{3067,48},thread}]},[]}},{port,0} => {attribute,{119,2},type,{port,{type,{119,17},port,[]},[]}},{iodata,0} => {attribute,{94,2},type,{iodata,{type,{94,19},union,[{type,{94,19},iolist,[]},{type,{94,30},binary,[]}]},[]}},{no_return,0} => {attribute,{105,2},type,{no_return,{type,{105,22},none,[]},[]}},{bool,0} => {attribute,{85,2},type,{bool,{type,{85,17},boolean,[]},[]}},{reference,0} => {attribute,{121,2},type,{reference,{type,{121,22},reference,[]},[]}}}},[{{function,'!',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,33,39,47,50>>],hidden,#{}},{{function,'*',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,42,39,47,50>>],hidden,#{}},{{function,'+',1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,43,39,47,49>>],hidden,#{}},{{function,'+',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,43,39,47,50>>],hidden,#{}},{{function,'++',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,43,43,39,47,50>>],hidden,#{}},{{function,'-',1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,45,39,47,49>>],hidden,#{}},{{function,'-',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,45,39,47,50>>],hidden,#{}},{{function,'--',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,45,45,39,47,50>>],hidden,#{}},{{function,'/',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,47,39,47,50>>],hidden,#{}},{{function,'/=',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,47,61,39,47,50>>],hidden,#{}},{{function,'<',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,60,39,47,50>>],hidden,#{}},{{function,'=/=',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,61,47,61,39,47,50>>],hidden,#{}},{{function,'=:=',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,61,58,61,39,47,50>>],hidden,#{}},{{function,'=<',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,61,60,39,47,50>>],hidden,#{}},{{function,'==',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,61,61,39,47,50>>],hidden,#{}},{{function,'>',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,62,39,47,50>>],hidden,#{}},{{function,'>=',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,62,61,39,47,50>>],hidden,#{}},{{function,alloc_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<97,108,108,111,99,95,105,110,102,111,47,49>>],hidden,#{}},{{function,alloc_sizes,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<97,108,108,111,99,95,115,105,122,101,115,47,49>>],hidden,#{}},{{function,'and',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,97,110,100,39,47,50>>],hidden,#{}},{{function,append,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<97,112,112,101,110,100,47,50>>],hidden,#{}},{{function,'band',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,98,97,110,100,39,47,50>>],hidden,#{}},{{function,'bnot',1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,98,110,111,116,39,47,49>>],hidden,#{}},{{function,'bor',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,98,111,114,39,47,50>>],hidden,#{}},{{function,'bsl',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,98,115,108,39,47,50>>],hidden,#{}},{{function,'bsr',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,98,115,114,39,47,50>>],hidden,#{}},{{function,'bxor',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,98,120,111,114,39,47,50>>],hidden,#{}},{{function,call_on_load_function,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<99,97,108,108,95,111,110,95,108,111,97,100,95,102,117,110,99,116,105,111,110,47,49>>],hidden,#{}},{{function,delay_trap,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,101,108,97,121,95,116,114,97,112,47,50>>],hidden,#{}},{{function,display_string,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,105,115,112,108,97,121,95,115,116,114,105,110,103,47,49>>],hidden,#{}},{{function,display_string,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,105,115,112,108,97,121,95,115,116,114,105,110,103,47,50>>],hidden,#{}},{{function,dist_get_stat,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,105,115,116,95,103,101,116,95,115,116,97,116,47,49>>],hidden,#{}},{{function,'div',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,100,105,118,39,47,50>>],hidden,#{}},{{function,dmonitor_node,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,109,111,110,105,116,111,114,95,110,111,100,101,47,51>>],hidden,#{}},{{function,dt_append_vm_tag_data,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,116,95,97,112,112,101,110,100,95,118,109,95,116,97,103,95,100,97,116,97,47,49>>],hidden,#{}},{{function,dt_get_tag,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,116,95,103,101,116,95,116,97,103,47,48>>],hidden,#{}},{{function,dt_get_tag_data,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,116,95,103,101,116,95,116,97,103,95,100,97,116,97,47,48>>],hidden,#{}},{{function,dt_prepend_vm_tag_data,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,116,95,112,114,101,112,101,110,100,95,118,109,95,116,97,103,95,100,97,116,97,47,49>>],hidden,#{}},{{function,dt_put_tag,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,116,95,112,117,116,95,116,97,103,47,49>>],hidden,#{}},{{function,dt_restore_tag,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,116,95,114,101,115,116,111,114,101,95,116,97,103,47,49>>],hidden,#{}},{{function,dt_spread_tag,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<100,116,95,115,112,114,101,97,100,95,116,97,103,47,49>>],hidden,#{}},{{function,exit_signal,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<101,120,105,116,95,115,105,103,110,97,108,47,50>>],hidden,#{}},{{function,finish_after_on_load,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<102,105,110,105,115,104,95,97,102,116,101,114,95,111,110,95,108,111,97,100,47,50>>],hidden,#{}},{{function,finish_loading,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<102,105,110,105,115,104,95,108,111,97,100,105,110,103,47,49>>],hidden,#{}},{{function,format_cpu_topology,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<102,111,114,109,97,116,95,99,112,117,95,116,111,112,111,108,111,103,121,47,49>>],hidden,#{}},{{function,fun_info_mfa,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<102,117,110,95,105,110,102,111,95,109,102,97,47,49>>],hidden,#{}},{{function,garbage_collect_message_area,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,95,109,101,115,115,97,103,101,95,97,114,101,97,47,48>>],hidden,#{}},{{function,gather_gc_info_result,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<103,97,116,104,101,114,95,103,99,95,105,110,102,111,95,114,101,115,117,108,116,47,49>>],hidden,#{}},{{function,get_module_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<103,101,116,95,109,111,100,117,108,101,95,105,110,102,111,47,49>>],hidden,#{}},{{function,get_module_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<103,101,116,95,109,111,100,117,108,101,95,105,110,102,111,47,50>>],hidden,#{}},{{function,has_prepared_code_on_load,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<104,97,115,95,112,114,101,112,97,114,101,100,95,99,111,100,101,95,111,110,95,108,111,97,100,47,49>>],hidden,#{}},{{function,make_fun,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<109,97,107,101,95,102,117,110,47,51>>],hidden,#{}},{{function,'not',1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,110,111,116,39,47,49>>],hidden,#{}},{{function,'or',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,111,114,39,47,50>>],hidden,#{}},{{function,port_call,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<112,111,114,116,95,99,97,108,108,47,50>>],hidden,#{}},{{function,port_get_data,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<112,111,114,116,95,103,101,116,95,100,97,116,97,47,49>>],hidden,#{}},{{function,port_set_data,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<112,111,114,116,95,115,101,116,95,100,97,116,97,47,50>>],hidden,#{}},{{function,posixtime_to_universaltime,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<112,111,115,105,120,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,47,49>>],hidden,#{}},{{function,prepare_loading,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<112,114,101,112,97,114,101,95,108,111,97,100,105,110,103,47,50>>],hidden,#{}},{{function,'rem',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,114,101,109,39,47,50>>],hidden,#{}},{{function,seq_trace,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,101,113,95,116,114,97,99,101,47,50>>],hidden,#{}},{{function,seq_trace_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,101,113,95,116,114,97,99,101,95,105,110,102,111,47,49>>],hidden,#{}},{{function,seq_trace_print,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,101,113,95,116,114,97,99,101,95,112,114,105,110,116,47,49>>],hidden,#{}},{{function,seq_trace_print,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,101,113,95,116,114,97,99,101,95,112,114,105,110,116,47,50>>],hidden,#{}},{{function,set_cpu_topology,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,101,116,95,99,112,117,95,116,111,112,111,108,111,103,121,47,49>>],hidden,#{}},{{function,setnode,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,101,116,110,111,100,101,47,50>>],hidden,#{}},{{function,setnode,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,101,116,110,111,100,101,47,51>>],hidden,#{}},{{function,subtract,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<115,117,98,116,114,97,99,116,47,50>>],hidden,#{}},{{function,universaltime_to_posixtime,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<117,110,105,118,101,114,115,97,108,116,105,109,101,95,116,111,95,112,111,115,105,120,116,105,109,101,47,49>>],hidden,#{}},{{function,'xor',2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,0}],[<<39,120,111,114,39,47,50>>],hidden,#{}},{{function,abs,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2393}],[<<97,98,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,111,114,32,102,108,111,97,116,32,116,104,97,116,32,105,115,32,116,104,101,32,97,114,105,116,104,109,101,116,105,99,97,108,32,97,98,115,111,108,117,116,101,32,118,97,108,117,101,32,111,102,32>>,{code,[],[<<70,108,111,97,116>>]},<<32,111,114,32>>,{code,[],[<<73,110,116>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,97,98,115,40,45,51,46,51,51,41,46,10,51,46,51,51,10,62,32,97,98,115,40,45,51,41,46,10,51>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2393,2},spec,{{abs,1},[{type,{2393,10},bounded_fun,[{type,{2393,10},'fun',[{type,{2393,10},product,[{var,{2393,11},'Float'}]},{type,{2393,21},float,[]}]},[{type,{2394,7},constraint,[{atom,{2394,7},is_subtype},[{var,{2394,7},'Float'},{type,{2394,16},float,[]}]]}]]},{type,{2395,10},bounded_fun,[{type,{2395,10},'fun',[{type,{2395,10},product,[{var,{2395,11},'Int'}]},{type,{2395,19},non_neg_integer,[]}]},[{type,{2396,7},constraint,[{atom,{2396,7},is_subtype},[{var,{2396,7},'Int'},{type,{2396,14},integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,55,53>>}},{{function,adler32,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,422}],[<<97,100,108,101,114,51,50,47,49>>],#{<<101,110>> => [{p,[],[<<67,111,109,112,117,116,101,115,32,97,110,100,32,114,101,116,117,114,110,115,32,116,104,101,32,97,100,108,101,114,51,50,32,99,104,101,99,107,115,117,109,32,102,111,114,32>>,{code,[],[<<68,97,116,97>>]},<<46>>]}]},#{signature => [{attribute,{422,2},spec,{{erlang,adler32,1},[{type,{422,21},bounded_fun,[{type,{422,21},'fun',[{type,{422,21},product,[{var,{422,22},'Data'}]},{type,{422,31},non_neg_integer,[]}]},[{type,{423,7},constraint,[{atom,{423,7},is_subtype},[{var,{423,7},'Data'},{type,{423,15},iodata,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,57,50>>}},{{function,adler32,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,428}],[<<97,100,108,101,114,51,50,47,50>>],#{<<101,110>> => [{p,[],[<<67,111,110,116,105,110,117,101,115,32,99,111,109,112,117,116,105,110,103,32,116,104,101,32,97,100,108,101,114,51,50,32,99,104,101,99,107,115,117,109,32,98,121,32,99,111,109,98,105,110,105,110,103,32,116,104,101,32,112,114,101,118,105,111,117,115,32,99,104,101,99,107,115,117,109,44,32>>,{code,[],[<<79,108,100,65,100,108,101,114>>]},<<44,32,119,105,116,104,32,116,104,101,32,99,104,101,99,107,115,117,109,32,111,102,32>>,{code,[],[<<68,97,116,97>>]},<<46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,100,101,58>>]},{pre,[],[{code,[],[<<88,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,40,68,97,116,97,49,41,44,10,89,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,40,88,44,68,97,116,97,50,41,46>>]}]},{p,[],[<<97,115,115,105,103,110,115,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,116,111,32>>,{code,[],[<<89>>]},<<32,97,115,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<89,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,40,91,68,97,116,97,49,44,68,97,116,97,50,93,41,46>>]}]}]},#{signature => [{attribute,{428,2},spec,{{erlang,adler32,2},[{type,{428,21},bounded_fun,[{type,{428,21},'fun',[{type,{428,21},product,[{var,{428,22},'OldAdler'},{var,{428,32},'Data'}]},{type,{428,41},non_neg_integer,[]}]},[{type,{429,7},constraint,[{atom,{429,7},is_subtype},[{var,{429,7},'OldAdler'},{type,{429,19},non_neg_integer,[]}]]},{type,{430,7},constraint,[{atom,{430,7},is_subtype},[{var,{430,7},'Data'},{type,{430,15},iodata,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,48,49>>}},{{function,adler32_combine,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,435}],[<<97,100,108,101,114,51,50,95,99,111,109,98,105,110,101,47,51>>],#{<<101,110>> => [{p,[],[<<67,111,109,98,105,110,101,115,32,116,119,111,32,112,114,101,118,105,111,117,115,108,121,32,99,111,109,112,117,116,101,100,32,97,100,108,101,114,51,50,32,99,104,101,99,107,115,117,109,115,46,32,84,104,105,115,32,99,111,109,112,117,116,97,116,105,111,110,32,114,101,113,117,105,114,101,115,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,100,97,116,97,32,111,98,106,101,99,116,32,102,111,114,32,116,104,101,32,115,101,99,111,110,100,32,99,104,101,99,107,115,117,109,32,116,111,32,98,101,32,107,110,111,119,110,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,100,101,58>>]},{pre,[],[{code,[],[<<89,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,40,68,97,116,97,49,41,44,10,90,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,40,89,44,68,97,116,97,50,41,46>>]}]},{p,[],[<<97,115,115,105,103,110,115,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,116,111,32>>,{code,[],[<<90>>]},<<32,97,115,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<88,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,40,68,97,116,97,49,41,44,10,89,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,40,68,97,116,97,50,41,44,10,90,32,61,32,101,114,108,97,110,103,58,97,100,108,101,114,51,50,95,99,111,109,98,105,110,101,40,88,44,89,44,105,111,108,105,115,116,95,115,105,122,101,40,68,97,116,97,50,41,41,46>>]}]}]},#{signature => [{attribute,{435,2},spec,{{erlang,adler32_combine,3},[{type,{435,29},bounded_fun,[{type,{435,29},'fun',[{type,{435,29},product,[{var,{435,30},'FirstAdler'},{var,{435,42},'SecondAdler'},{var,{435,55},'SecondSize'}]},{type,{435,70},non_neg_integer,[]}]},[{type,{436,7},constraint,[{atom,{436,7},is_subtype},[{var,{436,7},'FirstAdler'},{type,{436,21},non_neg_integer,[]}]]},{type,{437,7},constraint,[{atom,{437,7},is_subtype},[{var,{437,7},'SecondAdler'},{type,{437,22},non_neg_integer,[]}]]},{type,{438,7},constraint,[{atom,{438,7},is_subtype},[{var,{438,7},'SecondSize'},{type,{438,21},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,49,56>>}},{{function,alias,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,994}],[<<97,108,105,97,115,47,49>>],#{},#{signature => [{attribute,{994,2},spec,{{alias,1},[{type,{994,12},bounded_fun,[{type,{994,12},'fun',[{type,{994,12},product,[{var,{994,13},'Opts'}]},{var,{994,22},'Alias'}]},[{type,{995,7},constraint,[{atom,{995,7},is_subtype},[{var,{995,7},'Alias'},{type,{995,16},reference,[]}]]},{type,{996,7},constraint,[{atom,{996,7},is_subtype},[{var,{996,7},'Opts'},{type,{996,15},list,[{type,{996,16},union,[{atom,{996,16},explicit_unalias},{atom,{996,37},reply}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,51,55>>,equiv => {function,alias,0},since => <<79,84,80,32,50,52,46,48>>}},{{function,alias,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,988}],[<<97,108,105,97,115,47,48>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,32,97,110,32,97,108,105,97,115,32,119,104,105,99,104,32,99,97,110,32,98,101,32,117,115,101,100,32,119,104,101,110,32,115,101,110,100,105,110,103,32,109,101,115,115,97,103,101,115,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,99,114,101,97,116,101,100,32,116,104,101,32,97,108,105,97,115,46,32,87,104,101,110,32,116,104,101,32,97,108,105,97,115,32,104,97,115,32,98,101,101,110,32,100,101,97,99,116,105,118,97,116,101,100,44,32,109,101,115,115,97,103,101,115,32,115,101,110,116,32,117,115,105,110,103,32,116,104,101,32,97,108,105,97,115,32,119,105,108,108,32,98,101,32,100,114,111,112,112,101,100,46,32,65,110,32,97,108,105,97,115,32,99,97,110,32,98,101,32,100,101,97,99,116,105,118,97,116,101,100,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,117,110,97,108,105,97,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<117,110,97,108,105,97,115,47,49>>]}]},<<46,32,67,117,114,114,101,110,116,108,121,32,97,118,97,105,108,97,98,108,101,32,111,112,116,105,111,110,115,32,102,111,114,32>>,{code,[],[<<97,108,105,97,115,47,49>>]},<<58>>]},{dl,[],[{dt,[],[{code,[],[<<101,120,112,108,105,99,105,116,95,117,110,97,108,105,97,115>>]}]},{dd,[],[{p,[],[<<84,104,101,32,97,108,105,97,115,32,99,97,110,32,111,110,108,121,32,98,101,32,100,101,97,99,116,105,118,97,116,101,100,32,118,105,97,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<117,110,97,108,105,97,115,47,49>>]},<<46,32,84,104,105,115,32,105,115,32,97,108,115,111,32,116,104,101,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,117,114,32,105,102,32,110,111,32,111,112,116,105,111,110,115,32,97,114,101,32,112,97,115,115,101,100,32,111,114,32,105,102,32>>,{code,[],[<<97,108,105,97,115,47,48>>]},<<32,105,115,32,99,97,108,108,101,100,46>>]}]},{dt,[],[{code,[],[<<114,101,112,108,121>>]}]},{dd,[],[{p,[],[<<84,104,101,32,97,108,105,97,115,32,119,105,108,108,32,98,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,97,99,116,105,118,97,116,101,100,32,119,104,101,110,32,97,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,115,101,110,116,32,118,105,97,32,116,104,101,32,97,108,105,97,115,32,105,115,32,114,101,99,101,105,118,101,100,46,32,84,104,101,32,97,108,105,97,115,32,99,97,110,32,97,108,115,111,32,115,116,105,108,108,32,98,101,32,100,101,97,99,116,105,118,97,116,101,100,32,118,105,97,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<117,110,97,108,105,97,115,47,49>>]},<<46>>]}]}]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<115,101,114,118,101,114,40,41,32,45,62,10,32,32,32,32,114,101,99,101,105,118,101,10,32,32,32,32,32,32,32,32,123,114,101,113,117,101,115,116,44,32,65,108,105,97,115,82,101,113,73,100,44,32,82,101,113,117,101,115,116,125,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,82,101,115,117,108,116,32,61,32,112,101,114,102,111,114,109,95,114,101,113,117,101,115,116,40,82,101,113,117,101,115,116,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,65,108,105,97,115,82,101,113,73,100,32,33,32,123,114,101,112,108,121,44,32,65,108,105,97,115,82,101,113,73,100,44,32,82,101,115,117,108,116,125,10,32,32,32,32,101,110,100,44,10,32,32,32,32,115,101,114,118,101,114,40,41,46,10,10,99,108,105,101,110,116,40,83,101,114,118,101,114,80,105,100,44,32,82,101,113,117,101,115,116,41,32,45,62,10,32,32,32,32,65,108,105,97,115,82,101,113,73,100,32,61,32,97,108,105,97,115,40,91,114,101,112,108,121,93,41,44,10,32,32,32,32,83,101,114,118,101,114,80,105,100,32,33,32,123,114,101,113,117,101,115,116,44,32,65,108,105,97,115,82,101,113,73,100,44,32,82,101,113,117,101,115,116,125,44,10,32,32,32,32,37,37,32,65,108,105,97,115,32,119,105,108,108,32,98,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,97,99,116,105,118,97,116,101,100,32,105,102,32,119,101,32,114,101,99,101,105,118,101,32,97,32,114,101,112,108,121,10,32,32,32,32,37,37,32,115,105,110,99,101,32,119,101,32,117,115,101,100,32,116,104,101,32,39,114,101,112,108,121,39,32,111,112,116,105,111,110,46,46,46,10,32,32,32,32,114,101,99,101,105,118,101,10,32,32,32,32,32,32,32,32,123,114,101,112,108,121,44,32,65,108,105,97,115,82,101,113,73,100,44,32,82,101,115,117,108,116,125,32,45,62,32,82,101,115,117,108,116,10,32,32,32,32,97,102,116,101,114,32,53,48,48,48,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,117,110,97,108,105,97,115,40,65,108,105,97,115,82,101,113,73,100,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,37,37,32,70,108,117,115,104,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,105,110,32,99,97,115,101,32,116,104,101,32,114,101,112,108,121,32,97,114,114,105,118,101,100,10,32,32,32,32,32,32,32,32,32,32,32,32,37,37,32,106,117,115,116,32,98,101,102,111,114,101,32,116,104,101,32,97,108,105,97,115,32,119,97,115,32,100,101,97,99,116,105,118,97,116,101,100,46,46,46,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,99,101,105,118,101,32,123,114,101,112,108,121,44,32,65,108,105,97,115,82,101,113,73,100,44,32,82,101,115,117,108,116,125,32,45,62,32,82,101,115,117,108,116,10,32,32,32,32,32,32,32,32,32,32,32,32,97,102,116,101,114,32,48,32,45,62,32,101,120,105,116,40,116,105,109,101,111,117,116,41,10,32,32,32,32,32,32,32,32,32,32,32,32,101,110,100,10,32,32,32,32,101,110,100,46,10,9>>]}]},{p,[],[<<78,111,116,101,32,116,104,97,116,32,98,111,116,104,32,116,104,101,32,115,101,114,118,101,114,32,97,110,100,32,116,104,101,32,99,108,105,101,110,116,32,105,110,32,116,104,105,115,32,101,120,97,109,112,108,101,32,109,117,115,116,32,98,101,32,101,120,101,99,117,116,105,110,103,32,111,110,32,97,116,32,108,101,97,115,116,32,79,84,80,32,50,52,32,115,121,115,116,101,109,115,32,105,110,32,111,114,100,101,114,32,102,111,114,32,116,104,105,115,32,116,111,32,119,111,114,107,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,112,114,111,99,101,115,115,32,97,108,105,97,115,101,115,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,112,114,111,99,101,115,115,45,97,108,105,97,115,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<80,114,111,99,101,115,115,32,65,108,105,97,115,101,115>>]}]},<<32,115,101,99,116,105,111,110,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]},#{signature => [{attribute,{988,2},spec,{{alias,0},[{type,{988,12},bounded_fun,[{type,{988,12},'fun',[{type,{988,12},product,[]},{var,{988,18},'Alias'}]},[{type,{989,7},constraint,[{atom,{989,7},is_subtype},[{var,{989,7},'Alias'},{type,{989,16},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,51,55>>,since => <<79,84,80,32,50,52,46,48>>}},{{function,append_element,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,443}],[<<97,112,112,101,110,100,95,101,108,101,109,101,110,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,110,101,119,32,116,117,112,108,101,32,116,104,97,116,32,104,97,115,32,111,110,101,32,101,108,101,109,101,110,116,32,109,111,114,101,32,116,104,97,110,32>>,{code,[],[<<84,117,112,108,101,49>>]},<<44,32,97,110,100,32,99,111,110,116,97,105,110,115,32,116,104,101,32,101,108,101,109,101,110,116,115,32,105,110,32>>,{code,[],[<<84,117,112,108,101,49>>]},<<32,102,111,108,108,111,119,101,100,32,98,121,32>>,{code,[],[<<84,101,114,109>>]},<<32,97,115,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,46,32,83,101,109,97,110,116,105,99,97,108,108,121,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<108,105,115,116,95,116,111,95,116,117,112,108,101,40,116,117,112,108,101,95,116,111,95,108,105,115,116,40,84,117,112,108,101,49,41,32,43,43,32,91,84,101,114,109,93,41>>]},<<44,32,98,117,116,32,109,117,99,104,32,102,97,115,116,101,114,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,97,112,112,101,110,100,95,101,108,101,109,101,110,116,40,123,111,110,101,44,32,116,119,111,125,44,32,116,104,114,101,101,41,46,10,123,111,110,101,44,116,119,111,44,116,104,114,101,101,125>>]}]}]},#{signature => [{attribute,{443,2},spec,{{erlang,append_element,2},[{type,{443,28},bounded_fun,[{type,{443,28},'fun',[{type,{443,28},product,[{var,{443,29},'Tuple1'},{var,{443,37},'Term'}]},{var,{443,46},'Tuple2'}]},[{type,{444,7},constraint,[{atom,{444,7},is_subtype},[{var,{444,7},'Tuple1'},{type,{444,17},tuple,any}]]},{type,{445,7},constraint,[{atom,{445,7},is_subtype},[{var,{445,7},'Tuple2'},{type,{445,17},tuple,any}]]},{type,{446,7},constraint,[{atom,{446,7},is_subtype},[{var,{446,7},'Term'},{type,{446,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,48,54>>}},{{function,apply,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3198}],[<<97,112,112,108,121,47,50>>],#{<<101,110>> => [{p,[],[<<67,97,108,108,115,32,97,32,102,117,110,44,32,112,97,115,115,105,110,103,32,116,104,101,32,101,108,101,109,101,110,116,115,32,105,110,32>>,{code,[],[<<65,114,103,115>>]},<<32,97,115,32,97,114,103,117,109,101,110,116,115,46>>]},{p,[],[<<73,102,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,105,110,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,107,110,111,119,110,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,44,32,116,104,101,32,99,97,108,108,32,105,115,32,98,101,116,116,101,114,32,119,114,105,116,116,101,110,32,97,115,32>>,{code,[],[<<70,117,110,40,65,114,103,49,44,32,65,114,103,50,44,32,46,46,46,32,65,114,103,78,41>>]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<69,97,114,108,105,101,114,44,32>>,{code,[],[<<70,117,110>>]},<<32,99,111,117,108,100,32,97,108,115,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32>>,{code,[],[<<123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,125>>]},<<44,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<97,112,112,108,121,40,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,103,115,41>>]},<<46,32>>,{em,[],[<<84,104,105,115,32,117,115,101,32,105,115,32,100,101,112,114,101,99,97,116,101,100,32,97,110,100,32,119,105,108,108,32,115,116,111,112,32,119,111,114,107,105,110,103,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]}]}]}]},#{signature => [{attribute,{3198,2},spec,{{apply,2},[{type,{3198,12},bounded_fun,[{type,{3198,12},'fun',[{type,{3198,12},product,[{var,{3198,13},'Fun'},{var,{3198,18},'Args'}]},{type,{3198,27},term,[]}]},[{type,{3199,7},constraint,[{atom,{3199,7},is_subtype},[{var,{3199,7},'Fun'},{type,{3199,14},function,[]}]]},{type,{3200,7},constraint,[{atom,{3200,7},is_subtype},[{var,{3200,7},'Args'},{type,{3200,15},list,[{type,{3200,16},term,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,50,51>>}},{{function,apply,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3205}],[<<97,112,112,108,121,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,105,110,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<46,32,84,104,101,32,97,112,112,108,105,101,100,32,102,117,110,99,116,105,111,110,32,109,117,115,116,32,98,101,32,101,120,112,111,114,116,101,100,32,102,114,111,109,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46,32,84,104,101,32,97,114,105,116,121,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32>>,{code,[],[<<65,114,103,115>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,97,112,112,108,121,40,108,105,115,116,115,44,32,114,101,118,101,114,115,101,44,32,91,91,97,44,32,98,44,32,99,93,93,41,46,10,91,99,44,98,44,97,93,10,62,32,97,112,112,108,121,40,101,114,108,97,110,103,44,32,97,116,111,109,95,116,111,95,108,105,115,116,44,32,91,39,69,114,108,97,110,103,39,93,41,46,10,34,69,114,108,97,110,103,34>>]}]},{p,[],[<<73,102,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,107,110,111,119,110,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,44,32,116,104,101,32,99,97,108,108,32,105,115,32,98,101,116,116,101,114,32,119,114,105,116,116,101,110,32,97,115,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,40,65,114,103,49,44,32,65,114,103,50,44,32,46,46,46,44,32,65,114,103,78,41>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{a,[{href,<<107,101,114,110,101,108,58,101,114,114,111,114,95,104,97,110,100,108,101,114,35,117,110,100,101,102,105,110,101,100,95,102,117,110,99,116,105,111,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,114,111,114,95,104,97,110,100,108,101,114,58,117,110,100,101,102,105,110,101,100,95,102,117,110,99,116,105,111,110,47,51>>]}]},<<32,105,115,32,99,97,108,108,101,100,32,105,102,32,116,104,101,32,97,112,112,108,105,101,100,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,101,120,112,111,114,116,101,100,46,32,84,104,101,32,101,114,114,111,114,32,104,97,110,100,108,101,114,32,99,97,110,32,98,101,32,114,101,100,101,102,105,110,101,100,32,40,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>]}]},<<41,46,32,73,102,32>>,{code,[],[<<101,114,114,111,114,95,104,97,110,100,108,101,114>>]},<<32,105,115,32,117,110,100,101,102,105,110,101,100,44,32,111,114,32,105,102,32,116,104,101,32,117,115,101,114,32,104,97,115,32,114,101,100,101,102,105,110,101,100,32,116,104,101,32,100,101,102,97,117,108,116,32>>,{code,[],[<<101,114,114,111,114,95,104,97,110,100,108,101,114>>]},<<32,115,111,32,116,104,101,32,114,101,112,108,97,99,101,109,101,110,116,32,109,111,100,117,108,101,32,105,115,32,117,110,100,101,102,105,110,101,100,44,32,97,110,32,101,114,114,111,114,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<117,110,100,101,102>>]},<<32,105,115,32,103,101,110,101,114,97,116,101,100,46>>]}]},#{signature => [{attribute,{3205,2},spec,{{apply,3},[{type,{3205,12},bounded_fun,[{type,{3205,12},'fun',[{type,{3205,12},product,[{var,{3205,13},'Module'},{var,{3205,21},'Function'},{var,{3205,31},'Args'}]},{type,{3205,40},term,[]}]},[{type,{3206,7},constraint,[{atom,{3206,7},is_subtype},[{var,{3206,7},'Module'},{type,{3206,17},module,[]}]]},{type,{3207,7},constraint,[{atom,{3207,7},is_subtype},[{var,{3207,7},'Function'},{type,{3207,19},atom,[]}]]},{type,{3208,7},constraint,[{atom,{3208,7},is_subtype},[{var,{3208,7},'Args'},{type,{3208,15},list,[{type,{3208,16},term,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,52,49>>}},{{function,atom_to_binary,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,451}],[<<97,116,111,109,95,116,111,95,98,105,110,97,114,121,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,97,116,111,109,95,116,111,95,98,105,110,97,114,121,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<97,116,111,109,95,116,111,95,98,105,110,97,114,121>>]},<<32>>]},{code,[],[<<40,65,116,111,109,44,32,117,116,102,56,41>>]},<<46>>]}]},#{signature => [{attribute,{451,2},spec,{{atom_to_binary,1},[{type,{451,21},bounded_fun,[{type,{451,21},'fun',[{type,{451,21},product,[{var,{451,22},'Atom'}]},{type,{451,31},binary,[]}]},[{type,{452,7},constraint,[{atom,{452,7},is_subtype},[{var,{452,7},'Atom'},{type,{452,15},atom,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,55,49>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,atom_to_binary,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,462}],[<<97,116,111,109,95,116,111,95,98,105,110,97,114,121,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<65,116,111,109>>]},<<46,32,73,102,32>>,{code,[],[<<69,110,99,111,100,105,110,103>>]},<<32,105,115,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,111,110,101,32,98,121,116,101,32,101,120,105,115,116,115,32,102,111,114,32,101,97,99,104,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,46,32,73,102,32>>,{code,[],[<<69,110,99,111,100,105,110,103>>]},<<32,105,115,32>>,{code,[],[<<117,116,102,56>>]},<<32,111,114,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,101,110,99,111,100,101,100,32,117,115,105,110,103,32,85,84,70,45,56,32,119,104,101,114,101,32,99,104,97,114,97,99,116,101,114,115,32,109,97,121,32,114,101,113,117,105,114,101,32,109,117,108,116,105,112,108,101,32,98,121,116,101,115,46>>]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,50,48,44,32,97,116,111,109,115,32,99,97,110,32,99,111,110,116,97,105,110,32,97,110,121,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,32,97,110,100,32>>,{code,[],[<<97,116,111,109,95,116,111,95,98,105,110,97,114,121,40,65,116,111,109,44,32,108,97,116,105,110,49,41>>]},<<32,109,97,121,32,102,97,105,108,32,105,102,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,102,111,114,32>>,{code,[],[<<65,116,111,109>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,32,62,32,50,53,53,46>>]}]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,97,116,111,109,95,116,111,95,98,105,110,97,114,121,40,39,69,114,108,97,110,103,39,44,32,108,97,116,105,110,49,41,46,10,60,60,34,69,114,108,97,110,103,34,62,62>>]}]}]},#{signature => [{attribute,{462,2},spec,{{atom_to_binary,2},[{type,{462,21},bounded_fun,[{type,{462,21},'fun',[{type,{462,21},product,[{var,{462,22},'Atom'},{var,{462,28},'Encoding'}]},{type,{462,41},binary,[]}]},[{type,{463,7},constraint,[{atom,{463,7},is_subtype},[{var,{463,7},'Atom'},{type,{463,15},atom,[]}]]},{type,{464,7},constraint,[{atom,{464,7},is_subtype},[{var,{464,7},'Encoding'},{type,{464,19},union,[{atom,{464,19},latin1},{atom,{464,28},unicode},{atom,{464,38},utf8}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,56,49>>}},{{function,atom_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,469}],[<<97,116,111,109,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,117,110,105,99,111,100,101,32,99,111,100,101,32,112,111,105,110,116,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<65,116,111,109>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,97,116,111,109,95,116,111,95,108,105,115,116,40,39,69,114,108,97,110,103,39,41,46,10,34,69,114,108,97,110,103,34>>]}]},{pre,[],[{code,[],[<<62,32,97,116,111,109,95,116,111,95,108,105,115,116,40,39,228,189,160,229,165,189,39,41,46,10,91,50,48,51,50,48,44,50,50,57,48,57,93>>]}]},{p,[],[<<83,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<117,110,105,99,111,100,101,40,51,41>>]}]},<<32,102,111,114,32,104,111,119,32,116,111,32,99,111,110,118,101,114,116,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,108,105,115,116,32,116,111,32,100,105,102,102,101,114,101,110,116,32,102,111,114,109,97,116,115,46>>]}]},#{signature => [{attribute,{469,2},spec,{{atom_to_list,1},[{type,{469,19},bounded_fun,[{type,{469,19},'fun',[{type,{469,19},product,[{var,{469,20},'Atom'}]},{type,{469,29},string,[]}]},[{type,{470,7},constraint,[{atom,{470,7},is_subtype},[{var,{470,7},'Atom'},{type,{470,15},atom,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,48,54>>}},{{function,binary_part,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,476}],[<<98,105,110,97,114,121,95,112,97,114,116,47,50>>],#{<<101,110>> => [{p,[],[<<69,120,116,114,97,99,116,115,32,116,104,101,32,112,97,114,116,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,100,101,115,99,114,105,98,101,100,32,98,121,32>>,{code,[],[<<80,111,115,76,101,110>>]},<<46>>]},{p,[],[<<78,101,103,97,116,105,118,101,32,108,101,110,103,116,104,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,101,120,116,114,97,99,116,32,98,121,116,101,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,97,32,98,105,110,97,114,121,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<49,62,32,66,105,110,32,61,32,60,60,49,44,50,44,51,44,52,44,53,44,54,44,55,44,56,44,57,44,49,48,62,62,46,10,50,62,32,98,105,110,97,114,121,95,112,97,114,116,40,66,105,110,44,123,98,121,116,101,95,115,105,122,101,40,66,105,110,41,44,32,45,53,125,41,46,10,60,60,54,44,55,44,56,44,57,44,49,48,62,62>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,115,76,101,110>>]},<<32,105,110,32,97,110,121,32,119,97,121,32,114,101,102,101,114,101,110,99,101,115,32,111,117,116,115,105,100,101,32,116,104,101,32,98,105,110,97,114,121,46>>]},{p,[],[{code,[],[<<83,116,97,114,116>>]},<<32,105,115,32,122,101,114,111,45,98,97,115,101,100,44,32,116,104,97,116,32,105,115,58>>]},{pre,[],[{code,[],[<<49,62,32,66,105,110,32,61,32,60,60,49,44,50,44,51,62,62,10,50,62,32,98,105,110,97,114,121,95,112,97,114,116,40,66,105,110,44,123,48,44,50,125,41,46,10,60,60,49,44,50,62,62>>]}]},{p,[],[<<70,111,114,32,100,101,116,97,105,108,115,32,97,98,111,117,116,32,116,104,101,32>>,{code,[],[<<80,111,115,76,101,110>>]},<<32,115,101,109,97,110,116,105,99,115,44,32,115,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,98,105,110,97,114,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<98,105,110,97,114,121,40,51,41>>]}]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{476,2},spec,{{binary_part,2},[{type,{476,18},bounded_fun,[{type,{476,18},'fun',[{type,{476,18},product,[{var,{476,19},'Subject'},{var,{476,28},'PosLen'}]},{type,{476,39},binary,[]}]},[{type,{477,7},constraint,[{atom,{477,7},is_subtype},[{var,{477,7},'Subject'},{type,{477,18},binary,[]}]]},{type,{478,7},constraint,[{atom,{478,7},is_subtype},[{var,{478,7},'PosLen'},{type,{478,17},tuple,[{ann_type,{478,18},[{var,{478,18},'Start'},{type,{478,27},non_neg_integer,[]}]},{ann_type,{478,46},[{var,{478,46},'Length'},{type,{478,56},integer,[]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,50,52>>,since => <<79,84,80,32,82,49,52,66>>}},{{function,binary_part,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,484}],[<<98,105,110,97,114,121,95,112,97,114,116,47,51>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<98,105,110,97,114,121,95,112,97,114,116,40,83,117,98,106,101,99,116,44,32,123,83,116,97,114,116,44,32,76,101,110,103,116,104,125,41>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{484,2},spec,{{binary_part,3},[{type,{484,18},bounded_fun,[{type,{484,18},'fun',[{type,{484,18},product,[{var,{484,19},'Subject'},{var,{484,28},'Start'},{var,{484,35},'Length'}]},{type,{484,46},binary,[]}]},[{type,{485,7},constraint,[{atom,{485,7},is_subtype},[{var,{485,7},'Subject'},{type,{485,18},binary,[]}]]},{type,{486,7},constraint,[{atom,{486,7},is_subtype},[{var,{486,7},'Start'},{type,{486,16},non_neg_integer,[]}]]},{type,{487,7},constraint,[{atom,{487,7},is_subtype},[{var,{487,7},'Length'},{type,{487,17},integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,52,57>>,since => <<79,84,80,32,82,49,52,66>>}},{{function,binary_to_atom,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,492}],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109>>]},<<32>>]},{code,[],[<<40,66,105,110,97,114,121,44,32,117,116,102,56,41>>]},<<46>>]}]},#{signature => [{attribute,{492,2},spec,{{binary_to_atom,1},[{type,{492,21},bounded_fun,[{type,{492,21},'fun',[{type,{492,21},product,[{var,{492,22},'Binary'}]},{type,{492,33},atom,[]}]},[{type,{493,7},constraint,[{atom,{493,7},is_subtype},[{var,{493,7},'Binary'},{type,{493,17},binary,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,53,57>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,binary_to_atom,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,502}],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,97,116,111,109,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<46,32,73,102,32>>,{code,[],[<<69,110,99,111,100,105,110,103>>]},<<32,105,115,32>>,{code,[],[<<117,116,102,56>>]},<<32,111,114,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,116,104,101,32,98,105,110,97,114,121,32,109,117,115,116,32,99,111,110,116,97,105,110,32,118,97,108,105,100,32,85,84,70,45,56,32,115,101,113,117,101,110,99,101,115,46>>]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,50,48,44,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,40,66,105,110,97,114,121,44,32,117,116,102,56,41>>]},<<32,105,115,32,99,97,112,97,98,108,101,32,111,102,32,100,101,99,111,100,105,110,103,32,97,110,121,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,46,32,69,97,114,108,105,101,114,32,118,101,114,115,105,111,110,115,32,119,111,117,108,100,32,102,97,105,108,32,105,102,32,116,104,101,32,98,105,110,97,114,121,32,99,111,110,116,97,105,110,101,100,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,32,62,32,50,53,53,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,112,101,114,109,105,116,116,101,100,32,105,110,32,97,110,32,97,116,111,109,32,110,97,109,101,32,105,115,32,108,105,109,105,116,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,108,105,109,105,116,115,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,102,102,105,99,105,101,110,99,121,32,103,117,105,100,101,32,40,115,101,99,116,105,111,110,32,65,100,118,97,110,99,101,100,41>>]},<<46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,114,101,32,105,115,32,99,111,110,102,105,103,117,114,97,98,108,101,32,108,105,109,105,116,32,111,110,32,104,111,119,32,109,97,110,121,32,97,116,111,109,115,32,116,104,97,116,32,99,97,110,32,101,120,105,115,116,32,97,110,100,32,97,116,111,109,115,32,97,114,101,32,110,111,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,46,32,84,104,101,114,101,102,111,114,101,44,32,105,116,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,99,111,110,115,105,100,101,114,32,119,104,101,116,104,101,114,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,50>>]},<<32,105,115,32,97,32,98,101,116,116,101,114,32,111,112,116,105,111,110,32,116,104,97,110,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>]},<<46,32,84,104,101,32,100,101,102,97,117,108,116,32,108,105,109,105,116,115,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,102,102,105,99,105,101,110,99,121,32,103,117,105,100,101,32,40,115,101,99,116,105,111,110,32,65,100,118,97,110,99,101,100,41>>]},<<46>>]}]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,98,105,110,97,114,121,95,116,111,95,97,116,111,109,40,60,60,34,69,114,108,97,110,103,34,62,62,44,32,108,97,116,105,110,49,41,46,10,39,69,114,108,97,110,103,39>>]}]},{pre,[],[{code,[],[<<62,32,98,105,110,97,114,121,95,116,111,95,97,116,111,109,40,60,60,49,48,50,52,47,117,116,102,56,62,62,44,32,117,116,102,56,41,46,10,39,208,128,39>>]}]}]},#{signature => [{attribute,{502,2},spec,{{binary_to_atom,2},[{type,{502,21},bounded_fun,[{type,{502,21},'fun',[{type,{502,21},product,[{var,{502,22},'Binary'},{var,{502,30},'Encoding'}]},{type,{502,43},atom,[]}]},[{type,{503,7},constraint,[{atom,{503,7},is_subtype},[{var,{503,7},'Binary'},{type,{503,17},binary,[]}]]},{type,{504,7},constraint,[{atom,{504,7},is_subtype},[{var,{504,7},'Encoding'},{type,{504,19},union,[{atom,{504,19},latin1},{atom,{504,28},unicode},{atom,{504,38},utf8}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,54,57>>}},{{function,binary_to_existing_atom,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,509}],[<<98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109>>]}]},<<32>>,{code,[],[<<40,66,105,110,97,114,121,44,32,117,116,102,56,41>>]},<<46>>]}]},#{signature => [{attribute,{509,2},spec,{{binary_to_existing_atom,1},[{type,{509,30},bounded_fun,[{type,{509,30},'fun',[{type,{509,30},product,[{var,{509,31},'Binary'}]},{type,{509,42},atom,[]}]},[{type,{510,7},constraint,[{atom,{510,7},is_subtype},[{var,{510,7},'Binary'},{type,{510,17},binary,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,48,56>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,binary_to_existing_atom,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,519}],[<<98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,50>>],#{<<101,110>> => [{p,[],[<<65,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>]}]},<<44,32,98,117,116,32,116,104,101,32,97,116,111,109,32,109,117,115,116,32,101,120,105,115,116,46>>]},{p,[],[<<84,104,101,32,69,114,108,97,110,103,32,115,121,115,116,101,109,32,104,97,115,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<99,111,110,102,105,103,117,114,97,98,108,101,32,108,105,109,105,116>>]},<<32,102,111,114,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,97,116,111,109,115,32,116,104,97,116,32,99,97,110,32,101,120,105,115,116,44,32,97,110,100,32,97,116,111,109,115,32,97,114,101,32,110,111,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,46,32,84,104,101,114,101,102,111,114,101,44,32,105,116,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,99,114,101,97,116,101,32,109,97,110,121,32,97,116,111,109,115,32,102,114,111,109,32,98,105,110,97,114,105,101,115,32,116,104,97,116,32,99,111,109,101,32,102,114,111,109,32,97,110,32,117,110,116,114,117,115,116,101,100,32,115,111,117,114,99,101,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,97,32,102,105,108,101,32,102,101,116,99,104,101,100,32,102,114,111,109,32,116,104,101,32,73,110,116,101,114,110,101,116,41,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>]}]},<<46,32,84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,116,104,117,115,32,116,104,101,32,97,112,112,114,111,112,114,105,97,116,101,32,111,112,116,105,111,110,32,119,104,101,110,32,116,104,101,32,105,110,112,117,116,32,98,105,110,97,114,121,32,99,111,109,101,115,32,102,114,111,109,32,97,110,32,117,110,116,114,117,115,116,101,100,32,115,111,117,114,99,101,46>>]},{p,[],[<<65,110,32,97,116,111,109,32,101,120,105,115,116,115,32,105,110,32,97,110,32,69,114,108,97,110,103,32,115,121,115,116,101,109,32,119,104,101,110,32,105,110,99,108,117,100,101,100,32,105,110,32,97,32,108,111,97,100,101,100,32,69,114,108,97,110,103,32,109,111,100,117,108,101,32,111,114,32,119,104,101,110,32,99,114,101,97,116,101,100,32,112,114,111,103,114,97,109,109,97,116,105,99,97,108,108,121,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,98,121,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,97,116,111,109,47,50>>]},<<41,46,32,83,101,101,32,116,104,101,32,110,101,120,116,32,110,111,116,101,32,102,111,114,32,97,110,32,101,120,97,109,112,108,101,32,111,102,32,119,104,101,110,32,97,110,32,97,116,111,109,32,101,120,105,115,116,115,32,105,110,32,116,104,101,32,115,111,117,114,99,101,32,99,111,100,101,32,102,111,114,32,97,110,32,69,114,108,97,110,103,32,109,111,100,117,108,101,32,98,117,116,32,110,111,116,32,105,110,32,116,104,101,32,99,111,109,112,105,108,101,100,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,115,97,109,101,32,109,111,100,117,108,101,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,32,97,116,111,109,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<78,111,116,101,32,116,104,97,116,32,116,104,101,32,99,111,109,112,105,108,101,114,32,109,97,121,32,111,112,116,105,109,105,122,101,32,97,119,97,121,32,97,116,111,109,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,99,111,109,112,105,108,101,114,32,119,105,108,108,32,114,101,119,114,105,116,101,32>>,{code,[],[<<97,116,111,109,95,116,111,95,108,105,115,116,40,115,111,109,101,95,97,116,111,109,41>>]},<<32,116,111,32>>,{code,[],[<<34,115,111,109,101,95,97,116,111,109,34>>]},<<46,32,73,102,32,116,104,97,116,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,116,104,101,32,111,110,108,121,32,109,101,110,116,105,111,110,32,111,102,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<115,111,109,101,95,97,116,111,109>>]},<<32,105,110,32,116,104,101,32,99,111,110,116,97,105,110,105,110,103,32,109,111,100,117,108,101,44,32,116,104,101,32,97,116,111,109,32,119,105,108,108,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,32,119,104,101,110,32,116,104,101,32,109,111,100,117,108,101,32,105,115,32,108,111,97,100,101,100,44,32,97,110,100,32,97,32,115,117,98,115,101,113,117,101,110,116,32,99,97,108,108,32,116,111,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,40,60,60,34,115,111,109,101,95,97,116,111,109,34,62,62,44,32,117,116,102,56,41>>]},<<32,119,105,108,108,32,102,97,105,108,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,112,101,114,109,105,116,116,101,100,32,105,110,32,97,110,32,97,116,111,109,32,110,97,109,101,32,105,115,32,108,105,109,105,116,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,108,105,109,105,116,115,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,102,102,105,99,105,101,110,99,121,32,103,117,105,100,101,32,40,115,101,99,116,105,111,110,32,65,100,118,97,110,99,101,100,41>>]},<<46>>]}]}]},#{signature => [{attribute,{519,2},spec,{{binary_to_existing_atom,2},[{type,{519,30},bounded_fun,[{type,{519,30},'fun',[{type,{519,30},product,[{var,{519,31},'Binary'},{var,{519,39},'Encoding'}]},{type,{519,52},atom,[]}]},[{type,{520,7},constraint,[{atom,{520,7},is_subtype},[{var,{520,7},'Binary'},{type,{520,17},binary,[]}]]},{type,{521,7},constraint,[{atom,{521,7},is_subtype},[{var,{521,7},'Encoding'},{type,{521,19},union,[{atom,{521,19},latin1},{atom,{521,28},unicode},{atom,{521,38},utf8}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,49,57>>}},{{function,binary_to_float,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,526}],[<<98,105,110,97,114,121,95,116,111,95,102,108,111,97,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,102,108,111,97,116,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,98,105,110,97,114,121,95,116,111,95,102,108,111,97,116,40,60,60,34,50,46,50,48,49,55,55,54,52,101,43,48,34,62,62,41,46,10,50,46,50,48,49,55,55,54,52>>]}]},{p,[],[<<84,104,101,32,102,108,111,97,116,32,115,116,114,105,110,103,32,102,111,114,109,97,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,102,111,114,109,97,116,32,102,111,114,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,102,108,111,97,116,32,108,105,116,101,114,97,108,115>>]},<<32,101,120,99,101,112,116,32,102,111,114,32,116,104,97,116,32,117,110,100,101,114,115,99,111,114,101,115,32,97,114,101,32,110,111,116,32,112,101,114,109,105,116,116,101,100,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,32,102,108,111,97,116,46>>]}]},#{signature => [{attribute,{526,2},spec,{{binary_to_float,1},[{type,{526,22},bounded_fun,[{type,{526,22},'fun',[{type,{526,22},product,[{var,{526,23},'Binary'}]},{type,{526,34},float,[]}]},[{type,{527,7},constraint,[{atom,{527,7},is_subtype},[{var,{527,7},'Binary'},{type,{527,17},binary,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,54,51>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,binary_to_integer,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,532}],[<<98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,40,60,60,34,49,50,51,34,62,62,41,46,10,49,50,51>>]}]},{p,[],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,47,49>>]},<<32,97,99,99,101,112,116,115,32,116,104,101,32,115,97,109,101,32,115,116,114,105,110,103,32,102,111,114,109,97,116,115,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,47,49>>]}]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,110,32,105,110,116,101,103,101,114,46>>]}]},#{signature => [{attribute,{532,2},spec,{{binary_to_integer,1},[{type,{532,24},bounded_fun,[{type,{532,24},'fun',[{type,{532,24},product,[{var,{532,25},'Binary'}]},{type,{532,36},integer,[]}]},[{type,{533,7},constraint,[{atom,{533,7},is_subtype},[{var,{533,7},'Binary'},{type,{533,17},binary,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,56,49>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,binary_to_integer,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,550}],[<<98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,110,32,98,97,115,101,32>>,{code,[],[<<66,97,115,101>>]},<<32,105,115,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,40,60,60,34,51,70,70,34,62,62,44,32,49,54,41,46,10,49,48,50,51>>]}]},{p,[],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,105,110,116,101,103,101,114,47,50>>]},<<32,97,99,99,101,112,116,115,32,116,104,101,32,115,97,109,101,32,115,116,114,105,110,103,32,102,111,114,109,97,116,115,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,47,50>>]}]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,110,32,105,110,116,101,103,101,114,46>>]}]},#{signature => [{attribute,{550,2},spec,{{binary_to_integer,2},[{type,{550,24},bounded_fun,[{type,{550,24},'fun',[{type,{550,24},product,[{var,{550,25},'Binary'},{var,{550,33},'Base'}]},{type,{550,42},integer,[]}]},[{type,{551,7},constraint,[{atom,{551,7},is_subtype},[{var,{551,7},'Binary'},{type,{551,17},binary,[]}]]},{type,{552,7},constraint,[{atom,{552,7},is_subtype},[{var,{552,7},'Base'},{type,{552,15},range,[{integer,{552,15},2},{integer,{552,18},36}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,57,56>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,binary_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,711}],[<<98,105,110,97,114,121,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,105,110,116,101,103,101,114,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,98,121,116,101,115,32,111,102,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<46>>]}]},#{signature => [{attribute,{711,2},spec,{{binary_to_list,1},[{type,{711,21},bounded_fun,[{type,{711,21},'fun',[{type,{711,21},product,[{var,{711,22},'Binary'}]},{type,{711,33},list,[{type,{711,34},byte,[]}]}]},[{type,{712,7},constraint,[{atom,{712,7},is_subtype},[{var,{712,7},'Binary'},{type,{712,17},binary,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,49,54>>}},{{function,binary_to_list,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,717}],[<<98,105,110,97,114,121,95,116,111,95,108,105,115,116,47,51>>],#{<<101,110>> => [{p,[],[<<65,115,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,108,105,115,116,47,49>>]},<<44,32,98,117,116,32,114,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,105,110,116,101,103,101,114,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,98,121,116,101,115,32,102,114,111,109,32,112,111,115,105,116,105,111,110,32>>,{code,[],[<<83,116,97,114,116>>]},<<32,116,111,32,112,111,115,105,116,105,111,110,32>>,{code,[],[<<83,116,111,112>>]},<<32,105,110,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<46,32,84,104,101,32,112,111,115,105,116,105,111,110,115,32,105,110,32,116,104,101,32,98,105,110,97,114,121,32,97,114,101,32,110,117,109,98,101,114,101,100,32,115,116,97,114,116,105,110,103,32,102,114,111,109,32,49,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[{em,[],[<<84,104,101,32,111,110,101,45,98,97,115,101,100,32,105,110,100,101,120,105,110,103,32,102,111,114,32,98,105,110,97,114,105,101,115,32,117,115,101,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,100,101,112,114,101,99,97,116,101,100,46>>]},<<32,78,101,119,32,99,111,100,101,32,105,115,32,116,111,32,117,115,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,98,105,110,97,114,121,35,98,105,110,95,116,111,95,108,105,115,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,58,98,105,110,95,116,111,95,108,105,115,116,47,51>>]}]},<<32,105,110,32,83,84,68,76,73,66,32,105,110,115,116,101,97,100,46,32,65,108,108,32,102,117,110,99,116,105,111,110,115,32,105,110,32,109,111,100,117,108,101,32>>,{code,[],[<<98,105,110,97,114,121>>]},<<32,99,111,110,115,105,115,116,101,110,116,108,121,32,117,115,101,32,122,101,114,111,45,98,97,115,101,100,32,105,110,100,101,120,105,110,103,46>>]}]}]},#{signature => [{attribute,{717,2},spec,{{binary_to_list,3},[{type,{717,21},bounded_fun,[{type,{717,21},'fun',[{type,{717,21},product,[{var,{717,22},'Binary'},{var,{717,30},'Start'},{var,{717,37},'Stop'}]},{type,{717,46},list,[{type,{717,47},byte,[]}]}]},[{type,{718,7},constraint,[{atom,{718,7},is_subtype},[{var,{718,7},'Binary'},{type,{718,17},binary,[]}]]},{type,{719,7},constraint,[{atom,{719,7},is_subtype},[{var,{719,7},'Start'},{type,{719,16},pos_integer,[]}]]},{type,{720,7},constraint,[{atom,{720,7},is_subtype},[{var,{720,7},'Stop'},{type,{720,15},pos_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,50,53>>}},{{function,binary_to_term,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,725}],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,69,114,108,97,110,103,32,116,101,114,109,32,116,104,97,116,32,105,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,100,101,99,111,100,105,110,103,32,98,105,110,97,114,121,32,111,98,106,101,99,116,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<44,32,119,104,105,99,104,32,109,117,115,116,32,98,101,32,101,110,99,111,100,101,100,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,101,120,116,95,100,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116>>]},<<46>>]},{pre,[],[{code,[],[<<62,32,66,105,110,32,61,32,116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,104,101,108,108,111,41,46,10,60,60,49,51,49,44,49,48,48,44,48,44,53,44,49,48,52,44,49,48,49,44,49,48,56,44,49,48,56,44,49,49,49,62,62,10,62,32,104,101,108,108,111,32,61,32,98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,66,105,110,41,46,10,104,101,108,108,111>>]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<87,104,101,110,32,100,101,99,111,100,105,110,103,32,98,105,110,97,114,105,101,115,32,102,114,111,109,32,117,110,116,114,117,115,116,101,100,32,115,111,117,114,99,101,115,44,32,116,104,101,32,117,110,116,114,117,115,116,101,100,32,115,111,117,114,99,101,32,109,97,121,32,115,117,98,109,105,116,32,100,97,116,97,32,105,110,32,97,32,119,97,121,32,116,111,32,99,114,101,97,116,101,32,114,101,115,111,117,114,99,101,115,44,32,115,117,99,104,32,97,115,32,97,116,111,109,115,32,97,110,100,32,114,101,109,111,116,101,32,114,101,102,101,114,101,110,99,101,115,44,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,32,97,110,100,32,108,101,97,100,32,116,111,32,68,101,110,105,97,108,32,111,102,32,83,101,114,118,105,99,101,32,97,116,116,97,99,107,46,32,73,110,32,115,117,99,104,32,99,97,115,101,115,44,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,50>>]},<<32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<115,97,102,101>>]},<<32,111,112,116,105,111,110,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{725,2},spec,{{binary_to_term,1},[{type,{725,21},bounded_fun,[{type,{725,21},'fun',[{type,{725,21},product,[{var,{725,22},'Binary'}]},{type,{725,33},term,[]}]},[{type,{726,7},constraint,[{atom,{726,7},is_subtype},[{var,{726,7},'Binary'},{user_type,{726,17},ext_binary,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,52,55>>}},{{function,binary_to_term,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,731}],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,50>>],#{<<101,110>> => [{p,[],[<<65,115,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>]},<<44,32,98,117,116,32,116,97,107,101,115,32,116,104,101,115,101,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<115,97,102,101>>]}]},{dd,[],[{p,[],[<<85,115,101,32,116,104,105,115,32,111,112,116,105,111,110,32,119,104,101,110,32,114,101,99,101,105,118,105,110,103,32,98,105,110,97,114,105,101,115,32,102,114,111,109,32,97,110,32,117,110,116,114,117,115,116,101,100,32,115,111,117,114,99,101,46>>]},{p,[],[<<87,104,101,110,32,101,110,97,98,108,101,100,44,32,105,116,32,112,114,101,118,101,110,116,115,32,100,101,99,111,100,105,110,103,32,100,97,116,97,32,116,104,97,116,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,97,116,116,97,99,107,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,46,32,73,110,32,116,104,101,32,101,118,101,110,116,32,111,102,32,114,101,99,101,105,118,105,110,103,32,117,110,115,97,102,101,32,100,97,116,97,44,32,100,101,99,111,100,105,110,103,32,102,97,105,108,115,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,114,114,111,114,46>>]},{p,[],[<<84,104,105,115,32,112,114,101,118,101,110,116,115,32,99,114,101,97,116,105,111,110,32,111,102,32,110,101,119,32,97,116,111,109,115,32,100,105,114,101,99,116,108,121,44,32,99,114,101,97,116,105,111,110,32,111,102,32,110,101,119,32,97,116,111,109,115,32,105,110,100,105,114,101,99,116,108,121,32,40,97,115,32,116,104,101,121,32,97,114,101,32,101,109,98,101,100,100,101,100,32,105,110,32,99,101,114,116,97,105,110,32,115,116,114,117,99,116,117,114,101,115,44,32,115,117,99,104,32,97,115,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,115,44,32,114,101,102,115,44,32,97,110,100,32,102,117,110,115,41,44,32,97,110,100,32,99,114,101,97,116,105,111,110,32,111,102,32,110,101,119,32,101,120,116,101,114,110,97,108,32,102,117,110,99,116,105,111,110,32,114,101,102,101,114,101,110,99,101,115,46,32,78,111,110,101,32,111,102,32,116,104,111,115,101,32,114,101,115,111,117,114,99,101,115,32,97,114,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,44,32,115,111,32,117,110,99,104,101,99,107,101,100,32,99,114,101,97,116,105,111,110,32,111,102,32,116,104,101,109,32,99,97,110,32,101,120,104,97,117,115,116,32,97,118,97,105,108,97,98,108,101,32,109,101,109,111,114,121,46>>]},{pre,[],[{code,[],[<<62,32,98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,60,60,49,51,49,44,49,48,48,44,48,44,53,44,34,104,101,108,108,111,34,62,62,44,32,91,115,97,102,101,93,41,46,10,42,42,32,101,120,99,101,112,116,105,111,110,32,101,114,114,111,114,58,32,98,97,100,32,97,114,103,117,109,101,110,116,10,62,32,104,101,108,108,111,46,10,104,101,108,108,111,10,62,32,98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,60,60,49,51,49,44,49,48,48,44,48,44,53,44,34,104,101,108,108,111,34,62,62,44,32,91,115,97,102,101,93,41,46,10,104,101,108,108,111>>]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,101,32>>,{code,[],[<<115,97,102,101>>]},<<32,111,112,116,105,111,110,32,101,110,115,117,114,101,115,32,116,104,101,32,100,97,116,97,32,105,115,32,115,97,102,101,108,121,32,112,114,111,99,101,115,115,101,100,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,98,117,116,32,105,116,32,100,111,101,115,32,110,111,116,32,103,117,97,114,97,110,116,101,101,32,116,104,101,32,100,97,116,97,32,105,115,32,115,97,102,101,32,116,111,32,121,111,117,114,32,97,112,112,108,105,99,97,116,105,111,110,46,32,89,111,117,32,109,117,115,116,32,97,108,119,97,121,115,32,118,97,108,105,100,97,116,101,32,100,97,116,97,32,102,114,111,109,32,117,110,116,114,117,115,116,101,100,32,115,111,117,114,99,101,115,46,32,73,102,32,116,104,101,32,98,105,110,97,114,121,32,105,115,32,115,116,111,114,101,100,32,111,114,32,116,114,97,110,115,105,116,115,32,116,104,114,111,117,103,104,32,117,110,116,114,117,115,116,101,100,32,115,111,117,114,99,101,115,44,32,121,111,117,32,115,104,111,117,108,100,32,97,108,115,111,32,99,111,110,115,105,100,101,114,32,99,114,121,112,116,111,103,114,97,112,104,105,99,97,108,108,121,32,115,105,103,110,105,110,103,32,105,116,46>>]}]}]},{dt,[],[{code,[],[<<117,115,101,100>>]}]},{dd,[],[{p,[],[<<67,104,97,110,103,101,115,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,116,111,32>>,{code,[],[<<123,84,101,114,109,44,32,85,115,101,100,125>>]},<<32,119,104,101,114,101,32>>,{code,[],[<<85,115,101,100>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,97,99,116,117,97,108,108,121,32,114,101,97,100,32,102,114,111,109,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<46>>]},{pre,[],[{code,[],[<<62,32,73,110,112,117,116,32,61,32,60,60,49,51,49,44,49,48,48,44,48,44,53,44,34,104,101,108,108,111,34,44,34,119,111,114,108,100,34,62,62,46,10,60,60,49,51,49,44,49,48,48,44,48,44,53,44,49,48,52,44,49,48,49,44,49,48,56,44,49,48,56,44,49,49,49,44,49,49,57,44,49,49,49,44,49,49,52,44,49,48,56,44,49,48,48,62,62,10,62,32,123,84,101,114,109,44,32,85,115,101,100,125,32,61,32,98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,73,110,112,117,116,44,32,91,117,115,101,100,93,41,46,10,123,104,101,108,108,111,44,32,57,125,10,62,32,115,112,108,105,116,95,98,105,110,97,114,121,40,73,110,112,117,116,44,32,85,115,101,100,41,46,10,123,60,60,49,51,49,44,49,48,48,44,48,44,53,44,49,48,52,44,49,48,49,44,49,48,56,44,49,48,56,44,49,49,49,62,62,44,32,60,60,34,119,111,114,108,100,34,62,62,125>>]}]}]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<115,97,102,101>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,110,100,32,117,110,115,97,102,101,32,100,97,116,97,32,105,115,32,100,101,99,111,100,101,100,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49>>]}]},<<46>>]}]},#{signature => [{attribute,{731,2},spec,{{binary_to_term,2},[{type,{731,21},bounded_fun,[{type,{731,21},'fun',[{type,{731,21},product,[{var,{731,22},'Binary'},{var,{731,30},'Opts'}]},{type,{731,39},union,[{type,{731,39},term,[]},{type,{731,48},tuple,[{type,{731,49},term,[]},{var,{731,57},'Used'}]}]}]},[{type,{732,7},constraint,[{atom,{732,7},is_subtype},[{var,{732,7},'Binary'},{user_type,{732,17},ext_binary,[]}]]},{type,{733,7},constraint,[{atom,{733,7},is_subtype},[{var,{733,7},'Opt'},{type,{733,14},union,[{atom,{733,14},safe},{atom,{733,21},used}]}]]},{type,{734,7},constraint,[{atom,{734,7},is_subtype},[{var,{734,7},'Opts'},{type,{734,15},list,[{var,{734,16},'Opt'}]}]]},{type,{735,7},constraint,[{atom,{735,7},is_subtype},[{var,{735,7},'Used'},{type,{735,15},pos_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,55,54>>,since => <<79,84,80,32,82,49,51,66,48,52>>}},{{function,bit_size,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,741}],[<<98,105,116,95,115,105,122,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,116,104,97,116,32,105,115,32,116,104,101,32,115,105,122,101,32,105,110,32,98,105,116,115,32,111,102,32>>,{code,[],[<<66,105,116,115,116,114,105,110,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,98,105,116,95,115,105,122,101,40,60,60,52,51,51,58,49,54,44,51,58,51,62,62,41,46,10,49,57,10,62,32,98,105,116,95,115,105,122,101,40,60,60,49,44,50,44,51,62,62,41,46,10,50,52>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{741,2},spec,{{bit_size,1},[{type,{741,15},bounded_fun,[{type,{741,15},'fun',[{type,{741,15},product,[{var,{741,16},'Bitstring'}]},{type,{741,30},non_neg_integer,[]}]},[{type,{742,7},constraint,[{atom,{742,7},is_subtype},[{var,{742,7},'Bitstring'},{type,{742,20},bitstring,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,51,57>>}},{{function,bitstring_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,747}],[<<98,105,116,115,116,114,105,110,103,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,105,110,116,101,103,101,114,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,98,121,116,101,115,32,111,102,32>>,{code,[],[<<66,105,116,115,116,114,105,110,103>>]},<<46,32,73,102,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,105,116,115,32,105,110,32,116,104,101,32,98,105,110,97,114,121,32,105,115,32,110,111,116,32,100,105,118,105,115,105,98,108,101,32,98,121,32,56,44,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,108,105,115,116,32,105,115,32,97,32,98,105,116,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,49,45,55,32,98,105,116,115,46,32,69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,98,105,116,115,116,114,105,110,103,95,116,111,95,108,105,115,116,40,60,60,52,51,51,58,49,54,62,62,41,46,10,91,49,44,49,55,55,93>>]}]},{pre,[],[{code,[],[<<62,32,98,105,116,115,116,114,105,110,103,95,116,111,95,108,105,115,116,40,60,60,52,51,51,58,49,54,44,51,58,51,62,62,41,46,10,91,49,44,49,55,55,44,60,60,51,58,51,62,62,93>>]}]}]},#{signature => [{attribute,{747,2},spec,{{bitstring_to_list,1},[{type,{747,24},bounded_fun,[{type,{747,24},'fun',[{type,{747,24},product,[{var,{747,25},'Bitstring'}]},{type,{747,39},list,[{type,{747,40},union,[{type,{747,40},byte,[]},{type,{747,49},bitstring,[]}]}]}]},[{type,{748,7},constraint,[{atom,{748,7},is_subtype},[{var,{748,7},'Bitstring'},{type,{748,20},bitstring,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,53,52>>}},{{function,bump_reductions,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,753}],[<<98,117,109,112,95,114,101,100,117,99,116,105,111,110,115,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,105,115,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,45,100,101,112,101,110,100,101,110,116,32,102,117,110,99,116,105,111,110,32,105,110,99,114,101,109,101,110,116,115,32,116,104,101,32,114,101,100,117,99,116,105,111,110,32,99,111,117,110,116,101,114,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,73,110,32,116,104,101,32,66,101,97,109,32,101,109,117,108,97,116,111,114,44,32,116,104,101,32,114,101,100,117,99,116,105,111,110,32,99,111,117,110,116,101,114,32,105,115,32,110,111,114,109,97,108,108,121,32,105,110,99,114,101,109,101,110,116,101,100,32,98,121,32,111,110,101,32,102,111,114,32,101,97,99,104,32,102,117,110,99,116,105,111,110,32,97,110,100,32,66,73,70,32,99,97,108,108,46,32,65,32,99,111,110,116,101,120,116,32,115,119,105,116,99,104,32,105,115,32,102,111,114,99,101,100,32,119,104,101,110,32,116,104,101,32,99,111,117,110,116,101,114,32,114,101,97,99,104,101,115,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,114,101,100,117,99,116,105,111,110,115,32,102,111,114,32,97,32,112,114,111,99,101,115,115,32,40,52,48,48,48,32,114,101,100,117,99,116,105,111,110,115,32,105,110,32,69,114,108,97,110,103,47,79,84,80,32,49,57,46,50,32,97,110,100,32,108,97,116,101,114,41,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,99,97,110,32,98,101,32,114,101,109,111,118,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,66,101,97,109,32,109,97,99,104,105,110,101,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,119,97,114,110,105,110,103,46,32,73,116,32,105,115,32,117,110,108,105,107,101,108,121,32,116,111,32,98,101,32,105,109,112,108,101,109,101,110,116,101,100,32,105,110,32,111,116,104,101,114,32,69,114,108,97,110,103,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,115,46>>]}]}]},#{signature => [{attribute,{753,2},spec,{{erlang,bump_reductions,1},[{type,{753,29},bounded_fun,[{type,{753,29},'fun',[{type,{753,29},product,[{var,{753,30},'Reductions'}]},{atom,{753,45},true}]},[{type,{754,7},constraint,[{atom,{754,7},is_subtype},[{var,{754,7},'Reductions'},{type,{754,21},pos_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,55,49>>}},{{function,byte_size,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,760}],[<<98,121,116,101,95,115,105,122,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,116,104,97,116,32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,110,101,101,100,101,100,32,116,111,32,99,111,110,116,97,105,110,32>>,{code,[],[<<66,105,116,115,116,114,105,110,103>>]},<<46,32,84,104,97,116,32,105,115,44,32,105,102,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,105,116,115,32,105,110,32>>,{code,[],[<<66,105,116,115,116,114,105,110,103>>]},<<32,105,115,32,110,111,116,32,100,105,118,105,115,105,98,108,101,32,98,121,32,56,44,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,105,115,32,114,111,117,110,100,101,100,32>>,{em,[],[<<117,112>>]},<<46,32,69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,98,121,116,101,95,115,105,122,101,40,60,60,52,51,51,58,49,54,44,51,58,51,62,62,41,46,10,51,10,62,32,98,121,116,101,95,115,105,122,101,40,60,60,49,44,50,44,51,62,62,41,46,10,51>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{760,2},spec,{{byte_size,1},[{type,{760,16},bounded_fun,[{type,{760,16},'fun',[{type,{760,16},product,[{var,{760,17},'Bitstring'}]},{type,{760,31},non_neg_integer,[]}]},[{type,{761,7},constraint,[{atom,{761,7},is_subtype},[{var,{761,7},'Bitstring'},{type,{761,20},bitstring,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,56,57>>}},{{function,cancel_timer,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,772}],[<<99,97,110,99,101,108,95,116,105,109,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<67,97,110,99,101,108,115,32,97,32,116,105,109,101,114,46,32,84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,97,110,99,101,108,95,116,105,109,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,97,110,99,101,108,95,116,105,109,101,114,40,84,105,109,101,114,82,101,102,44,32,91,93,41>>]}]},<<46>>]}]},#{signature => [{attribute,{772,2},spec,{{erlang,cancel_timer,1},[{type,{772,26},bounded_fun,[{type,{772,26},'fun',[{type,{772,26},product,[{var,{772,27},'TimerRef'}]},{var,{772,40},'Result'}]},[{type,{773,7},constraint,[{atom,{773,7},is_subtype},[{var,{773,7},'TimerRef'},{type,{773,19},reference,[]}]]},{type,{774,7},constraint,[{atom,{774,7},is_subtype},[{var,{774,7},'Time'},{type,{774,15},non_neg_integer,[]}]]},{type,{775,7},constraint,[{atom,{775,7},is_subtype},[{var,{775,7},'Result'},{type,{775,17},union,[{var,{775,17},'Time'},{atom,{775,24},false}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,48,54>>}},{{function,cancel_timer,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,781}],[<<99,97,110,99,101,108,95,116,105,109,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<67,97,110,99,101,108,115,32,97,32,116,105,109,101,114,32,116,104,97,116,32,104,97,115,32,98,101,101,110,32,99,114,101,97,116,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,114,116,95,116,105,109,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,97,102,116,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114>>]}]},<<46,32>>,{code,[],[<<84,105,109,101,114,82,101,102>>]},<<32,105,100,101,110,116,105,102,105,101,115,32,116,104,101,32,116,105,109,101,114,44,32,97,110,100,32,119,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32,116,104,101,32,66,73,70,32,116,104,97,116,32,99,114,101,97,116,101,100,32,116,104,101,32,116,105,109,101,114,46>>]},{p,[],[{code,[],[<<79,112,116,105,111,110>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,97,115,121,110,99,44,32,65,115,121,110,99,125>>]}]},{dd,[],[{p,[],[<<65,115,121,110,99,104,114,111,110,111,117,115,32,114,101,113,117,101,115,116,32,102,111,114,32,99,97,110,99,101,108,108,97,116,105,111,110,46,32>>,{code,[],[<<65,115,121,110,99>>]},<<32,100,101,102,97,117,108,116,115,32,116,111,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,119,104,105,99,104,32,99,97,117,115,101,115,32,116,104,101,32,99,97,110,99,101,108,108,97,116,105,111,110,32,116,111,32,98,101,32,112,101,114,102,111,114,109,101,100,32,115,121,110,99,104,114,111,110,111,117,115,108,121,46,32,87,104,101,110,32>>,{code,[],[<<65,115,121,110,99>>]},<<32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,116,104,101,32,99,97,110,99,101,108,32,111,112,101,114,97,116,105,111,110,32,105,115,32,112,101,114,102,111,114,109,101,100,32,97,115,121,110,99,104,114,111,110,111,117,115,108,121,46,32,84,104,97,116,32,105,115,44,32>>,{code,[],[<<99,97,110,99,101,108,95,116,105,109,101,114,40,41>>]},<<32,115,101,110,100,115,32,97,110,32,97,115,121,110,99,104,114,111,110,111,117,115,32,114,101,113,117,101,115,116,32,102,111,114,32,99,97,110,99,101,108,108,97,116,105,111,110,32,116,111,32,116,104,101,32,116,105,109,101,114,32,115,101,114,118,105,99,101,32,116,104,97,116,32,109,97,110,97,103,101,115,32,116,104,101,32,116,105,109,101,114,44,32,97,110,100,32,116,104,101,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,105,110,102,111,44,32,73,110,102,111,125>>]}]},{dd,[],[{p,[],[<<82,101,113,117,101,115,116,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,111,102,32,116,104,101,32,99,97,110,99,101,108,108,97,116,105,111,110,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,100,101,102,97,117,108,116,115,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,119,104,105,99,104,32,109,101,97,110,115,32,116,104,101,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32,103,105,118,101,110,46,32,87,104,101,110,32>>,{code,[],[<<73,110,102,111>>]},<<32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,110,111,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,99,97,110,99,101,108,108,97,116,105,111,110,32,105,115,32,103,105,118,101,110,46>>]},{ul,[],[{li,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<65,115,121,110,99>>]},<<32,105,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<58,32,105,102,32>>,{code,[],[<<73,110,102,111>>]},<<32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,116,104,101,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,99,97,110,99,101,108,95,116,105,109,101,114,40,41>>]},<<46,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<111,107>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]},{li,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<65,115,121,110,99>>]},<<32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<58,32,105,102,32>>,{code,[],[<<73,110,102,111>>]},<<32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,97,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,99,97,110,99,101,108,95,116,105,109,101,114,44,32,84,105,109,101,114,82,101,102,44,32,82,101,115,117,108,116,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,99,97,110,99,101,108,95,116,105,109,101,114,40,41>>]},<<32,119,104,101,110,32,116,104,101,32,99,97,110,99,101,108,108,97,116,105,111,110,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,101,114,102,111,114,109,101,100,44,32,111,116,104,101,114,119,105,115,101,32,110,111,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,46>>]}]}]}]}]},{p,[],[<<77,111,114,101,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,109,97,121,32,98,101,32,97,100,100,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,44,32,105,116,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,116,105,109,101,32,105,110,32,109,105,108,108,105,115,101,99,111,110,100,115,32,108,101,102,116,32,117,110,116,105,108,32,116,104,101,32,99,97,110,99,101,108,101,100,32,116,105,109,101,114,32,119,111,117,108,100,32,104,97,118,101,32,101,120,112,105,114,101,100,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,97,32,116,105,109,101,114,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32>>,{code,[],[<<84,105,109,101,114,82,101,102>>]},<<32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,46,32,84,104,105,115,32,99,97,110,32,98,101,32,101,105,116,104,101,114,32,98,101,99,97,117,115,101,32,116,104,101,32,116,105,109,101,114,32,104,97,100,32,101,120,112,105,114,101,100,44,32,97,108,114,101,97,100,121,32,104,97,100,32,98,101,101,110,32,99,97,110,99,101,108,101,100,44,32,111,114,32,98,101,99,97,117,115,101,32>>,{code,[],[<<84,105,109,101,114,82,101,102>>]},<<32,110,101,118,101,114,32,99,111,114,114,101,115,112,111,110,100,101,100,32,116,111,32,97,32,116,105,109,101,114,46,32,69,118,101,110,32,105,102,32,116,104,101,32,116,105,109,101,114,32,104,97,100,32,101,120,112,105,114,101,100,44,32,105,116,32,100,111,101,115,32,110,111,116,32,116,101,108,108,32,121,111,117,32,105,102,32,116,104,101,32,116,105,109,101,45,111,117,116,32,109,101,115,115,97,103,101,32,104,97,115,32,97,114,114,105,118,101,100,32,97,116,32,105,116,115,32,100,101,115,116,105,110,97,116,105,111,110,32,121,101,116,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,116,105,109,101,114,32,115,101,114,118,105,99,101,32,116,104,97,116,32,109,97,110,97,103,101,115,32,116,104,101,32,116,105,109,101,114,32,99,97,110,32,98,101,32,99,111,45,108,111,99,97,116,101,100,32,119,105,116,104,32,97,110,111,116,104,101,114,32,115,99,104,101,100,117,108,101,114,32,116,104,97,110,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46,32,73,102,32,115,111,44,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,119,105,116,104,32,116,104,101,32,116,105,109,101,114,32,115,101,114,118,105,99,101,32,116,97,107,101,115,32,109,117,99,104,32,108,111,110,103,101,114,32,116,105,109,101,32,116,104,97,110,32,105,102,32,105,116,32,105,115,32,108,111,99,97,116,101,100,32,108,111,99,97,108,108,121,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,105,110,32,99,114,105,116,105,99,97,108,32,112,97,116,104,44,32,97,110,100,32,99,97,110,32,100,111,32,111,116,104,101,114,32,116,104,105,110,103,115,32,119,104,105,108,101,32,119,97,105,116,105,110,103,32,102,111,114,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,105,115,32,111,112,101,114,97,116,105,111,110,44,32,111,114,32,105,115,32,110,111,116,32,105,110,116,101,114,101,115,116,101,100,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,111,112,101,114,97,116,105,111,110,44,32,121,111,117,32,119,97,110,116,32,116,111,32,117,115,101,32,111,112,116,105,111,110,32>>,{code,[],[<<123,97,115,121,110,99,44,32,116,114,117,101,125>>]},<<46,32,73,102,32,117,115,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<123,97,115,121,110,99,44,32,102,97,108,115,101,125>>]},<<44,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,98,108,111,99,107,115,32,117,110,116,105,108,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,101,114,102,111,114,109,101,100,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,97,102,116,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114,47,52>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,114,116,95,116,105,109,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114,47,52>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,97,100,95,116,105,109,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{781,2},spec,{{erlang,cancel_timer,2},[{type,{781,26},bounded_fun,[{type,{781,26},'fun',[{type,{781,26},product,[{var,{781,27},'TimerRef'},{var,{781,37},'Options'}]},{type,{781,49},union,[{var,{781,49},'Result'},{atom,{781,58},ok}]}]},[{type,{782,7},constraint,[{atom,{782,7},is_subtype},[{var,{782,7},'TimerRef'},{type,{782,19},reference,[]}]]},{type,{783,7},constraint,[{atom,{783,7},is_subtype},[{var,{783,7},'Async'},{type,{783,16},boolean,[]}]]},{type,{784,7},constraint,[{atom,{784,7},is_subtype},[{var,{784,7},'Info'},{type,{784,15},boolean,[]}]]},{type,{785,7},constraint,[{atom,{785,7},is_subtype},[{var,{785,7},'Option'},{type,{785,17},union,[{type,{785,17},tuple,[{atom,{785,18},async},{var,{785,25},'Async'}]},{type,{785,34},tuple,[{atom,{785,35},info},{var,{785,41},'Info'}]}]}]]},{type,{786,7},constraint,[{atom,{786,7},is_subtype},[{var,{786,7},'Options'},{type,{786,18},list,[{var,{786,19},'Option'}]}]]},{type,{787,7},constraint,[{atom,{787,7},is_subtype},[{var,{787,7},'Time'},{type,{787,15},non_neg_integer,[]}]]},{type,{788,7},constraint,[{atom,{788,7},is_subtype},[{var,{788,7},'Result'},{type,{788,17},union,[{var,{788,17},'Time'},{atom,{788,24},false}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,49,54>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,ceil,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,795}],[<<99,101,105,108,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,105,110,116,101,103,101,114,32,110,111,116,32,108,101,115,115,32,116,104,97,110,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<46,32,70,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,99,101,105,108,40,53,46,53,41,46,10,54>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{795,2},spec,{{ceil,1},[{type,{795,11},bounded_fun,[{type,{795,11},'fun',[{type,{795,11},product,[{var,{795,12},'Number'}]},{type,{795,23},integer,[]}]},[{type,{796,7},constraint,[{atom,{796,7},is_subtype},[{var,{796,7},'Number'},{type,{796,17},number,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,57,56>>,since => <<79,84,80,32,50,48,46,48>>}},{{function,check_old_code,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,801}],[<<99,104,101,99,107,95,111,108,100,95,99,111,100,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,104,97,115,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,99,111,100,101,95,108,111,97,100,105,110,103,35,99,111,100,101,45,114,101,112,108,97,99,101,109,101,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<111,108,100,32,99,111,100,101>>]},<<44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,100,101,40,51,41>>]}]},<<46>>]}]},#{signature => [{attribute,{801,2},spec,{{check_old_code,1},[{type,{801,21},bounded_fun,[{type,{801,21},'fun',[{type,{801,21},product,[{var,{801,22},'Module'}]},{type,{801,33},boolean,[]}]},[{type,{802,7},constraint,[{atom,{802,7},is_subtype},[{var,{802,7},'Module'},{type,{802,17},module,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,49,49>>,since => <<79,84,80,32,82,49,52,66,48,52>>}},{{function,check_process_code,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,807}],[<<99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,50>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,40,80,105,100,44,32,77,111,100,117,108,101,44,32,91,93,41>>]},<<32>>]},<<46>>]}]},#{signature => [{attribute,{807,2},spec,{{check_process_code,2},[{type,{807,25},bounded_fun,[{type,{807,25},'fun',[{type,{807,25},product,[{var,{807,26},'Pid'},{var,{807,31},'Module'}]},{var,{807,42},'CheckResult'}]},[{type,{808,7},constraint,[{atom,{808,7},is_subtype},[{var,{808,7},'Pid'},{type,{808,14},pid,[]}]]},{type,{809,7},constraint,[{atom,{809,7},is_subtype},[{var,{809,7},'Module'},{type,{809,17},module,[]}]]},{type,{810,7},constraint,[{atom,{810,7},is_subtype},[{var,{810,7},'CheckResult'},{type,{810,22},boolean,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,50,50>>}},{{function,check_process_code,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,819}],[<<99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,51>>],#{<<101,110>> => [{p,[],[<<67,104,101,99,107,115,32,105,102,32,116,104,101,32,110,111,100,101,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,101,120,101,99,117,116,101,115,32,111,108,100,32,99,111,100,101,32,102,111,114,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46>>]},{p,[],[{code,[],[<<79,112,116,105,111,110>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,97,108,108,111,119,95,103,99,44,32,98,111,111,108,101,97,110,40,41,125>>]}]},{dd,[],[{p,[],[<<68,101,116,101,114,109,105,110,101,115,32,105,102,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,97,108,108,111,119,101,100,32,119,104,101,110,32,112,101,114,102,111,114,109,105,110,103,32,116,104,101,32,111,112,101,114,97,116,105,111,110,46,32,73,102,32>>,{code,[],[<<123,97,108,108,111,119,95,103,99,44,32,102,97,108,115,101,125>>]},<<32,105,115,32,112,97,115,115,101,100,44,32,97,110,100,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,110,101,101,100,101,100,32,116,111,32,100,101,116,101,114,109,105,110,101,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,111,112,101,114,97,116,105,111,110,44,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,105,115,32,97,98,111,114,116,101,100,32,40,115,101,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32>>,{code,[],[<<67,104,101,99,107,82,101,115,117,108,116>>]},<<32,98,101,108,111,119,41,46,32,84,104,101,32,100,101,102,97,117,108,116,32,105,115,32,116,111,32,97,108,108,111,119,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,44,32,116,104,97,116,32,105,115,44,32>>,{code,[],[<<123,97,108,108,111,119,95,103,99,44,32,116,114,117,101,125>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,97,115,121,110,99,44,32,82,101,113,117,101,115,116,73,100,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,51>>]},<<32,114,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<97,115,121,110,99>>]},<<32,105,109,109,101,100,105,97,116,101,108,121,32,97,102,116,101,114,32,116,104,101,32,114,101,113,117,101,115,116,32,104,97,115,32,98,101,101,110,32,115,101,110,116,46,32,87,104,101,110,32,116,104,101,32,114,101,113,117,101,115,116,32,104,97,115,32,98,101,101,110,32,112,114,111,99,101,115,115,101,100,44,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,99,97,108,108,101,100,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,112,97,115,115,101,100,32,97,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,44,32,82,101,113,117,101,115,116,73,100,44,32,67,104,101,99,107,82,101,115,117,108,116,125>>]},<<46>>]}]}]},{p,[],[<<73,102,32>>,{code,[],[<<80,105,100>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<115,101,108,102,40,41>>]},<<44,32,97,110,100,32,110,111,32>>,{code,[],[<<97,115,121,110,99>>]},<<32,111,112,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,97,115,115,101,100,44,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,105,115,32,112,101,114,102,111,114,109,101,100,32,97,116,32,111,110,99,101,46,32,79,116,104,101,114,119,105,115,101,32,97,32,114,101,113,117,101,115,116,32,102,111,114,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<44,32,97,110,100,32,105,115,32,104,97,110,100,108,101,100,32,119,104,101,110,32,97,112,112,114,111,112,114,105,97,116,101,46,32,73,102,32,110,111,32>>,{code,[],[<<97,115,121,110,99>>]},<<32,111,112,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,97,115,115,101,100,44,32,116,104,101,32,99,97,108,108,101,114,32,98,108,111,99,107,115,32,117,110,116,105,108,32>>,{code,[],[<<67,104,101,99,107,82,101,115,117,108,116>>]},<<32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,110,100,32,99,97,110,32,98,101,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[{code,[],[<<67,104,101,99,107,82,101,115,117,108,116>>]},<<32,105,110,102,111,114,109,115,32,97,98,111,117,116,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,114,101,113,117,101,115,116,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,101,120,101,99,117,116,101,115,32,111,108,100,32,99,111,100,101,32,102,111,114,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,99,117,114,114,101,110,116,32,99,97,108,108,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,101,120,101,99,117,116,101,115,32,111,108,100,32,99,111,100,101,32,102,111,114,32,116,104,105,115,32,109,111,100,117,108,101,44,32,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,115,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,111,108,100,32,99,111,100,101,32,102,111,114,32,116,104,105,115,32,109,111,100,117,108,101,44,32,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32,99,111,110,116,97,105,110,115,32,102,117,110,115,32,116,104,97,116,32,114,101,102,101,114,101,110,99,101,115,32,111,108,100,32,99,111,100,101,32,102,111,114,32,116,104,105,115,32,109,111,100,117,108,101,46>>]}]},{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,101,99,117,116,101,32,111,108,100,32,99,111,100,101,32,102,111,114,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46>>]}]},{dt,[],[{code,[],[<<97,98,111,114,116,101,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,111,112,101,114,97,116,105,111,110,32,119,97,115,32,97,98,111,114,116,101,100,44,32,97,115,32,116,104,101,32,112,114,111,99,101,115,115,32,110,101,101,100,101,100,32,116,111,32,98,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,32,116,111,32,100,101,116,101,114,109,105,110,101,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,114,101,115,117,108,116,44,32,97,110,100,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,119,97,115,32,114,101,113,117,101,115,116,101,100,32,98,121,32,112,97,115,115,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<123,97,108,108,111,119,95,103,99,44,32,102,97,108,115,101,125>>]},<<46>>]}]}]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<85,112,32,117,110,116,105,108,32,69,82,84,83,32,118,101,114,115,105,111,110,32,56,46,42,44,32,116,104,101,32,99,104,101,99,107,32,112,114,111,99,101,115,115,32,99,111,100,101,32,111,112,101,114,97,116,105,111,110,32,99,104,101,99,107,115,32,102,111,114,32,97,108,108,32,116,121,112,101,115,32,111,102,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,116,104,101,32,111,108,100,32,99,111,100,101,46,32,84,104,97,116,32,105,115,44,32,100,105,114,101,99,116,32,114,101,102,101,114,101,110,99,101,115,32,40,101,46,103,46,32,114,101,116,117,114,110,32,97,100,100,114,101,115,115,101,115,32,111,110,32,116,104,101,32,112,114,111,99,101,115,115,32,115,116,97,99,107,41,44,32,105,110,100,105,114,101,99,116,32,114,101,102,101,114,101,110,99,101,115,32,40>>,{code,[],[<<102,117,110>>]},<<115,32,105,110,32,112,114,111,99,101,115,115,32,99,111,110,116,101,120,116,41,44,32,97,110,100,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,108,105,116,101,114,97,108,115,32,105,110,32,116,104,101,32,99,111,100,101,46>>]},{p,[],[<<65,115,32,111,102,32,69,82,84,83,32,118,101,114,115,105,111,110,32,57,46,48,44,32,116,104,101,32,99,104,101,99,107,32,112,114,111,99,101,115,115,32,99,111,100,101,32,111,112,101,114,97,116,105,111,110,32,111,110,108,121,32,99,104,101,99,107,115,32,102,111,114,32,100,105,114,101,99,116,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,116,104,101,32,99,111,100,101,46,32,73,110,100,105,114,101,99,116,32,114,101,102,101,114,101,110,99,101,115,32,118,105,97,32>>,{code,[],[<<102,117,110>>]},<<115,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,46,32,73,102,32,115,117,99,104,32>>,{code,[],[<<102,117,110>>]},<<115,32,101,120,105,115,116,32,97,110,100,32,97,114,101,32,117,115,101,100,32,97,102,116,101,114,32,97,32,112,117,114,103,101,32,111,102,32,116,104,101,32,111,108,100,32,99,111,100,101,44,32,97,110,32,101,120,99,101,112,116,105,111,110,32,119,105,108,108,32,98,101,32,114,97,105,115,101,100,32,117,112,111,110,32,117,115,97,103,101,32,40,115,97,109,101,32,97,115,32,116,104,101,32,99,97,115,101,32,119,104,101,110,32,116,104,101,32>>,{code,[],[<<102,117,110>>]},<<32,105,115,32,114,101,99,101,105,118,101,100,32,98,121,32,116,104,101,32,112,114,111,99,101,115,115,32,97,102,116,101,114,32,116,104,101,32,112,117,114,103,101,41,46,32,76,105,116,101,114,97,108,115,32,119,105,108,108,32,98,101,32,116,97,107,101,110,32,99,97,114,101,32,111,102,32,40,99,111,112,105,101,100,41,32,97,116,32,97,32,108,97,116,101,114,32,115,116,97,103,101,46,32,84,104,105,115,32,98,101,104,97,118,105,111,114,32,99,97,110,32,97,115,32,111,102,32,69,82,84,83,32,118,101,114,115,105,111,110,32,56,46,49,32,98,101,32,101,110,97,98,108,101,100,32,119,104,101,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,105,110,115,116,97,108,108,97,116,105,111,110,95,103,117,105,100,101,58,73,78,83,84,65,76,76,35,65,100,118,97,110,99,101,100,45,99,111,110,102,105,103,117,114,97,116,105,111,110,45,97,110,100,45,98,117,105,108,100,45,111,102,45,69,114,108,97,110,103,79,84,80,95,67,111,110,102,105,103,117,114,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<98,117,105,108,100,105,110,103,32,79,84,80>>]},<<44,32,97,110,100,32,119,105,108,108,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,98,101,32,101,110,97,98,108,101,100,32,105,102,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,32,115,117,112,112,111,114,116,32,105,115,32,101,110,97,98,108,101,100,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,100,101,40,51,41>>]}]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,110,111,116,32,97,32,110,111,100,101,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,116,105,111,110,76,105,115,116>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,108,105,115,116,32,111,102,32,111,112,116,105,111,110,115,46>>]}]}]},#{signature => [{attribute,{819,2},spec,{{check_process_code,3},[{type,{819,25},bounded_fun,[{type,{819,25},'fun',[{type,{819,25},product,[{var,{819,26},'Pid'},{var,{819,31},'Module'},{var,{819,39},'OptionList'}]},{type,{819,54},union,[{var,{819,54},'CheckResult'},{atom,{819,68},async}]}]},[{type,{820,7},constraint,[{atom,{820,7},is_subtype},[{var,{820,7},'Pid'},{type,{820,14},pid,[]}]]},{type,{821,7},constraint,[{atom,{821,7},is_subtype},[{var,{821,7},'Module'},{type,{821,17},module,[]}]]},{type,{822,7},constraint,[{atom,{822,7},is_subtype},[{var,{822,7},'RequestId'},{type,{822,20},term,[]}]]},{type,{823,7},constraint,[{atom,{823,7},is_subtype},[{var,{823,7},'Option'},{type,{823,17},union,[{type,{823,17},tuple,[{atom,{823,18},async},{var,{823,25},'RequestId'}]},{type,{823,38},tuple,[{atom,{823,39},allow_gc},{type,{823,49},boolean,[]}]}]}]]},{type,{824,7},constraint,[{atom,{824,7},is_subtype},[{var,{824,7},'OptionList'},{type,{824,21},list,[{var,{824,22},'Option'}]}]]},{type,{825,7},constraint,[{atom,{825,7},is_subtype},[{var,{825,7},'CheckResult'},{type,{825,22},union,[{type,{825,22},boolean,[]},{atom,{825,34},aborted}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,51,51>>,since => <<79,84,80,32,49,55,46,48>>}},{{function,convert_time_unit,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1848}],[<<99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>],#{<<101,110>> => [{p,[],[<<67,111,110,118,101,114,116,115,32,116,104,101,32>>,{code,[],[<<84,105,109,101>>]},<<32,118,97,108,117,101,32,111,102,32,116,105,109,101,32,117,110,105,116,32>>,{code,[],[<<70,114,111,109,85,110,105,116>>]},<<32,116,111,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32>>,{code,[],[<<67,111,110,118,101,114,116,101,100,84,105,109,101>>]},<<32,118,97,108,117,101,32,111,102,32,116,105,109,101,32,117,110,105,116,32>>,{code,[],[<<84,111,85,110,105,116>>]},<<46,32,84,104,101,32,114,101,115,117,108,116,32,105,115,32,114,111,117,110,100,101,100,32,117,115,105,110,103,32,116,104,101,32,102,108,111,111,114,32,102,117,110,99,116,105,111,110,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<89,111,117,32,99,97,110,32,108,111,115,101,32,97,99,99,117,114,97,99,121,32,97,110,100,32,112,114,101,99,105,115,105,111,110,32,119,104,101,110,32,99,111,110,118,101,114,116,105,110,103,32,98,101,116,119,101,101,110,32,116,105,109,101,32,117,110,105,116,115,46,32,84,111,32,109,105,110,105,109,105,122,101,32,115,117,99,104,32,108,111,115,115,44,32,99,111,108,108,101,99,116,32,97,108,108,32,100,97,116,97,32,97,116,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,32,97,110,100,32,100,111,32,116,104,101,32,99,111,110,118,101,114,115,105,111,110,32,111,110,32,116,104,101,32,101,110,100,32,114,101,115,117,108,116,46>>]}]}]},#{signature => [{attribute,{1848,2},spec,{{erlang,convert_time_unit,3},[{type,{1848,31},bounded_fun,[{type,{1848,31},'fun',[{type,{1848,31},product,[{var,{1848,32},'Time'},{var,{1848,38},'FromUnit'},{var,{1848,48},'ToUnit'}]},{var,{1848,59},'ConvertedTime'}]},[{type,{1849,7},constraint,[{atom,{1849,7},is_subtype},[{var,{1849,7},'Time'},{type,{1849,15},integer,[]}]]},{type,{1850,7},constraint,[{atom,{1850,7},is_subtype},[{var,{1850,7},'ConvertedTime'},{type,{1850,24},integer,[]}]]},{type,{1851,7},constraint,[{atom,{1851,7},is_subtype},[{var,{1851,7},'FromUnit'},{user_type,{1851,19},time_unit,[]}]]},{type,{1852,7},constraint,[{atom,{1852,7},is_subtype},[{var,{1852,7},'ToUnit'},{user_type,{1852,17},time_unit,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,52,51,54>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,crc32,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,837}],[<<99,114,99,51,50,47,49>>],#{<<101,110>> => [{p,[],[<<67,111,109,112,117,116,101,115,32,97,110,100,32,114,101,116,117,114,110,115,32,116,104,101,32,99,114,99,51,50,32,40,73,69,69,69,32,56,48,50,46,51,32,115,116,121,108,101,41,32,99,104,101,99,107,115,117,109,32,102,111,114,32>>,{code,[],[<<68,97,116,97>>]},<<46>>]}]},#{signature => [{attribute,{837,2},spec,{{erlang,crc32,1},[{type,{837,19},bounded_fun,[{type,{837,19},'fun',[{type,{837,19},product,[{var,{837,20},'Data'}]},{type,{837,29},non_neg_integer,[]}]},[{type,{838,7},constraint,[{atom,{838,7},is_subtype},[{var,{838,7},'Data'},{type,{838,15},iodata,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,52,53,52>>}},{{function,crc32,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,843}],[<<99,114,99,51,50,47,50>>],#{<<101,110>> => [{p,[],[<<67,111,110,116,105,110,117,101,115,32,99,111,109,112,117,116,105,110,103,32,116,104,101,32,99,114,99,51,50,32,99,104,101,99,107,115,117,109,32,98,121,32,99,111,109,98,105,110,105,110,103,32,116,104,101,32,112,114,101,118,105,111,117,115,32,99,104,101,99,107,115,117,109,44,32>>,{code,[],[<<79,108,100,67,114,99>>]},<<44,32,119,105,116,104,32,116,104,101,32,99,104,101,99,107,115,117,109,32,111,102,32>>,{code,[],[<<68,97,116,97>>]},<<46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,100,101,58>>]},{pre,[],[{code,[],[<<88,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,40,68,97,116,97,49,41,44,10,89,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,40,88,44,68,97,116,97,50,41,46>>]}]},{p,[],[<<97,115,115,105,103,110,115,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,116,111,32>>,{code,[],[<<89>>]},<<32,97,115,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<89,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,40,91,68,97,116,97,49,44,68,97,116,97,50,93,41,46>>]}]}]},#{signature => [{attribute,{843,2},spec,{{erlang,crc32,2},[{type,{843,19},bounded_fun,[{type,{843,19},'fun',[{type,{843,19},product,[{var,{843,20},'OldCrc'},{var,{843,28},'Data'}]},{type,{843,37},non_neg_integer,[]}]},[{type,{844,7},constraint,[{atom,{844,7},is_subtype},[{var,{844,7},'OldCrc'},{type,{844,17},non_neg_integer,[]}]]},{type,{845,7},constraint,[{atom,{845,7},is_subtype},[{var,{845,7},'Data'},{type,{845,15},iodata,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,52,54,51>>}},{{function,crc32_combine,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,850}],[<<99,114,99,51,50,95,99,111,109,98,105,110,101,47,51>>],#{<<101,110>> => [{p,[],[<<67,111,109,98,105,110,101,115,32,116,119,111,32,112,114,101,118,105,111,117,115,108,121,32,99,111,109,112,117,116,101,100,32,99,114,99,51,50,32,99,104,101,99,107,115,117,109,115,46,32,84,104,105,115,32,99,111,109,112,117,116,97,116,105,111,110,32,114,101,113,117,105,114,101,115,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,100,97,116,97,32,111,98,106,101,99,116,32,102,111,114,32,116,104,101,32,115,101,99,111,110,100,32,99,104,101,99,107,115,117,109,32,116,111,32,98,101,32,107,110,111,119,110,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,100,101,58>>]},{pre,[],[{code,[],[<<89,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,40,68,97,116,97,49,41,44,10,90,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,40,89,44,68,97,116,97,50,41,46>>]}]},{p,[],[<<97,115,115,105,103,110,115,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,116,111,32>>,{code,[],[<<90>>]},<<32,97,115,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<88,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,40,68,97,116,97,49,41,44,10,89,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,40,68,97,116,97,50,41,44,10,90,32,61,32,101,114,108,97,110,103,58,99,114,99,51,50,95,99,111,109,98,105,110,101,40,88,44,89,44,105,111,108,105,115,116,95,115,105,122,101,40,68,97,116,97,50,41,41,46>>]}]}]},#{signature => [{attribute,{850,2},spec,{{erlang,crc32_combine,3},[{type,{850,27},bounded_fun,[{type,{850,27},'fun',[{type,{850,27},product,[{var,{850,28},'FirstCrc'},{var,{850,38},'SecondCrc'},{var,{850,49},'SecondSize'}]},{type,{850,64},non_neg_integer,[]}]},[{type,{851,7},constraint,[{atom,{851,7},is_subtype},[{var,{851,7},'FirstCrc'},{type,{851,19},non_neg_integer,[]}]]},{type,{852,7},constraint,[{atom,{852,7},is_subtype},[{var,{852,7},'SecondCrc'},{type,{852,20},non_neg_integer,[]}]]},{type,{853,7},constraint,[{atom,{853,7},is_subtype},[{var,{853,7},'SecondSize'},{type,{853,21},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,52,56,48>>}},{{function,date,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,858}],[<<100,97,116,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,100,97,116,101,32,97,115,32>>,{code,[],[<<123,89,101,97,114,44,32,77,111,110,116,104,44,32,68,97,121,125>>]},<<46>>]},{p,[],[<<84,104,101,32,116,105,109,101,32,122,111,110,101,32,97,110,100,32,68,97,121,108,105,103,104,116,32,83,97,118,105,110,103,32,84,105,109,101,32,99,111,114,114,101,99,116,105,111,110,32,100,101,112,101,110,100,32,111,110,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,98,97,115,101,100,32,111,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,83,121,115,116,101,109,32,84,105,109,101>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,100,97,116,101,40,41,46,10,123,49,57,57,53,44,50,44,49,57,125>>]}]}]},#{signature => [{attribute,{858,2},spec,{{date,0},[{type,{858,11},bounded_fun,[{type,{858,11},'fun',[{type,{858,11},product,[]},{var,{858,17},'Date'}]},[{type,{859,7},constraint,[{atom,{859,7},is_subtype},[{var,{859,7},'Date'},{remote_type,{859,15},[{atom,{859,15},calendar},{atom,{859,24},date},[]]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,52,57,57>>}},{{function,decode_packet,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,864}],[<<100,101,99,111,100,101,95,112,97,99,107,101,116,47,51>>],#{<<101,110>> => [{p,[],[<<68,101,99,111,100,101,115,32,116,104,101,32,98,105,110,97,114,121,32>>,{code,[],[<<66,105,110>>]},<<32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,112,97,99,107,101,116,32,112,114,111,116,111,99,111,108,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<84,121,112,101>>]},<<46,32,83,105,109,105,108,97,114,32,116,111,32,116,104,101,32,112,97,99,107,101,116,32,104,97,110,100,108,105,110,103,32,100,111,110,101,32,98,121,32,115,111,99,107,101,116,115,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<123,112,97,99,107,101,116,44,84,121,112,101,125,46>>]}]},{p,[],[<<73,102,32,97,110,32,101,110,116,105,114,101,32,112,97,99,107,101,116,32,105,115,32,99,111,110,116,97,105,110,101,100,32,105,110,32>>,{code,[],[<<66,105,110>>]},<<44,32,105,116,32,105,115,32,114,101,116,117,114,110,101,100,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,100,101,114,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,97,115,32>>,{code,[],[<<123,111,107,44,80,97,99,107,101,116,44,82,101,115,116,125>>]},<<46>>]},{p,[],[<<73,102,32>>,{code,[],[<<66,105,110>>]},<<32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,116,104,101,32,101,110,116,105,114,101,32,112,97,99,107,101,116,44,32>>,{code,[],[<<123,109,111,114,101,44,76,101,110,103,116,104,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32>>,{code,[],[<<76,101,110,103,116,104>>]},<<32,105,115,32,101,105,116,104,101,114,32,116,104,101,32,101,120,112,101,99,116,101,100,32>>,{em,[],[<<116,111,116,97,108,32,115,105,122,101>>]},<<32,111,102,32,116,104,101,32,112,97,99,107,101,116,44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,101,120,112,101,99,116,101,100,32,112,97,99,107,101,116,32,115,105,122,101,32,105,115,32,117,110,107,110,111,119,110,46,32>>,{code,[],[<<100,101,99,111,100,101,95,112,97,99,107,101,116>>]},<<32,99,97,110,32,116,104,101,110,32,98,101,32,99,97,108,108,101,100,32,97,103,97,105,110,32,119,105,116,104,32,109,111,114,101,32,100,97,116,97,32,97,100,100,101,100,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,97,99,107,101,116,32,100,111,101,115,32,110,111,116,32,99,111,110,102,111,114,109,32,116,111,32,116,104,101,32,112,114,111,116,111,99,111,108,32,102,111,114,109,97,116,44,32>>,{code,[],[<<123,101,114,114,111,114,44,82,101,97,115,111,110,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[{code,[],[<<84,121,112,101>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<114,97,119,32,124,32,48>>]}]},{dd,[],[{p,[],[<<78,111,32,112,97,99,107,101,116,32,104,97,110,100,108,105,110,103,32,105,115,32,100,111,110,101,46,32,84,104,101,32,101,110,116,105,114,101,32,98,105,110,97,114,121,32,105,115,32,114,101,116,117,114,110,101,100,32,117,110,108,101,115,115,32,105,116,32,105,115,32,101,109,112,116,121,46>>]}]},{dt,[],[{code,[],[<<49,32,124,32,50,32,124,32,52>>]}]},{dd,[],[{p,[],[<<80,97,99,107,101,116,115,32,99,111,110,115,105,115,116,32,111,102,32,97,32,104,101,97,100,101,114,32,115,112,101,99,105,102,121,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,105,110,32,116,104,101,32,112,97,99,107,101,116,44,32,102,111,108,108,111,119,101,100,32,98,121,32,116,104,97,116,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,46,32,84,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,104,101,97,100,101,114,32,99,97,110,32,98,101,32,111,110,101,44,32,116,119,111,44,32,111,114,32,102,111,117,114,32,98,121,116,101,115,59,32,116,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,98,121,116,101,115,32,105,115,32,98,105,103,45,101,110,100,105,97,110,46,32,84,104,101,32,104,101,97,100,101,114,32,105,115,32,115,116,114,105,112,112,101,100,32,111,102,102,32,119,104,101,110,32,116,104,101,32,112,97,99,107,101,116,32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]},{dt,[],[{code,[],[<<108,105,110,101>>]}]},{dd,[],[{p,[],[<<65,32,112,97,99,107,101,116,32,105,115,32,97,32,108,105,110,101,45,116,101,114,109,105,110,97,116,101,100,32,98,121,32,97,32,100,101,108,105,109,105,116,101,114,32,98,121,116,101,44,32,100,101,102,97,117,108,116,32,105,115,32,116,104,101,32,108,97,116,105,110,45,49,32,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,46,32,84,104,101,32,100,101,108,105,109,105,116,101,114,32,98,121,116,101,32,105,115,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,112,97,99,107,101,116,32,117,110,108,101,115,115,32,116,104,101,32,108,105,110,101,32,119,97,115,32,116,114,117,110,99,97,116,101,100,32,97,99,99,111,114,100,105,110,103,32,116,111,32,111,112,116,105,111,110,32>>,{code,[],[<<108,105,110,101,95,108,101,110,103,116,104>>]},<<46>>]}]},{dt,[],[{code,[],[<<97,115,110,49,32,124,32,99,100,114,32,124,32,115,117,110,114,109,32,124,32,102,99,103,105,32,124,32,116,112,107,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,104,101,97,100,101,114,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,115,116,114,105,112,112,101,100,32,111,102,102,46>>]},{p,[],[<<84,104,101,32,109,101,97,110,105,110,103,115,32,111,102,32,116,104,101,32,112,97,99,107,101,116,32,116,121,112,101,115,32,97,114,101,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<97,115,110,49>>]},<<32,45,32,65,83,78,46,49,32,66,69,82>>]},{dd,[],[]},{dt,[],[{code,[],[<<115,117,110,114,109>>]},<<32,45,32,83,117,110,39,115,32,82,80,67,32,101,110,99,111,100,105,110,103>>]},{dd,[],[]},{dt,[],[{code,[],[<<99,100,114>>]},<<32,45,32,67,79,82,66,65,32,40,71,73,79,80,32,49,46,49,41>>]},{dd,[],[]},{dt,[],[{code,[],[<<102,99,103,105>>]},<<32,45,32,70,97,115,116,32,67,71,73>>]},{dd,[],[]},{dt,[],[{code,[],[<<116,112,107,116>>]},<<32,45,32,84,80,75,84,32,102,111,114,109,97,116,32,91,82,70,67,49,48,48,54,93>>]},{dd,[],[]}]}]},{dt,[],[{code,[],[<<104,116,116,112,32,124,32,104,116,116,112,104,32,124,32,104,116,116,112,95,98,105,110,32,124,32,104,116,116,112,104,95,98,105,110>>]}]},{dd,[],[{p,[],[<<84,104,101,32,72,121,112,101,114,116,101,120,116,32,84,114,97,110,115,102,101,114,32,80,114,111,116,111,99,111,108,46,32,84,104,101,32,112,97,99,107,101,116,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,119,105,116,104,32,116,104,101,32,102,111,114,109,97,116,32,97,99,99,111,114,100,105,110,103,32,116,111,32>>,{code,[],[<<72,116,116,112,80,97,99,107,101,116>>]},<<32,100,101,115,99,114,105,98,101,100,32,101,97,114,108,105,101,114,46,32,65,32,112,97,99,107,101,116,32,105,115,32,101,105,116,104,101,114,32,97,32,114,101,113,117,101,115,116,44,32,97,32,114,101,115,112,111,110,115,101,44,32,97,32,104,101,97,100,101,114,44,32,111,114,32,97,110,32,101,110,100,32,111,102,32,104,101,97,100,101,114,32,109,97,114,107,46,32,73,110,118,97,108,105,100,32,108,105,110,101,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,97,115,32>>,{code,[],[<<72,116,116,112,69,114,114,111,114>>]},<<46>>]},{p,[],[<<82,101,99,111,103,110,105,122,101,100,32,114,101,113,117,101,115,116,32,109,101,116,104,111,100,115,32,97,110,100,32,104,101,97,100,101,114,32,102,105,101,108,100,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,97,115,32,97,116,111,109,115,46,32,79,116,104,101,114,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,97,115,32,115,116,114,105,110,103,115,46,32,83,116,114,105,110,103,115,32,111,102,32,117,110,114,101,99,111,103,110,105,122,101,100,32,104,101,97,100,101,114,32,102,105,101,108,100,115,32,97,114,101,32,102,111,114,109,97,116,116,101,100,32,119,105,116,104,32,111,110,108,121,32,99,97,112,105,116,97,108,32,108,101,116,116,101,114,115,32,102,105,114,115,116,32,97,110,100,32,97,102,116,101,114,32,104,121,112,104,101,110,32,99,104,97,114,97,99,116,101,114,115,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<34,83,101,99,45,87,101,98,115,111,99,107,101,116,45,75,101,121,34>>]},<<46,32,72,101,97,100,101,114,32,102,105,101,108,100,32,110,97,109,101,115,32,97,114,101,32,97,108,115,111,32,114,101,116,117,114,110,101,100,32,105,110,32>>,{code,[],[<<85,110,109,111,100,105,102,105,101,100,70,105,101,108,100>>]},<<32,97,115,32,115,116,114,105,110,103,115,44,32,119,105,116,104,111,117,116,32,97,110,121,32,99,111,110,118,101,114,115,105,111,110,32,111,114,32,102,111,114,109,97,116,116,105,110,103,46>>]},{p,[],[<<84,104,101,32,112,114,111,116,111,99,111,108,32,116,121,112,101,32>>,{code,[],[<<104,116,116,112>>]},<<32,105,115,32,111,110,108,121,32,116,111,32,98,101,32,117,115,101,100,32,102,111,114,32,116,104,101,32,102,105,114,115,116,32,108,105,110,101,32,119,104,101,110,32,97,110,32>>,{code,[],[<<72,116,116,112,82,101,113,117,101,115,116>>]},<<32,111,114,32,97,110,32>>,{code,[],[<<72,116,116,112,82,101,115,112,111,110,115,101>>]},<<32,105,115,32,101,120,112,101,99,116,101,100,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,97,108,108,115,32,97,114,101,32,116,111,32,117,115,101,32>>,{code,[],[<<104,116,116,112,104>>]},<<32,116,111,32,103,101,116,32>>,{code,[],[<<72,116,116,112,72,101,97,100,101,114>>]},<<115,32,117,110,116,105,108,32>>,{code,[],[<<104,116,116,112,95,101,111,104>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,119,104,105,99,104,32,109,97,114,107,115,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,104,101,97,100,101,114,115,32,97,110,100,32,116,104,101,32,98,101,103,105,110,110,105,110,103,32,111,102,32,97,110,121,32,102,111,108,108,111,119,105,110,103,32,109,101,115,115,97,103,101,32,98,111,100,121,46>>]},{p,[],[<<84,104,101,32,118,97,114,105,97,110,116,115,32>>,{code,[],[<<104,116,116,112,95,98,105,110>>]},<<32,97,110,100,32>>,{code,[],[<<104,116,116,112,104,95,98,105,110>>]},<<32,114,101,116,117,114,110,32,115,116,114,105,110,103,115,32,40>>,{code,[],[<<72,116,116,112,83,116,114,105,110,103>>]},<<41,32,97,115,32,98,105,110,97,114,105,101,115,32,105,110,115,116,101,97,100,32,111,102,32,108,105,115,116,115,46>>]},{p,[],[<<83,105,110,99,101,32,79,84,80,32,50,54,46,48,44,32>>,{code,[],[<<72,111,115,116>>]},<<32,109,97,121,32,98,101,32,97,110,32,73,80,118,54,32,97,100,100,114,101,115,115,32,101,110,99,108,111,115,101,100,32,105,110,32>>,{code,[],[<<91,93>>]},<<44,32,97,115,32,100,101,102,105,110,101,100,32,105,110,32>>,{a,[{href,<<104,116,116,112,115,58,47,47,119,119,119,46,105,101,116,102,46,111,114,103,47,114,102,99,47,114,102,99,50,55,51,50,46,116,120,116>>}],[<<82,70,67,50,55,51,50,32>>]},<<46>>]}]}]},{p,[],[<<79,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,112,97,99,107,101,116,95,115,105,122,101,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,116,104,101,32,109,97,120,105,109,117,109,32,97,108,108,111,119,101,100,32,115,105,122,101,32,111,102,32,116,104,101,32,112,97,99,107,101,116,32,98,111,100,121,46,32,73,102,32,116,104,101,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,105,110,100,105,99,97,116,101,115,32,116,104,97,116,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,112,97,99,107,101,116,32,105,115,32,108,111,110,103,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,97,108,108,111,119,101,100,32,108,101,110,103,116,104,44,32,116,104,101,32,112,97,99,107,101,116,32,105,115,32,99,111,110,115,105,100,101,114,101,100,32,105,110,118,97,108,105,100,46,32,68,101,102,97,117,108,116,115,32,116,111,32,48,44,32,119,104,105,99,104,32,109,101,97,110,115,32,110,111,32,115,105,122,101,32,108,105,109,105,116,46>>]}]},{dt,[],[{code,[],[<<123,108,105,110,101,95,108,101,110,103,116,104,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{dd,[],[{p,[],[<<70,111,114,32,112,97,99,107,101,116,32,116,121,112,101,32>>,{code,[],[<<108,105,110,101>>]},<<44,32,108,105,110,101,115,32,108,111,110,103,101,114,32,116,104,97,110,32,116,104,101,32,105,110,100,105,99,97,116,101,100,32,108,101,110,103,116,104,32,97,114,101,32,116,114,117,110,99,97,116,101,100,46>>]},{p,[],[<<79,112,116,105,111,110,32>>,{code,[],[<<108,105,110,101,95,108,101,110,103,116,104>>]},<<32,97,108,115,111,32,97,112,112,108,105,101,115,32,116,111,32>>,{code,[],[<<104,116,116,112,42>>]},<<32,112,97,99,107,101,116,32,116,121,112,101,115,32,97,115,32,97,110,32,97,108,105,97,115,32,102,111,114,32,111,112,116,105,111,110,32>>,{code,[],[<<112,97,99,107,101,116,95,115,105,122,101>>]},<<32,105,102,32>>,{code,[],[<<112,97,99,107,101,116,95,115,105,122,101>>]},<<32,105,116,115,101,108,102,32,105,115,32,110,111,116,32,115,101,116,46,32,84,104,105,115,32,117,115,101,32,105,115,32,111,110,108,121,32,105,110,116,101,110,100,101,100,32,102,111,114,32,98,97,99,107,119,97,114,100,32,99,111,109,112,97,116,105,98,105,108,105,116,121,46>>]}]},{dt,[],[{code,[],[<<123,108,105,110,101,95,100,101,108,105,109,105,116,101,114,44,32,48,32,61,60,32,98,121,116,101,40,41,32,61,60,32,50,53,53,125>>]}]},{dd,[],[{p,[],[<<70,111,114,32,112,97,99,107,101,116,32,116,121,112,101,32>>,{code,[],[<<108,105,110,101>>]},<<44,32,115,101,116,115,32,116,104,101,32,100,101,108,105,109,105,116,105,110,103,32,98,121,116,101,46,32,68,101,102,97,117,108,116,32,105,115,32,116,104,101,32,108,97,116,105,110,45,49,32,99,104,97,114,97,99,116,101,114,32>>,{code,[],[<<36,92,110>>]},<<46>>]}]}]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,100,101,99,111,100,101,95,112,97,99,107,101,116,40,49,44,60,60,51,44,34,97,98,99,100,34,62,62,44,91,93,41,46,10,123,111,107,44,60,60,34,97,98,99,34,62,62,44,60,60,34,100,34,62,62,125,10,62,32,101,114,108,97,110,103,58,100,101,99,111,100,101,95,112,97,99,107,101,116,40,49,44,60,60,53,44,34,97,98,99,100,34,62,62,44,91,93,41,46,10,123,109,111,114,101,44,54,125>>]}]}]},#{signature => [{attribute,{864,2},spec,{{erlang,decode_packet,3},[{type,{864,27},bounded_fun,[{type,{864,27},'fun',[{type,{864,27},product,[{var,{864,28},'Type'},{var,{864,34},'Bin'},{var,{864,39},'Options'}]},{type,{865,35},union,[{type,{865,35},tuple,[{atom,{865,36},ok},{var,{865,40},'Packet'},{var,{865,48},'Rest'}]},{type,{866,35},tuple,[{atom,{866,36},more},{var,{866,42},'Length'}]},{type,{867,35},tuple,[{atom,{867,36},error},{var,{867,43},'Reason'}]}]}]},[{type,{868,7},constraint,[{atom,{868,7},is_subtype},[{var,{868,7},'Type'},{type,{868,15},union,[{atom,{868,15},raw},{integer,{868,23},0},{integer,{868,27},1},{integer,{868,31},2},{integer,{868,35},4},{atom,{868,39},asn1},{atom,{868,48},cdr},{atom,{868,56},sunrm},{atom,{868,66},fcgi},{atom,{869,15},tpkt},{atom,{869,24},line},{atom,{869,33},http},{atom,{869,42},http_bin},{atom,{869,55},httph},{atom,{869,65},httph_bin}]}]]},{type,{870,7},constraint,[{atom,{870,7},is_subtype},[{var,{870,7},'Bin'},{type,{870,14},binary,[]}]]},{type,{871,7},constraint,[{atom,{871,7},is_subtype},[{var,{871,7},'Options'},{type,{871,18},list,[{var,{871,19},'Opt'}]}]]},{type,{872,7},constraint,[{atom,{872,7},is_subtype},[{var,{872,7},'Opt'},{type,{872,14},union,[{type,{872,14},tuple,[{atom,{872,15},packet_size},{type,{872,28},non_neg_integer,[]}]},{type,{873,14},tuple,[{atom,{873,15},line_length},{type,{873,28},non_neg_integer,[]}]}]}]]},{type,{874,7},constraint,[{atom,{874,7},is_subtype},[{var,{874,7},'Packet'},{type,{874,17},union,[{type,{874,17},binary,[]},{var,{874,28},'HttpPacket'}]}]]},{type,{875,7},constraint,[{atom,{875,7},is_subtype},[{var,{875,7},'Rest'},{type,{875,15},binary,[]}]]},{type,{876,7},constraint,[{atom,{876,7},is_subtype},[{var,{876,7},'Length'},{type,{876,17},union,[{type,{876,17},non_neg_integer,[]},{atom,{876,37},undefined}]}]]},{type,{877,7},constraint,[{atom,{877,7},is_subtype},[{var,{877,7},'Reason'},{type,{877,17},term,[]}]]},{type,{878,7},constraint,[{atom,{878,7},is_subtype},[{var,{878,7},'HttpPacket'},{type,{878,21},union,[{var,{878,21},'HttpRequest'},{var,{879,21},'HttpResponse'},{var,{880,21},'HttpHeader'},{atom,{881,21},http_eoh},{var,{882,21},'HttpError'}]}]]},{type,{883,7},constraint,[{atom,{883,7},is_subtype},[{var,{883,7},'HttpRequest'},{type,{883,22},tuple,[{atom,{883,23},http_request},{var,{883,39},'HttpMethod'},{var,{883,51},'HttpUri'},{var,{883,60},'HttpVersion'}]}]]},{type,{884,7},constraint,[{atom,{884,7},is_subtype},[{var,{884,7},'HttpResponse'},{type,{884,23},tuple,[{atom,{884,24},http_response},{var,{884,41},'HttpVersion'},{type,{884,54},integer,[]},{var,{884,65},'HttpString'}]}]]},{type,{885,7},constraint,[{atom,{885,7},is_subtype},[{var,{885,7},'HttpHeader'},{type,{885,21},tuple,[{atom,{885,22},http_header},{type,{886,22},integer,[]},{var,{887,22},'HttpField'},{ann_type,{888,22},[{var,{888,22},'UnmodifiedField'},{var,{888,41},'HttpString'}]},{ann_type,{889,22},[{var,{889,22},'Value'},{var,{889,31},'HttpString'}]}]}]]},{type,{890,7},constraint,[{atom,{890,7},is_subtype},[{var,{890,7},'HttpError'},{type,{890,20},tuple,[{atom,{890,21},http_error},{var,{890,35},'HttpString'}]}]]},{type,{891,7},constraint,[{atom,{891,7},is_subtype},[{var,{891,7},'HttpMethod'},{type,{891,21},union,[{atom,{891,21},'OPTIONS'},{atom,{891,33},'GET'},{atom,{891,41},'HEAD'},{atom,{891,50},'POST'},{atom,{891,59},'PUT'},{atom,{891,67},'DELETE'},{atom,{892,21},'TRACE'},{var,{892,31},'HttpString'}]}]]},{type,{893,7},constraint,[{atom,{893,7},is_subtype},[{var,{893,7},'HttpUri'},{type,{893,18},union,[{atom,{893,18},'*'},{type,{894,18},tuple,[{atom,{894,20},absoluteURI},{type,{895,20},union,[{atom,{895,20},http},{atom,{895,29},https}]},{ann_type,{896,20},[{var,{896,20},'Host'},{var,{896,28},'HttpString'}]},{ann_type,{897,20},[{var,{897,20},'Port'},{type,{897,28},union,[{remote_type,{897,28},[{atom,{897,28},inet},{atom,{897,33},port_number},[]]},{atom,{897,49},undefined}]}]},{ann_type,{898,20},[{var,{898,20},'Path'},{var,{898,28},'HttpString'}]}]},{type,{899,18},tuple,[{atom,{899,19},scheme},{ann_type,{899,29},[{var,{899,29},'Scheme'},{var,{899,39},'HttpString'}]},{var,{899,51},'HttpString'}]},{type,{900,18},tuple,[{atom,{900,19},abs_path},{var,{900,31},'HttpString'}]},{var,{901,18},'HttpString'}]}]]},{type,{902,7},constraint,[{atom,{902,7},is_subtype},[{var,{902,7},'HttpVersion'},{type,{902,22},tuple,[{ann_type,{902,23},[{var,{902,23},'Major'},{type,{902,32},non_neg_integer,[]}]},{ann_type,{902,51},[{var,{902,51},'Minor'},{type,{902,60},non_neg_integer,[]}]}]}]]},{type,{903,7},constraint,[{atom,{903,7},is_subtype},[{var,{903,7},'HttpField'},{type,{903,20},union,[{atom,{903,20},'Cache-Control'},{atom,{904,20},'Connection'},{atom,{905,20},'Date'},{atom,{906,20},'Pragma'},{atom,{907,20},'Transfer-Encoding'},{atom,{908,20},'Upgrade'},{atom,{909,20},'Via'},{atom,{910,20},'Accept'},{atom,{911,20},'Accept-Charset'},{atom,{912,20},'Accept-Encoding'},{atom,{913,20},'Accept-Language'},{atom,{914,20},'Authorization'},{atom,{915,20},'From'},{atom,{916,20},'Host'},{atom,{917,20},'If-Modified-Since'},{atom,{918,20},'If-Match'},{atom,{919,20},'If-None-Match'},{atom,{920,20},'If-Range'},{atom,{921,20},'If-Unmodified-Since'},{atom,{922,20},'Max-Forwards'},{atom,{923,20},'Proxy-Authorization'},{atom,{924,20},'Range'},{atom,{925,20},'Referer'},{atom,{926,20},'User-Agent'},{atom,{927,20},'Age'},{atom,{928,20},'Location'},{atom,{929,20},'Proxy-Authenticate'},{atom,{930,20},'Public'},{atom,{931,20},'Retry-After'},{atom,{932,20},'Server'},{atom,{933,20},'Vary'},{atom,{934,20},'Warning'},{atom,{935,19},'Www-Authenticate'},{atom,{936,20},'Allow'},{atom,{937,20},'Content-Base'},{atom,{938,20},'Content-Encoding'},{atom,{939,20},'Content-Language'},{atom,{940,20},'Content-Length'},{atom,{941,20},'Content-Location'},{atom,{942,20},'Content-Md5'},{atom,{943,20},'Content-Range'},{atom,{944,20},'Content-Type'},{atom,{945,20},'Etag'},{atom,{946,20},'Expires'},{atom,{947,20},'Last-Modified'},{atom,{948,20},'Accept-Ranges'},{atom,{949,20},'Set-Cookie'},{atom,{950,20},'Set-Cookie2'},{atom,{951,20},'X-Forwarded-For'},{atom,{952,20},'Cookie'},{atom,{953,20},'Keep-Alive'},{atom,{954,20},'Proxy-Connection'},{var,{955,20},'HttpString'}]}]]},{type,{956,7},constraint,[{atom,{956,7},is_subtype},[{var,{956,7},'HttpString'},{type,{956,21},union,[{type,{956,21},string,[]},{type,{956,32},binary,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,53,49,52>>}},{{function,delete_element,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,961}],[<<100,101,108,101,116,101,95,101,108,101,109,101,110,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,110,101,119,32,116,117,112,108,101,32,119,105,116,104,32,101,108,101,109,101,110,116,32,97,116,32>>,{code,[],[<<73,110,100,101,120>>]},<<32,114,101,109,111,118,101,100,32,102,114,111,109,32,116,117,112,108,101,32>>,{code,[],[<<84,117,112,108,101,49>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,100,101,108,101,116,101,95,101,108,101,109,101,110,116,40,50,44,32,123,111,110,101,44,32,116,119,111,44,32,116,104,114,101,101,125,41,46,10,123,111,110,101,44,116,104,114,101,101,125>>]}]}]},#{signature => [{attribute,{961,2},spec,{{erlang,delete_element,2},[{type,{961,28},bounded_fun,[{type,{961,28},'fun',[{type,{961,28},product,[{var,{961,29},'Index'},{var,{961,36},'Tuple1'}]},{var,{961,47},'Tuple2'}]},[{type,{962,7},constraint,[{atom,{962,7},is_subtype},[{var,{962,7},'Index'},{type,{962,17},pos_integer,[]}]]},{type,{963,7},constraint,[{atom,{963,7},is_subtype},[{var,{963,7},'Tuple1'},{type,{963,17},tuple,any}]]},{type,{964,7},constraint,[{atom,{964,7},is_subtype},[{var,{964,7},'Tuple2'},{type,{964,17},tuple,any}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,54,51,48>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,delete_module,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,969}],[<<100,101,108,101,116,101,95,109,111,100,117,108,101,47,49>>],#{<<101,110>> => [{p,[],[<<77,97,107,101,115,32,116,104,101,32,99,117,114,114,101,110,116,32,99,111,100,101,32,102,111,114,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,98,101,99,111,109,101,32,111,108,100,32,99,111,100,101,32,97,110,100,32,100,101,108,101,116,101,115,32,97,108,108,32,114,101,102,101,114,101,110,99,101,115,32,102,111,114,32,116,104,105,115,32,109,111,100,117,108,101,32,102,114,111,109,32,116,104,101,32,101,120,112,111,114,116,32,116,97,98,108,101,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,109,111,100,117,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<116,114,117,101>>]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,116,104,101,32,99,111,100,101,32,115,101,114,118,101,114,32,40,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,100,101,40,51,41>>]}]},<<41,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,101,108,115,101,119,104,101,114,101,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,114,101,32,97,108,114,101,97,100,121,32,105,115,32,97,110,32,111,108,100,32,118,101,114,115,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46>>]}]},#{signature => [{attribute,{969,2},spec,{{delete_module,1},[{type,{969,20},bounded_fun,[{type,{969,20},'fun',[{type,{969,20},product,[{var,{969,21},'Module'}]},{type,{969,32},union,[{atom,{969,32},true},{atom,{969,39},undefined}]}]},[{type,{970,7},constraint,[{atom,{970,7},is_subtype},[{var,{970,7},'Module'},{type,{970,17},module,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,54,52,51>>}},{{function,demonitor,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,975}],[<<100,101,109,111,110,105,116,111,114,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<77,111,110,105,116,111,114,82,101,102>>]},<<32,105,115,32,97,32,114,101,102,101,114,101,110,99,101,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,111,98,116,97,105,110,101,100,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,47,50>>]}]},<<44,32,116,104,105,115,32,109,111,110,105,116,111,114,105,110,103,32,105,115,32,116,117,114,110,101,100,32,111,102,102,46,32,73,102,32,116,104,101,32,109,111,110,105,116,111,114,105,110,103,32,105,115,32,97,108,114,101,97,100,121,32,116,117,114,110,101,100,32,111,102,102,44,32,110,111,116,104,105,110,103,32,104,97,112,112,101,110,115,46>>]},{p,[],[<<79,110,99,101,32>>,{code,[],[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,41>>]},<<32,104,97,115,32,114,101,116,117,114,110,101,100,44,32,105,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,104,97,116,32,110,111,32>>,{code,[],[<<123,39,68,79,87,78,39,44,32,77,111,110,105,116,111,114,82,101,102,44,32,95,44,32,95,44,32,95,125>>]},<<32,109,101,115,115,97,103,101,44,32,98,101,99,97,117,115,101,32,111,102,32,116,104,101,32,109,111,110,105,116,111,114,44,32,119,105,108,108,32,98,101,32,112,108,97,99,101,100,32,105,110,32,116,104,101,32,99,97,108,108,101,114,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46,32,72,111,119,101,118,101,114,44,32,97,32>>,{code,[],[<<123,39,68,79,87,78,39,44,32,77,111,110,105,116,111,114,82,101,102,44,32,95,44,32,95,44,32,95,125>>]},<<32,109,101,115,115,97,103,101,32,99,97,110,32,104,97,118,101,32,98,101,101,110,32,112,108,97,99,101,100,32,105,110,32,116,104,101,32,99,97,108,108,101,114,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,98,101,102,111,114,101,32,116,104,101,32,99,97,108,108,46,32,73,116,32,105,115,32,116,104,101,114,101,102,111,114,101,32,117,115,117,97,108,108,121,32,97,100,118,105,115,97,98,108,101,32,116,111,32,114,101,109,111,118,101,32,115,117,99,104,32,97,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,32,102,114,111,109,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,97,102,116,101,114,32,109,111,110,105,116,111,114,105,110,103,32,104,97,115,32,98,101,101,110,32,115,116,111,112,112,101,100,46,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,101,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,44,32,91,102,108,117,115,104,93,41>>]}]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,115,116,101,97,100,32,111,102,32>>,{code,[],[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,41>>]},<<32,105,102,32,116,104,105,115,32,99,108,101,97,110,117,112,32,105,115,32,119,97,110,116,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<70,111,114,32,115,111,109,101,32,105,109,112,111,114,116,97,110,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,100,105,115,116,114,105,98,117,116,101,100,32,115,105,103,110,97,108,115,44,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,98,108,111,99,107,105,110,103,45,115,105,103,110,97,108,105,110,103,45,111,118,101,114,45,100,105,115,116,114,105,98,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<66,108,111,99,107,105,110,103,32,83,105,103,110,97,108,105,110,103,32,79,118,101,114,32,68,105,115,116,114,105,98,117,116,105,111,110>>]}]},<<32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32>>,{i,[],[<<80,114,111,99,101,115,115,101,115>>]},<<32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<66,101,102,111,114,101,32,69,114,108,97,110,103,47,79,84,80,32,82,49,49,66,32,40,69,82,84,83,32,53,46,53,41,32>>,{code,[],[<<100,101,109,111,110,105,116,111,114,47,49>>]},<<32,98,101,104,97,118,101,100,32,99,111,109,112,108,101,116,101,108,121,32,97,115,121,110,99,104,114,111,110,111,117,115,108,121,44,32,116,104,97,116,32,105,115,44,32,116,104,101,32,109,111,110,105,116,111,114,32,119,97,115,32,97,99,116,105,118,101,32,117,110,116,105,108,32,116,104,101,32,34,100,101,109,111,110,105,116,111,114,32,115,105,103,110,97,108,34,32,114,101,97,99,104,101,100,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,101,110,116,105,116,121,46,32,84,104,105,115,32,104,97,100,32,111,110,101,32,117,110,100,101,115,105,114,97,98,108,101,32,101,102,102,101,99,116,46,32,89,111,117,32,99,111,117,108,100,32,110,101,118,101,114,32,107,110,111,119,32,119,104,101,110,32,121,111,117,32,119,101,114,101,32,103,117,97,114,97,110,116,101,101,100,32>>,{em,[],[<<110,111,116>>]},<<32,116,111,32,114,101,99,101,105,118,101,32,97,32>>,{code,[],[<<68,79,87,78>>]},<<32,109,101,115,115,97,103,101,32,98,101,99,97,117,115,101,32,111,102,32,116,104,101,32,109,111,110,105,116,111,114,46>>]},{p,[],[<<84,104,101,32,99,117,114,114,101,110,116,32,98,101,104,97,118,105,111,114,32,99,97,110,32,98,101,32,118,105,101,119,101,100,32,97,115,32,116,119,111,32,99,111,109,98,105,110,101,100,32,111,112,101,114,97,116,105,111,110,115,58,32,97,115,121,110,99,104,114,111,110,111,117,115,108,121,32,115,101,110,100,32,97,32,34,100,101,109,111,110,105,116,111,114,32,115,105,103,110,97,108,34,32,116,111,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,101,110,116,105,116,121,32,97,110,100,32,105,103,110,111,114,101,32,97,110,121,32,102,117,116,117,114,101,32,114,101,115,117,108,116,115,32,111,102,32,116,104,101,32,109,111,110,105,116,111,114,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32,73,116,32,105,115,32,97,110,32,101,114,114,111,114,32,105,102,32>>,{code,[],[<<77,111,110,105,116,111,114,82,101,102>>]},<<32,114,101,102,101,114,115,32,116,111,32,97,32,109,111,110,105,116,111,114,105,110,103,32,115,116,97,114,116,101,100,32,98,121,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,46,32,78,111,116,32,97,108,108,32,115,117,99,104,32,99,97,115,101,115,32,97,114,101,32,99,104,101,97,112,32,116,111,32,99,104,101,99,107,46,32,73,102,32,99,104,101,99,107,105,110,103,32,105,115,32,99,104,101,97,112,44,32,116,104,101,32,99,97,108,108,32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,32,105,102,32>>,{code,[],[<<77,111,110,105,116,111,114,82,101,102>>]},<<32,105,115,32,97,32,114,101,109,111,116,101,32,114,101,102,101,114,101,110,99,101,46>>]}]},#{signature => [{attribute,{975,2},spec,{{demonitor,1},[{type,{975,16},bounded_fun,[{type,{975,16},'fun',[{type,{975,16},product,[{var,{975,17},'MonitorRef'}]},{atom,{975,32},true}]},[{type,{976,7},constraint,[{atom,{976,7},is_subtype},[{var,{976,7},'MonitorRef'},{type,{976,21},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,54,54,49>>}},{{function,demonitor,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,981}],[<<100,101,109,111,110,105,116,111,114,47,50>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,117,110,108,101,115,115,32>>,{code,[],[<<105,110,102,111>>]},<<32,105,115,32,112,97,114,116,32,111,102,32>>,{code,[],[<<79,112,116,105,111,110,76,105,115,116>>]},<<46>>]},{p,[],[{code,[],[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,44,32,91,93,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,101,109,111,110,105,116,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,41>>]}]},<<46>>]},{p,[],[{code,[],[<<79,112,116,105,111,110>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<102,108,117,115,104>>]}]},{dd,[],[{p,[],[<<82,101,109,111,118,101,115,32,40,111,110,101,41,32>>,{code,[],[<<123,95,44,32,77,111,110,105,116,111,114,82,101,102,44,32,95,44,32,95,44,32,95,125>>]},<<32,109,101,115,115,97,103,101,44,32,105,102,32,116,104,101,114,101,32,105,115,32,111,110,101,44,32,102,114,111,109,32,116,104,101,32,99,97,108,108,101,114,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,97,102,116,101,114,32,109,111,110,105,116,111,114,105,110,103,32,104,97,115,32,98,101,101,110,32,115,116,111,112,112,101,100,46>>]},{p,[],[<<67,97,108,108,105,110,103,32>>,{code,[],[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,44,32,91,102,108,117,115,104,93,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,116,104,101,32,102,111,108,108,111,119,105,110,103,44,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<100,101,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,82,101,102,41,44,10,114,101,99,101,105,118,101,10,32,32,32,32,123,95,44,32,77,111,110,105,116,111,114,82,101,102,44,32,95,44,32,95,44,32,95,125,32,45,62,10,32,32,32,32,32,32,32,32,116,114,117,101,10,97,102,116,101,114,32,48,32,45,62,10,32,32,32,32,32,32,32,32,116,114,117,101,10,101,110,100>>]}]}]},{dt,[],[{code,[],[<<105,110,102,111>>]}]},{dd,[],[{p,[],[<<84,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,119,97,115,32,102,111,117,110,100,32,97,110,100,32,114,101,109,111,118,101,100,46,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32,110,111,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,105,115,32,109,111,110,105,116,111,114,32,104,97,115,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,32,97,110,100,32,119,105,108,108,32,110,111,116,32,98,101,32,100,101,108,105,118,101,114,101,100,46>>]}]},{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,119,97,115,32,110,111,116,32,102,111,117,110,100,32,97,110,100,32,99,111,117,108,100,32,110,111,116,32,98,101,32,114,101,109,111,118,101,100,46,32,84,104,105,115,32,112,114,111,98,97,98,108,121,32,98,101,99,97,117,115,101,32,115,111,109,101,111,110,101,32,97,108,114,101,97,100,121,32,104,97,115,32,112,108,97,99,101,100,32,97,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,105,115,32,109,111,110,105,116,111,114,32,105,110,32,116,104,101,32,99,97,108,108,101,114,32,109,101,115,115,97,103,101,32,113,117,101,117,101,46>>]}]}]},{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<105,110,102,111>>]},<<32,105,115,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<102,108,117,115,104>>]},<<44,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,102,32,97,32,102,108,117,115,104,32,119,97,115,32,110,101,101,100,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<116,114,117,101>>]},<<46>>]}]}]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<77,111,114,101,32,111,112,116,105,111,110,115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,116,105,111,110,76,105,115,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,105,115,116,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,111,112,116,105,111,110,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<84,104,101,32,115,97,109,101,32,102,97,105,108,117,114,101,32,97,115,32,102,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,101,109,111,110,105,116,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<100,101,109,111,110,105,116,111,114,47,49>>]}]},<<46>>]}]}]},#{signature => [{attribute,{981,2},spec,{{demonitor,2},[{type,{981,16},bounded_fun,[{type,{981,16},'fun',[{type,{981,16},product,[{var,{981,17},'MonitorRef'},{var,{981,29},'OptionList'}]},{type,{981,44},boolean,[]}]},[{type,{982,7},constraint,[{atom,{982,7},is_subtype},[{var,{982,7},'MonitorRef'},{type,{982,21},reference,[]}]]},{type,{983,7},constraint,[{atom,{983,7},is_subtype},[{var,{983,7},'OptionList'},{type,{983,21},list,[{var,{983,22},'Option'}]}]]},{type,{984,7},constraint,[{atom,{984,7},is_subtype},[{var,{984,7},'Option'},{type,{984,17},union,[{atom,{984,17},flush},{atom,{984,25},info}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,55,48,57>>}},{{function,disconnect_node,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3714}],[<<100,105,115,99,111,110,110,101,99,116,95,110,111,100,101,47,49>>],#{<<101,110>> => [{p,[],[<<70,111,114,99,101,115,32,116,104,101,32,100,105,115,99,111,110,110,101,99,116,105,111,110,32,111,102,32,97,32,110,111,100,101,46,32,84,104,105,115,32,97,112,112,101,97,114,115,32,116,111,32,116,104,101,32,110,111,100,101,32>>,{code,[],[<<78,111,100,101>>]},<<32,97,115,32,105,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,104,97,115,32,99,114,97,115,104,101,100,46,32,84,104,105,115,32,66,73,70,32,105,115,32,109,97,105,110,108,121,32,117,115,101,100,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,110,101,116,119,111,114,107,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,112,114,111,116,111,99,111,108,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,100,105,115,99,111,110,110,101,99,116,105,111,110,32,115,117,99,99,101,101,100,115,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46,32,73,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,44,32>>,{code,[],[<<105,103,110,111,114,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,109,97,121,32,114,101,116,117,114,110,32,98,101,102,111,114,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,95,110,111,100,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,111,100,101,100,111,119,110>>]},<<32,109,101,115,115,97,103,101,115>>]},<<32,104,97,118,101,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,46>>]}]}]},#{signature => [{attribute,{3714,2},spec,{{disconnect_node,1},[{type,{3714,22},bounded_fun,[{type,{3714,22},'fun',[{type,{3714,22},product,[{var,{3714,23},'Node'}]},{type,{3714,32},union,[{type,{3714,32},boolean,[]},{atom,{3714,44},ignored}]}]},[{type,{3715,7},constraint,[{atom,{3715,7},is_subtype},[{var,{3715,7},'Node'},{type,{3715,15},node,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,55,55,55>>}},{{function,display,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1008}],[<<100,105,115,112,108,97,121,47,49>>],#{<<101,110>> => [{p,[],[<<80,114,105,110,116,115,32,97,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,111,110,32,116,104,101,32,115,116,97,110,100,97,114,100,32,111,117,116,112,117,116,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,111,110,108,121,46,32,84,104,101,32,112,114,105,110,116,101,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,109,97,121,32,99,111,110,116,97,105,110,32,105,110,116,101,114,110,97,108,32,100,101,116,97,105,108,115,32,116,104,97,116,32,100,111,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,104,105,103,104,45,108,101,118,101,108,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,116,101,114,109,32,105,110,32,69,114,108,97,110,103,46>>]}]}]},#{signature => [{attribute,{1008,2},spec,{{erlang,display,1},[{type,{1008,21},bounded_fun,[{type,{1008,21},'fun',[{type,{1008,21},product,[{var,{1008,22},'Term'}]},{atom,{1008,31},true}]},[{type,{1009,7},constraint,[{atom,{1009,7},is_subtype},[{var,{1009,7},'Term'},{type,{1009,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,55,57,54>>}},{{function,dist_ctrl_get_data,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3998}],[<<100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,47,49>>],#{<<101,110>> => [{p,[],[<<71,101,116,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,100,97,116,97,32,102,114,111,109,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,116,104,97,116,32,105,115,32,116,111,32,98,101,32,112,97,115,115,101,100,32,116,111,32,116,104,101,32,114,101,109,111,116,101,32,110,111,100,101,46,32,84,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<46,32,73,102,32,110,111,32,100,97,116,97,32,105,115,32,97,118,97,105,108,97,98,108,101,44,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<110,111,110,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,79,110,101,32,99,97,110,32,114,101,113,117,101,115,116,32,116,111,32,98,101,32,105,110,102,111,114,109,101,100,32,98,121,32,97,32,109,101,115,115,97,103,101,32,119,104,101,110,32,109,111,114,101,32,100,97,116,97,32,105,115,32,97,118,97,105,108,97,98,108,101,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,95,110,111,116,105,102,105,99,97,116,105,111,110,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,95,110,111,116,105,102,105,99,97,116,105,111,110,40,68,72,97,110,100,108,101,41>>]}]},<<46>>]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<103,101,116,95,115,105,122,101>>]},<<32,111,112,116,105,111,110,32,99,111,110,102,105,103,117,114,101,100,32,111,110,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32>>,{code,[],[<<103,101,116,95,115,105,122,101>>]},<<32,111,112,116,105,111,110,32,102,111,114,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,105,115,116,95,99,116,114,108,95,115,101,116,95,111,112,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,115,101,116,95,111,112,116,47,51>>]}]},<<32,102,117,110,99,116,105,111,110,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,110,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,103,105,115,116,101,114,101,100,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46>>]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,119,104,101,110,32,105,109,112,108,101,109,101,110,116,105,110,103,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,97,114,114,105,101,114,32,117,115,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,115,46,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,32,99,97,108,108,98,97,99,107,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,104,115,95,100,97,116,97,95,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>]}]},<<46,32,77,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,100,105,115,116,114,105,98,117,116,105,111,110,95,109,111,100,117,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,32,226,158,156,32,72,111,119,32,116,111,32,105,109,112,108,101,109,101,110,116,32,97,110,32,65,108,116,101,114,110,97,116,105,118,101,32,67,97,114,114,105,101,114,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,68,105,115,116,114,105,98,117,116,105,111,110,32,226,158,156,32,68,105,115,116,114,105,98,117,116,105,111,110,32,77,111,100,117,108,101>>]},<<46>>]}]},#{signature => [{attribute,{3998,2},spec,{{erlang,dist_ctrl_get_data,1},[{type,{3998,32},bounded_fun,[{type,{3998,32},'fun',[{type,{3998,32},product,[{var,{3998,33},'DHandle'}]},{type,{3998,45},union,[{type,{3998,45},tuple,[{var,{3998,46},'Size'},{var,{3998,52},'Data'}]},{var,{3998,60},'Data'},{atom,{3998,67},none}]}]},[{type,{3999,7},constraint,[{atom,{3999,7},is_subtype},[{var,{3999,7},'Size'},{type,{3999,15},non_neg_integer,[]}]]},{type,{4000,7},constraint,[{atom,{4000,7},is_subtype},[{var,{4000,7},'DHandle'},{user_type,{4000,18},dist_handle,[]}]]},{type,{4001,7},constraint,[{atom,{4001,7},is_subtype},[{var,{4001,7},'Data'},{user_type,{4001,15},iovec,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,56,49,48>>,since => <<79,84,80,32,50,49,46,48>>}},{{function,dist_ctrl_get_opt,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4020}],[<<100,105,115,116,95,99,116,114,108,95,103,101,116,95,111,112,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<103,101,116,95,115,105,122,101>>]},<<32,111,112,116,105,111,110,32,111,110,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32>>,{code,[],[<<103,101,116,95,115,105,122,101>>]},<<32,111,112,116,105,111,110,32,102,111,114,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,105,115,116,95,99,116,114,108,95,115,101,116,95,111,112,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,115,101,116,95,111,112,116,47,51>>]}]},<<32,102,117,110,99,116,105,111,110,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,110,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,103,105,115,116,101,114,101,100,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46>>]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,119,104,101,110,32,105,109,112,108,101,109,101,110,116,105,110,103,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,97,114,114,105,101,114,32,117,115,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,115,46,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,32,99,97,108,108,98,97,99,107,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,104,115,95,100,97,116,97,95,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>]}]},<<46,32,77,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,100,105,115,116,114,105,98,117,116,105,111,110,95,109,111,100,117,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,32,226,158,156,32,72,111,119,32,116,111,32,105,109,112,108,101,109,101,110,116,32,97,110,32,65,108,116,101,114,110,97,116,105,118,101,32,67,97,114,114,105,101,114,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,68,105,115,116,114,105,98,117,116,105,111,110,32,226,158,156,32,68,105,115,116,114,105,98,117,116,105,111,110,32,77,111,100,117,108,101>>]},<<46>>]}]},#{signature => [{attribute,{4020,2},spec,{{erlang,dist_ctrl_get_opt,2},[{type,{4020,31},bounded_fun,[{type,{4020,31},'fun',[{type,{4020,31},product,[{var,{4020,32},'DHandle'},{atom,{4020,41},get_size}]},{var,{4020,56},'Value'}]},[{type,{4021,7},constraint,[{atom,{4021,7},is_subtype},[{var,{4021,7},'DHandle'},{user_type,{4021,18},dist_handle,[]}]]},{type,{4022,7},constraint,[{atom,{4022,7},is_subtype},[{var,{4022,7},'Value'},{type,{4022,16},boolean,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,56,53,49>>,since => <<79,84,80,32,50,50,46,48>>}},{{function,dist_ctrl_get_data_notification,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4006}],[<<100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,95,110,111,116,105,102,105,99,97,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,113,117,101,115,116,32,110,111,116,105,102,105,99,97,116,105,111,110,32,119,104,101,110,32,109,111,114,101,32,100,97,116,97,32,105,115,32,97,118,97,105,108,97,98,108,101,32,116,111,32,102,101,116,99,104,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,40,68,72,97,110,100,108,101,41>>]}]},<<32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<46,32,87,104,101,110,32,109,111,114,101,32,100,97,116,97,32,105,115,32,112,114,101,115,101,110,116,44,32,116,104,101,32,99,97,108,108,101,114,32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,104,101,32,109,101,115,115,97,103,101,32>>,{code,[],[<<100,105,115,116,95,100,97,116,97>>]},<<46,32,79,110,99,101,32,97,32>>,{code,[],[<<100,105,115,116,95,100,97,116,97>>]},<<32,109,101,115,115,97,103,101,115,32,104,97,115,32,98,101,101,110,32,115,101,110,116,44,32,110,111,32,109,111,114,101,32>>,{code,[],[<<100,105,115,116,95,100,97,116,97>>]},<<32,109,101,115,115,97,103,101,115,32,119,105,108,108,32,98,101,32,115,101,110,116,32,117,110,116,105,108,32,116,104,101,32>>,{code,[],[<<100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,95,110,111,116,105,102,105,99,97,116,105,111,110,47,49>>]},<<32,102,117,110,99,116,105,111,110,32,104,97,115,32,98,101,101,110,32,99,97,108,108,101,100,32,97,103,97,105,110,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,110,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,103,105,115,116,101,114,101,100,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46>>]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,119,104,101,110,32,105,109,112,108,101,109,101,110,116,105,110,103,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,97,114,114,105,101,114,32,117,115,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,115,46,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,32,99,97,108,108,98,97,99,107,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,104,115,95,100,97,116,97,95,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>]}]},<<46,32,77,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,100,105,115,116,114,105,98,117,116,105,111,110,95,109,111,100,117,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,32,226,158,156,32,72,111,119,32,116,111,32,105,109,112,108,101,109,101,110,116,32,97,110,32,65,108,116,101,114,110,97,116,105,118,101,32,67,97,114,114,105,101,114,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,68,105,115,116,114,105,98,117,116,105,111,110,32,226,158,156,32,68,105,115,116,114,105,98,117,116,105,111,110,32,77,111,100,117,108,101>>]},<<46>>]}]},#{signature => [{attribute,{4006,2},spec,{{erlang,dist_ctrl_get_data_notification,1},[{type,{4006,45},bounded_fun,[{type,{4006,45},'fun',[{type,{4006,45},product,[{var,{4006,46},'DHandle'}]},{atom,{4006,58},ok}]},[{type,{4007,7},constraint,[{atom,{4007,7},is_subtype},[{var,{4007,7},'DHandle'},{user_type,{4007,18},dist_handle,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,56,56,48>>,since => <<79,84,80,32,50,49,46,48>>}},{{function,dist_ctrl_input_handler,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3984}],[<<100,105,115,116,95,99,116,114,108,95,105,110,112,117,116,95,104,97,110,100,108,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,103,105,115,116,101,114,32,97,110,32,97,108,116,101,114,110,97,116,101,32,105,110,112,117,116,32,104,97,110,100,108,101,114,32,112,114,111,99,101,115,115,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<46,32,79,110,99,101,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,104,97,115,32,98,101,101,110,32,99,97,108,108,101,100,44,32>>,{code,[],[<<73,110,112,117,116,72,97,110,100,108,101,114>>]},<<32,105,115,32,116,104,101,32,111,110,108,121,32,112,114,111,99,101,115,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,105,115,116,95,99,116,114,108,95,112,117,116,95,100,97,116,97,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,112,117,116,95,100,97,116,97,40,68,72,97,110,100,108,101,44,32,68,97,116,97,41>>]}]},<<32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,100,101,110,116,105,102,121,105,110,103,32,116,104,105,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,110,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,103,105,115,116,101,114,101,100,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46>>]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,119,104,101,110,32,105,109,112,108,101,109,101,110,116,105,110,103,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,97,114,114,105,101,114,32,117,115,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,115,46,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,32,99,97,108,108,98,97,99,107,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,104,115,95,100,97,116,97,95,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>]}]},<<46,32,77,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,100,105,115,116,114,105,98,117,116,105,111,110,95,109,111,100,117,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,32,226,158,156,32,72,111,119,32,116,111,32,105,109,112,108,101,109,101,110,116,32,97,110,32,65,108,116,101,114,110,97,116,105,118,101,32,67,97,114,114,105,101,114,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,68,105,115,116,114,105,98,117,116,105,111,110,32,226,158,156,32,68,105,115,116,114,105,98,117,116,105,111,110,32,77,111,100,117,108,101>>]},<<46>>]}]},#{signature => [{attribute,{3984,2},spec,{{erlang,dist_ctrl_input_handler,2},[{type,{3984,37},bounded_fun,[{type,{3984,37},'fun',[{type,{3984,37},product,[{var,{3984,38},'DHandle'},{var,{3984,47},'InputHandler'}]},{atom,{3984,64},ok}]},[{type,{3985,7},constraint,[{atom,{3985,7},is_subtype},[{var,{3985,7},'DHandle'},{user_type,{3985,18},dist_handle,[]}]]},{type,{3986,7},constraint,[{atom,{3986,7},is_subtype},[{var,{3986,7},'InputHandler'},{type,{3986,23},pid,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,57,49,54>>,since => <<79,84,80,32,50,49,46,48>>}},{{function,dist_ctrl_put_data,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3991}],[<<100,105,115,116,95,99,116,114,108,95,112,117,116,95,100,97,116,97,47,50>>],#{<<101,110>> => [{p,[],[<<68,101,108,105,118,101,114,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,100,97,116,97,32,102,114,111,109,32,97,32,114,101,109,111,116,101,32,110,111,100,101,32,116,111,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,110,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,103,105,115,116,101,114,101,100,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,117,110,108,101,115,115,32,97,110,32,97,108,116,101,114,110,97,116,101,32,105,110,112,117,116,32,104,97,110,100,108,101,114,32,112,114,111,99,101,115,115,32,104,97,115,32,98,101,101,110,32,114,101,103,105,115,116,101,114,101,100,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,105,115,116,95,99,116,114,108,95,105,110,112,117,116,95,104,97,110,100,108,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,105,110,112,117,116,95,104,97,110,100,108,101,114,40,68,72,97,110,100,108,101,44,32,73,110,112,117,116,72,97,110,100,108,101,114,41>>]}]},<<46,32,73,102,32,97,110,32,97,108,116,101,114,110,97,116,101,32,105,110,112,117,116,32,104,97,110,100,108,101,114,32,104,97,115,32,98,101,101,110,32,114,101,103,105,115,116,101,114,101,100,44,32,111,110,108,121,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,105,110,112,117,116,32,104,97,110,100,108,101,114,32,112,114,111,99,101,115,115,32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46>>]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,119,104,101,110,32,105,109,112,108,101,109,101,110,116,105,110,103,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,97,114,114,105,101,114,32,117,115,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,115,46,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,32,99,97,108,108,98,97,99,107,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,104,115,95,100,97,116,97,95,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>]}]},<<46,32,77,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,100,105,115,116,114,105,98,117,116,105,111,110,95,109,111,100,117,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,32,226,158,156,32,72,111,119,32,116,111,32,105,109,112,108,101,109,101,110,116,32,97,110,32,65,108,116,101,114,110,97,116,105,118,101,32,67,97,114,114,105,101,114,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,68,105,115,116,114,105,98,117,116,105,111,110,32,226,158,156,32,68,105,115,116,114,105,98,117,116,105,111,110,32,77,111,100,117,108,101>>]},<<46>>]}]},#{signature => [{attribute,{3991,2},spec,{{erlang,dist_ctrl_put_data,2},[{type,{3991,32},bounded_fun,[{type,{3991,32},'fun',[{type,{3991,32},product,[{var,{3991,33},'DHandle'},{var,{3991,42},'Data'}]},{atom,{3991,51},ok}]},[{type,{3992,7},constraint,[{atom,{3992,7},is_subtype},[{var,{3992,7},'DHandle'},{user_type,{3992,18},dist_handle,[]}]]},{type,{3993,7},constraint,[{atom,{3993,7},is_subtype},[{var,{3993,7},'Data'},{type,{3993,15},iodata,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,57,52,57>>,since => <<79,84,80,32,50,49,46,48>>}},{{function,dist_ctrl_set_opt,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4012}],[<<100,105,115,116,95,99,116,114,108,95,115,101,116,95,111,112,116,47,51>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<103,101,116,95,115,105,122,101>>]},<<32,111,112,116,105,111,110,32,111,110,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<46,32,84,104,105,115,32,111,112,116,105,111,110,32,99,111,110,116,114,111,108,115,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,111,102,32,99,97,108,108,115,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,40,68,72,97,110,100,108,101,41>>]},<<32,119,104,101,114,101,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,117,115,101,100,32,119,104,101,110,32,115,101,116,116,105,110,103,32,116,104,105,115,32,111,112,116,105,111,110,46,32,87,104,101,110,32,116,104,101,32>>,{code,[],[<<103,101,116,95,115,105,122,101>>]},<<32,111,112,116,105,111,110,32,105,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[<<97,110,100,32,116,104,101,114,101,32,97,114,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,44,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,40,68,72,97,110,100,108,101,41>>]},<<32,119,105,108,108,32,106,117,115,116,32,114,101,116,117,114,110,32>>,{code,[],[<<68,97,116,97>>]},<<32,116,111,32,112,97,115,115,32,111,118,101,114,32,116,104,101,32,99,104,97,110,110,101,108,46,32,84,104,105,115,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<103,101,116,95,115,105,122,101>>]},<<32,111,112,116,105,111,110,46>>]},{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[<<97,110,100,32,116,104,101,114,101,32,97,114,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,44,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,100,105,115,116,95,99,116,114,108,95,103,101,116,95,100,97,116,97,40,68,72,97,110,100,108,101,41>>]},<<32,119,105,108,108,32,114,101,116,117,114,110,32>>,{code,[],[<<68,97,116,97>>]},<<32,116,111,32,112,97,115,115,32,111,118,101,114,32,116,104,101,32,99,104,97,110,110,101,108,32,97,115,32,119,101,108,108,32,97,115,32,116,104,101,32>>,{code,[],[<<83,105,122,101>>]},<<32,111,102,32>>,{code,[],[<<68,97,116,97>>]},<<32,105,110,32,98,121,116,101,115,46,32,84,104,105,115,32,105,115,32,114,101,116,117,114,110,101,100,32,97,115,32,97,32,116,117,112,108,101,32,111,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,83,105,122,101,44,32,68,97,116,97,125>>]},<<46>>]}]},{p,[],[<<65,108,108,32,111,112,116,105,111,110,115,32,97,114,101,32,115,101,116,32,116,111,32,100,101,102,97,117,108,116,32,119,104,101,110,32,97,32,99,104,97,110,110,101,108,32,105,115,32,99,108,111,115,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,110,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,103,105,115,116,101,114,101,100,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,99,97,108,108,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46>>]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,119,104,101,110,32,105,109,112,108,101,109,101,110,116,105,110,103,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,97,114,114,105,101,114,32,117,115,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,115,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,111,110,116,114,111,108,108,101,114,115,46,32>>,{code,[],[<<68,72,97,110,100,108,101>>]},<<32,105,115,32,114,101,116,114,105,101,118,101,100,32,118,105,97,32,116,104,101,32,99,97,108,108,98,97,99,107,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,104,115,95,100,97,116,97,95,102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<102,95,104,97,110,100,115,104,97,107,101,95,99,111,109,112,108,101,116,101>>]}]},<<46,32,77,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,97,108,116,95,100,105,115,116,35,100,105,115,116,114,105,98,117,116,105,111,110,95,109,111,100,117,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,32,226,158,156,32,72,111,119,32,116,111,32,105,109,112,108,101,109,101,110,116,32,97,110,32,65,108,116,101,114,110,97,116,105,118,101,32,67,97,114,114,105,101,114,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,68,105,115,116,114,105,98,117,116,105,111,110,32,226,158,156,32,68,105,115,116,114,105,98,117,116,105,111,110,32,77,111,100,117,108,101>>]},<<46>>]}]},#{signature => [{attribute,{4012,2},spec,{{erlang,dist_ctrl_set_opt,3},[{type,{4012,31},bounded_fun,[{type,{4012,31},'fun',[{type,{4012,31},product,[{var,{4012,32},'DHandle'},{atom,{4012,41},get_size},{var,{4012,53},'Value'}]},{var,{4012,63},'OldValue'}]},[{type,{4013,7},constraint,[{atom,{4013,7},is_subtype},[{var,{4013,7},'DHandle'},{user_type,{4013,18},dist_handle,[]}]]},{type,{4014,7},constraint,[{atom,{4014,7},is_subtype},[{var,{4014,7},'Value'},{type,{4014,16},boolean,[]}]]},{type,{4015,7},constraint,[{atom,{4015,7},is_subtype},[{var,{4015,7},'OldValue'},{type,{4015,19},boolean,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,57,56,50>>,since => <<79,84,80,32,50,50,46,48>>}},{{function,element,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2409}],[<<101,108,101,109,101,110,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{code,[],[<<78>>]},<<116,104,32,101,108,101,109,101,110,116,32,40,110,117,109,98,101,114,105,110,103,32,102,114,111,109,32,49,41,32,111,102,32>>,{code,[],[<<84,117,112,108,101>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,108,101,109,101,110,116,40,50,44,32,123,97,44,32,98,44,32,99,125,41,46,10,98>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2409,2},spec,{{element,2},[{type,{2409,14},bounded_fun,[{type,{2409,14},'fun',[{type,{2409,14},product,[{var,{2409,15},'N'},{var,{2409,18},'Tuple'}]},{type,{2409,28},term,[]}]},[{type,{2410,5},constraint,[{atom,{2410,5},is_subtype},[{var,{2410,5},'N'},{type,{2410,10},pos_integer,[]}]]},{type,{2411,5},constraint,[{atom,{2411,5},is_subtype},[{var,{2411,5},'Tuple'},{type,{2411,14},tuple,any}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,48,51,49>>}},{{function,erase,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1073}],[<<101,114,97,115,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,32,97,110,100,32,100,101,108,101,116,101,115,32,105,116,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,112,117,116,40,107,101,121,49,44,32,123,49,44,32,50,44,32,51,125,41,44,10,112,117,116,40,107,101,121,50,44,32,91,97,44,32,98,44,32,99,93,41,44,10,101,114,97,115,101,40,41,46,10,91,123,107,101,121,49,44,123,49,44,50,44,51,125,125,44,123,107,101,121,50,44,91,97,44,98,44,99,93,125,93>>]}]}]},#{signature => [{attribute,{1073,2},spec,{{erase,0},[{type,{1073,12},bounded_fun,[{type,{1073,12},'fun',[{type,{1073,12},product,[]},{type,{1073,18},list,[{type,{1073,19},tuple,[{var,{1073,20},'Key'},{var,{1073,25},'Val'}]}]}]},[{type,{1074,7},constraint,[{atom,{1074,7},is_subtype},[{var,{1074,7},'Key'},{type,{1074,14},term,[]}]]},{type,{1075,7},constraint,[{atom,{1075,7},is_subtype},[{var,{1075,7},'Val'},{type,{1075,14},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,48,52,53>>}},{{function,erase,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1080}],[<<101,114,97,115,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<86,97,108>>]},<<32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32>>,{code,[],[<<75,101,121>>]},<<32,97,110,100,32,100,101,108,101,116,101,115,32,105,116,32,102,114,111,109,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,110,111,32,118,97,108,117,101,32,105,115,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32>>,{code,[],[<<75,101,121>>]},<<46,32,84,104,101,32,97,118,101,114,97,103,101,32,116,105,109,101,32,99,111,109,112,108,101,120,105,116,121,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,79,40>>,{code,[],[<<49>>]},<<41,32,97,110,100,32,116,104,101,32,119,111,114,115,116,32,99,97,115,101,32,116,105,109,101,32,99,111,109,112,108,101,120,105,116,121,32,105,115,32,79,40>>,{code,[],[<<78>>]},<<41,44,32,119,104,101,114,101,32>>,{code,[],[<<78>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,105,116,101,109,115,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,112,117,116,40,107,101,121,49,44,32,123,109,101,114,114,121,44,32,108,97,109,98,115,44,32,97,114,101,44,32,112,108,97,121,105,110,103,125,41,44,10,88,32,61,32,101,114,97,115,101,40,107,101,121,49,41,44,10,123,88,44,32,101,114,97,115,101,40,107,101,121,49,41,125,46,10,123,123,109,101,114,114,121,44,108,97,109,98,115,44,97,114,101,44,112,108,97,121,105,110,103,125,44,117,110,100,101,102,105,110,101,100,125>>]}]}]},#{signature => [{attribute,{1080,2},spec,{{erase,1},[{type,{1080,12},bounded_fun,[{type,{1080,12},'fun',[{type,{1080,12},product,[{var,{1080,13},'Key'}]},{type,{1080,21},union,[{var,{1080,21},'Val'},{atom,{1080,27},undefined}]}]},[{type,{1081,7},constraint,[{atom,{1081,7},is_subtype},[{var,{1081,7},'Key'},{type,{1081,14},term,[]}]]},{type,{1082,7},constraint,[{atom,{1082,7},is_subtype},[{var,{1082,7},'Val'},{type,{1082,14},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,48,53,57>>}},{{function,error,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1088}],[<<101,114,114,111,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,111,102,32,99,108,97,115,115,32>>,{code,[],[<<101,114,114,111,114>>]},<<32,119,105,116,104,32,116,104,101,32,114,101,97,115,111,110,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<46,32,65,115,32,101,118,97,108,117,97,116,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,99,97,117,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,116,111,32,98,101,32,116,104,114,111,119,110,44,32,105,116,32,104,97,115,32,110,111,32,114,101,116,117,114,110,32,118,97,108,117,101,46>>]},{p,[],[<<84,104,101,32,105,110,116,101,110,116,32,111,102,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,99,108,97,115,115,32>>,{code,[],[<<101,114,114,111,114>>]},<<32,105,115,32,116,111,32,115,105,103,110,97,108,32,116,104,97,116,32,97,110,32,117,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,32,104,97,115,32,104,97,112,112,101,110,101,100,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,97,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,32,119,105,116,104,32,97,32,112,97,114,97,109,101,116,101,114,32,116,104,97,116,32,104,97,115,32,97,110,32,105,110,99,111,114,114,101,99,116,32,116,121,112,101,41,46,32,83,101,101,32,116,104,101,32,103,117,105,100,101,32,97,98,111,117,116,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,114,114,111,114,115,32,97,110,100,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103>>]},<<32,102,111,114,32,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,99,97,116,99,104,32,101,114,114,111,114,40,102,111,111,98,97,114,41,46,10,123,39,69,88,73,84,39,44,123,102,111,111,98,97,114,44,91,123,115,104,101,108,108,44,97,112,112,108,121,95,102,117,110,44,51,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,123,102,105,108,101,44,34,115,104,101,108,108,46,101,114,108,34,125,44,123,108,105,110,101,44,57,48,54,125,93,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,101,114,108,95,101,118,97,108,44,100,111,95,97,112,112,108,121,44,54,44,91,123,102,105,108,101,44,34,101,114,108,95,101,118,97,108,46,101,114,108,34,125,44,123,108,105,110,101,44,54,55,55,125,93,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,101,114,108,95,101,118,97,108,44,101,120,112,114,44,53,44,91,123,102,105,108,101,44,34,101,114,108,95,101,118,97,108,46,101,114,108,34,125,44,123,108,105,110,101,44,52,51,48,125,93,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,115,104,101,108,108,44,101,120,112,114,115,44,55,44,91,123,102,105,108,101,44,34,115,104,101,108,108,46,101,114,108,34,125,44,123,108,105,110,101,44,54,56,55,125,93,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,115,104,101,108,108,44,101,118,97,108,95,101,120,112,114,115,44,55,44,91,123,102,105,108,101,44,34,115,104,101,108,108,46,101,114,108,34,125,44,123,108,105,110,101,44,54,52,50,125,93,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,115,104,101,108,108,44,101,118,97,108,95,108,111,111,112,44,51,44,91,123,102,105,108,101,44,34,115,104,101,108,108,46,101,114,108,34,125,44,123,108,105,110,101,44,54,50,55,125,93,125,93,125,125>>]}]}]},#{signature => [{attribute,{1088,2},spec,{{error,1},[{type,{1088,12},bounded_fun,[{type,{1088,12},'fun',[{type,{1088,12},product,[{var,{1088,13},'Reason'}]},{type,{1088,24},no_return,[]}]},[{type,{1089,7},constraint,[{atom,{1089,7},is_subtype},[{var,{1089,7},'Reason'},{type,{1089,17},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,48,56,48>>}},{{function,error,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1095}],[<<101,114,114,111,114,47,50>>],#{<<101,110>> => [{p,[],[<<82,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,111,102,32,99,108,97,115,115,32>>,{code,[],[<<101,114,114,111,114>>]},<<32,119,105,116,104,32,116,104,101,32,114,101,97,115,111,110,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<46,32>>,{code,[],[<<65,114,103,115>>]},<<32,105,115,32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,116,104,101,32,108,105,115,116,32,111,102,32,97,114,103,117,109,101,110,116,115,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<110,111,110,101>>]},<<46,32,73,102,32,105,116,32,105,115,32,97,32,108,105,115,116,44,32,105,116,32,105,115,32,117,115,101,100,32,116,111,32,112,114,111,118,105,100,101,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,105,110,32,116,104,101,32,115,116,97,99,107,32,98,97,99,107,45,116,114,97,99,101,46,32,73,102,32,105,116,32,105,115,32>>,{code,[],[<<110,111,110,101>>]},<<44,32,116,104,101,32,97,114,105,116,121,32,111,102,32,116,104,101,32,99,97,108,108,105,110,103,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,105,110,32,116,104,101,32,115,116,97,99,107,116,114,97,99,101,46,32,65,115,32,101,118,97,108,117,97,116,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,99,97,117,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,116,111,32,98,101,32,114,97,105,115,101,100,44,32,105,116,32,104,97,115,32,110,111,32,114,101,116,117,114,110,32,118,97,108,117,101,46>>]},{p,[],[<<84,104,101,32,105,110,116,101,110,116,32,111,102,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,99,108,97,115,115,32>>,{code,[],[<<101,114,114,111,114>>]},<<32,105,115,32,116,111,32,115,105,103,110,97,108,32,116,104,97,116,32,97,110,32,117,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,32,104,97,115,32,104,97,112,112,101,110,101,100,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,97,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,32,119,105,116,104,32,97,32,112,97,114,97,109,101,116,101,114,32,116,104,97,116,32,104,97,115,32,97,110,32,105,110,99,111,114,114,101,99,116,32,116,121,112,101,41,46,32,83,101,101,32,116,104,101,32,103,117,105,100,101,32,97,98,111,117,116,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,114,114,111,114,115,32,97,110,100,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103>>]},<<32,102,111,114,32,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46,32,69,120,97,109,112,108,101,58>>]},{p,[],[{code,[],[<<116,101,115,116,46,101,114,108>>]},<<58>>]},{pre,[],[{code,[],[<<45,109,111,100,117,108,101,40,116,101,115,116,41,46,10,45,101,120,112,111,114,116,40,91,101,120,97,109,112,108,101,95,102,117,110,47,50,93,41,46,10,10,101,120,97,109,112,108,101,95,102,117,110,40,65,49,44,32,65,50,41,32,45,62,10,32,32,32,32,101,114,108,97,110,103,58,101,114,114,111,114,40,109,121,95,101,114,114,111,114,44,32,91,65,49,44,32,65,50,93,41,46>>]}]},{p,[],[<<69,114,108,97,110,103,32,115,104,101,108,108,58>>]},{pre,[],[{code,[],[<<54,62,32,99,40,116,101,115,116,41,46,10,123,111,107,44,116,101,115,116,125,10,55,62,32,116,101,115,116,58,101,120,97,109,112,108,101,95,102,117,110,40,97,114,103,49,44,34,116,104,105,115,32,105,115,32,116,104,101,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,34,41,46,10,42,42,32,101,120,99,101,112,116,105,111,110,32,101,114,114,111,114,58,32,109,121,95,101,114,114,111,114,10,32,32,32,32,32,105,110,32,102,117,110,99,116,105,111,110,32,32,116,101,115,116,58,101,120,97,109,112,108,101,95,102,117,110,47,50,10,32,32,32,32,32,32,32,32,32,99,97,108,108,101,100,32,97,115,32,116,101,115,116,58,101,120,97,109,112,108,101,95,102,117,110,40,97,114,103,49,44,34,116,104,105,115,32,105,115,32,116,104,101,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,34,41,10,32>>]}]}]},#{signature => [{attribute,{1095,2},spec,{{error,2},[{type,{1095,12},bounded_fun,[{type,{1095,12},'fun',[{type,{1095,12},product,[{var,{1095,13},'Reason'},{var,{1095,21},'Args'}]},{type,{1095,30},no_return,[]}]},[{type,{1096,7},constraint,[{atom,{1096,7},is_subtype},[{var,{1096,7},'Reason'},{type,{1096,17},term,[]}]]},{type,{1097,7},constraint,[{atom,{1097,7},is_subtype},[{var,{1097,7},'Args'},{type,{1097,15},union,[{type,{1097,15},list,[{type,{1097,16},term,[]}]},{atom,{1097,26},none}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,49,48,54>>}},{{function,error,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1103}],[<<101,114,114,111,114,47,51>>],#{<<101,110>> => [{p,[],[<<82,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,111,102,32,99,108,97,115,115,32>>,{code,[],[<<101,114,114,111,114>>]},<<32,119,105,116,104,32,116,104,101,32,114,101,97,115,111,110,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<46,32>>,{code,[],[<<65,114,103,115>>]},<<32,105,115,32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,116,104,101,32,108,105,115,116,32,111,102,32,97,114,103,117,109,101,110,116,115,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<110,111,110,101>>]},<<46,32,73,102,32,105,116,32,105,115,32,97,32,108,105,115,116,44,32,105,116,32,105,115,32,117,115,101,100,32,116,111,32,112,114,111,118,105,100,101,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,105,110,32,116,104,101,32,115,116,97,99,107,32,98,97,99,107,45,116,114,97,99,101,46,32,73,102,32,105,116,32,105,115,32>>,{code,[],[<<110,111,110,101>>]},<<44,32,116,104,101,32,97,114,105,116,121,32,111,102,32,116,104,101,32,99,97,108,108,105,110,103,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,100,32,105,110,32,116,104,101,32,115,116,97,99,107,116,114,97,99,101,46,32,65,115,32,101,118,97,108,117,97,116,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,99,97,117,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,116,111,32,98,101,32,114,97,105,115,101,100,44,32,105,116,32,104,97,115,32,110,111,32,114,101,116,117,114,110,32,118,97,108,117,101,46>>]},{p,[],[<<73,102,32,116,104,101,32>>,{code,[],[<<101,114,114,111,114,95,105,110,102,111>>]},<<32,111,112,116,105,111,110,32,105,115,32,103,105,118,101,110,44,32,116,104,101,32>>,{code,[],[<<69,114,114,111,114,73,110,102,111,77,97,112>>]},<<32,119,105,108,108,32,98,101,32,105,110,115,101,114,116,101,100,32,105,110,116,111,32,116,104,101,32,115,116,97,99,107,116,114,97,99,101,46,32,84,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,103,105,118,101,110,32,105,110,32,116,104,101,32>>,{code,[],[<<69,114,114,111,114,73,110,102,111,77,97,112>>]},<<32,105,115,32,116,111,32,98,101,32,117,115,101,100,32,98,121,32,101,114,114,111,114,32,102,111,114,109,97,116,116,101,114,115,32,115,117,99,104,32,97,115,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,114,108,95,101,114,114,111,114,35,102,111,114,109,97,116,95,101,120,99,101,112,116,105,111,110,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,95,101,114,114,111,114>>]}]},<<32,116,111,32,112,114,111,118,105,100,101,32,109,111,114,101,32,99,111,110,116,101,120,116,32,97,114,111,117,110,100,32,97,110,32,101,114,114,111,114,46>>]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,32>>,{code,[],[<<109,111,100,117,108,101>>]},<<32,111,102,32,116,104,101,32>>,{code,[],[<<69,114,114,111,114,73,110,102,111,77,97,112>>]},<<32,105,115,32,116,104,101,32,109,111,100,117,108,101,32,116,104,97,116,32,116,104,101,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,114,114,111,114,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,114,111,114,47,51>>]}]},<<32,105,115,32,109,97,100,101,46,32,84,104,101,32,100,101,102,97,117,108,116,32>>,{code,[],[<<102,117,110,99,116,105,111,110>>]},<<32,105,115,32>>,{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114>>]},<<46,32,83,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,114,108,95,101,114,114,111,114,35,102,111,114,109,97,116,95,101,114,114,111,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,50>>]}]},<<32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,32,111,110,32,104,111,119,32,116,104,105,115,32,77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,47,50,32,105,115,32,116,111,32,98,101,32,117,115,101,100>>]},{p,[],[<<84,104,101,32,105,110,116,101,110,116,32,111,102,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,99,108,97,115,115,32>>,{code,[],[<<101,114,114,111,114>>]},<<32,105,115,32,116,111,32,115,105,103,110,97,108,32,116,104,97,116,32,97,110,32,117,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,32,104,97,115,32,104,97,112,112,101,110,101,100,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,97,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,32,119,105,116,104,32,97,32,112,97,114,97,109,101,116,101,114,32,116,104,97,116,32,104,97,115,32,97,110,32,105,110,99,111,114,114,101,99,116,32,116,121,112,101,41,46,32,83,101,101,32,116,104,101,32,103,117,105,100,101,32,97,98,111,117,116,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,114,114,111,114,115,32,97,110,100,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103>>]},<<32,102,111,114,32,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46>>]}]},#{signature => [{attribute,{1103,2},spec,{{error,3},[{type,{1103,12},bounded_fun,[{type,{1103,12},'fun',[{type,{1103,12},product,[{var,{1103,13},'Reason'},{var,{1103,21},'Args'},{var,{1103,27},'Options'}]},{type,{1103,39},no_return,[]}]},[{type,{1104,7},constraint,[{atom,{1104,7},is_subtype},[{var,{1104,7},'Reason'},{type,{1104,17},term,[]}]]},{type,{1105,7},constraint,[{atom,{1105,7},is_subtype},[{var,{1105,7},'Args'},{type,{1105,15},union,[{type,{1105,15},list,[{type,{1105,16},term,[]}]},{atom,{1105,26},none}]}]]},{type,{1106,7},constraint,[{atom,{1106,7},is_subtype},[{var,{1106,7},'Options'},{type,{1106,18},list,[{var,{1106,19},'Option'}]}]]},{type,{1107,7},constraint,[{atom,{1107,7},is_subtype},[{var,{1107,7},'Option'},{type,{1107,17},tuple,[{atom,{1107,18},error_info},{var,{1107,32},'ErrorInfoMap'}]}]]},{type,{1108,7},constraint,[{atom,{1108,7},is_subtype},[{var,{1108,7},'ErrorInfoMap'},{type,{1108,23},map,[{type,{1108,33},map_field_assoc,[{atom,{1108,25},cause},{type,{1108,36},term,[]}]},{type,{1109,34},map_field_assoc,[{atom,{1109,25},module},{type,{1109,37},module,[]}]},{type,{1110,36},map_field_assoc,[{atom,{1110,25},function},{type,{1110,39},atom,[]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,49,52,51>>,since => <<79,84,80,32,50,52,46,48>>}},{{function,exit,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1116}],[<<101,120,105,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,111,102,32,99,108,97,115,115,32>>,{code,[],[<<101,120,105,116>>]},<<32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<46,32,65,115,32,101,118,97,108,117,97,116,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,99,97,117,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,116,111,32,98,101,32,114,97,105,115,101,100,44,32,105,116,32,104,97,115,32,110,111,32,114,101,116,117,114,110,32,118,97,108,117,101,46>>]},{p,[],[<<84,104,101,32,105,110,116,101,110,116,32,111,102,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,99,108,97,115,115,32>>,{code,[],[<<101,120,105,116>>]},<<32,105,115,32,116,104,97,116,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,32,115,104,111,117,108,100,32,98,101,32,115,116,111,112,112,101,100,32,40,102,111,114,32,101,120,97,109,112,108,101,32,119,104,101,110,32,97,32,109,101,115,115,97,103,101,32,116,101,108,108,105,110,103,32,97,32,112,114,111,99,101,115,115,32,116,111,32,115,116,111,112,32,105,115,32,114,101,99,101,105,118,101,100,41,46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,100,105,102,102,101,114,32,102,114,111,109,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,114,111,114,47,49,44,50,44,51>>]}]},<<32,98,121,32,99,97,117,115,105,110,103,32,97,110,32,101,120,99,101,112,116,105,111,110,32,111,102,32,97,32,100,105,102,102,101,114,101,110,116,32,99,108,97,115,115,32,97,110,100,32,98,121,32,104,97,118,105,110,103,32,97,32,114,101,97,115,111,110,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,105,110,99,108,117,100,101,32,116,104,101,32,108,105,115,116,32,111,102,32,102,117,110,99,116,105,111,110,115,32,102,114,111,109,32,116,104,101,32,99,97,108,108,32,115,116,97,99,107,46>>]},{p,[],[<<83,101,101,32,116,104,101,32,103,117,105,100,101,32,97,98,111,117,116,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,114,114,111,114,115,32,97,110,100,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103>>]},<<32,102,111,114,32,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46>>]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,120,105,116,40,102,111,111,98,97,114,41,46,10,42,42,32,101,120,99,101,112,116,105,111,110,32,101,120,105,116,58,32,102,111,111,98,97,114,10,62,32,99,97,116,99,104,32,101,120,105,116,40,102,111,111,98,97,114,41,46,10,123,39,69,88,73,84,39,44,102,111,111,98,97,114,125>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,102,32,97,32,112,114,111,99,101,115,115,32,99,97,108,108,115,32>>,{code,[],[<<101,120,105,116,40,107,105,108,108,41>>]},<<32,97,110,100,32,100,111,101,115,32,110,111,116,32,99,97,116,99,104,32,116,104,101,32,101,120,99,101,112,116,105,111,110,44,32,105,116,32,119,105,108,108,32,116,101,114,109,105,110,97,116,101,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<107,105,108,108>>]},<<32,97,110,100,32,97,108,115,111,32,101,109,105,116,32,101,120,105,116,32,115,105,103,110,97,108,115,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<107,105,108,108>>]},<<32,40,110,111,116,32>>,{code,[],[<<107,105,108,108,101,100>>]},<<41,32,116,111,32,97,108,108,32,108,105,110,107,101,100,32,112,114,111,99,101,115,115,101,115,46,32,83,117,99,104,32,101,120,105,116,32,115,105,103,110,97,108,115,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<107,105,108,108>>]},<<32,99,97,110,32,98,101,32,116,114,97,112,112,101,100,32,98,121,32,116,104,101,32,108,105,110,107,101,100,32,112,114,111,99,101,115,115,101,115,46,32,78,111,116,101,32,116,104,97,116,32,116,104,105,115,32,109,101,97,110,115,32,116,104,97,116,32,115,105,103,110,97,108,115,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<107,105,108,108>>]},<<32,98,101,104,97,118,101,32,100,105,102,102,101,114,101,110,116,108,121,32,100,101,112,101,110,100,105,110,103,32,111,110,32,104,111,119,32,116,104,101,121,32,97,114,101,32,115,101,110,116,32,98,101,99,97,117,115,101,32,116,104,101,32,115,105,103,110,97,108,32,119,105,108,108,32,98,101,32,117,110,116,114,97,112,112,97,98,108,101,32,105,102,32,97,32,112,114,111,99,101,115,115,32,115,101,110,100,115,32,115,117,99,104,32,97,32,115,105,103,110,97,108,32,116,111,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,105,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,47,50>>]}]},<<46>>]}]}]},#{signature => [{attribute,{1116,2},spec,{{exit,1},[{type,{1116,11},bounded_fun,[{type,{1116,11},'fun',[{type,{1116,11},product,[{var,{1116,12},'Reason'}]},{type,{1116,23},no_return,[]}]},[{type,{1117,7},constraint,[{atom,{1117,7},is_subtype},[{var,{1117,7},'Reason'},{type,{1117,17},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,49,55,50>>}},{{function,exit,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1122}],[<<101,120,105,116,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,110,100,115,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,98,101,104,97,118,105,111,114,32,97,112,112,108,105,101,115,32,105,102,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<32,105,115,32,97,110,121,32,116,101,114,109,44,32,101,120,99,101,112,116,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,111,114,32>>,{code,[],[<<107,105,108,108>>]},<<44,32,97,110,100,32>>,{code,[],[<<80>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<58>>]},{ul,[],[{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<80>>]},<<32,105,115,32,110,111,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<116,114,97,112,112,105,110,103,32,101,120,105,116,115>>]},<<44,32>>,{code,[],[<<80>>]},<<32,101,120,105,116,115,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<46>>]}]},{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<80>>]},<<32,105,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<116,114,97,112,112,105,110,103,32,101,120,105,116,115>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,105,115,32,116,114,97,110,115,102,111,114,109,101,100,32,105,110,116,111,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,39,69,88,73,84,39,44,32,70,114,111,109,44,32,82,101,97,115,111,110,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<70,114,111,109>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,115,101,110,116,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,44,32,97,110,100,32,100,101,108,105,118,101,114,101,100,32,116,111,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,111,102,32>>,{code,[],[<<80>>]},<<46>>]}]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,98,101,104,97,118,105,111,114,32,97,112,112,108,105,101,115,32,105,102,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<32,105,115,32,116,104,101,32,116,101,114,109,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,97,110,100,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80>>]},<<32,119,104,105,99,104,32,105,115,32,110,111,116,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,105,110,118,111,107,101,100,32>>,{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,40,80,105,100,44,32,110,111,114,109,97,108,41>>]},<<32,40,116,104,101,32,98,101,104,97,118,105,111,114,32,119,104,101,110,32,97,32,112,114,111,99,101,115,115,32,115,101,110,100,115,32,97,32,115,105,103,110,97,108,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,114,101,97,115,111,110,32,116,111,32,105,116,115,101,108,102,32,105,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,119,97,114,110,105,110,103,41,58>>]},{ul,[],[{li,[],[<<73,102,32>>,{code,[],[<<80>>]},<<32,105,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<116,114,97,112,112,105,110,103,32,101,120,105,116,115>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,105,115,32,116,114,97,110,115,102,111,114,109,101,100,32,105,110,116,111,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,39,69,88,73,84,39,44,32,70,114,111,109,44,32,110,111,114,109,97,108,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<70,114,111,109>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,115,101,110,116,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,44,32,97,110,100,32,100,101,108,105,118,101,114,101,100,32,116,111,32>>,{code,[],[<<80>>]},<<39,115,32,109,101,115,115,97,103,101,32,113,117,101,117,101,46>>]},{li,[],[<<84,104,101,32,115,105,103,110,97,108,32,104,97,115,32,110,111,32,101,102,102,101,99,116,32,105,102,32>>,{code,[],[<<80>>]},<<32,105,115,32,110,111,116,32,116,114,97,112,112,105,110,103,32,101,120,105,116,115,46>>]}]},{p,[],[<<73,102,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<32,105,115,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<107,105,108,108>>]},<<44,32,116,104,97,116,32,105,115,44,32,105,102,32>>,{code,[],[<<101,120,105,116,40,80,105,100,44,32,107,105,108,108,41>>]},<<32,105,115,32,99,97,108,108,101,100,44,32,97,110,32,117,110,116,114,97,112,112,97,98,108,101,32,101,120,105,116,32,115,105,103,110,97,108,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,105,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<44,32,119,104,105,99,104,32,117,110,99,111,110,100,105,116,105,111,110,97,108,108,121,32,101,120,105,116,115,32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<107,105,108,108,101,100>>]},<<46,32,84,104,101,32,101,120,105,116,32,114,101,97,115,111,110,32,105,115,32,99,104,97,110,103,101,100,32,102,114,111,109,32>>,{code,[],[<<107,105,108,108>>]},<<32,116,111,32>>,{code,[],[<<107,105,108,108,101,100>>]},<<32,116,111,32,104,105,110,116,32,116,111,32,108,105,110,107,101,100,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,116,104,101,32,107,105,108,108,101,100,32,112,114,111,99,101,115,115,32,103,111,116,32,107,105,108,108,101,100,32,98,121,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<101,120,105,116,40,80,105,100,44,32,107,105,108,108,41>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,105,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,47,49>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,105,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,47,50>>]}]},<<32,97,114,101,32,110,97,109,101,100,32,115,105,109,105,108,97,114,108,121,32,98,117,116,32,112,114,111,118,105,100,101,32,118,101,114,121,32,100,105,102,102,101,114,101,110,116,32,102,117,110,99,116,105,111,110,97,108,105,116,105,101,115,46,32,84,104,101,32>>,{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,47,49>>]},<<32,102,117,110,99,116,105,111,110,32,115,104,111,117,108,100,32,98,101,32,117,115,101,100,32,119,104,101,110,32,116,104,101,32,105,110,116,101,110,116,32,105,115,32,116,111,32,115,116,111,112,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,32,119,104,105,108,101,32>>,{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,47,50>>]},<<32,115,104,111,117,108,100,32,98,101,32,117,115,101,100,32,119,104,101,110,32,116,104,101,32,105,110,116,101,110,116,32,105,115,32,116,111,32,115,101,110,100,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,116,111,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,46,32,78,111,116,101,32,97,108,115,111,32,116,104,97,116,32>>,{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,47,49>>]},<<32,114,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,116,104,97,116,32,99,97,110,32,98,101,32,99,97,117,103,104,116,32,119,104,105,108,101,32>>,{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,47,50>>]},<<32,100,111,101,115,32,110,111,116,32,99,97,117,115,101,32,97,110,121,32,101,120,99,101,112,116,105,111,110,32,116,111,32,98,101,32,114,97,105,115,101,100,46>>]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,101,32,111,110,108,121,32,115,99,101,110,97,114,105,111,32,116,104,97,116,32,104,97,115,32,110,111,116,32,98,101,101,110,32,99,111,118,101,114,101,100,32,98,121,32,116,104,101,32,100,101,115,99,114,105,112,116,105,111,110,32,97,98,111,118,101,32,105,115,32,119,104,101,110,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80>>]},<<32,115,101,110,100,115,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,116,111,32,105,116,115,101,108,102,44,32,116,104,97,116,32,105,115,32>>,{code,[],[<<101,114,108,97,110,103,58,101,120,105,116,40,115,101,108,102,40,41,44,32,110,111,114,109,97,108,41>>]},<<46,32,84,104,101,32,98,101,104,97,118,105,111,114,32,105,110,32,116,104,105,115,32,115,99,101,110,97,114,105,111,32,105,115,32,97,115,32,102,111,108,108,111,119,115,58>>]},{ul,[],[{li,[],[<<73,102,32>>,{code,[],[<<80>>]},<<32,105,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<116,114,97,112,112,105,110,103,32,101,120,105,116,115>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,105,115,32,116,114,97,110,115,102,111,114,109,101,100,32,105,110,116,111,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,39,69,88,73,84,39,44,32,70,114,111,109,44,32,110,111,114,109,97,108,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<70,114,111,109>>]},<<32,105,115,32>>,{code,[],[<<80>>]},<<39,115,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,44,32,97,110,100,32,100,101,108,105,118,101,114,101,100,32,116,111,32>>,{code,[],[<<80>>]},<<39,115,32,109,101,115,115,97,103,101,32,113,117,101,117,101,46>>]},{li,[],[{code,[],[<<80>>]},<<32,101,120,105,116,115,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,105,102,32>>,{code,[],[<<80>>]},<<32,105,115,32,110,111,116,32,116,114,97,112,112,105,110,103,32,101,120,105,116,115,46>>]}]},{p,[],[<<78,111,116,101,32,116,104,97,116,32,116,104,101,32,98,101,104,97,118,105,111,114,32,100,101,115,99,114,105,98,101,100,32,97,98,111,118,101,32,105,115,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,119,104,101,110,32,97,32,112,114,111,99,101,115,115,32,115,101,110,100,115,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,116,111,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,105,115,32,97,114,103,117,97,98,108,121,32,115,116,114,97,110,103,101,32,98,117,116,32,116,104,105,115,32,98,101,104,97,118,105,111,114,32,105,115,32,107,101,112,116,32,102,111,114,32,98,97,99,107,119,97,114,100,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,114,101,97,115,111,110,115,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<70,111,114,32,115,111,109,101,32,105,109,112,111,114,116,97,110,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,100,105,115,116,114,105,98,117,116,101,100,32,115,105,103,110,97,108,115,44,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,98,108,111,99,107,105,110,103,45,115,105,103,110,97,108,105,110,103,45,111,118,101,114,45,100,105,115,116,114,105,98,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<66,108,111,99,107,105,110,103,32,83,105,103,110,97,108,105,110,103,32,79,118,101,114,32,68,105,115,116,114,105,98,117,116,105,111,110>>]}]},<<32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32>>,{i,[],[<<80,114,111,99,101,115,115,101,115>>]},<<32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]}]},#{signature => [{attribute,{1122,2},spec,{{exit,2},[{type,{1122,11},bounded_fun,[{type,{1122,11},'fun',[{type,{1122,11},product,[{var,{1122,12},'Pid'},{var,{1122,17},'Reason'}]},{atom,{1122,28},true}]},[{type,{1123,7},constraint,[{atom,{1123,7},is_subtype},[{var,{1123,7},'Pid'},{type,{1123,14},union,[{type,{1123,14},pid,[]},{type,{1123,22},port,[]}]}]]},{type,{1124,7},constraint,[{atom,{1124,7},is_subtype},[{var,{1124,7},'Reason'},{type,{1124,17},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,50,49,52>>}},{{function,external_size,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1136}],[<<101,120,116,101,114,110,97,108,95,115,105,122,101,47,49>>],#{<<101,110>> => [{p,[],[<<67,97,108,99,117,108,97,116,101,115,44,32,119,105,116,104,111,117,116,32,100,111,105,110,103,32,116,104,101,32,101,110,99,111,100,105,110,103,44,32,116,104,101,32,109,97,120,105,109,117,109,32,98,121,116,101,32,115,105,122,101,32,102,111,114,32,97,32,116,101,114,109,32,101,110,99,111,100,101,100,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,110,100,105,116,105,111,110,32,97,112,112,108,105,101,115,32,97,108,119,97,121,115,58>>]},{pre,[],[{code,[],[<<62,32,83,105,122,101,49,32,61,32,98,121,116,101,95,115,105,122,101,40,116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,84,101,114,109,41,41,44,10,62,32,83,105,122,101,50,32,61,32,101,114,108,97,110,103,58,101,120,116,101,114,110,97,108,95,115,105,122,101,40,84,101,114,109,41,44,10,62,32,116,114,117,101,32,61,32,83,105,122,101,49,32,61,60,32,83,105,122,101,50,46,10,116,114,117,101>>]}]},{p,[],[<<84,104,105,115,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,97,32,99,97,108,108,32,116,111,58>>]},{pre,[],[{code,[],[<<101,114,108,97,110,103,58,101,120,116,101,114,110,97,108,95,115,105,122,101,40,84,101,114,109,44,32,91,93,41>>]}]}]},#{signature => [{attribute,{1136,2},spec,{{erlang,external_size,1},[{type,{1136,27},bounded_fun,[{type,{1136,27},'fun',[{type,{1136,27},product,[{var,{1136,28},'Term'}]},{type,{1136,37},non_neg_integer,[]}]},[{type,{1137,7},constraint,[{atom,{1137,7},is_subtype},[{var,{1137,7},'Term'},{type,{1137,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,51,48,54>>,since => <<79,84,80,32,82,49,52,66,48,52>>}},{{function,external_size,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1142}],[<<101,120,116,101,114,110,97,108,95,115,105,122,101,47,50>>],#{<<101,110>> => [{p,[],[<<67,97,108,99,117,108,97,116,101,115,44,32,119,105,116,104,111,117,116,32,100,111,105,110,103,32,116,104,101,32,101,110,99,111,100,105,110,103,44,32,116,104,101,32,109,97,120,105,109,117,109,32,98,121,116,101,32,115,105,122,101,32,102,111,114,32,97,32,116,101,114,109,32,101,110,99,111,100,101,100,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,111,110,100,105,116,105,111,110,32,97,112,112,108,105,101,115,32,97,108,119,97,121,115,58>>]},{pre,[],[{code,[],[<<62,32,83,105,122,101,49,32,61,32,98,121,116,101,95,115,105,122,101,40,116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,84,101,114,109,44,32,79,112,116,105,111,110,115,41,41,44,10,62,32,83,105,122,101,50,32,61,32,101,114,108,97,110,103,58,101,120,116,101,114,110,97,108,95,115,105,122,101,40,84,101,114,109,44,32,79,112,116,105,111,110,115,41,44,10,62,32,116,114,117,101,32,61,32,83,105,122,101,49,32,61,60,32,83,105,122,101,50,46,10,116,114,117,101>>]}]},{p,[],[<<79,112,116,105,111,110,32>>,{code,[],[<<123,109,105,110,111,114,95,118,101,114,115,105,111,110,44,32,86,101,114,115,105,111,110,125>>]},<<32,115,112,101,99,105,102,105,101,115,32,104,111,119,32,102,108,111,97,116,115,32,97,114,101,32,101,110,99,111,100,101,100,46,32,70,111,114,32,97,32,100,101,116,97,105,108,101,100,32,100,101,115,99,114,105,112,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{1142,2},spec,{{erlang,external_size,2},[{type,{1142,27},bounded_fun,[{type,{1142,27},'fun',[{type,{1142,27},product,[{var,{1142,28},'Term'},{var,{1142,34},'Options'}]},{type,{1142,46},non_neg_integer,[]}]},[{type,{1143,7},constraint,[{atom,{1143,7},is_subtype},[{var,{1143,7},'Term'},{type,{1143,15},term,[]}]]},{type,{1144,7},constraint,[{atom,{1144,7},is_subtype},[{var,{1144,7},'Options'},{type,{1144,18},list,[{type,{1144,19},union,[{atom,{1144,19},compressed},{type,{1145,10},tuple,[{atom,{1145,11},compressed},{ann_type,{1145,23},[{var,{1145,23},'Level'},{type,{1145,32},range,[{integer,{1145,32},0},{integer,{1145,35},9}]}]}]},{atom,{1146,10},deterministic},{type,{1147,10},tuple,[{atom,{1147,11},minor_version},{ann_type,{1147,26},[{var,{1147,26},'Version'},{type,{1147,37},range,[{integer,{1147,37},0},{integer,{1147,40},2}]}]}]},{atom,{1148,10},local}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,51,50,53>>,since => <<79,84,80,32,82,49,52,66,48,52>>}},{{function,float,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1170}],[<<102,108,111,97,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,102,108,111,97,116,32,98,121,32,99,111,110,118,101,114,116,105,110,103,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<32,116,111,32,97,32,102,108,111,97,116,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,102,108,111,97,116,40,53,53,41,46,10,53,53,46,48>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,102,32,117,115,101,100,32,111,110,32,116,104,101,32,116,111,112,32,108,101,118,101,108,32,105,110,32,97,32,103,117,97,114,100,44,32,105,116,32,116,101,115,116,115,32,119,104,101,116,104,101,114,32,116,104,101,32,97,114,103,117,109,101,110,116,32,105,115,32,97,32,102,108,111,97,116,105,110,103,32,112,111,105,110,116,32,110,117,109,98,101,114,59,32,102,111,114,32,99,108,97,114,105,116,121,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,105,115,95,102,108,111,97,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,115,95,102,108,111,97,116,47,49>>]}]},<<32,105,110,115,116,101,97,100,46>>]},{p,[],[<<87,104,101,110,32>>,{code,[],[<<102,108,111,97,116,47,49>>]},<<32,105,115,32,117,115,101,100,32,105,110,32,97,110,32,101,120,112,114,101,115,115,105,111,110,32,105,110,32,97,32,103,117,97,114,100,44,32,115,117,99,104,32,97,115,32,39>>,{code,[],[<<102,108,111,97,116,40,65,41,32,61,61,32,52,46,48>>]},<<39,44,32,105,116,32,99,111,110,118,101,114,116,115,32,97,32,110,117,109,98,101,114,32,97,115,32,100,101,115,99,114,105,98,101,100,32,101,97,114,108,105,101,114,46>>]}]}]},#{signature => [{attribute,{1170,2},spec,{{float,1},[{type,{1170,12},bounded_fun,[{type,{1170,12},'fun',[{type,{1170,12},product,[{var,{1170,13},'Number'}]},{type,{1170,24},float,[]}]},[{type,{1171,7},constraint,[{atom,{1171,7},is_subtype},[{var,{1171,7},'Number'},{type,{1171,17},number,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,51,52,53>>}},{{function,float_to_binary,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1176}],[<<102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,70,108,111,97,116,44,91,123,115,99,105,101,110,116,105,102,105,99,44,50,48,125,93,41>>]},<<46>>]}]},#{signature => [{attribute,{1176,2},spec,{{float_to_binary,1},[{type,{1176,22},bounded_fun,[{type,{1176,22},'fun',[{type,{1176,22},product,[{var,{1176,23},'Float'}]},{type,{1176,33},binary,[]}]},[{type,{1177,7},constraint,[{atom,{1177,7},is_subtype},[{var,{1177,7},'Float'},{type,{1177,16},float,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,51,54,55>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,float_to_binary,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1182}],[<<102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,108,111,97,116>>]},<<32,117,115,105,110,103,32,102,105,120,101,100,32,100,101,99,105,109,97,108,32,112,111,105,110,116,32,102,111,114,109,97,116,116,105,110,103,46,32>>,{code,[],[<<79,112,116,105,111,110,115>>]},<<32,98,101,104,97,118,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,119,97,121,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,102,108,111,97,116,95,116,111,95,108,105,115,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,108,111,97,116,95,116,111,95,108,105,115,116,47,50>>]}]},<<46,32,69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,55,46,49,50,44,32,91,123,100,101,99,105,109,97,108,115,44,32,52,125,93,41,46,10,60,60,34,55,46,49,50,48,48,34,62,62,10,62,32,102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,55,46,49,50,44,32,91,123,100,101,99,105,109,97,108,115,44,32,52,125,44,32,99,111,109,112,97,99,116,93,41,46,10,60,60,34,55,46,49,50,34,62,62,10,62,32,102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,55,46,49,50,44,32,91,123,115,99,105,101,110,116,105,102,105,99,44,32,51,125,93,41,46,10,60,60,34,55,46,49,50,48,101,43,48,48,34,62,62,10,62,32,102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,55,46,49,50,44,32,91,115,104,111,114,116,93,41,46,10,60,60,34,55,46,49,50,34,62,62,10,62,32,102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,48,46,49,43,48,46,50,44,32,91,115,104,111,114,116,93,41,46,10,60,60,34,48,46,51,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,34,62,62,10,62,32,102,108,111,97,116,95,116,111,95,98,105,110,97,114,121,40,48,46,49,43,48,46,50,41,10,60,60,34,51,46,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,52,52,48,57,101,45,48,49,34,62,62>>]}]}]},#{signature => [{attribute,{1182,2},spec,{{float_to_binary,2},[{type,{1182,22},bounded_fun,[{type,{1182,22},'fun',[{type,{1182,22},product,[{var,{1182,23},'Float'},{var,{1182,30},'Options'}]},{type,{1182,42},binary,[]}]},[{type,{1183,7},constraint,[{atom,{1183,7},is_subtype},[{var,{1183,7},'Float'},{type,{1183,16},float,[]}]]},{type,{1184,7},constraint,[{atom,{1184,7},is_subtype},[{var,{1184,7},'Options'},{type,{1184,18},list,[{var,{1184,19},'Option'}]}]]},{type,{1185,7},constraint,[{atom,{1185,7},is_subtype},[{var,{1185,7},'Option'},{type,{1185,18},union,[{type,{1185,18},tuple,[{atom,{1185,19},decimals},{ann_type,{1185,29},[{var,{1185,29},'Decimals'},{type,{1185,41},range,[{integer,{1185,41},0},{integer,{1185,44},253}]}]}]},{type,{1186,18},tuple,[{atom,{1186,19},scientific},{ann_type,{1186,31},[{var,{1186,31},'Decimals'},{type,{1186,43},range,[{integer,{1186,43},0},{integer,{1186,46},249}]}]}]},{atom,{1187,18},compact},{atom,{1188,18},short}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,51,55,54>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,float_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1193}],[<<102,108,111,97,116,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<102,108,111,97,116,95,116,111,95,108,105,115,116,40,70,108,111,97,116,44,91,123,115,99,105,101,110,116,105,102,105,99,44,50,48,125,93,41>>]},<<46>>]}]},#{signature => [{attribute,{1193,2},spec,{{float_to_list,1},[{type,{1193,20},bounded_fun,[{type,{1193,20},'fun',[{type,{1193,20},product,[{var,{1193,21},'Float'}]},{type,{1193,31},string,[]}]},[{type,{1194,7},constraint,[{atom,{1194,7},is_subtype},[{var,{1194,7},'Float'},{type,{1194,16},float,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,52,48,51>>}},{{function,float_to_list,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1199}],[<<102,108,111,97,116,95,116,111,95,108,105,115,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,108,111,97,116>>]},<<32,117,115,105,110,103,32,102,105,120,101,100,32,100,101,99,105,109,97,108,32,112,111,105,110,116,32,102,111,114,109,97,116,116,105,110,103,46>>]},{p,[],[<<65,118,97,105,108,97,98,108,101,32,111,112,116,105,111,110,115,58>>]},{ul,[],[{li,[],[{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<100,101,99,105,109,97,108,115>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,99,111,110,116,97,105,110,115,32,97,116,32,109,111,115,116,32>>,{code,[],[<<68,101,99,105,109,97,108,115>>]},<<32,110,117,109,98,101,114,32,111,102,32,100,105,103,105,116,115,32,112,97,115,116,32,116,104,101,32,100,101,99,105,109,97,108,32,112,111,105,110,116,46,32,73,102,32,116,104,101,32,110,117,109,98,101,114,32,100,111,101,115,32,110,111,116,32,102,105,116,32,105,110,32,116,104,101,32,105,110,116,101,114,110,97,108,32,115,116,97,116,105,99,32,98,117,102,102,101,114,32,111,102,32,50,53,54,32,98,121,116,101,115,44,32,116,104,101,32,102,117,110,99,116,105,111,110,32,116,104,114,111,119,115,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<46>>]}]},{li,[],[{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<99,111,109,112,97,99,116>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,116,114,97,105,108,105,110,103,32,122,101,114,111,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,108,105,115,116,32,97,114,101,32,116,114,117,110,99,97,116,101,100,46,32,84,104,105,115,32,111,112,116,105,111,110,32,105,115,32,111,110,108,121,32,109,101,97,110,105,110,103,102,117,108,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<100,101,99,105,109,97,108,115>>]},<<46>>]}]},{li,[],[{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<115,99,105,101,110,116,105,102,105,99>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,102,108,111,97,116,32,105,115,32,102,111,114,109,97,116,116,101,100,32,117,115,105,110,103,32,115,99,105,101,110,116,105,102,105,99,32,110,111,116,97,116,105,111,110,32,119,105,116,104,32>>,{code,[],[<<68,101,99,105,109,97,108,115>>]},<<32,100,105,103,105,116,115,32,111,102,32,112,114,101,99,105,115,105,111,110,46>>]}]},{li,[],[{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<115,104,111,114,116>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,102,108,111,97,116,32,105,115,32,102,111,114,109,97,116,116,101,100,32,119,105,116,104,32,116,104,101,32,115,109,97,108,108,101,115,116,32,110,117,109,98,101,114,32,111,102,32,100,105,103,105,116,115,32,116,104,97,116,32,115,116,105,108,108,32,103,117,97,114,97,110,116,101,101,115,32,116,104,97,116,32>>,{code,[],[<<70,32,61,58,61,32,108,105,115,116,95,116,111,95,102,108,111,97,116,40,102,108,111,97,116,95,116,111,95,108,105,115,116,40,70,44,32,91,115,104,111,114,116,93,41,41>>]},<<46,32,87,104,101,110,32,116,104,101,32,102,108,111,97,116,32,105,115,32,105,110,115,105,100,101,32,116,104,101,32,114,97,110,103,101,32,40,45,50,226,129,181,194,179,44,32,50,226,129,181,194,179,41,44,32,116,104,101,32,110,111,116,97,116,105,111,110,32,116,104,97,116,32,121,105,101,108,100,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,110,117,109,98,101,114,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,105,115,32,117,115,101,100,32,40,115,99,105,101,110,116,105,102,105,99,32,110,111,116,97,116,105,111,110,32,111,114,32,110,111,114,109,97,108,32,100,101,99,105,109,97,108,32,110,111,116,97,116,105,111,110,41,46,32,70,108,111,97,116,115,32,111,117,116,115,105,100,101,32,116,104,101,32,114,97,110,103,101,32,40,45,50,226,129,181,194,179,44,32,50,226,129,181,194,179,41,32,97,114,101,32,97,108,119,97,121,115,32,102,111,114,109,97,116,116,101,100,32,117,115,105,110,103,32,115,99,105,101,110,116,105,102,105,99,32,110,111,116,97,116,105,111,110,32,116,111,32,97,118,111,105,100,32,99,111,110,102,117,115,105,110,103,32,114,101,115,117,108,116,115,32,119,104,101,110,32,100,111,105,110,103,32,97,114,105,116,104,109,101,116,105,99,32,111,112,101,114,97,116,105,111,110,115,46>>]}]},{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<79,112,116,105,111,110,115>>]},<<32,105,115,32>>,{code,[],[<<91,93>>]},<<44,32,116,104,101,32,102,117,110,99,116,105,111,110,32,98,101,104,97,118,101,115,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,102,108,111,97,116,95,116,111,95,108,105,115,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,108,111,97,116,95,116,111,95,108,105,115,116,47,49>>]}]},<<46>>]}]}]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,102,108,111,97,116,95,116,111,95,108,105,115,116,40,55,46,49,50,44,32,91,123,100,101,99,105,109,97,108,115,44,32,52,125,93,41,46,10,34,55,46,49,50,48,48,34,10,62,32,102,108,111,97,116,95,116,111,95,108,105,115,116,40,55,46,49,50,44,32,91,123,100,101,99,105,109,97,108,115,44,32,52,125,44,32,99,111,109,112,97,99,116,93,41,46,10,34,55,46,49,50,34,10,62,32,102,108,111,97,116,95,116,111,95,108,105,115,116,40,55,46,49,50,44,32,91,123,115,99,105,101,110,116,105,102,105,99,44,32,51,125,93,41,46,10,34,55,46,49,50,48,101,43,48,48,34,10,62,32,102,108,111,97,116,95,116,111,95,108,105,115,116,40,55,46,49,50,44,32,91,115,104,111,114,116,93,41,46,10,34,55,46,49,50,34,10,62,32,102,108,111,97,116,95,116,111,95,108,105,115,116,40,48,46,49,43,48,46,50,44,32,91,115,104,111,114,116,93,41,46,10,34,48,46,51,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,34,10,62,32,102,108,111,97,116,95,116,111,95,108,105,115,116,40,48,46,49,43,48,46,50,41,10,34,51,46,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,52,52,48,57,101,45,48,49,34>>]}]},{p,[],[<<73,110,32,116,104,101,32,108,97,115,116,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<102,108,111,97,116,95,116,111,95,108,105,115,116,40,48,46,49,43,48,46,50,41>>]},<<32,101,118,97,108,117,97,116,101,115,32,116,111,32>>,{code,[],[<<34,51,46,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,52,52,48,57,101,45,48,49,34>>]},<<46,32,84,104,101,32,114,101,97,115,111,110,32,102,111,114,32,116,104,105,115,32,105,115,32,101,120,112,108,97,105,110,101,100,32,105,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,102,108,111,97,116,95,114,101,112,114,101,115,101,110,116,97,116,105,111,110,95,112,114,111,98,108,101,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<82,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,70,108,111,97,116,105,110,103,32,80,111,105,110,116,32,78,117,109,98,101,114,115>>]},<<46>>]}]},#{signature => [{attribute,{1199,2},spec,{{float_to_list,2},[{type,{1199,20},bounded_fun,[{type,{1199,20},'fun',[{type,{1199,20},product,[{var,{1199,21},'Float'},{var,{1199,28},'Options'}]},{type,{1199,40},string,[]}]},[{type,{1200,7},constraint,[{atom,{1200,7},is_subtype},[{var,{1200,7},'Float'},{type,{1200,16},float,[]}]]},{type,{1201,7},constraint,[{atom,{1201,7},is_subtype},[{var,{1201,7},'Options'},{type,{1201,18},list,[{var,{1201,19},'Option'}]}]]},{type,{1202,7},constraint,[{atom,{1202,7},is_subtype},[{var,{1202,7},'Option'},{type,{1202,18},union,[{type,{1202,18},tuple,[{atom,{1202,19},decimals},{ann_type,{1202,29},[{var,{1202,29},'Decimals'},{type,{1202,41},range,[{integer,{1202,41},0},{integer,{1202,44},253}]}]}]},{type,{1203,18},tuple,[{atom,{1203,19},scientific},{ann_type,{1203,31},[{var,{1203,31},'Decimals'},{type,{1203,43},range,[{integer,{1203,43},0},{integer,{1203,46},249}]}]}]},{atom,{1204,18},compact},{atom,{1205,18},short}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,52,49,50>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,floor,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1211}],[<<102,108,111,111,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,108,97,114,103,101,115,116,32,105,110,116,101,103,101,114,32,110,111,116,32,103,114,101,97,116,101,114,32,116,104,97,110,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<46,32,70,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,102,108,111,111,114,40,45,49,48,46,53,41,46,10,45,49,49>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{1211,2},spec,{{floor,1},[{type,{1211,12},bounded_fun,[{type,{1211,12},'fun',[{type,{1211,12},product,[{var,{1211,13},'Number'}]},{type,{1211,24},integer,[]}]},[{type,{1212,7},constraint,[{atom,{1212,7},is_subtype},[{var,{1212,7},'Number'},{type,{1212,17},number,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,52,55,50>>,since => <<79,84,80,32,50,48,46,48>>}},{{function,fun_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3719}],[<<102,117,110,95,105,110,102,111,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,119,105,116,104,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,102,117,110,32>>,{code,[],[<<70,117,110>>]},<<46,32,69,97,99,104,32,108,105,115,116,32,101,108,101,109,101,110,116,32,105,115,32,97,32,116,117,112,108,101,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,116,117,112,108,101,115,32,105,115,32,117,110,100,101,102,105,110,101,100,44,32,97,110,100,32,109,111,114,101,32,116,117,112,108,101,115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,109,97,105,110,108,121,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,44,32,98,117,116,32,105,116,32,99,97,110,32,115,111,109,101,116,105,109,101,115,32,98,101,32,117,115,101,102,117,108,32,105,110,32,108,105,98,114,97,114,121,32,102,117,110,99,116,105,111,110,115,32,116,104,97,116,32,110,101,101,100,32,116,111,32,118,101,114,105,102,121,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,97,114,105,116,121,32,111,102,32,97,32,102,117,110,46>>]}]},{p,[],[<<84,119,111,32,116,121,112,101,115,32,111,102,32,102,117,110,115,32,104,97,118,101,32,115,108,105,103,104,116,108,121,32,100,105,102,102,101,114,101,110,116,32,115,101,109,97,110,116,105,99,115,58>>]},{ul,[],[{li,[],[{p,[],[<<65,32,102,117,110,32,99,114,101,97,116,101,100,32,98,121,32>>,{code,[],[<<102,117,110,32,77,58,70,47,65>>]},<<32,105,115,32,99,97,108,108,101,100,32,97,110,32>>,{em,[],[<<101,120,116,101,114,110,97,108>>]},<<32,102,117,110,46,32,67,97,108,108,105,110,103,32,105,116,32,119,105,108,108,32,97,108,119,97,121,115,32,99,97,108,108,32,116,104,101,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<70>>]},<<32,119,105,116,104,32,97,114,105,116,121,32>>,{code,[],[<<65>>]},<<32,105,110,32,116,104,101,32,108,97,116,101,115,116,32,99,111,100,101,32,102,111,114,32,109,111,100,117,108,101,32>>,{code,[],[<<77>>]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,109,111,100,117,108,101,32>>,{code,[],[<<77>>]},<<32,100,111,101,115,32,110,111,116,32,101,118,101,110,32,110,101,101,100,32,116,111,32,98,101,32,108,111,97,100,101,100,32,119,104,101,110,32,116,104,101,32,102,117,110,32>>,{code,[],[<<102,117,110,32,77,58,70,47,65>>]},<<32,105,115,32,99,114,101,97,116,101,100,46>>]}]},{li,[],[{p,[],[<<65,108,108,32,111,116,104,101,114,32,102,117,110,115,32,97,114,101,32,99,97,108,108,101,100,32>>,{em,[],[<<108,111,99,97,108>>]},<<46,32,87,104,101,110,32,97,32,108,111,99,97,108,32,102,117,110,32,105,115,32,99,97,108,108,101,100,44,32,116,104,101,32,115,97,109,101,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,99,111,100,101,32,116,104,97,116,32,99,114,101,97,116,101,100,32,116,104,101,32,102,117,110,32,105,115,32,99,97,108,108,101,100,32,40,101,118,101,110,32,105,102,32,97,32,110,101,119,101,114,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,109,111,100,117,108,101,32,104,97,115,32,98,101,101,110,32,108,111,97,100,101,100,41,46>>]}]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,101,108,101,109,101,110,116,115,32,97,114,101,32,97,108,119,97,121,115,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,108,105,115,116,32,102,111,114,32,98,111,116,104,32,108,111,99,97,108,32,97,110,100,32,101,120,116,101,114,110,97,108,32,102,117,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,116,121,112,101,44,32,84,121,112,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<84,121,112,101>>]},<<32,105,115,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,111,114,32>>,{code,[],[<<101,120,116,101,114,110,97,108>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,109,111,100,117,108,101,44,32,77,111,100,117,108,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,111,100,117,108,101>>]},<<32,40,97,110,32,97,116,111,109,41,32,105,115,32,116,104,101,32,109,111,100,117,108,101,32,110,97,109,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,32,108,111,99,97,108,32,102,117,110,44,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,105,115,32,116,104,101,32,109,111,100,117,108,101,32,105,110,32,119,104,105,99,104,32,116,104,101,32,102,117,110,32,105,115,32,100,101,102,105,110,101,100,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,110,32,101,120,116,101,114,110,97,108,32,102,117,110,44,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,105,115,32,116,104,101,32,109,111,100,117,108,101,32,116,104,97,116,32,116,104,101,32,102,117,110,32,114,101,102,101,114,115,32,116,111,46>>]}]},{dt,[],[{code,[],[<<123,110,97,109,101,44,32,78,97,109,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<78,97,109,101>>]},<<32,40,97,110,32,97,116,111,109,41,32,105,115,32,97,32,102,117,110,99,116,105,111,110,32,110,97,109,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,32,108,111,99,97,108,32,102,117,110,44,32>>,{code,[],[<<78,97,109,101>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,105,109,112,108,101,109,101,110,116,115,32,116,104,101,32,102,117,110,46,32,40,84,104,105,115,32,110,97,109,101,32,119,97,115,32,103,101,110,101,114,97,116,101,100,32,98,121,32,116,104,101,32,99,111,109,112,105,108,101,114,44,32,97,110,100,32,105,115,32,111,110,108,121,32,111,102,32,105,110,102,111,114,109,97,116,105,111,110,97,108,32,117,115,101,46,32,65,115,32,105,116,32,105,115,32,97,32,108,111,99,97,108,32,102,117,110,99,116,105,111,110,44,32,105,116,32,99,97,110,110,111,116,32,98,101,32,99,97,108,108,101,100,32,100,105,114,101,99,116,108,121,46,41,32,73,102,32,110,111,32,99,111,100,101,32,105,115,32,99,117,114,114,101,110,116,108,121,32,108,111,97,100,101,100,32,102,111,114,32,116,104,101,32,102,117,110,44,32>>,{code,[],[<<91,93>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,32,111,102,32,97,110,32,97,116,111,109,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,110,32,101,120,116,101,114,110,97,108,32,102,117,110,44,32>>,{code,[],[<<78,97,109,101>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,101,120,112,111,114,116,101,100,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,116,104,101,32,102,117,110,32,114,101,102,101,114,115,32,116,111,46>>]}]},{dt,[],[{code,[],[<<123,97,114,105,116,121,44,32,65,114,105,116,121,125>>]}]},{dd,[],[{p,[],[{code,[],[<<65,114,105,116,121>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,104,97,116,32,116,104,101,32,102,117,110,32,105,115,32,116,111,32,98,101,32,99,97,108,108,101,100,32,119,105,116,104,46>>]}]},{dt,[],[{code,[],[<<123,101,110,118,44,32,69,110,118,125>>]}]},{dd,[],[{p,[],[{code,[],[<<69,110,118>>]},<<32,40,97,32,108,105,115,116,41,32,105,115,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,111,114,32,102,114,101,101,32,118,97,114,105,97,98,108,101,115,32,102,111,114,32,116,104,101,32,102,117,110,46,32,70,111,114,32,101,120,116,101,114,110,97,108,32,102,117,110,115,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,32,105,115,32,97,108,119,97,121,115,32,101,109,112,116,121,46>>]}]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,101,108,101,109,101,110,116,115,32,97,114,101,32,111,110,108,121,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,108,105,115,116,32,105,102,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,108,111,99,97,108,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,112,105,100,44,32,80,105,100,125>>]}]},{dd,[],[{p,[],[{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,111,114,105,103,105,110,97,108,108,121,32,99,114,101,97,116,101,100,32,116,104,101,32,102,117,110,46>>]},{p,[],[<<73,116,32,109,105,103,104,116,32,112,111,105,110,116,32,116,111,32,116,104,101,32>>,{code,[],[<<105,110,105,116>>]},<<32,112,114,111,99,101,115,115,32,105,102,32,116,104,101,32>>,{code,[],[<<70,117,110>>]},<<32,119,97,115,32,115,116,97,116,105,99,97,108,108,121,32,97,108,108,111,99,97,116,101,100,32,119,104,101,110,32,109,111,100,117,108,101,32,119,97,115,32,108,111,97,100,101,100,32,40,116,104,105,115,32,111,112,116,105,109,105,115,97,116,105,111,110,32,105,115,32,112,101,114,102,111,114,109,101,100,32,102,111,114,32,108,111,99,97,108,32,102,117,110,99,116,105,111,110,115,32,116,104,97,116,32,100,111,32,110,111,116,32,99,97,112,116,117,114,101,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,41,46>>]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<73,110,32,69,114,108,97,110,103,47,79,84,80,32,50,55,44,32,119,101,32,112,108,97,110,32,116,111,32,99,104,97,110,103,101,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,115,111,32,116,104,97,116,32,105,116,32,97,108,119,97,121,115,32,112,111,105,110,116,115,32,116,111,32,116,104,101,32,108,111,99,97,108,32>>,{code,[],[<<105,110,105,116>>]},<<32,112,114,111,99,101,115,115,44,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,119,104,105,99,104,32,112,114,111,99,101,115,115,32,111,114,32,110,111,100,101,32,116,104,101,32,102,117,110,32,119,97,115,32,111,114,105,103,105,110,97,108,108,121,32,99,114,101,97,116,101,100,32,111,110,46,32,83,101,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,103,101,110,101,114,97,108,95,105,110,102,111,58,117,112,99,111,109,105,110,103,95,105,110,99,111,109,112,97,116,105,98,105,108,105,116,105,101,115,35,102,117,110,95,99,114,101,97,116,111,114,95,112,105,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<85,112,99,111,109,105,110,103,32,80,111,116,101,110,116,105,97,108,32,73,110,99,111,109,112,97,116,105,98,105,108,105,116,105,101,115,32>>]},<<46>>]}]}]},{dt,[],[{code,[],[<<123,105,110,100,101,120,44,32,73,110,100,101,120,125>>]}]},{dd,[],[{p,[],[{code,[],[<<73,110,100,101,120>>]},<<32,40,97,110,32,105,110,116,101,103,101,114,41,32,105,115,32,97,110,32,105,110,100,101,120,32,105,110,116,111,32,116,104,101,32,109,111,100,117,108,101,32,102,117,110,32,116,97,98,108,101,46>>]}]},{dt,[],[{code,[],[<<123,110,101,119,95,105,110,100,101,120,44,32,73,110,100,101,120,125>>]}]},{dd,[],[{p,[],[{code,[],[<<73,110,100,101,120>>]},<<32,40,97,110,32,105,110,116,101,103,101,114,41,32,105,115,32,97,110,32,105,110,100,101,120,32,105,110,116,111,32,116,104,101,32,109,111,100,117,108,101,32,102,117,110,32,116,97,98,108,101,46>>]}]},{dt,[],[{code,[],[<<123,110,101,119,95,117,110,105,113,44,32,85,110,105,113,125>>]}]},{dd,[],[{p,[],[{code,[],[<<85,110,105,113>>]},<<32,40,97,32,98,105,110,97,114,121,41,32,105,115,32,97,32,117,110,105,113,117,101,32,118,97,108,117,101,32,102,111,114,32,116,104,105,115,32,102,117,110,46,32,73,116,32,105,115,32,99,97,108,99,117,108,97,116,101,100,32,102,114,111,109,32,116,104,101,32,99,111,109,112,105,108,101,100,32,99,111,100,101,32,102,111,114,32,116,104,101,32,101,110,116,105,114,101,32,109,111,100,117,108,101,46>>]}]},{dt,[],[{code,[],[<<123,117,110,105,113,44,32,85,110,105,113,125>>]}]},{dd,[],[{p,[],[{code,[],[<<85,110,105,113>>]},<<32,40,97,110,32,105,110,116,101,103,101,114,41,32,105,115,32,97,32,117,110,105,113,117,101,32,118,97,108,117,101,32,102,111,114,32,116,104,105,115,32,102,117,110,46,32,65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,49,53,44,32,116,104,105,115,32,105,110,116,101,103,101,114,32,105,115,32,99,97,108,99,117,108,97,116,101,100,32,102,114,111,109,32,116,104,101,32,99,111,109,112,105,108,101,100,32,99,111,100,101,32,102,111,114,32,116,104,101,32,101,110,116,105,114,101,32,109,111,100,117,108,101,46,32,66,101,102,111,114,101,32,69,114,108,97,110,103,47,79,84,80,32,82,49,53,44,32,116,104,105,115,32,105,110,116,101,103,101,114,32,119,97,115,32,98,97,115,101,100,32,111,110,32,111,110,108,121,32,116,104,101,32,98,111,100,121,32,111,102,32,116,104,101,32,102,117,110,46>>]}]}]}]},#{signature => [{attribute,{3719,2},spec,{{erlang,fun_info,1},[{type,{3719,22},bounded_fun,[{type,{3719,22},'fun',[{type,{3719,22},product,[{var,{3719,23},'Fun'}]},{type,{3719,31},list,[{type,{3719,32},tuple,[{var,{3719,33},'Item'},{var,{3719,39},'Info'}]}]}]},[{type,{3720,7},constraint,[{atom,{3720,7},is_subtype},[{var,{3720,7},'Fun'},{type,{3720,14},function,[]}]]},{type,{3721,7},constraint,[{atom,{3721,7},is_subtype},[{var,{3721,7},'Item'},{type,{3721,15},union,[{atom,{3721,15},arity},{atom,{3721,23},env},{atom,{3721,29},index},{atom,{3721,37},name},{atom,{3722,15},module},{atom,{3722,24},new_index},{atom,{3722,36},new_uniq},{atom,{3722,47},pid},{atom,{3722,53},type},{atom,{3722,60},uniq}]}]]},{type,{3723,7},constraint,[{atom,{3723,7},is_subtype},[{var,{3723,7},'Info'},{type,{3723,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,52,56,54>>}},{{function,fun_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1217}],[<<102,117,110,95,105,110,102,111,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<102,117,110,95,105,110,102,111,95,105,116,101,109>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32>>,{code,[],[<<70,117,110>>]},<<32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<44,32,105,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,73,116,101,109,44,73,110,102,111,125>>]},<<46>>]},{p,[],[<<70,111,114,32,97,110,121,32,102,117,110,44,32>>,{code,[],[<<73,116,101,109>>]},<<32,99,97,110,32,98,101,32,97,110,121,32,111,102,32,116,104,101,32,97,116,111,109,115,32>>,{code,[],[<<109,111,100,117,108,101>>]},<<44,32>>,{code,[],[<<110,97,109,101>>]},<<44,32>>,{code,[],[<<97,114,105,116,121>>]},<<44,32>>,{code,[],[<<101,110,118>>]},<<44,32,111,114,32>>,{code,[],[<<116,121,112,101>>]},<<46>>]},{p,[],[<<70,111,114,32,97,32,108,111,99,97,108,32,102,117,110,44,32>>,{code,[],[<<73,116,101,109>>]},<<32,99,97,110,32,97,108,115,111,32,98,101,32,97,110,121,32,111,102,32,116,104,101,32,97,116,111,109,115,32>>,{code,[],[<<105,110,100,101,120>>]},<<44,32>>,{code,[],[<<110,101,119,95,105,110,100,101,120>>]},<<44,32>>,{code,[],[<<110,101,119,95,117,110,105,113>>]},<<44,32>>,{code,[],[<<117,110,105,113>>]},<<44,32,97,110,100,32>>,{code,[],[<<112,105,100>>]},<<46,32,70,111,114,32,97,110,32,101,120,116,101,114,110,97,108,32,102,117,110,44,32,116,104,101,32,118,97,108,117,101,32,111,102,32,97,110,121,32,111,102,32,116,104,101,115,101,32,105,116,101,109,115,32,105,115,32,97,108,119,97,121,115,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,102,117,110,95,105,110,102,111,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,102,117,110,95,105,110,102,111,47,49>>]}]},<<46>>]}]},#{signature => [{attribute,{1217,2},spec,{{erlang,fun_info,2},[{type,{1217,22},bounded_fun,[{type,{1217,22},'fun',[{type,{1217,22},product,[{var,{1217,23},'Fun'},{var,{1217,28},'Item'}]},{type,{1217,37},tuple,[{var,{1217,38},'Item'},{var,{1217,44},'Info'}]}]},[{type,{1218,7},constraint,[{atom,{1218,7},is_subtype},[{var,{1218,7},'Fun'},{type,{1218,14},function,[]}]]},{type,{1219,7},constraint,[{atom,{1219,7},is_subtype},[{var,{1219,7},'Item'},{user_type,{1219,15},fun_info_item,[]}]]},{type,{1220,7},constraint,[{atom,{1220,7},is_subtype},[{var,{1220,7},'Info'},{type,{1220,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,54,48,48>>}},{{function,fun_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1234}],[<<102,117,110,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,116,104,97,116,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,99,111,100,101,32,116,104,97,116,32,99,114,101,97,116,101,100,32>>,{code,[],[<<70,117,110>>]},<<46>>]},{p,[],[{code,[],[<<83,116,114,105,110,103>>]},<<32,104,97,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,111,114,109,44,32,105,102,32>>,{code,[],[<<70,117,110>>]},<<32,119,97,115,32,99,114,101,97,116,101,100,32,98,121,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,102,117,110,45,101,120,112,114,101,115,115,105,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<102,117,110,32,101,120,112,114,101,115,115,105,111,110>>]},<<32,111,102,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<102,117,110,32,77,111,100,117,108,101,78,97,109,101,58,70,117,110,99,78,97,109,101,47,65,114,105,116,121>>]},<<58>>]},{p,[],[{code,[],[<<34,102,117,110,32,77,111,100,117,108,101,78,97,109,101,58,70,117,110,99,78,97,109,101,47,65,114,105,116,121,34>>]}]},{p,[],[<<84,104,101,32,102,111,114,109,32,111,102,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,119,104,101,110,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,99,114,101,97,116,101,100,32,102,114,111,109,32,111,116,104,101,114,32,116,121,112,101,115,32,111,102,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,102,117,110,45,101,120,112,114,101,115,115,105,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<102,117,110,32,101,120,112,114,101,115,115,105,111,110,115>>]},<<32,100,105,102,102,101,114,115,32,100,101,112,101,110,100,105,110,103,32,111,110,32,105,102,32,116,104,101,32,102,117,110,32,101,120,112,114,101,115,115,105,111,110,32,119,97,115,32,101,120,101,99,117,116,101,100,32,119,104,105,108,101,32,101,120,101,99,117,116,105,110,103,32,99,111,109,112,105,108,101,100,32,99,111,100,101,32,111,114,32,105,102,32,116,104,101,32,102,117,110,32,101,120,112,114,101,115,115,105,111,110,32,119,97,115,32,101,120,101,99,117,116,101,100,32,119,104,105,108,101,32,101,120,101,99,117,116,105,110,103,32,117,110,99,111,109,112,105,108,101,100,32,99,111,100,101,32,40,117,110,99,111,109,112,105,108,101,100,32,101,115,99,114,105,112,116,115,44,32,116,104,101,32,69,114,108,97,110,103,32,115,104,101,108,108,44,32,97,110,100,32,111,116,104,101,114,32,99,111,100,101,32,101,120,101,99,117,116,101,100,32,98,121,32,116,104,101,32,101,114,108,95,101,118,97,108,32,109,111,100,117,108,101,41,58>>]},{dl,[],[{dt,[],[<<99,111,109,112,105,108,101,100,32,99,111,100,101>>]},{dd,[],[{p,[],[{code,[],[<<34,35,70,117,110,60,77,46,73,46,85,62,34>>]},<<44,32,119,104,101,114,101,32,77,44,32,73,32,97,110,100,32,85,32,99,111,114,114,101,115,112,111,110,100,32,116,111,32,116,104,101,32,118,97,108,117,101,115,32,110,97,109,101,100,32>>,{code,[],[<<109,111,100,117,108,101>>]},<<44,32>>,{code,[],[<<105,110,100,101,120>>]},<<32,97,110,100,32>>,{code,[],[<<117,110,105,113>>]},<<32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,102,117,110,95,105,110,102,111,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,102,117,110,95,105,110,102,111,40,70,117,110,41>>]}]},<<46>>]}]},{dt,[],[<<117,110,99,111,109,112,105,108,101,100,32,99,111,100,101>>]},{dd,[],[<<65,108,108,32,102,117,110,115,32,99,114,101,97,116,101,100,32,102,114,111,109,32,102,117,110,32,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,117,110,99,111,109,112,105,108,101,100,32,99,111,100,101,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,97,114,105,116,121,32,97,114,101,32,109,97,112,112,101,100,32,116,111,32,116,104,101,32,115,97,109,101,32,108,105,115,116,32,98,121,32>>,{code,[],[<<102,117,110,95,116,111,95,108,105,115,116,47,49>>]},<<46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<71,101,110,101,114,97,108,108,121,44,32,111,110,101,32,99,97,110,32,110,111,116,32,117,115,101,32>>,{code,[],[<<102,117,110,95,116,111,95,108,105,115,116,47,49>>]},<<32,116,111,32,99,104,101,99,107,32,105,102,32,116,119,111,32,102,117,110,115,32,97,114,101,32,101,113,117,97,108,32,97,115,32>>,{code,[],[<<102,117,110,95,116,111,95,108,105,115,116,47,49>>]},<<32,100,111,101,115,32,110,111,116,32,116,97,107,101,32,116,104,101,32,102,117,110,39,115,32,101,110,118,105,114,111,110,109,101,110,116,32,105,110,116,111,32,97,99,99,111,117,110,116,46,32,83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,102,117,110,95,105,110,102,111,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,102,117,110,95,105,110,102,111,47,49>>]}]},<<32,102,111,114,32,104,111,119,32,116,111,32,103,101,116,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,111,102,32,97,32,102,117,110,46>>]}]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<84,104,101,32,111,117,116,112,117,116,32,111,102,32>>,{code,[],[<<102,117,110,95,116,111,95,108,105,115,116,47,49>>]},<<32,99,97,110,32,100,105,102,102,101,114,32,98,101,116,119,101,101,110,32,69,114,108,97,110,103,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,115,32,97,110,100,32,109,97,121,32,99,104,97,110,103,101,32,105,110,32,102,117,116,117,114,101,32,118,101,114,115,105,111,110,115,46>>]}]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<45,109,111,100,117,108,101,40,116,101,115,116,41,46,10,45,101,120,112,111,114,116,40,91,97,100,100,47,49,44,32,97,100,100,50,47,48,44,32,102,117,110,95,116,117,112,108,101,47,48,93,41,46,10,97,100,100,40,65,41,32,45,62,32,102,117,110,40,66,41,32,45,62,32,65,32,43,32,66,32,101,110,100,46,10,97,100,100,50,40,41,32,45,62,32,102,117,110,32,97,100,100,47,49,46,10,102,117,110,95,116,117,112,108,101,40,41,32,45,62,32,123,102,117,110,40,41,32,45,62,32,49,32,101,110,100,44,32,102,117,110,40,41,32,45,62,32,49,32,101,110,100,125,46,10,32,32,32,32,32,32,32,32>>]}]},{pre,[],[{code,[],[<<62,32,123,102,117,110,32,116,101,115,116,58,97,100,100,47,49,44,32,116,101,115,116,58,97,100,100,50,40,41,125,46,10,123,102,117,110,32,116,101,115,116,58,97,100,100,47,49,44,35,70,117,110,60,116,101,115,116,46,49,46,49,48,55,55,51,56,57,56,51,62,125>>]}]},{p,[],[<<69,120,112,108,97,110,97,116,105,111,110,58,32>>,{code,[],[<<102,117,110,32,116,101,115,116,58,97,100,100,47,49>>]},<<32,105,115,32,117,112,103,114,97,100,97,98,108,101,32,98,117,116,32>>,{code,[],[<<116,101,115,116,58,97,100,100,50,40,41>>]},<<32,105,115,32,110,111,116,32,117,112,103,114,97,100,97,98,108,101,46>>]},{pre,[],[{code,[],[<<62,32,123,116,101,115,116,58,97,100,100,40,49,41,44,32,116,101,115,116,58,97,100,100,40,52,50,41,125,46,10,123,35,70,117,110,60,116,101,115,116,46,48,46,49,48,55,55,51,56,57,56,51,62,44,35,70,117,110,60,116,101,115,116,46,48,46,49,48,55,55,51,56,57,56,51,62,125>>]}]},{p,[],[<<69,120,112,108,97,110,97,116,105,111,110,58,32>>,{code,[],[<<116,101,115,116,58,97,100,100,40,49,41>>]},<<32,97,110,100,32>>,{code,[],[<<116,101,115,116,58,97,100,100,40,52,50,41>>]},<<32,104,97,115,32,116,104,101,32,115,97,109,101,32,115,116,114,105,110,103,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,97,115,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,105,115,32,110,111,116,32,116,97,107,101,110,32,105,110,116,111,32,97,99,99,111,117,110,116,46>>]},{pre,[],[{code,[],[<<62,116,101,115,116,58,102,117,110,95,116,117,112,108,101,40,41,46,10,123,35,70,117,110,60,116,101,115,116,46,50,46,49,48,55,55,51,56,57,56,51,62,44,35,70,117,110,60,116,101,115,116,46,51,46,49,48,55,55,51,56,57,56,51,62,125>>]}]},{p,[],[<<69,120,112,108,97,110,97,116,105,111,110,58,32,84,104,101,32,115,116,114,105,110,103,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,115,32,100,105,102,102,101,114,32,98,101,99,97,117,115,101,32,116,104,101,32,102,117,110,115,32,99,111,109,101,32,102,114,111,109,32,100,105,102,102,101,114,101,110,116,32,102,117,110,32,101,120,112,114,101,115,115,105,111,110,115,46>>]},{pre,[],[{code,[],[<<62,32,123,102,117,110,40,41,32,45,62,32,49,32,101,110,100,44,32,102,117,110,40,41,32,45,62,32,49,32,101,110,100,125,46,32,62,32,10,123,35,70,117,110,60,101,114,108,95,101,118,97,108,46,52,53,46,57,55,50,56,51,48,57,53,62,44,35,70,117,110,60,101,114,108,95,101,118,97,108,46,52,53,46,57,55,50,56,51,48,57,53,62,125>>]}]},{p,[],[<<69,120,112,108,97,110,97,116,105,111,110,58,32,65,108,108,32,102,117,110,115,32,99,114,101,97,116,101,100,32,102,114,111,109,32,102,117,110,32,101,120,112,114,101,115,115,105,111,110,115,32,111,102,32,116,104,105,115,32,102,111,114,109,32,105,110,32,117,110,99,111,109,112,105,108,101,100,32,99,111,100,101,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,97,114,105,116,121,32,97,114,101,32,109,97,112,112,101,100,32,116,111,32,116,104,101,32,115,97,109,101,32,108,105,115,116,32,98,121,32>>,{code,[],[<<102,117,110,95,116,111,95,108,105,115,116,47,49>>]},<<46>>]}]},#{signature => [{attribute,{1234,2},spec,{{erlang,fun_to_list,1},[{type,{1234,25},bounded_fun,[{type,{1234,25},'fun',[{type,{1234,25},product,[{var,{1234,26},'Fun'}]},{ann_type,{1234,34},[{var,{1234,34},'String'},{type,{1234,44},string,[]}]}]},[{type,{1235,7},constraint,[{atom,{1235,7},is_subtype},[{var,{1235,7},'Fun'},{type,{1235,14},function,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,54,50,48>>}},{{function,function_exported,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1240}],[<<102,117,110,99,116,105,111,110,95,101,120,112,111,114,116,101,100,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,109,111,100,117,108,101,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,105,115,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,99,111,100,101,95,108,111,97,100,105,110,103,35,99,111,100,101,45,114,101,112,108,97,99,101,109,101,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<99,117,114,114,101,110,116>>]},<<32,97,110,100,32,99,111,110,116,97,105,110,115,32,97,110,32,101,120,112,111,114,116,101,100,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<70,117,110,99,116,105,111,110,47,65,114,105,116,121>>]},<<44,32,111,114,32,105,102,32,116,104,101,114,101,32,105,115,32,97,32,66,73,70,32,40,97,32,98,117,105,108,116,45,105,110,32,102,117,110,99,116,105,111,110,32,105,109,112,108,101,109,101,110,116,101,100,32,105,110,32,67,41,32,119,105,116,104,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,110,97,109,101,44,32,111,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},#{signature => [{attribute,{1240,2},spec,{{erlang,function_exported,3},[{type,{1240,31},bounded_fun,[{type,{1240,31},'fun',[{type,{1240,31},product,[{var,{1240,32},'Module'},{var,{1240,40},'Function'},{var,{1240,50},'Arity'}]},{type,{1240,60},boolean,[]}]},[{type,{1241,7},constraint,[{atom,{1241,7},is_subtype},[{var,{1241,7},'Module'},{type,{1241,17},module,[]}]]},{type,{1242,7},constraint,[{atom,{1242,7},is_subtype},[{var,{1242,7},'Function'},{type,{1242,19},atom,[]}]]},{type,{1243,7},constraint,[{atom,{1243,7},is_subtype},[{var,{1243,7},'Arity'},{type,{1243,16},arity,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,55,48,57>>}},{{function,garbage_collect,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1248}],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,48>>],#{<<101,110>> => [{p,[],[<<70,111,114,99,101,115,32,97,110,32,105,109,109,101,100,105,97,116,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,116,104,101,32,101,120,101,99,117,116,105,110,103,32,112,114,111,99,101,115,115,46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,117,110,108,101,115,115,32,105,116,32,104,97,115,32,98,101,101,110,32,110,111,116,105,99,101,100,32,40,111,114,32,116,104,101,114,101,32,97,114,101,32,103,111,111,100,32,114,101,97,115,111,110,115,32,116,111,32,115,117,115,112,101,99,116,41,32,116,104,97,116,32,116,104,101,32,115,112,111,110,116,97,110,101,111,117,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,119,105,108,108,32,111,99,99,117,114,32,116,111,111,32,108,97,116,101,32,111,114,32,110,111,116,32,97,116,32,97,108,108,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<73,109,112,114,111,112,101,114,32,117,115,101,32,99,97,110,32,115,101,114,105,111,117,115,108,121,32,100,101,103,114,97,100,101,32,115,121,115,116,101,109,32,112,101,114,102,111,114,109,97,110,99,101,46>>]}]}]},#{signature => [{attribute,{1248,2},spec,{{garbage_collect,0},[{type,{1248,22},'fun',[{type,{1248,22},product,[]},{atom,{1248,28},true}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,55,50,49>>}},{{function,garbage_collect,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1253}],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,40,80,105,100,44,32,91,93,41>>]}]},<<46>>]}]},#{signature => [{attribute,{1253,2},spec,{{garbage_collect,1},[{type,{1253,22},bounded_fun,[{type,{1253,22},'fun',[{type,{1253,22},product,[{var,{1253,23},'Pid'}]},{var,{1253,31},'GCResult'}]},[{type,{1254,7},constraint,[{atom,{1254,7},is_subtype},[{var,{1254,7},'Pid'},{type,{1254,14},pid,[]}]]},{type,{1255,7},constraint,[{atom,{1255,7},is_subtype},[{var,{1255,7},'GCResult'},{type,{1255,19},boolean,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,55,51,55>>}},{{function,garbage_collect,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1269}],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,50>>],#{<<101,110>> => [{p,[],[<<71,97,114,98,97,103,101,32,99,111,108,108,101,99,116,115,32,116,104,101,32,110,111,100,101,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<46>>]},{p,[],[{code,[],[<<79,112,116,105,111,110>>]},<<58>>]},{dl,[],[{dt,[],[{code,[],[<<123,97,115,121,110,99,44,32,82,101,113,117,101,115,116,73,100,125>>]}]},{dd,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,50>>]},<<32,114,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<97,115,121,110,99>>]},<<32,105,109,109,101,100,105,97,116,101,108,121,32,97,102,116,101,114,32,116,104,101,32,114,101,113,117,101,115,116,32,104,97,115,32,98,101,101,110,32,115,101,110,116,46,32,87,104,101,110,32,116,104,101,32,114,101,113,117,101,115,116,32,104,97,115,32,98,101,101,110,32,112,114,111,99,101,115,115,101,100,44,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,99,97,108,108,101,100,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,112,97,115,115,101,100,32,97,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,44,32,82,101,113,117,101,115,116,73,100,44,32,71,67,82,101,115,117,108,116,125>>]},<<46>>]},{dt,[],[{code,[],[<<123,116,121,112,101,44,32,39,109,97,106,111,114,39,32,124,32,39,109,105,110,111,114,39,125>>]}]},{dd,[],[<<84,114,105,103,103,101,114,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,114,101,113,117,101,115,116,101,100,32,116,121,112,101,46,32,68,101,102,97,117,108,116,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<39,109,97,106,111,114,39>>]},<<44,32,119,104,105,99,104,32,119,111,117,108,100,32,116,114,105,103,103,101,114,32,97,32,102,117,108,108,115,119,101,101,112,32,71,67,46,32,84,104,101,32,111,112,116,105,111,110,32>>,{code,[],[<<39,109,105,110,111,114,39>>]},<<32,105,115,32,99,111,110,115,105,100,101,114,101,100,32,97,32,104,105,110,116,32,97,110,100,32,109,97,121,32,108,101,97,100,32,116,111,32,101,105,116,104,101,114,32,109,105,110,111,114,32,111,114,32,109,97,106,111,114,32,71,67,32,114,117,110,46>>]}]},{p,[],[<<73,102,32>>,{code,[],[<<80,105,100>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<115,101,108,102,40,41>>]},<<44,32,97,110,100,32,110,111,32>>,{code,[],[<<97,115,121,110,99>>]},<<32,111,112,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,97,115,115,101,100,44,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,112,101,114,102,111,114,109,101,100,32,97,116,32,111,110,99,101,44,32,116,104,97,116,32,105,115,44,32,116,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,48>>]}]},<<46,32,79,116,104,101,114,119,105,115,101,32,97,32,114,101,113,117,101,115,116,32,102,111,114,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<44,32,97,110,100,32,119,105,108,108,32,98,101,32,104,97,110,100,108,101,100,32,119,104,101,110,32,97,112,112,114,111,112,114,105,97,116,101,46,32,73,102,32,110,111,32>>,{code,[],[<<97,115,121,110,99>>]},<<32,111,112,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,97,115,115,101,100,44,32,116,104,101,32,99,97,108,108,101,114,32,98,108,111,99,107,115,32,117,110,116,105,108,32>>,{code,[],[<<71,67,82,101,115,117,108,116>>]},<<32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,110,100,32,99,97,110,32,98,101,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[{code,[],[<<71,67,82,101,115,117,108,116>>]},<<32,105,110,102,111,114,109,115,32,97,98,111,117,116,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,114,101,113,117,101,115,116,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[<<84,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,104,97,115,32,98,101,101,110,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,46>>]},{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[<<78,111,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,119,97,115,32,112,101,114,102,111,114,109,101,100,44,32,97,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,116,101,114,109,105,110,97,116,101,100,32,98,101,102,111,114,101,32,116,104,101,32,114,101,113,117,101,115,116,32,99,111,117,108,100,32,98,101,32,115,97,116,105,115,102,105,101,100,46>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,115,97,109,101,32,99,97,118,101,97,116,115,32,97,112,112,108,121,32,97,115,32,102,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,47,48>>]}]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,110,111,116,32,97,32,110,111,100,101,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,116,105,111,110,76,105,115,116>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,108,105,115,116,32,111,102,32,111,112,116,105,111,110,115,46>>]}]}]},#{signature => [{attribute,{1269,2},spec,{{garbage_collect,2},[{type,{1269,22},bounded_fun,[{type,{1269,22},'fun',[{type,{1269,22},product,[{var,{1269,23},'Pid'},{var,{1269,28},'OptionList'}]},{type,{1269,43},union,[{var,{1269,43},'GCResult'},{atom,{1269,54},async}]}]},[{type,{1270,7},constraint,[{atom,{1270,7},is_subtype},[{var,{1270,7},'Pid'},{type,{1270,14},pid,[]}]]},{type,{1271,7},constraint,[{atom,{1271,7},is_subtype},[{var,{1271,7},'RequestId'},{type,{1271,20},term,[]}]]},{type,{1272,7},constraint,[{atom,{1272,7},is_subtype},[{var,{1272,7},'Option'},{type,{1272,17},union,[{type,{1272,17},tuple,[{atom,{1272,18},async},{var,{1272,25},'RequestId'}]},{type,{1272,38},tuple,[{atom,{1272,39},type},{type,{1272,45},union,[{atom,{1272,45},major},{atom,{1272,55},minor}]}]}]}]]},{type,{1273,7},constraint,[{atom,{1273,7},is_subtype},[{var,{1273,7},'OptionList'},{type,{1273,21},list,[{var,{1273,22},'Option'}]}]]},{type,{1274,7},constraint,[{atom,{1274,7},is_subtype},[{var,{1274,7},'GCResult'},{type,{1274,19},boolean,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,55,52,55>>,since => <<79,84,80,32,49,55,46,48>>}},{{function,get,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1319}],[<<103,101,116,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,32,97,115,32,97,32,108,105,115,116,32,111,102,32>>,{code,[],[<<123,75,101,121,44,32,86,97,108,125>>]},<<32,116,117,112,108,101,115,46,32,84,104,101,32,105,116,101,109,115,32,105,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,32,99,97,110,32,98,101,32,105,110,32,97,110,121,32,111,114,100,101,114,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,112,117,116,40,107,101,121,49,44,32,109,101,114,114,121,41,44,10,112,117,116,40,107,101,121,50,44,32,108,97,109,98,115,41,44,10,112,117,116,40,107,101,121,51,44,32,123,97,114,101,44,32,112,108,97,121,105,110,103,125,41,44,10,103,101,116,40,41,46,10,91,123,107,101,121,49,44,109,101,114,114,121,125,44,123,107,101,121,50,44,108,97,109,98,115,125,44,123,107,101,121,51,44,123,97,114,101,44,112,108,97,121,105,110,103,125,125,93>>]}]}]},#{signature => [{attribute,{1319,2},spec,{{get,0},[{type,{1319,10},bounded_fun,[{type,{1319,10},'fun',[{type,{1319,10},product,[]},{type,{1319,16},list,[{type,{1319,17},tuple,[{var,{1319,18},'Key'},{var,{1319,23},'Val'}]}]}]},[{type,{1320,7},constraint,[{atom,{1320,7},is_subtype},[{var,{1320,7},'Key'},{type,{1320,14},term,[]}]]},{type,{1321,7},constraint,[{atom,{1321,7},is_subtype},[{var,{1321,7},'Val'},{type,{1321,14},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,56,49,50>>}},{{function,get,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1326}],[<<103,101,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<86,97,108>>]},<<32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32>>,{code,[],[<<75,101,121>>]},<<32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32>>,{code,[],[<<75,101,121>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,32,84,104,101,32,101,120,112,101,99,116,101,100,32,116,105,109,101,32,99,111,109,112,108,101,120,105,116,121,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,79,40>>,{code,[],[<<49>>]},<<41,32,97,110,100,32,116,104,101,32,119,111,114,115,116,32,99,97,115,101,32,116,105,109,101,32,99,111,109,112,108,101,120,105,116,121,32,105,115,32,79,40>>,{code,[],[<<78>>]},<<41,44,32,119,104,101,114,101,32>>,{code,[],[<<78>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,105,116,101,109,115,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,112,117,116,40,107,101,121,49,44,32,109,101,114,114,121,41,44,10,112,117,116,40,107,101,121,50,44,32,108,97,109,98,115,41,44,10,112,117,116,40,123,97,110,121,44,32,91,118,97,108,105,100,44,32,116,101,114,109,93,125,44,32,123,97,114,101,44,32,112,108,97,121,105,110,103,125,41,44,10,103,101,116,40,123,97,110,121,44,32,91,118,97,108,105,100,44,32,116,101,114,109,93,125,41,46,10,123,97,114,101,44,112,108,97,121,105,110,103,125>>]}]}]},#{signature => [{attribute,{1326,2},spec,{{get,1},[{type,{1326,10},bounded_fun,[{type,{1326,10},'fun',[{type,{1326,10},product,[{var,{1326,11},'Key'}]},{type,{1326,19},union,[{var,{1326,19},'Val'},{atom,{1326,25},undefined}]}]},[{type,{1327,7},constraint,[{atom,{1327,7},is_subtype},[{var,{1327,7},'Key'},{type,{1327,14},term,[]}]]},{type,{1328,7},constraint,[{atom,{1328,7},is_subtype},[{var,{1328,7},'Val'},{type,{1328,14},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,56,50,57>>}},{{function,get_cookie,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4079}],[<<103,101,116,95,99,111,111,107,105,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,97,103,105,99,32,99,111,111,107,105,101,32,111,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,102,32,116,104,101,32,110,111,100,101,32,105,115,32,97,108,105,118,101,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<110,111,99,111,111,107,105,101>>]},<<46,32,84,104,105,115,32,118,97,108,117,101,32,105,115,32,115,101,116,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,116,95,99,111,111,107,105,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,101,116,95,99,111,111,107,105,101,47,49>>]}]},<<46>>]}]},#{signature => [{attribute,{4079,2},spec,{{erlang,get_cookie,0},[{type,{4079,24},bounded_fun,[{type,{4079,24},'fun',[{type,{4079,24},product,[]},{type,{4079,30},union,[{var,{4079,30},'Cookie'},{atom,{4079,39},nocookie}]}]},[{type,{4080,7},constraint,[{atom,{4080,7},is_subtype},[{var,{4080,7},'Cookie'},{type,{4080,17},atom,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,56,52,57>>}},{{function,get_cookie,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4084}],[<<103,101,116,95,99,111,111,107,105,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,97,103,105,99,32,99,111,111,107,105,101,32,102,111,114,32,110,111,100,101,32>>,{code,[],[<<78,111,100,101>>]},<<32,105,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,97,108,105,118,101,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<110,111,99,111,111,107,105,101>>]},<<46,32,84,104,105,115,32,118,97,108,117,101,32,105,115,32,115,101,116,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,116,95,99,111,111,107,105,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,101,116,95,99,111,111,107,105,101,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{4084,2},spec,{{erlang,get_cookie,1},[{type,{4084,24},bounded_fun,[{type,{4084,24},'fun',[{type,{4084,24},product,[{var,{4084,25},'Node'}]},{type,{4084,34},union,[{var,{4084,34},'Cookie'},{atom,{4084,43},nocookie}]}]},[{type,{4085,7},constraint,[{atom,{4085,7},is_subtype},[{var,{4085,7},'Node'},{type,{4085,15},node,[]}]]},{type,{4086,7},constraint,[{atom,{4086,7},is_subtype},[{var,{4086,7},'Cookie'},{type,{4086,17},atom,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,56,54,48>>,since => <<79,84,80,32,50,52,46,49>>}},{{function,get_keys,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1333}],[<<103,101,116,95,107,101,121,115,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,97,108,108,32,107,101,121,115,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46,32,84,104,101,32,105,116,101,109,115,32,105,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,32,99,97,110,32,98,101,32,105,110,32,97,110,121,32,111,114,100,101,114,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,112,117,116,40,100,111,103,44,32,123,97,110,105,109,97,108,44,49,125,41,44,10,112,117,116,40,99,111,119,44,32,123,97,110,105,109,97,108,44,50,125,41,44,10,112,117,116,40,108,97,109,98,44,32,123,97,110,105,109,97,108,44,51,125,41,44,10,103,101,116,95,107,101,121,115,40,41,46,10,91,100,111,103,44,99,111,119,44,108,97,109,98,93>>]}]}]},#{signature => [{attribute,{1333,2},spec,{{get_keys,0},[{type,{1333,15},bounded_fun,[{type,{1333,15},'fun',[{type,{1333,15},product,[]},{type,{1333,21},list,[{var,{1333,22},'Key'}]}]},[{type,{1334,7},constraint,[{atom,{1334,7},is_subtype},[{var,{1334,7},'Key'},{type,{1334,14},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,56,55,49>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,get_keys,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1339}],[<<103,101,116,95,107,101,121,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,107,101,121,115,32,116,104,97,116,32,97,114,101,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<86,97,108>>]},<<32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46,32,84,104,101,32,105,116,101,109,115,32,105,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,32,99,97,110,32,98,101,32,105,110,32,97,110,121,32,111,114,100,101,114,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,112,117,116,40,109,97,114,121,44,32,123,49,44,32,50,125,41,44,10,112,117,116,40,104,97,100,44,32,123,49,44,32,50,125,41,44,10,112,117,116,40,97,44,32,123,49,44,32,50,125,41,44,10,112,117,116,40,108,105,116,116,108,101,44,32,123,49,44,32,50,125,41,44,10,112,117,116,40,100,111,103,44,32,123,49,44,32,51,125,41,44,10,112,117,116,40,108,97,109,98,44,32,123,49,44,32,50,125,41,44,10,103,101,116,95,107,101,121,115,40,123,49,44,32,50,125,41,46,10,91,109,97,114,121,44,104,97,100,44,97,44,108,105,116,116,108,101,44,108,97,109,98,93>>]}]}]},#{signature => [{attribute,{1339,2},spec,{{get_keys,1},[{type,{1339,15},bounded_fun,[{type,{1339,15},'fun',[{type,{1339,15},product,[{var,{1339,16},'Val'}]},{type,{1339,24},list,[{var,{1339,25},'Key'}]}]},[{type,{1340,7},constraint,[{atom,{1340,7},is_subtype},[{var,{1340,7},'Val'},{type,{1340,14},term,[]}]]},{type,{1341,7},constraint,[{atom,{1341,7},is_subtype},[{var,{1341,7},'Key'},{type,{1341,14},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,56,56,56>>}},{{function,group_leader,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1353}],[<<103,114,111,117,112,95,108,101,97,100,101,114,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32,101,118,97,108,117,97,116,105,110,103,32,116,104,101,32,102,117,110,99,116,105,111,110,46>>]},{p,[],[<<69,118,101,114,121,32,112,114,111,99,101,115,115,32,105,115,32,97,32,109,101,109,98,101,114,32,111,102,32,115,111,109,101,32,112,114,111,99,101,115,115,32,103,114,111,117,112,32,97,110,100,32,97,108,108,32,103,114,111,117,112,115,32,104,97,118,101,32,97,32>>,{em,[],[<<103,114,111,117,112,32,108,101,97,100,101,114>>]},<<46,32,65,108,108,32,73,47,79,32,102,114,111,109,32,116,104,101,32,103,114,111,117,112,32,105,115,32,99,104,97,110,110,101,108,101,100,32,116,111,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,46,32,87,104,101,110,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,105,115,32,115,112,97,119,110,101,100,44,32,105,116,32,103,101,116,115,32,116,104,101,32,115,97,109,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,97,115,32,116,104,101,32,115,112,97,119,110,105,110,103,32,112,114,111,99,101,115,115,46,32,73,110,105,116,105,97,108,108,121,44,32,97,116,32,115,121,115,116,101,109,32,115,116,97,114,116,117,112,44,32>>,{code,[],[<<105,110,105,116>>]},<<32,105,115,32,98,111,116,104,32,105,116,115,32,111,119,110,32,103,114,111,117,112,32,108,101,97,100,101,114,32,97,110,100,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,111,102,32,97,108,108,32,112,114,111,99,101,115,115,101,115,46>>]}]},#{signature => [{attribute,{1353,2},spec,{{group_leader,0},[{type,{1353,19},'fun',[{type,{1353,19},product,[]},{type,{1353,25},pid,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,57,48,56>>}},{{function,group_leader,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1358}],[<<103,114,111,117,112,95,108,101,97,100,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,111,102,32>>,{code,[],[<<80,105,100>>]},<<32,116,111,32>>,{code,[],[<<71,114,111,117,112,76,101,97,100,101,114>>]},<<46,32,84,121,112,105,99,97,108,108,121,44,32,116,104,105,115,32,105,115,32,117,115,101,100,32,119,104,101,110,32,97,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,102,114,111,109,32,97,32,99,101,114,116,97,105,110,32,115,104,101,108,108,32,105,115,32,116,111,32,104,97,118,101,32,97,110,111,116,104,101,114,32,103,114,111,117,112,32,108,101,97,100,101,114,32,116,104,97,110,32>>,{code,[],[<<105,110,105,116>>]},<<46>>]},{p,[],[<<84,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,115,104,111,117,108,100,32,98,101,32,114,97,114,101,108,121,32,99,104,97,110,103,101,100,32,105,110,32,97,112,112,108,105,99,97,116,105,111,110,115,32,119,105,116,104,32,97,32,115,117,112,101,114,118,105,115,105,111,110,32,116,114,101,101,44,32,98,101,99,97,117,115,101,32,79,84,80,32,97,115,115,117,109,101,115,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,111,102,32,116,104,101,105,114,32,112,114,111,99,101,115,115,101,115,32,105,115,32,116,104,101,105,114,32,97,112,112,108,105,99,97,116,105,111,110,32,109,97,115,116,101,114,46>>]},{p,[],[<<83,101,116,116,105,110,103,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,102,111,108,108,111,119,115,32,116,104,101,32,115,105,103,110,97,108,32,111,114,100,101,114,105,110,103,32,103,117,97,114,97,110,116,101,101,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<80,114,111,99,101,115,115,101,115,32,67,104,97,112,116,101,114>>]},<<32,105,110,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,103,114,111,117,112,95,108,101,97,100,101,114,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<103,114,111,117,112,95,108,101,97,100,101,114,47,48>>]}]},<<32,97,110,100,32>>,{a,[{href,<<115,121,115,116,101,109,47,100,101,115,105,103,110,95,112,114,105,110,99,105,112,108,101,115,58,97,112,112,108,105,99,97,116,105,111,110,115,35,115,116,111,112,112,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,84,80,32,100,101,115,105,103,110,32,112,114,105,110,99,105,112,108,101,115>>]},<<32,114,101,108,97,116,101,100,32,116,111,32,115,116,97,114,116,105,110,103,32,97,110,100,32,115,116,111,112,112,105,110,103,32,97,112,112,108,105,99,97,116,105,111,110,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<70,111,114,32,115,111,109,101,32,105,109,112,111,114,116,97,110,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,100,105,115,116,114,105,98,117,116,101,100,32,115,105,103,110,97,108,115,44,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,98,108,111,99,107,105,110,103,45,115,105,103,110,97,108,105,110,103,45,111,118,101,114,45,100,105,115,116,114,105,98,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<66,108,111,99,107,105,110,103,32,83,105,103,110,97,108,105,110,103,32,79,118,101,114,32,68,105,115,116,114,105,98,117,116,105,111,110>>]}]},<<32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32>>,{i,[],[<<80,114,111,99,101,115,115,101,115>>]},<<32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]}]},#{signature => [{attribute,{1358,2},spec,{{group_leader,2},[{type,{1358,19},bounded_fun,[{type,{1358,19},'fun',[{type,{1358,19},product,[{var,{1358,20},'GroupLeader'},{var,{1358,33},'Pid'}]},{atom,{1358,41},true}]},[{type,{1359,7},constraint,[{atom,{1359,7},is_subtype},[{var,{1359,7},'GroupLeader'},{type,{1359,22},pid,[]}]]},{type,{1360,7},constraint,[{atom,{1360,7},is_subtype},[{var,{1360,7},'Pid'},{type,{1360,14},pid,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,57,50,51>>}},{{function,halt,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1378}],[<<104,97,108,116,47,48>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,104,97,108,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<104,97,108,116,40,48,44,32,91,93,41>>]}]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,104,97,108,116,40,41,46,10,111,115,95,112,114,111,109,112,116,37>>]}]}]},#{signature => [{attribute,{1378,2},spec,{{halt,0},[{type,{1378,11},'fun',[{type,{1378,11},product,[]},{type,{1378,17},no_return,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,57,53,52>>}},{{function,halt,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1384}],[<<104,97,108,116,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,104,97,108,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<104,97,108,116,40,83,116,97,116,117,115,44,32,91,93,41>>]}]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,104,97,108,116,40,49,55,41,46,10,111,115,95,112,114,111,109,112,116,37,32,101,99,104,111,32,36,63,10,49,55,10,111,115,95,112,114,111,109,112,116,37>>]}]}]},#{signature => [{attribute,{1384,2},spec,{{halt,1},[{type,{1384,11},'fun',[{type,{1384,11},product,[{ann_type,{1384,12},[{var,{1384,12},'Status'},{type,{1384,22},non_neg_integer,[]}]}]},{type,{1385,11},no_return,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,57,54,55>>}},{{function,halt,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1384}],[<<104,97,108,116,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,104,97,108,116,95,97,98,111,114,116,95,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<104,97,108,116,40,97,98,111,114,116,44,32,91,93,41>>]}]},<<46>>]}]},#{signature => [{attribute,{1384,2},spec,{{halt,1},[{type,{1386,11},'fun',[{type,{1386,11},product,[{ann_type,{1386,12},[{var,{1386,12},'Abort'},{atom,{1386,21},abort}]}]},{type,{1387,11},no_return,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,57,56,50>>,since => <<79,84,80,32,82,49,53,66,48,49>>}},{{function,halt,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1384}],[<<104,97,108,116,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,104,97,108,116,95,99,114,97,115,104,95,100,117,109,112,95,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<104,97,108,116,40,67,114,97,115,104,68,117,109,112,83,108,111,103,97,110,44,32,91,93,41>>]}]},<<46>>]}]},#{signature => [{attribute,{1384,2},spec,{{halt,1},[{type,{1388,11},'fun',[{type,{1388,11},product,[{ann_type,{1388,12},[{var,{1388,12},'CrashDumpSlogan'},{type,{1388,31},string,[]}]}]},{type,{1389,11},no_return,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,50,57,57,52>>}},{{function,halt,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1404}],[<<104,97,108,116,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<104,97,108,116,95,111,112,116,105,111,110,115>>}],[]}]},{p,[],[<<72,97,108,116,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,119,105,116,104,32,115,116,97,116,117,115,32,99,111,100,101,32>>,{code,[],[<<83,116,97,116,117,115>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,110,32,109,97,110,121,32,112,108,97,116,102,111,114,109,115,44,32,116,104,101,32,79,83,32,115,117,112,112,111,114,116,115,32,111,110,108,121,32,115,116,97,116,117,115,32,99,111,100,101,115,32,48,45,50,53,53,46,32,65,32,116,111,111,32,108,97,114,103,101,32,115,116,97,116,117,115,32,99,111,100,101,32,105,115,32,116,114,117,110,99,97,116,101,100,32,98,121,32,99,108,101,97,114,105,110,103,32,116,104,101,32,104,105,103,104,32,98,105,116,115,46>>]}]},{p,[],[<<67,117,114,114,101,110,116,108,121,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,111,112,116,105,111,110,115,32,97,114,101,32,118,97,108,105,100,58>>]},{dl,[],[{dt,[],[{a,[{id,<<104,97,108,116,95,102,108,117,115,104>>}],[]},{code,[],[<<123,102,108,117,115,104,44,32,69,110,97,98,108,101,70,108,117,115,104,105,110,103,125>>]}]},{dd,[],[{p,[],[<<73,102,32>>,{code,[],[<<69,110,97,98,108,101,70,108,117,115,104,105,110,103>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,119,104,105,99,104,32,97,108,115,111,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,44,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,119,105,108,108,32,112,101,114,102,111,114,109,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,111,112,101,114,97,116,105,111,110,115,32,98,101,102,111,114,101,32,116,101,114,109,105,110,97,116,105,110,103,58>>]},{ul,[],[{li,[],[{p,[],[<<70,108,117,115,104,32,97,108,108,32,111,117,116,115,116,97,110,100,105,110,103,32,111,117,116,112,117,116,46>>]}]},{li,[],[{p,[],[<<83,101,110,100,32,97,108,108,32,69,114,108,97,110,103,32,112,111,114,116,115,32,101,120,105,116,32,115,105,103,110,97,108,115,32,97,110,100,32,119,97,105,116,32,102,111,114,32,116,104,101,109,32,116,111,32,101,120,105,116,46>>]}]},{li,[],[{p,[],[<<87,97,105,116,32,102,111,114,32,97,108,108,32,97,115,121,110,99,32,116,104,114,101,97,100,115,32,116,111,32,99,111,109,112,108,101,116,101,32,97,108,108,32,111,117,116,115,116,97,110,100,105,110,103,32,97,115,121,110,99,32,106,111,98,115,46>>]}]},{li,[],[{p,[],[<<67,97,108,108,32,97,108,108,32,105,110,115,116,97,108,108,101,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,110,105,102,35,111,110,95,104,97,108,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[<<78,73,70,32>>,{i,[],[<<111,110,32,104,97,108,116>>]},<<32,99,97,108,108,98,97,99,107,115>>]},<<46>>]}]},{li,[],[{p,[],[<<87,97,105,116,32,102,111,114,32,97,108,108,32,111,110,103,111,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,110,105,102,35,100,101,108,97,121,95,104,97,108,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[<<78,73,70,32,99,97,108,108,115,32,119,105,116,104,32,116,104,101,32>>,{i,[],[<<100,101,108,97,121,32,104,97,108,116>>]},<<32,115,101,116,116,105,110,103>>]},<<32,101,110,97,98,108,101,100,32,116,111,32,114,101,116,117,114,110,46>>]}]},{li,[],[{p,[],[<<67,97,108,108,32,97,108,108,32,105,110,115,116,97,108,108,101,100,32>>,{code,[],[<<97,116,101,120,105,116>>]},<<47>>,{code,[],[<<111,110,95,101,120,105,116>>]},<<32,99,97,108,108,98,97,99,107,115,46>>]}]}]},{p,[],[<<73,102,32>>,{code,[],[<<69,110,97,98,108,101,70,108,117,115,104,105,110,103>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,119,105,108,108,32,116,101,114,109,105,110,97,116,101,32,105,109,109,101,100,105,97,116,101,108,121,32,119,105,116,104,111,117,116,32,112,101,114,102,111,114,109,105,110,103,32,97,110,121,32,111,102,32,116,104,101,32,97,98,111,118,101,32,108,105,115,116,101,100,32,111,112,101,114,97,116,105,111,110,115,46>>]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<82,117,110,116,105,109,101,32,115,121,115,116,101,109,115,32,112,114,105,111,114,32,116,111,32,79,84,80,32,50,54,46,48,32,99,97,108,108,101,100,32,97,108,108,32,105,110,115,116,97,108,108,101,100,32>>,{code,[],[<<97,116,101,120,105,116>>]},<<47>>,{code,[],[<<111,110,95,101,120,105,116>>]},<<32,99,97,108,108,98,97,99,107,115,32,97,108,115,111,32,119,104,101,110,32>>,{code,[],[<<102,108,117,115,104>>]},<<32,119,97,115,32,100,105,115,97,98,108,101,100,44,32,98,117,116,32,97,115,32,111,102,32,79,84,80,32,50,54,46,48,32,116,104,105,115,32,105,115,32,110,111,32,108,111,110,103,101,114,32,116,104,101,32,99,97,115,101,46>>]}]}]}]}]},#{signature => [{attribute,{1404,2},spec,{{halt,2},[{type,{1404,11},'fun',[{type,{1404,11},product,[{ann_type,{1404,12},[{var,{1404,12},'Status'},{type,{1404,22},non_neg_integer,[]}]},{ann_type,{1404,41},[{var,{1404,41},'Options'},{user_type,{1404,52},halt_options,[]}]}]},{type,{1405,11},no_return,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,48,48,56>>,since => <<79,84,80,32,82,49,53,66,48,49>>}},{{function,halt,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1404}],[<<104,97,108,116,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<104,97,108,116,95,111,112,116,105,111,110,115>>}],[]}]},{p,[],[<<72,97,108,116,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,98,121,32,97,98,111,114,116,105,110,103,32,97,110,100,32,112,114,111,100,117,99,101,32,97,32,99,111,114,101,32,100,117,109,112,32,105,102,32,99,111,114,101,32,100,117,109,112,105,110,103,32,104,97,115,32,98,101,101,110,32,101,110,97,98,108,101,100,32,105,110,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,116,104,97,116,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,115,32,101,120,101,99,117,116,105,110,103,32,105,110,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,104,97,108,116,95,102,108,117,115,104>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<123,102,108,117,115,104,44,32,98,111,111,108,101,97,110,40,41,125>>]}]},<<32,111,112,116,105,111,110,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,44,32,97,110,100,32,102,108,117,115,104,105,110,103,32,119,105,108,108,32,98,101,32,100,105,115,97,98,108,101,100,46>>]}]}]},#{signature => [{attribute,{1404,2},spec,{{halt,2},[{type,{1406,11},'fun',[{type,{1406,11},product,[{ann_type,{1406,12},[{var,{1406,12},'Abort'},{atom,{1406,21},abort}]},{ann_type,{1406,28},[{var,{1406,28},'Options'},{user_type,{1406,39},halt_options,[]}]}]},{type,{1407,11},no_return,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,48,55,55>>,since => <<79,84,80,32,82,49,53,66,48,49>>}},{{function,halt,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1404}],[<<104,97,108,116,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<104,97,108,116,95,111,112,116,105,111,110,115>>}],[]}]},{p,[],[<<72,97,108,116,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,97,110,100,32,103,101,110,101,114,97,116,101,32,97,110,32>>,{a,[{href,<<101,114,116,115,58,99,114,97,115,104,95,100,117,109,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112>>]},<<46,32,84,104,101,32,115,116,114,105,110,103,32>>,{code,[],[<<67,114,97,115,104,68,117,109,112,83,108,111,103,97,110>>]},<<32,119,105,108,108,32,98,101,32,117,115,101,100,32,97,115,32,115,108,111,103,97,110,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,32,99,114,101,97,116,101,100,46,32,84,104,101,32,115,108,111,103,97,110,32,119,105,108,108,32,98,101,32,116,114,117,110,107,97,116,101,100,32,105,102,32>>,{code,[],[<<67,114,97,115,104,68,117,109,112,83,108,111,103,97,110>>]},<<32,105,115,32,108,111,110,103,101,114,32,116,104,97,110,32,49,48,50,51,32,99,104,97,114,97,99,116,101,114,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,104,97,108,116,95,102,108,117,115,104>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<123,102,108,117,115,104,44,32,98,111,111,108,101,97,110,40,41,125>>]}]},<<32,111,112,116,105,111,110,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,44,32,97,110,100,32,102,108,117,115,104,105,110,103,32,119,105,108,108,32,98,101,32,100,105,115,97,98,108,101,100,46>>]}]},{p,[],[<<66,101,104,97,118,105,111,114,32,99,104,97,110,103,101,115,32,99,111,109,112,97,114,101,100,32,116,111,32,101,97,114,108,105,101,114,32,118,101,114,115,105,111,110,115,58>>]},{ul,[],[{li,[],[{p,[],[<<66,101,102,111,114,101,32,79,84,80,32,50,52,46,50,44,32,116,104,101,32,115,108,111,103,97,110,32,119,97,115,32,116,114,117,110,99,97,116,101,100,32,105,102,32>>,{code,[],[<<67,114,97,115,104,68,117,109,112,83,108,111,103,97,110>>]},<<32,119,97,115,32,108,111,110,103,101,114,32,116,104,97,110,32,50,48,48,32,99,104,97,114,97,99,116,101,114,115,46,32,78,111,119,32,105,116,32,119,105,108,108,32,98,101,32,116,114,117,110,99,97,116,101,100,32,105,102,32,108,111,110,103,101,114,32,116,104,97,110,32,49,48,50,51,32,99,104,97,114,97,99,116,101,114,115,46>>]}]},{li,[],[{p,[],[<<66,101,102,111,114,101,32,79,84,80,32,50,48,46,49,44,32,111,110,108,121,32,99,111,100,101,32,112,111,105,110,116,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32,48,45,50,53,53,32,119,101,114,101,32,97,99,99,101,112,116,101,100,32,105,110,32,116,104,101,32,115,108,111,103,97,110,46,32,78,111,119,32,97,110,121,32,85,110,105,99,111,100,101,32,115,116,114,105,110,103,32,105,115,32,118,97,108,105,100,46>>]}]}]}]},#{signature => [{attribute,{1404,2},spec,{{halt,2},[{type,{1408,11},'fun',[{type,{1408,11},product,[{ann_type,{1408,12},[{var,{1408,12},'CrashDumpSlogan'},{type,{1408,31},string,[]}]},{ann_type,{1408,41},[{var,{1408,41},'Options'},{user_type,{1408,52},halt_options,[]}]}]},{type,{1409,11},no_return,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,48,57,53>>,since => <<79,84,80,32,82,49,53,66,48,49>>}},{{function,hd,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2426}],[<<104,100,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,104,101,97,100,32,111,102,32>>,{code,[],[<<76,105,115,116>>]},<<44,32,116,104,97,116,32,105,115,44,32,116,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,46>>]},{p,[],[<<73,116,32,119,111,114,107,115,32,119,105,116,104,32,105,109,112,114,111,112,101,114,32,108,105,115,116,115,46>>]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,104,100,40,91,49,44,50,44,51,44,52,44,53,93,41,46,10,49>>]}]},{pre,[],[{code,[],[<<62,32,104,100,40,91,102,105,114,115,116,44,32,115,101,99,111,110,100,44,32,116,104,105,114,100,44,32,115,111,95,111,110,32,124,32,105,109,112,114,111,112,101,114,95,101,110,100,93,41,46,10,102,105,114,115,116>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<76,105,115,116>>]},<<32,105,115,32,97,110,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<46>>]}]},#{signature => [{attribute,{2426,2},spec,{{hd,1},[{type,{2426,9},bounded_fun,[{type,{2426,9},'fun',[{type,{2426,9},product,[{var,{2426,10},'List'}]},{var,{2426,19},'Head'}]},[{type,{2427,7},constraint,[{atom,{2427,7},is_subtype},[{var,{2427,7},'List'},{type,{2427,15},nonempty_maybe_improper_list,[]}]]},{type,{2428,7},constraint,[{atom,{2428,7},is_subtype},[{var,{2428,7},'Head'},{type,{2428,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,49,51,54>>}},{{function,hibernate,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1422}],[<<104,105,98,101,114,110,97,116,101,47,51>>],#{<<101,110>> => [{p,[],[<<80,117,116,115,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,110,116,111,32,97,32,119,97,105,116,32,115,116,97,116,101,32,119,104,101,114,101,32,105,116,115,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,114,101,100,117,99,101,100,32,97,115,32,109,117,99,104,32,97,115,32,112,111,115,115,105,98,108,101,46,32,84,104,105,115,32,105,115,32,117,115,101,102,117,108,32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,100,111,101,115,32,110,111,116,32,101,120,112,101,99,116,32,116,111,32,114,101,99,101,105,118,101,32,97,110,121,32,109,101,115,115,97,103,101,115,32,115,111,111,110,46>>]},{p,[],[<<84,104,101,32,112,114,111,99,101,115,115,32,105,115,32,97,119,97,107,101,110,32,119,104,101,110,32,97,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,116,111,32,105,116,44,32,97,110,100,32,99,111,110,116,114,111,108,32,114,101,115,117,109,101,115,32,105,110,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,119,105,116,104,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<65,114,103,115>>]},<<32,119,105,116,104,32,116,104,101,32,99,97,108,108,32,115,116,97,99,107,32,101,109,112,116,105,101,100,44,32,109,101,97,110,105,110,103,32,116,104,97,116,32,116,104,101,32,112,114,111,99,101,115,115,32,116,101,114,109,105,110,97,116,101,115,32,119,104,101,110,32,116,104,97,116,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,46,32,84,104,117,115,32>>,{code,[],[<<101,114,108,97,110,103,58,104,105,98,101,114,110,97,116,101,47,51>>]},<<32,110,101,118,101,114,32,114,101,116,117,114,110,115,32,116,111,32,105,116,115,32,99,97,108,108,101,114,46,32,84,104,101,32,114,101,115,117,109,101,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,47,65,114,105,116,121>>]},<<32,109,117,115,116,32,98,101,32,101,120,112,111,114,116,101,100,32,40>>,{code,[],[<<65,114,105,116,121>>]},<<32,61,58,61,32>>,{code,[],[<<108,101,110,103,116,104,40,65,114,103,115,41>>]},<<41,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,115,32,97,110,121,32,109,101,115,115,97,103,101,32,105,110,32,105,116,115,32,109,101,115,115,97,103,101,32,113,117,101,117,101,44,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,97,119,97,107,101,110,101,100,32,105,109,109,101,100,105,97,116,101,108,121,32,105,110,32,116,104,101,32,115,97,109,101,32,119,97,121,32,97,115,32,100,101,115,99,114,105,98,101,100,32,101,97,114,108,105,101,114,46>>]},{p,[],[<<73,110,32,109,111,114,101,32,116,101,99,104,110,105,99,97,108,32,116,101,114,109,115,44,32>>,{code,[],[<<101,114,108,97,110,103,58,104,105,98,101,114,110,97,116,101,47,51>>]},<<32,100,105,115,99,97,114,100,115,32,116,104,101,32,99,97,108,108,32,115,116,97,99,107,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,44,32,97,110,100,32,116,104,101,110,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,115,32,116,104,101,32,112,114,111,99,101,115,115,46,32,65,102,116,101,114,32,116,104,105,115,44,32,97,108,108,32,108,105,118,101,32,100,97,116,97,32,105,115,32,105,110,32,111,110,101,32,99,111,110,116,105,110,117,111,117,115,32,104,101,97,112,46,32,84,104,101,32,104,101,97,112,32,105,115,32,116,104,101,110,32,115,104,114,117,110,107,101,110,32,116,111,32,116,104,101,32,101,120,97,99,116,32,115,97,109,101,32,115,105,122,101,32,97,115,32,116,104,101,32,108,105,118,101,32,100,97,116,97,32,116,104,97,116,32,105,116,32,104,111,108,100,115,32,40,101,118,101,110,32,105,102,32,116,104,97,116,32,115,105,122,101,32,105,115,32,108,101,115,115,32,116,104,97,110,32,116,104,101,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,41,46>>]},{p,[],[<<73,102,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,108,105,118,101,32,100,97,116,97,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,108,101,115,115,32,116,104,97,110,32,116,104,101,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,44,32,116,104,101,32,102,105,114,115,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,111,99,99,117,114,114,105,110,103,32,97,102,116,101,114,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,97,119,97,107,101,110,101,100,32,101,110,115,117,114,101,115,32,116,104,97,116,32,116,104,101,32,104,101,97,112,32,115,105,122,101,32,105,115,32,99,104,97,110,103,101,100,32,116,111,32,97,32,115,105,122,101,32,110,111,116,32,115,109,97,108,108,101,114,32,116,104,97,110,32,116,104,101,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,101,109,112,116,121,105,110,103,32,116,104,101,32,99,97,108,108,32,115,116,97,99,107,32,109,101,97,110,115,32,116,104,97,116,32,97,110,121,32,115,117,114,114,111,117,110,100,105,110,103,32>>,{code,[],[<<99,97,116,99,104>>]},<<32,105,115,32,114,101,109,111,118,101,100,32,97,110,100,32,109,117,115,116,32,98,101,32,114,101,45,105,110,115,101,114,116,101,100,32,97,102,116,101,114,32,104,105,98,101,114,110,97,116,105,111,110,46,32,79,110,101,32,101,102,102,101,99,116,32,111,102,32,116,104,105,115,32,105,115,32,116,104,97,116,32,112,114,111,99,101,115,115,101,115,32,115,116,97,114,116,101,100,32,117,115,105,110,103,32>>,{code,[],[<<112,114,111,99,95,108,105,98>>]},<<32,40,97,108,115,111,32,105,110,100,105,114,101,99,116,108,121,44,32,115,117,99,104,32,97,115,32>>,{code,[],[<<103,101,110,95,115,101,114,118,101,114>>]},<<32,112,114,111,99,101,115,115,101,115,41,44,32,97,114,101,32,116,111,32,117,115,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,112,114,111,99,95,108,105,98,35,104,105,98,101,114,110,97,116,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,95,108,105,98,58,104,105,98,101,114,110,97,116,101,47,51>>]}]},<<32,105,110,115,116,101,97,100,44,32,116,111,32,101,110,115,117,114,101,32,116,104,97,116,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,104,97,110,100,108,101,114,32,99,111,110,116,105,110,117,101,115,32,116,111,32,119,111,114,107,32,119,104,101,110,32,116,104,101,32,112,114,111,99,101,115,115,32,119,97,107,101,115,32,117,112,46>>]}]},#{signature => [{attribute,{1422,2},spec,{{erlang,hibernate,3},[{type,{1422,23},bounded_fun,[{type,{1422,23},'fun',[{type,{1422,23},product,[{var,{1422,24},'Module'},{var,{1422,32},'Function'},{var,{1422,42},'Args'}]},{type,{1422,51},no_return,[]}]},[{type,{1423,7},constraint,[{atom,{1423,7},is_subtype},[{var,{1423,7},'Module'},{type,{1423,17},module,[]}]]},{type,{1424,7},constraint,[{atom,{1424,7},is_subtype},[{var,{1424,7},'Function'},{type,{1424,19},atom,[]}]]},{type,{1425,7},constraint,[{atom,{1425,7},is_subtype},[{var,{1425,7},'Args'},{type,{1425,15},list,[{type,{1425,16},term,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,49,53,54>>}},{{function,insert_element,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1430}],[<<105,110,115,101,114,116,95,101,108,101,109,101,110,116,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,110,101,119,32,116,117,112,108,101,32,119,105,116,104,32,101,108,101,109,101,110,116,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,110,115,101,114,116,101,100,32,97,116,32,112,111,115,105,116,105,111,110,32>>,{code,[],[<<73,110,100,101,120>>]},<<32,105,110,32,116,117,112,108,101,32>>,{code,[],[<<84,117,112,108,101,49>>]},<<46,32,65,108,108,32,101,108,101,109,101,110,116,115,32,102,114,111,109,32,112,111,115,105,116,105,111,110,32>>,{code,[],[<<73,110,100,101,120>>]},<<32,97,110,100,32,117,112,119,97,114,100,115,32,97,114,101,32,112,117,115,104,101,100,32,111,110,101,32,115,116,101,112,32,104,105,103,104,101,114,32,105,110,32,116,104,101,32,110,101,119,32,116,117,112,108,101,32>>,{code,[],[<<84,117,112,108,101,50>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,105,110,115,101,114,116,95,101,108,101,109,101,110,116,40,50,44,32,123,111,110,101,44,32,116,119,111,44,32,116,104,114,101,101,125,44,32,110,101,119,41,46,10,123,111,110,101,44,110,101,119,44,116,119,111,44,116,104,114,101,101,125>>]}]}]},#{signature => [{attribute,{1430,2},spec,{{erlang,insert_element,3},[{type,{1430,28},bounded_fun,[{type,{1430,28},'fun',[{type,{1430,28},product,[{var,{1430,29},'Index'},{var,{1430,36},'Tuple1'},{var,{1430,44},'Term'}]},{var,{1430,53},'Tuple2'}]},[{type,{1431,7},constraint,[{atom,{1431,7},is_subtype},[{var,{1431,7},'Index'},{type,{1431,17},pos_integer,[]}]]},{type,{1432,7},constraint,[{atom,{1432,7},is_subtype},[{var,{1432,7},'Tuple1'},{type,{1432,17},tuple,any}]]},{type,{1433,7},constraint,[{atom,{1433,7},is_subtype},[{var,{1433,7},'Tuple2'},{type,{1433,17},tuple,any}]]},{type,{1434,7},constraint,[{atom,{1434,7},is_subtype},[{var,{1434,7},'Term'},{type,{1434,17},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,48,48>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,integer_to_binary,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1439}],[<<105,110,116,101,103,101,114,95,116,111,95,98,105,110,97,114,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<73,110,116,101,103,101,114>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,105,110,116,101,103,101,114,95,116,111,95,98,105,110,97,114,121,40,55,55,41,46,10,60,60,34,55,55,34,62,62>>]}]}]},#{signature => [{attribute,{1439,2},spec,{{integer_to_binary,1},[{type,{1439,24},bounded_fun,[{type,{1439,24},'fun',[{type,{1439,24},product,[{var,{1439,25},'Integer'}]},{type,{1439,37},binary,[]}]},[{type,{1440,7},constraint,[{atom,{1440,7},is_subtype},[{var,{1440,7},'Integer'},{type,{1440,18},integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,49,56>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,integer_to_binary,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4099}],[<<105,110,116,101,103,101,114,95,116,111,95,98,105,110,97,114,121,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<73,110,116,101,103,101,114>>]},<<32,105,110,32,98,97,115,101,32>>,{code,[],[<<66,97,115,101>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,105,110,116,101,103,101,114,95,116,111,95,98,105,110,97,114,121,40,49,48,50,51,44,32,49,54,41,46,10,60,60,34,51,70,70,34,62,62>>]}]}]},#{signature => [{attribute,{4099,2},spec,{{integer_to_binary,2},[{type,{4099,24},bounded_fun,[{type,{4099,24},'fun',[{type,{4099,24},product,[{var,{4099,25},'Integer'},{var,{4099,34},'Base'}]},{type,{4099,43},binary,[]}]},[{type,{4100,7},constraint,[{atom,{4100,7},is_subtype},[{var,{4100,7},'Integer'},{type,{4100,18},integer,[]}]]},{type,{4101,7},constraint,[{atom,{4101,7},is_subtype},[{var,{4101,7},'Base'},{type,{4101,15},range,[{integer,{4101,15},2},{integer,{4101,18},36}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,51,48>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,integer_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1445}],[<<105,110,116,101,103,101,114,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<73,110,116,101,103,101,114>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,105,110,116,101,103,101,114,95,116,111,95,108,105,115,116,40,55,55,41,46,10,34,55,55,34>>]}]}]},#{signature => [{attribute,{1445,2},spec,{{integer_to_list,1},[{type,{1445,22},bounded_fun,[{type,{1445,22},'fun',[{type,{1445,22},product,[{var,{1445,23},'Integer'}]},{type,{1445,35},string,[]}]},[{type,{1446,7},constraint,[{atom,{1446,7},is_subtype},[{var,{1446,7},'Integer'},{type,{1446,18},integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,52,51>>}},{{function,integer_to_list,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4093}],[<<105,110,116,101,103,101,114,95,116,111,95,108,105,115,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<73,110,116,101,103,101,114>>]},<<32,105,110,32,98,97,115,101,32>>,{code,[],[<<66,97,115,101>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,105,110,116,101,103,101,114,95,116,111,95,108,105,115,116,40,49,48,50,51,44,32,49,54,41,46,10,34,51,70,70,34>>]}]}]},#{signature => [{attribute,{4093,2},spec,{{integer_to_list,2},[{type,{4093,22},bounded_fun,[{type,{4093,22},'fun',[{type,{4093,22},product,[{var,{4093,23},'Integer'},{var,{4093,32},'Base'}]},{type,{4093,41},string,[]}]},[{type,{4094,7},constraint,[{atom,{4094,7},is_subtype},[{var,{4094,7},'Integer'},{type,{4094,18},integer,[]}]]},{type,{4095,7},constraint,[{atom,{4095,7},is_subtype},[{var,{4095,7},'Base'},{type,{4095,15},range,[{integer,{4095,15},2},{integer,{4095,18},36}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,53,53>>}},{{function,iolist_size,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1451}],[<<105,111,108,105,115,116,95,115,105,122,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,44,32,116,104,97,116,32,105,115,32,116,104,101,32,115,105,122,101,32,105,110,32,98,121,116,101,115,44,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,116,104,97,116,32,119,111,117,108,100,32,98,101,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32>>,{code,[],[<<105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,73,116,101,109,41>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,105,111,108,105,115,116,95,115,105,122,101,40,91,49,44,50,124,60,60,51,44,52,62,62,93,41,46,10,52>>]}]}]},#{signature => [{attribute,{1451,2},spec,{{iolist_size,1},[{type,{1451,18},bounded_fun,[{type,{1451,18},'fun',[{type,{1451,18},product,[{var,{1451,19},'Item'}]},{type,{1451,28},non_neg_integer,[]}]},[{type,{1452,7},constraint,[{atom,{1452,7},is_subtype},[{var,{1452,7},'Item'},{type,{1452,15},union,[{type,{1452,15},iolist,[]},{type,{1452,26},binary,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,54,56>>}},{{function,iolist_to_binary,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1457}],[<<105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,116,104,97,116,32,105,115,32,109,97,100,101,32,102,114,111,109,32,116,104,101,32,105,110,116,101,103,101,114,115,32,97,110,100,32,98,105,110,97,114,105,101,115,32,105,110,32>>,{code,[],[<<73,111,76,105,115,116,79,114,66,105,110,97,114,121>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,66,105,110,49,32,61,32,60,60,49,44,50,44,51,62,62,46,10,60,60,49,44,50,44,51,62,62,10,62,32,66,105,110,50,32,61,32,60,60,52,44,53,62,62,46,10,60,60,52,44,53,62,62,10,62,32,66,105,110,51,32,61,32,60,60,54,62,62,46,10,60,60,54,62,62,10,62,32,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,91,66,105,110,49,44,49,44,91,50,44,51,44,66,105,110,50,93,44,52,124,66,105,110,51,93,41,46,10,60,60,49,44,50,44,51,44,49,44,50,44,51,44,52,44,53,44,52,44,54,62,62>>]}]}]},#{signature => [{attribute,{1457,2},spec,{{iolist_to_binary,1},[{type,{1457,23},bounded_fun,[{type,{1457,23},'fun',[{type,{1457,23},product,[{var,{1457,24},'IoListOrBinary'}]},{type,{1457,43},binary,[]}]},[{type,{1458,7},constraint,[{atom,{1458,7},is_subtype},[{var,{1458,7},'IoListOrBinary'},{type,{1458,25},union,[{type,{1458,25},iolist,[]},{type,{1458,36},binary,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,56,49>>}},{{function,iolist_to_iovec,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1463}],[<<105,111,108,105,115,116,95,116,111,95,105,111,118,101,99,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,105,111,118,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<105,111,118,101,99>>]},<<32,116,104,97,116,32,105,115,32,109,97,100,101,32,102,114,111,109,32,116,104,101,32,105,110,116,101,103,101,114,115,32,97,110,100,32,98,105,110,97,114,105,101,115,32,105,110,32>>,{code,[],[<<73,111,76,105,115,116,79,114,66,105,110,97,114,121>>]},<<46,32,84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,117,115,101,102,117,108,32,119,104,101,110,32,121,111,117,32,119,97,110,116,32,116,111,32,102,108,97,116,116,101,110,32,97,110,32,105,111,108,105,115,116,32,98,117,116,32,121,111,117,32,100,111,32,110,111,116,32,110,101,101,100,32,97,32,115,105,110,103,108,101,32,98,105,110,97,114,121,46,32,84,104,105,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,32,102,111,114,32,112,97,115,115,105,110,103,32,116,104,101,32,100,97,116,97,32,116,111,32,110,105,102,32,102,117,110,99,116,105,111,110,115,32,115,117,99,104,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,110,105,102,35,101,110,105,102,95,105,110,115,112,101,99,116,95,105,111,118,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,110,105,102,95,105,110,115,112,101,99,116,95,105,111,118,101,99>>]}]},<<32,111,114,32,100,111,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,109,101,115,115,97,103,101,32,112,97,115,115,105,110,103,46,32,84,104,101,32,97,100,118,97,110,116,97,103,101,32,111,102,32,117,115,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,111,118,101,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49>>]}]},<<32,105,115,32,116,104,97,116,32,105,116,32,100,111,101,115,32,110,111,116,32,104,97,118,101,32,116,111,32,99,111,112,121,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,98,105,110,97,114,121,104,97,110,100,108,105,110,103,35,114,101,102,99,95,98,105,110,97,114,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<111,102,102,45,104,101,97,112,32,98,105,110,97,114,105,101,115>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,66,105,110,49,32,61,32,60,60,49,44,50,44,51,62,62,46,10,60,60,49,44,50,44,51,62,62,10,62,32,66,105,110,50,32,61,32,60,60,52,44,53,62,62,46,10,60,60,52,44,53,62,62,10,62,32,66,105,110,51,32,61,32,60,60,54,62,62,46,10,60,60,54,62,62,10,37,37,32,73,102,32,121,111,117,32,112,97,115,115,32,115,109,97,108,108,32,98,105,110,97,114,105,101,115,32,97,110,100,32,105,110,116,101,103,101,114,115,32,105,116,32,119,111,114,107,115,32,97,115,32,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,10,62,32,101,114,108,97,110,103,58,105,111,108,105,115,116,95,116,111,95,105,111,118,101,99,40,91,66,105,110,49,44,49,44,91,50,44,51,44,66,105,110,50,93,44,52,124,66,105,110,51,93,41,46,10,91,60,60,49,44,50,44,51,44,49,44,50,44,51,44,52,44,53,44,52,44,54,62,62,93,10,37,37,32,73,102,32,121,111,117,32,112,97,115,115,32,108,97,114,103,101,114,32,98,105,110,97,114,105,101,115,44,32,116,104,101,121,32,97,114,101,32,115,112,108,105,116,32,97,110,100,32,114,101,116,117,114,110,101,100,32,105,110,32,97,32,102,111,114,109,10,37,37,32,111,112,116,105,109,105,122,101,100,32,102,111,114,32,99,97,108,108,105,110,103,32,116,104,101,32,67,32,102,117,110,99,116,105,111,110,32,119,114,105,116,101,118,46,10,62,32,101,114,108,97,110,103,58,105,111,108,105,115,116,95,116,111,95,105,111,118,101,99,40,91,60,60,49,62,62,44,60,60,50,58,56,48,57,54,62,62,44,60,60,51,58,56,48,57,54,62,62,93,41,46,10,91,60,60,49,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,10,32,32,32,48,44,46,46,46,62,62,44,10,32,60,60,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,10,32,32,32,46,46,46,62,62,44,10,32,60,60,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,46,46,46,62,62,93>>]}]}]},#{signature => [{attribute,{1463,2},spec,{{erlang,iolist_to_iovec,1},[{type,{1463,29},bounded_fun,[{type,{1463,29},'fun',[{type,{1463,29},product,[{var,{1463,30},'IoListOrBinary'}]},{user_type,{1463,49},iovec,[]}]},[{type,{1464,7},constraint,[{atom,{1464,7},is_subtype},[{var,{1464,7},'IoListOrBinary'},{type,{1464,25},union,[{type,{1464,25},iolist,[]},{type,{1464,36},binary,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,50,57,57>>,since => <<79,84,80,32,50,48,46,49>>}},{{function,is_alive,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1469}],[<<105,115,95,97,108,105,118,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,97,108,105,118,101,32,40,116,104,97,116,32,105,115,44,32,105,102,32,116,104,101,32,110,111,100,101,32,99,97,110,32,98,101,32,112,97,114,116,32,111,102,32,97,32,100,105,115,116,114,105,98,117,116,101,100,32,115,121,115,116,101,109,41,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46,32,65,32,110,111,100,101,32,105,115,32,97,108,105,118,101,32,105,102,32,105,116,32,105,115,32,115,116,97,114,116,101,100,32,119,105,116,104,58>>]},{ol,[],[{li,[],[{a,[{href,<<101,114,116,115,58,101,114,108,35,110,97,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<34,101,114,108,32,45,110,97,109,101,32,76,79,78,71,78,65,77,69,34>>]}]},<<32,111,114,44>>]},{li,[],[{a,[{href,<<101,114,116,115,58,101,114,108,35,115,110,97,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<34,101,114,108,32,45,115,110,97,109,101,32,83,72,79,82,84,78,65,77,69,34>>]}]},<<46>>]}]},{p,[],[<<65,32,110,111,100,101,32,99,97,110,32,97,108,115,111,32,98,101,32,97,108,105,118,101,32,105,102,32,105,116,32,104,97,115,32,103,111,116,32,97,32,110,97,109,101,32,102,114,111,109,32,97,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,110,101,116,95,107,101,114,110,101,108,35,115,116,97,114,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,101,116,95,107,101,114,110,101,108,58,115,116,97,114,116,47,50>>]}]},<<32,97,110,100,32,104,97,115,32,110,111,116,32,98,101,101,110,32,115,116,111,112,112,101,100,32,98,121,32,97,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,110,101,116,95,107,101,114,110,101,108,35,115,116,111,112,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,101,116,95,107,101,114,110,101,108,58,115,116,111,112,47,48>>]}]},<<46>>]}]},#{signature => [{attribute,{1469,2},spec,{{is_alive,0},[{type,{1469,15},'fun',[{type,{1469,15},product,[]},{type,{1469,21},boolean,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,51,51,54>>}},{{function,is_atom,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2435}],[<<105,115,95,97,116,111,109,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,110,32,97,116,111,109,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2435,2},spec,{{is_atom,1},[{type,{2435,14},bounded_fun,[{type,{2435,14},'fun',[{type,{2435,14},product,[{var,{2435,15},'Term'}]},{type,{2435,24},boolean,[]}]},[{type,{2436,7},constraint,[{atom,{2436,7},is_subtype},[{var,{2436,7},'Term'},{type,{2436,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,51,53,53>>}},{{function,is_binary,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2441}],[<<105,115,95,98,105,110,97,114,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,98,105,110,97,114,121,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,32,98,105,110,97,114,121,32,97,108,119,97,121,115,32,99,111,110,116,97,105,110,115,32,97,32,99,111,109,112,108,101,116,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2441,2},spec,{{is_binary,1},[{type,{2441,16},bounded_fun,[{type,{2441,16},'fun',[{type,{2441,16},product,[{var,{2441,17},'Term'}]},{type,{2441,26},boolean,[]}]},[{type,{2442,7},constraint,[{atom,{2442,7},is_subtype},[{var,{2442,7},'Term'},{type,{2442,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,51,54,53>>}},{{function,is_bitstring,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2447}],[<<105,115,95,98,105,116,115,116,114,105,110,103,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,98,105,116,115,116,114,105,110,103,32,40,105,110,99,108,117,100,105,110,103,32,97,32,98,105,110,97,114,121,41,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2447,2},spec,{{is_bitstring,1},[{type,{2447,19},bounded_fun,[{type,{2447,19},'fun',[{type,{2447,19},product,[{var,{2447,20},'Term'}]},{type,{2447,29},boolean,[]}]},[{type,{2448,7},constraint,[{atom,{2448,7},is_subtype},[{var,{2448,7},'Term'},{type,{2448,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,51,55,54>>}},{{function,is_boolean,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2453}],[<<105,115,95,98,111,111,108,101,97,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<116,114,117,101>>]},<<32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,40,116,104,97,116,32,105,115,44,32,97,32,98,111,111,108,101,97,110,41,46,32,79,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2453,2},spec,{{is_boolean,1},[{type,{2453,17},bounded_fun,[{type,{2453,17},'fun',[{type,{2453,17},product,[{var,{2453,18},'Term'}]},{type,{2453,27},boolean,[]}]},[{type,{2454,7},constraint,[{atom,{2454,7},is_subtype},[{var,{2454,7},'Term'},{type,{2454,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,51,56,54>>}},{{function,is_builtin,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1474}],[<<105,115,95,98,117,105,108,116,105,110,47,51>>],#{<<101,110>> => [{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,117,115,101,102,117,108,32,102,111,114,32,98,117,105,108,100,101,114,115,32,111,102,32,99,114,111,115,115,45,114,101,102,101,114,101,110,99,101,32,116,111,111,108,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,47,65,114,105,116,121>>]},<<32,105,115,32,97,32,66,73,70,32,105,109,112,108,101,109,101,110,116,101,100,32,105,110,32,67,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},#{signature => [{attribute,{1474,2},spec,{{erlang,is_builtin,3},[{type,{1474,24},bounded_fun,[{type,{1474,24},'fun',[{type,{1474,24},product,[{var,{1474,25},'Module'},{var,{1474,33},'Function'},{var,{1474,43},'Arity'}]},{type,{1474,53},boolean,[]}]},[{type,{1475,7},constraint,[{atom,{1475,7},is_subtype},[{var,{1475,7},'Module'},{type,{1475,17},module,[]}]]},{type,{1476,7},constraint,[{atom,{1476,7},is_subtype},[{var,{1476,7},'Function'},{type,{1476,19},atom,[]}]]},{type,{1477,7},constraint,[{atom,{1477,7},is_subtype},[{var,{1477,7},'Arity'},{type,{1477,16},arity,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,51,57,55>>}},{{function,is_float,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2459}],[<<105,115,95,102,108,111,97,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,102,108,111,97,116,105,110,103,32,112,111,105,110,116,32,110,117,109,98,101,114,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2459,2},spec,{{is_float,1},[{type,{2459,15},bounded_fun,[{type,{2459,15},'fun',[{type,{2459,15},product,[{var,{2459,16},'Term'}]},{type,{2459,25},boolean,[]}]},[{type,{2460,7},constraint,[{atom,{2460,7},is_subtype},[{var,{2460,7},'Term'},{type,{2460,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,52,48,56>>}},{{function,is_function,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2465}],[<<105,115,95,102,117,110,99,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,102,117,110,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2465,2},spec,{{is_function,1},[{type,{2465,18},bounded_fun,[{type,{2465,18},'fun',[{type,{2465,18},product,[{var,{2465,19},'Term'}]},{type,{2465,28},boolean,[]}]},[{type,{2466,7},constraint,[{atom,{2466,7},is_subtype},[{var,{2466,7},'Term'},{type,{2466,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,52,49,56>>}},{{function,is_function,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2471}],[<<105,115,95,102,117,110,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,102,117,110,32,116,104,97,116,32,99,97,110,32,98,101,32,97,112,112,108,105,101,100,32,119,105,116,104,32>>,{code,[],[<<65,114,105,116,121>>]},<<32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2471,2},spec,{{is_function,2},[{type,{2471,18},bounded_fun,[{type,{2471,18},'fun',[{type,{2471,18},product,[{var,{2471,19},'Term'},{var,{2471,25},'Arity'}]},{type,{2471,35},boolean,[]}]},[{type,{2472,7},constraint,[{atom,{2472,7},is_subtype},[{var,{2472,7},'Term'},{type,{2472,15},term,[]}]]},{type,{2473,7},constraint,[{atom,{2473,7},is_subtype},[{var,{2473,7},'Arity'},{type,{2473,16},arity,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,52,50,56>>}},{{function,is_integer,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2478}],[<<105,115,95,105,110,116,101,103,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2478,2},spec,{{is_integer,1},[{type,{2478,17},bounded_fun,[{type,{2478,17},'fun',[{type,{2478,17},product,[{var,{2478,18},'Term'}]},{type,{2478,27},boolean,[]}]},[{type,{2479,7},constraint,[{atom,{2479,7},is_subtype},[{var,{2479,7},'Term'},{type,{2479,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,52,52,48>>}},{{function,is_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2484}],[<<105,115,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,108,105,115,116,32,119,105,116,104,32,122,101,114,111,32,111,114,32,109,111,114,101,32,101,108,101,109,101,110,116,115,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2484,2},spec,{{is_list,1},[{type,{2484,14},bounded_fun,[{type,{2484,14},'fun',[{type,{2484,14},product,[{var,{2484,15},'Term'}]},{type,{2484,24},boolean,[]}]},[{type,{2485,7},constraint,[{atom,{2485,7},is_subtype},[{var,{2485,7},'Term'},{type,{2485,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,52,53,48>>}},{{function,is_map,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2502}],[<<105,115,95,109,97,112,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,109,97,112,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2502,2},spec,{{is_map,1},[{type,{2502,13},bounded_fun,[{type,{2502,13},'fun',[{type,{2502,13},product,[{var,{2502,14},'Term'}]},{type,{2502,23},boolean,[]}]},[{type,{2503,7},constraint,[{atom,{2503,7},is_subtype},[{var,{2503,7},'Term'},{type,{2503,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,52,54,48>>,since => <<79,84,80,32,49,55,46,48>>}},{{function,is_map_key,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1482}],[<<105,115,95,109,97,112,95,107,101,121,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,109,97,112,32>>,{code,[],[<<77,97,112>>]},<<32,99,111,110,116,97,105,110,115,32>>,{code,[],[<<75,101,121>>]},<<32,97,110,100,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,105,116,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,116,104,101,32>>,{code,[],[<<75,101,121>>]},<<46>>]},{p,[],[<<84,104,101,32,99,97,108,108,32,102,97,105,108,115,32,119,105,116,104,32,97,32>>,{code,[],[<<123,98,97,100,109,97,112,44,77,97,112,125>>]},<<32,101,120,99,101,112,116,105,111,110,32,105,102,32>>,{code,[],[<<77,97,112>>]},<<32,105,115,32,110,111,116,32,97,32,109,97,112,46>>]},{p,[],[{em,[],[<<69,120,97,109,112,108,101,58>>]}]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<62,32,77,97,112,32,61,32,35,123,34,52,50,34,32,61,62,32,118,97,108,117,101,125,46,10,35,123,34,52,50,34,32,61,62,32,118,97,108,117,101,125,10,62,32,105,115,95,109,97,112,95,107,101,121,40,34,52,50,34,44,77,97,112,41,46,10,116,114,117,101,10,62,32,105,115,95,109,97,112,95,107,101,121,40,118,97,108,117,101,44,77,97,112,41,46,10,102,97,108,115,101>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{1482,2},spec,{{is_map_key,2},[{type,{1482,17},bounded_fun,[{type,{1482,17},'fun',[{type,{1482,17},product,[{var,{1482,18},'Key'},{var,{1482,23},'Map'}]},{type,{1482,31},boolean,[]}]},[{type,{1483,5},constraint,[{atom,{1483,5},is_subtype},[{var,{1483,5},'Key'},{type,{1483,12},term,[]}]]},{type,{1484,5},constraint,[{atom,{1484,5},is_subtype},[{var,{1484,5},'Map'},{type,{1484,12},map,any}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,52,55,48>>,since => <<79,84,80,32,50,49,46,48>>}},{{function,is_number,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2490}],[<<105,115,95,110,117,109,98,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,111,114,32,97,32,102,108,111,97,116,105,110,103,32,112,111,105,110,116,32,110,117,109,98,101,114,46,32,79,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2490,2},spec,{{is_number,1},[{type,{2490,16},bounded_fun,[{type,{2490,16},'fun',[{type,{2490,16},product,[{var,{2490,17},'Term'}]},{type,{2490,26},boolean,[]}]},[{type,{2491,7},constraint,[{atom,{2491,7},is_subtype},[{var,{2491,7},'Term'},{type,{2491,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,52,57,49>>}},{{function,is_pid,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2496}],[<<105,115,95,112,105,100,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2496,2},spec,{{is_pid,1},[{type,{2496,13},bounded_fun,[{type,{2496,13},'fun',[{type,{2496,13},product,[{var,{2496,14},'Term'}]},{type,{2496,23},boolean,[]}]},[{type,{2497,7},constraint,[{atom,{2497,7},is_subtype},[{var,{2497,7},'Term'},{type,{2497,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,53,48,49>>}},{{function,is_port,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2508}],[<<105,115,95,112,111,114,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2508,2},spec,{{is_port,1},[{type,{2508,14},bounded_fun,[{type,{2508,14},'fun',[{type,{2508,14},product,[{var,{2508,15},'Term'}]},{type,{2508,24},boolean,[]}]},[{type,{2509,7},constraint,[{atom,{2509,7},is_subtype},[{var,{2509,7},'Term'},{type,{2509,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,53,49,49>>}},{{function,is_process_alive,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1489}],[<<105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,47,49>>],#{<<101,110>> => [{p,[],[{code,[],[<<80,105,100>>]},<<32,109,117,115,116,32,114,101,102,101,114,32,116,111,32,97,32,112,114,111,99,101,115,115,32,97,116,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,101,120,105,115,116,115,32,97,110,100,32,105,115,32,97,108,105,118,101,44,32,116,104,97,116,32,105,115,44,32,105,115,32,110,111,116,32,101,120,105,116,105,110,103,32,97,110,100,32,104,97,115,32,110,111,116,32,101,120,105,116,101,100,46,32,79,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<73,102,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,49>>]},<<32,99,97,108,108,115,32>>,{code,[],[<<105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,40,80,50,80,105,100,41>>]},<<32,105,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,104,97,116,32,97,108,108,32,115,105,103,110,97,108,115,44,32,115,101,110,116,32,102,114,111,109,32>>,{code,[],[<<80,49>>]},<<32,116,111,32>>,{code,[],[<<80,50>>]},<<32,40>>,{code,[],[<<80,50>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,119,105,116,104,32,105,100,101,110,116,105,102,105,101,114,32>>,{code,[],[<<80,50,80,105,100>>]},<<41,32,98,101,102,111,114,101,32,116,104,101,32,99,97,108,108,44,32,119,105,108,108,32,98,101,32,100,101,108,105,118,101,114,101,100,32,116,111,32>>,{code,[],[<<80,50>>]},<<32,98,101,102,111,114,101,32,116,104,101,32,97,108,105,118,101,110,101,115,115,32,111,102,32>>,{code,[],[<<80,50>>]},<<32,105,115,32,99,104,101,99,107,101,100,46,32,84,104,105,115,32,103,117,97,114,97,110,116,101,101,32,109,101,97,110,115,32,116,104,97,116,32,111,110,101,32,99,97,110,32,117,115,101,32>>,{code,[],[<<105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,47,49>>]},<<32,116,111,32,108,101,116,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,49>>]},<<32,119,97,105,116,32,117,110,116,105,108,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,50>>]},<<44,32,119,104,105,99,104,32,104,97,115,32,103,111,116,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<107,105,108,108>>]},<<32,102,114,111,109,32,80,49,44,32,105,115,32,107,105,108,108,101,100,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<101,120,105,116,40,80,50,80,105,100,44,32,107,105,108,108,41,44,10,37,32,80,50,32,109,105,103,104,116,32,110,111,116,32,98,101,32,107,105,108,108,101,100,10,105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,40,80,50,80,105,100,41,44,10,37,32,80,50,32,105,115,32,110,111,116,32,97,108,105,118,101,32,40,116,104,101,32,99,97,108,108,32,97,98,111,118,101,32,97,108,119,97,121,115,32,114,101,116,117,114,110,32,102,97,108,115,101,41>>]}]},{p,[],[<<83,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,97,98,111,117,116,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,105,103,110,97,108,115>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,105,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<101,114,108,97,110,103,58,101,120,105,116,47,50>>]},<<32,102,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,115,105,103,110,97,108,115,32,97,110,100,32,101,120,105,116,32,115,105,103,110,97,108,115,46>>]}]},#{signature => [{attribute,{1489,2},spec,{{is_process_alive,1},[{type,{1489,23},bounded_fun,[{type,{1489,23},'fun',[{type,{1489,23},product,[{var,{1489,24},'Pid'}]},{type,{1489,32},boolean,[]}]},[{type,{1490,7},constraint,[{atom,{1490,7},is_subtype},[{var,{1490,7},'Pid'},{type,{1490,14},pid,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,53,50,49>>}},{{function,is_record,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2514}],[<<105,115,95,114,101,99,111,114,100,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,116,117,112,108,101,32,97,110,100,32,105,116,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<82,101,99,111,114,100,84,97,103>>]},<<46,32,79,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<78,111,114,109,97,108,108,121,32,116,104,101,32,99,111,109,112,105,108,101,114,32,116,114,101,97,116,115,32,99,97,108,108,115,32,116,111,32>>,{code,[],[<<105,115,95,114,101,99,111,114,100,47,50>>]},<<32,101,115,112,101,99,105,97,108,108,121,46,32,73,116,32,101,109,105,116,115,32,99,111,100,101,32,116,111,32,118,101,114,105,102,121,32,116,104,97,116,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,116,117,112,108,101,44,32,116,104,97,116,32,105,116,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<82,101,99,111,114,100,84,97,103>>]},<<44,32,97,110,100,32,116,104,97,116,32,116,104,101,32,115,105,122,101,32,105,115,32,99,111,114,114,101,99,116,46,32,72,111,119,101,118,101,114,44,32,105,102,32>>,{code,[],[<<82,101,99,111,114,100,84,97,103>>]},<<32,105,115,32,110,111,116,32,97,32,108,105,116,101,114,97,108,32,97,116,111,109,44,32,116,104,101,32,66,73,70,32>>,{code,[],[<<105,115,95,114,101,99,111,114,100,47,50>>]},<<32,105,115,32,99,97,108,108,101,100,32,105,110,115,116,101,97,100,32,97,110,100,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,116,117,112,108,101,32,105,115,32,110,111,116,32,118,101,114,105,102,105,101,100,46>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,44,32,105,102,32>>,{code,[],[<<82,101,99,111,114,100,84,97,103>>]},<<32,105,115,32,97,32,108,105,116,101,114,97,108,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{2514,2},spec,{{is_record,2},[{type,{2514,16},bounded_fun,[{type,{2514,16},'fun',[{type,{2514,16},product,[{var,{2514,17},'Term'},{var,{2514,22},'RecordTag'}]},{type,{2514,36},boolean,[]}]},[{type,{2515,7},constraint,[{atom,{2515,7},is_subtype},[{var,{2515,7},'Term'},{type,{2515,15},term,[]}]]},{type,{2516,7},constraint,[{atom,{2516,7},is_subtype},[{var,{2516,7},'RecordTag'},{type,{2516,20},atom,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,53,53,51>>}},{{function,is_record,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2521}],[<<105,115,95,114,101,99,111,114,100,47,51>>],#{<<101,110>> => [{p,[],[{code,[],[<<82,101,99,111,114,100,84,97,103>>]},<<32,109,117,115,116,32,98,101,32,97,110,32,97,116,111,109,46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,116,117,112,108,101,44,32,105,116,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<82,101,99,111,114,100,84,97,103>>]},<<44,32,97,110,100,32,105,116,115,32,115,105,122,101,32,105,115,32>>,{code,[],[<<83,105,122,101>>]},<<46,32,79,116,104,101,114,119,105,115,101,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,32,105,102,32>>,{code,[],[<<82,101,99,111,114,100,84,97,103>>]},<<32,105,115,32,97,32,108,105,116,101,114,97,108,32,97,116,111,109,32,97,110,100,32>>,{code,[],[<<83,105,122,101>>]},<<32,105,115,32,97,32,108,105,116,101,114,97,108,32,105,110,116,101,103,101,114,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,100,111,99,117,109,101,110,116,101,100,32,102,111,114,32,99,111,109,112,108,101,116,101,110,101,115,115,46,32,85,115,117,97,108,108,121,32>>,{code,[],[<<105,115,95,114,101,99,111,114,100,47,50>>]},<<32,105,115,32,116,111,32,98,101,32,117,115,101,100,46>>]}]}]},#{signature => [{attribute,{2521,2},spec,{{is_record,3},[{type,{2521,16},bounded_fun,[{type,{2521,16},'fun',[{type,{2521,16},product,[{var,{2521,17},'Term'},{var,{2521,22},'RecordTag'},{var,{2521,32},'Size'}]},{type,{2521,41},boolean,[]}]},[{type,{2522,7},constraint,[{atom,{2522,7},is_subtype},[{var,{2522,7},'Term'},{type,{2522,15},term,[]}]]},{type,{2523,7},constraint,[{atom,{2523,7},is_subtype},[{var,{2523,7},'RecordTag'},{type,{2523,20},atom,[]}]]},{type,{2524,7},constraint,[{atom,{2524,7},is_subtype},[{var,{2524,7},'Size'},{type,{2524,15},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,53,55,52>>}},{{function,is_reference,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2529}],[<<105,115,95,114,101,102,101,114,101,110,99,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,114,101,102,101,114,101,110,99,101,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2529,2},spec,{{is_reference,1},[{type,{2529,19},bounded_fun,[{type,{2529,19},'fun',[{type,{2529,19},product,[{var,{2529,20},'Term'}]},{type,{2529,29},boolean,[]}]},[{type,{2530,7},constraint,[{atom,{2530,7},is_subtype},[{var,{2530,7},'Term'},{type,{2530,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,53,57,51>>}},{{function,is_tuple,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2535}],[<<105,115,95,116,117,112,108,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32,116,117,112,108,101,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2535,2},spec,{{is_tuple,1},[{type,{2535,15},bounded_fun,[{type,{2535,15},'fun',[{type,{2535,15},product,[{var,{2535,16},'Term'}]},{type,{2535,25},boolean,[]}]},[{type,{2536,7},constraint,[{atom,{2536,7},is_subtype},[{var,{2536,7},'Term'},{type,{2536,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,54,48,51>>}},{{function,length,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1496}],[<<108,101,110,103,116,104,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32>>,{code,[],[<<76,105,115,116>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,101,110,103,116,104,40,91,49,44,50,44,51,44,52,44,53,44,54,44,55,44,56,44,57,93,41,46,10,57>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{1496,2},spec,{{length,1},[{type,{1496,13},bounded_fun,[{type,{1496,13},'fun',[{type,{1496,13},product,[{var,{1496,14},'List'}]},{type,{1496,23},non_neg_integer,[]}]},[{type,{1497,7},constraint,[{atom,{1497,7},is_subtype},[{var,{1497,7},'List'},{type,{1497,15},list,[{type,{1497,16},term,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,54,49,51>>}},{{function,link,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1502}],[<<108,105,110,107,47,49>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,117,112,32,97,110,100,32,97,99,116,105,118,97,116,101,115,32,97,32,108,105,110,107,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,32,111,114,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100,79,114,80,111,114,116>>]},<<46,32,87,101,32,119,105,108,108,32,102,114,111,109,32,104,101,114,101,32,111,110,32,99,97,108,108,32,116,104,101,32,105,100,101,110,116,105,102,105,101,100,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,108,105,110,107,101,101,46,32,73,102,32,116,104,101,32,108,105,110,107,101,101,32,105,115,32,97,32,112,111,114,116,44,32,105,116,32,109,117,115,116,32,114,101,115,105,100,101,32,111,110,32,116,104,101,32,115,97,109,101,32,110,111,100,101,32,97,115,32,116,104,101,32,99,97,108,108,101,114,46>>]},{p,[],[<<73,102,32,111,110,101,32,111,102,32,116,104,101,32,112,97,114,116,105,99,105,112,97,110,116,115,32,111,102,32,97,32,108,105,110,107,32,116,101,114,109,105,110,97,116,101,115,44,32,105,116,32,119,105,108,108,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,115,101,110,100,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,101,110,100,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108>>]},<<32,116,111,32,116,104,101,32,111,116,104,101,114,32,112,97,114,116,105,99,105,112,97,110,116,46,32,84,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,108,108,32,99,111,110,116,97,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,108,105,110,107,95,101,120,105,116,95,115,105,103,110,97,108,95,114,101,97,115,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,120,105,116,32,114,101,97,115,111,110>>]},<<32,111,102,32,116,104,101,32,116,101,114,109,105,110,97,116,101,100,32,112,97,114,116,105,99,105,112,97,110,116,46,32,79,116,104,101,114,32,99,97,115,101,115,32,119,104,101,110,32,101,120,105,116,32,115,105,103,110,97,108,115,32,97,114,101,32,116,114,105,103,103,101,114,101,100,32,100,117,101,32,116,111,32,97,32,108,105,110,107,32,97,114,101,32,119,104,101,110,32,110,111,32,108,105,110,107,101,101,32,101,120,105,115,116,32,40>>,{code,[],[<<110,111,112,114,111,99>>]},<<32,101,120,105,116,32,114,101,97,115,111,110,41,32,97,110,100,32,119,104,101,110,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,98,101,116,119,101,101,110,32,108,105,110,107,101,100,32,112,114,111,99,101,115,115,101,115,32,111,110,32,100,105,102,102,101,114,101,110,116,32,110,111,100,101,115,32,105,115,32,108,111,115,116,32,111,114,32,99,97,110,110,111,116,32,98,101,32,101,115,116,97,98,108,105,115,104,101,100,32,40>>,{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]},<<32,101,120,105,116,32,114,101,97,115,111,110,41,46>>]},{p,[],[<<65,110,32,101,120,105,115,116,105,110,103,32,108,105,110,107,32,99,97,110,32,98,101,32,114,101,109,111,118,101,100,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,117,110,108,105,110,107,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<117,110,108,105,110,107,47,49>>]}]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,108,105,110,107,115,32,97,110,100,32,101,120,105,116,32,115,105,103,110,97,108,115,32,100,117,101,32,116,111,32,108,105,110,107,115,44,32,115,101,101,32,116,104,101,32>>,{i,[],[<<80,114,111,99,101,115,115,101,115>>]},<<32,99,104,97,112,116,101,114,32,105,110,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<58>>]},{ul,[],[{li,[],[{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,108,105,110,107,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<76,105,110,107,115>>]}]},{li,[],[{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,115,101,110,100,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<83,101,110,100,105,110,103,32,69,120,105,116,32,83,105,103,110,97,108,115>>]}]},{li,[],[{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,114,101,99,101,105,118,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<82,101,99,101,105,118,105,110,103,32,69,120,105,116,32,83,105,103,110,97,108,115>>]}]}]},{p,[],[<<70,111,114,32,104,105,115,116,111,114,105,99,97,108,32,114,101,97,115,111,110,115,44,32>>,{code,[],[<<108,105,110,107,47,49>>]},<<32,104,97,115,32,97,32,115,116,114,97,110,103,101,32,115,101,109,105,45,115,121,110,99,104,114,111,110,111,117,115,32,98,101,104,97,118,105,111,114,32,119,104,101,110,32,105,116,32,105,115,32,34,99,104,101,97,112,34,32,116,111,32,99,104,101,99,107,32,105,102,32,116,104,101,32,108,105,110,107,101,101,32,101,120,105,115,116,115,32,111,114,32,110,111,116,44,32,97,110,100,32,116,104,101,32,99,97,108,108,101,114,32,100,111,101,115,32,110,111,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,116,114,97,112,95,101,120,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,114,97,112,32,101,120,105,116,115>>]},<<46,32,73,102,32,116,104,101,32,97,98,111,118,101,32,105,115,32,116,114,117,101,32,97,110,100,32,116,104,101,32,108,105,110,107,101,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32>>,{code,[],[<<108,105,110,107,47,49>>]},<<32,119,105,108,108,32,114,97,105,115,101,32,97,32>>,{code,[],[<<110,111,112,114,111,99>>]},<<32,101,114,114,111,114,32>>,{em,[],[<<101,120,99,101,112,116,105,111,110>>]},<<46,32,84,104,101,32,101,120,112,101,99,116,101,100,32,98,101,104,97,118,105,111,114,32,119,111,117,108,100,32,105,110,115,116,101,97,100,32,104,97,118,101,32,98,101,101,110,32,116,104,97,116,32>>,{code,[],[<<108,105,110,107,47,49>>]},<<32,114,101,116,117,114,110,101,100,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,97,110,100,32,116,104,101,32,99,97,108,108,101,114,32,108,97,116,101,114,32,119,97,115,32,115,101,110,116,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32>>,{code,[],[<<110,111,112,114,111,99>>]},<<32,101,120,105,116,32,114,101,97,115,111,110,44,32,98,117,116,32,116,104,105,115,32,105,115,32,117,110,102,111,114,116,117,110,97,116,101,108,121,32,110,111,116,32,116,104,101,32,99,97,115,101,46,32,84,104,101,32>>,{code,[],[<<110,111,112,114,111,99>>]},<<32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115,35,101,120,99,101,112,116,105,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,120,99,101,112,116,105,111,110>>]},<<32,105,115,32,110,111,116,32,116,111,32,98,101,32,99,111,110,102,117,115,101,100,32,119,105,116,104,32,97,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,115,101,110,100,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,120,105,116,32,115,105,103,110,97,108>>]},<<32,119,105,116,104,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<110,111,112,114,111,99>>]},<<46,32,67,117,114,114,101,110,116,108,121,32,105,116,32,105,115,32,34,99,104,101,97,112,34,32,116,111,32,99,104,101,99,107,32,105,102,32,116,104,101,32,108,105,110,107,101,101,32,101,120,105,115,116,115,32,119,104,101,110,32,105,116,32,105,115,32,115,117,112,112,111,115,101,100,32,116,111,32,114,101,115,105,100,101,32,111,110,32,116,104,101,32,115,97,109,101,32,110,111,100,101,32,97,115,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<84,104,101,32,108,105,110,107,32,115,101,116,117,112,32,97,110,100,32,97,99,116,105,118,97,116,105,111,110,32,105,115,32,112,101,114,102,111,114,109,101,100,32,97,115,121,110,99,104,114,111,110,111,117,115,108,121,46,32,73,102,32,116,104,101,32,108,105,110,107,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,44,32,111,114,32,105,102,32,116,104,101,32,99,97,108,108,101,114,32,97,116,116,101,109,112,116,115,32,116,111,32,99,114,101,97,116,101,32,97,32,108,105,110,107,32,116,111,32,105,116,115,101,108,102,44,32,110,111,116,104,105,110,103,32,105,115,32,100,111,110,101,46,32,65,32,100,101,116,97,105,108,101,100,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,105,115,116,95,112,114,111,116,111,99,111,108,35,108,105,110,107,95,112,114,111,116,111,99,111,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<108,105,110,107,32,112,114,111,116,111,99,111,108>>]},<<32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32>>,{i,[],[<<68,105,115,116,114,105,98,117,116,105,111,110,32,80,114,111,116,111,99,111,108>>]},<<32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32>>,{i,[],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<70,111,114,32,115,111,109,101,32,105,109,112,111,114,116,97,110,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,100,105,115,116,114,105,98,117,116,101,100,32,115,105,103,110,97,108,115,44,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,98,108,111,99,107,105,110,103,45,115,105,103,110,97,108,105,110,103,45,111,118,101,114,45,100,105,115,116,114,105,98,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<66,108,111,99,107,105,110,103,32,83,105,103,110,97,108,105,110,103,32,79,118,101,114,32,68,105,115,116,114,105,98,117,116,105,111,110>>]}]},<<32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32>>,{i,[],[<<80,114,111,99,101,115,115,101,115>>]},<<32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]},{p,[],[<<70,97,105,108,117,114,101,58>>]},{ul,[],[{li,[],[{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,105,100,79,114,80,111,114,116>>]},<<32,100,111,101,115,32,110,111,116,32,105,100,101,110,116,105,102,121,32,97,32,112,114,111,99,101,115,115,32,111,114,32,97,32,110,111,100,101,32,108,111,99,97,108,32,112,111,114,116,46>>]},{li,[],[{code,[],[<<110,111,112,114,111,99>>]},<<32,108,105,110,107,101,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,32,97,110,100,32,105,116,32,105,115,32,34,99,104,101,97,112,34,32,116,111,32,99,104,101,99,107,32,105,102,32,105,116,32,101,120,105,115,116,115,32,97,115,32,100,101,115,99,114,105,98,101,100,32,97,98,111,118,101,46>>]}]}]},#{signature => [{attribute,{1502,2},spec,{{link,1},[{type,{1502,11},bounded_fun,[{type,{1502,11},'fun',[{type,{1502,11},product,[{var,{1502,12},'PidOrPort'}]},{atom,{1502,26},true}]},[{type,{1503,7},constraint,[{atom,{1503,7},is_subtype},[{var,{1503,7},'PidOrPort'},{type,{1503,20},union,[{type,{1503,20},pid,[]},{type,{1503,28},port,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,54,50,53>>}},{{function,list_to_atom,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1508}],[<<108,105,115,116,95,116,111,95,97,116,111,109,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,97,116,111,109,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<46>>]},{p,[],[<<65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,50,48,44,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,109,97,121,32,99,111,110,116,97,105,110,32,97,110,121,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,46,32,69,97,114,108,105,101,114,32,118,101,114,115,105,111,110,115,32,97,108,108,111,119,101,100,32,111,110,108,121,32,73,83,79,45,108,97,116,105,110,45,49,32,99,104,97,114,97,99,116,101,114,115,32,97,115,32,116,104,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,100,105,100,32,110,111,116,32,97,108,108,111,119,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,32,97,98,111,118,101,32,50,53,53,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,112,101,114,109,105,116,116,101,100,32,105,110,32,97,110,32,97,116,111,109,32,110,97,109,101,32,105,115,32,108,105,109,105,116,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,108,105,109,105,116,115,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,102,102,105,99,105,101,110,99,121,32,103,117,105,100,101,32,40,115,101,99,116,105,111,110,32,65,100,118,97,110,99,101,100,41>>]},<<46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,114,101,32,105,115,32,99,111,110,102,105,103,117,114,97,98,108,101,32,108,105,109,105,116,32,111,110,32,104,111,119,32,109,97,110,121,32,97,116,111,109,115,32,116,104,97,116,32,99,97,110,32,101,120,105,115,116,32,97,110,100,32,97,116,111,109,115,32,97,114,101,32,110,111,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,46,32,84,104,101,114,101,102,111,114,101,44,32,105,116,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,99,111,110,115,105,100,101,114,32,105,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49>>]}]},<<32,105,115,32,97,32,98,101,116,116,101,114,32,111,112,116,105,111,110,32,116,104,97,110,32>>,{code,[],[<<108,105,115,116,95,116,111,95,97,116,111,109,47,49>>]},<<46,32,84,104,101,32,100,101,102,97,117,108,116,32,108,105,109,105,116,115,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,102,102,105,99,105,101,110,99,121,32,103,117,105,100,101,32,40,115,101,99,116,105,111,110,32,65,100,118,97,110,99,101,100,41>>]},<<46>>]}]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,97,116,111,109,40,34,69,114,108,97,110,103,34,41,46,10,39,69,114,108,97,110,103,39>>]}]}]},#{signature => [{attribute,{1508,2},spec,{{list_to_atom,1},[{type,{1508,19},bounded_fun,[{type,{1508,19},'fun',[{type,{1508,19},product,[{var,{1508,20},'String'}]},{type,{1508,31},atom,[]}]},[{type,{1509,7},constraint,[{atom,{1509,7},is_subtype},[{var,{1509,7},'String'},{type,{1509,17},string,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,55,49,53>>}},{{function,list_to_binary,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1514}],[<<108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,116,104,97,116,32,105,115,32,109,97,100,101,32,102,114,111,109,32,116,104,101,32,105,110,116,101,103,101,114,115,32,97,110,100,32,98,105,110,97,114,105,101,115,32,105,110,32>>,{code,[],[<<73,111,76,105,115,116>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,66,105,110,49,32,61,32,60,60,49,44,50,44,51,62,62,46,10,60,60,49,44,50,44,51,62,62,10,62,32,66,105,110,50,32,61,32,60,60,52,44,53,62,62,46,10,60,60,52,44,53,62,62,10,62,32,66,105,110,51,32,61,32,60,60,54,62,62,46,10,60,60,54,62,62,10,62,32,108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,91,66,105,110,49,44,49,44,91,50,44,51,44,66,105,110,50,93,44,52,124,66,105,110,51,93,41,46,10,60,60,49,44,50,44,51,44,49,44,50,44,51,44,52,44,53,44,52,44,54,62,62>>]}]}]},#{signature => [{attribute,{1514,2},spec,{{list_to_binary,1},[{type,{1514,21},bounded_fun,[{type,{1514,21},'fun',[{type,{1514,21},product,[{var,{1514,22},'IoList'}]},{type,{1514,33},binary,[]}]},[{type,{1515,7},constraint,[{atom,{1515,7},is_subtype},[{var,{1515,7},'IoList'},{type,{1515,17},iolist,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,55,52,56>>}},{{function,list_to_bitstring,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1520}],[<<108,105,115,116,95,116,111,95,98,105,116,115,116,114,105,110,103,47,49>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<98,105,116,115,116,114,105,110,103,95,108,105,115,116>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,116,115,116,114,105,110,103,32,116,104,97,116,32,105,115,32,109,97,100,101,32,102,114,111,109,32,116,104,101,32,105,110,116,101,103,101,114,115,32,97,110,100,32,98,105,116,115,116,114,105,110,103,115,32,105,110,32>>,{code,[],[<<66,105,116,115,116,114,105,110,103,76,105,115,116>>]},<<46,32,40,84,104,101,32,108,97,115,116,32,116,97,105,108,32,105,110,32>>,{code,[],[<<66,105,116,115,116,114,105,110,103,76,105,115,116>>]},<<32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,98,101,32,97,32,98,105,116,115,116,114,105,110,103,46,41,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,66,105,110,49,32,61,32,60,60,49,44,50,44,51,62,62,46,10,60,60,49,44,50,44,51,62,62,10,62,32,66,105,110,50,32,61,32,60,60,52,44,53,62,62,46,10,60,60,52,44,53,62,62,10,62,32,66,105,110,51,32,61,32,60,60,54,44,55,58,52,62,62,46,10,60,60,54,44,55,58,52,62,62,10,62,32,108,105,115,116,95,116,111,95,98,105,116,115,116,114,105,110,103,40,91,66,105,110,49,44,49,44,91,50,44,51,44,66,105,110,50,93,44,52,124,66,105,110,51,93,41,46,10,60,60,49,44,50,44,51,44,49,44,50,44,51,44,52,44,53,44,52,44,54,44,55,58,52,62,62>>]}]}]},#{signature => [{attribute,{1520,2},spec,{{list_to_bitstring,1},[{type,{1520,24},bounded_fun,[{type,{1520,24},'fun',[{type,{1520,24},product,[{var,{1520,25},'BitstringList'}]},{type,{1520,43},bitstring,[]}]},[{type,{1521,7},constraint,[{atom,{1521,7},is_subtype},[{var,{1521,7},'BitstringList'},{user_type,{1521,24},bitstring_list,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,55,54,54>>}},{{function,list_to_existing_atom,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1526}],[<<108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,97,116,111,109,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<44,32,98,117,116,32,111,110,108,121,32,105,102,32,116,104,101,114,101,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,32,115,117,99,104,32,97,116,111,109,46,32,65,110,32,97,116,111,109,32,101,120,105,115,116,115,32,105,102,32,105,116,32,104,97,115,32,98,101,101,110,32,99,114,101,97,116,101,100,32,98,121,32,116,104,101,32,114,117,110,45,116,105,109,101,32,115,121,115,116,101,109,32,98,121,32,101,105,116,104,101,114,32,108,111,97,100,105,110,103,32,99,111,100,101,32,111,114,32,99,114,101,97,116,105,110,103,32,97,32,116,101,114,109,32,105,110,32,119,104,105,99,104,32,116,104,101,32,97,116,111,109,32,105,115,32,112,97,114,116,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,114,101,32,100,111,101,115,32,110,111,116,32,97,108,114,101,97,100,121,32,101,120,105,115,116,32,97,110,32,97,116,111,109,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<78,111,116,101,32,116,104,97,116,32,116,104,101,32,99,111,109,112,105,108,101,114,32,109,97,121,32,111,112,116,105,109,105,122,101,32,97,119,97,121,32,97,116,111,109,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,99,111,109,112,105,108,101,114,32,119,105,108,108,32,114,101,119,114,105,116,101,32>>,{code,[],[<<97,116,111,109,95,116,111,95,108,105,115,116,40,115,111,109,101,95,97,116,111,109,41>>]},<<32,116,111,32>>,{code,[],[<<34,115,111,109,101,95,97,116,111,109,34>>]},<<46,32,73,102,32,116,104,97,116,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,116,104,101,32,111,110,108,121,32,109,101,110,116,105,111,110,32,111,102,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<115,111,109,101,95,97,116,111,109>>]},<<32,105,110,32,116,104,101,32,99,111,110,116,97,105,110,105,110,103,32,109,111,100,117,108,101,44,32,116,104,101,32,97,116,111,109,32,119,105,108,108,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,32,119,104,101,110,32,116,104,101,32,109,111,100,117,108,101,32,105,115,32,108,111,97,100,101,100,44,32,97,110,100,32,97,32,115,117,98,115,101,113,117,101,110,116,32,99,97,108,108,32,116,111,32>>,{code,[],[<<108,105,115,116,95,116,111,95,101,120,105,115,116,105,110,103,95,97,116,111,109,40,34,115,111,109,101,95,97,116,111,109,34,41>>]},<<32,119,105,108,108,32,102,97,105,108,46>>]}]}]},#{signature => [{attribute,{1526,2},spec,{{list_to_existing_atom,1},[{type,{1526,28},bounded_fun,[{type,{1526,28},'fun',[{type,{1526,28},product,[{var,{1526,29},'String'}]},{type,{1526,40},atom,[]}]},[{type,{1527,7},constraint,[{atom,{1527,7},is_subtype},[{var,{1527,7},'String'},{type,{1527,17},string,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,55,56,55>>}},{{function,list_to_float,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1532}],[<<108,105,115,116,95,116,111,95,102,108,111,97,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,102,108,111,97,116,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,102,108,111,97,116,40,34,50,46,50,48,49,55,55,54,52,101,43,48,34,41,46,10,50,46,50,48,49,55,55,54,52>>]}]},{p,[],[<<84,104,101,32,102,108,111,97,116,32,115,116,114,105,110,103,32,102,111,114,109,97,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,102,111,114,109,97,116,32,102,111,114,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,102,108,111,97,116,32,108,105,116,101,114,97,108,115>>]},<<32,101,120,99,101,112,116,32,102,111,114,32,116,104,97,116,32,117,110,100,101,114,115,99,111,114,101,115,32,97,114,101,32,110,111,116,32,112,101,114,109,105,116,116,101,100,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,32,102,108,111,97,116,46>>]}]},#{signature => [{attribute,{1532,2},spec,{{list_to_float,1},[{type,{1532,20},bounded_fun,[{type,{1532,20},'fun',[{type,{1532,20},product,[{var,{1532,21},'String'}]},{type,{1532,32},float,[]}]},[{type,{1533,7},constraint,[{atom,{1533,7},is_subtype},[{var,{1533,7},'String'},{type,{1533,17},string,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,56,49,48>>}},{{function,list_to_integer,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1538}],[<<108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,49,50,51,34,41,46,10,49,50,51>>]}]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,45,49,50,51,34,41,46,10,45,49,50,51>>]}]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,43,49,50,51,50,51,52,57,56,50,51,48,52,57,56,50,51,48,57,52,56,50,48,57,51,56,51,51,50,51,52,50,51,52,34,41,46,10,49,50,51,50,51,52,57,56,50,51,48,52,57,56,50,51,48,57,52,56,50,48,57,51,56,51,51,50,51,52,50,51,52>>]}]},{p,[],[{code,[],[<<83,116,114,105,110,103>>]},<<32,109,117,115,116,32,99,111,110,116,97,105,110,32,97,116,32,108,101,97,115,116,32,111,110,101,32,100,105,103,105,116,32,99,104,97,114,97,99,116,101,114,32,97,110,100,32,99,97,110,32,104,97,118,101,32,97,110,32,111,112,116,105,111,110,97,108,32,112,114,101,102,105,120,32,99,111,110,115,105,115,116,105,110,103,32,111,102,32,97,32,115,105,110,103,108,101,32,34>>,{code,[],[<<43>>]},<<34,32,111,114,32,34>>,{code,[],[<<45>>]},<<34,32,99,104,97,114,97,99,116,101,114,32,40,116,104,97,116,32,105,115,44,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,109,117,115,116,32,109,97,116,99,104,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32>>,{code,[],[<<34,94,91,43,45,93,63,91,48,45,57,93,43,36,34>>]},<<41,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,110,32,105,110,116,101,103,101,114,46>>]}]},#{signature => [{attribute,{1538,2},spec,{{list_to_integer,1},[{type,{1538,22},bounded_fun,[{type,{1538,22},'fun',[{type,{1538,22},product,[{var,{1538,23},'String'}]},{type,{1538,34},integer,[]}]},[{type,{1539,7},constraint,[{atom,{1539,7},is_subtype},[{var,{1539,7},'String'},{type,{1539,17},string,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,56,50,56>>}},{{function,list_to_integer,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1563}],[<<108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,110,32,98,97,115,101,32>>,{code,[],[<<66,97,115,101>>]},<<32,105,115,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,51,70,70,34,44,32,49,54,41,46,10,49,48,50,51>>]}]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,43,51,70,70,34,44,32,49,54,41,46,10,49,48,50,51>>]}]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,51,102,102,34,44,32,49,54,41,46,10,49,48,50,51>>]}]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,51,102,70,34,44,32,49,54,41,46,10,49,48,50,51>>]}]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,105,110,116,101,103,101,114,40,34,45,51,70,70,34,44,32,49,54,41,46,10,45,49,48,50,51>>]}]},{p,[],[<<70,111,114,32,101,120,97,109,112,108,101,44,32,119,104,101,110,32>>,{code,[],[<<66,97,115,101>>]},<<32,105,115,32,49,54,44,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,109,117,115,116,32,109,97,116,99,104,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32>>,{code,[],[<<34,94,91,43,45,93,63,40,91,48,45,57,93,124,91,65,45,70,93,124,91,97,45,102,93,41,43,36,34>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,110,32,105,110,116,101,103,101,114,46>>]}]},#{signature => [{attribute,{1563,2},spec,{{list_to_integer,2},[{type,{1563,22},bounded_fun,[{type,{1563,22},'fun',[{type,{1563,22},product,[{var,{1563,23},'String'},{var,{1563,31},'Base'}]},{type,{1563,40},integer,[]}]},[{type,{1564,7},constraint,[{atom,{1564,7},is_subtype},[{var,{1564,7},'String'},{type,{1564,17},string,[]}]]},{type,{1565,7},constraint,[{atom,{1565,7},is_subtype},[{var,{1565,7},'Base'},{type,{1565,15},range,[{integer,{1565,15},2},{integer,{1565,18},36}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,56,53,51>>}},{{function,list_to_pid,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1588}],[<<108,105,115,116,95,116,111,95,112,105,100,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32,97,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,112,105,100,40,34,60,48,46,52,46,49,62,34,41,46,10,60,48,46,52,46,49,62>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,97,112,112,108,105,99,97,116,105,111,110,32,112,114,111,103,114,97,109,115,46>>]}]}]},#{signature => [{attribute,{1588,2},spec,{{list_to_pid,1},[{type,{1588,18},bounded_fun,[{type,{1588,18},'fun',[{type,{1588,18},product,[{var,{1588,19},'String'}]},{type,{1588,30},pid,[]}]},[{type,{1589,7},constraint,[{atom,{1589,7},is_subtype},[{var,{1589,7},'String'},{type,{1589,17},string,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,56,56,51>>}},{{function,list_to_port,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1594}],[<<108,105,115,116,95,116,111,95,112,111,114,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32,97,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,112,111,114,116,40,34,35,80,111,114,116,60,48,46,52,62,34,41,46,10,35,80,111,114,116,60,48,46,52,62>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,97,112,112,108,105,99,97,116,105,111,110,32,112,114,111,103,114,97,109,115,46>>]}]}]},#{signature => [{attribute,{1594,2},spec,{{list_to_port,1},[{type,{1594,19},bounded_fun,[{type,{1594,19},'fun',[{type,{1594,19},product,[{var,{1594,20},'String'}]},{type,{1594,31},port,[]}]},[{type,{1595,7},constraint,[{atom,{1595,7},is_subtype},[{var,{1595,7},'String'},{type,{1595,17},string,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,57,48,49>>,since => <<79,84,80,32,50,48,46,48>>}},{{function,list_to_ref,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1600}],[<<108,105,115,116,95,116,111,95,114,101,102,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,114,101,102,101,114,101,110,99,101,32,119,104,111,115,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32,97,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,114,101,102,40,34,35,82,101,102,60,48,46,52,49,57,50,53,51,55,54,55,56,46,52,48,55,51,49,57,51,52,55,53,46,55,49,49,56,49,62,34,41,46,10,35,82,101,102,60,48,46,52,49,57,50,53,51,55,54,55,56,46,52,48,55,51,49,57,51,52,55,53,46,55,49,49,56,49,62>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<83,116,114,105,110,103>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,98,97,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,32,114,101,102,101,114,101,110,99,101,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,97,112,112,108,105,99,97,116,105,111,110,32,112,114,111,103,114,97,109,115,46>>]}]}]},#{signature => [{attribute,{1600,2},spec,{{list_to_ref,1},[{type,{1600,18},bounded_fun,[{type,{1600,18},'fun',[{type,{1600,18},product,[{var,{1600,19},'String'}]},{type,{1600,30},reference,[]}]},[{type,{1601,7},constraint,[{atom,{1601,7},is_subtype},[{var,{1601,7},'String'},{type,{1601,17},string,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,57,49,57>>,since => <<79,84,80,32,50,48,46,48>>}},{{function,list_to_tuple,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1606}],[<<108,105,115,116,95,116,111,95,116,117,112,108,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,116,117,112,108,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32>>,{code,[],[<<76,105,115,116>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101>>]},{pre,[],[{code,[],[<<62,32,108,105,115,116,95,116,111,95,116,117,112,108,101,40,91,115,104,97,114,101,44,32,91,39,69,114,105,99,115,115,111,110,95,66,39,44,32,49,54,51,93,93,41,46,10,123,115,104,97,114,101,44,32,91,39,69,114,105,99,115,115,111,110,95,66,39,44,32,49,54,51,93,125>>]}]},{p,[],[{code,[],[<<76,105,115,116>>]},<<32,99,97,110,32,99,111,110,116,97,105,110,32,97,110,121,32,69,114,108,97,110,103,32,116,101,114,109,115,46>>]}]},#{signature => [{attribute,{1606,2},spec,{{list_to_tuple,1},[{type,{1606,20},bounded_fun,[{type,{1606,20},'fun',[{type,{1606,20},product,[{var,{1606,21},'List'}]},{type,{1606,30},tuple,any}]},[{type,{1607,7},constraint,[{atom,{1607,7},is_subtype},[{var,{1607,7},'List'},{type,{1607,15},list,[{type,{1607,16},term,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,57,51,55>>}},{{function,load_module,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2540}],[<<108,111,97,100,95,109,111,100,117,108,101,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,111,98,106,101,99,116,32,99,111,100,101,32,102,111,114,32,109,111,100,117,108,101,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<44,32,116,104,105,115,32,66,73,70,32,108,111,97,100,115,32,116,104,97,116,32,111,98,106,101,99,116,32,99,111,100,101,46,32,73,102,32,116,104,101,32,99,111,100,101,32,102,111,114,32,109,111,100,117,108,101,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,44,32,97,108,108,32,101,120,112,111,114,116,32,114,101,102,101,114,101,110,99,101,115,32,97,114,101,32,114,101,112,108,97,99,101,100,32,115,111,32,116,104,101,121,32,112,111,105,110,116,32,116,111,32,116,104,101,32,110,101,119,108,121,32,108,111,97,100,101,100,32,99,111,100,101,46,32,84,104,101,32,112,114,101,118,105,111,117,115,108,121,32,108,111,97,100,101,100,32,99,111,100,101,32,105,115,32,107,101,112,116,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,97,115,32,111,108,100,32,99,111,100,101,44,32,97,115,32,116,104,101,114,101,32,99,97,110,32,115,116,105,108,108,32,98,101,32,112,114,111,99,101,115,115,101,115,32,101,120,101,99,117,116,105,110,103,32,116,104,97,116,32,99,111,100,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,101,105,116,104,101,114,32>>,{code,[],[<<123,109,111,100,117,108,101,44,32,77,111,100,117,108,101,125>>]},<<44,32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<32,105,102,32,108,111,97,100,105,110,103,32,102,97,105,108,115,46,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<32,105,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,102,105,108,101>>]}]},{dd,[],[<<84,104,101,32,111,98,106,101,99,116,32,99,111,100,101,32,105,110,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,104,97,115,32,97,110,32,105,110,99,111,114,114,101,99,116,32,102,111,114,109,97,116,32>>,{em,[],[<<111,114>>]},<<32,116,104,101,32,111,98,106,101,99,116,32,99,111,100,101,32,99,111,110,116,97,105,110,115,32,99,111,100,101,32,102,111,114,32,97,110,111,116,104,101,114,32,109,111,100,117,108,101,32,116,104,97,110,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46>>]},{dt,[],[{code,[],[<<110,111,116,95,112,117,114,103,101,100>>]}]},{dd,[],[{code,[],[<<66,105,110,97,114,121>>]},<<32,99,111,110,116,97,105,110,115,32,97,32,109,111,100,117,108,101,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,108,111,97,100,101,100,32,98,101,99,97,117,115,101,32,111,108,100,32,99,111,100,101,32,102,111,114,32,116,104,105,115,32,109,111,100,117,108,101,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,46>>]},{dt,[],[{code,[],[<<111,110,95,108,111,97,100>>]}]},{dd,[],[<<84,104,101,32,99,111,100,101,32,105,110,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,99,111,110,116,97,105,110,115,32,97,110,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<32,100,101,99,108,97,114,97,116,105,111,110,32,116,104,97,116,32,109,117,115,116,32,98,101,32,101,120,101,99,117,116,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,99,97,110,32,98,101,99,111,109,101,32,116,104,101,32,99,117,114,114,101,110,116,32,99,111,100,101,46,32,65,110,121,32,112,114,101,118,105,111,117,115,32,99,117,114,114,101,110,116,32,99,111,100,101,32,102,111,114,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,119,105,108,108,32,114,101,109,97,105,110,32,117,110,116,105,108,32,116,104,101,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<32,99,97,108,108,32,104,97,115,32,102,105,110,105,115,104,101,100,46>>]},{dt,[],[<<110,111,116,95,97,108,108,111,119,101,100>>]},{dd,[],[<<84,104,101,32,99,111,100,101,32,105,110,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,104,97,115,32,98,101,101,110,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,102,101,97,116,117,114,101,115,32,116,104,97,116,32,97,114,101,32,99,117,114,114,101,110,116,108,121,32,110,111,116,32,101,110,97,98,108,101,100,32,105,110,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,116,104,101,32,99,111,100,101,32,115,101,114,118,101,114,32,40,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,100,101,40,51,41>>]}]},<<41,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,101,108,115,101,119,104,101,114,101,46>>]}]}]},#{signature => [{attribute,{2540,2},spec,{{load_module,2},[{type,{2540,18},bounded_fun,[{type,{2540,18},'fun',[{type,{2540,18},product,[{var,{2540,19},'Module'},{var,{2540,27},'Binary'}]},{type,{2540,38},union,[{type,{2540,38},tuple,[{atom,{2540,39},module},{var,{2540,47},'Module'}]},{type,{2540,57},tuple,[{atom,{2540,58},error},{var,{2540,65},'Reason'}]}]}]},[{type,{2541,7},constraint,[{atom,{2541,7},is_subtype},[{var,{2541,7},'Module'},{type,{2541,17},module,[]}]]},{type,{2542,7},constraint,[{atom,{2542,7},is_subtype},[{var,{2542,7},'Binary'},{type,{2542,17},binary,[]}]]},{type,{2543,7},constraint,[{atom,{2543,7},is_subtype},[{var,{2543,7},'Reason'},{type,{2543,17},union,[{atom,{2543,17},badfile},{atom,{2543,27},not_purged},{atom,{2543,40},on_load},{type,{2544,17},tuple,[{atom,{2544,18},features_not_allowed},{type,{2544,40},list,[{type,{2544,41},atom,[]}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,57,53,48>>}},{{function,load_nif,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2562}],[<<108,111,97,100,95,110,105,102,47,50>>],#{<<101,110>> => [{p,[],[<<76,111,97,100,115,32,97,110,100,32,108,105,110,107,115,32,97,32,100,121,110,97,109,105,99,32,108,105,98,114,97,114,121,32,99,111,110,116,97,105,110,105,110,103,32,110,97,116,105,118,101,32,105,109,112,108,101,109,101,110,116,101,100,32,102,117,110,99,116,105,111,110,115,32,40,78,73,70,115,41,32,102,111,114,32,97,32,109,111,100,117,108,101,46,32>>,{code,[],[<<80,97,116,104>>]},<<32,105,115,32,97,32,102,105,108,101,32,112,97,116,104,32,116,111,32,116,104,101,32,115,104,97,114,101,97,98,108,101,32,111,98,106,101,99,116,47,100,121,110,97,109,105,99,32,108,105,98,114,97,114,121,32,102,105,108,101,32,109,105,110,117,115,32,116,104,101,32,79,83,45,100,101,112,101,110,100,101,110,116,32,102,105,108,101,32,101,120,116,101,110,115,105,111,110,32,40>>,{code,[],[<<46,115,111>>]},<<32,102,111,114,32,85,110,105,120,32,97,110,100,32>>,{code,[],[<<46,100,108,108>>]},<<32,102,111,114,32,87,105,110,100,111,119,115,41,46,32,78,111,116,105,99,101,32,116,104,97,116,32,111,110,32,109,111,115,116,32,79,83,115,32,116,104,101,32,108,105,98,114,97,114,121,32,104,97,115,32,116,111,32,104,97,118,101,32,97,32,100,105,102,102,101,114,101,110,116,32,110,97,109,101,32,111,110,32,100,105,115,99,32,119,104,101,110,32,97,110,32,117,112,103,114,97,100,101,32,111,102,32,116,104,101,32,110,105,102,32,105,115,32,100,111,110,101,46,32,73,102,32,116,104,101,32,110,97,109,101,32,105,115,32,116,104,101,32,115,97,109,101,44,32,98,117,116,32,116,104,101,32,99,111,110,116,101,110,116,115,32,100,105,102,102,101,114,44,32,116,104,101,32,111,108,100,32,108,105,98,114,97,114,121,32,109,97,121,32,98,101,32,108,111,97,100,101,100,32,105,110,115,116,101,97,100,46,32,70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,104,111,119,32,116,111,32,105,109,112,108,101,109,101,110,116,32,97,32,78,73,70,32,108,105,98,114,97,114,121,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,110,105,102>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,108,95,110,105,102,40,51,41>>]}]},<<46>>]},{p,[],[{code,[],[<<76,111,97,100,73,110,102,111>>]},<<32,99,97,110,32,98,101,32,97,110,121,32,116,101,114,109,46,32,73,116,32,105,115,32,112,97,115,115,101,100,32,111,110,32,116,111,32,116,104,101,32,108,105,98,114,97,114,121,32,97,115,32,112,97,114,116,32,111,102,32,116,104,101,32,105,110,105,116,105,97,108,105,122,97,116,105,111,110,46,32,65,32,103,111,111,100,32,112,114,97,99,116,105,99,101,32,105,115,32,116,111,32,105,110,99,108,117,100,101,32,97,32,109,111,100,117,108,101,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,32,116,111,32,115,117,112,112,111,114,116,32,102,117,116,117,114,101,32,99,111,100,101,32,117,112,103,114,97,100,101,32,115,99,101,110,97,114,105,111,115,46>>]},{p,[],[<<84,104,101,32,99,97,108,108,32,116,111,32>>,{code,[],[<<108,111,97,100,95,110,105,102,47,50>>]},<<32,109,117,115,116,32,98,101,32,109,97,100,101,32>>,{em,[],[<<100,105,114,101,99,116,108,121>>]},<<32,102,114,111,109,32,116,104,101,32,69,114,108,97,110,103,32,99,111,100,101,32,111,102,32,116,104,101,32,109,111,100,117,108,101,32,116,104,97,116,32,116,104,101,32,78,73,70,32,108,105,98,114,97,114,121,32,98,101,108,111,110,103,115,32,116,111,46,32,73,116,32,114,101,116,117,114,110,115,32,101,105,116,104,101,114,32>>,{code,[],[<<111,107>>]},<<44,32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,123,82,101,97,115,111,110,44,84,101,120,116,125,125>>]},<<32,105,102,32,108,111,97,100,105,110,103,32,102,97,105,108,115,46,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<32,105,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,97,116,111,109,115,32,119,104,105,108,101,32>>,{code,[],[<<84,101,120,116>>]},<<32,105,115,32,97,32,104,117,109,97,110,32,114,101,97,100,97,98,108,101,32,115,116,114,105,110,103,32,116,104,97,116,32,99,97,110,32,103,105,118,101,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,102,97,105,108,117,114,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<108,111,97,100,95,102,97,105,108,101,100>>]}]},{dd,[],[<<84,104,101,32,79,83,32,102,97,105,108,101,100,32,116,111,32,108,111,97,100,32,116,104,101,32,78,73,70,32,108,105,98,114,97,114,121,46>>]},{dt,[],[{code,[],[<<98,97,100,95,108,105,98>>]}]},{dd,[],[<<84,104,101,32,108,105,98,114,97,114,121,32,100,105,100,32,110,111,116,32,102,117,108,102,105,108,108,32,116,104,101,32,114,101,113,117,105,114,101,109,101,110,116,115,32,97,115,32,97,32,78,73,70,32,108,105,98,114,97,114,121,32,111,102,32,116,104,101,32,99,97,108,108,105,110,103,32,109,111,100,117,108,101,46>>]},{dt,[],[{code,[],[<<108,111,97,100,32,124,32,117,112,103,114,97,100,101>>]}]},{dd,[],[<<84,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,108,105,98,114,97,114,121,32,99,97,108,108,98,97,99,107,32,119,97,115,32,117,110,115,117,99,99,101,115,115,102,117,108,46>>]},{dt,[],[{code,[],[<<114,101,108,111,97,100>>]}]},{dd,[],[<<65,32,78,73,70,32,108,105,98,114,97,114,121,32,105,115,32,97,108,114,101,97,100,121,32,108,111,97,100,101,100,32,102,111,114,32,116,104,105,115,32,109,111,100,117,108,101,32,105,110,115,116,97,110,99,101,46,32,84,104,101,32,112,114,101,118,105,111,117,115,108,121,32,100,101,112,114,101,99,97,116,101,100,32>>,{code,[],[<<114,101,108,111,97,100>>]},<<32,102,101,97,116,117,114,101,32,119,97,115,32,114,101,109,111,118,101,100,32,105,110,32,79,84,80,32,50,48,46>>]},{dt,[],[{code,[],[<<111,108,100,95,99,111,100,101>>]}]},{dd,[],[<<84,104,101,32,99,97,108,108,32,116,111,32>>,{code,[],[<<108,111,97,100,95,110,105,102,47,50>>]},<<32,119,97,115,32,109,97,100,101,32,102,114,111,109,32,116,104,101,32,111,108,100,32,99,111,100,101,32,111,102,32,97,32,109,111,100,117,108,101,32,116,104,97,116,32,104,97,115,32,98,101,101,110,32,117,112,103,114,97,100,101,100,59,32,116,104,105,115,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,46>>]}]},{p,[],[<<73,102,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,109,111,100,117,108,101,115,35,110,105,102,115,95,97,116,116,114,105,98,117,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<45,110,105,102,115,40,41>>]}]},<<32,97,116,116,114,105,98,117,116,101,32,105,115,32,117,115,101,100,32,40,119,104,105,99,104,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,41,44,32,97,108,108,32,78,73,70,115,32,105,110,32,116,104,101,32,100,121,110,97,109,105,99,32,108,105,98,114,97,114,121,32,109,117,99,104,32,98,101,32,100,101,99,108,97,114,101,100,32,97,115,32,115,117,99,104,32,102,111,114,32>>,{code,[],[<<108,111,97,100,95,110,105,102,47,50>>]},<<32,116,111,32,115,117,99,99,101,101,100,46,32,79,110,32,116,104,101,32,111,116,104,101,114,32,104,97,110,100,44,32,97,108,108,32,102,117,110,99,116,105,111,110,115,32,100,101,99,108,97,114,101,100,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<45,110,105,102,115,40,41>>]},<<32,97,116,116,114,105,98,117,116,101,32,100,111,32,110,111,116,32,104,97,118,101,32,116,111,32,98,101,32,105,109,112,108,101,109,101,110,116,101,100,32,98,121,32,116,104,101,32,100,121,110,97,109,105,99,32,108,105,98,114,97,114,121,46,32,84,104,105,115,32,97,108,108,111,119,115,32,97,32,116,97,114,103,101,116,32,105,110,100,101,112,101,110,100,101,110,116,32,69,114,108,97,110,103,32,102,105,108,101,32,116,111,32,99,111,110,116,97,105,110,32,102,97,108,108,98,97,99,107,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,115,32,102,111,114,32,102,117,110,99,116,105,111,110,115,32,116,104,97,116,32,109,97,121,32,108,97,99,107,32,78,73,70,32,115,117,112,112,111,114,116,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,97,114,103,101,116,32,79,83,47,104,97,114,100,119,97,114,101,32,112,108,97,116,102,111,114,109,46>>]}]},#{signature => [{attribute,{2562,2},spec,{{erlang,load_nif,2},[{type,{2562,22},bounded_fun,[{type,{2562,22},'fun',[{type,{2562,22},product,[{var,{2562,23},'Path'},{var,{2562,29},'LoadInfo'}]},{type,{2562,43},union,[{atom,{2562,43},ok},{var,{2562,48},'Error'}]}]},[{type,{2563,7},constraint,[{atom,{2563,7},is_subtype},[{var,{2563,7},'Path'},{type,{2563,15},string,[]}]]},{type,{2564,7},constraint,[{atom,{2564,7},is_subtype},[{var,{2564,7},'LoadInfo'},{type,{2564,19},term,[]}]]},{type,{2565,7},constraint,[{atom,{2565,7},is_subtype},[{var,{2565,7},'Error'},{type,{2565,16},tuple,[{atom,{2565,17},error},{type,{2565,24},tuple,[{var,{2565,25},'Reason'},{ann_type,{2565,33},[{var,{2565,33},'Text'},{type,{2565,41},string,[]}]}]}]}]]},{type,{2566,7},constraint,[{atom,{2566,7},is_subtype},[{var,{2566,7},'Reason'},{type,{2566,17},union,[{atom,{2566,17},load_failed},{atom,{2566,31},bad_lib},{atom,{2566,41},load},{atom,{2566,48},reload},{atom,{2566,57},upgrade},{atom,{2566,67},old_code}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,51,57,57,53>>}},{{function,loaded,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1612}],[<<108,111,97,100,101,100,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,97,108,108,32,108,111,97,100,101,100,32,69,114,108,97,110,103,32,109,111,100,117,108,101,115,32,40,99,117,114,114,101,110,116,32,97,110,100,32,111,108,100,32,99,111,100,101,41,44,32,105,110,99,108,117,100,105,110,103,32,112,114,101,108,111,97,100,101,100,32,109,111,100,117,108,101,115,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,100,101,40,51,41>>]}]},<<46>>]}]},#{signature => [{attribute,{1612,2},spec,{{erlang,loaded,0},[{type,{1612,20},bounded_fun,[{type,{1612,20},'fun',[{type,{1612,20},product,[]},{type,{1612,26},list,[{var,{1612,27},'Module'}]}]},[{type,{1613,7},constraint,[{atom,{1613,7},is_subtype},[{var,{1613,7},'Module'},{type,{1613,17},module,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,48,53,52>>}},{{function,localtime,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1618}],[<<108,111,99,97,108,116,105,109,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,108,111,99,97,108,32,100,97,116,101,32,97,110,100,32,116,105,109,101,44,32>>,{code,[],[<<123,123,89,101,97,114,44,32,77,111,110,116,104,44,32,68,97,121,125,44,32,123,72,111,117,114,44,32,77,105,110,117,116,101,44,32,83,101,99,111,110,100,125,125>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,40,41,46,10,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,52,44,52,53,44,49,55,125,125>>]}]},{p,[],[<<84,104,101,32,116,105,109,101,32,122,111,110,101,32,97,110,100,32,68,97,121,108,105,103,104,116,32,83,97,118,105,110,103,32,84,105,109,101,32,99,111,114,114,101,99,116,105,111,110,32,100,101,112,101,110,100,32,111,110,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,98,97,115,101,100,32,111,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,83,121,115,116,101,109,32,84,105,109,101>>]},<<46>>]}]},#{signature => [{attribute,{1618,2},spec,{{erlang,localtime,0},[{type,{1618,23},bounded_fun,[{type,{1618,23},'fun',[{type,{1618,23},product,[]},{var,{1618,29},'DateTime'}]},[{type,{1619,7},constraint,[{atom,{1619,7},is_subtype},[{var,{1619,7},'DateTime'},{remote_type,{1619,19},[{atom,{1619,19},calendar},{atom,{1619,28},datetime},[]]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,48,54,53>>}},{{function,localtime_to_universaltime,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3766}],[<<108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,47,49>>],#{<<101,110>> => [{p,[],[<<67,111,110,118,101,114,116,115,32,108,111,99,97,108,32,100,97,116,101,32,97,110,100,32,116,105,109,101,32,116,111,32,85,110,105,118,101,114,115,97,108,32,84,105,109,101,32,67,111,111,114,100,105,110,97,116,101,100,32,40,85,84,67,41,44,32,105,102,32,115,117,112,112,111,114,116,101,100,32,98,121,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,46,32,79,116,104,101,114,119,105,115,101,32,110,111,32,99,111,110,118,101,114,115,105,111,110,32,105,115,32,100,111,110,101,32,97,110,100,32>>,{code,[],[<<76,111,99,97,108,116,105,109,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,40,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,52,44,52,53,44,49,55,125,125,41,46,10,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,51,44,52,53,44,49,55,125,125>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<76,111,99,97,108,116,105,109,101>>]},<<32,100,101,110,111,116,101,115,32,97,110,32,105,110,118,97,108,105,100,32,100,97,116,101,32,97,110,100,32,116,105,109,101,46>>]}]},#{signature => [{attribute,{3766,2},spec,{{erlang,localtime_to_universaltime,1},[{type,{3766,40},bounded_fun,[{type,{3766,40},'fun',[{type,{3766,40},product,[{var,{3766,41},'Localtime'}]},{var,{3766,55},'Universaltime'}]},[{type,{3767,7},constraint,[{atom,{3767,7},is_subtype},[{var,{3767,7},'Localtime'},{remote_type,{3767,20},[{atom,{3767,20},calendar},{atom,{3767,29},datetime},[]]}]]},{type,{3768,7},constraint,[{atom,{3768,7},is_subtype},[{var,{3768,7},'Universaltime'},{remote_type,{3768,24},[{atom,{3768,24},calendar},{atom,{3768,33},datetime},[]]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,48,56,50>>}},{{function,localtime_to_universaltime,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2570}],[<<108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,47,50>>],#{<<101,110>> => [{p,[],[<<67,111,110,118,101,114,116,115,32,108,111,99,97,108,32,100,97,116,101,32,97,110,100,32,116,105,109,101,32,116,111,32,85,110,105,118,101,114,115,97,108,32,84,105,109,101,32,67,111,111,114,100,105,110,97,116,101,100,32,40,85,84,67,41,32,97,115,32>>,{code,[],[<<101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,47,49>>]},<<44,32,98,117,116,32,116,104,101,32,99,97,108,108,101,114,32,100,101,99,105,100,101,115,32,105,102,32,68,97,121,108,105,103,104,116,32,83,97,118,105,110,103,32,84,105,109,101,32,105,115,32,97,99,116,105,118,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<73,115,68,115,116,32,61,61,32,116,114,117,101>>]},<<44,32>>,{code,[],[<<76,111,99,97,108,116,105,109,101>>]},<<32,105,115,32,100,117,114,105,110,103,32,68,97,121,108,105,103,104,116,32,83,97,118,105,110,103,32,84,105,109,101,44,32,105,102,32>>,{code,[],[<<73,115,68,115,116,32,61,61,32,102,97,108,115,101>>]},<<32,105,116,32,105,115,32,110,111,116,46,32,73,102,32>>,{code,[],[<<73,115,68,115,116,32,61,61,32,117,110,100,101,102,105,110,101,100>>]},<<44,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,32,99,97,110,32,103,117,101,115,115,44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,40,76,111,99,97,108,116,105,109,101,41>>]},<<46>>]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,40,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,52,44,52,53,44,49,55,125,125,44,32,116,114,117,101,41,46,10,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,50,44,52,53,44,49,55,125,125,10,62,32,101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,40,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,52,44,52,53,44,49,55,125,125,44,32,102,97,108,115,101,41,46,10,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,51,44,52,53,44,49,55,125,125,10,62,32,101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,95,116,111,95,117,110,105,118,101,114,115,97,108,116,105,109,101,40,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,52,44,52,53,44,49,55,125,125,44,32,117,110,100,101,102,105,110,101,100,41,46,10,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,51,44,52,53,44,49,55,125,125>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<76,111,99,97,108,116,105,109,101>>]},<<32,100,101,110,111,116,101,115,32,97,110,32,105,110,118,97,108,105,100,32,100,97,116,101,32,97,110,100,32,116,105,109,101,46>>]}]},#{signature => [{attribute,{2570,2},spec,{{erlang,localtime_to_universaltime,2},[{type,{2570,40},bounded_fun,[{type,{2570,40},'fun',[{type,{2570,40},product,[{var,{2570,41},'Localtime'},{var,{2570,52},'IsDst'}]},{var,{2570,62},'Universaltime'}]},[{type,{2571,7},constraint,[{atom,{2571,7},is_subtype},[{var,{2571,7},'Localtime'},{remote_type,{2571,20},[{atom,{2571,20},calendar},{atom,{2571,29},datetime},[]]}]]},{type,{2572,7},constraint,[{atom,{2572,7},is_subtype},[{var,{2572,7},'Universaltime'},{remote_type,{2572,24},[{atom,{2572,24},calendar},{atom,{2572,33},datetime},[]]}]]},{type,{2573,7},constraint,[{atom,{2573,7},is_subtype},[{var,{2573,7},'IsDst'},{type,{2573,16},union,[{atom,{2573,16},true},{atom,{2573,23},false},{atom,{2573,31},undefined}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,48,57,57>>}},{{function,make_ref,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1624}],[<<109,97,107,101,95,114,101,102,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100,35,117,110,105,113,117,101,95,114,101,102,101,114,101,110,99,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<117,110,105,113,117,101,32,114,101,102,101,114,101,110,99,101>>]},<<46,32,84,104,101,32,114,101,102,101,114,101,110,99,101,32,105,115,32,117,110,105,113,117,101,32,97,109,111,110,103,32,99,111,110,110,101,99,116,101,100,32,110,111,100,101,115,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<66,101,102,111,114,101,32,79,84,80,45,50,51,32,119,104,101,110,32,97,32,110,111,100,101,32,105,115,32,114,101,115,116,97,114,116,101,100,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,111,100,101,32,110,97,109,101,44,32,114,101,102,101,114,101,110,99,101,115,32,99,114,101,97,116,101,100,32,111,110,32,97,32,110,101,119,101,114,32,110,111,100,101,32,99,97,110,32,98,101,32,109,105,115,116,97,107,101,110,32,102,111,114,32,97,32,114,101,102,101,114,101,110,99,101,32,99,114,101,97,116,101,100,32,111,110,32,97,110,32,111,108,100,101,114,32,110,111,100,101,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,111,100,101,32,110,97,109,101,46>>]}]}]},#{signature => [{attribute,{1624,2},spec,{{make_ref,0},[{type,{1624,15},'fun',[{type,{1624,15},product,[]},{type,{1624,21},reference,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,49,50,53>>}},{{function,make_tuple,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2589}],[<<109,97,107,101,95,116,117,112,108,101,47,50>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32,110,101,119,32,116,117,112,108,101,32,111,102,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32>>,{code,[],[<<65,114,105,116,121>>]},<<44,32,119,104,101,114,101,32,97,108,108,32,101,108,101,109,101,110,116,115,32,97,114,101,32>>,{code,[],[<<73,110,105,116,105,97,108,86,97,108,117,101>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,109,97,107,101,95,116,117,112,108,101,40,52,44,32,91,93,41,46,10,123,91,93,44,91,93,44,91,93,44,91,93,125>>]}]}]},#{signature => [{attribute,{2589,2},spec,{{erlang,make_tuple,2},[{type,{2589,24},bounded_fun,[{type,{2589,24},'fun',[{type,{2589,24},product,[{var,{2589,25},'Arity'},{var,{2589,32},'InitialValue'}]},{type,{2589,49},tuple,any}]},[{type,{2590,7},constraint,[{atom,{2590,7},is_subtype},[{var,{2590,7},'Arity'},{type,{2590,16},arity,[]}]]},{type,{2591,7},constraint,[{atom,{2591,7},is_subtype},[{var,{2591,7},'InitialValue'},{type,{2591,23},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,49,52,50>>}},{{function,make_tuple,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2596}],[<<109,97,107,101,95,116,117,112,108,101,47,51>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32,116,117,112,108,101,32,111,102,32,115,105,122,101,32>>,{code,[],[<<65,114,105,116,121>>]},<<44,32,119,104,101,114,101,32,101,97,99,104,32,101,108,101,109,101,110,116,32,104,97,115,32,118,97,108,117,101,32>>,{code,[],[<<68,101,102,97,117,108,116,86,97,108,117,101>>]},<<44,32,97,110,100,32,116,104,101,110,32,102,105,108,108,115,32,105,110,32,118,97,108,117,101,115,32,102,114,111,109,32>>,{code,[],[<<73,110,105,116,76,105,115,116>>]},<<46,32,69,97,99,104,32,108,105,115,116,32,101,108,101,109,101,110,116,32,105,110,32>>,{code,[],[<<73,110,105,116,76,105,115,116>>]},<<32,109,117,115,116,32,98,101,32,97,32,116,119,111,45,116,117,112,108,101,44,32,119,104,101,114,101,32,116,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32,97,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,116,117,112,108,101,32,97,110,100,32,116,104,101,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,32,105,115,32,97,110,121,32,116,101,114,109,46,32,73,102,32,97,32,112,111,115,105,116,105,111,110,32,111,99,99,117,114,115,32,109,111,114,101,32,116,104,97,110,32,111,110,99,101,32,105,110,32,116,104,101,32,108,105,115,116,44,32,116,104,101,32,116,101,114,109,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,108,97,115,116,32,111,99,99,117,114,114,101,110,99,101,32,105,115,32,117,115,101,100,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,109,97,107,101,95,116,117,112,108,101,40,53,44,32,91,93,44,32,91,123,50,44,105,103,110,111,114,101,100,125,44,123,53,44,122,122,125,44,123,50,44,97,97,125,93,41,46,10,123,91,93,44,97,97,44,91,93,44,91,93,44,122,122,125>>]}]}]},#{signature => [{attribute,{2596,2},spec,{{erlang,make_tuple,3},[{type,{2596,24},bounded_fun,[{type,{2596,24},'fun',[{type,{2596,24},product,[{var,{2596,25},'Arity'},{var,{2596,32},'DefaultValue'},{var,{2596,46},'InitList'}]},{type,{2596,59},tuple,any}]},[{type,{2597,7},constraint,[{atom,{2597,7},is_subtype},[{var,{2597,7},'Arity'},{type,{2597,16},arity,[]}]]},{type,{2598,7},constraint,[{atom,{2598,7},is_subtype},[{var,{2598,7},'DefaultValue'},{type,{2598,23},term,[]}]]},{type,{2599,7},constraint,[{atom,{2599,7},is_subtype},[{var,{2599,7},'InitList'},{type,{2599,19},list,[{type,{2599,20},tuple,[{ann_type,{2599,21},[{var,{2599,21},'Position'},{type,{2599,33},pos_integer,[]}]},{type,{2599,48},term,[]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,49,53,52>>}},{{function,map_get,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1635}],[<<109,97,112,95,103,101,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,118,97,108,117,101,32>>,{code,[],[<<86,97,108,117,101>>]},<<32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32>>,{code,[],[<<75,101,121>>]},<<32,105,102,32>>,{code,[],[<<77,97,112>>]},<<32,99,111,110,116,97,105,110,115,32>>,{code,[],[<<75,101,121>>]},<<46>>]},{p,[],[<<84,104,101,32,99,97,108,108,32,102,97,105,108,115,32,119,105,116,104,32,97,32>>,{code,[],[<<123,98,97,100,109,97,112,44,77,97,112,125>>]},<<32,101,120,99,101,112,116,105,111,110,32,105,102,32>>,{code,[],[<<77,97,112>>]},<<32,105,115,32,110,111,116,32,97,32,109,97,112,44,32,111,114,32,119,105,116,104,32,97,32>>,{code,[],[<<123,98,97,100,107,101,121,44,75,101,121,125>>]},<<32,101,120,99,101,112,116,105,111,110,32,105,102,32,110,111,32,118,97,108,117,101,32,105,115,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32>>,{code,[],[<<75,101,121>>]},<<46>>]},{p,[],[{em,[],[<<69,120,97,109,112,108,101,58>>]}]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<62,32,75,101,121,32,61,32,49,51,51,55,44,10,32,32,77,97,112,32,61,32,35,123,52,50,32,61,62,32,118,97,108,117,101,95,116,119,111,44,49,51,51,55,32,61,62,32,34,118,97,108,117,101,32,111,110,101,34,44,34,97,34,32,61,62,32,49,125,44,10,32,32,109,97,112,95,103,101,116,40,75,101,121,44,77,97,112,41,46,10,34,118,97,108,117,101,32,111,110,101,34>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{1635,2},spec,{{map_get,2},[{type,{1635,14},bounded_fun,[{type,{1635,14},'fun',[{type,{1635,14},product,[{var,{1635,15},'Key'},{var,{1635,20},'Map'}]},{var,{1635,28},'Value'}]},[{type,{1636,7},constraint,[{atom,{1636,7},is_subtype},[{var,{1636,7},'Map'},{type,{1636,14},map,any}]]},{type,{1637,7},constraint,[{atom,{1637,7},is_subtype},[{var,{1637,7},'Key'},{type,{1637,14},any,[]}]]},{type,{1638,7},constraint,[{atom,{1638,7},is_subtype},[{var,{1638,7},'Value'},{type,{1638,16},any,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,49,55,50>>,since => <<79,84,80,32,50,49,46,48>>}},{{function,map_size,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1629}],[<<109,97,112,95,115,105,122,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,107,101,121,45,118,97,108,117,101,32,112,97,105,114,115,32,105,110,32>>,{code,[],[<<77,97,112>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,109,97,112,95,115,105,122,101,40,35,123,97,61,62,49,44,32,98,61,62,50,44,32,99,61,62,51,125,41,46,10,51>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{1629,2},spec,{{map_size,1},[{type,{1629,15},bounded_fun,[{type,{1629,15},'fun',[{type,{1629,15},product,[{var,{1629,16},'Map'}]},{type,{1629,24},non_neg_integer,[]}]},[{type,{1630,7},constraint,[{atom,{1630,7},is_subtype},[{var,{1630,7},'Map'},{type,{1630,14},map,any}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,49,57,50>>,since => <<79,84,80,32,49,55,46,48>>}},{{function,match_spec_test,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1643}],[<<109,97,116,99,104,95,115,112,101,99,95,116,101,115,116,47,51>>],#{<<101,110>> => [{p,[],[<<84,101,115,116,115,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,117,115,101,100,32,105,110,32,99,97,108,108,115,32,116,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,116,115,35,115,101,108,101,99,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,116,115,58,115,101,108,101,99,116,47,50>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]}]},<<46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,116,101,115,116,115,32,98,111,116,104,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,111,114,32,34,115,121,110,116,97,99,116,105,99,34,32,99,111,114,114,101,99,116,110,101,115,115,32,97,110,100,32,114,117,110,115,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,97,103,97,105,110,115,116,32,116,104,101,32,111,98,106,101,99,116,46,32,73,102,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,99,111,110,116,97,105,110,115,32,101,114,114,111,114,115,44,32,116,104,101,32,116,117,112,108,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,69,114,114,111,114,115,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,119,104,101,114,101,32>>,{code,[],[<<69,114,114,111,114,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,110,97,116,117,114,97,108,32,108,97,110,103,117,97,103,101,32,100,101,115,99,114,105,112,116,105,111,110,115,32,111,102,32,119,104,97,116,32,119,97,115,32,119,114,111,110,103,32,119,105,116,104,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32>>,{code,[],[<<116,97,98,108,101>>]},<<44,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,109,97,116,99,104,32,97,103,97,105,110,115,116,32,105,115,32,116,111,32,98,101,32,97,32,116,117,112,108,101,46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,116,104,101,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,82,101,115,117,108,116,44,91,93,44,87,97,114,110,105,110,103,115,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32,119,104,97,116,32,119,111,117,108,100,32,104,97,118,101,32,98,101,101,110,32,116,104,101,32,114,101,115,117,108,116,32,105,110,32,97,32,114,101,97,108,32>>,{code,[],[<<101,116,115,58,115,101,108,101,99,116,47,50>>]},<<32,99,97,108,108,44,32,111,114,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,111,98,106,101,99,116,32,116,117,112,108,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32>>,{code,[],[<<116,114,97,99,101>>]},<<44,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,109,97,116,99,104,32,97,103,97,105,110,115,116,32,105,115,32,116,111,32,98,101,32,97,32,108,105,115,116,46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,82,101,115,117,108,116,44,32,70,108,97,103,115,44,32,87,97,114,110,105,110,103,115,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{ul,[],[{li,[],[{code,[],[<<116,114,117,101>>]},<<32,105,102,32,97,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,105,115,32,116,111,32,98,101,32,101,109,105,116,116,101,100>>]},{li,[],[{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,97,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,105,115,32,110,111,116,32,116,111,32,98,101,32,101,109,105,116,116,101,100>>]},{li,[],[<<84,104,101,32,109,101,115,115,97,103,101,32,116,101,114,109,32,116,111,32,98,101,32,97,112,112,101,110,100,101,100,32,116,111,32,116,104,101,32,116,114,97,99,101,32,109,101,115,115,97,103,101>>]}]},{p,[],[{code,[],[<<70,108,97,103,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,97,108,108,32,116,104,101,32,116,114,97,99,101,32,102,108,97,103,115,32,116,111,32,98,101,32,101,110,97,98,108,101,100,44,32,99,117,114,114,101,110,116,108,121,32,116,104,105,115,32,105,115,32,111,110,108,121,32>>,{code,[],[<<114,101,116,117,114,110,95,116,114,97,99,101>>]},<<46>>]},{p,[],[<<84,104,105,115,32,105,115,32,97,32,117,115,101,102,117,108,32,100,101,98,117,103,103,105,110,103,32,97,110,100,32,116,101,115,116,32,116,111,111,108,44,32,101,115,112,101,99,105,97,108,108,121,32,119,104,101,110,32,119,114,105,116,105,110,103,32,99,111,109,112,108,105,99,97,116,101,100,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,116,115,35,116,101,115,116,95,109,115,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,116,115,58,116,101,115,116,95,109,115,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{1643,2},spec,{{erlang,match_spec_test,3},[{type,{1643,29},bounded_fun,[{type,{1643,29},'fun',[{type,{1643,29},product,[{var,{1643,30},'MatchAgainst'},{var,{1643,44},'MatchSpec'},{var,{1643,55},'Type'}]},{var,{1643,64},'TestResult'}]},[{type,{1644,7},constraint,[{atom,{1644,7},is_subtype},[{var,{1644,7},'MatchAgainst'},{type,{1644,23},union,[{type,{1644,23},list,[{type,{1644,24},term,[]}]},{type,{1644,34},tuple,any}]}]]},{type,{1645,7},constraint,[{atom,{1645,7},is_subtype},[{var,{1645,7},'MatchSpec'},{type,{1645,20},term,[]}]]},{type,{1646,7},constraint,[{atom,{1646,7},is_subtype},[{var,{1646,7},'Type'},{type,{1646,15},union,[{atom,{1646,15},table},{atom,{1646,23},trace}]}]]},{type,{1647,7},constraint,[{atom,{1647,7},is_subtype},[{var,{1647,7},'TestResult'},{type,{1647,21},union,[{type,{1647,21},tuple,[{atom,{1647,22},ok},{type,{1647,26},term,[]},{type,{1647,34},list,[{atom,{1647,35},return_trace}]},{type,{1647,50},list,[{type,{1647,52},tuple,[{type,{1647,53},union,[{atom,{1647,53},error},{atom,{1647,61},warning}]},{type,{1647,70},string,[]}]}]}]},{type,{1647,85},tuple,[{atom,{1647,86},error},{type,{1647,93},list,[{type,{1647,95},tuple,[{type,{1647,96},union,[{atom,{1647,96},error},{atom,{1647,104},warning}]},{type,{1647,113},string,[]}]}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,50,48,53>>,since => <<79,84,80,32,49,57,46,48>>}},{{function,max,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4260}],[<<109,97,120,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,108,97,114,103,101,115,116,32,111,102,32>>,{code,[],[<<84,101,114,109,49>>]},<<32,97,110,100,32>>,{code,[],[<<84,101,114,109,50>>]},<<46,32,73,102,32,116,104,101,32,116,101,114,109,115,32,99,111,109,112,97,114,101,32,101,113,117,97,108,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<61,61>>]},<<32,111,112,101,114,97,116,111,114,44,32>>,{code,[],[<<84,101,114,109,49>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,116,101,114,109,45,99,111,109,112,97,114,105,115,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,120,112,114,101,115,115,105,111,110,115,32,115,101,99,116,105,111,110>>]},<<32,99,111,110,116,97,105,110,115,32,100,101,115,99,114,105,112,116,105,111,110,115,32,111,102,32,116,104,101,32>>,{code,[],[<<61,61>>]},<<32,111,112,101,114,97,116,111,114,32,97,110,100,32,104,111,119,32,116,101,114,109,115,32,97,114,101,32,111,114,100,101,114,101,100,46>>]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,109,97,120,40,49,44,32,50,41,46,10,50>>]}]},{pre,[],[{code,[],[<<62,32,109,97,120,40,49,46,48,44,32,49,41,46,10,49,46,48>>]}]},{pre,[],[{code,[],[<<62,32,109,97,120,40,49,44,32,49,46,48,41,46,10,49>>]}]},{pre,[],[{code,[],[<<62,32,109,97,120,40,34,97,98,99,34,44,32,34,98,34,41,46,10,34,98,34>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,115,32,116,101,115,116,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,50,54,46>>]}]}]},#{signature => [{attribute,{4260,2},spec,{{max,2},[{type,{4260,10},bounded_fun,[{type,{4260,10},'fun',[{type,{4260,10},product,[{var,{4260,11},'Term1'},{var,{4260,18},'Term2'}]},{var,{4260,28},'Maximum'}]},[{type,{4261,7},constraint,[{atom,{4261,7},is_subtype},[{var,{4261,7},'Term1'},{type,{4261,16},term,[]}]]},{type,{4262,7},constraint,[{atom,{4262,7},is_subtype},[{var,{4262,7},'Term2'},{type,{4262,16},term,[]}]]},{type,{4263,7},constraint,[{atom,{4263,7},is_subtype},[{var,{4263,7},'Maximum'},{type,{4263,18},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,50,52,51>>}},{{function,md5,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1652}],[<<109,100,53,47,49>>],#{<<101,110>> => [{p,[],[<<67,111,109,112,117,116,101,115,32,97,110,32,77,68,53,32,109,101,115,115,97,103,101,32,100,105,103,101,115,116,32,102,114,111,109,32>>,{code,[],[<<68,97,116,97>>]},<<44,32,119,104,101,114,101,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,100,105,103,101,115,116,32,105,115,32,49,50,56,32,98,105,116,115,32,40,49,54,32,98,121,116,101,115,41,46,32>>,{code,[],[<<68,97,116,97>>]},<<32,105,115,32,97,32,98,105,110,97,114,121,32,111,114,32,97,32,108,105,115,116,32,111,102,32,115,109,97,108,108,32,105,110,116,101,103,101,114,115,32,97,110,100,32,98,105,110,97,114,105,101,115,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,77,68,53,44,32,115,101,101,32>>,{a,[{href,<<104,116,116,112,115,58,47,47,119,119,119,46,105,101,116,102,46,111,114,103,47,114,102,99,47,114,102,99,49,51,50,49,46,116,120,116>>}],[<<82,70,67,32,49,51,50,49,32,45,32,84,104,101,32,77,68,53,32,77,101,115,115,97,103,101,45,68,105,103,101,115,116,32,65,108,103,111,114,105,116,104,109>>]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,101,32,77,68,53,32,77,101,115,115,97,103,101,45,68,105,103,101,115,116,32,65,108,103,111,114,105,116,104,109,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,99,111,110,115,105,100,101,114,101,100,32,115,97,102,101,32,102,111,114,32,99,111,100,101,45,115,105,103,110,105,110,103,32,111,114,32,115,111,102,116,119,97,114,101,45,105,110,116,101,103,114,105,116,121,32,112,117,114,112,111,115,101,115,46>>]}]}]},#{signature => [{attribute,{1652,2},spec,{{erlang,md5,1},[{type,{1652,17},bounded_fun,[{type,{1652,17},'fun',[{type,{1652,17},product,[{var,{1652,18},'Data'}]},{var,{1652,27},'Digest'}]},[{type,{1653,7},constraint,[{atom,{1653,7},is_subtype},[{var,{1653,7},'Data'},{type,{1653,15},iodata,[]}]]},{type,{1654,7},constraint,[{atom,{1654,7},is_subtype},[{var,{1654,7},'Digest'},{type,{1654,17},binary,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,50,55,52>>}},{{function,md5_final,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1659}],[<<109,100,53,95,102,105,110,97,108,47,49>>],#{<<101,110>> => [{p,[],[<<70,105,110,105,115,104,101,115,32,116,104,101,32,117,112,100,97,116,101,32,111,102,32,97,110,32,77,68,53,32>>,{code,[],[<<67,111,110,116,101,120,116>>]},<<32,97,110,100,32,114,101,116,117,114,110,115,32,116,104,101,32,99,111,109,112,117,116,101,100,32>>,{code,[],[<<77,68,53>>]},<<32,109,101,115,115,97,103,101,32,100,105,103,101,115,116,46>>]}]},#{signature => [{attribute,{1659,2},spec,{{erlang,md5_final,1},[{type,{1659,23},bounded_fun,[{type,{1659,23},'fun',[{type,{1659,23},product,[{var,{1659,24},'Context'}]},{var,{1659,36},'Digest'}]},[{type,{1660,7},constraint,[{atom,{1660,7},is_subtype},[{var,{1660,7},'Context'},{type,{1660,18},binary,[]}]]},{type,{1661,7},constraint,[{atom,{1661,7},is_subtype},[{var,{1661,7},'Digest'},{type,{1661,17},binary,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,50,57,50>>}},{{function,md5_init,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1666}],[<<109,100,53,95,105,110,105,116,47,48>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,110,32,77,68,53,32,99,111,110,116,101,120,116,44,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,99,97,108,108,115,32,116,111,32>>,{code,[],[<<109,100,53,95,117,112,100,97,116,101,47,50>>]},<<46>>]}]},#{signature => [{attribute,{1666,2},spec,{{erlang,md5_init,0},[{type,{1666,22},bounded_fun,[{type,{1666,22},'fun',[{type,{1666,22},product,[]},{var,{1666,28},'Context'}]},[{type,{1667,7},constraint,[{atom,{1667,7},is_subtype},[{var,{1667,7},'Context'},{type,{1667,18},binary,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,51,48,50>>}},{{function,md5_update,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1672}],[<<109,100,53,95,117,112,100,97,116,101,47,50>>],#{<<101,110>> => [{p,[],[<<85,112,100,97,116,101,32,97,110,32,77,68,53,32>>,{code,[],[<<67,111,110,116,101,120,116>>]},<<32,119,105,116,104,32>>,{code,[],[<<68,97,116,97>>]},<<32,97,110,100,32,114,101,116,117,114,110,115,32,97,32>>,{code,[],[<<78,101,119,67,111,110,116,101,120,116>>]},<<46>>]}]},#{signature => [{attribute,{1672,2},spec,{{erlang,md5_update,2},[{type,{1672,24},bounded_fun,[{type,{1672,24},'fun',[{type,{1672,24},product,[{var,{1672,25},'Context'},{var,{1672,34},'Data'}]},{var,{1672,43},'NewContext'}]},[{type,{1673,7},constraint,[{atom,{1673,7},is_subtype},[{var,{1673,7},'Context'},{type,{1673,18},binary,[]}]]},{type,{1674,7},constraint,[{atom,{1674,7},is_subtype},[{var,{1674,7},'Data'},{type,{1674,15},iodata,[]}]]},{type,{1675,7},constraint,[{atom,{1675,7},is_subtype},[{var,{1675,7},'NewContext'},{type,{1675,21},binary,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,51,49,49>>}},{{function,memory,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4294}],[<<109,101,109,111,114,121,47,48>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,101,109,111,114,121,95,116,121,112,101>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,119,105,116,104,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,109,101,109,111,114,121,32,100,121,110,97,109,105,99,97,108,108,121,32,97,108,108,111,99,97,116,101,100,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,101,109,117,108,97,116,111,114,46,32,69,97,99,104,32,108,105,115,116,32,101,108,101,109,101,110,116,32,105,115,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,84,121,112,101,44,32,83,105,122,101,125>>]},<<46,32,84,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32,97,110,32,97,116,111,109,32,100,101,115,99,114,105,98,105,110,103,32,109,101,109,111,114,121,32,116,121,112,101,46,32,84,104,101,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,32>>,{code,[],[<<83,105,122,101>>]},<<32,105,115,32,116,104,101,32,109,101,109,111,114,121,32,115,105,122,101,32,105,110,32,98,121,116,101,115,46>>]},{p,[],[<<77,101,109,111,114,121,32,116,121,112,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<116,111,116,97,108>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,97,108,108,111,99,97,116,101,100,46,32,84,104,105,115,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,115,117,109,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,115,105,122,101,32,102,111,114,32>>,{code,[],[<<112,114,111,99,101,115,115,101,115>>]},<<32,97,110,100,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<46>>]}]},{dt,[],[{code,[],[<<112,114,111,99,101,115,115,101,115>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,46>>]}]},{dt,[],[{code,[],[<<112,114,111,99,101,115,115,101,115,95,117,115,101,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,117,115,101,100,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,46,32,84,104,105,115,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<112,114,111,99,101,115,115,101,115>>]},<<32,109,101,109,111,114,121,46>>]}]},{dt,[],[{code,[],[<<115,121,115,116,101,109>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,116,104,101,32,101,109,117,108,97,116,111,114,32,116,104,97,116,32,105,115,32,110,111,116,32,100,105,114,101,99,116,108,121,32,114,101,108,97,116,101,100,32,116,111,32,97,110,121,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,46,32,77,101,109,111,114,121,32,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<112,114,111,99,101,115,115,101,115>>]},<<32,105,115,32,110,111,116,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,105,115,32,109,101,109,111,114,121,46,32>>,{a,[{href,<<114,117,110,116,105,109,101,95,116,111,111,108,115,58,105,110,115,116,114,117,109,101,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,110,115,116,114,117,109,101,110,116,40,51,41>>]}]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,103,101,116,32,97,32,109,111,114,101,32,100,101,116,97,105,108,101,100,32,98,114,101,97,107,100,111,119,110,32,111,102,32,119,104,97,116,32,109,101,109,111,114,121,32,105,115,32,112,97,114,116,32,111,102,32,116,104,105,115,32,116,121,112,101,46>>]}]},{dt,[],[{code,[],[<<97,116,111,109>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,97,116,111,109,115,46,32,84,104,105,115,32,109,101,109,111,114,121,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,109,101,109,111,114,121,46>>]}]},{dt,[],[{code,[],[<<97,116,111,109,95,117,115,101,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,117,115,101,100,32,102,111,114,32,97,116,111,109,115,46,32,84,104,105,115,32,109,101,109,111,114,121,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<97,116,111,109>>]},<<32,109,101,109,111,114,121,46>>]}]},{dt,[],[{code,[],[<<98,105,110,97,114,121>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,98,105,110,97,114,105,101,115,46,32,84,104,105,115,32,109,101,109,111,114,121,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,109,101,109,111,114,121,46>>]}]},{dt,[],[{code,[],[<<99,111,100,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,69,114,108,97,110,103,32,99,111,100,101,46,32,84,104,105,115,32,109,101,109,111,114,121,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,109,101,109,111,114,121,46>>]}]},{dt,[],[{code,[],[<<101,116,115>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,99,117,114,114,101,110,116,108,121,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,69,84,83,32,116,97,98,108,101,115,46,32,84,104,105,115,32,109,101,109,111,114,121,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,109,101,109,111,114,121,46>>]}]},{dt,[],[{code,[],[<<109,97,120,105,109,117,109>>]}]},{dd,[],[{p,[],[<<84,104,101,32,109,97,120,105,109,117,109,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,101,100,32,115,105,110,99,101,32,116,104,101,32,101,109,117,108,97,116,111,114,32,119,97,115,32,115,116,97,114,116,101,100,46,32,84,104,105,115,32,116,117,112,108,101,32,105,115,32,111,110,108,121,32,112,114,101,115,101,110,116,32,119,104,101,110,32,116,104,101,32,101,109,117,108,97,116,111,114,32,105,115,32,114,117,110,32,119,105,116,104,32,105,110,115,116,114,117,109,101,110,116,97,116,105,111,110,46>>]},{p,[],[<<70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,104,111,119,32,116,111,32,114,117,110,32,116,104,101,32,101,109,117,108,97,116,111,114,32,119,105,116,104,32,105,110,115,116,114,117,109,101,110,116,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<114,117,110,116,105,109,101,95,116,111,111,108,115,58,105,110,115,116,114,117,109,101,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,110,115,116,114,117,109,101,110,116,40,51,41>>]}]},<<32,97,110,100,47,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<101,114,108,40,49,41>>]}]},<<46>>]}]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,109,112,108,101,116,101,46,32,83,111,109,101,32,97,108,108,111,99,97,116,101,100,32,109,101,109,111,114,121,32,116,104,97,116,32,105,115,32,116,111,32,98,101,32,112,97,114,116,32,111,102,32,116,104,105,115,32,118,97,108,117,101,32,105,115,32,110,111,116,46>>]},{p,[],[<<87,104,101,110,32,116,104,101,32,101,109,117,108,97,116,111,114,32,105,115,32,114,117,110,32,119,105,116,104,32,105,110,115,116,114,117,109,101,110,116,97,116,105,111,110,44,32,116,104,101,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,118,97,108,117,101,32,105,115,32,109,111,114,101,32,97,99,99,117,114,97,116,101,44,32,98,117,116,32,109,101,109,111,114,121,32,100,105,114,101,99,116,108,121,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32>>,{code,[],[<<109,97,108,108,111,99>>]},<<32,40,97,110,100,32,102,114,105,101,110,100,115,41,32,105,115,32,115,116,105,108,108,32,110,111,116,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,118,97,108,117,101,46,32,68,105,114,101,99,116,32,99,97,108,108,115,32,116,111,32>>,{code,[],[<<109,97,108,108,111,99>>]},<<32,97,114,101,32,111,110,108,121,32,100,111,110,101,32,102,114,111,109,32,79,83,45,115,112,101,99,105,102,105,99,32,114,117,110,116,105,109,101,32,108,105,98,114,97,114,105,101,115,32,97,110,100,32,112,101,114,104,97,112,115,32,102,114,111,109,32,117,115,101,114,45,105,109,112,108,101,109,101,110,116,101,100,32,69,114,108,97,110,103,32,100,114,105,118,101,114,115,32,116,104,97,116,32,100,111,32,110,111,116,32,117,115,101,32,116,104,101,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,117,110,99,116,105,111,110,115,32,105,110,32,116,104,101,32,100,114,105,118,101,114,32,105,110,116,101,114,102,97,99,101,46>>]},{p,[],[<<65,115,32,116,104,101,32>>,{code,[],[<<116,111,116,97,108>>]},<<32,118,97,108,117,101,32,105,115,32,116,104,101,32,115,117,109,32,111,102,32>>,{code,[],[<<112,114,111,99,101,115,115,101,115>>]},<<32,97,110,100,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<44,32,116,104,101,32,101,114,114,111,114,32,105,110,32>>,{code,[],[<<115,121,115,116,101,109>>]},<<32,112,114,111,112,97,103,97,116,101,115,32,116,111,32,116,104,101,32>>,{code,[],[<<116,111,116,97,108>>]},<<32,118,97,108,117,101,46>>]},{p,[],[<<84,104,101,32,100,105,102,102,101,114,101,110,116,32,97,109,111,117,110,116,115,32,111,102,32,109,101,109,111,114,121,32,116,104,97,116,32,97,114,101,32,115,117,109,109,101,100,32,97,114,101,32>>,{em,[],[<<110,111,116>>]},<<32,103,97,116,104,101,114,101,100,32,97,116,111,109,105,99,97,108,108,121,44,32,119,104,105,99,104,32,105,110,116,114,111,100,117,99,101,115,32,97,110,32,101,114,114,111,114,32,105,110,32,116,104,101,32,114,101,115,117,108,116,46>>]}]},{p,[],[<<84,104,101,32,100,105,102,102,101,114,101,110,116,32,118,97,108,117,101,115,32,104,97,118,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,114,101,108,97,116,105,111,110,32,116,111,32,101,97,99,104,32,111,116,104,101,114,46,32,86,97,108,117,101,115,32,98,101,103,105,110,110,105,110,103,32,119,105,116,104,32,97,110,32,117,112,112,101,114,99,97,115,101,32,108,101,116,116,101,114,32,105,115,32,110,111,116,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,46>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<116,111,116,97,108,32,32,32,32,32,32,61,32,112,114,111,99,101,115,115,101,115,32,43,32,115,121,115,116,101,109,10,112,114,111,99,101,115,115,101,115,32,32,61,32,112,114,111,99,101,115,115,101,115,95,117,115,101,100,32,43,32,80,114,111,99,101,115,115,101,115,78,111,116,85,115,101,100,10,115,121,115,116,101,109,32,32,32,32,32,61,32,97,116,111,109,32,43,32,98,105,110,97,114,121,32,43,32,99,111,100,101,32,43,32,101,116,115,32,43,32,79,116,104,101,114,83,121,115,116,101,109,10,97,116,111,109,32,32,32,32,32,32,32,61,32,97,116,111,109,95,117,115,101,100,32,43,32,65,116,111,109,78,111,116,85,115,101,100,10,82,101,97,108,84,111,116,97,108,32,32,61,32,112,114,111,99,101,115,115,101,115,32,43,32,82,101,97,108,83,121,115,116,101,109,10,82,101,97,108,83,121,115,116,101,109,32,61,32,115,121,115,116,101,109,32,43,32,77,105,115,115,101,100,83,121,115,116,101,109>>]}]},{p,[],[<<77,111,114,101,32,116,117,112,108,101,115,32,105,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,32,99,97,110,32,98,101,32,97,100,100,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32>>,{code,[],[<<116,111,116,97,108>>]},<<32,118,97,108,117,101,32,105,115,32,115,117,112,112,111,115,101,100,32,116,111,32,98,101,32,116,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,100,121,110,97,109,105,99,97,108,108,121,32,97,108,108,111,99,97,116,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,83,104,97,114,101,100,32,108,105,98,114,97,114,105,101,115,44,32,116,104,101,32,99,111,100,101,32,111,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,105,116,115,101,108,102,44,32,97,110,100,32,116,104,101,32,101,109,117,108,97,116,111,114,32,115,116,97,99,107,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,115,101,100,32,116,111,32,98,101,32,105,110,99,108,117,100,101,100,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32>>,{code,[],[<<116,111,116,97,108>>]},<<32,118,97,108,117,101,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,115,117,112,112,111,115,101,100,32,116,111,32,98,101,32,101,113,117,97,108,32,116,111,32,116,104,101,32,116,111,116,97,108,32,115,105,122,101,32,111,102,32,97,108,108,32,112,97,103,101,115,32,109,97,112,112,101,100,32,116,111,32,116,104,101,32,101,109,117,108,97,116,111,114,46>>]},{p,[],[<<65,108,115,111,44,32,98,101,99,97,117,115,101,32,111,102,32,102,114,97,103,109,101,110,116,97,116,105,111,110,32,97,110,100,32,112,114,101,114,101,115,101,114,118,97,116,105,111,110,32,111,102,32,109,101,109,111,114,121,32,97,114,101,97,115,44,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,115,101,103,109,101,110,116,115,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,100,121,110,97,109,105,99,97,108,108,121,32,97,108,108,111,99,97,116,101,100,32,109,101,109,111,114,121,32,98,108,111,99,107,115,32,99,97,110,32,98,101,32,109,117,99,104,32,108,97,114,103,101,114,32,116,104,97,110,32,116,104,101,32,116,111,116,97,108,32,115,105,122,101,32,111,102,32,116,104,101,32,100,121,110,97,109,105,99,97,108,108,121,32,97,108,108,111,99,97,116,101,100,32,109,101,109,111,114,121,32,98,108,111,99,107,115,46>>]}]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<65,115,32,102,114,111,109,32,69,82,84,83,32,53,46,54,46,52,44,32>>,{code,[],[<<101,114,108,97,110,103,58,109,101,109,111,114,121,47,48>>]},<<32,114,101,113,117,105,114,101,115,32,116,104,97,116,32,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]}]},<<32,97,108,108,111,99,97,116,111,114,115,32,97,114,101,32,101,110,97,98,108,101,100,32,40,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,41,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<110,111,116,115,117,112>>]},<<32,105,102,32,97,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]}]},<<32,97,108,108,111,99,97,116,111,114,32,104,97,115,32,98,101,101,110,32,100,105,115,97,98,108,101,100,46>>]}]},#{signature => [{attribute,{4294,2},spec,{{erlang,memory,0},[{type,{4294,20},bounded_fun,[{type,{4294,20},'fun',[{type,{4294,20},product,[]},{type,{4294,26},list,[{type,{4294,27},tuple,[{var,{4294,28},'Type'},{var,{4294,34},'Size'}]}]}]},[{type,{4295,7},constraint,[{atom,{4295,7},is_subtype},[{var,{4295,7},'Type'},{user_type,{4295,15},memory_type,[]}]]},{type,{4296,7},constraint,[{atom,{4296,7},is_subtype},[{var,{4296,7},'Size'},{type,{4296,15},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,51,50,50>>}},{{function,memory,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4313}],[<<109,101,109,111,114,121,47,49>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,101,109,111,114,121,95,116,121,112,101>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,101,109,111,114,121,32,115,105,122,101,32,105,110,32,98,121,116,101,115,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,109,101,109,111,114,121,32,111,102,32,116,121,112,101,32>>,{code,[],[<<84,121,112,101>>]},<<46,32,84,104,101,32,97,114,103,117,109,101,110,116,32,99,97,110,32,97,108,115,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,108,105,115,116,32,111,102,32>>,{code,[],[<<109,101,109,111,114,121,95,116,121,112,101,40,41>>]},<<32,97,116,111,109,115,44,32,105,110,32,119,104,105,99,104,32,99,97,115,101,32,97,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,108,105,115,116,32,111,102,32>>,{code,[],[<<123,109,101,109,111,114,121,95,116,121,112,101,40,41,44,32,83,105,122,101,32,58,58,32,105,110,116,101,103,101,114,32,62,61,32,48,125>>]},<<32,116,117,112,108,101,115,32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<65,115,32,102,114,111,109,32,69,82,84,83,32,53,46,54,46,52,44,32>>,{code,[],[<<101,114,108,97,110,103,58,109,101,109,111,114,121,47,49>>]},<<32,114,101,113,117,105,114,101,115,32,116,104,97,116,32,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]}]},<<32,97,108,108,111,99,97,116,111,114,115,32,97,114,101,32,101,110,97,98,108,101,100,32,40,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,41,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32,110,111,116,32,111,110,101,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,116,121,112,101,115,32,108,105,115,116,101,100,32,105,110,32,116,104,101,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,101,109,111,114,121,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,109,101,109,111,114,121,47,48>>]}]},<<46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<109,97,120,105,109,117,109>>]},<<32,105,115,32,112,97,115,115,101,100,32,97,115,32>>,{code,[],[<<84,121,112,101>>]},<<32,97,110,100,32,116,104,101,32,101,109,117,108,97,116,111,114,32,105,115,32,110,111,116,32,114,117,110,32,105,110,32,105,110,115,116,114,117,109,101,110,116,101,100,32,109,111,100,101,46>>]},{dt,[],[{code,[],[<<110,111,116,115,117,112>>]}]},{dd,[],[<<73,102,32,97,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]}]},<<32,97,108,108,111,99,97,116,111,114,32,104,97,115,32,98,101,101,110,32,100,105,115,97,98,108,101,100,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,101,109,111,114,121,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,109,101,109,111,114,121,47,48>>]}]},<<46>>]}]},#{signature => [{attribute,{4313,2},spec,{{erlang,memory,1},[{type,{4313,20},'fun',[{type,{4313,20},product,[{ann_type,{4313,21},[{var,{4313,21},'Type'},{user_type,{4313,29},memory_type,[]}]}]},{type,{4313,47},non_neg_integer,[]}]},{type,{4314,20},'fun',[{type,{4314,20},product,[{ann_type,{4314,21},[{var,{4314,21},'TypeList'},{type,{4314,33},list,[{user_type,{4314,34},memory_type,[]}]}]}]},{type,{4314,53},list,[{type,{4314,54},tuple,[{user_type,{4314,55},memory_type,[]},{type,{4314,70},non_neg_integer,[]}]}]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,52,53,55>>}},{{function,min,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4250}],[<<109,105,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,111,102,32>>,{code,[],[<<84,101,114,109,49>>]},<<32,97,110,100,32>>,{code,[],[<<84,101,114,109,50>>]},<<46,32,73,102,32,116,104,101,32,116,101,114,109,115,32,99,111,109,112,97,114,101,32,101,113,117,97,108,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<61,61>>]},<<32,111,112,101,114,97,116,111,114,44,32>>,{code,[],[<<84,101,114,109,49>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,116,101,114,109,45,99,111,109,112,97,114,105,115,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,120,112,114,101,115,115,105,111,110,115,32,115,101,99,116,105,111,110>>]},<<32,99,111,110,116,97,105,110,115,32,100,101,115,99,114,105,112,116,105,111,110,115,32,111,102,32,116,104,101,32>>,{code,[],[<<61,61>>]},<<32,111,112,101,114,97,116,111,114,32,97,110,100,32,104,111,119,32,116,101,114,109,115,32,97,114,101,32,111,114,100,101,114,101,100,46>>]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,109,105,110,40,49,44,32,50,41,46,10,49>>]}]},{pre,[],[{code,[],[<<62,32,109,105,110,40,49,46,48,44,32,49,41,46,10,49,46,48>>]}]},{pre,[],[{code,[],[<<62,32,109,105,110,40,49,44,32,49,46,48,41,46,10,49>>]}]},{pre,[],[{code,[],[<<62,32,109,105,110,40,34,97,98,99,34,44,32,34,98,34,41,46,10,34,97,98,99,34>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,115,32,116,101,115,116,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,50,54,46>>]}]}]},#{signature => [{attribute,{4250,2},spec,{{min,2},[{type,{4250,10},bounded_fun,[{type,{4250,10},'fun',[{type,{4250,10},product,[{var,{4250,11},'Term1'},{var,{4250,18},'Term2'}]},{var,{4250,28},'Minimum'}]},[{type,{4251,7},constraint,[{atom,{4251,7},is_subtype},[{var,{4251,7},'Term1'},{type,{4251,16},term,[]}]]},{type,{4252,7},constraint,[{atom,{4252,7},is_subtype},[{var,{4252,7},'Term2'},{type,{4252,16},term,[]}]]},{type,{4253,7},constraint,[{atom,{4253,7},is_subtype},[{var,{4253,7},'Minimum'},{type,{4253,18},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,52,57,55>>}},{{function,module_loaded,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1680}],[<<109,111,100,117,108,101,95,108,111,97,100,101,100,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,109,111,100,117,108,101,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,105,115,32,108,111,97,100,101,100,32,97,115,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,99,111,100,101,95,108,111,97,100,105,110,103,35,99,111,100,101,45,114,101,112,108,97,99,101,109,101,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<99,117,114,114,101,110,116,32,99,111,100,101>>]}]},<<59,32,111,116,104,101,114,119,105,115,101,44,32>>,{code,[],[<<102,97,108,115,101>>]},<<46,32,73,116,32,100,111,101,115,32,110,111,116,32,97,116,116,101,109,112,116,32,116,111,32,108,111,97,100,32,116,104,101,32,109,111,100,117,108,101,46>>]}]},#{signature => [{attribute,{1680,2},spec,{{module_loaded,1},[{type,{1680,20},bounded_fun,[{type,{1680,20},'fun',[{type,{1680,20},product,[{var,{1680,21},'Module'}]},{type,{1680,32},boolean,[]}]},[{type,{1681,7},constraint,[{atom,{1681,7},is_subtype},[{var,{1681,7},'Module'},{type,{1681,17},module,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,53,50,56>>}},{{function,monitor,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1693}],[<<109,111,110,105,116,111,114,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,111,110,105,116,111,114,95,112,111,114,116,95,105,100,101,110,116,105,102,105,101,114>>}],[]},{li,[{name,<<109,111,110,105,116,111,114,95,112,114,111,99,101,115,115,95,105,100,101,110,116,105,102,105,101,114>>}],[]},{li,[{name,<<114,101,103,105,115,116,101,114,101,100,95,110,97,109,101>>}],[]},{li,[{name,<<114,101,103,105,115,116,101,114,101,100,95,112,114,111,99,101,115,115,95,105,100,101,110,116,105,102,105,101,114>>}],[]}]},{p,[],[{a,[{id,<<109,111,110,105,116,111,114,95,109,101,115,115,97,103,101>>}],[]},<<83,101,110,100,115,32,97,32,109,111,110,105,116,111,114,32,114,101,113,117,101,115,116,32,111,102,32,116,121,112,101,32>>,{code,[],[<<84,121,112,101>>]},<<32,116,111,32,116,104,101,32,101,110,116,105,116,121,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<46,32,73,102,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,101,110,116,105,116,121,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,32,111,114,32,105,116,32,99,104,97,110,103,101,115,32,109,111,110,105,116,111,114,101,100,32,115,116,97,116,101,44,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<109,111,110,105,116,111,114,47,50>>]},<<32,105,115,32,110,111,116,105,102,105,101,100,32,98,121,32,97,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,111,114,109,97,116,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<123,84,97,103,44,32,77,111,110,105,116,111,114,82,101,102,44,32,84,121,112,101,44,32,79,98,106,101,99,116,44,32,73,110,102,111,125>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,114,101,113,117,101,115,116,32,105,115,32,97,110,32,97,115,121,110,99,104,114,111,110,111,117,115,32,115,105,103,110,97,108,46,32,84,104,97,116,32,105,115,44,32,105,116,32,116,97,107,101,115,32,116,105,109,101,32,98,101,102,111,114,101,32,116,104,101,32,115,105,103,110,97,108,32,114,101,97,99,104,101,115,32,105,116,115,32,100,101,115,116,105,110,97,116,105,111,110,46>>]}]},{p,[],[{code,[],[<<84,121,112,101>>]},<<32,99,97,110,32,98,101,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,97,116,111,109,115,58,32>>,{code,[],[<<112,114,111,99,101,115,115>>]},<<44,32>>,{code,[],[<<112,111,114,116>>]},<<32,111,114,32>>,{code,[],[<<116,105,109,101,95,111,102,102,115,101,116>>]},<<46>>]},{p,[],[<<65,32>>,{code,[],[<<112,114,111,99,101,115,115>>]},<<32,111,114,32>>,{code,[],[<<112,111,114,116>>]},<<32,109,111,110,105,116,111,114,32,105,115,32,116,114,105,103,103,101,114,101,100,32,111,110,108,121,32,111,110,99,101,44,32,97,102,116,101,114,32,116,104,97,116,32,105,116,32,105,115,32,114,101,109,111,118,101,100,32,102,114,111,109,32,98,111,116,104,32,109,111,110,105,116,111,114,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,101,110,116,105,116,121,46,32,77,111,110,105,116,111,114,115,32,97,114,101,32,102,105,114,101,100,32,119,104,101,110,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,116,101,114,109,105,110,97,116,101,115,44,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,32,97,116,32,116,104,101,32,109,111,109,101,110,116,32,111,102,32,99,114,101,97,116,105,111,110,44,32,111,114,32,105,102,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32,105,116,32,105,115,32,108,111,115,116,46,32,73,102,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32,105,116,32,105,115,32,108,111,115,116,44,32,119,101,32,100,111,32,110,111,116,32,107,110,111,119,32,105,102,32,105,116,32,115,116,105,108,108,32,101,120,105,115,116,115,46,32,84,104,101,32,109,111,110,105,116,111,114,105,110,103,32,105,115,32,97,108,115,111,32,116,117,114,110,101,100,32,111,102,102,32,119,104,101,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,101,109,111,110,105,116,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<100,101,109,111,110,105,116,111,114,47,49>>]},<<32,105,115,32,99,97,108,108,101,100,46>>]},{p,[],[<<65,32>>,{code,[],[<<112,114,111,99,101,115,115>>]},<<32,111,114,32>>,{code,[],[<<112,111,114,116>>]},<<32,109,111,110,105,116,111,114,32,98,121,32,110,97,109,101,32,114,101,115,111,108,118,101,115,32,116,104,101,32>>,{code,[],[<<82,101,103,105,115,116,101,114,101,100,78,97,109,101>>]},<<32,116,111,32>>,{code,[],[<<112,105,100,40,41>>]},<<32,111,114,32>>,{code,[],[<<112,111,114,116,40,41>>]},<<32,111,110,108,121,32,111,110,99,101,32,97,116,32,116,104,101,32,109,111,109,101,110,116,32,111,102,32,109,111,110,105,116,111,114,32,105,110,115,116,97,110,116,105,97,116,105,111,110,44,32,108,97,116,101,114,32,99,104,97,110,103,101,115,32,116,111,32,116,104,101,32,110,97,109,101,32,114,101,103,105,115,116,114,97,116,105,111,110,32,119,105,108,108,32,110,111,116,32,97,102,102,101,99,116,32,116,104,101,32,101,120,105,115,116,105,110,103,32,109,111,110,105,116,111,114,46>>]},{p,[],[<<87,104,101,110,32,97,32>>,{code,[],[<<112,114,111,99,101,115,115>>]},<<32,111,114,32>>,{code,[],[<<112,111,114,116>>]},<<32,109,111,110,105,116,111,114,32,105,115,32,116,114,105,103,103,101,114,101,100,44,32,97,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,116,104,97,116,32,104,97,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<123,39,68,79,87,78,39,44,32,77,111,110,105,116,111,114,82,101,102,44,32,84,121,112,101,44,32,79,98,106,101,99,116,44,32,73,110,102,111,125>>]}]},{p,[],[<<73,110,32,116,104,101,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,32>>,{code,[],[<<77,111,110,105,116,111,114,82,101,102>>]},<<32,97,110,100,32>>,{code,[],[<<84,121,112,101>>]},<<32,97,114,101,32,116,104,101,32,115,97,109,101,32,97,115,32,100,101,115,99,114,105,98,101,100,32,101,97,114,108,105,101,114,44,32,97,110,100,58>>]},{dl,[],[{dt,[],[{code,[],[<<79,98,106,101,99,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,101,100,32,101,110,116,105,116,121,44,32,119,104,105,99,104,32,116,114,105,103,103,101,114,101,100,32,116,104,101,32,101,118,101,110,116,46,32,87,104,101,110,32,109,111,110,105,116,111,114,105,110,103,32,97,32,112,114,111,99,101,115,115,32,111,114,32,97,32,108,111,99,97,108,32,112,111,114,116,44,32>>,{code,[],[<<79,98,106,101,99,116>>]},<<32,119,105,108,108,32,98,101,32,101,113,117,97,108,32,116,111,32,116,104,101,32>>,{code,[],[<<112,105,100,40,41>>]},<<32,111,114,32>>,{code,[],[<<112,111,114,116,40,41>>]},<<32,116,104,97,116,32,119,97,115,32,98,101,105,110,103,32,109,111,110,105,116,111,114,101,100,46,32,87,104,101,110,32,109,111,110,105,116,111,114,105,110,103,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,98,121,32,110,97,109,101,44,32>>,{code,[],[<<79,98,106,101,99,116>>]},<<32,119,105,108,108,32,104,97,118,101,32,102,111,114,109,97,116,32>>,{code,[],[<<123,82,101,103,105,115,116,101,114,101,100,78,97,109,101,44,32,78,111,100,101,125>>]},<<32,119,104,101,114,101,32>>,{code,[],[<<82,101,103,105,115,116,101,114,101,100,78,97,109,101>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,119,104,105,99,104,32,104,97,115,32,98,101,101,110,32,117,115,101,100,32,119,105,116,104,32>>,{code,[],[<<109,111,110,105,116,111,114,47,50>>]},<<32,99,97,108,108,32,97,110,100,32>>,{code,[],[<<78,111,100,101>>]},<<32,105,115,32,108,111,99,97,108,32,111,114,32,114,101,109,111,116,101,32,110,111,100,101,32,110,97,109,101,32,40,102,111,114,32,112,111,114,116,115,32,109,111,110,105,116,111,114,101,100,32,98,121,32,110,97,109,101,44,32>>,{code,[],[<<78,111,100,101>>]},<<32,105,115,32,97,108,119,97,121,115,32,108,111,99,97,108,32,110,111,100,101,32,110,97,109,101,41,46>>]}]},{dt,[],[{code,[],[<<73,110,102,111>>]}]},{dd,[],[{p,[],[<<69,105,116,104,101,114,32,116,104,101,32,101,120,105,116,32,114,101,97,115,111,110,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,44,32>>,{code,[],[<<110,111,112,114,111,99>>]},<<32,40,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,100,105,100,32,110,111,116,32,101,120,105,115,116,32,97,116,32,116,104,101,32,116,105,109,101,32,111,102,32,109,111,110,105,116,111,114,32,99,114,101,97,116,105,111,110,41,44,32,111,114,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]},<<32,40,110,111,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32,116,104,101,32,110,111,100,101,32,119,104,101,114,101,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,112,114,111,99,101,115,115,32,114,101,115,105,100,101,115,41,46>>]}]}]},{dl,[],[{dt,[],[<<77,111,110,105,116,111,114,105,110,103,32,97,32>>,{a,[{id,<<109,111,110,105,116,111,114,95,112,114,111,99,101,115,115>>}],[]},{code,[],[<<112,114,111,99,101,115,115>>]}]},{dd,[],[{p,[],[<<67,114,101,97,116,101,115,32,109,111,110,105,116,111,114,32,98,101,116,119,101,101,110,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,32,97,110,100,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,97,32>>,{code,[],[<<112,105,100,40,41>>]},<<32,40,108,111,99,97,108,32,111,114,32,114,101,109,111,116,101,41,44,32,97,110,32,97,116,111,109,32>>,{code,[],[<<82,101,103,105,115,116,101,114,101,100,78,97,109,101>>]},<<32,111,114,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,82,101,103,105,115,116,101,114,101,100,78,97,109,101,44,32,78,111,100,101,125>>]},<<32,102,111,114,32,97,32,114,101,103,105,115,116,101,114,101,100,32,112,114,111,99,101,115,115,44,32,108,111,99,97,116,101,100,32,101,108,115,101,119,104,101,114,101,46>>]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<66,101,102,111,114,101,32,69,82,84,83,32,49,48,46,48,32,40,79,84,80,32,50,49,46,48,41,44,32,109,111,110,105,116,111,114,105,110,103,32,97,32,112,114,111,99,101,115,115,32,99,111,117,108,100,32,102,97,105,108,32,119,105,116,104,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,112,114,111,99,101,115,115,32,114,101,115,105,100,101,100,32,111,110,32,97,32,112,114,105,109,105,116,105,118,101,32,110,111,100,101,32,40,115,117,99,104,32,97,115,32,101,114,108,95,105,110,116,101,114,102,97,99,101,32,111,114,32,106,105,110,116,101,114,102,97,99,101,41,44,32,119,104,101,114,101,32,114,101,109,111,116,101,32,112,114,111,99,101,115,115,32,109,111,110,105,116,111,114,105,110,103,32,105,115,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,46>>]},{p,[],[<<78,111,119,44,32,115,117,99,104,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<109,111,110,105,116,111,114>>]},<<32,119,105,108,108,32,105,110,115,116,101,97,100,32,115,117,99,99,101,101,100,32,97,110,100,32,97,32,109,111,110,105,116,111,114,32,105,115,32,99,114,101,97,116,101,100,46,32,66,117,116,32,116,104,101,32,109,111,110,105,116,111,114,32,119,105,108,108,32,111,110,108,121,32,115,117,112,101,114,118,105,115,101,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,46,32,84,104,97,116,32,105,115,44,32,97,32>>,{code,[],[<<123,39,68,79,87,78,39,44,32,95,44,32,112,114,111,99,101,115,115,44,32,95,44,32,110,111,99,111,110,110,101,99,116,105,111,110,125>>]},<<32,105,115,32,116,104,101,32,111,110,108,121,32,109,101,115,115,97,103,101,32,116,104,97,116,32,109,97,121,32,98,101,32,114,101,99,101,105,118,101,100,44,32,97,115,32,116,104,101,32,112,114,105,109,105,116,105,118,101,32,110,111,100,101,32,104,97,118,101,32,110,111,32,119,97,121,32,111,102,32,114,101,112,111,114,116,105,110,103,32,116,104,101,32,115,116,97,116,117,115,32,111,102,32,116,104,101,32,109,111,110,105,116,111,114,101,100,32,112,114,111,99,101,115,115,46>>]}]}]},{dt,[],[<<77,111,110,105,116,111,114,105,110,103,32,97,32>>,{a,[{id,<<109,111,110,105,116,111,114,95,112,111,114,116>>}],[]},{code,[],[<<112,111,114,116>>]}]},{dd,[],[{p,[],[<<67,114,101,97,116,101,115,32,109,111,110,105,116,111,114,32,98,101,116,119,101,101,110,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,32,97,110,100,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,97,32>>,{code,[],[<<112,111,114,116,40,41>>]},<<32,40,111,110,108,121,32,108,111,99,97,108,41,44,32,97,110,32,97,116,111,109,32>>,{code,[],[<<82,101,103,105,115,116,101,114,101,100,78,97,109,101>>]},<<32,111,114,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,82,101,103,105,115,116,101,114,101,100,78,97,109,101,44,32,78,111,100,101,125>>]},<<32,102,111,114,32,97,32,114,101,103,105,115,116,101,114,101,100,32,112,111,114,116,44,32,108,111,99,97,116,101,100,32,111,110,32,116,104,105,115,32,110,111,100,101,46,32,78,111,116,101,44,32,116,104,97,116,32,97,116,116,101,109,112,116,32,116,111,32,109,111,110,105,116,111,114,32,97,32,114,101,109,111,116,101,32,112,111,114,116,32,119,105,108,108,32,114,101,115,117,108,116,32,105,110,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<46>>]}]},{dt,[],[<<77,111,110,105,116,111,114,105,110,103,32,97,32>>,{a,[{id,<<109,111,110,105,116,111,114,95,116,105,109,101,95,111,102,102,115,101,116>>}],[]},{code,[],[<<116,105,109,101,95,111,102,102,115,101,116>>]}]},{dd,[],[{p,[],[<<77,111,110,105,116,111,114,115,32,99,104,97,110,103,101,115,32,105,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,105,109,101,95,111,102,102,115,101,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,105,109,101,32,111,102,102,115,101,116>>]}]},<<32,98,101,116,119,101,101,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<46,32,79,110,101,32,118,97,108,105,100,32>>,{code,[],[<<73,116,101,109>>]},<<32,101,120,105,115,116,115,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<116,105,109,101,95,111,102,102,115,101,116,32,84,121,112,101>>]},<<44,32,110,97,109,101,108,121,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<99,108,111,99,107,95,115,101,114,118,105,99,101>>]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<99,108,111,99,107,95,115,101,114,118,105,99,101>>]},<<32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,97,32,112,114,111,99,101,115,115,46,32,73,110,32,116,104,105,115,32,99,97,115,101,32,105,116,32,115,101,114,118,101,115,32,97,115,32,97,110,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,116,101,114,110,97,108,32,99,108,111,99,107,32,115,101,114,118,105,99,101,32,97,116,32,99,117,114,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46>>]},{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,105,115,32,116,114,105,103,103,101,114,101,100,32,119,104,101,110,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,99,104,97,110,103,101,100,46,32,84,104,105,115,32,101,105,116,104,101,114,32,105,102,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,118,97,108,117,101,32,105,115,32,99,104,97,110,103,101,100,44,32,111,114,32,105,102,32,116,104,101,32,111,102,102,115,101,116,32,105,115,32,99,104,97,110,103,101,100,32,102,114,111,109,32,112,114,101,108,105,109,105,110,97,114,121,32,116,111,32,102,105,110,97,108,32,100,117,114,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,116,105,109,101,95,111,102,102,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,105,110,97,108,105,122,97,116,105,111,110,32,111,102,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116>>]},<<32,119,104,101,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,83,105,110,103,108,101,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46,32,87,104,101,110,32,97,32,99,104,97,110,103,101,32,102,114,111,109,32,112,114,101,108,105,109,105,110,97,114,121,32,116,111,32,102,105,110,97,108,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,109,97,100,101,44,32,116,104,101,32,109,111,110,105,116,111,114,32,105,115,32,116,114,105,103,103,101,114,101,100,32,111,110,99,101,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,119,104,101,116,104,101,114,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,118,97,108,117,101,32,119,97,115,32,99,104,97,110,103,101,100,32,111,114,32,110,111,116,46>>]},{p,[],[<<73,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,115,32,105,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,77,117,108,116,105,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<109,117,108,116,105,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<44,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,99,104,97,110,103,101,100,32,119,104,101,110,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,100,101,116,101,99,116,115,32,116,104,97,116,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,79,83,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,104,97,115,32,99,104,97,110,103,101,100,46,32,84,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,100,111,101,115,44,32,104,111,119,101,118,101,114,44,32,110,111,116,32,100,101,116,101,99,116,32,116,104,105,115,32,105,109,109,101,100,105,97,116,101,108,121,32,119,104,101,110,32,105,116,32,111,99,99,117,114,115,46,32,65,32,116,97,115,107,32,99,104,101,99,107,105,110,103,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,115,99,104,101,100,117,108,101,100,32,116,111,32,101,120,101,99,117,116,101,32,97,116,32,108,101,97,115,116,32,111,110,99,101,32,97,32,109,105,110,117,116,101,44,32,115,111,32,117,110,100,101,114,32,110,111,114,109,97,108,32,111,112,101,114,97,116,105,111,110,32,116,104,105,115,32,105,115,32,116,111,32,98,101,32,100,101,116,101,99,116,101,100,32,119,105,116,104,105,110,32,97,32,109,105,110,117,116,101,44,32,98,117,116,32,100,117,114,105,110,103,32,104,101,97,118,121,32,108,111,97,100,32,105,116,32,99,97,110,32,116,97,107,101,32,108,111,110,103,101,114,32,116,105,109,101,46>>]},{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,114,101,109,111,118,101,100,32,97,102,116,101,114,32,105,116,32,104,97,115,32,98,101,101,110,32,116,114,105,103,103,101,114,101,100,46,32,84,104,97,116,32,105,115,44,32,114,101,112,101,97,116,101,100,32,99,104,97,110,103,101,115,32,111,102,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,116,114,105,103,103,101,114,32,116,104,101,32,109,111,110,105,116,111,114,32,114,101,112,101,97,116,101,100,108,121,46>>]},{p,[],[<<87,104,101,110,32,116,104,101,32,109,111,110,105,116,111,114,32,105,115,32,116,114,105,103,103,101,114,101,100,32,97,32>>,{code,[],[<<39,67,72,65,78,71,69,39>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,109,111,110,105,116,111,114,105,110,103,32,112,114,111,99,101,115,115,46,32,65,32>>,{code,[],[<<39,67,72,65,78,71,69,39>>]},<<32,109,101,115,115,97,103,101,32,104,97,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<123,39,67,72,65,78,71,69,39,44,32,77,111,110,105,116,111,114,82,101,102,44,32,84,121,112,101,44,32,73,116,101,109,44,32,78,101,119,84,105,109,101,79,102,102,115,101,116,125>>]}]},{p,[],[<<119,104,101,114,101,32>>,{code,[],[<<77,111,110,105,116,111,114,82,101,102>>]},<<44,32>>,{code,[],[<<84,121,112,101>>]},<<44,32,97,110,100,32>>,{code,[],[<<73,116,101,109>>]},<<32,97,114,101,32,116,104,101,32,115,97,109,101,32,97,115,32,100,101,115,99,114,105,98,101,100,32,97,98,111,118,101,44,32,97,110,100,32>>,{code,[],[<<78,101,119,84,105,109,101,79,102,102,115,101,116>>]},<<32,105,115,32,116,104,101,32,110,101,119,32,116,105,109,101,32,111,102,102,115,101,116,46>>]},{p,[],[<<87,104,101,110,32,116,104,101,32>>,{code,[],[<<39,67,72,65,78,71,69,39>>]},<<32,109,101,115,115,97,103,101,32,104,97,115,32,98,101,101,110,32,114,101,99,101,105,118,101,100,32,121,111,117,32,97,114,101,32,103,117,97,114,97,110,116,101,101,100,32,110,111,116,32,116,111,32,114,101,116,114,105,101,118,101,32,116,104,101,32,111,108,100,32,116,105,109,101,32,111,102,102,115,101,116,32,119,104,101,110,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,105,109,101,95,111,102,102,115,101,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,105,109,101,95,111,102,102,115,101,116,40,41>>]}]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,121,111,117,32,99,97,110,32,111,98,115,101,114,118,101,32,116,104,101,32,99,104,97,110,103,101,32,111,102,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,119,104,101,110,32,99,97,108,108,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,116,105,109,101,95,111,102,102,115,101,116,40,41>>]},<<32,98,101,102,111,114,101,32,121,111,117,32,103,101,116,32,116,104,101,32>>,{code,[],[<<39,67,72,65,78,71,69,39>>]},<<32,109,101,115,115,97,103,101,46>>]}]}]},{p,[],[<<77,97,107,105,110,103,32,115,101,118,101,114,97,108,32,99,97,108,108,115,32,116,111,32>>,{code,[],[<<109,111,110,105,116,111,114,47,50>>]},<<32,102,111,114,32,116,104,101,32,115,97,109,101,32>>,{code,[],[<<73,116,101,109>>]},<<32,97,110,100,47,111,114,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32,110,111,116,32,97,110,32,101,114,114,111,114,59,32,105,116,32,114,101,115,117,108,116,115,32,105,110,32,97,115,32,109,97,110,121,32,105,110,100,101,112,101,110,100,101,110,116,32,109,111,110,105,116,111,114,105,110,103,32,105,110,115,116,97,110,99,101,115,46>>]},{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,102,117,110,99,116,105,111,110,97,108,105,116,121,32,105,115,32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,101,120,116,101,110,100,101,100,46,32,84,104,97,116,32,105,115,44,32,111,116,104,101,114,32>>,{code,[],[<<84,121,112,101>>]},<<115,32,97,110,100,32>>,{code,[],[<<73,116,101,109>>]},<<115,32,97,114,101,32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,115,117,112,112,111,114,116,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,102,32,111,114,32,119,104,101,110,32>>,{code,[],[<<109,111,110,105,116,111,114,47,50>>]},<<32,105,115,32,101,120,116,101,110,100,101,100,44,32,111,116,104,101,114,32,112,111,115,115,105,98,108,101,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<84,97,103>>]},<<44,32>>,{code,[],[<<79,98,106,101,99,116>>]},<<44,32,97,110,100,32>>,{code,[],[<<73,110,102,111>>]},<<32,105,110,32,116,104,101,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,32,119,105,108,108,32,98,101,32,105,110,116,114,111,100,117,99,101,100,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<70,111,114,32,115,111,109,101,32,105,109,112,111,114,116,97,110,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,100,105,115,116,114,105,98,117,116,101,100,32,115,105,103,110,97,108,115,44,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,98,108,111,99,107,105,110,103,45,115,105,103,110,97,108,105,110,103,45,111,118,101,114,45,100,105,115,116,114,105,98,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<66,108,111,99,107,105,110,103,32,83,105,103,110,97,108,105,110,103,32,79,118,101,114,32,68,105,115,116,114,105,98,117,116,105,111,110>>]}]},<<32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32>>,{i,[],[<<80,114,111,99,101,115,115,101,115>>]},<<32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]}]},#{signature => [{attribute,{1693,2},spec,{{monitor,2},[{type,{1694,7},bounded_fun,[{type,{1694,7},'fun',[{type,{1694,7},product,[{atom,{1694,8},process},{user_type,{1694,17},monitor_process_identifier,[]}]},{var,{1694,50},'MonitorRef'}]},[{type,{1695,9},constraint,[{atom,{1695,9},is_subtype},[{var,{1695,9},'MonitorRef'},{type,{1695,23},reference,[]}]]}]]},{type,{1696,7},bounded_fun,[{type,{1696,7},'fun',[{type,{1696,7},product,[{atom,{1696,8},port},{user_type,{1696,14},monitor_port_identifier,[]}]},{var,{1696,44},'MonitorRef'}]},[{type,{1697,9},constraint,[{atom,{1697,9},is_subtype},[{var,{1697,9},'MonitorRef'},{type,{1697,23},reference,[]}]]}]]},{type,{1698,7},bounded_fun,[{type,{1698,7},'fun',[{type,{1698,7},product,[{atom,{1698,8},time_offset},{atom,{1698,21},clock_service}]},{var,{1698,39},'MonitorRef'}]},[{type,{1699,9},constraint,[{atom,{1699,9},is_subtype},[{var,{1699,9},'MonitorRef'},{type,{1699,23},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,53,52,50>>,since => <<79,84,80,32,49,56,46,48,44,79,84,80,32,49,57,46,48>>}},{{function,monitor,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1705}],[<<109,111,110,105,116,111,114,47,51>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,111,110,105,116,111,114,95,112,111,114,116,95,105,100,101,110,116,105,102,105,101,114>>}],[]},{li,[{name,<<109,111,110,105,116,111,114,95,112,114,111,99,101,115,115,95,105,100,101,110,116,105,102,105,101,114>>}],[]},{li,[{name,<<114,101,103,105,115,116,101,114,101,100,95,110,97,109,101>>}],[]},{li,[{name,<<114,101,103,105,115,116,101,114,101,100,95,112,114,111,99,101,115,115,95,105,100,101,110,116,105,102,105,101,114>>}],[]}]},{p,[],[<<80,114,111,118,105,100,101,115,32,97,110,32,111,112,116,105,111,110,32,108,105,115,116,32,102,111,114,32,109,111,100,105,102,105,99,97,116,105,111,110,32,111,102,32,109,111,110,105,116,111,114,105,110,103,32,102,117,110,99,116,105,111,110,97,108,105,116,121,32,112,114,111,118,105,100,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,47,50>>]}]},<<46,32,84,104,101,32>>,{code,[],[<<84,121,112,101>>]},<<32,97,110,100,32>>,{code,[],[<<73,116,101,109>>]},<<32,97,114,103,117,109,101,110,116,115,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,109,101,97,110,105,110,103,32,97,115,32,119,104,101,110,32,112,97,115,115,101,100,32,116,111,32>>,{code,[],[<<109,111,110,105,116,111,114,47,50>>]},<<46,32,67,117,114,114,101,110,116,108,121,32,97,118,97,105,108,97,98,108,101,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,97,108,105,97,115,44,32,85,110,97,108,105,97,115,79,112,116,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,114,101,116,117,114,110,101,100,32,109,111,110,105,116,111,114,32,114,101,102,101,114,101,110,99,101,32,119,105,108,108,32,97,108,115,111,32,98,101,99,111,109,101,32,97,110,32,97,108,105,97,115,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,114,101,102,101,114,101,110,99,101,32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,32,115,101,110,100,105,110,103,32,109,101,115,115,97,103,101,115,32,116,111,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,97,108,105,97,115,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<97,108,105,97,115,47,48>>]}]},<<46,32,84,104,101,32>>,{code,[],[<<85,110,97,108,105,97,115,79,112,116>>]},<<32,100,101,116,101,114,109,105,110,101,115,32,104,111,119,32,116,104,101,32,97,108,105,97,115,32,115,104,111,117,108,100,32,98,101,32,100,101,97,99,116,105,118,97,116,101,100,46>>]},{dl,[],[{dt,[],[{code,[],[<<101,120,112,108,105,99,105,116,95,117,110,97,108,105,97,115>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,97,110,32,101,120,112,108,105,99,105,116,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,117,110,97,108,105,97,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<117,110,97,108,105,97,115,47,49>>]}]},<<32,119,105,108,108,32,100,101,97,99,116,105,118,97,116,101,32,116,104,101,32,97,108,105,97,115,46>>]}]},{dt,[],[{code,[],[<<100,101,109,111,110,105,116,111,114>>]}]},{dd,[],[{p,[],[<<84,104,101,32,97,108,105,97,115,32,119,105,108,108,32,98,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,97,99,116,105,118,97,116,101,100,32,119,104,101,110,32,116,104,101,32,109,111,110,105,116,111,114,32,105,115,32,114,101,109,111,118,101,100,46,32,84,104,105,115,32,101,105,116,104,101,114,32,118,105,97,32,97,110,32,101,120,112,108,105,99,105,116,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,101,109,111,110,105,116,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<100,101,109,111,110,105,116,111,114,47,49>>]}]},<<32,111,114,32,119,104,101,110,32,105,116,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,114,101,109,111,118,101,100,32,97,116,32,116,104,101,32,115,97,109,101,32,116,105,109,101,32,97,115,32,97,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,100,101,108,105,118,101,114,101,100,32,100,117,101,32,116,111,32,116,104,101,32,109,111,110,105,116,111,114,46,32,84,104,101,32,97,108,105,97,115,32,99,97,110,32,97,108,115,111,32,115,116,105,108,108,32,98,101,32,100,101,97,99,116,105,118,97,116,101,100,32,118,105,97,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<117,110,97,108,105,97,115,47,49>>]},<<46>>]}]},{dt,[],[{code,[],[<<114,101,112,108,121,95,100,101,109,111,110,105,116,111,114>>]}]},{dd,[],[{p,[],[<<84,104,101,32,97,108,105,97,115,32,119,105,108,108,32,98,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,97,99,116,105,118,97,116,101,100,32,119,104,101,110,32,116,104,101,32,109,111,110,105,116,111,114,32,105,115,32,114,101,109,111,118,101,100,32,40,115,101,101,32>>,{code,[],[<<100,101,109,111,110,105,116,111,114>>]},<<32,111,112,116,105,111,110,32,97,98,111,118,101,41,32,111,114,32,97,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,115,101,110,116,32,118,105,97,32,116,104,101,32,97,108,105,97,115,32,105,115,32,114,101,99,101,105,118,101,100,46,32,87,104,101,110,32,97,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,105,115,32,114,101,99,101,105,118,101,100,32,118,105,97,32,116,104,101,32,97,108,105,97,115,32,116,104,101,32,109,111,110,105,116,111,114,32,119,105,108,108,32,97,108,115,111,32,98,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,114,101,109,111,118,101,100,46,32,84,104,105,115,32,105,115,32,117,115,101,102,117,108,32,105,110,32,99,108,105,101,110,116,47,115,101,114,118,101,114,32,115,99,101,110,97,114,105,111,115,32,119,104,101,110,32,97,32,99,108,105,101,110,116,32,109,111,110,105,116,111,114,115,32,116,104,101,32,115,101,114,118,101,114,32,97,110,100,32,119,105,108,108,32,103,101,116,32,116,104,101,32,114,101,112,108,121,32,118,105,97,32,116,104,101,32,97,108,105,97,115,46,32,79,110,99,101,32,116,104,101,32,114,101,115,112,111,110,115,101,32,105,115,32,114,101,99,101,105,118,101,100,32,98,111,116,104,32,116,104,101,32,97,108,105,97,115,32,97,110,100,32,116,104,101,32,109,111,110,105,116,111,114,32,119,105,108,108,32,98,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,114,101,109,111,118,101,100,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,119,104,101,116,104,101,114,32,116,104,101,32,114,101,115,112,111,110,115,101,32,105,115,32,97,32,114,101,112,108,121,32,111,114,32,97,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,46,32,84,104,101,32,97,108,105,97,115,32,99,97,110,32,97,108,115,111,32,115,116,105,108,108,32,98,101,32,100,101,97,99,116,105,118,97,116,101,100,32,118,105,97,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<117,110,97,108,105,97,115,47,49>>]},<<46,32,78,111,116,101,32,116,104,97,116,32,105,102,32,116,104,101,32,97,108,105,97,115,32,105,115,32,114,101,109,111,118,101,100,32,117,115,105,110,103,32,116,104,101,32>>,{code,[],[<<117,110,97,108,105,97,115,47,49>>]},<<32,66,73,70,44,32,116,104,101,32,109,111,110,105,116,111,114,32,119,105,108,108,32,115,116,105,108,108,32,98,101,32,108,101,102,116,32,97,99,116,105,118,101,46>>]}]}]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<115,101,114,118,101,114,40,41,32,45,62,10,32,32,32,32,114,101,99,101,105,118,101,10,32,32,32,32,32,32,32,32,123,114,101,113,117,101,115,116,44,32,65,108,105,97,115,82,101,113,73,100,44,32,82,101,113,117,101,115,116,125,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,82,101,115,117,108,116,32,61,32,112,101,114,102,111,114,109,95,114,101,113,117,101,115,116,40,82,101,113,117,101,115,116,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,65,108,105,97,115,82,101,113,73,100,32,33,32,123,114,101,112,108,121,44,32,65,108,105,97,115,82,101,113,73,100,44,32,82,101,115,117,108,116,125,10,32,32,32,32,101,110,100,44,10,32,32,32,32,115,101,114,118,101,114,40,41,46,10,10,99,108,105,101,110,116,40,83,101,114,118,101,114,80,105,100,44,32,82,101,113,117,101,115,116,41,32,45,62,10,32,32,32,32,65,108,105,97,115,77,111,110,82,101,113,73,100,32,61,32,109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,83,101,114,118,101,114,80,105,100,44,32,91,123,97,108,105,97,115,44,32,114,101,112,108,121,95,100,101,109,111,110,105,116,111,114,125,93,41,44,10,32,32,32,32,83,101,114,118,101,114,80,105,100,32,33,32,123,114,101,113,117,101,115,116,44,32,65,108,105,97,115,77,111,110,82,101,113,73,100,44,32,82,101,113,117,101,115,116,125,44,10,32,32,32,32,37,37,32,65,108,105,97,115,32,97,115,32,119,101,108,108,32,97,115,32,109,111,110,105,116,111,114,32,119,105,108,108,32,98,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,97,99,116,105,118,97,116,101,100,32,105,102,32,119,101,10,32,32,32,32,37,37,32,114,101,99,101,105,118,101,32,97,32,114,101,112,108,121,32,111,114,32,97,32,39,68,79,87,78,39,32,109,101,115,115,97,103,101,32,115,105,110,99,101,32,119,101,32,117,115,101,100,32,39,114,101,112,108,121,95,100,101,109,111,110,105,116,111,114,39,10,32,32,32,32,37,37,32,97,115,32,117,110,97,108,105,97,115,32,111,112,116,105,111,110,46,46,46,10,32,32,32,32,114,101,99,101,105,118,101,10,32,32,32,32,32,32,32,32,123,114,101,112,108,121,44,32,65,108,105,97,115,77,111,110,82,101,113,73,100,44,32,82,101,115,117,108,116,125,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,82,101,115,117,108,116,59,10,32,32,32,32,32,32,32,32,123,39,68,79,87,78,39,44,32,65,108,105,97,115,77,111,110,82,101,113,73,100,44,32,112,114,111,99,101,115,115,44,32,83,101,114,118,101,114,80,105,100,44,32,69,120,105,116,82,101,97,115,111,110,125,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,101,114,114,111,114,40,69,120,105,116,82,101,97,115,111,110,41,10,32,32,32,32,101,110,100,46,10,9,32,32,32,32>>]}]},{p,[],[<<78,111,116,101,32,116,104,97,116,32,98,111,116,104,32,116,104,101,32,115,101,114,118,101,114,32,97,110,100,32,116,104,101,32,99,108,105,101,110,116,32,105,110,32,116,104,105,115,32,101,120,97,109,112,108,101,32,109,117,115,116,32,98,101,32,101,120,101,99,117,116,105,110,103,32,111,110,32,97,116,32,108,101,97,115,116,32,79,84,80,32,50,52,32,115,121,115,116,101,109,115,32,105,110,32,111,114,100,101,114,32,102,111,114,32,116,104,105,115,32,116,111,32,119,111,114,107,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,112,114,111,99,101,115,115,32,97,108,105,97,115,101,115,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,112,114,111,99,101,115,115,45,97,108,105,97,115,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<80,114,111,99,101,115,115,32,65,108,105,97,115,101,115>>]}]},<<32,115,101,99,116,105,111,110,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,116,97,103,44,32,85,115,101,114,68,101,102,105,110,101,100,84,97,103,125>>]}]},{dd,[],[{p,[],[<<82,101,112,108,97,99,101,32,116,104,101,32,100,101,102,97,117,108,116,32>>,{code,[],[<<84,97,103>>]},<<32,119,105,116,104,32>>,{code,[],[<<85,115,101,114,68,101,102,105,110,101,100,84,97,103>>]},<<32,105,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<109,111,110,105,116,111,114,32,109,101,115,115,97,103,101>>]},<<32,100,101,108,105,118,101,114,101,100,32,119,104,101,110,32,116,104,101,32,109,111,110,105,116,111,114,32,105,115,32,116,114,105,103,103,101,114,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,119,104,101,110,32,109,111,110,105,116,111,114,105,110,103,32,97,32,112,114,111,99,101,115,115,44,32,116,104,101,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,116,97,103,32,105,110,32,116,104,101,32,100,111,119,110,32,109,101,115,115,97,103,101,32,119,105,108,108,32,98,101,32,114,101,112,108,97,99,101,100,32,98,121,32>>,{code,[],[<<85,115,101,114,68,101,102,105,110,101,100,84,97,103>>]},<<46>>]},{p,[],[<<65,110,32,101,120,97,109,112,108,101,32,111,102,32,104,111,119,32,116,104,101,32>>,{code,[],[<<123,116,97,103,44,32,85,115,101,114,68,101,102,105,110,101,100,84,97,103,125>>]},<<32,111,112,116,105,111,110,32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,32,111,114,100,101,114,32,116,111,32,101,110,97,98,108,101,32,116,104,101,32,110,101,119,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,112,114,111,99,101,115,115,101,115,35,114,101,99,101,105,118,105,110,103,45,109,101,115,115,97,103,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,101,108,101,99,116,105,118,101,32,114,101,99,101,105,118,101,32,111,112,116,105,109,105,122,97,116,105,111,110>>]},<<44,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,79,84,80,32,50,52,44,32,119,104,101,110,32,109,97,107,105,110,103,32,109,117,108,116,105,112,108,101,32,114,101,113,117,101,115,116,115,32,116,111,32,100,105,102,102,101,114,101,110,116,32,115,101,114,118,101,114,115,58>>]},{pre,[],[{code,[],[<<115,101,114,118,101,114,40,41,32,45,62,10,32,32,32,32,114,101,99,101,105,118,101,10,32,32,32,32,32,32,32,32,123,114,101,113,117,101,115,116,44,32,70,114,111,109,44,32,82,101,113,73,100,44,32,82,101,113,117,101,115,116,125,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,82,101,115,117,108,116,32,61,32,112,101,114,102,111,114,109,95,114,101,113,117,101,115,116,40,82,101,113,117,101,115,116,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,70,114,111,109,32,33,32,123,114,101,112,108,121,44,32,115,101,108,102,40,41,44,32,82,101,113,73,100,44,32,82,101,115,117,108,116,125,10,32,32,32,32,101,110,100,44,10,32,32,32,32,115,101,114,118,101,114,40,41,46,10,10,99,108,105,101,110,116,40,83,101,114,118,101,114,80,105,100,115,44,32,82,101,113,117,101,115,116,41,32,119,104,101,110,32,105,115,95,108,105,115,116,40,83,101,114,118,101,114,80,105,100,115,41,32,45,62,10,32,32,32,32,82,101,113,73,100,32,61,32,109,97,107,101,95,114,101,102,40,41,44,10,32,32,32,32,108,105,115,116,115,58,102,111,114,101,97,99,104,40,102,117,110,32,40,83,101,114,118,101,114,80,105,100,41,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,95,32,61,32,109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,83,101,114,118,101,114,80,105,100,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,123,116,97,103,44,32,123,39,68,79,87,78,39,44,32,82,101,113,73,100,125,125,93,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,83,101,114,118,101,114,80,105,100,32,33,32,123,114,101,113,117,101,115,116,44,32,115,101,108,102,40,41,44,32,82,101,113,73,100,44,32,82,101,113,117,101,115,116,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,101,110,100,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,83,101,114,118,101,114,80,105,100,115,41,44,10,32,32,32,32,114,101,99,101,105,118,101,95,114,101,112,108,105,101,115,40,82,101,113,73,100,44,32,108,101,110,103,116,104,40,83,101,114,118,101,114,80,105,100,115,41,44,32,91,93,41,46,10,10,114,101,99,101,105,118,101,95,114,101,112,108,105,101,115,40,95,82,101,113,73,100,44,32,48,44,32,65,99,99,41,32,45,62,10,32,32,32,32,65,99,99,59,10,114,101,99,101,105,118,101,95,114,101,112,108,105,101,115,40,82,101,113,73,100,44,32,78,44,32,65,99,99,41,32,45,62,10,32,32,32,32,37,37,32,84,104,101,32,99,111,109,112,105,108,101,114,32,119,105,108,108,32,100,101,116,101,99,116,32,116,104,97,116,32,119,101,32,109,97,116,99,104,32,111,110,32,116,104,101,32,39,82,101,113,73,100,39,10,32,32,32,32,37,37,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,108,108,32,99,108,97,117,115,101,115,44,32,97,110,100,32,119,105,108,108,32,101,110,97,98,108,101,32,116,104,101,32,115,101,108,101,99,116,105,118,101,10,32,32,32,32,37,37,32,114,101,99,101,105,118,101,32,111,112,116,105,109,105,122,97,116,105,111,110,32,119,104,105,99,104,32,109,97,107,101,115,32,116,104,101,32,114,101,99,101,105,118,101,32,97,98,108,101,32,116,111,10,32,32,32,32,37,37,32,115,107,105,112,32,112,97,115,116,32,97,108,108,32,109,101,115,115,97,103,101,115,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,97,116,10,32,32,32,32,37,37,32,116,104,101,32,116,105,109,101,32,119,104,101,110,32,116,104,101,32,39,82,101,113,73,100,39,32,114,101,102,101,114,101,110,99,101,32,119,97,115,32,99,114,101,97,116,101,100,46,46,46,10,32,32,32,32,82,101,115,32,61,32,114,101,99,101,105,118,101,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,114,101,112,108,121,44,32,83,101,114,118,101,114,80,105,100,44,32,82,101,113,73,100,44,32,82,101,115,117,108,116,125,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,37,37,32,72,101,114,101,32,119,101,32,116,121,112,105,99,97,108,108,121,32,119,111,117,108,100,32,104,97,118,101,32,100,101,97,99,116,105,118,97,116,101,100,32,116,104,101,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,37,37,32,109,111,110,105,116,111,114,32,98,121,32,97,32,99,97,108,108,32,116,111,32,100,101,109,111,110,105,116,111,114,40,77,111,110,44,32,91,102,108,117,115,104,93,41,32,98,117,116,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,37,37,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,105,110,32,116,104,105,115,32,101,120,97,109,112,108,101,32,102,111,114,32,115,105,109,112,108,105,99,105,116,121,46,46,46,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,111,107,44,32,83,101,114,118,101,114,80,105,100,44,32,82,101,115,117,108,116,125,59,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,123,39,68,79,87,78,39,44,32,82,101,113,73,100,125,44,32,95,77,111,110,44,32,112,114,111,99,101,115,115,44,32,83,101,114,118,101,114,80,105,100,44,32,69,120,105,116,82,101,97,115,111,110,125,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,101,114,114,111,114,44,32,83,101,114,118,101,114,80,105,100,44,32,69,120,105,116,82,101,97,115,111,110,125,10,32,32,32,32,32,32,32,32,32,32,101,110,100,44,10,32,32,32,32,114,101,99,101,105,118,101,95,114,101,112,108,105,101,115,40,82,101,113,73,100,44,32,78,45,49,44,32,91,82,101,115,32,124,32,65,99,99,93,41,46,10,9,32,32,32,32>>]}]},{p,[],[<<73,110,32,111,114,100,101,114,32,102,111,114,32,116,104,105,115,32,101,120,97,109,112,108,101,32,116,111,32,119,111,114,107,32,97,115,32,105,110,116,101,110,100,101,100,44,32,116,104,101,32,99,108,105,101,110,116,32,109,117,115,116,32,98,101,32,101,120,101,99,117,116,105,110,103,32,111,110,32,97,116,32,108,101,97,115,116,32,97,110,32,79,84,80,32,50,52,32,115,121,115,116,101,109,44,32,98,117,116,32,116,104,101,32,115,101,114,118,101,114,115,32,109,97,121,32,101,120,101,99,117,116,101,32,111,110,32,111,108,100,101,114,32,115,121,115,116,101,109,115,46>>]}]}]}]},#{signature => [{attribute,{1705,2},spec,{{monitor,3},[{type,{1706,7},bounded_fun,[{type,{1706,7},'fun',[{type,{1706,7},product,[{atom,{1706,8},process},{user_type,{1706,17},monitor_process_identifier,[]},{type,{1706,47},list,[{user_type,{1706,48},monitor_option,[]}]}]},{var,{1706,70},'MonitorRef'}]},[{type,{1707,9},constraint,[{atom,{1707,9},is_subtype},[{var,{1707,9},'MonitorRef'},{type,{1707,23},reference,[]}]]}]]},{type,{1708,7},bounded_fun,[{type,{1708,7},'fun',[{type,{1708,7},product,[{atom,{1708,8},port},{user_type,{1708,14},monitor_port_identifier,[]},{type,{1708,41},list,[{user_type,{1708,42},monitor_option,[]}]}]},{var,{1708,64},'MonitorRef'}]},[{type,{1709,9},constraint,[{atom,{1709,9},is_subtype},[{var,{1709,9},'MonitorRef'},{type,{1709,23},reference,[]}]]}]]},{type,{1710,7},bounded_fun,[{type,{1710,7},'fun',[{type,{1710,7},product,[{atom,{1710,8},time_offset},{atom,{1710,21},clock_service},{type,{1710,36},list,[{user_type,{1710,37},monitor_option,[]}]}]},{var,{1710,59},'MonitorRef'}]},[{type,{1711,9},constraint,[{atom,{1711,9},is_subtype},[{var,{1711,9},'MonitorRef'},{type,{1711,23},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,55,50,52>>,since => <<79,84,80,32,50,52,46,48>>}},{{function,monitor_node,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1717}],[<<109,111,110,105,116,111,114,95,110,111,100,101,47,50>>],#{<<101,110>> => [{p,[],[<<77,111,110,105,116,111,114,32,116,104,101,32,115,116,97,116,117,115,32,111,102,32,116,104,101,32,110,111,100,101,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,73,102,32>>,{code,[],[<<70,108,97,103>>]},<<32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,109,111,110,105,116,111,114,105,110,103,32,105,115,32,116,117,114,110,101,100,32,111,110,46,32,73,102,32>>,{code,[],[<<70,108,97,103>>]},<<32,105,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,109,111,110,105,116,111,114,105,110,103,32,105,115,32,116,117,114,110,101,100,32,111,102,102,46>>]},{p,[],[<<77,97,107,105,110,103,32,115,101,118,101,114,97,108,32,99,97,108,108,115,32,116,111,32>>,{code,[],[<<109,111,110,105,116,111,114,95,110,111,100,101,40,78,111,100,101,44,32,116,114,117,101,41>>]},<<32,102,111,114,32,116,104,101,32,115,97,109,101,32>>,{code,[],[<<78,111,100,101>>]},<<32,105,115,32,110,111,116,32,97,110,32,101,114,114,111,114,59,32,105,116,32,114,101,115,117,108,116,115,32,105,110,32,97,115,32,109,97,110,121,32,105,110,100,101,112,101,110,100,101,110,116,32,109,111,110,105,116,111,114,105,110,103,32,105,110,115,116,97,110,99,101,115,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,102,97,105,108,115,32,111,114,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,116,104,101,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,110,111,100,101,100,111,119,110,44,32,78,111,100,101,125>>]},<<32,105,115,32,100,101,108,105,118,101,114,101,100,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,46,32,73,102,32,97,32,112,114,111,99,101,115,115,32,104,97,115,32,109,97,100,101,32,116,119,111,32,99,97,108,108,115,32,116,111,32>>,{code,[],[<<109,111,110,105,116,111,114,95,110,111,100,101,40,78,111,100,101,44,32,116,114,117,101,41>>]},<<32,97,110,100,32>>,{code,[],[<<78,111,100,101>>]},<<32,116,101,114,109,105,110,97,116,101,115,44,32,116,119,111,32>>,{code,[],[<<110,111,100,101,100,111,119,110>>]},<<32,109,101,115,115,97,103,101,115,32,97,114,101,32,100,101,108,105,118,101,114,101,100,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,46,32,73,102,32,116,104,101,114,101,32,105,115,32,110,111,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32>>,{code,[],[<<78,111,100,101>>]},<<44,32,97,110,32,97,116,116,101,109,112,116,32,105,115,32,109,97,100,101,32,116,111,32,99,114,101,97,116,101,32,111,110,101,46,32,73,102,32,116,104,105,115,32,102,97,105,108,115,44,32,97,32>>,{code,[],[<<110,111,100,101,100,111,119,110>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,100,101,108,105,118,101,114,101,100,46>>]},{p,[],[<<84,104,101,32,100,101,108,105,118,101,114,121,32,111,102,32,116,104,101,32>>,{code,[],[<<110,111,100,101,100,111,119,110>>]},<<32,115,105,103,110,97,108,32,105,115,32,110,111,116,32,111,114,100,101,114,101,100,32,119,105,116,104,32,114,101,115,112,101,99,116,32,116,111,32,111,116,104,101,114,32,108,105,110,107,32,111,114,32,109,111,110,105,116,111,114,32,115,105,103,110,97,108,115,32,102,114,111,109,32,116,104,101,32,110,111,100,101,32,116,104,97,116,32,103,111,101,115,32,100,111,119,110,46,32,73,102,32,121,111,117,32,110,101,101,100,32,97,32,103,117,97,114,97,110,116,101,101,32,116,104,97,116,32,97,108,108,32,115,105,103,110,97,108,115,32,102,114,111,109,32,116,104,101,32,114,101,109,111,116,101,32,110,111,100,101,32,104,97,115,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,116,104,101,32>>,{code,[],[<<110,111,100,101,100,111,119,110>>]},<<32,115,105,103,110,97,108,32,105,115,32,115,101,110,116,44,32,121,111,117,32,115,104,111,117,108,100,32,117,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,110,101,116,95,107,101,114,110,101,108,35,109,111,110,105,116,111,114,95,110,111,100,101,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,101,116,95,107,101,114,110,101,108,58,109,111,110,105,116,111,114,95,110,111,100,101,115,47,49>>]}]},<<46>>]},{p,[],[<<78,111,100,101,115,32,99,111,110,110,101,99,116,101,100,32,116,104,114,111,117,103,104,32,104,105,100,100,101,110,32,99,111,110,110,101,99,116,105,111,110,115,32,99,97,110,32,98,101,32,109,111,110,105,116,111,114,101,100,32,97,115,32,97,110,121,32,111,116,104,101,114,32,110,111,100,101,115,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<110,111,116,97,108,105,118,101>>]},<<32,105,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,46>>]}]},#{signature => [{attribute,{1717,2},spec,{{monitor_node,2},[{type,{1717,19},bounded_fun,[{type,{1717,19},'fun',[{type,{1717,19},product,[{var,{1717,20},'Node'},{var,{1717,26},'Flag'}]},{atom,{1717,35},true}]},[{type,{1718,7},constraint,[{atom,{1718,7},is_subtype},[{var,{1718,7},'Node'},{type,{1718,15},node,[]}]]},{type,{1719,7},constraint,[{atom,{1719,7},is_subtype},[{var,{1719,7},'Flag'},{type,{1719,15},boolean,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,56,57,48>>}},{{function,monitor_node,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1724}],[<<109,111,110,105,116,111,114,95,110,111,100,101,47,51>>],#{<<101,110>> => [{p,[],[<<66,101,104,97,118,101,115,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,95,110,111,100,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,95,110,111,100,101,47,50>>]}]},<<32,101,120,99,101,112,116,32,116,104,97,116,32,105,116,32,97,108,108,111,119,115,32,97,110,32,101,120,116,114,97,32,111,112,116,105,111,110,32,116,111,32,98,101,32,115,112,101,99,105,102,105,101,100,44,32,110,97,109,101,108,121,32>>,{code,[],[<<97,108,108,111,119,95,112,97,115,115,105,118,101,95,99,111,110,110,101,99,116>>]},<<46,32,84,104,105,115,32,111,112,116,105,111,110,32,97,108,108,111,119,115,32,116,104,101,32,66,73,70,32,116,111,32,119,97,105,116,32,116,104,101,32,110,111,114,109,97,108,32,110,101,116,119,111,114,107,32,99,111,110,110,101,99,116,105,111,110,32,116,105,109,101,45,111,117,116,32,102,111,114,32,116,104,101,32>>,{em,[],[<<109,111,110,105,116,111,114,101,100,32,110,111,100,101>>]},<<32,116,111,32,99,111,110,110,101,99,116,32,105,116,115,101,108,102,44,32,101,118,101,110,32,105,102,32,105,116,32,99,97,110,110,111,116,32,98,101,32,97,99,116,105,118,101,108,121,32,99,111,110,110,101,99,116,101,100,32,102,114,111,109,32,116,104,105,115,32,110,111,100,101,32,40,116,104,97,116,32,105,115,44,32,105,116,32,105,115,32,98,108,111,99,107,101,100,41,46,32,84,104,101,32,115,116,97,116,101,32,119,104,101,114,101,32,116,104,105,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,32,99,97,110,32,111,110,108,121,32,98,101,32,97,99,104,105,101,118,101,100,32,98,121,32,117,115,105,110,103,32,116,104,101,32,75,101,114,110,101,108,32,111,112,116,105,111,110,32>>,{code,[],[<<100,105,115,116,95,97,117,116,111,95,99,111,110,110,101,99,116,32,111,110,99,101>>]},<<46,32,73,102,32,116,104,97,116,32,111,112,116,105,111,110,32,105,115,32,110,111,116,32,117,115,101,100,44,32,111,112,116,105,111,110,32>>,{code,[],[<<97,108,108,111,119,95,112,97,115,115,105,118,101,95,99,111,110,110,101,99,116>>]},<<32,104,97,115,32,110,111,32,101,102,102,101,99,116,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,112,116,105,111,110,32>>,{code,[],[<<97,108,108,111,119,95,112,97,115,115,105,118,101,95,99,111,110,110,101,99,116>>]},<<32,105,115,32,117,115,101,100,32,105,110,116,101,114,110,97,108,108,121,32,97,110,100,32,105,115,32,115,101,108,100,111,109,32,110,101,101,100,101,100,32,105,110,32,97,112,112,108,105,99,97,116,105,111,110,115,32,119,104,101,114,101,32,116,104,101,32,110,101,116,119,111,114,107,32,116,111,112,111,108,111,103,121,32,97,110,100,32,116,104,101,32,75,101,114,110,101,108,32,111,112,116,105,111,110,115,32,105,110,32,101,102,102,101,99,116,32,97,114,101,32,107,110,111,119,110,32,105,110,32,97,100,118,97,110,99,101,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,32,111,114,32,116,104,101,32,111,112,116,105,111,110,32,108,105,115,116,32,105,115,32,109,97,108,102,111,114,109,101,100,46>>]}]},#{signature => [{attribute,{1724,2},spec,{{erlang,monitor_node,3},[{type,{1724,26},bounded_fun,[{type,{1724,26},'fun',[{type,{1724,26},product,[{var,{1724,27},'Node'},{var,{1724,33},'Flag'},{var,{1724,39},'Options'}]},{atom,{1724,51},true}]},[{type,{1725,7},constraint,[{atom,{1725,7},is_subtype},[{var,{1725,7},'Node'},{type,{1725,15},node,[]}]]},{type,{1726,7},constraint,[{atom,{1726,7},is_subtype},[{var,{1726,7},'Flag'},{type,{1726,15},boolean,[]}]]},{type,{1727,7},constraint,[{atom,{1727,7},is_subtype},[{var,{1727,7},'Options'},{type,{1727,18},list,[{var,{1727,19},'Option'}]}]]},{type,{1728,7},constraint,[{atom,{1728,7},is_subtype},[{var,{1728,7},'Option'},{atom,{1728,17},allow_passive_connect}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,57,50,48>>}},{{function,monotonic_time,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1826}],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,105,110,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,117,110,105,116>>]},<<46,32,84,104,105,115,32,105,115,32,97,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,116,105,109,101,32,115,105,110,99,101,32,115,111,109,101,32,117,110,115,112,101,99,105,102,105,101,100,32,112,111,105,110,116,32,105,110,32,116,105,109,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,105,115,32,97,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,77,111,110,111,116,111,110,105,99,97,108,108,121,95,73,110,99,114,101,97,115,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103>>]},<<32,116,105,109,101,44,32,98,117,116,32>>,{em,[],[<<110,111,116>>]},<<32,97,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,83,116,114,105,99,116,108,121,95,77,111,110,111,116,111,110,105,99,97,108,108,121,95,73,110,99,114,101,97,115,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,116,114,105,99,116,108,121,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103>>]},<<32,116,105,109,101,46,32,84,104,97,116,32,105,115,44,32,99,111,110,115,101,99,117,116,105,118,101,32,99,97,108,108,115,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48>>]},<<32,99,97,110,32,112,114,111,100,117,99,101,32,116,104,101,32,115,97,109,101,32,114,101,115,117,108,116,46>>]},{p,[],[<<68,105,102,102,101,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,115,32,119,105,108,108,32,117,115,101,32,100,105,102,102,101,114,101,110,116,32,117,110,115,112,101,99,105,102,105,101,100,32,112,111,105,110,116,115,32,105,110,32,116,105,109,101,32,97,115,32,98,97,115,101,32,102,111,114,32,116,104,101,105,114,32,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,99,108,111,99,107,115,46,32,84,104,97,116,32,105,115,44,32,105,116,32,105,115,32>>,{em,[],[<<112,111,105,110,116,108,101,115,115>>]},<<32,99,111,109,112,97,114,105,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,115,32,102,114,111,109,32,100,105,102,102,101,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,115,46,32,68,105,102,102,101,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,115,32,99,97,110,32,97,108,115,111,32,112,108,97,99,101,32,116,104,105,115,32,117,110,115,112,101,99,105,102,105,101,100,32,112,111,105,110,116,32,105,110,32,116,105,109,101,32,100,105,102,102,101,114,101,110,116,32,114,101,108,97,116,105,118,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,115,116,97,114,116,46,32,73,116,32,99,97,110,32,98,101,32,112,108,97,99,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,32,40,116,105,109,101,32,97,116,32,115,116,97,114,116,32,105,115,32,97,32,110,101,103,97,116,105,118,101,32,118,97,108,117,101,41,44,32,116,104,101,32,112,97,115,116,32,40,116,105,109,101,32,97,116,32,115,116,97,114,116,32,105,115,32,97,32,112,111,115,105,116,105,118,101,32,118,97,108,117,101,41,44,32,111,114,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,115,116,97,114,116,32,40,116,105,109,101,32,97,116,32,115,116,97,114,116,32,105,115,32,122,101,114,111,41,46,32,84,104,101,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,97,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,115,116,97,114,116,32,99,97,110,32,98,101,32,114,101,116,114,105,101,118,101,100,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,116,97,114,116,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,116,97,114,116,95,116,105,109,101,41>>]}]},<<46>>]}]}]},#{signature => [{attribute,{1826,2},spec,{{erlang,monotonic_time,0},[{type,{1826,28},'fun',[{type,{1826,28},product,[]},{type,{1826,34},integer,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,57,52,54>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,monotonic_time,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1831}],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,99,111,110,118,101,114,116,101,100,32,105,110,116,111,32,116,104,101,32>>,{code,[],[<<85,110,105,116>>]},<<32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,46>>]},{p,[],[<<83,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116>>]}]},{code,[],[<<40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<32>>,{code,[],[<<101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,41>>]}]},{code,[],[<<44,32,110,97,116,105,118,101,44,32,85,110,105,116,41>>]},<<44,32,104,111,119,101,118,101,114,32,111,112,116,105,109,105,122,101,100,32,102,111,114,32,99,111,109,109,111,110,108,121,32,117,115,101,100,32>>,{code,[],[<<85,110,105,116>>]},<<115,46>>]}]},#{signature => [{attribute,{1831,2},spec,{{erlang,monotonic_time,1},[{type,{1831,28},bounded_fun,[{type,{1831,28},'fun',[{type,{1831,28},product,[{var,{1831,29},'Unit'}]},{type,{1831,38},integer,[]}]},[{type,{1832,7},constraint,[{atom,{1832,7},is_subtype},[{var,{1832,7},'Unit'},{user_type,{1832,15},time_unit,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,57,56,48>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,nif_error,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1734}],[<<110,105,102,95,101,114,114,111,114,47,49>>],#{<<101,110>> => [{p,[],[<<87,111,114,107,115,32,101,120,97,99,116,108,121,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,114,111,114,47,49>>]}]},<<44,32,98,117,116,32,68,105,97,108,121,122,101,114,32,116,104,105,110,107,115,32,116,104,97,116,32,116,104,105,115,32,66,73,70,32,119,105,108,108,32,114,101,116,117,114,110,32,97,110,32,97,114,98,105,116,114,97,114,121,32,116,101,114,109,46,32,87,104,101,110,32,117,115,101,100,32,105,110,32,97,32,115,116,117,98,32,102,117,110,99,116,105,111,110,32,102,111,114,32,97,32,78,73,70,32,116,111,32,103,101,110,101,114,97,116,101,32,97,110,32,101,120,99,101,112,116,105,111,110,32,119,104,101,110,32,116,104,101,32,78,73,70,32,108,105,98,114,97,114,121,32,105,115,32,110,111,116,32,108,111,97,100,101,100,44,32,68,105,97,108,121,122,101,114,32,100,111,101,115,32,110,111,116,32,103,101,110,101,114,97,116,101,32,102,97,108,115,101,32,119,97,114,110,105,110,103,115,46>>]}]},#{signature => [{attribute,{1734,2},spec,{{erlang,nif_error,1},[{type,{1734,23},bounded_fun,[{type,{1734,23},'fun',[{type,{1734,23},product,[{var,{1734,24},'Reason'}]},{type,{1734,35},no_return,[]}]},[{type,{1735,7},constraint,[{atom,{1735,7},is_subtype},[{var,{1735,7},'Reason'},{type,{1735,17},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,52,57,57,56>>,since => <<79,84,80,32,82,49,52,66>>}},{{function,nif_error,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1741}],[<<110,105,102,95,101,114,114,111,114,47,50>>],#{<<101,110>> => [{p,[],[<<87,111,114,107,115,32,101,120,97,99,116,108,121,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,114,114,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,114,111,114,47,50>>]}]},<<44,32,98,117,116,32,68,105,97,108,121,122,101,114,32,116,104,105,110,107,115,32,116,104,97,116,32,116,104,105,115,32,66,73,70,32,119,105,108,108,32,114,101,116,117,114,110,32,97,110,32,97,114,98,105,116,114,97,114,121,32,116,101,114,109,46,32,87,104,101,110,32,117,115,101,100,32,105,110,32,97,32,115,116,117,98,32,102,117,110,99,116,105,111,110,32,102,111,114,32,97,32,78,73,70,32,116,111,32,103,101,110,101,114,97,116,101,32,97,110,32,101,120,99,101,112,116,105,111,110,32,119,104,101,110,32,116,104,101,32,78,73,70,32,108,105,98,114,97,114,121,32,105,115,32,110,111,116,32,108,111,97,100,101,100,44,32,68,105,97,108,121,122,101,114,32,100,111,101,115,32,110,111,116,32,103,101,110,101,114,97,116,101,32,102,97,108,115,101,32,119,97,114,110,105,110,103,115,46>>]}]},#{signature => [{attribute,{1741,2},spec,{{erlang,nif_error,2},[{type,{1741,23},bounded_fun,[{type,{1741,23},'fun',[{type,{1741,23},product,[{var,{1741,24},'Reason'},{var,{1741,32},'Args'}]},{type,{1741,41},no_return,[]}]},[{type,{1742,7},constraint,[{atom,{1742,7},is_subtype},[{var,{1742,7},'Reason'},{type,{1742,17},term,[]}]]},{type,{1743,7},constraint,[{atom,{1743,7},is_subtype},[{var,{1743,7},'Args'},{type,{1743,15},list,[{type,{1743,16},term,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,48,49,49>>,since => <<79,84,80,32,82,49,52,66>>}},{{function,node,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1749}],[<<110,111,100,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46,32,73,102,32,116,104,101,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,44,32>>,{code,[],[<<110,111,110,111,100,101,64,110,111,104,111,115,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{1749,2},spec,{{node,0},[{type,{1749,11},bounded_fun,[{type,{1749,11},'fun',[{type,{1749,11},product,[]},{var,{1749,17},'Node'}]},[{type,{1750,7},constraint,[{atom,{1750,7},is_subtype},[{var,{1750,7},'Node'},{type,{1750,15},node,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,48,50,52>>}},{{function,node,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1756}],[<<110,111,100,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,111,100,101,32,119,104,101,114,101,32>>,{code,[],[<<65,114,103>>]},<<32,111,114,105,103,105,110,97,116,101,115,46,32>>,{code,[],[<<65,114,103>>]},<<32,99,97,110,32,98,101,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,44,32,97,32,114,101,102,101,114,101,110,99,101,44,32,111,114,32,97,32,112,111,114,116,46,32,73,102,32>>,{code,[],[<<65,114,103>>]},<<32,111,114,105,103,105,110,97,116,101,115,32,102,114,111,109,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,97,110,100,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,44,32>>,{code,[],[<<110,111,110,111,100,101,64,110,111,104,111,115,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{1756,2},spec,{{node,1},[{type,{1756,11},bounded_fun,[{type,{1756,11},'fun',[{type,{1756,11},product,[{var,{1756,12},'Arg'}]},{var,{1756,20},'Node'}]},[{type,{1757,7},constraint,[{atom,{1757,7},is_subtype},[{var,{1757,7},'Arg'},{type,{1757,14},union,[{type,{1757,14},pid,[]},{type,{1757,22},port,[]},{type,{1757,31},reference,[]}]}]]},{type,{1758,7},constraint,[{atom,{1758,7},is_subtype},[{var,{1758,7},'Node'},{type,{1758,15},node,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,48,51,52>>}},{{function,nodes,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3688}],[<<110,111,100,101,115,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,97,108,108,32,110,111,100,101,115,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,105,115,32,110,111,100,101,32,116,104,114,111,117,103,104,32,110,111,114,109,97,108,32,99,111,110,110,101,99,116,105,111,110,115,32,40,116,104,97,116,32,105,115,44,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,105,115,116,114,105,98,117,116,101,100,35,104,105,100,100,101,110,45,110,111,100,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<104,105,100,100,101,110,32,110,111,100,101,115>>]},<<32,97,114,101,32,110,111,116,32,108,105,115,116,101,100,41,46,32,83,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,110,111,100,101,115,95,118,105,115,105,98,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<110,111,100,101,115,40,118,105,115,105,98,108,101,41>>]},<<46>>]}]},#{signature => [{attribute,{3688,2},spec,{{nodes,0},[{type,{3688,12},bounded_fun,[{type,{3688,12},'fun',[{type,{3688,12},product,[]},{var,{3688,18},'Nodes'}]},[{type,{3689,7},constraint,[{atom,{3689,7},is_subtype},[{var,{3689,7},'Nodes'},{type,{3689,16},list,[{type,{3689,17},node,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,48,52,55>>}},{{function,nodes,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3693}],[<<110,111,100,101,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,110,111,100,101,115,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,97,114,103,117,109,101,110,116,32,115,112,101,99,105,102,105,101,100,46,32,84,104,101,32,114,101,116,117,114,110,101,100,32,114,101,115,117,108,116,44,32,119,104,101,110,32,116,104,101,32,97,114,103,117,109,101,110,116,32,105,115,32,97,32,108,105,115,116,44,32,105,115,32,116,104,101,32,108,105,115,116,32,111,102,32,110,111,100,101,115,32,115,97,116,105,115,102,121,105,110,103,32,116,104,101,32,100,105,115,106,117,110,99,116,105,111,110,40,115,41,32,111,102,32,116,104,101,32,108,105,115,116,32,101,108,101,109,101,110,116,115,46>>]},{p,[],[{code,[],[<<78,111,100,101,84,121,112,101>>]},<<115,58>>]},{dl,[],[{dt,[],[{a,[{id,<<110,111,100,101,115,95,118,105,115,105,98,108,101>>}],[]},{code,[],[<<118,105,115,105,98,108,101>>]}]},{dd,[],[{p,[],[<<78,111,100,101,115,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,105,115,32,110,111,100,101,32,116,104,114,111,117,103,104,32,110,111,114,109,97,108,32,99,111,110,110,101,99,116,105,111,110,115,46>>]}]},{dt,[],[{code,[],[<<104,105,100,100,101,110>>]}]},{dd,[],[{p,[],[<<78,111,100,101,115,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,105,115,32,110,111,100,101,32,116,104,114,111,117,103,104,32,104,105,100,100,101,110,32,99,111,110,110,101,99,116,105,111,110,115,46>>]}]},{dt,[],[{code,[],[<<99,111,110,110,101,99,116,101,100>>]}]},{dd,[],[{p,[],[<<65,108,108,32,110,111,100,101,115,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,105,115,32,110,111,100,101,46>>]}]},{dt,[],[{code,[],[<<116,104,105,115>>]}]},{dd,[],[{p,[],[<<84,104,105,115,32,110,111,100,101,46>>]}]},{dt,[],[{code,[],[<<107,110,111,119,110>>]}]},{dd,[],[{p,[],[<<78,111,100,101,115,32,116,104,97,116,32,97,114,101,32,107,110,111,119,110,32,116,111,32,116,104,105,115,32,110,111,100,101,46,32,84,104,97,116,32,105,115,44,32,99,111,110,110,101,99,116,101,100,32,110,111,100,101,115,32,97,110,100,32,110,111,100,101,115,32,114,101,102,101,114,114,101,100,32,116,111,32,98,121,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,115,44,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,115,44,32,97,110,100,32,114,101,102,101,114,101,110,99,101,115,32,108,111,99,97,116,101,100,32,111,110,32,116,104,105,115,32,110,111,100,101,46,32,84,104,101,32,115,101,116,32,111,102,32,107,110,111,119,110,32,110,111,100,101,115,32,105,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,105,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,99,97,110,32,98,101,32,100,101,108,97,121,101,100,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,101,108,97,121,101,100,95,110,111,100,101,95,116,97,98,108,101,95,103,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,101,108,97,121,101,100,95,110,111,100,101,95,116,97,98,108,101,95,103,99,41>>]}]},<<46>>]}]}]},{p,[],[<<83,111,109,101,32,101,113,117,97,108,105,116,105,101,115,58,32>>,{code,[],[<<91,110,111,100,101,40,41,93,32,61,32,110,111,100,101,115,40,116,104,105,115,41>>]},<<44,32>>,{code,[],[<<110,111,100,101,115,40,99,111,110,110,101,99,116,101,100,41,32,61,32,110,111,100,101,115,40,91,118,105,115,105,98,108,101,44,32,104,105,100,100,101,110,93,41>>]},<<44,32,97,110,100,32>>,{code,[],[<<110,111,100,101,115,40,41,32,61,32,110,111,100,101,115,40,118,105,115,105,98,108,101,41>>]},<<46>>]}]},#{signature => [{attribute,{3693,2},spec,{{nodes,1},[{type,{3693,12},bounded_fun,[{type,{3693,12},'fun',[{type,{3693,12},product,[{var,{3693,13},'Arg'}]},{var,{3693,21},'Nodes'}]},[{type,{3694,7},constraint,[{atom,{3694,7},is_subtype},[{var,{3694,7},'Arg'},{type,{3694,14},union,[{var,{3694,14},'NodeType'},{type,{3694,25},list,[{var,{3694,26},'NodeType'}]}]}]]},{type,{3695,7},constraint,[{atom,{3695,7},is_subtype},[{var,{3695,7},'NodeType'},{type,{3695,19},union,[{atom,{3695,19},visible},{atom,{3695,29},hidden},{atom,{3695,38},connected},{atom,{3695,50},this},{atom,{3695,57},known}]}]]},{type,{3696,7},constraint,[{atom,{3696,7},is_subtype},[{var,{3696,7},'Nodes'},{type,{3696,16},list,[{type,{3696,17},node,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,48,53,57>>}},{{function,nodes,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3700}],[<<110,111,100,101,115,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32>>,{code,[],[<<78,111,100,101,73,110,102,111>>]},<<32,116,117,112,108,101,115,46,32,84,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32,116,104,101,32,110,111,100,101,32,110,97,109,101,46,32,78,111,100,101,115,32,116,111,32,98,101,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,101,32,108,105,115,116,32,97,114,101,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32,116,104,101,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<65,114,103>>]},<<32,105,110,32,116,104,101,32,115,97,109,101,32,119,97,121,32,97,115,32,102,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,110,111,100,101,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,111,100,101,115,40,65,114,103,41>>]}]},<<46,32,84,104,101,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,32,111,102,32>>,{code,[],[<<78,111,100,101,73,110,102,111>>]},<<32,116,117,112,108,101,115,32,105,115,32,97,32,109,97,112,32,99,111,110,116,97,105,110,105,110,103,32,102,117,114,116,104,101,114,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32,116,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,46,32,84,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,112,114,101,115,101,110,116,32,105,110,32,116,104,105,115,32,109,97,112,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32,116,104,101,32>>,{code,[],[<<73,110,102,111,79,112,116,115>>]},<<32,109,97,112,32,112,97,115,115,101,100,32,97,115,32,116,104,101,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,46,32,67,117,114,114,101,110,116,108,121,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,97,115,115,111,99,105,97,116,105,111,110,115,32,97,114,101,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32>>,{code,[],[<<73,110,102,111,79,112,116,115>>]},<<32,109,97,112,58>>]},{dl,[],[{dt,[],[{code,[],[<<99,111,110,110,101,99,116,105,111,110,95,105,100,32,61,62,32,98,111,111,108,101,97,110,40,41>>]}]},{dd,[],[{p,[],[<<73,102,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,97,115,115,111,99,105,97,116,105,111,110,32,101,113,117,97,108,115,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,116,104,101,32>>,{code,[],[<<73,110,102,111>>]},<<32,109,97,112,32,105,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,114,101,115,117,108,116,32,119,105,108,108,32,99,111,110,116,97,105,110,32,116,104,101,32,107,101,121,32>>,{code,[],[<<99,111,110,110,101,99,116,105,111,110,95,105,100>>]},<<32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<67,111,110,110,101,99,116,105,111,110,73,100>>]},<<46,32,73,102,32>>,{code,[],[<<67,111,110,110,101,99,116,105,111,110,73,100>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<44,32,116,104,101,32,110,111,100,101,32,105,115,32,110,111,116,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,101,32,110,111,100,101,32,119,104,105,99,104,32,116,104,101,32,99,97,108,108,101,114,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,44,32,111,114,32,105,115,32,116,104,101,32,110,111,100,101,32,119,104,105,99,104,32,116,104,101,32,99,97,108,108,101,114,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46,32,73,102,32>>,{code,[],[<<67,111,110,110,101,99,116,105,111,110,73,100>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,44,32,116,104,101,32,110,111,100,101,32,105,115,32,99,117,114,114,101,110,116,108,121,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,101,32,110,111,100,101,32,119,104,105,99,104,32,116,104,101,32,99,97,108,108,101,114,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46>>]},{p,[],[{a,[{id,<<99,111,110,110,101,99,116,105,111,110,95,105,100>>}],[]},<<84,104,101,32,105,110,116,101,103,101,114,32,99,111,110,110,101,99,116,105,111,110,32,105,100,101,110,116,105,102,105,101,114,32,118,97,108,117,101,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32,97,32,110,111,100,101,32,110,97,109,101,32,105,100,101,110,116,105,102,105,101,115,32,97,32,115,112,101,99,105,102,105,99,32,99,111,110,110,101,99,116,105,111,110,32,105,110,115,116,97,110,99,101,32,116,111,32,116,104,101,32,110,111,100,101,32,119,105,116,104,32,116,104,97,116,32,110,111,100,101,32,110,97,109,101,46,32,84,104,101,32,99,111,110,110,101,99,116,105,111,110,32,105,100,101,110,116,105,102,105,101,114,32,118,97,108,117,101,32,105,115,32,110,111,100,101,32,108,111,99,97,108,46,32,84,104,97,116,32,105,115,44,32,111,110,32,116,104,101,32,111,116,104,101,114,32,110,111,100,101,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,105,100,101,110,116,105,102,105,101,114,32,119,105,108,108,32>>,{i,[],[<<110,111,116>>]},<<32,98,101,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,46,32,73,102,32,97,32,99,111,110,110,101,99,116,105,111,110,32,105,115,32,116,97,107,101,110,32,100,111,119,110,32,97,110,100,32,116,104,101,110,32,116,97,107,101,110,32,117,112,32,97,103,97,105,110,44,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,105,100,101,110,116,105,102,105,101,114,32,118,97,108,117,101,32,119,105,108,108,32,99,104,97,110,103,101,32,102,111,114,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32,116,104,97,116,32,110,111,100,101,46,32,84,104,101,32,97,109,111,117,110,116,32,111,102,32,118,97,108,117,101,115,32,102,111,114,32,99,111,110,110,101,99,116,105,111,110,32,105,100,101,110,116,105,102,105,101,114,115,32,97,114,101,32,108,105,109,105,116,101,100,44,32,115,111,32,105,116,32,105,115,32,112,111,115,115,105,98,108,101,32,116,111,32,115,101,101,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,102,111,114,32,100,105,102,102,101,114,101,110,116,32,105,110,115,116,97,110,99,101,115,44,32,98,117,116,32,113,117,105,116,101,32,117,110,108,105,107,101,108,121,46,32,73,116,32,105,115,32,117,110,100,101,102,105,110,101,100,32,104,111,119,32,116,104,101,32,118,97,108,117,101,32,99,104,97,110,103,101,32,98,101,116,119,101,101,110,32,116,119,111,32,99,111,110,115,101,99,117,116,105,118,101,32,99,111,110,110,101,99,116,105,111,110,32,105,110,115,116,97,110,99,101,115,46>>]}]},{dt,[],[{code,[],[<<110,111,100,101,95,116,121,112,101,32,61,62,32,98,111,111,108,101,97,110,40,41>>]}]},{dd,[],[{p,[],[<<73,102,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,97,115,115,111,99,105,97,116,105,111,110,32,101,113,117,97,108,115,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,116,104,101,32>>,{code,[],[<<73,110,102,111>>]},<<32,109,97,112,32,105,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,114,101,115,117,108,116,32,119,105,108,108,32,99,111,110,116,97,105,110,32,116,104,101,32,107,101,121,32>>,{code,[],[<<110,111,100,101,95,116,121,112,101>>]},<<32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<78,111,100,101,84,121,112,101,73,110,102,111>>]},<<46,32,67,117,114,114,101,110,116,108,121,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,110,111,100,101,32,116,121,112,101,115,32,101,120,105,115,116,58>>]},{dl,[],[{dt,[],[{code,[],[<<118,105,115,105,98,108,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,110,111,100,101,32,105,115,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,101,32,110,111,100,101,32,111,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,116,104,114,111,117,103,104,32,97,110,32,111,114,100,105,110,97,114,121,32,118,105,115,105,98,108,101,32,99,111,110,110,101,99,116,105,111,110,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,110,111,100,101,32,110,97,109,101,32,119,111,117,108,100,32,97,112,112,101,97,114,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,110,111,100,101,115,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,111,100,101,115,47,48>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<104,105,100,100,101,110>>]}]},{dd,[],[{p,[],[<<84,104,101,32,110,111,100,101,32,105,115,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,101,32,110,111,100,101,32,111,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,116,104,114,111,117,103,104,32,97,32,104,105,100,100,101,110,32,99,111,110,110,101,99,116,105,111,110,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,110,111,100,101,32,110,97,109,101,32,119,111,117,108,100,32>>,{i,[],[<<110,111,116>>]},<<32,97,112,112,101,97,114,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,110,111,100,101,115,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,111,100,101,115,47,48>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<116,104,105,115>>]}]},{dd,[],[{p,[],[<<84,104,105,115,32,105,115,32,116,104,101,32,110,111,100,101,32,111,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<107,110,111,119,110>>]}]},{dd,[],[{p,[],[<<84,104,101,32,110,111,100,101,32,105,115,32,110,111,116,32,99,111,110,110,101,99,116,101,100,32,98,117,116,32,107,110,111,119,110,32,116,111,32,116,104,101,32,110,111,100,101,32,111,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46>>]}]}]}]}]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[{type,<<101,114,108>>}],[<<40,97,64,108,111,99,97,108,104,111,115,116,41,49,62,32,110,111,100,101,115,40,91,116,104,105,115,44,32,99,111,110,110,101,99,116,101,100,93,44,32,35,123,99,111,110,110,101,99,116,105,111,110,95,105,100,61,62,116,114,117,101,44,32,110,111,100,101,95,116,121,112,101,61,62,116,114,117,101,125,41,46,32,10,91,123,99,64,108,111,99,97,108,104,111,115,116,44,35,123,99,111,110,110,101,99,116,105,111,110,95,105,100,32,61,62,32,49,51,56,57,50,49,48,56,44,110,111,100,101,95,116,121,112,101,32,61,62,32,104,105,100,100,101,110,125,125,44,10,32,123,98,64,108,111,99,97,108,104,111,115,116,44,35,123,99,111,110,110,101,99,116,105,111,110,95,105,100,32,61,62,32,51,48,54,55,53,53,51,44,110,111,100,101,95,116,121,112,101,32,61,62,32,118,105,115,105,98,108,101,125,125,44,10,32,123,97,64,108,111,99,97,108,104,111,115,116,44,35,123,99,111,110,110,101,99,116,105,111,110,95,105,100,32,61,62,32,117,110,100,101,102,105,110,101,100,44,110,111,100,101,95,116,121,112,101,32,61,62,32,116,104,105,115,125,125,93,10,40,97,64,108,111,99,97,108,104,111,115,116,41,50,62,32,10,32,32,32,32,32,32,32,32>>]}]}]},#{signature => [{attribute,{3700,2},spec,{{nodes,2},[{type,{3700,12},bounded_fun,[{type,{3700,12},'fun',[{type,{3700,12},product,[{var,{3700,13},'Arg'},{var,{3700,18},'InfoOpts'}]},{type,{3700,31},list,[{var,{3700,32},'NodeInfo'}]}]},[{type,{3701,7},constraint,[{atom,{3701,7},is_subtype},[{var,{3701,7},'NodeType'},{type,{3701,19},union,[{atom,{3701,19},visible},{atom,{3701,29},hidden},{atom,{3701,38},connected},{atom,{3701,50},this},{atom,{3701,57},known}]}]]},{type,{3702,7},constraint,[{atom,{3702,7},is_subtype},[{var,{3702,7},'Arg'},{type,{3702,14},union,[{var,{3702,14},'NodeType'},{type,{3702,25},list,[{var,{3702,26},'NodeType'}]}]}]]},{type,{3703,7},constraint,[{atom,{3703,7},is_subtype},[{var,{3703,7},'InfoOpts'},{type,{3703,19},map,[{type,{3703,35},map_field_assoc,[{atom,{3703,21},connection_id},{type,{3703,38},boolean,[]}]},{type,{3704,31},map_field_assoc,[{atom,{3704,21},node_type},{type,{3704,34},boolean,[]}]}]}]]},{type,{3705,7},constraint,[{atom,{3705,7},is_subtype},[{var,{3705,7},'NodeTypeInfo'},{type,{3705,23},union,[{atom,{3705,23},visible},{atom,{3705,33},hidden},{atom,{3705,42},this},{atom,{3705,49},known}]}]]},{type,{3706,7},constraint,[{atom,{3706,7},is_subtype},[{var,{3706,7},'ConnectionId'},{type,{3706,23},union,[{atom,{3706,23},undefined},{type,{3706,35},integer,[]}]}]]},{type,{3707,7},constraint,[{atom,{3707,7},is_subtype},[{var,{3707,7},'Info'},{type,{3707,15},map,[{type,{3707,31},map_field_assoc,[{atom,{3707,17},connection_id},{var,{3707,34},'ConnectionId'}]},{type,{3708,27},map_field_assoc,[{atom,{3708,17},node_type},{var,{3708,30},'NodeTypeInfo'}]}]}]]},{type,{3709,7},constraint,[{atom,{3709,7},is_subtype},[{var,{3709,7},'NodeInfo'},{type,{3709,19},tuple,[{type,{3709,20},node,[]},{var,{3709,28},'Info'}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,49,48,50>>,since => <<79,84,80,32,50,53,46,49>>}},{{function,now,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1763}],[<<110,111,119,47,48>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<116,105,109,101,115,116,97,109,112>>}],[]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[{em,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,100,101,112,114,101,99,97,116,101,100,46,32,68,111,32,110,111,116,32,117,115,101,32,105,116,46>>]}]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<84,105,109,101,32,97,110,100,32,84,105,109,101,32,67,111,114,114,101,99,116,105,111,110>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46,32,83,112,101,99,105,102,105,99,97,108,108,121,44,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,68,111,115,95,97,110,100,95,68,111,110,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<68,111,115,32,97,110,100,32,68,111,110,116,39,115>>]},<<32,100,101,115,99,114,105,98,101,115,32,119,104,97,116,32,116,111,32,117,115,101,32,105,110,115,116,101,97,100,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,110,111,119,47,48>>]},<<46>>]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,116,117,112,108,101,32>>,{code,[],[<<123,77,101,103,97,83,101,99,115,44,32,83,101,99,115,44,32,77,105,99,114,111,83,101,99,115,125>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,101,108,97,112,115,101,100,32,116,105,109,101,32,115,105,110,99,101,32,48,48,58,48,48,32,71,77,84,44,32,74,97,110,117,97,114,121,32,49,44,32,49,57,55,48,32,40,122,101,114,111,32,104,111,117,114,41,44,32,105,102,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,46,32,79,116,104,101,114,119,105,115,101,32,115,111,109,101,32,111,116,104,101,114,32,112,111,105,110,116,32,105,110,32,116,105,109,101,32,105,115,32,99,104,111,115,101,110,46,32,73,116,32,105,115,32,97,108,115,111,32,103,117,97,114,97,110,116,101,101,100,32,116,104,97,116,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,99,97,108,108,115,32,116,111,32,116,104,105,115,32,66,73,70,32,114,101,116,117,114,110,32,99,111,110,116,105,110,117,111,117,115,108,121,32,105,110,99,114,101,97,115,105,110,103,32,118,97,108,117,101,115,46,32,72,101,110,99,101,44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,102,114,111,109,32>>,{code,[],[<<101,114,108,97,110,103,58,110,111,119,47,48>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,103,101,110,101,114,97,116,101,32,117,110,105,113,117,101,32,116,105,109,101,32,115,116,97,109,112,115,46,32,73,102,32,105,116,32,105,115,32,99,97,108,108,101,100,32,105,110,32,97,32,116,105,103,104,116,32,108,111,111,112,32,111,110,32,97,32,102,97,115,116,32,109,97,99,104,105,110,101,44,32,116,104,101,32,116,105,109,101,32,111,102,32,116,104,101,32,110,111,100,101,32,99,97,110,32,98,101,99,111,109,101,32,115,107,101,119,101,100,46>>]},{p,[],[<<67,97,110,32,111,110,108,121,32,98,101,32,117,115,101,100,32,116,111,32,99,104,101,99,107,32,116,104,101,32,108,111,99,97,108,32,116,105,109,101,32,111,102,32,100,97,121,32,105,102,32,116,104,101,32,116,105,109,101,45,122,111,110,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,102,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,32,105,115,32,112,114,111,112,101,114,108,121,32,99,111,110,102,105,103,117,114,101,100,46>>]}]},#{deprecated => <<101,114,108,97,110,103,58,110,111,119,47,48,32,105,115,32,100,101,112,114,101,99,97,116,101,100,59,32,115,101,101,32,116,104,101,32,34,84,105,109,101,32,97,110,100,32,84,105,109,101,32,67,111,114,114,101,99,116,105,111,110,32,105,110,32,69,114,108,97,110,103,34,32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32,69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101,32,102,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110>>,signature => [{attribute,{1763,2},spec,{{now,0},[{type,{1763,10},bounded_fun,[{type,{1763,10},'fun',[{type,{1763,10},product,[]},{var,{1763,16},'Timestamp'}]},[{type,{1764,7},constraint,[{atom,{1764,7},is_subtype},[{var,{1764,7},'Timestamp'},{user_type,{1764,20},timestamp,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,49,56,55>>}},{{function,open_port,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2603}],[<<111,112,101,110,95,112,111,114,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32,97,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,111,112,101,110,105,110,103,32,97,32,110,101,119,32,69,114,108,97,110,103,32,112,111,114,116,46,32,65,32,112,111,114,116,32,99,97,110,32,98,101,32,115,101,101,110,32,97,115,32,97,110,32,101,120,116,101,114,110,97,108,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<84,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,32,97,115,32,119,101,108,108,32,97,115,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,105,110,32>>,{code,[],[<<99,100>>]},<<44,32>>,{code,[],[<<101,110,118>>]},<<44,32>>,{code,[],[<<97,114,103,115>>]},<<44,32,97,110,100,32>>,{code,[],[<<97,114,103,48>>]},<<32,97,114,101,32,115,117,98,106,101,99,116,32,116,111,32,85,110,105,99,111,100,101,32,102,105,108,101,110,97,109,101,32,116,114,97,110,115,108,97,116,105,111,110,32,105,102,32,116,104,101,32,115,121,115,116,101,109,32,105,115,32,114,117,110,110,105,110,103,32,105,110,32,85,110,105,99,111,100,101,32,102,105,108,101,110,97,109,101,32,109,111,100,101,46,32,84,111,32,97,118,111,105,100,32,116,114,97,110,115,108,97,116,105,111,110,32,111,114,32,116,111,32,102,111,114,99,101,44,32,102,111,114,32,101,120,97,109,112,108,101,32,85,84,70,45,56,44,32,115,117,112,112,108,121,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,32,97,110,100,47,111,114,32,97,114,103,117,109,101,110,116,115,32,97,115,32,97,32,98,105,110,97,114,121,32,105,110,32,116,104,101,32,99,111,114,114,101,99,116,32,101,110,99,111,100,105,110,103,46,32,70,111,114,32,100,101,116,97,105,108,115,44,32,115,101,101,32,116,104,101,32,109,111,100,117,108,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<102,105,108,101,40,51,41>>]}]},<<44,32,116,104,101,32,102,117,110,99,116,105,111,110,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,105,108,101,58,110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48>>]}]},<<32,105,110,32,75,101,114,110,101,108,44,32,97,110,100,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101,95,117,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<85,115,105,110,103,32,85,110,105,99,111,100,101,32,105,110,32,69,114,108,97,110,103>>]}]},<<32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,116,104,101,32,110,97,109,101,32,40,105,102,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,108,105,115,116,41,32,99,97,110,32,111,110,108,121,32,98,101,32,62,32,50,53,53,32,105,102,32,116,104,101,32,69,114,108,97,110,103,32,118,105,114,116,117,97,108,32,109,97,99,104,105,110,101,32,105,115,32,115,116,97,114,116,101,100,32,105,110,32,85,110,105,99,111,100,101,32,102,105,108,101,110,97,109,101,32,116,114,97,110,115,108,97,116,105,111,110,32,109,111,100,101,46,32,79,116,104,101,114,119,105,115,101,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,32,105,115,32,108,105,109,105,116,101,100,32,116,111,32,116,104,101,32,73,83,79,32,76,97,116,105,110,45,49,32,99,104,97,114,97,99,116,101,114,32,115,101,116,46>>]}]},{p,[],[{code,[],[<<80,111,114,116,78,97,109,101>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125>>]}]},{dd,[],[{p,[],[<<83,116,97,114,116,115,32,97,110,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,46,32>>,{code,[],[<<67,111,109,109,97,110,100>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,32,116,111,32,98,101,32,114,117,110,46,32>>,{code,[],[<<67,111,109,109,97,110,100>>]},<<32,114,117,110,115,32,111,117,116,115,105,100,101,32,116,104,101,32,69,114,108,97,110,103,32,119,111,114,107,32,115,112,97,99,101,32,117,110,108,101,115,115,32,97,110,32,69,114,108,97,110,103,32,100,114,105,118,101,114,32,119,105,116,104,32,116,104,101,32,110,97,109,101,32>>,{code,[],[<<67,111,109,109,97,110,100>>]},<<32,105,115,32,102,111,117,110,100,46,32,73,102,32,102,111,117,110,100,44,32,116,104,97,116,32,100,114,105,118,101,114,32,105,115,32,115,116,97,114,116,101,100,46,32,65,32,100,114,105,118,101,114,32,114,117,110,115,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,119,111,114,107,32,115,112,97,99,101,44,32,119,104,105,99,104,32,109,101,97,110,115,32,116,104,97,116,32,105,116,32,105,115,32,108,105,110,107,101,100,32,119,105,116,104,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]},{p,[],[<<70,111,114,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,115,44,32>>,{code,[],[<<80,65,84,72>>]},<<32,105,115,32,115,101,97,114,99,104,101,100,32,40,111,114,32,97,110,32,101,113,117,105,118,97,108,101,110,116,32,109,101,116,104,111,100,32,105,115,32,117,115,101,100,32,116,111,32,102,105,110,100,32,112,114,111,103,114,97,109,115,44,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,79,83,41,46,32,84,104,105,115,32,105,115,32,100,111,110,101,32,98,121,32,105,110,118,111,107,105,110,103,32,116,104,101,32,115,104,101,108,108,32,111,110,32,99,101,114,116,97,105,110,32,112,108,97,116,102,111,114,109,115,46,32,84,104,101,32,102,105,114,115,116,32,115,112,97,99,101,45,115,101,112,97,114,97,116,101,100,32,116,111,107,101,110,32,111,102,32,116,104,101,32,99,111,109,109,97,110,100,32,105,115,32,99,111,110,115,105,100,101,114,101,100,32,97,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,32,40,111,114,32,100,114,105,118,101,114,41,46,32,84,104,105,115,32,40,97,109,111,110,103,32,111,116,104,101,114,32,116,104,105,110,103,115,41,32,109,97,107,101,115,32,116,104,105,115,32,111,112,116,105,111,110,32,117,110,115,117,105,116,97,98,108,101,32,102,111,114,32,114,117,110,110,105,110,103,32,112,114,111,103,114,97,109,115,32,119,105,116,104,32,115,112,97,99,101,115,32,105,110,32,102,105,108,101,110,97,109,101,115,32,111,114,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,115,46,32,73,102,32,115,112,97,99,101,115,32,105,110,32,101,120,101,99,117,116,97,98,108,101,32,102,105,108,101,110,97,109,101,115,32,97,114,101,32,100,101,115,105,114,101,100,44,32,117,115,101,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,67,111,109,109,97,110,100,125>>]},<<32,105,110,115,116,101,97,100,46>>]}]},{dt,[],[{code,[],[<<123,115,112,97,119,110,95,100,114,105,118,101,114,44,32,67,111,109,109,97,110,100,125>>]}]},{dd,[],[{p,[],[<<87,111,114,107,115,32,108,105,107,101,32>>,{code,[],[<<123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125>>]},<<44,32,98,117,116,32,100,101,109,97,110,100,115,32,116,104,101,32,102,105,114,115,116,32,40,115,112,97,99,101,45,115,101,112,97,114,97,116,101,100,41,32,116,111,107,101,110,32,111,102,32,116,104,101,32,99,111,109,109,97,110,100,32,116,111,32,98,101,32,116,104,101,32,110,97,109,101,32,111,102,32,97,32,108,111,97,100,101,100,32,100,114,105,118,101,114,46,32,73,102,32,110,111,32,100,114,105,118,101,114,32,119,105,116,104,32,116,104,97,116,32,110,97,109,101,32,105,115,32,108,111,97,100,101,100,44,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,114,114,111,114,32,105,115,32,114,97,105,115,101,100,46>>]}]},{dt,[],[{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]}]},{dd,[],[{p,[],[<<87,111,114,107,115,32,108,105,107,101,32>>,{code,[],[<<123,115,112,97,119,110,44,32,70,105,108,101,78,97,109,101,125>>]},<<44,32,98,117,116,32,111,110,108,121,32,114,117,110,115,32,101,120,116,101,114,110,97,108,32,101,120,101,99,117,116,97,98,108,101,115,46,32>>,{code,[],[<<70,105,108,101,78,97,109,101>>]},<<32,105,110,32,105,116,115,32,119,104,111,108,101,32,105,115,32,117,115,101,100,32,97,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,44,32,105,110,99,108,117,100,105,110,103,32,97,110,121,32,115,112,97,99,101,115,46,32,73,102,32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,116,111,32,98,101,32,112,97,115,115,101,100,44,32,116,104,101,32>>,{code,[],[<<80,111,114,116,83,101,116,116,105,110,103,115>>]},<<32>>,{code,[],[<<97,114,103,115>>]},<<32,97,110,100,32>>,{code,[],[<<97,114,103,48>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,46>>]},{p,[],[<<84,104,101,32,115,104,101,108,108,32,105,115,32,117,115,117,97,108,108,121,32,110,111,116,32,105,110,118,111,107,101,100,32,116,111,32,115,116,97,114,116,32,116,104,101,32,112,114,111,103,114,97,109,44,32,105,116,32,105,115,32,101,120,101,99,117,116,101,100,32,100,105,114,101,99,116,108,121,46,32>>,{code,[],[<<80,65,84,72>>]},<<32,40,111,114,32,101,113,117,105,118,97,108,101,110,116,41,32,105,115,32,110,111,116,32,115,101,97,114,99,104,101,100,46,32,84,111,32,102,105,110,100,32,97,32,112,114,111,103,114,97,109,32,105,110,32>>,{code,[],[<<80,65,84,72>>]},<<32,116,111,32,101,120,101,99,117,116,101,44,32,117,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,111,115,35,102,105,110,100,95,101,120,101,99,117,116,97,98,108,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,115,58,102,105,110,100,95,101,120,101,99,117,116,97,98,108,101,47,49>>]}]},<<46>>]},{p,[],[<<79,110,108,121,32,105,102,32,97,32,115,104,101,108,108,32,115,99,114,105,112,116,32,111,114,32>>,{code,[],[<<46,98,97,116>>]},<<32,102,105,108,101,32,105,115,32,101,120,101,99,117,116,101,100,44,32,116,104,101,32,97,112,112,114,111,112,114,105,97,116,101,32,99,111,109,109,97,110,100,32,105,110,116,101,114,112,114,101,116,101,114,32,105,115,32,105,110,118,111,107,101,100,32,105,109,112,108,105,99,105,116,108,121,44,32,98,117,116,32,116,104,101,114,101,32,105,115,32,115,116,105,108,108,32,110,111,32,99,111,109,109,97,110,100,45,97,114,103,117,109,101,110,116,32,101,120,112,97,110,115,105,111,110,32,111,114,32,105,109,112,108,105,99,105,116,32>>,{code,[],[<<80,65,84,72>>]},<<32,115,101,97,114,99,104,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<70,105,108,101,78,97,109,101>>]},<<32,99,97,110,110,111,116,32,98,101,32,114,117,110,44,32,97,110,32,101,114,114,111,114,32,101,120,99,101,112,116,105,111,110,32,105,115,32,114,97,105,115,101,100,44,32,119,105,116,104,32,116,104,101,32,80,79,83,73,88,32,101,114,114,111,114,32,99,111,100,101,32,97,115,32,116,104,101,32,114,101,97,115,111,110,46,32,84,104,101,32,101,114,114,111,114,32,114,101,97,115,111,110,32,99,97,110,32,100,105,102,102,101,114,32,98,101,116,119,101,101,110,32,79,83,115,46,32,84,121,112,105,99,97,108,108,121,32,116,104,101,32,101,114,114,111,114,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,97,105,115,101,100,32,119,104,101,110,32,97,110,32,97,116,116,101,109,112,116,32,105,115,32,109,97,100,101,32,116,111,32,114,117,110,32,97,32,112,114,111,103,114,97,109,32,116,104,97,116,32,105,115,32,110,111,116,32,102,111,117,110,100,32,97,110,100,32>>,{code,[],[<<101,97,99,99,101,115>>]},<<32,105,115,32,114,97,105,115,101,100,32,119,104,101,110,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,105,108,101,32,105,115,32,110,111,116,32,101,120,101,99,117,116,97,98,108,101,46>>]}]},{dt,[],[{code,[],[<<123,102,100,44,32,73,110,44,32,79,117,116,125>>]}]},{dd,[],[{p,[],[<<65,108,108,111,119,115,32,97,110,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,32,116,111,32,97,99,99,101,115,115,32,97,110,121,32,99,117,114,114,101,110,116,108,121,32,111,112,101,110,101,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,117,115,101,100,32,98,121,32,69,114,108,97,110,103,46,32,84,104,101,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32>>,{code,[],[<<73,110>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,44,32,97,110,100,32,116,104,101,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32>>,{code,[],[<<79,117,116>>]},<<32,102,111,114,32,115,116,97,110,100,97,114,100,32,111,117,116,112,117,116,46,32,73,116,32,105,115,32,111,110,108,121,32,117,115,101,100,32,102,111,114,32,118,97,114,105,111,117,115,32,115,101,114,118,101,114,115,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,79,83,32,40>>,{code,[],[<<115,104,101,108,108>>]},<<32,97,110,100,32>>,{code,[],[<<117,115,101,114>>]},<<41,46,32,72,101,110,99,101,44,32,105,116,115,32,117,115,101,32,105,115,32,108,105,109,105,116,101,100,46>>]}]}]},{p,[],[{code,[],[<<80,111,114,116,83,101,116,116,105,110,103,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,115,101,116,116,105,110,103,115,32,102,111,114,32,116,104,101,32,112,111,114,116,46,32,84,104,101,32,118,97,108,105,100,32,115,101,116,116,105,110,103,115,32,97,114,101,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,112,97,99,107,101,116,44,32,78,125>>]}]},{dd,[],[{p,[],[<<77,101,115,115,97,103,101,115,32,97,114,101,32,112,114,101,99,101,100,101,100,32,98,121,32,116,104,101,105,114,32,108,101,110,103,116,104,44,32,115,101,110,116,32,105,110,32>>,{code,[],[<<78>>]},<<32,98,121,116,101,115,44,32,119,105,116,104,32,116,104,101,32,109,111,115,116,32,115,105,103,110,105,102,105,99,97,110,116,32,98,121,116,101,32,102,105,114,115,116,46,32,84,104,101,32,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<78>>]},<<32,97,114,101,32,49,44,32,50,44,32,97,110,100,32,52,46>>]}]},{dt,[],[{code,[],[<<115,116,114,101,97,109>>]}]},{dd,[],[{p,[],[<<79,117,116,112,117,116,32,109,101,115,115,97,103,101,115,32,97,114,101,32,115,101,110,116,32,119,105,116,104,111,117,116,32,112,97,99,107,101,116,32,108,101,110,103,116,104,115,46,32,65,32,117,115,101,114,45,100,101,102,105,110,101,100,32,112,114,111,116,111,99,111,108,32,109,117,115,116,32,98,101,32,117,115,101,100,32,98,101,116,119,101,101,110,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,116,104,101,32,101,120,116,101,114,110,97,108,32,111,98,106,101,99,116,46>>]}]},{dt,[],[{code,[],[<<123,108,105,110,101,44,32,76,125>>]}]},{dd,[],[{p,[],[<<77,101,115,115,97,103,101,115,32,97,114,101,32,100,101,108,105,118,101,114,101,100,32,111,110,32,97,32,112,101,114,32,108,105,110,101,32,98,97,115,105,115,46,32,69,97,99,104,32,108,105,110,101,32,40,100,101,108,105,109,105,116,101,100,32,98,121,32,116,104,101,32,79,83,45,100,101,112,101,110,100,101,110,116,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,41,32,105,115,32,100,101,108,105,118,101,114,101,100,32,105,110,32,97,32,115,105,110,103,108,101,32,109,101,115,115,97,103,101,46,32,84,104,101,32,109,101,115,115,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32>>,{code,[],[<<123,70,108,97,103,44,32,76,105,110,101,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<70,108,97,103>>]},<<32,105,115,32>>,{code,[],[<<101,111,108>>]},<<32,111,114,32>>,{code,[],[<<110,111,101,111,108>>]},<<44,32,97,110,100,32>>,{code,[],[<<76,105,110,101>>]},<<32,105,115,32,116,104,101,32,100,97,116,97,32,100,101,108,105,118,101,114,101,100,32,40,119,105,116,104,111,117,116,32,116,104,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,41,46>>]},{p,[],[{code,[],[<<76>>]},<<32,115,112,101,99,105,102,105,101,115,32,116,104,101,32,109,97,120,105,109,117,109,32,108,105,110,101,32,108,101,110,103,116,104,32,105,110,32,98,121,116,101,115,46,32,76,105,110,101,115,32,108,111,110,103,101,114,32,116,104,97,110,32,116,104,105,115,32,97,114,101,32,100,101,108,105,118,101,114,101,100,32,105,110,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,109,101,115,115,97,103,101,44,32,119,105,116,104,32>>,{code,[],[<<70,108,97,103>>]},<<32,115,101,116,32,116,111,32>>,{code,[],[<<110,111,101,111,108>>]},<<32,102,111,114,32,97,108,108,32,98,117,116,32,116,104,101,32,108,97,115,116,32,109,101,115,115,97,103,101,46,32,73,102,32,101,110,100,32,111,102,32,102,105,108,101,32,105,115,32,101,110,99,111,117,110,116,101,114,101,100,32,97,110,121,119,104,101,114,101,32,101,108,115,101,32,116,104,97,110,32,105,109,109,101,100,105,97,116,101,108,121,32,102,111,108,108,111,119,105,110,103,32,97,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,44,32,116,104,101,32,108,97,115,116,32,108,105,110,101,32,105,115,32,97,108,115,111,32,100,101,108,105,118,101,114,101,100,32,119,105,116,104,32>>,{code,[],[<<70,108,97,103>>]},<<32,115,101,116,32,116,111,32>>,{code,[],[<<110,111,101,111,108>>]},<<46,32,79,116,104,101,114,119,105,115,101,32,108,105,110,101,115,32,97,114,101,32,100,101,108,105,118,101,114,101,100,32,119,105,116,104,32>>,{code,[],[<<70,108,97,103>>]},<<32,115,101,116,32,116,111,32>>,{code,[],[<<101,111,108>>]},<<46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<123,112,97,99,107,101,116,44,32,78,125>>]},<<32,97,110,100,32>>,{code,[],[<<123,108,105,110,101,44,32,76,125>>]},<<32,115,101,116,116,105,110,103,115,32,97,114,101,32,109,117,116,117,97,108,108,121,32,101,120,99,108,117,115,105,118,101,46>>]}]},{dt,[],[{code,[],[<<123,99,100,44,32,68,105,114,125>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,118,97,108,105,100,32,102,111,114,32>>,{code,[],[<<123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125>>]},<<32,97,110,100,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]},<<46,32,84,104,101,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,32,115,116,97,114,116,115,32,117,115,105,110,103,32>>,{code,[],[<<68,105,114>>]},<<32,97,115,32,105,116,115,32,119,111,114,107,105,110,103,32,100,105,114,101,99,116,111,114,121,46,32>>,{code,[],[<<68,105,114>>]},<<32,109,117,115,116,32,98,101,32,97,32,115,116,114,105,110,103,46>>]}]},{dt,[],[{code,[],[<<123,101,110,118,44,32,69,110,118,125>>]}]},{dd,[],[{p,[],[<<84,121,112,101,115,58>>,{br,[],[]},<<194,160,194,160>>,{code,[],[<<78,97,109,101,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,111,115,35,101,110,118,95,118,97,114,95,110,97,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<111,115,58,101,110,118,95,118,97,114,95,110,97,109,101,40,41>>]}]},{br,[],[]},<<194,160,194,160>>,{code,[],[<<86,97,108,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,111,115,35,101,110,118,95,118,97,114,95,118,97,108,117,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<111,115,58,101,110,118,95,118,97,114,95,118,97,108,117,101,40,41>>]}]},{code,[],[<<32,124,32,102,97,108,115,101>>]},{br,[],[]},<<194,160,194,160>>,{code,[],[<<69,110,118,32,61,32,91,123,78,97,109,101,44,32,86,97,108,125,93>>]}]},{p,[],[<<79,110,108,121,32,118,97,108,105,100,32,102,111,114,32>>,{code,[],[<<123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125>>]},<<44,32,97,110,100,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]},<<46,32,84,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,111,102,32,116,104,101,32,115,116,97,114,116,101,100,32,112,114,111,99,101,115,115,32,105,115,32,101,120,116,101,110,100,101,100,32,117,115,105,110,103,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,32,105,110,32>>,{code,[],[<<69,110,118>>]},<<46>>]},{p,[],[{code,[],[<<69,110,118>>]},<<32,105,115,32,116,111,32,98,101,32,97,32,108,105,115,116,32,111,102,32,116,117,112,108,101,115,32>>,{code,[],[<<123,78,97,109,101,44,32,86,97,108,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<78,97,109,101>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32,97,110,32,101,110,118,105,114,111,110,109,101,110,116,32,118,97,114,105,97,98,108,101,44,32,97,110,100,32>>,{code,[],[<<86,97,108>>]},<<32,105,115,32,116,104,101,32,118,97,108,117,101,32,105,116,32,105,115,32,116,111,32,104,97,118,101,32,105,110,32,116,104,101,32,115,112,97,119,110,101,100,32,112,111,114,116,32,112,114,111,99,101,115,115,46,32,66,111,116,104,32>>,{code,[],[<<78,97,109,101>>]},<<32,97,110,100,32>>,{code,[],[<<86,97,108>>]},<<32,109,117,115,116,32,98,101,32,115,116,114,105,110,103,115,46,32,84,104,101,32,111,110,101,32,101,120,99,101,112,116,105,111,110,32,105,115,32>>,{code,[],[<<86,97,108>>]},<<32,98,101,105,110,103,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,40,105,110,32,97,110,97,108,111,103,121,32,119,105,116,104,32>>,{a,[{href,<<107,101,114,110,101,108,58,111,115,35,103,101,116,101,110,118,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,115,58,103,101,116,101,110,118,47,49>>]}]},<<41,44,32,119,104,105,99,104,32,114,101,109,111,118,101,115,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,118,97,114,105,97,98,108,101,46>>]},{p,[],[<<70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,101,110,99,111,100,105,110,103,32,114,101,113,117,105,114,101,109,101,110,116,115,44,32,115,101,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,116,121,112,101,115,32,102,111,114,32>>,{code,[],[<<78,97,109,101>>]},<<32,97,110,100,32>>,{code,[],[<<86,97,108>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,97,114,103,115,44,32,91,32,115,116,114,105,110,103,40,41,32,124,32,98,105,110,97,114,121,40,41,32,93,125>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,118,97,108,105,100,32,102,111,114,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]},<<32,97,110,100,32,115,112,101,99,105,102,105,101,115,32,97,114,103,117,109,101,110,116,115,32,116,111,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,46,32,69,97,99,104,32,97,114,103,117,109,101,110,116,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,115,101,112,97,114,97,116,101,32,115,116,114,105,110,103,32,97,110,100,32,40,111,110,32,85,110,105,120,41,32,101,118,101,110,116,117,97,108,108,121,32,101,110,100,115,32,117,112,32,97,115,32,111,110,101,32,101,108,101,109,101,110,116,32,101,97,99,104,32,105,110,32,116,104,101,32,97,114,103,117,109,101,110,116,32,118,101,99,116,111,114,46,32,79,110,32,111,116,104,101,114,32,112,108,97,116,102,111,114,109,115,44,32,97,32,115,105,109,105,108,97,114,32,98,101,104,97,118,105,111,114,32,105,115,32,109,105,109,105,99,107,101,100,46>>]},{p,[],[<<84,104,101,32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,110,111,116,32,101,120,112,97,110,100,101,100,32,98,121,32,116,104,101,32,115,104,101,108,108,32,98,101,102,111,114,101,32,116,104,101,121,32,97,114,101,32,115,117,112,112,108,105,101,100,32,116,111,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,46,32,77,111,115,116,32,110,111,116,97,98,108,121,32,116,104,105,115,32,109,101,97,110,115,32,116,104,97,116,32,102,105,108,101,32,119,105,108,100,99,97,114,100,32,101,120,112,97,110,115,105,111,110,32,100,111,101,115,32,110,111,116,32,111,99,99,117,114,46,32,84,111,32,101,120,112,97,110,100,32,119,105,108,100,99,97,114,100,115,32,102,111,114,32,116,104,101,32,97,114,103,117,109,101,110,116,115,44,32,117,115,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,102,105,108,101,108,105,98,35,119,105,108,100,99,97,114,100,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,105,108,101,108,105,98,58,119,105,108,100,99,97,114,100,47,49>>]}]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,101,118,101,110,32,105,102,32,116,104,101,32,112,114,111,103,114,97,109,32,105,115,32,97,32,85,110,105,120,32,115,104,101,108,108,32,115,99,114,105,112,116,44,32,109,101,97,110,105,110,103,32,116,104,97,116,32,116,104,101,32,115,104,101,108,108,32,117,108,116,105,109,97,116,101,108,121,32,105,115,32,105,110,118,111,107,101,100,44,32,119,105,108,100,99,97,114,100,32,101,120,112,97,110,115,105,111,110,32,100,111,101,115,32,110,111,116,32,111,99,99,117,114,44,32,97,110,100,32,116,104,101,32,115,99,114,105,112,116,32,105,115,32,112,114,111,118,105,100,101,100,32,119,105,116,104,32,116,104,101,32,117,110,116,111,117,99,104,101,100,32,97,114,103,117,109,101,110,116,115,46,32,79,110,32,87,105,110,100,111,119,115,44,32,119,105,108,100,99,97,114,100,32,101,120,112,97,110,115,105,111,110,32,105,115,32,97,108,119,97,121,115,32,117,112,32,116,111,32,116,104,101,32,112,114,111,103,114,97,109,32,105,116,115,101,108,102,44,32,116,104,101,114,101,102,111,114,101,32,116,104,105,115,32,105,115,32,110,111,116,32,97,110,32,105,115,115,117,101,46>>]},{p,[],[<<84,104,101,32,101,120,101,99,117,116,97,98,108,101,32,110,97,109,101,32,40,97,108,115,111,32,107,110,111,119,110,32,97,115,32>>,{code,[],[<<97,114,103,118,91,48,93>>]},<<41,32,105,115,32,110,111,116,32,116,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,105,110,32,116,104,105,115,32,108,105,115,116,46,32,84,104,101,32,112,114,111,112,101,114,32,101,120,101,99,117,116,97,98,108,101,32,110,97,109,101,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,117,115,101,100,32,97,115,32>>,{code,[],[<<97,114,103,118,91,48,93>>]},<<44,32,119,104,101,114,101,32,97,112,112,108,105,99,97,98,108,101,46>>]},{p,[],[<<73,102,32,121,111,117,32,101,120,112,108,105,99,105,116,108,121,32,119,97,110,116,32,116,111,32,115,101,116,32,116,104,101,32,112,114,111,103,114,97,109,32,110,97,109,101,32,105,110,32,116,104,101,32,97,114,103,117,109,101,110,116,32,118,101,99,116,111,114,44,32,111,112,116,105,111,110,32>>,{code,[],[<<97,114,103,48>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,46>>]}]},{dt,[],[{code,[],[<<123,97,114,103,48,44,32,115,116,114,105,110,103,40,41,32,124,32,98,105,110,97,114,121,40,41,125>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,118,97,108,105,100,32,102,111,114,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]},<<32,97,110,100,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,115,32,116,104,101,32,112,114,111,103,114,97,109,32,110,97,109,101,32,97,114,103,117,109,101,110,116,32,119,104,101,110,32,114,117,110,110,105,110,103,32,97,110,32,101,120,101,99,117,116,97,98,108,101,46,32,84,104,105,115,32,99,97,110,32,105,110,32,115,111,109,101,32,99,105,114,99,117,109,115,116,97,110,99,101,115,44,32,111,110,32,115,111,109,101,32,79,83,115,44,32,98,101,32,100,101,115,105,114,97,98,108,101,46,32,72,111,119,32,116,104,101,32,112,114,111,103,114,97,109,32,114,101,115,112,111,110,100,115,32,116,111,32,116,104,105,115,32,105,115,32,104,105,103,104,108,121,32,115,121,115,116,101,109,45,100,101,112,101,110,100,101,110,116,32,97,110,100,32,110,111,32,115,112,101,99,105,102,105,99,32,101,102,102,101,99,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,46>>]}]},{dt,[],[{code,[],[<<101,120,105,116,95,115,116,97,116,117,115>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,118,97,108,105,100,32,102,111,114,32>>,{code,[],[<<123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<67,111,109,109,97,110,100>>]},<<32,114,101,102,101,114,115,32,116,111,32,97,110,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,44,32,97,110,100,32,102,111,114,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]},<<46>>]},{p,[],[<<87,104,101,110,32,116,104,101,32,101,120,116,101,114,110,97,108,32,112,114,111,99,101,115,115,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,101,32,112,111,114,116,32,101,120,105,116,115,44,32,97,32,109,101,115,115,97,103,101,32,111,102,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,80,111,114,116,44,123,101,120,105,116,95,115,116,97,116,117,115,44,83,116,97,116,117,115,125,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,111,110,110,101,99,116,101,100,32,112,114,111,99,101,115,115,44,32,119,104,101,114,101,32>>,{code,[],[<<83,116,97,116,117,115>>]},<<32,105,115,32,116,104,101,32,101,120,105,116,32,115,116,97,116,117,115,32,111,102,32,116,104,101,32,101,120,116,101,114,110,97,108,32,112,114,111,99,101,115,115,46,32,73,102,32,116,104,101,32,112,114,111,103,114,97,109,32,97,98,111,114,116,115,32,111,110,32,85,110,105,120,44,32,116,104,101,32,115,97,109,101,32,99,111,110,118,101,110,116,105,111,110,32,105,115,32,117,115,101,100,32,97,115,32,116,104,101,32,115,104,101,108,108,115,32,100,111,32,40,116,104,97,116,32,105,115,44,32,49,50,56,43,115,105,103,110,97,108,41,46>>]},{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<101,111,102>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,108,115,111,44,32,116,104,101,32,109,101,115,115,97,103,101,115,32>>,{code,[],[<<101,111,102>>]},<<32,97,110,100,32>>,{code,[],[<<101,120,105,116,95,115,116,97,116,117,115>>]},<<32,97,112,112,101,97,114,32,105,110,32,97,110,32,117,110,115,112,101,99,105,102,105,101,100,32,111,114,100,101,114,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,112,114,111,103,114,97,109,32,99,108,111,115,101,115,32,105,116,115,32>>,{code,[],[<<115,116,100,111,117,116>>]},<<32,119,105,116,104,111,117,116,32,101,120,105,116,105,110,103,44,32,111,112,116,105,111,110,32>>,{code,[],[<<101,120,105,116,95,115,116,97,116,117,115>>]},<<32,100,111,101,115,32,110,111,116,32,119,111,114,107,46>>]}]},{dt,[],[{code,[],[<<117,115,101,95,115,116,100,105,111>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,118,97,108,105,100,32,102,111,114,32>>,{code,[],[<<123,115,112,97,119,110,44,32,67,111,109,109,97,110,100,125>>]},<<32,97,110,100,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]},<<46,32,73,116,32,97,108,108,111,119,115,32,116,104,101,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,32,97,110,100,32,111,117,116,112,117,116,32,40,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,48,32,97,110,100,32,49,41,32,111,102,32,116,104,101,32,115,112,97,119,110,101,100,32,40,85,110,105,120,41,32,112,114,111,99,101,115,115,32,102,111,114,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,119,105,116,104,32,69,114,108,97,110,103,46>>]}]},{dt,[],[{code,[],[<<110,111,117,115,101,95,115,116,100,105,111>>]}]},{dd,[],[{p,[],[<<84,104,101,32,111,112,112,111,115,105,116,101,32,111,102,32>>,{code,[],[<<117,115,101,95,115,116,100,105,111>>]},<<46,32,73,116,32,117,115,101,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,51,32,97,110,100,32,52,32,102,111,114,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,119,105,116,104,32,69,114,108,97,110,103,46>>]}]},{dt,[],[{code,[],[<<115,116,100,101,114,114,95,116,111,95,115,116,100,111,117,116>>]}]},{dd,[],[{p,[],[<<65,102,102,101,99,116,115,32,112,111,114,116,115,32,116,111,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,115,46,32,84,104,101,32,101,120,101,99,117,116,101,100,32,112,114,111,103,114,97,109,32,103,101,116,115,32,105,116,115,32,115,116,97,110,100,97,114,100,32,101,114,114,111,114,32,102,105,108,101,32,114,101,100,105,114,101,99,116,101,100,32,116,111,32,105,116,115,32,115,116,97,110,100,97,114,100,32,111,117,116,112,117,116,32,102,105,108,101,46,32>>,{code,[],[<<115,116,100,101,114,114,95,116,111,95,115,116,100,111,117,116>>]},<<32,97,110,100,32>>,{code,[],[<<110,111,117,115,101,95,115,116,100,105,111>>]},<<32,97,114,101,32,109,117,116,117,97,108,108,121,32,101,120,99,108,117,115,105,118,101,46>>]}]},{dt,[],[{code,[],[<<111,118,101,114,108,97,112,112,101,100,95,105,111>>]}]},{dd,[],[{p,[],[<<65,102,102,101,99,116,115,32,112,111,114,116,115,32,116,111,32,101,120,116,101,114,110,97,108,32,112,114,111,103,114,97,109,115,32,111,110,32,87,105,110,100,111,119,115,32,111,110,108,121,46,32,84,104,101,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,32,97,110,100,32,115,116,97,110,100,97,114,100,32,111,117,116,112,117,116,32,104,97,110,100,108,101,115,32,111,102,32,116,104,101,32,112,111,114,116,32,112,114,111,103,114,97,109,32,97,114,101,44,32,105,102,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,115,117,112,112,108,105,101,100,44,32,111,112,101,110,101,100,32,119,105,116,104,32,102,108,97,103,32>>,{code,[],[<<70,73,76,69,95,70,76,65,71,95,79,86,69,82,76,65,80,80,69,68>>]},<<44,32,115,111,32,116,104,97,116,32,116,104,101,32,112,111,114,116,32,112,114,111,103,114,97,109,32,99,97,110,32,40,97,110,100,32,109,117,115,116,41,32,100,111,32,111,118,101,114,108,97,112,112,101,100,32,73,47,79,32,111,110,32,105,116,115,32,115,116,97,110,100,97,114,100,32,104,97,110,100,108,101,115,46,32,84,104,105,115,32,105,115,32,110,111,116,32,110,111,114,109,97,108,108,121,32,116,104,101,32,99,97,115,101,32,102,111,114,32,115,105,109,112,108,101,32,112,111,114,116,32,112,114,111,103,114,97,109,115,44,32,98,117,116,32,97,110,32,111,112,116,105,111,110,32,111,102,32,118,97,108,117,101,32,102,111,114,32,116,104,101,32,101,120,112,101,114,105,101,110,99,101,100,32,87,105,110,100,111,119,115,32,112,114,111,103,114,97,109,109,101,114,46,32>>,{em,[],[<<79,110,32,97,108,108,32,111,116,104,101,114,32,112,108,97,116,102,111,114,109,115,44,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,115,105,108,101,110,116,108,121,32,100,105,115,99,97,114,100,101,100,46>>]}]}]},{dt,[],[{code,[],[<<105,110>>]}]},{dd,[],[{p,[],[<<84,104,101,32,112,111,114,116,32,99,97,110,32,111,110,108,121,32,98,101,32,117,115,101,100,32,102,111,114,32,105,110,112,117,116,46>>]}]},{dt,[],[{code,[],[<<111,117,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,112,111,114,116,32,99,97,110,32,111,110,108,121,32,98,101,32,117,115,101,100,32,102,111,114,32,111,117,116,112,117,116,46>>]}]},{dt,[],[{code,[],[<<98,105,110,97,114,121>>]}]},{dd,[],[{p,[],[<<65,108,108,32,73,47,79,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,98,105,110,97,114,121,32,100,97,116,97,32,111,98,106,101,99,116,115,32,97,115,32,111,112,112,111,115,101,100,32,116,111,32,108,105,115,116,115,32,111,102,32,98,121,116,101,115,46>>]}]},{dt,[],[{code,[],[<<101,111,102>>]}]},{dd,[],[{p,[],[<<84,104,101,32,112,111,114,116,32,105,115,32,110,111,116,32,99,108,111,115,101,100,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,102,105,108,101,32,97,110,100,32,100,111,101,115,32,110,111,116,32,112,114,111,100,117,99,101,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,46,32,73,110,115,116,101,97,100,44,32,105,116,32,114,101,109,97,105,110,115,32,111,112,101,110,32,97,110,100,32,97,32>>,{code,[],[<<123,80,111,114,116,44,32,101,111,102,125>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,104,111,108,100,105,110,103,32,116,104,101,32,112,111,114,116,46>>]}]},{dt,[],[{code,[],[<<104,105,100,101>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32,114,117,110,110,105,110,103,32,111,110,32,87,105,110,100,111,119,115,44,32,115,117,112,112,114,101,115,115,101,115,32,99,114,101,97,116,105,111,110,32,111,102,32,97,32,110,101,119,32,99,111,110,115,111,108,101,32,119,105,110,100,111,119,32,119,104,101,110,32,115,112,97,119,110,105,110,103,32,116,104,101,32,112,111,114,116,32,112,114,111,103,114,97,109,46,32,40,84,104,105,115,32,111,112,116,105,111,110,32,104,97,115,32,110,111,32,101,102,102,101,99,116,32,111,110,32,111,116,104,101,114,32,112,108,97,116,102,111,114,109,115,46,41>>]}]},{dt,[],[{code,[],[<<123,112,97,114,97,108,108,101,108,105,115,109,44,32,66,111,111,108,101,97,110,125>>]}]},{dd,[],[{a,[{id,<<111,112,101,110,95,112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109>>}],[]},{p,[],[<<83,101,116,115,32,115,99,104,101,100,117,108,101,114,32,104,105,110,116,32,102,111,114,32,112,111,114,116,32,112,97,114,97,108,108,101,108,105,115,109,46,32,73,102,32,115,101,116,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,116,104,101,32,118,105,114,116,117,97,108,32,109,97,99,104,105,110,101,32,115,99,104,101,100,117,108,101,115,32,112,111,114,116,32,116,97,115,107,115,59,32,119,104,101,110,32,100,111,105,110,103,32,115,111,44,32,105,116,32,105,109,112,114,111,118,101,115,32,112,97,114,97,108,108,101,108,105,115,109,32,105,110,32,116,104,101,32,115,121,115,116,101,109,46,32,73,102,32,115,101,116,32,116,111,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,116,104,101,32,118,105,114,116,117,97,108,32,109,97,99,104,105,110,101,32,116,114,105,101,115,32,116,111,32,112,101,114,102,111,114,109,32,112,111,114,116,32,116,97,115,107,115,32,105,109,109,101,100,105,97,116,101,108,121,44,32,105,109,112,114,111,118,105,110,103,32,108,97,116,101,110,99,121,32,97,116,32,116,104,101,32,101,120,112,101,110,115,101,32,111,102,32,112,97,114,97,108,108,101,108,105,115,109,46,32,84,104,101,32,100,101,102,97,117,108,116,32,99,97,110,32,98,101,32,115,101,116,32,97,116,32,115,121,115,116,101,109,32,115,116,97,114,116,117,112,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,112,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,112,112>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,98,117,115,121,95,108,105,109,105,116,115,95,112,111,114,116,44,32,123,76,111,119,44,32,72,105,103,104,125,32,124,32,100,105,115,97,98,108,101,100,125>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,108,105,109,105,116,115,32,116,104,97,116,32,119,105,108,108,32,98,101,32,117,115,101,100,32,102,111,114,32,99,111,110,116,114,111,108,108,105,110,103,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,32,111,102,32,116,104,101,32,112,111,114,116,46>>]},{p,[],[<<87,104,101,110,32,116,104,101,32,112,111,114,116,115,32,105,110,116,101,114,110,97,108,32,111,117,116,112,117,116,32,113,117,101,117,101,32,115,105,122,101,32,98,101,99,111,109,101,115,32,108,97,114,103,101,114,32,116,104,97,110,32,111,114,32,101,113,117,97,108,32,116,111,32>>,{code,[],[<<72,105,103,104>>]},<<32,98,121,116,101,115,44,32,105,116,32,101,110,116,101,114,115,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46,32,87,104,101,110,32,105,116,32,98,101,99,111,109,101,115,32,108,101,115,115,32,116,104,97,110,32>>,{code,[],[<<76,111,119>>]},<<32,98,121,116,101,115,32,105,116,32,108,101,97,118,101,115,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46,32,87,104,101,110,32,116,104,101,32,112,111,114,116,32,105,115,32,105,110,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,44,32,112,114,111,99,101,115,115,101,115,32,115,101,110,100,105,110,103,32,99,111,109,109,97,110,100,115,32,116,111,32,105,116,32,119,105,108,108,32,98,101,32,115,117,115,112,101,110,100,101,100,32,117,110,116,105,108,32,116,104,101,32,112,111,114,116,32,108,101,97,118,101,115,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46,32,67,111,109,109,97,110,100,115,32,97,114,101,32,105,110,32,116,104,105,115,32,99,111,110,116,101,120,116,32,101,105,116,104,101,114,32>>,{code,[],[<<80,111,114,116,32,33,32,123,79,119,110,101,114,44,32,123,99,111,109,109,97,110,100,44,32,68,97,116,97,125,125>>]},<<32,111,114,32>>,{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,91,50,44,51,93>>]},<<46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<76,111,119>>]},<<32,108,105,109,105,116,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,97,100,106,117,115,116,101,100,32,116,111,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<72,105,103,104>>]},<<32,105,102,32,105,116,32,105,115,32,115,101,116,32,108,97,114,103,101,114,32,116,104,101,110,32>>,{code,[],[<<72,105,103,104>>]},<<46,32,86,97,108,105,100,32,114,97,110,103,101,32,111,102,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<76,111,119>>]},<<32,97,110,100,32>>,{code,[],[<<72,105,103,104>>]},<<32,105,115,32>>,{code,[],[<<91,49,44,32,40,49,32,98,115,108,32,40,56,42,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,119,111,114,100,115,105,122,101,41,41,41,45,50,93>>]},<<46,32,73,102,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<100,105,115,97,98,108,101,100>>]},<<32,105,115,32,112,97,115,115,101,100,44,32,116,104,101,32,112,111,114,116,32,119,105,108,108,32,110,101,118,101,114,32,101,110,116,101,114,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46>>]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,115,32,97,114,101,32>>,{code,[],[<<76,111,119,32,61,32,52,48,57,54>>]},<<32,97,110,100,32>>,{code,[],[<<72,105,103,104,32,61,32,56,49,57,50>>]},<<46>>]},{p,[],[{em,[],[<<78,111,116,101>>]},<<32,116,104,97,116,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,111,110,108,121,32,118,97,108,105,100,32,119,104,101,110,32,115,112,97,119,110,105,110,103,32,97,110,32,101,120,101,99,117,116,97,98,108,101,32,40,112,111,114,116,32,112,114,111,103,114,97,109,41,32,98,121,32,111,112,101,110,105,110,103,32,116,104,101,32,115,112,97,119,110,32,100,114,105,118,101,114,32,97,110,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32>>,{code,[],[<<102,100>>]},<<32,100,114,105,118,101,114,46,32,84,104,105,115,32,111,112,116,105,111,110,32,119,105,108,108,32,99,97,117,115,101,32,97,32,102,97,105,108,117,114,101,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,119,104,101,110,32,111,112,101,110,105,110,103,32,111,116,104,101,114,32,100,114,105,118,101,114,115,46>>]}]},{dt,[],[{code,[],[<<123,98,117,115,121,95,108,105,109,105,116,115,95,109,115,103,113,44,32,123,76,111,119,44,32,72,105,103,104,125,32,124,32,100,105,115,97,98,108,101,100,125>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,108,105,109,105,116,115,32,116,104,97,116,32,119,105,108,108,32,98,101,32,117,115,101,100,32,102,111,114,32,99,111,110,116,114,111,108,108,105,110,103,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,32,111,102,32,116,104,101,32,112,111,114,116,32,109,101,115,115,97,103,101,32,113,117,101,117,101,46>>]},{p,[],[<<87,104,101,110,32,116,104,101,32,112,111,114,116,115,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,115,105,122,101,32,98,101,99,111,109,101,115,32,108,97,114,103,101,114,32,116,104,97,110,32,111,114,32,101,113,117,97,108,32,116,111,32>>,{code,[],[<<72,105,103,104>>]},<<32,98,121,116,101,115,32,105,116,32,101,110,116,101,114,115,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46,32,87,104,101,110,32,105,116,32,98,101,99,111,109,101,115,32,108,101,115,115,32,116,104,97,110,32>>,{code,[],[<<76,111,119>>]},<<32,98,121,116,101,115,32,105,116,32,108,101,97,118,101,115,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46,32,87,104,101,110,32,116,104,101,32,112,111,114,116,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,105,115,32,105,110,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,44,32,112,114,111,99,101,115,115,101,115,32,115,101,110,100,105,110,103,32,99,111,109,109,97,110,100,115,32,116,111,32,105,116,32,119,105,108,108,32,98,101,32,115,117,115,112,101,110,100,101,100,32,117,110,116,105,108,32,116,104,101,32,112,111,114,116,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,108,101,97,118,101,115,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46,32,67,111,109,109,97,110,100,115,32,97,114,101,32,105,110,32,116,104,105,115,32,99,111,110,116,101,120,116,32,101,105,116,104,101,114,32>>,{code,[],[<<80,111,114,116,32,33,32,123,79,119,110,101,114,44,32,123,99,111,109,109,97,110,100,44,32,68,97,116,97,125,125>>]},<<32,111,114,32>>,{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,91,50,44,51,93>>]},<<46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<76,111,119>>]},<<32,108,105,109,105,116,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,97,100,106,117,115,116,101,100,32,116,111,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<72,105,103,104>>]},<<32,105,102,32,105,116,32,105,115,32,115,101,116,32,108,97,114,103,101,114,32,116,104,101,110,32>>,{code,[],[<<72,105,103,104>>]},<<46,32,86,97,108,105,100,32,114,97,110,103,101,32,111,102,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<76,111,119>>]},<<32,97,110,100,32>>,{code,[],[<<72,105,103,104>>]},<<32,105,115,32>>,{code,[],[<<91,49,44,32,40,49,32,98,115,108,32,40,56,42,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,119,111,114,100,115,105,122,101,41,41,41,45,50,93>>]},<<46,32,73,102,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<100,105,115,97,98,108,101,100>>]},<<32,105,115,32,112,97,115,115,101,100,44,32,116,104,101,32,112,111,114,116,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,119,105,108,108,32,110,101,118,101,114,32,101,110,116,101,114,32,116,104,101,32,98,117,115,121,32,115,116,97,116,101,46>>]},{p,[],[{em,[],[<<78,111,116,101>>]},<<32,116,104,97,116,32,105,102,32,116,104,101,32,100,114,105,118,101,114,32,115,116,97,116,105,99,97,108,108,121,32,104,97,115,32,100,105,115,97,98,108,101,100,32,116,104,101,32,117,115,101,32,111,102,32,116,104,105,115,32,102,101,97,116,117,114,101,44,32,97,32,102,97,105,108,117,114,101,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,119,105,108,108,32,98,101,32,114,97,105,115,101,100,32,117,110,108,101,115,115,32,116,104,105,115,32,111,112,116,105,111,110,32,97,108,115,111,32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<100,105,115,97,98,108,101>>]},<<32,111,114,32,110,111,116,32,112,97,115,115,101,100,32,97,116,32,97,108,108,46>>]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,115,32,97,114,101,32>>,{code,[],[<<76,111,119,32,61,32,52,48,57,54>>]},<<32,97,110,100,32>>,{code,[],[<<72,105,103,104,32,61,32,56,49,57,50>>]},<<32,117,110,108,101,115,115,32,116,104,101,32,100,114,105,118,101,114,32,105,116,115,101,108,102,32,100,111,101,115,32,109,111,100,105,102,105,99,97,116,105,111,110,115,32,111,102,32,116,104,101,115,101,32,118,97,108,117,101,115,46>>]},{p,[],[{em,[],[<<78,111,116,101>>]},<<32,116,104,97,116,32,116,104,101,32,100,114,105,118,101,114,32,109,105,103,104,116,32,102,97,105,108,32,105,102,32,105,116,32,97,108,115,111,32,97,100,106,117,115,116,32,116,104,101,115,101,32,108,105,109,105,116,115,32,98,121,32,105,116,115,101,108,102,32,97,110,100,32,121,111,117,32,104,97,118,101,32,100,105,115,97,98,108,101,100,32,116,104,105,115,32,102,101,97,116,117,114,101,46>>]},{p,[],[<<84,104,101,32,115,112,97,119,110,32,100,114,105,118,101,114,32,40,117,115,101,100,32,119,104,101,110,32,115,112,97,119,110,105,110,103,32,97,110,32,101,120,101,99,117,116,97,98,108,101,41,32,97,110,100,32,116,104,101,32>>,{code,[],[<<102,100>>]},<<32,100,114,105,118,101,114,32,100,111,32,110,111,116,32,100,105,115,97,98,108,101,32,116,104,105,115,32,102,101,97,116,117,114,101,32,97,110,100,32,100,111,32,110,111,116,32,97,100,106,117,115,116,32,116,104,101,115,101,32,108,105,109,105,116,115,32,98,121,32,116,104,101,109,115,101,108,118,101,115,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,114,105,118,101,114,35,101,114,108,95,100,114,118,95,98,117,115,121,95,109,115,103,113,95,108,105,109,105,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,108,95,100,114,118,95,98,117,115,121,95,109,115,103,113,95,108,105,109,105,116,115,40,41>>]}]},<<46>>]}]}]},{p,[],[<<68,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<115,116,114,101,97,109>>]},<<32,102,111,114,32,97,108,108,32,112,111,114,116,32,116,121,112,101,115,32,97,110,100,32>>,{code,[],[<<117,115,101,95,115,116,100,105,111>>]},<<32,102,111,114,32,115,112,97,119,110,101,100,32,112,111,114,116,115,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32,105,102,32,116,104,101,32,112,111,114,116,32,99,97,110,110,111,116,32,98,101,32,111,112,101,110,101,100,44,32,116,104,101,32,101,120,105,116,32,114,101,97,115,111,110,32,105,115,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<44,32>>,{code,[],[<<115,121,115,116,101,109,95,108,105,109,105,116>>]},<<44,32,111,114,32,116,104,101,32,80,79,83,73,88,32,101,114,114,111,114,32,99,111,100,101,32,116,104,97,116,32,109,111,115,116,32,99,108,111,115,101,108,121,32,100,101,115,99,114,105,98,101,115,32,116,104,101,32,101,114,114,111,114,44,32,111,114,32>>,{code,[],[<<101,105,110,118,97,108>>]},<<32,105,102,32,110,111,32,80,79,83,73,88,32,99,111,100,101,32,105,115,32,97,112,112,114,111,112,114,105,97,116,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<66,97,100,32,105,110,112,117,116,32,97,114,103,117,109,101,110,116,115,32,116,111,32>>,{code,[],[<<111,112,101,110,95,112,111,114,116>>]},<<46>>]},{dt,[],[{code,[],[<<115,121,115,116,101,109,95,108,105,109,105,116>>]}]},{dd,[],[<<65,108,108,32,97,118,97,105,108,97,98,108,101,32,112,111,114,116,115,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,101,109,117,108,97,116,111,114,32,97,114,101,32,105,110,32,117,115,101,46>>]},{dt,[],[{code,[],[<<101,110,111,109,101,109>>]}]},{dd,[],[<<78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,116,104,101,32,112,111,114,116,46>>]},{dt,[],[{code,[],[<<101,97,103,97,105,110>>]}]},{dd,[],[<<78,111,32,109,111,114,101,32,97,118,97,105,108,97,98,108,101,32,79,83,32,112,114,111,99,101,115,115,101,115,46>>]},{dt,[],[{code,[],[<<101,110,97,109,101,116,111,111,108,111,110,103>>]}]},{dd,[],[<<84,111,111,32,108,111,110,103,32,101,120,116,101,114,110,97,108,32,99,111,109,109,97,110,100,46>>]},{dt,[],[{code,[],[<<101,109,102,105,108,101>>]}]},{dd,[],[<<78,111,32,109,111,114,101,32,97,118,97,105,108,97,98,108,101,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,40,102,111,114,32,116,104,101,32,79,83,32,112,114,111,99,101,115,115,32,116,104,97,116,32,116,104,101,32,69,114,108,97,110,103,32,101,109,117,108,97,116,111,114,32,114,117,110,115,32,105,110,41,46>>]},{dt,[],[{code,[],[<<101,110,102,105,108,101>>]}]},{dd,[],[<<70,117,108,108,32,102,105,108,101,32,116,97,98,108,101,32,40,102,111,114,32,116,104,101,32,101,110,116,105,114,101,32,79,83,41,46>>]},{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{code,[],[<<67,111,109,109,97,110,100>>]},<<32,115,112,101,99,105,102,105,101,100,32,105,110,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,67,111,109,109,97,110,100,125>>]},<<32,100,111,101,115,32,110,111,116,32,112,111,105,110,116,32,111,117,116,32,97,110,32,101,120,101,99,117,116,97,98,108,101,32,102,105,108,101,46>>]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{code,[],[<<70,105,108,101,78,97,109,101>>]},<<32,115,112,101,99,105,102,105,101,100,32,105,110,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,70,105,108,101,78,97,109,101,125>>]},<<32,100,111,101,115,32,110,111,116,32,112,111,105,110,116,32,111,117,116,32,97,110,32,101,120,105,115,116,105,110,103,32,102,105,108,101,46>>]}]},{p,[],[<<68,117,114,105,110,103,32,117,115,101,32,111,102,32,97,32,112,111,114,116,32,111,112,101,110,101,100,32,117,115,105,110,103,32>>,{code,[],[<<123,115,112,97,119,110,44,32,78,97,109,101,125>>]},<<44,32>>,{code,[],[<<123,115,112,97,119,110,95,100,114,105,118,101,114,44,32,78,97,109,101,125>>]},<<44,32,111,114,32>>,{code,[],[<<123,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,78,97,109,101,125>>]},<<44,32,101,114,114,111,114,115,32,97,114,105,115,105,110,103,32,119,104,101,110,32,115,101,110,100,105,110,103,32,109,101,115,115,97,103,101,115,32,116,111,32,105,116,32,97,114,101,32,114,101,112,111,114,116,101,100,32,116,111,32,116,104,101,32,111,119,110,105,110,103,32,112,114,111,99,101,115,115,32,117,115,105,110,103,32,115,105,103,110,97,108,115,32,111,102,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,39,69,88,73,84,39,44,32,80,111,114,116,44,32,80,111,115,105,120,67,111,100,101,125>>]},<<46,32,70,111,114,32,116,104,101,32,112,111,115,115,105,98,108,101,32,118,97,108,117,101,115,32,111,102,32>>,{code,[],[<<80,111,115,105,120,67,111,100,101>>]},<<44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<102,105,108,101,40,51,41>>]}]},<<46>>]},{p,[],[<<84,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,112,111,114,116,115,32,116,104,97,116,32,99,97,110,32,98,101,32,111,112,101,110,32,97,116,32,116,104,101,32,115,97,109,101,32,116,105,109,101,32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,109,97,120,95,112,111,114,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,81>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},#{signature => [{attribute,{2603,2},spec,{{open_port,2},[{type,{2603,16},bounded_fun,[{type,{2603,16},'fun',[{type,{2603,16},product,[{var,{2603,17},'PortName'},{var,{2603,27},'PortSettings'}]},{type,{2603,44},port,[]}]},[{type,{2604,7},constraint,[{atom,{2604,7},is_subtype},[{var,{2604,7},'PortName'},{type,{2604,19},union,[{type,{2604,19},tuple,[{atom,{2604,20},spawn},{ann_type,{2604,27},[{var,{2604,27},'Command'},{type,{2604,38},union,[{type,{2604,38},string,[]},{type,{2604,49},binary,[]}]}]}]},{type,{2605,19},tuple,[{atom,{2605,20},spawn_driver},{ann_type,{2605,34},[{var,{2605,34},'Command'},{type,{2605,45},union,[{type,{2605,45},string,[]},{type,{2605,56},binary,[]}]}]}]},{type,{2606,19},tuple,[{atom,{2606,20},spawn_executable},{ann_type,{2606,38},[{var,{2606,38},'FileName'},{remote_type,{2606,50},[{atom,{2606,50},file},{atom,{2606,55},name_all},[]]}]}]},{type,{2607,19},tuple,[{atom,{2607,20},fd},{ann_type,{2607,24},[{var,{2607,24},'In'},{type,{2607,30},non_neg_integer,[]}]},{ann_type,{2607,49},[{var,{2607,49},'Out'},{type,{2607,56},non_neg_integer,[]}]}]}]}]]},{type,{2608,7},constraint,[{atom,{2608,7},is_subtype},[{var,{2608,7},'PortSettings'},{type,{2608,23},list,[{var,{2608,24},'Opt'}]}]]},{type,{2609,7},constraint,[{atom,{2609,7},is_subtype},[{var,{2609,7},'Opt'},{type,{2609,14},union,[{type,{2609,14},tuple,[{atom,{2609,15},packet},{ann_type,{2609,23},[{var,{2609,23},'N'},{type,{2609,28},union,[{integer,{2609,28},1},{integer,{2609,32},2},{integer,{2609,36},4}]}]}]},{atom,{2610,14},stream},{type,{2611,14},tuple,[{atom,{2611,15},line},{ann_type,{2611,21},[{var,{2611,21},'L'},{type,{2611,26},non_neg_integer,[]}]}]},{type,{2612,14},tuple,[{atom,{2612,15},cd},{ann_type,{2612,19},[{var,{2612,19},'Dir'},{type,{2612,26},union,[{type,{2612,26},string,[]},{type,{2612,37},binary,[]}]}]}]},{type,{2613,14},tuple,[{atom,{2613,15},env},{ann_type,{2613,20},[{var,{2613,20},'Env'},{type,{2613,27},list,[{type,{2613,28},tuple,[{ann_type,{2613,29},[{var,{2613,29},'Name'},{remote_type,{2613,37},[{atom,{2613,37},os},{atom,{2613,40},env_var_name},[]]}]},{ann_type,{2613,56},[{var,{2613,56},'Val'},{type,{2613,63},union,[{remote_type,{2613,63},[{atom,{2613,63},os},{atom,{2613,66},env_var_value},[]]},{atom,{2613,84},false}]}]}]}]}]}]},{type,{2614,14},tuple,[{atom,{2614,15},args},{type,{2614,21},list,[{type,{2614,22},union,[{type,{2614,22},string,[]},{type,{2614,33},binary,[]}]}]}]},{type,{2615,14},tuple,[{atom,{2615,15},arg0},{type,{2615,21},union,[{type,{2615,21},string,[]},{type,{2615,32},binary,[]}]}]},{atom,{2616,14},exit_status},{atom,{2617,14},use_stdio},{atom,{2618,14},nouse_stdio},{atom,{2619,14},stderr_to_stdout},{atom,{2620,14},in},{atom,{2621,14},out},{atom,{2622,14},binary},{atom,{2623,14},eof},{type,{2624,7},tuple,[{atom,{2624,8},parallelism},{ann_type,{2624,21},[{var,{2624,21},'Boolean'},{type,{2624,32},boolean,[]}]}]},{atom,{2625,7},hide},{type,{2626,14},tuple,[{atom,{2626,15},busy_limits_port},{type,{2626,33},union,[{type,{2626,33},tuple,[{type,{2626,34},non_neg_integer,[]},{type,{2626,53},non_neg_integer,[]}]},{atom,{2626,74},disabled}]}]},{type,{2627,14},tuple,[{atom,{2627,15},busy_limits_msgq},{type,{2627,33},union,[{type,{2627,33},tuple,[{type,{2627,34},non_neg_integer,[]},{type,{2627,53},non_neg_integer,[]}]},{atom,{2627,74},disabled}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,50,49,54>>}},{{function,phash,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1769}],[<<112,104,97,115,104,47,50>>],#{<<101,110>> => [{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,100,101,112,114,101,99,97,116,101,100,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,104,97,115,104,50,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,112,104,97,115,104,50,47,50>>]}]},<<32,115,104,111,117,108,100,32,98,101,32,117,115,101,100,32,102,111,114,32,110,101,119,32,99,111,100,101,46,32,78,111,116,101,32,116,104,97,116,32>>,{code,[],[<<101,114,108,97,110,103,58,112,104,97,115,104,40,88,44,78,41>>]},<<32,105,115,32,110,111,116,32,110,101,99,101,115,115,97,114,121,32,101,113,117,97,108,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,112,104,97,115,104,50,40,88,44,78,41>>]}]}]},{p,[],[<<80,111,114,116,97,98,108,101,32,104,97,115,104,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,103,105,118,101,115,32,116,104,101,32,115,97,109,101,32,104,97,115,104,32,102,111,114,32,116,104,101,32,115,97,109,101,32,69,114,108,97,110,103,32,116,101,114,109,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,109,97,99,104,105,110,101,32,97,114,99,104,105,116,101,99,116,117,114,101,32,97,110,100,32,69,82,84,83,32,118,101,114,115,105,111,110,32,40,116,104,101,32,66,73,70,32,119,97,115,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,69,82,84,83,32,52,46,57,46,49,46,49,41,46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,97,32,104,97,115,104,32,118,97,108,117,101,32,102,111,114,32>>,{code,[],[<<84,101,114,109>>]},<<32,119,105,116,104,105,110,32,116,104,101,32,114,97,110,103,101,32>>,{code,[],[<<49,46,46,82,97,110,103,101>>]},<<46,32,84,104,101,32,109,97,120,105,109,117,109,32,118,97,108,117,101,32,102,111,114,32>>,{code,[],[<<82,97,110,103,101>>]},<<32,105,115,32,50,94,51,50,46>>]}]},#{deprecated => <<101,114,108,97,110,103,58,112,104,97,115,104,47,50,32,105,115,32,100,101,112,114,101,99,97,116,101,100,59,32,117,115,101,32,101,114,108,97,110,103,58,112,104,97,115,104,50,47,50,32,105,110,115,116,101,97,100>>,signature => [{attribute,{1769,2},spec,{{erlang,phash,2},[{type,{1769,19},bounded_fun,[{type,{1769,19},'fun',[{type,{1769,19},product,[{var,{1769,20},'Term'},{var,{1769,26},'Range'}]},{var,{1769,36},'Hash'}]},[{type,{1770,7},constraint,[{atom,{1770,7},is_subtype},[{var,{1770,7},'Term'},{type,{1770,15},term,[]}]]},{type,{1771,7},constraint,[{atom,{1771,7},is_subtype},[{var,{1771,7},'Range'},{type,{1771,16},pos_integer,[]}]]},{type,{1772,7},constraint,[{atom,{1772,7},is_subtype},[{var,{1772,7},'Hash'},{type,{1772,15},pos_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,54,50,50>>}},{{function,phash2,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1784}],[<<112,104,97,115,104,50,47,50>>],#{},#{signature => [{attribute,{1784,2},spec,{{erlang,phash2,2},[{type,{1784,20},bounded_fun,[{type,{1784,20},'fun',[{type,{1784,20},product,[{var,{1784,21},'Term'},{var,{1784,27},'Range'}]},{var,{1784,37},'Hash'}]},[{type,{1785,7},constraint,[{atom,{1785,7},is_subtype},[{var,{1785,7},'Term'},{type,{1785,15},term,[]}]]},{type,{1786,7},constraint,[{atom,{1786,7},is_subtype},[{var,{1786,7},'Range'},{type,{1786,16},pos_integer,[]}]]},{type,{1787,7},constraint,[{atom,{1787,7},is_subtype},[{var,{1787,7},'Hash'},{type,{1787,15},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,54,52,52>>,equiv => {function,phash2,1}}},{{function,phash2,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1777}],[<<112,104,97,115,104,50,47,49>>],#{<<101,110>> => [{p,[],[<<80,111,114,116,97,98,108,101,32,104,97,115,104,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,103,105,118,101,115,32,116,104,101,32,115,97,109,101,32,104,97,115,104,32,102,111,114,32,116,104,101,32,115,97,109,101,32,69,114,108,97,110,103,32,116,101,114,109,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,109,97,99,104,105,110,101,32,97,114,99,104,105,116,101,99,116,117,114,101,32,97,110,100,32,69,82,84,83,32,118,101,114,115,105,111,110,32,40,116,104,101,32,66,73,70,32,119,97,115,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,69,82,84,83,32,53,46,50,41,46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,97,32,104,97,115,104,32,118,97,108,117,101,32,102,111,114,32>>,{code,[],[<<84,101,114,109>>]},<<32,119,105,116,104,105,110,32,116,104,101,32,114,97,110,103,101,32>>,{code,[],[<<48,46,46,82,97,110,103,101,45,49>>]},<<46,32,84,104,101,32,109,97,120,105,109,117,109,32,118,97,108,117,101,32,102,111,114,32>>,{code,[],[<<82,97,110,103,101>>]},<<32,105,115,32,50,94,51,50,46,32,87,104,101,110,32,119,105,116,104,111,117,116,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<82,97,110,103,101>>]},<<44,32,97,32,118,97,108,117,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,48,46,46,50,94,50,55,45,49,32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,97,108,119,97,121,115,32,116,111,32,98,101,32,117,115,101,100,32,102,111,114,32,104,97,115,104,105,110,103,32,116,101,114,109,115,46,32,73,116,32,100,105,115,116,114,105,98,117,116,101,115,32,115,109,97,108,108,32,105,110,116,101,103,101,114,115,32,98,101,116,116,101,114,32,116,104,97,110,32>>,{code,[],[<<112,104,97,115,104,47,50>>]},<<44,32,97,110,100,32,105,116,32,105,115,32,102,97,115,116,101,114,32,102,111,114,32,98,105,103,110,117,109,115,32,97,110,100,32,98,105,110,97,114,105,101,115,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,114,97,110,103,101,32>>,{code,[],[<<48,46,46,82,97,110,103,101,45,49>>]},<<32,105,115,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,116,104,101,32,114,97,110,103,101,32,111,102,32>>,{code,[],[<<112,104,97,115,104,47,50>>]},<<44,32,119,104,105,99,104,32,105,115,32>>,{code,[],[<<49,46,46,82,97,110,103,101>>]},<<46>>]}]},#{signature => [{attribute,{1777,2},spec,{{erlang,phash2,1},[{type,{1777,20},bounded_fun,[{type,{1777,20},'fun',[{type,{1777,20},product,[{var,{1777,21},'Term'}]},{var,{1777,30},'Hash'}]},[{type,{1778,7},constraint,[{atom,{1778,7},is_subtype},[{var,{1778,7},'Term'},{type,{1778,15},term,[]}]]},{type,{1779,7},constraint,[{atom,{1779,7},is_subtype},[{var,{1779,7},'Hash'},{type,{1779,15},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,54,52,52>>}},{{function,pid_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1792}],[<<112,105,100,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<80,105,100>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,112,105,100,95,116,111,95,108,105,115,116,40,115,101,108,102,40,41,41,46,10,34,60,48,46,56,53,46,48,62,34>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,105,115,116,95,112,114,111,116,111,99,111,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<99,114,101,97,116,105,111,110>>]},<<32,102,111,114,32,116,104,101,32,110,111,100,101,32,105,115,32,110,111,116,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,101,32,108,105,115,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<80,105,100>>]},<<46,32,84,104,105,115,32,109,101,97,110,115,32,116,104,97,116,32,112,114,111,99,101,115,115,101,115,32,105,110,32,100,105,102,102,101,114,101,110,116,32,105,110,99,97,114,110,97,116,105,111,110,115,32,111,102,32,97,32,110,111,100,101,32,119,105,116,104,32,97,32,115,112,101,99,105,102,105,99,32,110,97,109,101,32,99,97,110,32,103,101,116,32,116,104,101,32,115,97,109,101,32,108,105,115,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,46>>]}]}]},#{signature => [{attribute,{1792,2},spec,{{pid_to_list,1},[{type,{1792,18},bounded_fun,[{type,{1792,18},'fun',[{type,{1792,18},product,[{var,{1792,19},'Pid'}]},{type,{1792,27},string,[]}]},[{type,{1793,7},constraint,[{atom,{1793,7},is_subtype},[{var,{1793,7},'Pid'},{type,{1793,14},pid,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,54,54,57>>}},{{function,port_call,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3879}],[<<112,111,114,116,95,99,97,108,108,47,51>>],#{<<101,110>> => [{p,[],[<<80,101,114,102,111,114,109,115,32,97,32,115,121,110,99,104,114,111,110,111,117,115,32,99,97,108,108,32,116,111,32,97,32,112,111,114,116,46,32,84,104,101,32,109,101,97,110,105,110,103,32,111,102,32>>,{code,[],[<<79,112,101,114,97,116,105,111,110>>]},<<32,97,110,100,32>>,{code,[],[<<68,97,116,97>>]},<<32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,112,111,114,116,44,32,116,104,97,116,32,105,115,44,32,111,110,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,46,32,78,111,116,32,97,108,108,32,112,111,114,116,32,100,114,105,118,101,114,115,32,115,117,112,112,111,114,116,32,116,104,105,115,32,102,101,97,116,117,114,101,46>>]},{p,[],[{code,[],[<<80,111,114,116>>]},<<32,105,115,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,114,101,102,101,114,114,105,110,103,32,116,111,32,97,32,100,114,105,118,101,114,46>>]},{p,[],[{code,[],[<<79,112,101,114,97,116,105,111,110>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,44,32,119,104,105,99,104,32,105,115,32,112,97,115,115,101,100,32,111,110,32,116,111,32,116,104,101,32,100,114,105,118,101,114,46>>]},{p,[],[{code,[],[<<68,97,116,97>>]},<<32,105,115,32,97,110,121,32,69,114,108,97,110,103,32,116,101,114,109,46,32,84,104,105,115,32,100,97,116,97,32,105,115,32,99,111,110,118,101,114,116,101,100,32,116,111,32,98,105,110,97,114,121,32,116,101,114,109,32,102,111,114,109,97,116,32,97,110,100,32,115,101,110,116,32,116,111,32,116,104,101,32,112,111,114,116,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,97,32,116,101,114,109,32,102,114,111,109,32,116,104,101,32,100,114,105,118,101,114,46,32,84,104,101,32,109,101,97,110,105,110,103,32,111,102,32,116,104,101,32,114,101,116,117,114,110,101,100,32,100,97,116,97,32,97,108,115,111,32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,110,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,44,32,111,114,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,99,108,111,115,101,100,32,112,111,114,116,44,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,116,104,105,115,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,101,114,97,116,105,111,110>>]},<<32,100,111,101,115,32,110,111,116,32,102,105,116,32,105,110,32,97,32,51,50,45,98,105,116,32,105,110,116,101,103,101,114,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,115,121,110,99,104,114,111,110,111,117,115,32,99,111,110,116,114,111,108,32,111,112,101,114,97,116,105,111,110,115,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,115,111,32,100,101,99,105,100,101,115,32,102,111,114,32,97,110,121,32,114,101,97,115,111,110,32,40,112,114,111,98,97,98,108,121,32,115,111,109,101,116,104,105,110,103,32,119,114,111,110,103,32,119,105,116,104,32>>,{code,[],[<<79,112,101,114,97,116,105,111,110>>]},<<32,111,114,32>>,{code,[],[<<68,97,116,97>>]},<<41,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<68,111,32,110,111,116,32,99,97,108,108,32>>,{code,[],[<<112,111,114,116,95,99,97,108,108>>]},<<32,119,105,116,104,32,97,110,32,117,110,107,110,111,119,110,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,100,101,110,116,105,102,105,101,114,32,97,110,100,32,101,120,112,101,99,116,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,46,32,65,110,121,32,117,110,100,101,102,105,110,101,100,32,98,101,104,97,118,105,111,114,32,105,115,32,112,111,115,115,105,98,108,101,32,40,105,110,99,108,117,100,105,110,103,32,110,111,100,101,32,99,114,97,115,104,41,32,100,101,112,101,110,100,105,110,103,32,111,110,32,104,111,119,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,105,110,116,101,114,112,114,101,116,115,32,116,104,101,32,115,117,112,112,108,105,101,100,32,97,114,103,117,109,101,110,116,115,46>>]}]}]}]}]},#{signature => [{attribute,{3879,2},spec,{{erlang,port_call,3},[{type,{3879,23},bounded_fun,[{type,{3879,23},'fun',[{type,{3879,23},product,[{var,{3879,24},'Port'},{var,{3879,30},'Operation'},{var,{3879,41},'Data'}]},{type,{3879,50},term,[]}]},[{type,{3880,7},constraint,[{atom,{3880,7},is_subtype},[{var,{3880,7},'Port'},{type,{3880,15},union,[{type,{3880,15},port,[]},{type,{3880,24},atom,[]}]}]]},{type,{3881,7},constraint,[{atom,{3881,7},is_subtype},[{var,{3881,7},'Operation'},{type,{3881,20},integer,[]}]]},{type,{3882,7},constraint,[{atom,{3882,7},is_subtype},[{var,{3882,7},'Data'},{type,{3882,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,54,56,56>>}},{{function,port_close,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3840}],[<<112,111,114,116,95,99,108,111,115,101,47,49>>],#{<<101,110>> => [{p,[],[<<67,108,111,115,101,115,32,97,110,32,111,112,101,110,32,112,111,114,116,46,32,82,111,117,103,104,108,121,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<80,111,114,116,32,33,32,123,115,101,108,102,40,41,44,32,99,108,111,115,101,125>>]},<<32,101,120,99,101,112,116,32,102,111,114,32,116,104,101,32,101,114,114,111,114,32,98,101,104,97,118,105,111,114,32,40,115,101,101,32,98,101,108,111,119,41,44,32,98,101,105,110,103,32,115,121,110,99,104,114,111,110,111,117,115,44,32,97,110,100,32,116,104,97,116,32,116,104,101,32,112,111,114,116,32,100,111,101,115,32>>,{em,[],[<<110,111,116>>]},<<32,114,101,112,108,121,32,119,105,116,104,32>>,{code,[],[<<123,80,111,114,116,44,32,99,108,111,115,101,100,125>>]},<<46,32,65,110,121,32,112,114,111,99,101,115,115,32,99,97,110,32,99,108,111,115,101,32,97,32,112,111,114,116,32,119,105,116,104,32>>,{code,[],[<<112,111,114,116,95,99,108,111,115,101,47,49>>]},<<44,32,110,111,116,32,111,110,108,121,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,32,40,116,104,101,32,99,111,110,110,101,99,116,101,100,32,112,114,111,99,101,115,115,41,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,99,108,111,115,101,47,49>>]},<<32,114,101,116,117,114,110,115,46>>]},{p,[],[<<70,111,114,32,99,111,109,112,97,114,105,115,111,110,58,32>>,{code,[],[<<80,111,114,116,32,33,32,123,115,101,108,102,40,41,44,32,99,108,111,115,101,125>>]},<<32,111,110,108,121,32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,100,111,101,115,32,110,111,116,32,114,101,102,101,114,32,116,111,32,97,32,112,111,114,116,32,111,114,32,97,32,112,114,111,99,101,115,115,46,32,73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,97,32,99,108,111,115,101,100,32,112,111,114,116,44,32,110,111,116,104,105,110,103,32,104,97,112,112,101,110,115,46,32,73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,97,110,32,111,112,101,110,32,112,111,114,116,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,44,32,116,104,101,32,112,111,114,116,32,114,101,112,108,105,101,115,32,119,105,116,104,32>>,{code,[],[<<123,80,111,114,116,44,32,99,108,111,115,101,100,125>>]},<<32,119,104,101,110,32,97,108,108,32,98,117,102,102,101,114,115,32,104,97,118,101,32,98,101,101,110,32,102,108,117,115,104,101,100,32,97,110,100,32,116,104,101,32,112,111,114,116,32,114,101,97,108,108,121,32,99,108,111,115,101,115,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,44,32,116,104,101,32>>,{em,[],[<<112,111,114,116,32,111,119,110,101,114>>]},<<32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,115,105,103>>]},<<46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,110,121,32,112,114,111,99,101,115,115,32,99,97,110,32,99,108,111,115,101,32,97,32,112,111,114,116,32,117,115,105,110,103,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,99,108,111,115,101,125>>]},<<32,97,115,32,105,102,32,105,116,32,105,116,115,101,108,102,32,119,97,115,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,44,32,98,117,116,32,116,104,101,32,114,101,112,108,121,32,97,108,119,97,121,115,32,103,111,101,115,32,116,111,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,46>>]},{p,[],[<<65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,49,54,44,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,99,108,111,115,101,125>>]},<<32,105,115,32,116,114,117,108,121,32,97,115,121,110,99,104,114,111,110,111,117,115,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,105,115,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,97,108,119,97,121,115,32,98,101,101,110,32,100,111,99,117,109,101,110,116,101,100,32,97,115,32,97,110,32,97,115,121,110,99,104,114,111,110,111,117,115,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,108,101,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,115,121,110,99,104,114,111,110,111,117,115,46,32>>,{code,[],[<<112,111,114,116,95,99,108,111,115,101,47,49>>]},<<32,105,115,32,104,111,119,101,118,101,114,32,115,116,105,108,108,32,102,117,108,108,121,32,115,121,110,99,104,114,111,110,111,117,115,32,98,101,99,97,117,115,101,32,111,102,32,105,116,115,32,101,114,114,111,114,32,98,101,104,97,118,105,111,114,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,110,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,44,32,111,114,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,99,108,111,115,101,100,32,112,111,114,116,44,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,116,104,105,115,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46>>]}]},#{signature => [{attribute,{3840,2},spec,{{port_close,1},[{type,{3840,17},bounded_fun,[{type,{3840,17},'fun',[{type,{3840,17},product,[{var,{3840,18},'Port'}]},{atom,{3840,27},true}]},[{type,{3841,7},constraint,[{atom,{3841,7},is_subtype},[{var,{3841,7},'Port'},{type,{3841,15},union,[{type,{3841,15},port,[]},{type,{3841,24},atom,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,55,52,48>>}},{{function,port_command,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3798}],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,110,100,115,32,100,97,116,97,32,116,111,32,97,32,112,111,114,116,46,32,83,97,109,101,32,97,115,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,123,99,111,109,109,97,110,100,44,32,68,97,116,97,125,125>>]},<<32,101,120,99,101,112,116,32,102,111,114,32,116,104,101,32,101,114,114,111,114,32,98,101,104,97,118,105,111,114,32,97,110,100,32,98,101,105,110,103,32,115,121,110,99,104,114,111,110,111,117,115,32,40,115,101,101,32,98,101,108,111,119,41,46,32,65,110,121,32,112,114,111,99,101,115,115,32,99,97,110,32,115,101,110,100,32,100,97,116,97,32,116,111,32,97,32,112,111,114,116,32,119,105,116,104,32>>,{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,50>>]},<<44,32,110,111,116,32,111,110,108,121,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,32,40,116,104,101,32,99,111,110,110,101,99,116,101,100,32,112,114,111,99,101,115,115,41,46>>]},{p,[],[<<70,111,114,32,99,111,109,112,97,114,105,115,111,110,58,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,123,99,111,109,109,97,110,100,44,32,68,97,116,97,125,125>>]},<<32,111,110,108,121,32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,100,111,101,115,32,110,111,116,32,114,101,102,101,114,32,116,111,32,97,32,112,111,114,116,32,111,114,32,97,32,112,114,111,99,101,115,115,46,32,73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,97,32,99,108,111,115,101,100,32,112,111,114,116,44,32,116,104,101,32,100,97,116,97,32,109,101,115,115,97,103,101,32,100,105,115,97,112,112,101,97,114,115,32,119,105,116,104,111,117,116,32,97,32,115,111,117,110,100,46,32,73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,111,112,101,110,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,44,32,116,104,101,32>>,{em,[],[<<112,111,114,116,32,111,119,110,101,114>>]},<<32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,115,105,103>>]},<<46,32,84,104,101,32,112,111,114,116,32,111,119,110,101,114,32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,115,105,103>>]},<<32,97,108,115,111,32,105,102,32>>,{code,[],[<<68,97,116,97>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,73,47,79,32,108,105,115,116,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,110,121,32,112,114,111,99,101,115,115,32,99,97,110,32,115,101,110,100,32,116,111,32,97,32,112,111,114,116,32,117,115,105,110,103,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,123,99,111,109,109,97,110,100,44,32,68,97,116,97,125,125>>]},<<32,97,115,32,105,102,32,105,116,32,105,116,115,101,108,102,32,119,97,115,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,98,117,115,121,44,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,115,117,115,112,101,110,100,101,100,32,117,110,116,105,108,32,116,104,101,32,112,111,114,116,32,105,115,32,110,111,116,32,98,117,115,121,32,97,110,121,32,109,111,114,101,46>>]},{p,[],[<<65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,49,54,44,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,123,99,111,109,109,97,110,100,44,32,68,97,116,97,125,125>>]},<<32,105,115,32,116,114,117,108,121,32,97,115,121,110,99,104,114,111,110,111,117,115,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,105,115,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,97,108,119,97,121,115,32,98,101,101,110,32,100,111,99,117,109,101,110,116,101,100,32,97,115,32,97,110,32,97,115,121,110,99,104,114,111,110,111,117,115,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,108,101,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,115,121,110,99,104,114,111,110,111,117,115,46,32>>,{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,50>>]},<<32,105,115,32,104,111,119,101,118,101,114,32,115,116,105,108,108,32,102,117,108,108,121,32,115,121,110,99,104,114,111,110,111,117,115,32,98,101,99,97,117,115,101,32,111,102,32,105,116,115,32,101,114,114,111,114,32,98,101,104,97,118,105,111,114,46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[{p,[],[<<73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,110,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,44,32,111,114,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,99,108,111,115,101,100,32,112,111,114,116,44,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,116,104,105,115,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46>>]}]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[{p,[],[<<73,102,32>>,{code,[],[<<68,97,116,97>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,73,47,79,32,108,105,115,116,46>>]}]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<68,111,32,110,111,116,32,115,101,110,100,32,100,97,116,97,32,116,111,32,97,110,32,117,110,107,110,111,119,110,32,112,111,114,116,46,32,65,110,121,32,117,110,100,101,102,105,110,101,100,32,98,101,104,97,118,105,111,114,32,105,115,32,112,111,115,115,105,98,108,101,32,40,105,110,99,108,117,100,105,110,103,32,110,111,100,101,32,99,114,97,115,104,41,32,100,101,112,101,110,100,105,110,103,32,111,110,32,104,111,119,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,105,110,116,101,114,112,114,101,116,115,32,116,104,101,32,100,97,116,97,46>>]}]}]},#{signature => [{attribute,{3798,2},spec,{{port_command,2},[{type,{3798,19},bounded_fun,[{type,{3798,19},'fun',[{type,{3798,19},product,[{var,{3798,20},'Port'},{var,{3798,26},'Data'}]},{atom,{3798,35},true}]},[{type,{3799,7},constraint,[{atom,{3799,7},is_subtype},[{var,{3799,7},'Port'},{type,{3799,15},union,[{type,{3799,15},port,[]},{type,{3799,24},atom,[]}]}]]},{type,{3800,7},constraint,[{atom,{3800,7},is_subtype},[{var,{3800,7},'Data'},{type,{3800,15},iodata,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,55,56,48>>}},{{function,port_command,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3811}],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,51>>],#{<<101,110>> => [{p,[],[<<83,101,110,100,115,32,100,97,116,97,32,116,111,32,97,32,112,111,114,116,46,32>>,{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,40,80,111,114,116,44,32,68,97,116,97,44,32,91,93,41>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,40,80,111,114,116,44,32,68,97,116,97,41>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,99,111,109,109,97,110,100,32,105,115,32,97,98,111,114,116,101,100,44,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<116,114,117,101>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,98,117,115,121,44,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,115,117,115,112,101,110,100,101,100,32,117,110,116,105,108,32,116,104,101,32,112,111,114,116,32,105,115,32,110,111,116,32,98,117,115,121,32,97,110,121,109,111,114,101,46>>]},{p,[],[{code,[],[<<79,112,116,105,111,110>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<102,111,114,99,101>>]}]},{dd,[],[<<84,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,115,117,115,112,101,110,100,101,100,32,105,102,32,116,104,101,32,112,111,114,116,32,105,115,32,98,117,115,121,44,32,105,110,115,116,101,97,100,32,116,104,101,32,112,111,114,116,32,99,111,109,109,97,110,100,32,105,115,32,102,111,114,99,101,100,32,116,104,114,111,117,103,104,46,32,84,104,101,32,99,97,108,108,32,102,97,105,108,115,32,119,105,116,104,32,97,32>>,{code,[],[<<110,111,116,115,117,112>>]},<<32,101,120,99,101,112,116,105,111,110,32,105,102,32,116,104,101,32,100,114,105,118,101,114,32,111,102,32,116,104,101,32,112,111,114,116,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,116,104,105,115,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,100,114,105,118,101,114,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,100,114,105,118,101,114,95,101,110,116,114,121,35,100,114,105,118,101,114,95,102,108,97,103,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<69,82,76,95,68,82,86,95,70,76,65,71,95,83,79,70,84,95,66,85,83,89>>]}]},<<46>>]},{dt,[],[{code,[],[<<110,111,115,117,115,112,101,110,100>>]}]},{dd,[],[<<84,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,115,117,115,112,101,110,100,101,100,32,105,102,32,116,104,101,32,112,111,114,116,32,105,115,32,98,117,115,121,44,32,105,110,115,116,101,97,100,32,116,104,101,32,112,111,114,116,32,99,111,109,109,97,110,100,32,105,115,32,97,98,111,114,116,101,100,32,97,110,100,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<77,111,114,101,32,111,112,116,105,111,110,115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,110,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,44,32,111,114,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,99,108,111,115,101,100,32,112,111,114,116,44,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,116,104,105,115,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<68,97,116,97>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,73,47,79,32,108,105,115,116,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,116,105,111,110,76,105,115,116>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,111,112,116,105,111,110,32,108,105,115,116,46>>]},{dt,[],[{code,[],[<<110,111,116,115,117,112>>]}]},{dd,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<102,111,114,99,101>>]},<<32,104,97,115,32,98,101,101,110,32,112,97,115,115,101,100,44,32,98,117,116,32,116,104,101,32,100,114,105,118,101,114,32,111,102,32,116,104,101,32,112,111,114,116,32,100,111,101,115,32,110,111,116,32,97,108,108,111,119,32,102,111,114,99,105,110,103,32,116,104,114,111,117,103,104,32,97,32,98,117,115,121,32,112,111,114,116,46>>]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<68,111,32,110,111,116,32,115,101,110,100,32,100,97,116,97,32,116,111,32,97,110,32,117,110,107,110,111,119,110,32,112,111,114,116,46,32,65,110,121,32,117,110,100,101,102,105,110,101,100,32,98,101,104,97,118,105,111,114,32,105,115,32,112,111,115,115,105,98,108,101,32,40,105,110,99,108,117,100,105,110,103,32,110,111,100,101,32,99,114,97,115,104,41,32,100,101,112,101,110,100,105,110,103,32,111,110,32,104,111,119,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,105,110,116,101,114,112,114,101,116,115,32,116,104,101,32,100,97,116,97,46>>]}]}]},#{signature => [{attribute,{3811,2},spec,{{port_command,3},[{type,{3811,19},bounded_fun,[{type,{3811,19},'fun',[{type,{3811,19},product,[{var,{3811,20},'Port'},{var,{3811,26},'Data'},{var,{3811,32},'OptionList'}]},{type,{3811,47},boolean,[]}]},[{type,{3812,7},constraint,[{atom,{3812,7},is_subtype},[{var,{3812,7},'Port'},{type,{3812,15},union,[{type,{3812,15},port,[]},{type,{3812,24},atom,[]}]}]]},{type,{3813,7},constraint,[{atom,{3813,7},is_subtype},[{var,{3813,7},'Data'},{type,{3813,15},iodata,[]}]]},{type,{3814,7},constraint,[{atom,{3814,7},is_subtype},[{var,{3814,7},'Option'},{type,{3814,17},union,[{atom,{3814,17},force},{atom,{3814,25},nosuspend}]}]]},{type,{3815,7},constraint,[{atom,{3815,7},is_subtype},[{var,{3815,7},'OptionList'},{type,{3815,21},list,[{var,{3815,22},'Option'}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,56,51,50>>}},{{function,port_connect,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3827}],[<<112,111,114,116,95,99,111,110,110,101,99,116,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,32,40,116,104,101,32,99,111,110,110,101,99,116,101,100,32,112,111,114,116,41,32,116,111,32>>,{code,[],[<<80,105,100>>]},<<46,32,82,111,117,103,104,108,121,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<80,111,114,116,32,33,32,123,79,119,110,101,114,44,32,123,99,111,110,110,101,99,116,44,32,80,105,100,125,125>>]},<<32,101,120,99,101,112,116,32,102,111,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{ul,[],[{li,[],[{p,[],[<<84,104,101,32,101,114,114,111,114,32,98,101,104,97,118,105,111,114,32,100,105,102,102,101,114,115,44,32,115,101,101,32,98,101,108,111,119,46>>]}]},{li,[],[{p,[],[<<84,104,101,32,112,111,114,116,32,100,111,101,115,32>>,{em,[],[<<110,111,116>>]},<<32,114,101,112,108,121,32,119,105,116,104,32>>,{code,[],[<<123,80,111,114,116,44,99,111,110,110,101,99,116,101,100,125>>]},<<46>>]}]},{li,[],[{p,[],[{code,[],[<<112,111,114,116,95,99,111,110,110,101,99,116,47,49>>]},<<32,105,115,32,115,121,110,99,104,114,111,110,111,117,115,44,32,115,101,101,32,98,101,108,111,119,46>>]}]},{li,[],[{p,[],[<<84,104,101,32,110,101,119,32,112,111,114,116,32,111,119,110,101,114,32,103,101,116,115,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,46>>]}]}]},{p,[],[<<84,104,101,32,111,108,100,32,112,111,114,116,32,111,119,110,101,114,32,115,116,97,121,115,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,32,97,110,100,32,109,117,115,116,32,99,97,108,108,32>>,{code,[],[<<117,110,108,105,110,107,40,80,111,114,116,41>>]},<<32,105,102,32,116,104,105,115,32,105,115,32,110,111,116,32,100,101,115,105,114,101,100,46,32,65,110,121,32,112,114,111,99,101,115,115,32,99,97,110,32,115,101,116,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,32,116,111,32,98,101,32,97,110,121,32,112,114,111,99,101,115,115,32,119,105,116,104,32>>,{code,[],[<<112,111,114,116,95,99,111,110,110,101,99,116,47,50>>]},<<46>>]},{p,[],[<<70,111,114,32,99,111,109,112,97,114,105,115,111,110,58,32>>,{code,[],[<<80,111,114,116,32,33,32,123,115,101,108,102,40,41,44,32,123,99,111,110,110,101,99,116,44,32,80,105,100,125,125>>]},<<32,111,110,108,121,32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,100,111,101,115,32,110,111,116,32,114,101,102,101,114,32,116,111,32,97,32,112,111,114,116,32,111,114,32,97,32,112,114,111,99,101,115,115,46,32,73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,97,32,99,108,111,115,101,100,32,112,111,114,116,44,32,110,111,116,104,105,110,103,32,104,97,112,112,101,110,115,46,32,73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,97,110,32,111,112,101,110,32,112,111,114,116,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,44,32,116,104,101,32,112,111,114,116,32,114,101,112,108,105,101,115,32,119,105,116,104,32>>,{code,[],[<<123,80,111,114,116,44,32,99,111,110,110,101,99,116,101,100,125>>]},<<32,116,111,32,116,104,101,32,111,108,100,32,112,111,114,116,32,111,119,110,101,114,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,111,108,100,32,112,111,114,116,32,111,119,110,101,114,32,105,115,32,115,116,105,108,108,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,119,104,105,108,101,32,116,104,101,32,110,101,119,32,105,115,32,110,111,116,46,32,73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,97,110,32,111,112,101,110,32,112,111,114,116,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,44,32,116,104,101,32>>,{em,[],[<<112,111,114,116,32,111,119,110,101,114>>]},<<32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,115,105,103>>]},<<46,32,84,104,101,32,112,111,114,116,32,111,119,110,101,114,32,102,97,105,108,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,115,105,103>>]},<<32,97,108,115,111,32,105,102,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,110,111,116,32,97,110,32,101,120,105,115,116,105,110,103,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,110,121,32,112,114,111,99,101,115,115,32,99,97,110,32,115,101,116,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,32,117,115,105,110,103,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,123,99,111,110,110,101,99,116,44,32,80,105,100,125,125>>]},<<32,97,115,32,105,102,32,105,116,32,105,116,115,101,108,102,32,119,97,115,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,44,32,98,117,116,32,116,104,101,32,114,101,112,108,121,32,97,108,119,97,121,115,32,103,111,101,115,32,116,111,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,46>>]},{p,[],[<<65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,49,54,44,32>>,{code,[],[<<80,111,114,116,32,33,32,123,80,111,114,116,79,119,110,101,114,44,32,123,99,111,110,110,101,99,116,44,32,80,105,100,125,125>>]},<<32,105,115,32,116,114,117,108,121,32,97,115,121,110,99,104,114,111,110,111,117,115,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,105,115,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,97,108,119,97,121,115,32,98,101,101,110,32,100,111,99,117,109,101,110,116,101,100,32,97,115,32,97,110,32,97,115,121,110,99,104,114,111,110,111,117,115,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,108,101,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,115,121,110,99,104,114,111,110,111,117,115,46,32>>,{code,[],[<<112,111,114,116,95,99,111,110,110,101,99,116,47,50>>]},<<32,105,115,32,104,111,119,101,118,101,114,32,115,116,105,108,108,32,102,117,108,108,121,32,115,121,110,99,104,114,111,110,111,117,115,32,98,101,99,97,117,115,101,32,111,102,32,105,116,115,32,101,114,114,111,114,32,98,101,104,97,118,105,111,114,46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,110,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,44,32,111,114,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,99,108,111,115,101,100,32,112,111,114,116,44,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,116,104,105,115,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,111,99,99,117,114,115,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,110,111,116,32,97,110,32,101,120,105,115,116,105,110,103,32,108,111,99,97,108,32,112,114,111,99,101,115,115,46>>]}]}]},#{signature => [{attribute,{3827,2},spec,{{port_connect,2},[{type,{3827,19},bounded_fun,[{type,{3827,19},'fun',[{type,{3827,19},product,[{var,{3827,20},'Port'},{var,{3827,26},'Pid'}]},{atom,{3827,34},true}]},[{type,{3828,7},constraint,[{atom,{3828,7},is_subtype},[{var,{3828,7},'Port'},{type,{3828,15},union,[{type,{3828,15},port,[]},{type,{3828,24},atom,[]}]}]]},{type,{3829,7},constraint,[{atom,{3829,7},is_subtype},[{var,{3829,7},'Pid'},{type,{3829,14},pid,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,56,57,54>>}},{{function,port_control,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3852}],[<<112,111,114,116,95,99,111,110,116,114,111,108,47,51>>],#{<<101,110>> => [{p,[],[<<80,101,114,102,111,114,109,115,32,97,32,115,121,110,99,104,114,111,110,111,117,115,32,99,111,110,116,114,111,108,32,111,112,101,114,97,116,105,111,110,32,111,110,32,97,32,112,111,114,116,46,32,84,104,101,32,109,101,97,110,105,110,103,32,111,102,32>>,{code,[],[<<79,112,101,114,97,116,105,111,110>>]},<<32,97,110,100,32>>,{code,[],[<<68,97,116,97>>]},<<32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,112,111,114,116,44,32,116,104,97,116,32,105,115,44,32,111,110,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,46,32,78,111,116,32,97,108,108,32,112,111,114,116,32,100,114,105,118,101,114,115,32,115,117,112,112,111,114,116,32,116,104,105,115,32,99,111,110,116,114,111,108,32,102,101,97,116,117,114,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,105,110,116,101,103,101,114,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32,48,46,46,50,53,53,44,32,111,114,32,97,32,98,105,110,97,114,121,44,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,46,32,84,104,101,32,109,101,97,110,105,110,103,32,111,102,32,116,104,101,32,114,101,116,117,114,110,101,100,32,100,97,116,97,32,97,108,115,111,32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,110,32,111,112,101,110,32,112,111,114,116,32,111,114,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,97,110,32,111,112,101,110,32,112,111,114,116,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,101,114,97,116,105,111,110>>]},<<32,99,97,110,110,111,116,32,102,105,116,32,105,110,32,97,32,51,50,45,98,105,116,32,105,110,116,101,103,101,114,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,115,121,110,99,104,114,111,110,111,117,115,32,99,111,110,116,114,111,108,32,111,112,101,114,97,116,105,111,110,115,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,115,111,32,100,101,99,105,100,101,115,32,102,111,114,32,97,110,121,32,114,101,97,115,111,110,32,40,112,114,111,98,97,98,108,121,32,115,111,109,101,116,104,105,110,103,32,119,114,111,110,103,32,119,105,116,104,32>>,{code,[],[<<79,112,101,114,97,116,105,111,110>>]},<<32,111,114,32>>,{code,[],[<<68,97,116,97>>]},<<41,46>>,{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<68,111,32,110,111,116,32,99,97,108,108,32>>,{code,[],[<<112,111,114,116,95,99,111,110,116,114,111,108,47,51>>]},<<32,119,105,116,104,32,97,110,32,117,110,107,110,111,119,110,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,100,101,110,116,105,102,105,101,114,32,97,110,100,32,101,120,112,101,99,116,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,46,32,65,110,121,32,117,110,100,101,102,105,110,101,100,32,98,101,104,97,118,105,111,114,32,105,115,32,112,111,115,115,105,98,108,101,32,40,105,110,99,108,117,100,105,110,103,32,110,111,100,101,32,99,114,97,115,104,41,32,100,101,112,101,110,100,105,110,103,32,111,110,32,104,111,119,32,116,104,101,32,112,111,114,116,32,100,114,105,118,101,114,32,105,110,116,101,114,112,114,101,116,115,32,116,104,101,32,115,117,112,112,108,105,101,100,32,97,114,103,117,109,101,110,116,115,46>>]}]}]}]}]},#{signature => [{attribute,{3852,2},spec,{{port_control,3},[{type,{3852,19},bounded_fun,[{type,{3852,19},'fun',[{type,{3852,19},product,[{var,{3852,20},'Port'},{var,{3852,26},'Operation'},{var,{3852,37},'Data'}]},{type,{3852,46},union,[{type,{3852,46},iodata,[]},{type,{3852,57},binary,[]}]}]},[{type,{3853,7},constraint,[{atom,{3853,7},is_subtype},[{var,{3853,7},'Port'},{type,{3853,15},union,[{type,{3853,15},port,[]},{type,{3853,24},atom,[]}]}]]},{type,{3854,7},constraint,[{atom,{3854,7},is_subtype},[{var,{3854,7},'Operation'},{type,{3854,20},integer,[]}]]},{type,{3855,7},constraint,[{atom,{3855,7},is_subtype},[{var,{3855,7},'Data'},{type,{3855,15},iodata,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,53,57,54,53>>}},{{function,port_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3893}],[<<112,111,114,116,95,105,110,102,111,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,116,117,112,108,101,115,32,119,105,116,104,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32>>,{code,[],[<<80,111,114,116>>]},<<44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,112,111,114,116,32,105,115,32,110,111,116,32,111,112,101,110,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,116,117,112,108,101,115,32,105,115,32,117,110,100,101,102,105,110,101,100,44,32,97,110,100,32,97,108,108,32,116,104,101,32,116,117,112,108,101,115,32,97,114,101,32,110,111,116,32,109,97,110,100,97,116,111,114,121,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,49>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<84,104,101,32,114,101,115,117,108,116,32,99,111,110,116,97,105,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32>>,{code,[],[<<73,116,101,109>>]},<<115,58>>]},{ul,[],[{li,[],[{code,[],[<<114,101,103,105,115,116,101,114,101,100,95,110,97,109,101>>]},<<32,40,105,102,32,116,104,101,32,112,111,114,116,32,104,97,115,32,97,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,41>>]},{li,[],[{code,[],[<<105,100>>]}]},{li,[],[{code,[],[<<99,111,110,110,101,99,116,101,100>>]}]},{li,[],[{code,[],[<<108,105,110,107,115>>]}]},{li,[],[{code,[],[<<110,97,109,101>>]}]},{li,[],[{code,[],[<<105,110,112,117,116>>]}]},{li,[],[{code,[],[<<111,117,116,112,117,116>>]}]}]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,100,105,102,102,101,114,101,110,116,32>>,{code,[],[<<73,116,101,109>>]},<<115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,111,114,116,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]}]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{3893,2},spec,{{erlang,port_info,1},[{type,{3893,23},bounded_fun,[{type,{3893,23},'fun',[{type,{3893,23},product,[{var,{3893,24},'Port'}]},{var,{3893,33},'Result'}]},[{type,{3894,7},constraint,[{atom,{3894,7},is_subtype},[{var,{3894,7},'Port'},{type,{3894,15},union,[{type,{3894,15},port,[]},{type,{3894,24},atom,[]}]}]]},{type,{3895,7},constraint,[{atom,{3895,7},is_subtype},[{var,{3895,7},'ResultItem'},{type,{3895,21},union,[{type,{3895,21},tuple,[{atom,{3895,22},registered_name},{ann_type,{3895,39},[{var,{3895,39},'RegisteredName'},{type,{3895,57},atom,[]}]}]},{type,{3896,7},tuple,[{atom,{3896,8},id},{ann_type,{3896,12},[{var,{3896,12},'Index'},{type,{3896,21},non_neg_integer,[]}]}]},{type,{3897,7},tuple,[{atom,{3897,8},connected},{ann_type,{3897,19},[{var,{3897,19},'Pid'},{type,{3897,26},pid,[]}]}]},{type,{3898,7},tuple,[{atom,{3898,8},links},{ann_type,{3898,15},[{var,{3898,15},'Pids'},{type,{3898,23},list,[{type,{3898,24},pid,[]}]}]}]},{type,{3899,7},tuple,[{atom,{3899,8},name},{ann_type,{3899,14},[{var,{3899,14},'String'},{type,{3899,24},string,[]}]}]},{type,{3900,7},tuple,[{atom,{3900,8},input},{ann_type,{3900,15},[{var,{3900,15},'Bytes'},{type,{3900,24},non_neg_integer,[]}]}]},{type,{3901,7},tuple,[{atom,{3901,8},output},{ann_type,{3901,16},[{var,{3901,16},'Bytes'},{type,{3901,25},non_neg_integer,[]}]}]},{type,{3902,7},tuple,[{atom,{3902,8},os_pid},{ann_type,{3902,16},[{var,{3902,16},'OsPid'},{type,{3902,25},union,[{type,{3902,25},non_neg_integer,[]},{atom,{3902,45},undefined}]}]}]}]}]]},{type,{3903,7},constraint,[{atom,{3903,7},is_subtype},[{var,{3903,7},'Result'},{type,{3903,17},union,[{type,{3903,17},list,[{var,{3903,18},'ResultItem'}]},{atom,{3903,32},undefined}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,48,48,57>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3914}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,99,111,110,110,101,99,116,101,100,32,116,111,32,116,104,101,32,112,111,114,116,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{3914,2},spec,{{erlang,port_info,2},[{type,{3914,23},bounded_fun,[{type,{3914,23},'fun',[{type,{3914,23},product,[{var,{3914,24},'Port'},{atom,{3914,30},connected}]},{type,{3914,44},union,[{type,{3914,44},tuple,[{atom,{3914,45},connected},{var,{3914,56},'Pid'}]},{atom,{3914,63},undefined}]}]},[{type,{3915,7},constraint,[{atom,{3915,7},is_subtype},[{var,{3915,7},'Port'},{type,{3915,15},union,[{type,{3915,15},port,[]},{type,{3915,24},atom,[]}]}]]},{type,{3916,7},constraint,[{atom,{3916,7},is_subtype},[{var,{3916,7},'Pid'},{type,{3916,14},pid,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,48,52,48>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3914}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<73,110,100,101,120>>]},<<32,105,115,32,116,104,101,32,105,110,116,101,114,110,97,108,32,105,110,100,101,120,32,111,102,32,116,104,101,32,112,111,114,116,46,32,84,104,105,115,32,105,110,100,101,120,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,115,101,112,97,114,97,116,101,32,112,111,114,116,115,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{3914,2},spec,{{erlang,port_info,2},[{type,{3917,9},bounded_fun,[{type,{3917,9},'fun',[{type,{3917,9},product,[{var,{3917,10},'Port'},{atom,{3917,16},id}]},{type,{3917,23},union,[{type,{3917,23},tuple,[{atom,{3917,24},id},{var,{3917,28},'Index'}]},{atom,{3917,37},undefined}]}]},[{type,{3918,7},constraint,[{atom,{3918,7},is_subtype},[{var,{3918,7},'Port'},{type,{3918,15},union,[{type,{3918,15},port,[]},{type,{3918,24},atom,[]}]}]]},{type,{3919,7},constraint,[{atom,{3919,7},is_subtype},[{var,{3919,7},'Index'},{type,{3919,16},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,48,53,54>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3914}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<66,121,116,101,115>>]},<<32,105,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,114,101,97,100,32,102,114,111,109,32,116,104,101,32,112,111,114,116,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{3914,2},spec,{{erlang,port_info,2},[{type,{3920,9},bounded_fun,[{type,{3920,9},'fun',[{type,{3920,9},product,[{var,{3920,10},'Port'},{atom,{3920,16},input}]},{type,{3920,26},union,[{type,{3920,26},tuple,[{atom,{3920,27},input},{var,{3920,34},'Bytes'}]},{atom,{3920,43},undefined}]}]},[{type,{3921,7},constraint,[{atom,{3921,7},is_subtype},[{var,{3921,7},'Port'},{type,{3921,15},union,[{type,{3921,15},port,[]},{type,{3921,24},atom,[]}]}]]},{type,{3922,7},constraint,[{atom,{3922,7},is_subtype},[{var,{3922,7},'Bytes'},{type,{3922,16},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,48,55,50>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3914}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<80,105,100,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,115,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,116,104,101,32,112,111,114,116,32,105,115,32,108,105,110,107,101,100,32,116,111,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{3914,2},spec,{{erlang,port_info,2},[{type,{3923,9},bounded_fun,[{type,{3923,9},'fun',[{type,{3923,9},product,[{var,{3923,10},'Port'},{atom,{3923,16},links}]},{type,{3923,26},union,[{type,{3923,26},tuple,[{atom,{3923,27},links},{var,{3923,34},'Pids'}]},{atom,{3923,42},undefined}]}]},[{type,{3924,7},constraint,[{atom,{3924,7},is_subtype},[{var,{3924,7},'Port'},{type,{3924,15},union,[{type,{3924,15},port,[]},{type,{3924,24},atom,[]}]}]]},{type,{3925,7},constraint,[{atom,{3925,7},is_subtype},[{var,{3925,7},'Pids'},{type,{3925,15},list,[{type,{3925,16},pid,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,48,56,56>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3914}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<76,111,99,107,105,110,103>>]},<<32,105,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{ul,[],[{li,[],[{code,[],[<<112,111,114,116,95,108,101,118,101,108>>]},<<32,40,112,111,114,116,45,115,112,101,99,105,102,105,99,32,108,111,99,107,105,110,103,41>>]},{li,[],[{code,[],[<<100,114,105,118,101,114,95,108,101,118,101,108>>]},<<32,40,100,114,105,118,101,114,45,115,112,101,99,105,102,105,99,32,108,111,99,107,105,110,103,41>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,115,101,32,114,101,115,117,108,116,115,32,97,114,101,32,104,105,103,104,108,121,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,45,115,112,101,99,105,102,105,99,32,97,110,100,32,99,97,110,32,99,104,97,110,103,101,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{3914,2},spec,{{erlang,port_info,2},[{type,{3926,9},bounded_fun,[{type,{3926,9},'fun',[{type,{3926,9},product,[{var,{3926,10},'Port'},{atom,{3926,16},locking}]},{type,{3926,28},union,[{type,{3926,28},tuple,[{atom,{3926,29},locking},{var,{3926,38},'Locking'}]},{atom,{3926,49},undefined}]}]},[{type,{3927,7},constraint,[{atom,{3927,7},is_subtype},[{var,{3927,7},'Port'},{type,{3927,15},union,[{type,{3927,15},port,[]},{type,{3927,24},atom,[]}]}]]},{type,{3928,7},constraint,[{atom,{3928,7},is_subtype},[{var,{3928,7},'Locking'},{type,{3928,18},union,[{atom,{3928,18},false},{atom,{3928,28},port_level},{atom,{3928,43},driver_level}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,49,48,52>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3914}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{a,[{id,<<112,111,114,116,95,105,110,102,111,95,109,101,109,111,114,121>>}],[]},{p,[],[{code,[],[<<66,121,116,101,115>>]},<<32,105,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,116,104,105,115,32,112,111,114,116,32,98,121,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,84,104,101,32,112,111,114,116,32,105,116,115,101,108,102,32,99,97,110,32,104,97,118,101,32,97,108,108,111,99,97,116,101,100,32,109,101,109,111,114,121,32,116,104,97,116,32,105,115,32,110,111,116,32,105,110,99,108,117,100,101,100,32,105,110,32>>,{code,[],[<<66,121,116,101,115>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{3914,2},spec,{{erlang,port_info,2},[{type,{3929,9},bounded_fun,[{type,{3929,9},'fun',[{type,{3929,9},product,[{var,{3929,10},'Port'},{atom,{3929,16},memory}]},{type,{3929,27},union,[{type,{3929,27},tuple,[{atom,{3929,28},memory},{var,{3929,36},'Bytes'}]},{atom,{3929,45},undefined}]}]},[{type,{3930,7},constraint,[{atom,{3930,7},is_subtype},[{var,{3930,7},'Port'},{type,{3930,15},union,[{type,{3930,15},port,[]},{type,{3930,24},atom,[]}]}]]},{type,{3931,7},constraint,[{atom,{3931,7},is_subtype},[{var,{3931,7},'Bytes'},{type,{3931,16},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,49,50,53>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3914}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<77,111,110,105,116,111,114,115>>]},<<32,114,101,112,114,101,115,101,110,116,32,112,114,111,99,101,115,115,101,115,32,109,111,110,105,116,111,114,101,100,32,98,121,32,116,104,105,115,32,112,111,114,116,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{3914,2},spec,{{erlang,port_info,2},[{type,{3932,9},bounded_fun,[{type,{3932,9},'fun',[{type,{3932,9},product,[{var,{3932,10},'Port'},{atom,{3932,16},monitors}]},{type,{3932,29},union,[{type,{3932,29},tuple,[{atom,{3932,30},monitors},{var,{3932,40},'Monitors'}]},{atom,{3932,52},undefined}]}]},[{type,{3933,7},constraint,[{atom,{3933,7},is_subtype},[{var,{3933,7},'Port'},{type,{3933,15},union,[{type,{3933,15},port,[]},{type,{3933,24},atom,[]}]}]]},{type,{3934,7},constraint,[{atom,{3934,7},is_subtype},[{var,{3934,7},'Monitors'},{type,{3934,19},list,[{type,{3934,20},tuple,[{atom,{3934,21},process},{type,{3934,30},pid,[]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,49,52,52>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3914}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,108,105,115,116,32,111,102,32,112,105,100,115,32,116,104,97,116,32,97,114,101,32,109,111,110,105,116,111,114,105,110,103,32,103,105,118,101,110,32,112,111,114,116,32,97,116,32,116,104,101,32,109,111,109,101,110,116,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{3914,2},spec,{{erlang,port_info,2},[{type,{3935,9},bounded_fun,[{type,{3935,9},'fun',[{type,{3935,9},product,[{var,{3935,10},'Port'},{atom,{3935,16},monitored_by}]},{type,{3935,33},union,[{type,{3935,33},tuple,[{atom,{3935,34},monitored_by},{var,{3935,48},'MonitoredBy'}]},{atom,{3935,63},undefined}]}]},[{type,{3936,7},constraint,[{atom,{3936,7},is_subtype},[{var,{3936,7},'Port'},{type,{3936,15},union,[{type,{3936,15},port,[]},{type,{3936,24},atom,[]}]}]]},{type,{3937,7},constraint,[{atom,{3937,7},is_subtype},[{var,{3937,7},'MonitoredBy'},{type,{3937,22},list,[{type,{3937,23},pid,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,49,54,48>>,since => <<79,84,80,32,49,57,46,48>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3914}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<78,97,109,101>>]},<<32,105,115,32,116,104,101,32,99,111,109,109,97,110,100,32,110,97,109,101,32,115,101,116,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,111,112,101,110,95,112,111,114,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,95,112,111,114,116,47,50>>]}]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{3914,2},spec,{{erlang,port_info,2},[{type,{3938,9},bounded_fun,[{type,{3938,9},'fun',[{type,{3938,9},product,[{var,{3938,10},'Port'},{atom,{3938,16},name}]},{type,{3938,25},union,[{type,{3938,25},tuple,[{atom,{3938,26},name},{var,{3938,32},'Name'}]},{atom,{3938,40},undefined}]}]},[{type,{3939,7},constraint,[{atom,{3939,7},is_subtype},[{var,{3939,7},'Port'},{type,{3939,15},union,[{type,{3939,15},port,[]},{type,{3939,24},atom,[]}]}]]},{type,{3940,7},constraint,[{atom,{3940,7},is_subtype},[{var,{3940,7},'Name'},{type,{3940,15},string,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,49,55,54>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3914}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<79,115,80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,111,114,32,101,113,117,105,118,97,108,101,110,116,41,32,111,102,32,97,110,32,79,83,32,112,114,111,99,101,115,115,32,99,114,101,97,116,101,100,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,111,112,101,110,95,112,111,114,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,95,112,111,114,116,40,123,115,112,97,119,110,32,124,32,115,112,97,119,110,95,101,120,101,99,117,116,97,98,108,101,44,32,67,111,109,109,97,110,100,125,44,32,79,112,116,105,111,110,115,41>>]}]},<<46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,110,111,116,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,115,112,97,119,110,105,110,103,32,97,110,32,79,83,32,112,114,111,99,101,115,115,44,32,116,104,101,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{3914,2},spec,{{erlang,port_info,2},[{type,{3941,9},bounded_fun,[{type,{3941,9},'fun',[{type,{3941,9},product,[{var,{3941,10},'Port'},{atom,{3941,16},os_pid}]},{type,{3941,27},union,[{type,{3941,27},tuple,[{atom,{3941,28},os_pid},{var,{3941,36},'OsPid'}]},{atom,{3941,45},undefined}]}]},[{type,{3942,7},constraint,[{atom,{3942,7},is_subtype},[{var,{3942,7},'Port'},{type,{3942,15},union,[{type,{3942,15},port,[]},{type,{3942,24},atom,[]}]}]]},{type,{3943,7},constraint,[{atom,{3943,7},is_subtype},[{var,{3943,7},'OsPid'},{type,{3943,16},union,[{type,{3943,16},non_neg_integer,[]},{atom,{3943,36},undefined}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,49,57,50>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3914}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<66,121,116,101,115>>]},<<32,105,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,119,114,105,116,116,101,110,32,116,111,32,116,104,101,32,112,111,114,116,32,102,114,111,109,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,111,114,116,95,99,111,109,109,97,110,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,50>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,111,114,116,95,99,111,109,109,97,110,100,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,111,114,116,95,99,111,109,109,97,110,100,47,51>>]}]},<<44,32,111,114,32>>,{code,[],[<<80,111,114,116,32,33,32,123,79,119,110,101,114,44,32,123,99,111,109,109,97,110,100,44,32,68,97,116,97,125>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{3914,2},spec,{{erlang,port_info,2},[{type,{3944,9},bounded_fun,[{type,{3944,9},'fun',[{type,{3944,9},product,[{var,{3944,10},'Port'},{atom,{3944,16},output}]},{type,{3944,27},union,[{type,{3944,27},tuple,[{atom,{3944,28},output},{var,{3944,36},'Bytes'}]},{atom,{3944,45},undefined}]}]},[{type,{3945,7},constraint,[{atom,{3945,7},is_subtype},[{var,{3945,7},'Port'},{type,{3945,15},union,[{type,{3945,15},port,[]},{type,{3945,24},atom,[]}]}]]},{type,{3946,7},constraint,[{atom,{3946,7},is_subtype},[{var,{3946,7},'Bytes'},{type,{3946,16},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,50,49,49>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3914}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<66,111,111,108,101,97,110>>]},<<32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,112,111,114,116,32,112,97,114,97,108,108,101,108,105,115,109,32,104,105,110,116,32,117,115,101,100,32,98,121,32,116,104,105,115,32,112,111,114,116,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,111,112,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,111,112,101,110,95,112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,97,114,97,108,108,101,108,105,115,109>>]}]},<<32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,111,112,101,110,95,112,111,114,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,95,112,111,114,116,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{3914,2},spec,{{erlang,port_info,2},[{type,{3947,9},bounded_fun,[{type,{3947,9},'fun',[{type,{3947,9},product,[{var,{3947,10},'Port'},{atom,{3947,16},parallelism}]},{type,{3947,32},union,[{type,{3947,32},tuple,[{atom,{3947,33},parallelism},{var,{3947,46},'Boolean'}]},{atom,{3947,57},undefined}]}]},[{type,{3948,7},constraint,[{atom,{3948,7},is_subtype},[{var,{3948,7},'Port'},{type,{3948,15},union,[{type,{3948,15},port,[]},{type,{3948,24},atom,[]}]}]]},{type,{3949,7},constraint,[{atom,{3949,7},is_subtype},[{var,{3949,7},'Boolean'},{type,{3949,18},boolean,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,50,51,48>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3914}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<66,121,116,101,115>>]},<<32,105,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,113,117,101,117,101,100,32,98,121,32,116,104,101,32,112,111,114,116,32,117,115,105,110,103,32,116,104,101,32,69,82,84,83,32,100,114,105,118,101,114,32,113,117,101,117,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{3914,2},spec,{{erlang,port_info,2},[{type,{3950,9},bounded_fun,[{type,{3950,9},'fun',[{type,{3950,9},product,[{var,{3950,10},'Port'},{atom,{3950,16},queue_size}]},{type,{3950,31},union,[{type,{3950,31},tuple,[{atom,{3950,32},queue_size},{var,{3950,44},'Bytes'}]},{atom,{3950,53},undefined}]}]},[{type,{3951,7},constraint,[{atom,{3951,7},is_subtype},[{var,{3951,7},'Port'},{type,{3951,15},union,[{type,{3951,15},port,[]},{type,{3951,24},atom,[]}]}]]},{type,{3952,7},constraint,[{atom,{3952,7},is_subtype},[{var,{3952,7},'Bytes'},{type,{3952,16},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,50,52,49>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,port_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3914}],[<<112,111,114,116,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<82,101,103,105,115,116,101,114,101,100,78,97,109,101>>]},<<32,105,115,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,111,102,32,116,104,101,32,112,111,114,116,46,32,73,102,32,116,104,101,32,112,111,114,116,32,104,97,115,32,110,111,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,44,32>>,{code,[],[<<91,93>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,111,112,101,110,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32,116,104,101,32,112,111,114,116,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,108,105,110,107,101,100,32,116,111,32,116,104,101,32,112,111,114,116,44,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,116,104,101,32,112,111,114,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<112,111,114,116,95,105,110,102,111,47,50>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{3914,2},spec,{{erlang,port_info,2},[{type,{3953,9},bounded_fun,[{type,{3953,9},'fun',[{type,{3953,9},product,[{var,{3953,10},'Port'},{atom,{3953,16},registered_name}]},{type,{3953,36},union,[{type,{3953,36},tuple,[{atom,{3953,37},registered_name},{var,{3953,54},'RegisteredName'}]},{type,{3953,72},nil,[]},{atom,{3953,77},undefined}]}]},[{type,{3954,7},constraint,[{atom,{3954,7},is_subtype},[{var,{3954,7},'Port'},{type,{3954,15},union,[{type,{3954,15},port,[]},{type,{3954,24},atom,[]}]}]]},{type,{3955,7},constraint,[{atom,{3955,7},is_subtype},[{var,{3955,7},'RegisteredName'},{type,{3955,25},atom,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,50,53,56>>}},{{function,port_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1798}],[<<112,111,114,116,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32>>,{code,[],[<<80,111,114,116>>]},<<46>>]}]},#{signature => [{attribute,{1798,2},spec,{{port_to_list,1},[{type,{1798,19},bounded_fun,[{type,{1798,19},'fun',[{type,{1798,19},product,[{var,{1798,20},'Port'}]},{type,{1798,29},string,[]}]},[{type,{1799,7},constraint,[{atom,{1799,7},is_subtype},[{var,{1799,7},'Port'},{type,{1799,15},port,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,50,55,53>>}},{{function,ports,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1804}],[<<112,111,114,116,115,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,97,108,108,32,116,104,101,32,112,111,114,116,115,32,101,120,105,115,116,105,110,103,32,111,110,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,110,32,101,120,105,116,105,110,103,32,112,111,114,116,32,101,120,105,115,116,115,44,32,98,117,116,32,105,115,32,110,111,116,32,111,112,101,110,46>>]}]},#{signature => [{attribute,{1804,2},spec,{{erlang,ports,0},[{type,{1804,19},'fun',[{type,{1804,19},product,[]},{type,{1804,25},list,[{type,{1804,26},port,[]}]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,50,56,52>>}},{{function,pre_loaded,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1950}],[<<112,114,101,95,108,111,97,100,101,100,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,69,114,108,97,110,103,32,109,111,100,117,108,101,115,32,116,104,97,116,32,97,114,101,32,112,114,101,108,111,97,100,101,100,32,105,110,32,116,104,101,32,114,117,110,45,116,105,109,101,32,115,121,115,116,101,109,46,32,80,114,101,45,108,111,97,100,101,100,32,109,111,100,117,108,101,115,32,97,114,101,32,69,114,108,97,110,103,32,109,111,100,117,108,101,115,32,116,104,97,116,32,97,114,101,32,110,101,101,100,101,100,32,116,111,32,98,111,111,116,115,116,114,97,112,32,116,104,101,32,115,121,115,116,101,109,32,116,111,32,108,111,97,100,32,116,104,101,32,102,105,114,115,116,32,69,114,108,97,110,103,32,109,111,100,117,108,101,115,32,102,114,111,109,32,101,105,116,104,101,114,32,100,105,115,107,32,111,114,32,98,121,32,117,115,105,110,103,32>>,{a,[{href,<<107,101,114,110,101,108,58,101,114,108,95,98,111,111,116,95,115,101,114,118,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,95,98,111,111,116,95,115,101,114,118,101,114>>]}]},<<46>>]}]},#{signature => [{attribute,{1950,2},spec,{{pre_loaded,0},[{type,{1950,17},'fun',[{type,{1950,17},product,[]},{type,{1950,23},list,[{type,{1950,24},module,[]}]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,50,57,52>>}},{{function,process_display,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1955}],[<<112,114,111,99,101,115,115,95,100,105,115,112,108,97,121,47,50>>],#{<<101,110>> => [{p,[],[<<87,114,105,116,101,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100>>]},<<32,111,110,32,115,116,97,110,100,97,114,100,32,101,114,114,111,114,46,32,84,104,101,32,111,110,108,121,32,97,108,108,111,119,101,100,32,118,97,108,117,101,32,102,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32>>,{code,[],[<<98,97,99,107,116,114,97,99,101>>]},<<44,32,119,104,105,99,104,32,115,104,111,119,115,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32,116,104,101,32,99,97,108,108,32,115,116,97,99,107,44,32,105,110,99,108,117,100,105,110,103,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,99,97,108,108,32,99,104,97,105,110,44,32,119,105,116,104,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,112,114,105,110,116,101,100,32,102,105,114,115,116,46,32,84,104,101,32,102,111,114,109,97,116,32,111,102,32,116,104,101,32,111,117,116,112,117,116,32,105,115,32,110,111,116,32,102,117,114,116,104,101,114,32,100,101,102,105,110,101,100,46>>]}]},#{signature => [{attribute,{1955,2},spec,{{erlang,process_display,2},[{type,{1955,29},bounded_fun,[{type,{1955,29},'fun',[{type,{1955,29},product,[{var,{1955,30},'Pid'},{var,{1955,35},'Type'}]},{atom,{1955,44},true}]},[{type,{1956,7},constraint,[{atom,{1956,7},is_subtype},[{var,{1956,7},'Pid'},{type,{1956,14},pid,[]}]]},{type,{1957,7},constraint,[{atom,{1957,7},is_subtype},[{var,{1957,7},'Type'},{atom,{1957,15},backtrace}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,51,48,54>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2644}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<69,110,97,98,108,101,32,111,114,32,100,105,115,97,98,108,101,32>>,{i,[],[<<102,117,108,108,121,32,97,115,121,110,99,104,114,111,110,111,117,115,32,100,105,115,116,114,105,98,117,116,101,100,32,115,105,103,110,97,108,105,110,103>>]},<<32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,87,104,101,110,32,100,105,115,97,98,108,101,100,44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,44,32,116,104,101,32,112,114,111,99,101,115,115,32,115,101,110,100,105,110,103,32,97,32,100,105,115,116,114,105,98,117,116,101,100,32,115,105,103,110,97,108,32,119,105,108,108,32,98,108,111,99,107,32,105,110,32,116,104,101,32,115,101,110,100,32,111,112,101,114,97,116,105,111,110,32,105,102,32,116,104,101,32,98,117,102,102,101,114,32,102,111,114,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,114,101,97,99,104,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,122,100,98,98,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<100,105,115,116,114,105,98,117,116,105,111,110,32,98,117,102,102,101,114,32,98,117,115,121,32,108,105,109,105,116>>]},<<46,32,84,104,101,32,112,114,111,99,101,115,115,32,119,105,108,108,32,114,101,109,97,105,110,32,98,108,111,99,107,101,100,32,117,110,116,105,108,32,116,104,101,32,98,117,102,102,101,114,32,115,104,114,105,110,107,115,32,101,110,111,117,103,104,46,32,84,104,105,115,32,109,105,103,104,116,32,105,110,32,115,111,109,101,32,99,97,115,101,115,32,116,97,107,101,32,97,32,115,117,98,115,116,97,110,116,105,97,108,32,97,109,111,117,110,116,32,111,102,32,116,105,109,101,46,32,87,104,101,110,32>>,{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]},<<32,105,115,32,101,110,97,98,108,101,100,44,32,115,101,110,100,32,111,112,101,114,97,116,105,111,110,115,32,111,102,32,100,105,115,116,114,105,98,117,116,101,100,32,115,105,103,110,97,108,115,32,119,105,108,108,32,97,108,119,97,121,115,32,98,117,102,102,101,114,32,116,104,101,32,115,105,103,110,97,108,32,111,110,32,116,104,101,32,111,117,116,103,111,105,110,103,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,32,97,110,100,32,116,104,101,110,32,105,109,109,101,100,105,97,116,101,108,121,32,114,101,116,117,114,110,46,32,84,104,97,116,32,105,115,44,32,116,104,101,115,101,32,115,101,110,100,32,111,112,101,114,97,116,105,111,110,115,32,119,105,108,108,32>>,{em,[],[<<110,101,118,101,114>>]},<<32,98,108,111,99,107,32,116,104,101,32,115,101,110,100,105,110,103,32,112,114,111,99,101,115,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<83,105,110,99,101,32,110,111,32,102,108,111,119,32,99,111,110,116,114,111,108,32,105,115,32,101,110,102,111,114,99,101,100,32,98,121,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,119,104,101,110,32>>,{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,32,105,115,32,101,110,97,98,108,101,100,44,32,121,111,117,32,110,101,101,100,32,116,111,32,109,97,107,101,32,115,117,114,101,32,116,104,97,116,32,102,108,111,119,32,99,111,110,116,114,111,108,32,102,111,114,32,115,117,99,104,32,100,97,116,97,32,105,115,32,105,109,112,108,101,109,101,110,116,101,100,44,32,111,114,32,116,104,97,116,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,115,117,99,104,32,100,97,116,97,32,105,115,32,107,110,111,119,110,32,116,111,32,97,108,119,97,121,115,32,98,101,32,108,105,109,105,116,101,100,46,32,85,110,108,105,109,105,116,101,100,32,115,105,103,110,97,108,105,110,103,32,119,105,116,104,32>>,{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]},<<32,101,110,97,98,108,101,100,32,105,110,32,116,104,101,32,97,98,115,101,110,99,101,32,111,102,32,102,108,111,119,32,99,111,110,116,114,111,108,32,119,105,108,108,32,116,121,112,105,99,97,108,108,121,32,99,97,117,115,101,32,116,104,101,32,115,101,110,100,105,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,116,111,32,99,114,97,115,104,32,111,110,32,97,110,32,111,117,116,32,111,102,32,109,101,109,111,114,121,32,99,111,110,100,105,116,105,111,110,46>>]}]},{p,[],[<<66,108,111,99,107,105,110,103,32,100,117,101,32,116,111,32,100,105,115,97,98,108,101,100,32>>,{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]},<<32,99,97,110,32,98,101,32,109,111,110,105,116,111,114,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,109,111,110,105,116,111,114,40,41>>]}]},<<32,117,115,105,110,103,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,117,115,121,95,100,105,115,116,95,112,111,114,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<98,117,115,121,95,100,105,115,116,95,112,111,114,116>>]}]},<<32,111,112,116,105,111,110,46,32,79,110,108,121,32,100,97,116,97,32,98,117,102,102,101,114,101,100,32,98,121,32,112,114,111,99,101,115,115,101,115,32,119,104,105,99,104,32,40,97,116,32,116,104,101,32,116,105,109,101,32,111,102,32,115,101,110,100,105,110,103,32,97,32,115,105,103,110,97,108,41,32,104,97,118,101,32,100,105,115,97,98,108,101,100,32>>,{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]},<<32,119,105,108,108,32,98,101,32,99,111,117,110,116,101,100,32,119,104,101,110,32,100,101,116,101,114,109,105,110,105,110,103,32,119,104,101,116,104,101,114,32,111,114,32,110,111,116,32,97,110,32,111,112,101,114,97,116,105,111,110,32,115,104,111,117,108,100,32,98,108,111,99,107,32,116,104,101,32,99,97,108,108,101,114,46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]},<<32,102,108,97,103,32,99,97,110,32,97,108,115,111,32,98,101,32,115,101,116,32,111,110,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,119,104,101,110,32,115,112,97,119,110,105,110,103,32,105,116,32,117,115,105,110,103,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,40,41>>]}]},<<32,66,73,70,32,119,105,116,104,32,116,104,101,32,111,112,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,95,97,115,121,110,99,95,100,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<123,97,115,121,110,99,95,100,105,115,116,44,32,69,110,97,98,108,101,125>>]}]},<<46,32,84,104,101,32,100,101,102,97,117,108,116,32>>,{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]},<<32,102,108,97,103,32,116,111,32,117,115,101,32,111,110,32,110,101,119,108,121,32,115,112,97,119,110,101,100,32,112,114,111,99,101,115,115,101,115,32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,112,97,115,115,105,110,103,32,116,104,101,32,99,111,109,109,97,110,100,32,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,112,97,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,112,97,100,32,60,98,111,111,108,101,97,110,62>>]}]},<<32,119,104,101,110,32,115,116,97,114,116,105,110,103,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,73,102,32,116,104,101,32>>,{code,[],[<<43,112,97,100,32,60,98,111,111,108,101,97,110,62>>]},<<32,99,111,109,109,97,110,100,32,108,105,110,101,32,97,114,103,117,109,101,110,116,32,105,115,32,110,111,116,32,112,97,115,115,101,100,44,32,116,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]},<<32,102,108,97,103,32,119,105,108,108,32,98,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<89,111,117,32,99,97,110,32,105,110,115,112,101,99,116,32,116,104,101,32,115,116,97,116,101,32,111,102,32,116,104,101,32>>,{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,32,111,102,32,97,32,112,114,111,99,101,115,115,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,105,110,102,111,95,97,115,121,110,99,95,100,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,105,110,102,111,40,80,105,100,44,32,97,115,121,110,99,95,100,105,115,116,41>>]}]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]},<<32,102,108,97,103,46>>]}]},#{signature => [{attribute,{2644,2},spec,{{process_flag,2},[{type,{2644,19},bounded_fun,[{type,{2644,19},'fun',[{type,{2644,19},product,[{atom,{2644,20},async_dist},{var,{2644,32},'Boolean'}]},{var,{2644,44},'OldBoolean'}]},[{type,{2645,7},constraint,[{atom,{2645,7},is_subtype},[{var,{2645,7},'Boolean'},{type,{2645,18},boolean,[]}]]},{type,{2646,7},constraint,[{atom,{2646,7},is_subtype},[{var,{2646,7},'OldBoolean'},{type,{2646,21},boolean,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,51,50,48>>,since => <<79,84,80,32,50,53,46,51>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2644}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<87,104,101,110,32>>,{code,[],[<<116,114,97,112,95,101,120,105,116>>]},<<32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,101,120,105,116,32,115,105,103,110,97,108,115,32,97,114,114,105,118,105,110,103,32,116,111,32,97,32,112,114,111,99,101,115,115,32,97,114,101,32,99,111,110,118,101,114,116,101,100,32,116,111,32>>,{code,[],[<<123,39,69,88,73,84,39,44,32,70,114,111,109,44,32,82,101,97,115,111,110,125>>]},<<32,109,101,115,115,97,103,101,115,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,114,101,99,101,105,118,101,100,32,97,115,32,111,114,100,105,110,97,114,121,32,109,101,115,115,97,103,101,115,46,32,73,102,32>>,{code,[],[<<116,114,97,112,95,101,120,105,116>>]},<<32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,116,104,101,32,112,114,111,99,101,115,115,32,101,120,105,116,115,32,105,102,32,105,116,32,114,101,99,101,105,118,101,115,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,111,116,104,101,114,32,116,104,97,110,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,97,110,100,32,116,104,101,32,101,120,105,116,32,115,105,103,110,97,108,32,105,115,32,112,114,111,112,97,103,97,116,101,100,32,116,111,32,105,116,115,32,108,105,110,107,101,100,32,112,114,111,99,101,115,115,101,115,46,32,65,112,112,108,105,99,97,116,105,111,110,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,110,111,114,109,97,108,108,121,32,110,111,116,32,116,111,32,116,114,97,112,32,101,120,105,116,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,105,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,120,105,116,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{2644,2},spec,{{process_flag,2},[{type,{2647,19},bounded_fun,[{type,{2647,19},'fun',[{type,{2647,19},product,[{atom,{2647,20},trap_exit},{var,{2647,31},'Boolean'}]},{var,{2647,43},'OldBoolean'}]},[{type,{2648,7},constraint,[{atom,{2648,7},is_subtype},[{var,{2648,7},'Boolean'},{type,{2648,18},boolean,[]}]]},{type,{2649,7},constraint,[{atom,{2649,7},is_subtype},[{var,{2649,7},'OldBoolean'},{type,{2649,21},boolean,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,51,56,50>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2644}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<85,115,101,100,32,98,121,32,97,32,112,114,111,99,101,115,115,32,116,111,32,114,101,100,101,102,105,110,101,32,116,104,101,32,101,114,114,111,114,32,104,97,110,100,108,101,114,32,102,111,114,32,117,110,100,101,102,105,110,101,100,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,32,97,110,100,32,117,110,100,101,102,105,110,101,100,32,114,101,103,105,115,116,101,114,101,100,32,112,114,111,99,101,115,115,101,115,46,32,73,110,101,120,112,101,114,105,101,110,99,101,100,32,117,115,101,114,115,32,97,114,101,32,110,111,116,32,116,111,32,117,115,101,32,116,104,105,115,32,102,108,97,103,44,32,97,115,32,99,111,100,101,32,97,117,116,111,45,108,111,97,100,105,110,103,32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,99,111,114,114,101,99,116,32,111,112,101,114,97,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103,32,109,111,100,117,108,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{signature => [{attribute,{2644,2},spec,{{process_flag,2},[{type,{2650,19},bounded_fun,[{type,{2650,19},'fun',[{type,{2650,19},product,[{atom,{2650,20},error_handler},{var,{2650,35},'Module'}]},{var,{2650,46},'OldModule'}]},[{type,{2651,7},constraint,[{atom,{2651,7},is_subtype},[{var,{2651,7},'Module'},{type,{2651,17},atom,[]}]]},{type,{2652,7},constraint,[{atom,{2652,7},is_subtype},[{var,{2652,7},'OldModule'},{type,{2652,20},atom,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,52,48,48>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2644}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,103,101,110,101,114,97,116,105,111,110,97,108,32,99,111,108,108,101,99,116,105,111,110,115,32,98,101,102,111,114,101,32,102,111,114,99,105,110,103,32,97,32,102,117,108,108,115,119,101,101,112,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{signature => [{attribute,{2644,2},spec,{{process_flag,2},[{type,{2653,19},bounded_fun,[{type,{2653,19},'fun',[{type,{2653,19},product,[{atom,{2653,20},fullsweep_after},{var,{2653,37},'FullsweepAfter'}]},{var,{2653,56},'OldFullsweepAfter'}]},[{type,{2654,7},constraint,[{atom,{2654,7},is_subtype},[{var,{2654,7},'FullsweepAfter'},{type,{2654,25},non_neg_integer,[]}]]},{type,{2655,7},constraint,[{atom,{2655,7},is_subtype},[{var,{2655,7},'OldFullsweepAfter'},{type,{2655,28},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,52,49,52>>,since => <<79,84,80,32,50,52,46,48>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2644}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,116,104,101,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{signature => [{attribute,{2644,2},spec,{{process_flag,2},[{type,{2656,19},bounded_fun,[{type,{2656,19},'fun',[{type,{2656,19},product,[{atom,{2656,20},min_heap_size},{var,{2656,35},'MinHeapSize'}]},{var,{2656,51},'OldMinHeapSize'}]},[{type,{2657,7},constraint,[{atom,{2657,7},is_subtype},[{var,{2657,7},'MinHeapSize'},{type,{2657,22},non_neg_integer,[]}]]},{type,{2658,7},constraint,[{atom,{2658,7},is_subtype},[{var,{2658,7},'OldMinHeapSize'},{type,{2658,25},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,52,50,53>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2644}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,116,104,101,32,109,105,110,105,109,117,109,32,98,105,110,97,114,121,32,118,105,114,116,117,97,108,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{signature => [{attribute,{2644,2},spec,{{process_flag,2},[{type,{2659,19},bounded_fun,[{type,{2659,19},'fun',[{type,{2659,19},product,[{atom,{2659,20},min_bin_vheap_size},{var,{2659,40},'MinBinVHeapSize'}]},{var,{2659,60},'OldMinBinVHeapSize'}]},[{type,{2660,7},constraint,[{atom,{2660,7},is_subtype},[{var,{2660,7},'MinBinVHeapSize'},{type,{2660,26},non_neg_integer,[]}]]},{type,{2661,7},constraint,[{atom,{2661,7},is_subtype},[{var,{2661,7},'OldMinBinVHeapSize'},{type,{2661,29},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,52,51,54>>,since => <<79,84,80,32,82,49,51,66,48,52>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2644}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]}]},{p,[],[<<84,104,105,115,32,102,108,97,103,32,115,101,116,115,32,116,104,101,32,109,97,120,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,73,102,32>>,{code,[],[<<77,97,120,72,101,97,112,83,105,122,101>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,44,32,116,104,101,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<107,105,108,108>>]},<<32,97,110,100,32>>,{code,[],[<<101,114,114,111,114,95,108,111,103,103,101,114>>]},<<32,97,114,101,32,117,115,101,100,46>>]},{p,[],[<<70,111,114,32,100,101,116,97,105,108,115,32,111,110,32,104,111,119,32,116,104,101,32,104,101,97,112,32,103,114,111,119,115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,71,97,114,98,97,103,101,67,111,108,108,101,99,116,105,111,110,35,115,105,122,105,110,103,45,116,104,101,45,104,101,97,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<83,105,122,105,110,103,32,116,104,101,32,104,101,97,112>>]},<<32,105,110,32,116,104,101,32,69,82,84,83,32,105,110,116,101,114,110,97,108,32,100,111,99,117,109,101,110,116,97,116,105,111,110,46>>]},{dl,[],[{dt,[],[{code,[],[<<115,105,122,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,109,97,120,105,109,117,109,32,115,105,122,101,32,105,110,32,119,111,114,100,115,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32,73,102,32,115,101,116,32,116,111,32,122,101,114,111,44,32,116,104,101,32,104,101,97,112,32,115,105,122,101,32,108,105,109,105,116,32,105,115,32,100,105,115,97,98,108,101,100,46,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,115,32,98,101,32,116,104,114,111,119,110,32,105,102,32,116,104,101,32,118,97,108,117,101,32,105,115,32,115,109,97,108,108,101,114,32,116,104,97,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,105,110,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,105,110,95,104,101,97,112,95,115,105,122,101>>]}]},<<46,32,84,104,101,32,115,105,122,101,32,99,104,101,99,107,32,105,115,32,111,110,108,121,32,100,111,110,101,32,119,104,101,110,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,116,114,105,103,103,101,114,101,100,46>>]},{p,[],[{code,[],[<<115,105,122,101>>]},<<32,105,115,32,116,104,101,32,101,110,116,105,114,101,32,104,101,97,112,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,119,104,101,110,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,116,114,105,103,103,101,114,101,100,46,32,84,104,105,115,32,105,110,99,108,117,100,101,115,32,97,108,108,32,103,101,110,101,114,97,116,105,111,110,97,108,32,104,101,97,112,115,44,32,116,104,101,32,112,114,111,99,101,115,115,32,115,116,97,99,107,44,32,97,110,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<109,101,115,115,97,103,101,115,32,116,104,97,116,32,97,114,101,32,99,111,110,115,105,100,101,114,101,100,32,116,111,32,98,101,32,112,97,114,116,32,111,102,32,116,104,101,32,104,101,97,112>>]},<<44,32,97,110,100,32,97,110,121,32,101,120,116,114,97,32,109,101,109,111,114,121,32,116,104,97,116,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,111,114,32,110,101,101,100,115,32,100,117,114,105,110,103,32,99,111,108,108,101,99,116,105,111,110,46>>]},{p,[],[{code,[],[<<115,105,122,101>>]},<<32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,99,97,110,32,98,101,32,114,101,116,114,105,101,118,101,100,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,105,110,102,111,95,116,111,116,97,108,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,112,114,111,99,101,115,115,95,105,110,102,111,40,80,105,100,44,32,116,111,116,97,108,95,104,101,97,112,95,115,105,122,101,41>>]}]},<<44,32,111,114,32,98,121,32,97,100,100,105,110,103,32>>,{code,[],[<<104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]},<<44,32>>,{code,[],[<<111,108,100,95,104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]},<<32,97,110,100,32>>,{code,[],[<<109,98,117,102,95,115,105,122,101>>]},<<32,102,114,111,109,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,105,110,102,111,95,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,95,105,110,102,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,112,114,111,99,101,115,115,95,105,110,102,111,40,80,105,100,44,32,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,95,105,110,102,111,41>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<107,105,108,108>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32,115,101,116,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,115,101,110,100,115,32,97,110,32,117,110,116,114,97,112,112,97,98,108,101,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<107,105,108,108>>]},<<32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,102,32,116,104,101,32,109,97,120,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,105,115,32,114,101,97,99,104,101,100,46,32,84,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,116,104,97,116,32,116,114,105,103,103,101,114,101,100,32,116,104,101,32>>,{code,[],[<<107,105,108,108>>]},<<32,105,115,32,110,111,116,32,99,111,109,112,108,101,116,101,100,44,32,105,110,115,116,101,97,100,32,116,104,101,32,112,114,111,99,101,115,115,32,101,120,105,116,115,32,97,115,32,115,111,111,110,32,97,115,32,112,111,115,115,105,98,108,101,46,32,87,104,101,110,32,115,101,116,32,116,111,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,110,111,32,101,120,105,116,32,115,105,103,110,97,108,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,44,32,105,110,115,116,101,97,100,32,105,116,32,99,111,110,116,105,110,117,101,115,32,101,120,101,99,117,116,105,110,103,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<107,105,108,108>>]},<<32,105,115,32,110,111,116,32,100,101,102,105,110,101,100,32,105,110,32,116,104,101,32,109,97,112,44,32,116,104,101,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<46,32,73,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,98,121,32,101,105,116,104,101,114,32,111,112,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,97,120,107>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<43,104,109,97,120,107>>]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<44,32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,77,97,120,72,101,97,112,83,105,122,101,41>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<101,114,114,111,114,95,108,111,103,103,101,114>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32,115,101,116,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,108,111,103,115,32,97,110,32,101,114,114,111,114,32,101,118,101,110,116,32,118,105,97,32>>,{a,[{href,<<107,101,114,110,101,108,58,108,111,103,103,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<108,111,103,103,101,114>>]}]},<<44,32,99,111,110,116,97,105,110,105,110,103,32,100,101,116,97,105,108,115,32,97,98,111,117,116,32,116,104,101,32,112,114,111,99,101,115,115,32,119,104,101,110,32,116,104,101,32,109,97,120,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,105,115,32,114,101,97,99,104,101,100,46,32,79,110,101,32,108,111,103,32,101,118,101,110,116,32,105,115,32,115,101,110,116,32,101,97,99,104,32,116,105,109,101,32,116,104,101,32,108,105,109,105,116,32,105,115,32,114,101,97,99,104,101,100,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<101,114,114,111,114,95,108,111,103,103,101,114>>]},<<32,105,115,32,110,111,116,32,100,101,102,105,110,101,100,32,105,110,32,116,104,101,32,109,97,112,44,32,116,104,101,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,105,115,32,117,115,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<46,32,73,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,98,121,32,101,105,116,104,101,114,32,116,104,101,32,111,112,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,97,120,101,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<43,104,109,97,120,101,108>>]},<<32,105,110,116,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<44,32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,77,97,120,72,101,97,112,83,105,122,101,41>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<105,110,99,108,117,100,101,95,115,104,97,114,101,100,95,98,105,110,97,114,105,101,115>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32,115,101,116,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,111,102,102,45,104,101,97,112,32,98,105,110,97,114,105,101,115,32,97,114,101,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,101,32,116,111,116,97,108,32,115,117,109,32,99,111,109,112,97,114,101,100,32,97,103,97,105,110,115,116,32,116,104,101,32>>,{code,[],[<<115,105,122,101>>]},<<32,108,105,109,105,116,46,32,79,102,102,45,104,101,97,112,32,98,105,110,97,114,105,101,115,32,97,114,101,32,116,121,112,105,99,97,108,108,121,32,108,97,114,103,101,114,32,98,105,110,97,114,105,101,115,32,116,104,97,116,32,109,97,121,32,98,101,32,115,104,97,114,101,100,32,98,101,116,119,101,101,110,32,112,114,111,99,101,115,115,101,115,46,32,84,104,101,32,115,105,122,101,32,111,102,32,97,32,115,104,97,114,101,100,32,98,105,110,97,114,121,32,105,115,32,105,110,99,108,117,100,101,100,32,98,121,32,97,108,108,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,97,114,101,32,114,101,102,101,114,114,105,110,103,32,105,116,46,32,65,108,115,111,44,32,116,104,101,32,101,110,116,105,114,101,32,115,105,122,101,32,111,102,32,97,32,108,97,114,103,101,32,98,105,110,97,114,121,32,109,97,121,32,98,101,32,105,110,99,108,117,100,101,100,32,101,118,101,110,32,105,102,32,111,110,108,121,32,97,32,115,109,97,108,108,101,114,32,112,97,114,116,32,111,102,32,105,116,32,105,115,32,114,101,102,101,114,114,101,100,32,98,121,32,116,104,101,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<105,110,99,108,117,100,101,95,115,104,97,114,101,100,95,98,105,110,97,114,105,101,115>>]},<<32,105,115,32,110,111,116,32,100,101,102,105,110,101,100,32,105,110,32,116,104,101,32,109,97,112,44,32,116,104,101,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,105,115,32,117,115,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46,32,73,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,98,121,32,101,105,116,104,101,114,32,116,104,101,32,111,112,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,97,120,105,98>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<43,104,109,97,120,105,98>>]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<44,32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,77,97,120,72,101,97,112,83,105,122,101,41>>]}]},<<46>>]}]}]},{p,[],[<<84,104,101,32,104,101,97,112,32,115,105,122,101,32,111,102,32,97,32,112,114,111,99,101,115,115,32,105,115,32,113,117,105,116,101,32,104,97,114,100,32,116,111,32,112,114,101,100,105,99,116,44,32,101,115,112,101,99,105,97,108,108,121,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,116,104,97,116,32,105,115,32,117,115,101,100,32,100,117,114,105,110,103,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46,32,87,104,101,110,32,99,111,110,116,101,109,112,108,97,116,105,110,103,32,117,115,105,110,103,32,116,104,105,115,32,111,112,116,105,111,110,44,32,105,116,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,102,105,114,115,116,32,114,117,110,32,105,116,32,105,110,32,112,114,111,100,117,99,116,105,111,110,32,119,105,116,104,32>>,{code,[],[<<107,105,108,108>>]},<<32,115,101,116,32,116,111,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,97,110,100,32,105,110,115,112,101,99,116,32,116,104,101,32,108,111,103,32,101,118,101,110,116,115,32,116,111,32,115,101,101,32,119,104,97,116,32,116,104,101,32,110,111,114,109,97,108,32,112,101,97,107,32,115,105,122,101,115,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,101,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,105,115,32,97,110,100,32,116,104,101,110,32,116,117,110,101,32,116,104,101,32,118,97,108,117,101,32,97,99,99,111,114,100,105,110,103,108,121,46>>]}]},#{signature => [{attribute,{2644,2},spec,{{process_flag,2},[{type,{2662,19},bounded_fun,[{type,{2662,19},'fun',[{type,{2662,19},product,[{atom,{2662,20},max_heap_size},{var,{2662,35},'MaxHeapSize'}]},{var,{2662,51},'OldMaxHeapSize'}]},[{type,{2663,7},constraint,[{atom,{2663,7},is_subtype},[{var,{2663,7},'MaxHeapSize'},{user_type,{2663,22},max_heap_size,[]}]]},{type,{2664,7},constraint,[{atom,{2664,7},is_subtype},[{var,{2664,7},'OldMaxHeapSize'},{user_type,{2664,25},max_heap_size,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,52,52,55>>,since => <<79,84,80,32,49,57,46,48>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2644}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>}],[]}]},{p,[],[<<68,101,116,101,114,109,105,110,101,115,32,104,111,119,32,109,101,115,115,97,103,101,115,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,97,114,101,32,115,116,111,114,101,100,44,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<111,102,102,95,104,101,97,112>>]}]},{dd,[],[{p,[],[{em,[],[<<65,108,108>>]},<<32,109,101,115,115,97,103,101,115,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,119,105,108,108,32,98,101,32,115,116,111,114,101,100,32,111,117,116,115,105,100,101,32,116,104,101,32,112,114,111,99,101,115,115,32,104,101,97,112,46,32,84,104,105,115,32,105,109,112,108,105,101,115,32,116,104,97,116,32>>,{em,[],[<<110,111>>]},<<32,109,101,115,115,97,103,101,115,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,119,105,108,108,32,98,101,32,112,97,114,116,32,111,102,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<111,110,95,104,101,97,112>>]}]},{dd,[],[{p,[],[<<65,108,108,32,109,101,115,115,97,103,101,115,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,119,105,108,108,32,101,118,101,110,116,117,97,108,108,121,32,98,101,32,112,108,97,99,101,100,32,111,110,32,116,104,101,32,112,114,111,99,101,115,115,32,104,101,97,112,46,32,84,104,101,121,32,99,97,110,44,32,104,111,119,101,118,101,114,44,32,98,101,32,116,101,109,112,111,114,97,114,105,108,121,32,115,116,111,114,101,100,32,111,102,102,32,116,104,101,32,104,101,97,112,46,32,84,104,105,115,32,105,115,32,104,111,119,32,109,101,115,115,97,103,101,115,32,104,97,118,101,32,97,108,119,97,121,115,32,98,101,101,110,32,115,116,111,114,101,100,32,117,112,32,117,110,116,105,108,32,69,82,84,83,32,56,46,48,46>>]}]}]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32,116,104,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,113,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,113,100>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,109,97,121,32,112,111,116,101,110,116,105,97,108,108,121,32,97,99,99,117,109,117,108,97,116,101,32,97,32,108,97,114,103,101,32,110,117,109,98,101,114,32,111,102,32,109,101,115,115,97,103,101,115,32,105,110,32,105,116,115,32,113,117,101,117,101,32,105,116,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,115,101,116,32,116,104,101,32,102,108,97,103,32,118,97,108,117,101,32,116,111,32>>,{code,[],[<<111,102,102,95,104,101,97,112>>]},<<46,32,84,104,105,115,32,105,115,32,100,117,101,32,116,111,32,116,104,101,32,102,97,99,116,32,116,104,97,116,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,97,32,112,114,111,99,101,115,115,32,116,104,97,116,32,104,97,115,32,97,32,108,97,114,103,101,32,110,117,109,98,101,114,32,111,102,32,109,101,115,115,97,103,101,115,32,115,116,111,114,101,100,32,111,110,32,116,104,101,32,104,101,97,112,32,99,97,110,32,98,101,99,111,109,101,32,101,120,116,114,101,109,101,108,121,32,101,120,112,101,110,115,105,118,101,32,97,110,100,32,116,104,101,32,112,114,111,99,101,115,115,32,99,97,110,32,99,111,110,115,117,109,101,32,108,97,114,103,101,32,97,109,111,117,110,116,115,32,111,102,32,109,101,109,111,114,121,46,32,84,104,101,32,112,101,114,102,111,114,109,97,110,99,101,32,111,102,32,116,104,101,32,97,99,116,117,97,108,32,109,101,115,115,97,103,101,32,112,97,115,115,105,110,103,32,105,115,44,32,104,111,119,101,118,101,114,44,32,103,101,110,101,114,97,108,108,121,32,98,101,116,116,101,114,32,119,104,101,110,32,116,104,101,32,102,108,97,103,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<111,110,95,104,101,97,112>>]},<<46>>]},{p,[],[<<67,104,97,110,103,105,110,103,32,116,104,101,32,102,108,97,103,32,118,97,108,117,101,32,99,97,117,115,101,115,32,97,110,121,32,101,120,105,115,116,105,110,103,32,109,101,115,115,97,103,101,115,32,116,111,32,98,101,32,109,111,118,101,100,46,32,84,104,101,32,109,111,118,101,32,111,112,101,114,97,116,105,111,110,32,105,115,32,105,110,105,116,105,97,116,101,100,44,32,98,117,116,32,110,111,116,32,110,101,99,101,115,115,97,114,105,108,121,32,99,111,109,112,108,101,116,101,100,44,32,98,121,32,116,104,101,32,116,105,109,101,32,116,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{signature => [{attribute,{2644,2},spec,{{process_flag,2},[{type,{2665,19},bounded_fun,[{type,{2665,19},'fun',[{type,{2665,19},product,[{atom,{2665,20},message_queue_data},{var,{2665,40},'MQD'}]},{var,{2665,48},'OldMQD'}]},[{type,{2666,7},constraint,[{atom,{2666,7},is_subtype},[{var,{2666,7},'MQD'},{user_type,{2666,14},message_queue_data,[]}]]},{type,{2667,7},constraint,[{atom,{2667,7},is_subtype},[{var,{2667,7},'OldMQD'},{user_type,{2667,17},message_queue_data,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,53,52,54>>,since => <<79,84,80,32,49,57,46,48>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2644}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<112,114,105,111,114,105,116,121,95,108,101,118,101,108>>}],[]}]},{p,[],[<<83,101,116,115,32,116,104,101,32,112,114,111,99,101,115,115,32,112,114,105,111,114,105,116,121,46,32>>,{code,[],[<<76,101,118,101,108>>]},<<32,105,115,32,97,110,32,97,116,111,109,46,32,70,111,117,114,32,112,114,105,111,114,105,116,121,32,108,101,118,101,108,115,32,101,120,105,115,116,58,32>>,{code,[],[<<108,111,119>>]},<<44,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<44,32>>,{code,[],[<<104,105,103,104>>]},<<44,32,97,110,100,32>>,{code,[],[<<109,97,120>>]},<<46,32,68,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<80,114,105,111,114,105,116,121,32,108,101,118,101,108,32>>,{code,[],[<<109,97,120>>]},<<32,105,115,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,44,32,97,110,100,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,116,111,32,98,101,32,117,115,101,100,32,98,121,32,111,116,104,101,114,115,46>>]}]},{p,[],[<<73,110,116,101,114,110,97,108,108,121,32,105,110,32,101,97,99,104,32,112,114,105,111,114,105,116,121,32,108,101,118,101,108,44,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,115,99,104,101,100,117,108,101,100,32,105,110,32,97,32,114,111,117,110,100,32,114,111,98,105,110,32,102,97,115,104,105,111,110,46>>]},{p,[],[<<69,120,101,99,117,116,105,111,110,32,111,102,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,97,110,100,32>>,{code,[],[<<108,111,119>>]},<<32,97,114,101,32,105,110,116,101,114,108,101,97,118,101,100,46,32,80,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<108,111,119>>]},<<32,97,114,101,32,115,101,108,101,99,116,101,100,32,102,111,114,32,101,120,101,99,117,116,105,111,110,32,108,101,115,115,32,102,114,101,113,117,101,110,116,108,121,32,116,104,97,110,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<46>>]},{p,[],[<<87,104,101,110,32,114,117,110,110,97,98,108,101,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<104,105,103,104>>]},<<32,101,120,105,115,116,44,32,110,111,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<108,111,119>>]},<<32,111,114,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,97,114,101,32,115,101,108,101,99,116,101,100,32,102,111,114,32,101,120,101,99,117,116,105,111,110,46,32,78,111,116,105,99,101,32,104,111,119,101,118,101,114,32,116,104,97,116,32,116,104,105,115,32,100,111,101,115,32>>,{em,[],[<<110,111,116>>]},<<32,109,101,97,110,32,116,104,97,116,32,110,111,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<108,111,119>>]},<<32,111,114,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,99,97,110,32,114,117,110,32,119,104,101,110,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,114,117,110,110,105,110,103,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<104,105,103,104>>]},<<46,32,87,104,101,110,32,117,115,105,110,103,32,109,117,108,116,105,112,108,101,32,115,99,104,101,100,117,108,101,114,115,44,32,109,111,114,101,32,112,114,111,99,101,115,115,101,115,32,99,97,110,32,98,101,32,114,117,110,110,105,110,103,32,105,110,32,112,97,114,97,108,108,101,108,32,116,104,97,110,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<104,105,103,104>>]},<<46,32,84,104,97,116,32,105,115,44,32,97,32>>,{code,[],[<<108,111,119>>]},<<32,97,110,100,32,97,32>>,{code,[],[<<104,105,103,104>>]},<<32,112,114,105,111,114,105,116,121,32,112,114,111,99,101,115,115,32,99,97,110,32,101,120,101,99,117,116,101,32,97,116,32,116,104,101,32,115,97,109,101,32,116,105,109,101,46>>]},{p,[],[<<87,104,101,110,32,114,117,110,110,97,98,108,101,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<109,97,120>>]},<<32,101,120,105,115,116,44,32,110,111,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<108,111,119>>]},<<44,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<44,32,111,114,32>>,{code,[],[<<104,105,103,104>>]},<<32,97,114,101,32,115,101,108,101,99,116,101,100,32,102,111,114,32,101,120,101,99,117,116,105,111,110,46,32,65,115,32,119,105,116,104,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<104,105,103,104>>]},<<44,32,112,114,111,99,101,115,115,101,115,32,111,110,32,108,111,119,101,114,32,112,114,105,111,114,105,116,105,101,115,32,99,97,110,32,101,120,101,99,117,116,101,32,105,110,32,112,97,114,97,108,108,101,108,32,119,105,116,104,32,112,114,111,99,101,115,115,101,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<109,97,120>>]},<<46>>]},{p,[],[<<83,99,104,101,100,117,108,105,110,103,32,105,115,32,112,114,101,45,101,109,112,116,105,118,101,46,32,82,101,103,97,114,100,108,101,115,115,32,111,102,32,112,114,105,111,114,105,116,121,44,32,97,32,112,114,111,99,101,115,115,32,105,115,32,112,114,101,45,101,109,112,116,101,100,32,119,104,101,110,32,105,116,32,104,97,115,32,99,111,110,115,117,109,101,100,32,109,111,114,101,32,116,104,97,110,32,97,32,99,101,114,116,97,105,110,32,110,117,109,98,101,114,32,111,102,32,114,101,100,117,99,116,105,111,110,115,32,115,105,110,99,101,32,116,104,101,32,108,97,115,116,32,116,105,109,101,32,105,116,32,119,97,115,32,115,101,108,101,99,116,101,100,32,102,111,114,32,101,120,101,99,117,116,105,111,110,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<68,111,32,110,111,116,32,100,101,112,101,110,100,32,111,110,32,116,104,101,32,115,99,104,101,100,117,108,105,110,103,32,116,111,32,114,101,109,97,105,110,32,101,120,97,99,116,108,121,32,97,115,32,105,116,32,105,115,32,116,111,100,97,121,46,32,83,99,104,101,100,117,108,105,110,103,32,105,115,32,108,105,107,101,108,121,32,116,111,32,98,101,32,99,104,97,110,103,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,32,116,111,32,117,115,101,32,97,118,97,105,108,97,98,108,101,32,112,114,111,99,101,115,115,111,114,32,99,111,114,101,115,32,98,101,116,116,101,114,46>>]}]},{p,[],[<<84,104,101,114,101,32,105,115,32>>,{em,[],[<<110,111>>]},<<32,97,117,116,111,109,97,116,105,99,32,109,101,99,104,97,110,105,115,109,32,102,111,114,32,97,118,111,105,100,105,110,103,32,112,114,105,111,114,105,116,121,32,105,110,118,101,114,115,105,111,110,44,32,115,117,99,104,32,97,115,32,112,114,105,111,114,105,116,121,32,105,110,104,101,114,105,116,97,110,99,101,32,111,114,32,112,114,105,111,114,105,116,121,32,99,101,105,108,105,110,103,115,46,32,87,104,101,110,32,117,115,105,110,103,32,112,114,105,111,114,105,116,105,101,115,44,32,116,97,107,101,32,116,104,105,115,32,105,110,116,111,32,97,99,99,111,117,110,116,32,97,110,100,32,104,97,110,100,108,101,32,115,117,99,104,32,115,99,101,110,97,114,105,111,115,32,98,121,32,121,111,117,114,115,101,108,102,46>>]},{p,[],[<<77,97,107,105,110,103,32,99,97,108,108,115,32,102,114,111,109,32,97,32>>,{code,[],[<<104,105,103,104>>]},<<32,112,114,105,111,114,105,116,121,32,112,114,111,99,101,115,115,32,105,110,116,111,32,99,111,100,101,32,116,104,97,116,32,121,111,117,32,104,97,115,32,110,111,32,99,111,110,116,114,111,108,32,111,118,101,114,32,99,97,110,32,99,97,117,115,101,32,116,104,101,32>>,{code,[],[<<104,105,103,104>>]},<<32,112,114,105,111,114,105,116,121,32,112,114,111,99,101,115,115,32,116,111,32,119,97,105,116,32,102,111,114,32,97,32,112,114,111,99,101,115,115,32,119,105,116,104,32,108,111,119,101,114,32,112,114,105,111,114,105,116,121,46,32,84,104,97,116,32,105,115,44,32,101,102,102,101,99,116,105,118,101,108,121,32,100,101,99,114,101,97,115,105,110,103,32,116,104,101,32,112,114,105,111,114,105,116,121,32,111,102,32,116,104,101,32>>,{code,[],[<<104,105,103,104>>]},<<32,112,114,105,111,114,105,116,121,32,112,114,111,99,101,115,115,32,100,117,114,105,110,103,32,116,104,101,32,99,97,108,108,46,32,69,118,101,110,32,105,102,32,116,104,105,115,32,105,115,32,110,111,116,32,116,104,101,32,99,97,115,101,32,119,105,116,104,32,111,110,101,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,99,111,100,101,32,116,104,97,116,32,121,111,117,32,104,97,118,101,32,110,111,32,99,111,110,116,114,111,108,32,111,118,101,114,44,32,105,116,32,99,97,110,32,98,101,32,116,104,101,32,99,97,115,101,32,105,110,32,97,32,102,117,116,117,114,101,32,118,101,114,115,105,111,110,32,111,102,32,105,116,46,32,84,104,105,115,32,99,97,110,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,111,99,99,117,114,32,105,102,32,97,32>>,{code,[],[<<104,105,103,104>>]},<<32,112,114,105,111,114,105,116,121,32,112,114,111,99,101,115,115,32,116,114,105,103,103,101,114,115,32,99,111,100,101,32,108,111,97,100,105,110,103,44,32,97,115,32,116,104,101,32,99,111,100,101,32,115,101,114,118,101,114,32,114,117,110,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<46>>]},{p,[],[<<79,116,104,101,114,32,112,114,105,111,114,105,116,105,101,115,32,116,104,97,110,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<32,97,114,101,32,110,111,114,109,97,108,108,121,32,110,111,116,32,110,101,101,100,101,100,46,32,87,104,101,110,32,111,116,104,101,114,32,112,114,105,111,114,105,116,105,101,115,32,97,114,101,32,117,115,101,100,44,32,117,115,101,32,116,104,101,109,32,119,105,116,104,32,99,97,114,101,44,32>>,{em,[],[<<101,115,112,101,99,105,97,108,108,121>>]},<<32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<104,105,103,104>>]},<<46,32,65,32,112,114,111,99,101,115,115,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<104,105,103,104>>]},<<32,105,115,32,111,110,108,121,32,116,111,32,112,101,114,102,111,114,109,32,119,111,114,107,32,102,111,114,32,115,104,111,114,116,32,112,101,114,105,111,100,115,46,32,66,117,115,121,32,108,111,111,112,105,110,103,32,102,111,114,32,108,111,110,103,32,112,101,114,105,111,100,115,32,105,110,32,97,32>>,{code,[],[<<104,105,103,104>>]},<<32,112,114,105,111,114,105,116,121,32,112,114,111,99,101,115,115,32,99,97,117,115,101,115,32,109,111,115,116,32,108,105,107,101,108,121,32,112,114,111,98,108,101,109,115,44,32,97,115,32,105,109,112,111,114,116,97,110,116,32,79,84,80,32,115,101,114,118,101,114,115,32,114,117,110,32,111,110,32,112,114,105,111,114,105,116,121,32>>,{code,[],[<<110,111,114,109,97,108>>]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{signature => [{attribute,{2644,2},spec,{{process_flag,2},[{type,{2668,19},bounded_fun,[{type,{2668,19},'fun',[{type,{2668,19},product,[{atom,{2668,20},priority},{var,{2668,30},'Level'}]},{var,{2668,40},'OldLevel'}]},[{type,{2669,7},constraint,[{atom,{2669,7},is_subtype},[{var,{2669,7},'Level'},{user_type,{2669,16},priority_level,[]}]]},{type,{2670,7},constraint,[{atom,{2670,7},is_subtype},[{var,{2670,7},'OldLevel'},{user_type,{2670,19},priority_level,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,53,56,56>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2644}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[{code,[],[<<78>>]},<<32,109,117,115,116,32,98,101,32,97,110,32,105,110,116,101,103,101,114,32,105,110,32,116,104,101,32,105,110,116,101,114,118,97,108,32,48,46,46,49,48,48,48,48,46,32,73,102,32>>,{code,[],[<<78>>]},<<32,62,32,48,44,32,99,97,108,108,32,115,97,118,105,110,103,32,105,115,32,109,97,100,101,32,97,99,116,105,118,101,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,109,101,97,110,115,32,116,104,97,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32>>,{code,[],[<<78>>]},<<32,109,111,115,116,32,114,101,99,101,110,116,32,103,108,111,98,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,44,32,66,73,70,32,99,97,108,108,115,44,32,115,101,110,100,115,44,32,97,110,100,32,114,101,99,101,105,118,101,115,32,109,97,100,101,32,98,121,32,116,104,101,32,112,114,111,99,101,115,115,32,97,114,101,32,115,97,118,101,100,32,105,110,32,97,32,108,105,115,116,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,114,101,116,114,105,101,118,101,100,32,119,105,116,104,32>>,{code,[],[<<112,114,111,99,101,115,115,95,105,110,102,111,40,80,105,100,44,32,108,97,115,116,95,99,97,108,108,115,41>>]},<<46,32,65,32,103,108,111,98,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,32,105,115,32,111,110,101,32,105,110,32,119,104,105,99,104,32,116,104,101,32,109,111,100,117,108,101,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,101,120,112,108,105,99,105,116,108,121,32,109,101,110,116,105,111,110,101,100,46,32,79,110,108,121,32,97,32,102,105,120,101,100,32,97,109,111,117,110,116,32,111,102,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32,115,97,118,101,100,44,32,97,115,32,102,111,108,108,111,119,115,58>>]},{ul,[],[{li,[],[{p,[],[<<65,32,116,117,112,108,101,32>>,{code,[],[<<123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,125>>]},<<32,102,111,114,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115>>]}]},{li,[],[{p,[],[<<84,104,101,32,97,116,111,109,115,32>>,{code,[],[<<115,101,110,100>>]},<<44,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<44,32,97,110,100,32>>,{code,[],[<<116,105,109,101,111,117,116>>]},<<32,102,111,114,32,115,101,110,100,115,32,97,110,100,32,114,101,99,101,105,118,101,115,32,40>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<32,119,104,101,110,32,97,32,109,101,115,115,97,103,101,32,105,115,32,114,101,99,101,105,118,101,100,32,97,110,100,32>>,{code,[],[<<116,105,109,101,111,117,116>>]},<<32,119,104,101,110,32,97,32,114,101,99,101,105,118,101,32,116,105,109,101,115,32,111,117,116,41>>]}]}]},{p,[],[<<73,102,32>>,{code,[],[<<78>>]},<<32,61,32,48,44,32,99,97,108,108,32,115,97,118,105,110,103,32,105,115,32,100,105,115,97,98,108,101,100,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,46,32,87,104,101,110,101,118,101,114,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,99,97,108,108,32,115,97,118,105,110,103,32,108,105,115,116,32,105,115,32,115,101,116,44,32,105,116,115,32,99,111,110,116,101,110,116,115,32,97,114,101,32,114,101,115,101,116,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{signature => [{attribute,{2644,2},spec,{{process_flag,2},[{type,{2671,19},bounded_fun,[{type,{2671,19},'fun',[{type,{2671,19},product,[{atom,{2671,20},save_calls},{var,{2671,32},'N'}]},{var,{2671,38},'OldN'}]},[{type,{2672,7},constraint,[{atom,{2672,7},is_subtype},[{var,{2672,7},'N'},{type,{2672,12},range,[{integer,{2672,12},0},{integer,{2672,15},10000}]}]]},{type,{2673,7},constraint,[{atom,{2673,7},is_subtype},[{var,{2673,7},'OldN'},{type,{2673,15},range,[{integer,{2673,15},0},{integer,{2673,18},10000}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,54,54,49>>}},{{function,process_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2644}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,111,114,32,99,108,101,97,114,115,32,102,108,97,103,32>>,{code,[],[<<115,101,110,115,105,116,105,118,101>>]},<<32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,46,32,87,104,101,110,32,97,32,112,114,111,99,101,115,115,32,104,97,115,32,98,101,101,110,32,109,97,114,107,101,100,32,97,115,32,115,101,110,115,105,116,105,118,101,32,98,121,32,99,97,108,108,105,110,103,32>>,{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,115,101,110,115,105,116,105,118,101,44,32,116,114,117,101,41>>]},<<44,32,102,101,97,116,117,114,101,115,32,105,110,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,116,104,97,116,32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,32,101,120,97,109,105,110,105,110,103,32,116,104,101,32,100,97,116,97,32,111,114,32,105,110,110,101,114,32,119,111,114,107,105,110,103,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,97,114,101,32,115,105,108,101,110,116,108,121,32,100,105,115,97,98,108,101,100,46>>]},{p,[],[<<70,101,97,116,117,114,101,115,32,116,104,97,116,32,97,114,101,32,100,105,115,97,98,108,101,100,32,105,110,99,108,117,100,101,32,40,98,117,116,32,97,114,101,32,110,111,116,32,108,105,109,105,116,101,100,32,116,111,41,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{ul,[],[{li,[],[{p,[],[<<84,114,97,99,105,110,103,46,32,84,114,97,99,101,32,102,108,97,103,115,32,99,97,110,32,115,116,105,108,108,32,98,101,32,115,101,116,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,44,32,98,117,116,32,110,111,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,111,102,32,97,110,121,32,107,105,110,100,32,97,114,101,32,103,101,110,101,114,97,116,101,100,46,32,40,73,102,32,102,108,97,103,32>>,{code,[],[<<115,101,110,115,105,116,105,118,101>>]},<<32,105,115,32,116,117,114,110,101,100,32,111,102,102,44,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,97,114,101,32,97,103,97,105,110,32,103,101,110,101,114,97,116,101,100,32,105,102,32,97,110,121,32,116,114,97,99,101,32,102,108,97,103,115,32,97,114,101,32,115,101,116,46,41>>]}]},{li,[],[{p,[],[<<83,101,113,117,101,110,116,105,97,108,32,116,114,97,99,105,110,103,46,32,84,104,101,32,115,101,113,117,101,110,116,105,97,108,32,116,114,97,99,101,32,116,111,107,101,110,32,105,115,32,112,114,111,112,97,103,97,116,101,100,32,97,115,32,117,115,117,97,108,44,32,98,117,116,32,110,111,32,115,101,113,117,101,110,116,105,97,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,97,114,101,32,103,101,110,101,114,97,116,101,100,46>>]}]}]},{p,[],[{code,[],[<<112,114,111,99,101,115,115,95,105,110,102,111,47,49,44,50>>]},<<32,99,97,110,110,111,116,32,98,101,32,117,115,101,100,32,116,111,32,114,101,97,100,32,111,117,116,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,32,40,98,111,116,104,32,97,114,101,32,114,101,116,117,114,110,101,100,32,97,115,32,101,109,112,116,121,32,108,105,115,116,115,41,46>>]},{p,[],[<<83,116,97,99,107,32,98,97,99,107,45,116,114,97,99,101,115,32,99,97,110,110,111,116,32,98,101,32,100,105,115,112,108,97,121,101,100,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<73,110,32,99,114,97,115,104,32,100,117,109,112,115,44,32,116,104,101,32,115,116,97,99,107,44,32,109,101,115,115,97,103,101,115,44,32,97,110,100,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,32,97,114,101,32,111,109,105,116,116,101,100,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<123,115,97,118,101,95,99,97,108,108,115,44,78,125>>]},<<32,104,97,115,32,98,101,101,110,32,115,101,116,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,44,32,110,111,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,32,97,114,101,32,115,97,118,101,100,32,116,111,32,116,104,101,32,99,97,108,108,32,115,97,118,105,110,103,32,108,105,115,116,46,32,40,84,104,101,32,99,97,108,108,32,115,97,118,105,110,103,32,108,105,115,116,32,105,115,32,110,111,116,32,99,108,101,97,114,101,100,46,32,65,108,115,111,44,32,115,101,110,100,44,32,114,101,99,101,105,118,101,44,32,97,110,100,32,116,105,109,101,45,111,117,116,32,101,118,101,110,116,115,32,97,114,101,32,115,116,105,108,108,32,97,100,100,101,100,32,116,111,32,116,104,101,32,108,105,115,116,46,41>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{signature => [{attribute,{2644,2},spec,{{process_flag,2},[{type,{2674,19},bounded_fun,[{type,{2674,19},'fun',[{type,{2674,19},product,[{atom,{2674,20},sensitive},{var,{2674,31},'Boolean'}]},{var,{2674,43},'OldBoolean'}]},[{type,{2675,7},constraint,[{atom,{2675,7},is_subtype},[{var,{2675,7},'Boolean'},{type,{2675,18},boolean,[]}]]},{type,{2676,7},constraint,[{atom,{2676,7},is_subtype},[{var,{2676,7},'OldBoolean'},{type,{2676,21},boolean,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,54,57,50>>}},{{function,process_flag,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1977}],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,51>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,99,101,114,116,97,105,110,32,102,108,97,103,115,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100>>]},<<44,32,105,110,32,116,104,101,32,115,97,109,101,32,109,97,110,110,101,114,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>]}]},<<46,32,82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46,32,84,104,101,32,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<70,108,97,103>>]},<<32,97,114,101,32,111,110,108,121,32,97,32,115,117,98,115,101,116,32,111,102,32,116,104,111,115,101,32,97,108,108,111,119,101,100,32,105,110,32>>,{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>]},<<44,32,110,97,109,101,108,121,32>>,{code,[],[<<115,97,118,101,95,99,97,108,108,115>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,46>>]}]},#{signature => [{attribute,{1977,2},spec,{{process_flag,3},[{type,{1977,19},bounded_fun,[{type,{1977,19},'fun',[{type,{1977,19},product,[{var,{1977,20},'Pid'},{var,{1977,25},'Flag'},{var,{1977,31},'Value'}]},{var,{1977,41},'OldValue'}]},[{type,{1978,7},constraint,[{atom,{1978,7},is_subtype},[{var,{1978,7},'Pid'},{type,{1978,14},pid,[]}]]},{type,{1979,7},constraint,[{atom,{1979,7},is_subtype},[{var,{1979,7},'Flag'},{atom,{1979,15},save_calls}]]},{type,{1980,7},constraint,[{atom,{1980,7},is_subtype},[{var,{1980,7},'Value'},{type,{1980,16},non_neg_integer,[]}]]},{type,{1981,7},constraint,[{atom,{1981,7},is_subtype},[{var,{1981,7},'OldValue'},{type,{1981,19},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,55,50,54>>}},{{function,process_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1994}],[<<112,114,111,99,101,115,115,95,105,110,102,111,47,49>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]},{li,[{name,<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>}],[]},{li,[{name,<<112,114,105,111,114,105,116,121,95,108,101,118,101,108>>}],[]},{li,[{name,<<112,114,111,99,101,115,115,95,105,110,102,111,95,114,101,115,117,108,116,95,105,116,101,109>>}],[]},{li,[{name,<<115,116,97,99,107,95,105,116,101,109>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,32,119,105,116,104,32,109,105,115,99,101,108,108,97,110,101,111,117,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,97,108,105,118,101,46>>]},{p,[],[<<84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,32,105,115,32,117,110,100,101,102,105,110,101,100,32,97,110,100,32,97,108,108,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,32,97,114,101,32,110,111,116,32,109,97,110,100,97,116,111,114,121,46,32,84,104,101,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,32,119,105,116,104,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,105,116,101,109,115,32,97,114,101,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,58>>]},{ul,[],[{li,[],[{code,[],[<<99,117,114,114,101,110,116,95,102,117,110,99,116,105,111,110>>]}]},{li,[],[{code,[],[<<105,110,105,116,105,97,108,95,99,97,108,108>>]}]},{li,[],[{code,[],[<<115,116,97,116,117,115>>]}]},{li,[],[{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,108,101,110>>]}]},{li,[],[{code,[],[<<108,105,110,107,115>>]}]},{li,[],[{code,[],[<<100,105,99,116,105,111,110,97,114,121>>]}]},{li,[],[{code,[],[<<116,114,97,112,95,101,120,105,116>>]}]},{li,[],[{code,[],[<<101,114,114,111,114,95,104,97,110,100,108,101,114>>]}]},{li,[],[{code,[],[<<112,114,105,111,114,105,116,121>>]}]},{li,[],[{code,[],[<<103,114,111,117,112,95,108,101,97,100,101,114>>]}]},{li,[],[{code,[],[<<116,111,116,97,108,95,104,101,97,112,95,115,105,122,101>>]}]},{li,[],[{code,[],[<<104,101,97,112,95,115,105,122,101>>]}]},{li,[],[{code,[],[<<115,116,97,99,107,95,115,105,122,101>>]}]},{li,[],[{code,[],[<<114,101,100,117,99,116,105,111,110,115>>]}]},{li,[],[{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>]}]}]},{p,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,104,97,115,32,97,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,44,32,97,108,115,111,32,97,110,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<32,119,105,116,104,32,105,116,101,109,32>>,{code,[],[<<114,101,103,105,115,116,101,114,101,100,95,110,97,109,101>>]},<<32,105,115,32,105,110,99,108,117,100,101,100,46>>]},{p,[],[<<70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,115,112,101,99,105,102,105,99,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,105,110,102,111,47,50>>]}]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32>>,{em,[],[<<100,101,98,117,103,103,105,110,103,32,111,110,108,121>>]},<<46,32,70,111,114,32,97,108,108,32,111,116,104,101,114,32,112,117,114,112,111,115,101,115,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,105,110,102,111,47,50>>]}]},<<46>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,46>>]}]},#{signature => [{attribute,{1994,2},spec,{{process_info,1},[{type,{1994,19},bounded_fun,[{type,{1994,19},'fun',[{type,{1994,19},product,[{var,{1994,20},'Pid'}]},{var,{1994,28},'Info'}]},[{type,{1995,7},constraint,[{atom,{1995,7},is_subtype},[{var,{1995,7},'Pid'},{type,{1995,14},pid,[]}]]},{type,{1996,7},constraint,[{atom,{1996,7},is_subtype},[{var,{1996,7},'Info'},{type,{1996,15},union,[{type,{1996,15},list,[{var,{1996,16},'InfoTuple'}]},{atom,{1996,29},undefined}]}]]},{type,{1997,7},constraint,[{atom,{1997,7},is_subtype},[{var,{1997,7},'InfoTuple'},{user_type,{1997,20},process_info_result_item,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,55,52,49>>}},{{function,process_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2777}],[<<112,114,111,99,101,115,115,95,105,110,102,111,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]},{li,[{name,<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>}],[]},{li,[{name,<<112,114,105,111,114,105,116,121,95,108,101,118,101,108>>}],[]},{li,[{name,<<112,114,111,99,101,115,115,95,105,110,102,111,95,105,116,101,109>>}],[]},{li,[{name,<<112,114,111,99,101,115,115,95,105,110,102,111,95,114,101,115,117,108,116,95,105,116,101,109>>}],[]},{li,[{name,<<115,116,97,99,107,95,105,116,101,109>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<44,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<32,111,114,32>>,{code,[],[<<73,116,101,109,76,105,115,116>>]},<<46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,97,108,105,118,101,46>>]},{p,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,97,108,105,118,101,32,97,110,100,32,97,32,115,105,110,103,108,101,32>>,{code,[],[<<73,116,101,109>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<44,32,117,110,108,101,115,115,32>>,{code,[],[<<73,116,101,109,32,61,58,61,32,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101>>]},<<32,97,110,100,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,115,32,110,111,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,46,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32>>,{code,[],[<<91,93>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,105,115,32,115,116,114,97,110,103,101,32,98,101,104,97,118,105,111,114,32,105,115,32,98,101,99,97,117,115,101,32,111,102,32,104,105,115,116,111,114,105,99,97,108,32,114,101,97,115,111,110,115,44,32,97,110,100,32,105,115,32,107,101,112,116,32,102,111,114,32,98,97,99,107,119,97,114,100,32,99,111,109,112,97,116,105,98,105,108,105,116,121,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<73,116,101,109,76,105,115,116>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101,76,105,115,116>>]},<<46,32,84,104,101,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,32,105,110,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101,76,105,115,116>>]},<<32,97,114,101,32,105,110,99,108,117,100,101,100,32,119,105,116,104,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32>>,{code,[],[<<73,116,101,109>>]},<<115,32,105,110,32,116,104,101,32,115,97,109,101,32,111,114,100,101,114,32,97,115,32,116,104,101,32>>,{code,[],[<<73,116,101,109>>]},<<115,32,119,101,114,101,32,105,110,99,108,117,100,101,100,32,105,110,32>>,{code,[],[<<73,116,101,109,76,105,115,116>>]},<<46,32,86,97,108,105,100,32>>,{code,[],[<<73,116,101,109>>]},<<115,32,99,97,110,32,98,101,32,105,110,99,108,117,100,101,100,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,32,105,110,32>>,{code,[],[<<73,116,101,109,76,105,115,116>>]},<<46>>]},{p,[],[<<71,101,116,116,105,110,103,32,112,114,111,99,101,115,115,32,105,110,102,111,114,109,97,116,105,111,110,32,102,111,108,108,111,119,115,32,116,104,101,32,115,105,103,110,97,108,32,111,114,100,101,114,105,110,103,32,103,117,97,114,97,110,116,101,101,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<80,114,111,99,101,115,115,101,115,32,67,104,97,112,116,101,114>>]},<<32,105,110,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,102,32>>,{code,[],[<<114,101,103,105,115,116,101,114,101,100,95,110,97,109,101>>]},<<32,105,115,32,112,97,114,116,32,111,102,32>>,{code,[],[<<73,116,101,109,76,105,115,116>>]},<<32,97,110,100,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,115,32,110,111,32,110,97,109,101,32,114,101,103,105,115,116,101,114,101,100,44,32,97,32>>,{code,[],[<<123,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101,44,32,91,93,125>>]},<<44,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<32>>,{em,[],[<<119,105,108,108>>]},<<32,98,101,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101,76,105,115,116>>]},<<46,32,84,104,105,115,32,98,101,104,97,118,105,111,114,32,105,115,32,100,105,102,102,101,114,101,110,116,32,119,104,101,110,32,97,32,115,105,110,103,108,101,32>>,{code,[],[<<73,116,101,109,32,61,58,61,32,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,97,110,100,32,119,104,101,110,32>>,{code,[],[<<112,114,111,99,101,115,115,95,105,110,102,111,47,49>>]},<<32,105,115,32,117,115,101,100,46>>]}]},{p,[],[<<86,97,108,105,100,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<115,32,119,105,116,104,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32>>,{code,[],[<<73,116,101,109>>]},<<115,58>>]},{dl,[],[{dt,[],[{a,[{id,<<112,114,111,99,101,115,115,95,105,110,102,111,95,97,115,121,110,99,95,100,105,115,116>>}],[]},{code,[],[<<123,97,115,121,110,99,95,100,105,115,116,44,32,69,110,97,98,108,101,100,125>>]}]},{dd,[],[{p,[],[<<83,105,110,99,101,58,32,79,84,80,32,50,53,46,51>>]},{p,[],[<<67,117,114,114,101,110,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,97,115,121,110,99,95,100,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]}]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,46>>]}]},{dt,[],[{code,[],[<<123,98,97,99,107,116,114,97,99,101,44,32,66,105,110,125>>]}]},{dd,[],[{p,[],[<<66,105,110,97,114,121,32>>,{code,[],[<<66,105,110>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,115,97,109,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,115,32,116,104,101,32,111,117,116,112,117,116,32,102,114,111,109,32>>,{code,[],[<<101,114,108,97,110,103,58,112,114,111,99,101,115,115,95,100,105,115,112,108,97,121,40,80,105,100,44,32,98,97,99,107,116,114,97,99,101,41>>]},<<46,32,85,115,101,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,108,105,115,116,47,49>>]},<<32,116,111,32,111,98,116,97,105,110,32,116,104,101,32,115,116,114,105,110,103,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,102,114,111,109,32,116,104,101,32,98,105,110,97,114,121,46>>]}]},{dt,[],[{code,[],[<<123,98,105,110,97,114,121,44,32,66,105,110,73,110,102,111,125>>]}]},{dd,[],[{p,[],[{code,[],[<<66,105,110,73,110,102,111>>]},<<32,105,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,109,105,115,99,101,108,108,97,110,101,111,117,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,98,105,110,97,114,105,101,115,32,111,110,32,116,104,101,32,104,101,97,112,32,111,102,32,116,104,105,115,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,111,114,32,114,101,109,111,118,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46,32,73,110,32,116,104,101,32,99,117,114,114,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32>>,{code,[],[<<66,105,110,73,110,102,111>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,117,112,108,101,115,46,32,84,104,101,32,116,117,112,108,101,115,32,99,111,110,116,97,105,110,59,32>>,{code,[],[<<66,105,110,97,114,121,73,100>>]},<<44,32>>,{code,[],[<<66,105,110,97,114,121,83,105,122,101>>]},<<44,32>>,{code,[],[<<66,105,110,97,114,121,82,101,102,99,67,111,117,110,116>>]},<<46>>]},{p,[],[<<68,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]}]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,109,97,121,32,98,101,32,115,116,111,114,101,100,32,111,110,32,116,104,101,32,104,101,97,112,46>>]}]},{dt,[],[{code,[],[<<123,99,97,116,99,104,108,101,118,101,108,44,32,67,97,116,99,104,76,101,118,101,108,125>>]}]},{dd,[],[{p,[],[{code,[],[<<67,97,116,99,104,76,101,118,101,108>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,117,114,114,101,110,116,108,121,32,97,99,116,105,118,101,32,99,97,116,99,104,101,115,32,105,110,32,116,104,105,115,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,111,114,32,114,101,109,111,118,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]},{dt,[],[{code,[],[<<123,99,117,114,114,101,110,116,95,102,117,110,99,116,105,111,110,44,32,123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,125,32,124,32,117,110,100,101,102,105,110,101,100,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,111,100,117,108,101>>]},<<44,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<44,32>>,{code,[],[<<65,114,105,116,121>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,99,97,108,108,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,101,32,118,97,108,117,101,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,99,97,110,32,98,101,32,114,101,116,117,114,110,101,100,32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,99,117,114,114,101,110,116,108,121,32,101,120,101,99,117,116,105,110,103,32,110,97,116,105,118,101,32,99,111,109,112,105,108,101,100,32,99,111,100,101,46>>]}]},{dt,[],[{code,[],[<<123,99,117,114,114,101,110,116,95,108,111,99,97,116,105,111,110,44,32,123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,44,32,76,111,99,97,116,105,111,110,125,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,111,100,117,108,101>>]},<<44,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<44,32>>,{code,[],[<<65,114,105,116,121>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,99,97,108,108,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32>>,{code,[],[<<76,111,99,97,116,105,111,110>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,119,111,45,116,117,112,108,101,115,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,108,111,99,97,116,105,111,110,32,105,110,32,116,104,101,32,115,111,117,114,99,101,32,99,111,100,101,46>>]}]},{dt,[],[{code,[],[<<123,99,117,114,114,101,110,116,95,115,116,97,99,107,116,114,97,99,101,44,32,83,116,97,99,107,125>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,99,97,108,108,32,115,116,97,99,107,32,98,97,99,107,45,116,114,97,99,101,32,40>>,{em,[],[<<115,116,97,99,107,116,114,97,99,101>>]},<<41,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,101,32,115,116,97,99,107,32,104,97,115,32,116,104,101,32,115,97,109,101,32,102,111,114,109,97,116,32,97,115,32,105,110,32,116,104,101,32>>,{code,[],[<<99,97,116,99,104>>]},<<32,112,97,114,116,32,111,102,32,97,32>>,{code,[],[<<116,114,121>>]},<<46,32,83,101,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115,35,115,116,97,99,107,116,114,97,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<84,104,101,32,99,97,108,108,45,115,116,97,99,107,32,98,97,99,107,32,116,114,97,99,101,32,40,115,116,97,99,107,116,114,97,99,101,41>>]},<<46,32,84,104,101,32,100,101,112,116,104,32,111,102,32,116,104,101,32,115,116,97,99,107,116,114,97,99,101,32,105,115,32,116,114,117,110,99,97,116,101,100,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32>>,{code,[],[<<98,97,99,107,116,114,97,99,101,95,100,101,112,116,104>>]},<<32,115,121,115,116,101,109,32,102,108,97,103,32,115,101,116,116,105,110,103,46>>]}]},{dt,[],[{code,[],[<<123,100,105,99,116,105,111,110,97,114,121,44,32,68,105,99,116,105,111,110,97,114,121,125>>]}]},{dd,[],[{p,[],[{code,[],[<<68,105,99,116,105,111,110,97,114,121>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,95,104,97,110,100,108,101,114,44,32,77,111,100,117,108,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,111,100,117,108,101>>]},<<32,105,115,32,116,104,101,32,101,114,114,111,114,32,104,97,110,100,108,101,114,32,109,111,100,117,108,101,32,117,115,101,100,32,98,121,32,116,104,101,32,112,114,111,99,101,115,115,32,40,102,111,114,32,117,110,100,101,102,105,110,101,100,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,44,32,102,111,114,32,101,120,97,109,112,108,101,41,46>>]}]},{dt,[],[{code,[],[<<123,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,44,32,71,67,73,110,102,111,125>>]}]},{dd,[],[{p,[],[{code,[],[<<71,67,73,110,102,111>>]},<<32,105,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,109,105,115,99,101,108,108,97,110,101,111,117,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,102,111,114,32,116,104,105,115,32,112,114,111,99,101,115,115,46,32,84,104,101,32,99,111,110,116,101,110,116,32,111,102,32>>,{code,[],[<<71,67,73,110,102,111>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]},{dt,[],[{a,[{id,<<112,114,111,99,101,115,115,95,105,110,102,111,95,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,95,105,110,102,111>>}],[]},{code,[],[<<123,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,95,105,110,102,111,44,32,71,67,73,110,102,111,125>>]}]},{dd,[],[{p,[],[{code,[],[<<71,67,73,110,102,111>>]},<<32,105,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,109,105,115,99,101,108,108,97,110,101,111,117,115,32,100,101,116,97,105,108,101,100,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,102,111,114,32,116,104,105,115,32,112,114,111,99,101,115,115,46,32,84,104,101,32,99,111,110,116,101,110,116,32,111,102,32>>,{code,[],[<<71,67,73,110,102,111>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46,32,70,111,114,32,100,101,116,97,105,108,115,32,97,98,111,117,116,32,116,104,101,32,109,101,97,110,105,110,103,32,111,102,32,101,97,99,104,32,105,116,101,109,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,103,99,95,109,105,110,111,114,95,115,116,97,114,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>]}]},<<32,105,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,103,114,111,117,112,95,108,101,97,100,101,114,44,32,71,114,111,117,112,76,101,97,100,101,114,125>>]}]},{dd,[],[{p,[],[{code,[],[<<71,114,111,117,112,76,101,97,100,101,114>>]},<<32,105,115,32,116,104,101,32,103,114,111,117,112,32,108,101,97,100,101,114,32,102,111,114,32,116,104,101,32,73,47,79,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<123,104,101,97,112,95,115,105,122,101,44,32,83,105,122,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<83,105,122,101>>]},<<32,105,115,32,116,104,101,32,115,105,122,101,32,105,110,32,119,111,114,100,115,32,111,102,32,116,104,101,32,121,111,117,110,103,101,115,116,32,104,101,97,112,32,103,101,110,101,114,97,116,105,111,110,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,103,101,110,101,114,97,116,105,111,110,32,105,110,99,108,117,100,101,115,32,116,104,101,32,112,114,111,99,101,115,115,32,115,116,97,99,107,46,32,84,104,105,115,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32,104,105,103,104,108,121,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,45,100,101,112,101,110,100,101,110,116,44,32,97,110,100,32,99,97,110,32,99,104,97,110,103,101,32,105,102,32,116,104,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,99,104,97,110,103,101,115,46>>]}]},{dt,[],[{code,[],[<<123,105,110,105,116,105,97,108,95,99,97,108,108,44,32,123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,125,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,111,100,117,108,101>>]},<<44,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<44,32>>,{code,[],[<<65,114,105,116,121>>]},<<32,105,115,32,116,104,101,32,105,110,105,116,105,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,32,119,105,116,104,32,119,104,105,99,104,32,116,104,101,32,112,114,111,99,101,115,115,32,119,97,115,32,115,112,97,119,110,101,100,46>>]}]},{dt,[],[{code,[],[<<123,108,105,110,107,115,44,32,80,105,100,115,65,110,100,80,111,114,116,115,125>>]}]},{dd,[],[{p,[],[{code,[],[<<80,105,100,115,65,110,100,80,111,114,116,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,115,32,97,110,100,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,115,44,32,119,105,116,104,32,112,114,111,99,101,115,115,101,115,32,111,114,32,112,111,114,116,115,32,116,111,32,119,104,105,99,104,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,115,32,97,32,108,105,110,107,46>>]}]},{dt,[],[{code,[],[<<123,108,97,115,116,95,99,97,108,108,115,44,32,102,97,108,115,101,124,67,97,108,108,115,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,99,97,108,108,32,115,97,118,105,110,103,32,105,115,32,110,111,116,32,97,99,116,105,118,101,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32,40,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,51>>]}]},<<41,46,32,73,102,32,99,97,108,108,32,115,97,118,105,110,103,32,105,115,32,97,99,116,105,118,101,44,32,97,32,108,105,115,116,32,105,115,32,114,101,116,117,114,110,101,100,44,32,105,110,32,119,104,105,99,104,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,32,105,115,32,116,104,101,32,109,111,115,116,32,114,101,99,101,110,116,32,99,97,108,108,101,100,46>>]}]},{dt,[],[{code,[],[<<123,109,101,109,111,114,121,44,32,83,105,122,101,125>>]}]},{dd,[],[{a,[{id,<<112,114,111,99,101,115,115,95,105,110,102,111,95,109,101,109,111,114,121>>}],[]},{p,[],[{code,[],[<<83,105,122,101>>]},<<32,105,115,32,116,104,101,32,115,105,122,101,32,105,110,32,98,121,116,101,115,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,105,110,99,108,117,100,101,115,32,99,97,108,108,32,115,116,97,99,107,44,32,104,101,97,112,44,32,97,110,100,32,105,110,116,101,114,110,97,108,32,115,116,114,117,99,116,117,114,101,115,46>>]}]},{dt,[],[{code,[],[<<123,109,101,115,115,97,103,101,95,113,117,101,117,101,95,108,101,110,44,32,77,101,115,115,97,103,101,81,117,101,117,101,76,101,110,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,101,115,115,97,103,101,81,117,101,117,101,76,101,110>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,109,101,115,115,97,103,101,115,32,99,117,114,114,101,110,116,108,121,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,105,115,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,108,105,115,116,32>>,{code,[],[<<77,101,115,115,97,103,101,81,117,101,117,101>>]},<<32,114,101,116,117,114,110,101,100,32,97,115,32,116,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,105,116,101,109,32>>,{code,[],[<<109,101,115,115,97,103,101,115>>]},<<32,40,115,101,101,32,98,101,108,111,119,41,46>>]}]},{dt,[],[{code,[],[<<123,109,101,115,115,97,103,101,115,44,32,77,101,115,115,97,103,101,81,117,101,117,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,101,115,115,97,103,101,81,117,101,117,101>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,104,101,32,109,101,115,115,97,103,101,115,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,44,32,119,104,105,99,104,32,104,97,118,101,32,110,111,116,32,121,101,116,32,98,101,101,110,32,112,114,111,99,101,115,115,101,100,46>>]}]},{dt,[],[{code,[],[<<123,109,105,110,95,104,101,97,112,95,115,105,122,101,44,32,77,105,110,72,101,97,112,83,105,122,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,105,110,72,101,97,112,83,105,122,101>>]},<<32,105,115,32,116,104,101,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<123,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101,44,32,77,105,110,66,105,110,86,72,101,97,112,83,105,122,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,105,110,66,105,110,86,72,101,97,112,83,105,122,101>>]},<<32,105,115,32,116,104,101,32,109,105,110,105,109,117,109,32,98,105,110,97,114,121,32,118,105,114,116,117,97,108,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<123,109,111,110,105,116,111,114,101,100,95,98,121,44,32,77,111,110,105,116,111,114,101,100,66,121,125>>]}]},{dd,[],[{p,[],[<<65,32,108,105,115,116,32,111,102,32,105,100,101,110,116,105,102,105,101,114,115,32,102,111,114,32,97,108,108,32,116,104,101,32,112,114,111,99,101,115,115,101,115,44,32,112,111,114,116,115,32,97,110,100,32,78,73,70,32,114,101,115,111,117,114,99,101,115,44,32,116,104,97,116,32,97,114,101,32,109,111,110,105,116,111,114,105,110,103,32,116,104,101,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<123,109,111,110,105,116,111,114,115,44,32,77,111,110,105,116,111,114,115,125>>]}]},{dd,[],[{p,[],[<<65,32,108,105,115,116,32,111,102,32,109,111,110,105,116,111,114,115,32,40,115,116,97,114,116,101,100,32,98,121,32>>,{code,[],[<<109,111,110,105,116,111,114,47,50>>]},<<41,32,116,104,97,116,32,97,114,101,32,97,99,116,105,118,101,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46,32,70,111,114,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,109,111,110,105,116,111,114,32,111,114,32,97,32,114,101,109,111,116,101,32,112,114,111,99,101,115,115,32,109,111,110,105,116,111,114,32,98,121,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,44,32,116,104,101,32,108,105,115,116,32,99,111,110,115,105,115,116,115,32,111,102,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,112,114,111,99,101,115,115,44,32,80,105,100,125>>]}]},{dd,[],[<<80,114,111,99,101,115,115,32,105,115,32,109,111,110,105,116,111,114,101,100,32,98,121,32,112,105,100,46>>]},{dt,[],[{code,[],[<<123,112,114,111,99,101,115,115,44,32,123,82,101,103,78,97,109,101,44,32,78,111,100,101,125,125>>]}]},{dd,[],[<<76,111,99,97,108,32,111,114,32,114,101,109,111,116,101,32,112,114,111,99,101,115,115,32,105,115,32,109,111,110,105,116,111,114,101,100,32,98,121,32,110,97,109,101,46>>]},{dt,[],[{code,[],[<<123,112,111,114,116,44,32,80,111,114,116,73,100,125>>]}]},{dd,[],[<<76,111,99,97,108,32,112,111,114,116,32,105,115,32,109,111,110,105,116,111,114,101,100,32,98,121,32,112,111,114,116,32,105,100,46>>]},{dt,[],[{code,[],[<<123,112,111,114,116,44,32,123,82,101,103,78,97,109,101,44,32,78,111,100,101,125,125>>]}]},{dd,[],[<<76,111,99,97,108,32,112,111,114,116,32,105,115,32,109,111,110,105,116,111,114,101,100,32,98,121,32,110,97,109,101,46,32,80,108,101,97,115,101,32,110,111,116,101,44,32,116,104,97,116,32,114,101,109,111,116,101,32,112,111,114,116,32,109,111,110,105,116,111,114,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,115,111,32>>,{code,[],[<<78,111,100,101>>]},<<32,119,105,108,108,32,97,108,119,97,121,115,32,98,101,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,110,97,109,101,46>>]}]}]},{dt,[],[{code,[],[<<123,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,44,32,77,81,68,125>>]}]},{dd,[],[{p,[],[{code,[],[<<77,81,68>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,101,105,116,104,101,114,32>>,{code,[],[<<111,102,102,95,104,101,97,112>>]},<<32,111,114,32>>,{code,[],[<<111,110,95,104,101,97,112>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,44,32,77,81,68,41>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,112,97,114,101,110,116,44,32,80,105,100,125>>]}]},{dd,[],[{p,[],[{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,112,97,114,101,110,116,32,112,114,111,99,101,115,115,44,32,116,104,101,32,111,110,101,32,116,104,97,116,32,115,112,97,119,110,101,100,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,46,32,87,104,101,110,32,116,104,101,32,112,114,111,99,101,115,115,32,100,111,101,115,32,110,111,116,32,104,97,118,101,32,97,32,112,97,114,101,110,116,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,79,110,108,121,32,116,104,101,32,105,110,105,116,105,97,108,32,112,114,111,99,101,115,115,32,40>>,{code,[],[<<105,110,105,116>>]},<<41,32,111,110,32,97,32,110,111,100,101,32,108,97,99,107,115,32,97,32,112,97,114,101,110,116,44,32,116,104,111,117,103,104,46>>]}]},{dt,[],[{code,[],[<<123,112,114,105,111,114,105,116,121,44,32,76,101,118,101,108,125>>]}]},{dd,[],[{p,[],[{code,[],[<<76,101,118,101,108>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,105,111,114,105,116,121,32,108,101,118,101,108,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,112,114,105,111,114,105,116,105,101,115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,112,114,105,111,114,105,116,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,112,114,105,111,114,105,116,121,44,32,76,101,118,101,108,41>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,114,101,100,117,99,116,105,111,110,115,44,32,78,117,109,98,101,114,125>>]}]},{dd,[],[{p,[],[{code,[],[<<78,117,109,98,101,114>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,100,117,99,116,105,111,110,115,32,101,120,101,99,117,116,101,100,32,98,121,32,116,104,101,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<123,114,101,103,105,115,116,101,114,101,100,95,110,97,109,101,44,32,65,116,111,109,125>>]}]},{dd,[],[{p,[],[{code,[],[<<65,116,111,109>>]},<<32,105,115,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,112,114,111,99,101,115,115,32,110,97,109,101,46,32,73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,115,32,110,111,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,44,32,116,104,105,115,32,116,117,112,108,101,32,105,115,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,108,105,115,116,46>>]}]},{dt,[],[{code,[],[<<123,115,101,113,117,101,110,116,105,97,108,95,116,114,97,99,101,95,116,111,107,101,110,44,32,91,93,32,124,32,83,101,113,117,101,110,116,105,97,108,84,114,97,99,101,84,111,107,101,110,125>>]}]},{dd,[],[{p,[],[{code,[],[<<83,101,113,117,101,110,116,105,97,108,84,114,97,99,101,84,111,107,101,110>>]},<<32,105,115,32,116,104,101,32,115,101,113,117,101,110,116,105,97,108,32,116,114,97,99,101,32,116,111,107,101,110,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,111,114,32,114,101,109,111,118,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]},{dt,[],[{code,[],[<<123,115,116,97,99,107,95,115,105,122,101,44,32,83,105,122,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<83,105,122,101>>]},<<32,105,115,32,116,104,101,32,115,116,97,99,107,32,115,105,122,101,44,32,105,110,32,119,111,114,100,115,44,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46>>]}]},{dt,[],[{code,[],[<<123,115,116,97,116,117,115,44,32,83,116,97,116,117,115,125>>]}]},{dd,[],[{p,[],[{code,[],[<<83,116,97,116,117,115>>]},<<32,105,115,32,116,104,101,32,115,116,97,116,117,115,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,97,110,100,32,105,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{ul,[],[{li,[],[{code,[],[<<101,120,105,116,105,110,103>>]}]},{li,[],[{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,110,103>>]}]},{li,[],[{code,[],[<<119,97,105,116,105,110,103>>]},<<32,40,102,111,114,32,97,32,109,101,115,115,97,103,101,41>>]},{li,[],[{code,[],[<<114,117,110,110,105,110,103>>]}]},{li,[],[{code,[],[<<114,117,110,110,97,98,108,101>>]},<<32,40,114,101,97,100,121,32,116,111,32,114,117,110,44,32,98,117,116,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,32,105,115,32,114,117,110,110,105,110,103,41>>]},{li,[],[{code,[],[<<115,117,115,112,101,110,100,101,100>>]},<<32,40,115,117,115,112,101,110,100,101,100,32,111,110,32,97,32,34,98,117,115,121,34,32,112,111,114,116,32,111,114,32,98,121,32,116,104,101,32,66,73,70,32>>,{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49,44,50>>]},<<41>>]}]}]},{dt,[],[{code,[],[<<123,115,117,115,112,101,110,100,105,110,103,44,32,83,117,115,112,101,110,100,101,101,76,105,115,116,125>>]}]},{dd,[],[{p,[],[{code,[],[<<83,117,115,112,101,110,100,101,101,76,105,115,116>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32>>,{code,[],[<<123,83,117,115,112,101,110,100,101,101,44,32,65,99,116,105,118,101,83,117,115,112,101,110,100,67,111,117,110,116,44,32,79,117,116,115,116,97,110,100,105,110,103,83,117,115,112,101,110,100,67,111,117,110,116,125>>]},<<32,116,117,112,108,101,115,46,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,112,114,111,99,101,115,115,32,116,104,97,116,32,104,97,115,32,98,101,101,110,44,32,111,114,32,105,115,32,116,111,32,98,101,44,32,115,117,115,112,101,110,100,101,100,32,98,121,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<32,116,104,114,111,117,103,104,32,116,104,101,32,66,73,70,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49>>]}]},<<46>>]},{p,[],[{code,[],[<<65,99,116,105,118,101,83,117,115,112,101,110,100,67,111,117,110,116>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,116,105,109,101,115,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,104,97,115,32,98,101,101,110,32,115,117,115,112,101,110,100,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<46,32>>,{code,[],[<<79,117,116,115,116,97,110,100,105,110,103,83,117,115,112,101,110,100,67,111,117,110,116>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,110,111,116,32,121,101,116,32,99,111,109,112,108,101,116,101,100,32,115,117,115,112,101,110,100,32,114,101,113,117,101,115,116,115,32,115,101,110,116,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<44,32,116,104,97,116,32,105,115,58>>]},{ul,[],[{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<65,99,116,105,118,101,83,117,115,112,101,110,100,67,111,117,110,116,32,61,47,61,32,48>>]},<<44,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,99,117,114,114,101,110,116,108,121,32,105,110,32,116,104,101,32,115,117,115,112,101,110,100,101,100,32,115,116,97,116,101,46>>]}]},{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<79,117,116,115,116,97,110,100,105,110,103,83,117,115,112,101,110,100,67,111,117,110,116,32,61,47,61,32,48>>]},<<44,32,111,112,116,105,111,110,32>>,{code,[],[<<97,115,121,110,99,104,114,111,110,111,117,115>>]},<<32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>]},<<32,104,97,115,32,98,101,101,110,32,117,115,101,100,32,97,110,100,32,116,104,101,32,115,117,115,112,101,110,100,101,101,32,104,97,115,32,110,111,116,32,121,101,116,32,98,101,101,110,32,115,117,115,112,101,110,100,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<46>>]}]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32>>,{code,[],[<<65,99,116,105,118,101,83,117,115,112,101,110,100,67,111,117,110,116>>]},<<32,97,110,100,32>>,{code,[],[<<79,117,116,115,116,97,110,100,105,110,103,83,117,115,112,101,110,100,67,111,117,110,116>>]},<<32,97,114,101,32,110,111,116,32,116,104,101,32,116,111,116,97,108,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<44,32,111,110,108,121,32,116,104,101,32,112,97,114,116,115,32,99,111,110,116,114,105,98,117,116,101,100,32,98,121,32>>,{code,[],[<<80,105,100>>]},<<46>>]}]},{dt,[],[{a,[{id,<<112,114,111,99,101,115,115,95,105,110,102,111,95,116,111,116,97,108,95,104,101,97,112,95,115,105,122,101>>}],[]},{code,[],[<<123,116,111,116,97,108,95,104,101,97,112,95,115,105,122,101,44,32,83,105,122,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<83,105,122,101>>]},<<32,105,115,32,116,104,101,32,116,111,116,97,108,32,115,105,122,101,44,32,105,110,32,119,111,114,100,115,44,32,111,102,32,97,108,108,32,104,101,97,112,32,102,114,97,103,109,101,110,116,115,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,105,110,99,108,117,100,101,115,32,116,104,101,32,112,114,111,99,101,115,115,32,115,116,97,99,107,32,97,110,100,32,97,110,121,32,117,110,114,101,99,101,105,118,101,100,32,109,101,115,115,97,103,101,115,32,116,104,97,116,32,97,114,101,32,99,111,110,115,105,100,101,114,101,100,32,116,111,32,98,101,32,112,97,114,116,32,111,102,32,116,104,101,32,104,101,97,112,46>>]}]},{dt,[],[{code,[],[<<123,116,114,97,99,101,44,32,73,110,116,101,114,110,97,108,84,114,97,99,101,70,108,97,103,115,125>>]}]},{dd,[],[{p,[],[{code,[],[<<73,110,116,101,114,110,97,108,84,114,97,99,101,70,108,97,103,115>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,114,101,112,114,101,115,101,110,116,105,110,103,32,116,104,101,32,105,110,116,101,114,110,97,108,32,116,114,97,99,101,32,102,108,97,103,32,102,111,114,32,116,104,105,115,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32>>,{code,[],[<<73,110,102,111,84,117,112,108,101>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,111,114,32,114,101,109,111,118,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]},{dt,[],[{code,[],[<<123,116,114,97,112,95,101,120,105,116,44,32,66,111,111,108,101,97,110,125>>]}]},{dd,[],[{p,[],[{code,[],[<<66,111,111,108,101,97,110>>]},<<32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,116,114,97,112,112,105,110,103,32,101,120,105,116,115,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,110,111,116,32,97,108,108,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,115,32,115,117,112,112,111,114,116,32,97,108,108,32,116,104,101,115,101,32>>,{code,[],[<<73,116,101,109>>]},<<115,46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<73,116,101,109>>]},<<32,105,115,32,97,110,32,105,110,118,97,108,105,100,32,105,116,101,109,46>>]}]}]},#{signature => [{attribute,{2777,2},spec,{{process_info,2},[{type,{2777,19},bounded_fun,[{type,{2777,19},'fun',[{type,{2777,19},product,[{var,{2777,20},'Pid'},{var,{2777,25},'Item'}]},{type,{2778,27},union,[{var,{2778,27},'InfoTuple'},{type,{2778,39},nil,[]},{atom,{2778,44},undefined}]}]},[{type,{2779,7},constraint,[{atom,{2779,7},is_subtype},[{var,{2779,7},'Pid'},{type,{2779,14},pid,[]}]]},{type,{2780,7},constraint,[{atom,{2780,7},is_subtype},[{var,{2780,7},'Item'},{user_type,{2780,15},process_info_item,[]}]]},{type,{2781,7},constraint,[{atom,{2781,7},is_subtype},[{var,{2781,7},'InfoTuple'},{user_type,{2781,20},process_info_result_item,[]}]]}]]},{type,{2782,19},bounded_fun,[{type,{2782,19},'fun',[{type,{2782,19},product,[{var,{2782,20},'Pid'},{var,{2782,25},'ItemList'}]},{type,{2782,38},union,[{var,{2782,38},'InfoTupleList'},{type,{2782,54},nil,[]},{atom,{2782,59},undefined}]}]},[{type,{2783,7},constraint,[{atom,{2783,7},is_subtype},[{var,{2783,7},'Pid'},{type,{2783,14},pid,[]}]]},{type,{2784,7},constraint,[{atom,{2784,7},is_subtype},[{var,{2784,7},'ItemList'},{type,{2784,19},list,[{var,{2784,20},'Item'}]}]]},{type,{2785,7},constraint,[{atom,{2785,7},is_subtype},[{var,{2785,7},'Item'},{user_type,{2785,15},process_info_item,[]}]]},{type,{2786,7},constraint,[{atom,{2786,7},is_subtype},[{var,{2786,7},'InfoTupleList'},{type,{2786,24},list,[{var,{2786,25},'InfoTuple'}]}]]},{type,{2787,7},constraint,[{atom,{2787,7},is_subtype},[{var,{2787,7},'InfoTuple'},{user_type,{2787,20},process_info_result_item,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,54,55,57,50>>}},{{function,processes,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2002}],[<<112,114,111,99,101,115,115,101,115,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,97,108,108,32,116,104,101,32,112,114,111,99,101,115,115,101,115,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,111,110,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,110,32,101,120,105,116,105,110,103,32,112,114,111,99,101,115,115,32,101,120,105,115,116,115,44,32,98,117,116,32,105,115,32,110,111,116,32,97,108,105,118,101,46,32,84,104,97,116,32,105,115,44,32>>,{code,[],[<<105,115,95,112,114,111,99,101,115,115,95,97,108,105,118,101,47,49>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,102,111,114,32,97,110,32,101,120,105,116,105,110,103,32,112,114,111,99,101,115,115,44,32,98,117,116,32,105,116,115,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32>>,{code,[],[<<112,114,111,99,101,115,115,101,115,47,48>>]},<<46>>]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,112,114,111,99,101,115,115,101,115,40,41,46,10,91,60,48,46,48,46,48,62,44,60,48,46,50,46,48,62,44,60,48,46,52,46,48,62,44,60,48,46,53,46,48,62,44,60,48,46,55,46,48,62,44,60,48,46,56,46,48,62,93>>]}]}]},#{signature => [{attribute,{2002,2},spec,{{processes,0},[{type,{2002,16},'fun',[{type,{2002,16},product,[]},{type,{2002,22},list,[{type,{2002,23},pid,[]}]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,49,53,53>>}},{{function,purge_module,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2007}],[<<112,117,114,103,101,95,109,111,100,117,108,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,109,111,118,101,115,32,111,108,100,32,99,111,100,101,32,102,111,114,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46,32,66,101,102,111,114,101,32,116,104,105,115,32,66,73,70,32,105,115,32,117,115,101,100,44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,104,101,99,107,95,112,114,111,99,101,115,115,95,99,111,100,101,47,50>>]}]},<<32,105,115,32,116,111,32,98,101,32,99,97,108,108,101,100,32,116,111,32,99,104,101,99,107,32,116,104,97,116,32,110,111,32,112,114,111,99,101,115,115,101,115,32,101,120,101,99,117,116,101,32,111,108,100,32,99,111,100,101,32,105,110,32,116,104,101,32,109,111,100,117,108,101,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,116,104,101,32,99,111,100,101,32,115,101,114,118,101,114,32,40,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,100,101,40,51,41>>]}]},<<41,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,101,108,115,101,119,104,101,114,101,46>>]}]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<65,115,32,102,114,111,109,32,69,82,84,83,32,56,46,48,32,40,69,114,108,97,110,103,47,79,84,80,32,49,57,41,44,32,97,110,121,32,108,105,110,103,101,114,105,110,103,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,115,116,105,108,108,32,101,120,101,99,117,116,101,32,116,104,101,32,111,108,100,32,99,111,100,101,32,105,115,32,107,105,108,108,101,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,32,73,110,32,101,97,114,108,105,101,114,32,118,101,114,115,105,111,110,115,44,32,115,117,99,104,32,105,110,99,111,114,114,101,99,116,32,117,115,101,32,99,111,117,108,100,32,99,97,117,115,101,32,109,117,99,104,32,109,111,114,101,32,102,97,116,97,108,32,102,97,105,108,117,114,101,115,44,32,108,105,107,101,32,101,109,117,108,97,116,111,114,32,99,114,97,115,104,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,114,101,32,105,115,32,110,111,32,111,108,100,32,99,111,100,101,32,102,111,114,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46>>]}]},#{signature => [{attribute,{2007,2},spec,{{purge_module,1},[{type,{2007,19},bounded_fun,[{type,{2007,19},'fun',[{type,{2007,19},product,[{var,{2007,20},'Module'}]},{atom,{2007,31},true}]},[{type,{2008,7},constraint,[{atom,{2008,7},is_subtype},[{var,{2008,7},'Module'},{type,{2008,17},atom,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,49,55,50>>}},{{function,put,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2021}],[<<112,117,116,47,50>>],#{<<101,110>> => [{p,[],[<<65,100,100,115,32,97,32,110,101,119,32>>,{code,[],[<<75,101,121>>]},<<32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,44,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<86,97,108>>]},<<44,32,97,110,100,32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46,32,73,102,32>>,{code,[],[<<75,101,121>>]},<<32,101,120,105,115,116,115,44,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,105,115,32,100,101,108,101,116,101,100,32,97,110,100,32,114,101,112,108,97,99,101,100,32,98,121,32>>,{code,[],[<<86,97,108>>]},<<44,32,97,110,100,32,116,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,46,32,84,104,101,32,97,118,101,114,97,103,101,32,116,105,109,101,32,99,111,109,112,108,101,120,105,116,121,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,79,40>>,{code,[],[<<49>>]},<<41,32,97,110,100,32,116,104,101,32,119,111,114,115,116,32,99,97,115,101,32,116,105,109,101,32,99,111,109,112,108,101,120,105,116,121,32,105,115,32,79,40>>,{code,[],[<<78>>]},<<41,44,32,119,104,101,114,101,32>>,{code,[],[<<78>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,105,116,101,109,115,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,100,105,99,116,105,111,110,97,114,121,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,88,32,61,32,112,117,116,40,110,97,109,101,44,32,119,97,108,114,117,115,41,44,32,89,32,61,32,112,117,116,40,110,97,109,101,44,32,99,97,114,112,101,110,116,101,114,41,44,10,90,32,61,32,103,101,116,40,110,97,109,101,41,44,10,123,88,44,32,89,44,32,90,125,46,10,123,117,110,100,101,102,105,110,101,100,44,119,97,108,114,117,115,44,99,97,114,112,101,110,116,101,114,125>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,118,97,108,117,101,115,32,115,116,111,114,101,100,32,119,104,101,110,32>>,{code,[],[<<112,117,116>>]},<<32,105,115,32,101,118,97,108,117,97,116,101,100,32,119,105,116,104,105,110,32,116,104,101,32,115,99,111,112,101,32,111,102,32,97,32>>,{code,[],[<<99,97,116,99,104>>]},<<32,97,114,101,32,110,111,116,32,114,101,116,114,97,99,116,101,100,32,105,102,32,97,32>>,{code,[],[<<116,104,114,111,119>>]},<<32,105,115,32,101,118,97,108,117,97,116,101,100,44,32,111,114,32,105,102,32,97,110,32,101,114,114,111,114,32,111,99,99,117,114,115,46>>]}]}]},#{signature => [{attribute,{2021,2},spec,{{put,2},[{type,{2021,10},bounded_fun,[{type,{2021,10},'fun',[{type,{2021,10},product,[{var,{2021,11},'Key'},{var,{2021,16},'Val'}]},{type,{2021,24},term,[]}]},[{type,{2022,7},constraint,[{atom,{2022,7},is_subtype},[{var,{2022,7},'Key'},{type,{2022,14},term,[]}]]},{type,{2023,7},constraint,[{atom,{2023,7},is_subtype},[{var,{2023,7},'Val'},{type,{2023,14},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,49,57,55>>}},{{function,raise,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2029}],[<<114,97,105,115,101,47,51>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<114,97,105,115,101,95,115,116,97,99,107,116,114,97,99,101>>}],[]}]},{p,[],[<<82,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,99,108,97,115,115,44,32,114,101,97,115,111,110,44,32,97,110,100,32,99,97,108,108,32,115,116,97,99,107,32,98,97,99,107,116,114,97,99,101,32,40>>,{em,[],[<<115,116,97,99,107,116,114,97,99,101>>]},<<41,46>>]},{p,[],[{code,[],[<<67,108,97,115,115>>]},<<32,105,115,32>>,{code,[],[<<101,114,114,111,114>>]},<<44,32>>,{code,[],[<<101,120,105,116>>]},<<44,32,111,114,32>>,{code,[],[<<116,104,114,111,119>>]},<<46,32,83,111,44,32,105,102,32,105,116,32,119,101,114,101,32,110,111,116,32,102,111,114,32,116,104,101,32,115,116,97,99,107,116,114,97,99,101,44,32>>,{code,[],[<<101,114,108,97,110,103,58,114,97,105,115,101,40,67,108,97,115,115,44,32,82,101,97,115,111,110,44,32,83,116,97,99,107,116,114,97,99,101,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,67,108,97,115,115,40,82,101,97,115,111,110,41>>]},<<32,40,103,105,118,101,110,32,116,104,97,116,32>>,{code,[],[<<67,108,97,115,115>>]},<<32,105,115,32,97,32,118,97,108,105,100,32,99,108,97,115,115,41,46>>]},{p,[],[{code,[],[<<82,101,97,115,111,110>>]},<<32,99,97,110,32,98,101,32,97,110,121,32,116,101,114,109,46>>]},{p,[],[{code,[],[<<83,116,97,99,107,116,114,97,99,101>>]},<<32,105,115,32,97,32,108,105,115,116,32,97,115,32,112,114,111,118,105,100,101,100,32,105,110,32,97,32,116,114,121,45,99,97,116,99,104,32,99,108,97,117,115,101,46>>]},{pre,[],[{code,[],[<<116,114,121,10,32,32,32,32,46,46,46,10,99,97,116,99,104,32,67,108,97,115,115,58,82,101,97,115,111,110,58,83,116,97,99,107,116,114,97,99,101,32,45,62,10,32,32,32,32,46,46,46,10,101,110,100>>]}]},{p,[],[<<84,104,97,116,32,105,115,44,32,97,32,108,105,115,116,32,111,102,32,102,111,117,114,45,116,117,112,108,101,115,32>>,{code,[],[<<123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,32,124,32,65,114,103,115,44,32,69,120,116,114,97,73,110,102,111,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<32,97,110,100,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,97,114,101,32,97,116,111,109,115,44,32,97,110,100,32,116,104,101,32,116,104,105,114,100,32,101,108,101,109,101,110,116,32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,97,114,105,116,121,32,111,114,32,97,110,32,97,114,103,117,109,101,110,116,32,108,105,115,116,46,32,84,104,101,32,115,116,97,99,107,116,114,97,99,101,32,99,97,110,32,97,108,115,111,32,99,111,110,116,97,105,110,32>>,{code,[],[<<123,70,117,110,44,32,65,114,103,115,44,32,69,120,116,114,97,73,110,102,111,125>>]},<<32,116,117,112,108,101,115,44,32,119,104,101,114,101,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,32,108,111,99,97,108,32,102,117,110,32,97,110,100,32>>,{code,[],[<<65,114,103,115>>]},<<32,105,115,32,97,110,32,97,114,103,117,109,101,110,116,32,108,105,115,116,46>>]},{p,[],[<<69,108,101,109,101,110,116,32>>,{code,[],[<<69,120,116,114,97,73,110,102,111>>]},<<32,97,116,32,116,104,101,32,101,110,100,32,105,115,32,111,112,116,105,111,110,97,108,46,32,79,109,105,116,116,105,110,103,32,105,116,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,115,112,101,99,105,102,121,105,110,103,32,97,110,32,101,109,112,116,121,32,108,105,115,116,46>>]},{p,[],[<<84,104,101,32,115,116,97,99,107,116,114,97,99,101,32,105,115,32,117,115,101,100,32,97,115,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,115,116,97,99,107,116,114,97,99,101,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,59,32,105,116,32,105,115,32,116,114,117,110,99,97,116,101,100,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,120,105,109,117,109,32,115,116,97,99,107,116,114,97,99,101,32,100,101,112,116,104,46>>]},{p,[],[<<65,115,32,101,118,97,108,117,97,116,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,99,97,117,115,101,115,32,116,104,101,32,112,114,111,99,101,115,115,32,116,111,32,116,101,114,109,105,110,97,116,101,44,32,105,116,32,104,97,115,32,110,111,32,114,101,116,117,114,110,32,118,97,108,117,101,32,117,110,108,101,115,115,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,105,110,118,97,108,105,100,44,32,105,110,32,119,104,105,99,104,32,99,97,115,101,32,116,104,101,32,102,117,110,99,116,105,111,110,32>>,{em,[],[<<114,101,116,117,114,110,115,32,116,104,101,32,101,114,114,111,114,32,114,101,97,115,111,110>>]},<<32>>,{code,[],[<<98,97,100,97,114,103>>]},<<46,32,73,102,32,121,111,117,32,119,97,110,116,32,116,111,32,98,101,32,115,117,114,101,32,110,111,116,32,116,111,32,114,101,116,117,114,110,44,32,121,111,117,32,99,97,110,32,99,97,108,108,32>>,{code,[],[<<101,114,114,111,114,40,101,114,108,97,110,103,58,114,97,105,115,101,40,67,108,97,115,115,44,32,82,101,97,115,111,110,44,32,83,116,97,99,107,116,114,97,99,101,41,41>>]},<<32,97,110,100,32,104,111,112,101,32,116,111,32,100,105,115,116,105,110,103,117,105,115,104,32,101,120,99,101,112,116,105,111,110,115,32,108,97,116,101,114,46>>]},{p,[],[<<83,101,101,32,116,104,101,32,114,101,102,101,114,101,110,99,101,32,109,97,110,117,97,108,32,97,98,111,117,116,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,114,114,111,114,115,32,97,110,100,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103>>]},<<32,102,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,101,120,99,101,112,116,105,111,110,32,99,108,97,115,115,101,115,32,97,110,100,32,104,111,119,32,116,111,32,99,97,116,99,104,32,101,120,99,101,112,116,105,111,110,115,46>>]}]},#{signature => [{attribute,{2029,2},spec,{{erlang,raise,3},[{type,{2029,19},bounded_fun,[{type,{2029,19},'fun',[{type,{2029,19},product,[{var,{2029,20},'Class'},{var,{2029,27},'Reason'},{var,{2029,35},'Stacktrace'}]},{atom,{2029,50},badarg}]},[{type,{2030,7},constraint,[{atom,{2030,7},is_subtype},[{var,{2030,7},'Class'},{type,{2030,16},union,[{atom,{2030,16},error},{atom,{2030,26},exit},{atom,{2030,35},throw}]}]]},{type,{2031,7},constraint,[{atom,{2031,7},is_subtype},[{var,{2031,7},'Reason'},{type,{2031,17},term,[]}]]},{type,{2032,7},constraint,[{atom,{2032,7},is_subtype},[{var,{2032,7},'Stacktrace'},{type,{2032,21},union,[{user_type,{2032,21},raise_stacktrace,[]},{user_type,{2032,42},stacktrace,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,50,50,51>>}},{{function,read_timer,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2037}],[<<114,101,97,100,95,116,105,109,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,97,100,115,32,116,104,101,32,115,116,97,116,101,32,111,102,32,97,32,116,105,109,101,114,46,32,84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,97,100,95,116,105,109,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114,40,84,105,109,101,114,82,101,102,44,32,91,93,41>>]}]},<<46>>]}]},#{signature => [{attribute,{2037,2},spec,{{erlang,read_timer,1},[{type,{2037,24},bounded_fun,[{type,{2037,24},'fun',[{type,{2037,24},product,[{var,{2037,25},'TimerRef'}]},{var,{2037,38},'Result'}]},[{type,{2038,7},constraint,[{atom,{2038,7},is_subtype},[{var,{2038,7},'TimerRef'},{type,{2038,19},reference,[]}]]},{type,{2039,7},constraint,[{atom,{2039,7},is_subtype},[{var,{2039,7},'Time'},{type,{2039,15},non_neg_integer,[]}]]},{type,{2040,7},constraint,[{atom,{2040,7},is_subtype},[{var,{2040,7},'Result'},{type,{2040,17},union,[{var,{2040,17},'Time'},{atom,{2040,24},false}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,50,55,51>>}},{{function,read_timer,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2046}],[<<114,101,97,100,95,116,105,109,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,97,100,115,32,116,104,101,32,115,116,97,116,101,32,111,102,32,97,32,116,105,109,101,114,32,116,104,97,116,32,104,97,115,32,98,101,101,110,32,99,114,101,97,116,101,100,32,98,121,32,101,105,116,104,101,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,114,116,95,116,105,109,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,97,102,116,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114>>]}]},<<46,32>>,{code,[],[<<84,105,109,101,114,82,101,102>>]},<<32,105,100,101,110,116,105,102,105,101,115,32,116,104,101,32,116,105,109,101,114,44,32,97,110,100,32,119,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32,116,104,101,32,66,73,70,32,116,104,97,116,32,99,114,101,97,116,101,100,32,116,104,101,32,116,105,109,101,114,46>>]},{p,[],[{code,[],[<<79,112,116,105,111,110,115>>]},<<58>>]},{dl,[],[{dt,[],[{code,[],[<<123,97,115,121,110,99,44,32,65,115,121,110,99,125>>]}]},{dd,[],[{p,[],[<<65,115,121,110,99,104,114,111,110,111,117,115,32,114,101,113,117,101,115,116,32,102,111,114,32,115,116,97,116,101,32,105,110,102,111,114,109,97,116,105,111,110,46,32>>,{code,[],[<<65,115,121,110,99>>]},<<32,100,101,102,97,117,108,116,115,32,116,111,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,119,104,105,99,104,32,99,97,117,115,101,115,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,116,111,32,98,101,32,112,101,114,102,111,114,109,101,100,32,115,121,110,99,104,114,111,110,111,117,115,108,121,46,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32,116,104,101,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114>>]},<<46,32,87,104,101,110,32>>,{code,[],[<<65,115,121,110,99>>]},<<32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<44,32>>,{code,[],[<<101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114>>]},<<32,115,101,110,100,115,32,97,110,32,97,115,121,110,99,104,114,111,110,111,117,115,32,114,101,113,117,101,115,116,32,102,111,114,32,116,104,101,32,115,116,97,116,101,32,105,110,102,111,114,109,97,116,105,111,110,32,116,111,32,116,104,101,32,116,105,109,101,114,32,115,101,114,118,105,99,101,32,116,104,97,116,32,109,97,110,97,103,101,115,32,116,104,101,32,116,105,109,101,114,44,32,97,110,100,32,116,104,101,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<46,32,65,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,114,109,97,116,32>>,{code,[],[<<123,114,101,97,100,95,116,105,109,101,114,44,32,84,105,109,101,114,82,101,102,44,32,82,101,115,117,108,116,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114>>]},<<32,119,104,101,110,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,114,111,99,101,115,115,101,100,46>>]}]}]},{p,[],[<<77,111,114,101,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,44,32,105,116,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,116,105,109,101,32,105,110,32,109,105,108,108,105,115,101,99,111,110,100,115,32,108,101,102,116,32,117,110,116,105,108,32,116,104,101,32,116,105,109,101,114,32,101,120,112,105,114,101,115,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<82,101,115,117,108,116>>]},<<32,105,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<44,32,97,32,116,105,109,101,114,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32>>,{code,[],[<<84,105,109,101,114,82,101,102>>]},<<32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,46,32,84,104,105,115,32,98,101,99,97,117,115,101,32,116,104,101,32,116,105,109,101,114,32,104,97,100,32,101,120,112,105,114,101,100,44,32,111,114,32,98,101,101,110,32,99,97,110,99,101,108,101,100,44,32,111,114,32,98,101,99,97,117,115,101,32>>,{code,[],[<<84,105,109,101,114,82,101,102>>]},<<32,110,101,118,101,114,32,104,97,115,32,99,111,114,114,101,115,112,111,110,100,101,100,32,116,111,32,97,32,116,105,109,101,114,46,32,69,118,101,110,32,105,102,32,116,104,101,32,116,105,109,101,114,32,104,97,115,32,101,120,112,105,114,101,100,44,32,105,116,32,100,111,101,115,32,110,111,116,32,116,101,108,108,32,121,111,117,32,119,104,101,116,104,101,114,32,111,114,32,110,111,116,32,116,104,101,32,116,105,109,101,45,111,117,116,32,109,101,115,115,97,103,101,32,104,97,115,32,97,114,114,105,118,101,100,32,97,116,32,105,116,115,32,100,101,115,116,105,110,97,116,105,111,110,32,121,101,116,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,116,105,109,101,114,32,115,101,114,118,105,99,101,32,116,104,97,116,32,109,97,110,97,103,101,115,32,116,104,101,32,116,105,109,101,114,32,99,97,110,32,98,101,32,99,111,45,108,111,99,97,116,101,100,32,119,105,116,104,32,97,110,111,116,104,101,114,32,115,99,104,101,100,117,108,101,114,32,116,104,97,110,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46,32,73,102,32,115,111,44,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,119,105,116,104,32,116,104,101,32,116,105,109,101,114,32,115,101,114,118,105,99,101,32,116,97,107,101,115,32,109,117,99,104,32,108,111,110,103,101,114,32,116,105,109,101,32,116,104,97,110,32,105,102,32,105,116,32,105,115,32,108,111,99,97,116,101,100,32,108,111,99,97,108,108,121,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,105,110,32,97,32,99,114,105,116,105,99,97,108,32,112,97,116,104,44,32,97,110,100,32,99,97,110,32,100,111,32,111,116,104,101,114,32,116,104,105,110,103,115,32,119,104,105,108,101,32,119,97,105,116,105,110,103,32,102,111,114,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,105,115,32,111,112,101,114,97,116,105,111,110,44,32,121,111,117,32,119,97,110,116,32,116,111,32,117,115,101,32,111,112,116,105,111,110,32>>,{code,[],[<<123,97,115,121,110,99,44,32,116,114,117,101,125>>]},<<46,32,73,102,32,117,115,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<123,97,115,121,110,99,44,32,102,97,108,115,101,125>>]},<<44,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,98,108,111,99,107,101,100,32,117,110,116,105,108,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,112,101,114,102,111,114,109,101,100,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,97,102,116,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114,47,52>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,114,116,95,116,105,109,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114,47,52>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,97,110,99,101,108,95,116,105,109,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,97,110,99,101,108,95,116,105,109,101,114,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{2046,2},spec,{{erlang,read_timer,2},[{type,{2046,24},bounded_fun,[{type,{2046,24},'fun',[{type,{2046,24},product,[{var,{2046,25},'TimerRef'},{var,{2046,35},'Options'}]},{type,{2046,47},union,[{var,{2046,47},'Result'},{atom,{2046,56},ok}]}]},[{type,{2047,7},constraint,[{atom,{2047,7},is_subtype},[{var,{2047,7},'TimerRef'},{type,{2047,19},reference,[]}]]},{type,{2048,7},constraint,[{atom,{2048,7},is_subtype},[{var,{2048,7},'Async'},{type,{2048,16},boolean,[]}]]},{type,{2049,7},constraint,[{atom,{2049,7},is_subtype},[{var,{2049,7},'Option'},{type,{2049,17},tuple,[{atom,{2049,18},async},{var,{2049,25},'Async'}]}]]},{type,{2050,7},constraint,[{atom,{2050,7},is_subtype},[{var,{2050,7},'Options'},{type,{2050,18},list,[{var,{2050,19},'Option'}]}]]},{type,{2051,7},constraint,[{atom,{2051,7},is_subtype},[{var,{2051,7},'Time'},{type,{2051,15},non_neg_integer,[]}]]},{type,{2052,7},constraint,[{atom,{2052,7},is_subtype},[{var,{2052,7},'Result'},{type,{2052,17},union,[{var,{2052,17},'Time'},{atom,{2052,24},false}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,50,56,51>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,ref_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2058}],[<<114,101,102,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,116,101,120,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32>>,{code,[],[<<82,101,102>>]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,97,110,100,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,97,112,112,108,105,99,97,116,105,111,110,32,112,114,111,103,114,97,109,115,46>>]}]}]},#{signature => [{attribute,{2058,2},spec,{{ref_to_list,1},[{type,{2058,18},bounded_fun,[{type,{2058,18},'fun',[{type,{2058,18},product,[{var,{2058,19},'Ref'}]},{type,{2058,27},string,[]}]},[{type,{2059,7},constraint,[{atom,{2059,7},is_subtype},[{var,{2059,7},'Ref'},{type,{2059,14},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,51,51,57>>}},{{function,register,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2064}],[<<114,101,103,105,115,116,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,103,105,115,116,101,114,115,32,116,104,101,32,110,97,109,101,32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,119,105,116,104,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,114,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32,105,110,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,114,117,110,116,105,109,101,45,115,101,114,118,105,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<110,97,109,101,32,114,101,103,105,115,116,114,121>>]}]},<<46,32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<44,32,119,104,105,99,104,32,109,117,115,116,32,98,101,32,97,110,32,97,116,111,109,44,32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,115,116,101,97,100,32,111,102,32,116,104,101,32,112,105,100,32,111,114,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32,105,110,32,115,101,110,100,32,111,112,101,114,97,116,111,114,32,40>>,{code,[],[<<82,101,103,78,97,109,101,32,33,32,77,101,115,115,97,103,101>>]},<<41,32,97,110,100,32,109,111,115,116,32,111,116,104,101,114,32,66,73,70,115,32,116,104,97,116,32,116,97,107,101,32,97,32,112,105,100,32,111,114,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,115,32,97,115,32,97,110,32,97,114,103,117,109,101,110,116,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,114,101,103,105,115,116,101,114,40,100,98,44,32,80,105,100,41,46,10,116,114,117,101>>]}]},{p,[],[<<84,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,105,115,32,99,111,110,115,105,100,101,114,101,100,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,118,105,115,105,98,108,101,45,114,101,115,111,117,114,99,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<68,105,114,101,99,116,108,121,32,86,105,115,105,98,108,101,32,69,114,108,97,110,103,32,82,101,115,111,117,114,99,101>>]},<<32,97,110,100,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,117,110,114,101,103,105,115,116,101,114,101,100,32,119,104,101,110,32,116,104,101,32,112,114,111,99,101,115,115,32,116,101,114,109,105,110,97,116,101,115,46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<80,105,100,79,114,80,111,114,116>>]},<<32,105,115,32,110,111,116,32,97,110,32,101,120,105,115,116,105,110,103,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,105,115,32,97,108,114,101,97,100,121,32,114,101,103,105,115,116,101,114,101,100,32,40,97,108,114,101,97,100,121,32,104,97,115,32,97,32,110,97,109,101,41,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,105,115,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]}]}]},#{signature => [{attribute,{2064,2},spec,{{register,2},[{type,{2064,15},bounded_fun,[{type,{2064,15},'fun',[{type,{2064,15},product,[{var,{2064,16},'RegName'},{var,{2064,25},'PidOrPort'}]},{atom,{2064,39},true}]},[{type,{2065,7},constraint,[{atom,{2065,7},is_subtype},[{var,{2065,7},'RegName'},{type,{2065,18},atom,[]}]]},{type,{2066,7},constraint,[{atom,{2066,7},is_subtype},[{var,{2066,7},'PidOrPort'},{type,{2066,20},union,[{type,{2066,20},port,[]},{type,{2066,29},pid,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,51,53,50>>}},{{function,registered,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2071}],[<<114,101,103,105,115,116,101,114,101,100,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,110,97,109,101,115,32,116,104,97,116,32,104,97,118,101,32,98,101,101,110,32,114,101,103,105,115,116,101,114,101,100,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,103,105,115,116,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,103,105,115,116,101,114,47,50>>]}]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,114,101,103,105,115,116,101,114,101,100,40,41,46,10,91,99,111,100,101,95,115,101,114,118,101,114,44,32,102,105,108,101,95,115,101,114,118,101,114,44,32,105,110,105,116,44,32,117,115,101,114,44,32,109,121,95,100,98,93>>]}]}]},#{signature => [{attribute,{2071,2},spec,{{registered,0},[{type,{2071,17},bounded_fun,[{type,{2071,17},'fun',[{type,{2071,17},product,[]},{type,{2071,23},list,[{var,{2071,24},'RegName'}]}]},[{type,{2072,7},constraint,[{atom,{2072,7},is_subtype},[{var,{2072,7},'RegName'},{type,{2072,18},atom,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,51,56,56>>}},{{function,resume_process,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2077}],[<<114,101,115,117,109,101,95,112,114,111,99,101,115,115,47,49>>],#{<<101,110>> => [{p,[],[<<68,101,99,114,101,97,115,101,115,32,116,104,101,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<46,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,112,114,101,118,105,111,117,115,108,121,32,116,111,32,104,97,118,101,32,98,101,101,110,32,115,117,115,112,101,110,100,101,100,32,116,104,114,111,117,103,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49>>]}]},<<32,98,121,32,116,104,101,32,112,114,111,99,101,115,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,114,101,115,117,109,101,95,112,114,111,99,101,115,115,40,83,117,115,112,101,110,100,101,101,41>>]},<<46,32,87,104,101,110,32,116,104,101,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,114,101,97,99,104,101,115,32,122,101,114,111,44,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,114,101,115,117,109,101,100,44,32,116,104,97,116,32,105,115,44,32,105,116,115,32,115,116,97,116,101,32,105,115,32,99,104,97,110,103,101,100,32,102,114,111,109,32,115,117,115,112,101,110,100,101,100,32,105,110,116,111,32,116,104,101,32,115,116,97,116,101,32,105,116,32,104,97,100,32,98,101,102,111,114,101,32,105,116,32,119,97,115,32,115,117,115,112,101,110,100,101,100,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,111,110,108,121,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,110,111,116,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,114,101,115,117,109,101,95,112,114,111,99,101,115,115,47,49>>]},<<32,104,97,100,32,110,111,116,32,112,114,101,118,105,111,117,115,108,121,32,105,110,99,114,101,97,115,101,100,32,116,104,101,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,110,111,116,32,97,108,105,118,101,46>>]}]}]},#{signature => [{attribute,{2077,2},spec,{{erlang,resume_process,1},[{type,{2077,28},bounded_fun,[{type,{2077,28},'fun',[{type,{2077,28},product,[{var,{2077,29},'Suspendee'}]},{atom,{2077,43},true}]},[{type,{2078,7},constraint,[{atom,{2078,7},is_subtype},[{var,{2078,7},'Suspendee'},{type,{2078,20},pid,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,52,48,49>>}},{{function,round,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2084}],[<<114,111,117,110,100,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,98,121,32,114,111,117,110,100,105,110,103,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<114,111,117,110,100,40,52,50,46,49,41,46,10,52,50>>]}]},{pre,[],[{code,[],[<<114,111,117,110,100,40,53,46,53,41,46,10,54>>]}]},{pre,[],[{code,[],[<<114,111,117,110,100,40,45,53,46,53,41,46,10,45,54>>]}]},{pre,[],[{code,[],[<<114,111,117,110,100,40,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,57,46,48,41,46,10,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56>>]}]},{p,[],[<<73,110,32,116,104,101,32,108,97,115,116,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<114,111,117,110,100,40,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,57,46,48,41>>]},<<32,101,118,97,108,117,97,116,101,115,32,116,111,32>>,{code,[],[<<51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56>>]},<<46,32,84,104,101,32,114,101,97,115,111,110,32,102,111,114,32,116,104,105,115,32,105,115,32,116,104,97,116,32,116,104,101,32,110,117,109,98,101,114,32>>,{code,[],[<<51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,57,46,48>>]},<<32,99,97,110,110,111,116,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,101,120,97,99,116,108,121,32,97,115,32,97,32,102,108,111,97,116,32,118,97,108,117,101,46,32,73,110,115,116,101,97,100,44,32,116,104,101,32,102,108,111,97,116,32,108,105,116,101,114,97,108,32,105,115,32,114,101,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56,46,48>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,99,108,111,115,101,115,116,32,110,117,109,98,101,114,32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,101,120,97,99,116,108,121,32,97,115,32,97,32,102,108,111,97,116,32,118,97,108,117,101,46,32,83,101,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,102,108,111,97,116,95,114,101,112,114,101,115,101,110,116,97,116,105,111,110,95,112,114,111,98,108,101,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<82,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,70,108,111,97,116,105,110,103,32,80,111,105,110,116,32,78,117,109,98,101,114,115>>]},<<32,102,111,114,32,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2084,2},spec,{{round,1},[{type,{2084,12},bounded_fun,[{type,{2084,12},'fun',[{type,{2084,12},product,[{var,{2084,13},'Number'}]},{type,{2084,24},integer,[]}]},[{type,{2085,7},constraint,[{atom,{2085,7},is_subtype},[{var,{2085,7},'Number'},{type,{2085,17},number,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,52,52,50>>}},{{function,self,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2091}],[<<115,101,108,102,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,115,101,108,102,40,41,46,10,60,48,46,50,54,46,48,62>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2091,2},spec,{{self,0},[{type,{2091,11},'fun',[{type,{2091,11},product,[]},{type,{2091,17},pid,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,52,55,51>>}},{{function,send,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2791}],[<<115,101,110,100,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,110,100,115,32,97,32,109,101,115,115,97,103,101,32,97,110,100,32,114,101,116,117,114,110,115,32>>,{code,[],[<<77,115,103>>]},<<46,32,84,104,105,115,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,117,115,105,110,103,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,115,101,110,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,101,110,100,32,111,112,101,114,97,116,111,114>>]},<<58,32>>,{code,[],[<<68,101,115,116,32,33,32,77,115,103>>]},<<46>>]},{p,[],[{code,[],[<<68,101,115,116>>]},<<32,99,97,110,32,98,101,32,97,32,114,101,109,111,116,101,32,111,114,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,44,32,97,110,32,97,108,105,97,115,44,32,97,32,40,108,111,99,97,108,41,32,112,111,114,116,44,32,97,32,108,111,99,97,108,108,121,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,44,32,111,114,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,82,101,103,78,97,109,101,44,32,78,111,100,101,125>>]},<<32,102,111,114,32,97,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,97,116,32,97,110,111,116,104,101,114,32,110,111,100,101,46>>]},{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,115,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,114,117,110,45,116,105,109,101,32,101,114,114,111,114,32,105,102,32>>,{code,[],[<<68,101,115,116>>]},<<32,105,115,32,97,110,32,97,116,111,109,32,110,97,109,101,44,32,98,117,116,32,116,104,105,115,32,110,97,109,101,32,105,115,32,110,111,116,32,114,101,103,105,115,116,101,114,101,100,46,32,84,104,105,115,32,105,115,32,116,104,101,32,111,110,108,121,32,99,97,115,101,32,119,104,101,110,32>>,{code,[],[<<115,101,110,100>>]},<<32,102,97,105,108,115,32,102,111,114,32,97,110,32,117,110,114,101,97,99,104,97,98,108,101,32,100,101,115,116,105,110,97,116,105,111,110,32>>,{code,[],[<<68,101,115,116>>]},<<32,40,111,102,32,99,111,114,114,101,99,116,32,116,121,112,101,41,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<70,111,114,32,115,111,109,101,32,105,109,112,111,114,116,97,110,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,100,105,115,116,114,105,98,117,116,101,100,32,115,105,103,110,97,108,115,44,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,98,108,111,99,107,105,110,103,45,115,105,103,110,97,108,105,110,103,45,111,118,101,114,45,100,105,115,116,114,105,98,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<66,108,111,99,107,105,110,103,32,83,105,103,110,97,108,105,110,103,32,79,118,101,114,32,68,105,115,116,114,105,98,117,116,105,111,110>>]}]},<<32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32>>,{i,[],[<<80,114,111,99,101,115,115,101,115>>]},<<32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]}]},#{signature => [{attribute,{2791,2},spec,{{erlang,send,2},[{type,{2791,18},bounded_fun,[{type,{2791,18},'fun',[{type,{2791,18},product,[{var,{2791,19},'Dest'},{var,{2791,25},'Msg'}]},{var,{2791,33},'Msg'}]},[{type,{2792,7},constraint,[{atom,{2792,7},is_subtype},[{var,{2792,7},'Dest'},{user_type,{2792,15},send_destination,[]}]]},{type,{2793,7},constraint,[{atom,{2793,7},is_subtype},[{var,{2793,7},'Msg'},{type,{2793,14},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,52,56,54>>}},{{function,send,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2797}],[<<115,101,110,100,47,51>>],#{<<101,110>> => [{p,[],[<<69,105,116,104,101,114,32,115,101,110,100,115,32,97,32,109,101,115,115,97,103,101,32,97,110,100,32,114,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<44,32,111,114,32,100,111,101,115,32,110,111,116,32,115,101,110,100,32,116,104,101,32,109,101,115,115,97,103,101,32,98,117,116,32,114,101,116,117,114,110,115,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,40,115,101,101,32,98,101,108,111,119,41,46,32,79,116,104,101,114,119,105,115,101,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,47,50>>]}]},<<46,32,70,111,114,32,109,111,114,101,32,100,101,116,97,105,108,101,100,32,101,120,112,108,97,110,97,116,105,111,110,32,97,110,100,32,119,97,114,110,105,110,103,115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50,44,51>>]}]},<<46>>]},{p,[],[<<79,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<110,111,115,117,115,112,101,110,100>>]}]},{dd,[],[<<73,102,32,116,104,101,32,115,101,110,100,101,114,32,119,111,117,108,100,32,104,97,118,101,32,116,111,32,98,101,32,115,117,115,112,101,110,100,101,100,32,116,111,32,100,111,32,116,104,101,32,115,101,110,100,44,32>>,{code,[],[<<110,111,115,117,115,112,101,110,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]},{dt,[],[{code,[],[<<110,111,99,111,110,110,101,99,116>>]}]},{dd,[],[<<73,102,32,116,104,101,32,100,101,115,116,105,110,97,116,105,111,110,32,110,111,100,101,32,119,111,117,108,100,32,104,97,118,101,32,116,111,32,98,101,32,97,117,116,111,45,99,111,110,110,101,99,116,101,100,32,116,111,32,100,111,32,116,104,101,32,115,101,110,100,44,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<70,111,114,32,115,111,109,101,32,105,109,112,111,114,116,97,110,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,100,105,115,116,114,105,98,117,116,101,100,32,115,105,103,110,97,108,115,44,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,98,108,111,99,107,105,110,103,45,115,105,103,110,97,108,105,110,103,45,111,118,101,114,45,100,105,115,116,114,105,98,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<66,108,111,99,107,105,110,103,32,83,105,103,110,97,108,105,110,103,32,79,118,101,114,32,68,105,115,116,114,105,98,117,116,105,111,110>>]}]},<<32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32>>,{i,[],[<<80,114,111,99,101,115,115,101,115>>]},<<32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<65,115,32,119,105,116,104,32>>,{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50,44,51>>]},<<58,32,117,115,101,32,119,105,116,104,32,101,120,116,114,101,109,101,32,99,97,114,101,46>>]}]}]},#{signature => [{attribute,{2797,2},spec,{{erlang,send,3},[{type,{2797,18},bounded_fun,[{type,{2797,18},'fun',[{type,{2797,18},product,[{var,{2797,19},'Dest'},{var,{2797,25},'Msg'},{var,{2797,30},'Options'}]},{var,{2797,42},'Res'}]},[{type,{2798,7},constraint,[{atom,{2798,7},is_subtype},[{var,{2798,7},'Dest'},{user_type,{2798,15},send_destination,[]}]]},{type,{2799,7},constraint,[{atom,{2799,7},is_subtype},[{var,{2799,7},'Msg'},{type,{2799,14},term,[]}]]},{type,{2800,7},constraint,[{atom,{2800,7},is_subtype},[{var,{2800,7},'Options'},{type,{2800,18},list,[{type,{2800,19},union,[{atom,{2800,19},nosuspend},{atom,{2800,31},noconnect}]}]}]]},{type,{2801,7},constraint,[{atom,{2801,7},is_subtype},[{var,{2801,7},'Res'},{type,{2801,14},union,[{atom,{2801,14},ok},{atom,{2801,19},nosuspend},{atom,{2801,31},noconnect}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,53,49,48>>}},{{function,send_after,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2096}],[<<115,101,110,100,95,97,102,116,101,114,47,51>>],#{<<101,110>> => [{p,[],[<<83,116,97,114,116,115,32,97,32,116,105,109,101,114,46,32,84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,97,102,116,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114,40,84,105,109,101,44,32,68,101,115,116,44,32,77,115,103,44,32,91,93,41>>]}]},<<46>>]}]},#{signature => [{attribute,{2096,2},spec,{{erlang,send_after,3},[{type,{2096,24},bounded_fun,[{type,{2096,24},'fun',[{type,{2096,24},product,[{var,{2096,25},'Time'},{var,{2096,31},'Dest'},{var,{2096,37},'Msg'}]},{var,{2096,45},'TimerRef'}]},[{type,{2097,7},constraint,[{atom,{2097,7},is_subtype},[{var,{2097,7},'Time'},{type,{2097,15},non_neg_integer,[]}]]},{type,{2098,7},constraint,[{atom,{2098,7},is_subtype},[{var,{2098,7},'Dest'},{type,{2098,15},union,[{type,{2098,15},pid,[]},{type,{2098,23},atom,[]}]}]]},{type,{2099,7},constraint,[{atom,{2099,7},is_subtype},[{var,{2099,7},'Msg'},{type,{2099,14},term,[]}]]},{type,{2100,7},constraint,[{atom,{2100,7},is_subtype},[{var,{2100,7},'TimerRef'},{type,{2100,19},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,53,52,55>>}},{{function,send_after,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2106}],[<<115,101,110,100,95,97,102,116,101,114,47,52>>],#{<<101,110>> => [{p,[],[<<83,116,97,114,116,115,32,97,32,116,105,109,101,114,46,32,87,104,101,110,32,116,104,101,32,116,105,109,101,114,32,101,120,112,105,114,101,115,44,32,116,104,101,32,109,101,115,115,97,103,101,32>>,{code,[],[<<77,115,103>>]},<<32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,101,115,116>>]},<<46,32,65,112,97,114,116,32,102,114,111,109,32,116,104,101,32,102,111,114,109,97,116,32,111,102,32,116,104,101,32,116,105,109,101,45,111,117,116,32,109,101,115,115,97,103,101,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,119,111,114,107,115,32,101,120,97,99,116,108,121,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,114,116,95,116,105,109,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114,47,52>>]}]},<<46>>]}]},#{signature => [{attribute,{2106,2},spec,{{erlang,send_after,4},[{type,{2106,24},bounded_fun,[{type,{2106,24},'fun',[{type,{2106,24},product,[{var,{2106,25},'Time'},{var,{2106,31},'Dest'},{var,{2106,37},'Msg'},{var,{2106,42},'Options'}]},{var,{2106,54},'TimerRef'}]},[{type,{2107,7},constraint,[{atom,{2107,7},is_subtype},[{var,{2107,7},'Time'},{type,{2107,15},integer,[]}]]},{type,{2108,7},constraint,[{atom,{2108,7},is_subtype},[{var,{2108,7},'Dest'},{type,{2108,15},union,[{type,{2108,15},pid,[]},{type,{2108,23},atom,[]}]}]]},{type,{2109,7},constraint,[{atom,{2109,7},is_subtype},[{var,{2109,7},'Msg'},{type,{2109,14},term,[]}]]},{type,{2110,7},constraint,[{atom,{2110,7},is_subtype},[{var,{2110,7},'Options'},{type,{2110,18},list,[{var,{2110,19},'Option'}]}]]},{type,{2111,7},constraint,[{atom,{2111,7},is_subtype},[{var,{2111,7},'Abs'},{type,{2111,14},boolean,[]}]]},{type,{2112,7},constraint,[{atom,{2112,7},is_subtype},[{var,{2112,7},'Option'},{type,{2112,17},tuple,[{atom,{2112,18},abs},{var,{2112,23},'Abs'}]}]]},{type,{2113,7},constraint,[{atom,{2113,7},is_subtype},[{var,{2113,7},'TimerRef'},{type,{2113,19},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,53,53,56>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,send_nosuspend,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3743}],[<<115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,40,68,101,115,116,44,32,77,115,103,44,32,91,110,111,115,117,115,112,101,110,100,93,41>>]}]},<<44,32,98,117,116,32,114,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,109,101,115,115,97,103,101,32,119,97,115,32,115,101,110,116,32,97,110,100,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,116,104,101,32,109,101,115,115,97,103,101,32,119,97,115,32,110,111,116,32,115,101,110,116,32,98,101,99,97,117,115,101,32,116,104,101,32,115,101,110,100,101,114,32,119,111,117,108,100,32,104,97,118,101,32,104,97,100,32,116,111,32,98,101,32,115,117,115,112,101,110,100,101,100,46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,115,101,110,100,32,111,112,101,114,97,116,105,111,110,115,32,116,111,32,97,110,32,117,110,114,101,108,105,97,98,108,101,32,114,101,109,111,116,101,32,110,111,100,101,32,119,105,116,104,111,117,116,32,101,118,101,114,32,98,108,111,99,107,105,110,103,32,116,104,101,32,115,101,110,100,105,110,103,32,40,69,114,108,97,110,103,41,32,112,114,111,99,101,115,115,46,32,73,102,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32,116,104,101,32,114,101,109,111,116,101,32,110,111,100,101,32,40,117,115,117,97,108,108,121,32,110,111,116,32,97,32,114,101,97,108,32,69,114,108,97,110,103,32,110,111,100,101,44,32,98,117,116,32,97,32,110,111,100,101,32,119,114,105,116,116,101,110,32,105,110,32,67,32,111,114,32,74,97,118,97,41,32,105,115,32,111,118,101,114,108,111,97,100,101,100,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32>>,{em,[],[<<100,111,101,115,32,110,111,116,32,115,101,110,100,32,116,104,101,32,109,101,115,115,97,103,101>>]},<<32,97,110,100,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<84,104,101,32,115,97,109,101,32,111,99,99,117,114,115,32,105,102,32>>,{code,[],[<<68,101,115,116>>]},<<32,114,101,102,101,114,115,32,116,111,32,97,32,108,111,99,97,108,32,112,111,114,116,32,116,104,97,116,32,105,115,32,98,117,115,121,46,32,70,111,114,32,97,108,108,32,111,116,104,101,114,32,100,101,115,116,105,110,97,116,105,111,110,115,32,40,97,108,108,111,119,101,100,32,102,111,114,32,116,104,101,32,111,114,100,105,110,97,114,121,32,115,101,110,100,32,111,112,101,114,97,116,111,114,32>>,{code,[],[<<39,33,39>>]},<<41,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,115,101,110,100,115,32,116,104,101,32,109,101,115,115,97,103,101,32,97,110,100,32,114,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,111,110,108,121,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,114,97,114,101,32,99,105,114,99,117,109,115,116,97,110,99,101,115,32,119,104,101,114,101,32,97,32,112,114,111,99,101,115,115,32,99,111,109,109,117,110,105,99,97,116,101,115,32,119,105,116,104,32,69,114,108,97,110,103,32,110,111,100,101,115,32,116,104,97,116,32,99,97,110,32,100,105,115,97,112,112,101,97,114,32,119,105,116,104,111,117,116,32,97,110,121,32,116,114,97,99,101,44,32,99,97,117,115,105,110,103,32,116,104,101,32,84,67,80,32,98,117,102,102,101,114,115,32,97,110,100,32,116,104,101,32,100,114,105,118,101,114,115,32,113,117,101,117,101,32,116,111,32,98,101,32,111,118,101,114,45,102,117,108,108,32,98,101,102,111,114,101,32,116,104,101,32,110,111,100,101,32,105,115,32,115,104,117,116,32,100,111,119,110,32,40,98,101,99,97,117,115,101,32,111,102,32,116,105,99,107,32,116,105,109,101,45,111,117,116,115,41,32,98,121,32>>,{code,[],[<<110,101,116,95,107,101,114,110,101,108>>]},<<46,32,84,104,101,32,110,111,114,109,97,108,32,114,101,97,99,116,105,111,110,32,116,111,32,116,97,107,101,32,119,104,101,110,32,116,104,105,115,32,111,99,99,117,114,115,32,105,115,32,115,111,109,101,32,107,105,110,100,32,111,102,32,112,114,101,109,97,116,117,114,101,32,115,104,117,116,100,111,119,110,32,111,102,32,116,104,101,32,111,116,104,101,114,32,110,111,100,101,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,105,103,110,111,114,105,110,103,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,102,114,111,109,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,119,111,117,108,100,32,114,101,115,117,108,116,32,105,110,32,97,110,32>>,{em,[],[<<117,110,114,101,108,105,97,98,108,101>>]},<<32,109,101,115,115,97,103,101,32,112,97,115,115,105,110,103,44,32,119,104,105,99,104,32,105,115,32,99,111,110,116,114,97,100,105,99,116,111,114,121,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,103,114,97,109,109,105,110,103,32,109,111,100,101,108,46,32,84,104,101,32,109,101,115,115,97,103,101,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,115,101,110,116,32,105,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<73,110,32,109,97,110,121,32,115,121,115,116,101,109,115,44,32,116,114,97,110,115,105,101,110,116,32,115,116,97,116,101,115,32,111,102,32,111,118,101,114,108,111,97,100,101,100,32,113,117,101,117,101,115,32,97,114,101,32,110,111,114,109,97,108,46,32,65,108,116,104,111,117,103,104,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,100,111,101,115,32,110,111,116,32,109,101,97,110,32,116,104,97,116,32,116,104,101,32,111,116,104,101,114,32,110,111,100,101,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,110,111,110,45,114,101,115,112,111,110,115,105,118,101,44,32,105,116,32,99,111,117,108,100,32,98,101,32,97,32,116,101,109,112,111,114,97,114,121,32,111,118,101,114,108,111,97,100,46,32,65,108,115,111,44,32,97,32,114,101,116,117,114,110,32,118,97,108,117,101,32,111,102,32>>,{code,[],[<<116,114,117,101>>]},<<32,100,111,101,115,32,111,110,108,121,32,109,101,97,110,32,116,104,97,116,32,116,104,101,32,109,101,115,115,97,103,101,32,99,97,110,32,98,101,32,115,101,110,116,32,111,110,32,116,104,101,32,40,84,67,80,41,32,99,104,97,110,110,101,108,32,119,105,116,104,111,117,116,32,98,108,111,99,107,105,110,103,59,32,116,104,101,32,109,101,115,115,97,103,101,32,105,115,32,110,111,116,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,97,114,114,105,118,101,32,97,116,32,116,104,101,32,114,101,109,111,116,101,32,110,111,100,101,46,32,70,111,114,32,97,32,100,105,115,99,111,110,110,101,99,116,101,100,32,110,111,110,45,114,101,115,112,111,110,115,105,118,101,32,110,111,100,101,44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,40,109,105,109,105,99,115,32,116,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,111,112,101,114,97,116,111,114,32>>,{code,[],[<<33>>]},<<41,46,32,84,104,101,32,101,120,112,101,99,116,101,100,32,98,101,104,97,118,105,111,114,32,97,110,100,32,116,104,101,32,97,99,116,105,111,110,115,32,116,111,32,116,97,107,101,32,119,104,101,110,32,116,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,97,114,101,32,97,112,112,108,105,99,97,116,105,111,110,45,32,97,110,100,32,104,97,114,100,119,97,114,101,45,115,112,101,99,105,102,105,99,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<85,115,101,32,119,105,116,104,32,101,120,116,114,101,109,101,32,99,97,114,101,46>>]}]}]},#{signature => [{attribute,{3743,2},spec,{{erlang,send_nosuspend,2},[{type,{3743,28},bounded_fun,[{type,{3743,28},'fun',[{type,{3743,28},product,[{var,{3743,29},'Dest'},{var,{3743,35},'Msg'}]},{type,{3743,43},boolean,[]}]},[{type,{3744,7},constraint,[{atom,{3744,7},is_subtype},[{var,{3744,7},'Dest'},{user_type,{3744,15},send_destination,[]}]]},{type,{3745,7},constraint,[{atom,{3745,7},is_subtype},[{var,{3745,7},'Msg'},{type,{3745,14},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,53,55,49>>}},{{function,send_nosuspend,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3753}],[<<115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,51>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,40,68,101,115,116,44,32,77,115,103,44,32,91,110,111,115,117,115,112,101,110,100,32,124,32,79,112,116,105,111,110,115,93,41>>]}]},<<44,32,98,117,116,32,119,105,116,104,32,97,32,66,111,111,108,101,97,110,32,114,101,116,117,114,110,32,118,97,108,117,101,46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,98,101,104,97,118,101,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,110,111,115,117,115,112,101,110,100,47,50>>]}]},<<44,32,98,117,116,32,116,97,107,101,115,32,97,32,116,104,105,114,100,32,112,97,114,97,109,101,116,101,114,44,32,97,32,108,105,115,116,32,111,102,32,111,112,116,105,111,110,115,46,32,84,104,101,32,111,110,108,121,32,111,112,116,105,111,110,32,105,115,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116>>]},<<44,32,119,104,105,99,104,32,109,97,107,101,115,32,116,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,116,104,101,32,114,101,109,111,116,101,32,110,111,100,101,32,105,115,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,114,101,97,99,104,97,98,108,101,32,98,121,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46,32,84,104,101,32,110,111,114,109,97,108,32,98,101,104,97,118,105,111,114,32,105,115,32,116,111,32,116,114,121,32,116,111,32,99,111,110,110,101,99,116,32,116,111,32,116,104,101,32,110,111,100,101,44,32,119,104,105,99,104,32,99,97,110,32,115,116,97,108,108,32,116,104,101,32,112,114,111,99,101,115,115,32,100,117,114,105,110,103,32,97,32,115,104,111,114,116,32,112,101,114,105,111,100,46,32,84,104,101,32,117,115,101,32,111,102,32,111,112,116,105,111,110,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116>>]},<<32,109,97,107,101,115,32,105,116,32,112,111,115,115,105,98,108,101,32,116,111,32,98,101,32,115,117,114,101,32,110,111,116,32,116,111,32,103,101,116,32,116,104,101,32,115,108,105,103,104,116,101,115,116,32,100,101,108,97,121,32,119,104,101,110,32,115,101,110,100,105,110,103,32,116,111,32,97,32,114,101,109,111,116,101,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,105,115,32,101,115,112,101,99,105,97,108,108,121,32,117,115,101,102,117,108,32,119,104,101,110,32,99,111,109,109,117,110,105,99,97,116,105,110,103,32,119,105,116,104,32,110,111,100,101,115,32,116,104,97,116,32,101,120,112,101,99,116,32,116,111,32,97,108,119,97,121,115,32,98,101,32,116,104,101,32,99,111,110,110,101,99,116,105,110,103,32,112,97,114,116,32,40,116,104,97,116,32,105,115,44,32,110,111,100,101,115,32,119,114,105,116,116,101,110,32,105,110,32,67,32,111,114,32,74,97,118,97,41,46>>]},{p,[],[<<87,104,101,110,101,118,101,114,32,116,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,40,101,105,116,104,101,114,32,119,104,101,110,32,97,32,115,117,115,112,101,110,100,32,119,111,117,108,100,32,111,99,99,117,114,32,111,114,32,119,104,101,110,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116>>]},<<32,119,97,115,32,115,112,101,99,105,102,105,101,100,32,97,110,100,32,116,104,101,32,110,111,100,101,32,119,97,115,32,110,111,116,32,97,108,114,101,97,100,121,32,99,111,110,110,101,99,116,101,100,41,44,32,116,104,101,32,109,101,115,115,97,103,101,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32>>,{em,[],[<<110,111,116>>]},<<32,116,111,32,104,97,118,101,32,98,101,101,110,32,115,101,110,116,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<85,115,101,32,119,105,116,104,32,101,120,116,114,101,109,101,32,99,97,114,101,46>>]}]}]},#{signature => [{attribute,{3753,2},spec,{{erlang,send_nosuspend,3},[{type,{3753,28},bounded_fun,[{type,{3753,28},'fun',[{type,{3753,28},product,[{var,{3753,29},'Dest'},{var,{3753,35},'Msg'},{var,{3753,40},'Options'}]},{type,{3753,52},boolean,[]}]},[{type,{3754,7},constraint,[{atom,{3754,7},is_subtype},[{var,{3754,7},'Dest'},{user_type,{3754,15},send_destination,[]}]]},{type,{3755,7},constraint,[{atom,{3755,7},is_subtype},[{var,{3755,7},'Msg'},{type,{3755,14},term,[]}]]},{type,{3756,7},constraint,[{atom,{3756,7},is_subtype},[{var,{3756,7},'Options'},{type,{3756,18},list,[{atom,{3756,19},noconnect}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,54,50,48>>}},{{function,set_cookie,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4062}],[<<115,101,116,95,99,111,111,107,105,101,47,49>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,109,97,103,105,99,32,99,111,111,107,105,101,32,111,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,116,111,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<67,111,111,107,105,101>>]},<<44,32,119,104,105,99,104,32,105,115,32,97,108,115,111,32,116,104,101,32,99,111,111,107,105,101,32,102,111,114,32,97,108,108,32,110,111,100,101,115,32,116,104,97,116,32,104,97,118,101,32,110,111,32,101,120,112,108,105,99,105,116,32,99,111,111,107,105,101,32,115,101,116,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,116,95,99,111,111,107,105,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,101,116,95,99,111,111,107,105,101,47,50>>]}]},<<32>>,{code,[],[<<67,111,111,107,105,101>>]},<<32,40,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,105,115,116,114,105,98,117,116,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<68,105,115,116,114,105,98,117,116,101,100,32,69,114,108,97,110,103>>]},<<32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,32,105,110,32,83,121,115,116,101,109,32,68,111,99,117,109,101,110,116,97,116,105,111,110,41,46>>]},{p,[],[<<89,111,117,32,99,97,110,32,103,101,116,32,116,104,105,115,32,118,97,108,117,101,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,103,101,116,95,99,111,111,107,105,101,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<103,101,116,95,99,111,111,107,105,101,47,48>>]}]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<102,117,110,99,116,105,111,110,95,99,108,97,117,115,101>>]},<<32,105,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,46>>]}]},#{signature => [{attribute,{4062,2},spec,{{erlang,set_cookie,1},[{type,{4062,24},bounded_fun,[{type,{4062,24},'fun',[{type,{4062,24},product,[{var,{4062,25},'Cookie'}]},{atom,{4062,36},true}]},[{type,{4063,7},constraint,[{atom,{4063,7},is_subtype},[{var,{4063,7},'Cookie'},{type,{4063,17},atom,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,54,53,50>>,since => <<79,84,80,32,50,52,46,49>>}},{{function,set_cookie,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,4069}],[<<115,101,116,95,99,111,111,107,105,101,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,109,97,103,105,99,32,99,111,111,107,105,101,32,102,111,114,32>>,{code,[],[<<78,111,100,101>>]},<<32,116,111,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<67,111,111,107,105,101>>]},<<46,32,73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,105,115,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,44,32,116,104,101,32,102,117,110,99,116,105,111,110,32,115,101,116,115,32,116,104,101,32,99,111,111,107,105,101,32,111,102,32,97,108,108,32,111,116,104,101,114,32,110,111,100,101,115,32,40,116,104,97,116,32,104,97,118,101,32,110,111,32,101,120,112,108,105,99,105,116,32,99,111,111,107,105,101,32,115,101,116,32,119,105,116,104,32,116,104,105,115,32,102,117,110,99,116,105,111,110,41,32,116,111,32>>,{code,[],[<<67,111,111,107,105,101>>]},<<32,40,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,105,115,116,114,105,98,117,116,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<68,105,115,116,114,105,98,117,116,101,100,32,69,114,108,97,110,103>>]},<<32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,32,105,110,32,83,121,115,116,101,109,32,68,111,99,117,109,101,110,116,97,116,105,111,110,41,46>>]},{p,[],[<<89,111,117,32,99,97,110,32,103,101,116,32,116,104,105,115,32,118,97,108,117,101,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,103,101,116,95,99,111,111,107,105,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<103,101,116,95,99,111,111,107,105,101,47,49>>]}]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<102,117,110,99,116,105,111,110,95,99,108,97,117,115,101>>]},<<32,105,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,46>>]}]},#{signature => [{attribute,{4069,2},spec,{{erlang,set_cookie,2},[{type,{4069,24},bounded_fun,[{type,{4069,24},'fun',[{type,{4069,24},product,[{var,{4069,25},'Node'},{var,{4069,31},'Cookie'}]},{atom,{4069,42},true}]},[{type,{4070,7},constraint,[{atom,{4070,7},is_subtype},[{var,{4070,7},'Node'},{type,{4070,15},node,[]}]]},{type,{4071,7},constraint,[{atom,{4071,7},is_subtype},[{var,{4071,7},'Cookie'},{type,{4071,17},atom,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,54,55,49>>}},{{function,setelement,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2818}],[<<115,101,116,101,108,101,109,101,110,116,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,116,117,112,108,101,32,116,104,97,116,32,105,115,32,97,32,99,111,112,121,32,111,102,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<84,117,112,108,101,49>>]},<<32,119,105,116,104,32,116,104,101,32,101,108,101,109,101,110,116,32,115,112,101,99,105,102,105,101,100,32,98,121,32,105,110,116,101,103,101,114,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<73,110,100,101,120>>]},<<32,40,116,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32,116,104,101,32,101,108,101,109,101,110,116,32,119,105,116,104,32,105,110,100,101,120,32,49,41,32,114,101,112,108,97,99,101,100,32,98,121,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<86,97,108,117,101>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,115,101,116,101,108,101,109,101,110,116,40,50,44,32,123,49,48,44,32,103,114,101,101,110,44,32,98,111,116,116,108,101,115,125,44,32,114,101,100,41,46,10,123,49,48,44,114,101,100,44,98,111,116,116,108,101,115,125>>]}]}]},#{signature => [{attribute,{2818,2},spec,{{setelement,3},[{type,{2818,17},bounded_fun,[{type,{2818,17},'fun',[{type,{2818,17},product,[{var,{2818,18},'Index'},{var,{2818,25},'Tuple1'},{var,{2818,33},'Value'}]},{var,{2818,43},'Tuple2'}]},[{type,{2819,7},constraint,[{atom,{2819,7},is_subtype},[{var,{2819,7},'Index'},{type,{2819,16},pos_integer,[]}]]},{type,{2820,7},constraint,[{atom,{2820,7},is_subtype},[{var,{2820,7},'Tuple1'},{type,{2820,17},tuple,any}]]},{type,{2821,7},constraint,[{atom,{2821,7},is_subtype},[{var,{2821,7},'Tuple2'},{type,{2821,17},tuple,any}]]},{type,{2822,7},constraint,[{atom,{2822,7},is_subtype},[{var,{2822,7},'Value'},{type,{2822,16},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,54,57,48>>}},{{function,size,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2167}],[<<115,105,122,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,105,110,32,97,32,116,117,112,108,101,32,111,114,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,105,110,32,97,32,98,105,110,97,114,121,32,111,114,32,98,105,116,115,116,114,105,110,103,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,115,105,122,101,40,123,109,111,114,110,105,44,32,109,117,108,108,101,44,32,98,119,97,110,103,101,125,41,46,10,51,10,62,32,115,105,122,101,40,60,60,49,49,44,32,50,50,44,32,51,51,62,62,41,46,10,51>>]}]},{p,[],[<<70,111,114,32,98,105,116,115,116,114,105,110,103,115,44,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,119,104,111,108,101,32,98,121,116,101,115,32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,97,116,32,105,115,44,32,105,102,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,105,116,115,32,105,110,32,116,104,101,32,98,105,116,115,116,114,105,110,103,32,105,115,32,110,111,116,32,100,105,118,105,115,105,98,108,101,32,98,121,32,56,44,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,105,115,32,114,111,117,110,100,101,100,32>>,{em,[],[<<100,111,119,110>>]},<<46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,117,112,108,101,95,115,105,122,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,117,112,108,101,95,115,105,122,101,47,49>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,121,116,101,95,115,105,122,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,121,116,101,95,115,105,122,101,47,49>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,116,95,115,105,122,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,116,95,115,105,122,101,47,49>>]}]},<<46>>]}]},#{signature => [{attribute,{2167,2},spec,{{size,1},[{type,{2167,11},bounded_fun,[{type,{2167,11},'fun',[{type,{2167,11},product,[{var,{2167,12},'Item'}]},{type,{2167,21},non_neg_integer,[]}]},[{type,{2168,7},constraint,[{atom,{2168,7},is_subtype},[{var,{2168,7},'Item'},{type,{2168,15},union,[{type,{2168,15},tuple,any},{type,{2168,25},binary,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,55,48,55>>}},{{function,spawn,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3214}],[<<115,112,97,119,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{signature => [{attribute,{3214,2},spec,{{spawn,1},[{type,{3214,12},bounded_fun,[{type,{3214,12},'fun',[{type,{3214,12},product,[{var,{3214,13},'Fun'}]},{type,{3214,21},pid,[]}]},[{type,{3215,7},constraint,[{atom,{3215,7},is_subtype},[{var,{3215,7},'Fun'},{type,{3215,14},function,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,55,51,48>>}},{{function,spawn,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3223}],[<<115,112,97,119,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<32,111,110,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,97,32,117,115,101,108,101,115,115,32,112,105,100,32,105,115,32,114,101,116,117,114,110,101,100,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{signature => [{attribute,{3223,2},spec,{{spawn,2},[{type,{3223,12},bounded_fun,[{type,{3223,12},'fun',[{type,{3223,12},product,[{var,{3223,13},'Node'},{var,{3223,19},'Fun'}]},{type,{3223,27},pid,[]}]},[{type,{3224,7},constraint,[{atom,{3224,7},is_subtype},[{var,{3224,7},'Node'},{type,{3224,15},node,[]}]]},{type,{3225,7},constraint,[{atom,{3225,7},is_subtype},[{var,{3225,7},'Fun'},{type,{3225,14},function,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,55,52,49>>}},{{function,spawn,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2173}],[<<115,112,97,119,110,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<46>>]},{p,[],[{code,[],[<<101,114,114,111,114,95,104,97,110,100,108,101,114,58,117,110,100,101,102,105,110,101,100,95,102,117,110,99,116,105,111,110,40,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,103,115,41>>]},<<32,105,115,32,101,118,97,108,117,97,116,101,100,32,98,121,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,32,105,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,47,65,114,105,116,121>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,32,40,119,104,101,114,101,32>>,{code,[],[<<65,114,105,116,121>>]},<<32,105,115,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32>>,{code,[],[<<65,114,103,115>>]},<<41,46,32,84,104,101,32,101,114,114,111,114,32,104,97,110,100,108,101,114,32,99,97,110,32,98,101,32,114,101,100,101,102,105,110,101,100,32,40,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>]}]},<<41,46,32,73,102,32>>,{code,[],[<<101,114,114,111,114,95,104,97,110,100,108,101,114>>]},<<32,105,115,32,117,110,100,101,102,105,110,101,100,44,32,111,114,32,116,104,101,32,117,115,101,114,32,104,97,115,32,114,101,100,101,102,105,110,101,100,32,116,104,101,32,100,101,102,97,117,108,116,32>>,{code,[],[<<101,114,114,111,114,95,104,97,110,100,108,101,114>>]},<<32,97,110,100,32,105,116,115,32,114,101,112,108,97,99,101,109,101,110,116,32,105,115,32,117,110,100,101,102,105,110,101,100,44,32,97,32,102,97,105,108,117,114,101,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<117,110,100,101,102>>]},<<32,111,99,99,117,114,115,46>>]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,115,112,97,119,110,40,115,112,101,101,100,44,32,114,101,103,117,108,97,116,111,114,44,32,91,104,105,103,104,95,115,112,101,101,100,44,32,116,104,105,110,95,99,117,116,93,41,46,10,60,48,46,49,51,46,49,62>>]}]}]},#{signature => [{attribute,{2173,2},spec,{{spawn,3},[{type,{2173,12},bounded_fun,[{type,{2173,12},'fun',[{type,{2173,12},product,[{var,{2173,13},'Module'},{var,{2173,21},'Function'},{var,{2173,31},'Args'}]},{type,{2173,40},pid,[]}]},[{type,{2174,7},constraint,[{atom,{2174,7},is_subtype},[{var,{2174,7},'Module'},{type,{2174,17},module,[]}]]},{type,{2175,7},constraint,[{atom,{2175,7},is_subtype},[{var,{2175,7},'Function'},{type,{2175,19},atom,[]}]]},{type,{2176,7},constraint,[{atom,{2176,7},is_subtype},[{var,{2176,7},'Args'},{type,{2176,15},list,[{type,{2176,16},term,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,55,53,53>>}},{{function,spawn,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3354}],[<<115,112,97,119,110,47,52>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<32,111,110,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,97,32,117,115,101,108,101,115,115,32,112,105,100,32,105,115,32,114,101,116,117,114,110,101,100,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{signature => [{attribute,{3354,2},spec,{{spawn,4},[{type,{3354,12},bounded_fun,[{type,{3354,12},'fun',[{type,{3354,12},product,[{var,{3354,13},'Node'},{var,{3354,19},'Module'},{var,{3354,27},'Function'},{var,{3354,37},'Args'}]},{type,{3354,46},pid,[]}]},[{type,{3355,7},constraint,[{atom,{3355,7},is_subtype},[{var,{3355,7},'Node'},{type,{3355,15},node,[]}]]},{type,{3356,7},constraint,[{atom,{3356,7},is_subtype},[{var,{3356,7},'Module'},{type,{3356,17},module,[]}]]},{type,{3357,7},constraint,[{atom,{3357,7},is_subtype},[{var,{3357,7},'Function'},{type,{3357,19},atom,[]}]]},{type,{3358,7},constraint,[{atom,{3358,7},is_subtype},[{var,{3358,7},'Args'},{type,{3358,15},list,[{type,{3358,16},term,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,55,56,48>>}},{{function,spawn_link,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3235}],[<<115,112,97,119,110,95,108,105,110,107,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<46,32,65,32,108,105,110,107,32,105,115,32,99,114,101,97,116,101,100,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,44,32,97,116,111,109,105,99,97,108,108,121,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{signature => [{attribute,{3235,2},spec,{{spawn_link,1},[{type,{3235,17},bounded_fun,[{type,{3235,17},'fun',[{type,{3235,17},product,[{var,{3235,18},'Fun'}]},{type,{3235,26},pid,[]}]},[{type,{3236,7},constraint,[{atom,{3236,7},is_subtype},[{var,{3236,7},'Fun'},{type,{3236,14},function,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,55,57,53>>}},{{function,spawn_link,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3244}],[<<115,112,97,119,110,95,108,105,110,107,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<32,111,110,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,65,32,108,105,110,107,32,105,115,32,99,114,101,97,116,101,100,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,44,32,97,116,111,109,105,99,97,108,108,121,46,32,73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,97,32,117,115,101,108,101,115,115,32,112,105,100,32,105,115,32,114,101,116,117,114,110,101,100,32,97,110,100,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]},<<32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{signature => [{attribute,{3244,2},spec,{{spawn_link,2},[{type,{3244,17},bounded_fun,[{type,{3244,17},'fun',[{type,{3244,17},product,[{var,{3244,18},'Node'},{var,{3244,24},'Fun'}]},{type,{3244,32},pid,[]}]},[{type,{3245,7},constraint,[{atom,{3245,7},is_subtype},[{var,{3245,7},'Node'},{type,{3245,15},node,[]}]]},{type,{3246,7},constraint,[{atom,{3246,7},is_subtype},[{var,{3246,7},'Fun'},{type,{3246,14},function,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,56,48,57>>}},{{function,spawn_link,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2181}],[<<115,112,97,119,110,95,108,105,110,107,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<46,32,65,32,108,105,110,107,32,105,115,32,99,114,101,97,116,101,100,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,44,32,97,116,111,109,105,99,97,108,108,121,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{signature => [{attribute,{2181,2},spec,{{spawn_link,3},[{type,{2181,17},bounded_fun,[{type,{2181,17},'fun',[{type,{2181,17},product,[{var,{2181,18},'Module'},{var,{2181,26},'Function'},{var,{2181,36},'Args'}]},{type,{2181,45},pid,[]}]},[{type,{2182,7},constraint,[{atom,{2182,7},is_subtype},[{var,{2182,7},'Module'},{type,{2182,17},module,[]}]]},{type,{2183,7},constraint,[{atom,{2183,7},is_subtype},[{var,{2183,7},'Function'},{type,{2183,19},atom,[]}]]},{type,{2184,7},constraint,[{atom,{2184,7},is_subtype},[{var,{2184,7},'Args'},{type,{2184,15},list,[{type,{2184,16},term,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,56,50,54>>}},{{function,spawn_link,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3376}],[<<115,112,97,119,110,95,108,105,110,107,47,52>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<32,111,110,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,65,32,108,105,110,107,32,105,115,32,99,114,101,97,116,101,100,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,44,32,97,116,111,109,105,99,97,108,108,121,46,32,73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,97,32,117,115,101,108,101,115,115,32,112,105,100,32,105,115,32,114,101,116,117,114,110,101,100,32,97,110,100,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]},<<32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{signature => [{attribute,{3376,2},spec,{{spawn_link,4},[{type,{3376,17},bounded_fun,[{type,{3376,17},'fun',[{type,{3376,17},product,[{var,{3376,18},'Node'},{var,{3376,24},'Module'},{var,{3376,32},'Function'},{var,{3376,42},'Args'}]},{type,{3376,51},pid,[]}]},[{type,{3377,7},constraint,[{atom,{3377,7},is_subtype},[{var,{3377,7},'Node'},{type,{3377,15},node,[]}]]},{type,{3378,7},constraint,[{atom,{3378,7},is_subtype},[{var,{3378,7},'Module'},{type,{3378,17},module,[]}]]},{type,{3379,7},constraint,[{atom,{3379,7},is_subtype},[{var,{3379,7},'Function'},{type,{3379,19},atom,[]}]]},{type,{3380,7},constraint,[{atom,{3380,7},is_subtype},[{var,{3380,7},'Args'},{type,{3380,15},list,[{type,{3380,16},term,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,56,52,48>>}},{{function,spawn_monitor,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3258}],[<<115,112,97,119,110,95,109,111,110,105,116,111,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,44,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<44,32,97,110,100,32,97,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,97,32,109,111,110,105,116,111,114,32,99,114,101,97,116,101,100,32,116,111,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{signature => [{attribute,{3258,2},spec,{{spawn_monitor,1},[{type,{3258,20},bounded_fun,[{type,{3258,20},'fun',[{type,{3258,20},product,[{var,{3258,21},'Fun'}]},{type,{3258,29},tuple,[{type,{3258,30},pid,[]},{type,{3258,37},reference,[]}]}]},[{type,{3259,7},constraint,[{atom,{3259,7},is_subtype},[{var,{3259,7},'Fun'},{type,{3259,14},function,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,56,53,56>>}},{{function,spawn_monitor,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3265}],[<<115,112,97,119,110,95,109,111,110,105,116,111,114,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,44,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<32,111,110,32,116,104,101,32,110,111,100,101,32>>,{code,[],[<<78,111,100,101>>]},<<44,32,97,110,100,32,97,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,97,32,109,111,110,105,116,111,114,32,99,114,101,97,116,101,100,32,116,111,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,100,105,115,116,114,105,98,117,116,101,100,32>>,{code,[],[<<115,112,97,119,110,95,109,111,110,105,116,111,114,40,41>>]},<<44,32,116,104,101,32,99,97,108,108,32,119,105,108,108,32,102,97,105,108,32,119,105,116,104,32,97,32>>,{code,[],[<<110,111,116,115,117,112>>]},<<32,101,120,99,101,112,116,105,111,110,46>>]}]},#{signature => [{attribute,{3265,2},spec,{{spawn_monitor,2},[{type,{3265,20},bounded_fun,[{type,{3265,20},'fun',[{type,{3265,20},product,[{var,{3265,21},'Node'},{var,{3265,27},'Fun'}]},{type,{3265,35},tuple,[{type,{3265,36},pid,[]},{type,{3265,43},reference,[]}]}]},[{type,{3266,7},constraint,[{atom,{3266,7},is_subtype},[{var,{3266,7},'Node'},{type,{3266,15},node,[]}]]},{type,{3267,7},constraint,[{atom,{3267,7},is_subtype},[{var,{3267,7},'Fun'},{type,{3267,14},function,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,56,55,50>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_monitor,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3279}],[<<115,112,97,119,110,95,109,111,110,105,116,111,114,47,51>>],#{<<101,110>> => [{p,[],[<<65,32,110,101,119,32,112,114,111,99,101,115,115,32,105,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<46,32,84,104,101,32,112,114,111,99,101,115,115,32,105,115,32,109,111,110,105,116,111,114,101,100,32,97,116,32,116,104,101,32,115,97,109,101,32,116,105,109,101,46,32,82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,97,110,100,32,97,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,116,104,101,32,109,111,110,105,116,111,114,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]}]},#{signature => [{attribute,{3279,2},spec,{{spawn_monitor,3},[{type,{3279,20},bounded_fun,[{type,{3279,20},'fun',[{type,{3279,20},product,[{var,{3279,21},'Module'},{var,{3279,29},'Function'},{var,{3279,39},'Args'}]},{type,{3279,48},tuple,[{type,{3279,49},pid,[]},{type,{3279,56},reference,[]}]}]},[{type,{3280,7},constraint,[{atom,{3280,7},is_subtype},[{var,{3280,7},'Module'},{type,{3280,17},module,[]}]]},{type,{3281,7},constraint,[{atom,{3281,7},is_subtype},[{var,{3281,7},'Function'},{type,{3281,19},atom,[]}]]},{type,{3282,7},constraint,[{atom,{3282,7},is_subtype},[{var,{3282,7},'Args'},{type,{3282,15},list,[{type,{3282,16},term,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,56,56,57>>}},{{function,spawn_monitor,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3398}],[<<115,112,97,119,110,95,109,111,110,105,116,111,114,47,52>>],#{<<101,110>> => [{p,[],[<<65,32,110,101,119,32,112,114,111,99,101,115,115,32,105,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<32,111,110,32,116,104,101,32,110,111,100,101,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,84,104,101,32,112,114,111,99,101,115,115,32,105,115,32,109,111,110,105,116,111,114,101,100,32,97,116,32,116,104,101,32,115,97,109,101,32,116,105,109,101,46,32,82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,97,110,100,32,97,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,116,104,101,32,109,111,110,105,116,111,114,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,100,105,115,116,114,105,98,117,116,101,100,32>>,{code,[],[<<115,112,97,119,110,95,109,111,110,105,116,111,114,40,41>>]},<<44,32,116,104,101,32,99,97,108,108,32,119,105,108,108,32,102,97,105,108,32,119,105,116,104,32,97,32>>,{code,[],[<<110,111,116,115,117,112>>]},<<32,101,120,99,101,112,116,105,111,110,46>>]}]},#{signature => [{attribute,{3398,2},spec,{{spawn_monitor,4},[{type,{3398,20},bounded_fun,[{type,{3398,20},'fun',[{type,{3398,20},product,[{var,{3398,21},'Node'},{var,{3398,27},'Module'},{var,{3398,35},'Function'},{var,{3398,45},'Args'}]},{type,{3398,54},tuple,[{type,{3398,55},pid,[]},{type,{3398,62},reference,[]}]}]},[{type,{3399,7},constraint,[{atom,{3399,7},is_subtype},[{var,{3399,7},'Node'},{type,{3399,15},node,[]}]]},{type,{3400,7},constraint,[{atom,{3400,7},is_subtype},[{var,{3400,7},'Module'},{type,{3400,17},module,[]}]]},{type,{3401,7},constraint,[{atom,{3401,7},is_subtype},[{var,{3401,7},'Function'},{type,{3401,19},atom,[]}]]},{type,{3402,7},constraint,[{atom,{3402,7},is_subtype},[{var,{3402,7},'Args'},{type,{3402,15},list,[{type,{3402,16},term,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,57,48,51>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_opt,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3311}],[<<115,112,97,119,110,95,111,112,116,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]},{li,[{name,<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>}],[]},{li,[{name,<<112,114,105,111,114,105,116,121,95,108,101,118,101,108>>}],[]},{li,[{name,<<115,112,97,119,110,95,111,112,116,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,52>>]}]},<<46>>]},{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<109,111,110,105,116,111,114>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,32,105,115,32,109,111,110,105,116,111,114,101,100,44,32,97,110,100,32,98,111,116,104,32,116,104,101,32,112,105,100,32,97,110,100,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,116,104,101,32,109,111,110,105,116,111,114,32,97,114,101,32,114,101,116,117,114,110,101,100,46>>]}]},#{signature => [{attribute,{3311,2},spec,{{spawn_opt,2},[{type,{3311,16},bounded_fun,[{type,{3311,16},'fun',[{type,{3311,16},product,[{var,{3311,17},'Fun'},{var,{3311,22},'Options'}]},{type,{3311,34},union,[{type,{3311,34},pid,[]},{type,{3311,42},tuple,[{type,{3311,43},pid,[]},{type,{3311,50},reference,[]}]}]}]},[{type,{3312,7},constraint,[{atom,{3312,7},is_subtype},[{var,{3312,7},'Fun'},{type,{3312,14},function,[]}]]},{type,{3313,7},constraint,[{atom,{3313,7},is_subtype},[{var,{3313,7},'Options'},{type,{3313,18},list,[{user_type,{3313,19},spawn_opt_option,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,57,50,48>>}},{{function,spawn_opt,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3326}],[<<115,112,97,119,110,95,111,112,116,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<70,117,110>>]},<<32,116,111,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<32,111,110,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,97,32,117,115,101,108,101,115,115,32,112,105,100,32,105,115,32,114,101,116,117,114,110,101,100,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,52>>]}]},<<46>>]},{p,[],[<<86,97,108,105,100,32,111,112,116,105,111,110,115,32,100,101,112,101,110,100,115,32,111,110,32,119,104,97,116,32,111,112,116,105,111,110,115,32,97,114,101,32,115,117,112,112,111,114,116,101,100,32,98,121,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,65,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,118,97,108,105,100,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,102,111,114,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,111,102,32,99,117,114,114,101,110,116,32,79,84,80,32,118,101,114,115,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,52>>]}]},<<46>>]}]},#{signature => [{attribute,{3326,2},spec,{{spawn_opt,3},[{type,{3326,16},bounded_fun,[{type,{3326,16},'fun',[{type,{3326,16},product,[{var,{3326,17},'Node'},{var,{3326,23},'Fun'},{var,{3326,28},'Options'}]},{type,{3326,40},union,[{type,{3326,40},pid,[]},{type,{3326,48},tuple,[{type,{3326,49},pid,[]},{type,{3326,56},reference,[]}]}]}]},[{type,{3327,7},constraint,[{atom,{3327,7},is_subtype},[{var,{3327,7},'Node'},{type,{3327,15},node,[]}]]},{type,{3328,7},constraint,[{atom,{3328,7},is_subtype},[{var,{3328,7},'Fun'},{type,{3328,14},function,[]}]]},{type,{3329,7},constraint,[{atom,{3329,7},is_subtype},[{var,{3329,7},'Options'},{type,{3329,18},list,[{type,{3329,19},union,[{atom,{3329,19},monitor},{type,{3330,19},tuple,[{atom,{3330,20},monitor},{type,{3330,29},list,[{user_type,{3330,30},monitor_option,[]}]}]},{atom,{3331,19},link},{var,{3332,19},'OtherOption'}]}]}]]},{type,{3333,7},constraint,[{atom,{3333,7},is_subtype},[{var,{3333,7},'OtherOption'},{type,{3333,22},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,57,51,56>>}},{{function,spawn_opt,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3443}],[<<115,112,97,119,110,95,111,112,116,47,52>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]},{li,[{name,<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>}],[]},{li,[{name,<<112,114,105,111,114,105,116,121,95,108,101,118,101,108>>}],[]},{li,[{name,<<115,112,97,119,110,95,111,112,116,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<87,111,114,107,115,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,47,51>>]}]},<<44,32,101,120,99,101,112,116,32,116,104,97,116,32,97,110,32,101,120,116,114,97,32,111,112,116,105,111,110,32,108,105,115,116,32,105,115,32,115,112,101,99,105,102,105,101,100,32,119,104,101,110,32,99,114,101,97,116,105,110,103,32,116,104,101,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<109,111,110,105,116,111,114>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,32,105,115,32,109,111,110,105,116,111,114,101,100,44,32,97,110,100,32,98,111,116,104,32,116,104,101,32,112,105,100,32,97,110,100,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,116,104,101,32,109,111,110,105,116,111,114,32,97,114,101,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<79,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<108,105,110,107>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,97,32,108,105,110,107,32,116,111,32,116,104,101,32,112,97,114,101,110,116,32,112,114,111,99,101,115,115,32,40,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,108,105,110,107,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,108,105,110,107,47,51>>]}]},<<32,100,111,101,115,41,46>>]}]},{dt,[],[{code,[],[<<109,111,110,105,116,111,114>>]}]},{dd,[],[{p,[],[<<77,111,110,105,116,111,114,115,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,32,40,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,80,105,100,41>>]}]},<<32,100,111,101,115,41,46,32,65,32>>,{code,[],[<<123,80,105,100,44,32,77,111,110,105,116,111,114,82,101,102,125>>]},<<32,116,117,112,108,101,32,119,105,108,108,32,98,101,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,32,111,102,32,106,117,115,116,32,97,32>>,{code,[],[<<80,105,100>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,109,111,110,105,116,111,114,44,32,77,111,110,105,116,111,114,79,112,116,115,125>>]}]},{dd,[],[{p,[],[<<77,111,110,105,116,111,114,115,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,32,119,105,116,104,32,111,112,116,105,111,110,115,32,40,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,80,105,100,44,32,77,111,110,105,116,111,114,79,112,116,115,41>>]}]},<<32,100,111,101,115,41,46,32,65,32>>,{code,[],[<<123,80,105,100,44,32,77,111,110,105,116,111,114,82,101,102,125>>]},<<32,116,117,112,108,101,32,119,105,108,108,32,98,101,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,32,111,102,32,106,117,115,116,32,97,32>>,{code,[],[<<80,105,100>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,112,114,105,111,114,105,116,121,44,32,76,101,118,101,108,125>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,116,104,101,32,112,114,105,111,114,105,116,121,32,111,102,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,46,32,69,113,117,105,118,97,108,101,110,116,32,116,111,32,101,120,101,99,117,116,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,112,114,105,111,114,105,116,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,112,114,105,111,114,105,116,121,44,32,76,101,118,101,108,41>>]}]},<<32,105,110,32,116,104,101,32,115,116,97,114,116,32,102,117,110,99,116,105,111,110,32,111,102,32,116,104,101,32,110,101,119,32,112,114,111,99,101,115,115,44,32,101,120,99,101,112,116,32,116,104,97,116,32,116,104,101,32,112,114,105,111,114,105,116,121,32,105,115,32,115,101,116,32,98,101,102,111,114,101,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,32,115,101,108,101,99,116,101,100,32,102,111,114,32,101,120,101,99,117,116,105,111,110,32,102,111,114,32,116,104,101,32,102,105,114,115,116,32,116,105,109,101,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,112,114,105,111,114,105,116,105,101,115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,112,114,105,111,114,105,116,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,112,114,105,111,114,105,116,121,44,32,76,101,118,101,108,41>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114,44,32,78,117,109,98,101,114,125>>]}]},{dd,[],[{p,[],[<<85,115,101,102,117,108,32,111,110,108,121,32,102,111,114,32,112,101,114,102,111,114,109,97,110,99,101,32,116,117,110,105,110,103,46,32,68,111,32,110,111,116,32,117,115,101,32,116,104,105,115,32,111,112,116,105,111,110,32,117,110,108,101,115,115,32,121,111,117,32,107,110,111,119,32,116,104,97,116,32,116,104,101,114,101,32,105,115,32,112,114,111,98,108,101,109,32,119,105,116,104,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,115,32,111,114,32,109,101,109,111,114,121,32,99,111,110,115,117,109,112,116,105,111,110,44,32,97,110,100,32,101,110,115,117,114,101,32,116,104,97,116,32,116,104,101,32,111,112,116,105,111,110,32,105,109,112,114,111,118,101,115,32,109,97,116,116,101,114,115,46>>]},{p,[],[<<84,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,117,115,101,115,32,97,32,103,101,110,101,114,97,116,105,111,110,97,108,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,115,99,104,101,109,101,44,32,117,115,105,110,103,32,97,110,32,34,111,108,100,32,104,101,97,112,34,32,102,111,114,32,100,97,116,97,32,116,104,97,116,32,104,97,115,32,115,117,114,118,105,118,101,100,32,97,116,32,108,101,97,115,116,32,111,110,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46,32,87,104,101,110,32,116,104,101,114,101,32,105,115,32,110,111,32,109,111,114,101,32,114,111,111,109,32,111,110,32,116,104,101,32,111,108,100,32,104,101,97,112,44,32,97,32,102,117,108,108,115,119,101,101,112,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,100,111,110,101,46>>]},{p,[],[<<79,112,116,105,111,110,32>>,{code,[],[<<102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>]},<<32,109,97,107,101,115,32,105,116,32,112,111,115,115,105,98,108,101,32,116,111,32,115,112,101,99,105,102,121,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,103,101,110,101,114,97,116,105,111,110,97,108,32,99,111,108,108,101,99,116,105,111,110,115,32,98,101,102,111,114,101,32,102,111,114,99,105,110,103,32,97,32,102,117,108,108,115,119,101,101,112,44,32,101,118,101,110,32,105,102,32,116,104,101,114,101,32,105,115,32,114,111,111,109,32,111,110,32,116,104,101,32,111,108,100,32,104,101,97,112,46,32,83,101,116,116,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,116,111,32,122,101,114,111,32,100,105,115,97,98,108,101,115,32,116,104,101,32,103,101,110,101,114,97,108,32,99,111,108,108,101,99,116,105,111,110,32,97,108,103,111,114,105,116,104,109,44,32,116,104,97,116,32,105,115,44,32,97,108,108,32,108,105,118,101,32,100,97,116,97,32,105,115,32,99,111,112,105,101,100,32,97,116,32,101,118,101,114,121,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46>>]},{p,[],[<<65,32,102,101,119,32,99,97,115,101,115,32,119,104,101,110,32,105,116,32,99,97,110,32,98,101,32,117,115,101,102,117,108,32,116,111,32,99,104,97,110,103,101,32>>,{code,[],[<<102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>]},<<58>>]},{ul,[],[{li,[],[{p,[],[<<73,102,32,98,105,110,97,114,105,101,115,32,116,104,97,116,32,97,114,101,32,110,111,32,108,111,110,103,101,114,32,117,115,101,100,32,97,114,101,32,116,111,32,98,101,32,116,104,114,111,119,110,32,97,119,97,121,32,97,115,32,115,111,111,110,32,97,115,32,112,111,115,115,105,98,108,101,46,32,40,83,101,116,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<32,116,111,32,122,101,114,111,46,41>>]}]},{li,[],[{p,[],[<<65,32,112,114,111,99,101,115,115,32,116,104,97,116,32,109,111,115,116,108,121,32,104,97,118,101,32,115,104,111,114,116,45,108,105,118,101,100,32,100,97,116,97,32,105,115,32,102,117,108,108,115,119,101,101,112,101,100,32,115,101,108,100,111,109,32,111,114,32,110,101,118,101,114,44,32,116,104,97,116,32,105,115,44,32,116,104,101,32,111,108,100,32,104,101,97,112,32,99,111,110,116,97,105,110,115,32,109,111,115,116,108,121,32,103,97,114,98,97,103,101,46,32,84,111,32,101,110,115,117,114,101,32,97,32,102,117,108,108,115,119,101,101,112,32,111,99,99,97,115,105,111,110,97,108,108,121,44,32,115,101,116,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<32,116,111,32,97,32,115,117,105,116,97,98,108,101,32,118,97,108,117,101,44,32,115,117,99,104,32,97,115,32,49,48,32,111,114,32,50,48,46>>]}]},{li,[],[<<73,110,32,101,109,98,101,100,100,101,100,32,115,121,115,116,101,109,115,32,119,105,116,104,32,97,32,108,105,109,105,116,101,100,32,97,109,111,117,110,116,32,111,102,32,82,65,77,32,97,110,100,32,110,111,32,118,105,114,116,117,97,108,32,109,101,109,111,114,121,44,32,121,111,117,32,109,105,103,104,116,32,119,97,110,116,32,116,111,32,112,114,101,115,101,114,118,101,32,109,101,109,111,114,121,32,98,121,32,115,101,116,116,105,110,103,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<32,116,111,32,122,101,114,111,46,32,40,84,104,101,32,118,97,108,117,101,32,99,97,110,32,98,101,32,115,101,116,32,103,108,111,98,97,108,108,121,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,47,50>>]}]},<<46,41>>]}]}]},{dt,[],[{code,[],[<<123,109,105,110,95,104,101,97,112,95,115,105,122,101,44,32,83,105,122,101,125>>]}]},{dd,[],[{p,[],[<<85,115,101,102,117,108,32,111,110,108,121,32,102,111,114,32,112,101,114,102,111,114,109,97,110,99,101,32,116,117,110,105,110,103,46,32,68,111,32,110,111,116,32,117,115,101,32,116,104,105,115,32,111,112,116,105,111,110,32,117,110,108,101,115,115,32,121,111,117,32,107,110,111,119,32,116,104,97,116,32,116,104,101,114,101,32,105,115,32,112,114,111,98,108,101,109,32,119,105,116,104,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,115,32,111,114,32,109,101,109,111,114,121,32,99,111,110,115,117,109,112,116,105,111,110,44,32,97,110,100,32,101,110,115,117,114,101,32,116,104,97,116,32,116,104,101,32,111,112,116,105,111,110,32,105,109,112,114,111,118,101,115,32,109,97,116,116,101,114,115,46>>]},{p,[],[<<71,105,118,101,115,32,97,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,44,32,105,110,32,119,111,114,100,115,46,32,83,101,116,116,105,110,103,32,116,104,105,115,32,118,97,108,117,101,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,99,97,110,32,115,112,101,101,100,32,117,112,32,115,111,109,101,32,112,114,111,99,101,115,115,101,115,32,98,101,99,97,117,115,101,32,108,101,115,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,100,111,110,101,46,32,72,111,119,101,118,101,114,44,32,115,101,116,116,105,110,103,32,97,32,116,111,111,32,104,105,103,104,32,118,97,108,117,101,32,99,97,110,32,119,97,115,116,101,32,109,101,109,111,114,121,32,97,110,100,32,115,108,111,119,32,100,111,119,110,32,116,104,101,32,115,121,115,116,101,109,32,98,101,99,97,117,115,101,32,111,102,32,119,111,114,115,101,32,100,97,116,97,32,108,111,99,97,108,105,116,121,46,32,84,104,101,114,101,102,111,114,101,44,32,117,115,101,32,116,104,105,115,32,111,112,116,105,111,110,32,111,110,108,121,32,102,111,114,32,102,105,110,101,45,116,117,110,105,110,103,32,97,110,32,97,112,112,108,105,99,97,116,105,111,110,32,97,110,100,32,116,111,32,109,101,97,115,117,114,101,32,116,104,101,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,32,119,105,116,104,32,118,97,114,105,111,117,115,32>>,{code,[],[<<83,105,122,101>>]},<<32,118,97,108,117,101,115,46>>]}]},{dt,[],[{code,[],[<<123,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101,44,32,86,83,105,122,101,125>>]}]},{dd,[],[{p,[],[<<85,115,101,102,117,108,32,111,110,108,121,32,102,111,114,32,112,101,114,102,111,114,109,97,110,99,101,32,116,117,110,105,110,103,46,32,68,111,32,110,111,116,32,117,115,101,32,116,104,105,115,32,111,112,116,105,111,110,32,117,110,108,101,115,115,32,121,111,117,32,107,110,111,119,32,116,104,97,116,32,116,104,101,114,101,32,105,115,32,112,114,111,98,108,101,109,32,119,105,116,104,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,115,32,111,114,32,109,101,109,111,114,121,32,99,111,110,115,117,109,112,116,105,111,110,44,32,97,110,100,32,101,110,115,117,114,101,32,116,104,97,116,32,116,104,101,32,111,112,116,105,111,110,32,105,109,112,114,111,118,101,115,32,109,97,116,116,101,114,115,46>>]},{p,[],[<<71,105,118,101,115,32,97,32,109,105,110,105,109,117,109,32,98,105,110,97,114,121,32,118,105,114,116,117,97,108,32,104,101,97,112,32,115,105,122,101,44,32,105,110,32,119,111,114,100,115,46,32,83,101,116,116,105,110,103,32,116,104,105,115,32,118,97,108,117,101,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,115,121,115,116,101,109,32,100,101,102,97,117,108,116,32,99,97,110,32,115,112,101,101,100,32,117,112,32,115,111,109,101,32,112,114,111,99,101,115,115,101,115,32,98,101,99,97,117,115,101,32,108,101,115,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,100,111,110,101,46,32,72,111,119,101,118,101,114,44,32,115,101,116,116,105,110,103,32,97,32,116,111,111,32,104,105,103,104,32,118,97,108,117,101,32,99,97,110,32,119,97,115,116,101,32,109,101,109,111,114,121,46,32,84,104,101,114,101,102,111,114,101,44,32,117,115,101,32,116,104,105,115,32,111,112,116,105,111,110,32,111,110,108,121,32,102,111,114,32,102,105,110,101,45,116,117,110,105,110,103,32,97,110,32,97,112,112,108,105,99,97,116,105,111,110,32,97,110,100,32,116,111,32,109,101,97,115,117,114,101,32,116,104,101,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,32,119,105,116,104,32,118,97,114,105,111,117,115,32>>,{code,[],[<<86,83,105,122,101>>]},<<32,118,97,108,117,101,115,46>>]}]},{dt,[],[{code,[],[<<123,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,83,105,122,101,125>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,116,104,101,32>>,{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,46,32,84,104,101,32,100,101,102,97,117,108,116,32>>,{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]},<<32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,97,120>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,97,120>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,83,105,122,101,41>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,44,32,77,81,68,125>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,46,32>>,{code,[],[<<77,81,68>>]},<<32,99,97,110,32,98,101,32,101,105,116,104,101,114,32>>,{code,[],[<<111,102,102,95,104,101,97,112>>]},<<32,111,114,32>>,{code,[],[<<111,110,95,104,101,97,112>>]},<<46,32,84,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32,116,104,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,113,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,113,100>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,44,32,77,81,68,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,112,97,119,110,95,111,112,116,95,97,115,121,110,99,95,100,105,115,116>>}],[]},{code,[],[<<123,97,115,121,110,99,95,100,105,115,116,44,32,69,110,97,98,108,101,100,125>>]}]},{dd,[],[{p,[],[<<83,105,110,99,101,58,32,79,84,80,32,50,53,46,51>>]},{p,[],[<<83,101,116,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,97,115,121,110,99,95,100,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]}]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,32,111,102,32,116,104,101,32,115,112,97,119,110,101,100,32,112,114,111,99,101,115,115,46,32,84,104,105,115,32,111,112,116,105,111,110,32,119,105,108,108,32,111,118,101,114,114,105,100,101,32,116,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,115,101,116,32,98,121,32,116,104,101,32,99,111,109,109,97,110,100,32,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,112,97,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,112,97,100,32,60,98,111,111,108,101,97,110,62>>]}]},<<46>>]}]}]}]},#{signature => [{attribute,{3443,2},spec,{{spawn_opt,4},[{type,{3443,16},bounded_fun,[{type,{3443,16},'fun',[{type,{3443,16},product,[{var,{3443,17},'Module'},{var,{3443,25},'Function'},{var,{3443,35},'Args'},{var,{3443,41},'Options'}]},{type,{3444,11},union,[{var,{3444,11},'Pid'},{type,{3444,17},tuple,[{var,{3444,18},'Pid'},{var,{3444,23},'MonitorRef'}]}]}]},[{type,{3445,7},constraint,[{atom,{3445,7},is_subtype},[{var,{3445,7},'Module'},{type,{3445,17},module,[]}]]},{type,{3446,7},constraint,[{atom,{3446,7},is_subtype},[{var,{3446,7},'Function'},{type,{3446,19},atom,[]}]]},{type,{3447,7},constraint,[{atom,{3447,7},is_subtype},[{var,{3447,7},'Args'},{type,{3447,15},list,[{type,{3447,16},term,[]}]}]]},{type,{3448,7},constraint,[{atom,{3448,7},is_subtype},[{var,{3448,7},'Options'},{type,{3448,18},list,[{user_type,{3448,19},spawn_opt_option,[]}]}]]},{type,{3449,7},constraint,[{atom,{3449,7},is_subtype},[{var,{3449,7},'Pid'},{type,{3449,14},pid,[]}]]},{type,{3450,7},constraint,[{atom,{3450,7},is_subtype},[{var,{3450,7},'MonitorRef'},{type,{3450,21},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,55,57,54,49>>}},{{function,spawn_opt,5},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3455}],[<<115,112,97,119,110,95,111,112,116,47,53>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<32,111,110,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,73,102,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,97,32,117,115,101,108,101,115,115,32,112,105,100,32,105,115,32,114,101,116,117,114,110,101,100,46,32,79,116,104,101,114,119,105,115,101,32,119,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,52>>]}]},<<46>>]},{p,[],[<<86,97,108,105,100,32,111,112,116,105,111,110,115,32,100,101,112,101,110,100,115,32,111,110,32,119,104,97,116,32,111,112,116,105,111,110,115,32,97,114,101,32,115,117,112,112,111,114,116,101,100,32,98,121,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,65,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,118,97,108,105,100,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,102,111,114,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,111,102,32,99,117,114,114,101,110,116,32,79,84,80,32,118,101,114,115,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,52>>]}]},<<46>>]}]},#{signature => [{attribute,{3455,2},spec,{{spawn_opt,5},[{type,{3455,16},bounded_fun,[{type,{3455,16},'fun',[{type,{3455,16},product,[{var,{3455,17},'Node'},{var,{3455,23},'Module'},{var,{3455,31},'Function'},{var,{3455,41},'Args'},{var,{3455,47},'Options'}]},{type,{3456,24},union,[{type,{3456,24},pid,[]},{type,{3456,32},tuple,[{type,{3456,33},pid,[]},{type,{3456,40},reference,[]}]}]}]},[{type,{3457,7},constraint,[{atom,{3457,7},is_subtype},[{var,{3457,7},'Node'},{type,{3457,15},node,[]}]]},{type,{3458,7},constraint,[{atom,{3458,7},is_subtype},[{var,{3458,7},'Module'},{type,{3458,17},module,[]}]]},{type,{3459,7},constraint,[{atom,{3459,7},is_subtype},[{var,{3459,7},'Function'},{type,{3459,19},atom,[]}]]},{type,{3460,7},constraint,[{atom,{3460,7},is_subtype},[{var,{3460,7},'Args'},{type,{3460,15},list,[{type,{3460,16},term,[]}]}]]},{type,{3461,7},constraint,[{atom,{3461,7},is_subtype},[{var,{3461,7},'Options'},{type,{3461,18},list,[{type,{3461,19},union,[{atom,{3461,19},monitor},{type,{3462,19},tuple,[{atom,{3462,20},monitor},{type,{3462,29},list,[{user_type,{3462,30},monitor_option,[]}]}]},{atom,{3463,19},link},{var,{3464,19},'OtherOption'}]}]}]]},{type,{3465,7},constraint,[{atom,{3465,7},is_subtype},[{var,{3465,7},'OtherOption'},{type,{3465,22},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,49,50,52>>}},{{function,spawn_request,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3510}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,110,111,100,101,40,41,44,70,117,110,44,91,93,41>>]}]},<<46,32,84,104,97,116,32,105,115,44,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,111,110,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,119,105,116,104,32,110,111,32,111,112,116,105,111,110,115,46>>]}]},#{signature => [{attribute,{3510,2},spec,{{spawn_request,1},[{type,{3510,20},bounded_fun,[{type,{3510,20},'fun',[{type,{3510,20},product,[{var,{3510,21},'Fun'}]},{var,{3510,29},'ReqId'}]},[{type,{3511,7},constraint,[{atom,{3511,7},is_subtype},[{var,{3511,7},'Fun'},{type,{3511,14},function,[]}]]},{type,{3512,7},constraint,[{atom,{3512,7},is_subtype},[{var,{3512,7},'ReqId'},{type,{3512,16},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,49,52,56>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3528}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,50>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,110,111,100,101,40,41,44,70,117,110,44,79,112,116,105,111,110,115,41>>]}]},<<46,32,84,104,97,116,32,105,115,44,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,111,110,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46>>]}]},#{signature => [{attribute,{3528,2},spec,{{spawn_request,2},[{type,{3528,20},bounded_fun,[{type,{3528,20},'fun',[{type,{3528,20},product,[{var,{3528,21},'Fun'},{var,{3528,26},'Options'}]},{var,{3528,38},'ReqId'}]},[{type,{3529,7},constraint,[{atom,{3529,7},is_subtype},[{var,{3529,7},'Fun'},{type,{3529,14},function,[]}]]},{type,{3530,7},constraint,[{atom,{3530,7},is_subtype},[{var,{3530,7},'Option'},{type,{3530,17},union,[{type,{3530,17},tuple,[{atom,{3530,18},reply_tag},{var,{3530,29},'ReplyTag'}]},{type,{3531,17},tuple,[{atom,{3531,18},reply},{var,{3531,25},'Reply'}]},{user_type,{3532,17},spawn_opt_option,[]}]}]]},{type,{3533,7},constraint,[{atom,{3533,7},is_subtype},[{var,{3533,7},'ReplyTag'},{type,{3533,19},term,[]}]]},{type,{3534,7},constraint,[{atom,{3534,7},is_subtype},[{var,{3534,7},'Reply'},{type,{3534,16},union,[{atom,{3534,16},yes},{atom,{3534,22},no},{atom,{3534,27},error_only},{atom,{3534,40},success_only}]}]]},{type,{3535,7},constraint,[{atom,{3535,7},is_subtype},[{var,{3535,7},'Options'},{type,{3535,18},list,[{var,{3535,19},'Option'}]}]]},{type,{3536,7},constraint,[{atom,{3536,7},is_subtype},[{var,{3536,7},'ReqId'},{type,{3536,16},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,49,54,48>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3528}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,50>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,78,111,100,101,44,70,117,110,44,91,93,41>>]}]},<<46,32,84,104,97,116,32,105,115,44,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,119,105,116,104,32,110,111,32,111,112,116,105,111,110,115,46>>]}]},#{signature => [{attribute,{3528,2},spec,{{spawn_request,2},[{type,{3537,20},bounded_fun,[{type,{3537,20},'fun',[{type,{3537,20},product,[{var,{3537,21},'Node'},{var,{3537,27},'Fun'}]},{var,{3537,35},'ReqId'}]},[{type,{3538,7},constraint,[{atom,{3538,7},is_subtype},[{var,{3538,7},'Node'},{type,{3538,15},node,[]}]]},{type,{3539,7},constraint,[{atom,{3539,7},is_subtype},[{var,{3539,7},'Fun'},{type,{3539,14},function,[]}]]},{type,{3540,7},constraint,[{atom,{3540,7},is_subtype},[{var,{3540,7},'ReqId'},{type,{3540,16},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,49,55,50>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3563}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,51>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,78,111,100,101,44,101,114,108,97,110,103,44,97,112,112,108,121,44,91,70,117,110,44,91,93,93,44,79,112,116,105,111,110,115,41>>]}]},<<46,32,84,104,97,116,32,105,115,44,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,117,115,105,110,103,32,116,104,101,32,102,117,110,32>>,{code,[],[<<70,117,110>>]},<<32,111,102,32,97,114,105,116,121,32,122,101,114,111,32,97,115,32,101,110,116,114,121,32,112,111,105,110,116,46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,119,105,108,108,32,102,97,105,108,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,105,102,58>>]},{ul,[],[{li,[],[{p,[],[{code,[],[<<78,111,100,101>>]},<<32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46>>]}]},{li,[],[{p,[],[{code,[],[<<70,117,110>>]},<<32,105,115,32,110,111,116,32,97,32,102,117,110,32,111,102,32,97,114,105,116,121,32,122,101,114,111,46>>]}]},{li,[],[{p,[],[{code,[],[<<79,112,116,105,111,110,115>>]},<<32,105,115,32,110,111,116,32,97,32,112,114,111,112,101,114,32,108,105,115,116,32,111,102,32,116,101,114,109,115,46>>]}]}]}]},#{signature => [{attribute,{3563,2},spec,{{spawn_request,3},[{type,{3563,20},bounded_fun,[{type,{3563,20},'fun',[{type,{3563,20},product,[{var,{3563,21},'Node'},{var,{3563,27},'Fun'},{var,{3563,32},'Options'}]},{var,{3563,44},'ReqId'}]},[{type,{3564,7},constraint,[{atom,{3564,7},is_subtype},[{var,{3564,7},'Node'},{type,{3564,15},node,[]}]]},{type,{3565,7},constraint,[{atom,{3565,7},is_subtype},[{var,{3565,7},'Fun'},{type,{3565,14},function,[]}]]},{type,{3566,7},constraint,[{atom,{3566,7},is_subtype},[{var,{3566,7},'Options'},{type,{3566,18},list,[{var,{3566,19},'Option'}]}]]},{type,{3567,7},constraint,[{atom,{3567,7},is_subtype},[{var,{3567,7},'Option'},{type,{3567,17},union,[{atom,{3567,17},monitor},{type,{3568,17},tuple,[{atom,{3568,18},monitor},{type,{3568,27},list,[{user_type,{3568,28},monitor_option,[]}]}]},{atom,{3569,17},link},{type,{3570,17},tuple,[{atom,{3570,18},reply_tag},{var,{3570,29},'ReplyTag'}]},{type,{3571,17},tuple,[{atom,{3571,18},reply},{var,{3571,25},'Reply'}]},{var,{3572,17},'OtherOption'}]}]]},{type,{3573,7},constraint,[{atom,{3573,7},is_subtype},[{var,{3573,7},'ReplyTag'},{type,{3573,19},term,[]}]]},{type,{3574,7},constraint,[{atom,{3574,7},is_subtype},[{var,{3574,7},'Reply'},{type,{3574,16},union,[{atom,{3574,16},yes},{atom,{3574,22},no},{atom,{3574,27},error_only},{atom,{3574,40},success_only}]}]]},{type,{3575,7},constraint,[{atom,{3575,7},is_subtype},[{var,{3575,7},'OtherOption'},{type,{3575,22},term,[]}]]},{type,{3576,7},constraint,[{atom,{3576,7},is_subtype},[{var,{3576,7},'ReqId'},{type,{3576,16},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,49,56,52>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3563}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,51>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,110,111,100,101,40,41,44,77,111,100,117,108,101,44,70,117,110,99,116,105,111,110,44,65,114,103,115,44,91,93,41>>]}]},<<46,32,84,104,97,116,32,105,115,44,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,111,110,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,119,105,116,104,32,110,111,32,111,112,116,105,111,110,115,46>>]}]},#{signature => [{attribute,{3563,2},spec,{{spawn_request,3},[{type,{3577,20},bounded_fun,[{type,{3577,20},'fun',[{type,{3577,20},product,[{var,{3577,21},'Module'},{var,{3577,29},'Function'},{var,{3577,39},'Args'}]},{var,{3578,28},'ReqId'}]},[{type,{3579,7},constraint,[{atom,{3579,7},is_subtype},[{var,{3579,7},'Module'},{type,{3579,17},module,[]}]]},{type,{3580,7},constraint,[{atom,{3580,7},is_subtype},[{var,{3580,7},'Function'},{type,{3580,19},atom,[]}]]},{type,{3581,7},constraint,[{atom,{3581,7},is_subtype},[{var,{3581,7},'Args'},{type,{3581,15},list,[{type,{3581,16},term,[]}]}]]},{type,{3582,7},constraint,[{atom,{3582,7},is_subtype},[{var,{3582,7},'ReqId'},{type,{3582,16},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,50,48,52>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3603}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,52>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,78,111,100,101,44,77,111,100,117,108,101,44,70,117,110,99,116,105,111,110,44,65,114,103,115,44,91,93,41>>]}]},<<46,32,84,104,97,116,32,105,115,44,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,119,105,116,104,32,110,111,32,111,112,116,105,111,110,115,46>>]}]},#{signature => [{attribute,{3603,2},spec,{{spawn_request,4},[{type,{3603,20},bounded_fun,[{type,{3603,20},'fun',[{type,{3603,20},product,[{var,{3603,21},'Node'},{var,{3603,27},'Module'},{var,{3603,35},'Function'},{var,{3603,45},'Args'}]},{var,{3604,28},'ReqId'}]},[{type,{3605,7},constraint,[{atom,{3605,7},is_subtype},[{var,{3605,7},'Node'},{type,{3605,15},node,[]}]]},{type,{3606,7},constraint,[{atom,{3606,7},is_subtype},[{var,{3606,7},'Module'},{type,{3606,17},module,[]}]]},{type,{3607,7},constraint,[{atom,{3607,7},is_subtype},[{var,{3607,7},'Function'},{type,{3607,19},atom,[]}]]},{type,{3608,7},constraint,[{atom,{3608,7},is_subtype},[{var,{3608,7},'Args'},{type,{3608,15},list,[{type,{3608,16},term,[]}]}]]},{type,{3609,7},constraint,[{atom,{3609,7},is_subtype},[{var,{3609,7},'ReqId'},{type,{3609,16},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,50,49,54>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3603}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,52>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,110,111,100,101,40,41,44,77,111,100,117,108,101,44,70,117,110,99,116,105,111,110,44,65,114,103,115,44,79,112,116,105,111,110,115,41>>]}]},<<46,32,84,104,97,116,32,105,115,44,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,111,110,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46>>]}]},#{signature => [{attribute,{3603,2},spec,{{spawn_request,4},[{type,{3610,20},bounded_fun,[{type,{3610,20},'fun',[{type,{3610,20},product,[{var,{3610,21},'Module'},{var,{3610,29},'Function'},{var,{3610,39},'Args'},{var,{3610,45},'Options'}]},{var,{3611,28},'ReqId'}]},[{type,{3612,7},constraint,[{atom,{3612,7},is_subtype},[{var,{3612,7},'Module'},{type,{3612,17},module,[]}]]},{type,{3613,7},constraint,[{atom,{3613,7},is_subtype},[{var,{3613,7},'Function'},{type,{3613,19},atom,[]}]]},{type,{3614,7},constraint,[{atom,{3614,7},is_subtype},[{var,{3614,7},'Args'},{type,{3614,15},list,[{type,{3614,16},term,[]}]}]]},{type,{3615,7},constraint,[{atom,{3615,7},is_subtype},[{var,{3615,7},'Option'},{type,{3615,17},union,[{type,{3615,17},tuple,[{atom,{3615,18},reply_tag},{var,{3615,29},'ReplyTag'}]},{type,{3616,17},tuple,[{atom,{3616,18},reply},{var,{3616,25},'Reply'}]},{user_type,{3617,17},spawn_opt_option,[]}]}]]},{type,{3618,7},constraint,[{atom,{3618,7},is_subtype},[{var,{3618,7},'ReplyTag'},{type,{3618,19},term,[]}]]},{type,{3619,7},constraint,[{atom,{3619,7},is_subtype},[{var,{3619,7},'Reply'},{type,{3619,16},union,[{atom,{3619,16},yes},{atom,{3619,22},no},{atom,{3619,27},error_only},{atom,{3619,40},success_only}]}]]},{type,{3620,7},constraint,[{atom,{3620,7},is_subtype},[{var,{3620,7},'Options'},{type,{3620,18},list,[{var,{3620,19},'Option'}]}]]},{type,{3621,7},constraint,[{atom,{3621,7},is_subtype},[{var,{3621,7},'ReqId'},{type,{3621,16},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,50,50,56>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request,5},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3644}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,47,53>>],#{<<101,110>> => [{p,[],[<<65,115,121,110,99,104,114,111,110,111,117,115,108,121,32,115,101,110,100,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,46,32,82,101,116,117,114,110,115,32,97,32,114,101,113,117,101,115,116,32,105,100,101,110,116,105,102,105,101,114,32>>,{code,[],[<<82,101,113,73,100>>]},<<46>>]},{a,[{id,<<115,112,97,119,110,95,114,101,113,117,101,115,116,95,115,117,99,99,101,115,115,95,109,101,115,115,97,103,101>>}],[]},{p,[],[<<73,102,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,115,117,99,99,101,101,100,115,44,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,105,115,32,99,114,101,97,116,101,100,32,111,110,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,87,104,101,110,32,97,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,115,117,99,99,101,101,100,115,44,32,116,104,101,32,99,97,108,108,101,114,32,119,105,108,108,32,98,121,32,100,101,102,97,117,108,116,32,98,101,32,115,101,110,116,32,97,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,82,101,112,108,121,84,97,103,44,32,82,101,113,73,100,44,32,111,107,44,32,80,105,100,125>>]},<<32,119,104,101,114,101,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,46,32,83,117,99,104,32,97,32,109,101,115,115,97,103,101,32,105,115,32,114,101,102,101,114,114,101,100,32,116,111,32,97,115,32,97,32>>,{i,[],[<<115,117,99,99,101,115,115,32,109,101,115,115,97,103,101>>]},<<32,98,101,108,111,119,32,105,110,32,116,104,101,32,116,101,120,116,46,32>>,{code,[],[<<82,101,112,108,121,84,97,103>>]},<<32,105,115,32,98,121,32,100,101,102,97,117,108,116,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<115,112,97,119,110,95,114,101,112,108,121>>]},<<32,117,110,108,101,115,115,32,109,111,100,105,102,105,101,100,32,98,121,32,116,104,101,32>>,{code,[],[<<123,114,101,112,108,121,95,116,97,103,44,32,82,101,112,108,121,84,97,103,125>>]},<<32,111,112,116,105,111,110,46,32,84,104,101,32,110,101,119,32,112,114,111,99,101,115,115,32,105,115,32,115,116,97,114,116,101,100,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,111,102,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110>>]},<<32,116,111,32>>,{code,[],[<<65,114,103,115>>]},<<46>>]},{a,[{id,<<115,112,97,119,110,95,114,101,113,117,101,115,116,95,101,114,114,111,114,95,109,101,115,115,97,103,101>>}],[]},{p,[],[<<84,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,115,32,101,105,116,104,101,114,32,105,102,32,99,114,101,97,116,105,111,110,32,111,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,102,97,105,108,101,100,32,111,114,32,105,102,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,119,97,115,32,105,110,116,101,114,114,117,112,116,101,100,32,98,121,32,97,32,99,111,110,110,101,99,116,105,111,110,32,102,97,105,108,117,114,101,46,32,87,104,101,110,32,97,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,115,44,32,116,104,101,32,99,97,108,108,101,114,32,119,105,108,108,32,98,121,32,100,101,102,97,117,108,116,32,98,101,32,115,101,110,116,32,97,32,109,101,115,115,97,103,101,32,111,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,82,101,112,108,121,84,97,103,44,32,82,101,113,73,100,44,32,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<32,119,104,101,114,101,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<32,105,115,32,116,104,101,32,101,114,114,111,114,32,114,101,97,115,111,110,46,32,83,117,99,104,32,97,32,109,101,115,115,97,103,101,32,105,115,32,114,101,102,101,114,114,101,100,32,116,111,32,97,115,32,97,110,32>>,{i,[],[<<101,114,114,111,114,32,109,101,115,115,97,103,101>>]},<<32,98,101,108,111,119,32,105,110,32,116,104,101,32,116,101,120,116,46,32,67,117,114,114,101,110,116,108,121,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,112,97,119,110,32,101,114,114,111,114,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<115,32,97,114,101,32,100,101,102,105,110,101,100,44,32,98,117,116,32,111,116,104,101,114,32,114,101,97,115,111,110,115,32,99,97,110,32,97,112,112,101,97,114,32,97,116,32,97,110,121,32,116,105,109,101,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,111,112,116>>]}]},{dd,[],[{p,[],[<<65,110,32,105,110,118,97,108,105,100,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<32,119,97,115,32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,46,32,78,111,116,101,32,116,104,97,116,32,100,105,102,102,101,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,115,32,109,97,121,32,115,117,112,112,111,114,116,32,100,105,102,102,101,114,101,110,116,32,111,112,116,105,111,110,115,46>>]}]},{dt,[],[{code,[],[<<110,111,116,115,117,112>>]}]},{dd,[],[{p,[],[<<84,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,115,32,105,115,115,117,101,100,32,98,121,32>>,{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,41>>]},<<46>>]}]},{dt,[],[{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]}]},{dd,[],[{p,[],[<<70,97,105,108,117,114,101,32,116,111,32,115,101,116,32,117,112,32,97,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<32,111,114,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,116,111,32,116,104,97,116,32,110,111,100,101,32,119,97,115,32,108,111,115,116,32,100,117,114,105,110,103,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,46,32,73,110,32,116,104,101,32,99,97,115,101,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,119,97,115,32,108,111,115,116,44,32,97,32,112,114,111,99,101,115,115,32,109,97,121,32,111,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,98,101,101,110,32,99,114,101,97,116,101,100,46>>]}]},{dt,[],[{code,[],[<<115,121,115,116,101,109,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<67,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,100,117,101,32,116,111,32,116,104,97,116,32,115,111,109,101,32,115,121,115,116,101,109,32,108,105,109,105,116,32,119,97,115,32,114,101,97,99,104,101,100,46,32,84,121,112,105,99,97,108,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,116,97,98,108,101,32,119,97,115,32,102,117,108,108,46>>]}]}]},{p,[],[<<86,97,108,105,100,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<109,111,110,105,116,111,114>>]}]},{dd,[],[{p,[],[<<73,110,32,116,104,101,32,97,98,115,101,110,99,101,32,111,102,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,117,114,101,115,44,32,97,116,111,109,105,99,97,108,108,121,32,115,101,116,115,32,117,112,32,97,32,109,111,110,105,116,111,114,32,116,111,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,46,32,84,104,97,116,32,105,115,44,32,97,115,32,105,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,104,97,100,32,99,97,108,108,101,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,80,105,100,41>>]}]},<<32,119,104,101,114,101,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,46,32,84,104,101,32>>,{code,[],[<<82,101,113,73,100>>]},<<32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,41>>]},<<32,105,115,32,97,108,115,111,32,117,115,101,100,32,97,115,32,109,111,110,105,116,111,114,32,114,101,102,101,114,101,110,99,101,32,97,115,32,105,102,32,105,116,32,119,97,115,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32>>,{code,[],[<<109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,80,105,100,41>>]},<<46>>]},{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,119,105,108,108,32,110,111,116,32,98,101,32,97,99,116,105,118,97,116,101,100,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,117,110,116,105,108,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,115,117,99,99,101,101,100,101,100,46,32,84,104,101,32,109,111,110,105,116,111,114,32,99,97,110,32,110,111,116,32,98,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,100,101,109,111,110,105,116,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<100,101,109,111,110,105,116,111,114,101,100>>]},<<32,98,101,102,111,114,101,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,115,117,99,99,101,101,100,101,100,46,32,65,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,32,102,111,114,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,109,111,110,105,116,111,114,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,110,111,116,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,115,117,99,99,101,115,115,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<115,117,99,99,101,115,115,32,109,101,115,115,97,103,101>>]}]},<<32,116,104,97,116,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,46,32,73,102,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,115,44,32,110,111,32>>,{code,[],[<<39,68,79,87,78,39>>]},<<32,109,101,115,115,97,103,101,32,119,105,108,108,32,98,101,32,100,101,108,105,118,101,114,101,100,46>>]},{p,[],[<<73,102,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,98,101,116,119,101,101,110,32,116,104,101,32,110,111,100,101,115,32,105,110,118,111,108,118,101,100,32,105,110,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,105,115,32,108,111,115,116,32,100,117,114,105,110,103,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,44,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,119,105,108,108,32,102,97,105,108,32,119,105,116,104,32,97,110,32,101,114,114,111,114,32,114,101,97,115,111,110,32,111,102,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]},<<46,32,65,32,110,101,119,32,112,114,111,99,101,115,115,32,109,97,121,32,111,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,98,101,101,110,32,99,114,101,97,116,101,100,46>>]}]},{dt,[],[{code,[],[<<123,109,111,110,105,116,111,114,44,32,77,111,110,105,116,111,114,79,112,116,115,125>>]}]},{dd,[],[{p,[],[<<73,110,32,116,104,101,32,97,98,115,101,110,99,101,32,111,102,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,117,114,101,115,44,32,97,116,111,109,105,99,97,108,108,121,32,115,101,116,115,32,117,112,32,97,32,109,111,110,105,116,111,114,32,116,111,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,46,32,84,104,97,116,32,105,115,44,32,97,115,32,105,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,104,97,100,32,99,97,108,108,101,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,40,112,114,111,99,101,115,115,44,32,80,105,100,44,32,77,111,110,105,116,111,114,79,112,116,115,41>>]}]},<<32,119,104,101,114,101,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,46,32,83,101,101,32,116,104,101,32>>,{code,[],[<<109,111,110,105,116,111,114>>]},<<32,111,112,116,105,111,110,32,97,98,111,118,101,32,102,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,46>>]},{p,[],[<<78,111,116,101,32,116,104,97,116,32,116,104,101,32,109,111,110,105,116,111,114,32,119,105,108,108,32,110,111,116,32,98,101,32,97,99,116,105,118,97,116,101,100,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,117,110,116,105,108,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,115,117,99,99,101,101,100,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,110,32,116,104,101,32,99,97,115,101,32,116,104,97,116,32,97,110,32,97,108,105,97,115,32,105,115,32,99,114,101,97,116,101,100,32,117,115,105,110,103,32,116,104,101,32,109,111,110,105,116,111,114,32,111,112,116,105,111,110,44,32,116,104,101,32,97,108,105,97,115,32,119,105,108,108,32,110,111,116,32,98,101,32,97,99,116,105,118,101,32,117,110,116,105,108,32,116,104,101,32,109,111,110,105,116,111,114,32,105,115,32,97,99,116,105,118,97,116,101,100,46>>]}]},{dt,[],[{code,[],[<<108,105,110,107>>]}]},{dd,[],[{p,[],[<<73,110,32,97,98,115,101,110,99,101,32,111,102,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,117,114,101,115,44,32,97,116,111,109,105,99,97,108,108,121,32,115,101,116,115,32,117,112,32,97,32,108,105,110,107,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,46,32,84,104,97,116,32,105,115,44,32,97,115,32,105,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,104,97,100,32,99,97,108,108,101,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,110,107,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<108,105,110,107,40,80,105,100,41>>]}]},<<32,119,104,101,114,101,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<84,104,101,32,108,105,110,107,32,119,105,108,108,32,110,111,116,32,98,101,32,97,99,116,105,118,97,116,101,100,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,117,110,116,105,108,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,115,117,99,99,101,101,100,101,100,46,32,84,104,101,32,108,105,110,107,32,99,97,110,32,110,111,116,32,98,101,32,114,101,109,111,118,101,100,32,98,101,102,111,114,101,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,115,117,99,99,101,101,100,101,100,46,32,65,110,32,101,120,105,116,32,115,105,103,110,97,108,32,100,117,101,32,116,111,32,116,104,101,32,108,105,110,107,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,110,111,116,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,115,117,99,99,101,115,115,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<115,117,99,99,101,115,115,32,109,101,115,115,97,103,101>>]}]},<<32,116,104,97,116,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,46,32,73,102,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,115,44,32,110,111,32,101,120,105,116,32,115,105,103,110,97,108,32,100,117,101,32,116,111,32,116,104,101,32,108,105,110,107,32,119,105,108,108,32,98,101,32,100,101,108,105,118,101,114,101,100,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,41>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,99,111,110,110,101,99,116,105,111,110,32,98,101,116,119,101,101,110,32,116,104,101,32,110,111,100,101,115,32,105,110,118,111,108,118,101,100,32,105,110,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,105,115,32,108,111,115,116,32,100,117,114,105,110,103,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,44,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,119,105,108,108,32,102,97,105,108,32,119,105,116,104,32,97,110,32,101,114,114,111,114,32,114,101,97,115,111,110,32,111,102,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]},<<46,32,65,32,110,101,119,32,112,114,111,99,101,115,115,32,109,97,121,32,111,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,98,101,101,110,32,99,114,101,97,116,101,100,46,32,73,102,32,105,116,32,104,97,115,32,98,101,101,110,32,99,114,101,97,116,101,100,44,32,105,116,32,119,105,108,108,32,98,101,32,100,101,108,105,118,101,114,101,100,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,119,105,116,104,32,97,110,32,101,120,105,116,32,114,101,97,115,111,110,32,111,102,32>>,{code,[],[<<110,111,99,111,110,110,101,99,116,105,111,110>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,114,101,112,108,121,44,32,82,101,112,108,121,125>>]}]},{dd,[],[{p,[],[<<86,97,108,105,100,32>>,{code,[],[<<82,101,112,108,121>>]},<<32,118,97,108,117,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<121,101,115>>]}]},{dd,[],[{p,[],[<<65,32,115,112,97,119,110,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,119,104,101,116,104,101,114,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,115,117,99,99,101,101,100,115,32,111,114,32,110,111,116,46,32,73,102,32,116,104,101,32,99,97,108,108,32,116,111,32>>,{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,41>>]},<<32,114,101,116,117,114,110,115,32,119,105,116,104,111,117,116,32,114,97,105,115,105,110,103,32,97,110,32,101,120,99,101,112,116,105,111,110,32,97,110,100,32,116,104,101,32>>,{code,[],[<<114,101,112,108,121>>]},<<32,111,112,116,105,111,110,32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<121,101,115>>]},<<44,32,116,104,101,32,99,97,108,108,101,114,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,101,105,116,104,101,114,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,115,117,99,99,101,115,115,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<115,117,99,99,101,115,115,32,109,101,115,115,97,103,101>>]}]},<<32,111,114,32,97,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,101,114,114,111,114,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<101,114,114,111,114,32,109,101,115,115,97,103,101>>]}]},<<46,32,84,104,101,32>>,{code,[],[<<114,101,112,108,121>>]},<<32,111,112,116,105,111,110,32,105,115,32,98,121,32,100,101,102,97,117,108,116,32,115,101,116,32,116,111,32>>,{code,[],[<<121,101,115>>]},<<46>>]}]},{dt,[],[{code,[],[<<110,111>>]}]},{dd,[],[{p,[],[<<78,111,32,115,112,97,119,110,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,119,104,101,110,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,99,111,109,112,108,101,116,101,115,46,32,84,104,105,115,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,119,104,101,116,104,101,114,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,115,117,99,99,101,101,100,115,32,111,114,32,110,111,116,46>>]}]},{dt,[],[{code,[],[<<101,114,114,111,114,95,111,110,108,121>>]}]},{dd,[],[{p,[],[<<78,111,32,115,112,97,119,110,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,105,102,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,115,117,99,99,101,101,100,115,44,32,98,117,116,32,97,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,101,114,114,111,114,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<101,114,114,111,114,32,109,101,115,115,97,103,101>>]}]},<<32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,105,102,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,115,46>>]}]},{dt,[],[{code,[],[<<115,117,99,99,101,115,115,95,111,110,108,121>>]}]},{dd,[],[{p,[],[<<78,111,32,115,112,97,119,110,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,105,102,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,115,44,32,98,117,116,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,115,117,99,99,101,115,115,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<115,117,99,99,101,115,115,32,109,101,115,115,97,103,101>>]}]},<<32,119,105,108,108,32,98,101,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,105,102,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,115,117,99,99,101,101,100,115,46>>]}]}]}]},{dt,[],[{code,[],[<<123,114,101,112,108,121,95,116,97,103,44,32,82,101,112,108,121,84,97,103,125>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,116,104,101,32,114,101,112,108,121,32,116,97,103,32,116,111,32>>,{code,[],[<<82,101,112,108,121,84,97,103>>]},<<32,105,110,32,116,104,101,32,114,101,112,108,121,32,109,101,115,115,97,103,101,46,32,84,104,97,116,32,105,115,44,32,105,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,115,117,99,99,101,115,115,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<115,117,99,99,101,115,115>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,101,114,114,111,114,95,109,101,115,115,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{i,[],[<<101,114,114,111,114>>]}]},<<32,109,101,115,115,97,103,101,32,116,104,97,116,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,100,117,101,32,116,111,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,46,32,84,104,101,32,100,101,102,97,117,108,116,32,114,101,112,108,121,32,116,97,103,32,105,115,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<115,112,97,119,110,95,114,101,112,108,121>>]},<<46>>]}]},{dt,[],[{code,[],[<<79,116,104,101,114,79,112,116,105,111,110>>]}]},{dd,[],[{p,[],[<<79,116,104,101,114,32,118,97,108,105,100,32,111,112,116,105,111,110,115,32,100,101,112,101,110,100,115,32,111,110,32,119,104,97,116,32,111,112,116,105,111,110,115,32,97,114,101,32,115,117,112,112,111,114,116,101,100,32,98,121,32,116,104,101,32,110,111,100,101,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<78,111,100,101>>]},<<46,32,65,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,111,116,104,101,114,32,118,97,108,105,100,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,102,111,114,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,111,102,32,99,117,114,114,101,110,116,32,79,84,80,32,118,101,114,115,105,111,110,32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,52>>]}]},<<46>>]}]}]},{p,[],[<<73,102,32,97,32,115,112,97,119,110,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,105,115,32,100,101,108,105,118,101,114,101,100,44,32,105,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100,32,98,101,102,111,114,101,32,97,110,121,32,111,116,104,101,114,32,115,105,103,110,97,108,115,32,102,114,111,109,32,116,104,101,32,110,101,119,108,121,32,115,112,97,119,110,101,100,32,112,114,111,99,101,115,115,32,97,114,101,32,100,101,108,105,118,101,114,101,100,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,115,115,117,105,110,103,32,116,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,119,105,108,108,32,102,97,105,108,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,105,102,58>>]},{ul,[],[{li,[],[{p,[],[{code,[],[<<78,111,100,101>>]},<<32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46>>]}]},{li,[],[{p,[],[{code,[],[<<77,111,100,117,108,101>>]},<<32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46>>]}]},{li,[],[{p,[],[{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,105,115,32,110,111,116,32,97,110,32,97,116,111,109,46>>]}]},{li,[],[{p,[],[{code,[],[<<65,114,103,115>>]},<<32,105,115,32,110,111,116,32,97,32,112,114,111,112,101,114,32,108,105,115,116,32,111,102,32,116,101,114,109,115,46>>]}]},{li,[],[{p,[],[{code,[],[<<79,112,116,105,111,110,115>>]},<<32,105,115,32,110,111,116,32,97,32,112,114,111,112,101,114,32,108,105,115,116,32,111,102,32,116,101,114,109,115,46>>]}]}]},{p,[],[<<78,111,116,101,32,116,104,97,116,32,110,111,116,32,97,108,108,32,105,110,100,105,118,105,100,117,97,108,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,97,114,101,32,99,104,101,99,107,101,100,32,119,104,101,110,32,116,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,105,115,32,115,101,110,116,46,32,83,111,109,101,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,99,97,110,32,111,110,108,121,32,98,101,32,99,104,101,99,107,101,100,32,111,110,32,114,101,99,101,112,116,105,111,110,32,111,102,32,116,104,101,32,114,101,113,117,101,115,116,46,32,84,104,101,114,101,102,111,114,101,32,97,110,32,105,110,118,97,108,105,100,32,111,112,116,105,111,110,32,100,111,101,115,32>>,{em,[],[<<110,111,116>>]},<<32,99,97,117,115,101,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,44,32,98,117,116,32,119,105,108,108,32,99,97,117,115,101,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,116,111,32,102,97,105,108,32,119,105,116,104,32,97,110,32,101,114,114,111,114,32,114,101,97,115,111,110,32,111,102,32>>,{code,[],[<<98,97,100,111,112,116>>]},<<46>>]},{p,[],[<<65,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,99,97,110,32,98,101,32,97,98,97,110,100,111,110,101,100,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,95,97,98,97,110,100,111,110,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,95,97,98,97,110,100,111,110,47,49>>]}]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<70,111,114,32,115,111,109,101,32,105,109,112,111,114,116,97,110,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,100,105,115,116,114,105,98,117,116,101,100,32,115,105,103,110,97,108,115,44,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,98,108,111,99,107,105,110,103,45,115,105,103,110,97,108,105,110,103,45,111,118,101,114,45,100,105,115,116,114,105,98,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<66,108,111,99,107,105,110,103,32,83,105,103,110,97,108,105,110,103,32,79,118,101,114,32,68,105,115,116,114,105,98,117,116,105,111,110>>]}]},<<32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32>>,{i,[],[<<80,114,111,99,101,115,115,101,115>>]},<<32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]}]},#{signature => [{attribute,{3644,2},spec,{{spawn_request,5},[{type,{3644,20},bounded_fun,[{type,{3644,20},'fun',[{type,{3644,20},product,[{var,{3644,21},'Node'},{var,{3644,27},'Module'},{var,{3644,35},'Function'},{var,{3644,45},'Args'},{var,{3644,51},'Options'}]},{var,{3645,28},'ReqId'}]},[{type,{3646,7},constraint,[{atom,{3646,7},is_subtype},[{var,{3646,7},'Node'},{type,{3646,15},node,[]}]]},{type,{3647,7},constraint,[{atom,{3647,7},is_subtype},[{var,{3647,7},'Module'},{type,{3647,17},module,[]}]]},{type,{3648,7},constraint,[{atom,{3648,7},is_subtype},[{var,{3648,7},'Function'},{type,{3648,19},atom,[]}]]},{type,{3649,7},constraint,[{atom,{3649,7},is_subtype},[{var,{3649,7},'Args'},{type,{3649,15},list,[{type,{3649,16},term,[]}]}]]},{type,{3650,7},constraint,[{atom,{3650,7},is_subtype},[{var,{3650,7},'Options'},{type,{3650,18},list,[{var,{3650,19},'Option'}]}]]},{type,{3651,7},constraint,[{atom,{3651,7},is_subtype},[{var,{3651,7},'Option'},{type,{3651,17},union,[{atom,{3651,17},monitor},{type,{3652,17},tuple,[{atom,{3652,18},monitor},{type,{3652,27},list,[{user_type,{3652,28},monitor_option,[]}]}]},{atom,{3653,17},link},{type,{3654,17},tuple,[{atom,{3654,18},reply_tag},{var,{3654,29},'ReplyTag'}]},{type,{3655,17},tuple,[{atom,{3655,18},reply},{var,{3655,25},'Reply'}]},{var,{3656,17},'OtherOption'}]}]]},{type,{3657,7},constraint,[{atom,{3657,7},is_subtype},[{var,{3657,7},'ReplyTag'},{type,{3657,19},term,[]}]]},{type,{3658,7},constraint,[{atom,{3658,7},is_subtype},[{var,{3658,7},'Reply'},{type,{3658,16},union,[{atom,{3658,16},yes},{atom,{3658,22},no},{atom,{3658,27},error_only},{atom,{3658,40},success_only}]}]]},{type,{3659,7},constraint,[{atom,{3659,7},is_subtype},[{var,{3659,7},'OtherOption'},{type,{3659,22},term,[]}]]},{type,{3660,7},constraint,[{atom,{3660,7},is_subtype},[{var,{3660,7},'ReqId'},{type,{3660,16},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,50,52,48>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,spawn_request_abandon,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3677}],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,95,97,98,97,110,100,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<65,98,97,110,100,111,110,32,97,32,112,114,101,118,105,111,117,115,108,121,32,105,115,115,117,101,100,32,115,112,97,119,110,32,114,101,113,117,101,115,116,46,32>>,{code,[],[<<82,101,113,73,100>>]},<<32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,97,32,114,101,113,117,101,115,116,32,105,100,101,110,116,105,102,105,101,114,32,112,114,101,118,105,111,117,115,108,121,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,114,101,113,117,101,115,116,47,53>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,40,41>>]}]},<<32,105,110,32,97,32,99,97,108,108,32,102,114,111,109,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,46,32,84,104,97,116,32,105,115,44,32,111,110,108,121,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,104,97,115,32,109,97,100,101,32,116,104,101,32,114,101,113,117,101,115,116,32,99,97,110,32,97,98,97,110,100,111,110,32,116,104,101,32,114,101,113,117,101,115,116,46>>]},{p,[],[<<65,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,99,97,110,32,111,110,108,121,32,98,101,32,115,117,99,99,101,115,115,102,117,108,108,121,32,97,98,97,110,100,111,110,101,100,32,117,110,116,105,108,32,116,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,104,97,115,32,99,111,109,112,108,101,116,101,100,46,32,87,104,101,110,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,104,97,115,32,98,101,101,110,32,115,117,99,99,101,115,115,102,117,108,108,121,32,97,98,97,110,100,111,110,101,100,44,32,116,104,101,32,99,97,108,108,101,114,32,119,105,108,108,32,110,111,116,32,98,101,32,101,102,102,101,99,116,101,100,32,98,121,32,102,117,116,117,114,101,32,100,105,114,101,99,116,32,101,102,102,101,99,116,115,32,111,102,32,116,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,105,116,115,101,108,102,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,116,32,119,105,108,108,32,110,111,116,32,114,101,99,101,105,118,101,32,97,32,115,112,97,119,110,32,114,101,112,108,121,32,109,101,115,115,97,103,101,46,32,84,104,101,32,114,101,113,117,101,115,116,32,105,115,32,104,111,119,101,118,101,114,32,110,111,116,32,119,105,116,104,100,114,97,119,110,44,32,115,111,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,109,97,121,32,111,114,32,109,97,121,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,32,100,117,101,32,116,111,32,116,104,101,32,114,101,113,117,101,115,116,46,32,73,102,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32,105,115,32,99,114,101,97,116,101,100,32,97,102,116,101,114,32,116,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,119,97,115,32,97,98,97,110,100,111,110,101,100,44,32,110,111,32,109,111,110,105,116,111,114,115,32,110,111,114,32,108,105,110,107,115,32,119,105,108,108,32,98,101,32,115,101,116,32,117,112,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<115,112,97,119,110,95,114,101,113,117,101,115,116,95,97,98,97,110,100,111,110,47,49>>]},<<32,100,117,101,32,116,111,32,116,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,46,32,73,102,32,116,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,105,110,99,108,117,100,101,100,32,116,104,101,32>>,{code,[],[<<108,105,110,107>>]},<<32,111,112,116,105,111,110,44,32,116,104,101,32,112,114,111,99,101,115,115,32,99,114,101,97,116,101,100,32,100,117,101,32,116,111,32,116,104,105,115,32,114,101,113,117,101,115,116,32,119,105,108,108,32,98,101,32,115,101,110,116,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,102,114,111,109,32,105,116,115,32,112,97,114,101,110,116,32,119,105,116,104,32,116,104,101,32,101,120,105,116,32,114,101,97,115,111,110,32>>,{code,[],[<<97,98,97,110,100,111,110,101,100>>]},<<32,119,104,101,110,32,105,116,32,105,115,32,100,101,116,101,99,116,101,100,32,116,104,97,116,32,116,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,115,117,99,99,101,101,100,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,32,112,114,111,99,101,115,115,32,99,114,101,97,116,101,100,32,100,117,101,32,116,111,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,116,104,97,116,32,104,97,115,32,98,101,101,110,32,97,98,97,110,100,111,110,101,100,32,109,97,121,32,99,111,109,109,117,110,105,99,97,116,101,32,119,105,116,104,32,105,116,115,32,112,97,114,101,110,116,32,97,115,32,97,110,121,32,111,116,104,101,114,32,112,114,111,99,101,115,115,46,32,73,116,32,105,115,32>>,{em,[],[<<111,110,108,121>>]},<<32,116,104,101,32,100,105,114,101,99,116,32,101,102,102,101,99,116,115,32,111,110,32,116,104,101,32,112,97,114,101,110,116,32,111,102,32,116,104,101,32,97,99,116,117,97,108,32,115,112,97,119,110,32,114,101,113,117,101,115,116,44,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,97,110,99,101,108,101,100,32,98,121,32,97,98,97,110,100,111,110,105,110,103,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,46>>]}]},{p,[],[<<82,101,116,117,114,110,32,118,97,108,117,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,119,97,115,32,115,117,99,99,101,115,115,102,117,108,108,121,32,97,98,97,110,100,111,110,101,100,46>>]}]},{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[{p,[],[<<78,111,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,119,97,115,32,97,98,97,110,100,111,110,101,100,46,32,84,104,101,32>>,{code,[],[<<82,101,113,73,100>>]},<<32,114,101,113,117,101,115,116,32,105,100,101,110,116,105,102,105,101,114,32,100,105,100,32,110,111,116,32,99,111,114,114,101,115,112,111,110,100,32,116,111,32,97,110,32,111,117,116,115,116,97,110,100,105,110,103,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,105,115,115,117,101,100,32,98,121,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,84,104,101,32,114,101,97,115,111,110,32,102,111,114,32,116,104,105,115,32,105,115,32,101,105,116,104,101,114,58>>]},{ul,[],[{li,[],[{p,[],[{code,[],[<<82,101,113,73,100>>]},<<32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,112,114,101,118,105,111,117,108,115,121,32,109,97,100,101,32,98,121,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,84,104,101,32,115,112,97,119,110,32,111,112,101,114,97,116,105,111,110,32,104,97,115,32,99,111,109,112,108,101,116,101,100,32,97,110,100,32,97,32,115,112,97,119,110,32,114,101,112,108,121,32,104,97,115,32,97,108,114,101,97,100,121,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,32,116,111,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,117,110,108,101,115,115,32,116,104,101,32,115,112,97,119,110,32,114,101,112,108,121,32,119,97,115,32,100,105,115,97,98,108,101,100,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,46>>]}]},{li,[],[{p,[],[{code,[],[<<82,101,113,73,100>>]},<<32,100,111,101,115,32,110,111,116,32,99,111,114,114,101,115,112,111,110,100,32,116,111,32,97,32,115,112,97,119,110,32,114,101,113,117,101,115,116,32,116,104,97,116,32,104,97,115,32,98,101,101,110,32,109,97,100,101,32,98,121,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46>>]}]}]}]}]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,102,97,105,108,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,105,102,32>>,{code,[],[<<82,101,113,73,100>>]},<<32,105,115,32,110,111,116,32,97,32,114,101,102,101,114,101,110,99,101,46>>]}]},#{signature => [{attribute,{3677,2},spec,{{spawn_request_abandon,1},[{type,{3677,28},'fun',[{type,{3677,28},product,[{ann_type,{3677,29},[{var,{3677,29},'ReqId'},{type,{3677,38},reference,[]}]}]},{type,{3677,54},boolean,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,53,48,56>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,split_binary,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2189}],[<<115,112,108,105,116,95,98,105,110,97,114,121,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,116,117,112,108,101,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,98,105,110,97,114,105,101,115,32,116,104,97,116,32,97,114,101,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,115,112,108,105,116,116,105,110,103,32>>,{code,[],[<<66,105,110>>]},<<32,105,110,116,111,32,116,119,111,32,112,97,114,116,115,32,97,116,32,112,111,115,105,116,105,111,110,32>>,{code,[],[<<80,111,115>>]},<<46,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,100,101,115,116,114,117,99,116,105,118,101,32,111,112,101,114,97,116,105,111,110,46,32,65,102,116,101,114,32,116,104,101,32,111,112,101,114,97,116,105,111,110,44,32,116,104,101,114,101,32,97,114,101,32,116,104,114,101,101,32,98,105,110,97,114,105,101,115,32,97,108,116,111,103,101,116,104,101,114,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,66,32,61,32,108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,34,48,49,50,51,52,53,54,55,56,57,34,41,46,10,60,60,34,48,49,50,51,52,53,54,55,56,57,34,62,62,10,62,32,98,121,116,101,95,115,105,122,101,40,66,41,46,10,49,48,10,62,32,123,66,49,44,32,66,50,125,32,61,32,115,112,108,105,116,95,98,105,110,97,114,121,40,66,44,51,41,46,10,123,60,60,34,48,49,50,34,62,62,44,60,60,34,51,52,53,54,55,56,57,34,62,62,125,10,62,32,98,121,116,101,95,115,105,122,101,40,66,49,41,46,10,51,10,62,32,98,121,116,101,95,115,105,122,101,40,66,50,41,46,10,55>>]}]}]},#{signature => [{attribute,{2189,2},spec,{{split_binary,2},[{type,{2189,19},bounded_fun,[{type,{2189,19},'fun',[{type,{2189,19},product,[{var,{2189,20},'Bin'},{var,{2189,25},'Pos'}]},{type,{2189,33},tuple,[{type,{2189,34},binary,[]},{type,{2189,44},binary,[]}]}]},[{type,{2190,7},constraint,[{atom,{2190,7},is_subtype},[{var,{2190,7},'Bin'},{type,{2190,14},binary,[]}]]},{type,{2191,7},constraint,[{atom,{2191,7},is_subtype},[{var,{2191,7},'Pos'},{type,{2191,14},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,53,55,52>>}},{{function,start_timer,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2196}],[<<115,116,97,114,116,95,116,105,109,101,114,47,51>>],#{<<101,110>> => [{p,[],[<<83,116,97,114,116,115,32,97,32,116,105,109,101,114,46,32,84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,114,116,95,116,105,109,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,116,97,114,116,95,116,105,109,101,114,40,84,105,109,101,44,32,68,101,115,116,44,32,77,115,103,44,32,91,93,41>>]}]},<<46>>]}]},#{signature => [{attribute,{2196,2},spec,{{erlang,start_timer,3},[{type,{2196,25},bounded_fun,[{type,{2196,25},'fun',[{type,{2196,25},product,[{var,{2196,26},'Time'},{var,{2196,32},'Dest'},{var,{2196,38},'Msg'}]},{var,{2196,46},'TimerRef'}]},[{type,{2197,7},constraint,[{atom,{2197,7},is_subtype},[{var,{2197,7},'Time'},{type,{2197,15},non_neg_integer,[]}]]},{type,{2198,7},constraint,[{atom,{2198,7},is_subtype},[{var,{2198,7},'Dest'},{type,{2198,15},union,[{type,{2198,15},pid,[]},{type,{2198,23},atom,[]}]}]]},{type,{2199,7},constraint,[{atom,{2199,7},is_subtype},[{var,{2199,7},'Msg'},{type,{2199,14},term,[]}]]},{type,{2200,7},constraint,[{atom,{2200,7},is_subtype},[{var,{2200,7},'TimerRef'},{type,{2200,19},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,53,57,56>>}},{{function,start_timer,4},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2206}],[<<115,116,97,114,116,95,116,105,109,101,114,47,52>>],#{<<101,110>> => [{p,[],[<<83,116,97,114,116,115,32,97,32,116,105,109,101,114,46,32,87,104,101,110,32,116,104,101,32,116,105,109,101,114,32,101,120,112,105,114,101,115,44,32,116,104,101,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,116,105,109,101,111,117,116,44,32,84,105,109,101,114,82,101,102,44,32,77,115,103,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<68,101,115,116>>]},<<46>>]},{p,[],[{code,[],[<<79,112,116,105,111,110>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,97,98,115,44,32,102,97,108,115,101,125>>]}]},{dd,[],[{p,[],[<<84,104,105,115,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,46,32,73,116,32,109,101,97,110,115,32,116,104,101,32>>,{code,[],[<<84,105,109,101>>]},<<32,118,97,108,117,101,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,32,116,105,109,101,32,105,110,32,109,105,108,108,105,115,101,99,111,110,100,115,32>>,{em,[],[<<114,101,108,97,116,105,118,101>>]},<<32,99,117,114,114,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,97,98,115,44,32,116,114,117,101,125>>]}]},{dd,[],[{p,[],[<<65,98,115,111,108,117,116,101,32>>,{code,[],[<<84,105,109,101>>]},<<32,118,97,108,117,101,46,32,84,104,101,32>>,{code,[],[<<84,105,109,101>>]},<<32,118,97,108,117,101,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,110,32,97,98,115,111,108,117,116,101,32,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,105,110,32,109,105,108,108,105,115,101,99,111,110,100,115,46>>]}]}]},{p,[],[<<77,111,114,101,32>>,{code,[],[<<79,112,116,105,111,110>>]},<<115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{p,[],[<<84,104,101,32,97,98,115,111,108,117,116,101,32,112,111,105,110,116,32,105,110,32,116,105,109,101,44,32,116,104,101,32,116,105,109,101,114,32,105,115,32,115,101,116,32,116,111,32,101,120,112,105,114,101,32,111,110,44,32,109,117,115,116,32,98,101,32,105,110,32,116,104,101,32,105,110,116,101,114,118,97,108,32>>,{code,[],[<<91,32>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116>>]},{code,[],[<<40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,116,97,114,116,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111>>]},{code,[],[<<40,115,116,97,114,116,95,116,105,109,101,41,44,32,110,97,116,105,118,101,44,32,109,105,108,108,105,115,101,99,111,110,100,41,44,32>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116>>]},{code,[],[<<40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,110,100,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111>>]},{code,[],[<<40,101,110,100,95,116,105,109,101,41,44,32,110,97,116,105,118,101,44,32,109,105,108,108,105,115,101,99,111,110,100,41,32,93>>]},<<46,32,73,102,32,97,32,114,101,108,97,116,105,118,101,32,116,105,109,101,32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32>>,{code,[],[<<84,105,109,101>>]},<<32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,116,111,32,98,101,32,110,101,103,97,116,105,118,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<68,101,115,116>>]},<<32,105,115,32,97,32>>,{code,[],[<<112,105,100,40,41>>]},<<44,32,105,116,32,109,117,115,116,32,98,101,32,97,32>>,{code,[],[<<112,105,100,40,41>>]},<<32,111,102,32,97,32,112,114,111,99,101,115,115,32,99,114,101,97,116,101,100,32,111,110,32,116,104,101,32,99,117,114,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46,32,84,104,105,115,32,112,114,111,99,101,115,115,32,104,97,115,32,101,105,116,104,101,114,32,116,101,114,109,105,110,97,116,101,100,32,111,114,32,110,111,116,46,32,73,102,32>>,{code,[],[<<68,101,115,116>>]},<<32,105,115,32,97,110,32>>,{code,[],[<<97,116,111,109,40,41>>]},<<44,32,105,116,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,116,104,101,32,110,97,109,101,32,111,102,32,97,32,108,111,99,97,108,108,121,32,114,101,103,105,115,116,101,114,101,100,32,112,114,111,99,101,115,115,46,32,84,104,101,32,112,114,111,99,101,115,115,32,114,101,102,101,114,114,101,100,32,116,111,32,98,121,32,116,104,101,32,110,97,109,101,32,105,115,32,108,111,111,107,101,100,32,117,112,32,97,116,32,116,104,101,32,116,105,109,101,32,111,102,32,116,105,109,101,114,32,101,120,112,105,114,97,116,105,111,110,46,32,78,111,32,101,114,114,111,114,32,105,115,32,114,101,116,117,114,110,101,100,32,105,102,32,116,104,101,32,110,97,109,101,32,100,111,101,115,32,110,111,116,32,114,101,102,101,114,32,116,111,32,97,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<68,101,115,116>>]},<<32,105,115,32,97,32>>,{code,[],[<<112,105,100,40,41>>]},<<44,32,116,104,101,32,116,105,109,101,114,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,99,97,110,99,101,108,101,100,32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,102,101,114,114,101,100,32,116,111,32,98,121,32,116,104,101,32>>,{code,[],[<<112,105,100,40,41>>]},<<32,105,115,32,110,111,116,32,97,108,105,118,101,44,32,111,114,32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,101,120,105,116,115,46,32,84,104,105,115,32,102,101,97,116,117,114,101,32,119,97,115,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,69,82,84,83,32,53,46,52,46,49,49,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,105,109,101,114,115,32,97,114,101,32,110,111,116,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,99,97,110,99,101,108,101,100,32,119,104,101,110,32>>,{code,[],[<<68,101,115,116>>]},<<32,105,115,32,97,110,32>>,{code,[],[<<97,116,111,109,40,41>>]},<<46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,101,110,100,95,97,102,116,101,114,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,101,110,100,95,97,102,116,101,114,47,52>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,97,110,99,101,108,95,116,105,109,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,97,110,99,101,108,95,116,105,109,101,114,47,50>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,97,100,95,116,105,109,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,114,101,97,100,95,116,105,109,101,114,47,50>>]}]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,100,111,32,110,111,116,32,115,97,116,105,115,102,121,32,116,104,101,32,114,101,113,117,105,114,101,109,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,104,101,114,101,46>>]}]},#{signature => [{attribute,{2206,2},spec,{{erlang,start_timer,4},[{type,{2206,25},bounded_fun,[{type,{2206,25},'fun',[{type,{2206,25},product,[{var,{2206,26},'Time'},{var,{2206,32},'Dest'},{var,{2206,38},'Msg'},{var,{2206,43},'Options'}]},{var,{2206,55},'TimerRef'}]},[{type,{2207,7},constraint,[{atom,{2207,7},is_subtype},[{var,{2207,7},'Time'},{type,{2207,15},integer,[]}]]},{type,{2208,7},constraint,[{atom,{2208,7},is_subtype},[{var,{2208,7},'Dest'},{type,{2208,15},union,[{type,{2208,15},pid,[]},{type,{2208,23},atom,[]}]}]]},{type,{2209,7},constraint,[{atom,{2209,7},is_subtype},[{var,{2209,7},'Msg'},{type,{2209,14},term,[]}]]},{type,{2210,7},constraint,[{atom,{2210,7},is_subtype},[{var,{2210,7},'Options'},{type,{2210,18},list,[{var,{2210,19},'Option'}]}]]},{type,{2211,7},constraint,[{atom,{2211,7},is_subtype},[{var,{2211,7},'Abs'},{type,{2211,14},boolean,[]}]]},{type,{2212,7},constraint,[{atom,{2212,7},is_subtype},[{var,{2212,7},'Option'},{type,{2212,17},tuple,[{atom,{2212,18},abs},{var,{2212,23},'Abs'}]}]]},{type,{2213,7},constraint,[{atom,{2213,7},is_subtype},[{var,{2213,7},'TimerRef'},{type,{2213,19},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,54,48,57>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108,41>>]}]},<<32,119,105,116,104,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,116,104,97,116,32,110,111,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,100,105,114,116,121,32,73,79,32,114,117,110,32,113,117,101,117,101,32,97,110,100,32,105,116,115,32,97,115,115,111,99,105,97,116,101,100,32,115,99,104,101,100,117,108,101,114,115,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,46,32,84,104,97,116,32,105,115,44,32,111,110,108,121,32,116,97,115,107,115,32,116,104,97,116,32,97,114,101,32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,67,80,85,32,98,111,117,110,100,32,97,114,101,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,46>>]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2826,17},bounded_fun,[{type,{2826,17},'fun',[{type,{2826,17},product,[{atom,{2826,18},active_tasks}]},{type,{2826,35},list,[{var,{2826,36},'ActiveTasks'}]}]},[{type,{2827,7},constraint,[{atom,{2827,7},is_subtype},[{var,{2827,7},'ActiveTasks'},{type,{2827,22},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,54,54,57>>,since => <<79,84,80,32,49,56,46,51>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,119,104,101,114,101,32,101,97,99,104,32,101,108,101,109,101,110,116,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,97,99,116,105,118,101,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,112,111,114,116,115,32,111,110,32,101,97,99,104,32,114,117,110,32,113,117,101,117,101,32,97,110,100,32,105,116,115,32,97,115,115,111,99,105,97,116,101,100,32,115,99,104,101,100,117,108,101,114,115,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,112,111,114,116,115,32,116,104,97,116,32,97,114,101,32,114,101,97,100,121,32,116,111,32,114,117,110,44,32,111,114,32,97,114,101,32,99,117,114,114,101,110,116,108,121,32,114,117,110,110,105,110,103,46,32,86,97,108,117,101,115,32,102,111,114,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,32,97,110,100,32,116,104,101,105,114,32,97,115,115,111,99,105,97,116,101,100,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,108,111,99,97,116,101,100,32,102,105,114,115,116,32,105,110,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,108,105,115,116,46,32,84,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,115,99,104,101,100,117,108,101,114,32,110,117,109,98,101,114,32,49,32,97,110,100,32,115,111,32,111,110,46,32,73,102,32,115,117,112,112,111,114,116,32,102,111,114,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,101,120,105,115,116,44,32,97,110,32,101,108,101,109,101,110,116,32,119,105,116,104,32,116,104,101,32,118,97,108,117,101,32,102,111,114,32,116,104,101,32,100,105,114,116,121,32,67,80,85,32,114,117,110,32,113,117,101,117,101,32,97,110,100,32,105,116,115,32,97,115,115,111,99,105,97,116,101,100,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,102,111,108,108,111,119,32,97,110,100,32,116,104,101,110,32,97,115,32,108,97,115,116,32,101,108,101,109,101,110,116,32,116,104,101,32,118,97,108,117,101,32,102,111,114,32,116,104,101,32,116,104,101,32,100,105,114,116,121,32,73,79,32,114,117,110,32,113,117,101,117,101,32,97,110,100,32,105,116,115,32,97,115,115,111,99,105,97,116,101,100,32,100,105,114,116,121,32,73,79,32,115,99,104,101,100,117,108,101,114,115,32,102,111,108,108,111,119,46,32,84,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,103,97,116,104,101,114,101,100,32,97,116,111,109,105,99,97,108,108,121,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,110,111,116,32,110,101,99,101,115,115,97,114,105,108,121,32,97,32,99,111,110,115,105,115,116,101,110,116,32,115,110,97,112,115,104,111,116,32,111,102,32,116,104,101,32,115,116,97,116,101,44,32,98,117,116,32,105,110,115,116,101,97,100,32,113,117,105,116,101,32,101,102,102,105,99,105,101,110,116,108,121,32,103,97,116,104,101,114,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<69,97,99,104,32,110,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,32,104,97,115,32,111,110,101,32,114,117,110,32,113,117,101,117,101,32,116,104,97,116,32,105,116,32,109,97,110,97,103,101,115,46,32,73,102,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,115,117,112,112,111,114,116,101,100,44,32,97,108,108,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,115,104,97,114,101,32,111,110,101,32,114,117,110,32,113,117,101,117,101,44,32,97,110,100,32,97,108,108,32,100,105,114,116,121,32,73,79,32,115,99,104,101,100,117,108,101,114,115,32,115,104,97,114,101,32,111,110,101,32,114,117,110,32,113,117,101,117,101,46,32,84,104,97,116,32,105,115,44,32,119,101,32,104,97,118,101,32,109,117,108,116,105,112,108,101,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,44,32,111,110,101,32,100,105,114,116,121,32,67,80,85,32,114,117,110,32,113,117,101,117,101,32,97,110,100,32,111,110,101,32,100,105,114,116,121,32,73,79,32,114,117,110,32,113,117,101,117,101,46,32,87,111,114,107,32,99,97,110,32>>,{em,[],[<<110,111,116>>]},<<32,109,105,103,114,97,116,101,32,98,101,116,119,101,101,110,32,116,104,101,32,100,105,102,102,101,114,101,110,116,32,116,121,112,101,115,32,111,102,32,114,117,110,32,113,117,101,117,101,115,46,32,79,110,108,121,32,119,111,114,107,32,105,110,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,32,99,97,110,32,109,105,103,114,97,116,101,32,116,111,32,111,116,104,101,114,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,46,32,84,104,105,115,32,104,97,115,32,116,111,32,98,101,32,116,97,107,101,110,32,105,110,116,111,32,97,99,99,111,117,110,116,32,119,104,101,110,32,101,118,97,108,117,97,116,105,110,103,32,116,104,101,32,114,101,115,117,108,116,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,97,99,116,105,118,101,95,116,97,115,107,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,97,99,116,105,118,101,95,116,97,115,107,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108,41>>]}]},<<46>>]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2828,3},bounded_fun,[{type,{2828,3},'fun',[{type,{2828,3},product,[{atom,{2828,4},active_tasks_all}]},{type,{2828,25},list,[{var,{2828,26},'ActiveTasks'}]}]},[{type,{2829,7},constraint,[{atom,{2829,7},is_subtype},[{var,{2829,7},'ActiveTasks'},{type,{2829,22},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,54,56,52>>,since => <<79,84,80,32,50,48,46,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,99,111,110,116,101,120,116,32,115,119,105,116,99,104,101,115,32,115,105,110,99,101,32,116,104,101,32,115,121,115,116,101,109,32,115,116,97,114,116,101,100,46>>]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2830,3},bounded_fun,[{type,{2830,3},'fun',[{type,{2830,3},product,[{atom,{2830,4},context_switches}]},{type,{2830,25},tuple,[{var,{2830,26},'ContextSwitches'},{integer,{2830,42},0}]}]},[{type,{2831,7},constraint,[{atom,{2831,7},is_subtype},[{var,{2831,7},'ContextSwitches'},{type,{2831,26},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,55,50,54>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,120,97,99,116,32,114,101,100,117,99,116,105,111,110,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,101,120,97,99,116,95,114,101,100,117,99,116,105,111,110,115,41>>]},<<32,105,115,32,97,32,109,111,114,101,32,101,120,112,101,110,115,105,118,101,32,111,112,101,114,97,116,105,111,110,32,116,104,97,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,114,101,100,117,99,116,105,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<115,116,97,116,105,115,116,105,99,115,40,114,101,100,117,99,116,105,111,110,115,41>>]},<<46>>]}]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2832,17},bounded_fun,[{type,{2832,17},'fun',[{type,{2832,17},product,[{atom,{2832,18},exact_reductions}]},{type,{2832,39},tuple,[{var,{2832,40},'Total_Exact_Reductions'},{var,{2833,40},'Exact_Reductions_Since_Last_Call'}]}]},[{type,{2834,7},constraint,[{atom,{2834,7},is_subtype},[{var,{2834,7},'Total_Exact_Reductions'},{type,{2834,33},non_neg_integer,[]}]]},{type,{2835,7},constraint,[{atom,{2835,7},is_subtype},[{var,{2835,7},'Exact_Reductions_Since_Last_Call'},{type,{2835,43},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,55,51,53>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,115,116,97,116,105,115,116,105,99,115,40,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110,41,46,10,123,56,53,44,50,51,57,54,49,44,48,125>>]}]},{p,[],[<<84,104,105,115,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,105,110,118,97,108,105,100,32,102,111,114,32,115,111,109,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,115,46>>]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2836,17},bounded_fun,[{type,{2836,17},'fun',[{type,{2836,17},product,[{atom,{2836,18},garbage_collection}]},{type,{2836,41},tuple,[{var,{2836,42},'Number_of_GCs'},{var,{2836,57},'Words_Reclaimed'},{integer,{2836,74},0}]}]},[{type,{2837,7},constraint,[{atom,{2837,7},is_subtype},[{var,{2837,7},'Number_of_GCs'},{type,{2837,24},non_neg_integer,[]}]]},{type,{2838,7},constraint,[{atom,{2838,7},is_subtype},[{var,{2838,7},'Words_Reclaimed'},{type,{2838,26},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,55,53,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<73,110,112,117,116>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,114,101,99,101,105,118,101,100,32,116,104,114,111,117,103,104,32,112,111,114,116,115,44,32,97,110,100,32>>,{code,[],[<<79,117,116,112,117,116>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,111,117,116,112,117,116,32,116,111,32,112,111,114,116,115,46>>]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2839,17},bounded_fun,[{type,{2839,17},'fun',[{type,{2839,17},product,[{atom,{2839,18},io}]},{type,{2839,25},tuple,[{type,{2839,26},tuple,[{atom,{2839,27},input},{var,{2839,34},'Input'}]},{type,{2839,42},tuple,[{atom,{2839,43},output},{var,{2839,51},'Output'}]}]}]},[{type,{2840,7},constraint,[{atom,{2840,7},is_subtype},[{var,{2840,7},'Input'},{type,{2840,16},non_neg_integer,[]}]]},{type,{2841,7},constraint,[{atom,{2841,7},is_subtype},[{var,{2841,7},'Output'},{type,{2841,17},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,55,54,50>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<77,105,99,114,111,115,116,97,116,101,32,97,99,99,111,117,110,116,105,110,103,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,109,101,97,115,117,114,101,32,104,111,119,32,109,117,99,104,32,116,105,109,101,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,115,112,101,110,100,115,32,100,111,105,110,103,32,118,97,114,105,111,117,115,32,116,97,115,107,115,46,32,73,116,32,105,115,32,100,101,115,105,103,110,101,100,32,116,111,32,98,101,32,97,115,32,108,105,103,104,116,119,101,105,103,104,116,32,97,115,32,112,111,115,115,105,98,108,101,44,32,98,117,116,32,115,111,109,101,32,111,118,101,114,104,101,97,100,32,101,120,105,115,116,115,32,119,104,101,110,32,116,104,105,115,32,105,115,32,101,110,97,98,108,101,100,46,32,77,105,99,114,111,115,116,97,116,101,32,97,99,99,111,117,110,116,105,110,103,32,105,115,32,109,101,97,110,116,32,116,111,32,98,101,32,97,32,112,114,111,102,105,108,105,110,103,32,116,111,111,108,32,116,111,32,104,101,108,112,32,102,105,110,100,105,110,103,32,112,101,114,102,111,114,109,97,110,99,101,32,98,111,116,116,108,101,110,101,99,107,115,46,32,84,111,32>>,{code,[],[<<115,116,97,114,116>>]},<<47>>,{code,[],[<<115,116,111,112>>]},<<47>>,{code,[],[<<114,101,115,101,116>>]},<<32,109,105,99,114,111,115,116,97,116,101,32,97,99,99,111,117,110,116,105,110,103,44,32,117,115,101,32,115,121,115,116,101,109,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103>>]}]},<<46>>]},{p,[],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103,41>>]},<<32,114,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,109,97,112,115,32,114,101,112,114,101,115,101,110,116,105,110,103,32,115,111,109,101,32,111,102,32,116,104,101,32,79,83,32,116,104,114,101,97,100,115,32,119,105,116,104,105,110,32,69,82,84,83,46,32,69,97,99,104,32,109,97,112,32,99,111,110,116,97,105,110,115,32>>,{code,[],[<<116,121,112,101>>]},<<32,97,110,100,32>>,{code,[],[<<105,100>>]},<<32,102,105,101,108,100,115,32,116,104,97,116,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,105,100,101,110,116,105,102,121,32,119,104,97,116,32,116,104,114,101,97,100,32,105,116,32,105,115,44,32,97,110,100,32,97,108,115,111,32,97,32,99,111,117,110,116,101,114,115,32,102,105,101,108,100,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,100,97,116,97,32,97,98,111,117,116,32,104,111,119,32,109,117,99,104,32,116,105,109,101,32,104,97,115,32,98,101,101,110,32,115,112,101,110,116,32,105,110,32,116,104,101,32,118,97,114,105,111,117,115,32,115,116,97,116,101,115,46>>]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,115,116,97,116,105,115,116,105,99,115,40,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103,41,46,10,91,35,123,99,111,117,110,116,101,114,115,32,61,62,32,35,123,97,117,120,32,61,62,32,49,56,57,57,49,56,50,57,49,52,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,99,104,101,99,107,95,105,111,32,61,62,32,50,54,48,53,56,54,51,54,48,50,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,101,109,117,108,97,116,111,114,32,61,62,32,52,53,55,51,49,56,56,48,52,54,51,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,103,99,32,61,62,32,49,53,49,50,50,48,54,57,49,48,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,111,116,104,101,114,32,61,62,32,53,52,50,49,51,51,56,52,53,54,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,112,111,114,116,32,61,62,32,50,50,49,54,51,49,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,115,108,101,101,112,32,61,62,32,53,49,53,48,50,57,52,49,48,48,125,44,10,32,32,32,105,100,32,61,62,32,49,44,10,32,32,32,116,121,112,101,32,61,62,32,115,99,104,101,100,117,108,101,114,125,124,46,46,46,93>>]}]},{p,[],[<<84,104,101,32,116,105,109,101,32,117,110,105,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{a,[{href,<<107,101,114,110,101,108,58,111,115,35,112,101,114,102,95,99,111,117,110,116,101,114,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,115,58,112,101,114,102,95,99,111,117,110,116,101,114,47,48>>]}]},<<46,32,83,111,44,32,116,111,32,99,111,110,118,101,114,116,32,105,116,32,116,111,32,109,105,108,108,105,115,101,99,111,110,100,115,44,32,121,111,117,32,99,97,110,32,100,111,32,115,111,109,101,116,104,105,110,103,32,108,105,107,101,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<108,105,115,116,115,58,109,97,112,40,10,32,32,102,117,110,40,35,123,32,99,111,117,110,116,101,114,115,32,58,61,32,67,110,116,32,125,32,61,32,77,41,32,45,62,10,32,32,32,32,32,32,32,32,32,32,77,115,67,110,116,32,61,32,109,97,112,115,58,109,97,112,40,102,117,110,40,95,75,44,32,80,101,114,102,67,111,117,110,116,41,32,45,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,40,80,101,114,102,67,111,117,110,116,44,32,112,101,114,102,95,99,111,117,110,116,101,114,44,32,49,48,48,48,41,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,101,110,100,44,32,67,110,116,41,44,10,32,32,32,32,32,32,32,32,32,77,35,123,32,99,111,117,110,116,101,114,115,32,58,61,32,77,115,67,110,116,32,125,10,32,32,101,110,100,44,32,101,114,108,97,110,103,58,115,116,97,116,105,115,116,105,99,115,40,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103,41,41,46>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,115,101,32,118,97,108,117,101,115,32,97,114,101,32,110,111,116,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,116,104,101,32,101,120,97,99,116,32,116,105,109,101,32,115,112,101,110,116,32,105,110,32,101,97,99,104,32,115,116,97,116,101,46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32,111,102,32,118,97,114,105,111,117,115,32,111,112,116,105,109,105,115,97,116,105,111,110,32,100,111,110,101,32,116,111,32,107,101,101,112,32,116,104,101,32,111,118,101,114,104,101,97,100,32,97,115,32,115,109,97,108,108,32,97,115,32,112,111,115,115,105,98,108,101,46>>]},{p,[],[{code,[],[<<77,83,65,99,99,95,84,104,114,101,97,100,95,84,121,112,101>>]},<<115,58>>]},{dl,[],[{dt,[],[{code,[],[<<115,99,104,101,100,117,108,101,114>>]}]},{dd,[],[<<84,104,101,32,109,97,105,110,32,101,120,101,99,117,116,105,111,110,32,116,104,114,101,97,100,115,32,116,104,97,116,32,100,111,32,109,111,115,116,32,111,102,32,116,104,101,32,119,111,114,107,46,32,83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,83>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<101,114,108,32,43,83>>]},<<32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46>>]},{dt,[],[{code,[],[<<100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114>>]}]},{dd,[],[<<84,104,101,32,116,104,114,101,97,100,115,32,102,111,114,32,108,111,110,103,32,114,117,110,110,105,110,103,32,99,112,117,32,105,110,116,101,110,115,105,118,101,32,119,111,114,107,46,32,83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,83,68,99,112,117>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<101,114,108,32,43,83,68,99,112,117>>]},<<32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46>>]},{dt,[],[{code,[],[<<100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114>>]}]},{dd,[],[<<84,104,101,32,116,104,114,101,97,100,115,32,102,111,114,32,108,111,110,103,32,114,117,110,110,105,110,103,32,73,47,79,32,119,111,114,107,46,32,83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,83,68,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<101,114,108,32,43,83,68,105,111>>]},<<32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46>>]},{dt,[],[{code,[],[<<97,115,121,110,99>>]}]},{dd,[],[<<65,115,121,110,99,32,116,104,114,101,97,100,115,32,97,114,101,32,117,115,101,100,32,98,121,32,118,97,114,105,111,117,115,32,108,105,110,107,101,100,45,105,110,32,100,114,105,118,101,114,115,32,40,109,97,105,110,108,121,32,116,104,101,32,102,105,108,101,32,100,114,105,118,101,114,115,41,32,100,111,32,111,102,102,108,111,97,100,32,110,111,110,45,67,80,85,32,105,110,116,101,110,115,105,118,101,32,119,111,114,107,46,32,83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,97,115,121,110,99,95,116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<101,114,108,32,43,65>>]},<<32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46>>]},{dt,[],[{code,[],[<<97,117,120>>]}]},{dd,[],[<<84,97,107,101,115,32,99,97,114,101,32,111,102,32,97,110,121,32,119,111,114,107,32,116,104,97,116,32,105,115,32,110,111,116,32,115,112,101,99,105,102,105,99,97,108,108,121,32,97,115,115,105,103,110,101,100,32,116,111,32,97,32,115,99,104,101,100,117,108,101,114,46>>]},{dt,[],[{code,[],[<<112,111,108,108>>]}]},{dd,[],[<<68,111,101,115,32,116,104,101,32,73,79,32,112,111,108,108,105,110,103,32,102,111,114,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,73,79,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<101,114,108,32,43,73,79,116>>]},<<32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32>>,{code,[],[<<77,83,65,99,99,95,84,104,114,101,97,100,95,83,116,97,116,101>>]},<<115,32,97,114,101,32,97,118,97,105,108,97,98,108,101,46,32,65,108,108,32,115,116,97,116,101,115,32,97,114,101,32,101,120,99,108,117,115,105,118,101,44,32,109,101,97,110,105,110,103,32,116,104,97,116,32,97,32,116,104,114,101,97,100,32,99,97,110,110,111,116,32,98,101,32,105,110,32,116,119,111,32,115,116,97,116,101,115,32,97,116,32,111,110,99,101,46,32,83,111,44,32,105,102,32,121,111,117,32,97,100,100,32,116,104,101,32,110,117,109,98,101,114,115,32,111,102,32,97,108,108,32,99,111,117,110,116,101,114,115,32,105,110,32,97,32,116,104,114,101,97,100,44,32,121,111,117,32,103,101,116,32,116,104,101,32,116,111,116,97,108,32,114,117,110,116,105,109,101,32,102,111,114,32,116,104,97,116,32,116,104,114,101,97,100,46>>]},{dl,[],[{dt,[],[{code,[],[<<97,117,120>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,104,97,110,100,108,105,110,103,32,97,117,120,105,108,105,97,114,121,32,106,111,98,115,46>>]},{dt,[],[{code,[],[<<99,104,101,99,107,95,105,111>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,99,104,101,99,107,105,110,103,32,102,111,114,32,110,101,119,32,73,47,79,32,101,118,101,110,116,115,46>>]},{dt,[],[{code,[],[<<101,109,117,108,97,116,111,114>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,101,120,101,99,117,116,105,110,103,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,46>>]},{dt,[],[{code,[],[<<103,99>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,100,111,105,110,103,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46,32,87,104,101,110,32,101,120,116,114,97,32,115,116,97,116,101,115,32,97,114,101,32,101,110,97,98,108,101,100,32,116,104,105,115,32,105,115,32,116,104,101,32,116,105,109,101,32,115,112,101,110,116,32,100,111,105,110,103,32,110,111,110,45,102,117,108,108,115,119,101,101,112,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,115,46>>]},{dt,[],[{code,[],[<<111,116,104,101,114>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,100,111,105,110,103,32,117,110,97,99,99,111,117,110,116,101,100,32,116,104,105,110,103,115,46>>]},{dt,[],[{code,[],[<<112,111,114,116>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,101,120,101,99,117,116,105,110,103,32,112,111,114,116,115,46>>]},{dt,[],[{code,[],[<<115,108,101,101,112>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,115,108,101,101,112,105,110,103,46>>]}]},{p,[],[<<77,111,114,101,32,102,105,110,101,45,103,114,97,105,110,101,100,32>>,{code,[],[<<77,83,65,99,99,95,84,104,114,101,97,100,95,83,116,97,116,101>>]},<<115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,116,104,114,111,117,103,104,32,99,111,110,102,105,103,117,114,101,32,40,115,117,99,104,32,97,115,32>>,{code,[],[<<46,47,99,111,110,102,105,103,117,114,101,32,45,45,119,105,116,104,45,109,105,99,114,111,115,116,97,116,101,45,97,99,99,111,117,110,116,105,110,103,61,101,120,116,114,97>>]},<<41,46,32,69,110,97,98,108,105,110,103,32,116,104,101,115,101,32,115,116,97,116,101,115,32,99,97,117,115,101,115,32,112,101,114,102,111,114,109,97,110,99,101,32,100,101,103,114,97,100,97,116,105,111,110,32,119,104,101,110,32,109,105,99,114,111,115,116,97,116,101,32,97,99,99,111,117,110,116,105,110,103,32,105,115,32,116,117,114,110,101,100,32,111,102,102,32,97,110,100,32,105,110,99,114,101,97,115,101,115,32,116,104,101,32,111,118,101,114,104,101,97,100,32,119,104,101,110,32,105,116,32,105,115,32,116,117,114,110,101,100,32,111,110,46>>]},{dl,[],[{dt,[],[{code,[],[<<97,108,108,111,99>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,109,97,110,97,103,105,110,103,32,109,101,109,111,114,121,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,115,112,114,101,97,100,32,111,117,116,32,111,118,101,114,32,97,108,108,32,111,116,104,101,114,32,115,116,97,116,101,115,46>>]},{dt,[],[{code,[],[<<98,105,102>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,105,110,32,66,73,70,115,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<101,109,117,108,97,116,111,114>>]},<<32,115,116,97,116,101,46>>]},{dt,[],[{code,[],[<<98,117,115,121,95,119,97,105,116>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,98,117,115,121,32,119,97,105,116,105,110,103,46,32,84,104,105,115,32,105,115,32,97,108,115,111,32,116,104,101,32,115,116,97,116,101,32,119,104,101,114,101,32,97,32,115,99,104,101,100,117,108,101,114,32,110,111,32,108,111,110,103,101,114,32,114,101,112,111,114,116,115,32,116,104,97,116,32,105,116,32,105,115,32,97,99,116,105,118,101,32,119,104,101,110,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,41>>]}]},<<46,32,83,111,44,32,105,102,32,121,111,117,32,97,100,100,32,97,108,108,32,111,116,104,101,114,32,115,116,97,116,101,115,32,98,117,116,32,116,104,105,115,32,97,110,100,32,115,108,101,101,112,44,32,97,110,100,32,116,104,101,110,32,100,105,118,105,100,101,32,116,104,97,116,32,98,121,32,97,108,108,32,116,105,109,101,32,105,110,32,116,104,101,32,116,104,114,101,97,100,44,32,121,111,117,32,115,104,111,117,108,100,32,103,101,116,32,115,111,109,101,116,104,105,110,103,32,118,101,114,121,32,115,105,109,105,108,97,114,32,116,111,32,116,104,101,32>>,{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]},<<32,102,114,97,99,116,105,111,110,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<111,116,104,101,114>>]},<<32,115,116,97,116,101,46>>]},{dt,[],[{code,[],[<<101,116,115>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,101,120,101,99,117,116,105,110,103,32,69,84,83,32,66,73,70,115,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<101,109,117,108,97,116,111,114>>]},<<32,115,116,97,116,101,46>>]},{dt,[],[{code,[],[<<103,99,95,102,117,108,108>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,100,111,105,110,103,32,102,117,108,108,115,119,101,101,112,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<103,99>>]},<<32,115,116,97,116,101,46>>]},{dt,[],[{code,[],[<<110,105,102>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,105,110,32,78,73,70,115,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<101,109,117,108,97,116,111,114>>]},<<32,115,116,97,116,101,46>>]},{dt,[],[{code,[],[<<115,101,110,100>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,115,101,110,100,105,110,103,32,109,101,115,115,97,103,101,115,32,40,112,114,111,99,101,115,115,101,115,32,111,110,108,121,41,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<101,109,117,108,97,116,111,114>>]},<<32,115,116,97,116,101,46>>]},{dt,[],[{code,[],[<<116,105,109,101,114,115>>]}]},{dd,[],[<<84,105,109,101,32,115,112,101,110,116,32,109,97,110,97,103,105,110,103,32,116,105,109,101,114,115,46,32,87,105,116,104,111,117,116,32,101,120,116,114,97,32,115,116,97,116,101,115,32,116,104,105,115,32,116,105,109,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<111,116,104,101,114>>]},<<32,115,116,97,116,101,46>>]}]},{p,[],[<<84,104,101,32,117,116,105,108,105,116,121,32,109,111,100,117,108,101,32>>,{a,[{href,<<114,117,110,116,105,109,101,95,116,111,111,108,115,58,109,115,97,99,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,115,97,99,99,40,51,41>>]}]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,109,111,114,101,32,101,97,115,105,108,121,32,97,110,97,108,121,115,101,32,116,104,101,115,101,32,115,116,97,116,105,115,116,105,99,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,115,121,115,116,101,109,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103>>]}]},<<32,105,115,32,116,117,114,110,101,100,32,111,102,102,46>>]},{p,[],[<<84,104,101,32,108,105,115,116,32,111,102,32,116,104,114,101,97,100,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32,117,110,115,111,114,116,101,100,32,97,110,100,32,99,97,110,32,97,112,112,101,97,114,32,105,110,32,100,105,102,102,101,114,101,110,116,32,111,114,100,101,114,32,98,101,116,119,101,101,110,32,99,97,108,108,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,116,104,114,101,97,100,115,32,97,110,100,32,115,116,97,116,101,115,32,97,114,101,32,115,117,98,106,101,99,116,32,116,111,32,99,104,97,110,103,101,32,119,105,116,104,111,117,116,32,97,110,121,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2842,17},bounded_fun,[{type,{2842,17},'fun',[{type,{2842,17},product,[{atom,{2842,18},microstate_accounting}]},{type,{2842,44},union,[{type,{2842,44},list,[{var,{2842,45},'MSAcc_Thread'}]},{atom,{2842,61},undefined}]}]},[{type,{2843,7},constraint,[{atom,{2843,7},is_subtype},[{var,{2843,7},'MSAcc_Thread'},{type,{2843,23},map,[{type,{2843,31},map_field_exact,[{atom,{2843,26},type},{var,{2843,34},'MSAcc_Thread_Type'}]},{type,{2844,28},map_field_exact,[{atom,{2844,25},id},{var,{2844,31},'MSAcc_Thread_Id'}]},{type,{2845,34},map_field_exact,[{atom,{2845,25},counters},{var,{2845,37},'MSAcc_Counters'}]}]}]]},{type,{2846,7},constraint,[{atom,{2846,7},is_subtype},[{var,{2846,7},'MSAcc_Thread_Type'},{type,{2846,28},union,[{atom,{2846,28},async},{atom,{2846,36},aux},{atom,{2846,42},dirty_io_scheduler},{atom,{2847,28},dirty_cpu_scheduler},{atom,{2847,50},poll},{atom,{2847,57},scheduler}]}]]},{type,{2848,7},constraint,[{atom,{2848,7},is_subtype},[{var,{2848,7},'MSAcc_Thread_Id'},{type,{2848,26},non_neg_integer,[]}]]},{type,{2849,7},constraint,[{atom,{2849,7},is_subtype},[{var,{2849,7},'MSAcc_Counters'},{type,{2849,25},map,[{type,{2849,47},map_field_assoc,[{var,{2849,28},'MSAcc_Thread_State'},{type,{2849,50},non_neg_integer,[]}]}]}]]},{type,{2850,7},constraint,[{atom,{2850,7},is_subtype},[{var,{2850,7},'MSAcc_Thread_State'},{type,{2850,29},union,[{atom,{2850,29},alloc},{atom,{2850,37},aux},{atom,{2850,43},bif},{atom,{2850,49},busy_wait},{atom,{2850,61},check_io},{atom,{2851,29},emulator},{atom,{2851,40},ets},{atom,{2851,46},gc},{atom,{2851,51},gc_fullsweep},{atom,{2851,66},nif},{atom,{2852,29},other},{atom,{2852,37},port},{atom,{2852,44},send},{atom,{2852,51},sleep},{atom,{2852,59},timers}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,55,55,51>>,since => <<79,84,80,32,49,57,46,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,114,101,100,117,99,116,105,111,110,115,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,115,116,97,116,105,115,116,105,99,115,40,114,101,100,117,99,116,105,111,110,115,41,46,10,123,50,48,52,54,44,49,49,125>>]}]},{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<65,115,32,102,114,111,109,32,69,82,84,83,32,53,46,53,32,40,69,114,108,97,110,103,47,79,84,80,32,82,49,49,66,41,44,32,116,104,105,115,32,118,97,108,117,101,32,100,111,101,115,32,110,111,116,32,105,110,99,108,117,100,101,32,114,101,100,117,99,116,105,111,110,115,32,112,101,114,102,111,114,109,101,100,32,105,110,32,99,117,114,114,101,110,116,32,116,105,109,101,32,115,108,105,99,101,115,32,111,102,32,99,117,114,114,101,110,116,108,121,32,115,99,104,101,100,117,108,101,100,32,112,114,111,99,101,115,115,101,115,46,32,73,102,32,97,110,32,101,120,97,99,116,32,118,97,108,117,101,32,105,115,32,119,97,110,116,101,100,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,101,120,97,99,116,95,114,101,100,117,99,116,105,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,101,120,97,99,116,95,114,101,100,117,99,116,105,111,110,115,41>>]}]},<<46>>]}]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2853,17},bounded_fun,[{type,{2853,17},'fun',[{type,{2853,17},product,[{atom,{2853,18},reductions}]},{type,{2853,33},tuple,[{var,{2853,34},'Total_Reductions'},{var,{2854,34},'Reductions_Since_Last_Call'}]}]},[{type,{2855,7},constraint,[{atom,{2855,7},is_subtype},[{var,{2855,7},'Total_Reductions'},{type,{2855,27},non_neg_integer,[]}]]},{type,{2856,7},constraint,[{atom,{2856,7},is_subtype},[{var,{2856,7},'Reductions_Since_Last_Call'},{type,{2856,37},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,57,49,54>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,116,111,116,97,108,32,108,101,110,103,116,104,32,111,102,32,97,108,108,32,110,111,114,109,97,108,32,97,110,100,32,100,105,114,116,121,32,67,80,85,32,114,117,110,32,113,117,101,117,101,115,46,32,84,104,97,116,32,105,115,44,32,113,117,101,117,101,100,32,119,111,114,107,32,116,104,97,116,32,105,115,32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,67,80,85,32,98,111,117,110,100,46,32,84,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32,103,97,116,104,101,114,101,100,32,97,116,111,109,105,99,97,108,108,121,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,97,32,99,111,110,115,105,115,116,101,110,116,32,115,110,97,112,115,104,111,116,32,111,102,32,116,104,101,32,115,116,97,116,101,44,32,98,117,116,32,116,104,105,115,32,111,112,101,114,97,116,105,111,110,32,105,115,32,109,117,99,104,32,109,111,114,101,32,101,120,112,101,110,115,105,118,101,32,99,111,109,112,97,114,101,100,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,41>>]}]},<<44,32,101,115,112,101,99,105,97,108,108,121,32,119,104,101,110,32,97,32,108,97,114,103,101,32,97,109,111,117,110,116,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,105,115,32,117,115,101,100,46>>]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2857,17},'fun',[{type,{2857,17},product,[{atom,{2857,18},run_queue}]},{type,{2857,32},non_neg_integer,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,57,51,53>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108,41>>]}]},<<32,119,105,116,104,32,116,104,101,32,101,120,99,101,112,116,105,111,110,32,116,104,97,116,32,110,111,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,100,105,114,116,121,32,73,79,32,114,117,110,32,113,117,101,117,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,46,32,84,104,97,116,32,105,115,44,32,111,110,108,121,32,114,117,110,32,113,117,101,117,101,115,32,119,105,116,104,32,119,111,114,107,32,116,104,97,116,32,105,115,32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,67,80,85,32,98,111,117,110,100,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,46>>]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2858,17},bounded_fun,[{type,{2858,17},'fun',[{type,{2858,17},product,[{atom,{2858,18},run_queue_lengths}]},{type,{2858,40},list,[{var,{2858,41},'RunQueueLength'}]}]},[{type,{2859,7},constraint,[{atom,{2859,7},is_subtype},[{var,{2859,7},'RunQueueLength'},{type,{2859,25},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,57,53,49>>,since => <<79,84,80,32,49,56,46,51>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,119,104,101,114,101,32,101,97,99,104,32,101,108,101,109,101,110,116,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,112,111,114,116,115,32,114,101,97,100,121,32,116,111,32,114,117,110,32,102,111,114,32,101,97,99,104,32,114,117,110,32,113,117,101,117,101,46,32,86,97,108,117,101,115,32,102,111,114,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,32,97,114,101,32,108,111,99,97,116,101,100,32,102,105,114,115,116,32,105,110,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,108,105,115,116,46,32,84,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,32,111,102,32,115,99,104,101,100,117,108,101,114,32,110,117,109,98,101,114,32,49,32,97,110,100,32,115,111,32,111,110,46,32,73,102,32,115,117,112,112,111,114,116,32,102,111,114,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,101,120,105,115,116,44,32,118,97,108,117,101,115,32,102,111,114,32,116,104,101,32,100,105,114,116,121,32,67,80,85,32,114,117,110,32,113,117,101,117,101,32,97,110,100,32,116,104,101,32,100,105,114,116,121,32,73,79,32,114,117,110,32,113,117,101,117,101,32,102,111,108,108,111,119,32,40,105,110,32,116,104,97,116,32,111,114,100,101,114,41,32,97,116,32,116,104,101,32,101,110,100,46,32,84,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,103,97,116,104,101,114,101,100,32,97,116,111,109,105,99,97,108,108,121,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,110,111,116,32,110,101,99,101,115,115,97,114,105,108,121,32,97,32,99,111,110,115,105,115,116,101,110,116,32,115,110,97,112,115,104,111,116,32,111,102,32,116,104,101,32,115,116,97,116,101,44,32,98,117,116,32,105,110,115,116,101,97,100,32,113,117,105,116,101,32,101,102,102,105,99,105,101,110,116,108,121,32,103,97,116,104,101,114,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<69,97,99,104,32,110,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,32,104,97,115,32,111,110,101,32,114,117,110,32,113,117,101,117,101,32,116,104,97,116,32,105,116,32,109,97,110,97,103,101,115,46,32,73,102,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,115,117,112,112,111,114,116,101,100,44,32,97,108,108,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,115,104,97,114,101,32,111,110,101,32,114,117,110,32,113,117,101,117,101,44,32,97,110,100,32,97,108,108,32,100,105,114,116,121,32,73,79,32,115,99,104,101,100,117,108,101,114,115,32,115,104,97,114,101,32,111,110,101,32,114,117,110,32,113,117,101,117,101,46,32,84,104,97,116,32,105,115,44,32,119,101,32,104,97,118,101,32,109,117,108,116,105,112,108,101,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,44,32,111,110,101,32,100,105,114,116,121,32,67,80,85,32,114,117,110,32,113,117,101,117,101,32,97,110,100,32,111,110,101,32,100,105,114,116,121,32,73,79,32,114,117,110,32,113,117,101,117,101,46,32,87,111,114,107,32,99,97,110,32>>,{em,[],[<<110,111,116>>]},<<32,109,105,103,114,97,116,101,32,98,101,116,119,101,101,110,32,116,104,101,32,100,105,102,102,101,114,101,110,116,32,116,121,112,101,115,32,111,102,32,114,117,110,32,113,117,101,117,101,115,46,32,79,110,108,121,32,119,111,114,107,32,105,110,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,32,99,97,110,32,109,105,103,114,97,116,101,32,116,111,32,111,116,104,101,114,32,110,111,114,109,97,108,32,114,117,110,32,113,117,101,117,101,115,46,32,84,104,105,115,32,104,97,115,32,116,111,32,98,101,32,116,97,107,101,110,32,105,110,116,111,32,97,99,99,111,117,110,116,32,119,104,101,110,32,101,118,97,108,117,97,116,105,110,103,32,116,104,101,32,114,101,115,117,108,116,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,97,99,116,105,118,101,95,116,97,115,107,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,97,99,116,105,118,101,95,116,97,115,107,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,97,99,116,105,118,101,95,116,97,115,107,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,97,99,116,105,118,101,95,116,97,115,107,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,116,111,116,97,108,95,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,116,111,116,97,108,95,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108,41>>]}]},<<46>>]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2860,17},bounded_fun,[{type,{2860,17},'fun',[{type,{2860,17},product,[{atom,{2860,18},run_queue_lengths_all}]},{type,{2860,44},list,[{var,{2860,45},'RunQueueLength'}]}]},[{type,{2861,7},constraint,[{atom,{2861,7},is_subtype},[{var,{2861,7},'RunQueueLength'},{type,{2861,25},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,56,57,54,54>>,since => <<79,84,80,32,50,48,46,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,114,117,110,116,105,109,101,44,32,105,110,32,109,105,108,108,105,115,101,99,111,110,100,115,46>>]},{p,[],[<<84,104,105,115,32,105,115,32,116,104,101,32,115,117,109,32,111,102,32,116,104,101,32,114,117,110,116,105,109,101,32,102,111,114,32,97,108,108,32,116,104,114,101,97,100,115,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,97,110,100,32,99,97,110,32,116,104,101,114,101,102,111,114,101,32,98,101,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,119,97,108,108,32,99,108,111,99,107,32,116,105,109,101,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,118,97,108,117,101,32,109,105,103,104,116,32,119,114,97,112,32,100,117,101,32,116,111,32,108,105,109,105,116,97,116,105,111,110,115,32,105,110,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,102,117,110,99,116,105,111,110,97,108,105,116,121,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,116,104,97,116,32,105,115,32,117,115,101,100,46>>]}]},{p,[],[<<69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,115,116,97,116,105,115,116,105,99,115,40,114,117,110,116,105,109,101,41,46,10,123,49,54,57,48,44,49,54,50,48,125>>]}]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2862,17},bounded_fun,[{type,{2862,17},'fun',[{type,{2862,17},product,[{atom,{2862,18},runtime}]},{type,{2862,30},tuple,[{var,{2862,31},'Total_Run_Time'},{var,{2862,47},'Time_Since_Last_Call'}]}]},[{type,{2863,7},constraint,[{atom,{2863,7},is_subtype},[{var,{2863,7},'Total_Run_Time'},{type,{2863,25},non_neg_integer,[]}]]},{type,{2864,7},constraint,[{atom,{2864,7},is_subtype},[{var,{2864,7},'Time_Since_Last_Call'},{type,{2864,31},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,48,48,57>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,100,101,115,99,114,105,98,105,110,103,32,104,111,119,32,109,117,99,104,32,116,105,109,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<110,111,114,109,97,108>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,105,114,116,121,32,67,80,85>>]},<<32,115,99,104,101,100,117,108,101,114,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,104,97,118,101,32,98,101,101,110,32,98,117,115,121,46,32,84,104,105,115,32,118,97,108,117,101,32,105,115,32,110,111,114,109,97,108,108,121,32,97,32,98,101,116,116,101,114,32,105,110,100,105,99,97,116,111,114,32,111,102,32,104,111,119,32,109,117,99,104,32,108,111,97,100,32,97,110,32,69,114,108,97,110,103,32,110,111,100,101,32,105,115,32,117,110,100,101,114,32,105,110,115,116,101,97,100,32,111,102,32,108,111,111,107,105,110,103,32,97,116,32,116,104,101,32,67,80,85,32,117,116,105,108,105,122,97,116,105,111,110,32,112,114,111,118,105,100,101,100,32,98,121,32,116,111,111,108,115,32,115,117,99,104,32,97,115,32>>,{code,[],[<<116,111,112>>]},<<32,111,114,32>>,{code,[],[<<115,121,115,115,116,97,116>>]},<<46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32>>,{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]},<<32,97,108,115,111,32,105,110,99,108,117,100,101,115,32,116,105,109,101,32,119,104,101,114,101,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,105,115,32,119,97,105,116,105,110,103,32,102,111,114,32,115,111,109,101,32,111,116,104,101,114,32,114,101,97,115,111,117,114,99,101,32,40,115,117,99,104,32,97,115,32,97,110,32,105,110,116,101,114,110,97,108,32,109,117,116,101,120,41,32,116,111,32,98,101,32,97,118,97,105,108,97,98,108,101,32,98,117,116,32,100,111,101,115,32,110,111,116,32,117,115,101,32,116,104,101,32,67,80,85,46,32,73,110,32,111,114,100,101,114,32,116,111,32,98,101,116,116,101,114,32,117,110,100,101,114,115,116,97,110,100,32,119,104,97,116,32,97,32,115,99,104,101,100,117,108,101,114,32,105,115,32,98,117,115,121,32,100,111,105,110,103,32,121,111,117,32,99,97,110,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<109,105,99,114,111,115,116,97,116,101,32,97,99,99,111,117,110,116,105,110,103>>]},<<46>>]},{p,[],[<<84,104,101,32,100,101,102,105,110,105,116,105,111,110,32,111,102,32,97,32,98,117,115,121,32,115,99,104,101,100,117,108,101,114,32,105,115,32,119,104,101,110,32,105,116,32,105,115,32,110,111,116,32,105,100,108,101,32,97,110,100,32,110,111,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,119,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<98,117,115,121,32,119,97,105,116,105,110,103>>]},<<32,102,111,114,32,110,101,119,32,119,111,114,107,44,32,116,104,97,116,32,105,115,58>>]},{ul,[],[{li,[],[<<69,120,101,99,117,116,105,110,103,32,112,114,111,99,101,115,115,32,99,111,100,101>>]},{li,[],[<<69,120,101,99,117,116,105,110,103,32,108,105,110,107,101,100,45,105,110,32,100,114,105,118,101,114,32,111,114,32,78,73,70,32,99,111,100,101>>]},{li,[],[<<69,120,101,99,117,116,105,110,103,32,66,73,70,115,44,32,111,114,32,97,110,121,32,111,116,104,101,114,32,114,117,110,116,105,109,101,32,104,97,110,100,108,105,110,103>>]},{li,[],[<<71,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,110,103>>]},{li,[],[<<72,97,110,100,108,105,110,103,32,97,110,121,32,111,116,104,101,114,32,109,101,109,111,114,121,32,109,97,110,97,103,101,109,101,110,116>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,32,115,99,104,101,100,117,108,101,114,32,99,97,110,32,97,108,115,111,32,98,101,32,98,117,115,121,32,101,118,101,110,32,105,102,32,116,104,101,32,79,83,32,104,97,115,32,115,99,104,101,100,117,108,101,100,32,111,117,116,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,116,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,117,115,101,32,116,104,101,32,109,111,100,117,108,101,32>>,{a,[{href,<<114,117,110,116,105,109,101,95,116,111,111,108,115,58,115,99,104,101,100,117,108,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,99,104,101,100,117,108,101,114>>]}]},<<32,105,110,115,116,101,97,100,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,100,105,114,101,99,116,108,121,32,97,115,32,105,116,32,112,114,111,118,105,100,101,115,32,97,110,32,101,97,115,105,101,114,32,119,97,121,32,116,111,32,103,101,116,32,116,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,116,104,97,116,32,121,111,117,32,117,115,117,97,108,108,121,32,119,97,110,116,46>>]}]},{p,[],[<<73,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,110,97,98,108,101,100>>]},<<32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,116,117,112,108,101,115,32,119,105,116,104,32>>,{code,[],[<<123,83,99,104,101,100,117,108,101,114,73,100,44,32,65,99,116,105,118,101,84,105,109,101,44,32,84,111,116,97,108,84,105,109,101,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<83,99,104,101,100,117,108,101,114,73,100>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,73,68,32,111,102,32,116,104,101,32,115,99,104,101,100,117,108,101,114,44,32>>,{code,[],[<<65,99,116,105,118,101,84,105,109,101>>]},<<32,105,115,32,116,104,101,32,100,117,114,97,116,105,111,110,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,104,97,115,32,98,101,101,110,32,98,117,115,121,44,32,97,110,100,32>>,{code,[],[<<84,111,116,97,108,84,105,109,101>>]},<<32,105,115,32,116,104,101,32,116,111,116,97,108,32,116,105,109,101,32,100,117,114,97,116,105,111,110,32,115,105,110,99,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]}]},<<32,97,99,116,105,118,97,116,105,111,110,32,102,111,114,32,116,104,101,32,115,112,101,99,105,102,105,99,32,115,99,104,101,100,117,108,101,114,46,32,84,104,101,32,116,105,109,101,32,117,110,105,116,32,114,101,116,117,114,110,101,100,32,105,115,32,117,110,100,101,102,105,110,101,100,32,97,110,100,32,99,97,110,32,98,101,32,115,117,98,106,101,99,116,32,116,111,32,99,104,97,110,103,101,32,98,101,116,119,101,101,110,32,114,101,108,101,97,115,101,115,44,32,79,83,115,44,32,97,110,100,32,115,121,115,116,101,109,32,114,101,115,116,97,114,116,115,46,32>>,{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]},<<32,105,115,32,111,110,108,121,32,116,111,32,98,101,32,117,115,101,100,32,116,111,32,99,97,108,99,117,108,97,116,101,32,114,101,108,97,116,105,118,101,32,118,97,108,117,101,115,32,102,111,114,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,46,32,84,104,101,32>>,{code,[],[<<65,99,116,105,118,101,84,105,109,101>>]},<<32,99,97,110,32,110,101,118,101,114,32,101,120,99,101,101,100,32>>,{code,[],[<<84,111,116,97,108,84,105,109,101>>]},<<46,32,84,104,101,32,108,105,115,116,32,111,102,32,115,99,104,101,100,117,108,101,114,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32,117,110,115,111,114,116,101,100,32,97,110,100,32,99,97,110,32,97,112,112,101,97,114,32,105,110,32,100,105,102,102,101,114,101,110,116,32,111,114,100,101,114,32,98,101,116,119,101,101,110,32,99,97,108,108,115,46>>]},{p,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,105,115,97,98,108,101,100>>]},<<32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<84,104,101,32,97,99,116,105,118,97,116,105,111,110,32,116,105,109,101,32,99,97,110,32,100,105,102,102,101,114,32,115,105,103,110,105,102,105,99,97,110,116,108,121,32,98,101,116,119,101,101,110,32,115,99,104,101,100,117,108,101,114,115,46,32,67,117,114,114,101,110,116,108,121,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,97,99,116,105,118,97,116,101,100,32,97,116,32,115,121,115,116,101,109,32,115,116,97,114,116,32,119,104,105,108,101,32,110,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,97,99,116,105,118,97,116,101,100,32,115,111,109,101,32,116,105,109,101,32,97,102,116,101,114,32,116,104,101,32>>,{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]},<<32,102,117,110,99,116,105,111,110,97,108,105,116,121,32,105,115,32,101,110,97,98,108,101,100,46>>]},{p,[],[<<79,110,108,121,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,115,99,104,101,100,117,108,101,114,115,32,116,104,97,116,32,97,114,101,32,101,120,112,101,99,116,101,100,32,116,111,32,104,97,110,100,108,101,32,67,80,85,32,98,111,117,110,100,32,119,111,114,107,32,105,115,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,102,114,111,109,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,32,73,102,32,121,111,117,32,97,108,115,111,32,119,97,110,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,105,114,116,121,32,73,47,79,32,115,99,104,101,100,117,108,101,114,115>>]},<<44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,95,97,108,108,41>>]}]},<<32,105,110,115,116,101,97,100,46>>]},{p,[],[<<78,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,115,32,119,105,108,108,32,104,97,118,101,32,115,99,104,101,100,117,108,101,114,32,105,100,101,110,116,105,102,105,101,114,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32>>,{code,[],[<<49,32,61,60,32,83,99,104,101,100,117,108,101,114,73,100,32,61,60,32>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46,32,68,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,119,105,108,108,32,104,97,118,101,32,115,99,104,101,100,117,108,101,114,32,105,100,101,110,116,105,102,105,101,114,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41,32,60,32,83,99,104,101,100,117,108,101,114,73,100,32,61,60,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41,32,43,32>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,100,105,102,102,101,114,101,110,116,32,116,121,112,101,115,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,104,97,110,100,108,101,32,115,112,101,99,105,102,105,99,32,116,121,112,101,115,32,111,102,32,106,111,98,115,46,32,69,118,101,114,121,32,106,111,98,32,105,115,32,97,115,115,105,103,110,101,100,32,116,111,32,97,32,115,112,101,99,105,102,105,99,32,115,99,104,101,100,117,108,101,114,32,116,121,112,101,46,32,74,111,98,115,32,99,97,110,32,109,105,103,114,97,116,101,32,98,101,116,119,101,101,110,32,100,105,102,102,101,114,101,110,116,32,115,99,104,101,100,117,108,101,114,115,32,111,102,32,116,104,101,32,115,97,109,101,32,116,121,112,101,44,32,98,117,116,32,110,101,118,101,114,32,98,101,116,119,101,101,110,32,115,99,104,101,100,117,108,101,114,115,32,111,102,32,100,105,102,102,101,114,101,110,116,32,116,121,112,101,115,46,32,84,104,105,115,32,102,97,99,116,32,104,97,115,32,116,111,32,98,101,32,116,97,107,101,110,32,117,110,100,101,114,32,99,111,110,115,105,100,101,114,97,116,105,111,110,32,119,104,101,110,32,101,118,97,108,117,97,116,105,110,103,32,116,104,101,32,114,101,115,117,108,116,32,114,101,116,117,114,110,101,100,46>>]}]},{p,[],[<<89,111,117,32,99,97,110,32,117,115,101,32>>,{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]},<<32,116,111,32,99,97,108,99,117,108,97,116,101,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,46,32,70,105,114,115,116,32,121,111,117,32,116,97,107,101,32,97,32,115,97,109,112,108,101,32,111,102,32,116,104,101,32,118,97,108,117,101,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,115,116,97,116,105,115,116,105,99,115,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,41>>]},<<46>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,44,32,116,114,117,101,41,46,10,102,97,108,115,101,10,62,32,84,115,48,32,61,32,108,105,115,116,115,58,115,111,114,116,40,101,114,108,97,110,103,58,115,116,97,116,105,115,116,105,99,115,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,41,41,44,32,111,107,46,10,111,107>>]}]},{p,[],[<<83,111,109,101,32,116,105,109,101,32,108,97,116,101,114,32,116,104,101,32,117,115,101,114,32,116,97,107,101,115,32,97,110,111,116,104,101,114,32,115,110,97,112,115,104,111,116,32,97,110,100,32,99,97,108,99,117,108,97,116,101,115,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,32,112,101,114,32,115,99,104,101,100,117,108,101,114,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,84,115,49,32,61,32,108,105,115,116,115,58,115,111,114,116,40,101,114,108,97,110,103,58,115,116,97,116,105,115,116,105,99,115,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,41,41,44,32,111,107,46,10,111,107,10,62,32,108,105,115,116,115,58,109,97,112,40,102,117,110,40,123,123,73,44,32,65,48,44,32,84,48,125,44,32,123,73,44,32,65,49,44,32,84,49,125,125,41,32,45,62,10,9,123,73,44,32,40,65,49,32,45,32,65,48,41,47,40,84,49,32,45,32,84,48,41,125,32,101,110,100,44,32,108,105,115,116,115,58,122,105,112,40,84,115,48,44,84,115,49,41,41,46,10,91,123,49,44,48,46,57,55,52,51,52,55,52,55,51,48,49,55,55,53,52,56,125,44,10,32,123,50,44,48,46,57,55,52,52,56,52,51,55,56,50,55,53,49,52,52,52,125,44,10,32,123,51,44,48,46,57,57,57,53,57,48,50,51,54,49,54,54,57,48,52,53,125,44,10,32,123,52,44,48,46,57,55,51,56,48,49,50,53,57,54,53,55,50,49,54,49,125,44,10,32,123,53,44,48,46,57,55,49,55,57,53,54,54,54,55,48,49,56,49,48,51,125,44,10,32,123,54,44,48,46,57,55,51,57,50,51,53,56,52,54,52,50,48,55,52,49,125,44,10,32,123,55,44,48,46,57,55,51,50,51,55,48,51,51,48,55,55,56,55,54,125,44,10,32,123,56,44,48,46,57,55,52,49,50,57,55,50,57,51,50,52,56,54,53,54,125,93>>]}]},{p,[],[<<85,115,105,110,103,32,116,104,101,32,115,97,109,101,32,115,110,97,112,115,104,111,116,115,32,116,111,32,99,97,108,99,117,108,97,116,101,32,97,32,116,111,116,97,108,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,58>>]},{pre,[],[{code,[],[<<62,32,123,65,44,32,84,125,32,61,32,108,105,115,116,115,58,102,111,108,100,108,40,102,117,110,40,123,123,95,44,32,65,48,44,32,84,48,125,44,32,123,95,44,32,65,49,44,32,84,49,125,125,44,32,123,65,105,44,84,105,125,41,32,45,62,10,9,123,65,105,32,43,32,40,65,49,32,45,32,65,48,41,44,32,84,105,32,43,32,40,84,49,32,45,32,84,48,41,125,32,101,110,100,44,32,123,48,44,32,48,125,44,32,108,105,115,116,115,58,122,105,112,40,84,115,48,44,84,115,49,41,41,44,10,9,84,111,116,97,108,83,99,104,101,100,117,108,101,114,85,116,105,108,105,122,97,116,105,111,110,32,61,32,65,47,84,46,10,48,46,57,55,54,57,49,51,54,56,48,51,55,54,52,56,50,53>>]}]},{p,[],[<<84,111,116,97,108,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,32,119,105,108,108,32,101,113,117,97,108,32>>,{code,[],[<<49,46,48>>]},<<32,119,104,101,110,32,97,108,108,32,115,99,104,101,100,117,108,101,114,115,32,104,97,118,101,32,98,101,101,110,32,97,99,116,105,118,101,32,97,108,108,32,116,104,101,32,116,105,109,101,32,98,101,116,119,101,101,110,32,116,104,101,32,116,119,111,32,109,101,97,115,117,114,101,109,101,110,116,115,46>>]},{p,[],[<<65,110,111,116,104,101,114,32,40,112,114,111,98,97,98,108,121,32,109,111,114,101,41,32,117,115,101,102,117,108,32,118,97,108,117,101,32,105,115,32,116,111,32,99,97,108,99,117,108,97,116,101,32,116,111,116,97,108,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,32,119,101,105,103,104,116,101,100,32,97,103,97,105,110,115,116,32,109,97,120,105,109,117,109,32,97,109,111,117,110,116,32,111,102,32,97,118,97,105,108,97,98,108,101,32,67,80,85,32,116,105,109,101,58>>]},{pre,[],[{code,[],[<<62,32,87,101,105,103,104,116,101,100,83,99,104,101,100,117,108,101,114,85,116,105,108,105,122,97,116,105,111,110,32,61,32,40,84,111,116,97,108,83,99,104,101,100,117,108,101,114,85,116,105,108,105,122,97,116,105,111,110,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,42,32,40,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,43,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41,41,41,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,47,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,97,118,97,105,108,97,98,108,101,41,46,10,48,46,57,55,54,57,49,51,54,56,48,51,55,54,52,56,50,53>>]}]},{p,[],[<<84,104,105,115,32,119,101,105,103,104,116,101,100,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,32,119,105,108,108,32,114,101,97,99,104,32>>,{code,[],[<<49,46,48>>]},<<32,119,104,101,110,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,97,99,116,105,118,101,32,116,104,101,32,115,97,109,101,32,97,109,111,117,110,116,32,111,102,32,116,105,109,101,32,97,115,32,109,97,120,105,109,117,109,32,97,118,97,105,108,97,98,108,101,32,67,80,85,32,116,105,109,101,46,32,73,102,32,109,111,114,101,32,115,99,104,101,100,117,108,101,114,115,32,101,120,105,115,116,32,116,104,97,110,32,97,118,97,105,108,97,98,108,101,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,44,32,116,104,105,115,32,118,97,108,117,101,32,109,97,121,32,98,101,32,103,114,101,97,116,101,114,32,116,104,97,110,32>>,{code,[],[<<49,46,48>>]},<<46>>]},{p,[],[<<65,115,32,111,102,32,69,82,84,83,32,118,101,114,115,105,111,110,32,57,46,48,44,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,119,105,108,108,32,97,115,32,100,101,102,97,117,108,116,32,104,97,118,101,32,109,111,114,101,32,115,99,104,101,100,117,108,101,114,115,32,116,104,97,110,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46,32,84,104,105,115,32,100,117,101,32,116,111,32,116,104,101,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]},<<32,105,115,32,98,121,32,100,101,102,97,117,108,116,32,100,105,115,97,98,108,101,100,46,32,84,111,32,101,110,97,98,108,101,32,105,116,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,44,32,116,114,117,101,41>>]}]},<<46>>]}]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2865,17},bounded_fun,[{type,{2865,17},'fun',[{type,{2865,17},product,[{atom,{2865,18},scheduler_wall_time}]},{type,{2865,42},union,[{type,{2865,42},list,[{type,{2865,43},tuple,[{var,{2865,44},'SchedulerId'},{var,{2865,57},'ActiveTime'},{var,{2865,69},'TotalTime'}]}]},{atom,{2865,83},undefined}]}]},[{type,{2866,7},constraint,[{atom,{2866,7},is_subtype},[{var,{2866,7},'SchedulerId'},{type,{2866,22},pos_integer,[]}]]},{type,{2867,7},constraint,[{atom,{2867,7},is_subtype},[{var,{2867,7},'ActiveTime'},{type,{2867,22},non_neg_integer,[]}]]},{type,{2868,7},constraint,[{atom,{2868,7},is_subtype},[{var,{2868,7},'TotalTime'},{type,{2868,22},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,48,50,55>>,since => <<79,84,80,32,82,49,53,66,48,49>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,41>>]}]},<<44,32,101,120,99,101,112,116,32,116,104,97,116,32,105,116,32,97,108,115,111,32,105,110,99,108,117,100,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,108,108,32,100,105,114,116,121,32,73,47,79,32,115,99,104,101,100,117,108,101,114,115,46>>]},{p,[],[<<68,105,114,116,121,32,73,79,32,115,99,104,101,100,117,108,101,114,115,32,119,105,108,108,32,104,97,118,101,32,115,99,104,101,100,117,108,101,114,32,105,100,101,110,116,105,102,105,101,114,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},{code,[],[<<32,43,32>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},{code,[],[<<32,60,32,83,99,104,101,100,117,108,101,114,73,100,32,61,60,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41,32,43,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41,32,43,32>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<78,111,116,101,32,116,104,97,116,32,119,111,114,107,32,101,120,101,99,117,116,105,110,103,32,111,110,32,100,105,114,116,121,32,73,47,79,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,101,120,112,101,99,116,101,100,32,116,111,32,109,97,105,110,108,121,32,119,97,105,116,32,102,111,114,32,73,47,79,46,32,84,104,97,116,32,105,115,44,32,119,104,101,110,32,121,111,117,32,103,101,116,32,104,105,103,104,32,115,99,104,101,100,117,108,101,114,32,117,116,105,108,105,122,97,116,105,111,110,32,111,110,32,100,105,114,116,121,32,73,47,79,32,115,99,104,101,100,117,108,101,114,115,44,32,67,80,85,32,117,116,105,108,105,122,97,116,105,111,110,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,101,120,112,101,99,116,101,100,32,116,111,32,98,101,32,104,105,103,104,32,100,117,101,32,116,111,32,116,104,105,115,32,119,111,114,107,46>>]}]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2869,17},bounded_fun,[{type,{2869,17},'fun',[{type,{2869,17},product,[{atom,{2869,18},scheduler_wall_time_all}]},{type,{2869,46},union,[{type,{2869,46},list,[{type,{2869,47},tuple,[{var,{2869,48},'SchedulerId'},{var,{2869,61},'ActiveTime'},{var,{2869,73},'TotalTime'}]}]},{atom,{2869,87},undefined}]}]},[{type,{2870,7},constraint,[{atom,{2870,7},is_subtype},[{var,{2870,7},'SchedulerId'},{type,{2870,22},pos_integer,[]}]]},{type,{2871,7},constraint,[{atom,{2871,7},is_subtype},[{var,{2871,7},'ActiveTime'},{type,{2871,22},non_neg_integer,[]}]]},{type,{2872,7},constraint,[{atom,{2872,7},is_subtype},[{var,{2872,7},'TotalTime'},{type,{2872,22},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,49,55,50>>,since => <<79,84,80,32,50,48,46,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<108,105,115,116,115,58,115,117,109,40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,97,99,116,105,118,101,95,116,97,115,107,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,97,99,116,105,118,101,95,116,97,115,107,115,41>>]}]},{code,[],[<<41>>]},<<44,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46>>]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2873,3},bounded_fun,[{type,{2873,3},'fun',[{type,{2873,3},product,[{atom,{2873,4},total_active_tasks}]},{var,{2873,27},'ActiveTasks'}]},[{type,{2874,7},constraint,[{atom,{2874,7},is_subtype},[{var,{2874,7},'ActiveTasks'},{type,{2874,22},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,50,48,48>>,since => <<79,84,80,32,49,56,46,51>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<108,105,115,116,115,58,115,117,109,40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,97,99,116,105,118,101,95,116,97,115,107,115,95,97,108,108,41>>]}]},{code,[],[<<41>>]},<<44,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46>>]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2875,3},bounded_fun,[{type,{2875,3},'fun',[{type,{2875,3},product,[{atom,{2875,4},total_active_tasks_all}]},{var,{2875,31},'ActiveTasks'}]},[{type,{2876,7},constraint,[{atom,{2876,7},is_subtype},[{var,{2876,7},'ActiveTasks'},{type,{2876,22},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,50,49,49>>,since => <<79,84,80,32,50,48,46,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<108,105,115,116,115,58,115,117,109,40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,41>>]}]},{code,[],[<<41>>]},<<44,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46>>]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2877,17},bounded_fun,[{type,{2877,17},'fun',[{type,{2877,17},product,[{atom,{2877,18},total_run_queue_lengths}]},{var,{2877,46},'TotalRunQueueLengths'}]},[{type,{2878,7},constraint,[{atom,{2878,7},is_subtype},[{var,{2878,7},'TotalRunQueueLengths'},{type,{2878,31},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,50,50,50>>,since => <<79,84,80,32,49,56,46,51>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<108,105,115,116,115,58,115,117,109,40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,114,117,110,95,113,117,101,117,101,95,108,101,110,103,116,104,115,95,97,108,108,41>>]}]},{code,[],[<<41>>]},<<44,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46>>]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2879,17},bounded_fun,[{type,{2879,17},'fun',[{type,{2879,17},product,[{atom,{2879,18},total_run_queue_lengths_all}]},{var,{2879,50},'TotalRunQueueLengths'}]},[{type,{2880,7},constraint,[{atom,{2880,7},is_subtype},[{var,{2880,7},'TotalRunQueueLengths'},{type,{2880,31},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,50,51,51>>,since => <<79,84,80,32,50,48,46,48>>}},{{function,statistics,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2826}],[<<115,116,97,116,105,115,116,105,99,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,119,97,108,108,32,99,108,111,99,107,46,32>>,{code,[],[<<119,97,108,108,95,99,108,111,99,107>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,32,116,104,101,32,115,97,109,101,32,109,97,110,110,101,114,32,97,115,32>>,{code,[],[<<114,117,110,116,105,109,101>>]},<<44,32,101,120,99,101,112,116,32,116,104,97,116,32,114,101,97,108,32,116,105,109,101,32,105,115,32,109,101,97,115,117,114,101,100,32,97,115,32,111,112,112,111,115,101,100,32,116,111,32,114,117,110,116,105,109,101,32,111,114,32,67,80,85,32,116,105,109,101,46>>]}]},#{signature => [{attribute,{2826,2},spec,{{statistics,1},[{type,{2881,17},bounded_fun,[{type,{2881,17},'fun',[{type,{2881,17},product,[{atom,{2881,18},wall_clock}]},{type,{2881,33},tuple,[{var,{2881,34},'Total_Wallclock_Time'},{var,{2882,34},'Wallclock_Time_Since_Last_Call'}]}]},[{type,{2883,7},constraint,[{atom,{2883,7},is_subtype},[{var,{2883,7},'Total_Wallclock_Time'},{type,{2883,31},non_neg_integer,[]}]]},{type,{2884,7},constraint,[{atom,{2884,7},is_subtype},[{var,{2884,7},'Wallclock_Time_Since_Last_Call'},{type,{2884,41},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,50,52,52>>}},{{function,suspend_process,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2235}],[<<115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,49>>],#{<<101,110>> => [{p,[],[<<83,117,115,112,101,110,100,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<46,32,84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,40,83,117,115,112,101,110,100,101,101,44,32,91,93,41>>]}]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,111,110,108,121,46>>]}]}]},#{signature => [{attribute,{2235,2},spec,{{erlang,suspend_process,1},[{type,{2235,29},bounded_fun,[{type,{2235,29},'fun',[{type,{2235,29},product,[{var,{2235,30},'Suspendee'}]},{atom,{2235,44},true}]},[{type,{2236,7},constraint,[{atom,{2236,7},is_subtype},[{var,{2236,7},'Suspendee'},{type,{2236,20},pid,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,50,53,53>>}},{{function,suspend_process,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2219}],[<<115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>],#{<<101,110>> => [{p,[],[<<73,110,99,114,101,97,115,101,115,32,116,104,101,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,97,110,100,32,112,117,116,115,32,105,116,32,105,110,32,116,104,101,32,115,117,115,112,101,110,100,101,100,32,115,116,97,116,101,32,105,102,32,105,116,32,105,115,32,110,111,116,32,97,108,114,101,97,100,121,32,105,110,32,116,104,97,116,32,115,116,97,116,101,46,32,65,32,115,117,115,112,101,110,100,101,100,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,115,99,104,101,100,117,108,101,100,32,102,111,114,32,101,120,101,99,117,116,105,111,110,32,117,110,116,105,108,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,115,32,98,101,101,110,32,114,101,115,117,109,101,100,46>>]},{p,[],[<<65,32,112,114,111,99,101,115,115,32,99,97,110,32,98,101,32,115,117,115,112,101,110,100,101,100,32,98,121,32,109,117,108,116,105,112,108,101,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,99,97,110,32,98,101,32,115,117,115,112,101,110,100,101,100,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,32,98,121,32,97,32,115,105,110,103,108,101,32,112,114,111,99,101,115,115,46,32,65,32,115,117,115,112,101,110,100,101,100,32,112,114,111,99,101,115,115,32,100,111,101,115,32,110,111,116,32,108,101,97,118,101,32,116,104,101,32,115,117,115,112,101,110,100,101,100,32,115,116,97,116,101,32,117,110,116,105,108,32,105,116,115,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,114,101,97,99,104,101,115,32,122,101,114,111,46,32,84,104,101,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,102,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,100,101,99,114,101,97,115,101,100,32,119,104,101,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,115,117,109,101,95,112,114,111,99,101,115,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,114,101,115,117,109,101,95,112,114,111,99,101,115,115,40,83,117,115,112,101,110,100,101,101,41>>]}]},<<32,105,115,32,99,97,108,108,101,100,32,98,121,32,116,104,101,32,115,97,109,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,99,97,108,108,101,100,32>>,{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,40,83,117,115,112,101,110,100,101,101,41>>]},<<46,32,65,108,108,32,105,110,99,114,101,97,115,101,100,32,115,117,115,112,101,110,100,32,99,111,117,110,116,115,32,111,110,32,111,116,104,101,114,32,112,114,111,99,101,115,115,101,115,32,97,99,113,117,105,114,101,100,32,98,121,32,97,32,112,114,111,99,101,115,115,32,97,114,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,99,114,101,97,115,101,100,32,119,104,101,110,32,116,104,101,32,112,114,111,99,101,115,115,32,116,101,114,109,105,110,97,116,101,115,46>>]},{p,[],[<<79,112,116,105,111,110,115,32,40>>,{code,[],[<<79,112,116>>]},<<115,41,58>>]},{dl,[],[{dt,[],[{code,[],[<<97,115,121,110,99,104,114,111,110,111,117,115>>]}]},{dd,[],[{p,[],[<<65,32,115,117,115,112,101,110,100,32,114,101,113,117,101,115,116,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<46,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,101,118,101,110,116,117,97,108,108,121,32,115,117,115,112,101,110,100,115,32,117,110,108,101,115,115,32,105,116,32,105,115,32,114,101,115,117,109,101,100,32,98,101,102,111,114,101,32,105,116,32,99,111,117,108,100,32,115,117,115,112,101,110,100,46,32,84,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>]},<<32,114,101,116,117,114,110,115,32,105,109,109,101,100,105,97,116,101,108,121,44,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,119,104,101,116,104,101,114,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,104,97,115,32,115,117,115,112,101,110,100,101,100,32,121,101,116,32,111,114,32,110,111,116,46,32,84,104,101,32,112,111,105,110,116,32,105,110,32,116,105,109,101,32,119,104,101,110,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,115,117,115,112,101,110,100,115,32,99,97,110,110,111,116,32,98,101,32,100,101,100,117,99,101,100,32,102,114,111,109,32,111,116,104,101,114,32,101,118,101,110,116,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,46,32,73,116,32,105,115,32,111,110,108,121,32,103,117,97,114,97,110,116,101,101,100,32,116,104,97,116,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32>>,{em,[],[<<101,118,101,110,116,117,97,108,108,121>>]},<<32,115,117,115,112,101,110,100,115,32,40,117,110,108,101,115,115,32,105,116,32,105,115,32,114,101,115,117,109,101,100,41,46,32,73,102,32,110,111,32>>,{code,[],[<<97,115,121,110,99,104,114,111,110,111,117,115>>]},<<32,111,112,116,105,111,110,115,32,104,97,115,32,98,101,101,110,32,112,97,115,115,101,100,44,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>]},<<32,105,115,32,98,108,111,99,107,101,100,32,117,110,116,105,108,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,104,97,115,32,115,117,115,112,101,110,100,101,100,46>>]}]},{dt,[],[{code,[],[<<123,97,115,121,110,99,104,114,111,110,111,117,115,44,32,82,101,112,108,121,84,97,103,125>>]}]},{dd,[],[{p,[],[<<65,32,115,117,115,112,101,110,100,32,114,101,113,117,101,115,116,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<46,32,87,104,101,110,32,116,104,101,32,115,117,115,112,101,110,100,32,114,101,113,117,101,115,116,32,104,97,115,32,98,101,101,110,32,112,114,111,99,101,115,115,101,100,44,32,97,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,32,84,104,101,32,114,101,112,108,121,32,105,115,32,111,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,82,101,112,108,121,84,97,103,44,32,83,116,97,116,101,125>>]},<<32,119,104,101,114,101,32>>,{code,[],[<<83,116,97,116,101>>]},<<32,105,115,32,101,105,116,104,101,114,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,120,105,116,101,100>>]}]},{dd,[],[{p,[],[{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,104,97,115,32,101,120,105,116,101,100,46>>]}]},{dt,[],[{code,[],[<<115,117,115,112,101,110,100,101,100>>]}]},{dd,[],[{p,[],[{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,110,111,119,32,115,117,115,112,101,110,100,101,100,46>>]}]},{dt,[],[{code,[],[<<110,111,116,95,115,117,115,112,101,110,100,101,100>>]}]},{dd,[],[{p,[],[{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,110,111,116,32,115,117,115,112,101,110,100,101,100,46,32,84,104,105,115,32,99,97,110,32,111,110,108,121,32,104,97,112,112,101,110,32,119,104,101,110,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,105,115,115,117,101,100,32,116,104,105,115,32,114,101,113,117,101,115,116,44,32,104,97,118,101,32,99,97,108,108,101,100,32>>,{code,[],[<<114,101,115,117,109,101,95,112,114,111,99,101,115,115,40,83,117,115,112,101,110,100,101,101,41>>]},<<32,98,101,102,111,114,101,32,103,101,116,116,105,110,103,32,116,104,101,32,114,101,112,108,121,46>>]}]}]},{p,[],[<<65,112,97,114,116,32,102,114,111,109,32,116,104,101,32,114,101,112,108,121,32,109,101,115,115,97,103,101,44,32,116,104,101,32>>,{code,[],[<<123,97,115,121,110,99,104,114,111,110,111,117,115,44,32,82,101,112,108,121,84,97,103,125>>]},<<32,111,112,116,105,111,110,32,98,101,104,97,118,101,115,32,101,120,97,99,116,108,121,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32>>,{code,[],[<<97,115,121,110,99,104,114,111,110,111,117,115>>]},<<32,111,112,116,105,111,110,32,119,105,116,104,111,117,116,32,114,101,112,108,121,32,116,97,103,46>>]}]},{dt,[],[{code,[],[<<117,110,108,101,115,115,95,115,117,115,112,101,110,100,105,110,103>>]}]},{dd,[],[{p,[],[<<84,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,115,117,115,112,101,110,100,101,100,32,117,110,108,101,115,115,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,108,114,101,97,100,121,32,105,115,32,115,117,115,112,101,110,100,105,110,103,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<46,32,73,102,32>>,{code,[],[<<117,110,108,101,115,115,95,115,117,115,112,101,110,100,105,110,103>>]},<<32,105,115,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<97,115,121,110,99,104,114,111,110,111,117,115>>]},<<44,32,97,32,115,117,115,112,101,110,100,32,114,101,113,117,101,115,116,32,105,115,32,115,101,110,116,32,117,110,108,101,115,115,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,108,114,101,97,100,121,32,105,115,32,115,117,115,112,101,110,100,105,110,103,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,111,114,32,105,102,32,97,32,115,117,115,112,101,110,100,32,114,101,113,117,101,115,116,32,97,108,114,101,97,100,121,32,104,97,115,32,98,101,101,110,32,115,101,110,116,32,97,110,100,32,105,115,32,105,110,32,116,114,97,110,115,105,116,46,32,73,102,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,108,114,101,97,100,121,32,105,115,32,115,117,115,112,101,110,100,105,110,103,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<44,32,111,114,32,105,102,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<97,115,121,110,99,104,114,111,110,111,117,115>>]},<<32,97,110,100,32,97,32,115,101,110,100,32,114,101,113,117,101,115,116,32,97,108,114,101,97,100,121,32,105,115,32,105,110,32,116,114,97,110,115,105,116,44,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,97,110,100,32,116,104,101,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,114,101,109,97,105,110,115,32,117,110,99,104,97,110,103,101,100,46>>]}]}]},{p,[],[<<73,102,32,116,104,101,32,115,117,115,112,101,110,100,32,99,111,117,110,116,32,111,110,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,105,110,99,114,101,97,115,101,100,44,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,66,73,70,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,111,110,108,121,46>>]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<89,111,117,32,99,97,110,32,101,97,115,105,108,121,32,99,114,101,97,116,101,32,100,101,97,100,108,111,99,107,115,32,105,102,32,112,114,111,99,101,115,115,101,115,32,115,117,115,112,101,110,100,115,32,101,97,99,104,32,111,116,104,101,114,32,40,100,105,114,101,99,116,108,121,32,111,114,32,105,110,32,99,105,114,99,108,101,115,41,46,32,73,110,32,69,82,84,83,32,118,101,114,115,105,111,110,115,32,112,114,105,111,114,32,116,111,32,69,82,84,83,32,118,101,114,115,105,111,110,32,49,48,46,48,44,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,112,114,101,118,101,110,116,101,100,32,115,117,99,104,32,100,101,97,100,108,111,99,107,115,44,32,98,117,116,32,116,104,105,115,32,112,114,101,118,101,110,116,105,111,110,32,104,97,115,32,110,111,119,32,98,101,101,110,32,114,101,109,111,118,101,100,32,100,117,101,32,116,111,32,112,101,114,102,111,114,109,97,110,99,101,32,114,101,97,115,111,110,115,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,110,111,116,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,116,104,101,32,115,97,109,101,32,112,114,111,99,101,115,115,32,97,115,32,116,104,101,32,112,114,111,99,101,115,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,115,117,115,112,101,110,100,95,112,114,111,99,101,115,115,47,50>>]},<<46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,105,115,32,110,111,116,32,97,108,105,118,101,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,114,101,115,105,100,101,115,32,111,110,32,97,110,111,116,104,101,114,32,110,111,100,101,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<79,112,116,76,105,115,116>>]},<<32,105,115,32,110,111,116,32,97,32,112,114,111,112,101,114,32,108,105,115,116,32,111,102,32,118,97,108,105,100,32>>,{code,[],[<<79,112,116>>]},<<115,46>>]},{dt,[],[{code,[],[<<115,121,115,116,101,109,95,108,105,109,105,116>>]}]},{dd,[],[<<73,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<83,117,115,112,101,110,100,101,101>>]},<<32,104,97,115,32,98,101,101,110,32,115,117,115,112,101,110,100,101,100,32,109,111,114,101,32,116,105,109,101,115,32,98,121,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,116,104,97,110,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,116,104,101,32,99,117,114,114,101,110,116,108,121,32,117,115,101,100,32,105,110,116,101,114,110,97,108,32,100,97,116,97,32,115,116,114,117,99,116,117,114,101,115,46,32,84,104,101,32,115,121,115,116,101,109,32,108,105,109,105,116,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,50,44,48,48,48,44,48,48,48,44,48,48,48,32,115,117,115,112,101,110,100,115,32,97,110,100,32,119,105,108,108,32,110,101,118,101,114,32,98,101,32,108,111,119,101,114,46>>]}]}]},#{signature => [{attribute,{2219,2},spec,{{erlang,suspend_process,2},[{type,{2219,29},bounded_fun,[{type,{2219,29},'fun',[{type,{2219,29},product,[{var,{2219,30},'Suspendee'},{var,{2219,41},'OptList'}]},{type,{2219,53},boolean,[]}]},[{type,{2220,7},constraint,[{atom,{2220,7},is_subtype},[{var,{2220,7},'Suspendee'},{type,{2220,20},pid,[]}]]},{type,{2221,7},constraint,[{atom,{2221,7},is_subtype},[{var,{2221,7},'OptList'},{type,{2221,18},list,[{var,{2221,19},'Opt'}]}]]},{type,{2222,7},constraint,[{atom,{2222,7},is_subtype},[{var,{2222,7},'Opt'},{type,{2222,14},union,[{atom,{2222,14},unless_suspending},{atom,{2222,34},asynchronous},{type,{2222,49},tuple,[{atom,{2222,50},asynchronous},{type,{2222,64},term,[]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,50,55,48>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,109,97,120,105,109,117,109,32,100,101,112,116,104,32,111,102,32,99,97,108,108,32,115,116,97,99,107,32,98,97,99,107,45,116,114,97,99,101,115,32,105,110,32,116,104,101,32,101,120,105,116,32,114,101,97,115,111,110,32,101,108,101,109,101,110,116,32,111,102,32>>,{code,[],[<<39,69,88,73,84,39>>]},<<32,116,117,112,108,101,115,46,32,84,104,101,32,102,108,97,103,32,97,108,115,111,32,108,105,109,105,116,115,32,116,104,101,32,115,116,97,99,107,116,114,97,99,101,32,100,101,112,116,104,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<112,114,111,99,101,115,115,95,105,110,102,111>>]},<<32,105,116,101,109,32>>,{code,[],[<<99,117,114,114,101,110,116,95,115,116,97,99,107,116,114,97,99,101,46>>]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2904,25},bounded_fun,[{type,{2904,25},'fun',[{type,{2904,25},product,[{atom,{2904,26},backtrace_depth},{var,{2904,43},'Depth'}]},{var,{2904,53},'OldDepth'}]},[{type,{2905,7},constraint,[{atom,{2905,7},is_subtype},[{var,{2905,7},'Depth'},{type,{2905,16},non_neg_integer,[]}]]},{type,{2906,7},constraint,[{atom,{2906,7},is_subtype},[{var,{2906,7},'OldDepth'},{type,{2906,19},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,52,49,54>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<99,112,117,95,116,111,112,111,108,111,103,121>>}],[]},{li,[{name,<<105,110,102,111,95,108,105,115,116>>}],[]},{li,[{name,<<108,101,118,101,108,95,101,110,116,114,121>>}],[]},{li,[{name,<<108,101,118,101,108,95,116,97,103>>}],[]},{li,[{name,<<115,117,98,95,108,101,118,101,108>>}],[]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[{em,[],[<<84,104,105,115,32,97,114,103,117,109,101,110,116,32,105,115,32,100,101,112,114,101,99,97,116,101,100,46>>]},<<32,73,110,115,116,101,97,100,32,111,102,32,117,115,105,110,103,32,116,104,105,115,32,97,114,103,117,109,101,110,116,44,32,117,115,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,99,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<87,104,101,110,32,116,104,105,115,32,97,114,103,117,109,101,110,116,32,105,115,32,114,101,109,111,118,101,100,44,32,97,32,102,105,110,97,108,32,67,80,85,32,116,111,112,111,108,111,103,121,32,116,111,32,117,115,101,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,97,116,32,101,109,117,108,97,116,111,114,32,98,111,111,116,32,116,105,109,101,46>>]}]},{p,[],[<<83,101,116,115,32,116,104,101,32,117,115,101,114,45,100,101,102,105,110,101,100,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<46,32,84,104,101,32,117,115,101,114,45,100,101,102,105,110,101,100,32,67,80,85,32,116,111,112,111,108,111,103,121,32,111,118,101,114,114,105,100,101,115,32,97,110,121,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,116,101,99,116,101,100,32,67,80,85,32,116,111,112,111,108,111,103,121,46,32,66,121,32,112,97,115,115,105,110,103,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,97,115,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<44,32,116,104,101,32,115,121,115,116,101,109,32,114,101,118,101,114,116,115,32,116,111,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,116,101,99,116,101,100,46,32,84,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,101,113,117,97,108,115,32,116,104,101,32,118,97,108,117,101,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,99,112,117,95,116,111,112,111,108,111,103,121,41>>]},<<32,98,101,102,111,114,101,32,116,104,101,32,99,104,97,110,103,101,32,119,97,115,32,109,97,100,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]},{p,[],[<<84,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,105,115,32,117,115,101,100,32,119,104,101,110,32,98,105,110,100,105,110,103,32,115,99,104,101,100,117,108,101,114,115,32,116,111,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46,32,73,102,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,97,108,114,101,97,100,121,32,98,111,117,110,100,32,119,104,101,110,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,105,115,32,99,104,97,110,103,101,100,44,32,116,104,101,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,115,101,110,116,32,97,32,114,101,113,117,101,115,116,32,116,111,32,114,101,98,105,110,100,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,110,101,119,32,67,80,85,32,116,111,112,111,108,111,103,121,46>>]},{p,[],[<<84,104,101,32,117,115,101,114,45,100,101,102,105,110,101,100,32,67,80,85,32,116,111,112,111,108,111,103,121,32,99,97,110,32,97,108,115,111,32,98,101,32,115,101,116,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,99,116>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,116,121,112,101,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<32,97,110,100,32,109,111,114,101,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,99,112,117,95,116,111,112,111,108,111,103,121,41>>]}]},<<32,97,115,32,119,101,108,108,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,99,116>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2907,25},bounded_fun,[{type,{2907,25},'fun',[{type,{2907,25},product,[{atom,{2907,26},cpu_topology},{var,{2907,40},'CpuTopology'}]},{var,{2907,56},'OldCpuTopology'}]},[{type,{2908,7},constraint,[{atom,{2908,7},is_subtype},[{var,{2908,7},'CpuTopology'},{user_type,{2908,22},cpu_topology,[]}]]},{type,{2909,7},constraint,[{atom,{2909,7},is_subtype},[{var,{2909,7},'OldCpuTopology'},{user_type,{2909,25},cpu_topology,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,52,50,56>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46,32,82,97,110,103,101,32,105,115,32>>,{code,[],[<<49,32,60,61,32,68,105,114,116,121,67,80,85,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,32,60,61,32,78>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<78>>]},<<32,105,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,111,102,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41>>]},<<32,97,110,100,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]},{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,99,97,110,32,99,104,97,110,103,101,32,105,102,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,99,104,97,110,103,101,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32,49,50,32,115,99,104,101,100,117,108,101,114,115,32,97,110,100,32,54,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,111,110,108,105,110,101,44,32,97,110,100,32>>,{code,[],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>]},<<32,105,115,32,117,115,101,100,32,116,111,32,115,101,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,116,111,32,54,44,32,116,104,101,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,99,114,101,97,115,101,100,32,98,121,32,104,97,108,102,32,97,115,32,119,101,108,108,44,32,100,111,119,110,32,116,111,32,51,46,32,83,105,109,105,108,97,114,108,121,44,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,105,110,99,114,101,97,115,101,115,32,112,114,111,112,111,114,116,105,111,110,97,108,108,121,32,116,111,32,105,110,99,114,101,97,115,101,115,32,105,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2910,25},bounded_fun,[{type,{2910,25},'fun',[{type,{2910,25},product,[{atom,{2910,26},dirty_cpu_schedulers_online},{var,{2910,55},'DirtyCPUSchedulersOnline'}]},{var,{2911,33},'OldDirtyCPUSchedulersOnline'}]},[{type,{2912,7},constraint,[{atom,{2912,7},is_subtype},[{var,{2912,7},'DirtyCPUSchedulersOnline'},{type,{2912,35},pos_integer,[]}]]},{type,{2913,7},constraint,[{atom,{2913,7},is_subtype},[{var,{2913,7},'OldDirtyCPUSchedulersOnline'},{type,{2913,38},pos_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,52,55,54>>,since => <<79,84,80,32,49,55,46,48>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,115,121,115,116,101,109,32,102,108,97,103,115,32,102,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]}]},<<46,32>>,{code,[],[<<65,108,108,111,99>>]},<<32,105,115,32,116,104,101,32,97,108,108,111,99,97,116,111,114,32,116,111,32,97,102,102,101,99,116,44,32,102,111,114,32,101,120,97,109,112,108,101,32>>,{code,[],[<<98,105,110,97,114,121,95,97,108,108,111,99>>]},<<46,32>>,{code,[],[<<70>>]},<<32,105,115,32,116,104,101,32,102,108,97,103,32,116,111,32,99,104,97,110,103,101,32,97,110,100,32>>,{code,[],[<<86>>]},<<32,105,115,32,116,104,101,32,110,101,119,32,118,97,108,117,101,46>>]},{p,[],[<<79,110,108,121,32,97,32,115,117,98,115,101,116,32,111,102,32,97,108,108,32>>,{code,[],[<<101,114,116,115,95,97,108,108,111,99>>]},<<32,102,108,97,103,115,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,97,116,32,114,117,110,32,116,105,109,101,46,32,84,104,105,115,32,115,117,98,115,101,116,32,105,115,32,99,117,114,114,101,110,116,108,121,32,111,110,108,121,32,116,104,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99,35,77,95,115,98,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<115,98,99,116>>]}]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,116,104,101,32,102,108,97,103,32,119,97,115,32,115,101,116,32,111,114,32>>,{code,[],[<<110,111,116,115,117,112>>]},<<32,105,102,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32>>,{code,[],[<<101,114,116,115,95,97,108,108,111,99>>]},<<46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2914,25},bounded_fun,[{type,{2914,25},'fun',[{type,{2914,25},product,[{atom,{2914,26},erts_alloc},{type,{2914,38},tuple,[{var,{2914,39},'Alloc'},{var,{2914,46},'F'},{var,{2914,49},'V'}]}]},{type,{2914,56},union,[{atom,{2914,56},ok},{atom,{2914,61},notsup}]}]},[{type,{2915,7},constraint,[{atom,{2915,7},is_subtype},[{var,{2915,7},'Alloc'},{type,{2915,16},atom,[]}]]},{type,{2916,7},constraint,[{atom,{2916,7},is_subtype},[{var,{2916,7},'F'},{type,{2916,12},atom,[]}]]},{type,{2917,7},constraint,[{atom,{2917,7},is_subtype},[{var,{2917,7},'V'},{type,{2917,12},integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,53,48,53>>,since => <<79,84,80,32,50,48,46,50,46,51>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,115,121,115,116,101,109,32,102,108,97,103,32>>,{code,[],[<<102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>]},<<46,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<32,105,115,32,97,32,110,111,110,45,110,101,103,97,116,105,118,101,32,105,110,116,101,103,101,114,32,105,110,100,105,99,97,116,105,110,103,32,104,111,119,32,109,97,110,121,32,116,105,109,101,115,32,103,101,110,101,114,97,116,105,111,110,97,108,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,99,97,110,32,98,101,32,100,111,110,101,32,119,105,116,104,111,117,116,32,102,111,114,99,105,110,103,32,97,32,102,117,108,108,115,119,101,101,112,32,99,111,108,108,101,99,116,105,111,110,46,32,84,104,101,32,118,97,108,117,101,32,97,112,112,108,105,101,115,32,116,111,32,110,101,119,32,112,114,111,99,101,115,115,101,115,44,32,119,104,105,108,101,32,112,114,111,99,101,115,115,101,115,32,97,108,114,101,97,100,121,32,114,117,110,110,105,110,103,32,97,114,101,32,110,111,116,32,97,102,102,101,99,116,101,100,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]},{p,[],[<<73,110,32,108,111,119,45,109,101,109,111,114,121,32,115,121,115,116,101,109,115,32,40,101,115,112,101,99,105,97,108,108,121,32,119,105,116,104,111,117,116,32,118,105,114,116,117,97,108,32,109,101,109,111,114,121,41,44,32,115,101,116,116,105,110,103,32,116,104,101,32,118,97,108,117,101,32,116,111,32>>,{code,[],[<<48>>]},<<32,99,97,110,32,104,101,108,112,32,116,111,32,99,111,110,115,101,114,118,101,32,109,101,109,111,114,121,46>>]},{p,[],[<<84,104,105,115,32,118,97,108,117,101,32,99,97,110,32,97,108,115,111,32,98,101,32,115,101,116,32,116,104,114,111,117,103,104,32,40,79,83,41,32,101,110,118,105,114,111,110,109,101,110,116,32,118,97,114,105,97,98,108,101,32>>,{code,[],[<<69,82,76,95,70,85,76,76,83,87,69,69,80,95,65,70,84,69,82>>]},<<46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2918,25},bounded_fun,[{type,{2918,25},'fun',[{type,{2918,25},product,[{atom,{2918,26},fullsweep_after},{var,{2918,43},'Number'}]},{var,{2918,54},'OldNumber'}]},[{type,{2919,7},constraint,[{atom,{2919,7},is_subtype},[{var,{2919,7},'Number'},{type,{2919,17},non_neg_integer,[]}]]},{type,{2920,7},constraint,[{atom,{2920,7},is_subtype},[{var,{2920,7},'OldNumber'},{type,{2920,20},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,53,50,50>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<84,117,114,110,115,32,111,110,47,111,102,102,32,109,105,99,114,111,115,116,97,116,101,32,97,99,99,111,117,110,116,105,110,103,32,109,101,97,115,117,114,101,109,101,110,116,115,46,32,87,104,101,110,32,112,97,115,115,105,110,103,32,114,101,115,101,116,44,32,97,108,108,32,99,111,117,110,116,101,114,115,32,97,114,101,32,114,101,115,101,116,32,116,111,32,48,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,109,105,99,114,111,115,116,97,116,101,95,97,99,99,111,117,110,116,105,110,103,41>>]}]},<<46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2921,25},bounded_fun,[{type,{2921,25},'fun',[{type,{2921,25},product,[{atom,{2921,26},microstate_accounting},{var,{2921,49},'Action'}]},{var,{2921,60},'OldState'}]},[{type,{2922,7},constraint,[{atom,{2922,7},is_subtype},[{var,{2922,7},'Action'},{type,{2922,17},union,[{atom,{2922,17},true},{atom,{2922,24},false},{atom,{2922,32},reset}]}]]},{type,{2923,7},constraint,[{atom,{2923,7},is_subtype},[{var,{2923,7},'OldState'},{type,{2923,19},union,[{atom,{2923,19},true},{atom,{2923,26},false}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,53,52,49>>,since => <<79,84,80,32,49,57,46,48>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,100,101,102,97,117,108,116,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,112,114,111,99,101,115,115,101,115,46,32,84,104,101,32,115,105,122,101,32,105,115,32,115,112,101,99,105,102,105,101,100,32,105,110,32,119,111,114,100,115,46,32,84,104,101,32,110,101,119,32>>,{code,[],[<<109,105,110,95,104,101,97,112,95,115,105,122,101>>]},<<32,101,102,102,101,99,116,115,32,111,110,108,121,32,112,114,111,99,101,115,115,101,115,32,115,112,97,119,110,101,100,32,97,102,116,101,114,32,116,104,101,32,99,104,97,110,103,101,32,111,102,32>>,{code,[],[<<109,105,110,95,104,101,97,112,95,115,105,122,101>>]},<<32,104,97,115,32,98,101,101,110,32,109,97,100,101,46,32>>,{code,[],[<<109,105,110,95,104,101,97,112,95,115,105,122,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,102,111,114,32,105,110,100,105,118,105,100,117,97,108,32,112,114,111,99,101,115,115,101,115,32,98,121,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,52>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>]}]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2924,25},bounded_fun,[{type,{2924,25},'fun',[{type,{2924,25},product,[{atom,{2924,26},min_heap_size},{var,{2924,41},'MinHeapSize'}]},{var,{2924,57},'OldMinHeapSize'}]},[{type,{2925,7},constraint,[{atom,{2925,7},is_subtype},[{var,{2925,7},'MinHeapSize'},{type,{2925,22},non_neg_integer,[]}]]},{type,{2926,7},constraint,[{atom,{2926,7},is_subtype},[{var,{2926,7},'OldMinHeapSize'},{type,{2926,25},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,53,53,53>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,100,101,102,97,117,108,116,32,109,105,110,105,109,117,109,32,98,105,110,97,114,121,32,118,105,114,116,117,97,108,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,112,114,111,99,101,115,115,101,115,46,32,84,104,101,32,115,105,122,101,32,105,115,32,115,112,101,99,105,102,105,101,100,32,105,110,32,119,111,114,100,115,46,32,84,104,101,32,110,101,119,32>>,{code,[],[<<109,105,110,95,98,105,110,95,118,104,104,101,97,112,95,115,105,122,101>>]},<<32,101,102,102,101,99,116,115,32,111,110,108,121,32,112,114,111,99,101,115,115,101,115,32,115,112,97,119,110,101,100,32,97,102,116,101,114,32,116,104,101,32,99,104,97,110,103,101,32,111,102,32>>,{code,[],[<<109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101>>]},<<32,104,97,115,32,98,101,101,110,32,109,97,100,101,46,32>>,{code,[],[<<109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,102,111,114,32,105,110,100,105,118,105,100,117,97,108,32,112,114,111,99,101,115,115,101,115,32,98,121,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,50,44,51,44,52>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>]}]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2927,25},bounded_fun,[{type,{2927,25},'fun',[{type,{2927,25},product,[{atom,{2927,26},min_bin_vheap_size},{var,{2927,46},'MinBinVHeapSize'}]},{var,{2928,33},'OldMinBinVHeapSize'}]},[{type,{2929,7},constraint,[{atom,{2929,7},is_subtype},[{var,{2929,7},'MinBinVHeapSize'},{type,{2929,26},non_neg_integer,[]}]]},{type,{2930,7},constraint,[{atom,{2930,7},is_subtype},[{var,{2930,7},'OldMinBinVHeapSize'},{type,{2930,29},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,53,55,48>>,since => <<79,84,80,32,82,49,51,66,48,52>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]}]},{p,[],[<<83,101,116,115,32,116,104,101,32,100,101,102,97,117,108,116,32,109,97,120,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,115,101,116,116,105,110,103,115,32,102,111,114,32,112,114,111,99,101,115,115,101,115,46,32,84,104,101,32,115,105,122,101,32,105,115,32,115,112,101,99,105,102,105,101,100,32,105,110,32,119,111,114,100,115,46,32,84,104,101,32,110,101,119,32>>,{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]},<<32,101,102,102,101,99,116,115,32,111,110,108,121,32,112,114,111,99,101,115,115,101,115,32,115,112,97,119,110,101,100,32,97,102,116,101,114,32,116,104,101,32,99,104,97,110,103,101,32,104,97,115,32,98,101,101,110,32,109,97,100,101,46,32>>,{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,102,111,114,32,105,110,100,105,118,105,100,117,97,108,32,112,114,111,99,101,115,115,101,115,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,50,44,51,44,52>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,47,50>>]}]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]},{p,[],[<<70,111,114,32,100,101,116,97,105,108,115,32,111,110,32,104,111,119,32,116,104,101,32,104,101,97,112,32,103,114,111,119,115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,71,97,114,98,97,103,101,67,111,108,108,101,99,116,105,111,110,35,115,105,122,105,110,103,45,116,104,101,45,104,101,97,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<83,105,122,105,110,103,32,116,104,101,32,104,101,97,112>>]},<<32,105,110,32,116,104,101,32,69,82,84,83,32,105,110,116,101,114,110,97,108,32,100,111,99,117,109,101,110,116,97,116,105,111,110,46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2931,25},bounded_fun,[{type,{2931,25},'fun',[{type,{2931,25},product,[{atom,{2931,26},max_heap_size},{var,{2931,41},'MaxHeapSize'}]},{var,{2931,57},'OldMaxHeapSize'}]},[{type,{2932,7},constraint,[{atom,{2932,7},is_subtype},[{var,{2932,7},'MaxHeapSize'},{user_type,{2932,22},max_heap_size,[]}]]},{type,{2933,7},constraint,[{atom,{2933,7},is_subtype},[{var,{2933,7},'OldMaxHeapSize'},{user_type,{2933,25},max_heap_size,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,53,56,55>>,since => <<79,84,80,32,49,57,46,48>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,101,110,97,98,108,101,100,44,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,32,105,115,32,117,115,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,77,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,99,97,110,32,98,101,32,98,108,111,99,107,101,100,32,105,110,32,116,119,111,32,100,105,102,102,101,114,101,110,116,32,119,97,121,115,46,32,69,105,116,104,101,114,32,97,108,108,32,115,99,104,101,100,117,108,101,114,115,32,98,117,116,32,111,110,101,32,105,115,32,98,108,111,99,107,101,100,44,32,111,114,32,97,108,108,32>>,{em,[],[<<110,111,114,109,97,108>>]},<<32,115,99,104,101,100,117,108,101,114,115,32,98,117,116,32,111,110,101,32,105,115,32,98,108,111,99,107,101,100,46,32,87,104,101,110,32,111,110,108,121,32,110,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,98,108,111,99,107,101,100,44,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,102,114,101,101,32,116,111,32,99,111,110,116,105,110,117,101,32,116,111,32,115,99,104,101,100,117,108,101,32,112,114,111,99,101,115,115,101,115,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<66,108,111,99,107,83,116,97,116,101,32,61,58,61,32,98,108,111,99,107>>]},<<44,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,98,108,111,99,107,101,100,46,32,84,104,97,116,32,105,115,44,32,111,110,101,32,97,110,100,32,111,110,108,121,32,111,110,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,32,119,105,108,108,32,101,120,101,99,117,116,101,46,32,73,102,32>>,{code,[],[<<66,108,111,99,107,83,116,97,116,101,32,61,58,61,32,117,110,98,108,111,99,107>>]},<<32,97,110,100,32,110,111,32,111,110,101,32,101,108,115,101,32,98,108,111,99,107,115,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,44,32,97,110,100,32,116,104,105,115,32,112,114,111,99,101,115,115,32,104,97,115,32,98,108,111,99,107,101,100,32,111,110,108,121,32,111,110,99,101,44,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,117,110,98,108,111,99,107,101,100,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<66,108,111,99,107,83,116,97,116,101,32,61,58,61,32,98,108,111,99,107,95,110,111,114,109,97,108>>]},<<44,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,98,108,111,99,107,101,100,46,32,84,104,97,116,32,105,115,44,32,111,110,108,121,32,111,110,101,32,110,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,32,119,105,108,108,32,101,120,101,99,117,116,101,44,32,98,117,116,32,109,117,108,116,105,112,108,101,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,99,97,110,32,101,120,101,99,117,116,101,46,32,73,102,32>>,{code,[],[<<66,108,111,99,107,83,116,97,116,101,32,61,58,61,32,117,110,98,108,111,99,107,95,110,111,114,109,97,108>>]},<<32,97,110,100,32,110,111,32,111,110,101,32,101,108,115,101,32,98,108,111,99,107,115,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,44,32,97,110,100,32,116,104,105,115,32,112,114,111,99,101,115,115,32,104,97,115,32,98,108,111,99,107,101,100,32,111,110,108,121,32,111,110,99,101,44,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,117,110,98,108,111,99,107,101,100,46>>]},{p,[],[<<79,110,101,32,112,114,111,99,101,115,115,32,99,97,110,32,98,108,111,99,107,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,97,110,100,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,46,32,73,102,32,97,32,112,114,111,99,101,115,115,32,104,97,115,32,98,108,111,99,107,101,100,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,44,32,105,116,32,109,117,115,116,32,117,110,98,108,111,99,107,32,101,120,97,99,116,108,121,32,97,115,32,109,97,110,121,32,116,105,109,101,115,32,97,115,32,105,116,32,104,97,115,32,98,108,111,99,107,101,100,32,98,101,102,111,114,101,32,105,116,32,104,97,115,32,114,101,108,101,97,115,101,100,32,105,116,115,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,98,108,111,99,107,46,32,73,102,32,97,32,112,114,111,99,101,115,115,32,116,104,97,116,32,104,97,115,32,98,108,111,99,107,101,100,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,111,114,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,101,120,105,116,115,44,32,105,116,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,114,101,108,101,97,115,101,115,32,105,116,115,32,98,108,111,99,107,105,110,103,32,111,102,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,97,110,100,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,46>>]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,97,114,101,32>>,{code,[],[<<100,105,115,97,98,108,101,100>>]},<<44,32>>,{code,[],[<<98,108,111,99,107,101,100>>]},<<44,32>>,{code,[],[<<98,108,111,99,107,101,100,95,110,111,114,109,97,108>>]},<<44,32,111,114,32>>,{code,[],[<<101,110,97,98,108,101,100>>]},<<46,32,84,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,100,101,115,99,114,105,98,101,115,32,116,104,101,32,115,116,97,116,101,32,106,117,115,116,32,97,102,116,101,114,32,116,104,101,32,99,97,108,108,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,44,32,66,108,111,99,107,83,116,97,116,101,41>>]},<<32,104,97,115,32,98,101,101,110,32,109,97,100,101,46,32,70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,41>>]}]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<66,108,111,99,107,105,110,103,32,111,102,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,97,110,100,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,110,111,114,109,97,108,108,121,32,110,111,116,32,110,101,101,100,101,100,46,32,73,102,32,121,111,117,32,102,101,101,108,32,116,104,97,116,32,121,111,117,32,110,101,101,100,32,116,111,32,117,115,101,32,116,104,101,115,101,32,102,101,97,116,117,114,101,115,44,32,99,111,110,115,105,100,101,114,32,105,116,32,97,32,102,101,119,32,109,111,114,101,32,116,105,109,101,115,32,97,103,97,105,110,46,32,66,108,111,99,107,105,110,103,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,111,110,108,121,32,116,111,32,98,101,32,117,115,101,100,32,97,115,32,97,32,108,97,115,116,32,114,101,115,111,114,116,44,32,97,115,32,105,116,32,105,115,32,109,111,115,116,32,108,105,107,101,108,121,32,97,32>>,{em,[],[<<118,101,114,121,32,105,110,101,102,102,105,99,105,101,110,116>>]},<<32,119,97,121,32,116,111,32,115,111,108,118,101,32,116,104,101,32,112,114,111,98,108,101,109,46>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2934,25},bounded_fun,[{type,{2934,25},'fun',[{type,{2934,25},product,[{atom,{2934,26},multi_scheduling},{var,{2934,44},'BlockState'}]},{var,{2934,59},'OldBlockState'}]},[{type,{2935,7},constraint,[{atom,{2935,7},is_subtype},[{var,{2935,7},'BlockState'},{type,{2935,21},union,[{atom,{2935,21},block},{atom,{2935,29},unblock},{atom,{2935,39},block_normal},{atom,{2935,54},unblock_normal}]}]]},{type,{2936,7},constraint,[{atom,{2936,7},is_subtype},[{var,{2936,7},'OldBlockState'},{type,{2936,24},union,[{atom,{2936,24},blocked},{atom,{2936,34},disabled},{atom,{2936,45},enabled}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,54,49,48>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,97,32,108,105,109,105,116,32,111,110,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,111,117,116,115,116,97,110,100,105,110,103,32,114,101,113,117,101,115,116,115,32,109,97,100,101,32,98,121,32,97,32,115,121,115,116,101,109,32,112,114,111,99,101,115,115,32,111,114,99,104,101,115,116,114,97,116,105,110,103,32,115,121,115,116,101,109,32,119,105,100,101,32,99,104,97,110,103,101,115,46,32,67,117,114,114,101,110,116,108,121,32,116,104,101,114,101,32,97,114,101,32,116,119,111,32,115,117,99,104,32,112,114,111,99,101,115,115,101,115,58>>]},{dl,[],[{dt,[],[<<84,104,101,32,67,111,100,101,32,80,117,114,103,101,114>>]},{dd,[],[{p,[],[<<84,104,101,32,99,111,100,101,32,112,117,114,103,101,114,32,111,114,99,104,101,115,116,114,97,116,101,115,32,99,104,101,99,107,105,110,103,32,111,102,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,111,108,100,32,99,111,100,101,32,98,101,102,111,114,101,32,111,108,100,32,99,111,100,101,32,105,115,32,114,101,109,111,118,101,100,32,102,114,111,109,32,116,104,101,32,115,121,115,116,101,109,46>>]}]},{dt,[],[<<84,104,101,32,76,105,116,101,114,97,108,32,65,114,101,97,32,67,111,108,108,101,99,116,111,114>>]},{dd,[],[{p,[],[<<84,104,101,32,108,105,116,101,114,97,108,32,97,114,101,97,32,99,111,108,108,101,99,116,111,114,32,111,114,99,104,101,115,116,114,97,116,101,115,32,99,111,112,121,105,110,103,32,111,102,32,114,101,102,101,114,101,110,99,101,115,32,102,114,111,109,32,111,108,100,32,108,105,116,101,114,97,108,32,97,114,101,97,115,32,98,101,102,111,114,101,32,114,101,109,111,118,97,108,32,111,102,32,115,117,99,104,32,97,114,101,97,115,32,102,114,111,109,32,116,104,101,32,115,121,115,116,101,109,46>>]}]}]},{p,[],[<<69,97,99,104,32,111,102,32,116,104,101,115,101,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,97,108,108,111,119,101,100,32,116,111,32,104,97,118,101,32,97,115,32,109,97,110,121,32,111,117,116,115,116,97,110,100,105,110,103,32,114,101,113,117,101,115,116,115,32,97,115,32,116,104,105,115,32,108,105,109,105,116,32,105,115,32,115,101,116,32,116,111,46,32,66,121,32,100,101,102,97,117,108,116,32,116,104,105,115,32,108,105,109,105,116,32,105,115,32,115,101,116,32,116,111,32,116,119,105,99,101,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<115,99,104,101,100,117,108,101,114,115>>]},<<32,111,110,32,116,104,101,32,115,121,115,116,101,109,46,32,84,104,105,115,32,119,105,108,108,32,101,110,115,117,114,101,32,116,104,97,116,32,115,99,104,101,100,117,108,101,114,115,32,119,105,108,108,32,104,97,118,101,32,101,110,111,117,103,104,32,119,111,114,107,32,115,99,104,101,100,117,108,101,100,32,116,111,32,112,101,114,102,111,114,109,32,116,104,101,115,101,32,111,112,101,114,97,116,105,111,110,115,32,97,115,32,113,117,105,99,107,108,121,32,97,115,32,112,111,115,115,105,98,108,101,32,97,116,32,116,104,101,32,115,97,109,101,32,116,105,109,101,32,97,115,32,111,116,104,101,114,32,119,111,114,107,32,119,105,108,108,32,98,101,32,105,110,116,101,114,108,101,97,118,101,100,32,119,105,116,104,32,116,104,105,115,32,119,111,114,107,46,32,67,117,114,114,101,110,116,108,121,32,117,115,101,100,32,108,105,109,105,116,32,99,97,110,32,98,101,32,99,104,101,99,107,101,100,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,111,117,116,115,116,97,110,100,105,110,103,95,115,121,115,116,101,109,95,114,101,113,117,101,115,116,115,95,108,105,109,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,111,117,116,115,116,97,110,100,105,110,103,95,115,121,115,116,101,109,95,114,101,113,117,101,115,116,115,95,108,105,109,105,116,41>>]}]},<<46>>]},{p,[],[<<84,104,105,115,32,108,105,109,105,116,32,99,97,110,32,97,108,115,111,32,98,101,32,115,101,116,32,98,121,32,112,97,115,115,105,110,103,32,116,104,101,32,99,111,109,109,97,110,100,32,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,122,111,115,114,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,122,111,115,114,108,32,60,76,105,109,105,116,62>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108>>]},<<46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2937,25},bounded_fun,[{type,{2937,25},'fun',[{type,{2937,25},product,[{atom,{2937,26},outstanding_system_requests_limit},{var,{2937,61},'NewLimit'}]},{var,{2938,11},'OldLimit'}]},[{type,{2939,7},constraint,[{atom,{2939,7},is_subtype},[{var,{2939,7},'NewLimit'},{type,{2939,19},range,[{integer,{2939,19},1},{integer,{2939,22},134217727}]}]]},{type,{2940,7},constraint,[{atom,{2940,7},is_subtype},[{var,{2940,7},'OldLimit'},{type,{2940,19},range,[{integer,{2940,19},1},{integer,{2940,22},134217727}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,54,54,54>>,since => <<79,84,80,32,50,52,46,50>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101>>}],[]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[{em,[],[<<84,104,105,115,32,97,114,103,117,109,101,110,116,32,105,115,32,100,101,112,114,101,99,97,116,101,100,46>>]},<<32,73,110,115,116,101,97,100,32,111,102,32,117,115,105,110,103,32,116,104,105,115,32,97,114,103,117,109,101,110,116,44,32,117,115,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46,32,87,104,101,110,32,116,104,105,115,32,97,114,103,117,109,101,110,116,32,105,115,32,114,101,109,111,118,101,100,44,32,97,32,102,105,110,97,108,32,115,99,104,101,100,117,108,101,114,32,98,105,110,100,32,116,121,112,101,32,116,111,32,117,115,101,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,97,116,32,101,109,117,108,97,116,111,114,32,98,111,111,116,32,116,105,109,101,46>>]}]},{p,[],[<<67,111,110,116,114,111,108,115,32,105,102,32,97,110,100,32,104,111,119,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,98,111,117,110,100,32,116,111,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46>>]},{p,[],[<<87,104,101,110,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101,44,32,72,111,119,41>>]},<<32,105,115,32,99,97,108,108,101,100,44,32,97,110,32,97,115,121,110,99,104,114,111,110,111,117,115,32,115,105,103,110,97,108,32,105,115,32,115,101,110,116,32,116,111,32,97,108,108,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,44,32,99,97,117,115,105,110,103,32,116,104,101,109,32,116,111,32,116,114,121,32,116,111,32,98,105,110,100,32,111,114,32,117,110,98,105,110,100,32,97,115,32,114,101,113,117,101,115,116,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,102,32,97,32,115,99,104,101,100,117,108,101,114,32,102,97,105,108,115,32,116,111,32,98,105,110,100,44,32,116,104,105,115,32,105,115,32,111,102,116,101,110,32,115,105,108,101,110,116,108,121,32,105,103,110,111,114,101,100,44,32,97,115,32,105,116,32,105,115,32,110,111,116,32,97,108,119,97,121,115,32,112,111,115,115,105,98,108,101,32,116,111,32,118,101,114,105,102,121,32,118,97,108,105,100,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,32,105,100,101,110,116,105,102,105,101,114,115,46,32,73,102,32,97,110,32,101,114,114,111,114,32,105,115,32,114,101,112,111,114,116,101,100,44,32,97,110,32,101,114,114,111,114,32,101,118,101,110,116,32,105,115,32,108,111,103,103,101,100,46,32,84,111,32,118,101,114,105,102,121,32,116,104,97,116,32,116,104,101,32,115,99,104,101,100,117,108,101,114,115,32,104,97,118,101,32,98,111,117,110,100,32,97,115,32,114,101,113,117,101,115,116,101,100,44,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115,41>>]}]},<<46>>]}]},{p,[],[<<83,99,104,101,100,117,108,101,114,115,32,99,97,110,32,98,101,32,98,111,117,110,100,32,111,110,32,110,101,119,101,114,32,76,105,110,117,120,44,32,83,111,108,97,114,105,115,44,32,70,114,101,101,66,83,68,44,32,97,110,100,32,87,105,110,100,111,119,115,32,115,121,115,116,101,109,115,44,32,98,117,116,32,109,111,114,101,32,115,121,115,116,101,109,115,32,119,105,108,108,32,98,101,32,115,117,112,112,111,114,116,101,100,32,105,110,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,115,46>>]},{p,[],[<<73,110,32,111,114,100,101,114,32,102,111,114,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,116,111,32,98,101,32,97,98,108,101,32,116,111,32,98,105,110,100,32,115,99,104,101,100,117,108,101,114,115,44,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,109,117,115,116,32,98,101,32,107,110,111,119,110,46,32,73,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,102,97,105,108,115,32,116,111,32,100,101,116,101,99,116,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,97,117,116,111,109,97,116,105,99,97,108,108,121,44,32,105,116,32,99,97,110,32,98,101,32,100,101,102,105,110,101,100,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,104,111,119,32,116,111,32,100,101,102,105,110,101,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,44,32,115,101,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,99,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<84,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,100,111,101,115,32,98,121,32,100,101,102,97,117,108,116,32>>,{em,[],[<<110,111,116>>]},<<32,98,105,110,100,32,115,99,104,101,100,117,108,101,114,115,32,116,111,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,102,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,115,32,116,104,101,32,111,110,108,121,32,79,83,32,112,114,111,99,101,115,115,32,98,105,110,100,105,110,103,32,116,104,114,101,97,100,115,32,116,111,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,44,32,116,104,105,115,32,105,109,112,114,111,118,101,115,32,116,104,101,32,112,101,114,102,111,114,109,97,110,99,101,32,111,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,72,111,119,101,118,101,114,44,32,105,102,32,111,116,104,101,114,32,79,83,32,112,114,111,99,101,115,115,101,115,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,97,110,111,116,104,101,114,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,41,32,97,108,115,111,32,98,105,110,100,32,116,104,114,101,97,100,115,32,116,111,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,44,32,116,104,101,114,101,32,99,97,110,32,98,101,32,97,32,112,101,114,102,111,114,109,97,110,99,101,32,112,101,110,97,108,116,121,32,105,110,115,116,101,97,100,46,32,83,111,109,101,116,105,109,101,115,32,116,104,105,115,32,112,101,114,102,111,114,109,97,110,99,101,32,112,101,110,97,108,116,121,32,99,97,110,32,98,101,32,115,101,118,101,114,101,46,32,73,102,32,115,111,44,32,105,116,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,110,111,116,32,98,105,110,100,32,116,104,101,32,115,99,104,101,100,117,108,101,114,115,46>>]}]},{p,[],[<<83,99,104,101,100,117,108,101,114,115,32,99,97,110,32,98,101,32,98,111,117,110,100,32,105,110,32,100,105,102,102,101,114,101,110,116,32,119,97,121,115,46,32,65,114,103,117,109,101,110,116,32>>,{code,[],[<<72,111,119>>]},<<32,100,101,116,101,114,109,105,110,101,115,32,104,111,119,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,98,111,117,110,100,32,97,110,100,32,99,97,110,32,98,101,32,97,110,121,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<117,110,98,111,117,110,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,117>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<110,111,95,115,112,114,101,97,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,110,115>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<116,104,114,101,97,100,95,115,112,114,101,97,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,116,115>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<112,114,111,99,101,115,115,111,114,95,115,112,114,101,97,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,112,115>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<115,112,114,101,97,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,115>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<110,111,95,110,111,100,101,95,116,104,114,101,97,100,95,115,112,114,101,97,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,110,110,116,115>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<110,111,95,110,111,100,101,95,112,114,111,99,101,115,115,111,114,95,115,112,114,101,97,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,110,110,112,115>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<116,104,114,101,97,100,95,110,111,95,110,111,100,101,95,112,114,111,99,101,115,115,111,114,95,115,112,114,101,97,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,116,110,110,112,115>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{dt,[],[{code,[],[<<100,101,102,97,117,108,116,95,98,105,110,100>>]}]},{dd,[],[<<83,97,109,101,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116,32,100,98>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,101,113,117,97,108,115,32>>,{code,[],[<<72,111,119>>]},<<32,98,101,102,111,114,101,32,102,108,97,103,32>>,{code,[],[<<115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101>>]},<<32,119,97,115,32,99,104,97,110,103,101,100,46>>]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<110,111,116,115,117,112>>]}]},{dd,[],[<<73,102,32,98,105,110,100,105,110,103,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<72,111,119>>]},<<32,105,115,32,110,111,116,32,111,110,101,32,111,102,32,116,104,101,32,100,111,99,117,109,101,110,116,101,100,32,97,108,116,101,114,110,97,116,105,118,101,115,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32,67,80,85,32,116,111,112,111,108,111,103,121,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,46>>]}]},{p,[],[<<84,104,101,32,115,99,104,101,100,117,108,101,114,32,98,105,110,100,32,116,121,112,101,32,99,97,110,32,97,108,115,111,32,98,101,32,115,101,116,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115,41>>]}]},<<44,32,97,115,32,119,101,108,108,32,97,115,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,99,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2941,25},bounded_fun,[{type,{2941,25},'fun',[{type,{2941,25},product,[{atom,{2941,26},scheduler_bind_type},{var,{2941,47},'How'}]},{var,{2941,55},'OldBindType'}]},[{type,{2942,7},constraint,[{atom,{2942,7},is_subtype},[{var,{2942,7},'How'},{type,{2942,14},union,[{user_type,{2942,14},scheduler_bind_type,[]},{atom,{2942,38},default_bind}]}]]},{type,{2943,7},constraint,[{atom,{2943,7},is_subtype},[{var,{2943,7},'OldBindType'},{user_type,{2943,22},scheduler_bind_type,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,55,49,48>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<84,114,121,32,101,110,97,98,108,101,32,111,114,32,100,105,115,97,98,108,101,32,115,99,104,101,100,117,108,101,114,32,119,97,108,108,32,116,105,109,101,32,109,101,97,115,117,114,101,109,101,110,116,115,32,98,121,32,112,97,115,115,105,110,103,32>>,{code,[],[<<66,111,111,108,101,97,110>>]},<<32,97,115,32,101,105,116,104,101,114,32>>,{code,[],[<<116,114,117,101>>]},<<32,111,114,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,104,111,119,32,116,111,32,117,115,101,32,115,99,104,101,100,117,108,101,114,32,119,97,108,108,32,116,105,109,101,32,109,101,97,115,117,114,101,109,101,110,116,115,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,97,116,105,115,116,105,99,115,95,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,116,105,115,116,105,99,115,40,115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101,41>>]}]},<<46>>]},{p,[],[<<83,99,104,101,100,117,108,101,114,32,119,97,108,108,32,116,105,109,101,32,109,101,97,115,117,114,101,109,101,110,116,115,32,104,97,115,32,97,32,110,111,100,101,32,103,108,111,98,97,108,32,115,116,97,116,101,46,32,73,116,32,105,115,32,101,105,116,104,101,114,32,101,110,97,98,108,101,100,32,102,111,114,32,97,108,108,32,112,114,111,99,101,115,115,101,115,32,111,110,32,116,104,101,32,110,111,100,101,32,111,114,32,100,105,115,97,98,108,101,100,32,102,111,114,32,97,108,108,32,112,114,111,99,101,115,115,101,115,46,32,69,97,99,104,32,112,114,111,99,101,115,115,32,104,97,115,32,97,32,108,111,103,105,99,97,108,32,99,111,117,110,116,101,114,32,105,110,105,116,105,97,108,105,122,101,100,32,97,115,32,122,101,114,111,46,32,65,32,99,97,108,108,32,119,105,116,104,32>>,{code,[],[<<66,111,111,108,101,97,110>>]},<<32,97,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,119,105,108,108,32,105,110,99,114,101,97,115,101,32,116,104,97,116,32,99,111,117,110,116,101,114,32,111,110,101,32,115,116,101,112,32,102,111,114,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,65,32,99,97,108,108,32,119,105,116,104,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,119,105,108,108,32,100,101,99,114,101,97,115,101,32,105,116,32,111,110,101,32,115,116,101,112,32,117,110,108,101,115,115,32,105,116,32,97,108,114,101,97,100,121,32,105,115,32,122,101,114,111,46,32,84,104,101,32,110,111,100,101,32,103,108,111,98,97,108,32,115,116,97,116,101,32,102,111,114,32>>,{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]},<<32,119,105,108,108,32,98,101,32,101,110,97,98,108,101,100,32,97,115,32,108,111,110,103,32,97,115,32,116,104,101,114,101,32,105,115,32,97,116,32,108,101,97,115,116,32,111,110,101,32,112,114,111,99,101,115,115,32,97,108,105,118,101,32,119,105,116,104,32,97,32,99,111,117,110,116,101,114,32,118,97,108,117,101,32,108,97,114,103,101,114,32,116,104,97,110,32,122,101,114,111,46,32,87,104,101,110,32,97,32,112,114,111,99,101,115,115,32,116,101,114,109,105,110,97,116,101,115,44,32,105,116,115,32,99,111,117,110,116,101,114,32,119,105,108,108,32,97,108,115,111,32,100,105,115,97,112,112,101,97,114,46,32,84,111,32,101,110,115,117,114,101,32>>,{code,[],[<<115,99,104,101,100,117,108,101,114,95,119,97,108,108,95,116,105,109,101>>]},<<32,105,115,32,107,101,112,116,32,101,110,97,98,108,101,100,44,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,101,110,97,98,108,101,100,32,105,116,32,109,117,115,116,32,116,104,101,114,101,102,111,114,101,32,98,101,32,107,101,112,116,32,97,108,105,118,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,110,111,100,101,32,103,108,111,98,97,108,32,115,116,97,116,101,44,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,115,99,104,101,100,117,108,101,114,32,119,97,108,108,32,116,105,109,101,32,109,101,97,115,117,114,101,109,101,110,116,115,32,119,101,114,101,32,101,110,97,98,108,101,100,44,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,105,116,32,119,101,114,101,32,100,105,115,97,98,108,101,100,46>>]},{p,[],[<<83,99,104,101,100,117,108,101,114,32,119,97,108,108,32,116,105,109,101,32,109,101,97,115,117,114,101,109,101,110,116,115,32,100,111,32,99,111,110,115,117,109,101,32,115,111,109,101,32,99,112,117,32,111,118,101,114,104,101,97,100,32,97,110,100,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,102,116,32,116,117,114,110,101,100,32,111,110,32,117,110,108,101,115,115,32,117,115,101,100,46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2944,25},bounded_fun,[{type,{2944,25},'fun',[{type,{2944,25},product,[{atom,{2944,26},scheduler_wall_time},{var,{2944,47},'Boolean'}]},{var,{2944,60},'OldBoolean'}]},[{type,{2945,7},constraint,[{atom,{2945,7},is_subtype},[{var,{2945,7},'Boolean'},{type,{2945,18},boolean,[]}]]},{type,{2946,7},constraint,[{atom,{2946,7},is_subtype},[{var,{2946,7},'OldBoolean'},{type,{2946,21},boolean,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,56,51,55>>,since => <<79,84,80,32,82,49,53,66,48,49>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46,32,82,97,110,103,101,32,105,115,32>>,{code,[],[<<49,32,60,61,32,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,32,60,61,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]},{p,[],[<<73,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,119,97,115,32,98,117,105,108,116,32,119,105,116,104,32,115,117,112,112,111,114,116,32,102,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115>>]},<<44,32,99,104,97,110,103,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,99,97,110,32,97,108,115,111,32,99,104,97,110,103,101,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32,49,50,32,115,99,104,101,100,117,108,101,114,115,32,97,110,100,32,54,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,111,110,108,105,110,101,44,32,97,110,100,32>>,{code,[],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>]},<<32,105,115,32,117,115,101,100,32,116,111,32,115,101,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,116,111,32,54,44,32,116,104,101,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,99,114,101,97,115,101,100,32,98,121,32,104,97,108,102,32,97,115,32,119,101,108,108,44,32,100,111,119,110,32,116,111,32,51,46,32,83,105,109,105,108,97,114,108,121,44,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,105,110,99,114,101,97,115,101,115,32,112,114,111,112,111,114,116,105,111,110,97,108,108,121,32,116,111,32,105,110,99,114,101,97,115,101,115,32,105,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2947,25},bounded_fun,[{type,{2947,25},'fun',[{type,{2947,25},product,[{atom,{2947,26},schedulers_online},{var,{2947,45},'SchedulersOnline'}]},{var,{2948,33},'OldSchedulersOnline'}]},[{type,{2949,7},constraint,[{atom,{2949,7},is_subtype},[{var,{2949,7},'SchedulersOnline'},{type,{2949,27},pos_integer,[]}]]},{type,{2950,7},constraint,[{atom,{2950,7},is_subtype},[{var,{2950,7},'OldSchedulersOnline'},{type,{2950,30},pos_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,56,55,54>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,119,105,108,108,32,114,101,99,101,105,118,101,32,116,104,101,32,108,111,103,103,105,110,103,32,109,101,115,115,97,103,101,115,32,103,101,110,101,114,97,116,101,100,32,98,121,32,69,82,84,83,46,32,73,102,32,115,101,116,32,116,111,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<44,32,97,108,108,32,108,111,103,103,105,110,103,32,109,101,115,115,97,103,101,115,32,103,101,110,101,114,97,116,101,100,32,98,121,32,69,82,84,83,32,119,105,108,108,32,98,101,32,100,114,111,112,112,101,100,46,32,84,104,101,32,109,101,115,115,97,103,101,115,32,119,105,108,108,32,98,101,32,105,110,32,116,104,101,32,102,111,114,109,97,116,58>>]},{pre,[],[{code,[],[<<123,108,111,103,44,76,101,118,101,108,44,70,111,114,109,97,116,44,65,114,103,76,105,115,116,44,77,101,116,97,100,97,116,97,125,32,119,104,101,114,101,10,10,76,101,118,101,108,32,61,32,97,116,111,109,40,41,44,10,70,111,114,109,97,116,32,61,32,115,116,114,105,110,103,40,41,44,10,65,114,103,76,105,115,116,32,61,32,108,105,115,116,40,116,101,114,109,40,41,41,44,10,77,101,116,97,100,97,116,97,32,61,32,35,123,32,112,105,100,32,61,62,32,112,105,100,40,41,44,10,32,32,32,103,114,111,117,112,95,108,101,97,100,101,114,32,61,62,32,112,105,100,40,41,44,10,32,32,32,116,105,109,101,32,58,61,32,108,111,103,103,101,114,58,116,105,109,101,115,116,97,109,112,40,41,44,10,32,32,32,101,114,114,111,114,95,108,111,103,103,101,114,32,58,61,32,35,123,32,101,109,117,108,97,116,111,114,32,58,61,32,116,114,117,101,44,32,116,97,103,32,58,61,32,97,116,111,109,40,41,32,125,10,32,32,32,32,32,32,32,32>>]}]},{p,[],[<<73,102,32,116,104,101,32>>,{code,[],[<<115,121,115,116,101,109,95,108,111,103,103,101,114>>]},<<32,112,114,111,99,101,115,115,32,100,105,101,115,44,32,116,104,105,115,32,102,108,97,103,32,119,105,108,108,32,98,101,32,114,101,115,101,116,32,116,111,32>>,{code,[],[<<108,111,103,103,101,114>>]},<<46>>]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,110,97,109,101,100,32>>,{code,[],[<<108,111,103,103,101,114>>]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,100,101,115,105,103,110,101,100,32,116,111,32,98,101,32,117,115,101,100,32,98,121,32,116,104,101,32,75,69,82,78,69,76,32>>,{a,[{href,<<107,101,114,110,101,108,58,108,111,103,103,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<108,111,103,103,101,114>>]}]},<<46,32,66,101,32,99,97,114,101,102,117,108,32,105,102,32,121,111,117,32,99,104,97,110,103,101,32,105,116,32,116,111,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,97,115,32,108,111,103,32,109,101,115,115,97,103,101,115,32,109,97,121,32,98,101,32,108,111,115,116,46,32,73,102,32,121,111,117,32,119,97,110,116,32,116,111,32,105,110,116,101,114,99,101,112,116,32,101,109,117,108,97,116,111,114,32,108,111,103,32,109,101,115,115,97,103,101,115,44,32,100,111,32,105,116,32,98,121,32,97,100,100,105,110,103,32,97,32,115,112,101,99,105,97,108,105,122,101,100,32,104,97,110,100,108,101,114,32,116,111,32,116,104,101,32,75,69,82,78,69,76,32,108,111,103,103,101,114,46>>]}]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2951,25},bounded_fun,[{type,{2951,25},'fun',[{type,{2951,25},product,[{atom,{2951,26},system_logger},{var,{2951,41},'Logger'}]},{var,{2951,52},'PrevLogger'}]},[{type,{2952,7},constraint,[{atom,{2952,7},is_subtype},[{var,{2952,7},'Logger'},{type,{2952,17},union,[{atom,{2952,17},logger},{atom,{2952,26},undefined},{type,{2952,38},pid,[]}]}]]},{type,{2953,7},constraint,[{atom,{2953,7},is_subtype},[{var,{2953,7},'PrevLogger'},{type,{2953,21},union,[{atom,{2953,21},logger},{atom,{2953,30},undefined},{type,{2953,42},pid,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,57,48,53>>,since => <<79,84,80,32,50,49,46,51>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,110,111,100,101,32,116,114,97,99,101,32,99,111,110,116,114,111,108,32,119,111,114,100,32,116,111,32>>,{code,[],[<<84,67,87>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,111,32,98,101,32,97,110,32,117,110,115,105,103,110,101,100,32,105,110,116,101,103,101,114,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,102,117,110,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,109,97,116,99,104,95,115,112,101,99,35,115,101,116,95,116,99,119>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<115,101,116,95,116,99,119>>]}]},<<32,105,110,32,115,101,99,116,105,111,110,32,34,77,97,116,99,104,32,83,112,101,99,105,102,105,99,97,116,105,111,110,115,32,105,110,32,69,114,108,97,110,103,34,32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,108,97,103,46>>]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2954,25},bounded_fun,[{type,{2954,25},'fun',[{type,{2954,25},product,[{atom,{2954,26},trace_control_word},{var,{2954,46},'TCW'}]},{var,{2954,54},'OldTCW'}]},[{type,{2955,7},constraint,[{atom,{2955,7},is_subtype},[{var,{2955,7},'TCW'},{type,{2955,14},non_neg_integer,[]}]]},{type,{2956,7},constraint,[{atom,{2956,7},is_subtype},[{var,{2956,7},'OldTCW'},{type,{2956,17},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,57,51,55>>}},{{function,system_flag,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2904}],[<<115,121,115,116,101,109,95,102,108,97,103,47,50>>],#{<<101,110>> => [{p,[],[<<70,105,110,97,108,105,122,101,115,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,105,109,101,95,111,102,102,115,101,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<116,105,109,101,32,111,102,102,115,101,116>>]},<<32,119,104,101,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,83,105,110,103,108,101,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46,32,73,102,32,97,110,111,116,104,101,114,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101,32,105,115,32,117,115,101,100,44,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,115,116,97,116,101,32,105,115,32,108,101,102,116,32,117,110,99,104,97,110,103,101,100,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,111,108,100,32,115,116,97,116,101,32,105,100,101,110,116,105,102,105,101,114,44,32,116,104,97,116,32,105,115,58>>]},{ul,[],[{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<112,114,101,108,105,109,105,110,97,114,121>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,102,105,110,97,108,105,122,97,116,105,111,110,32,119,97,115,32,112,101,114,102,111,114,109,101,100,32,97,110,100,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,110,111,119,32,102,105,110,97,108,46>>]}]},{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<102,105,110,97,108>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,119,97,115,32,97,108,114,101,97,100,121,32,105,110,32,116,104,101,32,102,105,110,97,108,32,115,116,97,116,101,46,32,84,104,105,115,32,101,105,116,104,101,114,32,98,101,99,97,117,115,101,32,97,110,111,116,104,101,114,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,116,105,109,101,95,111,102,102,115,101,116,44,32,102,105,110,97,108,105,122,101,41>>]},<<32,99,97,108,108,32,111,114,32,98,101,99,97,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,78,111,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<110,111,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46>>]}]},{li,[],[{p,[],[<<73,102,32>>,{code,[],[<<118,111,108,97,116,105,108,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,99,97,110,110,111,116,32,98,101,32,102,105,110,97,108,105,122,101,100,32,98,101,99,97,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,77,117,108,116,105,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<109,117,108,116,105,45,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46>>]}]}]}]},#{signature => [{attribute,{2904,2},spec,{{erlang,system_flag,2},[{type,{2957,4},bounded_fun,[{type,{2957,4},'fun',[{type,{2957,4},product,[{atom,{2957,5},time_offset},{atom,{2957,18},finalize}]},{var,{2957,31},'OldState'}]},[{type,{2958,7},constraint,[{atom,{2958,7},is_subtype},[{var,{2958,7},'OldState'},{type,{2958,19},union,[{atom,{2958,19},preliminary},{atom,{2958,33},final},{atom,{2958,41},volatile}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,57,53,49>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3074}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,46,32,84,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,98,114,111,107,101,110,32,105,110,116,111,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,101,99,116,105,111,110,115,32,105,110,32,111,114,100,101,114,32,116,111,32,109,97,107,101,32,105,116,32,101,97,115,105,101,114,32,116,111,32,110,97,118,105,103,97,116,101,46>>]},{dl,[],[{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<77,101,109,111,114,121,32,65,108,108,111,99,97,116,105,111,110>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,101,100,95,97,114,101,97,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,108,108,111,99,97,116,101,100,95,97,114,101,97,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,108,108,111,99,97,116,111,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,95,117,116,105,108,95,97,108,108,111,99,97,116,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,108,108,111,99,95,117,116,105,108,95,97,108,108,111,99,97,116,111,114,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114,95,115,105,122,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,108,108,111,99,97,116,111,114,95,115,105,122,101,115>>]}]}]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<67,80,85,32,84,111,112,111,108,111,103,121>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,112,117,95,116,111,112,111,108,111,103,121>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,117,112,100,97,116,101,95,99,112,117,95,105,110,102,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,112,117,95,113,117,111,116,97>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,117,112,100,97,116,101,95,99,112,117,95,105,110,102,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<117,112,100,97,116,101,95,99,112,117,95,105,110,102,111>>]}]}]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,101,115,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<80,114,111,99,101,115,115,32,73,110,102,111,114,109,97,116,105,111,110>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,104,101,97,112,95,115,105,122,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<104,101,97,112,95,115,105,122,101,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,104,101,97,112,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<104,101,97,112,95,116,121,112,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,105,110,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,105,110,95,104,101,97,112,95,115,105,122,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,115>>]}]}]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,105,109,105,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<83,121,115,116,101,109,32,76,105,109,105,116,115>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,116,111,109,95,99,111,117,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,116,111,109,95,99,111,117,110,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,116,111,109,95,108,105,109,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,116,111,109,95,108,105,109,105,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,116,115,95,99,111,117,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,116,115,95,99,111,117,110,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,116,115,95,108,105,109,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,116,115,95,108,105,109,105,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,112,111,114,116,95,99,111,117,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,111,114,116,95,99,111,117,110,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,112,111,114,116,95,108,105,109,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,111,114,116,95,108,105,109,105,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,101,115,115,95,99,111,117,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,99,111,117,110,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,101,115,115,95,108,105,109,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,108,105,109,105,116>>]}]}]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<83,121,115,116,101,109,32,84,105,109,101>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,110,100,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,110,100,95,116,105,109,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,111,115,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,95,115,111,117,114,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,115,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,95,115,111,117,114,99,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,111,115,95,115,121,115,116,101,109,95,116,105,109,101,95,115,111,117,114,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,115,95,115,121,115,116,101,109,95,116,105,109,101,95,115,111,117,114,99,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,116,97,114,116,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,116,97,114,116,95,116,105,109,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,105,109,101,95,99,111,114,114,101,99,116,105,111,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,111,102,102,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,105,109,101,95,111,102,102,115,101,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,119,97,114,112,95,109,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,105,109,101,95,119,97,114,112,95,109,111,100,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,111,108,101,114,97,110,116,95,116,105,109,101,111,102,100,97,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,111,108,101,114,97,110,116,95,116,105,109,101,111,102,100,97,121>>]}]}]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<83,99,104,101,100,117,108,101,114,32,73,110,102,111,114,109,97,116,105,111,110>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,105,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,99,104,101,100,117,108,101,114,95,105,100>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,99,104,101,100,117,108,101,114,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,109,112,95,115,117,112,112,111,114,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,109,112,95,115,117,112,112,111,114,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,104,114,101,97,100,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,104,114,101,97,100,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101>>]}]}]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<68,105,115,116,114,105,98,117,116,105,111,110,32,73,110,102,111,114,109,97,116,105,111,110>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,115,121,110,99,95,100,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,114,101,97,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,114,101,97,116,105,111,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,101,108,97,121,101,100,95,110,111,100,101,95,116,97,98,108,101,95,103,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,101,108,97,121,101,100,95,110,111,100,101,95,116,97,98,108,101,95,103,99>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,115,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116,95,98,117,102,95,98,117,115,121,95,108,105,109,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,115,116,95,98,117,102,95,98,117,115,121,95,108,105,109,105,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116,95,99,116,114,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,115,116,95,99,116,114,108>>]}]}]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,105,115,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<83,121,115,116,101,109,32,73,110,102,111,114,109,97,116,105,111,110>>]}]}]},{dd,[],[{p,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,95,99,111,109,112,105,108,101,114,95,117,115,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,95,99,111,109,112,105,108,101,114,95,117,115,101,100>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,104,101,99,107,95,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,104,101,99,107,95,105,111>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,111,109,112,97,116,95,114,101,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,111,109,112,97,116,95,114,101,108>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,101,98,117,103,95,99,111,109,112,105,108,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,101,98,117,103,95,99,111,109,112,105,108,101,100>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,114,105,118,101,114,95,118,101,114,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,114,105,118,101,114,95,118,101,114,115,105,111,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,121,110,97,109,105,99,95,116,114,97,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,121,110,97,109,105,99,95,116,114,97,99,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,121,110,97,109,105,99,95,116,114,97,99,101,95,112,114,111,98,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,121,110,97,109,105,99,95,116,114,97,99,101,95,112,114,111,98,101,115>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,109,117,95,102,108,97,118,111,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,109,117,95,102,108,97,118,111,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,109,117,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,109,117,95,116,121,112,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,105,110,102,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,110,102,111>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,107,101,114,110,101,108,95,112,111,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<107,101,114,110,101,108,95,112,111,108,108>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,97,100,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<108,111,97,100,101,100>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,97,99,104,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,97,99,104,105,110,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,111,100,105,102,105,101,100,95,116,105,109,105,110,103,95,108,101,118,101,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,111,100,105,102,105,101,100,95,116,105,109,105,110,103,95,108,101,118,101,108>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,110,105,102,95,118,101,114,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<110,105,102,95,118,101,114,115,105,111,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,111,116,112,95,114,101,108,101,97,115,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,116,112,95,114,101,108,101,97,115,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,111,117,116,115,116,97,110,100,105,110,103,95,115,121,115,116,101,109,95,114,101,113,117,101,115,116,115,95,108,105,109,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,117,116,115,116,97,110,100,105,110,103,95,115,121,115,116,101,109,95,114,101,113,117,101,115,116,115,95,108,105,109,105,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,121,115,116,101,109,95,97,114,99,104,105,116,101,99,116,117,114,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,121,115,116,101,109,95,97,114,99,104,105,116,101,99,116,117,114,101>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,121,115,116,101,109,95,108,111,103,103,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,121,115,116,101,109,95,108,111,103,103,101,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,121,115,116,101,109,95,118,101,114,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,121,115,116,101,109,95,118,101,114,115,105,111,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,114,97,99,101,95,99,111,110,116,114,111,108,95,119,111,114,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,114,97,99,101,95,99,111,110,116,114,111,108,95,119,111,114,100>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,118,101,114,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<118,101,114,115,105,111,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,119,111,114,100,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<119,111,114,100,115,105,122,101>>]}]}]}]}]}]},#{signature => [{attribute,{3074,2},spec,{{erlang,system_info,1},[{type,{3180,10},'fun',[{type,{3180,10},product,[{atom,{3180,11},sequential_tracer}]},{type,{3180,33},tuple,[{atom,{3180,34},sequential_tracer},{type,{3180,53},union,[{type,{3180,53},pid,[]},{type,{3180,61},port,[]},{type,{3180,70},tuple,[{type,{3180,71},module,[]},{type,{3180,80},term,[]}]},{atom,{3180,90},false}]}]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,57,57,56,49>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3074}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114,95,116,97,103,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,118,97,114,105,111,117,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,111,114,115,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,40,101,109,117,108,97,116,111,114,41,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<58>>]},{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,101,100,95,97,114,101,97,115>>}],[]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,101,100,95,97,114,101,97,115>>}],[]},{code,[],[<<97,108,108,111,99,97,116,101,100,95,97,114,101,97,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,116,117,112,108,101,115,32,119,105,116,104,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,109,105,115,99,101,108,108,97,110,101,111,117,115,32,97,108,108,111,99,97,116,101,100,32,109,101,109,111,114,121,32,97,114,101,97,115,46>>]},{p,[],[<<69,97,99,104,32,116,117,112,108,101,32,99,111,110,116,97,105,110,115,32,97,110,32,97,116,111,109,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,116,121,112,101,32,111,102,32,109,101,109,111,114,121,32,97,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,97,110,100,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,97,108,108,111,99,97,116,101,100,32,109,101,109,111,114,121,32,105,110,32,98,121,116,101,115,32,97,115,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,46,32,87,104,101,110,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,108,108,111,99,97,116,101,100,32,97,110,100,32,117,115,101,100,32,109,101,109,111,114,121,32,105,115,32,112,114,101,115,101,110,116,44,32,97,108,115,111,32,97,32,116,104,105,114,100,32,101,108,101,109,101,110,116,32,105,115,32,112,114,101,115,101,110,116,44,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,117,115,101,100,32,109,101,109,111,114,121,32,105,110,32,98,121,116,101,115,46>>]},{p,[],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,97,108,108,111,99,97,116,101,100,95,97,114,101,97,115,41>>]},<<32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,44,32,97,110,100,32,116,104,101,32,99,111,110,116,101,110,116,32,105,115,32,104,105,103,104,108,121,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,45,100,101,112,101,110,100,101,110,116,46,32,84,104,101,32,99,111,110,116,101,110,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,115,32,116,104,101,114,101,102,111,114,101,32,99,104,97,110,103,101,115,32,119,104,101,110,32,110,101,101,100,101,100,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,115,117,109,32,111,102,32,116,104,101,115,101,32,118,97,108,117,101,115,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,116,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,83,111,109,101,32,118,97,108,117,101,115,32,97,114,101,32,112,97,114,116,32,111,102,32,111,116,104,101,114,32,118,97,108,117,101,115,44,32,97,110,100,32,115,111,109,101,32,109,101,109,111,114,121,32,97,114,101,97,115,32,97,114,101,32,110,111,116,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,115,117,108,116,46,32,70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,101,109,111,114,121,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,109,101,109,111,114,121,47,48,44,49>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114>>}],[]},{code,[],[<<97,108,108,111,99,97,116,111,114>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,65,108,108,111,99,97,116,111,114,44,32,86,101,114,115,105,111,110,44,32,70,101,97,116,117,114,101,115,44,32,83,101,116,116,105,110,103,115>>]},<<44,32,119,104,101,114,101,58>>]},{ul,[],[{li,[],[{p,[],[{code,[],[<<65,108,108,111,99,97,116,111,114>>]},<<32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32>>,{code,[],[<<109,97,108,108,111,99,40,41>>]},<<32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,117,115,101,100,46,32,73,102,32>>,{code,[],[<<65,108,108,111,99,97,116,111,114>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<44,32,116,104,101,32>>,{code,[],[<<109,97,108,108,111,99,40,41>>]},<<32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,117,115,101,100,32,99,97,110,110,111,116,32,98,101,32,105,100,101,110,116,105,102,105,101,100,46,32>>,{code,[],[<<103,108,105,98,99>>]},<<32,99,97,110,32,98,101,32,105,100,101,110,116,105,102,105,101,100,46>>]}]},{li,[],[{p,[],[{code,[],[<<86,101,114,115,105,111,110>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,105,110,116,101,103,101,114,115,32,40,98,117,116,32,110,111,116,32,97,32,115,116,114,105,110,103,41,32,114,101,112,114,101,115,101,110,116,105,110,103,32,116,104,101,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32>>,{code,[],[<<109,97,108,108,111,99,40,41>>]},<<32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,117,115,101,100,46>>]}]},{li,[],[{p,[],[{code,[],[<<70,101,97,116,117,114,101,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,97,116,111,109,115,32,114,101,112,114,101,115,101,110,116,105,110,103,32,116,104,101,32,97,108,108,111,99,97,116,105,111,110,32,102,101,97,116,117,114,101,115,32,117,115,101,100,46>>]}]},{li,[],[{p,[],[{code,[],[<<83,101,116,116,105,110,103,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,115,117,98,115,121,115,116,101,109,115,44,32,116,104,101,105,114,32,99,111,110,102,105,103,117,114,97,98,108,101,32,112,97,114,97,109,101,116,101,114,115,44,32,97,110,100,32,117,115,101,100,32,118,97,108,117,101,115,46,32,83,101,116,116,105,110,103,115,32,99,97,110,32,100,105,102,102,101,114,32,98,101,116,119,101,101,110,32,100,105,102,102,101,114,101,110,116,32,99,111,109,98,105,110,97,116,105,111,110,115,32,111,102,32,112,108,97,116,102,111,114,109,115,44,32,97,108,108,111,99,97,116,111,114,115,44,32,97,110,100,32,97,108,108,111,99,97,116,105,111,110,32,102,101,97,116,117,114,101,115,46,32,77,101,109,111,114,121,32,115,105,122,101,115,32,97,114,101,32,103,105,118,101,110,32,105,110,32,98,121,116,101,115,46>>]}]}]},{p,[],[<<83,101,101,32,97,108,115,111,32,34,83,121,115,116,101,109,32,70,108,97,103,115,32,69,102,102,101,99,116,105,110,103,32,101,114,116,115,95,97,108,108,111,99,34,32,105,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99,35,102,108,97,103,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114,95,116,117,112,108,101>>}],[]},{code,[],[<<123,97,108,108,111,99,97,116,111,114,44,32,65,108,108,111,99,125>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,97,108,108,111,99,97,116,111,114,46,32,65,115,32,102,114,111,109,32,69,82,84,83,32,53,46,54,46,49,44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,97,32,108,105,115,116,32,111,102,32>>,{code,[],[<<123,105,110,115,116,97,110,99,101,44,32,73,110,115,116,97,110,99,101,78,111,44,32,73,110,115,116,97,110,99,101,73,110,102,111,125>>]},<<32,116,117,112,108,101,115,44,32,119,104,101,114,101,32>>,{code,[],[<<73,110,115,116,97,110,99,101,73,110,102,111>>]},<<32,99,111,110,116,97,105,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,32,115,112,101,99,105,102,105,99,32,105,110,115,116,97,110,99,101,32,111,102,32,116,104,101,32,97,108,108,111,99,97,116,111,114,46,32,73,102,32>>,{code,[],[<<65,108,108,111,99>>]},<<32,105,115,32,110,111,116,32,97,32,114,101,99,111,103,110,105,122,101,100,32,97,108,108,111,99,97,116,111,114,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,73,102,32>>,{code,[],[<<65,108,108,111,99>>]},<<32,105,115,32,100,105,115,97,98,108,101,100,44,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,114,101,116,117,114,110,101,100,32,105,115,32,104,105,103,104,108,121,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,45,100,101,112,101,110,100,101,110,116,32,97,110,100,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,111,114,32,114,101,109,111,118,101,100,32,97,116,32,97,110,121,32,116,105,109,101,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46,32,73,116,32,119,97,115,32,105,110,105,116,105,97,108,108,121,32,105,110,116,101,110,100,101,100,32,97,115,32,97,32,116,111,111,108,32,119,104,101,110,32,100,101,118,101,108,111,112,105,110,103,32,110,101,119,32,97,108,108,111,99,97,116,111,114,115,44,32,98,117,116,32,97,115,32,105,116,32,99,97,110,32,98,101,32,111,102,32,105,110,116,101,114,101,115,116,32,102,111,114,32,111,116,104,101,114,115,32,105,116,32,104,97,115,32,98,101,101,110,32,98,114,105,101,102,108,121,32,100,111,99,117,109,101,110,116,101,100,46>>]},{p,[],[<<84,104,101,32,114,101,99,111,103,110,105,122,101,100,32,97,108,108,111,99,97,116,111,114,115,32,97,114,101,32,108,105,115,116,101,100,32,105,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]}]},<<46,32,73,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,115,117,112,101,114,32,99,97,114,114,105,101,114,115,32,99,97,110,32,98,101,32,111,98,116,97,105,110,101,100,32,102,114,111,109,32,69,82,84,83,32,56,46,48,32,119,105,116,104,32>>,{code,[],[<<123,97,108,108,111,99,97,116,111,114,44,32,101,114,116,115,95,109,109,97,112,125>>]},<<32,111,114,32,102,114,111,109,32,69,82,84,83,32,53,46,49,48,46,52,59,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,32,119,104,101,110,32,99,97,108,108,105,110,103,32,119,105,116,104,32>>,{code,[],[<<123,97,108,108,111,99,97,116,111,114,44,32,109,115,101,103,95,97,108,108,111,99,125>>]},<<32,97,108,115,111,32,105,110,99,108,117,100,101,115,32,97,110,32>>,{code,[],[<<123,101,114,116,115,95,109,109,97,112,44,32,95,125>>]},<<32,116,117,112,108,101,32,97,115,32,111,110,101,32,101,108,101,109,101,110,116,32,105,110,32,116,104,101,32,108,105,115,116,46>>]},{p,[],[<<65,102,116,101,114,32,114,101,97,100,105,110,103,32,116,104,101,32>>,{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]},<<32,100,111,99,117,109,101,110,116,97,116,105,111,110,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,105,110,102,111,114,109,97,116,105,111,110,32,109,111,114,101,32,111,114,32,108,101,115,115,32,115,112,101,97,107,115,32,102,111,114,32,105,116,115,101,108,102,44,32,98,117,116,32,105,116,32,99,97,110,32,98,101,32,119,111,114,116,104,32,101,120,112,108,97,105,110,105,110,103,32,115,111,109,101,32,116,104,105,110,103,115,46,32,67,97,108,108,32,99,111,117,110,116,115,32,97,114,101,32,112,114,101,115,101,110,116,101,100,32,98,121,32,116,119,111,32,118,97,108,117,101,115,44,32,116,104,101,32,102,105,114,115,116,32,118,97,108,117,101,32,105,115,32,103,105,103,97,32,99,97,108,108,115,44,32,97,110,100,32,116,104,101,32,115,101,99,111,110,100,32,118,97,108,117,101,32,105,115,32,99,97,108,108,115,46,32>>,{code,[],[<<109,98,99,115>>]},<<32,97,110,100,32>>,{code,[],[<<115,98,99,115>>]},<<32,100,101,110,111,116,101,32,109,117,108,116,105,45,98,108,111,99,107,32,99,97,114,114,105,101,114,115,44,32,97,110,100,32,115,105,110,103,108,101,45,98,108,111,99,107,32,99,97,114,114,105,101,114,115,44,32,114,101,115,112,101,99,116,105,118,101,108,121,46,32,83,105,122,101,115,32,97,114,101,32,112,114,101,115,101,110,116,101,100,32,105,110,32,98,121,116,101,115,46,32,87,104,101,110,32,97,32,115,105,122,101,32,105,115,32,110,111,116,32,112,114,101,115,101,110,116,101,100,44,32,105,116,32,105,115,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,115,111,109,101,116,104,105,110,103,46,32,83,105,122,101,115,32,97,110,100,32,97,109,111,117,110,116,115,32,97,114,101,32,111,102,116,101,110,32,112,114,101,115,101,110,116,101,100,32,98,121,32,116,104,114,101,101,32,118,97,108,117,101,115,58>>]},{ul,[],[{li,[],[<<84,104,101,32,102,105,114,115,116,32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,118,97,108,117,101,46>>]},{li,[],[<<84,104,101,32,115,101,99,111,110,100,32,105,115,32,116,104,101,32,109,97,120,105,109,117,109,32,118,97,108,117,101,32,115,105,110,99,101,32,116,104,101,32,108,97,115,116,32,99,97,108,108,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,123,97,108,108,111,99,97,116,111,114,44,32,65,108,108,111,99,125,41>>]},<<46>>]},{li,[],[<<84,104,101,32,116,104,105,114,100,32,105,115,32,116,104,101,32,109,97,120,105,109,117,109,32,118,97,108,117,101,32,115,105,110,99,101,32,116,104,101,32,101,109,117,108,97,116,111,114,32,119,97,115,32,115,116,97,114,116,101,100,46>>]}]},{p,[],[<<73,102,32,111,110,108,121,32,111,110,101,32,118,97,108,117,101,32,105,115,32,112,114,101,115,101,110,116,44,32,105,116,32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,118,97,108,117,101,46,32>>,{code,[],[<<102,105,120,95,97,108,108,111,99>>]},<<32,109,101,109,111,114,121,32,98,108,111,99,107,32,116,121,112,101,115,32,97,114,101,32,112,114,101,115,101,110,116,101,100,32,98,121,32,116,119,111,32,118,97,108,117,101,115,46,32,84,104,101,32,102,105,114,115,116,32,118,97,108,117,101,32,105,115,32,116,104,101,32,109,101,109,111,114,121,32,112,111,111,108,32,115,105,122,101,32,97,110,100,32,116,104,101,32,115,101,99,111,110,100,32,118,97,108,117,101,32,105,115,32,116,104,101,32,117,115,101,100,32,109,101,109,111,114,121,32,115,105,122,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,95,117,116,105,108,95,97,108,108,111,99,97,116,111,114,115>>}],[]},{code,[],[<<97,108,108,111,99,95,117,116,105,108,95,97,108,108,111,99,97,116,111,114,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,116,104,101,32,110,97,109,101,115,32,111,102,32,97,108,108,32,97,108,108,111,99,97,116,111,114,115,32,117,115,105,110,103,32,116,104,101,32,69,82,84,83,32,105,110,116,101,114,110,97,108,32>>,{code,[],[<<97,108,108,111,99,95,117,116,105,108>>]},<<32,102,114,97,109,101,119,111,114,107,32,97,115,32,97,116,111,109,115,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,101,114,116,115,95,97,108,108,111,99,35,97,108,108,111,99,95,117,116,105,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[<<84,104,101,32,97,108,108,111,99,95,117,116,105,108,32,102,114,97,109,101,119,111,114,107>>]},<<32,105,110,32>>,{code,[],[<<101,114,116,115,95,97,108,108,111,99,40,51,41>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114,95,115,105,122,101,115>>}],[]},{code,[],[<<123,97,108,108,111,99,97,116,111,114,95,115,105,122,101,115,44,32,65,108,108,111,99,125>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,118,97,114,105,111,117,115,32,115,105,122,101,32,105,110,102,111,114,109,97,116,105,111,110,32,102,111,114,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,97,108,108,111,99,97,116,111,114,46,32,84,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,114,101,116,117,114,110,101,100,32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32,116,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,97,108,108,111,99,97,116,111,114,95,116,117,112,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,123,97,108,108,111,99,97,116,111,114,44,32,65,108,108,111,99,125,41>>]}]},<<46>>]}]}]}]},#{signature => [{attribute,{3074,2},spec,{{erlang,system_info,1},[{type,{3075,10},'fun',[{type,{3075,10},product,[{atom,{3075,11},allocated_areas}]},{type,{3075,31},list,[{type,{3075,33},tuple,any}]}]},{type,{3076,10},bounded_fun,[{type,{3076,10},'fun',[{type,{3076,10},product,[{atom,{3076,11},allocator}]},{type,{3077,18},tuple,[{var,{3077,19},'Allocator'},{var,{3077,30},'Version'},{var,{3077,39},'Features'},{var,{3077,49},'Settings'}]}]},[{type,{3078,7},constraint,[{atom,{3078,7},is_subtype},[{var,{3078,7},'Allocator'},{type,{3078,20},union,[{atom,{3078,20},undefined},{atom,{3078,32},glibc}]}]]},{type,{3079,7},constraint,[{atom,{3079,7},is_subtype},[{var,{3079,7},'Version'},{type,{3079,18},list,[{type,{3079,19},non_neg_integer,[]}]}]]},{type,{3080,7},constraint,[{atom,{3080,7},is_subtype},[{var,{3080,7},'Features'},{type,{3080,19},list,[{type,{3080,20},atom,[]}]}]]},{type,{3081,7},constraint,[{atom,{3081,7},is_subtype},[{var,{3081,7},'Settings'},{type,{3081,19},list,[{type,{3081,20},tuple,[{ann_type,{3081,21},[{var,{3081,21},'Subsystem'},{type,{3081,34},atom,[]}]},{type,{3082,21},list,[{type,{3082,22},tuple,[{ann_type,{3082,23},[{var,{3082,23},'Parameter'},{type,{3082,36},atom,[]}]},{ann_type,{3083,23},[{var,{3083,23},'Value'},{type,{3083,32},term,[]}]}]}]}]}]}]]}]]},{type,{3084,10},bounded_fun,[{type,{3084,10},'fun',[{type,{3084,10},product,[{type,{3084,11},tuple,[{atom,{3084,12},allocator},{var,{3084,23},'Alloc'}]}]},{type,{3084,34},list,[{var,{3084,35},'_'}]}]},[{type,{3085,7},constraint,[{atom,{3085,7},is_subtype},[{var,{3085,7},'Alloc'},{type,{3085,16},atom,[]}]]}]]},{type,{3086,10},bounded_fun,[{type,{3086,10},'fun',[{type,{3086,10},product,[{atom,{3086,11},alloc_util_allocators}]},{type,{3086,37},list,[{var,{3086,38},'Alloc'}]}]},[{type,{3087,7},constraint,[{atom,{3087,7},is_subtype},[{var,{3087,7},'Alloc'},{type,{3087,16},atom,[]}]]}]]},{type,{3088,10},bounded_fun,[{type,{3088,10},'fun',[{type,{3088,10},product,[{type,{3088,11},tuple,[{atom,{3088,12},allocator_sizes},{var,{3088,29},'Alloc'}]}]},{type,{3088,40},list,[{var,{3088,41},'_'}]}]},[{type,{3089,7},constraint,[{atom,{3089,7},is_subtype},[{var,{3089,7},'Alloc'},{type,{3089,16},atom,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,49,49,55>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3074}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<99,112,117,95,116,111,112,111,108,111,103,121>>}],[]},{li,[{name,<<99,112,117,95,116,111,112,111,108,111,103,121>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<65,108,108,32>>,{code,[],[<<76,101,118,101,108,69,110,116,114,121>>]},<<115,32,111,102,32,97,32,108,105,115,116,32,109,117,115,116,32,99,111,110,116,97,105,110,32,116,104,101,32,115,97,109,101,32>>,{code,[],[<<76,101,118,101,108,84,97,103>>]},<<44,32,101,120,99,101,112,116,32,111,110,32,116,104,101,32,116,111,112,32,108,101,118,101,108,32,119,104,101,114,101,32,98,111,116,104,32>>,{code,[],[<<110,111,100,101>>]},<<32,97,110,100,32>>,{code,[],[<<112,114,111,99,101,115,115,111,114>>]},{code,[],[<<76,101,118,101,108,84,97,103>>]},<<115,32,99,97,110,32,99,111,101,120,105,115,116,46>>]},{li,[{name,<<105,110,102,111,95,108,105,115,116>>}],[]},{li,[{name,<<105,110,102,111,95,108,105,115,116>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<84,104,101,32>>,{code,[],[<<105,110,102,111,95,108,105,115,116,40,41>>]},<<32,99,97,110,32,98,101,32,101,120,116,101,110,100,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]},{li,[{name,<<108,101,118,101,108,95,101,110,116,114,121>>}],[]},{li,[{name,<<108,101,118,101,108,95,101,110,116,114,121>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[{code,[],[<<123,76,101,118,101,108,84,97,103,44,32,83,117,98,76,101,118,101,108,125,32,61,61,32,123,76,101,118,101,108,84,97,103,44,32,91,93,44,32,83,117,98,76,101,118,101,108,125>>]}]},{li,[{name,<<108,101,118,101,108,95,116,97,103>>}],[]},{li,[{name,<<108,101,118,101,108,95,116,97,103>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<77,111,114,101,32>>,{code,[],[<<76,101,118,101,108,84,97,103>>]},<<115,32,99,97,110,32,98,101,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]},{li,[{name,<<115,117,98,95,108,101,118,101,108>>}],[]}]},{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121,95,116,97,103,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,118,97,114,105,111,117,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,40,101,109,117,108,97,116,111,114,41,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<58>>]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121>>}],[]},{code,[],[<<99,112,117,95,116,111,112,111,108,111,103,121>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<32,99,117,114,114,101,110,116,108,121,32,117,115,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,84,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,105,115,32,117,115,101,100,32,119,104,101,110,32,98,105,110,100,105,110,103,32,115,99,104,101,100,117,108,101,114,115,32,116,111,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46,32,84,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,117,115,101,100,32,105,115,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121,95,100,101,102,105,110,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,115,101,114,45,100,101,102,105,110,101,100,32,67,80,85,32,116,111,112,111,108,111,103,121>>]},<<44,32,105,102,32,115,117,99,104,32,101,120,105,115,116,115,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121,95,100,101,116,101,99,116,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,116,101,99,116,101,100,32,67,80,85,32,116,111,112,111,108,111,103,121>>]},<<44,32,105,102,32,115,117,99,104,32,101,120,105,115,116,115,46,32,73,102,32,110,111,32,67,80,85,32,116,111,112,111,108,111,103,121,32,101,120,105,115,116,115,44,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[{code,[],[<<110,111,100,101>>]},<<32,114,101,102,101,114,115,32,116,111,32,78,111,110,45,85,110,105,102,111,114,109,32,77,101,109,111,114,121,32,65,99,99,101,115,115,32,40,78,85,77,65,41,32,110,111,100,101,115,46,32>>,{code,[],[<<116,104,114,101,97,100>>]},<<32,114,101,102,101,114,115,32,116,111,32,104,97,114,100,119,97,114,101,32,116,104,114,101,97,100,115,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,73,110,116,101,108,32,104,121,112,101,114,45,116,104,114,101,97,100,115,41,46>>]},{p,[],[<<65,32,108,101,118,101,108,32,105,110,32,116,101,114,109,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<32,99,97,110,32,98,101,32,111,109,105,116,116,101,100,32,105,102,32,111,110,108,121,32,111,110,101,32,101,110,116,114,121,32,101,120,105,115,116,115,32,97,110,100,32>>,{code,[],[<<73,110,102,111,76,105,115,116>>]},<<32,105,115,32,101,109,112,116,121,46>>]},{p,[],[{code,[],[<<116,104,114,101,97,100>>]},<<32,99,97,110,32,111,110,108,121,32,98,101,32,97,32,115,117,98,108,101,118,101,108,32,116,111,32>>,{code,[],[<<99,111,114,101>>]},<<46,32>>,{code,[],[<<99,111,114,101>>]},<<32,99,97,110,32,98,101,32,97,32,115,117,98,108,101,118,101,108,32,116,111,32>>,{code,[],[<<112,114,111,99,101,115,115,111,114>>]},<<32,111,114,32>>,{code,[],[<<110,111,100,101>>]},<<46,32>>,{code,[],[<<112,114,111,99,101,115,115,111,114>>]},<<32,99,97,110,32,98,101,32,111,110,32,116,104,101,32,116,111,112,32,108,101,118,101,108,32,111,114,32,97,32,115,117,98,108,101,118,101,108,32,116,111,32>>,{code,[],[<<110,111,100,101>>]},<<46,32>>,{code,[],[<<110,111,100,101>>]},<<32,99,97,110,32,98,101,32,111,110,32,116,104,101,32,116,111,112,32,108,101,118,101,108,32,111,114,32,97,32,115,117,98,108,101,118,101,108,32,116,111,32>>,{code,[],[<<112,114,111,99,101,115,115,111,114>>]},<<46,32,84,104,97,116,32,105,115,44,32,78,85,77,65,32,110,111,100,101,115,32,99,97,110,32,98,101,32,112,114,111,99,101,115,115,111,114,32,105,110,116,101,114,110,97,108,32,111,114,32,112,114,111,99,101,115,115,111,114,32,101,120,116,101,114,110,97,108,46,32,65,32,67,80,85,32,116,111,112,111,108,111,103,121,32,99,97,110,32,99,111,110,115,105,115,116,32,111,102,32,97,32,109,105,120,32,111,102,32,112,114,111,99,101,115,115,111,114,32,105,110,116,101,114,110,97,108,32,97,110,100,32,101,120,116,101,114,110,97,108,32,78,85,77,65,32,110,111,100,101,115,44,32,97,115,32,108,111,110,103,32,97,115,32,101,97,99,104,32,108,111,103,105,99,97,108,32,67,80,85,32,98,101,108,111,110,103,115,32,116,111,32>>,{em,[],[<<111,110,101>>]},<<32,78,85,77,65,32,110,111,100,101,46,32,67,97,99,104,101,32,104,105,101,114,97,114,99,104,121,32,105,115,32,110,111,116,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<32,116,121,112,101,44,32,98,117,116,32,119,105,108,108,32,98,101,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46,32,79,116,104,101,114,32,116,104,105,110,103,115,32,99,97,110,32,97,108,115,111,32,109,97,107,101,32,105,116,32,105,110,116,111,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46,32,83,111,44,32,101,120,112,101,99,116,32,116,104,101,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<32,116,121,112,101,32,116,111,32,99,104,97,110,103,101,46>>]}]},{dt,[],[{code,[],[<<123,99,112,117,95,116,111,112,111,108,111,103,121,44,32,100,101,102,105,110,101,100,125>>]}]},{dd,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121,95,100,101,102,105,110,101,100>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,117,115,101,114,45,100,101,102,105,110,101,100,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,99,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<32,97,110,100,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,112,117,95,116,111,112,111,108,111,103,121>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,99,112,117,95,116,111,112,111,108,111,103,121,44,32,100,101,116,101,99,116,101,100,125>>]}]},{dd,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121,95,100,101,116,101,99,116,101,100>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,100,101,116,101,99,116,101,100,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121,121>>]},<<46,32,84,104,101,32,101,109,117,108,97,116,111,114,32,100,101,116,101,99,116,115,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,111,110,32,115,111,109,101,32,110,101,119,101,114,32,76,105,110,117,120,44,32,83,111,108,97,114,105,115,44,32,70,114,101,101,66,83,68,44,32,97,110,100,32,87,105,110,100,111,119,115,32,115,121,115,116,101,109,115,46,32,79,110,32,87,105,110,100,111,119,115,32,115,121,115,116,101,109,32,119,105,116,104,32,109,111,114,101,32,116,104,97,110,32,51,50,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,44,32,116,104,101,32,67,80,85,32,116,111,112,111,108,111,103,121,32,105,115,32,110,111,116,32,100,101,116,101,99,116,101,100,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,112,117,95,116,111,112,111,108,111,103,121>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,99,112,117,95,116,111,112,111,108,111,103,121,44,32,117,115,101,100,125>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<67,112,117,84,111,112,111,108,111,103,121>>]},<<32,117,115,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,112,117,95,116,111,112,111,108,111,103,121>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115>>}],[]},{code,[],[<<108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,100,101,116,101,99,116,101,100,32,110,117,109,98,101,114,32,111,102,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,99,111,110,102,105,103,117,114,101,100,32,105,110,32,116,104,101,32,115,121,115,116,101,109,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,101,105,116,104,101,114,32,97,110,32,105,110,116,101,103,101,114,44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,107,110,111,119,110>>]},<<32,105,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,99,97,110,110,111,116,32,100,101,116,101,99,116,32,116,104,101,32,99,111,110,102,105,103,117,114,101,100,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,97,118,97,105,108,97,98,108,101>>}],[]},{code,[],[<<108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,97,118,97,105,108,97,98,108,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,100,101,116,101,99,116,101,100,32,110,117,109,98,101,114,32,111,102,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,97,118,97,105,108,97,98,108,101,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,101,105,116,104,101,114,32,97,110,32,105,110,116,101,103,101,114,44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,107,110,111,119,110>>]},<<32,105,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,99,97,110,110,111,116,32,100,101,116,101,99,116,32,116,104,101,32,97,118,97,105,108,97,98,108,101,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46,32,84,104,101,32,110,117,109,98,101,114,32,111,102,32,97,118,97,105,108,97,98,108,101,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,105,115,32,108,101,115,115,32,116,104,97,110,32,111,114,32,101,113,117,97,108,32,116,111,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,111,110,108,105,110,101>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,111,110,108,105,110,101>>}],[]},{code,[],[<<108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,111,110,108,105,110,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,100,101,116,101,99,116,101,100,32,110,117,109,98,101,114,32,111,102,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,111,110,108,105,110,101,32,111,110,32,116,104,101,32,115,121,115,116,101,109,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,101,105,116,104,101,114,32,97,110,32,105,110,116,101,103,101,114,44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,107,110,111,119,110>>]},<<32,105,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,99,97,110,110,111,116,32,100,101,116,101,99,116,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,111,110,108,105,110,101,46,32,84,104,101,32,110,117,109,98,101,114,32,111,102,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,111,110,108,105,110,101,32,105,115,32,108,101,115,115,32,116,104,97,110,32,111,114,32,101,113,117,97,108,32,116,111,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,99,111,110,102,105,103,117,114,101,100>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,113,117,111,116,97>>}],[]},{code,[],[<<99,112,117,95,113,117,111,116,97>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,100,101,116,101,99,116,101,100,32,67,80,85,32,113,117,111,116,97,32,116,104,101,32,101,109,117,108,97,116,111,114,32,105,115,32,108,105,109,105,116,101,100,32,98,121,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,115,97,121,105,110,103,32,104,111,119,32,109,97,110,121,32,112,114,111,99,101,115,115,111,114,115,39,32,119,111,114,116,104,32,111,102,32,114,117,110,116,105,109,101,32,119,101,32,103,101,116,32,40,98,101,116,119,101,101,110,32,49,32,97,110,100,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,41,44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,107,110,111,119,110>>]},<<32,105,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,99,97,110,110,111,116,32,100,101,116,101,99,116,32,97,32,113,117,111,116,97,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,117,112,100,97,116,101,95,99,112,117,95,105,110,102,111>>}],[]},{code,[],[<<117,112,100,97,116,101,95,99,112,117,95,105,110,102,111>>]}]},{dd,[],[{p,[],[<<84,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,114,101,114,101,97,100,115,32,116,104,101,32,67,80,85,32,105,110,102,111,114,109,97,116,105,111,110,32,97,118,97,105,108,97,98,108,101,32,97,110,100,32,117,112,100,97,116,101,115,32,105,116,115,32,105,110,116,101,114,110,97,108,108,121,32,115,116,111,114,101,100,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,116,111,112,111,108,111,103,121,95,100,101,116,101,99,116,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,101,116,101,99,116,101,100,32,67,80,85,32,116,111,112,111,108,111,103,121>>]},<<32,97,110,100,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<99,111,110,102,105,103,117,114,101,100>>]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<111,110,108,105,110,101>>]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,97,118,97,105,108,97,98,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<97,118,97,105,108,97,98,108,101>>]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,112,117,95,113,117,111,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<99,112,117,32,113,117,111,116,97>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,67,80,85,32,105,110,102,111,114,109,97,116,105,111,110,32,104,97,115,32,99,104,97,110,103,101,100,32,115,105,110,99,101,32,116,104,101,32,108,97,115,116,32,116,105,109,101,32,105,116,32,119,97,115,32,114,101,97,100,44,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<99,104,97,110,103,101,100>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,99,104,97,110,103,101,100>>]},<<46,32,73,102,32,116,104,101,32,67,80,85,32,105,110,102,111,114,109,97,116,105,111,110,32,104,97,115,32,99,104,97,110,103,101,100,44,32,121,111,117,32,112,114,111,98,97,98,108,121,32,119,97,110,116,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<97,100,106,117,115,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101>>]},<<46,32,89,111,117,32,116,121,112,105,99,97,108,108,121,32,119,97,110,116,32,116,111,32,104,97,118,101,32,97,115,32,109,97,110,121,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,108,111,103,105,99,97,108,95,112,114,111,99,101,115,115,111,114,115,95,97,118,97,105,108,97,98,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,32,97,118,97,105,108,97,98,108,101>>]},<<46>>]}]}]}]},#{signature => [{attribute,{3074,2},spec,{{erlang,system_info,1},[{type,{3097,10},bounded_fun,[{type,{3097,10},'fun',[{type,{3097,10},product,[{atom,{3097,11},cpu_topology}]},{var,{3097,29},'CpuTopology'}]},[{type,{3098,7},constraint,[{atom,{3098,7},is_subtype},[{var,{3098,7},'CpuTopology'},{user_type,{3098,22},cpu_topology,[]}]]}]]},{type,{3099,10},bounded_fun,[{type,{3099,10},'fun',[{type,{3099,10},product,[{type,{3099,11},tuple,[{atom,{3099,12},cpu_topology},{type,{3099,26},union,[{atom,{3099,26},defined},{atom,{3099,36},detected},{atom,{3099,47},used}]}]}]},{var,{3099,57},'CpuTopology'}]},[{type,{3100,7},constraint,[{atom,{3100,7},is_subtype},[{var,{3100,7},'CpuTopology'},{user_type,{3100,22},cpu_topology,[]}]]}]]},{type,{3101,10},'fun',[{type,{3101,10},product,[{atom,{3101,11},creation}]},{type,{3101,24},integer,[]}]},{type,{3130,10},'fun',[{type,{3130,10},product,[{atom,{3130,11},machine}]},{type,{3130,23},string,[]}]},{type,{3175,10},'fun',[{type,{3175,10},product,[{atom,{3175,11},version}]},{type,{3175,23},string,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,50,54,54>>,since => <<79,84,80,32,82,49,52,66>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3074}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]},{li,[{name,<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>}],[]}]},{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,101,115,115,95,116,97,103,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,100,101,102,97,117,108,116,32,112,114,111,99,101,115,115,32,104,101,97,112,32,115,101,116,116,105,110,103,115,58>>]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>}],[]},{code,[],[<<102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,102,117,108,108,115,119,101,101,112,95,97,102,116,101,114,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,104,101,32>>,{code,[],[<<102,117,108,108,115,119,101,101,112,95,97,102,116,101,114>>]},<<32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,115,101,116,116,105,110,103,32,117,115,101,100,32,98,121,32,100,101,102,97,117,108,116,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>]},<<32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>}],[]},{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,100,101,102,97,117,108,116,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,115,101,116,116,105,110,103,115,46,32,65,32,112,114,111,99,101,115,115,32,115,112,97,119,110,101,100,32,111,110,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,98,121,32,97,32>>,{code,[],[<<115,112,97,119,110>>]},<<32,111,114,32>>,{code,[],[<<115,112,97,119,110,95,108,105,110,107>>]},<<32,117,115,101,115,32,116,104,101,115,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,115,101,116,116,105,110,103,115,46,32,84,104,101,32,100,101,102,97,117,108,116,32,115,101,116,116,105,110,103,115,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,98,121,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,47,50>>]}]},<<46,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,47,50,44,51,44,52>>]}]},<<32,99,97,110,32,115,112,97,119,110,32,97,32,112,114,111,99,101,115,115,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,117,115,101,32,116,104,101,32,100,101,102,97,117,108,116,32,115,101,116,116,105,110,103,115,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,104,101,97,112,95,115,105,122,101,115>>}],[]},{code,[],[<<104,101,97,112,95,115,105,122,101,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,105,110,116,101,103,101,114,115,32,114,101,112,114,101,115,101,110,116,105,110,103,32,118,97,108,105,100,32,104,101,97,112,32,115,105,122,101,115,32,105,110,32,119,111,114,100,115,46,32,65,108,108,32,69,114,108,97,110,103,32,104,101,97,112,115,32,97,114,101,32,115,105,122,101,100,32,102,114,111,109,32,115,105,122,101,115,32,105,110,32,116,104,105,115,32,108,105,115,116,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,104,101,97,112,95,116,121,112,101>>}],[]},{code,[],[<<104,101,97,112,95,116,121,112,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,104,101,97,112,32,116,121,112,101,32,117,115,101,100,32,98,121,32,116,104,101,32,99,117,114,114,101,110,116,32,101,109,117,108,97,116,111,114,46,32,79,110,101,32,104,101,97,112,32,116,121,112,101,32,101,120,105,115,116,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<112,114,105,118,97,116,101>>]}]},{dd,[],[<<69,97,99,104,32,112,114,111,99,101,115,115,32,104,97,115,32,97,32,104,101,97,112,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,116,115,32,117,115,101,32,97,110,100,32,110,111,32,114,101,102,101,114,101,110,99,101,115,32,98,101,116,119,101,101,110,32,104,101,97,112,115,32,111,102,32,100,105,102,102,101,114,101,110,116,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,97,108,108,111,119,101,100,46,32,77,101,115,115,97,103,101,115,32,112,97,115,115,101,100,32,98,101,116,119,101,101,110,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,99,111,112,105,101,100,32,98,101,116,119,101,101,110,32,104,101,97,112,115,46>>]}]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]},{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,77,97,120,72,101,97,112,83,105,122,101,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<77,97,120,72,101,97,112,83,105,122,101>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,45,119,105,100,101,32,109,97,120,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,115,101,116,116,105,110,103,115,32,102,111,114,32,115,112,97,119,110,101,100,32,112,114,111,99,101,115,115,101,115,46,32,84,104,105,115,32,115,101,116,116,105,110,103,32,99,97,110,32,98,101,32,115,101,116,32,117,115,105,110,103,32,116,104,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,97,120>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,97,120>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,97,120,107>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,97,120,107>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,97,120,101,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,97,120,101,108>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,97,120,105,98>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,97,120,105,98,108>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46,32,73,116,32,99,97,110,32,97,108,115,111,32,98,101,32,99,104,97,110,103,101,100,32,97,116,32,114,117,110,116,105,109,101,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,77,97,120,72,101,97,112,83,105,122,101,41>>]}]},<<46,32,70,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,32,97,98,111,117,116,32,116,104,101,32>>,{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,77,97,120,72,101,97,112,83,105,122,101,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>}],[]},{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>]},<<32,112,114,111,99,101,115,115,32,102,108,97,103,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,101,105,116,104,101,114,32>>,{code,[],[<<111,102,102,95,104,101,97,112>>]},<<32,111,114,32>>,{code,[],[<<111,110,95,104,101,97,112>>]},<<46,32,84,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,105,115,32,115,101,116,32,98,121,32,116,104,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,104,109,113,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,104,109,113,100>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,44,32,77,81,68,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,105,110,95,104,101,97,112,95,115,105,122,101>>}],[]},{code,[],[<<109,105,110,95,104,101,97,112,95,115,105,122,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,109,105,110,95,104,101,97,112,95,115,105,122,101,44,32,77,105,110,72,101,97,112,83,105,122,101,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<77,105,110,72,101,97,112,83,105,122,101>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,45,119,105,100,101,32,109,105,110,105,109,117,109,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,115,112,97,119,110,101,100,32,112,114,111,99,101,115,115,101,115,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101>>}],[]},{code,[],[<<109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,109,105,110,95,98,105,110,95,118,104,101,97,112,95,115,105,122,101,44,32,77,105,110,66,105,110,86,72,101,97,112,83,105,122,101,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<77,105,110,66,105,110,86,72,101,97,112,83,105,122,101>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,45,119,105,100,101,32,109,105,110,105,109,117,109,32,98,105,110,97,114,121,32,118,105,114,116,117,97,108,32,104,101,97,112,32,115,105,122,101,32,102,111,114,32,115,112,97,119,110,101,100,32,112,114,111,99,101,115,115,101,115,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,115>>}],[]},{code,[],[<<112,114,111,99,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,110,116,97,105,110,105,110,103,32,97,32,115,116,114,105,110,103,32,111,102,32,112,114,111,99,101,115,115,32,97,110,100,32,112,111,114,116,32,105,110,102,111,114,109,97,116,105,111,110,32,102,111,114,109,97,116,116,101,100,32,97,115,32,105,110,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,99,114,97,115,104,95,100,117,109,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<72,111,119,32,116,111,32,105,110,116,101,114,112,114,101,116,32,116,104,101,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]}]}]},#{signature => [{attribute,{3074,2},spec,{{erlang,system_info,1},[{type,{3121,10},'fun',[{type,{3121,10},product,[{atom,{3121,11},garbage_collection}]},{type,{3121,34},list,[{type,{3121,35},tuple,[{type,{3121,36},atom,[]},{type,{3121,44},integer,[]}]}]}]},{type,{3122,10},'fun',[{type,{3122,10},product,[{atom,{3122,11},heap_sizes}]},{type,{3122,26},list,[{type,{3122,27},non_neg_integer,[]}]}]},{type,{3123,10},'fun',[{type,{3123,10},product,[{atom,{3123,11},heap_type}]},{atom,{3123,25},private}]},{type,{3124,10},'fun',[{type,{3124,10},product,[{atom,{3124,11},info}]},{type,{3124,20},binary,[]}]},{type,{3132,10},'fun',[{type,{3132,10},product,[{atom,{3132,11},message_queue_data}]},{user_type,{3132,34},message_queue_data,[]}]},{type,{3133,10},'fun',[{type,{3133,10},product,[{atom,{3133,11},min_heap_size}]},{type,{3133,29},tuple,[{atom,{3133,30},min_heap_size},{ann_type,{3133,45},[{var,{3133,45},'MinHeapSize'},{type,{3133,60},pos_integer,[]}]}]}]},{type,{3134,10},'fun',[{type,{3134,10},product,[{atom,{3134,11},min_bin_vheap_size}]},{type,{3134,34},tuple,[{atom,{3134,35},min_bin_vheap_size},{ann_type,{3135,35},[{var,{3135,35},'MinBinVHeapSize'},{type,{3135,54},pos_integer,[]}]}]}]},{type,{3136,10},'fun',[{type,{3136,10},product,[{atom,{3136,11},modified_timing_level}]},{type,{3136,37},union,[{type,{3136,37},integer,[]},{atom,{3136,49},undefined}]}]},{type,{3151,10},'fun',[{type,{3151,10},product,[{atom,{3151,11},scheduler_bind_type}]},{type,{3151,35},union,[{atom,{3151,35},spread},{atom,{3152,35},processor_spread},{atom,{3153,35},thread_spread},{atom,{3154,35},thread_no_node_processor_spread},{atom,{3155,35},no_node_processor_spread},{atom,{3156,35},no_node_thread_spread},{atom,{3157,35},no_spread},{atom,{3158,35},unbound}]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,52,51,50>>,since => <<79,84,80,32,49,57,46,48,44,79,84,80,32,82,49,51,66,48,52>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3074}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,108,105,109,105,116,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,40,101,109,117,108,97,116,111,114,41,32,108,105,109,105,116,115,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<58>>]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,116,111,109,95,99,111,117,110,116>>}],[]},{code,[],[<<97,116,111,109,95,99,111,117,110,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,97,116,111,109,115,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,97,116,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46,32,84,104,101,32,118,97,108,117,101,32,105,115,32,103,105,118,101,110,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,116,111,109,95,108,105,109,105,116>>}],[]},{code,[],[<<97,116,111,109,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,97,116,111,109,115,32,97,108,108,111,119,101,100,46,32,84,104,105,115,32,108,105,109,105,116,32,99,97,110,32,98,101,32,105,110,99,114,101,97,115,101,100,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,116>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,101,116,115,95,99,111,117,110,116>>}],[]},{code,[],[<<101,116,115,95,99,111,117,110,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,69,84,83,32,116,97,98,108,101,115,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,97,116,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,101,116,115,95,108,105,109,105,116>>}],[]},{code,[],[<<101,116,115,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,108,105,109,105,116,32,102,111,114,32,110,117,109,98,101,114,32,111,102,32,69,84,83,32,116,97,98,108,101,115,46,32,84,104,105,115,32,108,105,109,105,116,32,105,115,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,116,115,35,109,97,120,95,101,116,115,95,116,97,98,108,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<112,97,114,116,105,97,108,108,121,32,111,98,115,111,108,101,116,101>>]},<<32,97,110,100,32,110,117,109,98,101,114,32,111,102,32,116,97,98,108,101,115,32,97,114,101,32,111,110,108,121,32,108,105,109,105,116,101,100,32,98,121,32,97,118,97,105,108,97,98,108,101,32,109,101,109,111,114,121,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,112,111,114,116,95,99,111,117,110,116>>}],[]},{code,[],[<<112,111,114,116,95,99,111,117,110,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,112,111,114,116,115,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,97,116,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46,32,84,104,101,32,118,97,108,117,101,32,105,115,32,103,105,118,101,110,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,84,104,105,115,32,105,115,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<108,101,110,103,116,104,40,101,114,108,97,110,103,58,112,111,114,116,115,40,41,41>>]},<<44,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,112,111,114,116,95,108,105,109,105,116>>}],[]},{code,[],[<<112,111,114,116,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,115,105,109,117,108,116,97,110,101,111,117,115,108,121,32,101,120,105,115,116,105,110,103,32,112,111,114,116,115,32,97,116,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,84,104,105,115,32,108,105,109,105,116,32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,117,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,81>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,81>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,101,115,115,95,99,111,117,110,116>>}],[]},{code,[],[<<112,114,111,99,101,115,115,95,99,111,117,110,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,112,114,111,99,101,115,115,101,115,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,97,116,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46,32,84,104,101,32,118,97,108,117,101,32,105,115,32,103,105,118,101,110,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,84,104,105,115,32,105,115,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<108,101,110,103,116,104,40,112,114,111,99,101,115,115,101,115,40,41,41>>]},<<44,32,98,117,116,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,112,114,111,99,101,115,115,95,108,105,109,105,116>>}],[]},{code,[],[<<112,114,111,99,101,115,115,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,115,105,109,117,108,116,97,110,101,111,117,115,108,121,32,101,120,105,115,116,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,116,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,46,32,84,104,101,32,118,97,108,117,101,32,105,115,32,103,105,118,101,110,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,84,104,105,115,32,108,105,109,105,116,32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,117,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,80>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,80>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]}]}]},#{signature => [{attribute,{3074,2},spec,{{erlang,system_info,1},[{type,{3090,10},'fun',[{type,{3090,10},product,[{atom,{3090,11},atom_count}]},{type,{3090,26},pos_integer,[]}]},{type,{3091,10},'fun',[{type,{3091,10},product,[{atom,{3091,11},atom_limit}]},{type,{3091,26},pos_integer,[]}]},{type,{3119,10},'fun',[{type,{3119,10},product,[{atom,{3119,11},ets_limit}]},{type,{3119,25},pos_integer,[]}]},{type,{3120,10},'fun',[{type,{3120,10},product,[{atom,{3120,11},fullsweep_after}]},{type,{3120,31},tuple,[{atom,{3120,32},fullsweep_after},{type,{3120,49},non_neg_integer,[]}]}]},{type,{3146,10},'fun',[{type,{3146,10},product,[{atom,{3146,11},port_count}]},{type,{3146,26},non_neg_integer,[]}]},{type,{3147,10},'fun',[{type,{3147,10},product,[{atom,{3147,11},port_limit}]},{type,{3147,26},pos_integer,[]}]},{type,{3148,10},'fun',[{type,{3148,10},product,[{atom,{3148,11},process_count}]},{type,{3148,29},pos_integer,[]}]},{type,{3149,10},'fun',[{type,{3149,10},product,[{atom,{3149,11},process_limit}]},{type,{3149,29},pos_integer,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,53,53,50>>,since => <<79,84,80,32,50,48,46,48,44,79,84,80,32,50,49,46,49,44,79,84,80,32,82,49,54,66,44,79,84,80,32,82,49,54,66,48,51>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3074}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,116,97,103,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,40,101,109,117,108,97,116,111,114,41,32,116,105,109,101,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<58>>]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,101,110,100,95,116,105,109,101>>}],[]},{code,[],[<<101,110,100,95,116,105,109,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,108,97,115,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,105,110,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,117,110,105,116>>]},<<32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,105,110,116,101,114,110,97,108,108,121,32,105,110,32,116,104,101,32,99,117,114,114,101,110,116,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46,32,84,104,101,32,116,105,109,101,32,98,101,116,119,101,101,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,116,97,114,116,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<115,116,97,114,116,32,116,105,109,101>>]},<<32,97,110,100,32,116,104,101,32,101,110,100,32,116,105,109,101,32,105,115,32,97,116,32,108,101,97,115,116,32,97,32,113,117,97,114,116,101,114,32,111,102,32,97,32,109,105,108,108,101,110,110,105,117,109,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,111,115,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,95,115,111,117,114,99,101>>}],[]},{code,[],[<<111,115,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,95,115,111,117,114,99,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,115,111,117,114,99,101,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,79,83,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,116,104,97,116,32,105,115,32,117,115,101,100,32,98,121,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<91,93>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,110,111,32,79,83,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,105,115,32,97,118,97,105,108,97,98,108,101,46,32,84,104,101,32,108,105,115,116,32,99,111,110,116,97,105,110,115,32,116,119,111,45,116,117,112,108,101,115,32,119,105,116,104,32>>,{code,[],[<<75,101,121>>]},<<115,32,97,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,44,32,97,110,100,32>>,{code,[],[<<86,97,108,117,101>>]},<<115,32,97,115,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,115,101,32,116,117,112,108,101,115,32,105,115,32,117,110,100,101,102,105,110,101,100,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,116,117,112,108,101,115,32,99,97,110,32,98,101,32,112,97,114,116,32,111,102,32,116,104,101,32,108,105,115,116,44,32,98,117,116,32,109,111,114,101,32,116,117,112,108,101,115,32,99,97,110,32,98,101,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,102,117,110,99,116,105,111,110,44,32,70,117,110,99,116,105,111,110,125>>]}]},{dd,[],[{p,[],[{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,117,115,101,100,46,32,84,104,105,115,32,116,117,112,108,101,32,97,108,119,97,121,115,32,101,120,105,115,116,115,32,105,102,32,79,83,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,105,115,32,97,118,97,105,108,97,98,108,101,32,116,111,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]}]},{dt,[],[{code,[],[<<123,99,108,111,99,107,95,105,100,44,32,67,108,111,99,107,73,100,125>>]}]},{dd,[],[{p,[],[<<84,104,105,115,32,116,117,112,108,101,32,111,110,108,121,32,101,120,105,115,116,115,32,105,102,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,99,108,111,99,107,115,46,32>>,{code,[],[<<67,108,111,99,107,73,100>>]},<<32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,99,108,111,99,107,32,105,100,101,110,116,105,102,105,101,114,32,117,115,101,100,32,119,104,101,110,32,99,97,108,108,105,110,103,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,114,101,115,111,108,117,116,105,111,110,44,32,79,115,77,111,110,111,116,111,110,105,99,84,105,109,101,82,101,115,111,108,117,116,105,111,110,125>>]}]},{dd,[],[{p,[],[<<72,105,103,104,101,115,116,32,112,111,115,115,105,98,108,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,82,101,115,111,108,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<114,101,115,111,108,117,116,105,111,110>>]},<<32,111,102,32,99,117,114,114,101,110,116,32,79,83,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,115,111,117,114,99,101,32,97,115,32,112,97,114,116,115,32,112,101,114,32,115,101,99,111,110,100,46,32,73,102,32,110,111,32,114,101,115,111,108,117,116,105,111,110,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,114,101,116,114,105,101,118,101,100,32,102,114,111,109,32,116,104,101,32,79,83,44,32>>,{code,[],[<<79,115,77,111,110,111,116,111,110,105,99,84,105,109,101,82,101,115,111,108,117,116,105,111,110>>]},<<32,105,115,32,115,101,116,32,116,111,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,32,111,102,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,111,102,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<115,32,114,101,116,117,114,110,32,118,97,108,117,101,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,97,99,116,117,97,108,32,114,101,115,111,108,117,116,105,111,110,32,99,97,110,32,98,101,32,108,111,119,101,114,32,116,104,97,110,32>>,{code,[],[<<79,115,77,111,110,111,116,111,110,105,99,84,105,109,101,82,101,115,111,108,117,116,105,111,110>>]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,32,100,111,101,115,32,110,111,116,32,115,97,121,32,97,110,121,116,104,105,110,103,32,97,98,111,117,116,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,65,99,99,117,114,97,99,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<97,99,99,117,114,97,99,121>>]},<<32,111,114,32,119,104,101,116,104,101,114,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,80,114,101,99,105,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<112,114,101,99,105,115,105,111,110>>]},<<32,97,108,105,103,110,115,32,119,105,116,104,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,46,32,89,111,117,32,100,111,44,32,104,111,119,101,118,101,114,44,32,107,110,111,119,32,116,104,97,116,32,116,104,101,32,112,114,101,99,105,115,105,111,110,32,105,115,32,110,111,116,32,98,101,116,116,101,114,32,116,104,97,110,32>>,{code,[],[<<79,115,77,111,110,111,116,111,110,105,99,84,105,109,101,82,101,115,111,108,117,116,105,111,110>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,120,116,101,110,100,101,100,44,32,69,120,116,101,110,100,101,100,125>>]}]},{dd,[],[{p,[],[{code,[],[<<69,120,116,101,110,100,101,100>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<121,101,115>>]},<<32,105,102,32,116,104,101,32,114,97,110,103,101,32,111,102,32,116,105,109,101,32,118,97,108,117,101,115,32,104,97,115,32,98,101,101,110,32,101,120,116,101,110,100,101,100,59,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<69,120,116,101,110,100,101,100>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<110,111>>]},<<46,32,84,104,101,32,114,97,110,103,101,32,109,117,115,116,32,98,101,32,101,120,116,101,110,100,101,100,32,105,102,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,114,101,116,117,114,110,115,32,118,97,108,117,101,115,32,116,104,97,116,32,119,114,97,112,32,102,97,115,116,46,32,84,104,105,115,32,116,121,112,105,99,97,108,108,121,32,105,115,32,116,104,101,32,99,97,115,101,32,119,104,101,110,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,97,32,51,50,45,98,105,116,32,118,97,108,117,101,46>>]}]},{dt,[],[{code,[],[<<123,112,97,114,97,108,108,101,108,44,32,80,97,114,97,108,108,101,108,125>>]}]},{dd,[],[{p,[],[{code,[],[<<80,97,114,97,108,108,101,108>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<121,101,115>>]},<<32,105,102,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,105,115,32,99,97,108,108,101,100,32,105,110,32,112,97,114,97,108,108,101,108,32,102,114,111,109,32,109,117,108,116,105,112,108,101,32,116,104,114,101,97,100,115,46,32,73,102,32,105,116,32,105,115,32,110,111,116,32,99,97,108,108,101,100,32,105,110,32,112,97,114,97,108,108,101,108,44,32,98,101,99,97,117,115,101,32,99,97,108,108,115,32,109,117,115,116,32,98,101,32,115,101,114,105,97,108,105,122,101,100,44,32>>,{code,[],[<<80,97,114,97,108,108,101,108>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<110,111>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,116,105,109,101,44,32,79,115,77,111,110,111,116,111,110,105,99,84,105,109,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<79,115,77,111,110,111,116,111,110,105,99,84,105,109,101>>]},<<32,101,113,117,97,108,115,32,99,117,114,114,101,110,116,32,79,83,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,105,110,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,117,110,105,116>>]},<<46>>]}]}]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,111,115,95,115,121,115,116,101,109,95,116,105,109,101,95,115,111,117,114,99,101>>}],[]},{code,[],[<<111,115,95,115,121,115,116,101,109,95,116,105,109,101,95,115,111,117,114,99,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,115,111,117,114,99,101,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,79,83,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,116,104,97,116,32,105,115,32,117,115,101,100,32,98,121,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]},{p,[],[<<84,104,101,32,108,105,115,116,32,99,111,110,116,97,105,110,115,32,116,119,111,45,116,117,112,108,101,115,32,119,105,116,104,32>>,{code,[],[<<75,101,121>>]},<<115,32,97,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,44,32,97,110,100,32>>,{code,[],[<<86,97,108,117,101>>]},<<115,32,97,115,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,115,101,32,116,117,112,108,101,115,32,105,115,32,117,110,100,101,102,105,110,101,100,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,116,117,112,108,101,115,32,99,97,110,32,98,101,32,112,97,114,116,32,111,102,32,116,104,101,32,108,105,115,116,44,32,98,117,116,32,109,111,114,101,32,116,117,112,108,101,115,32,99,97,110,32,98,101,32,105,110,116,114,111,100,117,99,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,102,117,110,99,116,105,111,110,44,32,70,117,110,99,116,105,111,110,125>>]}]},{dd,[],[{p,[],[{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,117,115,101,100,46>>]}]},{dt,[],[{code,[],[<<123,99,108,111,99,107,95,105,100,44,32,67,108,111,99,107,73,100,125>>]}]},{dd,[],[{p,[],[<<69,120,105,115,116,115,32,111,110,108,121,32,105,102,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,99,108,111,99,107,115,46,32>>,{code,[],[<<67,108,111,99,107,73,100>>]},<<32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,99,108,111,99,107,32,105,100,101,110,116,105,102,105,101,114,32,117,115,101,100,32,119,104,101,110,32,99,97,108,108,105,110,103,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,114,101,115,111,108,117,116,105,111,110,44,32,79,115,83,121,115,116,101,109,84,105,109,101,82,101,115,111,108,117,116,105,111,110,125>>]}]},{dd,[],[{p,[],[<<72,105,103,104,101,115,116,32,112,111,115,115,105,98,108,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,82,101,115,111,108,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<114,101,115,111,108,117,116,105,111,110>>]},<<32,111,102,32,99,117,114,114,101,110,116,32,79,83,32,115,121,115,116,101,109,32,116,105,109,101,32,115,111,117,114,99,101,32,97,115,32,112,97,114,116,115,32,112,101,114,32,115,101,99,111,110,100,46,32,73,102,32,110,111,32,114,101,115,111,108,117,116,105,111,110,32,105,110,102,111,114,109,97,116,105,111,110,32,99,97,110,32,98,101,32,114,101,116,114,105,101,118,101,100,32,102,114,111,109,32,116,104,101,32,79,83,44,32>>,{code,[],[<<79,115,83,121,115,116,101,109,84,105,109,101,82,101,115,111,108,117,116,105,111,110>>]},<<32,105,115,32,115,101,116,32,116,111,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,32,111,102,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,111,102,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<115,32,114,101,116,117,114,110,32,118,97,108,117,101,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,97,99,116,117,97,108,32,114,101,115,111,108,117,116,105,111,110,32,99,97,110,32,98,101,32,108,111,119,101,114,32,116,104,97,110,32>>,{code,[],[<<79,115,83,121,115,116,101,109,84,105,109,101,82,101,115,111,108,117,116,105,111,110>>]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,32,100,111,101,115,32,110,111,116,32,115,97,121,32,97,110,121,116,104,105,110,103,32,97,98,111,117,116,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,65,99,99,117,114,97,99,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<97,99,99,117,114,97,99,121>>]},<<32,111,114,32,119,104,101,116,104,101,114,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,80,114,101,99,105,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<112,114,101,99,105,115,105,111,110>>]},<<32,100,111,32,97,108,105,103,110,32,119,105,116,104,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,46,32,89,111,117,32,100,111,44,32,104,111,119,101,118,101,114,44,32,107,110,111,119,32,116,104,97,116,32,116,104,101,32,112,114,101,99,105,115,105,111,110,32,105,115,32,110,111,116,32,98,101,116,116,101,114,32,116,104,97,110,32>>,{code,[],[<<79,115,83,121,115,116,101,109,84,105,109,101,82,101,115,111,108,117,116,105,111,110>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,112,97,114,97,108,108,101,108,44,32,80,97,114,97,108,108,101,108,125>>]}]},{dd,[],[{p,[],[{code,[],[<<80,97,114,97,108,108,101,108>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<121,101,115>>]},<<32,105,102,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,105,115,32,99,97,108,108,101,100,32,105,110,32,112,97,114,97,108,108,101,108,32,102,114,111,109,32,109,117,108,116,105,112,108,101,32,116,104,114,101,97,100,115,46,32,73,102,32,105,116,32,105,115,32,110,111,116,32,99,97,108,108,101,100,32,105,110,32,112,97,114,97,108,108,101,108,44,32,98,101,99,97,117,115,101,32,99,97,108,108,115,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,114,105,97,108,105,122,101,100,44,32>>,{code,[],[<<80,97,114,97,108,108,101,108>>]},<<32,101,113,117,97,108,115,32>>,{code,[],[<<110,111>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,116,105,109,101,44,32,79,115,83,121,115,116,101,109,84,105,109,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<79,115,83,121,115,116,101,109,84,105,109,101>>]},<<32,101,113,117,97,108,115,32,99,117,114,114,101,110,116,32,79,83,32,115,121,115,116,101,109,32,116,105,109,101,32,105,110,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,117,110,105,116>>]},<<46>>]}]}]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,116,97,114,116,95,116,105,109,101>>}],[]},{code,[],[<<115,116,97,114,116,95,116,105,109,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,105,110,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,117,110,105,116>>]},<<32,97,116,32,116,104,101,32,116,105,109,101,32,119,104,101,110,32,99,117,114,114,101,110,116,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,32,115,116,97,114,116,101,100,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,110,100,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,101,110,100,95,116,105,109,101,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110>>}],[]},{code,[],[<<116,105,109,101,95,99,111,114,114,101,99,116,105,111,110>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,111,111,108,101,97,110,32,118,97,108,117,101,32,105,110,100,105,99,97,116,105,110,103,32,119,104,101,116,104,101,114,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,67,111,114,114,101,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,105,109,101,32,99,111,114,114,101,99,116,105,111,110>>]},<<32,105,115,32,101,110,97,98,108,101,100,32,111,114,32,110,111,116,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,111,102,102,115,101,116>>}],[]},{code,[],[<<116,105,109,101,95,111,102,102,115,101,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,116,97,116,101,32,111,102,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,58>>]},{dl,[],[{dt,[],[{code,[],[<<112,114,101,108,105,109,105,110,97,114,121>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,112,114,101,108,105,109,105,110,97,114,121,44,32,97,110,100,32,119,105,108,108,32,98,101,32,99,104,97,110,103,101,100,32,97,110,100,32,102,105,110,97,108,105,122,101,100,32,108,97,116,101,114,46,32,84,104,101,32,112,114,101,108,105,109,105,110,97,114,121,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,117,115,101,100,32,100,117,114,105,110,103,32,116,104,101,32,112,114,101,108,105,109,105,110,97,114,121,32,112,104,97,115,101,32,111,102,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,83,105,110,103,108,101,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<46>>]}]},{dt,[],[{code,[],[<<102,105,110,97,108>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,102,105,110,97,108,46,32,84,104,105,115,32,101,105,116,104,101,114,32,98,101,99,97,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,78,111,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<110,111,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,44,32,111,114,32,98,101,99,97,117,115,101,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,104,97,118,101,32,98,101,101,110,32,102,105,110,97,108,105,122,101,100,32,119,104,101,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,83,105,110,103,108,101,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46>>]}]},{dt,[],[{code,[],[<<118,111,108,97,116,105,108,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,118,111,108,97,116,105,108,101,46,32,84,104,97,116,32,105,115,44,32,105,116,32,99,97,110,32,99,104,97,110,103,101,32,97,116,32,97,110,121,32,116,105,109,101,46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,77,117,108,116,105,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<109,117,108,116,105,45,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46>>]}]}]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,119,97,114,112,95,109,111,100,101>>}],[]},{code,[],[<<116,105,109,101,95,119,97,114,112,95,109,111,100,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,118,97,108,117,101,32,105,100,101,110,116,105,102,121,105,110,103,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,87,97,114,112,95,77,111,100,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,116,104,97,116,32,105,115,32,117,115,101,100,58>>]},{dl,[],[{dt,[],[{code,[],[<<110,111,95,116,105,109,101,95,119,97,114,112>>]}]},{dd,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,78,111,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<110,111,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46>>]},{dt,[],[{code,[],[<<115,105,110,103,108,101,95,116,105,109,101,95,119,97,114,112>>]}]},{dd,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,83,105,110,103,108,101,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,105,110,103,108,101,32,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46>>]},{dt,[],[{code,[],[<<109,117,108,116,105,95,116,105,109,101,95,119,97,114,112>>]}]},{dd,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,77,117,108,116,105,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<109,117,108,116,105,45,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,105,115,32,117,115,101,100,46>>]}]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,111,108,101,114,97,110,116,95,116,105,109,101,111,102,100,97,121>>}],[]},{code,[],[<<116,111,108,101,114,97,110,116,95,116,105,109,101,111,102,100,97,121>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,119,104,101,116,104,101,114,32,97,32,112,114,101,32,69,82,84,83,32,55,46,48,32,98,97,99,107,119,97,114,100,115,32,99,111,109,112,97,116,105,98,108,101,32,99,111,109,112,101,110,115,97,116,105,111,110,32,102,111,114,32,115,117,100,100,101,110,32,99,104,97,110,103,101,115,32,111,102,32,115,121,115,116,101,109,32,116,105,109,101,32,105,115,32>>,{code,[],[<<101,110,97,98,108,101,100>>]},<<32,111,114,32>>,{code,[],[<<100,105,115,97,98,108,101,100>>]},<<46,32,83,117,99,104,32,99,111,109,112,101,110,115,97,116,105,111,110,32,105,115,32>>,{code,[],[<<101,110,97,98,108,101,100>>]},<<32,119,104,101,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,111,102,102,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,111,102,102,115,101,116>>]},<<32,105,115,32>>,{code,[],[<<102,105,110,97,108>>]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,99,111,114,114,101,99,116,105,111,110>>]},<<32,105,115,32,101,110,97,98,108,101,100,46>>]}]}]}]},#{signature => [{attribute,{3074,2},spec,{{erlang,system_info,1},[{type,{3118,10},'fun',[{type,{3118,10},product,[{atom,{3118,11},ets_count}]},{type,{3118,25},pos_integer,[]}]},{type,{3143,10},'fun',[{type,{3143,10},product,[{atom,{3143,11},os_system_time_source}]},{type,{3143,37},list,[{type,{3143,38},tuple,[{type,{3143,39},atom,[]},{type,{3143,46},term,[]}]}]}]},{type,{3144,10},'fun',[{type,{3144,10},product,[{atom,{3144,11},outstanding_system_requests_limit}]},{type,{3144,49},range,[{integer,{3144,49},1},{integer,{3144,52},134217727}]}]},{type,{3164,10},'fun',[{type,{3164,10},product,[{atom,{3164,11},system_architecture}]},{type,{3164,35},string,[]}]},{type,{3170,10},'fun',[{type,{3170,10},product,[{atom,{3170,11},time_offset}]},{type,{3170,27},union,[{atom,{3170,27},preliminary},{atom,{3170,41},final},{atom,{3170,49},volatile}]}]},{type,{3171,10},'fun',[{type,{3171,10},product,[{atom,{3171,11},time_warp_mode}]},{type,{3171,30},union,[{atom,{3171,30},no_time_warp},{atom,{3171,45},single_time_warp},{atom,{3171,64},multi_time_warp}]}]},{type,{3172,10},'fun',[{type,{3172,10},product,[{atom,{3172,11},tolerant_timeofday}]},{type,{3172,34},union,[{atom,{3172,34},enabled},{atom,{3172,44},disabled}]}]},{type,{3173,10},'fun',[{type,{3173,10},product,[{atom,{3173,11},trace_control_word}]},{type,{3173,34},non_neg_integer,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,54,51,50>>,since => <<79,84,80,32,49,55,46,49,44,79,84,80,32,49,56,46,48>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3074}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,116,97,103,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,115,99,104,101,100,117,108,101,114,115,44,32,115,99,104,101,100,117,108,105,110,103,32,97,110,100,32,116,104,114,101,97,100,115,32,105,110,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<58>>]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>}],[]},{code,[],[<<100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,117,115,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,68,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,101,120,101,99,117,116,101,32,67,80,85,45,98,111,117,110,100,32,110,97,116,105,118,101,32,102,117,110,99,116,105,111,110,115,44,32,115,117,99,104,32,97,115,32,78,73,70,115,44,32,108,105,110,107,101,100,45,105,110,32,100,114,105,118,101,114,32,99,111,100,101,44,32,97,110,100,32,66,73,70,115,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,109,97,110,97,103,101,100,32,99,108,101,97,110,108,121,32,98,121,32,116,104,101,32,110,111,114,109,97,108,32,101,109,117,108,97,116,111,114,32,115,99,104,101,100,117,108,101,114,115,46>>]},{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,97,116,32,101,109,117,108,97,116,111,114,32,98,111,111,116,32,116,105,109,101,32,97,110,100,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,97,102,116,101,114,32,116,104,97,116,46,32,72,111,119,101,118,101,114,44,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,111,110,108,105,110,101,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,97,116,32,97,110,121,32,116,105,109,101,46,32,84,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,99,97,110,32,98,101,32,115,101,116,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,83,68,99,112,117>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,83,68,99,112,117>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,83,68,80,99,112,117>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,83,68,80,99,112,117>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,44,32,68,105,114,116,121,67,80,85,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,44,32,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>}],[]},{code,[],[<<100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,115,97,116,105,115,102,105,101,115,32>>,{code,[],[<<49,32,60,61,32,68,105,114,116,121,67,80,85,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,32,60,61,32,78>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<78>>]},<<32,105,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,111,102,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41>>]},<<32,97,110,100,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]},<<46>>]},{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,67,80,85,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,99,97,110,32,98,101,32,115,101,116,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,83,68,99,112,117>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,83,68,99,112,117>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,44,32,68,105,114,116,121,67,80,85,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>}],[]},{code,[],[<<100,105,114,116,121,95,105,111,95,115,99,104,101,100,117,108,101,114,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,114,116,121,32,73,47,79,32,115,99,104,101,100,117,108,101,114,115,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,68,105,114,116,121,32,73,47,79,32,115,99,104,101,100,117,108,101,114,115,32,101,120,101,99,117,116,101,32,73,47,79,45,98,111,117,110,100,32,110,97,116,105,118,101,32,102,117,110,99,116,105,111,110,115,44,32,115,117,99,104,32,97,115,32,78,73,70,115,32,97,110,100,32,108,105,110,107,101,100,45,105,110,32,100,114,105,118,101,114,32,99,111,100,101,44,32,119,104,105,99,104,32,99,97,110,110,111,116,32,98,101,32,109,97,110,97,103,101,100,32,99,108,101,97,110,108,121,32,98,121,32,116,104,101,32,110,111,114,109,97,108,32,101,109,117,108,97,116,111,114,32,115,99,104,101,100,117,108,101,114,115,46>>]},{p,[],[<<84,104,105,115,32,118,97,108,117,101,32,99,97,110,32,98,101,32,115,101,116,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,83,68,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,83,68,105,111>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,100,105,114,116,121,95,99,112,117,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,44,32,68,105,114,116,121,67,80,85,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>}],[]},{code,[],[<<109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<100,105,115,97,98,108,101,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,101,109,117,108,97,116,111,114,32,104,97,115,32,98,101,101,110,32,115,116,97,114,116,101,100,32,119,105,116,104,32,111,110,108,121,32,111,110,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,46>>]}]},{dt,[],[{code,[],[<<98,108,111,99,107,101,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,101,109,117,108,97,116,111,114,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,44,32,98,117,116,32,97,108,108,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,101,120,99,101,112,116,32,111,110,101,32,97,114,101,32,98,108,111,99,107,101,100,46,32,84,104,97,116,32,105,115,44,32,111,110,108,121,32,111,110,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,32,115,99,104,101,100,117,108,101,115,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,101,120,101,99,117,116,101,115,32,69,114,108,97,110,103,32,99,111,100,101,46>>]}]},{dt,[],[{code,[],[<<98,108,111,99,107,101,100,95,110,111,114,109,97,108>>]}]},{dd,[],[{p,[],[<<84,104,101,32,101,109,117,108,97,116,111,114,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,44,32,98,117,116,32,97,108,108,32,110,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,101,120,99,101,112,116,32,111,110,101,32,97,114,101,32,98,108,111,99,107,101,100,46,32,78,111,116,105,99,101,32,116,104,97,116,32,100,105,114,116,121,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,110,111,116,32,98,108,111,99,107,101,100,44,32,97,110,100,32,99,97,110,32,115,99,104,101,100,117,108,101,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,101,120,101,99,117,116,101,32,110,97,116,105,118,101,32,99,111,100,101,46>>]}]},{dt,[],[{code,[],[<<101,110,97,98,108,101,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,101,109,117,108,97,116,111,114,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,44,32,97,110,100,32,110,111,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,97,114,101,32,98,108,111,99,107,101,100,46,32,84,104,97,116,32,105,115,44,32,97,108,108,32,97,118,97,105,108,97,98,108,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,115,99,104,101,100,117,108,101,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,101,120,101,99,117,116,101,32,69,114,108,97,110,103,32,99,111,100,101,46>>]}]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,44,32,66,108,111,99,107,83,116,97,116,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>}],[]},{code,[],[<<109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32>>,{code,[],[<<80,105,100>>]},<<115,32,119,104,101,110,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,98,108,111,99,107,101,100,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,101,32>>,{code,[],[<<80,105,100>>]},<<115,32,105,110,32,116,104,101,32,108,105,115,116,32,114,101,112,114,101,115,101,110,116,32,97,108,108,32,116,104,101,32,112,114,111,99,101,115,115,101,115,32,99,117,114,114,101,110,116,108,121,32,98,108,111,99,107,105,110,103,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,46,32,65,32>>,{code,[],[<<80,105,100>>]},<<32,111,99,99,117,114,115,32,111,110,108,121,32,111,110,99,101,32,105,110,32,116,104,101,32,108,105,115,116,44,32,101,118,101,110,32,105,102,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,112,114,111,99,101,115,115,32,104,97,115,32,98,108,111,99,107,101,100,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,44,32,66,108,111,99,107,83,116,97,116,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>}],[]},{code,[],[<<110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32>>,{code,[],[<<80,105,100>>]},<<115,32,119,104,101,110,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,32,105,115,32,98,108,111,99,107,101,100,32,40,116,104,97,116,32,105,115,44,32,97,108,108,32,110,111,114,109,97,108,32,115,99,104,101,100,117,108,101,114,115,32,98,117,116,32,111,110,101,32,105,115,32,98,108,111,99,107,101,100,41,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,101,32>>,{code,[],[<<80,105,100>>]},<<115,32,105,110,32,116,104,101,32,108,105,115,116,32,114,101,112,114,101,115,101,110,116,32,97,108,108,32,116,104,101,32,112,114,111,99,101,115,115,101,115,32,99,117,114,114,101,110,116,108,121,32,98,108,111,99,107,105,110,103,32,110,111,114,109,97,108,32,109,117,108,116,105,45,115,99,104,101,100,117,108,105,110,103,46,32,65,32>>,{code,[],[<<80,105,100>>]},<<32,111,99,99,117,114,115,32,111,110,108,121,32,111,110,99,101,32,105,110,32,116,104,101,32,108,105,115,116,44,32,101,118,101,110,32,105,102,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,112,114,111,99,101,115,115,32,104,97,115,32,98,108,111,99,107,101,100,32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,44,32,66,108,111,99,107,83,116,97,116,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101>>}],[]},{code,[],[<<115,99,104,101,100,117,108,101,114,95,98,105,110,100,95,116,121,112,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,104,111,119,32,116,104,101,32,117,115,101,114,32,104,97,115,32,114,101,113,117,101,115,116,101,100,32,115,99,104,101,100,117,108,101,114,115,32,116,111,32,98,101,32,98,111,117,110,100,32,111,114,32,110,111,116,32,98,111,117,110,100,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,108,116,104,111,117,103,104,32,97,32,117,115,101,114,32,104,97,115,32,114,101,113,117,101,115,116,101,100,32,115,99,104,101,100,117,108,101,114,115,32,116,111,32,98,101,32,98,111,117,110,100,44,32,116,104,101,121,32,99,97,110,32,115,105,108,101,110,116,108,121,32,104,97,118,101,32,102,97,105,108,101,100,32,116,111,32,98,105,110,100,46,32,84,111,32,105,110,115,112,101,99,116,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,98,105,110,100,105,110,103,115,44,32,99,97,108,108,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115,41>>]}]},<<46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>}],[]},{code,[],[<<115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,99,117,114,114,101,110,116,108,121,32,117,115,101,100,32,115,99,104,101,100,117,108,101,114,32,98,105,110,100,105,110,103,115,46>>]},{p,[],[<<65,32,116,117,112,108,101,32,111,102,32,97,32,115,105,122,101,32,101,113,117,97,108,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,101,32,116,117,112,108,101,32,101,108,101,109,101,110,116,115,32,97,114,101,32,105,110,116,101,103,101,114,115,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,98,111,117,110,100>>]},<<46,32,76,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,32,105,100,101,110,116,105,102,105,101,114,115,32,97,114,101,32,114,101,112,114,101,115,101,110,116,101,100,32,97,115,32,105,110,116,101,103,101,114,115,46,32,84,104,101,32>>,{code,[],[<<78>>]},<<116,104,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,116,117,112,108,101,32,101,113,117,97,108,115,32,116,104,101,32,99,117,114,114,101,110,116,32,98,105,110,100,105,110,103,32,102,111,114,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,119,105,116,104,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,105,100,101,110,116,105,102,105,101,114,32,101,113,117,97,108,32,116,111,32>>,{code,[],[<<78>>]},<<46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32,116,104,101,32,115,99,104,101,100,117,108,101,114,115,32,97,114,101,32,98,111,117,110,100,44,32>>,{code,[],[<<101,108,101,109,101,110,116,40,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,105,100,41,44,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,98,105,110,100,105,110,103,115,41,41>>]},<<32,114,101,116,117,114,110,115,32,116,104,101,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,111,110,108,121,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,99,97,110,32,98,101,32,98,111,117,110,100,32,116,111,32,108,111,103,105,99,97,108,32,112,114,111,99,101,115,115,111,114,115,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,98,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,98,116>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,105,100>>}],[]},{code,[],[<<115,99,104,101,100,117,108,101,114,95,105,100>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,73,68,32,40>>,{code,[],[<<83,99,104,101,100,117,108,101,114,73,100>>]},<<41,32,111,102,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46,32>>,{code,[],[<<83,99,104,101,100,117,108,101,114,73,100>>]},<<32,105,115,32,97,32,112,111,115,105,116,105,118,101,32,105,110,116,101,103,101,114,44,32,119,104,101,114,101,32>>,{code,[],[<<49,32,60,61,32,83,99,104,101,100,117,108,101,114,73,100,32,60,61,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]},<<46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>}],[]},{code,[],[<<115,99,104,101,100,117,108,101,114,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,117,115,101,100,32,98,121,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,83,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,111,110,108,105,110,101,32,115,99,104,101,100,117,108,101,115,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,69,114,108,97,110,103,32,112,111,114,116,115,44,32,97,110,100,32,101,120,101,99,117,116,101,32,69,114,108,97,110,103,32,99,111,100,101,32,97,110,100,32,69,114,108,97,110,103,32,108,105,110,107,101,100,45,105,110,32,100,114,105,118,101,114,32,99,111,100,101,46>>]},{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,32,116,104,114,101,97,100,115,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,97,116,32,101,109,117,108,97,116,111,114,32,98,111,111,116,32,116,105,109,101,32,97,110,100,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,108,97,116,101,114,46,32,72,111,119,101,118,101,114,44,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,97,116,32,97,110,121,32,116,105,109,101,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,44,32,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,95,105,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,95,105,100,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,44,32,66,108,111,99,107,83,116,97,116,101,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,41>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,110,111,114,109,97,108,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,109,117,108,116,105,95,115,99,104,101,100,117,108,105,110,103,95,98,108,111,99,107,101,114,115,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>}],[]},{code,[],[<<115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,46,32,84,104,101,32,115,99,104,101,100,117,108,101,114,32,105,100,101,110,116,105,102,105,101,114,115,32,111,102,32,115,99,104,101,100,117,108,101,114,115,32,111,110,108,105,110,101,32,115,97,116,105,115,102,121,32,116,104,101,32,114,101,108,97,116,105,111,110,115,104,105,112,32>>,{code,[],[<<49,32,60,61,32,83,99,104,101,100,117,108,101,114,73,100,32,60,61,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,41>>]},<<46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,115,99,104,101,100,117,108,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,115,99,104,101,100,117,108,101,114,115,41>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,115,99,104,101,100,117,108,101,114,115,95,111,110,108,105,110,101,44,32,83,99,104,101,100,117,108,101,114,115,79,110,108,105,110,101,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,109,112,95,115,117,112,112,111,114,116>>}],[]},{code,[],[<<115,109,112,95,115,117,112,112,111,114,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,104,114,101,97,100,115>>}],[]},{code,[],[<<116,104,114,101,97,100,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101>>}],[]},{code,[],[<<116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101>>]}]},{dd,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,104,114,101,97,100,95,112,111,111,108,95,115,105,122,101>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,97,115,121,110,99,32,116,104,114,101,97,100,115,32,105,110,32,116,104,101,32,97,115,121,110,99,32,116,104,114,101,97,100,32,112,111,111,108,32,117,115,101,100,32,102,111,114,32,97,115,121,110,99,104,114,111,110,111,117,115,32,100,114,105,118,101,114,32,99,97,108,108,115,32,40>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,114,105,118,101,114,35,100,114,105,118,101,114,95,97,115,121,110,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[<<32>>,{code,[],[<<101,114,108,95,100,114,105,118,101,114,58,100,114,105,118,101,114,95,97,115,121,110,99,40,41>>]}]},<<41,46,32,84,104,101,32,118,97,108,117,101,32,105,115,32,103,105,118,101,110,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46>>]}]}]}]},#{signature => [{attribute,{3074,2},spec,{{erlang,system_info,1},[{type,{3105,10},'fun',[{type,{3105,10},product,[{atom,{3105,11},dirty_cpu_schedulers_online}]},{type,{3105,43},non_neg_integer,[]}]},{type,{3106,10},'fun',[{type,{3106,10},product,[{atom,{3106,11},dirty_io_schedulers}]},{type,{3106,35},non_neg_integer,[]}]},{type,{3107,10},'fun',[{type,{3107,10},product,[{atom,{3107,11},dist}]},{type,{3107,20},binary,[]}]},{type,{3138,10},'fun',[{type,{3138,10},product,[{atom,{3138,11},multi_scheduling_blockers}]},{type,{3138,41},list,[{ann_type,{3138,42},[{var,{3138,42},'Pid'},{type,{3138,49},pid,[]}]}]}]},{type,{3139,10},'fun',[{type,{3139,10},product,[{atom,{3139,11},nif_version}]},{type,{3139,27},string,[]}]},{type,{3141,10},'fun',[{type,{3141,10},product,[{atom,{3141,11},otp_release}]},{type,{3141,27},string,[]}]},{type,{3159,10},'fun',[{type,{3159,10},product,[{atom,{3159,11},scheduler_bindings}]},{type,{3159,35},tuple,any}]},{type,{3160,10},'fun',[{type,{3160,10},product,[{atom,{3160,11},scheduler_id}]},{ann_type,{3160,28},[{var,{3160,28},'SchedulerId'},{type,{3160,43},pos_integer,[]}]}]},{type,{3161,10},'fun',[{type,{3161,10},product,[{type,{3161,11},union,[{atom,{3161,11},schedulers},{atom,{3161,24},schedulers_online}]}]},{type,{3161,46},pos_integer,[]}]},{type,{3162,10},'fun',[{type,{3162,10},product,[{atom,{3162,11},smp_support}]},{type,{3162,27},boolean,[]}]},{type,{3163,10},'fun',[{type,{3163,10},product,[{atom,{3163,11},start_time}]},{type,{3163,26},integer,[]}]},{type,{3168,10},'fun',[{type,{3168,10},product,[{atom,{3168,11},thread_pool_size}]},{type,{3168,32},non_neg_integer,[]}]},{type,{3169,10},'fun',[{type,{3169,10},product,[{atom,{3169,11},time_correction}]},{type,{3169,31},union,[{atom,{3169,31},true},{atom,{3169,38},false}]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,48,56,54,48>>,since => <<79,84,80,32,49,55,46,48,44,79,84,80,32,49,57,46,48>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3074}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116,95,116,97,103,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,69,114,108,97,110,103,32,68,105,115,116,114,105,98,117,116,105,111,110,32,105,110,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<58>>]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,97,115,121,110,99,95,100,105,115,116>>}],[]},{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]}]},{dd,[],[{p,[],[<<83,105,110,99,101,58,32,79,84,80,32,50,53,46,51>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,111,109,109,97,110,100,32,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,112,97,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<43,112,97,100,32,60,98,111,111,108,101,97,110,62>>]},<<32,119,104,105,99,104,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,117,115,101,46,32,84,104,105,115,32,118,97,108,117,101,32,100,101,116,101,114,109,105,110,101,115,32,116,104,101,32,100,101,102,97,117,108,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,97,115,121,110,99,95,100,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<97,115,121,110,99,95,100,105,115,116>>]}]},<<32,118,97,108,117,101,32,102,111,114,32,110,101,119,108,121,32,115,112,97,119,110,101,100,32,112,114,111,99,101,115,115,101,115,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,114,101,97,116,105,111,110>>}],[]},{code,[],[<<99,114,101,97,116,105,111,110>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,34,99,114,101,97,116,105,111,110,34,32,118,97,108,117,101,32,111,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,84,104,101,32,99,114,101,97,116,105,111,110,32,105,115,32,99,104,97,110,103,101,100,32,119,104,101,110,32,97,32,110,111,100,101,32,105,115,32,114,101,115,116,97,114,116,101,100,46,32,84,104,101,32,99,114,101,97,116,105,111,110,32,111,102,32,97,32,110,111,100,101,32,105,115,32,115,116,111,114,101,100,32,105,110,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,115,44,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,115,44,32,97,110,100,32,114,101,102,101,114,101,110,99,101,115,46,32,84,104,105,115,32,109,97,107,101,115,32,105,116,32,112,111,115,115,105,98,108,101,32,116,111,32,100,105,115,116,105,110,103,117,105,115,104,32,98,101,116,119,101,101,110,32,105,100,101,110,116,105,102,105,101,114,115,32,102,114,111,109,32,100,105,102,102,101,114,101,110,116,32,105,110,99,97,114,110,97,116,105,111,110,115,32,111,102,32,97,32,110,111,100,101,46,32,67,114,101,97,116,105,111,110,32,118,97,108,117,101,115,32,97,114,101,32,99,117,114,114,101,110,116,108,121,32,51,50,45,98,105,116,32,112,111,115,105,116,105,118,101,32,105,110,116,101,103,101,114,115,44,32,98,117,116,32,116,104,105,115,32,109,97,121,32,99,104,97,110,103,101,32,105,110,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,115,46,32,73,102,32,116,104,101,32,110,111,100,101,32,105,115,32,110,111,116,32,97,108,105,118,101,44,32>>,{code,[],[<<48>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,101,108,97,121,101,100,95,110,111,100,101,95,116,97,98,108,101,95,103,99>>}],[]},{code,[],[<<100,101,108,97,121,101,100,95,110,111,100,101,95,116,97,98,108,101,95,103,99>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,116,105,109,101,32,105,110,32,115,101,99,111,110,100,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,97,110,32,101,110,116,114,121,32,105,110,32,97,32,110,111,100,101,32,116,97,98,108,101,32,105,115,32,100,101,108,97,121,101,100,46,32,84,104,105,115,32,108,105,109,105,116,32,99,97,110,32,98,101,32,115,101,116,32,111,110,32,115,116,97,114,116,117,112,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,122,100,110,116,103,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,122,100,110,116,103,99>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116>>}],[]},{code,[],[<<100,105,115,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,110,116,97,105,110,105,110,103,32,97,32,115,116,114,105,110,103,32,111,102,32,100,105,115,116,114,105,98,117,116,105,111,110,32,105,110,102,111,114,109,97,116,105,111,110,32,102,111,114,109,97,116,116,101,100,32,97,115,32,105,110,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,99,114,97,115,104,95,100,117,109,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<72,111,119,32,116,111,32,105,110,116,101,114,112,114,101,116,32,116,104,101,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116,95,98,117,102,95,98,117,115,121,95,108,105,109,105,116>>}],[]},{code,[],[<<100,105,115,116,95,98,117,102,95,98,117,115,121,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,98,117,102,102,101,114,32,98,117,115,121,32,108,105,109,105,116,32,105,110,32,98,121,116,101,115,46,32,84,104,105,115,32,108,105,109,105,116,32,99,97,110,32,98,101,32,115,101,116,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,112,97,115,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,122,100,98,98,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,122,100,98,98,108>>]}]},<<32,116,111,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,105,115,116,95,99,116,114,108>>}],[]},{code,[],[<<100,105,115,116,95,99,116,114,108>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,116,117,112,108,101,115,32>>,{code,[],[<<123,78,111,100,101,44,32,67,111,110,116,114,111,108,108,105,110,103,69,110,116,105,116,121,125>>]},<<44,32,111,110,101,32,101,110,116,114,121,32,102,111,114,32,101,97,99,104,32,99,111,110,110,101,99,116,101,100,32,114,101,109,111,116,101,32,110,111,100,101,46,32>>,{code,[],[<<78,111,100,101>>]},<<32,105,115,32,116,104,101,32,110,111,100,101,32,110,97,109,101,32,97,110,100,32>>,{code,[],[<<67,111,110,116,114,111,108,108,105,110,103,69,110,116,105,116,121>>]},<<32,105,115,32,116,104,101,32,112,111,114,116,32,111,114,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,114,101,115,112,111,110,115,105,98,108,101,32,102,111,114,32,116,104,101,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,116,111,32,116,104,97,116,32,110,111,100,101,46,32,77,111,114,101,32,115,112,101,99,105,102,105,99,97,108,108,121,44,32>>,{code,[],[<<67,111,110,116,114,111,108,108,105,110,103,69,110,116,105,116,121>>]},<<32,102,111,114,32,110,111,100,101,115,32,99,111,110,110,101,99,116,101,100,32,116,104,114,111,117,103,104,32,84,67,80,47,73,80,32,40,116,104,101,32,110,111,114,109,97,108,32,99,97,115,101,41,32,105,115,32,116,104,101,32,115,111,99,107,101,116,32,117,115,101,100,32,105,110,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,119,105,116,104,32,116,104,101,32,115,112,101,99,105,102,105,99,32,110,111,100,101,46>>]}]}]}]},#{signature => [{attribute,{3074,2},spec,{{erlang,system_info,1},[{type,{3102,10},'fun',[{type,{3102,10},product,[{atom,{3102,11},debug_compiled}]},{type,{3102,30},boolean,[]}]},{type,{3104,10},'fun',[{type,{3104,10},product,[{atom,{3104,11},dirty_cpu_schedulers}]},{type,{3104,36},non_neg_integer,[]}]},{type,{3108,10},'fun',[{type,{3108,10},product,[{atom,{3108,11},dist_buf_busy_limit}]},{type,{3108,35},non_neg_integer,[]}]},{type,{3109,10},'fun',[{type,{3109,10},product,[{atom,{3109,11},dist_ctrl}]},{type,{3109,25},list,[{type,{3109,26},tuple,[{ann_type,{3109,27},[{var,{3109,27},'Node'},{type,{3109,35},node,[]}]},{ann_type,{3110,27},[{var,{3110,27},'ControllingEntity'},{type,{3110,48},union,[{type,{3110,48},port,[]},{type,{3110,57},pid,[]}]}]}]}]}]},{type,{3111,10},'fun',[{type,{3111,10},product,[{atom,{3111,11},driver_version}]},{type,{3111,30},string,[]}]},{type,{3178,10},'fun',[{type,{3178,10},product,[{atom,{3178,11},overview}]},{type,{3178,24},boolean,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,49,54,48>>,since => <<79,84,80,32,49,56,46,48,44,79,84,80,32,50,53,46,51,44,79,84,80,32,82,49,52,66,48,49>>}},{{function,system_info,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3074}],[<<115,121,115,116,101,109,95,105,110,102,111,47,49>>],#{<<101,110>> => [{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,105,115,99,95,116,97,103,115>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,118,97,114,105,111,117,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,40,101,109,117,108,97,116,111,114,41,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,116,101,109>>]},<<58>>]},{dl,[],[{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,98,117,105,108,100,95,116,121,112,101>>}],[]},{code,[],[<<98,117,105,108,100,95,116,121,112,101>>]}]},{dd,[],[{p,[],[<<68,101,112,114,101,99,97,116,101,100,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,101,109,117,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,109,117,95,116,121,112,101>>]},<<32,105,110,115,116,101,97,100>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,95,99,111,109,112,105,108,101,114,95,117,115,101,100>>}],[]},{code,[],[<<99,95,99,111,109,112,105,108,101,114,95,117,115,101,100>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,116,119,111,45,116,117,112,108,101,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,67,32,99,111,109,112,105,108,101,114,32,117,115,101,100,32,119,104,101,110,32,99,111,109,112,105,108,105,110,103,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,84,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32,97,110,32,97,116,111,109,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,99,111,109,112,105,108,101,114,44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,117,110,107,110,111,119,110,46,32,84,104,101,32,115,101,99,111,110,100,32,101,108,101,109,101,110,116,32,105,115,32,97,32,116,101,114,109,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,99,111,109,112,105,108,101,114,44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,117,110,107,110,111,119,110,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,104,101,99,107,95,105,111>>}],[]},{code,[],[<<99,104,101,99,107,95,105,111>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,109,105,115,99,101,108,108,97,110,101,111,117,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,101,109,117,108,97,116,111,114,115,32,105,110,116,101,114,110,97,108,32,73,47,79,32,99,104,101,99,107,105,110,103,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,99,111,110,116,101,110,116,32,111,102,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,32,99,97,110,32,118,97,114,121,32,98,101,116,119,101,101,110,32,112,108,97,116,102,111,114,109,115,32,97,110,100,32,111,118,101,114,32,116,105,109,101,46,32,73,116,32,105,115,32,111,110,108,121,32,103,117,97,114,97,110,116,101,101,100,32,116,104,97,116,32,97,32,108,105,115,116,32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,99,111,109,112,97,116,95,114,101,108>>}],[]},{code,[],[<<99,111,109,112,97,116,95,114,101,108>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,109,111,100,101,32,111,102,32,116,104,101,32,108,111,99,97,108,32,110,111,100,101,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,84,104,101,32,105,110,116,101,103,101,114,32,114,101,116,117,114,110,101,100,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,69,114,108,97,110,103,47,79,84,80,32,114,101,108,101,97,115,101,32,116,104,97,116,32,116,104,101,32,99,117,114,114,101,110,116,32,101,109,117,108,97,116,111,114,32,104,97,115,32,98,101,101,110,32,115,101,116,32,116,111,32,98,101,32,98,97,99,107,119,97,114,100,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,46,32,84,104,101,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,109,111,100,101,32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,97,116,32,115,116,97,114,116,117,112,32,98,121,32,117,115,105,110,103,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,99,111,109,112,97,116,95,114,101,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,82>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,101,98,117,103,95,99,111,109,112,105,108,101,100>>}],[]},{code,[],[<<100,101,98,117,103,95,99,111,109,112,105,108,101,100>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,104,97,115,32,98,101,101,110,32,100,101,98,117,103,45,99,111,109,112,105,108,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,114,105,118,101,114,95,118,101,114,115,105,111,110>>}],[]},{code,[],[<<100,114,105,118,101,114,95,118,101,114,115,105,111,110>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,100,114,105,118,101,114,32,118,101,114,115,105,111,110,32,117,115,101,100,32,98,121,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,73,116,32,104,97,115,32,116,104,101,32,102,111,114,109,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,114,105,118,101,114,35,118,101,114,115,105,111,110,95,109,97,110,97,103,101,109,101,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[<<34,60,109,97,106,111,114,32,118,101,114,62,46,60,109,105,110,111,114,32,118,101,114,62,34>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,121,110,97,109,105,99,95,116,114,97,99,101>>}],[]},{code,[],[<<100,121,110,97,109,105,99,95,116,114,97,99,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,97,116,111,109,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,100,121,110,97,109,105,99,32,116,114,97,99,101,32,102,114,97,109,101,119,111,114,107,32,99,111,109,112,105,108,101,100,32,105,110,116,111,32,116,104,101,32,118,105,114,116,117,97,108,32,109,97,99,104,105,110,101,46,32,73,116,32,99,97,110,32,98,101,32>>,{code,[],[<<100,116,114,97,99,101>>]},<<44,32>>,{code,[],[<<115,121,115,116,101,109,116,97,112>>]},<<44,32,111,114,32>>,{code,[],[<<110,111,110,101>>]},<<46,32,70,111,114,32,97,32,99,111,109,109,101,114,99,105,97,108,32,111,114,32,115,116,97,110,100,97,114,100,32,98,117,105,108,100,44,32,105,116,32,105,115,32,97,108,119,97,121,115,32>>,{code,[],[<<110,111,110,101>>]},<<46,32,84,104,101,32,111,116,104,101,114,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,105,110,100,105,99,97,116,101,32,97,32,99,117,115,116,111,109,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<46,47,99,111,110,102,105,103,117,114,101,32,45,45,119,105,116,104,45,100,121,110,97,109,105,99,45,116,114,97,99,101,61,100,116,114,97,99,101>>]},<<41,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,100,121,110,97,109,105,99,32,116,114,97,99,105,110,103,44,32,115,101,101,32>>,{a,[{href,<<114,117,110,116,105,109,101,95,116,111,111,108,115,58,100,121,110,116,114,97,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,121,110,116,114,97,99,101,40,51,41>>]}]},<<32,109,97,110,117,97,108,32,112,97,103,101,32,97,110,100,32,116,104,101,32>>,{code,[],[<<82,69,65,68,77,69,46,100,116,114,97,99,101>>]},<<47>>,{code,[],[<<82,69,65,68,77,69,46,115,121,115,116,101,109,116,97,112>>]},<<32,102,105,108,101,115,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,115,111,117,114,99,101,32,99,111,100,101,32,116,111,112,32,100,105,114,101,99,116,111,114,121,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,100,121,110,97,109,105,99,95,116,114,97,99,101,95,112,114,111,98,101,115>>}],[]},{code,[],[<<100,121,110,97,109,105,99,95,116,114,97,99,101,95,112,114,111,98,101,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32>>,{code,[],[<<98,111,111,108,101,97,110,40,41>>]},<<32,105,110,100,105,99,97,116,105,110,103,32,105,102,32,100,121,110,97,109,105,99,32,116,114,97,99,101,32,112,114,111,98,101,115,32,40>>,{code,[],[<<100,116,114,97,99,101>>]},<<32,111,114,32>>,{code,[],[<<115,121,115,116,101,109,116,97,112>>]},<<41,32,97,114,101,32,98,117,105,108,116,32,105,110,116,111,32,116,104,101,32,101,109,117,108,97,116,111,114,46,32,84,104,105,115,32,99,97,110,32,111,110,108,121,32,98,101,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,118,105,114,116,117,97,108,32,109,97,99,104,105,110,101,32,119,97,115,32,98,117,105,108,116,32,102,111,114,32,100,121,110,97,109,105,99,32,116,114,97,99,105,110,103,32,40,116,104,97,116,32,105,115,44,32>>,{code,[],[<<115,121,115,116,101,109,95,105,110,102,111,40,100,121,110,97,109,105,99,95,116,114,97,99,101,41>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<100,116,114,97,99,101>>]},<<32,111,114,32>>,{code,[],[<<115,121,115,116,101,109,116,97,112>>]},<<41,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,101,109,117,95,102,108,97,118,111,114>>}],[]},{code,[],[<<101,109,117,95,102,108,97,118,111,114>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,97,116,111,109,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,102,108,97,118,111,114,32,111,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,84,104,105,115,32,119,105,108,108,32,98,101,32,101,105,116,104,101,114,32>>,{code,[],[<<101,109,117>>]},<<32,111,114,32>>,{code,[],[<<106,105,116>>]},<<46,32,80,111,115,115,105,98,108,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,111,114,32,114,101,109,111,118,101,100,32,97,116,32,97,110,121,32,116,105,109,101,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,101,109,117,95,116,121,112,101>>}],[]},{code,[],[<<101,109,117,95,116,121,112,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,97,116,111,109,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,98,117,105,108,100,32,116,121,112,101,32,111,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,84,104,105,115,32,105,115,32,110,111,114,109,97,108,108,121,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<111,112,116>>]},<<32,102,111,114,32,111,112,116,105,109,105,122,101,100,46,32,79,116,104,101,114,32,112,111,115,115,105,98,108,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,97,114,101,32>>,{code,[],[<<100,101,98,117,103>>]},<<44,32>>,{code,[],[<<103,99,111,118>>]},<<44,32>>,{code,[],[<<118,97,108,103,114,105,110,100>>]},<<44,32>>,{code,[],[<<103,112,114,111,102>>]},<<44,32,97,110,100,32>>,{code,[],[<<108,99,110,116>>]},<<46,32,80,111,115,115,105,98,108,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,111,114,32,114,101,109,111,118,101,100,32,97,116,32,97,110,121,32,116,105,109,101,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,105,110,102,111>>}],[]},{code,[],[<<105,110,102,111>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,110,116,97,105,110,105,110,103,32,97,32,115,116,114,105,110,103,32,111,102,32,109,105,115,99,101,108,108,97,110,101,111,117,115,32,115,121,115,116,101,109,32,105,110,102,111,114,109,97,116,105,111,110,32,102,111,114,109,97,116,116,101,100,32,97,115,32,105,110,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,99,114,97,115,104,95,100,117,109,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<72,111,119,32,116,111,32,105,110,116,101,114,112,114,101,116,32,116,104,101,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,107,101,114,110,101,108,95,112,111,108,108>>}],[]},{code,[],[<<107,101,114,110,101,108,95,112,111,108,108>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,101,109,117,108,97,116,111,114,32,117,115,101,115,32,115,111,109,101,32,107,105,110,100,32,111,102,32,107,101,114,110,101,108,45,112,111,108,108,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,108,111,97,100,101,100>>}],[]},{code,[],[<<108,111,97,100,101,100>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,99,111,110,116,97,105,110,105,110,103,32,97,32,115,116,114,105,110,103,32,111,102,32,108,111,97,100,101,100,32,109,111,100,117,108,101,32,105,110,102,111,114,109,97,116,105,111,110,32,102,111,114,109,97,116,116,101,100,32,97,115,32,105,110,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,99,114,97,115,104,95,100,117,109,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<72,111,119,32,116,111,32,105,110,116,101,114,112,114,101,116,32,116,104,101,32,69,114,108,97,110,103,32,99,114,97,115,104,32,100,117,109,112,115>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,97,99,104,105,110,101>>}],[]},{code,[],[<<109,97,99,104,105,110,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,109,97,99,104,105,110,101,32,110,97,109,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,109,111,100,105,102,105,101,100,95,116,105,109,105,110,103,95,108,101,118,101,108>>}],[]},{code,[],[<<109,111,100,105,102,105,101,100,95,116,105,109,105,110,103,95,108,101,118,101,108>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,111,100,105,102,105,101,100,32,116,105,109,105,110,103,45,108,101,118,101,108,32,40,97,110,32,105,110,116,101,103,101,114,41,32,105,102,32,109,111,100,105,102,105,101,100,32,116,105,109,105,110,103,32,105,115,32,101,110,97,98,108,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,109,111,100,105,102,105,101,100,32,116,105,109,105,110,103,44,32,115,101,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,102,108,97,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,84>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,84>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]}]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,110,105,102,95,118,101,114,115,105,111,110>>}],[]},{code,[],[<<110,105,102,95,118,101,114,115,105,111,110>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,69,114,108,97,110,103,32,78,73,70,32,105,110,116,101,114,102,97,99,101,32,117,115,101,100,32,98,121,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46,32,73,116,32,105,115,32,111,110,32,116,104,101,32,102,111,114,109,32,34,60,109,97,106,111,114,32,118,101,114,62,46,60,109,105,110,111,114,32,118,101,114,62,34,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,111,116,112,95,114,101,108,101,97,115,101>>}],[]},{code,[],[<<111,116,112,95,114,101,108,101,97,115,101>>]}]},{dd,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,111,116,112,95,114,101,108,101,97,115,101>>}],[]},{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,79,84,80,32,114,101,108,101,97,115,101,32,110,117,109,98,101,114,32,111,102,32,116,104,101,32,79,84,80,32,114,101,108,101,97,115,101,32,116,104,97,116,32,116,104,101,32,99,117,114,114,101,110,116,108,121,32,101,120,101,99,117,116,105,110,103,32,69,82,84,83,32,97,112,112,108,105,99,97,116,105,111,110,32,105,115,32,112,97,114,116,32,111,102,46>>]},{p,[],[<<65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,49,55,44,32,116,104,101,32,79,84,80,32,114,101,108,101,97,115,101,32,110,117,109,98,101,114,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,109,97,106,111,114,32,79,84,80,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,46,32,78,111,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,105,110,102,111,40,41>>]},<<32,97,114,103,117,109,101,110,116,32,103,105,118,101,115,32,116,104,101,32,101,120,97,99,116,32,79,84,80,32,118,101,114,115,105,111,110,46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32,116,104,101,32,101,120,97,99,116,32,79,84,80,32,118,101,114,115,105,111,110,32,105,110,32,116,104,101,32,103,101,110,101,114,97,108,32,99,97,115,101,32,105,115,32,100,105,102,102,105,99,117,108,116,32,116,111,32,100,101,116,101,114,109,105,110,101,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,118,101,114,115,105,111,110,115,32,105,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,115,121,115,116,101,109,95,112,114,105,110,99,105,112,108,101,115,58,118,101,114,115,105,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<83,121,115,116,101,109,32,112,114,105,110,99,105,112,108,101,115>>]},<<32,105,110,32,83,121,115,116,101,109,32,68,111,99,117,109,101,110,116,97,116,105,111,110,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,111,117,116,115,116,97,110,100,105,110,103,95,115,121,115,116,101,109,95,114,101,113,117,101,115,116,115,95,108,105,109,105,116>>}],[]},{code,[],[<<111,117,116,115,116,97,110,100,105,110,103,95,115,121,115,116,101,109,95,114,101,113,117,101,115,116,115,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,108,105,109,105,116,32,111,110,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,111,117,116,115,116,97,110,100,105,110,103,32,114,101,113,117,101,115,116,115,32,109,97,100,101,32,98,121,32,97,32,115,121,115,116,101,109,32,112,114,111,99,101,115,115,32,111,114,99,104,101,115,116,114,97,116,105,110,103,32,115,121,115,116,101,109,32,119,105,100,101,32,99,104,97,110,103,101,115,46,32,83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,95,111,117,116,115,116,97,110,100,105,110,103,95,115,121,115,116,101,109,95,114,101,113,117,101,115,116,115,95,108,105,109,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,111,117,116,115,116,97,110,100,105,110,103,95,115,121,115,116,101,109,95,114,101,113,117,101,115,116,115,95,108,105,109,105,116,44,32,76,105,109,105,116,41>>]}]},<<32,102,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109>>}],[]},{code,[],[<<112,111,114,116,95,112,97,114,97,108,108,101,108,105,115,109>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,100,101,102,97,117,108,116,32,112,111,114,116,32,112,97,114,97,108,108,101,108,105,115,109,32,115,99,104,101,100,117,108,105,110,103,32,104,105,110,116,32,117,115,101,100,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,99,111,109,109,97,110,100,45,108,105,110,101,32,97,114,103,117,109,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,43,115,112,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<43,115,112,112>>]}]},<<32,105,110,32>>,{code,[],[<<101,114,108,40,49,41>>]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,121,115,116,101,109,95,97,114,99,104,105,116,101,99,116,117,114,101>>}],[]},{code,[],[<<115,121,115,116,101,109,95,97,114,99,104,105,116,101,99,116,117,114,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,112,114,111,99,101,115,115,111,114,32,97,110,100,32,79,83,32,97,114,99,104,105,116,101,99,116,117,114,101,32,116,104,101,32,101,109,117,108,97,116,111,114,32,105,115,32,98,117,105,108,116,32,102,111,114,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,121,115,116,101,109,95,108,111,103,103,101,114>>}],[]},{code,[],[<<115,121,115,116,101,109,95,108,111,103,103,101,114>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32>>,{code,[],[<<115,121,115,116,101,109,95,108,111,103,103,101,114>>]},<<32,97,115,32,115,101,116,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,102,108,97,103,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,102,108,97,103,40,115,121,115,116,101,109,95,108,111,103,103,101,114,44,32,95,41>>]}]},<<46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,115,121,115,116,101,109,95,118,101,114,115,105,111,110>>}],[]},{code,[],[<<115,121,115,116,101,109,95,118,101,114,115,105,111,110>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,32,97,110,100,32,115,111,109,101,32,105,109,112,111,114,116,97,110,116,32,112,114,111,112,101,114,116,105,101,115,44,32,115,117,99,104,32,97,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,99,104,101,100,117,108,101,114,115,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,116,114,97,99,101,95,99,111,110,116,114,111,108,95,119,111,114,100>>}],[]},{code,[],[<<116,114,97,99,101,95,99,111,110,116,114,111,108,95,119,111,114,100>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,110,111,100,101,32,116,114,97,99,101,32,99,111,110,116,114,111,108,32,119,111,114,100,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<103,101,116,95,116,99,119>>]},<<32,105,110,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,109,97,116,99,104,95,115,112,101,99,35,103,101,116,95,116,99,119>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<77,97,116,99,104,32,83,112,101,99,105,102,105,99,97,116,105,111,110,115,32,105,110,32,69,114,108,97,110,103>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,118,101,114,115,105,111,110>>}],[]},{code,[],[<<118,101,114,115,105,111,110>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,32,111,102,32,116,104,101,32,101,109,117,108,97,116,111,114,46>>]}]},{dt,[],[{a,[{id,<<115,121,115,116,101,109,95,105,110,102,111,95,119,111,114,100,115,105,122,101>>}],[]},{code,[],[<<119,111,114,100,115,105,122,101>>]}]},{dd,[],[{p,[],[<<83,97,109,101,32,97,115,32>>,{code,[],[<<123,119,111,114,100,115,105,122,101,44,32,105,110,116,101,114,110,97,108,125>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,119,111,114,100,115,105,122,101,44,32,105,110,116,101,114,110,97,108,125>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,105,122,101,32,111,102,32,69,114,108,97,110,103,32,116,101,114,109,32,119,111,114,100,115,32,105,110,32,98,121,116,101,115,32,97,115,32,97,110,32,105,110,116,101,103,101,114,44,32,116,104,97,116,32,105,115,44,32,52,32,105,115,32,114,101,116,117,114,110,101,100,32,111,110,32,97,32,51,50,45,98,105,116,32,97,114,99,104,105,116,101,99,116,117,114,101,44,32,97,110,100,32,56,32,105,115,32,114,101,116,117,114,110,101,100,32,111,110,32,97,32,54,52,45,98,105,116,32,97,114,99,104,105,116,101,99,116,117,114,101,46>>]}]},{dt,[],[{code,[],[<<123,119,111,114,100,115,105,122,101,44,32,101,120,116,101,114,110,97,108,125>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,116,114,117,101,32,119,111,114,100,32,115,105,122,101,32,111,102,32,116,104,101,32,101,109,117,108,97,116,111,114,44,32,116,104,97,116,32,105,115,44,32,116,104,101,32,115,105,122,101,32,111,102,32,97,32,112,111,105,110,116,101,114,46,32,84,104,101,32,118,97,108,117,101,32,105,115,32,103,105,118,101,110,32,105,110,32,98,121,116,101,115,32,97,115,32,97,110,32,105,110,116,101,103,101,114,46,32,79,110,32,97,32,112,117,114,101,32,51,50,45,98,105,116,32,97,114,99,104,105,116,101,99,116,117,114,101,44,32,52,32,105,115,32,114,101,116,117,114,110,101,100,46,32,79,110,32,97,32,54,52,45,98,105,116,32,97,114,99,104,105,116,101,99,116,117,114,101,44,32,56,32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]}]}]},#{signature => [{attribute,{3074,2},spec,{{erlang,system_info,1},[{type,{3094,10},'fun',[{type,{3094,10},product,[{atom,{3094,11},c_compiler_used}]},{type,{3094,31},tuple,[{type,{3094,32},atom,[]},{type,{3094,40},term,[]}]}]},{type,{3095,10},'fun',[{type,{3095,10},product,[{atom,{3095,11},check_io}]},{type,{3095,24},list,[{var,{3095,25},'_'}]}]},{type,{3096,10},'fun',[{type,{3096,10},product,[{atom,{3096,11},compat_rel}]},{type,{3096,26},integer,[]}]},{type,{3103,10},'fun',[{type,{3103,10},product,[{atom,{3103,11},delayed_node_table_gc}]},{type,{3103,37},union,[{atom,{3103,37},infinity},{type,{3103,48},non_neg_integer,[]}]}]},{type,{3112,10},'fun',[{type,{3112,10},product,[{atom,{3112,11},dynamic_trace}]},{type,{3112,29},union,[{atom,{3112,29},none},{atom,{3112,36},dtrace},{atom,{3112,45},systemtap}]}]},{type,{3113,10},'fun',[{type,{3113,10},product,[{atom,{3113,11},dynamic_trace_probes}]},{type,{3113,36},boolean,[]}]},{type,{3114,10},'fun',[{type,{3114,10},product,[{atom,{3114,11},eager_check_io}]},{type,{3114,30},boolean,[]}]},{type,{3116,10},'fun',[{type,{3116,10},product,[{atom,{3116,11},emu_type}]},{type,{3116,24},union,[{atom,{3116,24},opt},{atom,{3116,30},debug},{atom,{3116,38},gcov},{atom,{3116,45},valgrind},{atom,{3116,56},gprof},{atom,{3116,64},lcnt},{atom,{3116,71},frmptr}]}]},{type,{3117,10},'fun',[{type,{3117,10},product,[{atom,{3117,11},end_time}]},{type,{3117,24},non_neg_integer,[]}]},{type,{3125,10},'fun',[{type,{3125,10},product,[{atom,{3125,11},kernel_poll}]},{type,{3125,27},boolean,[]}]},{type,{3126,10},'fun',[{type,{3126,10},product,[{atom,{3126,11},loaded}]},{type,{3126,22},binary,[]}]},{type,{3127,10},'fun',[{type,{3127,10},product,[{type,{3127,11},union,[{atom,{3127,11},logical_processors},{atom,{3128,11},logical_processors_available},{atom,{3129,11},logical_processors_online}]}]},{type,{3129,41},union,[{atom,{3129,41},unknown},{type,{3129,51},pos_integer,[]}]}]},{type,{3131,10},'fun',[{type,{3131,10},product,[{atom,{3131,11},max_heap_size}]},{type,{3131,29},tuple,[{atom,{3131,30},max_heap_size},{ann_type,{3131,45},[{var,{3131,45},'MaxHeapSize'},{user_type,{3131,60},max_heap_size,[]}]}]}]},{type,{3137,10},'fun',[{type,{3137,10},product,[{atom,{3137,11},multi_scheduling}]},{type,{3137,32},union,[{atom,{3137,32},disabled},{atom,{3137,43},blocked},{atom,{3137,53},blocked_normal},{atom,{3137,70},enabled}]}]},{type,{3140,10},'fun',[{type,{3140,10},product,[{atom,{3140,11},normal_multi_scheduling_blockers}]},{type,{3140,48},list,[{ann_type,{3140,49},[{var,{3140,49},'Pid'},{type,{3140,56},pid,[]}]}]}]},{type,{3142,10},'fun',[{type,{3142,10},product,[{atom,{3142,11},os_monotonic_time_source}]},{type,{3142,40},list,[{type,{3142,41},tuple,[{type,{3142,42},atom,[]},{type,{3142,49},term,[]}]}]}]},{type,{3145,10},'fun',[{type,{3145,10},product,[{atom,{3145,11},port_parallelism}]},{type,{3145,32},boolean,[]}]},{type,{3146,10},'fun',[{type,{3146,10},product,[{atom,{3146,11},port_count}]},{type,{3146,26},non_neg_integer,[]}]},{type,{3165,10},'fun',[{type,{3165,10},product,[{atom,{3165,11},system_logger}]},{type,{3165,29},union,[{atom,{3165,29},logger},{atom,{3165,38},undefined},{type,{3165,50},pid,[]}]}]},{type,{3166,10},'fun',[{type,{3166,10},product,[{atom,{3166,11},system_version}]},{type,{3166,30},string,[]}]},{type,{3167,10},'fun',[{type,{3167,10},product,[{atom,{3167,11},threads}]},{type,{3167,23},boolean,[]}]},{type,{3174,10},'fun',[{type,{3174,10},product,[{atom,{3174,11},update_cpu_info}]},{type,{3174,31},union,[{atom,{3174,31},changed},{atom,{3174,41},unchanged}]}]},{type,{3176,10},'fun',[{type,{3176,10},product,[{type,{3176,11},union,[{atom,{3176,11},wordsize},{type,{3176,22},tuple,[{atom,{3176,23},wordsize},{atom,{3176,33},internal}]},{type,{3176,45},tuple,[{atom,{3176,46},wordsize},{atom,{3176,56},external}]}]}]},{type,{3176,70},union,[{integer,{3176,70},4},{integer,{3176,74},8}]}]},{type,{3177,10},'fun',[{type,{3177,10},product,[{atom,{3177,11},async_dist}]},{type,{3177,26},boolean,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,50,52,51>>,since => <<79,84,80,32,49,55,46,52,44,79,84,80,32,50,49,46,51,44,79,84,80,32,50,52,46,48,44,79,84,80,32,50,52,46,50,44,79,84,80,32,82,49,53,66,48,49,44,79,84,80,32,82,49,54,66>>}},{{function,system_monitor,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2250}],[<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,48>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,105,110,103,32,115,101,116,116,105,110,103,115,32,115,101,116,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50>>]}]},<<32,97,115,32>>,{code,[],[<<123,77,111,110,105,116,111,114,80,105,100,44,32,79,112,116,105,111,110,115,125>>]},<<44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,110,111,32,115,101,116,116,105,110,103,115,32,101,120,105,115,116,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,111,112,116,105,111,110,115,32,99,97,110,32,98,101,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,116,104,101,32,111,110,101,32,116,104,97,116,32,119,97,115,32,115,101,116,46>>]}]},#{signature => [{attribute,{2250,2},spec,{{erlang,system_monitor,0},[{type,{2250,28},bounded_fun,[{type,{2250,28},'fun',[{type,{2250,28},product,[]},{var,{2250,34},'MonSettings'}]},[{type,{2251,7},constraint,[{atom,{2251,7},is_subtype},[{var,{2251,7},'MonSettings'},{type,{2251,22},union,[{atom,{2251,22},undefined},{type,{2251,34},tuple,[{var,{2251,36},'MonitorPid'},{var,{2251,48},'Options'}]}]}]]},{type,{2252,7},constraint,[{atom,{2252,7},is_subtype},[{var,{2252,7},'MonitorPid'},{type,{2252,21},pid,[]}]]},{type,{2253,7},constraint,[{atom,{2253,7},is_subtype},[{var,{2253,7},'Options'},{type,{2253,18},list,[{user_type,{2253,20},system_monitor_option,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,53,54,49>>}},{{function,system_monitor,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2258}],[<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,49>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<87,104,101,110,32,99,97,108,108,101,100,32,119,105,116,104,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<44,32,97,108,108,32,115,121,115,116,101,109,32,112,101,114,102,111,114,109,97,110,99,101,32,109,111,110,105,116,111,114,105,110,103,32,115,101,116,116,105,110,103,115,32,97,114,101,32,99,108,101,97,114,101,100,46>>]},{p,[],[<<67,97,108,108,105,110,103,32,116,104,101,32,102,117,110,99,116,105,111,110,32,119,105,116,104,32>>,{code,[],[<<123,77,111,110,105,116,111,114,80,105,100,44,32,79,112,116,105,111,110,115,125>>]},<<32,97,115,32,97,114,103,117,109,101,110,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,109,111,110,105,116,111,114,40,77,111,110,105,116,111,114,80,105,100,44,32,79,112,116,105,111,110,115,41>>]}]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,101,118,105,111,117,115,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,32,115,101,116,116,105,110,103,115,32,106,117,115,116,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,48>>]}]},<<46>>]}]},#{signature => [{attribute,{2258,2},spec,{{erlang,system_monitor,1},[{type,{2258,28},bounded_fun,[{type,{2258,28},'fun',[{type,{2258,28},product,[{var,{2258,29},'Arg'}]},{var,{2258,37},'MonSettings'}]},[{type,{2259,7},constraint,[{atom,{2259,7},is_subtype},[{var,{2259,7},'Arg'},{type,{2259,14},union,[{atom,{2259,14},undefined},{type,{2259,26},tuple,[{var,{2259,28},'MonitorPid'},{var,{2259,40},'Options'}]}]}]]},{type,{2260,7},constraint,[{atom,{2260,7},is_subtype},[{var,{2260,7},'MonSettings'},{type,{2260,22},union,[{atom,{2260,22},undefined},{type,{2260,34},tuple,[{var,{2260,36},'MonitorPid'},{var,{2260,48},'Options'}]}]}]]},{type,{2261,7},constraint,[{atom,{2261,7},is_subtype},[{var,{2261,7},'MonitorPid'},{type,{2261,21},pid,[]}]]},{type,{2262,7},constraint,[{atom,{2262,7},is_subtype},[{var,{2262,7},'Options'},{type,{2262,18},list,[{user_type,{2262,20},system_monitor_option,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,53,55,53>>}},{{function,system_monitor,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2267}],[<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<83,101,116,115,32,116,104,101,32,115,121,115,116,101,109,32,112,101,114,102,111,114,109,97,110,99,101,32,109,111,110,105,116,111,114,105,110,103,32,111,112,116,105,111,110,115,46,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<32,105,115,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,114,101,99,101,105,118,105,110,103,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,115,46,32,84,104,101,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,105,115,32,97,32,108,105,115,116,32,111,102,32,109,111,110,105,116,111,114,105,110,103,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,108,111,110,103,95,103,99,44,32,84,105,109,101,125>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,116,97,107,101,115,32,97,116,32,108,101,97,115,116,32>>,{code,[],[<<84,105,109,101>>]},<<32,119,97,108,108,32,99,108,111,99,107,32,109,105,108,108,105,115,101,99,111,110,100,115,44,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,109,111,110,105,116,111,114,44,32,71,99,80,105,100,44,32,108,111,110,103,95,103,99,44,32,73,110,102,111,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<46,32>>,{code,[],[<<71,99,80,105,100>>]},<<32,105,115,32,116,104,101,32,112,105,100,32,116,104,97,116,32,119,97,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,101,100,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,119,111,45,101,108,101,109,101,110,116,32,116,117,112,108,101,115,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46>>]},{p,[],[<<79,110,101,32,111,102,32,116,104,101,32,116,117,112,108,101,115,32,105,115,32>>,{code,[],[<<123,116,105,109,101,111,117,116,44,32,71,99,84,105,109,101,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<71,99,84,105,109,101>>]},<<32,105,115,32,116,104,101,32,116,105,109,101,32,102,111,114,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,110,32,109,105,108,108,105,115,101,99,111,110,100,115,46,32,84,104,101,32,111,116,104,101,114,32,116,117,112,108,101,115,32,97,114,101,32,116,97,103,103,101,100,32,119,105,116,104,32>>,{code,[],[<<104,101,97,112,95,115,105,122,101>>]},<<44,32>>,{code,[],[<<104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]},<<44,32>>,{code,[],[<<115,116,97,99,107,95,115,105,122,101>>]},<<44,32>>,{code,[],[<<109,98,117,102,95,115,105,122,101>>]},<<44,32>>,{code,[],[<<111,108,100,95,104,101,97,112,95,115,105,122,101>>]},<<44,32,97,110,100,32>>,{code,[],[<<111,108,100,95,104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]},<<46,32,84,104,101,115,101,32,116,117,112,108,101,115,32,97,114,101,32,101,120,112,108,97,105,110,101,100,32,105,110,32,116,104,101,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,103,99,95,109,105,110,111,114,95,115,116,97,114,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>]}]},<<32,40,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<41,46,32,78,101,119,32,116,117,112,108,101,115,32,99,97,110,32,98,101,32,97,100,100,101,100,44,32,97,110,100,32,116,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,116,117,112,108,101,115,32,105,110,32,116,104,101,32>>,{code,[],[<<73,110,102,111>>]},<<32,108,105,115,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,97,116,32,97,110,121,32,116,105,109,101,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]}]},{dt,[],[{code,[],[<<123,108,111,110,103,95,115,99,104,101,100,117,108,101,44,32,84,105,109,101,125>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,114,117,110,115,32,117,110,105,110,116,101,114,114,117,112,116,101,100,32,102,111,114,32,97,116,32,108,101,97,115,116,32>>,{code,[],[<<84,105,109,101>>]},<<32,119,97,108,108,32,99,108,111,99,107,32,109,105,108,108,105,115,101,99,111,110,100,115,44,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,109,111,110,105,116,111,114,44,32,80,105,100,79,114,80,111,114,116,44,32,108,111,110,103,95,115,99,104,101,100,117,108,101,44,32,73,110,102,111,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<46,32>>,{code,[],[<<80,105,100,79,114,80,111,114,116>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,116,104,97,116,32,119,97,115,32,114,117,110,110,105,110,103,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,119,111,45,101,108,101,109,101,110,116,32,116,117,112,108,101,115,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,101,118,101,110,116,46>>]},{p,[],[<<73,102,32,97,32>>,{code,[],[<<112,105,100,40,41>>]},<<44,32,116,104,101,32,116,117,112,108,101,115,32>>,{code,[],[<<123,116,105,109,101,111,117,116,44,32,77,105,108,108,105,115,125>>]},<<44,32>>,{code,[],[<<123,105,110,44,32,76,111,99,97,116,105,111,110,125>>]},<<44,32,97,110,100,32>>,{code,[],[<<123,111,117,116,44,32,76,111,99,97,116,105,111,110,125>>]},<<32,97,114,101,32,112,114,101,115,101,110,116,44,32,119,104,101,114,101,32>>,{code,[],[<<76,111,99,97,116,105,111,110>>]},<<32,105,115,32,101,105,116,104,101,114,32,97,110,32,77,70,65,32,40>>,{code,[],[<<123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,125>>]},<<41,32,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,102,117,110,99,116,105,111,110,32,119,104,101,114,101,32,116,104,101,32,112,114,111,99,101,115,115,32,119,97,115,32,115,99,104,101,100,117,108,101,100,32,105,110,47,111,117,116,44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]},{p,[],[<<73,102,32,97,32>>,{code,[],[<<112,111,114,116,40,41>>]},<<44,32,116,104,101,32,116,117,112,108,101,115,32>>,{code,[],[<<123,116,105,109,101,111,117,116,44,32,77,105,108,108,105,115,125>>]},<<32,97,110,100,32>>,{code,[],[<<123,112,111,114,116,95,111,112,44,79,112,125>>]},<<32,97,114,101,32,112,114,101,115,101,110,116,46,32>>,{code,[],[<<79,112>>]},<<32,105,115,32,111,110,101,32,111,102,32>>,{code,[],[<<112,114,111,99,95,115,105,103>>]},<<44,32>>,{code,[],[<<116,105,109,101,111,117,116>>]},<<44,32>>,{code,[],[<<105,110,112,117,116>>]},<<44,32>>,{code,[],[<<111,117,116,112,117,116>>]},<<44,32>>,{code,[],[<<101,118,101,110,116>>]},<<44,32,111,114,32>>,{code,[],[<<100,105,115,116,95,99,109,100>>]},<<44,32,100,101,112,101,110,100,105,110,103,32,111,110,32,119,104,105,99,104,32,100,114,105,118,101,114,32,99,97,108,108,98,97,99,107,32,119,97,115,32,101,120,101,99,117,116,105,110,103,46>>]},{p,[],[{code,[],[<<112,114,111,99,95,115,105,103>>]},<<32,105,115,32,97,110,32,105,110,116,101,114,110,97,108,32,111,112,101,114,97,116,105,111,110,32,97,110,100,32,105,115,32,110,101,118,101,114,32,116,111,32,97,112,112,101,97,114,44,32,119,104,105,108,101,32,116,104,101,32,111,116,104,101,114,115,32,114,101,112,114,101,115,101,110,116,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,100,114,105,118,101,114,32,99,97,108,108,98,97,99,107,115,32>>,{code,[],[<<116,105,109,101,111,117,116>>]},<<44,32>>,{code,[],[<<114,101,97,100,121,95,105,110,112,117,116>>]},<<44,32>>,{code,[],[<<114,101,97,100,121,95,111,117,116,112,117,116>>]},<<44,32>>,{code,[],[<<101,118,101,110,116>>]},<<44,32,97,110,100,32>>,{code,[],[<<111,117,116,112,117,116,118>>]},<<32,40,119,104,101,110,32,116,104,101,32,112,111,114,116,32,105,115,32,117,115,101,100,32,98,121,32,100,105,115,116,114,105,98,117,116,105,111,110,41,46,32,86,97,108,117,101,32>>,{code,[],[<<77,105,108,108,105,115>>]},<<32,105,110,32,116,117,112,108,101,32>>,{code,[],[<<116,105,109,101,111,117,116>>]},<<32,105,110,102,111,114,109,115,32,97,98,111,117,116,32,116,104,101,32,117,110,105,110,116,101,114,114,117,112,116,101,100,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,44,32,119,104,105,99,104,32,97,108,119,97,121,115,32,105,115,32,101,113,117,97,108,32,116,111,32,111,114,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32>>,{code,[],[<<84,105,109,101>>]},<<32,118,97,108,117,101,32,115,117,112,112,108,105,101,100,32,119,104,101,110,32,115,116,97,114,116,105,110,103,32,116,104,101,32,116,114,97,99,101,46,32,78,101,119,32,116,117,112,108,101,115,32,99,97,110,32,98,101,32,97,100,100,101,100,32,116,111,32,116,104,101,32>>,{code,[],[<<73,110,102,111>>]},<<32,108,105,115,116,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,116,117,112,108,101,115,32,105,110,32,116,104,101,32,108,105,115,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,97,116,32,97,110,121,32,116,105,109,101,32,119,105,116,104,111,117,116,32,112,114,105,111,114,32,110,111,116,105,99,101,46>>]},{p,[],[<<84,104,105,115,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,100,101,116,101,99,116,32,112,114,111,98,108,101,109,115,32,119,105,116,104,32,78,73,70,115,32,111,114,32,100,114,105,118,101,114,115,32,116,104,97,116,32,116,97,107,101,32,116,111,111,32,108,111,110,103,32,116,111,32,101,120,101,99,117,116,101,46,32,49,32,109,115,32,105,115,32,99,111,110,115,105,100,101,114,101,100,32,97,32,103,111,111,100,32,109,97,120,105,109,117,109,32,116,105,109,101,32,102,111,114,32,97,32,100,114,105,118,101,114,32,99,97,108,108,98,97,99,107,32,111,114,32,97,32,78,73,70,46,32,72,111,119,101,118,101,114,44,32,97,32,116,105,109,101,45,115,104,97,114,105,110,103,32,115,121,115,116,101,109,32,105,115,32,117,115,117,97,108,108,121,32,116,111,32,99,111,110,115,105,100,101,114,32,101,118,101,114,121,116,104,105,110,103,32,60,32,49,48,48,32,109,115,32,97,115,32,34,112,111,115,115,105,98,108,101,34,32,97,110,100,32,102,97,105,114,108,121,32,34,110,111,114,109,97,108,34,46,32,72,111,119,101,118,101,114,44,32,108,111,110,103,101,114,32,115,99,104,101,100,117,108,101,32,116,105,109,101,115,32,99,97,110,32,105,110,100,105,99,97,116,101,32,115,119,97,112,112,105,110,103,32,111,114,32,97,32,109,105,115,98,101,104,97,118,105,110,103,32,78,73,70,47,100,114,105,118,101,114,46,32,77,105,115,98,101,104,97,118,105,110,103,32,78,73,70,115,32,97,110,100,32,100,114,105,118,101,114,115,32,99,97,110,32,99,97,117,115,101,32,98,97,100,32,114,101,115,111,117,114,99,101,32,117,116,105,108,105,122,97,116,105,111,110,32,97,110,100,32,98,97,100,32,111,118,101,114,97,108,108,32,115,121,115,116,101,109,32,112,101,114,102,111,114,109,97,110,99,101,46>>]}]},{dt,[],[{code,[],[<<123,108,97,114,103,101,95,104,101,97,112,44,32,83,105,122,101,125>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,114,101,115,117,108,116,115,32,105,110,32,116,104,101,32,97,108,108,111,99,97,116,101,100,32,115,105,122,101,32,111,102,32,97,32,104,101,97,112,32,98,101,105,110,103,32,97,116,32,108,101,97,115,116,32>>,{code,[],[<<83,105,122,101>>]},<<32,119,111,114,100,115,44,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,109,111,110,105,116,111,114,44,32,71,99,80,105,100,44,32,108,97,114,103,101,95,104,101,97,112,44,32,73,110,102,111,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<46,32>>,{code,[],[<<71,99,80,105,100>>]},<<32,97,110,100,32>>,{code,[],[<<73,110,102,111>>]},<<32,97,114,101,32,116,104,101,32,115,97,109,101,32,97,115,32,102,111,114,32>>,{code,[],[<<108,111,110,103,95,103,99>>]},<<32,101,97,114,108,105,101,114,44,32,101,120,99,101,112,116,32,116,104,97,116,32,116,104,101,32,116,117,112,108,101,32,116,97,103,103,101,100,32,119,105,116,104,32>>,{code,[],[<<116,105,109,101,111,117,116>>]},<<32,105,115,32,110,111,116,32,112,114,101,115,101,110,116,46>>]},{p,[],[<<84,104,101,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,105,102,32,116,104,101,32,115,117,109,32,111,102,32,116,104,101,32,115,105,122,101,115,32,111,102,32,97,108,108,32,109,101,109,111,114,121,32,98,108,111,99,107,115,32,97,108,108,111,99,97,116,101,100,32,102,111,114,32,97,108,108,32,104,101,97,112,32,103,101,110,101,114,97,116,105,111,110,115,32,97,102,116,101,114,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,111,114,32,104,105,103,104,101,114,32,116,104,97,110,32>>,{code,[],[<<83,105,122,101>>]},<<46>>]},{p,[],[<<87,104,101,110,32,97,32,112,114,111,99,101,115,115,32,105,115,32,107,105,108,108,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]}]},<<44,32,105,116,32,105,115,32,107,105,108,108,101,100,32,98,101,102,111,114,101,32,116,104,101,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,99,111,109,112,108,101,116,101,32,97,110,100,32,116,104,117,115,32,110,111,32,108,97,114,103,101,32,104,101,97,112,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,46>>]}]},{dt,[],[{code,[],[<<98,117,115,121,95,112,111,114,116>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,112,114,111,99,101,115,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,103,101,116,115,32,115,117,115,112,101,110,100,101,100,32,98,101,99,97,117,115,101,32,105,116,32,115,101,110,100,115,32,116,111,32,97,32,98,117,115,121,32,112,111,114,116,44,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,109,111,110,105,116,111,114,44,32,83,117,115,80,105,100,44,32,98,117,115,121,95,112,111,114,116,44,32,80,111,114,116,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<46,32>>,{code,[],[<<83,117,115,80,105,100>>]},<<32,105,115,32,116,104,101,32,112,105,100,32,116,104,97,116,32,103,111,116,32,115,117,115,112,101,110,100,101,100,32,119,104,101,110,32,115,101,110,100,105,110,103,32,116,111,32>>,{code,[],[<<80,111,114,116>>]},<<46>>]}]},{dt,[],[{code,[],[<<98,117,115,121,95,100,105,115,116,95,112,111,114,116>>]},{a,[{id,<<98,117,115,121,95,100,105,115,116,95,112,111,114,116>>}],[]}]},{dd,[],[{p,[],[<<73,102,32,97,32,112,114,111,99,101,115,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,32,103,101,116,115,32,115,117,115,112,101,110,100,101,100,32,98,101,99,97,117,115,101,32,105,116,32,115,101,110,100,115,32,116,111,32,97,32,112,114,111,99,101,115,115,32,111,110,32,97,32,114,101,109,111,116,101,32,110,111,100,101,32,119,104,111,115,101,32,105,110,116,101,114,45,110,111,100,101,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,119,97,115,32,104,97,110,100,108,101,100,32,98,121,32,97,32,98,117,115,121,32,112,111,114,116,44,32,97,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,109,111,110,105,116,111,114,44,32,83,117,115,80,105,100,44,32,98,117,115,121,95,100,105,115,116,95,112,111,114,116,44,32,80,111,114,116,125>>]},<<32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<46,32>>,{code,[],[<<83,117,115,80,105,100>>]},<<32,105,115,32,116,104,101,32,112,105,100,32,116,104,97,116,32,103,111,116,32,115,117,115,112,101,110,100,101,100,32,119,104,101,110,32,115,101,110,100,105,110,103,32,116,104,114,111,117,103,104,32,116,104,101,32,105,110,116,101,114,45,110,111,100,101,32,99,111,109,109,117,110,105,99,97,116,105,111,110,32,112,111,114,116,32>>,{code,[],[<<80,111,114,116>>]},<<46>>]}]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,101,118,105,111,117,115,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,32,115,101,116,116,105,110,103,115,32,106,117,115,116,32,108,105,107,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,48>>]}]},<<46>>]},{p,[],[<<84,104,101,32,97,114,103,117,109,101,110,116,115,32,116,111,32>>,{code,[],[<<115,121,115,116,101,109,95,109,111,110,105,116,111,114,47,50>>]},<<32,115,112,101,99,105,102,105,101,115,32,104,111,119,32,97,108,108,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,105,110,103,32,111,110,32,116,104,101,32,110,111,100,101,32,115,104,111,117,108,100,32,98,101,32,100,111,110,101,44,32,110,111,116,32,104,111,119,32,105,116,32,115,104,111,117,108,100,32,98,101,32,99,104,97,110,103,101,100,46,32,84,104,105,115,32,109,101,97,110,115,32,111,110,108,121,32,111,110,101,32,112,114,111,99,101,115,115,32,97,116,32,97,32,116,105,109,101,32,40>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<41,32,99,97,110,32,98,101,32,116,104,101,32,114,101,99,101,105,118,101,114,32,111,102,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,115,46,32,65,108,115,111,44,32,116,104,101,32,119,97,121,32,116,111,32,99,108,101,97,114,32,97,32,115,112,101,99,105,102,105,99,32,109,111,110,105,116,111,114,32,111,112,116,105,111,110,32,105,115,32,116,111,32,110,111,116,32,105,110,99,108,117,100,101,32,105,116,32,105,110,32,116,104,101,32,108,105,115,116,32>>,{code,[],[<<79,112,116,105,111,110,115>>]},<<46,32,65,108,108,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,105,110,103,32,119,105,108,108,44,32,104,111,119,101,118,101,114,44,32,98,101,32,99,108,101,97,114,101,100,32,105,102,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<32,116,101,114,109,105,110,97,116,101,115,46>>]},{p,[],[<<84,104,101,114,101,32,97,114,101,32,110,111,32,115,112,101,99,105,97,108,32,111,112,116,105,111,110,32,118,97,108,117,101,115,32,40,108,105,107,101,32,122,101,114,111,41,32,116,111,32,99,108,101,97,114,32,97,110,32,111,112,116,105,111,110,46,32,83,111,109,101,32,111,102,32,116,104,101,32,111,112,116,105,111,110,115,32,104,97,118,101,32,97,32,117,110,115,112,101,99,105,102,105,101,100,32,109,105,110,105,109,117,109,32,118,97,108,117,101,46,32,76,111,119,101,114,32,118,97,108,117,101,115,32,119,105,108,108,32,98,101,32,97,100,106,117,115,116,101,100,32,116,111,32,116,104,101,32,109,105,110,105,109,117,109,32,118,97,108,117,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,116,32,105,115,32,99,117,114,114,101,110,116,108,121,32,110,111,116,32,112,111,115,115,105,98,108,101,32,116,111,32,109,111,110,105,116,111,114,32,97,108,108,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32>>,{code,[],[<<123,108,111,110,103,95,103,99,44,32,48,125>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,102,32,97,32,109,111,110,105,116,111,114,105,110,103,32,112,114,111,99,101,115,115,32,103,101,116,115,32,115,111,32,108,97,114,103,101,32,116,104,97,116,32,105,116,32,105,116,115,101,108,102,32,115,116,97,114,116,115,32,116,111,32,99,97,117,115,101,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,32,109,101,115,115,97,103,101,115,32,119,104,101,110,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,110,103,44,32,116,104,101,32,109,101,115,115,97,103,101,115,32,101,110,108,97,114,103,101,32,116,104,101,32,112,114,111,99,101,115,115,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,97,110,100,32,112,114,111,98,97,98,108,121,32,109,97,107,101,32,116,104,101,32,112,114,111,98,108,101,109,32,119,111,114,115,101,46>>]},{p,[],[<<75,101,101,112,32,116,104,101,32,109,111,110,105,116,111,114,105,110,103,32,112,114,111,99,101,115,115,32,110,101,97,116,32,97,110,100,32,100,111,32,110,111,116,32,115,101,116,32,116,104,101,32,115,121,115,116,101,109,32,109,111,110,105,116,111,114,32,108,105,109,105,116,115,32,116,111,111,32,116,105,103,104,116,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<73,102,32>>,{code,[],[<<77,111,110,105,116,111,114,80,105,100>>]},<<32,105,115,32,110,111,116,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,46>>]}]}]},#{signature => [{attribute,{2267,2},spec,{{erlang,system_monitor,2},[{type,{2267,28},bounded_fun,[{type,{2267,28},'fun',[{type,{2267,28},product,[{var,{2267,29},'MonitorPid'},{var,{2267,41},'Options'}]},{var,{2267,53},'MonSettings'}]},[{type,{2268,7},constraint,[{atom,{2268,7},is_subtype},[{var,{2268,7},'MonitorPid'},{type,{2268,21},pid,[]}]]},{type,{2269,7},constraint,[{atom,{2269,7},is_subtype},[{var,{2269,7},'Options'},{type,{2269,18},list,[{user_type,{2269,20},system_monitor_option,[]}]}]]},{type,{2270,7},constraint,[{atom,{2270,7},is_subtype},[{var,{2270,7},'MonSettings'},{type,{2270,22},union,[{atom,{2270,22},undefined},{type,{2270,34},tuple,[{var,{2270,36},'OldMonitorPid'},{var,{2270,51},'OldOptions'}]}]}]]},{type,{2271,7},constraint,[{atom,{2271,7},is_subtype},[{var,{2271,7},'OldMonitorPid'},{type,{2271,24},pid,[]}]]},{type,{2272,7},constraint,[{atom,{2272,7},is_subtype},[{var,{2272,7},'OldOptions'},{type,{2272,21},list,[{user_type,{2272,23},system_monitor_option,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,53,57,51>>}},{{function,system_profile,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2277}],[<<115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,48>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<115,121,115,116,101,109,95,112,114,111,102,105,108,101,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,112,114,111,102,105,108,105,110,103,32,115,101,116,116,105,110,103,115,32,115,101,116,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,50>>]}]},<<32,97,115,32>>,{code,[],[<<123,80,114,111,102,105,108,101,114,80,105,100,44,32,79,112,116,105,111,110,115,125>>]},<<44,32,111,114,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,114,101,32,97,114,101,32,110,111,32,115,101,116,116,105,110,103,115,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,111,112,116,105,111,110,115,32,99,97,110,32,98,101,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,116,104,101,32,111,110,101,32,116,104,97,116,32,119,97,115,32,115,101,116,46>>]}]},#{signature => [{attribute,{2277,2},spec,{{erlang,system_profile,0},[{type,{2277,28},bounded_fun,[{type,{2277,28},'fun',[{type,{2277,28},product,[]},{var,{2277,34},'ProfilerSettings'}]},[{type,{2278,7},constraint,[{atom,{2278,7},is_subtype},[{var,{2278,7},'ProfilerSettings'},{type,{2278,27},union,[{atom,{2278,27},undefined},{type,{2278,39},tuple,[{var,{2278,41},'ProfilerPid'},{var,{2278,54},'Options'}]}]}]]},{type,{2279,7},constraint,[{atom,{2279,7},is_subtype},[{var,{2279,7},'ProfilerPid'},{type,{2279,22},union,[{type,{2279,22},pid,[]},{type,{2279,30},port,[]}]}]]},{type,{2280,7},constraint,[{atom,{2280,7},is_subtype},[{var,{2280,7},'Options'},{type,{2280,18},list,[{user_type,{2280,20},system_profile_option,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,55,51,55>>}},{{function,system_profile,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2285}],[<<115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<115,121,115,116,101,109,95,112,114,111,102,105,108,101,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<83,101,116,115,32,115,121,115,116,101,109,32,112,114,111,102,105,108,101,114,32,111,112,116,105,111,110,115,46,32>>,{code,[],[<<80,114,111,102,105,108,101,114,80,105,100>>]},<<32,105,115,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,111,114,32,112,111,114,116,32,114,101,99,101,105,118,105,110,103,32,112,114,111,102,105,108,105,110,103,32,109,101,115,115,97,103,101,115,46,32,84,104,101,32,114,101,99,101,105,118,101,114,32,105,115,32,101,120,99,108,117,100,101,100,32,102,114,111,109,32,97,108,108,32,112,114,111,102,105,108,105,110,103,46,32,84,104,101,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,105,115,32,97,32,108,105,115,116,32,111,102,32,112,114,111,102,105,108,105,110,103,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,120,99,108,117,115,105,118,101>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,115,121,110,99,104,114,111,110,111,117,115,32,99,97,108,108,32,116,111,32,97,32,112,111,114,116,32,102,114,111,109,32,97,32,112,114,111,99,101,115,115,32,105,115,32,100,111,110,101,44,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,99,111,110,115,105,100,101,114,101,100,32,110,111,116,32,114,117,110,110,97,98,108,101,32,100,117,114,105,110,103,32,116,104,101,32,99,97,108,108,32,114,117,110,116,105,109,101,32,116,111,32,116,104,101,32,112,111,114,116,46,32,84,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,105,102,105,101,100,32,97,115,32>>,{code,[],[<<105,110,97,99,116,105,118,101>>]},<<44,32,97,110,100,32,108,97,116,101,114,32>>,{code,[],[<<97,99,116,105,118,101>>]},<<32,119,104,101,110,32,116,104,101,32,112,111,114,116,32,99,97,108,108,98,97,99,107,32,114,101,116,117,114,110,115,46>>]}]},{dt,[],[{code,[],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]}]},{dd,[],[{p,[],[<<84,105,109,101,32,115,116,97,109,112,115,32,105,110,32,112,114,111,102,105,108,101,32,109,101,115,115,97,103,101,115,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<46,32,84,104,101,32,116,105,109,101,32,115,116,97,109,112,32,40,84,115,41,32,104,97,115,32,116,104,101,32,115,97,109,101,32,102,111,114,109,97,116,32,97,110,100,32,118,97,108,117,101,32,97,115,32,112,114,111,100,117,99,101,100,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,110,97,110,111,115,101,99,111,110,100,41>>]},<<46>>]}]},{dt,[],[{code,[],[<<114,117,110,110,97,98,108,101,95,112,114,111,99,115>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,112,114,111,99,101,115,115,32,105,115,32,112,117,116,32,105,110,116,111,32,111,114,32,114,101,109,111,118,101,100,32,102,114,111,109,32,116,104,101,32,114,117,110,32,113,117,101,117,101,44,32,97,32,109,101,115,115,97,103,101,44,32>>,{code,[],[<<123,112,114,111,102,105,108,101,44,32,80,105,100,44,32,83,116,97,116,101,44,32,77,102,97,44,32,84,115,125>>]},<<44,32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<80,114,111,102,105,108,101,114,80,105,100>>]},<<46,32,82,117,110,110,105,110,103,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,97,114,101,32,114,101,105,110,115,101,114,116,101,100,32,105,110,116,111,32,116,104,101,32,114,117,110,32,113,117,101,117,101,32,97,102,116,101,114,32,104,97,118,105,110,103,32,98,101,101,110,32,112,114,101,45,101,109,112,116,101,100,32,100,111,32,110,111,116,32,116,114,105,103,103,101,114,32,116,104,105,115,32,109,101,115,115,97,103,101,46>>]}]},{dt,[],[{code,[],[<<114,117,110,110,97,98,108,101,95,112,111,114,116,115>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,112,111,114,116,32,105,115,32,112,117,116,32,105,110,116,111,32,111,114,32,114,101,109,111,118,101,100,32,102,114,111,109,32,116,104,101,32,114,117,110,32,113,117,101,117,101,44,32,97,32,109,101,115,115,97,103,101,44,32>>,{code,[],[<<123,112,114,111,102,105,108,101,44,32,80,111,114,116,44,32,83,116,97,116,101,44,32,48,44,32,84,115,125>>]},<<44,32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<80,114,111,102,105,108,101,114,80,105,100>>]},<<46>>]}]},{dt,[],[{code,[],[<<115,99,104,101,100,117,108,101,114>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,115,99,104,101,100,117,108,101,114,32,105,115,32,112,117,116,32,116,111,32,115,108,101,101,112,32,111,114,32,97,119,111,107,101,110,44,32,97,32,109,101,115,115,97,103,101,44,32>>,{code,[],[<<123,112,114,111,102,105,108,101,44,32,115,99,104,101,100,117,108,101,114,44,32,73,100,44,32,83,116,97,116,101,44,32,78,111,83,99,104,101,100,115,44,32,84,115,125>>]},<<44,32,105,115,32,115,101,110,116,32,116,111,32>>,{code,[],[<<80,114,111,102,105,108,101,114,80,105,100>>]},<<46>>]}]},{dt,[],[{code,[],[<<115,116,114,105,99,116,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]}]},{dd,[],[{p,[],[<<84,105,109,101,32,115,116,97,109,112,115,32,105,110,32,112,114,111,102,105,108,101,32,109,101,115,115,97,103,101,115,32,99,111,110,115,105,115,116,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,97,110,100,32,97,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,105,110,116,101,103,101,114,46,32,84,104,101,32,116,105,109,101,32,115,116,97,109,112,32,40,84,115,41,32,104,97,115,32,116,104,101,32,115,97,109,101,32,102,111,114,109,97,116,32,97,110,100,32,118,97,108,117,101,32,97,115,32,112,114,111,100,117,99,101,100,32,98,121,32>>,{code,[],[<<123,101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,110,97,110,111,115,101,99,111,110,100,41,44,32,101,114,108,97,110,103,58,117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,91,109,111,110,111,116,111,110,105,99,93,41,125>>]},<<46>>]}]},{dt,[],[{code,[],[<<116,105,109,101,115,116,97,109,112>>]}]},{dd,[],[{p,[],[<<84,105,109,101,32,115,116,97,109,112,115,32,105,110,32,112,114,111,102,105,108,101,32,109,101,115,115,97,103,101,115,32,105,110,99,108,117,100,101,32,97,32,116,105,109,101,32,115,116,97,109,112,32,40,84,115,41,32,116,104,97,116,32,104,97,115,32,116,104,101,32,115,97,109,101,32,102,111,114,109,32,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,110,111,119,40,41>>]},<<46,32,84,104,105,115,32,105,115,32,97,108,115,111,32,116,104,101,32,100,101,102,97,117,108,116,32,105,102,32,110,111,32,116,105,109,101,32,115,116,97,109,112,32,102,108,97,103,32,105,115,32,115,112,101,99,105,102,105,101,100,46,32,73,102,32>>,{code,[],[<<99,112,117,95,116,105,109,101,115,116,97,109,112>>]},<<32,104,97,115,32,98,101,101,110,32,101,110,97,98,108,101,100,32,116,104,114,111,117,103,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<44,32,116,104,105,115,32,97,108,115,111,32,101,102,102,101,99,116,115,32,116,104,101,32,116,105,109,101,32,115,116,97,109,112,32,112,114,111,100,117,99,101,100,32,105,110,32,112,114,111,102,105,108,105,110,103,32,109,101,115,115,97,103,101,115,32,119,104,101,110,32,102,108,97,103,32>>,{code,[],[<<116,105,109,101,115,116,97,109,112>>]},<<32,105,115,32,101,110,97,98,108,101,100,46>>]}]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,112,114,111,102,105,108,101>>]},<<32,98,101,104,97,118,105,111,114,32,99,97,110,32,99,104,97,110,103,101,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]}]}]},#{signature => [{attribute,{2285,2},spec,{{erlang,system_profile,2},[{type,{2285,28},bounded_fun,[{type,{2285,28},'fun',[{type,{2285,28},product,[{var,{2285,29},'ProfilerPid'},{var,{2285,42},'Options'}]},{var,{2285,54},'ProfilerSettings'}]},[{type,{2286,7},constraint,[{atom,{2286,7},is_subtype},[{var,{2286,7},'ProfilerPid'},{type,{2286,22},union,[{type,{2286,22},pid,[]},{type,{2286,30},port,[]},{atom,{2286,39},undefined}]}]]},{type,{2287,7},constraint,[{atom,{2287,7},is_subtype},[{var,{2287,7},'Options'},{type,{2287,18},list,[{user_type,{2287,20},system_profile_option,[]}]}]]},{type,{2288,7},constraint,[{atom,{2288,7},is_subtype},[{var,{2288,7},'ProfilerSettings'},{type,{2288,27},union,[{atom,{2288,27},undefined},{type,{2288,39},tuple,[{type,{2288,41},union,[{type,{2288,41},pid,[]},{type,{2288,49},port,[]}]},{type,{2288,57},list,[{user_type,{2288,59},system_profile_option,[]}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,55,53,50>>}},{{function,system_time,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1837}],[<<115,121,115,116,101,109,95,116,105,109,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,99,117,114,114,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,105,110,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,117,110,105,116>>]},<<46>>]},{p,[],[<<67,97,108,108,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,116,105,109,101,40,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,41>>]}]},{code,[],[<<32,43,32>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,105,109,101,95,111,102,102,115,101,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,105,109,101,95,111,102,102,115,101,116,40,41>>]}]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,116,105,109,101,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,97,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,116,105,109,101,32,105,110,32,116,104,101,32,103,101,110,101,114,97,108,32,99,97,115,101,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,87,97,114,112,95,77,111,100,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,105,109,101,32,119,97,114,112,32,109,111,100,101,115>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]}]},#{signature => [{attribute,{1837,2},spec,{{erlang,system_time,0},[{type,{1837,25},'fun',[{type,{1837,25},product,[]},{type,{1837,31},integer,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,56,50,54>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,system_time,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1842}],[<<115,121,115,116,101,109,95,116,105,109,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,99,117,114,114,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,99,111,110,118,101,114,116,101,100,32,105,110,116,111,32,116,104,101,32>>,{code,[],[<<85,110,105,116>>]},<<32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,46>>]},{p,[],[<<67,97,108,108,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,116,105,109,101,40,85,110,105,116,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116>>]}]},{code,[],[<<40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,116,105,109,101,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,116,105,109,101,40,41>>]}]},{code,[],[<<44,32,110,97,116,105,118,101,44,32,85,110,105,116,41>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,116,105,109,101,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,97,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,116,105,109,101,32,105,110,32,116,104,101,32,103,101,110,101,114,97,108,32,99,97,115,101,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,87,97,114,112,95,77,111,100,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,105,109,101,32,119,97,114,112,32,109,111,100,101,115>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]}]},#{signature => [{attribute,{1842,2},spec,{{erlang,system_time,1},[{type,{1842,25},bounded_fun,[{type,{1842,25},'fun',[{type,{1842,25},product,[{var,{1842,26},'Unit'}]},{type,{1842,35},integer,[]}]},[{type,{1843,7},constraint,[{atom,{1843,7},is_subtype},[{var,{1843,7},'Unit'},{user_type,{1843,15},time_unit,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,56,52,56>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,term_to_binary,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2969}],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,100,97,116,97,32,111,98,106,101,99,116,32,116,104,97,116,32,105,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,101,110,99,111,100,105,110,103,32>>,{code,[],[<<84,101,114,109>>]},<<32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,101,120,116,95,100,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46>>]}]},{p,[],[<<84,104,105,115,32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,32,118,97,114,105,111,117,115,32,112,117,114,112,111,115,101,115,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,119,114,105,116,105,110,103,32,97,32,116,101,114,109,32,116,111,32,97,32,102,105,108,101,32,105,110,32,97,110,32,101,102,102,105,99,105,101,110,116,32,119,97,121,44,32,111,114,32,115,101,110,100,105,110,103,32,97,110,32,69,114,108,97,110,103,32,116,101,114,109,32,116,111,32,115,111,109,101,32,116,121,112,101,32,111,102,32,99,111,109,109,117,110,105,99,97,116,105,111,110,115,32,99,104,97,110,110,101,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,100,105,115,116,114,105,98,117,116,101,100,32,69,114,108,97,110,103,46>>]},{pre,[],[{code,[],[<<62,32,66,105,110,32,61,32,116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,104,101,108,108,111,41,46,10,60,60,49,51,49,44,49,48,48,44,48,44,53,44,49,48,52,44,49,48,49,44,49,48,56,44,49,48,56,44,49,49,49,62,62,10,62,32,104,101,108,108,111,32,61,32,98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,66,105,110,41,46,10,104,101,108,108,111>>]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>]}]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,114,101,32,105,115,32,110,111,32,103,117,97,114,97,110,116,101,101,32,116,104,97,116,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,119,105,108,108,32,114,101,116,117,114,110,32,116,104,101,32,115,97,109,101,32,101,110,99,111,100,101,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,102,111,114,32,116,104,101,32,115,97,109,101,32,116,101,114,109,46>>]}]}]},#{signature => [{attribute,{2969,2},spec,{{term_to_binary,1},[{type,{2969,21},bounded_fun,[{type,{2969,21},'fun',[{type,{2969,21},product,[{var,{2969,22},'Term'}]},{user_type,{2969,31},ext_binary,[]}]},[{type,{2970,7},constraint,[{atom,{2970,7},is_subtype},[{var,{2970,7},'Term'},{type,{2970,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,56,55,48>>}},{{function,term_to_binary,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2974}],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,98,105,110,97,114,121,32,100,97,116,97,32,111,98,106,101,99,116,32,116,104,97,116,32,105,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,101,110,99,111,100,105,110,103,32>>,{code,[],[<<84,101,114,109>>]},<<32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46>>]},{p,[],[<<67,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<99,111,109,112,114,101,115,115,101,100>>]}]},{dd,[],[{p,[],[<<67,111,109,112,114,101,115,115,32,116,104,101,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46,32,84,104,101,32,99,111,109,112,114,101,115,115,101,100,32,102,111,114,109,97,116,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,114,101,99,111,103,110,105,122,101,100,32,98,121,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>]},<<32,97,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,55,66,46>>]}]},{dt,[],[{code,[],[<<123,99,111,109,112,114,101,115,115,101,100,44,32,76,101,118,101,108,125>>]}]},{dd,[],[{p,[],[<<67,111,109,112,114,101,115,115,32,116,104,101,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,32,116,111,32,97,32,103,105,118,101,110,32,108,101,118,101,108,46,32,84,104,101,32,99,111,109,112,114,101,115,115,105,111,110,32,108,101,118,101,108,32,105,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32>>,{code,[],[<<76,101,118,101,108>>]},<<32,119,104,105,99,104,32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,105,110,32,116,104,101,32,114,97,110,103,101,32,48,46,46,57,44,32,119,104,101,114,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<48>>]}]},{dd,[],[{p,[],[<<78,111,32,99,111,109,112,114,101,115,115,105,111,110,32,105,115,32,100,111,110,101,32,40,105,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,103,105,118,105,110,103,32,110,111,32>>,{code,[],[<<99,111,109,112,114,101,115,115,101,100>>]},<<32,111,112,116,105,111,110,41,46>>]}]},{dt,[],[{code,[],[<<49>>]}]},{dd,[],[{p,[],[<<84,97,107,101,115,32,108,101,97,115,116,32,116,105,109,101,32,98,117,116,32,109,97,121,32,110,111,116,32,99,111,109,112,114,101,115,115,32,97,115,32,119,101,108,108,32,97,115,32,116,104,101,32,104,105,103,104,101,114,32,108,101,118,101,108,115,46>>]}]},{dt,[],[{code,[],[<<54>>]}]},{dd,[],[{p,[],[<<68,101,102,97,117,108,116,32,108,101,118,101,108,32,119,104,101,110,32,111,112,116,105,111,110,32>>,{code,[],[<<99,111,109,112,114,101,115,115,101,100>>]},<<32,105,115,32,112,114,111,118,105,100,101,100,46>>]}]},{dt,[],[{code,[],[<<57>>]}]},{dd,[],[{p,[],[<<84,97,107,101,115,32,109,111,115,116,32,116,105,109,101,32,97,110,100,32,116,114,105,101,115,32,116,111,32,112,114,111,100,117,99,101,32,97,32,115,109,97,108,108,101,114,32,114,101,115,117,108,116,46,32,78,111,116,105,99,101,32,34,116,114,105,101,115,34,32,105,110,32,116,104,101,32,112,114,101,99,101,100,105,110,103,32,115,101,110,116,101,110,99,101,59,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,105,110,112,117,116,32,116,101,114,109,44,32,108,101,118,101,108,32,57,32,99,111,109,112,114,101,115,115,105,111,110,32,101,105,116,104,101,114,32,100,111,101,115,32,111,114,32,100,111,101,115,32,110,111,116,32,112,114,111,100,117,99,101,32,97,32,115,109,97,108,108,101,114,32,114,101,115,117,108,116,32,116,104,97,110,32,108,101,118,101,108,32,49,32,99,111,109,112,114,101,115,115,105,111,110,46>>]}]}]}]},{dt,[{since,<<82,49,49,66,45,52>>}],[{code,[],[<<123,109,105,110,111,114,95,118,101,114,115,105,111,110,44,32,86,101,114,115,105,111,110,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,111,112,116,105,111,110,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,99,111,110,116,114,111,108,32,115,111,109,101,32,101,110,99,111,100,105,110,103,32,100,101,116,97,105,108,115,46,32,86,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<86,101,114,115,105,111,110>>]},<<32,97,114,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<48>>]}]},{dd,[],[{p,[],[<<70,108,111,97,116,115,32,97,114,101,32,101,110,99,111,100,101,100,32,117,115,105,110,103,32,97,32,116,101,120,116,117,97,108,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,46>>]},{p,[],[<<65,116,111,109,115,32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,32,108,97,116,105,110,49,32,115,116,114,105,110,103,32,97,114,101,32,101,110,99,111,100,101,100,32,117,115,105,110,103,32,108,97,116,105,110,49,32,119,104,105,108,101,32,111,110,108,121,32,97,116,111,109,115,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,108,97,116,105,110,49,32,97,114,101,32,101,110,99,111,100,101,100,32,117,115,105,110,103,32,117,116,102,56,46>>]}]},{dt,[],[{code,[],[<<49>>]}]},{dd,[],[{p,[],[<<70,108,111,97,116,115,32,97,114,101,32,101,110,99,111,100,101,100,32,105,110,32,97,32,109,111,114,101,32,115,112,97,99,101,45,101,102,102,105,99,105,101,110,116,32,97,110,100,32,101,120,97,99,116,32,119,97,121,32,40,110,97,109,101,108,121,32,105,110,32,116,104,101,32,54,52,45,98,105,116,32,73,69,69,69,32,102,111,114,109,97,116,44,32,114,97,116,104,101,114,32,116,104,97,110,32,99,111,110,118,101,114,116,101,100,32,116,111,32,97,32,116,101,120,116,117,97,108,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,41,46,32,65,115,32,102,114,111,109,32,69,114,108,97,110,103,47,79,84,80,32,82,49,49,66,45,52,44,32>>,{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>]},<<32,99,97,110,32,100,101,99,111,100,101,32,116,104,105,115,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,46>>]},{p,[],[<<65,116,111,109,115,32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,32,108,97,116,105,110,49,32,115,116,114,105,110,103,32,97,114,101,32,101,110,99,111,100,101,100,32,117,115,105,110,103,32,108,97,116,105,110,49,32,119,104,105,108,101,32,111,110,108,121,32,97,116,111,109,115,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,108,97,116,105,110,49,32,97,114,101,32,101,110,99,111,100,101,100,32,117,115,105,110,103,32,117,116,102,56,46>>]}]},{dt,[],[{code,[],[<<50>>]}]},{dd,[],[{p,[],[<<84,104,105,115,32,105,115,32,97,115,32,111,102,32,69,114,108,97,110,103,47,79,84,80,32,50,54,46,48,32,116,104,101,32>>,{em,[],[<<100,101,102,97,117,108,116>>]},<<46,32,65,116,111,109,115,32,97,114,101,32,117,110,99,111,110,100,105,116,105,111,110,97,108,108,121,32,101,110,99,111,100,101,100,32,117,115,105,110,103,32,117,116,102,56,46,32,69,114,108,97,110,103,47,79,84,80,32,115,121,115,116,101,109,115,32,97,115,32,111,102,32,82,49,54,66,32,99,97,110,32,100,101,99,111,100,101,32,116,104,105,115,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,46>>]}]}]}]},{dt,[{since,<<79,84,80,32,50,52,46,49>>}],[{code,[],[<<100,101,116,101,114,109,105,110,105,115,116,105,99>>]}]},{dd,[],[{p,[],[<<84,104,105,115,32,111,112,116,105,111,110,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,101,110,115,117,114,101,32,116,104,97,116,44,32,119,105,116,104,105,110,32,116,104,101,32,115,97,109,101,32,109,97,106,111,114,32,114,101,108,101,97,115,101,32,111,102,32,69,114,108,97,110,103,47,79,84,80,44,32,116,104,101,32,115,97,109,101,32,101,110,99,111,100,101,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32,114,101,116,117,114,110,101,100,32,102,111,114,32,116,104,101,32,115,97,109,101,32,116,101,114,109,46,32,84,104,101,114,101,32,105,115,32,115,116,105,108,108,32,110,111,32,103,117,97,114,97,110,116,101,101,32,116,104,97,116,32,116,104,101,32,101,110,99,111,100,101,100,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,114,101,109,97,105,110,115,32,116,104,101,32,115,97,109,101,32,98,101,116,119,101,101,110,32,109,97,106,111,114,32,114,101,108,101,97,115,101,115,32,111,102,32,69,114,108,97,110,103,47,79,84,80,46>>]},{p,[],[<<84,104,105,115,32,111,112,116,105,111,110,32,99,97,110,110,111,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,111,112,116,105,111,110,46>>]}]},{dt,[{since,<<79,84,80,32,50,54,46,48>>}],[{code,[],[<<108,111,99,97,108>>]},{a,[{id,<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,95,108,111,99,97,108>>}],[]}]},{dd,[],[{p,[],[<<84,104,105,115,32,111,112,116,105,111,110,32,119,105,108,108,32,99,97,117,115,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,116,111,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,108,111,99,97,108,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,32,119,104,105,99,104,32,119,104,101,110,32,100,101,99,111,100,101,100,32,98,121,32,116,104,101,32,115,97,109,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,32,119,105,108,108,32,112,114,111,100,117,99,101,32,97,32,116,101,114,109,32,105,100,101,110,116,105,99,97,108,32,116,111,32,116,104,101,32,101,110,99,111,100,101,100,32,116,101,114,109,32,101,118,101,110,32,119,104,101,110,32,116,104,101,32,110,111,100,101,32,110,97,109,101,32,97,110,100,47,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,105,110,102,111,95,99,114,101,97,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<99,114,101,97,116,105,111,110>>]},<<32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,32,104,97,118,101,32,99,104,97,110,103,101,100,32,98,101,116,119,101,101,110,32,101,110,99,111,100,105,110,103,32,97,110,100,32,100,101,99,111,100,105,110,103,46,32,87,104,101,110,32,101,110,99,111,100,105,110,103,32,119,105,116,104,111,117,116,32,116,104,101,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,111,112,116,105,111,110,44,32,108,111,99,97,108,32,105,100,101,110,116,105,102,105,101,114,115,32,115,117,99,104,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,105,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<112,105,100,115>>]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,111,114,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<112,111,114,116,115>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,102,101,114,101,110,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<114,101,102,101,114,101,110,99,101,115>>]},<<32,119,105,108,108,32,110,111,116,32,98,101,32,116,104,101,32,115,97,109,101,32,105,102,32,110,111,100,101,32,110,97,109,101,32,97,110,100,47,111,114,32,99,114,101,97,116,105,111,110,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,32,99,104,97,110,103,101,100,32,98,101,116,119,101,101,110,32,101,110,99,111,100,105,110,103,32,97,110,100,32,100,101,99,111,100,105,110,103,46,32,84,104,105,115,32,115,105,110,99,101,32,115,117,99,104,32,105,100,101,110,116,105,102,105,101,114,115,32,114,101,102,101,114,32,116,111,32,97,32,115,112,101,99,105,102,105,99,32,110,111,100,101,32,98,121,32,110,111,100,101,32,110,97,109,101,32,97,110,100,32,99,114,101,97,116,105,111,110,46>>]},{p,[],[<<78,111,100,101,32,110,97,109,101,32,97,110,100,32,99,114,101,97,116,105,111,110,32,111,102,32,97,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,32,99,104,97,110,103,101,32,119,104,101,110,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,105,115,32,115,116,97,114,116,101,100,32,111,114,32,115,116,111,112,112,101,100,46,32,84,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,105,115,32,115,116,97,114,116,101,100,32,119,104,101,110,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,115,32,115,116,97,114,116,101,100,32,117,115,105,110,103,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,110,97,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<45,110,97,109,101>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,115,110,97,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<45,115,110,97,109,101>>]}]},<<32,99,111,109,109,97,110,100,32,108,105,110,101,32,97,114,103,117,109,101,110,116,115,46,32,78,111,116,101,32,116,104,97,116,32,116,104,101,32,97,99,116,117,97,108,32,115,116,97,114,116,32,111,102,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,104,97,112,112,101,110,115,32,97,102,116,101,114,32,111,116,104,101,114,32,99,111,100,101,32,105,110,32,116,104,101,32,115,116,97,114,116,117,112,32,112,104,97,115,101,32,104,97,115,32,98,101,103,117,110,32,101,120,101,99,117,116,105,110,103,46,32,84,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,97,110,32,97,108,115,111,32,98,101,32,115,116,97,114,116,101,100,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<107,101,114,110,101,108,58,110,101,116,95,107,101,114,110,101,108,35,115,116,97,114,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,101,116,95,107,101,114,110,101,108,58,115,116,97,114,116,47,50>>]}]},<<32,97,110,100,32,115,116,111,112,112,101,100,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<107,101,114,110,101,108,58,110,101,116,95,107,101,114,110,101,108,35,115,116,111,112,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,101,116,95,107,101,114,110,101,108,58,115,116,111,112,47,49>>]}]},<<32,105,102,32,105,116,32,104,97,115,32,110,111,116,32,98,101,101,110,32,115,116,97,114,116,101,100,32,118,105,97,32,116,104,101,32,99,111,109,109,97,110,100,32,108,105,110,101,46>>]},{p,[],[<<84,104,101,32,100,101,99,111,100,105,110,103,32,111,102,32,97,32,116,101,114,109,32,101,110,99,111,100,101,100,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,111,112,116,105,111,110,44,32,117,115,105,110,103,32,102,111,114,32,101,120,97,109,112,108,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,40,41>>]}]},<<44,32,119,105,108,108,32,116,114,121,32,116,111,32,118,101,114,105,102,121,32,116,104,97,116,32,116,104,101,32,116,101,114,109,32,97,99,116,117,97,108,108,121,32,119,97,115,32,101,110,99,111,100,101,100,32,98,121,32,116,104,101,32,115,97,109,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,44,32,97,110,100,32,119,105,108,108,32,105,110,32,116,104,101,32,118,97,115,116,32,109,97,106,111,114,105,116,121,32,111,102,32,99,97,115,101,115,32,102,97,105,108,32,105,102,32,116,104,101,32,101,110,99,111,100,105,110,103,32,119,97,115,32,112,101,114,102,111,114,109,101,100,32,98,121,32,97,110,111,116,104,101,114,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46,32,89,111,117,32,115,104,111,117,108,100,32,104,111,119,101,118,101,114,32>>,{em,[],[<<110,111,116>>]},<<32,116,114,117,115,116,32,116,104,97,116,32,116,104,105,115,32,118,101,114,105,102,105,99,97,116,105,111,110,32,119,105,108,108,32,119,111,114,107,32,105,110,32,97,108,108,32,99,97,115,101,115,46,32,89,111,117,32>>,{em,[],[<<115,104,111,117,108,100>>]},<<32,109,97,107,101,32,115,117,114,101,32,116,111,32>>,{em,[],[<<111,110,108,121>>]},<<32,100,101,99,111,100,101,32,116,101,114,109,115,32,101,110,99,111,100,101,100,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,111,112,116,105,111,110,32,111,110,32,116,104,101,32,115,97,109,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,32,97,115,32,116,104,101,32,111,110,101,32,116,104,97,116,32,101,110,99,111,100,101,100,32,116,104,101,32,116,101,114,109,115,46>>]},{p,[],[<<83,105,110,99,101,32,105,116,32,105,115,32,111,110,108,121,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,116,104,97,116,32,101,110,99,111,100,101,100,32,97,32,116,101,114,109,32,117,115,105,110,103,32,116,104,101,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,111,112,116,105,111,110,32,116,104,97,116,32,99,97,110,32,100,101,99,111,100,101,32,105,116,44,32,116,104,101,32,108,111,99,97,108,32,101,110,99,111,100,105,110,103,32,105,115,32,116,121,112,105,99,97,108,108,121,32,112,105,101,99,101,100,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,116,111,32,112,114,111,100,117,99,101,32,97,32,114,101,112,108,121,32,116,111,32,119,104,101,114,101,32,116,104,101,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,101,110,99,111,100,105,110,103,32,111,114,105,103,105,110,97,116,101,115,32,102,114,111,109,46,32,73,102,32,97,32,116,101,114,109,32,101,110,99,111,100,101,100,32,117,115,105,110,103,32,116,104,101,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,111,112,116,105,111,110,32,105,115,32,115,116,114,105,112,112,101,100,32,111,102,32,105,116,115,32,108,101,97,100,105,110,103,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,44,32,105,116,32,99,97,110,32,98,101,32,97,100,100,101,100,32,97,115,32,112,97,114,116,32,111,102,32,97,32,108,97,114,103,101,114,32,116,101,114,109,32,40,102,111,114,32,101,120,97,109,112,108,101,32,97,115,32,97,110,32,101,108,101,109,101,110,116,32,105,110,32,97,32,116,117,112,108,101,41,32,119,104,101,110,32,101,110,99,111,100,105,110,103,32,111,110,32,116,104,101,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,32,117,115,105,110,103,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32>>,{a,[{href,<<101,114,108,95,105,110,116,101,114,102,97,99,101,58,101,105>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[<<101,105>>]},<<46,32,73,110,32,116,104,101,32>>,{code,[],[<<101,105>>]},<<32,99,97,115,101,44,32,121,111,117,32,119,111,117,108,100,32,115,116,114,105,112,32,105,116,32,111,102,32,116,104,101,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,108,95,105,110,116,101,114,102,97,99,101,58,101,105,35,101,105,95,100,101,99,111,100,101,95,118,101,114,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,105,95,100,101,99,111,100,101,95,118,101,114,115,105,111,110,40,41>>]}]},<<32,97,110,100,32,116,104,101,110,32,97,100,100,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,108,111,99,97,108,32,101,110,99,111,100,105,110,103,32,116,111,32,119,104,97,116,32,121,111,117,32,97,114,101,32,101,110,99,111,100,105,110,103,32,117,115,105,110,103,32,102,111,114,32,101,120,97,109,112,108,101,32>>,{a,[{href,<<101,114,108,95,105,110,116,101,114,102,97,99,101,58,101,105,35,101,105,95,120,95,97,112,112,101,110,100,95,98,117,102>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,105,95,120,95,97,112,112,101,110,100,95,98,117,102,40,41>>]}]},<<46>>]},{p,[],[<<65,32,103,111,111,100,32,101,120,97,109,112,108,101,32,111,102,32,119,104,101,110,32,121,111,117,32,119,97,110,116,32,116,111,32,117,115,101,32,116,104,101,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,111,112,116,105,111,110,44,32,105,115,32,119,104,101,110,32,121,111,117,32,119,97,110,116,32,116,111,32,109,97,107,101,32,97,32,114,101,113,117,101,115,116,32,102,114,111,109,32,97,32,112,114,111,99,101,115,115,32,116,111,32,97,32,112,111,114,116,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,114,105,118,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[<<100,114,105,118,101,114>>]},<<32,97,110,100,32,117,116,105,108,105,122,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,112,114,111,99,101,115,115,101,115,35,114,101,99,101,105,118,105,110,103,45,109,101,115,115,97,103,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,101,108,101,99,116,105,118,101,32,114,101,99,101,105,118,101,32,111,112,116,105,109,105,122,97,116,105,111,110>>]},<<32,119,104,101,110,32,114,101,99,101,105,118,105,110,103,32,116,104,101,32,114,101,112,108,121,46,32,73,110,32,116,104,105,115,32,115,99,101,110,97,114,105,111,32,121,111,117,32,119,97,110,116,32,116,111,32,99,114,101,97,116,101,32,97,32,114,101,102,101,114,101,110,99,101,44,32,115,101,114,105,97,108,105,122,101,32,116,104,101,32,114,101,102,101,114,101,110,99,101,32,111,110,32,116,104,101,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,32,117,115,105,110,103,32,116,104,101,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,111,112,116,105,111,110,44,32,112,97,115,115,32,116,104,105,115,32,116,111,32,116,104,101,32,100,114,105,118,101,114,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,44,32,97,110,100,32,116,104,101,110,32,119,97,105,116,32,102,111,114,32,116,104,101,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,105,110,32,97,32,115,101,108,101,99,116,105,118,101,32,114,101,99,101,105,118,101,32,109,97,116,99,104,105,110,103,32,111,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,46,32,84,104,101,32,100,114,105,118,101,114,32,115,104,111,117,108,100,32,115,101,110,100,32,116,104,101,32,114,101,112,108,121,32,117,115,105,110,103,32,101,105,116,104,101,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,114,105,118,101,114,35,101,114,108,95,100,114,118,95,111,117,116,112,117,116,95,116,101,114,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,108,95,100,114,118,95,111,117,116,112,117,116,95,116,101,114,109,40,41>>]}]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,114,105,118,101,114,35,101,114,108,95,100,114,118,95,115,101,110,100,95,116,101,114,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,114,108,95,100,114,118,95,115,101,110,100,95,116,101,114,109,40,41>>]}]},<<32,117,115,105,110,103,32,116,104,101,32,116,101,114,109,32,116,121,112,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,114,105,118,101,114,35,69,82,76,95,68,82,86,95,69,88,84,50,84,69,82,77>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<69,82,76,95,68,82,86,95,69,88,84,50,84,69,82,77>>]}]},<<32,102,111,114,32,116,104,101,44,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,44,32,112,114,101,118,105,111,117,115,108,121,32,114,101,99,101,105,118,101,100,32,114,101,102,101,114,101,110,99,101,32,111,110,32,116,104,101,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46,32,78,111,116,101,32,116,104,97,116,32,121,111,117,32,115,104,111,117,108,100,32,110,111,116,32,115,116,114,105,112,32,116,104,101,32,108,101,97,100,105,110,103,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,32,102,114,111,109,32,116,104,101,32,108,111,99,97,108,32,101,110,99,111,100,105,110,103,32,119,104,101,110,32,117,115,105,110,103,32,116,104,101,32,116,101,114,109,32,116,121,112,101,32>>,{code,[],[<<69,82,76,95,68,82,86,95,69,88,84,50,84,69,82,77>>]},<<32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,97,108,105,116,121,46,32,73,102,32,121,111,117,32,105,110,32,116,104,105,115,32,101,120,97,109,112,108,101,32,100,111,32,110,111,116,32,101,110,99,111,100,101,32,116,104,101,32,114,101,102,101,114,101,110,99,101,32,117,115,105,110,103,32,116,104,101,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,111,112,116,105,111,110,44,32,97,110,100,32,116,104,101,32,100,105,115,116,114,105,98,117,116,105,111,110,32,105,115,32,115,116,97,114,116,101,100,32,111,114,32,115,116,111,112,112,101,100,32,119,104,105,108,101,32,116,104,101,32,114,101,113,117,101,115,116,32,105,115,32,111,110,103,111,105,110,103,44,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,109,97,100,101,32,116,104,101,32,114,101,113,117,101,115,116,32,119,105,108,108,32,104,97,110,103,32,105,110,100,101,102,105,110,105,116,101,108,121,32,115,105,110,99,101,32,116,104,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,116,104,101,32,114,101,112,108,121,32,109,101,115,115,97,103,101,32,119,105,108,108,32,110,101,118,101,114,32,109,97,116,99,104,46>>]},{p,[],[<<84,104,105,115,32,111,112,116,105,111,110,32,99,97,110,110,111,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<100,101,116,101,114,109,105,110,105,115,116,105,99>>]},<<32,111,112,116,105,111,110,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,101,120,116,95,100,105,115,116,35,76,79,67,65,76,95,69,88,84>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<76,79,67,65,76,95,69,88,84>>]}]},<<32,116,97,103,32,105,110,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46>>]}]}]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<98,105,110,97,114,121,95,116,111,95,116,101,114,109,47,49>>]}]},<<46>>]}]},#{signature => [{attribute,{2974,2},spec,{{term_to_binary,2},[{type,{2974,21},bounded_fun,[{type,{2974,21},'fun',[{type,{2974,21},product,[{var,{2974,22},'Term'},{var,{2974,28},'Options'}]},{user_type,{2974,40},ext_binary,[]}]},[{type,{2975,7},constraint,[{atom,{2975,7},is_subtype},[{var,{2975,7},'Term'},{type,{2975,15},term,[]}]]},{type,{2976,7},constraint,[{atom,{2976,7},is_subtype},[{var,{2976,7},'Options'},{type,{2976,18},list,[{type,{2976,19},union,[{atom,{2976,19},compressed},{type,{2977,10},tuple,[{atom,{2977,11},compressed},{ann_type,{2977,23},[{var,{2977,23},'Level'},{type,{2977,32},range,[{integer,{2977,32},0},{integer,{2977,35},9}]}]}]},{atom,{2978,10},deterministic},{type,{2979,10},tuple,[{atom,{2979,11},minor_version},{ann_type,{2979,26},[{var,{2979,26},'Version'},{type,{2979,37},range,[{integer,{2979,37},0},{integer,{2979,40},2}]}]}]},{atom,{2980,10},local}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,49,56,57,56>>}},{{function,term_to_iovec,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2984}],[<<116,101,114,109,95,116,111,95,105,111,118,101,99,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,116,95,105,111,118,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<101,120,116,95,105,111,118,101,99,40,41>>]}]},<<46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,112,114,111,100,117,99,101,32,116,104,101,32,115,97,109,101,32,101,110,99,111,100,105,110,103,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>]}]},<<44,32,98,117,116,32,119,105,116,104,32,97,110,111,116,104,101,114,32,114,101,116,117,114,110,32,116,121,112,101,46,32,84,104,101,32,99,97,108,108,32>>,{code,[],[<<105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,116,101,114,109,95,116,111,95,105,111,118,101,99,40,84,101,114,109,41,41>>]},<<32,119,105,108,108,32,112,114,111,100,117,99,101,32,101,120,97,99,116,108,121,32,116,104,101,32,115,97,109,101,32,114,101,115,117,108,116,32,97,115,32,116,104,101,32,99,97,108,108,32>>,{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,84,101,114,109,41>>]},<<46>>]},{p,[],[{code,[],[<<116,101,114,109,95,116,111,95,105,111,118,101,99,40,41>>]},<<32,105,115,32,97,32,112,117,114,101,32,111,112,116,105,109,105,122,97,116,105,111,110,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,97,108,105,116,121,32>>,{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,41>>]},<<32,112,114,111,118,105,100,101,46,32>>,{code,[],[<<116,101,114,109,95,116,111,95,105,111,118,101,99,40,41>>]},<<32,99,97,110,32,102,111,114,32,101,120,97,109,112,108,101,32,114,101,102,101,114,32,100,105,114,101,99,116,108,121,32,116,111,32,111,102,102,32,104,101,97,112,32,98,105,110,97,114,105,101,115,32,105,110,115,116,101,97,100,32,111,102,32,99,111,112,121,105,110,103,32,116,104,101,32,98,105,110,97,114,121,32,100,97,116,97,32,105,110,116,111,32,116,104,101,32,114,101,115,117,108,116,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,49>>]}]},<<46>>]}]},#{signature => [{attribute,{2984,2},spec,{{term_to_iovec,1},[{type,{2984,20},bounded_fun,[{type,{2984,20},'fun',[{type,{2984,20},product,[{var,{2984,21},'Term'}]},{user_type,{2984,30},ext_iovec,[]}]},[{type,{2985,7},constraint,[{atom,{2985,7},is_subtype},[{var,{2985,7},'Term'},{type,{2985,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,48,57,54>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,term_to_iovec,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2989}],[<<116,101,114,109,95,116,111,95,105,111,118,101,99,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,116,95,105,111,118,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<101,120,116,95,105,111,118,101,99,40,41>>]}]},<<46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,112,114,111,100,117,99,101,32,116,104,101,32,115,97,109,101,32,101,110,99,111,100,105,110,103,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>]}]},<<44,32,98,117,116,32,119,105,116,104,32,97,110,111,116,104,101,114,32,114,101,116,117,114,110,32,116,121,112,101,46,32,84,104,101,32,99,97,108,108,32>>,{code,[],[<<105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,40,116,101,114,109,95,116,111,95,105,111,118,101,99,40,84,101,114,109,44,32,79,112,116,115,41,41>>]},<<32,119,105,108,108,32,112,114,111,100,117,99,101,32,101,120,97,99,116,108,121,32,116,104,101,32,115,97,109,101,32,114,101,115,117,108,116,32,97,115,32>>,{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,84,101,114,109,44,32,79,112,116,115,41>>]},<<46>>]},{p,[],[<<67,117,114,114,101,110,116,108,121,32,114,101,99,111,103,110,105,115,101,100,32,111,112,116,105,111,110,115,32,97,114,101,32,97,108,108,32,111,112,116,105,111,110,115,32,114,101,99,111,103,110,105,115,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>]}]},<<46>>]},{p,[],[{code,[],[<<116,101,114,109,95,116,111,95,105,111,118,101,99,40,41>>]},<<32,105,115,32,97,32,112,117,114,101,32,111,112,116,105,109,105,122,97,116,105,111,110,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,97,108,105,116,121,32>>,{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,40,41>>]},<<32,112,114,111,118,105,100,101,46,32>>,{code,[],[<<116,101,114,109,95,116,111,95,105,111,118,101,99,40,41>>]},<<32,99,97,110,32,102,111,114,32,101,120,97,109,112,108,101,32,114,101,102,101,114,32,100,105,114,101,99,116,108,121,32,116,111,32,111,102,102,32,104,101,97,112,32,98,105,110,97,114,105,101,115,32,105,110,115,116,101,97,100,32,111,102,32,99,111,112,121,105,110,103,32,116,104,101,32,98,105,110,97,114,121,32,100,97,116,97,32,105,110,116,111,32,116,104,101,32,114,101,115,117,108,116,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,101,114,109,95,116,111,95,98,105,110,97,114,121,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{2989,2},spec,{{term_to_iovec,2},[{type,{2989,20},bounded_fun,[{type,{2989,20},'fun',[{type,{2989,20},product,[{var,{2989,21},'Term'},{var,{2989,27},'Options'}]},{user_type,{2989,39},ext_iovec,[]}]},[{type,{2990,7},constraint,[{atom,{2990,7},is_subtype},[{var,{2990,7},'Term'},{type,{2990,15},term,[]}]]},{type,{2991,7},constraint,[{atom,{2991,7},is_subtype},[{var,{2991,7},'Options'},{type,{2991,18},list,[{type,{2991,19},union,[{atom,{2991,19},compressed},{type,{2992,10},tuple,[{atom,{2992,11},compressed},{ann_type,{2992,23},[{var,{2992,23},'Level'},{type,{2992,32},range,[{integer,{2992,32},0},{integer,{2992,35},9}]}]}]},{atom,{2993,10},deterministic},{type,{2994,10},tuple,[{atom,{2994,11},minor_version},{ann_type,{2994,26},[{var,{2994,26},'Version'},{type,{2994,37},range,[{integer,{2994,37},0},{integer,{2994,40},2}]}]}]},{atom,{2995,10},local}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,49,50,49>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,throw,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2294}],[<<116,104,114,111,119,47,49>>],#{<<101,110>> => [{p,[],[<<82,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,111,102,32,99,108,97,115,115,32>>,{code,[],[<<116,104,114,111,119>>]},<<46,32,73,110,116,101,110,100,101,100,32,116,111,32,98,101,32,117,115,101,100,32,116,111,32,100,111,32,110,111,110,45,108,111,99,97,108,32,114,101,116,117,114,110,115,32,102,114,111,109,32,102,117,110,99,116,105,111,110,115,46>>]},{p,[],[<<73,102,32,101,118,97,108,117,97,116,101,100,32,119,105,116,104,105,110,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,99,97,116,99,104>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<99,97,116,99,104,32,101,120,112,114,101,115,115,105,111,110>>]},<<44,32,116,104,101,32,99,97,116,99,104,32,101,120,112,114,101,115,115,105,111,110,32,114,101,116,117,114,110,115,32,118,97,108,117,101,32>>,{code,[],[<<65,110,121>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,99,97,116,99,104,32,116,104,114,111,119,40,123,104,101,108,108,111,44,32,116,104,101,114,101,125,41,46,10,32,32,32,32,32,32,32,32,123,104,101,108,108,111,44,116,104,101,114,101,125>>]}]},{p,[],[<<73,102,32,101,118,97,108,117,97,116,101,100,32,119,105,116,104,105,110,32,97,32>>,{code,[],[<<116,114,121>>]},<<45,98,108,111,99,107,32,111,102,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,116,114,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,114,121,32,101,120,112,114,101,115,115,105,111,110>>]},<<44,32,116,104,101,32,118,97,108,117,101,32>>,{code,[],[<<65,110,121>>]},<<32,99,97,110,32,98,101,32,99,97,117,103,104,116,32,119,105,116,104,105,110,32,116,104,101,32,99,97,116,99,104,32,98,108,111,99,107,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<116,114,121,10,32,32,32,32,116,104,114,111,119,40,123,109,121,95,101,120,99,101,112,116,105,111,110,44,32,34,83,111,109,101,116,104,105,110,103,32,104,97,112,112,101,110,101,100,34,125,41,10,99,97,116,99,104,10,32,32,32,32,116,104,114,111,119,58,123,109,121,95,101,120,99,101,112,116,105,111,110,44,32,68,101,115,99,125,32,45,62,10,32,32,32,32,32,32,32,32,105,111,58,102,111,114,109,97,116,40,115,116,97,110,100,97,114,100,95,101,114,114,111,114,44,32,34,69,114,114,111,114,58,32,126,115,126,110,34,44,32,91,68,101,115,99,93,41,10,101,110,100>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<110,111,99,97,116,99,104>>]},<<32,105,102,32,110,111,116,32,99,97,117,103,104,116,32,98,121,32,97,110,32,101,120,99,101,112,116,105,111,110,32,104,97,110,100,108,101,114,46>>]},{p,[],[<<83,101,101,32,116,104,101,32,103,117,105,100,101,32,97,98,111,117,116,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<101,114,114,111,114,115,32,97,110,100,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103>>]},<<32,102,111,114,32,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46>>]}]},#{signature => [{attribute,{2294,2},spec,{{throw,1},[{type,{2294,12},bounded_fun,[{type,{2294,12},'fun',[{type,{2294,12},product,[{var,{2294,13},'Any'}]},{type,{2294,21},no_return,[]}]},[{type,{2295,7},constraint,[{atom,{2295,7},is_subtype},[{var,{2295,7},'Any'},{type,{2295,14},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,49,52,57>>}},{{function,time,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2300}],[<<116,105,109,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,109,101,32,97,115,32>>,{code,[],[<<123,72,111,117,114,44,32,77,105,110,117,116,101,44,32,83,101,99,111,110,100,125>>]},<<46>>]},{p,[],[<<84,104,101,32,116,105,109,101,32,122,111,110,101,32,97,110,100,32,68,97,121,108,105,103,104,116,32,83,97,118,105,110,103,32,84,105,109,101,32,99,111,114,114,101,99,116,105,111,110,32,100,101,112,101,110,100,32,111,110,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,98,97,115,101,100,32,111,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,83,121,115,116,101,109,32,84,105,109,101>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,116,105,109,101,40,41,46,10,123,57,44,52,50,44,52,52,125>>]}]}]},#{signature => [{attribute,{2300,2},spec,{{time,0},[{type,{2300,11},bounded_fun,[{type,{2300,11},'fun',[{type,{2300,11},product,[]},{var,{2300,17},'Time'}]},[{type,{2301,7},constraint,[{atom,{2301,7},is_subtype},[{var,{2301,7},'Time'},{remote_type,{2301,15},[{atom,{2301,15},calendar},{atom,{2301,24},time},[]]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,49,55,55>>}},{{function,time_offset,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1897}],[<<116,105,109,101,95,111,102,102,115,101,116,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,109,101,32,111,102,102,115,101,116,32,98,101,116,119,101,101,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,105,110,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,105,109,101,32,117,110,105,116>>]},<<46,32,67,117,114,114,101,110,116,32,116,105,109,101,32,111,102,102,115,101,116,32,97,100,100,101,100,32,116,111,32,97,110,32,69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101,32,103,105,118,101,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101,46>>]},{p,[],[<<84,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,109,97,121,32,111,114,32,109,97,121,32,110,111,116,32,99,104,97,110,103,101,32,100,117,114,105,110,103,32,111,112,101,114,97,116,105,111,110,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,87,97,114,112,95,77,111,100,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<32,117,115,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,32,99,104,97,110,103,101,32,105,110,32,116,105,109,101,32,111,102,102,115,101,116,32,99,97,110,32,98,101,32,111,98,115,101,114,118,101,100,32,97,116,32,115,108,105,103,104,116,108,121,32,100,105,102,102,101,114,101,110,116,32,112,111,105,110,116,115,32,105,110,32,116,105,109,101,32,98,121,32,100,105,102,102,101,114,101,110,116,32,112,114,111,99,101,115,115,101,115,46>>]},{p,[],[<<73,102,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,115,32,105,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,77,117,108,116,105,95,84,105,109,101,95,87,97,114,112,95,77,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<109,117,108,116,105,45,116,105,109,101,32,119,97,114,112,32,109,111,100,101>>]},<<44,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,99,104,97,110,103,101,100,32,119,104,101,110,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,100,101,116,101,99,116,115,32,116,104,97,116,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,79,83,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,104,97,115,32,99,104,97,110,103,101,100,46,32,84,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,119,105,108,108,44,32,104,111,119,101,118,101,114,44,32,110,111,116,32,100,101,116,101,99,116,32,116,104,105,115,32,105,109,109,101,100,105,97,116,101,108,121,32,119,104,101,110,32,105,116,32,111,99,99,117,114,115,46,32,65,32,116,97,115,107,32,99,104,101,99,107,105,110,103,32,116,104,101,32,116,105,109,101,32,111,102,102,115,101,116,32,105,115,32,115,99,104,101,100,117,108,101,100,32,116,111,32,101,120,101,99,117,116,101,32,97,116,32,108,101,97,115,116,32,111,110,99,101,32,97,32,109,105,110,117,116,101,59,32,115,111,44,32,117,110,100,101,114,32,110,111,114,109,97,108,32,111,112,101,114,97,116,105,111,110,32,116,104,105,115,32,105,115,32,116,111,32,98,101,32,100,101,116,101,99,116,101,100,32,119,105,116,104,105,110,32,97,32,109,105,110,117,116,101,44,32,98,117,116,32,100,117,114,105,110,103,32,104,101,97,118,121,32,108,111,97,100,32,105,116,32,99,97,110,32,116,97,107,101,32,108,111,110,103,101,114,32,116,105,109,101,46>>]}]}]},#{signature => [{attribute,{1897,2},spec,{{erlang,time_offset,0},[{type,{1897,25},'fun',[{type,{1897,25},product,[]},{type,{1897,31},integer,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,49,57,50>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,time_offset,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1902}],[<<116,105,109,101,95,111,102,102,115,101,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,109,101,32,111,102,102,115,101,116,32,98,101,116,119,101,101,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,99,111,110,118,101,114,116,101,100,32,105,110,116,111,32,116,104,101,32>>,{code,[],[<<85,110,105,116>>]},<<32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,46>>]},{p,[],[<<83,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116>>]}]},{code,[],[<<40>>]},{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,105,109,101,95,111,102,102,115,101,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<32>>,{code,[],[<<101,114,108,97,110,103,58,116,105,109,101,95,111,102,102,115,101,116,40,41>>]}]},{code,[],[<<44,32,110,97,116,105,118,101,44,32,85,110,105,116,41>>]},<<32,104,111,119,101,118,101,114,32,111,112,116,105,109,105,122,101,100,32,102,111,114,32,99,111,109,109,111,110,108,121,32,117,115,101,100,32>>,{code,[],[<<85,110,105,116>>]},<<115,46>>]}]},#{signature => [{attribute,{1902,2},spec,{{erlang,time_offset,1},[{type,{1902,25},bounded_fun,[{type,{1902,25},'fun',[{type,{1902,25},product,[{var,{1902,26},'Unit'}]},{type,{1902,35},integer,[]}]},[{type,{1903,7},constraint,[{atom,{1903,7},is_subtype},[{var,{1903,7},'Unit'},{user_type,{1903,15},time_unit,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,50,50,52>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,timestamp,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1908}],[<<116,105,109,101,115,116,97,109,112,47,48>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<116,105,109,101,115,116,97,109,112>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,99,117,114,114,101,110,116,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,83,121,115,116,101,109,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101>>]},<<32,111,110,32,116,104,101,32,102,111,114,109,97,116,32>>,{code,[],[<<123,77,101,103,97,83,101,99,115,44,32,83,101,99,115,44,32,77,105,99,114,111,83,101,99,115,125>>]},<<46,32,84,104,105,115,32,102,111,114,109,97,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<107,101,114,110,101,108,58,111,115,35,116,105,109,101,115,116,97,109,112,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,115,58,116,105,109,101,115,116,97,109,112,47,48>>]}]},<<32,97,110,100,32,116,104,101,32,100,101,112,114,101,99,97,116,101,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,110,111,119,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,110,111,119,47,48>>]}]},<<32,117,115,101,46,32,84,104,101,32,114,101,97,115,111,110,32,102,111,114,32,116,104,101,32,101,120,105,115,116,101,110,99,101,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,116,105,109,101,115,116,97,109,112,40,41>>]},<<32,105,115,32,112,117,114,101,108,121,32,116,111,32,115,105,109,112,108,105,102,121,32,117,115,101,32,102,111,114,32,101,120,105,115,116,105,110,103,32,99,111,100,101,32,116,104,97,116,32,97,115,115,117,109,101,115,32,116,104,105,115,32,116,105,109,101,32,115,116,97,109,112,32,102,111,114,109,97,116,46,32,67,117,114,114,101,110,116,32,69,114,108,97,110,103,32,115,121,115,116,101,109,32,116,105,109,101,32,99,97,110,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,108,121,32,98,101,32,114,101,116,114,105,101,118,101,100,32,105,110,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,111,102,32,121,111,117,114,32,99,104,111,105,99,101,32,117,115,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,116,105,109,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,116,105,109,101,47,49>>]}]},<<46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<101,114,108,97,110,103,58,116,105,109,101,115,116,97,109,112,40,41>>]},<<32,66,73,70,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<116,105,109,101,115,116,97,109,112,40,41,32,45,62,10,32,32,32,32,69,114,108,97,110,103,83,121,115,116,101,109,84,105,109,101,32,61,32,101,114,108,97,110,103,58,115,121,115,116,101,109,95,116,105,109,101,40,109,105,99,114,111,115,101,99,111,110,100,41,44,10,32,32,32,32,77,101,103,97,83,101,99,115,32,61,32,69,114,108,97,110,103,83,121,115,116,101,109,84,105,109,101,32,100,105,118,32,49,48,48,48,95,48,48,48,95,48,48,48,95,48,48,48,44,10,32,32,32,32,83,101,99,115,32,61,32,69,114,108,97,110,103,83,121,115,116,101,109,84,105,109,101,32,100,105,118,32,49,48,48,48,95,48,48,48,32,45,32,77,101,103,97,83,101,99,115,42,49,48,48,48,95,48,48,48,44,10,32,32,32,32,77,105,99,114,111,83,101,99,115,32,61,32,69,114,108,97,110,103,83,121,115,116,101,109,84,105,109,101,32,114,101,109,32,49,48,48,48,95,48,48,48,44,10,32,32,32,32,123,77,101,103,97,83,101,99,115,44,32,83,101,99,115,44,32,77,105,99,114,111,83,101,99,115,125,46>>]}]},{p,[],[<<73,116,44,32,104,111,119,101,118,101,114,44,32,117,115,101,115,32,97,32,110,97,116,105,118,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,98,117,105,108,100,32,103,97,114,98,97,103,101,32,111,110,32,116,104,101,32,104,101,97,112,32,97,110,100,32,119,105,116,104,32,115,108,105,103,104,116,108,121,32,98,101,116,116,101,114,32,112,101,114,102,111,114,109,97,110,99,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,116,105,109,101,32,105,115,32>>,{em,[],[<<110,111,116>>]},<<32,97,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,116,105,109,101,32,105,110,32,116,104,101,32,103,101,110,101,114,97,108,32,99,97,115,101,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,87,97,114,112,95,77,111,100,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,105,109,101,32,119,97,114,112,32,109,111,100,101,115>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]}]},#{signature => [{attribute,{1908,2},spec,{{erlang,timestamp,0},[{type,{1908,23},bounded_fun,[{type,{1908,23},'fun',[{type,{1908,23},product,[]},{var,{1908,29},'Timestamp'}]},[{type,{1909,7},constraint,[{atom,{1909,7},is_subtype},[{var,{1909,7},'Timestamp'},{user_type,{1909,20},timestamp,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,50,52,51>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,tl,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3000}],[<<116,108,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,116,97,105,108,32,111,102,32>>,{code,[],[<<76,105,115,116>>]},<<44,32,116,104,97,116,32,105,115,44,32,116,104,101,32,108,105,115,116,32,109,105,110,117,115,32,116,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116>>]},{p,[],[<<73,116,32,119,111,114,107,115,32,119,105,116,104,32,105,109,112,114,111,112,101,114,32,108,105,115,116,115,46>>]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<62,32,116,108,40,91,103,101,101,115,116,105,101,115,44,32,103,117,105,108,105,101,115,44,32,98,101,97,115,116,105,101,115,93,41,46,10,91,103,117,105,108,105,101,115,44,32,98,101,97,115,116,105,101,115,93>>]}]},{pre,[],[{code,[],[<<62,32,116,108,40,91,103,101,101,115,116,105,101,115,93,41,46,10,91,93>>]}]},{pre,[],[{code,[],[<<62,32,116,108,40,91,103,101,101,115,116,105,101,115,44,32,103,117,105,108,105,101,115,44,32,98,101,97,115,116,105,101,115,32,124,32,105,109,112,114,111,112,101,114,95,101,110,100,93,41,46,10,91,103,117,105,108,105,101,115,44,32,98,101,97,115,116,105,101,115,32,124,32,105,109,112,114,111,112,101,114,95,101,110,100,93>>]}]},{pre,[],[{code,[],[<<62,32,116,108,40,91,103,101,101,115,116,105,101,115,32,124,32,105,109,112,114,111,112,101,114,95,101,110,100,93,41,46,10,105,109,112,114,111,112,101,114,95,101,110,100>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<76,105,115,116>>]},<<32,105,115,32,97,110,32,101,109,112,116,121,32,108,105,115,116,32>>,{code,[],[<<91,93>>]},<<46>>]}]},#{signature => [{attribute,{3000,2},spec,{{tl,1},[{type,{3000,9},bounded_fun,[{type,{3000,9},'fun',[{type,{3000,9},product,[{var,{3000,10},'List'}]},{var,{3000,19},'Tail'}]},[{type,{3001,7},constraint,[{atom,{3001,7},is_subtype},[{var,{3001,7},'List'},{type,{3001,15},nonempty_maybe_improper_list,[]}]]},{type,{3002,7},constraint,[{atom,{3002,7},is_subtype},[{var,{3002,7},'Tail'},{type,{3002,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,50,56,50>>}},{{function,trace,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2306}],[<<116,114,97,99,101,47,51>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<116,114,97,99,101,95,102,108,97,103>>}],[]}]},{p,[],[<<84,117,114,110,115,32,111,110,32,40,105,102,32>>,{code,[],[<<72,111,119,32,61,61,32,116,114,117,101>>]},<<41,32,111,114,32,111,102,102,32,40,105,102,32>>,{code,[],[<<72,111,119,32,61,61,32,102,97,108,115,101>>]},<<41,32,116,104,101,32,116,114,97,99,101,32,102,108,97,103,115,32,105,110,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,114,111,99,101,115,115,101,115,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32>>,{code,[],[<<80,105,100,80,111,114,116,83,112,101,99>>]},<<46>>]},{p,[],[{code,[],[<<80,105,100,80,111,114,116,83,112,101,99>>]},<<32,105,115,32,101,105,116,104,101,114,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,32,102,111,114,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,44,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,97,116,111,109,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<97,108,108>>]}]},{dd,[],[<<65,108,108,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,112,111,114,116,115,32,97,110,100,32,97,108,108,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{dt,[],[{code,[],[<<112,114,111,99,101,115,115,101,115>>]}]},{dd,[],[<<65,108,108,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,97,108,108,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{dt,[],[{code,[],[<<112,111,114,116,115>>]}]},{dd,[],[<<65,108,108,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,112,111,114,116,115,32,97,110,100,32,97,108,108,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{dt,[],[{code,[],[<<101,120,105,115,116,105,110,103>>]}]},{dd,[],[<<65,108,108,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,112,111,114,116,115,46>>]},{dt,[],[{code,[],[<<101,120,105,115,116,105,110,103,95,112,114,111,99,101,115,115,101,115>>]}]},{dd,[],[<<65,108,108,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,112,114,111,99,101,115,115,101,115,46>>]},{dt,[],[{code,[],[<<101,120,105,115,116,105,110,103,95,112,111,114,116,115>>]}]},{dd,[],[<<65,108,108,32,99,117,114,114,101,110,116,108,121,32,101,120,105,115,116,105,110,103,32,112,111,114,116,115,46>>]},{dt,[],[{code,[],[<<110,101,119>>]}]},{dd,[],[<<65,108,108,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,112,111,114,116,115,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{dt,[],[{code,[],[<<110,101,119,95,112,114,111,99,101,115,115,101,115>>]}]},{dd,[],[<<65,108,108,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]},{dt,[],[{code,[],[<<110,101,119,95,112,111,114,116,115>>]}]},{dd,[],[<<65,108,108,32,112,111,114,116,115,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,32,105,110,32,116,104,101,32,102,117,116,117,114,101,46>>]}]},{p,[],[{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,99,97,110,32,99,111,110,116,97,105,110,32,97,110,121,32,110,117,109,98,101,114,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,108,97,103,115,32,40,116,104,101,32,34,109,101,115,115,97,103,101,32,116,97,103,115,34,32,114,101,102,101,114,115,32,116,111,32,116,104,101,32,108,105,115,116,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,114,97,99,101,32,109,101,115,115,97,103,101,115>>]}]},<<41,58>>]},{dl,[],[{dt,[],[{code,[],[<<97,108,108>>]}]},{dd,[],[{p,[],[<<83,101,116,115,32,97,108,108,32,116,114,97,99,101,32,102,108,97,103,115,32,101,120,99,101,112,116,32>>,{code,[],[<<116,114,97,99,101,114>>]},<<32,97,110,100,32>>,{code,[],[<<99,112,117,95,116,105,109,101,115,116,97,109,112>>]},<<44,32,119,104,105,99,104,32,97,114,101,32,105,110,32,116,104,101,105,114,32,110,97,116,117,114,101,32,100,105,102,102,101,114,101,110,116,32,116,104,97,110,32,116,104,101,32,111,116,104,101,114,115,46>>]}]},{dt,[],[{code,[],[<<115,101,110,100>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,115,101,110,100,105,110,103,32,111,102,32,109,101,115,115,97,103,101,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,101,110,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,101,110,100>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,101,110,100,95,116,111,95,110,111,110,95,101,120,105,115,116,105,110,103,95,112,114,111,99,101,115,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,101,110,100,95,116,111,95,110,111,110,95,101,120,105,115,116,105,110,103,95,112,114,111,99,101,115,115>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<39,114,101,99,101,105,118,101,39>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,114,101,99,101,105,118,105,110,103,32,111,102,32,109,101,115,115,97,103,101,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,99,101,105,118,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<39,114,101,99,101,105,118,101,39>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<99,97,108,108>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,99,101,114,116,97,105,110,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,46,32,83,112,101,99,105,102,121,32,119,104,105,99,104,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,32,116,111,32,116,114,97,99,101,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]}]},<<46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,99,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,97,108,108>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,116,117,114,110,95,102,114,111,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,101,116,117,114,110,95,102,114,111,109>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<115,105,108,101,110,116>>]}]},{dd,[],[{p,[],[<<85,115,101,100,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<99,97,108,108>>]},<<32,116,114,97,99,101,32,102,108,97,103,46,32,84,104,101,32>>,{code,[],[<<99,97,108,108>>]},<<44,32>>,{code,[],[<<114,101,116,117,114,110,95,102,114,111,109>>]},<<44,32,97,110,100,32>>,{code,[],[<<114,101,116,117,114,110,95,116,111>>]},<<32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,97,114,101,32,105,110,104,105,98,105,116,101,100,32,105,102,32,116,104,105,115,32,102,108,97,103,32,105,115,32,115,101,116,44,32,98,117,116,32,116,104,101,121,32,97,114,101,32,101,120,101,99,117,116,101,100,32,97,115,32,110,111,114,109,97,108,32,105,102,32,116,104,101,114,101,32,97,114,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,46>>]},{p,[],[<<83,105,108,101,110,116,32,109,111,100,101,32,105,115,32,105,110,104,105,98,105,116,101,100,32,98,121,32,101,120,101,99,117,116,105,110,103,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,40,95,44,32,102,97,108,115,101,44,32,91,115,105,108,101,110,116,124,95,93,41>>]},<<44,32,111,114,32,98,121,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,101,120,101,99,117,116,105,110,103,32,116,104,101,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<123,115,105,108,101,110,116,44,32,102,97,108,115,101,125>>]},<<46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<115,105,108,101,110,116>>]},<<32,116,114,97,99,101,32,102,108,97,103,32,102,97,99,105,108,105,116,97,116,101,115,32,115,101,116,116,105,110,103,32,117,112,32,97,32,116,114,97,99,101,32,111,110,32,109,97,110,121,32,111,114,32,101,118,101,110,32,97,108,108,32,112,114,111,99,101,115,115,101,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,46,32,84,104,101,32,116,114,97,99,101,32,99,97,110,32,116,104,101,110,32,98,101,32,97,99,116,105,118,97,116,101,100,32,97,110,100,32,100,101,97,99,116,105,118,97,116,101,100,32,117,115,105,110,103,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<123,115,105,108,101,110,116,44,66,111,111,108,125>>]},<<44,32,103,105,118,105,110,103,32,97,32,104,105,103,104,32,100,101,103,114,101,101,32,111,102,32,99,111,110,116,114,111,108,32,111,102,32,119,104,105,99,104,32,102,117,110,99,116,105,111,110,115,32,119,105,116,104,32,119,104,105,99,104,32,97,114,103,117,109,101,110,116,115,32,116,104,97,116,32,116,114,105,103,103,101,114,32,116,104,101,32,116,114,97,99,101,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,99,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,97,108,108>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,116,117,114,110,95,102,114,111,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,101,116,117,114,110,95,102,114,111,109>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,116,117,114,110,95,116,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,101,116,117,114,110,95,116,111>>]}]},<<46,32,79,114,32,114,97,116,104,101,114,44,32,116,104,101,32,97,98,115,101,110,99,101,32,111,102,46>>]}]},{dt,[],[{code,[],[<<114,101,116,117,114,110,95,116,111>>]}]},{dd,[],[{p,[],[<<85,115,101,100,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<99,97,108,108>>]},<<32,116,114,97,99,101,32,102,108,97,103,46,32,84,114,97,99,101,115,32,116,104,101,32,114,101,116,117,114,110,32,102,114,111,109,32,97,32,116,114,97,99,101,100,32,102,117,110,99,116,105,111,110,32,98,97,99,107,32,116,111,32,105,116,115,32,99,97,108,108,101,114,46,32,79,110,108,121,32,119,111,114,107,115,32,102,111,114,32,102,117,110,99,116,105,111,110,115,32,116,114,97,99,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,116,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]}]},<<46>>]},{p,[],[<<84,104,101,32,115,101,109,97,110,116,105,99,115,32,105,115,32,116,104,97,116,32,97,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,119,104,101,110,32,97,32,99,97,108,108,32,116,114,97,99,101,100,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,44,32,116,104,97,116,32,105,115,44,32,119,104,101,110,32,97,32,99,104,97,105,110,32,111,102,32,116,97,105,108,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,115,32,101,110,100,115,46,32,79,110,108,121,32,111,110,101,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,112,101,114,32,99,104,97,105,110,32,111,102,32,116,97,105,108,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,115,44,32,115,111,32,116,104,101,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,116,97,105,108,32,114,101,99,117,114,115,105,118,101,110,101,115,115,32,102,111,114,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,32,97,114,101,32,107,101,112,116,32,119,104,105,108,101,32,116,114,97,99,105,110,103,32,119,105,116,104,32,116,104,105,115,32,102,108,97,103,46,32,85,115,105,110,103,32>>,{code,[],[<<99,97,108,108>>]},<<32,97,110,100,32>>,{code,[],[<<114,101,116,117,114,110,95,116,111>>]},<<32,116,114,97,99,101,32,116,111,103,101,116,104,101,114,32,109,97,107,101,115,32,105,116,32,112,111,115,115,105,98,108,101,32,116,111,32,107,110,111,119,32,101,120,97,99,116,108,121,32,105,110,32,119,104,105,99,104,32,102,117,110,99,116,105,111,110,32,97,32,112,114,111,99,101,115,115,32,101,120,101,99,117,116,101,115,32,97,116,32,97,110,121,32,116,105,109,101,46>>]},{p,[],[<<84,111,32,103,101,116,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,99,111,110,116,97,105,110,105,110,103,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,102,114,111,109,32,102,117,110,99,116,105,111,110,115,44,32,117,115,101,32,116,104,101,32>>,{code,[],[<<123,114,101,116,117,114,110,95,116,114,97,99,101,125>>]},<<32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,97,99,116,105,111,110,32,105,110,115,116,101,97,100,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,116,117,114,110,95,116,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,101,116,117,114,110,95,116,111>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<112,114,111,99,115>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,112,114,111,99,101,115,115,45,114,101,108,97,116,101,100,32,101,118,101,110,116,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,112,97,119,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,112,97,119,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,112,97,119,110,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,112,97,119,110,101,100>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,101,120,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,120,105,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,103,105,115,116,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,101,103,105,115,116,101,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,117,110,114,101,103,105,115,116,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<117,110,114,101,103,105,115,116,101,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,108,105,110,107>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<108,105,110,107>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,117,110,108,105,110,107>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<117,110,108,105,110,107>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,101,116,116,105,110,103,95,108,105,110,107,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,101,116,116,105,110,103,95,108,105,110,107,101,100>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,101,116,116,105,110,103,95,117,110,108,105,110,107,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,101,116,116,105,110,103,95,117,110,108,105,110,107,101,100>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<112,111,114,116,115>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,112,111,114,116,45,114,101,108,97,116,101,100,32,101,118,101,110,116,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,112,101,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,112,101,110>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,99,108,111,115,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<99,108,111,115,101,100>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,103,105,115,116,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,101,103,105,115,116,101,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,117,110,114,101,103,105,115,116,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<117,110,114,101,103,105,115,116,101,114>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,101,116,116,105,110,103,95,108,105,110,107,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,101,116,116,105,110,103,95,108,105,110,107,101,100>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,101,116,116,105,110,103,95,117,110,108,105,110,107,101,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,101,116,116,105,110,103,95,117,110,108,105,110,107,101,100>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<114,117,110,110,105,110,103>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,115,99,104,101,100,117,108,105,110,103,32,111,102,32,112,114,111,99,101,115,115,101,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,105,110,95,112,114,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,110>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,112,114,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,117,116>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<101,120,105,116,105,110,103>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,115,99,104,101,100,117,108,105,110,103,32,111,102,32,101,120,105,116,105,110,103,32,112,114,111,99,101,115,115,101,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,105,110,95,101,120,105,116,105,110,103,95,112,114,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,110,95,101,120,105,116,105,110,103>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,101,120,105,116,105,110,103,95,112,114,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,117,116,95,101,120,105,116,105,110,103>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,101,120,105,116,101,100,95,112,114,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,117,116,95,101,120,105,116,101,100>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<114,117,110,110,105,110,103,95,112,114,111,99,115>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,115,99,104,101,100,117,108,105,110,103,32,111,102,32,112,114,111,99,101,115,115,101,115,32,106,117,115,116,32,108,105,107,101,32>>,{code,[],[<<114,117,110,110,105,110,103>>]},<<46,32,72,111,119,101,118,101,114,44,32,116,104,105,115,32,111,112,116,105,111,110,32,97,108,115,111,32,105,110,99,108,117,100,101,115,32,115,99,104,101,100,117,108,101,32,101,118,101,110,116,115,32,119,104,101,110,32,116,104,101,32,112,114,111,99,101,115,115,32,101,120,101,99,117,116,101,115,32,119,105,116,104,105,110,32,116,104,101,32,99,111,110,116,101,120,116,32,111,102,32,97,32,112,111,114,116,32,119,105,116,104,111,117,116,32,98,101,105,110,103,32,115,99,104,101,100,117,108,101,100,32,111,117,116,32,105,116,115,101,108,102,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,105,110,95,112,114,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,110>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,112,114,111,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,117,116>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<114,117,110,110,105,110,103,95,112,111,114,116,115>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,115,99,104,101,100,117,108,105,110,103,32,111,102,32,112,111,114,116,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,105,110,95,112,111,114,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,110>>]}]},<<32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,112,111,114,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,117,116>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>]}]},{dd,[],[{p,[],[<<84,114,97,99,101,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,102,32,112,114,111,99,101,115,115,101,115,46>>]},{p,[],[<<77,101,115,115,97,103,101,32,116,97,103,115,58,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,105,110,111,114,95,115,116,97,114,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>]}]},<<44,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,99,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,105,110,111,114,95,101,110,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<103,99,95,109,105,110,111,114,95,101,110,100>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<116,105,109,101,115,116,97,109,112>>]}]},{dd,[],[{p,[],[<<73,110,99,108,117,100,101,115,32,97,32,116,105,109,101,32,115,116,97,109,112,32,105,110,32,97,108,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,46,32,84,104,101,32,116,105,109,101,32,115,116,97,109,112,32,40,84,115,41,32,104,97,115,32,116,104,101,32,115,97,109,101,32,102,111,114,109,32,97,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,110,111,119,40,41>>]},<<46>>]}]},{dt,[],[{code,[],[<<99,112,117,95,116,105,109,101,115,116,97,109,112>>]}]},{dd,[],[{p,[],[<<65,32,103,108,111,98,97,108,32,116,114,97,99,101,32,102,108,97,103,32,102,111,114,32,116,104,101,32,69,114,108,97,110,103,32,110,111,100,101,32,116,104,97,116,32,109,97,107,101,115,32,97,108,108,32,116,114,97,99,101,32,116,105,109,101,32,115,116,97,109,112,115,32,117,115,105,110,103,32,102,108,97,103,32>>,{code,[],[<<116,105,109,101,115,116,97,109,112>>]},<<32,116,111,32,98,101,32,105,110,32,67,80,85,32,116,105,109,101,44,32,110,111,116,32,119,97,108,108,32,99,108,111,99,107,32,116,105,109,101,46,32,84,104,97,116,32,105,115,44,32>>,{code,[],[<<99,112,117,95,116,105,109,101,115,116,97,109,112>>]},<<32,105,115,32,110,111,116,32,98,101,32,117,115,101,100,32,105,102,32>>,{code,[],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<32,111,114,32>>,{code,[],[<<115,116,114,105,99,116,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<32,105,115,32,101,110,97,98,108,101,100,46,32,79,110,108,121,32,97,108,108,111,119,101,100,32,119,105,116,104,32>>,{code,[],[<<80,105,100,80,111,114,116,83,112,101,99,61,61,97,108,108>>]},<<46,32,73,102,32,116,104,101,32,104,111,115,116,32,109,97,99,104,105,110,101,32,79,83,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,104,105,103,104,45,114,101,115,111,108,117,116,105,111,110,32,67,80,85,32,116,105,109,101,32,109,101,97,115,117,114,101,109,101,110,116,115,44,32>>,{code,[],[<<116,114,97,99,101,47,51>>]},<<32,101,120,105,116,115,32,119,105,116,104,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,109,111,115,116,32,79,83,32,100,111,32,110,111,116,32,115,121,110,99,104,114,111,110,105,122,101,32,116,104,105,115,32,118,97,108,117,101,32,97,99,114,111,115,115,32,99,111,114,101,115,44,32,115,111,32,98,101,32,112,114,101,112,97,114,101,100,32,116,104,97,116,32,116,105,109,101,32,99,97,110,32,115,101,101,109,32,116,111,32,103,111,32,98,97,99,107,119,97,114,100,115,32,119,104,101,110,32,117,115,105,110,103,32,116,104,105,115,32,111,112,116,105,111,110,46>>]}]},{dt,[],[{code,[],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]}]},{dd,[],[{p,[],[<<73,110,99,108,117,100,101,115,32,97,110,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,116,105,109,101,32,115,116,97,109,112,32,105,110,32,97,108,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,46,32,84,104,101,32,116,105,109,101,32,115,116,97,109,112,32,40,84,115,41,32,104,97,115,32,116,104,101,32,115,97,109,101,32,102,111,114,109,97,116,32,97,110,100,32,118,97,108,117,101,32,97,115,32,112,114,111,100,117,99,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,110,97,110,111,115,101,99,111,110,100,41>>]}]},<<46,32,84,104,105,115,32,102,108,97,103,32,111,118,101,114,114,105,100,101,115,32,102,108,97,103,32>>,{code,[],[<<99,112,117,95,116,105,109,101,115,116,97,109,112>>]},<<46>>]}]},{dt,[],[{code,[],[<<115,116,114,105,99,116,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]}]},{dd,[],[{p,[],[<<73,110,99,108,117,100,101,115,32,97,110,32,116,105,109,101,32,115,116,97,109,112,32,99,111,110,115,105,115,116,105,110,103,32,111,102,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,69,114,108,97,110,103,95,77,111,110,111,116,111,110,105,99,95,84,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,108,97,110,103,32,109,111,110,111,116,111,110,105,99,32,116,105,109,101>>]},<<32,97,110,100,32,97,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,105,110,116,101,103,101,114,32,105,110,32,97,108,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,46,32,84,104,101,32,116,105,109,101,32,115,116,97,109,112,32,40,84,115,41,32,104,97,115,32,116,104,101,32,115,97,109,101,32,102,111,114,109,97,116,32,97,110,100,32,118,97,108,117,101,32,97,115,32,112,114,111,100,117,99,101,100,32,98,121,32>>,{code,[],[<<123>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,111,116,111,110,105,99,95,116,105,109,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,109,111,110,111,116,111,110,105,99,95,116,105,109,101,40,110,97,110,111,115,101,99,111,110,100,41>>]}]},{code,[],[<<44>>]},<<32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,117,110,105,113,117,101,95,105,110,116,101,103,101,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,91,109,111,110,111,116,111,110,105,99,93,41>>]}]},{code,[],[<<125>>]},<<46,32,84,104,105,115,32,102,108,97,103,32,111,118,101,114,114,105,100,101,115,32,102,108,97,103,32>>,{code,[],[<<99,112,117,95,116,105,109,101,115,116,97,109,112>>]},<<46>>]}]},{dt,[],[{code,[],[<<97,114,105,116,121>>]}]},{dd,[],[{p,[],[<<85,115,101,100,32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<99,97,108,108>>]},<<32,116,114,97,99,101,32,102,108,97,103,46,32>>,{code,[],[<<123,77,44,32,70,44,32,65,114,105,116,121,125>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,32,105,110,115,116,101,97,100,32,111,102,32>>,{code,[],[<<123,77,44,32,70,44,32,65,114,103,115,125>>]},<<32,105,110,32,99,97,108,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,46>>]}]},{dt,[],[{code,[],[<<115,101,116,95,111,110,95,115,112,97,119,110>>]}]},{dd,[],[{p,[],[<<77,97,107,101,115,32,97,110,121,32,112,114,111,99,101,115,115,32,99,114,101,97,116,101,100,32,98,121,32,97,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,32,105,110,104,101,114,105,116,32,105,116,115,32,116,114,97,99,101,32,102,108,97,103,115,44,32,105,110,99,108,117,100,105,110,103,32,102,108,97,103,32>>,{code,[],[<<115,101,116,95,111,110,95,115,112,97,119,110>>]},<<46>>]}]},{dt,[],[{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,115,112,97,119,110>>]}]},{dd,[],[{p,[],[<<77,97,107,101,115,32,116,104,101,32,102,105,114,115,116,32,112,114,111,99,101,115,115,32,99,114,101,97,116,101,100,32,98,121,32,97,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,32,105,110,104,101,114,105,116,32,105,116,115,32,116,114,97,99,101,32,102,108,97,103,115,44,32,101,120,99,108,117,100,105,110,103,32,102,108,97,103,32>>,{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,115,112,97,119,110>>]},<<46>>]}]},{dt,[],[{code,[],[<<115,101,116,95,111,110,95,108,105,110,107>>]}]},{dd,[],[{p,[],[<<77,97,107,101,115,32,97,110,121,32,112,114,111,99,101,115,115,32,108,105,110,107,101,100,32,98,121,32,97,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,32,105,110,104,101,114,105,116,32,105,116,115,32,116,114,97,99,101,32,102,108,97,103,115,44,32,105,110,99,108,117,100,105,110,103,32,102,108,97,103,32>>,{code,[],[<<115,101,116,95,111,110,95,108,105,110,107>>]},<<46>>]}]},{dt,[],[{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,108,105,110,107>>]}]},{dd,[],[{p,[],[<<77,97,107,101,115,32,116,104,101,32,102,105,114,115,116,32,112,114,111,99,101,115,115,32,108,105,110,107,101,100,32,116,111,32,98,121,32,97,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,32,105,110,104,101,114,105,116,32,105,116,115,32,116,114,97,99,101,32,102,108,97,103,115,44,32,101,120,99,108,117,100,105,110,103,32,102,108,97,103,32>>,{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,108,105,110,107>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,116,114,97,99,101,114,44,32,84,114,97,99,101,114,125>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,119,104,101,114,101,32,116,111,32,115,101,110,100,32,116,104,101,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,46,32>>,{code,[],[<<84,114,97,99,101,114>>]},<<32,109,117,115,116,32,98,101,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,111,114,32,116,104,101,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,97,32,108,111,99,97,108,32,112,111,114,116,46>>]}]},{dt,[],[{code,[],[<<123,116,114,97,99,101,114,44,32,84,114,97,99,101,114,77,111,100,117,108,101,44,32,84,114,97,99,101,114,83,116,97,116,101,125>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,116,104,97,116,32,97,32,116,114,97,99,101,114,32,109,111,100,117,108,101,32,105,115,32,116,111,32,98,101,32,99,97,108,108,101,100,32,105,110,115,116,101,97,100,32,111,102,32,115,101,110,100,105,110,103,32,97,32,116,114,97,99,101,32,109,101,115,115,97,103,101,46,32,84,104,101,32,116,114,97,99,101,114,32,109,111,100,117,108,101,32,99,97,110,32,116,104,101,110,32,105,103,110,111,114,101,32,111,114,32,99,104,97,110,103,101,32,116,104,101,32,116,114,97,99,101,32,109,101,115,115,97,103,101,46,32,70,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,32,111,110,32,104,111,119,32,116,111,32,119,114,105,116,101,32,97,32,116,114,97,99,101,114,32,109,111,100,117,108,101,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,116,114,97,99,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,95,116,114,97,99,101,114,40,51,41>>]}]},<<46>>]}]}]},{p,[],[<<73,102,32,110,111,32>>,{code,[],[<<116,114,97,99,101,114>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,114,101,99,101,105,118,101,115,32,97,108,108,32,116,104,101,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,46>>]},{p,[],[<<84,104,101,32,101,102,102,101,99,116,32,111,102,32,99,111,109,98,105,110,105,110,103,32>>,{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,108,105,110,107>>]},<<32,119,105,116,104,32>>,{code,[],[<<115,101,116,95,111,110,95,108,105,110,107>>]},<<32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,108,105,110,107>>]},<<32,97,108,111,110,101,46,32,76,105,107,101,119,105,115,101,32,102,111,114,32>>,{code,[],[<<115,101,116,95,111,110,95,115,112,97,119,110>>]},<<32,97,110,100,32>>,{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,115,112,97,119,110>>]},<<46>>]},{p,[],[<<84,104,101,32,116,114,97,99,105,110,103,32,112,114,111,99,101,115,115,32,114,101,99,101,105,118,101,115,32,116,104,101,32>>,{em,[],[<<116,114,97,99,101,32,109,101,115,115,97,103,101,115>>]},<<32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,108,105,115,116,46,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,102,32,116,104,101,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,32,105,110,32,119,104,105,99,104,32,116,104,101,32,116,114,97,99,101,100,32,101,118,101,110,116,32,104,97,115,32,111,99,99,117,114,114,101,100,46,32,84,104,101,32,116,104,105,114,100,32,116,117,112,108,101,32,101,108,101,109,101,110,116,32,105,115,32,116,104,101,32,109,101,115,115,97,103,101,32,116,97,103,46>>]},{p,[],[<<73,102,32,102,108,97,103,32>>,{code,[],[<<116,105,109,101,115,116,97,109,112>>]},<<44,32>>,{code,[],[<<115,116,114,105,99,116,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<44,32,111,114,32>>,{code,[],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,102,105,114,115,116,32,116,117,112,108,101,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<116,114,97,99,101,95,116,115>>]},<<32,105,110,115,116,101,97,100,44,32,97,110,100,32,116,104,101,32,116,105,109,101,32,115,116,97,109,112,32,105,115,32,97,100,100,101,100,32,97,115,32,97,110,32,101,120,116,114,97,32,101,108,101,109,101,110,116,32,108,97,115,116,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,116,117,112,108,101,46,32,73,102,32,109,117,108,116,105,112,108,101,32,116,105,109,101,32,115,116,97,109,112,32,102,108,97,103,115,32,97,114,101,32,112,97,115,115,101,100,44,32>>,{code,[],[<<116,105,109,101,115,116,97,109,112>>]},<<32,104,97,115,32,112,114,101,99,101,100,101,110,99,101,32,111,118,101,114,32>>,{code,[],[<<115,116,114,105,99,116,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<44,32,119,104,105,99,104,32,105,110,32,116,117,114,110,32,104,97,115,32,112,114,101,99,101,100,101,110,99,101,32,111,118,101,114,32>>,{code,[],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<46,32,65,108,108,32,116,105,109,101,32,115,116,97,109,112,32,102,108,97,103,115,32,97,114,101,32,114,101,109,101,109,98,101,114,101,100,44,32,115,111,32,105,102,32,116,119,111,32,97,114,101,32,112,97,115,115,101,100,32,97,110,100,32,116,104,101,32,111,110,101,32,119,105,116,104,32,104,105,103,104,101,115,116,32,112,114,101,99,101,100,101,110,99,101,32,108,97,116,101,114,32,105,115,32,100,105,115,97,98,108,101,100,44,32,116,104,101,32,111,116,104,101,114,32,111,110,101,32,98,101,99,111,109,101,115,32,97,99,116,105,118,101,46>>]},{p,[],[<<73,102,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,40,97,112,112,108,105,99,97,98,108,101,32,111,110,108,121,32,102,111,114,32>>,{code,[],[<<99,97,108,108>>]},<<44,32>>,{code,[],[<<115,101,110,100>>]},<<32,97,110,100,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<32,116,114,97,99,105,110,103,41,32,99,111,110,116,97,105,110,115,32,97,32>>,{code,[],[<<123,109,101,115,115,97,103,101,125>>]},<<32,97,99,116,105,111,110,32,102,117,110,99,116,105,111,110,32,119,105,116,104,32,97,32,110,111,110,45,98,111,111,108,101,97,110,32,118,97,108,117,101,44,32,116,104,97,116,32,118,97,108,117,101,32,105,115,32,97,100,100,101,100,32,97,115,32,97,110,32,101,120,116,114,97,32,101,108,101,109,101,110,116,32,116,111,32,116,104,101,32,109,101,115,115,97,103,101,32,116,117,112,108,101,32,101,105,116,104,101,114,32,105,110,32,116,104,101,32,108,97,115,116,32,112,111,115,105,116,105,111,110,32,111,114,32,98,101,102,111,114,101,32,116,104,101,32,116,105,109,101,115,116,97,109,112,32,40,105,102,32,105,116,32,105,115,32,112,114,101,115,101,110,116,41,46>>]},{p,[],[<<84,114,97,99,101,32,109,101,115,115,97,103,101,115,58>>]},{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115>>}],[]},{dl,[],[{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,101,110,100>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,80,111,114,116,44,32,115,101,110,100,44,32,77,115,103,44,32,84,111,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100,80,111,114,116>>]},<<32,115,101,110,100,115,32,109,101,115,115,97,103,101,32>>,{code,[],[<<77,115,103>>]},<<32,116,111,32,112,114,111,99,101,115,115,32>>,{code,[],[<<84,111>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,101,110,100,95,116,111,95,110,111,110,95,101,120,105,115,116,105,110,103,95,112,114,111,99,101,115,115>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,80,111,114,116,44,32,115,101,110,100,95,116,111,95,110,111,110,95,101,120,105,115,116,105,110,103,95,112,114,111,99,101,115,115,44,32,77,115,103,44,32,84,111,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100,80,111,114,116>>]},<<32,115,101,110,100,115,32,109,101,115,115,97,103,101,32>>,{code,[],[<<77,115,103>>]},<<32,116,111,32,116,104,101,32,110,111,110,45,101,120,105,115,116,105,110,103,32,112,114,111,99,101,115,115,32>>,{code,[],[<<84,111>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,99,101,105,118,101>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,80,111,114,116,44,32,39,114,101,99,101,105,118,101,39,44,32,77,115,103,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100,80,111,114,116>>]},<<32,114,101,99,101,105,118,101,115,32,109,101,115,115,97,103,101,32>>,{code,[],[<<77,115,103>>]},<<46,32,73,102,32>>,{code,[],[<<77,115,103>>]},<<32,105,115,32,115,101,116,32,116,111,32,116,105,109,101,45,111,117,116,44,32,97,32,114,101,99,101,105,118,101,32,115,116,97,116,101,109,101,110,116,32,99,97,110,32,104,97,118,101,32,116,105,109,101,100,32,111,117,116,44,32,111,114,32,116,104,101,32,112,114,111,99,101,115,115,32,114,101,99,101,105,118,101,100,32,97,32,109,101,115,115,97,103,101,32,119,105,116,104,32,116,104,101,32,112,97,121,108,111,97,100,32>>,{code,[],[<<116,105,109,101,111,117,116>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,99,97,108,108>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,99,97,108,108,44,32,123,77,44,32,70,44,32,65,114,103,115,125,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,99,97,108,108,115,32,97,32,116,114,97,99,101,100,32,102,117,110,99,116,105,111,110,46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,111,102,32,99,97,108,108,115,32,97,114,101,32,110,101,118,101,114,32,115,117,112,112,108,105,101,100,44,32,111,110,108,121,32,116,104,101,32,99,97,108,108,32,97,110,100,32,105,116,115,32,97,114,103,117,109,101,110,116,115,46>>]},{p,[],[<<84,114,97,99,101,32,102,108,97,103,32>>,{code,[],[<<97,114,105,116,121>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,99,104,97,110,103,101,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32,116,104,105,115,32,109,101,115,115,97,103,101,44,32,115,111,32,116,104,97,116,32>>,{code,[],[<<65,114,105,116,121>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,32,105,110,115,116,101,97,100,32,111,102,32>>,{code,[],[<<65,114,103,115>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,116,117,114,110,95,116,111>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,114,101,116,117,114,110,95,116,111,44,32,123,77,44,32,70,44,32,65,114,105,116,121,125,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,114,101,116,117,114,110,115,32>>,{em,[],[<<116,111>>]},<<32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,117,110,99,116,105,111,110,46,32,84,104,105,115,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,105,102,32,98,111,116,104,32,116,104,101,32,102,108,97,103,115,32>>,{code,[],[<<99,97,108,108>>]},<<32,97,110,100,32>>,{code,[],[<<114,101,116,117,114,110,95,116,111>>]},<<32,97,114,101,32,115,101,116,44,32,97,110,100,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,115,101,116,32,116,111,32,98,101,32,116,114,97,99,101,100,32,111,110,32>>,{em,[],[<<108,111,99,97,108>>]},<<32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,46,32,84,104,101,32,109,101,115,115,97,103,101,32,105,115,32,111,110,108,121,32,115,101,110,116,32,119,104,101,110,32,114,101,116,117,114,110,105,110,103,32,102,114,111,109,32,97,32,99,104,97,105,110,32,111,102,32,116,97,105,108,32,114,101,99,117,114,115,105,118,101,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,44,32,119,104,101,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,99,97,108,108,32,103,101,110,101,114,97,116,101,100,32,97,32>>,{code,[],[<<99,97,108,108>>]},<<32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,40,116,104,97,116,32,105,115,44,32,116,104,101,32,102,117,110,99,116,105,111,110,115,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,109,97,116,99,104,101,100,44,32,97,110,100,32>>,{code,[],[<<123,109,101,115,115,97,103,101,44,32,102,97,108,115,101,125>>]},<<32,119,97,115,32,110,111,116,32,97,110,32,97,99,116,105,111,110,41,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,116,117,114,110,95,102,114,111,109>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,114,101,116,117,114,110,95,102,114,111,109,44,32,123,77,44,32,70,44,32,65,114,105,116,121,125,44,32,82,101,116,117,114,110,86,97,108,117,101,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,114,101,116,117,114,110,115,32>>,{em,[],[<<102,114,111,109>>]},<<32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,117,110,99,116,105,111,110,46,32,84,104,105,115,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,105,102,32,102,108,97,103,32>>,{code,[],[<<99,97,108,108>>]},<<32,105,115,32,115,101,116,44,32,97,110,100,32,116,104,101,32,102,117,110,99,116,105,111,110,32,104,97,115,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,119,105,116,104,32,97,32>>,{code,[],[<<114,101,116,117,114,110,95,116,114,97,99,101>>]},<<32,111,114,32>>,{code,[],[<<101,120,99,101,112,116,105,111,110,95,116,114,97,99,101>>]},<<32,97,99,116,105,111,110,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,101,120,99,101,112,116,105,111,110,95,102,114,111,109>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,101,120,99,101,112,116,105,111,110,95,102,114,111,109,44,32,123,77,44,32,70,44,32,65,114,105,116,121,125,44,32,123,67,108,97,115,115,44,32,86,97,108,117,101,125,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,101,120,105,116,115,32>>,{em,[],[<<102,114,111,109>>]},<<32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,117,110,99,116,105,111,110,32,98,101,99,97,117,115,101,32,111,102,32,97,110,32,101,120,99,101,112,116,105,111,110,46,32,84,104,105,115,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,105,102,32,102,108,97,103,32>>,{code,[],[<<99,97,108,108>>]},<<32,105,115,32,115,101,116,44,32,97,110,100,32,116,104,101,32,102,117,110,99,116,105,111,110,32,104,97,115,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,119,105,116,104,32,97,110,32>>,{code,[],[<<101,120,99,101,112,116,105,111,110,95,116,114,97,99,101>>]},<<32,97,99,116,105,111,110,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,112,97,119,110>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,115,112,97,119,110,44,32,80,105,100,50,44,32,123,77,44,32,70,44,32,65,114,103,115,125,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,115,112,97,119,110,115,32,97,32,110,101,119,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100,50>>]},<<32,119,105,116,104,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,117,110,99,116,105,111,110,32,99,97,108,108,32,97,115,32,101,110,116,114,121,32,112,111,105,110,116,46>>]},{p,[],[{code,[],[<<65,114,103,115>>]},<<32,105,115,32,115,117,112,112,111,115,101,100,32,116,111,32,98,101,32,116,104,101,32,97,114,103,117,109,101,110,116,32,108,105,115,116,44,32,98,117,116,32,99,97,110,32,98,101,32,97,110,121,32,116,101,114,109,32,105,102,32,116,104,101,32,115,112,97,119,110,32,105,115,32,101,114,114,111,110,101,111,117,115,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,115,112,97,119,110,101,100>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,115,112,97,119,110,101,100,44,32,80,105,100,50,44,32,123,77,44,32,70,44,32,65,114,103,115,125,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,115,112,97,119,110,101,100,32,98,121,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100,50>>]},<<32,119,105,116,104,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,117,110,99,116,105,111,110,32,99,97,108,108,32,97,115,32,101,110,116,114,121,32,112,111,105,110,116,46>>]},{p,[],[{code,[],[<<65,114,103,115>>]},<<32,105,115,32,115,117,112,112,111,115,101,100,32,116,111,32,98,101,32,116,104,101,32,97,114,103,117,109,101,110,116,32,108,105,115,116,44,32,98,117,116,32,99,97,110,32,98,101,32,97,110,121,32,116,101,114,109,32,105,102,32,116,104,101,32,115,112,97,119,110,32,105,115,32,101,114,114,111,110,101,111,117,115,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,101,120,105,116>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,101,120,105,116,44,32,82,101,97,115,111,110,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,101,120,105,116,115,32,119,105,116,104,32,114,101,97,115,111,110,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,114,101,103,105,115,116,101,114>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,80,111,114,116,44,32,114,101,103,105,115,116,101,114,44,32,82,101,103,78,97,109,101,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100,80,111,114,116>>]},<<32,103,101,116,115,32,116,104,101,32,110,97,109,101,32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,114,101,103,105,115,116,101,114,101,100,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,117,110,114,101,103,105,115,116,101,114>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,80,111,114,116,44,32,117,110,114,101,103,105,115,116,101,114,44,32,82,101,103,78,97,109,101,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100,80,111,114,116>>]},<<32,103,101,116,115,32,116,104,101,32,110,97,109,101,32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,117,110,114,101,103,105,115,116,101,114,101,100,46,32,84,104,105,115,32,105,115,32,100,111,110,101,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,119,104,101,110,32,97,32,114,101,103,105,115,116,101,114,101,100,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,101,120,105,116,115,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,108,105,110,107>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,108,105,110,107,44,32,80,105,100,50,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,108,105,110,107,115,32,116,111,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100,50>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,117,110,108,105,110,107>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,117,110,108,105,110,107,44,32,80,105,100,50,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,114,101,109,111,118,101,115,32,116,104,101,32,108,105,110,107,32,102,114,111,109,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100,50>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,101,116,116,105,110,103,95,108,105,110,107,101,100>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,80,111,114,116,44,32,103,101,116,116,105,110,103,95,108,105,110,107,101,100,44,32,80,105,100,50,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100,80,111,114,116>>]},<<32,103,101,116,115,32,108,105,110,107,101,100,32,116,111,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100,50>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,101,116,116,105,110,103,95,117,110,108,105,110,107,101,100>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,80,111,114,116,44,32,103,101,116,116,105,110,103,95,117,110,108,105,110,107,101,100,44,32,80,105,100,50,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100,80,111,114,116>>]},<<32,103,101,116,115,32,117,110,108,105,110,107,101,100,32,102,114,111,109,32,97,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100,50>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,112,101,110>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,111,114,116,44,32,111,112,101,110,44,32,80,105,100,44,32,68,114,105,118,101,114,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,111,112,101,110,115,32,97,32,110,101,119,32,112,111,114,116,32>>,{code,[],[<<80,111,114,116>>]},<<32,119,105,116,104,32,116,104,101,32,114,117,110,110,105,110,103,32>>,{code,[],[<<68,114,105,118,101,114>>]},<<46>>]},{p,[],[{code,[],[<<68,114,105,118,101,114>>]},<<32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,100,114,105,118,101,114,32,97,115,32,97,110,32,97,116,111,109,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,99,108,111,115,101,100>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,111,114,116,44,32,99,108,111,115,101,100,44,32,82,101,97,115,111,110,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,111,114,116>>]},<<32,99,108,111,115,101,115,32,119,105,116,104,32>>,{code,[],[<<82,101,97,115,111,110>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,105,110,95,112,114,111,99>>}],[]},{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,105,110,95,101,120,105,116,105,110,103,95,112,114,111,99>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,105,110,32,124,32,105,110,95,101,120,105,116,105,110,103,44,32,123,77,44,32,70,44,32,65,114,105,116,121,125,32,124,32,48,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,115,99,104,101,100,117,108,101,100,32,116,111,32,114,117,110,46,32,84,104,101,32,112,114,111,99,101,115,115,32,114,117,110,115,32,105,110,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<123,77,44,32,70,44,32,65,114,105,116,121,125>>]},<<46,32,79,110,32,115,111,109,101,32,114,97,114,101,32,111,99,99,97,115,105,111,110,115,44,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,99,97,110,110,111,116,32,98,101,32,100,101,116,101,114,109,105,110,101,100,44,32,116,104,101,110,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<48>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,112,114,111,99>>}],[]},{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,101,120,105,116,105,110,103,95,112,114,111,99>>}],[]},{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,101,120,105,116,101,100,95,112,114,111,99>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,111,117,116,32,124,32,111,117,116,95,101,120,105,116,105,110,103,32,124,32,111,117,116,95,101,120,105,116,101,100,44,32,123,77,44,32,70,44,32,65,114,105,116,121,125,32,124,32,48,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,115,99,104,101,100,117,108,101,100,32,111,117,116,46,32,84,104,101,32,112,114,111,99,101,115,115,32,119,97,115,32,114,117,110,110,105,110,103,32,105,110,32,102,117,110,99,116,105,111,110,32,123,77,44,32,70,44,32,65,114,105,116,121,125,46,32,79,110,32,115,111,109,101,32,114,97,114,101,32,111,99,99,97,115,105,111,110,115,44,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,99,97,110,110,111,116,32,98,101,32,100,101,116,101,114,109,105,110,101,100,44,32,116,104,101,110,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<48>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,105,110,95,112,111,114,116>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,111,114,116,44,32,105,110,44,32,67,111,109,109,97,110,100,32,124,32,48,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,115,99,104,101,100,117,108,101,100,32,116,111,32,114,117,110,46,32>>,{code,[],[<<67,111,109,109,97,110,100>>]},<<32,105,115,32,116,104,101,32,102,105,114,115,116,32,116,104,105,110,103,32,116,104,101,32,112,111,114,116,32,119,105,108,108,32,101,120,101,99,117,116,101,44,32,105,116,32,99,97,110,32,104,111,119,101,118,101,114,32,114,117,110,32,115,101,118,101,114,97,108,32,99,111,109,109,97,110,100,115,32,98,101,102,111,114,101,32,98,101,105,110,103,32,115,99,104,101,100,117,108,101,100,32,111,117,116,46,32,79,110,32,115,111,109,101,32,114,97,114,101,32,111,99,99,97,115,105,111,110,115,44,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,99,97,110,110,111,116,32,98,101,32,100,101,116,101,114,109,105,110,101,100,44,32,116,104,101,110,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<48>>]},<<46>>]},{p,[],[<<84,104,101,32,112,111,115,115,105,98,108,101,32,99,111,109,109,97,110,100,115,32,97,114,101,32>>,{code,[],[<<99,97,108,108>>]},<<44,32>>,{code,[],[<<99,108,111,115,101>>]},<<44,32>>,{code,[],[<<99,111,109,109,97,110,100>>]},<<44,32>>,{code,[],[<<99,111,110,110,101,99,116>>]},<<44,32>>,{code,[],[<<99,111,110,116,114,111,108>>]},<<44,32>>,{code,[],[<<102,108,117,115,104>>]},<<44,32>>,{code,[],[<<105,110,102,111>>]},<<44,32>>,{code,[],[<<108,105,110,107>>]},<<44,32>>,{code,[],[<<111,112,101,110>>]},<<44,32,97,110,100,32>>,{code,[],[<<117,110,108,105,110,107>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,111,117,116,95,112,111,114,116>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,111,114,116,44,32,111,117,116,44,32,67,111,109,109,97,110,100,32,124,32,48,125>>]}]},{dd,[],[{p,[],[<<87,104,101,110,32>>,{code,[],[<<80,111,114,116>>]},<<32,105,115,32,115,99,104,101,100,117,108,101,100,32,111,117,116,46,32,84,104,101,32,108,97,115,116,32,99,111,109,109,97,110,100,32,114,117,110,32,119,97,115,32>>,{code,[],[<<67,111,109,109,97,110,100>>]},<<46,32,79,110,32,115,111,109,101,32,114,97,114,101,32,111,99,99,97,115,105,111,110,115,44,32,116,104,101,32,99,117,114,114,101,110,116,32,102,117,110,99,116,105,111,110,32,99,97,110,110,111,116,32,98,101,32,100,101,116,101,114,109,105,110,101,100,44,32,116,104,101,110,32,116,104,101,32,108,97,115,116,32,101,108,101,109,101,110,116,32,105,115,32>>,{code,[],[<<48>>]},<<46,32>>,{code,[],[<<67,111,109,109,97,110,100>>]},<<32,99,97,110,32,99,111,110,116,97,105,110,32,116,104,101,32,115,97,109,101,32,99,111,109,109,97,110,100,115,32,97,115,32>>,{code,[],[<<105,110>>]}]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,105,110,111,114,95,115,116,97,114,116>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,103,99,95,109,105,110,111,114,95,115,116,97,114,116,44,32,73,110,102,111,125>>]}]},{dd,[],[{a,[{id,<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>}],[]},{p,[],[<<83,101,110,116,32,119,104,101,110,32,97,32,121,111,117,110,103,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,97,98,111,117,116,32,116,111,32,98,101,32,115,116,97,114,116,101,100,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,119,111,45,101,108,101,109,101,110,116,32,116,117,112,108,101,115,44,32,119,104,101,114,101,32,116,104,101,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,105,115,32,97,32,107,101,121,44,32,97,110,100,32,116,104,101,32,115,101,99,111,110,100,32,105,115,32,116,104,101,32,118,97,108,117,101,46,32,68,111,32,110,111,116,32,100,101,112,101,110,100,32,111,110,32,97,110,121,32,111,114,100,101,114,32,111,102,32,116,104,101,32,116,117,112,108,101,115,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,107,101,121,115,32,97,114,101,32,100,101,102,105,110,101,100,58>>]},{dl,[],[{dt,[],[{code,[],[<<104,101,97,112,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,117,115,101,100,32,112,97,114,116,32,111,102,32,116,104,101,32,104,101,97,112,46>>]},{dt,[],[{code,[],[<<104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,98,108,111,99,107,32,117,115,101,100,32,102,111,114,32,115,116,111,114,105,110,103,32,116,104,101,32,104,101,97,112,32,97,110,100,32,116,104,101,32,115,116,97,99,107,46>>]},{dt,[],[{code,[],[<<111,108,100,95,104,101,97,112,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,117,115,101,100,32,112,97,114,116,32,111,102,32,116,104,101,32,111,108,100,32,104,101,97,112,46>>]},{dt,[],[{code,[],[<<111,108,100,95,104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,98,108,111,99,107,32,117,115,101,100,32,102,111,114,32,115,116,111,114,105,110,103,32,116,104,101,32,111,108,100,32,104,101,97,112,46>>]},{dt,[],[{code,[],[<<115,116,97,99,107,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,115,116,97,99,107,46>>]},{dt,[],[{code,[],[<<114,101,99,101,110,116,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,100,97,116,97,32,116,104,97,116,32,115,117,114,118,105,118,101,100,32,116,104,101,32,112,114,101,118,105,111,117,115,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46>>]},{dt,[],[{code,[],[<<109,98,117,102,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,99,111,109,98,105,110,101,100,32,115,105,122,101,32,111,102,32,109,101,115,115,97,103,101,32,98,117,102,102,101,114,115,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,116,104,101,32,112,114,111,99,101,115,115,46>>]},{dt,[],[{code,[],[<<98,105,110,95,118,104,101,97,112,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,116,111,116,97,108,32,115,105,122,101,32,111,102,32,117,110,105,113,117,101,32,111,102,102,45,104,101,97,112,32,98,105,110,97,114,105,101,115,32,114,101,102,101,114,101,110,99,101,100,32,102,114,111,109,32,116,104,101,32,112,114,111,99,101,115,115,32,104,101,97,112,46>>]},{dt,[],[{code,[],[<<98,105,110,95,118,104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,116,111,116,97,108,32,115,105,122,101,32,111,102,32,98,105,110,97,114,105,101,115,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,118,105,114,116,117,97,108,32,104,101,97,112,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,98,101,102,111,114,101,32,100,111,105,110,103,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46>>]},{dt,[],[{code,[],[<<98,105,110,95,111,108,100,95,118,104,101,97,112,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,116,111,116,97,108,32,115,105,122,101,32,111,102,32,117,110,105,113,117,101,32,111,102,102,45,104,101,97,112,32,98,105,110,97,114,105,101,115,32,114,101,102,101,114,101,110,99,101,100,32,102,114,111,109,32,116,104,101,32,112,114,111,99,101,115,115,32,111,108,100,32,104,101,97,112,46>>]},{dt,[],[{code,[],[<<98,105,110,95,111,108,100,95,118,104,101,97,112,95,98,108,111,99,107,95,115,105,122,101>>]}]},{dd,[],[<<84,104,101,32,116,111,116,97,108,32,115,105,122,101,32,111,102,32,98,105,110,97,114,105,101,115,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,118,105,114,116,117,97,108,32,111,108,100,32,104,101,97,112,32,105,110,32,116,104,101,32,112,114,111,99,101,115,115,32,98,101,102,111,114,101,32,100,111,105,110,103,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46>>]},{dt,[],[{code,[],[<<119,111,114,100,115,105,122,101>>]}]},{dd,[],[<<70,111,114,32,116,104,101,32>>,{code,[],[<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>]},<<32,101,118,101,110,116,32,105,116,32,105,115,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,110,101,101,100,32,116,104,97,116,32,116,114,105,103,103,101,114,101,100,32,116,104,101,32,71,67,46,32,70,111,114,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32>>,{code,[],[<<103,99,95,109,105,110,111,114,95,101,110,100>>]},<<32,101,118,101,110,116,32,105,116,32,105,115,32,116,104,101,32,115,105,122,101,32,111,102,32,114,101,99,108,97,105,109,101,100,32,109,101,109,111,114,121,32,61,32,115,116,97,114,116,32>>,{code,[],[<<104,101,97,112,95,115,105,122,101>>]},<<32,45,32,101,110,100,32>>,{code,[],[<<104,101,97,112,95,115,105,122,101>>]},<<46>>]}]},{p,[],[<<65,108,108,32,115,105,122,101,115,32,97,114,101,32,105,110,32,119,111,114,100,115,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,103,99,95,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,73,110,102,111,125>>]}]},{dd,[],[{p,[],[<<83,101,110,116,32,119,104,101,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]}]},<<32,105,115,32,114,101,97,99,104,101,100,32,100,117,114,105,110,103,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,115,97,109,101,32,107,105,110,100,32,111,102,32,108,105,115,116,32,97,115,32,105,110,32,109,101,115,115,97,103,101,32>>,{code,[],[<<103,99,95,115,116,97,114,116>>]},<<44,32,98,117,116,32,116,104,101,32,115,105,122,101,115,32,114,101,102,108,101,99,116,32,116,104,101,32,115,105,122,101,115,32,116,104,97,116,32,116,114,105,103,103,101,114,101,100,32>>,{code,[],[<<109,97,120,95,104,101,97,112,95,115,105,122,101>>]},<<32,116,111,32,98,101,32,114,101,97,99,104,101,100,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,105,110,111,114,95,101,110,100>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,103,99,95,109,105,110,111,114,95,101,110,100,44,32,73,110,102,111,125>>]}]},{dd,[],[{p,[],[<<83,101,110,116,32,119,104,101,110,32,121,111,117,110,103,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,102,105,110,105,115,104,101,100,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,115,97,109,101,32,107,105,110,100,32,111,102,32,108,105,115,116,32,97,115,32,105,110,32,109,101,115,115,97,103,101,32>>,{code,[],[<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>]},<<44,32,98,117,116,32,116,104,101,32,115,105,122,101,115,32,114,101,102,108,101,99,116,32,116,104,101,32,110,101,119,32,115,105,122,101,115,32,97,102,116,101,114,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,97,106,111,114,95,115,116,97,114,116>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,103,99,95,109,97,106,111,114,95,115,116,97,114,116,44,32,73,110,102,111,125>>]}]},{dd,[],[{p,[],[<<83,101,110,116,32,119,104,101,110,32,102,117,108,108,115,119,101,101,112,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,97,98,111,117,116,32,116,111,32,98,101,32,115,116,97,114,116,101,100,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,115,97,109,101,32,107,105,110,100,32,111,102,32,108,105,115,116,32,97,115,32,105,110,32,109,101,115,115,97,103,101,32>>,{code,[],[<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>]},<<46>>]}]},{dt,[],[{a,[{id,<<116,114,97,99,101,95,51,95,116,114,97,99,101,95,109,101,115,115,97,103,101,115,95,103,99,95,109,97,106,111,114,95,101,110,100>>}],[]},{code,[],[<<123,116,114,97,99,101,44,32,80,105,100,44,32,103,99,95,109,97,106,111,114,95,101,110,100,44,32,73,110,102,111,125>>]}]},{dd,[],[{p,[],[<<83,101,110,116,32,119,104,101,110,32,102,117,108,108,115,119,101,101,112,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,102,105,110,105,115,104,101,100,46,32>>,{code,[],[<<73,110,102,111>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,115,97,109,101,32,107,105,110,100,32,111,102,32,108,105,115,116,32,97,115,32,105,110,32,109,101,115,115,97,103,101,32>>,{code,[],[<<103,99,95,109,105,110,111,114,95,115,116,97,114,116>>]},<<44,32,98,117,116,32,116,104,101,32,115,105,122,101,115,32,114,101,102,108,101,99,116,32,116,104,101,32,110,101,119,32,115,105,122,101,115,32,97,102,116,101,114,32,97,32,102,117,108,108,115,119,101,101,112,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,46>>]}]}]},{p,[],[<<73,102,32,116,104,101,32,116,114,97,99,105,110,103,32,112,114,111,99,101,115,115,47,112,111,114,116,32,100,105,101,115,32,111,114,32,116,104,101,32,116,114,97,99,101,114,32,109,111,100,117,108,101,32,114,101,116,117,114,110,115,32>>,{code,[],[<<114,101,109,111,118,101>>]},<<44,32,116,104,101,32,102,108,97,103,115,32,97,114,101,32,115,105,108,101,110,116,108,121,32,114,101,109,111,118,101,100,46>>]},{p,[],[<<69,97,99,104,32,112,114,111,99,101,115,115,32,99,97,110,32,111,110,108,121,32,98,101,32,116,114,97,99,101,100,32,98,121,32,111,110,101,32,116,114,97,99,101,114,46,32,84,104,101,114,101,102,111,114,101,44,32,97,116,116,101,109,112,116,115,32,116,111,32,116,114,97,99,101,32,97,110,32,97,108,114,101,97,100,121,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,32,102,97,105,108,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,97,32,110,117,109,98,101,114,32,105,110,100,105,99,97,116,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,109,97,116,99,104,101,100,32>>,{code,[],[<<80,105,100,80,111,114,116,83,112,101,99>>]},<<46,32,73,102,32>>,{code,[],[<<80,105,100,80,111,114,116,83,112,101,99>>]},<<32,105,115,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<49>>]},<<46,32,73,102,32>>,{code,[],[<<80,105,100,80,111,114,116,83,112,101,99>>]},<<32,105,115,32>>,{code,[],[<<97,108,108>>]},<<32,111,114,32>>,{code,[],[<<101,120,105,115,116,105,110,103>>]},<<44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,112,114,111,99,101,115,115,101,115,32,114,117,110,110,105,110,103,46,32,73,102,32>>,{code,[],[<<80,105,100,80,111,114,116,83,112,101,99>>]},<<32,105,115,32>>,{code,[],[<<110,101,119>>]},<<44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<48>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<99,112,117,95,116,105,109,101,115,116,97,109,112>>]},<<32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,111,110,32,97,108,108,32,112,108,97,116,102,111,114,109,115,46>>]}]},#{signature => [{attribute,{2306,2},spec,{{erlang,trace,3},[{type,{2306,19},bounded_fun,[{type,{2306,19},'fun',[{type,{2306,19},product,[{var,{2306,20},'PidPortSpec'},{var,{2306,33},'How'},{var,{2306,38},'FlagList'}]},{type,{2306,51},integer,[]}]},[{type,{2307,7},constraint,[{atom,{2307,7},is_subtype},[{var,{2307,7},'PidPortSpec'},{type,{2307,22},union,[{type,{2307,22},pid,[]},{type,{2307,30},port,[]},{atom,{2308,22},all},{atom,{2308,28},processes},{atom,{2308,40},ports},{atom,{2309,22},existing},{atom,{2309,33},existing_processes},{atom,{2309,54},existing_ports},{atom,{2310,22},new},{atom,{2310,28},new_processes},{atom,{2310,44},new_ports}]}]]},{type,{2311,7},constraint,[{atom,{2311,7},is_subtype},[{var,{2311,7},'How'},{type,{2311,14},boolean,[]}]]},{type,{2312,7},constraint,[{atom,{2312,7},is_subtype},[{var,{2312,7},'FlagList'},{type,{2312,19},list,[{user_type,{2312,20},trace_flag,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,51,48,56>>}},{{function,trace_delivered,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2321}],[<<116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,100,101,108,105,118,101,114,121,32,111,102,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,40,103,101,110,101,114,97,116,101,100,32,98,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<44,32>>,{a,[{href,<<107,101,114,110,101,108,58,115,101,113,95,116,114,97,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,101,113,95,116,114,97,99,101,40,51,41>>]}]},<<44,32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,115,121,115,116,101,109,95,112,114,111,102,105,108,101,47,50>>]}]},<<41,32,105,115,32,100,105,115,108,111,99,97,116,101,100,32,111,110,32,116,104,101,32,116,105,109,101,45,108,105,110,101,32,99,111,109,112,97,114,101,100,32,116,111,32,111,116,104,101,114,32,101,118,101,110,116,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,46,32,73,102,32,121,111,117,32,107,110,111,119,32,116,104,97,116,32>>,{code,[],[<<84,114,97,99,101,101>>]},<<32,104,97,115,32,112,97,115,115,101,100,32,115,111,109,101,32,115,112,101,99,105,102,105,99,32,112,111,105,110,116,32,105,110,32,105,116,115,32,101,120,101,99,117,116,105,111,110,44,32,97,110,100,32,121,111,117,32,119,97,110,116,32,116,111,32,107,110,111,119,32,119,104,101,110,32,97,116,32,108,101,97,115,116,32,97,108,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,101,118,101,110,116,115,32,117,112,32,116,111,32,116,104,105,115,32,112,111,105,110,116,32,104,97,118,101,32,114,101,97,99,104,101,100,32,116,104,101,32,116,114,97,99,101,114,44,32,117,115,101,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,40,84,114,97,99,101,101,41>>]},<<46>>]},{p,[],[<<87,104,101,110,32,105,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,104,97,116,32,97,108,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,97,114,101,32,100,101,108,105,118,101,114,101,100,32,116,111,32,116,104,101,32,116,114,97,99,101,114,32,117,112,32,116,111,32,116,104,101,32,112,111,105,110,116,32,116,104,97,116,32>>,{code,[],[<<84,114,97,99,101,101>>]},<<32,114,101,97,99,104,101,100,32,97,116,32,116,104,101,32,116,105,109,101,32,111,102,32,116,104,101,32,99,97,108,108,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,40,84,114,97,99,101,101,41>>]},<<44,32,116,104,101,110,32,97,32>>,{code,[],[<<123,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,44,32,84,114,97,99,101,101,44,32,82,101,102,125>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,40,84,114,97,99,101,101,41>>]},<<32,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,109,101,115,115,97,103,101,32>>,{code,[],[<<116,114,97,99,101,95,100,101,108,105,118,101,114,101,100>>]},<<32,100,111,101,115,32>>,{em,[],[<<110,111,116>>]},<<32,105,109,112,108,121,32,116,104,97,116,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,104,97,118,101,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,46,32,73,110,115,116,101,97,100,32,105,116,32,105,109,112,108,105,101,115,32,116,104,97,116,32,97,108,108,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,116,104,97,116,32>>,{em,[],[<<97,114,101,32,116,111,32,98,101,32,100,101,108,105,118,101,114,101,100>>]},<<32,104,97,118,101,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,46,32,73,116,32,105,115,32,110,111,116,32,97,110,32,101,114,114,111,114,32,105,102,32>>,{code,[],[<<84,114,97,99,101,101>>]},<<32,105,115,32,110,111,116,44,32,97,110,100,32,104,97,115,32,110,111,116,32,98,101,101,110,32,116,114,97,99,101,100,32,98,121,32,115,111,109,101,111,110,101,44,32,98,117,116,32,105,102,32,116,104,105,115,32,105,115,32,116,104,101,32,99,97,115,101,44,32>>,{em,[],[<<110,111>>]},<<32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,104,97,118,101,32,98,101,101,110,32,100,101,108,105,118,101,114,101,100,32,119,104,101,110,32,116,104,101,32>>,{code,[],[<<116,114,97,99,101,95,100,101,108,105,118,101,114,101,100>>]},<<32,109,101,115,115,97,103,101,32,97,114,114,105,118,101,115,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32>>,{code,[],[<<84,114,97,99,101,101>>]},<<32,109,117,115,116,32,114,101,102,101,114,32,116,111,32,97,32,112,114,111,99,101,115,115,32,99,117,114,114,101,110,116,108,121,32,111,114,32,112,114,101,118,105,111,117,115,108,121,32,101,120,105,115,116,105,110,103,32,111,110,32,116,104,101,32,115,97,109,101,32,110,111,100,101,32,97,115,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,40,84,114,97,99,101,101,41>>]},<<32,114,101,115,105,100,101,115,32,111,110,46,32,84,104,101,32,115,112,101,99,105,97,108,32>>,{code,[],[<<84,114,97,99,101,101>>]},<<32,97,116,111,109,32>>,{code,[],[<<97,108,108>>]},<<32,100,101,110,111,116,101,115,32,97,108,108,32,112,114,111,99,101,115,115,101,115,32,116,104,97,116,32,99,117,114,114,101,110,116,108,121,32,97,114,101,32,116,114,97,99,101,100,32,105,110,32,116,104,101,32,110,111,100,101,46>>]},{p,[],[<<87,104,101,110,32,117,115,101,100,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,116,114,97,99,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<84,114,97,99,101,114,32,77,111,100,117,108,101>>]},<<44,32,97,110,121,32,109,101,115,115,97,103,101,32,115,101,110,116,32,105,110,32,116,104,101,32,116,114,97,99,101,32,99,97,108,108,98,97,99,107,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,104,97,118,101,32,114,101,97,99,104,101,100,32,105,116,115,32,114,101,99,105,112,105,101,110,116,32,98,101,102,111,114,101,32,116,104,101,32>>,{code,[],[<<116,114,97,99,101,95,100,101,108,105,118,101,114,101,100>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,115,101,110,116,46>>]},{p,[],[<<69,120,97,109,112,108,101,58,32,80,114,111,99,101,115,115,32>>,{code,[],[<<65>>]},<<32,105,115,32>>,{code,[],[<<84,114,97,99,101,101>>]},<<44,32,112,111,114,116,32>>,{code,[],[<<66>>]},<<32,105,115,32,116,114,97,99,101,114,44,32,97,110,100,32,112,114,111,99,101,115,115,32>>,{code,[],[<<67>>]},<<32,105,115,32,116,104,101,32,112,111,114,116,32,111,119,110,101,114,32,111,102,32>>,{code,[],[<<66>>]},<<46,32>>,{code,[],[<<67>>]},<<32,119,97,110,116,115,32,116,111,32,99,108,111,115,101,32>>,{code,[],[<<66>>]},<<32,119,104,101,110,32>>,{code,[],[<<65>>]},<<32,101,120,105,116,115,46,32,84,111,32,101,110,115,117,114,101,32,116,104,97,116,32,116,104,101,32,116,114,97,99,101,32,105,115,32,110,111,116,32,116,114,117,110,99,97,116,101,100,44,32>>,{code,[],[<<67>>]},<<32,99,97,110,32,99,97,108,108,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,40,65,41>>]},<<32,119,104,101,110,32>>,{code,[],[<<65>>]},<<32,101,120,105,116,115,44,32,97,110,100,32,119,97,105,116,32,102,111,114,32,109,101,115,115,97,103,101,32>>,{code,[],[<<123,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,44,32,65,44,32,82,101,102,125>>]},<<32,98,101,102,111,114,101,32,99,108,111,115,105,110,103,32>>,{code,[],[<<66>>]},<<46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<84,114,97,99,101,101>>]},<<32,100,111,101,115,32,110,111,116,32,114,101,102,101,114,32,116,111,32,97,32,112,114,111,99,101,115,115,32,40,100,101,97,100,32,111,114,32,97,108,105,118,101,41,32,111,110,32,116,104,101,32,115,97,109,101,32,110,111,100,101,32,97,115,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,100,101,108,105,118,101,114,101,100,40,84,114,97,99,101,101,41>>]},<<32,114,101,115,105,100,101,115,32,111,110,46>>]}]},#{signature => [{attribute,{2321,2},spec,{{erlang,trace_delivered,1},[{type,{2321,29},bounded_fun,[{type,{2321,29},'fun',[{type,{2321,29},product,[{var,{2321,30},'Tracee'}]},{var,{2321,41},'Ref'}]},[{type,{2322,7},constraint,[{atom,{2322,7},is_subtype},[{var,{2322,7},'Tracee'},{type,{2322,17},union,[{type,{2322,17},pid,[]},{atom,{2322,25},all}]}]]},{type,{2323,7},constraint,[{atom,{2323,7},is_subtype},[{var,{2323,7},'Ref'},{type,{2323,14},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,50,57,54,56>>}},{{function,trace_info,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2328}],[<<116,114,97,99,101,95,105,110,102,111,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>}],[]},{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<65,112,112,114,111,120,105,109,97,116,105,111,110,32,111,102,32,39,36,49,39,32,124,32,39,36,50,39,32,124,32,39,36,51,39,32,124,32,46,46,46>>]},{li,[{name,<<116,114,97,99,101,95,105,110,102,111,95,102,108,97,103>>}],[]},{li,[{name,<<116,114,97,99,101,95,105,110,102,111,95,105,116,101,109,95,114,101,115,117,108,116>>}],[]},{li,[{name,<<116,114,97,99,101,95,105,110,102,111,95,114,101,116,117,114,110>>}],[]},{li,[{name,<<116,114,97,99,101,95,109,97,116,99,104,95,115,112,101,99>>}],[]}]},{p,[],[<<82,101,116,117,114,110,115,32,116,114,97,99,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,32,112,111,114,116,44,32,112,114,111,99,101,115,115,44,32,102,117,110,99,116,105,111,110,44,32,111,114,32,101,118,101,110,116,46>>]},{p,[],[{em,[],[<<84,111,32,103,101,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,32,112,111,114,116,32,111,114,32,112,114,111,99,101,115,115>>]},<<44,32>>,{code,[],[<<80,105,100,80,111,114,116,70,117,110,99,69,118,101,110,116>>]},<<32,105,115,32,116,111,32,98,101,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,40,112,105,100,41,44,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,44,32,111,114,32,111,110,101,32,111,102,32,116,104,101,32,97,116,111,109,115,32>>,{code,[],[<<110,101,119>>]},<<44,32>>,{code,[],[<<110,101,119,95,112,114,111,99,101,115,115,101,115>>]},<<44,32,111,114,32>>,{code,[],[<<110,101,119,95,112,111,114,116,115>>]},<<46,32,84,104,101,32,97,116,111,109,32>>,{code,[],[<<110,101,119>>]},<<32,111,114,32>>,{code,[],[<<110,101,119,95,112,114,111,99,101,115,115,101,115>>]},<<32,109,101,97,110,115,32,116,104,97,116,32,116,104,101,32,100,101,102,97,117,108,116,32,116,114,97,99,101,32,115,116,97,116,101,32,102,111,114,32,112,114,111,99,101,115,115,101,115,32,116,111,32,98,101,32,99,114,101,97,116,101,100,32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,101,32,97,116,111,109,32>>,{code,[],[<<110,101,119,95,112,111,114,116,115>>]},<<32,109,101,97,110,115,32,116,104,97,116,32,116,104,101,32,100,101,102,97,117,108,116,32,116,114,97,99,101,32,115,116,97,116,101,32,102,111,114,32,112,111,114,116,115,32,116,111,32,98,101,32,99,114,101,97,116,101,100,32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<86,97,108,105,100,32>>,{code,[],[<<73,116,101,109>>]},<<115,32,102,111,114,32,112,111,114,116,115,32,97,110,100,32,112,114,111,99,101,115,115,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<102,108,97,103,115>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32,97,116,111,109,115,32,105,110,100,105,99,97,116,105,110,103,32,119,104,97,116,32,107,105,110,100,32,111,102,32,116,114,97,99,101,115,32,105,115,32,101,110,97,98,108,101,100,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,46,32,84,104,101,32,108,105,115,116,32,105,115,32,101,109,112,116,121,32,105,102,32,110,111,32,116,114,97,99,101,115,32,97,114,101,32,101,110,97,98,108,101,100,44,32,97,110,100,32,111,110,101,32,111,114,32,109,111,114,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,97,116,111,109,115,32,105,102,32,116,114,97,99,101,115,32,97,114,101,32,101,110,97,98,108,101,100,58,32>>,{code,[],[<<115,101,110,100>>]},<<44,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<44,32>>,{code,[],[<<115,101,116,95,111,110,95,115,112,97,119,110>>]},<<44,32>>,{code,[],[<<99,97,108,108>>]},<<44,32>>,{code,[],[<<114,101,116,117,114,110,95,116,111>>]},<<44,32>>,{code,[],[<<112,114,111,99,115>>]},<<44,32>>,{code,[],[<<112,111,114,116,115>>]},<<44,32>>,{code,[],[<<115,101,116,95,111,110,95,102,105,114,115,116,95,115,112,97,119,110>>]},<<44,32>>,{code,[],[<<115,101,116,95,111,110,95,108,105,110,107>>]},<<44,32>>,{code,[],[<<114,117,110,110,105,110,103>>]},<<44,32>>,{code,[],[<<114,117,110,110,105,110,103,95,112,114,111,99,115>>]},<<44,32>>,{code,[],[<<114,117,110,110,105,110,103,95,112,111,114,116,115>>]},<<44,32>>,{code,[],[<<115,105,108,101,110,116>>]},<<44,32>>,{code,[],[<<101,120,105,116,105,110,103>>]},<<44,32>>,{code,[],[<<109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<44,32>>,{code,[],[<<115,116,114,105,99,116,95,109,111,110,111,116,111,110,105,99,95,116,105,109,101,115,116,97,109,112>>]},<<44,32>>,{code,[],[<<103,97,114,98,97,103,101,95,99,111,108,108,101,99,116,105,111,110>>]},<<44,32>>,{code,[],[<<116,105,109,101,115,116,97,109,112>>]},<<44,32,97,110,100,32>>,{code,[],[<<97,114,105,116,121>>]},<<46,32,84,104,101,32,111,114,100,101,114,32,105,115,32,97,114,98,105,116,114,97,114,121,46>>]}]},{dt,[],[{code,[],[<<116,114,97,99,101,114>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,105,100,101,110,116,105,102,105,101,114,32,102,111,114,32,112,114,111,99,101,115,115,44,32,112,111,114,116,44,32,111,114,32,97,32,116,117,112,108,101,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,116,114,97,99,101,114,32,109,111,100,117,108,101,32,97,110,100,32,116,114,97,99,101,114,32,115,116,97,116,101,32,116,114,97,99,105,110,103,32,116,104,105,115,32,112,114,111,99,101,115,115,46,32,73,102,32,116,104,105,115,32,112,114,111,99,101,115,115,32,105,115,32,110,111,116,32,116,114,97,99,101,100,44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<91,93>>]},<<46>>]}]}]},{p,[],[{em,[],[<<84,111,32,103,101,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,32,102,117,110,99,116,105,111,110>>]},<<44,32>>,{code,[],[<<80,105,100,80,111,114,116,70,117,110,99,69,118,101,110,116>>]},<<32,105,115,32,116,111,32,98,101,32,116,104,101,32,116,104,114,101,101,45,101,108,101,109,101,110,116,32,116,117,112,108,101,32>>,{code,[],[<<123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,125>>]},<<32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<46,32,78,111,32,119,105,108,100,99,97,114,100,115,32,97,114,101,32,97,108,108,111,119,101,100,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,111,114,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,116,114,97,99,101,100,46,32,73,102,32>>,{code,[],[<<80,105,100,80,111,114,116,70,117,110,99,69,118,101,110,116>>]},<<32,105,115,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<44,32,116,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,114,101,116,117,114,110,101,100,32,114,101,102,101,114,115,32,116,111,32,116,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,102,111,114,32,99,111,100,101,32,116,104,97,116,32,119,105,108,108,32,98,101,32,108,111,97,100,101,100,46>>]},{p,[],[<<86,97,108,105,100,32>>,{code,[],[<<73,116,101,109>>]},<<115,32,102,111,114,32,102,117,110,99,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<116,114,97,99,101,100>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<32,105,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,116,114,97,99,101,100,32,111,110,32,103,108,111,98,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,44,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,105,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,116,114,97,99,101,100,32,111,110,32,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,32,40,116,104,97,116,32,105,115,44,32,108,111,99,97,108,32,97,110,100,32,103,108,111,98,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,41,44,32,97,110,100,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,108,111,99,97,108,32,111,114,32,103,108,111,98,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,32,97,114,101,32,110,111,116,32,116,114,97,99,101,100,46>>]}]},{dt,[],[{code,[],[<<109,97,116,99,104,95,115,112,101,99>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,111,114,32,116,104,105,115,32,102,117,110,99,116,105,111,110,44,32,105,102,32,105,116,32,104,97,115,32,111,110,101,46,32,73,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,108,111,99,97,108,108,121,32,111,114,32,103,108,111,98,97,108,108,121,32,116,114,97,99,101,100,32,98,117,116,32,104,97,115,32,110,111,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,100,101,102,105,110,101,100,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<91,93>>]},<<46>>]}]},{dt,[],[{code,[],[<<109,101,116,97>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,101,116,97,45,116,114,97,99,101,32,116,114,97,99,101,114,32,112,114,111,99,101,115,115,44,32,112,111,114,116,44,32,111,114,32,116,114,97,99,101,32,109,111,100,117,108,101,32,102,111,114,32,116,104,105,115,32,102,117,110,99,116,105,111,110,44,32,105,102,32,105,116,32,104,97,115,32,111,110,101,46,32,73,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,109,101,116,97,45,116,114,97,99,101,100,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<46,32,73,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,109,101,116,97,45,116,114,97,99,101,100,32,98,117,116,32,104,97,115,32,111,110,99,101,32,100,101,116,101,99,116,101,100,32,116,104,97,116,32,116,104,101,32,116,114,97,99,101,114,32,112,114,111,99,101,115,115,32,105,115,32,105,110,118,97,108,105,100,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<91,93>>]},<<46>>]}]},{dt,[],[{code,[],[<<109,101,116,97,95,109,97,116,99,104,95,115,112,101,99>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,101,116,97,45,116,114,97,99,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,111,114,32,116,104,105,115,32,102,117,110,99,116,105,111,110,44,32,105,102,32,105,116,32,104,97,115,32,111,110,101,46,32,73,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,109,101,116,97,45,116,114,97,99,101,100,32,98,117,116,32,104,97,115,32,110,111,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,100,101,102,105,110,101,100,44,32,116,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<91,93>>]},<<46>>]}]},{dt,[],[{code,[],[<<99,97,108,108,95,99,111,117,110,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,97,108,108,32,99,111,117,110,116,32,118,97,108,117,101,32,102,111,114,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,111,114,32>>,{code,[],[<<116,114,117,101>>]},<<32,102,111,114,32,116,104,101,32,112,115,101,117,100,111,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<32,105,102,32,99,97,108,108,32,99,111,117,110,116,32,116,114,97,99,105,110,103,32,105,115,32,97,99,116,105,118,101,46,32,79,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<99,97,108,108,95,116,105,109,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,97,108,108,32,116,105,109,101,32,118,97,108,117,101,115,32,102,111,114,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,111,114,32>>,{code,[],[<<116,114,117,101>>]},<<32,102,111,114,32,116,104,101,32,112,115,101,117,100,111,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<32,105,102,32,99,97,108,108,32,116,105,109,101,32,116,114,97,99,105,110,103,32,105,115,32,97,99,116,105,118,101,46,32,79,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,101,32,99,97,108,108,32,116,105,109,101,32,118,97,108,117,101,115,32,114,101,116,117,114,110,101,100,44,32>>,{code,[],[<<91,123,80,105,100,44,32,67,111,117,110,116,44,32,83,44,32,85,115,125,93>>]},<<44,32,105,115,32,97,32,108,105,115,116,32,111,102,32,101,97,99,104,32,112,114,111,99,101,115,115,32,116,104,97,116,32,101,120,101,99,117,116,101,100,32,116,104,101,32,102,117,110,99,116,105,111,110,32,97,110,100,32,105,116,115,32,115,112,101,99,105,102,105,99,32,99,111,117,110,116,101,114,115,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<99,97,108,108,95,109,101,109,111,114,121>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,97,99,99,117,109,117,108,97,116,101,100,32,110,117,109,98,101,114,32,111,102,32,119,111,114,100,115,32,97,108,108,111,99,97,116,101,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,32,65,99,99,117,109,117,108,97,116,105,111,110,32,115,116,111,112,115,32,97,116,32,116,104,101,32,110,101,120,116,32,109,101,109,111,114,121,32,116,114,97,99,101,100,32,102,117,110,99,116,105,111,110,58,32,105,102,32,116,104,101,114,101,32,97,114,101,32>>,{code,[],[<<111,117,116,101,114>>]},<<44,32>>,{code,[],[<<109,105,100,100,108,101>>]},<<32,97,110,100,32>>,{code,[],[<<105,110,110,101,114>>]},<<32,102,117,110,99,116,105,111,110,115,32,101,97,99,104,32,97,108,108,111,99,97,116,105,110,103,32,51,32,119,111,114,100,115,44,32,98,117,116,32,111,110,108,121,32>>,{code,[],[<<111,117,116,101,114>>]},<<32,105,115,32,116,114,97,99,101,100,44,32,105,116,32,119,105,108,108,32,114,101,112,111,114,116,32,57,32,97,108,108,111,99,97,116,101,100,32,119,111,114,100,115,46,32,73,102,32>>,{code,[],[<<111,117,116,101,114>>]},<<32,97,110,100,32>>,{code,[],[<<105,110,110,101,114>>]},<<32,97,114,101,32,116,114,97,99,101,100,44,32,54,32,119,111,114,100,115,32,97,114,101,32,114,101,112,111,114,116,101,100,32,102,111,114,32>>,{code,[],[<<111,117,116,101,114>>]},<<32,97,110,100,32,51,32,102,111,114,32>>,{code,[],[<<105,110,110,101,114>>]},<<46,32,87,104,101,110,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,116,114,97,99,101,100,44,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,82,101,116,117,114,110,101,100,32,116,117,112,108,101,32,105,115,32>>,{code,[],[<<91,123,80,105,100,44,32,67,111,117,110,116,44,32,87,111,114,100,115,125,93>>]},<<44,32,102,111,114,32,101,97,99,104,32,112,114,111,99,101,115,115,32,116,104,97,116,32,101,120,101,99,117,116,101,100,32,116,104,101,32,102,117,110,99,116,105,111,110,46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<97,108,108>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32>>,{code,[],[<<123,73,116,101,109,44,32,86,97,108,117,101,125>>]},<<32,116,117,112,108,101,115,32,102,111,114,32,97,108,108,32,111,116,104,101,114,32,105,116,101,109,115,44,32,111,114,32,114,101,116,117,114,110,115,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32,110,111,32,116,114,97,99,105,110,103,32,105,115,32,97,99,116,105,118,101,32,102,111,114,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46>>]}]}]},{p,[],[{em,[],[<<84,111,32,103,101,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,110,32,101,118,101,110,116>>]},<<44,32>>,{code,[],[<<80,105,100,80,111,114,116,70,117,110,99,69,118,101,110,116>>]},<<32,105,115,32,116,111,32,98,101,32,111,110,101,32,111,102,32,116,104,101,32,97,116,111,109,115,32>>,{code,[],[<<115,101,110,100>>]},<<32,111,114,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<46>>]},{p,[],[<<79,110,101,32,118,97,108,105,100,32>>,{code,[],[<<73,116,101,109>>]},<<32,102,111,114,32,101,118,101,110,116,115,32,101,120,105,115,116,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<109,97,116,99,104,95,115,112,101,99>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,111,114,32,116,104,105,115,32,101,118,101,110,116,44,32,105,102,32,105,116,32,104,97,115,32,111,110,101,44,32,111,114,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,110,111,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,104,97,115,32,98,101,101,110,32,115,101,116,46>>]}]}]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<123,73,116,101,109,44,32,86,97,108,117,101,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<86,97,108,117,101>>]},<<32,105,115,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,105,110,102,111,114,109,97,116,105,111,110,32,97,115,32,100,101,115,99,114,105,98,101,100,32,101,97,114,108,105,101,114,46,32,73,102,32,97,32,112,105,100,32,102,111,114,32,97,32,100,101,97,100,32,112,114,111,99,101,115,115,32,119,97,115,32,115,112,101,99,105,102,105,101,100,44,32,111,114,32,116,104,101,32,110,97,109,101,32,111,102,32,97,32,110,111,110,45,101,120,105,115,116,105,110,103,32,102,117,110,99,116,105,111,110,44,32>>,{code,[],[<<86,97,108,117,101>>]},<<32,105,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<46>>]}]},#{signature => [{attribute,{2328,2},spec,{{erlang,trace_info,2},[{type,{2328,24},bounded_fun,[{type,{2328,24},'fun',[{type,{2328,24},product,[{var,{2328,25},'PidPortFuncEvent'},{var,{2328,43},'Item'}]},{var,{2328,52},'Res'}]},[{type,{2329,7},constraint,[{atom,{2329,7},is_subtype},[{var,{2329,7},'PidPortFuncEvent'},{type,{2329,27},union,[{type,{2329,27},pid,[]},{type,{2329,35},port,[]},{atom,{2329,44},new},{atom,{2329,50},new_processes},{atom,{2329,66},new_ports},{type,{2330,24},tuple,[{var,{2330,25},'Module'},{var,{2330,33},'Function'},{var,{2330,43},'Arity'}]},{atom,{2330,52},on_load},{atom,{2330,62},send},{atom,{2330,69},'receive'}]}]]},{type,{2331,7},constraint,[{atom,{2331,7},is_subtype},[{var,{2331,7},'Module'},{type,{2331,17},module,[]}]]},{type,{2332,7},constraint,[{atom,{2332,7},is_subtype},[{var,{2332,7},'Function'},{type,{2332,19},atom,[]}]]},{type,{2333,7},constraint,[{atom,{2333,7},is_subtype},[{var,{2333,7},'Arity'},{type,{2333,16},arity,[]}]]},{type,{2334,7},constraint,[{atom,{2334,7},is_subtype},[{var,{2334,7},'Item'},{type,{2334,15},union,[{atom,{2334,15},flags},{atom,{2334,23},tracer},{atom,{2334,32},traced},{atom,{2334,41},match_spec},{atom,{2335,15},meta},{atom,{2335,22},meta_match_spec},{atom,{2335,40},call_count},{atom,{2335,53},call_time},{atom,{2335,65},call_memory},{atom,{2335,79},all}]}]]},{type,{2336,7},constraint,[{atom,{2336,7},is_subtype},[{var,{2336,7},'Res'},{user_type,{2336,14},trace_info_return,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,48,50,51>>}},{{function,trace_pattern,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3012}],[<<116,114,97,99,101,95,112,97,116,116,101,114,110,47,50>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>}],[]},{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<65,112,112,114,111,120,105,109,97,116,105,111,110,32,111,102,32,39,36,49,39,32,124,32,39,36,50,39,32,124,32,39,36,51,39,32,124,32,46,46,46>>]},{li,[{name,<<116,114,97,99,101,95,109,97,116,99,104,95,115,112,101,99>>}],[]},{li,[{name,<<116,114,97,99,101,95,112,97,116,116,101,114,110,95,109,102,97>>}],[]}]},{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,69,118,101,110,116,44,32,77,97,116,99,104,83,112,101,99,44,32,91,93,41>>]}]},<<44,32,114,101,116,97,105,110,101,100,32,102,111,114,32,98,97,99,107,119,97,114,100,32,99,111,109,112,97,116,105,98,105,108,105,116,121,46>>]}]},#{signature => [{attribute,{3012,2},spec,{{erlang,trace_pattern,2},[{type,{3012,27},bounded_fun,[{type,{3012,27},'fun',[{type,{3012,27},product,[{var,{3012,28},'MFA'},{var,{3012,33},'MatchSpec'}]},{type,{3012,47},non_neg_integer,[]}]},[{type,{3013,7},constraint,[{atom,{3013,7},is_subtype},[{var,{3013,7},'MFA'},{type,{3013,14},union,[{user_type,{3013,14},trace_pattern_mfa,[]},{atom,{3013,36},send},{atom,{3013,43},'receive'}]}]]},{type,{3014,7},constraint,[{atom,{3014,7},is_subtype},[{var,{3014,7},'MatchSpec'},{type,{3014,21},union,[{ann_type,{3014,21},[{var,{3014,21},'MatchSpecList'},{user_type,{3014,38},trace_match_spec,[]}]},{type,{3015,20},boolean,[]},{atom,{3016,20},restart},{atom,{3017,20},pause}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,49,55,52>>}},{{function,trace_pattern,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3033}],[<<116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>}],[]},{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<65,112,112,114,111,120,105,109,97,116,105,111,110,32,111,102,32,39,36,49,39,32,124,32,39,36,50,39,32,124,32,39,36,51,39,32,124,32,46,46,46>>]},{li,[{name,<<116,114,97,99,101,95,109,97,116,99,104,95,115,112,101,99>>}],[]}]},{p,[],[<<83,101,116,115,32,116,114,97,99,101,32,112,97,116,116,101,114,110,32,102,111,114,32>>,{em,[],[<<109,101,115,115,97,103,101,32,115,101,110,100,105,110,103>>]},<<46,32,77,117,115,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<32,116,111,32,115,101,116,32,116,104,101,32>>,{code,[],[<<115,101,110,100>>]},<<32,116,114,97,99,101,32,102,108,97,103,32,102,111,114,32,111,110,101,32,111,114,32,109,111,114,101,32,112,114,111,99,101,115,115,101,115,46,32,66,121,32,100,101,102,97,117,108,116,32,97,108,108,32,109,101,115,115,97,103,101,115,32,115,101,110,116,32,102,114,111,109,32>>,{code,[],[<<115,101,110,100>>]},<<32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,116,114,97,99,101,100,46,32,84,111,32,108,105,109,105,116,32,116,114,97,99,101,100,32,115,101,110,100,32,101,118,101,110,116,115,32,98,97,115,101,100,32,111,110,32,116,104,101,32,109,101,115,115,97,103,101,32,99,111,110,116,101,110,116,44,32,116,104,101,32,115,101,110,100,101,114,32,97,110,100,47,111,114,32,116,104,101,32,114,101,99,101,105,118,101,114,44,32,117,115,101,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]},<<46>>]},{p,[],[<<65,114,103,117,109,101,110,116,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99>>]},<<32,99,97,110,32,116,97,107,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,111,114,109,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<77,97,116,99,104,83,112,101,99,76,105,115,116>>]}]},{dd,[],[{p,[],[<<65,32,108,105,115,116,32,111,102,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,46,32,84,104,101,32,109,97,116,99,104,105,110,103,32,105,115,32,100,111,110,101,32,111,110,32,116,104,101,32,108,105,115,116,32>>,{code,[],[<<91,82,101,99,101,105,118,101,114,44,32,77,115,103,93>>]},<<46,32>>,{code,[],[<<82,101,99,101,105,118,101,114>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,105,100,101,110,116,105,116,121,32,111,102,32,116,104,101,32,114,101,99,101,105,118,101,114,32,97,110,100,32>>,{code,[],[<<77,115,103>>]},<<32,105,115,32,116,104,101,32,109,101,115,115,97,103,101,32,116,101,114,109,46,32,84,104,101,32,112,105,100,32,111,102,32,116,104,101,32,115,101,110,100,105,110,103,32,112,114,111,99,101,115,115,32,99,97,110,32,98,101,32,97,99,99,101,115,115,101,100,32,119,105,116,104,32,116,104,101,32,103,117,97,114,100,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<115,101,108,102,47,48>>]},<<46,32,65,110,32,101,109,112,116,121,32,108,105,115,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<116,114,117,101>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,109,97,116,99,104,95,115,112,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<77,97,116,99,104,32,83,112,101,99,105,102,105,99,97,116,105,111,110,115,32,105,110,32,69,114,108,97,110,103>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]},{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[{p,[],[<<69,110,97,98,108,101,115,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,115,101,110,116,32,109,101,115,115,97,103,101,115,32,40,102,114,111,109,32>>,{code,[],[<<115,101,110,100>>]},<<32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,101,115,41,46,32,65,110,121,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,105,115,32,114,101,109,111,118,101,100,46,32>>,{em,[],[<<84,104,105,115,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116>>]},<<46>>]}]},{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[{p,[],[<<68,105,115,97,98,108,101,115,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,115,101,110,116,32,109,101,115,115,97,103,101,115,46,32,65,110,121,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,105,115,32,114,101,109,111,118,101,100,46>>]}]}]},{p,[],[<<65,114,103,117,109,101,110,116,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,109,117,115,116,32,98,101,32>>,{code,[],[<<91,93>>]},<<32,102,111,114,32,115,101,110,100,32,116,114,97,99,105,110,103,46>>]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,97,108,119,97,121,115,32>>,{code,[],[<<49>>]},<<46>>]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{p,[],[<<79,110,108,121,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,116,111,32,97,32,115,112,101,99,105,102,105,99,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100>>]},<<58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,115,101,110,100,44,32,91,123,91,80,105,100,44,32,39,95,39,93,44,91,93,44,91,93,125,93,44,32,91,93,41,46,10,49>>]}]},{p,[],[<<79,110,108,121,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,109,97,116,99,104,105,110,103,32>>,{code,[],[<<123,114,101,112,108,121,44,32,95,125>>]},<<58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,115,101,110,100,44,32,91,123,91,39,95,39,44,32,123,114,101,112,108,121,44,39,95,39,125,93,44,91,93,44,91,93,125,93,44,32,91,93,41,46,10,49>>]}]},{p,[],[<<79,110,108,121,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,115,101,110,116,32,116,111,32,116,104,101,32,115,101,110,100,101,114,32,105,116,115,101,108,102,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,115,101,110,100,44,32,91,123,91,39,36,49,39,44,32,39,95,39,93,44,91,123,39,61,58,61,39,44,39,36,49,39,44,123,115,101,108,102,125,125,93,44,91,93,125,93,44,32,91,93,41,46,10,49>>]}]},{p,[],[<<79,110,108,121,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,115,101,110,116,32,116,111,32,111,116,104,101,114,32,110,111,100,101,115,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,115,101,110,100,44,32,91,123,91,39,36,49,39,44,32,39,95,39,93,44,91,123,39,61,47,61,39,44,123,110,111,100,101,44,39,36,49,39,125,44,123,110,111,100,101,125,125,93,44,91,93,125,93,44,32,91,93,41,46,10,49>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,111,114,32>>,{code,[],[<<115,101,110,100>>]},<<32,116,114,97,99,101,32,99,97,110,32,117,115,101,32,97,108,108,32,103,117,97,114,100,32,97,110,100,32,98,111,100,121,32,102,117,110,99,116,105,111,110,115,32,101,120,99,101,112,116,32>>,{code,[],[<<99,97,108,108,101,114>>]},<<46>>]}]},{p,[],[<<70,97,105,108,115,32,98,121,32,114,97,105,115,105,110,103,32,97,110,32,101,114,114,111,114,32,101,120,99,101,112,116,105,111,110,32,119,105,116,104,32,97,110,32,101,114,114,111,114,32,114,101,97,115,111,110,32,111,102,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[{p,[],[<<73,102,32,97,110,32,97,114,103,117,109,101,110,116,32,105,115,32,105,110,118,97,108,105,100,46>>]}]},{dt,[],[{code,[],[<<115,121,115,116,101,109,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,32,104,97,115,32,101,120,99,101,115,115,105,118,101,32,110,101,115,116,105,110,103,32,119,104,105,99,104,32,99,97,117,115,101,115,32,115,99,104,101,100,117,108,101,114,32,115,116,97,99,107,32,101,120,104,97,117,115,116,105,111,110,32,102,111,114,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,115,99,104,101,100,95,116,104,114,101,97,100,95,115,116,97,99,107,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<83,99,104,101,100,117,108,101,114,32,115,116,97,99,107,32,115,105,122,101>>]},<<32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,119,104,101,110,32,115,116,97,114,116,105,110,103,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]}]}]}]},#{signature => [{attribute,{3033,2},spec,{{erlang,trace_pattern,3},[{type,{3033,27},bounded_fun,[{type,{3033,27},'fun',[{type,{3033,27},product,[{atom,{3033,28},send},{var,{3033,34},'MatchSpec'},{type,{3033,45},nil,[]}]},{type,{3033,52},non_neg_integer,[]}]},[{type,{3034,7},constraint,[{atom,{3034,7},is_subtype},[{var,{3034,7},'MatchSpec'},{type,{3034,21},union,[{ann_type,{3034,21},[{var,{3034,21},'MatchSpecList'},{user_type,{3034,38},trace_match_spec,[]}]},{type,{3035,20},boolean,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,49,57,50>>,since => <<79,84,80,32,49,57,46,48>>}},{{function,trace_pattern,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3033}],[<<116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>}],[]},{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<65,112,112,114,111,120,105,109,97,116,105,111,110,32,111,102,32,39,36,49,39,32,124,32,39,36,50,39,32,124,32,39,36,51,39,32,124,32,46,46,46>>]},{li,[{name,<<116,114,97,99,101,95,109,97,116,99,104,95,115,112,101,99>>}],[]}]},{p,[],[<<83,101,116,115,32,116,114,97,99,101,32,112,97,116,116,101,114,110,32,102,111,114,32>>,{em,[],[<<109,101,115,115,97,103,101,32,114,101,99,101,105,118,105,110,103>>]},<<46,32,77,117,115,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<32,116,111,32,115,101,116,32,116,104,101,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<32,116,114,97,99,101,32,102,108,97,103,32,102,111,114,32,111,110,101,32,111,114,32,109,111,114,101,32,112,114,111,99,101,115,115,101,115,46,32,66,121,32,100,101,102,97,117,108,116,32,97,108,108,32,109,101,115,115,97,103,101,115,32,114,101,99,101,105,118,101,100,32,98,121,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,101,115,32,97,114,101,32,116,114,97,99,101,100,46,32,84,111,32,108,105,109,105,116,32,116,114,97,99,101,100,32,114,101,99,101,105,118,101,32,101,118,101,110,116,115,32,98,97,115,101,100,32,111,110,32,116,104,101,32,109,101,115,115,97,103,101,32,99,111,110,116,101,110,116,44,32,116,104,101,32,115,101,110,100,101,114,32,97,110,100,47,111,114,32,116,104,101,32,114,101,99,101,105,118,101,114,44,32,117,115,101,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]},<<46>>]},{p,[],[<<65,114,103,117,109,101,110,116,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99>>]},<<32,99,97,110,32,116,97,107,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,111,114,109,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<77,97,116,99,104,83,112,101,99,76,105,115,116>>]}]},{dd,[],[{p,[],[<<65,32,108,105,115,116,32,111,102,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,46,32,84,104,101,32,109,97,116,99,104,105,110,103,32,105,115,32,100,111,110,101,32,111,110,32,116,104,101,32,108,105,115,116,32>>,{code,[],[<<91,78,111,100,101,44,32,83,101,110,100,101,114,44,32,77,115,103,93>>]},<<46,32>>,{code,[],[<<78,111,100,101>>]},<<32,105,115,32,116,104,101,32,110,111,100,101,32,110,97,109,101,32,111,102,32,116,104,101,32,115,101,110,100,101,114,46,32>>,{code,[],[<<83,101,110,100,101,114>>]},<<32,105,115,32,116,104,101,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,105,100,101,110,116,105,116,121,32,111,102,32,116,104,101,32,115,101,110,100,101,114,44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,115,101,110,100,101,114,32,105,115,32,110,111,116,32,107,110,111,119,110,32,40,119,104,105,99,104,32,99,97,110,32,98,101,32,116,104,101,32,99,97,115,101,32,102,111,114,32,114,101,109,111,116,101,32,115,101,110,100,101,114,115,41,46,32>>,{code,[],[<<77,115,103>>]},<<32,105,115,32,116,104,101,32,109,101,115,115,97,103,101,32,116,101,114,109,46,32,84,104,101,32,112,105,100,32,111,102,32,116,104,101,32,114,101,99,101,105,118,105,110,103,32,112,114,111,99,101,115,115,32,99,97,110,32,98,101,32,97,99,99,101,115,115,101,100,32,119,105,116,104,32,116,104,101,32,103,117,97,114,100,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<115,101,108,102,47,48>>]},<<46,32,65,110,32,101,109,112,116,121,32,108,105,115,116,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<116,114,117,101>>]},<<46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,109,97,116,99,104,95,115,112,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<77,97,116,99,104,32,83,112,101,99,105,102,105,99,97,116,105,111,110,115,32,105,110,32,69,114,108,97,110,103>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]},{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[{p,[],[<<69,110,97,98,108,101,115,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,114,101,99,101,105,118,101,100,32,109,101,115,115,97,103,101,115,32,40,116,111,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,101,115,41,46,32,65,110,121,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,105,115,32,114,101,109,111,118,101,100,46,32>>,{em,[],[<<84,104,105,115,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116>>]},<<46>>]}]},{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[{p,[],[<<68,105,115,97,98,108,101,115,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,114,101,99,101,105,118,101,100,32,109,101,115,115,97,103,101,115,46,32,65,110,121,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,105,115,32,114,101,109,111,118,101,100,46>>]}]}]},{p,[],[<<65,114,103,117,109,101,110,116,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,109,117,115,116,32,98,101,32>>,{code,[],[<<91,93>>]},<<32,102,111,114,32,114,101,99,101,105,118,101,32,116,114,97,99,105,110,103,46>>]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,97,108,119,97,121,115,32>>,{code,[],[<<49>>]},<<46>>]},{p,[],[<<69,120,97,109,112,108,101,115,58>>]},{p,[],[<<79,110,108,121,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,102,114,111,109,32,97,32,115,112,101,99,105,102,105,99,32,112,114,111,99,101,115,115,32>>,{code,[],[<<80,105,100>>]},<<58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,39,114,101,99,101,105,118,101,39,44,32,91,123,91,39,95,39,44,80,105,100,44,32,39,95,39,93,44,91,93,44,91,93,125,93,44,32,91,93,41,46,10,49>>]}]},{p,[],[<<79,110,108,121,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,109,97,116,99,104,105,110,103,32>>,{code,[],[<<123,114,101,112,108,121,44,32,95,125>>]},<<58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,39,114,101,99,101,105,118,101,39,44,32,91,123,91,39,95,39,44,39,95,39,44,32,123,114,101,112,108,121,44,39,95,39,125,93,44,91,93,44,91,93,125,93,44,32,91,93,41,46,10,49>>]}]},{p,[],[<<79,110,108,121,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,32,102,114,111,109,32,111,116,104,101,114,32,110,111,100,101,115,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,40,39,114,101,99,101,105,118,101,39,44,32,91,123,91,39,36,49,39,44,32,39,95,39,44,32,39,95,39,93,44,91,123,39,61,47,61,39,44,39,36,49,39,44,123,110,111,100,101,125,125,93,44,91,93,125,93,44,32,91,93,41,46,10,49>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,111,114,32>>,{code,[],[<<39,114,101,99,101,105,118,101,39>>]},<<32,116,114,97,99,101,32,99,97,110,32,117,115,101,32,97,108,108,32,103,117,97,114,100,32,97,110,100,32,98,111,100,121,32,102,117,110,99,116,105,111,110,115,32,101,120,99,101,112,116,32>>,{code,[],[<<99,97,108,108,101,114>>]},<<44,32>>,{code,[],[<<105,115,95,115,101,113,95,116,114,97,99,101>>]},<<44,32>>,{code,[],[<<103,101,116,95,115,101,113,95,116,111,107,101,110>>]},<<44,32>>,{code,[],[<<115,101,116,95,115,101,113,95,116,111,107,101,110>>]},<<44,32>>,{code,[],[<<101,110,97,98,108,101,95,116,114,97,99,101>>]},<<44,32>>,{code,[],[<<100,105,115,97,98,108,101,95,116,114,97,99,101>>]},<<44,32>>,{code,[],[<<116,114,97,99,101>>]},<<44,32>>,{code,[],[<<115,105,108,101,110,116>>]},<<44,32,97,110,100,32>>,{code,[],[<<112,114,111,99,101,115,115,95,100,117,109,112>>]},<<46>>]}]},{p,[],[<<70,97,105,108,115,32,98,121,32,114,97,105,115,105,110,103,32,97,110,32,101,114,114,111,114,32,101,120,99,101,112,116,105,111,110,32,119,105,116,104,32,97,110,32,101,114,114,111,114,32,114,101,97,115,111,110,32,111,102,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[{p,[],[<<73,102,32,97,110,32,97,114,103,117,109,101,110,116,32,105,115,32,105,110,118,97,108,105,100,46>>]}]},{dt,[],[{code,[],[<<115,121,115,116,101,109,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,32,104,97,115,32,101,120,99,101,115,115,105,118,101,32,110,101,115,116,105,110,103,32,119,104,105,99,104,32,99,97,117,115,101,115,32,115,99,104,101,100,117,108,101,114,32,115,116,97,99,107,32,101,120,104,97,117,115,116,105,111,110,32,102,111,114,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,115,99,104,101,100,95,116,104,114,101,97,100,95,115,116,97,99,107,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<83,99,104,101,100,117,108,101,114,32,115,116,97,99,107,32,115,105,122,101>>]},<<32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,119,104,101,110,32,115,116,97,114,116,105,110,103,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]}]}]}]},#{signature => [{attribute,{3033,2},spec,{{erlang,trace_pattern,3},[{type,{3036,6},bounded_fun,[{type,{3036,6},'fun',[{type,{3036,6},product,[{atom,{3036,7},'receive'},{var,{3036,18},'MatchSpec'},{type,{3036,29},nil,[]}]},{type,{3036,36},non_neg_integer,[]}]},[{type,{3037,7},constraint,[{atom,{3037,7},is_subtype},[{var,{3037,7},'MatchSpec'},{type,{3037,21},union,[{ann_type,{3037,21},[{var,{3037,21},'MatchSpecList'},{user_type,{3037,38},trace_match_spec,[]}]},{type,{3038,20},boolean,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,50,55,57>>,since => <<79,84,80,32,49,57,46,48>>}},{{function,trace_pattern,3},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3033}],[<<116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>}],[]},{li,[{name,<<109,97,116,99,104,95,118,97,114,105,97,98,108,101>>},{class,<<100,101,115,99,114,105,112,116,105,111,110>>}],[<<65,112,112,114,111,120,105,109,97,116,105,111,110,32,111,102,32,39,36,49,39,32,124,32,39,36,50,39,32,124,32,39,36,51,39,32,124,32,46,46,46>>]},{li,[{name,<<116,114,97,99,101,95,109,97,116,99,104,95,115,112,101,99>>}],[]},{li,[{name,<<116,114,97,99,101,95,112,97,116,116,101,114,110,95,102,108,97,103>>}],[]},{li,[{name,<<116,114,97,99,101,95,112,97,116,116,101,114,110,95,109,102,97>>}],[]}]},{p,[],[<<69,110,97,98,108,101,115,32,111,114,32,100,105,115,97,98,108,101,115,32>>,{em,[],[<<99,97,108,108,32,116,114,97,99,105,110,103>>]},<<32,102,111,114,32,111,110,101,32,111,114,32,109,111,114,101,32,102,117,110,99,116,105,111,110,115,46,32,77,117,115,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<32,116,111,32,115,101,116,32,116,104,101,32>>,{code,[],[<<99,97,108,108>>]},<<32,116,114,97,99,101,32,102,108,97,103,32,102,111,114,32,111,110,101,32,111,114,32,109,111,114,101,32,112,114,111,99,101,115,115,101,115,46>>]},{p,[],[<<67,111,110,99,101,112,116,117,97,108,108,121,44,32,99,97,108,108,32,116,114,97,99,105,110,103,32,119,111,114,107,115,32,97,115,32,102,111,108,108,111,119,115,46,32,73,110,115,105,100,101,32,116,104,101,32,69,114,108,97,110,103,32,118,105,114,116,117,97,108,32,109,97,99,104,105,110,101,44,32,97,32,115,101,116,32,111,102,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,97,32,115,101,116,32,111,102,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,116,111,32,98,101,32,116,114,97,99,101,100,46,32,73,102,32,97,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,32,99,97,108,108,115,32,97,32,116,114,97,99,101,100,32,102,117,110,99,116,105,111,110,44,32,116,104,101,32,116,114,97,99,101,32,97,99,116,105,111,110,32,105,115,32,116,97,107,101,110,46,32,79,116,104,101,114,119,105,115,101,44,32,110,111,116,104,105,110,103,32,104,97,112,112,101,110,115,46>>]},{p,[],[<<84,111,32,97,100,100,32,111,114,32,114,101,109,111,118,101,32,111,110,101,32,111,114,32,109,111,114,101,32,112,114,111,99,101,115,115,101,115,32,116,111,32,116,104,101,32,115,101,116,32,111,102,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,101,115,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]}]},<<46>>]},{p,[],[<<84,111,32,97,100,100,32,111,114,32,114,101,109,111,118,101,32,102,117,110,99,116,105,111,110,115,32,116,111,32,116,104,101,32,115,101,116,32,111,102,32,116,114,97,99,101,100,32,102,117,110,99,116,105,111,110,115,44,32,117,115,101,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]},<<46>>]},{p,[],[<<84,104,101,32,66,73,70,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,112,97,116,116,101,114,110,47,51>>]},<<32,99,97,110,32,97,108,115,111,32,97,100,100,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,32,116,111,32,97,32,102,117,110,99,116,105,111,110,46,32,65,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,99,111,109,112,114,105,115,101,115,32,97,32,112,97,116,116,101,114,110,32,116,104,97,116,32,116,104,101,32,102,117,110,99,116,105,111,110,32,97,114,103,117,109,101,110,116,115,32,109,117,115,116,32,109,97,116,99,104,44,32,97,32,103,117,97,114,100,32,101,120,112,114,101,115,115,105,111,110,32,116,104,97,116,32,109,117,115,116,32,101,118,97,108,117,97,116,101,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<44,32,97,110,100,32,97,110,32,97,99,116,105,111,110,32,116,111,32,98,101,32,112,101,114,102,111,114,109,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,97,99,116,105,111,110,32,105,115,32,116,111,32,115,101,110,100,32,97,32,116,114,97,99,101,32,109,101,115,115,97,103,101,46,32,73,102,32,116,104,101,32,112,97,116,116,101,114,110,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,111,114,32,116,104,101,32,103,117,97,114,100,32,102,97,105,108,115,44,32,116,104,101,32,97,99,116,105,111,110,32,105,115,32,110,111,116,32,101,120,101,99,117,116,101,100,46>>]},{p,[],[<<65,114,103,117,109,101,110,116,32>>,{code,[],[<<77,70,65>>]},<<32,105,115,32,116,111,32,98,101,32,97,32,116,117,112,108,101,44,32,115,117,99,104,32,97,115,32>>,{code,[],[<<123,77,111,100,117,108,101,44,32,70,117,110,99,116,105,111,110,44,32,65,114,105,116,121,125>>]},<<44,32,111,114,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<32,40,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,41,46,32,73,116,32,99,97,110,32,98,101,32,116,104,101,32,109,111,100,117,108,101,44,32,102,117,110,99,116,105,111,110,44,32,97,110,100,32,97,114,105,116,121,32,102,111,114,32,97,32,102,117,110,99,116,105,111,110,32,40,111,114,32,97,32,66,73,70,32,105,110,32,97,110,121,32,109,111,100,117,108,101,41,46,32,84,104,101,32,97,116,111,109,32>>,{code,[],[<<39,95,39>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,97,115,32,97,32,119,105,108,100,99,97,114,100,32,105,110,32,97,110,121,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,119,97,121,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,77,111,100,117,108,101,44,70,117,110,99,116,105,111,110,44,39,95,39,125>>]}]},{dd,[],[{p,[],[<<65,108,108,32,102,117,110,99,116,105,111,110,115,32,111,102,32,97,110,121,32,97,114,105,116,121,32,110,97,109,101,100,32>>,{code,[],[<<70,117,110,99,116,105,111,110>>]},<<32,105,110,32,109,111,100,117,108,101,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,77,111,100,117,108,101,44,39,95,39,44,39,95,39,125>>]}]},{dd,[],[{p,[],[<<65,108,108,32,102,117,110,99,116,105,111,110,115,32,105,110,32,109,111,100,117,108,101,32>>,{code,[],[<<77,111,100,117,108,101>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,39,95,39,44,39,95,39,44,39,95,39,125>>]}]},{dd,[],[{p,[],[<<65,108,108,32,102,117,110,99,116,105,111,110,115,32,105,110,32,97,108,108,32,108,111,97,100,101,100,32,109,111,100,117,108,101,115,46>>]}]}]},{p,[],[<<79,116,104,101,114,32,99,111,109,98,105,110,97,116,105,111,110,115,44,32,115,117,99,104,32,97,115,32>>,{code,[],[<<123,77,111,100,117,108,101,44,39,95,39,44,65,114,105,116,121,125>>]},<<44,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,46,32,76,111,99,97,108,32,102,117,110,99,116,105,111,110,115,32,109,97,116,99,104,32,119,105,108,100,99,97,114,100,115,32,111,110,108,121,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,105,115,32,105,110,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<46>>]},{p,[],[<<73,102,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<77,70,65>>]},<<32,105,115,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<111,110,95,108,111,97,100>>]},<<44,32,116,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,97,110,100,32,102,108,97,103,32,108,105,115,116,32,97,114,101,32,117,115,101,100,32,111,110,32,97,108,108,32,109,111,100,117,108,101,115,32,116,104,97,116,32,97,114,101,32,110,101,119,108,121,32,108,111,97,100,101,100,46>>]},{p,[],[<<65,114,103,117,109,101,110,116,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99>>]},<<32,99,97,110,32,116,97,107,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,111,114,109,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<102,97,108,115,101>>]}]},{dd,[],[{p,[],[<<68,105,115,97,98,108,101,115,32,116,114,97,99,105,110,103,32,102,111,114,32,116,104,101,32,109,97,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,115,46,32,65,110,121,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,105,115,32,114,101,109,111,118,101,100,46>>]}]},{dt,[],[{code,[],[<<116,114,117,101>>]}]},{dd,[],[{p,[],[<<69,110,97,98,108,101,115,32,116,114,97,99,105,110,103,32,102,111,114,32,116,104,101,32,109,97,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,115,46,32,65,110,121,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,105,115,32,114,101,109,111,118,101,100,46>>]}]},{dt,[],[{code,[],[<<77,97,116,99,104,83,112,101,99,76,105,115,116>>]}]},{dd,[],[{p,[],[<<65,32,108,105,115,116,32,111,102,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,46,32,65,110,32,101,109,112,116,121,32,108,105,115,116,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<116,114,117,101>>]},<<46,32,70,111,114,32,97,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<101,114,116,115,58,109,97,116,99,104,95,115,112,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<77,97,116,99,104,32,83,112,101,99,105,102,105,99,97,116,105,111,110,115,32,105,110,32,69,114,108,97,110,103>>]},<<32,105,110,32,116,104,101,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]}]},{dt,[],[{code,[],[<<114,101,115,116,97,114,116>>]}]},{dd,[],[{p,[],[<<70,111,114,32,116,104,101,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,111,112,116,105,111,110,115,32>>,{code,[],[<<99,97,108,108,95,99,111,117,110,116>>]},<<44,32>>,{code,[],[<<99,97,108,108,95,116,105,109,101>>]},<<32,97,110,100,32>>,{code,[],[<<99,97,108,108,95,109,101,109,111,114,121>>]},<<58,32,114,101,115,116,97,114,116,115,32,116,104,101,32,101,120,105,115,116,105,110,103,32,99,111,117,110,116,101,114,115,46,32,84,104,101,32,98,101,104,97,118,105,111,114,32,105,115,32,117,110,100,101,102,105,110,101,100,32,102,111,114,32,111,116,104,101,114,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,111,112,116,105,111,110,115,46>>]}]},{dt,[],[{code,[],[<<112,97,117,115,101>>]}]},{dd,[],[{p,[],[<<70,111,114,32,116,104,101,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,111,112,116,105,111,110,115,32>>,{code,[],[<<99,97,108,108,95,99,111,117,110,116>>]},<<44,32>>,{code,[],[<<99,97,108,108,95,116,105,109,101>>]},<<32,97,110,100,32>>,{code,[],[<<99,97,108,108,95,109,101,109,111,114,121>>]},<<58,32,112,97,117,115,101,115,32,116,104,101,32,101,120,105,115,116,105,110,103,32,99,111,117,110,116,101,114,115,46,32,84,104,101,32,98,101,104,97,118,105,111,114,32,105,115,32,117,110,100,101,102,105,110,101,100,32,102,111,114,32,111,116,104,101,114,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,111,112,116,105,111,110,115,46>>]}]}]},{p,[],[<<80,97,114,97,109,101,116,101,114,32>>,{code,[],[<<70,108,97,103,76,105,115,116>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,111,112,116,105,111,110,115,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,118,97,108,105,100,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<103,108,111,98,97,108>>]}]},{dd,[],[{p,[],[<<84,117,114,110,115,32,111,110,32,111,114,32,111,102,102,32,99,97,108,108,32,116,114,97,99,105,110,103,32,102,111,114,32,103,108,111,98,97,108,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,32,40,116,104,97,116,32,105,115,44,32,99,97,108,108,115,32,115,112,101,99,105,102,121,105,110,103,32,116,104,101,32,109,111,100,117,108,101,32,101,120,112,108,105,99,105,116,108,121,41,46,32,79,110,108,121,32,101,120,112,111,114,116,101,100,32,102,117,110,99,116,105,111,110,115,32,109,97,116,99,104,32,97,110,100,32,111,110,108,121,32,103,108,111,98,97,108,32,99,97,108,108,115,32,103,101,110,101,114,97,116,101,32,116,114,97,99,101,32,109,101,115,115,97,103,101,115,46,32>>,{em,[],[<<84,104,105,115,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116>>]},<<46>>]}]},{dt,[],[{code,[],[<<108,111,99,97,108>>]}]},{dd,[],[{p,[],[<<84,117,114,110,115,32,111,110,32,111,114,32,111,102,102,32,99,97,108,108,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,116,121,112,101,115,32,111,102,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,46,32,84,114,97,99,101,32,109,101,115,115,97,103,101,115,32,97,114,101,32,115,101,110,116,32,119,104,101,110,101,118,101,114,32,97,110,121,32,111,102,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,99,97,108,108,101,100,44,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,104,111,119,32,116,104,101,121,32,97,114,101,32,99,97,108,108,101,100,46,32,73,102,32,102,108,97,103,32>>,{code,[],[<<114,101,116,117,114,110,95,116,111>>]},<<32,105,115,32,115,101,116,32,102,111,114,32,116,104,101,32,112,114,111,99,101,115,115,44,32,97,32>>,{code,[],[<<114,101,116,117,114,110,95,116,111>>]},<<32,109,101,115,115,97,103,101,32,105,115,32,97,108,115,111,32,115,101,110,116,32,119,104,101,110,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,116,111,32,105,116,115,32,99,97,108,108,101,114,46>>]}]},{dt,[],[{code,[],[<<109,101,116,97,32,124,32,123,109,101,116,97,44,32,80,105,100,125,32,124,32,123,109,101,116,97,44,32,84,114,97,99,101,114,77,111,100,117,108,101,44,32,84,114,97,99,101,114,83,116,97,116,101,125>>]}]},{dd,[],[{p,[],[<<84,117,114,110,115,32,111,110,32,111,114,32,111,102,102,32,109,101,116,97,45,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,116,121,112,101,115,32,111,102,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,46,32,84,114,97,99,101,32,109,101,115,115,97,103,101,115,32,97,114,101,32,115,101,110,116,32,116,111,32,116,104,101,32,116,114,97,99,101,114,32,119,104,101,110,101,118,101,114,32,97,110,121,32,111,102,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,99,97,108,108,101,100,46,32,73,102,32,110,111,32,116,114,97,99,101,114,32,105,115,32,115,112,101,99,105,102,105,101,100,44,32>>,{code,[],[<<115,101,108,102,40,41>>]},<<32,105,115,32,117,115,101,100,32,97,115,32,97,32,100,101,102,97,117,108,116,32,116,114,97,99,101,114,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<77,101,116,97,45,116,114,97,99,105,110,103,32,116,114,97,99,101,115,32,97,108,108,32,112,114,111,99,101,115,115,101,115,32,97,110,100,32,100,111,101,115,32,110,111,116,32,99,97,114,101,32,97,98,111,117,116,32,116,104,101,32,112,114,111,99,101,115,115,32,116,114,97,99,101,32,102,108,97,103,115,32,115,101,116,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,47,51>>]},<<44,32,116,104,101,32,116,114,97,99,101,32,102,108,97,103,115,32,97,114,101,32,105,110,115,116,101,97,100,32,102,105,120,101,100,32,116,111,32>>,{code,[],[<<91,99,97,108,108,44,32,116,105,109,101,115,116,97,109,112,93>>]},<<46>>]},{p,[],[<<84,104,101,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<123,114,101,116,117,114,110,95,116,114,97,99,101,125>>]},<<32,119,111,114,107,115,32,119,105,116,104,32,109,101,116,97,45,116,114,97,99,101,32,97,110,100,32,115,101,110,100,115,32,105,116,115,32,116,114,97,99,101,32,109,101,115,115,97,103,101,32,116,111,32,116,104,101,32,115,97,109,101,32,116,114,97,99,101,114,46>>]}]},{dt,[],[{code,[],[<<99,97,108,108,95,99,111,117,110,116>>]}]},{dd,[],[{p,[],[<<83,116,97,114,116,115,32,40>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,116,114,117,101>>]},<<41,32,111,114,32,115,116,111,112,115,32,40>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,102,97,108,115,101>>]},<<41,32,99,97,108,108,32,99,111,117,110,116,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,116,121,112,101,115,32,111,102,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,46,32,70,111,114,32,101,118,101,114,121,32,102,117,110,99,116,105,111,110,44,32,97,32,99,111,117,110,116,101,114,32,105,115,32,105,110,99,114,101,109,101,110,116,101,100,32,119,104,101,110,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,44,32,105,110,32,97,110,121,32,112,114,111,99,101,115,115,46,32,78,111,32,112,114,111,99,101,115,115,32,116,114,97,99,101,32,102,108,97,103,115,32,110,101,101,100,32,116,111,32,98,101,32,97,99,116,105,118,97,116,101,100,46>>]},{p,[],[<<73,102,32,99,97,108,108,32,99,111,117,110,116,32,116,114,97,99,105,110,103,32,105,115,32,115,116,97,114,116,101,100,32,119,104,105,108,101,32,97,108,114,101,97,100,121,32,114,117,110,110,105,110,103,44,32,116,104,101,32,99,111,117,110,116,32,105,115,32,114,101,115,116,97,114,116,101,100,32,102,114,111,109,32,122,101,114,111,46,32,84,111,32,112,97,117,115,101,32,114,117,110,110,105,110,103,32,99,111,117,110,116,101,114,115,44,32,117,115,101,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,112,97,117,115,101>>]},<<46,32,80,97,117,115,101,100,32,97,110,100,32,114,117,110,110,105,110,103,32,99,111,117,110,116,101,114,115,32,99,97,110,32,98,101,32,114,101,115,116,97,114,116,101,100,32,102,114,111,109,32,122,101,114,111,32,119,105,116,104,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,114,101,115,116,97,114,116>>]},<<46>>]},{p,[],[<<84,111,32,114,101,97,100,32,116,104,101,32,99,111,117,110,116,101,114,32,118,97,108,117,101,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<99,97,108,108,95,116,105,109,101>>]}]},{dd,[],[{p,[],[<<83,116,97,114,116,115,32,40>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,116,114,117,101>>]},<<41,32,111,114,32,115,116,111,112,115,32,40>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,102,97,108,115,101>>]},<<41,32,99,97,108,108,32,116,105,109,101,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,116,121,112,101,115,32,111,102,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,46,32,70,111,114,32,101,118,101,114,121,32,102,117,110,99,116,105,111,110,44,32,97,32,99,111,117,110,116,101,114,32,105,115,32,105,110,99,114,101,109,101,110,116,101,100,32,119,104,101,110,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,46,32,84,105,109,101,32,115,112,101,110,116,32,105,110,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,97,99,99,117,109,117,108,97,116,101,100,32,105,110,32,116,119,111,32,111,116,104,101,114,32,99,111,117,110,116,101,114,115,44,32,115,101,99,111,110,100,115,32,97,110,100,32,109,105,99,114,111,115,101,99,111,110,100,115,46,32,84,104,101,32,99,111,117,110,116,101,114,115,32,97,114,101,32,115,116,111,114,101,100,32,102,111,114,32,101,97,99,104,32,99,97,108,108,32,116,114,97,99,101,100,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<73,102,32,99,97,108,108,32,116,105,109,101,32,116,114,97,99,105,110,103,32,105,115,32,115,116,97,114,116,101,100,32,119,104,105,108,101,32,97,108,114,101,97,100,121,32,114,117,110,110,105,110,103,44,32,116,104,101,32,99,111,117,110,116,32,97,110,100,32,116,105,109,101,32,114,101,115,116,97,114,116,32,102,114,111,109,32,122,101,114,111,46,32,84,111,32,112,97,117,115,101,32,114,117,110,110,105,110,103,32,99,111,117,110,116,101,114,115,44,32,117,115,101,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,112,97,117,115,101>>]},<<46,32,80,97,117,115,101,100,32,97,110,100,32,114,117,110,110,105,110,103,32,99,111,117,110,116,101,114,115,32,99,97,110,32,98,101,32,114,101,115,116,97,114,116,101,100,32,102,114,111,109,32,122,101,114,111,32,119,105,116,104,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,114,101,115,116,97,114,116>>]},<<46>>]},{p,[],[<<84,111,32,114,101,97,100,32,116,104,101,32,99,111,117,110,116,101,114,32,118,97,108,117,101,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<99,97,108,108,95,109,101,109,111,114,121>>]}]},{dd,[],[{p,[],[<<83,116,97,114,116,115,32,40>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,116,114,117,101>>]},<<41,32,111,114,32,115,116,111,112,115,32,40>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,102,97,108,115,101>>]},<<41,32,99,97,108,108,32,109,101,109,111,114,121,32,116,114,97,99,105,110,103,32,102,111,114,32,97,108,108,32,116,121,112,101,115,32,111,102,32,102,117,110,99,116,105,111,110,32,99,97,108,108,115,46>>]},{p,[],[<<73,102,32,99,97,108,108,32,109,101,109,111,114,121,32,116,114,97,99,105,110,103,32,105,115,32,115,116,97,114,116,101,100,32,119,104,105,108,101,32,97,108,114,101,97,100,121,32,114,117,110,110,105,110,103,44,32,99,111,117,110,116,101,114,115,32,97,110,100,32,97,108,108,111,99,97,116,105,111,110,115,32,114,101,115,116,97,114,116,32,102,114,111,109,32,122,101,114,111,46,32,84,111,32,112,97,117,115,101,32,114,117,110,110,105,110,103,32,99,111,117,110,116,101,114,115,44,32,117,115,101,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,112,97,117,115,101>>]},<<46,32,80,97,117,115,101,100,32,97,110,100,32,114,117,110,110,105,110,103,32,99,111,117,110,116,101,114,115,32,99,97,110,32,98,101,32,114,101,115,116,97,114,116,101,100,32,102,114,111,109,32,122,101,114,111,32,119,105,116,104,32>>,{code,[],[<<77,97,116,99,104,83,112,101,99,32,61,61,32,114,101,115,116,97,114,116>>]},<<46>>]},{p,[],[<<84,111,32,114,101,97,100,32,116,104,101,32,99,111,117,110,116,101,114,32,118,97,108,117,101,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]}]},{p,[],[<<84,104,101,32,111,112,116,105,111,110,115,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<32,97,110,100,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,97,114,101,32,109,117,116,117,97,108,108,121,32,101,120,99,108,117,115,105,118,101,44,32,97,110,100,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,32,40,105,102,32,110,111,32,111,112,116,105,111,110,115,32,97,114,101,32,115,112,101,99,105,102,105,101,100,41,46,32,84,104,101,32,111,112,116,105,111,110,115,32>>,{code,[],[<<99,97,108,108,95,99,111,117,110,116>>]},<<32,97,110,100,32>>,{code,[],[<<109,101,116,97>>]},<<32,112,101,114,102,111,114,109,32,97,32,107,105,110,100,32,111,102,32,108,111,99,97,108,32,116,114,97,99,105,110,103,44,32,97,110,100,32,99,97,110,110,111,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<46,32,65,32,102,117,110,99,116,105,111,110,32,99,97,110,32,98,101,32,103,108,111,98,97,108,108,121,32,111,114,32,108,111,99,97,108,108,121,32,116,114,97,99,101,100,46,32,73,102,32,103,108,111,98,97,108,32,116,114,97,99,105,110,103,32,105,115,32,115,112,101,99,105,102,105,101,100,32,102,111,114,32,97,32,115,101,116,32,111,102,32,102,117,110,99,116,105,111,110,115,44,32,116,104,101,110,32,108,111,99,97,108,44,32,109,101,116,97,44,32,99,97,108,108,32,116,105,109,101,44,32,97,110,100,32,99,97,108,108,32,99,111,117,110,116,32,116,114,97,99,105,110,103,32,102,111,114,32,116,104,101,32,109,97,116,99,104,105,110,103,32,115,101,116,32,111,102,32,108,111,99,97,108,32,102,117,110,99,116,105,111,110,115,32,105,115,32,100,105,115,97,98,108,101,100,44,32,97,110,100,32,99,111,110,118,101,114,115,101,108,121,46>>]},{p,[],[<<87,104,101,110,32,100,105,115,97,98,108,105,110,103,32,116,114,97,99,101,44,32,116,104,101,32,111,112,116,105,111,110,32,109,117,115,116,32,109,97,116,99,104,32,116,104,101,32,116,121,112,101,32,111,102,32,116,114,97,99,101,32,115,101,116,32,111,110,32,116,104,101,32,102,117,110,99,116,105,111,110,46,32,84,104,97,116,32,105,115,44,32,108,111,99,97,108,32,116,114,97,99,105,110,103,32,109,117,115,116,32,98,101,32,100,105,115,97,98,108,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<108,111,99,97,108>>]},<<32,97,110,100,32,103,108,111,98,97,108,32,116,114,97,99,105,110,103,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<32,40,111,114,32,110,111,32,111,112,116,105,111,110,41,44,32,97,110,100,32,115,111,32,111,110,46>>]},{p,[],[<<80,97,114,116,32,111,102,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,108,105,115,116,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,100,105,114,101,99,116,108,121,46,32,73,102,32,97,32,102,117,110,99,116,105,111,110,32,104,97,115,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,44,32,105,116,32,99,97,110,32,98,101,32,114,101,112,108,97,99,101,100,32,119,105,116,104,32,97,32,110,101,119,32,111,110,101,46,32,84,111,32,99,104,97,110,103,101,32,97,110,32,101,120,105,115,116,105,110,103,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,44,32,117,115,101,32,116,104,101,32,66,73,70,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,114,97,99,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,114,97,99,101,95,105,110,102,111,47,50>>]}]},<<32,116,111,32,114,101,116,114,105,101,118,101,32,116,104,101,32,101,120,105,115,116,105,110,103,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,102,117,110,99,116,105,111,110,115,32,109,97,116,99,104,105,110,103,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<77,70,65>>]},<<46,32,84,104,105,115,32,105,115,32,122,101,114,111,32,105,102,32,110,111,110,101,32,109,97,116,99,104,101,100,46>>]},{p,[],[<<70,97,105,108,115,32,98,121,32,114,97,105,115,105,110,103,32,97,110,32,101,114,114,111,114,32,101,120,99,101,112,116,105,111,110,32,119,105,116,104,32,97,110,32,101,114,114,111,114,32,114,101,97,115,111,110,32,111,102,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[{p,[],[<<73,102,32,97,110,32,97,114,103,117,109,101,110,116,32,105,115,32,105,110,118,97,108,105,100,46>>]}]},{dt,[],[{code,[],[<<115,121,115,116,101,109,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<73,102,32,97,32,109,97,116,99,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,112,97,115,115,101,100,32,97,115,32,97,114,103,117,109,101,110,116,32,104,97,115,32,101,120,99,101,115,115,105,118,101,32,110,101,115,116,105,110,103,32,119,104,105,99,104,32,99,97,117,115,101,115,32,115,99,104,101,100,117,108,101,114,32,115,116,97,99,107,32,101,120,104,97,117,115,116,105,111,110,32,102,111,114,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,116,104,97,116,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,105,115,32,101,120,101,99,117,116,105,110,103,32,111,110,46,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,35,115,99,104,101,100,95,116,104,114,101,97,100,95,115,116,97,99,107,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[<<83,99,104,101,100,117,108,101,114,32,115,116,97,99,107,32,115,105,122,101>>]},<<32,99,97,110,32,98,101,32,99,111,110,102,105,103,117,114,101,100,32,119,104,101,110,32,115,116,97,114,116,105,110,103,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]}]}]}]},#{signature => [{attribute,{3033,2},spec,{{erlang,trace_pattern,3},[{type,{3039,6},bounded_fun,[{type,{3039,6},'fun',[{type,{3039,6},product,[{var,{3039,7},'MFA'},{var,{3039,12},'MatchSpec'},{var,{3039,23},'FlagList'}]},{type,{3039,36},non_neg_integer,[]}]},[{type,{3040,7},constraint,[{atom,{3040,7},is_subtype},[{var,{3040,7},'MFA'},{user_type,{3040,14},trace_pattern_mfa,[]}]]},{type,{3041,7},constraint,[{atom,{3041,7},is_subtype},[{var,{3041,7},'MatchSpec'},{type,{3041,21},union,[{ann_type,{3041,21},[{var,{3041,21},'MatchSpecList'},{user_type,{3041,38},trace_match_spec,[]}]},{type,{3042,20},boolean,[]},{atom,{3043,20},restart},{atom,{3044,20},pause}]}]]},{type,{3045,7},constraint,[{atom,{3045,7},is_subtype},[{var,{3045,7},'FlagList'},{type,{3045,19},list,[{user_type,{3045,21},trace_pattern_flag,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,51,54,55>>}},{{function,trunc,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2342}],[<<116,114,117,110,99,47,49>>],#{<<101,110>> => [{p,[],[<<84,114,117,110,99,97,116,101,115,32,116,104,101,32,100,101,99,105,109,97,108,115,32,111,102,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,116,114,117,110,99,40,53,46,55,41,46,10,53>>]}]},{pre,[],[{code,[],[<<62,32,116,114,117,110,99,40,45,53,46,55,41,46,10,45,53>>]}]},{pre,[],[{code,[],[<<62,32,116,114,117,110,99,40,53,41,46,10,53>>]}]},{pre,[],[{code,[],[<<62,32,116,114,117,110,99,40,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,57,46,48,41,46,10,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56>>]}]},{p,[],[<<73,110,32,116,104,101,32,108,97,115,116,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<116,114,117,110,99,40,51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,57,46,48,41>>]},<<32,101,118,97,108,117,97,116,101,115,32,116,111,32>>,{code,[],[<<51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56>>]},<<46,32,84,104,101,32,114,101,97,115,111,110,32,102,111,114,32,116,104,105,115,32,105,115,32,116,104,97,116,32,116,104,101,32,110,117,109,98,101,114,32>>,{code,[],[<<51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,57,46,48>>]},<<32,99,97,110,110,111,116,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,101,120,97,99,116,108,121,32,97,115,32,97,32,102,108,111,97,116,32,118,97,108,117,101,46,32,73,110,115,116,101,97,100,44,32,116,104,101,32,102,108,111,97,116,32,108,105,116,101,114,97,108,32,105,115,32,114,101,112,114,101,115,101,110,116,101,100,32,97,115,32>>,{code,[],[<<51,54,48,50,56,55,57,55,48,49,56,57,54,51,57,54,56,46,48>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,99,108,111,115,101,115,116,32,110,117,109,98,101,114,32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,101,120,97,99,116,108,121,32,97,115,32,97,32,102,108,111,97,116,32,118,97,108,117,101,46,32,83,101,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,102,108,111,97,116,95,114,101,112,114,101,115,101,110,116,97,116,105,111,110,95,112,114,111,98,108,101,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<82,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,70,108,111,97,116,105,110,103,32,80,111,105,110,116,32,78,117,109,98,101,114,115>>]},<<32,102,111,114,32,97,100,100,105,116,105,111,110,97,108,32,105,110,102,111,114,109,97,116,105,111,110,46>>]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2342,2},spec,{{trunc,1},[{type,{2342,12},bounded_fun,[{type,{2342,12},'fun',[{type,{2342,12},product,[{var,{2342,13},'Number'}]},{type,{2342,24},integer,[]}]},[{type,{2343,7},constraint,[{atom,{2343,7},is_subtype},[{var,{2343,7},'Number'},{type,{2343,17},number,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,53,56,56>>}},{{function,tuple_size,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2349}],[<<116,117,112,108,101,95,115,105,122,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,110,32,105,110,116,101,103,101,114,32,116,104,97,116,32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,105,110,32>>,{code,[],[<<84,117,112,108,101>>]},<<44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,116,117,112,108,101,95,115,105,122,101,40,123,109,111,114,110,105,44,32,109,117,108,108,101,44,32,98,119,97,110,103,101,125,41,46,10,51>>]}]},{p,[],[<<65,108,108,111,119,101,100,32,105,110,32,103,117,97,114,100,32,116,101,115,116,115,46>>]}]},#{signature => [{attribute,{2349,2},spec,{{tuple_size,1},[{type,{2349,17},bounded_fun,[{type,{2349,17},'fun',[{type,{2349,17},product,[{var,{2349,18},'Tuple'}]},{type,{2349,28},non_neg_integer,[]}]},[{type,{2350,7},constraint,[{atom,{2350,7},is_subtype},[{var,{2350,7},'Tuple'},{type,{2350,16},tuple,any}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,54,49,57>>}},{{function,tuple_to_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3055}],[<<116,117,112,108,101,95,116,111,95,108,105,115,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32>>,{code,[],[<<84,117,112,108,101>>]},<<46,32>>,{code,[],[<<84,117,112,108,101>>]},<<32,99,97,110,32,99,111,110,116,97,105,110,32,97,110,121,32,69,114,108,97,110,103,32,116,101,114,109,115,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,116,117,112,108,101,95,116,111,95,108,105,115,116,40,123,115,104,97,114,101,44,32,123,39,69,114,105,99,115,115,111,110,95,66,39,44,32,49,54,51,125,125,41,46,10,91,115,104,97,114,101,44,123,39,69,114,105,99,115,115,111,110,95,66,39,44,49,54,51,125,93>>]}]}]},#{signature => [{attribute,{3055,2},spec,{{tuple_to_list,1},[{type,{3055,20},bounded_fun,[{type,{3055,20},'fun',[{type,{3055,20},product,[{var,{3055,21},'Tuple'}]},{type,{3055,31},list,[{type,{3055,32},term,[]}]}]},[{type,{3056,7},constraint,[{atom,{3056,7},is_subtype},[{var,{3056,7},'Tuple'},{type,{3056,16},tuple,any}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,54,51,50>>}},{{function,unalias,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1001}],[<<117,110,97,108,105,97,115,47,49>>],#{<<101,110>> => [{p,[],[<<68,101,97,99,116,105,118,97,116,101,32,116,104,101,32,97,108,105,97,115,32>>,{code,[],[<<65,108,105,97,115>>]},<<32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,32,98,121,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,46,32,65,110,32,97,108,105,97,115,32,99,97,110,32,102,111,114,32,101,120,97,109,112,108,101,32,98,101,32,99,114,101,97,116,101,100,32,118,105,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,97,108,105,97,115,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<97,108,105,97,115,47,48>>]}]},<<44,32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,47,51>>]}]},<<46,32>>,{code,[],[<<117,110,97,108,105,97,115,47,49>>]},<<32,119,105,108,108,32,97,108,119,97,121,115,32,100,101,97,99,116,105,118,97,116,101,32,116,104,101,32,97,108,105,97,115,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,111,112,116,105,111,110,115,32,117,115,101,100,32,119,104,101,110,32,99,114,101,97,116,105,110,103,32,116,104,101,32,97,108,105,97,115,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,116,114,117,101,32,105,102,32>>,{code,[],[<<65,108,105,97,115>>]},<<32,119,97,115,32,97,32,99,117,114,114,101,110,116,108,121,32,97,99,116,105,118,101,32,97,108,105,97,115,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,101,115,59,32,111,116,104,101,114,119,105,115,101,44,32,102,97,108,115,101,46>>]},{p,[],[<<70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,112,114,111,99,101,115,115,32,97,108,105,97,115,101,115,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,112,114,111,99,101,115,115,45,97,108,105,97,115,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<80,114,111,99,101,115,115,32,65,108,105,97,115,101,115>>]}]},<<32,115,101,99,116,105,111,110,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]},#{signature => [{attribute,{1001,2},spec,{{unalias,1},[{type,{1001,14},bounded_fun,[{type,{1001,14},'fun',[{type,{1001,14},product,[{var,{1001,15},'Alias'}]},{type,{1001,25},boolean,[]}]},[{type,{1002,7},constraint,[{atom,{1002,7},is_subtype},[{var,{1002,7},'Alias'},{type,{1002,16},reference,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,54,52,53>>,since => <<79,84,80,32,50,52,46,48>>}},{{function,unique_integer,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1821}],[<<117,110,105,113,117,101,95,105,110,116,101,103,101,114,47,48>>],#{<<101,110>> => [{p,[],[<<71,101,110,101,114,97,116,101,115,32,97,110,100,32,114,101,116,117,114,110,115,32,97,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100,35,117,110,105,113,117,101,95,105,110,116,101,103,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<105,110,116,101,103,101,114,32,117,110,105,113,117,101,32,111,110,32,99,117,114,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101>>]},<<46,32,84,104,101,32,115,97,109,101,32,97,115,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,117,110,105,113,117,101,95,105,110,116,101,103,101,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,91,93,41>>]}]},<<46>>]}]},#{signature => [{attribute,{1821,2},spec,{{erlang,unique_integer,0},[{type,{1821,28},'fun',[{type,{1821,28},product,[]},{type,{1821,34},integer,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,54,55,49>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,unique_integer,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1814}],[<<117,110,105,113,117,101,95,105,110,116,101,103,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<71,101,110,101,114,97,116,101,115,32,97,110,100,32,114,101,116,117,114,110,115,32,97,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,101,102,102,105,99,105,101,110,99,121,95,103,117,105,100,101,58,97,100,118,97,110,99,101,100,35,117,110,105,113,117,101,95,105,110,116,101,103,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<105,110,116,101,103,101,114,32,117,110,105,113,117,101,32,111,110,32,99,117,114,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101>>]},<<46,32,84,104,101,32,105,110,116,101,103,101,114,32,105,115,32,117,110,105,113,117,101,32,105,110,32,116,104,101,32,115,101,110,115,101,32,116,104,97,116,32,116,104,105,115,32,66,73,70,44,32,117,115,105,110,103,32,116,104,101,32,115,97,109,101,32,115,101,116,32,111,102,32,109,111,100,105,102,105,101,114,115,44,32,100,111,101,115,32,110,111,116,32,114,101,116,117,114,110,32,116,104,101,32,115,97,109,101,32,105,110,116,101,103,101,114,32,109,111,114,101,32,116,104,97,110,32,111,110,99,101,32,111,110,32,116,104,101,32,99,117,114,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46,32,69,97,99,104,32,105,110,116,101,103,101,114,32,118,97,108,117,101,32,99,97,110,32,111,102,32,99,111,117,114,115,101,32,98,101,32,99,111,110,115,116,114,117,99,116,101,100,32,98,121,32,111,116,104,101,114,32,109,101,97,110,115,46>>]},{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,119,104,101,110,32>>,{code,[],[<<91,93>>]},<<32,105,115,32,112,97,115,115,101,100,32,97,115,32>>,{code,[],[<<77,111,100,105,102,105,101,114,76,105,115,116>>]},<<44,32,98,111,116,104,32,110,101,103,97,116,105,118,101,32,97,110,100,32,112,111,115,105,116,105,118,101,32,105,110,116,101,103,101,114,115,32,99,97,110,32,98,101,32,114,101,116,117,114,110,101,100,46,32,84,104,105,115,32,116,111,32,117,115,101,32,116,104,101,32,114,97,110,103,101,32,111,102,32,105,110,116,101,103,101,114,115,32,116,104,97,116,32,100,111,32,110,111,116,32,110,101,101,100,32,104,101,97,112,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,97,115,32,109,117,99,104,32,97,115,32,112,111,115,115,105,98,108,101,46,32,66,121,32,100,101,102,97,117,108,116,32,116,104,101,32,114,101,116,117,114,110,101,100,32,105,110,116,101,103,101,114,115,32,97,114,101,32,97,108,115,111,32,111,110,108,121,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,117,110,105,113,117,101,44,32,116,104,97,116,32,105,115,44,32,97,110,121,32,114,101,116,117,114,110,101,100,32,105,110,116,101,103,101,114,32,99,97,110,32,98,101,32,115,109,97,108,108,101,114,32,111,114,32,108,97,114,103,101,114,32,116,104,97,110,32,112,114,101,118,105,111,117,115,108,121,32,114,101,116,117,114,110,101,100,32,105,110,116,101,103,101,114,115,46>>]},{p,[],[{code,[],[<<77,111,100,105,102,105,101,114>>]},<<115,58>>]},{dl,[],[{dt,[],[<<112,111,115,105,116,105,118,101>>]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,111,110,108,121,32,112,111,115,105,116,105,118,101,32,105,110,116,101,103,101,114,115,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,98,121,32,112,97,115,115,105,110,103,32,116,104,101,32>>,{code,[],[<<112,111,115,105,116,105,118,101>>]},<<32,109,111,100,105,102,105,101,114,32,121,111,117,32,119,105,108,108,32,103,101,116,32,104,101,97,112,32,97,108,108,111,99,97,116,101,100,32,105,110,116,101,103,101,114,115,32,40,98,105,103,110,117,109,115,41,32,113,117,105,99,107,101,114,46>>]}]},{dt,[],[<<109,111,110,111,116,111,110,105,99>>]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,83,116,114,105,99,116,108,121,95,77,111,110,111,116,111,110,105,99,97,108,108,121,95,73,110,99,114,101,97,115,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<115,116,114,105,99,116,108,121,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103>>]},<<32,105,110,116,101,103,101,114,115,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,99,114,101,97,116,105,111,110,32,116,105,109,101,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,105,110,116,101,103,101,114,32,114,101,116,117,114,110,101,100,32,105,115,32,97,108,119,97,121,115,32,108,97,114,103,101,114,32,116,104,97,110,32,112,114,101,118,105,111,117,115,108,121,32,114,101,116,117,114,110,101,100,32,105,110,116,101,103,101,114,115,32,111,110,32,116,104,101,32,99,117,114,114,101,110,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46>>]},{p,[],[<<84,104,101,115,101,32,118,97,108,117,101,115,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,100,101,116,101,114,109,105,110,101,32,111,114,100,101,114,32,98,101,116,119,101,101,110,32,101,118,101,110,116,115,32,111,110,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46,32,84,104,97,116,32,105,115,44,32,105,102,32,98,111,116,104,32>>,{code,[],[<<88,32,61,32,101,114,108,97,110,103,58,117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,91,109,111,110,111,116,111,110,105,99,93,41>>]},<<32,97,110,100,32>>,{code,[],[<<89,32,61,32,101,114,108,97,110,103,58,117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,91,109,111,110,111,116,111,110,105,99,93,41>>]},<<32,97,114,101,32,101,120,101,99,117,116,101,100,32,98,121,32,100,105,102,102,101,114,101,110,116,32,112,114,111,99,101,115,115,101,115,32,40,111,114,32,116,104,101,32,115,97,109,101,32,112,114,111,99,101,115,115,41,32,111,110,32,116,104,101,32,115,97,109,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,32,97,110,100,32>>,{code,[],[<<88,32,60,32,89>>]},<<44,32,119,101,32,107,110,111,119,32,116,104,97,116,32>>,{code,[],[<<88>>]},<<32,119,97,115,32,99,114,101,97,116,101,100,32,98,101,102,111,114,101,32>>,{code,[],[<<89>>]},<<46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<83,116,114,105,99,116,108,121,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,118,97,108,117,101,115,32,97,114,101,32,105,110,104,101,114,101,110,116,108,121,32,113,117,105,116,101,32,101,120,112,101,110,115,105,118,101,32,116,111,32,103,101,110,101,114,97,116,101,32,97,110,100,32,115,99,97,108,101,115,32,112,111,111,114,108,121,46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32,116,104,101,32,118,97,108,117,101,115,32,110,101,101,100,32,116,111,32,98,101,32,115,121,110,99,104,114,111,110,105,122,101,100,32,98,101,116,119,101,101,110,32,67,80,85,32,99,111,114,101,115,46,32,84,104,97,116,32,105,115,44,32,100,111,32,110,111,116,32,112,97,115,115,32,116,104,101,32>>,{code,[],[<<109,111,110,111,116,111,110,105,99>>]},<<32,109,111,100,105,102,105,101,114,32,117,110,108,101,115,115,32,121,111,117,32,114,101,97,108,108,121,32,110,101,101,100,32,115,116,114,105,99,116,108,121,32,109,111,110,111,116,111,110,105,99,97,108,108,121,32,105,110,99,114,101,97,115,105,110,103,32,118,97,108,117,101,115,46>>]}]}]}]},{p,[],[<<65,108,108,32,118,97,108,105,100,32>>,{code,[],[<<77,111,100,105,102,105,101,114>>]},<<115,32,99,97,110,32,98,101,32,99,111,109,98,105,110,101,100,46,32,82,101,112,101,97,116,101,100,32,40,118,97,108,105,100,41,32>>,{code,[],[<<77,111,100,105,102,105,101,114>>]},<<115,32,105,110,32,116,104,101,32>>,{code,[],[<<77,111,100,105,102,105,101,114,76,105,115,116>>]},<<32,97,114,101,32,105,103,110,111,114,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,115,101,116,32,111,102,32,105,110,116,101,103,101,114,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<101,114,108,97,110,103,58,117,110,105,113,117,101,95,105,110,116,101,103,101,114,47,49>>]},<<32,117,115,105,110,103,32,100,105,102,102,101,114,101,110,116,32,115,101,116,115,32,111,102,32>>,{code,[],[<<77,111,100,105,102,105,101,114>>]},<<115,32>>,{em,[],[<<119,105,108,108,32,111,118,101,114,108,97,112>>]},<<46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,98,121,32,99,97,108,108,105,110,103,32>>,{code,[],[<<117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,91,109,111,110,111,116,111,110,105,99,93,41>>]},<<44,32,97,110,100,32>>,{code,[],[<<117,110,105,113,117,101,95,105,110,116,101,103,101,114,40,91,112,111,115,105,116,105,118,101,44,32,109,111,110,111,116,111,110,105,99,93,41>>]},<<32,114,101,112,101,97,116,101,100,108,121,44,32,121,111,117,32,119,105,108,108,32,101,118,101,110,116,117,97,108,108,121,32,115,101,101,32,115,111,109,101,32,105,110,116,101,103,101,114,115,32,116,104,97,116,32,97,114,101,32,114,101,116,117,114,110,101,100,32,98,121,32,98,111,116,104,32,99,97,108,108,115,46>>]}]},{p,[],[<<70,97,105,108,117,114,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<105,102,32>>,{code,[],[<<77,111,100,105,102,105,101,114,76,105,115,116>>]},<<32,105,115,32,110,111,116,32,97,32,112,114,111,112,101,114,32,108,105,115,116,46>>]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[<<105,102,32>>,{code,[],[<<77,111,100,105,102,105,101,114>>]},<<32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,109,111,100,105,102,105,101,114,46>>]}]}]},#{signature => [{attribute,{1814,2},spec,{{erlang,unique_integer,1},[{type,{1814,28},bounded_fun,[{type,{1814,28},'fun',[{type,{1814,28},product,[{var,{1814,29},'ModifierList'}]},{type,{1814,46},integer,[]}]},[{type,{1815,7},constraint,[{atom,{1815,7},is_subtype},[{var,{1815,7},'ModifierList'},{type,{1815,23},list,[{var,{1815,24},'Modifier'}]}]]},{type,{1816,7},constraint,[{atom,{1816,7},is_subtype},[{var,{1816,7},'Modifier'},{type,{1816,19},union,[{atom,{1816,19},positive},{atom,{1816,30},monotonic}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,54,56,52>>,since => <<79,84,80,32,49,56,46,48>>}},{{function,universaltime,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2355}],[<<117,110,105,118,101,114,115,97,108,116,105,109,101,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,99,117,114,114,101,110,116,32,100,97,116,101,32,97,110,100,32,116,105,109,101,32,97,99,99,111,114,100,105,110,103,32,116,111,32,85,110,105,118,101,114,115,97,108,32,84,105,109,101,32,67,111,111,114,100,105,110,97,116,101,100,32,40,85,84,67,41,32,105,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,123,89,101,97,114,44,32,77,111,110,116,104,44,32,68,97,121,125,44,32,123,72,111,117,114,44,32,77,105,110,117,116,101,44,32,83,101,99,111,110,100,125,125>>]},<<32,105,102,32,115,117,112,112,111,114,116,101,100,32,98,121,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,46,32,79,116,104,101,114,119,105,115,101,32>>,{code,[],[<<101,114,108,97,110,103,58,117,110,105,118,101,114,115,97,108,116,105,109,101,40,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<101,114,108,97,110,103,58,108,111,99,97,108,116,105,109,101,40,41>>]},<<46,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,98,97,115,101,100,32,111,110,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,111,115,45,115,121,115,116,101,109,45,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<79,83,32,83,121,115,116,101,109,32,84,105,109,101>>]},<<46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,117,110,105,118,101,114,115,97,108,116,105,109,101,40,41,46,10,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,52,44,49,56,44,52,51,125,125>>]}]}]},#{signature => [{attribute,{2355,2},spec,{{erlang,universaltime,0},[{type,{2355,27},bounded_fun,[{type,{2355,27},'fun',[{type,{2355,27},product,[]},{var,{2355,33},'DateTime'}]},[{type,{2356,7},constraint,[{atom,{2356,7},is_subtype},[{var,{2356,7},'DateTime'},{remote_type,{2356,19},[{atom,{2356,19},calendar},{atom,{2356,28},datetime},[]]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,55,54,54>>}},{{function,universaltime_to_localtime,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3184}],[<<117,110,105,118,101,114,115,97,108,116,105,109,101,95,116,111,95,108,111,99,97,108,116,105,109,101,47,49>>],#{<<101,110>> => [{p,[],[<<67,111,110,118,101,114,116,115,32,85,110,105,118,101,114,115,97,108,32,84,105,109,101,32,67,111,111,114,100,105,110,97,116,101,100,32,40,85,84,67,41,32,100,97,116,101,32,97,110,100,32,116,105,109,101,32,116,111,32,108,111,99,97,108,32,100,97,116,101,32,97,110,100,32,116,105,109,101,32,105,110,32,116,104,101,32,102,111,114,109,32>>,{code,[],[<<123,123,89,101,97,114,44,32,77,111,110,116,104,44,32,68,97,121,125,44,32,123,72,111,117,114,44,32,77,105,110,117,116,101,44,32,83,101,99,111,110,100,125,125>>]},<<32,105,102,32,115,117,112,112,111,114,116,101,100,32,98,121,32,116,104,101,32,117,110,100,101,114,108,121,105,110,103,32,79,83,46,32,79,116,104,101,114,119,105,115,101,32,110,111,32,99,111,110,118,101,114,115,105,111,110,32,105,115,32,100,111,110,101,44,32,97,110,100,32>>,{code,[],[<<85,110,105,118,101,114,115,97,108,116,105,109,101>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,101,114,108,97,110,103,58,117,110,105,118,101,114,115,97,108,116,105,109,101,95,116,111,95,108,111,99,97,108,116,105,109,101,40,123,123,49,57,57,54,44,49,49,44,54,125,44,123,49,52,44,49,56,44,52,51,125,125,41,46,10,123,123,49,57,57,54,44,49,49,44,55,125,44,123,49,53,44,49,56,44,52,51,125,125>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<85,110,105,118,101,114,115,97,108,116,105,109,101>>]},<<32,100,101,110,111,116,101,115,32,97,110,32,105,110,118,97,108,105,100,32,100,97,116,101,32,97,110,100,32,116,105,109,101,46>>]}]},#{signature => [{attribute,{3184,2},spec,{{erlang,universaltime_to_localtime,1},[{type,{3184,40},bounded_fun,[{type,{3184,40},'fun',[{type,{3184,40},product,[{var,{3184,41},'Universaltime'}]},{var,{3184,60},'Localtime'}]},[{type,{3185,7},constraint,[{atom,{3185,7},is_subtype},[{var,{3185,7},'Localtime'},{remote_type,{3185,20},[{atom,{3185,20},calendar},{atom,{3185,29},datetime},[]]}]]},{type,{3186,7},constraint,[{atom,{3186,7},is_subtype},[{var,{3186,7},'Universaltime'},{remote_type,{3186,24},[{atom,{3186,24},calendar},{atom,{3186,33},datetime},[]]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,55,56,53>>}},{{function,unlink,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2367}],[<<117,110,108,105,110,107,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,109,111,118,101,115,32,97,32,108,105,110,107,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,105,110,103,32,112,114,111,99,101,115,115,32,97,110,100,32,97,110,111,116,104,101,114,32,112,114,111,99,101,115,115,32,111,114,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,100,32,98,121,32>>,{code,[],[<<73,100>>]},<<46,32,87,101,32,119,105,108,108,32,102,114,111,109,32,104,101,114,101,32,111,110,32,99,97,108,108,32,116,104,101,32,105,100,101,110,116,105,102,105,101,100,32,112,114,111,99,101,115,115,32,111,114,32,112,111,114,116,32,117,110,108,105,110,107,101,101,46>>]},{p,[],[<<65,32,108,105,110,107,32,99,97,110,32,98,101,32,115,101,116,32,117,112,32,117,115,105,110,103,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,110,107,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<108,105,110,107,47,49>>]}]},<<32,66,73,70,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,108,105,110,107,115,32,97,110,100,32,101,120,105,116,32,115,105,103,110,97,108,115,32,100,117,101,32,116,111,32,108,105,110,107,115,44,32,115,101,101,32,116,104,101,32>>,{i,[],[<<80,114,111,99,101,115,115,101,115>>]},<<32,99,104,97,112,116,101,114,32,105,110,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<58>>]},{ul,[],[{li,[],[{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,108,105,110,107,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<76,105,110,107,115>>]}]},{li,[],[{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,115,101,110,100,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<83,101,110,100,105,110,103,32,69,120,105,116,32,83,105,103,110,97,108,115>>]}]},{li,[],[{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,114,101,99,101,105,118,105,110,103,95,101,120,105,116,95,115,105,103,110,97,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<82,101,99,101,105,118,105,110,103,32,69,120,105,116,32,83,105,103,110,97,108,115>>]}]}]},{p,[],[<<79,110,99,101,32>>,{code,[],[<<117,110,108,105,110,107,40,73,100,41>>]},<<32,104,97,115,32,114,101,116,117,114,110,101,100,44,32,105,116,32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,104,97,116,32,116,104,101,32,108,105,110,107,32,98,101,116,119,101,101,110,32,116,104,101,32,99,97,108,108,101,114,32,97,110,100,32,116,104,101,32,117,110,108,105,110,107,101,101,32,104,97,115,32,110,111,32,101,102,102,101,99,116,32,111,110,32,116,104,101,32,99,97,108,108,101,114,32,105,110,32,116,104,101,32,102,117,116,117,114,101,32,40,117,110,108,101,115,115,32,116,104,101,32,108,105,110,107,32,105,115,32,115,101,116,117,112,32,97,103,97,105,110,41,46,32,78,111,116,101,32,116,104,97,116,32,105,102,32,116,104,101,32,99,97,108,108,101,114,32,105,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,116,114,97,112,95,101,120,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,114,97,112,112,105,110,103,32,101,120,105,116,115>>]},<<44,32,97,110,32>>,{code,[],[<<123,39,69,88,73,84,39,44,32,73,100,44,32,69,120,105,116,82,101,97,115,111,110,125>>]},<<32,109,101,115,115,97,103,101,32,100,117,101,32,116,111,32,116,104,101,32,108,105,110,107,32,109,97,121,32,104,97,118,101,32,98,101,101,110,32,112,108,97,99,101,100,32,105,110,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,111,102,32,116,104,101,32,99,97,108,108,101,114,32,98,101,102,111,114,101,32,116,104,101,32>>,{code,[],[<<117,110,108,105,110,107,40,73,100,41>>]},<<32,99,97,108,108,32,99,111,109,112,108,101,116,101,100,46,32,65,108,115,111,32,110,111,116,101,32,116,104,97,116,32,116,104,101,32>>,{code,[],[<<123,39,69,88,73,84,39,44,32,73,100,44,32,69,120,105,116,82,101,97,115,111,110,125>>]},<<32,109,101,115,115,97,103,101,32,109,97,121,32,98,101,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,108,105,110,107,44,32,98,117,116,32,109,97,121,32,97,108,115,111,32,98,101,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,117,110,108,105,107,101,101,32,115,101,110,100,105,110,103,32,116,104,101,32,99,97,108,108,101,114,32,97,110,32,101,120,105,116,32,115,105,103,110,97,108,32,98,121,32,99,97,108,108,105,110,103,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,101,120,105,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,120,105,116,47,50>>]}]},<<32,66,73,70,46,32,84,104,101,114,101,102,111,114,101,44,32,105,116,32,109,97,121,32,111,114,32,109,97,121,32,110,111,116,32,98,101,32,97,112,112,114,111,112,114,105,97,116,101,32,116,111,32,99,108,101,97,110,32,117,112,32,116,104,101,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,97,102,116,101,114,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<117,110,108,105,110,107,40,73,100,41>>]},<<32,97,115,32,102,111,108,108,111,119,115,44,32,119,104,101,110,32,116,114,97,112,112,105,110,103,32,101,120,105,116,115,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<117,110,108,105,110,107,40,73,100,41,44,10,114,101,99,101,105,118,101,10,32,32,32,32,123,39,69,88,73,84,39,44,32,73,100,44,32,95,125,32,45,62,10,32,32,32,32,32,32,32,32,116,114,117,101,10,97,102,116,101,114,32,48,32,45,62,10,32,32,32,32,32,32,32,32,116,114,117,101,10,101,110,100>>]}]},{p,[],[<<84,104,101,32,108,105,110,107,32,114,101,109,111,118,97,108,32,105,115,32,112,101,114,102,111,114,109,101,100,32,97,115,121,110,99,104,114,111,110,111,117,115,108,121,46,32,73,102,32,115,117,99,104,32,97,32,108,105,110,107,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,44,32,110,111,116,104,105,110,103,32,105,115,32,100,111,110,101,46,32,65,32,100,101,116,97,105,108,101,100,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,100,105,115,116,95,112,114,111,116,111,99,111,108,35,108,105,110,107,95,112,114,111,116,111,99,111,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<108,105,110,107,32,112,114,111,116,111,99,111,108>>]},<<32,99,97,110,32,98,101,32,102,111,117,110,100,32,105,110,32,116,104,101,32>>,{i,[],[<<68,105,115,116,114,105,98,117,116,105,111,110,32,80,114,111,116,111,99,111,108>>]},<<32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32>>,{i,[],[<<69,82,84,83,32,85,115,101,114,39,115,32,71,117,105,100,101>>]},<<46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<70,111,114,32,115,111,109,101,32,105,109,112,111,114,116,97,110,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,100,105,115,116,114,105,98,117,116,101,100,32,115,105,103,110,97,108,115,44,32,115,101,101,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,98,108,111,99,107,105,110,103,45,115,105,103,110,97,108,105,110,103,45,111,118,101,114,45,100,105,115,116,114,105,98,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{i,[],[<<66,108,111,99,107,105,110,103,32,83,105,103,110,97,108,105,110,103,32,79,118,101,114,32,68,105,115,116,114,105,98,117,116,105,111,110>>]}]},<<32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32>>,{i,[],[<<80,114,111,99,101,115,115,101,115>>]},<<32,99,104,97,112,116,101,114,32,111,102,32,116,104,101,32>>,{i,[],[<<69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108>>]},<<46>>]}]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<73,100>>]},<<32,100,111,101,115,32,110,111,116,32,105,100,101,110,116,105,102,121,32,97,32,112,114,111,99,101,115,115,32,111,114,32,97,32,110,111,100,101,32,108,111,99,97,108,32,112,111,114,116,46>>]}]},#{signature => [{attribute,{2367,2},spec,{{unlink,1},[{type,{2367,13},bounded_fun,[{type,{2367,13},'fun',[{type,{2367,13},product,[{var,{2367,14},'Id'}]},{atom,{2367,21},true}]},[{type,{2368,7},constraint,[{atom,{2368,7},is_subtype},[{var,{2368,7},'Id'},{type,{2368,13},union,[{type,{2368,13},pid,[]},{type,{2368,21},port,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,56,48,52>>}},{{function,unregister,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2373}],[<<117,110,114,101,103,105,115,116,101,114,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,109,111,118,101,115,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,103,105,115,116,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,103,105,115,116,101,114,101,100,32,110,97,109,101>>]}]},<<32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,97,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,114,32,97,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32,102,114,111,109,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,114,117,110,116,105,109,101,45,115,101,114,118,105,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<110,97,109,101,32,114,101,103,105,115,116,114,121>>]}]},<<46,32,70,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,117,110,114,101,103,105,115,116,101,114,40,100,98,41,46,10,116,114,117,101>>]}]},{p,[],[<<75,101,101,112,32,105,110,32,109,105,110,100,32,116,104,97,116,32,121,111,117,32,99,97,110,32,115,116,105,108,108,32,114,101,99,101,105,118,101,32,115,105,103,110,97,108,115,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,116,104,101,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,97,102,116,101,114,32,105,116,32,104,97,115,32,98,101,101,110,32,117,110,114,101,103,105,115,116,101,114,101,100,32,97,115,32,116,104,101,32,115,101,110,100,101,114,32,109,97,121,32,104,97,118,101,32,108,111,111,107,101,100,32,117,112,32,116,104,101,32,110,97,109,101,32,98,101,102,111,114,101,32,115,101,110,100,105,110,103,32,116,111,32,105,116,46>>]},{p,[],[<<85,115,101,114,115,32,97,114,101,32,97,100,118,105,115,101,100,32,110,111,116,32,116,111,32,117,110,114,101,103,105,115,116,101,114,32,115,121,115,116,101,109,32,112,114,111,99,101,115,115,101,115,46>>]},{p,[],[<<70,97,105,108,117,114,101,58,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,102,32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,105,115,32,110,111,116,32,97,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,46>>]}]},#{signature => [{attribute,{2373,2},spec,{{unregister,1},[{type,{2373,17},bounded_fun,[{type,{2373,17},'fun',[{type,{2373,17},product,[{var,{2373,18},'RegName'}]},{atom,{2373,30},true}]},[{type,{2374,7},constraint,[{atom,{2374,7},is_subtype},[{var,{2374,7},'RegName'},{type,{2374,18},atom,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,56,56,49>>}},{{function,whereis,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2379}],[<<119,104,101,114,101,105,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,32,111,114,32,112,111,114,116,32,105,100,101,110,116,105,102,105,101,114,32,119,105,116,104,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,114,101,103,105,115,116,101,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,103,105,115,116,101,114,101,100,32,110,97,109,101>>]}]},<<32>>,{code,[],[<<82,101,103,78,97,109,101>>]},<<32,102,114,111,109,32,116,104,101,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115,35,114,117,110,116,105,109,101,45,115,101,114,118,105,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<110,97,109,101,32,114,101,103,105,115,116,114,121>>]}]},<<46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<117,110,100,101,102,105,110,101,100>>]},<<32,105,102,32,116,104,101,32,110,97,109,101,32,105,115,32,110,111,116,32,114,101,103,105,115,116,101,114,101,100,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<62,32,119,104,101,114,101,105,115,40,100,98,41,46,10,60,48,46,52,51,46,48,62>>]}]}]},#{signature => [{attribute,{2379,2},spec,{{whereis,1},[{type,{2379,14},bounded_fun,[{type,{2379,14},'fun',[{type,{2379,14},product,[{var,{2379,15},'RegName'}]},{type,{2379,27},union,[{type,{2379,27},pid,[]},{type,{2379,35},port,[]},{atom,{2379,44},undefined}]}]},[{type,{2380,7},constraint,[{atom,{2380,7},is_subtype},[{var,{2380,7},'RegName'},{type,{2380,18},atom,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,57,48,50>>}},{{function,yield,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3682}],[<<121,105,101,108,100,47,48>>],#{<<101,110>> => [{p,[],[<<84,114,105,101,115,32,116,111,32,103,105,118,101,32,111,116,104,101,114,32,112,114,111,99,101,115,115,101,115,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,111,114,32,104,105,103,104,101,114,32,112,114,105,111,114,105,116,121,32,40,105,102,32,97,110,121,41,32,97,32,99,104,97,110,99,101,32,116,111,32,101,120,101,99,117,116,101,32,98,101,102,111,114,101,32,114,101,116,117,114,110,105,110,103,46,32,84,104,101,114,101,32,105,115,32,110,111,32,103,117,97,114,97,110,116,101,101,32,116,104,97,116,32,97,110,121,32,111,116,104,101,114,32,112,114,111,99,101,115,115,32,114,117,110,115,32,98,101,116,119,101,101,110,32,116,104,101,32,105,110,118,111,99,97,116,105,111,110,32,97,110,100,32,114,101,116,117,114,110,32,111,102,32>>,{code,[],[<<101,114,108,97,110,103,58,121,105,101,108,100,47,48>>]},<<46>>]},{p,[],[<<83,101,101,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,114,101,99,101,105,118,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[{code,[],[<<114,101,99,101,105,118,101,45,97,102,116,101,114>>]},<<32,101,120,112,114,101,115,115,105,111,110,115>>]},<<32,102,111,114,32,104,111,119,32,116,111,32,109,97,107,101,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,32,115,108,101,101,112,32,102,111,114,32,97,32,115,112,101,99,105,102,105,99,32,110,117,109,98,101,114,32,111,102,32,109,105,108,108,105,115,101,99,111,110,100,115,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,101,114,101,32,105,115,32,115,101,108,100,111,109,32,111,114,32,110,101,118,101,114,32,97,110,121,32,110,101,101,100,32,116,111,32,117,115,101,32,116,104,105,115,32,66,73,70,46,32,85,115,105,110,103,32,116,104,105,115,32,66,73,70,32,119,105,116,104,111,117,116,32,97,32,116,104,111,114,111,117,103,104,32,103,114,97,115,112,32,111,102,32,104,111,119,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,119,111,114,107,115,32,99,97,110,32,99,97,117,115,101,32,112,101,114,102,111,114,109,97,110,99,101,32,100,101,103,114,97,100,97,116,105,111,110,46,32,84,104,101,32,99,117,114,114,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,112,117,116,115,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,32,108,97,115,116,32,105,110,32,116,104,101,32,99,117,114,114,101,110,116,32,115,99,104,101,100,117,108,101,114,39,115,32,113,117,101,117,101,32,102,111,114,32,112,114,111,99,101,115,115,101,115,32,111,102,32,116,104,101,32,115,97,109,101,32,112,114,105,111,114,105,116,121,32,97,115,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,46>>]}]}]},#{signature => [{attribute,{3682,2},spec,{{erlang,yield,0},[{type,{3682,19},'fun',[{type,{3682,19},product,[]},{atom,{3682,25},true}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,101,114,116,115,47,100,111,99,47,115,114,99,47,101,114,108,97,110,103,46,120,109,108,35,76,49,51,57,49,57>>}},{{type,any,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,80}],[<<45,116,121,112,101,32,97,110,121,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,108,108,32,112,111,115,115,105,98,108,101,32,69,114,108,97,110,103,32,116,101,114,109,115,46,32,83,121,110,111,110,121,109,32,102,111,114,32>>,{code,[],[<<116,101,114,109,40,41>>]},<<46>>]}]},#{signature => [{attribute,{80,2},type,{any,{type,{80,16},any,[]},[]}}]}},{{type,arity,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,81}],[<<45,116,121,112,101,32,97,114,105,116,121,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,97,114,105,116,121,32,111,102,32,97,32,102,117,110,99,116,105,111,110,32,111,114,32,116,121,112,101,46>>]}]},#{signature => [{attribute,{81,2},type,{arity,{type,{81,18},arity,[]},[]}}]}},{{type,atom,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,82}],[<<45,116,121,112,101,32,97,116,111,109,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,97,116,111,109>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<97,116,111,109>>]},<<46>>]}]},#{signature => [{attribute,{82,2},type,{atom,{type,{82,17},atom,[]},[]}}]}},{{type,binary,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,83}],[<<45,116,121,112,101,32,98,105,110,97,114,121,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,98,105,116,45,115,116,114,105,110,103,115,45,97,110,100,45,98,105,110,97,114,105,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<98,105,110,97,114,121>>]},<<44,32,116,104,97,116,32,105,115,44,32,97,32,98,105,116,115,116,114,105,110,103,32,119,105,116,104,32,97,32,115,105,122,101,32,100,105,118,105,115,105,98,108,101,32,98,121,32,56,46>>]}]},#{signature => [{attribute,{83,2},type,{binary,{type,{83,19},binary,[{integer,83,0},{integer,{83,25},8}]},[]}}]}},{{type,bitstring,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,84}],[<<45,116,121,112,101,32,98,105,116,115,116,114,105,110,103,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,98,105,116,45,115,116,114,105,110,103,115,45,97,110,100,45,98,105,110,97,114,105,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<98,105,116,115,116,114,105,110,103>>]},<<46>>]}]},#{signature => [{attribute,{84,2},type,{bitstring,{type,{84,22},binary,[{integer,84,0},{integer,{84,28},1}]},[]}}]}},{{type,boolean,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,86}],[<<45,116,121,112,101,32,98,111,111,108,101,97,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,98,111,111,108,101,97,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<98,111,111,108,101,97,110>>]},<<32,118,97,108,117,101,46>>]}]},#{signature => [{attribute,{86,2},type,{boolean,{type,{86,20},union,[{atom,{86,20},true},{atom,{86,27},false}]},[]}}]}},{{type,byte,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,87}],[<<45,116,121,112,101,32,98,121,116,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,98,121,116,101,32,111,102,32,100,97,116,97,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,110,32,105,110,116,101,103,101,114,46>>]}]},#{signature => [{attribute,{87,2},type,{byte,{type,{87,17},range,[{integer,{87,17},0},{integer,{87,20},255}]},[]}}]}},{{type,char,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,88}],[<<45,116,121,112,101,32,99,104,97,114,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114,32,111,114,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,105,99,111,100,101>>]},<<32,99,111,100,101,112,111,105,110,116,32,112,114,101,115,101,110,116,101,100,32,98,121,32,97,110,32,105,110,116,101,103,101,114,46>>]}]},#{signature => [{attribute,{88,2},type,{char,{type,{88,17},range,[{integer,{88,17},0},{integer,{88,20},1114111}]},[]}}]}},{{type,float,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,90}],[<<45,116,121,112,101,32,102,108,111,97,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,110,117,109,98,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<102,108,111,97,116>>]},<<46>>]}]},#{signature => [{attribute,{90,2},type,{float,{type,{90,18},float,[]},[]}}]}},{{type,function,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,91}],[<<45,116,121,112,101,32,102,117,110,99,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,102,117,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<102,117,110>>]},<<46>>]}]},#{signature => [{attribute,{91,2},type,{function,{type,{91,21},'fun',[]},[]}}]}},{{type,identifier,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,92}],[<<45,116,121,112,101,32,105,100,101,110,116,105,102,105,101,114,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,117,110,105,113,117,101,32,105,100,101,110,116,105,102,105,101,114,32,102,111,114,32,115,111,109,101,32,101,110,116,105,116,121,44,32,102,111,114,32,101,120,97,109,112,108,101,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,114,111,99,101,115,115,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<112,114,111,99,101,115,115>>]},<<44,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,112,111,114,116,115,35,112,111,114,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<112,111,114,116>>]},<<32,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<109,111,110,105,116,111,114>>]},<<46>>]}]},#{signature => [{attribute,{92,2},type,{identifier,{type,{92,23},union,[{type,{92,23},pid,[]},{type,{92,31},port,[]},{type,{92,40},reference,[]}]},[]}}]}},{{type,integer,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,93}],[<<45,116,121,112,101,32,105,110,116,101,103,101,114,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,110,117,109,98,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<105,110,116,101,103,101,114>>]},<<46>>]}]},#{signature => [{attribute,{93,2},type,{integer,{type,{93,20},integer,[]},[]}}]}},{{type,iodata,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,94}],[<<45,116,121,112,101,32,105,111,100,97,116,97,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,98,105,110,97,114,121,32,111,114,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,98,121,116,101,115,32,97,110,100,47,111,114,32,105,111,100,97,116,97,46,32,84,104,105,115,32,100,97,116,97,116,121,112,101,32,105,115,32,117,115,101,100,32,116,111,32,114,101,112,114,101,115,101,110,116,32,100,97,116,97,32,116,104,97,116,32,105,115,32,109,101,97,110,116,32,116,111,32,98,101,32,111,117,116,112,117,116,32,117,115,105,110,103,32,97,110,121,32,73,47,79,32,109,111,100,117,108,101,46,32,70,111,114,32,101,120,97,109,112,108,101,58,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<102,105,108,101,58,119,114,105,116,101,47,50>>]},<<32,111,114,32>>,{a,[{href,<<107,101,114,110,101,108,58,103,101,110,95,116,99,112,35,115,101,110,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<103,101,110,95,116,99,112,58,115,101,110,100,47,50>>]},<<46>>]},{p,[],[<<84,111,32,99,111,110,118,101,114,116,32,97,110,32,105,111,100,97,116,97,40,41,32,116,101,114,109,32,116,111,32,98,105,110,97,114,121,40,41,32,121,111,117,32,99,97,110,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,50>>]},<<46,32,84,111,32,116,114,97,110,115,99,111,100,101,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,114,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<115,116,114,105,110,103,40,41>>]},<<32,111,114,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101,35,99,104,97,114,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<117,110,105,99,111,100,101,58,99,104,97,114,100,97,116,97,40,41>>]},<<32,116,111,32,105,111,100,97,116,97,40,41,32,121,111,117,32,99,97,110,32,117,115,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101,35,99,104,97,114,97,99,116,101,114,115,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<117,110,105,99,111,100,101,58,99,104,97,114,97,99,116,101,114,115,95,116,111,95,98,105,110,97,114,121,47,49>>]},<<46>>]}]},#{signature => [{attribute,{94,2},type,{iodata,{type,{94,19},union,[{type,{94,19},iolist,[]},{type,{94,30},binary,[]}]},[]}}]}},{{type,iolist,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,95}],[<<45,116,121,112,101,32,105,111,108,105,115,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,98,121,116,101,115,32,97,110,100,47,111,114,32,105,111,100,97,116,97,46,32,84,104,105,115,32,100,97,116,97,116,121,112,101,32,105,115,32,117,115,101,100,32,116,111,32,114,101,112,114,101,115,101,110,116,32,100,97,116,97,32,116,104,97,116,32,105,115,32,109,101,97,110,116,32,116,111,32,98,101,32,111,117,116,112,117,116,32,117,115,105,110,103,32,97,110,121,32,73,47,79,32,109,111,100,117,108,101,46,32,70,111,114,32,101,120,97,109,112,108,101,58,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<102,105,108,101,58,119,114,105,116,101,47,50>>]},<<32,111,114,32>>,{a,[{href,<<107,101,114,110,101,108,58,103,101,110,95,116,99,112,35,115,101,110,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<103,101,110,95,116,99,112,58,115,101,110,100,47,50>>]},<<46>>]},{p,[],[<<73,110,32,109,111,115,116,32,117,115,101,32,99,97,115,101,115,32,121,111,117,32,119,97,110,116,32,116,111,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,105,111,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<105,111,100,97,116,97,40,41>>]},<<32,105,110,115,116,101,97,100,32,111,102,32,116,104,105,115,32,116,121,112,101,46>>]}]},#{signature => [{attribute,{95,2},type,{iolist,{type,{95,19},maybe_improper_list,[{type,{95,39},union,[{type,{95,39},byte,[]},{type,{95,48},binary,[]},{type,{95,59},iolist,[]}]},{type,{95,69},union,[{type,{95,69},binary,[]},{type,{95,80},nil,[]}]}]},[]}}]}},{{type,list,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,96}],[<<45,116,121,112,101,32,108,105,115,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<108,105,115,116>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,101,114,109,115,32,111,102,32,97,110,121,32,116,121,112,101,46>>]}]},#{signature => [{attribute,{96,2},type,{list,{type,{96,17},list,[{type,{96,18},any,[]}]},[]}}]}},{{type,list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,97}],[<<45,116,121,112,101,32,108,105,115,116,40,65,114,103,49,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<108,105,115,116>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,101,114,109,115,32,111,102,32,116,104,101,32,116,121,112,101,32>>,{code,[],[<<67,111,110,116,101,110,116,84,121,112,101>>]},<<46>>]}]},#{signature => [{attribute,{97,2},type,{list,{type,{97,28},list,[{var,{97,29},'ContentType'}]},[{var,{97,12},'ContentType'}]}}]}},{{type,map,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,98}],[<<45,116,121,112,101,32,109,97,112,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,109,97,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<109,97,112>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,97,110,121,32,110,117,109,98,101,114,32,111,102,32,107,101,121,32,97,110,100,32,118,97,108,117,101,32,97,115,115,111,99,105,97,116,105,111,110,115,46>>]}]},#{signature => [{attribute,{98,2},type,{map,{type,{98,16},map,[{type,{98,25},map_field_assoc,[{type,{98,19},any,[]},{type,{98,28},any,[]}]}]},[]}}]}},{{type,maybe_improper_list,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,99}],[<<45,116,121,112,101,32,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<108,105,115,116>>]},<<32,116,104,97,116,32,105,115,32,110,111,116,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,101,110,100,32,119,105,116,104,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,110,105,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<91,93>>]},<<44,32,97,110,100,32,119,104,101,114,101,32,116,104,101,32,108,105,115,116,32,101,108,101,109,101,110,116,115,32,99,97,110,32,98,101,32,111,102,32,97,110,121,32,116,121,112,101,46>>]}]},#{signature => [{attribute,{99,2},type,{maybe_improper_list,{type,{99,32},maybe_improper_list,[{type,{99,52},any,[]},{type,{99,59},any,[]}]},[]}}]}},{{type,maybe_improper_list,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,100}],[<<45,116,121,112,101,32,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,65,114,103,49,44,65,114,103,50,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<108,105,115,116>>]},<<44,32,116,104,97,116,32,105,115,32,110,111,116,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,101,110,100,32,119,105,116,104,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,110,105,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<91,93>>]},<<44,32,97,110,100,32,119,104,101,114,101,32,116,104,101,32,108,105,115,116,32,101,108,101,109,101,110,116,115,32,97,114,101,32,111,102,32,116,104,101,32,116,121,112,101,32>>,{code,[],[<<67,111,110,116,101,110,116,84,121,112,101>>]},<<46>>]}]},#{signature => [{attribute,{100,2},type,{maybe_improper_list,{type,{100,60},maybe_improper_list,[{var,{100,80},'ContentType'},{var,{100,93},'TerminationType'}]},[{var,{100,27},'ContentType'},{var,{100,40},'TerminationType'}]}}]}},{{type,mfa,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,101}],[<<45,116,121,112,101,32,109,102,97,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,116,104,114,101,101,45,116,117,112,108,101,32,114,101,112,114,101,115,101,110,116,105,110,103,32,97,32>>,{code,[],[<<77,111,100,117,108,101,58,70,117,110,99,116,105,111,110,47,65,114,105,116,121>>]},<<32,102,117,110,99,116,105,111,110,32,115,105,103,110,97,116,117,114,101,46>>]}]},#{signature => [{attribute,{101,2},type,{mfa,{type,{101,16},tuple,[{type,{101,17},module,[]},{type,{101,26},atom,[]},{type,{101,33},arity,[]}]},[]}}]}},{{type,module,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,102}],[<<45,116,121,112,101,32,109,111,100,117,108,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32,109,111,100,117,108,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{102,2},type,{module,{type,{102,19},atom,[]},[]}}]}},{{type,neg_integer,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,103}],[<<45,116,121,112,101,32,110,101,103,95,105,110,116,101,103,101,114,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,110,101,103,97,116,105,118,101,32,105,110,116,101,103,101,114,46>>]}]},#{signature => [{attribute,{103,2},type,{neg_integer,{type,{103,24},neg_integer,[]},[]}}]}},{{type,nil,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,104}],[<<45,116,121,112,101,32,110,105,108,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,101,109,112,116,121,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<108,105,115,116,40,41>>]},<<46>>]}]},#{signature => [{attribute,{104,2},type,{nil,{type,{104,16},nil,[]},[]}}]}},{{type,no_return,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,105}],[<<45,116,121,112,101,32,110,111,95,114,101,116,117,114,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,116,121,112,101,32,117,115,101,100,32,116,111,32,115,104,111,119,32,116,104,97,116,32,97,32,102,117,110,99,116,105,111,110,32,119,105,108,108,32>>,{em,[],[<<110,101,118,101,114>>]},<<32,114,101,116,117,114,110,32,97,32,118,97,108,117,101,44,32,116,104,97,116,32,105,115,32,105,116,32,119,105,108,108,32>>,{em,[],[<<97,108,119,97,121,115>>]},<<32,116,104,114,111,119,32,97,110,32,101,120,99,101,112,116,105,111,110,46>>]}]},#{signature => [{attribute,{105,2},type,{no_return,{type,{105,22},none,[]},[]}}]}},{{type,node,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,106}],[<<45,116,121,112,101,32,110,111,100,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,105,115,116,114,105,98,117,116,101,100,35,110,111,100,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<110,111,100,101>>]},<<32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,110,32,97,116,111,109,46>>]}]},#{signature => [{attribute,{106,2},type,{node,{type,{106,17},atom,[]},[]}}]}},{{type,non_neg_integer,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,107}],[<<45,116,121,112,101,32,110,111,110,95,110,101,103,95,105,110,116,101,103,101,114,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,110,111,110,45,110,101,103,97,116,105,118,101,32,105,110,116,101,103,101,114,44,32,116,104,97,116,32,105,115,32,97,110,121,32,112,111,115,105,116,105,118,101,32,105,110,116,101,103,101,114,32,111,114,32,48,46>>]}]},#{signature => [{attribute,{107,2},type,{non_neg_integer,{type,{107,28},non_neg_integer,[]},[]}}]}},{{type,none,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,108}],[<<45,116,121,112,101,32,110,111,110,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<84,104,105,115,32,116,121,112,101,32,105,115,32,117,115,101,100,32,116,111,32,115,104,111,119,32,116,104,97,116,32,97,32,102,117,110,99,116,105,111,110,32,119,105,108,108,32>>,{em,[],[<<110,101,118,101,114>>]},<<32,114,101,116,117,114,110,32,97,32,118,97,108,117,101,59,32,116,104,97,116,32,105,115,32,105,116,32,119,105,108,108,32>>,{em,[],[<<97,108,119,97,121,115>>]},<<32,116,104,114,111,119,32,97,110,32,101,120,99,101,112,116,105,111,110,46,32,73,110,32,97,32,115,112,101,99,44,32,117,115,101,32>>,{code,[],[<<110,111,95,114,101,116,117,114,110,40,41>>]},<<32,102,111,114,32,116,104,101,32,115,97,107,101,32,111,102,32,99,108,97,114,105,116,121,46>>]}]},#{signature => [{attribute,{108,2},type,{none,{type,{108,17},none,[]},[]}}]}},{{type,nonempty_binary,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,109}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,98,105,110,97,114,121,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,110,97,114,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<98,105,110,97,114,121,40,41>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,100,97,116,97,46>>]}]},#{signature => [{attribute,{109,2},type,{nonempty_binary,{type,{109,28},binary,[{integer,{109,32},8},{integer,{109,39},8}]},[]}}]}},{{type,nonempty_bitstring,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,110}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,98,105,116,115,116,114,105,110,103,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,98,105,116,115,116,114,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<98,105,116,115,116,114,105,110,103,40,41>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,100,97,116,97,46>>]}]},#{signature => [{attribute,{110,2},type,{nonempty_bitstring,{type,{110,31},binary,[{integer,{110,35},1},{integer,{110,42},1}]},[]}}]}},{{type,nonempty_improper_list,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,111}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,65,114,103,49,44,65,114,103,50,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,47,50>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,105,116,101,109,115,46>>]}]},#{signature => [{attribute,{111,2},type,{nonempty_improper_list,{type,{111,63},nonempty_improper_list,[{var,{111,86},'ContentType'},{var,{111,99},'TerminationType'}]},[{var,{111,30},'ContentType'},{var,{111,43},'TerminationType'}]}}]}},{{type,nonempty_list,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,112}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,108,105,115,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<108,105,115,116,40,41>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,105,116,101,109,115,46>>]}]},#{signature => [{attribute,{112,2},type,{nonempty_list,{type,{112,26},nonempty_list,[{type,{112,40},any,[]}]},[]}}]}},{{type,nonempty_list,1},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,113}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,108,105,115,116,40,65,114,103,49,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<108,105,115,116,40,67,111,110,116,101,110,116,84,121,112,101,41>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,105,116,101,109,115,46>>]}]},#{signature => [{attribute,{113,2},type,{nonempty_list,{type,{113,37},nonempty_list,[{var,{113,38},'ContentType'}]},[{var,{113,21},'ContentType'}]}}]}},{{type,nonempty_maybe_improper_list,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,114}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,41>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,105,116,101,109,115,46>>]}]},#{signature => [{attribute,{114,2},type,{nonempty_maybe_improper_list,{type,{114,41},nonempty_maybe_improper_list,[{type,{114,70},any,[]},{type,{114,77},any,[]}]},[]}}]}},{{type,nonempty_maybe_improper_list,2},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,115}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,65,114,103,49,44,65,114,103,50,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<109,97,121,98,101,95,105,109,112,114,111,112,101,114,95,108,105,115,116,40,67,111,110,116,101,110,116,84,121,112,101,44,32,84,101,114,109,105,110,97,116,105,111,110,84,121,112,101,41>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,105,116,101,109,115,46>>]}]},#{signature => [{attribute,{115,2},type,{nonempty_maybe_improper_list,{type,{115,69},nonempty_maybe_improper_list,[{var,{115,98},'ContentType'},{var,{115,111},'TerminationType'}]},[{var,{115,36},'ContentType'},{var,{115,49},'TerminationType'}]}}]}},{{type,nonempty_string,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,116}],[<<45,116,121,112,101,32,110,111,110,101,109,112,116,121,95,115,116,114,105,110,103,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,116,114,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<115,116,114,105,110,103,40,41>>]},<<32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,99,104,97,114,97,99,116,101,114,115,46>>]}]},#{signature => [{attribute,{116,2},type,{nonempty_string,{type,{116,28},nonempty_list,[{type,{116,42},char,[]}]},[]}}]}},{{type,number,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,117}],[<<45,116,121,112,101,32,110,117,109,98,101,114,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,110,117,109,98,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<110,117,109,98,101,114>>]},<<46>>]}]},#{signature => [{attribute,{117,2},type,{number,{type,{117,19},union,[{type,{117,19},integer,[]},{type,{117,31},float,[]}]},[]}}]}},{{type,pid,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,118}],[<<45,116,121,112,101,32,112,105,100,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,112,105,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114>>]},<<46>>]}]},#{signature => [{attribute,{118,2},type,{pid,{type,{118,16},pid,[]},[]}}]}},{{type,port,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,119}],[<<45,116,121,112,101,32,112,111,114,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,112,111,114,116,45,105,100,101,110,116,105,102,105,101,114>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<112,111,114,116,32,105,100,101,110,116,105,102,105,101,114>>]},<<46>>]}]},#{signature => [{attribute,{119,2},type,{port,{type,{119,17},port,[]},[]}}]}},{{type,pos_integer,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,120}],[<<45,116,121,112,101,32,112,111,115,95,105,110,116,101,103,101,114,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,105,110,116,101,103,101,114,32,103,114,101,97,116,101,114,32,116,104,97,110,32,122,101,114,111,46>>]}]},#{signature => [{attribute,{120,2},type,{pos_integer,{type,{120,24},pos_integer,[]},[]}}]}},{{type,reference,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,121}],[<<45,116,121,112,101,32,114,101,102,101,114,101,110,99,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,114,101,102,101,114,101,110,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<114,101,102,101,114,101,110,99,101>>]},<<46>>]}]},#{signature => [{attribute,{121,2},type,{reference,{type,{121,22},reference,[]},[]}}]}},{{type,string,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,122}],[<<45,116,121,112,101,32,115,116,114,105,110,103,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,99,104,97,114,97,99,116,101,114,32,115,116,114,105,110,103,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,32,108,105,115,116,32,111,102,32,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114,115,32,111,114,32,117,110,105,99,111,100,101,32,99,111,100,101,112,111,105,110,116,115,46>>]}]},#{signature => [{attribute,{122,2},type,{string,{type,{122,19},list,[{type,{122,20},char,[]}]},[]}}]}},{{type,term,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,123}],[<<45,116,121,112,101,32,116,101,114,109,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,108,108,32,112,111,115,115,105,98,108,101,32,69,114,108,97,110,103,32,116,101,114,109,115,46,32,83,121,110,111,110,121,109,32,102,111,114,32>>,{code,[],[<<97,110,121,40,41>>]},<<46>>]}]},#{signature => [{attribute,{123,2},type,{term,{type,{123,17},any,[]},[]}}]}},{{type,timeout,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,124}],[<<45,116,121,112,101,32,116,105,109,101,111,117,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,116,105,109,101,111,117,116,32,118,97,108,117,101,32,116,104,97,116,32,99,97,110,32,98,101,32,112,97,115,115,101,100,32,116,111,32,97,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,120,112,114,101,115,115,105,111,110,115,35,114,101,99,101,105,118,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<114,101,99,101,105,118,101,32,101,120,112,114,101,115,115,105,111,110>>]},<<46>>]}]},#{signature => [{attribute,{124,2},type,{timeout,{type,{124,20},union,[{atom,{124,20},infinity},{type,{124,33},non_neg_integer,[]}]},[]}}]}},{{type,tuple,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,125}],[<<45,116,121,112,101,32,116,117,112,108,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,116,117,112,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<116,117,112,108,101>>]},<<46>>]}]},#{signature => [{attribute,{125,2},type,{tuple,{type,{125,18},tuple,any},[]}}]}},{{type,ext_binary,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,156}],[<<45,116,121,112,101,32,101,120,116,95,98,105,110,97,114,121,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,98,105,110,97,114,121,32,100,97,116,97,32,111,98,106,101,99,116,44,32,115,116,114,117,99,116,117,114,101,100,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46>>]}]},#{signature => [{attribute,{156,2},type,{ext_binary,{type,{156,23},binary,[]},[]}}]}},{{type,ext_iovec,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,157}],[<<45,116,121,112,101,32,101,120,116,95,105,111,118,101,99,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,116,101,114,109,32,111,102,32,116,121,112,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,105,111,118,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<105,111,118,101,99,40,41>>]}]},<<44,32,115,116,114,117,99,116,117,114,101,100,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,101,120,116,101,114,110,97,108,32,116,101,114,109,32,102,111,114,109,97,116,46>>]}]},#{signature => [{attribute,{157,2},type,{ext_iovec,{user_type,{157,22},iovec,[]},[]}}]}},{{type,iovec,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,188}],[<<45,116,121,112,101,32,105,111,118,101,99,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32,108,105,115,116,32,111,102,32,98,105,110,97,114,105,101,115,46,32,84,104,105,115,32,100,97,116,97,116,121,112,101,32,105,115,32,117,115,101,102,117,108,32,116,111,32,117,115,101,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,110,105,102,35,101,110,105,102,95,105,110,115,112,101,99,116,95,105,111,118,101,99>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[{code,[],[<<101,110,105,102,95,105,110,115,112,101,99,116,95,105,111,118,101,99>>]}]},<<46>>]}]},#{signature => [{attribute,{188,2},type,{iovec,{type,{188,18},list,[{type,{188,19},binary,[]}]},[]}}]}},{{type,message_queue_data,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2641}],[<<45,116,121,112,101,32,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,44,32,77,81,68,41>>]}]},<<46>>]}]},#{signature => [{attribute,{2641,2},type,{message_queue_data,{type,{2642,2},union,[{atom,{2642,2},off_heap},{atom,{2642,13},on_heap}]},[]}}]}},{{type,monitor_option,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,1689}],[<<45,116,121,112,101,32,109,111,110,105,116,111,114,95,111,112,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,109,111,110,105,116,111,114,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<109,111,110,105,116,111,114,47,51>>]}]},<<46>>]}]},#{signature => [{attribute,{1689,2},type,{monitor_option,{type,{1689,27},union,[{type,{1689,27},tuple,[{atom,{1689,28},alias},{type,{1689,37},union,[{atom,{1689,37},explicit_unalias},{atom,{1689,58},demonitor},{atom,{1689,72},reply_demonitor}]}]},{type,{1690,27},tuple,[{atom,{1690,28},tag},{type,{1690,35},term,[]}]}]},[]}}]}},{{type,timestamp,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,158}],[<<45,116,121,112,101,32,116,105,109,101,115,116,97,109,112,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<83,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,105,109,101,115,116,97,109,112,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,116,105,109,101,115,116,97,109,112,47,48>>]}]},<<46>>]}]},#{signature => [{attribute,{158,2},type,{timestamp,{type,{158,22},tuple,[{ann_type,{158,23},[{var,{158,23},'MegaSecs'},{type,{158,35},non_neg_integer,[]}]},{ann_type,{159,23},[{var,{159,23},'Secs'},{type,{159,31},non_neg_integer,[]}]},{ann_type,{160,23},[{var,{160,23},'MicroSecs'},{type,{160,36},non_neg_integer,[]}]}]},[]}}]}},{{type,time_unit,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,162}],[<<45,116,121,112,101,32,116,105,109,101,95,117,110,105,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{a,[{id,<<116,121,112,101,95,116,105,109,101,95,117,110,105,116>>}],[]},{p,[],[<<83,117,112,112,111,114,116,101,100,32,116,105,109,101,32,117,110,105,116,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<80,97,114,116,115,80,101,114,83,101,99,111,110,100,32,58,58,32,105,110,116,101,103,101,114,40,41,32,62,61,32,49>>]}]},{dd,[],[{p,[],[<<84,105,109,101,32,117,110,105,116,32,101,120,112,114,101,115,115,101,100,32,105,110,32,112,97,114,116,115,32,112,101,114,32,115,101,99,111,110,100,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,101,113,117,97,108,115,32>>,{code,[],[<<49,47,80,97,114,116,115,80,101,114,83,101,99,111,110,100>>]},<<32,115,101,99,111,110,100,46>>]}]},{dt,[],[{code,[],[<<115,101,99,111,110,100>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,116,104,101,32,105,110,116,101,103,101,114,32>>,{code,[],[<<49>>]},<<46>>]}]},{dt,[],[{code,[],[<<109,105,108,108,105,115,101,99,111,110,100>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,116,104,101,32,105,110,116,101,103,101,114,32>>,{code,[],[<<49,48,48,48>>]},<<46>>]}]},{dt,[],[{code,[],[<<109,105,99,114,111,115,101,99,111,110,100>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,116,104,101,32,105,110,116,101,103,101,114,32>>,{code,[],[<<49,48,48,48,95,48,48,48>>]},<<46>>]}]},{dt,[],[{code,[],[<<110,97,110,111,115,101,99,111,110,100>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,116,105,109,101,32,117,110,105,116,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,116,104,101,32,105,110,116,101,103,101,114,32>>,{code,[],[<<49,48,48,48,95,48,48,48,95,48,48,48>>]},<<46>>]}]},{dt,[],[{code,[],[<<110,97,116,105,118,101>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,110,97,116,105,118,101,32,116,105,109,101,32,117,110,105,116,32,117,115,101,100,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,97,116,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,115,116,97,114,116,44,32,97,110,100,32,114,101,109,97,105,110,115,32,116,104,101,32,115,97,109,101,32,117,110,116,105,108,32,116,104,101,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,116,101,114,109,105,110,97,116,101,115,46,32,73,102,32,97,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,115,32,115,116,111,112,112,101,100,32,97,110,100,32,116,104,101,110,32,115,116,97,114,116,101,100,32,97,103,97,105,110,32,40,101,118,101,110,32,111,110,32,116,104,101,32,115,97,109,101,32,109,97,99,104,105,110,101,41,44,32,116,104,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,32,111,102,32,116,104,101,32,110,101,119,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,32,99,97,110,32,100,105,102,102,101,114,32,102,114,111,109,32,116,104,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,32,111,102,32,116,104,101,32,111,108,100,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,32,105,110,115,116,97,110,99,101,46>>]},{p,[],[<<79,110,101,32,99,97,110,32,103,101,116,32,97,110,32,97,112,112,114,111,120,105,109,97,116,105,111,110,32,111,102,32,116,104,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,32,98,121,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,40,49,44,32,115,101,99,111,110,100,44,32,110,97,116,105,118,101,41>>]}]},<<46,32,84,104,101,32,114,101,115,117,108,116,32,101,113,117,97,108,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,119,104,111,108,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,115,32,112,101,114,32,115,101,99,111,110,100,46,32,73,102,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,115,32,112,101,114,32,115,101,99,111,110,100,32,100,111,101,115,32,110,111,116,32,97,100,100,32,117,112,32,116,111,32,97,32,119,104,111,108,101,32,110,117,109,98,101,114,44,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,114,111,117,110,100,101,100,32,100,111,119,110,119,97,114,100,115,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,32,103,105,118,101,115,32,121,111,117,32,109,111,114,101,32,111,114,32,108,101,115,115,32,110,111,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,113,117,97,108,105,116,121,32,111,102,32,116,105,109,101,32,118,97,108,117,101,115,46,32,73,116,32,115,101,116,115,32,97,32,108,105,109,105,116,32,102,111,114,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,82,101,115,111,108,117,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<114,101,115,111,108,117,116,105,111,110>>]},<<32,97,110,100,32,102,111,114,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,80,114,101,99,105,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<112,114,101,99,105,115,105,111,110>>]},<<32,111,102,32,116,105,109,101,32,118,97,108,117,101,115,44,32,98,117,116,32,105,116,32,103,105,118,101,115,32,110,111,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32>>,{a,[{href,<<101,114,116,115,58,116,105,109,101,95,99,111,114,114,101,99,116,105,111,110,35,84,105,109,101,95,65,99,99,117,114,97,99,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<97,99,99,117,114,97,99,121>>]},<<32,111,102,32,116,105,109,101,32,118,97,108,117,101,115,46,32,84,104,101,32,114,101,115,111,108,117,116,105,111,110,32,111,102,32,116,104,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,32,97,110,100,32,116,104,101,32,114,101,115,111,108,117,116,105,111,110,32,111,102,32,116,105,109,101,32,118,97,108,117,101,115,32,99,97,110,32,100,105,102,102,101,114,32,115,105,103,110,105,102,105,99,97,110,116,108,121,46>>]}]}]},{dt,[],[{code,[],[<<112,101,114,102,95,99,111,117,110,116,101,114>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32,112,101,114,102,111,114,109,97,110,99,101,32,99,111,117,110,116,101,114,32,116,105,109,101,32,117,110,105,116,32,117,115,101,100,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<112,101,114,102,95,99,111,117,110,116,101,114>>]},<<32,116,105,109,101,32,117,110,105,116,32,98,101,104,97,118,101,115,32,109,117,99,104,32,105,110,32,116,104,101,32,115,97,109,101,32,119,97,121,32,97,115,32,116,104,101,32>>,{code,[],[<<110,97,116,105,118,101>>]},<<32,116,105,109,101,32,117,110,105,116,46,32,84,104,97,116,32,105,115,44,32,105,116,32,99,97,110,32,100,105,102,102,101,114,32,98,101,116,119,101,101,110,32,114,117,110,116,105,109,101,32,114,101,115,116,97,114,116,115,46,32,84,111,32,103,101,116,32,118,97,108,117,101,115,32,111,102,32,116,104,105,115,32,116,121,112,101,44,32,99,97,108,108,32>>,{a,[{href,<<107,101,114,110,101,108,58,111,115,35,112,101,114,102,95,99,111,117,110,116,101,114,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,115,58,112,101,114,102,95,99,111,117,110,116,101,114,47,48>>]}]},<<46>>]}]},{dt,[],[{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,100,101,112,114,101,99,97,116,101,100,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,101,112,114,101,99,97,116,101,100,95,116,105,109,101,95,117,110,105,116,40,41>>]}]}]},{dd,[],[{p,[],[<<68,101,112,114,101,99,97,116,101,100,32,115,121,109,98,111,108,105,99,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,115,32,107,101,112,116,32,102,111,114,32,98,97,99,107,119,97,114,100,115,45,99,111,109,112,97,116,105,98,105,108,105,116,121,46>>]}]}]},{p,[],[<<84,104,101,32>>,{code,[],[<<116,105,109,101,95,117,110,105,116,47,48>>]},<<32,116,121,112,101,32,99,97,110,32,98,101,32,101,120,116,101,110,100,101,100,46,32,84,111,32,99,111,110,118,101,114,116,32,116,105,109,101,32,118,97,108,117,101,115,32,98,101,116,119,101,101,110,32,116,105,109,101,32,117,110,105,116,115,44,32,117,115,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,99,111,110,118,101,114,116,95,116,105,109,101,95,117,110,105,116,47,51>>]}]},<<46>>]}]},#{signature => [{attribute,{162,2},type,{time_unit,{type,{163,2},union,[{type,{163,2},pos_integer,[]},{atom,{164,9},second},{atom,{165,9},millisecond},{atom,{166,9},microsecond},{atom,{167,9},nanosecond},{atom,{168,9},native},{atom,{169,9},perf_counter},{user_type,{170,9},deprecated_time_unit,[]}]},[]}}]}},{{type,deprecated_time_unit,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,173}],[<<45,116,121,112,101,32,100,101,112,114,101,99,97,116,101,100,95,116,105,109,101,95,117,110,105,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{a,[{id,<<116,121,112,101,95,100,101,112,114,101,99,97,116,101,100,95,116,105,109,101,95,117,110,105,116>>}],[]},{p,[],[<<84,104,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<116,105,109,101,95,117,110,105,116,40,41>>]}]},<<32,116,121,112,101,32,97,108,115,111,32,99,111,110,115,105,115,116,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32>>,{em,[],[<<100,101,112,114,101,99,97,116,101,100>>]},<<32,115,121,109,98,111,108,105,99,32,116,105,109,101,32,117,110,105,116,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<115,101,99,111,110,100,115>>]}]},{dd,[],[{p,[],[<<83,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,101,99,111,110,100>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<109,105,108,108,105,95,115,101,99,111,110,100,115>>]}]},{dd,[],[{p,[],[<<83,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,105,108,108,105,115,101,99,111,110,100>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<109,105,99,114,111,95,115,101,99,111,110,100,115>>]}]},{dd,[],[{p,[],[<<83,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<109,105,99,114,111,115,101,99,111,110,100>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<110,97,110,111,95,115,101,99,111,110,100,115>>]}]},{dd,[],[{p,[],[<<83,97,109,101,32,97,115,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,116,121,112,101,95,116,105,109,101,95,117,110,105,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<110,97,110,111,115,101,99,111,110,100>>]}]},<<46>>]}]}]}]},#{signature => [{attribute,{173,2},type,{deprecated_time_unit,{type,{174,7},union,[{atom,{174,7},seconds},{atom,{175,9},milli_seconds},{atom,{176,9},micro_seconds},{atom,{177,9},nano_seconds}]},[]}}]}},{{type,dist_handle,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,185}],[<<45,116,121,112,101,32,100,105,115,116,95,104,97,110,100,108,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,111,112,97,113,117,101,32,104,97,110,100,108,101,32,105,100,101,110,116,105,102,121,105,110,103,32,97,32,100,105,115,116,114,105,98,117,116,105,111,110,32,99,104,97,110,110,101,108,46>>]}]},#{signature => [{attribute,{185,2},opaque,{dist_handle,{type,{185,26},atom,[]},[]}}]}},{{type,nif_resource,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,182}],[<<45,116,121,112,101,32,110,105,102,95,114,101,115,111,117,114,99,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,111,112,97,113,117,101,32,104,97,110,100,108,101,32,105,100,101,110,116,105,102,121,105,110,103,32,97,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,95,110,105,102,35,114,101,115,111,117,114,99,101,95,111,98,106,101,99,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,114,101,102>>}],[<<78,73,70,32,114,101,115,111,117,114,99,101,32,111,98,106,101,99,116,32>>]},<<46>>]}]},#{signature => [{attribute,{182,2},opaque,{nif_resource,{type,{182,27},reference,[]},[]}}]}},{{type,spawn_opt_option,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3299}],[<<45,116,121,112,101,32,115,112,97,119,110,95,111,112,116,95,111,112,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<79,112,116,105,111,110,115,32,102,111,114,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,115,112,97,119,110,95,111,112,116,47,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,112,97,119,110,95,111,112,116,40,41>>]}]},<<46>>]}]},#{signature => [{attribute,{3299,2},type,{spawn_opt_option,{type,{3300,2},union,[{atom,{3300,2},link},{atom,{3301,9},monitor},{type,{3302,9},tuple,[{atom,{3302,10},monitor},{ann_type,{3302,19},[{var,{3302,19},'MonitorOpts'},{type,{3302,34},list,[{user_type,{3302,35},monitor_option,[]}]}]}]},{type,{3303,9},tuple,[{atom,{3303,10},priority},{ann_type,{3303,20},[{var,{3303,20},'Level'},{user_type,{3303,29},priority_level,[]}]}]},{type,{3304,9},tuple,[{atom,{3304,10},fullsweep_after},{ann_type,{3304,27},[{var,{3304,27},'Number'},{type,{3304,37},non_neg_integer,[]}]}]},{type,{3305,9},tuple,[{atom,{3305,10},min_heap_size},{ann_type,{3305,25},[{var,{3305,25},'Size'},{type,{3305,33},non_neg_integer,[]}]}]},{type,{3306,9},tuple,[{atom,{3306,10},min_bin_vheap_size},{ann_type,{3306,30},[{var,{3306,30},'VSize'},{type,{3306,39},non_neg_integer,[]}]}]},{type,{3307,9},tuple,[{atom,{3307,10},max_heap_size},{ann_type,{3307,25},[{var,{3307,25},'Size'},{user_type,{3307,33},max_heap_size,[]}]}]},{type,{3308,9},tuple,[{atom,{3308,10},message_queue_data},{ann_type,{3308,30},[{var,{3308,30},'MQD'},{user_type,{3308,37},message_queue_data,[]}]}]},{type,{3309,9},tuple,[{atom,{3309,10},async_dist},{ann_type,{3309,22},[{var,{3309,22},'Enabled'},{type,{3309,33},boolean,[]}]}]}]},[]}}]}},{{type,priority_level,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2638}],[<<45,116,121,112,101,32,112,114,105,111,114,105,116,121,95,108,101,118,101,108,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<80,114,111,99,101,115,115,32,112,114,105,111,114,105,116,121,32,108,101,118,101,108,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,112,114,105,111,114,105,116,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,112,114,105,111,114,105,116,121,44,32,76,101,118,101,108,41>>]}]}]}]},#{signature => [{attribute,{2638,2},type,{priority_level,{type,{2639,7},union,[{atom,{2639,7},low},{atom,{2639,13},normal},{atom,{2639,22},high},{atom,{2639,29},max}]},[]}}]}},{{type,max_heap_size,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3291}],[<<45,116,121,112,101,32,109,97,120,95,104,101,97,112,95,115,105,122,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<80,114,111,99,101,115,115,32,109,97,120,32,104,101,97,112,32,115,105,122,101,32,99,111,110,102,105,103,117,114,97,116,105,111,110,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,97,120,95,104,101,97,112,95,115,105,122,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,97,120,95,104,101,97,112,95,115,105,122,101,44,32,77,97,120,72,101,97,112,83,105,122,101,41>>]}]}]}]},#{signature => [{attribute,{3291,2},type,{max_heap_size,{ann_type,{3292,9},[{var,{3292,9},'Size'},{type,{3292,17},union,[{type,{3292,17},non_neg_integer,[]},{type,{3294,9},map,[{type,{3294,17},map_field_assoc,[{atom,{3294,12},size},{type,{3294,20},non_neg_integer,[]}]},{type,{3295,17},map_field_assoc,[{atom,{3295,12},kill},{type,{3295,20},boolean,[]}]},{type,{3296,25},map_field_assoc,[{atom,{3296,12},error_logger},{type,{3296,28},boolean,[]}]},{type,{3297,36},map_field_assoc,[{atom,{3297,12},include_shared_binaries},{type,{3297,39},boolean,[]}]}]}]}]},[]}}]}},{{type,message_queue_data,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,2641}],[<<45,116,121,112,101,32,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<80,114,111,99,101,115,115,32,109,101,115,115,97,103,101,32,113,117,101,117,101,32,100,97,116,97,32,99,111,110,102,105,103,117,114,97,116,105,111,110,46,32,70,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,115,101,101,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,112,114,111,99,101,115,115,95,102,108,97,103,95,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<112,114,111,99,101,115,115,95,102,108,97,103,40,109,101,115,115,97,103,101,95,113,117,101,117,101,95,100,97,116,97,44,32,77,81,68,41>>]}]}]}]},#{signature => [{attribute,{2641,2},type,{message_queue_data,{type,{2642,2},union,[{atom,{2642,2},off_heap},{atom,{2642,13},on_heap}]},[]}}]}},{{type,stacktrace_extrainfo,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,147}],[<<45,116,121,112,101,32,115,116,97,99,107,116,114,97,99,101,95,101,120,116,114,97,105,110,102,111,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32,115,116,97,99,107,116,114,97,99,101,32,97,115,32,100,101,115,99,114,105,98,101,100,32,98,121,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115,35,115,116,97,99,107,116,114,97,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,114,111,114,115,32,97,110,100,32,69,114,114,111,114,32,72,97,110,100,108,105,110,103>>]},<<32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,46>>]}]},#{signature => [{attribute,{147,2},type,{stacktrace_extrainfo,{type,{148,9},union,[{type,{148,9},tuple,[{atom,{148,10},line},{type,{148,16},pos_integer,[]}]},{type,{149,9},tuple,[{atom,{149,10},file},{remote_type,{149,16},[{atom,{149,16},unicode},{atom,{149,24},chardata},[]]}]},{type,{150,9},tuple,[{atom,{150,10},error_info},{type,{150,22},map,[{type,{150,32},map_field_assoc,[{atom,{150,25},module},{type,{150,35},module,[]}]},{type,{150,54},map_field_assoc,[{atom,{150,45},function},{type,{150,57},atom,[]}]},{type,{150,71},map_field_assoc,[{atom,{150,65},cause},{type,{150,74},term,[]}]}]}]},{type,{151,9},tuple,[{type,{151,10},atom,[]},{type,{151,18},term,[]}]}]},[]}}]}},{{type,stacktrace,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,152}],[<<45,116,121,112,101,32,115,116,97,99,107,116,114,97,99,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,69,114,108,97,110,103,32,115,116,97,99,107,116,114,97,99,101,32,97,115,32,100,101,115,99,114,105,98,101,100,32,98,121,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,101,114,114,111,114,115,35,115,116,97,99,107,116,114,97,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<69,114,114,111,114,115,32,97,110,100,32,69,114,114,111,114,32,72,97,110,100,108,105,110,103>>]},<<32,115,101,99,116,105,111,110,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,82,101,102,101,114,101,110,99,101,32,77,97,110,117,97,108,46>>]}]},#{signature => [{attribute,{152,2},type,{stacktrace,{type,{152,23},list,[{type,{152,24},union,[{type,{152,24},tuple,[{type,{152,25},module,[]},{type,{152,35},atom,[]},{type,{152,43},union,[{type,{152,43},arity,[]},{type,{152,53},list,[{type,{152,54},term,[]}]}]},{type,{153,25},list,[{user_type,{153,26},stacktrace_extrainfo,[]}]}]},{type,{154,24},tuple,[{type,{154,25},function,[]},{type,{154,37},union,[{type,{154,37},arity,[]},{type,{154,47},list,[{type,{154,48},term,[]}]}]},{type,{154,57},list,[{user_type,{154,58},stacktrace_extrainfo,[]}]}]}]}]},[]}}]}},{{type,send_destination,0},[{file,[101,114,108,97,110,103,46,101,114,108]},{location,3737}],[<<45,116,121,112,101,32,115,101,110,100,95,100,101,115,116,105,110,97,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,100,101,115,116,105,110,97,116,105,111,110,32,102,111,114,32,97,32,115,101,110,100,32,111,112,101,114,97,116,105,111,110,44,32,99,97,110,32,98,101,32,97,32,114,101,109,111,116,101,32,111,114,32,108,111,99,97,108,32,112,114,111,99,101,115,115,32,105,100,101,110,116,105,102,105,101,114,44,32,97,32,40,108,111,99,97,108,41,32,112,111,114,116,44,32,97,32,114,101,102,101,114,101,110,99,101,32,100,101,110,111,116,105,110,103,32,97,32,112,114,111,99,101,115,115,32,97,108,105,97,115,44,32,97,32,108,111,99,97,108,108,121,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,44,32,111,114,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,82,101,103,78,97,109,101,44,32,78,111,100,101,125>>]},<<32,102,111,114,32,97,32,114,101,103,105,115,116,101,114,101,100,32,110,97,109,101,32,97,116,32,97,110,111,116,104,101,114,32,110,111,100,101,46>>]}]},#{signature => [{attribute,{3737,2},type,{send_destination,{type,{3737,29},union,[{type,{3737,29},pid,[]},{type,{3738,29},reference,[]},{type,{3739,29},port,[]},{ann_type,{3740,30},[{var,{3740,30},'RegName'},{type,{3740,41},atom,[]}]},{type,{3741,29},tuple,[{ann_type,{3741,30},[{var,{3741,30},'RegName'},{type,{3741,41},atom,[]}]},{ann_type,{3741,49},[{var,{3741,49},'Node'},{type,{3741,57},node,[]}]}]}]},[]}}]}}]}. \ No newline at end of file diff --git a/lib/stdlib/test/shell_docs_SUITE_data/file.docs_v1 b/lib/stdlib/test/shell_docs_SUITE_data/file.docs_v1 index 227f99dfaacd..db53fb587bfd 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/file.docs_v1 +++ b/lib/stdlib/test/shell_docs_SUITE_data/file.docs_v1 @@ -1 +1 @@ -{docs_v1,[{file,[102,105,108,101,46,101,114,108]},{location,0}],erlang,<<97,112,112,108,105,99,97,116,105,111,110,47,101,114,108,97,110,103,43,104,116,109,108>>,#{<<101,110>> => [{p,[],[<<84,104,105,115,32,109,111,100,117,108,101,32,112,114,111,118,105,100,101,115,32,97,110,32,105,110,116,101,114,102,97,99,101,32,116,111,32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<70,105,108,101,32,111,112,101,114,97,116,105,111,110,115,32,97,114,101,32,111,110,108,121,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,97,112,112,101,97,114,32,97,116,111,109,105,99,32,119,104,101,110,32,103,111,105,110,103,32,116,104,114,111,117,103,104,32,116,104,101,32,115,97,109,101,32,102,105,108,101,32,115,101,114,118,101,114,46,32,65,32,78,73,70,32,111,114,32,111,116,104,101,114,32,79,83,32,112,114,111,99,101,115,115,32,109,97,121,32,111,98,115,101,114,118,101,32,105,110,116,101,114,109,101,100,105,97,116,101,32,115,116,101,112,115,32,111,110,32,99,101,114,116,97,105,110,32,111,112,101,114,97,116,105,111,110,115,32,111,110,32,115,111,109,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,115,44,32,101,103,46,32,114,101,110,97,109,105,110,103,32,97,110,32,101,120,105,115,116,105,110,103,32,102,105,108,101,32,111,110,32,87,105,110,100,111,119,115,44,32,111,114,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>]},<<32>>]},<<111,110,32,97,110,121,32,79,83,32,97,116,32,116,104,101,32,116,105,109,101,32,111,102,32,119,114,105,116,105,110,103,46>>]}]},{p,[],[<<82,101,103,97,114,100,105,110,103,32,102,105,108,101,110,97,109,101,32,101,110,99,111,100,105,110,103,44,32,116,104,101,32,69,114,108,97,110,103,32,86,77,32,99,97,110,32,111,112,101,114,97,116,101,32,105,110,32,116,119,111,32,109,111,100,101,115,46,32,84,104,101,32,99,117,114,114,101,110,116,32,109,111,100,101,32,99,97,110,32,98,101,32,113,117,101,114,105,101,100,32,117,115,105,110,103,32,102,117,110,99,116,105,111,110,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48>>]}]},<<46,32,73,116,32,114,101,116,117,114,110,115,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<32,111,114,32>>,{code,[],[<<117,116,102,56>>]},<<46>>]},{p,[],[<<73,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<32,109,111,100,101,44,32,116,104,101,32,69,114,108,97,110,103,32,86,77,32,100,111,101,115,32,110,111,116,32,99,104,97,110,103,101,32,116,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32,102,105,108,101,110,97,109,101,115,46,32,73,110,32>>,{code,[],[<<117,116,102,56>>]},<<32,109,111,100,101,44,32,102,105,108,101,110,97,109,101,115,32,99,97,110,32,99,111,110,116,97,105,110,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,50,53,53,32,97,110,100,32,116,104,101,32,86,77,32,99,111,110,118,101,114,116,115,32,102,105,108,101,110,97,109,101,115,32,98,97,99,107,32,97,110,100,32,102,111,114,116,104,32,116,111,32,116,104,101,32,110,97,116,105,118,101,32,102,105,108,101,110,97,109,101,32,101,110,99,111,100,105,110,103,32,40,117,115,117,97,108,108,121,32,85,84,70,45,56,44,32,98,117,116,32,85,84,70,45,49,54,32,111,110,32,87,105,110,100,111,119,115,41,46>>]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,32,109,111,100,101,32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,46,32,87,105,110,100,111,119,115,44,32,77,97,99,79,83,32,88,32,97,110,100,32,65,110,100,114,111,105,100,32,101,110,102,111,114,99,101,32,99,111,110,115,105,115,116,101,110,116,32,102,105,108,101,110,97,109,101,32,101,110,99,111,100,105,110,103,32,97,110,100,32,116,104,101,114,101,102,111,114,101,32,116,104,101,32,86,77,32,117,115,101,115,32>>,{code,[],[<<117,116,102,56>>]},<<32,109,111,100,101,46>>]},{p,[],[<<79,110,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,115,32,119,105,116,104,32,116,114,97,110,115,112,97,114,101,110,116,32,110,97,109,105,110,103,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,97,108,108,32,85,110,105,120,32,115,121,115,116,101,109,115,32,101,120,99,101,112,116,32,77,97,99,79,83,32,88,41,44,32,100,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<117,116,102,56>>]},<<32,105,102,32,116,104,101,32,116,101,114,109,105,110,97,108,32,115,117,112,112,111,114,116,115,32,85,84,70,45,56,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<46,32,84,104,101,32,100,101,102,97,117,108,116,32,99,97,110,32,98,101,32,111,118,101,114,114,105,100,100,101,110,32,117,115,105,110,103,32>>,{code,[],[<<43,102,110,108>>]},<<32,40,116,111,32,102,111,114,99,101,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<32,109,111,100,101,41,32,111,114,32>>,{code,[],[<<43,102,110,117>>]},<<32,40,116,111,32,102,111,114,99,101,32>>,{code,[],[<<117,116,102,56>>]},<<32,109,111,100,101,41,32,119,104,101,110,32,115,116,97,114,116,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<101,114,108>>]}]},<<46>>]},{p,[],[<<79,110,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,115,32,119,105,116,104,32,116,114,97,110,115,112,97,114,101,110,116,32,110,97,109,105,110,103,44,32,102,105,108,101,115,32,99,97,110,32,98,101,32,105,110,99,111,110,115,105,115,116,101,110,116,108,121,32,110,97,109,101,100,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,115,111,109,101,32,102,105,108,101,115,32,97,114,101,32,101,110,99,111,100,101,100,32,105,110,32,85,84,70,45,56,32,119,104,105,108,101,32,111,116,104,101,114,115,32,97,114,101,32,101,110,99,111,100,101,100,32,105,110,32,73,83,79,32,76,97,116,105,110,45,49,46,32,84,104,101,32,99,111,110,99,101,112,116,32,111,102,32>>,{em,[],[<<114,97,119,32,102,105,108,101,110,97,109,101,115>>]},<<32,105,115,32,105,110,116,114,111,100,117,99,101,100,32,116,111,32,104,97,110,100,108,101,32,102,105,108,101,32,115,121,115,116,101,109,115,32,119,105,116,104,32,105,110,99,111,110,115,105,115,116,101,110,116,32,110,97,109,105,110,103,32,119,104,101,110,32,114,117,110,110,105,110,103,32,105,110,32>>,{code,[],[<<117,116,102,56>>]},<<32,109,111,100,101,46>>]},{p,[],[<<65,32>>,{em,[],[<<114,97,119,32,102,105,108,101,110,97,109,101>>]},<<32,105,115,32,97,32,102,105,108,101,110,97,109,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,98,105,110,97,114,121,46,32,84,104,101,32,69,114,108,97,110,103,32,86,77,32,100,111,101,115,32,110,111,116,32,116,114,97,110,115,108,97,116,101,32,97,32,102,105,108,101,110,97,109,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,98,105,110,97,114,121,32,111,110,32,115,121,115,116,101,109,115,32,119,105,116,104,32,116,114,97,110,115,112,97,114,101,110,116,32,110,97,109,105,110,103,46>>]},{p,[],[<<87,104,101,110,32,114,117,110,110,105,110,103,32,105,110,32>>,{code,[],[<<117,116,102,56>>]},<<32,109,111,100,101,44,32,102,117,110,99,116,105,111,110,115,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,108,105,115,116,95,100,105,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<108,105,115,116,95,100,105,114,47,49>>]}]},<<32,97,110,100,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,95,108,105,110,107,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,95,108,105,110,107,47,49>>]}]},<<32,110,101,118,101,114,32,114,101,116,117,114,110,32,114,97,119,32,102,105,108,101,110,97,109,101,115,46,32,84,111,32,114,101,116,117,114,110,32,97,108,108,32,102,105,108,101,110,97,109,101,115,32,105,110,99,108,117,100,105,110,103,32,114,97,119,32,102,105,108,101,110,97,109,101,115,44,32,117,115,101,32,102,117,110,99,116,105,111,110,115,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,108,105,115,116,95,100,105,114,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<108,105,115,116,95,100,105,114,95,97,108,108,47,49>>]}]},<<32,97,110,100,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,95,108,105,110,107,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,101,97,100,95,108,105,110,107,95,97,108,108,47,49>>]}]},<<46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101,95,117,115,97,103,101,35,110,111,116,101,115,45,97,98,111,117,116,45,114,97,119,45,102,105,108,101,110,97,109,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<78,111,116,101,115,32,65,98,111,117,116,32,82,97,119,32,70,105,108,101,110,97,109,101,115>>]},<<32,105,110,32,116,104,101,32,83,84,68,76,73,66,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<70,105,108,101,32,111,112,101,114,97,116,105,111,110,115,32,117,115,101,100,32,116,111,32,97,99,99,101,112,116,32,102,105,108,101,110,97,109,101,115,32,99,111,110,116,97,105,110,105,110,103,32,110,117,108,108,32,99,104,97,114,97,99,116,101,114,115,32,40,105,110,116,101,103,101,114,32,118,97,108,117,101,32,122,101,114,111,41,46,32,84,104,105,115,32,99,97,117,115,101,100,32,116,104,101,32,110,97,109,101,32,116,111,32,98,101,32,116,114,117,110,99,97,116,101,100,32,97,110,100,32,105,110,32,115,111,109,101,32,99,97,115,101,115,32,97,114,103,117,109,101,110,116,115,32,116,111,32,112,114,105,109,105,116,105,118,101,32,111,112,101,114,97,116,105,111,110,115,32,116,111,32,98,101,32,109,105,120,101,100,32,117,112,46,32,70,105,108,101,110,97,109,101,115,32,99,111,110,116,97,105,110,105,110,103,32,110,117,108,108,32,99,104,97,114,97,99,116,101,114,115,32,105,110,115,105,100,101,32,116,104,101,32,102,105,108,101,110,97,109,101,32,97,114,101,32,110,111,119,32>>,{em,[],[<<114,101,106,101,99,116,101,100>>]},<<32,97,110,100,32,119,105,108,108,32,99,97,117,115,101,32,112,114,105,109,105,116,105,118,101,32,102,105,108,101,32,111,112,101,114,97,116,105,111,110,115,32,102,97,105,108,46>>]}]},{h2,[],[<<80,79,83,73,88,32,69,114,114,111,114,32,67,111,100,101,115>>]},{ul,[],[{li,[],[{code,[],[<<101,97,99,99,101,115>>]},<<32,45,32,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100>>]},{li,[],[{code,[],[<<101,97,103,97,105,110>>]},<<32,45,32,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101>>]},{li,[],[{code,[],[<<101,98,97,100,102>>]},<<32,45,32,66,97,100,32,102,105,108,101,32,110,117,109,98,101,114>>]},{li,[],[{code,[],[<<101,98,117,115,121>>]},<<32,45,32,70,105,108,101,32,98,117,115,121>>]},{li,[],[{code,[],[<<101,100,113,117,111,116>>]},<<32,45,32,68,105,115,107,32,113,117,111,116,97,32,101,120,99,101,101,100,101,100>>]},{li,[],[{code,[],[<<101,101,120,105,115,116>>]},<<32,45,32,70,105,108,101,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115>>]},{li,[],[{code,[],[<<101,102,97,117,108,116>>]},<<32,45,32,66,97,100,32,97,100,100,114,101,115,115,32,105,110,32,115,121,115,116,101,109,32,99,97,108,108,32,97,114,103,117,109,101,110,116>>]},{li,[],[{code,[],[<<101,102,98,105,103>>]},<<32,45,32,70,105,108,101,32,116,111,111,32,108,97,114,103,101>>]},{li,[],[{code,[],[<<101,105,110,116,114>>]},<<32,45,32,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108>>]},{li,[],[{code,[],[<<101,105,110,118,97,108>>]},<<32,45,32,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116>>]},{li,[],[{code,[],[<<101,105,111>>]},<<32,45,32,73,47,79,32,101,114,114,111,114>>]},{li,[],[{code,[],[<<101,105,115,100,105,114>>]},<<32,45,32,73,108,108,101,103,97,108,32,111,112,101,114,97,116,105,111,110,32,111,110,32,97,32,100,105,114,101,99,116,111,114,121>>]},{li,[],[{code,[],[<<101,108,111,111,112>>]},<<32,45,32,84,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115>>]},{li,[],[{code,[],[<<101,109,102,105,108,101>>]},<<32,45,32,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115>>]},{li,[],[{code,[],[<<101,109,108,105,110,107>>]},<<32,45,32,84,111,111,32,109,97,110,121,32,108,105,110,107,115>>]},{li,[],[{code,[],[<<101,110,97,109,101,116,111,111,108,111,110,103>>]},<<32,45,32,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103>>]},{li,[],[{code,[],[<<101,110,102,105,108,101>>]},<<32,45,32,70,105,108,101,32,116,97,98,108,101,32,111,118,101,114,102,108,111,119>>]},{li,[],[{code,[],[<<101,110,111,100,101,118>>]},<<32,45,32,78,111,32,115,117,99,104,32,100,101,118,105,99,101>>]},{li,[],[{code,[],[<<101,110,111,101,110,116>>]},<<32,45,32,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121>>]},{li,[],[{code,[],[<<101,110,111,109,101,109>>]},<<32,45,32,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121>>]},{li,[],[{code,[],[<<101,110,111,115,112,99>>]},<<32,45,32,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101>>]},{li,[],[{code,[],[<<101,110,111,116,98,108,107>>]},<<32,45,32,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100>>]},{li,[],[{code,[],[<<101,110,111,116,100,105,114>>]},<<32,45,32,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121>>]},{li,[],[{code,[],[<<101,110,111,116,115,117,112>>]},<<32,45,32,79,112,101,114,97,116,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100>>]},{li,[],[{code,[],[<<101,110,120,105,111>>]},<<32,45,32,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115>>]},{li,[],[{code,[],[<<101,112,101,114,109>>]},<<32,45,32,78,111,116,32,111,119,110,101,114>>]},{li,[],[{code,[],[<<101,112,105,112,101>>]},<<32,45,32,66,114,111,107,101,110,32,112,105,112,101>>]},{li,[],[{code,[],[<<101,114,111,102,115>>]},<<32,45,32,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109>>]},{li,[],[{code,[],[<<101,115,112,105,112,101>>]},<<32,45,32,73,110,118,97,108,105,100,32,115,101,101,107>>]},{li,[],[{code,[],[<<101,115,114,99,104>>]},<<32,45,32,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115>>]},{li,[],[{code,[],[<<101,115,116,97,108,101>>]},<<32,45,32,83,116,97,108,101,32,114,101,109,111,116,101,32,102,105,108,101,32,104,97,110,100,108,101>>]},{li,[],[{code,[],[<<101,120,100,101,118>>]},<<32,45,32,67,114,111,115,115,45,100,111,109,97,105,110,32,108,105,110,107>>]}]},{h2,[],[<<80,101,114,102,111,114,109,97,110,99,101>>]},{p,[],[<<70,111,114,32,105,110,99,114,101,97,115,101,100,32,112,101,114,102,111,114,109,97,110,99,101,44,32,114,97,119,32,102,105,108,101,115,32,97,114,101,32,114,101,99,111,109,109,101,110,100,101,100,46>>]},{p,[],[<<65,32,110,111,114,109,97,108,32,102,105,108,101,32,105,115,32,114,101,97,108,108,121,32,97,32,112,114,111,99,101,115,115,32,115,111,32,105,116,32,99,97,110,32,98,101,32,117,115,101,100,32,97,115,32,97,110,32,73,47,79,32,100,101,118,105,99,101,32,40,115,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111>>]}]},<<41,46,32,84,104,101,114,101,102,111,114,101,44,32,119,104,101,110,32,100,97,116,97,32,105,115,32,119,114,105,116,116,101,110,32,116,111,32,97,32,110,111,114,109,97,108,32,102,105,108,101,44,32,116,104,101,32,115,101,110,100,105,110,103,32,111,102,32,116,104,101,32,100,97,116,97,32,116,111,32,116,104,101,32,102,105,108,101,32,112,114,111,99,101,115,115,44,32,99,111,112,105,101,115,32,97,108,108,32,100,97,116,97,32,116,104,97,116,32,97,114,101,32,110,111,116,32,98,105,110,97,114,105,101,115,46,32,79,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,32,105,110,32,98,105,110,97,114,121,32,109,111,100,101,32,97,110,100,32,119,114,105,116,105,110,103,32,98,105,110,97,114,105,101,115,32,105,115,32,116,104,101,114,101,102,111,114,101,32,114,101,99,111,109,109,101,110,100,101,100,46,32,73,102,32,116,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,111,110,32,97,110,111,116,104,101,114,32,110,111,100,101,44,32,111,114,32,105,102,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,114,117,110,115,32,97,115,32,115,108,97,118,101,32,116,111,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,111,102,32,97,110,111,116,104,101,114,32,110,111,100,101,44,32,97,108,115,111,32,98,105,110,97,114,105,101,115,32,97,114,101,32,99,111,112,105,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<82,97,119,32,102,105,108,101,115,32,117,115,101,32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109,32,111,102,32,116,104,101,32,104,111,115,116,32,109,97,99,104,105,110,101,32,111,102,32,116,104,101,32,110,111,100,101,46,32,70,111,114,32,110,111,114,109,97,108,32,102,105,108,101,115,32,40,110,111,110,45,114,97,119,41,44,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,105,115,32,117,115,101,100,32,116,111,32,102,105,110,100,32,116,104,101,32,102,105,108,101,115,44,32,97,110,100,32,105,102,32,116,104,101,32,110,111,100,101,32,105,115,32,114,117,110,110,105,110,103,32,105,116,115,32,102,105,108,101,32,115,101,114,118,101,114,32,97,115,32,115,108,97,118,101,32,116,111,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,111,102,32,97,110,111,116,104,101,114,32,110,111,100,101,44,32,97,110,100,32,116,104,101,32,111,116,104,101,114,32,110,111,100,101,32,114,117,110,115,32,111,110,32,115,111,109,101,32,111,116,104,101,114,32,104,111,115,116,32,109,97,99,104,105,110,101,44,32,116,104,101,121,32,99,97,110,32,104,97,118,101,32,100,105,102,102,101,114,101,110,116,32,102,105,108,101,32,115,121,115,116,101,109,115,46,32,72,111,119,101,118,101,114,44,32,116,104,105,115,32,105,115,32,115,101,108,100,111,109,32,97,32,112,114,111,98,108,101,109,46>>]}]},{p,[],[{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<32,99,97,110,32,98,101,32,103,105,118,101,110,32,116,104,101,32,111,112,116,105,111,110,115,32>>,{code,[],[<<100,101,108,97,121,101,100,95,119,114,105,116,101>>]},<<32,97,110,100,32>>,{code,[],[<<114,101,97,100,95,97,104,101,97,100>>]},<<32,116,111,32,116,117,114,110,32,111,110,32,99,97,99,104,105,110,103,44,32,119,104,105,99,104,32,119,105,108,108,32,114,101,100,117,99,101,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,99,97,108,108,115,32,97,110,100,32,103,114,101,97,116,108,121,32,105,109,112,114,111,118,101,32,112,101,114,102,111,114,109,97,110,99,101,32,102,111,114,32,115,109,97,108,108,32,114,101,97,100,115,32,97,110,100,32,119,114,105,116,101,115,46,32,72,111,119,101,118,101,114,44,32,116,104,101,32,111,118,101,114,104,101,97,100,32,119,111,110,39,116,32,100,105,115,97,112,112,101,97,114,32,99,111,109,112,108,101,116,101,108,121,32,97,110,100,32,105,116,39,115,32,98,101,115,116,32,116,111,32,107,101,101,112,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,102,105,108,101,32,111,112,101,114,97,116,105,111,110,115,32,116,111,32,97,32,109,105,110,105,109,117,109,46,32,65,115,32,97,32,99,111,110,116,114,105,118,101,100,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,117,110,99,116,105,111,110,32,119,114,105,116,101,115,32,52,77,66,32,105,110,32,50,46,53,32,115,101,99,111,110,100,115,32,119,104,101,110,32,116,101,115,116,101,100,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<99,114,101,97,116,101,95,102,105,108,101,95,115,108,111,119,40,78,97,109,101,41,32,45,62,10,32,32,32,32,123,111,107,44,32,70,100,125,32,61,32,102,105,108,101,58,111,112,101,110,40,78,97,109,101,44,32,91,114,97,119,44,32,119,114,105,116,101,44,32,100,101,108,97,121,101,100,95,119,114,105,116,101,44,32,98,105,110,97,114,121,93,41,44,10,32,32,32,32,99,114,101,97,116,101,95,102,105,108,101,95,115,108,111,119,95,49,40,70,100,44,32,52,32,98,115,108,32,50,48,41,44,10,32,32,32,32,102,105,108,101,58,99,108,111,115,101,40,70,100,41,46,10,10,99,114,101,97,116,101,95,102,105,108,101,95,115,108,111,119,95,49,40,95,70,100,44,32,48,41,32,45,62,10,32,32,32,32,111,107,59,10,99,114,101,97,116,101,95,102,105,108,101,95,115,108,111,119,95,49,40,70,100,44,32,77,41,32,45,62,10,32,32,32,32,111,107,32,61,32,102,105,108,101,58,119,114,105,116,101,40,70,100,44,32,60,60,48,62,62,41,44,10,32,32,32,32,99,114,101,97,116,101,95,102,105,108,101,95,115,108,111,119,95,49,40,70,100,44,32,77,32,45,32,49,41,46>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,102,117,110,99,116,105,111,110,97,108,108,121,32,101,113,117,105,118,97,108,101,110,116,32,99,111,100,101,32,119,114,105,116,101,115,32,49,50,56,32,98,121,116,101,115,32,112,101,114,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,47,50>>]}]},<<32,97,110,100,32,115,111,32,100,111,101,115,32,116,104,101,32,115,97,109,101,32,119,111,114,107,32,105,110,32,48,46,48,56,32,115,101,99,111,110,100,115,44,32,119,104,105,99,104,32,105,115,32,114,111,117,103,104,108,121,32,51,48,32,116,105,109,101,115,32,102,97,115,116,101,114,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<99,114,101,97,116,101,95,102,105,108,101,40,78,97,109,101,41,32,45,62,10,32,32,32,32,123,111,107,44,32,70,100,125,32,61,32,102,105,108,101,58,111,112,101,110,40,78,97,109,101,44,32,91,114,97,119,44,32,119,114,105,116,101,44,32,100,101,108,97,121,101,100,95,119,114,105,116,101,44,32,98,105,110,97,114,121,93,41,44,10,32,32,32,32,99,114,101,97,116,101,95,102,105,108,101,95,49,40,70,100,44,32,52,32,98,115,108,32,50,48,41,44,10,32,32,32,32,102,105,108,101,58,99,108,111,115,101,40,70,100,41,44,10,32,32,32,32,111,107,46,10,10,99,114,101,97,116,101,95,102,105,108,101,95,49,40,95,70,100,44,32,48,41,32,45,62,10,32,32,32,32,111,107,59,10,99,114,101,97,116,101,95,102,105,108,101,95,49,40,70,100,44,32,77,41,32,119,104,101,110,32,77,32,62,61,32,49,50,56,32,45,62,10,32,32,32,32,111,107,32,61,32,102,105,108,101,58,119,114,105,116,101,40,70,100,44,32,60,60,48,58,40,49,50,56,41,47,117,110,105,116,58,56,62,62,41,44,10,32,32,32,32,99,114,101,97,116,101,95,102,105,108,101,95,49,40,70,100,44,32,77,32,45,32,49,50,56,41,59,10,99,114,101,97,116,101,95,102,105,108,101,95,49,40,70,100,44,32,77,41,32,45,62,10,32,32,32,32,111,107,32,61,32,102,105,108,101,58,119,114,105,116,101,40,70,100,44,32,60,60,48,58,40,77,41,47,117,110,105,116,58,56,62,62,41,44,10,32,32,32,32,99,114,101,97,116,101,95,102,105,108,101,95,49,40,70,100,44,32,77,32,45,32,49,41,46>>]}]},{p,[],[<<87,104,101,110,32,119,114,105,116,105,110,103,32,100,97,116,97,32,105,116,39,115,32,103,101,110,101,114,97,108,108,121,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,111,32,119,114,105,116,101,32,97,32,108,105,115,116,32,111,102,32,98,105,110,97,114,105,101,115,32,114,97,116,104,101,114,32,116,104,97,110,32,97,32,108,105,115,116,32,111,102,32,105,110,116,101,103,101,114,115,46,32,73,116,32,105,115,32,110,111,116,32,110,101,101,100,101,100,32,116,111,32,102,108,97,116,116,101,110,32,97,32,100,101,101,112,32,108,105,115,116,32,98,101,102,111,114,101,32,119,114,105,116,105,110,103,46,32,79,110,32,85,110,105,120,32,104,111,115,116,115,44,32,115,99,97,116,116,101,114,32,111,117,116,112,117,116,44,32,119,104,105,99,104,32,119,114,105,116,101,115,32,97,32,115,101,116,32,111,102,32,98,117,102,102,101,114,115,32,105,110,32,111,110,101,32,111,112,101,114,97,116,105,111,110,44,32,105,115,32,117,115,101,100,32,119,104,101,110,32,112,111,115,115,105,98,108,101,46,32,73,110,32,116,104,105,115,32,119,97,121,32>>,{code,[],[<<119,114,105,116,101,40,70,68,44,32,91,66,105,110,49,44,32,66,105,110,50,32,124,32,66,105,110,51,93,41>>]},<<32,119,114,105,116,101,115,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32,116,104,101,32,98,105,110,97,114,105,101,115,32,119,105,116,104,111,117,116,32,99,111,112,121,105,110,103,32,116,104,101,32,100,97,116,97,32,97,116,32,97,108,108,44,32,101,120,99,101,112,116,32,102,111,114,32,112,101,114,104,97,112,115,32,100,101,101,112,32,100,111,119,110,32,105,110,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,107,101,114,110,101,108,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<73,102,32,97,110,32,101,114,114,111,114,32,111,99,99,117,114,115,32,119,104,101,110,32,97,99,99,101,115,115,105,110,103,32,97,110,32,111,112,101,110,32,102,105,108,101,32,119,105,116,104,32,109,111,100,117,108,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111>>]}]},<<44,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,110,100,108,105,110,103,32,116,104,101,32,102,105,108,101,32,101,120,105,116,115,46,32,84,104,101,32,100,101,97,100,32,102,105,108,101,32,112,114,111,99,101,115,115,32,99,97,110,32,104,97,110,103,32,105,102,32,97,32,112,114,111,99,101,115,115,32,116,114,105,101,115,32,116,111,32,97,99,99,101,115,115,32,105,116,32,108,97,116,101,114,46,32,84,104,105,115,32,119,105,108,108,32,98,101,32,102,105,120,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]}]},{h2,[],[<<83,101,101,32,65,108,115,111>>]},{p,[],[{a,[{href,<<115,116,100,108,105,98,58,102,105,108,101,110,97,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<102,105,108,101,110,97,109,101,40,51,41>>]}]}]}]},#{name => <<102,105,108,101>>,otp_doc_vsn => {1,0,0},source => [46,46,47,120,109,108,47,102,105,108,101,46,120,109,108],types => #{{date_time,0} => {attribute,{123,2},type,{date_time,{remote_type,{123,22},[{atom,{123,22},calendar},{atom,{123,31},datetime},[]]},[]}},{deep_list,0} => {attribute,{101,2},type,{deep_list,{type,{101,22},list,[{type,{101,23},union,[{type,{101,23},char,[]},{type,{101,32},atom,[]},{user_type,{101,41},deep_list,[]}]}]},[]}},{delete_option,0} => {attribute,{126,2},type,{delete_option,{atom,{126,26},raw},[]}},{fd,0} => {attribute,{87,2},type,{fd,{type,{87,22},record,[{atom,{87,23},file_descriptor}]},[]}},{file_info,0} => {attribute,{86,2},type,{file_info,{type,{86,22},record,[{atom,{86,23},file_info}]},[]}},{file_info_option,0} => {attribute,{129,2},type,{file_info_option,{type,{129,29},union,[{type,{129,29},tuple,[{atom,{129,30},time},{atom,{129,38},local}]},{type,{129,49},tuple,[{atom,{129,50},time},{atom,{129,58},universal}]},{type,{130,8},tuple,[{atom,{130,9},time},{atom,{130,17},posix}]},{atom,{130,28},raw}]},[]}},{filename,0} => {attribute,{84,2},type,{filename,{type,{84,22},string,[]},[]}},{filename_all,0} => {attribute,{85,2},type,{filename_all,{type,{85,25},union,[{type,{85,25},string,[]},{type,{85,36},binary,[]}]},[]}},{io_device,0} => {attribute,{88,2},type,{io_device,{type,{88,22},union,[{type,{88,22},pid,[]},{user_type,{88,30},fd,[]}]},[]}},{location,0} => {attribute,{89,2},type,{location,{type,{89,22},union,[{type,{89,22},integer,[]},{type,{89,34},tuple,[{atom,{89,35},bof},{ann_type,{89,42},[{var,{89,42},'Offset'},{type,{89,52},integer,[]}]}]},{type,{90,22},tuple,[{atom,{90,23},cur},{ann_type,{90,30},[{var,{90,30},'Offset'},{type,{90,40},integer,[]}]}]},{type,{91,8},tuple,[{atom,{91,9},eof},{ann_type,{91,16},[{var,{91,16},'Offset'},{type,{91,26},integer,[]}]}]},{atom,{91,39},bof},{atom,{91,47},cur},{atom,{91,55},eof}]},[]}},{mode,0} => {attribute,{92,2},type,{mode,{type,{92,22},union,[{atom,{92,22},read},{atom,{92,31},write},{atom,{92,41},append},{atom,{93,22},exclusive},{atom,{93,36},raw},{atom,{93,44},binary},{type,{94,8},tuple,[{atom,{94,9},delayed_write},{ann_type,{95,23},[{var,{95,23},'Size'},{type,{95,31},non_neg_integer,[]}]},{ann_type,{96,23},[{var,{96,23},'Delay'},{type,{96,32},non_neg_integer,[]}]}]},{atom,{97,8},delayed_write},{type,{97,26},tuple,[{atom,{97,27},read_ahead},{ann_type,{97,41},[{var,{97,41},'Size'},{type,{97,49},pos_integer,[]}]}]},{atom,{98,8},read_ahead},{atom,{98,23},compressed},{type,{99,8},tuple,[{atom,{99,9},encoding},{remote_type,{99,21},[{atom,{99,21},unicode},{atom,{99,29},encoding},[]]}]},{atom,{100,8},sync}]},[]}},{name,0} => {attribute,{102,2},type,{name,{type,{102,22},union,[{type,{102,22},string,[]},{type,{102,33},atom,[]},{user_type,{102,42},deep_list,[]}]},[]}},{name_all,0} => {attribute,{103,2},type,{name_all,{type,{103,22},union,[{type,{103,22},string,[]},{type,{103,33},atom,[]},{user_type,{103,42},deep_list,[]},{ann_type,{103,57},[{var,{103,57},'RawFilename'},{type,{103,72},binary,[]}]}]},[]}},{posix,0} => {attribute,{104,2},type,{posix,{type,{105,9},union,[{atom,{105,9},eacces},{atom,{105,20},eagain},{atom,{106,9},ebadf},{atom,{106,19},ebadmsg},{atom,{106,31},ebusy},{atom,{107,9},edeadlk},{atom,{107,21},edeadlock},{atom,{107,35},edquot},{atom,{108,9},eexist},{atom,{109,9},efault},{atom,{109,20},efbig},{atom,{109,30},eftype},{atom,{110,9},eintr},{atom,{110,19},einval},{atom,{110,30},eio},{atom,{110,38},eisdir},{atom,{111,9},eloop},{atom,{112,9},emfile},{atom,{112,20},emlink},{atom,{112,31},emultihop},{atom,{113,9},enametoolong},{atom,{113,26},enfile},{atom,{114,9},enobufs},{atom,{114,21},enodev},{atom,{114,32},enolck},{atom,{114,43},enolink},{atom,{114,55},enoent},{atom,{115,9},enomem},{atom,{115,20},enospc},{atom,{115,31},enosr},{atom,{115,41},enostr},{atom,{115,52},enosys},{atom,{116,9},enotblk},{atom,{116,21},enotdir},{atom,{116,33},enotsup},{atom,{116,45},enxio},{atom,{117,9},eopnotsupp},{atom,{117,24},eoverflow},{atom,{118,9},eperm},{atom,{118,19},epipe},{atom,{119,9},erange},{atom,{119,20},erofs},{atom,{120,9},espipe},{atom,{120,21},esrch},{atom,{120,32},estale},{atom,{121,9},etxtbsy},{atom,{122,9},exdev}]},[]}},{posix_file_advise,0} => {attribute,{124,2},type,{posix_file_advise,{type,{124,30},union,[{atom,{124,30},normal},{atom,{124,41},sequential},{atom,{124,56},random},{atom,{125,30},no_reuse},{atom,{125,43},will_need},{atom,{125,57},dont_need}]},[]}},{sendfile_option,0} => {attribute,{127,2},type,{sendfile_option,{type,{127,28},union,[{type,{127,28},tuple,[{atom,{127,29},chunk_size},{type,{127,41},non_neg_integer,[]}]},{type,{128,7},tuple,[{atom,{128,8},use_threads},{type,{128,21},boolean,[]}]}]},[]}}}},[{{function,altname,1},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<97,108,116,110,97,109,101,47,49>>],hidden,#{}},{{function,copy_opened,3},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<99,111,112,121,95,111,112,101,110,101,100,47,51>>],hidden,#{}},{{function,ipread_s32bu_p32bu,3},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<105,112,114,101,97,100,95,115,51,50,98,117,95,112,51,50,98,117,47,51>>],hidden,#{}},{{function,ipread_s32bu_p32bu_int,3},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<105,112,114,101,97,100,95,115,51,50,98,117,95,112,51,50,98,117,95,105,110,116,47,51>>],hidden,#{}},{{function,path_eval,3},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<112,97,116,104,95,101,118,97,108,47,51>>],hidden,#{}},{{function,raw_read_file_info,1},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<114,97,119,95,114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49>>],hidden,#{}},{{function,raw_write_file_info,2},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<114,97,119,95,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>],hidden,#{}},{{function,advise,4},[{file,[102,105,108,101,46,101,114,108]},{location,565}],[<<97,100,118,105,115,101,47,52>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<112,111,115,105,120,95,102,105,108,101,95,97,100,118,105,115,101>>}],[]}]},{p,[],[{code,[],[<<97,100,118,105,115,101,47,52>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,97,110,110,111,117,110,99,101,32,97,110,32,105,110,116,101,110,116,105,111,110,32,116,111,32,97,99,99,101,115,115,32,102,105,108,101,32,100,97,116,97,32,105,110,32,97,32,115,112,101,99,105,102,105,99,32,112,97,116,116,101,114,110,32,105,110,32,116,104,101,32,102,117,116,117,114,101,44,32,116,104,117,115,32,97,108,108,111,119,105,110,103,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,116,111,32,112,101,114,102,111,114,109,32,97,112,112,114,111,112,114,105,97,116,101,32,111,112,116,105,109,105,122,97,116,105,111,110,115,46>>]},{p,[],[<<79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,109,105,103,104,116,32,104,97,118,101,32,110,111,32,101,102,102,101,99,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,56,56>>,signature => [{attribute,{565,2},spec,{{advise,4},[{type,{565,13},bounded_fun,[{type,{565,13},'fun',[{type,{565,13},product,[{var,{565,14},'IoDevice'},{var,{565,24},'Offset'},{var,{565,32},'Length'},{var,{565,40},'Advise'}]},{type,{565,51},union,[{atom,{565,51},ok},{type,{565,56},tuple,[{atom,{565,57},error},{var,{565,64},'Reason'}]}]}]},[{type,{566,7},constraint,[{atom,{566,7},is_subtype},[{var,{566,7},'IoDevice'},{user_type,{566,19},io_device,[]}]]},{type,{567,7},constraint,[{atom,{567,7},is_subtype},[{var,{567,7},'Offset'},{type,{567,17},integer,[]}]]},{type,{568,7},constraint,[{atom,{568,7},is_subtype},[{var,{568,7},'Length'},{type,{568,17},integer,[]}]]},{type,{569,7},constraint,[{atom,{569,7},is_subtype},[{var,{569,7},'Advise'},{user_type,{569,17},posix_file_advise,[]}]]},{type,{570,7},constraint,[{atom,{570,7},is_subtype},[{var,{570,7},'Reason'},{type,{570,17},union,[{user_type,{570,17},posix,[]},{atom,{570,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66>>}},{{function,allocate,3},[{file,[102,105,108,101,46,101,114,108]},{location,579}],[<<97,108,108,111,99,97,116,101,47,51>>],#{<<101,110>> => [{p,[],[{code,[],[<<97,108,108,111,99,97,116,101,47,51>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,112,114,101,97,108,108,111,99,97,116,101,32,115,112,97,99,101,32,102,111,114,32,97,32,102,105,108,101,46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,111,110,108,121,32,115,117,99,99,101,101,100,115,32,105,110,32,112,108,97,116,102,111,114,109,115,32,116,104,97,116,32,112,114,111,118,105,100,101,32,116,104,105,115,32,102,101,97,116,117,114,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,57,57>>,signature => [{attribute,{579,2},spec,{{allocate,3},[{type,{579,15},bounded_fun,[{type,{579,15},'fun',[{type,{579,15},product,[{var,{579,16},'File'},{var,{579,22},'Offset'},{var,{579,30},'Length'}]},{type,{580,2},union,[{atom,{580,2},ok},{type,{580,9},tuple,[{atom,{580,10},error},{user_type,{580,19},posix,[]}]}]}]},[{type,{581,7},constraint,[{atom,{581,7},is_subtype},[{var,{581,7},'File'},{user_type,{581,15},io_device,[]}]]},{type,{582,7},constraint,[{atom,{582,7},is_subtype},[{var,{582,7},'Offset'},{type,{582,17},non_neg_integer,[]}]]},{type,{583,7},constraint,[{atom,{583,7},is_subtype},[{var,{583,7},'Length'},{type,{583,17},non_neg_integer,[]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,change_group,2},[{file,[102,105,108,101,46,101,114,108]},{location,1249}],[<<99,104,97,110,103,101,95,103,114,111,117,112,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,103,114,111,117,112,32,111,102,32,97,32,102,105,108,101,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,48,56>>,signature => [{attribute,{1249,2},spec,{{change_group,2},[{type,{1249,19},bounded_fun,[{type,{1249,19},'fun',[{type,{1249,19},product,[{var,{1249,20},'Filename'},{var,{1249,30},'Gid'}]},{type,{1249,38},union,[{atom,{1249,38},ok},{type,{1249,43},tuple,[{atom,{1249,44},error},{var,{1249,51},'Reason'}]}]}]},[{type,{1250,7},constraint,[{atom,{1250,7},is_subtype},[{var,{1250,7},'Filename'},{user_type,{1250,19},name_all,[]}]]},{type,{1251,7},constraint,[{atom,{1251,7},is_subtype},[{var,{1251,7},'Gid'},{type,{1251,14},integer,[]}]]},{type,{1252,7},constraint,[{atom,{1252,7},is_subtype},[{var,{1252,7},'Reason'},{type,{1252,17},union,[{user_type,{1252,17},posix,[]},{atom,{1252,27},badarg}]}]]}]]}]}}]}},{{function,change_mode,2},[{file,[102,105,108,101,46,101,114,108]},{location,1221}],[<<99,104,97,110,103,101,95,109,111,100,101,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,112,101,114,109,105,115,115,105,111,110,115,32,111,102,32,97,32,102,105,108,101,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,49,54>>,signature => [{attribute,{1221,2},spec,{{change_mode,2},[{type,{1221,18},bounded_fun,[{type,{1221,18},'fun',[{type,{1221,18},product,[{var,{1221,19},'Filename'},{var,{1221,29},'Mode'}]},{type,{1221,38},union,[{atom,{1221,38},ok},{type,{1221,43},tuple,[{atom,{1221,44},error},{var,{1221,51},'Reason'}]}]}]},[{type,{1222,7},constraint,[{atom,{1222,7},is_subtype},[{var,{1222,7},'Filename'},{user_type,{1222,19},name_all,[]}]]},{type,{1223,7},constraint,[{atom,{1223,7},is_subtype},[{var,{1223,7},'Mode'},{type,{1223,15},integer,[]}]]},{type,{1224,7},constraint,[{atom,{1224,7},is_subtype},[{var,{1224,7},'Reason'},{type,{1224,17},union,[{user_type,{1224,17},posix,[]},{atom,{1224,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66>>}},{{function,change_owner,2},[{file,[102,105,108,101,46,101,114,108]},{location,1230}],[<<99,104,97,110,103,101,95,111,119,110,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,111,119,110,101,114,32,111,102,32,97,32,102,105,108,101,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,50,52>>,signature => [{attribute,{1230,2},spec,{{change_owner,2},[{type,{1230,19},bounded_fun,[{type,{1230,19},'fun',[{type,{1230,19},product,[{var,{1230,20},'Filename'},{var,{1230,30},'Uid'}]},{type,{1230,38},union,[{atom,{1230,38},ok},{type,{1230,43},tuple,[{atom,{1230,44},error},{var,{1230,51},'Reason'}]}]}]},[{type,{1231,7},constraint,[{atom,{1231,7},is_subtype},[{var,{1231,7},'Filename'},{user_type,{1231,19},name_all,[]}]]},{type,{1232,7},constraint,[{atom,{1232,7},is_subtype},[{var,{1232,7},'Uid'},{type,{1232,14},integer,[]}]]},{type,{1233,7},constraint,[{atom,{1233,7},is_subtype},[{var,{1233,7},'Reason'},{type,{1233,17},union,[{user_type,{1233,17},posix,[]},{atom,{1233,27},badarg}]}]]}]]}]}}]}},{{function,change_owner,3},[{file,[102,105,108,101,46,101,114,108]},{location,1239}],[<<99,104,97,110,103,101,95,111,119,110,101,114,47,51>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,111,119,110,101,114,32,97,110,100,32,103,114,111,117,112,32,111,102,32,97,32,102,105,108,101,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,51,50>>,signature => [{attribute,{1239,2},spec,{{change_owner,3},[{type,{1239,19},bounded_fun,[{type,{1239,19},'fun',[{type,{1239,19},product,[{var,{1239,20},'Filename'},{var,{1239,30},'Uid'},{var,{1239,35},'Gid'}]},{type,{1239,43},union,[{atom,{1239,43},ok},{type,{1239,48},tuple,[{atom,{1239,49},error},{var,{1239,56},'Reason'}]}]}]},[{type,{1240,7},constraint,[{atom,{1240,7},is_subtype},[{var,{1240,7},'Filename'},{user_type,{1240,19},name_all,[]}]]},{type,{1241,7},constraint,[{atom,{1241,7},is_subtype},[{var,{1241,7},'Uid'},{type,{1241,14},integer,[]}]]},{type,{1242,7},constraint,[{atom,{1242,7},is_subtype},[{var,{1242,7},'Gid'},{type,{1242,14},integer,[]}]]},{type,{1243,7},constraint,[{atom,{1243,7},is_subtype},[{var,{1243,7},'Reason'},{type,{1243,17},union,[{user_type,{1243,17},posix,[]},{atom,{1243,27},badarg}]}]]}]]}]}}]}},{{function,change_time,2},[{file,[102,105,108,101,46,101,114,108]},{location,1258}],[<<99,104,97,110,103,101,95,116,105,109,101,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,116,104,101,32,109,111,100,105,102,105,99,97,116,105,111,110,32,97,110,100,32,97,99,99,101,115,115,32,116,105,109,101,115,32,111,102,32,97,32,102,105,108,101,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,52,48>>,signature => [{attribute,{1258,2},spec,{{change_time,2},[{type,{1258,18},bounded_fun,[{type,{1258,18},'fun',[{type,{1258,18},product,[{var,{1258,19},'Filename'},{var,{1258,29},'Mtime'}]},{type,{1258,39},union,[{atom,{1258,39},ok},{type,{1258,44},tuple,[{atom,{1258,45},error},{var,{1258,52},'Reason'}]}]}]},[{type,{1259,7},constraint,[{atom,{1259,7},is_subtype},[{var,{1259,7},'Filename'},{user_type,{1259,19},name_all,[]}]]},{type,{1260,7},constraint,[{atom,{1260,7},is_subtype},[{var,{1260,7},'Mtime'},{user_type,{1260,16},date_time,[]}]]},{type,{1261,7},constraint,[{atom,{1261,7},is_subtype},[{var,{1261,7},'Reason'},{type,{1261,17},union,[{user_type,{1261,17},posix,[]},{atom,{1261,27},badarg}]}]]}]]}]}}]}},{{function,change_time,3},[{file,[102,105,108,101,46,101,114,108]},{location,1268}],[<<99,104,97,110,103,101,95,116,105,109,101,47,51>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,116,104,101,32,109,111,100,105,102,105,99,97,116,105,111,110,32,97,110,100,32,108,97,115,116,32,97,99,99,101,115,115,32,116,105,109,101,115,32,111,102,32,97,32,102,105,108,101,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,52,56>>,signature => [{attribute,{1268,2},spec,{{change_time,3},[{type,{1268,18},bounded_fun,[{type,{1268,18},'fun',[{type,{1268,18},product,[{var,{1268,19},'Filename'},{var,{1268,29},'Atime'},{var,{1268,36},'Mtime'}]},{type,{1268,46},union,[{atom,{1268,46},ok},{type,{1268,51},tuple,[{atom,{1268,52},error},{var,{1268,59},'Reason'}]}]}]},[{type,{1269,7},constraint,[{atom,{1269,7},is_subtype},[{var,{1269,7},'Filename'},{user_type,{1269,19},name_all,[]}]]},{type,{1270,7},constraint,[{atom,{1270,7},is_subtype},[{var,{1270,7},'Atime'},{user_type,{1270,16},date_time,[]}]]},{type,{1271,7},constraint,[{atom,{1271,7},is_subtype},[{var,{1271,7},'Mtime'},{user_type,{1271,16},date_time,[]}]]},{type,{1272,7},constraint,[{atom,{1272,7},is_subtype},[{var,{1272,7},'Reason'},{type,{1272,17},union,[{user_type,{1272,17},posix,[]},{atom,{1272,27},badarg}]}]]}]]}]}}]}},{{function,close,1},[{file,[102,105,108,101,46,101,114,108]},{location,546}],[<<99,108,111,115,101,47,49>>],#{<<101,110>> => [{p,[],[<<67,108,111,115,101,115,32,116,104,101,32,102,105,108,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<46,32,73,116,32,109,111,115,116,108,121,32,114,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<44,32,101,120,99,101,112,116,32,102,111,114,32,115,111,109,101,32,115,101,118,101,114,101,32,101,114,114,111,114,115,32,115,117,99,104,32,97,115,32,111,117,116,32,111,102,32,109,101,109,111,114,121,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<100,101,108,97,121,101,100,95,119,114,105,116,101>>]},<<32,119,97,115,32,117,115,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,44,32>>,{code,[],[<<99,108,111,115,101,47,49>>]},<<32,99,97,110,32,114,101,116,117,114,110,32,97,110,32,111,108,100,32,119,114,105,116,101,32,101,114,114,111,114,32,97,110,100,32,110,111,116,32,101,118,101,110,32,116,114,121,32,116,111,32,99,108,111,115,101,32,116,104,101,32,102,105,108,101,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,53,54>>,signature => [{attribute,{546,2},spec,{{close,1},[{type,{546,12},bounded_fun,[{type,{546,12},'fun',[{type,{546,12},product,[{var,{546,13},'IoDevice'}]},{type,{546,26},union,[{atom,{546,26},ok},{type,{546,31},tuple,[{atom,{546,32},error},{var,{546,39},'Reason'}]}]}]},[{type,{547,7},constraint,[{atom,{547,7},is_subtype},[{var,{547,7},'IoDevice'},{user_type,{547,19},io_device,[]}]]},{type,{548,7},constraint,[{atom,{548,7},is_subtype},[{var,{548,7},'Reason'},{type,{548,17},union,[{user_type,{548,17},posix,[]},{atom,{548,27},badarg},{atom,{548,36},terminated}]}]]}]]}]}}]}},{{function,consult,1},[{file,[102,105,108,101,46,101,114,108]},{location,1025}],[<<99,111,110,115,117,108,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,97,100,115,32,69,114,108,97,110,103,32,116,101,114,109,115,44,32,115,101,112,97,114,97,116,101,100,32,98,121,32,39,46,39,44,32,102,114,111,109,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<46,32,82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,84,101,114,109,115,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,119,97,115,32,115,117,99,99,101,115,115,102,117,108,108,121,32,114,101,97,100,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,97,116,111,109,40,41,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,114,101,97,100,105,110,103,32,105,116,46,32,70,111,114,32,97,32,108,105,115,116,32,111,102,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,99,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,123,76,105,110,101,44,32,77,111,100,44,32,84,101,114,109,125,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,105,110,116,101,114,112,114,101,116,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,116,101,114,109,115,32,105,110,32,116,104,101,32,102,105,108,101,46,32,84,111,32,99,111,110,118,101,114,116,32,116,104,101,32,116,104,114,101,101,45,101,108,101,109,101,110,116,32,116,117,112,108,101,32,116,111,32,97,110,32,69,110,103,108,105,115,104,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,44,32,117,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,102,111,114,109,97,116,95,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,49>>]}]},<<46>>]}]}]},{p,[],[{em,[],[<<69,120,97,109,112,108,101,58>>]}]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<102,46,116,120,116,58,32,32,123,112,101,114,115,111,110,44,32,34,107,97,108,108,101,34,44,32,50,53,125,46,10,32,32,32,32,32,32,32,32,123,112,101,114,115,111,110,44,32,34,112,101,108,108,101,34,44,32,51,48,125,46>>]}]},{pre,[],[{code,[],[<<49,62,32,102,105,108,101,58,99,111,110,115,117,108,116,40,34,102,46,116,120,116,34,41,46,10,123,111,107,44,91,123,112,101,114,115,111,110,44,34,107,97,108,108,101,34,44,50,53,125,44,123,112,101,114,115,111,110,44,34,112,101,108,108,101,34,44,51,48,125,93,125>>]}]},{p,[],[<<84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,97,32,99,111,109,109,101,110,116,44,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,112,112,35,101,110,99,111,100,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,112,112,40,51,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,54,57>>,signature => [{attribute,{1025,2},spec,{{consult,1},[{type,{1025,14},bounded_fun,[{type,{1025,14},'fun',[{type,{1025,14},product,[{var,{1025,15},'Filename'}]},{type,{1025,28},union,[{type,{1025,28},tuple,[{atom,{1025,29},ok},{var,{1025,33},'Terms'}]},{type,{1025,42},tuple,[{atom,{1025,43},error},{var,{1025,50},'Reason'}]}]}]},[{type,{1026,7},constraint,[{atom,{1026,7},is_subtype},[{var,{1026,7},'Filename'},{user_type,{1026,19},name_all,[]}]]},{type,{1027,7},constraint,[{atom,{1027,7},is_subtype},[{var,{1027,7},'Terms'},{type,{1027,16},list,[{type,{1027,17},term,[]}]}]]},{type,{1028,7},constraint,[{atom,{1028,7},is_subtype},[{var,{1028,7},'Reason'},{type,{1028,17},union,[{user_type,{1028,17},posix,[]},{atom,{1028,27},badarg},{atom,{1028,36},terminated},{atom,{1028,49},system_limit},{type,{1029,17},tuple,[{ann_type,{1029,18},[{var,{1029,18},'Line'},{type,{1029,26},integer,[]}]},{ann_type,{1029,37},[{var,{1029,37},'Mod'},{type,{1029,44},module,[]}]},{ann_type,{1029,54},[{var,{1029,54},'Term'},{type,{1029,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,copy,3},[{file,[102,105,108,101,46,101,114,108]},{location,788}],[<<99,111,112,121,47,51>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,51,48,55>>,equiv => {function,copy,2},signature => [{attribute,{788,2},spec,{{copy,3},[{type,{788,11},bounded_fun,[{type,{788,11},'fun',[{type,{788,11},product,[{var,{788,12},'Source'},{var,{788,20},'Destination'},{var,{788,33},'ByteCount'}]},{type,{789,14},union,[{type,{789,14},tuple,[{atom,{789,15},ok},{var,{789,19},'BytesCopied'}]},{type,{789,34},tuple,[{atom,{789,35},error},{var,{789,42},'Reason'}]}]}]},[{type,{790,7},constraint,[{atom,{790,7},is_subtype},[{var,{790,7},'Source'},{type,{790,17},union,[{user_type,{790,17},io_device,[]},{var,{790,31},'Filename'},{type,{790,42},tuple,[{var,{790,43},'Filename'},{var,{790,53},'Modes'}]}]}]]},{type,{791,7},constraint,[{atom,{791,7},is_subtype},[{var,{791,7},'Destination'},{type,{791,22},union,[{user_type,{791,22},io_device,[]},{var,{791,36},'Filename'},{type,{791,47},tuple,[{var,{791,48},'Filename'},{var,{791,58},'Modes'}]}]}]]},{type,{792,7},constraint,[{atom,{792,7},is_subtype},[{var,{792,7},'Filename'},{user_type,{792,19},name_all,[]}]]},{type,{793,7},constraint,[{atom,{793,7},is_subtype},[{var,{793,7},'Modes'},{type,{793,16},list,[{user_type,{793,17},mode,[]}]}]]},{type,{794,7},constraint,[{atom,{794,7},is_subtype},[{var,{794,7},'ByteCount'},{type,{794,20},union,[{type,{794,20},non_neg_integer,[]},{atom,{794,40},infinity}]}]]},{type,{795,7},constraint,[{atom,{795,7},is_subtype},[{var,{795,7},'BytesCopied'},{type,{795,22},non_neg_integer,[]}]]},{type,{796,7},constraint,[{atom,{796,7},is_subtype},[{var,{796,7},'Reason'},{type,{796,17},union,[{user_type,{796,17},posix,[]},{atom,{796,27},badarg},{atom,{796,36},terminated}]}]]}]]}]}}]}},{{function,copy,2},[{file,[102,105,108,101,46,101,114,108]},{location,777}],[<<99,111,112,121,47,50>>],#{<<101,110>> => [{p,[],[<<67,111,112,105,101,115,32>>,{code,[],[<<66,121,116,101,67,111,117,110,116>>]},<<32,98,121,116,101,115,32,102,114,111,109,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,116,111,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<46,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,97,110,100,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,114,101,102,101,114,32,116,111,32,101,105,116,104,101,114,32,102,105,108,101,110,97,109,101,115,32,111,114,32,73,79,32,100,101,118,105,99,101,115,32,102,114,111,109,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<111,112,101,110,47,50>>]},<<46,32>>,{code,[],[<<66,121,116,101,67,111,117,110,116>>]},<<32,100,101,102,97,117,108,116,115,32,116,111,32>>,{code,[],[<<105,110,102,105,110,105,116,121>>]},<<44,32,100,101,110,111,116,105,110,103,32,97,110,32,105,110,102,105,110,105,116,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,46>>]},{p,[],[<<65,114,103,117,109,101,110,116,32>>,{code,[],[<<77,111,100,101,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,112,111,115,115,105,98,108,101,32,109,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<44,32,97,110,100,32,100,101,102,97,117,108,116,115,32,116,111,32>>,{code,[],[<<91,93>>]},<<46>>]},{p,[],[<<73,102,32,98,111,116,104,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,97,110,100,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,114,101,102,101,114,32,116,111,32,102,105,108,101,110,97,109,101,115,44,32,116,104,101,32,102,105,108,101,115,32,97,114,101,32,111,112,101,110,101,100,32,119,105,116,104,32>>,{code,[],[<<91,114,101,97,100,44,32,98,105,110,97,114,121,93>>]},<<32,97,110,100,32>>,{code,[],[<<91,119,114,105,116,101,44,32,98,105,110,97,114,121,93>>]},<<32,112,114,101,112,101,110,100,101,100,32,116,111,32,116,104,101,105,114,32,109,111,100,101,32,108,105,115,116,115,44,32,114,101,115,112,101,99,116,105,118,101,108,121,44,32,116,111,32,111,112,116,105,109,105,122,101,32,116,104,101,32,99,111,112,121,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,114,101,102,101,114,115,32,116,111,32,97,32,102,105,108,101,110,97,109,101,44,32,105,116,32,105,115,32,111,112,101,110,101,100,32,119,105,116,104,32>>,{code,[],[<<114,101,97,100>>]},<<32,109,111,100,101,32,112,114,101,112,101,110,100,101,100,32,116,111,32,116,104,101,32,109,111,100,101,32,108,105,115,116,32,98,101,102,111,114,101,32,116,104,101,32,99,111,112,121,44,32,97,110,100,32,99,108,111,115,101,100,32,119,104,101,110,32,100,111,110,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,114,101,102,101,114,115,32,116,111,32,97,32,102,105,108,101,110,97,109,101,44,32,105,116,32,105,115,32,111,112,101,110,101,100,32,119,105,116,104,32>>,{code,[],[<<119,114,105,116,101>>]},<<32,109,111,100,101,32,112,114,101,112,101,110,100,101,100,32,116,111,32,116,104,101,32,109,111,100,101,32,108,105,115,116,32,98,101,102,111,114,101,32,116,104,101,32,99,111,112,121,44,32,97,110,100,32,99,108,111,115,101,100,32,119,104,101,110,32,100,111,110,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,66,121,116,101,115,67,111,112,105,101,100,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<66,121,116,101,115,67,111,112,105,101,100>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,116,104,97,116,32,119,97,115,32,99,111,112,105,101,100,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,108,101,115,115,32,116,104,97,110,32>>,{code,[],[<<66,121,116,101,67,111,117,110,116>>]},<<32,105,102,32,101,110,100,32,111,102,32,102,105,108,101,32,119,97,115,32,101,110,99,111,117,110,116,101,114,101,100,32,111,110,32,116,104,101,32,115,111,117,114,99,101,46,32,73,102,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,115,44,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,32,97,115,32,102,111,114,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<32,105,102,32,97,32,102,105,108,101,32,104,97,100,32,116,111,32,98,101,32,111,112,101,110,101,100,44,32,97,110,100,32,97,115,32,102,111,114,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,47,50>>]}]},<<32,97,110,100,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,51,48,55>>,signature => [{attribute,{777,2},spec,{{copy,2},[{type,{777,11},bounded_fun,[{type,{777,11},'fun',[{type,{777,11},product,[{var,{777,12},'Source'},{var,{777,20},'Destination'}]},{type,{777,36},union,[{type,{777,36},tuple,[{atom,{777,37},ok},{var,{777,41},'BytesCopied'}]},{type,{777,56},tuple,[{atom,{777,57},error},{var,{777,64},'Reason'}]}]}]},[{type,{778,7},constraint,[{atom,{778,7},is_subtype},[{var,{778,7},'Source'},{type,{778,17},union,[{user_type,{778,17},io_device,[]},{var,{778,31},'Filename'},{type,{778,42},tuple,[{var,{778,43},'Filename'},{var,{778,53},'Modes'}]}]}]]},{type,{779,7},constraint,[{atom,{779,7},is_subtype},[{var,{779,7},'Destination'},{type,{779,22},union,[{user_type,{779,22},io_device,[]},{var,{779,36},'Filename'},{type,{779,47},tuple,[{var,{779,48},'Filename'},{var,{779,58},'Modes'}]}]}]]},{type,{780,7},constraint,[{atom,{780,7},is_subtype},[{var,{780,7},'Filename'},{user_type,{780,19},name_all,[]}]]},{type,{781,7},constraint,[{atom,{781,7},is_subtype},[{var,{781,7},'Modes'},{type,{781,16},list,[{user_type,{781,17},mode,[]}]}]]},{type,{782,7},constraint,[{atom,{782,7},is_subtype},[{var,{782,7},'BytesCopied'},{type,{782,22},non_neg_integer,[]}]]},{type,{783,7},constraint,[{atom,{783,7},is_subtype},[{var,{783,7},'Reason'},{type,{783,17},union,[{user_type,{783,17},posix,[]},{atom,{783,27},badarg},{atom,{783,36},terminated}]}]]}]]}]}}]}},{{function,datasync,1},[{file,[102,105,108,101,46,101,114,108]},{location,731}],[<<100,97,116,97,115,121,110,99,47,49>>],#{<<101,110>> => [{p,[],[<<69,110,115,117,114,101,115,32,116,104,97,116,32,97,110,121,32,98,117,102,102,101,114,115,32,107,101,112,116,32,98,121,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,40,110,111,116,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,41,32,97,114,101,32,119,114,105,116,116,101,110,32,116,111,32,100,105,115,107,46,32,73,110,32,109,97,110,121,32,119,97,121,115,32,105,116,32,114,101,115,101,109,98,108,101,115,32>>,{code,[],[<<102,115,121,110,99>>]},<<32,98,117,116,32,105,116,32,100,111,101,115,32,110,111,116,32,117,112,100,97,116,101,32,115,111,109,101,32,111,102,32,116,104,101,32,109,101,116,97,100,97,116,97,32,111,102,32,116,104,101,32,102,105,108,101,44,32,115,117,99,104,32,97,115,32,116,104,101,32,97,99,99,101,115,115,32,116,105,109,101,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,104,97,115,32,110,111,32,101,102,102,101,99,116,46>>]},{p,[],[<<65,112,112,108,105,99,97,116,105,111,110,115,32,116,104,97,116,32,97,99,99,101,115,115,32,100,97,116,97,98,97,115,101,115,32,111,114,32,108,111,103,32,102,105,108,101,115,32,111,102,116,101,110,32,119,114,105,116,101,32,97,32,116,105,110,121,32,100,97,116,97,32,102,114,97,103,109,101,110,116,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,111,110,101,32,108,105,110,101,32,105,110,32,97,32,108,111,103,32,102,105,108,101,41,32,97,110,100,32,116,104,101,110,32,99,97,108,108,32>>,{code,[],[<<102,115,121,110,99,40,41>>]},<<32,105,109,109,101,100,105,97,116,101,108,121,32,116,111,32,101,110,115,117,114,101,32,116,104,97,116,32,116,104,101,32,119,114,105,116,116,101,110,32,100,97,116,97,32,105,115,32,112,104,121,115,105,99,97,108,108,121,32,115,116,111,114,101,100,32,111,110,32,116,104,101,32,104,97,114,100,32,100,105,115,107,46,32,85,110,102,111,114,116,117,110,97,116,101,108,121,44,32>>,{code,[],[<<102,115,121,110,99,40,41>>]},<<32,97,108,119,97,121,115,32,105,110,105,116,105,97,116,101,115,32,116,119,111,32,119,114,105,116,101,32,111,112,101,114,97,116,105,111,110,115,58,32,111,110,101,32,102,111,114,32,116,104,101,32,110,101,119,108,121,32,119,114,105,116,116,101,110,32,100,97,116,97,32,97,110,100,32,97,110,111,116,104,101,114,32,111,110,101,32,116,111,32,117,112,100,97,116,101,32,116,104,101,32,109,111,100,105,102,105,99,97,116,105,111,110,32,116,105,109,101,32,115,116,111,114,101,100,32,105,110,32,116,104,101,32>>,{code,[],[<<105,110,111,100,101>>]},<<46,32,73,102,32,116,104,101,32,109,111,100,105,102,105,99,97,116,105,111,110,32,116,105,109,101,32,105,115,32,110,111,116,32,97,32,112,97,114,116,32,111,102,32,116,104,101,32,116,114,97,110,115,97,99,116,105,111,110,32,99,111,110,99,101,112,116,44,32>>,{code,[],[<<102,100,97,116,97,115,121,110,99,40,41>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,97,118,111,105,100,32,117,110,110,101,99,101,115,115,97,114,121,32>>,{code,[],[<<105,110,111,100,101>>]},<<32,100,105,115,107,32,119,114,105,116,101,32,111,112,101,114,97,116,105,111,110,115,46>>]},{p,[],[<<65,118,97,105,108,97,98,108,101,32,111,110,108,121,32,105,110,32,115,111,109,101,32,80,79,83,73,88,32,115,121,115,116,101,109,115,44,32,116,104,105,115,32,99,97,108,108,32,114,101,115,117,108,116,115,32,105,110,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<102,115,121,110,99,40,41>>]},<<44,32,111,114,32,104,97,115,32,110,111,32,101,102,102,101,99,116,32,105,110,32,115,121,115,116,101,109,115,32,110,111,116,32,112,114,111,118,105,100,105,110,103,32,116,104,101,32>>,{code,[],[<<102,100,97,116,97,115,121,110,99,40,41>>]},<<32,115,121,115,99,97,108,108,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,51,52,53>>,signature => [{attribute,{731,2},spec,{{datasync,1},[{type,{731,15},bounded_fun,[{type,{731,15},'fun',[{type,{731,15},product,[{var,{731,16},'IoDevice'}]},{type,{731,29},union,[{atom,{731,29},ok},{type,{731,34},tuple,[{atom,{731,35},error},{var,{731,42},'Reason'}]}]}]},[{type,{732,7},constraint,[{atom,{732,7},is_subtype},[{var,{732,7},'IoDevice'},{user_type,{732,19},io_device,[]}]]},{type,{733,7},constraint,[{atom,{733,7},is_subtype},[{var,{733,7},'Reason'},{type,{733,17},union,[{user_type,{733,17},posix,[]},{atom,{733,27},badarg},{atom,{733,36},terminated}]}]]}]]}]}}],since => <<79,84,80,32,82,49,52,66>>}},{{function,del_dir,1},[{file,[102,105,108,101,46,101,114,108]},{location,256}],[<<100,101,108,95,100,105,114,47,49>>],#{<<101,110>> => [{p,[],[<<84,114,105,101,115,32,116,111,32,100,101,108,101,116,101,32,100,105,114,101,99,116,111,114,121,32>>,{code,[],[<<68,105,114>>]},<<46,32,84,104,101,32,100,105,114,101,99,116,111,114,121,32,109,117,115,116,32,98,101,32,101,109,112,116,121,32,98,101,102,111,114,101,32,105,116,32,99,97,110,32,98,101,32,100,101,108,101,116,101,100,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,115,101,97,114,99,104,32,111,114,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32>>,{code,[],[<<68,105,114>>]},<<46>>]}]},{dt,[],[{code,[],[<<101,101,120,105,115,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,100,105,114,101,99,116,111,114,121,32,105,115,32,110,111,116,32,101,109,112,116,121,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,100,105,114,101,99,116,111,114,121,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32>>,{code,[],[<<68,105,114>>]},<<32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]},{dt,[],[{code,[],[<<101,105,110,118,97,108>>]}]},{dd,[],[{p,[],[<<65,116,116,101,109,112,116,32,116,111,32,100,101,108,101,116,101,32,116,104,101,32,99,117,114,114,101,110,116,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,97,99,99,101,115>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,51,54,56>>,signature => [{attribute,{256,2},spec,{{del_dir,1},[{type,{256,14},bounded_fun,[{type,{256,14},'fun',[{type,{256,14},product,[{var,{256,15},'Dir'}]},{type,{256,23},union,[{atom,{256,23},ok},{type,{256,28},tuple,[{atom,{256,29},error},{var,{256,36},'Reason'}]}]}]},[{type,{257,7},constraint,[{atom,{257,7},is_subtype},[{var,{257,7},'Dir'},{user_type,{257,14},name_all,[]}]]},{type,{258,7},constraint,[{atom,{258,7},is_subtype},[{var,{258,7},'Reason'},{type,{258,17},union,[{user_type,{258,17},posix,[]},{atom,{258,27},badarg}]}]]}]]}]}}]}},{{function,del_dir_r,1},[{file,[102,105,108,101,46,101,114,108]},{location,263}],[<<100,101,108,95,100,105,114,95,114,47,49>>],#{<<101,110>> => [{p,[],[<<68,101,108,101,116,101,115,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,32>>,{code,[],[<<70,105,108,101>>]},<<46,32,73,102,32>>,{code,[],[<<70,105,108,101>>]},<<32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,44,32,105,116,115,32,99,111,110,116,101,110,116,115,32,105,115,32,102,105,114,115,116,32,114,101,99,117,114,115,105,118,101,108,121,32,100,101,108,101,116,101,100,46,32,82,101,116,117,114,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<111,107>>]}]},{dd,[],[{p,[],[<<84,104,101,32,111,112,101,114,97,116,105,111,110,32,99,111,109,112,108,101,116,101,100,32,119,105,116,104,111,117,116,32,101,114,114,111,114,115,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,112,111,115,105,120,40,41,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,97,99,99,101,115,115,105,110,103,32,111,114,32,100,101,108,101,116,105,110,103,32>>,{code,[],[<<70,105,108,101>>]},<<46,32,73,102,32,115,111,109,101,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,32,117,110,100,101,114,32>>,{code,[],[<<70,105,108,101>>]},<<32,99,111,117,108,100,32,110,111,116,32,98,101,32,100,101,108,101,116,101,100,44,32>>,{code,[],[<<70,105,108,101>>]},<<32,99,97,110,110,111,116,32,98,101,32,100,101,108,101,116,101,100,32,97,115,32,105,116,32,105,115,32,110,111,110,45,101,109,112,116,121,44,32,97,110,100,32>>,{code,[],[<<123,101,114,114,111,114,44,32,101,101,120,105,115,116,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,52,48,52>>,signature => [{attribute,{263,2},spec,{{del_dir_r,1},[{type,{263,16},bounded_fun,[{type,{263,16},'fun',[{type,{263,16},product,[{var,{263,17},'File'}]},{type,{263,26},union,[{atom,{263,26},ok},{type,{263,31},tuple,[{atom,{263,32},error},{var,{263,39},'Reason'}]}]}]},[{type,{264,7},constraint,[{atom,{264,7},is_subtype},[{var,{264,7},'File'},{user_type,{264,15},name_all,[]}]]},{type,{265,7},constraint,[{atom,{265,7},is_subtype},[{var,{265,7},'Reason'},{type,{265,17},union,[{user_type,{265,17},posix,[]},{atom,{265,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,50,51,46,48>>}},{{function,delete,2},[{file,[102,105,108,101,46,101,114,108]},{location,221}],[<<100,101,108,101,116,101,47,50>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,52,50,54>>,equiv => {function,delete,1},signature => [{attribute,{221,2},spec,{{delete,2},[{type,{221,13},bounded_fun,[{type,{221,13},'fun',[{type,{221,13},product,[{var,{221,14},'Filename'},{var,{221,24},'Opts'}]},{type,{221,33},union,[{atom,{221,33},ok},{type,{221,38},tuple,[{atom,{221,39},error},{var,{221,46},'Reason'}]}]}]},[{type,{222,7},constraint,[{atom,{222,7},is_subtype},[{var,{222,7},'Filename'},{user_type,{222,19},name_all,[]}]]},{type,{223,7},constraint,[{atom,{223,7},is_subtype},[{var,{223,7},'Opts'},{type,{223,15},list,[{user_type,{223,16},delete_option,[]}]}]]},{type,{224,7},constraint,[{atom,{224,7},is_subtype},[{var,{224,7},'Reason'},{type,{224,17},union,[{user_type,{224,17},posix,[]},{atom,{224,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,48>>}},{{function,delete,1},[{file,[102,105,108,101,46,101,114,108]},{location,214}],[<<100,101,108,101,116,101,47,49>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<100,101,108,101,116,101,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<84,114,105,101,115,32,116,111,32,100,101,108,101,116,101,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,46>>]},{p,[],[<<73,102,32,116,104,101,32,111,112,116,105,111,110,32>>,{code,[],[<<114,97,119>>]},<<32,105,115,32,115,101,116,44,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,105,115,32,110,111,116,32,99,97,108,108,101,100,46,32,84,104,105,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,32,105,110,32,112,97,114,116,105,99,117,108,97,114,32,100,117,114,105,110,103,32,116,104,101,32,101,97,114,108,121,32,98,111,111,116,32,115,116,97,103,101,32,119,104,101,110,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,105,115,32,110,111,116,32,121,101,116,32,114,101,103,105,115,116,101,114,101,100,44,32,116,111,32,115,116,105,108,108,32,98,101,32,97,98,108,101,32,116,111,32,100,101,108,101,116,101,32,108,111,99,97,108,32,102,105,108,101,115,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,116,104,101,32,102,105,108,101,32,111,114,32,111,110,101,32,111,102,32,105,116,115,32,112,97,114,101,110,116,115,46>>]}]},{dt,[],[{code,[],[<<101,112,101,114,109>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,32,97,110,100,32,116,104,101,32,117,115,101,114,32,105,115,32,110,111,116,32,115,117,112,101,114,117,115,101,114,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]},{dt,[],[{code,[],[<<101,105,110,118,97,108>>]}]},{dd,[],[{p,[],[{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,104,97,115,32,97,110,32,105,109,112,114,111,112,101,114,32,116,121,112,101,44,32,115,117,99,104,32,97,115,32,116,117,112,108,101,46>>]}]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<73,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,44,32,97,32,98,97,100,32,116,121,112,101,32,102,111,114,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,119,105,108,108,32,112,114,111,98,97,98,108,121,32,103,101,110,101,114,97,116,101,32,97,110,32,101,120,99,101,112,116,105,111,110,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,52,50,54>>,signature => [{attribute,{214,2},spec,{{delete,1},[{type,{214,13},bounded_fun,[{type,{214,13},'fun',[{type,{214,13},product,[{var,{214,14},'Filename'}]},{type,{214,27},union,[{atom,{214,27},ok},{type,{214,32},tuple,[{atom,{214,33},error},{var,{214,40},'Reason'}]}]}]},[{type,{215,7},constraint,[{atom,{215,7},is_subtype},[{var,{215,7},'Filename'},{user_type,{215,19},name_all,[]}]]},{type,{216,7},constraint,[{atom,{216,7},is_subtype},[{var,{216,7},'Reason'},{type,{216,17},union,[{user_type,{216,17},posix,[]},{atom,{216,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,50,52,46,48>>}},{{function,eval,1},[{file,[102,105,108,101,46,101,114,108]},{location,1065}],[<<101,118,97,108,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,97,100,115,32,97,110,100,32,101,118,97,108,117,97,116,101,115,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,44,32,115,101,112,97,114,97,116,101,100,32,98,121,32,39,46,39,32,40,111,114,32,39,44,39,44,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,101,120,112,114,101,115,115,105,111,110,115,32,105,115,32,97,108,115,111,32,97,110,32,101,120,112,114,101,115,115,105,111,110,41,32,102,114,111,109,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<46,32,84,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,101,118,97,108,117,97,116,105,111,110,32,105,115,32,110,111,116,32,114,101,116,117,114,110,101,100,59,32,97,110,121,32,101,120,112,114,101,115,115,105,111,110,32,115,101,113,117,101,110,99,101,32,105,110,32,116,104,101,32,102,105,108,101,32,109,117,115,116,32,98,101,32,116,104,101,114,101,32,102,111,114,32,105,116,115,32,115,105,100,101,32,101,102,102,101,99,116,46,32,82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<111,107>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,119,97,115,32,114,101,97,100,32,97,110,100,32,101,118,97,108,117,97,116,101,100,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,97,116,111,109,40,41,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,114,101,97,100,105,110,103,32,105,116,46,32,70,111,114,32,97,32,108,105,115,116,32,111,102,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,99,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,123,76,105,110,101,44,32,77,111,100,44,32,84,101,114,109,125,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,105,110,116,101,114,112,114,101,116,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,116,104,101,32,102,105,108,101,46,32,84,111,32,99,111,110,118,101,114,116,32,116,104,101,32,116,104,114,101,101,45,101,108,101,109,101,110,116,32,116,117,112,108,101,32,116,111,32,97,110,32,69,110,103,108,105,115,104,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,44,32,117,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,102,111,114,109,97,116,95,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,49>>]}]},<<46>>]}]}]},{p,[],[<<84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,97,32,99,111,109,109,101,110,116,44,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,112,112,35,101,110,99,111,100,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,112,112,40,51,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,52,54,57>>,signature => [{attribute,{1065,2},spec,{{eval,1},[{type,{1065,11},bounded_fun,[{type,{1065,11},'fun',[{type,{1065,11},product,[{var,{1065,12},'Filename'}]},{type,{1065,25},union,[{atom,{1065,25},ok},{type,{1065,30},tuple,[{atom,{1065,31},error},{var,{1065,38},'Reason'}]}]}]},[{type,{1066,7},constraint,[{atom,{1066,7},is_subtype},[{var,{1066,7},'Filename'},{user_type,{1066,19},name_all,[]}]]},{type,{1067,7},constraint,[{atom,{1067,7},is_subtype},[{var,{1067,7},'Reason'},{type,{1067,17},union,[{user_type,{1067,17},posix,[]},{atom,{1067,27},badarg},{atom,{1067,36},terminated},{atom,{1067,49},system_limit},{type,{1068,17},tuple,[{ann_type,{1068,18},[{var,{1068,18},'Line'},{type,{1068,26},integer,[]}]},{ann_type,{1068,37},[{var,{1068,37},'Mod'},{type,{1068,44},module,[]}]},{ann_type,{1068,54},[{var,{1068,54},'Term'},{type,{1068,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,eval,2},[{file,[102,105,108,101,46,101,114,108]},{location,1073}],[<<101,118,97,108,47,50>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<101,118,97,108,47,49>>]},<<44,32,98,117,116,32,116,104,101,32,118,97,114,105,97,98,108,101,32,98,105,110,100,105,110,103,115,32>>,{code,[],[<<66,105,110,100,105,110,103,115>>]},<<32,97,114,101,32,117,115,101,100,32,105,110,32,116,104,101,32,101,118,97,108,117,97,116,105,111,110,46,32,70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,118,97,114,105,97,98,108,101,32,98,105,110,100,105,110,103,115,44,32,115,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,114,108,95,101,118,97,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,95,101,118,97,108,40,51,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,53,48,51>>,signature => [{attribute,{1073,2},spec,{{eval,2},[{type,{1073,11},bounded_fun,[{type,{1073,11},'fun',[{type,{1073,11},product,[{var,{1073,12},'Filename'},{var,{1073,22},'Bindings'}]},{type,{1073,35},union,[{atom,{1073,35},ok},{type,{1073,40},tuple,[{atom,{1073,41},error},{var,{1073,48},'Reason'}]}]}]},[{type,{1074,7},constraint,[{atom,{1074,7},is_subtype},[{var,{1074,7},'Filename'},{user_type,{1074,19},name_all,[]}]]},{type,{1075,7},constraint,[{atom,{1075,7},is_subtype},[{var,{1075,7},'Bindings'},{remote_type,{1075,19},[{atom,{1075,19},erl_eval},{atom,{1075,28},binding_struct},[]]}]]},{type,{1076,7},constraint,[{atom,{1076,7},is_subtype},[{var,{1076,7},'Reason'},{type,{1076,17},union,[{user_type,{1076,17},posix,[]},{atom,{1076,27},badarg},{atom,{1076,36},terminated},{atom,{1076,49},system_limit},{type,{1077,17},tuple,[{ann_type,{1077,18},[{var,{1077,18},'Line'},{type,{1077,26},integer,[]}]},{ann_type,{1077,37},[{var,{1077,37},'Mod'},{type,{1077,44},module,[]}]},{ann_type,{1077,54},[{var,{1077,54},'Term'},{type,{1077,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,format_error,1},[{file,[102,105,108,101,46,101,114,108]},{location,146}],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,49>>],#{<<101,110>> => [{p,[],[<<71,105,118,101,110,32,116,104,101,32,101,114,114,111,114,32,114,101,97,115,111,110,32,114,101,116,117,114,110,101,100,32,98,121,32,97,110,121,32,102,117,110,99,116,105,111,110,32,105,110,32,116,104,105,115,32,109,111,100,117,108,101,44,32,114,101,116,117,114,110,115,32,97,32,100,101,115,99,114,105,112,116,105,118,101,32,115,116,114,105,110,103,32,111,102,32,116,104,101,32,101,114,114,111,114,32,105,110,32,69,110,103,108,105,115,104,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,53,49,51>>,signature => [{attribute,{146,2},spec,{{format_error,1},[{type,{146,19},bounded_fun,[{type,{146,19},'fun',[{type,{146,19},product,[{var,{146,20},'Reason'}]},{var,{146,31},'Chars'}]},[{type,{147,7},constraint,[{atom,{147,7},is_subtype},[{var,{147,7},'Reason'},{type,{147,17},union,[{user_type,{147,17},posix,[]},{atom,{147,27},badarg},{atom,{147,36},terminated},{atom,{147,49},system_limit},{type,{148,17},tuple,[{ann_type,{148,18},[{var,{148,18},'Line'},{type,{148,26},integer,[]}]},{ann_type,{148,37},[{var,{148,37},'Mod'},{type,{148,44},module,[]}]},{ann_type,{148,54},[{var,{148,54},'Term'},{type,{148,62},term,[]}]}]}]}]]},{type,{149,7},constraint,[{atom,{149,7},is_subtype},[{var,{149,7},'Chars'},{type,{149,16},string,[]}]]}]]}]}}]}},{{function,get_cwd,0},[{file,[102,105,108,101,46,101,114,108]},{location,191}],[<<103,101,116,95,99,119,100,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,68,105,114,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<68,105,114>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,119,111,114,107,105,110,103,32,100,105,114,101,99,116,111,114,121,32,111,102,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,110,32,114,97,114,101,32,99,105,114,99,117,109,115,116,97,110,99,101,115,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,99,97,110,32,102,97,105,108,32,111,110,32,85,110,105,120,46,32,73,116,32,99,97,110,32,111,99,99,117,114,32,105,102,32,114,101,97,100,32,112,101,114,109,105,115,115,105,111,110,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,32,102,111,114,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,100,105,114,101,99,116,111,114,121,46>>]}]},{p,[],[<<65,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,114,101,97,100,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,111,110,101,32,111,102,32,116,104,101,32,112,97,114,101,110,116,115,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,100,105,114,101,99,116,111,114,121,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,53,50,49>>,signature => [{attribute,{191,2},spec,{{get_cwd,0},[{type,{191,14},bounded_fun,[{type,{191,14},'fun',[{type,{191,14},product,[]},{type,{191,20},union,[{type,{191,20},tuple,[{atom,{191,21},ok},{var,{191,25},'Dir'}]},{type,{191,32},tuple,[{atom,{191,33},error},{var,{191,40},'Reason'}]}]}]},[{type,{192,7},constraint,[{atom,{192,7},is_subtype},[{var,{192,7},'Dir'},{user_type,{192,14},filename,[]}]]},{type,{193,7},constraint,[{atom,{193,7},is_subtype},[{var,{193,7},'Reason'},{user_type,{193,17},posix,[]}]]}]]}]}}]}},{{function,get_cwd,1},[{file,[102,105,108,101,46,101,114,108]},{location,198}],[<<103,101,116,95,99,119,100,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,68,105,114,125>>]},<<32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<68,105,114>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,119,111,114,107,105,110,103,32,100,105,114,101,99,116,111,114,121,32,111,102,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,100,114,105,118,101,46>>]},{p,[],[{code,[],[<<68,114,105,118,101>>]},<<32,105,115,32,116,111,32,98,101,32,111,102,32,116,104,101,32,102,111,114,109,32,34>>,{code,[],[<<76,101,116,116,101,114>>]},{code,[],[<<58>>]},<<34,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,34,99,58,34,46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,116,115,117,112,125>>]},<<32,111,110,32,112,108,97,116,102,111,114,109,115,32,116,104,97,116,32,104,97,118,101,32,110,111,32,99,111,110,99,101,112,116,32,111,102,32,99,117,114,114,101,110,116,32,100,114,105,118,101,32,40,85,110,105,120,44,32,102,111,114,32,101,120,97,109,112,108,101,41,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,110,111,116,115,117,112>>]}]},{dd,[],[{p,[],[<<84,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,104,97,115,32,110,111,32,99,111,110,99,101,112,116,32,111,102,32,100,114,105,118,101,115,46>>]}]},{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<84,104,101,32,100,114,105,118,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,105,110,118,97,108>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,111,114,109,97,116,32,111,102,32>>,{code,[],[<<68,114,105,118,101>>]},<<32,105,115,32,105,110,118,97,108,105,100,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,53,52,51>>,signature => [{attribute,{198,2},spec,{{get_cwd,1},[{type,{198,14},bounded_fun,[{type,{198,14},'fun',[{type,{198,14},product,[{var,{198,15},'Drive'}]},{type,{198,25},union,[{type,{198,25},tuple,[{atom,{198,26},ok},{var,{198,30},'Dir'}]},{type,{198,37},tuple,[{atom,{198,38},error},{var,{198,45},'Reason'}]}]}]},[{type,{199,7},constraint,[{atom,{199,7},is_subtype},[{var,{199,7},'Drive'},{type,{199,16},string,[]}]]},{type,{200,7},constraint,[{atom,{200,7},is_subtype},[{var,{200,7},'Dir'},{user_type,{200,14},filename,[]}]]},{type,{201,7},constraint,[{atom,{201,7},is_subtype},[{var,{201,7},'Reason'},{type,{201,17},union,[{user_type,{201,17},posix,[]},{atom,{201,27},badarg}]}]]}]]}]}}]}},{{function,list_dir,1},[{file,[102,105,108,101,46,101,114,108]},{location,401}],[<<108,105,115,116,95,100,105,114,47,49>>],#{<<101,110>> => [{p,[],[<<76,105,115,116,115,32,97,108,108,32,102,105,108,101,115,32,105,110,32,97,32,100,105,114,101,99,116,111,114,121,44,32>>,{em,[],[<<101,120,99,101,112,116>>]},<<32,102,105,108,101,115,32,119,105,116,104,32,114,97,119,32,102,105,108,101,110,97,109,101,115,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,70,105,108,101,110,97,109,101,115,125>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32>>,{code,[],[<<70,105,108,101,110,97,109,101,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,104,101,32,110,97,109,101,115,32,111,102,32,97,108,108,32,116,104,101,32,102,105,108,101,115,32,105,110,32,116,104,101,32,100,105,114,101,99,116,111,114,121,46,32,84,104,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,115,111,114,116,101,100,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,115,101,97,114,99,104,32,111,114,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32>>,{code,[],[<<68,105,114>>]},<<32,111,114,32,111,110,101,32,111,102,32,105,116,115,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,100,105,114,101,99,116,111,114,121,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<123,110,111,95,116,114,97,110,115,108,97,116,105,111,110,44,32,70,105,108,101,110,97,109,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,97,32>>,{code,[],[<<98,105,110,97,114,121,40,41>>]},<<32,119,105,116,104,32,99,104,97,114,97,99,116,101,114,115,32,99,111,100,101,100,32,105,110,32,73,83,79,32,76,97,116,105,110,45,49,32,97,110,100,32,116,104,101,32,86,77,32,119,97,115,32,115,116,97,114,116,101,100,32,119,105,116,104,32,112,97,114,97,109,101,116,101,114,32>>,{code,[],[<<43,102,110,117,101>>]},<<46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,53,55,52>>,signature => [{attribute,{401,2},spec,{{list_dir,1},[{type,{401,15},bounded_fun,[{type,{401,15},'fun',[{type,{401,15},product,[{var,{401,16},'Dir'}]},{type,{401,24},union,[{type,{401,24},tuple,[{atom,{401,25},ok},{var,{401,29},'Filenames'}]},{type,{401,42},tuple,[{atom,{401,43},error},{var,{401,50},'Reason'}]}]}]},[{type,{402,7},constraint,[{atom,{402,7},is_subtype},[{var,{402,7},'Dir'},{user_type,{402,14},name_all,[]}]]},{type,{403,7},constraint,[{atom,{403,7},is_subtype},[{var,{403,7},'Filenames'},{type,{403,20},list,[{user_type,{403,21},filename,[]}]}]]},{type,{404,7},constraint,[{atom,{404,7},is_subtype},[{var,{404,7},'Reason'},{type,{404,17},union,[{user_type,{404,17},posix,[]},{atom,{405,17},badarg},{type,{406,17},tuple,[{atom,{406,18},no_translation},{ann_type,{406,34},[{var,{406,34},'Filename'},{remote_type,{406,46},[{atom,{406,46},unicode},{atom,{406,54},latin1_binary},[]]}]}]}]}]]}]]}]}}]}},{{function,list_dir_all,1},[{file,[102,105,108,101,46,101,114,108]},{location,411}],[<<108,105,115,116,95,100,105,114,95,97,108,108,47,49>>],#{<<101,110>> => [{p,[],[{a,[{id,<<108,105,115,116,95,100,105,114,95,97,108,108>>}],[]},<<76,105,115,116,115,32,97,108,108,32,116,104,101,32,102,105,108,101,115,32,105,110,32,97,32,100,105,114,101,99,116,111,114,121,44,32,105,110,99,108,117,100,105,110,103,32,102,105,108,101,115,32,119,105,116,104,32,114,97,119,32,102,105,108,101,110,97,109,101,115,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,70,105,108,101,110,97,109,101,115,125>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32>>,{code,[],[<<70,105,108,101,110,97,109,101,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,104,101,32,110,97,109,101,115,32,111,102,32,97,108,108,32,116,104,101,32,102,105,108,101,115,32,105,110,32,116,104,101,32,100,105,114,101,99,116,111,114,121,46,32,84,104,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,115,111,114,116,101,100,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,115,101,97,114,99,104,32,111,114,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32>>,{code,[],[<<68,105,114>>]},<<32,111,114,32,111,110,101,32,111,102,32,105,116,115,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,100,105,114,101,99,116,111,114,121,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,54,48,53>>,signature => [{attribute,{411,2},spec,{{list_dir_all,1},[{type,{411,19},bounded_fun,[{type,{411,19},'fun',[{type,{411,19},product,[{var,{411,20},'Dir'}]},{type,{411,28},union,[{type,{411,28},tuple,[{atom,{411,29},ok},{var,{411,33},'Filenames'}]},{type,{411,46},tuple,[{atom,{411,47},error},{var,{411,54},'Reason'}]}]}]},[{type,{412,7},constraint,[{atom,{412,7},is_subtype},[{var,{412,7},'Dir'},{user_type,{412,14},name_all,[]}]]},{type,{413,7},constraint,[{atom,{413,7},is_subtype},[{var,{413,7},'Filenames'},{type,{413,20},list,[{user_type,{413,21},filename_all,[]}]}]]},{type,{414,7},constraint,[{atom,{414,7},is_subtype},[{var,{414,7},'Reason'},{type,{414,17},union,[{user_type,{414,17},posix,[]},{atom,{414,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,make_dir,1},[{file,[102,105,108,101,46,101,114,108]},{location,249}],[<<109,97,107,101,95,100,105,114,47,49>>],#{<<101,110>> => [{p,[],[<<84,114,105,101,115,32,116,111,32,99,114,101,97,116,101,32,100,105,114,101,99,116,111,114,121,32>>,{code,[],[<<68,105,114>>]},<<46,32,77,105,115,115,105,110,103,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,97,114,101,32>>,{em,[],[<<110,111,116>>]},<<32,99,114,101,97,116,101,100,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,115,101,97,114,99,104,32,111,114,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32>>,{code,[],[<<68,105,114>>]},<<46>>]}]},{dt,[],[{code,[],[<<101,101,120,105,115,116>>]}]},{dd,[],[{p,[],[<<65,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,100,32>>,{code,[],[<<68,105,114>>]},<<32,101,120,105,115,116,115,32,97,108,114,101,97,100,121,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32>>,{code,[],[<<68,105,114>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,115,112,99>>]}]},{dd,[],[{p,[],[<<78,111,32,115,112,97,99,101,32,105,115,32,108,101,102,116,32,111,110,32,116,104,101,32,100,101,118,105,99,101,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32>>,{code,[],[<<68,105,114>>]},<<32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,54,51,48>>,signature => [{attribute,{249,2},spec,{{make_dir,1},[{type,{249,15},bounded_fun,[{type,{249,15},'fun',[{type,{249,15},product,[{var,{249,16},'Dir'}]},{type,{249,24},union,[{atom,{249,24},ok},{type,{249,29},tuple,[{atom,{249,30},error},{var,{249,37},'Reason'}]}]}]},[{type,{250,7},constraint,[{atom,{250,7},is_subtype},[{var,{250,7},'Dir'},{user_type,{250,14},name_all,[]}]]},{type,{251,7},constraint,[{atom,{251,7},is_subtype},[{var,{251,7},'Reason'},{type,{251,17},union,[{user_type,{251,17},posix,[]},{atom,{251,27},badarg}]}]]}]]}]}}]}},{{function,make_link,2},[{file,[102,105,108,101,46,101,114,108]},{location,427}],[<<109,97,107,101,95,108,105,110,107,47,50>>],#{<<101,110>> => [{p,[],[<<77,97,107,101,115,32,97,32,104,97,114,100,32,108,105,110,107,32,102,114,111,109,32>>,{code,[],[<<69,120,105,115,116,105,110,103>>]},<<32,116,111,32>>,{code,[],[<<78,101,119>>]},<<32,111,110,32,112,108,97,116,102,111,114,109,115,32,115,117,112,112,111,114,116,105,110,103,32,108,105,110,107,115,32,40,85,110,105,120,32,97,110,100,32,87,105,110,100,111,119,115,41,46,32,84,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,116,104,101,32,108,105,110,107,32,119,97,115,32,115,117,99,99,101,115,115,102,117,108,108,121,32,99,114,101,97,116,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32,79,110,32,112,108,97,116,102,111,114,109,115,32,110,111,116,32,115,117,112,112,111,114,116,105,110,103,32,108,105,110,107,115,44,32>>,{code,[],[<<123,101,114,114,111,114,44,101,110,111,116,115,117,112,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,114,101,97,100,32,111,114,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32>>,{code,[],[<<69,120,105,115,116,105,110,103>>]},<<32,111,114,32>>,{code,[],[<<78,101,119>>]},<<46>>]}]},{dt,[],[{code,[],[<<101,101,120,105,115,116>>]}]},{dd,[],[{p,[],[{code,[],[<<78,101,119>>]},<<32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,115,117,112>>]}]},{dd,[],[{p,[],[<<72,97,114,100,32,108,105,110,107,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,111,110,32,116,104,105,115,32,112,108,97,116,102,111,114,109,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,54,54,52>>,signature => [{attribute,{427,2},spec,{{make_link,2},[{type,{427,16},bounded_fun,[{type,{427,16},'fun',[{type,{427,16},product,[{var,{427,17},'Existing'},{var,{427,27},'New'}]},{type,{427,35},union,[{atom,{427,35},ok},{type,{427,40},tuple,[{atom,{427,41},error},{var,{427,48},'Reason'}]}]}]},[{type,{428,7},constraint,[{atom,{428,7},is_subtype},[{var,{428,7},'Existing'},{user_type,{428,19},name_all,[]}]]},{type,{429,7},constraint,[{atom,{429,7},is_subtype},[{var,{429,7},'New'},{user_type,{429,14},name_all,[]}]]},{type,{430,7},constraint,[{atom,{430,7},is_subtype},[{var,{430,7},'Reason'},{type,{430,17},union,[{user_type,{430,17},posix,[]},{atom,{430,27},badarg}]}]]}]]}]}}]}},{{function,make_symlink,2},[{file,[102,105,108,101,46,101,114,108]},{location,435}],[<<109,97,107,101,95,115,121,109,108,105,110,107,47,50>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,32>>,{code,[],[<<78,101,119>>]},<<32,116,111,32,116,104,101,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,32>>,{code,[],[<<69,120,105,115,116,105,110,103>>]},<<32,111,110,32,112,108,97,116,102,111,114,109,115,32,115,117,112,112,111,114,116,105,110,103,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115,32,40,109,111,115,116,32,85,110,105,120,32,115,121,115,116,101,109,115,32,97,110,100,32,87,105,110,100,111,119,115,44,32,98,101,103,105,110,110,105,110,103,32,119,105,116,104,32,86,105,115,116,97,41,46,32>>,{code,[],[<<69,120,105,115,116,105,110,103>>]},<<32,100,111,101,115,32,110,111,116,32,110,101,101,100,32,116,111,32,101,120,105,115,116,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,116,104,101,32,108,105,110,107,32,105,115,32,115,117,99,99,101,115,115,102,117,108,108,121,32,99,114,101,97,116,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32,79,110,32,112,108,97,116,102,111,114,109,115,32,110,111,116,32,115,117,112,112,111,114,116,105,110,103,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115,44,32>>,{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,116,115,117,112,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,114,101,97,100,32,111,114,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32>>,{code,[],[<<69,120,105,115,116,105,110,103>>]},<<32,111,114,32>>,{code,[],[<<78,101,119>>]},<<46>>]}]},{dt,[],[{code,[],[<<101,101,120,105,115,116>>]}]},{dd,[],[{p,[],[{code,[],[<<78,101,119>>]},<<32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,115,117,112>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,108,105,110,107,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,111,110,32,116,104,105,115,32,112,108,97,116,102,111,114,109,46>>]}]},{dt,[],[{code,[],[<<101,112,101,114,109>>]}]},{dd,[],[{p,[],[<<85,115,101,114,32,100,111,101,115,32,110,111,116,32,104,97,118,101,32,112,114,105,118,105,108,101,103,101,115,32,116,111,32,99,114,101,97,116,101,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115,32,40>>,{code,[],[<<83,101,67,114,101,97,116,101,83,121,109,98,111,108,105,99,76,105,110,107,80,114,105,118,105,108,101,103,101>>]},<<32,111,110,32,87,105,110,100,111,119,115,41,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,54,57,51>>,signature => [{attribute,{435,2},spec,{{make_symlink,2},[{type,{435,19},bounded_fun,[{type,{435,19},'fun',[{type,{435,19},product,[{var,{435,20},'Existing'},{var,{435,30},'New'}]},{type,{435,38},union,[{atom,{435,38},ok},{type,{435,43},tuple,[{atom,{435,44},error},{var,{435,51},'Reason'}]}]}]},[{type,{436,7},constraint,[{atom,{436,7},is_subtype},[{var,{436,7},'Existing'},{user_type,{436,19},name_all,[]}]]},{type,{437,7},constraint,[{atom,{437,7},is_subtype},[{var,{437,7},'New'},{user_type,{437,14},name_all,[]}]]},{type,{438,7},constraint,[{atom,{438,7},is_subtype},[{var,{438,7},'Reason'},{type,{438,17},union,[{user_type,{438,17},posix,[]},{atom,{438,27},badarg}]}]]}]]}]}}]}},{{function,native_name_encoding,0},[{file,[102,105,108,101,46,101,114,108]},{location,135}],[<<110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48>>],#{<<101,110>> => [{p,[],[{a,[{id,<<110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103>>}],[]},<<82,101,116,117,114,110,115,32,116,104,101,32,102,105,108,101,110,97,109,101,32,101,110,99,111,100,105,110,103,32,109,111,100,101,46,32,73,102,32,105,116,32,105,115,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,116,104,101,32,115,121,115,116,101,109,32,116,114,97,110,115,108,97,116,101,115,32,110,111,32,102,105,108,101,110,97,109,101,115,46,32,73,102,32,105,116,32,105,115,32>>,{code,[],[<<117,116,102,56>>]},<<44,32,102,105,108,101,110,97,109,101,115,32,97,114,101,32,99,111,110,118,101,114,116,101,100,32,98,97,99,107,32,97,110,100,32,102,111,114,116,104,32,116,111,32,116,104,101,32,110,97,116,105,118,101,32,102,105,108,101,110,97,109,101,32,101,110,99,111,100,105,110,103,32,40,117,115,117,97,108,108,121,32,85,84,70,45,56,44,32,98,117,116,32,85,84,70,45,49,54,32,111,110,32,87,105,110,100,111,119,115,41,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,55,50,57>>,signature => [{attribute,{135,2},spec,{{native_name_encoding,0},[{type,{135,27},'fun',[{type,{135,27},product,[]},{type,{135,33},union,[{atom,{135,33},latin1},{atom,{135,42},utf8}]}]}]}}],since => <<79,84,80,32,82,49,52,66,48,49>>}},{{function,open,2},[{file,[102,105,108,101,46,101,114,108]},{location,510}],[<<111,112,101,110,47,50>>],#{<<101,110>> => [{p,[],[<<79,112,101,110,115,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101>>]},<<32,105,110,32,116,104,101,32,109,111,100,101,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32>>,{code,[],[<<77,111,100,101,115>>]},<<44,32,119,104,105,99,104,32,99,97,110,32,99,111,110,116,97,105,110,32,111,110,101,32,111,114,32,109,111,114,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<114,101,97,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,44,32,119,104,105,99,104,32,109,117,115,116,32,101,120,105,115,116,44,32,105,115,32,111,112,101,110,101,100,32,102,111,114,32,114,101,97,100,105,110,103,46>>]}]},{dt,[],[{code,[],[<<119,114,105,116,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,102,111,114,32,119,114,105,116,105,110,103,46,32,73,116,32,105,115,32,99,114,101,97,116,101,100,32,105,102,32,105,116,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,32,73,102,32,116,104,101,32,102,105,108,101,32,101,120,105,115,116,115,32,97,110,100,32>>,{code,[],[<<119,114,105,116,101>>]},<<32,105,115,32,110,111,116,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32>>,{code,[],[<<114,101,97,100>>]},<<44,32,116,104,101,32,102,105,108,101,32,105,115,32,116,114,117,110,99,97,116,101,100,46>>]}]},{dt,[],[{code,[],[<<97,112,112,101,110,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,102,111,114,32,119,114,105,116,105,110,103,46,32,73,116,32,105,115,32,99,114,101,97,116,101,100,32,105,102,32,105,116,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,32,69,118,101,114,121,32,119,114,105,116,101,32,111,112,101,114,97,116,105,111,110,32,116,111,32,97,32,102,105,108,101,32,111,112,101,110,101,100,32,119,105,116,104,32>>,{code,[],[<<97,112,112,101,110,100>>]},<<32,116,97,107,101,115,32,112,108,97,99,101,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<101,120,99,108,117,115,105,118,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,102,111,114,32,119,114,105,116,105,110,103,46,32,73,116,32,105,115,32,99,114,101,97,116,101,100,32,105,102,32,105,116,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,32,73,102,32,116,104,101,32,102,105,108,101,32,101,120,105,115,116,115,44,32>>,{code,[],[<<123,101,114,114,111,114,44,32,101,101,120,105,115,116,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,111,112,116,105,111,110,32,100,111,101,115,32,110,111,116,32,103,117,97,114,97,110,116,101,101,32,101,120,99,108,117,115,105,118,101,110,101,115,115,32,111,110,32,102,105,108,101,32,115,121,115,116,101,109,115,32,110,111,116,32,115,117,112,112,111,114,116,105,110,103,32>>,{code,[],[<<79,95,69,88,67,76>>]},<<32,112,114,111,112,101,114,108,121,44,32,115,117,99,104,32,97,115,32,78,70,83,46,32,68,111,32,110,111,116,32,100,101,112,101,110,100,32,111,110,32,116,104,105,115,32,111,112,116,105,111,110,32,117,110,108,101,115,115,32,121,111,117,32,107,110,111,119,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109,32,115,117,112,112,111,114,116,115,32,105,116,32,40,105,110,32,103,101,110,101,114,97,108,44,32,108,111,99,97,108,32,102,105,108,101,32,115,121,115,116,101,109,115,32,97,114,101,32,115,97,102,101,41,46>>]}]}]},{dt,[],[{code,[],[<<114,97,119>>]}]},{dd,[],[{p,[],[{a,[{id,<<114,97,119>>}],[]},<<65,108,108,111,119,115,32,102,97,115,116,101,114,32,97,99,99,101,115,115,32,116,111,32,97,32,102,105,108,101,44,32,97,115,32,110,111,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,32,105,115,32,110,101,101,100,101,100,32,116,111,32,104,97,110,100,108,101,32,116,104,101,32,102,105,108,101,46,32,72,111,119,101,118,101,114,44,32,97,32,102,105,108,101,32,111,112,101,110,101,100,32,105,110,32,116,104,105,115,32,119,97,121,32,104,97,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,108,105,109,105,116,97,116,105,111,110,115,58>>]},{ul,[],[{li,[],[{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,115,32,105,110,32,116,104,101,32>>,{code,[],[<<105,111>>]},<<32,109,111,100,117,108,101,32,99,97,110,110,111,116,32,98,101,32,117,115,101,100,44,32,97,115,32,116,104,101,121,32,99,97,110,32,111,110,108,121,32,116,97,108,107,32,116,111,32,97,110,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,46,32,73,110,115,116,101,97,100,44,32,117,115,101,32,102,117,110,99,116,105,111,110,115,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,47,50>>]}]},<<44,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,95,108,105,110,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,95,108,105,110,101,47,49>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,47,50>>]}]},<<46>>]}]},{li,[],[{p,[],[<<69,115,112,101,99,105,97,108,108,121,32,105,102,32>>,{code,[],[<<114,101,97,100,95,108,105,110,101,47,49>>]},<<32,105,115,32,116,111,32,98,101,32,117,115,101,100,32,111,110,32,97,32>>,{code,[],[<<114,97,119>>]},<<32,102,105,108,101,44,32,105,116,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,99,111,109,98,105,110,101,32,116,104,105,115,32,111,112,116,105,111,110,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125>>]},<<32,97,115,32,108,105,110,101,45,111,114,105,101,110,116,101,100,32,73,47,79,32,105,115,32,105,110,101,102,102,105,99,105,101,110,116,32,119,105,116,104,111,117,116,32,98,117,102,102,101,114,105,110,103,46>>]}]},{li,[],[{p,[],[<<79,110,108,121,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,32,116,104,97,116,32,111,112,101,110,101,100,32,116,104,101,32,102,105,108,101,32,99,97,110,32,117,115,101,32,105,116,46>>]}]},{li,[],[{p,[],[<<65,32,114,101,109,111,116,101,32,69,114,108,97,110,103,32,102,105,108,101,32,115,101,114,118,101,114,32,99,97,110,110,111,116,32,98,101,32,117,115,101,100,46,32,84,104,101,32,99,111,109,112,117,116,101,114,32,111,110,32,119,104,105,99,104,32,116,104,101,32,69,114,108,97,110,103,32,110,111,100,101,32,105,115,32,114,117,110,110,105,110,103,32,109,117,115,116,32,104,97,118,101,32,97,99,99,101,115,115,32,116,111,32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109,32,40,100,105,114,101,99,116,108,121,32,111,114,32,116,104,114,111,117,103,104,32,78,70,83,41,46>>]}]}]}]},{dt,[],[{code,[],[<<98,105,110,97,114,121>>]}]},{dd,[],[{p,[],[<<82,101,97,100,32,111,112,101,114,97,116,105,111,110,115,32,111,110,32,116,104,101,32,102,105,108,101,32,114,101,116,117,114,110,32,98,105,110,97,114,105,101,115,32,114,97,116,104,101,114,32,116,104,97,110,32,108,105,115,116,115,46>>]}]},{dt,[],[{code,[],[<<123,100,101,108,97,121,101,100,95,119,114,105,116,101,44,32,83,105,122,101,44,32,68,101,108,97,121,125>>]}]},{dd,[],[{p,[],[<<68,97,116,97,32,105,110,32,115,117,98,115,101,113,117,101,110,116,32>>,{code,[],[<<119,114,105,116,101,47,50>>]},<<32,99,97,108,108,115,32,105,115,32,98,117,102,102,101,114,101,100,32,117,110,116,105,108,32,97,116,32,108,101,97,115,116,32>>,{code,[],[<<83,105,122,101>>]},<<32,98,121,116,101,115,32,97,114,101,32,98,117,102,102,101,114,101,100,44,32,111,114,32,117,110,116,105,108,32,116,104,101,32,111,108,100,101,115,116,32,98,117,102,102,101,114,101,100,32,100,97,116,97,32,105,115,32>>,{code,[],[<<68,101,108,97,121>>]},<<32,109,105,108,108,105,115,101,99,111,110,100,115,32,111,108,100,46,32,84,104,101,110,32,97,108,108,32,98,117,102,102,101,114,101,100,32,100,97,116,97,32,105,115,32,119,114,105,116,116,101,110,32,105,110,32,111,110,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,99,97,108,108,46,32,84,104,101,32,98,117,102,102,101,114,101,100,32,100,97,116,97,32,105,115,32,97,108,115,111,32,102,108,117,115,104,101,100,32,98,101,102,111,114,101,32,115,111,109,101,32,111,116,104,101,114,32,102,105,108,101,32,111,112,101,114,97,116,105,111,110,32,116,104,97,110,32>>,{code,[],[<<119,114,105,116,101,47,50>>]},<<32,105,115,32,101,120,101,99,117,116,101,100,46>>]},{p,[],[<<84,104,101,32,112,117,114,112,111,115,101,32,111,102,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,116,111,32,105,110,99,114,101,97,115,101,32,112,101,114,102,111,114,109,97,110,99,101,32,98,121,32,114,101,100,117,99,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,99,97,108,108,115,46,32,84,104,117,115,44,32,116,104,101,32>>,{code,[],[<<119,114,105,116,101,47,50>>]},<<32,99,97,108,108,115,32,109,117,115,116,32,98,101,32,102,111,114,32,115,105,122,101,115,32,115,105,103,110,105,102,105,99,97,110,116,108,121,32,108,101,115,115,32,116,104,97,110,32>>,{code,[],[<<83,105,122,101>>]},<<44,32,97,110,100,32,110,111,116,32,105,110,116,101,114,115,112,101,114,115,101,100,32,98,121,32,116,111,111,32,109,97,110,121,32,111,116,104,101,114,32,102,105,108,101,32,111,112,101,114,97,116,105,111,110,115,46>>]},{p,[],[<<87,104,101,110,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,117,115,101,100,44,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32>>,{code,[],[<<119,114,105,116,101,47,50>>]},<<32,99,97,108,108,115,32,99,97,110,32,112,114,101,109,97,116,117,114,101,108,121,32,98,101,32,114,101,112,111,114,116,101,100,32,97,115,32,115,117,99,99,101,115,115,102,117,108,44,32,97,110,100,32,105,102,32,97,32,119,114,105,116,101,32,101,114,114,111,114,32,111,99,99,117,114,115,44,32,116,104,101,32,101,114,114,111,114,32,105,115,32,114,101,112,111,114,116,101,100,32,97,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,110,101,120,116,32,102,105,108,101,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,99,104,32,105,115,32,110,111,116,32,101,120,101,99,117,116,101,100,46>>]},{p,[],[<<70,111,114,32,101,120,97,109,112,108,101,44,32,119,104,101,110,32>>,{code,[],[<<100,101,108,97,121,101,100,95,119,114,105,116,101>>]},<<32,105,115,32,117,115,101,100,44,32,97,102,116,101,114,32,97,32,110,117,109,98,101,114,32,111,102,32>>,{code,[],[<<119,114,105,116,101,47,50>>]},<<32,99,97,108,108,115,44,32>>,{code,[],[<<99,108,111,115,101,47,49>>]},<<32,99,97,110,32,114,101,116,117,114,110,32>>,{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,115,112,99,125>>]},<<44,32,97,115,32,116,104,101,114,101,32,105,115,32,110,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,111,110,32,116,104,101,32,100,105,115,99,32,102,111,114,32,112,114,101,118,105,111,117,115,108,121,32,119,114,105,116,116,101,110,32,100,97,116,97,46,32>>,{code,[],[<<99,108,111,115,101,47,49>>]},<<32,109,117,115,116,32,112,114,111,98,97,98,108,121,32,98,101,32,99,97,108,108,101,100,32,97,103,97,105,110,44,32,97,115,32,116,104,101,32,102,105,108,101,32,105,115,32,115,116,105,108,108,32,111,112,101,110,46>>]}]},{dt,[],[{code,[],[<<100,101,108,97,121,101,100,95,119,114,105,116,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<123,100,101,108,97,121,101,100,95,119,114,105,116,101,44,32,83,105,122,101,44,32,68,101,108,97,121,125>>]},<<32,119,105,116,104,32,114,101,97,115,111,110,97,98,108,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<83,105,122,101>>]},<<32,97,110,100,32>>,{code,[],[<<68,101,108,97,121>>]},<<32,40,114,111,117,103,104,108,121,32,115,111,109,101,32,54,52,32,75,66,44,32,50,32,115,101,99,111,110,100,115,41,46>>]}]},{dt,[],[{code,[],[<<123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125>>]}]},{dd,[],[{p,[],[<<65,99,116,105,118,97,116,101,115,32,114,101,97,100,32,100,97,116,97,32,98,117,102,102,101,114,105,110,103,46,32,73,102,32>>,{code,[],[<<114,101,97,100,47,50>>]},<<32,99,97,108,108,115,32,97,114,101,32,102,111,114,32,115,105,103,110,105,102,105,99,97,110,116,108,121,32,108,101,115,115,32,116,104,97,110,32>>,{code,[],[<<83,105,122,101>>]},<<32,98,121,116,101,115,44,32,114,101,97,100,32,111,112,101,114,97,116,105,111,110,115,32,116,111,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,97,114,101,32,115,116,105,108,108,32,112,101,114,102,111,114,109,101,100,32,102,111,114,32,98,108,111,99,107,115,32,111,102,32>>,{code,[],[<<83,105,122,101>>]},<<32,98,121,116,101,115,46,32,84,104,101,32,101,120,116,114,97,32,100,97,116,97,32,105,115,32,98,117,102,102,101,114,101,100,32,97,110,100,32,114,101,116,117,114,110,101,100,32,105,110,32,115,117,98,115,101,113,117,101,110,116,32>>,{code,[],[<<114,101,97,100,47,50>>]},<<32,99,97,108,108,115,44,32,103,105,118,105,110,103,32,97,32,112,101,114,102,111,114,109,97,110,99,101,32,103,97,105,110,32,97,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,99,97,108,108,115,32,105,115,32,114,101,100,117,99,101,100,46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<114,101,97,100,95,97,104,101,97,100>>]},<<32,98,117,102,102,101,114,32,105,115,32,97,108,115,111,32,104,105,103,104,108,121,32,117,115,101,100,32,98,121,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<114,101,97,100,95,108,105,110,101,47,49>>]},<<32,105,110,32>>,{code,[],[<<114,97,119>>]},<<32,109,111,100,101,44,32,116,104,101,114,101,102,111,114,101,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,40,102,111,114,32,112,101,114,102,111,114,109,97,110,99,101,32,114,101,97,115,111,110,115,41,32,119,104,101,110,32,97,99,99,101,115,115,105,110,103,32,114,97,119,32,102,105,108,101,115,32,117,115,105,110,103,32,116,104,97,116,32,102,117,110,99,116,105,111,110,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<114,101,97,100,47,50>>]},<<32,99,97,108,108,115,32,97,114,101,32,102,111,114,32,115,105,122,101,115,32,110,111,116,32,115,105,103,110,105,102,105,99,97,110,116,108,121,32,108,101,115,115,32,116,104,97,110,44,32,111,114,32,101,118,101,110,32,103,114,101,97,116,101,114,32,116,104,97,110,32>>,{code,[],[<<83,105,122,101>>]},<<32,98,121,116,101,115,44,32,110,111,32,112,101,114,102,111,114,109,97,110,99,101,32,103,97,105,110,32,99,97,110,32,98,101,32,101,120,112,101,99,116,101,100,46>>]}]},{dt,[],[{code,[],[<<114,101,97,100,95,97,104,101,97,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125>>]},<<32,119,105,116,104,32,97,32,114,101,97,115,111,110,97,98,108,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,102,111,114,32>>,{code,[],[<<83,105,122,101>>]},<<32,40,114,111,117,103,104,108,121,32,115,111,109,101,32,54,52,32,75,66,41,46>>]}]},{dt,[],[{code,[],[<<99,111,109,112,114,101,115,115,101,100>>]}]},{dd,[],[{p,[],[<<77,97,107,101,115,32,105,116,32,112,111,115,115,105,98,108,101,32,116,111,32,114,101,97,100,32,111,114,32,119,114,105,116,101,32,103,122,105,112,32,99,111,109,112,114,101,115,115,101,100,32,102,105,108,101,115,46,32,79,112,116,105,111,110,32>>,{code,[],[<<99,111,109,112,114,101,115,115,101,100>>]},<<32,109,117,115,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32>>,{code,[],[<<114,101,97,100>>]},<<32,111,114,32>>,{code,[],[<<119,114,105,116,101>>]},<<44,32,98,117,116,32,110,111,116,32,98,111,116,104,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,115,105,122,101,32,111,98,116,97,105,110,101,100,32,119,105,116,104,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49>>]}]},<<32,100,111,101,115,32,112,114,111,98,97,98,108,121,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,97,100,32,102,114,111,109,32,97,32,99,111,109,112,114,101,115,115,101,100,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<123,101,110,99,111,100,105,110,103,44,32,69,110,99,111,100,105,110,103,125>>]}]},{dd,[],[{p,[],[<<77,97,107,101,115,32,116,104,101,32,102,105,108,101,32,112,101,114,102,111,114,109,32,97,117,116,111,109,97,116,105,99,32,116,114,97,110,115,108,97,116,105,111,110,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,116,111,32,97,110,100,32,102,114,111,109,32,97,32,115,112,101,99,105,102,105,99,32,40,85,110,105,99,111,100,101,41,32,101,110,99,111,100,105,110,103,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,100,97,116,97,32,115,117,112,112,108,105,101,100,32,116,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,47,50>>]}]},<<32,111,114,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,47,50>>]}]},<<32,115,116,105,108,108,32,105,115,32,98,121,116,101,45,111,114,105,101,110,116,101,100,59,32,116,104,105,115,32,111,112,116,105,111,110,32,100,101,110,111,116,101,115,32,111,110,108,121,32,104,111,119,32,100,97,116,97,32,105,115,32,115,116,111,114,101,100,32,105,110,32,116,104,101,32,100,105,115,107,32,102,105,108,101,46>>]},{p,[],[<<68,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,101,110,99,111,100,105,110,103,44,32,100,105,102,102,101,114,101,110,116,32,109,101,116,104,111,100,115,32,111,102,32,114,101,97,100,105,110,103,32,97,110,100,32,119,114,105,116,105,110,103,32,100,97,116,97,32,105,115,32,112,114,101,102,101,114,114,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<32,105,109,112,108,105,101,115,32,117,115,105,110,103,32,116,104,105,115,32,109,111,100,117,108,101,32,40>>,{code,[],[<<102,105,108,101>>]},<<41,32,102,111,114,32,114,101,97,100,105,110,103,32,97,110,100,32,119,114,105,116,105,110,103,32,100,97,116,97,32,97,115,32,116,104,101,32,105,110,116,101,114,102,97,99,101,115,32,112,114,111,118,105,100,101,100,32,104,101,114,101,32,119,111,114,107,32,119,105,116,104,32,98,121,116,101,45,111,114,105,101,110,116,101,100,32,100,97,116,97,46,32,85,115,105,110,103,32,111,116,104,101,114,32,40,85,110,105,99,111,100,101,41,32,101,110,99,111,100,105,110,103,115,32,109,97,107,101,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111,40,51,41>>]}]},<<32,102,117,110,99,116,105,111,110,115,32>>,{code,[],[<<103,101,116,95,99,104,97,114,115>>]},<<44,32>>,{code,[],[<<103,101,116,95,108,105,110,101>>]},<<44,32,97,110,100,32>>,{code,[],[<<112,117,116,95,99,104,97,114,115>>]},<<32,109,111,114,101,32,115,117,105,116,97,98,108,101,44,32,97,115,32,116,104,101,121,32,99,97,110,32,119,111,114,107,32,119,105,116,104,32,116,104,101,32,102,117,108,108,32,85,110,105,99,111,100,101,32,114,97,110,103,101,46>>]},{p,[],[<<73,102,32,100,97,116,97,32,105,115,32,115,101,110,116,32,116,111,32,97,110,32>>,{code,[],[<<105,111,95,100,101,118,105,99,101,40,41>>]},<<32,105,110,32,97,32,102,111,114,109,97,116,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,32,116,111,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,101,110,99,111,100,105,110,103,44,32,111,114,32,105,102,32,100,97,116,97,32,105,115,32,114,101,97,100,32,98,121,32,97,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,114,101,116,117,114,110,115,32,100,97,116,97,32,105,110,32,97,32,102,111,114,109,97,116,32,116,104,97,116,32,99,97,110,110,111,116,32,99,111,112,101,32,119,105,116,104,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,114,97,110,103,101,32,111,102,32,116,104,101,32,100,97,116,97,44,32,97,110,32,101,114,114,111,114,32,111,99,99,117,114,115,32,97,110,100,32,116,104,101,32,102,105,108,101,32,105,115,32,99,108,111,115,101,100,46>>]},{p,[],[<<65,108,108,111,119,101,100,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<69,110,99,111,100,105,110,103>>]},<<58>>]},{dl,[],[{dt,[],[{code,[],[<<108,97,116,105,110,49>>]}]},{dd,[],[{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,32,101,110,99,111,100,105,110,103,46,32,66,121,116,101,115,32,115,117,112,112,108,105,101,100,32,116,111,32,116,104,101,32,102,105,108,101,44,32,116,104,97,116,32,105,115,44,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,47,50>>]}]},<<32,97,114,101,32,119,114,105,116,116,101,110,32,34,97,115,32,105,115,34,32,111,110,32,116,104,101,32,102,105,108,101,46,32,76,105,107,101,119,105,115,101,44,32,98,121,116,101,115,32,114,101,97,100,32,102,114,111,109,32,116,104,101,32,102,105,108,101,44,32,116,104,97,116,32,105,115,44,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,47,50>>]}]},<<32,97,114,101,32,114,101,116,117,114,110,101,100,32,34,97,115,32,105,115,34,46,32,73,102,32,109,111,100,117,108,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111,40,51,41>>]}]},<<32,105,115,32,117,115,101,100,32,102,111,114,32,119,114,105,116,105,110,103,44,32,116,104,101,32,102,105,108,101,32,99,97,110,32,111,110,108,121,32,99,111,112,101,32,119,105,116,104,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,32,117,112,32,116,111,32,99,111,100,101,32,112,111,105,110,116,32,50,53,53,32,40,116,104,101,32,73,83,79,32,76,97,116,105,110,45,49,32,114,97,110,103,101,41,46>>]}]},{dt,[],[{code,[],[<<117,110,105,99,111,100,101,32,111,114,32,117,116,102,56>>]}]},{dd,[],[{p,[],[<<67,104,97,114,97,99,116,101,114,115,32,97,114,101,32,116,114,97,110,115,108,97,116,101,100,32,116,111,32,97,110,100,32,102,114,111,109,32,85,84,70,45,56,32,101,110,99,111,100,105,110,103,32,98,101,102,111,114,101,32,116,104,101,121,32,97,114,101,32,119,114,105,116,116,101,110,32,116,111,32,111,114,32,114,101,97,100,32,102,114,111,109,32,116,104,101,32,102,105,108,101,46,32,65,32,102,105,108,101,32,111,112,101,110,101,100,32,105,110,32,116,104,105,115,32,119,97,121,32,99,97,110,32,98,101,32,114,101,97,100,97,98,108,101,32,117,115,105,110,103,32,102,117,110,99,116,105,111,110,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,47,50>>]}]},<<44,32,97,115,32,108,111,110,103,32,97,115,32,110,111,32,100,97,116,97,32,115,116,111,114,101,100,32,111,110,32,116,104,101,32,102,105,108,101,32,108,105,101,115,32,98,101,121,111,110,100,32,116,104,101,32,73,83,79,32,76,97,116,105,110,45,49,32,114,97,110,103,101,32,40,48,46,46,50,53,53,41,44,32,98,117,116,32,102,97,105,108,117,114,101,32,111,99,99,117,114,115,32,105,102,32,116,104,101,32,100,97,116,97,32,99,111,110,116,97,105,110,115,32,85,110,105,99,111,100,101,32,99,111,100,101,32,112,111,105,110,116,115,32,98,101,121,111,110,100,32,116,104,97,116,32,114,97,110,103,101,46,32,84,104,101,32,102,105,108,101,32,105,115,32,98,101,115,116,32,114,101,97,100,32,119,105,116,104,32,116,104,101,32,102,117,110,99,116,105,111,110,115,32,105,110,32,116,104,101,32,85,110,105,99,111,100,101,32,97,119,97,114,101,32,109,111,100,117,108,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111,40,51,41>>]}]},<<46>>]},{p,[],[<<66,121,116,101,115,32,119,114,105,116,116,101,110,32,116,111,32,116,104,101,32,102,105,108,101,32,98,121,32,97,110,121,32,109,101,97,110,115,32,97,114,101,32,116,114,97,110,115,108,97,116,101,100,32,116,111,32,85,84,70,45,56,32,101,110,99,111,100,105,110,103,32,98,101,102,111,114,101,32,98,101,105,110,103,32,115,116,111,114,101,100,32,111,110,32,116,104,101,32,100,105,115,107,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<117,116,102,49,54,32,111,114,32,123,117,116,102,49,54,44,98,105,103,125>>]}]},{dd,[],[{p,[],[<<87,111,114,107,115,32,108,105,107,101,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,98,117,116,32,116,114,97,110,115,108,97,116,105,111,110,32,105,115,32,100,111,110,101,32,116,111,32,97,110,100,32,102,114,111,109,32,98,105,103,32,101,110,100,105,97,110,32,85,84,70,45,49,54,32,105,110,115,116,101,97,100,32,111,102,32,85,84,70,45,56,46>>]}]},{dt,[],[{code,[],[<<123,117,116,102,49,54,44,108,105,116,116,108,101,125>>]}]},{dd,[],[{p,[],[<<87,111,114,107,115,32,108,105,107,101,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,98,117,116,32,116,114,97,110,115,108,97,116,105,111,110,32,105,115,32,100,111,110,101,32,116,111,32,97,110,100,32,102,114,111,109,32,108,105,116,116,108,101,32,101,110,100,105,97,110,32,85,84,70,45,49,54,32,105,110,115,116,101,97,100,32,111,102,32,85,84,70,45,56,46>>]}]},{dt,[],[{code,[],[<<117,116,102,51,50,32,111,114,32,123,117,116,102,51,50,44,98,105,103,125>>]}]},{dd,[],[{p,[],[<<87,111,114,107,115,32,108,105,107,101,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,98,117,116,32,116,114,97,110,115,108,97,116,105,111,110,32,105,115,32,100,111,110,101,32,116,111,32,97,110,100,32,102,114,111,109,32,98,105,103,32,101,110,100,105,97,110,32,85,84,70,45,51,50,32,105,110,115,116,101,97,100,32,111,102,32,85,84,70,45,56,46>>]}]},{dt,[],[{code,[],[<<123,117,116,102,51,50,44,108,105,116,116,108,101,125>>]}]},{dd,[],[{p,[],[<<87,111,114,107,115,32,108,105,107,101,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,98,117,116,32,116,114,97,110,115,108,97,116,105,111,110,32,105,115,32,100,111,110,101,32,116,111,32,97,110,100,32,102,114,111,109,32,108,105,116,116,108,101,32,101,110,100,105,97,110,32,85,84,70,45,51,50,32,105,110,115,116,101,97,100,32,111,102,32,85,84,70,45,56,46>>]}]}]},{p,[],[<<84,104,101,32,69,110,99,111,100,105,110,103,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,102,111,114,32,97,32,102,105,108,101,32,34,111,110,32,116,104,101,32,102,108,121,34,32,98,121,32,117,115,105,110,103,32,102,117,110,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111,35,115,101,116,111,112,116,115,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,111,58,115,101,116,111,112,116,115,47,50>>]}]},<<46,32,83,111,32,97,32,102,105,108,101,32,99,97,110,32,98,101,32,97,110,97,108,121,122,101,100,32,105,110,32,108,97,116,105,110,49,32,101,110,99,111,100,105,110,103,32,102,111,114,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,97,32,66,79,77,44,32,112,111,115,105,116,105,111,110,101,100,32,98,101,121,111,110,100,32,116,104,101,32,66,79,77,32,97,110,100,32,116,104,101,110,32,98,101,32,115,101,116,32,102,111,114,32,116,104,101,32,114,105,103,104,116,32,101,110,99,111,100,105,110,103,32,98,101,102,111,114,101,32,102,117,114,116,104,101,114,32,114,101,97,100,105,110,103,46,32,70,111,114,32,102,117,110,99,116,105,111,110,115,32,105,100,101,110,116,105,102,121,105,110,103,32,66,79,77,115,44,32,115,101,101,32,109,111,100,117,108,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<117,110,105,99,111,100,101,40,51,41>>]}]},<<46>>]},{p,[],[<<84,104,105,115,32,111,112,116,105,111,110,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32>>,{code,[],[<<114,97,119>>]},<<32,102,105,108,101,115,46>>]}]},{dt,[],[{code,[],[<<114,97,109>>]}]},{dd,[],[{p,[],[{code,[],[<<70,105,108,101>>]},<<32,109,117,115,116,32,98,101,32>>,{code,[],[<<105,111,100,97,116,97,40,41>>]},<<46,32,82,101,116,117,114,110,115,32,97,110,32>>,{code,[],[<<102,100,40,41>>]},<<44,32,119,104,105,99,104,32,108,101,116,115,32,109,111,100,117,108,101,32>>,{code,[],[<<102,105,108,101>>]},<<32,111,112,101,114,97,116,101,32,111,110,32,116,104,101,32,100,97,116,97,32,105,110,45,109,101,109,111,114,121,32,97,115,32,105,102,32,105,116,32,105,115,32,97,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<115,121,110,99>>]}]},{dd,[],[{p,[],[<<79,110,32,112,108,97,116,102,111,114,109,115,32,115,117,112,112,111,114,116,105,110,103,32,105,116,44,32,101,110,97,98,108,101,115,32,116,104,101,32,80,79,83,73,88,32>>,{code,[],[<<79,95,83,89,78,67>>]},<<32,115,121,110,99,104,114,111,110,111,117,115,32,73,47,79,32,102,108,97,103,32,111,114,32,105,116,115,32,112,108,97,116,102,111,114,109,45,100,101,112,101,110,100,101,110,116,32,101,113,117,105,118,97,108,101,110,116,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<70,73,76,69,95,70,76,65,71,95,87,82,73,84,69,95,84,72,82,79,85,71,72>>]},<<32,111,110,32,87,105,110,100,111,119,115,41,32,115,111,32,116,104,97,116,32,119,114,105,116,101,115,32,116,111,32,116,104,101,32,102,105,108,101,32,98,108,111,99,107,32,117,110,116,105,108,32,116,104,101,32,100,97,116,97,32,105,115,32,112,104,121,115,105,99,97,108,108,121,32,119,114,105,116,116,101,110,32,116,111,32,100,105,115,107,46,32,72,111,119,101,118,101,114,44,32,98,101,32,97,119,97,114,101,32,116,104,97,116,32,116,104,101,32,101,120,97,99,116,32,115,101,109,97,110,116,105,99,115,32,111,102,32,116,104,105,115,32,102,108,97,103,32,100,105,102,102,101,114,32,102,114,111,109,32,112,108,97,116,102,111,114,109,32,116,111,32,112,108,97,116,102,111,114,109,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,110,111,110,101,32,111,102,32,76,105,110,117,120,32,111,114,32,87,105,110,100,111,119,115,32,103,117,97,114,97,110,116,101,101,115,32,116,104,97,116,32,97,108,108,32,102,105,108,101,32,109,101,116,97,100,97,116,97,32,97,114,101,32,97,108,115,111,32,119,114,105,116,116,101,110,32,98,101,102,111,114,101,32,116,104,101,32,99,97,108,108,32,114,101,116,117,114,110,115,46,32,70,111,114,32,112,114,101,99,105,115,101,32,115,101,109,97,110,116,105,99,115,44,32,99,104,101,99,107,32,116,104,101,32,100,101,116,97,105,108,115,32,111,102,32,121,111,117,114,32,112,108,97,116,102,111,114,109,32,100,111,99,117,109,101,110,116,97,116,105,111,110,46,32,79,110,32,112,108,97,116,102,111,114,109,115,32,119,105,116,104,32,110,111,32,115,117,112,112,111,114,116,32,102,111,114,32,80,79,83,73,88,32>>,{code,[],[<<79,95,83,89,78,67>>]},<<32,111,114,32,101,113,117,105,118,97,108,101,110,116,44,32,117,115,101,32,111,102,32,116,104,101,32>>,{code,[],[<<115,121,110,99>>]},<<32,102,108,97,103,32,99,97,117,115,101,115,32>>,{code,[],[<<111,112,101,110>>]},<<32,116,111,32,114,101,116,117,114,110,32>>,{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,116,115,117,112,125>>]},<<46>>]}]},{dt,[],[{code,[],[<<100,105,114,101,99,116,111,114,121>>]}]},{dd,[],[{p,[],[<<65,108,108,111,119,115,32>>,{code,[],[<<111,112,101,110>>]},<<32,116,111,32,119,111,114,107,32,111,110,32,100,105,114,101,99,116,111,114,105,101,115,46>>]}]}]},{p,[],[<<82,101,116,117,114,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,73,111,68,101,118,105,99,101,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,109,111,100,101,46,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<32,105,115,32,97,32,114,101,102,101,114,101,110,99,101,32,116,111,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,111,112,101,110,101,100,46>>]}]}]},{p,[],[{code,[],[<<73,111,68,101,118,105,99,101>>]},<<32,105,115,32,114,101,97,108,108,121,32,116,104,101,32,112,105,100,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,104,97,110,100,108,101,115,32,116,104,101,32,102,105,108,101,46,32,84,104,105,115,32,112,114,111,99,101,115,115,32,109,111,110,105,116,111,114,115,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,111,114,105,103,105,110,97,108,108,121,32,111,112,101,110,101,100,32,116,104,101,32,102,105,108,101,32,40,116,104,101,32,111,119,110,101,114,32,112,114,111,99,101,115,115,41,46,32,73,102,32,116,104,101,32,111,119,110,101,114,32,112,114,111,99,101,115,115,32,116,101,114,109,105,110,97,116,101,115,44,32,116,104,101,32,102,105,108,101,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,112,114,111,99,101,115,115,32,105,116,115,101,108,102,32,116,101,114,109,105,110,97,116,101,115,32,116,111,111,46,32,65,110,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<32,114,101,116,117,114,110,101,100,32,102,114,111,109,32,116,104,105,115,32,99,97,108,108,32,99,97,110,32,98,101,32,117,115,101,100,32,97,115,32,97,110,32,97,114,103,117,109,101,110,116,32,116,111,32,116,104,101,32,73,47,79,32,102,117,110,99,116,105,111,110,115,32,40,115,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111,40,51,41>>]}]},<<41,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<87,104,105,108,101,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,111,112,101,110,32,97,110,121,32,102,105,108,101,44,32,119,101,32,114,101,99,111,109,109,101,110,100,32,97,103,97,105,110,115,116,32,117,115,105,110,103,32,105,116,32,102,111,114,32,78,70,83,45,109,111,117,110,116,101,100,32,102,105,108,101,115,44,32,70,73,70,79,115,44,32,100,101,118,105,99,101,115,44,32,111,114,32,115,105,109,105,108,97,114,32,115,105,110,99,101,32,116,104,101,121,32,99,97,110,32,99,97,117,115,101,32,73,79,32,116,104,114,101,97,100,115,32,116,111,32,104,97,110,103,32,102,111,114,101,118,101,114,46>>]},{p,[],[<<73,102,32,121,111,117,114,32,97,112,112,108,105,99,97,116,105,111,110,32,110,101,101,100,115,32,116,111,32,105,110,116,101,114,97,99,116,32,119,105,116,104,32,116,104,101,115,101,32,107,105,110,100,115,32,111,102,32,102,105,108,101,115,32,119,101,32,114,101,99,111,109,109,101,110,100,32,98,114,101,97,107,105,110,103,32,111,117,116,32,116,104,111,115,101,32,112,97,114,116,115,32,116,111,32,97,32,112,111,114,116,32,112,114,111,103,114,97,109,32,105,110,115,116,101,97,100,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,110,32,112,114,101,118,105,111,117,115,32,118,101,114,115,105,111,110,115,32,111,102,32>>,{code,[],[<<102,105,108,101>>]},<<44,32,109,111,100,101,115,32,119,101,114,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,111,110,101,32,111,102,32,116,104,101,32,97,116,111,109,115,32>>,{code,[],[<<114,101,97,100>>]},<<44,32>>,{code,[],[<<119,114,105,116,101>>]},<<44,32,111,114,32>>,{code,[],[<<114,101,97,100,95,119,114,105,116,101>>]},<<32,105,110,115,116,101,97,100,32,111,102,32,97,32,108,105,115,116,46,32,84,104,105,115,32,105,115,32,115,116,105,108,108,32,97,108,108,111,119,101,100,32,102,111,114,32,114,101,97,115,111,110,115,32,111,102,32,98,97,99,107,119,97,114,100,115,32,99,111,109,112,97,116,105,98,105,108,105,116,121,44,32,98,117,116,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,102,111,114,32,110,101,119,32,99,111,100,101,46,32,65,108,115,111,32,110,111,116,101,32,116,104,97,116,32>>,{code,[],[<<114,101,97,100,95,119,114,105,116,101>>]},<<32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,97,32,109,111,100,101,32,108,105,115,116,46>>]}]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,114,101,97,100,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,115,101,97,114,99,104,105,110,103,32,111,110,101,32,111,102,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,46>>]}]},{dt,[],[{code,[],[<<101,105,115,100,105,114>>]}]},{dd,[],[{p,[],[<<84,104,101,32,110,97,109,101,100,32,102,105,108,101,32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,44,32,111,114,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,116,115,101,108,102,32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,32,105,102,32>>,{code,[],[<<100,105,114,101,99,116,111,114,121>>]},<<32,109,111,100,101,32,119,97,115,32,115,112,101,99,105,102,105,101,100,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]},{dt,[],[{code,[],[<<101,110,111,115,112,99>>]}]},{dd,[],[{p,[],[<<84,104,101,114,101,32,105,115,32,110,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,116,104,101,32,100,101,118,105,99,101,32,40,105,102,32>>,{code,[],[<<119,114,105,116,101>>]},<<32,97,99,99,101,115,115,32,119,97,115,32,115,112,101,99,105,102,105,101,100,41,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,55,52,49>>,signature => [{attribute,{510,2},spec,{{open,2},[{type,{510,11},bounded_fun,[{type,{510,11},'fun',[{type,{510,11},product,[{var,{510,12},'File'},{var,{510,18},'Modes'}]},{type,{510,28},union,[{type,{510,28},tuple,[{atom,{510,29},ok},{var,{510,33},'IoDevice'}]},{type,{510,45},tuple,[{atom,{510,46},error},{var,{510,53},'Reason'}]}]}]},[{type,{511,7},constraint,[{atom,{511,7},is_subtype},[{var,{511,7},'File'},{type,{511,15},union,[{var,{511,15},'Filename'},{type,{511,26},iodata,[]}]}]]},{type,{512,7},constraint,[{atom,{512,7},is_subtype},[{var,{512,7},'Filename'},{user_type,{512,19},name_all,[]}]]},{type,{513,7},constraint,[{atom,{513,7},is_subtype},[{var,{513,7},'Modes'},{type,{513,16},list,[{type,{513,17},union,[{user_type,{513,17},mode,[]},{atom,{513,26},ram},{atom,{513,32},directory}]}]}]]},{type,{514,7},constraint,[{atom,{514,7},is_subtype},[{var,{514,7},'IoDevice'},{user_type,{514,19},io_device,[]}]]},{type,{515,7},constraint,[{atom,{515,7},is_subtype},[{var,{515,7},'Reason'},{type,{515,17},union,[{user_type,{515,17},posix,[]},{atom,{515,27},badarg},{atom,{515,36},system_limit}]}]]}]]}]}}]}},{{function,path_consult,2},[{file,[102,105,108,101,46,101,114,108]},{location,1041}],[<<112,97,116,104,95,99,111,110,115,117,108,116,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,97,114,99,104,101,115,32,116,104,101,32,112,97,116,104,32>>,{code,[],[<<80,97,116,104>>]},<<32,40,97,32,108,105,115,116,32,111,102,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,115,41,32,117,110,116,105,108,32,116,104,101,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,102,111,117,110,100,46,32,73,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,97,110,32,97,98,115,111,108,117,116,101,32,102,105,108,101,110,97,109,101,44,32>>,{code,[],[<<80,97,116,104>>]},<<32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,110,32,114,101,97,100,115,32,69,114,108,97,110,103,32,116,101,114,109,115,44,32,115,101,112,97,114,97,116,101,100,32,98,121,32,39,46,39,44,32,102,114,111,109,32,116,104,101,32,102,105,108,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,84,101,114,109,115,44,32,70,117,108,108,78,97,109,101,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,115,117,99,99,101,115,115,102,117,108,108,121,32,114,101,97,100,46,32>>,{code,[],[<<70,117,108,108,78,97,109,101>>]},<<32,105,115,32,116,104,101,32,102,117,108,108,32,110,97,109,101,32,111,102,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,101,110,116,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,102,111,117,110,100,32,105,110,32,97,110,121,32,111,102,32,116,104,101,32,100,105,114,101,99,116,111,114,105,101,115,32,105,110,32>>,{code,[],[<<80,97,116,104>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,97,116,111,109,40,41,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,114,101,97,100,105,110,103,32,105,116,46,32,70,111,114,32,97,32,108,105,115,116,32,111,102,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,99,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,123,76,105,110,101,44,32,77,111,100,44,32,84,101,114,109,125,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,105,110,116,101,114,112,114,101,116,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,116,101,114,109,115,32,105,110,32,116,104,101,32,102,105,108,101,46,32,85,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,102,111,114,109,97,116,95,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,49>>]}]},<<32,116,111,32,99,111,110,118,101,114,116,32,116,104,101,32,116,104,114,101,101,45,101,108,101,109,101,110,116,32,116,117,112,108,101,32,116,111,32,97,110,32,69,110,103,108,105,115,104,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,46>>]}]}]},{p,[],[<<84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,97,32,99,111,109,109,101,110,116,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,112,112,35,101,110,99,111,100,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,112,112,40,51,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,48,51,54>>,signature => [{attribute,{1041,2},spec,{{path_consult,2},[{type,{1041,19},bounded_fun,[{type,{1041,19},'fun',[{type,{1041,19},product,[{var,{1041,20},'Path'},{var,{1041,26},'Filename'}]},{type,{1041,39},union,[{type,{1041,39},tuple,[{atom,{1041,40},ok},{var,{1041,44},'Terms'},{var,{1041,51},'FullName'}]},{type,{1041,63},tuple,[{atom,{1041,64},error},{var,{1041,71},'Reason'}]}]}]},[{type,{1042,7},constraint,[{atom,{1042,7},is_subtype},[{var,{1042,7},'Path'},{type,{1042,15},list,[{var,{1042,16},'Dir'}]}]]},{type,{1043,7},constraint,[{atom,{1043,7},is_subtype},[{var,{1043,7},'Dir'},{user_type,{1043,14},name_all,[]}]]},{type,{1044,7},constraint,[{atom,{1044,7},is_subtype},[{var,{1044,7},'Filename'},{user_type,{1044,19},name_all,[]}]]},{type,{1045,7},constraint,[{atom,{1045,7},is_subtype},[{var,{1045,7},'Terms'},{type,{1045,16},list,[{type,{1045,17},term,[]}]}]]},{type,{1046,7},constraint,[{atom,{1046,7},is_subtype},[{var,{1046,7},'FullName'},{user_type,{1046,19},filename_all,[]}]]},{type,{1047,7},constraint,[{atom,{1047,7},is_subtype},[{var,{1047,7},'Reason'},{type,{1047,17},union,[{user_type,{1047,17},posix,[]},{atom,{1047,27},badarg},{atom,{1047,36},terminated},{atom,{1047,49},system_limit},{type,{1048,17},tuple,[{ann_type,{1048,18},[{var,{1048,18},'Line'},{type,{1048,26},integer,[]}]},{ann_type,{1048,37},[{var,{1048,37},'Mod'},{type,{1048,44},module,[]}]},{ann_type,{1048,54},[{var,{1048,54},'Term'},{type,{1048,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,path_eval,2},[{file,[102,105,108,101,46,101,114,108]},{location,1089}],[<<112,97,116,104,95,101,118,97,108,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,97,114,99,104,101,115,32,116,104,101,32,112,97,116,104,32>>,{code,[],[<<80,97,116,104>>]},<<32,40,97,32,108,105,115,116,32,111,102,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,115,41,32,117,110,116,105,108,32,116,104,101,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,102,111,117,110,100,46,32,73,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,97,110,32,97,98,115,111,108,117,116,101,32,102,105,108,101,110,97,109,101,44,32>>,{code,[],[<<80,97,116,104>>]},<<32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,110,32,114,101,97,100,115,32,97,110,100,32,101,118,97,108,117,97,116,101,115,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,44,32,115,101,112,97,114,97,116,101,100,32,98,121,32,39,46,39,32,40,111,114,32,39,44,39,44,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,101,120,112,114,101,115,115,105,111,110,115,32,105,115,32,97,108,115,111,32,97,110,32,101,120,112,114,101,115,115,105,111,110,41,44,32,102,114,111,109,32,116,104,101,32,102,105,108,101,46,32,84,104,101,32,114,101,115,117,108,116,32,111,102,32,101,118,97,108,117,97,116,105,111,110,32,105,115,32,110,111,116,32,114,101,116,117,114,110,101,100,59,32,97,110,121,32,101,120,112,114,101,115,115,105,111,110,32,115,101,113,117,101,110,99,101,32,105,110,32,116,104,101,32,102,105,108,101,32,109,117,115,116,32,98,101,32,116,104,101,114,101,32,102,111,114,32,105,116,115,32,115,105,100,101,32,101,102,102,101,99,116,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,70,117,108,108,78,97,109,101,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,114,101,97,100,32,97,110,100,32,101,118,97,108,117,97,116,101,100,46,32>>,{code,[],[<<70,117,108,108,78,97,109,101>>]},<<32,105,115,32,116,104,101,32,102,117,108,108,32,110,97,109,101,32,111,102,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,101,110,116,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,102,111,117,110,100,32,105,110,32,97,110,121,32,111,102,32,116,104,101,32,100,105,114,101,99,116,111,114,105,101,115,32,105,110,32>>,{code,[],[<<80,97,116,104>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,97,116,111,109,40,41,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,114,101,97,100,105,110,103,32,105,116,46,32,70,111,114,32,97,32,108,105,115,116,32,111,102,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,99,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,123,76,105,110,101,44,32,77,111,100,44,32,84,101,114,109,125,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,105,110,116,101,114,112,114,101,116,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,116,104,101,32,102,105,108,101,46,32,85,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,102,111,114,109,97,116,95,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,49>>]}]},<<32,116,111,32,99,111,110,118,101,114,116,32,116,104,101,32,116,104,114,101,101,45,101,108,101,109,101,110,116,32,116,117,112,108,101,32,116,111,32,97,110,32,69,110,103,108,105,115,104,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,46>>]}]}]},{p,[],[<<84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,97,32,99,111,109,109,101,110,116,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,112,112,35,101,110,99,111,100,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,112,112,40,51,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,48,55,56>>,signature => [{attribute,{1089,2},spec,{{path_eval,2},[{type,{1089,16},bounded_fun,[{type,{1089,16},'fun',[{type,{1089,16},product,[{var,{1089,17},'Path'},{var,{1089,23},'Filename'}]},{type,{1089,36},union,[{type,{1089,36},tuple,[{atom,{1089,37},ok},{var,{1089,41},'FullName'}]},{type,{1089,53},tuple,[{atom,{1089,54},error},{var,{1089,61},'Reason'}]}]}]},[{type,{1090,7},constraint,[{atom,{1090,7},is_subtype},[{var,{1090,7},'Path'},{type,{1090,15},list,[{ann_type,{1090,16},[{var,{1090,16},'Dir'},{user_type,{1090,23},name_all,[]}]}]}]]},{type,{1091,7},constraint,[{atom,{1091,7},is_subtype},[{var,{1091,7},'Filename'},{user_type,{1091,19},name_all,[]}]]},{type,{1092,7},constraint,[{atom,{1092,7},is_subtype},[{var,{1092,7},'FullName'},{user_type,{1092,19},filename_all,[]}]]},{type,{1093,7},constraint,[{atom,{1093,7},is_subtype},[{var,{1093,7},'Reason'},{type,{1093,17},union,[{user_type,{1093,17},posix,[]},{atom,{1093,27},badarg},{atom,{1093,36},terminated},{atom,{1093,49},system_limit},{type,{1094,17},tuple,[{ann_type,{1094,18},[{var,{1094,18},'Line'},{type,{1094,26},integer,[]}]},{ann_type,{1094,37},[{var,{1094,37},'Mod'},{type,{1094,44},module,[]}]},{ann_type,{1094,54},[{var,{1094,54},'Term'},{type,{1094,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,path_open,3},[{file,[102,105,108,101,46,101,114,108]},{location,1194}],[<<112,97,116,104,95,111,112,101,110,47,51>>],#{<<101,110>> => [{p,[],[<<83,101,97,114,99,104,101,115,32,116,104,101,32,112,97,116,104,32>>,{code,[],[<<80,97,116,104>>]},<<32,40,97,32,108,105,115,116,32,111,102,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,115,41,32,117,110,116,105,108,32,116,104,101,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,102,111,117,110,100,46,32,73,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,97,110,32,97,98,115,111,108,117,116,101,32,102,105,108,101,110,97,109,101,44,32>>,{code,[],[<<80,97,116,104>>]},<<32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,110,32,111,112,101,110,115,32,116,104,101,32,102,105,108,101,32,105,110,32,116,104,101,32,109,111,100,101,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32>>,{code,[],[<<77,111,100,101,115>>]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,73,111,68,101,118,105,99,101,44,32,70,117,108,108,78,97,109,101,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,109,111,100,101,46,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<32,105,115,32,97,32,114,101,102,101,114,101,110,99,101,32,116,111,32,116,104,101,32,102,105,108,101,32,97,110,100,32>>,{code,[],[<<70,117,108,108,78,97,109,101>>]},<<32,105,115,32,116,104,101,32,102,117,108,108,32,110,97,109,101,32,111,102,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,101,110,116,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,102,111,117,110,100,32,105,110,32,97,110,121,32,111,102,32,116,104,101,32,100,105,114,101,99,116,111,114,105,101,115,32,105,110,32>>,{code,[],[<<80,97,116,104>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,97,116,111,109,40,41,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,111,112,101,110,101,100,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,49,50,52>>,signature => [{attribute,{1194,2},spec,{{path_open,3},[{type,{1194,16},bounded_fun,[{type,{1194,16},'fun',[{type,{1194,16},product,[{var,{1194,17},'Path'},{var,{1194,23},'Filename'},{var,{1194,33},'Modes'}]},{type,{1195,14},union,[{type,{1195,14},tuple,[{atom,{1195,15},ok},{var,{1195,19},'IoDevice'},{var,{1195,29},'FullName'}]},{type,{1195,41},tuple,[{atom,{1195,42},error},{var,{1195,49},'Reason'}]}]}]},[{type,{1196,7},constraint,[{atom,{1196,7},is_subtype},[{var,{1196,7},'Path'},{type,{1196,15},list,[{ann_type,{1196,16},[{var,{1196,16},'Dir'},{user_type,{1196,23},name_all,[]}]}]}]]},{type,{1197,7},constraint,[{atom,{1197,7},is_subtype},[{var,{1197,7},'Filename'},{user_type,{1197,19},name_all,[]}]]},{type,{1198,7},constraint,[{atom,{1198,7},is_subtype},[{var,{1198,7},'Modes'},{type,{1198,16},list,[{type,{1198,17},union,[{user_type,{1198,17},mode,[]},{atom,{1198,26},directory}]}]}]]},{type,{1199,7},constraint,[{atom,{1199,7},is_subtype},[{var,{1199,7},'IoDevice'},{user_type,{1199,19},io_device,[]}]]},{type,{1200,7},constraint,[{atom,{1200,7},is_subtype},[{var,{1200,7},'FullName'},{user_type,{1200,19},filename_all,[]}]]},{type,{1201,7},constraint,[{atom,{1201,7},is_subtype},[{var,{1201,7},'Reason'},{type,{1201,17},union,[{user_type,{1201,17},posix,[]},{atom,{1201,27},badarg},{atom,{1201,36},system_limit}]}]]}]]}]}}]}},{{function,path_script,2},[{file,[102,105,108,101,46,101,114,108]},{location,1149}],[<<112,97,116,104,95,115,99,114,105,112,116,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,97,114,99,104,101,115,32,116,104,101,32,112,97,116,104,32>>,{code,[],[<<80,97,116,104>>]},<<32,40,97,32,108,105,115,116,32,111,102,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,115,41,32,117,110,116,105,108,32,116,104,101,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,102,111,117,110,100,46,32,73,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,97,110,32,97,98,115,111,108,117,116,101,32,102,105,108,101,110,97,109,101,44,32>>,{code,[],[<<80,97,116,104>>]},<<32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,110,32,114,101,97,100,115,32,97,110,100,32,101,118,97,108,117,97,116,101,115,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,44,32,115,101,112,97,114,97,116,101,100,32,98,121,32,39,46,39,32,40,111,114,32,39,44,39,44,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,101,120,112,114,101,115,115,105,111,110,115,32,105,115,32,97,108,115,111,32,97,110,32,101,120,112,114,101,115,115,105,111,110,41,44,32,102,114,111,109,32,116,104,101,32,102,105,108,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,86,97,108,117,101,44,32,70,117,108,108,78,97,109,101,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,114,101,97,100,32,97,110,100,32,101,118,97,108,117,97,116,101,100,46,32>>,{code,[],[<<70,117,108,108,78,97,109,101>>]},<<32,105,115,32,116,104,101,32,102,117,108,108,32,110,97,109,101,32,111,102,32,116,104,101,32,102,105,108,101,32,97,110,100,32>>,{code,[],[<<86,97,108,117,101>>]},<<32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,108,97,115,116,32,101,120,112,114,101,115,115,105,111,110,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,101,110,116,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,102,111,117,110,100,32,105,110,32,97,110,121,32,111,102,32,116,104,101,32,100,105,114,101,99,116,111,114,105,101,115,32,105,110,32>>,{code,[],[<<80,97,116,104>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,97,116,111,109,40,41,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,114,101,97,100,105,110,103,32,105,116,46,32,70,111,114,32,97,32,108,105,115,116,32,111,102,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,99,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,123,76,105,110,101,44,32,77,111,100,44,32,84,101,114,109,125,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,105,110,116,101,114,112,114,101,116,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,116,104,101,32,102,105,108,101,46,32,85,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,102,111,114,109,97,116,95,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,49>>]}]},<<32,116,111,32,99,111,110,118,101,114,116,32,116,104,101,32,116,104,114,101,101,45,101,108,101,109,101,110,116,32,116,117,112,108,101,32,116,111,32,97,110,32,69,110,103,108,105,115,104,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,46>>]}]}]},{p,[],[<<84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,97,32,99,111,109,109,101,110,116,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,112,112,35,101,110,99,111,100,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,112,112,40,51,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,49,53,51>>,signature => [{attribute,{1149,2},spec,{{path_script,2},[{type,{1149,18},bounded_fun,[{type,{1149,18},'fun',[{type,{1149,18},product,[{var,{1149,19},'Path'},{var,{1149,25},'Filename'}]},{type,{1150,14},union,[{type,{1150,14},tuple,[{atom,{1150,15},ok},{var,{1150,19},'Value'},{var,{1150,26},'FullName'}]},{type,{1150,38},tuple,[{atom,{1150,39},error},{var,{1150,46},'Reason'}]}]}]},[{type,{1151,7},constraint,[{atom,{1151,7},is_subtype},[{var,{1151,7},'Path'},{type,{1151,15},list,[{ann_type,{1151,16},[{var,{1151,16},'Dir'},{user_type,{1151,23},name_all,[]}]}]}]]},{type,{1152,7},constraint,[{atom,{1152,7},is_subtype},[{var,{1152,7},'Filename'},{user_type,{1152,19},name_all,[]}]]},{type,{1153,7},constraint,[{atom,{1153,7},is_subtype},[{var,{1153,7},'Value'},{type,{1153,16},term,[]}]]},{type,{1154,7},constraint,[{atom,{1154,7},is_subtype},[{var,{1154,7},'FullName'},{user_type,{1154,19},filename_all,[]}]]},{type,{1155,7},constraint,[{atom,{1155,7},is_subtype},[{var,{1155,7},'Reason'},{type,{1155,17},union,[{user_type,{1155,17},posix,[]},{atom,{1155,27},badarg},{atom,{1155,36},terminated},{atom,{1155,49},system_limit},{type,{1156,17},tuple,[{ann_type,{1156,18},[{var,{1156,18},'Line'},{type,{1156,26},integer,[]}]},{ann_type,{1156,37},[{var,{1156,37},'Mod'},{type,{1156,44},module,[]}]},{ann_type,{1156,54},[{var,{1156,54},'Term'},{type,{1156,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,path_script,3},[{file,[102,105,108,101,46,101,114,108]},{location,1161}],[<<112,97,116,104,95,115,99,114,105,112,116,47,51>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<112,97,116,104,95,115,99,114,105,112,116,47,50>>]},<<32,98,117,116,32,116,104,101,32,118,97,114,105,97,98,108,101,32,98,105,110,100,105,110,103,115,32>>,{code,[],[<<66,105,110,100,105,110,103,115>>]},<<32,97,114,101,32,117,115,101,100,32,105,110,32,116,104,101,32,101,118,97,108,117,97,116,105,111,110,46,32,83,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,114,108,95,101,118,97,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,95,101,118,97,108,40,51,41>>]}]},<<32,97,98,111,117,116,32,118,97,114,105,97,98,108,101,32,98,105,110,100,105,110,103,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,49,57,55>>,signature => [{attribute,{1161,2},spec,{{path_script,3},[{type,{1161,18},bounded_fun,[{type,{1161,18},'fun',[{type,{1161,18},product,[{var,{1161,19},'Path'},{var,{1161,25},'Filename'},{var,{1161,35},'Bindings'}]},{type,{1162,11},union,[{type,{1162,11},tuple,[{atom,{1162,12},ok},{var,{1162,16},'Value'},{var,{1162,23},'FullName'}]},{type,{1162,35},tuple,[{atom,{1162,36},error},{var,{1162,43},'Reason'}]}]}]},[{type,{1163,7},constraint,[{atom,{1163,7},is_subtype},[{var,{1163,7},'Path'},{type,{1163,15},list,[{ann_type,{1163,16},[{var,{1163,16},'Dir'},{user_type,{1163,23},name_all,[]}]}]}]]},{type,{1164,7},constraint,[{atom,{1164,7},is_subtype},[{var,{1164,7},'Filename'},{user_type,{1164,19},name_all,[]}]]},{type,{1165,7},constraint,[{atom,{1165,7},is_subtype},[{var,{1165,7},'Bindings'},{remote_type,{1165,19},[{atom,{1165,19},erl_eval},{atom,{1165,28},binding_struct},[]]}]]},{type,{1166,7},constraint,[{atom,{1166,7},is_subtype},[{var,{1166,7},'Value'},{type,{1166,16},term,[]}]]},{type,{1167,7},constraint,[{atom,{1167,7},is_subtype},[{var,{1167,7},'FullName'},{user_type,{1167,19},filename_all,[]}]]},{type,{1168,7},constraint,[{atom,{1168,7},is_subtype},[{var,{1168,7},'Reason'},{type,{1168,17},union,[{user_type,{1168,17},posix,[]},{atom,{1168,27},badarg},{atom,{1168,36},terminated},{atom,{1168,49},system_limit},{type,{1169,17},tuple,[{ann_type,{1169,18},[{var,{1169,18},'Line'},{type,{1169,26},integer,[]}]},{ann_type,{1169,37},[{var,{1169,37},'Mod'},{type,{1169,44},module,[]}]},{ann_type,{1169,54},[{var,{1169,54},'Term'},{type,{1169,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,pid2name,1},[{file,[102,105,108,101,46,101,114,108]},{location,170}],[<<112,105,100,50,110,97,109,101,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,97,110,32,73,47,79,32,100,101,118,105,99,101,44,32,116,104,97,116,32,105,115,44,32,97,32,112,105,100,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32>>,{code,[],[<<111,112,101,110,47,50>>]},<<44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,116,104,101,32,102,105,108,101,110,97,109,101,44,32,111,114,32,114,97,116,104,101,114,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,70,105,108,101,110,97,109,101,125>>]}]},{dd,[],[{p,[],[<<73,102,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,111,102,32,116,104,105,115,32,110,111,100,101,32,105,115,32,110,111,116,32,97,32,115,108,97,118,101,44,32,116,104,101,32,102,105,108,101,32,119,97,115,32,111,112,101,110,101,100,32,98,121,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,111,102,32,116,104,105,115,32,110,111,100,101,32,40,116,104,105,115,32,105,109,112,108,105,101,115,32,116,104,97,116,32>>,{code,[],[<<80,105,100>>]},<<32,109,117,115,116,32,98,101,32,97,32,108,111,99,97,108,32,112,105,100,41,32,97,110,100,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,99,108,111,115,101,100,46,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,110,32,102,108,97,116,32,115,116,114,105,110,103,32,102,111,114,109,97,116,46>>]}]},{dt,[],[{code,[],[<<117,110,100,101,102,105,110,101,100>>]}]},{dd,[],[{p,[],[<<73,110,32,97,108,108,32,111,116,104,101,114,32,99,97,115,101,115,46>>]}]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,111,110,108,121,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,50,48,55>>,signature => [{attribute,{170,2},spec,{{pid2name,1},[{type,{170,15},bounded_fun,[{type,{170,15},'fun',[{type,{170,15},product,[{var,{170,16},'Pid'}]},{type,{170,24},union,[{type,{170,24},tuple,[{atom,{170,25},ok},{var,{170,29},'Filename'}]},{atom,{170,41},undefined}]}]},[{type,{171,7},constraint,[{atom,{171,7},is_subtype},[{var,{171,7},'Filename'},{user_type,{171,19},filename_all,[]}]]},{type,{172,7},constraint,[{atom,{172,7},is_subtype},[{var,{172,7},'Pid'},{type,{172,14},pid,[]}]]}]]}]}}]}},{{function,position,2},[{file,[102,105,108,101,46,101,114,108]},{location,753}],[<<112,111,115,105,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,102,105,108,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<32,116,111,32>>,{code,[],[<<76,111,99,97,116,105,111,110>>]},<<46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,78,101,119,80,111,115,105,116,105,111,110,125>>]},<<32,40,97,115,32,97,98,115,111,108,117,116,101,32,111,102,102,115,101,116,41,32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32>>,{code,[],[<<76,111,99,97,116,105,111,110>>]},<<32,105,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<79,102,102,115,101,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<123,98,111,102,44,32,79,102,102,115,101,116,125>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,98,111,102,44,32,79,102,102,115,101,116,125>>]}]},{dd,[],[{p,[],[<<65,98,115,111,108,117,116,101,32,111,102,102,115,101,116,46>>]}]},{dt,[],[{code,[],[<<123,99,117,114,44,32,79,102,102,115,101,116,125>>]}]},{dd,[],[{p,[],[<<79,102,102,115,101,116,32,102,114,111,109,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,46>>]}]},{dt,[],[{code,[],[<<123,101,111,102,44,32,79,102,102,115,101,116,125>>]}]},{dd,[],[{p,[],[<<79,102,102,115,101,116,32,102,114,111,109,32,116,104,101,32,101,110,100,32,111,102,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<98,111,102,32,124,32,99,117,114,32,124,32,101,111,102>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,97,98,111,118,101,32,119,105,116,104,32>>,{code,[],[<<79,102,102,115,101,116>>]},<<32,48,46>>]}]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,111,102,102,115,101,116,115,32,97,114,101,32,99,111,117,110,116,101,100,32,105,110,32,98,121,116,101,115,44,32,110,111,116,32,105,110,32,99,104,97,114,97,99,116,101,114,115,46,32,73,102,32,116,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,117,115,105,110,103,32,115,111,109,101,32,111,116,104,101,114,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,111,110,101,32,98,121,116,101,32,100,111,101,115,32,110,111,116,32,99,111,114,114,101,115,112,111,110,100,32,116,111,32,111,110,101,32,99,104,97,114,97,99,116,101,114,46,32,80,111,115,105,116,105,111,110,105,110,103,32,105,110,32,115,117,99,104,32,97,32,102,105,108,101,32,99,97,110,32,111,110,108,121,32,98,101,32,100,111,110,101,32,116,111,32,107,110,111,119,110,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,105,101,115,46,32,84,104,97,116,32,105,115,44,32,116,111,32,97,32,112,111,115,105,116,105,111,110,32,101,97,114,108,105,101,114,32,114,101,116,114,105,101,118,101,100,32,98,121,32,103,101,116,116,105,110,103,32,97,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,44,32,116,111,32,116,104,101,32,98,101,103,105,110,110,105,110,103,47,101,110,100,32,111,102,32,116,104,101,32,102,105,108,101,32,111,114,32,116,111,32,115,111,109,101,32,111,116,104,101,114,32,112,111,115,105,116,105,111,110,32>>,{em,[],[<<107,110,111,119,110>>]},<<32,116,111,32,98,101,32,111,110,32,97,32,99,111,114,114,101,99,116,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,121,32,98,121,32,115,111,109,101,32,111,116,104,101,114,32,109,101,97,110,115,32,40,116,121,112,105,99,97,108,108,121,32,98,101,121,111,110,100,32,97,32,98,121,116,101,32,111,114,100,101,114,32,109,97,114,107,32,105,110,32,116,104,101,32,102,105,108,101,44,32,119,104,105,99,104,32,104,97,115,32,97,32,107,110,111,119,110,32,98,121,116,101,45,115,105,122,101,41,46>>]},{p,[],[<<65,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,32,105,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,105,110,118,97,108>>]}]},{dd,[],[{p,[],[<<69,105,116,104,101,114,32>>,{code,[],[<<76,111,99,97,116,105,111,110>>]},<<32,105,115,32,105,108,108,101,103,97,108,44,32,111,114,32,105,116,32,105,115,32,101,118,97,108,117,97,116,101,100,32,116,111,32,97,32,110,101,103,97,116,105,118,101,32,111,102,102,115,101,116,32,105,110,32,116,104,101,32,102,105,108,101,46,32,78,111,116,105,99,101,32,116,104,97,116,32,105,102,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,112,111,115,105,116,105,111,110,32,105,115,32,97,32,110,101,103,97,116,105,118,101,32,118,97,108,117,101,44,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,97,110,32,101,114,114,111,114,44,32,97,110,100,32,97,102,116,101,114,32,116,104,101,32,99,97,108,108,32,116,104,101,32,102,105,108,101,32,112,111,115,105,116,105,111,110,32,105,115,32,117,110,100,101,102,105,110,101,100,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,50,51,50>>,signature => [{attribute,{753,2},spec,{{position,2},[{type,{753,15},bounded_fun,[{type,{753,15},'fun',[{type,{753,15},product,[{var,{753,16},'IoDevice'},{var,{753,26},'Location'}]},{type,{753,39},union,[{type,{753,39},tuple,[{atom,{753,40},ok},{var,{753,44},'NewPosition'}]},{type,{753,59},tuple,[{atom,{753,60},error},{var,{753,67},'Reason'}]}]}]},[{type,{754,7},constraint,[{atom,{754,7},is_subtype},[{var,{754,7},'IoDevice'},{user_type,{754,19},io_device,[]}]]},{type,{755,7},constraint,[{atom,{755,7},is_subtype},[{var,{755,7},'Location'},{user_type,{755,19},location,[]}]]},{type,{756,7},constraint,[{atom,{756,7},is_subtype},[{var,{756,7},'NewPosition'},{type,{756,22},integer,[]}]]},{type,{757,7},constraint,[{atom,{757,7},is_subtype},[{var,{757,7},'Reason'},{type,{757,17},union,[{user_type,{757,17},posix,[]},{atom,{757,27},badarg},{atom,{757,36},terminated}]}]]}]]}]}}]}},{{function,pread,2},[{file,[102,105,108,101,46,101,114,108]},{location,632}],[<<112,114,101,97,100,47,50>>],#{<<101,110>> => [{p,[],[<<80,101,114,102,111,114,109,115,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32>>,{code,[],[<<112,114,101,97,100,47,51>>]},<<32,105,110,32,111,110,101,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,99,104,32,105,115,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,104,97,110,32,99,97,108,108,105,110,103,32,116,104,101,109,32,111,110,101,32,97,116,32,97,32,116,105,109,101,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,91,68,97,116,97,44,32,46,46,46,93,125>>]},<<32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<44,32,119,104,101,114,101,32,101,97,99,104,32>>,{code,[],[<<68,97,116,97>>]},<<44,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32>>,{code,[],[<<112,114,101,97,100>>]},<<44,32,105,115,32,101,105,116,104,101,114,32,97,32,108,105,115,116,32,111,114,32,97,32,98,105,110,97,114,121,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,109,111,100,101,32,111,102,32,116,104,101,32,102,105,108,101,44,32,111,114,32>>,{code,[],[<<101,111,102>>]},<<32,105,102,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,112,111,115,105,116,105,111,110,32,105,115,32,98,101,121,111,110,100,32,101,110,100,32,111,102,32,102,105,108,101,46>>]},{p,[],[<<65,115,32,116,104,101,32,112,111,115,105,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,98,121,116,101,45,111,102,102,115,101,116,44,32,116,97,107,101,32,115,112,101,99,105,97,108,32,99,97,117,116,105,111,110,32,119,104,101,110,32,119,111,114,107,105,110,103,32,119,105,116,104,32,102,105,108,101,115,32,119,104,101,114,101,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,105,115,32,115,101,116,32,116,111,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,97,115,32,110,111,116,32,101,118,101,114,121,32,98,121,116,101,32,112,111,115,105,116,105,111,110,32,105,115,32,97,32,118,97,108,105,100,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,121,32,111,110,32,115,117,99,104,32,97,32,102,105,108,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,50,56,52>>,signature => [{attribute,{632,2},spec,{{pread,2},[{type,{632,12},bounded_fun,[{type,{632,12},'fun',[{type,{632,12},product,[{var,{632,13},'IoDevice'},{var,{632,23},'LocNums'}]},{type,{632,35},union,[{type,{632,35},tuple,[{atom,{632,36},ok},{var,{632,40},'DataL'}]},{atom,{632,49},eof},{type,{632,55},tuple,[{atom,{632,56},error},{var,{632,63},'Reason'}]}]}]},[{type,{633,7},constraint,[{atom,{633,7},is_subtype},[{var,{633,7},'IoDevice'},{user_type,{633,19},io_device,[]}]]},{type,{634,7},constraint,[{atom,{634,7},is_subtype},[{var,{634,7},'LocNums'},{type,{634,18},list,[{type,{634,19},tuple,[{ann_type,{634,20},[{var,{634,20},'Location'},{user_type,{634,32},location,[]}]},{ann_type,{634,44},[{var,{634,44},'Number'},{type,{634,54},non_neg_integer,[]}]}]}]}]]},{type,{635,7},constraint,[{atom,{635,7},is_subtype},[{var,{635,7},'DataL'},{type,{635,16},list,[{var,{635,17},'Data'}]}]]},{type,{636,7},constraint,[{atom,{636,7},is_subtype},[{var,{636,7},'Data'},{type,{636,15},union,[{type,{636,15},string,[]},{type,{636,26},binary,[]},{atom,{636,37},eof}]}]]},{type,{637,7},constraint,[{atom,{637,7},is_subtype},[{var,{637,7},'Reason'},{type,{637,17},union,[{user_type,{637,17},posix,[]},{atom,{637,27},badarg},{atom,{637,36},terminated}]}]]}]]}]}}]}},{{function,pread,3},[{file,[102,105,108,101,46,101,114,108]},{location,660}],[<<112,114,101,97,100,47,51>>],#{<<101,110>> => [{p,[],[<<67,111,109,98,105,110,101,115,32>>,{code,[],[<<112,111,115,105,116,105,111,110,47,50>>]},<<32,97,110,100,32>>,{code,[],[<<114,101,97,100,47,50>>]},<<32,105,110,32,111,110,101,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,99,104,32,105,115,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,104,97,110,32,99,97,108,108,105,110,103,32,116,104,101,109,32,111,110,101,32,97,116,32,97,32,116,105,109,101,46>>]},{p,[],[{code,[],[<<76,111,99,97,116,105,111,110>>]},<<32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,116,111,32,98,101,32,97,110,32,105,110,116,101,103,101,114,32,102,111,114,32>>,{code,[],[<<114,97,119>>]},<<32,97,110,100,32>>,{code,[],[<<114,97,109>>]},<<32,109,111,100,101,115,46>>]},{p,[],[<<84,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,102,105,108,101,32,97,102,116,101,114,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,105,115,32,117,110,100,101,102,105,110,101,100,32,102,111,114,32>>,{code,[],[<<114,97,119>>]},<<32,109,111,100,101,32,97,110,100,32,117,110,99,104,97,110,103,101,100,32,102,111,114,32>>,{code,[],[<<114,97,109>>]},<<32,109,111,100,101,46>>]},{p,[],[<<65,115,32,116,104,101,32,112,111,115,105,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,98,121,116,101,45,111,102,102,115,101,116,44,32,116,97,107,101,32,115,112,101,99,105,97,108,32,99,97,117,116,105,111,110,32,119,104,101,110,32,119,111,114,107,105,110,103,32,119,105,116,104,32,102,105,108,101,115,32,119,104,101,114,101,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,105,115,32,115,101,116,32,116,111,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,97,115,32,110,111,116,32,101,118,101,114,121,32,98,121,116,101,32,112,111,115,105,116,105,111,110,32,105,115,32,97,32,118,97,108,105,100,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,121,32,111,110,32,115,117,99,104,32,97,32,102,105,108,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,51,48,50>>,signature => [{attribute,{660,2},spec,{{pread,3},[{type,{660,12},bounded_fun,[{type,{660,12},'fun',[{type,{660,12},product,[{var,{660,13},'IoDevice'},{var,{660,23},'Location'},{var,{660,33},'Number'}]},{type,{661,14},union,[{type,{661,14},tuple,[{atom,{661,15},ok},{var,{661,19},'Data'}]},{atom,{661,27},eof},{type,{661,33},tuple,[{atom,{661,34},error},{var,{661,41},'Reason'}]}]}]},[{type,{662,7},constraint,[{atom,{662,7},is_subtype},[{var,{662,7},'IoDevice'},{user_type,{662,19},io_device,[]}]]},{type,{663,7},constraint,[{atom,{663,7},is_subtype},[{var,{663,7},'Location'},{user_type,{663,19},location,[]}]]},{type,{664,7},constraint,[{atom,{664,7},is_subtype},[{var,{664,7},'Number'},{type,{664,17},non_neg_integer,[]}]]},{type,{665,7},constraint,[{atom,{665,7},is_subtype},[{var,{665,7},'Data'},{type,{665,15},union,[{type,{665,15},string,[]},{type,{665,26},binary,[]}]}]]},{type,{666,7},constraint,[{atom,{666,7},is_subtype},[{var,{666,7},'Reason'},{type,{666,17},union,[{user_type,{666,17},posix,[]},{atom,{666,27},badarg},{atom,{666,36},terminated}]}]]}]]}]}}]}},{{function,pwrite,2},[{file,[102,105,108,101,46,101,114,108]},{location,693}],[<<112,119,114,105,116,101,47,50>>],#{<<101,110>> => [{p,[],[<<80,101,114,102,111,114,109,115,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32>>,{code,[],[<<112,119,114,105,116,101,47,51>>]},<<32,105,110,32,111,110,101,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,99,104,32,105,115,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,104,97,110,32,99,97,108,108,105,110,103,32,116,104,101,109,32,111,110,101,32,97,116,32,97,32,116,105,109,101,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,32,123,78,44,32,82,101,97,115,111,110,125,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<78>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,117,99,99,101,115,115,102,117,108,32,119,114,105,116,101,115,32,100,111,110,101,32,98,101,102,111,114,101,32,116,104,101,32,102,97,105,108,117,114,101,46>>]},{p,[],[<<87,104,101,110,32,112,111,115,105,116,105,111,110,105,110,103,32,105,110,32,97,32,102,105,108,101,32,119,105,116,104,32,111,116,104,101,114,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,99,97,117,116,105,111,110,32,109,117,115,116,32,98,101,32,116,97,107,101,110,32,116,111,32,115,101,116,32,116,104,101,32,112,111,115,105,116,105,111,110,32,111,110,32,97,32,99,111,114,114,101,99,116,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,121,46,32,70,111,114,32,100,101,116,97,105,108,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,112,111,115,105,116,105,111,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,111,115,105,116,105,111,110,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,51,49,57>>,signature => [{attribute,{693,2},spec,{{pwrite,2},[{type,{693,13},bounded_fun,[{type,{693,13},'fun',[{type,{693,13},product,[{var,{693,14},'IoDevice'},{var,{693,24},'LocBytes'}]},{type,{693,37},union,[{atom,{693,37},ok},{type,{693,42},tuple,[{atom,{693,43},error},{type,{693,50},tuple,[{var,{693,51},'N'},{var,{693,54},'Reason'}]}]}]}]},[{type,{694,7},constraint,[{atom,{694,7},is_subtype},[{var,{694,7},'IoDevice'},{user_type,{694,19},io_device,[]}]]},{type,{695,7},constraint,[{atom,{695,7},is_subtype},[{var,{695,7},'LocBytes'},{type,{695,19},list,[{type,{695,20},tuple,[{ann_type,{695,21},[{var,{695,21},'Location'},{user_type,{695,33},location,[]}]},{ann_type,{695,45},[{var,{695,45},'Bytes'},{type,{695,54},iodata,[]}]}]}]}]]},{type,{696,7},constraint,[{atom,{696,7},is_subtype},[{var,{696,7},'N'},{type,{696,12},non_neg_integer,[]}]]},{type,{697,7},constraint,[{atom,{697,7},is_subtype},[{var,{697,7},'Reason'},{type,{697,17},union,[{user_type,{697,17},posix,[]},{atom,{697,27},badarg},{atom,{697,36},terminated}]}]]}]]}]}}]}},{{function,pwrite,3},[{file,[102,105,108,101,46,101,114,108]},{location,718}],[<<112,119,114,105,116,101,47,51>>],#{<<101,110>> => [{p,[],[<<67,111,109,98,105,110,101,115,32>>,{code,[],[<<112,111,115,105,116,105,111,110,47,50>>]},<<32,97,110,100,32>>,{code,[],[<<119,114,105,116,101,47,50>>]},<<32,105,110,32,111,110,101,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,99,104,32,105,115,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,104,97,110,32,99,97,108,108,105,110,103,32,116,104,101,109,32,111,110,101,32,97,116,32,97,32,116,105,109,101,46>>]},{p,[],[{code,[],[<<76,111,99,97,116,105,111,110>>]},<<32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,116,111,32,98,101,32,97,110,32,105,110,116,101,103,101,114,32,102,111,114,32>>,{code,[],[<<114,97,119>>]},<<32,97,110,100,32>>,{code,[],[<<114,97,109>>]},<<32,109,111,100,101,115,46>>]},{p,[],[<<84,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,102,105,108,101,32,97,102,116,101,114,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,105,115,32,117,110,100,101,102,105,110,101,100,32,102,111,114,32>>,{code,[],[<<114,97,119>>]},<<32,109,111,100,101,32,97,110,100,32,117,110,99,104,97,110,103,101,100,32,102,111,114,32>>,{code,[],[<<114,97,109>>]},<<32,109,111,100,101,46>>]},{p,[],[<<87,104,101,110,32,112,111,115,105,116,105,111,110,105,110,103,32,105,110,32,97,32,102,105,108,101,32,119,105,116,104,32,111,116,104,101,114,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,99,97,117,116,105,111,110,32,109,117,115,116,32,98,101,32,116,97,107,101,110,32,116,111,32,115,101,116,32,116,104,101,32,112,111,115,105,116,105,111,110,32,111,110,32,97,32,99,111,114,114,101,99,116,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,121,46,32,70,111,114,32,100,101,116,97,105,108,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,112,111,115,105,116,105,111,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,111,115,105,116,105,111,110,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,51,51,52>>,signature => [{attribute,{718,2},spec,{{pwrite,3},[{type,{718,13},bounded_fun,[{type,{718,13},'fun',[{type,{718,13},product,[{var,{718,14},'IoDevice'},{var,{718,24},'Location'},{var,{718,34},'Bytes'}]},{type,{718,44},union,[{atom,{718,44},ok},{type,{718,49},tuple,[{atom,{718,50},error},{var,{718,57},'Reason'}]}]}]},[{type,{719,7},constraint,[{atom,{719,7},is_subtype},[{var,{719,7},'IoDevice'},{user_type,{719,19},io_device,[]}]]},{type,{720,7},constraint,[{atom,{720,7},is_subtype},[{var,{720,7},'Location'},{user_type,{720,19},location,[]}]]},{type,{721,7},constraint,[{atom,{721,7},is_subtype},[{var,{721,7},'Bytes'},{type,{721,16},iodata,[]}]]},{type,{722,7},constraint,[{atom,{722,7},is_subtype},[{var,{722,7},'Reason'},{type,{722,17},union,[{user_type,{722,17},posix,[]},{atom,{722,27},badarg},{atom,{722,36},terminated}]}]]}]]}]}}]}},{{function,read,2},[{file,[102,105,108,101,46,101,114,108]},{location,590}],[<<114,101,97,100,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,97,100,115,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<32,98,121,116,101,115,47,99,104,97,114,97,99,116,101,114,115,32,102,114,111,109,32,116,104,101,32,102,105,108,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<46,32,84,104,101,32,102,117,110,99,116,105,111,110,115,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,47,50>>]}]},<<44,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,112,114,101,97,100,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,101,97,100,47,51>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,95,108,105,110,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,95,108,105,110,101,47,49>>]}]},<<32,97,114,101,32,116,104,101,32,111,110,108,121,32,119,97,121,115,32,116,111,32,114,101,97,100,32,102,114,111,109,32,97,32,102,105,108,101,32,111,112,101,110,101,100,32,105,110,32>>,{code,[],[<<114,97,119>>]},<<32,109,111,100,101,32,40,97,108,116,104,111,117,103,104,32,116,104,101,121,32,119,111,114,107,32,102,111,114,32,110,111,114,109,97,108,108,121,32,111,112,101,110,101,100,32,102,105,108,101,115,44,32,116,111,111,41,46>>]},{p,[],[<<70,111,114,32,102,105,108,101,115,32,119,104,101,114,101,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,105,115,32,115,101,116,32,116,111,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,111,110,101,32,99,104,97,114,97,99,116,101,114,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,98,121,116,101,32,111,110,32,116,104,101,32,102,105,108,101,46,32,84,104,101,32,112,97,114,97,109,101,116,101,114,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<32,97,108,119,97,121,115,32,100,101,110,111,116,101,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32>>,{em,[],[<<99,104,97,114,97,99,116,101,114,115>>]},<<32,114,101,97,100,32,102,114,111,109,32,116,104,101,32,102,105,108,101,44,32,119,104,105,108,101,32,116,104,101,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,102,105,108,101,32,99,97,110,32,98,101,32,109,111,118,101,100,32,109,117,99,104,32,109,111,114,101,32,116,104,97,110,32,116,104,105,115,32,110,117,109,98,101,114,32,119,104,101,110,32,114,101,97,100,105,110,103,32,97,32,85,110,105,99,111,100,101,32,102,105,108,101,46>>]},{p,[],[<<65,108,115,111,44,32,105,102,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,105,115,32,115,101,116,32,116,111,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,116,104,101,32>>,{code,[],[<<114,101,97,100,47,51>>]},<<32,99,97,108,108,32,102,97,105,108,115,32,105,102,32,116,104,101,32,100,97,116,97,32,99,111,110,116,97,105,110,115,32,99,104,97,114,97,99,116,101,114,115,32,108,97,114,103,101,114,32,116,104,97,110,32,50,53,53,44,32,119,104,105,99,104,32,105,115,32,119,104,121,32,109,111,100,117,108,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111,40,51,41>>]}]},<<32,105,115,32,116,111,32,98,101,32,112,114,101,102,101,114,114,101,100,32,119,104,101,110,32,114,101,97,100,105,110,103,32,115,117,99,104,32,97,32,102,105,108,101,46>>]},{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,68,97,116,97,125>>]}]},{dd,[],[{p,[],[<<73,102,32,116,104,101,32,102,105,108,101,32,119,97,115,32,111,112,101,110,101,100,32,105,110,32,98,105,110,97,114,121,32,109,111,100,101,44,32,116,104,101,32,114,101,97,100,32,98,121,116,101,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,105,110,32,97,32,98,105,110,97,114,121,44,32,111,116,104,101,114,119,105,115,101,32,105,110,32,97,32,108,105,115,116,46,32,84,104,101,32,108,105,115,116,32,111,114,32,98,105,110,97,114,121,32,105,115,32,115,104,111,114,116,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,114,101,113,117,101,115,116,101,100,32,105,102,32,101,110,100,32,111,102,32,102,105,108,101,32,119,97,115,32,114,101,97,99,104,101,100,46>>]}]},{dt,[],[{code,[],[<<101,111,102>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,101,100,32,105,102,32>>,{code,[],[<<78,117,109,98,101,114,62,48>>]},<<32,97,110,100,32,101,110,100,32,111,102,32,102,105,108,101,32,119,97,115,32,114,101,97,99,104,101,100,32,98,101,102,111,114,101,32,97,110,121,116,104,105,110,103,32,97,116,32,97,108,108,32,99,111,117,108,100,32,98,101,32,114,101,97,100,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,46>>]}]}]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,98,97,100,102>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,111,112,101,110,101,100,32,102,111,114,32,114,101,97,100,105,110,103,46>>]}]},{dt,[],[{code,[],[<<123,110,111,95,116,114,97,110,115,108,97,116,105,111,110,44,32,117,110,105,99,111,100,101,44,32,108,97,116,105,110,49,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,119,105,116,104,32,97,110,111,116,104,101,114,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<32,97,110,100,32,116,104,101,32,100,97,116,97,32,105,110,32,116,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,116,114,97,110,115,108,97,116,101,100,32,116,111,32,116,104,101,32,98,121,116,101,45,111,114,105,101,110,116,101,100,32,100,97,116,97,32,116,104,97,116,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,51,53,49>>,signature => [{attribute,{590,2},spec,{{read,2},[{type,{590,11},bounded_fun,[{type,{590,11},'fun',[{type,{590,11},product,[{var,{590,12},'IoDevice'},{var,{590,22},'Number'}]},{type,{590,33},union,[{type,{590,33},tuple,[{atom,{590,34},ok},{var,{590,38},'Data'}]},{atom,{590,46},eof},{type,{590,52},tuple,[{atom,{590,53},error},{var,{590,60},'Reason'}]}]}]},[{type,{591,7},constraint,[{atom,{591,7},is_subtype},[{var,{591,7},'IoDevice'},{type,{591,19},union,[{user_type,{591,19},io_device,[]},{type,{591,33},atom,[]}]}]]},{type,{592,7},constraint,[{atom,{592,7},is_subtype},[{var,{592,7},'Number'},{type,{592,17},non_neg_integer,[]}]]},{type,{593,7},constraint,[{atom,{593,7},is_subtype},[{var,{593,7},'Data'},{type,{593,15},union,[{type,{593,15},string,[]},{type,{593,26},binary,[]}]}]]},{type,{594,7},constraint,[{atom,{594,7},is_subtype},[{var,{594,7},'Reason'},{type,{594,17},union,[{user_type,{594,17},posix,[]},{atom,{595,17},badarg},{atom,{596,17},terminated},{type,{597,17},tuple,[{atom,{597,18},no_translation},{atom,{597,34},unicode},{atom,{597,43},latin1}]}]}]]}]]}]}}]}},{{function,read_file,1},[{file,[102,105,108,101,46,101,114,108]},{location,419}],[<<114,101,97,100,95,102,105,108,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,66,105,110,97,114,121,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,105,115,32,97,32,98,105,110,97,114,121,32,100,97,116,97,32,111,98,106,101,99,116,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<44,32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<32,105,102,32,97,110,32,101,114,114,111,114,32,111,99,99,117,114,115,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,114,101,97,100,105,110,103,32,116,104,101,32,102,105,108,101,44,32,111,114,32,102,111,114,32,115,101,97,114,99,104,105,110,103,32,111,110,101,32,111,102,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,46>>]}]},{dt,[],[{code,[],[<<101,105,115,100,105,114>>]}]},{dd,[],[{p,[],[<<84,104,101,32,110,97,109,101,100,32,102,105,108,101,32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]},{dt,[],[{code,[],[<<101,110,111,109,101,109>>]}]},{dd,[],[{p,[],[<<84,104,101,114,101,32,105,115,32,110,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32,116,104,101,32,102,105,108,101,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,52,48,53>>,signature => [{attribute,{419,2},spec,{{read_file,1},[{type,{419,16},bounded_fun,[{type,{419,16},'fun',[{type,{419,16},product,[{var,{419,17},'Filename'}]},{type,{419,30},union,[{type,{419,30},tuple,[{atom,{419,31},ok},{var,{419,35},'Binary'}]},{type,{419,45},tuple,[{atom,{419,46},error},{var,{419,53},'Reason'}]}]}]},[{type,{420,7},constraint,[{atom,{420,7},is_subtype},[{var,{420,7},'Filename'},{user_type,{420,19},name_all,[]}]]},{type,{421,7},constraint,[{atom,{421,7},is_subtype},[{var,{421,7},'Binary'},{type,{421,17},binary,[]}]]},{type,{422,7},constraint,[{atom,{422,7},is_subtype},[{var,{422,7},'Reason'},{type,{422,17},union,[{user_type,{422,17},posix,[]},{atom,{422,27},badarg},{atom,{422,36},terminated},{atom,{422,49},system_limit}]}]]}]]}]}}]}},{{function,read_file_info,2},[{file,[102,105,108,101,46,101,114,108]},{location,294}],[<<114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,50>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,52,52,49>>,equiv => {function,read_file_info,1},signature => [{attribute,{294,2},spec,{{read_file_info,2},[{type,{294,21},bounded_fun,[{type,{294,21},'fun',[{type,{294,21},product,[{var,{294,22},'File'},{var,{294,28},'Opts'}]},{type,{294,37},union,[{type,{294,37},tuple,[{atom,{294,38},ok},{var,{294,42},'FileInfo'}]},{type,{294,54},tuple,[{atom,{294,55},error},{var,{294,62},'Reason'}]}]}]},[{type,{295,7},constraint,[{atom,{295,7},is_subtype},[{var,{295,7},'File'},{type,{295,15},union,[{user_type,{295,15},name_all,[]},{user_type,{295,28},io_device,[]}]}]]},{type,{296,7},constraint,[{atom,{296,7},is_subtype},[{var,{296,7},'Opts'},{type,{296,15},list,[{user_type,{296,16},file_info_option,[]}]}]]},{type,{297,7},constraint,[{atom,{297,7},is_subtype},[{var,{297,7},'FileInfo'},{user_type,{297,19},file_info,[]}]]},{type,{298,7},constraint,[{atom,{298,7},is_subtype},[{var,{298,7},'Reason'},{type,{298,17},union,[{user_type,{298,17},posix,[]},{atom,{298,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66>>}},{{function,read_file_info,1},[{file,[102,105,108,101,46,101,114,108]},{location,282}],[<<114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,114,105,101,118,101,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,32,102,105,108,101,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,70,105,108,101,73,110,102,111,125>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32>>,{code,[],[<<70,105,108,101,73,110,102,111>>]},<<32,105,115,32,97,32,114,101,99,111,114,100,32>>,{code,[],[<<102,105,108,101,95,105,110,102,111>>]},<<44,32,100,101,102,105,110,101,100,32,105,110,32,116,104,101,32,75,101,114,110,101,108,32,105,110,99,108,117,100,101,32,102,105,108,101,32>>,{code,[],[<<102,105,108,101,46,104,114,108>>]},<<46,32,73,110,99,108,117,100,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,100,105,114,101,99,116,105,118,101,32,105,110,32,116,104,101,32,109,111,100,117,108,101,32,102,114,111,109,32,119,104,105,99,104,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<32,45,105,110,99,108,117,100,101,95,108,105,98,40,34,107,101,114,110,101,108,47,105,110,99,108,117,100,101,47,102,105,108,101,46,104,114,108,34,41,46>>]}]},{p,[],[<<84,104,101,32,116,105,109,101,32,116,121,112,101,32,114,101,116,117,114,110,101,100,32,105,110,32>>,{code,[],[<<97,116,105,109,101>>]},<<44,32>>,{code,[],[<<109,116,105,109,101>>]},<<44,32,97,110,100,32>>,{code,[],[<<99,116,105,109,101>>]},<<32,105,115,32,100,101,112,101,110,100,101,110,116,32,111,110,32,116,104,101,32,116,105,109,101,32,116,121,112,101,32,115,101,116,32,105,110,32>>,{code,[],[<<79,112,116,115,32,58,58,32,123,116,105,109,101,44,32,84,121,112,101,125>>]},<<32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<108,111,99,97,108>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,108,111,99,97,108,32,116,105,109,101,46>>]}]},{dt,[],[{code,[],[<<117,110,105,118,101,114,115,97,108>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,117,110,105,118,101,114,115,97,108,32,116,105,109,101,46>>]}]},{dt,[],[{code,[],[<<112,111,115,105,120>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,115,101,99,111,110,100,115,32,115,105,110,99,101,32,111,114,32,98,101,102,111,114,101,32,85,110,105,120,32,116,105,109,101,32,101,112,111,99,104,44,32,119,104,105,99,104,32,105,115,32,49,57,55,48,45,48,49,45,48,49,32,48,48,58,48,48,32,85,84,67,46>>]}]}]},{p,[],[<<68,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<123,116,105,109,101,44,32,108,111,99,97,108,125>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,111,112,116,105,111,110,32>>,{code,[],[<<114,97,119>>]},<<32,105,115,32,115,101,116,44,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,105,115,32,110,111,116,32,99,97,108,108,101,100,32,97,110,100,32,111,110,108,121,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,108,111,99,97,108,32,102,105,108,101,115,32,105,115,32,114,101,116,117,114,110,101,100,46,32,78,111,116,101,32,116,104,97,116,32,116,104,105,115,32,119,105,108,108,32,98,114,101,97,107,32,116,104,105,115,32,109,111,100,117,108,101,39,115,32,97,116,111,109,105,99,105,116,121,32,103,117,97,114,97,110,116,101,101,115,32,97,115,32,105,116,32,99,97,110,32,114,97,99,101,32,119,105,116,104,32,97,32,99,111,110,99,117,114,114,101,110,116,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,49,44,50>>]},<<32>>]},<<46>>]},{p,[],[<<84,104,105,115,32,111,112,116,105,111,110,32,104,97,115,32,110,111,32,101,102,102,101,99,116,32,119,104,101,110,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,103,105,118,101,110,32,97,110,32,73,47,79,32,100,101,118,105,99,101,32,105,110,115,116,101,97,100,32,111,102,32,97,32,102,105,108,101,32,110,97,109,101,46,32,85,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<114,97,119>>]},<<32,109,111,100,101,32,116,111,32,111,98,116,97,105,110,32,97,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,102,105,114,115,116,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,115,32,102,105,108,101,32,116,105,109,101,115,32,97,114,101,32,115,116,111,114,101,100,32,105,110,32,80,79,83,73,88,32,116,105,109,101,32,111,110,32,109,111,115,116,32,79,83,44,32,105,116,32,105,115,32,102,97,115,116,101,114,32,116,111,32,113,117,101,114,121,32,102,105,108,101,32,105,110,102,111,114,109,97,116,105,111,110,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<112,111,115,105,120>>]},<<46>>]}]},{p,[],[<<84,104,101,32,114,101,99,111,114,100,32>>,{code,[],[<<102,105,108,101,95,105,110,102,111>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,105,101,108,100,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<115,105,122,101,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<83,105,122,101,32,111,102,32,102,105,108,101,32,105,110,32,98,121,116,101,115,46>>]}]},{dt,[],[{code,[],[<<116,121,112,101,32,61,32,100,101,118,105,99,101,32,124,32,100,105,114,101,99,116,111,114,121,32,124,32,111,116,104,101,114,32,124,32,114,101,103,117,108,97,114>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,121,112,101,32,111,102,32,116,104,101,32,102,105,108,101,46,32,67,97,110,32,97,108,115,111,32,99,111,110,116,97,105,110,32>>,{code,[],[<<115,121,109,108,105,110,107>>]},<<32,119,104,101,110,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,95,108,105,110,107,95,105,110,102,111,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<114,101,97,100,95,108,105,110,107,95,105,110,102,111,47,49,44,50>>]},<<46>>]}]},{dt,[],[{code,[],[<<97,99,99,101,115,115,32,61,32,114,101,97,100,32,124,32,119,114,105,116,101,32,124,32,114,101,97,100,95,119,114,105,116,101,32,124,32,110,111,110,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,97,99,99,101,115,115,32,116,111,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<97,116,105,109,101,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,100,97,116,101,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<100,97,116,101,95,116,105,109,101,40,41>>]}]},{code,[],[<<32,124,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,108,97,115,116,32,116,105,109,101,32,116,104,101,32,102,105,108,101,32,119,97,115,32,114,101,97,100,46>>]}]},{dt,[],[{code,[],[<<109,116,105,109,101,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,100,97,116,101,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<100,97,116,101,95,116,105,109,101,40,41>>]}]},{code,[],[<<32,124,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,108,97,115,116,32,116,105,109,101,32,116,104,101,32,102,105,108,101,32,119,97,115,32,119,114,105,116,116,101,110,46>>]}]},{dt,[],[{code,[],[<<99,116,105,109,101,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,100,97,116,101,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<100,97,116,101,95,116,105,109,101,40,41>>]}]},{code,[],[<<32,124,32,105,110,116,101,103,101,114,40,41,32,62,61,48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,105,110,116,101,114,112,114,101,116,97,116,105,111,110,32,111,102,32,116,104,105,115,32,116,105,109,101,32,102,105,101,108,100,32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,46,32,79,110,32,85,110,105,120,44,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,109,101,32,116,104,101,32,102,105,108,101,32,111,114,32,116,104,101,32>>,{code,[],[<<105,110,111,100,101>>]},<<32,119,97,115,32,99,104,97,110,103,101,100,46,32,73,110,32,87,105,110,100,111,119,115,44,32,105,116,32,105,115,32,116,104,101,32,99,114,101,97,116,101,32,116,105,109,101,46>>]}]},{dt,[],[{code,[],[<<109,111,100,101,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,112,101,114,109,105,115,115,105,111,110,115,32,97,115,32,116,104,101,32,115,117,109,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,98,105,116,32,118,97,108,117,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<56,35,48,48,52,48,48>>]}]},{dd,[],[{p,[],[<<114,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,50,48,48>>]}]},{dd,[],[{p,[],[<<119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,49,48,48>>]}]},{dd,[],[{p,[],[<<101,120,101,99,117,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,52,48>>]}]},{dd,[],[{p,[],[<<114,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,50,48>>]}]},{dd,[],[{p,[],[<<119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,49,48>>]}]},{dd,[],[{p,[],[<<101,120,101,99,117,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,48,52>>]}]},{dd,[],[{p,[],[<<114,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,48,50>>]}]},{dd,[],[{p,[],[<<119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,48,49>>]}]},{dd,[],[{p,[],[<<101,120,101,99,117,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114>>]}]},{dt,[],[{code,[],[<<49,54,35,56,48,48>>]}]},{dd,[],[{p,[],[<<115,101,116,32,117,115,101,114,32,105,100,32,111,110,32,101,120,101,99,117,116,105,111,110>>]}]},{dt,[],[{code,[],[<<49,54,35,52,48,48>>]}]},{dd,[],[{p,[],[<<115,101,116,32,103,114,111,117,112,32,105,100,32,111,110,32,101,120,101,99,117,116,105,111,110>>]}]}]},{p,[],[<<79,110,32,85,110,105,120,32,112,108,97,116,102,111,114,109,115,44,32,111,116,104,101,114,32,98,105,116,115,32,116,104,97,110,32,116,104,111,115,101,32,108,105,115,116,101,100,32,97,98,111,118,101,32,109,97,121,32,98,101,32,115,101,116,46>>]}]},{dt,[],[{code,[],[<<108,105,110,107,115,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<78,117,109,98,101,114,32,111,102,32,108,105,110,107,115,32,116,111,32,116,104,101,32,102,105,108,101,32,40,116,104,105,115,32,105,115,32,97,108,119,97,121,115,32,49,32,102,111,114,32,102,105,108,101,32,115,121,115,116,101,109,115,32,116,104,97,116,32,104,97,118,101,32,110,111,32,99,111,110,99,101,112,116,32,111,102,32,108,105,110,107,115,41,46>>]}]},{dt,[],[{code,[],[<<109,97,106,111,114,95,100,101,118,105,99,101,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<73,100,101,110,116,105,102,105,101,115,32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109,32,119,104,101,114,101,32,116,104,101,32,102,105,108,101,32,105,115,32,108,111,99,97,116,101,100,46,32,73,110,32,87,105,110,100,111,119,115,44,32,116,104,101,32,110,117,109,98,101,114,32,105,110,100,105,99,97,116,101,115,32,97,32,100,114,105,118,101,32,97,115,32,102,111,108,108,111,119,115,58,32,48,32,109,101,97,110,115,32,65,58,44,32,49,32,109,101,97,110,115,32,66,58,44,32,97,110,100,32,115,111,32,111,110,46>>]}]},{dt,[],[{code,[],[<<109,105,110,111,114,95,100,101,118,105,99,101,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,118,97,108,105,100,32,102,111,114,32,99,104,97,114,97,99,116,101,114,32,100,101,118,105,99,101,115,32,111,110,32,85,110,105,120,46,32,73,110,32,97,108,108,32,111,116,104,101,114,32,99,97,115,101,115,44,32,116,104,105,115,32,102,105,101,108,100,32,105,115,32,122,101,114,111,46>>]}]},{dt,[],[{code,[],[<<105,110,111,100,101,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<71,105,118,101,115,32,116,104,101,32>>,{code,[],[<<105,110,111,100,101>>]},<<32,110,117,109,98,101,114,46,32,79,110,32,110,111,110,45,85,110,105,120,32,102,105,108,101,32,115,121,115,116,101,109,115,44,32,116,104,105,115,32,102,105,101,108,100,32,105,115,32,122,101,114,111,46>>]}]},{dt,[],[{code,[],[<<117,105,100,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<73,110,100,105,99,97,116,101,115,32,116,104,101,32,111,119,110,101,114,32,111,102,32,116,104,101,32,102,105,108,101,46,32,79,110,32,110,111,110,45,85,110,105,120,32,102,105,108,101,32,115,121,115,116,101,109,115,44,32,116,104,105,115,32,102,105,101,108,100,32,105,115,32,122,101,114,111,46>>]}]},{dt,[],[{code,[],[<<103,105,100,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<71,105,118,101,115,32,116,104,101,32,103,114,111,117,112,32,116,104,97,116,32,116,104,101,32,111,119,110,101,114,32,111,102,32,116,104,101,32,102,105,108,101,32,98,101,108,111,110,103,115,32,116,111,46,32,79,110,32,110,111,110,45,85,110,105,120,32,102,105,108,101,32,115,121,115,116,101,109,115,44,32,116,104,105,115,32,102,105,101,108,100,32,105,115,32,122,101,114,111,46>>]}]}]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,115,101,97,114,99,104,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,111,110,101,32,111,102,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,52,52,49>>,signature => [{attribute,{282,2},spec,{{read_file_info,1},[{type,{282,21},bounded_fun,[{type,{282,21},'fun',[{type,{282,21},product,[{var,{282,22},'File'}]},{type,{282,31},union,[{type,{282,31},tuple,[{atom,{282,32},ok},{var,{282,36},'FileInfo'}]},{type,{282,48},tuple,[{atom,{282,49},error},{var,{282,56},'Reason'}]}]}]},[{type,{283,7},constraint,[{atom,{283,7},is_subtype},[{var,{283,7},'File'},{type,{283,15},union,[{user_type,{283,15},name_all,[]},{user_type,{283,28},io_device,[]}]}]]},{type,{284,7},constraint,[{atom,{284,7},is_subtype},[{var,{284,7},'FileInfo'},{user_type,{284,19},file_info,[]}]]},{type,{285,7},constraint,[{atom,{285,7},is_subtype},[{var,{285,7},'Reason'},{type,{285,17},union,[{user_type,{285,17},posix,[]},{atom,{285,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66>>}},{{function,read_line,1},[{file,[102,105,108,101,46,101,114,108]},{location,612}],[<<114,101,97,100,95,108,105,110,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,97,100,115,32,97,32,108,105,110,101,32,111,102,32,98,121,116,101,115,47,99,104,97,114,97,99,116,101,114,115,32,102,114,111,109,32,116,104,101,32,102,105,108,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<46,32,76,105,110,101,115,32,97,114,101,32,100,101,102,105,110,101,100,32,116,111,32,98,101,32,100,101,108,105,109,105,116,101,100,32,98,121,32,116,104,101,32,108,105,110,101,102,101,101,100,32,40,76,70,44,32>>,{code,[],[<<92,110>>]},<<41,32,99,104,97,114,97,99,116,101,114,44,32,98,117,116,32,97,110,121,32,99,97,114,114,105,97,103,101,32,114,101,116,117,114,110,32,40,67,82,44,32>>,{code,[],[<<92,114>>]},<<41,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,101,119,108,105,110,101,32,105,115,32,97,108,115,111,32,116,114,101,97,116,101,100,32,97,115,32,97,32,115,105,110,103,108,101,32,76,70,32,99,104,97,114,97,99,116,101,114,32,40,116,104,101,32,99,97,114,114,105,97,103,101,32,114,101,116,117,114,110,32,105,115,32,115,105,108,101,110,116,108,121,32,105,103,110,111,114,101,100,41,46,32,84,104,101,32,108,105,110,101,32,105,115,32,114,101,116,117,114,110,101,100,32>>,{em,[],[<<105,110,99,108,117,100,105,110,103>>]},<<32,116,104,101,32,76,70,44,32,98,117,116,32,101,120,99,108,117,100,105,110,103,32,97,110,121,32,67,82,32,105,109,109,101,100,105,97,116,101,108,121,32,102,111,108,108,111,119,101,100,32,98,121,32,97,110,32,76,70,46,32,84,104,105,115,32,98,101,104,97,118,105,111,117,114,32,105,115,32,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,116,104,101,32,98,101,104,97,118,105,111,117,114,32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111,35,103,101,116,95,108,105,110,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,111,58,103,101,116,95,108,105,110,101,47,50>>]}]},<<46,32,73,102,32,101,110,100,32,111,102,32,102,105,108,101,32,105,115,32,114,101,97,99,104,101,100,32,119,105,116,104,111,117,116,32,97,110,121,32,76,70,32,101,110,100,105,110,103,32,116,104,101,32,108,97,115,116,32,108,105,110,101,44,32,97,32,108,105,110,101,32,119,105,116,104,32,110,111,32,116,114,97,105,108,105,110,103,32,76,70,32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,32,99,97,110,32,98,101,32,117,115,101,100,32,111,110,32,102,105,108,101,115,32,111,112,101,110,101,100,32,105,110,32>>,{code,[],[<<114,97,119>>]},<<32,109,111,100,101,46,32,72,111,119,101,118,101,114,44,32,105,116,32,105,115,32,105,110,101,102,102,105,99,105,101,110,116,32,116,111,32,117,115,101,32,105,116,32,111,110,32>>,{code,[],[<<114,97,119>>]},<<32,102,105,108,101,115,32,105,102,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,111,112,101,110,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125>>]},<<32,115,112,101,99,105,102,105,101,100,46,32,84,104,117,115,44,32,99,111,109,98,105,110,105,110,103,32>>,{code,[],[<<114,97,119>>]},<<32,97,110,100,32>>,{code,[],[<<123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125>>]},<<32,105,115,32,104,105,103,104,108,121,32,114,101,99,111,109,109,101,110,100,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,97,32,116,101,120,116,32,102,105,108,101,32,102,111,114,32,114,97,119,32,108,105,110,101,45,111,114,105,101,110,116,101,100,32,114,101,97,100,105,110,103,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,105,115,32,115,101,116,32,116,111,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,116,104,101,32>>,{code,[],[<<114,101,97,100,95,108,105,110,101,47,49>>]},<<32,99,97,108,108,32,102,97,105,108,115,32,105,102,32,116,104,101,32,100,97,116,97,32,99,111,110,116,97,105,110,115,32,99,104,97,114,97,99,116,101,114,115,32,108,97,114,103,101,114,32,116,104,97,110,32,50,53,53,44,32,119,104,121,32,109,111,100,117,108,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111,40,51,41>>]}]},<<32,105,115,32,116,111,32,98,101,32,112,114,101,102,101,114,114,101,100,32,119,104,101,110,32,114,101,97,100,105,110,103,32,115,117,99,104,32,97,32,102,105,108,101,46>>]},{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,68,97,116,97,125>>]}]},{dd,[],[{p,[],[<<79,110,101,32,108,105,110,101,32,102,114,111,109,32,116,104,101,32,102,105,108,101,32,105,115,32,114,101,116,117,114,110,101,100,44,32,105,110,99,108,117,100,105,110,103,32,116,104,101,32,116,114,97,105,108,105,110,103,32,76,70,44,32,98,117,116,32,119,105,116,104,32,67,82,76,70,32,115,101,113,117,101,110,99,101,115,32,114,101,112,108,97,99,101,100,32,98,121,32,97,32,115,105,110,103,108,101,32,76,70,32,40,115,101,101,32,97,98,111,118,101,41,46>>]},{p,[],[<<73,102,32,116,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,105,110,32,98,105,110,97,114,121,32,109,111,100,101,44,32,116,104,101,32,114,101,97,100,32,98,121,116,101,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,105,110,32,97,32,98,105,110,97,114,121,44,32,111,116,104,101,114,119,105,115,101,32,105,110,32,97,32,108,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,111,102>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,101,100,32,105,102,32,101,110,100,32,111,102,32,102,105,108,101,32,119,97,115,32,114,101,97,99,104,101,100,32,98,101,102,111,114,101,32,97,110,121,116,104,105,110,103,32,97,116,32,97,108,108,32,99,111,117,108,100,32,98,101,32,114,101,97,100,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,46>>]}]}]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,98,97,100,102>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,111,112,101,110,101,100,32,102,111,114,32,114,101,97,100,105,110,103,46>>]}]},{dt,[],[{code,[],[<<123,110,111,95,116,114,97,110,115,108,97,116,105,111,110,44,32,117,110,105,99,111,100,101,44,32,108,97,116,105,110,49,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,119,105,116,104,32,97,110,111,116,104,101,114,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<32,97,110,100,32,116,104,101,32,100,97,116,97,32,111,110,32,116,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,116,114,97,110,115,108,97,116,101,100,32,116,111,32,116,104,101,32,98,121,116,101,45,111,114,105,101,110,116,101,100,32,100,97,116,97,32,116,104,97,116,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,54,48,49>>,signature => [{attribute,{612,2},spec,{{read_line,1},[{type,{612,16},bounded_fun,[{type,{612,16},'fun',[{type,{612,16},product,[{var,{612,17},'IoDevice'}]},{type,{612,30},union,[{type,{612,30},tuple,[{atom,{612,31},ok},{var,{612,35},'Data'}]},{atom,{612,43},eof},{type,{612,49},tuple,[{atom,{612,50},error},{var,{612,57},'Reason'}]}]}]},[{type,{613,7},constraint,[{atom,{613,7},is_subtype},[{var,{613,7},'IoDevice'},{type,{613,19},union,[{user_type,{613,19},io_device,[]},{type,{613,33},atom,[]}]}]]},{type,{614,7},constraint,[{atom,{614,7},is_subtype},[{var,{614,7},'Data'},{type,{614,15},union,[{type,{614,15},string,[]},{type,{614,26},binary,[]}]}]]},{type,{615,7},constraint,[{atom,{615,7},is_subtype},[{var,{615,7},'Reason'},{type,{615,17},union,[{user_type,{615,17},posix,[]},{atom,{616,17},badarg},{atom,{617,17},terminated},{type,{618,17},tuple,[{atom,{618,18},no_translation},{atom,{618,34},unicode},{atom,{618,43},latin1}]}]}]]}]]}]}}]}},{{function,read_link,1},[{file,[102,105,108,101,46,101,114,108]},{location,356}],[<<114,101,97,100,95,108,105,110,107,47,49>>],#{<<101,110>> => [{p,[],[{a,[{id,<<114,101,97,100,95,108,105,110,107,95,97,108,108>>}],[]},<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,70,105,108,101,110,97,109,101,125>>]},<<32,105,102,32>>,{code,[],[<<78,97,109,101>>]},<<32,114,101,102,101,114,115,32,116,111,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,32,116,104,97,116,32,105,115,32,110,111,116,32,97,32,114,97,119,32,102,105,108,101,110,97,109,101,44,32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<32,111,116,104,101,114,119,105,115,101,46,32,79,110,32,112,108,97,116,102,111,114,109,115,32,116,104,97,116,32,100,111,32,110,111,116,32,115,117,112,112,111,114,116,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115,44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<123,101,114,114,111,114,44,101,110,111,116,115,117,112,125>>]},<<46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,105,110,118,97,108>>]}]},{dd,[],[{p,[],[{code,[],[<<78,97,109,101>>]},<<32,100,111,101,115,32,110,111,116,32,114,101,102,101,114,32,116,111,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,32,111,114,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,102,105,108,101,32,116,104,97,116,32,105,116,32,114,101,102,101,114,115,32,116,111,32,100,111,101,115,32,110,111,116,32,99,111,110,102,111,114,109,32,116,111,32,116,104,101,32,101,120,112,101,99,116,101,100,32,101,110,99,111,100,105,110,103,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,115,117,112>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,108,105,110,107,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,111,110,32,116,104,105,115,32,112,108,97,116,102,111,114,109,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,54,53,56>>,signature => [{attribute,{356,2},spec,{{read_link,1},[{type,{356,16},bounded_fun,[{type,{356,16},'fun',[{type,{356,16},product,[{var,{356,17},'Name'}]},{type,{356,26},union,[{type,{356,26},tuple,[{atom,{356,27},ok},{var,{356,31},'Filename'}]},{type,{356,43},tuple,[{atom,{356,44},error},{var,{356,51},'Reason'}]}]}]},[{type,{357,7},constraint,[{atom,{357,7},is_subtype},[{var,{357,7},'Name'},{user_type,{357,15},name_all,[]}]]},{type,{358,7},constraint,[{atom,{358,7},is_subtype},[{var,{358,7},'Filename'},{user_type,{358,19},filename,[]}]]},{type,{359,7},constraint,[{atom,{359,7},is_subtype},[{var,{359,7},'Reason'},{type,{359,17},union,[{user_type,{359,17},posix,[]},{atom,{359,27},badarg}]}]]}]]}]}}]}},{{function,read_link_all,1},[{file,[102,105,108,101,46,101,114,108]},{location,364}],[<<114,101,97,100,95,108,105,110,107,95,97,108,108,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,70,105,108,101,110,97,109,101,125>>]},<<32,105,102,32>>,{code,[],[<<78,97,109,101>>]},<<32,114,101,102,101,114,115,32,116,111,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<32,111,116,104,101,114,119,105,115,101,46,32,79,110,32,112,108,97,116,102,111,114,109,115,32,116,104,97,116,32,100,111,32,110,111,116,32,115,117,112,112,111,114,116,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115,44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<123,101,114,114,111,114,44,101,110,111,116,115,117,112,125>>]},<<46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,99,97,110,32,98,101,32,101,105,116,104,101,114,32,97,32,108,105,115,116,32,111,114,32,97,32,98,105,110,97,114,121,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,105,110,118,97,108>>]}]},{dd,[],[{p,[],[{code,[],[<<78,97,109,101>>]},<<32,100,111,101,115,32,110,111,116,32,114,101,102,101,114,32,116,111,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,115,117,112>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,108,105,110,107,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,111,110,32,116,104,105,115,32,112,108,97,116,102,111,114,109,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,54,56,56>>,signature => [{attribute,{364,2},spec,{{read_link_all,1},[{type,{364,20},bounded_fun,[{type,{364,20},'fun',[{type,{364,20},product,[{var,{364,21},'Name'}]},{type,{364,30},union,[{type,{364,30},tuple,[{atom,{364,31},ok},{var,{364,35},'Filename'}]},{type,{364,47},tuple,[{atom,{364,48},error},{var,{364,55},'Reason'}]}]}]},[{type,{365,7},constraint,[{atom,{365,7},is_subtype},[{var,{365,7},'Name'},{user_type,{365,15},name_all,[]}]]},{type,{366,7},constraint,[{atom,{366,7},is_subtype},[{var,{366,7},'Filename'},{user_type,{366,19},filename_all,[]}]]},{type,{367,7},constraint,[{atom,{367,7},is_subtype},[{var,{367,7},'Reason'},{type,{367,17},union,[{user_type,{367,17},posix,[]},{atom,{367,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,54,66>>}},{{function,read_link_info,2},[{file,[102,105,108,101,46,101,114,108]},{location,334}],[<<114,101,97,100,95,108,105,110,107,95,105,110,102,111,47,50>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,55,49,54>>,equiv => {function,read_link_info,1},signature => [{attribute,{334,2},spec,{{read_link_info,2},[{type,{334,21},bounded_fun,[{type,{334,21},'fun',[{type,{334,21},product,[{var,{334,22},'Name'},{var,{334,28},'Opts'}]},{type,{334,37},union,[{type,{334,37},tuple,[{atom,{334,38},ok},{var,{334,42},'FileInfo'}]},{type,{334,54},tuple,[{atom,{334,55},error},{var,{334,62},'Reason'}]}]}]},[{type,{335,7},constraint,[{atom,{335,7},is_subtype},[{var,{335,7},'Name'},{user_type,{335,15},name_all,[]}]]},{type,{336,7},constraint,[{atom,{336,7},is_subtype},[{var,{336,7},'Opts'},{type,{336,15},list,[{user_type,{336,16},file_info_option,[]}]}]]},{type,{337,7},constraint,[{atom,{337,7},is_subtype},[{var,{337,7},'FileInfo'},{user_type,{337,19},file_info,[]}]]},{type,{338,7},constraint,[{atom,{338,7},is_subtype},[{var,{338,7},'Reason'},{type,{338,17},union,[{user_type,{338,17},posix,[]},{atom,{338,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66>>}},{{function,read_link_info,1},[{file,[102,105,108,101,46,101,114,108]},{location,326}],[<<114,101,97,100,95,108,105,110,107,95,105,110,102,111,47,49>>],#{<<101,110>> => [{p,[],[<<87,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49,44,50>>]}]},<<32,101,120,99,101,112,116,32,116,104,97,116,32,105,102,32>>,{code,[],[<<78,97,109,101>>]},<<32,105,115,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,44,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,108,105,110,107,32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,32,116,104,101,32>>,{code,[],[<<102,105,108,101,95,105,110,102,111>>]},<<32,114,101,99,111,114,100,32,97,110,100,32,116,104,101,32>>,{code,[],[<<116,121,112,101>>]},<<32,102,105,101,108,100,32,111,102,32,116,104,101,32,114,101,99,111,114,100,32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<115,121,109,108,105,110,107>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,111,112,116,105,111,110,32>>,{code,[],[<<114,97,119>>]},<<32,105,115,32,115,101,116,44,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,105,115,32,110,111,116,32,99,97,108,108,101,100,32,97,110,100,32,111,110,108,121,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,108,111,99,97,108,32,102,105,108,101,115,32,105,115,32,114,101,116,117,114,110,101,100,46,32,78,111,116,101,32,116,104,97,116,32,116,104,105,115,32,119,105,108,108,32,98,114,101,97,107,32,116,104,105,115,32,109,111,100,117,108,101,39,115,32,97,116,111,109,105,99,105,116,121,32,103,117,97,114,97,110,116,101,101,115,32,97,115,32,105,116,32,99,97,110,32,114,97,99,101,32,119,105,116,104,32,97,32,99,111,110,99,117,114,114,101,110,116,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,49,44,50>>]}]}]},{p,[],[<<73,102,32>>,{code,[],[<<78,97,109,101>>]},<<32,105,115,32,110,111,116,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,116,104,101,32,115,97,109,101,32,114,101,115,117,108,116,32,97,115,32>>,{code,[],[<<114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49>>]},<<46,32,79,110,32,112,108,97,116,102,111,114,109,115,32,116,104,97,116,32,100,111,32,110,111,116,32,115,117,112,112,111,114,116,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,97,108,119,97,121,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,55,49,54>>,signature => [{attribute,{326,2},spec,{{read_link_info,1},[{type,{326,21},bounded_fun,[{type,{326,21},'fun',[{type,{326,21},product,[{var,{326,22},'Name'}]},{type,{326,31},union,[{type,{326,31},tuple,[{atom,{326,32},ok},{var,{326,36},'FileInfo'}]},{type,{326,48},tuple,[{atom,{326,49},error},{var,{326,56},'Reason'}]}]}]},[{type,{327,7},constraint,[{atom,{327,7},is_subtype},[{var,{327,7},'Name'},{user_type,{327,15},name_all,[]}]]},{type,{328,7},constraint,[{atom,{328,7},is_subtype},[{var,{328,7},'FileInfo'},{user_type,{328,19},file_info,[]}]]},{type,{329,7},constraint,[{atom,{329,7},is_subtype},[{var,{329,7},'Reason'},{type,{329,17},union,[{user_type,{329,17},posix,[]},{atom,{329,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66>>}},{{function,rename,2},[{file,[102,105,108,101,46,101,114,108]},{location,241}],[<<114,101,110,97,109,101,47,50>>],#{<<101,110>> => [{p,[],[<<84,114,105,101,115,32,116,111,32,114,101,110,97,109,101,32,116,104,101,32,102,105,108,101,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,116,111,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<46,32,73,116,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,109,111,118,101,32,102,105,108,101,115,32,40,97,110,100,32,100,105,114,101,99,116,111,114,105,101,115,41,32,98,101,116,119,101,101,110,32,100,105,114,101,99,116,111,114,105,101,115,44,32,98,117,116,32,105,116,32,105,115,32,110,111,116,32,115,117,102,102,105,99,105,101,110,116,32,116,111,32,115,112,101,99,105,102,121,32,116,104,101,32,100,101,115,116,105,110,97,116,105,111,110,32,111,110,108,121,46,32,84,104,101,32,100,101,115,116,105,110,97,116,105,111,110,32,102,105,108,101,110,97,109,101,32,109,117,115,116,32,97,108,115,111,32,98,101,32,115,112,101,99,105,102,105,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32>>,{code,[],[<<98,97,114>>]},<<32,105,115,32,97,32,110,111,114,109,97,108,32,102,105,108,101,32,97,110,100,32>>,{code,[],[<<102,111,111>>]},<<32,97,110,100,32>>,{code,[],[<<98,97,122>>]},<<32,97,114,101,32,100,105,114,101,99,116,111,114,105,101,115,44,32>>,{code,[],[<<114,101,110,97,109,101,40,34,102,111,111,47,98,97,114,34,44,32,34,98,97,122,34,41>>]},<<32,114,101,116,117,114,110,115,32,97,110,32,101,114,114,111,114,44,32,98,117,116,32>>,{code,[],[<<114,101,110,97,109,101,40,34,102,111,111,47,98,97,114,34,44,32,34,98,97,122,47,98,97,114,34,41>>]},<<32,115,117,99,99,101,101,100,115,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,105,116,32,105,115,32,115,117,99,99,101,115,115,102,117,108,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<82,101,110,97,109,105,110,103,32,111,102,32,111,112,101,110,32,102,105,108,101,115,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,109,111,115,116,32,112,108,97,116,102,111,114,109,115,32,40,115,101,101,32>>,{code,[],[<<101,97,99,99,101,115>>]},<<32,98,101,108,111,119,41,46>>]}]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,114,101,97,100,32,111,114,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,111,114,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32,116,104,105,115,32,101,114,114,111,114,32,105,115,32,103,105,118,101,110,32,105,102,32,101,105,116,104,101,114,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,111,114,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,105,115,32,111,112,101,110,46>>]}]},{dt,[],[{code,[],[<<101,101,120,105,115,116>>]}]},{dd,[],[{p,[],[{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,105,115,32,110,111,116,32,97,110,32,101,109,112,116,121,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32,97,108,115,111,32,103,105,118,101,110,32,119,104,101,110,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,97,110,100,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,97,114,101,32,110,111,116,32,111,102,32,116,104,101,32,115,97,109,101,32,116,121,112,101,46>>]}]},{dt,[],[{code,[],[<<101,105,110,118,97,108>>]}]},{dd,[],[{p,[],[{code,[],[<<83,111,117,114,99,101>>]},<<32,105,115,32,97,32,114,111,111,116,32,100,105,114,101,99,116,111,114,121,44,32,111,114,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,105,115,32,97,32,115,117,98,100,105,114,101,99,116,111,114,121,32,111,102,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<46>>]}]},{dt,[],[{code,[],[<<101,105,115,100,105,114>>]}]},{dd,[],[{p,[],[{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,44,32,98,117,116,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,105,115,32,110,111,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[{code,[],[<<83,111,117,114,99,101>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[{code,[],[<<83,111,117,114,99,101>>]},<<32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,44,32,98,117,116,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,105,115,32,110,111,116,46>>]}]},{dt,[],[{code,[],[<<101,120,100,101,118>>]}]},{dd,[],[{p,[],[{code,[],[<<83,111,117,114,99,101>>]},<<32,97,110,100,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,97,114,101,32,111,110,32,100,105,102,102,101,114,101,110,116,32,102,105,108,101,32,115,121,115,116,101,109,115,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,55,51,56>>,signature => [{attribute,{241,2},spec,{{rename,2},[{type,{241,13},bounded_fun,[{type,{241,13},'fun',[{type,{241,13},product,[{var,{241,14},'Source'},{var,{241,22},'Destination'}]},{type,{241,38},union,[{atom,{241,38},ok},{type,{241,43},tuple,[{atom,{241,44},error},{var,{241,51},'Reason'}]}]}]},[{type,{242,7},constraint,[{atom,{242,7},is_subtype},[{var,{242,7},'Source'},{user_type,{242,17},name_all,[]}]]},{type,{243,7},constraint,[{atom,{243,7},is_subtype},[{var,{243,7},'Destination'},{user_type,{243,22},name_all,[]}]]},{type,{244,7},constraint,[{atom,{244,7},is_subtype},[{var,{244,7},'Reason'},{type,{244,17},union,[{user_type,{244,17},posix,[]},{atom,{244,27},badarg}]}]]}]]}]}}]}},{{function,script,1},[{file,[102,105,108,101,46,101,114,108]},{location,1123}],[<<115,99,114,105,112,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,97,100,115,32,97,110,100,32,101,118,97,108,117,97,116,101,115,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,44,32,115,101,112,97,114,97,116,101,100,32,98,121,32,39,46,39,32,40,111,114,32,39,44,39,44,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,101,120,112,114,101,115,115,105,111,110,115,32,105,115,32,97,108,115,111,32,97,110,32,101,120,112,114,101,115,115,105,111,110,41,44,32,102,114,111,109,32,116,104,101,32,102,105,108,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,86,97,108,117,101,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,114,101,97,100,32,97,110,100,32,101,118,97,108,117,97,116,101,100,46,32>>,{code,[],[<<86,97,108,117,101>>]},<<32,105,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,108,97,115,116,32,101,120,112,114,101,115,115,105,111,110,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,97,116,111,109,40,41,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,114,101,97,100,105,110,103,32,105,116,46,32,70,111,114,32,97,32,108,105,115,116,32,111,102,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,99,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,123,76,105,110,101,44,32,77,111,100,44,32,84,101,114,109,125,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,105,110,116,101,114,112,114,101,116,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,116,104,101,32,102,105,108,101,46,32,85,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,102,111,114,109,97,116,95,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,49>>]}]},<<32,116,111,32,99,111,110,118,101,114,116,32,116,104,101,32,116,104,114,101,101,45,101,108,101,109,101,110,116,32,116,117,112,108,101,32,116,111,32,97,110,32,69,110,103,108,105,115,104,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,46>>]}]}]},{p,[],[<<84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,97,32,99,111,109,109,101,110,116,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,112,112,35,101,110,99,111,100,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,112,112,40,51,41>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,56,48,49>>,signature => [{attribute,{1123,2},spec,{{script,1},[{type,{1123,13},bounded_fun,[{type,{1123,13},'fun',[{type,{1123,13},product,[{var,{1123,14},'Filename'}]},{type,{1123,27},union,[{type,{1123,27},tuple,[{atom,{1123,28},ok},{var,{1123,32},'Value'}]},{type,{1123,41},tuple,[{atom,{1123,42},error},{var,{1123,49},'Reason'}]}]}]},[{type,{1124,7},constraint,[{atom,{1124,7},is_subtype},[{var,{1124,7},'Filename'},{user_type,{1124,19},name_all,[]}]]},{type,{1125,7},constraint,[{atom,{1125,7},is_subtype},[{var,{1125,7},'Value'},{type,{1125,16},term,[]}]]},{type,{1126,7},constraint,[{atom,{1126,7},is_subtype},[{var,{1126,7},'Reason'},{type,{1126,17},union,[{user_type,{1126,17},posix,[]},{atom,{1126,27},badarg},{atom,{1126,36},terminated},{atom,{1126,49},system_limit},{type,{1127,17},tuple,[{ann_type,{1127,18},[{var,{1127,18},'Line'},{type,{1127,26},integer,[]}]},{ann_type,{1127,37},[{var,{1127,37},'Mod'},{type,{1127,44},module,[]}]},{ann_type,{1127,54},[{var,{1127,54},'Term'},{type,{1127,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,script,2},[{file,[102,105,108,101,46,101,114,108]},{location,1132}],[<<115,99,114,105,112,116,47,50>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<115,99,114,105,112,116,47,49>>]},<<32,98,117,116,32,116,104,101,32,118,97,114,105,97,98,108,101,32,98,105,110,100,105,110,103,115,32>>,{code,[],[<<66,105,110,100,105,110,103,115>>]},<<32,97,114,101,32,117,115,101,100,32,105,110,32,116,104,101,32,101,118,97,108,117,97,116,105,111,110,46,32,83,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,114,108,95,101,118,97,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,95,101,118,97,108,40,51,41>>]}]},<<32,97,98,111,117,116,32,118,97,114,105,97,98,108,101,32,98,105,110,100,105,110,103,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,56,51,54>>,signature => [{attribute,{1132,2},spec,{{script,2},[{type,{1132,13},bounded_fun,[{type,{1132,13},'fun',[{type,{1132,13},product,[{var,{1132,14},'Filename'},{var,{1132,24},'Bindings'}]},{type,{1132,37},union,[{type,{1132,37},tuple,[{atom,{1132,38},ok},{var,{1132,42},'Value'}]},{type,{1132,51},tuple,[{atom,{1132,52},error},{var,{1132,59},'Reason'}]}]}]},[{type,{1133,7},constraint,[{atom,{1133,7},is_subtype},[{var,{1133,7},'Filename'},{user_type,{1133,19},name_all,[]}]]},{type,{1134,7},constraint,[{atom,{1134,7},is_subtype},[{var,{1134,7},'Bindings'},{remote_type,{1134,19},[{atom,{1134,19},erl_eval},{atom,{1134,28},binding_struct},[]]}]]},{type,{1135,7},constraint,[{atom,{1135,7},is_subtype},[{var,{1135,7},'Value'},{type,{1135,16},term,[]}]]},{type,{1136,7},constraint,[{atom,{1136,7},is_subtype},[{var,{1136,7},'Reason'},{type,{1136,17},union,[{user_type,{1136,17},posix,[]},{atom,{1136,27},badarg},{atom,{1136,36},terminated},{atom,{1136,49},system_limit},{type,{1137,17},tuple,[{ann_type,{1137,18},[{var,{1137,18},'Line'},{type,{1137,26},integer,[]}]},{ann_type,{1137,37},[{var,{1137,37},'Mod'},{type,{1137,44},module,[]}]},{ann_type,{1137,54},[{var,{1137,54},'Term'},{type,{1137,62},term,[]}]}]}]}]]}]]}]}}]}},{{function,sendfile,2},[{file,[102,105,108,101,46,101,114,108]},{location,1317}],[<<115,101,110,100,102,105,108,101,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,110,100,115,32,116,104,101,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,116,111,32>>,{code,[],[<<83,111,99,107,101,116>>]},<<46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,66,121,116,101,115,83,101,110,116,125>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,56,52,54>>,signature => [{attribute,{1317,2},spec,{{sendfile,2},[{type,{1317,15},bounded_fun,[{type,{1317,15},'fun',[{type,{1317,15},product,[{var,{1317,16},'Filename'},{var,{1317,26},'Socket'}]},{type,{1318,4},union,[{type,{1318,4},tuple,[{atom,{1318,5},ok},{type,{1318,11},non_neg_integer,[]}]},{type,{1318,32},tuple,[{atom,{1318,33},error},{type,{1318,42},union,[{remote_type,{1318,42},[{atom,{1318,42},inet},{atom,{1318,47},posix},[]]},{atom,{1319,5},closed},{atom,{1319,14},badarg},{atom,{1319,23},not_owner}]}]}]}]},[{type,{1320,7},constraint,[{atom,{1320,7},is_subtype},[{var,{1320,7},'Filename'},{user_type,{1320,19},name_all,[]}]]},{type,{1321,7},constraint,[{atom,{1321,7},is_subtype},[{var,{1321,7},'Socket'},{type,{1321,17},union,[{remote_type,{1321,17},[{atom,{1321,17},inet},{atom,{1321,22},socket},[]]},{remote_type,{1321,33},[{atom,{1321,33},socket},{atom,{1321,40},socket},[]]},{type,{1322,22},'fun',[{type,{1322,22},product,[{type,{1322,23},iolist,[]}]},{type,{1322,36},union,[{atom,{1322,36},ok},{type,{1322,41},tuple,[{atom,{1322,42},error},{type,{1322,49},union,[{remote_type,{1322,49},[{atom,{1322,49},inet},{atom,{1322,54},posix},[]]},{atom,{1322,64},closed}]}]}]}]}]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66>>}},{{function,sendfile,5},[{file,[102,105,108,101,46,101,114,108]},{location,1289}],[<<115,101,110,100,102,105,108,101,47,53>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<115,101,110,100,102,105,108,101,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<83,101,110,100,115,32>>,{code,[],[<<66,121,116,101,115>>]},<<32,102,114,111,109,32,116,104,101,32,102,105,108,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32>>,{code,[],[<<82,97,119,70,105,108,101>>]},<<32,98,101,103,105,110,110,105,110,103,32,97,116,32>>,{code,[],[<<79,102,102,115,101,116>>]},<<32,116,111,32>>,{code,[],[<<83,111,99,107,101,116>>]},<<46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,66,121,116,101,115,83,101,110,116,125>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32,73,102,32>>,{code,[],[<<66,121,116,101,115>>]},<<32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<48>>]},<<32,97,108,108,32,100,97,116,97,32,97,102,116,101,114,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32>>,{code,[],[<<79,102,102,115,101,116>>]},<<32,105,115,32,115,101,110,116,46>>]},{p,[],[<<84,104,101,32,102,105,108,101,32,117,115,101,100,32,109,117,115,116,32,98,101,32,111,112,101,110,101,100,32,117,115,105,110,103,32,116,104,101,32>>,{code,[],[<<114,97,119>>]},<<32,102,108,97,103,44,32,97,110,100,32,116,104,101,32,112,114,111,99,101,115,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<115,101,110,100,102,105,108,101>>]},<<32,109,117,115,116,32,98,101,32,116,104,101,32,99,111,110,116,114,111,108,108,105,110,103,32,112,114,111,99,101,115,115,32,111,102,32,116,104,101,32,115,111,99,107,101,116,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,103,101,110,95,116,99,112,35,99,111,110,116,114,111,108,108,105,110,103,95,112,114,111,99,101,115,115,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<103,101,110,95,116,99,112,58,99,111,110,116,114,111,108,108,105,110,103,95,112,114,111,99,101,115,115,47,50>>]}]},<<32,111,114,32,109,111,100,117,108,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,115,111,99,107,101,116,35,115,101,116,111,112,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,111,99,107,101,116>>]},<<39,115>>]},<<32>>,{a,[{href,<<107,101,114,110,101,108,58,115,111,99,107,101,116,35,111,116,112,95,115,111,99,107,101,116,95,111,112,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<108,101,118,101,108,32>>,{code,[],[<<111,116,112>>]},<<32,115,111,99,107,101,116,32,111,112,116,105,111,110,32>>]},{code,[],[<<99,111,110,116,114,111,108,108,105,110,103,95,112,114,111,99,101,115,115>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,79,83,32,117,115,101,100,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,110,111,110,45,98,108,111,99,107,105,110,103,32>>,{code,[],[<<115,101,110,100,102,105,108,101>>]},<<44,32,97,110,32,69,114,108,97,110,103,32,102,97,108,108,98,97,99,107,32,117,115,105,110,103,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,47,50>>]}]},<<32,97,110,100,32>>,{a,[{href,<<107,101,114,110,101,108,58,103,101,110,95,116,99,112,35,115,101,110,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<103,101,110,95,116,99,112,58,115,101,110,100,47,50>>]}]},<<32,105,115,32,117,115,101,100,46>>]},{p,[],[<<84,104,101,32,111,112,116,105,111,110,32,108,105,115,116,32,99,97,110,32,99,111,110,116,97,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<99,104,117,110,107,95,115,105,122,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,99,104,117,110,107,32,115,105,122,101,32,117,115,101,100,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,102,97,108,108,98,97,99,107,32,116,111,32,115,101,110,100,32,100,97,116,97,46,32,73,102,32,117,115,105,110,103,32,116,104,101,32,102,97,108,108,98,97,99,107,44,32,115,101,116,32,116,104,105,115,32,116,111,32,97,32,118,97,108,117,101,32,116,104,97,116,32,99,111,109,102,111,114,116,97,98,108,121,32,102,105,116,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,115,32,109,101,109,111,114,121,46,32,68,101,102,97,117,108,116,32,105,115,32,50,48,32,77,66,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,56,53,53>>,signature => [{attribute,{1289,2},spec,{{sendfile,5},[{type,{1289,15},bounded_fun,[{type,{1289,15},'fun',[{type,{1289,15},product,[{var,{1289,16},'RawFile'},{var,{1289,25},'Socket'},{var,{1289,33},'Offset'},{var,{1289,41},'Bytes'},{var,{1289,48},'Opts'}]},{type,{1290,4},union,[{type,{1290,4},tuple,[{atom,{1290,5},ok},{type,{1290,11},non_neg_integer,[]}]},{type,{1290,32},tuple,[{atom,{1290,33},error},{type,{1290,42},union,[{remote_type,{1290,42},[{atom,{1290,42},inet},{atom,{1290,47},posix},[]]},{atom,{1291,5},closed},{atom,{1291,14},badarg},{atom,{1291,23},not_owner}]}]}]}]},[{type,{1292,7},constraint,[{atom,{1292,7},is_subtype},[{var,{1292,7},'RawFile'},{user_type,{1292,18},fd,[]}]]},{type,{1293,7},constraint,[{atom,{1293,7},is_subtype},[{var,{1293,7},'Socket'},{type,{1293,17},union,[{remote_type,{1293,17},[{atom,{1293,17},inet},{atom,{1293,22},socket},[]]},{remote_type,{1293,33},[{atom,{1293,33},socket},{atom,{1293,40},socket},[]]},{type,{1294,22},'fun',[{type,{1294,22},product,[{type,{1294,23},iolist,[]}]},{type,{1294,36},union,[{atom,{1294,36},ok},{type,{1294,41},tuple,[{atom,{1294,42},error},{type,{1294,49},union,[{remote_type,{1294,49},[{atom,{1294,49},inet},{atom,{1294,54},posix},[]]},{atom,{1294,64},closed}]}]}]}]}]}]]},{type,{1295,7},constraint,[{atom,{1295,7},is_subtype},[{var,{1295,7},'Offset'},{type,{1295,17},non_neg_integer,[]}]]},{type,{1296,7},constraint,[{atom,{1296,7},is_subtype},[{var,{1296,7},'Bytes'},{type,{1296,16},non_neg_integer,[]}]]},{type,{1297,7},constraint,[{atom,{1297,7},is_subtype},[{var,{1297,7},'Opts'},{type,{1297,15},list,[{user_type,{1297,16},sendfile_option,[]}]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66>>}},{{function,set_cwd,1},[{file,[102,105,108,101,46,101,114,108]},{location,206}],[<<115,101,116,95,99,119,100,47,49>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,99,117,114,114,101,110,116,32,119,111,114,107,105,110,103,32,100,105,114,101,99,116,111,114,121,32,111,102,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,116,111,32>>,{code,[],[<<68,105,114>>]},<<46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,46>>]},{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,115,32,105,110,32,116,104,101,32,109,111,100,117,108,101,32>>,{code,[],[<<102,105,108,101>>]},<<32,117,115,117,97,108,108,121,32,116,114,101,97,116,32,98,105,110,97,114,105,101,115,32,97,115,32,114,97,119,32,102,105,108,101,110,97,109,101,115,44,32,116,104,97,116,32,105,115,44,32,116,104,101,121,32,97,114,101,32,112,97,115,115,101,100,32,34,97,115,32,105,115,34,32,101,118,101,110,32,119,104,101,110,32,116,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,100,111,101,115,32,110,111,116,32,97,103,114,101,101,32,119,105,116,104,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,40,41>>]}]},<<46,32,72,111,119,101,118,101,114,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,101,120,112,101,99,116,115,32,98,105,110,97,114,105,101,115,32,116,111,32,98,101,32,101,110,99,111,100,101,100,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,118,97,108,117,101,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,40,41>>]},<<46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,32,97,114,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,100,105,114,101,99,116,111,114,121,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32>>,{code,[],[<<68,105,114>>]},<<32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]},{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,116,104,101,32,100,105,114,101,99,116,111,114,121,32,111,114,32,111,110,101,32,111,102,32,105,116,115,32,112,97,114,101,110,116,115,46>>]}]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[{p,[],[{code,[],[<<68,105,114>>]},<<32,104,97,115,32,97,110,32,105,109,112,114,111,112,101,114,32,116,121,112,101,44,32,115,117,99,104,32,97,115,32,116,117,112,108,101,46>>]}]},{dt,[],[{code,[],[<<110,111,95,116,114,97,110,115,108,97,116,105,111,110>>]}]},{dd,[],[{p,[],[{code,[],[<<68,105,114>>]},<<32,105,115,32,97,32>>,{code,[],[<<98,105,110,97,114,121,40,41>>]},<<32,119,105,116,104,32,99,104,97,114,97,99,116,101,114,115,32,99,111,100,101,100,32,105,110,32,73,83,79,45,108,97,116,105,110,45,49,32,97,110,100,32,116,104,101,32,86,77,32,105,115,32,111,112,101,114,97,116,105,110,103,32,119,105,116,104,32,117,110,105,99,111,100,101,32,102,105,108,101,110,97,109,101,32,101,110,99,111,100,105,110,103,46>>]}]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<73,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,44,32,97,32,98,97,100,32,116,121,112,101,32,102,111,114,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<68,105,114>>]},<<32,119,105,108,108,32,112,114,111,98,97,98,108,121,32,103,101,110,101,114,97,116,101,32,97,110,32,101,120,99,101,112,116,105,111,110,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,56,56,56>>,signature => [{attribute,{206,2},spec,{{set_cwd,1},[{type,{206,14},bounded_fun,[{type,{206,14},'fun',[{type,{206,14},product,[{var,{206,15},'Dir'}]},{type,{206,23},union,[{atom,{206,23},ok},{type,{206,28},tuple,[{atom,{206,29},error},{var,{206,36},'Reason'}]}]}]},[{type,{207,7},constraint,[{atom,{207,7},is_subtype},[{var,{207,7},'Dir'},{type,{207,14},union,[{user_type,{207,14},name,[]},{var,{207,23},'EncodedBinary'}]}]]},{type,{208,7},constraint,[{atom,{208,7},is_subtype},[{var,{208,7},'EncodedBinary'},{type,{208,24},binary,[]}]]},{type,{209,7},constraint,[{atom,{209,7},is_subtype},[{var,{209,7},'Reason'},{type,{209,17},union,[{user_type,{209,17},posix,[]},{atom,{209,27},badarg},{atom,{209,36},no_translation}]}]]}]]}]}}]}},{{function,sync,1},[{file,[102,105,108,101,46,101,114,108]},{location,742}],[<<115,121,110,99,47,49>>],#{<<101,110>> => [{p,[],[<<69,110,115,117,114,101,115,32,116,104,97,116,32,97,110,121,32,98,117,102,102,101,114,115,32,107,101,112,116,32,98,121,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,40,110,111,116,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,41,32,97,114,101,32,119,114,105,116,116,101,110,32,116,111,32,100,105,115,107,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,109,105,103,104,116,32,104,97,118,101,32,110,111,32,101,102,102,101,99,116,46>>]},{p,[],[<<65,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,32,105,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,110,111,115,112,99>>]}]},{dd,[],[{p,[],[<<78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,108,101,102,116,32,116,111,32,119,114,105,116,101,32,116,104,101,32,102,105,108,101,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,57,51,53>>,signature => [{attribute,{742,2},spec,{{sync,1},[{type,{742,11},bounded_fun,[{type,{742,11},'fun',[{type,{742,11},product,[{var,{742,12},'IoDevice'}]},{type,{742,25},union,[{atom,{742,25},ok},{type,{742,30},tuple,[{atom,{742,31},error},{var,{742,38},'Reason'}]}]}]},[{type,{743,7},constraint,[{atom,{743,7},is_subtype},[{var,{743,7},'IoDevice'},{user_type,{743,19},io_device,[]}]]},{type,{744,7},constraint,[{atom,{744,7},is_subtype},[{var,{744,7},'Reason'},{type,{744,17},union,[{user_type,{744,17},posix,[]},{atom,{744,27},badarg},{atom,{744,36},terminated}]}]]}]]}]}}]}},{{function,truncate,1},[{file,[102,105,108,101,46,101,114,108]},{location,766}],[<<116,114,117,110,99,97,116,101,47,49>>],#{<<101,110>> => [{p,[],[<<84,114,117,110,99,97,116,101,115,32,116,104,101,32,102,105,108,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<32,97,116,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,57,53,49>>,signature => [{attribute,{766,2},spec,{{truncate,1},[{type,{766,15},bounded_fun,[{type,{766,15},'fun',[{type,{766,15},product,[{var,{766,16},'IoDevice'}]},{type,{766,29},union,[{atom,{766,29},ok},{type,{766,34},tuple,[{atom,{766,35},error},{var,{766,42},'Reason'}]}]}]},[{type,{767,7},constraint,[{atom,{767,7},is_subtype},[{var,{767,7},'IoDevice'},{user_type,{767,19},io_device,[]}]]},{type,{768,7},constraint,[{atom,{768,7},is_subtype},[{var,{768,7},'Reason'},{type,{768,17},union,[{user_type,{768,17},posix,[]},{atom,{768,27},badarg},{atom,{768,36},terminated}]}]]}]]}]}}]}},{{function,write,2},[{file,[102,105,108,101,46,101,114,108]},{location,676}],[<<119,114,105,116,101,47,50>>],#{<<101,110>> => [{p,[],[<<87,114,105,116,101,115,32>>,{code,[],[<<66,121,116,101,115>>]},<<32,116,111,32,116,104,101,32,102,105,108,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<46,32,84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,116,104,101,32,111,110,108,121,32,119,97,121,32,116,111,32,119,114,105,116,101,32,116,111,32,97,32,102,105,108,101,32,111,112,101,110,101,100,32,105,110,32>>,{code,[],[<<114,97,119>>]},<<32,109,111,100,101,32,40,97,108,116,104,111,117,103,104,32,105,116,32,119,111,114,107,115,32,102,111,114,32,110,111,114,109,97,108,108,121,32,111,112,101,110,101,100,32,102,105,108,101,115,32,116,111,111,41,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,97,110,100,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<32,111,116,104,101,114,119,105,115,101,46>>]},{p,[],[<<73,102,32,116,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,119,105,116,104,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,115,101,116,32,116,111,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,101,97,99,104,32,98,121,116,101,32,119,114,105,116,116,101,110,32,99,97,110,32,114,101,115,117,108,116,32,105,110,32,109,97,110,121,32,98,121,116,101,115,32,98,101,105,110,103,32,119,114,105,116,116,101,110,32,116,111,32,116,104,101,32,102,105,108,101,44,32,97,115,32,116,104,101,32,98,121,116,101,32,114,97,110,103,101,32,48,46,46,50,53,53,32,99,97,110,32,114,101,112,114,101,115,101,110,116,32,97,110,121,116,104,105,110,103,32,98,101,116,119,101,101,110,32,111,110,101,32,97,110,100,32,102,111,117,114,32,98,121,116,101,115,32,100,101,112,101,110,100,105,110,103,32,111,110,32,118,97,108,117,101,32,97,110,100,32,85,84,70,32,101,110,99,111,100,105,110,103,32,116,121,112,101,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,98,97,100,102>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,111,112,101,110,101,100,32,102,111,114,32,119,114,105,116,105,110,103,46>>]}]},{dt,[],[{code,[],[<<101,110,111,115,112,99>>]}]},{dd,[],[{p,[],[<<78,111,32,115,112,97,99,101,32,105,115,32,108,101,102,116,32,111,110,32,116,104,101,32,100,101,118,105,99,101,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,57,54,48>>,signature => [{attribute,{676,2},spec,{{write,2},[{type,{676,12},bounded_fun,[{type,{676,12},'fun',[{type,{676,12},product,[{var,{676,13},'IoDevice'},{var,{676,23},'Bytes'}]},{type,{676,33},union,[{atom,{676,33},ok},{type,{676,38},tuple,[{atom,{676,39},error},{var,{676,46},'Reason'}]}]}]},[{type,{677,7},constraint,[{atom,{677,7},is_subtype},[{var,{677,7},'IoDevice'},{type,{677,19},union,[{user_type,{677,19},io_device,[]},{type,{677,33},atom,[]}]}]]},{type,{678,7},constraint,[{atom,{678,7},is_subtype},[{var,{678,7},'Bytes'},{type,{678,16},iodata,[]}]]},{type,{679,7},constraint,[{atom,{679,7},is_subtype},[{var,{679,7},'Reason'},{type,{679,17},union,[{user_type,{679,17},posix,[]},{atom,{679,27},badarg},{atom,{679,36},terminated}]}]]}]]}]}}]}},{{function,write_file,2},[{file,[102,105,108,101,46,101,114,108]},{location,443}],[<<119,114,105,116,101,95,102,105,108,101,47,50>>],#{<<101,110>> => [{p,[],[<<87,114,105,116,101,115,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32,116,104,101,32>>,{code,[],[<<105,111,100,97,116,97>>]},<<32,116,101,114,109,32>>,{code,[],[<<66,121,116,101,115>>]},<<32,116,111,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<46,32,84,104,101,32,102,105,108,101,32,105,115,32,99,114,101,97,116,101,100,32,105,102,32,105,116,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,32,73,102,32,105,116,32,101,120,105,115,116,115,44,32,116,104,101,32,112,114,101,118,105,111,117,115,32,99,111,110,116,101,110,116,115,32,97,114,101,32,111,118,101,114,119,114,105,116,116,101,110,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,116,104,101,32,102,105,108,101,110,97,109,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]},{dt,[],[{code,[],[<<101,110,111,115,112,99>>]}]},{dd,[],[{p,[],[<<78,111,32,115,112,97,99,101,32,105,115,32,108,101,102,116,32,111,110,32,116,104,101,32,100,101,118,105,99,101,46>>]}]},{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,119,114,105,116,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,115,101,97,114,99,104,105,110,103,32,111,110,101,32,111,102,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,46>>]}]},{dt,[],[{code,[],[<<101,105,115,100,105,114>>]}]},{dd,[],[{p,[],[<<84,104,101,32,110,97,109,101,100,32,102,105,108,101,32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,57,56,54>>,signature => [{attribute,{443,2},spec,{{write_file,2},[{type,{443,17},bounded_fun,[{type,{443,17},'fun',[{type,{443,17},product,[{var,{443,18},'Filename'},{var,{443,28},'Bytes'}]},{type,{443,38},union,[{atom,{443,38},ok},{type,{443,43},tuple,[{atom,{443,44},error},{var,{443,51},'Reason'}]}]}]},[{type,{444,7},constraint,[{atom,{444,7},is_subtype},[{var,{444,7},'Filename'},{user_type,{444,19},name_all,[]}]]},{type,{445,7},constraint,[{atom,{445,7},is_subtype},[{var,{445,7},'Bytes'},{type,{445,16},iodata,[]}]]},{type,{446,7},constraint,[{atom,{446,7},is_subtype},[{var,{446,7},'Reason'},{type,{446,17},union,[{user_type,{446,17},posix,[]},{atom,{446,27},badarg},{atom,{446,36},terminated},{atom,{446,49},system_limit}]}]]}]]}]}}]}},{{function,write_file,3},[{file,[102,105,108,101,46,101,114,108]},{location,455}],[<<119,114,105,116,101,95,102,105,108,101,47,51>>],#{<<101,110>> => [{p,[],[<<83,97,109,101,32,97,115,32>>,{code,[],[<<119,114,105,116,101,95,102,105,108,101,47,50>>]},<<44,32,98,117,116,32,116,97,107,101,115,32,97,32,116,104,105,114,100,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<77,111,100,101,115>>]},<<44,32,97,32,108,105,115,116,32,111,102,32,112,111,115,115,105,98,108,101,32,109,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46,32,84,104,101,32,109,111,100,101,32,102,108,97,103,115,32>>,{code,[],[<<98,105,110,97,114,121>>]},<<32,97,110,100,32>>,{code,[],[<<119,114,105,116,101>>]},<<32,97,114,101,32,105,109,112,108,105,99,105,116,44,32,115,111,32,116,104,101,121,32,97,114,101,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,48,50,51>>,signature => [{attribute,{455,2},spec,{{write_file,3},[{type,{455,17},bounded_fun,[{type,{455,17},'fun',[{type,{455,17},product,[{var,{455,18},'Filename'},{var,{455,28},'Bytes'},{var,{455,35},'Modes'}]},{type,{455,45},union,[{atom,{455,45},ok},{type,{455,50},tuple,[{atom,{455,51},error},{var,{455,58},'Reason'}]}]}]},[{type,{456,7},constraint,[{atom,{456,7},is_subtype},[{var,{456,7},'Filename'},{user_type,{456,19},name_all,[]}]]},{type,{457,7},constraint,[{atom,{457,7},is_subtype},[{var,{457,7},'Bytes'},{type,{457,16},iodata,[]}]]},{type,{458,7},constraint,[{atom,{458,7},is_subtype},[{var,{458,7},'Modes'},{type,{458,16},list,[{user_type,{458,17},mode,[]}]}]]},{type,{459,7},constraint,[{atom,{459,7},is_subtype},[{var,{459,7},'Reason'},{type,{459,17},union,[{user_type,{459,17},posix,[]},{atom,{459,27},badarg},{atom,{459,36},terminated},{atom,{459,49},system_limit}]}]]}]]}]}}]}},{{function,write_file_info,3},[{file,[102,105,108,101,46,101,114,108]},{location,380}],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,51>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,48,51,52>>,equiv => {function,write_file_info,2},signature => [{attribute,{380,2},spec,{{write_file_info,3},[{type,{380,22},bounded_fun,[{type,{380,22},'fun',[{type,{380,22},product,[{var,{380,23},'Filename'},{var,{380,33},'FileInfo'},{var,{380,43},'Opts'}]},{type,{380,52},union,[{atom,{380,52},ok},{type,{380,57},tuple,[{atom,{380,58},error},{var,{380,65},'Reason'}]}]}]},[{type,{381,7},constraint,[{atom,{381,7},is_subtype},[{var,{381,7},'Filename'},{user_type,{381,19},name_all,[]}]]},{type,{382,7},constraint,[{atom,{382,7},is_subtype},[{var,{382,7},'Opts'},{type,{382,15},list,[{user_type,{382,16},file_info_option,[]}]}]]},{type,{383,7},constraint,[{atom,{383,7},is_subtype},[{var,{383,7},'FileInfo'},{user_type,{383,19},file_info,[]}]]},{type,{384,7},constraint,[{atom,{384,7},is_subtype},[{var,{384,7},'Reason'},{type,{384,17},union,[{user_type,{384,17},posix,[]},{atom,{384,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66>>}},{{function,write_file_info,2},[{file,[102,105,108,101,46,101,114,108]},{location,372}],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,102,105,108,101,32,105,110,102,111,114,109,97,116,105,111,110,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32>>,{code,[],[<<70,105,108,101,73,110,102,111>>]},<<32,105,115,32,97,32,114,101,99,111,114,100,32>>,{code,[],[<<102,105,108,101,95,105,110,102,111>>]},<<44,32,100,101,102,105,110,101,100,32,105,110,32,116,104,101,32,75,101,114,110,101,108,32,105,110,99,108,117,100,101,32,102,105,108,101,32>>,{code,[],[<<102,105,108,101,46,104,114,108>>]},<<46,32,73,110,99,108,117,100,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,100,105,114,101,99,116,105,118,101,32,105,110,32,116,104,101,32,109,111,100,117,108,101,32,102,114,111,109,32,119,104,105,99,104,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<32,45,105,110,99,108,117,100,101,95,108,105,98,40,34,107,101,114,110,101,108,47,105,110,99,108,117,100,101,47,102,105,108,101,46,104,114,108,34,41,46>>]}]},{p,[],[<<84,104,101,32,116,105,109,101,32,116,121,112,101,32,115,101,116,32,105,110,32>>,{code,[],[<<97,116,105,109,101>>]},<<44,32>>,{code,[],[<<109,116,105,109,101>>]},<<44,32,97,110,100,32>>,{code,[],[<<99,116,105,109,101>>]},<<32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,116,105,109,101,32,116,121,112,101,32,115,101,116,32,105,110,32>>,{code,[],[<<79,112,116,115,32,58,58,32,123,116,105,109,101,44,32,84,121,112,101,125>>]},<<32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<108,111,99,97,108>>]}]},{dd,[],[{p,[],[<<73,110,116,101,114,112,114,101,116,115,32,116,104,101,32,116,105,109,101,32,115,101,116,32,97,115,32,108,111,99,97,108,46>>]}]},{dt,[],[{code,[],[<<117,110,105,118,101,114,115,97,108>>]}]},{dd,[],[{p,[],[<<73,110,116,101,114,112,114,101,116,115,32,105,116,32,97,115,32,117,110,105,118,101,114,115,97,108,32,116,105,109,101,46>>]}]},{dt,[],[{code,[],[<<112,111,115,105,120>>]}]},{dd,[],[{p,[],[<<77,117,115,116,32,98,101,32,115,101,99,111,110,100,115,32,115,105,110,99,101,32,111,114,32,98,101,102,111,114,101,32,85,110,105,120,32,116,105,109,101,32,101,112,111,99,104,44,32,119,104,105,99,104,32,105,115,32,49,57,55,48,45,48,49,45,48,49,32,48,48,58,48,48,32,85,84,67,46>>]}]}]},{p,[],[<<68,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<123,116,105,109,101,44,32,108,111,99,97,108,125>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,111,112,116,105,111,110,32>>,{code,[],[<<114,97,119>>]},<<32,105,115,32,115,101,116,44,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,105,115,32,110,111,116,32,99,97,108,108,101,100,32,97,110,100,32,111,110,108,121,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,108,111,99,97,108,32,102,105,108,101,115,32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,102,105,101,108,100,115,32,97,114,101,32,117,115,101,100,32,102,114,111,109,32,116,104,101,32,114,101,99,111,114,100,44,32,105,102,32,116,104,101,121,32,97,114,101,32,115,112,101,99,105,102,105,101,100,58>>]},{dl,[],[{dt,[],[{code,[],[<<97,116,105,109,101,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,100,97,116,101,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<100,97,116,101,95,116,105,109,101,40,41>>]}]},{code,[],[<<32,124,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,108,97,115,116,32,116,105,109,101,32,116,104,101,32,102,105,108,101,32,119,97,115,32,114,101,97,100,46>>]}]},{dt,[],[{code,[],[<<109,116,105,109,101,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,100,97,116,101,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<100,97,116,101,95,116,105,109,101,40,41>>]}]},{code,[],[<<32,124,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,108,97,115,116,32,116,105,109,101,32,116,104,101,32,102,105,108,101,32,119,97,115,32,119,114,105,116,116,101,110,46>>]}]},{dt,[],[{code,[],[<<99,116,105,109,101,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,100,97,116,101,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<100,97,116,101,95,116,105,109,101,40,41>>]}]},{code,[],[<<32,124,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<79,110,32,85,110,105,120,44,32,97,110,121,32,118,97,108,117,101,32,115,112,101,99,105,102,105,101,100,32,102,111,114,32,116,104,105,115,32,102,105,101,108,100,32,105,115,32,105,103,110,111,114,101,100,32,40,116,104,101,32,34,99,116,105,109,101,34,32,102,111,114,32,116,104,101,32,102,105,108,101,32,105,115,32,115,101,116,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,109,101,41,46,32,79,110,32,87,105,110,100,111,119,115,44,32,116,104,105,115,32,102,105,101,108,100,32,105,115,32,116,104,101,32,110,101,119,32,99,114,101,97,116,105,111,110,32,116,105,109,101,32,116,111,32,115,101,116,32,102,111,114,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<109,111,100,101,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,112,101,114,109,105,115,115,105,111,110,115,32,97,115,32,116,104,101,32,115,117,109,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,98,105,116,32,118,97,108,117,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<56,35,48,48,52,48,48>>]}]},{dd,[],[{p,[],[<<82,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,50,48,48>>]}]},{dd,[],[{p,[],[<<87,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,49,48,48>>]}]},{dd,[],[{p,[],[<<69,120,101,99,117,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,52,48>>]}]},{dd,[],[{p,[],[<<82,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,50,48>>]}]},{dd,[],[{p,[],[<<87,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,49,48>>]}]},{dd,[],[{p,[],[<<69,120,101,99,117,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,48,52>>]}]},{dd,[],[{p,[],[<<82,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,48,50>>]}]},{dd,[],[{p,[],[<<87,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,48,49>>]}]},{dd,[],[{p,[],[<<69,120,101,99,117,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114>>]}]},{dt,[],[{code,[],[<<49,54,35,56,48,48>>]}]},{dd,[],[{p,[],[<<83,101,116,32,117,115,101,114,32,105,100,32,111,110,32,101,120,101,99,117,116,105,111,110>>]}]},{dt,[],[{code,[],[<<49,54,35,52,48,48>>]}]},{dd,[],[{p,[],[<<83,101,116,32,103,114,111,117,112,32,105,100,32,111,110,32,101,120,101,99,117,116,105,111,110>>]}]}]},{p,[],[<<79,110,32,85,110,105,120,32,112,108,97,116,102,111,114,109,115,44,32,111,116,104,101,114,32,98,105,116,115,32,116,104,97,110,32,116,104,111,115,101,32,108,105,115,116,101,100,32,97,98,111,118,101,32,109,97,121,32,98,101,32,115,101,116,46>>]}]},{dt,[],[{code,[],[<<117,105,100,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<73,110,100,105,99,97,116,101,115,32,116,104,101,32,102,105,108,101,32,111,119,110,101,114,46,32,73,103,110,111,114,101,100,32,102,111,114,32,110,111,110,45,85,110,105,120,32,102,105,108,101,32,115,121,115,116,101,109,115,46>>]}]},{dt,[],[{code,[],[<<103,105,100,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<71,105,118,101,115,32,116,104,101,32,103,114,111,117,112,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,111,119,110,101,114,32,98,101,108,111,110,103,115,32,116,111,46,32,73,103,110,111,114,101,100,32,102,111,114,32,110,111,110,45,85,110,105,120,32,102,105,108,101,32,115,121,115,116,101,109,115,46>>]}]}]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,115,101,97,114,99,104,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,111,110,101,32,111,102,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,48,51,52>>,signature => [{attribute,{372,2},spec,{{write_file_info,2},[{type,{372,22},bounded_fun,[{type,{372,22},'fun',[{type,{372,22},product,[{var,{372,23},'Filename'},{var,{372,33},'FileInfo'}]},{type,{372,46},union,[{atom,{372,46},ok},{type,{372,51},tuple,[{atom,{372,52},error},{var,{372,59},'Reason'}]}]}]},[{type,{373,7},constraint,[{atom,{373,7},is_subtype},[{var,{373,7},'Filename'},{user_type,{373,19},name_all,[]}]]},{type,{374,7},constraint,[{atom,{374,7},is_subtype},[{var,{374,7},'FileInfo'},{user_type,{374,19},file_info,[]}]]},{type,{375,7},constraint,[{atom,{375,7},is_subtype},[{var,{375,7},'Reason'},{type,{375,17},union,[{user_type,{375,17},posix,[]},{atom,{375,27},badarg}]}]]}]]}]}}],since => <<79,84,80,32,82,49,53,66>>}},{{type,deep_list,0},[{file,[102,105,108,101,46,101,114,108]},{location,101}],[<<45,116,121,112,101,32,100,101,101,112,95,108,105,115,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{101,2},type,{deep_list,{type,{101,22},list,[{type,{101,23},union,[{type,{101,23},char,[]},{type,{101,32},atom,[]},{user_type,{101,41},deep_list,[]}]}]},[]}}]}},{{type,fd,0},[{file,[102,105,108,101,46,101,114,108]},{location,87}],[<<102,100,40,41>>],#{<<101,110>> => [{p,[],[<<65,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,114,101,112,114,101,115,101,110,116,105,110,103,32,97,32,102,105,108,101,32,111,112,101,110,101,100,32,105,110,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,97,119>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,97,119>>]}]},<<32,109,111,100,101,46>>]}]},#{signature => [{attribute,{87,2},type,{fd,{type,{87,22},record,[{atom,{87,23},file_descriptor}]},[]}}]}},{{type,filename,0},[{file,[102,105,108,101,46,101,114,108]},{location,84}],[<<45,116,121,112,101,32,102,105,108,101,110,97,109,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<83,101,101,32,97,108,115,111,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,110,97,109,101,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<110,97,109,101,95,97,108,108,40,41>>]}]},<<32,116,121,112,101,46>>]}]},#{signature => [{attribute,{84,2},type,{filename,{type,{84,22},string,[]},[]}}]}},{{type,filename_all,0},[{file,[102,105,108,101,46,101,114,108]},{location,85}],[<<45,116,121,112,101,32,102,105,108,101,110,97,109,101,95,97,108,108,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<83,101,101,32,97,108,115,111,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,110,97,109,101,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<110,97,109,101,95,97,108,108,40,41>>]}]},<<32,116,121,112,101,46>>]}]},#{signature => [{attribute,{85,2},type,{filename_all,{type,{85,25},union,[{type,{85,25},string,[]},{type,{85,36},binary,[]}]},[]}}]}},{{type,io_device,0},[{file,[102,105,108,101,46,101,114,108]},{location,88}],[<<45,116,121,112,101,32,105,111,95,100,101,118,105,99,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<59,32>>,{code,[],[<<112,105,100,40,41>>]},<<32,105,115,32,97,32,112,114,111,99,101,115,115,32,104,97,110,100,108,105,110,103,32,73,47,79,45,112,114,111,116,111,99,111,108,115,46>>]}]},#{signature => [{attribute,{88,2},type,{io_device,{type,{88,22},union,[{type,{88,22},pid,[]},{user_type,{88,30},fd,[]}]},[]}}]}},{{type,name,0},[{file,[102,105,108,101,46,101,114,108]},{location,102}],[<<45,116,121,112,101,32,110,97,109,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<73,102,32,86,77,32,105,115,32,105,110,32,85,110,105,99,111,100,101,32,102,105,108,101,110,97,109,101,32,109,111,100,101,44,32>>,{code,[],[<<115,116,114,105,110,103,40,41>>]},<<32,97,110,100,32>>,{code,[],[<<99,104,97,114,40,41>>]},<<32,97,114,101,32,97,108,108,111,119,101,100,32,116,111,32,98,101,32,62,32,50,53,53,46,32,83,101,101,32,97,108,115,111,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,110,97,109,101,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<110,97,109,101,95,97,108,108,40,41>>]}]},<<32,116,121,112,101,46>>]}]},#{signature => [{attribute,{102,2},type,{name,{type,{102,22},union,[{type,{102,22},string,[]},{type,{102,33},atom,[]},{user_type,{102,42},deep_list,[]}]},[]}}]}},{{type,name_all,0},[{file,[102,105,108,101,46,101,114,108]},{location,103}],[<<45,116,121,112,101,32,110,97,109,101,95,97,108,108,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<73,102,32,86,77,32,105,115,32,105,110,32,85,110,105,99,111,100,101,32,102,105,108,101,110,97,109,101,32,109,111,100,101,44,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,97,108,108,111,119,101,100,32,116,111,32,98,101,32,62,32,50,53,53,46,32>>,{code,[],[<<82,97,119,70,105,108,101,110,97,109,101>>]},<<32,105,115,32,97,32,102,105,108,101,110,97,109,101,32,110,111,116,32,115,117,98,106,101,99,116,32,116,111,32,85,110,105,99,111,100,101,32,116,114,97,110,115,108,97,116,105,111,110,44,32,109,101,97,110,105,110,103,32,116,104,97,116,32,105,116,32,99,97,110,32,99,111,110,116,97,105,110,32,99,104,97,114,97,99,116,101,114,115,32,110,111,116,32,99,111,110,102,111,114,109,105,110,103,32,116,111,32,116,104,101,32,85,110,105,99,111,100,101,32,101,110,99,111,100,105,110,103,32,101,120,112,101,99,116,101,100,32,102,114,111,109,32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109,32,40,116,104,97,116,32,105,115,44,32,110,111,110,45,85,84,70,45,56,32,99,104,97,114,97,99,116,101,114,115,32,97,108,116,104,111,117,103,104,32,116,104,101,32,86,77,32,105,115,32,115,116,97,114,116,101,100,32,105,110,32,85,110,105,99,111,100,101,32,102,105,108,101,110,97,109,101,32,109,111,100,101,41,46,32,78,117,108,108,32,99,104,97,114,97,99,116,101,114,115,32,40,105,110,116,101,103,101,114,32,118,97,108,117,101,32,122,101,114,111,41,32,97,114,101,32>>,{em,[],[<<110,111,116>>]},<<32,97,108,108,111,119,101,100,32,105,110,32,102,105,108,101,110,97,109,101,115,32,40,110,111,116,32,101,118,101,110,32,97,116,32,116,104,101,32,101,110,100,41,46>>]}]},#{signature => [{attribute,{103,2},type,{name_all,{type,{103,22},union,[{type,{103,22},string,[]},{type,{103,33},atom,[]},{user_type,{103,42},deep_list,[]},{ann_type,{103,57},[{var,{103,57},'RawFilename'},{type,{103,72},binary,[]}]}]},[]}}]}},{{type,posix,0},[{file,[102,105,108,101,46,101,114,108]},{location,104}],[<<45,116,121,112,101,32,112,111,115,105,120,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,97,116,111,109,32,116,104,97,116,32,105,115,32,110,97,109,101,100,32,102,114,111,109,32,116,104,101,32,80,79,83,73,88,32,101,114,114,111,114,32,99,111,100,101,115,32,117,115,101,100,32,105,110,32,85,110,105,120,44,32,97,110,100,32,105,110,32,116,104,101,32,114,117,110,116,105,109,101,32,108,105,98,114,97,114,105,101,115,32,111,102,32,109,111,115,116,32,67,32,99,111,109,112,105,108,101,114,115,46>>]}]},#{signature => [{attribute,{104,2},type,{posix,{type,{105,9},union,[{atom,{105,9},eacces},{atom,{105,20},eagain},{atom,{106,9},ebadf},{atom,{106,19},ebadmsg},{atom,{106,31},ebusy},{atom,{107,9},edeadlk},{atom,{107,21},edeadlock},{atom,{107,35},edquot},{atom,{108,9},eexist},{atom,{109,9},efault},{atom,{109,20},efbig},{atom,{109,30},eftype},{atom,{110,9},eintr},{atom,{110,19},einval},{atom,{110,30},eio},{atom,{110,38},eisdir},{atom,{111,9},eloop},{atom,{112,9},emfile},{atom,{112,20},emlink},{atom,{112,31},emultihop},{atom,{113,9},enametoolong},{atom,{113,26},enfile},{atom,{114,9},enobufs},{atom,{114,21},enodev},{atom,{114,32},enolck},{atom,{114,43},enolink},{atom,{114,55},enoent},{atom,{115,9},enomem},{atom,{115,20},enospc},{atom,{115,31},enosr},{atom,{115,41},enostr},{atom,{115,52},enosys},{atom,{116,9},enotblk},{atom,{116,21},enotdir},{atom,{116,33},enotsup},{atom,{116,45},enxio},{atom,{117,9},eopnotsupp},{atom,{117,24},eoverflow},{atom,{118,9},eperm},{atom,{118,19},epipe},{atom,{119,9},erange},{atom,{119,20},erofs},{atom,{120,9},espipe},{atom,{120,21},esrch},{atom,{120,32},estale},{atom,{121,9},etxtbsy},{atom,{122,9},exdev}]},[]}}]}},{{type,date_time,0},[{file,[102,105,108,101,46,101,114,108]},{location,123}],[<<45,116,121,112,101,32,100,97,116,101,95,116,105,109,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<77,117,115,116,32,100,101,110,111,116,101,32,97,32,118,97,108,105,100,32,100,97,116,101,32,97,110,100,32,116,105,109,101,46>>]}]},#{signature => [{attribute,{123,2},type,{date_time,{remote_type,{123,22},[{atom,{123,22},calendar},{atom,{123,31},datetime},[]]},[]}}]}},{{type,file_info,0},[{file,[102,105,108,101,46,101,114,108]},{location,86}],[<<45,116,121,112,101,32,102,105,108,101,95,105,110,102,111,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{86,2},type,{file_info,{type,{86,22},record,[{atom,{86,23},file_info}]},[]}}]}},{{type,location,0},[{file,[102,105,108,101,46,101,114,108]},{location,89}],[<<45,116,121,112,101,32,108,111,99,97,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{89,2},type,{location,{type,{89,22},union,[{type,{89,22},integer,[]},{type,{89,34},tuple,[{atom,{89,35},bof},{ann_type,{89,42},[{var,{89,42},'Offset'},{type,{89,52},integer,[]}]}]},{type,{90,22},tuple,[{atom,{90,23},cur},{ann_type,{90,30},[{var,{90,30},'Offset'},{type,{90,40},integer,[]}]}]},{type,{91,8},tuple,[{atom,{91,9},eof},{ann_type,{91,16},[{var,{91,16},'Offset'},{type,{91,26},integer,[]}]}]},{atom,{91,39},bof},{atom,{91,47},cur},{atom,{91,55},eof}]},[]}}]}},{{type,mode,0},[{file,[102,105,108,101,46,101,114,108]},{location,92}],[<<45,116,121,112,101,32,109,111,100,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{92,2},type,{mode,{type,{92,22},union,[{atom,{92,22},read},{atom,{92,31},write},{atom,{92,41},append},{atom,{93,22},exclusive},{atom,{93,36},raw},{atom,{93,44},binary},{type,{94,8},tuple,[{atom,{94,9},delayed_write},{ann_type,{95,23},[{var,{95,23},'Size'},{type,{95,31},non_neg_integer,[]}]},{ann_type,{96,23},[{var,{96,23},'Delay'},{type,{96,32},non_neg_integer,[]}]}]},{atom,{97,8},delayed_write},{type,{97,26},tuple,[{atom,{97,27},read_ahead},{ann_type,{97,41},[{var,{97,41},'Size'},{type,{97,49},pos_integer,[]}]}]},{atom,{98,8},read_ahead},{atom,{98,23},compressed},{type,{99,8},tuple,[{atom,{99,9},encoding},{remote_type,{99,21},[{atom,{99,21},unicode},{atom,{99,29},encoding},[]]}]},{atom,{100,8},sync}]},[]}}]}},{{type,file_info_option,0},[{file,[102,105,108,101,46,101,114,108]},{location,129}],[<<45,116,121,112,101,32,102,105,108,101,95,105,110,102,111,95,111,112,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{129,2},type,{file_info_option,{type,{129,29},union,[{type,{129,29},tuple,[{atom,{129,30},time},{atom,{129,38},local}]},{type,{129,49},tuple,[{atom,{129,50},time},{atom,{129,58},universal}]},{type,{130,8},tuple,[{atom,{130,9},time},{atom,{130,17},posix}]},{atom,{130,28},raw}]},[]}}]}}]}. \ No newline at end of file +{docs_v1,[{file,[102,105,108,101,46,101,114,108]},{location,0}],erlang,<<97,112,112,108,105,99,97,116,105,111,110,47,101,114,108,97,110,103,43,104,116,109,108>>,#{<<101,110>> => [{p,[],[<<84,104,105,115,32,109,111,100,117,108,101,32,112,114,111,118,105,100,101,115,32,97,110,32,105,110,116,101,114,102,97,99,101,32,116,111,32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<70,105,108,101,32,111,112,101,114,97,116,105,111,110,115,32,97,114,101,32,111,110,108,121,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,97,112,112,101,97,114,32,97,116,111,109,105,99,32,119,104,101,110,32,103,111,105,110,103,32,116,104,114,111,117,103,104,32,116,104,101,32,115,97,109,101,32,102,105,108,101,32,115,101,114,118,101,114,46,32,65,32,78,73,70,32,111,114,32,111,116,104,101,114,32,79,83,32,112,114,111,99,101,115,115,32,109,97,121,32,111,98,115,101,114,118,101,32,105,110,116,101,114,109,101,100,105,97,116,101,32,115,116,101,112,115,32,111,110,32,99,101,114,116,97,105,110,32,111,112,101,114,97,116,105,111,110,115,32,111,110,32,115,111,109,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,115,44,32,101,103,46,32,114,101,110,97,109,105,110,103,32,97,110,32,101,120,105,115,116,105,110,103,32,102,105,108,101,32,111,110,32,87,105,110,100,111,119,115,44,32,111,114,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>]},<<32>>]},<<111,110,32,97,110,121,32,79,83,32,97,116,32,116,104,101,32,116,105,109,101,32,111,102,32,119,114,105,116,105,110,103,46>>]}]},{p,[],[<<82,101,103,97,114,100,105,110,103,32,102,105,108,101,110,97,109,101,32,101,110,99,111,100,105,110,103,44,32,116,104,101,32,69,114,108,97,110,103,32,86,77,32,99,97,110,32,111,112,101,114,97,116,101,32,105,110,32,116,119,111,32,109,111,100,101,115,46,32,84,104,101,32,99,117,114,114,101,110,116,32,109,111,100,101,32,99,97,110,32,98,101,32,113,117,101,114,105,101,100,32,117,115,105,110,103,32,102,117,110,99,116,105,111,110,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48>>]}]},<<46,32,73,116,32,114,101,116,117,114,110,115,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<32,111,114,32>>,{code,[],[<<117,116,102,56>>]},<<46>>]},{p,[],[<<73,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<32,109,111,100,101,44,32,116,104,101,32,69,114,108,97,110,103,32,86,77,32,100,111,101,115,32,110,111,116,32,99,104,97,110,103,101,32,116,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32,102,105,108,101,110,97,109,101,115,46,32,73,110,32>>,{code,[],[<<117,116,102,56>>]},<<32,109,111,100,101,44,32,102,105,108,101,110,97,109,101,115,32,99,97,110,32,99,111,110,116,97,105,110,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,50,53,53,32,97,110,100,32,116,104,101,32,86,77,32,99,111,110,118,101,114,116,115,32,102,105,108,101,110,97,109,101,115,32,98,97,99,107,32,97,110,100,32,102,111,114,116,104,32,116,111,32,116,104,101,32,110,97,116,105,118,101,32,102,105,108,101,110,97,109,101,32,101,110,99,111,100,105,110,103,32,40,117,115,117,97,108,108,121,32,85,84,70,45,56,44,32,98,117,116,32,85,84,70,45,49,54,32,111,110,32,87,105,110,100,111,119,115,41,46>>]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,32,109,111,100,101,32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,46,32,87,105,110,100,111,119,115,44,32,77,97,99,79,83,32,88,32,97,110,100,32,65,110,100,114,111,105,100,32,101,110,102,111,114,99,101,32,99,111,110,115,105,115,116,101,110,116,32,102,105,108,101,110,97,109,101,32,101,110,99,111,100,105,110,103,32,97,110,100,32,116,104,101,114,101,102,111,114,101,32,116,104,101,32,86,77,32,117,115,101,115,32>>,{code,[],[<<117,116,102,56>>]},<<32,109,111,100,101,46>>]},{p,[],[<<79,110,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,115,32,119,105,116,104,32,116,114,97,110,115,112,97,114,101,110,116,32,110,97,109,105,110,103,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,97,108,108,32,85,110,105,120,32,115,121,115,116,101,109,115,32,101,120,99,101,112,116,32,77,97,99,79,83,32,88,41,44,32,100,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<117,116,102,56>>]},<<32,105,102,32,116,104,101,32,116,101,114,109,105,110,97,108,32,115,117,112,112,111,114,116,115,32,85,84,70,45,56,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<46,32,84,104,101,32,100,101,102,97,117,108,116,32,99,97,110,32,98,101,32,111,118,101,114,114,105,100,100,101,110,32,117,115,105,110,103,32>>,{code,[],[<<43,102,110,108>>]},<<32,40,116,111,32,102,111,114,99,101,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<32,109,111,100,101,41,32,111,114,32>>,{code,[],[<<43,102,110,117>>]},<<32,40,116,111,32,102,111,114,99,101,32>>,{code,[],[<<117,116,102,56>>]},<<32,109,111,100,101,41,32,119,104,101,110,32,115,116,97,114,116,105,110,103,32>>,{a,[{href,<<101,114,116,115,58,101,114,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,99,111,109>>}],[{code,[],[<<101,114,108>>]}]},<<46>>]},{p,[],[<<79,110,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,115,32,119,105,116,104,32,116,114,97,110,115,112,97,114,101,110,116,32,110,97,109,105,110,103,44,32,102,105,108,101,115,32,99,97,110,32,98,101,32,105,110,99,111,110,115,105,115,116,101,110,116,108,121,32,110,97,109,101,100,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,115,111,109,101,32,102,105,108,101,115,32,97,114,101,32,101,110,99,111,100,101,100,32,105,110,32,85,84,70,45,56,32,119,104,105,108,101,32,111,116,104,101,114,115,32,97,114,101,32,101,110,99,111,100,101,100,32,105,110,32,73,83,79,32,76,97,116,105,110,45,49,46,32,84,104,101,32,99,111,110,99,101,112,116,32,111,102,32>>,{em,[],[<<114,97,119,32,102,105,108,101,110,97,109,101,115>>]},<<32,105,115,32,105,110,116,114,111,100,117,99,101,100,32,116,111,32,104,97,110,100,108,101,32,102,105,108,101,32,115,121,115,116,101,109,115,32,119,105,116,104,32,105,110,99,111,110,115,105,115,116,101,110,116,32,110,97,109,105,110,103,32,119,104,101,110,32,114,117,110,110,105,110,103,32,105,110,32>>,{code,[],[<<117,116,102,56>>]},<<32,109,111,100,101,46>>]},{p,[],[<<65,32>>,{em,[],[<<114,97,119,32,102,105,108,101,110,97,109,101>>]},<<32,105,115,32,97,32,102,105,108,101,110,97,109,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,98,105,110,97,114,121,46,32,84,104,101,32,69,114,108,97,110,103,32,86,77,32,100,111,101,115,32,110,111,116,32,116,114,97,110,115,108,97,116,101,32,97,32,102,105,108,101,110,97,109,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,98,105,110,97,114,121,32,111,110,32,115,121,115,116,101,109,115,32,119,105,116,104,32,116,114,97,110,115,112,97,114,101,110,116,32,110,97,109,105,110,103,46>>]},{p,[],[<<87,104,101,110,32,114,117,110,110,105,110,103,32,105,110,32>>,{code,[],[<<117,116,102,56>>]},<<32,109,111,100,101,44,32,102,117,110,99,116,105,111,110,115,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,108,105,115,116,95,100,105,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<108,105,115,116,95,100,105,114,47,49>>]}]},<<32,97,110,100,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,95,108,105,110,107,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,95,108,105,110,107,47,49>>]}]},<<32,110,101,118,101,114,32,114,101,116,117,114,110,32,114,97,119,32,102,105,108,101,110,97,109,101,115,46,32,84,111,32,114,101,116,117,114,110,32,97,108,108,32,102,105,108,101,110,97,109,101,115,32,105,110,99,108,117,100,105,110,103,32,114,97,119,32,102,105,108,101,110,97,109,101,115,44,32,117,115,101,32,102,117,110,99,116,105,111,110,115,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,108,105,115,116,95,100,105,114,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<108,105,115,116,95,100,105,114,95,97,108,108,47,49>>]}]},<<32,97,110,100,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,95,108,105,110,107,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,101,97,100,95,108,105,110,107,95,97,108,108,47,49>>]}]},<<46>>]},{p,[],[<<83,101,101,32,97,108,115,111,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101,95,117,115,97,103,101,35,110,111,116,101,115,45,97,98,111,117,116,45,114,97,119,45,102,105,108,101,110,97,109,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<78,111,116,101,115,32,65,98,111,117,116,32,82,97,119,32,70,105,108,101,110,97,109,101,115>>]},<<32,105,110,32,116,104,101,32,83,84,68,76,73,66,32,85,115,101,114,39,115,32,71,117,105,100,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<70,105,108,101,32,111,112,101,114,97,116,105,111,110,115,32,117,115,101,100,32,116,111,32,97,99,99,101,112,116,32,102,105,108,101,110,97,109,101,115,32,99,111,110,116,97,105,110,105,110,103,32,110,117,108,108,32,99,104,97,114,97,99,116,101,114,115,32,40,105,110,116,101,103,101,114,32,118,97,108,117,101,32,122,101,114,111,41,46,32,84,104,105,115,32,99,97,117,115,101,100,32,116,104,101,32,110,97,109,101,32,116,111,32,98,101,32,116,114,117,110,99,97,116,101,100,32,97,110,100,32,105,110,32,115,111,109,101,32,99,97,115,101,115,32,97,114,103,117,109,101,110,116,115,32,116,111,32,112,114,105,109,105,116,105,118,101,32,111,112,101,114,97,116,105,111,110,115,32,116,111,32,98,101,32,109,105,120,101,100,32,117,112,46,32,70,105,108,101,110,97,109,101,115,32,99,111,110,116,97,105,110,105,110,103,32,110,117,108,108,32,99,104,97,114,97,99,116,101,114,115,32,105,110,115,105,100,101,32,116,104,101,32,102,105,108,101,110,97,109,101,32,97,114,101,32,110,111,119,32>>,{em,[],[<<114,101,106,101,99,116,101,100>>]},<<32,97,110,100,32,119,105,108,108,32,99,97,117,115,101,32,112,114,105,109,105,116,105,118,101,32,102,105,108,101,32,111,112,101,114,97,116,105,111,110,115,32,102,97,105,108,46>>]}]},{h2,[],[<<80,79,83,73,88,32,69,114,114,111,114,32,67,111,100,101,115>>]},{ul,[],[{li,[],[{code,[],[<<101,97,99,99,101,115>>]},<<32,45,32,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100>>]},{li,[],[{code,[],[<<101,97,103,97,105,110>>]},<<32,45,32,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101>>]},{li,[],[{code,[],[<<101,98,97,100,102>>]},<<32,45,32,66,97,100,32,102,105,108,101,32,110,117,109,98,101,114>>]},{li,[],[{code,[],[<<101,98,117,115,121>>]},<<32,45,32,70,105,108,101,32,98,117,115,121>>]},{li,[],[{code,[],[<<101,100,113,117,111,116>>]},<<32,45,32,68,105,115,107,32,113,117,111,116,97,32,101,120,99,101,101,100,101,100>>]},{li,[],[{code,[],[<<101,101,120,105,115,116>>]},<<32,45,32,70,105,108,101,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115>>]},{li,[],[{code,[],[<<101,102,97,117,108,116>>]},<<32,45,32,66,97,100,32,97,100,100,114,101,115,115,32,105,110,32,115,121,115,116,101,109,32,99,97,108,108,32,97,114,103,117,109,101,110,116>>]},{li,[],[{code,[],[<<101,102,98,105,103>>]},<<32,45,32,70,105,108,101,32,116,111,111,32,108,97,114,103,101>>]},{li,[],[{code,[],[<<101,105,110,116,114>>]},<<32,45,32,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108>>]},{li,[],[{code,[],[<<101,105,110,118,97,108>>]},<<32,45,32,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116>>]},{li,[],[{code,[],[<<101,105,111>>]},<<32,45,32,73,47,79,32,101,114,114,111,114>>]},{li,[],[{code,[],[<<101,105,115,100,105,114>>]},<<32,45,32,73,108,108,101,103,97,108,32,111,112,101,114,97,116,105,111,110,32,111,110,32,97,32,100,105,114,101,99,116,111,114,121>>]},{li,[],[{code,[],[<<101,108,111,111,112>>]},<<32,45,32,84,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115>>]},{li,[],[{code,[],[<<101,109,102,105,108,101>>]},<<32,45,32,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115>>]},{li,[],[{code,[],[<<101,109,108,105,110,107>>]},<<32,45,32,84,111,111,32,109,97,110,121,32,108,105,110,107,115>>]},{li,[],[{code,[],[<<101,110,97,109,101,116,111,111,108,111,110,103>>]},<<32,45,32,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103>>]},{li,[],[{code,[],[<<101,110,102,105,108,101>>]},<<32,45,32,70,105,108,101,32,116,97,98,108,101,32,111,118,101,114,102,108,111,119>>]},{li,[],[{code,[],[<<101,110,111,100,101,118>>]},<<32,45,32,78,111,32,115,117,99,104,32,100,101,118,105,99,101>>]},{li,[],[{code,[],[<<101,110,111,101,110,116>>]},<<32,45,32,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121>>]},{li,[],[{code,[],[<<101,110,111,109,101,109>>]},<<32,45,32,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121>>]},{li,[],[{code,[],[<<101,110,111,115,112,99>>]},<<32,45,32,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101>>]},{li,[],[{code,[],[<<101,110,111,116,98,108,107>>]},<<32,45,32,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100>>]},{li,[],[{code,[],[<<101,110,111,116,100,105,114>>]},<<32,45,32,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121>>]},{li,[],[{code,[],[<<101,110,111,116,115,117,112>>]},<<32,45,32,79,112,101,114,97,116,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100>>]},{li,[],[{code,[],[<<101,110,120,105,111>>]},<<32,45,32,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115>>]},{li,[],[{code,[],[<<101,112,101,114,109>>]},<<32,45,32,78,111,116,32,111,119,110,101,114>>]},{li,[],[{code,[],[<<101,112,105,112,101>>]},<<32,45,32,66,114,111,107,101,110,32,112,105,112,101>>]},{li,[],[{code,[],[<<101,114,111,102,115>>]},<<32,45,32,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109>>]},{li,[],[{code,[],[<<101,115,112,105,112,101>>]},<<32,45,32,73,110,118,97,108,105,100,32,115,101,101,107>>]},{li,[],[{code,[],[<<101,115,114,99,104>>]},<<32,45,32,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115>>]},{li,[],[{code,[],[<<101,115,116,97,108,101>>]},<<32,45,32,83,116,97,108,101,32,114,101,109,111,116,101,32,102,105,108,101,32,104,97,110,100,108,101>>]},{li,[],[{code,[],[<<101,120,100,101,118>>]},<<32,45,32,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107>>]}]},{h2,[],[<<80,101,114,102,111,114,109,97,110,99,101>>]},{p,[],[<<70,111,114,32,105,110,99,114,101,97,115,101,100,32,112,101,114,102,111,114,109,97,110,99,101,44,32,114,97,119,32,102,105,108,101,115,32,97,114,101,32,114,101,99,111,109,109,101,110,100,101,100,46>>]},{p,[],[<<65,32,110,111,114,109,97,108,32,102,105,108,101,32,105,115,32,114,101,97,108,108,121,32,97,32,112,114,111,99,101,115,115,32,115,111,32,105,116,32,99,97,110,32,98,101,32,117,115,101,100,32,97,115,32,97,110,32,73,47,79,32,100,101,118,105,99,101,32,40,115,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111>>]}]},<<41,46,32,84,104,101,114,101,102,111,114,101,44,32,119,104,101,110,32,100,97,116,97,32,105,115,32,119,114,105,116,116,101,110,32,116,111,32,97,32,110,111,114,109,97,108,32,102,105,108,101,44,32,116,104,101,32,115,101,110,100,105,110,103,32,111,102,32,116,104,101,32,100,97,116,97,32,116,111,32,116,104,101,32,102,105,108,101,32,112,114,111,99,101,115,115,44,32,99,111,112,105,101,115,32,97,108,108,32,100,97,116,97,32,116,104,97,116,32,97,114,101,32,110,111,116,32,98,105,110,97,114,105,101,115,46,32,79,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,32,105,110,32,98,105,110,97,114,121,32,109,111,100,101,32,97,110,100,32,119,114,105,116,105,110,103,32,98,105,110,97,114,105,101,115,32,105,115,32,116,104,101,114,101,102,111,114,101,32,114,101,99,111,109,109,101,110,100,101,100,46,32,73,102,32,116,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,111,110,32,97,110,111,116,104,101,114,32,110,111,100,101,44,32,111,114,32,105,102,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,114,117,110,115,32,97,115,32,115,108,97,118,101,32,116,111,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,111,102,32,97,110,111,116,104,101,114,32,110,111,100,101,44,32,97,108,115,111,32,98,105,110,97,114,105,101,115,32,97,114,101,32,99,111,112,105,101,100,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<82,97,119,32,102,105,108,101,115,32,117,115,101,32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109,32,111,102,32,116,104,101,32,104,111,115,116,32,109,97,99,104,105,110,101,32,111,102,32,116,104,101,32,110,111,100,101,46,32,70,111,114,32,110,111,114,109,97,108,32,102,105,108,101,115,32,40,110,111,110,45,114,97,119,41,44,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,105,115,32,117,115,101,100,32,116,111,32,102,105,110,100,32,116,104,101,32,102,105,108,101,115,44,32,97,110,100,32,105,102,32,116,104,101,32,110,111,100,101,32,105,115,32,114,117,110,110,105,110,103,32,105,116,115,32,102,105,108,101,32,115,101,114,118,101,114,32,97,115,32,115,108,97,118,101,32,116,111,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,111,102,32,97,110,111,116,104,101,114,32,110,111,100,101,44,32,97,110,100,32,116,104,101,32,111,116,104,101,114,32,110,111,100,101,32,114,117,110,115,32,111,110,32,115,111,109,101,32,111,116,104,101,114,32,104,111,115,116,32,109,97,99,104,105,110,101,44,32,116,104,101,121,32,99,97,110,32,104,97,118,101,32,100,105,102,102,101,114,101,110,116,32,102,105,108,101,32,115,121,115,116,101,109,115,46,32,72,111,119,101,118,101,114,44,32,116,104,105,115,32,105,115,32,115,101,108,100,111,109,32,97,32,112,114,111,98,108,101,109,46>>]}]},{p,[],[{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<32,99,97,110,32,98,101,32,103,105,118,101,110,32,116,104,101,32,111,112,116,105,111,110,115,32>>,{code,[],[<<100,101,108,97,121,101,100,95,119,114,105,116,101>>]},<<32,97,110,100,32>>,{code,[],[<<114,101,97,100,95,97,104,101,97,100>>]},<<32,116,111,32,116,117,114,110,32,111,110,32,99,97,99,104,105,110,103,44,32,119,104,105,99,104,32,119,105,108,108,32,114,101,100,117,99,101,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,99,97,108,108,115,32,97,110,100,32,103,114,101,97,116,108,121,32,105,109,112,114,111,118,101,32,112,101,114,102,111,114,109,97,110,99,101,32,102,111,114,32,115,109,97,108,108,32,114,101,97,100,115,32,97,110,100,32,119,114,105,116,101,115,46,32,72,111,119,101,118,101,114,44,32,116,104,101,32,111,118,101,114,104,101,97,100,32,119,111,110,39,116,32,100,105,115,97,112,112,101,97,114,32,99,111,109,112,108,101,116,101,108,121,32,97,110,100,32,105,116,39,115,32,98,101,115,116,32,116,111,32,107,101,101,112,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,102,105,108,101,32,111,112,101,114,97,116,105,111,110,115,32,116,111,32,97,32,109,105,110,105,109,117,109,46,32,65,115,32,97,32,99,111,110,116,114,105,118,101,100,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,117,110,99,116,105,111,110,32,119,114,105,116,101,115,32,52,77,66,32,105,110,32,50,46,53,32,115,101,99,111,110,100,115,32,119,104,101,110,32,116,101,115,116,101,100,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<99,114,101,97,116,101,95,102,105,108,101,95,115,108,111,119,40,78,97,109,101,41,32,45,62,10,32,32,32,32,123,111,107,44,32,70,100,125,32,61,32,102,105,108,101,58,111,112,101,110,40,78,97,109,101,44,32,91,114,97,119,44,32,119,114,105,116,101,44,32,100,101,108,97,121,101,100,95,119,114,105,116,101,44,32,98,105,110,97,114,121,93,41,44,10,32,32,32,32,99,114,101,97,116,101,95,102,105,108,101,95,115,108,111,119,95,49,40,70,100,44,32,52,32,98,115,108,32,50,48,41,44,10,32,32,32,32,102,105,108,101,58,99,108,111,115,101,40,70,100,41,46,10,10,99,114,101,97,116,101,95,102,105,108,101,95,115,108,111,119,95,49,40,95,70,100,44,32,48,41,32,45,62,10,32,32,32,32,111,107,59,10,99,114,101,97,116,101,95,102,105,108,101,95,115,108,111,119,95,49,40,70,100,44,32,77,41,32,45,62,10,32,32,32,32,111,107,32,61,32,102,105,108,101,58,119,114,105,116,101,40,70,100,44,32,60,60,48,62,62,41,44,10,32,32,32,32,99,114,101,97,116,101,95,102,105,108,101,95,115,108,111,119,95,49,40,70,100,44,32,77,32,45,32,49,41,46>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,102,117,110,99,116,105,111,110,97,108,108,121,32,101,113,117,105,118,97,108,101,110,116,32,99,111,100,101,32,119,114,105,116,101,115,32,49,50,56,32,98,121,116,101,115,32,112,101,114,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,47,50>>]}]},<<32,97,110,100,32,115,111,32,100,111,101,115,32,116,104,101,32,115,97,109,101,32,119,111,114,107,32,105,110,32,48,46,48,56,32,115,101,99,111,110,100,115,44,32,119,104,105,99,104,32,105,115,32,114,111,117,103,104,108,121,32,51,48,32,116,105,109,101,115,32,102,97,115,116,101,114,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<99,114,101,97,116,101,95,102,105,108,101,40,78,97,109,101,41,32,45,62,10,32,32,32,32,123,111,107,44,32,70,100,125,32,61,32,102,105,108,101,58,111,112,101,110,40,78,97,109,101,44,32,91,114,97,119,44,32,119,114,105,116,101,44,32,100,101,108,97,121,101,100,95,119,114,105,116,101,44,32,98,105,110,97,114,121,93,41,44,10,32,32,32,32,99,114,101,97,116,101,95,102,105,108,101,95,49,40,70,100,44,32,52,32,98,115,108,32,50,48,41,44,10,32,32,32,32,102,105,108,101,58,99,108,111,115,101,40,70,100,41,44,10,32,32,32,32,111,107,46,10,10,99,114,101,97,116,101,95,102,105,108,101,95,49,40,95,70,100,44,32,48,41,32,45,62,10,32,32,32,32,111,107,59,10,99,114,101,97,116,101,95,102,105,108,101,95,49,40,70,100,44,32,77,41,32,119,104,101,110,32,77,32,62,61,32,49,50,56,32,45,62,10,32,32,32,32,111,107,32,61,32,102,105,108,101,58,119,114,105,116,101,40,70,100,44,32,60,60,48,58,40,49,50,56,41,47,117,110,105,116,58,56,62,62,41,44,10,32,32,32,32,99,114,101,97,116,101,95,102,105,108,101,95,49,40,70,100,44,32,77,32,45,32,49,50,56,41,59,10,99,114,101,97,116,101,95,102,105,108,101,95,49,40,70,100,44,32,77,41,32,45,62,10,32,32,32,32,111,107,32,61,32,102,105,108,101,58,119,114,105,116,101,40,70,100,44,32,60,60,48,58,40,77,41,47,117,110,105,116,58,56,62,62,41,44,10,32,32,32,32,99,114,101,97,116,101,95,102,105,108,101,95,49,40,70,100,44,32,77,32,45,32,49,41,46>>]}]},{p,[],[<<87,104,101,110,32,119,114,105,116,105,110,103,32,100,97,116,97,32,105,116,39,115,32,103,101,110,101,114,97,108,108,121,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,111,32,119,114,105,116,101,32,97,32,108,105,115,116,32,111,102,32,98,105,110,97,114,105,101,115,32,114,97,116,104,101,114,32,116,104,97,110,32,97,32,108,105,115,116,32,111,102,32,105,110,116,101,103,101,114,115,46,32,73,116,32,105,115,32,110,111,116,32,110,101,101,100,101,100,32,116,111,32,102,108,97,116,116,101,110,32,97,32,100,101,101,112,32,108,105,115,116,32,98,101,102,111,114,101,32,119,114,105,116,105,110,103,46,32,79,110,32,85,110,105,120,32,104,111,115,116,115,44,32,115,99,97,116,116,101,114,32,111,117,116,112,117,116,44,32,119,104,105,99,104,32,119,114,105,116,101,115,32,97,32,115,101,116,32,111,102,32,98,117,102,102,101,114,115,32,105,110,32,111,110,101,32,111,112,101,114,97,116,105,111,110,44,32,105,115,32,117,115,101,100,32,119,104,101,110,32,112,111,115,115,105,98,108,101,46,32,73,110,32,116,104,105,115,32,119,97,121,32>>,{code,[],[<<119,114,105,116,101,40,70,68,44,32,91,66,105,110,49,44,32,66,105,110,50,32,124,32,66,105,110,51,93,41>>]},<<32,119,114,105,116,101,115,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32,116,104,101,32,98,105,110,97,114,105,101,115,32,119,105,116,104,111,117,116,32,99,111,112,121,105,110,103,32,116,104,101,32,100,97,116,97,32,97,116,32,97,108,108,44,32,101,120,99,101,112,116,32,102,111,114,32,112,101,114,104,97,112,115,32,100,101,101,112,32,100,111,119,110,32,105,110,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,107,101,114,110,101,108,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<73,102,32,97,110,32,101,114,114,111,114,32,111,99,99,117,114,115,32,119,104,101,110,32,97,99,99,101,115,115,105,110,103,32,97,110,32,111,112,101,110,32,102,105,108,101,32,119,105,116,104,32,109,111,100,117,108,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111>>]}]},<<44,32,116,104,101,32,112,114,111,99,101,115,115,32,104,97,110,100,108,105,110,103,32,116,104,101,32,102,105,108,101,32,101,120,105,116,115,46,32,84,104,101,32,100,101,97,100,32,102,105,108,101,32,112,114,111,99,101,115,115,32,99,97,110,32,104,97,110,103,32,105,102,32,97,32,112,114,111,99,101,115,115,32,116,114,105,101,115,32,116,111,32,97,99,99,101,115,115,32,105,116,32,108,97,116,101,114,46,32,84,104,105,115,32,119,105,108,108,32,98,101,32,102,105,120,101,100,32,105,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,46>>]}]},{h2,[],[<<83,101,101,32,65,108,115,111>>]},{p,[],[{a,[{href,<<115,116,100,108,105,98,58,102,105,108,101,110,97,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<102,105,108,101,110,97,109,101,40,51,41>>]}]}]}]},#{name => <<102,105,108,101>>,otp_doc_vsn => {1,0,0},source => [46,46,47,120,109,108,47,102,105,108,101,46,120,109,108],types => #{{date_time,0} => {attribute,{124,2},type,{date_time,{remote_type,{124,22},[{atom,{124,22},calendar},{atom,{124,31},datetime},[]]},[]}},{deep_list,0} => {attribute,{102,2},type,{deep_list,{type,{102,22},list,[{type,{102,23},union,[{type,{102,23},char,[]},{type,{102,32},atom,[]},{user_type,{102,41},deep_list,[]}]}]},[]}},{delete_option,0} => {attribute,{127,2},type,{delete_option,{atom,{127,26},raw},[]}},{fd,0} => {attribute,{88,2},type,{fd,{type,{88,22},record,[{atom,{88,23},file_descriptor}]},[]}},{file_info,0} => {attribute,{87,2},type,{file_info,{type,{87,22},record,[{atom,{87,23},file_info}]},[]}},{file_info_option,0} => {attribute,{130,2},type,{file_info_option,{type,{130,29},union,[{type,{130,29},tuple,[{atom,{130,30},time},{atom,{130,38},local}]},{type,{130,49},tuple,[{atom,{130,50},time},{atom,{130,58},universal}]},{type,{131,8},tuple,[{atom,{131,9},time},{atom,{131,17},posix}]},{atom,{131,28},raw}]},[]}},{filename,0} => {attribute,{85,2},type,{filename,{type,{85,22},string,[]},[]}},{filename_all,0} => {attribute,{86,2},type,{filename_all,{type,{86,25},union,[{type,{86,25},string,[]},{type,{86,36},binary,[]}]},[]}},{io_device,0} => {attribute,{89,2},type,{io_device,{type,{89,22},union,[{type,{89,22},pid,[]},{user_type,{89,30},fd,[]}]},[]}},{location,0} => {attribute,{90,2},type,{location,{type,{90,22},union,[{type,{90,22},integer,[]},{type,{90,34},tuple,[{atom,{90,35},bof},{ann_type,{90,42},[{var,{90,42},'Offset'},{type,{90,52},integer,[]}]}]},{type,{91,22},tuple,[{atom,{91,23},cur},{ann_type,{91,30},[{var,{91,30},'Offset'},{type,{91,40},integer,[]}]}]},{type,{92,8},tuple,[{atom,{92,9},eof},{ann_type,{92,16},[{var,{92,16},'Offset'},{type,{92,26},integer,[]}]}]},{atom,{92,39},bof},{atom,{92,47},cur},{atom,{92,55},eof}]},[]}},{mode,0} => {attribute,{93,2},type,{mode,{type,{93,22},union,[{atom,{93,22},read},{atom,{93,31},write},{atom,{93,41},append},{atom,{94,22},exclusive},{atom,{94,36},raw},{atom,{94,44},binary},{type,{95,8},tuple,[{atom,{95,9},delayed_write},{ann_type,{96,23},[{var,{96,23},'Size'},{type,{96,31},non_neg_integer,[]}]},{ann_type,{97,23},[{var,{97,23},'Delay'},{type,{97,32},non_neg_integer,[]}]}]},{atom,{98,8},delayed_write},{type,{98,26},tuple,[{atom,{98,27},read_ahead},{ann_type,{98,41},[{var,{98,41},'Size'},{type,{98,49},pos_integer,[]}]}]},{atom,{99,8},read_ahead},{atom,{99,23},compressed},{atom,{99,38},compressed_one},{type,{100,8},tuple,[{atom,{100,9},encoding},{remote_type,{100,21},[{atom,{100,21},unicode},{atom,{100,29},encoding},[]]}]},{atom,{101,8},sync}]},[]}},{name,0} => {attribute,{103,2},type,{name,{type,{103,22},union,[{type,{103,22},string,[]},{type,{103,33},atom,[]},{user_type,{103,42},deep_list,[]}]},[]}},{name_all,0} => {attribute,{104,2},type,{name_all,{type,{104,22},union,[{type,{104,22},string,[]},{type,{104,33},atom,[]},{user_type,{104,42},deep_list,[]},{ann_type,{104,57},[{var,{104,57},'RawFilename'},{type,{104,72},binary,[]}]}]},[]}},{posix,0} => {attribute,{105,2},type,{posix,{type,{106,9},union,[{atom,{106,9},eacces},{atom,{106,20},eagain},{atom,{107,9},ebadf},{atom,{107,19},ebadmsg},{atom,{107,31},ebusy},{atom,{108,9},edeadlk},{atom,{108,21},edeadlock},{atom,{108,35},edquot},{atom,{109,9},eexist},{atom,{110,9},efault},{atom,{110,20},efbig},{atom,{110,30},eftype},{atom,{111,9},eintr},{atom,{111,19},einval},{atom,{111,30},eio},{atom,{111,38},eisdir},{atom,{112,9},eloop},{atom,{113,9},emfile},{atom,{113,20},emlink},{atom,{113,31},emultihop},{atom,{114,9},enametoolong},{atom,{114,26},enfile},{atom,{115,9},enobufs},{atom,{115,21},enodev},{atom,{115,32},enolck},{atom,{115,43},enolink},{atom,{115,55},enoent},{atom,{116,9},enomem},{atom,{116,20},enospc},{atom,{116,31},enosr},{atom,{116,41},enostr},{atom,{116,52},enosys},{atom,{117,9},enotblk},{atom,{117,21},enotdir},{atom,{117,33},enotsup},{atom,{117,45},enxio},{atom,{118,9},eopnotsupp},{atom,{118,24},eoverflow},{atom,{119,9},eperm},{atom,{119,19},epipe},{atom,{120,9},erange},{atom,{120,20},erofs},{atom,{121,9},espipe},{atom,{121,21},esrch},{atom,{121,32},estale},{atom,{122,9},etxtbsy},{atom,{123,9},exdev}]},[]}},{posix_file_advise,0} => {attribute,{125,2},type,{posix_file_advise,{type,{125,30},union,[{atom,{125,30},normal},{atom,{125,41},sequential},{atom,{125,56},random},{atom,{126,30},no_reuse},{atom,{126,43},will_need},{atom,{126,57},dont_need}]},[]}},{sendfile_option,0} => {attribute,{128,2},type,{sendfile_option,{type,{128,28},union,[{type,{128,28},tuple,[{atom,{128,29},chunk_size},{type,{128,41},non_neg_integer,[]}]},{type,{129,7},tuple,[{atom,{129,8},use_threads},{type,{129,21},boolean,[]}]}]},[]}}}},[{{function,altname,1},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<97,108,116,110,97,109,101,47,49>>],hidden,#{}},{{function,copy_opened,3},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<99,111,112,121,95,111,112,101,110,101,100,47,51>>],hidden,#{}},{{function,ipread_s32bu_p32bu,3},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<105,112,114,101,97,100,95,115,51,50,98,117,95,112,51,50,98,117,47,51>>],hidden,#{}},{{function,ipread_s32bu_p32bu_int,3},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<105,112,114,101,97,100,95,115,51,50,98,117,95,112,51,50,98,117,95,105,110,116,47,51>>],hidden,#{}},{{function,path_eval,3},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<112,97,116,104,95,101,118,97,108,47,51>>],hidden,#{}},{{function,raw_read_file_info,1},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<114,97,119,95,114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49>>],hidden,#{}},{{function,raw_write_file_info,2},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<114,97,119,95,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>],hidden,#{}},{{function,advise,4},[{file,[102,105,108,101,46,101,114,108]},{location,559}],[<<97,100,118,105,115,101,47,52>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<112,111,115,105,120,95,102,105,108,101,95,97,100,118,105,115,101>>}],[]}]},{p,[],[{code,[],[<<97,100,118,105,115,101,47,52>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,97,110,110,111,117,110,99,101,32,97,110,32,105,110,116,101,110,116,105,111,110,32,116,111,32,97,99,99,101,115,115,32,102,105,108,101,32,100,97,116,97,32,105,110,32,97,32,115,112,101,99,105,102,105,99,32,112,97,116,116,101,114,110,32,105,110,32,116,104,101,32,102,117,116,117,114,101,44,32,116,104,117,115,32,97,108,108,111,119,105,110,103,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,116,111,32,112,101,114,102,111,114,109,32,97,112,112,114,111,112,114,105,97,116,101,32,111,112,116,105,109,105,122,97,116,105,111,110,115,46>>]},{p,[],[<<79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,109,105,103,104,116,32,104,97,118,101,32,110,111,32,101,102,102,101,99,116,46>>]}]},#{signature => [{attribute,{559,2},spec,{{advise,4},[{type,{559,13},bounded_fun,[{type,{559,13},'fun',[{type,{559,13},product,[{var,{559,14},'IoDevice'},{var,{559,24},'Offset'},{var,{559,32},'Length'},{var,{559,40},'Advise'}]},{type,{559,51},union,[{atom,{559,51},ok},{type,{559,56},tuple,[{atom,{559,57},error},{var,{559,64},'Reason'}]}]}]},[{type,{560,7},constraint,[{atom,{560,7},is_subtype},[{var,{560,7},'IoDevice'},{user_type,{560,19},io_device,[]}]]},{type,{561,7},constraint,[{atom,{561,7},is_subtype},[{var,{561,7},'Offset'},{type,{561,17},integer,[]}]]},{type,{562,7},constraint,[{atom,{562,7},is_subtype},[{var,{562,7},'Length'},{type,{562,17},integer,[]}]]},{type,{563,7},constraint,[{atom,{563,7},is_subtype},[{var,{563,7},'Advise'},{user_type,{563,17},posix_file_advise,[]}]]},{type,{564,7},constraint,[{atom,{564,7},is_subtype},[{var,{564,7},'Reason'},{type,{564,17},union,[{user_type,{564,17},posix,[]},{atom,{564,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,56,56>>,since => <<79,84,80,32,82,49,52,66>>}},{{function,allocate,3},[{file,[102,105,108,101,46,101,114,108]},{location,573}],[<<97,108,108,111,99,97,116,101,47,51>>],#{<<101,110>> => [{p,[],[{code,[],[<<97,108,108,111,99,97,116,101,47,51>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,112,114,101,97,108,108,111,99,97,116,101,32,115,112,97,99,101,32,102,111,114,32,97,32,102,105,108,101,46>>]},{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,111,110,108,121,32,115,117,99,99,101,101,100,115,32,105,110,32,112,108,97,116,102,111,114,109,115,32,116,104,97,116,32,112,114,111,118,105,100,101,32,116,104,105,115,32,102,101,97,116,117,114,101,46>>]}]},#{signature => [{attribute,{573,2},spec,{{allocate,3},[{type,{573,15},bounded_fun,[{type,{573,15},'fun',[{type,{573,15},product,[{var,{573,16},'File'},{var,{573,22},'Offset'},{var,{573,30},'Length'}]},{type,{574,2},union,[{atom,{574,2},ok},{type,{574,9},tuple,[{atom,{574,10},error},{user_type,{574,19},posix,[]}]}]}]},[{type,{575,7},constraint,[{atom,{575,7},is_subtype},[{var,{575,7},'File'},{user_type,{575,15},io_device,[]}]]},{type,{576,7},constraint,[{atom,{576,7},is_subtype},[{var,{576,7},'Offset'},{type,{576,17},non_neg_integer,[]}]]},{type,{577,7},constraint,[{atom,{577,7},is_subtype},[{var,{577,7},'Length'},{type,{577,17},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,57,57>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,change_group,2},[{file,[102,105,108,101,46,101,114,108]},{location,1243}],[<<99,104,97,110,103,101,95,103,114,111,117,112,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,103,114,111,117,112,32,111,102,32,97,32,102,105,108,101,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{1243,2},spec,{{change_group,2},[{type,{1243,19},bounded_fun,[{type,{1243,19},'fun',[{type,{1243,19},product,[{var,{1243,20},'Filename'},{var,{1243,30},'Gid'}]},{type,{1243,38},union,[{atom,{1243,38},ok},{type,{1243,43},tuple,[{atom,{1243,44},error},{var,{1243,51},'Reason'}]}]}]},[{type,{1244,7},constraint,[{atom,{1244,7},is_subtype},[{var,{1244,7},'Filename'},{user_type,{1244,19},name_all,[]}]]},{type,{1245,7},constraint,[{atom,{1245,7},is_subtype},[{var,{1245,7},'Gid'},{type,{1245,14},integer,[]}]]},{type,{1246,7},constraint,[{atom,{1246,7},is_subtype},[{var,{1246,7},'Reason'},{type,{1246,17},union,[{user_type,{1246,17},posix,[]},{atom,{1246,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,48,56>>}},{{function,change_mode,2},[{file,[102,105,108,101,46,101,114,108]},{location,1215}],[<<99,104,97,110,103,101,95,109,111,100,101,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,112,101,114,109,105,115,115,105,111,110,115,32,111,102,32,97,32,102,105,108,101,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{1215,2},spec,{{change_mode,2},[{type,{1215,18},bounded_fun,[{type,{1215,18},'fun',[{type,{1215,18},product,[{var,{1215,19},'Filename'},{var,{1215,29},'Mode'}]},{type,{1215,38},union,[{atom,{1215,38},ok},{type,{1215,43},tuple,[{atom,{1215,44},error},{var,{1215,51},'Reason'}]}]}]},[{type,{1216,7},constraint,[{atom,{1216,7},is_subtype},[{var,{1216,7},'Filename'},{user_type,{1216,19},name_all,[]}]]},{type,{1217,7},constraint,[{atom,{1217,7},is_subtype},[{var,{1217,7},'Mode'},{type,{1217,15},integer,[]}]]},{type,{1218,7},constraint,[{atom,{1218,7},is_subtype},[{var,{1218,7},'Reason'},{type,{1218,17},union,[{user_type,{1218,17},posix,[]},{atom,{1218,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,49,54>>,since => <<79,84,80,32,82,49,52,66>>}},{{function,change_owner,2},[{file,[102,105,108,101,46,101,114,108]},{location,1224}],[<<99,104,97,110,103,101,95,111,119,110,101,114,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,111,119,110,101,114,32,111,102,32,97,32,102,105,108,101,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{1224,2},spec,{{change_owner,2},[{type,{1224,19},bounded_fun,[{type,{1224,19},'fun',[{type,{1224,19},product,[{var,{1224,20},'Filename'},{var,{1224,30},'Uid'}]},{type,{1224,38},union,[{atom,{1224,38},ok},{type,{1224,43},tuple,[{atom,{1224,44},error},{var,{1224,51},'Reason'}]}]}]},[{type,{1225,7},constraint,[{atom,{1225,7},is_subtype},[{var,{1225,7},'Filename'},{user_type,{1225,19},name_all,[]}]]},{type,{1226,7},constraint,[{atom,{1226,7},is_subtype},[{var,{1226,7},'Uid'},{type,{1226,14},integer,[]}]]},{type,{1227,7},constraint,[{atom,{1227,7},is_subtype},[{var,{1227,7},'Reason'},{type,{1227,17},union,[{user_type,{1227,17},posix,[]},{atom,{1227,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,50,52>>}},{{function,change_owner,3},[{file,[102,105,108,101,46,101,114,108]},{location,1233}],[<<99,104,97,110,103,101,95,111,119,110,101,114,47,51>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,111,119,110,101,114,32,97,110,100,32,103,114,111,117,112,32,111,102,32,97,32,102,105,108,101,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{1233,2},spec,{{change_owner,3},[{type,{1233,19},bounded_fun,[{type,{1233,19},'fun',[{type,{1233,19},product,[{var,{1233,20},'Filename'},{var,{1233,30},'Uid'},{var,{1233,35},'Gid'}]},{type,{1233,43},union,[{atom,{1233,43},ok},{type,{1233,48},tuple,[{atom,{1233,49},error},{var,{1233,56},'Reason'}]}]}]},[{type,{1234,7},constraint,[{atom,{1234,7},is_subtype},[{var,{1234,7},'Filename'},{user_type,{1234,19},name_all,[]}]]},{type,{1235,7},constraint,[{atom,{1235,7},is_subtype},[{var,{1235,7},'Uid'},{type,{1235,14},integer,[]}]]},{type,{1236,7},constraint,[{atom,{1236,7},is_subtype},[{var,{1236,7},'Gid'},{type,{1236,14},integer,[]}]]},{type,{1237,7},constraint,[{atom,{1237,7},is_subtype},[{var,{1237,7},'Reason'},{type,{1237,17},union,[{user_type,{1237,17},posix,[]},{atom,{1237,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,51,50>>}},{{function,change_time,2},[{file,[102,105,108,101,46,101,114,108]},{location,1252}],[<<99,104,97,110,103,101,95,116,105,109,101,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,116,104,101,32,109,111,100,105,102,105,99,97,116,105,111,110,32,97,110,100,32,97,99,99,101,115,115,32,116,105,109,101,115,32,111,102,32,97,32,102,105,108,101,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{1252,2},spec,{{change_time,2},[{type,{1252,18},bounded_fun,[{type,{1252,18},'fun',[{type,{1252,18},product,[{var,{1252,19},'Filename'},{var,{1252,29},'Mtime'}]},{type,{1252,39},union,[{atom,{1252,39},ok},{type,{1252,44},tuple,[{atom,{1252,45},error},{var,{1252,52},'Reason'}]}]}]},[{type,{1253,7},constraint,[{atom,{1253,7},is_subtype},[{var,{1253,7},'Filename'},{user_type,{1253,19},name_all,[]}]]},{type,{1254,7},constraint,[{atom,{1254,7},is_subtype},[{var,{1254,7},'Mtime'},{user_type,{1254,16},date_time,[]}]]},{type,{1255,7},constraint,[{atom,{1255,7},is_subtype},[{var,{1255,7},'Reason'},{type,{1255,17},union,[{user_type,{1255,17},posix,[]},{atom,{1255,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,52,48>>}},{{function,change_time,3},[{file,[102,105,108,101,46,101,114,108]},{location,1262}],[<<99,104,97,110,103,101,95,116,105,109,101,47,51>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,116,104,101,32,109,111,100,105,102,105,99,97,116,105,111,110,32,97,110,100,32,108,97,115,116,32,97,99,99,101,115,115,32,116,105,109,101,115,32,111,102,32,97,32,102,105,108,101,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{1262,2},spec,{{change_time,3},[{type,{1262,18},bounded_fun,[{type,{1262,18},'fun',[{type,{1262,18},product,[{var,{1262,19},'Filename'},{var,{1262,29},'Atime'},{var,{1262,36},'Mtime'}]},{type,{1262,46},union,[{atom,{1262,46},ok},{type,{1262,51},tuple,[{atom,{1262,52},error},{var,{1262,59},'Reason'}]}]}]},[{type,{1263,7},constraint,[{atom,{1263,7},is_subtype},[{var,{1263,7},'Filename'},{user_type,{1263,19},name_all,[]}]]},{type,{1264,7},constraint,[{atom,{1264,7},is_subtype},[{var,{1264,7},'Atime'},{user_type,{1264,16},date_time,[]}]]},{type,{1265,7},constraint,[{atom,{1265,7},is_subtype},[{var,{1265,7},'Mtime'},{user_type,{1265,16},date_time,[]}]]},{type,{1266,7},constraint,[{atom,{1266,7},is_subtype},[{var,{1266,7},'Reason'},{type,{1266,17},union,[{user_type,{1266,17},posix,[]},{atom,{1266,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,52,56>>}},{{function,close,1},[{file,[102,105,108,101,46,101,114,108]},{location,540}],[<<99,108,111,115,101,47,49>>],#{<<101,110>> => [{p,[],[<<67,108,111,115,101,115,32,116,104,101,32,102,105,108,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<46,32,73,116,32,109,111,115,116,108,121,32,114,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<44,32,101,120,99,101,112,116,32,102,111,114,32,115,111,109,101,32,115,101,118,101,114,101,32,101,114,114,111,114,115,32,115,117,99,104,32,97,115,32,111,117,116,32,111,102,32,109,101,109,111,114,121,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<100,101,108,97,121,101,100,95,119,114,105,116,101>>]},<<32,119,97,115,32,117,115,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,44,32>>,{code,[],[<<99,108,111,115,101,47,49>>]},<<32,99,97,110,32,114,101,116,117,114,110,32,97,110,32,111,108,100,32,119,114,105,116,101,32,101,114,114,111,114,32,97,110,100,32,110,111,116,32,101,118,101,110,32,116,114,121,32,116,111,32,99,108,111,115,101,32,116,104,101,32,102,105,108,101,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{540,2},spec,{{close,1},[{type,{540,12},bounded_fun,[{type,{540,12},'fun',[{type,{540,12},product,[{var,{540,13},'IoDevice'}]},{type,{540,26},union,[{atom,{540,26},ok},{type,{540,31},tuple,[{atom,{540,32},error},{var,{540,39},'Reason'}]}]}]},[{type,{541,7},constraint,[{atom,{541,7},is_subtype},[{var,{541,7},'IoDevice'},{user_type,{541,19},io_device,[]}]]},{type,{542,7},constraint,[{atom,{542,7},is_subtype},[{var,{542,7},'Reason'},{type,{542,17},union,[{user_type,{542,17},posix,[]},{atom,{542,27},badarg},{atom,{542,36},terminated}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,53,54>>}},{{function,consult,1},[{file,[102,105,108,101,46,101,114,108]},{location,1019}],[<<99,111,110,115,117,108,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,97,100,115,32,69,114,108,97,110,103,32,116,101,114,109,115,44,32,115,101,112,97,114,97,116,101,100,32,98,121,32,39,46,39,44,32,102,114,111,109,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<46,32,82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,84,101,114,109,115,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,119,97,115,32,115,117,99,99,101,115,115,102,117,108,108,121,32,114,101,97,100,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,97,116,111,109,40,41,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,114,101,97,100,105,110,103,32,105,116,46,32,70,111,114,32,97,32,108,105,115,116,32,111,102,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,99,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,123,76,105,110,101,44,32,77,111,100,44,32,84,101,114,109,125,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,105,110,116,101,114,112,114,101,116,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,116,101,114,109,115,32,105,110,32,116,104,101,32,102,105,108,101,46,32,84,111,32,99,111,110,118,101,114,116,32,116,104,101,32,116,104,114,101,101,45,101,108,101,109,101,110,116,32,116,117,112,108,101,32,116,111,32,97,110,32,69,110,103,108,105,115,104,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,44,32,117,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,102,111,114,109,97,116,95,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,49>>]}]},<<46>>]}]}]},{p,[],[{em,[],[<<69,120,97,109,112,108,101,58>>]}]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<102,46,116,120,116,58,32,32,123,112,101,114,115,111,110,44,32,34,107,97,108,108,101,34,44,32,50,53,125,46,10,32,32,32,32,32,32,32,32,123,112,101,114,115,111,110,44,32,34,112,101,108,108,101,34,44,32,51,48,125,46>>]}]},{pre,[],[{code,[],[<<49,62,32,102,105,108,101,58,99,111,110,115,117,108,116,40,34,102,46,116,120,116,34,41,46,10,123,111,107,44,91,123,112,101,114,115,111,110,44,34,107,97,108,108,101,34,44,50,53,125,44,123,112,101,114,115,111,110,44,34,112,101,108,108,101,34,44,51,48,125,93,125>>]}]},{p,[],[<<84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,97,32,99,111,109,109,101,110,116,44,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,112,112,35,101,110,99,111,100,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,112,112,40,51,41>>]}]},<<46>>]}]},#{signature => [{attribute,{1019,2},spec,{{consult,1},[{type,{1019,14},bounded_fun,[{type,{1019,14},'fun',[{type,{1019,14},product,[{var,{1019,15},'Filename'}]},{type,{1019,28},union,[{type,{1019,28},tuple,[{atom,{1019,29},ok},{var,{1019,33},'Terms'}]},{type,{1019,42},tuple,[{atom,{1019,43},error},{var,{1019,50},'Reason'}]}]}]},[{type,{1020,7},constraint,[{atom,{1020,7},is_subtype},[{var,{1020,7},'Filename'},{user_type,{1020,19},name_all,[]}]]},{type,{1021,7},constraint,[{atom,{1021,7},is_subtype},[{var,{1021,7},'Terms'},{type,{1021,16},list,[{type,{1021,17},term,[]}]}]]},{type,{1022,7},constraint,[{atom,{1022,7},is_subtype},[{var,{1022,7},'Reason'},{type,{1022,17},union,[{user_type,{1022,17},posix,[]},{atom,{1022,27},badarg},{atom,{1022,36},terminated},{atom,{1022,49},system_limit},{type,{1023,17},tuple,[{ann_type,{1023,18},[{var,{1023,18},'Line'},{type,{1023,26},integer,[]}]},{ann_type,{1023,37},[{var,{1023,37},'Mod'},{type,{1023,44},module,[]}]},{ann_type,{1023,54},[{var,{1023,54},'Term'},{type,{1023,62},term,[]}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,54,57>>}},{{function,copy,3},[{file,[102,105,108,101,46,101,114,108]},{location,782}],[<<99,111,112,121,47,51>>],#{},#{signature => [{attribute,{782,2},spec,{{copy,3},[{type,{782,11},bounded_fun,[{type,{782,11},'fun',[{type,{782,11},product,[{var,{782,12},'Source'},{var,{782,20},'Destination'},{var,{782,33},'ByteCount'}]},{type,{783,14},union,[{type,{783,14},tuple,[{atom,{783,15},ok},{var,{783,19},'BytesCopied'}]},{type,{783,34},tuple,[{atom,{783,35},error},{var,{783,42},'Reason'}]}]}]},[{type,{784,7},constraint,[{atom,{784,7},is_subtype},[{var,{784,7},'Source'},{type,{784,17},union,[{user_type,{784,17},io_device,[]},{var,{784,31},'Filename'},{type,{784,42},tuple,[{var,{784,43},'Filename'},{var,{784,53},'Modes'}]}]}]]},{type,{785,7},constraint,[{atom,{785,7},is_subtype},[{var,{785,7},'Destination'},{type,{785,22},union,[{user_type,{785,22},io_device,[]},{var,{785,36},'Filename'},{type,{785,47},tuple,[{var,{785,48},'Filename'},{var,{785,58},'Modes'}]}]}]]},{type,{786,7},constraint,[{atom,{786,7},is_subtype},[{var,{786,7},'Filename'},{user_type,{786,19},name_all,[]}]]},{type,{787,7},constraint,[{atom,{787,7},is_subtype},[{var,{787,7},'Modes'},{type,{787,16},list,[{user_type,{787,17},mode,[]}]}]]},{type,{788,7},constraint,[{atom,{788,7},is_subtype},[{var,{788,7},'ByteCount'},{type,{788,20},union,[{type,{788,20},non_neg_integer,[]},{atom,{788,40},infinity}]}]]},{type,{789,7},constraint,[{atom,{789,7},is_subtype},[{var,{789,7},'BytesCopied'},{type,{789,22},non_neg_integer,[]}]]},{type,{790,7},constraint,[{atom,{790,7},is_subtype},[{var,{790,7},'Reason'},{type,{790,17},union,[{user_type,{790,17},posix,[]},{atom,{790,27},badarg},{atom,{790,36},terminated}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,51,48,55>>,equiv => {function,copy,2}}},{{function,copy,2},[{file,[102,105,108,101,46,101,114,108]},{location,771}],[<<99,111,112,121,47,50>>],#{<<101,110>> => [{p,[],[<<67,111,112,105,101,115,32>>,{code,[],[<<66,121,116,101,67,111,117,110,116>>]},<<32,98,121,116,101,115,32,102,114,111,109,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,116,111,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<46,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,97,110,100,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,114,101,102,101,114,32,116,111,32,101,105,116,104,101,114,32,102,105,108,101,110,97,109,101,115,32,111,114,32,73,79,32,100,101,118,105,99,101,115,32,102,114,111,109,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<111,112,101,110,47,50>>]},<<46,32>>,{code,[],[<<66,121,116,101,67,111,117,110,116>>]},<<32,100,101,102,97,117,108,116,115,32,116,111,32>>,{code,[],[<<105,110,102,105,110,105,116,121>>]},<<44,32,100,101,110,111,116,105,110,103,32,97,110,32,105,110,102,105,110,105,116,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,46>>]},{p,[],[<<65,114,103,117,109,101,110,116,32>>,{code,[],[<<77,111,100,101,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,112,111,115,115,105,98,108,101,32,109,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<44,32,97,110,100,32,100,101,102,97,117,108,116,115,32,116,111,32>>,{code,[],[<<91,93>>]},<<46>>]},{p,[],[<<73,102,32,98,111,116,104,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,97,110,100,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,114,101,102,101,114,32,116,111,32,102,105,108,101,110,97,109,101,115,44,32,116,104,101,32,102,105,108,101,115,32,97,114,101,32,111,112,101,110,101,100,32,119,105,116,104,32>>,{code,[],[<<91,114,101,97,100,44,32,98,105,110,97,114,121,93>>]},<<32,97,110,100,32>>,{code,[],[<<91,119,114,105,116,101,44,32,98,105,110,97,114,121,93>>]},<<32,112,114,101,112,101,110,100,101,100,32,116,111,32,116,104,101,105,114,32,109,111,100,101,32,108,105,115,116,115,44,32,114,101,115,112,101,99,116,105,118,101,108,121,44,32,116,111,32,111,112,116,105,109,105,122,101,32,116,104,101,32,99,111,112,121,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,114,101,102,101,114,115,32,116,111,32,97,32,102,105,108,101,110,97,109,101,44,32,105,116,32,105,115,32,111,112,101,110,101,100,32,119,105,116,104,32>>,{code,[],[<<114,101,97,100>>]},<<32,109,111,100,101,32,112,114,101,112,101,110,100,101,100,32,116,111,32,116,104,101,32,109,111,100,101,32,108,105,115,116,32,98,101,102,111,114,101,32,116,104,101,32,99,111,112,121,44,32,97,110,100,32,99,108,111,115,101,100,32,119,104,101,110,32,100,111,110,101,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,114,101,102,101,114,115,32,116,111,32,97,32,102,105,108,101,110,97,109,101,44,32,105,116,32,105,115,32,111,112,101,110,101,100,32,119,105,116,104,32>>,{code,[],[<<119,114,105,116,101>>]},<<32,109,111,100,101,32,112,114,101,112,101,110,100,101,100,32,116,111,32,116,104,101,32,109,111,100,101,32,108,105,115,116,32,98,101,102,111,114,101,32,116,104,101,32,99,111,112,121,44,32,97,110,100,32,99,108,111,115,101,100,32,119,104,101,110,32,100,111,110,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,66,121,116,101,115,67,111,112,105,101,100,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<66,121,116,101,115,67,111,112,105,101,100>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,116,104,97,116,32,119,97,115,32,99,111,112,105,101,100,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,108,101,115,115,32,116,104,97,110,32>>,{code,[],[<<66,121,116,101,67,111,117,110,116>>]},<<32,105,102,32,101,110,100,32,111,102,32,102,105,108,101,32,119,97,115,32,101,110,99,111,117,110,116,101,114,101,100,32,111,110,32,116,104,101,32,115,111,117,114,99,101,46,32,73,102,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,102,97,105,108,115,44,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58,32,97,115,32,102,111,114,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<32,105,102,32,97,32,102,105,108,101,32,104,97,100,32,116,111,32,98,101,32,111,112,101,110,101,100,44,32,97,110,100,32,97,115,32,102,111,114,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,47,50>>]}]},<<32,97,110,100,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{771,2},spec,{{copy,2},[{type,{771,11},bounded_fun,[{type,{771,11},'fun',[{type,{771,11},product,[{var,{771,12},'Source'},{var,{771,20},'Destination'}]},{type,{771,36},union,[{type,{771,36},tuple,[{atom,{771,37},ok},{var,{771,41},'BytesCopied'}]},{type,{771,56},tuple,[{atom,{771,57},error},{var,{771,64},'Reason'}]}]}]},[{type,{772,7},constraint,[{atom,{772,7},is_subtype},[{var,{772,7},'Source'},{type,{772,17},union,[{user_type,{772,17},io_device,[]},{var,{772,31},'Filename'},{type,{772,42},tuple,[{var,{772,43},'Filename'},{var,{772,53},'Modes'}]}]}]]},{type,{773,7},constraint,[{atom,{773,7},is_subtype},[{var,{773,7},'Destination'},{type,{773,22},union,[{user_type,{773,22},io_device,[]},{var,{773,36},'Filename'},{type,{773,47},tuple,[{var,{773,48},'Filename'},{var,{773,58},'Modes'}]}]}]]},{type,{774,7},constraint,[{atom,{774,7},is_subtype},[{var,{774,7},'Filename'},{user_type,{774,19},name_all,[]}]]},{type,{775,7},constraint,[{atom,{775,7},is_subtype},[{var,{775,7},'Modes'},{type,{775,16},list,[{user_type,{775,17},mode,[]}]}]]},{type,{776,7},constraint,[{atom,{776,7},is_subtype},[{var,{776,7},'BytesCopied'},{type,{776,22},non_neg_integer,[]}]]},{type,{777,7},constraint,[{atom,{777,7},is_subtype},[{var,{777,7},'Reason'},{type,{777,17},union,[{user_type,{777,17},posix,[]},{atom,{777,27},badarg},{atom,{777,36},terminated}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,51,48,55>>}},{{function,datasync,1},[{file,[102,105,108,101,46,101,114,108]},{location,725}],[<<100,97,116,97,115,121,110,99,47,49>>],#{<<101,110>> => [{p,[],[<<69,110,115,117,114,101,115,32,116,104,97,116,32,97,110,121,32,98,117,102,102,101,114,115,32,107,101,112,116,32,98,121,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,40,110,111,116,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,41,32,97,114,101,32,119,114,105,116,116,101,110,32,116,111,32,100,105,115,107,46,32,73,110,32,109,97,110,121,32,119,97,121,115,32,105,116,32,114,101,115,101,109,98,108,101,115,32>>,{code,[],[<<102,115,121,110,99>>]},<<32,98,117,116,32,105,116,32,100,111,101,115,32,110,111,116,32,117,112,100,97,116,101,32,115,111,109,101,32,111,102,32,116,104,101,32,109,101,116,97,100,97,116,97,32,111,102,32,116,104,101,32,102,105,108,101,44,32,115,117,99,104,32,97,115,32,116,104,101,32,97,99,99,101,115,115,32,116,105,109,101,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,104,97,115,32,110,111,32,101,102,102,101,99,116,46>>]},{p,[],[<<65,112,112,108,105,99,97,116,105,111,110,115,32,116,104,97,116,32,97,99,99,101,115,115,32,100,97,116,97,98,97,115,101,115,32,111,114,32,108,111,103,32,102,105,108,101,115,32,111,102,116,101,110,32,119,114,105,116,101,32,97,32,116,105,110,121,32,100,97,116,97,32,102,114,97,103,109,101,110,116,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,111,110,101,32,108,105,110,101,32,105,110,32,97,32,108,111,103,32,102,105,108,101,41,32,97,110,100,32,116,104,101,110,32,99,97,108,108,32>>,{code,[],[<<102,115,121,110,99,40,41>>]},<<32,105,109,109,101,100,105,97,116,101,108,121,32,116,111,32,101,110,115,117,114,101,32,116,104,97,116,32,116,104,101,32,119,114,105,116,116,101,110,32,100,97,116,97,32,105,115,32,112,104,121,115,105,99,97,108,108,121,32,115,116,111,114,101,100,32,111,110,32,116,104,101,32,104,97,114,100,32,100,105,115,107,46,32,85,110,102,111,114,116,117,110,97,116,101,108,121,44,32>>,{code,[],[<<102,115,121,110,99,40,41>>]},<<32,97,108,119,97,121,115,32,105,110,105,116,105,97,116,101,115,32,116,119,111,32,119,114,105,116,101,32,111,112,101,114,97,116,105,111,110,115,58,32,111,110,101,32,102,111,114,32,116,104,101,32,110,101,119,108,121,32,119,114,105,116,116,101,110,32,100,97,116,97,32,97,110,100,32,97,110,111,116,104,101,114,32,111,110,101,32,116,111,32,117,112,100,97,116,101,32,116,104,101,32,109,111,100,105,102,105,99,97,116,105,111,110,32,116,105,109,101,32,115,116,111,114,101,100,32,105,110,32,116,104,101,32>>,{code,[],[<<105,110,111,100,101>>]},<<46,32,73,102,32,116,104,101,32,109,111,100,105,102,105,99,97,116,105,111,110,32,116,105,109,101,32,105,115,32,110,111,116,32,97,32,112,97,114,116,32,111,102,32,116,104,101,32,116,114,97,110,115,97,99,116,105,111,110,32,99,111,110,99,101,112,116,44,32>>,{code,[],[<<102,100,97,116,97,115,121,110,99,40,41>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,97,118,111,105,100,32,117,110,110,101,99,101,115,115,97,114,121,32>>,{code,[],[<<105,110,111,100,101>>]},<<32,100,105,115,107,32,119,114,105,116,101,32,111,112,101,114,97,116,105,111,110,115,46>>]},{p,[],[<<65,118,97,105,108,97,98,108,101,32,111,110,108,121,32,105,110,32,115,111,109,101,32,80,79,83,73,88,32,115,121,115,116,101,109,115,44,32,116,104,105,115,32,99,97,108,108,32,114,101,115,117,108,116,115,32,105,110,32,97,32,99,97,108,108,32,116,111,32>>,{code,[],[<<102,115,121,110,99,40,41>>]},<<44,32,111,114,32,104,97,115,32,110,111,32,101,102,102,101,99,116,32,105,110,32,115,121,115,116,101,109,115,32,110,111,116,32,112,114,111,118,105,100,105,110,103,32,116,104,101,32>>,{code,[],[<<102,100,97,116,97,115,121,110,99,40,41>>]},<<32,115,121,115,99,97,108,108,46>>]}]},#{signature => [{attribute,{725,2},spec,{{datasync,1},[{type,{725,15},bounded_fun,[{type,{725,15},'fun',[{type,{725,15},product,[{var,{725,16},'IoDevice'}]},{type,{725,29},union,[{atom,{725,29},ok},{type,{725,34},tuple,[{atom,{725,35},error},{var,{725,42},'Reason'}]}]}]},[{type,{726,7},constraint,[{atom,{726,7},is_subtype},[{var,{726,7},'IoDevice'},{user_type,{726,19},io_device,[]}]]},{type,{727,7},constraint,[{atom,{727,7},is_subtype},[{var,{727,7},'Reason'},{type,{727,17},union,[{user_type,{727,17},posix,[]},{atom,{727,27},badarg},{atom,{727,36},terminated}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,51,52,53>>,since => <<79,84,80,32,82,49,52,66>>}},{{function,del_dir,1},[{file,[102,105,108,101,46,101,114,108]},{location,250}],[<<100,101,108,95,100,105,114,47,49>>],#{<<101,110>> => [{p,[],[<<84,114,105,101,115,32,116,111,32,100,101,108,101,116,101,32,100,105,114,101,99,116,111,114,121,32>>,{code,[],[<<68,105,114>>]},<<46,32,84,104,101,32,100,105,114,101,99,116,111,114,121,32,109,117,115,116,32,98,101,32,101,109,112,116,121,32,98,101,102,111,114,101,32,105,116,32,99,97,110,32,98,101,32,100,101,108,101,116,101,100,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,115,101,97,114,99,104,32,111,114,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32>>,{code,[],[<<68,105,114>>]},<<46>>]}]},{dt,[],[{code,[],[<<101,101,120,105,115,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,100,105,114,101,99,116,111,114,121,32,105,115,32,110,111,116,32,101,109,112,116,121,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,100,105,114,101,99,116,111,114,121,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32>>,{code,[],[<<68,105,114>>]},<<32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]},{dt,[],[{code,[],[<<101,105,110,118,97,108>>]}]},{dd,[],[{p,[],[<<65,116,116,101,109,112,116,32,116,111,32,100,101,108,101,116,101,32,116,104,101,32,99,117,114,114,101,110,116,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,97,99,99,101,115>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]}]}]},#{signature => [{attribute,{250,2},spec,{{del_dir,1},[{type,{250,14},bounded_fun,[{type,{250,14},'fun',[{type,{250,14},product,[{var,{250,15},'Dir'}]},{type,{250,23},union,[{atom,{250,23},ok},{type,{250,28},tuple,[{atom,{250,29},error},{var,{250,36},'Reason'}]}]}]},[{type,{251,7},constraint,[{atom,{251,7},is_subtype},[{var,{251,7},'Dir'},{user_type,{251,14},name_all,[]}]]},{type,{252,7},constraint,[{atom,{252,7},is_subtype},[{var,{252,7},'Reason'},{type,{252,17},union,[{user_type,{252,17},posix,[]},{atom,{252,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,51,54,56>>}},{{function,del_dir_r,1},[{file,[102,105,108,101,46,101,114,108]},{location,257}],[<<100,101,108,95,100,105,114,95,114,47,49>>],#{<<101,110>> => [{p,[],[<<68,101,108,101,116,101,115,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,32>>,{code,[],[<<70,105,108,101>>]},<<46,32,73,102,32>>,{code,[],[<<70,105,108,101>>]},<<32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,44,32,105,116,115,32,99,111,110,116,101,110,116,115,32,105,115,32,102,105,114,115,116,32,114,101,99,117,114,115,105,118,101,108,121,32,100,101,108,101,116,101,100,46,32,82,101,116,117,114,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<111,107>>]}]},{dd,[],[{p,[],[<<84,104,101,32,111,112,101,114,97,116,105,111,110,32,99,111,109,112,108,101,116,101,100,32,119,105,116,104,111,117,116,32,101,114,114,111,114,115,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,112,111,115,105,120,40,41,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,97,99,99,101,115,115,105,110,103,32,111,114,32,100,101,108,101,116,105,110,103,32>>,{code,[],[<<70,105,108,101>>]},<<46,32,73,102,32,115,111,109,101,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,32,117,110,100,101,114,32>>,{code,[],[<<70,105,108,101>>]},<<32,99,111,117,108,100,32,110,111,116,32,98,101,32,100,101,108,101,116,101,100,44,32>>,{code,[],[<<70,105,108,101>>]},<<32,99,97,110,110,111,116,32,98,101,32,100,101,108,101,116,101,100,32,97,115,32,105,116,32,105,115,32,110,111,110,45,101,109,112,116,121,44,32,97,110,100,32>>,{code,[],[<<123,101,114,114,111,114,44,32,101,101,120,105,115,116,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]}]}]},#{signature => [{attribute,{257,2},spec,{{del_dir_r,1},[{type,{257,16},bounded_fun,[{type,{257,16},'fun',[{type,{257,16},product,[{var,{257,17},'File'}]},{type,{257,26},union,[{atom,{257,26},ok},{type,{257,31},tuple,[{atom,{257,32},error},{var,{257,39},'Reason'}]}]}]},[{type,{258,7},constraint,[{atom,{258,7},is_subtype},[{var,{258,7},'File'},{user_type,{258,15},name_all,[]}]]},{type,{259,7},constraint,[{atom,{259,7},is_subtype},[{var,{259,7},'Reason'},{type,{259,17},union,[{user_type,{259,17},posix,[]},{atom,{259,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,52,48,52>>,since => <<79,84,80,32,50,51,46,48>>}},{{function,delete,2},[{file,[102,105,108,101,46,101,114,108]},{location,215}],[<<100,101,108,101,116,101,47,50>>],#{},#{signature => [{attribute,{215,2},spec,{{delete,2},[{type,{215,13},bounded_fun,[{type,{215,13},'fun',[{type,{215,13},product,[{var,{215,14},'Filename'},{var,{215,24},'Opts'}]},{type,{215,33},union,[{atom,{215,33},ok},{type,{215,38},tuple,[{atom,{215,39},error},{var,{215,46},'Reason'}]}]}]},[{type,{216,7},constraint,[{atom,{216,7},is_subtype},[{var,{216,7},'Filename'},{user_type,{216,19},name_all,[]}]]},{type,{217,7},constraint,[{atom,{217,7},is_subtype},[{var,{217,7},'Opts'},{type,{217,15},list,[{user_type,{217,16},delete_option,[]}]}]]},{type,{218,7},constraint,[{atom,{218,7},is_subtype},[{var,{218,7},'Reason'},{type,{218,17},union,[{user_type,{218,17},posix,[]},{atom,{218,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,52,50,54>>,equiv => {function,delete,1},since => <<79,84,80,32,50,52,46,48>>}},{{function,delete,1},[{file,[102,105,108,101,46,101,114,108]},{location,208}],[<<100,101,108,101,116,101,47,49>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<100,101,108,101,116,101,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<84,114,105,101,115,32,116,111,32,100,101,108,101,116,101,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,46>>]},{p,[],[<<73,102,32,116,104,101,32,111,112,116,105,111,110,32>>,{code,[],[<<114,97,119>>]},<<32,105,115,32,115,101,116,44,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,105,115,32,110,111,116,32,99,97,108,108,101,100,46,32,84,104,105,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,32,105,110,32,112,97,114,116,105,99,117,108,97,114,32,100,117,114,105,110,103,32,116,104,101,32,101,97,114,108,121,32,98,111,111,116,32,115,116,97,103,101,32,119,104,101,110,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,105,115,32,110,111,116,32,121,101,116,32,114,101,103,105,115,116,101,114,101,100,44,32,116,111,32,115,116,105,108,108,32,98,101,32,97,98,108,101,32,116,111,32,100,101,108,101,116,101,32,108,111,99,97,108,32,102,105,108,101,115,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,116,104,101,32,102,105,108,101,32,111,114,32,111,110,101,32,111,102,32,105,116,115,32,112,97,114,101,110,116,115,46>>]}]},{dt,[],[{code,[],[<<101,112,101,114,109>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,32,97,110,100,32,116,104,101,32,117,115,101,114,32,105,115,32,110,111,116,32,115,117,112,101,114,117,115,101,114,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]},{dt,[],[{code,[],[<<101,105,110,118,97,108>>]}]},{dd,[],[{p,[],[{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,104,97,115,32,97,110,32,105,109,112,114,111,112,101,114,32,116,121,112,101,44,32,115,117,99,104,32,97,115,32,116,117,112,108,101,46>>]}]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<73,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,44,32,97,32,98,97,100,32,116,121,112,101,32,102,111,114,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,119,105,108,108,32,112,114,111,98,97,98,108,121,32,103,101,110,101,114,97,116,101,32,97,110,32,101,120,99,101,112,116,105,111,110,46>>]}]}]},#{signature => [{attribute,{208,2},spec,{{delete,1},[{type,{208,13},bounded_fun,[{type,{208,13},'fun',[{type,{208,13},product,[{var,{208,14},'Filename'}]},{type,{208,27},union,[{atom,{208,27},ok},{type,{208,32},tuple,[{atom,{208,33},error},{var,{208,40},'Reason'}]}]}]},[{type,{209,7},constraint,[{atom,{209,7},is_subtype},[{var,{209,7},'Filename'},{user_type,{209,19},name_all,[]}]]},{type,{210,7},constraint,[{atom,{210,7},is_subtype},[{var,{210,7},'Reason'},{type,{210,17},union,[{user_type,{210,17},posix,[]},{atom,{210,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,52,50,54>>,since => <<79,84,80,32,50,52,46,48>>}},{{function,eval,1},[{file,[102,105,108,101,46,101,114,108]},{location,1059}],[<<101,118,97,108,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,97,100,115,32,97,110,100,32,101,118,97,108,117,97,116,101,115,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,44,32,115,101,112,97,114,97,116,101,100,32,98,121,32,39,46,39,32,40,111,114,32,39,44,39,44,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,101,120,112,114,101,115,115,105,111,110,115,32,105,115,32,97,108,115,111,32,97,110,32,101,120,112,114,101,115,115,105,111,110,41,32,102,114,111,109,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<46,32,84,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,101,118,97,108,117,97,116,105,111,110,32,105,115,32,110,111,116,32,114,101,116,117,114,110,101,100,59,32,97,110,121,32,101,120,112,114,101,115,115,105,111,110,32,115,101,113,117,101,110,99,101,32,105,110,32,116,104,101,32,102,105,108,101,32,109,117,115,116,32,98,101,32,116,104,101,114,101,32,102,111,114,32,105,116,115,32,115,105,100,101,32,101,102,102,101,99,116,46,32,82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<111,107>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,119,97,115,32,114,101,97,100,32,97,110,100,32,101,118,97,108,117,97,116,101,100,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,97,116,111,109,40,41,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,114,101,97,100,105,110,103,32,105,116,46,32,70,111,114,32,97,32,108,105,115,116,32,111,102,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,99,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,123,76,105,110,101,44,32,77,111,100,44,32,84,101,114,109,125,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,105,110,116,101,114,112,114,101,116,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,116,104,101,32,102,105,108,101,46,32,84,111,32,99,111,110,118,101,114,116,32,116,104,101,32,116,104,114,101,101,45,101,108,101,109,101,110,116,32,116,117,112,108,101,32,116,111,32,97,110,32,69,110,103,108,105,115,104,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,44,32,117,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,102,111,114,109,97,116,95,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,49>>]}]},<<46>>]}]}]},{p,[],[<<84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,97,32,99,111,109,109,101,110,116,44,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,112,112,35,101,110,99,111,100,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,112,112,40,51,41>>]}]},<<46>>]}]},#{signature => [{attribute,{1059,2},spec,{{eval,1},[{type,{1059,11},bounded_fun,[{type,{1059,11},'fun',[{type,{1059,11},product,[{var,{1059,12},'Filename'}]},{type,{1059,25},union,[{atom,{1059,25},ok},{type,{1059,30},tuple,[{atom,{1059,31},error},{var,{1059,38},'Reason'}]}]}]},[{type,{1060,7},constraint,[{atom,{1060,7},is_subtype},[{var,{1060,7},'Filename'},{user_type,{1060,19},name_all,[]}]]},{type,{1061,7},constraint,[{atom,{1061,7},is_subtype},[{var,{1061,7},'Reason'},{type,{1061,17},union,[{user_type,{1061,17},posix,[]},{atom,{1061,27},badarg},{atom,{1061,36},terminated},{atom,{1061,49},system_limit},{type,{1062,17},tuple,[{ann_type,{1062,18},[{var,{1062,18},'Line'},{type,{1062,26},integer,[]}]},{ann_type,{1062,37},[{var,{1062,37},'Mod'},{type,{1062,44},module,[]}]},{ann_type,{1062,54},[{var,{1062,54},'Term'},{type,{1062,62},term,[]}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,52,54,57>>}},{{function,eval,2},[{file,[102,105,108,101,46,101,114,108]},{location,1067}],[<<101,118,97,108,47,50>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<101,118,97,108,47,49>>]},<<44,32,98,117,116,32,116,104,101,32,118,97,114,105,97,98,108,101,32,98,105,110,100,105,110,103,115,32>>,{code,[],[<<66,105,110,100,105,110,103,115>>]},<<32,97,114,101,32,117,115,101,100,32,105,110,32,116,104,101,32,101,118,97,108,117,97,116,105,111,110,46,32,70,111,114,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,118,97,114,105,97,98,108,101,32,98,105,110,100,105,110,103,115,44,32,115,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,114,108,95,101,118,97,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,95,101,118,97,108,40,51,41>>]}]},<<46>>]}]},#{signature => [{attribute,{1067,2},spec,{{eval,2},[{type,{1067,11},bounded_fun,[{type,{1067,11},'fun',[{type,{1067,11},product,[{var,{1067,12},'Filename'},{var,{1067,22},'Bindings'}]},{type,{1067,35},union,[{atom,{1067,35},ok},{type,{1067,40},tuple,[{atom,{1067,41},error},{var,{1067,48},'Reason'}]}]}]},[{type,{1068,7},constraint,[{atom,{1068,7},is_subtype},[{var,{1068,7},'Filename'},{user_type,{1068,19},name_all,[]}]]},{type,{1069,7},constraint,[{atom,{1069,7},is_subtype},[{var,{1069,7},'Bindings'},{remote_type,{1069,19},[{atom,{1069,19},erl_eval},{atom,{1069,28},binding_struct},[]]}]]},{type,{1070,7},constraint,[{atom,{1070,7},is_subtype},[{var,{1070,7},'Reason'},{type,{1070,17},union,[{user_type,{1070,17},posix,[]},{atom,{1070,27},badarg},{atom,{1070,36},terminated},{atom,{1070,49},system_limit},{type,{1071,17},tuple,[{ann_type,{1071,18},[{var,{1071,18},'Line'},{type,{1071,26},integer,[]}]},{ann_type,{1071,37},[{var,{1071,37},'Mod'},{type,{1071,44},module,[]}]},{ann_type,{1071,54},[{var,{1071,54},'Term'},{type,{1071,62},term,[]}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,53,48,51>>}},{{function,format_error,1},[{file,[102,105,108,101,46,101,114,108]},{location,147}],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,49>>],#{<<101,110>> => [{p,[],[<<71,105,118,101,110,32,116,104,101,32,101,114,114,111,114,32,114,101,97,115,111,110,32,114,101,116,117,114,110,101,100,32,98,121,32,97,110,121,32,102,117,110,99,116,105,111,110,32,105,110,32,116,104,105,115,32,109,111,100,117,108,101,44,32,114,101,116,117,114,110,115,32,97,32,100,101,115,99,114,105,112,116,105,118,101,32,115,116,114,105,110,103,32,111,102,32,116,104,101,32,101,114,114,111,114,32,105,110,32,69,110,103,108,105,115,104,46>>]}]},#{signature => [{attribute,{147,2},spec,{{format_error,1},[{type,{147,19},bounded_fun,[{type,{147,19},'fun',[{type,{147,19},product,[{var,{147,20},'Reason'}]},{var,{147,31},'Chars'}]},[{type,{148,7},constraint,[{atom,{148,7},is_subtype},[{var,{148,7},'Reason'},{type,{148,17},union,[{user_type,{148,17},posix,[]},{atom,{148,27},badarg},{atom,{148,36},terminated},{atom,{148,49},system_limit},{type,{149,17},tuple,[{ann_type,{149,18},[{var,{149,18},'Line'},{type,{149,26},integer,[]}]},{ann_type,{149,37},[{var,{149,37},'Mod'},{type,{149,44},module,[]}]},{ann_type,{149,54},[{var,{149,54},'Term'},{type,{149,62},term,[]}]}]}]}]]},{type,{150,7},constraint,[{atom,{150,7},is_subtype},[{var,{150,7},'Chars'},{type,{150,16},string,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,53,49,51>>}},{{function,get_cwd,0},[{file,[102,105,108,101,46,101,114,108]},{location,185}],[<<103,101,116,95,99,119,100,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,68,105,114,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<68,105,114>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,119,111,114,107,105,110,103,32,100,105,114,101,99,116,111,114,121,32,111,102,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,110,32,114,97,114,101,32,99,105,114,99,117,109,115,116,97,110,99,101,115,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,99,97,110,32,102,97,105,108,32,111,110,32,85,110,105,120,46,32,73,116,32,99,97,110,32,111,99,99,117,114,32,105,102,32,114,101,97,100,32,112,101,114,109,105,115,115,105,111,110,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,32,102,111,114,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,100,105,114,101,99,116,111,114,121,46>>]}]},{p,[],[<<65,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,114,101,97,100,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,111,110,101,32,111,102,32,116,104,101,32,112,97,114,101,110,116,115,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,100,105,114,101,99,116,111,114,121,46>>]}]}]}]},#{signature => [{attribute,{185,2},spec,{{get_cwd,0},[{type,{185,14},bounded_fun,[{type,{185,14},'fun',[{type,{185,14},product,[]},{type,{185,20},union,[{type,{185,20},tuple,[{atom,{185,21},ok},{var,{185,25},'Dir'}]},{type,{185,32},tuple,[{atom,{185,33},error},{var,{185,40},'Reason'}]}]}]},[{type,{186,7},constraint,[{atom,{186,7},is_subtype},[{var,{186,7},'Dir'},{user_type,{186,14},filename,[]}]]},{type,{187,7},constraint,[{atom,{187,7},is_subtype},[{var,{187,7},'Reason'},{user_type,{187,17},posix,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,53,50,49>>}},{{function,get_cwd,1},[{file,[102,105,108,101,46,101,114,108]},{location,192}],[<<103,101,116,95,99,119,100,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,68,105,114,125>>]},<<32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<68,105,114>>]},<<32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,119,111,114,107,105,110,103,32,100,105,114,101,99,116,111,114,121,32,111,102,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,100,114,105,118,101,46>>]},{p,[],[{code,[],[<<68,114,105,118,101>>]},<<32,105,115,32,116,111,32,98,101,32,111,102,32,116,104,101,32,102,111,114,109,32,34>>,{code,[],[<<76,101,116,116,101,114>>]},{code,[],[<<58>>]},<<34,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,34,99,58,34,46>>]},{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,116,115,117,112,125>>]},<<32,111,110,32,112,108,97,116,102,111,114,109,115,32,116,104,97,116,32,104,97,118,101,32,110,111,32,99,111,110,99,101,112,116,32,111,102,32,99,117,114,114,101,110,116,32,100,114,105,118,101,32,40,85,110,105,120,44,32,102,111,114,32,101,120,97,109,112,108,101,41,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,110,111,116,115,117,112>>]}]},{dd,[],[{p,[],[<<84,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,104,97,115,32,110,111,32,99,111,110,99,101,112,116,32,111,102,32,100,114,105,118,101,115,46>>]}]},{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<84,104,101,32,100,114,105,118,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,105,110,118,97,108>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,111,114,109,97,116,32,111,102,32>>,{code,[],[<<68,114,105,118,101>>]},<<32,105,115,32,105,110,118,97,108,105,100,46>>]}]}]}]},#{signature => [{attribute,{192,2},spec,{{get_cwd,1},[{type,{192,14},bounded_fun,[{type,{192,14},'fun',[{type,{192,14},product,[{var,{192,15},'Drive'}]},{type,{192,25},union,[{type,{192,25},tuple,[{atom,{192,26},ok},{var,{192,30},'Dir'}]},{type,{192,37},tuple,[{atom,{192,38},error},{var,{192,45},'Reason'}]}]}]},[{type,{193,7},constraint,[{atom,{193,7},is_subtype},[{var,{193,7},'Drive'},{type,{193,16},string,[]}]]},{type,{194,7},constraint,[{atom,{194,7},is_subtype},[{var,{194,7},'Dir'},{user_type,{194,14},filename,[]}]]},{type,{195,7},constraint,[{atom,{195,7},is_subtype},[{var,{195,7},'Reason'},{type,{195,17},union,[{user_type,{195,17},posix,[]},{atom,{195,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,53,52,51>>}},{{function,list_dir,1},[{file,[102,105,108,101,46,101,114,108]},{location,395}],[<<108,105,115,116,95,100,105,114,47,49>>],#{<<101,110>> => [{p,[],[<<76,105,115,116,115,32,97,108,108,32,102,105,108,101,115,32,105,110,32,97,32,100,105,114,101,99,116,111,114,121,44,32>>,{em,[],[<<101,120,99,101,112,116>>]},<<32,102,105,108,101,115,32,119,105,116,104,32,114,97,119,32,102,105,108,101,110,97,109,101,115,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,70,105,108,101,110,97,109,101,115,125>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32>>,{code,[],[<<70,105,108,101,110,97,109,101,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,104,101,32,110,97,109,101,115,32,111,102,32,97,108,108,32,116,104,101,32,102,105,108,101,115,32,105,110,32,116,104,101,32,100,105,114,101,99,116,111,114,121,46,32,84,104,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,115,111,114,116,101,100,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,115,101,97,114,99,104,32,111,114,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32>>,{code,[],[<<68,105,114>>]},<<32,111,114,32,111,110,101,32,111,102,32,105,116,115,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,100,105,114,101,99,116,111,114,121,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<123,110,111,95,116,114,97,110,115,108,97,116,105,111,110,44,32,70,105,108,101,110,97,109,101,125>>]}]},{dd,[],[{p,[],[{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,97,32>>,{code,[],[<<98,105,110,97,114,121,40,41>>]},<<32,119,105,116,104,32,99,104,97,114,97,99,116,101,114,115,32,99,111,100,101,100,32,105,110,32,73,83,79,32,76,97,116,105,110,45,49,32,97,110,100,32,116,104,101,32,86,77,32,119,97,115,32,115,116,97,114,116,101,100,32,119,105,116,104,32,112,97,114,97,109,101,116,101,114,32>>,{code,[],[<<43,102,110,117,101>>]},<<46>>]}]}]}]},#{signature => [{attribute,{395,2},spec,{{list_dir,1},[{type,{395,15},bounded_fun,[{type,{395,15},'fun',[{type,{395,15},product,[{var,{395,16},'Dir'}]},{type,{395,24},union,[{type,{395,24},tuple,[{atom,{395,25},ok},{var,{395,29},'Filenames'}]},{type,{395,42},tuple,[{atom,{395,43},error},{var,{395,50},'Reason'}]}]}]},[{type,{396,7},constraint,[{atom,{396,7},is_subtype},[{var,{396,7},'Dir'},{user_type,{396,14},name_all,[]}]]},{type,{397,7},constraint,[{atom,{397,7},is_subtype},[{var,{397,7},'Filenames'},{type,{397,20},list,[{user_type,{397,21},filename,[]}]}]]},{type,{398,7},constraint,[{atom,{398,7},is_subtype},[{var,{398,7},'Reason'},{type,{398,17},union,[{user_type,{398,17},posix,[]},{atom,{399,17},badarg},{type,{400,17},tuple,[{atom,{400,18},no_translation},{ann_type,{400,34},[{var,{400,34},'Filename'},{remote_type,{400,46},[{atom,{400,46},unicode},{atom,{400,54},latin1_binary},[]]}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,53,55,52>>}},{{function,list_dir_all,1},[{file,[102,105,108,101,46,101,114,108]},{location,405}],[<<108,105,115,116,95,100,105,114,95,97,108,108,47,49>>],#{<<101,110>> => [{p,[],[{a,[{id,<<108,105,115,116,95,100,105,114,95,97,108,108>>}],[]},<<76,105,115,116,115,32,97,108,108,32,116,104,101,32,102,105,108,101,115,32,105,110,32,97,32,100,105,114,101,99,116,111,114,121,44,32,105,110,99,108,117,100,105,110,103,32,102,105,108,101,115,32,119,105,116,104,32,114,97,119,32,102,105,108,101,110,97,109,101,115,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,70,105,108,101,110,97,109,101,115,125>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32>>,{code,[],[<<70,105,108,101,110,97,109,101,115>>]},<<32,105,115,32,97,32,108,105,115,116,32,111,102,32,116,104,101,32,110,97,109,101,115,32,111,102,32,97,108,108,32,116,104,101,32,102,105,108,101,115,32,105,110,32,116,104,101,32,100,105,114,101,99,116,111,114,121,46,32,84,104,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,115,111,114,116,101,100,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,115,101,97,114,99,104,32,111,114,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32>>,{code,[],[<<68,105,114>>]},<<32,111,114,32,111,110,101,32,111,102,32,105,116,115,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,100,105,114,101,99,116,111,114,121,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]}]}]},#{signature => [{attribute,{405,2},spec,{{list_dir_all,1},[{type,{405,19},bounded_fun,[{type,{405,19},'fun',[{type,{405,19},product,[{var,{405,20},'Dir'}]},{type,{405,28},union,[{type,{405,28},tuple,[{atom,{405,29},ok},{var,{405,33},'Filenames'}]},{type,{405,46},tuple,[{atom,{405,47},error},{var,{405,54},'Reason'}]}]}]},[{type,{406,7},constraint,[{atom,{406,7},is_subtype},[{var,{406,7},'Dir'},{user_type,{406,14},name_all,[]}]]},{type,{407,7},constraint,[{atom,{407,7},is_subtype},[{var,{407,7},'Filenames'},{type,{407,20},list,[{user_type,{407,21},filename_all,[]}]}]]},{type,{408,7},constraint,[{atom,{408,7},is_subtype},[{var,{408,7},'Reason'},{type,{408,17},union,[{user_type,{408,17},posix,[]},{atom,{408,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,54,48,53>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,make_dir,1},[{file,[102,105,108,101,46,101,114,108]},{location,243}],[<<109,97,107,101,95,100,105,114,47,49>>],#{<<101,110>> => [{p,[],[<<84,114,105,101,115,32,116,111,32,99,114,101,97,116,101,32,100,105,114,101,99,116,111,114,121,32>>,{code,[],[<<68,105,114>>]},<<46,32,77,105,115,115,105,110,103,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,97,114,101,32>>,{em,[],[<<110,111,116>>]},<<32,99,114,101,97,116,101,100,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,115,101,97,114,99,104,32,111,114,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32>>,{code,[],[<<68,105,114>>]},<<46>>]}]},{dt,[],[{code,[],[<<101,101,120,105,115,116>>]}]},{dd,[],[{p,[],[<<65,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,100,32>>,{code,[],[<<68,105,114>>]},<<32,101,120,105,115,116,115,32,97,108,114,101,97,100,121,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32>>,{code,[],[<<68,105,114>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,115,112,99>>]}]},{dd,[],[{p,[],[<<78,111,32,115,112,97,99,101,32,105,115,32,108,101,102,116,32,111,110,32,116,104,101,32,100,101,118,105,99,101,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32>>,{code,[],[<<68,105,114>>]},<<32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]}]}]},#{signature => [{attribute,{243,2},spec,{{make_dir,1},[{type,{243,15},bounded_fun,[{type,{243,15},'fun',[{type,{243,15},product,[{var,{243,16},'Dir'}]},{type,{243,24},union,[{atom,{243,24},ok},{type,{243,29},tuple,[{atom,{243,30},error},{var,{243,37},'Reason'}]}]}]},[{type,{244,7},constraint,[{atom,{244,7},is_subtype},[{var,{244,7},'Dir'},{user_type,{244,14},name_all,[]}]]},{type,{245,7},constraint,[{atom,{245,7},is_subtype},[{var,{245,7},'Reason'},{type,{245,17},union,[{user_type,{245,17},posix,[]},{atom,{245,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,54,51,48>>}},{{function,make_link,2},[{file,[102,105,108,101,46,101,114,108]},{location,421}],[<<109,97,107,101,95,108,105,110,107,47,50>>],#{<<101,110>> => [{p,[],[<<77,97,107,101,115,32,97,32,104,97,114,100,32,108,105,110,107,32,102,114,111,109,32>>,{code,[],[<<69,120,105,115,116,105,110,103>>]},<<32,116,111,32>>,{code,[],[<<78,101,119>>]},<<32,111,110,32,112,108,97,116,102,111,114,109,115,32,115,117,112,112,111,114,116,105,110,103,32,108,105,110,107,115,32,40,85,110,105,120,32,97,110,100,32,87,105,110,100,111,119,115,41,46,32,84,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,116,104,101,32,108,105,110,107,32,119,97,115,32,115,117,99,99,101,115,115,102,117,108,108,121,32,99,114,101,97,116,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32,79,110,32,112,108,97,116,102,111,114,109,115,32,110,111,116,32,115,117,112,112,111,114,116,105,110,103,32,108,105,110,107,115,44,32>>,{code,[],[<<123,101,114,114,111,114,44,101,110,111,116,115,117,112,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,114,101,97,100,32,111,114,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32>>,{code,[],[<<69,120,105,115,116,105,110,103>>]},<<32,111,114,32>>,{code,[],[<<78,101,119>>]},<<46>>]}]},{dt,[],[{code,[],[<<101,101,120,105,115,116>>]}]},{dd,[],[{p,[],[{code,[],[<<78,101,119>>]},<<32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,115,117,112>>]}]},{dd,[],[{p,[],[<<72,97,114,100,32,108,105,110,107,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,111,110,32,116,104,105,115,32,112,108,97,116,102,111,114,109,46>>]}]}]}]},#{signature => [{attribute,{421,2},spec,{{make_link,2},[{type,{421,16},bounded_fun,[{type,{421,16},'fun',[{type,{421,16},product,[{var,{421,17},'Existing'},{var,{421,27},'New'}]},{type,{421,35},union,[{atom,{421,35},ok},{type,{421,40},tuple,[{atom,{421,41},error},{var,{421,48},'Reason'}]}]}]},[{type,{422,7},constraint,[{atom,{422,7},is_subtype},[{var,{422,7},'Existing'},{user_type,{422,19},name_all,[]}]]},{type,{423,7},constraint,[{atom,{423,7},is_subtype},[{var,{423,7},'New'},{user_type,{423,14},name_all,[]}]]},{type,{424,7},constraint,[{atom,{424,7},is_subtype},[{var,{424,7},'Reason'},{type,{424,17},union,[{user_type,{424,17},posix,[]},{atom,{424,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,54,54,52>>}},{{function,make_symlink,2},[{file,[102,105,108,101,46,101,114,108]},{location,429}],[<<109,97,107,101,95,115,121,109,108,105,110,107,47,50>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,32>>,{code,[],[<<78,101,119>>]},<<32,116,111,32,116,104,101,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,32>>,{code,[],[<<69,120,105,115,116,105,110,103>>]},<<32,111,110,32,112,108,97,116,102,111,114,109,115,32,115,117,112,112,111,114,116,105,110,103,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115,32,40,109,111,115,116,32,85,110,105,120,32,115,121,115,116,101,109,115,32,97,110,100,32,87,105,110,100,111,119,115,44,32,98,101,103,105,110,110,105,110,103,32,119,105,116,104,32,86,105,115,116,97,41,46,32>>,{code,[],[<<69,120,105,115,116,105,110,103>>]},<<32,100,111,101,115,32,110,111,116,32,110,101,101,100,32,116,111,32,101,120,105,115,116,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,116,104,101,32,108,105,110,107,32,105,115,32,115,117,99,99,101,115,115,102,117,108,108,121,32,99,114,101,97,116,101,100,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32,79,110,32,112,108,97,116,102,111,114,109,115,32,110,111,116,32,115,117,112,112,111,114,116,105,110,103,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115,44,32>>,{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,116,115,117,112,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,114,101,97,100,32,111,114,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32>>,{code,[],[<<69,120,105,115,116,105,110,103>>]},<<32,111,114,32>>,{code,[],[<<78,101,119>>]},<<46>>]}]},{dt,[],[{code,[],[<<101,101,120,105,115,116>>]}]},{dd,[],[{p,[],[{code,[],[<<78,101,119>>]},<<32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,115,117,112>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,108,105,110,107,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,111,110,32,116,104,105,115,32,112,108,97,116,102,111,114,109,46>>]}]},{dt,[],[{code,[],[<<101,112,101,114,109>>]}]},{dd,[],[{p,[],[<<85,115,101,114,32,100,111,101,115,32,110,111,116,32,104,97,118,101,32,112,114,105,118,105,108,101,103,101,115,32,116,111,32,99,114,101,97,116,101,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115,32,40>>,{code,[],[<<83,101,67,114,101,97,116,101,83,121,109,98,111,108,105,99,76,105,110,107,80,114,105,118,105,108,101,103,101>>]},<<32,111,110,32,87,105,110,100,111,119,115,41,46>>]}]}]}]},#{signature => [{attribute,{429,2},spec,{{make_symlink,2},[{type,{429,19},bounded_fun,[{type,{429,19},'fun',[{type,{429,19},product,[{var,{429,20},'Existing'},{var,{429,30},'New'}]},{type,{429,38},union,[{atom,{429,38},ok},{type,{429,43},tuple,[{atom,{429,44},error},{var,{429,51},'Reason'}]}]}]},[{type,{430,7},constraint,[{atom,{430,7},is_subtype},[{var,{430,7},'Existing'},{user_type,{430,19},name_all,[]}]]},{type,{431,7},constraint,[{atom,{431,7},is_subtype},[{var,{431,7},'New'},{user_type,{431,14},name_all,[]}]]},{type,{432,7},constraint,[{atom,{432,7},is_subtype},[{var,{432,7},'Reason'},{type,{432,17},union,[{user_type,{432,17},posix,[]},{atom,{432,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,54,57,51>>}},{{function,native_name_encoding,0},[{file,[102,105,108,101,46,101,114,108]},{location,136}],[<<110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48>>],#{<<101,110>> => [{p,[],[{a,[{id,<<110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103>>}],[]},<<82,101,116,117,114,110,115,32,116,104,101,32,102,105,108,101,110,97,109,101,32,101,110,99,111,100,105,110,103,32,109,111,100,101,46,32,73,102,32,105,116,32,105,115,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,116,104,101,32,115,121,115,116,101,109,32,116,114,97,110,115,108,97,116,101,115,32,110,111,32,102,105,108,101,110,97,109,101,115,46,32,73,102,32,105,116,32,105,115,32>>,{code,[],[<<117,116,102,56>>]},<<44,32,102,105,108,101,110,97,109,101,115,32,97,114,101,32,99,111,110,118,101,114,116,101,100,32,98,97,99,107,32,97,110,100,32,102,111,114,116,104,32,116,111,32,116,104,101,32,110,97,116,105,118,101,32,102,105,108,101,110,97,109,101,32,101,110,99,111,100,105,110,103,32,40,117,115,117,97,108,108,121,32,85,84,70,45,56,44,32,98,117,116,32,85,84,70,45,49,54,32,111,110,32,87,105,110,100,111,119,115,41,46>>]}]},#{signature => [{attribute,{136,2},spec,{{native_name_encoding,0},[{type,{136,27},'fun',[{type,{136,27},product,[]},{type,{136,33},union,[{atom,{136,33},latin1},{atom,{136,42},utf8}]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,55,50,57>>,since => <<79,84,80,32,82,49,52,66,48,49>>}},{{function,open,2},[{file,[102,105,108,101,46,101,114,108]},{location,504}],[<<111,112,101,110,47,50>>],#{<<101,110>> => [{p,[],[<<79,112,101,110,115,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101>>]},<<32,105,110,32,116,104,101,32,109,111,100,101,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32>>,{code,[],[<<77,111,100,101,115>>]},<<44,32,119,104,105,99,104,32,99,97,110,32,99,111,110,116,97,105,110,32,111,110,101,32,111,114,32,109,111,114,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<114,101,97,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,44,32,119,104,105,99,104,32,109,117,115,116,32,101,120,105,115,116,44,32,105,115,32,111,112,101,110,101,100,32,102,111,114,32,114,101,97,100,105,110,103,46>>]}]},{dt,[],[{code,[],[<<119,114,105,116,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,102,111,114,32,119,114,105,116,105,110,103,46,32,73,116,32,105,115,32,99,114,101,97,116,101,100,32,105,102,32,105,116,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,32,73,102,32,116,104,101,32,102,105,108,101,32,101,120,105,115,116,115,32,97,110,100,32>>,{code,[],[<<119,114,105,116,101>>]},<<32,105,115,32,110,111,116,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32>>,{code,[],[<<114,101,97,100>>]},<<44,32,116,104,101,32,102,105,108,101,32,105,115,32,116,114,117,110,99,97,116,101,100,46>>]}]},{dt,[],[{code,[],[<<97,112,112,101,110,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,102,111,114,32,119,114,105,116,105,110,103,46,32,73,116,32,105,115,32,99,114,101,97,116,101,100,32,105,102,32,105,116,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,32,69,118,101,114,121,32,119,114,105,116,101,32,111,112,101,114,97,116,105,111,110,32,116,111,32,97,32,102,105,108,101,32,111,112,101,110,101,100,32,119,105,116,104,32>>,{code,[],[<<97,112,112,101,110,100>>]},<<32,116,97,107,101,115,32,112,108,97,99,101,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<101,120,99,108,117,115,105,118,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,102,111,114,32,119,114,105,116,105,110,103,46,32,73,116,32,105,115,32,99,114,101,97,116,101,100,32,105,102,32,105,116,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,32,73,102,32,116,104,101,32,102,105,108,101,32,101,120,105,115,116,115,44,32>>,{code,[],[<<123,101,114,114,111,114,44,32,101,101,120,105,115,116,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,111,112,116,105,111,110,32,100,111,101,115,32,110,111,116,32,103,117,97,114,97,110,116,101,101,32,101,120,99,108,117,115,105,118,101,110,101,115,115,32,111,110,32,102,105,108,101,32,115,121,115,116,101,109,115,32,110,111,116,32,115,117,112,112,111,114,116,105,110,103,32>>,{code,[],[<<79,95,69,88,67,76>>]},<<32,112,114,111,112,101,114,108,121,44,32,115,117,99,104,32,97,115,32,78,70,83,46,32,68,111,32,110,111,116,32,100,101,112,101,110,100,32,111,110,32,116,104,105,115,32,111,112,116,105,111,110,32,117,110,108,101,115,115,32,121,111,117,32,107,110,111,119,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109,32,115,117,112,112,111,114,116,115,32,105,116,32,40,105,110,32,103,101,110,101,114,97,108,44,32,108,111,99,97,108,32,102,105,108,101,32,115,121,115,116,101,109,115,32,97,114,101,32,115,97,102,101,41,46>>]}]}]},{dt,[],[{code,[],[<<114,97,119>>]}]},{dd,[],[{p,[],[{a,[{id,<<114,97,119>>}],[]},<<65,108,108,111,119,115,32,102,97,115,116,101,114,32,97,99,99,101,115,115,32,116,111,32,97,32,102,105,108,101,44,32,97,115,32,110,111,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,32,105,115,32,110,101,101,100,101,100,32,116,111,32,104,97,110,100,108,101,32,116,104,101,32,102,105,108,101,46,32,72,111,119,101,118,101,114,44,32,97,32,102,105,108,101,32,111,112,101,110,101,100,32,105,110,32,116,104,105,115,32,119,97,121,32,104,97,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,108,105,109,105,116,97,116,105,111,110,115,58>>]},{ul,[],[{li,[],[{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,115,32,105,110,32,116,104,101,32>>,{code,[],[<<105,111>>]},<<32,109,111,100,117,108,101,32,99,97,110,110,111,116,32,98,101,32,117,115,101,100,44,32,97,115,32,116,104,101,121,32,99,97,110,32,111,110,108,121,32,116,97,108,107,32,116,111,32,97,110,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,46,32,73,110,115,116,101,97,100,44,32,117,115,101,32,102,117,110,99,116,105,111,110,115,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,47,50>>]}]},<<44,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,95,108,105,110,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,95,108,105,110,101,47,49>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,47,50>>]}]},<<46>>]}]},{li,[],[{p,[],[<<69,115,112,101,99,105,97,108,108,121,32,105,102,32>>,{code,[],[<<114,101,97,100,95,108,105,110,101,47,49>>]},<<32,105,115,32,116,111,32,98,101,32,117,115,101,100,32,111,110,32,97,32>>,{code,[],[<<114,97,119>>]},<<32,102,105,108,101,44,32,105,116,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,116,111,32,99,111,109,98,105,110,101,32,116,104,105,115,32,111,112,116,105,111,110,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125>>]},<<32,97,115,32,108,105,110,101,45,111,114,105,101,110,116,101,100,32,73,47,79,32,105,115,32,105,110,101,102,102,105,99,105,101,110,116,32,119,105,116,104,111,117,116,32,98,117,102,102,101,114,105,110,103,46>>]}]},{li,[],[{p,[],[<<79,110,108,121,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,32,116,104,97,116,32,111,112,101,110,101,100,32,116,104,101,32,102,105,108,101,32,99,97,110,32,117,115,101,32,105,116,46>>]}]},{li,[],[{p,[],[<<65,32,114,101,109,111,116,101,32,69,114,108,97,110,103,32,102,105,108,101,32,115,101,114,118,101,114,32,99,97,110,110,111,116,32,98,101,32,117,115,101,100,46,32,84,104,101,32,99,111,109,112,117,116,101,114,32,111,110,32,119,104,105,99,104,32,116,104,101,32,69,114,108,97,110,103,32,110,111,100,101,32,105,115,32,114,117,110,110,105,110,103,32,109,117,115,116,32,104,97,118,101,32,97,99,99,101,115,115,32,116,111,32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109,32,40,100,105,114,101,99,116,108,121,32,111,114,32,116,104,114,111,117,103,104,32,78,70,83,41,46>>]}]}]}]},{dt,[],[{code,[],[<<98,105,110,97,114,121>>]}]},{dd,[],[{p,[],[<<82,101,97,100,32,111,112,101,114,97,116,105,111,110,115,32,111,110,32,116,104,101,32,102,105,108,101,32,114,101,116,117,114,110,32,98,105,110,97,114,105,101,115,32,114,97,116,104,101,114,32,116,104,97,110,32,108,105,115,116,115,46>>]}]},{dt,[],[{code,[],[<<123,100,101,108,97,121,101,100,95,119,114,105,116,101,44,32,83,105,122,101,44,32,68,101,108,97,121,125>>]}]},{dd,[],[{p,[],[<<68,97,116,97,32,105,110,32,115,117,98,115,101,113,117,101,110,116,32>>,{code,[],[<<119,114,105,116,101,47,50>>]},<<32,99,97,108,108,115,32,105,115,32,98,117,102,102,101,114,101,100,32,117,110,116,105,108,32,97,116,32,108,101,97,115,116,32>>,{code,[],[<<83,105,122,101>>]},<<32,98,121,116,101,115,32,97,114,101,32,98,117,102,102,101,114,101,100,44,32,111,114,32,117,110,116,105,108,32,116,104,101,32,111,108,100,101,115,116,32,98,117,102,102,101,114,101,100,32,100,97,116,97,32,105,115,32>>,{code,[],[<<68,101,108,97,121>>]},<<32,109,105,108,108,105,115,101,99,111,110,100,115,32,111,108,100,46,32,84,104,101,110,32,97,108,108,32,98,117,102,102,101,114,101,100,32,100,97,116,97,32,105,115,32,119,114,105,116,116,101,110,32,105,110,32,111,110,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,99,97,108,108,46,32,84,104,101,32,98,117,102,102,101,114,101,100,32,100,97,116,97,32,105,115,32,97,108,115,111,32,102,108,117,115,104,101,100,32,98,101,102,111,114,101,32,115,111,109,101,32,111,116,104,101,114,32,102,105,108,101,32,111,112,101,114,97,116,105,111,110,32,116,104,97,110,32>>,{code,[],[<<119,114,105,116,101,47,50>>]},<<32,105,115,32,101,120,101,99,117,116,101,100,46>>]},{p,[],[<<84,104,101,32,112,117,114,112,111,115,101,32,111,102,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,116,111,32,105,110,99,114,101,97,115,101,32,112,101,114,102,111,114,109,97,110,99,101,32,98,121,32,114,101,100,117,99,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,99,97,108,108,115,46,32,84,104,117,115,44,32,116,104,101,32>>,{code,[],[<<119,114,105,116,101,47,50>>]},<<32,99,97,108,108,115,32,109,117,115,116,32,98,101,32,102,111,114,32,115,105,122,101,115,32,115,105,103,110,105,102,105,99,97,110,116,108,121,32,108,101,115,115,32,116,104,97,110,32>>,{code,[],[<<83,105,122,101>>]},<<44,32,97,110,100,32,110,111,116,32,105,110,116,101,114,115,112,101,114,115,101,100,32,98,121,32,116,111,111,32,109,97,110,121,32,111,116,104,101,114,32,102,105,108,101,32,111,112,101,114,97,116,105,111,110,115,46>>]},{p,[],[<<87,104,101,110,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,117,115,101,100,44,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32>>,{code,[],[<<119,114,105,116,101,47,50>>]},<<32,99,97,108,108,115,32,99,97,110,32,112,114,101,109,97,116,117,114,101,108,121,32,98,101,32,114,101,112,111,114,116,101,100,32,97,115,32,115,117,99,99,101,115,115,102,117,108,44,32,97,110,100,32,105,102,32,97,32,119,114,105,116,101,32,101,114,114,111,114,32,111,99,99,117,114,115,44,32,116,104,101,32,101,114,114,111,114,32,105,115,32,114,101,112,111,114,116,101,100,32,97,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,110,101,120,116,32,102,105,108,101,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,99,104,32,105,115,32,110,111,116,32,101,120,101,99,117,116,101,100,46>>]},{p,[],[<<70,111,114,32,101,120,97,109,112,108,101,44,32,119,104,101,110,32>>,{code,[],[<<100,101,108,97,121,101,100,95,119,114,105,116,101>>]},<<32,105,115,32,117,115,101,100,44,32,97,102,116,101,114,32,97,32,110,117,109,98,101,114,32,111,102,32>>,{code,[],[<<119,114,105,116,101,47,50>>]},<<32,99,97,108,108,115,44,32>>,{code,[],[<<99,108,111,115,101,47,49>>]},<<32,99,97,110,32,114,101,116,117,114,110,32>>,{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,115,112,99,125>>]},<<44,32,97,115,32,116,104,101,114,101,32,105,115,32,110,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,111,110,32,116,104,101,32,100,105,115,99,32,102,111,114,32,112,114,101,118,105,111,117,115,108,121,32,119,114,105,116,116,101,110,32,100,97,116,97,46,32>>,{code,[],[<<99,108,111,115,101,47,49>>]},<<32,109,117,115,116,32,112,114,111,98,97,98,108,121,32,98,101,32,99,97,108,108,101,100,32,97,103,97,105,110,44,32,97,115,32,116,104,101,32,102,105,108,101,32,105,115,32,115,116,105,108,108,32,111,112,101,110,46>>]}]},{dt,[],[{code,[],[<<100,101,108,97,121,101,100,95,119,114,105,116,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<123,100,101,108,97,121,101,100,95,119,114,105,116,101,44,32,83,105,122,101,44,32,68,101,108,97,121,125>>]},<<32,119,105,116,104,32,114,101,97,115,111,110,97,98,108,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<83,105,122,101>>]},<<32,97,110,100,32>>,{code,[],[<<68,101,108,97,121>>]},<<32,40,114,111,117,103,104,108,121,32,115,111,109,101,32,54,52,32,75,66,44,32,50,32,115,101,99,111,110,100,115,41,46>>]}]},{dt,[],[{code,[],[<<123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125>>]}]},{dd,[],[{p,[],[<<65,99,116,105,118,97,116,101,115,32,114,101,97,100,32,100,97,116,97,32,98,117,102,102,101,114,105,110,103,46,32,73,102,32>>,{code,[],[<<114,101,97,100,47,50>>]},<<32,99,97,108,108,115,32,97,114,101,32,102,111,114,32,115,105,103,110,105,102,105,99,97,110,116,108,121,32,108,101,115,115,32,116,104,97,110,32>>,{code,[],[<<83,105,122,101>>]},<<32,98,121,116,101,115,44,32,114,101,97,100,32,111,112,101,114,97,116,105,111,110,115,32,116,111,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,97,114,101,32,115,116,105,108,108,32,112,101,114,102,111,114,109,101,100,32,102,111,114,32,98,108,111,99,107,115,32,111,102,32>>,{code,[],[<<83,105,122,101>>]},<<32,98,121,116,101,115,46,32,84,104,101,32,101,120,116,114,97,32,100,97,116,97,32,105,115,32,98,117,102,102,101,114,101,100,32,97,110,100,32,114,101,116,117,114,110,101,100,32,105,110,32,115,117,98,115,101,113,117,101,110,116,32>>,{code,[],[<<114,101,97,100,47,50>>]},<<32,99,97,108,108,115,44,32,103,105,118,105,110,103,32,97,32,112,101,114,102,111,114,109,97,110,99,101,32,103,97,105,110,32,97,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,99,97,108,108,115,32,105,115,32,114,101,100,117,99,101,100,46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<114,101,97,100,95,97,104,101,97,100>>]},<<32,98,117,102,102,101,114,32,105,115,32,97,108,115,111,32,104,105,103,104,108,121,32,117,115,101,100,32,98,121,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<114,101,97,100,95,108,105,110,101,47,49>>]},<<32,105,110,32>>,{code,[],[<<114,97,119>>]},<<32,109,111,100,101,44,32,116,104,101,114,101,102,111,114,101,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,40,102,111,114,32,112,101,114,102,111,114,109,97,110,99,101,32,114,101,97,115,111,110,115,41,32,119,104,101,110,32,97,99,99,101,115,115,105,110,103,32,114,97,119,32,102,105,108,101,115,32,117,115,105,110,103,32,116,104,97,116,32,102,117,110,99,116,105,111,110,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<114,101,97,100,47,50>>]},<<32,99,97,108,108,115,32,97,114,101,32,102,111,114,32,115,105,122,101,115,32,110,111,116,32,115,105,103,110,105,102,105,99,97,110,116,108,121,32,108,101,115,115,32,116,104,97,110,44,32,111,114,32,101,118,101,110,32,103,114,101,97,116,101,114,32,116,104,97,110,32>>,{code,[],[<<83,105,122,101>>]},<<32,98,121,116,101,115,44,32,110,111,32,112,101,114,102,111,114,109,97,110,99,101,32,103,97,105,110,32,99,97,110,32,98,101,32,101,120,112,101,99,116,101,100,46>>]}]},{dt,[],[{code,[],[<<114,101,97,100,95,97,104,101,97,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125>>]},<<32,119,105,116,104,32,97,32,114,101,97,115,111,110,97,98,108,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,102,111,114,32>>,{code,[],[<<83,105,122,101>>]},<<32,40,114,111,117,103,104,108,121,32,115,111,109,101,32,54,52,32,75,66,41,46>>]}]},{dt,[],[{code,[],[<<99,111,109,112,114,101,115,115,101,100>>]}]},{dd,[],[{p,[],[<<77,97,107,101,115,32,105,116,32,112,111,115,115,105,98,108,101,32,116,111,32,114,101,97,100,32,111,114,32,119,114,105,116,101,32,103,122,105,112,32,99,111,109,112,114,101,115,115,101,100,32,102,105,108,101,115,46,32,79,112,116,105,111,110,32>>,{code,[],[<<99,111,109,112,114,101,115,115,101,100>>]},<<32,109,117,115,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32>>,{code,[],[<<114,101,97,100>>]},<<32,111,114,32>>,{code,[],[<<119,114,105,116,101>>]},<<44,32,98,117,116,32,110,111,116,32,98,111,116,104,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,115,105,122,101,32,111,98,116,97,105,110,101,100,32,119,105,116,104,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49>>]}]},<<32,100,111,101,115,32,112,114,111,98,97,98,108,121,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,97,100,32,102,114,111,109,32,97,32,99,111,109,112,114,101,115,115,101,100,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<99,111,109,112,114,101,115,115,101,100,95,111,110,101>>]}]},{dd,[],[{p,[],[<<82,101,97,100,32,111,110,101,32,109,101,109,98,101,114,32,111,102,32,97,32,103,122,105,112,32,99,111,109,112,114,101,115,115,101,100,32,102,105,108,101,46,32,79,112,116,105,111,110,32>>,{code,[],[<<99,111,109,112,114,101,115,115,101,100,95,111,110,101>>]},<<32,99,97,110,32,111,110,108,121,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32>>,{code,[],[<<114,101,97,100>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,110,99,111,100,105,110,103,44,32,69,110,99,111,100,105,110,103,125>>]}]},{dd,[],[{p,[],[<<77,97,107,101,115,32,116,104,101,32,102,105,108,101,32,112,101,114,102,111,114,109,32,97,117,116,111,109,97,116,105,99,32,116,114,97,110,115,108,97,116,105,111,110,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,116,111,32,97,110,100,32,102,114,111,109,32,97,32,115,112,101,99,105,102,105,99,32,40,85,110,105,99,111,100,101,41,32,101,110,99,111,100,105,110,103,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,100,97,116,97,32,115,117,112,112,108,105,101,100,32,116,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,47,50>>]}]},<<32,111,114,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,47,50>>]}]},<<32,115,116,105,108,108,32,105,115,32,98,121,116,101,45,111,114,105,101,110,116,101,100,59,32,116,104,105,115,32,111,112,116,105,111,110,32,100,101,110,111,116,101,115,32,111,110,108,121,32,104,111,119,32,100,97,116,97,32,105,115,32,115,116,111,114,101,100,32,105,110,32,116,104,101,32,100,105,115,107,32,102,105,108,101,46>>]},{p,[],[<<68,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,101,110,99,111,100,105,110,103,44,32,100,105,102,102,101,114,101,110,116,32,109,101,116,104,111,100,115,32,111,102,32,114,101,97,100,105,110,103,32,97,110,100,32,119,114,105,116,105,110,103,32,100,97,116,97,32,105,115,32,112,114,101,102,101,114,114,101,100,46,32,84,104,101,32,100,101,102,97,117,108,116,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<32,105,109,112,108,105,101,115,32,117,115,105,110,103,32,116,104,105,115,32,109,111,100,117,108,101,32,40>>,{code,[],[<<102,105,108,101>>]},<<41,32,102,111,114,32,114,101,97,100,105,110,103,32,97,110,100,32,119,114,105,116,105,110,103,32,100,97,116,97,32,97,115,32,116,104,101,32,105,110,116,101,114,102,97,99,101,115,32,112,114,111,118,105,100,101,100,32,104,101,114,101,32,119,111,114,107,32,119,105,116,104,32,98,121,116,101,45,111,114,105,101,110,116,101,100,32,100,97,116,97,46,32,85,115,105,110,103,32,111,116,104,101,114,32,40,85,110,105,99,111,100,101,41,32,101,110,99,111,100,105,110,103,115,32,109,97,107,101,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111,40,51,41>>]}]},<<32,102,117,110,99,116,105,111,110,115,32>>,{code,[],[<<103,101,116,95,99,104,97,114,115>>]},<<44,32>>,{code,[],[<<103,101,116,95,108,105,110,101>>]},<<44,32,97,110,100,32>>,{code,[],[<<112,117,116,95,99,104,97,114,115>>]},<<32,109,111,114,101,32,115,117,105,116,97,98,108,101,44,32,97,115,32,116,104,101,121,32,99,97,110,32,119,111,114,107,32,119,105,116,104,32,116,104,101,32,102,117,108,108,32,85,110,105,99,111,100,101,32,114,97,110,103,101,46>>]},{p,[],[<<73,102,32,100,97,116,97,32,105,115,32,115,101,110,116,32,116,111,32,97,110,32>>,{code,[],[<<105,111,95,100,101,118,105,99,101,40,41>>]},<<32,105,110,32,97,32,102,111,114,109,97,116,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,32,116,111,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,101,110,99,111,100,105,110,103,44,32,111,114,32,105,102,32,100,97,116,97,32,105,115,32,114,101,97,100,32,98,121,32,97,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,114,101,116,117,114,110,115,32,100,97,116,97,32,105,110,32,97,32,102,111,114,109,97,116,32,116,104,97,116,32,99,97,110,110,111,116,32,99,111,112,101,32,119,105,116,104,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,114,97,110,103,101,32,111,102,32,116,104,101,32,100,97,116,97,44,32,97,110,32,101,114,114,111,114,32,111,99,99,117,114,115,32,97,110,100,32,116,104,101,32,102,105,108,101,32,105,115,32,99,108,111,115,101,100,46>>]},{p,[],[<<65,108,108,111,119,101,100,32,118,97,108,117,101,115,32,102,111,114,32>>,{code,[],[<<69,110,99,111,100,105,110,103>>]},<<58>>]},{dl,[],[{dt,[],[{code,[],[<<108,97,116,105,110,49>>]}]},{dd,[],[{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,32,101,110,99,111,100,105,110,103,46,32,66,121,116,101,115,32,115,117,112,112,108,105,101,100,32,116,111,32,116,104,101,32,102,105,108,101,44,32,116,104,97,116,32,105,115,44,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,47,50>>]}]},<<32,97,114,101,32,119,114,105,116,116,101,110,32,34,97,115,32,105,115,34,32,111,110,32,116,104,101,32,102,105,108,101,46,32,76,105,107,101,119,105,115,101,44,32,98,121,116,101,115,32,114,101,97,100,32,102,114,111,109,32,116,104,101,32,102,105,108,101,44,32,116,104,97,116,32,105,115,44,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,47,50>>]}]},<<32,97,114,101,32,114,101,116,117,114,110,101,100,32,34,97,115,32,105,115,34,46,32,73,102,32,109,111,100,117,108,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111,40,51,41>>]}]},<<32,105,115,32,117,115,101,100,32,102,111,114,32,119,114,105,116,105,110,103,44,32,116,104,101,32,102,105,108,101,32,99,97,110,32,111,110,108,121,32,99,111,112,101,32,119,105,116,104,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,32,117,112,32,116,111,32,99,111,100,101,32,112,111,105,110,116,32,50,53,53,32,40,116,104,101,32,73,83,79,32,76,97,116,105,110,45,49,32,114,97,110,103,101,41,46>>]}]},{dt,[],[{code,[],[<<117,110,105,99,111,100,101,32,111,114,32,117,116,102,56>>]}]},{dd,[],[{p,[],[<<67,104,97,114,97,99,116,101,114,115,32,97,114,101,32,116,114,97,110,115,108,97,116,101,100,32,116,111,32,97,110,100,32,102,114,111,109,32,85,84,70,45,56,32,101,110,99,111,100,105,110,103,32,98,101,102,111,114,101,32,116,104,101,121,32,97,114,101,32,119,114,105,116,116,101,110,32,116,111,32,111,114,32,114,101,97,100,32,102,114,111,109,32,116,104,101,32,102,105,108,101,46,32,65,32,102,105,108,101,32,111,112,101,110,101,100,32,105,110,32,116,104,105,115,32,119,97,121,32,99,97,110,32,98,101,32,114,101,97,100,97,98,108,101,32,117,115,105,110,103,32,102,117,110,99,116,105,111,110,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,47,50>>]}]},<<44,32,97,115,32,108,111,110,103,32,97,115,32,110,111,32,100,97,116,97,32,115,116,111,114,101,100,32,111,110,32,116,104,101,32,102,105,108,101,32,108,105,101,115,32,98,101,121,111,110,100,32,116,104,101,32,73,83,79,32,76,97,116,105,110,45,49,32,114,97,110,103,101,32,40,48,46,46,50,53,53,41,44,32,98,117,116,32,102,97,105,108,117,114,101,32,111,99,99,117,114,115,32,105,102,32,116,104,101,32,100,97,116,97,32,99,111,110,116,97,105,110,115,32,85,110,105,99,111,100,101,32,99,111,100,101,32,112,111,105,110,116,115,32,98,101,121,111,110,100,32,116,104,97,116,32,114,97,110,103,101,46,32,84,104,101,32,102,105,108,101,32,105,115,32,98,101,115,116,32,114,101,97,100,32,119,105,116,104,32,116,104,101,32,102,117,110,99,116,105,111,110,115,32,105,110,32,116,104,101,32,85,110,105,99,111,100,101,32,97,119,97,114,101,32,109,111,100,117,108,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111,40,51,41>>]}]},<<46>>]},{p,[],[<<66,121,116,101,115,32,119,114,105,116,116,101,110,32,116,111,32,116,104,101,32,102,105,108,101,32,98,121,32,97,110,121,32,109,101,97,110,115,32,97,114,101,32,116,114,97,110,115,108,97,116,101,100,32,116,111,32,85,84,70,45,56,32,101,110,99,111,100,105,110,103,32,98,101,102,111,114,101,32,98,101,105,110,103,32,115,116,111,114,101,100,32,111,110,32,116,104,101,32,100,105,115,107,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<117,116,102,49,54,32,111,114,32,123,117,116,102,49,54,44,98,105,103,125>>]}]},{dd,[],[{p,[],[<<87,111,114,107,115,32,108,105,107,101,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,98,117,116,32,116,114,97,110,115,108,97,116,105,111,110,32,105,115,32,100,111,110,101,32,116,111,32,97,110,100,32,102,114,111,109,32,98,105,103,32,101,110,100,105,97,110,32,85,84,70,45,49,54,32,105,110,115,116,101,97,100,32,111,102,32,85,84,70,45,56,46>>]}]},{dt,[],[{code,[],[<<123,117,116,102,49,54,44,108,105,116,116,108,101,125>>]}]},{dd,[],[{p,[],[<<87,111,114,107,115,32,108,105,107,101,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,98,117,116,32,116,114,97,110,115,108,97,116,105,111,110,32,105,115,32,100,111,110,101,32,116,111,32,97,110,100,32,102,114,111,109,32,108,105,116,116,108,101,32,101,110,100,105,97,110,32,85,84,70,45,49,54,32,105,110,115,116,101,97,100,32,111,102,32,85,84,70,45,56,46>>]}]},{dt,[],[{code,[],[<<117,116,102,51,50,32,111,114,32,123,117,116,102,51,50,44,98,105,103,125>>]}]},{dd,[],[{p,[],[<<87,111,114,107,115,32,108,105,107,101,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,98,117,116,32,116,114,97,110,115,108,97,116,105,111,110,32,105,115,32,100,111,110,101,32,116,111,32,97,110,100,32,102,114,111,109,32,98,105,103,32,101,110,100,105,97,110,32,85,84,70,45,51,50,32,105,110,115,116,101,97,100,32,111,102,32,85,84,70,45,56,46>>]}]},{dt,[],[{code,[],[<<123,117,116,102,51,50,44,108,105,116,116,108,101,125>>]}]},{dd,[],[{p,[],[<<87,111,114,107,115,32,108,105,107,101,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,98,117,116,32,116,114,97,110,115,108,97,116,105,111,110,32,105,115,32,100,111,110,101,32,116,111,32,97,110,100,32,102,114,111,109,32,108,105,116,116,108,101,32,101,110,100,105,97,110,32,85,84,70,45,51,50,32,105,110,115,116,101,97,100,32,111,102,32,85,84,70,45,56,46>>]}]}]},{p,[],[<<84,104,101,32,69,110,99,111,100,105,110,103,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,102,111,114,32,97,32,102,105,108,101,32,34,111,110,32,116,104,101,32,102,108,121,34,32,98,121,32,117,115,105,110,103,32,102,117,110,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111,35,115,101,116,111,112,116,115,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,111,58,115,101,116,111,112,116,115,47,50>>]}]},<<46,32,83,111,32,97,32,102,105,108,101,32,99,97,110,32,98,101,32,97,110,97,108,121,122,101,100,32,105,110,32,108,97,116,105,110,49,32,101,110,99,111,100,105,110,103,32,102,111,114,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,97,32,66,79,77,44,32,112,111,115,105,116,105,111,110,101,100,32,98,101,121,111,110,100,32,116,104,101,32,66,79,77,32,97,110,100,32,116,104,101,110,32,98,101,32,115,101,116,32,102,111,114,32,116,104,101,32,114,105,103,104,116,32,101,110,99,111,100,105,110,103,32,98,101,102,111,114,101,32,102,117,114,116,104,101,114,32,114,101,97,100,105,110,103,46,32,70,111,114,32,102,117,110,99,116,105,111,110,115,32,105,100,101,110,116,105,102,121,105,110,103,32,66,79,77,115,44,32,115,101,101,32,109,111,100,117,108,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<117,110,105,99,111,100,101,40,51,41>>]}]},<<46>>]},{p,[],[<<84,104,105,115,32,111,112,116,105,111,110,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32>>,{code,[],[<<114,97,119>>]},<<32,102,105,108,101,115,46>>]}]},{dt,[],[{code,[],[<<114,97,109>>]}]},{dd,[],[{p,[],[{code,[],[<<70,105,108,101>>]},<<32,109,117,115,116,32,98,101,32>>,{code,[],[<<105,111,100,97,116,97,40,41>>]},<<46,32,82,101,116,117,114,110,115,32,97,110,32>>,{code,[],[<<102,100,40,41>>]},<<44,32,119,104,105,99,104,32,108,101,116,115,32,109,111,100,117,108,101,32>>,{code,[],[<<102,105,108,101>>]},<<32,111,112,101,114,97,116,101,32,111,110,32,116,104,101,32,100,97,116,97,32,105,110,45,109,101,109,111,114,121,32,97,115,32,105,102,32,105,116,32,105,115,32,97,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<115,121,110,99>>]}]},{dd,[],[{p,[],[<<79,110,32,112,108,97,116,102,111,114,109,115,32,115,117,112,112,111,114,116,105,110,103,32,105,116,44,32,101,110,97,98,108,101,115,32,116,104,101,32,80,79,83,73,88,32>>,{code,[],[<<79,95,83,89,78,67>>]},<<32,115,121,110,99,104,114,111,110,111,117,115,32,73,47,79,32,102,108,97,103,32,111,114,32,105,116,115,32,112,108,97,116,102,111,114,109,45,100,101,112,101,110,100,101,110,116,32,101,113,117,105,118,97,108,101,110,116,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<70,73,76,69,95,70,76,65,71,95,87,82,73,84,69,95,84,72,82,79,85,71,72>>]},<<32,111,110,32,87,105,110,100,111,119,115,41,32,115,111,32,116,104,97,116,32,119,114,105,116,101,115,32,116,111,32,116,104,101,32,102,105,108,101,32,98,108,111,99,107,32,117,110,116,105,108,32,116,104,101,32,100,97,116,97,32,105,115,32,112,104,121,115,105,99,97,108,108,121,32,119,114,105,116,116,101,110,32,116,111,32,100,105,115,107,46,32,72,111,119,101,118,101,114,44,32,98,101,32,97,119,97,114,101,32,116,104,97,116,32,116,104,101,32,101,120,97,99,116,32,115,101,109,97,110,116,105,99,115,32,111,102,32,116,104,105,115,32,102,108,97,103,32,100,105,102,102,101,114,32,102,114,111,109,32,112,108,97,116,102,111,114,109,32,116,111,32,112,108,97,116,102,111,114,109,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,110,111,110,101,32,111,102,32,76,105,110,117,120,32,111,114,32,87,105,110,100,111,119,115,32,103,117,97,114,97,110,116,101,101,115,32,116,104,97,116,32,97,108,108,32,102,105,108,101,32,109,101,116,97,100,97,116,97,32,97,114,101,32,97,108,115,111,32,119,114,105,116,116,101,110,32,98,101,102,111,114,101,32,116,104,101,32,99,97,108,108,32,114,101,116,117,114,110,115,46,32,70,111,114,32,112,114,101,99,105,115,101,32,115,101,109,97,110,116,105,99,115,44,32,99,104,101,99,107,32,116,104,101,32,100,101,116,97,105,108,115,32,111,102,32,121,111,117,114,32,112,108,97,116,102,111,114,109,32,100,111,99,117,109,101,110,116,97,116,105,111,110,46,32,79,110,32,112,108,97,116,102,111,114,109,115,32,119,105,116,104,32,110,111,32,115,117,112,112,111,114,116,32,102,111,114,32,80,79,83,73,88,32>>,{code,[],[<<79,95,83,89,78,67>>]},<<32,111,114,32,101,113,117,105,118,97,108,101,110,116,44,32,117,115,101,32,111,102,32,116,104,101,32>>,{code,[],[<<115,121,110,99>>]},<<32,102,108,97,103,32,99,97,117,115,101,115,32>>,{code,[],[<<111,112,101,110>>]},<<32,116,111,32,114,101,116,117,114,110,32>>,{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,116,115,117,112,125>>]},<<46>>]}]},{dt,[],[{code,[],[<<100,105,114,101,99,116,111,114,121>>]}]},{dd,[],[{p,[],[<<65,108,108,111,119,115,32>>,{code,[],[<<111,112,101,110>>]},<<32,116,111,32,119,111,114,107,32,111,110,32,100,105,114,101,99,116,111,114,105,101,115,46>>]}]}]},{p,[],[<<82,101,116,117,114,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,73,111,68,101,118,105,99,101,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,109,111,100,101,46,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<32,105,115,32,97,32,114,101,102,101,114,101,110,99,101,32,116,111,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,111,112,101,110,101,100,46>>]}]}]},{p,[],[{code,[],[<<73,111,68,101,118,105,99,101>>]},<<32,105,115,32,114,101,97,108,108,121,32,116,104,101,32,112,105,100,32,111,102,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,104,97,110,100,108,101,115,32,116,104,101,32,102,105,108,101,46,32,84,104,105,115,32,112,114,111,99,101,115,115,32,109,111,110,105,116,111,114,115,32,116,104,101,32,112,114,111,99,101,115,115,32,116,104,97,116,32,111,114,105,103,105,110,97,108,108,121,32,111,112,101,110,101,100,32,116,104,101,32,102,105,108,101,32,40,116,104,101,32,111,119,110,101,114,32,112,114,111,99,101,115,115,41,46,32,73,102,32,116,104,101,32,111,119,110,101,114,32,112,114,111,99,101,115,115,32,116,101,114,109,105,110,97,116,101,115,44,32,116,104,101,32,102,105,108,101,32,105,115,32,99,108,111,115,101,100,32,97,110,100,32,116,104,101,32,112,114,111,99,101,115,115,32,105,116,115,101,108,102,32,116,101,114,109,105,110,97,116,101,115,32,116,111,111,46,32,65,110,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<32,114,101,116,117,114,110,101,100,32,102,114,111,109,32,116,104,105,115,32,99,97,108,108,32,99,97,110,32,98,101,32,117,115,101,100,32,97,115,32,97,110,32,97,114,103,117,109,101,110,116,32,116,111,32,116,104,101,32,73,47,79,32,102,117,110,99,116,105,111,110,115,32,40,115,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111,40,51,41>>]}]},<<41,46>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<87,104,105,108,101,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,111,112,101,110,32,97,110,121,32,102,105,108,101,44,32,119,101,32,114,101,99,111,109,109,101,110,100,32,97,103,97,105,110,115,116,32,117,115,105,110,103,32,105,116,32,102,111,114,32,78,70,83,45,109,111,117,110,116,101,100,32,102,105,108,101,115,44,32,70,73,70,79,115,44,32,100,101,118,105,99,101,115,44,32,111,114,32,115,105,109,105,108,97,114,32,115,105,110,99,101,32,116,104,101,121,32,99,97,110,32,99,97,117,115,101,32,73,79,32,116,104,114,101,97,100,115,32,116,111,32,104,97,110,103,32,102,111,114,101,118,101,114,46>>]},{p,[],[<<73,102,32,121,111,117,114,32,97,112,112,108,105,99,97,116,105,111,110,32,110,101,101,100,115,32,116,111,32,105,110,116,101,114,97,99,116,32,119,105,116,104,32,116,104,101,115,101,32,107,105,110,100,115,32,111,102,32,102,105,108,101,115,32,119,101,32,114,101,99,111,109,109,101,110,100,32,98,114,101,97,107,105,110,103,32,111,117,116,32,116,104,111,115,101,32,112,97,114,116,115,32,116,111,32,97,32,112,111,114,116,32,112,114,111,103,114,97,109,32,105,110,115,116,101,97,100,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,110,32,112,114,101,118,105,111,117,115,32,118,101,114,115,105,111,110,115,32,111,102,32>>,{code,[],[<<102,105,108,101>>]},<<44,32,109,111,100,101,115,32,119,101,114,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,111,110,101,32,111,102,32,116,104,101,32,97,116,111,109,115,32>>,{code,[],[<<114,101,97,100>>]},<<44,32>>,{code,[],[<<119,114,105,116,101>>]},<<44,32,111,114,32>>,{code,[],[<<114,101,97,100,95,119,114,105,116,101>>]},<<32,105,110,115,116,101,97,100,32,111,102,32,97,32,108,105,115,116,46,32,84,104,105,115,32,105,115,32,115,116,105,108,108,32,97,108,108,111,119,101,100,32,102,111,114,32,114,101,97,115,111,110,115,32,111,102,32,98,97,99,107,119,97,114,100,115,32,99,111,109,112,97,116,105,98,105,108,105,116,121,44,32,98,117,116,32,105,115,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,32,102,111,114,32,110,101,119,32,99,111,100,101,46,32,65,108,115,111,32,110,111,116,101,32,116,104,97,116,32>>,{code,[],[<<114,101,97,100,95,119,114,105,116,101>>]},<<32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,97,32,109,111,100,101,32,108,105,115,116,46>>]}]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,114,101,97,100,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,115,101,97,114,99,104,105,110,103,32,111,110,101,32,111,102,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,46>>]}]},{dt,[],[{code,[],[<<101,105,115,100,105,114>>]}]},{dd,[],[{p,[],[<<84,104,101,32,110,97,109,101,100,32,102,105,108,101,32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,44,32,111,114,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,116,115,101,108,102,32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,32,105,102,32>>,{code,[],[<<100,105,114,101,99,116,111,114,121>>]},<<32,109,111,100,101,32,119,97,115,32,115,112,101,99,105,102,105,101,100,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]},{dt,[],[{code,[],[<<101,110,111,115,112,99>>]}]},{dd,[],[{p,[],[<<84,104,101,114,101,32,105,115,32,110,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,116,104,101,32,100,101,118,105,99,101,32,40,105,102,32>>,{code,[],[<<119,114,105,116,101>>]},<<32,97,99,99,101,115,115,32,119,97,115,32,115,112,101,99,105,102,105,101,100,41,46>>]}]}]}]},#{signature => [{attribute,{504,2},spec,{{open,2},[{type,{504,11},bounded_fun,[{type,{504,11},'fun',[{type,{504,11},product,[{var,{504,12},'File'},{var,{504,18},'Modes'}]},{type,{504,28},union,[{type,{504,28},tuple,[{atom,{504,29},ok},{var,{504,33},'IoDevice'}]},{type,{504,45},tuple,[{atom,{504,46},error},{var,{504,53},'Reason'}]}]}]},[{type,{505,7},constraint,[{atom,{505,7},is_subtype},[{var,{505,7},'File'},{type,{505,15},union,[{var,{505,15},'Filename'},{type,{505,26},iodata,[]}]}]]},{type,{506,7},constraint,[{atom,{506,7},is_subtype},[{var,{506,7},'Filename'},{user_type,{506,19},name_all,[]}]]},{type,{507,7},constraint,[{atom,{507,7},is_subtype},[{var,{507,7},'Modes'},{type,{507,16},list,[{type,{507,17},union,[{user_type,{507,17},mode,[]},{atom,{507,26},ram},{atom,{507,32},directory}]}]}]]},{type,{508,7},constraint,[{atom,{508,7},is_subtype},[{var,{508,7},'IoDevice'},{user_type,{508,19},io_device,[]}]]},{type,{509,7},constraint,[{atom,{509,7},is_subtype},[{var,{509,7},'Reason'},{type,{509,17},union,[{user_type,{509,17},posix,[]},{atom,{509,27},badarg},{atom,{509,36},system_limit}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,55,52,49>>}},{{function,path_consult,2},[{file,[102,105,108,101,46,101,114,108]},{location,1035}],[<<112,97,116,104,95,99,111,110,115,117,108,116,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,97,114,99,104,101,115,32,116,104,101,32,112,97,116,104,32>>,{code,[],[<<80,97,116,104>>]},<<32,40,97,32,108,105,115,116,32,111,102,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,115,41,32,117,110,116,105,108,32,116,104,101,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,102,111,117,110,100,46,32,73,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,97,110,32,97,98,115,111,108,117,116,101,32,102,105,108,101,110,97,109,101,44,32>>,{code,[],[<<80,97,116,104>>]},<<32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,110,32,114,101,97,100,115,32,69,114,108,97,110,103,32,116,101,114,109,115,44,32,115,101,112,97,114,97,116,101,100,32,98,121,32,39,46,39,44,32,102,114,111,109,32,116,104,101,32,102,105,108,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,84,101,114,109,115,44,32,70,117,108,108,78,97,109,101,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,115,117,99,99,101,115,115,102,117,108,108,121,32,114,101,97,100,46,32>>,{code,[],[<<70,117,108,108,78,97,109,101>>]},<<32,105,115,32,116,104,101,32,102,117,108,108,32,110,97,109,101,32,111,102,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,101,110,116,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,102,111,117,110,100,32,105,110,32,97,110,121,32,111,102,32,116,104,101,32,100,105,114,101,99,116,111,114,105,101,115,32,105,110,32>>,{code,[],[<<80,97,116,104>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,97,116,111,109,40,41,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,114,101,97,100,105,110,103,32,105,116,46,32,70,111,114,32,97,32,108,105,115,116,32,111,102,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,99,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,123,76,105,110,101,44,32,77,111,100,44,32,84,101,114,109,125,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,105,110,116,101,114,112,114,101,116,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,116,101,114,109,115,32,105,110,32,116,104,101,32,102,105,108,101,46,32,85,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,102,111,114,109,97,116,95,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,49>>]}]},<<32,116,111,32,99,111,110,118,101,114,116,32,116,104,101,32,116,104,114,101,101,45,101,108,101,109,101,110,116,32,116,117,112,108,101,32,116,111,32,97,110,32,69,110,103,108,105,115,104,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,46>>]}]}]},{p,[],[<<84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,97,32,99,111,109,109,101,110,116,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,112,112,35,101,110,99,111,100,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,112,112,40,51,41>>]}]},<<46>>]}]},#{signature => [{attribute,{1035,2},spec,{{path_consult,2},[{type,{1035,19},bounded_fun,[{type,{1035,19},'fun',[{type,{1035,19},product,[{var,{1035,20},'Path'},{var,{1035,26},'Filename'}]},{type,{1035,39},union,[{type,{1035,39},tuple,[{atom,{1035,40},ok},{var,{1035,44},'Terms'},{var,{1035,51},'FullName'}]},{type,{1035,63},tuple,[{atom,{1035,64},error},{var,{1035,71},'Reason'}]}]}]},[{type,{1036,7},constraint,[{atom,{1036,7},is_subtype},[{var,{1036,7},'Path'},{type,{1036,15},list,[{var,{1036,16},'Dir'}]}]]},{type,{1037,7},constraint,[{atom,{1037,7},is_subtype},[{var,{1037,7},'Dir'},{user_type,{1037,14},name_all,[]}]]},{type,{1038,7},constraint,[{atom,{1038,7},is_subtype},[{var,{1038,7},'Filename'},{user_type,{1038,19},name_all,[]}]]},{type,{1039,7},constraint,[{atom,{1039,7},is_subtype},[{var,{1039,7},'Terms'},{type,{1039,16},list,[{type,{1039,17},term,[]}]}]]},{type,{1040,7},constraint,[{atom,{1040,7},is_subtype},[{var,{1040,7},'FullName'},{user_type,{1040,19},filename_all,[]}]]},{type,{1041,7},constraint,[{atom,{1041,7},is_subtype},[{var,{1041,7},'Reason'},{type,{1041,17},union,[{user_type,{1041,17},posix,[]},{atom,{1041,27},badarg},{atom,{1041,36},terminated},{atom,{1041,49},system_limit},{type,{1042,17},tuple,[{ann_type,{1042,18},[{var,{1042,18},'Line'},{type,{1042,26},integer,[]}]},{ann_type,{1042,37},[{var,{1042,37},'Mod'},{type,{1042,44},module,[]}]},{ann_type,{1042,54},[{var,{1042,54},'Term'},{type,{1042,62},term,[]}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,48,52,50>>}},{{function,path_eval,2},[{file,[102,105,108,101,46,101,114,108]},{location,1083}],[<<112,97,116,104,95,101,118,97,108,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,97,114,99,104,101,115,32,116,104,101,32,112,97,116,104,32>>,{code,[],[<<80,97,116,104>>]},<<32,40,97,32,108,105,115,116,32,111,102,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,115,41,32,117,110,116,105,108,32,116,104,101,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,102,111,117,110,100,46,32,73,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,97,110,32,97,98,115,111,108,117,116,101,32,102,105,108,101,110,97,109,101,44,32>>,{code,[],[<<80,97,116,104>>]},<<32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,110,32,114,101,97,100,115,32,97,110,100,32,101,118,97,108,117,97,116,101,115,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,44,32,115,101,112,97,114,97,116,101,100,32,98,121,32,39,46,39,32,40,111,114,32,39,44,39,44,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,101,120,112,114,101,115,115,105,111,110,115,32,105,115,32,97,108,115,111,32,97,110,32,101,120,112,114,101,115,115,105,111,110,41,44,32,102,114,111,109,32,116,104,101,32,102,105,108,101,46,32,84,104,101,32,114,101,115,117,108,116,32,111,102,32,101,118,97,108,117,97,116,105,111,110,32,105,115,32,110,111,116,32,114,101,116,117,114,110,101,100,59,32,97,110,121,32,101,120,112,114,101,115,115,105,111,110,32,115,101,113,117,101,110,99,101,32,105,110,32,116,104,101,32,102,105,108,101,32,109,117,115,116,32,98,101,32,116,104,101,114,101,32,102,111,114,32,105,116,115,32,115,105,100,101,32,101,102,102,101,99,116,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,70,117,108,108,78,97,109,101,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,114,101,97,100,32,97,110,100,32,101,118,97,108,117,97,116,101,100,46,32>>,{code,[],[<<70,117,108,108,78,97,109,101>>]},<<32,105,115,32,116,104,101,32,102,117,108,108,32,110,97,109,101,32,111,102,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,101,110,116,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,102,111,117,110,100,32,105,110,32,97,110,121,32,111,102,32,116,104,101,32,100,105,114,101,99,116,111,114,105,101,115,32,105,110,32>>,{code,[],[<<80,97,116,104>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,97,116,111,109,40,41,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,114,101,97,100,105,110,103,32,105,116,46,32,70,111,114,32,97,32,108,105,115,116,32,111,102,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,99,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,123,76,105,110,101,44,32,77,111,100,44,32,84,101,114,109,125,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,105,110,116,101,114,112,114,101,116,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,116,104,101,32,102,105,108,101,46,32,85,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,102,111,114,109,97,116,95,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,49>>]}]},<<32,116,111,32,99,111,110,118,101,114,116,32,116,104,101,32,116,104,114,101,101,45,101,108,101,109,101,110,116,32,116,117,112,108,101,32,116,111,32,97,110,32,69,110,103,108,105,115,104,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,46>>]}]}]},{p,[],[<<84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,97,32,99,111,109,109,101,110,116,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,112,112,35,101,110,99,111,100,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,112,112,40,51,41>>]}]},<<46>>]}]},#{signature => [{attribute,{1083,2},spec,{{path_eval,2},[{type,{1083,16},bounded_fun,[{type,{1083,16},'fun',[{type,{1083,16},product,[{var,{1083,17},'Path'},{var,{1083,23},'Filename'}]},{type,{1083,36},union,[{type,{1083,36},tuple,[{atom,{1083,37},ok},{var,{1083,41},'FullName'}]},{type,{1083,53},tuple,[{atom,{1083,54},error},{var,{1083,61},'Reason'}]}]}]},[{type,{1084,7},constraint,[{atom,{1084,7},is_subtype},[{var,{1084,7},'Path'},{type,{1084,15},list,[{ann_type,{1084,16},[{var,{1084,16},'Dir'},{user_type,{1084,23},name_all,[]}]}]}]]},{type,{1085,7},constraint,[{atom,{1085,7},is_subtype},[{var,{1085,7},'Filename'},{user_type,{1085,19},name_all,[]}]]},{type,{1086,7},constraint,[{atom,{1086,7},is_subtype},[{var,{1086,7},'FullName'},{user_type,{1086,19},filename_all,[]}]]},{type,{1087,7},constraint,[{atom,{1087,7},is_subtype},[{var,{1087,7},'Reason'},{type,{1087,17},union,[{user_type,{1087,17},posix,[]},{atom,{1087,27},badarg},{atom,{1087,36},terminated},{atom,{1087,49},system_limit},{type,{1088,17},tuple,[{ann_type,{1088,18},[{var,{1088,18},'Line'},{type,{1088,26},integer,[]}]},{ann_type,{1088,37},[{var,{1088,37},'Mod'},{type,{1088,44},module,[]}]},{ann_type,{1088,54},[{var,{1088,54},'Term'},{type,{1088,62},term,[]}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,48,56,52>>}},{{function,path_open,3},[{file,[102,105,108,101,46,101,114,108]},{location,1188}],[<<112,97,116,104,95,111,112,101,110,47,51>>],#{<<101,110>> => [{p,[],[<<83,101,97,114,99,104,101,115,32,116,104,101,32,112,97,116,104,32>>,{code,[],[<<80,97,116,104>>]},<<32,40,97,32,108,105,115,116,32,111,102,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,115,41,32,117,110,116,105,108,32,116,104,101,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,102,111,117,110,100,46,32,73,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,97,110,32,97,98,115,111,108,117,116,101,32,102,105,108,101,110,97,109,101,44,32>>,{code,[],[<<80,97,116,104>>]},<<32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,110,32,111,112,101,110,115,32,116,104,101,32,102,105,108,101,32,105,110,32,116,104,101,32,109,111,100,101,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32>>,{code,[],[<<77,111,100,101,115>>]},<<46>>]},{p,[],[<<82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,73,111,68,101,118,105,99,101,44,32,70,117,108,108,78,97,109,101,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,109,111,100,101,46,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<32,105,115,32,97,32,114,101,102,101,114,101,110,99,101,32,116,111,32,116,104,101,32,102,105,108,101,32,97,110,100,32>>,{code,[],[<<70,117,108,108,78,97,109,101>>]},<<32,105,115,32,116,104,101,32,102,117,108,108,32,110,97,109,101,32,111,102,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,101,110,116,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,102,111,117,110,100,32,105,110,32,97,110,121,32,111,102,32,116,104,101,32,100,105,114,101,99,116,111,114,105,101,115,32,105,110,32>>,{code,[],[<<80,97,116,104>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,97,116,111,109,40,41,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,111,112,101,110,101,100,46>>]}]}]}]},#{signature => [{attribute,{1188,2},spec,{{path_open,3},[{type,{1188,16},bounded_fun,[{type,{1188,16},'fun',[{type,{1188,16},product,[{var,{1188,17},'Path'},{var,{1188,23},'Filename'},{var,{1188,33},'Modes'}]},{type,{1189,14},union,[{type,{1189,14},tuple,[{atom,{1189,15},ok},{var,{1189,19},'IoDevice'},{var,{1189,29},'FullName'}]},{type,{1189,41},tuple,[{atom,{1189,42},error},{var,{1189,49},'Reason'}]}]}]},[{type,{1190,7},constraint,[{atom,{1190,7},is_subtype},[{var,{1190,7},'Path'},{type,{1190,15},list,[{ann_type,{1190,16},[{var,{1190,16},'Dir'},{user_type,{1190,23},name_all,[]}]}]}]]},{type,{1191,7},constraint,[{atom,{1191,7},is_subtype},[{var,{1191,7},'Filename'},{user_type,{1191,19},name_all,[]}]]},{type,{1192,7},constraint,[{atom,{1192,7},is_subtype},[{var,{1192,7},'Modes'},{type,{1192,16},list,[{type,{1192,17},union,[{user_type,{1192,17},mode,[]},{atom,{1192,26},directory}]}]}]]},{type,{1193,7},constraint,[{atom,{1193,7},is_subtype},[{var,{1193,7},'IoDevice'},{user_type,{1193,19},io_device,[]}]]},{type,{1194,7},constraint,[{atom,{1194,7},is_subtype},[{var,{1194,7},'FullName'},{user_type,{1194,19},filename_all,[]}]]},{type,{1195,7},constraint,[{atom,{1195,7},is_subtype},[{var,{1195,7},'Reason'},{type,{1195,17},union,[{user_type,{1195,17},posix,[]},{atom,{1195,27},badarg},{atom,{1195,36},system_limit}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,49,51,48>>}},{{function,path_script,2},[{file,[102,105,108,101,46,101,114,108]},{location,1143}],[<<112,97,116,104,95,115,99,114,105,112,116,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,97,114,99,104,101,115,32,116,104,101,32,112,97,116,104,32>>,{code,[],[<<80,97,116,104>>]},<<32,40,97,32,108,105,115,116,32,111,102,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,115,41,32,117,110,116,105,108,32,116,104,101,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,102,111,117,110,100,46,32,73,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,97,110,32,97,98,115,111,108,117,116,101,32,102,105,108,101,110,97,109,101,44,32>>,{code,[],[<<80,97,116,104>>]},<<32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,110,32,114,101,97,100,115,32,97,110,100,32,101,118,97,108,117,97,116,101,115,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,44,32,115,101,112,97,114,97,116,101,100,32,98,121,32,39,46,39,32,40,111,114,32,39,44,39,44,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,101,120,112,114,101,115,115,105,111,110,115,32,105,115,32,97,108,115,111,32,97,110,32,101,120,112,114,101,115,115,105,111,110,41,44,32,102,114,111,109,32,116,104,101,32,102,105,108,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,86,97,108,117,101,44,32,70,117,108,108,78,97,109,101,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,114,101,97,100,32,97,110,100,32,101,118,97,108,117,97,116,101,100,46,32>>,{code,[],[<<70,117,108,108,78,97,109,101>>]},<<32,105,115,32,116,104,101,32,102,117,108,108,32,110,97,109,101,32,111,102,32,116,104,101,32,102,105,108,101,32,97,110,100,32>>,{code,[],[<<86,97,108,117,101>>]},<<32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,108,97,115,116,32,101,120,112,114,101,115,115,105,111,110,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,101,110,111,101,110,116,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,102,111,117,110,100,32,105,110,32,97,110,121,32,111,102,32,116,104,101,32,100,105,114,101,99,116,111,114,105,101,115,32,105,110,32>>,{code,[],[<<80,97,116,104>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,97,116,111,109,40,41,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,114,101,97,100,105,110,103,32,105,116,46,32,70,111,114,32,97,32,108,105,115,116,32,111,102,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,99,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,123,76,105,110,101,44,32,77,111,100,44,32,84,101,114,109,125,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,105,110,116,101,114,112,114,101,116,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,116,104,101,32,102,105,108,101,46,32,85,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,102,111,114,109,97,116,95,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,49>>]}]},<<32,116,111,32,99,111,110,118,101,114,116,32,116,104,101,32,116,104,114,101,101,45,101,108,101,109,101,110,116,32,116,117,112,108,101,32,116,111,32,97,110,32,69,110,103,108,105,115,104,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,46>>]}]}]},{p,[],[<<84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,97,32,99,111,109,109,101,110,116,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,112,112,35,101,110,99,111,100,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,112,112,40,51,41>>]}]},<<46>>]}]},#{signature => [{attribute,{1143,2},spec,{{path_script,2},[{type,{1143,18},bounded_fun,[{type,{1143,18},'fun',[{type,{1143,18},product,[{var,{1143,19},'Path'},{var,{1143,25},'Filename'}]},{type,{1144,14},union,[{type,{1144,14},tuple,[{atom,{1144,15},ok},{var,{1144,19},'Value'},{var,{1144,26},'FullName'}]},{type,{1144,38},tuple,[{atom,{1144,39},error},{var,{1144,46},'Reason'}]}]}]},[{type,{1145,7},constraint,[{atom,{1145,7},is_subtype},[{var,{1145,7},'Path'},{type,{1145,15},list,[{ann_type,{1145,16},[{var,{1145,16},'Dir'},{user_type,{1145,23},name_all,[]}]}]}]]},{type,{1146,7},constraint,[{atom,{1146,7},is_subtype},[{var,{1146,7},'Filename'},{user_type,{1146,19},name_all,[]}]]},{type,{1147,7},constraint,[{atom,{1147,7},is_subtype},[{var,{1147,7},'Value'},{type,{1147,16},term,[]}]]},{type,{1148,7},constraint,[{atom,{1148,7},is_subtype},[{var,{1148,7},'FullName'},{user_type,{1148,19},filename_all,[]}]]},{type,{1149,7},constraint,[{atom,{1149,7},is_subtype},[{var,{1149,7},'Reason'},{type,{1149,17},union,[{user_type,{1149,17},posix,[]},{atom,{1149,27},badarg},{atom,{1149,36},terminated},{atom,{1149,49},system_limit},{type,{1150,17},tuple,[{ann_type,{1150,18},[{var,{1150,18},'Line'},{type,{1150,26},integer,[]}]},{ann_type,{1150,37},[{var,{1150,37},'Mod'},{type,{1150,44},module,[]}]},{ann_type,{1150,54},[{var,{1150,54},'Term'},{type,{1150,62},term,[]}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,49,53,57>>}},{{function,path_script,3},[{file,[102,105,108,101,46,101,114,108]},{location,1155}],[<<112,97,116,104,95,115,99,114,105,112,116,47,51>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<112,97,116,104,95,115,99,114,105,112,116,47,50>>]},<<32,98,117,116,32,116,104,101,32,118,97,114,105,97,98,108,101,32,98,105,110,100,105,110,103,115,32>>,{code,[],[<<66,105,110,100,105,110,103,115>>]},<<32,97,114,101,32,117,115,101,100,32,105,110,32,116,104,101,32,101,118,97,108,117,97,116,105,111,110,46,32,83,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,114,108,95,101,118,97,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,95,101,118,97,108,40,51,41>>]}]},<<32,97,98,111,117,116,32,118,97,114,105,97,98,108,101,32,98,105,110,100,105,110,103,115,46>>]}]},#{signature => [{attribute,{1155,2},spec,{{path_script,3},[{type,{1155,18},bounded_fun,[{type,{1155,18},'fun',[{type,{1155,18},product,[{var,{1155,19},'Path'},{var,{1155,25},'Filename'},{var,{1155,35},'Bindings'}]},{type,{1156,11},union,[{type,{1156,11},tuple,[{atom,{1156,12},ok},{var,{1156,16},'Value'},{var,{1156,23},'FullName'}]},{type,{1156,35},tuple,[{atom,{1156,36},error},{var,{1156,43},'Reason'}]}]}]},[{type,{1157,7},constraint,[{atom,{1157,7},is_subtype},[{var,{1157,7},'Path'},{type,{1157,15},list,[{ann_type,{1157,16},[{var,{1157,16},'Dir'},{user_type,{1157,23},name_all,[]}]}]}]]},{type,{1158,7},constraint,[{atom,{1158,7},is_subtype},[{var,{1158,7},'Filename'},{user_type,{1158,19},name_all,[]}]]},{type,{1159,7},constraint,[{atom,{1159,7},is_subtype},[{var,{1159,7},'Bindings'},{remote_type,{1159,19},[{atom,{1159,19},erl_eval},{atom,{1159,28},binding_struct},[]]}]]},{type,{1160,7},constraint,[{atom,{1160,7},is_subtype},[{var,{1160,7},'Value'},{type,{1160,16},term,[]}]]},{type,{1161,7},constraint,[{atom,{1161,7},is_subtype},[{var,{1161,7},'FullName'},{user_type,{1161,19},filename_all,[]}]]},{type,{1162,7},constraint,[{atom,{1162,7},is_subtype},[{var,{1162,7},'Reason'},{type,{1162,17},union,[{user_type,{1162,17},posix,[]},{atom,{1162,27},badarg},{atom,{1162,36},terminated},{atom,{1162,49},system_limit},{type,{1163,17},tuple,[{ann_type,{1163,18},[{var,{1163,18},'Line'},{type,{1163,26},integer,[]}]},{ann_type,{1163,37},[{var,{1163,37},'Mod'},{type,{1163,44},module,[]}]},{ann_type,{1163,54},[{var,{1163,54},'Term'},{type,{1163,62},term,[]}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,50,48,51>>}},{{function,pid2name,1},[{file,[102,105,108,101,46,101,114,108]},{location,171}],[<<112,105,100,50,110,97,109,101,47,49>>],#{<<101,110>> => [{'div',[{class,<<99,104,97,110,103,101>>}],[{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,100,101,112,114,101,99,97,116,101,100,32,97,110,100,32,119,105,108,108,32,98,101,32,114,101,109,111,118,101,100,32,105,110,32,69,114,108,97,110,103,47,79,84,80,32,50,55,46>>]}]},{p,[],[<<73,102,32>>,{code,[],[<<80,105,100>>]},<<32,105,115,32,97,110,32,73,47,79,32,100,101,118,105,99,101,44,32,116,104,97,116,32,105,115,44,32,97,32,112,105,100,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32>>,{code,[],[<<111,112,101,110,47,50>>]},<<44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,116,104,101,32,102,105,108,101,110,97,109,101,44,32,111,114,32,114,97,116,104,101,114,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,70,105,108,101,110,97,109,101,125>>]}]},{dd,[],[{p,[],[<<73,102,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,111,102,32,116,104,105,115,32,110,111,100,101,32,105,115,32,110,111,116,32,97,32,115,108,97,118,101,44,32,116,104,101,32,102,105,108,101,32,119,97,115,32,111,112,101,110,101,100,32,98,121,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,111,102,32,116,104,105,115,32,110,111,100,101,32,40,116,104,105,115,32,105,109,112,108,105,101,115,32,116,104,97,116,32>>,{code,[],[<<80,105,100>>]},<<32,109,117,115,116,32,98,101,32,97,32,108,111,99,97,108,32,112,105,100,41,32,97,110,100,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,99,108,111,115,101,100,46,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,105,115,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,110,32,102,108,97,116,32,115,116,114,105,110,103,32,102,111,114,109,97,116,46>>]}]},{dt,[],[{code,[],[<<117,110,100,101,102,105,110,101,100>>]}]},{dd,[],[{p,[],[<<73,110,32,97,108,108,32,111,116,104,101,114,32,99,97,115,101,115,46>>]}]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,100,101,98,117,103,103,105,110,103,32,111,110,108,121,46>>]}]}]},#{deprecated => <<102,105,108,101,58,112,105,100,50,110,97,109,101,47,49,32,105,115,32,100,101,112,114,101,99,97,116,101,100,32,97,110,100,32,119,105,108,108,32,98,101,32,114,101,109,111,118,101,100,32,105,110,32,79,84,80,32,50,55,59,32,116,104,105,115,32,102,117,110,99,116,105,111,110,97,108,105,116,121,32,105,115,32,110,111,32,108,111,110,103,101,114,32,115,117,112,112,111,114,116,101,100>>,signature => [{attribute,{171,2},spec,{{pid2name,1},[{type,{171,15},bounded_fun,[{type,{171,15},'fun',[{type,{171,15},product,[{var,{171,16},'Pid'}]},{type,{171,24},union,[{type,{171,24},tuple,[{atom,{171,25},ok},{var,{171,29},'Filename'}]},{atom,{171,41},undefined}]}]},[{type,{172,7},constraint,[{atom,{172,7},is_subtype},[{var,{172,7},'Filename'},{user_type,{172,19},filename_all,[]}]]},{type,{173,7},constraint,[{atom,{173,7},is_subtype},[{var,{173,7},'Pid'},{type,{173,14},pid,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,50,49,51>>}},{{function,position,2},[{file,[102,105,108,101,46,101,114,108]},{location,747}],[<<112,111,115,105,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,102,105,108,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<32,116,111,32>>,{code,[],[<<76,111,99,97,116,105,111,110>>]},<<46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,78,101,119,80,111,115,105,116,105,111,110,125>>]},<<32,40,97,115,32,97,98,115,111,108,117,116,101,32,111,102,102,115,101,116,41,32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32>>,{code,[],[<<76,111,99,97,116,105,111,110>>]},<<32,105,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<79,102,102,115,101,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<123,98,111,102,44,32,79,102,102,115,101,116,125>>]},<<46>>]}]},{dt,[],[{code,[],[<<123,98,111,102,44,32,79,102,102,115,101,116,125>>]}]},{dd,[],[{p,[],[<<65,98,115,111,108,117,116,101,32,111,102,102,115,101,116,46>>]}]},{dt,[],[{code,[],[<<123,99,117,114,44,32,79,102,102,115,101,116,125>>]}]},{dd,[],[{p,[],[<<79,102,102,115,101,116,32,102,114,111,109,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,46>>]}]},{dt,[],[{code,[],[<<123,101,111,102,44,32,79,102,102,115,101,116,125>>]}]},{dd,[],[{p,[],[<<79,102,102,115,101,116,32,102,114,111,109,32,116,104,101,32,101,110,100,32,111,102,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<98,111,102,32,124,32,99,117,114,32,124,32,101,111,102>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32,97,98,111,118,101,32,119,105,116,104,32>>,{code,[],[<<79,102,102,115,101,116>>]},<<32,48,46>>]}]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,111,102,102,115,101,116,115,32,97,114,101,32,99,111,117,110,116,101,100,32,105,110,32,98,121,116,101,115,44,32,110,111,116,32,105,110,32,99,104,97,114,97,99,116,101,114,115,46,32,73,102,32,116,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,117,115,105,110,103,32,115,111,109,101,32,111,116,104,101,114,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,111,110,101,32,98,121,116,101,32,100,111,101,115,32,110,111,116,32,99,111,114,114,101,115,112,111,110,100,32,116,111,32,111,110,101,32,99,104,97,114,97,99,116,101,114,46,32,80,111,115,105,116,105,111,110,105,110,103,32,105,110,32,115,117,99,104,32,97,32,102,105,108,101,32,99,97,110,32,111,110,108,121,32,98,101,32,100,111,110,101,32,116,111,32,107,110,111,119,110,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,105,101,115,46,32,84,104,97,116,32,105,115,44,32,116,111,32,97,32,112,111,115,105,116,105,111,110,32,101,97,114,108,105,101,114,32,114,101,116,114,105,101,118,101,100,32,98,121,32,103,101,116,116,105,110,103,32,97,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,44,32,116,111,32,116,104,101,32,98,101,103,105,110,110,105,110,103,47,101,110,100,32,111,102,32,116,104,101,32,102,105,108,101,32,111,114,32,116,111,32,115,111,109,101,32,111,116,104,101,114,32,112,111,115,105,116,105,111,110,32>>,{em,[],[<<107,110,111,119,110>>]},<<32,116,111,32,98,101,32,111,110,32,97,32,99,111,114,114,101,99,116,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,121,32,98,121,32,115,111,109,101,32,111,116,104,101,114,32,109,101,97,110,115,32,40,116,121,112,105,99,97,108,108,121,32,98,101,121,111,110,100,32,97,32,98,121,116,101,32,111,114,100,101,114,32,109,97,114,107,32,105,110,32,116,104,101,32,102,105,108,101,44,32,119,104,105,99,104,32,104,97,115,32,97,32,107,110,111,119,110,32,98,121,116,101,45,115,105,122,101,41,46>>]},{p,[],[<<65,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,32,105,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,105,110,118,97,108>>]}]},{dd,[],[{p,[],[<<69,105,116,104,101,114,32>>,{code,[],[<<76,111,99,97,116,105,111,110>>]},<<32,105,115,32,105,108,108,101,103,97,108,44,32,111,114,32,105,116,32,105,115,32,101,118,97,108,117,97,116,101,100,32,116,111,32,97,32,110,101,103,97,116,105,118,101,32,111,102,102,115,101,116,32,105,110,32,116,104,101,32,102,105,108,101,46,32,78,111,116,105,99,101,32,116,104,97,116,32,105,102,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,112,111,115,105,116,105,111,110,32,105,115,32,97,32,110,101,103,97,116,105,118,101,32,118,97,108,117,101,44,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,97,110,32,101,114,114,111,114,44,32,97,110,100,32,97,102,116,101,114,32,116,104,101,32,99,97,108,108,32,116,104,101,32,102,105,108,101,32,112,111,115,105,116,105,111,110,32,105,115,32,117,110,100,101,102,105,110,101,100,46>>]}]}]}]},#{signature => [{attribute,{747,2},spec,{{position,2},[{type,{747,15},bounded_fun,[{type,{747,15},'fun',[{type,{747,15},product,[{var,{747,16},'IoDevice'},{var,{747,26},'Location'}]},{type,{747,39},union,[{type,{747,39},tuple,[{atom,{747,40},ok},{var,{747,44},'NewPosition'}]},{type,{747,59},tuple,[{atom,{747,60},error},{var,{747,67},'Reason'}]}]}]},[{type,{748,7},constraint,[{atom,{748,7},is_subtype},[{var,{748,7},'IoDevice'},{user_type,{748,19},io_device,[]}]]},{type,{749,7},constraint,[{atom,{749,7},is_subtype},[{var,{749,7},'Location'},{user_type,{749,19},location,[]}]]},{type,{750,7},constraint,[{atom,{750,7},is_subtype},[{var,{750,7},'NewPosition'},{type,{750,22},integer,[]}]]},{type,{751,7},constraint,[{atom,{751,7},is_subtype},[{var,{751,7},'Reason'},{type,{751,17},union,[{user_type,{751,17},posix,[]},{atom,{751,27},badarg},{atom,{751,36},terminated}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,50,52,49>>}},{{function,pread,2},[{file,[102,105,108,101,46,101,114,108]},{location,626}],[<<112,114,101,97,100,47,50>>],#{<<101,110>> => [{p,[],[<<80,101,114,102,111,114,109,115,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32>>,{code,[],[<<112,114,101,97,100,47,51>>]},<<32,105,110,32,111,110,101,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,99,104,32,105,115,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,104,97,110,32,99,97,108,108,105,110,103,32,116,104,101,109,32,111,110,101,32,97,116,32,97,32,116,105,109,101,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,91,68,97,116,97,44,32,46,46,46,93,125>>]},<<32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<44,32,119,104,101,114,101,32,101,97,99,104,32>>,{code,[],[<<68,97,116,97>>]},<<44,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32>>,{code,[],[<<112,114,101,97,100>>]},<<44,32,105,115,32,101,105,116,104,101,114,32,97,32,108,105,115,116,32,111,114,32,97,32,98,105,110,97,114,121,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,109,111,100,101,32,111,102,32,116,104,101,32,102,105,108,101,44,32,111,114,32>>,{code,[],[<<101,111,102>>]},<<32,105,102,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,112,111,115,105,116,105,111,110,32,105,115,32,98,101,121,111,110,100,32,101,110,100,32,111,102,32,102,105,108,101,46>>]},{p,[],[<<65,115,32,116,104,101,32,112,111,115,105,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,98,121,116,101,45,111,102,102,115,101,116,44,32,116,97,107,101,32,115,112,101,99,105,97,108,32,99,97,117,116,105,111,110,32,119,104,101,110,32,119,111,114,107,105,110,103,32,119,105,116,104,32,102,105,108,101,115,32,119,104,101,114,101,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,105,115,32,115,101,116,32,116,111,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,97,115,32,110,111,116,32,101,118,101,114,121,32,98,121,116,101,32,112,111,115,105,116,105,111,110,32,105,115,32,97,32,118,97,108,105,100,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,121,32,111,110,32,115,117,99,104,32,97,32,102,105,108,101,46>>]}]},#{signature => [{attribute,{626,2},spec,{{pread,2},[{type,{626,12},bounded_fun,[{type,{626,12},'fun',[{type,{626,12},product,[{var,{626,13},'IoDevice'},{var,{626,23},'LocNums'}]},{type,{626,35},union,[{type,{626,35},tuple,[{atom,{626,36},ok},{var,{626,40},'DataL'}]},{atom,{626,49},eof},{type,{626,55},tuple,[{atom,{626,56},error},{var,{626,63},'Reason'}]}]}]},[{type,{627,7},constraint,[{atom,{627,7},is_subtype},[{var,{627,7},'IoDevice'},{user_type,{627,19},io_device,[]}]]},{type,{628,7},constraint,[{atom,{628,7},is_subtype},[{var,{628,7},'LocNums'},{type,{628,18},list,[{type,{628,19},tuple,[{ann_type,{628,20},[{var,{628,20},'Location'},{user_type,{628,32},location,[]}]},{ann_type,{628,44},[{var,{628,44},'Number'},{type,{628,54},non_neg_integer,[]}]}]}]}]]},{type,{629,7},constraint,[{atom,{629,7},is_subtype},[{var,{629,7},'DataL'},{type,{629,16},list,[{var,{629,17},'Data'}]}]]},{type,{630,7},constraint,[{atom,{630,7},is_subtype},[{var,{630,7},'Data'},{type,{630,15},union,[{type,{630,15},string,[]},{type,{630,26},binary,[]},{atom,{630,37},eof}]}]]},{type,{631,7},constraint,[{atom,{631,7},is_subtype},[{var,{631,7},'Reason'},{type,{631,17},union,[{user_type,{631,17},posix,[]},{atom,{631,27},badarg},{atom,{631,36},terminated}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,50,57,51>>}},{{function,pread,3},[{file,[102,105,108,101,46,101,114,108]},{location,654}],[<<112,114,101,97,100,47,51>>],#{<<101,110>> => [{p,[],[<<67,111,109,98,105,110,101,115,32>>,{code,[],[<<112,111,115,105,116,105,111,110,47,50>>]},<<32,97,110,100,32>>,{code,[],[<<114,101,97,100,47,50>>]},<<32,105,110,32,111,110,101,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,99,104,32,105,115,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,104,97,110,32,99,97,108,108,105,110,103,32,116,104,101,109,32,111,110,101,32,97,116,32,97,32,116,105,109,101,46>>]},{p,[],[{code,[],[<<76,111,99,97,116,105,111,110>>]},<<32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,116,111,32,98,101,32,97,110,32,105,110,116,101,103,101,114,32,102,111,114,32>>,{code,[],[<<114,97,119>>]},<<32,97,110,100,32>>,{code,[],[<<114,97,109>>]},<<32,109,111,100,101,115,46>>]},{p,[],[<<84,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,102,105,108,101,32,97,102,116,101,114,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,105,115,32,117,110,100,101,102,105,110,101,100,32,102,111,114,32>>,{code,[],[<<114,97,119>>]},<<32,109,111,100,101,32,97,110,100,32,117,110,99,104,97,110,103,101,100,32,102,111,114,32>>,{code,[],[<<114,97,109>>]},<<32,109,111,100,101,46>>]},{p,[],[<<65,115,32,116,104,101,32,112,111,115,105,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,98,121,116,101,45,111,102,102,115,101,116,44,32,116,97,107,101,32,115,112,101,99,105,97,108,32,99,97,117,116,105,111,110,32,119,104,101,110,32,119,111,114,107,105,110,103,32,119,105,116,104,32,102,105,108,101,115,32,119,104,101,114,101,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,105,115,32,115,101,116,32,116,111,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,97,115,32,110,111,116,32,101,118,101,114,121,32,98,121,116,101,32,112,111,115,105,116,105,111,110,32,105,115,32,97,32,118,97,108,105,100,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,121,32,111,110,32,115,117,99,104,32,97,32,102,105,108,101,46>>]}]},#{signature => [{attribute,{654,2},spec,{{pread,3},[{type,{654,12},bounded_fun,[{type,{654,12},'fun',[{type,{654,12},product,[{var,{654,13},'IoDevice'},{var,{654,23},'Location'},{var,{654,33},'Number'}]},{type,{655,14},union,[{type,{655,14},tuple,[{atom,{655,15},ok},{var,{655,19},'Data'}]},{atom,{655,27},eof},{type,{655,33},tuple,[{atom,{655,34},error},{var,{655,41},'Reason'}]}]}]},[{type,{656,7},constraint,[{atom,{656,7},is_subtype},[{var,{656,7},'IoDevice'},{user_type,{656,19},io_device,[]}]]},{type,{657,7},constraint,[{atom,{657,7},is_subtype},[{var,{657,7},'Location'},{user_type,{657,19},location,[]}]]},{type,{658,7},constraint,[{atom,{658,7},is_subtype},[{var,{658,7},'Number'},{type,{658,17},non_neg_integer,[]}]]},{type,{659,7},constraint,[{atom,{659,7},is_subtype},[{var,{659,7},'Data'},{type,{659,15},union,[{type,{659,15},string,[]},{type,{659,26},binary,[]}]}]]},{type,{660,7},constraint,[{atom,{660,7},is_subtype},[{var,{660,7},'Reason'},{type,{660,17},union,[{user_type,{660,17},posix,[]},{atom,{660,27},badarg},{atom,{660,36},terminated}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,51,49,49>>}},{{function,pwrite,2},[{file,[102,105,108,101,46,101,114,108]},{location,687}],[<<112,119,114,105,116,101,47,50>>],#{<<101,110>> => [{p,[],[<<80,101,114,102,111,114,109,115,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32>>,{code,[],[<<112,119,114,105,116,101,47,51>>]},<<32,105,110,32,111,110,101,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,99,104,32,105,115,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,104,97,110,32,99,97,108,108,105,110,103,32,116,104,101,109,32,111,110,101,32,97,116,32,97,32,116,105,109,101,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,32,123,78,44,32,82,101,97,115,111,110,125,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<78>>]},<<32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,115,117,99,99,101,115,115,102,117,108,32,119,114,105,116,101,115,32,100,111,110,101,32,98,101,102,111,114,101,32,116,104,101,32,102,97,105,108,117,114,101,46>>]},{p,[],[<<87,104,101,110,32,112,111,115,105,116,105,111,110,105,110,103,32,105,110,32,97,32,102,105,108,101,32,119,105,116,104,32,111,116,104,101,114,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,99,97,117,116,105,111,110,32,109,117,115,116,32,98,101,32,116,97,107,101,110,32,116,111,32,115,101,116,32,116,104,101,32,112,111,115,105,116,105,111,110,32,111,110,32,97,32,99,111,114,114,101,99,116,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,121,46,32,70,111,114,32,100,101,116,97,105,108,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,112,111,115,105,116,105,111,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,111,115,105,116,105,111,110,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{687,2},spec,{{pwrite,2},[{type,{687,13},bounded_fun,[{type,{687,13},'fun',[{type,{687,13},product,[{var,{687,14},'IoDevice'},{var,{687,24},'LocBytes'}]},{type,{687,37},union,[{atom,{687,37},ok},{type,{687,42},tuple,[{atom,{687,43},error},{type,{687,50},tuple,[{var,{687,51},'N'},{var,{687,54},'Reason'}]}]}]}]},[{type,{688,7},constraint,[{atom,{688,7},is_subtype},[{var,{688,7},'IoDevice'},{user_type,{688,19},io_device,[]}]]},{type,{689,7},constraint,[{atom,{689,7},is_subtype},[{var,{689,7},'LocBytes'},{type,{689,19},list,[{type,{689,20},tuple,[{ann_type,{689,21},[{var,{689,21},'Location'},{user_type,{689,33},location,[]}]},{ann_type,{689,45},[{var,{689,45},'Bytes'},{type,{689,54},iodata,[]}]}]}]}]]},{type,{690,7},constraint,[{atom,{690,7},is_subtype},[{var,{690,7},'N'},{type,{690,12},non_neg_integer,[]}]]},{type,{691,7},constraint,[{atom,{691,7},is_subtype},[{var,{691,7},'Reason'},{type,{691,17},union,[{user_type,{691,17},posix,[]},{atom,{691,27},badarg},{atom,{691,36},terminated}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,51,50,56>>}},{{function,pwrite,3},[{file,[102,105,108,101,46,101,114,108]},{location,712}],[<<112,119,114,105,116,101,47,51>>],#{<<101,110>> => [{p,[],[<<67,111,109,98,105,110,101,115,32>>,{code,[],[<<112,111,115,105,116,105,111,110,47,50>>]},<<32,97,110,100,32>>,{code,[],[<<119,114,105,116,101,47,50>>]},<<32,105,110,32,111,110,101,32,111,112,101,114,97,116,105,111,110,44,32,119,104,105,99,104,32,105,115,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,104,97,110,32,99,97,108,108,105,110,103,32,116,104,101,109,32,111,110,101,32,97,116,32,97,32,116,105,109,101,46>>]},{p,[],[{code,[],[<<76,111,99,97,116,105,111,110>>]},<<32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,116,111,32,98,101,32,97,110,32,105,110,116,101,103,101,114,32,102,111,114,32>>,{code,[],[<<114,97,119>>]},<<32,97,110,100,32>>,{code,[],[<<114,97,109>>]},<<32,109,111,100,101,115,46>>]},{p,[],[<<84,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,102,105,108,101,32,97,102,116,101,114,32,116,104,101,32,111,112,101,114,97,116,105,111,110,32,105,115,32,117,110,100,101,102,105,110,101,100,32,102,111,114,32>>,{code,[],[<<114,97,119>>]},<<32,109,111,100,101,32,97,110,100,32,117,110,99,104,97,110,103,101,100,32,102,111,114,32>>,{code,[],[<<114,97,109>>]},<<32,109,111,100,101,46>>]},{p,[],[<<87,104,101,110,32,112,111,115,105,116,105,111,110,105,110,103,32,105,110,32,97,32,102,105,108,101,32,119,105,116,104,32,111,116,104,101,114,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,99,97,117,116,105,111,110,32,109,117,115,116,32,98,101,32,116,97,107,101,110,32,116,111,32,115,101,116,32,116,104,101,32,112,111,115,105,116,105,111,110,32,111,110,32,97,32,99,111,114,114,101,99,116,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,121,46,32,70,111,114,32,100,101,116,97,105,108,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,112,111,115,105,116,105,111,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,111,115,105,116,105,111,110,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{712,2},spec,{{pwrite,3},[{type,{712,13},bounded_fun,[{type,{712,13},'fun',[{type,{712,13},product,[{var,{712,14},'IoDevice'},{var,{712,24},'Location'},{var,{712,34},'Bytes'}]},{type,{712,44},union,[{atom,{712,44},ok},{type,{712,49},tuple,[{atom,{712,50},error},{var,{712,57},'Reason'}]}]}]},[{type,{713,7},constraint,[{atom,{713,7},is_subtype},[{var,{713,7},'IoDevice'},{user_type,{713,19},io_device,[]}]]},{type,{714,7},constraint,[{atom,{714,7},is_subtype},[{var,{714,7},'Location'},{user_type,{714,19},location,[]}]]},{type,{715,7},constraint,[{atom,{715,7},is_subtype},[{var,{715,7},'Bytes'},{type,{715,16},iodata,[]}]]},{type,{716,7},constraint,[{atom,{716,7},is_subtype},[{var,{716,7},'Reason'},{type,{716,17},union,[{user_type,{716,17},posix,[]},{atom,{716,27},badarg},{atom,{716,36},terminated}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,51,52,51>>}},{{function,read,2},[{file,[102,105,108,101,46,101,114,108]},{location,584}],[<<114,101,97,100,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,97,100,115,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<32,98,121,116,101,115,47,99,104,97,114,97,99,116,101,114,115,32,102,114,111,109,32,116,104,101,32,102,105,108,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<46,32,84,104,101,32,102,117,110,99,116,105,111,110,115,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,47,50>>]}]},<<44,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,112,114,101,97,100,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,101,97,100,47,51>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,95,108,105,110,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,95,108,105,110,101,47,49>>]}]},<<32,97,114,101,32,116,104,101,32,111,110,108,121,32,119,97,121,115,32,116,111,32,114,101,97,100,32,102,114,111,109,32,97,32,102,105,108,101,32,111,112,101,110,101,100,32,105,110,32>>,{code,[],[<<114,97,119>>]},<<32,109,111,100,101,32,40,97,108,116,104,111,117,103,104,32,116,104,101,121,32,119,111,114,107,32,102,111,114,32,110,111,114,109,97,108,108,121,32,111,112,101,110,101,100,32,102,105,108,101,115,44,32,116,111,111,41,46>>]},{p,[],[<<70,111,114,32,102,105,108,101,115,32,119,104,101,114,101,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,105,115,32,115,101,116,32,116,111,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,111,110,101,32,99,104,97,114,97,99,116,101,114,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,98,121,116,101,32,111,110,32,116,104,101,32,102,105,108,101,46,32,84,104,101,32,112,97,114,97,109,101,116,101,114,32>>,{code,[],[<<78,117,109,98,101,114>>]},<<32,97,108,119,97,121,115,32,100,101,110,111,116,101,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32>>,{em,[],[<<99,104,97,114,97,99,116,101,114,115>>]},<<32,114,101,97,100,32,102,114,111,109,32,116,104,101,32,102,105,108,101,44,32,119,104,105,108,101,32,116,104,101,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,102,105,108,101,32,99,97,110,32,98,101,32,109,111,118,101,100,32,109,117,99,104,32,109,111,114,101,32,116,104,97,110,32,116,104,105,115,32,110,117,109,98,101,114,32,119,104,101,110,32,114,101,97,100,105,110,103,32,97,32,85,110,105,99,111,100,101,32,102,105,108,101,46>>]},{p,[],[<<65,108,115,111,44,32,105,102,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,105,115,32,115,101,116,32,116,111,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,116,104,101,32>>,{code,[],[<<114,101,97,100,47,51>>]},<<32,99,97,108,108,32,102,97,105,108,115,32,105,102,32,116,104,101,32,100,97,116,97,32,99,111,110,116,97,105,110,115,32,99,104,97,114,97,99,116,101,114,115,32,108,97,114,103,101,114,32,116,104,97,110,32,50,53,53,44,32,119,104,105,99,104,32,105,115,32,119,104,121,32,109,111,100,117,108,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111,40,51,41>>]}]},<<32,105,115,32,116,111,32,98,101,32,112,114,101,102,101,114,114,101,100,32,119,104,101,110,32,114,101,97,100,105,110,103,32,115,117,99,104,32,97,32,102,105,108,101,46>>]},{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,68,97,116,97,125>>]}]},{dd,[],[{p,[],[<<73,102,32,116,104,101,32,102,105,108,101,32,119,97,115,32,111,112,101,110,101,100,32,105,110,32,98,105,110,97,114,121,32,109,111,100,101,44,32,116,104,101,32,114,101,97,100,32,98,121,116,101,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,105,110,32,97,32,98,105,110,97,114,121,44,32,111,116,104,101,114,119,105,115,101,32,105,110,32,97,32,108,105,115,116,46,32,84,104,101,32,108,105,115,116,32,111,114,32,98,105,110,97,114,121,32,105,115,32,115,104,111,114,116,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,114,101,113,117,101,115,116,101,100,32,105,102,32,101,110,100,32,111,102,32,102,105,108,101,32,119,97,115,32,114,101,97,99,104,101,100,46>>]}]},{dt,[],[{code,[],[<<101,111,102>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,101,100,32,105,102,32>>,{code,[],[<<78,117,109,98,101,114,62,48>>]},<<32,97,110,100,32,101,110,100,32,111,102,32,102,105,108,101,32,119,97,115,32,114,101,97,99,104,101,100,32,98,101,102,111,114,101,32,97,110,121,116,104,105,110,103,32,97,116,32,97,108,108,32,99,111,117,108,100,32,98,101,32,114,101,97,100,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,46>>]}]}]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,98,97,100,102>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,111,112,101,110,101,100,32,102,111,114,32,114,101,97,100,105,110,103,46>>]}]},{dt,[],[{code,[],[<<123,110,111,95,116,114,97,110,115,108,97,116,105,111,110,44,32,117,110,105,99,111,100,101,44,32,108,97,116,105,110,49,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,119,105,116,104,32,97,110,111,116,104,101,114,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<32,97,110,100,32,116,104,101,32,100,97,116,97,32,105,110,32,116,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,116,114,97,110,115,108,97,116,101,100,32,116,111,32,116,104,101,32,98,121,116,101,45,111,114,105,101,110,116,101,100,32,100,97,116,97,32,116,104,97,116,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,46>>]}]}]}]},#{signature => [{attribute,{584,2},spec,{{read,2},[{type,{584,11},bounded_fun,[{type,{584,11},'fun',[{type,{584,11},product,[{var,{584,12},'IoDevice'},{var,{584,22},'Number'}]},{type,{584,33},union,[{type,{584,33},tuple,[{atom,{584,34},ok},{var,{584,38},'Data'}]},{atom,{584,46},eof},{type,{584,52},tuple,[{atom,{584,53},error},{var,{584,60},'Reason'}]}]}]},[{type,{585,7},constraint,[{atom,{585,7},is_subtype},[{var,{585,7},'IoDevice'},{type,{585,19},union,[{user_type,{585,19},io_device,[]},{type,{585,33},atom,[]}]}]]},{type,{586,7},constraint,[{atom,{586,7},is_subtype},[{var,{586,7},'Number'},{type,{586,17},non_neg_integer,[]}]]},{type,{587,7},constraint,[{atom,{587,7},is_subtype},[{var,{587,7},'Data'},{type,{587,15},union,[{type,{587,15},string,[]},{type,{587,26},binary,[]}]}]]},{type,{588,7},constraint,[{atom,{588,7},is_subtype},[{var,{588,7},'Reason'},{type,{588,17},union,[{user_type,{588,17},posix,[]},{atom,{589,17},badarg},{atom,{590,17},terminated},{type,{591,17},tuple,[{atom,{591,18},no_translation},{atom,{591,34},unicode},{atom,{591,43},latin1}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,51,54,48>>}},{{function,read_file,1},[{file,[102,105,108,101,46,101,114,108]},{location,413}],[<<114,101,97,100,95,102,105,108,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,66,105,110,97,114,121,125>>]},<<44,32,119,104,101,114,101,32>>,{code,[],[<<66,105,110,97,114,121>>]},<<32,105,115,32,97,32,98,105,110,97,114,121,32,100,97,116,97,32,111,98,106,101,99,116,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<44,32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<32,105,102,32,97,110,32,101,114,114,111,114,32,111,99,99,117,114,115,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,114,101,97,100,105,110,103,32,116,104,101,32,102,105,108,101,44,32,111,114,32,102,111,114,32,115,101,97,114,99,104,105,110,103,32,111,110,101,32,111,102,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,46>>]}]},{dt,[],[{code,[],[<<101,105,115,100,105,114>>]}]},{dd,[],[{p,[],[<<84,104,101,32,110,97,109,101,100,32,102,105,108,101,32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]},{dt,[],[{code,[],[<<101,110,111,109,101,109>>]}]},{dd,[],[{p,[],[<<84,104,101,114,101,32,105,115,32,110,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32,116,104,101,32,102,105,108,101,46>>]}]}]}]},#{signature => [{attribute,{413,2},spec,{{read_file,1},[{type,{413,16},bounded_fun,[{type,{413,16},'fun',[{type,{413,16},product,[{var,{413,17},'Filename'}]},{type,{413,30},union,[{type,{413,30},tuple,[{atom,{413,31},ok},{var,{413,35},'Binary'}]},{type,{413,45},tuple,[{atom,{413,46},error},{var,{413,53},'Reason'}]}]}]},[{type,{414,7},constraint,[{atom,{414,7},is_subtype},[{var,{414,7},'Filename'},{user_type,{414,19},name_all,[]}]]},{type,{415,7},constraint,[{atom,{415,7},is_subtype},[{var,{415,7},'Binary'},{type,{415,17},binary,[]}]]},{type,{416,7},constraint,[{atom,{416,7},is_subtype},[{var,{416,7},'Reason'},{type,{416,17},union,[{user_type,{416,17},posix,[]},{atom,{416,27},badarg},{atom,{416,36},terminated},{atom,{416,49},system_limit}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,52,49,52>>}},{{function,read_file_info,2},[{file,[102,105,108,101,46,101,114,108]},{location,288}],[<<114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,50>>],#{},#{signature => [{attribute,{288,2},spec,{{read_file_info,2},[{type,{288,21},bounded_fun,[{type,{288,21},'fun',[{type,{288,21},product,[{var,{288,22},'File'},{var,{288,28},'Opts'}]},{type,{288,37},union,[{type,{288,37},tuple,[{atom,{288,38},ok},{var,{288,42},'FileInfo'}]},{type,{288,54},tuple,[{atom,{288,55},error},{var,{288,62},'Reason'}]}]}]},[{type,{289,7},constraint,[{atom,{289,7},is_subtype},[{var,{289,7},'File'},{type,{289,15},union,[{user_type,{289,15},name_all,[]},{user_type,{289,28},io_device,[]}]}]]},{type,{290,7},constraint,[{atom,{290,7},is_subtype},[{var,{290,7},'Opts'},{type,{290,15},list,[{user_type,{290,16},file_info_option,[]}]}]]},{type,{291,7},constraint,[{atom,{291,7},is_subtype},[{var,{291,7},'FileInfo'},{user_type,{291,19},file_info,[]}]]},{type,{292,7},constraint,[{atom,{292,7},is_subtype},[{var,{292,7},'Reason'},{type,{292,17},union,[{user_type,{292,17},posix,[]},{atom,{292,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,52,53,48>>,equiv => {function,read_file_info,1},since => <<79,84,80,32,82,49,53,66>>}},{{function,read_file_info,1},[{file,[102,105,108,101,46,101,114,108]},{location,276}],[<<114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,114,105,101,118,101,115,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,97,32,102,105,108,101,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,70,105,108,101,73,110,102,111,125>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32>>,{code,[],[<<70,105,108,101,73,110,102,111>>]},<<32,105,115,32,97,32,114,101,99,111,114,100,32>>,{code,[],[<<102,105,108,101,95,105,110,102,111>>]},<<44,32,100,101,102,105,110,101,100,32,105,110,32,116,104,101,32,75,101,114,110,101,108,32,105,110,99,108,117,100,101,32,102,105,108,101,32>>,{code,[],[<<102,105,108,101,46,104,114,108>>]},<<46,32,73,110,99,108,117,100,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,100,105,114,101,99,116,105,118,101,32,105,110,32,116,104,101,32,109,111,100,117,108,101,32,102,114,111,109,32,119,104,105,99,104,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<32,45,105,110,99,108,117,100,101,95,108,105,98,40,34,107,101,114,110,101,108,47,105,110,99,108,117,100,101,47,102,105,108,101,46,104,114,108,34,41,46>>]}]},{p,[],[<<84,104,101,32,116,105,109,101,32,116,121,112,101,32,114,101,116,117,114,110,101,100,32,105,110,32>>,{code,[],[<<97,116,105,109,101>>]},<<44,32>>,{code,[],[<<109,116,105,109,101>>]},<<44,32,97,110,100,32>>,{code,[],[<<99,116,105,109,101>>]},<<32,105,115,32,100,101,112,101,110,100,101,110,116,32,111,110,32,116,104,101,32,116,105,109,101,32,116,121,112,101,32,115,101,116,32,105,110,32>>,{code,[],[<<79,112,116,115,32,58,58,32,123,116,105,109,101,44,32,84,121,112,101,125>>]},<<32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<108,111,99,97,108>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,108,111,99,97,108,32,116,105,109,101,46>>]}]},{dt,[],[{code,[],[<<117,110,105,118,101,114,115,97,108>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,117,110,105,118,101,114,115,97,108,32,116,105,109,101,46>>]}]},{dt,[],[{code,[],[<<112,111,115,105,120>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,115,101,99,111,110,100,115,32,115,105,110,99,101,32,111,114,32,98,101,102,111,114,101,32,85,110,105,120,32,116,105,109,101,32,101,112,111,99,104,44,32,119,104,105,99,104,32,105,115,32,49,57,55,48,45,48,49,45,48,49,32,48,48,58,48,48,32,85,84,67,46>>]}]}]},{p,[],[<<68,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<123,116,105,109,101,44,32,108,111,99,97,108,125>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,111,112,116,105,111,110,32>>,{code,[],[<<114,97,119>>]},<<32,105,115,32,115,101,116,44,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,105,115,32,110,111,116,32,99,97,108,108,101,100,32,97,110,100,32,111,110,108,121,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,108,111,99,97,108,32,102,105,108,101,115,32,105,115,32,114,101,116,117,114,110,101,100,46,32,78,111,116,101,32,116,104,97,116,32,116,104,105,115,32,119,105,108,108,32,98,114,101,97,107,32,116,104,105,115,32,109,111,100,117,108,101,39,115,32,97,116,111,109,105,99,105,116,121,32,103,117,97,114,97,110,116,101,101,115,32,97,115,32,105,116,32,99,97,110,32,114,97,99,101,32,119,105,116,104,32,97,32,99,111,110,99,117,114,114,101,110,116,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,49,44,50>>]},<<32>>]},<<46>>]},{p,[],[<<84,104,105,115,32,111,112,116,105,111,110,32,104,97,115,32,110,111,32,101,102,102,101,99,116,32,119,104,101,110,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,103,105,118,101,110,32,97,110,32,73,47,79,32,100,101,118,105,99,101,32,105,110,115,116,101,97,100,32,111,102,32,97,32,102,105,108,101,32,110,97,109,101,46,32,85,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<32,119,105,116,104,32,116,104,101,32>>,{code,[],[<<114,97,119>>]},<<32,109,111,100,101,32,116,111,32,111,98,116,97,105,110,32,97,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,102,105,114,115,116,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<65,115,32,102,105,108,101,32,116,105,109,101,115,32,97,114,101,32,115,116,111,114,101,100,32,105,110,32,80,79,83,73,88,32,116,105,109,101,32,111,110,32,109,111,115,116,32,79,83,44,32,105,116,32,105,115,32,102,97,115,116,101,114,32,116,111,32,113,117,101,114,121,32,102,105,108,101,32,105,110,102,111,114,109,97,116,105,111,110,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<112,111,115,105,120>>]},<<46>>]}]},{p,[],[<<84,104,101,32,114,101,99,111,114,100,32>>,{code,[],[<<102,105,108,101,95,105,110,102,111>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,105,101,108,100,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<115,105,122,101,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<83,105,122,101,32,111,102,32,102,105,108,101,32,105,110,32,98,121,116,101,115,46>>]}]},{dt,[],[{code,[],[<<116,121,112,101,32,61,32,100,101,118,105,99,101,32,124,32,100,105,114,101,99,116,111,114,121,32,124,32,111,116,104,101,114,32,124,32,114,101,103,117,108,97,114>>]}]},{dd,[],[{p,[],[<<84,104,101,32,116,121,112,101,32,111,102,32,116,104,101,32,102,105,108,101,46,32,67,97,110,32,97,108,115,111,32,99,111,110,116,97,105,110,32>>,{code,[],[<<115,121,109,108,105,110,107>>]},<<32,119,104,101,110,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,95,108,105,110,107,95,105,110,102,111,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[<<114,101,97,100,95,108,105,110,107,95,105,110,102,111,47,49,44,50>>]},<<46>>]}]},{dt,[],[{code,[],[<<97,99,99,101,115,115,32,61,32,114,101,97,100,32,124,32,119,114,105,116,101,32,124,32,114,101,97,100,95,119,114,105,116,101,32,124,32,110,111,110,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,99,117,114,114,101,110,116,32,115,121,115,116,101,109,32,97,99,99,101,115,115,32,116,111,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<97,116,105,109,101,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,100,97,116,101,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<100,97,116,101,95,116,105,109,101,40,41>>]}]},{code,[],[<<32,124,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,108,97,115,116,32,116,105,109,101,32,116,104,101,32,102,105,108,101,32,119,97,115,32,114,101,97,100,46>>]}]},{dt,[],[{code,[],[<<109,116,105,109,101,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,100,97,116,101,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<100,97,116,101,95,116,105,109,101,40,41>>]}]},{code,[],[<<32,124,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,108,97,115,116,32,116,105,109,101,32,116,104,101,32,102,105,108,101,32,119,97,115,32,119,114,105,116,116,101,110,46>>]}]},{dt,[],[{code,[],[<<99,116,105,109,101,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,100,97,116,101,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<100,97,116,101,95,116,105,109,101,40,41>>]}]},{code,[],[<<32,124,32,105,110,116,101,103,101,114,40,41,32,62,61,48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,105,110,116,101,114,112,114,101,116,97,116,105,111,110,32,111,102,32,116,104,105,115,32,116,105,109,101,32,102,105,101,108,100,32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,46,32,79,110,32,85,110,105,120,44,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,109,101,32,116,104,101,32,102,105,108,101,32,111,114,32,116,104,101,32>>,{code,[],[<<105,110,111,100,101>>]},<<32,119,97,115,32,99,104,97,110,103,101,100,46,32,73,110,32,87,105,110,100,111,119,115,44,32,105,116,32,105,115,32,116,104,101,32,99,114,101,97,116,101,32,116,105,109,101,46>>]}]},{dt,[],[{code,[],[<<109,111,100,101,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,112,101,114,109,105,115,115,105,111,110,115,32,97,115,32,116,104,101,32,115,117,109,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,98,105,116,32,118,97,108,117,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<56,35,48,48,52,48,48>>]}]},{dd,[],[{p,[],[<<114,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,50,48,48>>]}]},{dd,[],[{p,[],[<<119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,49,48,48>>]}]},{dd,[],[{p,[],[<<101,120,101,99,117,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,52,48>>]}]},{dd,[],[{p,[],[<<114,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,50,48>>]}]},{dd,[],[{p,[],[<<119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,49,48>>]}]},{dd,[],[{p,[],[<<101,120,101,99,117,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,48,52>>]}]},{dd,[],[{p,[],[<<114,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,48,50>>]}]},{dd,[],[{p,[],[<<119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,48,49>>]}]},{dd,[],[{p,[],[<<101,120,101,99,117,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114>>]}]},{dt,[],[{code,[],[<<49,54,35,56,48,48>>]}]},{dd,[],[{p,[],[<<115,101,116,32,117,115,101,114,32,105,100,32,111,110,32,101,120,101,99,117,116,105,111,110>>]}]},{dt,[],[{code,[],[<<49,54,35,52,48,48>>]}]},{dd,[],[{p,[],[<<115,101,116,32,103,114,111,117,112,32,105,100,32,111,110,32,101,120,101,99,117,116,105,111,110>>]}]}]},{p,[],[<<79,110,32,85,110,105,120,32,112,108,97,116,102,111,114,109,115,44,32,111,116,104,101,114,32,98,105,116,115,32,116,104,97,110,32,116,104,111,115,101,32,108,105,115,116,101,100,32,97,98,111,118,101,32,109,97,121,32,98,101,32,115,101,116,46>>]}]},{dt,[],[{code,[],[<<108,105,110,107,115,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<78,117,109,98,101,114,32,111,102,32,108,105,110,107,115,32,116,111,32,116,104,101,32,102,105,108,101,32,40,116,104,105,115,32,105,115,32,97,108,119,97,121,115,32,49,32,102,111,114,32,102,105,108,101,32,115,121,115,116,101,109,115,32,116,104,97,116,32,104,97,118,101,32,110,111,32,99,111,110,99,101,112,116,32,111,102,32,108,105,110,107,115,41,46>>]}]},{dt,[],[{code,[],[<<109,97,106,111,114,95,100,101,118,105,99,101,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<73,100,101,110,116,105,102,105,101,115,32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109,32,119,104,101,114,101,32,116,104,101,32,102,105,108,101,32,105,115,32,108,111,99,97,116,101,100,46,32,73,110,32,87,105,110,100,111,119,115,44,32,116,104,101,32,110,117,109,98,101,114,32,105,110,100,105,99,97,116,101,115,32,97,32,100,114,105,118,101,32,97,115,32,102,111,108,108,111,119,115,58,32,48,32,109,101,97,110,115,32,65,58,44,32,49,32,109,101,97,110,115,32,66,58,44,32,97,110,100,32,115,111,32,111,110,46>>]}]},{dt,[],[{code,[],[<<109,105,110,111,114,95,100,101,118,105,99,101,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,118,97,108,105,100,32,102,111,114,32,99,104,97,114,97,99,116,101,114,32,100,101,118,105,99,101,115,32,111,110,32,85,110,105,120,46,32,73,110,32,97,108,108,32,111,116,104,101,114,32,99,97,115,101,115,44,32,116,104,105,115,32,102,105,101,108,100,32,105,115,32,122,101,114,111,46>>]}]},{dt,[],[{code,[],[<<105,110,111,100,101,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<71,105,118,101,115,32,116,104,101,32>>,{code,[],[<<105,110,111,100,101>>]},<<32,110,117,109,98,101,114,46,32,79,110,32,110,111,110,45,85,110,105,120,32,102,105,108,101,32,115,121,115,116,101,109,115,44,32,116,104,105,115,32,102,105,101,108,100,32,105,115,32,122,101,114,111,46>>]}]},{dt,[],[{code,[],[<<117,105,100,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<73,110,100,105,99,97,116,101,115,32,116,104,101,32,111,119,110,101,114,32,111,102,32,116,104,101,32,102,105,108,101,46,32,79,110,32,110,111,110,45,85,110,105,120,32,102,105,108,101,32,115,121,115,116,101,109,115,44,32,116,104,105,115,32,102,105,101,108,100,32,105,115,32,122,101,114,111,46>>]}]},{dt,[],[{code,[],[<<103,105,100,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<71,105,118,101,115,32,116,104,101,32,103,114,111,117,112,32,116,104,97,116,32,116,104,101,32,111,119,110,101,114,32,111,102,32,116,104,101,32,102,105,108,101,32,98,101,108,111,110,103,115,32,116,111,46,32,79,110,32,110,111,110,45,85,110,105,120,32,102,105,108,101,32,115,121,115,116,101,109,115,44,32,116,104,105,115,32,102,105,101,108,100,32,105,115,32,122,101,114,111,46>>]}]}]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,115,101,97,114,99,104,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,111,110,101,32,111,102,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]}]}]},#{signature => [{attribute,{276,2},spec,{{read_file_info,1},[{type,{276,21},bounded_fun,[{type,{276,21},'fun',[{type,{276,21},product,[{var,{276,22},'File'}]},{type,{276,31},union,[{type,{276,31},tuple,[{atom,{276,32},ok},{var,{276,36},'FileInfo'}]},{type,{276,48},tuple,[{atom,{276,49},error},{var,{276,56},'Reason'}]}]}]},[{type,{277,7},constraint,[{atom,{277,7},is_subtype},[{var,{277,7},'File'},{type,{277,15},union,[{user_type,{277,15},name_all,[]},{user_type,{277,28},io_device,[]}]}]]},{type,{278,7},constraint,[{atom,{278,7},is_subtype},[{var,{278,7},'FileInfo'},{user_type,{278,19},file_info,[]}]]},{type,{279,7},constraint,[{atom,{279,7},is_subtype},[{var,{279,7},'Reason'},{type,{279,17},union,[{user_type,{279,17},posix,[]},{atom,{279,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,52,53,48>>,since => <<79,84,80,32,82,49,53,66>>}},{{function,read_line,1},[{file,[102,105,108,101,46,101,114,108]},{location,606}],[<<114,101,97,100,95,108,105,110,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,97,100,115,32,97,32,108,105,110,101,32,111,102,32,98,121,116,101,115,47,99,104,97,114,97,99,116,101,114,115,32,102,114,111,109,32,116,104,101,32,102,105,108,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<46,32,76,105,110,101,115,32,97,114,101,32,100,101,102,105,110,101,100,32,116,111,32,98,101,32,100,101,108,105,109,105,116,101,100,32,98,121,32,116,104,101,32,108,105,110,101,102,101,101,100,32,40,76,70,44,32>>,{code,[],[<<92,110>>]},<<41,32,99,104,97,114,97,99,116,101,114,44,32,98,117,116,32,97,110,121,32,99,97,114,114,105,97,103,101,32,114,101,116,117,114,110,32,40,67,82,44,32>>,{code,[],[<<92,114>>]},<<41,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,101,119,108,105,110,101,32,105,115,32,97,108,115,111,32,116,114,101,97,116,101,100,32,97,115,32,97,32,115,105,110,103,108,101,32,76,70,32,99,104,97,114,97,99,116,101,114,32,40,116,104,101,32,99,97,114,114,105,97,103,101,32,114,101,116,117,114,110,32,105,115,32,115,105,108,101,110,116,108,121,32,105,103,110,111,114,101,100,41,46,32,84,104,101,32,108,105,110,101,32,105,115,32,114,101,116,117,114,110,101,100,32>>,{em,[],[<<105,110,99,108,117,100,105,110,103>>]},<<32,116,104,101,32,76,70,44,32,98,117,116,32,101,120,99,108,117,100,105,110,103,32,97,110,121,32,67,82,32,105,109,109,101,100,105,97,116,101,108,121,32,102,111,108,108,111,119,101,100,32,98,121,32,97,110,32,76,70,46,32,84,104,105,115,32,98,101,104,97,118,105,111,117,114,32,105,115,32,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,116,104,101,32,98,101,104,97,118,105,111,117,114,32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111,35,103,101,116,95,108,105,110,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,111,58,103,101,116,95,108,105,110,101,47,50>>]}]},<<46,32,73,102,32,101,110,100,32,111,102,32,102,105,108,101,32,105,115,32,114,101,97,99,104,101,100,32,119,105,116,104,111,117,116,32,97,110,121,32,76,70,32,101,110,100,105,110,103,32,116,104,101,32,108,97,115,116,32,108,105,110,101,44,32,97,32,108,105,110,101,32,119,105,116,104,32,110,111,32,116,114,97,105,108,105,110,103,32,76,70,32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,32,99,97,110,32,98,101,32,117,115,101,100,32,111,110,32,102,105,108,101,115,32,111,112,101,110,101,100,32,105,110,32>>,{code,[],[<<114,97,119>>]},<<32,109,111,100,101,46,32,72,111,119,101,118,101,114,44,32,105,116,32,105,115,32,105,110,101,102,102,105,99,105,101,110,116,32,116,111,32,117,115,101,32,105,116,32,111,110,32>>,{code,[],[<<114,97,119>>]},<<32,102,105,108,101,115,32,105,102,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,111,112,101,110,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125>>]},<<32,115,112,101,99,105,102,105,101,100,46,32,84,104,117,115,44,32,99,111,109,98,105,110,105,110,103,32>>,{code,[],[<<114,97,119>>]},<<32,97,110,100,32>>,{code,[],[<<123,114,101,97,100,95,97,104,101,97,100,44,32,83,105,122,101,125>>]},<<32,105,115,32,104,105,103,104,108,121,32,114,101,99,111,109,109,101,110,100,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,97,32,116,101,120,116,32,102,105,108,101,32,102,111,114,32,114,97,119,32,108,105,110,101,45,111,114,105,101,110,116,101,100,32,114,101,97,100,105,110,103,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,105,115,32,115,101,116,32,116,111,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,116,104,101,32>>,{code,[],[<<114,101,97,100,95,108,105,110,101,47,49>>]},<<32,99,97,108,108,32,102,97,105,108,115,32,105,102,32,116,104,101,32,100,97,116,97,32,99,111,110,116,97,105,110,115,32,99,104,97,114,97,99,116,101,114,115,32,108,97,114,103,101,114,32,116,104,97,110,32,50,53,53,44,32,119,104,121,32,109,111,100,117,108,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,105,111>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<105,111,40,51,41>>]}]},<<32,105,115,32,116,111,32,98,101,32,112,114,101,102,101,114,114,101,100,32,119,104,101,110,32,114,101,97,100,105,110,103,32,115,117,99,104,32,97,32,102,105,108,101,46>>]},{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,68,97,116,97,125>>]}]},{dd,[],[{p,[],[<<79,110,101,32,108,105,110,101,32,102,114,111,109,32,116,104,101,32,102,105,108,101,32,105,115,32,114,101,116,117,114,110,101,100,44,32,105,110,99,108,117,100,105,110,103,32,116,104,101,32,116,114,97,105,108,105,110,103,32,76,70,44,32,98,117,116,32,119,105,116,104,32,67,82,76,70,32,115,101,113,117,101,110,99,101,115,32,114,101,112,108,97,99,101,100,32,98,121,32,97,32,115,105,110,103,108,101,32,76,70,32,40,115,101,101,32,97,98,111,118,101,41,46>>]},{p,[],[<<73,102,32,116,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,105,110,32,98,105,110,97,114,121,32,109,111,100,101,44,32,116,104,101,32,114,101,97,100,32,98,121,116,101,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,105,110,32,97,32,98,105,110,97,114,121,44,32,111,116,104,101,114,119,105,115,101,32,105,110,32,97,32,108,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,111,102>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,101,100,32,105,102,32,101,110,100,32,111,102,32,102,105,108,101,32,119,97,115,32,114,101,97,99,104,101,100,32,98,101,102,111,114,101,32,97,110,121,116,104,105,110,103,32,97,116,32,97,108,108,32,99,111,117,108,100,32,98,101,32,114,101,97,100,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,46>>]}]}]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,98,97,100,102>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,111,112,101,110,101,100,32,102,111,114,32,114,101,97,100,105,110,103,46>>]}]},{dt,[],[{code,[],[<<123,110,111,95,116,114,97,110,115,108,97,116,105,111,110,44,32,117,110,105,99,111,100,101,44,32,108,97,116,105,110,49,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,119,105,116,104,32,97,110,111,116,104,101,114,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<32,97,110,100,32,116,104,101,32,100,97,116,97,32,111,110,32,116,104,101,32,102,105,108,101,32,99,97,110,110,111,116,32,98,101,32,116,114,97,110,115,108,97,116,101,100,32,116,111,32,116,104,101,32,98,121,116,101,45,111,114,105,101,110,116,101,100,32,100,97,116,97,32,116,104,97,116,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,46>>]}]}]}]},#{signature => [{attribute,{606,2},spec,{{read_line,1},[{type,{606,16},bounded_fun,[{type,{606,16},'fun',[{type,{606,16},product,[{var,{606,17},'IoDevice'}]},{type,{606,30},union,[{type,{606,30},tuple,[{atom,{606,31},ok},{var,{606,35},'Data'}]},{atom,{606,43},eof},{type,{606,49},tuple,[{atom,{606,50},error},{var,{606,57},'Reason'}]}]}]},[{type,{607,7},constraint,[{atom,{607,7},is_subtype},[{var,{607,7},'IoDevice'},{type,{607,19},union,[{user_type,{607,19},io_device,[]},{type,{607,33},atom,[]}]}]]},{type,{608,7},constraint,[{atom,{608,7},is_subtype},[{var,{608,7},'Data'},{type,{608,15},union,[{type,{608,15},string,[]},{type,{608,26},binary,[]}]}]]},{type,{609,7},constraint,[{atom,{609,7},is_subtype},[{var,{609,7},'Reason'},{type,{609,17},union,[{user_type,{609,17},posix,[]},{atom,{610,17},badarg},{atom,{611,17},terminated},{type,{612,17},tuple,[{atom,{612,18},no_translation},{atom,{612,34},unicode},{atom,{612,43},latin1}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,54,49,48>>}},{{function,read_link,1},[{file,[102,105,108,101,46,101,114,108]},{location,350}],[<<114,101,97,100,95,108,105,110,107,47,49>>],#{<<101,110>> => [{p,[],[{a,[{id,<<114,101,97,100,95,108,105,110,107,95,97,108,108>>}],[]},<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,70,105,108,101,110,97,109,101,125>>]},<<32,105,102,32>>,{code,[],[<<78,97,109,101>>]},<<32,114,101,102,101,114,115,32,116,111,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,32,116,104,97,116,32,105,115,32,110,111,116,32,97,32,114,97,119,32,102,105,108,101,110,97,109,101,44,32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<32,111,116,104,101,114,119,105,115,101,46,32,79,110,32,112,108,97,116,102,111,114,109,115,32,116,104,97,116,32,100,111,32,110,111,116,32,115,117,112,112,111,114,116,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115,44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<123,101,114,114,111,114,44,101,110,111,116,115,117,112,125>>]},<<46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,105,110,118,97,108>>]}]},{dd,[],[{p,[],[{code,[],[<<78,97,109,101>>]},<<32,100,111,101,115,32,110,111,116,32,114,101,102,101,114,32,116,111,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,32,111,114,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,102,105,108,101,32,116,104,97,116,32,105,116,32,114,101,102,101,114,115,32,116,111,32,100,111,101,115,32,110,111,116,32,99,111,110,102,111,114,109,32,116,111,32,116,104,101,32,101,120,112,101,99,116,101,100,32,101,110,99,111,100,105,110,103,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,115,117,112>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,108,105,110,107,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,111,110,32,116,104,105,115,32,112,108,97,116,102,111,114,109,46>>]}]}]}]},#{signature => [{attribute,{350,2},spec,{{read_link,1},[{type,{350,16},bounded_fun,[{type,{350,16},'fun',[{type,{350,16},product,[{var,{350,17},'Name'}]},{type,{350,26},union,[{type,{350,26},tuple,[{atom,{350,27},ok},{var,{350,31},'Filename'}]},{type,{350,43},tuple,[{atom,{350,44},error},{var,{350,51},'Reason'}]}]}]},[{type,{351,7},constraint,[{atom,{351,7},is_subtype},[{var,{351,7},'Name'},{user_type,{351,15},name_all,[]}]]},{type,{352,7},constraint,[{atom,{352,7},is_subtype},[{var,{352,7},'Filename'},{user_type,{352,19},filename,[]}]]},{type,{353,7},constraint,[{atom,{353,7},is_subtype},[{var,{353,7},'Reason'},{type,{353,17},union,[{user_type,{353,17},posix,[]},{atom,{353,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,54,54,55>>}},{{function,read_link_all,1},[{file,[102,105,108,101,46,101,114,108]},{location,358}],[<<114,101,97,100,95,108,105,110,107,95,97,108,108,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,70,105,108,101,110,97,109,101,125>>]},<<32,105,102,32>>,{code,[],[<<78,97,109,101>>]},<<32,114,101,102,101,114,115,32,116,111,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,32,111,114,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<32,111,116,104,101,114,119,105,115,101,46,32,79,110,32,112,108,97,116,102,111,114,109,115,32,116,104,97,116,32,100,111,32,110,111,116,32,115,117,112,112,111,114,116,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115,44,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32>>,{code,[],[<<123,101,114,114,111,114,44,101,110,111,116,115,117,112,125>>]},<<46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,99,97,110,32,98,101,32,101,105,116,104,101,114,32,97,32,108,105,115,116,32,111,114,32,97,32,98,105,110,97,114,121,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,105,110,118,97,108>>]}]},{dd,[],[{p,[],[{code,[],[<<78,97,109,101>>]},<<32,100,111,101,115,32,110,111,116,32,114,101,102,101,114,32,116,111,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,115,117,112>>]}]},{dd,[],[{p,[],[<<83,121,109,98,111,108,105,99,32,108,105,110,107,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,111,110,32,116,104,105,115,32,112,108,97,116,102,111,114,109,46>>]}]}]}]},#{signature => [{attribute,{358,2},spec,{{read_link_all,1},[{type,{358,20},bounded_fun,[{type,{358,20},'fun',[{type,{358,20},product,[{var,{358,21},'Name'}]},{type,{358,30},union,[{type,{358,30},tuple,[{atom,{358,31},ok},{var,{358,35},'Filename'}]},{type,{358,47},tuple,[{atom,{358,48},error},{var,{358,55},'Reason'}]}]}]},[{type,{359,7},constraint,[{atom,{359,7},is_subtype},[{var,{359,7},'Name'},{user_type,{359,15},name_all,[]}]]},{type,{360,7},constraint,[{atom,{360,7},is_subtype},[{var,{360,7},'Filename'},{user_type,{360,19},filename_all,[]}]]},{type,{361,7},constraint,[{atom,{361,7},is_subtype},[{var,{361,7},'Reason'},{type,{361,17},union,[{user_type,{361,17},posix,[]},{atom,{361,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,54,57,55>>,since => <<79,84,80,32,82,49,54,66>>}},{{function,read_link_info,2},[{file,[102,105,108,101,46,101,114,108]},{location,328}],[<<114,101,97,100,95,108,105,110,107,95,105,110,102,111,47,50>>],#{},#{signature => [{attribute,{328,2},spec,{{read_link_info,2},[{type,{328,21},bounded_fun,[{type,{328,21},'fun',[{type,{328,21},product,[{var,{328,22},'Name'},{var,{328,28},'Opts'}]},{type,{328,37},union,[{type,{328,37},tuple,[{atom,{328,38},ok},{var,{328,42},'FileInfo'}]},{type,{328,54},tuple,[{atom,{328,55},error},{var,{328,62},'Reason'}]}]}]},[{type,{329,7},constraint,[{atom,{329,7},is_subtype},[{var,{329,7},'Name'},{user_type,{329,15},name_all,[]}]]},{type,{330,7},constraint,[{atom,{330,7},is_subtype},[{var,{330,7},'Opts'},{type,{330,15},list,[{user_type,{330,16},file_info_option,[]}]}]]},{type,{331,7},constraint,[{atom,{331,7},is_subtype},[{var,{331,7},'FileInfo'},{user_type,{331,19},file_info,[]}]]},{type,{332,7},constraint,[{atom,{332,7},is_subtype},[{var,{332,7},'Reason'},{type,{332,17},union,[{user_type,{332,17},posix,[]},{atom,{332,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,55,50,53>>,equiv => {function,read_link_info,1},since => <<79,84,80,32,82,49,53,66>>}},{{function,read_link_info,1},[{file,[102,105,108,101,46,101,114,108]},{location,320}],[<<114,101,97,100,95,108,105,110,107,95,105,110,102,111,47,49>>],#{<<101,110>> => [{p,[],[<<87,111,114,107,115,32,108,105,107,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49,44,50>>]}]},<<32,101,120,99,101,112,116,32,116,104,97,116,32,105,102,32>>,{code,[],[<<78,97,109,101>>]},<<32,105,115,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,44,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,108,105,110,107,32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,32,116,104,101,32>>,{code,[],[<<102,105,108,101,95,105,110,102,111>>]},<<32,114,101,99,111,114,100,32,97,110,100,32,116,104,101,32>>,{code,[],[<<116,121,112,101>>]},<<32,102,105,101,108,100,32,111,102,32,116,104,101,32,114,101,99,111,114,100,32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<115,121,109,108,105,110,107>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,111,112,116,105,111,110,32>>,{code,[],[<<114,97,119>>]},<<32,105,115,32,115,101,116,44,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,105,115,32,110,111,116,32,99,97,108,108,101,100,32,97,110,100,32,111,110,108,121,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,108,111,99,97,108,32,102,105,108,101,115,32,105,115,32,114,101,116,117,114,110,101,100,46,32,78,111,116,101,32,116,104,97,116,32,116,104,105,115,32,119,105,108,108,32,98,114,101,97,107,32,116,104,105,115,32,109,111,100,117,108,101,39,115,32,97,116,111,109,105,99,105,116,121,32,103,117,97,114,97,110,116,101,101,115,32,97,115,32,105,116,32,99,97,110,32,114,97,99,101,32,119,105,116,104,32,97,32,99,111,110,99,117,114,114,101,110,116,32,99,97,108,108,32,116,111,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,49,44,50>>]}]}]},{p,[],[<<73,102,32>>,{code,[],[<<78,97,109,101>>]},<<32,105,115,32,110,111,116,32,97,32,115,121,109,98,111,108,105,99,32,108,105,110,107,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,116,104,101,32,115,97,109,101,32,114,101,115,117,108,116,32,97,115,32>>,{code,[],[<<114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49>>]},<<46,32,79,110,32,112,108,97,116,102,111,114,109,115,32,116,104,97,116,32,100,111,32,110,111,116,32,115,117,112,112,111,114,116,32,115,121,109,98,111,108,105,99,32,108,105,110,107,115,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,97,108,119,97,121,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<114,101,97,100,95,102,105,108,101,95,105,110,102,111,47,49>>]},<<46>>]}]},#{signature => [{attribute,{320,2},spec,{{read_link_info,1},[{type,{320,21},bounded_fun,[{type,{320,21},'fun',[{type,{320,21},product,[{var,{320,22},'Name'}]},{type,{320,31},union,[{type,{320,31},tuple,[{atom,{320,32},ok},{var,{320,36},'FileInfo'}]},{type,{320,48},tuple,[{atom,{320,49},error},{var,{320,56},'Reason'}]}]}]},[{type,{321,7},constraint,[{atom,{321,7},is_subtype},[{var,{321,7},'Name'},{user_type,{321,15},name_all,[]}]]},{type,{322,7},constraint,[{atom,{322,7},is_subtype},[{var,{322,7},'FileInfo'},{user_type,{322,19},file_info,[]}]]},{type,{323,7},constraint,[{atom,{323,7},is_subtype},[{var,{323,7},'Reason'},{type,{323,17},union,[{user_type,{323,17},posix,[]},{atom,{323,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,55,50,53>>,since => <<79,84,80,32,82,49,53,66>>}},{{function,rename,2},[{file,[102,105,108,101,46,101,114,108]},{location,235}],[<<114,101,110,97,109,101,47,50>>],#{<<101,110>> => [{p,[],[<<84,114,105,101,115,32,116,111,32,114,101,110,97,109,101,32,116,104,101,32,102,105,108,101,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,116,111,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<46,32,73,116,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,109,111,118,101,32,102,105,108,101,115,32,40,97,110,100,32,100,105,114,101,99,116,111,114,105,101,115,41,32,98,101,116,119,101,101,110,32,100,105,114,101,99,116,111,114,105,101,115,44,32,98,117,116,32,105,116,32,105,115,32,110,111,116,32,115,117,102,102,105,99,105,101,110,116,32,116,111,32,115,112,101,99,105,102,121,32,116,104,101,32,100,101,115,116,105,110,97,116,105,111,110,32,111,110,108,121,46,32,84,104,101,32,100,101,115,116,105,110,97,116,105,111,110,32,102,105,108,101,110,97,109,101,32,109,117,115,116,32,97,108,115,111,32,98,101,32,115,112,101,99,105,102,105,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32>>,{code,[],[<<98,97,114>>]},<<32,105,115,32,97,32,110,111,114,109,97,108,32,102,105,108,101,32,97,110,100,32>>,{code,[],[<<102,111,111>>]},<<32,97,110,100,32>>,{code,[],[<<98,97,122>>]},<<32,97,114,101,32,100,105,114,101,99,116,111,114,105,101,115,44,32>>,{code,[],[<<114,101,110,97,109,101,40,34,102,111,111,47,98,97,114,34,44,32,34,98,97,122,34,41>>]},<<32,114,101,116,117,114,110,115,32,97,110,32,101,114,114,111,114,44,32,98,117,116,32>>,{code,[],[<<114,101,110,97,109,101,40,34,102,111,111,47,98,97,114,34,44,32,34,98,97,122,47,98,97,114,34,41>>]},<<32,115,117,99,99,101,101,100,115,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,105,116,32,105,115,32,115,117,99,99,101,115,115,102,117,108,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<82,101,110,97,109,105,110,103,32,111,102,32,111,112,101,110,32,102,105,108,101,115,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,109,111,115,116,32,112,108,97,116,102,111,114,109,115,32,40,115,101,101,32>>,{code,[],[<<101,97,99,99,101,115>>]},<<32,98,101,108,111,119,41,46>>]}]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,114,101,97,100,32,111,114,32,119,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,111,114,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32,116,104,105,115,32,101,114,114,111,114,32,105,115,32,103,105,118,101,110,32,105,102,32,101,105,116,104,101,114,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,111,114,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,105,115,32,111,112,101,110,46>>]}]},{dt,[],[{code,[],[<<101,101,120,105,115,116>>]}]},{dd,[],[{p,[],[{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,105,115,32,110,111,116,32,97,110,32,101,109,112,116,121,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32,97,108,115,111,32,103,105,118,101,110,32,119,104,101,110,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,97,110,100,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,97,114,101,32,110,111,116,32,111,102,32,116,104,101,32,115,97,109,101,32,116,121,112,101,46>>]}]},{dt,[],[{code,[],[<<101,105,110,118,97,108>>]}]},{dd,[],[{p,[],[{code,[],[<<83,111,117,114,99,101>>]},<<32,105,115,32,97,32,114,111,111,116,32,100,105,114,101,99,116,111,114,121,44,32,111,114,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,105,115,32,97,32,115,117,98,100,105,114,101,99,116,111,114,121,32,111,102,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<46>>]}]},{dt,[],[{code,[],[<<101,105,115,100,105,114>>]}]},{dd,[],[{p,[],[{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,44,32,98,117,116,32>>,{code,[],[<<83,111,117,114,99,101>>]},<<32,105,115,32,110,111,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[{code,[],[<<83,111,117,114,99,101>>]},<<32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[{code,[],[<<83,111,117,114,99,101>>]},<<32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,44,32,98,117,116,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,105,115,32,110,111,116,46>>]}]},{dt,[],[{code,[],[<<101,120,100,101,118>>]}]},{dd,[],[{p,[],[{code,[],[<<83,111,117,114,99,101>>]},<<32,97,110,100,32>>,{code,[],[<<68,101,115,116,105,110,97,116,105,111,110>>]},<<32,97,114,101,32,111,110,32,100,105,102,102,101,114,101,110,116,32,102,105,108,101,32,115,121,115,116,101,109,115,46>>]}]}]}]},#{signature => [{attribute,{235,2},spec,{{rename,2},[{type,{235,13},bounded_fun,[{type,{235,13},'fun',[{type,{235,13},product,[{var,{235,14},'Source'},{var,{235,22},'Destination'}]},{type,{235,38},union,[{atom,{235,38},ok},{type,{235,43},tuple,[{atom,{235,44},error},{var,{235,51},'Reason'}]}]}]},[{type,{236,7},constraint,[{atom,{236,7},is_subtype},[{var,{236,7},'Source'},{user_type,{236,17},name_all,[]}]]},{type,{237,7},constraint,[{atom,{237,7},is_subtype},[{var,{237,7},'Destination'},{user_type,{237,22},name_all,[]}]]},{type,{238,7},constraint,[{atom,{238,7},is_subtype},[{var,{238,7},'Reason'},{type,{238,17},union,[{user_type,{238,17},posix,[]},{atom,{238,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,55,52,55>>}},{{function,script,1},[{file,[102,105,108,101,46,101,114,108]},{location,1117}],[<<115,99,114,105,112,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,97,100,115,32,97,110,100,32,101,118,97,108,117,97,116,101,115,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,44,32,115,101,112,97,114,97,116,101,100,32,98,121,32,39,46,39,32,40,111,114,32,39,44,39,44,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,101,120,112,114,101,115,115,105,111,110,115,32,105,115,32,97,108,115,111,32,97,110,32,101,120,112,114,101,115,115,105,111,110,41,44,32,102,114,111,109,32,116,104,101,32,102,105,108,101,46>>]},{p,[],[<<82,101,116,117,114,110,115,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<123,111,107,44,32,86,97,108,117,101,125>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,114,101,97,100,32,97,110,100,32,101,118,97,108,117,97,116,101,100,46,32>>,{code,[],[<<86,97,108,117,101>>]},<<32,105,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,108,97,115,116,32,101,120,112,114,101,115,115,105,111,110,46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,97,116,111,109,40,41,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,111,112,101,110,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,114,101,97,100,105,110,103,32,105,116,46,32,70,111,114,32,97,32,108,105,115,116,32,111,102,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,99,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<123,101,114,114,111,114,44,32,123,76,105,110,101,44,32,77,111,100,44,32,84,101,114,109,125,125>>]}]},{dd,[],[{p,[],[<<65,110,32,101,114,114,111,114,32,111,99,99,117,114,114,101,100,32,119,104,101,110,32,105,110,116,101,114,112,114,101,116,105,110,103,32,116,104,101,32,69,114,108,97,110,103,32,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,116,104,101,32,102,105,108,101,46,32,85,115,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,102,111,114,109,97,116,95,101,114,114,111,114,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,111,114,109,97,116,95,101,114,114,111,114,47,49>>]}]},<<32,116,111,32,99,111,110,118,101,114,116,32,116,104,101,32,116,104,114,101,101,45,101,108,101,109,101,110,116,32,116,117,112,108,101,32,116,111,32,97,110,32,69,110,103,108,105,115,104,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,46>>]}]}]},{p,[],[<<84,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,97,32,99,111,109,109,101,110,116,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,112,112,35,101,110,99,111,100,105,110,103>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,112,112,40,51,41>>]}]},<<46>>]}]},#{signature => [{attribute,{1117,2},spec,{{script,1},[{type,{1117,13},bounded_fun,[{type,{1117,13},'fun',[{type,{1117,13},product,[{var,{1117,14},'Filename'}]},{type,{1117,27},union,[{type,{1117,27},tuple,[{atom,{1117,28},ok},{var,{1117,32},'Value'}]},{type,{1117,41},tuple,[{atom,{1117,42},error},{var,{1117,49},'Reason'}]}]}]},[{type,{1118,7},constraint,[{atom,{1118,7},is_subtype},[{var,{1118,7},'Filename'},{user_type,{1118,19},name_all,[]}]]},{type,{1119,7},constraint,[{atom,{1119,7},is_subtype},[{var,{1119,7},'Value'},{type,{1119,16},term,[]}]]},{type,{1120,7},constraint,[{atom,{1120,7},is_subtype},[{var,{1120,7},'Reason'},{type,{1120,17},union,[{user_type,{1120,17},posix,[]},{atom,{1120,27},badarg},{atom,{1120,36},terminated},{atom,{1120,49},system_limit},{type,{1121,17},tuple,[{ann_type,{1121,18},[{var,{1121,18},'Line'},{type,{1121,26},integer,[]}]},{ann_type,{1121,37},[{var,{1121,37},'Mod'},{type,{1121,44},module,[]}]},{ann_type,{1121,54},[{var,{1121,54},'Term'},{type,{1121,62},term,[]}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,56,49,48>>}},{{function,script,2},[{file,[102,105,108,101,46,101,114,108]},{location,1126}],[<<115,99,114,105,112,116,47,50>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<115,99,114,105,112,116,47,49>>]},<<32,98,117,116,32,116,104,101,32,118,97,114,105,97,98,108,101,32,98,105,110,100,105,110,103,115,32>>,{code,[],[<<66,105,110,100,105,110,103,115>>]},<<32,97,114,101,32,117,115,101,100,32,105,110,32,116,104,101,32,101,118,97,108,117,97,116,105,111,110,46,32,83,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,101,114,108,95,101,118,97,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<101,114,108,95,101,118,97,108,40,51,41>>]}]},<<32,97,98,111,117,116,32,118,97,114,105,97,98,108,101,32,98,105,110,100,105,110,103,115,46>>]}]},#{signature => [{attribute,{1126,2},spec,{{script,2},[{type,{1126,13},bounded_fun,[{type,{1126,13},'fun',[{type,{1126,13},product,[{var,{1126,14},'Filename'},{var,{1126,24},'Bindings'}]},{type,{1126,37},union,[{type,{1126,37},tuple,[{atom,{1126,38},ok},{var,{1126,42},'Value'}]},{type,{1126,51},tuple,[{atom,{1126,52},error},{var,{1126,59},'Reason'}]}]}]},[{type,{1127,7},constraint,[{atom,{1127,7},is_subtype},[{var,{1127,7},'Filename'},{user_type,{1127,19},name_all,[]}]]},{type,{1128,7},constraint,[{atom,{1128,7},is_subtype},[{var,{1128,7},'Bindings'},{remote_type,{1128,19},[{atom,{1128,19},erl_eval},{atom,{1128,28},binding_struct},[]]}]]},{type,{1129,7},constraint,[{atom,{1129,7},is_subtype},[{var,{1129,7},'Value'},{type,{1129,16},term,[]}]]},{type,{1130,7},constraint,[{atom,{1130,7},is_subtype},[{var,{1130,7},'Reason'},{type,{1130,17},union,[{user_type,{1130,17},posix,[]},{atom,{1130,27},badarg},{atom,{1130,36},terminated},{atom,{1130,49},system_limit},{type,{1131,17},tuple,[{ann_type,{1131,18},[{var,{1131,18},'Line'},{type,{1131,26},integer,[]}]},{ann_type,{1131,37},[{var,{1131,37},'Mod'},{type,{1131,44},module,[]}]},{ann_type,{1131,54},[{var,{1131,54},'Term'},{type,{1131,62},term,[]}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,56,52,53>>}},{{function,sendfile,2},[{file,[102,105,108,101,46,101,114,108]},{location,1311}],[<<115,101,110,100,102,105,108,101,47,50>>],#{<<101,110>> => [{p,[],[<<83,101,110,100,115,32,116,104,101,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<32,116,111,32>>,{code,[],[<<83,111,99,107,101,116>>]},<<46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,66,121,116,101,115,83,101,110,116,125>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46>>]}]},#{signature => [{attribute,{1311,2},spec,{{sendfile,2},[{type,{1311,15},bounded_fun,[{type,{1311,15},'fun',[{type,{1311,15},product,[{var,{1311,16},'Filename'},{var,{1311,26},'Socket'}]},{type,{1312,4},union,[{type,{1312,4},tuple,[{atom,{1312,5},ok},{type,{1312,11},non_neg_integer,[]}]},{type,{1312,32},tuple,[{atom,{1312,33},error},{type,{1312,42},union,[{remote_type,{1312,42},[{atom,{1312,42},inet},{atom,{1312,47},posix},[]]},{atom,{1313,5},closed},{atom,{1313,14},badarg},{atom,{1313,23},not_owner}]}]}]}]},[{type,{1314,7},constraint,[{atom,{1314,7},is_subtype},[{var,{1314,7},'Filename'},{user_type,{1314,19},name_all,[]}]]},{type,{1315,7},constraint,[{atom,{1315,7},is_subtype},[{var,{1315,7},'Socket'},{type,{1315,17},union,[{remote_type,{1315,17},[{atom,{1315,17},inet},{atom,{1315,22},socket},[]]},{remote_type,{1315,33},[{atom,{1315,33},socket},{atom,{1315,40},socket},[]]},{type,{1316,22},'fun',[{type,{1316,22},product,[{type,{1316,23},iolist,[]}]},{type,{1316,36},union,[{atom,{1316,36},ok},{type,{1316,41},tuple,[{atom,{1316,42},error},{type,{1316,49},union,[{remote_type,{1316,49},[{atom,{1316,49},inet},{atom,{1316,54},posix},[]]},{atom,{1316,64},closed}]}]}]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,56,53,53>>,since => <<79,84,80,32,82,49,53,66>>}},{{function,sendfile,5},[{file,[102,105,108,101,46,101,114,108]},{location,1283}],[<<115,101,110,100,102,105,108,101,47,53>>],#{<<101,110>> => [{ul,[{class,<<116,121,112,101,115>>}],[{li,[{name,<<115,101,110,100,102,105,108,101,95,111,112,116,105,111,110>>}],[]}]},{p,[],[<<83,101,110,100,115,32>>,{code,[],[<<66,121,116,101,115>>]},<<32,102,114,111,109,32,116,104,101,32,102,105,108,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32>>,{code,[],[<<82,97,119,70,105,108,101>>]},<<32,98,101,103,105,110,110,105,110,103,32,97,116,32>>,{code,[],[<<79,102,102,115,101,116>>]},<<32,116,111,32>>,{code,[],[<<83,111,99,107,101,116>>]},<<46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<123,111,107,44,32,66,121,116,101,115,83,101,110,116,125>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32,73,102,32>>,{code,[],[<<66,121,116,101,115>>]},<<32,105,115,32,115,101,116,32,116,111,32>>,{code,[],[<<48>>]},<<32,97,108,108,32,100,97,116,97,32,97,102,116,101,114,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32>>,{code,[],[<<79,102,102,115,101,116>>]},<<32,105,115,32,115,101,110,116,46>>]},{p,[],[<<84,104,101,32,102,105,108,101,32,117,115,101,100,32,109,117,115,116,32,98,101,32,111,112,101,110,101,100,32,117,115,105,110,103,32,116,104,101,32>>,{code,[],[<<114,97,119>>]},<<32,102,108,97,103,44,32,97,110,100,32,116,104,101,32,112,114,111,99,101,115,115,32,99,97,108,108,105,110,103,32>>,{code,[],[<<115,101,110,100,102,105,108,101>>]},<<32,109,117,115,116,32,98,101,32,116,104,101,32,99,111,110,116,114,111,108,108,105,110,103,32,112,114,111,99,101,115,115,32,111,102,32,116,104,101,32,115,111,99,107,101,116,46,32,83,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,103,101,110,95,116,99,112,35,99,111,110,116,114,111,108,108,105,110,103,95,112,114,111,99,101,115,115,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<103,101,110,95,116,99,112,58,99,111,110,116,114,111,108,108,105,110,103,95,112,114,111,99,101,115,115,47,50>>]}]},<<32,111,114,32,109,111,100,117,108,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,115,111,99,107,101,116,35,115,101,116,111,112,116,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,111,99,107,101,116>>]},<<39,115>>]},<<32>>,{a,[{href,<<107,101,114,110,101,108,58,115,111,99,107,101,116,35,111,116,112,95,115,111,99,107,101,116,95,111,112,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[<<108,101,118,101,108,32>>,{code,[],[<<111,116,112>>]},<<32,115,111,99,107,101,116,32,111,112,116,105,111,110,32>>]},{code,[],[<<99,111,110,116,114,111,108,108,105,110,103,95,112,114,111,99,101,115,115>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,79,83,32,117,115,101,100,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,110,111,110,45,98,108,111,99,107,105,110,103,32>>,{code,[],[<<115,101,110,100,102,105,108,101>>]},<<44,32,97,110,32,69,114,108,97,110,103,32,102,97,108,108,98,97,99,107,32,117,115,105,110,103,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,101,97,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,97,100,47,50>>]}]},<<32,97,110,100,32>>,{a,[{href,<<107,101,114,110,101,108,58,103,101,110,95,116,99,112,35,115,101,110,100,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<103,101,110,95,116,99,112,58,115,101,110,100,47,50>>]}]},<<32,105,115,32,117,115,101,100,46>>]},{p,[],[<<84,104,101,32,111,112,116,105,111,110,32,108,105,115,116,32,99,97,110,32,99,111,110,116,97,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,111,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<99,104,117,110,107,95,115,105,122,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,99,104,117,110,107,32,115,105,122,101,32,117,115,101,100,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,102,97,108,108,98,97,99,107,32,116,111,32,115,101,110,100,32,100,97,116,97,46,32,73,102,32,117,115,105,110,103,32,116,104,101,32,102,97,108,108,98,97,99,107,44,32,115,101,116,32,116,104,105,115,32,116,111,32,97,32,118,97,108,117,101,32,116,104,97,116,32,99,111,109,102,111,114,116,97,98,108,121,32,102,105,116,115,32,105,110,32,116,104,101,32,115,121,115,116,101,109,115,32,109,101,109,111,114,121,46,32,68,101,102,97,117,108,116,32,105,115,32,50,48,32,77,66,46>>]}]}]}]},#{signature => [{attribute,{1283,2},spec,{{sendfile,5},[{type,{1283,15},bounded_fun,[{type,{1283,15},'fun',[{type,{1283,15},product,[{var,{1283,16},'RawFile'},{var,{1283,25},'Socket'},{var,{1283,33},'Offset'},{var,{1283,41},'Bytes'},{var,{1283,48},'Opts'}]},{type,{1284,4},union,[{type,{1284,4},tuple,[{atom,{1284,5},ok},{type,{1284,11},non_neg_integer,[]}]},{type,{1284,32},tuple,[{atom,{1284,33},error},{type,{1284,42},union,[{remote_type,{1284,42},[{atom,{1284,42},inet},{atom,{1284,47},posix},[]]},{atom,{1285,5},closed},{atom,{1285,14},badarg},{atom,{1285,23},not_owner}]}]}]}]},[{type,{1286,7},constraint,[{atom,{1286,7},is_subtype},[{var,{1286,7},'RawFile'},{user_type,{1286,18},fd,[]}]]},{type,{1287,7},constraint,[{atom,{1287,7},is_subtype},[{var,{1287,7},'Socket'},{type,{1287,17},union,[{remote_type,{1287,17},[{atom,{1287,17},inet},{atom,{1287,22},socket},[]]},{remote_type,{1287,33},[{atom,{1287,33},socket},{atom,{1287,40},socket},[]]},{type,{1288,22},'fun',[{type,{1288,22},product,[{type,{1288,23},iolist,[]}]},{type,{1288,36},union,[{atom,{1288,36},ok},{type,{1288,41},tuple,[{atom,{1288,42},error},{type,{1288,49},union,[{remote_type,{1288,49},[{atom,{1288,49},inet},{atom,{1288,54},posix},[]]},{atom,{1288,64},closed}]}]}]}]}]}]]},{type,{1289,7},constraint,[{atom,{1289,7},is_subtype},[{var,{1289,7},'Offset'},{type,{1289,17},non_neg_integer,[]}]]},{type,{1290,7},constraint,[{atom,{1290,7},is_subtype},[{var,{1290,7},'Bytes'},{type,{1290,16},non_neg_integer,[]}]]},{type,{1291,7},constraint,[{atom,{1291,7},is_subtype},[{var,{1291,7},'Opts'},{type,{1291,15},list,[{user_type,{1291,16},sendfile_option,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,56,54,52>>,since => <<79,84,80,32,82,49,53,66>>}},{{function,set_cwd,1},[{file,[102,105,108,101,46,101,114,108]},{location,200}],[<<115,101,116,95,99,119,100,47,49>>],#{<<101,110>> => [{p,[],[<<83,101,116,115,32,116,104,101,32,99,117,114,114,101,110,116,32,119,111,114,107,105,110,103,32,100,105,114,101,99,116,111,114,121,32,111,102,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,116,111,32>>,{code,[],[<<68,105,114>>]},<<46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,46>>]},{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,115,32,105,110,32,116,104,101,32,109,111,100,117,108,101,32>>,{code,[],[<<102,105,108,101>>]},<<32,117,115,117,97,108,108,121,32,116,114,101,97,116,32,98,105,110,97,114,105,101,115,32,97,115,32,114,97,119,32,102,105,108,101,110,97,109,101,115,44,32,116,104,97,116,32,105,115,44,32,116,104,101,121,32,97,114,101,32,112,97,115,115,101,100,32,34,97,115,32,105,115,34,32,101,118,101,110,32,119,104,101,110,32,116,104,101,32,101,110,99,111,100,105,110,103,32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,100,111,101,115,32,110,111,116,32,97,103,114,101,101,32,119,105,116,104,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,40,41>>]}]},<<46,32,72,111,119,101,118,101,114,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,101,120,112,101,99,116,115,32,98,105,110,97,114,105,101,115,32,116,111,32,98,101,32,101,110,99,111,100,101,100,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,118,97,108,117,101,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{code,[],[<<110,97,116,105,118,101,95,110,97,109,101,95,101,110,99,111,100,105,110,103,40,41>>]},<<46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,32,97,114,101,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,100,105,114,101,99,116,111,114,121,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32>>,{code,[],[<<68,105,114>>]},<<32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,46>>]}]},{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,116,104,101,32,100,105,114,101,99,116,111,114,121,32,111,114,32,111,110,101,32,111,102,32,105,116,115,32,112,97,114,101,110,116,115,46>>]}]},{dt,[],[{code,[],[<<98,97,100,97,114,103>>]}]},{dd,[],[{p,[],[{code,[],[<<68,105,114>>]},<<32,104,97,115,32,97,110,32,105,109,112,114,111,112,101,114,32,116,121,112,101,44,32,115,117,99,104,32,97,115,32,116,117,112,108,101,46>>]}]},{dt,[],[{code,[],[<<110,111,95,116,114,97,110,115,108,97,116,105,111,110>>]}]},{dd,[],[{p,[],[{code,[],[<<68,105,114>>]},<<32,105,115,32,97,32>>,{code,[],[<<98,105,110,97,114,121,40,41>>]},<<32,119,105,116,104,32,99,104,97,114,97,99,116,101,114,115,32,99,111,100,101,100,32,105,110,32,73,83,79,45,108,97,116,105,110,45,49,32,97,110,100,32,116,104,101,32,86,77,32,105,115,32,111,112,101,114,97,116,105,110,103,32,119,105,116,104,32,117,110,105,99,111,100,101,32,102,105,108,101,110,97,109,101,32,101,110,99,111,100,105,110,103,46>>]}]}]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<73,110,32,97,32,102,117,116,117,114,101,32,114,101,108,101,97,115,101,44,32,97,32,98,97,100,32,116,121,112,101,32,102,111,114,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<68,105,114>>]},<<32,119,105,108,108,32,112,114,111,98,97,98,108,121,32,103,101,110,101,114,97,116,101,32,97,110,32,101,120,99,101,112,116,105,111,110,46>>]}]}]},#{signature => [{attribute,{200,2},spec,{{set_cwd,1},[{type,{200,14},bounded_fun,[{type,{200,14},'fun',[{type,{200,14},product,[{var,{200,15},'Dir'}]},{type,{200,23},union,[{atom,{200,23},ok},{type,{200,28},tuple,[{atom,{200,29},error},{var,{200,36},'Reason'}]}]}]},[{type,{201,7},constraint,[{atom,{201,7},is_subtype},[{var,{201,7},'Dir'},{type,{201,14},union,[{user_type,{201,14},name,[]},{var,{201,23},'EncodedBinary'}]}]]},{type,{202,7},constraint,[{atom,{202,7},is_subtype},[{var,{202,7},'EncodedBinary'},{type,{202,24},binary,[]}]]},{type,{203,7},constraint,[{atom,{203,7},is_subtype},[{var,{203,7},'Reason'},{type,{203,17},union,[{user_type,{203,17},posix,[]},{atom,{203,27},badarg},{atom,{203,36},no_translation}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,56,57,55>>}},{{function,sync,1},[{file,[102,105,108,101,46,101,114,108]},{location,736}],[<<115,121,110,99,47,49>>],#{<<101,110>> => [{p,[],[<<69,110,115,117,114,101,115,32,116,104,97,116,32,97,110,121,32,98,117,102,102,101,114,115,32,107,101,112,116,32,98,121,32,116,104,101,32,111,112,101,114,97,116,105,110,103,32,115,121,115,116,101,109,32,40,110,111,116,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,114,117,110,116,105,109,101,32,115,121,115,116,101,109,41,32,97,114,101,32,119,114,105,116,116,101,110,32,116,111,32,100,105,115,107,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,109,105,103,104,116,32,104,97,118,101,32,110,111,32,101,102,102,101,99,116,46>>]},{p,[],[<<65,32,116,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,32,105,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,110,111,115,112,99>>]}]},{dd,[],[{p,[],[<<78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,108,101,102,116,32,116,111,32,119,114,105,116,101,32,116,104,101,32,102,105,108,101,46>>]}]}]}]},#{signature => [{attribute,{736,2},spec,{{sync,1},[{type,{736,11},bounded_fun,[{type,{736,11},'fun',[{type,{736,11},product,[{var,{736,12},'IoDevice'}]},{type,{736,25},union,[{atom,{736,25},ok},{type,{736,30},tuple,[{atom,{736,31},error},{var,{736,38},'Reason'}]}]}]},[{type,{737,7},constraint,[{atom,{737,7},is_subtype},[{var,{737,7},'IoDevice'},{user_type,{737,19},io_device,[]}]]},{type,{738,7},constraint,[{atom,{738,7},is_subtype},[{var,{738,7},'Reason'},{type,{738,17},union,[{user_type,{738,17},posix,[]},{atom,{738,27},badarg},{atom,{738,36},terminated}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,57,52,52>>}},{{function,truncate,1},[{file,[102,105,108,101,46,101,114,108]},{location,760}],[<<116,114,117,110,99,97,116,101,47,49>>],#{<<101,110>> => [{p,[],[<<84,114,117,110,99,97,116,101,115,32,116,104,101,32,102,105,108,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<32,97,116,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46>>]}]},#{signature => [{attribute,{760,2},spec,{{truncate,1},[{type,{760,15},bounded_fun,[{type,{760,15},'fun',[{type,{760,15},product,[{var,{760,16},'IoDevice'}]},{type,{760,29},union,[{atom,{760,29},ok},{type,{760,34},tuple,[{atom,{760,35},error},{var,{760,42},'Reason'}]}]}]},[{type,{761,7},constraint,[{atom,{761,7},is_subtype},[{var,{761,7},'IoDevice'},{user_type,{761,19},io_device,[]}]]},{type,{762,7},constraint,[{atom,{762,7},is_subtype},[{var,{762,7},'Reason'},{type,{762,17},union,[{user_type,{762,17},posix,[]},{atom,{762,27},badarg},{atom,{762,36},terminated}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,57,54,48>>}},{{function,write,2},[{file,[102,105,108,101,46,101,114,108]},{location,670}],[<<119,114,105,116,101,47,50>>],#{<<101,110>> => [{p,[],[<<87,114,105,116,101,115,32>>,{code,[],[<<66,121,116,101,115>>]},<<32,116,111,32,116,104,101,32,102,105,108,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32>>,{code,[],[<<73,111,68,101,118,105,99,101>>]},<<46,32,84,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,116,104,101,32,111,110,108,121,32,119,97,121,32,116,111,32,119,114,105,116,101,32,116,111,32,97,32,102,105,108,101,32,111,112,101,110,101,100,32,105,110,32>>,{code,[],[<<114,97,119>>]},<<32,109,111,100,101,32,40,97,108,116,104,111,117,103,104,32,105,116,32,119,111,114,107,115,32,102,111,114,32,110,111,114,109,97,108,108,121,32,111,112,101,110,101,100,32,102,105,108,101,115,32,116,111,111,41,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,97,110,100,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<32,111,116,104,101,114,119,105,115,101,46>>]},{p,[],[<<73,102,32,116,104,101,32,102,105,108,101,32,105,115,32,111,112,101,110,101,100,32,119,105,116,104,32>>,{code,[],[<<101,110,99,111,100,105,110,103>>]},<<32,115,101,116,32,116,111,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,116,104,97,110,32>>,{code,[],[<<108,97,116,105,110,49>>]},<<44,32,101,97,99,104,32,98,121,116,101,32,119,114,105,116,116,101,110,32,99,97,110,32,114,101,115,117,108,116,32,105,110,32,109,97,110,121,32,98,121,116,101,115,32,98,101,105,110,103,32,119,114,105,116,116,101,110,32,116,111,32,116,104,101,32,102,105,108,101,44,32,97,115,32,116,104,101,32,98,121,116,101,32,114,97,110,103,101,32,48,46,46,50,53,53,32,99,97,110,32,114,101,112,114,101,115,101,110,116,32,97,110,121,116,104,105,110,103,32,98,101,116,119,101,101,110,32,111,110,101,32,97,110,100,32,102,111,117,114,32,98,121,116,101,115,32,100,101,112,101,110,100,105,110,103,32,111,110,32,118,97,108,117,101,32,97,110,100,32,85,84,70,32,101,110,99,111,100,105,110,103,32,116,121,112,101,46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,98,97,100,102>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,111,112,101,110,101,100,32,102,111,114,32,119,114,105,116,105,110,103,46>>]}]},{dt,[],[{code,[],[<<101,110,111,115,112,99>>]}]},{dd,[],[{p,[],[<<78,111,32,115,112,97,99,101,32,105,115,32,108,101,102,116,32,111,110,32,116,104,101,32,100,101,118,105,99,101,46>>]}]}]}]},#{signature => [{attribute,{670,2},spec,{{write,2},[{type,{670,12},bounded_fun,[{type,{670,12},'fun',[{type,{670,12},product,[{var,{670,13},'IoDevice'},{var,{670,23},'Bytes'}]},{type,{670,33},union,[{atom,{670,33},ok},{type,{670,38},tuple,[{atom,{670,39},error},{var,{670,46},'Reason'}]}]}]},[{type,{671,7},constraint,[{atom,{671,7},is_subtype},[{var,{671,7},'IoDevice'},{type,{671,19},union,[{user_type,{671,19},io_device,[]},{type,{671,33},atom,[]}]}]]},{type,{672,7},constraint,[{atom,{672,7},is_subtype},[{var,{672,7},'Bytes'},{type,{672,16},iodata,[]}]]},{type,{673,7},constraint,[{atom,{673,7},is_subtype},[{var,{673,7},'Reason'},{type,{673,17},union,[{user_type,{673,17},posix,[]},{atom,{673,27},badarg},{atom,{673,36},terminated}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,57,54,57>>}},{{function,write_file,2},[{file,[102,105,108,101,46,101,114,108]},{location,437}],[<<119,114,105,116,101,95,102,105,108,101,47,50>>],#{<<101,110>> => [{p,[],[<<87,114,105,116,101,115,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32,116,104,101,32>>,{code,[],[<<105,111,100,97,116,97>>]},<<32,116,101,114,109,32>>,{code,[],[<<66,121,116,101,115>>]},<<32,116,111,32,102,105,108,101,32>>,{code,[],[<<70,105,108,101,110,97,109,101>>]},<<46,32,84,104,101,32,102,105,108,101,32,105,115,32,99,114,101,97,116,101,100,32,105,102,32,105,116,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46,32,73,102,32,105,116,32,101,120,105,115,116,115,44,32,116,104,101,32,112,114,101,118,105,111,117,115,32,99,111,110,116,101,110,116,115,32,97,114,101,32,111,118,101,114,119,114,105,116,116,101,110,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46>>]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,116,104,101,32,102,105,108,101,110,97,109,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]},{dt,[],[{code,[],[<<101,110,111,115,112,99>>]}]},{dd,[],[{p,[],[<<78,111,32,115,112,97,99,101,32,105,115,32,108,101,102,116,32,111,110,32,116,104,101,32,100,101,118,105,99,101,46>>]}]},{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,119,114,105,116,105,110,103,32,116,104,101,32,102,105,108,101,32,111,114,32,115,101,97,114,99,104,105,110,103,32,111,110,101,32,111,102,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,46>>]}]},{dt,[],[{code,[],[<<101,105,115,100,105,114>>]}]},{dd,[],[{p,[],[<<84,104,101,32,110,97,109,101,100,32,102,105,108,101,32,105,115,32,97,32,100,105,114,101,99,116,111,114,121,46>>]}]}]}]},#{signature => [{attribute,{437,2},spec,{{write_file,2},[{type,{437,17},bounded_fun,[{type,{437,17},'fun',[{type,{437,17},product,[{var,{437,18},'Filename'},{var,{437,28},'Bytes'}]},{type,{437,38},union,[{atom,{437,38},ok},{type,{437,43},tuple,[{atom,{437,44},error},{var,{437,51},'Reason'}]}]}]},[{type,{438,7},constraint,[{atom,{438,7},is_subtype},[{var,{438,7},'Filename'},{user_type,{438,19},name_all,[]}]]},{type,{439,7},constraint,[{atom,{439,7},is_subtype},[{var,{439,7},'Bytes'},{type,{439,16},iodata,[]}]]},{type,{440,7},constraint,[{atom,{440,7},is_subtype},[{var,{440,7},'Reason'},{type,{440,17},union,[{user_type,{440,17},posix,[]},{atom,{440,27},badarg},{atom,{440,36},terminated},{atom,{440,49},system_limit}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,49,57,57,53>>}},{{function,write_file,3},[{file,[102,105,108,101,46,101,114,108]},{location,449}],[<<119,114,105,116,101,95,102,105,108,101,47,51>>],#{<<101,110>> => [{p,[],[<<83,97,109,101,32,97,115,32>>,{code,[],[<<119,114,105,116,101,95,102,105,108,101,47,50>>]},<<44,32,98,117,116,32,116,97,107,101,115,32,97,32,116,104,105,114,100,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<77,111,100,101,115>>]},<<44,32,97,32,108,105,115,116,32,111,102,32,112,111,115,115,105,98,108,101,32,109,111,100,101,115,44,32,115,101,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<46,32,84,104,101,32,109,111,100,101,32,102,108,97,103,115,32>>,{code,[],[<<98,105,110,97,114,121>>]},<<32,97,110,100,32>>,{code,[],[<<119,114,105,116,101>>]},<<32,97,114,101,32,105,109,112,108,105,99,105,116,44,32,115,111,32,116,104,101,121,32,97,114,101,32,110,111,116,32,116,111,32,98,101,32,117,115,101,100,46>>]}]},#{signature => [{attribute,{449,2},spec,{{write_file,3},[{type,{449,17},bounded_fun,[{type,{449,17},'fun',[{type,{449,17},product,[{var,{449,18},'Filename'},{var,{449,28},'Bytes'},{var,{449,35},'Modes'}]},{type,{449,45},union,[{atom,{449,45},ok},{type,{449,50},tuple,[{atom,{449,51},error},{var,{449,58},'Reason'}]}]}]},[{type,{450,7},constraint,[{atom,{450,7},is_subtype},[{var,{450,7},'Filename'},{user_type,{450,19},name_all,[]}]]},{type,{451,7},constraint,[{atom,{451,7},is_subtype},[{var,{451,7},'Bytes'},{type,{451,16},iodata,[]}]]},{type,{452,7},constraint,[{atom,{452,7},is_subtype},[{var,{452,7},'Modes'},{type,{452,16},list,[{user_type,{452,17},mode,[]}]}]]},{type,{453,7},constraint,[{atom,{453,7},is_subtype},[{var,{453,7},'Reason'},{type,{453,17},union,[{user_type,{453,17},posix,[]},{atom,{453,27},badarg},{atom,{453,36},terminated},{atom,{453,49},system_limit}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,48,51,50>>}},{{function,write_file_info,3},[{file,[102,105,108,101,46,101,114,108]},{location,374}],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,51>>],#{},#{signature => [{attribute,{374,2},spec,{{write_file_info,3},[{type,{374,22},bounded_fun,[{type,{374,22},'fun',[{type,{374,22},product,[{var,{374,23},'Filename'},{var,{374,33},'FileInfo'},{var,{374,43},'Opts'}]},{type,{374,52},union,[{atom,{374,52},ok},{type,{374,57},tuple,[{atom,{374,58},error},{var,{374,65},'Reason'}]}]}]},[{type,{375,7},constraint,[{atom,{375,7},is_subtype},[{var,{375,7},'Filename'},{user_type,{375,19},name_all,[]}]]},{type,{376,7},constraint,[{atom,{376,7},is_subtype},[{var,{376,7},'Opts'},{type,{376,15},list,[{user_type,{376,16},file_info_option,[]}]}]]},{type,{377,7},constraint,[{atom,{377,7},is_subtype},[{var,{377,7},'FileInfo'},{user_type,{377,19},file_info,[]}]]},{type,{378,7},constraint,[{atom,{378,7},is_subtype},[{var,{378,7},'Reason'},{type,{378,17},union,[{user_type,{378,17},posix,[]},{atom,{378,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,48,52,51>>,equiv => {function,write_file_info,2},since => <<79,84,80,32,82,49,53,66>>}},{{function,write_file_info,2},[{file,[102,105,108,101,46,101,114,108]},{location,366}],[<<119,114,105,116,101,95,102,105,108,101,95,105,110,102,111,47,50>>],#{<<101,110>> => [{p,[],[<<67,104,97,110,103,101,115,32,102,105,108,101,32,105,110,102,111,114,109,97,116,105,111,110,46,32,82,101,116,117,114,110,115,32>>,{code,[],[<<111,107>>]},<<32,105,102,32,115,117,99,99,101,115,115,102,117,108,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<123,101,114,114,111,114,44,32,82,101,97,115,111,110,125>>]},<<46,32>>,{code,[],[<<70,105,108,101,73,110,102,111>>]},<<32,105,115,32,97,32,114,101,99,111,114,100,32>>,{code,[],[<<102,105,108,101,95,105,110,102,111>>]},<<44,32,100,101,102,105,110,101,100,32,105,110,32,116,104,101,32,75,101,114,110,101,108,32,105,110,99,108,117,100,101,32,102,105,108,101,32>>,{code,[],[<<102,105,108,101,46,104,114,108>>]},<<46,32,73,110,99,108,117,100,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,100,105,114,101,99,116,105,118,101,32,105,110,32,116,104,101,32,109,111,100,117,108,101,32,102,114,111,109,32,119,104,105,99,104,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<32,45,105,110,99,108,117,100,101,95,108,105,98,40,34,107,101,114,110,101,108,47,105,110,99,108,117,100,101,47,102,105,108,101,46,104,114,108,34,41,46>>]}]},{p,[],[<<84,104,101,32,116,105,109,101,32,116,121,112,101,32,115,101,116,32,105,110,32>>,{code,[],[<<97,116,105,109,101>>]},<<44,32>>,{code,[],[<<109,116,105,109,101>>]},<<44,32,97,110,100,32>>,{code,[],[<<99,116,105,109,101>>]},<<32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,116,105,109,101,32,116,121,112,101,32,115,101,116,32,105,110,32>>,{code,[],[<<79,112,116,115,32,58,58,32,123,116,105,109,101,44,32,84,121,112,101,125>>]},<<32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<108,111,99,97,108>>]}]},{dd,[],[{p,[],[<<73,110,116,101,114,112,114,101,116,115,32,116,104,101,32,116,105,109,101,32,115,101,116,32,97,115,32,108,111,99,97,108,46>>]}]},{dt,[],[{code,[],[<<117,110,105,118,101,114,115,97,108>>]}]},{dd,[],[{p,[],[<<73,110,116,101,114,112,114,101,116,115,32,105,116,32,97,115,32,117,110,105,118,101,114,115,97,108,32,116,105,109,101,46>>]}]},{dt,[],[{code,[],[<<112,111,115,105,120>>]}]},{dd,[],[{p,[],[<<77,117,115,116,32,98,101,32,115,101,99,111,110,100,115,32,115,105,110,99,101,32,111,114,32,98,101,102,111,114,101,32,85,110,105,120,32,116,105,109,101,32,101,112,111,99,104,44,32,119,104,105,99,104,32,105,115,32,49,57,55,48,45,48,49,45,48,49,32,48,48,58,48,48,32,85,84,67,46>>]}]}]},{p,[],[<<68,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<123,116,105,109,101,44,32,108,111,99,97,108,125>>]},<<46>>]},{p,[],[<<73,102,32,116,104,101,32,111,112,116,105,111,110,32>>,{code,[],[<<114,97,119>>]},<<32,105,115,32,115,101,116,44,32,116,104,101,32,102,105,108,101,32,115,101,114,118,101,114,32,105,115,32,110,111,116,32,99,97,108,108,101,100,32,97,110,100,32,111,110,108,121,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,108,111,99,97,108,32,102,105,108,101,115,32,105,115,32,114,101,116,117,114,110,101,100,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,102,105,101,108,100,115,32,97,114,101,32,117,115,101,100,32,102,114,111,109,32,116,104,101,32,114,101,99,111,114,100,44,32,105,102,32,116,104,101,121,32,97,114,101,32,115,112,101,99,105,102,105,101,100,58>>]},{dl,[],[{dt,[],[{code,[],[<<97,116,105,109,101,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,100,97,116,101,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<100,97,116,101,95,116,105,109,101,40,41>>]}]},{code,[],[<<32,124,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,108,97,115,116,32,116,105,109,101,32,116,104,101,32,102,105,108,101,32,119,97,115,32,114,101,97,100,46>>]}]},{dt,[],[{code,[],[<<109,116,105,109,101,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,100,97,116,101,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<100,97,116,101,95,116,105,109,101,40,41>>]}]},{code,[],[<<32,124,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,108,97,115,116,32,116,105,109,101,32,116,104,101,32,102,105,108,101,32,119,97,115,32,119,114,105,116,116,101,110,46>>]}]},{dt,[],[{code,[],[<<99,116,105,109,101,32,61,32>>]},{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,100,97,116,101,95,116,105,109,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<100,97,116,101,95,116,105,109,101,40,41>>]}]},{code,[],[<<32,124,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<79,110,32,85,110,105,120,44,32,97,110,121,32,118,97,108,117,101,32,115,112,101,99,105,102,105,101,100,32,102,111,114,32,116,104,105,115,32,102,105,101,108,100,32,105,115,32,105,103,110,111,114,101,100,32,40,116,104,101,32,34,99,116,105,109,101,34,32,102,111,114,32,116,104,101,32,102,105,108,101,32,105,115,32,115,101,116,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,109,101,41,46,32,79,110,32,87,105,110,100,111,119,115,44,32,116,104,105,115,32,102,105,101,108,100,32,105,115,32,116,104,101,32,110,101,119,32,99,114,101,97,116,105,111,110,32,116,105,109,101,32,116,111,32,115,101,116,32,102,111,114,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<109,111,100,101,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,112,101,114,109,105,115,115,105,111,110,115,32,97,115,32,116,104,101,32,115,117,109,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,98,105,116,32,118,97,108,117,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<56,35,48,48,52,48,48>>]}]},{dd,[],[{p,[],[<<82,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,50,48,48>>]}]},{dd,[],[{p,[],[<<87,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,49,48,48>>]}]},{dd,[],[{p,[],[<<69,120,101,99,117,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,119,110,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,52,48>>]}]},{dd,[],[{p,[],[<<82,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,50,48>>]}]},{dd,[],[{p,[],[<<87,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,49,48>>]}]},{dd,[],[{p,[],[<<69,120,101,99,117,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,103,114,111,117,112>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,48,52>>]}]},{dd,[],[{p,[],[<<82,101,97,100,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,48,50>>]}]},{dd,[],[{p,[],[<<87,114,105,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114>>]}]},{dt,[],[{code,[],[<<56,35,48,48,48,48,49>>]}]},{dd,[],[{p,[],[<<69,120,101,99,117,116,101,32,112,101,114,109,105,115,115,105,111,110,58,32,111,116,104,101,114>>]}]},{dt,[],[{code,[],[<<49,54,35,56,48,48>>]}]},{dd,[],[{p,[],[<<83,101,116,32,117,115,101,114,32,105,100,32,111,110,32,101,120,101,99,117,116,105,111,110>>]}]},{dt,[],[{code,[],[<<49,54,35,52,48,48>>]}]},{dd,[],[{p,[],[<<83,101,116,32,103,114,111,117,112,32,105,100,32,111,110,32,101,120,101,99,117,116,105,111,110>>]}]}]},{p,[],[<<79,110,32,85,110,105,120,32,112,108,97,116,102,111,114,109,115,44,32,111,116,104,101,114,32,98,105,116,115,32,116,104,97,110,32,116,104,111,115,101,32,108,105,115,116,101,100,32,97,98,111,118,101,32,109,97,121,32,98,101,32,115,101,116,46>>]}]},{dt,[],[{code,[],[<<117,105,100,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<73,110,100,105,99,97,116,101,115,32,116,104,101,32,102,105,108,101,32,111,119,110,101,114,46,32,73,103,110,111,114,101,100,32,102,111,114,32,110,111,110,45,85,110,105,120,32,102,105,108,101,32,115,121,115,116,101,109,115,46>>]}]},{dt,[],[{code,[],[<<103,105,100,32,61,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48>>]}]},{dd,[],[{p,[],[<<71,105,118,101,115,32,116,104,101,32,103,114,111,117,112,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,111,119,110,101,114,32,98,101,108,111,110,103,115,32,116,111,46,32,73,103,110,111,114,101,100,32,102,111,114,32,110,111,110,45,85,110,105,120,32,102,105,108,101,32,115,121,115,116,101,109,115,46>>]}]}]},{p,[],[<<84,121,112,105,99,97,108,32,101,114,114,111,114,32,114,101,97,115,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<101,97,99,99,101,115>>]}]},{dd,[],[{p,[],[<<77,105,115,115,105,110,103,32,115,101,97,114,99,104,32,112,101,114,109,105,115,115,105,111,110,32,102,111,114,32,111,110,101,32,111,102,32,116,104,101,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105,101,115,32,111,102,32,116,104,101,32,102,105,108,101,46>>]}]},{dt,[],[{code,[],[<<101,110,111,101,110,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,46>>]}]},{dt,[],[{code,[],[<<101,110,111,116,100,105,114>>]}]},{dd,[],[{p,[],[<<65,32,99,111,109,112,111,110,101,110,116,32,111,102,32,116,104,101,32,102,105,108,101,110,97,109,101,32,105,115,32,110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,46,32,79,110,32,115,111,109,101,32,112,108,97,116,102,111,114,109,115,44,32>>,{code,[],[<<101,110,111,101,110,116>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,105,110,115,116,101,97,100,46>>]}]}]}]},#{signature => [{attribute,{366,2},spec,{{write_file_info,2},[{type,{366,22},bounded_fun,[{type,{366,22},'fun',[{type,{366,22},product,[{var,{366,23},'Filename'},{var,{366,33},'FileInfo'}]},{type,{366,46},union,[{atom,{366,46},ok},{type,{366,51},tuple,[{atom,{366,52},error},{var,{366,59},'Reason'}]}]}]},[{type,{367,7},constraint,[{atom,{367,7},is_subtype},[{var,{367,7},'Filename'},{user_type,{367,19},name_all,[]}]]},{type,{368,7},constraint,[{atom,{368,7},is_subtype},[{var,{368,7},'FileInfo'},{user_type,{368,19},file_info,[]}]]},{type,{369,7},constraint,[{atom,{369,7},is_subtype},[{var,{369,7},'Reason'},{type,{369,17},union,[{user_type,{369,17},posix,[]},{atom,{369,27},badarg}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,107,101,114,110,101,108,47,100,111,99,47,115,114,99,47,102,105,108,101,46,120,109,108,35,76,50,48,52,51>>,since => <<79,84,80,32,82,49,53,66>>}},{{type,deep_list,0},[{file,[102,105,108,101,46,101,114,108]},{location,102}],[<<45,116,121,112,101,32,100,101,101,112,95,108,105,115,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{102,2},type,{deep_list,{type,{102,22},list,[{type,{102,23},union,[{type,{102,23},char,[]},{type,{102,32},atom,[]},{user_type,{102,41},deep_list,[]}]}]},[]}}]}},{{type,fd,0},[{file,[102,105,108,101,46,101,114,108]},{location,0}],[<<102,100,40,41>>],#{<<101,110>> => [{p,[],[<<65,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,114,101,112,114,101,115,101,110,116,105,110,103,32,97,32,102,105,108,101,32,111,112,101,110,101,100,32,105,110,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,114,97,119>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<114,97,119>>]}]},<<32,109,111,100,101,46>>]}]},#{}},{{type,filename,0},[{file,[102,105,108,101,46,101,114,108]},{location,85}],[<<45,116,121,112,101,32,102,105,108,101,110,97,109,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<83,101,101,32,97,108,115,111,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,110,97,109,101,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<110,97,109,101,95,97,108,108,40,41>>]}]},<<32,116,121,112,101,46>>]}]},#{signature => [{attribute,{85,2},type,{filename,{type,{85,22},string,[]},[]}}]}},{{type,filename_all,0},[{file,[102,105,108,101,46,101,114,108]},{location,86}],[<<45,116,121,112,101,32,102,105,108,101,110,97,109,101,95,97,108,108,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<83,101,101,32,97,108,115,111,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,110,97,109,101,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<110,97,109,101,95,97,108,108,40,41>>]}]},<<32,116,121,112,101,46>>]}]},#{signature => [{attribute,{86,2},type,{filename_all,{type,{86,25},union,[{type,{86,25},string,[]},{type,{86,36},binary,[]}]},[]}}]}},{{type,io_device,0},[{file,[102,105,108,101,46,101,114,108]},{location,89}],[<<45,116,121,112,101,32,105,111,95,100,101,118,105,99,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,115,32,114,101,116,117,114,110,101,100,32,98,121,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,111,112,101,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<111,112,101,110,47,50>>]}]},<<59,32>>,{code,[],[<<112,105,100,40,41>>]},<<32,105,115,32,97,32,112,114,111,99,101,115,115,32,104,97,110,100,108,105,110,103,32,73,47,79,45,112,114,111,116,111,99,111,108,115,46>>]}]},#{signature => [{attribute,{89,2},type,{io_device,{type,{89,22},union,[{type,{89,22},pid,[]},{user_type,{89,30},fd,[]}]},[]}}]}},{{type,name,0},[{file,[102,105,108,101,46,101,114,108]},{location,103}],[<<45,116,121,112,101,32,110,97,109,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<73,102,32,86,77,32,105,115,32,105,110,32,85,110,105,99,111,100,101,32,102,105,108,101,110,97,109,101,32,109,111,100,101,44,32>>,{code,[],[<<115,116,114,105,110,103,40,41>>]},<<32,97,110,100,32>>,{code,[],[<<99,104,97,114,40,41>>]},<<32,97,114,101,32,97,108,108,111,119,101,100,32,116,111,32,98,101,32,62,32,50,53,53,46,32,83,101,101,32,97,108,115,111,32,116,104,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,111,102,32,116,104,101,32>>,{a,[{href,<<107,101,114,110,101,108,58,102,105,108,101,35,110,97,109,101,95,97,108,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,116,121,112,101>>}],[{code,[],[<<110,97,109,101,95,97,108,108,40,41>>]}]},<<32,116,121,112,101,46>>]}]},#{signature => [{attribute,{103,2},type,{name,{type,{103,22},union,[{type,{103,22},string,[]},{type,{103,33},atom,[]},{user_type,{103,42},deep_list,[]}]},[]}}]}},{{type,name_all,0},[{file,[102,105,108,101,46,101,114,108]},{location,104}],[<<45,116,121,112,101,32,110,97,109,101,95,97,108,108,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<73,102,32,86,77,32,105,115,32,105,110,32,85,110,105,99,111,100,101,32,102,105,108,101,110,97,109,101,32,109,111,100,101,44,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,97,108,108,111,119,101,100,32,116,111,32,98,101,32,62,32,50,53,53,46,32>>,{code,[],[<<82,97,119,70,105,108,101,110,97,109,101>>]},<<32,105,115,32,97,32,102,105,108,101,110,97,109,101,32,110,111,116,32,115,117,98,106,101,99,116,32,116,111,32,85,110,105,99,111,100,101,32,116,114,97,110,115,108,97,116,105,111,110,44,32,109,101,97,110,105,110,103,32,116,104,97,116,32,105,116,32,99,97,110,32,99,111,110,116,97,105,110,32,99,104,97,114,97,99,116,101,114,115,32,110,111,116,32,99,111,110,102,111,114,109,105,110,103,32,116,111,32,116,104,101,32,85,110,105,99,111,100,101,32,101,110,99,111,100,105,110,103,32,101,120,112,101,99,116,101,100,32,102,114,111,109,32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109,32,40,116,104,97,116,32,105,115,44,32,110,111,110,45,85,84,70,45,56,32,99,104,97,114,97,99,116,101,114,115,32,97,108,116,104,111,117,103,104,32,116,104,101,32,86,77,32,105,115,32,115,116,97,114,116,101,100,32,105,110,32,85,110,105,99,111,100,101,32,102,105,108,101,110,97,109,101,32,109,111,100,101,41,46,32,78,117,108,108,32,99,104,97,114,97,99,116,101,114,115,32,40,105,110,116,101,103,101,114,32,118,97,108,117,101,32,122,101,114,111,41,32,97,114,101,32>>,{em,[],[<<110,111,116>>]},<<32,97,108,108,111,119,101,100,32,105,110,32,102,105,108,101,110,97,109,101,115,32,40,110,111,116,32,101,118,101,110,32,97,116,32,116,104,101,32,101,110,100,41,46>>]}]},#{signature => [{attribute,{104,2},type,{name_all,{type,{104,22},union,[{type,{104,22},string,[]},{type,{104,33},atom,[]},{user_type,{104,42},deep_list,[]},{ann_type,{104,57},[{var,{104,57},'RawFilename'},{type,{104,72},binary,[]}]}]},[]}}]}},{{type,posix,0},[{file,[102,105,108,101,46,101,114,108]},{location,105}],[<<45,116,121,112,101,32,112,111,115,105,120,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32,97,116,111,109,32,116,104,97,116,32,105,115,32,110,97,109,101,100,32,102,114,111,109,32,116,104,101,32,80,79,83,73,88,32,101,114,114,111,114,32,99,111,100,101,115,32,117,115,101,100,32,105,110,32,85,110,105,120,44,32,97,110,100,32,105,110,32,116,104,101,32,114,117,110,116,105,109,101,32,108,105,98,114,97,114,105,101,115,32,111,102,32,109,111,115,116,32,67,32,99,111,109,112,105,108,101,114,115,46>>]}]},#{signature => [{attribute,{105,2},type,{posix,{type,{106,9},union,[{atom,{106,9},eacces},{atom,{106,20},eagain},{atom,{107,9},ebadf},{atom,{107,19},ebadmsg},{atom,{107,31},ebusy},{atom,{108,9},edeadlk},{atom,{108,21},edeadlock},{atom,{108,35},edquot},{atom,{109,9},eexist},{atom,{110,9},efault},{atom,{110,20},efbig},{atom,{110,30},eftype},{atom,{111,9},eintr},{atom,{111,19},einval},{atom,{111,30},eio},{atom,{111,38},eisdir},{atom,{112,9},eloop},{atom,{113,9},emfile},{atom,{113,20},emlink},{atom,{113,31},emultihop},{atom,{114,9},enametoolong},{atom,{114,26},enfile},{atom,{115,9},enobufs},{atom,{115,21},enodev},{atom,{115,32},enolck},{atom,{115,43},enolink},{atom,{115,55},enoent},{atom,{116,9},enomem},{atom,{116,20},enospc},{atom,{116,31},enosr},{atom,{116,41},enostr},{atom,{116,52},enosys},{atom,{117,9},enotblk},{atom,{117,21},enotdir},{atom,{117,33},enotsup},{atom,{117,45},enxio},{atom,{118,9},eopnotsupp},{atom,{118,24},eoverflow},{atom,{119,9},eperm},{atom,{119,19},epipe},{atom,{120,9},erange},{atom,{120,20},erofs},{atom,{121,9},espipe},{atom,{121,21},esrch},{atom,{121,32},estale},{atom,{122,9},etxtbsy},{atom,{123,9},exdev}]},[]}}]}},{{type,date_time,0},[{file,[102,105,108,101,46,101,114,108]},{location,124}],[<<45,116,121,112,101,32,100,97,116,101,95,116,105,109,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<77,117,115,116,32,100,101,110,111,116,101,32,97,32,118,97,108,105,100,32,100,97,116,101,32,97,110,100,32,116,105,109,101,46>>]}]},#{signature => [{attribute,{124,2},type,{date_time,{remote_type,{124,22},[{atom,{124,22},calendar},{atom,{124,31},datetime},[]]},[]}}]}},{{type,file_info,0},[{file,[102,105,108,101,46,101,114,108]},{location,87}],[<<45,116,121,112,101,32,102,105,108,101,95,105,110,102,111,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{87,2},type,{file_info,{type,{87,22},record,[{atom,{87,23},file_info}]},[]}}]}},{{type,location,0},[{file,[102,105,108,101,46,101,114,108]},{location,90}],[<<45,116,121,112,101,32,108,111,99,97,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{90,2},type,{location,{type,{90,22},union,[{type,{90,22},integer,[]},{type,{90,34},tuple,[{atom,{90,35},bof},{ann_type,{90,42},[{var,{90,42},'Offset'},{type,{90,52},integer,[]}]}]},{type,{91,22},tuple,[{atom,{91,23},cur},{ann_type,{91,30},[{var,{91,30},'Offset'},{type,{91,40},integer,[]}]}]},{type,{92,8},tuple,[{atom,{92,9},eof},{ann_type,{92,16},[{var,{92,16},'Offset'},{type,{92,26},integer,[]}]}]},{atom,{92,39},bof},{atom,{92,47},cur},{atom,{92,55},eof}]},[]}}]}},{{type,mode,0},[{file,[102,105,108,101,46,101,114,108]},{location,93}],[<<45,116,121,112,101,32,109,111,100,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{93,2},type,{mode,{type,{93,22},union,[{atom,{93,22},read},{atom,{93,31},write},{atom,{93,41},append},{atom,{94,22},exclusive},{atom,{94,36},raw},{atom,{94,44},binary},{type,{95,8},tuple,[{atom,{95,9},delayed_write},{ann_type,{96,23},[{var,{96,23},'Size'},{type,{96,31},non_neg_integer,[]}]},{ann_type,{97,23},[{var,{97,23},'Delay'},{type,{97,32},non_neg_integer,[]}]}]},{atom,{98,8},delayed_write},{type,{98,26},tuple,[{atom,{98,27},read_ahead},{ann_type,{98,41},[{var,{98,41},'Size'},{type,{98,49},pos_integer,[]}]}]},{atom,{99,8},read_ahead},{atom,{99,23},compressed},{atom,{99,38},compressed_one},{type,{100,8},tuple,[{atom,{100,9},encoding},{remote_type,{100,21},[{atom,{100,21},unicode},{atom,{100,29},encoding},[]]}]},{atom,{101,8},sync}]},[]}}]}},{{type,file_info_option,0},[{file,[102,105,108,101,46,101,114,108]},{location,130}],[<<45,116,121,112,101,32,102,105,108,101,95,105,110,102,111,95,111,112,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{130,2},type,{file_info_option,{type,{130,29},union,[{type,{130,29},tuple,[{atom,{130,30},time},{atom,{130,38},local}]},{type,{130,49},tuple,[{atom,{130,50},time},{atom,{130,58},universal}]},{type,{131,8},tuple,[{atom,{131,9},time},{atom,{131,17},posix}]},{atom,{131,28},raw}]},[]}}]}}]}. \ No newline at end of file diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file.txt index 647b56c5c547..56a005e28080 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file.txt @@ -120,7 +120,7 @@ • estale - Stale remote file handle - • exdev - Cross-domain link + • exdev - Cross-device link Performance diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_fd_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_fd_0_type.txt index f08c589b484e..5c9f9fae53a9 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_fd_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_fd_0_type.txt @@ -1,4 +1,4 @@ - -type fd() :: #file_descriptor{}. +  fd() A file descriptor representing a file opened in raw mode. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_mode_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_mode_0_type.txt index 662b060153af..7ff959d515c4 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_mode_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_mode_0_type.txt @@ -6,7 +6,7 @@  Delay :: non_neg_integer()} |  delayed_write |  {read_ahead, Size :: pos_integer()} | -  read_ahead | compressed | +  read_ahead | compressed | compressed_one |  {encoding, unicode:encoding()} |  sync. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_open_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_open_2_func.txt index b89e725d7b73..45bc221cfeb1 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_open_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_open_2_func.txt @@ -113,6 +113,10 @@ read_file_info/1 does probably not match the number of bytes that can be read from a compressed file. + compressed_one: + Read one member of a gzip compressed file. Option  + compressed_one can only be combined with read. + {encoding, Encoding}: Makes the file perform automatic translation of characters to and from a specific (Unicode) encoding. Notice that the data diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_pid2name_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_pid2name_1_func.txt index 425cf1df4020..796759482234 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_pid2name_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_pid2name_1_func.txt @@ -2,6 +2,14 @@ -spec pid2name(Pid) -> {ok, Filename} | undefined  when Filename :: filename_all(), Pid :: pid(). +Deprecated: + file:pid2name/1 is deprecated and will be removed in OTP 27; this + functionality is no longer supported + + Change: + This function is deprecated and will be removed in Erlang/OTP + 27. + If Pid is an I/O device, that is, a pid returned from open/2, this function returns the filename, or rather: diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_type.txt index 130858a8f3cc..2f8f0c2009ac 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_file_type.txt @@ -4,7 +4,7 @@ These types are documented in this module: -type deep_list() :: [char() | atom() | deep_list()]. - -type fd() :: #file_descriptor{}. +  fd() -type filename() :: string(). @@ -45,7 +45,7 @@ These types are documented in this module:  Delay :: non_neg_integer()} |  delayed_write |  {read_ahead, Size :: pos_integer()} | -  read_ahead | compressed | +  read_ahead | compressed | compressed_one |  {encoding, unicode:encoding()} |  sync. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_callback_mode_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_callback_mode_0_func.txt new file mode 100644 index 000000000000..b999236eb592 --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_callback_mode_0_func.txt @@ -0,0 +1,6 @@ + +  callback_mode/0 + + The documentation for callback_mode/0 is hidden. This probably + means that it is internal and not to be used by other + applications. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_init_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_init_1_func.txt new file mode 100644 index 000000000000..f64397f84a9b --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_init_1_func.txt @@ -0,0 +1,5 @@ + +  init/1 + + The documentation for init/1 is hidden. This probably means that + it is internal and not to be used by other applications. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_init_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_init_3_func.txt new file mode 100644 index 000000000000..3a0345f03092 --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_init_3_func.txt @@ -0,0 +1,5 @@ + +  init/3 + + The documentation for init/3 is hidden. This probably means that + it is internal and not to be used by other applications. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_start_shell_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_start_shell_0_func.txt new file mode 100644 index 000000000000..e8e5eed9bc6d --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_start_shell_0_func.txt @@ -0,0 +1,6 @@ + +  start_shell/0 + + The documentation for start_shell/0 is hidden. This probably + means that it is internal and not to be used by other + applications. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_start_shell_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_start_shell_1_func.txt new file mode 100644 index 000000000000..54a4c7d9614c --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_start_shell_1_func.txt @@ -0,0 +1,6 @@ + +  start_shell/1 + + The documentation for start_shell/1 is hidden. This probably + means that it is internal and not to be used by other + applications. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_switch_loop_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_switch_loop_3_func.txt new file mode 100644 index 000000000000..7f54185896ab --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_switch_loop_3_func.txt @@ -0,0 +1,6 @@ + +  switch_loop/3 + + The documentation for switch_loop/3 is hidden. This probably + means that it is internal and not to be used by other + applications. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_whereis_group_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_whereis_group_0_func.txt new file mode 100644 index 000000000000..a13da7c1841e --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/kernel_user_drv_whereis_group_0_func.txt @@ -0,0 +1,6 @@ + +  whereis_group/0 + + The documentation for whereis_group/0 is hidden. This probably + means that it is internal and not to be used by other + applications. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/re.docs_v1 b/lib/stdlib/test/shell_docs_SUITE_data/re.docs_v1 index b4a7ae3e4d45..511c24152dbd 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/re.docs_v1 +++ b/lib/stdlib/test/shell_docs_SUITE_data/re.docs_v1 @@ -1 +1 @@ -{docs_v1,[{file,[114,101,46,101,114,108]},{location,0}],erlang,<<97,112,112,108,105,99,97,116,105,111,110,47,101,114,108,97,110,103,43,104,116,109,108>>,#{<<101,110>> => [{p,[],[<<84,104,105,115,32,109,111,100,117,108,101,32,99,111,110,116,97,105,110,115,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,115,32,102,111,114,32,115,116,114,105,110,103,115,32,97,110,100,32,98,105,110,97,114,105,101,115,46>>]},{p,[],[<<84,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,101,103,101,120,112,95,115,121,110,116,97,120>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110>>]},<<32,115,121,110,116,97,120,32,97,110,100,32,115,101,109,97,110,116,105,99,115,32,114,101,115,101,109,98,108,101,32,116,104,97,116,32,111,102,32,80,101,114,108,46>>]},{p,[],[<<84,104,101,32,109,97,116,99,104,105,110,103,32,97,108,103,111,114,105,116,104,109,115,32,111,102,32,116,104,101,32,108,105,98,114,97,114,121,32,97,114,101,32,98,97,115,101,100,32,111,110,32,116,104,101,32,80,67,82,69,32,108,105,98,114,97,114,121,44,32,98,117,116,32,110,111,116,32,97,108,108,32,111,102,32,116,104,101,32,80,67,82,69,32,108,105,98,114,97,114,121,32,105,115,32,105,110,116,101,114,102,97,99,101,100,32,97,110,100,32,115,111,109,101,32,112,97,114,116,115,32,111,102,32,116,104,101,32,108,105,98,114,97,114,121,32,103,111,32,98,101,121,111,110,100,32,119,104,97,116,32,80,67,82,69,32,111,102,102,101,114,115,46,32,67,117,114,114,101,110,116,108,121,32,80,67,82,69,32,118,101,114,115,105,111,110,32,56,46,52,48,32,40,114,101,108,101,97,115,101,32,100,97,116,101,32,50,48,49,55,45,48,49,45,49,49,41,32,105,115,32,117,115,101,100,46,32,84,104,101,32,115,101,99,116,105,111,110,115,32,111,102,32,116,104,101,32,80,67,82,69,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,116,104,97,116,32,97,114,101,32,114,101,108,101,118,97,110,116,32,116,111,32,116,104,105,115,32,109,111,100,117,108,101,32,97,114,101,32,105,110,99,108,117,100,101,100,32,104,101,114,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,69,114,108,97,110,103,32,108,105,116,101,114,97,108,32,115,121,110,116,97,120,32,102,111,114,32,115,116,114,105,110,103,115,32,117,115,101,115,32,116,104,101,32,34,92,34,32,40,98,97,99,107,115,108,97,115,104,41,32,99,104,97,114,97,99,116,101,114,32,97,115,32,97,110,32,101,115,99,97,112,101,32,99,111,100,101,46,32,89,111,117,32,110,101,101,100,32,116,111,32,101,115,99,97,112,101,32,98,97,99,107,115,108,97,115,104,101,115,32,105,110,32,108,105,116,101,114,97,108,32,115,116,114,105,110,103,115,44,32,98,111,116,104,32,105,110,32,121,111,117,114,32,99,111,100,101,32,97,110,100,32,105,110,32,116,104,101,32,115,104,101,108,108,44,32,119,105,116,104,32,97,110,32,101,120,116,114,97,32,98,97,99,107,115,108,97,115,104,44,32,116,104,97,116,32,105,115,44,32,34,92,92,34,46>>]}]},{a,[{id,<<114,101,103,101,120,112,95,115,121,110,116,97,120>>}],[]},{h2,[],[<<80,101,114,108,45,76,105,107,101,32,82,101,103,117,108,97,114,32,69,120,112,114,101,115,115,105,111,110,32,83,121,110,116,97,120>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,115,101,99,116,105,111,110,115,32,99,111,110,116,97,105,110,32,114,101,102,101,114,101,110,99,101,32,109,97,116,101,114,105,97,108,32,102,111,114,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,117,115,101,100,32,98,121,32,116,104,105,115,32,109,111,100,117,108,101,46,32,84,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32,98,97,115,101,100,32,111,110,32,116,104,101,32,80,67,82,69,32,100,111,99,117,109,101,110,116,97,116,105,111,110,44,32,119,105,116,104,32,99,104,97,110,103,101,115,32,119,104,101,114,101,32,116,104,105,115,32,109,111,100,117,108,101,32,98,101,104,97,118,101,115,32,100,105,102,102,101,114,101,110,116,108,121,32,116,111,32,116,104,101,32,80,67,82,69,32,108,105,98,114,97,114,121,46>>]},{a,[{id,<<114,101,103,101,120,112,95,115,121,110,116,97,120,95,100,101,116,97,105,108,115>>}],[]},{h2,[],[<<80,67,82,69,32,82,101,103,117,108,97,114,32,69,120,112,114,101,115,115,105,111,110,32,68,101,116,97,105,108,115>>]},{p,[],[<<84,104,101,32,115,121,110,116,97,120,32,97,110,100,32,115,101,109,97,110,116,105,99,115,32,111,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,115,117,112,112,111,114,116,101,100,32,98,121,32,80,67,82,69,32,97,114,101,32,100,101,115,99,114,105,98,101,100,32,105,110,32,100,101,116,97,105,108,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,101,99,116,105,111,110,115,46,32,80,101,114,108,39,115,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,97,114,101,32,100,101,115,99,114,105,98,101,100,32,105,110,32,105,116,115,32,111,119,110,32,100,111,99,117,109,101,110,116,97,116,105,111,110,44,32,97,110,100,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,103,101,110,101,114,97,108,32,97,114,101,32,99,111,118,101,114,101,100,32,105,110,32,109,97,110,121,32,98,111,111,107,115,44,32,115,111,109,101,32,119,105,116,104,32,99,111,112,105,111,117,115,32,101,120,97,109,112,108,101,115,46,32,74,101,102,102,114,101,121,32,70,114,105,101,100,108,39,115,32,34,77,97,115,116,101,114,105,110,103,32,82,101,103,117,108,97,114,32,69,120,112,114,101,115,115,105,111,110,115,34,44,32,112,117,98,108,105,115,104,101,100,32,98,121,32,79,39,82,101,105,108,108,121,44,32,99,111,118,101,114,115,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,103,114,101,97,116,32,100,101,116,97,105,108,46,32,84,104,105,115,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32,80,67,82,69,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,105,115,32,105,110,116,101,110,100,101,100,32,97,115,32,114,101,102,101,114,101,110,99,101,32,109,97,116,101,114,105,97,108,46>>]},{p,[],[<<84,104,101,32,114,101,102,101,114,101,110,99,101,32,109,97,116,101,114,105,97,108,32,105,115,32,100,105,118,105,100,101,100,32,105,110,116,111,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,101,99,116,105,111,110,115,58>>]},{ul,[],[{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,112,101,99,105,97,108,32,83,116,97,114,116,45,111,102,45,80,97,116,116,101,114,110,32,73,116,101,109,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,104,97,114,97,99,116,101,114,115,32,97,110,100,32,77,101,116,97,99,104,97,114,97,99,116,101,114,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<66,97,99,107,115,108,97,115,104>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,105,114,99,117,109,102,108,101,120,32,97,110,100,32,68,111,108,108,97,114>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,53>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<70,117,108,108,32,83,116,111,112,32,40,80,101,114,105,111,100,44,32,68,111,116,41,32,97,110,100,32,92,78>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,54>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<77,97,116,99,104,105,110,103,32,97,32,83,105,110,103,108,101,32,68,97,116,97,32,85,110,105,116>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,55>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,113,117,97,114,101,32,66,114,97,99,107,101,116,115,32,97,110,100,32,67,104,97,114,97,99,116,101,114,32,67,108,97,115,115,101,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,56>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<80,111,115,105,120,32,67,104,97,114,97,99,116,101,114,32,67,108,97,115,115,101,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,57>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<86,101,114,116,105,99,97,108,32,66,97,114>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<73,110,116,101,114,110,97,108,32,79,112,116,105,111,110,32,83,101,116,116,105,110,103>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,117,98,112,97,116,116,101,114,110,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<68,117,112,108,105,99,97,116,101,32,83,117,98,112,97,116,116,101,114,110,32,78,117,109,98,101,114,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<78,97,109,101,100,32,83,117,98,112,97,116,116,101,114,110,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<82,101,112,101,116,105,116,105,111,110>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,53>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<65,116,111,109,105,99,32,71,114,111,117,112,105,110,103,32,97,110,100,32,80,111,115,115,101,115,115,105,118,101,32,81,117,97,110,116,105,102,105,101,114,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,54>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<66,97,99,107,32,82,101,102,101,114,101,110,99,101,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,55>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<65,115,115,101,114,116,105,111,110,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,56>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,111,110,100,105,116,105,111,110,97,108,32,83,117,98,112,97,116,116,101,114,110,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,57>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,111,109,109,101,110,116,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,50,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<82,101,99,117,114,115,105,118,101,32,80,97,116,116,101,114,110,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,50,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,117,98,112,97,116,116,101,114,110,115,32,97,115,32,83,117,98,114,111,117,116,105,110,101,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,50,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<79,110,105,103,117,114,117,109,97,32,83,117,98,114,111,117,116,105,110,101,32,83,121,110,116,97,120>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,50,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<66,97,99,107,116,114,97,99,107,105,110,103,32,67,111,110,116,114,111,108>>]}]}]},{a,[{id,<<115,101,99,116,49>>}],[]},{h2,[],[<<83,112,101,99,105,97,108,32,83,116,97,114,116,45,111,102,45,80,97,116,116,101,114,110,32,73,116,101,109,115>>]},{p,[],[<<83,111,109,101,32,111,112,116,105,111,110,115,32,116,104,97,116,32,99,97,110,32,98,101,32,112,97,115,115,101,100,32,116,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,99,111,109,112,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,111,109,112,105,108,101,47,50>>]}]},<<32,99,97,110,32,97,108,115,111,32,98,101,32,115,101,116,32,98,121,32,115,112,101,99,105,97,108,32,105,116,101,109,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,97,32,112,97,116,116,101,114,110,46,32,84,104,101,115,101,32,97,114,101,32,110,111,116,32,80,101,114,108,45,99,111,109,112,97,116,105,98,108,101,44,32,98,117,116,32,97,114,101,32,112,114,111,118,105,100,101,100,32,116,111,32,109,97,107,101,32,116,104,101,115,101,32,111,112,116,105,111,110,115,32,97,99,99,101,115,115,105,98,108,101,32,116,111,32,112,97,116,116,101,114,110,32,119,114,105,116,101,114,115,32,119,104,111,32,97,114,101,32,110,111,116,32,97,98,108,101,32,116,111,32,99,104,97,110,103,101,32,116,104,101,32,112,114,111,103,114,97,109,32,116,104,97,116,32,112,114,111,99,101,115,115,101,115,32,116,104,101,32,112,97,116,116,101,114,110,46,32,65,110,121,32,110,117,109,98,101,114,32,111,102,32,116,104,101,115,101,32,105,116,101,109,115,32,99,97,110,32,97,112,112,101,97,114,44,32,98,117,116,32,116,104,101,121,32,109,117,115,116,32,97,108,108,32,98,101,32,116,111,103,101,116,104,101,114,32,114,105,103,104,116,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,115,116,114,105,110,103,44,32,97,110,100,32,116,104,101,32,108,101,116,116,101,114,115,32,109,117,115,116,32,98,101,32,105,110,32,117,112,112,101,114,32,99,97,115,101,46>>]},{p,[],[{em,[],[<<85,84,70,32,83,117,112,112,111,114,116>>]}]},{p,[],[<<85,110,105,99,111,100,101,32,115,117,112,112,111,114,116,32,105,115,32,98,97,115,105,99,97,108,108,121,32,85,84,70,45,56,32,98,97,115,101,100,46,32,84,111,32,117,115,101,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,44,32,121,111,117,32,101,105,116,104,101,114,32,99,97,108,108,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,99,111,109,112,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,111,109,112,105,108,101,47,50>>]}]},<<32,111,114,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,111,114,32,116,104,101,32,112,97,116,116,101,114,110,32,109,117,115,116,32,115,116,97,114,116,32,119,105,116,104,32,111,110,101,32,111,102,32,116,104,101,115,101,32,115,112,101,99,105,97,108,32,115,101,113,117,101,110,99,101,115,58>>]},{pre,[],[{code,[],[<<40,42,85,84,70,56,41,10,40,42,85,84,70,41>>]}]},{p,[],[<<66,111,116,104,32,111,112,116,105,111,110,115,32,103,105,118,101,32,116,104,101,32,115,97,109,101,32,101,102,102,101,99,116,44,32,116,104,101,32,105,110,112,117,116,32,115,116,114,105,110,103,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,85,84,70,45,56,46,32,78,111,116,105,99,101,32,116,104,97,116,32,119,105,116,104,32,116,104,101,115,101,32,105,110,115,116,114,117,99,116,105,111,110,115,44,32,116,104,101,32,97,117,116,111,109,97,116,105,99,32,99,111,110,118,101,114,115,105,111,110,32,111,102,32,108,105,115,116,115,32,116,111,32,85,84,70,45,56,32,105,115,32,110,111,116,32,112,101,114,102,111,114,109,101,100,32,98,121,32,116,104,101,32>>,{code,[],[<<114,101>>]},<<32,102,117,110,99,116,105,111,110,115,46,32,84,104,101,114,101,102,111,114,101,44,32,117,115,105,110,103,32,116,104,101,115,101,32,115,101,113,117,101,110,99,101,115,32,105,115,32,110,111,116,32,114,101,99,111,109,109,101,110,100,101,100,46,32,65,100,100,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,119,104,101,110,32,114,117,110,110,105,110,103,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,99,111,109,112,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,111,109,112,105,108,101,47,50>>]}]},<<32,105,110,115,116,101,97,100,46>>]},{p,[],[<<83,111,109,101,32,97,112,112,108,105,99,97,116,105,111,110,115,32,116,104,97,116,32,97,108,108,111,119,32,116,104,101,105,114,32,117,115,101,114,115,32,116,111,32,115,117,112,112,108,121,32,112,97,116,116,101,114,110,115,32,99,97,110,32,119,105,115,104,32,116,111,32,114,101,115,116,114,105,99,116,32,116,104,101,109,32,116,111,32,110,111,110,45,85,84,70,32,100,97,116,97,32,102,111,114,32,115,101,99,117,114,105,116,121,32,114,101,97,115,111,110,115,46,32,73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<110,101,118,101,114,95,117,116,102>>]},<<32,105,115,32,115,101,116,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,44,32,40,42,85,84,70,41,44,32,97,110,100,32,115,111,32,111,110,44,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,44,32,97,110,100,32,116,104,101,105,114,32,97,112,112,101,97,114,97,110,99,101,32,99,97,117,115,101,115,32,97,110,32,101,114,114,111,114,46>>]},{p,[],[{em,[],[<<85,110,105,99,111,100,101,32,80,114,111,112,101,114,116,121,32,83,117,112,112,111,114,116>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,105,115,32,97,110,111,116,104,101,114,32,115,112,101,99,105,97,108,32,115,101,113,117,101,110,99,101,32,116,104,97,116,32,99,97,110,32,97,112,112,101,97,114,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,97,32,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[],[<<40,42,85,67,80,41>>]}]},{p,[],[<<84,104,105,115,32,104,97,115,32,116,104,101,32,115,97,109,101,32,101,102,102,101,99,116,32,97,115,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<117,99,112>>]},<<58,32,105,116,32,99,97,117,115,101,115,32,115,101,113,117,101,110,99,101,115,32,115,117,99,104,32,97,115,32,92,100,32,97,110,100,32,92,119,32,116,111,32,117,115,101,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,105,101,115,32,116,111,32,100,101,116,101,114,109,105,110,101,32,99,104,97,114,97,99,116,101,114,32,116,121,112,101,115,44,32,105,110,115,116,101,97,100,32,111,102,32,114,101,99,111,103,110,105,122,105,110,103,32,111,110,108,121,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,99,111,100,101,115,32,60,32,50,53,54,32,116,104,114,111,117,103,104,32,97,32,108,111,111,107,117,112,32,116,97,98,108,101,46>>]},{p,[],[{em,[],[<<68,105,115,97,98,108,105,110,103,32,83,116,97,114,116,117,112,32,79,112,116,105,109,105,122,97,116,105,111,110,115>>]}]},{p,[],[<<73,102,32,97,32,112,97,116,116,101,114,110,32,115,116,97,114,116,115,32,119,105,116,104,32>>,{code,[],[<<40,42,78,79,95,83,84,65,82,84,95,79,80,84,41>>]},<<44,32,105,116,32,104,97,115,32,116,104,101,32,115,97,109,101,32,101,102,102,101,99,116,32,97,115,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<110,111,95,115,116,97,114,116,95,111,112,116,105,109,105,122,101>>]},<<32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,46>>]},{p,[],[{em,[],[<<78,101,119,108,105,110,101,32,67,111,110,118,101,110,116,105,111,110,115>>]}]},{a,[{id,<<110,101,119,108,105,110,101,95,99,111,110,118,101,110,116,105,111,110,115>>}],[]},{p,[],[<<80,67,82,69,32,115,117,112,112,111,114,116,115,32,102,105,118,101,32,99,111,110,118,101,110,116,105,111,110,115,32,102,111,114,32,105,110,100,105,99,97,116,105,110,103,32,108,105,110,101,32,98,114,101,97,107,115,32,105,110,32,115,116,114,105,110,103,115,58,32,97,32,115,105,110,103,108,101,32,67,82,32,40,99,97,114,114,105,97,103,101,32,114,101,116,117,114,110,41,32,99,104,97,114,97,99,116,101,114,44,32,97,32,115,105,110,103,108,101,32,76,70,32,40,108,105,110,101,32,102,101,101,100,41,32,99,104,97,114,97,99,116,101,114,44,32,116,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,32,67,82,76,70,44,32,97,110,121,32,111,102,32,116,104,101,32,116,104,114,101,101,32,112,114,101,99,101,100,105,110,103,44,32,97,110,100,32,97,110,121,32,85,110,105,99,111,100,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,46>>]},{p,[],[<<65,32,110,101,119,108,105,110,101,32,99,111,110,118,101,110,116,105,111,110,32,99,97,110,32,97,108,115,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,98,121,32,115,116,97,114,116,105,110,103,32,97,32,112,97,116,116,101,114,110,32,115,116,114,105,110,103,32,119,105,116,104,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,105,118,101,32,115,101,113,117,101,110,99,101,115,58>>]},{dl,[],[{dt,[],[<<40,42,67,82,41>>]},{dd,[],[<<67,97,114,114,105,97,103,101,32,114,101,116,117,114,110>>]},{dt,[],[<<40,42,76,70,41>>]},{dd,[],[<<76,105,110,101,32,102,101,101,100>>]},{dt,[],[<<40,42,67,82,76,70,41>>]},{dd,[],[<<62,67,97,114,114,105,97,103,101,32,114,101,116,117,114,110,32,102,111,108,108,111,119,101,100,32,98,121,32,108,105,110,101,32,102,101,101,100>>]},{dt,[],[<<40,42,65,78,89,67,82,76,70,41>>]},{dd,[],[<<65,110,121,32,111,102,32,116,104,101,32,116,104,114,101,101,32,97,98,111,118,101>>]},{dt,[],[<<40,42,65,78,89,41>>]},{dd,[],[<<65,108,108,32,85,110,105,99,111,100,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,115>>]}]},{p,[],[<<84,104,101,115,101,32,111,118,101,114,114,105,100,101,32,116,104,101,32,100,101,102,97,117,108,116,32,97,110,100,32,116,104,101,32,111,112,116,105,111,110,115,32,115,112,101,99,105,102,105,101,100,32,116,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,99,111,109,112,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,111,109,112,105,108,101,47,50>>]}]},<<46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,99,104,97,110,103,101,115,32,116,104,101,32,99,111,110,118,101,110,116,105,111,110,32,116,111,32,67,82,58>>]},{pre,[],[{code,[],[<<40,42,67,82,41,97,46,98>>]}]},{p,[],[<<84,104,105,115,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32>>,{code,[],[<<97,92,110,98>>]},<<44,32,97,115,32,76,70,32,105,115,32,110,111,32,108,111,110,103,101,114,32,97,32,110,101,119,108,105,110,101,46,32,73,102,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,111,102,32,116,104,101,109,32,105,115,32,112,114,101,115,101,110,116,44,32,116,104,101,32,108,97,115,116,32,111,110,101,32,105,115,32,117,115,101,100,46>>]},{p,[],[<<84,104,101,32,110,101,119,108,105,110,101,32,99,111,110,118,101,110,116,105,111,110,32,97,102,102,101,99,116,115,32,119,104,101,114,101,32,116,104,101,32,99,105,114,99,117,109,102,108,101,120,32,97,110,100,32,100,111,108,108,97,114,32,97,115,115,101,114,116,105,111,110,115,32,97,114,101,32,116,114,117,101,46,32,73,116,32,97,108,115,111,32,97,102,102,101,99,116,115,32,116,104,101,32,105,110,116,101,114,112,114,101,116,97,116,105,111,110,32,111,102,32,116,104,101,32,100,111,116,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,119,104,101,110,32>>,{code,[],[<<100,111,116,97,108,108>>]},<<32,105,115,32,110,111,116,32,115,101,116,44,32,97,110,100,32,116,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,92,78,46,32,72,111,119,101,118,101,114,44,32,105,116,32,100,111,101,115,32,110,111,116,32,97,102,102,101,99,116,32,119,104,97,116,32,116,104,101,32,92,82,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,109,97,116,99,104,101,115,46,32,66,121,32,100,101,102,97,117,108,116,44,32,116,104,105,115,32,105,115,32,97,110,121,32,85,110,105,99,111,100,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,44,32,102,111,114,32,80,101,114,108,32,99,111,109,112,97,116,105,98,105,108,105,116,121,46,32,72,111,119,101,118,101,114,44,32,116,104,105,115,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,59,32,115,101,101,32,116,104,101,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,92,82,32,105,110,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,110,101,119,108,105,110,101,95,115,101,113,117,101,110,99,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<78,101,119,108,105,110,101,32,83,101,113,117,101,110,99,101,115>>]},<<46,32,65,32,99,104,97,110,103,101,32,111,102,32,116,104,101,32,92,82,32,115,101,116,116,105,110,103,32,99,97,110,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,97,32,99,104,97,110,103,101,32,111,102,32,116,104,101,32,110,101,119,108,105,110,101,32,99,111,110,118,101,110,116,105,111,110,46>>]},{p,[],[{em,[],[<<83,101,116,116,105,110,103,32,77,97,116,99,104,32,97,110,100,32,82,101,99,117,114,115,105,111,110,32,76,105,109,105,116,115>>]}]},{p,[],[<<84,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<32,99,97,110,32,115,101,116,32,97,32,108,105,109,105,116,32,111,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,116,105,109,101,115,32,116,104,101,32,105,110,116,101,114,110,97,108,32,109,97,116,99,104,40,41,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,32,97,110,100,32,111,110,32,116,104,101,32,109,97,120,105,109,117,109,32,100,101,112,116,104,32,111,102,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,115,46,32,84,104,101,115,101,32,102,97,99,105,108,105,116,105,101,115,32,97,114,101,32,112,114,111,118,105,100,101,100,32,116,111,32,99,97,116,99,104,32,114,117,110,97,119,97,121,32,109,97,116,99,104,101,115,32,116,104,97,116,32,97,114,101,32,112,114,111,118,111,107,101,100,32,98,121,32,112,97,116,116,101,114,110,115,32,119,105,116,104,32,104,117,103,101,32,109,97,116,99,104,105,110,103,32,116,114,101,101,115,32,40,97,32,116,121,112,105,99,97,108,32,101,120,97,109,112,108,101,32,105,115,32,97,32,112,97,116,116,101,114,110,32,119,105,116,104,32,110,101,115,116,101,100,32,117,110,108,105,109,105,116,101,100,32,114,101,112,101,97,116,115,41,32,97,110,100,32,116,111,32,97,118,111,105,100,32,114,117,110,110,105,110,103,32,111,117,116,32,111,102,32,115,121,115,116,101,109,32,115,116,97,99,107,32,98,121,32,116,111,111,32,109,117,99,104,32,114,101,99,117,114,115,105,111,110,46,32,87,104,101,110,32,111,110,101,32,111,102,32,116,104,101,115,101,32,108,105,109,105,116,115,32,105,115,32,114,101,97,99,104,101,100,44,32>>,{code,[],[<<112,99,114,101,95,101,120,101,99,40,41>>]},<<32,103,105,118,101,115,32,97,110,32,101,114,114,111,114,32,114,101,116,117,114,110,46,32,84,104,101,32,108,105,109,105,116,115,32,99,97,110,32,97,108,115,111,32,98,101,32,115,101,116,32,98,121,32,105,116,101,109,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,111,114,109,115,58>>]},{pre,[],[{code,[],[<<40,42,76,73,77,73,84,95,77,65,84,67,72,61,100,41,10,40,42,76,73,77,73,84,95,82,69,67,85,82,83,73,79,78,61,100,41>>]}]},{p,[],[<<72,101,114,101,32,100,32,105,115,32,97,110,121,32,110,117,109,98,101,114,32,111,102,32,100,101,99,105,109,97,108,32,100,105,103,105,116,115,46,32,72,111,119,101,118,101,114,44,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,115,101,116,116,105,110,103,32,109,117,115,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,116,104,101,32,118,97,108,117,101,32,115,101,116,32,98,121,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,102,111,114,32,105,116,32,116,111,32,104,97,118,101,32,97,110,121,32,101,102,102,101,99,116,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,112,97,116,116,101,114,110,32,119,114,105,116,101,114,32,99,97,110,32,108,111,119,101,114,32,116,104,101,32,108,105,109,105,116,32,115,101,116,32,98,121,32,116,104,101,32,112,114,111,103,114,97,109,109,101,114,44,32,98,117,116,32,110,111,116,32,114,97,105,115,101,32,105,116,46,32,73,102,32,116,104,101,114,101,32,105,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,101,116,116,105,110,103,32,111,102,32,111,110,101,32,111,102,32,116,104,101,115,101,32,108,105,109,105,116,115,44,32,116,104,101,32,108,111,119,101,114,32,118,97,108,117,101,32,105,115,32,117,115,101,100,46>>]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,102,111,114,32,98,111,116,104,32,116,104,101,32,108,105,109,105,116,115,32,105,115,32,49,48,44,48,48,48,44,48,48,48,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,86,77,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,108,105,109,105,116,32,100,111,101,115,32,110,111,116,32,97,102,102,101,99,116,32,116,104,101,32,115,116,97,99,107,32,100,101,112,116,104,32,111,102,32,116,104,101,32,86,77,44,32,97,115,32,80,67,82,69,32,102,111,114,32,69,114,108,97,110,103,32,105,115,32,99,111,109,112,105,108,101,100,32,105,110,32,115,117,99,104,32,97,32,119,97,121,32,116,104,97,116,32,116,104,101,32,109,97,116,99,104,32,102,117,110,99,116,105,111,110,32,110,101,118,101,114,32,100,111,101,115,32,114,101,99,117,114,115,105,111,110,32,111,110,32,116,104,101,32,67,32,115,116,97,99,107,46>>]},{p,[],[<<78,111,116,101,32,116,104,97,116,32>>,{code,[],[<<76,73,77,73,84,95,77,65,84,67,72>>]},<<32,97,110,100,32>>,{code,[],[<<76,73,77,73,84,95,82,69,67,85,82,83,73,79,78>>]},<<32,99,97,110,32,111,110,108,121,32,114,101,100,117,99,101,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,108,105,109,105,116,115,32,115,101,116,32,98,121,32,116,104,101,32,99,97,108,108,101,114,44,32,110,111,116,32,105,110,99,114,101,97,115,101,32,116,104,101,109,46>>]},{a,[{id,<<115,101,99,116,50>>}],[]},{h2,[],[<<67,104,97,114,97,99,116,101,114,115,32,97,110,100,32,77,101,116,97,99,104,97,114,97,99,116,101,114,115>>]},{p,[],[<<65,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,97,32,112,97,116,116,101,114,110,32,116,104,97,116,32,105,115,32,109,97,116,99,104,101,100,32,97,103,97,105,110,115,116,32,97,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,102,114,111,109,32,108,101,102,116,32,116,111,32,114,105,103,104,116,46,32,77,111,115,116,32,99,104,97,114,97,99,116,101,114,115,32,115,116,97,110,100,32,102,111,114,32,116,104,101,109,115,101,108,118,101,115,32,105,110,32,97,32,112,97,116,116,101,114,110,32,97,110,100,32,109,97,116,99,104,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,46,32,65,115,32,97,32,116,114,105,118,105,97,108,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,97,32,112,111,114,116,105,111,110,32,111,102,32,97,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,116,104,97,116,32,105,115,32,105,100,101,110,116,105,99,97,108,32,116,111,32,105,116,115,101,108,102,58>>]},{pre,[],[{code,[],[<<84,104,101,32,113,117,105,99,107,32,98,114,111,119,110,32,102,111,120>>]}]},{p,[],[<<87,104,101,110,32,99,97,115,101,108,101,115,115,32,109,97,116,99,104,105,110,103,32,105,115,32,115,112,101,99,105,102,105,101,100,32,40,111,112,116,105,111,110,32>>,{code,[],[<<99,97,115,101,108,101,115,115>>]},<<41,44,32,108,101,116,116,101,114,115,32,97,114,101,32,109,97,116,99,104,101,100,32,105,110,100,101,112,101,110,100,101,110,116,108,121,32,111,102,32,99,97,115,101,46>>]},{p,[],[<<84,104,101,32,112,111,119,101,114,32,111,102,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,99,111,109,101,115,32,102,114,111,109,32,116,104,101,32,97,98,105,108,105,116,121,32,116,111,32,105,110,99,108,117,100,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,110,100,32,114,101,112,101,116,105,116,105,111,110,115,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46,32,84,104,101,115,101,32,97,114,101,32,101,110,99,111,100,101,100,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,98,121,32,116,104,101,32,117,115,101,32,111,102,32>>,{em,[],[<<109,101,116,97,99,104,97,114,97,99,116,101,114,115>>]},<<44,32,119,104,105,99,104,32,100,111,32,110,111,116,32,115,116,97,110,100,32,102,111,114,32,116,104,101,109,115,101,108,118,101,115,32,98,117,116,32,105,110,115,116,101,97,100,32,97,114,101,32,105,110,116,101,114,112,114,101,116,101,100,32,105,110,32,115,111,109,101,32,115,112,101,99,105,97,108,32,119,97,121,46>>]},{p,[],[<<84,119,111,32,115,101,116,115,32,111,102,32,109,101,116,97,99,104,97,114,97,99,116,101,114,115,32,101,120,105,115,116,58,32,116,104,111,115,101,32,116,104,97,116,32,97,114,101,32,114,101,99,111,103,110,105,122,101,100,32,97,110,121,119,104,101,114,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,101,120,99,101,112,116,32,119,105,116,104,105,110,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,115,44,32,97,110,100,32,116,104,111,115,101,32,116,104,97,116,32,97,114,101,32,114,101,99,111,103,110,105,122,101,100,32,119,105,116,104,105,110,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,115,46,32,79,117,116,115,105,100,101,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,115,44,32,116,104,101,32,109,101,116,97,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[<<92>>]},{dd,[],[<<71,101,110,101,114,97,108,32,101,115,99,97,112,101,32,99,104,97,114,97,99,116,101,114,32,119,105,116,104,32,109,97,110,121,32,117,115,101,115>>]},{dt,[],[<<94>>]},{dd,[],[<<65,115,115,101,114,116,32,115,116,97,114,116,32,111,102,32,115,116,114,105,110,103,32,40,111,114,32,108,105,110,101,44,32,105,110,32,109,117,108,116,105,108,105,110,101,32,109,111,100,101,41>>]},{dt,[],[<<36>>]},{dd,[],[<<65,115,115,101,114,116,32,101,110,100,32,111,102,32,115,116,114,105,110,103,32,40,111,114,32,108,105,110,101,44,32,105,110,32,109,117,108,116,105,108,105,110,101,32,109,111,100,101,41>>]},{dt,[],[<<46>>]},{dd,[],[<<77,97,116,99,104,32,97,110,121,32,99,104,97,114,97,99,116,101,114,32,101,120,99,101,112,116,32,110,101,119,108,105,110,101,32,40,98,121,32,100,101,102,97,117,108,116,41>>]},{dt,[],[<<91>>]},{dd,[],[<<83,116,97,114,116,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,100,101,102,105,110,105,116,105,111,110>>]},{dt,[],[<<124>>]},{dd,[],[<<83,116,97,114,116,32,111,102,32,97,108,116,101,114,110,97,116,105,118,101,32,98,114,97,110,99,104>>]},{dt,[],[<<40>>]},{dd,[],[<<83,116,97,114,116,32,115,117,98,112,97,116,116,101,114,110>>]},{dt,[],[<<41>>]},{dd,[],[<<69,110,100,32,115,117,98,112,97,116,116,101,114,110>>]},{dt,[],[<<63>>]},{dd,[],[<<69,120,116,101,110,100,115,32,116,104,101,32,109,101,97,110,105,110,103,32,111,102,32,40,44,32,97,108,115,111,32,48,32,111,114,32,49,32,113,117,97,110,116,105,102,105,101,114,44,32,97,108,115,111,32,113,117,97,110,116,105,102,105,101,114,32,109,105,110,105,109,105,122,101,114>>]},{dt,[],[<<42>>]},{dd,[],[<<48,32,111,114,32,109,111,114,101,32,113,117,97,110,116,105,102,105,101,114,115>>]},{dt,[],[<<43>>]},{dd,[],[<<49,32,111,114,32,109,111,114,101,32,113,117,97,110,116,105,102,105,101,114,44,32,97,108,115,111,32,34,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,34>>]},{dt,[],[<<123>>]},{dd,[],[<<83,116,97,114,116,32,109,105,110,47,109,97,120,32,113,117,97,110,116,105,102,105,101,114>>]}]},{p,[],[<<80,97,114,116,32,111,102,32,97,32,112,97,116,116,101,114,110,32,119,105,116,104,105,110,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,115,32,105,115,32,99,97,108,108,101,100,32,97,32,34,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,34,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,111,110,108,121,32,109,101,116,97,99,104,97,114,97,99,116,101,114,115,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,58>>]},{dl,[],[{dt,[],[<<92>>]},{dd,[],[<<71,101,110,101,114,97,108,32,101,115,99,97,112,101,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<94>>]},{dd,[],[<<78,101,103,97,116,101,32,116,104,101,32,99,108,97,115,115,44,32,98,117,116,32,111,110,108,121,32,105,102,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<45>>]},{dd,[],[<<73,110,100,105,99,97,116,101,115,32,99,104,97,114,97,99,116,101,114,32,114,97,110,103,101>>]},{dt,[],[<<91>>]},{dd,[],[<<80,111,115,105,120,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,40,111,110,108,121,32,105,102,32,102,111,108,108,111,119,101,100,32,98,121,32,80,111,115,105,120,32,115,121,110,116,97,120,41>>]},{dt,[],[<<93>>]},{dd,[],[<<84,101,114,109,105,110,97,116,101,115,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,115,101,99,116,105,111,110,115,32,100,101,115,99,114,105,98,101,32,116,104,101,32,117,115,101,32,111,102,32,101,97,99,104,32,109,101,116,97,99,104,97,114,97,99,116,101,114,46>>]},{a,[{id,<<115,101,99,116,51>>}],[]},{h2,[],[<<66,97,99,107,115,108,97,115,104>>]},{p,[],[<<84,104,101,32,98,97,99,107,115,108,97,115,104,32,99,104,97,114,97,99,116,101,114,32,104,97,115,32,109,97,110,121,32,117,115,101,115,46,32,70,105,114,115,116,44,32,105,102,32,105,116,32,105,115,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,110,111,116,32,97,32,110,117,109,98,101,114,32,111,114,32,97,32,108,101,116,116,101,114,44,32,105,116,32,116,97,107,101,115,32,97,119,97,121,32,97,110,121,32,115,112,101,99,105,97,108,32,109,101,97,110,105,110,103,32,116,104,97,116,32,97,32,99,104,97,114,97,99,116,101,114,32,99,97,110,32,104,97,118,101,46,32,84,104,105,115,32,117,115,101,32,111,102,32,98,97,99,107,115,108,97,115,104,32,97,115,32,97,110,32,101,115,99,97,112,101,32,99,104,97,114,97,99,116,101,114,32,97,112,112,108,105,101,115,32,98,111,116,104,32,105,110,115,105,100,101,32,97,110,100,32,111,117,116,115,105,100,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,46>>]},{p,[],[<<70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32,121,111,117,32,119,97,110,116,32,116,111,32,109,97,116,99,104,32,97,32,42,32,99,104,97,114,97,99,116,101,114,44,32,121,111,117,32,119,114,105,116,101,32,92,42,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46,32,84,104,105,115,32,101,115,99,97,112,105,110,103,32,97,99,116,105,111,110,32,97,112,112,108,105,101,115,32,105,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,99,104,97,114,97,99,116,101,114,32,119,111,117,108,100,32,111,116,104,101,114,119,105,115,101,32,98,101,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,32,109,101,116,97,99,104,97,114,97,99,116,101,114,44,32,115,111,32,105,116,32,105,115,32,97,108,119,97,121,115,32,115,97,102,101,32,116,111,32,112,114,101,99,101,100,101,32,97,32,110,111,110,45,97,108,112,104,97,110,117,109,101,114,105,99,32,119,105,116,104,32,98,97,99,107,115,108,97,115,104,32,116,111,32,115,112,101,99,105,102,121,32,116,104,97,116,32,105,116,32,115,116,97,110,100,115,32,102,111,114,32,105,116,115,101,108,102,46,32,73,110,32,112,97,114,116,105,99,117,108,97,114,44,32,105,102,32,121,111,117,32,119,97,110,116,32,116,111,32,109,97,116,99,104,32,97,32,98,97,99,107,115,108,97,115,104,44,32,119,114,105,116,101,32,92,92,46>>]},{p,[],[<<73,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,109,111,100,101,44,32,111,110,108,121,32,65,83,67,73,73,32,110,117,109,98,101,114,115,32,97,110,100,32,108,101,116,116,101,114,115,32,104,97,118,101,32,97,110,121,32,115,112,101,99,105,97,108,32,109,101,97,110,105,110,103,32,97,102,116,101,114,32,97,32,98,97,99,107,115,108,97,115,104,46,32,65,108,108,32,111,116,104,101,114,32,99,104,97,114,97,99,116,101,114,115,32,40,105,110,32,112,97,114,116,105,99,117,108,97,114,44,32,116,104,111,115,101,32,119,104,111,115,101,32,99,111,100,101,32,112,111,105,110,116,115,32,97,114,101,32,62,32,49,50,55,41,32,97,114,101,32,116,114,101,97,116,101,100,32,97,115,32,108,105,116,101,114,97,108,115,46>>]},{p,[],[<<73,102,32,97,32,112,97,116,116,101,114,110,32,105,115,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]},<<44,32,119,104,105,116,101,115,112,97,99,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,40,111,116,104,101,114,32,116,104,97,110,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,41,32,97,110,100,32,99,104,97,114,97,99,116,101,114,115,32,98,101,116,119,101,101,110,32,97,32,35,32,111,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,97,110,100,32,116,104,101,32,110,101,120,116,32,110,101,119,108,105,110,101,32,97,114,101,32,105,103,110,111,114,101,100,46,32,65,110,32,101,115,99,97,112,105,110,103,32,98,97,99,107,115,108,97,115,104,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,105,110,99,108,117,100,101,32,97,32,119,104,105,116,101,115,112,97,99,101,32,111,114,32,35,32,99,104,97,114,97,99,116,101,114,32,97,115,32,112,97,114,116,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,46>>]},{p,[],[<<84,111,32,114,101,109,111,118,101,32,116,104,101,32,115,112,101,99,105,97,108,32,109,101,97,110,105,110,103,32,102,114,111,109,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,99,104,97,114,97,99,116,101,114,115,44,32,112,117,116,32,116,104,101,109,32,98,101,116,119,101,101,110,32,92,81,32,97,110,100,32,92,69,46,32,84,104,105,115,32,105,115,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,80,101,114,108,32,105,110,32,116,104,97,116,32,36,32,97,110,100,32,64,32,97,114,101,32,104,97,110,100,108,101,100,32,97,115,32,108,105,116,101,114,97,108,115,32,105,110,32,92,81,46,46,46,92,69,32,115,101,113,117,101,110,99,101,115,32,105,110,32,80,67,82,69,44,32,119,104,105,108,101,32,36,32,97,110,100,32,64,32,99,97,117,115,101,32,118,97,114,105,97,98,108,101,32,105,110,116,101,114,112,111,108,97,116,105,111,110,32,105,110,32,80,101,114,108,46,32,78,111,116,105,99,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<80,97,116,116,101,114,110,32,32,32,32,32,32,32,32,32,32,32,32,80,67,82,69,32,109,97,116,99,104,101,115,32,32,32,80,101,114,108,32,109,97,116,99,104,101,115,10,10,92,81,97,98,99,36,120,121,122,92,69,32,32,32,32,32,32,32,32,97,98,99,36,120,121,122,32,32,32,32,32,32,32,32,97,98,99,32,102,111,108,108,111,119,101,100,32,98,121,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32,36,120,121,122,10,92,81,97,98,99,92,36,120,121,122,92,69,32,32,32,32,32,32,32,97,98,99,92,36,120,121,122,32,32,32,32,32,32,32,97,98,99,92,36,120,121,122,10,92,81,97,98,99,92,69,92,36,92,81,120,121,122,92,69,32,32,32,97,98,99,36,120,121,122,32,32,32,32,32,32,32,32,97,98,99,36,120,121,122>>]}]},{p,[],[<<84,104,101,32,92,81,46,46,46,92,69,32,115,101,113,117,101,110,99,101,32,105,115,32,114,101,99,111,103,110,105,122,101,100,32,98,111,116,104,32,105,110,115,105,100,101,32,97,110,100,32,111,117,116,115,105,100,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,46,32,65,110,32,105,115,111,108,97,116,101,100,32,92,69,32,116,104,97,116,32,105,115,32,110,111,116,32,112,114,101,99,101,100,101,100,32,98,121,32,92,81,32,105,115,32,105,103,110,111,114,101,100,46,32,73,102,32,92,81,32,105,115,32,110,111,116,32,102,111,108,108,111,119,101,100,32,98,121,32,92,69,32,108,97,116,101,114,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,44,32,116,104,101,32,108,105,116,101,114,97,108,32,105,110,116,101,114,112,114,101,116,97,116,105,111,110,32,99,111,110,116,105,110,117,101,115,32,116,111,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,40,116,104,97,116,32,105,115,44,32,92,69,32,105,115,32,97,115,115,117,109,101,100,32,97,116,32,116,104,101,32,101,110,100,41,46,32,73,102,32,116,104,101,32,105,115,111,108,97,116,101,100,32,92,81,32,105,115,32,105,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,116,104,105,115,32,99,97,117,115,101,115,32,97,110,32,101,114,114,111,114,44,32,97,115,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,105,115,32,110,111,116,32,116,101,114,109,105,110,97,116,101,100,46>>]},{p,[],[{em,[],[<<78,111,110,45,80,114,105,110,116,105,110,103,32,67,104,97,114,97,99,116,101,114,115>>]}]},{a,[{id,<<110,111,110,95,112,114,105,110,116,105,110,103,95,99,104,97,114,97,99,116,101,114,115>>}],[]},{p,[],[<<65,32,115,101,99,111,110,100,32,117,115,101,32,111,102,32,98,97,99,107,115,108,97,115,104,32,112,114,111,118,105,100,101,115,32,97,32,119,97,121,32,111,102,32,101,110,99,111,100,105,110,103,32,110,111,110,45,112,114,105,110,116,105,110,103,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,112,97,116,116,101,114,110,115,32,105,110,32,97,32,118,105,115,105,98,108,101,32,109,97,110,110,101,114,46,32,84,104,101,114,101,32,105,115,32,110,111,32,114,101,115,116,114,105,99,116,105,111,110,32,111,110,32,116,104,101,32,97,112,112,101,97,114,97,110,99,101,32,111,102,32,110,111,110,45,112,114,105,110,116,105,110,103,32,99,104,97,114,97,99,116,101,114,115,44,32,97,112,97,114,116,32,102,114,111,109,32,116,104,101,32,98,105,110,97,114,121,32,122,101,114,111,32,116,104,97,116,32,116,101,114,109,105,110,97,116,101,115,32,97,32,112,97,116,116,101,114,110,46,32,87,104,101,110,32,97,32,112,97,116,116,101,114,110,32,105,115,32,112,114,101,112,97,114,101,100,32,98,121,32,116,101,120,116,32,101,100,105,116,105,110,103,44,32,105,116,32,105,115,32,111,102,116,101,110,32,101,97,115,105,101,114,32,116,111,32,117,115,101,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,32,116,104,97,110,32,116,104,101,32,98,105,110,97,114,121,32,99,104,97,114,97,99,116,101,114,32,105,116,32,114,101,112,114,101,115,101,110,116,115,58>>]},{dl,[],[{dt,[],[<<92,97>>]},{dd,[],[<<65,108,97,114,109,44,32,116,104,97,116,32,105,115,44,32,116,104,101,32,66,69,76,32,99,104,97,114,97,99,116,101,114,32,40,104,101,120,32,48,55,41>>]},{dt,[],[<<92,99,120>>]},{dd,[],[<<34,67,111,110,116,114,111,108,45,120,34,44,32,119,104,101,114,101,32,120,32,105,115,32,97,110,121,32,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,101>>]},{dd,[],[<<69,115,99,97,112,101,32,40,104,101,120,32,49,66,41>>]},{dt,[],[<<92,102>>]},{dd,[],[<<70,111,114,109,32,102,101,101,100,32,40,104,101,120,32,48,67,41>>]},{dt,[],[<<92,110>>]},{dd,[],[<<76,105,110,101,32,102,101,101,100,32,40,104,101,120,32,48,65,41>>]},{dt,[],[<<92,114>>]},{dd,[],[<<67,97,114,114,105,97,103,101,32,114,101,116,117,114,110,32,40,104,101,120,32,48,68,41>>]},{dt,[],[<<92,116>>]},{dd,[],[<<84,97,98,32,40,104,101,120,32,48,57,41>>]},{dt,[],[<<92,48,100,100>>]},{dd,[],[<<67,104,97,114,97,99,116,101,114,32,119,105,116,104,32,111,99,116,97,108,32,99,111,100,101,32,48,100,100>>]},{dt,[],[<<92,100,100,100>>]},{dd,[],[<<67,104,97,114,97,99,116,101,114,32,119,105,116,104,32,111,99,116,97,108,32,99,111,100,101,32,100,100,100,44,32,111,114,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101>>]},{dt,[],[<<92,111,123,100,100,100,46,46,125>>]},{dd,[],[<<99,104,97,114,97,99,116,101,114,32,119,105,116,104,32,111,99,116,97,108,32,99,111,100,101,32,100,100,100,46,46>>]},{dt,[],[<<92,120,104,104>>]},{dd,[],[<<67,104,97,114,97,99,116,101,114,32,119,105,116,104,32,104,101,120,32,99,111,100,101,32,104,104>>]},{dt,[],[<<92,120,123,104,104,104,46,46,125>>]},{dd,[],[<<67,104,97,114,97,99,116,101,114,32,119,105,116,104,32,104,101,120,32,99,111,100,101,32,104,104,104,46,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<78,111,116,101,32,116,104,97,116,32,92,48,100,100,32,105,115,32,97,108,119,97,121,115,32,97,110,32,111,99,116,97,108,32,99,111,100,101,44,32,97,110,100,32,116,104,97,116,32,92,56,32,97,110,100,32,92,57,32,97,114,101,32,116,104,101,32,108,105,116,101,114,97,108,32,99,104,97,114,97,99,116,101,114,115,32,34,56,34,32,97,110,100,32,34,57,34,46>>]}]},{p,[],[<<84,104,101,32,112,114,101,99,105,115,101,32,101,102,102,101,99,116,32,111,102,32,92,99,120,32,111,110,32,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114,115,32,105,115,32,97,115,32,102,111,108,108,111,119,115,58,32,105,102,32,120,32,105,115,32,97,32,108,111,119,101,114,99,97,115,101,32,108,101,116,116,101,114,44,32,105,116,32,105,115,32,99,111,110,118,101,114,116,101,100,32,116,111,32,117,112,112,101,114,32,99,97,115,101,46,32,84,104,101,110,32,98,105,116,32,54,32,111,102,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,40,104,101,120,32,52,48,41,32,105,115,32,105,110,118,101,114,116,101,100,46,32,84,104,117,115,32,92,99,65,32,116,111,32,92,99,90,32,98,101,99,111,109,101,32,104,101,120,32,48,49,32,116,111,32,104,101,120,32,49,65,32,40,65,32,105,115,32,52,49,44,32,90,32,105,115,32,53,65,41,44,32,98,117,116,32,92,99,123,32,98,101,99,111,109,101,115,32,104,101,120,32,51,66,32,40,123,32,105,115,32,55,66,41,44,32,97,110,100,32,92,99,59,32,98,101,99,111,109,101,115,32,104,101,120,32,55,66,32,40,59,32,105,115,32,51,66,41,46,32,73,102,32,116,104,101,32,100,97,116,97,32,105,116,101,109,32,40,98,121,116,101,32,111,114,32,49,54,45,98,105,116,32,118,97,108,117,101,41,32,102,111,108,108,111,119,105,110,103,32,92,99,32,104,97,115,32,97,32,118,97,108,117,101,32,62,32,49,50,55,44,32,97,32,99,111,109,112,105,108,101,45,116,105,109,101,32,101,114,114,111,114,32,111,99,99,117,114,115,46,32,84,104,105,115,32,108,111,99,107,115,32,111,117,116,32,110,111,110,45,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,97,108,108,32,109,111,100,101,115,46>>]},{p,[],[<<84,104,101,32,92,99,32,102,97,99,105,108,105,116,121,32,119,97,115,32,100,101,115,105,103,110,101,100,32,102,111,114,32,117,115,101,32,119,105,116,104,32,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114,115,44,32,98,117,116,32,119,105,116,104,32,116,104,101,32,101,120,116,101,110,115,105,111,110,32,116,111,32,85,110,105,99,111,100,101,32,105,116,32,105,115,32,101,118,101,110,32,108,101,115,115,32,117,115,101,102,117,108,32,116,104,97,110,32,105,116,32,111,110,99,101,32,119,97,115,46>>]},{p,[],[<<65,102,116,101,114,32,92,48,32,117,112,32,116,111,32,116,119,111,32,102,117,114,116,104,101,114,32,111,99,116,97,108,32,100,105,103,105,116,115,32,97,114,101,32,114,101,97,100,46,32,73,102,32,116,104,101,114,101,32,97,114,101,32,102,101,119,101,114,32,116,104,97,110,32,116,119,111,32,100,105,103,105,116,115,44,32,106,117,115,116,32,116,104,111,115,101,32,116,104,97,116,32,97,114,101,32,112,114,101,115,101,110,116,32,97,114,101,32,117,115,101,100,46,32,84,104,117,115,32,116,104,101,32,115,101,113,117,101,110,99,101,32,92,48,92,120,92,48,49,53,32,115,112,101,99,105,102,105,101,115,32,116,119,111,32,98,105,110,97,114,121,32,122,101,114,111,115,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,67,82,32,99,104,97,114,97,99,116,101,114,32,40,99,111,100,101,32,118,97,108,117,101,32,49,51,41,46,32,77,97,107,101,32,115,117,114,101,32,121,111,117,32,115,117,112,112,108,121,32,116,119,111,32,100,105,103,105,116,115,32,97,102,116,101,114,32,116,104,101,32,105,110,105,116,105,97,108,32,122,101,114,111,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,102,111,108,108,111,119,115,32,105,115,32,105,116,115,101,108,102,32,97,110,32,111,99,116,97,108,32,100,105,103,105,116,46>>]},{p,[],[<<84,104,101,32,101,115,99,97,112,101,32,92,111,32,109,117,115,116,32,98,101,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,111,99,116,97,108,32,100,105,103,105,116,115,44,32,101,110,99,108,111,115,101,100,32,105,110,32,98,114,97,99,101,115,46,32,65,110,32,101,114,114,111,114,32,111,99,99,117,114,115,32,105,102,32,116,104,105,115,32,105,115,32,110,111,116,32,116,104,101,32,99,97,115,101,46,32,84,104,105,115,32,101,115,99,97,112,101,32,105,115,32,97,32,114,101,99,101,110,116,32,97,100,100,105,116,105,111,110,32,116,111,32,80,101,114,108,59,32,105,116,32,112,114,111,118,105,100,101,115,32,119,97,121,32,111,102,32,115,112,101,99,105,102,121,105,110,103,32,99,104,97,114,97,99,116,101,114,32,99,111,100,101,32,112,111,105,110,116,115,32,97,115,32,111,99,116,97,108,32,110,117,109,98,101,114,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,48,55,55,55,44,32,97,110,100,32,105,116,32,97,108,115,111,32,97,108,108,111,119,115,32,111,99,116,97,108,32,110,117,109,98,101,114,115,32,97,110,100,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,98,101,32,117,110,97,109,98,105,103,117,111,117,115,108,121,32,115,112,101,99,105,102,105,101,100,46>>]},{p,[],[<<70,111,114,32,103,114,101,97,116,101,114,32,99,108,97,114,105,116,121,32,97,110,100,32,117,110,97,109,98,105,103,117,105,116,121,44,32,105,116,32,105,115,32,98,101,115,116,32,116,111,32,97,118,111,105,100,32,102,111,108,108,111,119,105,110,103,32,92,32,98,121,32,97,32,100,105,103,105,116,32,103,114,101,97,116,101,114,32,116,104,97,110,32,122,101,114,111,46,32,73,110,115,116,101,97,100,44,32,117,115,101,32,92,111,123,125,32,111,114,32,92,120,123,125,32,116,111,32,115,112,101,99,105,102,121,32,99,104,97,114,97,99,116,101,114,32,110,117,109,98,101,114,115,44,32,97,110,100,32,92,103,123,125,32,116,111,32,115,112,101,99,105,102,121,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,115,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,114,97,103,114,97,112,104,115,32,100,101,115,99,114,105,98,101,32,116,104,101,32,111,108,100,44,32,97,109,98,105,103,117,111,117,115,32,115,121,110,116,97,120,46>>]},{p,[],[<<84,104,101,32,104,97,110,100,108,105,110,103,32,111,102,32,97,32,98,97,99,107,115,108,97,115,104,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,100,105,103,105,116,32,111,116,104,101,114,32,116,104,97,110,32,48,32,105,115,32,99,111,109,112,108,105,99,97,116,101,100,44,32,97,110,100,32,80,101,114,108,32,104,97,115,32,99,104,97,110,103,101,100,32,105,110,32,114,101,99,101,110,116,32,114,101,108,101,97,115,101,115,44,32,99,97,117,115,105,110,103,32,80,67,82,69,32,97,108,115,111,32,116,111,32,99,104,97,110,103,101,46,32,79,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,80,67,82,69,32,114,101,97,100,115,32,116,104,101,32,100,105,103,105,116,32,97,110,100,32,97,110,121,32,102,111,108,108,111,119,105,110,103,32,100,105,103,105,116,115,32,97,115,32,97,32,100,101,99,105,109,97,108,32,110,117,109,98,101,114,46,32,73,102,32,116,104,101,32,110,117,109,98,101,114,32,105,115,32,60,32,56,44,32,111,114,32,105,102,32,116,104,101,114,101,32,104,97,118,101,32,98,101,101,110,32,97,116,32,108,101,97,115,116,32,116,104,97,116,32,109,97,110,121,32,112,114,101,118,105,111,117,115,32,99,97,112,116,117,114,105,110,103,32,108,101,102,116,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,116,104,101,32,101,120,112,114,101,115,115,105,111,110,44,32,116,104,101,32,101,110,116,105,114,101,32,115,101,113,117,101,110,99,101,32,105,115,32,116,97,107,101,110,32,97,115,32,97,32>>,{em,[],[<<98,97,99,107,32,114,101,102,101,114,101,110,99,101>>]},<<46,32,65,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,104,111,119,32,116,104,105,115,32,119,111,114,107,115,32,105,115,32,112,114,111,118,105,100,101,100,32,108,97,116,101,114,44,32,102,111,108,108,111,119,105,110,103,32,116,104,101,32,100,105,115,99,117,115,115,105,111,110,32,111,102,32,112,97,114,101,110,116,104,101,115,105,122,101,100,32,115,117,98,112,97,116,116,101,114,110,115,46>>]},{p,[],[<<73,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,111,114,32,105,102,32,116,104,101,32,100,101,99,105,109,97,108,32,110,117,109,98,101,114,32,102,111,108,108,111,119,105,110,103,32,92,32,105,115,32,62,32,55,32,97,110,100,32,116,104,101,114,101,32,104,97,118,101,32,110,111,116,32,98,101,101,110,32,116,104,97,116,32,109,97,110,121,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,44,32,80,67,82,69,32,104,97,110,100,108,101,115,32,92,56,32,97,110,100,32,92,57,32,97,115,32,116,104,101,32,108,105,116,101,114,97,108,32,99,104,97,114,97,99,116,101,114,115,32,34,56,34,32,97,110,100,32,34,57,34,44,32,97,110,100,32,111,116,104,101,114,119,105,115,101,32,114,101,45,114,101,97,100,115,32,117,112,32,116,111,32,116,104,114,101,101,32,111,99,116,97,108,32,100,105,103,105,116,115,32,102,111,108,108,111,119,105,110,103,32,116,104,101,32,98,97,99,107,115,108,97,115,104,44,32,97,110,100,32,117,115,105,110,103,32,116,104,101,109,32,116,111,32,103,101,110,101,114,97,116,101,32,97,32,100,97,116,97,32,99,104,97,114,97,99,116,101,114,46,32,65,110,121,32,115,117,98,115,101,113,117,101,110,116,32,100,105,103,105,116,115,32,115,116,97,110,100,32,102,111,114,32,116,104,101,109,115,101,108,118,101,115,46,32,70,111,114,32,101,120,97,109,112,108,101,58>>]},{dl,[],[{dt,[],[<<92,48,52,48>>]},{dd,[],[<<65,110,111,116,104,101,114,32,119,97,121,32,111,102,32,119,114,105,116,105,110,103,32,97,110,32,65,83,67,73,73,32,115,112,97,99,101>>]},{dt,[],[<<92,52,48>>]},{dd,[],[<<84,104,101,32,115,97,109,101,44,32,112,114,111,118,105,100,101,100,32,116,104,101,114,101,32,97,114,101,32,60,32,52,48,32,112,114,101,118,105,111,117,115,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115>>]},{dt,[],[<<92,55>>]},{dd,[],[<<65,108,119,97,121,115,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101>>]},{dt,[],[<<92,49,49>>]},{dd,[],[<<67,97,110,32,98,101,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,44,32,111,114,32,97,110,111,116,104,101,114,32,119,97,121,32,111,102,32,119,114,105,116,105,110,103,32,97,32,116,97,98>>]},{dt,[],[<<92,48,49,49>>]},{dd,[],[<<65,108,119,97,121,115,32,97,32,116,97,98>>]},{dt,[],[<<92,48,49,49,51>>]},{dd,[],[<<65,32,116,97,98,32,102,111,108,108,111,119,101,100,32,98,121,32,99,104,97,114,97,99,116,101,114,32,34,51,34>>]},{dt,[],[<<92,49,49,51>>]},{dd,[],[<<67,97,110,32,98,101,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,119,105,116,104,32,111,99,116,97,108,32,99,111,100,101,32,49,49,51>>]},{dt,[],[<<92,51,55,55>>]},{dd,[],[<<67,97,110,32,98,101,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,44,32,111,116,104,101,114,119,105,115,101,32,118,97,108,117,101,32,50,53,53,32,40,100,101,99,105,109,97,108,41>>]},{dt,[],[<<92,56,49>>]},{dd,[],[<<69,105,116,104,101,114,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,44,32,111,114,32,116,104,101,32,116,119,111,32,99,104,97,114,97,99,116,101,114,115,32,34,56,34,32,97,110,100,32,34,49,34>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,111,99,116,97,108,32,118,97,108,117,101,115,32,62,61,32,49,48,48,32,116,104,97,116,32,97,114,101,32,115,112,101,99,105,102,105,101,100,32,117,115,105,110,103,32,116,104,105,115,32,115,121,110,116,97,120,32,109,117,115,116,32,110,111,116,32,98,101,32,105,110,116,114,111,100,117,99,101,100,32,98,121,32,97,32,108,101,97,100,105,110,103,32,122,101,114,111,44,32,97,115,32,110,111,32,109,111,114,101,32,116,104,97,110,32,116,104,114,101,101,32,111,99,116,97,108,32,100,105,103,105,116,115,32,97,114,101,32,101,118,101,114,32,114,101,97,100,46>>]},{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,97,102,116,101,114,32,92,120,32,116,104,97,116,32,105,115,32,110,111,116,32,102,111,108,108,111,119,101,100,32,98,121,32,123,44,32,102,114,111,109,32,122,101,114,111,32,116,111,32,116,119,111,32,104,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,115,32,97,114,101,32,114,101,97,100,32,40,108,101,116,116,101,114,115,32,99,97,110,32,98,101,32,105,110,32,117,112,112,101,114,32,111,114,32,108,111,119,101,114,32,99,97,115,101,41,46,32,65,110,121,32,110,117,109,98,101,114,32,111,102,32,104,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,115,32,109,97,121,32,97,112,112,101,97,114,32,98,101,116,119,101,101,110,32,92,120,123,32,97,110,100,32,125,46,32,73,102,32,97,32,99,104,97,114,97,99,116,101,114,32,111,116,104,101,114,32,116,104,97,110,32,97,32,104,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,32,97,112,112,101,97,114,115,32,98,101,116,119,101,101,110,32,92,120,123,32,97,110,100,32,125,44,32,111,114,32,105,102,32,116,104,101,114,101,32,105,115,32,110,111,32,116,101,114,109,105,110,97,116,105,110,103,32,125,44,32,97,110,32,101,114,114,111,114,32,111,99,99,117,114,115,46>>]},{p,[],[<<67,104,97,114,97,99,116,101,114,115,32,119,104,111,115,101,32,118,97,108,117,101,32,105,115,32,108,101,115,115,32,116,104,97,110,32,50,53,54,32,99,97,110,32,98,101,32,100,101,102,105,110,101,100,32,98,121,32,101,105,116,104,101,114,32,111,102,32,116,104,101,32,116,119,111,32,115,121,110,116,97,120,101,115,32,102,111,114,32,92,120,46,32,84,104,101,114,101,32,105,115,32,110,111,32,100,105,102,102,101,114,101,110,99,101,32,105,110,32,116,104,101,32,119,97,121,32,116,104,101,121,32,97,114,101,32,104,97,110,100,108,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,92,120,100,99,32,105,115,32,101,120,97,99,116,108,121,32,116,104,101,32,115,97,109,101,32,97,115,32,92,120,123,100,99,125,46>>]},{p,[],[{em,[],[<<67,111,110,115,116,114,97,105,110,116,115,32,111,110,32,99,104,97,114,97,99,116,101,114,32,118,97,108,117,101,115>>]}]},{p,[],[<<67,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,115,112,101,99,105,102,105,101,100,32,117,115,105,110,103,32,111,99,116,97,108,32,111,114,32,104,101,120,97,100,101,99,105,109,97,108,32,110,117,109,98,101,114,115,32,97,114,101,32,108,105,109,105,116,101,100,32,116,111,32,99,101,114,116,97,105,110,32,118,97,108,117,101,115,44,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[<<56,45,98,105,116,32,110,111,110,45,85,84,70,32,109,111,100,101>>]},{dd,[],[{p,[],[<<60,32,48,120,49,48,48>>]}]},{dt,[],[<<56,45,98,105,116,32,85,84,70,45,56,32,109,111,100,101>>]},{dd,[],[{p,[],[<<60,32,48,120,49,48,102,102,102,102,32,97,110,100,32,97,32,118,97,108,105,100,32,99,111,100,101,112,111,105,110,116>>]}]}]},{p,[],[<<73,110,118,97,108,105,100,32,85,110,105,99,111,100,101,32,99,111,100,101,112,111,105,110,116,115,32,97,114,101,32,116,104,101,32,114,97,110,103,101,32,48,120,100,56,48,48,32,116,111,32,48,120,100,102,102,102,32,40,116,104,101,32,115,111,45,99,97,108,108,101,100,32,34,115,117,114,114,111,103,97,116,101,34,32,99,111,100,101,112,111,105,110,116,115,41,44,32,97,110,100,32,48,120,102,102,101,102,46>>]},{p,[],[{em,[],[<<69,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,32,105,110,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115>>]}]},{p,[],[<<65,108,108,32,116,104,101,32,115,101,113,117,101,110,99,101,115,32,116,104,97,116,32,100,101,102,105,110,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,118,97,108,117,101,32,99,97,110,32,98,101,32,117,115,101,100,32,98,111,116,104,32,105,110,115,105,100,101,32,97,110,100,32,111,117,116,115,105,100,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,46,32,65,108,115,111,44,32,105,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,92,98,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,116,104,101,32,98,97,99,107,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,32,40,104,101,120,32,48,56,41,46>>]},{p,[],[<<92,78,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,46,32,92,66,44,32,92,82,44,32,97,110,100,32,92,88,32,97,114,101,32,110,111,116,32,115,112,101,99,105,97,108,32,105,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,46,32,76,105,107,101,32,111,116,104,101,114,32,117,110,114,101,99,111,103,110,105,122,101,100,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,44,32,116,104,101,121,32,97,114,101,32,116,114,101,97,116,101,100,32,97,115,32,116,104,101,32,108,105,116,101,114,97,108,32,99,104,97,114,97,99,116,101,114,115,32,34,66,34,44,32,34,82,34,44,32,97,110,100,32,34,88,34,46,32,79,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,116,104,101,115,101,32,115,101,113,117,101,110,99,101,115,32,104,97,118,101,32,100,105,102,102,101,114,101,110,116,32,109,101,97,110,105,110,103,115,46>>]},{p,[],[{em,[],[<<85,110,115,117,112,112,111,114,116,101,100,32,69,115,99,97,112,101,32,83,101,113,117,101,110,99,101,115>>]}]},{p,[],[<<73,110,32,80,101,114,108,44,32,116,104,101,32,115,101,113,117,101,110,99,101,115,32,92,108,44,32,92,76,44,32,92,117,44,32,97,110,100,32,92,85,32,97,114,101,32,114,101,99,111,103,110,105,122,101,100,32,98,121,32,105,116,115,32,115,116,114,105,110,103,32,104,97,110,100,108,101,114,32,97,110,100,32,117,115,101,100,32,116,111,32,109,111,100,105,102,121,32,116,104,101,32,99,97,115,101,32,111,102,32,102,111,108,108,111,119,105,110,103,32,99,104,97,114,97,99,116,101,114,115,46,32,80,67,82,69,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,116,104,101,115,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,46>>]},{p,[],[{em,[],[<<65,98,115,111,108,117,116,101,32,97,110,100,32,82,101,108,97,116,105,118,101,32,66,97,99,107,32,82,101,102,101,114,101,110,99,101,115>>]}]},{p,[],[<<84,104,101,32,115,101,113,117,101,110,99,101,32,92,103,32,102,111,108,108,111,119,101,100,32,98,121,32,97,110,32,117,110,115,105,103,110,101,100,32,111,114,32,97,32,110,101,103,97,116,105,118,101,32,110,117,109,98,101,114,44,32,111,112,116,105,111,110,97,108,108,121,32,101,110,99,108,111,115,101,100,32,105,110,32,98,114,97,99,101,115,44,32,105,115,32,97,110,32,97,98,115,111,108,117,116,101,32,111,114,32,114,101,108,97,116,105,118,101,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,46,32,65,32,110,97,109,101,100,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,99,97,110,32,98,101,32,99,111,100,101,100,32,97,115,32,92,103,123,110,97,109,101,125,46,32,66,97,99,107,32,114,101,102,101,114,101,110,99,101,115,32,97,114,101,32,100,105,115,99,117,115,115,101,100,32,108,97,116,101,114,44,32,102,111,108,108,111,119,105,110,103,32,116,104,101,32,100,105,115,99,117,115,115,105,111,110,32,111,102,32,112,97,114,101,110,116,104,101,115,105,122,101,100,32,115,117,98,112,97,116,116,101,114,110,115,46>>]},{p,[],[{em,[],[<<65,98,115,111,108,117,116,101,32,97,110,100,32,82,101,108,97,116,105,118,101,32,83,117,98,114,111,117,116,105,110,101,32,67,97,108,108,115>>]}]},{p,[],[<<70,111,114,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,119,105,116,104,32,79,110,105,103,117,114,117,109,97,44,32,116,104,101,32,110,111,110,45,80,101,114,108,32,115,121,110,116,97,120,32,92,103,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,97,109,101,32,111,114,32,97,32,110,117,109,98,101,114,32,101,110,99,108,111,115,101,100,32,101,105,116,104,101,114,32,105,110,32,97,110,103,108,101,32,98,114,97,99,107,101,116,115,32,111,114,32,115,105,110,103,108,101,32,113,117,111,116,101,115,44,32,105,115,32,97,108,116,101,114,110,97,116,105,118,101,32,115,121,110,116,97,120,32,102,111,114,32,114,101,102,101,114,101,110,99,105,110,103,32,97,32,115,117,98,112,97,116,116,101,114,110,32,97,115,32,97,32,34,115,117,98,114,111,117,116,105,110,101,34,46,32,68,101,116,97,105,108,115,32,97,114,101,32,100,105,115,99,117,115,115,101,100,32,108,97,116,101,114,46,32,78,111,116,105,99,101,32,116,104,97,116,32,92,103,123,46,46,46,125,32,40,80,101,114,108,32,115,121,110,116,97,120,41,32,97,110,100,32,92,103,60,46,46,46,62,32,40,79,110,105,103,117,114,117,109,97,32,115,121,110,116,97,120,41,32,97,114,101,32>>,{em,[],[<<110,111,116>>]},<<32,115,121,110,111,110,121,109,111,117,115,46,32,84,104,101,32,102,111,114,109,101,114,32,105,115,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,97,110,100,32,116,104,101,32,108,97,116,116,101,114,32,105,115,32,97,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,46>>]},{p,[],[{em,[],[<<71,101,110,101,114,105,99,32,67,104,97,114,97,99,116,101,114,32,84,121,112,101,115>>]}]},{a,[{id,<<103,101,110,101,114,105,99,95,99,104,97,114,97,99,116,101,114,95,116,121,112,101,115>>}],[]},{p,[],[<<65,110,111,116,104,101,114,32,117,115,101,32,111,102,32,98,97,99,107,115,108,97,115,104,32,105,115,32,102,111,114,32,115,112,101,99,105,102,121,105,110,103,32,103,101,110,101,114,105,99,32,99,104,97,114,97,99,116,101,114,32,116,121,112,101,115,58>>]},{dl,[],[{dt,[],[<<92,100>>]},{dd,[],[<<65,110,121,32,100,101,99,105,109,97,108,32,100,105,103,105,116>>]},{dt,[],[<<92,68>>]},{dd,[],[<<65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,110,111,116,32,97,32,100,101,99,105,109,97,108,32,100,105,103,105,116>>]},{dt,[],[<<92,104>>]},{dd,[],[<<65,110,121,32,104,111,114,105,122,111,110,116,97,108,32,119,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,72>>]},{dd,[],[<<65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,110,111,116,32,97,32,104,111,114,105,122,111,110,116,97,108,32,119,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,115>>]},{dd,[],[<<65,110,121,32,119,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,83>>]},{dd,[],[<<65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,110,111,116,32,97,32,119,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,118>>]},{dd,[],[<<65,110,121,32,118,101,114,116,105,99,97,108,32,119,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,86>>]},{dd,[],[<<65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,110,111,116,32,97,32,118,101,114,116,105,99,97,108,32,119,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,119>>]},{dd,[],[<<65,110,121,32,34,119,111,114,100,34,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,87>>]},{dd,[],[<<65,110,121,32,34,110,111,110,45,119,111,114,100,34,32,99,104,97,114,97,99,116,101,114>>]}]},{p,[],[<<84,104,101,114,101,32,105,115,32,97,108,115,111,32,116,104,101,32,115,105,110,103,108,101,32,115,101,113,117,101,110,99,101,32,92,78,44,32,119,104,105,99,104,32,109,97,116,99,104,101,115,32,97,32,110,111,110,45,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,46,32,84,104,105,115,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,34,46,34,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,119,104,101,110,32>>,{code,[],[<<100,111,116,97,108,108>>]},<<32,105,115,32,110,111,116,32,115,101,116,46,32,80,101,114,108,32,97,108,115,111,32,117,115,101,115,32,92,78,32,116,111,32,109,97,116,99,104,32,99,104,97,114,97,99,116,101,114,115,32,98,121,32,110,97,109,101,44,32,98,117,116,32,80,67,82,69,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,116,104,105,115,46>>]},{p,[],[<<69,97,99,104,32,112,97,105,114,32,111,102,32,108,111,119,101,114,99,97,115,101,32,97,110,100,32,117,112,112,101,114,99,97,115,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,32,112,97,114,116,105,116,105,111,110,115,32,116,104,101,32,99,111,109,112,108,101,116,101,32,115,101,116,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,105,110,116,111,32,116,119,111,32,100,105,115,106,111,105,110,116,32,115,101,116,115,46,32,65,110,121,32,103,105,118,101,110,32,99,104,97,114,97,99,116,101,114,32,109,97,116,99,104,101,115,32,111,110,101,44,32,97,110,100,32,111,110,108,121,32,111,110,101,44,32,111,102,32,101,97,99,104,32,112,97,105,114,46,32,84,104,101,32,115,101,113,117,101,110,99,101,115,32,99,97,110,32,97,112,112,101,97,114,32,98,111,116,104,32,105,110,115,105,100,101,32,97,110,100,32,111,117,116,115,105,100,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,46,32,84,104,101,121,32,101,97,99,104,32,109,97,116,99,104,32,111,110,101,32,99,104,97,114,97,99,116,101,114,32,111,102,32,116,104,101,32,97,112,112,114,111,112,114,105,97,116,101,32,116,121,112,101,46,32,73,102,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,116,99,104,105,110,103,32,112,111,105,110,116,32,105,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,97,108,108,32,102,97,105,108,44,32,97,115,32,116,104,101,114,101,32,105,115,32,110,111,32,99,104,97,114,97,99,116,101,114,32,116,111,32,109,97,116,99,104,46>>]},{p,[],[<<70,111,114,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,119,105,116,104,32,80,101,114,108,44,32,92,115,32,100,105,100,32,110,111,116,32,117,115,101,100,32,116,111,32,109,97,116,99,104,32,116,104,101,32,86,84,32,99,104,97,114,97,99,116,101,114,32,40,99,111,100,101,32,49,49,41,44,32,119,104,105,99,104,32,109,97,100,101,32,105,116,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,116,104,101,32,116,104,101,32,80,79,83,73,88,32,34,115,112,97,99,101,34,32,99,108,97,115,115,46,32,72,111,119,101,118,101,114,44,32,80,101,114,108,32,97,100,100,101,100,32,86,84,32,97,116,32,114,101,108,101,97,115,101,32,53,46,49,56,44,32,97,110,100,32,80,67,82,69,32,102,111,108,108,111,119,101,100,32,115,117,105,116,32,97,116,32,114,101,108,101,97,115,101,32,56,46,51,52,46,32,84,104,101,32,100,101,102,97,117,108,116,32,92,115,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,110,111,119,32,72,84,32,40,57,41,44,32,76,70,32,40,49,48,41,44,32,86,84,32,40,49,49,41,44,32,70,70,32,40,49,50,41,44,32,67,82,32,40,49,51,41,44,32,97,110,100,32,115,112,97,99,101,32,40,51,50,41,44,32,119,104,105,99,104,32,97,114,101,32,100,101,102,105,110,101,100,32,97,115,32,119,104,105,116,101,32,115,112,97,99,101,32,105,110,32,116,104,101,32,34,67,34,32,108,111,99,97,108,101,46,32,84,104,105,115,32,108,105,115,116,32,109,97,121,32,118,97,114,121,32,105,102,32,108,111,99,97,108,101,45,115,112,101,99,105,102,105,99,32,109,97,116,99,104,105,110,103,32,105,115,32,116,97,107,105,110,103,32,112,108,97,99,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,110,32,115,111,109,101,32,108,111,99,97,108,101,115,32,116,104,101,32,34,110,111,110,45,98,114,101,97,107,105,110,103,32,115,112,97,99,101,34,32,99,104,97,114,97,99,116,101,114,32,40,92,120,65,48,41,32,105,115,32,114,101,99,111,103,110,105,122,101,100,32,97,115,32,119,104,105,116,101,32,115,112,97,99,101,44,32,97,110,100,32,105,110,32,111,116,104,101,114,115,32,116,104,101,32,86,84,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,46>>]},{p,[],[<<65,32,34,119,111,114,100,34,32,99,104,97,114,97,99,116,101,114,32,105,115,32,97,110,32,117,110,100,101,114,115,99,111,114,101,32,111,114,32,97,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,97,32,108,101,116,116,101,114,32,111,114,32,97,32,100,105,103,105,116,46,32,66,121,32,100,101,102,97,117,108,116,44,32,116,104,101,32,100,101,102,105,110,105,116,105,111,110,32,111,102,32,108,101,116,116,101,114,115,32,97,110,100,32,100,105,103,105,116,115,32,105,115,32,99,111,110,116,114,111,108,108,101,100,32,98,121,32,116,104,101,32,80,67,82,69,32,108,111,119,45,118,97,108,117,101,100,32,99,104,97,114,97,99,116,101,114,32,116,97,98,108,101,115,44,32,105,110,32,69,114,108,97,110,103,39,115,32,99,97,115,101,32,40,97,110,100,32,119,105,116,104,111,117,116,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<41,44,32,116,104,101,32,73,83,79,32,76,97,116,105,110,45,49,32,99,104,97,114,97,99,116,101,114,32,115,101,116,46>>]},{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,105,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,109,111,100,101,44,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,118,97,108,117,101,115,32,62,32,50,53,53,44,32,116,104,97,116,32,105,115,44,32,97,108,108,32,99,104,97,114,97,99,116,101,114,115,32,111,117,116,115,105,100,101,32,116,104,101,32,73,83,79,32,76,97,116,105,110,45,49,32,99,104,97,114,97,99,116,101,114,32,115,101,116,44,32,110,101,118,101,114,32,109,97,116,99,104,32,92,100,44,32,92,115,44,32,111,114,32,92,119,44,32,97,110,100,32,97,108,119,97,121,115,32,109,97,116,99,104,32,92,68,44,32,92,83,44,32,97,110,100,32,92,87,46,32,84,104,101,115,101,32,115,101,113,117,101,110,99,101,115,32,114,101,116,97,105,110,32,116,104,101,105,114,32,111,114,105,103,105,110,97,108,32,109,101,97,110,105,110,103,115,32,102,114,111,109,32,98,101,102,111,114,101,32,85,84,70,32,115,117,112,112,111,114,116,32,119,97,115,32,97,118,97,105,108,97,98,108,101,44,32,109,97,105,110,108,121,32,102,111,114,32,101,102,102,105,99,105,101,110,99,121,32,114,101,97,115,111,110,115,46,32,72,111,119,101,118,101,114,44,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<117,99,112>>]},<<32,105,115,32,115,101,116,44,32,116,104,101,32,98,101,104,97,118,105,111,114,32,105,115,32,99,104,97,110,103,101,100,32,115,111,32,116,104,97,116,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,105,101,115,32,97,114,101,32,117,115,101,100,32,116,111,32,100,101,116,101,114,109,105,110,101,32,99,104,97,114,97,99,116,101,114,32,116,121,112,101,115,44,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[<<92,100>>]},{dd,[],[<<65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,92,112,123,78,100,125,32,109,97,116,99,104,101,115,32,40,100,101,99,105,109,97,108,32,100,105,103,105,116,41>>]},{dt,[],[<<92,115>>]},{dd,[],[<<65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,92,112,123,90,125,32,111,114,32,92,104,32,111,114,32,92,118>>]},{dt,[],[<<92,119>>]},{dd,[],[<<65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,109,97,116,99,104,101,115,32,92,112,123,76,125,32,111,114,32,92,112,123,78,125,32,109,97,116,99,104,101,115,44,32,112,108,117,115,32,117,110,100,101,114,115,99,111,114,101>>]}]},{p,[],[<<84,104,101,32,117,112,112,101,114,99,97,115,101,32,101,115,99,97,112,101,115,32,109,97,116,99,104,32,116,104,101,32,105,110,118,101,114,115,101,32,115,101,116,115,32,111,102,32,99,104,97,114,97,99,116,101,114,115,46,32,78,111,116,105,99,101,32,116,104,97,116,32,92,100,32,109,97,116,99,104,101,115,32,111,110,108,121,32,100,101,99,105,109,97,108,32,100,105,103,105,116,115,44,32,119,104,105,108,101,32,92,119,32,109,97,116,99,104,101,115,32,97,110,121,32,85,110,105,99,111,100,101,32,100,105,103,105,116,44,32,97,110,121,32,85,110,105,99,111,100,101,32,108,101,116,116,101,114,44,32,97,110,100,32,117,110,100,101,114,115,99,111,114,101,46,32,78,111,116,105,99,101,32,97,108,115,111,32,116,104,97,116,32>>,{code,[],[<<117,99,112>>]},<<32,97,102,102,101,99,116,115,32,92,98,32,97,110,100,32,92,66,44,32,97,115,32,116,104,101,121,32,97,114,101,32,100,101,102,105,110,101,100,32,105,110,32,116,101,114,109,115,32,111,102,32,92,119,32,97,110,100,32,92,87,46,32,77,97,116,99,104,105,110,103,32,116,104,101,115,101,32,115,101,113,117,101,110,99,101,115,32,105,115,32,110,111,116,105,99,101,97,98,108,121,32,115,108,111,119,101,114,32,119,104,101,110,32>>,{code,[],[<<117,99,112>>]},<<32,105,115,32,115,101,116,46>>]},{p,[],[<<84,104,101,32,115,101,113,117,101,110,99,101,115,32,92,104,44,32,92,72,44,32,92,118,44,32,97,110,100,32,92,86,32,97,114,101,32,102,101,97,116,117,114,101,115,32,116,104,97,116,32,119,101,114,101,32,97,100,100,101,100,32,116,111,32,80,101,114,108,32,105,110,32,114,101,108,101,97,115,101,32,53,46,49,48,46,32,73,110,32,99,111,110,116,114,97,115,116,32,116,111,32,116,104,101,32,111,116,104,101,114,32,115,101,113,117,101,110,99,101,115,44,32,119,104,105,99,104,32,109,97,116,99,104,32,111,110,108,121,32,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114,115,32,98,121,32,100,101,102,97,117,108,116,44,32,116,104,101,115,101,32,97,108,119,97,121,115,32,109,97,116,99,104,32,99,101,114,116,97,105,110,32,104,105,103,104,45,118,97,108,117,101,100,32,99,111,100,101,32,112,111,105,110,116,115,44,32,114,101,103,97,114,100,108,101,115,115,32,105,102,32>>,{code,[],[<<117,99,112>>]},<<32,105,115,32,115,101,116,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,104,111,114,105,122,111,110,116,97,108,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,115,58>>]},{dl,[],[{dt,[],[<<85,43,48,48,48,57>>]},{dd,[],[<<72,111,114,105,122,111,110,116,97,108,32,116,97,98,32,40,72,84,41>>]},{dt,[],[<<85,43,48,48,50,48>>]},{dd,[],[<<83,112,97,99,101>>]},{dt,[],[<<85,43,48,48,65,48>>]},{dd,[],[<<78,111,110,45,98,114,101,97,107,32,115,112,97,99,101>>]},{dt,[],[<<85,43,49,54,56,48>>]},{dd,[],[<<79,103,104,97,109,32,115,112,97,99,101,32,109,97,114,107>>]},{dt,[],[<<85,43,49,56,48,69>>]},{dd,[],[<<77,111,110,103,111,108,105,97,110,32,118,111,119,101,108,32,115,101,112,97,114,97,116,111,114>>]},{dt,[],[<<85,43,50,48,48,48>>]},{dd,[],[<<69,110,32,113,117,97,100>>]},{dt,[],[<<85,43,50,48,48,49>>]},{dd,[],[<<69,109,32,113,117,97,100>>]},{dt,[],[<<85,43,50,48,48,50>>]},{dd,[],[<<69,110,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,51>>]},{dd,[],[<<69,109,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,52>>]},{dd,[],[<<84,104,114,101,101,45,112,101,114,45,101,109,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,53>>]},{dd,[],[<<70,111,117,114,45,112,101,114,45,101,109,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,54>>]},{dd,[],[<<83,105,120,45,112,101,114,45,101,109,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,55>>]},{dd,[],[<<70,105,103,117,114,101,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,56>>]},{dd,[],[<<80,117,110,99,116,117,97,116,105,111,110,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,57>>]},{dd,[],[<<84,104,105,110,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,65>>]},{dd,[],[<<72,97,105,114,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,50,70>>]},{dd,[],[<<78,97,114,114,111,119,32,110,111,45,98,114,101,97,107,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,53,70>>]},{dd,[],[<<77,101,100,105,117,109,32,109,97,116,104,101,109,97,116,105,99,97,108,32,115,112,97,99,101>>]},{dt,[],[<<85,43,51,48,48,48>>]},{dd,[],[<<73,100,101,111,103,114,97,112,104,105,99,32,115,112,97,99,101>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,118,101,114,116,105,99,97,108,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,115,58>>]},{dl,[],[{dt,[],[<<85,43,48,48,48,65>>]},{dd,[],[<<76,105,110,101,32,102,101,101,100,32,40,76,70,41>>]},{dt,[],[<<85,43,48,48,48,66>>]},{dd,[],[<<86,101,114,116,105,99,97,108,32,116,97,98,32,40,86,84,41>>]},{dt,[],[<<85,43,48,48,48,67>>]},{dd,[],[<<70,111,114,109,32,102,101,101,100,32,40,70,70,41>>]},{dt,[],[<<85,43,48,48,48,68>>]},{dd,[],[<<67,97,114,114,105,97,103,101,32,114,101,116,117,114,110,32,40,67,82,41>>]},{dt,[],[<<85,43,48,48,56,53>>]},{dd,[],[<<78,101,120,116,32,108,105,110,101,32,40,78,69,76,41>>]},{dt,[],[<<85,43,50,48,50,56>>]},{dd,[],[<<76,105,110,101,32,115,101,112,97,114,97,116,111,114>>]},{dt,[],[<<85,43,50,48,50,57>>]},{dd,[],[<<80,97,114,97,103,114,97,112,104,32,115,101,112,97,114,97,116,111,114>>]}]},{p,[],[<<73,110,32,56,45,98,105,116,44,32,110,111,110,45,85,84,70,45,56,32,109,111,100,101,44,32,111,110,108,121,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,99,111,100,101,32,112,111,105,110,116,115,32,60,32,50,53,54,32,97,114,101,32,114,101,108,101,118,97,110,116,46>>]},{p,[],[{em,[],[<<78,101,119,108,105,110,101,32,83,101,113,117,101,110,99,101,115>>]}]},{a,[{id,<<110,101,119,108,105,110,101,95,115,101,113,117,101,110,99,101,115>>}],[]},{p,[],[<<79,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,98,121,32,100,101,102,97,117,108,116,44,32,116,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,92,82,32,109,97,116,99,104,101,115,32,97,110,121,32,85,110,105,99,111,100,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,46,32,73,110,32,110,111,110,45,85,84,70,45,56,32,109,111,100,101,44,32,92,82,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{pre,[],[{code,[],[<<40,63,62,92,114,92,110,124,92,110,124,92,120,48,98,124,92,102,124,92,114,124,92,120,56,53,41>>]}]},{p,[],[<<84,104,105,115,32,105,115,32,97,110,32,101,120,97,109,112,108,101,32,111,102,32,97,110,32,34,97,116,111,109,105,99,32,103,114,111,117,112,34,44,32,100,101,116,97,105,108,115,32,97,114,101,32,112,114,111,118,105,100,101,100,32,98,101,108,111,119,46>>]},{p,[],[<<84,104,105,115,32,112,97,114,116,105,99,117,108,97,114,32,103,114,111,117,112,32,109,97,116,99,104,101,115,32,101,105,116,104,101,114,32,116,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,32,67,82,32,102,111,108,108,111,119,101,100,32,98,121,32,76,70,44,32,111,114,32,111,110,101,32,111,102,32,116,104,101,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,115,32,76,70,32,40,108,105,110,101,32,102,101,101,100,44,32,85,43,48,48,48,65,41,44,32,86,84,32,40,118,101,114,116,105,99,97,108,32,116,97,98,44,32,85,43,48,48,48,66,41,44,32,70,70,32,40,102,111,114,109,32,102,101,101,100,44,32,85,43,48,48,48,67,41,44,32,67,82,32,40,99,97,114,114,105,97,103,101,32,114,101,116,117,114,110,44,32,85,43,48,48,48,68,41,44,32,111,114,32,78,69,76,32,40,110,101,120,116,32,108,105,110,101,44,32,85,43,48,48,56,53,41,46,32,84,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,32,105,115,32,116,114,101,97,116,101,100,32,97,115,32,97,32,115,105,110,103,108,101,32,117,110,105,116,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,115,112,108,105,116,46>>]},{p,[],[<<73,110,32,85,110,105,99,111,100,101,32,109,111,100,101,44,32,116,119,111,32,109,111,114,101,32,99,104,97,114,97,99,116,101,114,115,32,119,104,111,115,101,32,99,111,100,101,32,112,111,105,110,116,115,32,97,114,101,32,62,32,50,53,53,32,97,114,101,32,97,100,100,101,100,58,32,76,83,32,40,108,105,110,101,32,115,101,112,97,114,97,116,111,114,44,32,85,43,50,48,50,56,41,32,97,110,100,32,80,83,32,40,112,97,114,97,103,114,97,112,104,32,115,101,112,97,114,97,116,111,114,44,32,85,43,50,48,50,57,41,46,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,32,112,114,111,112,101,114,116,121,32,115,117,112,112,111,114,116,32,105,115,32,110,111,116,32,110,101,101,100,101,100,32,102,111,114,32,116,104,101,115,101,32,99,104,97,114,97,99,116,101,114,115,32,116,111,32,98,101,32,114,101,99,111,103,110,105,122,101,100,46>>]},{p,[],[<<92,82,32,99,97,110,32,98,101,32,114,101,115,116,114,105,99,116,101,100,32,116,111,32,109,97,116,99,104,32,111,110,108,121,32,67,82,44,32,76,70,44,32,111,114,32,67,82,76,70,32,40,105,110,115,116,101,97,100,32,111,102,32,116,104,101,32,99,111,109,112,108,101,116,101,32,115,101,116,32,111,102,32,85,110,105,99,111,100,101,32,108,105,110,101,32,101,110,100,105,110,103,115,41,32,98,121,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<98,115,114,95,97,110,121,99,114,108,102>>]},<<32,101,105,116,104,101,114,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,32,111,114,32,119,104,101,110,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,109,97,116,99,104,101,100,46,32,40,66,83,82,32,105,115,32,97,110,32,97,99,114,111,110,121,109,32,102,111,114,32,34,98,97,99,107,115,108,97,115,104,32,82,34,46,41,32,84,104,105,115,32,99,97,110,32,98,101,32,109,97,100,101,32,116,104,101,32,100,101,102,97,117,108,116,32,119,104,101,110,32,80,67,82,69,32,105,115,32,98,117,105,108,116,59,32,105,102,32,115,111,44,32,116,104,101,32,111,116,104,101,114,32,98,101,104,97,118,105,111,114,32,99,97,110,32,98,101,32,114,101,113,117,101,115,116,101,100,32,116,104,114,111,117,103,104,32,111,112,116,105,111,110,32>>,{code,[],[<<98,115,114,95,117,110,105,99,111,100,101>>]},<<46,32,84,104,101,115,101,32,115,101,116,116,105,110,103,115,32,99,97,110,32,97,108,115,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,98,121,32,115,116,97,114,116,105,110,103,32,97,32,112,97,116,116,101,114,110,32,115,116,114,105,110,103,32,119,105,116,104,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,101,113,117,101,110,99,101,115,58>>]},{dl,[],[{dt,[],[<<40,42,66,83,82,95,65,78,89,67,82,76,70,41>>]},{dd,[],[<<67,82,44,32,76,70,44,32,111,114,32,67,82,76,70,32,111,110,108,121>>]},{dt,[],[<<40,42,66,83,82,95,85,78,73,67,79,68,69,41>>]},{dd,[],[<<65,110,121,32,85,110,105,99,111,100,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101>>]}]},{p,[],[<<84,104,101,115,101,32,111,118,101,114,114,105,100,101,32,116,104,101,32,100,101,102,97,117,108,116,32,97,110,100,32,116,104,101,32,111,112,116,105,111,110,115,32,115,112,101,99,105,102,105,101,100,32,116,111,32,116,104,101,32,99,111,109,112,105,108,105,110,103,32,102,117,110,99,116,105,111,110,44,32,98,117,116,32,116,104,101,121,32,99,97,110,32,116,104,101,109,115,101,108,118,101,115,32,98,101,32,111,118,101,114,114,105,100,100,101,110,32,98,121,32,111,112,116,105,111,110,115,32,115,112,101,99,105,102,105,101,100,32,116,111,32,97,32,109,97,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,115,101,32,115,112,101,99,105,97,108,32,115,101,116,116,105,110,103,115,44,32,119,104,105,99,104,32,97,114,101,32,110,111,116,32,80,101,114,108,45,99,111,109,112,97,116,105,98,108,101,44,32,97,114,101,32,114,101,99,111,103,110,105,122,101,100,32,111,110,108,121,32,97,116,32,116,104,101,32,118,101,114,121,32,115,116,97,114,116,32,111,102,32,97,32,112,97,116,116,101,114,110,44,32,97,110,100,32,116,104,97,116,32,116,104,101,121,32,109,117,115,116,32,98,101,32,105,110,32,117,112,112,101,114,32,99,97,115,101,46,32,73,102,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,111,102,32,116,104,101,109,32,105,115,32,112,114,101,115,101,110,116,44,32,116,104,101,32,108,97,115,116,32,111,110,101,32,105,115,32,117,115,101,100,46,32,84,104,101,121,32,99,97,110,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,97,32,99,104,97,110,103,101,32,111,102,32,110,101,119,108,105,110,101,32,99,111,110,118,101,110,116,105,111,110,59,32,102,111,114,32,101,120,97,109,112,108,101,44,32,97,32,112,97,116,116,101,114,110,32,99,97,110,32,115,116,97,114,116,32,119,105,116,104,58>>]},{pre,[],[{code,[],[<<40,42,65,78,89,41,40,42,66,83,82,95,65,78,89,67,82,76,70,41>>]}]},{p,[],[<<84,104,101,121,32,99,97,110,32,97,108,115,111,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,116,104,101,32,40,42,85,84,70,56,41,44,32,40,42,85,84,70,41,44,32,111,114,32,40,42,85,67,80,41,32,115,112,101,99,105,97,108,32,115,101,113,117,101,110,99,101,115,46,32,73,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,92,82,32,105,115,32,116,114,101,97,116,101,100,32,97,115,32,97,110,32,117,110,114,101,99,111,103,110,105,122,101,100,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,44,32,97,110,100,32,115,111,32,109,97,116,99,104,101,115,32,116,104,101,32,108,101,116,116,101,114,32,34,82,34,32,98,121,32,100,101,102,97,117,108,116,46>>]},{p,[],[{em,[],[<<85,110,105,99,111,100,101,32,67,104,97,114,97,99,116,101,114,32,80,114,111,112,101,114,116,105,101,115>>]}]},{p,[],[<<84,104,114,101,101,32,109,111,114,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,32,116,104,97,116,32,109,97,116,99,104,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,115,112,101,99,105,102,105,99,32,112,114,111,112,101,114,116,105,101,115,32,97,114,101,32,97,118,97,105,108,97,98,108,101,46,32,87,104,101,110,32,105,110,32,56,45,98,105,116,32,110,111,110,45,85,84,70,45,56,32,109,111,100,101,44,32,116,104,101,115,101,32,115,101,113,117,101,110,99,101,115,32,97,114,101,32,108,105,109,105,116,101,100,32,116,111,32,116,101,115,116,105,110,103,32,99,104,97,114,97,99,116,101,114,115,32,119,104,111,115,101,32,99,111,100,101,32,112,111,105,110,116,115,32,97,114,101,32,60,32,50,53,54,44,32,98,117,116,32,116,104,101,121,32,100,111,32,119,111,114,107,32,105,110,32,116,104,105,115,32,109,111,100,101,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,101,120,116,114,97,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,58>>]},{dl,[],[{dt,[],[<<92,112,123>>,{em,[],[<<120,120>>]},<<125>>]},{dd,[],[<<65,32,99,104,97,114,97,99,116,101,114,32,119,105,116,104,32,112,114,111,112,101,114,116,121,32>>,{em,[],[<<120,120>>]}]},{dt,[],[<<92,80,123>>,{em,[],[<<120,120>>]},<<125>>]},{dd,[],[<<65,32,99,104,97,114,97,99,116,101,114,32,119,105,116,104,111,117,116,32,112,114,111,112,101,114,116,121,32>>,{em,[],[<<120,120>>]}]},{dt,[],[<<92,88>>]},{dd,[],[<<65,32,85,110,105,99,111,100,101,32,101,120,116,101,110,100,101,100,32,103,114,97,112,104,101,109,101,32,99,108,117,115,116,101,114>>]}]},{p,[],[<<84,104,101,32,112,114,111,112,101,114,116,121,32,110,97,109,101,115,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32>>,{em,[],[<<120,120>>]},<<32,97,98,111,118,101,32,97,114,101,32,108,105,109,105,116,101,100,32,116,111,32,116,104,101,32,85,110,105,99,111,100,101,32,115,99,114,105,112,116,32,110,97,109,101,115,44,32,116,104,101,32,103,101,110,101,114,97,108,32,99,97,116,101,103,111,114,121,32,112,114,111,112,101,114,116,105,101,115,44,32,34,65,110,121,34,44,32,119,104,105,99,104,32,109,97,116,99,104,101,115,32,97,110,121,32,99,104,97,114,97,99,116,101,114,32,40,105,110,99,108,117,100,105,110,103,32,110,101,119,108,105,110,101,41,44,32,97,110,100,32,115,111,109,101,32,115,112,101,99,105,97,108,32,80,67,82,69,32,112,114,111,112,101,114,116,105,101,115,32,40,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,110,101,120,116,32,115,101,99,116,105,111,110,41,46,32,79,116,104,101,114,32,80,101,114,108,32,112,114,111,112,101,114,116,105,101,115,44,32,115,117,99,104,32,97,115,32,34,73,110,77,117,115,105,99,97,108,83,121,109,98,111,108,115,34,44,32,97,114,101,32,99,117,114,114,101,110,116,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,80,67,82,69,46,32,78,111,116,105,99,101,32,116,104,97,116,32,92,80,123,65,110,121,125,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,104,97,114,97,99,116,101,114,115,32,97,110,100,32,97,108,119,97,121,115,32,99,97,117,115,101,115,32,97,32,109,97,116,99,104,32,102,97,105,108,117,114,101,46>>]},{p,[],[<<83,101,116,115,32,111,102,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,100,101,102,105,110,101,100,32,97,115,32,98,101,108,111,110,103,105,110,103,32,116,111,32,99,101,114,116,97,105,110,32,115,99,114,105,112,116,115,46,32,65,32,99,104,97,114,97,99,116,101,114,32,102,114,111,109,32,111,110,101,32,111,102,32,116,104,101,115,101,32,115,101,116,115,32,99,97,110,32,98,101,32,109,97,116,99,104,101,100,32,117,115,105,110,103,32,97,32,115,99,114,105,112,116,32,110,97,109,101,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<92,112,123,71,114,101,101,107,125,32,92,80,123,72,97,110,125>>]}]},{p,[],[<<84,104,111,115,101,32,116,104,97,116,32,97,114,101,32,110,111,116,32,112,97,114,116,32,111,102,32,97,110,32,105,100,101,110,116,105,102,105,101,100,32,115,99,114,105,112,116,32,97,114,101,32,108,117,109,112,101,100,32,116,111,103,101,116,104,101,114,32,97,115,32,34,67,111,109,109,111,110,34,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,108,105,115,116,32,111,102,32,115,99,114,105,112,116,115,58>>]},{ul,[],[{li,[],[<<65,114,97,98,105,99>>]},{li,[],[<<65,114,109,101,110,105,97,110>>]},{li,[],[<<65,118,101,115,116,97,110>>]},{li,[],[<<66,97,108,105,110,101,115,101>>]},{li,[],[<<66,97,109,117,109>>]},{li,[],[<<66,97,115,115,97,95,86,97,104>>]},{li,[],[<<66,97,116,97,107>>]},{li,[],[<<66,101,110,103,97,108,105>>]},{li,[],[<<66,111,112,111,109,111,102,111>>]},{li,[],[<<66,114,97,105,108,108,101>>]},{li,[],[<<66,117,103,105,110,101,115,101>>]},{li,[],[<<66,117,104,105,100>>]},{li,[],[<<67,97,110,97,100,105,97,110,95,65,98,111,114,105,103,105,110,97,108>>]},{li,[],[<<67,97,114,105,97,110>>]},{li,[],[<<67,97,117,99,97,115,105,97,110,95,65,108,98,97,110,105,97,110>>]},{li,[],[<<67,104,97,107,109,97>>]},{li,[],[<<67,104,97,109>>]},{li,[],[<<67,104,101,114,111,107,101,101>>]},{li,[],[<<67,111,109,109,111,110>>]},{li,[],[<<67,111,112,116,105,99>>]},{li,[],[<<67,117,110,101,105,102,111,114,109>>]},{li,[],[<<67,121,112,114,105,111,116>>]},{li,[],[<<67,121,114,105,108,108,105,99>>]},{li,[],[<<68,101,115,101,114,101,116>>]},{li,[],[<<68,101,118,97,110,97,103,97,114,105>>]},{li,[],[<<68,117,112,108,111,121,97,110>>]},{li,[],[<<69,103,121,112,116,105,97,110,95,72,105,101,114,111,103,108,121,112,104,115>>]},{li,[],[<<69,108,98,97,115,97,110>>]},{li,[],[<<69,116,104,105,111,112,105,99>>]},{li,[],[<<71,101,111,114,103,105,97,110>>]},{li,[],[<<71,108,97,103,111,108,105,116,105,99>>]},{li,[],[<<71,111,116,104,105,99>>]},{li,[],[<<71,114,97,110,116,104,97>>]},{li,[],[<<71,114,101,101,107>>]},{li,[],[<<71,117,106,97,114,97,116,105>>]},{li,[],[<<71,117,114,109,117,107,104,105>>]},{li,[],[<<72,97,110>>]},{li,[],[<<72,97,110,103,117,108>>]},{li,[],[<<72,97,110,117,110,111,111>>]},{li,[],[<<72,101,98,114,101,119>>]},{li,[],[<<72,105,114,97,103,97,110,97>>]},{li,[],[<<73,109,112,101,114,105,97,108,95,65,114,97,109,97,105,99>>]},{li,[],[<<73,110,104,101,114,105,116,101,100>>]},{li,[],[<<73,110,115,99,114,105,112,116,105,111,110,97,108,95,80,97,104,108,97,118,105>>]},{li,[],[<<73,110,115,99,114,105,112,116,105,111,110,97,108,95,80,97,114,116,104,105,97,110>>]},{li,[],[<<74,97,118,97,110,101,115,101>>]},{li,[],[<<75,97,105,116,104,105>>]},{li,[],[<<75,97,110,110,97,100,97>>]},{li,[],[<<75,97,116,97,107,97,110,97>>]},{li,[],[<<75,97,121,97,104,95,76,105>>]},{li,[],[<<75,104,97,114,111,115,104,116,104,105>>]},{li,[],[<<75,104,109,101,114>>]},{li,[],[<<75,104,111,106,107,105>>]},{li,[],[<<75,104,117,100,97,119,97,100,105>>]},{li,[],[<<76,97,111>>]},{li,[],[<<76,97,116,105,110>>]},{li,[],[<<76,101,112,99,104,97>>]},{li,[],[<<76,105,109,98,117>>]},{li,[],[<<76,105,110,101,97,114,95,65>>]},{li,[],[<<76,105,110,101,97,114,95,66>>]},{li,[],[<<76,105,115,117>>]},{li,[],[<<76,121,99,105,97,110>>]},{li,[],[<<76,121,100,105,97,110>>]},{li,[],[<<77,97,104,97,106,97,110,105>>]},{li,[],[<<77,97,108,97,121,97,108,97,109>>]},{li,[],[<<77,97,110,100,97,105,99>>]},{li,[],[<<77,97,110,105,99,104,97,101,97,110>>]},{li,[],[<<77,101,101,116,101,105,95,77,97,121,101,107>>]},{li,[],[<<77,101,110,100,101,95,75,105,107,97,107,117,105>>]},{li,[],[<<77,101,114,111,105,116,105,99,95,67,117,114,115,105,118,101>>]},{li,[],[<<77,101,114,111,105,116,105,99,95,72,105,101,114,111,103,108,121,112,104,115>>]},{li,[],[<<77,105,97,111>>]},{li,[],[<<77,111,100,105>>]},{li,[],[<<77,111,110,103,111,108,105,97,110>>]},{li,[],[<<77,114,111>>]},{li,[],[<<77,121,97,110,109,97,114>>]},{li,[],[<<78,97,98,97,116,97,101,97,110>>]},{li,[],[<<78,101,119,95,84,97,105,95,76,117,101>>]},{li,[],[<<78,107,111>>]},{li,[],[<<79,103,104,97,109>>]},{li,[],[<<79,108,95,67,104,105,107,105>>]},{li,[],[<<79,108,100,95,73,116,97,108,105,99>>]},{li,[],[<<79,108,100,95,78,111,114,116,104,95,65,114,97,98,105,97,110>>]},{li,[],[<<79,108,100,95,80,101,114,109,105,99>>]},{li,[],[<<79,108,100,95,80,101,114,115,105,97,110>>]},{li,[],[<<79,114,105,121,97>>]},{li,[],[<<79,108,100,95,83,111,117,116,104,95,65,114,97,98,105,97,110>>]},{li,[],[<<79,108,100,95,84,117,114,107,105,99>>]},{li,[],[<<79,115,109,97,110,121,97>>]},{li,[],[<<80,97,104,97,119,104,95,72,109,111,110,103>>]},{li,[],[<<80,97,108,109,121,114,101,110,101>>]},{li,[],[<<80,97,117,95,67,105,110,95,72,97,117>>]},{li,[],[<<80,104,97,103,115,95,80,97>>]},{li,[],[<<80,104,111,101,110,105,99,105,97,110>>]},{li,[],[<<80,115,97,108,116,101,114,95,80,97,104,108,97,118,105>>]},{li,[],[<<82,101,106,97,110,103>>]},{li,[],[<<82,117,110,105,99>>]},{li,[],[<<83,97,109,97,114,105,116,97,110>>]},{li,[],[<<83,97,117,114,97,115,104,116,114,97>>]},{li,[],[<<83,104,97,114,97,100,97>>]},{li,[],[<<83,104,97,118,105,97,110>>]},{li,[],[<<83,105,100,100,104,97,109>>]},{li,[],[<<83,105,110,104,97,108,97>>]},{li,[],[<<83,111,114,97,95,83,111,109,112,101,110,103>>]},{li,[],[<<83,117,110,100,97,110,101,115,101>>]},{li,[],[<<83,121,108,111,116,105,95,78,97,103,114,105>>]},{li,[],[<<83,121,114,105,97,99>>]},{li,[],[<<84,97,103,97,108,111,103>>]},{li,[],[<<84,97,103,98,97,110,119,97>>]},{li,[],[<<84,97,105,95,76,101>>]},{li,[],[<<84,97,105,95,84,104,97,109>>]},{li,[],[<<84,97,105,95,86,105,101,116>>]},{li,[],[<<84,97,107,114,105>>]},{li,[],[<<84,97,109,105,108>>]},{li,[],[<<84,101,108,117,103,117>>]},{li,[],[<<84,104,97,97,110,97>>]},{li,[],[<<84,104,97,105>>]},{li,[],[<<84,105,98,101,116,97,110>>]},{li,[],[<<84,105,102,105,110,97,103,104>>]},{li,[],[<<84,105,114,104,117,116,97>>]},{li,[],[<<85,103,97,114,105,116,105,99>>]},{li,[],[<<86,97,105>>]},{li,[],[<<87,97,114,97,110,103,95,67,105,116,105>>]},{li,[],[<<89,105>>]}]},{p,[],[<<69,97,99,104,32,99,104,97,114,97,99,116,101,114,32,104,97,115,32,101,120,97,99,116,108,121,32,111,110,101,32,85,110,105,99,111,100,101,32,103,101,110,101,114,97,108,32,99,97,116,101,103,111,114,121,32,112,114,111,112,101,114,116,121,44,32,115,112,101,99,105,102,105,101,100,32,98,121,32,97,32,116,119,111,45,108,101,116,116,101,114,32,97,99,114,111,110,121,109,46,32,70,111,114,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,119,105,116,104,32,80,101,114,108,44,32,110,101,103,97,116,105,111,110,32,99,97,110,32,98,101,32,115,112,101,99,105,102,105,101,100,32,98,121,32,105,110,99,108,117,100,105,110,103,32,97,32,99,105,114,99,117,109,102,108,101,120,32,98,101,116,119,101,101,110,32,116,104,101,32,111,112,101,110,105,110,103,32,98,114,97,99,101,32,97,110,100,32,116,104,101,32,112,114,111,112,101,114,116,121,32,110,97,109,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,92,112,123,94,76,117,125,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,92,80,123,76,117,125,46>>]},{p,[],[<<73,102,32,111,110,108,121,32,111,110,101,32,108,101,116,116,101,114,32,105,115,32,115,112,101,99,105,102,105,101,100,32,119,105,116,104,32,92,112,32,111,114,32,92,80,44,32,105,116,32,105,110,99,108,117,100,101,115,32,97,108,108,32,116,104,101,32,103,101,110,101,114,97,108,32,99,97,116,101,103,111,114,121,32,112,114,111,112,101,114,116,105,101,115,32,116,104,97,116,32,115,116,97,114,116,32,119,105,116,104,32,116,104,97,116,32,108,101,116,116,101,114,46,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32,105,110,32,116,104,101,32,97,98,115,101,110,99,101,32,111,102,32,110,101,103,97,116,105,111,110,44,32,116,104,101,32,99,117,114,108,121,32,98,114,97,99,107,101,116,115,32,105,110,32,116,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,97,114,101,32,111,112,116,105,111,110,97,108,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,116,119,111,32,101,120,97,109,112,108,101,115,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,101,102,102,101,99,116,58>>]},{pre,[],[{code,[],[<<92,112,123,76,125,10,92,112,76>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,103,101,110,101,114,97,108,32,99,97,116,101,103,111,114,121,32,112,114,111,112,101,114,116,121,32,99,111,100,101,115,32,97,114,101,32,115,117,112,112,111,114,116,101,100,58>>]},{dl,[],[{dt,[],[<<67>>]},{dd,[],[<<79,116,104,101,114>>]},{dt,[],[<<67,99>>]},{dd,[],[<<67,111,110,116,114,111,108>>]},{dt,[],[<<67,102>>]},{dd,[],[<<70,111,114,109,97,116>>]},{dt,[],[<<67,110>>]},{dd,[],[<<85,110,97,115,115,105,103,110,101,100>>]},{dt,[],[<<67,111>>]},{dd,[],[<<80,114,105,118,97,116,101,32,117,115,101>>]},{dt,[],[<<67,115>>]},{dd,[],[<<83,117,114,114,111,103,97,116,101>>]},{dt,[],[<<76>>]},{dd,[],[<<76,101,116,116,101,114>>]},{dt,[],[<<76,108>>]},{dd,[],[<<76,111,119,101,114,99,97,115,101,32,108,101,116,116,101,114>>]},{dt,[],[<<76,109>>]},{dd,[],[<<77,111,100,105,102,105,101,114,32,108,101,116,116,101,114>>]},{dt,[],[<<76,111>>]},{dd,[],[<<79,116,104,101,114,32,108,101,116,116,101,114>>]},{dt,[],[<<76,116>>]},{dd,[],[<<84,105,116,108,101,32,99,97,115,101,32,108,101,116,116,101,114>>]},{dt,[],[<<76,117>>]},{dd,[],[<<85,112,112,101,114,99,97,115,101,32,108,101,116,116,101,114>>]},{dt,[],[<<77>>]},{dd,[],[<<77,97,114,107>>]},{dt,[],[<<77,99>>]},{dd,[],[<<83,112,97,99,105,110,103,32,109,97,114,107>>]},{dt,[],[<<77,101>>]},{dd,[],[<<69,110,99,108,111,115,105,110,103,32,109,97,114,107>>]},{dt,[],[<<77,110>>]},{dd,[],[<<78,111,110,45,115,112,97,99,105,110,103,32,109,97,114,107>>]},{dt,[],[<<78>>]},{dd,[],[<<78,117,109,98,101,114>>]},{dt,[],[<<78,100>>]},{dd,[],[<<68,101,99,105,109,97,108,32,110,117,109,98,101,114>>]},{dt,[],[<<78,108>>]},{dd,[],[<<76,101,116,116,101,114,32,110,117,109,98,101,114>>]},{dt,[],[<<78,111>>]},{dd,[],[<<79,116,104,101,114,32,110,117,109,98,101,114>>]},{dt,[],[<<80>>]},{dd,[],[<<80,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<80,99>>]},{dd,[],[<<67,111,110,110,101,99,116,111,114,32,112,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<80,100>>]},{dd,[],[<<68,97,115,104,32,112,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<80,101>>]},{dd,[],[<<67,108,111,115,101,32,112,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<80,102>>]},{dd,[],[<<70,105,110,97,108,32,112,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<80,105>>]},{dd,[],[<<73,110,105,116,105,97,108,32,112,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<80,111>>]},{dd,[],[<<79,116,104,101,114,32,112,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<80,115>>]},{dd,[],[<<79,112,101,110,32,112,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<83>>]},{dd,[],[<<83,121,109,98,111,108>>]},{dt,[],[<<83,99>>]},{dd,[],[<<67,117,114,114,101,110,99,121,32,115,121,109,98,111,108>>]},{dt,[],[<<83,107>>]},{dd,[],[<<77,111,100,105,102,105,101,114,32,115,121,109,98,111,108>>]},{dt,[],[<<83,109>>]},{dd,[],[<<77,97,116,104,101,109,97,116,105,99,97,108,32,115,121,109,98,111,108>>]},{dt,[],[<<83,111>>]},{dd,[],[<<79,116,104,101,114,32,115,121,109,98,111,108>>]},{dt,[],[<<90>>]},{dd,[],[<<83,101,112,97,114,97,116,111,114>>]},{dt,[],[<<90,108>>]},{dd,[],[<<76,105,110,101,32,115,101,112,97,114,97,116,111,114>>]},{dt,[],[<<90,112>>]},{dd,[],[<<80,97,114,97,103,114,97,112,104,32,115,101,112,97,114,97,116,111,114>>]},{dt,[],[<<90,115>>]},{dd,[],[<<83,112,97,99,101,32,115,101,112,97,114,97,116,111,114>>]}]},{p,[],[<<84,104,101,32,115,112,101,99,105,97,108,32,112,114,111,112,101,114,116,121,32,76,38,32,105,115,32,97,108,115,111,32,115,117,112,112,111,114,116,101,100,46,32,73,116,32,109,97,116,99,104,101,115,32,97,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,104,97,115,32,116,104,101,32,76,117,44,32,76,108,44,32,111,114,32,76,116,32,112,114,111,112,101,114,116,121,44,32,116,104,97,116,32,105,115,44,32,97,32,108,101,116,116,101,114,32,116,104,97,116,32,105,115,32,110,111,116,32,99,108,97,115,115,105,102,105,101,100,32,97,115,32,97,32,109,111,100,105,102,105,101,114,32,111,114,32,34,111,116,104,101,114,34,46>>]},{p,[],[<<84,104,101,32,67,115,32,40,83,117,114,114,111,103,97,116,101,41,32,112,114,111,112,101,114,116,121,32,97,112,112,108,105,101,115,32,111,110,108,121,32,116,111,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32,85,43,68,56,48,48,32,116,111,32,85,43,68,70,70,70,46,32,83,117,99,104,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,105,110,118,97,108,105,100,32,105,110,32,85,110,105,99,111,100,101,32,115,116,114,105,110,103,115,32,97,110,100,32,115,111,32,99,97,110,110,111,116,32,98,101,32,116,101,115,116,101,100,32,98,121,32,80,67,82,69,46,32,80,101,114,108,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,116,104,101,32,67,115,32,112,114,111,112,101,114,116,121,46>>]},{p,[],[<<84,104,101,32,108,111,110,103,32,115,121,110,111,110,121,109,115,32,102,111,114,32,112,114,111,112,101,114,116,121,32,110,97,109,101,115,32,115,117,112,112,111,114,116,101,100,32,98,121,32,80,101,114,108,32,40,115,117,99,104,32,97,115,32,92,112,123,76,101,116,116,101,114,125,41,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,80,67,82,69,46,32,73,116,32,105,115,32,110,111,116,32,112,101,114,109,105,116,116,101,100,32,116,111,32,112,114,101,102,105,120,32,97,110,121,32,111,102,32,116,104,101,115,101,32,112,114,111,112,101,114,116,105,101,115,32,119,105,116,104,32,34,73,115,34,46>>]},{p,[],[<<78,111,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,85,110,105,99,111,100,101,32,116,97,98,108,101,32,104,97,115,32,116,104,101,32,67,110,32,40,117,110,97,115,115,105,103,110,101,100,41,32,112,114,111,112,101,114,116,121,46,32,84,104,105,115,32,112,114,111,112,101,114,116,121,32,105,115,32,105,110,115,116,101,97,100,32,97,115,115,117,109,101,100,32,102,111,114,32,97,110,121,32,99,111,100,101,32,112,111,105,110,116,32,116,104,97,116,32,105,115,32,110,111,116,32,105,110,32,116,104,101,32,85,110,105,99,111,100,101,32,116,97,98,108,101,46>>]},{p,[],[<<83,112,101,99,105,102,121,105,110,103,32,99,97,115,101,108,101,115,115,32,109,97,116,99,104,105,110,103,32,100,111,101,115,32,110,111,116,32,97,102,102,101,99,116,32,116,104,101,115,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,92,112,123,76,117,125,32,97,108,119,97,121,115,32,109,97,116,99,104,101,115,32,111,110,108,121,32,117,112,112,101,114,99,97,115,101,32,108,101,116,116,101,114,115,46,32,84,104,105,115,32,105,115,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,116,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,99,117,114,114,101,110,116,32,118,101,114,115,105,111,110,115,32,111,102,32,80,101,114,108,46>>]},{p,[],[<<77,97,116,99,104,105,110,103,32,99,104,97,114,97,99,116,101,114,115,32,98,121,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,121,32,105,115,32,110,111,116,32,102,97,115,116,44,32,97,115,32,80,67,82,69,32,109,117,115,116,32,100,111,32,97,32,109,117,108,116,105,115,116,97,103,101,32,116,97,98,108,101,32,108,111,111,107,117,112,32,116,111,32,102,105,110,100,32,97,32,99,104,97,114,97,99,116,101,114,32,112,114,111,112,101,114,116,121,46,32,84,104,97,116,32,105,115,32,119,104,121,32,116,104,101,32,116,114,97,100,105,116,105,111,110,97,108,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,32,115,117,99,104,32,97,115,32,92,100,32,97,110,100,32,92,119,32,100,111,32,110,111,116,32,117,115,101,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,105,101,115,32,105,110,32,80,67,82,69,32,98,121,32,100,101,102,97,117,108,116,46,32,72,111,119,101,118,101,114,44,32,121,111,117,32,99,97,110,32,109,97,107,101,32,116,104,101,109,32,100,111,32,115,111,32,98,121,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<117,99,112>>]},<<32,111,114,32,98,121,32,115,116,97,114,116,105,110,103,32,116,104,101,32,112,97,116,116,101,114,110,32,119,105,116,104,32,40,42,85,67,80,41,46>>]},{p,[],[{em,[],[<<69,120,116,101,110,100,101,100,32,71,114,97,112,104,101,109,101,32,67,108,117,115,116,101,114,115>>]}]},{p,[],[<<84,104,101,32,92,88,32,101,115,99,97,112,101,32,109,97,116,99,104,101,115,32,97,110,121,32,110,117,109,98,101,114,32,111,102,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,102,111,114,109,32,97,110,32,34,101,120,116,101,110,100,101,100,32,103,114,97,112,104,101,109,101,32,99,108,117,115,116,101,114,34,44,32,97,110,100,32,116,114,101,97,116,115,32,116,104,101,32,115,101,113,117,101,110,99,101,32,97,115,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,32,40,115,101,101,32,98,101,108,111,119,41,46,32,85,112,32,116,111,32,97,110,100,32,105,110,99,108,117,100,105,110,103,32,114,101,108,101,97,115,101,32,56,46,51,49,44,32,80,67,82,69,32,109,97,116,99,104,101,100,32,97,110,32,101,97,114,108,105,101,114,44,32,115,105,109,112,108,101,114,32,100,101,102,105,110,105,116,105,111,110,32,116,104,97,116,32,119,97,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<40,63,62,92,80,77,92,112,77,42,41>>]},<<46,32,84,104,97,116,32,105,115,44,32,105,116,32,109,97,116,99,104,101,100,32,97,32,99,104,97,114,97,99,116,101,114,32,119,105,116,104,111,117,116,32,116,104,101,32,34,109,97,114,107,34,32,112,114,111,112,101,114,116,121,44,32,102,111,108,108,111,119,101,100,32,98,121,32,122,101,114,111,32,111,114,32,109,111,114,101,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,116,104,101,32,34,109,97,114,107,34,32,112,114,111,112,101,114,116,121,46,32,67,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,116,104,101,32,34,109,97,114,107,34,32,112,114,111,112,101,114,116,121,32,97,114,101,32,116,121,112,105,99,97,108,108,121,32,110,111,110,45,115,112,97,99,105,110,103,32,97,99,99,101,110,116,115,32,116,104,97,116,32,97,102,102,101,99,116,32,116,104,101,32,112,114,101,99,101,100,105,110,103,32,99,104,97,114,97,99,116,101,114,46>>]},{p,[],[<<84,104,105,115,32,115,105,109,112,108,101,32,100,101,102,105,110,105,116,105,111,110,32,119,97,115,32,101,120,116,101,110,100,101,100,32,105,110,32,85,110,105,99,111,100,101,32,116,111,32,105,110,99,108,117,100,101,32,109,111,114,101,32,99,111,109,112,108,105,99,97,116,101,100,32,107,105,110,100,115,32,111,102,32,99,111,109,112,111,115,105,116,101,32,99,104,97,114,97,99,116,101,114,32,98,121,32,103,105,118,105,110,103,32,101,97,99,104,32,99,104,97,114,97,99,116,101,114,32,97,32,103,114,97,112,104,101,109,101,32,98,114,101,97,107,105,110,103,32,112,114,111,112,101,114,116,121,44,32,97,110,100,32,99,114,101,97,116,105,110,103,32,114,117,108,101,115,32,116,104,97,116,32,117,115,101,32,116,104,101,115,101,32,112,114,111,112,101,114,116,105,101,115,32,116,111,32,100,101,102,105,110,101,32,116,104,101,32,98,111,117,110,100,97,114,105,101,115,32,111,102,32,101,120,116,101,110,100,101,100,32,103,114,97,112,104,101,109,101,32,99,108,117,115,116,101,114,115,46,32,73,110,32,80,67,82,69,32,114,101,108,101,97,115,101,115,32,108,97,116,101,114,32,116,104,97,110,32,56,46,51,49,44,32,92,88,32,109,97,116,99,104,101,115,32,111,110,101,32,111,102,32,116,104,101,115,101,32,99,108,117,115,116,101,114,115,46>>]},{p,[],[<<92,88,32,97,108,119,97,121,115,32,109,97,116,99,104,101,115,32,97,116,32,108,101,97,115,116,32,111,110,101,32,99,104,97,114,97,99,116,101,114,46,32,84,104,101,110,32,105,116,32,100,101,99,105,100,101,115,32,119,104,101,116,104,101,114,32,116,111,32,97,100,100,32,109,111,114,101,32,99,104,97,114,97,99,116,101,114,115,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,114,117,108,101,115,32,102,111,114,32,101,110,100,105,110,103,32,97,32,99,108,117,115,116,101,114,58>>]},{ol,[],[{li,[],[{p,[],[<<69,110,100,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46>>]}]},{li,[],[{p,[],[<<68,111,32,110,111,116,32,101,110,100,32,98,101,116,119,101,101,110,32,67,82,32,97,110,100,32,76,70,59,32,111,116,104,101,114,119,105,115,101,32,101,110,100,32,97,102,116,101,114,32,97,110,121,32,99,111,110,116,114,111,108,32,99,104,97,114,97,99,116,101,114,46>>]}]},{li,[],[{p,[],[<<68,111,32,110,111,116,32,98,114,101,97,107,32,72,97,110,103,117,108,32,40,97,32,75,111,114,101,97,110,32,115,99,114,105,112,116,41,32,115,121,108,108,97,98,108,101,32,115,101,113,117,101,110,99,101,115,46,32,72,97,110,103,117,108,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,111,102,32,102,105,118,101,32,116,121,112,101,115,58,32,76,44,32,86,44,32,84,44,32,76,86,44,32,97,110,100,32,76,86,84,46,32,65,110,32,76,32,99,104,97,114,97,99,116,101,114,32,99,97,110,32,98,101,32,102,111,108,108,111,119,101,100,32,98,121,32,97,110,32,76,44,32,86,44,32,76,86,44,32,111,114,32,76,86,84,32,99,104,97,114,97,99,116,101,114,46,32,65,110,32,76,86,32,111,114,32,86,32,99,104,97,114,97,99,116,101,114,32,99,97,110,32,98,101,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,86,32,111,114,32,84,32,99,104,97,114,97,99,116,101,114,46,32,65,110,32,76,86,84,32,111,114,32,84,32,99,104,97,114,97,99,116,101,114,32,99,97,110,32,98,101,32,102,111,108,108,111,119,101,100,32,111,110,108,121,32,98,121,32,97,32,84,32,99,104,97,114,97,99,116,101,114,46>>]}]},{li,[],[{p,[],[<<68,111,32,110,111,116,32,101,110,100,32,98,101,102,111,114,101,32,101,120,116,101,110,100,105,110,103,32,99,104,97,114,97,99,116,101,114,115,32,111,114,32,115,112,97,99,105,110,103,32,109,97,114,107,115,46,32,67,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,116,104,101,32,34,109,97,114,107,34,32,112,114,111,112,101,114,116,121,32,97,108,119,97,121,115,32,104,97,118,101,32,116,104,101,32,34,101,120,116,101,110,100,34,32,103,114,97,112,104,101,109,101,32,98,114,101,97,107,105,110,103,32,112,114,111,112,101,114,116,121,46>>]}]},{li,[],[{p,[],[<<68,111,32,110,111,116,32,101,110,100,32,97,102,116,101,114,32,112,114,101,112,101,110,100,32,99,104,97,114,97,99,116,101,114,115,46>>]}]},{li,[],[{p,[],[<<79,116,104,101,114,119,105,115,101,44,32,101,110,100,32,116,104,101,32,99,108,117,115,116,101,114,46>>]}]}]},{p,[],[{em,[],[<<80,67,82,69,32,65,100,100,105,116,105,111,110,97,108,32,80,114,111,112,101,114,116,105,101,115>>]}]},{p,[],[<<73,110,32,97,100,100,105,116,105,111,110,32,116,111,32,116,104,101,32,115,116,97,110,100,97,114,100,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,105,101,115,32,100,101,115,99,114,105,98,101,100,32,101,97,114,108,105,101,114,44,32,80,67,82,69,32,115,117,112,112,111,114,116,115,32,102,111,117,114,32,109,111,114,101,32,116,104,97,116,32,109,97,107,101,32,105,116,32,112,111,115,115,105,98,108,101,32,116,111,32,99,111,110,118,101,114,116,32,116,114,97,100,105,116,105,111,110,97,108,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,44,32,115,117,99,104,32,97,115,32,92,119,32,97,110,100,32,92,115,32,116,111,32,117,115,101,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,105,101,115,46,32,80,67,82,69,32,117,115,101,115,32,116,104,101,115,101,32,110,111,110,45,115,116,97,110,100,97,114,100,44,32,110,111,110,45,80,101,114,108,32,112,114,111,112,101,114,116,105,101,115,32,105,110,116,101,114,110,97,108,108,121,32,119,104,101,110,32,116,104,101,32>>,{code,[],[<<117,99,112>>]},<<32,111,112,116,105,111,110,32,105,115,32,112,97,115,115,101,100,46,32,72,111,119,101,118,101,114,44,32,116,104,101,121,32,99,97,110,32,97,108,115,111,32,98,101,32,117,115,101,100,32,101,120,112,108,105,99,105,116,108,121,46,32,84,104,101,32,112,114,111,112,101,114,116,105,101,115,32,97,114,101,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[<<88,97,110>>]},{dd,[],[{p,[],[<<65,110,121,32,97,108,112,104,97,110,117,109,101,114,105,99,32,99,104,97,114,97,99,116,101,114,46,32,77,97,116,99,104,101,115,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,104,97,118,101,32,101,105,116,104,101,114,32,116,104,101,32,76,32,40,108,101,116,116,101,114,41,32,111,114,32,116,104,101,32,78,32,40,110,117,109,98,101,114,41,32,112,114,111,112,101,114,116,121,46>>]}]},{dt,[],[<<88,112,115>>]},{dd,[],[{p,[],[<<65,110,121,32,80,111,115,105,120,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,46,32,77,97,116,99,104,101,115,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,116,97,98,44,32,108,105,110,101,32,102,101,101,100,44,32,118,101,114,116,105,99,97,108,32,116,97,98,44,32,102,111,114,109,32,102,101,101,100,44,32,99,97,114,114,105,97,103,101,32,114,101,116,117,114,110,44,32,97,110,100,32,97,110,121,32,111,116,104,101,114,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,104,97,115,32,116,104,101,32,90,32,40,115,101,112,97,114,97,116,111,114,41,32,112,114,111,112,101,114,116,121,46>>]}]},{dt,[],[<<88,115,112>>]},{dd,[],[{p,[],[<<65,110,121,32,80,101,114,108,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,46,32,77,97,116,99,104,101,115,32,116,104,101,32,115,97,109,101,32,97,115,32,88,112,115,44,32,101,120,99,101,112,116,32,116,104,97,116,32,118,101,114,116,105,99,97,108,32,116,97,98,32,105,115,32,101,120,99,108,117,100,101,100,46>>]}]},{dt,[],[<<88,119,100>>]},{dd,[],[{p,[],[<<65,110,121,32,80,101,114,108,32,34,119,111,114,100,34,32,99,104,97,114,97,99,116,101,114,46,32,77,97,116,99,104,101,115,32,116,104,101,32,115,97,109,101,32,99,104,97,114,97,99,116,101,114,115,32,97,115,32,88,97,110,44,32,112,108,117,115,32,117,110,100,101,114,115,99,111,114,101,46>>]}]}]},{p,[],[<<80,101,114,108,32,97,110,100,32,80,79,83,73,88,32,115,112,97,99,101,32,97,114,101,32,110,111,119,32,116,104,101,32,115,97,109,101,46,32,80,101,114,108,32,97,100,100,101,100,32,86,84,32,116,111,32,105,116,115,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,32,115,101,116,32,97,116,32,114,101,108,101,97,115,101,32,53,46,49,56,32,97,110,100,32,80,67,82,69,32,99,104,97,110,103,101,100,32,97,116,32,114,101,108,101,97,115,101,32,56,46,51,52,46>>]},{p,[],[<<88,97,110,32,109,97,116,99,104,101,115,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,104,97,118,101,32,101,105,116,104,101,114,32,116,104,101,32,76,32,40,108,101,116,116,101,114,41,32,111,114,32,116,104,101,32,78,32,40,110,117,109,98,101,114,41,32,112,114,111,112,101,114,116,121,46,32,88,112,115,32,109,97,116,99,104,101,115,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,116,97,98,44,32,108,105,110,101,102,101,101,100,44,32,118,101,114,116,105,99,97,108,32,116,97,98,44,32,102,111,114,109,32,102,101,101,100,44,32,111,114,32,99,97,114,114,105,97,103,101,32,114,101,116,117,114,110,44,32,97,110,100,32,97,110,121,32,111,116,104,101,114,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,104,97,115,32,116,104,101,32,90,32,40,115,101,112,97,114,97,116,111,114,41,32,112,114,111,112,101,114,116,121,46,32,88,115,112,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,88,112,115,59,32,105,116,32,117,115,101,100,32,116,111,32,101,120,99,108,117,100,101,32,118,101,114,116,105,99,97,108,32,116,97,98,44,32,102,111,114,32,80,101,114,108,32,99,111,109,112,97,116,105,98,105,108,105,116,121,44,32,98,117,116,32,80,101,114,108,32,99,104,97,110,103,101,100,44,32,97,110,100,32,115,111,32,80,67,82,69,32,102,111,108,108,111,119,101,100,32,97,116,32,114,101,108,101,97,115,101,32,56,46,51,52,46,32,88,119,100,32,109,97,116,99,104,101,115,32,116,104,101,32,115,97,109,101,32,99,104,97,114,97,99,116,101,114,115,32,97,115,32,88,97,110,44,32,112,108,117,115,32,117,110,100,101,114,115,99,111,114,101,46>>]},{p,[],[<<84,104,101,114,101,32,105,115,32,97,110,111,116,104,101,114,32,110,111,110,45,115,116,97,110,100,97,114,100,32,112,114,111,112,101,114,116,121,44,32,88,117,99,44,32,119,104,105,99,104,32,109,97,116,99,104,101,115,32,97,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,32,85,110,105,118,101,114,115,97,108,32,67,104,97,114,97,99,116,101,114,32,78,97,109,101,32,105,110,32,67,43,43,32,97,110,100,32,111,116,104,101,114,32,112,114,111,103,114,97,109,109,105,110,103,32,108,97,110,103,117,97,103,101,115,46,32,84,104,101,115,101,32,97,114,101,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,36,44,32,64,44,32,96,32,40,103,114,97,118,101,32,97,99,99,101,110,116,41,44,32,97,110,100,32,97,108,108,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,85,110,105,99,111,100,101,32,99,111,100,101,32,112,111,105,110,116,115,32,62,61,32,85,43,48,48,65,48,44,32,101,120,99,101,112,116,32,102,111,114,32,116,104,101,32,115,117,114,114,111,103,97,116,101,115,32,85,43,68,56,48,48,32,116,111,32,85,43,68,70,70,70,46,32,78,111,116,105,99,101,32,116,104,97,116,32,109,111,115,116,32,98,97,115,101,32,40,65,83,67,73,73,41,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,101,120,99,108,117,100,101,100,46,32,40,85,110,105,118,101,114,115,97,108,32,67,104,97,114,97,99,116,101,114,32,78,97,109,101,115,32,97,114,101,32,111,102,32,116,104,101,32,102,111,114,109,32,92,117,72,72,72,72,32,111,114,32,92,85,72,72,72,72,72,72,72,72,44,32,119,104,101,114,101,32,72,32,105,115,32,97,32,104,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,88,117,99,32,112,114,111,112,101,114,116,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,115,101,32,115,101,113,117,101,110,99,101,115,32,98,117,116,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,116,104,101,121,32,114,101,112,114,101,115,101,110,116,46,41>>]},{p,[],[{em,[],[<<82,101,115,101,116,116,105,110,103,32,116,104,101,32,77,97,116,99,104,32,83,116,97,114,116>>]}]},{p,[],[<<84,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,92,75,32,99,97,117,115,101,115,32,97,110,121,32,112,114,101,118,105,111,117,115,108,121,32,109,97,116,99,104,101,100,32,99,104,97,114,97,99,116,101,114,115,32,110,111,116,32,116,111,32,98,101,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,101,32,102,105,110,97,108,32,109,97,116,99,104,101,100,32,115,101,113,117,101,110,99,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,102,111,111,98,97,114,34,44,32,98,117,116,32,114,101,112,111,114,116,115,32,116,104,97,116,32,105,116,32,104,97,115,32,109,97,116,99,104,101,100,32,34,98,97,114,34,58>>]},{pre,[],[{code,[],[<<102,111,111,92,75,98,97,114>>]}]},{p,[],[<<84,104,105,115,32,102,101,97,116,117,114,101,32,105,115,32,115,105,109,105,108,97,114,32,116,111,32,97,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,32,40,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,41,46,32,72,111,119,101,118,101,114,44,32,105,110,32,116,104,105,115,32,99,97,115,101,44,32,116,104,101,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,98,101,102,111,114,101,32,116,104,101,32,114,101,97,108,32,109,97,116,99,104,32,100,111,101,115,32,110,111,116,32,104,97,118,101,32,116,111,32,98,101,32,111,102,32,102,105,120,101,100,32,108,101,110,103,116,104,44,32,97,115,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,115,32,100,111,46,32,84,104,101,32,117,115,101,32,111,102,32,92,75,32,100,111,101,115,32,110,111,116,32,105,110,116,101,114,102,101,114,101,32,119,105,116,104,32,116,104,101,32,115,101,116,116,105,110,103,32,111,102,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,119,104,101,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,102,111,111,98,97,114,34,44,32,116,104,101,32,102,105,114,115,116,32,115,117,98,115,116,114,105,110,103,32,105,115,32,115,116,105,108,108,32,115,101,116,32,116,111,32,34,102,111,111,34,58>>]},{pre,[],[{code,[],[<<40,102,111,111,41,92,75,98,97,114>>]}]},{p,[],[<<80,101,114,108,32,100,111,99,117,109,101,110,116,115,32,116,104,97,116,32,116,104,101,32,117,115,101,32,111,102,32,92,75,32,119,105,116,104,105,110,32,97,115,115,101,114,116,105,111,110,115,32,105,115,32,34,110,111,116,32,119,101,108,108,32,100,101,102,105,110,101,100,34,46,32,73,110,32,80,67,82,69,44,32,92,75,32,105,115,32,97,99,116,101,100,32,117,112,111,110,32,119,104,101,110,32,105,116,32,111,99,99,117,114,115,32,105,110,115,105,100,101,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,44,32,98,117,116,32,105,115,32,105,103,110,111,114,101,100,32,105,110,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,46,32,78,111,116,101,32,116,104,97,116,32,119,104,101,110,32,97,32,112,97,116,116,101,114,110,32,115,117,99,104,32,97,115,32,40,63,61,97,98,92,75,41,32,109,97,116,99,104,101,115,44,32,116,104,101,32,114,101,112,111,114,116,101,100,32,115,116,97,114,116,32,111,102,32,116,104,101,32,109,97,116,99,104,32,99,97,110,32,98,101,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,109,97,116,99,104,46>>]},{p,[],[{em,[],[<<83,105,109,112,108,101,32,65,115,115,101,114,116,105,111,110,115>>]}]},{p,[],[<<84,104,101,32,102,105,110,97,108,32,117,115,101,32,111,102,32,98,97,99,107,115,108,97,115,104,32,105,115,32,102,111,114,32,99,101,114,116,97,105,110,32,115,105,109,112,108,101,32,97,115,115,101,114,116,105,111,110,115,46,32,65,110,32,97,115,115,101,114,116,105,111,110,32,115,112,101,99,105,102,105,101,115,32,97,32,99,111,110,100,105,116,105,111,110,32,116,104,97,116,32,109,117,115,116,32,98,101,32,109,101,116,32,97,116,32,97,32,112,97,114,116,105,99,117,108,97,114,32,112,111,105,110,116,32,105,110,32,97,32,109,97,116,99,104,44,32,119,105,116,104,111,117,116,32,99,111,110,115,117,109,105,110,103,32,97,110,121,32,99,104,97,114,97,99,116,101,114,115,32,102,114,111,109,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,84,104,101,32,117,115,101,32,111,102,32,115,117,98,112,97,116,116,101,114,110,115,32,102,111,114,32,109,111,114,101,32,99,111,109,112,108,105,99,97,116,101,100,32,97,115,115,101,114,116,105,111,110,115,32,105,115,32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,98,97,99,107,115,108,97,115,104,101,100,32,97,115,115,101,114,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[<<92,98>>]},{dd,[],[<<77,97,116,99,104,101,115,32,97,116,32,97,32,119,111,114,100,32,98,111,117,110,100,97,114,121,46>>]},{dt,[],[<<92,66>>]},{dd,[],[<<77,97,116,99,104,101,115,32,119,104,101,110,32,110,111,116,32,97,116,32,97,32,119,111,114,100,32,98,111,117,110,100,97,114,121,46>>]},{dt,[],[<<92,65>>]},{dd,[],[<<77,97,116,99,104,101,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,46>>]},{dt,[],[<<92,90>>]},{dd,[],[<<77,97,116,99,104,101,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,44,32,97,110,100,32,98,101,102,111,114,101,32,97,32,110,101,119,108,105,110,101,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,46>>]},{dt,[],[<<92,122>>]},{dd,[],[<<77,97,116,99,104,101,115,32,111,110,108,121,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,46>>]},{dt,[],[<<92,71>>]},{dd,[],[<<77,97,116,99,104,101,115,32,97,116,32,116,104,101,32,102,105,114,115,116,32,109,97,116,99,104,105,110,103,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,46>>]}]},{p,[],[<<73,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,92,98,32,104,97,115,32,97,32,100,105,102,102,101,114,101,110,116,32,109,101,97,110,105,110,103,59,32,105,116,32,109,97,116,99,104,101,115,32,116,104,101,32,98,97,99,107,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,46,32,73,102,32,97,110,121,32,111,116,104,101,114,32,111,102,32,116,104,101,115,101,32,97,115,115,101,114,116,105,111,110,115,32,97,112,112,101,97,114,115,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,98,121,32,100,101,102,97,117,108,116,32,105,116,32,109,97,116,99,104,101,115,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,108,105,116,101,114,97,108,32,99,104,97,114,97,99,116,101,114,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,92,66,32,109,97,116,99,104,101,115,32,116,104,101,32,108,101,116,116,101,114,32,66,41,46>>]},{p,[],[<<65,32,119,111,114,100,32,98,111,117,110,100,97,114,121,32,105,115,32,97,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,119,104,101,114,101,32,116,104,101,32,99,117,114,114,101,110,116,32,99,104,97,114,97,99,116,101,114,32,97,110,100,32,116,104,101,32,112,114,101,118,105,111,117,115,32,99,104,97,114,97,99,116,101,114,32,100,111,32,110,111,116,32,98,111,116,104,32,109,97,116,99,104,32,92,119,32,111,114,32,92,87,32,40,116,104,97,116,32,105,115,44,32,111,110,101,32,109,97,116,99,104,101,115,32,92,119,32,97,110,100,32,116,104,101,32,111,116,104,101,114,32,109,97,116,99,104,101,115,32,92,87,41,44,32,111,114,32,116,104,101,32,115,116,97,114,116,32,111,114,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,105,102,32,116,104,101,32,102,105,114,115,116,32,111,114,32,108,97,115,116,32,99,104,97,114,97,99,116,101,114,32,109,97,116,99,104,101,115,32,92,119,44,32,114,101,115,112,101,99,116,105,118,101,108,121,46,32,73,110,32,85,84,70,32,109,111,100,101,44,32,116,104,101,32,109,101,97,110,105,110,103,115,32,111,102,32,92,119,32,97,110,100,32,92,87,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,98,121,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<117,99,112>>]},<<46,32,87,104,101,110,32,116,104,105,115,32,105,115,32,100,111,110,101,44,32,105,116,32,97,108,115,111,32,97,102,102,101,99,116,115,32,92,98,32,97,110,100,32,92,66,46,32,80,67,82,69,32,97,110,100,32,80,101,114,108,32,100,111,32,110,111,116,32,104,97,118,101,32,97,32,115,101,112,97,114,97,116,101,32,34,115,116,97,114,116,32,111,102,32,119,111,114,100,34,32,111,114,32,34,101,110,100,32,111,102,32,119,111,114,100,34,32,109,101,116,97,115,101,113,117,101,110,99,101,46,32,72,111,119,101,118,101,114,44,32,119,104,97,116,101,118,101,114,32,102,111,108,108,111,119,115,32,92,98,32,110,111,114,109,97,108,108,121,32,100,101,116,101,114,109,105,110,101,115,32,119,104,105,99,104,32,105,116,32,105,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,114,97,103,109,101,110,116,32,92,98,97,32,109,97,116,99,104,101,115,32,34,97,34,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,97,32,119,111,114,100,46>>]},{p,[],[<<84,104,101,32,92,65,44,32,92,90,44,32,97,110,100,32,92,122,32,97,115,115,101,114,116,105,111,110,115,32,100,105,102,102,101,114,32,102,114,111,109,32,116,104,101,32,116,114,97,100,105,116,105,111,110,97,108,32,99,105,114,99,117,109,102,108,101,120,32,97,110,100,32,100,111,108,108,97,114,32,40,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,110,101,120,116,32,115,101,99,116,105,111,110,41,32,105,110,32,116,104,97,116,32,116,104,101,121,32,111,110,108,121,32,101,118,101,114,32,109,97,116,99,104,32,97,116,32,116,104,101,32,118,101,114,121,32,115,116,97,114,116,32,97,110,100,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,119,104,97,116,101,118,101,114,32,111,112,116,105,111,110,115,32,97,114,101,32,115,101,116,46,32,84,104,117,115,44,32,116,104,101,121,32,97,114,101,32,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,109,117,108,116,105,108,105,110,101,32,109,111,100,101,46,32,84,104,101,115,101,32,116,104,114,101,101,32,97,115,115,101,114,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,102,102,101,99,116,101,100,32,98,121,32,111,112,116,105,111,110,115,32>>,{code,[],[<<110,111,116,98,111,108>>]},<<32,111,114,32>>,{code,[],[<<110,111,116,101,111,108>>]},<<44,32,119,104,105,99,104,32,97,102,102,101,99,116,32,111,110,108,121,32,116,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,116,104,101,32,99,105,114,99,117,109,102,108,101,120,32,97,110,100,32,100,111,108,108,97,114,32,109,101,116,97,99,104,97,114,97,99,116,101,114,115,46,32,72,111,119,101,118,101,114,44,32,105,102,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<115,116,97,114,116,111,102,102,115,101,116>>]},<<32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<32,105,115,32,110,111,110,45,122,101,114,111,44,32,105,110,100,105,99,97,116,105,110,103,32,116,104,97,116,32,109,97,116,99,104,105,110,103,32,105,115,32,116,111,32,115,116,97,114,116,32,97,116,32,97,32,112,111,105,110,116,32,111,116,104,101,114,32,116,104,97,110,32,116,104,101,32,98,101,103,105,110,110,105,110,103,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,44,32,92,65,32,99,97,110,32,110,101,118,101,114,32,109,97,116,99,104,46,32,84,104,101,32,100,105,102,102,101,114,101,110,99,101,32,98,101,116,119,101,101,110,32,92,90,32,97,110,100,32,92,122,32,105,115,32,116,104,97,116,32,92,90,32,109,97,116,99,104,101,115,32,98,101,102,111,114,101,32,97,32,110,101,119,108,105,110,101,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,97,110,100,32,97,116,32,116,104,101,32,118,101,114,121,32,101,110,100,44,32,119,104,105,108,101,32,92,122,32,109,97,116,99,104,101,115,32,111,110,108,121,32,97,116,32,116,104,101,32,101,110,100,46>>]},{p,[],[<<84,104,101,32,92,71,32,97,115,115,101,114,116,105,111,110,32,105,115,32,116,114,117,101,32,111,110,108,121,32,119,104,101,110,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,116,99,104,105,110,103,32,112,111,115,105,116,105,111,110,32,105,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,112,111,105,110,116,32,111,102,32,116,104,101,32,109,97,116,99,104,44,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<115,116,97,114,116,111,102,102,115,101,116>>]},<<32,111,102,32>>,{code,[],[<<114,117,110,47,51>>]},<<46,32,73,116,32,100,105,102,102,101,114,115,32,102,114,111,109,32,92,65,32,119,104,101,110,32,116,104,101,32,118,97,108,117,101,32,111,102,32>>,{code,[],[<<115,116,97,114,116,111,102,102,115,101,116>>]},<<32,105,115,32,110,111,110,45,122,101,114,111,46,32,66,121,32,99,97,108,108,105,110,103,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,32,119,105,116,104,32,97,112,112,114,111,112,114,105,97,116,101,32,97,114,103,117,109,101,110,116,115,44,32,121,111,117,32,99,97,110,32,109,105,109,105,99,32,116,104,101,32,80,101,114,108,32,111,112,116,105,111,110,32>>,{code,[],[<<47,103>>]},<<44,32,97,110,100,32,105,116,32,105,115,32,105,110,32,116,104,105,115,32,107,105,110,100,32,111,102,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,119,104,101,114,101,32,92,71,32,99,97,110,32,98,101,32,117,115,101,102,117,108,46>>]},{p,[],[<<78,111,116,105,99,101,44,32,104,111,119,101,118,101,114,44,32,116,104,97,116,32,116,104,101,32,80,67,82,69,32,105,110,116,101,114,112,114,101,116,97,116,105,111,110,32,111,102,32,92,71,44,32,97,115,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,116,99,104,44,32,105,115,32,115,117,98,116,108,121,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,80,101,114,108,44,32,119,104,105,99,104,32,100,101,102,105,110,101,115,32,105,116,32,97,115,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,112,114,101,118,105,111,117,115,32,109,97,116,99,104,46,32,73,110,32,80,101,114,108,44,32,116,104,101,115,101,32,99,97,110,32,98,101,32,100,105,102,102,101,114,101,110,116,32,119,104,101,110,32,116,104,101,32,112,114,101,118,105,111,117,115,108,121,32,109,97,116,99,104,101,100,32,115,116,114,105,110,103,32,119,97,115,32,101,109,112,116,121,46,32,65,115,32,80,67,82,69,32,100,111,101,115,32,111,110,108,121,32,111,110,101,32,109,97,116,99,104,32,97,116,32,97,32,116,105,109,101,44,32,105,116,32,99,97,110,110,111,116,32,114,101,112,114,111,100,117,99,101,32,116,104,105,115,32,98,101,104,97,118,105,111,114,46>>]},{p,[],[<<73,102,32,97,108,108,32,116,104,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,111,102,32,97,32,112,97,116,116,101,114,110,32,98,101,103,105,110,32,119,105,116,104,32,92,71,44,32,116,104,101,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,97,110,99,104,111,114,101,100,32,116,111,32,116,104,101,32,115,116,97,114,116,105,110,103,32,109,97,116,99,104,32,112,111,115,105,116,105,111,110,44,32,97,110,100,32,116,104,101,32,34,97,110,99,104,111,114,101,100,34,32,102,108,97,103,32,105,115,32,115,101,116,32,105,110,32,116,104,101,32,99,111,109,112,105,108,101,100,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{a,[{id,<<115,101,99,116,52>>}],[]},{h2,[],[<<67,105,114,99,117,109,102,108,101,120,32,97,110,100,32,68,111,108,108,97,114>>]},{p,[],[<<84,104,101,32,99,105,114,99,117,109,102,108,101,120,32,97,110,100,32,100,111,108,108,97,114,32,109,101,116,97,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,122,101,114,111,45,119,105,100,116,104,32,97,115,115,101,114,116,105,111,110,115,46,32,84,104,97,116,32,105,115,44,32,116,104,101,121,32,116,101,115,116,32,102,111,114,32,97,32,112,97,114,116,105,99,117,108,97,114,32,99,111,110,100,105,116,105,111,110,32,116,111,32,98,101,32,116,114,117,101,32,119,105,116,104,111,117,116,32,99,111,110,115,117,109,105,110,103,32,97,110,121,32,99,104,97,114,97,99,116,101,114,115,32,102,114,111,109,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46>>]},{p,[],[<<79,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,105,110,32,116,104,101,32,100,101,102,97,117,108,116,32,109,97,116,99,104,105,110,103,32,109,111,100,101,44,32,116,104,101,32,99,105,114,99,117,109,102,108,101,120,32,99,104,97,114,97,99,116,101,114,32,105,115,32,97,110,32,97,115,115,101,114,116,105,111,110,32,116,104,97,116,32,105,115,32,116,114,117,101,32,111,110,108,121,32,105,102,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,116,99,104,105,110,103,32,112,111,105,110,116,32,105,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,73,102,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<115,116,97,114,116,111,102,102,115,101,116>>]},<<32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<32,105,115,32,110,111,110,45,122,101,114,111,44,32,99,105,114,99,117,109,102,108,101,120,32,99,97,110,32,110,101,118,101,114,32,109,97,116,99,104,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,105,115,32,117,110,115,101,116,46,32,73,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,99,105,114,99,117,109,102,108,101,120,32,104,97,115,32,97,110,32,101,110,116,105,114,101,108,121,32,100,105,102,102,101,114,101,110,116,32,109,101,97,110,105,110,103,32,40,115,101,101,32,98,101,108,111,119,41,46>>]},{p,[],[<<67,105,114,99,117,109,102,108,101,120,32,110,101,101,100,115,32,110,111,116,32,116,111,32,98,101,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,102,32,115,111,109,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,114,101,32,105,110,118,111,108,118,101,100,44,32,98,117,116,32,105,116,32,105,115,32,116,111,32,98,101,32,116,104,101,32,102,105,114,115,116,32,116,104,105,110,103,32,105,110,32,101,97,99,104,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,119,104,105,99,104,32,105,116,32,97,112,112,101,97,114,115,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,101,118,101,114,32,116,111,32,109,97,116,99,104,32,116,104,97,116,32,98,114,97,110,99,104,46,32,73,102,32,97,108,108,32,112,111,115,115,105,98,108,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,115,116,97,114,116,32,119,105,116,104,32,97,32,99,105,114,99,117,109,102,108,101,120,44,32,116,104,97,116,32,105,115,44,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,99,111,110,115,116,114,97,105,110,101,100,32,116,111,32,109,97,116,99,104,32,111,110,108,121,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,44,32,105,116,32,105,115,32,115,97,105,100,32,116,111,32,98,101,32,97,110,32,34,97,110,99,104,111,114,101,100,34,32,112,97,116,116,101,114,110,46,32,40,84,104,101,114,101,32,97,114,101,32,97,108,115,111,32,111,116,104,101,114,32,99,111,110,115,116,114,117,99,116,115,32,116,104,97,116,32,99,97,110,32,99,97,117,115,101,32,97,32,112,97,116,116,101,114,110,32,116,111,32,98,101,32,97,110,99,104,111,114,101,100,46,41>>]},{p,[],[<<84,104,101,32,100,111,108,108,97,114,32,99,104,97,114,97,99,116,101,114,32,105,115,32,97,110,32,97,115,115,101,114,116,105,111,110,32,116,104,97,116,32,105,115,32,116,114,117,101,32,111,110,108,121,32,105,102,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,116,99,104,105,110,103,32,112,111,105,110,116,32,105,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,111,114,32,105,109,109,101,100,105,97,116,101,108,121,32,98,101,102,111,114,101,32,97,32,110,101,119,108,105,110,101,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,40,98,121,32,100,101,102,97,117,108,116,41,46,32,78,111,116,105,99,101,32,104,111,119,101,118,101,114,32,116,104,97,116,32,105,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,101,119,108,105,110,101,46,32,68,111,108,108,97,114,32,110,101,101,100,115,32,110,111,116,32,116,111,32,98,101,32,116,104,101,32,108,97,115,116,32,99,104,97,114,97,99,116,101,114,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,102,32,115,111,109,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,114,101,32,105,110,118,111,108,118,101,100,44,32,98,117,116,32,105,116,32,105,115,32,116,111,32,98,101,32,116,104,101,32,108,97,115,116,32,105,116,101,109,32,105,110,32,97,110,121,32,98,114,97,110,99,104,32,105,110,32,119,104,105,99,104,32,105,116,32,97,112,112,101,97,114,115,46,32,68,111,108,108,97,114,32,104,97,115,32,110,111,32,115,112,101,99,105,97,108,32,109,101,97,110,105,110,103,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,46>>]},{p,[],[<<84,104,101,32,109,101,97,110,105,110,103,32,111,102,32,100,111,108,108,97,114,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,115,111,32,116,104,97,116,32,105,116,32,109,97,116,99,104,101,115,32,111,110,108,121,32,97,116,32,116,104,101,32,118,101,114,121,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,98,121,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<100,111,108,108,97,114,95,101,110,100,111,110,108,121>>]},<<32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,46,32,84,104,105,115,32,100,111,101,115,32,110,111,116,32,97,102,102,101,99,116,32,116,104,101,32,92,90,32,97,115,115,101,114,116,105,111,110,46>>]},{p,[],[<<84,104,101,32,109,101,97,110,105,110,103,115,32,111,102,32,116,104,101,32,99,105,114,99,117,109,102,108,101,120,32,97,110,100,32,100,111,108,108,97,114,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,99,104,97,110,103,101,100,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,105,115,32,115,101,116,46,32,87,104,101,110,32,116,104,105,115,32,105,115,32,116,104,101,32,99,97,115,101,44,32,97,32,99,105,114,99,117,109,102,108,101,120,32,109,97,116,99,104,101,115,32,105,109,109,101,100,105,97,116,101,108,121,32,97,102,116,101,114,32,105,110,116,101,114,110,97,108,32,110,101,119,108,105,110,101,115,32,97,110,100,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,73,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,102,116,101,114,32,97,32,110,101,119,108,105,110,101,32,116,104,97,116,32,101,110,100,115,32,116,104,101,32,115,116,114,105,110,103,46,32,65,32,100,111,108,108,97,114,32,109,97,116,99,104,101,115,32,98,101,102,111,114,101,32,97,110,121,32,110,101,119,108,105,110,101,115,32,105,110,32,116,104,101,32,115,116,114,105,110,103,44,32,97,110,100,32,97,116,32,116,104,101,32,118,101,114,121,32,101,110,100,44,32,119,104,101,110,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,105,115,32,115,101,116,46,32,87,104,101,110,32,110,101,119,108,105,110,101,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,116,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,32,67,82,76,70,44,32,105,115,111,108,97,116,101,100,32,67,82,32,97,110,100,32,76,70,32,99,104,97,114,97,99,116,101,114,115,32,100,111,32,110,111,116,32,105,110,100,105,99,97,116,101,32,110,101,119,108,105,110,101,115,46>>]},{p,[],[<<70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,112,97,116,116,101,114,110,32,47,94,97,98,99,36,47,32,109,97,116,99,104,101,115,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,34,100,101,102,92,110,97,98,99,34,32,40,119,104,101,114,101,32,92,110,32,114,101,112,114,101,115,101,110,116,115,32,97,32,110,101,119,108,105,110,101,41,32,105,110,32,109,117,108,116,105,108,105,110,101,32,109,111,100,101,44,32,98,117,116,32,110,111,116,32,111,116,104,101,114,119,105,115,101,46,32,83,111,44,32,112,97,116,116,101,114,110,115,32,116,104,97,116,32,97,114,101,32,97,110,99,104,111,114,101,100,32,105,110,32,115,105,110,103,108,101,45,108,105,110,101,32,109,111,100,101,32,98,101,99,97,117,115,101,32,97,108,108,32,98,114,97,110,99,104,101,115,32,115,116,97,114,116,32,119,105,116,104,32,94,32,97,114,101,32,110,111,116,32,97,110,99,104,111,114,101,100,32,105,110,32,109,117,108,116,105,108,105,110,101,32,109,111,100,101,44,32,97,110,100,32,97,32,109,97,116,99,104,32,102,111,114,32,99,105,114,99,117,109,102,108,101,120,32,105,115,32,112,111,115,115,105,98,108,101,32,119,104,101,110,32,97,114,103,117,109,101,110,116,32>>,{em,[],[<<115,116,97,114,116,111,102,102,115,101,116>>]},<<32,111,102,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,105,115,32,110,111,110,45,122,101,114,111,46,32,79,112,116,105,111,110,32>>,{code,[],[<<100,111,108,108,97,114,95,101,110,100,111,110,108,121>>]},<<32,105,115,32,105,103,110,111,114,101,100,32,105,102,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,105,115,32,115,101,116,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,115,101,113,117,101,110,99,101,115,32,92,65,44,32,92,90,44,32,97,110,100,32,92,122,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,109,97,116,99,104,32,116,104,101,32,115,116,97,114,116,32,97,110,100,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,105,110,32,98,111,116,104,32,109,111,100,101,115,46,32,73,102,32,97,108,108,32,98,114,97,110,99,104,101,115,32,111,102,32,97,32,112,97,116,116,101,114,110,32,115,116,97,114,116,32,119,105,116,104,32,92,65,44,32,105,116,32,105,115,32,97,108,119,97,121,115,32,97,110,99,104,111,114,101,100,44,32,114,101,103,97,114,100,108,101,115,115,32,105,102,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,105,115,32,115,101,116,46>>]},{a,[{id,<<115,101,99,116,53>>}],[]},{h2,[],[<<70,117,108,108,32,83,116,111,112,32,40,80,101,114,105,111,100,44,32,68,111,116,41,32,97,110,100,32,92,78>>]},{p,[],[<<79,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,97,32,100,111,116,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,97,110,121,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,101,120,99,101,112,116,32,40,98,121,32,100,101,102,97,117,108,116,41,32,97,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,115,105,103,110,105,102,105,101,115,32,116,104,101,32,101,110,100,32,111,102,32,97,32,108,105,110,101,46>>]},{p,[],[<<87,104,101,110,32,97,32,108,105,110,101,32,101,110,100,105,110,103,32,105,115,32,100,101,102,105,110,101,100,32,97,115,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,44,32,100,111,116,32,110,101,118,101,114,32,109,97,116,99,104,101,115,32,116,104,97,116,32,99,104,97,114,97,99,116,101,114,46,32,87,104,101,110,32,116,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,32,67,82,76,70,32,105,115,32,117,115,101,100,44,32,100,111,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,67,82,32,105,102,32,105,116,32,105,115,32,105,109,109,101,100,105,97,116,101,108,121,32,102,111,108,108,111,119,101,100,32,98,121,32,76,70,44,32,111,116,104,101,114,119,105,115,101,32,105,116,32,109,97,116,99,104,101,115,32,97,108,108,32,99,104,97,114,97,99,116,101,114,115,32,40,105,110,99,108,117,100,105,110,103,32,105,115,111,108,97,116,101,100,32,67,82,115,32,97,110,100,32,76,70,115,41,46,32,87,104,101,110,32,97,110,121,32,85,110,105,99,111,100,101,32,108,105,110,101,32,101,110,100,105,110,103,115,32,97,114,101,32,114,101,99,111,103,110,105,122,101,100,44,32,100,111,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,67,82,44,32,76,70,44,32,111,114,32,97,110,121,32,111,102,32,116,104,101,32,111,116,104,101,114,32,108,105,110,101,45,101,110,100,105,110,103,32,99,104,97,114,97,99,116,101,114,115,46>>]},{p,[],[<<84,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,100,111,116,32,114,101,103,97,114,100,105,110,103,32,110,101,119,108,105,110,101,115,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,46,32,73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<100,111,116,97,108,108>>]},<<32,105,115,32,115,101,116,44,32,97,32,100,111,116,32,109,97,116,99,104,101,115,32,97,110,121,32,99,104,97,114,97,99,116,101,114,44,32,119,105,116,104,111,117,116,32,101,120,99,101,112,116,105,111,110,46,32,73,102,32,116,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,32,67,82,76,70,32,105,115,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,105,116,32,116,97,107,101,115,32,116,119,111,32,100,111,116,115,32,116,111,32,109,97,116,99,104,32,105,116,46>>]},{p,[],[<<84,104,101,32,104,97,110,100,108,105,110,103,32,111,102,32,100,111,116,32,105,115,32,101,110,116,105,114,101,108,121,32,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,116,104,101,32,104,97,110,100,108,105,110,103,32,111,102,32,99,105,114,99,117,109,102,108,101,120,32,97,110,100,32,100,111,108,108,97,114,44,32,116,104,101,32,111,110,108,121,32,114,101,108,97,116,105,111,110,115,104,105,112,32,105,115,32,116,104,97,116,32,98,111,116,104,32,105,110,118,111,108,118,101,32,110,101,119,108,105,110,101,115,46,32,68,111,116,32,104,97,115,32,110,111,32,115,112,101,99,105,97,108,32,109,101,97,110,105,110,103,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,46>>]},{p,[],[<<84,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,92,78,32,98,101,104,97,118,101,115,32,108,105,107,101,32,97,32,100,111,116,44,32,101,120,99,101,112,116,32,116,104,97,116,32,105,116,32,105,115,32,110,111,116,32,97,102,102,101,99,116,101,100,32,98,121,32,111,112,116,105,111,110,32>>,{code,[],[<<80,67,82,69,95,68,79,84,65,76,76>>]},<<46,32,84,104,97,116,32,105,115,44,32,105,116,32,109,97,116,99,104,101,115,32,97,110,121,32,99,104,97,114,97,99,116,101,114,32,101,120,99,101,112,116,32,111,110,101,32,116,104,97,116,32,115,105,103,110,105,102,105,101,115,32,116,104,101,32,101,110,100,32,111,102,32,97,32,108,105,110,101,46,32,80,101,114,108,32,97,108,115,111,32,117,115,101,115,32,92,78,32,116,111,32,109,97,116,99,104,32,99,104,97,114,97,99,116,101,114,115,32,98,121,32,110,97,109,101,32,98,117,116,32,80,67,82,69,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,116,104,105,115,46>>]},{a,[{id,<<115,101,99,116,54>>}],[]},{h2,[],[<<77,97,116,99,104,105,110,103,32,97,32,83,105,110,103,108,101,32,68,97,116,97,32,85,110,105,116>>]},{p,[],[<<79,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,116,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,92,67,32,109,97,116,99,104,101,115,32,97,110,121,32,100,97,116,97,32,117,110,105,116,44,32,114,101,103,97,114,100,108,101,115,115,32,105,102,32,97,32,85,84,70,32,109,111,100,101,32,105,115,32,115,101,116,46,32,79,110,101,32,100,97,116,97,32,117,110,105,116,32,105,115,32,111,110,101,32,98,121,116,101,46,32,85,110,108,105,107,101,32,97,32,100,111,116,44,32,92,67,32,97,108,119,97,121,115,32,109,97,116,99,104,101,115,32,108,105,110,101,45,101,110,100,105,110,103,32,99,104,97,114,97,99,116,101,114,115,46,32,84,104,101,32,102,101,97,116,117,114,101,32,105,115,32,112,114,111,118,105,100,101,100,32,105,110,32,80,101,114,108,32,116,111,32,109,97,116,99,104,32,105,110,100,105,118,105,100,117,97,108,32,98,121,116,101,115,32,105,110,32,85,84,70,45,56,32,109,111,100,101,44,32,98,117,116,32,105,116,32,105,115,32,117,110,99,108,101,97,114,32,104,111,119,32,105,116,32,99,97,110,32,117,115,101,102,117,108,108,121,32,98,101,32,117,115,101,100,46,32,65,115,32,92,67,32,98,114,101,97,107,115,32,117,112,32,99,104,97,114,97,99,116,101,114,115,32,105,110,116,111,32,105,110,100,105,118,105,100,117,97,108,32,100,97,116,97,32,117,110,105,116,115,44,32,109,97,116,99,104,105,110,103,32,111,110,101,32,117,110,105,116,32,119,105,116,104,32,92,67,32,105,110,32,97,32,85,84,70,32,109,111,100,101,32,109,101,97,110,115,32,116,104,97,116,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,115,116,114,105,110,103,32,99,97,110,32,115,116,97,114,116,32,119,105,116,104,32,97,32,109,97,108,102,111,114,109,101,100,32,85,84,70,32,99,104,97,114,97,99,116,101,114,46,32,84,104,105,115,32,104,97,115,32,117,110,100,101,102,105,110,101,100,32,114,101,115,117,108,116,115,44,32,97,115,32,80,67,82,69,32,97,115,115,117,109,101,115,32,116,104,97,116,32,105,116,32,100,101,97,108,115,32,119,105,116,104,32,118,97,108,105,100,32,85,84,70,32,115,116,114,105,110,103,115,46>>]},{p,[],[<<80,67,82,69,32,100,111,101,115,32,110,111,116,32,97,108,108,111,119,32,92,67,32,116,111,32,97,112,112,101,97,114,32,105,110,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,115,32,40,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,41,32,105,110,32,97,32,85,84,70,32,109,111,100,101,44,32,97,115,32,116,104,105,115,32,119,111,117,108,100,32,109,97,107,101,32,105,116,32,105,109,112,111,115,115,105,98,108,101,32,116,111,32,99,97,108,99,117,108,97,116,101,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,108,111,111,107,98,101,104,105,110,100,46>>]},{p,[],[<<84,104,101,32,92,67,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,105,115,32,98,101,115,116,32,97,118,111,105,100,101,100,46,32,72,111,119,101,118,101,114,44,32,111,110,101,32,119,97,121,32,111,102,32,117,115,105,110,103,32,105,116,32,116,104,97,116,32,97,118,111,105,100,115,32,116,104,101,32,112,114,111,98,108,101,109,32,111,102,32,109,97,108,102,111,114,109,101,100,32,85,84,70,32,99,104,97,114,97,99,116,101,114,115,32,105,115,32,116,111,32,117,115,101,32,97,32,108,111,111,107,97,104,101,97,100,32,116,111,32,99,104,101,99,107,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,110,101,120,116,32,99,104,97,114,97,99,116,101,114,44,32,97,115,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,117,115,101,100,32,119,105,116,104,32,97,32,85,84,70,45,56,32,115,116,114,105,110,103,32,40,105,103,110,111,114,101,32,119,104,105,116,101,115,112,97,99,101,32,97,110,100,32,108,105,110,101,32,98,114,101,97,107,115,41,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<40,63,124,32,40,63,61,91,92,120,48,48,45,92,120,55,102,93,41,40,92,67,41,32,124,10,32,32,32,32,40,63,61,91,92,120,56,48,45,92,120,123,55,102,102,125,93,41,40,92,67,41,40,92,67,41,32,124,10,32,32,32,32,40,63,61,91,92,120,123,56,48,48,125,45,92,120,123,102,102,102,102,125,93,41,40,92,67,41,40,92,67,41,40,92,67,41,32,124,10,32,32,32,32,40,63,61,91,92,120,123,49,48,48,48,48,125,45,92,120,123,49,102,102,102,102,102,125,93,41,40,92,67,41,40,92,67,41,40,92,67,41,40,92,67,41,41>>]}]},{p,[],[<<65,32,103,114,111,117,112,32,116,104,97,116,32,115,116,97,114,116,115,32,119,105,116,104,32,40,63,124,32,114,101,115,101,116,115,32,116,104,101,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,110,117,109,98,101,114,115,32,105,110,32,101,97,99,104,32,97,108,116,101,114,110,97,116,105,118,101,32,40,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<68,117,112,108,105,99,97,116,101,32,83,117,98,112,97,116,116,101,114,110,32,78,117,109,98,101,114,115>>]},<<41,46,32,84,104,101,32,97,115,115,101,114,116,105,111,110,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,101,97,99,104,32,98,114,97,110,99,104,32,99,104,101,99,107,32,116,104,101,32,110,101,120,116,32,85,84,70,45,56,32,99,104,97,114,97,99,116,101,114,32,102,111,114,32,118,97,108,117,101,115,32,119,104,111,115,101,32,101,110,99,111,100,105,110,103,32,117,115,101,115,32,49,44,32,50,44,32,51,44,32,111,114,32,52,32,98,121,116,101,115,44,32,114,101,115,112,101,99,116,105,118,101,108,121,46,32,84,104,101,32,105,110,100,105,118,105,100,117,97,108,32,98,121,116,101,115,32,111,102,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,97,114,101,32,116,104,101,110,32,99,97,112,116,117,114,101,100,32,98,121,32,116,104,101,32,97,112,112,114,111,112,114,105,97,116,101,32,110,117,109,98,101,114,32,111,102,32,103,114,111,117,112,115,46>>]},{a,[{id,<<115,101,99,116,55>>}],[]},{h2,[],[<<83,113,117,97,114,101,32,66,114,97,99,107,101,116,115,32,97,110,100,32,67,104,97,114,97,99,116,101,114,32,67,108,97,115,115,101,115>>]},{p,[],[<<65,110,32,111,112,101,110,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,32,105,110,116,114,111,100,117,99,101,115,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,116,101,114,109,105,110,97,116,101,100,32,98,121,32,97,32,99,108,111,115,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,46,32,65,32,99,108,111,115,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,32,111,110,32,105,116,115,32,111,119,110,32,105,115,32,110,111,116,32,115,112,101,99,105,97,108,32,98,121,32,100,101,102,97,117,108,116,46,32,72,111,119,101,118,101,114,44,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<80,67,82,69,95,74,65,86,65,83,67,82,73,80,84,95,67,79,77,80,65,84>>]},<<32,105,115,32,115,101,116,44,32,97,32,108,111,110,101,32,99,108,111,115,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,32,99,97,117,115,101,115,32,97,32,99,111,109,112,105,108,101,45,116,105,109,101,32,101,114,114,111,114,46,32,73,102,32,97,32,99,108,111,115,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,32,105,115,32,114,101,113,117,105,114,101,100,32,97,115,32,97,32,109,101,109,98,101,114,32,111,102,32,116,104,101,32,99,108,97,115,115,44,32,105,116,32,105,115,32,116,111,32,98,101,32,116,104,101,32,102,105,114,115,116,32,100,97,116,97,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,99,108,97,115,115,32,40,97,102,116,101,114,32,97,110,32,105,110,105,116,105,97,108,32,99,105,114,99,117,109,102,108,101,120,44,32,105,102,32,112,114,101,115,101,110,116,41,32,111,114,32,101,115,99,97,112,101,100,32,119,105,116,104,32,97,32,98,97,99,107,115,108,97,115,104,46>>]},{p,[],[<<65,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,109,97,116,99,104,101,115,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,46,32,73,110,32,97,32,85,84,70,32,109,111,100,101,44,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,99,97,110,32,98,101,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,100,97,116,97,32,117,110,105,116,32,108,111,110,103,46,32,65,32,109,97,116,99,104,101,100,32,99,104,97,114,97,99,116,101,114,32,109,117,115,116,32,98,101,32,105,110,32,116,104,101,32,115,101,116,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,100,101,102,105,110,101,100,32,98,121,32,116,104,101,32,99,108,97,115,115,44,32,117,110,108,101,115,115,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,99,108,97,115,115,32,100,101,102,105,110,105,116,105,111,110,32,105,115,32,97,32,99,105,114,99,117,109,102,108,101,120,44,32,105,110,32,119,104,105,99,104,32,99,97,115,101,32,116,104,101,32,115,117,98,106,101,99,116,32,99,104,97,114,97,99,116,101,114,32,109,117,115,116,32,110,111,116,32,98,101,32,105,110,32,116,104,101,32,115,101,116,32,100,101,102,105,110,101,100,32,98,121,32,116,104,101,32,99,108,97,115,115,46,32,73,102,32,97,32,99,105,114,99,117,109,102,108,101,120,32,105,115,32,114,101,113,117,105,114,101,100,32,97,115,32,97,32,109,101,109,98,101,114,32,111,102,32,116,104,101,32,99,108,97,115,115,44,32,101,110,115,117,114,101,32,116,104,97,116,32,105,116,32,105,115,32,110,111,116,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,44,32,111,114,32,101,115,99,97,112,101,32,105,116,32,119,105,116,104,32,97,32,98,97,99,107,115,108,97,115,104,46>>]},{p,[],[<<70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32>>,{code,[],[<<91,97,101,105,111,117,93>>]},<<32,109,97,116,99,104,101,115,32,97,110,121,32,108,111,119,101,114,99,97,115,101,32,118,111,119,101,108,44,32,119,104,105,108,101,32>>,{code,[],[<<91,94,97,101,105,111,117,93>>]},<<32,109,97,116,99,104,101,115,32,97,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,110,111,116,32,97,32,108,111,119,101,114,99,97,115,101,32,118,111,119,101,108,46,32,78,111,116,105,99,101,32,116,104,97,116,32,97,32,99,105,114,99,117,109,102,108,101,120,32,105,115,32,106,117,115,116,32,97,32,99,111,110,118,101,110,105,101,110,116,32,110,111,116,97,116,105,111,110,32,102,111,114,32,115,112,101,99,105,102,121,105,110,103,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,105,110,32,116,104,101,32,99,108,97,115,115,32,98,121,32,101,110,117,109,101,114,97,116,105,110,103,32,116,104,111,115,101,32,116,104,97,116,32,97,114,101,32,110,111,116,46,32,65,32,99,108,97,115,115,32,116,104,97,116,32,115,116,97,114,116,115,32,119,105,116,104,32,97,32,99,105,114,99,117,109,102,108,101,120,32,105,115,32,110,111,116,32,97,110,32,97,115,115,101,114,116,105,111,110,59,32,105,116,32,115,116,105,108,108,32,99,111,110,115,117,109,101,115,32,97,32,99,104,97,114,97,99,116,101,114,32,102,114,111,109,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,97,110,100,32,116,104,101,114,101,102,111,114,101,32,105,116,32,102,97,105,108,115,32,105,102,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,105,110,116,101,114,32,105,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,46>>]},{p,[],[<<73,110,32,85,84,70,45,56,32,109,111,100,101,44,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,118,97,108,117,101,115,32,62,32,50,53,53,32,40,48,120,102,102,102,102,41,32,99,97,110,32,98,101,32,105,110,99,108,117,100,101,100,32,105,110,32,97,32,99,108,97,115,115,32,97,115,32,97,32,108,105,116,101,114,97,108,32,115,116,114,105,110,103,32,111,102,32,100,97,116,97,32,117,110,105,116,115,44,32,111,114,32,98,121,32,117,115,105,110,103,32,116,104,101,32,92,120,123,32,101,115,99,97,112,105,110,103,32,109,101,99,104,97,110,105,115,109,46>>]},{p,[],[<<87,104,101,110,32,99,97,115,101,108,101,115,115,32,109,97,116,99,104,105,110,103,32,105,115,32,115,101,116,44,32,97,110,121,32,108,101,116,116,101,114,115,32,105,110,32,97,32,99,108,97,115,115,32,114,101,112,114,101,115,101,110,116,32,98,111,116,104,32,116,104,101,105,114,32,117,112,112,101,114,99,97,115,101,32,97,110,100,32,108,111,119,101,114,99,97,115,101,32,118,101,114,115,105,111,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,97,32,99,97,115,101,108,101,115,115,32>>,{code,[],[<<91,97,101,105,111,117,93>>]},<<32,109,97,116,99,104,101,115,32,34,65,34,32,97,110,100,32,34,97,34,44,32,97,110,100,32,97,32,99,97,115,101,108,101,115,115,32>>,{code,[],[<<91,94,97,101,105,111,117,93>>]},<<32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,34,65,34,44,32,98,117,116,32,97,32,99,97,115,101,102,117,108,32,118,101,114,115,105,111,110,32,119,111,117,108,100,46,32,73,110,32,97,32,85,84,70,32,109,111,100,101,44,32,80,67,82,69,32,97,108,119,97,121,115,32,117,110,100,101,114,115,116,97,110,100,115,32,116,104,101,32,99,111,110,99,101,112,116,32,111,102,32,99,97,115,101,32,102,111,114,32,99,104,97,114,97,99,116,101,114,115,32,119,104,111,115,101,32,118,97,108,117,101,115,32,97,114,101,32,60,32,50,53,54,44,32,115,111,32,99,97,115,101,108,101,115,115,32,109,97,116,99,104,105,110,103,32,105,115,32,97,108,119,97,121,115,32,112,111,115,115,105,98,108,101,46,32,70,111,114,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,104,105,103,104,101,114,32,118,97,108,117,101,115,44,32,116,104,101,32,99,111,110,99,101,112,116,32,111,102,32,99,97,115,101,32,105,115,32,115,117,112,112,111,114,116,101,100,32,111,110,108,121,32,105,102,32,80,67,82,69,32,105,115,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,121,32,115,117,112,112,111,114,116,46,32,73,102,32,121,111,117,32,119,97,110,116,32,116,111,32,117,115,101,32,99,97,115,101,108,101,115,115,32,109,97,116,99,104,105,110,103,32,105,110,32,97,32,85,84,70,32,109,111,100,101,32,102,111,114,32,99,104,97,114,97,99,116,101,114,115,32,62,61,44,32,101,110,115,117,114,101,32,116,104,97,116,32,80,67,82,69,32,105,115,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,121,32,115,117,112,112,111,114,116,32,97,110,100,32,119,105,116,104,32,85,84,70,32,115,117,112,112,111,114,116,46>>]},{p,[],[<<67,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,99,97,110,32,105,110,100,105,99,97,116,101,32,108,105,110,101,32,98,114,101,97,107,115,32,97,114,101,32,110,101,118,101,114,32,116,114,101,97,116,101,100,32,105,110,32,97,110,121,32,115,112,101,99,105,97,108,32,119,97,121,32,119,104,101,110,32,109,97,116,99,104,105,110,103,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,44,32,119,104,97,116,101,118,101,114,32,108,105,110,101,45,101,110,100,105,110,103,32,115,101,113,117,101,110,99,101,32,105,115,32,105,110,32,117,115,101,44,32,97,110,100,32,119,104,97,116,101,118,101,114,32,115,101,116,116,105,110,103,32,111,102,32,111,112,116,105,111,110,115,32>>,{code,[],[<<80,67,82,69,95,68,79,84,65,76,76>>]},<<32,97,110,100,32>>,{code,[],[<<80,67,82,69,95,77,85,76,84,73,76,73,78,69>>]},<<32,105,115,32,117,115,101,100,46,32,65,32,99,108,97,115,115,32,115,117,99,104,32,97,115,32,91,94,97,93,32,97,108,119,97,121,115,32,109,97,116,99,104,101,115,32,111,110,101,32,111,102,32,116,104,101,115,101,32,99,104,97,114,97,99,116,101,114,115,46>>]},{p,[],[<<84,104,101,32,109,105,110,117,115,32,40,104,121,112,104,101,110,41,32,99,104,97,114,97,99,116,101,114,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,115,112,101,99,105,102,121,32,97,32,114,97,110,103,101,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,91,100,45,109,93,32,109,97,116,99,104,101,115,32,97,110,121,32,108,101,116,116,101,114,32,98,101,116,119,101,101,110,32,100,32,97,110,100,32,109,44,32,105,110,99,108,117,115,105,118,101,46,32,73,102,32,97,32,109,105,110,117,115,32,99,104,97,114,97,99,116,101,114,32,105,115,32,114,101,113,117,105,114,101,100,32,105,110,32,97,32,99,108,97,115,115,44,32,105,116,32,109,117,115,116,32,98,101,32,101,115,99,97,112,101,100,32,119,105,116,104,32,97,32,98,97,99,107,115,108,97,115,104,32,111,114,32,97,112,112,101,97,114,32,105,110,32,97,32,112,111,115,105,116,105,111,110,32,119,104,101,114,101,32,105,116,32,99,97,110,110,111,116,32,98,101,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,105,110,100,105,99,97,116,105,110,103,32,97,32,114,97,110,103,101,44,32,116,121,112,105,99,97,108,108,121,32,97,115,32,116,104,101,32,102,105,114,115,116,32,111,114,32,108,97,115,116,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,99,108,97,115,115,44,32,111,114,32,105,109,109,101,100,105,97,116,101,108,121,32,97,102,116,101,114,32,97,32,114,97,110,103,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,91,98,45,100,45,122,93,32,109,97,116,99,104,101,115,32,108,101,116,116,101,114,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32,98,32,116,111,32,100,44,32,97,32,104,121,112,104,101,110,32,99,104,97,114,97,99,116,101,114,44,32,111,114,32,122,46>>]},{p,[],[<<84,104,101,32,108,105,116,101,114,97,108,32,99,104,97,114,97,99,116,101,114,32,34,93,34,32,99,97,110,110,111,116,32,98,101,32,116,104,101,32,101,110,100,32,99,104,97,114,97,99,116,101,114,32,111,102,32,97,32,114,97,110,103,101,46,32,65,32,112,97,116,116,101,114,110,32,115,117,99,104,32,97,115,32,91,87,45,93,52,54,93,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,32,99,108,97,115,115,32,111,102,32,116,119,111,32,99,104,97,114,97,99,116,101,114,115,32,40,34,87,34,32,97,110,100,32,34,45,34,41,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,108,105,116,101,114,97,108,32,115,116,114,105,110,103,32,34,52,54,93,34,44,32,115,111,32,105,116,32,119,111,117,108,100,32,109,97,116,99,104,32,34,87,52,54,93,34,32,111,114,32,34,45,52,54,93,34,46,32,72,111,119,101,118,101,114,44,32,105,102,32,34,93,34,32,105,115,32,101,115,99,97,112,101,100,32,119,105,116,104,32,97,32,98,97,99,107,115,108,97,115,104,44,32,105,116,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,116,104,101,32,101,110,100,32,111,102,32,114,97,110,103,101,44,32,115,111,32,91,87,45,92,93,52,54,93,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,32,99,108,97,115,115,32,99,111,110,116,97,105,110,105,110,103,32,97,32,114,97,110,103,101,32,102,111,108,108,111,119,101,100,32,98,121,32,116,119,111,32,111,116,104,101,114,32,99,104,97,114,97,99,116,101,114,115,46,32,84,104,101,32,111,99,116,97,108,32,111,114,32,104,101,120,97,100,101,99,105,109,97,108,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,34,93,34,32,99,97,110,32,97,108,115,111,32,98,101,32,117,115,101,100,32,116,111,32,101,110,100,32,97,32,114,97,110,103,101,46>>]},{p,[],[<<65,110,32,101,114,114,111,114,32,105,115,32,103,101,110,101,114,97,116,101,100,32,105,102,32,97,32,80,79,83,73,88,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,40,115,101,101,32,98,101,108,111,119,41,32,111,114,32,97,110,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,111,116,104,101,114,32,116,104,97,110,32,111,110,101,32,116,104,97,116,32,100,101,102,105,110,101,115,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,97,112,112,101,97,114,115,32,97,116,32,97,32,112,111,105,110,116,32,119,104,101,114,101,32,97,32,114,97,110,103,101,32,101,110,100,105,110,103,32,99,104,97,114,97,99,116,101,114,32,105,115,32,101,120,112,101,99,116,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,91,122,45,92,120,102,102,93,32,105,115,32,118,97,108,105,100,44,32,98,117,116,32,91,65,45,92,100,93,32,97,110,100,32,91,65,45,91,58,100,105,103,105,116,58,93,93,32,97,114,101,32,110,111,116,46>>]},{p,[],[<<82,97,110,103,101,115,32,111,112,101,114,97,116,101,32,105,110,32,116,104,101,32,99,111,108,108,97,116,105,110,103,32,115,101,113,117,101,110,99,101,32,111,102,32,99,104,97,114,97,99,116,101,114,32,118,97,108,117,101,115,46,32,84,104,101,121,32,99,97,110,32,97,108,115,111,32,98,101,32,117,115,101,100,32,102,111,114,32,99,104,97,114,97,99,116,101,114,115,32,115,112,101,99,105,102,105,101,100,32,110,117,109,101,114,105,99,97,108,108,121,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,91,92,48,48,48,45,92,48,51,55,93,46,32,82,97,110,103,101,115,32,99,97,110,32,105,110,99,108,117,100,101,32,97,110,121,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,118,97,108,105,100,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,109,111,100,101,46>>]},{p,[],[<<73,102,32,97,32,114,97,110,103,101,32,116,104,97,116,32,105,110,99,108,117,100,101,115,32,108,101,116,116,101,114,115,32,105,115,32,117,115,101,100,32,119,104,101,110,32,99,97,115,101,108,101,115,115,32,109,97,116,99,104,105,110,103,32,105,115,32,115,101,116,44,32,105,116,32,109,97,116,99,104,101,115,32,116,104,101,32,108,101,116,116,101,114,115,32,105,110,32,101,105,116,104,101,114,32,99,97,115,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,91,87,45,99,93,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,91,93,91,92,92,94,95,96,119,120,121,122,97,98,99,93,44,32,109,97,116,99,104,101,100,32,99,97,115,101,108,101,115,115,108,121,46,32,73,110,32,97,32,110,111,110,45,85,84,70,32,109,111,100,101,44,32,105,102,32,99,104,97,114,97,99,116,101,114,32,116,97,98,108,101,115,32,102,111,114,32,97,32,70,114,101,110,99,104,32,108,111,99,97,108,101,32,97,114,101,32,105,110,32,117,115,101,44,32,91,92,120,99,56,45,92,120,99,98,93,32,109,97,116,99,104,101,115,32,97,99,99,101,110,116,101,100,32,69,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,98,111,116,104,32,99,97,115,101,115,46,32,73,110,32,85,84,70,32,109,111,100,101,115,44,32,80,67,82,69,32,115,117,112,112,111,114,116,115,32,116,104,101,32,99,111,110,99,101,112,116,32,111,102,32,99,97,115,101,32,102,111,114,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,118,97,108,117,101,115,32,62,32,50,53,53,32,111,110,108,121,32,119,104,101,110,32,105,116,32,105,115,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,121,32,115,117,112,112,111,114,116,46>>]},{p,[],[<<84,104,101,32,99,104,97,114,97,99,116,101,114,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,32,92,100,44,32,92,68,44,32,92,104,44,32,92,72,44,32,92,112,44,32,92,80,44,32,92,115,44,32,92,83,44,32,92,118,44,32,92,86,44,32,92,119,44,32,97,110,100,32,92,87,32,99,97,110,32,97,112,112,101,97,114,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,97,110,100,32,97,100,100,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,116,104,101,121,32,109,97,116,99,104,32,116,111,32,116,104,101,32,99,108,97,115,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,91,92,100,65,66,67,68,69,70,93,32,109,97,116,99,104,101,115,32,97,110,121,32,104,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,46,32,73,110,32,85,84,70,32,109,111,100,101,115,44,32,111,112,116,105,111,110,32>>,{code,[],[<<117,99,112>>]},<<32,97,102,102,101,99,116,115,32,116,104,101,32,109,101,97,110,105,110,103,115,32,111,102,32,92,100,44,32,92,115,44,32,92,119,32,97,110,100,32,116,104,101,105,114,32,117,112,112,101,114,99,97,115,101,32,112,97,114,116,110,101,114,115,44,32,106,117,115,116,32,97,115,32,105,116,32,100,111,101,115,32,119,104,101,110,32,116,104,101,121,32,97,112,112,101,97,114,32,111,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,103,101,110,101,114,105,99,95,99,104,97,114,97,99,116,101,114,95,116,121,112,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<71,101,110,101,114,105,99,32,67,104,97,114,97,99,116,101,114,32,84,121,112,101,115>>]},<<32,101,97,114,108,105,101,114,46,32,84,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,92,98,32,104,97,115,32,97,32,100,105,102,102,101,114,101,110,116,32,109,101,97,110,105,110,103,32,105,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,59,32,105,116,32,109,97,116,99,104,101,115,32,116,104,101,32,98,97,99,107,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,46,32,84,104,101,32,115,101,113,117,101,110,99,101,115,32,92,66,44,32,92,78,44,32,92,82,44,32,97,110,100,32,92,88,32,97,114,101,32,110,111,116,32,115,112,101,99,105,97,108,32,105,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,46,32,76,105,107,101,32,97,110,121,32,111,116,104,101,114,32,117,110,114,101,99,111,103,110,105,122,101,100,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,44,32,116,104,101,121,32,97,114,101,32,116,114,101,97,116,101,100,32,97,115,32,116,104,101,32,108,105,116,101,114,97,108,32,99,104,97,114,97,99,116,101,114,115,32,34,66,34,44,32,34,78,34,44,32,34,82,34,44,32,97,110,100,32,34,88,34,46>>]},{p,[],[<<65,32,99,105,114,99,117,109,102,108,101,120,32,99,97,110,32,99,111,110,118,101,110,105,101,110,116,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,32,116,104,101,32,117,112,112,101,114,99,97,115,101,32,99,104,97,114,97,99,116,101,114,32,116,121,112,101,115,32,116,111,32,115,112,101,99,105,102,121,32,97,32,109,111,114,101,32,114,101,115,116,114,105,99,116,101,100,32,115,101,116,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,110,32,116,104,101,32,109,97,116,99,104,105,110,103,32,108,111,119,101,114,99,97,115,101,32,116,121,112,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,99,108,97,115,115,32,91,94,92,87,95,93,32,109,97,116,99,104,101,115,32,97,110,121,32,108,101,116,116,101,114,32,111,114,32,100,105,103,105,116,44,32,98,117,116,32,110,111,116,32,117,110,100,101,114,115,99,111,114,101,44,32,119,104,105,108,101,32,91,92,119,93,32,105,110,99,108,117,100,101,115,32,117,110,100,101,114,115,99,111,114,101,46,32,65,32,112,111,115,105,116,105,118,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,105,115,32,116,111,32,98,101,32,114,101,97,100,32,97,115,32,34,115,111,109,101,116,104,105,110,103,32,79,82,32,115,111,109,101,116,104,105,110,103,32,79,82,32,46,46,46,34,32,97,110,100,32,97,32,110,101,103,97,116,105,118,101,32,99,108,97,115,115,32,97,115,32,34,78,79,84,32,115,111,109,101,116,104,105,110,103,32,65,78,68,32,78,79,84,32,115,111,109,101,116,104,105,110,103,32,65,78,68,32,78,79,84,32,46,46,46,34,46>>]},{p,[],[<<79,110,108,121,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,101,116,97,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,114,101,99,111,103,110,105,122,101,100,32,105,110,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,58>>]},{ul,[],[{li,[],[<<66,97,99,107,115,108,97,115,104>>]},{li,[],[<<72,121,112,104,101,110,32,40,111,110,108,121,32,119,104,101,114,101,32,105,116,32,99,97,110,32,98,101,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,115,112,101,99,105,102,121,105,110,103,32,97,32,114,97,110,103,101,41>>]},{li,[],[<<67,105,114,99,117,109,102,108,101,120,32,40,111,110,108,121,32,97,116,32,116,104,101,32,115,116,97,114,116,41>>]},{li,[],[<<79,112,101,110,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,32,40,111,110,108,121,32,119,104,101,110,32,105,116,32,99,97,110,32,98,101,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,105,110,116,114,111,100,117,99,105,110,103,32,97,32,80,111,115,105,120,32,99,108,97,115,115,32,110,97,109,101,44,32,111,114,32,102,111,114,32,97,32,115,112,101,99,105,97,108,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,102,101,97,116,117,114,101,59,32,115,101,101,32,116,104,101,32,110,101,120,116,32,116,119,111,32,115,101,99,116,105,111,110,115,41>>]},{li,[],[<<84,101,114,109,105,110,97,116,105,110,103,32,99,108,111,115,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116>>]}]},{p,[],[<<72,111,119,101,118,101,114,44,32,101,115,99,97,112,105,110,103,32,111,116,104,101,114,32,110,111,110,45,97,108,112,104,97,110,117,109,101,114,105,99,32,99,104,97,114,97,99,116,101,114,115,32,100,111,101,115,32,110,111,32,104,97,114,109,46>>]},{a,[{id,<<115,101,99,116,56>>}],[]},{h2,[],[<<80,111,115,105,120,32,67,104,97,114,97,99,116,101,114,32,67,108,97,115,115,101,115>>]},{p,[],[<<80,101,114,108,32,115,117,112,112,111,114,116,115,32,116,104,101,32,80,111,115,105,120,32,110,111,116,97,116,105,111,110,32,102,111,114,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,46,32,84,104,105,115,32,117,115,101,115,32,110,97,109,101,115,32,101,110,99,108,111,115,101,100,32,98,121,32,91,58,32,97,110,100,32,58,93,32,119,105,116,104,105,110,32,116,104,101,32,101,110,99,108,111,115,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,115,46,32,80,67,82,69,32,97,108,115,111,32,115,117,112,112,111,114,116,115,32,116,104,105,115,32,110,111,116,97,116,105,111,110,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,34,48,34,44,32,34,49,34,44,32,97,110,121,32,97,108,112,104,97,98,101,116,105,99,32,99,104,97,114,97,99,116,101,114,44,32,111,114,32,34,37,34,58>>]},{pre,[],[{code,[],[<<91,48,49,91,58,97,108,112,104,97,58,93,37,93>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,115,117,112,112,111,114,116,101,100,32,99,108,97,115,115,32,110,97,109,101,115,58>>]},{dl,[],[{dt,[],[<<97,108,110,117,109>>]},{dd,[],[<<76,101,116,116,101,114,115,32,97,110,100,32,100,105,103,105,116,115>>]},{dt,[],[<<97,108,112,104,97>>]},{dd,[],[<<76,101,116,116,101,114,115>>]},{dt,[],[<<98,108,97,110,107>>]},{dd,[],[<<83,112,97,99,101,32,111,114,32,116,97,98,32,111,110,108,121>>]},{dt,[],[<<99,110,116,114,108>>]},{dd,[],[<<67,111,110,116,114,111,108,32,99,104,97,114,97,99,116,101,114,115>>]},{dt,[],[<<100,105,103,105,116>>]},{dd,[],[<<68,101,99,105,109,97,108,32,100,105,103,105,116,115,32,40,115,97,109,101,32,97,115,32,92,100,41>>]},{dt,[],[<<103,114,97,112,104>>]},{dd,[],[<<80,114,105,110,116,105,110,103,32,99,104,97,114,97,99,116,101,114,115,44,32,101,120,99,108,117,100,105,110,103,32,115,112,97,99,101>>]},{dt,[],[<<108,111,119,101,114>>]},{dd,[],[<<76,111,119,101,114,99,97,115,101,32,108,101,116,116,101,114,115>>]},{dt,[],[<<112,114,105,110,116>>]},{dd,[],[<<80,114,105,110,116,105,110,103,32,99,104,97,114,97,99,116,101,114,115,44,32,105,110,99,108,117,100,105,110,103,32,115,112,97,99,101>>]},{dt,[],[<<112,117,110,99,116>>]},{dd,[],[<<80,114,105,110,116,105,110,103,32,99,104,97,114,97,99,116,101,114,115,44,32,101,120,99,108,117,100,105,110,103,32,108,101,116,116,101,114,115,44,32,100,105,103,105,116,115,44,32,97,110,100,32,115,112,97,99,101>>]},{dt,[],[<<115,112,97,99,101>>]},{dd,[],[<<87,104,105,116,101,115,112,97,99,101,32,40,116,104,101,32,115,97,109,101,32,97,115,32,92,115,32,102,114,111,109,32,80,67,82,69,32,56,46,51,52,41>>]},{dt,[],[<<117,112,112,101,114>>]},{dd,[],[<<85,112,112,101,114,99,97,115,101,32,108,101,116,116,101,114,115>>]},{dt,[],[<<119,111,114,100>>]},{dd,[],[<<34,87,111,114,100,34,32,99,104,97,114,97,99,116,101,114,115,32,40,115,97,109,101,32,97,115,32,92,119,41>>]},{dt,[],[<<120,100,105,103,105,116>>]},{dd,[],[<<72,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,115>>]}]},{p,[],[<<84,104,101,114,101,32,105,115,32,97,110,111,116,104,101,114,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32>>,{code,[],[<<97,115,99,105,105>>]},<<44,32,116,104,97,116,32,101,114,114,111,110,101,111,117,115,108,121,32,109,97,116,99,104,101,115,32,76,97,116,105,110,45,49,32,99,104,97,114,97,99,116,101,114,115,32,105,110,115,116,101,97,100,32,111,102,32,116,104,101,32,48,45,49,50,55,32,114,97,110,103,101,32,115,112,101,99,105,102,105,101,100,32,98,121,32,80,79,83,73,88,46,32,84,104,105,115,32,99,97,110,110,111,116,32,98,101,32,102,105,120,101,100,32,119,105,116,104,111,117,116,32,97,108,116,101,114,105,110,103,32,116,104,101,32,98,101,104,97,118,105,111,117,114,32,111,102,32,111,116,104,101,114,32,99,108,97,115,115,101,115,44,32,115,111,32,119,101,32,114,101,99,111,109,109,101,110,100,32,109,97,116,99,104,105,110,103,32,116,104,101,32,114,97,110,103,101,32,119,105,116,104,32>>,{code,[],[<<91,92,92,48,45,92,120,55,102,93>>]},<<32,105,110,115,116,101,97,100,46>>]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,32,34,115,112,97,99,101,34,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,72,84,32,40,57,41,44,32,76,70,32,40,49,48,41,44,32,86,84,32,40,49,49,41,44,32,70,70,32,40,49,50,41,44,32,67,82,32,40,49,51,41,44,32,97,110,100,32,115,112,97,99,101,32,40,51,50,41,46,32,73,102,32,108,111,99,97,108,101,45,115,112,101,99,105,102,105,99,32,109,97,116,99,104,105,110,103,32,105,115,32,116,97,107,105,110,103,32,112,108,97,99,101,44,32,116,104,101,32,108,105,115,116,32,111,102,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,115,32,109,97,121,32,98,101,32,100,105,102,102,101,114,101,110,116,59,32,116,104,101,114,101,32,109,97,121,32,98,101,32,102,101,119,101,114,32,111,114,32,109,111,114,101,32,111,102,32,116,104,101,109,46,32,34,83,112,97,99,101,34,32,117,115,101,100,32,116,111,32,98,101,32,100,105,102,102,101,114,101,110,116,32,116,111,32,92,115,44,32,119,104,105,99,104,32,100,105,100,32,110,111,116,32,105,110,99,108,117,100,101,32,86,84,44,32,102,111,114,32,80,101,114,108,32,99,111,109,112,97,116,105,98,105,108,105,116,121,46,32,72,111,119,101,118,101,114,44,32,80,101,114,108,32,99,104,97,110,103,101,100,32,97,116,32,114,101,108,101,97,115,101,32,53,46,49,56,44,32,97,110,100,32,80,67,82,69,32,102,111,108,108,111,119,101,100,32,97,116,32,114,101,108,101,97,115,101,32,56,46,51,52,46,32,34,83,112,97,99,101,34,32,97,110,100,32,92,115,32,110,111,119,32,109,97,116,99,104,32,116,104,101,32,115,97,109,101,32,115,101,116,32,111,102,32,99,104,97,114,97,99,116,101,114,115,46>>]},{p,[],[<<84,104,101,32,110,97,109,101,32,34,119,111,114,100,34,32,105,115,32,97,32,80,101,114,108,32,101,120,116,101,110,115,105,111,110,44,32,97,110,100,32,34,98,108,97,110,107,34,32,105,115,32,97,32,71,78,85,32,101,120,116,101,110,115,105,111,110,32,102,114,111,109,32,80,101,114,108,32,53,46,56,46,32,65,110,111,116,104,101,114,32,80,101,114,108,32,101,120,116,101,110,115,105,111,110,32,105,115,32,110,101,103,97,116,105,111,110,44,32,119,104,105,99,104,32,105,115,32,105,110,100,105,99,97,116,101,100,32,98,121,32,97,32,94,32,99,104,97,114,97,99,116,101,114,32,97,102,116,101,114,32,116,104,101,32,99,111,108,111,110,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,34,49,34,44,32,34,50,34,44,32,111,114,32,97,110,121,32,110,111,110,45,100,105,103,105,116,58>>]},{pre,[],[{code,[],[<<91,49,50,91,58,94,100,105,103,105,116,58,93,93>>]}]},{p,[],[<<80,67,82,69,32,40,97,110,100,32,80,101,114,108,41,32,97,108,115,111,32,114,101,99,111,103,110,105,122,101,32,116,104,101,32,80,111,115,105,120,32,115,121,110,116,97,120,32,91,46,99,104,46,93,32,97,110,100,32,91,61,99,104,61,93,32,119,104,101,114,101,32,34,99,104,34,32,105,115,32,97,32,34,99,111,108,108,97,116,105,110,103,32,101,108,101,109,101,110,116,34,44,32,98,117,116,32,116,104,101,115,101,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,97,110,100,32,97,110,32,101,114,114,111,114,32,105,115,32,103,105,118,101,110,32,105,102,32,116,104,101,121,32,97,114,101,32,101,110,99,111,117,110,116,101,114,101,100,46>>]},{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,118,97,108,117,101,115,32,62,32,50,53,53,32,100,111,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,111,102,32,116,104,101,32,80,111,115,105,120,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,46,32,72,111,119,101,118,101,114,44,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<80,67,82,69,95,85,67,80>>]},<<32,105,115,32,112,97,115,115,101,100,32,116,111,32>>,{code,[],[<<112,99,114,101,95,99,111,109,112,105,108,101,40,41>>]},<<44,32,115,111,109,101,32,111,102,32,116,104,101,32,99,108,97,115,115,101,115,32,97,114,101,32,99,104,97,110,103,101,100,32,115,111,32,116,104,97,116,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,32,112,114,111,112,101,114,116,105,101,115,32,97,114,101,32,117,115,101,100,46,32,84,104,105,115,32,105,115,32,97,99,104,105,101,118,101,100,32,98,121,32,114,101,112,108,97,99,105,110,103,32,99,101,114,116,97,105,110,32,80,111,115,105,120,32,99,108,97,115,115,101,115,32,98,121,32,111,116,104,101,114,32,115,101,113,117,101,110,99,101,115,44,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[<<91,58,97,108,110,117,109,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,112,123,88,97,110,125>>]}]},{dt,[],[<<91,58,97,108,112,104,97,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,112,123,76,125>>]}]},{dt,[],[<<91,58,98,108,97,110,107,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,104>>]}]},{dt,[],[<<91,58,100,105,103,105,116,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,112,123,78,100,125>>]}]},{dt,[],[<<91,58,108,111,119,101,114,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,112,123,76,108,125>>]}]},{dt,[],[<<91,58,115,112,97,99,101,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,112,123,88,112,115,125>>]}]},{dt,[],[<<91,58,117,112,112,101,114,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,112,123,76,117,125>>]}]},{dt,[],[<<91,58,119,111,114,100,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,112,123,88,119,100,125>>]}]}]},{p,[],[<<78,101,103,97,116,101,100,32,118,101,114,115,105,111,110,115,44,32,115,117,99,104,32,97,115,32,91,58,94,97,108,112,104,97,58,93,44,32,117,115,101,32,92,80,32,105,110,115,116,101,97,100,32,111,102,32,92,112,46,32,84,104,114,101,101,32,111,116,104,101,114,32,80,79,83,73,88,32,99,108,97,115,115,101,115,32,97,114,101,32,104,97,110,100,108,101,100,32,115,112,101,99,105,97,108,108,121,32,105,110,32,85,67,80,32,109,111,100,101,58>>]},{dl,[],[{dt,[],[<<91,58,103,114,97,112,104,58,93>>]},{dd,[],[{p,[],[<<84,104,105,115,32,109,97,116,99,104,101,115,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,104,97,118,101,32,103,108,121,112,104,115,32,116,104,97,116,32,109,97,114,107,32,116,104,101,32,112,97,103,101,32,119,104,101,110,32,112,114,105,110,116,101,100,46,32,73,110,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,121,32,116,101,114,109,115,44,32,105,116,32,109,97,116,99,104,101,115,32,97,108,108,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,116,104,101,32,76,44,32,77,44,32,78,44,32,80,44,32,83,44,32,111,114,32,67,102,32,112,114,111,112,101,114,116,105,101,115,44,32,101,120,99,101,112,116,32,102,111,114,58>>]},{dl,[],[{dt,[],[<<85,43,48,54,49,67>>]},{dd,[],[{p,[],[<<65,114,97,98,105,99,32,76,101,116,116,101,114,32,77,97,114,107>>]}]},{dt,[],[<<85,43,49,56,48,69>>]},{dd,[],[{p,[],[<<77,111,110,103,111,108,105,97,110,32,86,111,119,101,108,32,83,101,112,97,114,97,116,111,114>>]}]},{dt,[],[<<85,43,50,48,54,54,32,45,32,85,43,50,48,54,57>>]},{dd,[],[{p,[],[<<86,97,114,105,111,117,115,32,34,105,115,111,108,97,116,101,34,115>>]}]}]}]},{dt,[],[<<91,58,112,114,105,110,116,58,93>>]},{dd,[],[{p,[],[<<84,104,105,115,32,109,97,116,99,104,101,115,32,116,104,101,32,115,97,109,101,32,99,104,97,114,97,99,116,101,114,115,32,97,115,32,91,58,103,114,97,112,104,58,93,32,112,108,117,115,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,99,111,110,116,114,111,108,115,44,32,116,104,97,116,32,105,115,44,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,116,104,101,32,90,115,32,112,114,111,112,101,114,116,121,46>>]}]},{dt,[],[<<91,58,112,117,110,99,116,58,93>>]},{dd,[],[{p,[],[<<84,104,105,115,32,109,97,116,99,104,101,115,32,97,108,108,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,104,97,118,101,32,116,104,101,32,85,110,105,99,111,100,101,32,80,32,40,112,117,110,99,116,117,97,116,105,111,110,41,32,112,114,111,112,101,114,116,121,44,32,112,108,117,115,32,116,104,111,115,101,32,99,104,97,114,97,99,116,101,114,115,32,119,104,111,115,101,32,99,111,100,101,32,112,111,105,110,116,115,32,97,114,101,32,108,101,115,115,32,116,104,97,110,32,49,50,56,32,116,104,97,116,32,104,97,118,101,32,116,104,101,32,83,32,40,83,121,109,98,111,108,41,32,112,114,111,112,101,114,116,121,46>>]}]}]},{p,[],[<<84,104,101,32,111,116,104,101,114,32,80,79,83,73,88,32,99,108,97,115,115,101,115,32,97,114,101,32,117,110,99,104,97,110,103,101,100,44,32,97,110,100,32,109,97,116,99,104,32,111,110,108,121,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,99,111,100,101,32,112,111,105,110,116,115,32,108,101,115,115,32,116,104,97,110,32,49,50,56,46>>]},{p,[],[{em,[],[<<67,111,109,112,97,116,105,98,105,108,105,116,121,32,70,101,97,116,117,114,101,32,102,111,114,32,87,111,114,100,32,66,111,117,110,100,97,114,105,101,115>>]}]},{p,[],[<<73,110,32,116,104,101,32,80,79,83,73,88,46,50,32,99,111,109,112,108,105,97,110,116,32,108,105,98,114,97,114,121,32,116,104,97,116,32,119,97,115,32,105,110,99,108,117,100,101,100,32,105,110,32,52,46,52,66,83,68,32,85,110,105,120,44,32,116,104,101,32,117,103,108,121,32,115,121,110,116,97,120,32,91,91,58,60,58,93,93,32,97,110,100,32,91,91,58,62,58,93,93,32,105,115,32,117,115,101,100,32,102,111,114,32,109,97,116,99,104,105,110,103,32,34,115,116,97,114,116,32,111,102,32,119,111,114,100,34,32,97,110,100,32,34,101,110,100,32,111,102,32,119,111,114,100,34,46,32,80,67,82,69,32,116,114,101,97,116,115,32,116,104,101,115,101,32,105,116,101,109,115,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[<<91,91,58,60,58,93,93>>]},{dd,[],[{p,[],[<<105,115,32,99,111,110,118,101,114,116,101,100,32,116,111,32,92,98,40,63,61,92,119,41>>]}]},{dt,[],[<<91,91,58,62,58,93,93>>]},{dd,[],[{p,[],[<<105,115,32,99,111,110,118,101,114,116,101,100,32,116,111,32,92,98,40,63,60,61,92,119,41>>]}]}]},{p,[],[<<79,110,108,121,32,116,104,101,115,101,32,101,120,97,99,116,32,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,115,32,97,114,101,32,114,101,99,111,103,110,105,122,101,100,46,32,65,32,115,101,113,117,101,110,99,101,32,115,117,99,104,32,97,115,32,91,97,91,58,60,58,93,98,93,32,112,114,111,118,111,107,101,115,32,101,114,114,111,114,32,102,111,114,32,97,110,32,117,110,114,101,99,111,103,110,105,122,101,100,32,80,79,83,73,88,32,99,108,97,115,115,32,110,97,109,101,46,32,84,104,105,115,32,115,117,112,112,111,114,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,80,101,114,108,46,32,73,116,32,105,115,32,112,114,111,118,105,100,101,100,32,116,111,32,104,101,108,112,32,109,105,103,114,97,116,105,111,110,115,32,102,114,111,109,32,111,116,104,101,114,32,101,110,118,105,114,111,110,109,101,110,116,115,44,32,97,110,100,32,105,115,32,98,101,115,116,32,110,111,116,32,117,115,101,100,32,105,110,32,97,110,121,32,110,101,119,32,112,97,116,116,101,114,110,115,46,32,78,111,116,101,32,116,104,97,116,32,92,98,32,109,97,116,99,104,101,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,97,110,100,32,116,104,101,32,101,110,100,32,111,102,32,97,32,119,111,114,100,32,40,115,101,101,32,34,83,105,109,112,108,101,32,97,115,115,101,114,116,105,111,110,115,34,32,97,98,111,118,101,41,44,32,97,110,100,32,105,110,32,97,32,80,101,114,108,45,115,116,121,108,101,32,112,97,116,116,101,114,110,32,116,104,101,32,112,114,101,99,101,100,105,110,103,32,111,114,32,102,111,108,108,111,119,105,110,103,32,99,104,97,114,97,99,116,101,114,32,110,111,114,109,97,108,108,121,32,115,104,111,119,115,32,119,104,105,99,104,32,105,115,32,119,97,110,116,101,100,44,32,119,105,116,104,111,117,116,32,116,104,101,32,110,101,101,100,32,102,111,114,32,116,104,101,32,97,115,115,101,114,116,105,111,110,115,32,116,104,97,116,32,97,114,101,32,117,115,101,100,32,97,98,111,118,101,32,105,110,32,111,114,100,101,114,32,116,111,32,103,105,118,101,32,101,120,97,99,116,108,121,32,116,104,101,32,80,79,83,73,88,32,98,101,104,97,118,105,111,117,114,46>>]},{a,[{id,<<115,101,99,116,57>>}],[]},{h2,[],[<<86,101,114,116,105,99,97,108,32,66,97,114>>]},{p,[],[<<86,101,114,116,105,99,97,108,32,98,97,114,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,117,115,101,100,32,116,111,32,115,101,112,97,114,97,116,101,32,97,108,116,101,114,110,97,116,105,118,101,32,112,97,116,116,101,114,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,101,105,116,104,101,114,32,34,103,105,108,98,101,114,116,34,32,111,114,32,34,115,117,108,108,105,118,97,110,34,58>>]},{pre,[],[{code,[],[<<103,105,108,98,101,114,116,124,115,117,108,108,105,118,97,110>>]}]},{p,[],[<<65,110,121,32,110,117,109,98,101,114,32,111,102,32,97,108,116,101,114,110,97,116,105,118,101,115,32,99,97,110,32,97,112,112,101,97,114,44,32,97,110,100,32,97,110,32,101,109,112,116,121,32,97,108,116,101,114,110,97,116,105,118,101,32,105,115,32,112,101,114,109,105,116,116,101,100,32,40,109,97,116,99,104,105,110,103,32,116,104,101,32,101,109,112,116,121,32,115,116,114,105,110,103,41,46,32,84,104,101,32,109,97,116,99,104,105,110,103,32,112,114,111,99,101,115,115,32,116,114,105,101,115,32,101,97,99,104,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,116,117,114,110,44,32,102,114,111,109,32,108,101,102,116,32,116,111,32,114,105,103,104,116,44,32,97,110,100,32,116,104,101,32,102,105,114,115,116,32,116,104,97,116,32,115,117,99,99,101,101,100,115,32,105,115,32,117,115,101,100,46,32,73,102,32,116,104,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,114,101,32,119,105,116,104,105,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,40,100,101,102,105,110,101,100,32,105,110,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,117,98,112,97,116,116,101,114,110,115>>]},<<41,44,32,34,115,117,99,99,101,101,100,115,34,32,109,101,97,110,115,32,109,97,116,99,104,105,110,103,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,109,97,105,110,32,112,97,116,116,101,114,110,32,97,110,100,32,116,104,101,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,46>>]},{a,[{id,<<115,101,99,116,49,48>>}],[]},{h2,[],[<<73,110,116,101,114,110,97,108,32,79,112,116,105,111,110,32,83,101,116,116,105,110,103>>]},{p,[],[<<84,104,101,32,115,101,116,116,105,110,103,115,32,111,102,32,116,104,101,32,80,101,114,108,45,99,111,109,112,97,116,105,98,108,101,32,111,112,116,105,111,110,115,32>>,{code,[],[<<99,97,115,101,108,101,115,115>>]},<<44,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<44,32>>,{code,[],[<<100,111,116,97,108,108>>]},<<44,32,97,110,100,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,98,121,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,80,101,114,108,32,111,112,116,105,111,110,32,108,101,116,116,101,114,115,32,101,110,99,108,111,115,101,100,32,98,101,116,119,101,101,110,32,34,40,63,34,32,97,110,100,32,34,41,34,46,32,84,104,101,32,111,112,116,105,111,110,32,108,101,116,116,101,114,115,32,97,114,101,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[<<105>>]},{dd,[],[<<70,111,114,32>>,{code,[],[<<99,97,115,101,108,101,115,115>>]}]},{dt,[],[<<109>>]},{dd,[],[<<70,111,114,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]}]},{dt,[],[<<115>>]},{dd,[],[<<70,111,114,32>>,{code,[],[<<100,111,116,97,108,108>>]}]},{dt,[],[<<120>>]},{dd,[],[<<70,111,114,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]}]}]},{p,[],[<<70,111,114,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<40,63,105,109,41>>]},<<32,115,101,116,115,32,99,97,115,101,108,101,115,115,44,32,109,117,108,116,105,108,105,110,101,32,109,97,116,99,104,105,110,103,46,32,84,104,101,115,101,32,111,112,116,105,111,110,115,32,99,97,110,32,97,108,115,111,32,98,101,32,117,110,115,101,116,32,98,121,32,112,114,101,99,101,100,105,110,103,32,116,104,101,32,108,101,116,116,101,114,32,119,105,116,104,32,97,32,104,121,112,104,101,110,46,32,65,32,99,111,109,98,105,110,101,100,32,115,101,116,116,105,110,103,32,97,110,100,32,117,110,115,101,116,116,105,110,103,32,115,117,99,104,32,97,115,32>>,{code,[],[<<40,63,105,109,45,115,120,41>>]},<<44,32,119,104,105,99,104,32,115,101,116,115,32>>,{code,[],[<<99,97,115,101,108,101,115,115>>]},<<32,97,110,100,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<44,32,119,104,105,108,101,32,117,110,115,101,116,116,105,110,103,32>>,{code,[],[<<100,111,116,97,108,108>>]},<<32,97,110,100,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]},<<44,32,105,115,32,97,108,115,111,32,112,101,114,109,105,116,116,101,100,46,32,73,102,32,97,32,108,101,116,116,101,114,32,97,112,112,101,97,114,115,32,98,111,116,104,32,98,101,102,111,114,101,32,97,110,100,32,97,102,116,101,114,32,116,104,101,32,104,121,112,104,101,110,44,32,116,104,101,32,111,112,116,105,111,110,32,105,115,32,117,110,115,101,116,46>>]},{p,[],[<<84,104,101,32,80,67,82,69,45,115,112,101,99,105,102,105,99,32,111,112,116,105,111,110,115,32>>,{code,[],[<<100,117,112,110,97,109,101,115>>]},<<44,32>>,{code,[],[<<117,110,103,114,101,101,100,121>>]},<<44,32,97,110,100,32>>,{code,[],[<<101,120,116,114,97>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,105,110,32,116,104,101,32,115,97,109,101,32,119,97,121,32,97,115,32,116,104,101,32,80,101,114,108,45,99,111,109,112,97,116,105,98,108,101,32,111,112,116,105,111,110,115,32,98,121,32,117,115,105,110,103,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,74,44,32,85,44,32,97,110,100,32,88,32,114,101,115,112,101,99,116,105,118,101,108,121,46>>]},{p,[],[<<87,104,101,110,32,111,110,101,32,111,102,32,116,104,101,115,101,32,111,112,116,105,111,110,32,99,104,97,110,103,101,115,32,111,99,99,117,114,115,32,97,116,32,116,111,112,45,108,101,118,101,108,32,40,116,104,97,116,32,105,115,44,32,110,111,116,32,105,110,115,105,100,101,32,115,117,98,112,97,116,116,101,114,110,32,112,97,114,101,110,116,104,101,115,101,115,41,44,32,116,104,101,32,99,104,97,110,103,101,32,97,112,112,108,105,101,115,32,116,111,32,116,104,101,32,114,101,109,97,105,110,100,101,114,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,116,104,97,116,32,102,111,108,108,111,119,115,46>>]},{p,[],[<<65,110,32,111,112,116,105,111,110,32,99,104,97,110,103,101,32,119,105,116,104,105,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,40,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,117,98,112,97,116,116,101,114,110,115>>]},<<41,32,97,102,102,101,99,116,115,32,111,110,108,121,32,116,104,97,116,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,102,111,108,108,111,119,115,32,105,116,46,32,83,111,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,97,98,99,32,97,110,100,32,97,66,99,32,97,110,100,32,110,111,32,111,116,104,101,114,32,115,116,114,105,110,103,115,32,40,97,115,115,117,109,105,110,103,32>>,{code,[],[<<99,97,115,101,108,101,115,115>>]},<<32,105,115,32,110,111,116,32,117,115,101,100,41,58>>]},{pre,[],[{code,[],[<<40,97,40,63,105,41,98,41,99>>]}]},{p,[],[<<66,121,32,116,104,105,115,32,109,101,97,110,115,44,32,111,112,116,105,111,110,115,32,99,97,110,32,98,101,32,109,97,100,101,32,116,111,32,104,97,118,101,32,100,105,102,102,101,114,101,110,116,32,115,101,116,116,105,110,103,115,32,105,110,32,100,105,102,102,101,114,101,110,116,32,112,97,114,116,115,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,46,32,65,110,121,32,99,104,97,110,103,101,115,32,109,97,100,101,32,105,110,32,111,110,101,32,97,108,116,101,114,110,97,116,105,118,101,32,100,111,32,99,97,114,114,121,32,111,110,32,105,110,116,111,32,115,117,98,115,101,113,117,101,110,116,32,98,114,97,110,99,104,101,115,32,119,105,116,104,105,110,32,116,104,101,32,115,97,109,101,32,115,117,98,112,97,116,116,101,114,110,46,32,70,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,97,40,63,105,41,98,124,99,41>>]}]},{p,[],[<<109,97,116,99,104,101,115,32,34,97,98,34,44,32,34,97,66,34,44,32,34,99,34,44,32,97,110,100,32,34,67,34,44,32,97,108,116,104,111,117,103,104,32,119,104,101,110,32,109,97,116,99,104,105,110,103,32,34,67,34,32,116,104,101,32,102,105,114,115,116,32,98,114,97,110,99,104,32,105,115,32,97,98,97,110,100,111,110,101,100,32,98,101,102,111,114,101,32,116,104,101,32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32,116,104,101,32,101,102,102,101,99,116,115,32,111,102,32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,115,32,111,99,99,117,114,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,46,32,84,104,101,114,101,32,119,111,117,108,100,32,98,101,32,115,111,109,101,32,119,101,105,114,100,32,98,101,104,97,118,105,111,114,32,111,116,104,101,114,119,105,115,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,116,104,101,114,32,80,67,82,69,45,115,112,101,99,105,102,105,99,32,111,112,116,105,111,110,115,32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,119,104,101,110,32,116,104,101,32,99,111,109,112,105,108,105,110,103,32,111,114,32,109,97,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,99,97,108,108,101,100,46,32,83,111,109,101,116,105,109,101,115,32,116,104,101,32,112,97,116,116,101,114,110,32,99,97,110,32,99,111,110,116,97,105,110,32,115,112,101,99,105,97,108,32,108,101,97,100,105,110,103,32,115,101,113,117,101,110,99,101,115,44,32,115,117,99,104,32,97,115,32,40,42,67,82,76,70,41,44,32,116,111,32,111,118,101,114,114,105,100,101,32,119,104,97,116,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,104,97,115,32,115,101,116,32,111,114,32,119,104,97,116,32,104,97,115,32,98,101,101,110,32,100,101,102,97,117,108,116,101,100,46,32,68,101,116,97,105,108,115,32,97,114,101,32,112,114,111,118,105,100,101,100,32,105,110,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,110,101,119,108,105,110,101,95,115,101,113,117,101,110,99,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<78,101,119,108,105,110,101,32,83,101,113,117,101,110,99,101,115>>]},<<32,101,97,114,108,105,101,114,46>>]},{p,[],[<<84,104,101,32,40,42,85,84,70,56,41,32,97,110,100,32,40,42,85,67,80,41,32,108,101,97,100,105,110,103,32,115,101,113,117,101,110,99,101,115,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,115,101,116,32,85,84,70,32,97,110,100,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,121,32,109,111,100,101,115,46,32,84,104,101,121,32,97,114,101,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,115,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,97,110,100,32>>,{code,[],[<<117,99,112>>]},<<44,32,114,101,115,112,101,99,116,105,118,101,108,121,46,32,84,104,101,32,40,42,85,84,70,41,32,115,101,113,117,101,110,99,101,32,105,115,32,97,32,103,101,110,101,114,105,99,32,118,101,114,115,105,111,110,32,116,104,97,116,32,99,97,110,32,98,101,32,117,115,101,100,32,119,105,116,104,32,97,110,121,32,111,102,32,116,104,101,32,108,105,98,114,97,114,105,101,115,46,32,72,111,119,101,118,101,114,44,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,99,97,110,32,115,101,116,32,111,112,116,105,111,110,32>>,{code,[],[<<110,101,118,101,114,95,117,116,102>>]},<<44,32,119,104,105,99,104,32,108,111,99,107,115,32,111,117,116,32,116,104,101,32,117,115,101,32,111,102,32,116,104,101,32,40,42,85,84,70,41,32,115,101,113,117,101,110,99,101,115,46>>]}]},{a,[{id,<<115,101,99,116,49,49>>}],[]},{h2,[],[<<83,117,98,112,97,116,116,101,114,110,115>>]},{p,[],[<<83,117,98,112,97,116,116,101,114,110,115,32,97,114,101,32,100,101,108,105,109,105,116,101,100,32,98,121,32,112,97,114,101,110,116,104,101,115,101,115,32,40,114,111,117,110,100,32,98,114,97,99,107,101,116,115,41,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,110,101,115,116,101,100,46,32,84,117,114,110,105,110,103,32,112,97,114,116,32,111,102,32,97,32,112,97,116,116,101,114,110,32,105,110,116,111,32,97,32,115,117,98,112,97,116,116,101,114,110,32,100,111,101,115,32,116,119,111,32,116,104,105,110,103,115,58>>]},{dl,[],[{dt,[],[<<49,46>>]},{dd,[],[{p,[],[<<73,116,32,108,111,99,97,108,105,122,101,115,32,97,32,115,101,116,32,111,102,32,97,108,116,101,114,110,97,116,105,118,101,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,99,97,116,97,114,97,99,116,34,44,32,34,99,97,116,101,114,112,105,108,108,97,114,34,44,32,111,114,32,34,99,97,116,34,58>>]},{pre,[],[{code,[],[<<99,97,116,40,97,114,97,99,116,124,101,114,112,105,108,108,97,114,124,41>>]}]},{p,[],[<<87,105,116,104,111,117,116,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,44,32,105,116,32,119,111,117,108,100,32,109,97,116,99,104,32,34,99,97,116,97,114,97,99,116,34,44,32,34,101,114,112,105,108,108,97,114,34,44,32,111,114,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,46>>]}]},{dt,[],[<<50,46>>]},{dd,[],[{p,[],[<<73,116,32,115,101,116,115,32,117,112,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,97,115,32,97,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,46,32,84,104,97,116,32,105,115,44,32,119,104,101,110,32,116,104,101,32,99,111,109,112,108,101,116,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,44,32,116,104,97,116,32,112,111,114,116,105,111,110,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,116,104,97,116,32,109,97,116,99,104,101,100,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,112,97,115,115,101,100,32,98,97,99,107,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,116,104,114,111,117,103,104,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<46>>]}]}]},{p,[],[<<79,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,99,111,117,110,116,101,100,32,102,114,111,109,32,108,101,102,116,32,116,111,32,114,105,103,104,116,32,40,115,116,97,114,116,105,110,103,32,102,114,111,109,32,49,41,32,116,111,32,111,98,116,97,105,110,32,110,117,109,98,101,114,115,32,102,111,114,32,116,104,101,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32,116,104,101,32,115,116,114,105,110,103,32,34,116,104,101,32,114,101,100,32,107,105,110,103,34,32,105,115,32,109,97,116,99,104,101,100,32,97,103,97,105,110,115,116,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,116,104,101,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,32,97,114,101,32,34,114,101,100,32,107,105,110,103,34,44,32,34,114,101,100,34,44,32,97,110,100,32,34,107,105,110,103,34,44,32,97,110,100,32,97,114,101,32,110,117,109,98,101,114,101,100,32,49,44,32,50,44,32,97,110,100,32,51,44,32,114,101,115,112,101,99,116,105,118,101,108,121,58>>]},{pre,[],[{code,[],[<<116,104,101,32,40,40,114,101,100,124,119,104,105,116,101,41,32,40,107,105,110,103,124,113,117,101,101,110,41,41>>]}]},{p,[],[<<73,116,32,105,115,32,110,111,116,32,97,108,119,97,121,115,32,104,101,108,112,102,117,108,32,116,104,97,116,32,112,108,97,105,110,32,112,97,114,101,110,116,104,101,115,101,115,32,102,117,108,102,105,108,108,32,116,119,111,32,102,117,110,99,116,105,111,110,115,46,32,79,102,116,101,110,32,97,32,103,114,111,117,112,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,114,101,113,117,105,114,101,100,32,119,105,116,104,111,117,116,32,97,32,99,97,112,116,117,114,105,110,103,32,114,101,113,117,105,114,101,109,101,110,116,46,32,73,102,32,97,110,32,111,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,32,105,115,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,113,117,101,115,116,105,111,110,32,109,97,114,107,32,97,110,100,32,97,32,99,111,108,111,110,44,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,100,111,101,115,32,110,111,116,32,100,111,32,97,110,121,32,99,97,112,116,117,114,105,110,103,44,32,97,110,100,32,105,115,32,110,111,116,32,99,111,117,110,116,101,100,32,119,104,101,110,32,99,111,109,112,117,116,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,97,110,121,32,115,117,98,115,101,113,117,101,110,116,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32,116,104,101,32,115,116,114,105,110,103,32,34,116,104,101,32,119,104,105,116,101,32,113,117,101,101,110,34,32,105,115,32,109,97,116,99,104,101,100,32,97,103,97,105,110,115,116,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,116,104,101,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,32,97,114,101,32,34,119,104,105,116,101,32,113,117,101,101,110,34,32,97,110,100,32,34,113,117,101,101,110,34,44,32,97,110,100,32,97,114,101,32,110,117,109,98,101,114,101,100,32,49,32,97,110,100,32,50,58>>]},{pre,[],[{code,[],[<<116,104,101,32,40,40,63,58,114,101,100,124,119,104,105,116,101,41,32,40,107,105,110,103,124,113,117,101,101,110,41,41>>]}]},{p,[],[<<84,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,105,115,32,54,53,53,51,53,46>>]},{p,[],[<<65,115,32,97,32,99,111,110,118,101,110,105,101,110,116,32,115,104,111,114,116,104,97,110,100,44,32,105,102,32,97,110,121,32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,115,32,97,114,101,32,114,101,113,117,105,114,101,100,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,97,32,110,111,110,45,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,44,32,116,104,101,32,111,112,116,105,111,110,32,108,101,116,116,101,114,115,32,99,97,110,32,97,112,112,101,97,114,32,98,101,116,119,101,101,110,32,34,63,34,32,97,110,100,32,34,58,34,46,32,84,104,117,115,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,116,119,111,32,112,97,116,116,101,114,110,115,32,109,97,116,99,104,32,116,104,101,32,115,97,109,101,32,115,101,116,32,111,102,32,115,116,114,105,110,103,115,58>>]},{pre,[],[{code,[],[<<40,63,105,58,115,97,116,117,114,100,97,121,124,115,117,110,100,97,121,41,10,40,63,58,40,63,105,41,115,97,116,117,114,100,97,121,124,115,117,110,100,97,121,41>>]}]},{p,[],[<<65,115,32,97,108,116,101,114,110,97,116,105,118,101,32,98,114,97,110,99,104,101,115,32,97,114,101,32,116,114,105,101,100,32,102,114,111,109,32,108,101,102,116,32,116,111,32,114,105,103,104,116,44,32,97,110,100,32,111,112,116,105,111,110,115,32,97,114,101,32,110,111,116,32,114,101,115,101,116,32,117,110,116,105,108,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,114,101,97,99,104,101,100,44,32,97,110,32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,32,105,110,32,111,110,101,32,98,114,97,110,99,104,32,100,111,101,115,32,97,102,102,101,99,116,32,115,117,98,115,101,113,117,101,110,116,32,98,114,97,110,99,104,101,115,44,32,115,111,32,116,104,101,32,97,98,111,118,101,32,112,97,116,116,101,114,110,115,32,109,97,116,99,104,32,98,111,116,104,32,34,83,85,78,68,65,89,34,32,97,110,100,32,34,83,97,116,117,114,100,97,121,34,46>>]},{a,[{id,<<115,101,99,116,49,50>>}],[]},{h2,[],[<<68,117,112,108,105,99,97,116,101,32,83,117,98,112,97,116,116,101,114,110,32,78,117,109,98,101,114,115>>]},{p,[],[<<80,101,114,108,32,53,46,49,48,32,105,110,116,114,111,100,117,99,101,100,32,97,32,102,101,97,116,117,114,101,32,119,104,101,114,101,32,101,97,99,104,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,117,115,101,115,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,115,32,102,111,114,32,105,116,115,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,46,32,83,117,99,104,32,97,32,115,117,98,112,97,116,116,101,114,110,32,115,116,97,114,116,115,32,119,105,116,104,32>>,{code,[],[<<40,63,124>>]},<<32,97,110,100,32,105,115,32,105,116,115,101,108,102,32,97,32,110,111,110,45,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,99,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[],[<<40,63,124,40,83,97,116,41,117,114,124,40,83,117,110,41,41,100,97,121>>]}]},{p,[],[<<65,115,32,116,104,101,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,114,101,32,105,110,115,105,100,101,32,97,32>>,{code,[],[<<40,63,124>>]},<<32,103,114,111,117,112,44,32,98,111,116,104,32,115,101,116,115,32,111,102,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,110,117,109,98,101,114,101,100,32,111,110,101,46,32,84,104,117,115,44,32,119,104,101,110,32,116,104,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,44,32,121,111,117,32,99,97,110,32,108,111,111,107,32,97,116,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,32,110,117,109,98,101,114,32,111,110,101,44,32,119,104,105,99,104,101,118,101,114,32,97,108,116,101,114,110,97,116,105,118,101,32,109,97,116,99,104,101,100,46,32,84,104,105,115,32,99,111,110,115,116,114,117,99,116,32,105,115,32,117,115,101,102,117,108,32,119,104,101,110,32,121,111,117,32,119,97,110,116,32,116,111,32,99,97,112,116,117,114,101,32,97,32,112,97,114,116,44,32,98,117,116,32,110,111,116,32,97,108,108,44,32,111,102,32,111,110,101,32,111,102,32,109,97,110,121,32,97,108,116,101,114,110,97,116,105,118,101,115,46,32,73,110,115,105,100,101,32,97,32>>,{code,[],[<<40,63,124>>]},<<32,103,114,111,117,112,44,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,110,117,109,98,101,114,101,100,32,97,115,32,117,115,117,97,108,44,32,98,117,116,32,116,104,101,32,110,117,109,98,101,114,32,105,115,32,114,101,115,101,116,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,101,97,99,104,32,98,114,97,110,99,104,46,32,84,104,101,32,110,117,109,98,101,114,115,32,111,102,32,97,110,121,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,116,104,97,116,32,102,111,108,108,111,119,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,115,116,97,114,116,32,97,102,116,101,114,32,116,104,101,32,104,105,103,104,101,115,116,32,110,117,109,98,101,114,32,117,115,101,100,32,105,110,32,97,110,121,32,98,114,97,110,99,104,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,32,105,115,32,102,114,111,109,32,116,104,101,32,80,101,114,108,32,100,111,99,117,109,101,110,116,97,116,105,111,110,59,32,116,104,101,32,110,117,109,98,101,114,115,32,117,110,100,101,114,110,101,97,116,104,32,115,104,111,119,32,105,110,32,119,104,105,99,104,32,98,117,102,102,101,114,32,116,104,101,32,99,97,112,116,117,114,101,100,32,99,111,110,116,101,110,116,32,105,115,32,115,116,111,114,101,100,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<35,32,98,101,102,111,114,101,32,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,98,114,97,110,99,104,45,114,101,115,101,116,45,45,45,45,45,45,45,45,45,45,45,32,97,102,116,101,114,10,47,32,40,32,97,32,41,32,32,40,63,124,32,120,32,40,32,121,32,41,32,122,32,124,32,40,112,32,40,113,41,32,114,41,32,124,32,40,116,41,32,117,32,40,118,41,32,41,32,40,32,122,32,41,32,47,120,10,35,32,49,32,32,32,32,32,32,32,32,32,32,32,32,50,32,32,32,32,32,32,32,32,32,50,32,32,51,32,32,32,32,32,32,32,32,50,32,32,32,32,32,51,32,32,32,32,32,52>>]}]},{p,[],[<<65,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,116,111,32,97,32,110,117,109,98,101,114,101,100,32,115,117,98,112,97,116,116,101,114,110,32,117,115,101,115,32,116,104,101,32,109,111,115,116,32,114,101,99,101,110,116,32,118,97,108,117,101,32,116,104,97,116,32,105,115,32,115,101,116,32,102,111,114,32,116,104,97,116,32,110,117,109,98,101,114,32,98,121,32,97,110,121,32,115,117,98,112,97,116,116,101,114,110,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,97,98,99,97,98,99,34,32,111,114,32,34,100,101,102,100,101,102,34,58>>]},{pre,[],[{code,[],[<<47,40,63,124,40,97,98,99,41,124,40,100,101,102,41,41,92,49,47>>]}]},{p,[],[<<73,110,32,99,111,110,116,114,97,115,116,44,32,97,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,32,116,111,32,97,32,110,117,109,98,101,114,101,100,32,115,117,98,112,97,116,116,101,114,110,32,97,108,119,97,121,115,32,114,101,102,101,114,115,32,116,111,32,116,104,101,32,102,105,114,115,116,32,111,110,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,119,105,116,104,32,116,104,101,32,103,105,118,101,110,32,110,117,109,98,101,114,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,97,98,99,97,98,99,34,32,111,114,32,34,100,101,102,97,98,99,34,58>>]},{pre,[],[{code,[],[<<47,40,63,124,40,97,98,99,41,124,40,100,101,102,41,41,40,63,49,41,47>>]}]},{p,[],[<<73,102,32,97,32,99,111,110,100,105,116,105,111,110,32,116,101,115,116,32,102,111,114,32,97,32,115,117,98,112,97,116,116,101,114,110,32,104,97,118,105,110,103,32,109,97,116,99,104,101,100,32,114,101,102,101,114,115,32,116,111,32,97,32,110,111,110,45,117,110,105,113,117,101,32,110,117,109,98,101,114,44,32,116,104,101,32,116,101,115,116,32,105,115,32,116,114,117,101,32,105,102,32,97,110,121,32,111,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,115,32,111,102,32,116,104,97,116,32,110,117,109,98,101,114,32,104,97,118,101,32,109,97,116,99,104,101,100,46>>]},{p,[],[<<65,110,32,97,108,116,101,114,110,97,116,105,118,101,32,97,112,112,114,111,97,99,104,32,117,115,105,110,103,32,116,104,105,115,32,34,98,114,97,110,99,104,32,114,101,115,101,116,34,32,102,101,97,116,117,114,101,32,105,115,32,116,111,32,117,115,101,32,100,117,112,108,105,99,97,116,101,32,110,97,109,101,100,32,115,117,98,112,97,116,116,101,114,110,115,44,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,110,101,120,116,32,115,101,99,116,105,111,110,46>>]},{a,[{id,<<115,101,99,116,49,51>>}],[]},{h2,[],[<<78,97,109,101,100,32,83,117,98,112,97,116,116,101,114,110,115>>]},{p,[],[<<73,100,101,110,116,105,102,121,105,110,103,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,98,121,32,110,117,109,98,101,114,32,105,115,32,115,105,109,112,108,101,44,32,98,117,116,32,105,116,32,99,97,110,32,98,101,32,104,97,114,100,32,116,111,32,107,101,101,112,32,116,114,97,99,107,32,111,102,32,116,104,101,32,110,117,109,98,101,114,115,32,105,110,32,99,111,109,112,108,105,99,97,116,101,100,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,46,32,65,108,115,111,44,32,105,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,109,111,100,105,102,105,101,100,44,32,116,104,101,32,110,117,109,98,101,114,115,32,99,97,110,32,99,104,97,110,103,101,46,32,84,111,32,104,101,108,112,32,119,105,116,104,32,116,104,105,115,32,100,105,102,102,105,99,117,108,116,121,44,32,80,67,82,69,32,115,117,112,112,111,114,116,115,32,116,104,101,32,110,97,109,105,110,103,32,111,102,32,115,117,98,112,97,116,116,101,114,110,115,46,32,84,104,105,115,32,102,101,97,116,117,114,101,32,119,97,115,32,110,111,116,32,97,100,100,101,100,32,116,111,32,80,101,114,108,32,117,110,116,105,108,32,114,101,108,101,97,115,101,32,53,46,49,48,46,32,80,121,116,104,111,110,32,104,97,100,32,116,104,101,32,102,101,97,116,117,114,101,32,101,97,114,108,105,101,114,44,32,97,110,100,32,80,67,82,69,32,105,110,116,114,111,100,117,99,101,100,32,105,116,32,97,116,32,114,101,108,101,97,115,101,32,52,46,48,44,32,117,115,105,110,103,32,116,104,101,32,80,121,116,104,111,110,32,115,121,110,116,97,120,46,32,80,67,82,69,32,110,111,119,32,115,117,112,112,111,114,116,115,32,98,111,116,104,32,116,104,101,32,80,101,114,108,32,97,110,100,32,116,104,101,32,80,121,116,104,111,110,32,115,121,110,116,97,120,46,32,80,101,114,108,32,97,108,108,111,119,115,32,105,100,101,110,116,105,99,97,108,108,121,32,110,117,109,98,101,114,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,116,111,32,104,97,118,101,32,100,105,102,102,101,114,101,110,116,32,110,97,109,101,115,44,32,98,117,116,32,80,67,82,69,32,100,111,101,115,32,110,111,116,46>>]},{p,[],[<<73,110,32,80,67,82,69,44,32,97,32,115,117,98,112,97,116,116,101,114,110,32,99,97,110,32,98,101,32,110,97,109,101,100,32,105,110,32,111,110,101,32,111,102,32,116,104,114,101,101,32,119,97,121,115,58,32>>,{code,[],[<<40,63,60,110,97,109,101,62,46,46,46,41>>]},<<32,111,114,32>>,{code,[],[<<40,63,39,110,97,109,101,39,46,46,46,41>>]},<<32,97,115,32,105,110,32,80,101,114,108,44,32,111,114,32>>,{code,[],[<<40,63,80,60,110,97,109,101,62,46,46,46,41>>]},<<32,97,115,32,105,110,32,80,121,116,104,111,110,46,32,82,101,102,101,114,101,110,99,101,115,32,116,111,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,102,114,111,109,32,111,116,104,101,114,32,112,97,114,116,115,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,44,32,115,117,99,104,32,97,115,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,115,44,32,114,101,99,117,114,115,105,111,110,44,32,97,110,100,32,99,111,110,100,105,116,105,111,110,115,44,32,99,97,110,32,98,101,32,109,97,100,101,32,98,121,32,110,97,109,101,32,97,110,100,32,98,121,32,110,117,109,98,101,114,46>>]},{p,[],[<<78,97,109,101,115,32,99,111,110,115,105,115,116,32,111,102,32,117,112,32,116,111,32,51,50,32,97,108,112,104,97,110,117,109,101,114,105,99,32,99,104,97,114,97,99,116,101,114,115,32,97,110,100,32,117,110,100,101,114,115,99,111,114,101,115,44,32,98,117,116,32,109,117,115,116,32,115,116,97,114,116,32,119,105,116,104,32,97,32,110,111,110,45,100,105,103,105,116,46,32,78,97,109,101,100,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,115,116,105,108,108,32,97,108,108,111,99,97,116,101,100,32,110,117,109,98,101,114,115,32,97,115,32,119,101,108,108,32,97,115,32,110,97,109,101,115,44,32,101,120,97,99,116,108,121,32,97,115,32,105,102,32,116,104,101,32,110,97,109,101,115,32,119,101,114,101,32,110,111,116,32,112,114,101,115,101,110,116,46,32,84,104,101,32>>,{code,[],[<<99,97,112,116,117,114,101>>]},<<32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,116,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<32,99,97,110,32,117,115,101,32,110,97,109,101,100,32,118,97,108,117,101,115,32,105,102,32,116,104,101,121,32,97,114,101,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,97,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,105,113,117,101,32,119,105,116,104,105,110,32,97,32,112,97,116,116,101,114,110,44,32,98,117,116,32,116,104,105,115,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,32,98,101,32,114,101,108,97,120,101,100,32,98,121,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<100,117,112,110,97,109,101,115>>]},<<32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,46,32,40,68,117,112,108,105,99,97,116,101,32,110,97,109,101,115,32,97,114,101,32,97,108,115,111,32,97,108,119,97,121,115,32,112,101,114,109,105,116,116,101,100,32,102,111,114,32,115,117,98,112,97,116,116,101,114,110,115,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,44,32,115,101,116,32,117,112,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,112,114,101,118,105,111,117,115,32,115,101,99,116,105,111,110,46,41,32,68,117,112,108,105,99,97,116,101,32,110,97,109,101,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,32,102,111,114,32,112,97,116,116,101,114,110,115,32,119,104,101,114,101,32,111,110,108,121,32,111,110,101,32,105,110,115,116,97,110,99,101,32,111,102,32,116,104,101,32,110,97,109,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,99,97,110,32,109,97,116,99,104,46,32,83,117,112,112,111,115,101,32,116,104,97,116,32,121,111,117,32,119,97,110,116,32,116,111,32,109,97,116,99,104,32,116,104,101,32,110,97,109,101,32,111,102,32,97,32,119,101,101,107,100,97,121,44,32,101,105,116,104,101,114,32,97,115,32,97,32,51,45,108,101,116,116,101,114,32,97,98,98,114,101,118,105,97,116,105,111,110,32,111,114,32,97,115,32,116,104,101,32,102,117,108,108,32,110,97,109,101,44,32,97,110,100,32,105,110,32,98,111,116,104,32,99,97,115,101,115,32,121,111,117,32,119,97,110,116,32,116,111,32,101,120,116,114,97,99,116,32,116,104,101,32,97,98,98,114,101,118,105,97,116,105,111,110,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,40,105,103,110,111,114,105,110,103,32,116,104,101,32,108,105,110,101,32,98,114,101,97,107,115,41,32,100,111,101,115,32,116,104,101,32,106,111,98,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<40,63,60,68,78,62,77,111,110,124,70,114,105,124,83,117,110,41,40,63,58,100,97,121,41,63,124,10,40,63,60,68,78,62,84,117,101,41,40,63,58,115,100,97,121,41,63,124,10,40,63,60,68,78,62,87,101,100,41,40,63,58,110,101,115,100,97,121,41,63,124,10,40,63,60,68,78,62,84,104,117,41,40,63,58,114,115,100,97,121,41,63,124,10,40,63,60,68,78,62,83,97,116,41,40,63,58,117,114,100,97,121,41,63>>]}]},{p,[],[<<84,104,101,114,101,32,97,114,101,32,102,105,118,101,32,99,97,112,116,117,114,105,110,103,32,115,117,98,115,116,114,105,110,103,115,44,32,98,117,116,32,111,110,108,121,32,111,110,101,32,105,115,32,101,118,101,114,32,115,101,116,32,97,102,116,101,114,32,97,32,109,97,116,99,104,46,32,40,65,110,32,97,108,116,101,114,110,97,116,105,118,101,32,119,97,121,32,111,102,32,115,111,108,118,105,110,103,32,116,104,105,115,32,112,114,111,98,108,101,109,32,105,115,32,116,111,32,117,115,101,32,97,32,34,98,114,97,110,99,104,32,114,101,115,101,116,34,32,115,117,98,112,97,116,116,101,114,110,44,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,112,114,101,118,105,111,117,115,32,115,101,99,116,105,111,110,46,41>>]},{p,[],[<<70,111,114,32,99,97,112,116,117,114,105,110,103,32,110,97,109,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,119,104,105,99,104,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,117,110,105,113,117,101,44,32,116,104,101,32,102,105,114,115,116,32,109,97,116,99,104,105,110,103,32,111,99,99,117,114,114,101,110,99,101,32,40,99,111,117,110,116,101,100,32,102,114,111,109,32,108,101,102,116,32,116,111,32,114,105,103,104,116,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,41,32,105,115,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<44,32,105,102,32,116,104,101,32,110,97,109,101,32,105,115,32,115,112,101,99,105,102,105,101,100,32,105,110,32,116,104,101,32>>,{code,[],[<<118,97,108,117,101,115>>]},<<32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<99,97,112,116,117,114,101>>]},<<32,115,116,97,116,101,109,101,110,116,46,32,84,104,101,32>>,{code,[],[<<97,108,108,95,110,97,109,101,115>>]},<<32,99,97,112,116,117,114,105,110,103,32,118,97,108,117,101,32,109,97,116,99,104,101,115,32,97,108,108,32,116,104,101,32,110,97,109,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,119,97,121,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<89,111,117,32,99,97,110,110,111,116,32,117,115,101,32,100,105,102,102,101,114,101,110,116,32,110,97,109,101,115,32,116,111,32,100,105,115,116,105,110,103,117,105,115,104,32,98,101,116,119,101,101,110,32,116,119,111,32,115,117,98,112,97,116,116,101,114,110,115,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,44,32,97,115,32,80,67,82,69,32,117,115,101,115,32,111,110,108,121,32,116,104,101,32,110,117,109,98,101,114,115,32,119,104,101,110,32,109,97,116,99,104,105,110,103,46,32,70,111,114,32,116,104,105,115,32,114,101,97,115,111,110,44,32,97,110,32,101,114,114,111,114,32,105,115,32,103,105,118,101,110,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,32,105,102,32,100,105,102,102,101,114,101,110,116,32,110,97,109,101,115,32,97,114,101,32,115,112,101,99,105,102,105,101,100,32,116,111,32,115,117,98,112,97,116,116,101,114,110,115,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,46,32,72,111,119,101,118,101,114,44,32,121,111,117,32,99,97,110,32,115,112,101,99,105,102,121,32,116,104,101,32,115,97,109,101,32,110,97,109,101,32,116,111,32,115,117,98,112,97,116,116,101,114,110,115,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,44,32,101,118,101,110,32,119,104,101,110,32>>,{code,[],[<<100,117,112,110,97,109,101,115>>]},<<32,105,115,32,110,111,116,32,115,101,116,46>>]}]},{a,[{id,<<115,101,99,116,49,52>>}],[]},{h2,[],[<<82,101,112,101,116,105,116,105,111,110>>]},{p,[],[<<82,101,112,101,116,105,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32,113,117,97,110,116,105,102,105,101,114,115,44,32,119,104,105,99,104,32,99,97,110,32,102,111,108,108,111,119,32,97,110,121,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,105,116,101,109,115,58>>]},{ul,[],[{li,[],[<<65,32,108,105,116,101,114,97,108,32,100,97,116,97,32,99,104,97,114,97,99,116,101,114>>]},{li,[],[<<84,104,101,32,100,111,116,32,109,101,116,97,99,104,97,114,97,99,116,101,114>>]},{li,[],[<<84,104,101,32,92,67,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101>>]},{li,[],[<<84,104,101,32,92,88,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101>>]},{li,[],[<<84,104,101,32,92,82,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101>>]},{li,[],[<<65,110,32,101,115,99,97,112,101,32,115,117,99,104,32,97,115,32,92,100,32,111,114,32,92,112,76,32,116,104,97,116,32,109,97,116,99,104,101,115,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114>>]},{li,[],[<<65,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115>>]},{li,[],[<<65,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,40,115,101,101,32,116,104,101,32,110,101,120,116,32,115,101,99,116,105,111,110,41>>]},{li,[],[<<65,32,112,97,114,101,110,116,104,101,115,105,122,101,100,32,115,117,98,112,97,116,116,101,114,110,32,40,105,110,99,108,117,100,105,110,103,32,97,115,115,101,114,116,105,111,110,115,41>>]},{li,[],[<<65,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,32,116,111,32,97,32,115,117,98,112,97,116,116,101,114,110,32,40,114,101,99,117,114,115,105,118,101,32,111,114,32,111,116,104,101,114,119,105,115,101,41>>]}]},{p,[],[<<84,104,101,32,103,101,110,101,114,97,108,32,114,101,112,101,116,105,116,105,111,110,32,113,117,97,110,116,105,102,105,101,114,32,115,112,101,99,105,102,105,101,115,32,97,32,109,105,110,105,109,117,109,32,97,110,100,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,112,101,114,109,105,116,116,101,100,32,109,97,116,99,104,101,115,44,32,98,121,32,103,105,118,105,110,103,32,116,104,101,32,116,119,111,32,110,117,109,98,101,114,115,32,105,110,32,99,117,114,108,121,32,98,114,97,99,107,101,116,115,32,40,98,114,97,99,101,115,41,44,32,115,101,112,97,114,97,116,101,100,32,98,121,32,97,32,99,111,109,109,97,46,32,84,104,101,32,110,117,109,98,101,114,115,32,109,117,115,116,32,98,101,32,60,32,54,53,53,51,54,44,32,97,110,100,32,116,104,101,32,102,105,114,115,116,32,109,117,115,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,111,114,32,101,113,117,97,108,32,116,111,32,116,104,101,32,115,101,99,111,110,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,34,122,122,34,44,32,34,122,122,122,34,44,32,111,114,32,34,122,122,122,122,34,58>>]},{pre,[],[{code,[],[<<122,123,50,44,52,125>>]}]},{p,[],[<<65,32,99,108,111,115,105,110,103,32,98,114,97,99,101,32,111,110,32,105,116,115,32,111,119,110,32,105,115,32,110,111,116,32,97,32,115,112,101,99,105,97,108,32,99,104,97,114,97,99,116,101,114,46,32,73,102,32,116,104,101,32,115,101,99,111,110,100,32,110,117,109,98,101,114,32,105,115,32,111,109,105,116,116,101,100,44,32,98,117,116,32,116,104,101,32,99,111,109,109,97,32,105,115,32,112,114,101,115,101,110,116,44,32,116,104,101,114,101,32,105,115,32,110,111,32,117,112,112,101,114,32,108,105,109,105,116,46,32,73,102,32,116,104,101,32,115,101,99,111,110,100,32,110,117,109,98,101,114,32,97,110,100,32,116,104,101,32,99,111,109,109,97,32,97,114,101,32,98,111,116,104,32,111,109,105,116,116,101,100,44,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,32,115,112,101,99,105,102,105,101,115,32,97,110,32,101,120,97,99,116,32,110,117,109,98,101,114,32,111,102,32,114,101,113,117,105,114,101,100,32,109,97,116,99,104,101,115,46,32,84,104,117,115,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,97,116,32,108,101,97,115,116,32,116,104,114,101,101,32,115,117,99,99,101,115,115,105,118,101,32,118,111,119,101,108,115,44,32,98,117,116,32,99,97,110,32,109,97,116,99,104,32,109,97,110,121,32,109,111,114,101,58>>]},{pre,[],[{code,[],[<<91,97,101,105,111,117,93,123,51,44,125>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,101,120,97,99,116,108,121,32,101,105,103,104,116,32,100,105,103,105,116,115,58>>]},{pre,[],[{code,[],[<<92,100,123,56,125>>]}]},{p,[],[<<65,110,32,111,112,101,110,105,110,103,32,99,117,114,108,121,32,98,114,97,99,107,101,116,32,116,104,97,116,32,97,112,112,101,97,114,115,32,105,110,32,97,32,112,111,115,105,116,105,111,110,32,119,104,101,114,101,32,97,32,113,117,97,110,116,105,102,105,101,114,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,44,32,111,114,32,111,110,101,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,115,121,110,116,97,120,32,111,102,32,97,32,113,117,97,110,116,105,102,105,101,114,44,32,105,115,32,116,97,107,101,110,32,97,115,32,97,32,108,105,116,101,114,97,108,32,99,104,97,114,97,99,116,101,114,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,123,44,54,125,32,105,115,32,110,111,116,32,97,32,113,117,97,110,116,105,102,105,101,114,44,32,98,117,116,32,97,32,108,105,116,101,114,97,108,32,115,116,114,105,110,103,32,111,102,32,102,111,117,114,32,99,104,97,114,97,99,116,101,114,115,46>>]},{p,[],[<<73,110,32,85,110,105,99,111,100,101,32,109,111,100,101,44,32,113,117,97,110,116,105,102,105,101,114,115,32,97,112,112,108,121,32,116,111,32,99,104,97,114,97,99,116,101,114,115,32,114,97,116,104,101,114,32,116,104,97,110,32,116,111,32,105,110,100,105,118,105,100,117,97,108,32,100,97,116,97,32,117,110,105,116,115,46,32,84,104,117,115,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,92,120,123,49,48,48,125,123,50,125,32,109,97,116,99,104,101,115,32,116,119,111,32,99,104,97,114,97,99,116,101,114,115,44,32,101,97,99,104,32,111,102,32,119,104,105,99,104,32,105,115,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,32,50,45,98,121,116,101,32,115,101,113,117,101,110,99,101,32,105,110,32,97,32,85,84,70,45,56,32,115,116,114,105,110,103,46,32,83,105,109,105,108,97,114,108,121,44,32,92,88,123,51,125,32,109,97,116,99,104,101,115,32,116,104,114,101,101,32,85,110,105,99,111,100,101,32,101,120,116,101,110,100,101,100,32,103,114,97,112,104,101,109,101,32,99,108,117,115,116,101,114,115,44,32,101,97,99,104,32,111,102,32,119,104,105,99,104,32,99,97,110,32,98,101,32,109,97,110,121,32,100,97,116,97,32,117,110,105,116,115,32,108,111,110,103,32,40,97,110,100,32,116,104,101,121,32,99,97,110,32,98,101,32,111,102,32,100,105,102,102,101,114,101,110,116,32,108,101,110,103,116,104,115,41,46>>]},{p,[],[<<84,104,101,32,113,117,97,110,116,105,102,105,101,114,32,123,48,125,32,105,115,32,112,101,114,109,105,116,116,101,100,44,32,99,97,117,115,105,110,103,32,116,104,101,32,101,120,112,114,101,115,115,105,111,110,32,116,111,32,98,101,104,97,118,101,32,97,115,32,105,102,32,116,104,101,32,112,114,101,118,105,111,117,115,32,105,116,101,109,32,97,110,100,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,32,119,101,114,101,32,110,111,116,32,112,114,101,115,101,110,116,46,32,84,104,105,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,32,102,111,114,32,115,117,98,112,97,116,116,101,114,110,115,32,116,104,97,116,32,97,114,101,32,114,101,102,101,114,101,110,99,101,100,32,97,115,32,115,117,98,114,111,117,116,105,110,101,115,32,102,114,111,109,32,101,108,115,101,119,104,101,114,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,40,98,117,116,32,115,101,101,32,97,108,115,111,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,100,101,102,105,110,105,110,103,95,115,117,98,112,97,116,116,101,114,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<68,101,102,105,110,105,110,103,32,83,117,98,112,97,116,116,101,114,110,115,32,102,111,114,32,85,115,101,32,98,121,32,82,101,102,101,114,101,110,99,101,32,79,110,108,121>>]},<<41,46,32,73,116,101,109,115,32,111,116,104,101,114,32,116,104,97,110,32,115,117,98,112,97,116,116,101,114,110,115,32,116,104,97,116,32,104,97,118,101,32,97,32,123,48,125,32,113,117,97,110,116,105,102,105,101,114,32,97,114,101,32,111,109,105,116,116,101,100,32,102,114,111,109,32,116,104,101,32,99,111,109,112,105,108,101,100,32,112,97,116,116,101,114,110,46>>]},{p,[],[<<70,111,114,32,99,111,110,118,101,110,105,101,110,99,101,44,32,116,104,101,32,116,104,114,101,101,32,109,111,115,116,32,99,111,109,109,111,110,32,113,117,97,110,116,105,102,105,101,114,115,32,104,97,118,101,32,115,105,110,103,108,101,45,99,104,97,114,97,99,116,101,114,32,97,98,98,114,101,118,105,97,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[<<42>>]},{dd,[],[<<69,113,117,105,118,97,108,101,110,116,32,116,111,32,123,48,44,125>>]},{dt,[],[<<43>>]},{dd,[],[<<69,113,117,105,118,97,108,101,110,116,32,116,111,32,123,49,44,125>>]},{dt,[],[<<63>>]},{dd,[],[<<69,113,117,105,118,97,108,101,110,116,32,116,111,32,123,48,44,49,125>>]}]},{p,[],[<<73,110,102,105,110,105,116,101,32,108,111,111,112,115,32,99,97,110,32,98,101,32,99,111,110,115,116,114,117,99,116,101,100,32,98,121,32,102,111,108,108,111,119,105,110,103,32,97,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,99,97,110,32,109,97,116,99,104,32,110,111,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,97,32,113,117,97,110,116,105,102,105,101,114,32,116,104,97,116,32,104,97,115,32,110,111,32,117,112,112,101,114,32,108,105,109,105,116,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,97,63,41,42>>]}]},{p,[],[<<69,97,114,108,105,101,114,32,118,101,114,115,105,111,110,115,32,111,102,32,80,101,114,108,32,97,110,100,32,80,67,82,69,32,117,115,101,100,32,116,111,32,103,105,118,101,32,97,110,32,101,114,114,111,114,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,32,102,111,114,32,115,117,99,104,32,112,97,116,116,101,114,110,115,46,32,72,111,119,101,118,101,114,44,32,97,115,32,116,104,101,114,101,32,97,114,101,32,99,97,115,101,115,32,119,104,101,114,101,32,116,104,105,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,44,32,115,117,99,104,32,112,97,116,116,101,114,110,115,32,97,114,101,32,110,111,119,32,97,99,99,101,112,116,101,100,46,32,72,111,119,101,118,101,114,44,32,105,102,32,97,110,121,32,114,101,112,101,116,105,116,105,111,110,32,111,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,110,111,32,99,104,97,114,97,99,116,101,114,115,44,32,116,104,101,32,108,111,111,112,32,105,115,32,102,111,114,99,105,98,108,121,32,98,114,111,107,101,110,46>>]},{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,115,32,97,114,101,32,34,103,114,101,101,100,121,34,44,32,116,104,97,116,32,105,115,44,32,116,104,101,121,32,109,97,116,99,104,32,97,115,32,109,117,99,104,32,97,115,32,112,111,115,115,105,98,108,101,32,40,117,112,32,116,111,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,112,101,114,109,105,116,116,101,100,32,116,105,109,101,115,41,44,32,119,105,116,104,111,117,116,32,99,97,117,115,105,110,103,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,112,97,116,116,101,114,110,32,116,111,32,102,97,105,108,46,32,84,104,101,32,99,108,97,115,115,105,99,32,101,120,97,109,112,108,101,32,111,102,32,119,104,101,114,101,32,116,104,105,115,32,103,105,118,101,115,32,112,114,111,98,108,101,109,115,32,105,115,32,105,110,32,116,114,121,105,110,103,32,116,111,32,109,97,116,99,104,32,99,111,109,109,101,110,116,115,32,105,110,32,67,32,112,114,111,103,114,97,109,115,46,32,84,104,101,115,101,32,97,112,112,101,97,114,32,98,101,116,119,101,101,110,32,47,42,32,97,110,100,32,42,47,46,32,87,105,116,104,105,110,32,116,104,101,32,99,111,109,109,101,110,116,44,32,105,110,100,105,118,105,100,117,97,108,32,42,32,97,110,100,32,47,32,99,104,97,114,97,99,116,101,114,115,32,99,97,110,32,97,112,112,101,97,114,46,32,65,110,32,97,116,116,101,109,112,116,32,116,111,32,109,97,116,99,104,32,67,32,99,111,109,109,101,110,116,115,32,98,121,32,97,112,112,108,121,105,110,103,32,116,104,101,32,112,97,116,116,101,114,110>>]},{pre,[],[{code,[],[<<47,92,42,46,42,92,42,47>>]}]},{p,[],[<<116,111,32,116,104,101,32,115,116,114,105,110,103>>]},{pre,[],[{code,[],[<<47,42,32,102,105,114,115,116,32,99,111,109,109,101,110,116,32,42,47,32,32,110,111,116,32,99,111,109,109,101,110,116,32,32,47,42,32,115,101,99,111,110,100,32,99,111,109,109,101,110,116,32,42,47>>]}]},{p,[],[<<102,97,105,108,115,44,32,97,115,32,105,116,32,109,97,116,99,104,101,115,32,116,104,101,32,101,110,116,105,114,101,32,115,116,114,105,110,103,32,111,119,105,110,103,32,116,111,32,116,104,101,32,103,114,101,101,100,105,110,101,115,115,32,111,102,32,116,104,101,32,46,42,32,105,116,101,109,46>>]},{p,[],[<<72,111,119,101,118,101,114,44,32,105,102,32,97,32,113,117,97,110,116,105,102,105,101,114,32,105,115,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,113,117,101,115,116,105,111,110,32,109,97,114,107,44,32,105,116,32,99,101,97,115,101,115,32,116,111,32,98,101,32,103,114,101,101,100,121,44,32,97,110,100,32,105,110,115,116,101,97,100,32,109,97,116,99,104,101,115,32,116,104,101,32,109,105,110,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,116,105,109,101,115,32,112,111,115,115,105,98,108,101,44,32,115,111,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,100,111,101,115,32,116,104,101,32,114,105,103,104,116,32,116,104,105,110,103,32,119,105,116,104,32,116,104,101,32,67,32,99,111,109,109,101,110,116,115,58>>]},{pre,[],[{code,[],[<<47,92,42,46,42,63,92,42,47>>]}]},{p,[],[<<84,104,101,32,109,101,97,110,105,110,103,32,111,102,32,116,104,101,32,118,97,114,105,111,117,115,32,113,117,97,110,116,105,102,105,101,114,115,32,105,115,32,110,111,116,32,111,116,104,101,114,119,105,115,101,32,99,104,97,110,103,101,100,44,32,111,110,108,121,32,116,104,101,32,112,114,101,102,101,114,114,101,100,32,110,117,109,98,101,114,32,111,102,32,109,97,116,99,104,101,115,46,32,68,111,32,110,111,116,32,99,111,110,102,117,115,101,32,116,104,105,115,32,117,115,101,32,111,102,32,113,117,101,115,116,105,111,110,32,109,97,114,107,32,119,105,116,104,32,105,116,115,32,117,115,101,32,97,115,32,97,32,113,117,97,110,116,105,102,105,101,114,32,105,110,32,105,116,115,32,111,119,110,32,114,105,103,104,116,46,32,65,115,32,105,116,32,104,97,115,32,116,119,111,32,117,115,101,115,44,32,105,116,32,99,97,110,32,115,111,109,101,116,105,109,101,115,32,97,112,112,101,97,114,32,100,111,117,98,108,101,100,44,32,97,115,32,105,110>>]},{pre,[],[{code,[],[<<92,100,63,63,92,100>>]}]},{p,[],[<<119,104,105,99,104,32,109,97,116,99,104,101,115,32,111,110,101,32,100,105,103,105,116,32,98,121,32,112,114,101,102,101,114,101,110,99,101,44,32,98,117,116,32,99,97,110,32,109,97,116,99,104,32,116,119,111,32,105,102,32,116,104,97,116,32,105,115,32,116,104,101,32,111,110,108,121,32,119,97,121,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,46>>]},{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,103,114,101,101,100,121>>]},<<32,105,115,32,115,101,116,32,40,97,110,32,111,112,116,105,111,110,32,116,104,97,116,32,105,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,32,105,110,32,80,101,114,108,41,44,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,115,32,97,114,101,32,110,111,116,32,103,114,101,101,100,121,32,98,121,32,100,101,102,97,117,108,116,44,32,98,117,116,32,105,110,100,105,118,105,100,117,97,108,32,111,110,101,115,32,99,97,110,32,98,101,32,109,97,100,101,32,103,114,101,101,100,121,32,98,121,32,102,111,108,108,111,119,105,110,103,32,116,104,101,109,32,119,105,116,104,32,97,32,113,117,101,115,116,105,111,110,32,109,97,114,107,46,32,84,104,97,116,32,105,115,44,32,105,116,32,105,110,118,101,114,116,115,32,116,104,101,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,46>>]},{p,[],[<<87,104,101,110,32,97,32,112,97,114,101,110,116,104,101,115,105,122,101,100,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,113,117,97,110,116,105,102,105,101,100,32,119,105,116,104,32,97,32,109,105,110,105,109,117,109,32,114,101,112,101,97,116,32,99,111,117,110,116,32,116,104,97,116,32,105,115,32,62,32,49,32,111,114,32,119,105,116,104,32,97,32,108,105,109,105,116,101,100,32,109,97,120,105,109,117,109,44,32,109,111,114,101,32,109,101,109,111,114,121,32,105,115,32,114,101,113,117,105,114,101,100,32,102,111,114,32,116,104,101,32,99,111,109,112,105,108,101,100,32,112,97,116,116,101,114,110,44,32,105,110,32,112,114,111,112,111,114,116,105,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,109,105,110,105,109,117,109,32,111,114,32,109,97,120,105,109,117,109,46>>]},{p,[],[<<73,102,32,97,32,112,97,116,116,101,114,110,32,115,116,97,114,116,115,32,119,105,116,104,32,46,42,32,111,114,32,46,123,48,44,125,32,97,110,100,32,111,112,116,105,111,110,32>>,{code,[],[<<100,111,116,97,108,108>>]},<<32,40,101,113,117,105,118,97,108,101,110,116,32,116,111,32,80,101,114,108,32,111,112,116,105,111,110,32>>,{code,[],[<<47,115>>]},<<41,32,105,115,32,115,101,116,44,32,116,104,117,115,32,97,108,108,111,119,105,110,103,32,116,104,101,32,100,111,116,32,116,111,32,109,97,116,99,104,32,110,101,119,108,105,110,101,115,44,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,105,109,112,108,105,99,105,116,108,121,32,97,110,99,104,111,114,101,100,44,32,98,101,99,97,117,115,101,32,119,104,97,116,101,118,101,114,32,102,111,108,108,111,119,115,32,105,115,32,116,114,105,101,100,32,97,103,97,105,110,115,116,32,101,118,101,114,121,32,99,104,97,114,97,99,116,101,114,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,83,111,44,32,116,104,101,114,101,32,105,115,32,110,111,32,112,111,105,110,116,32,105,110,32,114,101,116,114,121,105,110,103,32,116,104,101,32,111,118,101,114,97,108,108,32,109,97,116,99,104,32,97,116,32,97,110,121,32,112,111,115,105,116,105,111,110,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,46,32,80,67,82,69,32,110,111,114,109,97,108,108,121,32,116,114,101,97,116,115,32,115,117,99,104,32,97,32,112,97,116,116,101,114,110,32,97,115,32,105,102,32,105,116,32,119,97,115,32,112,114,101,99,101,100,101,100,32,98,121,32,92,65,46>>]},{p,[],[<<73,110,32,99,97,115,101,115,32,119,104,101,114,101,32,105,116,32,105,115,32,107,110,111,119,110,32,116,104,97,116,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,115,32,110,111,32,110,101,119,108,105,110,101,115,44,32,105,116,32,105,115,32,119,111,114,116,104,32,115,101,116,116,105,110,103,32>>,{code,[],[<<100,111,116,97,108,108>>]},<<32,116,111,32,111,98,116,97,105,110,32,116,104,105,115,32,111,112,116,105,109,105,122,97,116,105,111,110,44,32,111,114,32,97,108,116,101,114,110,97,116,105,118,101,108,121,32,117,115,105,110,103,32,94,32,116,111,32,105,110,100,105,99,97,116,101,32,97,110,99,104,111,114,105,110,103,32,101,120,112,108,105,99,105,116,108,121,46>>]},{p,[],[<<72,111,119,101,118,101,114,44,32,116,104,101,114,101,32,97,114,101,32,115,111,109,101,32,99,97,115,101,115,32,119,104,101,114,101,32,116,104,101,32,111,112,116,105,109,105,122,97,116,105,111,110,32,99,97,110,110,111,116,32,98,101,32,117,115,101,100,46,32,87,104,101,110,32,46,42,32,105,115,32,105,110,115,105,100,101,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,116,104,97,116,32,97,114,101,32,116,104,101,32,115,117,98,106,101,99,116,32,111,102,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,101,108,115,101,119,104,101,114,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,44,32,97,32,109,97,116,99,104,32,97,116,32,116,104,101,32,115,116,97,114,116,32,99,97,110,32,102,97,105,108,32,119,104,101,114,101,32,97,32,108,97,116,101,114,32,111,110,101,32,115,117,99,99,101,101,100,115,46,32,67,111,110,115,105,100,101,114,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,46,42,41,97,98,99,92,49>>]}]},{p,[],[<<73,102,32,116,104,101,32,115,117,98,106,101,99,116,32,105,115,32,34,120,121,122,49,50,51,97,98,99,49,50,51,34,44,32,116,104,101,32,109,97,116,99,104,32,112,111,105,110,116,32,105,115,32,116,104,101,32,102,111,117,114,116,104,32,99,104,97,114,97,99,116,101,114,46,32,84,104,101,114,101,102,111,114,101,44,32,115,117,99,104,32,97,32,112,97,116,116,101,114,110,32,105,115,32,110,111,116,32,105,109,112,108,105,99,105,116,108,121,32,97,110,99,104,111,114,101,100,46>>]},{p,[],[<<65,110,111,116,104,101,114,32,99,97,115,101,32,119,104,101,114,101,32,105,109,112,108,105,99,105,116,32,97,110,99,104,111,114,105,110,103,32,105,115,32,110,111,116,32,97,112,112,108,105,101,100,32,105,115,32,119,104,101,110,32,116,104,101,32,108,101,97,100,105,110,103,32,46,42,32,105,115,32,105,110,115,105,100,101,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,46,32,79,110,99,101,32,97,103,97,105,110,44,32,97,32,109,97,116,99,104,32,97,116,32,116,104,101,32,115,116,97,114,116,32,99,97,110,32,102,97,105,108,32,119,104,101,114,101,32,97,32,108,97,116,101,114,32,111,110,101,32,115,117,99,99,101,101,100,115,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[],[<<40,63,62,46,42,63,97,41,98>>]}]},{p,[],[<<73,116,32,109,97,116,99,104,101,115,32,34,97,98,34,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,34,97,97,98,34,46,32,84,104,101,32,117,115,101,32,111,102,32,116,104,101,32,98,97,99,107,116,114,97,99,107,105,110,103,32,99,111,110,116,114,111,108,32,118,101,114,98,115,32,40,42,80,82,85,78,69,41,32,97,110,100,32,40,42,83,75,73,80,41,32,97,108,115,111,32,100,105,115,97,98,108,101,32,116,104,105,115,32,111,112,116,105,109,105,122,97,116,105,111,110,46>>]},{p,[],[<<87,104,101,110,32,97,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,114,101,112,101,97,116,101,100,44,32,116,104,101,32,118,97,108,117,101,32,99,97,112,116,117,114,101,100,32,105,115,32,116,104,101,32,115,117,98,115,116,114,105,110,103,32,116,104,97,116,32,109,97,116,99,104,101,100,32,116,104,101,32,102,105,110,97,108,32,105,116,101,114,97,116,105,111,110,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,97,102,116,101,114>>]},{pre,[],[{code,[],[<<40,116,119,101,101,100,108,101,91,100,117,109,101,93,123,51,125,92,115,42,41,43>>]}]},{p,[],[<<104,97,115,32,109,97,116,99,104,101,100,32,34,116,119,101,101,100,108,101,100,117,109,32,116,119,101,101,100,108,101,100,101,101,34,44,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,32,105,115,32,34,116,119,101,101,100,108,101,100,101,101,34,46,32,72,111,119,101,118,101,114,44,32,105,102,32,116,104,101,114,101,32,97,114,101,32,110,101,115,116,101,100,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,44,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,99,97,112,116,117,114,101,100,32,118,97,108,117,101,115,32,99,97,110,32,104,97,118,101,32,98,101,101,110,32,115,101,116,32,105,110,32,112,114,101,118,105,111,117,115,32,105,116,101,114,97,116,105,111,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,97,102,116,101,114>>]},{pre,[],[{code,[],[<<47,40,97,124,40,98,41,41,43,47>>]}]},{p,[],[<<109,97,116,99,104,101,115,32,34,97,98,97,34,44,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,115,101,99,111,110,100,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,32,105,115,32,34,98,34,46>>]},{a,[{id,<<115,101,99,116,49,53>>}],[]},{h2,[],[<<65,116,111,109,105,99,32,71,114,111,117,112,105,110,103,32,97,110,100,32,80,111,115,115,101,115,115,105,118,101,32,81,117,97,110,116,105,102,105,101,114,115>>]},{p,[],[<<87,105,116,104,32,98,111,116,104,32,109,97,120,105,109,105,122,105,110,103,32,40,34,103,114,101,101,100,121,34,41,32,97,110,100,32,109,105,110,105,109,105,122,105,110,103,32,40,34,117,110,103,114,101,101,100,121,34,32,111,114,32,34,108,97,122,121,34,41,32,114,101,112,101,116,105,116,105,111,110,44,32,102,97,105,108,117,114,101,32,111,102,32,119,104,97,116,32,102,111,108,108,111,119,115,32,110,111,114,109,97,108,108,121,32,99,97,117,115,101,115,32,116,104,101,32,114,101,112,101,97,116,101,100,32,105,116,101,109,32,116,111,32,98,101,32,114,101,45,101,118,97,108,117,97,116,101,100,32,116,111,32,115,101,101,32,105,102,32,97,32,100,105,102,102,101,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,114,101,112,101,97,116,115,32,97,108,108,111,119,115,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,112,97,116,116,101,114,110,32,116,111,32,109,97,116,99,104,46,32,83,111,109,101,116,105,109,101,115,32,105,116,32,105,115,32,117,115,101,102,117,108,32,116,111,32,112,114,101,118,101,110,116,32,116,104,105,115,44,32,101,105,116,104,101,114,32,116,111,32,99,104,97,110,103,101,32,116,104,101,32,110,97,116,117,114,101,32,111,102,32,116,104,101,32,109,97,116,99,104,44,32,111,114,32,116,111,32,99,97,117,115,101,32,105,116,32,116,111,32,102,97,105,108,32,101,97,114,108,105,101,114,32,116,104,97,110,32,105,116,32,111,116,104,101,114,119,105,115,101,32,109,105,103,104,116,44,32,119,104,101,110,32,116,104,101,32,97,117,116,104,111,114,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,107,110,111,119,115,32,116,104,97,116,32,116,104,101,114,101,32,105,115,32,110,111,32,112,111,105,110,116,32,105,110,32,99,97,114,114,121,105,110,103,32,111,110,46>>]},{p,[],[<<67,111,110,115,105,100,101,114,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,112,97,116,116,101,114,110,32,92,100,43,102,111,111,32,119,104,101,110,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,117,98,106,101,99,116,32,108,105,110,101,58>>]},{pre,[],[{code,[],[<<49,50,51,52,53,54,98,97,114>>]}]},{p,[],[<<65,102,116,101,114,32,109,97,116,99,104,105,110,103,32,97,108,108,32,115,105,120,32,100,105,103,105,116,115,32,97,110,100,32,116,104,101,110,32,102,97,105,108,105,110,103,32,116,111,32,109,97,116,99,104,32,34,102,111,111,34,44,32,116,104,101,32,110,111,114,109,97,108,32,97,99,116,105,111,110,32,111,102,32,116,104,101,32,109,97,116,99,104,101,114,32,105,115,32,116,111,32,116,114,121,32,97,103,97,105,110,32,119,105,116,104,32,111,110,108,121,32,102,105,118,101,32,100,105,103,105,116,115,32,109,97,116,99,104,105,110,103,32,105,116,101,109,32,92,100,43,44,32,97,110,100,32,116,104,101,110,32,119,105,116,104,32,102,111,117,114,44,32,97,110,100,32,115,111,32,111,110,44,32,98,101,102,111,114,101,32,117,108,116,105,109,97,116,101,108,121,32,102,97,105,108,105,110,103,46,32,34,65,116,111,109,105,99,32,103,114,111,117,112,105,110,103,34,32,40,97,32,116,101,114,109,32,116,97,107,101,110,32,102,114,111,109,32,74,101,102,102,114,101,121,32,70,114,105,101,100,108,39,115,32,98,111,111,107,41,32,112,114,111,118,105,100,101,115,32,116,104,101,32,109,101,97,110,115,32,102,111,114,32,115,112,101,99,105,102,121,105,110,103,32,116,104,97,116,32,111,110,99,101,32,97,32,115,117,98,112,97,116,116,101,114,110,32,104,97,115,32,109,97,116,99,104,101,100,44,32,105,116,32,105,115,32,110,111,116,32,116,111,32,98,101,32,114,101,45,101,118,97,108,117,97,116,101,100,32,105,110,32,116,104,105,115,32,119,97,121,46>>]},{p,[],[<<73,102,32,97,116,111,109,105,99,32,103,114,111,117,112,105,110,103,32,105,115,32,117,115,101,100,32,102,111,114,32,116,104,101,32,112,114,101,118,105,111,117,115,32,101,120,97,109,112,108,101,44,32,116,104,101,32,109,97,116,99,104,101,114,32,103,105,118,101,115,32,117,112,32,105,109,109,101,100,105,97,116,101,108,121,32,111,110,32,102,97,105,108,105,110,103,32,116,111,32,109,97,116,99,104,32,34,102,111,111,34,32,116,104,101,32,102,105,114,115,116,32,116,105,109,101,46,32,84,104,101,32,110,111,116,97,116,105,111,110,32,105,115,32,97,32,107,105,110,100,32,111,102,32,115,112,101,99,105,97,108,32,112,97,114,101,110,116,104,101,115,105,115,44,32,115,116,97,114,116,105,110,103,32,119,105,116,104,32>>,{code,[],[<<40,63,62>>]},<<32,97,115,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,63,62,92,100,43,41,102,111,111>>]}]},{p,[],[<<84,104,105,115,32,107,105,110,100,32,111,102,32,112,97,114,101,110,116,104,101,115,105,115,32,34,108,111,99,107,115,32,117,112,34,32,116,104,101,32,112,97,114,116,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,116,32,99,111,110,116,97,105,110,115,32,111,110,99,101,32,105,116,32,104,97,115,32,109,97,116,99,104,101,100,44,32,97,110,100,32,97,32,102,97,105,108,117,114,101,32,102,117,114,116,104,101,114,32,105,110,116,111,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,112,114,101,118,101,110,116,101,100,32,102,114,111,109,32,98,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,105,116,46,32,66,97,99,107,116,114,97,99,107,105,110,103,32,112,97,115,116,32,105,116,32,116,111,32,112,114,101,118,105,111,117,115,32,105,116,101,109,115,44,32,104,111,119,101,118,101,114,44,32,119,111,114,107,115,32,97,115,32,110,111,114,109,97,108,46>>]},{p,[],[<<65,110,32,97,108,116,101,114,110,97,116,105,118,101,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,116,104,97,116,32,97,32,115,117,98,112,97,116,116,101,114,110,32,111,102,32,116,104,105,115,32,116,121,112,101,32,109,97,116,99,104,101,115,32,116,104,101,32,115,116,114,105,110,103,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,110,32,105,100,101,110,116,105,99,97,108,32,115,116,97,110,100,97,108,111,110,101,32,112,97,116,116,101,114,110,32,119,111,117,108,100,32,109,97,116,99,104,44,32,105,102,32,97,110,99,104,111,114,101,100,32,97,116,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,105,110,116,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46>>]},{p,[],[<<65,116,111,109,105,99,32,103,114,111,117,112,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,97,114,101,32,110,111,116,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,46,32,83,105,109,112,108,101,32,99,97,115,101,115,32,115,117,99,104,32,97,115,32,116,104,101,32,97,98,111,118,101,32,101,120,97,109,112,108,101,32,99,97,110,32,98,101,32,116,104,111,117,103,104,116,32,111,102,32,97,115,32,97,32,109,97,120,105,109,105,122,105,110,103,32,114,101,112,101,97,116,32,116,104,97,116,32,109,117,115,116,32,115,119,97,108,108,111,119,32,101,118,101,114,121,116,104,105,110,103,32,105,116,32,99,97,110,46,32,83,111,44,32,119,104,105,108,101,32,98,111,116,104,32,92,100,43,32,97,110,100,32,92,100,43,63,32,97,114,101,32,112,114,101,112,97,114,101,100,32,116,111,32,97,100,106,117,115,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,103,105,116,115,32,116,104,101,121,32,109,97,116,99,104,32,116,111,32,109,97,107,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,44,32>>,{code,[],[<<40,63,62,92,100,43,41>>]},<<32,99,97,110,32,111,110,108,121,32,109,97,116,99,104,32,97,110,32,101,110,116,105,114,101,32,115,101,113,117,101,110,99,101,32,111,102,32,100,105,103,105,116,115,46>>]},{p,[],[<<65,116,111,109,105,99,32,103,114,111,117,112,115,32,105,110,32,103,101,110,101,114,97,108,32,99,97,110,32,99,111,110,116,97,105,110,32,97,110,121,32,99,111,109,112,108,105,99,97,116,101,100,32,115,117,98,112,97,116,116,101,114,110,115,44,32,97,110,100,32,99,97,110,32,98,101,32,110,101,115,116,101,100,46,32,72,111,119,101,118,101,114,44,32,119,104,101,110,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,102,111,114,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,32,105,115,32,106,117,115,116,32,97,32,115,105,110,103,108,101,32,114,101,112,101,97,116,101,100,32,105,116,101,109,44,32,97,115,32,105,110,32,116,104,101,32,101,120,97,109,112,108,101,32,97,98,111,118,101,44,32,97,32,115,105,109,112,108,101,114,32,110,111,116,97,116,105,111,110,44,32,99,97,108,108,101,100,32,97,32,34,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,34,32,99,97,110,32,98,101,32,117,115,101,100,46,32,84,104,105,115,32,99,111,110,115,105,115,116,115,32,111,102,32,97,110,32,101,120,116,114,97,32,43,32,99,104,97,114,97,99,116,101,114,32,102,111,108,108,111,119,105,110,103,32,97,32,113,117,97,110,116,105,102,105,101,114,46,32,85,115,105,110,103,32,116,104,105,115,32,110,111,116,97,116,105,111,110,44,32,116,104,101,32,112,114,101,118,105,111,117,115,32,101,120,97,109,112,108,101,32,99,97,110,32,98,101,32,114,101,119,114,105,116,116,101,110,32,97,115>>]},{pre,[],[{code,[],[<<92,100,43,43,102,111,111>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,99,97,110,32,98,101,32,117,115,101,100,32,119,105,116,104,32,97,110,32,101,110,116,105,114,101,32,103,114,111,117,112,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,97,98,99,124,120,121,122,41,123,50,44,51,125,43>>]}]},{p,[],[<<80,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,115,32,97,114,101,32,97,108,119,97,121,115,32,103,114,101,101,100,121,59,32,116,104,101,32,115,101,116,116,105,110,103,32,111,102,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,103,114,101,101,100,121>>]},<<32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,121,32,97,114,101,32,97,32,99,111,110,118,101,110,105,101,110,116,32,110,111,116,97,116,105,111,110,32,102,111,114,32,116,104,101,32,115,105,109,112,108,101,114,32,102,111,114,109,115,32,111,102,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,46,32,72,111,119,101,118,101,114,44,32,116,104,101,114,101,32,105,115,32,110,111,32,100,105,102,102,101,114,101,110,99,101,32,105,110,32,116,104,101,32,109,101,97,110,105,110,103,32,111,102,32,97,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,97,110,100,32,116,104,101,32,101,113,117,105,118,97,108,101,110,116,32,97,116,111,109,105,99,32,103,114,111,117,112,44,32,98,117,116,32,116,104,101,114,101,32,99,97,110,32,98,101,32,97,32,112,101,114,102,111,114,109,97,110,99,101,32,100,105,102,102,101,114,101,110,99,101,59,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,115,32,97,114,101,32,112,114,111,98,97,98,108,121,32,115,108,105,103,104,116,108,121,32,102,97,115,116,101,114,46>>]},{p,[],[<<84,104,101,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,115,121,110,116,97,120,32,105,115,32,97,110,32,101,120,116,101,110,115,105,111,110,32,116,111,32,116,104,101,32,80,101,114,108,32,53,46,56,32,115,121,110,116,97,120,46,32,74,101,102,102,114,101,121,32,70,114,105,101,100,108,32,111,114,105,103,105,110,97,116,101,100,32,116,104,101,32,105,100,101,97,32,40,97,110,100,32,116,104,101,32,110,97,109,101,41,32,105,110,32,116,104,101,32,102,105,114,115,116,32,101,100,105,116,105,111,110,32,111,102,32,104,105,115,32,98,111,111,107,46,32,77,105,107,101,32,77,99,67,108,111,115,107,101,121,32,108,105,107,101,100,32,105,116,44,32,115,111,32,105,109,112,108,101,109,101,110,116,101,100,32,105,116,32,119,104,101,110,32,104,101,32,98,117,105,108,116,32,116,104,101,32,83,117,110,32,74,97,118,97,32,112,97,99,107,97,103,101,44,32,97,110,100,32,80,67,82,69,32,99,111,112,105,101,100,32,105,116,32,102,114,111,109,32,116,104,101,114,101,46,32,73,116,32,117,108,116,105,109,97,116,101,108,121,32,102,111,117,110,100,32,105,116,115,32,119,97,121,32,105,110,116,111,32,80,101,114,108,32,97,116,32,114,101,108,101,97,115,101,32,53,46,49,48,46>>]},{p,[],[<<80,67,82,69,32,104,97,115,32,97,110,32,111,112,116,105,109,105,122,97,116,105,111,110,32,116,104,97,116,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,34,112,111,115,115,101,115,115,105,102,105,101,115,34,32,99,101,114,116,97,105,110,32,115,105,109,112,108,101,32,112,97,116,116,101,114,110,32,99,111,110,115,116,114,117,99,116,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,115,101,113,117,101,110,99,101,32,65,43,66,32,105,115,32,116,114,101,97,116,101,100,32,97,115,32,65,43,43,66,44,32,97,115,32,116,104,101,114,101,32,105,115,32,110,111,32,112,111,105,110,116,32,105,110,32,98,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,65,58,115,32,119,104,101,110,32,66,32,109,117,115,116,32,102,111,108,108,111,119,46>>]},{p,[],[<<87,104,101,110,32,97,32,112,97,116,116,101,114,110,32,99,111,110,116,97,105,110,115,32,97,110,32,117,110,108,105,109,105,116,101,100,32,114,101,112,101,97,116,32,105,110,115,105,100,101,32,97,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,99,97,110,32,105,116,115,101,108,102,32,98,101,32,114,101,112,101,97,116,101,100,32,97,110,32,117,110,108,105,109,105,116,101,100,32,110,117,109,98,101,114,32,111,102,32,116,105,109,101,115,44,32,116,104,101,32,117,115,101,32,111,102,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,32,105,115,32,116,104,101,32,111,110,108,121,32,119,97,121,32,116,111,32,97,118,111,105,100,32,115,111,109,101,32,102,97,105,108,105,110,103,32,109,97,116,99,104,101,115,32,116,97,107,105,110,103,32,97,32,108,111,110,103,32,116,105,109,101,46,32,84,104,101,32,112,97,116,116,101,114,110>>]},{pre,[],[{code,[],[<<40,92,68,43,124,60,92,100,43,62,41,42,91,33,63,93>>]}]},{p,[],[<<109,97,116,99,104,101,115,32,97,110,32,117,110,108,105,109,105,116,101,100,32,110,117,109,98,101,114,32,111,102,32,115,117,98,115,116,114,105,110,103,115,32,116,104,97,116,32,101,105,116,104,101,114,32,99,111,110,115,105,115,116,32,111,102,32,110,111,110,45,100,105,103,105,116,115,44,32,111,114,32,100,105,103,105,116,115,32,101,110,99,108,111,115,101,100,32,105,110,32,60,62,44,32,102,111,108,108,111,119,101,100,32,98,121,32,33,32,111,114,32,63,46,32,87,104,101,110,32,105,116,32,109,97,116,99,104,101,115,44,32,105,116,32,114,117,110,115,32,113,117,105,99,107,108,121,46,32,72,111,119,101,118,101,114,44,32,105,102,32,105,116,32,105,115,32,97,112,112,108,105,101,100,32,116,111>>]},{pre,[],[{code,[],[<<97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97>>]}]},{p,[],[<<105,116,32,116,97,107,101,115,32,97,32,108,111,110,103,32,116,105,109,101,32,98,101,102,111,114,101,32,114,101,112,111,114,116,105,110,103,32,102,97,105,108,117,114,101,46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32,116,104,101,32,115,116,114,105,110,103,32,99,97,110,32,98,101,32,100,105,118,105,100,101,100,32,98,101,116,119,101,101,110,32,116,104,101,32,105,110,116,101,114,110,97,108,32,92,68,43,32,114,101,112,101,97,116,32,97,110,100,32,116,104,101,32,101,120,116,101,114,110,97,108,32,42,32,114,101,112,101,97,116,32,105,110,32,109,97,110,121,32,119,97,121,115,44,32,97,110,100,32,97,108,108,32,109,117,115,116,32,98,101,32,116,114,105,101,100,46,32,40,84,104,101,32,101,120,97,109,112,108,101,32,117,115,101,115,32,91,33,63,93,32,114,97,116,104,101,114,32,116,104,97,110,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,97,116,32,116,104,101,32,101,110,100,44,32,97,115,32,98,111,116,104,32,80,67,82,69,32,97,110,100,32,80,101,114,108,32,104,97,118,101,32,97,110,32,111,112,116,105,109,105,122,97,116,105,111,110,32,116,104,97,116,32,97,108,108,111,119,115,32,102,111,114,32,102,97,115,116,32,102,97,105,108,117,114,101,32,119,104,101,110,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,105,115,32,117,115,101,100,46,32,84,104,101,121,32,114,101,109,101,109,98,101,114,32,116,104,101,32,108,97,115,116,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,114,101,113,117,105,114,101,100,32,102,111,114,32,97,32,109,97,116,99,104,44,32,97,110,100,32,102,97,105,108,32,101,97,114,108,121,32,105,102,32,105,116,32,105,115,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,115,116,114,105,110,103,46,41,32,73,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,99,104,97,110,103,101,100,32,115,111,32,116,104,97,116,32,105,116,32,117,115,101,115,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,44,32,108,105,107,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,44,32,115,101,113,117,101,110,99,101,115,32,111,102,32,110,111,110,45,100,105,103,105,116,115,32,99,97,110,110,111,116,32,98,101,32,98,114,111,107,101,110,44,32,97,110,100,32,102,97,105,108,117,114,101,32,104,97,112,112,101,110,115,32,113,117,105,99,107,108,121,58>>]},{pre,[],[{code,[],[<<40,40,63,62,92,68,43,41,124,60,92,100,43,62,41,42,91,33,63,93>>]}]},{a,[{id,<<115,101,99,116,49,54>>}],[]},{h2,[],[<<66,97,99,107,32,82,101,102,101,114,101,110,99,101,115>>]},{p,[],[<<79,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,97,32,98,97,99,107,115,108,97,115,104,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,100,105,103,105,116,32,62,32,48,32,40,97,110,100,32,112,111,115,115,105,98,108,121,32,102,117,114,116,104,101,114,32,100,105,103,105,116,115,41,32,105,115,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,116,111,32,97,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,101,97,114,108,105,101,114,32,40,116,104,97,116,32,105,115,44,32,116,111,32,105,116,115,32,108,101,102,116,41,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,44,32,112,114,111,118,105,100,101,100,32,116,104,101,114,101,32,104,97,118,101,32,98,101,101,110,32,116,104,97,116,32,109,97,110,121,32,112,114,101,118,105,111,117,115,32,99,97,112,116,117,114,105,110,103,32,108,101,102,116,32,112,97,114,101,110,116,104,101,115,101,115,46>>]},{p,[],[<<72,111,119,101,118,101,114,44,32,105,102,32,116,104,101,32,100,101,99,105,109,97,108,32,110,117,109,98,101,114,32,102,111,108,108,111,119,105,110,103,32,116,104,101,32,98,97,99,107,115,108,97,115,104,32,105,115,32,60,32,49,48,44,32,105,116,32,105,115,32,97,108,119,97,121,115,32,116,97,107,101,110,32,97,115,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,44,32,97,110,100,32,99,97,117,115,101,115,32,97,110,32,101,114,114,111,114,32,111,110,108,121,32,105,102,32,116,104,101,114,101,32,97,114,101,32,110,111,116,32,116,104,97,116,32,109,97,110,121,32,99,97,112,116,117,114,105,110,103,32,108,101,102,116,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,116,104,101,32,101,110,116,105,114,101,32,112,97,116,116,101,114,110,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,116,104,97,116,32,97,114,101,32,114,101,102,101,114,101,110,99,101,100,32,100,111,32,110,101,101,100,32,110,111,116,32,98,101,32,116,111,32,116,104,101,32,108,101,102,116,32,111,102,32,116,104,101,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,110,117,109,98,101,114,115,32,60,32,49,48,46,32,65,32,34,102,111,114,119,97,114,100,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,34,32,111,102,32,116,104,105,115,32,116,121,112,101,32,99,97,110,32,109,97,107,101,32,115,101,110,115,101,32,119,104,101,110,32,97,32,114,101,112,101,116,105,116,105,111,110,32,105,115,32,105,110,118,111,108,118,101,100,32,97,110,100,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,116,111,32,116,104,101,32,114,105,103,104,116,32,104,97,115,32,112,97,114,116,105,99,105,112,97,116,101,100,32,105,110,32,97,110,32,101,97,114,108,105,101,114,32,105,116,101,114,97,116,105,111,110,46>>]},{p,[],[<<73,116,32,105,115,32,110,111,116,32,112,111,115,115,105,98,108,101,32,116,111,32,104,97,118,101,32,97,32,110,117,109,101,114,105,99,97,108,32,34,102,111,114,119,97,114,100,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,34,32,116,111,32,97,32,115,117,98,112,97,116,116,101,114,110,32,119,104,111,115,101,32,110,117,109,98,101,114,32,105,115,32,49,48,32,111,114,32,109,111,114,101,32,117,115,105,110,103,32,116,104,105,115,32,115,121,110,116,97,120,44,32,97,115,32,97,32,115,101,113,117,101,110,99,101,32,115,117,99,104,32,97,115,32,92,53,48,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,32,99,104,97,114,97,99,116,101,114,32,100,101,102,105,110,101,100,32,105,110,32,111,99,116,97,108,46,32,70,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,32,111,102,32,116,104,101,32,104,97,110,100,108,105,110,103,32,111,102,32,100,105,103,105,116,115,32,102,111,108,108,111,119,105,110,103,32,97,32,98,97,99,107,115,108,97,115,104,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,110,111,110,95,112,114,105,110,116,105,110,103,95,99,104,97,114,97,99,116,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<78,111,110,45,80,114,105,110,116,105,110,103,32,67,104,97,114,97,99,116,101,114,115>>]},<<32,101,97,114,108,105,101,114,46,32,84,104,101,114,101,32,105,115,32,110,111,32,115,117,99,104,32,112,114,111,98,108,101,109,32,119,104,101,110,32,110,97,109,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,117,115,101,100,46,32,65,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,116,111,32,97,110,121,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,112,111,115,115,105,98,108,101,32,117,115,105,110,103,32,110,97,109,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,40,115,101,101,32,98,101,108,111,119,41,46>>]},{p,[],[<<65,110,111,116,104,101,114,32,119,97,121,32,116,111,32,97,118,111,105,100,32,116,104,101,32,97,109,98,105,103,117,105,116,121,32,105,110,104,101,114,101,110,116,32,105,110,32,116,104,101,32,117,115,101,32,111,102,32,100,105,103,105,116,115,32,102,111,108,108,111,119,105,110,103,32,97,32,98,97,99,107,115,108,97,115,104,32,105,115,32,116,111,32,117,115,101,32,116,104,101,32,92,103,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,46,32,84,104,105,115,32,101,115,99,97,112,101,32,109,117,115,116,32,98,101,32,102,111,108,108,111,119,101,100,32,98,121,32,97,110,32,117,110,115,105,103,110,101,100,32,110,117,109,98,101,114,32,111,114,32,97,32,110,101,103,97,116,105,118,101,32,110,117,109,98,101,114,44,32,111,112,116,105,111,110,97,108,108,121,32,101,110,99,108,111,115,101,100,32,105,110,32,98,114,97,99,101,115,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,115,32,97,114,101,32,105,100,101,110,116,105,99,97,108,58>>]},{pre,[],[{code,[],[<<40,114,105,110,103,41,44,32,92,49,10,40,114,105,110,103,41,44,32,92,103,49,10,40,114,105,110,103,41,44,32,92,103,123,49,125>>]}]},{p,[],[<<65,110,32,117,110,115,105,103,110,101,100,32,110,117,109,98,101,114,32,115,112,101,99,105,102,105,101,115,32,97,110,32,97,98,115,111,108,117,116,101,32,114,101,102,101,114,101,110,99,101,32,119,105,116,104,111,117,116,32,116,104,101,32,97,109,98,105,103,117,105,116,121,32,116,104,97,116,32,105,115,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,111,108,100,101,114,32,115,121,110,116,97,120,46,32,73,116,32,105,115,32,97,108,115,111,32,117,115,101,102,117,108,32,119,104,101,110,32,108,105,116,101,114,97,108,32,100,105,103,105,116,115,32,102,111,108,108,111,119,32,116,104,101,32,114,101,102,101,114,101,110,99,101,46,32,65,32,110,101,103,97,116,105,118,101,32,110,117,109,98,101,114,32,105,115,32,97,32,114,101,108,97,116,105,118,101,32,114,101,102,101,114,101,110,99,101,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,97,98,99,40,100,101,102,41,103,104,105,41,92,103,123,45,49,125>>]}]},{p,[],[<<84,104,101,32,115,101,113,117,101,110,99,101,32,92,103,123,45,49,125,32,105,115,32,97,32,114,101,102,101,114,101,110,99,101,32,116,111,32,116,104,101,32,109,111,115,116,32,114,101,99,101,110,116,108,121,32,115,116,97,114,116,101,100,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,98,101,102,111,114,101,32,92,103,44,32,116,104,97,116,32,105,115,44,32,105,116,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,92,50,32,105,110,32,116,104,105,115,32,101,120,97,109,112,108,101,46,32,83,105,109,105,108,97,114,108,121,44,32,92,103,123,45,50,125,32,119,111,117,108,100,32,98,101,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,92,49,46,32,84,104,101,32,117,115,101,32,111,102,32,114,101,108,97,116,105,118,101,32,114,101,102,101,114,101,110,99,101,115,32,99,97,110,32,98,101,32,104,101,108,112,102,117,108,32,105,110,32,108,111,110,103,32,112,97,116,116,101,114,110,115,44,32,97,110,100,32,97,108,115,111,32,105,110,32,112,97,116,116,101,114,110,115,32,116,104,97,116,32,97,114,101,32,99,114,101,97,116,101,100,32,98,121,32,106,111,105,110,105,110,103,32,102,114,97,103,109,101,110,116,115,32,99,111,110,116,97,105,110,105,110,103,32,114,101,102,101,114,101,110,99,101,115,32,119,105,116,104,105,110,32,116,104,101,109,115,101,108,118,101,115,46>>]},{p,[],[<<65,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,109,97,116,99,104,101,115,32,119,104,97,116,101,118,101,114,32,109,97,116,99,104,101,100,32,116,104,101,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,105,110,32,116,104,101,32,99,117,114,114,101,110,116,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,114,97,116,104,101,114,32,116,104,97,110,32,97,110,121,116,104,105,110,103,32,109,97,116,99,104,105,110,103,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,105,116,115,101,108,102,32,40,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,50,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,117,98,112,97,116,116,101,114,110,32,97,115,32,83,117,98,114,111,117,116,105,110,101,115>>]},<<32,100,101,115,99,114,105,98,101,115,32,97,32,119,97,121,32,111,102,32,100,111,105,110,103,32,116,104,97,116,41,46,32,83,111,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,115,101,110,115,101,32,97,110,100,32,115,101,110,115,105,98,105,108,105,116,121,34,32,97,110,100,32,34,114,101,115,112,111,110,115,101,32,97,110,100,32,114,101,115,112,111,110,115,105,98,105,108,105,116,121,34,44,32,98,117,116,32,110,111,116,32,34,115,101,110,115,101,32,97,110,100,32,114,101,115,112,111,110,115,105,98,105,108,105,116,121,34,58>>]},{pre,[],[{code,[],[<<40,115,101,110,115,124,114,101,115,112,111,110,115,41,101,32,97,110,100,32,92,49,105,98,105,108,105,116,121>>]}]},{p,[],[<<73,102,32,99,97,115,101,102,117,108,32,109,97,116,99,104,105,110,103,32,105,115,32,105,110,32,102,111,114,99,101,32,97,116,32,116,104,101,32,116,105,109,101,32,111,102,32,116,104,101,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,44,32,116,104,101,32,99,97,115,101,32,111,102,32,108,101,116,116,101,114,115,32,105,115,32,114,101,108,101,118,97,110,116,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,34,114,97,104,32,114,97,104,34,32,97,110,100,32,34,82,65,72,32,82,65,72,34,44,32,98,117,116,32,110,111,116,32,34,82,65,72,32,114,97,104,34,44,32,97,108,116,104,111,117,103,104,32,116,104,101,32,111,114,105,103,105,110,97,108,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,109,97,116,99,104,101,100,32,99,97,115,101,108,101,115,115,108,121,58>>]},{pre,[],[{code,[],[<<40,40,63,105,41,114,97,104,41,92,115,43,92,49>>]}]},{p,[],[<<84,104,101,114,101,32,97,114,101,32,109,97,110,121,32,100,105,102,102,101,114,101,110,116,32,119,97,121,115,32,111,102,32,119,114,105,116,105,110,103,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,110,97,109,101,100,32,115,117,98,112,97,116,116,101,114,110,115,46,32,84,104,101,32,46,78,69,84,32,115,121,110,116,97,120,32>>,{code,[],[<<92,107,123,110,97,109,101,125>>]},<<32,97,110,100,32,116,104,101,32,80,101,114,108,32,115,121,110,116,97,120,32>>,{code,[],[<<92,107,60,110,97,109,101,62>>]},<<32,111,114,32>>,{code,[],[<<92,107,39,110,97,109,101,39>>]},<<32,97,114,101,32,115,117,112,112,111,114,116,101,100,44,32,97,115,32,105,115,32,116,104,101,32,80,121,116,104,111,110,32,115,121,110,116,97,120,32>>,{code,[],[<<40,63,80,61,110,97,109,101,41>>]},<<46,32,84,104,101,32,117,110,105,102,105,101,100,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,115,121,110,116,97,120,32,105,110,32,80,101,114,108,32,53,46,49,48,44,32,105,110,32,119,104,105,99,104,32,92,103,32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,32,98,111,116,104,32,110,117,109,101,114,105,99,32,97,110,100,32,110,97,109,101,100,32,114,101,102,101,114,101,110,99,101,115,44,32,105,115,32,97,108,115,111,32,115,117,112,112,111,114,116,101,100,46,32,84,104,101,32,112,114,101,118,105,111,117,115,32,101,120,97,109,112,108,101,32,99,97,110,32,98,101,32,114,101,119,114,105,116,116,101,110,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,119,97,121,115,58>>]},{pre,[],[{code,[],[<<40,63,60,112,49,62,40,63,105,41,114,97,104,41,92,115,43,92,107,60,112,49,62,10,40,63,39,112,49,39,40,63,105,41,114,97,104,41,92,115,43,92,107,123,112,49,125,10,40,63,80,60,112,49,62,40,63,105,41,114,97,104,41,92,115,43,40,63,80,61,112,49,41,10,40,63,60,112,49,62,40,63,105,41,114,97,104,41,92,115,43,92,103,123,112,49,125>>]}]},{p,[],[<<65,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,105,115,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32,110,97,109,101,32,99,97,110,32,97,112,112,101,97,114,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,98,101,102,111,114,101,32,111,114,32,97,102,116,101,114,32,116,104,101,32,114,101,102,101,114,101,110,99,101,46>>]},{p,[],[<<84,104,101,114,101,32,99,97,110,32,98,101,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,116,111,32,116,104,101,32,115,97,109,101,32,115,117,98,112,97,116,116,101,114,110,46,32,73,102,32,97,32,115,117,98,112,97,116,116,101,114,110,32,104,97,115,32,110,111,116,32,98,101,101,110,32,117,115,101,100,32,105,110,32,97,32,112,97,114,116,105,99,117,108,97,114,32,109,97,116,99,104,44,32,97,110,121,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,105,116,32,97,108,119,97,121,115,32,102,97,105,108,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,97,108,119,97,121,115,32,102,97,105,108,115,32,105,102,32,105,116,32,115,116,97,114,116,115,32,116,111,32,109,97,116,99,104,32,34,97,34,32,114,97,116,104,101,114,32,116,104,97,110,32,34,98,99,34,58>>]},{pre,[],[{code,[],[<<40,97,124,40,98,99,41,41,92,50>>]}]},{p,[],[<<65,115,32,116,104,101,114,101,32,99,97,110,32,98,101,32,109,97,110,121,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,97,108,108,32,100,105,103,105,116,115,32,102,111,108,108,111,119,105,110,103,32,116,104,101,32,98,97,99,107,115,108,97,115,104,32,97,114,101,32,116,97,107,101,110,32,97,115,32,112,97,114,116,32,111,102,32,97,32,112,111,116,101,110,116,105,97,108,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,110,117,109,98,101,114,46,32,73,102,32,116,104,101,32,112,97,116,116,101,114,110,32,99,111,110,116,105,110,117,101,115,32,119,105,116,104,32,97,32,100,105,103,105,116,32,99,104,97,114,97,99,116,101,114,44,32,115,111,109,101,32,100,101,108,105,109,105,116,101,114,32,109,117,115,116,32,98,101,32,117,115,101,100,32,116,111,32,116,101,114,109,105,110,97,116,101,32,116,104,101,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,46,32,73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]},<<32,105,115,32,115,101,116,44,32,116,104,105,115,32,99,97,110,32,98,101,32,119,104,105,116,101,115,112,97,99,101,46,32,79,116,104,101,114,119,105,115,101,32,97,110,32,101,109,112,116,121,32,99,111,109,109,101,110,116,32,40,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,57>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,111,109,109,101,110,116,115>>]},<<41,32,99,97,110,32,98,101,32,117,115,101,100,46>>]},{p,[],[{em,[],[<<82,101,99,117,114,115,105,118,101,32,66,97,99,107,32,82,101,102,101,114,101,110,99,101,115>>]}]},{p,[],[<<65,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,116,104,97,116,32,111,99,99,117,114,115,32,105,110,115,105,100,101,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,116,111,32,119,104,105,99,104,32,105,116,32,114,101,102,101,114,115,32,102,97,105,108,115,32,119,104,101,110,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,102,105,114,115,116,32,117,115,101,100,44,32,115,111,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,40,97,92,49,41,32,110,101,118,101,114,32,109,97,116,99,104,101,115,46,32,72,111,119,101,118,101,114,44,32,115,117,99,104,32,114,101,102,101,114,101,110,99,101,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,32,105,110,115,105,100,101,32,114,101,112,101,97,116,101,100,32,115,117,98,112,97,116,116,101,114,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,97,110,121,32,110,117,109,98,101,114,32,111,102,32,34,97,34,115,32,97,110,100,32,97,108,115,111,32,34,97,98,97,34,44,32,34,97,98,97,98,98,97,97,34,44,32,97,110,100,32,115,111,32,111,110,58>>]},{pre,[],[{code,[],[<<40,97,124,98,92,49,41,43>>]}]},{p,[],[<<65,116,32,101,97,99,104,32,105,116,101,114,97,116,105,111,110,32,111,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,44,32,116,104,101,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,109,97,116,99,104,101,115,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,115,116,114,105,110,103,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,112,114,101,118,105,111,117,115,32,105,116,101,114,97,116,105,111,110,46,32,73,110,32,111,114,100,101,114,32,102,111,114,32,116,104,105,115,32,116,111,32,119,111,114,107,44,32,116,104,101,32,112,97,116,116,101,114,110,32,109,117,115,116,32,98,101,32,115,117,99,104,32,116,104,97,116,32,116,104,101,32,102,105,114,115,116,32,105,116,101,114,97,116,105,111,110,32,100,111,101,115,32,110,111,116,32,110,101,101,100,32,116,111,32,109,97,116,99,104,32,116,104,101,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,46,32,84,104,105,115,32,99,97,110,32,98,101,32,100,111,110,101,32,117,115,105,110,103,32,97,108,116,101,114,110,97,116,105,111,110,44,32,97,115,32,105,110,32,116,104,101,32,101,120,97,109,112,108,101,32,97,98,111,118,101,44,32,111,114,32,98,121,32,97,32,113,117,97,110,116,105,102,105,101,114,32,119,105,116,104,32,97,32,109,105,110,105,109,117,109,32,111,102,32,122,101,114,111,46>>]},{p,[],[<<66,97,99,107,32,114,101,102,101,114,101,110,99,101,115,32,111,102,32,116,104,105,115,32,116,121,112,101,32,99,97,117,115,101,32,116,104,101,32,103,114,111,117,112,32,116,104,97,116,32,116,104,101,121,32,114,101,102,101,114,101,110,99,101,32,116,111,32,98,101,32,116,114,101,97,116,101,100,32,97,115,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,46,32,79,110,99,101,32,116,104,101,32,119,104,111,108,101,32,103,114,111,117,112,32,104,97,115,32,98,101,101,110,32,109,97,116,99,104,101,100,44,32,97,32,115,117,98,115,101,113,117,101,110,116,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,32,99,97,110,110,111,116,32,99,97,117,115,101,32,98,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,116,104,101,32,109,105,100,100,108,101,32,111,102,32,116,104,101,32,103,114,111,117,112,46>>]},{a,[{id,<<115,101,99,116,49,55>>}],[]},{h2,[],[<<65,115,115,101,114,116,105,111,110,115>>]},{p,[],[<<65,110,32,97,115,115,101,114,116,105,111,110,32,105,115,32,97,32,116,101,115,116,32,111,110,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,111,108,108,111,119,105,110,103,32,111,114,32,112,114,101,99,101,100,105,110,103,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,116,99,104,105,110,103,32,112,111,105,110,116,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,99,111,110,115,117,109,101,32,97,110,121,32,99,104,97,114,97,99,116,101,114,115,46,32,84,104,101,32,115,105,109,112,108,101,32,97,115,115,101,114,116,105,111,110,115,32,99,111,100,101,100,32,97,115,32,92,98,44,32,92,66,44,32,92,65,44,32,92,71,44,32,92,90,44,32,92,122,44,32,94,44,32,97,110,100,32,36,32,97,114,101,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,112,114,101,118,105,111,117,115,32,115,101,99,116,105,111,110,115,46>>]},{p,[],[<<77,111,114,101,32,99,111,109,112,108,105,99,97,116,101,100,32,97,115,115,101,114,116,105,111,110,115,32,97,114,101,32,99,111,100,101,100,32,97,115,32,115,117,98,112,97,116,116,101,114,110,115,46,32,84,104,101,114,101,32,97,114,101,32,116,119,111,32,107,105,110,100,115,58,32,116,104,111,115,101,32,116,104,97,116,32,108,111,111,107,32,97,104,101,97,100,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,97,110,100,32,116,104,111,115,101,32,116,104,97,116,32,108,111,111,107,32,98,101,104,105,110,100,32,105,116,46,32,65,110,32,97,115,115,101,114,116,105,111,110,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,109,97,116,99,104,101,100,32,105,110,32,116,104,101,32,110,111,114,109,97,108,32,119,97,121,44,32,101,120,99,101,112,116,32,116,104,97,116,32,105,116,32,100,111,101,115,32,110,111,116,32,99,97,117,115,101,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,116,99,104,105,110,103,32,112,111,115,105,116,105,111,110,32,116,111,32,98,101,32,99,104,97,110,103,101,100,46>>]},{p,[],[<<65,115,115,101,114,116,105,111,110,32,115,117,98,112,97,116,116,101,114,110,115,32,97,114,101,32,110,111,116,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,46,32,73,102,32,115,117,99,104,32,97,110,32,97,115,115,101,114,116,105,111,110,32,99,111,110,116,97,105,110,115,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,119,105,116,104,105,110,32,105,116,44,32,116,104,101,115,101,32,97,114,101,32,99,111,117,110,116,101,100,32,102,111,114,32,116,104,101,32,112,117,114,112,111,115,101,115,32,111,102,32,110,117,109,98,101,114,105,110,103,32,116,104,101,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,105,110,32,116,104,101,32,119,104,111,108,101,32,112,97,116,116,101,114,110,46,32,72,111,119,101,118,101,114,44,32,115,117,98,115,116,114,105,110,103,32,99,97,112,116,117,114,105,110,103,32,105,115,32,100,111,110,101,32,111,110,108,121,32,102,111,114,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,46,32,40,80,101,114,108,32,115,111,109,101,116,105,109,101,115,44,32,98,117,116,32,110,111,116,32,97,108,119,97,121,115,44,32,112,101,114,102,111,114,109,115,32,99,97,112,116,117,114,105,110,103,32,105,110,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,46,41>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<73,102,32,97,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,32,99,111,110,116,97,105,110,105,110,103,32,111,110,101,32,111,114,32,109,111,114,101,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,115,117,99,99,101,101,100,115,44,32,98,117,116,32,102,97,105,108,117,114,101,32,116,111,32,109,97,116,99,104,32,108,97,116,101,114,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,99,97,117,115,101,115,32,98,97,99,107,116,114,97,99,107,105,110,103,32,111,118,101,114,32,116,104,105,115,32,97,115,115,101,114,116,105,111,110,44,32,116,104,101,32,99,97,112,116,117,114,101,115,32,119,105,116,104,105,110,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,97,114,101,32,114,101,115,101,116,32,111,110,108,121,32,105,102,32,110,111,32,104,105,103,104,101,114,32,110,117,109,98,101,114,101,100,32,99,97,112,116,117,114,101,115,32,97,114,101,32,97,108,114,101,97,100,121,32,115,101,116,46,32,84,104,105,115,32,105,115,44,32,117,110,102,111,114,116,117,110,97,116,101,108,121,44,32,97,32,102,117,110,100,97,109,101,110,116,97,108,32,108,105,109,105,116,97,116,105,111,110,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,44,32,97,110,100,32,97,115,32,80,67,82,69,49,32,105,115,32,110,111,119,32,105,110,32,109,97,105,110,116,101,110,97,110,99,101,45,111,110,108,121,32,115,116,97,116,117,115,44,32,105,116,32,105,115,32,117,110,108,105,107,101,108,121,32,101,118,101,114,32,116,111,32,99,104,97,110,103,101,46>>]}]},{p,[],[<<70,111,114,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,119,105,116,104,32,80,101,114,108,44,32,97,115,115,101,114,116,105,111,110,32,115,117,98,112,97,116,116,101,114,110,115,32,99,97,110,32,98,101,32,114,101,112,101,97,116,101,100,46,32,72,111,119,101,118,101,114,44,32,105,116,32,109,97,107,101,115,32,110,111,32,115,101,110,115,101,32,116,111,32,97,115,115,101,114,116,32,116,104,101,32,115,97,109,101,32,116,104,105,110,103,32,109,97,110,121,32,116,105,109,101,115,44,32,116,104,101,32,115,105,100,101,32,101,102,102,101,99,116,32,111,102,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,99,97,110,32,111,99,99,97,115,105,111,110,97,108,108,121,32,98,101,32,117,115,101,102,117,108,46,32,73,110,32,112,114,97,99,116,105,99,101,44,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,116,104,114,101,101,32,99,97,115,101,115,58>>]},{ul,[],[{li,[],[{p,[],[<<73,102,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,32,105,115,32,123,48,125,44,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,105,115,32,110,101,118,101,114,32,111,98,101,121,101,100,32,100,117,114,105,110,103,32,109,97,116,99,104,105,110,103,46,32,72,111,119,101,118,101,114,44,32,105,116,32,99,97,110,32,99,111,110,116,97,105,110,32,105,110,116,101,114,110,97,108,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,105,122,101,100,32,103,114,111,117,112,115,32,116,104,97,116,32,97,114,101,32,99,97,108,108,101,100,32,102,114,111,109,32,101,108,115,101,119,104,101,114,101,32,116,104,114,111,117,103,104,32,116,104,101,32,115,117,98,114,111,117,116,105,110,101,32,109,101,99,104,97,110,105,115,109,46>>]}]},{li,[],[{p,[],[<<73,102,32,113,117,97,110,116,105,102,105,101,114,32,105,115,32,123,48,44,110,125,44,32,119,104,101,114,101,32,110,32,62,32,48,44,32,105,116,32,105,115,32,116,114,101,97,116,101,100,32,97,115,32,105,102,32,105,116,32,119,97,115,32,123,48,44,49,125,46,32,65,116,32,114,117,110,116,105,109,101,44,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,32,105,115,32,116,114,105,101,100,32,119,105,116,104,32,97,110,100,32,119,105,116,104,111,117,116,32,116,104,101,32,97,115,115,101,114,116,105,111,110,44,32,116,104,101,32,111,114,100,101,114,32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,103,114,101,101,100,105,110,101,115,115,32,111,102,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,46>>]}]},{li,[],[{p,[],[<<73,102,32,116,104,101,32,109,105,110,105,109,117,109,32,114,101,112,101,116,105,116,105,111,110,32,105,115,32,62,32,48,44,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,32,97,115,115,101,114,116,105,111,110,32,105,115,32,111,98,101,121,101,100,32,111,110,108,121,32,111,110,99,101,32,119,104,101,110,32,101,110,99,111,117,110,116,101,114,101,100,32,100,117,114,105,110,103,32,109,97,116,99,104,105,110,103,46>>]}]}]},{p,[],[{em,[],[<<76,111,111,107,97,104,101,97,100,32,65,115,115,101,114,116,105,111,110,115>>]}]},{p,[],[<<76,111,111,107,97,104,101,97,100,32,97,115,115,101,114,116,105,111,110,115,32,115,116,97,114,116,32,119,105,116,104,32,40,63,61,32,102,111,114,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,32,97,110,100,32,40,63,33,32,102,111,114,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,97,32,119,111,114,100,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,115,101,109,105,99,111,108,111,110,44,32,98,117,116,32,100,111,101,115,32,110,111,116,32,105,110,99,108,117,100,101,32,116,104,101,32,115,101,109,105,99,111,108,111,110,32,105,110,32,116,104,101,32,109,97,116,99,104,58>>]},{pre,[],[{code,[],[<<92,119,43,40,63,61,59,41>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,97,110,121,32,111,99,99,117,114,114,101,110,99,101,32,111,102,32,34,102,111,111,34,32,116,104,97,116,32,105,115,32,110,111,116,32,102,111,108,108,111,119,101,100,32,98,121,32,34,98,97,114,34,58>>]},{pre,[],[{code,[],[<<102,111,111,40,63,33,98,97,114,41>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,97,112,112,97,114,101,110,116,108,121,32,115,105,109,105,108,97,114,32,112,97,116,116,101,114,110>>]},{pre,[],[{code,[],[<<40,63,33,102,111,111,41,98,97,114>>]}]},{p,[],[<<100,111,101,115,32,110,111,116,32,102,105,110,100,32,97,110,32,111,99,99,117,114,114,101,110,99,101,32,111,102,32,34,98,97,114,34,32,116,104,97,116,32,105,115,32,112,114,101,99,101,100,101,100,32,98,121,32,115,111,109,101,116,104,105,110,103,32,111,116,104,101,114,32,116,104,97,110,32,34,102,111,111,34,46,32,73,116,32,102,105,110,100,115,32,97,110,121,32,111,99,99,117,114,114,101,110,99,101,32,111,102,32,34,98,97,114,34,32,119,104,97,116,115,111,101,118,101,114,44,32,97,115,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,40,63,33,102,111,111,41,32,105,115,32,97,108,119,97,121,115,32,116,114,117,101,32,119,104,101,110,32,116,104,101,32,110,101,120,116,32,116,104,114,101,101,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,34,98,97,114,34,46,32,65,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,32,105,115,32,110,101,101,100,101,100,32,116,111,32,97,99,104,105,101,118,101,32,116,104,101,32,111,116,104,101,114,32,101,102,102,101,99,116,46>>]},{p,[],[<<73,102,32,121,111,117,32,119,97,110,116,32,116,111,32,102,111,114,99,101,32,97,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,32,97,116,32,115,111,109,101,32,112,111,105,110,116,32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,116,104,101,32,109,111,115,116,32,99,111,110,118,101,110,105,101,110,116,32,119,97,121,32,116,111,32,100,111,32,105,116,32,105,115,32,119,105,116,104,32,40,63,33,41,44,32,97,115,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,32,97,108,119,97,121,115,32,109,97,116,99,104,101,115,46,32,83,111,44,32,97,110,32,97,115,115,101,114,116,105,111,110,32,116,104,97,116,32,114,101,113,117,105,114,101,115,32,116,104,101,114,101,32,105,115,32,110,111,116,32,116,111,32,98,101,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,32,109,117,115,116,32,97,108,119,97,121,115,32,102,97,105,108,46,32,84,104,101,32,98,97,99,107,116,114,97,99,107,105,110,103,32,99,111,110,116,114,111,108,32,118,101,114,98,32,40,42,70,65,73,76,41,32,111,114,32,40,42,70,41,32,105,115,32,97,32,115,121,110,111,110,121,109,32,102,111,114,32,40,63,33,41,46>>]},{p,[],[{em,[],[<<76,111,111,107,98,101,104,105,110,100,32,65,115,115,101,114,116,105,111,110,115>>]}]},{p,[],[<<76,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,115,32,115,116,97,114,116,32,119,105,116,104,32,40,63,60,61,32,102,111,114,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,32,97,110,100,32,40,63,60,33,32,102,111,114,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,105,110,100,115,32,97,110,32,111,99,99,117,114,114,101,110,99,101,32,111,102,32,34,98,97,114,34,32,116,104,97,116,32,105,115,32,110,111,116,32,112,114,101,99,101,100,101,100,32,98,121,32,34,102,111,111,34,58>>]},{pre,[],[{code,[],[<<40,63,60,33,102,111,111,41,98,97,114>>]}]},{p,[],[<<84,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32,97,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,32,97,114,101,32,114,101,115,116,114,105,99,116,101,100,32,115,117,99,104,32,116,104,97,116,32,97,108,108,32,116,104,101,32,115,116,114,105,110,103,115,32,105,116,32,109,97,116,99,104,101,115,32,109,117,115,116,32,104,97,118,101,32,97,32,102,105,120,101,100,32,108,101,110,103,116,104,46,32,72,111,119,101,118,101,114,44,32,105,102,32,116,104,101,114,101,32,97,114,101,32,109,97,110,121,32,116,111,112,45,108,101,118,101,108,32,97,108,116,101,114,110,97,116,105,118,101,115,44,32,116,104,101,121,32,100,111,32,110,111,116,32,97,108,108,32,104,97,118,101,32,116,111,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,102,105,120,101,100,32,108,101,110,103,116,104,46,32,84,104,117,115,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,105,115,32,112,101,114,109,105,116,116,101,100,58>>]},{pre,[],[{code,[],[<<40,63,60,61,98,117,108,108,111,99,107,124,100,111,110,107,101,121,41>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,97,117,115,101,115,32,97,110,32,101,114,114,111,114,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,58>>]},{pre,[],[{code,[],[<<40,63,60,33,100,111,103,115,63,124,99,97,116,115,63,41>>]}]},{p,[],[<<66,114,97,110,99,104,101,115,32,116,104,97,116,32,109,97,116,99,104,32,100,105,102,102,101,114,101,110,116,32,108,101,110,103,116,104,32,115,116,114,105,110,103,115,32,97,114,101,32,112,101,114,109,105,116,116,101,100,32,111,110,108,121,32,97,116,32,116,104,101,32,116,111,112,45,108,101,118,101,108,32,111,102,32,97,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,46,32,84,104,105,115,32,105,115,32,97,110,32,101,120,116,101,110,115,105,111,110,32,99,111,109,112,97,114,101,100,32,119,105,116,104,32,80,101,114,108,44,32,119,104,105,99,104,32,114,101,113,117,105,114,101,115,32,97,108,108,32,98,114,97,110,99,104,101,115,32,116,111,32,109,97,116,99,104,32,116,104,101,32,115,97,109,101,32,108,101,110,103,116,104,32,111,102,32,115,116,114,105,110,103,46,32,65,110,32,97,115,115,101,114,116,105,111,110,32,115,117,99,104,32,97,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,105,115,32,110,111,116,32,112,101,114,109,105,116,116,101,100,44,32,97,115,32,105,116,115,32,115,105,110,103,108,101,32,116,111,112,45,108,101,118,101,108,32,98,114,97,110,99,104,32,99,97,110,32,109,97,116,99,104,32,116,119,111,32,100,105,102,102,101,114,101,110,116,32,108,101,110,103,116,104,115,58>>]},{pre,[],[{code,[],[<<40,63,60,61,97,98,40,99,124,100,101,41,41>>]}]},{p,[],[<<72,111,119,101,118,101,114,44,32,105,116,32,105,115,32,97,99,99,101,112,116,97,98,108,101,32,116,111,32,80,67,82,69,32,105,102,32,114,101,119,114,105,116,116,101,110,32,116,111,32,117,115,101,32,116,119,111,32,116,111,112,45,108,101,118,101,108,32,98,114,97,110,99,104,101,115,58>>]},{pre,[],[{code,[],[<<40,63,60,61,97,98,99,124,97,98,100,101,41>>]}]},{p,[],[<<83,111,109,101,116,105,109,101,115,32,116,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,92,75,32,40,115,101,101,32,97,98,111,118,101,41,32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,115,116,101,97,100,32,111,102,32,97,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,32,116,111,32,103,101,116,32,114,111,117,110,100,32,116,104,101,32,102,105,120,101,100,45,108,101,110,103,116,104,32,114,101,115,116,114,105,99,116,105,111,110,46>>]},{p,[],[<<84,104,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,115,32,105,115,44,32,102,111,114,32,101,97,99,104,32,97,108,116,101,114,110,97,116,105,118,101,44,32,116,111,32,109,111,118,101,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,32,98,97,99,107,32,116,101,109,112,111,114,97,114,105,108,121,32,98,121,32,116,104,101,32,102,105,120,101,100,32,108,101,110,103,116,104,32,97,110,100,32,116,104,101,110,32,116,114,121,32,116,111,32,109,97,116,99,104,46,32,73,102,32,116,104,101,114,101,32,97,114,101,32,105,110,115,117,102,102,105,99,105,101,110,116,32,99,104,97,114,97,99,116,101,114,115,32,98,101,102,111,114,101,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,44,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,102,97,105,108,115,46>>]},{p,[],[<<73,110,32,97,32,85,84,70,32,109,111,100,101,44,32,80,67,82,69,32,100,111,101,115,32,110,111,116,32,97,108,108,111,119,32,116,104,101,32,92,67,32,101,115,99,97,112,101,32,40,119,104,105,99,104,32,109,97,116,99,104,101,115,32,97,32,115,105,110,103,108,101,32,100,97,116,97,32,117,110,105,116,32,101,118,101,110,32,105,110,32,97,32,85,84,70,32,109,111,100,101,41,32,116,111,32,97,112,112,101,97,114,32,105,110,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,115,44,32,97,115,32,105,116,32,109,97,107,101,115,32,105,116,32,105,109,112,111,115,115,105,98,108,101,32,116,111,32,99,97,108,99,117,108,97,116,101,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,108,111,111,107,98,101,104,105,110,100,46,32,84,104,101,32,92,88,32,97,110,100,32,92,82,32,101,115,99,97,112,101,115,44,32,119,104,105,99,104,32,99,97,110,32,109,97,116,99,104,32,100,105,102,102,101,114,101,110,116,32,110,117,109,98,101,114,115,32,111,102,32,100,97,116,97,32,117,110,105,116,115,44,32,97,114,101,32,110,111,116,32,112,101,114,109,105,116,116,101,100,32,101,105,116,104,101,114,46>>]},{p,[],[<<34,83,117,98,114,111,117,116,105,110,101,34,32,99,97,108,108,115,32,40,115,101,101,32,98,101,108,111,119,41,44,32,115,117,99,104,32,97,115,32,40,63,50,41,32,111,114,32,40,63,38,88,41,44,32,97,114,101,32,112,101,114,109,105,116,116,101,100,32,105,110,32,108,111,111,107,98,101,104,105,110,100,115,44,32,97,115,32,108,111,110,103,32,97,115,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,97,32,102,105,120,101,100,45,108,101,110,103,116,104,32,115,116,114,105,110,103,46,32,82,101,99,117,114,115,105,111,110,44,32,104,111,119,101,118,101,114,44,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46>>]},{p,[],[<<80,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,115,32,99,97,110,32,98,101,32,117,115,101,100,32,119,105,116,104,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,115,32,116,111,32,115,112,101,99,105,102,121,32,101,102,102,105,99,105,101,110,116,32,109,97,116,99,104,105,110,103,32,111,102,32,102,105,120,101,100,45,108,101,110,103,116,104,32,115,116,114,105,110,103,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,115,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,105,109,112,108,101,32,112,97,116,116,101,114,110,32,119,104,101,110,32,97,112,112,108,105,101,100,32,116,111,32,97,32,108,111,110,103,32,115,116,114,105,110,103,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,58>>]},{pre,[],[{code,[],[<<97,98,99,100,36>>]}]},{p,[],[<<65,115,32,109,97,116,99,104,105,110,103,32,112,114,111,99,101,101,100,115,32,102,114,111,109,32,108,101,102,116,32,116,111,32,114,105,103,104,116,44,32,80,67,82,69,32,108,111,111,107,115,32,102,111,114,32,101,97,99,104,32,34,97,34,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,97,110,100,32,116,104,101,110,32,115,101,101,115,32,105,102,32,119,104,97,116,32,102,111,108,108,111,119,115,32,109,97,116,99,104,101,115,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,112,97,116,116,101,114,110,46,32,73,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115>>]},{pre,[],[{code,[],[<<94,46,42,97,98,99,100,36>>]}]},{p,[],[<<116,104,101,32,105,110,105,116,105,97,108,32,46,42,32,109,97,116,99,104,101,115,32,116,104,101,32,101,110,116,105,114,101,32,115,116,114,105,110,103,32,97,116,32,102,105,114,115,116,46,32,72,111,119,101,118,101,114,44,32,119,104,101,110,32,116,104,105,115,32,102,97,105,108,115,32,40,97,115,32,116,104,101,114,101,32,105,115,32,110,111,32,102,111,108,108,111,119,105,110,103,32,34,97,34,41,44,32,105,116,32,98,97,99,107,116,114,97,99,107,115,32,116,111,32,109,97,116,99,104,32,97,108,108,32,98,117,116,32,116,104,101,32,108,97,115,116,32,99,104,97,114,97,99,116,101,114,44,32,116,104,101,110,32,97,108,108,32,98,117,116,32,116,104,101,32,108,97,115,116,32,116,119,111,32,99,104,97,114,97,99,116,101,114,115,44,32,97,110,100,32,115,111,32,111,110,46,32,79,110,99,101,32,97,103,97,105,110,32,116,104,101,32,115,101,97,114,99,104,32,102,111,114,32,34,97,34,32,99,111,118,101,114,115,32,116,104,101,32,101,110,116,105,114,101,32,115,116,114,105,110,103,44,32,102,114,111,109,32,114,105,103,104,116,32,116,111,32,108,101,102,116,44,32,115,111,32,119,101,32,97,114,101,32,110,111,32,98,101,116,116,101,114,32,111,102,102,46,32,72,111,119,101,118,101,114,44,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,119,114,105,116,116,101,110,32,97,115>>]},{pre,[],[{code,[],[<<94,46,42,43,40,63,60,61,97,98,99,100,41>>]}]},{p,[],[<<116,104,101,114,101,32,99,97,110,32,98,101,32,110,111,32,98,97,99,107,116,114,97,99,107,105,110,103,32,102,111,114,32,116,104,101,32,46,42,43,32,105,116,101,109,59,32,105,116,32,99,97,110,32,109,97,116,99,104,32,111,110,108,121,32,116,104,101,32,101,110,116,105,114,101,32,115,116,114,105,110,103,46,32,84,104,101,32,115,117,98,115,101,113,117,101,110,116,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,32,100,111,101,115,32,97,32,115,105,110,103,108,101,32,116,101,115,116,32,111,110,32,116,104,101,32,108,97,115,116,32,102,111,117,114,32,99,104,97,114,97,99,116,101,114,115,46,32,73,102,32,105,116,32,102,97,105,108,115,44,32,116,104,101,32,109,97,116,99,104,32,102,97,105,108,115,32,105,109,109,101,100,105,97,116,101,108,121,46,32,70,111,114,32,108,111,110,103,32,115,116,114,105,110,103,115,44,32,116,104,105,115,32,97,112,112,114,111,97,99,104,32,109,97,107,101,115,32,97,32,115,105,103,110,105,102,105,99,97,110,116,32,100,105,102,102,101,114,101,110,99,101,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,105,110,103,32,116,105,109,101,46>>]},{p,[],[{em,[],[<<85,115,105,110,103,32,77,117,108,116,105,112,108,101,32,65,115,115,101,114,116,105,111,110,115>>]}]},{p,[],[<<77,97,110,121,32,97,115,115,101,114,116,105,111,110,115,32,40,111,102,32,97,110,121,32,115,111,114,116,41,32,99,97,110,32,111,99,99,117,114,32,105,110,32,115,117,99,99,101,115,115,105,111,110,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,34,102,111,111,34,32,112,114,101,99,101,100,101,100,32,98,121,32,116,104,114,101,101,32,100,105,103,105,116,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,34,57,57,57,34,58>>]},{pre,[],[{code,[],[<<40,63,60,61,92,100,123,51,125,41,40,63,60,33,57,57,57,41,102,111,111>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,101,97,99,104,32,111,102,32,116,104,101,32,97,115,115,101,114,116,105,111,110,115,32,105,115,32,97,112,112,108,105,101,100,32,105,110,100,101,112,101,110,100,101,110,116,108,121,32,97,116,32,116,104,101,32,115,97,109,101,32,112,111,105,110,116,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,70,105,114,115,116,32,116,104,101,114,101,32,105,115,32,97,32,99,104,101,99,107,32,116,104,97,116,32,116,104,101,32,112,114,101,118,105,111,117,115,32,116,104,114,101,101,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,97,108,108,32,100,105,103,105,116,115,44,32,97,110,100,32,116,104,101,110,32,116,104,101,114,101,32,105,115,32,97,32,99,104,101,99,107,32,116,104,97,116,32,116,104,101,32,115,97,109,101,32,116,104,114,101,101,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,110,111,116,32,34,57,57,57,34,46,32,84,104,105,115,32,112,97,116,116,101,114,110,32,100,111,101,115,32>>,{em,[],[<<110,111,116>>]},<<32,109,97,116,99,104,32,34,102,111,111,34,32,112,114,101,99,101,100,101,100,32,98,121,32,115,105,120,32,99,104,97,114,97,99,116,101,114,115,44,32,116,104,101,32,102,105,114,115,116,32,111,102,32,119,104,105,99,104,32,97,114,101,32,100,105,103,105,116,115,32,97,110,100,32,116,104,101,32,108,97,115,116,32,116,104,114,101,101,32,111,102,32,119,104,105,99,104,32,97,114,101,32,110,111,116,32,34,57,57,57,34,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,34,49,50,51,97,98,99,102,111,111,34,46,32,65,32,112,97,116,116,101,114,110,32,116,111,32,100,111,32,116,104,97,116,32,105,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{pre,[],[{code,[],[<<40,63,60,61,92,100,123,51,125,46,46,46,41,40,63,60,33,57,57,57,41,102,111,111>>]}]},{p,[],[<<84,104,105,115,32,116,105,109,101,32,116,104,101,32,102,105,114,115,116,32,97,115,115,101,114,116,105,111,110,32,108,111,111,107,115,32,97,116,32,116,104,101,32,112,114,101,99,101,100,105,110,103,32,115,105,120,32,99,104,97,114,97,99,116,101,114,115,44,32,99,104,101,99,107,115,32,116,104,97,116,32,116,104,101,32,102,105,114,115,116,32,116,104,114,101,101,32,97,114,101,32,100,105,103,105,116,115,44,32,97,110,100,32,116,104,101,110,32,116,104,101,32,115,101,99,111,110,100,32,97,115,115,101,114,116,105,111,110,32,99,104,101,99,107,115,32,116,104,97,116,32,116,104,101,32,112,114,101,99,101,100,105,110,103,32,116,104,114,101,101,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,110,111,116,32,34,57,57,57,34,46>>]},{p,[],[<<65,115,115,101,114,116,105,111,110,115,32,99,97,110,32,98,101,32,110,101,115,116,101,100,32,105,110,32,97,110,121,32,99,111,109,98,105,110,97,116,105,111,110,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,97,110,32,111,99,99,117,114,114,101,110,99,101,32,111,102,32,34,98,97,122,34,32,116,104,97,116,32,105,115,32,112,114,101,99,101,100,101,100,32,98,121,32,34,98,97,114,34,44,32,119,104,105,99,104,32,105,110,32,116,117,114,110,32,105,115,32,110,111,116,32,112,114,101,99,101,100,101,100,32,98,121,32,34,102,111,111,34,58>>]},{pre,[],[{code,[],[<<40,63,60,61,40,63,60,33,102,111,111,41,98,97,114,41,98,97,122>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,102,111,111,34,32,112,114,101,99,101,100,101,100,32,98,121,32,116,104,114,101,101,32,100,105,103,105,116,115,32,97,110,100,32,97,110,121,32,116,104,114,101,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,34,57,57,57,34,58>>]},{pre,[],[{code,[],[<<40,63,60,61,92,100,123,51,125,40,63,33,57,57,57,41,46,46,46,41,102,111,111>>]}]},{a,[{id,<<115,101,99,116,49,56>>}],[]},{h2,[],[<<67,111,110,100,105,116,105,111,110,97,108,32,83,117,98,112,97,116,116,101,114,110,115>>]},{p,[],[<<73,116,32,105,115,32,112,111,115,115,105,98,108,101,32,116,111,32,99,97,117,115,101,32,116,104,101,32,109,97,116,99,104,105,110,103,32,112,114,111,99,101,115,115,32,116,111,32,111,98,101,121,32,97,32,115,117,98,112,97,116,116,101,114,110,32,99,111,110,100,105,116,105,111,110,97,108,108,121,32,111,114,32,116,111,32,99,104,111,111,115,101,32,98,101,116,119,101,101,110,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,32,115,117,98,112,97,116,116,101,114,110,115,44,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,110,32,97,115,115,101,114,116,105,111,110,44,32,111,114,32,119,104,101,116,104,101,114,32,97,32,115,112,101,99,105,102,105,99,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,104,97,115,32,97,108,114,101,97,100,121,32,98,101,101,110,32,109,97,116,99,104,101,100,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,116,119,111,32,112,111,115,115,105,98,108,101,32,102,111,114,109,115,32,111,102,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[],[<<40,63,40,99,111,110,100,105,116,105,111,110,41,121,101,115,45,112,97,116,116,101,114,110,41,10,40,63,40,99,111,110,100,105,116,105,111,110,41,121,101,115,45,112,97,116,116,101,114,110,124,110,111,45,112,97,116,116,101,114,110,41>>]}]},{p,[],[<<73,102,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,115,97,116,105,115,102,105,101,100,44,32,116,104,101,32,121,101,115,45,112,97,116,116,101,114,110,32,105,115,32,117,115,101,100,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,110,111,45,112,97,116,116,101,114,110,32,40,105,102,32,112,114,101,115,101,110,116,41,46,32,73,102,32,109,111,114,101,32,116,104,97,110,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,115,32,101,120,105,115,116,32,105,110,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,44,32,97,32,99,111,109,112,105,108,101,45,116,105,109,101,32,101,114,114,111,114,32,111,99,99,117,114,115,46,32,69,97,99,104,32,111,102,32,116,104,101,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,115,32,99,97,110,32,105,116,115,101,108,102,32,99,111,110,116,97,105,110,32,110,101,115,116,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,111,102,32,97,110,121,32,102,111,114,109,44,32,105,110,99,108,117,100,105,110,103,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,115,59,32,116,104,101,32,114,101,115,116,114,105,99,116,105,111,110,32,116,111,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,112,112,108,105,101,115,32,111,110,108,121,32,97,116,32,116,104,101,32,108,101,118,101,108,32,111,102,32,116,104,101,32,99,111,110,100,105,116,105,111,110,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,102,114,97,103,109,101,110,116,32,105,115,32,97,110,32,101,120,97,109,112,108,101,32,119,104,101,114,101,32,116,104,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,114,101,32,99,111,109,112,108,101,120,58>>]},{pre,[],[{code,[],[<<40,63,40,49,41,32,40,65,124,66,124,67,41,32,124,32,40,68,32,124,32,40,63,40,50,41,69,124,70,41,32,124,32,69,41,32,41>>]}]},{p,[],[<<84,104,101,114,101,32,97,114,101,32,102,111,117,114,32,107,105,110,100,115,32,111,102,32,99,111,110,100,105,116,105,111,110,58,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,115,117,98,112,97,116,116,101,114,110,115,44,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,111,110,44,32,97,32,112,115,101,117,100,111,45,99,111,110,100,105,116,105,111,110,32,99,97,108,108,101,100,32,68,69,70,73,78,69,44,32,97,110,100,32,97,115,115,101,114,116,105,111,110,115,46>>]},{p,[],[{em,[],[<<67,104,101,99,107,105,110,103,32,102,111,114,32,97,32,85,115,101,100,32,83,117,98,112,97,116,116,101,114,110,32,66,121,32,78,117,109,98,101,114>>]}]},{p,[],[<<73,102,32,116,104,101,32,116,101,120,116,32,98,101,116,119,101,101,110,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,99,111,110,115,105,115,116,115,32,111,102,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,100,105,103,105,116,115,44,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,116,114,117,101,32,105,102,32,97,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,111,102,32,116,104,97,116,32,110,117,109,98,101,114,32,104,97,115,32,112,114,101,118,105,111,117,115,108,121,32,109,97,116,99,104,101,100,46,32,73,102,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,101,120,105,115,116,115,32,40,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<68,117,112,108,105,99,97,116,101,32,83,117,98,112,97,116,116,101,114,110,32,78,117,109,98,101,114,115>>]},<<32,101,97,114,108,105,101,114,41,44,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,116,114,117,101,32,105,102,32,97,110,121,32,111,102,32,116,104,101,109,32,104,97,118,101,32,109,97,116,99,104,101,100,46,32,65,110,32,97,108,116,101,114,110,97,116,105,118,101,32,110,111,116,97,116,105,111,110,32,105,115,32,116,111,32,112,114,101,99,101,100,101,32,116,104,101,32,100,105,103,105,116,115,32,119,105,116,104,32,97,32,112,108,117,115,32,111,114,32,109,105,110,117,115,32,115,105,103,110,46,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,110,117,109,98,101,114,32,105,115,32,114,101,108,97,116,105,118,101,32,114,97,116,104,101,114,32,116,104,97,110,32,97,98,115,111,108,117,116,101,46,32,84,104,101,32,109,111,115,116,32,114,101,99,101,110,116,108,121,32,111,112,101,110,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,99,97,110,32,98,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32,40,63,40,45,49,41,44,32,116,104,101,32,110,101,120,116,32,109,111,115,116,32,114,101,99,101,110,116,32,98,121,32,40,63,40,45,50,41,44,32,97,110,100,32,115,111,32,111,110,46,32,73,110,115,105,100,101,32,108,111,111,112,115,44,32,105,116,32,99,97,110,32,97,108,115,111,32,109,97,107,101,32,115,101,110,115,101,32,116,111,32,114,101,102,101,114,32,116,111,32,115,117,98,115,101,113,117,101,110,116,32,103,114,111,117,112,115,46,32,84,104,101,32,110,101,120,116,32,112,97,114,101,110,116,104,101,115,101,115,32,116,111,32,98,101,32,111,112,101,110,101,100,32,99,97,110,32,98,101,32,114,101,102,101,114,101,110,99,101,100,32,97,115,32,40,63,40,43,49,41,44,32,97,110,100,32,115,111,32,111,110,46,32,40,84,104,101,32,118,97,108,117,101,32,122,101,114,111,32,105,110,32,97,110,121,32,111,102,32,116,104,101,115,101,32,102,111,114,109,115,32,105,115,32,110,111,116,32,117,115,101,100,59,32,105,116,32,112,114,111,118,111,107,101,115,32,97,32,99,111,109,112,105,108,101,45,116,105,109,101,32,101,114,114,111,114,46,41>>]},{p,[],[<<67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,119,104,105,99,104,32,99,111,110,116,97,105,110,115,32,110,111,110,45,115,105,103,110,105,102,105,99,97,110,116,32,119,104,105,116,101,115,112,97,99,101,32,116,111,32,109,97,107,101,32,105,116,32,109,111,114,101,32,114,101,97,100,97,98,108,101,32,40,97,115,115,117,109,101,32,111,112,116,105,111,110,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]},<<41,32,97,110,100,32,116,111,32,100,105,118,105,100,101,32,105,116,32,105,110,116,111,32,116,104,114,101,101,32,112,97,114,116,115,32,102,111,114,32,101,97,115,101,32,111,102,32,100,105,115,99,117,115,115,105,111,110,58>>]},{pre,[],[{code,[],[<<40,32,92,40,32,41,63,32,32,32,32,91,94,40,41,93,43,32,32,32,32,40,63,40,49,41,32,92,41,32,41>>]}]},{p,[],[<<84,104,101,32,102,105,114,115,116,32,112,97,114,116,32,109,97,116,99,104,101,115,32,97,110,32,111,112,116,105,111,110,97,108,32,111,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,44,32,97,110,100,32,105,102,32,116,104,97,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,112,114,101,115,101,110,116,44,32,115,101,116,115,32,105,116,32,97,115,32,116,104,101,32,102,105,114,115,116,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,46,32,84,104,101,32,115,101,99,111,110,100,32,112,97,114,116,32,109,97,116,99,104,101,115,32,111,110,101,32,111,114,32,109,111,114,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,112,97,114,101,110,116,104,101,115,101,115,46,32,84,104,101,32,116,104,105,114,100,32,112,97,114,116,32,105,115,32,97,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,116,101,115,116,115,32,119,104,101,116,104,101,114,32,116,104,101,32,102,105,114,115,116,32,115,101,116,32,111,102,32,112,97,114,101,110,116,104,101,115,101,115,32,109,97,116,99,104,101,100,32,111,114,32,110,111,116,46,32,73,102,32,116,104,101,121,32,100,105,100,44,32,116,104,97,116,32,105,115,44,32,105,102,32,115,117,98,106,101,99,116,32,115,116,97,114,116,101,100,32,119,105,116,104,32,97,110,32,111,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,44,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,116,114,117,101,44,32,97,110,100,32,115,111,32,116,104,101,32,121,101,115,45,112,97,116,116,101,114,110,32,105,115,32,101,120,101,99,117,116,101,100,32,97,110,100,32,97,32,99,108,111,115,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,32,105,115,32,114,101,113,117,105,114,101,100,46,32,79,116,104,101,114,119,105,115,101,44,32,97,115,32,110,111,45,112,97,116,116,101,114,110,32,105,115,32,110,111,116,32,112,114,101,115,101,110,116,44,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,110,111,116,104,105,110,103,46,32,84,104,97,116,32,105,115,44,32,116,104,105,115,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,110,111,110,45,112,97,114,101,110,116,104,101,115,101,115,44,32,111,112,116,105,111,110,97,108,108,121,32,101,110,99,108,111,115,101,100,32,105,110,32,112,97,114,101,110,116,104,101,115,101,115,46>>]},{p,[],[<<73,102,32,116,104,105,115,32,112,97,116,116,101,114,110,32,105,115,32,101,109,98,101,100,100,101,100,32,105,110,32,97,32,108,97,114,103,101,114,32,111,110,101,44,32,97,32,114,101,108,97,116,105,118,101,32,114,101,102,101,114,101,110,99,101,32,99,97,110,32,98,101,32,117,115,101,100,58>>]},{pre,[],[{code,[],[<<46,46,46,111,116,104,101,114,32,115,116,117,102,102,46,46,46,32,40,32,92,40,32,41,63,32,32,32,32,91,94,40,41,93,43,32,32,32,32,40,63,40,45,49,41,32,92,41,32,41,32,46,46,46>>]}]},{p,[],[<<84,104,105,115,32,109,97,107,101,115,32,116,104,101,32,102,114,97,103,109,101,110,116,32,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,116,104,101,32,108,97,114,103,101,114,32,112,97,116,116,101,114,110,46>>]},{p,[],[{em,[],[<<67,104,101,99,107,105,110,103,32,102,111,114,32,97,32,85,115,101,100,32,83,117,98,112,97,116,116,101,114,110,32,66,121,32,78,97,109,101>>]}]},{p,[],[<<80,101,114,108,32,117,115,101,115,32,116,104,101,32,115,121,110,116,97,120,32,40,63,40,60,110,97,109,101,62,41,46,46,46,41,32,111,114,32,40,63,40,39,110,97,109,101,39,41,46,46,46,41,32,116,111,32,116,101,115,116,32,102,111,114,32,97,32,117,115,101,100,32,115,117,98,112,97,116,116,101,114,110,32,98,121,32,110,97,109,101,46,32,70,111,114,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,119,105,116,104,32,101,97,114,108,105,101,114,32,118,101,114,115,105,111,110,115,32,111,102,32,80,67,82,69,44,32,119,104,105,99,104,32,104,97,100,32,116,104,105,115,32,102,97,99,105,108,105,116,121,32,98,101,102,111,114,101,32,80,101,114,108,44,32,116,104,101,32,115,121,110,116,97,120,32,40,63,40,110,97,109,101,41,46,46,46,41,32,105,115,32,97,108,115,111,32,114,101,99,111,103,110,105,122,101,100,46>>]},{p,[],[<<82,101,119,114,105,116,105,110,103,32,116,104,101,32,112,114,101,118,105,111,117,115,32,101,120,97,109,112,108,101,32,116,111,32,117,115,101,32,97,32,110,97,109,101,100,32,115,117,98,112,97,116,116,101,114,110,32,103,105,118,101,115,58>>]},{pre,[],[{code,[],[<<40,63,60,79,80,69,78,62,32,92,40,32,41,63,32,32,32,32,91,94,40,41,93,43,32,32,32,32,40,63,40,60,79,80,69,78,62,41,32,92,41,32,41>>]}]},{p,[],[<<73,102,32,116,104,101,32,110,97,109,101,32,117,115,101,100,32,105,110,32,97,32,99,111,110,100,105,116,105,111,110,32,111,102,32,116,104,105,115,32,107,105,110,100,32,105,115,32,97,32,100,117,112,108,105,99,97,116,101,44,32,116,104,101,32,116,101,115,116,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,97,108,108,32,115,117,98,112,97,116,116,101,114,110,115,32,111,102,32,116,104,101,32,115,97,109,101,32,110,97,109,101,44,32,97,110,100,32,105,115,32,116,114,117,101,32,105,102,32,97,110,121,32,111,110,101,32,111,102,32,116,104,101,109,32,104,97,115,32,109,97,116,99,104,101,100,46>>]},{p,[],[{em,[],[<<67,104,101,99,107,105,110,103,32,102,111,114,32,80,97,116,116,101,114,110,32,82,101,99,117,114,115,105,111,110>>]}]},{p,[],[<<73,102,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,116,104,101,32,115,116,114,105,110,103,32,40,82,41,44,32,97,110,100,32,116,104,101,114,101,32,105,115,32,110,111,32,115,117,98,112,97,116,116,101,114,110,32,119,105,116,104,32,116,104,101,32,110,97,109,101,32,82,44,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,116,114,117,101,32,105,102,32,97,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,32,116,111,32,116,104,101,32,119,104,111,108,101,32,112,97,116,116,101,114,110,32,111,114,32,97,110,121,32,115,117,98,112,97,116,116,101,114,110,32,104,97,115,32,98,101,101,110,32,109,97,100,101,46,32,73,102,32,100,105,103,105,116,115,32,111,114,32,97,32,110,97,109,101,32,112,114,101,99,101,100,101,100,32,98,121,32,97,109,112,101,114,115,97,110,100,32,102,111,108,108,111,119,32,116,104,101,32,108,101,116,116,101,114,32,82,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,63,40,82,51,41,46,46,46,41,32,111,114,32,40,63,40,82,38,110,97,109,101,41,46,46,46,41>>]}]},{p,[],[<<116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,116,114,117,101,32,105,102,32,116,104,101,32,109,111,115,116,32,114,101,99,101,110,116,32,114,101,99,117,114,115,105,111,110,32,105,115,32,105,110,116,111,32,97,32,115,117,98,112,97,116,116,101,114,110,32,119,104,111,115,101,32,110,117,109,98,101,114,32,111,114,32,110,97,109,101,32,105,115,32,103,105,118,101,110,46,32,84,104,105,115,32,99,111,110,100,105,116,105,111,110,32,100,111,101,115,32,110,111,116,32,99,104,101,99,107,32,116,104,101,32,101,110,116,105,114,101,32,114,101,99,117,114,115,105,111,110,32,115,116,97,99,107,46,32,73,102,32,116,104,101,32,110,97,109,101,32,117,115,101,100,32,105,110,32,97,32,99,111,110,100,105,116,105,111,110,32,111,102,32,116,104,105,115,32,107,105,110,100,32,105,115,32,97,32,100,117,112,108,105,99,97,116,101,44,32,116,104,101,32,116,101,115,116,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,97,108,108,32,115,117,98,112,97,116,116,101,114,110,115,32,111,102,32,116,104,101,32,115,97,109,101,32,110,97,109,101,44,32,97,110,100,32,105,115,32,116,114,117,101,32,105,102,32,97,110,121,32,111,110,101,32,111,102,32,116,104,101,109,32,105,115,32,116,104,101,32,109,111,115,116,32,114,101,99,101,110,116,32,114,101,99,117,114,115,105,111,110,46>>]},{p,[],[<<65,116,32,34,116,111,112,45,108,101,118,101,108,34,44,32,97,108,108,32,116,104,101,115,101,32,114,101,99,117,114,115,105,111,110,32,116,101,115,116,32,99,111,110,100,105,116,105,111,110,115,32,97,114,101,32,102,97,108,115,101,46,32,84,104,101,32,115,121,110,116,97,120,32,102,111,114,32,114,101,99,117,114,115,105,118,101,32,112,97,116,116,101,114,110,115,32,105,115,32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,46>>]},{p,[],[{em,[],[<<68,101,102,105,110,105,110,103,32,83,117,98,112,97,116,116,101,114,110,115,32,102,111,114,32,85,115,101,32,66,121,32,82,101,102,101,114,101,110,99,101,32,79,110,108,121>>]}]},{a,[{id,<<100,101,102,105,110,105,110,103,95,115,117,98,112,97,116,116,101,114,110,115>>}],[]},{p,[],[<<73,102,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,116,104,101,32,115,116,114,105,110,103,32,40,68,69,70,73,78,69,41,44,32,97,110,100,32,116,104,101,114,101,32,105,115,32,110,111,32,115,117,98,112,97,116,116,101,114,110,32,119,105,116,104,32,116,104,101,32,110,97,109,101,32,68,69,70,73,78,69,44,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,97,108,119,97,121,115,32,102,97,108,115,101,46,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32,116,104,101,114,101,32,99,97,110,32,98,101,32,111,110,108,121,32,111,110,101,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,46,32,73,116,32,105,115,32,97,108,119,97,121,115,32,115,107,105,112,112,101,100,32,105,102,32,99,111,110,116,114,111,108,32,114,101,97,99,104,101,115,32,116,104,105,115,32,112,111,105,110,116,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46,32,84,104,101,32,105,100,101,97,32,111,102,32,68,69,70,73,78,69,32,105,115,32,116,104,97,116,32,105,116,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,100,101,102,105,110,101,32,34,115,117,98,114,111,117,116,105,110,101,115,34,32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,102,101,114,101,110,99,101,100,32,102,114,111,109,32,101,108,115,101,119,104,101,114,101,46,32,40,84,104,101,32,117,115,101,32,111,102,32,115,117,98,114,111,117,116,105,110,101,115,32,105,115,32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,46,41,32,70,111,114,32,101,120,97,109,112,108,101,44,32,97,32,112,97,116,116,101,114,110,32,116,111,32,109,97,116,99,104,32,97,110,32,73,80,118,52,32,97,100,100,114,101,115,115,44,32,115,117,99,104,32,97,115,32,34,49,57,50,46,49,54,56,46,50,51,46,50,52,53,34,44,32,99,97,110,32,98,101,32,119,114,105,116,116,101,110,32,108,105,107,101,32,116,104,105,115,32,40,105,103,110,111,114,101,32,119,104,105,116,101,115,112,97,99,101,32,97,110,100,32,108,105,110,101,32,98,114,101,97,107,115,41,58>>]},{pre,[],[{code,[],[<<40,63,40,68,69,70,73,78,69,41,32,40,63,60,98,121,116,101,62,32,50,91,48,45,52,93,92,100,32,124,32,50,53,91,48,45,53,93,32,124,32,49,92,100,92,100,32,124,32,91,49,45,57,93,63,92,100,41,32,41,32,92,98,32,40,63,38,98,121,116,101,41,32,40,92,46,40,63,38,98,121,116,101,41,41,123,51,125,32,92,98>>]}]},{p,[],[<<84,104,101,32,102,105,114,115,116,32,112,97,114,116,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,97,32,68,69,70,73,78,69,32,103,114,111,117,112,32,105,110,115,105,100,101,32,119,104,105,99,104,32,105,115,32,97,32,97,110,111,116,104,101,114,32,103,114,111,117,112,32,110,97,109,101,100,32,34,98,121,116,101,34,32,105,115,32,100,101,102,105,110,101,100,46,32,84,104,105,115,32,109,97,116,99,104,101,115,32,97,110,32,105,110,100,105,118,105,100,117,97,108,32,99,111,109,112,111,110,101,110,116,32,111,102,32,97,110,32,73,80,118,52,32,97,100,100,114,101,115,115,32,40,97,32,110,117,109,98,101,114,32,60,32,50,53,54,41,46,32,87,104,101,110,32,109,97,116,99,104,105,110,103,32,116,97,107,101,115,32,112,108,97,99,101,44,32,116,104,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,115,107,105,112,112,101,100,44,32,97,115,32,68,69,70,73,78,69,32,97,99,116,115,32,108,105,107,101,32,97,32,102,97,108,115,101,32,99,111,110,100,105,116,105,111,110,46,32,84,104,101,32,114,101,109,97,105,110,105,110,103,32,112,97,116,116,101,114,110,32,117,115,101,115,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,116,104,101,32,110,97,109,101,100,32,103,114,111,117,112,32,116,111,32,109,97,116,99,104,32,116,104,101,32,102,111,117,114,32,100,111,116,45,115,101,112,97,114,97,116,101,100,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,97,110,32,73,80,118,52,32,97,100,100,114,101,115,115,44,32,105,110,115,105,115,116,105,110,103,32,111,110,32,97,32,119,111,114,100,32,98,111,117,110,100,97,114,121,32,97,116,32,101,97,99,104,32,101,110,100,46>>]},{p,[],[{em,[],[<<65,115,115,101,114,116,105,111,110,32,67,111,110,100,105,116,105,111,110,115>>]}]},{p,[],[<<73,102,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,110,111,116,32,105,110,32,97,110,121,32,111,102,32,116,104,101,32,97,98,111,118,101,32,102,111,114,109,97,116,115,44,32,105,116,32,109,117,115,116,32,98,101,32,97,110,32,97,115,115,101,114,116,105,111,110,46,32,84,104,105,115,32,99,97,110,32,98,101,32,97,32,112,111,115,105,116,105,118,101,32,111,114,32,110,101,103,97,116,105,118,101,32,108,111,111,107,97,104,101,97,100,32,111,114,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,99,111,110,116,97,105,110,105,110,103,32,110,111,110,45,115,105,103,110,105,102,105,99,97,110,116,32,119,104,105,116,101,115,112,97,99,101,44,32,97,110,100,32,119,105,116,104,32,116,104,101,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,115,32,111,110,32,116,104,101,32,115,101,99,111,110,100,32,108,105,110,101,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<40,63,40,63,61,91,94,97,45,122,93,42,91,97,45,122,93,41,10,92,100,123,50,125,45,91,97,45,122,93,123,51,125,45,92,100,123,50,125,32,32,124,32,32,92,100,123,50,125,45,92,100,123,50,125,45,92,100,123,50,125,32,41>>]}]},{p,[],[<<84,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,97,32,112,111,115,105,116,105,118,101,32,108,111,111,107,97,104,101,97,100,32,97,115,115,101,114,116,105,111,110,32,116,104,97,116,32,109,97,116,99,104,101,115,32,97,110,32,111,112,116,105,111,110,97,108,32,115,101,113,117,101,110,99,101,32,111,102,32,110,111,110,45,108,101,116,116,101,114,115,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,108,101,116,116,101,114,46,32,84,104,97,116,32,105,115,44,32,105,116,32,116,101,115,116,115,32,102,111,114,32,116,104,101,32,112,114,101,115,101,110,99,101,32,111,102,32,97,116,32,108,101,97,115,116,32,111,110,101,32,108,101,116,116,101,114,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,46,32,73,102,32,97,32,108,101,116,116,101,114,32,105,115,32,102,111,117,110,100,44,32,116,104,101,32,115,117,98,106,101,99,116,32,105,115,32,109,97,116,99,104,101,100,32,97,103,97,105,110,115,116,32,116,104,101,32,102,105,114,115,116,32,97,108,116,101,114,110,97,116,105,118,101,44,32,111,116,104,101,114,119,105,115,101,32,105,116,32,105,115,32,109,97,116,99,104,101,100,32,97,103,97,105,110,115,116,32,116,104,101,32,115,101,99,111,110,100,46,32,84,104,105,115,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,115,116,114,105,110,103,115,32,105,110,32,111,110,101,32,111,102,32,116,104,101,32,116,119,111,32,102,111,114,109,115,32,100,100,45,97,97,97,45,100,100,32,111,114,32,100,100,45,100,100,45,100,100,44,32,119,104,101,114,101,32,97,97,97,32,97,114,101,32,108,101,116,116,101,114,115,32,97,110,100,32,100,100,32,97,114,101,32,100,105,103,105,116,115,46>>]},{a,[{id,<<115,101,99,116,49,57>>}],[]},{h2,[],[<<67,111,109,109,101,110,116,115>>]},{p,[],[<<84,104,101,114,101,32,97,114,101,32,116,119,111,32,119,97,121,115,32,116,111,32,105,110,99,108,117,100,101,32,99,111,109,109,101,110,116,115,32,105,110,32,112,97,116,116,101,114,110,115,32,116,104,97,116,32,97,114,101,32,112,114,111,99,101,115,115,101,100,32,98,121,32,80,67,82,69,46,32,73,110,32,98,111,116,104,32,99,97,115,101,115,44,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,99,111,109,109,101,110,116,32,109,117,115,116,32,110,111,116,32,98,101,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,111,114,32,105,110,32,116,104,101,32,109,105,100,100,108,101,32,111,102,32,97,110,121,32,111,116,104,101,114,32,115,101,113,117,101,110,99,101,32,111,102,32,114,101,108,97,116,101,100,32,99,104,97,114,97,99,116,101,114,115,32,115,117,99,104,32,97,115,32,40,63,58,32,111,114,32,97,32,115,117,98,112,97,116,116,101,114,110,32,110,97,109,101,32,111,114,32,110,117,109,98,101,114,46,32,84,104,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,109,97,107,101,32,117,112,32,97,32,99,111,109,109,101,110,116,32,112,108,97,121,32,110,111,32,112,97,114,116,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,105,110,103,46>>]},{p,[],[<<84,104,101,32,115,101,113,117,101,110,99,101,32,40,63,35,32,109,97,114,107,115,32,116,104,101,32,115,116,97,114,116,32,111,102,32,97,32,99,111,109,109,101,110,116,32,116,104,97,116,32,99,111,110,116,105,110,117,101,115,32,117,112,32,116,111,32,116,104,101,32,110,101,120,116,32,99,108,111,115,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,46,32,78,101,115,116,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,110,111,116,32,112,101,114,109,105,116,116,101,100,46,32,73,102,32,111,112,116,105,111,110,32,80,67,82,69,95,69,88,84,69,78,68,69,68,32,105,115,32,115,101,116,44,32,97,110,32,117,110,101,115,99,97,112,101,100,32,35,32,99,104,97,114,97,99,116,101,114,32,97,108,115,111,32,105,110,116,114,111,100,117,99,101,115,32,97,32,99,111,109,109,101,110,116,44,32,119,104,105,99,104,32,105,110,32,116,104,105,115,32,99,97,115,101,32,99,111,110,116,105,110,117,101,115,32,116,111,32,105,109,109,101,100,105,97,116,101,108,121,32,97,102,116,101,114,32,116,104,101,32,110,101,120,116,32,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,32,111,114,32,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46,32,87,104,105,99,104,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,110,101,119,108,105,110,101,115,32,105,115,32,99,111,110,116,114,111,108,108,101,100,32,98,121,32,116,104,101,32,111,112,116,105,111,110,115,32,112,97,115,115,101,100,32,116,111,32,97,32,99,111,109,112,105,108,105,110,103,32,102,117,110,99,116,105,111,110,32,111,114,32,98,121,32,97,32,115,112,101,99,105,97,108,32,115,101,113,117,101,110,99,101,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,44,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,110,101,119,108,105,110,101,95,99,111,110,118,101,110,116,105,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<78,101,119,108,105,110,101,32,67,111,110,118,101,110,116,105,111,110,115>>]},<<32,101,97,114,108,105,101,114,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,105,115,32,116,121,112,101,32,111,102,32,99,111,109,109,101,110,116,32,105,115,32,97,32,108,105,116,101,114,97,108,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,59,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,32,116,104,97,116,32,104,97,112,112,101,110,32,116,111,32,114,101,112,114,101,115,101,110,116,32,97,32,110,101,119,108,105,110,101,32,100,111,32,110,111,116,32,99,111,117,110,116,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,99,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,119,104,101,110,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]},<<32,105,115,32,115,101,116,44,32,97,110,100,32,116,104,101,32,100,101,102,97,117,108,116,32,110,101,119,108,105,110,101,32,99,111,110,118,101,110,116,105,111,110,32,105,115,32,105,110,32,102,111,114,99,101,58>>]},{pre,[],[{code,[],[<<97,98,99,32,35,99,111,109,109,101,110,116,32,92,110,32,115,116,105,108,108,32,99,111,109,109,101,110,116>>]}]},{p,[],[<<79,110,32,101,110,99,111,117,110,116,101,114,105,110,103,32,99,104,97,114,97,99,116,101,114,32,35,44,32>>,{code,[],[<<112,99,114,101,95,99,111,109,112,105,108,101,40,41>>]},<<32,115,107,105,112,115,32,97,108,111,110,103,44,32,108,111,111,107,105,110,103,32,102,111,114,32,97,32,110,101,119,108,105,110,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46,32,84,104,101,32,115,101,113,117,101,110,99,101,32,92,110,32,105,115,32,115,116,105,108,108,32,108,105,116,101,114,97,108,32,97,116,32,116,104,105,115,32,115,116,97,103,101,44,32,115,111,32,105,116,32,100,111,101,115,32,110,111,116,32,116,101,114,109,105,110,97,116,101,32,116,104,101,32,99,111,109,109,101,110,116,46,32,79,110,108,121,32,97,32,99,104,97,114,97,99,116,101,114,32,119,105,116,104,32,99,111,100,101,32,118,97,108,117,101,32,48,120,48,97,32,40,116,104,101,32,100,101,102,97,117,108,116,32,110,101,119,108,105,110,101,41,32,100,111,101,115,32,115,111,46>>]},{a,[{id,<<115,101,99,116,50,48>>}],[]},{h2,[],[<<82,101,99,117,114,115,105,118,101,32,80,97,116,116,101,114,110,115>>]},{p,[],[<<67,111,110,115,105,100,101,114,32,116,104,101,32,112,114,111,98,108,101,109,32,111,102,32,109,97,116,99,104,105,110,103,32,97,32,115,116,114,105,110,103,32,105,110,32,112,97,114,101,110,116,104,101,115,101,115,44,32,97,108,108,111,119,105,110,103,32,102,111,114,32,117,110,108,105,109,105,116,101,100,32,110,101,115,116,101,100,32,112,97,114,101,110,116,104,101,115,101,115,46,32,87,105,116,104,111,117,116,32,116,104,101,32,117,115,101,32,111,102,32,114,101,99,117,114,115,105,111,110,44,32,116,104,101,32,98,101,115,116,32,116,104,97,116,32,99,97,110,32,98,101,32,100,111,110,101,32,105,115,32,116,111,32,117,115,101,32,97,32,112,97,116,116,101,114,110,32,116,104,97,116,32,109,97,116,99,104,101,115,32,117,112,32,116,111,32,115,111,109,101,32,102,105,120,101,100,32,100,101,112,116,104,32,111,102,32,110,101,115,116,105,110,103,46,32,73,116,32,105,115,32,110,111,116,32,112,111,115,115,105,98,108,101,32,116,111,32,104,97,110,100,108,101,32,97,110,32,97,114,98,105,116,114,97,114,121,32,110,101,115,116,105,110,103,32,100,101,112,116,104,46>>]},{p,[],[<<70,111,114,32,115,111,109,101,32,116,105,109,101,44,32,80,101,114,108,32,104,97,115,32,112,114,111,118,105,100,101,100,32,97,32,102,97,99,105,108,105,116,121,32,116,104,97,116,32,97,108,108,111,119,115,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,116,111,32,114,101,99,117,114,115,101,32,40,97,109,111,110,103,32,111,116,104,101,114,32,116,104,105,110,103,115,41,46,32,73,116,32,100,111,101,115,32,116,104,105,115,32,98,121,32,105,110,116,101,114,112,111,108,97,116,105,110,103,32,80,101,114,108,32,99,111,100,101,32,105,110,32,116,104,101,32,101,120,112,114,101,115,115,105,111,110,32,97,116,32,114,117,110,116,105,109,101,44,32,97,110,100,32,116,104,101,32,99,111,100,101,32,99,97,110,32,114,101,102,101,114,32,116,111,32,116,104,101,32,101,120,112,114,101,115,115,105,111,110,32,105,116,115,101,108,102,46,32,65,32,80,101,114,108,32,112,97,116,116,101,114,110,32,117,115,105,110,103,32,99,111,100,101,32,105,110,116,101,114,112,111,108,97,116,105,111,110,32,116,111,32,115,111,108,118,101,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,112,114,111,98,108,101,109,32,99,97,110,32,98,101,32,99,114,101,97,116,101,100,32,108,105,107,101,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<36,114,101,32,61,32,113,114,123,92,40,32,40,63,58,32,40,63,62,91,94,40,41,93,43,41,32,124,32,40,63,112,123,36,114,101,125,41,32,41,42,32,92,41,125,120,59>>]}]},{p,[],[<<73,116,101,109,32,40,63,112,123,46,46,46,125,41,32,105,110,116,101,114,112,111,108,97,116,101,115,32,80,101,114,108,32,99,111,100,101,32,97,116,32,114,117,110,116,105,109,101,44,32,97,110,100,32,105,110,32,116,104,105,115,32,99,97,115,101,32,114,101,102,101,114,115,32,114,101,99,117,114,115,105,118,101,108,121,32,116,111,32,116,104,101,32,112,97,116,116,101,114,110,32,105,110,32,119,104,105,99,104,32,105,116,32,97,112,112,101,97,114,115,46>>]},{p,[],[<<79,98,118,105,111,117,115,108,121,44,32,80,67,82,69,32,99,97,110,110,111,116,32,115,117,112,112,111,114,116,32,116,104,101,32,105,110,116,101,114,112,111,108,97,116,105,111,110,32,111,102,32,80,101,114,108,32,99,111,100,101,46,32,73,110,115,116,101,97,100,44,32,105,116,32,115,117,112,112,111,114,116,115,32,115,112,101,99,105,97,108,32,115,121,110,116,97,120,32,102,111,114,32,114,101,99,117,114,115,105,111,110,32,111,102,32,116,104,101,32,101,110,116,105,114,101,32,112,97,116,116,101,114,110,44,32,97,110,100,32,102,111,114,32,105,110,100,105,118,105,100,117,97,108,32,115,117,98,112,97,116,116,101,114,110,32,114,101,99,117,114,115,105,111,110,46,32,65,102,116,101,114,32,105,116,115,32,105,110,116,114,111,100,117,99,116,105,111,110,32,105,110,32,80,67,82,69,32,97,110,100,32,80,121,116,104,111,110,44,32,116,104,105,115,32,107,105,110,100,32,111,102,32,114,101,99,117,114,115,105,111,110,32,119,97,115,32,108,97,116,101,114,32,105,110,116,114,111,100,117,99,101,100,32,105,110,116,111,32,80,101,114,108,32,97,116,32,114,101,108,101,97,115,101,32,53,46,49,48,46>>]},{p,[],[<<65,32,115,112,101,99,105,97,108,32,105,116,101,109,32,116,104,97,116,32,99,111,110,115,105,115,116,115,32,111,102,32,40,63,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,117,109,98,101,114,32,62,32,48,32,97,110,100,32,97,32,99,108,111,115,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,32,105,115,32,97,32,114,101,99,117,114,115,105,118,101,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,32,111,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,111,102,32,116,104,101,32,103,105,118,101,110,32,110,117,109,98,101,114,44,32,105,102,32,105,116,32,111,99,99,117,114,115,32,105,110,115,105,100,101,32,116,104,97,116,32,115,117,98,112,97,116,116,101,114,110,46,32,40,73,102,32,110,111,116,44,32,105,116,32,105,115,32,97,32,110,111,110,45,114,101,99,117,114,115,105,118,101,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,44,32,119,104,105,99,104,32,105,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,110,101,120,116,32,115,101,99,116,105,111,110,46,41,32,84,104,101,32,115,112,101,99,105,97,108,32,105,116,101,109,32,40,63,82,41,32,111,114,32,40,63,48,41,32,105,115,32,97,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,32,111,102,32,116,104,101,32,101,110,116,105,114,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{p,[],[<<84,104,105,115,32,80,67,82,69,32,112,97,116,116,101,114,110,32,115,111,108,118,101,115,32,116,104,101,32,110,101,115,116,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,112,114,111,98,108,101,109,32,40,97,115,115,117,109,101,32,116,104,97,116,32,111,112,116,105,111,110,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]},<<32,105,115,32,115,101,116,32,115,111,32,116,104,97,116,32,119,104,105,116,101,115,112,97,99,101,32,105,115,32,105,103,110,111,114,101,100,41,58>>]},{pre,[],[{code,[],[<<92,40,32,40,32,91,94,40,41,93,43,43,32,124,32,40,63,82,41,32,41,42,32,92,41>>]}]},{p,[],[<<70,105,114,115,116,32,105,116,32,109,97,116,99,104,101,115,32,97,110,32,111,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,46,32,84,104,101,110,32,105,116,32,109,97,116,99,104,101,115,32,97,110,121,32,110,117,109,98,101,114,32,111,102,32,115,117,98,115,116,114,105,110,103,115,44,32,119,104,105,99,104,32,99,97,110,32,101,105,116,104,101,114,32,98,101,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,110,111,110,45,112,97,114,101,110,116,104,101,115,101,115,32,111,114,32,97,32,114,101,99,117,114,115,105,118,101,32,109,97,116,99,104,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,116,115,101,108,102,32,40,116,104,97,116,32,105,115,44,32,97,32,99,111,114,114,101,99,116,108,121,32,112,97,114,101,110,116,104,101,115,105,122,101,100,32,115,117,98,115,116,114,105,110,103,41,46,32,70,105,110,97,108,108,121,32,116,104,101,114,101,32,105,115,32,97,32,99,108,111,115,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,46,32,78,111,116,105,99,101,32,116,104,101,32,117,115,101,32,111,102,32,97,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,116,111,32,97,118,111,105,100,32,98,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,115,101,113,117,101,110,99,101,115,32,111,102,32,110,111,110,45,112,97,114,101,110,116,104,101,115,101,115,46>>]},{p,[],[<<73,102,32,116,104,105,115,32,119,97,115,32,112,97,114,116,32,111,102,32,97,32,108,97,114,103,101,114,32,112,97,116,116,101,114,110,44,32,121,111,117,32,119,111,117,108,100,32,110,111,116,32,119,97,110,116,32,116,111,32,114,101,99,117,114,115,101,32,116,104,101,32,101,110,116,105,114,101,32,112,97,116,116,101,114,110,44,32,115,111,32,105,110,115,116,101,97,100,32,121,111,117,32,99,97,110,32,117,115,101,58>>]},{pre,[],[{code,[],[<<40,32,92,40,32,40,32,91,94,40,41,93,43,43,32,124,32,40,63,49,41,32,41,42,32,92,41,32,41>>]}]},{p,[],[<<84,104,101,32,112,97,116,116,101,114,110,32,105,115,32,104,101,114,101,32,119,105,116,104,105,110,32,112,97,114,101,110,116,104,101,115,101,115,32,115,111,32,116,104,97,116,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,114,101,102,101,114,115,32,116,111,32,116,104,101,109,32,105,110,115,116,101,97,100,32,111,102,32,116,104,101,32,119,104,111,108,101,32,112,97,116,116,101,114,110,46>>]},{p,[],[<<73,110,32,97,32,108,97,114,103,101,114,32,112,97,116,116,101,114,110,44,32,107,101,101,112,105,110,103,32,116,114,97,99,107,32,111,102,32,112,97,114,101,110,116,104,101,115,105,115,32,110,117,109,98,101,114,115,32,99,97,110,32,98,101,32,116,114,105,99,107,121,46,32,84,104,105,115,32,105,115,32,109,97,100,101,32,101,97,115,105,101,114,32,98,121,32,116,104,101,32,117,115,101,32,111,102,32,114,101,108,97,116,105,118,101,32,114,101,102,101,114,101,110,99,101,115,46,32,73,110,115,116,101,97,100,32,111,102,32,40,63,49,41,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,97,98,111,118,101,44,32,121,111,117,32,99,97,110,32,119,114,105,116,101,32,40,63,45,50,41,32,116,111,32,114,101,102,101,114,32,116,111,32,116,104,101,32,115,101,99,111,110,100,32,109,111,115,116,32,114,101,99,101,110,116,108,121,32,111,112,101,110,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,112,114,101,99,101,100,105,110,103,32,116,104,101,32,114,101,99,117,114,115,105,111,110,46,32,84,104,97,116,32,105,115,44,32,97,32,110,101,103,97,116,105,118,101,32,110,117,109,98,101,114,32,99,111,117,110,116,115,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,108,101,102,116,119,97,114,100,115,32,102,114,111,109,32,116,104,101,32,112,111,105,110,116,32,97,116,32,119,104,105,99,104,32,105,116,32,105,115,32,101,110,99,111,117,110,116,101,114,101,100,46>>]},{p,[],[<<73,116,32,105,115,32,97,108,115,111,32,112,111,115,115,105,98,108,101,32,116,111,32,114,101,102,101,114,32,116,111,32,108,97,116,101,114,32,111,112,101,110,101,100,32,112,97,114,101,110,116,104,101,115,101,115,44,32,98,121,32,119,114,105,116,105,110,103,32,114,101,102,101,114,101,110,99,101,115,32,115,117,99,104,32,97,115,32,40,63,43,50,41,46,32,72,111,119,101,118,101,114,44,32,116,104,101,115,101,32,99,97,110,110,111,116,32,98,101,32,114,101,99,117,114,115,105,118,101,44,32,97,115,32,116,104,101,32,114,101,102,101,114,101,110,99,101,32,105,115,32,110,111,116,32,105,110,115,105,100,101,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,116,104,97,116,32,97,114,101,32,114,101,102,101,114,101,110,99,101,100,46,32,84,104,101,121,32,97,114,101,32,97,108,119,97,121,115,32,110,111,110,45,114,101,99,117,114,115,105,118,101,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,115,44,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,110,101,120,116,32,115,101,99,116,105,111,110,46>>]},{p,[],[<<65,110,32,97,108,116,101,114,110,97,116,105,118,101,32,97,112,112,114,111,97,99,104,32,105,115,32,116,111,32,117,115,101,32,110,97,109,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,115,116,101,97,100,46,32,84,104,101,32,80,101,114,108,32,115,121,110,116,97,120,32,102,111,114,32,116,104,105,115,32,105,115,32,40,63,38,110,97,109,101,41,46,32,84,104,101,32,101,97,114,108,105,101,114,32,80,67,82,69,32,115,121,110,116,97,120,32,40,63,80,62,110,97,109,101,41,32,105,115,32,97,108,115,111,32,115,117,112,112,111,114,116,101,100,46,32,87,101,32,99,97,110,32,114,101,119,114,105,116,101,32,116,104,101,32,97,98,111,118,101,32,101,120,97,109,112,108,101,32,97,115,32,102,111,108,108,111,119,115,58>>]},{pre,[],[{code,[],[<<40,63,60,112,110,62,32,92,40,32,40,32,91,94,40,41,93,43,43,32,124,32,40,63,38,112,110,41,32,41,42,32,92,41,32,41>>]}]},{p,[],[<<73,102,32,116,104,101,114,101,32,105,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,117,98,112,97,116,116,101,114,110,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,97,109,101,44,32,116,104,101,32,101,97,114,108,105,101,115,116,32,111,110,101,32,105,115,32,117,115,101,100,46>>]},{p,[],[<<84,104,105,115,32,112,97,114,116,105,99,117,108,97,114,32,101,120,97,109,112,108,101,32,112,97,116,116,101,114,110,32,116,104,97,116,32,119,101,32,104,97,118,101,32,115,116,117,100,105,101,100,32,99,111,110,116,97,105,110,115,32,110,101,115,116,101,100,32,117,110,108,105,109,105,116,101,100,32,114,101,112,101,97,116,115,44,32,97,110,100,32,115,111,32,116,104,101,32,117,115,101,32,111,102,32,97,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,102,111,114,32,109,97,116,99,104,105,110,103,32,115,116,114,105,110,103,115,32,111,102,32,110,111,110,45,112,97,114,101,110,116,104,101,115,101,115,32,105,115,32,105,109,112,111,114,116,97,110,116,32,119,104,101,110,32,97,112,112,108,121,105,110,103,32,116,104,101,32,112,97,116,116,101,114,110,32,116,111,32,115,116,114,105,110,103,115,32,116,104,97,116,32,100,111,32,110,111,116,32,109,97,116,99,104,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,119,104,101,110,32,116,104,105,115,32,112,97,116,116,101,114,110,32,105,115,32,97,112,112,108,105,101,100,32,116,111>>]},{pre,[],[{code,[],[<<40,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,40,41>>]}]},{p,[],[<<105,116,32,103,105,118,101,115,32,34,110,111,32,109,97,116,99,104,34,32,113,117,105,99,107,108,121,46,32,72,111,119,101,118,101,114,44,32,105,102,32,97,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,105,115,32,110,111,116,32,117,115,101,100,44,32,116,104,101,32,109,97,116,99,104,32,114,117,110,115,32,102,111,114,32,97,32,108,111,110,103,32,116,105,109,101,44,32,97,115,32,116,104,101,114,101,32,97,114,101,32,115,111,32,109,97,110,121,32,100,105,102,102,101,114,101,110,116,32,119,97,121,115,32,116,104,101,32,43,32,97,110,100,32,42,32,114,101,112,101,97,116,115,32,99,97,110,32,99,97,114,118,101,32,117,112,32,116,104,101,32,115,117,98,106,101,99,116,44,32,97,110,100,32,97,108,108,32,109,117,115,116,32,98,101,32,116,101,115,116,101,100,32,98,101,102,111,114,101,32,102,97,105,108,117,114,101,32,99,97,110,32,98,101,32,114,101,112,111,114,116,101,100,46>>]},{p,[],[<<65,116,32,116,104,101,32,101,110,100,32,111,102,32,97,32,109,97,116,99,104,44,32,116,104,101,32,118,97,108,117,101,115,32,111,102,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,116,104,111,115,101,32,102,114,111,109,32,116,104,101,32,111,117,116,101,114,109,111,115,116,32,108,101,118,101,108,46,32,73,102,32,116,104,101,32,112,97,116,116,101,114,110,32,97,98,111,118,101,32,105,115,32,109,97,116,99,104,101,100,32,97,103,97,105,110,115,116>>]},{pre,[],[{code,[],[<<40,97,98,40,99,100,41,101,102,41>>]}]},{p,[],[<<116,104,101,32,118,97,108,117,101,32,102,111,114,32,116,104,101,32,105,110,110,101,114,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,40,110,117,109,98,101,114,101,100,32,50,41,32,105,115,32,34,101,102,34,44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,108,97,115,116,32,118,97,108,117,101,32,116,97,107,101,110,32,111,110,32,97,116,32,116,104,101,32,116,111,112,45,108,101,118,101,108,46,32,73,102,32,97,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,110,111,116,32,109,97,116,99,104,101,100,32,97,116,32,116,104,101,32,116,111,112,32,108,101,118,101,108,44,32,105,116,115,32,102,105,110,97,108,32,99,97,112,116,117,114,101,100,32,118,97,108,117,101,32,105,115,32,117,110,115,101,116,44,32,101,118,101,110,32,105,102,32,105,116,32,119,97,115,32,40,116,101,109,112,111,114,97,114,105,108,121,41,32,115,101,116,32,97,116,32,97,32,100,101,101,112,101,114,32,108,101,118,101,108,32,100,117,114,105,110,103,32,116,104,101,32,109,97,116,99,104,105,110,103,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<68,111,32,110,111,116,32,99,111,110,102,117,115,101,32,105,116,101,109,32,40,63,82,41,32,119,105,116,104,32,99,111,110,100,105,116,105,111,110,32,40,82,41,44,32,119,104,105,99,104,32,116,101,115,116,115,32,102,111,114,32,114,101,99,117,114,115,105,111,110,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,119,104,105,99,104,32,109,97,116,99,104,101,115,32,116,101,120,116,32,105,110,32,97,110,103,108,101,32,98,114,97,99,107,101,116,115,44,32,97,108,108,111,119,105,110,103,32,102,111,114,32,97,114,98,105,116,114,97,114,121,32,110,101,115,116,105,110,103,46,32,79,110,108,121,32,100,105,103,105,116,115,32,97,114,101,32,97,108,108,111,119,101,100,32,105,110,32,110,101,115,116,101,100,32,98,114,97,99,107,101,116,115,32,40,116,104,97,116,32,105,115,44,32,119,104,101,110,32,114,101,99,117,114,115,105,110,103,41,44,32,119,104,105,108,101,32,97,110,121,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,112,101,114,109,105,116,116,101,100,32,97,116,32,116,104,101,32,111,117,116,101,114,32,108,101,118,101,108,46>>]},{pre,[],[{code,[],[<<60,32,40,63,58,32,40,63,40,82,41,32,92,100,43,43,32,32,124,32,91,94,60,62,93,42,43,41,32,124,32,40,63,82,41,41,32,42,32,62>>]}]},{p,[],[<<72,101,114,101,32,40,63,40,82,41,32,105,115,32,116,104,101,32,115,116,97,114,116,32,111,102,32,97,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,44,32,119,105,116,104,32,116,119,111,32,100,105,102,102,101,114,101,110,116,32,97,108,116,101,114,110,97,116,105,118,101,115,32,102,111,114,32,116,104,101,32,114,101,99,117,114,115,105,118,101,32,97,110,100,32,110,111,110,45,114,101,99,117,114,115,105,118,101,32,99,97,115,101,115,46,32,73,116,101,109,32,40,63,82,41,32,105,115,32,116,104,101,32,97,99,116,117,97,108,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,46>>]},{p,[],[{em,[],[<<68,105,102,102,101,114,101,110,99,101,115,32,105,110,32,82,101,99,117,114,115,105,111,110,32,80,114,111,99,101,115,115,105,110,103,32,98,101,116,119,101,101,110,32,80,67,82,69,32,97,110,100,32,80,101,114,108>>]}]},{p,[],[<<82,101,99,117,114,115,105,111,110,32,112,114,111,99,101,115,115,105,110,103,32,105,110,32,80,67,82,69,32,100,105,102,102,101,114,115,32,102,114,111,109,32,80,101,114,108,32,105,110,32,116,119,111,32,105,109,112,111,114,116,97,110,116,32,119,97,121,115,46,32,73,110,32,80,67,82,69,32,40,108,105,107,101,32,80,121,116,104,111,110,44,32,98,117,116,32,117,110,108,105,107,101,32,80,101,114,108,41,44,32,97,32,114,101,99,117,114,115,105,118,101,32,115,117,98,112,97,116,116,101,114,110,32,99,97,108,108,32,105,115,32,97,108,119,97,121,115,32,116,114,101,97,116,101,100,32,97,115,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,46,32,84,104,97,116,32,105,115,44,32,111,110,99,101,32,105,116,32,104,97,115,32,109,97,116,99,104,101,100,32,115,111,109,101,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,105,116,32,105,115,32,110,101,118,101,114,32,114,101,45,101,110,116,101,114,101,100,44,32,101,118,101,110,32,105,102,32,105,116,32,99,111,110,116,97,105,110,115,32,117,110,116,114,105,101,100,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,110,100,32,116,104,101,114,101,32,105,115,32,97,32,115,117,98,115,101,113,117,101,110,116,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,46,32,84,104,105,115,32,99,97,110,32,98,101,32,105,108,108,117,115,116,114,97,116,101,100,32,98,121,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,119,104,105,99,104,32,109,101,97,110,115,32,116,111,32,109,97,116,99,104,32,97,32,112,97,108,105,110,100,114,111,109,105,99,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,97,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,34,97,34,44,32,34,97,98,97,34,44,32,34,97,98,99,98,97,34,44,32,34,97,98,99,100,99,98,97,34,41,58>>]},{pre,[],[{code,[],[<<94,40,46,124,40,46,41,40,63,49,41,92,50,41,36>>]}]},{p,[],[<<84,104,101,32,105,100,101,97,32,105,115,32,116,104,97,116,32,105,116,32,101,105,116,104,101,114,32,109,97,116,99,104,101,115,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,44,32,111,114,32,116,119,111,32,105,100,101,110,116,105,99,97,108,32,99,104,97,114,97,99,116,101,114,115,32,115,117,114,114,111,117,110,100,105,110,103,32,97,32,115,117,98,112,97,108,105,110,100,114,111,109,101,46,32,73,110,32,80,101,114,108,44,32,116,104,105,115,32,112,97,116,116,101,114,110,32,119,111,114,107,115,59,32,105,110,32,80,67,82,69,32,105,116,32,100,111,101,115,32,110,111,116,32,119,111,114,107,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,108,111,110,103,101,114,32,116,104,97,110,32,116,104,114,101,101,32,99,104,97,114,97,99,116,101,114,115,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,34,97,98,99,98,97,34,46>>]},{p,[],[<<65,116,32,116,104,101,32,116,111,112,32,108,101,118,101,108,44,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,109,97,116,99,104,101,100,44,32,98,117,116,32,97,115,32,105,116,32,105,115,32,110,111,116,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,116,104,101,32,102,105,114,115,116,32,97,108,116,101,114,110,97,116,105,118,101,32,102,97,105,108,115,44,32,116,104,101,32,115,101,99,111,110,100,32,97,108,116,101,114,110,97,116,105,118,101,32,105,115,32,116,97,107,101,110,44,32,97,110,100,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,107,105,99,107,115,32,105,110,46,32,84,104,101,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,32,116,111,32,115,117,98,112,97,116,116,101,114,110,32,49,32,115,117,99,99,101,115,115,102,117,108,108,121,32,109,97,116,99,104,101,115,32,116,104,101,32,110,101,120,116,32,99,104,97,114,97,99,116,101,114,32,40,34,98,34,41,46,32,40,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,98,101,103,105,110,110,105,110,103,32,97,110,100,32,101,110,100,32,111,102,32,108,105,110,101,32,116,101,115,116,115,32,97,114,101,32,110,111,116,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,99,117,114,115,105,111,110,46,41>>]},{p,[],[<<66,97,99,107,32,97,116,32,116,104,101,32,116,111,112,32,108,101,118,101,108,44,32,116,104,101,32,110,101,120,116,32,99,104,97,114,97,99,116,101,114,32,40,34,99,34,41,32,105,115,32,99,111,109,112,97,114,101,100,32,119,105,116,104,32,119,104,97,116,32,115,117,98,112,97,116,116,101,114,110,32,50,32,109,97,116,99,104,101,100,44,32,119,104,105,99,104,32,119,97,115,32,34,97,34,46,32,84,104,105,115,32,102,97,105,108,115,46,32,65,115,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,105,115,32,116,114,101,97,116,101,100,32,97,115,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,44,32,116,104,101,114,101,32,97,114,101,32,110,111,119,32,110,111,32,98,97,99,107,116,114,97,99,107,105,110,103,32,112,111,105,110,116,115,44,32,97,110,100,32,115,111,32,116,104,101,32,101,110,116,105,114,101,32,109,97,116,99,104,32,102,97,105,108,115,46,32,40,80,101,114,108,32,99,97,110,32,110,111,119,32,114,101,45,101,110,116,101,114,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,97,110,100,32,116,114,121,32,116,104,101,32,115,101,99,111,110,100,32,97,108,116,101,114,110,97,116,105,118,101,46,41,32,72,111,119,101,118,101,114,44,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,119,114,105,116,116,101,110,32,119,105,116,104,32,116,104,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,105,110,32,116,104,101,32,111,116,104,101,114,32,111,114,100,101,114,44,32,116,104,105,110,103,115,32,97,114,101,32,100,105,102,102,101,114,101,110,116,58>>]},{pre,[],[{code,[],[<<94,40,40,46,41,40,63,49,41,92,50,124,46,41,36>>]}]},{p,[],[<<84,104,105,115,32,116,105,109,101,44,32,116,104,101,32,114,101,99,117,114,115,105,110,103,32,97,108,116,101,114,110,97,116,105,118,101,32,105,115,32,116,114,105,101,100,32,102,105,114,115,116,44,32,97,110,100,32,99,111,110,116,105,110,117,101,115,32,116,111,32,114,101,99,117,114,115,101,32,117,110,116,105,108,32,105,116,32,114,117,110,115,32,111,117,116,32,111,102,32,99,104,97,114,97,99,116,101,114,115,44,32,97,116,32,119,104,105,99,104,32,112,111,105,110,116,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,102,97,105,108,115,46,32,66,117,116,32,116,104,105,115,32,116,105,109,101,32,119,101,32,104,97,118,101,32,97,110,111,116,104,101,114,32,97,108,116,101,114,110,97,116,105,118,101,32,116,111,32,116,114,121,32,97,116,32,116,104,101,32,104,105,103,104,101,114,32,108,101,118,101,108,46,32,84,104,97,116,32,105,115,32,116,104,101,32,115,105,103,110,105,102,105,99,97,110,116,32,100,105,102,102,101,114,101,110,99,101,58,32,105,110,32,116,104,101,32,112,114,101,118,105,111,117,115,32,99,97,115,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,97,108,116,101,114,110,97,116,105,118,101,32,105,115,32,97,116,32,97,32,100,101,101,112,101,114,32,114,101,99,117,114,115,105,111,110,32,108,101,118,101,108,44,32,119,104,105,99,104,32,80,67,82,69,32,99,97,110,110,111,116,32,117,115,101,46>>]},{p,[],[<<84,111,32,99,104,97,110,103,101,32,116,104,101,32,112,97,116,116,101,114,110,32,115,111,32,116,104,97,116,32,105,116,32,109,97,116,99,104,101,115,32,97,108,108,32,112,97,108,105,110,100,114,111,109,105,99,32,115,116,114,105,110,103,115,44,32,110,111,116,32,111,110,108,121,32,116,104,111,115,101,32,119,105,116,104,32,97,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,99,104,97,114,97,99,116,101,114,115,44,32,105,116,32,105,115,32,116,101,109,112,116,105,110,103,32,116,111,32,99,104,97,110,103,101,32,116,104,101,32,112,97,116,116,101,114,110,32,116,111,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<94,40,40,46,41,40,63,49,41,92,50,124,46,63,41,36>>]}]},{p,[],[<<65,103,97,105,110,44,32,116,104,105,115,32,119,111,114,107,115,32,105,110,32,80,101,114,108,44,32,98,117,116,32,110,111,116,32,105,110,32,80,67,82,69,44,32,97,110,100,32,102,111,114,32,116,104,101,32,115,97,109,101,32,114,101,97,115,111,110,46,32,87,104,101,110,32,97,32,100,101,101,112,101,114,32,114,101,99,117,114,115,105,111,110,32,104,97,115,32,109,97,116,99,104,101,100,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,44,32,105,116,32,99,97,110,110,111,116,32,98,101,32,101,110,116,101,114,101,100,32,97,103,97,105,110,32,116,111,32,109,97,116,99,104,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,46,32,84,104,101,32,115,111,108,117,116,105,111,110,32,105,115,32,116,111,32,115,101,112,97,114,97,116,101,32,116,104,101,32,116,119,111,32,99,97,115,101,115,44,32,97,110,100,32,119,114,105,116,101,32,111,117,116,32,116,104,101,32,111,100,100,32,97,110,100,32,101,118,101,110,32,99,97,115,101,115,32,97,115,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,116,32,116,104,101,32,104,105,103,104,101,114,32,108,101,118,101,108,58>>]},{pre,[],[{code,[],[<<94,40,63,58,40,40,46,41,40,63,49,41,92,50,124,41,124,40,40,46,41,40,63,51,41,92,52,124,46,41,41>>]}]},{p,[],[<<73,102,32,121,111,117,32,119,97,110,116,32,116,111,32,109,97,116,99,104,32,116,121,112,105,99,97,108,32,112,97,108,105,110,100,114,111,109,105,99,32,112,104,114,97,115,101,115,44,32,116,104,101,32,112,97,116,116,101,114,110,32,109,117,115,116,32,105,103,110,111,114,101,32,97,108,108,32,110,111,110,45,119,111,114,100,32,99,104,97,114,97,99,116,101,114,115,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,100,111,110,101,32,97,115,32,102,111,108,108,111,119,115,58>>]},{pre,[],[{code,[],[<<94,92,87,42,43,40,63,58,40,40,46,41,92,87,42,43,40,63,49,41,92,87,42,43,92,50,124,41,124,40,40,46,41,92,87,42,43,40,63,51,41,92,87,42,43,92,52,124,92,87,42,43,46,92,87,42,43,41,41,92,87,42,43,36>>]}]},{p,[],[<<73,102,32,114,117,110,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<99,97,115,101,108,101,115,115>>]},<<44,32,116,104,105,115,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,112,104,114,97,115,101,115,32,115,117,99,104,32,97,115,32,34,65,32,109,97,110,44,32,97,32,112,108,97,110,44,32,97,32,99,97,110,97,108,58,32,80,97,110,97,109,97,33,34,32,97,110,100,32,105,116,32,119,111,114,107,115,32,119,101,108,108,32,105,110,32,98,111,116,104,32,80,67,82,69,32,97,110,100,32,80,101,114,108,46,32,78,111,116,105,99,101,32,116,104,101,32,117,115,101,32,111,102,32,116,104,101,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,42,43,32,116,111,32,97,118,111,105,100,32,98,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,115,101,113,117,101,110,99,101,115,32,111,102,32,110,111,110,45,119,111,114,100,32,99,104,97,114,97,99,116,101,114,115,46,32,87,105,116,104,111,117,116,32,116,104,105,115,44,32,80,67,82,69,32,116,97,107,101,115,32,109,117,99,104,32,108,111,110,103,101,114,32,40,49,48,32,116,105,109,101,115,32,111,114,32,109,111,114,101,41,32,116,111,32,109,97,116,99,104,32,116,121,112,105,99,97,108,32,112,104,114,97,115,101,115,44,32,97,110,100,32,80,101,114,108,32,116,97,107,101,115,32,115,111,32,108,111,110,103,32,116,104,97,116,32,121,111,117,32,116,104,105,110,107,32,105,116,32,104,97,115,32,103,111,110,101,32,105,110,116,111,32,97,32,108,111,111,112,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,112,97,108,105,110,100,114,111,109,101,45,109,97,116,99,104,105,110,103,32,112,97,116,116,101,114,110,115,32,97,98,111,118,101,32,119,111,114,107,32,111,110,108,121,32,105,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,100,111,101,115,32,110,111,116,32,115,116,97,114,116,32,119,105,116,104,32,97,32,112,97,108,105,110,100,114,111,109,101,32,116,104,97,116,32,105,115,32,115,104,111,114,116,101,114,32,116,104,97,110,32,116,104,101,32,101,110,116,105,114,101,32,115,116,114,105,110,103,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,97,108,116,104,111,117,103,104,32,34,97,98,99,98,97,34,32,105,115,32,99,111,114,114,101,99,116,108,121,32,109,97,116,99,104,101,100,44,32,105,102,32,116,104,101,32,115,117,98,106,101,99,116,32,105,115,32,34,97,98,97,98,97,34,44,32,80,67,82,69,32,102,105,110,100,115,32,112,97,108,105,110,100,114,111,109,101,32,34,97,98,97,34,32,97,116,32,116,104,101,32,115,116,97,114,116,44,32,97,110,100,32,116,104,101,110,32,102,97,105,108,115,32,97,116,32,116,111,112,32,108,101,118,101,108,44,32,97,115,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,100,111,101,115,32,110,111,116,32,102,111,108,108,111,119,46,32,79,110,99,101,32,97,103,97,105,110,44,32,105,116,32,99,97,110,110,111,116,32,106,117,109,112,32,98,97,99,107,32,105,110,116,111,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,116,111,32,116,114,121,32,111,116,104,101,114,32,97,108,116,101,114,110,97,116,105,118,101,115,44,32,115,111,32,116,104,101,32,101,110,116,105,114,101,32,109,97,116,99,104,32,102,97,105,108,115,46>>]}]},{p,[],[<<84,104,101,32,115,101,99,111,110,100,32,119,97,121,32,105,110,32,119,104,105,99,104,32,80,67,82,69,32,97,110,100,32,80,101,114,108,32,100,105,102,102,101,114,32,105,110,32,116,104,101,105,114,32,114,101,99,117,114,115,105,111,110,32,112,114,111,99,101,115,115,105,110,103,32,105,115,32,105,110,32,116,104,101,32,104,97,110,100,108,105,110,103,32,111,102,32,99,97,112,116,117,114,101,100,32,118,97,108,117,101,115,46,32,73,110,32,80,101,114,108,44,32,119,104,101,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,32,111,114,32,97,115,32,97,32,115,117,98,112,97,116,116,101,114,110,32,40,115,101,101,32,116,104,101,32,110,101,120,116,32,115,101,99,116,105,111,110,41,44,32,105,116,32,104,97,115,32,110,111,32,97,99,99,101,115,115,32,116,111,32,97,110,121,32,118,97,108,117,101,115,32,116,104,97,116,32,119,101,114,101,32,99,97,112,116,117,114,101,100,32,111,117,116,115,105,100,101,32,116,104,101,32,114,101,99,117,114,115,105,111,110,46,32,73,110,32,80,67,82,69,32,116,104,101,115,101,32,118,97,108,117,101,115,32,99,97,110,32,98,101,32,114,101,102,101,114,101,110,99,101,100,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[],[<<94,40,46,41,40,92,49,124,97,40,63,50,41,41>>]}]},{p,[],[<<73,110,32,80,67,82,69,44,32,105,116,32,109,97,116,99,104,101,115,32,34,98,97,98,34,46,32,84,104,101,32,102,105,114,115,116,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,109,97,116,99,104,32,34,98,34,44,32,116,104,101,110,32,105,110,32,116,104,101,32,115,101,99,111,110,100,32,103,114,111,117,112,44,32,119,104,101,110,32,116,104,101,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,92,49,32,102,97,105,108,115,32,116,111,32,109,97,116,99,104,32,34,98,34,44,32,116,104,101,32,115,101,99,111,110,100,32,97,108,116,101,114,110,97,116,105,118,101,32,109,97,116,99,104,101,115,32,34,97,34,44,32,97,110,100,32,116,104,101,110,32,114,101,99,117,114,115,101,115,46,32,73,110,32,116,104,101,32,114,101,99,117,114,115,105,111,110,44,32,92,49,32,100,111,101,115,32,110,111,119,32,109,97,116,99,104,32,34,98,34,32,97,110,100,32,115,111,32,116,104,101,32,119,104,111,108,101,32,109,97,116,99,104,32,115,117,99,99,101,101,100,115,46,32,73,110,32,80,101,114,108,44,32,116,104,101,32,112,97,116,116,101,114,110,32,102,97,105,108,115,32,116,111,32,109,97,116,99,104,32,98,101,99,97,117,115,101,32,105,110,115,105,100,101,32,116,104,101,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,32,92,49,32,99,97,110,110,111,116,32,97,99,99,101,115,115,32,116,104,101,32,101,120,116,101,114,110,97,108,108,121,32,115,101,116,32,118,97,108,117,101,46>>]},{a,[{id,<<115,101,99,116,50,49>>}],[]},{h2,[],[<<83,117,98,112,97,116,116,101,114,110,115,32,97,115,32,83,117,98,114,111,117,116,105,110,101,115>>]},{p,[],[<<73,102,32,116,104,101,32,115,121,110,116,97,120,32,102,111,114,32,97,32,114,101,99,117,114,115,105,118,101,32,115,117,98,112,97,116,116,101,114,110,32,99,97,108,108,32,40,101,105,116,104,101,114,32,98,121,32,110,117,109,98,101,114,32,111,114,32,98,121,32,110,97,109,101,41,32,105,115,32,117,115,101,100,32,111,117,116,115,105,100,101,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,116,111,32,119,104,105,99,104,32,105,116,32,114,101,102,101,114,115,44,32,105,116,32,111,112,101,114,97,116,101,115,32,108,105,107,101,32,97,32,115,117,98,114,111,117,116,105,110,101,32,105,110,32,97,32,112,114,111,103,114,97,109,109,105,110,103,32,108,97,110,103,117,97,103,101,46,32,84,104,101,32,99,97,108,108,101,100,32,115,117,98,112,97,116,116,101,114,110,32,99,97,110,32,98,101,32,100,101,102,105,110,101,100,32,98,101,102,111,114,101,32,111,114,32,97,102,116,101,114,32,116,104,101,32,114,101,102,101,114,101,110,99,101,46,32,65,32,110,117,109,98,101,114,101,100,32,114,101,102,101,114,101,110,99,101,32,99,97,110,32,98,101,32,97,98,115,111,108,117,116,101,32,111,114,32,114,101,108,97,116,105,118,101,44,32,97,115,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<40,46,46,46,40,97,98,115,111,108,117,116,101,41,46,46,46,41,46,46,46,40,63,50,41,46,46,46,10,40,46,46,46,40,114,101,108,97,116,105,118,101,41,46,46,46,41,46,46,46,40,63,45,49,41,46,46,46,10,40,46,46,46,40,63,43,49,41,46,46,46,40,114,101,108,97,116,105,118,101,41,46,46,46>>]}]},{p,[],[<<65,110,32,101,97,114,108,105,101,114,32,101,120,97,109,112,108,101,32,112,111,105,110,116,101,100,32,111,117,116,32,116,104,97,116,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,115,101,110,115,101,32,97,110,100,32,115,101,110,115,105,98,105,108,105,116,121,34,32,97,110,100,32,34,114,101,115,112,111,110,115,101,32,97,110,100,32,114,101,115,112,111,110,115,105,98,105,108,105,116,121,34,44,32,98,117,116,32,110,111,116,32,34,115,101,110,115,101,32,97,110,100,32,114,101,115,112,111,110,115,105,98,105,108,105,116,121,34,58>>]},{pre,[],[{code,[],[<<40,115,101,110,115,124,114,101,115,112,111,110,115,41,101,32,97,110,100,32,92,49,105,98,105,108,105,116,121>>]}]},{p,[],[<<73,102,32,105,110,115,116,101,97,100,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,105,115,32,117,115,101,100,44,32,105,116,32,109,97,116,99,104,101,115,32,34,115,101,110,115,101,32,97,110,100,32,114,101,115,112,111,110,115,105,98,105,108,105,116,121,34,32,97,110,100,32,116,104,101,32,111,116,104,101,114,32,116,119,111,32,115,116,114,105,110,103,115,58>>]},{pre,[],[{code,[],[<<40,115,101,110,115,124,114,101,115,112,111,110,115,41,101,32,97,110,100,32,40,63,49,41,105,98,105,108,105,116,121>>]}]},{p,[],[<<65,110,111,116,104,101,114,32,101,120,97,109,112,108,101,32,105,115,32,112,114,111,118,105,100,101,100,32,105,110,32,116,104,101,32,100,105,115,99,117,115,115,105,111,110,32,111,102,32,68,69,70,73,78,69,32,101,97,114,108,105,101,114,46>>]},{p,[],[<<65,108,108,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,115,44,32,114,101,99,117,114,115,105,118,101,32,111,114,32,110,111,116,44,32,97,114,101,32,97,108,119,97,121,115,32,116,114,101,97,116,101,100,32,97,115,32,97,116,111,109,105,99,32,103,114,111,117,112,115,46,32,84,104,97,116,32,105,115,44,32,111,110,99,101,32,97,32,115,117,98,114,111,117,116,105,110,101,32,104,97,115,32,109,97,116,99,104,101,100,32,115,111,109,101,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,105,116,32,105,115,32,110,101,118,101,114,32,114,101,45,101,110,116,101,114,101,100,44,32,101,118,101,110,32,105,102,32,105,116,32,99,111,110,116,97,105,110,115,32,117,110,116,114,105,101,100,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,110,100,32,116,104,101,114,101,32,105,115,32,97,32,115,117,98,115,101,113,117,101,110,116,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,46,32,65,110,121,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,116,104,97,116,32,97,114,101,32,115,101,116,32,100,117,114,105,110,103,32,116,104,101,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,32,114,101,118,101,114,116,32,116,111,32,116,104,101,105,114,32,112,114,101,118,105,111,117,115,32,118,97,108,117,101,115,32,97,102,116,101,114,119,97,114,100,115,46>>]},{p,[],[<<80,114,111,99,101,115,115,105,110,103,32,111,112,116,105,111,110,115,32,115,117,99,104,32,97,115,32,99,97,115,101,45,105,110,100,101,112,101,110,100,101,110,99,101,32,97,114,101,32,102,105,120,101,100,32,119,104,101,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,100,101,102,105,110,101,100,44,32,115,111,32,105,102,32,105,116,32,105,115,32,117,115,101,100,32,97,115,32,97,32,115,117,98,114,111,117,116,105,110,101,44,32,115,117,99,104,32,111,112,116,105,111,110,115,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,111,114,32,100,105,102,102,101,114,101,110,116,32,99,97,108,108,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,97,98,99,97,98,99,34,32,98,117,116,32,110,111,116,32,34,97,98,99,65,66,67,34,44,32,97,115,32,116,104,101,32,99,104,97,110,103,101,32,111,102,32,112,114,111,99,101,115,115,105,110,103,32,111,112,116,105,111,110,32,100,111,101,115,32,110,111,116,32,97,102,102,101,99,116,32,116,104,101,32,99,97,108,108,101,100,32,115,117,98,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[],[<<40,97,98,99,41,40,63,105,58,40,63,45,49,41,41>>]}]},{a,[{id,<<115,101,99,116,50,50>>}],[]},{h2,[],[<<79,110,105,103,117,114,117,109,97,32,83,117,98,114,111,117,116,105,110,101,32,83,121,110,116,97,120>>]},{p,[],[<<70,111,114,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,119,105,116,104,32,79,110,105,103,117,114,117,109,97,44,32,116,104,101,32,110,111,110,45,80,101,114,108,32,115,121,110,116,97,120,32,92,103,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,97,109,101,32,111,114,32,97,32,110,117,109,98,101,114,32,101,110,99,108,111,115,101,100,32,101,105,116,104,101,114,32,105,110,32,97,110,103,108,101,32,98,114,97,99,107,101,116,115,32,111,114,32,115,105,110,103,108,101,32,113,117,111,116,101,115,44,32,105,115,32,97,108,116,101,114,110,97,116,105,118,101,32,115,121,110,116,97,120,32,102,111,114,32,114,101,102,101,114,101,110,99,105,110,103,32,97,32,115,117,98,112,97,116,116,101,114,110,32,97,115,32,97,32,115,117,98,114,111,117,116,105,110,101,44,32,112,111,115,115,105,98,108,121,32,114,101,99,117,114,115,105,118,101,108,121,46,32,72,101,114,101,32,102,111,108,108,111,119,115,32,116,119,111,32,111,102,32,116,104,101,32,101,120,97,109,112,108,101,115,32,117,115,101,100,32,97,98,111,118,101,44,32,114,101,119,114,105,116,116,101,110,32,117,115,105,110,103,32,116,104,105,115,32,115,121,110,116,97,120,58>>]},{pre,[],[{code,[],[<<40,63,60,112,110,62,32,92,40,32,40,32,40,63,62,91,94,40,41,93,43,41,32,124,32,92,103,60,112,110,62,32,41,42,32,92,41,32,41,10,40,115,101,110,115,124,114,101,115,112,111,110,115,41,101,32,97,110,100,32,92,103,39,49,39,105,98,105,108,105,116,121>>]}]},{p,[],[<<80,67,82,69,32,115,117,112,112,111,114,116,115,32,97,110,32,101,120,116,101,110,115,105,111,110,32,116,111,32,79,110,105,103,117,114,117,109,97,58,32,105,102,32,97,32,110,117,109,98,101,114,32,105,115,32,112,114,101,99,101,100,101,100,32,98,121,32,97,32,112,108,117,115,32,111,114,32,109,105,110,117,115,32,115,105,103,110,44,32,105,116,32,105,115,32,116,97,107,101,110,32,97,115,32,97,32,114,101,108,97,116,105,118,101,32,114,101,102,101,114,101,110,99,101,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,97,98,99,41,40,63,105,58,92,103,60,45,49,62,41>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,92,103,123,46,46,46,125,32,40,80,101,114,108,32,115,121,110,116,97,120,41,32,97,110,100,32,92,103,60,46,46,46,62,32,40,79,110,105,103,117,114,117,109,97,32,115,121,110,116,97,120,41,32,97,114,101,32>>,{em,[],[<<110,111,116>>]},<<32,115,121,110,111,110,121,109,111,117,115,46,32,84,104,101,32,102,111,114,109,101,114,32,105,115,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,59,32,116,104,101,32,108,97,116,116,101,114,32,105,115,32,97,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,46>>]},{a,[{id,<<115,101,99,116,50,51>>}],[]},{h2,[],[<<66,97,99,107,116,114,97,99,107,105,110,103,32,67,111,110,116,114,111,108>>]},{p,[],[<<80,101,114,108,32,53,46,49,48,32,105,110,116,114,111,100,117,99,101,100,32,115,111,109,101,32,34,83,112,101,99,105,97,108,32,66,97,99,107,116,114,97,99,107,105,110,103,32,67,111,110,116,114,111,108,32,86,101,114,98,115,34,44,32,119,104,105,99,104,32,97,114,101,32,115,116,105,108,108,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,80,101,114,108,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,97,115,32,34,101,120,112,101,114,105,109,101,110,116,97,108,32,97,110,100,32,115,117,98,106,101,99,116,32,116,111,32,99,104,97,110,103,101,32,111,114,32,114,101,109,111,118,97,108,32,105,110,32,97,32,102,117,116,117,114,101,32,118,101,114,115,105,111,110,32,111,102,32,80,101,114,108,34,46,32,73,116,32,103,111,101,115,32,111,110,32,116,111,32,115,97,121,58,32,34,84,104,101,105,114,32,117,115,97,103,101,32,105,110,32,112,114,111,100,117,99,116,105,111,110,32,99,111,100,101,32,115,104,111,117,108,100,32,98,101,32,110,111,116,101,100,32,116,111,32,97,118,111,105,100,32,112,114,111,98,108,101,109,115,32,100,117,114,105,110,103,32,117,112,103,114,97,100,101,115,46,34,32,84,104,101,32,115,97,109,101,32,114,101,109,97,114,107,115,32,97,112,112,108,121,32,116,111,32,116,104,101,32,80,67,82,69,32,102,101,97,116,117,114,101,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,105,115,32,115,101,99,116,105,111,110,46>>]},{p,[],[<<84,104,101,32,110,101,119,32,118,101,114,98,115,32,109,97,107,101,32,117,115,101,32,111,102,32,119,104,97,116,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,105,110,118,97,108,105,100,32,115,121,110,116,97,120,58,32,97,110,32,111,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,32,102,111,108,108,111,119,101,100,32,98,121,32,97,110,32,97,115,116,101,114,105,115,107,46,32,84,104,101,121,32,97,114,101,32,103,101,110,101,114,97,108,108,121,32,111,102,32,116,104,101,32,102,111,114,109,32,40,42,86,69,82,66,41,32,111,114,32,40,42,86,69,82,66,58,78,65,77,69,41,46,32,83,111,109,101,32,99,97,110,32,116,97,107,101,32,101,105,116,104,101,114,32,102,111,114,109,44,32,112,111,115,115,105,98,108,121,32,98,101,104,97,118,105,110,103,32,100,105,102,102,101,114,101,110,116,108,121,32,100,101,112,101,110,100,105,110,103,32,111,110,32,119,104,101,116,104,101,114,32,97,32,110,97,109,101,32,105,115,32,112,114,101,115,101,110,116,46,32,65,32,110,97,109,101,32,105,115,32,97,110,121,32,115,101,113,117,101,110,99,101,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,105,110,99,108,117,100,101,32,97,32,99,108,111,115,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,46,32,84,104,101,32,109,97,120,105,109,117,109,32,110,97,109,101,32,108,101,110,103,116,104,32,105,115,32,50,53,53,32,105,110,32,116,104,101,32,56,45,98,105,116,32,108,105,98,114,97,114,121,32,97,110,100,32,54,53,53,51,53,32,105,110,32,116,104,101,32,49,54,45,98,105,116,32,97,110,100,32,51,50,45,98,105,116,32,108,105,98,114,97,114,105,101,115,46,32,73,102,32,116,104,101,32,110,97,109,101,32,105,115,32,101,109,112,116,121,44,32,116,104,97,116,32,105,115,44,32,105,102,32,116,104,101,32,99,108,111,115,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,32,105,109,109,101,100,105,97,116,101,108,121,32,102,111,108,108,111,119,115,32,116,104,101,32,99,111,108,111,110,44,32,116,104,101,32,101,102,102,101,99,116,32,105,115,32,97,115,32,105,102,32,116,104,101,32,99,111,108,111,110,32,119,97,115,32,110,111,116,32,116,104,101,114,101,46,32,65,110,121,32,110,117,109,98,101,114,32,111,102,32,116,104,101,115,101,32,118,101,114,98,115,32,99,97,110,32,111,99,99,117,114,32,105,110,32,97,32,112,97,116,116,101,114,110,46>>]},{p,[],[<<84,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,116,104,101,115,101,32,118,101,114,98,115,32,105,110,32,114,101,112,101,97,116,101,100,32,103,114,111,117,112,115,44,32,97,115,115,101,114,116,105,111,110,115,44,32,97,110,100,32,105,110,32,115,117,98,112,97,116,116,101,114,110,115,32,99,97,108,108,101,100,32,97,115,32,115,117,98,114,111,117,116,105,110,101,115,32,40,119,104,101,116,104,101,114,32,111,114,32,110,111,116,32,114,101,99,117,114,115,105,118,101,108,121,41,32,105,115,32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,46>>]},{p,[],[{em,[],[<<79,112,116,105,109,105,122,97,116,105,111,110,115,32,84,104,97,116,32,65,102,102,101,99,116,32,66,97,99,107,116,114,97,99,107,105,110,103,32,86,101,114,98,115>>]}]},{p,[],[<<80,67,82,69,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,111,112,116,105,109,105,122,97,116,105,111,110,115,32,116,104,97,116,32,97,114,101,32,117,115,101,100,32,116,111,32,115,112,101,101,100,32,117,112,32,109,97,116,99,104,105,110,103,32,98,121,32,114,117,110,110,105,110,103,32,115,111,109,101,32,99,104,101,99,107,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,101,97,99,104,32,109,97,116,99,104,32,97,116,116,101,109,112,116,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,116,32,99,97,110,32,107,110,111,119,32,116,104,101,32,109,105,110,105,109,117,109,32,108,101,110,103,116,104,32,111,102,32,109,97,116,99,104,105,110,103,32,115,117,98,106,101,99,116,44,32,111,114,32,116,104,97,116,32,97,32,112,97,114,116,105,99,117,108,97,114,32,99,104,97,114,97,99,116,101,114,32,109,117,115,116,32,98,101,32,112,114,101,115,101,110,116,46,32,87,104,101,110,32,111,110,101,32,111,102,32,116,104,101,115,101,32,111,112,116,105,109,105,122,97,116,105,111,110,115,32,98,121,112,97,115,115,101,115,32,116,104,101,32,114,117,110,110,105,110,103,32,111,102,32,97,32,109,97,116,99,104,44,32,97,110,121,32,105,110,99,108,117,100,101,100,32,98,97,99,107,116,114,97,99,107,105,110,103,32,118,101,114,98,115,32,97,114,101,32,110,111,116,32,112,114,111,99,101,115,115,101,100,46,32,112,114,111,99,101,115,115,101,100,46,32,89,111,117,32,99,97,110,32,115,117,112,112,114,101,115,115,32,116,104,101,32,115,116,97,114,116,45,111,102,45,109,97,116,99,104,32,111,112,116,105,109,105,122,97,116,105,111,110,115,32,98,121,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<110,111,95,115,116,97,114,116,95,111,112,116,105,109,105,122,101>>]},<<32,119,104,101,110,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,99,111,109,112,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,111,109,112,105,108,101,47,50>>]}]},<<32,111,114,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<44,32,111,114,32,98,121,32,115,116,97,114,116,105,110,103,32,116,104,101,32,112,97,116,116,101,114,110,32,119,105,116,104,32,40,42,78,79,95,83,84,65,82,84,95,79,80,84,41,46>>]},{p,[],[<<69,120,112,101,114,105,109,101,110,116,115,32,119,105,116,104,32,80,101,114,108,32,115,117,103,103,101,115,116,32,116,104,97,116,32,105,116,32,116,111,111,32,104,97,115,32,115,105,109,105,108,97,114,32,111,112,116,105,109,105,122,97,116,105,111,110,115,44,32,115,111,109,101,116,105,109,101,115,32,108,101,97,100,105,110,103,32,116,111,32,97,110,111,109,97,108,111,117,115,32,114,101,115,117,108,116,115,46>>]},{p,[],[{em,[],[<<86,101,114,98,115,32,84,104,97,116,32,65,99,116,32,73,109,109,101,100,105,97,116,101,108,121>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,118,101,114,98,115,32,97,99,116,32,97,115,32,115,111,111,110,32,97,115,32,116,104,101,121,32,97,114,101,32,101,110,99,111,117,110,116,101,114,101,100,46,32,84,104,101,121,32,109,117,115,116,32,110,111,116,32,98,101,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,97,109,101,46>>]},{pre,[],[{code,[],[<<40,42,65,67,67,69,80,84,41>>]}]},{p,[],[<<84,104,105,115,32,118,101,114,98,32,99,97,117,115,101,115,32,116,104,101,32,109,97,116,99,104,32,116,111,32,101,110,100,32,115,117,99,99,101,115,115,102,117,108,108,121,44,32,115,107,105,112,112,105,110,103,32,116,104,101,32,114,101,109,97,105,110,100,101,114,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,46,32,72,111,119,101,118,101,114,44,32,119,104,101,110,32,105,116,32,105,115,32,105,110,115,105,100,101,32,97,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,105,115,32,99,97,108,108,101,100,32,97,115,32,97,32,115,117,98,114,111,117,116,105,110,101,44,32,111,110,108,121,32,116,104,97,116,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,101,110,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,46,32,77,97,116,99,104,105,110,103,32,116,104,101,110,32,99,111,110,116,105,110,117,101,115,32,97,116,32,116,104,101,32,111,117,116,101,114,32,108,101,118,101,108,46,32,73,102,32,40,42,65,67,67,69,80,84,41,32,105,115,32,116,114,105,103,103,101,114,101,100,32,105,110,32,97,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,44,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,115,117,99,99,101,101,100,115,59,32,105,110,32,97,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,44,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,102,97,105,108,115,46>>]},{p,[],[<<73,102,32,40,42,65,67,67,69,80,84,41,32,105,115,32,105,110,115,105,100,101,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,44,32,116,104,101,32,100,97,116,97,32,115,111,32,102,97,114,32,105,115,32,99,97,112,116,117,114,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,34,65,66,34,44,32,34,65,65,68,34,44,32,111,114,32,34,65,67,68,34,46,32,87,104,101,110,32,105,116,32,109,97,116,99,104,101,115,32,34,65,66,34,44,32,34,66,34,32,105,115,32,99,97,112,116,117,114,101,100,32,98,121,32,116,104,101,32,111,117,116,101,114,32,112,97,114,101,110,116,104,101,115,101,115,46>>]},{pre,[],[{code,[],[<<65,40,40,63,58,65,124,66,40,42,65,67,67,69,80,84,41,124,67,41,68,41>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,118,101,114,98,32,99,97,117,115,101,115,32,97,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,44,32,102,111,114,99,105,110,103,32,98,97,99,107,116,114,97,99,107,105,110,103,32,116,111,32,111,99,99,117,114,46,32,73,116,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,40,63,33,41,32,98,117,116,32,101,97,115,105,101,114,32,116,111,32,114,101,97,100,46>>]},{pre,[],[{code,[],[<<40,42,70,65,73,76,41,32,111,114,32,40,42,70,41>>]}]},{p,[],[<<84,104,101,32,80,101,114,108,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,115,116,97,116,101,115,32,116,104,97,116,32,105,116,32,105,115,32,112,114,111,98,97,98,108,121,32,117,115,101,102,117,108,32,111,110,108,121,32,119,104,101,110,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,40,63,123,125,41,32,111,114,32,40,63,63,123,125,41,46,32,84,104,111,115,101,32,97,114,101,32,80,101,114,108,32,102,101,97,116,117,114,101,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,80,67,82,69,46>>]},{p,[],[<<65,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,115,116,114,105,110,103,32,34,97,97,97,97,34,32,97,108,119,97,121,115,32,102,97,105,108,115,44,32,98,117,116,32,116,104,101,32,99,97,108,108,111,117,116,32,105,115,32,116,97,107,101,110,32,98,101,102,111,114,101,32,101,97,99,104,32,98,97,99,107,116,114,97,99,107,32,111,99,99,117,114,115,32,40,105,110,32,116,104,105,115,32,101,120,97,109,112,108,101,44,32,49,48,32,116,105,109,101,115,41,46>>]},{p,[],[{em,[],[<<82,101,99,111,114,100,105,110,103,32,87,104,105,99,104,32,80,97,116,104,32,87,97,115,32,84,97,107,101,110>>]}]},{p,[],[<<84,104,101,32,109,97,105,110,32,112,117,114,112,111,115,101,32,111,102,32,116,104,105,115,32,118,101,114,98,32,105,115,32,116,111,32,116,114,97,99,107,32,104,111,119,32,97,32,109,97,116,99,104,32,119,97,115,32,97,114,114,105,118,101,100,32,97,116,44,32,97,108,116,104,111,117,103,104,32,105,116,32,97,108,115,111,32,104,97,115,32,97,32,115,101,99,111,110,100,97,114,121,32,117,115,101,32,105,110,32,119,105,116,104,32,97,100,118,97,110,99,105,110,103,32,116,104,101,32,109,97,116,99,104,32,115,116,97,114,116,105,110,103,32,112,111,105,110,116,32,40,115,101,101,32,40,42,83,75,73,80,41,32,98,101,108,111,119,41,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,110,32,69,114,108,97,110,103,44,32,116,104,101,114,101,32,105,115,32,110,111,32,105,110,116,101,114,102,97,99,101,32,116,111,32,114,101,116,114,105,101,118,101,32,97,32,109,97,114,107,32,119,105,116,104,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,50,44,51>>]}]},<<44,32,115,111,32,111,110,108,121,32,116,104,101,32,115,101,99,111,110,100,97,114,121,32,112,117,114,112,111,115,101,32,105,115,32,114,101,108,101,118,97,110,116,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,103,114,97,109,109,101,114,46>>]},{p,[],[<<84,104,101,32,114,101,115,116,32,111,102,32,116,104,105,115,32,115,101,99,116,105,111,110,32,105,115,32,116,104,101,114,101,102,111,114,101,32,100,101,108,105,98,101,114,97,116,101,108,121,32,110,111,116,32,97,100,97,112,116,101,100,32,102,111,114,32,114,101,97,100,105,110,103,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,103,114,97,109,109,101,114,44,32,98,117,116,32,116,104,101,32,101,120,97,109,112,108,101,115,32,99,97,110,32,104,101,108,112,32,105,110,32,117,110,100,101,114,115,116,97,110,100,105,110,103,32,78,65,77,69,83,32,97,115,32,116,104,101,121,32,99,97,110,32,98,101,32,117,115,101,100,32,98,121,32,40,42,83,75,73,80,41,46>>]}]},{pre,[],[{code,[],[<<40,42,77,65,82,75,58,78,65,77,69,41,32,111,114,32,40,42,58,78,65,77,69,41>>]}]},{p,[],[<<65,32,110,97,109,101,32,105,115,32,97,108,119,97,121,115,32,114,101,113,117,105,114,101,100,32,119,105,116,104,32,116,104,105,115,32,118,101,114,98,46,32,84,104,101,114,101,32,99,97,110,32,98,101,32,97,115,32,109,97,110,121,32,105,110,115,116,97,110,99,101,115,32,111,102,32,40,42,77,65,82,75,41,32,97,115,32,121,111,117,32,108,105,107,101,32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,97,110,100,32,116,104,101,105,114,32,110,97,109,101,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,111,32,98,101,32,117,110,105,113,117,101,46>>]},{p,[],[<<87,104,101,110,32,97,32,109,97,116,99,104,32,115,117,99,99,101,101,100,115,44,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,108,97,115,116,32,101,110,99,111,117,110,116,101,114,101,100,32,40,42,77,65,82,75,58,78,65,77,69,41,44,32,40,42,80,82,85,78,69,58,78,65,77,69,41,44,32,111,114,32,40,42,84,72,69,78,58,78,65,77,69,41,32,111,110,32,116,104,101,32,109,97,116,99,104,105,110,103,32,112,97,116,104,32,105,115,32,112,97,115,115,101,100,32,98,97,99,107,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,115,101,99,116,105,111,110,32,34,69,120,116,114,97,32,100,97,116,97,32,102,111,114,32>>,{code,[],[<<112,99,114,101,95,101,120,101,99,40,41>>]},<<34,32,105,110,32,116,104,101,32>>,{code,[],[<<112,99,114,101,97,112,105>>]},<<32,100,111,99,117,109,101,110,116,97,116,105,111,110,46,32,73,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,32,111,102,32>>,{code,[],[<<112,99,114,101,116,101,115,116>>]},<<32,111,117,116,112,117,116,44,32,116,104,101,32,47,75,32,109,111,100,105,102,105,101,114,32,114,101,113,117,101,115,116,115,32,116,104,101,32,114,101,116,114,105,101,118,97,108,32,97,110,100,32,111,117,116,112,117,116,116,105,110,103,32,111,102,32,40,42,77,65,82,75,41,32,100,97,116,97,58>>]},{pre,[],[{code,[],[<<32,32,114,101,62,32,47,88,40,42,77,65,82,75,58,65,41,89,124,88,40,42,77,65,82,75,58,66,41,90,47,75,10,100,97,116,97,62,32,88,89,10,32,48,58,32,88,89,10,77,75,58,32,65,10,88,90,10,32,48,58,32,88,90,10,77,75,58,32,66>>]}]},{p,[],[<<84,104,101,32,40,42,77,65,82,75,41,32,110,97,109,101,32,105,115,32,116,97,103,103,101,100,32,119,105,116,104,32,34,77,75,58,34,32,105,110,32,116,104,105,115,32,111,117,116,112,117,116,44,32,97,110,100,32,105,110,32,116,104,105,115,32,101,120,97,109,112,108,101,32,105,116,32,105,110,100,105,99,97,116,101,115,32,119,104,105,99,104,32,111,102,32,116,104,101,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,115,32,109,97,116,99,104,101,100,46,32,84,104,105,115,32,105,115,32,97,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,119,97,121,32,111,102,32,111,98,116,97,105,110,105,110,103,32,116,104,105,115,32,105,110,102,111,114,109,97,116,105,111,110,32,116,104,97,110,32,112,117,116,116,105,110,103,32,101,97,99,104,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,105,116,115,32,111,119,110,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,46>>]},{p,[],[<<73,102,32,97,32,118,101,114,98,32,119,105,116,104,32,97,32,110,97,109,101,32,105,115,32,101,110,99,111,117,110,116,101,114,101,100,32,105,110,32,97,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,32,116,104,97,116,32,105,115,32,116,114,117,101,44,32,116,104,101,32,110,97,109,101,32,105,115,32,114,101,99,111,114,100,101,100,32,97,110,100,32,112,97,115,115,101,100,32,98,97,99,107,32,105,102,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,101,110,99,111,117,110,116,101,114,101,100,46,32,84,104,105,115,32,100,111,101,115,32,110,111,116,32,111,99,99,117,114,32,102,111,114,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,32,111,114,32,102,97,105,108,105,110,103,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,46>>]},{p,[],[<<65,102,116,101,114,32,97,32,112,97,114,116,105,97,108,32,109,97,116,99,104,32,111,114,32,97,32,102,97,105,108,101,100,32,109,97,116,99,104,44,32,116,104,101,32,108,97,115,116,32,101,110,99,111,117,110,116,101,114,101,100,32,110,97,109,101,32,105,110,32,116,104,101,32,101,110,116,105,114,101,32,109,97,116,99,104,32,112,114,111,99,101,115,115,32,105,115,32,114,101,116,117,114,110,101,100,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<32,32,114,101,62,32,47,88,40,42,77,65,82,75,58,65,41,89,124,88,40,42,77,65,82,75,58,66,41,90,47,75,10,100,97,116,97,62,32,88,80,10,78,111,32,109,97,116,99,104,44,32,109,97,114,107,32,61,32,66>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,105,110,32,116,104,105,115,32,117,110,97,110,99,104,111,114,101,100,32,101,120,97,109,112,108,101,44,32,116,104,101,32,109,97,114,107,32,105,115,32,114,101,116,97,105,110,101,100,32,102,114,111,109,32,116,104,101,32,109,97,116,99,104,32,97,116,116,101,109,112,116,32,116,104,97,116,32,115,116,97,114,116,101,100,32,97,116,32,108,101,116,116,101,114,32,34,88,34,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,46,32,83,117,98,115,101,113,117,101,110,116,32,109,97,116,99,104,32,97,116,116,101,109,112,116,115,32,115,116,97,114,116,105,110,103,32,97,116,32,34,80,34,32,97,110,100,32,116,104,101,110,32,119,105,116,104,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,32,100,111,32,110,111,116,32,103,101,116,32,97,115,32,102,97,114,32,97,115,32,116,104,101,32,40,42,77,65,82,75,41,32,105,116,101,109,44,32,110,101,118,101,114,116,104,101,108,101,115,115,32,100,111,32,110,111,116,32,114,101,115,101,116,32,105,116,46>>]},{p,[],[{em,[],[<<86,101,114,98,115,32,84,104,97,116,32,65,99,116,32,97,102,116,101,114,32,66,97,99,107,116,114,97,99,107,105,110,103>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,118,101,114,98,115,32,100,111,32,110,111,116,104,105,110,103,32,119,104,101,110,32,116,104,101,121,32,97,114,101,32,101,110,99,111,117,110,116,101,114,101,100,46,32,77,97,116,99,104,105,110,103,32,99,111,110,116,105,110,117,101,115,32,119,105,116,104,32,119,104,97,116,32,102,111,108,108,111,119,115,44,32,98,117,116,32,105,102,32,116,104,101,114,101,32,105,115,32,110,111,32,115,117,98,115,101,113,117,101,110,116,32,109,97,116,99,104,44,32,99,97,117,115,105,110,103,32,97,32,98,97,99,107,116,114,97,99,107,32,116,111,32,116,104,101,32,118,101,114,98,44,32,97,32,102,97,105,108,117,114,101,32,105,115,32,102,111,114,99,101,100,46,32,84,104,97,116,32,105,115,44,32,98,97,99,107,116,114,97,99,107,105,110,103,32,99,97,110,110,111,116,32,112,97,115,115,32,116,111,32,116,104,101,32,108,101,102,116,32,111,102,32,116,104,101,32,118,101,114,98,46,32,72,111,119,101,118,101,114,44,32,119,104,101,110,32,111,110,101,32,111,102,32,116,104,101,115,101,32,118,101,114,98,115,32,97,112,112,101,97,114,115,32,105,110,115,105,100,101,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,32,111,114,32,97,110,32,97,115,115,101,114,116,105,111,110,32,116,104,97,116,32,105,115,32,116,114,117,101,44,32,105,116,115,32,101,102,102,101,99,116,32,105,115,32,99,111,110,102,105,110,101,100,32,116,111,32,116,104,97,116,32,103,114,111,117,112,44,32,97,115,32,111,110,99,101,32,116,104,101,32,103,114,111,117,112,32,104,97,115,32,98,101,101,110,32,109,97,116,99,104,101,100,44,32,116,104,101,114,101,32,105,115,32,110,101,118,101,114,32,97,110,121,32,98,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,105,116,46,32,73,110,32,116,104,105,115,32,115,105,116,117,97,116,105,111,110,44,32,98,97,99,107,116,114,97,99,107,105,110,103,32,99,97,110,32,34,106,117,109,112,32,98,97,99,107,34,32,116,111,32,116,104,101,32,108,101,102,116,32,111,102,32,116,104,101,32,101,110,116,105,114,101,32,97,116,111,109,105,99,32,103,114,111,117,112,32,111,114,32,97,115,115,101,114,116,105,111,110,46,32,40,82,101,109,101,109,98,101,114,32,97,108,115,111,44,32,97,115,32,115,116,97,116,101,100,32,97,98,111,118,101,44,32,116,104,97,116,32,116,104,105,115,32,108,111,99,97,108,105,122,97,116,105,111,110,32,97,108,115,111,32,97,112,112,108,105,101,115,32,105,110,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,115,46,41>>]},{p,[],[<<84,104,101,115,101,32,118,101,114,98,115,32,100,105,102,102,101,114,32,105,110,32,101,120,97,99,116,108,121,32,119,104,97,116,32,107,105,110,100,32,111,102,32,102,97,105,108,117,114,101,32,111,99,99,117,114,115,32,119,104,101,110,32,98,97,99,107,116,114,97,99,107,105,110,103,32,114,101,97,99,104,101,115,32,116,104,101,109,46,32,84,104,101,32,98,101,104,97,118,105,111,114,32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,32,105,115,32,119,104,97,116,32,111,99,99,117,114,115,32,119,104,101,110,32,116,104,101,32,118,101,114,98,32,105,115,32,110,111,116,32,105,110,32,97,32,115,117,98,114,111,117,116,105,110,101,32,111,114,32,97,110,32,97,115,115,101,114,116,105,111,110,46,32,83,117,98,115,101,113,117,101,110,116,32,115,101,99,116,105,111,110,115,32,99,111,118,101,114,32,116,104,101,115,101,32,115,112,101,99,105,97,108,32,99,97,115,101,115,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,118,101,114,98,44,32,119,104,105,99,104,32,109,117,115,116,32,110,111,116,32,98,101,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,97,109,101,44,32,99,97,117,115,101,115,32,116,104,101,32,119,104,111,108,101,32,109,97,116,99,104,32,116,111,32,102,97,105,108,32,111,117,116,114,105,103,104,116,32,105,102,32,116,104,101,114,101,32,105,115,32,97,32,108,97,116,101,114,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,32,116,104,97,116,32,99,97,117,115,101,115,32,98,97,99,107,116,114,97,99,107,105,110,103,32,116,111,32,114,101,97,99,104,32,105,116,46,32,69,118,101,110,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,117,110,97,110,99,104,111,114,101,100,44,32,110,111,32,102,117,114,116,104,101,114,32,97,116,116,101,109,112,116,115,32,116,111,32,102,105,110,100,32,97,32,109,97,116,99,104,32,98,121,32,97,100,118,97,110,99,105,110,103,32,116,104,101,32,115,116,97,114,116,105,110,103,32,112,111,105,110,116,32,116,97,107,101,32,112,108,97,99,101,46>>]},{pre,[],[{code,[],[<<40,42,67,79,77,77,73,84,41>>]}]},{p,[],[<<73,102,32,40,42,67,79,77,77,73,84,41,32,105,115,32,116,104,101,32,111,110,108,121,32,98,97,99,107,116,114,97,99,107,105,110,103,32,118,101,114,98,32,116,104,97,116,32,105,115,32,101,110,99,111,117,110,116,101,114,101,100,44,32,111,110,99,101,32,105,116,32,104,97,115,32,98,101,101,110,32,112,97,115,115,101,100,44,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,50,44,51>>]}]},<<32,105,115,32,99,111,109,109,105,116,116,101,100,32,116,111,32,102,105,110,100,32,97,32,109,97,116,99,104,32,97,116,32,116,104,101,32,99,117,114,114,101,110,116,32,115,116,97,114,116,105,110,103,32,112,111,105,110,116,44,32,111,114,32,110,111,116,32,97,116,32,97,108,108,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<97,43,40,42,67,79,77,77,73,84,41,98>>]}]},{p,[],[<<84,104,105,115,32,109,97,116,99,104,101,115,32,34,120,120,97,97,98,34,32,98,117,116,32,110,111,116,32,34,97,97,99,97,97,98,34,46,32,73,116,32,99,97,110,32,98,101,32,116,104,111,117,103,104,116,32,111,102,32,97,115,32,97,32,107,105,110,100,32,111,102,32,100,121,110,97,109,105,99,32,97,110,99,104,111,114,44,32,111,114,32,34,73,39,118,101,32,115,116,97,114,116,101,100,44,32,115,111,32,73,32,109,117,115,116,32,102,105,110,105,115,104,34,46,32,84,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,109,111,115,116,32,114,101,99,101,110,116,108,121,32,112,97,115,115,101,100,32,40,42,77,65,82,75,41,32,105,110,32,116,104,101,32,112,97,116,104,32,105,115,32,112,97,115,115,101,100,32,98,97,99,107,32,119,104,101,110,32,40,42,67,79,77,77,73,84,41,32,102,111,114,99,101,115,32,97,32,109,97,116,99,104,32,102,97,105,108,117,114,101,46>>]},{p,[],[<<73,102,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,98,97,99,107,116,114,97,99,107,105,110,103,32,118,101,114,98,32,101,120,105,115,116,115,32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,97,32,100,105,102,102,101,114,101,110,116,32,111,110,101,32,116,104,97,116,32,102,111,108,108,111,119,115,32,40,42,67,79,77,77,73,84,41,32,99,97,110,32,98,101,32,116,114,105,103,103,101,114,101,100,32,102,105,114,115,116,44,32,115,111,32,109,101,114,101,108,121,32,112,97,115,115,105,110,103,32,40,42,67,79,77,77,73,84,41,32,100,117,114,105,110,103,32,97,32,109,97,116,99,104,32,100,111,101,115,32,110,111,116,32,97,108,119,97,121,115,32,103,117,97,114,97,110,116,101,101,32,116,104,97,116,32,97,32,109,97,116,99,104,32,109,117,115,116,32,98,101,32,97,116,32,116,104,105,115,32,115,116,97,114,116,105,110,103,32,112,111,105,110,116,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,40,42,67,79,77,77,73,84,41,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,97,32,112,97,116,116,101,114,110,32,105,115,32,110,111,116,32,116,104,101,32,115,97,109,101,32,97,115,32,97,110,32,97,110,99,104,111,114,44,32,117,110,108,101,115,115,32,116,104,101,32,80,67,82,69,32,115,116,97,114,116,45,111,102,45,109,97,116,99,104,32,111,112,116,105,109,105,122,97,116,105,111,110,115,32,97,114,101,32,116,117,114,110,101,100,32,111,102,102,44,32,97,115,32,115,104,111,119,110,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<49,62,32,114,101,58,114,117,110,40,34,120,121,122,97,98,99,34,44,34,40,42,67,79,77,77,73,84,41,97,98,99,34,44,91,123,99,97,112,116,117,114,101,44,97,108,108,44,108,105,115,116,125,93,41,46,10,123,109,97,116,99,104,44,91,34,97,98,99,34,93,125,10,50,62,32,114,101,58,114,117,110,40,34,120,121,122,97,98,99,34,44,34,40,42,67,79,77,77,73,84,41,97,98,99,34,44,91,123,99,97,112,116,117,114,101,44,97,108,108,44,108,105,115,116,125,44,110,111,95,115,116,97,114,116,95,111,112,116,105,109,105,122,101,93,41,46,10,110,111,109,97,116,99,104>>]}]},{p,[],[<<70,111,114,32,116,104,105,115,32,112,97,116,116,101,114,110,44,32,80,67,82,69,32,107,110,111,119,115,32,116,104,97,116,32,97,110,121,32,109,97,116,99,104,32,109,117,115,116,32,115,116,97,114,116,32,119,105,116,104,32,34,97,34,44,32,115,111,32,116,104,101,32,111,112,116,105,109,105,122,97,116,105,111,110,32,115,107,105,112,115,32,97,108,111,110,103,32,116,104,101,32,115,117,98,106,101,99,116,32,116,111,32,34,97,34,32,98,101,102,111,114,101,32,97,112,112,108,121,105,110,103,32,116,104,101,32,112,97,116,116,101,114,110,32,116,111,32,116,104,101,32,102,105,114,115,116,32,115,101,116,32,111,102,32,100,97,116,97,46,32,84,104,101,32,109,97,116,99,104,32,97,116,116,101,109,112,116,32,116,104,101,110,32,115,117,99,99,101,101,100,115,46,32,73,110,32,116,104,101,32,115,101,99,111,110,100,32,99,97,108,108,32,116,104,101,32>>,{code,[],[<<110,111,95,115,116,97,114,116,95,111,112,116,105,109,105,122,101>>]},<<32,100,105,115,97,98,108,101,115,32,116,104,101,32,111,112,116,105,109,105,122,97,116,105,111,110,32,116,104,97,116,32,115,107,105,112,115,32,97,108,111,110,103,32,116,111,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,46,32,84,104,101,32,112,97,116,116,101,114,110,32,105,115,32,110,111,119,32,97,112,112,108,105,101,100,32,115,116,97,114,116,105,110,103,32,97,116,32,34,120,34,44,32,97,110,100,32,115,111,32,116,104,101,32,40,42,67,79,77,77,73,84,41,32,99,97,117,115,101,115,32,116,104,101,32,109,97,116,99,104,32,116,111,32,102,97,105,108,32,119,105,116,104,111,117,116,32,116,114,121,105,110,103,32,97,110,121,32,111,116,104,101,114,32,115,116,97,114,116,105,110,103,32,112,111,105,110,116,115,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,118,101,114,98,32,99,97,117,115,101,115,32,116,104,101,32,109,97,116,99,104,32,116,111,32,102,97,105,108,32,97,116,32,116,104,101,32,99,117,114,114,101,110,116,32,115,116,97,114,116,105,110,103,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,105,102,32,116,104,101,114,101,32,105,115,32,97,32,108,97,116,101,114,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,32,116,104,97,116,32,99,97,117,115,101,115,32,98,97,99,107,116,114,97,99,107,105,110,103,32,116,111,32,114,101,97,99,104,32,105,116,58>>]},{pre,[],[{code,[],[<<40,42,80,82,85,78,69,41,32,111,114,32,40,42,80,82,85,78,69,58,78,65,77,69,41>>]}]},{p,[],[<<73,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,117,110,97,110,99,104,111,114,101,100,44,32,116,104,101,32,110,111,114,109,97,108,32,34,98,117,109,112,97,108,111,110,103,34,32,97,100,118,97,110,99,101,32,116,111,32,116,104,101,32,110,101,120,116,32,115,116,97,114,116,105,110,103,32,99,104,97,114,97,99,116,101,114,32,116,104,101,110,32,111,99,99,117,114,115,46,32,66,97,99,107,116,114,97,99,107,105,110,103,32,99,97,110,32,111,99,99,117,114,32,97,115,32,117,115,117,97,108,32,116,111,32,116,104,101,32,108,101,102,116,32,111,102,32,40,42,80,82,85,78,69,41,44,32,98,101,102,111,114,101,32,105,116,32,105,115,32,114,101,97,99,104,101,100,44,32,111,114,32,119,104,101,110,32,109,97,116,99,104,105,110,103,32,116,111,32,116,104,101,32,114,105,103,104,116,32,111,102,32,40,42,80,82,85,78,69,41,44,32,98,117,116,32,105,102,32,116,104,101,114,101,32,105,115,32,110,111,32,109,97,116,99,104,32,116,111,32,116,104,101,32,114,105,103,104,116,44,32,98,97,99,107,116,114,97,99,107,105,110,103,32,99,97,110,110,111,116,32,99,114,111,115,115,32,40,42,80,82,85,78,69,41,46,32,73,110,32,115,105,109,112,108,101,32,99,97,115,101,115,44,32,116,104,101,32,117,115,101,32,111,102,32,40,42,80,82,85,78,69,41,32,105,115,32,106,117,115,116,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,116,111,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,32,111,114,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,44,32,98,117,116,32,116,104,101,114,101,32,97,114,101,32,115,111,109,101,32,117,115,101,115,32,111,102,32,40,42,80,82,85,78,69,41,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,101,120,112,114,101,115,115,101,100,32,105,110,32,97,110,121,32,111,116,104,101,114,32,119,97,121,46,32,73,110,32,97,110,32,97,110,99,104,111,114,101,100,32,112,97,116,116,101,114,110,44,32,40,42,80,82,85,78,69,41,32,104,97,115,32,116,104,101,32,115,97,109,101,32,101,102,102,101,99,116,32,97,115,32,40,42,67,79,77,77,73,84,41,46>>]},{p,[],[<<84,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,40,42,80,82,85,78,69,58,78,65,77,69,41,32,105,115,32,116,104,101,32,110,111,116,32,116,104,101,32,115,97,109,101,32,97,115,32,40,42,77,65,82,75,58,78,65,77,69,41,40,42,80,82,85,78,69,41,46,32,73,116,32,105,115,32,108,105,107,101,32,40,42,77,65,82,75,58,78,65,77,69,41,32,105,110,32,116,104,97,116,32,116,104,101,32,110,97,109,101,32,105,115,32,114,101,109,101,109,98,101,114,101,100,32,102,111,114,32,112,97,115,115,105,110,103,32,98,97,99,107,32,116,111,32,116,104,101,32,99,97,108,108,101,114,46,32,72,111,119,101,118,101,114,44,32,40,42,83,75,73,80,58,78,65,77,69,41,32,115,101,97,114,99,104,101,115,32,111,110,108,121,32,102,111,114,32,110,97,109,101,115,32,115,101,116,32,119,105,116,104,32,40,42,77,65,82,75,41,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,102,97,99,116,32,116,104,97,116,32,40,42,80,82,85,78,69,58,78,65,77,69,41,32,114,101,109,101,109,98,101,114,115,32,116,104,101,32,110,97,109,101,32,105,115,32,117,115,101,108,101,115,115,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,103,114,97,109,109,101,114,44,32,97,115,32,110,97,109,101,115,32,99,97,110,110,111,116,32,98,101,32,114,101,116,114,105,101,118,101,100,46>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,118,101,114,98,44,32,119,104,101,110,32,115,112,101,99,105,102,105,101,100,32,119,105,116,104,111,117,116,32,97,32,110,97,109,101,44,32,105,115,32,108,105,107,101,32,40,42,80,82,85,78,69,41,44,32,101,120,99,101,112,116,32,116,104,97,116,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,117,110,97,110,99,104,111,114,101,100,44,32,116,104,101,32,34,98,117,109,112,97,108,111,110,103,34,32,97,100,118,97,110,99,101,32,105,115,32,110,111,116,32,116,111,32,116,104,101,32,110,101,120,116,32,99,104,97,114,97,99,116,101,114,44,32,98,117,116,32,116,111,32,116,104,101,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,119,104,101,114,101,32,40,42,83,75,73,80,41,32,119,97,115,32,101,110,99,111,117,110,116,101,114,101,100,46>>]},{pre,[],[{code,[],[<<40,42,83,75,73,80,41>>]}]},{p,[],[<<40,42,83,75,73,80,41,32,115,105,103,110,105,102,105,101,115,32,116,104,97,116,32,119,104,97,116,101,118,101,114,32,116,101,120,116,32,119,97,115,32,109,97,116,99,104,101,100,32,108,101,97,100,105,110,103,32,117,112,32,116,111,32,105,116,32,99,97,110,110,111,116,32,98,101,32,112,97,114,116,32,111,102,32,97,32,115,117,99,99,101,115,115,102,117,108,32,109,97,116,99,104,46,32,67,111,110,115,105,100,101,114,58>>]},{pre,[],[{code,[],[<<97,43,40,42,83,75,73,80,41,98>>]}]},{p,[],[<<73,102,32,116,104,101,32,115,117,98,106,101,99,116,32,105,115,32,34,97,97,97,97,99,46,46,46,34,44,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,32,109,97,116,99,104,32,97,116,116,101,109,112,116,32,102,97,105,108,115,32,40,115,116,97,114,116,105,110,103,32,97,116,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,115,116,114,105,110,103,41,44,32,116,104,101,32,115,116,97,114,116,105,110,103,32,112,111,105,110,116,32,115,107,105,112,115,32,111,110,32,116,111,32,115,116,97,114,116,32,116,104,101,32,110,101,120,116,32,97,116,116,101,109,112,116,32,97,116,32,34,99,34,46,32,78,111,116,105,99,101,32,116,104,97,116,32,97,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,100,111,101,115,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,101,102,102,101,99,116,32,97,115,32,116,104,105,115,32,101,120,97,109,112,108,101,59,32,97,108,116,104,111,117,103,104,32,105,116,32,119,111,117,108,100,32,115,117,112,112,114,101,115,115,32,98,97,99,107,116,114,97,99,107,105,110,103,32,100,117,114,105,110,103,32,116,104,101,32,102,105,114,115,116,32,109,97,116,99,104,32,97,116,116,101,109,112,116,44,32,116,104,101,32,115,101,99,111,110,100,32,97,116,116,101,109,112,116,32,119,111,117,108,100,32,115,116,97,114,116,32,97,116,32,116,104,101,32,115,101,99,111,110,100,32,99,104,97,114,97,99,116,101,114,32,105,110,115,116,101,97,100,32,111,102,32,115,107,105,112,112,105,110,103,32,111,110,32,116,111,32,34,99,34,46>>]},{p,[],[<<87,104,101,110,32,40,42,83,75,73,80,41,32,104,97,115,32,97,110,32,97,115,115,111,99,105,97,116,101,100,32,110,97,109,101,44,32,105,116,115,32,98,101,104,97,118,105,111,114,32,105,115,32,109,111,100,105,102,105,101,100,58>>]},{pre,[],[{code,[],[<<40,42,83,75,73,80,58,78,65,77,69,41>>]}]},{p,[],[<<87,104,101,110,32,116,104,105,115,32,105,115,32,116,114,105,103,103,101,114,101,100,44,32,116,104,101,32,112,114,101,118,105,111,117,115,32,112,97,116,104,32,116,104,114,111,117,103,104,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,115,101,97,114,99,104,101,100,32,102,111,114,32,116,104,101,32,109,111,115,116,32,114,101,99,101,110,116,32,40,42,77,65,82,75,41,32,116,104,97,116,32,104,97,115,32,116,104,101,32,115,97,109,101,32,110,97,109,101,46,32,73,102,32,111,110,101,32,105,115,32,102,111,117,110,100,44,32,116,104,101,32,34,98,117,109,112,97,108,111,110,103,34,32,97,100,118,97,110,99,101,32,105,115,32,116,111,32,116,104,101,32,115,117,98,106,101,99,116,32,112,111,115,105,116,105,111,110,32,116,104,97,116,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,97,116,32,40,42,77,65,82,75,41,32,105,110,115,116,101,97,100,32,111,102,32,116,111,32,119,104,101,114,101,32,40,42,83,75,73,80,41,32,119,97,115,32,101,110,99,111,117,110,116,101,114,101,100,46,32,73,102,32,110,111,32,40,42,77,65,82,75,41,32,119,105,116,104,32,97,32,109,97,116,99,104,105,110,103,32,110,97,109,101,32,105,115,32,102,111,117,110,100,44,32,40,42,83,75,73,80,41,32,105,115,32,105,103,110,111,114,101,100,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,40,42,83,75,73,80,58,78,65,77,69,41,32,115,101,97,114,99,104,101,115,32,111,110,108,121,32,102,111,114,32,110,97,109,101,115,32,115,101,116,32,98,121,32,40,42,77,65,82,75,58,78,65,77,69,41,46,32,73,116,32,105,103,110,111,114,101,115,32,110,97,109,101,115,32,116,104,97,116,32,97,114,101,32,115,101,116,32,98,121,32,40,42,80,82,85,78,69,58,78,65,77,69,41,32,111,114,32,40,42,84,72,69,78,58,78,65,77,69,41,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,118,101,114,98,32,99,97,117,115,101,115,32,97,32,115,107,105,112,32,116,111,32,116,104,101,32,110,101,120,116,32,105,110,110,101,114,109,111,115,116,32,97,108,116,101,114,110,97,116,105,118,101,32,119,104,101,110,32,98,97,99,107,116,114,97,99,107,105,110,103,32,114,101,97,99,104,101,115,32,105,116,46,32,84,104,97,116,32,105,115,44,32,105,116,32,99,97,110,99,101,108,115,32,97,110,121,32,102,117,114,116,104,101,114,32,98,97,99,107,116,114,97,99,107,105,110,103,32,119,105,116,104,105,110,32,116,104,101,32,99,117,114,114,101,110,116,32,97,108,116,101,114,110,97,116,105,118,101,46>>]},{pre,[],[{code,[],[<<40,42,84,72,69,78,41,32,111,114,32,40,42,84,72,69,78,58,78,65,77,69,41>>]}]},{p,[],[<<84,104,101,32,118,101,114,98,32,110,97,109,101,32,99,111,109,101,115,32,102,114,111,109,32,116,104,101,32,111,98,115,101,114,118,97,116,105,111,110,32,116,104,97,116,32,105,116,32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,32,97,32,112,97,116,116,101,114,110,45,98,97,115,101,100,32,105,102,45,116,104,101,110,45,101,108,115,101,32,98,108,111,99,107,58>>]},{pre,[],[{code,[],[<<40,32,67,79,78,68,49,32,40,42,84,72,69,78,41,32,70,79,79,32,124,32,67,79,78,68,50,32,40,42,84,72,69,78,41,32,66,65,82,32,124,32,67,79,78,68,51,32,40,42,84,72,69,78,41,32,66,65,90,32,41,32,46,46,46>>]}]},{p,[],[<<73,102,32,116,104,101,32,67,79,78,68,49,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,44,32,70,79,79,32,105,115,32,116,114,105,101,100,32,40,97,110,100,32,112,111,115,115,105,98,108,121,32,102,117,114,116,104,101,114,32,105,116,101,109,115,32,97,102,116,101,114,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,103,114,111,117,112,32,105,102,32,70,79,79,32,115,117,99,99,101,101,100,115,41,46,32,79,110,32,102,97,105,108,117,114,101,44,32,116,104,101,32,109,97,116,99,104,101,114,32,115,107,105,112,115,32,116,111,32,116,104,101,32,115,101,99,111,110,100,32,97,108,116,101,114,110,97,116,105,118,101,32,97,110,100,32,116,114,105,101,115,32,67,79,78,68,50,44,32,119,105,116,104,111,117,116,32,98,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,67,79,78,68,49,46,32,73,102,32,116,104,97,116,32,115,117,99,99,101,101,100,115,32,97,110,100,32,66,65,82,32,102,97,105,108,115,44,32,67,79,78,68,51,32,105,115,32,116,114,105,101,100,46,32,73,102,32,66,65,90,32,116,104,101,110,32,102,97,105,108,115,44,32,116,104,101,114,101,32,97,114,101,32,110,111,32,109,111,114,101,32,97,108,116,101,114,110,97,116,105,118,101,115,44,32,115,111,32,116,104,101,114,101,32,105,115,32,97,32,98,97,99,107,116,114,97,99,107,32,116,111,32,119,104,97,116,101,118,101,114,32,99,97,109,101,32,98,101,102,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,103,114,111,117,112,46,32,73,102,32,40,42,84,72,69,78,41,32,105,115,32,110,111,116,32,105,110,115,105,100,101,32,97,110,32,97,108,116,101,114,110,97,116,105,111,110,44,32,105,116,32,97,99,116,115,32,108,105,107,101,32,40,42,80,82,85,78,69,41,46>>]},{p,[],[<<84,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,40,42,84,72,69,78,58,78,65,77,69,41,32,105,115,32,116,104,101,32,110,111,116,32,116,104,101,32,115,97,109,101,32,97,115,32,40,42,77,65,82,75,58,78,65,77,69,41,40,42,84,72,69,78,41,46,32,73,116,32,105,115,32,108,105,107,101,32,40,42,77,65,82,75,58,78,65,77,69,41,32,105,110,32,116,104,97,116,32,116,104,101,32,110,97,109,101,32,105,115,32,114,101,109,101,109,98,101,114,101,100,32,102,111,114,32,112,97,115,115,105,110,103,32,98,97,99,107,32,116,111,32,116,104,101,32,99,97,108,108,101,114,46,32,72,111,119,101,118,101,114,44,32,40,42,83,75,73,80,58,78,65,77,69,41,32,115,101,97,114,99,104,101,115,32,111,110,108,121,32,102,111,114,32,110,97,109,101,115,32,115,101,116,32,119,105,116,104,32,40,42,77,65,82,75,41,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,102,97,99,116,32,116,104,97,116,32,40,42,84,72,69,78,58,78,65,77,69,41,32,114,101,109,101,109,98,101,114,115,32,116,104,101,32,110,97,109,101,32,105,115,32,117,115,101,108,101,115,115,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,103,114,97,109,109,101,114,44,32,97,115,32,110,97,109,101,115,32,99,97,110,110,111,116,32,98,101,32,114,101,116,114,105,101,118,101,100,46>>]}]},{p,[],[<<65,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,97,32,124,32,99,104,97,114,97,99,116,101,114,32,105,115,32,106,117,115,116,32,97,32,112,97,114,116,32,111,102,32,116,104,101,32,101,110,99,108,111,115,105,110,103,32,97,108,116,101,114,110,97,116,105,118,101,59,32,105,116,32,105,115,32,110,111,116,32,97,32,110,101,115,116,101,100,32,97,108,116,101,114,110,97,116,105,111,110,32,119,105,116,104,32,111,110,108,121,32,111,110,101,32,97,108,116,101,114,110,97,116,105,118,101,46,32,84,104,101,32,101,102,102,101,99,116,32,111,102,32,40,42,84,72,69,78,41,32,101,120,116,101,110,100,115,32,98,101,121,111,110,100,32,115,117,99,104,32,97,32,115,117,98,112,97,116,116,101,114,110,32,116,111,32,116,104,101,32,101,110,99,108,111,115,105,110,103,32,97,108,116,101,114,110,97,116,105,118,101,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,119,104,101,114,101,32,65,44,32,66,44,32,97,110,100,32,115,111,32,111,110,44,32,97,114,101,32,99,111,109,112,108,101,120,32,112,97,116,116,101,114,110,32,102,114,97,103,109,101,110,116,115,32,116,104,97,116,32,100,111,32,110,111,116,32,99,111,110,116,97,105,110,32,97,110,121,32,124,32,99,104,97,114,97,99,116,101,114,115,32,97,116,32,116,104,105,115,32,108,101,118,101,108,58>>]},{pre,[],[{code,[],[<<65,32,40,66,40,42,84,72,69,78,41,67,41,32,124,32,68>>]}]},{p,[],[<<73,102,32,65,32,97,110,100,32,66,32,97,114,101,32,109,97,116,99,104,101,100,44,32,98,117,116,32,116,104,101,114,101,32,105,115,32,97,32,102,97,105,108,117,114,101,32,105,110,32,67,44,32,109,97,116,99,104,105,110,103,32,100,111,101,115,32,110,111,116,32,98,97,99,107,116,114,97,99,107,32,105,110,116,111,32,65,59,32,105,110,115,116,101,97,100,32,105,116,32,109,111,118,101,115,32,116,111,32,116,104,101,32,110,101,120,116,32,97,108,116,101,114,110,97,116,105,118,101,44,32,116,104,97,116,32,105,115,44,32,68,46,32,72,111,119,101,118,101,114,44,32,105,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,99,111,110,116,97,105,110,105,110,103,32,40,42,84,72,69,78,41,32,105,115,32,103,105,118,101,110,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,44,32,105,116,32,98,101,104,97,118,101,115,32,100,105,102,102,101,114,101,110,116,108,121,58>>]},{pre,[],[{code,[],[<<65,32,40,66,40,42,84,72,69,78,41,67,32,124,32,40,42,70,65,73,76,41,41,32,124,32,68>>]}]},{p,[],[<<84,104,101,32,101,102,102,101,99,116,32,111,102,32,40,42,84,72,69,78,41,32,105,115,32,110,111,119,32,99,111,110,102,105,110,101,100,32,116,111,32,116,104,101,32,105,110,110,101,114,32,115,117,98,112,97,116,116,101,114,110,46,32,65,102,116,101,114,32,97,32,102,97,105,108,117,114,101,32,105,110,32,67,44,32,109,97,116,99,104,105,110,103,32,109,111,118,101,115,32,116,111,32,40,42,70,65,73,76,41,44,32,119,104,105,99,104,32,99,97,117,115,101,115,32,116,104,101,32,119,104,111,108,101,32,115,117,98,112,97,116,116,101,114,110,32,116,111,32,102,97,105,108,44,32,97,115,32,116,104,101,114,101,32,97,114,101,32,110,111,32,109,111,114,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,116,111,32,116,114,121,46,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32,109,97,116,99,104,105,110,103,32,100,111,101,115,32,110,111,119,32,98,97,99,107,116,114,97,99,107,32,105,110,116,111,32,65,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,110,111,116,32,99,111,110,115,105,100,101,114,101,100,32,97,115,32,104,97,118,105,110,103,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,115,44,32,97,115,32,111,110,108,121,32,111,110,101,32,105,115,32,101,118,101,114,32,117,115,101,100,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,124,32,99,104,97,114,97,99,116,101,114,32,105,110,32,97,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,32,104,97,115,32,97,32,100,105,102,102,101,114,101,110,116,32,109,101,97,110,105,110,103,46,32,73,103,110,111,114,105,110,103,32,119,104,105,116,101,115,112,97,99,101,44,32,99,111,110,115,105,100,101,114,58>>]},{pre,[],[{code,[],[<<94,46,42,63,32,40,63,40,63,61,97,41,32,97,32,124,32,98,40,42,84,72,69,78,41,99,32,41>>]}]},{p,[],[<<73,102,32,116,104,101,32,115,117,98,106,101,99,116,32,105,115,32,34,98,97,34,44,32,116,104,105,115,32,112,97,116,116,101,114,110,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,32,65,115,32,46,42,63,32,105,115,32,117,110,103,114,101,101,100,121,44,32,105,116,32,105,110,105,116,105,97,108,108,121,32,109,97,116,99,104,101,115,32,122,101,114,111,32,99,104,97,114,97,99,116,101,114,115,46,32,84,104,101,32,99,111,110,100,105,116,105,111,110,32,40,63,61,97,41,32,116,104,101,110,32,102,97,105,108,115,44,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,34,98,34,32,105,115,32,109,97,116,99,104,101,100,44,32,98,117,116,32,34,99,34,32,105,115,32,110,111,116,46,32,65,116,32,116,104,105,115,32,112,111,105,110,116,44,32,109,97,116,99,104,105,110,103,32,100,111,101,115,32,110,111,116,32,98,97,99,107,116,114,97,99,107,32,116,111,32,46,42,63,32,97,115,32,99,97,110,32,112,101,114,104,97,112,115,32,98,101,32,101,120,112,101,99,116,101,100,32,102,114,111,109,32,116,104,101,32,112,114,101,115,101,110,99,101,32,111,102,32,116,104,101,32,124,32,99,104,97,114,97,99,116,101,114,46,32,84,104,101,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,115,105,110,103,108,101,32,97,108,116,101,114,110,97,116,105,118,101,32,116,104,97,116,32,99,111,109,112,114,105,115,101,115,32,116,104,101,32,119,104,111,108,101,32,112,97,116,116,101,114,110,44,32,97,110,100,32,115,111,32,116,104,101,32,109,97,116,99,104,32,102,97,105,108,115,46,32,40,73,102,32,116,104,101,114,101,32,119,97,115,32,97,32,98,97,99,107,116,114,97,99,107,32,105,110,116,111,32,46,42,63,44,32,97,108,108,111,119,105,110,103,32,105,116,32,116,111,32,109,97,116,99,104,32,34,98,34,44,32,116,104,101,32,109,97,116,99,104,32,119,111,117,108,100,32,115,117,99,99,101,101,100,46,41>>]},{p,[],[<<84,104,101,32,118,101,114,98,115,32,100,101,115,99,114,105,98,101,100,32,97,98,111,118,101,32,112,114,111,118,105,100,101,32,102,111,117,114,32,100,105,102,102,101,114,101,110,116,32,34,115,116,114,101,110,103,116,104,115,34,32,111,102,32,99,111,110,116,114,111,108,32,119,104,101,110,32,115,117,98,115,101,113,117,101,110,116,32,109,97,116,99,104,105,110,103,32,102,97,105,108,115,58>>]},{ul,[],[{li,[],[{p,[],[<<40,42,84,72,69,78,41,32,105,115,32,116,104,101,32,119,101,97,107,101,115,116,44,32,99,97,114,114,121,105,110,103,32,111,110,32,116,104,101,32,109,97,116,99,104,32,97,116,32,116,104,101,32,110,101,120,116,32,97,108,116,101,114,110,97,116,105,118,101,46>>]}]},{li,[],[{p,[],[<<40,42,80,82,85,78,69,41,32,99,111,109,101,115,32,110,101,120,116,44,32,102,97,105,108,115,32,116,104,101,32,109,97,116,99,104,32,97,116,32,116,104,101,32,99,117,114,114,101,110,116,32,115,116,97,114,116,105,110,103,32,112,111,115,105,116,105,111,110,44,32,98,117,116,32,97,108,108,111,119,115,32,97,110,32,97,100,118,97,110,99,101,32,116,111,32,116,104,101,32,110,101,120,116,32,99,104,97,114,97,99,116,101,114,32,40,102,111,114,32,97,110,32,117,110,97,110,99,104,111,114,101,100,32,112,97,116,116,101,114,110,41,46>>]}]},{li,[],[{p,[],[<<40,42,83,75,73,80,41,32,105,115,32,115,105,109,105,108,97,114,44,32,101,120,99,101,112,116,32,116,104,97,116,32,116,104,101,32,97,100,118,97,110,99,101,32,99,97,110,32,98,101,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,99,104,97,114,97,99,116,101,114,46>>]}]},{li,[],[{p,[],[<<40,42,67,79,77,77,73,84,41,32,105,115,32,116,104,101,32,115,116,114,111,110,103,101,115,116,44,32,99,97,117,115,105,110,103,32,116,104,101,32,101,110,116,105,114,101,32,109,97,116,99,104,32,116,111,32,102,97,105,108,46>>]}]}]},{p,[],[{em,[],[<<77,111,114,101,32,116,104,97,110,32,79,110,101,32,66,97,99,107,116,114,97,99,107,105,110,103,32,86,101,114,98>>]}]},{p,[],[<<73,102,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,98,97,99,107,116,114,97,99,107,105,110,103,32,118,101,114,98,32,105,115,32,112,114,101,115,101,110,116,32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,116,104,101,32,111,110,101,32,116,104,97,116,32,105,115,32,98,97,99,107,116,114,97,99,107,101,100,32,111,110,116,111,32,102,105,114,115,116,32,97,99,116,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,99,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,119,104,101,114,101,32,65,44,32,66,44,32,97,110,100,32,115,111,32,111,110,44,32,97,114,101,32,99,111,109,112,108,101,120,32,112,97,116,116,101,114,110,32,102,114,97,103,109,101,110,116,115,58>>]},{pre,[],[{code,[],[<<40,65,40,42,67,79,77,77,73,84,41,66,40,42,84,72,69,78,41,67,124,65,66,68,41>>]}]},{p,[],[<<73,102,32,65,32,109,97,116,99,104,101,115,32,98,117,116,32,66,32,102,97,105,108,115,44,32,116,104,101,32,98,97,99,107,116,114,97,99,107,32,116,111,32,40,42,67,79,77,77,73,84,41,32,99,97,117,115,101,115,32,116,104,101,32,101,110,116,105,114,101,32,109,97,116,99,104,32,116,111,32,102,97,105,108,46,32,72,111,119,101,118,101,114,44,32,105,102,32,65,32,97,110,100,32,66,32,109,97,116,99,104,44,32,98,117,116,32,67,32,102,97,105,108,115,44,32,116,104,101,32,98,97,99,107,116,114,97,99,107,32,116,111,32,40,42,84,72,69,78,41,32,99,97,117,115,101,115,32,116,104,101,32,110,101,120,116,32,97,108,116,101,114,110,97,116,105,118,101,32,40,65,66,68,41,32,116,111,32,98,101,32,116,114,105,101,100,46,32,84,104,105,115,32,98,101,104,97,118,105,111,114,32,105,115,32,99,111,110,115,105,115,116,101,110,116,44,32,98,117,116,32,105,115,32,110,111,116,32,97,108,119,97,121,115,32,116,104,101,32,115,97,109,101,32,97,115,32,105,110,32,80,101,114,108,46,32,73,116,32,109,101,97,110,115,32,116,104,97,116,32,105,102,32,116,119,111,32,111,114,32,109,111,114,101,32,98,97,99,107,116,114,97,99,107,105,110,103,32,118,101,114,98,115,32,97,112,112,101,97,114,32,105,110,32,115,117,99,99,101,115,115,105,111,110,44,32,116,104,101,32,108,97,115,116,32,111,102,32,116,104,101,109,32,104,97,115,32,110,111,32,101,102,102,101,99,116,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<46,46,46,40,42,67,79,77,77,73,84,41,40,42,80,82,85,78,69,41,46,46,46>>]}]},{p,[],[<<73,102,32,116,104,101,114,101,32,105,115,32,97,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,32,116,111,32,116,104,101,32,114,105,103,104,116,44,32,98,97,99,107,116,114,97,99,107,105,110,103,32,111,110,116,111,32,40,42,80,82,85,78,69,41,32,99,97,117,115,101,115,32,105,116,32,116,111,32,98,101,32,116,114,105,103,103,101,114,101,100,44,32,97,110,100,32,105,116,115,32,97,99,116,105,111,110,32,105,115,32,116,97,107,101,110,46,32,84,104,101,114,101,32,99,97,110,32,110,101,118,101,114,32,98,101,32,97,32,98,97,99,107,116,114,97,99,107,32,111,110,116,111,32,40,42,67,79,77,77,73,84,41,46>>]},{p,[],[{em,[],[<<66,97,99,107,116,114,97,99,107,105,110,103,32,86,101,114,98,115,32,105,110,32,82,101,112,101,97,116,101,100,32,71,114,111,117,112,115>>]}]},{p,[],[<<80,67,82,69,32,100,105,102,102,101,114,115,32,102,114,111,109,32,80,101,114,108,32,105,110,32,105,116,115,32,104,97,110,100,108,105,110,103,32,111,102,32,98,97,99,107,116,114,97,99,107,105,110,103,32,118,101,114,98,115,32,105,110,32,114,101,112,101,97,116,101,100,32,103,114,111,117,112,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,99,111,110,115,105,100,101,114,58>>]},{pre,[],[{code,[],[<<47,40,97,40,42,67,79,77,77,73,84,41,98,41,43,97,99,47>>]}]},{p,[],[<<73,102,32,116,104,101,32,115,117,98,106,101,99,116,32,105,115,32,34,97,98,97,99,34,44,32,80,101,114,108,32,109,97,116,99,104,101,115,44,32,98,117,116,32,80,67,82,69,32,102,97,105,108,115,32,98,101,99,97,117,115,101,32,116,104,101,32,40,42,67,79,77,77,73,84,41,32,105,110,32,116,104,101,32,115,101,99,111,110,100,32,114,101,112,101,97,116,32,111,102,32,116,104,101,32,103,114,111,117,112,32,97,99,116,115,46>>]},{p,[],[{em,[],[<<66,97,99,107,116,114,97,99,107,105,110,103,32,86,101,114,98,115,32,105,110,32,65,115,115,101,114,116,105,111,110,115>>]}]},{p,[],[<<40,42,70,65,73,76,41,32,105,110,32,97,110,32,97,115,115,101,114,116,105,111,110,32,104,97,115,32,105,116,115,32,110,111,114,109,97,108,32,101,102,102,101,99,116,58,32,105,116,32,102,111,114,99,101,115,32,97,110,32,105,109,109,101,100,105,97,116,101,32,98,97,99,107,116,114,97,99,107,46>>]},{p,[],[<<40,42,65,67,67,69,80,84,41,32,105,110,32,97,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,32,99,97,117,115,101,115,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,116,111,32,115,117,99,99,101,101,100,32,119,105,116,104,111,117,116,32,97,110,121,32,102,117,114,116,104,101,114,32,112,114,111,99,101,115,115,105,110,103,46,32,73,110,32,97,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,44,32,40,42,65,67,67,69,80,84,41,32,99,97,117,115,101,115,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,116,111,32,102,97,105,108,32,119,105,116,104,111,117,116,32,97,110,121,32,102,117,114,116,104,101,114,32,112,114,111,99,101,115,115,105,110,103,46>>]},{p,[],[<<84,104,101,32,111,116,104,101,114,32,98,97,99,107,116,114,97,99,107,105,110,103,32,118,101,114,98,115,32,97,114,101,32,110,111,116,32,116,114,101,97,116,101,100,32,115,112,101,99,105,97,108,108,121,32,105,102,32,116,104,101,121,32,97,112,112,101,97,114,32,105,110,32,97,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,46,32,73,110,32,112,97,114,116,105,99,117,108,97,114,44,32,40,42,84,72,69,78,41,32,115,107,105,112,115,32,116,111,32,116,104,101,32,110,101,120,116,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,116,104,101,32,105,110,110,101,114,109,111,115,116,32,101,110,99,108,111,115,105,110,103,32,103,114,111,117,112,32,116,104,97,116,32,104,97,115,32,97,108,116,101,114,110,97,116,105,111,110,115,44,32,114,101,103,97,114,100,108,101,115,115,32,105,102,32,116,104,105,115,32,105,115,32,119,105,116,104,105,110,32,116,104,101,32,97,115,115,101,114,116,105,111,110,46>>]},{p,[],[<<78,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,32,97,114,101,44,32,104,111,119,101,118,101,114,44,32,100,105,102,102,101,114,101,110,116,44,32,116,111,32,101,110,115,117,114,101,32,116,104,97,116,32,99,104,97,110,103,105,110,103,32,97,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,32,105,110,116,111,32,97,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,32,99,104,97,110,103,101,115,32,105,116,115,32,114,101,115,117,108,116,46,32,66,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,40,42,67,79,77,77,73,84,41,44,32,40,42,83,75,73,80,41,44,32,111,114,32,40,42,80,82,85,78,69,41,32,99,97,117,115,101,115,32,97,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,32,116,111,32,98,101,32,116,114,117,101,44,32,119,105,116,104,111,117,116,32,99,111,110,115,105,100,101,114,105,110,103,32,97,110,121,32,102,117,114,116,104,101,114,32,97,108,116,101,114,110,97,116,105,118,101,32,98,114,97,110,99,104,101,115,32,105,110,32,116,104,101,32,97,115,115,101,114,116,105,111,110,46,32,66,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,40,42,84,72,69,78,41,32,99,97,117,115,101,115,32,105,116,32,116,111,32,115,107,105,112,32,116,111,32,116,104,101,32,110,101,120,116,32,101,110,99,108,111,115,105,110,103,32,97,108,116,101,114,110,97,116,105,118,101,32,119,105,116,104,105,110,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,40,116,104,101,32,110,111,114,109,97,108,32,98,101,104,97,118,105,111,114,41,44,32,98,117,116,32,105,102,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,100,111,101,115,32,110,111,116,32,104,97,118,101,32,115,117,99,104,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,44,32,40,42,84,72,69,78,41,32,98,101,104,97,118,101,115,32,108,105,107,101,32,40,42,80,82,85,78,69,41,46>>]},{p,[],[{em,[],[<<66,97,99,107,116,114,97,99,107,105,110,103,32,86,101,114,98,115,32,105,110,32,83,117,98,114,111,117,116,105,110,101,115>>]}]},{p,[],[<<84,104,101,115,101,32,98,101,104,97,118,105,111,114,115,32,111,99,99,117,114,32,114,101,103,97,114,100,108,101,115,115,32,105,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,46,32,84,104,101,32,116,114,101,97,116,109,101,110,116,32,111,102,32,115,117,98,114,111,117,116,105,110,101,115,32,105,110,32,80,101,114,108,32,105,115,32,100,105,102,102,101,114,101,110,116,32,105,110,32,115,111,109,101,32,99,97,115,101,115,46>>]},{ul,[],[{li,[],[{p,[],[<<40,42,70,65,73,76,41,32,105,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,99,97,108,108,101,100,32,97,115,32,97,32,115,117,98,114,111,117,116,105,110,101,32,104,97,115,32,105,116,115,32,110,111,114,109,97,108,32,101,102,102,101,99,116,58,32,105,116,32,102,111,114,99,101,115,32,97,110,32,105,109,109,101,100,105,97,116,101,32,98,97,99,107,116,114,97,99,107,46>>]}]},{li,[],[{p,[],[<<40,42,65,67,67,69,80,84,41,32,105,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,99,97,108,108,101,100,32,97,115,32,97,32,115,117,98,114,111,117,116,105,110,101,32,99,97,117,115,101,115,32,116,104,101,32,115,117,98,114,111,117,116,105,110,101,32,109,97,116,99,104,32,116,111,32,115,117,99,99,101,101,100,32,119,105,116,104,111,117,116,32,97,110,121,32,102,117,114,116,104,101,114,32,112,114,111,99,101,115,115,105,110,103,46,32,77,97,116,99,104,105,110,103,32,116,104,101,110,32,99,111,110,116,105,110,117,101,115,32,97,102,116,101,114,32,116,104,101,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,46>>]}]},{li,[],[{p,[],[<<40,42,67,79,77,77,73,84,41,44,32,40,42,83,75,73,80,41,44,32,97,110,100,32,40,42,80,82,85,78,69,41,32,105,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,99,97,108,108,101,100,32,97,115,32,97,32,115,117,98,114,111,117,116,105,110,101,32,99,97,117,115,101,32,116,104,101,32,115,117,98,114,111,117,116,105,110,101,32,109,97,116,99,104,32,116,111,32,102,97,105,108,46>>]}]},{li,[],[{p,[],[<<40,42,84,72,69,78,41,32,115,107,105,112,115,32,116,111,32,116,104,101,32,110,101,120,116,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,116,104,101,32,105,110,110,101,114,109,111,115,116,32,101,110,99,108,111,115,105,110,103,32,103,114,111,117,112,32,119,105,116,104,105,110,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,104,97,115,32,97,108,116,101,114,110,97,116,105,118,101,115,46,32,73,102,32,116,104,101,114,101,32,105,115,32,110,111,32,115,117,99,104,32,103,114,111,117,112,32,119,105,116,104,105,110,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,44,32,40,42,84,72,69,78,41,32,99,97,117,115,101,115,32,116,104,101,32,115,117,98,114,111,117,116,105,110,101,32,109,97,116,99,104,32,116,111,32,102,97,105,108,46>>]}]}]}]},#{name => <<114,101>>,otp_doc_vsn => {1,0,0},source => [46,46,47,120,109,108,47,114,101,46,120,109,108],types => #{{compile_option,0} => {attribute,{27,2},type,{compile_option,{type,{27,27},union,[{atom,{27,27},unicode},{atom,{27,37},anchored},{atom,{27,48},caseless},{atom,{27,59},dollar_endonly},{atom,{28,27},dotall},{atom,{28,36},extended},{atom,{28,47},firstline},{atom,{28,59},multiline},{atom,{29,27},no_auto_capture},{atom,{29,45},dupnames},{atom,{29,56},ungreedy},{type,{30,27},tuple,[{atom,{30,28},newline},{user_type,{30,37},nl_spec,[]}]},{atom,{31,27},bsr_anycrlf},{atom,{31,41},bsr_unicode},{atom,{32,27},no_start_optimize},{atom,{32,47},ucp},{atom,{32,53},never_utf}]},[]}},{mp,0} => {attribute,{23,2},type,{mp,{type,{23,15},tuple,[{atom,{23,16},re_pattern},{var,{23,28},'_'},{var,{23,31},'_'},{var,{23,34},'_'},{var,{23,37},'_'}]},[]}},{nl_spec,0} => {attribute,{25,2},type,{nl_spec,{type,{25,20},union,[{atom,{25,20},cr},{atom,{25,25},crlf},{atom,{25,32},lf},{atom,{25,37},anycrlf},{atom,{25,47},any}]},[]}}}},[{{function,grun,3},[{file,[114,101,46,101,114,108]},{location,0}],[<<103,114,117,110,47,51>>],hidden,#{}},{{function,internal_run,4},[{file,[114,101,46,101,114,108]},{location,0}],[<<105,110,116,101,114,110,97,108,95,114,117,110,47,52>>],hidden,#{}},{{function,ucompile,2},[{file,[114,101,46,101,114,108]},{location,0}],[<<117,99,111,109,112,105,108,101,47,50>>],hidden,#{}},{{function,urun,3},[{file,[114,101,46,101,114,108]},{location,0}],[<<117,114,117,110,47,51>>],hidden,#{}},{{function,version,0},[{file,[114,101,46,101,114,108]},{location,40}],[<<118,101,114,115,105,111,110,47,48>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,114,101,116,117,114,110,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,97,32,115,116,114,105,110,103,32,119,105,116,104,32,116,104,101,32,80,67,82,69,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,115,121,115,116,101,109,32,116,104,97,116,32,119,97,115,32,117,115,101,100,32,105,110,32,116,104,101,32,69,114,108,97,110,103,47,79,84,80,32,99,111,109,112,105,108,97,116,105,111,110,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,56,49>>,signature => [{attribute,{40,2},spec,{{version,0},[{type,{40,14},'fun',[{type,{40,14},product,[]},{type,{40,20},binary,[]}]}]}}],since => <<79,84,80,32,50,48,46,48>>}},{{function,compile,1},[{file,[114,101,46,101,114,108]},{location,49}],[<<99,111,109,112,105,108,101,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<99,111,109,112,105,108,101,40,82,101,103,101,120,112,44,91,93,41>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,56,57>>,signature => [{attribute,{49,2},spec,{{compile,1},[{type,{49,14},bounded_fun,[{type,{49,14},'fun',[{type,{49,14},product,[{var,{49,15},'Regexp'}]},{type,{49,26},union,[{type,{49,26},tuple,[{atom,{49,27},ok},{var,{49,31},'MP'}]},{type,{49,37},tuple,[{atom,{49,38},error},{var,{49,45},'ErrSpec'}]}]}]},[{type,{50,7},constraint,[{atom,{50,7},is_subtype},[{var,{50,7},'Regexp'},{type,{50,17},iodata,[]}]]},{type,{51,7},constraint,[{atom,{51,7},is_subtype},[{var,{51,7},'MP'},{user_type,{51,13},mp,[]}]]},{type,{52,7},constraint,[{atom,{52,7},is_subtype},[{var,{52,7},'ErrSpec'},{type,{52,18},tuple,[{ann_type,{52,19},[{var,{52,19},'ErrString'},{type,{52,32},string,[]}]},{ann_type,{52,42},[{var,{52,42},'Position'},{type,{52,54},non_neg_integer,[]}]}]}]]}]]}]}}]}},{{function,compile,2},[{file,[114,101,46,101,114,108]},{location,57}],[<<99,111,109,112,105,108,101,47,50>>],#{<<101,110>> => [{p,[],[<<67,111,109,112,105,108,101,115,32,97,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,119,105,116,104,32,116,104,101,32,115,121,110,116,97,120,32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,44,32,105,110,116,111,32,97,110,32,105,110,116,101,114,110,97,108,32,102,111,114,109,97,116,32,116,111,32,98,101,32,117,115,101,100,32,108,97,116,101,114,32,97,115,32,97,32,112,97,114,97,109,101,116,101,114,32,116,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,50>>]}]},<<32,97,110,100,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<46>>]},{p,[],[<<67,111,109,112,105,108,105,110,103,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,98,101,102,111,114,101,32,109,97,116,99,104,105,110,103,32,105,115,32,117,115,101,102,117,108,32,105,102,32,116,104,101,32,115,97,109,101,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,109,97,116,99,104,105,110,103,32,97,103,97,105,110,115,116,32,109,117,108,116,105,112,108,101,32,115,117,98,106,101,99,116,115,32,100,117,114,105,110,103,32,116,104,101,32,108,105,102,101,116,105,109,101,32,111,102,32,116,104,101,32,112,114,111,103,114,97,109,46,32,67,111,109,112,105,108,105,110,103,32,111,110,99,101,32,97,110,100,32,101,120,101,99,117,116,105,110,103,32,109,97,110,121,32,116,105,109,101,115,32,105,115,32,102,97,114,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,104,97,110,32,99,111,109,112,105,108,105,110,103,32,101,97,99,104,32,116,105,109,101,32,111,110,101,32,119,97,110,116,115,32,116,111,32,109,97,116,99,104,46>>]},{p,[],[<<87,104,101,110,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,116,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,118,97,108,105,100,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<44,32,111,116,104,101,114,119,105,115,101,32,97,115,32,97,110,121,32,118,97,108,105,100,32>>,{code,[],[<<105,111,100,97,116,97,40,41>>]},<<46>>]},{a,[{id,<<99,111,109,112,105,108,101,95,111,112,116,105,111,110,115>>}],[]},{p,[],[<<79,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<117,110,105,99,111,100,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<32,97,110,100,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,99,111,100,101,32,105,115,32,116,111,32,98,101,32,114,117,110,32,97,103,97,105,110,115,116,32,97,32,118,97,108,105,100,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<32,115,117,98,106,101,99,116,46,32,65,108,115,111,32,99,111,110,115,105,100,101,114,32,111,112,116,105,111,110,32>>,{code,[],[<<117,99,112>>]},<<32,119,104,101,110,32,117,115,105,110,103,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,46>>]}]},{dt,[],[{code,[],[<<97,110,99,104,111,114,101,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,112,97,116,116,101,114,110,32,105,115,32,102,111,114,99,101,100,32,116,111,32,98,101,32,34,97,110,99,104,111,114,101,100,34,44,32,116,104,97,116,32,105,115,44,32,105,116,32,105,115,32,99,111,110,115,116,114,97,105,110,101,100,32,116,111,32,109,97,116,99,104,32,111,110,108,121,32,97,116,32,116,104,101,32,102,105,114,115,116,32,109,97,116,99,104,105,110,103,32,112,111,105,110,116,32,105,110,32,116,104,101,32,115,116,114,105,110,103,32,116,104,97,116,32,105,115,32,115,101,97,114,99,104,101,100,32,40,116,104,101,32,34,115,117,98,106,101,99,116,32,115,116,114,105,110,103,34,41,46,32,84,104,105,115,32,101,102,102,101,99,116,32,99,97,110,32,97,108,115,111,32,98,101,32,97,99,104,105,101,118,101,100,32,98,121,32,97,112,112,114,111,112,114,105,97,116,101,32,99,111,110,115,116,114,117,99,116,115,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,105,116,115,101,108,102,46>>]}]},{dt,[],[{code,[],[<<99,97,115,101,108,101,115,115>>]}]},{dd,[],[{p,[],[<<76,101,116,116,101,114,115,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,32,98,111,116,104,32,117,112,112,101,114,99,97,115,101,32,97,110,100,32,108,111,119,101,114,99,97,115,101,32,108,101,116,116,101,114,115,46,32,73,116,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,80,101,114,108,32,111,112,116,105,111,110,32>>,{code,[],[<<47,105>>]},<<32,97,110,100,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,119,105,116,104,105,110,32,97,32,112,97,116,116,101,114,110,32,98,121,32,97,32>>,{code,[],[<<40,63,105,41>>]},<<32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,46,32,85,112,112,101,114,99,97,115,101,32,97,110,100,32,108,111,119,101,114,99,97,115,101,32,108,101,116,116,101,114,115,32,97,114,101,32,100,101,102,105,110,101,100,32,97,115,32,105,110,32,116,104,101,32,73,83,79,32,56,56,53,57,45,49,32,99,104,97,114,97,99,116,101,114,32,115,101,116,46>>]}]},{dt,[],[{code,[],[<<100,111,108,108,97,114,95,101,110,100,111,110,108,121>>]}]},{dd,[],[{p,[],[<<65,32,100,111,108,108,97,114,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,111,110,108,121,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,87,105,116,104,111,117,116,32,116,104,105,115,32,111,112,116,105,111,110,44,32,97,32,100,111,108,108,97,114,32,97,108,115,111,32,109,97,116,99,104,101,115,32,105,109,109,101,100,105,97,116,101,108,121,32,98,101,102,111,114,101,32,97,32,110,101,119,108,105,110,101,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,40,98,117,116,32,110,111,116,32,98,101,102,111,114,101,32,97,110,121,32,111,116,104,101,114,32,110,101,119,108,105,110,101,115,41,46,32,84,104,105,115,32,111,112,116,105,111,110,32,105,115,32,105,103,110,111,114,101,100,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,46,32,84,104,101,114,101,32,105,115,32,110,111,32,101,113,117,105,118,97,108,101,110,116,32,111,112,116,105,111,110,32,105,110,32,80,101,114,108,44,32,97,110,100,32,105,116,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,119,105,116,104,105,110,32,97,32,112,97,116,116,101,114,110,46>>]}]},{dt,[],[{code,[],[<<100,111,116,97,108,108>>]}]},{dd,[],[{p,[],[<<65,32,100,111,116,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,97,108,108,32,99,104,97,114,97,99,116,101,114,115,44,32,105,110,99,108,117,100,105,110,103,32,116,104,111,115,101,32,105,110,100,105,99,97,116,105,110,103,32,110,101,119,108,105,110,101,46,32,87,105,116,104,111,117,116,32,105,116,44,32,97,32,100,111,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,104,101,110,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,32,105,115,32,97,116,32,97,32,110,101,119,108,105,110,101,46,32,84,104,105,115,32,111,112,116,105,111,110,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,80,101,114,108,32,111,112,116,105,111,110,32>>,{code,[],[<<47,115>>]},<<32,97,110,100,32,105,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,119,105,116,104,105,110,32,97,32,112,97,116,116,101,114,110,32,98,121,32,97,32>>,{code,[],[<<40,63,115,41>>]},<<32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,46,32,65,32,110,101,103,97,116,105,118,101,32,99,108,97,115,115,44,32,115,117,99,104,32,97,115,32>>,{code,[],[<<91,94,97,93>>]},<<44,32,97,108,119,97,121,115,32,109,97,116,99,104,101,115,32,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,115,44,32,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,116,104,101,32,115,101,116,116,105,110,103,32,111,102,32,116,104,105,115,32,111,112,116,105,111,110,46>>]}]},{dt,[],[{code,[],[<<101,120,116,101,110,100,101,100>>]}]},{dd,[],[{p,[],[<<73,102,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,115,101,116,44,32,109,111,115,116,32,119,104,105,116,101,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,97,114,101,32,116,111,116,97,108,108,121,32,105,103,110,111,114,101,100,32,101,120,99,101,112,116,32,119,104,101,110,32,101,115,99,97,112,101,100,32,111,114,32,105,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,46,32,72,111,119,101,118,101,114,44,32,119,104,105,116,101,32,115,112,97,99,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,119,105,116,104,105,110,32,115,101,113,117,101,110,99,101,115,32,115,117,99,104,32,97,115,32>>,{code,[],[<<40,63,62>>]},<<32,116,104,97,116,32,105,110,116,114,111,100,117,99,101,32,118,97,114,105,111,117,115,32,112,97,114,101,110,116,104,101,115,105,122,101,100,32,115,117,98,112,97,116,116,101,114,110,115,44,32,110,111,114,32,119,105,116,104,105,110,32,97,32,110,117,109,101,114,105,99,97,108,32,113,117,97,110,116,105,102,105,101,114,32,115,117,99,104,32,97,115,32>>,{code,[],[<<123,49,44,51,125>>]},<<46,32,72,111,119,101,118,101,114,44,32,105,103,110,111,114,97,98,108,101,32,119,104,105,116,101,32,115,112,97,99,101,32,105,115,32,112,101,114,109,105,116,116,101,100,32,98,101,116,119,101,101,110,32,97,110,32,105,116,101,109,32,97,110,100,32,97,32,102,111,108,108,111,119,105,110,103,32,113,117,97,110,116,105,102,105,101,114,32,97,110,100,32,98,101,116,119,101,101,110,32,97,32,113,117,97,110,116,105,102,105,101,114,32,97,110,100,32,97,32,102,111,108,108,111,119,105,110,103,32,43,32,116,104,97,116,32,105,110,100,105,99,97,116,101,115,32,112,111,115,115,101,115,115,105,118,101,110,101,115,115,46>>]},{p,[],[<<87,104,105,116,101,32,115,112,97,99,101,32,100,105,100,32,110,111,116,32,117,115,101,100,32,116,111,32,105,110,99,108,117,100,101,32,116,104,101,32,86,84,32,99,104,97,114,97,99,116,101,114,32,40,99,111,100,101,32,49,49,41,44,32,98,101,99,97,117,115,101,32,80,101,114,108,32,100,105,100,32,110,111,116,32,116,114,101,97,116,32,116,104,105,115,32,99,104,97,114,97,99,116,101,114,32,97,115,32,119,104,105,116,101,32,115,112,97,99,101,46,32,72,111,119,101,118,101,114,44,32,80,101,114,108,32,99,104,97,110,103,101,100,32,97,116,32,114,101,108,101,97,115,101,32,53,46,49,56,44,32,115,111,32,80,67,82,69,32,102,111,108,108,111,119,101,100,32,97,116,32,114,101,108,101,97,115,101,32,56,46,51,52,44,32,97,110,100,32,86,84,32,105,115,32,110,111,119,32,116,114,101,97,116,101,100,32,97,115,32,119,104,105,116,101,32,115,112,97,99,101,46>>]},{p,[],[<<84,104,105,115,32,97,108,115,111,32,99,97,117,115,101,115,32,99,104,97,114,97,99,116,101,114,115,32,98,101,116,119,101,101,110,32,97,110,32,117,110,101,115,99,97,112,101,100,32,35,32,111,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,97,110,100,32,116,104,101,32,110,101,120,116,32,110,101,119,108,105,110,101,44,32,105,110,99,108,117,115,105,118,101,44,32,116,111,32,98,101,32,105,103,110,111,114,101,100,46,32,84,104,105,115,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,80,101,114,108,39,115,32>>,{code,[],[<<47,120>>]},<<32,111,112,116,105,111,110,44,32,97,110,100,32,105,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,119,105,116,104,105,110,32,97,32,112,97,116,116,101,114,110,32,98,121,32,97,32>>,{code,[],[<<40,63,120,41>>]},<<32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,46>>]},{p,[],[<<87,105,116,104,32,116,104,105,115,32,111,112,116,105,111,110,44,32,99,111,109,109,101,110,116,115,32,105,110,115,105,100,101,32,99,111,109,112,108,105,99,97,116,101,100,32,112,97,116,116,101,114,110,115,32,99,97,110,32,98,101,32,105,110,99,108,117,100,101,100,46,32,72,111,119,101,118,101,114,44,32,110,111,116,105,99,101,32,116,104,97,116,32,116,104,105,115,32,97,112,112,108,105,101,115,32,111,110,108,121,32,116,111,32,100,97,116,97,32,99,104,97,114,97,99,116,101,114,115,46,32,87,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,115,32,99,97,110,32,110,101,118,101,114,32,97,112,112,101,97,114,32,119,105,116,104,105,110,32,115,112,101,99,105,97,108,32,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,115,32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,102,111,114,32,101,120,97,109,112,108,101,32,119,105,116,104,105,110,32,115,101,113,117,101,110,99,101,32>>,{code,[],[<<40,63,40>>]},<<32,116,104,97,116,32,105,110,116,114,111,100,117,99,101,115,32,97,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,46>>]}]},{dt,[],[{code,[],[<<102,105,114,115,116,108,105,110,101>>]}]},{dd,[],[{p,[],[<<65,110,32,117,110,97,110,99,104,111,114,101,100,32,112,97,116,116,101,114,110,32,105,115,32,114,101,113,117,105,114,101,100,32,116,111,32,109,97,116,99,104,32,98,101,102,111,114,101,32,111,114,32,97,116,32,116,104,101,32,102,105,114,115,116,32,110,101,119,108,105,110,101,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,97,108,116,104,111,117,103,104,32,116,104,101,32,109,97,116,99,104,101,100,32,116,101,120,116,32,99,97,110,32,99,111,110,116,105,110,117,101,32,111,118,101,114,32,116,104,101,32,110,101,119,108,105,110,101,46>>]}]},{dt,[],[{code,[],[<<109,117,108,116,105,108,105,110,101>>]}]},{dd,[],[{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,80,67,82,69,32,116,114,101,97,116,115,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,97,115,32,99,111,110,115,105,115,116,105,110,103,32,111,102,32,97,32,115,105,110,103,108,101,32,108,105,110,101,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,40,101,118,101,110,32,105,102,32,105,116,32,99,111,110,116,97,105,110,115,32,110,101,119,108,105,110,101,115,41,46,32,84,104,101,32,34,115,116,97,114,116,32,111,102,32,108,105,110,101,34,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,40>>,{code,[],[<<94>>]},<<41,32,109,97,116,99,104,101,115,32,111,110,108,121,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,119,104,105,108,101,32,116,104,101,32,34,101,110,100,32,111,102,32,108,105,110,101,34,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,40>>,{code,[],[<<36>>]},<<41,32,109,97,116,99,104,101,115,32,111,110,108,121,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,111,114,32,98,101,102,111,114,101,32,97,32,116,101,114,109,105,110,97,116,105,110,103,32,110,101,119,108,105,110,101,32,40,117,110,108,101,115,115,32,111,112,116,105,111,110,32>>,{code,[],[<<100,111,108,108,97,114,95,101,110,100,111,110,108,121>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,41,46,32,84,104,105,115,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,105,110,32,80,101,114,108,46>>]},{p,[],[<<87,104,101,110,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,34,115,116,97,114,116,32,111,102,32,108,105,110,101,34,32,97,110,100,32,34,101,110,100,32,111,102,32,108,105,110,101,34,32,99,111,110,115,116,114,117,99,116,115,32,109,97,116,99,104,32,105,109,109,101,100,105,97,116,101,108,121,32,102,111,108,108,111,119,105,110,103,32,111,114,32,105,109,109,101,100,105,97,116,101,108,121,32,98,101,102,111,114,101,32,105,110,116,101,114,110,97,108,32,110,101,119,108,105,110,101,115,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,114,101,115,112,101,99,116,105,118,101,108,121,44,32,97,115,32,119,101,108,108,32,97,115,32,97,116,32,116,104,101,32,118,101,114,121,32,115,116,97,114,116,32,97,110,100,32,101,110,100,46,32,84,104,105,115,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,80,101,114,108,32,111,112,116,105,111,110,32>>,{code,[],[<<47,109>>]},<<32,97,110,100,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,119,105,116,104,105,110,32,97,32,112,97,116,116,101,114,110,32,98,121,32,97,32>>,{code,[],[<<40,63,109,41>>]},<<32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,46,32,73,102,32,116,104,101,114,101,32,97,114,101,32,110,111,32,110,101,119,108,105,110,101,115,32,105,110,32,97,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,111,114,32,110,111,32,111,99,99,117,114,114,101,110,99,101,115,32,111,102,32>>,{code,[],[<<94>>]},<<32,111,114,32>>,{code,[],[<<36>>]},<<32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,115,101,116,116,105,110,103,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,104,97,115,32,110,111,32,101,102,102,101,99,116,46>>]}]},{dt,[],[{code,[],[<<110,111,95,97,117,116,111,95,99,97,112,116,117,114,101>>]}]},{dd,[],[{p,[],[<<68,105,115,97,98,108,101,115,32,116,104,101,32,117,115,101,32,111,102,32,110,117,109,98,101,114,101,100,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46,32,65,110,121,32,111,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,32,116,104,97,116,32,105,115,32,110,111,116,32,102,111,108,108,111,119,101,100,32,98,121,32>>,{code,[],[<<63>>]},<<32,98,101,104,97,118,101,115,32,97,115,32,105,102,32,105,116,32,105,115,32,102,111,108,108,111,119,101,100,32,98,121,32>>,{code,[],[<<63,58>>]},<<46,32,78,97,109,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,99,97,110,32,115,116,105,108,108,32,98,101,32,117,115,101,100,32,102,111,114,32,99,97,112,116,117,114,105,110,103,32,40,97,110,100,32,116,104,101,121,32,97,99,113,117,105,114,101,32,110,117,109,98,101,114,115,32,105,110,32,116,104,101,32,117,115,117,97,108,32,119,97,121,41,46,32,84,104,101,114,101,32,105,115,32,110,111,32,101,113,117,105,118,97,108,101,110,116,32,111,112,116,105,111,110,32,105,110,32,80,101,114,108,46>>]}]},{dt,[],[{code,[],[<<100,117,112,110,97,109,101,115>>]}]},{dd,[],[{p,[],[<<78,97,109,101,115,32,117,115,101,100,32,116,111,32,105,100,101,110,116,105,102,121,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,110,101,101,100,32,110,111,116,32,98,101,32,117,110,105,113,117,101,46,32,84,104,105,115,32,99,97,110,32,98,101,32,104,101,108,112,102,117,108,32,102,111,114,32,99,101,114,116,97,105,110,32,116,121,112,101,115,32,111,102,32,112,97,116,116,101,114,110,32,119,104,101,110,32,105,116,32,105,115,32,107,110,111,119,110,32,116,104,97,116,32,111,110,108,121,32,111,110,101,32,105,110,115,116,97,110,99,101,32,111,102,32,116,104,101,32,110,97,109,101,100,32,115,117,98,112,97,116,116,101,114,110,32,99,97,110,32,101,118,101,114,32,98,101,32,109,97,116,99,104,101,100,46,32,77,111,114,101,32,100,101,116,97,105,108,115,32,111,102,32,110,97,109,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,97,114,101,32,112,114,111,118,105,100,101,100,32,98,101,108,111,119,46>>]}]},{dt,[],[{code,[],[<<117,110,103,114,101,101,100,121>>]}]},{dd,[],[{p,[],[<<73,110,118,101,114,116,115,32,116,104,101,32,34,103,114,101,101,100,105,110,101,115,115,34,32,111,102,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,115,32,115,111,32,116,104,97,116,32,116,104,101,121,32,97,114,101,32,110,111,116,32,103,114,101,101,100,121,32,98,121,32,100,101,102,97,117,108,116,44,32,98,117,116,32,98,101,99,111,109,101,32,103,114,101,101,100,121,32,105,102,32,102,111,108,108,111,119,101,100,32,98,121,32,34,63,34,46,32,73,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,80,101,114,108,46,32,73,116,32,99,97,110,32,97,108,115,111,32,98,101,32,115,101,116,32,98,121,32,97,32>>,{code,[],[<<40,63,85,41>>]},<<32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,32,119,105,116,104,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46>>]}]},{dt,[],[{code,[],[<<123,110,101,119,108,105,110,101,44,32,78,76,83,112,101,99,125>>]}]},{dd,[],[{p,[],[<<79,118,101,114,114,105,100,101,115,32,116,104,101,32,100,101,102,97,117,108,116,32,100,101,102,105,110,105,116,105,111,110,32,111,102,32,97,32,110,101,119,108,105,110,101,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,119,104,105,99,104,32,105,115,32,76,70,32,40,65,83,67,73,73,32,49,48,41,32,105,110,32,69,114,108,97,110,103,46>>]},{dl,[],[{dt,[],[{code,[],[<<99,114>>]}]},{dd,[],[{p,[],[<<78,101,119,108,105,110,101,32,105,115,32,105,110,100,105,99,97,116,101,100,32,98,121,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32>>,{code,[],[<<99,114>>]},<<32,40,65,83,67,73,73,32,49,51,41,46>>]}]},{dt,[],[{code,[],[<<108,102>>]}]},{dd,[],[{p,[],[<<78,101,119,108,105,110,101,32,105,115,32,105,110,100,105,99,97,116,101,100,32,98,121,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,76,70,32,40,65,83,67,73,73,32,49,48,41,44,32,116,104,101,32,100,101,102,97,117,108,116,46>>]}]},{dt,[],[{code,[],[<<99,114,108,102>>]}]},{dd,[],[{p,[],[<<78,101,119,108,105,110,101,32,105,115,32,105,110,100,105,99,97,116,101,100,32,98,121,32,116,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,67,82,76,70,32,40,65,83,67,73,73,32,49,51,32,102,111,108,108,111,119,101,100,32,98,121,32,65,83,67,73,73,32,49,48,41,32,115,101,113,117,101,110,99,101,46>>]}]},{dt,[],[{code,[],[<<97,110,121,99,114,108,102>>]}]},{dd,[],[{p,[],[<<65,110,121,32,111,102,32,116,104,101,32,116,104,114,101,101,32,112,114,101,99,101,100,105,110,103,32,115,101,113,117,101,110,99,101,115,32,105,115,32,116,111,32,98,101,32,114,101,99,111,103,110,105,122,101,100,46>>]}]},{dt,[],[{code,[],[<<97,110,121>>]}]},{dd,[],[{p,[],[<<65,110,121,32,111,102,32,116,104,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,115,32,97,98,111,118,101,44,32,97,110,100,32,116,104,101,32,85,110,105,99,111,100,101,32,115,101,113,117,101,110,99,101,115,32,86,84,32,40,118,101,114,116,105,99,97,108,32,116,97,98,44,32,85,43,48,48,48,66,41,44,32,70,70,32,40,102,111,114,109,102,101,101,100,44,32,85,43,48,48,48,67,41,44,32,78,69,76,32,40,110,101,120,116,32,108,105,110,101,44,32,85,43,48,48,56,53,41,44,32,76,83,32,40,108,105,110,101,32,115,101,112,97,114,97,116,111,114,44,32,85,43,50,48,50,56,41,44,32,97,110,100,32,80,83,32,40,112,97,114,97,103,114,97,112,104,32,115,101,112,97,114,97,116,111,114,44,32,85,43,50,48,50,57,41,46>>]}]}]}]},{dt,[],[{code,[],[<<98,115,114,95,97,110,121,99,114,108,102>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,115,112,101,99,105,102,105,99,97,108,108,121,32,116,104,97,116,32,92,82,32,105,115,32,116,111,32,109,97,116,99,104,32,111,110,108,121,32,116,104,101,32,67,82,44,32,76,70,44,32,111,114,32,67,82,76,70,32,115,101,113,117,101,110,99,101,115,44,32,110,111,116,32,116,104,101,32,85,110,105,99,111,100,101,45,115,112,101,99,105,102,105,99,32,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,115,46>>]}]},{dt,[],[{code,[],[<<98,115,114,95,117,110,105,99,111,100,101>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,115,112,101,99,105,102,105,99,97,108,108,121,32,116,104,97,116,32,92,82,32,105,115,32,116,111,32,109,97,116,99,104,32,97,108,108,32,116,104,101,32,85,110,105,99,111,100,101,32,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,115,32,40,105,110,99,108,117,100,105,110,103,32,67,82,76,70,44,32,97,110,100,32,115,111,32,111,110,44,32,116,104,101,32,100,101,102,97,117,108,116,41,46>>]}]},{dt,[],[{code,[],[<<110,111,95,115,116,97,114,116,95,111,112,116,105,109,105,122,101>>]}]},{dd,[],[{p,[],[<<68,105,115,97,98,108,101,115,32,111,112,116,105,109,105,122,97,116,105,111,110,32,116,104,97,116,32,99,97,110,32,109,97,108,102,117,110,99,116,105,111,110,32,105,102,32,34,83,112,101,99,105,97,108,32,115,116,97,114,116,45,111,102,45,112,97,116,116,101,114,110,32,105,116,101,109,115,34,32,97,114,101,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46,32,65,32,116,121,112,105,99,97,108,32,101,120,97,109,112,108,101,32,119,111,117,108,100,32,98,101,32,119,104,101,110,32,109,97,116,99,104,105,110,103,32,34,68,69,70,65,66,67,34,32,97,103,97,105,110,115,116,32,34,40,42,67,79,77,77,73,84,41,65,66,67,34,44,32,119,104,101,114,101,32,116,104,101,32,115,116,97,114,116,32,111,112,116,105,109,105,122,97,116,105,111,110,32,111,102,32,80,67,82,69,32,119,111,117,108,100,32,115,107,105,112,32,116,104,101,32,115,117,98,106,101,99,116,32,117,112,32,116,111,32,34,65,34,32,97,110,100,32,110,101,118,101,114,32,114,101,97,108,105,122,101,32,116,104,97,116,32,116,104,101,32,40,42,67,79,77,77,73,84,41,32,105,110,115,116,114,117,99,116,105,111,110,32,105,115,32,116,111,32,104,97,118,101,32,109,97,100,101,32,116,104,101,32,109,97,116,99,104,105,110,103,32,102,97,105,108,46,32,84,104,105,115,32,111,112,116,105,111,110,32,105,115,32,111,110,108,121,32,114,101,108,101,118,97,110,116,32,105,102,32,121,111,117,32,117,115,101,32,34,115,116,97,114,116,45,111,102,45,112,97,116,116,101,114,110,32,105,116,101,109,115,34,44,32,97,115,32,100,105,115,99,117,115,115,101,100,32,105,110,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,101,103,101,120,112,95,115,121,110,116,97,120,95,100,101,116,97,105,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<80,67,82,69,32,82,101,103,117,108,97,114,32,69,120,112,114,101,115,115,105,111,110,32,68,101,116,97,105,108,115>>]},<<46>>]}]},{dt,[],[{code,[],[<<117,99,112>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,116,104,97,116,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,32,112,114,111,112,101,114,116,105,101,115,32,97,114,101,32,116,111,32,98,101,32,117,115,101,100,32,119,104,101,110,32,114,101,115,111,108,118,105,110,103,32,92,66,44,32,92,98,44,32,92,68,44,32,92,100,44,32,92,83,44,32,92,115,44,32,92,87,32,97,110,100,32,92,119,46,32,87,105,116,104,111,117,116,32,116,104,105,115,32,102,108,97,103,44,32,111,110,108,121,32,73,83,79,32,76,97,116,105,110,45,49,32,112,114,111,112,101,114,116,105,101,115,32,97,114,101,32,117,115,101,100,46,32,85,115,105,110,103,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,105,101,115,32,104,117,114,116,115,32,112,101,114,102,111,114,109,97,110,99,101,44,32,98,117,116,32,105,115,32,115,101,109,97,110,116,105,99,97,108,108,121,32,99,111,114,114,101,99,116,32,119,104,101,110,32,119,111,114,107,105,110,103,32,119,105,116,104,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,32,98,101,121,111,110,100,32,116,104,101,32,73,83,79,32,76,97,116,105,110,45,49,32,114,97,110,103,101,46>>]}]},{dt,[],[{code,[],[<<110,101,118,101,114,95,117,116,102>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,116,104,97,116,32,116,104,101,32,40,42,85,84,70,41,32,97,110,100,47,111,114,32,40,42,85,84,70,56,41,32,34,115,116,97,114,116,45,111,102,45,112,97,116,116,101,114,110,32,105,116,101,109,115,34,32,97,114,101,32,102,111,114,98,105,100,100,101,110,46,32,84,104,105,115,32,102,108,97,103,32,99,97,110,110,111,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<46,32,85,115,101,102,117,108,32,105,102,32,73,83,79,32,76,97,116,105,110,45,49,32,112,97,116,116,101,114,110,115,32,102,114,111,109,32,97,110,32,101,120,116,101,114,110,97,108,32,115,111,117,114,99,101,32,97,114,101,32,116,111,32,98,101,32,99,111,109,112,105,108,101,100,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,57,55>>,signature => [{attribute,{57,2},spec,{{compile,2},[{type,{57,14},bounded_fun,[{type,{57,14},'fun',[{type,{57,14},product,[{var,{57,15},'Regexp'},{var,{57,23},'Options'}]},{type,{57,35},union,[{type,{57,35},tuple,[{atom,{57,36},ok},{var,{57,40},'MP'}]},{type,{57,46},tuple,[{atom,{57,47},error},{var,{57,54},'ErrSpec'}]}]}]},[{type,{58,7},constraint,[{atom,{58,7},is_subtype},[{var,{58,7},'Regexp'},{type,{58,17},union,[{type,{58,17},iodata,[]},{remote_type,{58,28},[{atom,{58,28},unicode},{atom,{58,36},charlist},[]]}]}]]},{type,{59,7},constraint,[{atom,{59,7},is_subtype},[{var,{59,7},'Options'},{type,{59,18},list,[{var,{59,19},'Option'}]}]]},{type,{60,7},constraint,[{atom,{60,7},is_subtype},[{var,{60,7},'Option'},{user_type,{60,17},compile_option,[]}]]},{type,{61,7},constraint,[{atom,{61,7},is_subtype},[{var,{61,7},'MP'},{user_type,{61,13},mp,[]}]]},{type,{62,7},constraint,[{atom,{62,7},is_subtype},[{var,{62,7},'ErrSpec'},{type,{62,18},tuple,[{ann_type,{62,19},[{var,{62,19},'ErrString'},{type,{62,32},string,[]}]},{ann_type,{62,42},[{var,{62,42},'Position'},{type,{62,54},non_neg_integer,[]}]}]}]]}]]}]}}]}},{{function,inspect,2},[{file,[114,101,46,101,114,108]},{location,143}],[<<105,110,115,112,101,99,116,47,50>>],#{<<101,110>> => [{p,[],[<<84,97,107,101,115,32,97,32,99,111,109,112,105,108,101,100,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,97,110,100,32,97,110,32,105,116,101,109,44,32,97,110,100,32,114,101,116,117,114,110,115,32,116,104,101,32,114,101,108,101,118,97,110,116,32,100,97,116,97,32,102,114,111,109,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46,32,84,104,101,32,111,110,108,121,32,115,117,112,112,111,114,116,101,100,32,105,116,101,109,32,105,115,32>>,{code,[],[<<110,97,109,101,108,105,115,116>>]},<<44,32,119,104,105,99,104,32,114,101,116,117,114,110,115,32,116,104,101,32,116,117,112,108,101,32>>,{code,[],[<<123,110,97,109,101,108,105,115,116,44,32,91,98,105,110,97,114,121,40,41,93,125>>]},<<44,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,110,97,109,101,115,32,111,102,32,97,108,108,32,40,117,110,105,113,117,101,41,32,110,97,109,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46,32,70,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<49,62,32,123,111,107,44,77,80,125,32,61,32,114,101,58,99,111,109,112,105,108,101,40,34,40,63,60,65,62,65,41,124,40,63,60,66,62,66,41,124,40,63,60,67,62,67,41,34,41,46,10,123,111,107,44,123,114,101,95,112,97,116,116,101,114,110,44,51,44,48,44,48,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,60,54,57,44,56,50,44,54,55,44,56,48,44,49,49,57,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,49,44,48,44,48,44,48,44,50,53,53,44,50,53,53,44,50,53,53,44,50,53,53,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,50,53,53,44,50,53,53,44,46,46,46,62,62,125,125,10,50,62,32,114,101,58,105,110,115,112,101,99,116,40,77,80,44,110,97,109,101,108,105,115,116,41,46,10,123,110,97,109,101,108,105,115,116,44,91,60,60,34,65,34,62,62,44,60,60,34,66,34,62,62,44,60,60,34,67,34,62,62,93,125,10,51,62,32,123,111,107,44,77,80,68,125,32,61,32,114,101,58,99,111,109,112,105,108,101,40,34,40,63,60,67,62,65,41,124,40,63,60,66,62,66,41,124,40,63,60,67,62,67,41,34,44,91,100,117,112,110,97,109,101,115,93,41,46,10,123,111,107,44,123,114,101,95,112,97,116,116,101,114,110,44,51,44,48,44,48,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,60,54,57,44,56,50,44,54,55,44,56,48,44,49,49,57,44,48,44,48,44,48,44,48,44,48,44,56,44,48,44,49,44,48,44,48,44,48,44,50,53,53,44,50,53,53,44,50,53,53,44,50,53,53,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,50,53,53,44,50,53,53,44,46,46,46,62,62,125,125,10,52,62,32,114,101,58,105,110,115,112,101,99,116,40,77,80,68,44,110,97,109,101,108,105,115,116,41,46,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,110,97,109,101,108,105,115,116,44,91,60,60,34,66,34,62,62,44,60,60,34,67,34,62,62,93,125>>]}]},{p,[],[<<78,111,116,105,99,101,32,105,110,32,116,104,101,32,115,101,99,111,110,100,32,101,120,97,109,112,108,101,32,116,104,97,116,32,116,104,101,32,100,117,112,108,105,99,97,116,101,32,110,97,109,101,32,111,110,108,121,32,111,99,99,117,114,115,32,111,110,99,101,32,105,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,44,32,97,110,100,32,116,104,97,116,32,116,104,101,32,108,105,115,116,32,105,115,32,105,110,32,97,108,112,104,97,98,101,116,105,99,97,108,32,111,114,100,101,114,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,119,104,101,114,101,32,116,104,101,32,110,97,109,101,115,32,97,114,101,32,112,111,115,105,116,105,111,110,101,100,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,110,97,109,101,115,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,111,114,100,101,114,32,111,102,32,99,97,112,116,117,114,101,100,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,105,102,32>>,{code,[],[<<123,99,97,112,116,117,114,101,44,32,97,108,108,95,110,97,109,101,115,125>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,110,32,111,112,116,105,111,110,32,116,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<46,32,89,111,117,32,99,97,110,32,116,104,101,114,101,102,111,114,101,32,99,114,101,97,116,101,32,97,32,110,97,109,101,45,116,111,45,118,97,108,117,101,32,109,97,112,112,105,110,103,32,102,114,111,109,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,108,105,107,101,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<49,62,32,123,111,107,44,77,80,125,32,61,32,114,101,58,99,111,109,112,105,108,101,40,34,40,63,60,65,62,65,41,124,40,63,60,66,62,66,41,124,40,63,60,67,62,67,41,34,41,46,10,123,111,107,44,123,114,101,95,112,97,116,116,101,114,110,44,51,44,48,44,48,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,60,54,57,44,56,50,44,54,55,44,56,48,44,49,49,57,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,49,44,48,44,48,44,48,44,50,53,53,44,50,53,53,44,50,53,53,44,50,53,53,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,50,53,53,44,50,53,53,44,46,46,46,62,62,125,125,10,50,62,32,123,110,97,109,101,108,105,115,116,44,32,78,125,32,61,32,114,101,58,105,110,115,112,101,99,116,40,77,80,44,110,97,109,101,108,105,115,116,41,46,10,123,110,97,109,101,108,105,115,116,44,91,60,60,34,65,34,62,62,44,60,60,34,66,34,62,62,44,60,60,34,67,34,62,62,93,125,10,51,62,32,123,109,97,116,99,104,44,76,125,32,61,32,114,101,58,114,117,110,40,34,65,65,34,44,77,80,44,91,123,99,97,112,116,117,114,101,44,97,108,108,95,110,97,109,101,115,44,98,105,110,97,114,121,125,93,41,46,10,123,109,97,116,99,104,44,91,60,60,34,65,34,62,62,44,60,60,62,62,44,60,60,62,62,93,125,10,52,62,32,78,97,109,101,77,97,112,32,61,32,108,105,115,116,115,58,122,105,112,40,78,44,76,41,46,10,91,123,60,60,34,65,34,62,62,44,60,60,34,65,34,62,62,125,44,123,60,60,34,66,34,62,62,44,60,60,62,62,125,44,123,60,60,34,67,34,62,62,44,60,60,62,62,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,51,48,54>>,signature => [{attribute,{143,2},spec,{{inspect,2},[{type,{143,14},bounded_fun,[{type,{143,14},'fun',[{type,{143,14},product,[{var,{143,15},'MP'},{var,{143,18},'Item'}]},{type,{143,27},tuple,[{atom,{143,28},namelist},{type,{143,38},list,[{type,{143,40},binary,[]}]}]}]},[{type,{144,7},constraint,[{atom,{144,7},is_subtype},[{var,{144,7},'MP'},{user_type,{144,13},mp,[]}]]},{type,{145,7},constraint,[{atom,{145,7},is_subtype},[{var,{145,7},'Item'},{atom,{145,15},namelist}]]}]]}]}}],since => <<79,84,80,32,49,55,46,48>>}},{{function,replace,3},[{file,[114,101,46,101,114,108]},{location,353}],[<<114,101,112,108,97,99,101,47,51>>],#{<<101,110>> => [{p,[],[<<83,97,109,101,32,97,115,32>>,{code,[],[<<114,101,112,108,97,99,101,40,83,117,98,106,101,99,116,44,32,82,69,44,32,82,101,112,108,97,99,101,109,101,110,116,44,32,91,93,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,51,53,48>>,signature => [{attribute,{353,2},spec,{{replace,3},[{type,{353,14},bounded_fun,[{type,{353,14},'fun',[{type,{353,14},product,[{var,{353,15},'Subject'},{var,{353,24},'RE'},{var,{353,28},'Replacement'}]},{type,{353,44},union,[{type,{353,44},iodata,[]},{remote_type,{353,55},[{atom,{353,55},unicode},{atom,{353,63},charlist},[]]}]}]},[{type,{354,7},constraint,[{atom,{354,7},is_subtype},[{var,{354,7},'Subject'},{type,{354,18},union,[{type,{354,18},iodata,[]},{remote_type,{354,29},[{atom,{354,29},unicode},{atom,{354,37},charlist},[]]}]}]]},{type,{355,7},constraint,[{atom,{355,7},is_subtype},[{var,{355,7},'RE'},{type,{355,13},union,[{user_type,{355,13},mp,[]},{type,{355,20},iodata,[]}]}]]},{type,{356,7},constraint,[{atom,{356,7},is_subtype},[{var,{356,7},'Replacement'},{type,{356,22},union,[{type,{356,22},iodata,[]},{remote_type,{356,33},[{atom,{356,33},unicode},{atom,{356,41},charlist},[]]}]}]]}]]}]}}]}},{{function,replace,4},[{file,[114,101,46,101,114,108]},{location,366}],[<<114,101,112,108,97,99,101,47,52>>],#{<<101,110>> => [{p,[],[<<82,101,112,108,97,99,101,115,32,116,104,101,32,109,97,116,99,104,101,100,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<83,117,98,106,101,99,116>>]},<<32,115,116,114,105,110,103,32,119,105,116,104,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32>>,{code,[],[<<82,101,112,108,97,99,101,109,101,110,116>>]},<<46>>]},{p,[],[<<84,104,101,32,112,101,114,109,105,115,115,105,98,108,101,32,111,112,116,105,111,110,115,32,97,114,101,32,116,104,101,32,115,97,109,101,32,97,115,32,102,111,114,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<44,32,101,120,99,101,112,116,32,116,104,97,116,32,111,112,116,105,111,110>>,{code,[],[<<32,99,97,112,116,117,114,101>>]},<<32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,46,32,73,110,115,116,101,97,100,32,97,32>>,{code,[],[<<123,114,101,116,117,114,110,44,32,82,101,116,117,114,110,84,121,112,101,125>>]},<<32,105,115,32,112,114,101,115,101,110,116,46,32,84,104,101,32,100,101,102,97,117,108,116,32,114,101,116,117,114,110,32,116,121,112,101,32,105,115,32>>,{code,[],[<<105,111,100,97,116,97>>]},<<44,32,99,111,110,115,116,114,117,99,116,101,100,32,105,110,32,97,32,119,97,121,32,116,111,32,109,105,110,105,109,105,122,101,32,99,111,112,121,105,110,103,46,32,84,104,101,32>>,{code,[],[<<105,111,100,97,116,97>>]},<<32,114,101,115,117,108,116,32,99,97,110,32,98,101,32,117,115,101,100,32,100,105,114,101,99,116,108,121,32,105,110,32,109,97,110,121,32,73,47,79,32,111,112,101,114,97,116,105,111,110,115,46,32,73,102,32,97,32,102,108,97,116,32>>,{code,[],[<<108,105,115,116,40,41>>]},<<32,105,115,32,100,101,115,105,114,101,100,44,32,115,112,101,99,105,102,121,32>>,{code,[],[<<123,114,101,116,117,114,110,44,32,108,105,115,116,125>>]},<<46,32,73,102,32,97,32,98,105,110,97,114,121,32,105,115,32,100,101,115,105,114,101,100,44,32,115,112,101,99,105,102,121,32>>,{code,[],[<<123,114,101,116,117,114,110,44,32,98,105,110,97,114,121,125>>]},<<46>>]},{p,[],[<<65,115,32,105,110,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<114,117,110,47,51>>]},<<44,32,97,110,32>>,{code,[],[<<109,112,40,41>>]},<<32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,114,101,113,117,105,114,101,115,32>>,{code,[],[<<83,117,98,106,101,99,116>>]},<<32,116,111,32,98,101,32,97,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<46,32,73,102,32,99,111,109,112,105,108,97,116,105,111,110,32,105,115,32,100,111,110,101,32,105,109,112,108,105,99,105,116,108,121,32,97,110,100,32,116,104,101,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,99,111,109,112,105,108,97,116,105,111,110,32,111,112,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,116,111,32,116,104,105,115,32,102,117,110,99,116,105,111,110,44,32,98,111,116,104,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,97,110,100,32>>,{code,[],[<<83,117,98,106,101,99,116>>]},<<32,97,114,101,32,116,111,32,115,112,101,99,105,102,105,101,100,32,97,115,32,118,97,108,105,100,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<115,46>>]},{p,[],[<<84,104,101,32,114,101,112,108,97,99,101,109,101,110,116,32,115,116,114,105,110,103,32,99,97,110,32,99,111,110,116,97,105,110,32,116,104,101,32,115,112,101,99,105,97,108,32,99,104,97,114,97,99,116,101,114,32>>,{code,[],[<<38>>]},<<44,32,119,104,105,99,104,32,105,110,115,101,114,116,115,32,116,104,101,32,119,104,111,108,101,32,109,97,116,99,104,105,110,103,32,101,120,112,114,101,115,115,105,111,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,44,32,97,110,100,32,116,104,101,32,115,112,101,99,105,97,108,32,115,101,113,117,101,110,99,101,32>>,{code,[],[<<92>>]},<<78,32,40,119,104,101,114,101,32,78,32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,62,32,48,41,44,32>>,{code,[],[<<92,103>>]},<<78,44,32,111,114,32>>,{code,[],[<<92,103,123>>]},<<78>>,{code,[],[<<125>>]},<<44,32,114,101,115,117,108,116,105,110,103,32,105,110,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,110,117,109,98,101,114,32,78,44,32,105,115,32,105,110,115,101,114,116,101,100,32,105,110,32,116,104,101,32,114,101,115,117,108,116,46,32,73,102,32,110,111,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,119,105,116,104,32,116,104,97,116,32,110,117,109,98,101,114,32,105,115,32,103,101,110,101,114,97,116,101,100,32,98,121,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,110,111,116,104,105,110,103,32,105,115,32,105,110,115,101,114,116,101,100,46>>]},{p,[],[<<84,111,32,105,110,115,101,114,116,32,97,110,32,38,32,111,114,32,97,32,92,32,105,110,32,116,104,101,32,114,101,115,117,108,116,44,32,112,114,101,99,101,100,101,32,105,116,32,119,105,116,104,32,97,32,92,46,32,78,111,116,105,99,101,32,116,104,97,116,32,69,114,108,97,110,103,32,97,108,114,101,97,100,121,32,103,105,118,101,115,32,97,32,115,112,101,99,105,97,108,32,109,101,97,110,105,110,103,32,116,111,32,92,32,105,110,32,108,105,116,101,114,97,108,32,115,116,114,105,110,103,115,44,32,115,111,32,97,32,115,105,110,103,108,101,32,92,32,109,117,115,116,32,98,101,32,119,114,105,116,116,101,110,32,97,115,32>>,{code,[],[<<34,92,92,34>>]},<<32,97,110,100,32,116,104,101,114,101,102,111,114,101,32,97,32,100,111,117,98,108,101,32,92,32,97,115,32>>,{code,[],[<<34,92,92,92,92,34>>]},<<46>>]},{p,[],[{em,[],[<<69,120,97,109,112,108,101,58>>]}]},{pre,[],[{code,[],[<<114,101,58,114,101,112,108,97,99,101,40,34,97,98,99,100,34,44,34,99,34,44,34,91,38,93,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<34,97,98,91,99,93,100,34>>]}]},{p,[],[<<119,104,105,108,101>>]},{pre,[],[{code,[],[<<114,101,58,114,101,112,108,97,99,101,40,34,97,98,99,100,34,44,34,99,34,44,34,91,92,92,38,93,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<34,97,98,91,38,93,100,34>>]}]},{p,[],[<<65,115,32,119,105,116,104,32>>,{code,[],[<<114,117,110,47,51>>]},<<44,32,99,111,109,112,105,108,97,116,105,111,110,32,101,114,114,111,114,115,32,114,97,105,115,101,32,116,104,101,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,46,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,99,111,109,112,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,111,109,112,105,108,101,47,50>>]}]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,103,101,116,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,101,114,114,111,114,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,51,54,48>>,signature => [{attribute,{366,2},spec,{{replace,4},[{type,{366,14},bounded_fun,[{type,{366,14},'fun',[{type,{366,14},product,[{var,{366,15},'Subject'},{var,{366,24},'RE'},{var,{366,28},'Replacement'},{var,{366,41},'Options'}]},{type,{366,53},union,[{type,{366,53},iodata,[]},{remote_type,{366,64},[{atom,{366,64},unicode},{atom,{366,72},charlist},[]]}]}]},[{type,{367,7},constraint,[{atom,{367,7},is_subtype},[{var,{367,7},'Subject'},{type,{367,18},union,[{type,{367,18},iodata,[]},{remote_type,{367,29},[{atom,{367,29},unicode},{atom,{367,37},charlist},[]]}]}]]},{type,{368,7},constraint,[{atom,{368,7},is_subtype},[{var,{368,7},'RE'},{type,{368,13},union,[{user_type,{368,13},mp,[]},{type,{368,20},iodata,[]},{remote_type,{368,31},[{atom,{368,31},unicode},{atom,{368,39},charlist},[]]}]}]]},{type,{369,7},constraint,[{atom,{369,7},is_subtype},[{var,{369,7},'Replacement'},{type,{369,22},union,[{type,{369,22},iodata,[]},{remote_type,{369,33},[{atom,{369,33},unicode},{atom,{369,41},charlist},[]]}]}]]},{type,{370,7},constraint,[{atom,{370,7},is_subtype},[{var,{370,7},'Options'},{type,{370,18},list,[{var,{370,19},'Option'}]}]]},{type,{371,7},constraint,[{atom,{371,7},is_subtype},[{var,{371,7},'Option'},{type,{371,17},union,[{atom,{371,17},anchored},{atom,{371,28},global},{atom,{371,37},notbol},{atom,{371,46},noteol},{atom,{371,55},notempty},{atom,{372,10},notempty_atstart},{type,{373,17},tuple,[{atom,{373,18},offset},{type,{373,26},non_neg_integer,[]}]},{type,{373,47},tuple,[{atom,{373,48},newline},{var,{373,57},'NLSpec'}]},{atom,{373,67},bsr_anycrlf},{type,{374,17},tuple,[{atom,{374,18},match_limit},{type,{374,31},non_neg_integer,[]}]},{type,{375,17},tuple,[{atom,{375,18},match_limit_recursion},{type,{375,41},non_neg_integer,[]}]},{atom,{376,17},bsr_unicode},{type,{376,31},tuple,[{atom,{376,32},return},{var,{376,40},'ReturnType'}]},{var,{376,54},'CompileOpt'}]}]]},{type,{377,7},constraint,[{atom,{377,7},is_subtype},[{var,{377,7},'ReturnType'},{type,{377,21},union,[{atom,{377,21},iodata},{atom,{377,30},list},{atom,{377,37},binary}]}]]},{type,{378,7},constraint,[{atom,{378,7},is_subtype},[{var,{378,7},'CompileOpt'},{user_type,{378,21},compile_option,[]}]]},{type,{379,7},constraint,[{atom,{379,7},is_subtype},[{var,{379,7},'NLSpec'},{type,{379,17},union,[{atom,{379,17},cr},{atom,{379,22},crlf},{atom,{379,29},lf},{atom,{379,34},anycrlf},{atom,{379,44},any}]}]]}]]}]}}]}},{{function,run,2},[{file,[114,101,46,101,114,108]},{location,67}],[<<114,117,110,47,50>>],#{<<101,110>> => [{p,[],[<<83,97,109,101,32,97,115,32>>,{code,[],[<<114,117,110,40,83,117,98,106,101,99,116,44,82,69,44,91,93,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,52,49,48>>,signature => [{attribute,{67,2},spec,{{run,2},[{type,{67,10},bounded_fun,[{type,{67,10},'fun',[{type,{67,10},product,[{var,{67,11},'Subject'},{var,{67,20},'RE'}]},{type,{67,27},union,[{type,{67,27},tuple,[{atom,{67,28},match},{var,{67,35},'Captured'}]},{atom,{67,47},nomatch}]}]},[{type,{68,7},constraint,[{atom,{68,7},is_subtype},[{var,{68,7},'Subject'},{type,{68,18},union,[{type,{68,18},iodata,[]},{remote_type,{68,29},[{atom,{68,29},unicode},{atom,{68,37},charlist},[]]}]}]]},{type,{69,7},constraint,[{atom,{69,7},is_subtype},[{var,{69,7},'RE'},{type,{69,13},union,[{user_type,{69,13},mp,[]},{type,{69,20},iodata,[]}]}]]},{type,{70,7},constraint,[{atom,{70,7},is_subtype},[{var,{70,7},'Captured'},{type,{70,19},list,[{var,{70,20},'CaptureData'}]}]]},{type,{71,7},constraint,[{atom,{71,7},is_subtype},[{var,{71,7},'CaptureData'},{type,{71,22},tuple,[{type,{71,23},integer,[]},{type,{71,34},integer,[]}]}]]}]]}]}}]}},{{function,run,3},[{file,[114,101,46,101,114,108]},{location,76}],[<<114,117,110,47,51>>],#{<<101,110>> => [{p,[],[<<69,120,101,99,117,116,101,115,32,97,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,105,110,103,44,32,97,110,100,32,114,101,116,117,114,110,115,32>>,{code,[],[<<109,97,116,99,104,47,123,109,97,116,99,104,44,32,67,97,112,116,117,114,101,100,125>>]},<<32,111,114,32>>,{code,[],[<<110,111,109,97,116,99,104>>]},<<46,32,84,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,99,97,110,32,98,101,32,115,112,101,99,105,102,105,101,100,32,101,105,116,104,101,114,32,97,115,32>>,{code,[],[<<105,111,100,97,116,97,40,41>>]},<<32,105,110,32,119,104,105,99,104,32,99,97,115,101,32,105,116,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,99,111,109,112,105,108,101,100,32,40,97,115,32,98,121,32>>,{code,[],[<<99,111,109,112,105,108,101,47,50>>]},<<41,32,97,110,100,32,101,120,101,99,117,116,101,100,44,32,111,114,32,97,115,32,97,32,112,114,101,99,111,109,112,105,108,101,100,32>>,{code,[],[<<109,112,40,41>>]},<<32,105,110,32,119,104,105,99,104,32,99,97,115,101,32,105,116,32,105,115,32,101,120,101,99,117,116,101,100,32,97,103,97,105,110,115,116,32,116,104,101,32,115,117,98,106,101,99,116,32,100,105,114,101,99,116,108,121,46>>]},{p,[],[<<87,104,101,110,32,99,111,109,112,105,108,97,116,105,111,110,32,105,115,32,105,110,118,111,108,118,101,100,44,32,101,120,99,101,112,116,105,111,110,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,115,32,116,104,114,111,119,110,32,105,102,32,97,32,99,111,109,112,105,108,97,116,105,111,110,32,101,114,114,111,114,32,111,99,99,117,114,115,46,32,67,97,108,108,32>>,{code,[],[<<99,111,109,112,105,108,101,47,50>>]},<<32,116,111,32,103,101,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,108,111,99,97,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{p,[],[<<73,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,112,114,101,118,105,111,117,115,108,121,32,99,111,109,112,105,108,101,100,44,32,116,104,101,32,111,112,116,105,111,110,32,108,105,115,116,32,99,97,110,32,111,110,108,121,32,99,111,110,116,97,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,111,112,116,105,111,110,115,58>>]},{ul,[],[{li,[],[{code,[],[<<97,110,99,104,111,114,101,100>>]}]},{li,[],[{code,[],[<<123,99,97,112,116,117,114,101,44,32,86,97,108,117,101,83,112,101,99,125,47,123,99,97,112,116,117,114,101,44,32,86,97,108,117,101,83,112,101,99,44,32,84,121,112,101,125>>]}]},{li,[],[{code,[],[<<103,108,111,98,97,108>>]}]},{li,[],[{code,[],[<<123,109,97,116,99,104,95,108,105,109,105,116,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{li,[],[{code,[],[<<123,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{li,[],[{code,[],[<<123,110,101,119,108,105,110,101,44,32,78,76,83,112,101,99,125>>]}]},{li,[],[{code,[],[<<110,111,116,98,111,108>>]}]},{li,[],[{code,[],[<<110,111,116,101,109,112,116,121>>]}]},{li,[],[{code,[],[<<110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116>>]}]},{li,[],[{code,[],[<<110,111,116,101,111,108>>]}]},{li,[],[{code,[],[<<123,111,102,102,115,101,116,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{li,[],[{code,[],[<<114,101,112,111,114,116,95,101,114,114,111,114,115>>]}]}]},{p,[],[<<79,116,104,101,114,119,105,115,101,32,97,108,108,32,111,112,116,105,111,110,115,32,118,97,108,105,100,32,102,111,114,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<99,111,109,112,105,108,101,47,50>>]},<<32,97,114,101,32,97,108,115,111,32,97,108,108,111,119,101,100,46,32,79,112,116,105,111,110,115,32,97,108,108,111,119,101,100,32,98,111,116,104,32,102,111,114,32,99,111,109,112,105,108,97,116,105,111,110,32,97,110,100,32,101,120,101,99,117,116,105,111,110,32,111,102,32,97,32,109,97,116,99,104,44,32,110,97,109,101,108,121,32>>,{code,[],[<<97,110,99,104,111,114,101,100>>]},<<32,97,110,100,32>>,{code,[],[<<123,110,101,119,108,105,110,101,44,32,78,76,83,112,101,99,125>>]},<<44,32,97,102,102,101,99,116,32,98,111,116,104,32,116,104,101,32,99,111,109,112,105,108,97,116,105,111,110,32,97,110,100,32,101,120,101,99,117,116,105,111,110,32,105,102,32,112,114,101,115,101,110,116,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32,97,32,110,111,110,45,112,114,101,99,111,109,112,105,108,101,100,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{p,[],[<<73,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32>>,{code,[],[<<83,117,98,106,101,99,116>>]},<<32,105,115,32,116,111,32,98,101,32,112,114,111,118,105,100,101,100,32,97,115,32,97,32,118,97,108,105,100,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<44,32,111,116,104,101,114,119,105,115,101,32,97,110,121,32>>,{code,[],[<<105,111,100,97,116,97,40,41>>]},<<32,119,105,108,108,32,100,111,46,32,73,102,32,99,111,109,112,105,108,97,116,105,111,110,32,105,115,32,105,110,118,111,108,118,101,100,32,97,110,100,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,98,111,116,104,32>>,{code,[],[<<83,117,98,106,101,99,116>>]},<<32,97,110,100,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,97,114,101,32,116,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,118,97,108,105,100,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,115,40,41>>]},<<46>>]},{p,[],[{code,[],[<<123,99,97,112,116,117,114,101,44,32,86,97,108,117,101,83,112,101,99,125,47,123,99,97,112,116,117,114,101,44,32,86,97,108,117,101,83,112,101,99,44,32,84,121,112,101,125>>]},<<32,100,101,102,105,110,101,115,32,119,104,97,116,32,116,111,32,114,101,116,117,114,110,32,102,114,111,109,32,116,104,101,32,102,117,110,99,116,105,111,110,32,117,112,111,110,32,115,117,99,99,101,115,115,102,117,108,32,109,97,116,99,104,105,110,103,46,32,84,104,101,32>>,{code,[],[<<99,97,112,116,117,114,101>>]},<<32,116,117,112,108,101,32,99,97,110,32,99,111,110,116,97,105,110,32,98,111,116,104,32,97,32,118,97,108,117,101,32,115,112,101,99,105,102,105,99,97,116,105,111,110,44,32,116,101,108,108,105,110,103,32,119,104,105,99,104,32,111,102,32,116,104,101,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,32,97,114,101,32,116,111,32,98,101,32,114,101,116,117,114,110,101,100,44,32,97,110,100,32,97,32,116,121,112,101,32,115,112,101,99,105,102,105,99,97,116,105,111,110,44,32,116,101,108,108,105,110,103,32,104,111,119,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,32,97,114,101,32,116,111,32,98,101,32,114,101,116,117,114,110,101,100,32,40,97,115,32,105,110,100,101,120,32,116,117,112,108,101,115,44,32,108,105,115,116,115,44,32,111,114,32,98,105,110,97,114,105,101,115,41,46,32,84,104,101,32,111,112,116,105,111,110,115,32,97,114,101,32,100,101,115,99,114,105,98,101,100,32,105,110,32,100,101,116,97,105,108,32,98,101,108,111,119,46>>]},{p,[],[<<73,102,32,116,104,101,32,99,97,112,116,117,114,101,32,111,112,116,105,111,110,115,32,100,101,115,99,114,105,98,101,32,116,104,97,116,32,110,111,32,115,117,98,115,116,114,105,110,103,32,99,97,112,116,117,114,105,110,103,32,105,115,32,116,111,32,98,101,32,100,111,110,101,32,40>>,{code,[],[<<123,99,97,112,116,117,114,101,44,32,110,111,110,101,125>>]},<<41,44,32,116,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,116,104,101,32,115,105,110,103,108,101,32,97,116,111,109,32>>,{code,[],[<<109,97,116,99,104>>]},<<32,117,112,111,110,32,115,117,99,99,101,115,115,102,117,108,32,109,97,116,99,104,105,110,103,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,116,117,112,108,101,32>>,{code,[],[<<123,109,97,116,99,104,44,32,86,97,108,117,101,76,105,115,116,125>>]},<<46,32,68,105,115,97,98,108,105,110,103,32,99,97,112,116,117,114,105,110,103,32,99,97,110,32,98,101,32,100,111,110,101,32,101,105,116,104,101,114,32,98,121,32,115,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<110,111,110,101>>]},<<32,111,114,32,97,110,32,101,109,112,116,121,32,108,105,115,116,32,97,115,32>>,{code,[],[<<86,97,108,117,101,83,112,101,99>>]},<<46>>]},{p,[],[<<79,112,116,105,111,110,32>>,{code,[],[<<114,101,112,111,114,116,95,101,114,114,111,114,115>>]},<<32,97,100,100,115,32,116,104,101,32,112,111,115,115,105,98,105,108,105,116,121,32,116,104,97,116,32,97,110,32,101,114,114,111,114,32,116,117,112,108,101,32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,101,32,116,117,112,108,101,32,101,105,116,104,101,114,32,105,110,100,105,99,97,116,101,115,32,97,32,109,97,116,99,104,105,110,103,32,101,114,114,111,114,32,40>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116>>]},<<32,111,114,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110>>]},<<41,44,32,111,114,32,97,32,99,111,109,112,105,108,97,116,105,111,110,32,101,114,114,111,114,44,32,119,104,101,114,101,32,116,104,101,32,101,114,114,111,114,32,116,117,112,108,101,32,104,97,115,32,116,104,101,32,102,111,114,109,97,116,32>>,{code,[],[<<123,101,114,114,111,114,44,32,123,99,111,109,112,105,108,101,44,32,67,111,109,112,105,108,101,69,114,114,125,125>>]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<114,101,112,111,114,116,95,101,114,114,111,114,115>>]},<<32,105,115,32,110,111,116,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,102,117,110,99,116,105,111,110,32,110,101,118,101,114,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,116,117,112,108,101,115,44,32,98,117,116,32,114,101,112,111,114,116,115,32,99,111,109,112,105,108,97,116,105,111,110,32,101,114,114,111,114,115,32,97,115,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,97,110,100,32,102,97,105,108,101,100,32,109,97,116,99,104,101,115,32,98,101,99,97,117,115,101,32,111,102,32,101,120,99,101,101,100,101,100,32,109,97,116,99,104,32,108,105,109,105,116,115,32,115,105,109,112,108,121,32,97,115,32>>,{code,[],[<<110,111,109,97,116,99,104>>]},<<46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,111,112,116,105,111,110,115,32,97,114,101,32,114,101,108,101,118,97,110,116,32,102,111,114,32,101,120,101,99,117,116,105,111,110,58>>]},{dl,[],[{dt,[],[{code,[],[<<97,110,99,104,111,114,101,100>>]}]},{dd,[],[{p,[],[<<76,105,109,105,116,115,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,116,111,32,109,97,116,99,104,105,110,103,32,97,116,32,116,104,101,32,102,105,114,115,116,32,109,97,116,99,104,105,110,103,32,112,111,115,105,116,105,111,110,46,32,73,102,32,97,32,112,97,116,116,101,114,110,32,119,97,115,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32>>,{code,[],[<<97,110,99,104,111,114,101,100>>]},<<44,32,111,114,32,116,117,114,110,101,100,32,111,117,116,32,116,111,32,98,101,32,97,110,99,104,111,114,101,100,32,98,121,32,118,105,114,116,117,101,32,111,102,32,105,116,115,32,99,111,110,116,101,110,116,115,44,32,105,116,32,99,97,110,110,111,116,32,98,101,32,109,97,100,101,32,117,110,97,110,99,104,111,114,101,100,32,97,116,32,109,97,116,99,104,105,110,103,32,116,105,109,101,44,32,104,101,110,99,101,32,116,104,101,114,101,32,105,115,32,110,111,32>>,{code,[],[<<117,110,97,110,99,104,111,114,101,100>>]},<<32,111,112,116,105,111,110,46>>]}]},{dt,[],[{code,[],[<<103,108,111,98,97,108>>]}]},{dd,[],[{p,[],[<<73,109,112,108,101,109,101,110,116,115,32,103,108,111,98,97,108,32,40,114,101,112,101,116,105,116,105,118,101,41,32,115,101,97,114,99,104,32,40,102,108,97,103,32>>,{code,[],[<<103>>]},<<32,105,110,32,80,101,114,108,41,46,32,69,97,99,104,32,109,97,116,99,104,32,105,115,32,114,101,116,117,114,110,101,100,32,97,115,32,97,32,115,101,112,97,114,97,116,101,32>>,{code,[],[<<108,105,115,116,40,41>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,115,112,101,99,105,102,105,99,32,109,97,116,99,104,32,97,110,100,32,97,110,121,32,109,97,116,99,104,105,110,103,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,40,111,114,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32,111,112,116,105,111,110,32>>,{code,[],[<<99,97,112,116,117,114,101>>]},<<46,32,84,104,101,32>>,{code,[],[<<67,97,112,116,117,114,101,100>>]},<<32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,104,101,110,99,101,32,97,32>>,{code,[],[<<108,105,115,116,40,41>>]},<<32,111,102,32>>,{code,[],[<<108,105,115,116,40,41>>]},<<115,32,119,104,101,110,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,46>>]},{p,[],[<<84,104,101,32,105,110,116,101,114,97,99,116,105,111,110,32,111,102,32,111,112,116,105,111,110,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<32,119,105,116,104,32,97,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,116,104,97,116,32,109,97,116,99,104,101,115,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,32,115,117,114,112,114,105,115,101,115,32,115,111,109,101,32,117,115,101,114,115,46,32,87,104,101,110,32,111,112,116,105,111,110,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,104,97,110,100,108,101,115,32,101,109,112,116,121,32,109,97,116,99,104,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,119,97,121,32,97,115,32,80,101,114,108,58,32,97,32,122,101,114,111,45,108,101,110,103,116,104,32,109,97,116,99,104,32,97,116,32,97,110,121,32,112,111,105,110,116,32,105,115,32,97,108,115,111,32,114,101,116,114,105,101,100,32,119,105,116,104,32,111,112,116,105,111,110,115,32>>,{code,[],[<<91,97,110,99,104,111,114,101,100,44,32,110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116,93>>]},<<46,32,73,102,32,116,104,97,116,32,115,101,97,114,99,104,32,103,105,118,101,115,32,97,32,114,101,115,117,108,116,32,111,102,32,108,101,110,103,116,104,32,62,32,48,44,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,105,110,99,108,117,100,101,100,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,99,97,116,34,44,34,40,124,97,116,41,34,44,91,103,108,111,98,97,108,93,41,46>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,105,110,103,115,32,97,114,101,32,112,101,114,102,111,114,109,101,100,58>>]},{dl,[],[{dt,[],[<<65,116,32,111,102,102,115,101,116,32>>,{code,[],[<<48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32>>,{code,[],[<<40,124,97,116,41>>]},<<32,102,105,114,115,116,32,109,97,116,99,104,32,97,116,32,116,104,101,32,105,110,105,116,105,97,108,32,112,111,115,105,116,105,111,110,32,111,102,32,115,116,114,105,110,103,32>>,{code,[],[<<99,97,116>>]},<<44,32,103,105,118,105,110,103,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,32>>,{code,[],[<<91,123,48,44,48,125,44,123,48,44,48,125,93>>]},<<32,40,116,104,101,32,115,101,99,111,110,100,32>>,{code,[],[<<123,48,44,48,125>>]},<<32,105,115,32,98,101,99,97,117,115,101,32,111,102,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,109,97,114,107,101,100,32,98,121,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,41,46,32,65,115,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,109,97,116,99,104,32,105,115,32,48,44,32,119,101,32,100,111,32,110,111,116,32,97,100,118,97,110,99,101,32,116,111,32,116,104,101,32,110,101,120,116,32,112,111,115,105,116,105,111,110,32,121,101,116,46>>]}]},{dt,[],[<<65,116,32,111,102,102,115,101,116,32>>,{code,[],[<<48>>]},<<32,119,105,116,104,32>>,{code,[],[<<91,97,110,99,104,111,114,101,100,44,32,110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116,93>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,101,97,114,99,104,32,105,115,32,114,101,116,114,105,101,100,32,119,105,116,104,32,111,112,116,105,111,110,115,32>>,{code,[],[<<91,97,110,99,104,111,114,101,100,44,32,110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116,93>>]},<<32,97,116,32,116,104,101,32,115,97,109,101,32,112,111,115,105,116,105,111,110,44,32,119,104,105,99,104,32,100,111,101,115,32,110,111,116,32,103,105,118,101,32,97,110,121,32,105,110,116,101,114,101,115,116,105,110,103,32,114,101,115,117,108,116,32,111,102,32,108,111,110,103,101,114,32,108,101,110,103,116,104,44,32,115,111,32,116,104,101,32,115,101,97,114,99,104,32,112,111,115,105,116,105,111,110,32,105,115,32,97,100,118,97,110,99,101,100,32,116,111,32,116,104,101,32,110,101,120,116,32,99,104,97,114,97,99,116,101,114,32,40>>,{code,[],[<<97>>]},<<41,46>>]}]},{dt,[],[<<65,116,32,111,102,102,115,101,116,32>>,{code,[],[<<49>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,101,97,114,99,104,32,114,101,115,117,108,116,115,32,105,110,32>>,{code,[],[<<91,123,49,44,48,125,44,123,49,44,48,125,93>>]},<<44,32,115,111,32,116,104,105,115,32,115,101,97,114,99,104,32,105,115,32,97,108,115,111,32,114,101,112,101,97,116,101,100,32,119,105,116,104,32,116,104,101,32,101,120,116,114,97,32,111,112,116,105,111,110,115,46>>]}]},{dt,[],[<<65,116,32,111,102,102,115,101,116,32>>,{code,[],[<<49>>]},<<32,119,105,116,104,32>>,{code,[],[<<91,97,110,99,104,111,114,101,100,44,32,110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116,93>>]}]},{dd,[],[{p,[],[<<65,108,116,101,114,110,97,116,105,118,101,32>>,{code,[],[<<97,98>>]},<<32,105,115,32,102,111,117,110,100,32,97,110,100,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,91,123,49,44,50,125,44,123,49,44,50,125,93,46,32,84,104,101,32,114,101,115,117,108,116,32,105,115,32,97,100,100,101,100,32,116,111,32,116,104,101,32,108,105,115,116,32,111,102,32,114,101,115,117,108,116,115,32,97,110,100,32,116,104,101,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,101,97,114,99,104,32,115,116,114,105,110,103,32,105,115,32,97,100,118,97,110,99,101,100,32,116,119,111,32,115,116,101,112,115,46>>]}]},{dt,[],[<<65,116,32,111,102,102,115,101,116,32>>,{code,[],[<<51>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,101,97,114,99,104,32,111,110,99,101,32,97,103,97,105,110,32,109,97,116,99,104,101,115,32,116,104,101,32,101,109,112,116,121,32,115,116,114,105,110,103,44,32,103,105,118,105,110,103,32>>,{code,[],[<<91,123,51,44,48,125,44,123,51,44,48,125,93>>]},<<46>>]}]},{dt,[],[<<65,116,32,111,102,102,115,101,116,32>>,{code,[],[<<49>>]},<<32,119,105,116,104,32>>,{code,[],[<<91,97,110,99,104,111,114,101,100,44,32,110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116,93>>]}]},{dd,[],[{p,[],[<<84,104,105,115,32,103,105,118,101,115,32,110,111,32,114,101,115,117,108,116,32,111,102,32,108,101,110,103,116,104,32,62,32,48,32,97,110,100,32,119,101,32,97,114,101,32,97,116,32,116,104,101,32,108,97,115,116,32,112,111,115,105,116,105,111,110,44,32,115,111,32,116,104,101,32,103,108,111,98,97,108,32,115,101,97,114,99,104,32,105,115,32,99,111,109,112,108,101,116,101,46>>]}]}]},{p,[],[<<84,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,99,97,108,108,32,105,115,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,91,123,48,44,48,125,44,123,48,44,48,125,93,44,91,123,49,44,48,125,44,123,49,44,48,125,93,44,91,123,49,44,50,125,44,123,49,44,50,125,93,44,91,123,51,44,48,125,44,123,51,44,48,125,93,93,125>>]}]}]},{dt,[],[{code,[],[<<110,111,116,101,109,112,116,121>>]}]},{dd,[],[{p,[],[<<65,110,32,101,109,112,116,121,32,115,116,114,105,110,103,32,105,115,32,110,111,116,32,99,111,110,115,105,100,101,114,101,100,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,109,97,116,99,104,32,105,102,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,46,32,73,102,32,97,108,116,101,114,110,97,116,105,118,101,115,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,101,120,105,115,116,44,32,116,104,101,121,32,97,114,101,32,116,114,105,101,100,46,32,73,102,32,97,108,108,32,116,104,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,109,97,116,99,104,32,116,104,101,32,101,109,112,116,121,32,115,116,114,105,110,103,44,32,116,104,101,32,101,110,116,105,114,101,32,109,97,116,99,104,32,102,97,105,108,115,46>>]},{p,[],[{em,[],[<<69,120,97,109,112,108,101,58>>]}]},{p,[],[<<73,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,97,32,115,116,114,105,110,103,32,110,111,116,32,98,101,103,105,110,110,105,110,103,32,119,105,116,104,32,34,97,34,32,111,114,32,34,98,34,44,32,105,116,32,119,111,117,108,100,32,110,111,114,109,97,108,108,121,32,109,97,116,99,104,32,116,104,101,32,101,109,112,116,121,32,115,116,114,105,110,103,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,58>>]},{pre,[],[{code,[],[<<97,63,98,63>>]}]},{p,[],[<<87,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<110,111,116,101,109,112,116,121>>]},<<44,32,116,104,105,115,32,109,97,116,99,104,32,105,115,32,105,110,118,97,108,105,100,44,32,115,111,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,115,101,97,114,99,104,101,115,32,102,117,114,116,104,101,114,32,105,110,116,111,32,116,104,101,32,115,116,114,105,110,103,32,102,111,114,32,111,99,99,117,114,114,101,110,99,101,115,32,111,102,32,34,97,34,32,111,114,32,34,98,34,46>>]}]},{dt,[],[{code,[],[<<110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116>>]}]},{dd,[],[{p,[],[<<76,105,107,101,32>>,{code,[],[<<110,111,116,101,109,112,116,121>>]},<<44,32,101,120,99,101,112,116,32,116,104,97,116,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,32,109,97,116,99,104,32,116,104,97,116,32,105,115,32,110,111,116,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,105,115,32,112,101,114,109,105,116,116,101,100,46,32,73,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,97,110,99,104,111,114,101,100,44,32,115,117,99,104,32,97,32,109,97,116,99,104,32,99,97,110,32,111,99,99,117,114,32,111,110,108,121,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,99,111,110,116,97,105,110,115,32,92,75,46>>]},{p,[],[<<80,101,114,108,32,104,97,115,32,110,111,32,100,105,114,101,99,116,32,101,113,117,105,118,97,108,101,110,116,32,111,102,32>>,{code,[],[<<110,111,116,101,109,112,116,121>>]},<<32,111,114,32>>,{code,[],[<<110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116>>]},<<44,32,98,117,116,32,105,116,32,100,111,101,115,32,109,97,107,101,32,97,32,115,112,101,99,105,97,108,32,99,97,115,101,32,111,102,32,97,32,112,97,116,116,101,114,110,32,109,97,116,99,104,32,111,102,32,116,104,101,32,101,109,112,116,121,32,115,116,114,105,110,103,32,119,105,116,104,105,110,32,105,116,115,32,115,112,108,105,116,40,41,32,102,117,110,99,116,105,111,110,44,32,97,110,100,32,119,104,101,110,32,117,115,105,110,103,32,109,111,100,105,102,105,101,114,32>>,{code,[],[<<47,103>>]},<<46,32,84,104,101,32,80,101,114,108,32,98,101,104,97,118,105,111,114,32,99,97,110,32,98,101,32,101,109,117,108,97,116,101,100,32,97,102,116,101,114,32,109,97,116,99,104,105,110,103,32,97,32,110,117,108,108,32,115,116,114,105,110,103,32,98,121,32,102,105,114,115,116,32,116,114,121,105,110,103,32,116,104,101,32,109,97,116,99,104,32,97,103,97,105,110,32,97,116,32,116,104,101,32,115,97,109,101,32,111,102,102,115,101,116,32,119,105,116,104,32>>,{code,[],[<<110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116>>]},<<32,97,110,100,32>>,{code,[],[<<97,110,99,104,111,114,101,100>>]},<<44,32,97,110,100,32,116,104,101,110,44,32,105,102,32,116,104,97,116,32,102,97,105,108,115,44,32,98,121,32,97,100,118,97,110,99,105,110,103,32,116,104,101,32,115,116,97,114,116,105,110,103,32,111,102,102,115,101,116,32,40,115,101,101,32,98,101,108,111,119,41,32,97,110,100,32,116,114,121,105,110,103,32,97,110,32,111,114,100,105,110,97,114,121,32,109,97,116,99,104,32,97,103,97,105,110,46>>]}]},{dt,[],[{code,[],[<<110,111,116,98,111,108>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,116,104,97,116,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,105,115,32,110,111,116,32,116,104,101,32,98,101,103,105,110,110,105,110,103,32,111,102,32,97,32,108,105,110,101,44,32,115,111,32,116,104,101,32,99,105,114,99,117,109,102,108,101,120,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,116,111,32,109,97,116,99,104,32,98,101,102,111,114,101,32,105,116,46,32,83,101,116,116,105,110,103,32,116,104,105,115,32,119,105,116,104,111,117,116,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,40,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,41,32,99,97,117,115,101,115,32,99,105,114,99,117,109,102,108,101,120,32,110,101,118,101,114,32,116,111,32,109,97,116,99,104,46,32,84,104,105,115,32,111,112,116,105,111,110,32,111,110,108,121,32,97,102,102,101,99,116,115,32,116,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,116,104,101,32,99,105,114,99,117,109,102,108,101,120,32,109,101,116,97,99,104,97,114,97,99,116,101,114,46,32,73,116,32,100,111,101,115,32,110,111,116,32,97,102,102,101,99,116,32,92,65,46>>]}]},{dt,[],[{code,[],[<<110,111,116,101,111,108>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,116,104,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,105,115,32,110,111,116,32,116,104,101,32,101,110,100,32,111,102,32,97,32,108,105,110,101,44,32,115,111,32,116,104,101,32,100,111,108,108,97,114,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,116,111,32,109,97,116,99,104,32,105,116,32,110,111,114,32,40,101,120,99,101,112,116,32,105,110,32,109,117,108,116,105,108,105,110,101,32,109,111,100,101,41,32,97,32,110,101,119,108,105,110,101,32,105,109,109,101,100,105,97,116,101,108,121,32,98,101,102,111,114,101,32,105,116,46,32,83,101,116,116,105,110,103,32,116,104,105,115,32,119,105,116,104,111,117,116,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,40,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,41,32,99,97,117,115,101,115,32,100,111,108,108,97,114,32,110,101,118,101,114,32,116,111,32,109,97,116,99,104,46,32,84,104,105,115,32,111,112,116,105,111,110,32,97,102,102,101,99,116,115,32,111,110,108,121,32,116,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,116,104,101,32,100,111,108,108,97,114,32,109,101,116,97,99,104,97,114,97,99,116,101,114,46,32,73,116,32,100,111,101,115,32,110,111,116,32,97,102,102,101,99,116,32,92,90,32,111,114,32,92,122,46>>]}]},{dt,[],[{code,[],[<<114,101,112,111,114,116,95,101,114,114,111,114,115>>]}]},{dd,[],[{p,[],[<<71,105,118,101,115,32,98,101,116,116,101,114,32,99,111,110,116,114,111,108,32,111,102,32,116,104,101,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103,32,105,110,32>>,{code,[],[<<114,117,110,47,51>>]},<<46,32,87,104,101,110,32,115,112,101,99,105,102,105,101,100,44,32,99,111,109,112,105,108,97,116,105,111,110,32,101,114,114,111,114,115,32,40,105,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,110,111,116,32,97,108,114,101,97,100,121,32,99,111,109,112,105,108,101,100,41,32,97,110,100,32,114,117,110,116,105,109,101,32,101,114,114,111,114,115,32,97,114,101,32,101,120,112,108,105,99,105,116,108,121,32,114,101,116,117,114,110,101,100,32,97,115,32,97,110,32,101,114,114,111,114,32,116,117,112,108,101,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,112,111,115,115,105,98,108,101,32,114,117,110,116,105,109,101,32,101,114,114,111,114,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<109,97,116,99,104,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,80,67,82,69,32,108,105,98,114,97,114,121,32,115,101,116,115,32,97,32,108,105,109,105,116,32,111,110,32,104,111,119,32,109,97,110,121,32,116,105,109,101,115,32,116,104,101,32,105,110,116,101,114,110,97,108,32,109,97,116,99,104,32,102,117,110,99,116,105,111,110,32,99,97,110,32,98,101,32,99,97,108,108,101,100,46,32,68,101,102,97,117,108,116,115,32,116,111,32,49,48,44,48,48,48,44,48,48,48,32,105,110,32,116,104,101,32,108,105,98,114,97,114,121,32,99,111,109,112,105,108,101,100,32,102,111,114,32,69,114,108,97,110,103,46,32,73,102,32>>,{code,[],[<<123,101,114,114,111,114,44,32,109,97,116,99,104,95,108,105,109,105,116,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,116,104,101,32,101,120,101,99,117,116,105,111,110,32,111,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,104,97,115,32,114,101,97,99,104,101,100,32,116,104,105,115,32,108,105,109,105,116,46,32,84,104,105,115,32,105,115,32,110,111,114,109,97,108,108,121,32,116,111,32,98,101,32,114,101,103,97,114,100,101,100,32,97,115,32,97,32>>,{code,[],[<<110,111,109,97,116,99,104>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,32,114,101,116,117,114,110,32,118,97,108,117,101,32,119,104,101,110,32,116,104,105,115,32,111,99,99,117,114,115,44,32,98,117,116,32,98,121,32,115,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<114,101,112,111,114,116,95,101,114,114,111,114,115>>]},<<44,32,121,111,117,32,97,114,101,32,105,110,102,111,114,109,101,100,32,119,104,101,110,32,116,104,101,32,109,97,116,99,104,32,102,97,105,108,115,32,98,101,99,97,117,115,101,32,111,102,32,116,111,111,32,109,97,110,121,32,105,110,116,101,114,110,97,108,32,99,97,108,108,115,46>>]}]},{dt,[],[{code,[],[<<109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110>>]}]},{dd,[],[{p,[],[<<84,104,105,115,32,101,114,114,111,114,32,105,115,32,118,101,114,121,32,115,105,109,105,108,97,114,32,116,111,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116>>]},<<44,32,98,117,116,32,111,99,99,117,114,115,32,119,104,101,110,32,116,104,101,32,105,110,116,101,114,110,97,108,32,109,97,116,99,104,32,102,117,110,99,116,105,111,110,32,111,102,32,80,67,82,69,32,105,115,32,34,114,101,99,117,114,115,105,118,101,108,121,34,32,99,97,108,108,101,100,32,109,111,114,101,32,116,105,109,101,115,32,116,104,97,110,32,116,104,101,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110>>]},<<32,108,105,109,105,116,44,32,119,104,105,99,104,32,100,101,102,97,117,108,116,115,32,116,111,32,49,48,44,48,48,48,44,48,48,48,32,97,115,32,119,101,108,108,46,32,78,111,116,105,99,101,32,116,104,97,116,32,97,115,32,108,111,110,103,32,97,115,32,116,104,101,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116>>]},<<32,97,110,100,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116,95,100,101,102,97,117,108,116>>]},<<32,118,97,108,117,101,115,32,97,114,101,32,107,101,112,116,32,97,116,32,116,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,115,44,32,116,104,101,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110>>]},<<32,101,114,114,111,114,32,99,97,110,110,111,116,32,111,99,99,117,114,44,32,97,115,32,116,104,101,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116>>]},<<32,101,114,114,111,114,32,111,99,99,117,114,115,32,98,101,102,111,114,101,32,116,104,97,116,32,40,101,97,99,104,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,32,105,115,32,97,108,115,111,32,97,32,99,97,108,108,44,32,98,117,116,32,110,111,116,32,99,111,110,118,101,114,115,101,108,121,41,46,32,66,111,116,104,32,108,105,109,105,116,115,32,99,97,110,32,104,111,119,101,118,101,114,32,98,101,32,99,104,97,110,103,101,100,44,32,101,105,116,104,101,114,32,98,121,32,115,101,116,116,105,110,103,32,108,105,109,105,116,115,32,100,105,114,101,99,116,108,121,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,115,116,114,105,110,103,32,40,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,101,103,101,120,112,95,115,121,110,116,97,120,95,100,101,116,97,105,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<80,67,82,69,32,82,101,103,117,108,97,114,32,69,101,120,112,114,101,115,115,105,111,110,32,68,101,116,97,105,108,115>>]},<<41,32,111,114,32,98,121,32,115,112,101,99,105,102,121,105,110,103,32,111,112,116,105,111,110,115,32,116,111,32>>,{code,[],[<<114,117,110,47,51>>]},<<46>>]}]}]},{p,[],[<<73,116,32,105,115,32,105,109,112,111,114,116,97,110,116,32,116,111,32,117,110,100,101,114,115,116,97,110,100,32,116,104,97,116,32,119,104,97,116,32,105,115,32,114,101,102,101,114,114,101,100,32,116,111,32,97,115,32,34,114,101,99,117,114,115,105,111,110,34,32,119,104,101,110,32,108,105,109,105,116,105,110,103,32,109,97,116,99,104,101,115,32,105,115,32,110,111,116,32,114,101,99,117,114,115,105,111,110,32,111,110,32,116,104,101,32,67,32,115,116,97,99,107,32,111,102,32,116,104,101,32,69,114,108,97,110,103,32,109,97,99,104,105,110,101,32,111,114,32,111,110,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,32,115,116,97,99,107,46,32,84,104,101,32,80,67,82,69,32,118,101,114,115,105,111,110,32,99,111,109,112,105,108,101,100,32,105,110,116,111,32,116,104,101,32,69,114,108,97,110,103,32,86,77,32,117,115,101,115,32,109,97,99,104,105,110,101,32,34,104,101,97,112,34,32,109,101,109,111,114,121,32,116,111,32,115,116,111,114,101,32,118,97,108,117,101,115,32,116,104,97,116,32,109,117,115,116,32,98,101,32,107,101,112,116,32,111,118,101,114,32,114,101,99,117,114,115,105,111,110,32,105,110,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,101,115,46>>]}]},{dt,[],[{code,[],[<<123,109,97,116,99,104,95,108,105,109,105,116,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{dd,[],[{p,[],[<<76,105,109,105,116,115,32,116,104,101,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,32,111,102,32,97,32,109,97,116,99,104,32,105,110,32,97,110,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,45,115,112,101,99,105,102,105,99,32,119,97,121,46,32,73,116,32,105,115,32,100,101,115,99,114,105,98,101,100,32,97,115,32,102,111,108,108,111,119,115,32,98,121,32,116,104,101,32,80,67,82,69,32,100,111,99,117,109,101,110,116,97,116,105,111,110,58>>]},{pre,[],[{code,[],[<<84,104,101,32,109,97,116,99,104,95,108,105,109,105,116,32,102,105,101,108,100,32,112,114,111,118,105,100,101,115,32,97,32,109,101,97,110,115,32,111,102,32,112,114,101,118,101,110,116,105,110,103,32,80,67,82,69,32,102,114,111,109,32,117,115,105,110,103,10,117,112,32,97,32,118,97,115,116,32,97,109,111,117,110,116,32,111,102,32,114,101,115,111,117,114,99,101,115,32,119,104,101,110,32,114,117,110,110,105,110,103,32,112,97,116,116,101,114,110,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,103,111,105,110,103,10,116,111,32,109,97,116,99,104,44,32,98,117,116,32,119,104,105,99,104,32,104,97,118,101,32,97,32,118,101,114,121,32,108,97,114,103,101,32,110,117,109,98,101,114,32,111,102,32,112,111,115,115,105,98,105,108,105,116,105,101,115,32,105,110,32,116,104,101,105,114,10,115,101,97,114,99,104,32,116,114,101,101,115,46,32,84,104,101,32,99,108,97,115,115,105,99,32,101,120,97,109,112,108,101,32,105,115,32,97,32,112,97,116,116,101,114,110,32,116,104,97,116,32,117,115,101,115,32,110,101,115,116,101,100,10,117,110,108,105,109,105,116,101,100,32,114,101,112,101,97,116,115,46,10,10,73,110,116,101,114,110,97,108,108,121,44,32,112,99,114,101,95,101,120,101,99,40,41,32,117,115,101,115,32,97,32,102,117,110,99,116,105,111,110,32,99,97,108,108,101,100,32,109,97,116,99,104,40,41,44,32,119,104,105,99,104,32,105,116,32,99,97,108,108,115,10,114,101,112,101,97,116,101,100,108,121,32,40,115,111,109,101,116,105,109,101,115,32,114,101,99,117,114,115,105,118,101,108,121,41,46,32,84,104,101,32,108,105,109,105,116,32,115,101,116,32,98,121,32,109,97,116,99,104,95,108,105,109,105,116,32,105,115,10,105,109,112,111,115,101,100,32,111,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,116,105,109,101,115,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,32,100,117,114,105,110,103,32,97,32,109,97,116,99,104,44,10,119,104,105,99,104,32,104,97,115,32,116,104,101,32,101,102,102,101,99,116,32,111,102,32,108,105,109,105,116,105,110,103,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,98,97,99,107,116,114,97,99,107,105,110,103,32,116,104,97,116,32,99,97,110,10,116,97,107,101,32,112,108,97,99,101,46,32,70,111,114,32,112,97,116,116,101,114,110,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,97,110,99,104,111,114,101,100,44,32,116,104,101,32,99,111,117,110,116,32,114,101,115,116,97,114,116,115,10,102,114,111,109,32,122,101,114,111,32,102,111,114,32,101,97,99,104,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46>>]}]},{p,[],[<<84,104,105,115,32,109,101,97,110,115,32,116,104,97,116,32,114,117,110,97,119,97,121,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,101,115,32,99,97,110,32,102,97,105,108,32,102,97,115,116,101,114,32,105,102,32,116,104,101,32,108,105,109,105,116,32,105,115,32,108,111,119,101,114,101,100,32,117,115,105,110,103,32,116,104,105,115,32,111,112,116,105,111,110,46,32,84,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,49,48,44,48,48,48,44,48,48,48,32,105,115,32,99,111,109,112,105,108,101,100,32,105,110,116,111,32,116,104,101,32,69,114,108,97,110,103,32,86,77,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,111,112,116,105,111,110,32,100,111,101,115,32,105,110,32,110,111,32,119,97,121,32,97,102,102,101,99,116,32,116,104,101,32,101,120,101,99,117,116,105,111,110,32,111,102,32,116,104,101,32,69,114,108,97,110,103,32,86,77,32,105,110,32,116,101,114,109,115,32,111,102,32,34,108,111,110,103,32,114,117,110,110,105,110,103,32,66,73,70,115,34,46,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,97,108,119,97,121,115,32,103,105,118,101,115,32,99,111,110,116,114,111,108,32,98,97,99,107,32,116,111,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,111,102,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,32,97,116,32,105,110,116,101,114,118,97,108,115,32,116,104,97,116,32,101,110,115,117,114,101,115,32,116,104,101,32,114,101,97,108,45,116,105,109,101,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,116,104,101,32,69,114,108,97,110,103,32,115,121,115,116,101,109,46>>]}]}]},{dt,[],[{code,[],[<<123,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{dd,[],[{p,[],[<<76,105,109,105,116,115,32,116,104,101,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,32,97,110,100,32,109,101,109,111,114,121,32,99,111,110,115,117,109,112,116,105,111,110,32,111,102,32,97,32,109,97,116,99,104,32,105,110,32,97,110,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,45,115,112,101,99,105,102,105,99,32,119,97,121,44,32,118,101,114,121,32,115,105,109,105,108,97,114,32,116,111,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116>>]},<<46,32,73,116,32,105,115,32,100,101,115,99,114,105,98,101,100,32,97,115,32,102,111,108,108,111,119,115,32,98,121,32,116,104,101,32,80,67,82,69,32,100,111,99,117,109,101,110,116,97,116,105,111,110,58>>]},{pre,[],[{code,[],[<<84,104,101,32,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,32,102,105,101,108,100,32,105,115,32,115,105,109,105,108,97,114,32,116,111,32,109,97,116,99,104,95,108,105,109,105,116,44,32,98,117,116,32,105,110,115,116,101,97,100,10,111,102,32,108,105,109,105,116,105,110,103,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,116,105,109,101,115,32,116,104,97,116,32,109,97,116,99,104,40,41,32,105,115,32,99,97,108,108,101,100,44,32,105,116,10,108,105,109,105,116,115,32,116,104,101,32,100,101,112,116,104,32,111,102,32,114,101,99,117,114,115,105,111,110,46,32,84,104,101,32,114,101,99,117,114,115,105,111,110,32,100,101,112,116,104,32,105,115,32,97,32,115,109,97,108,108,101,114,32,110,117,109,98,101,114,10,116,104,97,110,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,99,97,108,108,115,44,32,98,101,99,97,117,115,101,32,110,111,116,32,97,108,108,32,99,97,108,108,115,32,116,111,32,109,97,116,99,104,40,41,32,97,114,101,10,114,101,99,117,114,115,105,118,101,46,32,84,104,105,115,32,108,105,109,105,116,32,105,115,32,111,102,32,117,115,101,32,111,110,108,121,32,105,102,32,105,116,32,105,115,32,115,101,116,32,115,109,97,108,108,101,114,32,116,104,97,110,10,109,97,116,99,104,95,108,105,109,105,116,46,10,10,76,105,109,105,116,105,110,103,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,100,101,112,116,104,32,108,105,109,105,116,115,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,109,97,99,104,105,110,101,32,115,116,97,99,107,32,116,104,97,116,10,99,97,110,32,98,101,32,117,115,101,100,44,32,111,114,44,32,119,104,101,110,32,80,67,82,69,32,104,97,115,32,98,101,101,110,32,99,111,109,112,105,108,101,100,32,116,111,32,117,115,101,32,109,101,109,111,114,121,32,111,110,32,116,104,101,32,104,101,97,112,10,105,110,115,116,101,97,100,32,111,102,32,116,104,101,32,115,116,97,99,107,44,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,104,101,97,112,32,109,101,109,111,114,121,32,116,104,97,116,32,99,97,110,32,98,101,32,117,115,101,100,46>>]}]},{p,[],[<<84,104,101,32,69,114,108,97,110,103,32,86,77,32,117,115,101,115,32,97,32,80,67,82,69,32,108,105,98,114,97,114,121,32,119,104,101,114,101,32,104,101,97,112,32,109,101,109,111,114,121,32,105,115,32,117,115,101,100,32,119,104,101,110,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,32,114,101,99,117,114,115,105,111,110,32,111,99,99,117,114,115,46,32,84,104,105,115,32,116,104,101,114,101,102,111,114,101,32,108,105,109,105,116,115,32,116,104,101,32,117,115,101,32,111,102,32,109,97,99,104,105,110,101,32,104,101,97,112,44,32,110,111,116,32,67,32,115,116,97,99,107,46>>]},{p,[],[<<83,112,101,99,105,102,121,105,110,103,32,97,32,108,111,119,101,114,32,118,97,108,117,101,32,99,97,110,32,114,101,115,117,108,116,32,105,110,32,109,97,116,99,104,101,115,32,119,105,116,104,32,100,101,101,112,32,114,101,99,117,114,115,105,111,110,32,102,97,105,108,105,110,103,44,32,119,104,101,110,32,116,104,101,121,32,115,104,111,117,108,100,32,104,97,118,101,32,109,97,116,99,104,101,100,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<49,62,32,114,101,58,114,117,110,40,34,97,97,97,97,97,97,97,97,97,97,97,97,97,122,34,44,34,40,97,43,41,42,122,34,41,46,10,123,109,97,116,99,104,44,91,123,48,44,49,52,125,44,123,48,44,49,51,125,93,125,10,50,62,32,114,101,58,114,117,110,40,34,97,97,97,97,97,97,97,97,97,97,97,97,97,122,34,44,34,40,97,43,41,42,122,34,44,91,123,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,44,53,125,93,41,46,10,110,111,109,97,116,99,104,10,51,62,32,114,101,58,114,117,110,40,34,97,97,97,97,97,97,97,97,97,97,97,97,97,122,34,44,34,40,97,43,41,42,122,34,44,91,123,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,44,53,125,44,114,101,112,111,114,116,95,101,114,114,111,114,115,93,41,46,10,123,101,114,114,111,114,44,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,125>>]}]},{p,[],[<<84,104,105,115,32,111,112,116,105,111,110,32,97,110,100,32,111,112,116,105,111,110,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116>>]},<<32,97,114,101,32,111,110,108,121,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,114,97,114,101,32,99,97,115,101,115,46,32,85,110,100,101,114,115,116,97,110,100,105,110,103,32,111,102,32,116,104,101,32,80,67,82,69,32,108,105,98,114,97,114,121,32,105,110,116,101,114,110,97,108,115,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,98,101,102,111,114,101,32,116,97,109,112,101,114,105,110,103,32,119,105,116,104,32,116,104,101,115,101,32,108,105,109,105,116,115,46>>]}]},{dt,[],[{code,[],[<<123,111,102,102,115,101,116,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{dd,[],[{p,[],[<<83,116,97,114,116,32,109,97,116,99,104,105,110,103,32,97,116,32,116,104,101,32,111,102,102,115,101,116,32,40,112,111,115,105,116,105,111,110,41,32,115,112,101,99,105,102,105,101,100,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,84,104,101,32,111,102,102,115,101,116,32,105,115,32,122,101,114,111,45,98,97,115,101,100,44,32,115,111,32,116,104,97,116,32,116,104,101,32,100,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<123,111,102,102,115,101,116,44,48,125>>]},<<32,40,97,108,108,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,41,46>>]}]},{dt,[],[{code,[],[<<123,110,101,119,108,105,110,101,44,32,78,76,83,112,101,99,125>>]}]},{dd,[],[{p,[],[<<79,118,101,114,114,105,100,101,115,32,116,104,101,32,100,101,102,97,117,108,116,32,100,101,102,105,110,105,116,105,111,110,32,111,102,32,97,32,110,101,119,108,105,110,101,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,119,104,105,99,104,32,105,115,32,76,70,32,40,65,83,67,73,73,32,49,48,41,32,105,110,32,69,114,108,97,110,103,46>>]},{dl,[],[{dt,[],[{code,[],[<<99,114>>]}]},{dd,[],[{p,[],[<<78,101,119,108,105,110,101,32,105,115,32,105,110,100,105,99,97,116,101,100,32,98,121,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,67,82,32,40,65,83,67,73,73,32,49,51,41,46>>]}]},{dt,[],[{code,[],[<<108,102>>]}]},{dd,[],[{p,[],[<<78,101,119,108,105,110,101,32,105,115,32,105,110,100,105,99,97,116,101,100,32,98,121,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,76,70,32,40,65,83,67,73,73,32,49,48,41,44,32,116,104,101,32,100,101,102,97,117,108,116,46>>]}]},{dt,[],[{code,[],[<<99,114,108,102>>]}]},{dd,[],[{p,[],[<<78,101,119,108,105,110,101,32,105,115,32,105,110,100,105,99,97,116,101,100,32,98,121,32,116,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,67,82,76,70,32,40,65,83,67,73,73,32,49,51,32,102,111,108,108,111,119,101,100,32,98,121,32,65,83,67,73,73,32,49,48,41,32,115,101,113,117,101,110,99,101,46>>]}]},{dt,[],[{code,[],[<<97,110,121,99,114,108,102>>]}]},{dd,[],[{p,[],[<<65,110,121,32,111,102,32,116,104,101,32,116,104,114,101,101,32,112,114,101,99,101,100,105,110,103,32,115,101,113,117,101,110,99,101,115,32,105,115,32,98,101,32,114,101,99,111,103,110,105,122,101,100,46>>]}]},{dt,[],[{code,[],[<<97,110,121>>]}]},{dd,[],[{p,[],[<<65,110,121,32,111,102,32,116,104,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,115,32,97,98,111,118,101,44,32,97,110,100,32,116,104,101,32,85,110,105,99,111,100,101,32,115,101,113,117,101,110,99,101,115,32,86,84,32,40,118,101,114,116,105,99,97,108,32,116,97,98,44,32,85,43,48,48,48,66,41,44,32,70,70,32,40,102,111,114,109,102,101,101,100,44,32,85,43,48,48,48,67,41,44,32,78,69,76,32,40,110,101,120,116,32,108,105,110,101,44,32,85,43,48,48,56,53,41,44,32,76,83,32,40,108,105,110,101,32,115,101,112,97,114,97,116,111,114,44,32,85,43,50,48,50,56,41,44,32,97,110,100,32,80,83,32,40,112,97,114,97,103,114,97,112,104,32,115,101,112,97,114,97,116,111,114,44,32,85,43,50,48,50,57,41,46>>]}]}]}]},{dt,[],[{code,[],[<<98,115,114,95,97,110,121,99,114,108,102>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,115,112,101,99,105,102,105,99,97,108,108,121,32,116,104,97,116,32,92,82,32,105,115,32,116,111,32,109,97,116,99,104,32,111,110,108,121,32,116,104,101,32,67,82,32,76,70,44,32,111,114,32,67,82,76,70,32,115,101,113,117,101,110,99,101,115,44,32,110,111,116,32,116,104,101,32,85,110,105,99,111,100,101,45,115,112,101,99,105,102,105,99,32,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,115,46,32,40,79,118,101,114,114,105,100,101,115,32,116,104,101,32,99,111,109,112,105,108,97,116,105,111,110,32,111,112,116,105,111,110,46,41>>]}]},{dt,[],[{code,[],[<<98,115,114,95,117,110,105,99,111,100,101>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,115,112,101,99,105,102,105,99,97,108,108,121,32,116,104,97,116,32,92,82,32,105,115,32,116,111,32,109,97,116,99,104,32,97,108,108,32,116,104,101,32,85,110,105,99,111,100,101,32,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,115,32,40,105,110,99,108,117,100,105,110,103,32,67,82,76,70,44,32,97,110,100,32,115,111,32,111,110,44,32,116,104,101,32,100,101,102,97,117,108,116,41,46,32,40,79,118,101,114,114,105,100,101,115,32,116,104,101,32,99,111,109,112,105,108,97,116,105,111,110,32,111,112,116,105,111,110,46,41>>]}]},{dt,[],[{code,[],[<<123,99,97,112,116,117,114,101,44,32,86,97,108,117,101,83,112,101,99,125>>]},<<47>>,{code,[],[<<123,99,97,112,116,117,114,101,44,32,86,97,108,117,101,83,112,101,99,44,32,84,121,112,101,125>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,119,104,105,99,104,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,97,110,100,32,105,110,32,119,104,97,116,32,102,111,114,109,97,116,46,32,66,121,32,100,101,102,97,117,108,116,44,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,99,97,112,116,117,114,101,115,32,97,108,108,32,111,102,32,116,104,101,32,109,97,116,99,104,105,110,103,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,115,116,114,105,110,103,32,97,110,100,32,97,108,108,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,40,97,108,108,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,99,97,112,116,117,114,101,100,41,46,32,84,104,101,32,100,101,102,97,117,108,116,32,114,101,116,117,114,110,32,116,121,112,101,32,105,115,32,40,122,101,114,111,45,98,97,115,101,100,41,32,105,110,100,101,120,101,115,32,111,102,32,116,104,101,32,99,97,112,116,117,114,101,100,32,112,97,114,116,115,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,115,112,101,99,105,102,105,101,100,32,97,115,32>>,{code,[],[<<123,79,102,102,115,101,116,44,76,101,110,103,116,104,125>>]},<<32,112,97,105,114,115,32,40,116,104,101,32>>,{code,[],[<<105,110,100,101,120>>]},<<32>>,{code,[],[<<84,121,112,101>>]},<<32,111,102,32,99,97,112,116,117,114,105,110,103,41,46>>]},{p,[],[<<65,115,32,97,110,32,101,120,97,109,112,108,101,32,111,102,32,116,104,101,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,99,97,108,108,32,114,101,116,117,114,110,115,44,32,97,115,32,102,105,114,115,116,32,97,110,100,32,111,110,108,121,32,99,97,112,116,117,114,101,100,32,115,116,114,105,110,103,44,32,116,104,101,32,109,97,116,99,104,105,110,103,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,40,34,97,98,99,100,34,32,105,110,32,116,104,101,32,109,105,100,100,108,101,41,32,97,115,32,97,110,32,105,110,100,101,120,32,112,97,105,114,32>>,{code,[],[<<123,51,44,52,125>>]},<<44,32,119,104,101,114,101,32,99,104,97,114,97,99,116,101,114,32,112,111,115,105,116,105,111,110,115,32,97,114,101,32,122,101,114,111,45,98,97,115,101,100,44,32,106,117,115,116,32,97,115,32,105,110,32,111,102,102,115,101,116,115,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,65,66,67,97,98,99,100,65,66,67,34,44,34,97,98,99,100,34,44,91,93,41,46>>]}]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,111,102,32,116,104,105,115,32,99,97,108,108,32,105,115,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,123,51,44,52,125,93,125>>]}]},{p,[],[<<65,110,111,116,104,101,114,32,40,97,110,100,32,113,117,105,116,101,32,99,111,109,109,111,110,41,32,99,97,115,101,32,105,115,32,119,104,101,114,101,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,101,115,32,97,108,108,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,65,66,67,97,98,99,100,65,66,67,34,44,34,46,42,97,98,99,100,46,42,34,44,91,93,41,46>>]}]},{p,[],[<<72,101,114,101,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,108,121,32,112,111,105,110,116,115,32,111,117,116,32,97,108,108,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,98,101,103,105,110,110,105,110,103,32,97,116,32,105,110,100,101,120,32,48,44,32,97,110,100,32,105,116,32,105,115,32,49,48,32,99,104,97,114,97,99,116,101,114,115,32,108,111,110,103,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,123,48,44,49,48,125,93,125>>]}]},{p,[],[<<73,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,99,111,110,116,97,105,110,115,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,44,32,108,105,107,101,32,105,110,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,65,66,67,97,98,99,100,65,66,67,34,44,34,46,42,40,97,98,99,100,41,46,42,34,44,91,93,41,46>>]}]},{p,[],[<<97,108,108,32,111,102,32,116,104,101,32,109,97,116,99,104,101,100,32,115,117,98,106,101,99,116,32,105,115,32,99,97,112,116,117,114,101,100,44,32,97,115,32,119,101,108,108,32,97,115,32,116,104,101,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,123,48,44,49,48,125,44,123,51,44,52,125,93,125>>]}]},{p,[],[<<84,104,101,32,99,111,109,112,108,101,116,101,32,109,97,116,99,104,105,110,103,32,112,97,116,116,101,114,110,32,97,108,119,97,121,115,32,103,105,118,101,115,32,116,104,101,32,102,105,114,115,116,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,110,32,116,104,101,32,108,105,115,116,32,97,110,100,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,97,114,101,32,97,100,100,101,100,32,105,110,32,116,104,101,32,111,114,100,101,114,32,116,104,101,121,32,111,99,99,117,114,114,101,100,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{p,[],[<<84,104,101,32,99,97,112,116,117,114,101,32,116,117,112,108,101,32,105,115,32,98,117,105,108,116,32,117,112,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<86,97,108,117,101,83,112,101,99>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,119,104,105,99,104,32,99,97,112,116,117,114,101,100,32,40,115,117,98,41,112,97,116,116,101,114,110,115,32,97,114,101,32,116,111,32,98,101,32,114,101,116,117,114,110,101,100,46,32>>,{code,[],[<<86,97,108,117,101,83,112,101,99>>]},<<32,99,97,110,32,101,105,116,104,101,114,32,98,101,32,97,110,32,97,116,111,109,32,100,101,115,99,114,105,98,105,110,103,32,97,32,112,114,101,100,101,102,105,110,101,100,32,115,101,116,32,111,102,32,114,101,116,117,114,110,32,118,97,108,117,101,115,44,32,111,114,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,105,110,100,101,120,101,115,32,111,114,32,116,104,101,32,110,97,109,101,115,32,111,102,32,115,112,101,99,105,102,105,99,32,115,117,98,112,97,116,116,101,114,110,115,32,116,111,32,114,101,116,117,114,110,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,112,114,101,100,101,102,105,110,101,100,32,115,101,116,115,32,111,102,32,115,117,98,112,97,116,116,101,114,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<97,108,108>>]}]},{dd,[],[{p,[],[<<65,108,108,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,105,110,99,108,117,100,105,110,103,32,116,104,101,32,99,111,109,112,108,101,116,101,32,109,97,116,99,104,105,110,103,32,115,116,114,105,110,103,46,32,84,104,105,115,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,46>>]}]},{dt,[],[{code,[],[<<97,108,108,95,110,97,109,101,115>>]}]},{dd,[],[{p,[],[<<65,108,108,32>>,{em,[],[<<110,97,109,101,100>>]},<<32,115,117,98,112,97,116,116,101,114,110,115,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,97,115,32,105,102,32,97,32>>,{code,[],[<<108,105,115,116,40,41>>]},<<32,111,102,32,97,108,108,32,116,104,101,32,110,97,109,101,115,32>>,{em,[],[<<105,110,32,97,108,112,104,97,98,101,116,105,99,97,108,32,111,114,100,101,114>>]},<<32,119,97,115,32,115,112,101,99,105,102,105,101,100,46,32,84,104,101,32,108,105,115,116,32,111,102,32,97,108,108,32,110,97,109,101,115,32,99,97,110,32,97,108,115,111,32,98,101,32,114,101,116,114,105,101,118,101,100,32,119,105,116,104,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,105,110,115,112,101,99,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,110,115,112,101,99,116,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<102,105,114,115,116>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,116,104,101,32,102,105,114,115,116,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,44,32,119,104,105,99,104,32,105,115,32,97,108,119,97,121,115,32,116,104,101,32,99,111,109,112,108,101,116,101,32,109,97,116,99,104,105,110,103,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,46,32,65,108,108,32,101,120,112,108,105,99,105,116,108,121,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,97,114,101,32,100,105,115,99,97,114,100,101,100,46>>]}]},{dt,[],[{code,[],[<<97,108,108,95,98,117,116,95,102,105,114,115,116>>]}]},{dd,[],[{p,[],[<<65,108,108,32,98,117,116,32,116,104,101,32,102,105,114,115,116,32,109,97,116,99,104,105,110,103,32,115,117,98,112,97,116,116,101,114,110,44,32,116,104,97,116,32,105,115,44,32,97,108,108,32,101,120,112,108,105,99,105,116,108,121,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,115,44,32,98,117,116,32,110,111,116,32,116,104,101,32,99,111,109,112,108,101,116,101,32,109,97,116,99,104,105,110,103,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,84,104,105,115,32,105,115,32,117,115,101,102,117,108,32,105,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,97,115,32,97,32,119,104,111,108,101,32,109,97,116,99,104,101,115,32,97,32,108,97,114,103,101,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,44,32,98,117,116,32,116,104,101,32,112,97,114,116,32,121,111,117,32,97,114,101,32,105,110,116,101,114,101,115,116,101,100,32,105,110,32,105,115,32,105,110,32,97,110,32,101,120,112,108,105,99,105,116,108,121,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,46,32,73,102,32,116,104,101,32,114,101,116,117,114,110,32,116,121,112,101,32,105,115,32>>,{code,[],[<<108,105,115,116>>]},<<32,111,114,32>>,{code,[],[<<98,105,110,97,114,121>>]},<<44,32,110,111,116,32,114,101,116,117,114,110,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,121,111,117,32,97,114,101,32,110,111,116,32,105,110,116,101,114,101,115,116,101,100,32,105,110,32,105,115,32,97,32,103,111,111,100,32,119,97,121,32,116,111,32,111,112,116,105,109,105,122,101,46>>]}]},{dt,[],[{code,[],[<<110,111,110,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,110,111,32,109,97,116,99,104,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,44,32,103,105,118,101,115,32,116,104,101,32,115,105,110,103,108,101,32,97,116,111,109,32>>,{code,[],[<<109,97,116,99,104>>]},<<32,97,115,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,119,104,101,110,32,109,97,116,99,104,105,110,103,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,115,116,101,97,100,32,111,102,32,116,104,101,32>>,{code,[],[<<123,109,97,116,99,104,44,32,108,105,115,116,40,41,125>>]},<<32,114,101,116,117,114,110,46,32,83,112,101,99,105,102,121,105,110,103,32,97,110,32,101,109,112,116,121,32,108,105,115,116,32,103,105,118,101,115,32,116,104,101,32,115,97,109,101,32,98,101,104,97,118,105,111,114,46>>]}]}]},{p,[],[<<84,104,101,32,118,97,108,117,101,32,108,105,115,116,32,105,115,32,97,32,108,105,115,116,32,111,102,32,105,110,100,101,120,101,115,32,102,111,114,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,115,32,116,111,32,114,101,116,117,114,110,44,32,119,104,101,114,101,32,105,110,100,101,120,32,48,32,105,115,32,102,111,114,32,97,108,108,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,44,32,97,110,100,32,49,32,105,115,32,102,111,114,32,116,104,101,32,102,105,114,115,116,32,101,120,112,108,105,99,105,116,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,97,110,100,32,115,111,32,111,110,46,32,87,104,101,110,32,117,115,105,110,103,32,110,97,109,101,100,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,40,115,101,101,32,98,101,108,111,119,41,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,111,110,101,32,99,97,110,32,117,115,101,32>>,{code,[],[<<97,116,111,109,40,41>>]},<<115,32,111,114,32>>,{code,[],[<<115,116,114,105,110,103,40,41>>]},<<115,32,116,111,32,115,112,101,99,105,102,121,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,115,32,116,111,32,98,101,32,114,101,116,117,114,110,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,99,111,110,115,105,100,101,114,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,58>>]},{pre,[],[{code,[],[<<34,46,42,40,97,98,99,100,41,46,42,34>>]}]},{p,[],[<<109,97,116,99,104,101,100,32,97,103,97,105,110,115,116,32,115,116,114,105,110,103,32,34,65,66,67,97,98,99,100,65,66,67,34,44,32,99,97,112,116,117,114,105,110,103,32,111,110,108,121,32,116,104,101,32,34,97,98,99,100,34,32,112,97,114,116,32,40,116,104,101,32,102,105,114,115,116,32,101,120,112,108,105,99,105,116,32,115,117,98,112,97,116,116,101,114,110,41,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,65,66,67,97,98,99,100,65,66,67,34,44,34,46,42,40,97,98,99,100,41,46,42,34,44,91,123,99,97,112,116,117,114,101,44,91,49,93,125,93,41,46>>]}]},{p,[],[<<84,104,101,32,99,97,108,108,32,103,105,118,101,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,114,101,115,117,108,116,44,32,97,115,32,116,104,101,32,102,105,114,115,116,32,101,120,112,108,105,99,105,116,108,121,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,34,40,97,98,99,100,41,34,44,32,109,97,116,99,104,105,110,103,32,34,97,98,99,100,34,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,44,32,97,116,32,40,122,101,114,111,45,98,97,115,101,100,41,32,112,111,115,105,116,105,111,110,32,51,44,32,111,102,32,108,101,110,103,116,104,32,52,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,123,51,44,52,125,93,125>>]}]},{p,[],[<<67,111,110,115,105,100,101,114,32,116,104,101,32,115,97,109,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,98,117,116,32,119,105,116,104,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,101,120,112,108,105,99,105,116,108,121,32,110,97,109,101,100,32,39,70,79,79,39,58>>]},{pre,[],[{code,[],[<<34,46,42,40,63,60,70,79,79,62,97,98,99,100,41,46,42,34>>]}]},{p,[],[<<87,105,116,104,32,116,104,105,115,32,101,120,112,114,101,115,115,105,111,110,44,32,119,101,32,99,111,117,108,100,32,115,116,105,108,108,32,103,105,118,101,32,116,104,101,32,105,110,100,101,120,32,111,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,119,105,116,104,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,99,97,108,108,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,65,66,67,97,98,99,100,65,66,67,34,44,34,46,42,40,63,60,70,79,79,62,97,98,99,100,41,46,42,34,44,91,123,99,97,112,116,117,114,101,44,91,49,93,125,93,41,46>>]}]},{p,[],[<<103,105,118,105,110,103,32,116,104,101,32,115,97,109,101,32,114,101,115,117,108,116,32,97,115,32,98,101,102,111,114,101,46,32,66,117,116,44,32,97,115,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,110,97,109,101,100,44,32,119,101,32,99,97,110,32,97,108,115,111,32,115,112,101,99,105,102,121,32,105,116,115,32,110,97,109,101,32,105,110,32,116,104,101,32,118,97,108,117,101,32,108,105,115,116,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,65,66,67,97,98,99,100,65,66,67,34,44,34,46,42,40,63,60,70,79,79,62,97,98,99,100,41,46,42,34,44,91,123,99,97,112,116,117,114,101,44,91,39,70,79,79,39,93,125,93,41,46>>]}]},{p,[],[<<84,104,105,115,32,119,111,117,108,100,32,103,105,118,101,32,116,104,101,32,115,97,109,101,32,114,101,115,117,108,116,32,97,115,32,116,104,101,32,101,97,114,108,105,101,114,32,101,120,97,109,112,108,101,115,44,32,110,97,109,101,108,121,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,123,51,44,52,125,93,125>>]}]},{p,[],[<<84,104,101,32,118,97,108,117,101,115,32,108,105,115,116,32,99,97,110,32,115,112,101,99,105,102,121,32,105,110,100,101,120,101,115,32,111,114,32,110,97,109,101,115,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,105,110,32,119,104,105,99,104,32,99,97,115,101,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,118,97,114,121,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,116,121,112,101,46,32,73,102,32,116,104,101,32,116,121,112,101,32,105,115,32>>,{code,[],[<<105,110,100,101,120>>]},<<44,32,116,104,101,32,116,117,112,108,101,32>>,{code,[],[<<123,45,49,44,48,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,102,111,114,32,118,97,108,117,101,115,32,119,105,116,104,32,110,111,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,98,117,116,32,102,111,114,32,116,104,101,32,111,116,104,101,114,32,116,121,112,101,115,32,40>>,{code,[],[<<98,105,110,97,114,121>>]},<<32,97,110,100,32>>,{code,[],[<<108,105,115,116>>]},<<41,44,32,116,104,101,32,118,97,108,117,101,115,32,97,114,101,32,116,104,101,32,101,109,112,116,121,32,98,105,110,97,114,121,32,111,114,32,108,105,115,116,44,32,114,101,115,112,101,99,116,105,118,101,108,121,46>>]}]},{dt,[],[{code,[],[<<84,121,112,101>>]}]},{dd,[],[{p,[],[<<79,112,116,105,111,110,97,108,108,121,32,115,112,101,99,105,102,105,101,115,32,104,111,119,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,32,97,114,101,32,116,111,32,98,101,32,114,101,116,117,114,110,101,100,46,32,73,102,32,111,109,105,116,116,101,100,44,32,116,104,101,32,100,101,102,97,117,108,116,32,111,102,32>>,{code,[],[<<105,110,100,101,120>>]},<<32,105,115,32,117,115,101,100,46>>]},{p,[],[{code,[],[<<84,121,112,101>>]},<<32,99,97,110,32,98,101,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<105,110,100,101,120>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,32,97,115,32,112,97,105,114,115,32,111,102,32,98,121,116,101,32,105,110,100,101,120,101,115,32,105,110,116,111,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,97,110,100,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,109,97,116,99,104,105,110,103,32,115,116,114,105,110,103,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,40,97,115,32,105,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,119,97,115,32,102,108,97,116,116,101,110,101,100,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49>>]}]},<<32,111,114,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101,35,99,104,97,114,97,99,116,101,114,115,95,116,111,95,98,105,110,97,114,121,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<117,110,105,99,111,100,101,58,99,104,97,114,97,99,116,101,114,115,95,116,111,95,98,105,110,97,114,121,47,50>>]}]},<<32,98,101,102,111,114,101,32,109,97,116,99,104,105,110,103,41,46,32,78,111,116,105,99,101,32,116,104,97,116,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,114,101,115,117,108,116,115,32,105,110,32>>,{em,[],[<<98,121,116,101,45,111,114,105,101,110,116,101,100>>]},<<32,105,110,100,101,120,101,115,32,105,110,32,97,32,40,112,111,115,115,105,98,108,121,32,118,105,114,116,117,97,108,41,32>>,{em,[],[<<85,84,70,45,56,32,101,110,99,111,100,101,100>>]},<<32,98,105,110,97,114,121,46,32,65,32,98,121,116,101,32,105,110,100,101,120,32,116,117,112,108,101,32>>,{code,[],[<<123,48,44,50,125>>]},<<32,99,97,110,32,116,104,101,114,101,102,111,114,101,32,114,101,112,114,101,115,101,110,116,32,111,110,101,32,111,114,32,116,119,111,32,99,104,97,114,97,99,116,101,114,115,32,119,104,101,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,105,115,32,105,110,32,101,102,102,101,99,116,46,32,84,104,105,115,32,99,97,110,32,115,101,101,109,32,99,111,117,110,116,101,114,45,105,110,116,117,105,116,105,118,101,44,32,98,117,116,32,104,97,115,32,98,101,101,110,32,100,101,101,109,101,100,32,116,104,101,32,109,111,115,116,32,101,102,102,101,99,116,105,118,101,32,97,110,100,32,117,115,101,102,117,108,32,119,97,121,32,116,111,32,100,111,32,105,116,46,32,84,111,32,114,101,116,117,114,110,32,108,105,115,116,115,32,105,110,115,116,101,97,100,32,99,97,110,32,114,101,115,117,108,116,32,105,110,32,115,105,109,112,108,101,114,32,99,111,100,101,32,105,102,32,116,104,97,116,32,105,115,32,100,101,115,105,114,101,100,46,32,84,104,105,115,32,114,101,116,117,114,110,32,116,121,112,101,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,46>>]}]},{dt,[],[{code,[],[<<108,105,115,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,109,97,116,99,104,105,110,103,32,115,117,98,115,116,114,105,110,103,115,32,97,115,32,108,105,115,116,115,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,40,69,114,108,97,110,103,32>>,{code,[],[<<115,116,114,105,110,103,40,41>>]},<<115,41,46,32,73,116,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,105,115,32,117,115,101,100,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,116,104,101,32,92,67,32,115,101,113,117,101,110,99,101,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,97,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,32,99,97,110,32,99,111,110,116,97,105,110,32,98,121,116,101,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,118,97,108,105,100,32,85,84,70,45,56,32,40,92,67,32,109,97,116,99,104,101,115,32,98,121,116,101,115,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,99,104,97,114,97,99,116,101,114,32,101,110,99,111,100,105,110,103,41,46,32,73,110,32,116,104,97,116,32,99,97,115,101,32,116,104,101,32>>,{code,[],[<<108,105,115,116>>]},<<32,99,97,112,116,117,114,105,110,103,32,99,97,110,32,114,101,115,117,108,116,32,105,110,32,116,104,101,32,115,97,109,101,32,116,121,112,101,115,32,111,102,32,116,117,112,108,101,115,32,116,104,97,116,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101,35,99,104,97,114,97,99,116,101,114,115,95,116,111,95,108,105,115,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<117,110,105,99,111,100,101,58,99,104,97,114,97,99,116,101,114,115,95,116,111,95,108,105,115,116,47,50>>]}]},<<32,99,97,110,32,114,101,116,117,114,110,44,32,110,97,109,101,108,121,32,116,104,114,101,101,45,116,117,112,108,101,115,32,119,105,116,104,32,116,97,103,32>>,{code,[],[<<105,110,99,111,109,112,108,101,116,101>>]},<<32,111,114,32>>,{code,[],[<<101,114,114,111,114>>]},<<44,32,116,104,101,32,115,117,99,99,101,115,115,102,117,108,108,121,32,99,111,110,118,101,114,116,101,100,32,99,104,97,114,97,99,116,101,114,115,32,97,110,100,32,116,104,101,32,105,110,118,97,108,105,100,32,85,84,70,45,56,32,116,97,105,108,32,111,102,32,116,104,101,32,99,111,110,118,101,114,115,105,111,110,32,97,115,32,97,32,98,105,110,97,114,121,46,32,84,104,101,32,98,101,115,116,32,115,116,114,97,116,101,103,121,32,105,115,32,116,111,32,97,118,111,105,100,32,117,115,105,110,103,32,116,104,101,32,92,67,32,115,101,113,117,101,110,99,101,32,119,104,101,110,32,99,97,112,116,117,114,105,110,103,32,108,105,115,116,115,46>>]}]},{dt,[],[{code,[],[<<98,105,110,97,114,121>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,109,97,116,99,104,105,110,103,32,115,117,98,115,116,114,105,110,103,115,32,97,115,32,98,105,110,97,114,105,101,115,46,32,73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,105,115,32,117,115,101,100,44,32,116,104,101,115,101,32,98,105,110,97,114,105,101,115,32,97,114,101,32,105,110,32,85,84,70,45,56,46,32,73,102,32,116,104,101,32,92,67,32,115,101,113,117,101,110,99,101,32,105,115,32,117,115,101,100,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,116,104,101,32,98,105,110,97,114,105,101,115,32,99,97,110,32,98,101,32,105,110,118,97,108,105,100,32,85,84,70,45,56,46>>]}]}]}]}]},{p,[],[<<73,110,32,103,101,110,101,114,97,108,44,32,115,117,98,112,97,116,116,101,114,110,115,32,116,104,97,116,32,119,101,114,101,32,110,111,116,32,97,115,115,105,103,110,101,100,32,97,32,118,97,108,117,101,32,105,110,32,116,104,101,32,109,97,116,99,104,32,97,114,101,32,114,101,116,117,114,110,101,100,32,97,115,32,116,104,101,32,116,117,112,108,101,32>>,{code,[],[<<123,45,49,44,48,125>>]},<<32,119,104,101,110,32>>,{code,[],[<<116,121,112,101>>]},<<32,105,115,32>>,{code,[],[<<105,110,100,101,120>>]},<<46,32,85,110,97,115,115,105,103,110,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,97,115,32,116,104,101,32,101,109,112,116,121,32,98,105,110,97,114,121,32,111,114,32,108,105,115,116,44,32,114,101,115,112,101,99,116,105,118,101,108,121,44,32,102,111,114,32,111,116,104,101,114,32,114,101,116,117,114,110,32,116,121,112,101,115,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,58>>]},{pre,[],[{code,[],[<<34,46,42,40,40,63,60,70,79,79,62,97,98,100,100,41,124,97,40,46,46,100,41,41,46,42,34>>]}]},{p,[],[<<84,104,101,114,101,32,97,114,101,32,116,104,114,101,101,32,101,120,112,108,105,99,105,116,108,121,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,44,32,119,104,101,114,101,32,116,104,101,32,111,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,32,112,111,115,105,116,105,111,110,32,100,101,116,101,114,109,105,110,101,115,32,116,104,101,32,111,114,100,101,114,32,105,110,32,116,104,101,32,114,101,115,117,108,116,44,32,104,101,110,99,101,32>>,{code,[],[<<40,40,63,60,70,79,79,62,97,98,100,100,41,124,97,40,46,46,100,41,41>>]},<<32,105,115,32,115,117,98,112,97,116,116,101,114,110,32,105,110,100,101,120,32,49,44,32>>,{code,[],[<<40,63,60,70,79,79,62,97,98,100,100,41>>]},<<32,105,115,32,115,117,98,112,97,116,116,101,114,110,32,105,110,100,101,120,32,50,44,32,97,110,100,32>>,{code,[],[<<40,46,46,100,41>>]},<<32,105,115,32,115,117,98,112,97,116,116,101,114,110,32,105,110,100,101,120,32,51,46,32,87,104,101,110,32,109,97,116,99,104,101,100,32,97,103,97,105,110,115,116,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,116,114,105,110,103,58>>]},{pre,[],[{code,[],[<<34,65,66,67,97,98,99,100,65,66,67,34>>]}]},{p,[],[<<116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,97,116,32,105,110,100,101,120,32,50,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,44,32,97,115,32,34,97,98,100,100,34,32,105,115,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,115,116,114,105,110,103,44,32,98,117,116,32,116,104,101,32,99,111,109,112,108,101,116,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,40,98,101,99,97,117,115,101,32,111,102,32,116,104,101,32,97,108,116,101,114,110,97,116,105,118,101,32>>,{code,[],[<<97,40,46,46,100,41>>]},<<41,46,32,84,104,101,32,115,117,98,112,97,116,116,101,114,110,32,97,116,32,105,110,100,101,120,32,50,32,105,115,32,116,104,101,114,101,102,111,114,101,32,117,110,97,115,115,105,103,110,101,100,32,97,110,100,32,116,104,101,32,100,101,102,97,117,108,116,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,123,48,44,49,48,125,44,123,51,44,52,125,44,123,45,49,44,48,125,44,123,52,44,51,125,93,125>>]}]},{p,[],[<<83,101,116,116,105,110,103,32,116,104,101,32,99,97,112,116,117,114,101,32>>,{code,[],[<<84,121,112,101>>]},<<32,116,111,32>>,{code,[],[<<98,105,110,97,114,121>>]},<<32,103,105,118,101,115,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,60,60,34,65,66,67,97,98,99,100,65,66,67,34,62,62,44,60,60,34,97,98,99,100,34,62,62,44,60,60,62,62,44,60,60,34,98,99,100,34,62,62,93,125>>]}]},{p,[],[<<72,101,114,101,32,116,104,101,32,101,109,112,116,121,32,98,105,110,97,114,121,32,40>>,{code,[],[<<60,60,62,62>>]},<<41,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,117,110,97,115,115,105,103,110,101,100,32,115,117,98,112,97,116,116,101,114,110,46,32,73,110,32,116,104,101,32>>,{code,[],[<<98,105,110,97,114,121>>]},<<32,99,97,115,101,44,32,115,111,109,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,109,97,116,99,104,105,110,103,32,105,115,32,116,104,101,114,101,102,111,114,101,32,108,111,115,116,44,32,97,115,32>>,{code,[],[<<60,60,62,62>>]},<<32,99,97,110,32,97,108,115,111,32,98,101,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,32,99,97,112,116,117,114,101,100,46>>]},{p,[],[<<73,102,32,100,105,102,102,101,114,101,110,116,105,97,116,105,111,110,32,98,101,116,119,101,101,110,32,101,109,112,116,121,32,109,97,116,99,104,101,115,32,97,110,100,32,110,111,110,45,101,120,105,115,116,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,105,115,32,110,101,99,101,115,115,97,114,121,44,32,117,115,101,32,116,104,101,32>>,{code,[],[<<116,121,112,101>>]},<<32>>,{code,[],[<<105,110,100,101,120>>]},<<32,97,110,100,32,100,111,32,116,104,101,32,99,111,110,118,101,114,115,105,111,110,32,116,111,32,116,104,101,32,102,105,110,97,108,32,116,121,112,101,32,105,110,32,69,114,108,97,110,103,32,99,111,100,101,46>>]},{p,[],[<<87,104,101,110,32,111,112,116,105,111,110,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<32,105,115,32,115,112,101,99,105,105,102,105,101,100,44,32,116,104,101,32>>,{code,[],[<<99,97,112,116,117,114,101>>]},<<32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,97,102,102,101,99,116,115,32,101,97,99,104,32,109,97,116,99,104,32,115,101,112,97,114,97,116,101,108,121,44,32,115,111,32,116,104,97,116,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,99,97,99,98,34,44,34,99,40,97,124,98,41,34,44,91,103,108,111,98,97,108,44,123,99,97,112,116,117,114,101,44,91,49,93,44,108,105,115,116,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,91,34,97,34,93,44,91,34,98,34,93,93,125>>]}]}]}]},{p,[],[<<70,111,114,32,97,32,100,101,115,99,114,105,112,116,105,111,110,115,32,111,102,32,111,112,116,105,111,110,115,32,111,110,108,121,32,97,102,102,101,99,116,105,110,103,32,116,104,101,32,99,111,109,112,105,108,97,116,105,111,110,32,115,116,101,112,44,32,115,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,99,111,109,112,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,111,109,112,105,108,101,47,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,52,49,57>>,signature => [{attribute,{76,2},spec,{{run,3},[{type,{76,10},bounded_fun,[{type,{76,10},'fun',[{type,{76,10},product,[{var,{76,11},'Subject'},{var,{76,20},'RE'},{var,{76,24},'Options'}]},{type,{76,36},union,[{type,{76,36},tuple,[{atom,{76,37},match},{var,{76,44},'Captured'}]},{atom,{77,36},match},{atom,{78,36},nomatch},{type,{79,8},tuple,[{atom,{79,9},error},{var,{79,16},'ErrType'}]}]}]},[{type,{80,7},constraint,[{atom,{80,7},is_subtype},[{var,{80,7},'Subject'},{type,{80,18},union,[{type,{80,18},iodata,[]},{remote_type,{80,29},[{atom,{80,29},unicode},{atom,{80,37},charlist},[]]}]}]]},{type,{81,7},constraint,[{atom,{81,7},is_subtype},[{var,{81,7},'RE'},{type,{81,13},union,[{user_type,{81,13},mp,[]},{type,{81,20},iodata,[]},{remote_type,{81,31},[{atom,{81,31},unicode},{atom,{81,39},charlist},[]]}]}]]},{type,{82,7},constraint,[{atom,{82,7},is_subtype},[{var,{82,7},'Options'},{type,{82,18},list,[{var,{82,19},'Option'}]}]]},{type,{83,7},constraint,[{atom,{83,7},is_subtype},[{var,{83,7},'Option'},{type,{83,17},union,[{atom,{83,17},anchored},{atom,{83,28},global},{atom,{83,37},notbol},{atom,{83,46},noteol},{atom,{83,55},notempty},{atom,{84,10},notempty_atstart},{atom,{84,29},report_errors},{type,{85,17},tuple,[{atom,{85,18},offset},{type,{85,26},non_neg_integer,[]}]},{type,{86,3},tuple,[{atom,{86,4},match_limit},{type,{86,17},non_neg_integer,[]}]},{type,{87,3},tuple,[{atom,{87,4},match_limit_recursion},{type,{87,27},non_neg_integer,[]}]},{type,{88,17},tuple,[{atom,{88,18},newline},{ann_type,{88,27},[{var,{88,27},'NLSpec'},{user_type,{88,37},nl_spec,[]}]}]},{atom,{89,17},bsr_anycrlf},{atom,{89,31},bsr_unicode},{type,{89,45},tuple,[{atom,{89,46},capture},{var,{89,55},'ValueSpec'}]},{type,{90,17},tuple,[{atom,{90,18},capture},{var,{90,27},'ValueSpec'},{var,{90,38},'Type'}]},{var,{90,46},'CompileOpt'}]}]]},{type,{91,7},constraint,[{atom,{91,7},is_subtype},[{var,{91,7},'Type'},{type,{91,15},union,[{atom,{91,15},index},{atom,{91,23},list},{atom,{91,30},binary}]}]]},{type,{92,7},constraint,[{atom,{92,7},is_subtype},[{var,{92,7},'ValueSpec'},{type,{92,20},union,[{atom,{92,20},all},{atom,{92,26},all_but_first},{atom,{92,42},all_names},{atom,{92,54},first},{atom,{92,62},none},{var,{92,69},'ValueList'}]}]]},{type,{93,7},constraint,[{atom,{93,7},is_subtype},[{var,{93,7},'ValueList'},{type,{93,20},list,[{var,{93,21},'ValueID'}]}]]},{type,{94,7},constraint,[{atom,{94,7},is_subtype},[{var,{94,7},'ValueID'},{type,{94,18},union,[{type,{94,18},integer,[]},{type,{94,30},string,[]},{type,{94,41},atom,[]}]}]]},{type,{95,7},constraint,[{atom,{95,7},is_subtype},[{var,{95,7},'CompileOpt'},{user_type,{95,21},compile_option,[]}]]},{type,{96,7},constraint,[{atom,{96,7},is_subtype},[{var,{96,7},'Captured'},{type,{96,19},union,[{type,{96,19},list,[{var,{96,20},'CaptureData'}]},{type,{96,35},list,[{type,{96,36},list,[{var,{96,37},'CaptureData'}]}]}]}]]},{type,{97,7},constraint,[{atom,{97,7},is_subtype},[{var,{97,7},'CaptureData'},{type,{97,22},union,[{type,{97,22},tuple,[{type,{97,23},integer,[]},{type,{97,34},integer,[]}]},{var,{98,22},'ListConversionData'},{type,{99,22},binary,[]}]}]]},{type,{100,7},constraint,[{atom,{100,7},is_subtype},[{var,{100,7},'ListConversionData'},{type,{100,29},union,[{type,{100,29},string,[]},{type,{101,29},tuple,[{atom,{101,30},error},{type,{101,37},string,[]},{type,{101,47},binary,[]}]},{type,{102,29},tuple,[{atom,{102,30},incomplete},{type,{102,42},string,[]},{type,{102,52},binary,[]}]}]}]]},{type,{103,7},constraint,[{atom,{103,7},is_subtype},[{var,{103,7},'ErrType'},{type,{103,18},union,[{atom,{103,18},match_limit},{atom,{103,32},match_limit_recursion},{type,{103,56},tuple,[{atom,{103,57},compile},{var,{103,67},'CompileErr'}]}]}]]},{type,{104,7},constraint,[{atom,{104,7},is_subtype},[{var,{104,7},'CompileErr'},{type,{104,21},tuple,[{ann_type,{104,22},[{var,{104,22},'ErrString'},{type,{104,35},string,[]}]},{ann_type,{104,45},[{var,{104,45},'Position'},{type,{104,57},non_neg_integer,[]}]}]}]]}]]}]}}]}},{{function,split,2},[{file,[114,101,46,101,114,108]},{location,153}],[<<115,112,108,105,116,47,50>>],#{<<101,110>> => [{p,[],[<<83,97,109,101,32,97,115,32>>,{code,[],[<<115,112,108,105,116,40,83,117,98,106,101,99,116,44,32,82,69,44,32,91,93,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,57,57,52>>,signature => [{attribute,{153,2},spec,{{split,2},[{type,{153,12},bounded_fun,[{type,{153,12},'fun',[{type,{153,12},product,[{var,{153,13},'Subject'},{var,{153,22},'RE'}]},{var,{153,29},'SplitList'}]},[{type,{154,7},constraint,[{atom,{154,7},is_subtype},[{var,{154,7},'Subject'},{type,{154,18},union,[{type,{154,18},iodata,[]},{remote_type,{154,29},[{atom,{154,29},unicode},{atom,{154,37},charlist},[]]}]}]]},{type,{155,7},constraint,[{atom,{155,7},is_subtype},[{var,{155,7},'RE'},{type,{155,13},union,[{user_type,{155,13},mp,[]},{type,{155,20},iodata,[]}]}]]},{type,{156,7},constraint,[{atom,{156,7},is_subtype},[{var,{156,7},'SplitList'},{type,{156,20},list,[{type,{156,21},union,[{type,{156,21},iodata,[]},{remote_type,{156,32},[{atom,{156,32},unicode},{atom,{156,40},charlist},[]]}]}]}]]}]]}]}}]}},{{function,split,3},[{file,[114,101,46,101,114,108]},{location,166}],[<<115,112,108,105,116,47,51>>],#{<<101,110>> => [{p,[],[<<83,112,108,105,116,115,32,116,104,101,32,105,110,112,117,116,32,105,110,116,111,32,112,97,114,116,115,32,98,121,32,102,105,110,100,105,110,103,32,116,111,107,101,110,115,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,115,117,112,112,108,105,101,100,46,32,84,104,101,32,115,112,108,105,116,116,105,110,103,32,105,115,32,98,97,115,105,99,97,108,108,121,32,100,111,110,101,32,98,121,32,114,117,110,110,105,110,103,32,97,32,103,108,111,98,97,108,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,32,97,110,100,32,100,105,118,105,100,105,110,103,32,116,104,101,32,105,110,105,116,105,97,108,32,115,116,114,105,110,103,32,119,104,101,114,101,118,101,114,32,97,32,109,97,116,99,104,32,111,99,99,117,114,115,46,32,84,104,101,32,109,97,116,99,104,105,110,103,32,112,97,114,116,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,105,115,32,114,101,109,111,118,101,100,32,102,114,111,109,32,116,104,101,32,111,117,116,112,117,116,46>>]},{p,[],[<<65,115,32,105,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<44,32,97,110,32>>,{code,[],[<<109,112,40,41>>]},<<32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,114,101,113,117,105,114,101,115,32>>,{code,[],[<<83,117,98,106,101,99,116>>]},<<32,116,111,32,98,101,32,97,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<46,32,73,102,32,99,111,109,112,105,108,97,116,105,111,110,32,105,115,32,100,111,110,101,32,105,109,112,108,105,99,105,116,108,121,32,97,110,100,32,116,104,101,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,99,111,109,112,105,108,97,116,105,111,110,32,111,112,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,116,111,32,116,104,105,115,32,102,117,110,99,116,105,111,110,44,32,98,111,116,104,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,97,110,100,32>>,{code,[],[<<83,117,98,106,101,99,116>>]},<<32,97,114,101,32,116,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,118,97,108,105,100,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<115,46>>]},{p,[],[<<84,104,101,32,114,101,115,117,108,116,32,105,115,32,103,105,118,101,110,32,97,115,32,97,32,108,105,115,116,32,111,102,32,34,115,116,114,105,110,103,115,34,44,32,116,104,101,32,112,114,101,102,101,114,114,101,100,32,100,97,116,97,32,116,121,112,101,32,115,112,101,99,105,102,105,101,100,32,105,110,32,111,112,116,105,111,110,32>>,{code,[],[<<114,101,116,117,114,110>>]},<<32,40,100,101,102,97,117,108,116,32>>,{code,[],[<<105,111,100,97,116,97>>]},<<41,46>>]},{p,[],[<<73,102,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,97,114,101,32,115,112,101,99,105,102,105,101,100,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,116,104,101,32,109,97,116,99,104,105,110,103,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,105,110,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,108,105,115,116,32,97,115,32,119,101,108,108,46,32,70,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<114,101,58,115,112,108,105,116,40,34,69,114,108,97,110,103,34,44,34,91,108,110,93,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<91,34,69,114,34,44,34,97,34,44,34,103,34,93>>]}]},{p,[],[<<119,104,105,108,101>>]},{pre,[],[{code,[],[<<114,101,58,115,112,108,105,116,40,34,69,114,108,97,110,103,34,44,34,40,91,108,110,93,41,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<91,34,69,114,34,44,34,108,34,44,34,97,34,44,34,110,34,44,34,103,34,93>>]}]},{p,[],[<<84,104,101,32,116,101,120,116,32,109,97,116,99,104,105,110,103,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,40,109,97,114,107,101,100,32,98,121,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,41,32,105,115,32,105,110,115,101,114,116,101,100,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,108,105,115,116,32,119,104,101,114,101,32,105,116,32,119,97,115,32,102,111,117,110,100,46,32,84,104,105,115,32,109,101,97,110,115,32,116,104,97,116,32,99,111,110,99,97,116,101,110,97,116,105,110,103,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,32,115,112,108,105,116,32,119,104,101,114,101,32,116,104,101,32,119,104,111,108,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,97,32,115,105,110,103,108,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,40,97,115,32,105,110,32,116,104,101,32,108,97,115,116,32,101,120,97,109,112,108,101,41,32,97,108,119,97,121,115,32,114,101,115,117,108,116,115,32,105,110,32,116,104,101,32,111,114,105,103,105,110,97,108,32,115,116,114,105,110,103,46>>]},{p,[],[<<65,115,32,116,104,101,114,101,32,105,115,32,110,111,32,109,97,116,99,104,105,110,103,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,102,111,114,32,116,104,101,32,108,97,115,116,32,112,97,114,116,32,105,110,32,116,104,101,32,101,120,97,109,112,108,101,32,40,116,104,101,32,34,103,34,41,44,32,110,111,116,104,105,110,103,32,105,115,32,105,110,115,101,114,116,101,100,32,97,102,116,101,114,32,116,104,97,116,46,32,84,111,32,109,97,107,101,32,116,104,101,32,103,114,111,117,112,32,111,102,32,115,116,114,105,110,103,115,32,97,110,100,32,116,104,101,32,112,97,114,116,115,32,109,97,116,99,104,105,110,103,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,109,111,114,101,32,111,98,118,105,111,117,115,44,32,111,110,101,32,99,97,110,32,117,115,101,32,111,112,116,105,111,110,32>>,{code,[],[<<103,114,111,117,112>>]},<<44,32,119,104,105,99,104,32,103,114,111,117,112,115,32,116,111,103,101,116,104,101,114,32,116,104,101,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,119,105,116,104,32,116,104,101,32,112,97,114,116,115,32,109,97,116,99,104,105,110,103,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,119,104,101,110,32,116,104,101,32,115,116,114,105,110,103,32,119,97,115,32,115,112,108,105,116,58>>]},{pre,[],[{code,[],[<<114,101,58,115,112,108,105,116,40,34,69,114,108,97,110,103,34,44,34,40,91,108,110,93,41,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,44,103,114,111,117,112,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<91,91,34,69,114,34,44,34,108,34,93,44,91,34,97,34,44,34,110,34,93,44,91,34,103,34,93,93>>]}]},{p,[],[<<72,101,114,101,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,102,105,114,115,116,32,109,97,116,99,104,101,100,32,116,104,101,32,34,108,34,44,32,99,97,117,115,105,110,103,32,34,69,114,34,32,116,111,32,98,101,32,116,104,101,32,102,105,114,115,116,32,112,97,114,116,32,105,110,32,116,104,101,32,114,101,115,117,108,116,46,32,87,104,101,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,101,100,44,32,116,104,101,32,40,111,110,108,121,41,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,119,97,115,32,98,111,117,110,100,32,116,111,32,116,104,101,32,34,108,34,44,32,115,111,32,116,104,101,32,34,108,34,32,105,115,32,105,110,115,101,114,116,101,100,32,105,110,32,116,104,101,32,103,114,111,117,112,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32,34,69,114,34,46,32,84,104,101,32,110,101,120,116,32,109,97,116,99,104,32,105,115,32,111,102,32,116,104,101,32,34,110,34,44,32,109,97,107,105,110,103,32,34,97,34,32,116,104,101,32,110,101,120,116,32,112,97,114,116,32,116,111,32,98,101,32,114,101,116,117,114,110,101,100,46,32,65,115,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,105,115,32,98,111,117,110,100,32,116,111,32,115,117,98,115,116,114,105,110,103,32,34,110,34,32,105,110,32,116,104,105,115,32,99,97,115,101,44,32,116,104,101,32,34,110,34,32,105,115,32,105,110,115,101,114,116,101,100,32,105,110,116,111,32,116,104,105,115,32,103,114,111,117,112,46,32,84,104,101,32,108,97,115,116,32,103,114,111,117,112,32,99,111,110,115,105,115,116,115,32,111,102,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,115,116,114,105,110,103,44,32,97,115,32,110,111,32,109,111,114,101,32,109,97,116,99,104,101,115,32,97,114,101,32,102,111,117,110,100,46>>]},{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,97,108,108,32,112,97,114,116,115,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,105,110,99,108,117,100,105,110,103,32,116,104,101,32,101,109,112,116,121,32,115,116,114,105,110,103,115,44,32,97,114,101,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32,116,104,101,32,102,117,110,99,116,105,111,110,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<114,101,58,115,112,108,105,116,40,34,69,114,108,97,110,103,34,44,34,91,108,103,93,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<91,34,69,114,34,44,34,97,110,34,44,91,93,93>>]}]},{p,[],[<<97,115,32,116,104,101,32,109,97,116,99,104,105,110,103,32,111,102,32,116,104,101,32,34,103,34,32,105,110,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,108,101,97,118,101,115,32,97,110,32,101,109,112,116,121,32,114,101,115,116,44,32,119,104,105,99,104,32,105,115,32,97,108,115,111,32,114,101,116,117,114,110,101,100,46,32,84,104,105,115,32,98,101,104,97,118,105,111,114,32,100,105,102,102,101,114,115,32,102,114,111,109,32,116,104,101,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,32,111,102,32,116,104,101,32,115,112,108,105,116,32,102,117,110,99,116,105,111,110,32,105,110,32,80,101,114,108,44,32,119,104,101,114,101,32,101,109,112,116,121,32,115,116,114,105,110,103,115,32,97,116,32,116,104,101,32,101,110,100,32,97,114,101,32,98,121,32,100,101,102,97,117,108,116,32,114,101,109,111,118,101,100,46,32,84,111,32,103,101,116,32,116,104,101,32,34,116,114,105,109,109,105,110,103,34,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,32,111,102,32,80,101,114,108,44,32,115,112,101,99,105,102,121,32>>,{code,[],[<<116,114,105,109>>]},<<32,97,115,32,97,110,32,111,112,116,105,111,110,58>>]},{pre,[],[{code,[],[<<114,101,58,115,112,108,105,116,40,34,69,114,108,97,110,103,34,44,34,91,108,103,93,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,44,116,114,105,109,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<91,34,69,114,34,44,34,97,110,34,93>>]}]},{p,[],[<<84,104,101,32,34,116,114,105,109,34,32,111,112,116,105,111,110,32,115,97,121,115,59,32,34,103,105,118,101,32,109,101,32,97,115,32,109,97,110,121,32,112,97,114,116,115,32,97,115,32,112,111,115,115,105,98,108,101,32,101,120,99,101,112,116,32,116,104,101,32,101,109,112,116,121,32,111,110,101,115,34,44,32,119,104,105,99,104,32,115,111,109,101,116,105,109,101,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,46,32,89,111,117,32,99,97,110,32,97,108,115,111,32,115,112,101,99,105,102,121,32,104,111,119,32,109,97,110,121,32,112,97,114,116,115,32,121,111,117,32,119,97,110,116,44,32,98,121,32,115,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<123,112,97,114,116,115,44>>]},<<78>>,{code,[],[<<125>>]},<<58>>]},{pre,[],[{code,[],[<<114,101,58,115,112,108,105,116,40,34,69,114,108,97,110,103,34,44,34,91,108,103,93,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,44,123,112,97,114,116,115,44,50,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<91,34,69,114,34,44,34,97,110,103,34,93>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,108,97,115,116,32,112,97,114,116,32,105,115,32,34,97,110,103,34,44,32,110,111,116,32,34,97,110,34,44,32,97,115,32,115,112,108,105,116,116,105,110,103,32,119,97,115,32,115,112,101,99,105,102,105,101,100,32,105,110,116,111,32,116,119,111,32,112,97,114,116,115,44,32,97,110,100,32,116,104,101,32,115,112,108,105,116,116,105,110,103,32,115,116,111,112,115,32,119,104,101,110,32,101,110,111,117,103,104,32,112,97,114,116,115,32,97,114,101,32,103,105,118,101,110,44,32,119,104,105,99,104,32,105,115,32,119,104,121,32,116,104,101,32,114,101,115,117,108,116,32,100,105,102,102,101,114,115,32,102,114,111,109,32,116,104,97,116,32,111,102,32>>,{code,[],[<<116,114,105,109>>]},<<46>>]},{p,[],[<<77,111,114,101,32,116,104,97,110,32,116,104,114,101,101,32,112,97,114,116,115,32,97,114,101,32,110,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,32,116,104,105,115,32,105,110,100,97,116,97,44,32,115,111>>]},{pre,[],[{code,[],[<<114,101,58,115,112,108,105,116,40,34,69,114,108,97,110,103,34,44,34,91,108,103,93,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,44,123,112,97,114,116,115,44,52,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115,32,116,104,101,32,115,97,109,101,32,114,101,115,117,108,116,32,97,115,32,116,104,101,32,100,101,102,97,117,108,116,44,32,119,104,105,99,104,32,105,115,32,116,111,32,98,101,32,118,105,101,119,101,100,32,97,115,32,34,97,110,32,105,110,102,105,110,105,116,101,32,110,117,109,98,101,114,32,111,102,32,112,97,114,116,115,34,46>>]},{p,[],[<<83,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<48>>]},<<32,97,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,112,97,114,116,115,32,103,105,118,101,115,32,116,104,101,32,115,97,109,101,32,101,102,102,101,99,116,32,97,115,32,111,112,116,105,111,110,32>>,{code,[],[<<116,114,105,109>>]},<<46,32,73,102,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,97,114,101,32,99,97,112,116,117,114,101,100,44,32,101,109,112,116,121,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,109,97,116,99,104,101,100,32,97,116,32,116,104,101,32,101,110,100,32,97,114,101,32,97,108,115,111,32,115,116,114,105,112,112,101,100,32,102,114,111,109,32,116,104,101,32,114,101,115,117,108,116,32,105,102,32>>,{code,[],[<<116,114,105,109>>]},<<32,111,114,32>>,{code,[],[<<123,112,97,114,116,115,44,48,125>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<116,114,105,109>>]},<<32,98,101,104,97,118,105,111,114,32,99,111,114,114,101,115,112,111,110,100,115,32,101,120,97,99,116,108,121,32,116,111,32,116,104,101,32,80,101,114,108,32,100,101,102,97,117,108,116,46,32>>,{code,[],[<<123,112,97,114,116,115,44,78,125>>]},<<44,32,119,104,101,114,101,32,78,32,105,115,32,97,32,112,111,115,105,116,105,118,101,32,105,110,116,101,103,101,114,44,32,99,111,114,114,101,115,112,111,110,100,115,32,101,120,97,99,116,108,121,32,116,111,32,116,104,101,32,80,101,114,108,32,98,101,104,97,118,105,111,114,32,119,105,116,104,32,97,32,112,111,115,105,116,105,118,101,32,110,117,109,101,114,105,99,97,108,32,116,104,105,114,100,32,112,97,114,97,109,101,116,101,114,46,32,84,104,101,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,32,111,102,32>>,{code,[],[<<115,112,108,105,116,47,51>>]},<<32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,80,101,114,108,32,98,101,104,97,118,105,111,114,32,119,104,101,110,32,97,32,110,101,103,97,116,105,118,101,32,105,110,116,101,103,101,114,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,116,104,101,32,116,104,105,114,100,32,112,97,114,97,109,101,116,101,114,32,102,111,114,32,116,104,101,32,80,101,114,108,32,114,111,117,116,105,110,101,46>>]},{p,[],[<<83,117,109,109,97,114,121,32,111,102,32,111,112,116,105,111,110,115,32,110,111,116,32,112,114,101,118,105,111,117,115,108,121,32,100,101,115,99,114,105,98,101,100,32,102,111,114,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<114,117,110,47,51>>]},<<58>>]},{dl,[],[{dt,[],[{code,[],[<<123,114,101,116,117,114,110,44,82,101,116,117,114,110,84,121,112,101,125>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,104,111,119,32,116,104,101,32,112,97,114,116,115,32,111,102,32,116,104,101,32,111,114,105,103,105,110,97,108,32,115,116,114,105,110,103,32,97,114,101,32,112,114,101,115,101,110,116,101,100,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,108,105,115,116,46,32,86,97,108,105,100,32,116,121,112,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<105,111,100,97,116,97>>]}]},{dd,[],[{p,[],[<<84,104,101,32,118,97,114,105,97,110,116,32,111,102,32>>,{code,[],[<<105,111,100,97,116,97,40,41>>]},<<32,116,104,97,116,32,103,105,118,101,115,32,116,104,101,32,108,101,97,115,116,32,99,111,112,121,105,110,103,32,111,102,32,100,97,116,97,32,119,105,116,104,32,116,104,101,32,99,117,114,114,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,40,111,102,116,101,110,32,97,32,98,105,110,97,114,121,44,32,98,117,116,32,100,111,32,110,111,116,32,100,101,112,101,110,100,32,111,110,32,105,116,41,46>>]}]},{dt,[],[{code,[],[<<98,105,110,97,114,121>>]}]},{dd,[],[{p,[],[<<65,108,108,32,112,97,114,116,115,32,114,101,116,117,114,110,101,100,32,97,115,32,98,105,110,97,114,105,101,115,46>>]}]},{dt,[],[{code,[],[<<108,105,115,116>>]}]},{dd,[],[{p,[],[<<65,108,108,32,112,97,114,116,115,32,114,101,116,117,114,110,101,100,32,97,115,32,108,105,115,116,115,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,40,34,115,116,114,105,110,103,115,34,41,46>>]}]}]}]},{dt,[],[{code,[],[<<103,114,111,117,112>>]}]},{dd,[],[{p,[],[<<71,114,111,117,112,115,32,116,111,103,101,116,104,101,114,32,116,104,101,32,112,97,114,116,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,119,105,116,104,32,116,104,101,32,112,97,114,116,115,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,109,97,116,99,104,105,110,103,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,111,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,102,114,111,109,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,105,110,32,116,104,105,115,32,99,97,115,101,32,97,32>>,{code,[],[<<108,105,115,116,40,41>>]},<<32,111,102,32>>,{code,[],[<<108,105,115,116,40,41>>]},<<115,46,32,69,97,99,104,32,115,117,98,108,105,115,116,32,98,101,103,105,110,115,32,119,105,116,104,32,116,104,101,32,115,116,114,105,110,103,32,112,105,99,107,101,100,32,111,117,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,102,111,108,108,111,119,101,100,32,98,121,32,116,104,101,32,112,97,114,116,115,32,109,97,116,99,104,105,110,103,32,101,97,99,104,32,111,102,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,111,114,100,101,114,32,111,102,32,111,99,99,117,114,114,101,110,99,101,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]}]},{dt,[],[{code,[],[<<123,112,97,114,116,115,44,78,125>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,112,97,114,116,115,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,105,115,32,116,111,32,98,101,32,115,112,108,105,116,32,105,110,116,111,46>>]},{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,112,97,114,116,115,32,105,115,32,116,111,32,98,101,32,97,32,112,111,115,105,116,105,118,101,32,105,110,116,101,103,101,114,32,102,111,114,32,97,32,115,112,101,99,105,102,105,99,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,112,97,114,116,115,44,32,97,110,100,32>>,{code,[],[<<105,110,102,105,110,105,116,121>>]},<<32,102,111,114,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,112,97,114,116,115,32,112,111,115,115,105,98,108,101,32,40,116,104,101,32,100,101,102,97,117,108,116,41,46,32,83,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<123,112,97,114,116,115,44,48,125>>]},<<32,103,105,118,101,115,32,97,115,32,109,97,110,121,32,112,97,114,116,115,32,97,115,32,112,111,115,115,105,98,108,101,32,100,105,115,114,101,103,97,114,100,105,110,103,32,101,109,112,116,121,32,112,97,114,116,115,32,97,116,32,116,104,101,32,101,110,100,44,32,116,104,101,32,115,97,109,101,32,97,115,32,115,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<116,114,105,109>>]},<<46>>]}]},{dt,[],[{code,[],[<<116,114,105,109>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,116,104,97,116,32,101,109,112,116,121,32,112,97,114,116,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,114,101,115,117,108,116,32,108,105,115,116,32,97,114,101,32,116,111,32,98,101,32,100,105,115,114,101,103,97,114,100,101,100,46,32,84,104,101,32,115,97,109,101,32,97,115,32,115,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<123,112,97,114,116,115,44,48,125>>]},<<46,32,84,104,105,115,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,32,111,102,32,116,104,101,32>>,{code,[],[<<115,112,108,105,116>>]},<<32,98,117,105,108,116,45,105,110,32,102,117,110,99,116,105,111,110,32,105,110,32,80,101,114,108,46>>]}]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,49,48,48,51>>,signature => [{attribute,{166,2},spec,{{split,3},[{type,{166,12},bounded_fun,[{type,{166,12},'fun',[{type,{166,12},product,[{var,{166,13},'Subject'},{var,{166,22},'RE'},{var,{166,26},'Options'}]},{var,{166,38},'SplitList'}]},[{type,{167,7},constraint,[{atom,{167,7},is_subtype},[{var,{167,7},'Subject'},{type,{167,18},union,[{type,{167,18},iodata,[]},{remote_type,{167,29},[{atom,{167,29},unicode},{atom,{167,37},charlist},[]]}]}]]},{type,{168,7},constraint,[{atom,{168,7},is_subtype},[{var,{168,7},'RE'},{type,{168,13},union,[{user_type,{168,13},mp,[]},{type,{168,20},iodata,[]},{remote_type,{168,31},[{atom,{168,31},unicode},{atom,{168,39},charlist},[]]}]}]]},{type,{169,7},constraint,[{atom,{169,7},is_subtype},[{var,{169,7},'Options'},{type,{169,18},list,[{var,{169,20},'Option'}]}]]},{type,{170,7},constraint,[{atom,{170,7},is_subtype},[{var,{170,7},'Option'},{type,{170,17},union,[{atom,{170,17},anchored},{atom,{170,28},notbol},{atom,{170,37},noteol},{atom,{170,46},notempty},{atom,{170,57},notempty_atstart},{type,{171,17},tuple,[{atom,{171,18},offset},{type,{171,26},non_neg_integer,[]}]},{type,{171,47},tuple,[{atom,{171,48},newline},{user_type,{171,57},nl_spec,[]}]},{type,{172,17},tuple,[{atom,{172,18},match_limit},{type,{172,31},non_neg_integer,[]}]},{type,{173,17},tuple,[{atom,{173,18},match_limit_recursion},{type,{173,41},non_neg_integer,[]}]},{atom,{174,17},bsr_anycrlf},{atom,{174,31},bsr_unicode},{type,{174,45},tuple,[{atom,{174,46},return},{var,{174,54},'ReturnType'}]},{type,{175,17},tuple,[{atom,{175,18},parts},{var,{175,25},'NumParts'}]},{atom,{175,37},group},{atom,{175,45},trim},{var,{175,52},'CompileOpt'}]}]]},{type,{176,7},constraint,[{atom,{176,7},is_subtype},[{var,{176,7},'NumParts'},{type,{176,19},union,[{type,{176,19},non_neg_integer,[]},{atom,{176,39},infinity}]}]]},{type,{177,7},constraint,[{atom,{177,7},is_subtype},[{var,{177,7},'ReturnType'},{type,{177,21},union,[{atom,{177,21},iodata},{atom,{177,30},list},{atom,{177,37},binary}]}]]},{type,{178,7},constraint,[{atom,{178,7},is_subtype},[{var,{178,7},'CompileOpt'},{user_type,{178,21},compile_option,[]}]]},{type,{179,7},constraint,[{atom,{179,7},is_subtype},[{var,{179,7},'SplitList'},{type,{179,20},union,[{type,{179,20},list,[{var,{179,21},'RetData'}]},{type,{179,32},list,[{var,{179,33},'GroupedRetData'}]}]}]]},{type,{180,7},constraint,[{atom,{180,7},is_subtype},[{var,{180,7},'GroupedRetData'},{type,{180,25},list,[{var,{180,26},'RetData'}]}]]},{type,{181,7},constraint,[{atom,{181,7},is_subtype},[{var,{181,7},'RetData'},{type,{181,18},union,[{type,{181,18},iodata,[]},{remote_type,{181,29},[{atom,{181,29},unicode},{atom,{181,37},charlist},[]]},{type,{181,50},binary,[]},{type,{181,61},list,[]}]}]]}]]}]}}]}},{{type,mp,0},[{file,[114,101,46,101,114,108]},{location,23}],[<<45,116,121,112,101,32,109,112,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<79,112,97,113,117,101,32,100,97,116,97,32,116,121,112,101,32,99,111,110,116,97,105,110,105,110,103,32,97,32,99,111,109,112,105,108,101,100,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46,32>>,{code,[],[<<109,112,40,41>>]},<<32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,97,32,116,117,112,108,101,40,41,32,104,97,118,105,110,103,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<114,101,95,112,97,116,116,101,114,110>>]},<<32,97,115,32,105,116,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,44,32,116,111,32,97,108,108,111,119,32,102,111,114,32,109,97,116,99,104,105,110,103,32,105,110,32,103,117,97,114,100,115,46,32,84,104,101,32,97,114,105,116,121,32,111,102,32,116,104,101,32,116,117,112,108,101,32,111,114,32,116,104,101,32,99,111,110,116,101,110,116,32,111,102,32,116,104,101,32,111,116,104,101,114,32,102,105,101,108,100,115,32,99,97,110,32,99,104,97,110,103,101,32,105,110,32,102,117,116,117,114,101,32,69,114,108,97,110,103,47,79,84,80,32,114,101,108,101,97,115,101,115,46>>]}]},#{signature => [{attribute,{23,2},type,{mp,{type,{23,15},tuple,[{atom,{23,16},re_pattern},{var,{23,28},'_'},{var,{23,31},'_'},{var,{23,34},'_'},{var,{23,37},'_'}]},[]}}]}},{{type,nl_spec,0},[{file,[114,101,46,101,114,108]},{location,25}],[<<45,116,121,112,101,32,110,108,95,115,112,101,99,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{25,2},type,{nl_spec,{type,{25,20},union,[{atom,{25,20},cr},{atom,{25,25},crlf},{atom,{25,32},lf},{atom,{25,37},anycrlf},{atom,{25,47},any}]},[]}}]}},{{type,compile_option,0},[{file,[114,101,46,101,114,108]},{location,27}],[<<45,116,121,112,101,32,99,111,109,112,105,108,101,95,111,112,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{27,2},type,{compile_option,{type,{27,27},union,[{atom,{27,27},unicode},{atom,{27,37},anchored},{atom,{27,48},caseless},{atom,{27,59},dollar_endonly},{atom,{28,27},dotall},{atom,{28,36},extended},{atom,{28,47},firstline},{atom,{28,59},multiline},{atom,{29,27},no_auto_capture},{atom,{29,45},dupnames},{atom,{29,56},ungreedy},{type,{30,27},tuple,[{atom,{30,28},newline},{user_type,{30,37},nl_spec,[]}]},{atom,{31,27},bsr_anycrlf},{atom,{31,41},bsr_unicode},{atom,{32,27},no_start_optimize},{atom,{32,47},ucp},{atom,{32,53},never_utf}]},[]}}]}}]}. \ No newline at end of file +{docs_v1,[{file,[114,101,46,101,114,108]},{location,0}],erlang,<<97,112,112,108,105,99,97,116,105,111,110,47,101,114,108,97,110,103,43,104,116,109,108>>,#{<<101,110>> => [{p,[],[<<84,104,105,115,32,109,111,100,117,108,101,32,99,111,110,116,97,105,110,115,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,115,32,102,111,114,32,115,116,114,105,110,103,115,32,97,110,100,32,98,105,110,97,114,105,101,115,46>>]},{p,[],[<<84,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,101,103,101,120,112,95,115,121,110,116,97,120>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110>>]},<<32,115,121,110,116,97,120,32,97,110,100,32,115,101,109,97,110,116,105,99,115,32,114,101,115,101,109,98,108,101,32,116,104,97,116,32,111,102,32,80,101,114,108,46>>]},{p,[],[<<84,104,101,32,109,97,116,99,104,105,110,103,32,97,108,103,111,114,105,116,104,109,115,32,111,102,32,116,104,101,32,108,105,98,114,97,114,121,32,97,114,101,32,98,97,115,101,100,32,111,110,32,116,104,101,32,80,67,82,69,32,108,105,98,114,97,114,121,44,32,98,117,116,32,110,111,116,32,97,108,108,32,111,102,32,116,104,101,32,80,67,82,69,32,108,105,98,114,97,114,121,32,105,115,32,105,110,116,101,114,102,97,99,101,100,32,97,110,100,32,115,111,109,101,32,112,97,114,116,115,32,111,102,32,116,104,101,32,108,105,98,114,97,114,121,32,103,111,32,98,101,121,111,110,100,32,119,104,97,116,32,80,67,82,69,32,111,102,102,101,114,115,46,32,67,117,114,114,101,110,116,108,121,32,80,67,82,69,32,118,101,114,115,105,111,110,32,56,46,52,48,32,40,114,101,108,101,97,115,101,32,100,97,116,101,32,50,48,49,55,45,48,49,45,49,49,41,32,105,115,32,117,115,101,100,46,32,84,104,101,32,115,101,99,116,105,111,110,115,32,111,102,32,116,104,101,32,80,67,82,69,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,116,104,97,116,32,97,114,101,32,114,101,108,101,118,97,110,116,32,116,111,32,116,104,105,115,32,109,111,100,117,108,101,32,97,114,101,32,105,110,99,108,117,100,101,100,32,104,101,114,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,69,114,108,97,110,103,32,108,105,116,101,114,97,108,32,115,121,110,116,97,120,32,102,111,114,32,115,116,114,105,110,103,115,32,117,115,101,115,32,116,104,101,32,34,92,34,32,40,98,97,99,107,115,108,97,115,104,41,32,99,104,97,114,97,99,116,101,114,32,97,115,32,97,110,32,101,115,99,97,112,101,32,99,111,100,101,46,32,89,111,117,32,110,101,101,100,32,116,111,32,101,115,99,97,112,101,32,98,97,99,107,115,108,97,115,104,101,115,32,105,110,32,108,105,116,101,114,97,108,32,115,116,114,105,110,103,115,44,32,98,111,116,104,32,105,110,32,121,111,117,114,32,99,111,100,101,32,97,110,100,32,105,110,32,116,104,101,32,115,104,101,108,108,44,32,119,105,116,104,32,97,110,32,101,120,116,114,97,32,98,97,99,107,115,108,97,115,104,44,32,116,104,97,116,32,105,115,44,32,34,92,92,34,46>>]}]},{a,[{id,<<114,101,103,101,120,112,95,115,121,110,116,97,120>>}],[]},{h2,[],[<<80,101,114,108,45,76,105,107,101,32,82,101,103,117,108,97,114,32,69,120,112,114,101,115,115,105,111,110,32,83,121,110,116,97,120>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,115,101,99,116,105,111,110,115,32,99,111,110,116,97,105,110,32,114,101,102,101,114,101,110,99,101,32,109,97,116,101,114,105,97,108,32,102,111,114,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,117,115,101,100,32,98,121,32,116,104,105,115,32,109,111,100,117,108,101,46,32,84,104,101,32,105,110,102,111,114,109,97,116,105,111,110,32,105,115,32,98,97,115,101,100,32,111,110,32,116,104,101,32,80,67,82,69,32,100,111,99,117,109,101,110,116,97,116,105,111,110,44,32,119,105,116,104,32,99,104,97,110,103,101,115,32,119,104,101,114,101,32,116,104,105,115,32,109,111,100,117,108,101,32,98,101,104,97,118,101,115,32,100,105,102,102,101,114,101,110,116,108,121,32,116,111,32,116,104,101,32,80,67,82,69,32,108,105,98,114,97,114,121,46>>]},{a,[{id,<<114,101,103,101,120,112,95,115,121,110,116,97,120,95,100,101,116,97,105,108,115>>}],[]},{h2,[],[<<80,67,82,69,32,82,101,103,117,108,97,114,32,69,120,112,114,101,115,115,105,111,110,32,68,101,116,97,105,108,115>>]},{p,[],[<<84,104,101,32,115,121,110,116,97,120,32,97,110,100,32,115,101,109,97,110,116,105,99,115,32,111,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,115,117,112,112,111,114,116,101,100,32,98,121,32,80,67,82,69,32,97,114,101,32,100,101,115,99,114,105,98,101,100,32,105,110,32,100,101,116,97,105,108,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,101,99,116,105,111,110,115,46,32,80,101,114,108,39,115,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,97,114,101,32,100,101,115,99,114,105,98,101,100,32,105,110,32,105,116,115,32,111,119,110,32,100,111,99,117,109,101,110,116,97,116,105,111,110,44,32,97,110,100,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,103,101,110,101,114,97,108,32,97,114,101,32,99,111,118,101,114,101,100,32,105,110,32,109,97,110,121,32,98,111,111,107,115,44,32,115,111,109,101,32,119,105,116,104,32,99,111,112,105,111,117,115,32,101,120,97,109,112,108,101,115,46,32,74,101,102,102,114,101,121,32,70,114,105,101,100,108,39,115,32,34,77,97,115,116,101,114,105,110,103,32,82,101,103,117,108,97,114,32,69,120,112,114,101,115,115,105,111,110,115,34,44,32,112,117,98,108,105,115,104,101,100,32,98,121,32,79,39,82,101,105,108,108,121,44,32,99,111,118,101,114,115,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,103,114,101,97,116,32,100,101,116,97,105,108,46,32,84,104,105,115,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,116,104,101,32,80,67,82,69,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,105,115,32,105,110,116,101,110,100,101,100,32,97,115,32,114,101,102,101,114,101,110,99,101,32,109,97,116,101,114,105,97,108,46>>]},{p,[],[<<84,104,101,32,114,101,102,101,114,101,110,99,101,32,109,97,116,101,114,105,97,108,32,105,115,32,100,105,118,105,100,101,100,32,105,110,116,111,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,101,99,116,105,111,110,115,58>>]},{ul,[],[{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,112,101,99,105,97,108,32,83,116,97,114,116,45,111,102,45,80,97,116,116,101,114,110,32,73,116,101,109,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,104,97,114,97,99,116,101,114,115,32,97,110,100,32,77,101,116,97,99,104,97,114,97,99,116,101,114,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<66,97,99,107,115,108,97,115,104>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,105,114,99,117,109,102,108,101,120,32,97,110,100,32,68,111,108,108,97,114>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,53>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<70,117,108,108,32,83,116,111,112,32,40,80,101,114,105,111,100,44,32,68,111,116,41,32,97,110,100,32,92,78>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,54>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<77,97,116,99,104,105,110,103,32,97,32,83,105,110,103,108,101,32,68,97,116,97,32,85,110,105,116>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,55>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,113,117,97,114,101,32,66,114,97,99,107,101,116,115,32,97,110,100,32,67,104,97,114,97,99,116,101,114,32,67,108,97,115,115,101,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,56>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<80,111,115,105,120,32,67,104,97,114,97,99,116,101,114,32,67,108,97,115,115,101,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,57>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<86,101,114,116,105,99,97,108,32,66,97,114>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<73,110,116,101,114,110,97,108,32,79,112,116,105,111,110,32,83,101,116,116,105,110,103>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,117,98,112,97,116,116,101,114,110,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<68,117,112,108,105,99,97,116,101,32,83,117,98,112,97,116,116,101,114,110,32,78,117,109,98,101,114,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<78,97,109,101,100,32,83,117,98,112,97,116,116,101,114,110,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,52>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<82,101,112,101,116,105,116,105,111,110>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,53>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<65,116,111,109,105,99,32,71,114,111,117,112,105,110,103,32,97,110,100,32,80,111,115,115,101,115,115,105,118,101,32,81,117,97,110,116,105,102,105,101,114,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,54>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<66,97,99,107,32,82,101,102,101,114,101,110,99,101,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,55>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<65,115,115,101,114,116,105,111,110,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,56>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,111,110,100,105,116,105,111,110,97,108,32,83,117,98,112,97,116,116,101,114,110,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,57>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,111,109,109,101,110,116,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,50,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<82,101,99,117,114,115,105,118,101,32,80,97,116,116,101,114,110,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,50,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,117,98,112,97,116,116,101,114,110,115,32,97,115,32,83,117,98,114,111,117,116,105,110,101,115>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,50,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<79,110,105,103,117,114,117,109,97,32,83,117,98,114,111,117,116,105,110,101,32,83,121,110,116,97,120>>]}]},{li,[],[{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,50,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<66,97,99,107,116,114,97,99,107,105,110,103,32,67,111,110,116,114,111,108>>]}]}]},{a,[{id,<<115,101,99,116,49>>}],[]},{h2,[],[<<83,112,101,99,105,97,108,32,83,116,97,114,116,45,111,102,45,80,97,116,116,101,114,110,32,73,116,101,109,115>>]},{p,[],[<<83,111,109,101,32,111,112,116,105,111,110,115,32,116,104,97,116,32,99,97,110,32,98,101,32,112,97,115,115,101,100,32,116,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,99,111,109,112,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,111,109,112,105,108,101,47,50>>]}]},<<32,99,97,110,32,97,108,115,111,32,98,101,32,115,101,116,32,98,121,32,115,112,101,99,105,97,108,32,105,116,101,109,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,97,32,112,97,116,116,101,114,110,46,32,84,104,101,115,101,32,97,114,101,32,110,111,116,32,80,101,114,108,45,99,111,109,112,97,116,105,98,108,101,44,32,98,117,116,32,97,114,101,32,112,114,111,118,105,100,101,100,32,116,111,32,109,97,107,101,32,116,104,101,115,101,32,111,112,116,105,111,110,115,32,97,99,99,101,115,115,105,98,108,101,32,116,111,32,112,97,116,116,101,114,110,32,119,114,105,116,101,114,115,32,119,104,111,32,97,114,101,32,110,111,116,32,97,98,108,101,32,116,111,32,99,104,97,110,103,101,32,116,104,101,32,112,114,111,103,114,97,109,32,116,104,97,116,32,112,114,111,99,101,115,115,101,115,32,116,104,101,32,112,97,116,116,101,114,110,46,32,65,110,121,32,110,117,109,98,101,114,32,111,102,32,116,104,101,115,101,32,105,116,101,109,115,32,99,97,110,32,97,112,112,101,97,114,44,32,98,117,116,32,116,104,101,121,32,109,117,115,116,32,97,108,108,32,98,101,32,116,111,103,101,116,104,101,114,32,114,105,103,104,116,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,115,116,114,105,110,103,44,32,97,110,100,32,116,104,101,32,108,101,116,116,101,114,115,32,109,117,115,116,32,98,101,32,105,110,32,117,112,112,101,114,32,99,97,115,101,46>>]},{p,[],[{em,[],[<<85,84,70,32,83,117,112,112,111,114,116>>]}]},{p,[],[<<85,110,105,99,111,100,101,32,115,117,112,112,111,114,116,32,105,115,32,98,97,115,105,99,97,108,108,121,32,85,84,70,45,56,32,98,97,115,101,100,46,32,84,111,32,117,115,101,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,44,32,121,111,117,32,101,105,116,104,101,114,32,99,97,108,108,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,99,111,109,112,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,111,109,112,105,108,101,47,50>>]}]},<<32,111,114,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,111,114,32,116,104,101,32,112,97,116,116,101,114,110,32,109,117,115,116,32,115,116,97,114,116,32,119,105,116,104,32,111,110,101,32,111,102,32,116,104,101,115,101,32,115,112,101,99,105,97,108,32,115,101,113,117,101,110,99,101,115,58>>]},{pre,[],[{code,[],[<<40,42,85,84,70,56,41,10,40,42,85,84,70,41>>]}]},{p,[],[<<66,111,116,104,32,111,112,116,105,111,110,115,32,103,105,118,101,32,116,104,101,32,115,97,109,101,32,101,102,102,101,99,116,44,32,116,104,101,32,105,110,112,117,116,32,115,116,114,105,110,103,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,85,84,70,45,56,46,32,78,111,116,105,99,101,32,116,104,97,116,32,119,105,116,104,32,116,104,101,115,101,32,105,110,115,116,114,117,99,116,105,111,110,115,44,32,116,104,101,32,97,117,116,111,109,97,116,105,99,32,99,111,110,118,101,114,115,105,111,110,32,111,102,32,108,105,115,116,115,32,116,111,32,85,84,70,45,56,32,105,115,32,110,111,116,32,112,101,114,102,111,114,109,101,100,32,98,121,32,116,104,101,32>>,{code,[],[<<114,101>>]},<<32,102,117,110,99,116,105,111,110,115,46,32,84,104,101,114,101,102,111,114,101,44,32,117,115,105,110,103,32,116,104,101,115,101,32,115,101,113,117,101,110,99,101,115,32,105,115,32,110,111,116,32,114,101,99,111,109,109,101,110,100,101,100,46,32,65,100,100,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,119,104,101,110,32,114,117,110,110,105,110,103,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,99,111,109,112,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,111,109,112,105,108,101,47,50>>]}]},<<32,105,110,115,116,101,97,100,46>>]},{p,[],[<<83,111,109,101,32,97,112,112,108,105,99,97,116,105,111,110,115,32,116,104,97,116,32,97,108,108,111,119,32,116,104,101,105,114,32,117,115,101,114,115,32,116,111,32,115,117,112,112,108,121,32,112,97,116,116,101,114,110,115,32,99,97,110,32,119,105,115,104,32,116,111,32,114,101,115,116,114,105,99,116,32,116,104,101,109,32,116,111,32,110,111,110,45,85,84,70,32,100,97,116,97,32,102,111,114,32,115,101,99,117,114,105,116,121,32,114,101,97,115,111,110,115,46,32,73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<110,101,118,101,114,95,117,116,102>>]},<<32,105,115,32,115,101,116,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,44,32,40,42,85,84,70,41,44,32,97,110,100,32,115,111,32,111,110,44,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,44,32,97,110,100,32,116,104,101,105,114,32,97,112,112,101,97,114,97,110,99,101,32,99,97,117,115,101,115,32,97,110,32,101,114,114,111,114,46>>]},{p,[],[{em,[],[<<85,110,105,99,111,100,101,32,80,114,111,112,101,114,116,121,32,83,117,112,112,111,114,116>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,105,115,32,97,110,111,116,104,101,114,32,115,112,101,99,105,97,108,32,115,101,113,117,101,110,99,101,32,116,104,97,116,32,99,97,110,32,97,112,112,101,97,114,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,97,32,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[],[<<40,42,85,67,80,41>>]}]},{p,[],[<<84,104,105,115,32,104,97,115,32,116,104,101,32,115,97,109,101,32,101,102,102,101,99,116,32,97,115,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<117,99,112>>]},<<58,32,105,116,32,99,97,117,115,101,115,32,115,101,113,117,101,110,99,101,115,32,115,117,99,104,32,97,115,32,92,100,32,97,110,100,32,92,119,32,116,111,32,117,115,101,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,105,101,115,32,116,111,32,100,101,116,101,114,109,105,110,101,32,99,104,97,114,97,99,116,101,114,32,116,121,112,101,115,44,32,105,110,115,116,101,97,100,32,111,102,32,114,101,99,111,103,110,105,122,105,110,103,32,111,110,108,121,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,99,111,100,101,115,32,60,32,50,53,54,32,116,104,114,111,117,103,104,32,97,32,108,111,111,107,117,112,32,116,97,98,108,101,46>>]},{p,[],[{em,[],[<<68,105,115,97,98,108,105,110,103,32,83,116,97,114,116,117,112,32,79,112,116,105,109,105,122,97,116,105,111,110,115>>]}]},{p,[],[<<73,102,32,97,32,112,97,116,116,101,114,110,32,115,116,97,114,116,115,32,119,105,116,104,32>>,{code,[],[<<40,42,78,79,95,83,84,65,82,84,95,79,80,84,41>>]},<<44,32,105,116,32,104,97,115,32,116,104,101,32,115,97,109,101,32,101,102,102,101,99,116,32,97,115,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<110,111,95,115,116,97,114,116,95,111,112,116,105,109,105,122,101>>]},<<32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,46>>]},{p,[],[{em,[],[<<78,101,119,108,105,110,101,32,67,111,110,118,101,110,116,105,111,110,115>>]}]},{a,[{id,<<110,101,119,108,105,110,101,95,99,111,110,118,101,110,116,105,111,110,115>>}],[]},{p,[],[<<80,67,82,69,32,115,117,112,112,111,114,116,115,32,102,105,118,101,32,99,111,110,118,101,110,116,105,111,110,115,32,102,111,114,32,105,110,100,105,99,97,116,105,110,103,32,108,105,110,101,32,98,114,101,97,107,115,32,105,110,32,115,116,114,105,110,103,115,58,32,97,32,115,105,110,103,108,101,32,67,82,32,40,99,97,114,114,105,97,103,101,32,114,101,116,117,114,110,41,32,99,104,97,114,97,99,116,101,114,44,32,97,32,115,105,110,103,108,101,32,76,70,32,40,108,105,110,101,32,102,101,101,100,41,32,99,104,97,114,97,99,116,101,114,44,32,116,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,32,67,82,76,70,44,32,97,110,121,32,111,102,32,116,104,101,32,116,104,114,101,101,32,112,114,101,99,101,100,105,110,103,44,32,97,110,100,32,97,110,121,32,85,110,105,99,111,100,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,46>>]},{p,[],[<<65,32,110,101,119,108,105,110,101,32,99,111,110,118,101,110,116,105,111,110,32,99,97,110,32,97,108,115,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,98,121,32,115,116,97,114,116,105,110,103,32,97,32,112,97,116,116,101,114,110,32,115,116,114,105,110,103,32,119,105,116,104,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,105,118,101,32,115,101,113,117,101,110,99,101,115,58>>]},{dl,[],[{dt,[],[<<40,42,67,82,41>>]},{dd,[],[<<67,97,114,114,105,97,103,101,32,114,101,116,117,114,110>>]},{dt,[],[<<40,42,76,70,41>>]},{dd,[],[<<76,105,110,101,32,102,101,101,100>>]},{dt,[],[<<40,42,67,82,76,70,41>>]},{dd,[],[<<62,67,97,114,114,105,97,103,101,32,114,101,116,117,114,110,32,102,111,108,108,111,119,101,100,32,98,121,32,108,105,110,101,32,102,101,101,100>>]},{dt,[],[<<40,42,65,78,89,67,82,76,70,41>>]},{dd,[],[<<65,110,121,32,111,102,32,116,104,101,32,116,104,114,101,101,32,97,98,111,118,101>>]},{dt,[],[<<40,42,65,78,89,41>>]},{dd,[],[<<65,108,108,32,85,110,105,99,111,100,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,115>>]}]},{p,[],[<<84,104,101,115,101,32,111,118,101,114,114,105,100,101,32,116,104,101,32,100,101,102,97,117,108,116,32,97,110,100,32,116,104,101,32,111,112,116,105,111,110,115,32,115,112,101,99,105,102,105,101,100,32,116,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,99,111,109,112,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,111,109,112,105,108,101,47,50>>]}]},<<46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,99,104,97,110,103,101,115,32,116,104,101,32,99,111,110,118,101,110,116,105,111,110,32,116,111,32,67,82,58>>]},{pre,[],[{code,[],[<<40,42,67,82,41,97,46,98>>]}]},{p,[],[<<84,104,105,115,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32>>,{code,[],[<<97,92,110,98>>]},<<44,32,97,115,32,76,70,32,105,115,32,110,111,32,108,111,110,103,101,114,32,97,32,110,101,119,108,105,110,101,46,32,73,102,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,111,102,32,116,104,101,109,32,105,115,32,112,114,101,115,101,110,116,44,32,116,104,101,32,108,97,115,116,32,111,110,101,32,105,115,32,117,115,101,100,46>>]},{p,[],[<<84,104,101,32,110,101,119,108,105,110,101,32,99,111,110,118,101,110,116,105,111,110,32,97,102,102,101,99,116,115,32,119,104,101,114,101,32,116,104,101,32,99,105,114,99,117,109,102,108,101,120,32,97,110,100,32,100,111,108,108,97,114,32,97,115,115,101,114,116,105,111,110,115,32,97,114,101,32,116,114,117,101,46,32,73,116,32,97,108,115,111,32,97,102,102,101,99,116,115,32,116,104,101,32,105,110,116,101,114,112,114,101,116,97,116,105,111,110,32,111,102,32,116,104,101,32,100,111,116,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,119,104,101,110,32>>,{code,[],[<<100,111,116,97,108,108>>]},<<32,105,115,32,110,111,116,32,115,101,116,44,32,97,110,100,32,116,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,92,78,46,32,72,111,119,101,118,101,114,44,32,105,116,32,100,111,101,115,32,110,111,116,32,97,102,102,101,99,116,32,119,104,97,116,32,116,104,101,32,92,82,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,109,97,116,99,104,101,115,46,32,66,121,32,100,101,102,97,117,108,116,44,32,116,104,105,115,32,105,115,32,97,110,121,32,85,110,105,99,111,100,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,44,32,102,111,114,32,80,101,114,108,32,99,111,109,112,97,116,105,98,105,108,105,116,121,46,32,72,111,119,101,118,101,114,44,32,116,104,105,115,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,59,32,115,101,101,32,116,104,101,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,92,82,32,105,110,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,110,101,119,108,105,110,101,95,115,101,113,117,101,110,99,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<78,101,119,108,105,110,101,32,83,101,113,117,101,110,99,101,115>>]},<<46,32,65,32,99,104,97,110,103,101,32,111,102,32,116,104,101,32,92,82,32,115,101,116,116,105,110,103,32,99,97,110,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,97,32,99,104,97,110,103,101,32,111,102,32,116,104,101,32,110,101,119,108,105,110,101,32,99,111,110,118,101,110,116,105,111,110,46>>]},{p,[],[{em,[],[<<83,101,116,116,105,110,103,32,77,97,116,99,104,32,97,110,100,32,82,101,99,117,114,115,105,111,110,32,76,105,109,105,116,115>>]}]},{p,[],[<<84,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<32,99,97,110,32,115,101,116,32,97,32,108,105,109,105,116,32,111,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,116,105,109,101,115,32,116,104,101,32,105,110,116,101,114,110,97,108,32,109,97,116,99,104,40,41,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,32,97,110,100,32,111,110,32,116,104,101,32,109,97,120,105,109,117,109,32,100,101,112,116,104,32,111,102,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,115,46,32,84,104,101,115,101,32,102,97,99,105,108,105,116,105,101,115,32,97,114,101,32,112,114,111,118,105,100,101,100,32,116,111,32,99,97,116,99,104,32,114,117,110,97,119,97,121,32,109,97,116,99,104,101,115,32,116,104,97,116,32,97,114,101,32,112,114,111,118,111,107,101,100,32,98,121,32,112,97,116,116,101,114,110,115,32,119,105,116,104,32,104,117,103,101,32,109,97,116,99,104,105,110,103,32,116,114,101,101,115,32,40,97,32,116,121,112,105,99,97,108,32,101,120,97,109,112,108,101,32,105,115,32,97,32,112,97,116,116,101,114,110,32,119,105,116,104,32,110,101,115,116,101,100,32,117,110,108,105,109,105,116,101,100,32,114,101,112,101,97,116,115,41,32,97,110,100,32,116,111,32,97,118,111,105,100,32,114,117,110,110,105,110,103,32,111,117,116,32,111,102,32,115,121,115,116,101,109,32,115,116,97,99,107,32,98,121,32,116,111,111,32,109,117,99,104,32,114,101,99,117,114,115,105,111,110,46,32,87,104,101,110,32,111,110,101,32,111,102,32,116,104,101,115,101,32,108,105,109,105,116,115,32,105,115,32,114,101,97,99,104,101,100,44,32>>,{code,[],[<<112,99,114,101,95,101,120,101,99,40,41>>]},<<32,103,105,118,101,115,32,97,110,32,101,114,114,111,114,32,114,101,116,117,114,110,46,32,84,104,101,32,108,105,109,105,116,115,32,99,97,110,32,97,108,115,111,32,98,101,32,115,101,116,32,98,121,32,105,116,101,109,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,111,114,109,115,58>>]},{pre,[],[{code,[],[<<40,42,76,73,77,73,84,95,77,65,84,67,72,61,100,41,10,40,42,76,73,77,73,84,95,82,69,67,85,82,83,73,79,78,61,100,41>>]}]},{p,[],[<<72,101,114,101,32,100,32,105,115,32,97,110,121,32,110,117,109,98,101,114,32,111,102,32,100,101,99,105,109,97,108,32,100,105,103,105,116,115,46,32,72,111,119,101,118,101,114,44,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,115,101,116,116,105,110,103,32,109,117,115,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,116,104,101,32,118,97,108,117,101,32,115,101,116,32,98,121,32,116,104,101,32,99,97,108,108,101,114,32,111,102,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,102,111,114,32,105,116,32,116,111,32,104,97,118,101,32,97,110,121,32,101,102,102,101,99,116,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,112,97,116,116,101,114,110,32,119,114,105,116,101,114,32,99,97,110,32,108,111,119,101,114,32,116,104,101,32,108,105,109,105,116,32,115,101,116,32,98,121,32,116,104,101,32,112,114,111,103,114,97,109,109,101,114,44,32,98,117,116,32,110,111,116,32,114,97,105,115,101,32,105,116,46,32,73,102,32,116,104,101,114,101,32,105,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,101,116,116,105,110,103,32,111,102,32,111,110,101,32,111,102,32,116,104,101,115,101,32,108,105,109,105,116,115,44,32,116,104,101,32,108,111,119,101,114,32,118,97,108,117,101,32,105,115,32,117,115,101,100,46>>]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,102,111,114,32,98,111,116,104,32,116,104,101,32,108,105,109,105,116,115,32,105,115,32,49,48,44,48,48,48,44,48,48,48,32,105,110,32,116,104,101,32,69,114,108,97,110,103,32,86,77,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,108,105,109,105,116,32,100,111,101,115,32,110,111,116,32,97,102,102,101,99,116,32,116,104,101,32,115,116,97,99,107,32,100,101,112,116,104,32,111,102,32,116,104,101,32,86,77,44,32,97,115,32,80,67,82,69,32,102,111,114,32,69,114,108,97,110,103,32,105,115,32,99,111,109,112,105,108,101,100,32,105,110,32,115,117,99,104,32,97,32,119,97,121,32,116,104,97,116,32,116,104,101,32,109,97,116,99,104,32,102,117,110,99,116,105,111,110,32,110,101,118,101,114,32,100,111,101,115,32,114,101,99,117,114,115,105,111,110,32,111,110,32,116,104,101,32,67,32,115,116,97,99,107,46>>]},{p,[],[<<78,111,116,101,32,116,104,97,116,32>>,{code,[],[<<76,73,77,73,84,95,77,65,84,67,72>>]},<<32,97,110,100,32>>,{code,[],[<<76,73,77,73,84,95,82,69,67,85,82,83,73,79,78>>]},<<32,99,97,110,32,111,110,108,121,32,114,101,100,117,99,101,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,108,105,109,105,116,115,32,115,101,116,32,98,121,32,116,104,101,32,99,97,108,108,101,114,44,32,110,111,116,32,105,110,99,114,101,97,115,101,32,116,104,101,109,46>>]},{a,[{id,<<115,101,99,116,50>>}],[]},{h2,[],[<<67,104,97,114,97,99,116,101,114,115,32,97,110,100,32,77,101,116,97,99,104,97,114,97,99,116,101,114,115>>]},{p,[],[<<65,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,97,32,112,97,116,116,101,114,110,32,116,104,97,116,32,105,115,32,109,97,116,99,104,101,100,32,97,103,97,105,110,115,116,32,97,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,102,114,111,109,32,108,101,102,116,32,116,111,32,114,105,103,104,116,46,32,77,111,115,116,32,99,104,97,114,97,99,116,101,114,115,32,115,116,97,110,100,32,102,111,114,32,116,104,101,109,115,101,108,118,101,115,32,105,110,32,97,32,112,97,116,116,101,114,110,32,97,110,100,32,109,97,116,99,104,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,46,32,65,115,32,97,32,116,114,105,118,105,97,108,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,97,32,112,111,114,116,105,111,110,32,111,102,32,97,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,116,104,97,116,32,105,115,32,105,100,101,110,116,105,99,97,108,32,116,111,32,105,116,115,101,108,102,58>>]},{pre,[],[{code,[],[<<84,104,101,32,113,117,105,99,107,32,98,114,111,119,110,32,102,111,120>>]}]},{p,[],[<<87,104,101,110,32,99,97,115,101,108,101,115,115,32,109,97,116,99,104,105,110,103,32,105,115,32,115,112,101,99,105,102,105,101,100,32,40,111,112,116,105,111,110,32>>,{code,[],[<<99,97,115,101,108,101,115,115>>]},<<41,44,32,108,101,116,116,101,114,115,32,97,114,101,32,109,97,116,99,104,101,100,32,105,110,100,101,112,101,110,100,101,110,116,108,121,32,111,102,32,99,97,115,101,46>>]},{p,[],[<<84,104,101,32,112,111,119,101,114,32,111,102,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,99,111,109,101,115,32,102,114,111,109,32,116,104,101,32,97,98,105,108,105,116,121,32,116,111,32,105,110,99,108,117,100,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,110,100,32,114,101,112,101,116,105,116,105,111,110,115,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46,32,84,104,101,115,101,32,97,114,101,32,101,110,99,111,100,101,100,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,98,121,32,116,104,101,32,117,115,101,32,111,102,32>>,{em,[],[<<109,101,116,97,99,104,97,114,97,99,116,101,114,115>>]},<<44,32,119,104,105,99,104,32,100,111,32,110,111,116,32,115,116,97,110,100,32,102,111,114,32,116,104,101,109,115,101,108,118,101,115,32,98,117,116,32,105,110,115,116,101,97,100,32,97,114,101,32,105,110,116,101,114,112,114,101,116,101,100,32,105,110,32,115,111,109,101,32,115,112,101,99,105,97,108,32,119,97,121,46>>]},{p,[],[<<84,119,111,32,115,101,116,115,32,111,102,32,109,101,116,97,99,104,97,114,97,99,116,101,114,115,32,101,120,105,115,116,58,32,116,104,111,115,101,32,116,104,97,116,32,97,114,101,32,114,101,99,111,103,110,105,122,101,100,32,97,110,121,119,104,101,114,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,101,120,99,101,112,116,32,119,105,116,104,105,110,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,115,44,32,97,110,100,32,116,104,111,115,101,32,116,104,97,116,32,97,114,101,32,114,101,99,111,103,110,105,122,101,100,32,119,105,116,104,105,110,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,115,46,32,79,117,116,115,105,100,101,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,115,44,32,116,104,101,32,109,101,116,97,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[<<92>>]},{dd,[],[<<71,101,110,101,114,97,108,32,101,115,99,97,112,101,32,99,104,97,114,97,99,116,101,114,32,119,105,116,104,32,109,97,110,121,32,117,115,101,115>>]},{dt,[],[<<94>>]},{dd,[],[<<65,115,115,101,114,116,32,115,116,97,114,116,32,111,102,32,115,116,114,105,110,103,32,40,111,114,32,108,105,110,101,44,32,105,110,32,109,117,108,116,105,108,105,110,101,32,109,111,100,101,41>>]},{dt,[],[<<36>>]},{dd,[],[<<65,115,115,101,114,116,32,101,110,100,32,111,102,32,115,116,114,105,110,103,32,40,111,114,32,108,105,110,101,44,32,105,110,32,109,117,108,116,105,108,105,110,101,32,109,111,100,101,41>>]},{dt,[],[<<46>>]},{dd,[],[<<77,97,116,99,104,32,97,110,121,32,99,104,97,114,97,99,116,101,114,32,101,120,99,101,112,116,32,110,101,119,108,105,110,101,32,40,98,121,32,100,101,102,97,117,108,116,41>>]},{dt,[],[<<91>>]},{dd,[],[<<83,116,97,114,116,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,100,101,102,105,110,105,116,105,111,110>>]},{dt,[],[<<124>>]},{dd,[],[<<83,116,97,114,116,32,111,102,32,97,108,116,101,114,110,97,116,105,118,101,32,98,114,97,110,99,104>>]},{dt,[],[<<40>>]},{dd,[],[<<83,116,97,114,116,32,115,117,98,112,97,116,116,101,114,110>>]},{dt,[],[<<41>>]},{dd,[],[<<69,110,100,32,115,117,98,112,97,116,116,101,114,110>>]},{dt,[],[<<63>>]},{dd,[],[<<69,120,116,101,110,100,115,32,116,104,101,32,109,101,97,110,105,110,103,32,111,102,32,40,44,32,97,108,115,111,32,48,32,111,114,32,49,32,113,117,97,110,116,105,102,105,101,114,44,32,97,108,115,111,32,113,117,97,110,116,105,102,105,101,114,32,109,105,110,105,109,105,122,101,114>>]},{dt,[],[<<42>>]},{dd,[],[<<48,32,111,114,32,109,111,114,101,32,113,117,97,110,116,105,102,105,101,114,115>>]},{dt,[],[<<43>>]},{dd,[],[<<49,32,111,114,32,109,111,114,101,32,113,117,97,110,116,105,102,105,101,114,44,32,97,108,115,111,32,34,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,34>>]},{dt,[],[<<123>>]},{dd,[],[<<83,116,97,114,116,32,109,105,110,47,109,97,120,32,113,117,97,110,116,105,102,105,101,114>>]}]},{p,[],[<<80,97,114,116,32,111,102,32,97,32,112,97,116,116,101,114,110,32,119,105,116,104,105,110,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,115,32,105,115,32,99,97,108,108,101,100,32,97,32,34,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,34,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,111,110,108,121,32,109,101,116,97,99,104,97,114,97,99,116,101,114,115,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,58>>]},{dl,[],[{dt,[],[<<92>>]},{dd,[],[<<71,101,110,101,114,97,108,32,101,115,99,97,112,101,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<94>>]},{dd,[],[<<78,101,103,97,116,101,32,116,104,101,32,99,108,97,115,115,44,32,98,117,116,32,111,110,108,121,32,105,102,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<45>>]},{dd,[],[<<73,110,100,105,99,97,116,101,115,32,99,104,97,114,97,99,116,101,114,32,114,97,110,103,101>>]},{dt,[],[<<91>>]},{dd,[],[<<80,111,115,105,120,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,40,111,110,108,121,32,105,102,32,102,111,108,108,111,119,101,100,32,98,121,32,80,111,115,105,120,32,115,121,110,116,97,120,41>>]},{dt,[],[<<93>>]},{dd,[],[<<84,101,114,109,105,110,97,116,101,115,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,115,101,99,116,105,111,110,115,32,100,101,115,99,114,105,98,101,32,116,104,101,32,117,115,101,32,111,102,32,101,97,99,104,32,109,101,116,97,99,104,97,114,97,99,116,101,114,46>>]},{a,[{id,<<115,101,99,116,51>>}],[]},{h2,[],[<<66,97,99,107,115,108,97,115,104>>]},{p,[],[<<84,104,101,32,98,97,99,107,115,108,97,115,104,32,99,104,97,114,97,99,116,101,114,32,104,97,115,32,109,97,110,121,32,117,115,101,115,46,32,70,105,114,115,116,44,32,105,102,32,105,116,32,105,115,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,110,111,116,32,97,32,110,117,109,98,101,114,32,111,114,32,97,32,108,101,116,116,101,114,44,32,105,116,32,116,97,107,101,115,32,97,119,97,121,32,97,110,121,32,115,112,101,99,105,97,108,32,109,101,97,110,105,110,103,32,116,104,97,116,32,97,32,99,104,97,114,97,99,116,101,114,32,99,97,110,32,104,97,118,101,46,32,84,104,105,115,32,117,115,101,32,111,102,32,98,97,99,107,115,108,97,115,104,32,97,115,32,97,110,32,101,115,99,97,112,101,32,99,104,97,114,97,99,116,101,114,32,97,112,112,108,105,101,115,32,98,111,116,104,32,105,110,115,105,100,101,32,97,110,100,32,111,117,116,115,105,100,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,46>>]},{p,[],[<<70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32,121,111,117,32,119,97,110,116,32,116,111,32,109,97,116,99,104,32,97,32,42,32,99,104,97,114,97,99,116,101,114,44,32,121,111,117,32,119,114,105,116,101,32,92,42,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46,32,84,104,105,115,32,101,115,99,97,112,105,110,103,32,97,99,116,105,111,110,32,97,112,112,108,105,101,115,32,105,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,99,104,97,114,97,99,116,101,114,32,119,111,117,108,100,32,111,116,104,101,114,119,105,115,101,32,98,101,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,32,109,101,116,97,99,104,97,114,97,99,116,101,114,44,32,115,111,32,105,116,32,105,115,32,97,108,119,97,121,115,32,115,97,102,101,32,116,111,32,112,114,101,99,101,100,101,32,97,32,110,111,110,45,97,108,112,104,97,110,117,109,101,114,105,99,32,119,105,116,104,32,98,97,99,107,115,108,97,115,104,32,116,111,32,115,112,101,99,105,102,121,32,116,104,97,116,32,105,116,32,115,116,97,110,100,115,32,102,111,114,32,105,116,115,101,108,102,46,32,73,110,32,112,97,114,116,105,99,117,108,97,114,44,32,105,102,32,121,111,117,32,119,97,110,116,32,116,111,32,109,97,116,99,104,32,97,32,98,97,99,107,115,108,97,115,104,44,32,119,114,105,116,101,32,92,92,46>>]},{p,[],[<<73,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,109,111,100,101,44,32,111,110,108,121,32,65,83,67,73,73,32,110,117,109,98,101,114,115,32,97,110,100,32,108,101,116,116,101,114,115,32,104,97,118,101,32,97,110,121,32,115,112,101,99,105,97,108,32,109,101,97,110,105,110,103,32,97,102,116,101,114,32,97,32,98,97,99,107,115,108,97,115,104,46,32,65,108,108,32,111,116,104,101,114,32,99,104,97,114,97,99,116,101,114,115,32,40,105,110,32,112,97,114,116,105,99,117,108,97,114,44,32,116,104,111,115,101,32,119,104,111,115,101,32,99,111,100,101,32,112,111,105,110,116,115,32,97,114,101,32,62,32,49,50,55,41,32,97,114,101,32,116,114,101,97,116,101,100,32,97,115,32,108,105,116,101,114,97,108,115,46>>]},{p,[],[<<73,102,32,97,32,112,97,116,116,101,114,110,32,105,115,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]},<<44,32,119,104,105,116,101,115,112,97,99,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,40,111,116,104,101,114,32,116,104,97,110,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,41,32,97,110,100,32,99,104,97,114,97,99,116,101,114,115,32,98,101,116,119,101,101,110,32,97,32,35,32,111,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,97,110,100,32,116,104,101,32,110,101,120,116,32,110,101,119,108,105,110,101,32,97,114,101,32,105,103,110,111,114,101,100,46,32,65,110,32,101,115,99,97,112,105,110,103,32,98,97,99,107,115,108,97,115,104,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,105,110,99,108,117,100,101,32,97,32,119,104,105,116,101,115,112,97,99,101,32,111,114,32,35,32,99,104,97,114,97,99,116,101,114,32,97,115,32,112,97,114,116,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,46>>]},{p,[],[<<84,111,32,114,101,109,111,118,101,32,116,104,101,32,115,112,101,99,105,97,108,32,109,101,97,110,105,110,103,32,102,114,111,109,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,99,104,97,114,97,99,116,101,114,115,44,32,112,117,116,32,116,104,101,109,32,98,101,116,119,101,101,110,32,92,81,32,97,110,100,32,92,69,46,32,84,104,105,115,32,105,115,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,80,101,114,108,32,105,110,32,116,104,97,116,32,36,32,97,110,100,32,64,32,97,114,101,32,104,97,110,100,108,101,100,32,97,115,32,108,105,116,101,114,97,108,115,32,105,110,32,92,81,46,46,46,92,69,32,115,101,113,117,101,110,99,101,115,32,105,110,32,80,67,82,69,44,32,119,104,105,108,101,32,36,32,97,110,100,32,64,32,99,97,117,115,101,32,118,97,114,105,97,98,108,101,32,105,110,116,101,114,112,111,108,97,116,105,111,110,32,105,110,32,80,101,114,108,46,32,78,111,116,105,99,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<80,97,116,116,101,114,110,32,32,32,32,32,32,32,32,32,32,32,32,80,67,82,69,32,109,97,116,99,104,101,115,32,32,32,80,101,114,108,32,109,97,116,99,104,101,115,10,10,92,81,97,98,99,36,120,121,122,92,69,32,32,32,32,32,32,32,32,97,98,99,36,120,121,122,32,32,32,32,32,32,32,32,97,98,99,32,102,111,108,108,111,119,101,100,32,98,121,32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32,36,120,121,122,10,92,81,97,98,99,92,36,120,121,122,92,69,32,32,32,32,32,32,32,97,98,99,92,36,120,121,122,32,32,32,32,32,32,32,97,98,99,92,36,120,121,122,10,92,81,97,98,99,92,69,92,36,92,81,120,121,122,92,69,32,32,32,97,98,99,36,120,121,122,32,32,32,32,32,32,32,32,97,98,99,36,120,121,122>>]}]},{p,[],[<<84,104,101,32,92,81,46,46,46,92,69,32,115,101,113,117,101,110,99,101,32,105,115,32,114,101,99,111,103,110,105,122,101,100,32,98,111,116,104,32,105,110,115,105,100,101,32,97,110,100,32,111,117,116,115,105,100,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,46,32,65,110,32,105,115,111,108,97,116,101,100,32,92,69,32,116,104,97,116,32,105,115,32,110,111,116,32,112,114,101,99,101,100,101,100,32,98,121,32,92,81,32,105,115,32,105,103,110,111,114,101,100,46,32,73,102,32,92,81,32,105,115,32,110,111,116,32,102,111,108,108,111,119,101,100,32,98,121,32,92,69,32,108,97,116,101,114,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,44,32,116,104,101,32,108,105,116,101,114,97,108,32,105,110,116,101,114,112,114,101,116,97,116,105,111,110,32,99,111,110,116,105,110,117,101,115,32,116,111,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,40,116,104,97,116,32,105,115,44,32,92,69,32,105,115,32,97,115,115,117,109,101,100,32,97,116,32,116,104,101,32,101,110,100,41,46,32,73,102,32,116,104,101,32,105,115,111,108,97,116,101,100,32,92,81,32,105,115,32,105,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,116,104,105,115,32,99,97,117,115,101,115,32,97,110,32,101,114,114,111,114,44,32,97,115,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,105,115,32,110,111,116,32,116,101,114,109,105,110,97,116,101,100,46>>]},{p,[],[{em,[],[<<78,111,110,45,80,114,105,110,116,105,110,103,32,67,104,97,114,97,99,116,101,114,115>>]}]},{a,[{id,<<110,111,110,95,112,114,105,110,116,105,110,103,95,99,104,97,114,97,99,116,101,114,115>>}],[]},{p,[],[<<65,32,115,101,99,111,110,100,32,117,115,101,32,111,102,32,98,97,99,107,115,108,97,115,104,32,112,114,111,118,105,100,101,115,32,97,32,119,97,121,32,111,102,32,101,110,99,111,100,105,110,103,32,110,111,110,45,112,114,105,110,116,105,110,103,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,112,97,116,116,101,114,110,115,32,105,110,32,97,32,118,105,115,105,98,108,101,32,109,97,110,110,101,114,46,32,84,104,101,114,101,32,105,115,32,110,111,32,114,101,115,116,114,105,99,116,105,111,110,32,111,110,32,116,104,101,32,97,112,112,101,97,114,97,110,99,101,32,111,102,32,110,111,110,45,112,114,105,110,116,105,110,103,32,99,104,97,114,97,99,116,101,114,115,44,32,97,112,97,114,116,32,102,114,111,109,32,116,104,101,32,98,105,110,97,114,121,32,122,101,114,111,32,116,104,97,116,32,116,101,114,109,105,110,97,116,101,115,32,97,32,112,97,116,116,101,114,110,46,32,87,104,101,110,32,97,32,112,97,116,116,101,114,110,32,105,115,32,112,114,101,112,97,114,101,100,32,98,121,32,116,101,120,116,32,101,100,105,116,105,110,103,44,32,105,116,32,105,115,32,111,102,116,101,110,32,101,97,115,105,101,114,32,116,111,32,117,115,101,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,32,116,104,97,110,32,116,104,101,32,98,105,110,97,114,121,32,99,104,97,114,97,99,116,101,114,32,105,116,32,114,101,112,114,101,115,101,110,116,115,58>>]},{dl,[],[{dt,[],[<<92,97>>]},{dd,[],[<<65,108,97,114,109,44,32,116,104,97,116,32,105,115,44,32,116,104,101,32,66,69,76,32,99,104,97,114,97,99,116,101,114,32,40,104,101,120,32,48,55,41>>]},{dt,[],[<<92,99,120>>]},{dd,[],[<<34,67,111,110,116,114,111,108,45,120,34,44,32,119,104,101,114,101,32,120,32,105,115,32,97,110,121,32,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,101>>]},{dd,[],[<<69,115,99,97,112,101,32,40,104,101,120,32,49,66,41>>]},{dt,[],[<<92,102>>]},{dd,[],[<<70,111,114,109,32,102,101,101,100,32,40,104,101,120,32,48,67,41>>]},{dt,[],[<<92,110>>]},{dd,[],[<<76,105,110,101,32,102,101,101,100,32,40,104,101,120,32,48,65,41>>]},{dt,[],[<<92,114>>]},{dd,[],[<<67,97,114,114,105,97,103,101,32,114,101,116,117,114,110,32,40,104,101,120,32,48,68,41>>]},{dt,[],[<<92,116>>]},{dd,[],[<<84,97,98,32,40,104,101,120,32,48,57,41>>]},{dt,[],[<<92,48,100,100>>]},{dd,[],[<<67,104,97,114,97,99,116,101,114,32,119,105,116,104,32,111,99,116,97,108,32,99,111,100,101,32,48,100,100>>]},{dt,[],[<<92,100,100,100>>]},{dd,[],[<<67,104,97,114,97,99,116,101,114,32,119,105,116,104,32,111,99,116,97,108,32,99,111,100,101,32,100,100,100,44,32,111,114,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101>>]},{dt,[],[<<92,111,123,100,100,100,46,46,125>>]},{dd,[],[<<99,104,97,114,97,99,116,101,114,32,119,105,116,104,32,111,99,116,97,108,32,99,111,100,101,32,100,100,100,46,46>>]},{dt,[],[<<92,120,104,104>>]},{dd,[],[<<67,104,97,114,97,99,116,101,114,32,119,105,116,104,32,104,101,120,32,99,111,100,101,32,104,104>>]},{dt,[],[<<92,120,123,104,104,104,46,46,125>>]},{dd,[],[<<67,104,97,114,97,99,116,101,114,32,119,105,116,104,32,104,101,120,32,99,111,100,101,32,104,104,104,46,46>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<78,111,116,101,32,116,104,97,116,32,92,48,100,100,32,105,115,32,97,108,119,97,121,115,32,97,110,32,111,99,116,97,108,32,99,111,100,101,44,32,97,110,100,32,116,104,97,116,32,92,56,32,97,110,100,32,92,57,32,97,114,101,32,116,104,101,32,108,105,116,101,114,97,108,32,99,104,97,114,97,99,116,101,114,115,32,34,56,34,32,97,110,100,32,34,57,34,46>>]}]},{p,[],[<<84,104,101,32,112,114,101,99,105,115,101,32,101,102,102,101,99,116,32,111,102,32,92,99,120,32,111,110,32,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114,115,32,105,115,32,97,115,32,102,111,108,108,111,119,115,58,32,105,102,32,120,32,105,115,32,97,32,108,111,119,101,114,99,97,115,101,32,108,101,116,116,101,114,44,32,105,116,32,105,115,32,99,111,110,118,101,114,116,101,100,32,116,111,32,117,112,112,101,114,32,99,97,115,101,46,32,84,104,101,110,32,98,105,116,32,54,32,111,102,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,40,104,101,120,32,52,48,41,32,105,115,32,105,110,118,101,114,116,101,100,46,32,84,104,117,115,32,92,99,65,32,116,111,32,92,99,90,32,98,101,99,111,109,101,32,104,101,120,32,48,49,32,116,111,32,104,101,120,32,49,65,32,40,65,32,105,115,32,52,49,44,32,90,32,105,115,32,53,65,41,44,32,98,117,116,32,92,99,123,32,98,101,99,111,109,101,115,32,104,101,120,32,51,66,32,40,123,32,105,115,32,55,66,41,44,32,97,110,100,32,92,99,59,32,98,101,99,111,109,101,115,32,104,101,120,32,55,66,32,40,59,32,105,115,32,51,66,41,46,32,73,102,32,116,104,101,32,100,97,116,97,32,105,116,101,109,32,40,98,121,116,101,32,111,114,32,49,54,45,98,105,116,32,118,97,108,117,101,41,32,102,111,108,108,111,119,105,110,103,32,92,99,32,104,97,115,32,97,32,118,97,108,117,101,32,62,32,49,50,55,44,32,97,32,99,111,109,112,105,108,101,45,116,105,109,101,32,101,114,114,111,114,32,111,99,99,117,114,115,46,32,84,104,105,115,32,108,111,99,107,115,32,111,117,116,32,110,111,110,45,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,97,108,108,32,109,111,100,101,115,46>>]},{p,[],[<<84,104,101,32,92,99,32,102,97,99,105,108,105,116,121,32,119,97,115,32,100,101,115,105,103,110,101,100,32,102,111,114,32,117,115,101,32,119,105,116,104,32,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114,115,44,32,98,117,116,32,119,105,116,104,32,116,104,101,32,101,120,116,101,110,115,105,111,110,32,116,111,32,85,110,105,99,111,100,101,32,105,116,32,105,115,32,101,118,101,110,32,108,101,115,115,32,117,115,101,102,117,108,32,116,104,97,110,32,105,116,32,111,110,99,101,32,119,97,115,46>>]},{p,[],[<<65,102,116,101,114,32,92,48,32,117,112,32,116,111,32,116,119,111,32,102,117,114,116,104,101,114,32,111,99,116,97,108,32,100,105,103,105,116,115,32,97,114,101,32,114,101,97,100,46,32,73,102,32,116,104,101,114,101,32,97,114,101,32,102,101,119,101,114,32,116,104,97,110,32,116,119,111,32,100,105,103,105,116,115,44,32,106,117,115,116,32,116,104,111,115,101,32,116,104,97,116,32,97,114,101,32,112,114,101,115,101,110,116,32,97,114,101,32,117,115,101,100,46,32,84,104,117,115,32,116,104,101,32,115,101,113,117,101,110,99,101,32,92,48,92,120,92,48,49,53,32,115,112,101,99,105,102,105,101,115,32,116,119,111,32,98,105,110,97,114,121,32,122,101,114,111,115,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,67,82,32,99,104,97,114,97,99,116,101,114,32,40,99,111,100,101,32,118,97,108,117,101,32,49,51,41,46,32,77,97,107,101,32,115,117,114,101,32,121,111,117,32,115,117,112,112,108,121,32,116,119,111,32,100,105,103,105,116,115,32,97,102,116,101,114,32,116,104,101,32,105,110,105,116,105,97,108,32,122,101,114,111,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,102,111,108,108,111,119,115,32,105,115,32,105,116,115,101,108,102,32,97,110,32,111,99,116,97,108,32,100,105,103,105,116,46>>]},{p,[],[<<84,104,101,32,101,115,99,97,112,101,32,92,111,32,109,117,115,116,32,98,101,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,111,99,116,97,108,32,100,105,103,105,116,115,44,32,101,110,99,108,111,115,101,100,32,105,110,32,98,114,97,99,101,115,46,32,65,110,32,101,114,114,111,114,32,111,99,99,117,114,115,32,105,102,32,116,104,105,115,32,105,115,32,110,111,116,32,116,104,101,32,99,97,115,101,46,32,84,104,105,115,32,101,115,99,97,112,101,32,105,115,32,97,32,114,101,99,101,110,116,32,97,100,100,105,116,105,111,110,32,116,111,32,80,101,114,108,59,32,105,116,32,112,114,111,118,105,100,101,115,32,119,97,121,32,111,102,32,115,112,101,99,105,102,121,105,110,103,32,99,104,97,114,97,99,116,101,114,32,99,111,100,101,32,112,111,105,110,116,115,32,97,115,32,111,99,116,97,108,32,110,117,109,98,101,114,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,48,55,55,55,44,32,97,110,100,32,105,116,32,97,108,115,111,32,97,108,108,111,119,115,32,111,99,116,97,108,32,110,117,109,98,101,114,115,32,97,110,100,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,98,101,32,117,110,97,109,98,105,103,117,111,117,115,108,121,32,115,112,101,99,105,102,105,101,100,46>>]},{p,[],[<<70,111,114,32,103,114,101,97,116,101,114,32,99,108,97,114,105,116,121,32,97,110,100,32,117,110,97,109,98,105,103,117,105,116,121,44,32,105,116,32,105,115,32,98,101,115,116,32,116,111,32,97,118,111,105,100,32,102,111,108,108,111,119,105,110,103,32,92,32,98,121,32,97,32,100,105,103,105,116,32,103,114,101,97,116,101,114,32,116,104,97,110,32,122,101,114,111,46,32,73,110,115,116,101,97,100,44,32,117,115,101,32,92,111,123,125,32,111,114,32,92,120,123,125,32,116,111,32,115,112,101,99,105,102,121,32,99,104,97,114,97,99,116,101,114,32,110,117,109,98,101,114,115,44,32,97,110,100,32,92,103,123,125,32,116,111,32,115,112,101,99,105,102,121,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,115,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,114,97,103,114,97,112,104,115,32,100,101,115,99,114,105,98,101,32,116,104,101,32,111,108,100,44,32,97,109,98,105,103,117,111,117,115,32,115,121,110,116,97,120,46>>]},{p,[],[<<84,104,101,32,104,97,110,100,108,105,110,103,32,111,102,32,97,32,98,97,99,107,115,108,97,115,104,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,100,105,103,105,116,32,111,116,104,101,114,32,116,104,97,110,32,48,32,105,115,32,99,111,109,112,108,105,99,97,116,101,100,44,32,97,110,100,32,80,101,114,108,32,104,97,115,32,99,104,97,110,103,101,100,32,105,110,32,114,101,99,101,110,116,32,114,101,108,101,97,115,101,115,44,32,99,97,117,115,105,110,103,32,80,67,82,69,32,97,108,115,111,32,116,111,32,99,104,97,110,103,101,46,32,79,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,80,67,82,69,32,114,101,97,100,115,32,116,104,101,32,100,105,103,105,116,32,97,110,100,32,97,110,121,32,102,111,108,108,111,119,105,110,103,32,100,105,103,105,116,115,32,97,115,32,97,32,100,101,99,105,109,97,108,32,110,117,109,98,101,114,46,32,73,102,32,116,104,101,32,110,117,109,98,101,114,32,105,115,32,60,32,56,44,32,111,114,32,105,102,32,116,104,101,114,101,32,104,97,118,101,32,98,101,101,110,32,97,116,32,108,101,97,115,116,32,116,104,97,116,32,109,97,110,121,32,112,114,101,118,105,111,117,115,32,99,97,112,116,117,114,105,110,103,32,108,101,102,116,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,116,104,101,32,101,120,112,114,101,115,115,105,111,110,44,32,116,104,101,32,101,110,116,105,114,101,32,115,101,113,117,101,110,99,101,32,105,115,32,116,97,107,101,110,32,97,115,32,97,32>>,{em,[],[<<98,97,99,107,32,114,101,102,101,114,101,110,99,101>>]},<<46,32,65,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,32,104,111,119,32,116,104,105,115,32,119,111,114,107,115,32,105,115,32,112,114,111,118,105,100,101,100,32,108,97,116,101,114,44,32,102,111,108,108,111,119,105,110,103,32,116,104,101,32,100,105,115,99,117,115,115,105,111,110,32,111,102,32,112,97,114,101,110,116,104,101,115,105,122,101,100,32,115,117,98,112,97,116,116,101,114,110,115,46>>]},{p,[],[<<73,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,111,114,32,105,102,32,116,104,101,32,100,101,99,105,109,97,108,32,110,117,109,98,101,114,32,102,111,108,108,111,119,105,110,103,32,92,32,105,115,32,62,32,55,32,97,110,100,32,116,104,101,114,101,32,104,97,118,101,32,110,111,116,32,98,101,101,110,32,116,104,97,116,32,109,97,110,121,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,44,32,80,67,82,69,32,104,97,110,100,108,101,115,32,92,56,32,97,110,100,32,92,57,32,97,115,32,116,104,101,32,108,105,116,101,114,97,108,32,99,104,97,114,97,99,116,101,114,115,32,34,56,34,32,97,110,100,32,34,57,34,44,32,97,110,100,32,111,116,104,101,114,119,105,115,101,32,114,101,45,114,101,97,100,115,32,117,112,32,116,111,32,116,104,114,101,101,32,111,99,116,97,108,32,100,105,103,105,116,115,32,102,111,108,108,111,119,105,110,103,32,116,104,101,32,98,97,99,107,115,108,97,115,104,44,32,97,110,100,32,117,115,105,110,103,32,116,104,101,109,32,116,111,32,103,101,110,101,114,97,116,101,32,97,32,100,97,116,97,32,99,104,97,114,97,99,116,101,114,46,32,65,110,121,32,115,117,98,115,101,113,117,101,110,116,32,100,105,103,105,116,115,32,115,116,97,110,100,32,102,111,114,32,116,104,101,109,115,101,108,118,101,115,46,32,70,111,114,32,101,120,97,109,112,108,101,58>>]},{dl,[],[{dt,[],[<<92,48,52,48>>]},{dd,[],[<<65,110,111,116,104,101,114,32,119,97,121,32,111,102,32,119,114,105,116,105,110,103,32,97,110,32,65,83,67,73,73,32,115,112,97,99,101>>]},{dt,[],[<<92,52,48>>]},{dd,[],[<<84,104,101,32,115,97,109,101,44,32,112,114,111,118,105,100,101,100,32,116,104,101,114,101,32,97,114,101,32,60,32,52,48,32,112,114,101,118,105,111,117,115,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115>>]},{dt,[],[<<92,55>>]},{dd,[],[<<65,108,119,97,121,115,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101>>]},{dt,[],[<<92,49,49>>]},{dd,[],[<<67,97,110,32,98,101,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,44,32,111,114,32,97,110,111,116,104,101,114,32,119,97,121,32,111,102,32,119,114,105,116,105,110,103,32,97,32,116,97,98>>]},{dt,[],[<<92,48,49,49>>]},{dd,[],[<<65,108,119,97,121,115,32,97,32,116,97,98>>]},{dt,[],[<<92,48,49,49,51>>]},{dd,[],[<<65,32,116,97,98,32,102,111,108,108,111,119,101,100,32,98,121,32,99,104,97,114,97,99,116,101,114,32,34,51,34>>]},{dt,[],[<<92,49,49,51>>]},{dd,[],[<<67,97,110,32,98,101,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,119,105,116,104,32,111,99,116,97,108,32,99,111,100,101,32,49,49,51>>]},{dt,[],[<<92,51,55,55>>]},{dd,[],[<<67,97,110,32,98,101,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,44,32,111,116,104,101,114,119,105,115,101,32,118,97,108,117,101,32,50,53,53,32,40,100,101,99,105,109,97,108,41>>]},{dt,[],[<<92,56,49>>]},{dd,[],[<<69,105,116,104,101,114,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,44,32,111,114,32,116,104,101,32,116,119,111,32,99,104,97,114,97,99,116,101,114,115,32,34,56,34,32,97,110,100,32,34,49,34>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,111,99,116,97,108,32,118,97,108,117,101,115,32,62,61,32,49,48,48,32,116,104,97,116,32,97,114,101,32,115,112,101,99,105,102,105,101,100,32,117,115,105,110,103,32,116,104,105,115,32,115,121,110,116,97,120,32,109,117,115,116,32,110,111,116,32,98,101,32,105,110,116,114,111,100,117,99,101,100,32,98,121,32,97,32,108,101,97,100,105,110,103,32,122,101,114,111,44,32,97,115,32,110,111,32,109,111,114,101,32,116,104,97,110,32,116,104,114,101,101,32,111,99,116,97,108,32,100,105,103,105,116,115,32,97,114,101,32,101,118,101,114,32,114,101,97,100,46>>]},{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,97,102,116,101,114,32,92,120,32,116,104,97,116,32,105,115,32,110,111,116,32,102,111,108,108,111,119,101,100,32,98,121,32,123,44,32,102,114,111,109,32,122,101,114,111,32,116,111,32,116,119,111,32,104,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,115,32,97,114,101,32,114,101,97,100,32,40,108,101,116,116,101,114,115,32,99,97,110,32,98,101,32,105,110,32,117,112,112,101,114,32,111,114,32,108,111,119,101,114,32,99,97,115,101,41,46,32,65,110,121,32,110,117,109,98,101,114,32,111,102,32,104,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,115,32,109,97,121,32,97,112,112,101,97,114,32,98,101,116,119,101,101,110,32,92,120,123,32,97,110,100,32,125,46,32,73,102,32,97,32,99,104,97,114,97,99,116,101,114,32,111,116,104,101,114,32,116,104,97,110,32,97,32,104,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,32,97,112,112,101,97,114,115,32,98,101,116,119,101,101,110,32,92,120,123,32,97,110,100,32,125,44,32,111,114,32,105,102,32,116,104,101,114,101,32,105,115,32,110,111,32,116,101,114,109,105,110,97,116,105,110,103,32,125,44,32,97,110,32,101,114,114,111,114,32,111,99,99,117,114,115,46>>]},{p,[],[<<67,104,97,114,97,99,116,101,114,115,32,119,104,111,115,101,32,118,97,108,117,101,32,105,115,32,108,101,115,115,32,116,104,97,110,32,50,53,54,32,99,97,110,32,98,101,32,100,101,102,105,110,101,100,32,98,121,32,101,105,116,104,101,114,32,111,102,32,116,104,101,32,116,119,111,32,115,121,110,116,97,120,101,115,32,102,111,114,32,92,120,46,32,84,104,101,114,101,32,105,115,32,110,111,32,100,105,102,102,101,114,101,110,99,101,32,105,110,32,116,104,101,32,119,97,121,32,116,104,101,121,32,97,114,101,32,104,97,110,100,108,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,92,120,100,99,32,105,115,32,101,120,97,99,116,108,121,32,116,104,101,32,115,97,109,101,32,97,115,32,92,120,123,100,99,125,46>>]},{p,[],[{em,[],[<<67,111,110,115,116,114,97,105,110,116,115,32,111,110,32,99,104,97,114,97,99,116,101,114,32,118,97,108,117,101,115>>]}]},{p,[],[<<67,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,115,112,101,99,105,102,105,101,100,32,117,115,105,110,103,32,111,99,116,97,108,32,111,114,32,104,101,120,97,100,101,99,105,109,97,108,32,110,117,109,98,101,114,115,32,97,114,101,32,108,105,109,105,116,101,100,32,116,111,32,99,101,114,116,97,105,110,32,118,97,108,117,101,115,44,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[<<56,45,98,105,116,32,110,111,110,45,85,84,70,32,109,111,100,101>>]},{dd,[],[{p,[],[<<60,32,48,120,49,48,48>>]}]},{dt,[],[<<56,45,98,105,116,32,85,84,70,45,56,32,109,111,100,101>>]},{dd,[],[{p,[],[<<60,32,48,120,49,48,102,102,102,102,32,97,110,100,32,97,32,118,97,108,105,100,32,99,111,100,101,112,111,105,110,116>>]}]}]},{p,[],[<<73,110,118,97,108,105,100,32,85,110,105,99,111,100,101,32,99,111,100,101,112,111,105,110,116,115,32,97,114,101,32,116,104,101,32,114,97,110,103,101,32,48,120,100,56,48,48,32,116,111,32,48,120,100,102,102,102,32,40,116,104,101,32,115,111,45,99,97,108,108,101,100,32,34,115,117,114,114,111,103,97,116,101,34,32,99,111,100,101,112,111,105,110,116,115,41,44,32,97,110,100,32,48,120,102,102,101,102,46>>]},{p,[],[{em,[],[<<69,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,32,105,110,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115>>]}]},{p,[],[<<65,108,108,32,116,104,101,32,115,101,113,117,101,110,99,101,115,32,116,104,97,116,32,100,101,102,105,110,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,118,97,108,117,101,32,99,97,110,32,98,101,32,117,115,101,100,32,98,111,116,104,32,105,110,115,105,100,101,32,97,110,100,32,111,117,116,115,105,100,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,46,32,65,108,115,111,44,32,105,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,92,98,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,116,104,101,32,98,97,99,107,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,32,40,104,101,120,32,48,56,41,46>>]},{p,[],[<<92,78,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,46,32,92,66,44,32,92,82,44,32,97,110,100,32,92,88,32,97,114,101,32,110,111,116,32,115,112,101,99,105,97,108,32,105,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,46,32,76,105,107,101,32,111,116,104,101,114,32,117,110,114,101,99,111,103,110,105,122,101,100,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,44,32,116,104,101,121,32,97,114,101,32,116,114,101,97,116,101,100,32,97,115,32,116,104,101,32,108,105,116,101,114,97,108,32,99,104,97,114,97,99,116,101,114,115,32,34,66,34,44,32,34,82,34,44,32,97,110,100,32,34,88,34,46,32,79,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,116,104,101,115,101,32,115,101,113,117,101,110,99,101,115,32,104,97,118,101,32,100,105,102,102,101,114,101,110,116,32,109,101,97,110,105,110,103,115,46>>]},{p,[],[{em,[],[<<85,110,115,117,112,112,111,114,116,101,100,32,69,115,99,97,112,101,32,83,101,113,117,101,110,99,101,115>>]}]},{p,[],[<<73,110,32,80,101,114,108,44,32,116,104,101,32,115,101,113,117,101,110,99,101,115,32,92,108,44,32,92,76,44,32,92,117,44,32,97,110,100,32,92,85,32,97,114,101,32,114,101,99,111,103,110,105,122,101,100,32,98,121,32,105,116,115,32,115,116,114,105,110,103,32,104,97,110,100,108,101,114,32,97,110,100,32,117,115,101,100,32,116,111,32,109,111,100,105,102,121,32,116,104,101,32,99,97,115,101,32,111,102,32,102,111,108,108,111,119,105,110,103,32,99,104,97,114,97,99,116,101,114,115,46,32,80,67,82,69,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,116,104,101,115,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,46>>]},{p,[],[{em,[],[<<65,98,115,111,108,117,116,101,32,97,110,100,32,82,101,108,97,116,105,118,101,32,66,97,99,107,32,82,101,102,101,114,101,110,99,101,115>>]}]},{p,[],[<<84,104,101,32,115,101,113,117,101,110,99,101,32,92,103,32,102,111,108,108,111,119,101,100,32,98,121,32,97,110,32,117,110,115,105,103,110,101,100,32,111,114,32,97,32,110,101,103,97,116,105,118,101,32,110,117,109,98,101,114,44,32,111,112,116,105,111,110,97,108,108,121,32,101,110,99,108,111,115,101,100,32,105,110,32,98,114,97,99,101,115,44,32,105,115,32,97,110,32,97,98,115,111,108,117,116,101,32,111,114,32,114,101,108,97,116,105,118,101,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,46,32,65,32,110,97,109,101,100,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,99,97,110,32,98,101,32,99,111,100,101,100,32,97,115,32,92,103,123,110,97,109,101,125,46,32,66,97,99,107,32,114,101,102,101,114,101,110,99,101,115,32,97,114,101,32,100,105,115,99,117,115,115,101,100,32,108,97,116,101,114,44,32,102,111,108,108,111,119,105,110,103,32,116,104,101,32,100,105,115,99,117,115,115,105,111,110,32,111,102,32,112,97,114,101,110,116,104,101,115,105,122,101,100,32,115,117,98,112,97,116,116,101,114,110,115,46>>]},{p,[],[{em,[],[<<65,98,115,111,108,117,116,101,32,97,110,100,32,82,101,108,97,116,105,118,101,32,83,117,98,114,111,117,116,105,110,101,32,67,97,108,108,115>>]}]},{p,[],[<<70,111,114,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,119,105,116,104,32,79,110,105,103,117,114,117,109,97,44,32,116,104,101,32,110,111,110,45,80,101,114,108,32,115,121,110,116,97,120,32,92,103,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,97,109,101,32,111,114,32,97,32,110,117,109,98,101,114,32,101,110,99,108,111,115,101,100,32,101,105,116,104,101,114,32,105,110,32,97,110,103,108,101,32,98,114,97,99,107,101,116,115,32,111,114,32,115,105,110,103,108,101,32,113,117,111,116,101,115,44,32,105,115,32,97,108,116,101,114,110,97,116,105,118,101,32,115,121,110,116,97,120,32,102,111,114,32,114,101,102,101,114,101,110,99,105,110,103,32,97,32,115,117,98,112,97,116,116,101,114,110,32,97,115,32,97,32,34,115,117,98,114,111,117,116,105,110,101,34,46,32,68,101,116,97,105,108,115,32,97,114,101,32,100,105,115,99,117,115,115,101,100,32,108,97,116,101,114,46,32,78,111,116,105,99,101,32,116,104,97,116,32,92,103,123,46,46,46,125,32,40,80,101,114,108,32,115,121,110,116,97,120,41,32,97,110,100,32,92,103,60,46,46,46,62,32,40,79,110,105,103,117,114,117,109,97,32,115,121,110,116,97,120,41,32,97,114,101,32>>,{em,[],[<<110,111,116>>]},<<32,115,121,110,111,110,121,109,111,117,115,46,32,84,104,101,32,102,111,114,109,101,114,32,105,115,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,97,110,100,32,116,104,101,32,108,97,116,116,101,114,32,105,115,32,97,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,46>>]},{p,[],[{em,[],[<<71,101,110,101,114,105,99,32,67,104,97,114,97,99,116,101,114,32,84,121,112,101,115>>]}]},{a,[{id,<<103,101,110,101,114,105,99,95,99,104,97,114,97,99,116,101,114,95,116,121,112,101,115>>}],[]},{p,[],[<<65,110,111,116,104,101,114,32,117,115,101,32,111,102,32,98,97,99,107,115,108,97,115,104,32,105,115,32,102,111,114,32,115,112,101,99,105,102,121,105,110,103,32,103,101,110,101,114,105,99,32,99,104,97,114,97,99,116,101,114,32,116,121,112,101,115,58>>]},{dl,[],[{dt,[],[<<92,100>>]},{dd,[],[<<65,110,121,32,100,101,99,105,109,97,108,32,100,105,103,105,116>>]},{dt,[],[<<92,68>>]},{dd,[],[<<65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,110,111,116,32,97,32,100,101,99,105,109,97,108,32,100,105,103,105,116>>]},{dt,[],[<<92,104>>]},{dd,[],[<<65,110,121,32,104,111,114,105,122,111,110,116,97,108,32,119,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,72>>]},{dd,[],[<<65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,110,111,116,32,97,32,104,111,114,105,122,111,110,116,97,108,32,119,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,115>>]},{dd,[],[<<65,110,121,32,119,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,83>>]},{dd,[],[<<65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,110,111,116,32,97,32,119,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,118>>]},{dd,[],[<<65,110,121,32,118,101,114,116,105,99,97,108,32,119,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,86>>]},{dd,[],[<<65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,110,111,116,32,97,32,118,101,114,116,105,99,97,108,32,119,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,119>>]},{dd,[],[<<65,110,121,32,34,119,111,114,100,34,32,99,104,97,114,97,99,116,101,114>>]},{dt,[],[<<92,87>>]},{dd,[],[<<65,110,121,32,34,110,111,110,45,119,111,114,100,34,32,99,104,97,114,97,99,116,101,114>>]}]},{p,[],[<<84,104,101,114,101,32,105,115,32,97,108,115,111,32,116,104,101,32,115,105,110,103,108,101,32,115,101,113,117,101,110,99,101,32,92,78,44,32,119,104,105,99,104,32,109,97,116,99,104,101,115,32,97,32,110,111,110,45,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,46,32,84,104,105,115,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,34,46,34,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,119,104,101,110,32>>,{code,[],[<<100,111,116,97,108,108>>]},<<32,105,115,32,110,111,116,32,115,101,116,46,32,80,101,114,108,32,97,108,115,111,32,117,115,101,115,32,92,78,32,116,111,32,109,97,116,99,104,32,99,104,97,114,97,99,116,101,114,115,32,98,121,32,110,97,109,101,44,32,98,117,116,32,80,67,82,69,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,116,104,105,115,46>>]},{p,[],[<<69,97,99,104,32,112,97,105,114,32,111,102,32,108,111,119,101,114,99,97,115,101,32,97,110,100,32,117,112,112,101,114,99,97,115,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,32,112,97,114,116,105,116,105,111,110,115,32,116,104,101,32,99,111,109,112,108,101,116,101,32,115,101,116,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,105,110,116,111,32,116,119,111,32,100,105,115,106,111,105,110,116,32,115,101,116,115,46,32,65,110,121,32,103,105,118,101,110,32,99,104,97,114,97,99,116,101,114,32,109,97,116,99,104,101,115,32,111,110,101,44,32,97,110,100,32,111,110,108,121,32,111,110,101,44,32,111,102,32,101,97,99,104,32,112,97,105,114,46,32,84,104,101,32,115,101,113,117,101,110,99,101,115,32,99,97,110,32,97,112,112,101,97,114,32,98,111,116,104,32,105,110,115,105,100,101,32,97,110,100,32,111,117,116,115,105,100,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,46,32,84,104,101,121,32,101,97,99,104,32,109,97,116,99,104,32,111,110,101,32,99,104,97,114,97,99,116,101,114,32,111,102,32,116,104,101,32,97,112,112,114,111,112,114,105,97,116,101,32,116,121,112,101,46,32,73,102,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,116,99,104,105,110,103,32,112,111,105,110,116,32,105,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,97,108,108,32,102,97,105,108,44,32,97,115,32,116,104,101,114,101,32,105,115,32,110,111,32,99,104,97,114,97,99,116,101,114,32,116,111,32,109,97,116,99,104,46>>]},{p,[],[<<70,111,114,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,119,105,116,104,32,80,101,114,108,44,32,92,115,32,100,105,100,32,110,111,116,32,117,115,101,100,32,116,111,32,109,97,116,99,104,32,116,104,101,32,86,84,32,99,104,97,114,97,99,116,101,114,32,40,99,111,100,101,32,49,49,41,44,32,119,104,105,99,104,32,109,97,100,101,32,105,116,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,116,104,101,32,116,104,101,32,80,79,83,73,88,32,34,115,112,97,99,101,34,32,99,108,97,115,115,46,32,72,111,119,101,118,101,114,44,32,80,101,114,108,32,97,100,100,101,100,32,86,84,32,97,116,32,114,101,108,101,97,115,101,32,53,46,49,56,44,32,97,110,100,32,80,67,82,69,32,102,111,108,108,111,119,101,100,32,115,117,105,116,32,97,116,32,114,101,108,101,97,115,101,32,56,46,51,52,46,32,84,104,101,32,100,101,102,97,117,108,116,32,92,115,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,110,111,119,32,72,84,32,40,57,41,44,32,76,70,32,40,49,48,41,44,32,86,84,32,40,49,49,41,44,32,70,70,32,40,49,50,41,44,32,67,82,32,40,49,51,41,44,32,97,110,100,32,115,112,97,99,101,32,40,51,50,41,44,32,119,104,105,99,104,32,97,114,101,32,100,101,102,105,110,101,100,32,97,115,32,119,104,105,116,101,32,115,112,97,99,101,32,105,110,32,116,104,101,32,34,67,34,32,108,111,99,97,108,101,46,32,84,104,105,115,32,108,105,115,116,32,109,97,121,32,118,97,114,121,32,105,102,32,108,111,99,97,108,101,45,115,112,101,99,105,102,105,99,32,109,97,116,99,104,105,110,103,32,105,115,32,116,97,107,105,110,103,32,112,108,97,99,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,110,32,115,111,109,101,32,108,111,99,97,108,101,115,32,116,104,101,32,34,110,111,110,45,98,114,101,97,107,105,110,103,32,115,112,97,99,101,34,32,99,104,97,114,97,99,116,101,114,32,40,92,120,65,48,41,32,105,115,32,114,101,99,111,103,110,105,122,101,100,32,97,115,32,119,104,105,116,101,32,115,112,97,99,101,44,32,97,110,100,32,105,110,32,111,116,104,101,114,115,32,116,104,101,32,86,84,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,46>>]},{p,[],[<<65,32,34,119,111,114,100,34,32,99,104,97,114,97,99,116,101,114,32,105,115,32,97,110,32,117,110,100,101,114,115,99,111,114,101,32,111,114,32,97,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,97,32,108,101,116,116,101,114,32,111,114,32,97,32,100,105,103,105,116,46,32,66,121,32,100,101,102,97,117,108,116,44,32,116,104,101,32,100,101,102,105,110,105,116,105,111,110,32,111,102,32,108,101,116,116,101,114,115,32,97,110,100,32,100,105,103,105,116,115,32,105,115,32,99,111,110,116,114,111,108,108,101,100,32,98,121,32,116,104,101,32,80,67,82,69,32,108,111,119,45,118,97,108,117,101,100,32,99,104,97,114,97,99,116,101,114,32,116,97,98,108,101,115,44,32,105,110,32,69,114,108,97,110,103,39,115,32,99,97,115,101,32,40,97,110,100,32,119,105,116,104,111,117,116,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<41,44,32,116,104,101,32,73,83,79,32,76,97,116,105,110,45,49,32,99,104,97,114,97,99,116,101,114,32,115,101,116,46>>]},{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,105,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,109,111,100,101,44,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,118,97,108,117,101,115,32,62,32,50,53,53,44,32,116,104,97,116,32,105,115,44,32,97,108,108,32,99,104,97,114,97,99,116,101,114,115,32,111,117,116,115,105,100,101,32,116,104,101,32,73,83,79,32,76,97,116,105,110,45,49,32,99,104,97,114,97,99,116,101,114,32,115,101,116,44,32,110,101,118,101,114,32,109,97,116,99,104,32,92,100,44,32,92,115,44,32,111,114,32,92,119,44,32,97,110,100,32,97,108,119,97,121,115,32,109,97,116,99,104,32,92,68,44,32,92,83,44,32,97,110,100,32,92,87,46,32,84,104,101,115,101,32,115,101,113,117,101,110,99,101,115,32,114,101,116,97,105,110,32,116,104,101,105,114,32,111,114,105,103,105,110,97,108,32,109,101,97,110,105,110,103,115,32,102,114,111,109,32,98,101,102,111,114,101,32,85,84,70,32,115,117,112,112,111,114,116,32,119,97,115,32,97,118,97,105,108,97,98,108,101,44,32,109,97,105,110,108,121,32,102,111,114,32,101,102,102,105,99,105,101,110,99,121,32,114,101,97,115,111,110,115,46,32,72,111,119,101,118,101,114,44,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<117,99,112>>]},<<32,105,115,32,115,101,116,44,32,116,104,101,32,98,101,104,97,118,105,111,114,32,105,115,32,99,104,97,110,103,101,100,32,115,111,32,116,104,97,116,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,105,101,115,32,97,114,101,32,117,115,101,100,32,116,111,32,100,101,116,101,114,109,105,110,101,32,99,104,97,114,97,99,116,101,114,32,116,121,112,101,115,44,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[<<92,100>>]},{dd,[],[<<65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,92,112,123,78,100,125,32,109,97,116,99,104,101,115,32,40,100,101,99,105,109,97,108,32,100,105,103,105,116,41>>]},{dt,[],[<<92,115>>]},{dd,[],[<<65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,92,112,123,90,125,32,111,114,32,92,104,32,111,114,32,92,118>>]},{dt,[],[<<92,119>>]},{dd,[],[<<65,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,109,97,116,99,104,101,115,32,92,112,123,76,125,32,111,114,32,92,112,123,78,125,32,109,97,116,99,104,101,115,44,32,112,108,117,115,32,117,110,100,101,114,115,99,111,114,101>>]}]},{p,[],[<<84,104,101,32,117,112,112,101,114,99,97,115,101,32,101,115,99,97,112,101,115,32,109,97,116,99,104,32,116,104,101,32,105,110,118,101,114,115,101,32,115,101,116,115,32,111,102,32,99,104,97,114,97,99,116,101,114,115,46,32,78,111,116,105,99,101,32,116,104,97,116,32,92,100,32,109,97,116,99,104,101,115,32,111,110,108,121,32,100,101,99,105,109,97,108,32,100,105,103,105,116,115,44,32,119,104,105,108,101,32,92,119,32,109,97,116,99,104,101,115,32,97,110,121,32,85,110,105,99,111,100,101,32,100,105,103,105,116,44,32,97,110,121,32,85,110,105,99,111,100,101,32,108,101,116,116,101,114,44,32,97,110,100,32,117,110,100,101,114,115,99,111,114,101,46,32,78,111,116,105,99,101,32,97,108,115,111,32,116,104,97,116,32>>,{code,[],[<<117,99,112>>]},<<32,97,102,102,101,99,116,115,32,92,98,32,97,110,100,32,92,66,44,32,97,115,32,116,104,101,121,32,97,114,101,32,100,101,102,105,110,101,100,32,105,110,32,116,101,114,109,115,32,111,102,32,92,119,32,97,110,100,32,92,87,46,32,77,97,116,99,104,105,110,103,32,116,104,101,115,101,32,115,101,113,117,101,110,99,101,115,32,105,115,32,110,111,116,105,99,101,97,98,108,121,32,115,108,111,119,101,114,32,119,104,101,110,32>>,{code,[],[<<117,99,112>>]},<<32,105,115,32,115,101,116,46>>]},{p,[],[<<84,104,101,32,115,101,113,117,101,110,99,101,115,32,92,104,44,32,92,72,44,32,92,118,44,32,97,110,100,32,92,86,32,97,114,101,32,102,101,97,116,117,114,101,115,32,116,104,97,116,32,119,101,114,101,32,97,100,100,101,100,32,116,111,32,80,101,114,108,32,105,110,32,114,101,108,101,97,115,101,32,53,46,49,48,46,32,73,110,32,99,111,110,116,114,97,115,116,32,116,111,32,116,104,101,32,111,116,104,101,114,32,115,101,113,117,101,110,99,101,115,44,32,119,104,105,99,104,32,109,97,116,99,104,32,111,110,108,121,32,65,83,67,73,73,32,99,104,97,114,97,99,116,101,114,115,32,98,121,32,100,101,102,97,117,108,116,44,32,116,104,101,115,101,32,97,108,119,97,121,115,32,109,97,116,99,104,32,99,101,114,116,97,105,110,32,104,105,103,104,45,118,97,108,117,101,100,32,99,111,100,101,32,112,111,105,110,116,115,44,32,114,101,103,97,114,100,108,101,115,115,32,105,102,32>>,{code,[],[<<117,99,112>>]},<<32,105,115,32,115,101,116,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,104,111,114,105,122,111,110,116,97,108,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,115,58>>]},{dl,[],[{dt,[],[<<85,43,48,48,48,57>>]},{dd,[],[<<72,111,114,105,122,111,110,116,97,108,32,116,97,98,32,40,72,84,41>>]},{dt,[],[<<85,43,48,48,50,48>>]},{dd,[],[<<83,112,97,99,101>>]},{dt,[],[<<85,43,48,48,65,48>>]},{dd,[],[<<78,111,110,45,98,114,101,97,107,32,115,112,97,99,101>>]},{dt,[],[<<85,43,49,54,56,48>>]},{dd,[],[<<79,103,104,97,109,32,115,112,97,99,101,32,109,97,114,107>>]},{dt,[],[<<85,43,49,56,48,69>>]},{dd,[],[<<77,111,110,103,111,108,105,97,110,32,118,111,119,101,108,32,115,101,112,97,114,97,116,111,114>>]},{dt,[],[<<85,43,50,48,48,48>>]},{dd,[],[<<69,110,32,113,117,97,100>>]},{dt,[],[<<85,43,50,48,48,49>>]},{dd,[],[<<69,109,32,113,117,97,100>>]},{dt,[],[<<85,43,50,48,48,50>>]},{dd,[],[<<69,110,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,51>>]},{dd,[],[<<69,109,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,52>>]},{dd,[],[<<84,104,114,101,101,45,112,101,114,45,101,109,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,53>>]},{dd,[],[<<70,111,117,114,45,112,101,114,45,101,109,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,54>>]},{dd,[],[<<83,105,120,45,112,101,114,45,101,109,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,55>>]},{dd,[],[<<70,105,103,117,114,101,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,56>>]},{dd,[],[<<80,117,110,99,116,117,97,116,105,111,110,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,57>>]},{dd,[],[<<84,104,105,110,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,48,65>>]},{dd,[],[<<72,97,105,114,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,50,70>>]},{dd,[],[<<78,97,114,114,111,119,32,110,111,45,98,114,101,97,107,32,115,112,97,99,101>>]},{dt,[],[<<85,43,50,48,53,70>>]},{dd,[],[<<77,101,100,105,117,109,32,109,97,116,104,101,109,97,116,105,99,97,108,32,115,112,97,99,101>>]},{dt,[],[<<85,43,51,48,48,48>>]},{dd,[],[<<73,100,101,111,103,114,97,112,104,105,99,32,115,112,97,99,101>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,118,101,114,116,105,99,97,108,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,115,58>>]},{dl,[],[{dt,[],[<<85,43,48,48,48,65>>]},{dd,[],[<<76,105,110,101,32,102,101,101,100,32,40,76,70,41>>]},{dt,[],[<<85,43,48,48,48,66>>]},{dd,[],[<<86,101,114,116,105,99,97,108,32,116,97,98,32,40,86,84,41>>]},{dt,[],[<<85,43,48,48,48,67>>]},{dd,[],[<<70,111,114,109,32,102,101,101,100,32,40,70,70,41>>]},{dt,[],[<<85,43,48,48,48,68>>]},{dd,[],[<<67,97,114,114,105,97,103,101,32,114,101,116,117,114,110,32,40,67,82,41>>]},{dt,[],[<<85,43,48,48,56,53>>]},{dd,[],[<<78,101,120,116,32,108,105,110,101,32,40,78,69,76,41>>]},{dt,[],[<<85,43,50,48,50,56>>]},{dd,[],[<<76,105,110,101,32,115,101,112,97,114,97,116,111,114>>]},{dt,[],[<<85,43,50,48,50,57>>]},{dd,[],[<<80,97,114,97,103,114,97,112,104,32,115,101,112,97,114,97,116,111,114>>]}]},{p,[],[<<73,110,32,56,45,98,105,116,44,32,110,111,110,45,85,84,70,45,56,32,109,111,100,101,44,32,111,110,108,121,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,99,111,100,101,32,112,111,105,110,116,115,32,60,32,50,53,54,32,97,114,101,32,114,101,108,101,118,97,110,116,46>>]},{p,[],[{em,[],[<<78,101,119,108,105,110,101,32,83,101,113,117,101,110,99,101,115>>]}]},{a,[{id,<<110,101,119,108,105,110,101,95,115,101,113,117,101,110,99,101,115>>}],[]},{p,[],[<<79,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,98,121,32,100,101,102,97,117,108,116,44,32,116,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,92,82,32,109,97,116,99,104,101,115,32,97,110,121,32,85,110,105,99,111,100,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,46,32,73,110,32,110,111,110,45,85,84,70,45,56,32,109,111,100,101,44,32,92,82,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{pre,[],[{code,[],[<<40,63,62,92,114,92,110,124,92,110,124,92,120,48,98,124,92,102,124,92,114,124,92,120,56,53,41>>]}]},{p,[],[<<84,104,105,115,32,105,115,32,97,110,32,101,120,97,109,112,108,101,32,111,102,32,97,110,32,34,97,116,111,109,105,99,32,103,114,111,117,112,34,44,32,100,101,116,97,105,108,115,32,97,114,101,32,112,114,111,118,105,100,101,100,32,98,101,108,111,119,46>>]},{p,[],[<<84,104,105,115,32,112,97,114,116,105,99,117,108,97,114,32,103,114,111,117,112,32,109,97,116,99,104,101,115,32,101,105,116,104,101,114,32,116,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,32,67,82,32,102,111,108,108,111,119,101,100,32,98,121,32,76,70,44,32,111,114,32,111,110,101,32,111,102,32,116,104,101,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,115,32,76,70,32,40,108,105,110,101,32,102,101,101,100,44,32,85,43,48,48,48,65,41,44,32,86,84,32,40,118,101,114,116,105,99,97,108,32,116,97,98,44,32,85,43,48,48,48,66,41,44,32,70,70,32,40,102,111,114,109,32,102,101,101,100,44,32,85,43,48,48,48,67,41,44,32,67,82,32,40,99,97,114,114,105,97,103,101,32,114,101,116,117,114,110,44,32,85,43,48,48,48,68,41,44,32,111,114,32,78,69,76,32,40,110,101,120,116,32,108,105,110,101,44,32,85,43,48,48,56,53,41,46,32,84,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,32,105,115,32,116,114,101,97,116,101,100,32,97,115,32,97,32,115,105,110,103,108,101,32,117,110,105,116,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,115,112,108,105,116,46>>]},{p,[],[<<73,110,32,85,110,105,99,111,100,101,32,109,111,100,101,44,32,116,119,111,32,109,111,114,101,32,99,104,97,114,97,99,116,101,114,115,32,119,104,111,115,101,32,99,111,100,101,32,112,111,105,110,116,115,32,97,114,101,32,62,32,50,53,53,32,97,114,101,32,97,100,100,101,100,58,32,76,83,32,40,108,105,110,101,32,115,101,112,97,114,97,116,111,114,44,32,85,43,50,48,50,56,41,32,97,110,100,32,80,83,32,40,112,97,114,97,103,114,97,112,104,32,115,101,112,97,114,97,116,111,114,44,32,85,43,50,48,50,57,41,46,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,32,112,114,111,112,101,114,116,121,32,115,117,112,112,111,114,116,32,105,115,32,110,111,116,32,110,101,101,100,101,100,32,102,111,114,32,116,104,101,115,101,32,99,104,97,114,97,99,116,101,114,115,32,116,111,32,98,101,32,114,101,99,111,103,110,105,122,101,100,46>>]},{p,[],[<<92,82,32,99,97,110,32,98,101,32,114,101,115,116,114,105,99,116,101,100,32,116,111,32,109,97,116,99,104,32,111,110,108,121,32,67,82,44,32,76,70,44,32,111,114,32,67,82,76,70,32,40,105,110,115,116,101,97,100,32,111,102,32,116,104,101,32,99,111,109,112,108,101,116,101,32,115,101,116,32,111,102,32,85,110,105,99,111,100,101,32,108,105,110,101,32,101,110,100,105,110,103,115,41,32,98,121,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<98,115,114,95,97,110,121,99,114,108,102>>]},<<32,101,105,116,104,101,114,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,32,111,114,32,119,104,101,110,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,109,97,116,99,104,101,100,46,32,40,66,83,82,32,105,115,32,97,110,32,97,99,114,111,110,121,109,32,102,111,114,32,34,98,97,99,107,115,108,97,115,104,32,82,34,46,41,32,84,104,105,115,32,99,97,110,32,98,101,32,109,97,100,101,32,116,104,101,32,100,101,102,97,117,108,116,32,119,104,101,110,32,80,67,82,69,32,105,115,32,98,117,105,108,116,59,32,105,102,32,115,111,44,32,116,104,101,32,111,116,104,101,114,32,98,101,104,97,118,105,111,114,32,99,97,110,32,98,101,32,114,101,113,117,101,115,116,101,100,32,116,104,114,111,117,103,104,32,111,112,116,105,111,110,32>>,{code,[],[<<98,115,114,95,117,110,105,99,111,100,101>>]},<<46,32,84,104,101,115,101,32,115,101,116,116,105,110,103,115,32,99,97,110,32,97,108,115,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,98,121,32,115,116,97,114,116,105,110,103,32,97,32,112,97,116,116,101,114,110,32,115,116,114,105,110,103,32,119,105,116,104,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,101,113,117,101,110,99,101,115,58>>]},{dl,[],[{dt,[],[<<40,42,66,83,82,95,65,78,89,67,82,76,70,41>>]},{dd,[],[<<67,82,44,32,76,70,44,32,111,114,32,67,82,76,70,32,111,110,108,121>>]},{dt,[],[<<40,42,66,83,82,95,85,78,73,67,79,68,69,41>>]},{dd,[],[<<65,110,121,32,85,110,105,99,111,100,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101>>]}]},{p,[],[<<84,104,101,115,101,32,111,118,101,114,114,105,100,101,32,116,104,101,32,100,101,102,97,117,108,116,32,97,110,100,32,116,104,101,32,111,112,116,105,111,110,115,32,115,112,101,99,105,102,105,101,100,32,116,111,32,116,104,101,32,99,111,109,112,105,108,105,110,103,32,102,117,110,99,116,105,111,110,44,32,98,117,116,32,116,104,101,121,32,99,97,110,32,116,104,101,109,115,101,108,118,101,115,32,98,101,32,111,118,101,114,114,105,100,100,101,110,32,98,121,32,111,112,116,105,111,110,115,32,115,112,101,99,105,102,105,101,100,32,116,111,32,97,32,109,97,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,115,101,32,115,112,101,99,105,97,108,32,115,101,116,116,105,110,103,115,44,32,119,104,105,99,104,32,97,114,101,32,110,111,116,32,80,101,114,108,45,99,111,109,112,97,116,105,98,108,101,44,32,97,114,101,32,114,101,99,111,103,110,105,122,101,100,32,111,110,108,121,32,97,116,32,116,104,101,32,118,101,114,121,32,115,116,97,114,116,32,111,102,32,97,32,112,97,116,116,101,114,110,44,32,97,110,100,32,116,104,97,116,32,116,104,101,121,32,109,117,115,116,32,98,101,32,105,110,32,117,112,112,101,114,32,99,97,115,101,46,32,73,102,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,111,102,32,116,104,101,109,32,105,115,32,112,114,101,115,101,110,116,44,32,116,104,101,32,108,97,115,116,32,111,110,101,32,105,115,32,117,115,101,100,46,32,84,104,101,121,32,99,97,110,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,97,32,99,104,97,110,103,101,32,111,102,32,110,101,119,108,105,110,101,32,99,111,110,118,101,110,116,105,111,110,59,32,102,111,114,32,101,120,97,109,112,108,101,44,32,97,32,112,97,116,116,101,114,110,32,99,97,110,32,115,116,97,114,116,32,119,105,116,104,58>>]},{pre,[],[{code,[],[<<40,42,65,78,89,41,40,42,66,83,82,95,65,78,89,67,82,76,70,41>>]}]},{p,[],[<<84,104,101,121,32,99,97,110,32,97,108,115,111,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,116,104,101,32,40,42,85,84,70,56,41,44,32,40,42,85,84,70,41,44,32,111,114,32,40,42,85,67,80,41,32,115,112,101,99,105,97,108,32,115,101,113,117,101,110,99,101,115,46,32,73,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,92,82,32,105,115,32,116,114,101,97,116,101,100,32,97,115,32,97,110,32,117,110,114,101,99,111,103,110,105,122,101,100,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,44,32,97,110,100,32,115,111,32,109,97,116,99,104,101,115,32,116,104,101,32,108,101,116,116,101,114,32,34,82,34,32,98,121,32,100,101,102,97,117,108,116,46>>]},{p,[],[{em,[],[<<85,110,105,99,111,100,101,32,67,104,97,114,97,99,116,101,114,32,80,114,111,112,101,114,116,105,101,115>>]}]},{p,[],[<<84,104,114,101,101,32,109,111,114,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,32,116,104,97,116,32,109,97,116,99,104,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,115,112,101,99,105,102,105,99,32,112,114,111,112,101,114,116,105,101,115,32,97,114,101,32,97,118,97,105,108,97,98,108,101,46,32,87,104,101,110,32,105,110,32,56,45,98,105,116,32,110,111,110,45,85,84,70,45,56,32,109,111,100,101,44,32,116,104,101,115,101,32,115,101,113,117,101,110,99,101,115,32,97,114,101,32,108,105,109,105,116,101,100,32,116,111,32,116,101,115,116,105,110,103,32,99,104,97,114,97,99,116,101,114,115,32,119,104,111,115,101,32,99,111,100,101,32,112,111,105,110,116,115,32,97,114,101,32,60,32,50,53,54,44,32,98,117,116,32,116,104,101,121,32,100,111,32,119,111,114,107,32,105,110,32,116,104,105,115,32,109,111,100,101,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,101,120,116,114,97,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,58>>]},{dl,[],[{dt,[],[<<92,112,123>>,{em,[],[<<120,120>>]},<<125>>]},{dd,[],[<<65,32,99,104,97,114,97,99,116,101,114,32,119,105,116,104,32,112,114,111,112,101,114,116,121,32>>,{em,[],[<<120,120>>]}]},{dt,[],[<<92,80,123>>,{em,[],[<<120,120>>]},<<125>>]},{dd,[],[<<65,32,99,104,97,114,97,99,116,101,114,32,119,105,116,104,111,117,116,32,112,114,111,112,101,114,116,121,32>>,{em,[],[<<120,120>>]}]},{dt,[],[<<92,88>>]},{dd,[],[<<65,32,85,110,105,99,111,100,101,32,101,120,116,101,110,100,101,100,32,103,114,97,112,104,101,109,101,32,99,108,117,115,116,101,114>>]}]},{p,[],[<<84,104,101,32,112,114,111,112,101,114,116,121,32,110,97,109,101,115,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32>>,{em,[],[<<120,120>>]},<<32,97,98,111,118,101,32,97,114,101,32,108,105,109,105,116,101,100,32,116,111,32,116,104,101,32,85,110,105,99,111,100,101,32,115,99,114,105,112,116,32,110,97,109,101,115,44,32,116,104,101,32,103,101,110,101,114,97,108,32,99,97,116,101,103,111,114,121,32,112,114,111,112,101,114,116,105,101,115,44,32,34,65,110,121,34,44,32,119,104,105,99,104,32,109,97,116,99,104,101,115,32,97,110,121,32,99,104,97,114,97,99,116,101,114,32,40,105,110,99,108,117,100,105,110,103,32,110,101,119,108,105,110,101,41,44,32,97,110,100,32,115,111,109,101,32,115,112,101,99,105,97,108,32,80,67,82,69,32,112,114,111,112,101,114,116,105,101,115,32,40,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,110,101,120,116,32,115,101,99,116,105,111,110,41,46,32,79,116,104,101,114,32,80,101,114,108,32,112,114,111,112,101,114,116,105,101,115,44,32,115,117,99,104,32,97,115,32,34,73,110,77,117,115,105,99,97,108,83,121,109,98,111,108,115,34,44,32,97,114,101,32,99,117,114,114,101,110,116,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,80,67,82,69,46,32,78,111,116,105,99,101,32,116,104,97,116,32,92,80,123,65,110,121,125,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,104,97,114,97,99,116,101,114,115,32,97,110,100,32,97,108,119,97,121,115,32,99,97,117,115,101,115,32,97,32,109,97,116,99,104,32,102,97,105,108,117,114,101,46>>]},{p,[],[<<83,101,116,115,32,111,102,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,100,101,102,105,110,101,100,32,97,115,32,98,101,108,111,110,103,105,110,103,32,116,111,32,99,101,114,116,97,105,110,32,115,99,114,105,112,116,115,46,32,65,32,99,104,97,114,97,99,116,101,114,32,102,114,111,109,32,111,110,101,32,111,102,32,116,104,101,115,101,32,115,101,116,115,32,99,97,110,32,98,101,32,109,97,116,99,104,101,100,32,117,115,105,110,103,32,97,32,115,99,114,105,112,116,32,110,97,109,101,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<92,112,123,71,114,101,101,107,125,32,92,80,123,72,97,110,125>>]}]},{p,[],[<<84,104,111,115,101,32,116,104,97,116,32,97,114,101,32,110,111,116,32,112,97,114,116,32,111,102,32,97,110,32,105,100,101,110,116,105,102,105,101,100,32,115,99,114,105,112,116,32,97,114,101,32,108,117,109,112,101,100,32,116,111,103,101,116,104,101,114,32,97,115,32,34,67,111,109,109,111,110,34,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,108,105,115,116,32,111,102,32,115,99,114,105,112,116,115,58>>]},{ul,[],[{li,[],[<<65,114,97,98,105,99>>]},{li,[],[<<65,114,109,101,110,105,97,110>>]},{li,[],[<<65,118,101,115,116,97,110>>]},{li,[],[<<66,97,108,105,110,101,115,101>>]},{li,[],[<<66,97,109,117,109>>]},{li,[],[<<66,97,115,115,97,95,86,97,104>>]},{li,[],[<<66,97,116,97,107>>]},{li,[],[<<66,101,110,103,97,108,105>>]},{li,[],[<<66,111,112,111,109,111,102,111>>]},{li,[],[<<66,114,97,105,108,108,101>>]},{li,[],[<<66,117,103,105,110,101,115,101>>]},{li,[],[<<66,117,104,105,100>>]},{li,[],[<<67,97,110,97,100,105,97,110,95,65,98,111,114,105,103,105,110,97,108>>]},{li,[],[<<67,97,114,105,97,110>>]},{li,[],[<<67,97,117,99,97,115,105,97,110,95,65,108,98,97,110,105,97,110>>]},{li,[],[<<67,104,97,107,109,97>>]},{li,[],[<<67,104,97,109>>]},{li,[],[<<67,104,101,114,111,107,101,101>>]},{li,[],[<<67,111,109,109,111,110>>]},{li,[],[<<67,111,112,116,105,99>>]},{li,[],[<<67,117,110,101,105,102,111,114,109>>]},{li,[],[<<67,121,112,114,105,111,116>>]},{li,[],[<<67,121,114,105,108,108,105,99>>]},{li,[],[<<68,101,115,101,114,101,116>>]},{li,[],[<<68,101,118,97,110,97,103,97,114,105>>]},{li,[],[<<68,117,112,108,111,121,97,110>>]},{li,[],[<<69,103,121,112,116,105,97,110,95,72,105,101,114,111,103,108,121,112,104,115>>]},{li,[],[<<69,108,98,97,115,97,110>>]},{li,[],[<<69,116,104,105,111,112,105,99>>]},{li,[],[<<71,101,111,114,103,105,97,110>>]},{li,[],[<<71,108,97,103,111,108,105,116,105,99>>]},{li,[],[<<71,111,116,104,105,99>>]},{li,[],[<<71,114,97,110,116,104,97>>]},{li,[],[<<71,114,101,101,107>>]},{li,[],[<<71,117,106,97,114,97,116,105>>]},{li,[],[<<71,117,114,109,117,107,104,105>>]},{li,[],[<<72,97,110>>]},{li,[],[<<72,97,110,103,117,108>>]},{li,[],[<<72,97,110,117,110,111,111>>]},{li,[],[<<72,101,98,114,101,119>>]},{li,[],[<<72,105,114,97,103,97,110,97>>]},{li,[],[<<73,109,112,101,114,105,97,108,95,65,114,97,109,97,105,99>>]},{li,[],[<<73,110,104,101,114,105,116,101,100>>]},{li,[],[<<73,110,115,99,114,105,112,116,105,111,110,97,108,95,80,97,104,108,97,118,105>>]},{li,[],[<<73,110,115,99,114,105,112,116,105,111,110,97,108,95,80,97,114,116,104,105,97,110>>]},{li,[],[<<74,97,118,97,110,101,115,101>>]},{li,[],[<<75,97,105,116,104,105>>]},{li,[],[<<75,97,110,110,97,100,97>>]},{li,[],[<<75,97,116,97,107,97,110,97>>]},{li,[],[<<75,97,121,97,104,95,76,105>>]},{li,[],[<<75,104,97,114,111,115,104,116,104,105>>]},{li,[],[<<75,104,109,101,114>>]},{li,[],[<<75,104,111,106,107,105>>]},{li,[],[<<75,104,117,100,97,119,97,100,105>>]},{li,[],[<<76,97,111>>]},{li,[],[<<76,97,116,105,110>>]},{li,[],[<<76,101,112,99,104,97>>]},{li,[],[<<76,105,109,98,117>>]},{li,[],[<<76,105,110,101,97,114,95,65>>]},{li,[],[<<76,105,110,101,97,114,95,66>>]},{li,[],[<<76,105,115,117>>]},{li,[],[<<76,121,99,105,97,110>>]},{li,[],[<<76,121,100,105,97,110>>]},{li,[],[<<77,97,104,97,106,97,110,105>>]},{li,[],[<<77,97,108,97,121,97,108,97,109>>]},{li,[],[<<77,97,110,100,97,105,99>>]},{li,[],[<<77,97,110,105,99,104,97,101,97,110>>]},{li,[],[<<77,101,101,116,101,105,95,77,97,121,101,107>>]},{li,[],[<<77,101,110,100,101,95,75,105,107,97,107,117,105>>]},{li,[],[<<77,101,114,111,105,116,105,99,95,67,117,114,115,105,118,101>>]},{li,[],[<<77,101,114,111,105,116,105,99,95,72,105,101,114,111,103,108,121,112,104,115>>]},{li,[],[<<77,105,97,111>>]},{li,[],[<<77,111,100,105>>]},{li,[],[<<77,111,110,103,111,108,105,97,110>>]},{li,[],[<<77,114,111>>]},{li,[],[<<77,121,97,110,109,97,114>>]},{li,[],[<<78,97,98,97,116,97,101,97,110>>]},{li,[],[<<78,101,119,95,84,97,105,95,76,117,101>>]},{li,[],[<<78,107,111>>]},{li,[],[<<79,103,104,97,109>>]},{li,[],[<<79,108,95,67,104,105,107,105>>]},{li,[],[<<79,108,100,95,73,116,97,108,105,99>>]},{li,[],[<<79,108,100,95,78,111,114,116,104,95,65,114,97,98,105,97,110>>]},{li,[],[<<79,108,100,95,80,101,114,109,105,99>>]},{li,[],[<<79,108,100,95,80,101,114,115,105,97,110>>]},{li,[],[<<79,114,105,121,97>>]},{li,[],[<<79,108,100,95,83,111,117,116,104,95,65,114,97,98,105,97,110>>]},{li,[],[<<79,108,100,95,84,117,114,107,105,99>>]},{li,[],[<<79,115,109,97,110,121,97>>]},{li,[],[<<80,97,104,97,119,104,95,72,109,111,110,103>>]},{li,[],[<<80,97,108,109,121,114,101,110,101>>]},{li,[],[<<80,97,117,95,67,105,110,95,72,97,117>>]},{li,[],[<<80,104,97,103,115,95,80,97>>]},{li,[],[<<80,104,111,101,110,105,99,105,97,110>>]},{li,[],[<<80,115,97,108,116,101,114,95,80,97,104,108,97,118,105>>]},{li,[],[<<82,101,106,97,110,103>>]},{li,[],[<<82,117,110,105,99>>]},{li,[],[<<83,97,109,97,114,105,116,97,110>>]},{li,[],[<<83,97,117,114,97,115,104,116,114,97>>]},{li,[],[<<83,104,97,114,97,100,97>>]},{li,[],[<<83,104,97,118,105,97,110>>]},{li,[],[<<83,105,100,100,104,97,109>>]},{li,[],[<<83,105,110,104,97,108,97>>]},{li,[],[<<83,111,114,97,95,83,111,109,112,101,110,103>>]},{li,[],[<<83,117,110,100,97,110,101,115,101>>]},{li,[],[<<83,121,108,111,116,105,95,78,97,103,114,105>>]},{li,[],[<<83,121,114,105,97,99>>]},{li,[],[<<84,97,103,97,108,111,103>>]},{li,[],[<<84,97,103,98,97,110,119,97>>]},{li,[],[<<84,97,105,95,76,101>>]},{li,[],[<<84,97,105,95,84,104,97,109>>]},{li,[],[<<84,97,105,95,86,105,101,116>>]},{li,[],[<<84,97,107,114,105>>]},{li,[],[<<84,97,109,105,108>>]},{li,[],[<<84,101,108,117,103,117>>]},{li,[],[<<84,104,97,97,110,97>>]},{li,[],[<<84,104,97,105>>]},{li,[],[<<84,105,98,101,116,97,110>>]},{li,[],[<<84,105,102,105,110,97,103,104>>]},{li,[],[<<84,105,114,104,117,116,97>>]},{li,[],[<<85,103,97,114,105,116,105,99>>]},{li,[],[<<86,97,105>>]},{li,[],[<<87,97,114,97,110,103,95,67,105,116,105>>]},{li,[],[<<89,105>>]}]},{p,[],[<<69,97,99,104,32,99,104,97,114,97,99,116,101,114,32,104,97,115,32,101,120,97,99,116,108,121,32,111,110,101,32,85,110,105,99,111,100,101,32,103,101,110,101,114,97,108,32,99,97,116,101,103,111,114,121,32,112,114,111,112,101,114,116,121,44,32,115,112,101,99,105,102,105,101,100,32,98,121,32,97,32,116,119,111,45,108,101,116,116,101,114,32,97,99,114,111,110,121,109,46,32,70,111,114,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,119,105,116,104,32,80,101,114,108,44,32,110,101,103,97,116,105,111,110,32,99,97,110,32,98,101,32,115,112,101,99,105,102,105,101,100,32,98,121,32,105,110,99,108,117,100,105,110,103,32,97,32,99,105,114,99,117,109,102,108,101,120,32,98,101,116,119,101,101,110,32,116,104,101,32,111,112,101,110,105,110,103,32,98,114,97,99,101,32,97,110,100,32,116,104,101,32,112,114,111,112,101,114,116,121,32,110,97,109,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,92,112,123,94,76,117,125,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,92,80,123,76,117,125,46>>]},{p,[],[<<73,102,32,111,110,108,121,32,111,110,101,32,108,101,116,116,101,114,32,105,115,32,115,112,101,99,105,102,105,101,100,32,119,105,116,104,32,92,112,32,111,114,32,92,80,44,32,105,116,32,105,110,99,108,117,100,101,115,32,97,108,108,32,116,104,101,32,103,101,110,101,114,97,108,32,99,97,116,101,103,111,114,121,32,112,114,111,112,101,114,116,105,101,115,32,116,104,97,116,32,115,116,97,114,116,32,119,105,116,104,32,116,104,97,116,32,108,101,116,116,101,114,46,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32,105,110,32,116,104,101,32,97,98,115,101,110,99,101,32,111,102,32,110,101,103,97,116,105,111,110,44,32,116,104,101,32,99,117,114,108,121,32,98,114,97,99,107,101,116,115,32,105,110,32,116,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,97,114,101,32,111,112,116,105,111,110,97,108,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,116,119,111,32,101,120,97,109,112,108,101,115,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,101,102,102,101,99,116,58>>]},{pre,[],[{code,[],[<<92,112,123,76,125,10,92,112,76>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,103,101,110,101,114,97,108,32,99,97,116,101,103,111,114,121,32,112,114,111,112,101,114,116,121,32,99,111,100,101,115,32,97,114,101,32,115,117,112,112,111,114,116,101,100,58>>]},{dl,[],[{dt,[],[<<67>>]},{dd,[],[<<79,116,104,101,114>>]},{dt,[],[<<67,99>>]},{dd,[],[<<67,111,110,116,114,111,108>>]},{dt,[],[<<67,102>>]},{dd,[],[<<70,111,114,109,97,116>>]},{dt,[],[<<67,110>>]},{dd,[],[<<85,110,97,115,115,105,103,110,101,100>>]},{dt,[],[<<67,111>>]},{dd,[],[<<80,114,105,118,97,116,101,32,117,115,101>>]},{dt,[],[<<67,115>>]},{dd,[],[<<83,117,114,114,111,103,97,116,101>>]},{dt,[],[<<76>>]},{dd,[],[<<76,101,116,116,101,114>>]},{dt,[],[<<76,108>>]},{dd,[],[<<76,111,119,101,114,99,97,115,101,32,108,101,116,116,101,114>>]},{dt,[],[<<76,109>>]},{dd,[],[<<77,111,100,105,102,105,101,114,32,108,101,116,116,101,114>>]},{dt,[],[<<76,111>>]},{dd,[],[<<79,116,104,101,114,32,108,101,116,116,101,114>>]},{dt,[],[<<76,116>>]},{dd,[],[<<84,105,116,108,101,32,99,97,115,101,32,108,101,116,116,101,114>>]},{dt,[],[<<76,117>>]},{dd,[],[<<85,112,112,101,114,99,97,115,101,32,108,101,116,116,101,114>>]},{dt,[],[<<77>>]},{dd,[],[<<77,97,114,107>>]},{dt,[],[<<77,99>>]},{dd,[],[<<83,112,97,99,105,110,103,32,109,97,114,107>>]},{dt,[],[<<77,101>>]},{dd,[],[<<69,110,99,108,111,115,105,110,103,32,109,97,114,107>>]},{dt,[],[<<77,110>>]},{dd,[],[<<78,111,110,45,115,112,97,99,105,110,103,32,109,97,114,107>>]},{dt,[],[<<78>>]},{dd,[],[<<78,117,109,98,101,114>>]},{dt,[],[<<78,100>>]},{dd,[],[<<68,101,99,105,109,97,108,32,110,117,109,98,101,114>>]},{dt,[],[<<78,108>>]},{dd,[],[<<76,101,116,116,101,114,32,110,117,109,98,101,114>>]},{dt,[],[<<78,111>>]},{dd,[],[<<79,116,104,101,114,32,110,117,109,98,101,114>>]},{dt,[],[<<80>>]},{dd,[],[<<80,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<80,99>>]},{dd,[],[<<67,111,110,110,101,99,116,111,114,32,112,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<80,100>>]},{dd,[],[<<68,97,115,104,32,112,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<80,101>>]},{dd,[],[<<67,108,111,115,101,32,112,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<80,102>>]},{dd,[],[<<70,105,110,97,108,32,112,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<80,105>>]},{dd,[],[<<73,110,105,116,105,97,108,32,112,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<80,111>>]},{dd,[],[<<79,116,104,101,114,32,112,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<80,115>>]},{dd,[],[<<79,112,101,110,32,112,117,110,99,116,117,97,116,105,111,110>>]},{dt,[],[<<83>>]},{dd,[],[<<83,121,109,98,111,108>>]},{dt,[],[<<83,99>>]},{dd,[],[<<67,117,114,114,101,110,99,121,32,115,121,109,98,111,108>>]},{dt,[],[<<83,107>>]},{dd,[],[<<77,111,100,105,102,105,101,114,32,115,121,109,98,111,108>>]},{dt,[],[<<83,109>>]},{dd,[],[<<77,97,116,104,101,109,97,116,105,99,97,108,32,115,121,109,98,111,108>>]},{dt,[],[<<83,111>>]},{dd,[],[<<79,116,104,101,114,32,115,121,109,98,111,108>>]},{dt,[],[<<90>>]},{dd,[],[<<83,101,112,97,114,97,116,111,114>>]},{dt,[],[<<90,108>>]},{dd,[],[<<76,105,110,101,32,115,101,112,97,114,97,116,111,114>>]},{dt,[],[<<90,112>>]},{dd,[],[<<80,97,114,97,103,114,97,112,104,32,115,101,112,97,114,97,116,111,114>>]},{dt,[],[<<90,115>>]},{dd,[],[<<83,112,97,99,101,32,115,101,112,97,114,97,116,111,114>>]}]},{p,[],[<<84,104,101,32,115,112,101,99,105,97,108,32,112,114,111,112,101,114,116,121,32,76,38,32,105,115,32,97,108,115,111,32,115,117,112,112,111,114,116,101,100,46,32,73,116,32,109,97,116,99,104,101,115,32,97,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,104,97,115,32,116,104,101,32,76,117,44,32,76,108,44,32,111,114,32,76,116,32,112,114,111,112,101,114,116,121,44,32,116,104,97,116,32,105,115,44,32,97,32,108,101,116,116,101,114,32,116,104,97,116,32,105,115,32,110,111,116,32,99,108,97,115,115,105,102,105,101,100,32,97,115,32,97,32,109,111,100,105,102,105,101,114,32,111,114,32,34,111,116,104,101,114,34,46>>]},{p,[],[<<84,104,101,32,67,115,32,40,83,117,114,114,111,103,97,116,101,41,32,112,114,111,112,101,114,116,121,32,97,112,112,108,105,101,115,32,111,110,108,121,32,116,111,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32,85,43,68,56,48,48,32,116,111,32,85,43,68,70,70,70,46,32,83,117,99,104,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,105,110,118,97,108,105,100,32,105,110,32,85,110,105,99,111,100,101,32,115,116,114,105,110,103,115,32,97,110,100,32,115,111,32,99,97,110,110,111,116,32,98,101,32,116,101,115,116,101,100,32,98,121,32,80,67,82,69,46,32,80,101,114,108,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,116,104,101,32,67,115,32,112,114,111,112,101,114,116,121,46>>]},{p,[],[<<84,104,101,32,108,111,110,103,32,115,121,110,111,110,121,109,115,32,102,111,114,32,112,114,111,112,101,114,116,121,32,110,97,109,101,115,32,115,117,112,112,111,114,116,101,100,32,98,121,32,80,101,114,108,32,40,115,117,99,104,32,97,115,32,92,112,123,76,101,116,116,101,114,125,41,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,80,67,82,69,46,32,73,116,32,105,115,32,110,111,116,32,112,101,114,109,105,116,116,101,100,32,116,111,32,112,114,101,102,105,120,32,97,110,121,32,111,102,32,116,104,101,115,101,32,112,114,111,112,101,114,116,105,101,115,32,119,105,116,104,32,34,73,115,34,46>>]},{p,[],[<<78,111,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,85,110,105,99,111,100,101,32,116,97,98,108,101,32,104,97,115,32,116,104,101,32,67,110,32,40,117,110,97,115,115,105,103,110,101,100,41,32,112,114,111,112,101,114,116,121,46,32,84,104,105,115,32,112,114,111,112,101,114,116,121,32,105,115,32,105,110,115,116,101,97,100,32,97,115,115,117,109,101,100,32,102,111,114,32,97,110,121,32,99,111,100,101,32,112,111,105,110,116,32,116,104,97,116,32,105,115,32,110,111,116,32,105,110,32,116,104,101,32,85,110,105,99,111,100,101,32,116,97,98,108,101,46>>]},{p,[],[<<83,112,101,99,105,102,121,105,110,103,32,99,97,115,101,108,101,115,115,32,109,97,116,99,104,105,110,103,32,100,111,101,115,32,110,111,116,32,97,102,102,101,99,116,32,116,104,101,115,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,92,112,123,76,117,125,32,97,108,119,97,121,115,32,109,97,116,99,104,101,115,32,111,110,108,121,32,117,112,112,101,114,99,97,115,101,32,108,101,116,116,101,114,115,46,32,84,104,105,115,32,105,115,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,116,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,99,117,114,114,101,110,116,32,118,101,114,115,105,111,110,115,32,111,102,32,80,101,114,108,46>>]},{p,[],[<<77,97,116,99,104,105,110,103,32,99,104,97,114,97,99,116,101,114,115,32,98,121,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,121,32,105,115,32,110,111,116,32,102,97,115,116,44,32,97,115,32,80,67,82,69,32,109,117,115,116,32,100,111,32,97,32,109,117,108,116,105,115,116,97,103,101,32,116,97,98,108,101,32,108,111,111,107,117,112,32,116,111,32,102,105,110,100,32,97,32,99,104,97,114,97,99,116,101,114,32,112,114,111,112,101,114,116,121,46,32,84,104,97,116,32,105,115,32,119,104,121,32,116,104,101,32,116,114,97,100,105,116,105,111,110,97,108,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,32,115,117,99,104,32,97,115,32,92,100,32,97,110,100,32,92,119,32,100,111,32,110,111,116,32,117,115,101,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,105,101,115,32,105,110,32,80,67,82,69,32,98,121,32,100,101,102,97,117,108,116,46,32,72,111,119,101,118,101,114,44,32,121,111,117,32,99,97,110,32,109,97,107,101,32,116,104,101,109,32,100,111,32,115,111,32,98,121,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<117,99,112>>]},<<32,111,114,32,98,121,32,115,116,97,114,116,105,110,103,32,116,104,101,32,112,97,116,116,101,114,110,32,119,105,116,104,32,40,42,85,67,80,41,46>>]},{p,[],[{em,[],[<<69,120,116,101,110,100,101,100,32,71,114,97,112,104,101,109,101,32,67,108,117,115,116,101,114,115>>]}]},{p,[],[<<84,104,101,32,92,88,32,101,115,99,97,112,101,32,109,97,116,99,104,101,115,32,97,110,121,32,110,117,109,98,101,114,32,111,102,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,102,111,114,109,32,97,110,32,34,101,120,116,101,110,100,101,100,32,103,114,97,112,104,101,109,101,32,99,108,117,115,116,101,114,34,44,32,97,110,100,32,116,114,101,97,116,115,32,116,104,101,32,115,101,113,117,101,110,99,101,32,97,115,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,32,40,115,101,101,32,98,101,108,111,119,41,46,32,85,112,32,116,111,32,97,110,100,32,105,110,99,108,117,100,105,110,103,32,114,101,108,101,97,115,101,32,56,46,51,49,44,32,80,67,82,69,32,109,97,116,99,104,101,100,32,97,110,32,101,97,114,108,105,101,114,44,32,115,105,109,112,108,101,114,32,100,101,102,105,110,105,116,105,111,110,32,116,104,97,116,32,119,97,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<40,63,62,92,80,77,92,112,77,42,41>>]},<<46,32,84,104,97,116,32,105,115,44,32,105,116,32,109,97,116,99,104,101,100,32,97,32,99,104,97,114,97,99,116,101,114,32,119,105,116,104,111,117,116,32,116,104,101,32,34,109,97,114,107,34,32,112,114,111,112,101,114,116,121,44,32,102,111,108,108,111,119,101,100,32,98,121,32,122,101,114,111,32,111,114,32,109,111,114,101,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,116,104,101,32,34,109,97,114,107,34,32,112,114,111,112,101,114,116,121,46,32,67,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,116,104,101,32,34,109,97,114,107,34,32,112,114,111,112,101,114,116,121,32,97,114,101,32,116,121,112,105,99,97,108,108,121,32,110,111,110,45,115,112,97,99,105,110,103,32,97,99,99,101,110,116,115,32,116,104,97,116,32,97,102,102,101,99,116,32,116,104,101,32,112,114,101,99,101,100,105,110,103,32,99,104,97,114,97,99,116,101,114,46>>]},{p,[],[<<84,104,105,115,32,115,105,109,112,108,101,32,100,101,102,105,110,105,116,105,111,110,32,119,97,115,32,101,120,116,101,110,100,101,100,32,105,110,32,85,110,105,99,111,100,101,32,116,111,32,105,110,99,108,117,100,101,32,109,111,114,101,32,99,111,109,112,108,105,99,97,116,101,100,32,107,105,110,100,115,32,111,102,32,99,111,109,112,111,115,105,116,101,32,99,104,97,114,97,99,116,101,114,32,98,121,32,103,105,118,105,110,103,32,101,97,99,104,32,99,104,97,114,97,99,116,101,114,32,97,32,103,114,97,112,104,101,109,101,32,98,114,101,97,107,105,110,103,32,112,114,111,112,101,114,116,121,44,32,97,110,100,32,99,114,101,97,116,105,110,103,32,114,117,108,101,115,32,116,104,97,116,32,117,115,101,32,116,104,101,115,101,32,112,114,111,112,101,114,116,105,101,115,32,116,111,32,100,101,102,105,110,101,32,116,104,101,32,98,111,117,110,100,97,114,105,101,115,32,111,102,32,101,120,116,101,110,100,101,100,32,103,114,97,112,104,101,109,101,32,99,108,117,115,116,101,114,115,46,32,73,110,32,80,67,82,69,32,114,101,108,101,97,115,101,115,32,108,97,116,101,114,32,116,104,97,110,32,56,46,51,49,44,32,92,88,32,109,97,116,99,104,101,115,32,111,110,101,32,111,102,32,116,104,101,115,101,32,99,108,117,115,116,101,114,115,46>>]},{p,[],[<<92,88,32,97,108,119,97,121,115,32,109,97,116,99,104,101,115,32,97,116,32,108,101,97,115,116,32,111,110,101,32,99,104,97,114,97,99,116,101,114,46,32,84,104,101,110,32,105,116,32,100,101,99,105,100,101,115,32,119,104,101,116,104,101,114,32,116,111,32,97,100,100,32,109,111,114,101,32,99,104,97,114,97,99,116,101,114,115,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,114,117,108,101,115,32,102,111,114,32,101,110,100,105,110,103,32,97,32,99,108,117,115,116,101,114,58>>]},{ol,[],[{li,[],[{p,[],[<<69,110,100,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46>>]}]},{li,[],[{p,[],[<<68,111,32,110,111,116,32,101,110,100,32,98,101,116,119,101,101,110,32,67,82,32,97,110,100,32,76,70,59,32,111,116,104,101,114,119,105,115,101,32,101,110,100,32,97,102,116,101,114,32,97,110,121,32,99,111,110,116,114,111,108,32,99,104,97,114,97,99,116,101,114,46>>]}]},{li,[],[{p,[],[<<68,111,32,110,111,116,32,98,114,101,97,107,32,72,97,110,103,117,108,32,40,97,32,75,111,114,101,97,110,32,115,99,114,105,112,116,41,32,115,121,108,108,97,98,108,101,32,115,101,113,117,101,110,99,101,115,46,32,72,97,110,103,117,108,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,111,102,32,102,105,118,101,32,116,121,112,101,115,58,32,76,44,32,86,44,32,84,44,32,76,86,44,32,97,110,100,32,76,86,84,46,32,65,110,32,76,32,99,104,97,114,97,99,116,101,114,32,99,97,110,32,98,101,32,102,111,108,108,111,119,101,100,32,98,121,32,97,110,32,76,44,32,86,44,32,76,86,44,32,111,114,32,76,86,84,32,99,104,97,114,97,99,116,101,114,46,32,65,110,32,76,86,32,111,114,32,86,32,99,104,97,114,97,99,116,101,114,32,99,97,110,32,98,101,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,86,32,111,114,32,84,32,99,104,97,114,97,99,116,101,114,46,32,65,110,32,76,86,84,32,111,114,32,84,32,99,104,97,114,97,99,116,101,114,32,99,97,110,32,98,101,32,102,111,108,108,111,119,101,100,32,111,110,108,121,32,98,121,32,97,32,84,32,99,104,97,114,97,99,116,101,114,46>>]}]},{li,[],[{p,[],[<<68,111,32,110,111,116,32,101,110,100,32,98,101,102,111,114,101,32,101,120,116,101,110,100,105,110,103,32,99,104,97,114,97,99,116,101,114,115,32,111,114,32,115,112,97,99,105,110,103,32,109,97,114,107,115,46,32,67,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,116,104,101,32,34,109,97,114,107,34,32,112,114,111,112,101,114,116,121,32,97,108,119,97,121,115,32,104,97,118,101,32,116,104,101,32,34,101,120,116,101,110,100,34,32,103,114,97,112,104,101,109,101,32,98,114,101,97,107,105,110,103,32,112,114,111,112,101,114,116,121,46>>]}]},{li,[],[{p,[],[<<68,111,32,110,111,116,32,101,110,100,32,97,102,116,101,114,32,112,114,101,112,101,110,100,32,99,104,97,114,97,99,116,101,114,115,46>>]}]},{li,[],[{p,[],[<<79,116,104,101,114,119,105,115,101,44,32,101,110,100,32,116,104,101,32,99,108,117,115,116,101,114,46>>]}]}]},{p,[],[{em,[],[<<80,67,82,69,32,65,100,100,105,116,105,111,110,97,108,32,80,114,111,112,101,114,116,105,101,115>>]}]},{p,[],[<<73,110,32,97,100,100,105,116,105,111,110,32,116,111,32,116,104,101,32,115,116,97,110,100,97,114,100,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,105,101,115,32,100,101,115,99,114,105,98,101,100,32,101,97,114,108,105,101,114,44,32,80,67,82,69,32,115,117,112,112,111,114,116,115,32,102,111,117,114,32,109,111,114,101,32,116,104,97,116,32,109,97,107,101,32,105,116,32,112,111,115,115,105,98,108,101,32,116,111,32,99,111,110,118,101,114,116,32,116,114,97,100,105,116,105,111,110,97,108,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,44,32,115,117,99,104,32,97,115,32,92,119,32,97,110,100,32,92,115,32,116,111,32,117,115,101,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,105,101,115,46,32,80,67,82,69,32,117,115,101,115,32,116,104,101,115,101,32,110,111,110,45,115,116,97,110,100,97,114,100,44,32,110,111,110,45,80,101,114,108,32,112,114,111,112,101,114,116,105,101,115,32,105,110,116,101,114,110,97,108,108,121,32,119,104,101,110,32,116,104,101,32>>,{code,[],[<<117,99,112>>]},<<32,111,112,116,105,111,110,32,105,115,32,112,97,115,115,101,100,46,32,72,111,119,101,118,101,114,44,32,116,104,101,121,32,99,97,110,32,97,108,115,111,32,98,101,32,117,115,101,100,32,101,120,112,108,105,99,105,116,108,121,46,32,84,104,101,32,112,114,111,112,101,114,116,105,101,115,32,97,114,101,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[<<88,97,110>>]},{dd,[],[{p,[],[<<65,110,121,32,97,108,112,104,97,110,117,109,101,114,105,99,32,99,104,97,114,97,99,116,101,114,46,32,77,97,116,99,104,101,115,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,104,97,118,101,32,101,105,116,104,101,114,32,116,104,101,32,76,32,40,108,101,116,116,101,114,41,32,111,114,32,116,104,101,32,78,32,40,110,117,109,98,101,114,41,32,112,114,111,112,101,114,116,121,46>>]}]},{dt,[],[<<88,112,115>>]},{dd,[],[{p,[],[<<65,110,121,32,80,111,115,105,120,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,46,32,77,97,116,99,104,101,115,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,116,97,98,44,32,108,105,110,101,32,102,101,101,100,44,32,118,101,114,116,105,99,97,108,32,116,97,98,44,32,102,111,114,109,32,102,101,101,100,44,32,99,97,114,114,105,97,103,101,32,114,101,116,117,114,110,44,32,97,110,100,32,97,110,121,32,111,116,104,101,114,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,104,97,115,32,116,104,101,32,90,32,40,115,101,112,97,114,97,116,111,114,41,32,112,114,111,112,101,114,116,121,46>>]}]},{dt,[],[<<88,115,112>>]},{dd,[],[{p,[],[<<65,110,121,32,80,101,114,108,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,46,32,77,97,116,99,104,101,115,32,116,104,101,32,115,97,109,101,32,97,115,32,88,112,115,44,32,101,120,99,101,112,116,32,116,104,97,116,32,118,101,114,116,105,99,97,108,32,116,97,98,32,105,115,32,101,120,99,108,117,100,101,100,46>>]}]},{dt,[],[<<88,119,100>>]},{dd,[],[{p,[],[<<65,110,121,32,80,101,114,108,32,34,119,111,114,100,34,32,99,104,97,114,97,99,116,101,114,46,32,77,97,116,99,104,101,115,32,116,104,101,32,115,97,109,101,32,99,104,97,114,97,99,116,101,114,115,32,97,115,32,88,97,110,44,32,112,108,117,115,32,117,110,100,101,114,115,99,111,114,101,46>>]}]}]},{p,[],[<<80,101,114,108,32,97,110,100,32,80,79,83,73,88,32,115,112,97,99,101,32,97,114,101,32,110,111,119,32,116,104,101,32,115,97,109,101,46,32,80,101,114,108,32,97,100,100,101,100,32,86,84,32,116,111,32,105,116,115,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,32,115,101,116,32,97,116,32,114,101,108,101,97,115,101,32,53,46,49,56,32,97,110,100,32,80,67,82,69,32,99,104,97,110,103,101,100,32,97,116,32,114,101,108,101,97,115,101,32,56,46,51,52,46>>]},{p,[],[<<88,97,110,32,109,97,116,99,104,101,115,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,104,97,118,101,32,101,105,116,104,101,114,32,116,104,101,32,76,32,40,108,101,116,116,101,114,41,32,111,114,32,116,104,101,32,78,32,40,110,117,109,98,101,114,41,32,112,114,111,112,101,114,116,121,46,32,88,112,115,32,109,97,116,99,104,101,115,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,116,97,98,44,32,108,105,110,101,102,101,101,100,44,32,118,101,114,116,105,99,97,108,32,116,97,98,44,32,102,111,114,109,32,102,101,101,100,44,32,111,114,32,99,97,114,114,105,97,103,101,32,114,101,116,117,114,110,44,32,97,110,100,32,97,110,121,32,111,116,104,101,114,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,104,97,115,32,116,104,101,32,90,32,40,115,101,112,97,114,97,116,111,114,41,32,112,114,111,112,101,114,116,121,46,32,88,115,112,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,88,112,115,59,32,105,116,32,117,115,101,100,32,116,111,32,101,120,99,108,117,100,101,32,118,101,114,116,105,99,97,108,32,116,97,98,44,32,102,111,114,32,80,101,114,108,32,99,111,109,112,97,116,105,98,105,108,105,116,121,44,32,98,117,116,32,80,101,114,108,32,99,104,97,110,103,101,100,44,32,97,110,100,32,115,111,32,80,67,82,69,32,102,111,108,108,111,119,101,100,32,97,116,32,114,101,108,101,97,115,101,32,56,46,51,52,46,32,88,119,100,32,109,97,116,99,104,101,115,32,116,104,101,32,115,97,109,101,32,99,104,97,114,97,99,116,101,114,115,32,97,115,32,88,97,110,44,32,112,108,117,115,32,117,110,100,101,114,115,99,111,114,101,46>>]},{p,[],[<<84,104,101,114,101,32,105,115,32,97,110,111,116,104,101,114,32,110,111,110,45,115,116,97,110,100,97,114,100,32,112,114,111,112,101,114,116,121,44,32,88,117,99,44,32,119,104,105,99,104,32,109,97,116,99,104,101,115,32,97,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,32,85,110,105,118,101,114,115,97,108,32,67,104,97,114,97,99,116,101,114,32,78,97,109,101,32,105,110,32,67,43,43,32,97,110,100,32,111,116,104,101,114,32,112,114,111,103,114,97,109,109,105,110,103,32,108,97,110,103,117,97,103,101,115,46,32,84,104,101,115,101,32,97,114,101,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,36,44,32,64,44,32,96,32,40,103,114,97,118,101,32,97,99,99,101,110,116,41,44,32,97,110,100,32,97,108,108,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,85,110,105,99,111,100,101,32,99,111,100,101,32,112,111,105,110,116,115,32,62,61,32,85,43,48,48,65,48,44,32,101,120,99,101,112,116,32,102,111,114,32,116,104,101,32,115,117,114,114,111,103,97,116,101,115,32,85,43,68,56,48,48,32,116,111,32,85,43,68,70,70,70,46,32,78,111,116,105,99,101,32,116,104,97,116,32,109,111,115,116,32,98,97,115,101,32,40,65,83,67,73,73,41,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,101,120,99,108,117,100,101,100,46,32,40,85,110,105,118,101,114,115,97,108,32,67,104,97,114,97,99,116,101,114,32,78,97,109,101,115,32,97,114,101,32,111,102,32,116,104,101,32,102,111,114,109,32,92,117,72,72,72,72,32,111,114,32,92,85,72,72,72,72,72,72,72,72,44,32,119,104,101,114,101,32,72,32,105,115,32,97,32,104,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,46,32,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,88,117,99,32,112,114,111,112,101,114,116,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,115,101,32,115,101,113,117,101,110,99,101,115,32,98,117,116,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,116,104,101,121,32,114,101,112,114,101,115,101,110,116,46,41>>]},{p,[],[{em,[],[<<82,101,115,101,116,116,105,110,103,32,116,104,101,32,77,97,116,99,104,32,83,116,97,114,116>>]}]},{p,[],[<<84,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,92,75,32,99,97,117,115,101,115,32,97,110,121,32,112,114,101,118,105,111,117,115,108,121,32,109,97,116,99,104,101,100,32,99,104,97,114,97,99,116,101,114,115,32,110,111,116,32,116,111,32,98,101,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,101,32,102,105,110,97,108,32,109,97,116,99,104,101,100,32,115,101,113,117,101,110,99,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,102,111,111,98,97,114,34,44,32,98,117,116,32,114,101,112,111,114,116,115,32,116,104,97,116,32,105,116,32,104,97,115,32,109,97,116,99,104,101,100,32,34,98,97,114,34,58>>]},{pre,[],[{code,[],[<<102,111,111,92,75,98,97,114>>]}]},{p,[],[<<84,104,105,115,32,102,101,97,116,117,114,101,32,105,115,32,115,105,109,105,108,97,114,32,116,111,32,97,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,32,40,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,41,46,32,72,111,119,101,118,101,114,44,32,105,110,32,116,104,105,115,32,99,97,115,101,44,32,116,104,101,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,98,101,102,111,114,101,32,116,104,101,32,114,101,97,108,32,109,97,116,99,104,32,100,111,101,115,32,110,111,116,32,104,97,118,101,32,116,111,32,98,101,32,111,102,32,102,105,120,101,100,32,108,101,110,103,116,104,44,32,97,115,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,115,32,100,111,46,32,84,104,101,32,117,115,101,32,111,102,32,92,75,32,100,111,101,115,32,110,111,116,32,105,110,116,101,114,102,101,114,101,32,119,105,116,104,32,116,104,101,32,115,101,116,116,105,110,103,32,111,102,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,119,104,101,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,102,111,111,98,97,114,34,44,32,116,104,101,32,102,105,114,115,116,32,115,117,98,115,116,114,105,110,103,32,105,115,32,115,116,105,108,108,32,115,101,116,32,116,111,32,34,102,111,111,34,58>>]},{pre,[],[{code,[],[<<40,102,111,111,41,92,75,98,97,114>>]}]},{p,[],[<<80,101,114,108,32,100,111,99,117,109,101,110,116,115,32,116,104,97,116,32,116,104,101,32,117,115,101,32,111,102,32,92,75,32,119,105,116,104,105,110,32,97,115,115,101,114,116,105,111,110,115,32,105,115,32,34,110,111,116,32,119,101,108,108,32,100,101,102,105,110,101,100,34,46,32,73,110,32,80,67,82,69,44,32,92,75,32,105,115,32,97,99,116,101,100,32,117,112,111,110,32,119,104,101,110,32,105,116,32,111,99,99,117,114,115,32,105,110,115,105,100,101,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,44,32,98,117,116,32,105,115,32,105,103,110,111,114,101,100,32,105,110,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,46,32,78,111,116,101,32,116,104,97,116,32,119,104,101,110,32,97,32,112,97,116,116,101,114,110,32,115,117,99,104,32,97,115,32,40,63,61,97,98,92,75,41,32,109,97,116,99,104,101,115,44,32,116,104,101,32,114,101,112,111,114,116,101,100,32,115,116,97,114,116,32,111,102,32,116,104,101,32,109,97,116,99,104,32,99,97,110,32,98,101,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,109,97,116,99,104,46>>]},{p,[],[{em,[],[<<83,105,109,112,108,101,32,65,115,115,101,114,116,105,111,110,115>>]}]},{p,[],[<<84,104,101,32,102,105,110,97,108,32,117,115,101,32,111,102,32,98,97,99,107,115,108,97,115,104,32,105,115,32,102,111,114,32,99,101,114,116,97,105,110,32,115,105,109,112,108,101,32,97,115,115,101,114,116,105,111,110,115,46,32,65,110,32,97,115,115,101,114,116,105,111,110,32,115,112,101,99,105,102,105,101,115,32,97,32,99,111,110,100,105,116,105,111,110,32,116,104,97,116,32,109,117,115,116,32,98,101,32,109,101,116,32,97,116,32,97,32,112,97,114,116,105,99,117,108,97,114,32,112,111,105,110,116,32,105,110,32,97,32,109,97,116,99,104,44,32,119,105,116,104,111,117,116,32,99,111,110,115,117,109,105,110,103,32,97,110,121,32,99,104,97,114,97,99,116,101,114,115,32,102,114,111,109,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,84,104,101,32,117,115,101,32,111,102,32,115,117,98,112,97,116,116,101,114,110,115,32,102,111,114,32,109,111,114,101,32,99,111,109,112,108,105,99,97,116,101,100,32,97,115,115,101,114,116,105,111,110,115,32,105,115,32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,98,97,99,107,115,108,97,115,104,101,100,32,97,115,115,101,114,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[<<92,98>>]},{dd,[],[<<77,97,116,99,104,101,115,32,97,116,32,97,32,119,111,114,100,32,98,111,117,110,100,97,114,121,46>>]},{dt,[],[<<92,66>>]},{dd,[],[<<77,97,116,99,104,101,115,32,119,104,101,110,32,110,111,116,32,97,116,32,97,32,119,111,114,100,32,98,111,117,110,100,97,114,121,46>>]},{dt,[],[<<92,65>>]},{dd,[],[<<77,97,116,99,104,101,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,46>>]},{dt,[],[<<92,90>>]},{dd,[],[<<77,97,116,99,104,101,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,44,32,97,110,100,32,98,101,102,111,114,101,32,97,32,110,101,119,108,105,110,101,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,46>>]},{dt,[],[<<92,122>>]},{dd,[],[<<77,97,116,99,104,101,115,32,111,110,108,121,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,46>>]},{dt,[],[<<92,71>>]},{dd,[],[<<77,97,116,99,104,101,115,32,97,116,32,116,104,101,32,102,105,114,115,116,32,109,97,116,99,104,105,110,103,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,46>>]}]},{p,[],[<<73,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,92,98,32,104,97,115,32,97,32,100,105,102,102,101,114,101,110,116,32,109,101,97,110,105,110,103,59,32,105,116,32,109,97,116,99,104,101,115,32,116,104,101,32,98,97,99,107,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,46,32,73,102,32,97,110,121,32,111,116,104,101,114,32,111,102,32,116,104,101,115,101,32,97,115,115,101,114,116,105,111,110,115,32,97,112,112,101,97,114,115,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,98,121,32,100,101,102,97,117,108,116,32,105,116,32,109,97,116,99,104,101,115,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,108,105,116,101,114,97,108,32,99,104,97,114,97,99,116,101,114,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,92,66,32,109,97,116,99,104,101,115,32,116,104,101,32,108,101,116,116,101,114,32,66,41,46>>]},{p,[],[<<65,32,119,111,114,100,32,98,111,117,110,100,97,114,121,32,105,115,32,97,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,119,104,101,114,101,32,116,104,101,32,99,117,114,114,101,110,116,32,99,104,97,114,97,99,116,101,114,32,97,110,100,32,116,104,101,32,112,114,101,118,105,111,117,115,32,99,104,97,114,97,99,116,101,114,32,100,111,32,110,111,116,32,98,111,116,104,32,109,97,116,99,104,32,92,119,32,111,114,32,92,87,32,40,116,104,97,116,32,105,115,44,32,111,110,101,32,109,97,116,99,104,101,115,32,92,119,32,97,110,100,32,116,104,101,32,111,116,104,101,114,32,109,97,116,99,104,101,115,32,92,87,41,44,32,111,114,32,116,104,101,32,115,116,97,114,116,32,111,114,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,105,102,32,116,104,101,32,102,105,114,115,116,32,111,114,32,108,97,115,116,32,99,104,97,114,97,99,116,101,114,32,109,97,116,99,104,101,115,32,92,119,44,32,114,101,115,112,101,99,116,105,118,101,108,121,46,32,73,110,32,85,84,70,32,109,111,100,101,44,32,116,104,101,32,109,101,97,110,105,110,103,115,32,111,102,32,92,119,32,97,110,100,32,92,87,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,98,121,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<117,99,112>>]},<<46,32,87,104,101,110,32,116,104,105,115,32,105,115,32,100,111,110,101,44,32,105,116,32,97,108,115,111,32,97,102,102,101,99,116,115,32,92,98,32,97,110,100,32,92,66,46,32,80,67,82,69,32,97,110,100,32,80,101,114,108,32,100,111,32,110,111,116,32,104,97,118,101,32,97,32,115,101,112,97,114,97,116,101,32,34,115,116,97,114,116,32,111,102,32,119,111,114,100,34,32,111,114,32,34,101,110,100,32,111,102,32,119,111,114,100,34,32,109,101,116,97,115,101,113,117,101,110,99,101,46,32,72,111,119,101,118,101,114,44,32,119,104,97,116,101,118,101,114,32,102,111,108,108,111,119,115,32,92,98,32,110,111,114,109,97,108,108,121,32,100,101,116,101,114,109,105,110,101,115,32,119,104,105,99,104,32,105,116,32,105,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,114,97,103,109,101,110,116,32,92,98,97,32,109,97,116,99,104,101,115,32,34,97,34,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,97,32,119,111,114,100,46>>]},{p,[],[<<84,104,101,32,92,65,44,32,92,90,44,32,97,110,100,32,92,122,32,97,115,115,101,114,116,105,111,110,115,32,100,105,102,102,101,114,32,102,114,111,109,32,116,104,101,32,116,114,97,100,105,116,105,111,110,97,108,32,99,105,114,99,117,109,102,108,101,120,32,97,110,100,32,100,111,108,108,97,114,32,40,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,110,101,120,116,32,115,101,99,116,105,111,110,41,32,105,110,32,116,104,97,116,32,116,104,101,121,32,111,110,108,121,32,101,118,101,114,32,109,97,116,99,104,32,97,116,32,116,104,101,32,118,101,114,121,32,115,116,97,114,116,32,97,110,100,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,119,104,97,116,101,118,101,114,32,111,112,116,105,111,110,115,32,97,114,101,32,115,101,116,46,32,84,104,117,115,44,32,116,104,101,121,32,97,114,101,32,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,109,117,108,116,105,108,105,110,101,32,109,111,100,101,46,32,84,104,101,115,101,32,116,104,114,101,101,32,97,115,115,101,114,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,102,102,101,99,116,101,100,32,98,121,32,111,112,116,105,111,110,115,32>>,{code,[],[<<110,111,116,98,111,108>>]},<<32,111,114,32>>,{code,[],[<<110,111,116,101,111,108>>]},<<44,32,119,104,105,99,104,32,97,102,102,101,99,116,32,111,110,108,121,32,116,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,116,104,101,32,99,105,114,99,117,109,102,108,101,120,32,97,110,100,32,100,111,108,108,97,114,32,109,101,116,97,99,104,97,114,97,99,116,101,114,115,46,32,72,111,119,101,118,101,114,44,32,105,102,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<115,116,97,114,116,111,102,102,115,101,116>>]},<<32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<32,105,115,32,110,111,110,45,122,101,114,111,44,32,105,110,100,105,99,97,116,105,110,103,32,116,104,97,116,32,109,97,116,99,104,105,110,103,32,105,115,32,116,111,32,115,116,97,114,116,32,97,116,32,97,32,112,111,105,110,116,32,111,116,104,101,114,32,116,104,97,110,32,116,104,101,32,98,101,103,105,110,110,105,110,103,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,44,32,92,65,32,99,97,110,32,110,101,118,101,114,32,109,97,116,99,104,46,32,84,104,101,32,100,105,102,102,101,114,101,110,99,101,32,98,101,116,119,101,101,110,32,92,90,32,97,110,100,32,92,122,32,105,115,32,116,104,97,116,32,92,90,32,109,97,116,99,104,101,115,32,98,101,102,111,114,101,32,97,32,110,101,119,108,105,110,101,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,97,110,100,32,97,116,32,116,104,101,32,118,101,114,121,32,101,110,100,44,32,119,104,105,108,101,32,92,122,32,109,97,116,99,104,101,115,32,111,110,108,121,32,97,116,32,116,104,101,32,101,110,100,46>>]},{p,[],[<<84,104,101,32,92,71,32,97,115,115,101,114,116,105,111,110,32,105,115,32,116,114,117,101,32,111,110,108,121,32,119,104,101,110,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,116,99,104,105,110,103,32,112,111,115,105,116,105,111,110,32,105,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,112,111,105,110,116,32,111,102,32,116,104,101,32,109,97,116,99,104,44,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<115,116,97,114,116,111,102,102,115,101,116>>]},<<32,111,102,32>>,{code,[],[<<114,117,110,47,51>>]},<<46,32,73,116,32,100,105,102,102,101,114,115,32,102,114,111,109,32,92,65,32,119,104,101,110,32,116,104,101,32,118,97,108,117,101,32,111,102,32>>,{code,[],[<<115,116,97,114,116,111,102,102,115,101,116>>]},<<32,105,115,32,110,111,110,45,122,101,114,111,46,32,66,121,32,99,97,108,108,105,110,103,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,109,117,108,116,105,112,108,101,32,116,105,109,101,115,32,119,105,116,104,32,97,112,112,114,111,112,114,105,97,116,101,32,97,114,103,117,109,101,110,116,115,44,32,121,111,117,32,99,97,110,32,109,105,109,105,99,32,116,104,101,32,80,101,114,108,32,111,112,116,105,111,110,32>>,{code,[],[<<47,103>>]},<<44,32,97,110,100,32,105,116,32,105,115,32,105,110,32,116,104,105,115,32,107,105,110,100,32,111,102,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,119,104,101,114,101,32,92,71,32,99,97,110,32,98,101,32,117,115,101,102,117,108,46>>]},{p,[],[<<78,111,116,105,99,101,44,32,104,111,119,101,118,101,114,44,32,116,104,97,116,32,116,104,101,32,80,67,82,69,32,105,110,116,101,114,112,114,101,116,97,116,105,111,110,32,111,102,32,92,71,44,32,97,115,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,116,99,104,44,32,105,115,32,115,117,98,116,108,121,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32,80,101,114,108,44,32,119,104,105,99,104,32,100,101,102,105,110,101,115,32,105,116,32,97,115,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,112,114,101,118,105,111,117,115,32,109,97,116,99,104,46,32,73,110,32,80,101,114,108,44,32,116,104,101,115,101,32,99,97,110,32,98,101,32,100,105,102,102,101,114,101,110,116,32,119,104,101,110,32,116,104,101,32,112,114,101,118,105,111,117,115,108,121,32,109,97,116,99,104,101,100,32,115,116,114,105,110,103,32,119,97,115,32,101,109,112,116,121,46,32,65,115,32,80,67,82,69,32,100,111,101,115,32,111,110,108,121,32,111,110,101,32,109,97,116,99,104,32,97,116,32,97,32,116,105,109,101,44,32,105,116,32,99,97,110,110,111,116,32,114,101,112,114,111,100,117,99,101,32,116,104,105,115,32,98,101,104,97,118,105,111,114,46>>]},{p,[],[<<73,102,32,97,108,108,32,116,104,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,111,102,32,97,32,112,97,116,116,101,114,110,32,98,101,103,105,110,32,119,105,116,104,32,92,71,44,32,116,104,101,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,97,110,99,104,111,114,101,100,32,116,111,32,116,104,101,32,115,116,97,114,116,105,110,103,32,109,97,116,99,104,32,112,111,115,105,116,105,111,110,44,32,97,110,100,32,116,104,101,32,34,97,110,99,104,111,114,101,100,34,32,102,108,97,103,32,105,115,32,115,101,116,32,105,110,32,116,104,101,32,99,111,109,112,105,108,101,100,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{a,[{id,<<115,101,99,116,52>>}],[]},{h2,[],[<<67,105,114,99,117,109,102,108,101,120,32,97,110,100,32,68,111,108,108,97,114>>]},{p,[],[<<84,104,101,32,99,105,114,99,117,109,102,108,101,120,32,97,110,100,32,100,111,108,108,97,114,32,109,101,116,97,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,122,101,114,111,45,119,105,100,116,104,32,97,115,115,101,114,116,105,111,110,115,46,32,84,104,97,116,32,105,115,44,32,116,104,101,121,32,116,101,115,116,32,102,111,114,32,97,32,112,97,114,116,105,99,117,108,97,114,32,99,111,110,100,105,116,105,111,110,32,116,111,32,98,101,32,116,114,117,101,32,119,105,116,104,111,117,116,32,99,111,110,115,117,109,105,110,103,32,97,110,121,32,99,104,97,114,97,99,116,101,114,115,32,102,114,111,109,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46>>]},{p,[],[<<79,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,105,110,32,116,104,101,32,100,101,102,97,117,108,116,32,109,97,116,99,104,105,110,103,32,109,111,100,101,44,32,116,104,101,32,99,105,114,99,117,109,102,108,101,120,32,99,104,97,114,97,99,116,101,114,32,105,115,32,97,110,32,97,115,115,101,114,116,105,111,110,32,116,104,97,116,32,105,115,32,116,114,117,101,32,111,110,108,121,32,105,102,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,116,99,104,105,110,103,32,112,111,105,110,116,32,105,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,73,102,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<115,116,97,114,116,111,102,102,115,101,116>>]},<<32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<32,105,115,32,110,111,110,45,122,101,114,111,44,32,99,105,114,99,117,109,102,108,101,120,32,99,97,110,32,110,101,118,101,114,32,109,97,116,99,104,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,105,115,32,117,110,115,101,116,46,32,73,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,99,105,114,99,117,109,102,108,101,120,32,104,97,115,32,97,110,32,101,110,116,105,114,101,108,121,32,100,105,102,102,101,114,101,110,116,32,109,101,97,110,105,110,103,32,40,115,101,101,32,98,101,108,111,119,41,46>>]},{p,[],[<<67,105,114,99,117,109,102,108,101,120,32,110,101,101,100,115,32,110,111,116,32,116,111,32,98,101,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,102,32,115,111,109,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,114,101,32,105,110,118,111,108,118,101,100,44,32,98,117,116,32,105,116,32,105,115,32,116,111,32,98,101,32,116,104,101,32,102,105,114,115,116,32,116,104,105,110,103,32,105,110,32,101,97,99,104,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,119,104,105,99,104,32,105,116,32,97,112,112,101,97,114,115,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,101,118,101,114,32,116,111,32,109,97,116,99,104,32,116,104,97,116,32,98,114,97,110,99,104,46,32,73,102,32,97,108,108,32,112,111,115,115,105,98,108,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,115,116,97,114,116,32,119,105,116,104,32,97,32,99,105,114,99,117,109,102,108,101,120,44,32,116,104,97,116,32,105,115,44,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,99,111,110,115,116,114,97,105,110,101,100,32,116,111,32,109,97,116,99,104,32,111,110,108,121,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,44,32,105,116,32,105,115,32,115,97,105,100,32,116,111,32,98,101,32,97,110,32,34,97,110,99,104,111,114,101,100,34,32,112,97,116,116,101,114,110,46,32,40,84,104,101,114,101,32,97,114,101,32,97,108,115,111,32,111,116,104,101,114,32,99,111,110,115,116,114,117,99,116,115,32,116,104,97,116,32,99,97,110,32,99,97,117,115,101,32,97,32,112,97,116,116,101,114,110,32,116,111,32,98,101,32,97,110,99,104,111,114,101,100,46,41>>]},{p,[],[<<84,104,101,32,100,111,108,108,97,114,32,99,104,97,114,97,99,116,101,114,32,105,115,32,97,110,32,97,115,115,101,114,116,105,111,110,32,116,104,97,116,32,105,115,32,116,114,117,101,32,111,110,108,121,32,105,102,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,116,99,104,105,110,103,32,112,111,105,110,116,32,105,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,111,114,32,105,109,109,101,100,105,97,116,101,108,121,32,98,101,102,111,114,101,32,97,32,110,101,119,108,105,110,101,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,40,98,121,32,100,101,102,97,117,108,116,41,46,32,78,111,116,105,99,101,32,104,111,119,101,118,101,114,32,116,104,97,116,32,105,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,101,119,108,105,110,101,46,32,68,111,108,108,97,114,32,110,101,101,100,115,32,110,111,116,32,116,111,32,98,101,32,116,104,101,32,108,97,115,116,32,99,104,97,114,97,99,116,101,114,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,102,32,115,111,109,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,114,101,32,105,110,118,111,108,118,101,100,44,32,98,117,116,32,105,116,32,105,115,32,116,111,32,98,101,32,116,104,101,32,108,97,115,116,32,105,116,101,109,32,105,110,32,97,110,121,32,98,114,97,110,99,104,32,105,110,32,119,104,105,99,104,32,105,116,32,97,112,112,101,97,114,115,46,32,68,111,108,108,97,114,32,104,97,115,32,110,111,32,115,112,101,99,105,97,108,32,109,101,97,110,105,110,103,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,46>>]},{p,[],[<<84,104,101,32,109,101,97,110,105,110,103,32,111,102,32,100,111,108,108,97,114,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,115,111,32,116,104,97,116,32,105,116,32,109,97,116,99,104,101,115,32,111,110,108,121,32,97,116,32,116,104,101,32,118,101,114,121,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,98,121,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<100,111,108,108,97,114,95,101,110,100,111,110,108,121>>]},<<32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,46,32,84,104,105,115,32,100,111,101,115,32,110,111,116,32,97,102,102,101,99,116,32,116,104,101,32,92,90,32,97,115,115,101,114,116,105,111,110,46>>]},{p,[],[<<84,104,101,32,109,101,97,110,105,110,103,115,32,111,102,32,116,104,101,32,99,105,114,99,117,109,102,108,101,120,32,97,110,100,32,100,111,108,108,97,114,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,99,104,97,110,103,101,100,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,105,115,32,115,101,116,46,32,87,104,101,110,32,116,104,105,115,32,105,115,32,116,104,101,32,99,97,115,101,44,32,97,32,99,105,114,99,117,109,102,108,101,120,32,109,97,116,99,104,101,115,32,105,109,109,101,100,105,97,116,101,108,121,32,97,102,116,101,114,32,105,110,116,101,114,110,97,108,32,110,101,119,108,105,110,101,115,32,97,110,100,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,73,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,102,116,101,114,32,97,32,110,101,119,108,105,110,101,32,116,104,97,116,32,101,110,100,115,32,116,104,101,32,115,116,114,105,110,103,46,32,65,32,100,111,108,108,97,114,32,109,97,116,99,104,101,115,32,98,101,102,111,114,101,32,97,110,121,32,110,101,119,108,105,110,101,115,32,105,110,32,116,104,101,32,115,116,114,105,110,103,44,32,97,110,100,32,97,116,32,116,104,101,32,118,101,114,121,32,101,110,100,44,32,119,104,101,110,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,105,115,32,115,101,116,46,32,87,104,101,110,32,110,101,119,108,105,110,101,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,116,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,32,67,82,76,70,44,32,105,115,111,108,97,116,101,100,32,67,82,32,97,110,100,32,76,70,32,99,104,97,114,97,99,116,101,114,115,32,100,111,32,110,111,116,32,105,110,100,105,99,97,116,101,32,110,101,119,108,105,110,101,115,46>>]},{p,[],[<<70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,112,97,116,116,101,114,110,32,47,94,97,98,99,36,47,32,109,97,116,99,104,101,115,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,34,100,101,102,92,110,97,98,99,34,32,40,119,104,101,114,101,32,92,110,32,114,101,112,114,101,115,101,110,116,115,32,97,32,110,101,119,108,105,110,101,41,32,105,110,32,109,117,108,116,105,108,105,110,101,32,109,111,100,101,44,32,98,117,116,32,110,111,116,32,111,116,104,101,114,119,105,115,101,46,32,83,111,44,32,112,97,116,116,101,114,110,115,32,116,104,97,116,32,97,114,101,32,97,110,99,104,111,114,101,100,32,105,110,32,115,105,110,103,108,101,45,108,105,110,101,32,109,111,100,101,32,98,101,99,97,117,115,101,32,97,108,108,32,98,114,97,110,99,104,101,115,32,115,116,97,114,116,32,119,105,116,104,32,94,32,97,114,101,32,110,111,116,32,97,110,99,104,111,114,101,100,32,105,110,32,109,117,108,116,105,108,105,110,101,32,109,111,100,101,44,32,97,110,100,32,97,32,109,97,116,99,104,32,102,111,114,32,99,105,114,99,117,109,102,108,101,120,32,105,115,32,112,111,115,115,105,98,108,101,32,119,104,101,110,32,97,114,103,117,109,101,110,116,32>>,{em,[],[<<115,116,97,114,116,111,102,102,115,101,116>>]},<<32,111,102,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,105,115,32,110,111,110,45,122,101,114,111,46,32,79,112,116,105,111,110,32>>,{code,[],[<<100,111,108,108,97,114,95,101,110,100,111,110,108,121>>]},<<32,105,115,32,105,103,110,111,114,101,100,32,105,102,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,105,115,32,115,101,116,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,115,101,113,117,101,110,99,101,115,32,92,65,44,32,92,90,44,32,97,110,100,32,92,122,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,109,97,116,99,104,32,116,104,101,32,115,116,97,114,116,32,97,110,100,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,105,110,32,98,111,116,104,32,109,111,100,101,115,46,32,73,102,32,97,108,108,32,98,114,97,110,99,104,101,115,32,111,102,32,97,32,112,97,116,116,101,114,110,32,115,116,97,114,116,32,119,105,116,104,32,92,65,44,32,105,116,32,105,115,32,97,108,119,97,121,115,32,97,110,99,104,111,114,101,100,44,32,114,101,103,97,114,100,108,101,115,115,32,105,102,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,105,115,32,115,101,116,46>>]},{a,[{id,<<115,101,99,116,53>>}],[]},{h2,[],[<<70,117,108,108,32,83,116,111,112,32,40,80,101,114,105,111,100,44,32,68,111,116,41,32,97,110,100,32,92,78>>]},{p,[],[<<79,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,97,32,100,111,116,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,97,110,121,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,101,120,99,101,112,116,32,40,98,121,32,100,101,102,97,117,108,116,41,32,97,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,115,105,103,110,105,102,105,101,115,32,116,104,101,32,101,110,100,32,111,102,32,97,32,108,105,110,101,46>>]},{p,[],[<<87,104,101,110,32,97,32,108,105,110,101,32,101,110,100,105,110,103,32,105,115,32,100,101,102,105,110,101,100,32,97,115,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,44,32,100,111,116,32,110,101,118,101,114,32,109,97,116,99,104,101,115,32,116,104,97,116,32,99,104,97,114,97,99,116,101,114,46,32,87,104,101,110,32,116,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,32,67,82,76,70,32,105,115,32,117,115,101,100,44,32,100,111,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,67,82,32,105,102,32,105,116,32,105,115,32,105,109,109,101,100,105,97,116,101,108,121,32,102,111,108,108,111,119,101,100,32,98,121,32,76,70,44,32,111,116,104,101,114,119,105,115,101,32,105,116,32,109,97,116,99,104,101,115,32,97,108,108,32,99,104,97,114,97,99,116,101,114,115,32,40,105,110,99,108,117,100,105,110,103,32,105,115,111,108,97,116,101,100,32,67,82,115,32,97,110,100,32,76,70,115,41,46,32,87,104,101,110,32,97,110,121,32,85,110,105,99,111,100,101,32,108,105,110,101,32,101,110,100,105,110,103,115,32,97,114,101,32,114,101,99,111,103,110,105,122,101,100,44,32,100,111,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,67,82,44,32,76,70,44,32,111,114,32,97,110,121,32,111,102,32,116,104,101,32,111,116,104,101,114,32,108,105,110,101,45,101,110,100,105,110,103,32,99,104,97,114,97,99,116,101,114,115,46>>]},{p,[],[<<84,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,100,111,116,32,114,101,103,97,114,100,105,110,103,32,110,101,119,108,105,110,101,115,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,46,32,73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<100,111,116,97,108,108>>]},<<32,105,115,32,115,101,116,44,32,97,32,100,111,116,32,109,97,116,99,104,101,115,32,97,110,121,32,99,104,97,114,97,99,116,101,114,44,32,119,105,116,104,111,117,116,32,101,120,99,101,112,116,105,111,110,46,32,73,102,32,116,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,32,67,82,76,70,32,105,115,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,105,116,32,116,97,107,101,115,32,116,119,111,32,100,111,116,115,32,116,111,32,109,97,116,99,104,32,105,116,46>>]},{p,[],[<<84,104,101,32,104,97,110,100,108,105,110,103,32,111,102,32,100,111,116,32,105,115,32,101,110,116,105,114,101,108,121,32,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,116,104,101,32,104,97,110,100,108,105,110,103,32,111,102,32,99,105,114,99,117,109,102,108,101,120,32,97,110,100,32,100,111,108,108,97,114,44,32,116,104,101,32,111,110,108,121,32,114,101,108,97,116,105,111,110,115,104,105,112,32,105,115,32,116,104,97,116,32,98,111,116,104,32,105,110,118,111,108,118,101,32,110,101,119,108,105,110,101,115,46,32,68,111,116,32,104,97,115,32,110,111,32,115,112,101,99,105,97,108,32,109,101,97,110,105,110,103,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,46>>]},{p,[],[<<84,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,92,78,32,98,101,104,97,118,101,115,32,108,105,107,101,32,97,32,100,111,116,44,32,101,120,99,101,112,116,32,116,104,97,116,32,105,116,32,105,115,32,110,111,116,32,97,102,102,101,99,116,101,100,32,98,121,32,111,112,116,105,111,110,32>>,{code,[],[<<80,67,82,69,95,68,79,84,65,76,76>>]},<<46,32,84,104,97,116,32,105,115,44,32,105,116,32,109,97,116,99,104,101,115,32,97,110,121,32,99,104,97,114,97,99,116,101,114,32,101,120,99,101,112,116,32,111,110,101,32,116,104,97,116,32,115,105,103,110,105,102,105,101,115,32,116,104,101,32,101,110,100,32,111,102,32,97,32,108,105,110,101,46,32,80,101,114,108,32,97,108,115,111,32,117,115,101,115,32,92,78,32,116,111,32,109,97,116,99,104,32,99,104,97,114,97,99,116,101,114,115,32,98,121,32,110,97,109,101,32,98,117,116,32,80,67,82,69,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,116,104,105,115,46>>]},{a,[{id,<<115,101,99,116,54>>}],[]},{h2,[],[<<77,97,116,99,104,105,110,103,32,97,32,83,105,110,103,108,101,32,68,97,116,97,32,85,110,105,116>>]},{p,[],[<<79,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,116,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,92,67,32,109,97,116,99,104,101,115,32,97,110,121,32,100,97,116,97,32,117,110,105,116,44,32,114,101,103,97,114,100,108,101,115,115,32,105,102,32,97,32,85,84,70,32,109,111,100,101,32,105,115,32,115,101,116,46,32,79,110,101,32,100,97,116,97,32,117,110,105,116,32,105,115,32,111,110,101,32,98,121,116,101,46,32,85,110,108,105,107,101,32,97,32,100,111,116,44,32,92,67,32,97,108,119,97,121,115,32,109,97,116,99,104,101,115,32,108,105,110,101,45,101,110,100,105,110,103,32,99,104,97,114,97,99,116,101,114,115,46,32,84,104,101,32,102,101,97,116,117,114,101,32,105,115,32,112,114,111,118,105,100,101,100,32,105,110,32,80,101,114,108,32,116,111,32,109,97,116,99,104,32,105,110,100,105,118,105,100,117,97,108,32,98,121,116,101,115,32,105,110,32,85,84,70,45,56,32,109,111,100,101,44,32,98,117,116,32,105,116,32,105,115,32,117,110,99,108,101,97,114,32,104,111,119,32,105,116,32,99,97,110,32,117,115,101,102,117,108,108,121,32,98,101,32,117,115,101,100,46,32,65,115,32,92,67,32,98,114,101,97,107,115,32,117,112,32,99,104,97,114,97,99,116,101,114,115,32,105,110,116,111,32,105,110,100,105,118,105,100,117,97,108,32,100,97,116,97,32,117,110,105,116,115,44,32,109,97,116,99,104,105,110,103,32,111,110,101,32,117,110,105,116,32,119,105,116,104,32,92,67,32,105,110,32,97,32,85,84,70,32,109,111,100,101,32,109,101,97,110,115,32,116,104,97,116,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,115,116,114,105,110,103,32,99,97,110,32,115,116,97,114,116,32,119,105,116,104,32,97,32,109,97,108,102,111,114,109,101,100,32,85,84,70,32,99,104,97,114,97,99,116,101,114,46,32,84,104,105,115,32,104,97,115,32,117,110,100,101,102,105,110,101,100,32,114,101,115,117,108,116,115,44,32,97,115,32,80,67,82,69,32,97,115,115,117,109,101,115,32,116,104,97,116,32,105,116,32,100,101,97,108,115,32,119,105,116,104,32,118,97,108,105,100,32,85,84,70,32,115,116,114,105,110,103,115,46>>]},{p,[],[<<80,67,82,69,32,100,111,101,115,32,110,111,116,32,97,108,108,111,119,32,92,67,32,116,111,32,97,112,112,101,97,114,32,105,110,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,115,32,40,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,41,32,105,110,32,97,32,85,84,70,32,109,111,100,101,44,32,97,115,32,116,104,105,115,32,119,111,117,108,100,32,109,97,107,101,32,105,116,32,105,109,112,111,115,115,105,98,108,101,32,116,111,32,99,97,108,99,117,108,97,116,101,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,108,111,111,107,98,101,104,105,110,100,46>>]},{p,[],[<<84,104,101,32,92,67,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,105,115,32,98,101,115,116,32,97,118,111,105,100,101,100,46,32,72,111,119,101,118,101,114,44,32,111,110,101,32,119,97,121,32,111,102,32,117,115,105,110,103,32,105,116,32,116,104,97,116,32,97,118,111,105,100,115,32,116,104,101,32,112,114,111,98,108,101,109,32,111,102,32,109,97,108,102,111,114,109,101,100,32,85,84,70,32,99,104,97,114,97,99,116,101,114,115,32,105,115,32,116,111,32,117,115,101,32,97,32,108,111,111,107,97,104,101,97,100,32,116,111,32,99,104,101,99,107,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,110,101,120,116,32,99,104,97,114,97,99,116,101,114,44,32,97,115,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,117,115,101,100,32,119,105,116,104,32,97,32,85,84,70,45,56,32,115,116,114,105,110,103,32,40,105,103,110,111,114,101,32,119,104,105,116,101,115,112,97,99,101,32,97,110,100,32,108,105,110,101,32,98,114,101,97,107,115,41,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<40,63,124,32,40,63,61,91,92,120,48,48,45,92,120,55,102,93,41,40,92,67,41,32,124,10,32,32,32,32,40,63,61,91,92,120,56,48,45,92,120,123,55,102,102,125,93,41,40,92,67,41,40,92,67,41,32,124,10,32,32,32,32,40,63,61,91,92,120,123,56,48,48,125,45,92,120,123,102,102,102,102,125,93,41,40,92,67,41,40,92,67,41,40,92,67,41,32,124,10,32,32,32,32,40,63,61,91,92,120,123,49,48,48,48,48,125,45,92,120,123,49,102,102,102,102,102,125,93,41,40,92,67,41,40,92,67,41,40,92,67,41,40,92,67,41,41>>]}]},{p,[],[<<65,32,103,114,111,117,112,32,116,104,97,116,32,115,116,97,114,116,115,32,119,105,116,104,32,40,63,124,32,114,101,115,101,116,115,32,116,104,101,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,110,117,109,98,101,114,115,32,105,110,32,101,97,99,104,32,97,108,116,101,114,110,97,116,105,118,101,32,40,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<68,117,112,108,105,99,97,116,101,32,83,117,98,112,97,116,116,101,114,110,32,78,117,109,98,101,114,115>>]},<<41,46,32,84,104,101,32,97,115,115,101,114,116,105,111,110,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,101,97,99,104,32,98,114,97,110,99,104,32,99,104,101,99,107,32,116,104,101,32,110,101,120,116,32,85,84,70,45,56,32,99,104,97,114,97,99,116,101,114,32,102,111,114,32,118,97,108,117,101,115,32,119,104,111,115,101,32,101,110,99,111,100,105,110,103,32,117,115,101,115,32,49,44,32,50,44,32,51,44,32,111,114,32,52,32,98,121,116,101,115,44,32,114,101,115,112,101,99,116,105,118,101,108,121,46,32,84,104,101,32,105,110,100,105,118,105,100,117,97,108,32,98,121,116,101,115,32,111,102,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,97,114,101,32,116,104,101,110,32,99,97,112,116,117,114,101,100,32,98,121,32,116,104,101,32,97,112,112,114,111,112,114,105,97,116,101,32,110,117,109,98,101,114,32,111,102,32,103,114,111,117,112,115,46>>]},{a,[{id,<<115,101,99,116,55>>}],[]},{h2,[],[<<83,113,117,97,114,101,32,66,114,97,99,107,101,116,115,32,97,110,100,32,67,104,97,114,97,99,116,101,114,32,67,108,97,115,115,101,115>>]},{p,[],[<<65,110,32,111,112,101,110,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,32,105,110,116,114,111,100,117,99,101,115,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,116,101,114,109,105,110,97,116,101,100,32,98,121,32,97,32,99,108,111,115,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,46,32,65,32,99,108,111,115,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,32,111,110,32,105,116,115,32,111,119,110,32,105,115,32,110,111,116,32,115,112,101,99,105,97,108,32,98,121,32,100,101,102,97,117,108,116,46,32,72,111,119,101,118,101,114,44,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<80,67,82,69,95,74,65,86,65,83,67,82,73,80,84,95,67,79,77,80,65,84>>]},<<32,105,115,32,115,101,116,44,32,97,32,108,111,110,101,32,99,108,111,115,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,32,99,97,117,115,101,115,32,97,32,99,111,109,112,105,108,101,45,116,105,109,101,32,101,114,114,111,114,46,32,73,102,32,97,32,99,108,111,115,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,32,105,115,32,114,101,113,117,105,114,101,100,32,97,115,32,97,32,109,101,109,98,101,114,32,111,102,32,116,104,101,32,99,108,97,115,115,44,32,105,116,32,105,115,32,116,111,32,98,101,32,116,104,101,32,102,105,114,115,116,32,100,97,116,97,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,99,108,97,115,115,32,40,97,102,116,101,114,32,97,110,32,105,110,105,116,105,97,108,32,99,105,114,99,117,109,102,108,101,120,44,32,105,102,32,112,114,101,115,101,110,116,41,32,111,114,32,101,115,99,97,112,101,100,32,119,105,116,104,32,97,32,98,97,99,107,115,108,97,115,104,46>>]},{p,[],[<<65,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,109,97,116,99,104,101,115,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,46,32,73,110,32,97,32,85,84,70,32,109,111,100,101,44,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,99,97,110,32,98,101,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,100,97,116,97,32,117,110,105,116,32,108,111,110,103,46,32,65,32,109,97,116,99,104,101,100,32,99,104,97,114,97,99,116,101,114,32,109,117,115,116,32,98,101,32,105,110,32,116,104,101,32,115,101,116,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,100,101,102,105,110,101,100,32,98,121,32,116,104,101,32,99,108,97,115,115,44,32,117,110,108,101,115,115,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,99,108,97,115,115,32,100,101,102,105,110,105,116,105,111,110,32,105,115,32,97,32,99,105,114,99,117,109,102,108,101,120,44,32,105,110,32,119,104,105,99,104,32,99,97,115,101,32,116,104,101,32,115,117,98,106,101,99,116,32,99,104,97,114,97,99,116,101,114,32,109,117,115,116,32,110,111,116,32,98,101,32,105,110,32,116,104,101,32,115,101,116,32,100,101,102,105,110,101,100,32,98,121,32,116,104,101,32,99,108,97,115,115,46,32,73,102,32,97,32,99,105,114,99,117,109,102,108,101,120,32,105,115,32,114,101,113,117,105,114,101,100,32,97,115,32,97,32,109,101,109,98,101,114,32,111,102,32,116,104,101,32,99,108,97,115,115,44,32,101,110,115,117,114,101,32,116,104,97,116,32,105,116,32,105,115,32,110,111,116,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,44,32,111,114,32,101,115,99,97,112,101,32,105,116,32,119,105,116,104,32,97,32,98,97,99,107,115,108,97,115,104,46>>]},{p,[],[<<70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32>>,{code,[],[<<91,97,101,105,111,117,93>>]},<<32,109,97,116,99,104,101,115,32,97,110,121,32,108,111,119,101,114,99,97,115,101,32,118,111,119,101,108,44,32,119,104,105,108,101,32>>,{code,[],[<<91,94,97,101,105,111,117,93>>]},<<32,109,97,116,99,104,101,115,32,97,110,121,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,110,111,116,32,97,32,108,111,119,101,114,99,97,115,101,32,118,111,119,101,108,46,32,78,111,116,105,99,101,32,116,104,97,116,32,97,32,99,105,114,99,117,109,102,108,101,120,32,105,115,32,106,117,115,116,32,97,32,99,111,110,118,101,110,105,101,110,116,32,110,111,116,97,116,105,111,110,32,102,111,114,32,115,112,101,99,105,102,121,105,110,103,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,105,110,32,116,104,101,32,99,108,97,115,115,32,98,121,32,101,110,117,109,101,114,97,116,105,110,103,32,116,104,111,115,101,32,116,104,97,116,32,97,114,101,32,110,111,116,46,32,65,32,99,108,97,115,115,32,116,104,97,116,32,115,116,97,114,116,115,32,119,105,116,104,32,97,32,99,105,114,99,117,109,102,108,101,120,32,105,115,32,110,111,116,32,97,110,32,97,115,115,101,114,116,105,111,110,59,32,105,116,32,115,116,105,108,108,32,99,111,110,115,117,109,101,115,32,97,32,99,104,97,114,97,99,116,101,114,32,102,114,111,109,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,97,110,100,32,116,104,101,114,101,102,111,114,101,32,105,116,32,102,97,105,108,115,32,105,102,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,105,110,116,101,114,32,105,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,46>>]},{p,[],[<<73,110,32,85,84,70,45,56,32,109,111,100,101,44,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,118,97,108,117,101,115,32,62,32,50,53,53,32,40,48,120,102,102,102,102,41,32,99,97,110,32,98,101,32,105,110,99,108,117,100,101,100,32,105,110,32,97,32,99,108,97,115,115,32,97,115,32,97,32,108,105,116,101,114,97,108,32,115,116,114,105,110,103,32,111,102,32,100,97,116,97,32,117,110,105,116,115,44,32,111,114,32,98,121,32,117,115,105,110,103,32,116,104,101,32,92,120,123,32,101,115,99,97,112,105,110,103,32,109,101,99,104,97,110,105,115,109,46>>]},{p,[],[<<87,104,101,110,32,99,97,115,101,108,101,115,115,32,109,97,116,99,104,105,110,103,32,105,115,32,115,101,116,44,32,97,110,121,32,108,101,116,116,101,114,115,32,105,110,32,97,32,99,108,97,115,115,32,114,101,112,114,101,115,101,110,116,32,98,111,116,104,32,116,104,101,105,114,32,117,112,112,101,114,99,97,115,101,32,97,110,100,32,108,111,119,101,114,99,97,115,101,32,118,101,114,115,105,111,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,97,32,99,97,115,101,108,101,115,115,32>>,{code,[],[<<91,97,101,105,111,117,93>>]},<<32,109,97,116,99,104,101,115,32,34,65,34,32,97,110,100,32,34,97,34,44,32,97,110,100,32,97,32,99,97,115,101,108,101,115,115,32>>,{code,[],[<<91,94,97,101,105,111,117,93>>]},<<32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,34,65,34,44,32,98,117,116,32,97,32,99,97,115,101,102,117,108,32,118,101,114,115,105,111,110,32,119,111,117,108,100,46,32,73,110,32,97,32,85,84,70,32,109,111,100,101,44,32,80,67,82,69,32,97,108,119,97,121,115,32,117,110,100,101,114,115,116,97,110,100,115,32,116,104,101,32,99,111,110,99,101,112,116,32,111,102,32,99,97,115,101,32,102,111,114,32,99,104,97,114,97,99,116,101,114,115,32,119,104,111,115,101,32,118,97,108,117,101,115,32,97,114,101,32,60,32,50,53,54,44,32,115,111,32,99,97,115,101,108,101,115,115,32,109,97,116,99,104,105,110,103,32,105,115,32,97,108,119,97,121,115,32,112,111,115,115,105,98,108,101,46,32,70,111,114,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,104,105,103,104,101,114,32,118,97,108,117,101,115,44,32,116,104,101,32,99,111,110,99,101,112,116,32,111,102,32,99,97,115,101,32,105,115,32,115,117,112,112,111,114,116,101,100,32,111,110,108,121,32,105,102,32,80,67,82,69,32,105,115,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,121,32,115,117,112,112,111,114,116,46,32,73,102,32,121,111,117,32,119,97,110,116,32,116,111,32,117,115,101,32,99,97,115,101,108,101,115,115,32,109,97,116,99,104,105,110,103,32,105,110,32,97,32,85,84,70,32,109,111,100,101,32,102,111,114,32,99,104,97,114,97,99,116,101,114,115,32,62,61,44,32,101,110,115,117,114,101,32,116,104,97,116,32,80,67,82,69,32,105,115,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,121,32,115,117,112,112,111,114,116,32,97,110,100,32,119,105,116,104,32,85,84,70,32,115,117,112,112,111,114,116,46>>]},{p,[],[<<67,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,99,97,110,32,105,110,100,105,99,97,116,101,32,108,105,110,101,32,98,114,101,97,107,115,32,97,114,101,32,110,101,118,101,114,32,116,114,101,97,116,101,100,32,105,110,32,97,110,121,32,115,112,101,99,105,97,108,32,119,97,121,32,119,104,101,110,32,109,97,116,99,104,105,110,103,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,44,32,119,104,97,116,101,118,101,114,32,108,105,110,101,45,101,110,100,105,110,103,32,115,101,113,117,101,110,99,101,32,105,115,32,105,110,32,117,115,101,44,32,97,110,100,32,119,104,97,116,101,118,101,114,32,115,101,116,116,105,110,103,32,111,102,32,111,112,116,105,111,110,115,32>>,{code,[],[<<80,67,82,69,95,68,79,84,65,76,76>>]},<<32,97,110,100,32>>,{code,[],[<<80,67,82,69,95,77,85,76,84,73,76,73,78,69>>]},<<32,105,115,32,117,115,101,100,46,32,65,32,99,108,97,115,115,32,115,117,99,104,32,97,115,32,91,94,97,93,32,97,108,119,97,121,115,32,109,97,116,99,104,101,115,32,111,110,101,32,111,102,32,116,104,101,115,101,32,99,104,97,114,97,99,116,101,114,115,46>>]},{p,[],[<<84,104,101,32,109,105,110,117,115,32,40,104,121,112,104,101,110,41,32,99,104,97,114,97,99,116,101,114,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,115,112,101,99,105,102,121,32,97,32,114,97,110,103,101,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,91,100,45,109,93,32,109,97,116,99,104,101,115,32,97,110,121,32,108,101,116,116,101,114,32,98,101,116,119,101,101,110,32,100,32,97,110,100,32,109,44,32,105,110,99,108,117,115,105,118,101,46,32,73,102,32,97,32,109,105,110,117,115,32,99,104,97,114,97,99,116,101,114,32,105,115,32,114,101,113,117,105,114,101,100,32,105,110,32,97,32,99,108,97,115,115,44,32,105,116,32,109,117,115,116,32,98,101,32,101,115,99,97,112,101,100,32,119,105,116,104,32,97,32,98,97,99,107,115,108,97,115,104,32,111,114,32,97,112,112,101,97,114,32,105,110,32,97,32,112,111,115,105,116,105,111,110,32,119,104,101,114,101,32,105,116,32,99,97,110,110,111,116,32,98,101,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,105,110,100,105,99,97,116,105,110,103,32,97,32,114,97,110,103,101,44,32,116,121,112,105,99,97,108,108,121,32,97,115,32,116,104,101,32,102,105,114,115,116,32,111,114,32,108,97,115,116,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,99,108,97,115,115,44,32,111,114,32,105,109,109,101,100,105,97,116,101,108,121,32,97,102,116,101,114,32,97,32,114,97,110,103,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,91,98,45,100,45,122,93,32,109,97,116,99,104,101,115,32,108,101,116,116,101,114,115,32,105,110,32,116,104,101,32,114,97,110,103,101,32,98,32,116,111,32,100,44,32,97,32,104,121,112,104,101,110,32,99,104,97,114,97,99,116,101,114,44,32,111,114,32,122,46>>]},{p,[],[<<84,104,101,32,108,105,116,101,114,97,108,32,99,104,97,114,97,99,116,101,114,32,34,93,34,32,99,97,110,110,111,116,32,98,101,32,116,104,101,32,101,110,100,32,99,104,97,114,97,99,116,101,114,32,111,102,32,97,32,114,97,110,103,101,46,32,65,32,112,97,116,116,101,114,110,32,115,117,99,104,32,97,115,32,91,87,45,93,52,54,93,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,32,99,108,97,115,115,32,111,102,32,116,119,111,32,99,104,97,114,97,99,116,101,114,115,32,40,34,87,34,32,97,110,100,32,34,45,34,41,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,108,105,116,101,114,97,108,32,115,116,114,105,110,103,32,34,52,54,93,34,44,32,115,111,32,105,116,32,119,111,117,108,100,32,109,97,116,99,104,32,34,87,52,54,93,34,32,111,114,32,34,45,52,54,93,34,46,32,72,111,119,101,118,101,114,44,32,105,102,32,34,93,34,32,105,115,32,101,115,99,97,112,101,100,32,119,105,116,104,32,97,32,98,97,99,107,115,108,97,115,104,44,32,105,116,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,116,104,101,32,101,110,100,32,111,102,32,114,97,110,103,101,44,32,115,111,32,91,87,45,92,93,52,54,93,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,32,99,108,97,115,115,32,99,111,110,116,97,105,110,105,110,103,32,97,32,114,97,110,103,101,32,102,111,108,108,111,119,101,100,32,98,121,32,116,119,111,32,111,116,104,101,114,32,99,104,97,114,97,99,116,101,114,115,46,32,84,104,101,32,111,99,116,97,108,32,111,114,32,104,101,120,97,100,101,99,105,109,97,108,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,34,93,34,32,99,97,110,32,97,108,115,111,32,98,101,32,117,115,101,100,32,116,111,32,101,110,100,32,97,32,114,97,110,103,101,46>>]},{p,[],[<<65,110,32,101,114,114,111,114,32,105,115,32,103,101,110,101,114,97,116,101,100,32,105,102,32,97,32,80,79,83,73,88,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,40,115,101,101,32,98,101,108,111,119,41,32,111,114,32,97,110,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,111,116,104,101,114,32,116,104,97,110,32,111,110,101,32,116,104,97,116,32,100,101,102,105,110,101,115,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,97,112,112,101,97,114,115,32,97,116,32,97,32,112,111,105,110,116,32,119,104,101,114,101,32,97,32,114,97,110,103,101,32,101,110,100,105,110,103,32,99,104,97,114,97,99,116,101,114,32,105,115,32,101,120,112,101,99,116,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,91,122,45,92,120,102,102,93,32,105,115,32,118,97,108,105,100,44,32,98,117,116,32,91,65,45,92,100,93,32,97,110,100,32,91,65,45,91,58,100,105,103,105,116,58,93,93,32,97,114,101,32,110,111,116,46>>]},{p,[],[<<82,97,110,103,101,115,32,111,112,101,114,97,116,101,32,105,110,32,116,104,101,32,99,111,108,108,97,116,105,110,103,32,115,101,113,117,101,110,99,101,32,111,102,32,99,104,97,114,97,99,116,101,114,32,118,97,108,117,101,115,46,32,84,104,101,121,32,99,97,110,32,97,108,115,111,32,98,101,32,117,115,101,100,32,102,111,114,32,99,104,97,114,97,99,116,101,114,115,32,115,112,101,99,105,102,105,101,100,32,110,117,109,101,114,105,99,97,108,108,121,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,91,92,48,48,48,45,92,48,51,55,93,46,32,82,97,110,103,101,115,32,99,97,110,32,105,110,99,108,117,100,101,32,97,110,121,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,118,97,108,105,100,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,109,111,100,101,46>>]},{p,[],[<<73,102,32,97,32,114,97,110,103,101,32,116,104,97,116,32,105,110,99,108,117,100,101,115,32,108,101,116,116,101,114,115,32,105,115,32,117,115,101,100,32,119,104,101,110,32,99,97,115,101,108,101,115,115,32,109,97,116,99,104,105,110,103,32,105,115,32,115,101,116,44,32,105,116,32,109,97,116,99,104,101,115,32,116,104,101,32,108,101,116,116,101,114,115,32,105,110,32,101,105,116,104,101,114,32,99,97,115,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,91,87,45,99,93,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,91,93,91,92,92,94,95,96,119,120,121,122,97,98,99,93,44,32,109,97,116,99,104,101,100,32,99,97,115,101,108,101,115,115,108,121,46,32,73,110,32,97,32,110,111,110,45,85,84,70,32,109,111,100,101,44,32,105,102,32,99,104,97,114,97,99,116,101,114,32,116,97,98,108,101,115,32,102,111,114,32,97,32,70,114,101,110,99,104,32,108,111,99,97,108,101,32,97,114,101,32,105,110,32,117,115,101,44,32,91,92,120,99,56,45,92,120,99,98,93,32,109,97,116,99,104,101,115,32,97,99,99,101,110,116,101,100,32,69,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,98,111,116,104,32,99,97,115,101,115,46,32,73,110,32,85,84,70,32,109,111,100,101,115,44,32,80,67,82,69,32,115,117,112,112,111,114,116,115,32,116,104,101,32,99,111,110,99,101,112,116,32,111,102,32,99,97,115,101,32,102,111,114,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,118,97,108,117,101,115,32,62,32,50,53,53,32,111,110,108,121,32,119,104,101,110,32,105,116,32,105,115,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,121,32,115,117,112,112,111,114,116,46>>]},{p,[],[<<84,104,101,32,99,104,97,114,97,99,116,101,114,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,32,92,100,44,32,92,68,44,32,92,104,44,32,92,72,44,32,92,112,44,32,92,80,44,32,92,115,44,32,92,83,44,32,92,118,44,32,92,86,44,32,92,119,44,32,97,110,100,32,92,87,32,99,97,110,32,97,112,112,101,97,114,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,97,110,100,32,97,100,100,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,116,104,101,121,32,109,97,116,99,104,32,116,111,32,116,104,101,32,99,108,97,115,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,91,92,100,65,66,67,68,69,70,93,32,109,97,116,99,104,101,115,32,97,110,121,32,104,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,46,32,73,110,32,85,84,70,32,109,111,100,101,115,44,32,111,112,116,105,111,110,32>>,{code,[],[<<117,99,112>>]},<<32,97,102,102,101,99,116,115,32,116,104,101,32,109,101,97,110,105,110,103,115,32,111,102,32,92,100,44,32,92,115,44,32,92,119,32,97,110,100,32,116,104,101,105,114,32,117,112,112,101,114,99,97,115,101,32,112,97,114,116,110,101,114,115,44,32,106,117,115,116,32,97,115,32,105,116,32,100,111,101,115,32,119,104,101,110,32,116,104,101,121,32,97,112,112,101,97,114,32,111,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,103,101,110,101,114,105,99,95,99,104,97,114,97,99,116,101,114,95,116,121,112,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<71,101,110,101,114,105,99,32,67,104,97,114,97,99,116,101,114,32,84,121,112,101,115>>]},<<32,101,97,114,108,105,101,114,46,32,84,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,92,98,32,104,97,115,32,97,32,100,105,102,102,101,114,101,110,116,32,109,101,97,110,105,110,103,32,105,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,59,32,105,116,32,109,97,116,99,104,101,115,32,116,104,101,32,98,97,99,107,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,46,32,84,104,101,32,115,101,113,117,101,110,99,101,115,32,92,66,44,32,92,78,44,32,92,82,44,32,97,110,100,32,92,88,32,97,114,101,32,110,111,116,32,115,112,101,99,105,97,108,32,105,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,46,32,76,105,107,101,32,97,110,121,32,111,116,104,101,114,32,117,110,114,101,99,111,103,110,105,122,101,100,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,44,32,116,104,101,121,32,97,114,101,32,116,114,101,97,116,101,100,32,97,115,32,116,104,101,32,108,105,116,101,114,97,108,32,99,104,97,114,97,99,116,101,114,115,32,34,66,34,44,32,34,78,34,44,32,34,82,34,44,32,97,110,100,32,34,88,34,46>>]},{p,[],[<<65,32,99,105,114,99,117,109,102,108,101,120,32,99,97,110,32,99,111,110,118,101,110,105,101,110,116,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,32,116,104,101,32,117,112,112,101,114,99,97,115,101,32,99,104,97,114,97,99,116,101,114,32,116,121,112,101,115,32,116,111,32,115,112,101,99,105,102,121,32,97,32,109,111,114,101,32,114,101,115,116,114,105,99,116,101,100,32,115,101,116,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,110,32,116,104,101,32,109,97,116,99,104,105,110,103,32,108,111,119,101,114,99,97,115,101,32,116,121,112,101,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,99,108,97,115,115,32,91,94,92,87,95,93,32,109,97,116,99,104,101,115,32,97,110,121,32,108,101,116,116,101,114,32,111,114,32,100,105,103,105,116,44,32,98,117,116,32,110,111,116,32,117,110,100,101,114,115,99,111,114,101,44,32,119,104,105,108,101,32,91,92,119,93,32,105,110,99,108,117,100,101,115,32,117,110,100,101,114,115,99,111,114,101,46,32,65,32,112,111,115,105,116,105,118,101,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,105,115,32,116,111,32,98,101,32,114,101,97,100,32,97,115,32,34,115,111,109,101,116,104,105,110,103,32,79,82,32,115,111,109,101,116,104,105,110,103,32,79,82,32,46,46,46,34,32,97,110,100,32,97,32,110,101,103,97,116,105,118,101,32,99,108,97,115,115,32,97,115,32,34,78,79,84,32,115,111,109,101,116,104,105,110,103,32,65,78,68,32,78,79,84,32,115,111,109,101,116,104,105,110,103,32,65,78,68,32,78,79,84,32,46,46,46,34,46>>]},{p,[],[<<79,110,108,121,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,101,116,97,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,114,101,99,111,103,110,105,122,101,100,32,105,110,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,58>>]},{ul,[],[{li,[],[<<66,97,99,107,115,108,97,115,104>>]},{li,[],[<<72,121,112,104,101,110,32,40,111,110,108,121,32,119,104,101,114,101,32,105,116,32,99,97,110,32,98,101,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,115,112,101,99,105,102,121,105,110,103,32,97,32,114,97,110,103,101,41>>]},{li,[],[<<67,105,114,99,117,109,102,108,101,120,32,40,111,110,108,121,32,97,116,32,116,104,101,32,115,116,97,114,116,41>>]},{li,[],[<<79,112,101,110,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,32,40,111,110,108,121,32,119,104,101,110,32,105,116,32,99,97,110,32,98,101,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,105,110,116,114,111,100,117,99,105,110,103,32,97,32,80,111,115,105,120,32,99,108,97,115,115,32,110,97,109,101,44,32,111,114,32,102,111,114,32,97,32,115,112,101,99,105,97,108,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,102,101,97,116,117,114,101,59,32,115,101,101,32,116,104,101,32,110,101,120,116,32,116,119,111,32,115,101,99,116,105,111,110,115,41>>]},{li,[],[<<84,101,114,109,105,110,97,116,105,110,103,32,99,108,111,115,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116>>]}]},{p,[],[<<72,111,119,101,118,101,114,44,32,101,115,99,97,112,105,110,103,32,111,116,104,101,114,32,110,111,110,45,97,108,112,104,97,110,117,109,101,114,105,99,32,99,104,97,114,97,99,116,101,114,115,32,100,111,101,115,32,110,111,32,104,97,114,109,46>>]},{a,[{id,<<115,101,99,116,56>>}],[]},{h2,[],[<<80,111,115,105,120,32,67,104,97,114,97,99,116,101,114,32,67,108,97,115,115,101,115>>]},{p,[],[<<80,101,114,108,32,115,117,112,112,111,114,116,115,32,116,104,101,32,80,111,115,105,120,32,110,111,116,97,116,105,111,110,32,102,111,114,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,46,32,84,104,105,115,32,117,115,101,115,32,110,97,109,101,115,32,101,110,99,108,111,115,101,100,32,98,121,32,91,58,32,97,110,100,32,58,93,32,119,105,116,104,105,110,32,116,104,101,32,101,110,99,108,111,115,105,110,103,32,115,113,117,97,114,101,32,98,114,97,99,107,101,116,115,46,32,80,67,82,69,32,97,108,115,111,32,115,117,112,112,111,114,116,115,32,116,104,105,115,32,110,111,116,97,116,105,111,110,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,34,48,34,44,32,34,49,34,44,32,97,110,121,32,97,108,112,104,97,98,101,116,105,99,32,99,104,97,114,97,99,116,101,114,44,32,111,114,32,34,37,34,58>>]},{pre,[],[{code,[],[<<91,48,49,91,58,97,108,112,104,97,58,93,37,93>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,115,117,112,112,111,114,116,101,100,32,99,108,97,115,115,32,110,97,109,101,115,58>>]},{dl,[],[{dt,[],[<<97,108,110,117,109>>]},{dd,[],[<<76,101,116,116,101,114,115,32,97,110,100,32,100,105,103,105,116,115>>]},{dt,[],[<<97,108,112,104,97>>]},{dd,[],[<<76,101,116,116,101,114,115>>]},{dt,[],[<<98,108,97,110,107>>]},{dd,[],[<<83,112,97,99,101,32,111,114,32,116,97,98,32,111,110,108,121>>]},{dt,[],[<<99,110,116,114,108>>]},{dd,[],[<<67,111,110,116,114,111,108,32,99,104,97,114,97,99,116,101,114,115>>]},{dt,[],[<<100,105,103,105,116>>]},{dd,[],[<<68,101,99,105,109,97,108,32,100,105,103,105,116,115,32,40,115,97,109,101,32,97,115,32,92,100,41>>]},{dt,[],[<<103,114,97,112,104>>]},{dd,[],[<<80,114,105,110,116,105,110,103,32,99,104,97,114,97,99,116,101,114,115,44,32,101,120,99,108,117,100,105,110,103,32,115,112,97,99,101>>]},{dt,[],[<<108,111,119,101,114>>]},{dd,[],[<<76,111,119,101,114,99,97,115,101,32,108,101,116,116,101,114,115>>]},{dt,[],[<<112,114,105,110,116>>]},{dd,[],[<<80,114,105,110,116,105,110,103,32,99,104,97,114,97,99,116,101,114,115,44,32,105,110,99,108,117,100,105,110,103,32,115,112,97,99,101>>]},{dt,[],[<<112,117,110,99,116>>]},{dd,[],[<<80,114,105,110,116,105,110,103,32,99,104,97,114,97,99,116,101,114,115,44,32,101,120,99,108,117,100,105,110,103,32,108,101,116,116,101,114,115,44,32,100,105,103,105,116,115,44,32,97,110,100,32,115,112,97,99,101>>]},{dt,[],[<<115,112,97,99,101>>]},{dd,[],[<<87,104,105,116,101,115,112,97,99,101,32,40,116,104,101,32,115,97,109,101,32,97,115,32,92,115,32,102,114,111,109,32,80,67,82,69,32,56,46,51,52,41>>]},{dt,[],[<<117,112,112,101,114>>]},{dd,[],[<<85,112,112,101,114,99,97,115,101,32,108,101,116,116,101,114,115>>]},{dt,[],[<<119,111,114,100>>]},{dd,[],[<<34,87,111,114,100,34,32,99,104,97,114,97,99,116,101,114,115,32,40,115,97,109,101,32,97,115,32,92,119,41>>]},{dt,[],[<<120,100,105,103,105,116>>]},{dd,[],[<<72,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,115>>]}]},{p,[],[<<84,104,101,114,101,32,105,115,32,97,110,111,116,104,101,114,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32>>,{code,[],[<<97,115,99,105,105>>]},<<44,32,116,104,97,116,32,101,114,114,111,110,101,111,117,115,108,121,32,109,97,116,99,104,101,115,32,76,97,116,105,110,45,49,32,99,104,97,114,97,99,116,101,114,115,32,105,110,115,116,101,97,100,32,111,102,32,116,104,101,32,48,45,49,50,55,32,114,97,110,103,101,32,115,112,101,99,105,102,105,101,100,32,98,121,32,80,79,83,73,88,46,32,84,104,105,115,32,99,97,110,110,111,116,32,98,101,32,102,105,120,101,100,32,119,105,116,104,111,117,116,32,97,108,116,101,114,105,110,103,32,116,104,101,32,98,101,104,97,118,105,111,117,114,32,111,102,32,111,116,104,101,114,32,99,108,97,115,115,101,115,44,32,115,111,32,119,101,32,114,101,99,111,109,109,101,110,100,32,109,97,116,99,104,105,110,103,32,116,104,101,32,114,97,110,103,101,32,119,105,116,104,32>>,{code,[],[<<91,92,92,48,45,92,120,55,102,93>>]},<<32,105,110,115,116,101,97,100,46>>]},{p,[],[<<84,104,101,32,100,101,102,97,117,108,116,32,34,115,112,97,99,101,34,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,72,84,32,40,57,41,44,32,76,70,32,40,49,48,41,44,32,86,84,32,40,49,49,41,44,32,70,70,32,40,49,50,41,44,32,67,82,32,40,49,51,41,44,32,97,110,100,32,115,112,97,99,101,32,40,51,50,41,46,32,73,102,32,108,111,99,97,108,101,45,115,112,101,99,105,102,105,99,32,109,97,116,99,104,105,110,103,32,105,115,32,116,97,107,105,110,103,32,112,108,97,99,101,44,32,116,104,101,32,108,105,115,116,32,111,102,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,115,32,109,97,121,32,98,101,32,100,105,102,102,101,114,101,110,116,59,32,116,104,101,114,101,32,109,97,121,32,98,101,32,102,101,119,101,114,32,111,114,32,109,111,114,101,32,111,102,32,116,104,101,109,46,32,34,83,112,97,99,101,34,32,117,115,101,100,32,116,111,32,98,101,32,100,105,102,102,101,114,101,110,116,32,116,111,32,92,115,44,32,119,104,105,99,104,32,100,105,100,32,110,111,116,32,105,110,99,108,117,100,101,32,86,84,44,32,102,111,114,32,80,101,114,108,32,99,111,109,112,97,116,105,98,105,108,105,116,121,46,32,72,111,119,101,118,101,114,44,32,80,101,114,108,32,99,104,97,110,103,101,100,32,97,116,32,114,101,108,101,97,115,101,32,53,46,49,56,44,32,97,110,100,32,80,67,82,69,32,102,111,108,108,111,119,101,100,32,97,116,32,114,101,108,101,97,115,101,32,56,46,51,52,46,32,34,83,112,97,99,101,34,32,97,110,100,32,92,115,32,110,111,119,32,109,97,116,99,104,32,116,104,101,32,115,97,109,101,32,115,101,116,32,111,102,32,99,104,97,114,97,99,116,101,114,115,46>>]},{p,[],[<<84,104,101,32,110,97,109,101,32,34,119,111,114,100,34,32,105,115,32,97,32,80,101,114,108,32,101,120,116,101,110,115,105,111,110,44,32,97,110,100,32,34,98,108,97,110,107,34,32,105,115,32,97,32,71,78,85,32,101,120,116,101,110,115,105,111,110,32,102,114,111,109,32,80,101,114,108,32,53,46,56,46,32,65,110,111,116,104,101,114,32,80,101,114,108,32,101,120,116,101,110,115,105,111,110,32,105,115,32,110,101,103,97,116,105,111,110,44,32,119,104,105,99,104,32,105,115,32,105,110,100,105,99,97,116,101,100,32,98,121,32,97,32,94,32,99,104,97,114,97,99,116,101,114,32,97,102,116,101,114,32,116,104,101,32,99,111,108,111,110,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,34,49,34,44,32,34,50,34,44,32,111,114,32,97,110,121,32,110,111,110,45,100,105,103,105,116,58>>]},{pre,[],[{code,[],[<<91,49,50,91,58,94,100,105,103,105,116,58,93,93>>]}]},{p,[],[<<80,67,82,69,32,40,97,110,100,32,80,101,114,108,41,32,97,108,115,111,32,114,101,99,111,103,110,105,122,101,32,116,104,101,32,80,111,115,105,120,32,115,121,110,116,97,120,32,91,46,99,104,46,93,32,97,110,100,32,91,61,99,104,61,93,32,119,104,101,114,101,32,34,99,104,34,32,105,115,32,97,32,34,99,111,108,108,97,116,105,110,103,32,101,108,101,109,101,110,116,34,44,32,98,117,116,32,116,104,101,115,101,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,97,110,100,32,97,110,32,101,114,114,111,114,32,105,115,32,103,105,118,101,110,32,105,102,32,116,104,101,121,32,97,114,101,32,101,110,99,111,117,110,116,101,114,101,100,46>>]},{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,118,97,108,117,101,115,32,62,32,50,53,53,32,100,111,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,111,102,32,116,104,101,32,80,111,115,105,120,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,101,115,46,32,72,111,119,101,118,101,114,44,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<80,67,82,69,95,85,67,80>>]},<<32,105,115,32,112,97,115,115,101,100,32,116,111,32>>,{code,[],[<<112,99,114,101,95,99,111,109,112,105,108,101,40,41>>]},<<44,32,115,111,109,101,32,111,102,32,116,104,101,32,99,108,97,115,115,101,115,32,97,114,101,32,99,104,97,110,103,101,100,32,115,111,32,116,104,97,116,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,32,112,114,111,112,101,114,116,105,101,115,32,97,114,101,32,117,115,101,100,46,32,84,104,105,115,32,105,115,32,97,99,104,105,101,118,101,100,32,98,121,32,114,101,112,108,97,99,105,110,103,32,99,101,114,116,97,105,110,32,80,111,115,105,120,32,99,108,97,115,115,101,115,32,98,121,32,111,116,104,101,114,32,115,101,113,117,101,110,99,101,115,44,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[<<91,58,97,108,110,117,109,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,112,123,88,97,110,125>>]}]},{dt,[],[<<91,58,97,108,112,104,97,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,112,123,76,125>>]}]},{dt,[],[<<91,58,98,108,97,110,107,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,104>>]}]},{dt,[],[<<91,58,100,105,103,105,116,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,112,123,78,100,125>>]}]},{dt,[],[<<91,58,108,111,119,101,114,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,112,123,76,108,125>>]}]},{dt,[],[<<91,58,115,112,97,99,101,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,112,123,88,112,115,125>>]}]},{dt,[],[<<91,58,117,112,112,101,114,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,112,123,76,117,125>>]}]},{dt,[],[<<91,58,119,111,114,100,58,93>>]},{dd,[],[<<66,101,99,111,109,101,115,32>>,{em,[],[<<92,112,123,88,119,100,125>>]}]}]},{p,[],[<<78,101,103,97,116,101,100,32,118,101,114,115,105,111,110,115,44,32,115,117,99,104,32,97,115,32,91,58,94,97,108,112,104,97,58,93,44,32,117,115,101,32,92,80,32,105,110,115,116,101,97,100,32,111,102,32,92,112,46,32,84,104,114,101,101,32,111,116,104,101,114,32,80,79,83,73,88,32,99,108,97,115,115,101,115,32,97,114,101,32,104,97,110,100,108,101,100,32,115,112,101,99,105,97,108,108,121,32,105,110,32,85,67,80,32,109,111,100,101,58>>]},{dl,[],[{dt,[],[<<91,58,103,114,97,112,104,58,93>>]},{dd,[],[{p,[],[<<84,104,105,115,32,109,97,116,99,104,101,115,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,104,97,118,101,32,103,108,121,112,104,115,32,116,104,97,116,32,109,97,114,107,32,116,104,101,32,112,97,103,101,32,119,104,101,110,32,112,114,105,110,116,101,100,46,32,73,110,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,121,32,116,101,114,109,115,44,32,105,116,32,109,97,116,99,104,101,115,32,97,108,108,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,116,104,101,32,76,44,32,77,44,32,78,44,32,80,44,32,83,44,32,111,114,32,67,102,32,112,114,111,112,101,114,116,105,101,115,44,32,101,120,99,101,112,116,32,102,111,114,58>>]},{dl,[],[{dt,[],[<<85,43,48,54,49,67>>]},{dd,[],[{p,[],[<<65,114,97,98,105,99,32,76,101,116,116,101,114,32,77,97,114,107>>]}]},{dt,[],[<<85,43,49,56,48,69>>]},{dd,[],[{p,[],[<<77,111,110,103,111,108,105,97,110,32,86,111,119,101,108,32,83,101,112,97,114,97,116,111,114>>]}]},{dt,[],[<<85,43,50,48,54,54,32,45,32,85,43,50,48,54,57>>]},{dd,[],[{p,[],[<<86,97,114,105,111,117,115,32,34,105,115,111,108,97,116,101,34,115>>]}]}]}]},{dt,[],[<<91,58,112,114,105,110,116,58,93>>]},{dd,[],[{p,[],[<<84,104,105,115,32,109,97,116,99,104,101,115,32,116,104,101,32,115,97,109,101,32,99,104,97,114,97,99,116,101,114,115,32,97,115,32,91,58,103,114,97,112,104,58,93,32,112,108,117,115,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,99,111,110,116,114,111,108,115,44,32,116,104,97,116,32,105,115,44,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,116,104,101,32,90,115,32,112,114,111,112,101,114,116,121,46>>]}]},{dt,[],[<<91,58,112,117,110,99,116,58,93>>]},{dd,[],[{p,[],[<<84,104,105,115,32,109,97,116,99,104,101,115,32,97,108,108,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,104,97,118,101,32,116,104,101,32,85,110,105,99,111,100,101,32,80,32,40,112,117,110,99,116,117,97,116,105,111,110,41,32,112,114,111,112,101,114,116,121,44,32,112,108,117,115,32,116,104,111,115,101,32,99,104,97,114,97,99,116,101,114,115,32,119,104,111,115,101,32,99,111,100,101,32,112,111,105,110,116,115,32,97,114,101,32,108,101,115,115,32,116,104,97,110,32,49,50,56,32,116,104,97,116,32,104,97,118,101,32,116,104,101,32,83,32,40,83,121,109,98,111,108,41,32,112,114,111,112,101,114,116,121,46>>]}]}]},{p,[],[<<84,104,101,32,111,116,104,101,114,32,80,79,83,73,88,32,99,108,97,115,115,101,115,32,97,114,101,32,117,110,99,104,97,110,103,101,100,44,32,97,110,100,32,109,97,116,99,104,32,111,110,108,121,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,99,111,100,101,32,112,111,105,110,116,115,32,108,101,115,115,32,116,104,97,110,32,49,50,56,46>>]},{p,[],[{em,[],[<<67,111,109,112,97,116,105,98,105,108,105,116,121,32,70,101,97,116,117,114,101,32,102,111,114,32,87,111,114,100,32,66,111,117,110,100,97,114,105,101,115>>]}]},{p,[],[<<73,110,32,116,104,101,32,80,79,83,73,88,46,50,32,99,111,109,112,108,105,97,110,116,32,108,105,98,114,97,114,121,32,116,104,97,116,32,119,97,115,32,105,110,99,108,117,100,101,100,32,105,110,32,52,46,52,66,83,68,32,85,110,105,120,44,32,116,104,101,32,117,103,108,121,32,115,121,110,116,97,120,32,91,91,58,60,58,93,93,32,97,110,100,32,91,91,58,62,58,93,93,32,105,115,32,117,115,101,100,32,102,111,114,32,109,97,116,99,104,105,110,103,32,34,115,116,97,114,116,32,111,102,32,119,111,114,100,34,32,97,110,100,32,34,101,110,100,32,111,102,32,119,111,114,100,34,46,32,80,67,82,69,32,116,114,101,97,116,115,32,116,104,101,115,101,32,105,116,101,109,115,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[<<91,91,58,60,58,93,93>>]},{dd,[],[{p,[],[<<105,115,32,99,111,110,118,101,114,116,101,100,32,116,111,32,92,98,40,63,61,92,119,41>>]}]},{dt,[],[<<91,91,58,62,58,93,93>>]},{dd,[],[{p,[],[<<105,115,32,99,111,110,118,101,114,116,101,100,32,116,111,32,92,98,40,63,60,61,92,119,41>>]}]}]},{p,[],[<<79,110,108,121,32,116,104,101,115,101,32,101,120,97,99,116,32,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,115,32,97,114,101,32,114,101,99,111,103,110,105,122,101,100,46,32,65,32,115,101,113,117,101,110,99,101,32,115,117,99,104,32,97,115,32,91,97,91,58,60,58,93,98,93,32,112,114,111,118,111,107,101,115,32,101,114,114,111,114,32,102,111,114,32,97,110,32,117,110,114,101,99,111,103,110,105,122,101,100,32,80,79,83,73,88,32,99,108,97,115,115,32,110,97,109,101,46,32,84,104,105,115,32,115,117,112,112,111,114,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,80,101,114,108,46,32,73,116,32,105,115,32,112,114,111,118,105,100,101,100,32,116,111,32,104,101,108,112,32,109,105,103,114,97,116,105,111,110,115,32,102,114,111,109,32,111,116,104,101,114,32,101,110,118,105,114,111,110,109,101,110,116,115,44,32,97,110,100,32,105,115,32,98,101,115,116,32,110,111,116,32,117,115,101,100,32,105,110,32,97,110,121,32,110,101,119,32,112,97,116,116,101,114,110,115,46,32,78,111,116,101,32,116,104,97,116,32,92,98,32,109,97,116,99,104,101,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,97,110,100,32,116,104,101,32,101,110,100,32,111,102,32,97,32,119,111,114,100,32,40,115,101,101,32,34,83,105,109,112,108,101,32,97,115,115,101,114,116,105,111,110,115,34,32,97,98,111,118,101,41,44,32,97,110,100,32,105,110,32,97,32,80,101,114,108,45,115,116,121,108,101,32,112,97,116,116,101,114,110,32,116,104,101,32,112,114,101,99,101,100,105,110,103,32,111,114,32,102,111,108,108,111,119,105,110,103,32,99,104,97,114,97,99,116,101,114,32,110,111,114,109,97,108,108,121,32,115,104,111,119,115,32,119,104,105,99,104,32,105,115,32,119,97,110,116,101,100,44,32,119,105,116,104,111,117,116,32,116,104,101,32,110,101,101,100,32,102,111,114,32,116,104,101,32,97,115,115,101,114,116,105,111,110,115,32,116,104,97,116,32,97,114,101,32,117,115,101,100,32,97,98,111,118,101,32,105,110,32,111,114,100,101,114,32,116,111,32,103,105,118,101,32,101,120,97,99,116,108,121,32,116,104,101,32,80,79,83,73,88,32,98,101,104,97,118,105,111,117,114,46>>]},{a,[{id,<<115,101,99,116,57>>}],[]},{h2,[],[<<86,101,114,116,105,99,97,108,32,66,97,114>>]},{p,[],[<<86,101,114,116,105,99,97,108,32,98,97,114,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,117,115,101,100,32,116,111,32,115,101,112,97,114,97,116,101,32,97,108,116,101,114,110,97,116,105,118,101,32,112,97,116,116,101,114,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,101,105,116,104,101,114,32,34,103,105,108,98,101,114,116,34,32,111,114,32,34,115,117,108,108,105,118,97,110,34,58>>]},{pre,[],[{code,[],[<<103,105,108,98,101,114,116,124,115,117,108,108,105,118,97,110>>]}]},{p,[],[<<65,110,121,32,110,117,109,98,101,114,32,111,102,32,97,108,116,101,114,110,97,116,105,118,101,115,32,99,97,110,32,97,112,112,101,97,114,44,32,97,110,100,32,97,110,32,101,109,112,116,121,32,97,108,116,101,114,110,97,116,105,118,101,32,105,115,32,112,101,114,109,105,116,116,101,100,32,40,109,97,116,99,104,105,110,103,32,116,104,101,32,101,109,112,116,121,32,115,116,114,105,110,103,41,46,32,84,104,101,32,109,97,116,99,104,105,110,103,32,112,114,111,99,101,115,115,32,116,114,105,101,115,32,101,97,99,104,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,116,117,114,110,44,32,102,114,111,109,32,108,101,102,116,32,116,111,32,114,105,103,104,116,44,32,97,110,100,32,116,104,101,32,102,105,114,115,116,32,116,104,97,116,32,115,117,99,99,101,101,100,115,32,105,115,32,117,115,101,100,46,32,73,102,32,116,104,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,114,101,32,119,105,116,104,105,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,40,100,101,102,105,110,101,100,32,105,110,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,117,98,112,97,116,116,101,114,110,115>>]},<<41,44,32,34,115,117,99,99,101,101,100,115,34,32,109,101,97,110,115,32,109,97,116,99,104,105,110,103,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,109,97,105,110,32,112,97,116,116,101,114,110,32,97,110,100,32,116,104,101,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,46>>]},{a,[{id,<<115,101,99,116,49,48>>}],[]},{h2,[],[<<73,110,116,101,114,110,97,108,32,79,112,116,105,111,110,32,83,101,116,116,105,110,103>>]},{p,[],[<<84,104,101,32,115,101,116,116,105,110,103,115,32,111,102,32,116,104,101,32,80,101,114,108,45,99,111,109,112,97,116,105,98,108,101,32,111,112,116,105,111,110,115,32>>,{code,[],[<<99,97,115,101,108,101,115,115>>]},<<44,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<44,32>>,{code,[],[<<100,111,116,97,108,108>>]},<<44,32,97,110,100,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,98,121,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,80,101,114,108,32,111,112,116,105,111,110,32,108,101,116,116,101,114,115,32,101,110,99,108,111,115,101,100,32,98,101,116,119,101,101,110,32,34,40,63,34,32,97,110,100,32,34,41,34,46,32,84,104,101,32,111,112,116,105,111,110,32,108,101,116,116,101,114,115,32,97,114,101,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[<<105>>]},{dd,[],[<<70,111,114,32>>,{code,[],[<<99,97,115,101,108,101,115,115>>]}]},{dt,[],[<<109>>]},{dd,[],[<<70,111,114,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]}]},{dt,[],[<<115>>]},{dd,[],[<<70,111,114,32>>,{code,[],[<<100,111,116,97,108,108>>]}]},{dt,[],[<<120>>]},{dd,[],[<<70,111,114,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]}]}]},{p,[],[<<70,111,114,32,101,120,97,109,112,108,101,44,32>>,{code,[],[<<40,63,105,109,41>>]},<<32,115,101,116,115,32,99,97,115,101,108,101,115,115,44,32,109,117,108,116,105,108,105,110,101,32,109,97,116,99,104,105,110,103,46,32,84,104,101,115,101,32,111,112,116,105,111,110,115,32,99,97,110,32,97,108,115,111,32,98,101,32,117,110,115,101,116,32,98,121,32,112,114,101,99,101,100,105,110,103,32,116,104,101,32,108,101,116,116,101,114,32,119,105,116,104,32,97,32,104,121,112,104,101,110,46,32,65,32,99,111,109,98,105,110,101,100,32,115,101,116,116,105,110,103,32,97,110,100,32,117,110,115,101,116,116,105,110,103,32,115,117,99,104,32,97,115,32>>,{code,[],[<<40,63,105,109,45,115,120,41>>]},<<44,32,119,104,105,99,104,32,115,101,116,115,32>>,{code,[],[<<99,97,115,101,108,101,115,115>>]},<<32,97,110,100,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<44,32,119,104,105,108,101,32,117,110,115,101,116,116,105,110,103,32>>,{code,[],[<<100,111,116,97,108,108>>]},<<32,97,110,100,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]},<<44,32,105,115,32,97,108,115,111,32,112,101,114,109,105,116,116,101,100,46,32,73,102,32,97,32,108,101,116,116,101,114,32,97,112,112,101,97,114,115,32,98,111,116,104,32,98,101,102,111,114,101,32,97,110,100,32,97,102,116,101,114,32,116,104,101,32,104,121,112,104,101,110,44,32,116,104,101,32,111,112,116,105,111,110,32,105,115,32,117,110,115,101,116,46>>]},{p,[],[<<84,104,101,32,80,67,82,69,45,115,112,101,99,105,102,105,99,32,111,112,116,105,111,110,115,32>>,{code,[],[<<100,117,112,110,97,109,101,115>>]},<<44,32>>,{code,[],[<<117,110,103,114,101,101,100,121>>]},<<44,32,97,110,100,32>>,{code,[],[<<101,120,116,114,97>>]},<<32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,105,110,32,116,104,101,32,115,97,109,101,32,119,97,121,32,97,115,32,116,104,101,32,80,101,114,108,45,99,111,109,112,97,116,105,98,108,101,32,111,112,116,105,111,110,115,32,98,121,32,117,115,105,110,103,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,74,44,32,85,44,32,97,110,100,32,88,32,114,101,115,112,101,99,116,105,118,101,108,121,46>>]},{p,[],[<<87,104,101,110,32,111,110,101,32,111,102,32,116,104,101,115,101,32,111,112,116,105,111,110,32,99,104,97,110,103,101,115,32,111,99,99,117,114,115,32,97,116,32,116,111,112,45,108,101,118,101,108,32,40,116,104,97,116,32,105,115,44,32,110,111,116,32,105,110,115,105,100,101,32,115,117,98,112,97,116,116,101,114,110,32,112,97,114,101,110,116,104,101,115,101,115,41,44,32,116,104,101,32,99,104,97,110,103,101,32,97,112,112,108,105,101,115,32,116,111,32,116,104,101,32,114,101,109,97,105,110,100,101,114,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,116,104,97,116,32,102,111,108,108,111,119,115,46>>]},{p,[],[<<65,110,32,111,112,116,105,111,110,32,99,104,97,110,103,101,32,119,105,116,104,105,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,40,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,117,98,112,97,116,116,101,114,110,115>>]},<<41,32,97,102,102,101,99,116,115,32,111,110,108,121,32,116,104,97,116,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,102,111,108,108,111,119,115,32,105,116,46,32,83,111,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,97,98,99,32,97,110,100,32,97,66,99,32,97,110,100,32,110,111,32,111,116,104,101,114,32,115,116,114,105,110,103,115,32,40,97,115,115,117,109,105,110,103,32>>,{code,[],[<<99,97,115,101,108,101,115,115>>]},<<32,105,115,32,110,111,116,32,117,115,101,100,41,58>>]},{pre,[],[{code,[],[<<40,97,40,63,105,41,98,41,99>>]}]},{p,[],[<<66,121,32,116,104,105,115,32,109,101,97,110,115,44,32,111,112,116,105,111,110,115,32,99,97,110,32,98,101,32,109,97,100,101,32,116,111,32,104,97,118,101,32,100,105,102,102,101,114,101,110,116,32,115,101,116,116,105,110,103,115,32,105,110,32,100,105,102,102,101,114,101,110,116,32,112,97,114,116,115,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,46,32,65,110,121,32,99,104,97,110,103,101,115,32,109,97,100,101,32,105,110,32,111,110,101,32,97,108,116,101,114,110,97,116,105,118,101,32,100,111,32,99,97,114,114,121,32,111,110,32,105,110,116,111,32,115,117,98,115,101,113,117,101,110,116,32,98,114,97,110,99,104,101,115,32,119,105,116,104,105,110,32,116,104,101,32,115,97,109,101,32,115,117,98,112,97,116,116,101,114,110,46,32,70,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,97,40,63,105,41,98,124,99,41>>]}]},{p,[],[<<109,97,116,99,104,101,115,32,34,97,98,34,44,32,34,97,66,34,44,32,34,99,34,44,32,97,110,100,32,34,67,34,44,32,97,108,116,104,111,117,103,104,32,119,104,101,110,32,109,97,116,99,104,105,110,103,32,34,67,34,32,116,104,101,32,102,105,114,115,116,32,98,114,97,110,99,104,32,105,115,32,97,98,97,110,100,111,110,101,100,32,98,101,102,111,114,101,32,116,104,101,32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32,116,104,101,32,101,102,102,101,99,116,115,32,111,102,32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,115,32,111,99,99,117,114,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,46,32,84,104,101,114,101,32,119,111,117,108,100,32,98,101,32,115,111,109,101,32,119,101,105,114,100,32,98,101,104,97,118,105,111,114,32,111,116,104,101,114,119,105,115,101,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<79,116,104,101,114,32,80,67,82,69,45,115,112,101,99,105,102,105,99,32,111,112,116,105,111,110,115,32,99,97,110,32,98,101,32,115,101,116,32,98,121,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,119,104,101,110,32,116,104,101,32,99,111,109,112,105,108,105,110,103,32,111,114,32,109,97,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,99,97,108,108,101,100,46,32,83,111,109,101,116,105,109,101,115,32,116,104,101,32,112,97,116,116,101,114,110,32,99,97,110,32,99,111,110,116,97,105,110,32,115,112,101,99,105,97,108,32,108,101,97,100,105,110,103,32,115,101,113,117,101,110,99,101,115,44,32,115,117,99,104,32,97,115,32,40,42,67,82,76,70,41,44,32,116,111,32,111,118,101,114,114,105,100,101,32,119,104,97,116,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,104,97,115,32,115,101,116,32,111,114,32,119,104,97,116,32,104,97,115,32,98,101,101,110,32,100,101,102,97,117,108,116,101,100,46,32,68,101,116,97,105,108,115,32,97,114,101,32,112,114,111,118,105,100,101,100,32,105,110,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,110,101,119,108,105,110,101,95,115,101,113,117,101,110,99,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<78,101,119,108,105,110,101,32,83,101,113,117,101,110,99,101,115>>]},<<32,101,97,114,108,105,101,114,46>>]},{p,[],[<<84,104,101,32,40,42,85,84,70,56,41,32,97,110,100,32,40,42,85,67,80,41,32,108,101,97,100,105,110,103,32,115,101,113,117,101,110,99,101,115,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,115,101,116,32,85,84,70,32,97,110,100,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,121,32,109,111,100,101,115,46,32,84,104,101,121,32,97,114,101,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,115,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,97,110,100,32>>,{code,[],[<<117,99,112>>]},<<44,32,114,101,115,112,101,99,116,105,118,101,108,121,46,32,84,104,101,32,40,42,85,84,70,41,32,115,101,113,117,101,110,99,101,32,105,115,32,97,32,103,101,110,101,114,105,99,32,118,101,114,115,105,111,110,32,116,104,97,116,32,99,97,110,32,98,101,32,117,115,101,100,32,119,105,116,104,32,97,110,121,32,111,102,32,116,104,101,32,108,105,98,114,97,114,105,101,115,46,32,72,111,119,101,118,101,114,44,32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,32,99,97,110,32,115,101,116,32,111,112,116,105,111,110,32>>,{code,[],[<<110,101,118,101,114,95,117,116,102>>]},<<44,32,119,104,105,99,104,32,108,111,99,107,115,32,111,117,116,32,116,104,101,32,117,115,101,32,111,102,32,116,104,101,32,40,42,85,84,70,41,32,115,101,113,117,101,110,99,101,115,46>>]}]},{a,[{id,<<115,101,99,116,49,49>>}],[]},{h2,[],[<<83,117,98,112,97,116,116,101,114,110,115>>]},{p,[],[<<83,117,98,112,97,116,116,101,114,110,115,32,97,114,101,32,100,101,108,105,109,105,116,101,100,32,98,121,32,112,97,114,101,110,116,104,101,115,101,115,32,40,114,111,117,110,100,32,98,114,97,99,107,101,116,115,41,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,110,101,115,116,101,100,46,32,84,117,114,110,105,110,103,32,112,97,114,116,32,111,102,32,97,32,112,97,116,116,101,114,110,32,105,110,116,111,32,97,32,115,117,98,112,97,116,116,101,114,110,32,100,111,101,115,32,116,119,111,32,116,104,105,110,103,115,58>>]},{dl,[],[{dt,[],[<<49,46>>]},{dd,[],[{p,[],[<<73,116,32,108,111,99,97,108,105,122,101,115,32,97,32,115,101,116,32,111,102,32,97,108,116,101,114,110,97,116,105,118,101,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,99,97,116,97,114,97,99,116,34,44,32,34,99,97,116,101,114,112,105,108,108,97,114,34,44,32,111,114,32,34,99,97,116,34,58>>]},{pre,[],[{code,[],[<<99,97,116,40,97,114,97,99,116,124,101,114,112,105,108,108,97,114,124,41>>]}]},{p,[],[<<87,105,116,104,111,117,116,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,44,32,105,116,32,119,111,117,108,100,32,109,97,116,99,104,32,34,99,97,116,97,114,97,99,116,34,44,32,34,101,114,112,105,108,108,97,114,34,44,32,111,114,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,46>>]}]},{dt,[],[<<50,46>>]},{dd,[],[{p,[],[<<73,116,32,115,101,116,115,32,117,112,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,97,115,32,97,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,46,32,84,104,97,116,32,105,115,44,32,119,104,101,110,32,116,104,101,32,99,111,109,112,108,101,116,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,44,32,116,104,97,116,32,112,111,114,116,105,111,110,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,116,104,97,116,32,109,97,116,99,104,101,100,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,112,97,115,115,101,100,32,98,97,99,107,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,116,104,114,111,117,103,104,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<46>>]}]}]},{p,[],[<<79,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,99,111,117,110,116,101,100,32,102,114,111,109,32,108,101,102,116,32,116,111,32,114,105,103,104,116,32,40,115,116,97,114,116,105,110,103,32,102,114,111,109,32,49,41,32,116,111,32,111,98,116,97,105,110,32,110,117,109,98,101,114,115,32,102,111,114,32,116,104,101,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32,116,104,101,32,115,116,114,105,110,103,32,34,116,104,101,32,114,101,100,32,107,105,110,103,34,32,105,115,32,109,97,116,99,104,101,100,32,97,103,97,105,110,115,116,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,116,104,101,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,32,97,114,101,32,34,114,101,100,32,107,105,110,103,34,44,32,34,114,101,100,34,44,32,97,110,100,32,34,107,105,110,103,34,44,32,97,110,100,32,97,114,101,32,110,117,109,98,101,114,101,100,32,49,44,32,50,44,32,97,110,100,32,51,44,32,114,101,115,112,101,99,116,105,118,101,108,121,58>>]},{pre,[],[{code,[],[<<116,104,101,32,40,40,114,101,100,124,119,104,105,116,101,41,32,40,107,105,110,103,124,113,117,101,101,110,41,41>>]}]},{p,[],[<<73,116,32,105,115,32,110,111,116,32,97,108,119,97,121,115,32,104,101,108,112,102,117,108,32,116,104,97,116,32,112,108,97,105,110,32,112,97,114,101,110,116,104,101,115,101,115,32,102,117,108,102,105,108,108,32,116,119,111,32,102,117,110,99,116,105,111,110,115,46,32,79,102,116,101,110,32,97,32,103,114,111,117,112,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,114,101,113,117,105,114,101,100,32,119,105,116,104,111,117,116,32,97,32,99,97,112,116,117,114,105,110,103,32,114,101,113,117,105,114,101,109,101,110,116,46,32,73,102,32,97,110,32,111,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,32,105,115,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,113,117,101,115,116,105,111,110,32,109,97,114,107,32,97,110,100,32,97,32,99,111,108,111,110,44,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,100,111,101,115,32,110,111,116,32,100,111,32,97,110,121,32,99,97,112,116,117,114,105,110,103,44,32,97,110,100,32,105,115,32,110,111,116,32,99,111,117,110,116,101,100,32,119,104,101,110,32,99,111,109,112,117,116,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,97,110,121,32,115,117,98,115,101,113,117,101,110,116,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32,116,104,101,32,115,116,114,105,110,103,32,34,116,104,101,32,119,104,105,116,101,32,113,117,101,101,110,34,32,105,115,32,109,97,116,99,104,101,100,32,97,103,97,105,110,115,116,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,116,104,101,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,32,97,114,101,32,34,119,104,105,116,101,32,113,117,101,101,110,34,32,97,110,100,32,34,113,117,101,101,110,34,44,32,97,110,100,32,97,114,101,32,110,117,109,98,101,114,101,100,32,49,32,97,110,100,32,50,58>>]},{pre,[],[{code,[],[<<116,104,101,32,40,40,63,58,114,101,100,124,119,104,105,116,101,41,32,40,107,105,110,103,124,113,117,101,101,110,41,41>>]}]},{p,[],[<<84,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,105,115,32,54,53,53,51,53,46>>]},{p,[],[<<65,115,32,97,32,99,111,110,118,101,110,105,101,110,116,32,115,104,111,114,116,104,97,110,100,44,32,105,102,32,97,110,121,32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,115,32,97,114,101,32,114,101,113,117,105,114,101,100,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,97,32,110,111,110,45,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,44,32,116,104,101,32,111,112,116,105,111,110,32,108,101,116,116,101,114,115,32,99,97,110,32,97,112,112,101,97,114,32,98,101,116,119,101,101,110,32,34,63,34,32,97,110,100,32,34,58,34,46,32,84,104,117,115,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,116,119,111,32,112,97,116,116,101,114,110,115,32,109,97,116,99,104,32,116,104,101,32,115,97,109,101,32,115,101,116,32,111,102,32,115,116,114,105,110,103,115,58>>]},{pre,[],[{code,[],[<<40,63,105,58,115,97,116,117,114,100,97,121,124,115,117,110,100,97,121,41,10,40,63,58,40,63,105,41,115,97,116,117,114,100,97,121,124,115,117,110,100,97,121,41>>]}]},{p,[],[<<65,115,32,97,108,116,101,114,110,97,116,105,118,101,32,98,114,97,110,99,104,101,115,32,97,114,101,32,116,114,105,101,100,32,102,114,111,109,32,108,101,102,116,32,116,111,32,114,105,103,104,116,44,32,97,110,100,32,111,112,116,105,111,110,115,32,97,114,101,32,110,111,116,32,114,101,115,101,116,32,117,110,116,105,108,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,114,101,97,99,104,101,100,44,32,97,110,32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,32,105,110,32,111,110,101,32,98,114,97,110,99,104,32,100,111,101,115,32,97,102,102,101,99,116,32,115,117,98,115,101,113,117,101,110,116,32,98,114,97,110,99,104,101,115,44,32,115,111,32,116,104,101,32,97,98,111,118,101,32,112,97,116,116,101,114,110,115,32,109,97,116,99,104,32,98,111,116,104,32,34,83,85,78,68,65,89,34,32,97,110,100,32,34,83,97,116,117,114,100,97,121,34,46>>]},{a,[{id,<<115,101,99,116,49,50>>}],[]},{h2,[],[<<68,117,112,108,105,99,97,116,101,32,83,117,98,112,97,116,116,101,114,110,32,78,117,109,98,101,114,115>>]},{p,[],[<<80,101,114,108,32,53,46,49,48,32,105,110,116,114,111,100,117,99,101,100,32,97,32,102,101,97,116,117,114,101,32,119,104,101,114,101,32,101,97,99,104,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,117,115,101,115,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,115,32,102,111,114,32,105,116,115,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,46,32,83,117,99,104,32,97,32,115,117,98,112,97,116,116,101,114,110,32,115,116,97,114,116,115,32,119,105,116,104,32>>,{code,[],[<<40,63,124>>]},<<32,97,110,100,32,105,115,32,105,116,115,101,108,102,32,97,32,110,111,110,45,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,99,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[],[<<40,63,124,40,83,97,116,41,117,114,124,40,83,117,110,41,41,100,97,121>>]}]},{p,[],[<<65,115,32,116,104,101,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,114,101,32,105,110,115,105,100,101,32,97,32>>,{code,[],[<<40,63,124>>]},<<32,103,114,111,117,112,44,32,98,111,116,104,32,115,101,116,115,32,111,102,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,110,117,109,98,101,114,101,100,32,111,110,101,46,32,84,104,117,115,44,32,119,104,101,110,32,116,104,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,44,32,121,111,117,32,99,97,110,32,108,111,111,107,32,97,116,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,32,110,117,109,98,101,114,32,111,110,101,44,32,119,104,105,99,104,101,118,101,114,32,97,108,116,101,114,110,97,116,105,118,101,32,109,97,116,99,104,101,100,46,32,84,104,105,115,32,99,111,110,115,116,114,117,99,116,32,105,115,32,117,115,101,102,117,108,32,119,104,101,110,32,121,111,117,32,119,97,110,116,32,116,111,32,99,97,112,116,117,114,101,32,97,32,112,97,114,116,44,32,98,117,116,32,110,111,116,32,97,108,108,44,32,111,102,32,111,110,101,32,111,102,32,109,97,110,121,32,97,108,116,101,114,110,97,116,105,118,101,115,46,32,73,110,115,105,100,101,32,97,32>>,{code,[],[<<40,63,124>>]},<<32,103,114,111,117,112,44,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,110,117,109,98,101,114,101,100,32,97,115,32,117,115,117,97,108,44,32,98,117,116,32,116,104,101,32,110,117,109,98,101,114,32,105,115,32,114,101,115,101,116,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,101,97,99,104,32,98,114,97,110,99,104,46,32,84,104,101,32,110,117,109,98,101,114,115,32,111,102,32,97,110,121,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,116,104,97,116,32,102,111,108,108,111,119,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,115,116,97,114,116,32,97,102,116,101,114,32,116,104,101,32,104,105,103,104,101,115,116,32,110,117,109,98,101,114,32,117,115,101,100,32,105,110,32,97,110,121,32,98,114,97,110,99,104,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,32,105,115,32,102,114,111,109,32,116,104,101,32,80,101,114,108,32,100,111,99,117,109,101,110,116,97,116,105,111,110,59,32,116,104,101,32,110,117,109,98,101,114,115,32,117,110,100,101,114,110,101,97,116,104,32,115,104,111,119,32,105,110,32,119,104,105,99,104,32,98,117,102,102,101,114,32,116,104,101,32,99,97,112,116,117,114,101,100,32,99,111,110,116,101,110,116,32,105,115,32,115,116,111,114,101,100,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<35,32,98,101,102,111,114,101,32,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,98,114,97,110,99,104,45,114,101,115,101,116,45,45,45,45,45,45,45,45,45,45,45,32,97,102,116,101,114,10,47,32,40,32,97,32,41,32,32,40,63,124,32,120,32,40,32,121,32,41,32,122,32,124,32,40,112,32,40,113,41,32,114,41,32,124,32,40,116,41,32,117,32,40,118,41,32,41,32,40,32,122,32,41,32,47,120,10,35,32,49,32,32,32,32,32,32,32,32,32,32,32,32,50,32,32,32,32,32,32,32,32,32,50,32,32,51,32,32,32,32,32,32,32,32,50,32,32,32,32,32,51,32,32,32,32,32,52>>]}]},{p,[],[<<65,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,116,111,32,97,32,110,117,109,98,101,114,101,100,32,115,117,98,112,97,116,116,101,114,110,32,117,115,101,115,32,116,104,101,32,109,111,115,116,32,114,101,99,101,110,116,32,118,97,108,117,101,32,116,104,97,116,32,105,115,32,115,101,116,32,102,111,114,32,116,104,97,116,32,110,117,109,98,101,114,32,98,121,32,97,110,121,32,115,117,98,112,97,116,116,101,114,110,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,97,98,99,97,98,99,34,32,111,114,32,34,100,101,102,100,101,102,34,58>>]},{pre,[],[{code,[],[<<47,40,63,124,40,97,98,99,41,124,40,100,101,102,41,41,92,49,47>>]}]},{p,[],[<<73,110,32,99,111,110,116,114,97,115,116,44,32,97,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,32,116,111,32,97,32,110,117,109,98,101,114,101,100,32,115,117,98,112,97,116,116,101,114,110,32,97,108,119,97,121,115,32,114,101,102,101,114,115,32,116,111,32,116,104,101,32,102,105,114,115,116,32,111,110,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,119,105,116,104,32,116,104,101,32,103,105,118,101,110,32,110,117,109,98,101,114,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,97,98,99,97,98,99,34,32,111,114,32,34,100,101,102,97,98,99,34,58>>]},{pre,[],[{code,[],[<<47,40,63,124,40,97,98,99,41,124,40,100,101,102,41,41,40,63,49,41,47>>]}]},{p,[],[<<73,102,32,97,32,99,111,110,100,105,116,105,111,110,32,116,101,115,116,32,102,111,114,32,97,32,115,117,98,112,97,116,116,101,114,110,32,104,97,118,105,110,103,32,109,97,116,99,104,101,100,32,114,101,102,101,114,115,32,116,111,32,97,32,110,111,110,45,117,110,105,113,117,101,32,110,117,109,98,101,114,44,32,116,104,101,32,116,101,115,116,32,105,115,32,116,114,117,101,32,105,102,32,97,110,121,32,111,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,115,32,111,102,32,116,104,97,116,32,110,117,109,98,101,114,32,104,97,118,101,32,109,97,116,99,104,101,100,46>>]},{p,[],[<<65,110,32,97,108,116,101,114,110,97,116,105,118,101,32,97,112,112,114,111,97,99,104,32,117,115,105,110,103,32,116,104,105,115,32,34,98,114,97,110,99,104,32,114,101,115,101,116,34,32,102,101,97,116,117,114,101,32,105,115,32,116,111,32,117,115,101,32,100,117,112,108,105,99,97,116,101,32,110,97,109,101,100,32,115,117,98,112,97,116,116,101,114,110,115,44,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,110,101,120,116,32,115,101,99,116,105,111,110,46>>]},{a,[{id,<<115,101,99,116,49,51>>}],[]},{h2,[],[<<78,97,109,101,100,32,83,117,98,112,97,116,116,101,114,110,115>>]},{p,[],[<<73,100,101,110,116,105,102,121,105,110,103,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,98,121,32,110,117,109,98,101,114,32,105,115,32,115,105,109,112,108,101,44,32,98,117,116,32,105,116,32,99,97,110,32,98,101,32,104,97,114,100,32,116,111,32,107,101,101,112,32,116,114,97,99,107,32,111,102,32,116,104,101,32,110,117,109,98,101,114,115,32,105,110,32,99,111,109,112,108,105,99,97,116,101,100,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,46,32,65,108,115,111,44,32,105,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,109,111,100,105,102,105,101,100,44,32,116,104,101,32,110,117,109,98,101,114,115,32,99,97,110,32,99,104,97,110,103,101,46,32,84,111,32,104,101,108,112,32,119,105,116,104,32,116,104,105,115,32,100,105,102,102,105,99,117,108,116,121,44,32,80,67,82,69,32,115,117,112,112,111,114,116,115,32,116,104,101,32,110,97,109,105,110,103,32,111,102,32,115,117,98,112,97,116,116,101,114,110,115,46,32,84,104,105,115,32,102,101,97,116,117,114,101,32,119,97,115,32,110,111,116,32,97,100,100,101,100,32,116,111,32,80,101,114,108,32,117,110,116,105,108,32,114,101,108,101,97,115,101,32,53,46,49,48,46,32,80,121,116,104,111,110,32,104,97,100,32,116,104,101,32,102,101,97,116,117,114,101,32,101,97,114,108,105,101,114,44,32,97,110,100,32,80,67,82,69,32,105,110,116,114,111,100,117,99,101,100,32,105,116,32,97,116,32,114,101,108,101,97,115,101,32,52,46,48,44,32,117,115,105,110,103,32,116,104,101,32,80,121,116,104,111,110,32,115,121,110,116,97,120,46,32,80,67,82,69,32,110,111,119,32,115,117,112,112,111,114,116,115,32,98,111,116,104,32,116,104,101,32,80,101,114,108,32,97,110,100,32,116,104,101,32,80,121,116,104,111,110,32,115,121,110,116,97,120,46,32,80,101,114,108,32,97,108,108,111,119,115,32,105,100,101,110,116,105,99,97,108,108,121,32,110,117,109,98,101,114,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,116,111,32,104,97,118,101,32,100,105,102,102,101,114,101,110,116,32,110,97,109,101,115,44,32,98,117,116,32,80,67,82,69,32,100,111,101,115,32,110,111,116,46>>]},{p,[],[<<73,110,32,80,67,82,69,44,32,97,32,115,117,98,112,97,116,116,101,114,110,32,99,97,110,32,98,101,32,110,97,109,101,100,32,105,110,32,111,110,101,32,111,102,32,116,104,114,101,101,32,119,97,121,115,58,32>>,{code,[],[<<40,63,60,110,97,109,101,62,46,46,46,41>>]},<<32,111,114,32>>,{code,[],[<<40,63,39,110,97,109,101,39,46,46,46,41>>]},<<32,97,115,32,105,110,32,80,101,114,108,44,32,111,114,32>>,{code,[],[<<40,63,80,60,110,97,109,101,62,46,46,46,41>>]},<<32,97,115,32,105,110,32,80,121,116,104,111,110,46,32,82,101,102,101,114,101,110,99,101,115,32,116,111,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,102,114,111,109,32,111,116,104,101,114,32,112,97,114,116,115,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,44,32,115,117,99,104,32,97,115,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,115,44,32,114,101,99,117,114,115,105,111,110,44,32,97,110,100,32,99,111,110,100,105,116,105,111,110,115,44,32,99,97,110,32,98,101,32,109,97,100,101,32,98,121,32,110,97,109,101,32,97,110,100,32,98,121,32,110,117,109,98,101,114,46>>]},{p,[],[<<78,97,109,101,115,32,99,111,110,115,105,115,116,32,111,102,32,117,112,32,116,111,32,51,50,32,97,108,112,104,97,110,117,109,101,114,105,99,32,99,104,97,114,97,99,116,101,114,115,32,97,110,100,32,117,110,100,101,114,115,99,111,114,101,115,44,32,98,117,116,32,109,117,115,116,32,115,116,97,114,116,32,119,105,116,104,32,97,32,110,111,110,45,100,105,103,105,116,46,32,78,97,109,101,100,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,115,116,105,108,108,32,97,108,108,111,99,97,116,101,100,32,110,117,109,98,101,114,115,32,97,115,32,119,101,108,108,32,97,115,32,110,97,109,101,115,44,32,101,120,97,99,116,108,121,32,97,115,32,105,102,32,116,104,101,32,110,97,109,101,115,32,119,101,114,101,32,110,111,116,32,112,114,101,115,101,110,116,46,32,84,104,101,32>>,{code,[],[<<99,97,112,116,117,114,101>>]},<<32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,116,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<32,99,97,110,32,117,115,101,32,110,97,109,101,100,32,118,97,108,117,101,115,32,105,102,32,116,104,101,121,32,97,114,101,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,97,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,105,113,117,101,32,119,105,116,104,105,110,32,97,32,112,97,116,116,101,114,110,44,32,98,117,116,32,116,104,105,115,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,32,98,101,32,114,101,108,97,120,101,100,32,98,121,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<100,117,112,110,97,109,101,115>>]},<<32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,46,32,40,68,117,112,108,105,99,97,116,101,32,110,97,109,101,115,32,97,114,101,32,97,108,115,111,32,97,108,119,97,121,115,32,112,101,114,109,105,116,116,101,100,32,102,111,114,32,115,117,98,112,97,116,116,101,114,110,115,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,44,32,115,101,116,32,117,112,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,112,114,101,118,105,111,117,115,32,115,101,99,116,105,111,110,46,41,32,68,117,112,108,105,99,97,116,101,32,110,97,109,101,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,32,102,111,114,32,112,97,116,116,101,114,110,115,32,119,104,101,114,101,32,111,110,108,121,32,111,110,101,32,105,110,115,116,97,110,99,101,32,111,102,32,116,104,101,32,110,97,109,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,99,97,110,32,109,97,116,99,104,46,32,83,117,112,112,111,115,101,32,116,104,97,116,32,121,111,117,32,119,97,110,116,32,116,111,32,109,97,116,99,104,32,116,104,101,32,110,97,109,101,32,111,102,32,97,32,119,101,101,107,100,97,121,44,32,101,105,116,104,101,114,32,97,115,32,97,32,51,45,108,101,116,116,101,114,32,97,98,98,114,101,118,105,97,116,105,111,110,32,111,114,32,97,115,32,116,104,101,32,102,117,108,108,32,110,97,109,101,44,32,97,110,100,32,105,110,32,98,111,116,104,32,99,97,115,101,115,32,121,111,117,32,119,97,110,116,32,116,111,32,101,120,116,114,97,99,116,32,116,104,101,32,97,98,98,114,101,118,105,97,116,105,111,110,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,40,105,103,110,111,114,105,110,103,32,116,104,101,32,108,105,110,101,32,98,114,101,97,107,115,41,32,100,111,101,115,32,116,104,101,32,106,111,98,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<40,63,60,68,78,62,77,111,110,124,70,114,105,124,83,117,110,41,40,63,58,100,97,121,41,63,124,10,40,63,60,68,78,62,84,117,101,41,40,63,58,115,100,97,121,41,63,124,10,40,63,60,68,78,62,87,101,100,41,40,63,58,110,101,115,100,97,121,41,63,124,10,40,63,60,68,78,62,84,104,117,41,40,63,58,114,115,100,97,121,41,63,124,10,40,63,60,68,78,62,83,97,116,41,40,63,58,117,114,100,97,121,41,63>>]}]},{p,[],[<<84,104,101,114,101,32,97,114,101,32,102,105,118,101,32,99,97,112,116,117,114,105,110,103,32,115,117,98,115,116,114,105,110,103,115,44,32,98,117,116,32,111,110,108,121,32,111,110,101,32,105,115,32,101,118,101,114,32,115,101,116,32,97,102,116,101,114,32,97,32,109,97,116,99,104,46,32,40,65,110,32,97,108,116,101,114,110,97,116,105,118,101,32,119,97,121,32,111,102,32,115,111,108,118,105,110,103,32,116,104,105,115,32,112,114,111,98,108,101,109,32,105,115,32,116,111,32,117,115,101,32,97,32,34,98,114,97,110,99,104,32,114,101,115,101,116,34,32,115,117,98,112,97,116,116,101,114,110,44,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,112,114,101,118,105,111,117,115,32,115,101,99,116,105,111,110,46,41>>]},{p,[],[<<70,111,114,32,99,97,112,116,117,114,105,110,103,32,110,97,109,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,119,104,105,99,104,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,117,110,105,113,117,101,44,32,116,104,101,32,102,105,114,115,116,32,109,97,116,99,104,105,110,103,32,111,99,99,117,114,114,101,110,99,101,32,40,99,111,117,110,116,101,100,32,102,114,111,109,32,108,101,102,116,32,116,111,32,114,105,103,104,116,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,41,32,105,115,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<44,32,105,102,32,116,104,101,32,110,97,109,101,32,105,115,32,115,112,101,99,105,102,105,101,100,32,105,110,32,116,104,101,32>>,{code,[],[<<118,97,108,117,101,115>>]},<<32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<99,97,112,116,117,114,101>>]},<<32,115,116,97,116,101,109,101,110,116,46,32,84,104,101,32>>,{code,[],[<<97,108,108,95,110,97,109,101,115>>]},<<32,99,97,112,116,117,114,105,110,103,32,118,97,108,117,101,32,109,97,116,99,104,101,115,32,97,108,108,32,116,104,101,32,110,97,109,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,119,97,121,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<89,111,117,32,99,97,110,110,111,116,32,117,115,101,32,100,105,102,102,101,114,101,110,116,32,110,97,109,101,115,32,116,111,32,100,105,115,116,105,110,103,117,105,115,104,32,98,101,116,119,101,101,110,32,116,119,111,32,115,117,98,112,97,116,116,101,114,110,115,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,44,32,97,115,32,80,67,82,69,32,117,115,101,115,32,111,110,108,121,32,116,104,101,32,110,117,109,98,101,114,115,32,119,104,101,110,32,109,97,116,99,104,105,110,103,46,32,70,111,114,32,116,104,105,115,32,114,101,97,115,111,110,44,32,97,110,32,101,114,114,111,114,32,105,115,32,103,105,118,101,110,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,32,105,102,32,100,105,102,102,101,114,101,110,116,32,110,97,109,101,115,32,97,114,101,32,115,112,101,99,105,102,105,101,100,32,116,111,32,115,117,98,112,97,116,116,101,114,110,115,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,46,32,72,111,119,101,118,101,114,44,32,121,111,117,32,99,97,110,32,115,112,101,99,105,102,121,32,116,104,101,32,115,97,109,101,32,110,97,109,101,32,116,111,32,115,117,98,112,97,116,116,101,114,110,115,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,44,32,101,118,101,110,32,119,104,101,110,32>>,{code,[],[<<100,117,112,110,97,109,101,115>>]},<<32,105,115,32,110,111,116,32,115,101,116,46>>]}]},{a,[{id,<<115,101,99,116,49,52>>}],[]},{h2,[],[<<82,101,112,101,116,105,116,105,111,110>>]},{p,[],[<<82,101,112,101,116,105,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32,113,117,97,110,116,105,102,105,101,114,115,44,32,119,104,105,99,104,32,99,97,110,32,102,111,108,108,111,119,32,97,110,121,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,105,116,101,109,115,58>>]},{ul,[],[{li,[],[<<65,32,108,105,116,101,114,97,108,32,100,97,116,97,32,99,104,97,114,97,99,116,101,114>>]},{li,[],[<<84,104,101,32,100,111,116,32,109,101,116,97,99,104,97,114,97,99,116,101,114>>]},{li,[],[<<84,104,101,32,92,67,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101>>]},{li,[],[<<84,104,101,32,92,88,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101>>]},{li,[],[<<84,104,101,32,92,82,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101>>]},{li,[],[<<65,110,32,101,115,99,97,112,101,32,115,117,99,104,32,97,115,32,92,100,32,111,114,32,92,112,76,32,116,104,97,116,32,109,97,116,99,104,101,115,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114>>]},{li,[],[<<65,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115>>]},{li,[],[<<65,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,40,115,101,101,32,116,104,101,32,110,101,120,116,32,115,101,99,116,105,111,110,41>>]},{li,[],[<<65,32,112,97,114,101,110,116,104,101,115,105,122,101,100,32,115,117,98,112,97,116,116,101,114,110,32,40,105,110,99,108,117,100,105,110,103,32,97,115,115,101,114,116,105,111,110,115,41>>]},{li,[],[<<65,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,32,116,111,32,97,32,115,117,98,112,97,116,116,101,114,110,32,40,114,101,99,117,114,115,105,118,101,32,111,114,32,111,116,104,101,114,119,105,115,101,41>>]}]},{p,[],[<<84,104,101,32,103,101,110,101,114,97,108,32,114,101,112,101,116,105,116,105,111,110,32,113,117,97,110,116,105,102,105,101,114,32,115,112,101,99,105,102,105,101,115,32,97,32,109,105,110,105,109,117,109,32,97,110,100,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,112,101,114,109,105,116,116,101,100,32,109,97,116,99,104,101,115,44,32,98,121,32,103,105,118,105,110,103,32,116,104,101,32,116,119,111,32,110,117,109,98,101,114,115,32,105,110,32,99,117,114,108,121,32,98,114,97,99,107,101,116,115,32,40,98,114,97,99,101,115,41,44,32,115,101,112,97,114,97,116,101,100,32,98,121,32,97,32,99,111,109,109,97,46,32,84,104,101,32,110,117,109,98,101,114,115,32,109,117,115,116,32,98,101,32,60,32,54,53,53,51,54,44,32,97,110,100,32,116,104,101,32,102,105,114,115,116,32,109,117,115,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,111,114,32,101,113,117,97,108,32,116,111,32,116,104,101,32,115,101,99,111,110,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,34,122,122,34,44,32,34,122,122,122,34,44,32,111,114,32,34,122,122,122,122,34,58>>]},{pre,[],[{code,[],[<<122,123,50,44,52,125>>]}]},{p,[],[<<65,32,99,108,111,115,105,110,103,32,98,114,97,99,101,32,111,110,32,105,116,115,32,111,119,110,32,105,115,32,110,111,116,32,97,32,115,112,101,99,105,97,108,32,99,104,97,114,97,99,116,101,114,46,32,73,102,32,116,104,101,32,115,101,99,111,110,100,32,110,117,109,98,101,114,32,105,115,32,111,109,105,116,116,101,100,44,32,98,117,116,32,116,104,101,32,99,111,109,109,97,32,105,115,32,112,114,101,115,101,110,116,44,32,116,104,101,114,101,32,105,115,32,110,111,32,117,112,112,101,114,32,108,105,109,105,116,46,32,73,102,32,116,104,101,32,115,101,99,111,110,100,32,110,117,109,98,101,114,32,97,110,100,32,116,104,101,32,99,111,109,109,97,32,97,114,101,32,98,111,116,104,32,111,109,105,116,116,101,100,44,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,32,115,112,101,99,105,102,105,101,115,32,97,110,32,101,120,97,99,116,32,110,117,109,98,101,114,32,111,102,32,114,101,113,117,105,114,101,100,32,109,97,116,99,104,101,115,46,32,84,104,117,115,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,97,116,32,108,101,97,115,116,32,116,104,114,101,101,32,115,117,99,99,101,115,115,105,118,101,32,118,111,119,101,108,115,44,32,98,117,116,32,99,97,110,32,109,97,116,99,104,32,109,97,110,121,32,109,111,114,101,58>>]},{pre,[],[{code,[],[<<91,97,101,105,111,117,93,123,51,44,125>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,101,120,97,99,116,108,121,32,101,105,103,104,116,32,100,105,103,105,116,115,58>>]},{pre,[],[{code,[],[<<92,100,123,56,125>>]}]},{p,[],[<<65,110,32,111,112,101,110,105,110,103,32,99,117,114,108,121,32,98,114,97,99,107,101,116,32,116,104,97,116,32,97,112,112,101,97,114,115,32,105,110,32,97,32,112,111,115,105,116,105,111,110,32,119,104,101,114,101,32,97,32,113,117,97,110,116,105,102,105,101,114,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,44,32,111,114,32,111,110,101,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,115,121,110,116,97,120,32,111,102,32,97,32,113,117,97,110,116,105,102,105,101,114,44,32,105,115,32,116,97,107,101,110,32,97,115,32,97,32,108,105,116,101,114,97,108,32,99,104,97,114,97,99,116,101,114,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,123,44,54,125,32,105,115,32,110,111,116,32,97,32,113,117,97,110,116,105,102,105,101,114,44,32,98,117,116,32,97,32,108,105,116,101,114,97,108,32,115,116,114,105,110,103,32,111,102,32,102,111,117,114,32,99,104,97,114,97,99,116,101,114,115,46>>]},{p,[],[<<73,110,32,85,110,105,99,111,100,101,32,109,111,100,101,44,32,113,117,97,110,116,105,102,105,101,114,115,32,97,112,112,108,121,32,116,111,32,99,104,97,114,97,99,116,101,114,115,32,114,97,116,104,101,114,32,116,104,97,110,32,116,111,32,105,110,100,105,118,105,100,117,97,108,32,100,97,116,97,32,117,110,105,116,115,46,32,84,104,117,115,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,92,120,123,49,48,48,125,123,50,125,32,109,97,116,99,104,101,115,32,116,119,111,32,99,104,97,114,97,99,116,101,114,115,44,32,101,97,99,104,32,111,102,32,119,104,105,99,104,32,105,115,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,32,50,45,98,121,116,101,32,115,101,113,117,101,110,99,101,32,105,110,32,97,32,85,84,70,45,56,32,115,116,114,105,110,103,46,32,83,105,109,105,108,97,114,108,121,44,32,92,88,123,51,125,32,109,97,116,99,104,101,115,32,116,104,114,101,101,32,85,110,105,99,111,100,101,32,101,120,116,101,110,100,101,100,32,103,114,97,112,104,101,109,101,32,99,108,117,115,116,101,114,115,44,32,101,97,99,104,32,111,102,32,119,104,105,99,104,32,99,97,110,32,98,101,32,109,97,110,121,32,100,97,116,97,32,117,110,105,116,115,32,108,111,110,103,32,40,97,110,100,32,116,104,101,121,32,99,97,110,32,98,101,32,111,102,32,100,105,102,102,101,114,101,110,116,32,108,101,110,103,116,104,115,41,46>>]},{p,[],[<<84,104,101,32,113,117,97,110,116,105,102,105,101,114,32,123,48,125,32,105,115,32,112,101,114,109,105,116,116,101,100,44,32,99,97,117,115,105,110,103,32,116,104,101,32,101,120,112,114,101,115,115,105,111,110,32,116,111,32,98,101,104,97,118,101,32,97,115,32,105,102,32,116,104,101,32,112,114,101,118,105,111,117,115,32,105,116,101,109,32,97,110,100,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,32,119,101,114,101,32,110,111,116,32,112,114,101,115,101,110,116,46,32,84,104,105,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,32,102,111,114,32,115,117,98,112,97,116,116,101,114,110,115,32,116,104,97,116,32,97,114,101,32,114,101,102,101,114,101,110,99,101,100,32,97,115,32,115,117,98,114,111,117,116,105,110,101,115,32,102,114,111,109,32,101,108,115,101,119,104,101,114,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,40,98,117,116,32,115,101,101,32,97,108,115,111,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,100,101,102,105,110,105,110,103,95,115,117,98,112,97,116,116,101,114,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<68,101,102,105,110,105,110,103,32,83,117,98,112,97,116,116,101,114,110,115,32,102,111,114,32,85,115,101,32,98,121,32,82,101,102,101,114,101,110,99,101,32,79,110,108,121>>]},<<41,46,32,73,116,101,109,115,32,111,116,104,101,114,32,116,104,97,110,32,115,117,98,112,97,116,116,101,114,110,115,32,116,104,97,116,32,104,97,118,101,32,97,32,123,48,125,32,113,117,97,110,116,105,102,105,101,114,32,97,114,101,32,111,109,105,116,116,101,100,32,102,114,111,109,32,116,104,101,32,99,111,109,112,105,108,101,100,32,112,97,116,116,101,114,110,46>>]},{p,[],[<<70,111,114,32,99,111,110,118,101,110,105,101,110,99,101,44,32,116,104,101,32,116,104,114,101,101,32,109,111,115,116,32,99,111,109,109,111,110,32,113,117,97,110,116,105,102,105,101,114,115,32,104,97,118,101,32,115,105,110,103,108,101,45,99,104,97,114,97,99,116,101,114,32,97,98,98,114,101,118,105,97,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[<<42>>]},{dd,[],[<<69,113,117,105,118,97,108,101,110,116,32,116,111,32,123,48,44,125>>]},{dt,[],[<<43>>]},{dd,[],[<<69,113,117,105,118,97,108,101,110,116,32,116,111,32,123,49,44,125>>]},{dt,[],[<<63>>]},{dd,[],[<<69,113,117,105,118,97,108,101,110,116,32,116,111,32,123,48,44,49,125>>]}]},{p,[],[<<73,110,102,105,110,105,116,101,32,108,111,111,112,115,32,99,97,110,32,98,101,32,99,111,110,115,116,114,117,99,116,101,100,32,98,121,32,102,111,108,108,111,119,105,110,103,32,97,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,99,97,110,32,109,97,116,99,104,32,110,111,32,99,104,97,114,97,99,116,101,114,115,32,119,105,116,104,32,97,32,113,117,97,110,116,105,102,105,101,114,32,116,104,97,116,32,104,97,115,32,110,111,32,117,112,112,101,114,32,108,105,109,105,116,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,97,63,41,42>>]}]},{p,[],[<<69,97,114,108,105,101,114,32,118,101,114,115,105,111,110,115,32,111,102,32,80,101,114,108,32,97,110,100,32,80,67,82,69,32,117,115,101,100,32,116,111,32,103,105,118,101,32,97,110,32,101,114,114,111,114,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,32,102,111,114,32,115,117,99,104,32,112,97,116,116,101,114,110,115,46,32,72,111,119,101,118,101,114,44,32,97,115,32,116,104,101,114,101,32,97,114,101,32,99,97,115,101,115,32,119,104,101,114,101,32,116,104,105,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,44,32,115,117,99,104,32,112,97,116,116,101,114,110,115,32,97,114,101,32,110,111,119,32,97,99,99,101,112,116,101,100,46,32,72,111,119,101,118,101,114,44,32,105,102,32,97,110,121,32,114,101,112,101,116,105,116,105,111,110,32,111,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,110,111,32,99,104,97,114,97,99,116,101,114,115,44,32,116,104,101,32,108,111,111,112,32,105,115,32,102,111,114,99,105,98,108,121,32,98,114,111,107,101,110,46>>]},{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,115,32,97,114,101,32,34,103,114,101,101,100,121,34,44,32,116,104,97,116,32,105,115,44,32,116,104,101,121,32,109,97,116,99,104,32,97,115,32,109,117,99,104,32,97,115,32,112,111,115,115,105,98,108,101,32,40,117,112,32,116,111,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,112,101,114,109,105,116,116,101,100,32,116,105,109,101,115,41,44,32,119,105,116,104,111,117,116,32,99,97,117,115,105,110,103,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,112,97,116,116,101,114,110,32,116,111,32,102,97,105,108,46,32,84,104,101,32,99,108,97,115,115,105,99,32,101,120,97,109,112,108,101,32,111,102,32,119,104,101,114,101,32,116,104,105,115,32,103,105,118,101,115,32,112,114,111,98,108,101,109,115,32,105,115,32,105,110,32,116,114,121,105,110,103,32,116,111,32,109,97,116,99,104,32,99,111,109,109,101,110,116,115,32,105,110,32,67,32,112,114,111,103,114,97,109,115,46,32,84,104,101,115,101,32,97,112,112,101,97,114,32,98,101,116,119,101,101,110,32,47,42,32,97,110,100,32,42,47,46,32,87,105,116,104,105,110,32,116,104,101,32,99,111,109,109,101,110,116,44,32,105,110,100,105,118,105,100,117,97,108,32,42,32,97,110,100,32,47,32,99,104,97,114,97,99,116,101,114,115,32,99,97,110,32,97,112,112,101,97,114,46,32,65,110,32,97,116,116,101,109,112,116,32,116,111,32,109,97,116,99,104,32,67,32,99,111,109,109,101,110,116,115,32,98,121,32,97,112,112,108,121,105,110,103,32,116,104,101,32,112,97,116,116,101,114,110>>]},{pre,[],[{code,[],[<<47,92,42,46,42,92,42,47>>]}]},{p,[],[<<116,111,32,116,104,101,32,115,116,114,105,110,103>>]},{pre,[],[{code,[],[<<47,42,32,102,105,114,115,116,32,99,111,109,109,101,110,116,32,42,47,32,32,110,111,116,32,99,111,109,109,101,110,116,32,32,47,42,32,115,101,99,111,110,100,32,99,111,109,109,101,110,116,32,42,47>>]}]},{p,[],[<<102,97,105,108,115,44,32,97,115,32,105,116,32,109,97,116,99,104,101,115,32,116,104,101,32,101,110,116,105,114,101,32,115,116,114,105,110,103,32,111,119,105,110,103,32,116,111,32,116,104,101,32,103,114,101,101,100,105,110,101,115,115,32,111,102,32,116,104,101,32,46,42,32,105,116,101,109,46>>]},{p,[],[<<72,111,119,101,118,101,114,44,32,105,102,32,97,32,113,117,97,110,116,105,102,105,101,114,32,105,115,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,113,117,101,115,116,105,111,110,32,109,97,114,107,44,32,105,116,32,99,101,97,115,101,115,32,116,111,32,98,101,32,103,114,101,101,100,121,44,32,97,110,100,32,105,110,115,116,101,97,100,32,109,97,116,99,104,101,115,32,116,104,101,32,109,105,110,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,116,105,109,101,115,32,112,111,115,115,105,98,108,101,44,32,115,111,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,100,111,101,115,32,116,104,101,32,114,105,103,104,116,32,116,104,105,110,103,32,119,105,116,104,32,116,104,101,32,67,32,99,111,109,109,101,110,116,115,58>>]},{pre,[],[{code,[],[<<47,92,42,46,42,63,92,42,47>>]}]},{p,[],[<<84,104,101,32,109,101,97,110,105,110,103,32,111,102,32,116,104,101,32,118,97,114,105,111,117,115,32,113,117,97,110,116,105,102,105,101,114,115,32,105,115,32,110,111,116,32,111,116,104,101,114,119,105,115,101,32,99,104,97,110,103,101,100,44,32,111,110,108,121,32,116,104,101,32,112,114,101,102,101,114,114,101,100,32,110,117,109,98,101,114,32,111,102,32,109,97,116,99,104,101,115,46,32,68,111,32,110,111,116,32,99,111,110,102,117,115,101,32,116,104,105,115,32,117,115,101,32,111,102,32,113,117,101,115,116,105,111,110,32,109,97,114,107,32,119,105,116,104,32,105,116,115,32,117,115,101,32,97,115,32,97,32,113,117,97,110,116,105,102,105,101,114,32,105,110,32,105,116,115,32,111,119,110,32,114,105,103,104,116,46,32,65,115,32,105,116,32,104,97,115,32,116,119,111,32,117,115,101,115,44,32,105,116,32,99,97,110,32,115,111,109,101,116,105,109,101,115,32,97,112,112,101,97,114,32,100,111,117,98,108,101,100,44,32,97,115,32,105,110>>]},{pre,[],[{code,[],[<<92,100,63,63,92,100>>]}]},{p,[],[<<119,104,105,99,104,32,109,97,116,99,104,101,115,32,111,110,101,32,100,105,103,105,116,32,98,121,32,112,114,101,102,101,114,101,110,99,101,44,32,98,117,116,32,99,97,110,32,109,97,116,99,104,32,116,119,111,32,105,102,32,116,104,97,116,32,105,115,32,116,104,101,32,111,110,108,121,32,119,97,121,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,46>>]},{p,[],[<<73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,103,114,101,101,100,121>>]},<<32,105,115,32,115,101,116,32,40,97,110,32,111,112,116,105,111,110,32,116,104,97,116,32,105,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,32,105,110,32,80,101,114,108,41,44,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,115,32,97,114,101,32,110,111,116,32,103,114,101,101,100,121,32,98,121,32,100,101,102,97,117,108,116,44,32,98,117,116,32,105,110,100,105,118,105,100,117,97,108,32,111,110,101,115,32,99,97,110,32,98,101,32,109,97,100,101,32,103,114,101,101,100,121,32,98,121,32,102,111,108,108,111,119,105,110,103,32,116,104,101,109,32,119,105,116,104,32,97,32,113,117,101,115,116,105,111,110,32,109,97,114,107,46,32,84,104,97,116,32,105,115,44,32,105,116,32,105,110,118,101,114,116,115,32,116,104,101,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,46>>]},{p,[],[<<87,104,101,110,32,97,32,112,97,114,101,110,116,104,101,115,105,122,101,100,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,113,117,97,110,116,105,102,105,101,100,32,119,105,116,104,32,97,32,109,105,110,105,109,117,109,32,114,101,112,101,97,116,32,99,111,117,110,116,32,116,104,97,116,32,105,115,32,62,32,49,32,111,114,32,119,105,116,104,32,97,32,108,105,109,105,116,101,100,32,109,97,120,105,109,117,109,44,32,109,111,114,101,32,109,101,109,111,114,121,32,105,115,32,114,101,113,117,105,114,101,100,32,102,111,114,32,116,104,101,32,99,111,109,112,105,108,101,100,32,112,97,116,116,101,114,110,44,32,105,110,32,112,114,111,112,111,114,116,105,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,109,105,110,105,109,117,109,32,111,114,32,109,97,120,105,109,117,109,46>>]},{p,[],[<<73,102,32,97,32,112,97,116,116,101,114,110,32,115,116,97,114,116,115,32,119,105,116,104,32,46,42,32,111,114,32,46,123,48,44,125,32,97,110,100,32,111,112,116,105,111,110,32>>,{code,[],[<<100,111,116,97,108,108>>]},<<32,40,101,113,117,105,118,97,108,101,110,116,32,116,111,32,80,101,114,108,32,111,112,116,105,111,110,32>>,{code,[],[<<47,115>>]},<<41,32,105,115,32,115,101,116,44,32,116,104,117,115,32,97,108,108,111,119,105,110,103,32,116,104,101,32,100,111,116,32,116,111,32,109,97,116,99,104,32,110,101,119,108,105,110,101,115,44,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,105,109,112,108,105,99,105,116,108,121,32,97,110,99,104,111,114,101,100,44,32,98,101,99,97,117,115,101,32,119,104,97,116,101,118,101,114,32,102,111,108,108,111,119,115,32,105,115,32,116,114,105,101,100,32,97,103,97,105,110,115,116,32,101,118,101,114,121,32,99,104,97,114,97,99,116,101,114,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,83,111,44,32,116,104,101,114,101,32,105,115,32,110,111,32,112,111,105,110,116,32,105,110,32,114,101,116,114,121,105,110,103,32,116,104,101,32,111,118,101,114,97,108,108,32,109,97,116,99,104,32,97,116,32,97,110,121,32,112,111,115,105,116,105,111,110,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,46,32,80,67,82,69,32,110,111,114,109,97,108,108,121,32,116,114,101,97,116,115,32,115,117,99,104,32,97,32,112,97,116,116,101,114,110,32,97,115,32,105,102,32,105,116,32,119,97,115,32,112,114,101,99,101,100,101,100,32,98,121,32,92,65,46>>]},{p,[],[<<73,110,32,99,97,115,101,115,32,119,104,101,114,101,32,105,116,32,105,115,32,107,110,111,119,110,32,116,104,97,116,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,115,32,110,111,32,110,101,119,108,105,110,101,115,44,32,105,116,32,105,115,32,119,111,114,116,104,32,115,101,116,116,105,110,103,32>>,{code,[],[<<100,111,116,97,108,108>>]},<<32,116,111,32,111,98,116,97,105,110,32,116,104,105,115,32,111,112,116,105,109,105,122,97,116,105,111,110,44,32,111,114,32,97,108,116,101,114,110,97,116,105,118,101,108,121,32,117,115,105,110,103,32,94,32,116,111,32,105,110,100,105,99,97,116,101,32,97,110,99,104,111,114,105,110,103,32,101,120,112,108,105,99,105,116,108,121,46>>]},{p,[],[<<72,111,119,101,118,101,114,44,32,116,104,101,114,101,32,97,114,101,32,115,111,109,101,32,99,97,115,101,115,32,119,104,101,114,101,32,116,104,101,32,111,112,116,105,109,105,122,97,116,105,111,110,32,99,97,110,110,111,116,32,98,101,32,117,115,101,100,46,32,87,104,101,110,32,46,42,32,105,115,32,105,110,115,105,100,101,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,116,104,97,116,32,97,114,101,32,116,104,101,32,115,117,98,106,101,99,116,32,111,102,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,101,108,115,101,119,104,101,114,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,44,32,97,32,109,97,116,99,104,32,97,116,32,116,104,101,32,115,116,97,114,116,32,99,97,110,32,102,97,105,108,32,119,104,101,114,101,32,97,32,108,97,116,101,114,32,111,110,101,32,115,117,99,99,101,101,100,115,46,32,67,111,110,115,105,100,101,114,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,46,42,41,97,98,99,92,49>>]}]},{p,[],[<<73,102,32,116,104,101,32,115,117,98,106,101,99,116,32,105,115,32,34,120,121,122,49,50,51,97,98,99,49,50,51,34,44,32,116,104,101,32,109,97,116,99,104,32,112,111,105,110,116,32,105,115,32,116,104,101,32,102,111,117,114,116,104,32,99,104,97,114,97,99,116,101,114,46,32,84,104,101,114,101,102,111,114,101,44,32,115,117,99,104,32,97,32,112,97,116,116,101,114,110,32,105,115,32,110,111,116,32,105,109,112,108,105,99,105,116,108,121,32,97,110,99,104,111,114,101,100,46>>]},{p,[],[<<65,110,111,116,104,101,114,32,99,97,115,101,32,119,104,101,114,101,32,105,109,112,108,105,99,105,116,32,97,110,99,104,111,114,105,110,103,32,105,115,32,110,111,116,32,97,112,112,108,105,101,100,32,105,115,32,119,104,101,110,32,116,104,101,32,108,101,97,100,105,110,103,32,46,42,32,105,115,32,105,110,115,105,100,101,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,46,32,79,110,99,101,32,97,103,97,105,110,44,32,97,32,109,97,116,99,104,32,97,116,32,116,104,101,32,115,116,97,114,116,32,99,97,110,32,102,97,105,108,32,119,104,101,114,101,32,97,32,108,97,116,101,114,32,111,110,101,32,115,117,99,99,101,101,100,115,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[],[<<40,63,62,46,42,63,97,41,98>>]}]},{p,[],[<<73,116,32,109,97,116,99,104,101,115,32,34,97,98,34,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,34,97,97,98,34,46,32,84,104,101,32,117,115,101,32,111,102,32,116,104,101,32,98,97,99,107,116,114,97,99,107,105,110,103,32,99,111,110,116,114,111,108,32,118,101,114,98,115,32,40,42,80,82,85,78,69,41,32,97,110,100,32,40,42,83,75,73,80,41,32,97,108,115,111,32,100,105,115,97,98,108,101,32,116,104,105,115,32,111,112,116,105,109,105,122,97,116,105,111,110,46>>]},{p,[],[<<87,104,101,110,32,97,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,114,101,112,101,97,116,101,100,44,32,116,104,101,32,118,97,108,117,101,32,99,97,112,116,117,114,101,100,32,105,115,32,116,104,101,32,115,117,98,115,116,114,105,110,103,32,116,104,97,116,32,109,97,116,99,104,101,100,32,116,104,101,32,102,105,110,97,108,32,105,116,101,114,97,116,105,111,110,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,97,102,116,101,114>>]},{pre,[],[{code,[],[<<40,116,119,101,101,100,108,101,91,100,117,109,101,93,123,51,125,92,115,42,41,43>>]}]},{p,[],[<<104,97,115,32,109,97,116,99,104,101,100,32,34,116,119,101,101,100,108,101,100,117,109,32,116,119,101,101,100,108,101,100,101,101,34,44,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,32,105,115,32,34,116,119,101,101,100,108,101,100,101,101,34,46,32,72,111,119,101,118,101,114,44,32,105,102,32,116,104,101,114,101,32,97,114,101,32,110,101,115,116,101,100,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,44,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,99,97,112,116,117,114,101,100,32,118,97,108,117,101,115,32,99,97,110,32,104,97,118,101,32,98,101,101,110,32,115,101,116,32,105,110,32,112,114,101,118,105,111,117,115,32,105,116,101,114,97,116,105,111,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,97,102,116,101,114>>]},{pre,[],[{code,[],[<<47,40,97,124,40,98,41,41,43,47>>]}]},{p,[],[<<109,97,116,99,104,101,115,32,34,97,98,97,34,44,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,115,101,99,111,110,100,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,32,105,115,32,34,98,34,46>>]},{a,[{id,<<115,101,99,116,49,53>>}],[]},{h2,[],[<<65,116,111,109,105,99,32,71,114,111,117,112,105,110,103,32,97,110,100,32,80,111,115,115,101,115,115,105,118,101,32,81,117,97,110,116,105,102,105,101,114,115>>]},{p,[],[<<87,105,116,104,32,98,111,116,104,32,109,97,120,105,109,105,122,105,110,103,32,40,34,103,114,101,101,100,121,34,41,32,97,110,100,32,109,105,110,105,109,105,122,105,110,103,32,40,34,117,110,103,114,101,101,100,121,34,32,111,114,32,34,108,97,122,121,34,41,32,114,101,112,101,116,105,116,105,111,110,44,32,102,97,105,108,117,114,101,32,111,102,32,119,104,97,116,32,102,111,108,108,111,119,115,32,110,111,114,109,97,108,108,121,32,99,97,117,115,101,115,32,116,104,101,32,114,101,112,101,97,116,101,100,32,105,116,101,109,32,116,111,32,98,101,32,114,101,45,101,118,97,108,117,97,116,101,100,32,116,111,32,115,101,101,32,105,102,32,97,32,100,105,102,102,101,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,114,101,112,101,97,116,115,32,97,108,108,111,119,115,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,112,97,116,116,101,114,110,32,116,111,32,109,97,116,99,104,46,32,83,111,109,101,116,105,109,101,115,32,105,116,32,105,115,32,117,115,101,102,117,108,32,116,111,32,112,114,101,118,101,110,116,32,116,104,105,115,44,32,101,105,116,104,101,114,32,116,111,32,99,104,97,110,103,101,32,116,104,101,32,110,97,116,117,114,101,32,111,102,32,116,104,101,32,109,97,116,99,104,44,32,111,114,32,116,111,32,99,97,117,115,101,32,105,116,32,116,111,32,102,97,105,108,32,101,97,114,108,105,101,114,32,116,104,97,110,32,105,116,32,111,116,104,101,114,119,105,115,101,32,109,105,103,104,116,44,32,119,104,101,110,32,116,104,101,32,97,117,116,104,111,114,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,107,110,111,119,115,32,116,104,97,116,32,116,104,101,114,101,32,105,115,32,110,111,32,112,111,105,110,116,32,105,110,32,99,97,114,114,121,105,110,103,32,111,110,46>>]},{p,[],[<<67,111,110,115,105,100,101,114,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,112,97,116,116,101,114,110,32,92,100,43,102,111,111,32,119,104,101,110,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,117,98,106,101,99,116,32,108,105,110,101,58>>]},{pre,[],[{code,[],[<<49,50,51,52,53,54,98,97,114>>]}]},{p,[],[<<65,102,116,101,114,32,109,97,116,99,104,105,110,103,32,97,108,108,32,115,105,120,32,100,105,103,105,116,115,32,97,110,100,32,116,104,101,110,32,102,97,105,108,105,110,103,32,116,111,32,109,97,116,99,104,32,34,102,111,111,34,44,32,116,104,101,32,110,111,114,109,97,108,32,97,99,116,105,111,110,32,111,102,32,116,104,101,32,109,97,116,99,104,101,114,32,105,115,32,116,111,32,116,114,121,32,97,103,97,105,110,32,119,105,116,104,32,111,110,108,121,32,102,105,118,101,32,100,105,103,105,116,115,32,109,97,116,99,104,105,110,103,32,105,116,101,109,32,92,100,43,44,32,97,110,100,32,116,104,101,110,32,119,105,116,104,32,102,111,117,114,44,32,97,110,100,32,115,111,32,111,110,44,32,98,101,102,111,114,101,32,117,108,116,105,109,97,116,101,108,121,32,102,97,105,108,105,110,103,46,32,34,65,116,111,109,105,99,32,103,114,111,117,112,105,110,103,34,32,40,97,32,116,101,114,109,32,116,97,107,101,110,32,102,114,111,109,32,74,101,102,102,114,101,121,32,70,114,105,101,100,108,39,115,32,98,111,111,107,41,32,112,114,111,118,105,100,101,115,32,116,104,101,32,109,101,97,110,115,32,102,111,114,32,115,112,101,99,105,102,121,105,110,103,32,116,104,97,116,32,111,110,99,101,32,97,32,115,117,98,112,97,116,116,101,114,110,32,104,97,115,32,109,97,116,99,104,101,100,44,32,105,116,32,105,115,32,110,111,116,32,116,111,32,98,101,32,114,101,45,101,118,97,108,117,97,116,101,100,32,105,110,32,116,104,105,115,32,119,97,121,46>>]},{p,[],[<<73,102,32,97,116,111,109,105,99,32,103,114,111,117,112,105,110,103,32,105,115,32,117,115,101,100,32,102,111,114,32,116,104,101,32,112,114,101,118,105,111,117,115,32,101,120,97,109,112,108,101,44,32,116,104,101,32,109,97,116,99,104,101,114,32,103,105,118,101,115,32,117,112,32,105,109,109,101,100,105,97,116,101,108,121,32,111,110,32,102,97,105,108,105,110,103,32,116,111,32,109,97,116,99,104,32,34,102,111,111,34,32,116,104,101,32,102,105,114,115,116,32,116,105,109,101,46,32,84,104,101,32,110,111,116,97,116,105,111,110,32,105,115,32,97,32,107,105,110,100,32,111,102,32,115,112,101,99,105,97,108,32,112,97,114,101,110,116,104,101,115,105,115,44,32,115,116,97,114,116,105,110,103,32,119,105,116,104,32>>,{code,[],[<<40,63,62>>]},<<32,97,115,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,63,62,92,100,43,41,102,111,111>>]}]},{p,[],[<<84,104,105,115,32,107,105,110,100,32,111,102,32,112,97,114,101,110,116,104,101,115,105,115,32,34,108,111,99,107,115,32,117,112,34,32,116,104,101,32,112,97,114,116,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,116,32,99,111,110,116,97,105,110,115,32,111,110,99,101,32,105,116,32,104,97,115,32,109,97,116,99,104,101,100,44,32,97,110,100,32,97,32,102,97,105,108,117,114,101,32,102,117,114,116,104,101,114,32,105,110,116,111,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,112,114,101,118,101,110,116,101,100,32,102,114,111,109,32,98,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,105,116,46,32,66,97,99,107,116,114,97,99,107,105,110,103,32,112,97,115,116,32,105,116,32,116,111,32,112,114,101,118,105,111,117,115,32,105,116,101,109,115,44,32,104,111,119,101,118,101,114,44,32,119,111,114,107,115,32,97,115,32,110,111,114,109,97,108,46>>]},{p,[],[<<65,110,32,97,108,116,101,114,110,97,116,105,118,101,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,116,104,97,116,32,97,32,115,117,98,112,97,116,116,101,114,110,32,111,102,32,116,104,105,115,32,116,121,112,101,32,109,97,116,99,104,101,115,32,116,104,101,32,115,116,114,105,110,103,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,110,32,105,100,101,110,116,105,99,97,108,32,115,116,97,110,100,97,108,111,110,101,32,112,97,116,116,101,114,110,32,119,111,117,108,100,32,109,97,116,99,104,44,32,105,102,32,97,110,99,104,111,114,101,100,32,97,116,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,105,110,116,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46>>]},{p,[],[<<65,116,111,109,105,99,32,103,114,111,117,112,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,97,114,101,32,110,111,116,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,46,32,83,105,109,112,108,101,32,99,97,115,101,115,32,115,117,99,104,32,97,115,32,116,104,101,32,97,98,111,118,101,32,101,120,97,109,112,108,101,32,99,97,110,32,98,101,32,116,104,111,117,103,104,116,32,111,102,32,97,115,32,97,32,109,97,120,105,109,105,122,105,110,103,32,114,101,112,101,97,116,32,116,104,97,116,32,109,117,115,116,32,115,119,97,108,108,111,119,32,101,118,101,114,121,116,104,105,110,103,32,105,116,32,99,97,110,46,32,83,111,44,32,119,104,105,108,101,32,98,111,116,104,32,92,100,43,32,97,110,100,32,92,100,43,63,32,97,114,101,32,112,114,101,112,97,114,101,100,32,116,111,32,97,100,106,117,115,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,100,105,103,105,116,115,32,116,104,101,121,32,109,97,116,99,104,32,116,111,32,109,97,107,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,44,32>>,{code,[],[<<40,63,62,92,100,43,41>>]},<<32,99,97,110,32,111,110,108,121,32,109,97,116,99,104,32,97,110,32,101,110,116,105,114,101,32,115,101,113,117,101,110,99,101,32,111,102,32,100,105,103,105,116,115,46>>]},{p,[],[<<65,116,111,109,105,99,32,103,114,111,117,112,115,32,105,110,32,103,101,110,101,114,97,108,32,99,97,110,32,99,111,110,116,97,105,110,32,97,110,121,32,99,111,109,112,108,105,99,97,116,101,100,32,115,117,98,112,97,116,116,101,114,110,115,44,32,97,110,100,32,99,97,110,32,98,101,32,110,101,115,116,101,100,46,32,72,111,119,101,118,101,114,44,32,119,104,101,110,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,102,111,114,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,32,105,115,32,106,117,115,116,32,97,32,115,105,110,103,108,101,32,114,101,112,101,97,116,101,100,32,105,116,101,109,44,32,97,115,32,105,110,32,116,104,101,32,101,120,97,109,112,108,101,32,97,98,111,118,101,44,32,97,32,115,105,109,112,108,101,114,32,110,111,116,97,116,105,111,110,44,32,99,97,108,108,101,100,32,97,32,34,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,34,32,99,97,110,32,98,101,32,117,115,101,100,46,32,84,104,105,115,32,99,111,110,115,105,115,116,115,32,111,102,32,97,110,32,101,120,116,114,97,32,43,32,99,104,97,114,97,99,116,101,114,32,102,111,108,108,111,119,105,110,103,32,97,32,113,117,97,110,116,105,102,105,101,114,46,32,85,115,105,110,103,32,116,104,105,115,32,110,111,116,97,116,105,111,110,44,32,116,104,101,32,112,114,101,118,105,111,117,115,32,101,120,97,109,112,108,101,32,99,97,110,32,98,101,32,114,101,119,114,105,116,116,101,110,32,97,115>>]},{pre,[],[{code,[],[<<92,100,43,43,102,111,111>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,99,97,110,32,98,101,32,117,115,101,100,32,119,105,116,104,32,97,110,32,101,110,116,105,114,101,32,103,114,111,117,112,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,97,98,99,124,120,121,122,41,123,50,44,51,125,43>>]}]},{p,[],[<<80,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,115,32,97,114,101,32,97,108,119,97,121,115,32,103,114,101,101,100,121,59,32,116,104,101,32,115,101,116,116,105,110,103,32,111,102,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,103,114,101,101,100,121>>]},<<32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,121,32,97,114,101,32,97,32,99,111,110,118,101,110,105,101,110,116,32,110,111,116,97,116,105,111,110,32,102,111,114,32,116,104,101,32,115,105,109,112,108,101,114,32,102,111,114,109,115,32,111,102,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,46,32,72,111,119,101,118,101,114,44,32,116,104,101,114,101,32,105,115,32,110,111,32,100,105,102,102,101,114,101,110,99,101,32,105,110,32,116,104,101,32,109,101,97,110,105,110,103,32,111,102,32,97,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,97,110,100,32,116,104,101,32,101,113,117,105,118,97,108,101,110,116,32,97,116,111,109,105,99,32,103,114,111,117,112,44,32,98,117,116,32,116,104,101,114,101,32,99,97,110,32,98,101,32,97,32,112,101,114,102,111,114,109,97,110,99,101,32,100,105,102,102,101,114,101,110,99,101,59,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,115,32,97,114,101,32,112,114,111,98,97,98,108,121,32,115,108,105,103,104,116,108,121,32,102,97,115,116,101,114,46>>]},{p,[],[<<84,104,101,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,115,121,110,116,97,120,32,105,115,32,97,110,32,101,120,116,101,110,115,105,111,110,32,116,111,32,116,104,101,32,80,101,114,108,32,53,46,56,32,115,121,110,116,97,120,46,32,74,101,102,102,114,101,121,32,70,114,105,101,100,108,32,111,114,105,103,105,110,97,116,101,100,32,116,104,101,32,105,100,101,97,32,40,97,110,100,32,116,104,101,32,110,97,109,101,41,32,105,110,32,116,104,101,32,102,105,114,115,116,32,101,100,105,116,105,111,110,32,111,102,32,104,105,115,32,98,111,111,107,46,32,77,105,107,101,32,77,99,67,108,111,115,107,101,121,32,108,105,107,101,100,32,105,116,44,32,115,111,32,105,109,112,108,101,109,101,110,116,101,100,32,105,116,32,119,104,101,110,32,104,101,32,98,117,105,108,116,32,116,104,101,32,83,117,110,32,74,97,118,97,32,112,97,99,107,97,103,101,44,32,97,110,100,32,80,67,82,69,32,99,111,112,105,101,100,32,105,116,32,102,114,111,109,32,116,104,101,114,101,46,32,73,116,32,117,108,116,105,109,97,116,101,108,121,32,102,111,117,110,100,32,105,116,115,32,119,97,121,32,105,110,116,111,32,80,101,114,108,32,97,116,32,114,101,108,101,97,115,101,32,53,46,49,48,46>>]},{p,[],[<<80,67,82,69,32,104,97,115,32,97,110,32,111,112,116,105,109,105,122,97,116,105,111,110,32,116,104,97,116,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,34,112,111,115,115,101,115,115,105,102,105,101,115,34,32,99,101,114,116,97,105,110,32,115,105,109,112,108,101,32,112,97,116,116,101,114,110,32,99,111,110,115,116,114,117,99,116,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,115,101,113,117,101,110,99,101,32,65,43,66,32,105,115,32,116,114,101,97,116,101,100,32,97,115,32,65,43,43,66,44,32,97,115,32,116,104,101,114,101,32,105,115,32,110,111,32,112,111,105,110,116,32,105,110,32,98,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,65,58,115,32,119,104,101,110,32,66,32,109,117,115,116,32,102,111,108,108,111,119,46>>]},{p,[],[<<87,104,101,110,32,97,32,112,97,116,116,101,114,110,32,99,111,110,116,97,105,110,115,32,97,110,32,117,110,108,105,109,105,116,101,100,32,114,101,112,101,97,116,32,105,110,115,105,100,101,32,97,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,99,97,110,32,105,116,115,101,108,102,32,98,101,32,114,101,112,101,97,116,101,100,32,97,110,32,117,110,108,105,109,105,116,101,100,32,110,117,109,98,101,114,32,111,102,32,116,105,109,101,115,44,32,116,104,101,32,117,115,101,32,111,102,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,32,105,115,32,116,104,101,32,111,110,108,121,32,119,97,121,32,116,111,32,97,118,111,105,100,32,115,111,109,101,32,102,97,105,108,105,110,103,32,109,97,116,99,104,101,115,32,116,97,107,105,110,103,32,97,32,108,111,110,103,32,116,105,109,101,46,32,84,104,101,32,112,97,116,116,101,114,110>>]},{pre,[],[{code,[],[<<40,92,68,43,124,60,92,100,43,62,41,42,91,33,63,93>>]}]},{p,[],[<<109,97,116,99,104,101,115,32,97,110,32,117,110,108,105,109,105,116,101,100,32,110,117,109,98,101,114,32,111,102,32,115,117,98,115,116,114,105,110,103,115,32,116,104,97,116,32,101,105,116,104,101,114,32,99,111,110,115,105,115,116,32,111,102,32,110,111,110,45,100,105,103,105,116,115,44,32,111,114,32,100,105,103,105,116,115,32,101,110,99,108,111,115,101,100,32,105,110,32,60,62,44,32,102,111,108,108,111,119,101,100,32,98,121,32,33,32,111,114,32,63,46,32,87,104,101,110,32,105,116,32,109,97,116,99,104,101,115,44,32,105,116,32,114,117,110,115,32,113,117,105,99,107,108,121,46,32,72,111,119,101,118,101,114,44,32,105,102,32,105,116,32,105,115,32,97,112,112,108,105,101,100,32,116,111>>]},{pre,[],[{code,[],[<<97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97>>]}]},{p,[],[<<105,116,32,116,97,107,101,115,32,97,32,108,111,110,103,32,116,105,109,101,32,98,101,102,111,114,101,32,114,101,112,111,114,116,105,110,103,32,102,97,105,108,117,114,101,46,32,84,104,105,115,32,105,115,32,98,101,99,97,117,115,101,32,116,104,101,32,115,116,114,105,110,103,32,99,97,110,32,98,101,32,100,105,118,105,100,101,100,32,98,101,116,119,101,101,110,32,116,104,101,32,105,110,116,101,114,110,97,108,32,92,68,43,32,114,101,112,101,97,116,32,97,110,100,32,116,104,101,32,101,120,116,101,114,110,97,108,32,42,32,114,101,112,101,97,116,32,105,110,32,109,97,110,121,32,119,97,121,115,44,32,97,110,100,32,97,108,108,32,109,117,115,116,32,98,101,32,116,114,105,101,100,46,32,40,84,104,101,32,101,120,97,109,112,108,101,32,117,115,101,115,32,91,33,63,93,32,114,97,116,104,101,114,32,116,104,97,110,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,97,116,32,116,104,101,32,101,110,100,44,32,97,115,32,98,111,116,104,32,80,67,82,69,32,97,110,100,32,80,101,114,108,32,104,97,118,101,32,97,110,32,111,112,116,105,109,105,122,97,116,105,111,110,32,116,104,97,116,32,97,108,108,111,119,115,32,102,111,114,32,102,97,115,116,32,102,97,105,108,117,114,101,32,119,104,101,110,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,105,115,32,117,115,101,100,46,32,84,104,101,121,32,114,101,109,101,109,98,101,114,32,116,104,101,32,108,97,115,116,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,116,104,97,116,32,105,115,32,114,101,113,117,105,114,101,100,32,102,111,114,32,97,32,109,97,116,99,104,44,32,97,110,100,32,102,97,105,108,32,101,97,114,108,121,32,105,102,32,105,116,32,105,115,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,115,116,114,105,110,103,46,41,32,73,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,99,104,97,110,103,101,100,32,115,111,32,116,104,97,116,32,105,116,32,117,115,101,115,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,44,32,108,105,107,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,44,32,115,101,113,117,101,110,99,101,115,32,111,102,32,110,111,110,45,100,105,103,105,116,115,32,99,97,110,110,111,116,32,98,101,32,98,114,111,107,101,110,44,32,97,110,100,32,102,97,105,108,117,114,101,32,104,97,112,112,101,110,115,32,113,117,105,99,107,108,121,58>>]},{pre,[],[{code,[],[<<40,40,63,62,92,68,43,41,124,60,92,100,43,62,41,42,91,33,63,93>>]}]},{a,[{id,<<115,101,99,116,49,54>>}],[]},{h2,[],[<<66,97,99,107,32,82,101,102,101,114,101,110,99,101,115>>]},{p,[],[<<79,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,97,32,98,97,99,107,115,108,97,115,104,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,100,105,103,105,116,32,62,32,48,32,40,97,110,100,32,112,111,115,115,105,98,108,121,32,102,117,114,116,104,101,114,32,100,105,103,105,116,115,41,32,105,115,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,116,111,32,97,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,101,97,114,108,105,101,114,32,40,116,104,97,116,32,105,115,44,32,116,111,32,105,116,115,32,108,101,102,116,41,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,44,32,112,114,111,118,105,100,101,100,32,116,104,101,114,101,32,104,97,118,101,32,98,101,101,110,32,116,104,97,116,32,109,97,110,121,32,112,114,101,118,105,111,117,115,32,99,97,112,116,117,114,105,110,103,32,108,101,102,116,32,112,97,114,101,110,116,104,101,115,101,115,46>>]},{p,[],[<<72,111,119,101,118,101,114,44,32,105,102,32,116,104,101,32,100,101,99,105,109,97,108,32,110,117,109,98,101,114,32,102,111,108,108,111,119,105,110,103,32,116,104,101,32,98,97,99,107,115,108,97,115,104,32,105,115,32,60,32,49,48,44,32,105,116,32,105,115,32,97,108,119,97,121,115,32,116,97,107,101,110,32,97,115,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,44,32,97,110,100,32,99,97,117,115,101,115,32,97,110,32,101,114,114,111,114,32,111,110,108,121,32,105,102,32,116,104,101,114,101,32,97,114,101,32,110,111,116,32,116,104,97,116,32,109,97,110,121,32,99,97,112,116,117,114,105,110,103,32,108,101,102,116,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,116,104,101,32,101,110,116,105,114,101,32,112,97,116,116,101,114,110,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,116,104,97,116,32,97,114,101,32,114,101,102,101,114,101,110,99,101,100,32,100,111,32,110,101,101,100,32,110,111,116,32,98,101,32,116,111,32,116,104,101,32,108,101,102,116,32,111,102,32,116,104,101,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,110,117,109,98,101,114,115,32,60,32,49,48,46,32,65,32,34,102,111,114,119,97,114,100,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,34,32,111,102,32,116,104,105,115,32,116,121,112,101,32,99,97,110,32,109,97,107,101,32,115,101,110,115,101,32,119,104,101,110,32,97,32,114,101,112,101,116,105,116,105,111,110,32,105,115,32,105,110,118,111,108,118,101,100,32,97,110,100,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,116,111,32,116,104,101,32,114,105,103,104,116,32,104,97,115,32,112,97,114,116,105,99,105,112,97,116,101,100,32,105,110,32,97,110,32,101,97,114,108,105,101,114,32,105,116,101,114,97,116,105,111,110,46>>]},{p,[],[<<73,116,32,105,115,32,110,111,116,32,112,111,115,115,105,98,108,101,32,116,111,32,104,97,118,101,32,97,32,110,117,109,101,114,105,99,97,108,32,34,102,111,114,119,97,114,100,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,34,32,116,111,32,97,32,115,117,98,112,97,116,116,101,114,110,32,119,104,111,115,101,32,110,117,109,98,101,114,32,105,115,32,49,48,32,111,114,32,109,111,114,101,32,117,115,105,110,103,32,116,104,105,115,32,115,121,110,116,97,120,44,32,97,115,32,97,32,115,101,113,117,101,110,99,101,32,115,117,99,104,32,97,115,32,92,53,48,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,32,99,104,97,114,97,99,116,101,114,32,100,101,102,105,110,101,100,32,105,110,32,111,99,116,97,108,46,32,70,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,32,111,102,32,116,104,101,32,104,97,110,100,108,105,110,103,32,111,102,32,100,105,103,105,116,115,32,102,111,108,108,111,119,105,110,103,32,97,32,98,97,99,107,115,108,97,115,104,44,32,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,110,111,110,95,112,114,105,110,116,105,110,103,95,99,104,97,114,97,99,116,101,114,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<78,111,110,45,80,114,105,110,116,105,110,103,32,67,104,97,114,97,99,116,101,114,115>>]},<<32,101,97,114,108,105,101,114,46,32,84,104,101,114,101,32,105,115,32,110,111,32,115,117,99,104,32,112,114,111,98,108,101,109,32,119,104,101,110,32,110,97,109,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,117,115,101,100,46,32,65,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,116,111,32,97,110,121,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,112,111,115,115,105,98,108,101,32,117,115,105,110,103,32,110,97,109,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,40,115,101,101,32,98,101,108,111,119,41,46>>]},{p,[],[<<65,110,111,116,104,101,114,32,119,97,121,32,116,111,32,97,118,111,105,100,32,116,104,101,32,97,109,98,105,103,117,105,116,121,32,105,110,104,101,114,101,110,116,32,105,110,32,116,104,101,32,117,115,101,32,111,102,32,100,105,103,105,116,115,32,102,111,108,108,111,119,105,110,103,32,97,32,98,97,99,107,115,108,97,115,104,32,105,115,32,116,111,32,117,115,101,32,116,104,101,32,92,103,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,46,32,84,104,105,115,32,101,115,99,97,112,101,32,109,117,115,116,32,98,101,32,102,111,108,108,111,119,101,100,32,98,121,32,97,110,32,117,110,115,105,103,110,101,100,32,110,117,109,98,101,114,32,111,114,32,97,32,110,101,103,97,116,105,118,101,32,110,117,109,98,101,114,44,32,111,112,116,105,111,110,97,108,108,121,32,101,110,99,108,111,115,101,100,32,105,110,32,98,114,97,99,101,115,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,115,32,97,114,101,32,105,100,101,110,116,105,99,97,108,58>>]},{pre,[],[{code,[],[<<40,114,105,110,103,41,44,32,92,49,10,40,114,105,110,103,41,44,32,92,103,49,10,40,114,105,110,103,41,44,32,92,103,123,49,125>>]}]},{p,[],[<<65,110,32,117,110,115,105,103,110,101,100,32,110,117,109,98,101,114,32,115,112,101,99,105,102,105,101,115,32,97,110,32,97,98,115,111,108,117,116,101,32,114,101,102,101,114,101,110,99,101,32,119,105,116,104,111,117,116,32,116,104,101,32,97,109,98,105,103,117,105,116,121,32,116,104,97,116,32,105,115,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,111,108,100,101,114,32,115,121,110,116,97,120,46,32,73,116,32,105,115,32,97,108,115,111,32,117,115,101,102,117,108,32,119,104,101,110,32,108,105,116,101,114,97,108,32,100,105,103,105,116,115,32,102,111,108,108,111,119,32,116,104,101,32,114,101,102,101,114,101,110,99,101,46,32,65,32,110,101,103,97,116,105,118,101,32,110,117,109,98,101,114,32,105,115,32,97,32,114,101,108,97,116,105,118,101,32,114,101,102,101,114,101,110,99,101,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,97,98,99,40,100,101,102,41,103,104,105,41,92,103,123,45,49,125>>]}]},{p,[],[<<84,104,101,32,115,101,113,117,101,110,99,101,32,92,103,123,45,49,125,32,105,115,32,97,32,114,101,102,101,114,101,110,99,101,32,116,111,32,116,104,101,32,109,111,115,116,32,114,101,99,101,110,116,108,121,32,115,116,97,114,116,101,100,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,98,101,102,111,114,101,32,92,103,44,32,116,104,97,116,32,105,115,44,32,105,116,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,92,50,32,105,110,32,116,104,105,115,32,101,120,97,109,112,108,101,46,32,83,105,109,105,108,97,114,108,121,44,32,92,103,123,45,50,125,32,119,111,117,108,100,32,98,101,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,92,49,46,32,84,104,101,32,117,115,101,32,111,102,32,114,101,108,97,116,105,118,101,32,114,101,102,101,114,101,110,99,101,115,32,99,97,110,32,98,101,32,104,101,108,112,102,117,108,32,105,110,32,108,111,110,103,32,112,97,116,116,101,114,110,115,44,32,97,110,100,32,97,108,115,111,32,105,110,32,112,97,116,116,101,114,110,115,32,116,104,97,116,32,97,114,101,32,99,114,101,97,116,101,100,32,98,121,32,106,111,105,110,105,110,103,32,102,114,97,103,109,101,110,116,115,32,99,111,110,116,97,105,110,105,110,103,32,114,101,102,101,114,101,110,99,101,115,32,119,105,116,104,105,110,32,116,104,101,109,115,101,108,118,101,115,46>>]},{p,[],[<<65,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,109,97,116,99,104,101,115,32,119,104,97,116,101,118,101,114,32,109,97,116,99,104,101,100,32,116,104,101,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,105,110,32,116,104,101,32,99,117,114,114,101,110,116,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,114,97,116,104,101,114,32,116,104,97,110,32,97,110,121,116,104,105,110,103,32,109,97,116,99,104,105,110,103,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,105,116,115,101,108,102,32,40,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,50,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,117,98,112,97,116,116,101,114,110,32,97,115,32,83,117,98,114,111,117,116,105,110,101,115>>]},<<32,100,101,115,99,114,105,98,101,115,32,97,32,119,97,121,32,111,102,32,100,111,105,110,103,32,116,104,97,116,41,46,32,83,111,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,115,101,110,115,101,32,97,110,100,32,115,101,110,115,105,98,105,108,105,116,121,34,32,97,110,100,32,34,114,101,115,112,111,110,115,101,32,97,110,100,32,114,101,115,112,111,110,115,105,98,105,108,105,116,121,34,44,32,98,117,116,32,110,111,116,32,34,115,101,110,115,101,32,97,110,100,32,114,101,115,112,111,110,115,105,98,105,108,105,116,121,34,58>>]},{pre,[],[{code,[],[<<40,115,101,110,115,124,114,101,115,112,111,110,115,41,101,32,97,110,100,32,92,49,105,98,105,108,105,116,121>>]}]},{p,[],[<<73,102,32,99,97,115,101,102,117,108,32,109,97,116,99,104,105,110,103,32,105,115,32,105,110,32,102,111,114,99,101,32,97,116,32,116,104,101,32,116,105,109,101,32,111,102,32,116,104,101,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,44,32,116,104,101,32,99,97,115,101,32,111,102,32,108,101,116,116,101,114,115,32,105,115,32,114,101,108,101,118,97,110,116,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,34,114,97,104,32,114,97,104,34,32,97,110,100,32,34,82,65,72,32,82,65,72,34,44,32,98,117,116,32,110,111,116,32,34,82,65,72,32,114,97,104,34,44,32,97,108,116,104,111,117,103,104,32,116,104,101,32,111,114,105,103,105,110,97,108,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,109,97,116,99,104,101,100,32,99,97,115,101,108,101,115,115,108,121,58>>]},{pre,[],[{code,[],[<<40,40,63,105,41,114,97,104,41,92,115,43,92,49>>]}]},{p,[],[<<84,104,101,114,101,32,97,114,101,32,109,97,110,121,32,100,105,102,102,101,114,101,110,116,32,119,97,121,115,32,111,102,32,119,114,105,116,105,110,103,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,110,97,109,101,100,32,115,117,98,112,97,116,116,101,114,110,115,46,32,84,104,101,32,46,78,69,84,32,115,121,110,116,97,120,32>>,{code,[],[<<92,107,123,110,97,109,101,125>>]},<<32,97,110,100,32,116,104,101,32,80,101,114,108,32,115,121,110,116,97,120,32>>,{code,[],[<<92,107,60,110,97,109,101,62>>]},<<32,111,114,32>>,{code,[],[<<92,107,39,110,97,109,101,39>>]},<<32,97,114,101,32,115,117,112,112,111,114,116,101,100,44,32,97,115,32,105,115,32,116,104,101,32,80,121,116,104,111,110,32,115,121,110,116,97,120,32>>,{code,[],[<<40,63,80,61,110,97,109,101,41>>]},<<46,32,84,104,101,32,117,110,105,102,105,101,100,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,115,121,110,116,97,120,32,105,110,32,80,101,114,108,32,53,46,49,48,44,32,105,110,32,119,104,105,99,104,32,92,103,32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,32,98,111,116,104,32,110,117,109,101,114,105,99,32,97,110,100,32,110,97,109,101,100,32,114,101,102,101,114,101,110,99,101,115,44,32,105,115,32,97,108,115,111,32,115,117,112,112,111,114,116,101,100,46,32,84,104,101,32,112,114,101,118,105,111,117,115,32,101,120,97,109,112,108,101,32,99,97,110,32,98,101,32,114,101,119,114,105,116,116,101,110,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,119,97,121,115,58>>]},{pre,[],[{code,[],[<<40,63,60,112,49,62,40,63,105,41,114,97,104,41,92,115,43,92,107,60,112,49,62,10,40,63,39,112,49,39,40,63,105,41,114,97,104,41,92,115,43,92,107,123,112,49,125,10,40,63,80,60,112,49,62,40,63,105,41,114,97,104,41,92,115,43,40,63,80,61,112,49,41,10,40,63,60,112,49,62,40,63,105,41,114,97,104,41,92,115,43,92,103,123,112,49,125>>]}]},{p,[],[<<65,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,105,115,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32,110,97,109,101,32,99,97,110,32,97,112,112,101,97,114,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,98,101,102,111,114,101,32,111,114,32,97,102,116,101,114,32,116,104,101,32,114,101,102,101,114,101,110,99,101,46>>]},{p,[],[<<84,104,101,114,101,32,99,97,110,32,98,101,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,116,111,32,116,104,101,32,115,97,109,101,32,115,117,98,112,97,116,116,101,114,110,46,32,73,102,32,97,32,115,117,98,112,97,116,116,101,114,110,32,104,97,115,32,110,111,116,32,98,101,101,110,32,117,115,101,100,32,105,110,32,97,32,112,97,114,116,105,99,117,108,97,114,32,109,97,116,99,104,44,32,97,110,121,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,105,116,32,97,108,119,97,121,115,32,102,97,105,108,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,97,108,119,97,121,115,32,102,97,105,108,115,32,105,102,32,105,116,32,115,116,97,114,116,115,32,116,111,32,109,97,116,99,104,32,34,97,34,32,114,97,116,104,101,114,32,116,104,97,110,32,34,98,99,34,58>>]},{pre,[],[{code,[],[<<40,97,124,40,98,99,41,41,92,50>>]}]},{p,[],[<<65,115,32,116,104,101,114,101,32,99,97,110,32,98,101,32,109,97,110,121,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,97,108,108,32,100,105,103,105,116,115,32,102,111,108,108,111,119,105,110,103,32,116,104,101,32,98,97,99,107,115,108,97,115,104,32,97,114,101,32,116,97,107,101,110,32,97,115,32,112,97,114,116,32,111,102,32,97,32,112,111,116,101,110,116,105,97,108,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,110,117,109,98,101,114,46,32,73,102,32,116,104,101,32,112,97,116,116,101,114,110,32,99,111,110,116,105,110,117,101,115,32,119,105,116,104,32,97,32,100,105,103,105,116,32,99,104,97,114,97,99,116,101,114,44,32,115,111,109,101,32,100,101,108,105,109,105,116,101,114,32,109,117,115,116,32,98,101,32,117,115,101,100,32,116,111,32,116,101,114,109,105,110,97,116,101,32,116,104,101,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,46,32,73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]},<<32,105,115,32,115,101,116,44,32,116,104,105,115,32,99,97,110,32,98,101,32,119,104,105,116,101,115,112,97,99,101,46,32,79,116,104,101,114,119,105,115,101,32,97,110,32,101,109,112,116,121,32,99,111,109,109,101,110,116,32,40,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,57>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,111,109,109,101,110,116,115>>]},<<41,32,99,97,110,32,98,101,32,117,115,101,100,46>>]},{p,[],[{em,[],[<<82,101,99,117,114,115,105,118,101,32,66,97,99,107,32,82,101,102,101,114,101,110,99,101,115>>]}]},{p,[],[<<65,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,116,104,97,116,32,111,99,99,117,114,115,32,105,110,115,105,100,101,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,116,111,32,119,104,105,99,104,32,105,116,32,114,101,102,101,114,115,32,102,97,105,108,115,32,119,104,101,110,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,102,105,114,115,116,32,117,115,101,100,44,32,115,111,44,32,102,111,114,32,101,120,97,109,112,108,101,44,32,40,97,92,49,41,32,110,101,118,101,114,32,109,97,116,99,104,101,115,46,32,72,111,119,101,118,101,114,44,32,115,117,99,104,32,114,101,102,101,114,101,110,99,101,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,32,105,110,115,105,100,101,32,114,101,112,101,97,116,101,100,32,115,117,98,112,97,116,116,101,114,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,97,110,121,32,110,117,109,98,101,114,32,111,102,32,34,97,34,115,32,97,110,100,32,97,108,115,111,32,34,97,98,97,34,44,32,34,97,98,97,98,98,97,97,34,44,32,97,110,100,32,115,111,32,111,110,58>>]},{pre,[],[{code,[],[<<40,97,124,98,92,49,41,43>>]}]},{p,[],[<<65,116,32,101,97,99,104,32,105,116,101,114,97,116,105,111,110,32,111,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,44,32,116,104,101,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,109,97,116,99,104,101,115,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,115,116,114,105,110,103,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,112,114,101,118,105,111,117,115,32,105,116,101,114,97,116,105,111,110,46,32,73,110,32,111,114,100,101,114,32,102,111,114,32,116,104,105,115,32,116,111,32,119,111,114,107,44,32,116,104,101,32,112,97,116,116,101,114,110,32,109,117,115,116,32,98,101,32,115,117,99,104,32,116,104,97,116,32,116,104,101,32,102,105,114,115,116,32,105,116,101,114,97,116,105,111,110,32,100,111,101,115,32,110,111,116,32,110,101,101,100,32,116,111,32,109,97,116,99,104,32,116,104,101,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,46,32,84,104,105,115,32,99,97,110,32,98,101,32,100,111,110,101,32,117,115,105,110,103,32,97,108,116,101,114,110,97,116,105,111,110,44,32,97,115,32,105,110,32,116,104,101,32,101,120,97,109,112,108,101,32,97,98,111,118,101,44,32,111,114,32,98,121,32,97,32,113,117,97,110,116,105,102,105,101,114,32,119,105,116,104,32,97,32,109,105,110,105,109,117,109,32,111,102,32,122,101,114,111,46>>]},{p,[],[<<66,97,99,107,32,114,101,102,101,114,101,110,99,101,115,32,111,102,32,116,104,105,115,32,116,121,112,101,32,99,97,117,115,101,32,116,104,101,32,103,114,111,117,112,32,116,104,97,116,32,116,104,101,121,32,114,101,102,101,114,101,110,99,101,32,116,111,32,98,101,32,116,114,101,97,116,101,100,32,97,115,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,46,32,79,110,99,101,32,116,104,101,32,119,104,111,108,101,32,103,114,111,117,112,32,104,97,115,32,98,101,101,110,32,109,97,116,99,104,101,100,44,32,97,32,115,117,98,115,101,113,117,101,110,116,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,32,99,97,110,110,111,116,32,99,97,117,115,101,32,98,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,116,104,101,32,109,105,100,100,108,101,32,111,102,32,116,104,101,32,103,114,111,117,112,46>>]},{a,[{id,<<115,101,99,116,49,55>>}],[]},{h2,[],[<<65,115,115,101,114,116,105,111,110,115>>]},{p,[],[<<65,110,32,97,115,115,101,114,116,105,111,110,32,105,115,32,97,32,116,101,115,116,32,111,110,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,111,108,108,111,119,105,110,103,32,111,114,32,112,114,101,99,101,100,105,110,103,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,116,99,104,105,110,103,32,112,111,105,110,116,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,99,111,110,115,117,109,101,32,97,110,121,32,99,104,97,114,97,99,116,101,114,115,46,32,84,104,101,32,115,105,109,112,108,101,32,97,115,115,101,114,116,105,111,110,115,32,99,111,100,101,100,32,97,115,32,92,98,44,32,92,66,44,32,92,65,44,32,92,71,44,32,92,90,44,32,92,122,44,32,94,44,32,97,110,100,32,36,32,97,114,101,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,112,114,101,118,105,111,117,115,32,115,101,99,116,105,111,110,115,46>>]},{p,[],[<<77,111,114,101,32,99,111,109,112,108,105,99,97,116,101,100,32,97,115,115,101,114,116,105,111,110,115,32,97,114,101,32,99,111,100,101,100,32,97,115,32,115,117,98,112,97,116,116,101,114,110,115,46,32,84,104,101,114,101,32,97,114,101,32,116,119,111,32,107,105,110,100,115,58,32,116,104,111,115,101,32,116,104,97,116,32,108,111,111,107,32,97,104,101,97,100,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,97,110,100,32,116,104,111,115,101,32,116,104,97,116,32,108,111,111,107,32,98,101,104,105,110,100,32,105,116,46,32,65,110,32,97,115,115,101,114,116,105,111,110,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,109,97,116,99,104,101,100,32,105,110,32,116,104,101,32,110,111,114,109,97,108,32,119,97,121,44,32,101,120,99,101,112,116,32,116,104,97,116,32,105,116,32,100,111,101,115,32,110,111,116,32,99,97,117,115,101,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,116,99,104,105,110,103,32,112,111,115,105,116,105,111,110,32,116,111,32,98,101,32,99,104,97,110,103,101,100,46>>]},{p,[],[<<65,115,115,101,114,116,105,111,110,32,115,117,98,112,97,116,116,101,114,110,115,32,97,114,101,32,110,111,116,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,46,32,73,102,32,115,117,99,104,32,97,110,32,97,115,115,101,114,116,105,111,110,32,99,111,110,116,97,105,110,115,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,119,105,116,104,105,110,32,105,116,44,32,116,104,101,115,101,32,97,114,101,32,99,111,117,110,116,101,100,32,102,111,114,32,116,104,101,32,112,117,114,112,111,115,101,115,32,111,102,32,110,117,109,98,101,114,105,110,103,32,116,104,101,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,105,110,32,116,104,101,32,119,104,111,108,101,32,112,97,116,116,101,114,110,46,32,72,111,119,101,118,101,114,44,32,115,117,98,115,116,114,105,110,103,32,99,97,112,116,117,114,105,110,103,32,105,115,32,100,111,110,101,32,111,110,108,121,32,102,111,114,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,46,32,40,80,101,114,108,32,115,111,109,101,116,105,109,101,115,44,32,98,117,116,32,110,111,116,32,97,108,119,97,121,115,44,32,112,101,114,102,111,114,109,115,32,99,97,112,116,117,114,105,110,103,32,105,110,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,46,41>>]},{'div',[{class,<<119,97,114,110,105,110,103>>}],[{p,[],[<<73,102,32,97,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,32,99,111,110,116,97,105,110,105,110,103,32,111,110,101,32,111,114,32,109,111,114,101,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,115,117,99,99,101,101,100,115,44,32,98,117,116,32,102,97,105,108,117,114,101,32,116,111,32,109,97,116,99,104,32,108,97,116,101,114,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,99,97,117,115,101,115,32,98,97,99,107,116,114,97,99,107,105,110,103,32,111,118,101,114,32,116,104,105,115,32,97,115,115,101,114,116,105,111,110,44,32,116,104,101,32,99,97,112,116,117,114,101,115,32,119,105,116,104,105,110,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,97,114,101,32,114,101,115,101,116,32,111,110,108,121,32,105,102,32,110,111,32,104,105,103,104,101,114,32,110,117,109,98,101,114,101,100,32,99,97,112,116,117,114,101,115,32,97,114,101,32,97,108,114,101,97,100,121,32,115,101,116,46,32,84,104,105,115,32,105,115,44,32,117,110,102,111,114,116,117,110,97,116,101,108,121,44,32,97,32,102,117,110,100,97,109,101,110,116,97,108,32,108,105,109,105,116,97,116,105,111,110,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,44,32,97,110,100,32,97,115,32,80,67,82,69,49,32,105,115,32,110,111,119,32,105,110,32,109,97,105,110,116,101,110,97,110,99,101,45,111,110,108,121,32,115,116,97,116,117,115,44,32,105,116,32,105,115,32,117,110,108,105,107,101,108,121,32,101,118,101,114,32,116,111,32,99,104,97,110,103,101,46>>]}]},{p,[],[<<70,111,114,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,119,105,116,104,32,80,101,114,108,44,32,97,115,115,101,114,116,105,111,110,32,115,117,98,112,97,116,116,101,114,110,115,32,99,97,110,32,98,101,32,114,101,112,101,97,116,101,100,46,32,72,111,119,101,118,101,114,44,32,105,116,32,109,97,107,101,115,32,110,111,32,115,101,110,115,101,32,116,111,32,97,115,115,101,114,116,32,116,104,101,32,115,97,109,101,32,116,104,105,110,103,32,109,97,110,121,32,116,105,109,101,115,44,32,116,104,101,32,115,105,100,101,32,101,102,102,101,99,116,32,111,102,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,99,97,110,32,111,99,99,97,115,105,111,110,97,108,108,121,32,98,101,32,117,115,101,102,117,108,46,32,73,110,32,112,114,97,99,116,105,99,101,44,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,116,104,114,101,101,32,99,97,115,101,115,58>>]},{ul,[],[{li,[],[{p,[],[<<73,102,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,32,105,115,32,123,48,125,44,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,105,115,32,110,101,118,101,114,32,111,98,101,121,101,100,32,100,117,114,105,110,103,32,109,97,116,99,104,105,110,103,46,32,72,111,119,101,118,101,114,44,32,105,116,32,99,97,110,32,99,111,110,116,97,105,110,32,105,110,116,101,114,110,97,108,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,105,122,101,100,32,103,114,111,117,112,115,32,116,104,97,116,32,97,114,101,32,99,97,108,108,101,100,32,102,114,111,109,32,101,108,115,101,119,104,101,114,101,32,116,104,114,111,117,103,104,32,116,104,101,32,115,117,98,114,111,117,116,105,110,101,32,109,101,99,104,97,110,105,115,109,46>>]}]},{li,[],[{p,[],[<<73,102,32,113,117,97,110,116,105,102,105,101,114,32,105,115,32,123,48,44,110,125,44,32,119,104,101,114,101,32,110,32,62,32,48,44,32,105,116,32,105,115,32,116,114,101,97,116,101,100,32,97,115,32,105,102,32,105,116,32,119,97,115,32,123,48,44,49,125,46,32,65,116,32,114,117,110,116,105,109,101,44,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,32,105,115,32,116,114,105,101,100,32,119,105,116,104,32,97,110,100,32,119,105,116,104,111,117,116,32,116,104,101,32,97,115,115,101,114,116,105,111,110,44,32,116,104,101,32,111,114,100,101,114,32,100,101,112,101,110,100,115,32,111,110,32,116,104,101,32,103,114,101,101,100,105,110,101,115,115,32,111,102,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,46>>]}]},{li,[],[{p,[],[<<73,102,32,116,104,101,32,109,105,110,105,109,117,109,32,114,101,112,101,116,105,116,105,111,110,32,105,115,32,62,32,48,44,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101,32,97,115,115,101,114,116,105,111,110,32,105,115,32,111,98,101,121,101,100,32,111,110,108,121,32,111,110,99,101,32,119,104,101,110,32,101,110,99,111,117,110,116,101,114,101,100,32,100,117,114,105,110,103,32,109,97,116,99,104,105,110,103,46>>]}]}]},{p,[],[{em,[],[<<76,111,111,107,97,104,101,97,100,32,65,115,115,101,114,116,105,111,110,115>>]}]},{p,[],[<<76,111,111,107,97,104,101,97,100,32,97,115,115,101,114,116,105,111,110,115,32,115,116,97,114,116,32,119,105,116,104,32,40,63,61,32,102,111,114,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,32,97,110,100,32,40,63,33,32,102,111,114,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,97,32,119,111,114,100,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,115,101,109,105,99,111,108,111,110,44,32,98,117,116,32,100,111,101,115,32,110,111,116,32,105,110,99,108,117,100,101,32,116,104,101,32,115,101,109,105,99,111,108,111,110,32,105,110,32,116,104,101,32,109,97,116,99,104,58>>]},{pre,[],[{code,[],[<<92,119,43,40,63,61,59,41>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,97,110,121,32,111,99,99,117,114,114,101,110,99,101,32,111,102,32,34,102,111,111,34,32,116,104,97,116,32,105,115,32,110,111,116,32,102,111,108,108,111,119,101,100,32,98,121,32,34,98,97,114,34,58>>]},{pre,[],[{code,[],[<<102,111,111,40,63,33,98,97,114,41>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,97,112,112,97,114,101,110,116,108,121,32,115,105,109,105,108,97,114,32,112,97,116,116,101,114,110>>]},{pre,[],[{code,[],[<<40,63,33,102,111,111,41,98,97,114>>]}]},{p,[],[<<100,111,101,115,32,110,111,116,32,102,105,110,100,32,97,110,32,111,99,99,117,114,114,101,110,99,101,32,111,102,32,34,98,97,114,34,32,116,104,97,116,32,105,115,32,112,114,101,99,101,100,101,100,32,98,121,32,115,111,109,101,116,104,105,110,103,32,111,116,104,101,114,32,116,104,97,110,32,34,102,111,111,34,46,32,73,116,32,102,105,110,100,115,32,97,110,121,32,111,99,99,117,114,114,101,110,99,101,32,111,102,32,34,98,97,114,34,32,119,104,97,116,115,111,101,118,101,114,44,32,97,115,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,40,63,33,102,111,111,41,32,105,115,32,97,108,119,97,121,115,32,116,114,117,101,32,119,104,101,110,32,116,104,101,32,110,101,120,116,32,116,104,114,101,101,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,34,98,97,114,34,46,32,65,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,32,105,115,32,110,101,101,100,101,100,32,116,111,32,97,99,104,105,101,118,101,32,116,104,101,32,111,116,104,101,114,32,101,102,102,101,99,116,46>>]},{p,[],[<<73,102,32,121,111,117,32,119,97,110,116,32,116,111,32,102,111,114,99,101,32,97,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,32,97,116,32,115,111,109,101,32,112,111,105,110,116,32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,116,104,101,32,109,111,115,116,32,99,111,110,118,101,110,105,101,110,116,32,119,97,121,32,116,111,32,100,111,32,105,116,32,105,115,32,119,105,116,104,32,40,63,33,41,44,32,97,115,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,32,97,108,119,97,121,115,32,109,97,116,99,104,101,115,46,32,83,111,44,32,97,110,32,97,115,115,101,114,116,105,111,110,32,116,104,97,116,32,114,101,113,117,105,114,101,115,32,116,104,101,114,101,32,105,115,32,110,111,116,32,116,111,32,98,101,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,32,109,117,115,116,32,97,108,119,97,121,115,32,102,97,105,108,46,32,84,104,101,32,98,97,99,107,116,114,97,99,107,105,110,103,32,99,111,110,116,114,111,108,32,118,101,114,98,32,40,42,70,65,73,76,41,32,111,114,32,40,42,70,41,32,105,115,32,97,32,115,121,110,111,110,121,109,32,102,111,114,32,40,63,33,41,46>>]},{p,[],[{em,[],[<<76,111,111,107,98,101,104,105,110,100,32,65,115,115,101,114,116,105,111,110,115>>]}]},{p,[],[<<76,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,115,32,115,116,97,114,116,32,119,105,116,104,32,40,63,60,61,32,102,111,114,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,32,97,110,100,32,40,63,60,33,32,102,111,114,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,105,110,100,115,32,97,110,32,111,99,99,117,114,114,101,110,99,101,32,111,102,32,34,98,97,114,34,32,116,104,97,116,32,105,115,32,110,111,116,32,112,114,101,99,101,100,101,100,32,98,121,32,34,102,111,111,34,58>>]},{pre,[],[{code,[],[<<40,63,60,33,102,111,111,41,98,97,114>>]}]},{p,[],[<<84,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32,97,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,32,97,114,101,32,114,101,115,116,114,105,99,116,101,100,32,115,117,99,104,32,116,104,97,116,32,97,108,108,32,116,104,101,32,115,116,114,105,110,103,115,32,105,116,32,109,97,116,99,104,101,115,32,109,117,115,116,32,104,97,118,101,32,97,32,102,105,120,101,100,32,108,101,110,103,116,104,46,32,72,111,119,101,118,101,114,44,32,105,102,32,116,104,101,114,101,32,97,114,101,32,109,97,110,121,32,116,111,112,45,108,101,118,101,108,32,97,108,116,101,114,110,97,116,105,118,101,115,44,32,116,104,101,121,32,100,111,32,110,111,116,32,97,108,108,32,104,97,118,101,32,116,111,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,102,105,120,101,100,32,108,101,110,103,116,104,46,32,84,104,117,115,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,105,115,32,112,101,114,109,105,116,116,101,100,58>>]},{pre,[],[{code,[],[<<40,63,60,61,98,117,108,108,111,99,107,124,100,111,110,107,101,121,41>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,99,97,117,115,101,115,32,97,110,32,101,114,114,111,114,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,58>>]},{pre,[],[{code,[],[<<40,63,60,33,100,111,103,115,63,124,99,97,116,115,63,41>>]}]},{p,[],[<<66,114,97,110,99,104,101,115,32,116,104,97,116,32,109,97,116,99,104,32,100,105,102,102,101,114,101,110,116,32,108,101,110,103,116,104,32,115,116,114,105,110,103,115,32,97,114,101,32,112,101,114,109,105,116,116,101,100,32,111,110,108,121,32,97,116,32,116,104,101,32,116,111,112,45,108,101,118,101,108,32,111,102,32,97,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,46,32,84,104,105,115,32,105,115,32,97,110,32,101,120,116,101,110,115,105,111,110,32,99,111,109,112,97,114,101,100,32,119,105,116,104,32,80,101,114,108,44,32,119,104,105,99,104,32,114,101,113,117,105,114,101,115,32,97,108,108,32,98,114,97,110,99,104,101,115,32,116,111,32,109,97,116,99,104,32,116,104,101,32,115,97,109,101,32,108,101,110,103,116,104,32,111,102,32,115,116,114,105,110,103,46,32,65,110,32,97,115,115,101,114,116,105,111,110,32,115,117,99,104,32,97,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,105,115,32,110,111,116,32,112,101,114,109,105,116,116,101,100,44,32,97,115,32,105,116,115,32,115,105,110,103,108,101,32,116,111,112,45,108,101,118,101,108,32,98,114,97,110,99,104,32,99,97,110,32,109,97,116,99,104,32,116,119,111,32,100,105,102,102,101,114,101,110,116,32,108,101,110,103,116,104,115,58>>]},{pre,[],[{code,[],[<<40,63,60,61,97,98,40,99,124,100,101,41,41>>]}]},{p,[],[<<72,111,119,101,118,101,114,44,32,105,116,32,105,115,32,97,99,99,101,112,116,97,98,108,101,32,116,111,32,80,67,82,69,32,105,102,32,114,101,119,114,105,116,116,101,110,32,116,111,32,117,115,101,32,116,119,111,32,116,111,112,45,108,101,118,101,108,32,98,114,97,110,99,104,101,115,58>>]},{pre,[],[{code,[],[<<40,63,60,61,97,98,99,124,97,98,100,101,41>>]}]},{p,[],[<<83,111,109,101,116,105,109,101,115,32,116,104,101,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,32,92,75,32,40,115,101,101,32,97,98,111,118,101,41,32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,115,116,101,97,100,32,111,102,32,97,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,32,116,111,32,103,101,116,32,114,111,117,110,100,32,116,104,101,32,102,105,120,101,100,45,108,101,110,103,116,104,32,114,101,115,116,114,105,99,116,105,111,110,46>>]},{p,[],[<<84,104,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,115,32,105,115,44,32,102,111,114,32,101,97,99,104,32,97,108,116,101,114,110,97,116,105,118,101,44,32,116,111,32,109,111,118,101,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,32,98,97,99,107,32,116,101,109,112,111,114,97,114,105,108,121,32,98,121,32,116,104,101,32,102,105,120,101,100,32,108,101,110,103,116,104,32,97,110,100,32,116,104,101,110,32,116,114,121,32,116,111,32,109,97,116,99,104,46,32,73,102,32,116,104,101,114,101,32,97,114,101,32,105,110,115,117,102,102,105,99,105,101,110,116,32,99,104,97,114,97,99,116,101,114,115,32,98,101,102,111,114,101,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,44,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,102,97,105,108,115,46>>]},{p,[],[<<73,110,32,97,32,85,84,70,32,109,111,100,101,44,32,80,67,82,69,32,100,111,101,115,32,110,111,116,32,97,108,108,111,119,32,116,104,101,32,92,67,32,101,115,99,97,112,101,32,40,119,104,105,99,104,32,109,97,116,99,104,101,115,32,97,32,115,105,110,103,108,101,32,100,97,116,97,32,117,110,105,116,32,101,118,101,110,32,105,110,32,97,32,85,84,70,32,109,111,100,101,41,32,116,111,32,97,112,112,101,97,114,32,105,110,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,115,44,32,97,115,32,105,116,32,109,97,107,101,115,32,105,116,32,105,109,112,111,115,115,105,98,108,101,32,116,111,32,99,97,108,99,117,108,97,116,101,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,108,111,111,107,98,101,104,105,110,100,46,32,84,104,101,32,92,88,32,97,110,100,32,92,82,32,101,115,99,97,112,101,115,44,32,119,104,105,99,104,32,99,97,110,32,109,97,116,99,104,32,100,105,102,102,101,114,101,110,116,32,110,117,109,98,101,114,115,32,111,102,32,100,97,116,97,32,117,110,105,116,115,44,32,97,114,101,32,110,111,116,32,112,101,114,109,105,116,116,101,100,32,101,105,116,104,101,114,46>>]},{p,[],[<<34,83,117,98,114,111,117,116,105,110,101,34,32,99,97,108,108,115,32,40,115,101,101,32,98,101,108,111,119,41,44,32,115,117,99,104,32,97,115,32,40,63,50,41,32,111,114,32,40,63,38,88,41,44,32,97,114,101,32,112,101,114,109,105,116,116,101,100,32,105,110,32,108,111,111,107,98,101,104,105,110,100,115,44,32,97,115,32,108,111,110,103,32,97,115,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,97,32,102,105,120,101,100,45,108,101,110,103,116,104,32,115,116,114,105,110,103,46,32,82,101,99,117,114,115,105,111,110,44,32,104,111,119,101,118,101,114,44,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46>>]},{p,[],[<<80,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,115,32,99,97,110,32,98,101,32,117,115,101,100,32,119,105,116,104,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,115,32,116,111,32,115,112,101,99,105,102,121,32,101,102,102,105,99,105,101,110,116,32,109,97,116,99,104,105,110,103,32,111,102,32,102,105,120,101,100,45,108,101,110,103,116,104,32,115,116,114,105,110,103,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,115,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,105,109,112,108,101,32,112,97,116,116,101,114,110,32,119,104,101,110,32,97,112,112,108,105,101,100,32,116,111,32,97,32,108,111,110,103,32,115,116,114,105,110,103,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,58>>]},{pre,[],[{code,[],[<<97,98,99,100,36>>]}]},{p,[],[<<65,115,32,109,97,116,99,104,105,110,103,32,112,114,111,99,101,101,100,115,32,102,114,111,109,32,108,101,102,116,32,116,111,32,114,105,103,104,116,44,32,80,67,82,69,32,108,111,111,107,115,32,102,111,114,32,101,97,99,104,32,34,97,34,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,97,110,100,32,116,104,101,110,32,115,101,101,115,32,105,102,32,119,104,97,116,32,102,111,108,108,111,119,115,32,109,97,116,99,104,101,115,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,112,97,116,116,101,114,110,46,32,73,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115>>]},{pre,[],[{code,[],[<<94,46,42,97,98,99,100,36>>]}]},{p,[],[<<116,104,101,32,105,110,105,116,105,97,108,32,46,42,32,109,97,116,99,104,101,115,32,116,104,101,32,101,110,116,105,114,101,32,115,116,114,105,110,103,32,97,116,32,102,105,114,115,116,46,32,72,111,119,101,118,101,114,44,32,119,104,101,110,32,116,104,105,115,32,102,97,105,108,115,32,40,97,115,32,116,104,101,114,101,32,105,115,32,110,111,32,102,111,108,108,111,119,105,110,103,32,34,97,34,41,44,32,105,116,32,98,97,99,107,116,114,97,99,107,115,32,116,111,32,109,97,116,99,104,32,97,108,108,32,98,117,116,32,116,104,101,32,108,97,115,116,32,99,104,97,114,97,99,116,101,114,44,32,116,104,101,110,32,97,108,108,32,98,117,116,32,116,104,101,32,108,97,115,116,32,116,119,111,32,99,104,97,114,97,99,116,101,114,115,44,32,97,110,100,32,115,111,32,111,110,46,32,79,110,99,101,32,97,103,97,105,110,32,116,104,101,32,115,101,97,114,99,104,32,102,111,114,32,34,97,34,32,99,111,118,101,114,115,32,116,104,101,32,101,110,116,105,114,101,32,115,116,114,105,110,103,44,32,102,114,111,109,32,114,105,103,104,116,32,116,111,32,108,101,102,116,44,32,115,111,32,119,101,32,97,114,101,32,110,111,32,98,101,116,116,101,114,32,111,102,102,46,32,72,111,119,101,118,101,114,44,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,119,114,105,116,116,101,110,32,97,115>>]},{pre,[],[{code,[],[<<94,46,42,43,40,63,60,61,97,98,99,100,41>>]}]},{p,[],[<<116,104,101,114,101,32,99,97,110,32,98,101,32,110,111,32,98,97,99,107,116,114,97,99,107,105,110,103,32,102,111,114,32,116,104,101,32,46,42,43,32,105,116,101,109,59,32,105,116,32,99,97,110,32,109,97,116,99,104,32,111,110,108,121,32,116,104,101,32,101,110,116,105,114,101,32,115,116,114,105,110,103,46,32,84,104,101,32,115,117,98,115,101,113,117,101,110,116,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,32,100,111,101,115,32,97,32,115,105,110,103,108,101,32,116,101,115,116,32,111,110,32,116,104,101,32,108,97,115,116,32,102,111,117,114,32,99,104,97,114,97,99,116,101,114,115,46,32,73,102,32,105,116,32,102,97,105,108,115,44,32,116,104,101,32,109,97,116,99,104,32,102,97,105,108,115,32,105,109,109,101,100,105,97,116,101,108,121,46,32,70,111,114,32,108,111,110,103,32,115,116,114,105,110,103,115,44,32,116,104,105,115,32,97,112,112,114,111,97,99,104,32,109,97,107,101,115,32,97,32,115,105,103,110,105,102,105,99,97,110,116,32,100,105,102,102,101,114,101,110,99,101,32,116,111,32,116,104,101,32,112,114,111,99,101,115,115,105,110,103,32,116,105,109,101,46>>]},{p,[],[{em,[],[<<85,115,105,110,103,32,77,117,108,116,105,112,108,101,32,65,115,115,101,114,116,105,111,110,115>>]}]},{p,[],[<<77,97,110,121,32,97,115,115,101,114,116,105,111,110,115,32,40,111,102,32,97,110,121,32,115,111,114,116,41,32,99,97,110,32,111,99,99,117,114,32,105,110,32,115,117,99,99,101,115,115,105,111,110,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,34,102,111,111,34,32,112,114,101,99,101,100,101,100,32,98,121,32,116,104,114,101,101,32,100,105,103,105,116,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,34,57,57,57,34,58>>]},{pre,[],[{code,[],[<<40,63,60,61,92,100,123,51,125,41,40,63,60,33,57,57,57,41,102,111,111>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,101,97,99,104,32,111,102,32,116,104,101,32,97,115,115,101,114,116,105,111,110,115,32,105,115,32,97,112,112,108,105,101,100,32,105,110,100,101,112,101,110,100,101,110,116,108,121,32,97,116,32,116,104,101,32,115,97,109,101,32,112,111,105,110,116,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,70,105,114,115,116,32,116,104,101,114,101,32,105,115,32,97,32,99,104,101,99,107,32,116,104,97,116,32,116,104,101,32,112,114,101,118,105,111,117,115,32,116,104,114,101,101,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,97,108,108,32,100,105,103,105,116,115,44,32,97,110,100,32,116,104,101,110,32,116,104,101,114,101,32,105,115,32,97,32,99,104,101,99,107,32,116,104,97,116,32,116,104,101,32,115,97,109,101,32,116,104,114,101,101,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,110,111,116,32,34,57,57,57,34,46,32,84,104,105,115,32,112,97,116,116,101,114,110,32,100,111,101,115,32>>,{em,[],[<<110,111,116>>]},<<32,109,97,116,99,104,32,34,102,111,111,34,32,112,114,101,99,101,100,101,100,32,98,121,32,115,105,120,32,99,104,97,114,97,99,116,101,114,115,44,32,116,104,101,32,102,105,114,115,116,32,111,102,32,119,104,105,99,104,32,97,114,101,32,100,105,103,105,116,115,32,97,110,100,32,116,104,101,32,108,97,115,116,32,116,104,114,101,101,32,111,102,32,119,104,105,99,104,32,97,114,101,32,110,111,116,32,34,57,57,57,34,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,34,49,50,51,97,98,99,102,111,111,34,46,32,65,32,112,97,116,116,101,114,110,32,116,111,32,100,111,32,116,104,97,116,32,105,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{pre,[],[{code,[],[<<40,63,60,61,92,100,123,51,125,46,46,46,41,40,63,60,33,57,57,57,41,102,111,111>>]}]},{p,[],[<<84,104,105,115,32,116,105,109,101,32,116,104,101,32,102,105,114,115,116,32,97,115,115,101,114,116,105,111,110,32,108,111,111,107,115,32,97,116,32,116,104,101,32,112,114,101,99,101,100,105,110,103,32,115,105,120,32,99,104,97,114,97,99,116,101,114,115,44,32,99,104,101,99,107,115,32,116,104,97,116,32,116,104,101,32,102,105,114,115,116,32,116,104,114,101,101,32,97,114,101,32,100,105,103,105,116,115,44,32,97,110,100,32,116,104,101,110,32,116,104,101,32,115,101,99,111,110,100,32,97,115,115,101,114,116,105,111,110,32,99,104,101,99,107,115,32,116,104,97,116,32,116,104,101,32,112,114,101,99,101,100,105,110,103,32,116,104,114,101,101,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,110,111,116,32,34,57,57,57,34,46>>]},{p,[],[<<65,115,115,101,114,116,105,111,110,115,32,99,97,110,32,98,101,32,110,101,115,116,101,100,32,105,110,32,97,110,121,32,99,111,109,98,105,110,97,116,105,111,110,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,97,110,32,111,99,99,117,114,114,101,110,99,101,32,111,102,32,34,98,97,122,34,32,116,104,97,116,32,105,115,32,112,114,101,99,101,100,101,100,32,98,121,32,34,98,97,114,34,44,32,119,104,105,99,104,32,105,110,32,116,117,114,110,32,105,115,32,110,111,116,32,112,114,101,99,101,100,101,100,32,98,121,32,34,102,111,111,34,58>>]},{pre,[],[{code,[],[<<40,63,60,61,40,63,60,33,102,111,111,41,98,97,114,41,98,97,122>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,102,111,111,34,32,112,114,101,99,101,100,101,100,32,98,121,32,116,104,114,101,101,32,100,105,103,105,116,115,32,97,110,100,32,97,110,121,32,116,104,114,101,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,34,57,57,57,34,58>>]},{pre,[],[{code,[],[<<40,63,60,61,92,100,123,51,125,40,63,33,57,57,57,41,46,46,46,41,102,111,111>>]}]},{a,[{id,<<115,101,99,116,49,56>>}],[]},{h2,[],[<<67,111,110,100,105,116,105,111,110,97,108,32,83,117,98,112,97,116,116,101,114,110,115>>]},{p,[],[<<73,116,32,105,115,32,112,111,115,115,105,98,108,101,32,116,111,32,99,97,117,115,101,32,116,104,101,32,109,97,116,99,104,105,110,103,32,112,114,111,99,101,115,115,32,116,111,32,111,98,101,121,32,97,32,115,117,98,112,97,116,116,101,114,110,32,99,111,110,100,105,116,105,111,110,97,108,108,121,32,111,114,32,116,111,32,99,104,111,111,115,101,32,98,101,116,119,101,101,110,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,32,115,117,98,112,97,116,116,101,114,110,115,44,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,110,32,97,115,115,101,114,116,105,111,110,44,32,111,114,32,119,104,101,116,104,101,114,32,97,32,115,112,101,99,105,102,105,99,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,104,97,115,32,97,108,114,101,97,100,121,32,98,101,101,110,32,109,97,116,99,104,101,100,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,116,119,111,32,112,111,115,115,105,98,108,101,32,102,111,114,109,115,32,111,102,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[],[<<40,63,40,99,111,110,100,105,116,105,111,110,41,121,101,115,45,112,97,116,116,101,114,110,41,10,40,63,40,99,111,110,100,105,116,105,111,110,41,121,101,115,45,112,97,116,116,101,114,110,124,110,111,45,112,97,116,116,101,114,110,41>>]}]},{p,[],[<<73,102,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,115,97,116,105,115,102,105,101,100,44,32,116,104,101,32,121,101,115,45,112,97,116,116,101,114,110,32,105,115,32,117,115,101,100,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,110,111,45,112,97,116,116,101,114,110,32,40,105,102,32,112,114,101,115,101,110,116,41,46,32,73,102,32,109,111,114,101,32,116,104,97,110,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,115,32,101,120,105,115,116,32,105,110,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,44,32,97,32,99,111,109,112,105,108,101,45,116,105,109,101,32,101,114,114,111,114,32,111,99,99,117,114,115,46,32,69,97,99,104,32,111,102,32,116,104,101,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,115,32,99,97,110,32,105,116,115,101,108,102,32,99,111,110,116,97,105,110,32,110,101,115,116,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,111,102,32,97,110,121,32,102,111,114,109,44,32,105,110,99,108,117,100,105,110,103,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,115,59,32,116,104,101,32,114,101,115,116,114,105,99,116,105,111,110,32,116,111,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,112,112,108,105,101,115,32,111,110,108,121,32,97,116,32,116,104,101,32,108,101,118,101,108,32,111,102,32,116,104,101,32,99,111,110,100,105,116,105,111,110,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,102,114,97,103,109,101,110,116,32,105,115,32,97,110,32,101,120,97,109,112,108,101,32,119,104,101,114,101,32,116,104,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,114,101,32,99,111,109,112,108,101,120,58>>]},{pre,[],[{code,[],[<<40,63,40,49,41,32,40,65,124,66,124,67,41,32,124,32,40,68,32,124,32,40,63,40,50,41,69,124,70,41,32,124,32,69,41,32,41>>]}]},{p,[],[<<84,104,101,114,101,32,97,114,101,32,102,111,117,114,32,107,105,110,100,115,32,111,102,32,99,111,110,100,105,116,105,111,110,58,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,115,117,98,112,97,116,116,101,114,110,115,44,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,111,110,44,32,97,32,112,115,101,117,100,111,45,99,111,110,100,105,116,105,111,110,32,99,97,108,108,101,100,32,68,69,70,73,78,69,44,32,97,110,100,32,97,115,115,101,114,116,105,111,110,115,46>>]},{p,[],[{em,[],[<<67,104,101,99,107,105,110,103,32,102,111,114,32,97,32,85,115,101,100,32,83,117,98,112,97,116,116,101,114,110,32,66,121,32,78,117,109,98,101,114>>]}]},{p,[],[<<73,102,32,116,104,101,32,116,101,120,116,32,98,101,116,119,101,101,110,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,99,111,110,115,105,115,116,115,32,111,102,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,100,105,103,105,116,115,44,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,116,114,117,101,32,105,102,32,97,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,111,102,32,116,104,97,116,32,110,117,109,98,101,114,32,104,97,115,32,112,114,101,118,105,111,117,115,108,121,32,109,97,116,99,104,101,100,46,32,73,102,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,101,120,105,115,116,115,32,40,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,115,101,99,116,49,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<68,117,112,108,105,99,97,116,101,32,83,117,98,112,97,116,116,101,114,110,32,78,117,109,98,101,114,115>>]},<<32,101,97,114,108,105,101,114,41,44,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,116,114,117,101,32,105,102,32,97,110,121,32,111,102,32,116,104,101,109,32,104,97,118,101,32,109,97,116,99,104,101,100,46,32,65,110,32,97,108,116,101,114,110,97,116,105,118,101,32,110,111,116,97,116,105,111,110,32,105,115,32,116,111,32,112,114,101,99,101,100,101,32,116,104,101,32,100,105,103,105,116,115,32,119,105,116,104,32,97,32,112,108,117,115,32,111,114,32,109,105,110,117,115,32,115,105,103,110,46,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,110,117,109,98,101,114,32,105,115,32,114,101,108,97,116,105,118,101,32,114,97,116,104,101,114,32,116,104,97,110,32,97,98,115,111,108,117,116,101,46,32,84,104,101,32,109,111,115,116,32,114,101,99,101,110,116,108,121,32,111,112,101,110,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,99,97,110,32,98,101,32,114,101,102,101,114,101,110,99,101,100,32,98,121,32,40,63,40,45,49,41,44,32,116,104,101,32,110,101,120,116,32,109,111,115,116,32,114,101,99,101,110,116,32,98,121,32,40,63,40,45,50,41,44,32,97,110,100,32,115,111,32,111,110,46,32,73,110,115,105,100,101,32,108,111,111,112,115,44,32,105,116,32,99,97,110,32,97,108,115,111,32,109,97,107,101,32,115,101,110,115,101,32,116,111,32,114,101,102,101,114,32,116,111,32,115,117,98,115,101,113,117,101,110,116,32,103,114,111,117,112,115,46,32,84,104,101,32,110,101,120,116,32,112,97,114,101,110,116,104,101,115,101,115,32,116,111,32,98,101,32,111,112,101,110,101,100,32,99,97,110,32,98,101,32,114,101,102,101,114,101,110,99,101,100,32,97,115,32,40,63,40,43,49,41,44,32,97,110,100,32,115,111,32,111,110,46,32,40,84,104,101,32,118,97,108,117,101,32,122,101,114,111,32,105,110,32,97,110,121,32,111,102,32,116,104,101,115,101,32,102,111,114,109,115,32,105,115,32,110,111,116,32,117,115,101,100,59,32,105,116,32,112,114,111,118,111,107,101,115,32,97,32,99,111,109,112,105,108,101,45,116,105,109,101,32,101,114,114,111,114,46,41>>]},{p,[],[<<67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,119,104,105,99,104,32,99,111,110,116,97,105,110,115,32,110,111,110,45,115,105,103,110,105,102,105,99,97,110,116,32,119,104,105,116,101,115,112,97,99,101,32,116,111,32,109,97,107,101,32,105,116,32,109,111,114,101,32,114,101,97,100,97,98,108,101,32,40,97,115,115,117,109,101,32,111,112,116,105,111,110,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]},<<41,32,97,110,100,32,116,111,32,100,105,118,105,100,101,32,105,116,32,105,110,116,111,32,116,104,114,101,101,32,112,97,114,116,115,32,102,111,114,32,101,97,115,101,32,111,102,32,100,105,115,99,117,115,115,105,111,110,58>>]},{pre,[],[{code,[],[<<40,32,92,40,32,41,63,32,32,32,32,91,94,40,41,93,43,32,32,32,32,40,63,40,49,41,32,92,41,32,41>>]}]},{p,[],[<<84,104,101,32,102,105,114,115,116,32,112,97,114,116,32,109,97,116,99,104,101,115,32,97,110,32,111,112,116,105,111,110,97,108,32,111,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,44,32,97,110,100,32,105,102,32,116,104,97,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,112,114,101,115,101,110,116,44,32,115,101,116,115,32,105,116,32,97,115,32,116,104,101,32,102,105,114,115,116,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,46,32,84,104,101,32,115,101,99,111,110,100,32,112,97,114,116,32,109,97,116,99,104,101,115,32,111,110,101,32,111,114,32,109,111,114,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,112,97,114,101,110,116,104,101,115,101,115,46,32,84,104,101,32,116,104,105,114,100,32,112,97,114,116,32,105,115,32,97,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,116,101,115,116,115,32,119,104,101,116,104,101,114,32,116,104,101,32,102,105,114,115,116,32,115,101,116,32,111,102,32,112,97,114,101,110,116,104,101,115,101,115,32,109,97,116,99,104,101,100,32,111,114,32,110,111,116,46,32,73,102,32,116,104,101,121,32,100,105,100,44,32,116,104,97,116,32,105,115,44,32,105,102,32,115,117,98,106,101,99,116,32,115,116,97,114,116,101,100,32,119,105,116,104,32,97,110,32,111,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,44,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,116,114,117,101,44,32,97,110,100,32,115,111,32,116,104,101,32,121,101,115,45,112,97,116,116,101,114,110,32,105,115,32,101,120,101,99,117,116,101,100,32,97,110,100,32,97,32,99,108,111,115,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,32,105,115,32,114,101,113,117,105,114,101,100,46,32,79,116,104,101,114,119,105,115,101,44,32,97,115,32,110,111,45,112,97,116,116,101,114,110,32,105,115,32,110,111,116,32,112,114,101,115,101,110,116,44,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,110,111,116,104,105,110,103,46,32,84,104,97,116,32,105,115,44,32,116,104,105,115,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,110,111,110,45,112,97,114,101,110,116,104,101,115,101,115,44,32,111,112,116,105,111,110,97,108,108,121,32,101,110,99,108,111,115,101,100,32,105,110,32,112,97,114,101,110,116,104,101,115,101,115,46>>]},{p,[],[<<73,102,32,116,104,105,115,32,112,97,116,116,101,114,110,32,105,115,32,101,109,98,101,100,100,101,100,32,105,110,32,97,32,108,97,114,103,101,114,32,111,110,101,44,32,97,32,114,101,108,97,116,105,118,101,32,114,101,102,101,114,101,110,99,101,32,99,97,110,32,98,101,32,117,115,101,100,58>>]},{pre,[],[{code,[],[<<46,46,46,111,116,104,101,114,32,115,116,117,102,102,46,46,46,32,40,32,92,40,32,41,63,32,32,32,32,91,94,40,41,93,43,32,32,32,32,40,63,40,45,49,41,32,92,41,32,41,32,46,46,46>>]}]},{p,[],[<<84,104,105,115,32,109,97,107,101,115,32,116,104,101,32,102,114,97,103,109,101,110,116,32,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,116,104,101,32,108,97,114,103,101,114,32,112,97,116,116,101,114,110,46>>]},{p,[],[{em,[],[<<67,104,101,99,107,105,110,103,32,102,111,114,32,97,32,85,115,101,100,32,83,117,98,112,97,116,116,101,114,110,32,66,121,32,78,97,109,101>>]}]},{p,[],[<<80,101,114,108,32,117,115,101,115,32,116,104,101,32,115,121,110,116,97,120,32,40,63,40,60,110,97,109,101,62,41,46,46,46,41,32,111,114,32,40,63,40,39,110,97,109,101,39,41,46,46,46,41,32,116,111,32,116,101,115,116,32,102,111,114,32,97,32,117,115,101,100,32,115,117,98,112,97,116,116,101,114,110,32,98,121,32,110,97,109,101,46,32,70,111,114,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,119,105,116,104,32,101,97,114,108,105,101,114,32,118,101,114,115,105,111,110,115,32,111,102,32,80,67,82,69,44,32,119,104,105,99,104,32,104,97,100,32,116,104,105,115,32,102,97,99,105,108,105,116,121,32,98,101,102,111,114,101,32,80,101,114,108,44,32,116,104,101,32,115,121,110,116,97,120,32,40,63,40,110,97,109,101,41,46,46,46,41,32,105,115,32,97,108,115,111,32,114,101,99,111,103,110,105,122,101,100,46>>]},{p,[],[<<82,101,119,114,105,116,105,110,103,32,116,104,101,32,112,114,101,118,105,111,117,115,32,101,120,97,109,112,108,101,32,116,111,32,117,115,101,32,97,32,110,97,109,101,100,32,115,117,98,112,97,116,116,101,114,110,32,103,105,118,101,115,58>>]},{pre,[],[{code,[],[<<40,63,60,79,80,69,78,62,32,92,40,32,41,63,32,32,32,32,91,94,40,41,93,43,32,32,32,32,40,63,40,60,79,80,69,78,62,41,32,92,41,32,41>>]}]},{p,[],[<<73,102,32,116,104,101,32,110,97,109,101,32,117,115,101,100,32,105,110,32,97,32,99,111,110,100,105,116,105,111,110,32,111,102,32,116,104,105,115,32,107,105,110,100,32,105,115,32,97,32,100,117,112,108,105,99,97,116,101,44,32,116,104,101,32,116,101,115,116,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,97,108,108,32,115,117,98,112,97,116,116,101,114,110,115,32,111,102,32,116,104,101,32,115,97,109,101,32,110,97,109,101,44,32,97,110,100,32,105,115,32,116,114,117,101,32,105,102,32,97,110,121,32,111,110,101,32,111,102,32,116,104,101,109,32,104,97,115,32,109,97,116,99,104,101,100,46>>]},{p,[],[{em,[],[<<67,104,101,99,107,105,110,103,32,102,111,114,32,80,97,116,116,101,114,110,32,82,101,99,117,114,115,105,111,110>>]}]},{p,[],[<<73,102,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,116,104,101,32,115,116,114,105,110,103,32,40,82,41,44,32,97,110,100,32,116,104,101,114,101,32,105,115,32,110,111,32,115,117,98,112,97,116,116,101,114,110,32,119,105,116,104,32,116,104,101,32,110,97,109,101,32,82,44,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,116,114,117,101,32,105,102,32,97,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,32,116,111,32,116,104,101,32,119,104,111,108,101,32,112,97,116,116,101,114,110,32,111,114,32,97,110,121,32,115,117,98,112,97,116,116,101,114,110,32,104,97,115,32,98,101,101,110,32,109,97,100,101,46,32,73,102,32,100,105,103,105,116,115,32,111,114,32,97,32,110,97,109,101,32,112,114,101,99,101,100,101,100,32,98,121,32,97,109,112,101,114,115,97,110,100,32,102,111,108,108,111,119,32,116,104,101,32,108,101,116,116,101,114,32,82,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,63,40,82,51,41,46,46,46,41,32,111,114,32,40,63,40,82,38,110,97,109,101,41,46,46,46,41>>]}]},{p,[],[<<116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,116,114,117,101,32,105,102,32,116,104,101,32,109,111,115,116,32,114,101,99,101,110,116,32,114,101,99,117,114,115,105,111,110,32,105,115,32,105,110,116,111,32,97,32,115,117,98,112,97,116,116,101,114,110,32,119,104,111,115,101,32,110,117,109,98,101,114,32,111,114,32,110,97,109,101,32,105,115,32,103,105,118,101,110,46,32,84,104,105,115,32,99,111,110,100,105,116,105,111,110,32,100,111,101,115,32,110,111,116,32,99,104,101,99,107,32,116,104,101,32,101,110,116,105,114,101,32,114,101,99,117,114,115,105,111,110,32,115,116,97,99,107,46,32,73,102,32,116,104,101,32,110,97,109,101,32,117,115,101,100,32,105,110,32,97,32,99,111,110,100,105,116,105,111,110,32,111,102,32,116,104,105,115,32,107,105,110,100,32,105,115,32,97,32,100,117,112,108,105,99,97,116,101,44,32,116,104,101,32,116,101,115,116,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,97,108,108,32,115,117,98,112,97,116,116,101,114,110,115,32,111,102,32,116,104,101,32,115,97,109,101,32,110,97,109,101,44,32,97,110,100,32,105,115,32,116,114,117,101,32,105,102,32,97,110,121,32,111,110,101,32,111,102,32,116,104,101,109,32,105,115,32,116,104,101,32,109,111,115,116,32,114,101,99,101,110,116,32,114,101,99,117,114,115,105,111,110,46>>]},{p,[],[<<65,116,32,34,116,111,112,45,108,101,118,101,108,34,44,32,97,108,108,32,116,104,101,115,101,32,114,101,99,117,114,115,105,111,110,32,116,101,115,116,32,99,111,110,100,105,116,105,111,110,115,32,97,114,101,32,102,97,108,115,101,46,32,84,104,101,32,115,121,110,116,97,120,32,102,111,114,32,114,101,99,117,114,115,105,118,101,32,112,97,116,116,101,114,110,115,32,105,115,32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,46>>]},{p,[],[{em,[],[<<68,101,102,105,110,105,110,103,32,83,117,98,112,97,116,116,101,114,110,115,32,102,111,114,32,85,115,101,32,66,121,32,82,101,102,101,114,101,110,99,101,32,79,110,108,121>>]}]},{a,[{id,<<100,101,102,105,110,105,110,103,95,115,117,98,112,97,116,116,101,114,110,115>>}],[]},{p,[],[<<73,102,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,116,104,101,32,115,116,114,105,110,103,32,40,68,69,70,73,78,69,41,44,32,97,110,100,32,116,104,101,114,101,32,105,115,32,110,111,32,115,117,98,112,97,116,116,101,114,110,32,119,105,116,104,32,116,104,101,32,110,97,109,101,32,68,69,70,73,78,69,44,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,97,108,119,97,121,115,32,102,97,108,115,101,46,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32,116,104,101,114,101,32,99,97,110,32,98,101,32,111,110,108,121,32,111,110,101,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,46,32,73,116,32,105,115,32,97,108,119,97,121,115,32,115,107,105,112,112,101,100,32,105,102,32,99,111,110,116,114,111,108,32,114,101,97,99,104,101,115,32,116,104,105,115,32,112,111,105,110,116,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46,32,84,104,101,32,105,100,101,97,32,111,102,32,68,69,70,73,78,69,32,105,115,32,116,104,97,116,32,105,116,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,100,101,102,105,110,101,32,34,115,117,98,114,111,117,116,105,110,101,115,34,32,116,104,97,116,32,99,97,110,32,98,101,32,114,101,102,101,114,101,110,99,101,100,32,102,114,111,109,32,101,108,115,101,119,104,101,114,101,46,32,40,84,104,101,32,117,115,101,32,111,102,32,115,117,98,114,111,117,116,105,110,101,115,32,105,115,32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,46,41,32,70,111,114,32,101,120,97,109,112,108,101,44,32,97,32,112,97,116,116,101,114,110,32,116,111,32,109,97,116,99,104,32,97,110,32,73,80,118,52,32,97,100,100,114,101,115,115,44,32,115,117,99,104,32,97,115,32,34,49,57,50,46,49,54,56,46,50,51,46,50,52,53,34,44,32,99,97,110,32,98,101,32,119,114,105,116,116,101,110,32,108,105,107,101,32,116,104,105,115,32,40,105,103,110,111,114,101,32,119,104,105,116,101,115,112,97,99,101,32,97,110,100,32,108,105,110,101,32,98,114,101,97,107,115,41,58>>]},{pre,[],[{code,[],[<<40,63,40,68,69,70,73,78,69,41,32,40,63,60,98,121,116,101,62,32,50,91,48,45,52,93,92,100,32,124,32,50,53,91,48,45,53,93,32,124,32,49,92,100,92,100,32,124,32,91,49,45,57,93,63,92,100,41,32,41,32,92,98,32,40,63,38,98,121,116,101,41,32,40,92,46,40,63,38,98,121,116,101,41,41,123,51,125,32,92,98>>]}]},{p,[],[<<84,104,101,32,102,105,114,115,116,32,112,97,114,116,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,97,32,68,69,70,73,78,69,32,103,114,111,117,112,32,105,110,115,105,100,101,32,119,104,105,99,104,32,105,115,32,97,32,97,110,111,116,104,101,114,32,103,114,111,117,112,32,110,97,109,101,100,32,34,98,121,116,101,34,32,105,115,32,100,101,102,105,110,101,100,46,32,84,104,105,115,32,109,97,116,99,104,101,115,32,97,110,32,105,110,100,105,118,105,100,117,97,108,32,99,111,109,112,111,110,101,110,116,32,111,102,32,97,110,32,73,80,118,52,32,97,100,100,114,101,115,115,32,40,97,32,110,117,109,98,101,114,32,60,32,50,53,54,41,46,32,87,104,101,110,32,109,97,116,99,104,105,110,103,32,116,97,107,101,115,32,112,108,97,99,101,44,32,116,104,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,115,107,105,112,112,101,100,44,32,97,115,32,68,69,70,73,78,69,32,97,99,116,115,32,108,105,107,101,32,97,32,102,97,108,115,101,32,99,111,110,100,105,116,105,111,110,46,32,84,104,101,32,114,101,109,97,105,110,105,110,103,32,112,97,116,116,101,114,110,32,117,115,101,115,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,116,104,101,32,110,97,109,101,100,32,103,114,111,117,112,32,116,111,32,109,97,116,99,104,32,116,104,101,32,102,111,117,114,32,100,111,116,45,115,101,112,97,114,97,116,101,100,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,97,110,32,73,80,118,52,32,97,100,100,114,101,115,115,44,32,105,110,115,105,115,116,105,110,103,32,111,110,32,97,32,119,111,114,100,32,98,111,117,110,100,97,114,121,32,97,116,32,101,97,99,104,32,101,110,100,46>>]},{p,[],[{em,[],[<<65,115,115,101,114,116,105,111,110,32,67,111,110,100,105,116,105,111,110,115>>]}]},{p,[],[<<73,102,32,116,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,110,111,116,32,105,110,32,97,110,121,32,111,102,32,116,104,101,32,97,98,111,118,101,32,102,111,114,109,97,116,115,44,32,105,116,32,109,117,115,116,32,98,101,32,97,110,32,97,115,115,101,114,116,105,111,110,46,32,84,104,105,115,32,99,97,110,32,98,101,32,97,32,112,111,115,105,116,105,118,101,32,111,114,32,110,101,103,97,116,105,118,101,32,108,111,111,107,97,104,101,97,100,32,111,114,32,108,111,111,107,98,101,104,105,110,100,32,97,115,115,101,114,116,105,111,110,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,99,111,110,116,97,105,110,105,110,103,32,110,111,110,45,115,105,103,110,105,102,105,99,97,110,116,32,119,104,105,116,101,115,112,97,99,101,44,32,97,110,100,32,119,105,116,104,32,116,104,101,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,115,32,111,110,32,116,104,101,32,115,101,99,111,110,100,32,108,105,110,101,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<40,63,40,63,61,91,94,97,45,122,93,42,91,97,45,122,93,41,10,92,100,123,50,125,45,91,97,45,122,93,123,51,125,45,92,100,123,50,125,32,32,124,32,32,92,100,123,50,125,45,92,100,123,50,125,45,92,100,123,50,125,32,41>>]}]},{p,[],[<<84,104,101,32,99,111,110,100,105,116,105,111,110,32,105,115,32,97,32,112,111,115,105,116,105,118,101,32,108,111,111,107,97,104,101,97,100,32,97,115,115,101,114,116,105,111,110,32,116,104,97,116,32,109,97,116,99,104,101,115,32,97,110,32,111,112,116,105,111,110,97,108,32,115,101,113,117,101,110,99,101,32,111,102,32,110,111,110,45,108,101,116,116,101,114,115,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,108,101,116,116,101,114,46,32,84,104,97,116,32,105,115,44,32,105,116,32,116,101,115,116,115,32,102,111,114,32,116,104,101,32,112,114,101,115,101,110,99,101,32,111,102,32,97,116,32,108,101,97,115,116,32,111,110,101,32,108,101,116,116,101,114,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,46,32,73,102,32,97,32,108,101,116,116,101,114,32,105,115,32,102,111,117,110,100,44,32,116,104,101,32,115,117,98,106,101,99,116,32,105,115,32,109,97,116,99,104,101,100,32,97,103,97,105,110,115,116,32,116,104,101,32,102,105,114,115,116,32,97,108,116,101,114,110,97,116,105,118,101,44,32,111,116,104,101,114,119,105,115,101,32,105,116,32,105,115,32,109,97,116,99,104,101,100,32,97,103,97,105,110,115,116,32,116,104,101,32,115,101,99,111,110,100,46,32,84,104,105,115,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,115,116,114,105,110,103,115,32,105,110,32,111,110,101,32,111,102,32,116,104,101,32,116,119,111,32,102,111,114,109,115,32,100,100,45,97,97,97,45,100,100,32,111,114,32,100,100,45,100,100,45,100,100,44,32,119,104,101,114,101,32,97,97,97,32,97,114,101,32,108,101,116,116,101,114,115,32,97,110,100,32,100,100,32,97,114,101,32,100,105,103,105,116,115,46>>]},{a,[{id,<<115,101,99,116,49,57>>}],[]},{h2,[],[<<67,111,109,109,101,110,116,115>>]},{p,[],[<<84,104,101,114,101,32,97,114,101,32,116,119,111,32,119,97,121,115,32,116,111,32,105,110,99,108,117,100,101,32,99,111,109,109,101,110,116,115,32,105,110,32,112,97,116,116,101,114,110,115,32,116,104,97,116,32,97,114,101,32,112,114,111,99,101,115,115,101,100,32,98,121,32,80,67,82,69,46,32,73,110,32,98,111,116,104,32,99,97,115,101,115,44,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,99,111,109,109,101,110,116,32,109,117,115,116,32,110,111,116,32,98,101,32,105,110,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,44,32,111,114,32,105,110,32,116,104,101,32,109,105,100,100,108,101,32,111,102,32,97,110,121,32,111,116,104,101,114,32,115,101,113,117,101,110,99,101,32,111,102,32,114,101,108,97,116,101,100,32,99,104,97,114,97,99,116,101,114,115,32,115,117,99,104,32,97,115,32,40,63,58,32,111,114,32,97,32,115,117,98,112,97,116,116,101,114,110,32,110,97,109,101,32,111,114,32,110,117,109,98,101,114,46,32,84,104,101,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,109,97,107,101,32,117,112,32,97,32,99,111,109,109,101,110,116,32,112,108,97,121,32,110,111,32,112,97,114,116,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,105,110,103,46>>]},{p,[],[<<84,104,101,32,115,101,113,117,101,110,99,101,32,40,63,35,32,109,97,114,107,115,32,116,104,101,32,115,116,97,114,116,32,111,102,32,97,32,99,111,109,109,101,110,116,32,116,104,97,116,32,99,111,110,116,105,110,117,101,115,32,117,112,32,116,111,32,116,104,101,32,110,101,120,116,32,99,108,111,115,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,46,32,78,101,115,116,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,110,111,116,32,112,101,114,109,105,116,116,101,100,46,32,73,102,32,111,112,116,105,111,110,32,80,67,82,69,95,69,88,84,69,78,68,69,68,32,105,115,32,115,101,116,44,32,97,110,32,117,110,101,115,99,97,112,101,100,32,35,32,99,104,97,114,97,99,116,101,114,32,97,108,115,111,32,105,110,116,114,111,100,117,99,101,115,32,97,32,99,111,109,109,101,110,116,44,32,119,104,105,99,104,32,105,110,32,116,104,105,115,32,99,97,115,101,32,99,111,110,116,105,110,117,101,115,32,116,111,32,105,109,109,101,100,105,97,116,101,108,121,32,97,102,116,101,114,32,116,104,101,32,110,101,120,116,32,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,32,111,114,32,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46,32,87,104,105,99,104,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,110,101,119,108,105,110,101,115,32,105,115,32,99,111,110,116,114,111,108,108,101,100,32,98,121,32,116,104,101,32,111,112,116,105,111,110,115,32,112,97,115,115,101,100,32,116,111,32,97,32,99,111,109,112,105,108,105,110,103,32,102,117,110,99,116,105,111,110,32,111,114,32,98,121,32,97,32,115,112,101,99,105,97,108,32,115,101,113,117,101,110,99,101,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,44,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,110,101,119,108,105,110,101,95,99,111,110,118,101,110,116,105,111,110,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<78,101,119,108,105,110,101,32,67,111,110,118,101,110,116,105,111,110,115>>]},<<32,101,97,114,108,105,101,114,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,105,115,32,116,121,112,101,32,111,102,32,99,111,109,109,101,110,116,32,105,115,32,97,32,108,105,116,101,114,97,108,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,59,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,115,32,116,104,97,116,32,104,97,112,112,101,110,32,116,111,32,114,101,112,114,101,115,101,110,116,32,97,32,110,101,119,108,105,110,101,32,100,111,32,110,111,116,32,99,111,117,110,116,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,99,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,119,104,101,110,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]},<<32,105,115,32,115,101,116,44,32,97,110,100,32,116,104,101,32,100,101,102,97,117,108,116,32,110,101,119,108,105,110,101,32,99,111,110,118,101,110,116,105,111,110,32,105,115,32,105,110,32,102,111,114,99,101,58>>]},{pre,[],[{code,[],[<<97,98,99,32,35,99,111,109,109,101,110,116,32,92,110,32,115,116,105,108,108,32,99,111,109,109,101,110,116>>]}]},{p,[],[<<79,110,32,101,110,99,111,117,110,116,101,114,105,110,103,32,99,104,97,114,97,99,116,101,114,32,35,44,32>>,{code,[],[<<112,99,114,101,95,99,111,109,112,105,108,101,40,41>>]},<<32,115,107,105,112,115,32,97,108,111,110,103,44,32,108,111,111,107,105,110,103,32,102,111,114,32,97,32,110,101,119,108,105,110,101,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46,32,84,104,101,32,115,101,113,117,101,110,99,101,32,92,110,32,105,115,32,115,116,105,108,108,32,108,105,116,101,114,97,108,32,97,116,32,116,104,105,115,32,115,116,97,103,101,44,32,115,111,32,105,116,32,100,111,101,115,32,110,111,116,32,116,101,114,109,105,110,97,116,101,32,116,104,101,32,99,111,109,109,101,110,116,46,32,79,110,108,121,32,97,32,99,104,97,114,97,99,116,101,114,32,119,105,116,104,32,99,111,100,101,32,118,97,108,117,101,32,48,120,48,97,32,40,116,104,101,32,100,101,102,97,117,108,116,32,110,101,119,108,105,110,101,41,32,100,111,101,115,32,115,111,46>>]},{a,[{id,<<115,101,99,116,50,48>>}],[]},{h2,[],[<<82,101,99,117,114,115,105,118,101,32,80,97,116,116,101,114,110,115>>]},{p,[],[<<67,111,110,115,105,100,101,114,32,116,104,101,32,112,114,111,98,108,101,109,32,111,102,32,109,97,116,99,104,105,110,103,32,97,32,115,116,114,105,110,103,32,105,110,32,112,97,114,101,110,116,104,101,115,101,115,44,32,97,108,108,111,119,105,110,103,32,102,111,114,32,117,110,108,105,109,105,116,101,100,32,110,101,115,116,101,100,32,112,97,114,101,110,116,104,101,115,101,115,46,32,87,105,116,104,111,117,116,32,116,104,101,32,117,115,101,32,111,102,32,114,101,99,117,114,115,105,111,110,44,32,116,104,101,32,98,101,115,116,32,116,104,97,116,32,99,97,110,32,98,101,32,100,111,110,101,32,105,115,32,116,111,32,117,115,101,32,97,32,112,97,116,116,101,114,110,32,116,104,97,116,32,109,97,116,99,104,101,115,32,117,112,32,116,111,32,115,111,109,101,32,102,105,120,101,100,32,100,101,112,116,104,32,111,102,32,110,101,115,116,105,110,103,46,32,73,116,32,105,115,32,110,111,116,32,112,111,115,115,105,98,108,101,32,116,111,32,104,97,110,100,108,101,32,97,110,32,97,114,98,105,116,114,97,114,121,32,110,101,115,116,105,110,103,32,100,101,112,116,104,46>>]},{p,[],[<<70,111,114,32,115,111,109,101,32,116,105,109,101,44,32,80,101,114,108,32,104,97,115,32,112,114,111,118,105,100,101,100,32,97,32,102,97,99,105,108,105,116,121,32,116,104,97,116,32,97,108,108,111,119,115,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,115,32,116,111,32,114,101,99,117,114,115,101,32,40,97,109,111,110,103,32,111,116,104,101,114,32,116,104,105,110,103,115,41,46,32,73,116,32,100,111,101,115,32,116,104,105,115,32,98,121,32,105,110,116,101,114,112,111,108,97,116,105,110,103,32,80,101,114,108,32,99,111,100,101,32,105,110,32,116,104,101,32,101,120,112,114,101,115,115,105,111,110,32,97,116,32,114,117,110,116,105,109,101,44,32,97,110,100,32,116,104,101,32,99,111,100,101,32,99,97,110,32,114,101,102,101,114,32,116,111,32,116,104,101,32,101,120,112,114,101,115,115,105,111,110,32,105,116,115,101,108,102,46,32,65,32,80,101,114,108,32,112,97,116,116,101,114,110,32,117,115,105,110,103,32,99,111,100,101,32,105,110,116,101,114,112,111,108,97,116,105,111,110,32,116,111,32,115,111,108,118,101,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,112,114,111,98,108,101,109,32,99,97,110,32,98,101,32,99,114,101,97,116,101,100,32,108,105,107,101,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<36,114,101,32,61,32,113,114,123,92,40,32,40,63,58,32,40,63,62,91,94,40,41,93,43,41,32,124,32,40,63,112,123,36,114,101,125,41,32,41,42,32,92,41,125,120,59>>]}]},{p,[],[<<73,116,101,109,32,40,63,112,123,46,46,46,125,41,32,105,110,116,101,114,112,111,108,97,116,101,115,32,80,101,114,108,32,99,111,100,101,32,97,116,32,114,117,110,116,105,109,101,44,32,97,110,100,32,105,110,32,116,104,105,115,32,99,97,115,101,32,114,101,102,101,114,115,32,114,101,99,117,114,115,105,118,101,108,121,32,116,111,32,116,104,101,32,112,97,116,116,101,114,110,32,105,110,32,119,104,105,99,104,32,105,116,32,97,112,112,101,97,114,115,46>>]},{p,[],[<<79,98,118,105,111,117,115,108,121,44,32,80,67,82,69,32,99,97,110,110,111,116,32,115,117,112,112,111,114,116,32,116,104,101,32,105,110,116,101,114,112,111,108,97,116,105,111,110,32,111,102,32,80,101,114,108,32,99,111,100,101,46,32,73,110,115,116,101,97,100,44,32,105,116,32,115,117,112,112,111,114,116,115,32,115,112,101,99,105,97,108,32,115,121,110,116,97,120,32,102,111,114,32,114,101,99,117,114,115,105,111,110,32,111,102,32,116,104,101,32,101,110,116,105,114,101,32,112,97,116,116,101,114,110,44,32,97,110,100,32,102,111,114,32,105,110,100,105,118,105,100,117,97,108,32,115,117,98,112,97,116,116,101,114,110,32,114,101,99,117,114,115,105,111,110,46,32,65,102,116,101,114,32,105,116,115,32,105,110,116,114,111,100,117,99,116,105,111,110,32,105,110,32,80,67,82,69,32,97,110,100,32,80,121,116,104,111,110,44,32,116,104,105,115,32,107,105,110,100,32,111,102,32,114,101,99,117,114,115,105,111,110,32,119,97,115,32,108,97,116,101,114,32,105,110,116,114,111,100,117,99,101,100,32,105,110,116,111,32,80,101,114,108,32,97,116,32,114,101,108,101,97,115,101,32,53,46,49,48,46>>]},{p,[],[<<65,32,115,112,101,99,105,97,108,32,105,116,101,109,32,116,104,97,116,32,99,111,110,115,105,115,116,115,32,111,102,32,40,63,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,117,109,98,101,114,32,62,32,48,32,97,110,100,32,97,32,99,108,111,115,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,32,105,115,32,97,32,114,101,99,117,114,115,105,118,101,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,32,111,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,111,102,32,116,104,101,32,103,105,118,101,110,32,110,117,109,98,101,114,44,32,105,102,32,105,116,32,111,99,99,117,114,115,32,105,110,115,105,100,101,32,116,104,97,116,32,115,117,98,112,97,116,116,101,114,110,46,32,40,73,102,32,110,111,116,44,32,105,116,32,105,115,32,97,32,110,111,110,45,114,101,99,117,114,115,105,118,101,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,44,32,119,104,105,99,104,32,105,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,110,101,120,116,32,115,101,99,116,105,111,110,46,41,32,84,104,101,32,115,112,101,99,105,97,108,32,105,116,101,109,32,40,63,82,41,32,111,114,32,40,63,48,41,32,105,115,32,97,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,32,111,102,32,116,104,101,32,101,110,116,105,114,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{p,[],[<<84,104,105,115,32,80,67,82,69,32,112,97,116,116,101,114,110,32,115,111,108,118,101,115,32,116,104,101,32,110,101,115,116,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,112,114,111,98,108,101,109,32,40,97,115,115,117,109,101,32,116,104,97,116,32,111,112,116,105,111,110,32>>,{code,[],[<<101,120,116,101,110,100,101,100>>]},<<32,105,115,32,115,101,116,32,115,111,32,116,104,97,116,32,119,104,105,116,101,115,112,97,99,101,32,105,115,32,105,103,110,111,114,101,100,41,58>>]},{pre,[],[{code,[],[<<92,40,32,40,32,91,94,40,41,93,43,43,32,124,32,40,63,82,41,32,41,42,32,92,41>>]}]},{p,[],[<<70,105,114,115,116,32,105,116,32,109,97,116,99,104,101,115,32,97,110,32,111,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,46,32,84,104,101,110,32,105,116,32,109,97,116,99,104,101,115,32,97,110,121,32,110,117,109,98,101,114,32,111,102,32,115,117,98,115,116,114,105,110,103,115,44,32,119,104,105,99,104,32,99,97,110,32,101,105,116,104,101,114,32,98,101,32,97,32,115,101,113,117,101,110,99,101,32,111,102,32,110,111,110,45,112,97,114,101,110,116,104,101,115,101,115,32,111,114,32,97,32,114,101,99,117,114,115,105,118,101,32,109,97,116,99,104,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,116,115,101,108,102,32,40,116,104,97,116,32,105,115,44,32,97,32,99,111,114,114,101,99,116,108,121,32,112,97,114,101,110,116,104,101,115,105,122,101,100,32,115,117,98,115,116,114,105,110,103,41,46,32,70,105,110,97,108,108,121,32,116,104,101,114,101,32,105,115,32,97,32,99,108,111,115,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,46,32,78,111,116,105,99,101,32,116,104,101,32,117,115,101,32,111,102,32,97,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,116,111,32,97,118,111,105,100,32,98,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,115,101,113,117,101,110,99,101,115,32,111,102,32,110,111,110,45,112,97,114,101,110,116,104,101,115,101,115,46>>]},{p,[],[<<73,102,32,116,104,105,115,32,119,97,115,32,112,97,114,116,32,111,102,32,97,32,108,97,114,103,101,114,32,112,97,116,116,101,114,110,44,32,121,111,117,32,119,111,117,108,100,32,110,111,116,32,119,97,110,116,32,116,111,32,114,101,99,117,114,115,101,32,116,104,101,32,101,110,116,105,114,101,32,112,97,116,116,101,114,110,44,32,115,111,32,105,110,115,116,101,97,100,32,121,111,117,32,99,97,110,32,117,115,101,58>>]},{pre,[],[{code,[],[<<40,32,92,40,32,40,32,91,94,40,41,93,43,43,32,124,32,40,63,49,41,32,41,42,32,92,41,32,41>>]}]},{p,[],[<<84,104,101,32,112,97,116,116,101,114,110,32,105,115,32,104,101,114,101,32,119,105,116,104,105,110,32,112,97,114,101,110,116,104,101,115,101,115,32,115,111,32,116,104,97,116,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,114,101,102,101,114,115,32,116,111,32,116,104,101,109,32,105,110,115,116,101,97,100,32,111,102,32,116,104,101,32,119,104,111,108,101,32,112,97,116,116,101,114,110,46>>]},{p,[],[<<73,110,32,97,32,108,97,114,103,101,114,32,112,97,116,116,101,114,110,44,32,107,101,101,112,105,110,103,32,116,114,97,99,107,32,111,102,32,112,97,114,101,110,116,104,101,115,105,115,32,110,117,109,98,101,114,115,32,99,97,110,32,98,101,32,116,114,105,99,107,121,46,32,84,104,105,115,32,105,115,32,109,97,100,101,32,101,97,115,105,101,114,32,98,121,32,116,104,101,32,117,115,101,32,111,102,32,114,101,108,97,116,105,118,101,32,114,101,102,101,114,101,110,99,101,115,46,32,73,110,115,116,101,97,100,32,111,102,32,40,63,49,41,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,97,98,111,118,101,44,32,121,111,117,32,99,97,110,32,119,114,105,116,101,32,40,63,45,50,41,32,116,111,32,114,101,102,101,114,32,116,111,32,116,104,101,32,115,101,99,111,110,100,32,109,111,115,116,32,114,101,99,101,110,116,108,121,32,111,112,101,110,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,112,114,101,99,101,100,105,110,103,32,116,104,101,32,114,101,99,117,114,115,105,111,110,46,32,84,104,97,116,32,105,115,44,32,97,32,110,101,103,97,116,105,118,101,32,110,117,109,98,101,114,32,99,111,117,110,116,115,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,108,101,102,116,119,97,114,100,115,32,102,114,111,109,32,116,104,101,32,112,111,105,110,116,32,97,116,32,119,104,105,99,104,32,105,116,32,105,115,32,101,110,99,111,117,110,116,101,114,101,100,46>>]},{p,[],[<<73,116,32,105,115,32,97,108,115,111,32,112,111,115,115,105,98,108,101,32,116,111,32,114,101,102,101,114,32,116,111,32,108,97,116,101,114,32,111,112,101,110,101,100,32,112,97,114,101,110,116,104,101,115,101,115,44,32,98,121,32,119,114,105,116,105,110,103,32,114,101,102,101,114,101,110,99,101,115,32,115,117,99,104,32,97,115,32,40,63,43,50,41,46,32,72,111,119,101,118,101,114,44,32,116,104,101,115,101,32,99,97,110,110,111,116,32,98,101,32,114,101,99,117,114,115,105,118,101,44,32,97,115,32,116,104,101,32,114,101,102,101,114,101,110,99,101,32,105,115,32,110,111,116,32,105,110,115,105,100,101,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,116,104,97,116,32,97,114,101,32,114,101,102,101,114,101,110,99,101,100,46,32,84,104,101,121,32,97,114,101,32,97,108,119,97,121,115,32,110,111,110,45,114,101,99,117,114,115,105,118,101,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,115,44,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,110,101,120,116,32,115,101,99,116,105,111,110,46>>]},{p,[],[<<65,110,32,97,108,116,101,114,110,97,116,105,118,101,32,97,112,112,114,111,97,99,104,32,105,115,32,116,111,32,117,115,101,32,110,97,109,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,115,116,101,97,100,46,32,84,104,101,32,80,101,114,108,32,115,121,110,116,97,120,32,102,111,114,32,116,104,105,115,32,105,115,32,40,63,38,110,97,109,101,41,46,32,84,104,101,32,101,97,114,108,105,101,114,32,80,67,82,69,32,115,121,110,116,97,120,32,40,63,80,62,110,97,109,101,41,32,105,115,32,97,108,115,111,32,115,117,112,112,111,114,116,101,100,46,32,87,101,32,99,97,110,32,114,101,119,114,105,116,101,32,116,104,101,32,97,98,111,118,101,32,101,120,97,109,112,108,101,32,97,115,32,102,111,108,108,111,119,115,58>>]},{pre,[],[{code,[],[<<40,63,60,112,110,62,32,92,40,32,40,32,91,94,40,41,93,43,43,32,124,32,40,63,38,112,110,41,32,41,42,32,92,41,32,41>>]}]},{p,[],[<<73,102,32,116,104,101,114,101,32,105,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,117,98,112,97,116,116,101,114,110,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,110,97,109,101,44,32,116,104,101,32,101,97,114,108,105,101,115,116,32,111,110,101,32,105,115,32,117,115,101,100,46>>]},{p,[],[<<84,104,105,115,32,112,97,114,116,105,99,117,108,97,114,32,101,120,97,109,112,108,101,32,112,97,116,116,101,114,110,32,116,104,97,116,32,119,101,32,104,97,118,101,32,115,116,117,100,105,101,100,32,99,111,110,116,97,105,110,115,32,110,101,115,116,101,100,32,117,110,108,105,109,105,116,101,100,32,114,101,112,101,97,116,115,44,32,97,110,100,32,115,111,32,116,104,101,32,117,115,101,32,111,102,32,97,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,102,111,114,32,109,97,116,99,104,105,110,103,32,115,116,114,105,110,103,115,32,111,102,32,110,111,110,45,112,97,114,101,110,116,104,101,115,101,115,32,105,115,32,105,109,112,111,114,116,97,110,116,32,119,104,101,110,32,97,112,112,108,121,105,110,103,32,116,104,101,32,112,97,116,116,101,114,110,32,116,111,32,115,116,114,105,110,103,115,32,116,104,97,116,32,100,111,32,110,111,116,32,109,97,116,99,104,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,119,104,101,110,32,116,104,105,115,32,112,97,116,116,101,114,110,32,105,115,32,97,112,112,108,105,101,100,32,116,111>>]},{pre,[],[{code,[],[<<40,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,40,41>>]}]},{p,[],[<<105,116,32,103,105,118,101,115,32,34,110,111,32,109,97,116,99,104,34,32,113,117,105,99,107,108,121,46,32,72,111,119,101,118,101,114,44,32,105,102,32,97,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,105,115,32,110,111,116,32,117,115,101,100,44,32,116,104,101,32,109,97,116,99,104,32,114,117,110,115,32,102,111,114,32,97,32,108,111,110,103,32,116,105,109,101,44,32,97,115,32,116,104,101,114,101,32,97,114,101,32,115,111,32,109,97,110,121,32,100,105,102,102,101,114,101,110,116,32,119,97,121,115,32,116,104,101,32,43,32,97,110,100,32,42,32,114,101,112,101,97,116,115,32,99,97,110,32,99,97,114,118,101,32,117,112,32,116,104,101,32,115,117,98,106,101,99,116,44,32,97,110,100,32,97,108,108,32,109,117,115,116,32,98,101,32,116,101,115,116,101,100,32,98,101,102,111,114,101,32,102,97,105,108,117,114,101,32,99,97,110,32,98,101,32,114,101,112,111,114,116,101,100,46>>]},{p,[],[<<65,116,32,116,104,101,32,101,110,100,32,111,102,32,97,32,109,97,116,99,104,44,32,116,104,101,32,118,97,108,117,101,115,32,111,102,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,116,104,111,115,101,32,102,114,111,109,32,116,104,101,32,111,117,116,101,114,109,111,115,116,32,108,101,118,101,108,46,32,73,102,32,116,104,101,32,112,97,116,116,101,114,110,32,97,98,111,118,101,32,105,115,32,109,97,116,99,104,101,100,32,97,103,97,105,110,115,116>>]},{pre,[],[{code,[],[<<40,97,98,40,99,100,41,101,102,41>>]}]},{p,[],[<<116,104,101,32,118,97,108,117,101,32,102,111,114,32,116,104,101,32,105,110,110,101,114,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,40,110,117,109,98,101,114,101,100,32,50,41,32,105,115,32,34,101,102,34,44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,108,97,115,116,32,118,97,108,117,101,32,116,97,107,101,110,32,111,110,32,97,116,32,116,104,101,32,116,111,112,45,108,101,118,101,108,46,32,73,102,32,97,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,110,111,116,32,109,97,116,99,104,101,100,32,97,116,32,116,104,101,32,116,111,112,32,108,101,118,101,108,44,32,105,116,115,32,102,105,110,97,108,32,99,97,112,116,117,114,101,100,32,118,97,108,117,101,32,105,115,32,117,110,115,101,116,44,32,101,118,101,110,32,105,102,32,105,116,32,119,97,115,32,40,116,101,109,112,111,114,97,114,105,108,121,41,32,115,101,116,32,97,116,32,97,32,100,101,101,112,101,114,32,108,101,118,101,108,32,100,117,114,105,110,103,32,116,104,101,32,109,97,116,99,104,105,110,103,32,112,114,111,99,101,115,115,46>>]},{p,[],[<<68,111,32,110,111,116,32,99,111,110,102,117,115,101,32,105,116,101,109,32,40,63,82,41,32,119,105,116,104,32,99,111,110,100,105,116,105,111,110,32,40,82,41,44,32,119,104,105,99,104,32,116,101,115,116,115,32,102,111,114,32,114,101,99,117,114,115,105,111,110,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,119,104,105,99,104,32,109,97,116,99,104,101,115,32,116,101,120,116,32,105,110,32,97,110,103,108,101,32,98,114,97,99,107,101,116,115,44,32,97,108,108,111,119,105,110,103,32,102,111,114,32,97,114,98,105,116,114,97,114,121,32,110,101,115,116,105,110,103,46,32,79,110,108,121,32,100,105,103,105,116,115,32,97,114,101,32,97,108,108,111,119,101,100,32,105,110,32,110,101,115,116,101,100,32,98,114,97,99,107,101,116,115,32,40,116,104,97,116,32,105,115,44,32,119,104,101,110,32,114,101,99,117,114,115,105,110,103,41,44,32,119,104,105,108,101,32,97,110,121,32,99,104,97,114,97,99,116,101,114,115,32,97,114,101,32,112,101,114,109,105,116,116,101,100,32,97,116,32,116,104,101,32,111,117,116,101,114,32,108,101,118,101,108,46>>]},{pre,[],[{code,[],[<<60,32,40,63,58,32,40,63,40,82,41,32,92,100,43,43,32,32,124,32,91,94,60,62,93,42,43,41,32,124,32,40,63,82,41,41,32,42,32,62>>]}]},{p,[],[<<72,101,114,101,32,40,63,40,82,41,32,105,115,32,116,104,101,32,115,116,97,114,116,32,111,102,32,97,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,44,32,119,105,116,104,32,116,119,111,32,100,105,102,102,101,114,101,110,116,32,97,108,116,101,114,110,97,116,105,118,101,115,32,102,111,114,32,116,104,101,32,114,101,99,117,114,115,105,118,101,32,97,110,100,32,110,111,110,45,114,101,99,117,114,115,105,118,101,32,99,97,115,101,115,46,32,73,116,101,109,32,40,63,82,41,32,105,115,32,116,104,101,32,97,99,116,117,97,108,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,46>>]},{p,[],[{em,[],[<<68,105,102,102,101,114,101,110,99,101,115,32,105,110,32,82,101,99,117,114,115,105,111,110,32,80,114,111,99,101,115,115,105,110,103,32,98,101,116,119,101,101,110,32,80,67,82,69,32,97,110,100,32,80,101,114,108>>]}]},{p,[],[<<82,101,99,117,114,115,105,111,110,32,112,114,111,99,101,115,115,105,110,103,32,105,110,32,80,67,82,69,32,100,105,102,102,101,114,115,32,102,114,111,109,32,80,101,114,108,32,105,110,32,116,119,111,32,105,109,112,111,114,116,97,110,116,32,119,97,121,115,46,32,73,110,32,80,67,82,69,32,40,108,105,107,101,32,80,121,116,104,111,110,44,32,98,117,116,32,117,110,108,105,107,101,32,80,101,114,108,41,44,32,97,32,114,101,99,117,114,115,105,118,101,32,115,117,98,112,97,116,116,101,114,110,32,99,97,108,108,32,105,115,32,97,108,119,97,121,115,32,116,114,101,97,116,101,100,32,97,115,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,46,32,84,104,97,116,32,105,115,44,32,111,110,99,101,32,105,116,32,104,97,115,32,109,97,116,99,104,101,100,32,115,111,109,101,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,105,116,32,105,115,32,110,101,118,101,114,32,114,101,45,101,110,116,101,114,101,100,44,32,101,118,101,110,32,105,102,32,105,116,32,99,111,110,116,97,105,110,115,32,117,110,116,114,105,101,100,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,110,100,32,116,104,101,114,101,32,105,115,32,97,32,115,117,98,115,101,113,117,101,110,116,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,46,32,84,104,105,115,32,99,97,110,32,98,101,32,105,108,108,117,115,116,114,97,116,101,100,32,98,121,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,119,104,105,99,104,32,109,101,97,110,115,32,116,111,32,109,97,116,99,104,32,97,32,112,97,108,105,110,100,114,111,109,105,99,32,115,116,114,105,110,103,32,99,111,110,116,97,105,110,105,110,103,32,97,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,40,102,111,114,32,101,120,97,109,112,108,101,44,32,34,97,34,44,32,34,97,98,97,34,44,32,34,97,98,99,98,97,34,44,32,34,97,98,99,100,99,98,97,34,41,58>>]},{pre,[],[{code,[],[<<94,40,46,124,40,46,41,40,63,49,41,92,50,41,36>>]}]},{p,[],[<<84,104,101,32,105,100,101,97,32,105,115,32,116,104,97,116,32,105,116,32,101,105,116,104,101,114,32,109,97,116,99,104,101,115,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,44,32,111,114,32,116,119,111,32,105,100,101,110,116,105,99,97,108,32,99,104,97,114,97,99,116,101,114,115,32,115,117,114,114,111,117,110,100,105,110,103,32,97,32,115,117,98,112,97,108,105,110,100,114,111,109,101,46,32,73,110,32,80,101,114,108,44,32,116,104,105,115,32,112,97,116,116,101,114,110,32,119,111,114,107,115,59,32,105,110,32,80,67,82,69,32,105,116,32,100,111,101,115,32,110,111,116,32,119,111,114,107,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,108,111,110,103,101,114,32,116,104,97,110,32,116,104,114,101,101,32,99,104,97,114,97,99,116,101,114,115,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,34,97,98,99,98,97,34,46>>]},{p,[],[<<65,116,32,116,104,101,32,116,111,112,32,108,101,118,101,108,44,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,109,97,116,99,104,101,100,44,32,98,117,116,32,97,115,32,105,116,32,105,115,32,110,111,116,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,116,104,101,32,102,105,114,115,116,32,97,108,116,101,114,110,97,116,105,118,101,32,102,97,105,108,115,44,32,116,104,101,32,115,101,99,111,110,100,32,97,108,116,101,114,110,97,116,105,118,101,32,105,115,32,116,97,107,101,110,44,32,97,110,100,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,107,105,99,107,115,32,105,110,46,32,84,104,101,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,32,116,111,32,115,117,98,112,97,116,116,101,114,110,32,49,32,115,117,99,99,101,115,115,102,117,108,108,121,32,109,97,116,99,104,101,115,32,116,104,101,32,110,101,120,116,32,99,104,97,114,97,99,116,101,114,32,40,34,98,34,41,46,32,40,78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,98,101,103,105,110,110,105,110,103,32,97,110,100,32,101,110,100,32,111,102,32,108,105,110,101,32,116,101,115,116,115,32,97,114,101,32,110,111,116,32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,99,117,114,115,105,111,110,46,41>>]},{p,[],[<<66,97,99,107,32,97,116,32,116,104,101,32,116,111,112,32,108,101,118,101,108,44,32,116,104,101,32,110,101,120,116,32,99,104,97,114,97,99,116,101,114,32,40,34,99,34,41,32,105,115,32,99,111,109,112,97,114,101,100,32,119,105,116,104,32,119,104,97,116,32,115,117,98,112,97,116,116,101,114,110,32,50,32,109,97,116,99,104,101,100,44,32,119,104,105,99,104,32,119,97,115,32,34,97,34,46,32,84,104,105,115,32,102,97,105,108,115,46,32,65,115,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,105,115,32,116,114,101,97,116,101,100,32,97,115,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,44,32,116,104,101,114,101,32,97,114,101,32,110,111,119,32,110,111,32,98,97,99,107,116,114,97,99,107,105,110,103,32,112,111,105,110,116,115,44,32,97,110,100,32,115,111,32,116,104,101,32,101,110,116,105,114,101,32,109,97,116,99,104,32,102,97,105,108,115,46,32,40,80,101,114,108,32,99,97,110,32,110,111,119,32,114,101,45,101,110,116,101,114,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,97,110,100,32,116,114,121,32,116,104,101,32,115,101,99,111,110,100,32,97,108,116,101,114,110,97,116,105,118,101,46,41,32,72,111,119,101,118,101,114,44,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,119,114,105,116,116,101,110,32,119,105,116,104,32,116,104,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,105,110,32,116,104,101,32,111,116,104,101,114,32,111,114,100,101,114,44,32,116,104,105,110,103,115,32,97,114,101,32,100,105,102,102,101,114,101,110,116,58>>]},{pre,[],[{code,[],[<<94,40,40,46,41,40,63,49,41,92,50,124,46,41,36>>]}]},{p,[],[<<84,104,105,115,32,116,105,109,101,44,32,116,104,101,32,114,101,99,117,114,115,105,110,103,32,97,108,116,101,114,110,97,116,105,118,101,32,105,115,32,116,114,105,101,100,32,102,105,114,115,116,44,32,97,110,100,32,99,111,110,116,105,110,117,101,115,32,116,111,32,114,101,99,117,114,115,101,32,117,110,116,105,108,32,105,116,32,114,117,110,115,32,111,117,116,32,111,102,32,99,104,97,114,97,99,116,101,114,115,44,32,97,116,32,119,104,105,99,104,32,112,111,105,110,116,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,102,97,105,108,115,46,32,66,117,116,32,116,104,105,115,32,116,105,109,101,32,119,101,32,104,97,118,101,32,97,110,111,116,104,101,114,32,97,108,116,101,114,110,97,116,105,118,101,32,116,111,32,116,114,121,32,97,116,32,116,104,101,32,104,105,103,104,101,114,32,108,101,118,101,108,46,32,84,104,97,116,32,105,115,32,116,104,101,32,115,105,103,110,105,102,105,99,97,110,116,32,100,105,102,102,101,114,101,110,99,101,58,32,105,110,32,116,104,101,32,112,114,101,118,105,111,117,115,32,99,97,115,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,97,108,116,101,114,110,97,116,105,118,101,32,105,115,32,97,116,32,97,32,100,101,101,112,101,114,32,114,101,99,117,114,115,105,111,110,32,108,101,118,101,108,44,32,119,104,105,99,104,32,80,67,82,69,32,99,97,110,110,111,116,32,117,115,101,46>>]},{p,[],[<<84,111,32,99,104,97,110,103,101,32,116,104,101,32,112,97,116,116,101,114,110,32,115,111,32,116,104,97,116,32,105,116,32,109,97,116,99,104,101,115,32,97,108,108,32,112,97,108,105,110,100,114,111,109,105,99,32,115,116,114,105,110,103,115,44,32,110,111,116,32,111,110,108,121,32,116,104,111,115,101,32,119,105,116,104,32,97,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,99,104,97,114,97,99,116,101,114,115,44,32,105,116,32,105,115,32,116,101,109,112,116,105,110,103,32,116,111,32,99,104,97,110,103,101,32,116,104,101,32,112,97,116,116,101,114,110,32,116,111,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<94,40,40,46,41,40,63,49,41,92,50,124,46,63,41,36>>]}]},{p,[],[<<65,103,97,105,110,44,32,116,104,105,115,32,119,111,114,107,115,32,105,110,32,80,101,114,108,44,32,98,117,116,32,110,111,116,32,105,110,32,80,67,82,69,44,32,97,110,100,32,102,111,114,32,116,104,101,32,115,97,109,101,32,114,101,97,115,111,110,46,32,87,104,101,110,32,97,32,100,101,101,112,101,114,32,114,101,99,117,114,115,105,111,110,32,104,97,115,32,109,97,116,99,104,101,100,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,44,32,105,116,32,99,97,110,110,111,116,32,98,101,32,101,110,116,101,114,101,100,32,97,103,97,105,110,32,116,111,32,109,97,116,99,104,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,46,32,84,104,101,32,115,111,108,117,116,105,111,110,32,105,115,32,116,111,32,115,101,112,97,114,97,116,101,32,116,104,101,32,116,119,111,32,99,97,115,101,115,44,32,97,110,100,32,119,114,105,116,101,32,111,117,116,32,116,104,101,32,111,100,100,32,97,110,100,32,101,118,101,110,32,99,97,115,101,115,32,97,115,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,116,32,116,104,101,32,104,105,103,104,101,114,32,108,101,118,101,108,58>>]},{pre,[],[{code,[],[<<94,40,63,58,40,40,46,41,40,63,49,41,92,50,124,41,124,40,40,46,41,40,63,51,41,92,52,124,46,41,41>>]}]},{p,[],[<<73,102,32,121,111,117,32,119,97,110,116,32,116,111,32,109,97,116,99,104,32,116,121,112,105,99,97,108,32,112,97,108,105,110,100,114,111,109,105,99,32,112,104,114,97,115,101,115,44,32,116,104,101,32,112,97,116,116,101,114,110,32,109,117,115,116,32,105,103,110,111,114,101,32,97,108,108,32,110,111,110,45,119,111,114,100,32,99,104,97,114,97,99,116,101,114,115,44,32,119,104,105,99,104,32,99,97,110,32,98,101,32,100,111,110,101,32,97,115,32,102,111,108,108,111,119,115,58>>]},{pre,[],[{code,[],[<<94,92,87,42,43,40,63,58,40,40,46,41,92,87,42,43,40,63,49,41,92,87,42,43,92,50,124,41,124,40,40,46,41,92,87,42,43,40,63,51,41,92,87,42,43,92,52,124,92,87,42,43,46,92,87,42,43,41,41,92,87,42,43,36>>]}]},{p,[],[<<73,102,32,114,117,110,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<99,97,115,101,108,101,115,115>>]},<<44,32,116,104,105,115,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,112,104,114,97,115,101,115,32,115,117,99,104,32,97,115,32,34,65,32,109,97,110,44,32,97,32,112,108,97,110,44,32,97,32,99,97,110,97,108,58,32,80,97,110,97,109,97,33,34,32,97,110,100,32,105,116,32,119,111,114,107,115,32,119,101,108,108,32,105,110,32,98,111,116,104,32,80,67,82,69,32,97,110,100,32,80,101,114,108,46,32,78,111,116,105,99,101,32,116,104,101,32,117,115,101,32,111,102,32,116,104,101,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,42,43,32,116,111,32,97,118,111,105,100,32,98,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,115,101,113,117,101,110,99,101,115,32,111,102,32,110,111,110,45,119,111,114,100,32,99,104,97,114,97,99,116,101,114,115,46,32,87,105,116,104,111,117,116,32,116,104,105,115,44,32,80,67,82,69,32,116,97,107,101,115,32,109,117,99,104,32,108,111,110,103,101,114,32,40,49,48,32,116,105,109,101,115,32,111,114,32,109,111,114,101,41,32,116,111,32,109,97,116,99,104,32,116,121,112,105,99,97,108,32,112,104,114,97,115,101,115,44,32,97,110,100,32,80,101,114,108,32,116,97,107,101,115,32,115,111,32,108,111,110,103,32,116,104,97,116,32,121,111,117,32,116,104,105,110,107,32,105,116,32,104,97,115,32,103,111,110,101,32,105,110,116,111,32,97,32,108,111,111,112,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,112,97,108,105,110,100,114,111,109,101,45,109,97,116,99,104,105,110,103,32,112,97,116,116,101,114,110,115,32,97,98,111,118,101,32,119,111,114,107,32,111,110,108,121,32,105,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,100,111,101,115,32,110,111,116,32,115,116,97,114,116,32,119,105,116,104,32,97,32,112,97,108,105,110,100,114,111,109,101,32,116,104,97,116,32,105,115,32,115,104,111,114,116,101,114,32,116,104,97,110,32,116,104,101,32,101,110,116,105,114,101,32,115,116,114,105,110,103,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,97,108,116,104,111,117,103,104,32,34,97,98,99,98,97,34,32,105,115,32,99,111,114,114,101,99,116,108,121,32,109,97,116,99,104,101,100,44,32,105,102,32,116,104,101,32,115,117,98,106,101,99,116,32,105,115,32,34,97,98,97,98,97,34,44,32,80,67,82,69,32,102,105,110,100,115,32,112,97,108,105,110,100,114,111,109,101,32,34,97,98,97,34,32,97,116,32,116,104,101,32,115,116,97,114,116,44,32,97,110,100,32,116,104,101,110,32,102,97,105,108,115,32,97,116,32,116,111,112,32,108,101,118,101,108,44,32,97,115,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,100,111,101,115,32,110,111,116,32,102,111,108,108,111,119,46,32,79,110,99,101,32,97,103,97,105,110,44,32,105,116,32,99,97,110,110,111,116,32,106,117,109,112,32,98,97,99,107,32,105,110,116,111,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,116,111,32,116,114,121,32,111,116,104,101,114,32,97,108,116,101,114,110,97,116,105,118,101,115,44,32,115,111,32,116,104,101,32,101,110,116,105,114,101,32,109,97,116,99,104,32,102,97,105,108,115,46>>]}]},{p,[],[<<84,104,101,32,115,101,99,111,110,100,32,119,97,121,32,105,110,32,119,104,105,99,104,32,80,67,82,69,32,97,110,100,32,80,101,114,108,32,100,105,102,102,101,114,32,105,110,32,116,104,101,105,114,32,114,101,99,117,114,115,105,111,110,32,112,114,111,99,101,115,115,105,110,103,32,105,115,32,105,110,32,116,104,101,32,104,97,110,100,108,105,110,103,32,111,102,32,99,97,112,116,117,114,101,100,32,118,97,108,117,101,115,46,32,73,110,32,80,101,114,108,44,32,119,104,101,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,32,111,114,32,97,115,32,97,32,115,117,98,112,97,116,116,101,114,110,32,40,115,101,101,32,116,104,101,32,110,101,120,116,32,115,101,99,116,105,111,110,41,44,32,105,116,32,104,97,115,32,110,111,32,97,99,99,101,115,115,32,116,111,32,97,110,121,32,118,97,108,117,101,115,32,116,104,97,116,32,119,101,114,101,32,99,97,112,116,117,114,101,100,32,111,117,116,115,105,100,101,32,116,104,101,32,114,101,99,117,114,115,105,111,110,46,32,73,110,32,80,67,82,69,32,116,104,101,115,101,32,118,97,108,117,101,115,32,99,97,110,32,98,101,32,114,101,102,101,114,101,110,99,101,100,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[],[<<94,40,46,41,40,92,49,124,97,40,63,50,41,41>>]}]},{p,[],[<<73,110,32,80,67,82,69,44,32,105,116,32,109,97,116,99,104,101,115,32,34,98,97,98,34,46,32,84,104,101,32,102,105,114,115,116,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,109,97,116,99,104,32,34,98,34,44,32,116,104,101,110,32,105,110,32,116,104,101,32,115,101,99,111,110,100,32,103,114,111,117,112,44,32,119,104,101,110,32,116,104,101,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,32,92,49,32,102,97,105,108,115,32,116,111,32,109,97,116,99,104,32,34,98,34,44,32,116,104,101,32,115,101,99,111,110,100,32,97,108,116,101,114,110,97,116,105,118,101,32,109,97,116,99,104,101,115,32,34,97,34,44,32,97,110,100,32,116,104,101,110,32,114,101,99,117,114,115,101,115,46,32,73,110,32,116,104,101,32,114,101,99,117,114,115,105,111,110,44,32,92,49,32,100,111,101,115,32,110,111,119,32,109,97,116,99,104,32,34,98,34,32,97,110,100,32,115,111,32,116,104,101,32,119,104,111,108,101,32,109,97,116,99,104,32,115,117,99,99,101,101,100,115,46,32,73,110,32,80,101,114,108,44,32,116,104,101,32,112,97,116,116,101,114,110,32,102,97,105,108,115,32,116,111,32,109,97,116,99,104,32,98,101,99,97,117,115,101,32,105,110,115,105,100,101,32,116,104,101,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,32,92,49,32,99,97,110,110,111,116,32,97,99,99,101,115,115,32,116,104,101,32,101,120,116,101,114,110,97,108,108,121,32,115,101,116,32,118,97,108,117,101,46>>]},{a,[{id,<<115,101,99,116,50,49>>}],[]},{h2,[],[<<83,117,98,112,97,116,116,101,114,110,115,32,97,115,32,83,117,98,114,111,117,116,105,110,101,115>>]},{p,[],[<<73,102,32,116,104,101,32,115,121,110,116,97,120,32,102,111,114,32,97,32,114,101,99,117,114,115,105,118,101,32,115,117,98,112,97,116,116,101,114,110,32,99,97,108,108,32,40,101,105,116,104,101,114,32,98,121,32,110,117,109,98,101,114,32,111,114,32,98,121,32,110,97,109,101,41,32,105,115,32,117,115,101,100,32,111,117,116,115,105,100,101,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,116,111,32,119,104,105,99,104,32,105,116,32,114,101,102,101,114,115,44,32,105,116,32,111,112,101,114,97,116,101,115,32,108,105,107,101,32,97,32,115,117,98,114,111,117,116,105,110,101,32,105,110,32,97,32,112,114,111,103,114,97,109,109,105,110,103,32,108,97,110,103,117,97,103,101,46,32,84,104,101,32,99,97,108,108,101,100,32,115,117,98,112,97,116,116,101,114,110,32,99,97,110,32,98,101,32,100,101,102,105,110,101,100,32,98,101,102,111,114,101,32,111,114,32,97,102,116,101,114,32,116,104,101,32,114,101,102,101,114,101,110,99,101,46,32,65,32,110,117,109,98,101,114,101,100,32,114,101,102,101,114,101,110,99,101,32,99,97,110,32,98,101,32,97,98,115,111,108,117,116,101,32,111,114,32,114,101,108,97,116,105,118,101,44,32,97,115,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,115,58>>]},{pre,[],[{code,[],[<<40,46,46,46,40,97,98,115,111,108,117,116,101,41,46,46,46,41,46,46,46,40,63,50,41,46,46,46,10,40,46,46,46,40,114,101,108,97,116,105,118,101,41,46,46,46,41,46,46,46,40,63,45,49,41,46,46,46,10,40,46,46,46,40,63,43,49,41,46,46,46,40,114,101,108,97,116,105,118,101,41,46,46,46>>]}]},{p,[],[<<65,110,32,101,97,114,108,105,101,114,32,101,120,97,109,112,108,101,32,112,111,105,110,116,101,100,32,111,117,116,32,116,104,97,116,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,115,101,110,115,101,32,97,110,100,32,115,101,110,115,105,98,105,108,105,116,121,34,32,97,110,100,32,34,114,101,115,112,111,110,115,101,32,97,110,100,32,114,101,115,112,111,110,115,105,98,105,108,105,116,121,34,44,32,98,117,116,32,110,111,116,32,34,115,101,110,115,101,32,97,110,100,32,114,101,115,112,111,110,115,105,98,105,108,105,116,121,34,58>>]},{pre,[],[{code,[],[<<40,115,101,110,115,124,114,101,115,112,111,110,115,41,101,32,97,110,100,32,92,49,105,98,105,108,105,116,121>>]}]},{p,[],[<<73,102,32,105,110,115,116,101,97,100,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,105,115,32,117,115,101,100,44,32,105,116,32,109,97,116,99,104,101,115,32,34,115,101,110,115,101,32,97,110,100,32,114,101,115,112,111,110,115,105,98,105,108,105,116,121,34,32,97,110,100,32,116,104,101,32,111,116,104,101,114,32,116,119,111,32,115,116,114,105,110,103,115,58>>]},{pre,[],[{code,[],[<<40,115,101,110,115,124,114,101,115,112,111,110,115,41,101,32,97,110,100,32,40,63,49,41,105,98,105,108,105,116,121>>]}]},{p,[],[<<65,110,111,116,104,101,114,32,101,120,97,109,112,108,101,32,105,115,32,112,114,111,118,105,100,101,100,32,105,110,32,116,104,101,32,100,105,115,99,117,115,115,105,111,110,32,111,102,32,68,69,70,73,78,69,32,101,97,114,108,105,101,114,46>>]},{p,[],[<<65,108,108,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,115,44,32,114,101,99,117,114,115,105,118,101,32,111,114,32,110,111,116,44,32,97,114,101,32,97,108,119,97,121,115,32,116,114,101,97,116,101,100,32,97,115,32,97,116,111,109,105,99,32,103,114,111,117,112,115,46,32,84,104,97,116,32,105,115,44,32,111,110,99,101,32,97,32,115,117,98,114,111,117,116,105,110,101,32,104,97,115,32,109,97,116,99,104,101,100,32,115,111,109,101,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,105,116,32,105,115,32,110,101,118,101,114,32,114,101,45,101,110,116,101,114,101,100,44,32,101,118,101,110,32,105,102,32,105,116,32,99,111,110,116,97,105,110,115,32,117,110,116,114,105,101,100,32,97,108,116,101,114,110,97,116,105,118,101,115,32,97,110,100,32,116,104,101,114,101,32,105,115,32,97,32,115,117,98,115,101,113,117,101,110,116,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,46,32,65,110,121,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,116,104,97,116,32,97,114,101,32,115,101,116,32,100,117,114,105,110,103,32,116,104,101,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,32,114,101,118,101,114,116,32,116,111,32,116,104,101,105,114,32,112,114,101,118,105,111,117,115,32,118,97,108,117,101,115,32,97,102,116,101,114,119,97,114,100,115,46>>]},{p,[],[<<80,114,111,99,101,115,115,105,110,103,32,111,112,116,105,111,110,115,32,115,117,99,104,32,97,115,32,99,97,115,101,45,105,110,100,101,112,101,110,100,101,110,99,101,32,97,114,101,32,102,105,120,101,100,32,119,104,101,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,100,101,102,105,110,101,100,44,32,115,111,32,105,102,32,105,116,32,105,115,32,117,115,101,100,32,97,115,32,97,32,115,117,98,114,111,117,116,105,110,101,44,32,115,117,99,104,32,111,112,116,105,111,110,115,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,111,114,32,100,105,102,102,101,114,101,110,116,32,99,97,108,108,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,34,97,98,99,97,98,99,34,32,98,117,116,32,110,111,116,32,34,97,98,99,65,66,67,34,44,32,97,115,32,116,104,101,32,99,104,97,110,103,101,32,111,102,32,112,114,111,99,101,115,115,105,110,103,32,111,112,116,105,111,110,32,100,111,101,115,32,110,111,116,32,97,102,102,101,99,116,32,116,104,101,32,99,97,108,108,101,100,32,115,117,98,112,97,116,116,101,114,110,58>>]},{pre,[],[{code,[],[<<40,97,98,99,41,40,63,105,58,40,63,45,49,41,41>>]}]},{a,[{id,<<115,101,99,116,50,50>>}],[]},{h2,[],[<<79,110,105,103,117,114,117,109,97,32,83,117,98,114,111,117,116,105,110,101,32,83,121,110,116,97,120>>]},{p,[],[<<70,111,114,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,119,105,116,104,32,79,110,105,103,117,114,117,109,97,44,32,116,104,101,32,110,111,110,45,80,101,114,108,32,115,121,110,116,97,120,32,92,103,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,97,109,101,32,111,114,32,97,32,110,117,109,98,101,114,32,101,110,99,108,111,115,101,100,32,101,105,116,104,101,114,32,105,110,32,97,110,103,108,101,32,98,114,97,99,107,101,116,115,32,111,114,32,115,105,110,103,108,101,32,113,117,111,116,101,115,44,32,105,115,32,97,108,116,101,114,110,97,116,105,118,101,32,115,121,110,116,97,120,32,102,111,114,32,114,101,102,101,114,101,110,99,105,110,103,32,97,32,115,117,98,112,97,116,116,101,114,110,32,97,115,32,97,32,115,117,98,114,111,117,116,105,110,101,44,32,112,111,115,115,105,98,108,121,32,114,101,99,117,114,115,105,118,101,108,121,46,32,72,101,114,101,32,102,111,108,108,111,119,115,32,116,119,111,32,111,102,32,116,104,101,32,101,120,97,109,112,108,101,115,32,117,115,101,100,32,97,98,111,118,101,44,32,114,101,119,114,105,116,116,101,110,32,117,115,105,110,103,32,116,104,105,115,32,115,121,110,116,97,120,58>>]},{pre,[],[{code,[],[<<40,63,60,112,110,62,32,92,40,32,40,32,40,63,62,91,94,40,41,93,43,41,32,124,32,92,103,60,112,110,62,32,41,42,32,92,41,32,41,10,40,115,101,110,115,124,114,101,115,112,111,110,115,41,101,32,97,110,100,32,92,103,39,49,39,105,98,105,108,105,116,121>>]}]},{p,[],[<<80,67,82,69,32,115,117,112,112,111,114,116,115,32,97,110,32,101,120,116,101,110,115,105,111,110,32,116,111,32,79,110,105,103,117,114,117,109,97,58,32,105,102,32,97,32,110,117,109,98,101,114,32,105,115,32,112,114,101,99,101,100,101,100,32,98,121,32,97,32,112,108,117,115,32,111,114,32,109,105,110,117,115,32,115,105,103,110,44,32,105,116,32,105,115,32,116,97,107,101,110,32,97,115,32,97,32,114,101,108,97,116,105,118,101,32,114,101,102,101,114,101,110,99,101,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<40,97,98,99,41,40,63,105,58,92,103,60,45,49,62,41>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,92,103,123,46,46,46,125,32,40,80,101,114,108,32,115,121,110,116,97,120,41,32,97,110,100,32,92,103,60,46,46,46,62,32,40,79,110,105,103,117,114,117,109,97,32,115,121,110,116,97,120,41,32,97,114,101,32>>,{em,[],[<<110,111,116>>]},<<32,115,121,110,111,110,121,109,111,117,115,46,32,84,104,101,32,102,111,114,109,101,114,32,105,115,32,97,32,98,97,99,107,32,114,101,102,101,114,101,110,99,101,59,32,116,104,101,32,108,97,116,116,101,114,32,105,115,32,97,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,46>>]},{a,[{id,<<115,101,99,116,50,51>>}],[]},{h2,[],[<<66,97,99,107,116,114,97,99,107,105,110,103,32,67,111,110,116,114,111,108>>]},{p,[],[<<80,101,114,108,32,53,46,49,48,32,105,110,116,114,111,100,117,99,101,100,32,115,111,109,101,32,34,83,112,101,99,105,97,108,32,66,97,99,107,116,114,97,99,107,105,110,103,32,67,111,110,116,114,111,108,32,86,101,114,98,115,34,44,32,119,104,105,99,104,32,97,114,101,32,115,116,105,108,108,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,101,32,80,101,114,108,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,97,115,32,34,101,120,112,101,114,105,109,101,110,116,97,108,32,97,110,100,32,115,117,98,106,101,99,116,32,116,111,32,99,104,97,110,103,101,32,111,114,32,114,101,109,111,118,97,108,32,105,110,32,97,32,102,117,116,117,114,101,32,118,101,114,115,105,111,110,32,111,102,32,80,101,114,108,34,46,32,73,116,32,103,111,101,115,32,111,110,32,116,111,32,115,97,121,58,32,34,84,104,101,105,114,32,117,115,97,103,101,32,105,110,32,112,114,111,100,117,99,116,105,111,110,32,99,111,100,101,32,115,104,111,117,108,100,32,98,101,32,110,111,116,101,100,32,116,111,32,97,118,111,105,100,32,112,114,111,98,108,101,109,115,32,100,117,114,105,110,103,32,117,112,103,114,97,100,101,115,46,34,32,84,104,101,32,115,97,109,101,32,114,101,109,97,114,107,115,32,97,112,112,108,121,32,116,111,32,116,104,101,32,80,67,82,69,32,102,101,97,116,117,114,101,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,116,104,105,115,32,115,101,99,116,105,111,110,46>>]},{p,[],[<<84,104,101,32,110,101,119,32,118,101,114,98,115,32,109,97,107,101,32,117,115,101,32,111,102,32,119,104,97,116,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,105,110,118,97,108,105,100,32,115,121,110,116,97,120,58,32,97,110,32,111,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,32,102,111,108,108,111,119,101,100,32,98,121,32,97,110,32,97,115,116,101,114,105,115,107,46,32,84,104,101,121,32,97,114,101,32,103,101,110,101,114,97,108,108,121,32,111,102,32,116,104,101,32,102,111,114,109,32,40,42,86,69,82,66,41,32,111,114,32,40,42,86,69,82,66,58,78,65,77,69,41,46,32,83,111,109,101,32,99,97,110,32,116,97,107,101,32,101,105,116,104,101,114,32,102,111,114,109,44,32,112,111,115,115,105,98,108,121,32,98,101,104,97,118,105,110,103,32,100,105,102,102,101,114,101,110,116,108,121,32,100,101,112,101,110,100,105,110,103,32,111,110,32,119,104,101,116,104,101,114,32,97,32,110,97,109,101,32,105,115,32,112,114,101,115,101,110,116,46,32,65,32,110,97,109,101,32,105,115,32,97,110,121,32,115,101,113,117,101,110,99,101,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,105,110,99,108,117,100,101,32,97,32,99,108,111,115,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,46,32,84,104,101,32,109,97,120,105,109,117,109,32,110,97,109,101,32,108,101,110,103,116,104,32,105,115,32,50,53,53,32,105,110,32,116,104,101,32,56,45,98,105,116,32,108,105,98,114,97,114,121,32,97,110,100,32,54,53,53,51,53,32,105,110,32,116,104,101,32,49,54,45,98,105,116,32,97,110,100,32,51,50,45,98,105,116,32,108,105,98,114,97,114,105,101,115,46,32,73,102,32,116,104,101,32,110,97,109,101,32,105,115,32,101,109,112,116,121,44,32,116,104,97,116,32,105,115,44,32,105,102,32,116,104,101,32,99,108,111,115,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,32,105,109,109,101,100,105,97,116,101,108,121,32,102,111,108,108,111,119,115,32,116,104,101,32,99,111,108,111,110,44,32,116,104,101,32,101,102,102,101,99,116,32,105,115,32,97,115,32,105,102,32,116,104,101,32,99,111,108,111,110,32,119,97,115,32,110,111,116,32,116,104,101,114,101,46,32,65,110,121,32,110,117,109,98,101,114,32,111,102,32,116,104,101,115,101,32,118,101,114,98,115,32,99,97,110,32,111,99,99,117,114,32,105,110,32,97,32,112,97,116,116,101,114,110,46>>]},{p,[],[<<84,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,116,104,101,115,101,32,118,101,114,98,115,32,105,110,32,114,101,112,101,97,116,101,100,32,103,114,111,117,112,115,44,32,97,115,115,101,114,116,105,111,110,115,44,32,97,110,100,32,105,110,32,115,117,98,112,97,116,116,101,114,110,115,32,99,97,108,108,101,100,32,97,115,32,115,117,98,114,111,117,116,105,110,101,115,32,40,119,104,101,116,104,101,114,32,111,114,32,110,111,116,32,114,101,99,117,114,115,105,118,101,108,121,41,32,105,115,32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,46>>]},{p,[],[{em,[],[<<79,112,116,105,109,105,122,97,116,105,111,110,115,32,84,104,97,116,32,65,102,102,101,99,116,32,66,97,99,107,116,114,97,99,107,105,110,103,32,86,101,114,98,115>>]}]},{p,[],[<<80,67,82,69,32,99,111,110,116,97,105,110,115,32,115,111,109,101,32,111,112,116,105,109,105,122,97,116,105,111,110,115,32,116,104,97,116,32,97,114,101,32,117,115,101,100,32,116,111,32,115,112,101,101,100,32,117,112,32,109,97,116,99,104,105,110,103,32,98,121,32,114,117,110,110,105,110,103,32,115,111,109,101,32,99,104,101,99,107,115,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,101,97,99,104,32,109,97,116,99,104,32,97,116,116,101,109,112,116,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,116,32,99,97,110,32,107,110,111,119,32,116,104,101,32,109,105,110,105,109,117,109,32,108,101,110,103,116,104,32,111,102,32,109,97,116,99,104,105,110,103,32,115,117,98,106,101,99,116,44,32,111,114,32,116,104,97,116,32,97,32,112,97,114,116,105,99,117,108,97,114,32,99,104,97,114,97,99,116,101,114,32,109,117,115,116,32,98,101,32,112,114,101,115,101,110,116,46,32,87,104,101,110,32,111,110,101,32,111,102,32,116,104,101,115,101,32,111,112,116,105,109,105,122,97,116,105,111,110,115,32,98,121,112,97,115,115,101,115,32,116,104,101,32,114,117,110,110,105,110,103,32,111,102,32,97,32,109,97,116,99,104,44,32,97,110,121,32,105,110,99,108,117,100,101,100,32,98,97,99,107,116,114,97,99,107,105,110,103,32,118,101,114,98,115,32,97,114,101,32,110,111,116,32,112,114,111,99,101,115,115,101,100,46,32,112,114,111,99,101,115,115,101,100,46,32,89,111,117,32,99,97,110,32,115,117,112,112,114,101,115,115,32,116,104,101,32,115,116,97,114,116,45,111,102,45,109,97,116,99,104,32,111,112,116,105,109,105,122,97,116,105,111,110,115,32,98,121,32,115,101,116,116,105,110,103,32,111,112,116,105,111,110,32>>,{code,[],[<<110,111,95,115,116,97,114,116,95,111,112,116,105,109,105,122,101>>]},<<32,119,104,101,110,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,99,111,109,112,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,111,109,112,105,108,101,47,50>>]}]},<<32,111,114,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<44,32,111,114,32,98,121,32,115,116,97,114,116,105,110,103,32,116,104,101,32,112,97,116,116,101,114,110,32,119,105,116,104,32,40,42,78,79,95,83,84,65,82,84,95,79,80,84,41,46>>]},{p,[],[<<69,120,112,101,114,105,109,101,110,116,115,32,119,105,116,104,32,80,101,114,108,32,115,117,103,103,101,115,116,32,116,104,97,116,32,105,116,32,116,111,111,32,104,97,115,32,115,105,109,105,108,97,114,32,111,112,116,105,109,105,122,97,116,105,111,110,115,44,32,115,111,109,101,116,105,109,101,115,32,108,101,97,100,105,110,103,32,116,111,32,97,110,111,109,97,108,111,117,115,32,114,101,115,117,108,116,115,46>>]},{p,[],[{em,[],[<<86,101,114,98,115,32,84,104,97,116,32,65,99,116,32,73,109,109,101,100,105,97,116,101,108,121>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,118,101,114,98,115,32,97,99,116,32,97,115,32,115,111,111,110,32,97,115,32,116,104,101,121,32,97,114,101,32,101,110,99,111,117,110,116,101,114,101,100,46,32,84,104,101,121,32,109,117,115,116,32,110,111,116,32,98,101,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,97,109,101,46>>]},{pre,[],[{code,[],[<<40,42,65,67,67,69,80,84,41>>]}]},{p,[],[<<84,104,105,115,32,118,101,114,98,32,99,97,117,115,101,115,32,116,104,101,32,109,97,116,99,104,32,116,111,32,101,110,100,32,115,117,99,99,101,115,115,102,117,108,108,121,44,32,115,107,105,112,112,105,110,103,32,116,104,101,32,114,101,109,97,105,110,100,101,114,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,46,32,72,111,119,101,118,101,114,44,32,119,104,101,110,32,105,116,32,105,115,32,105,110,115,105,100,101,32,97,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,105,115,32,99,97,108,108,101,100,32,97,115,32,97,32,115,117,98,114,111,117,116,105,110,101,44,32,111,110,108,121,32,116,104,97,116,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,101,110,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,46,32,77,97,116,99,104,105,110,103,32,116,104,101,110,32,99,111,110,116,105,110,117,101,115,32,97,116,32,116,104,101,32,111,117,116,101,114,32,108,101,118,101,108,46,32,73,102,32,40,42,65,67,67,69,80,84,41,32,105,115,32,116,114,105,103,103,101,114,101,100,32,105,110,32,97,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,44,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,115,117,99,99,101,101,100,115,59,32,105,110,32,97,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,44,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,102,97,105,108,115,46>>]},{p,[],[<<73,102,32,40,42,65,67,67,69,80,84,41,32,105,115,32,105,110,115,105,100,101,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,44,32,116,104,101,32,100,97,116,97,32,115,111,32,102,97,114,32,105,115,32,99,97,112,116,117,114,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,101,115,32,34,65,66,34,44,32,34,65,65,68,34,44,32,111,114,32,34,65,67,68,34,46,32,87,104,101,110,32,105,116,32,109,97,116,99,104,101,115,32,34,65,66,34,44,32,34,66,34,32,105,115,32,99,97,112,116,117,114,101,100,32,98,121,32,116,104,101,32,111,117,116,101,114,32,112,97,114,101,110,116,104,101,115,101,115,46>>]},{pre,[],[{code,[],[<<65,40,40,63,58,65,124,66,40,42,65,67,67,69,80,84,41,124,67,41,68,41>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,118,101,114,98,32,99,97,117,115,101,115,32,97,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,44,32,102,111,114,99,105,110,103,32,98,97,99,107,116,114,97,99,107,105,110,103,32,116,111,32,111,99,99,117,114,46,32,73,116,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,40,63,33,41,32,98,117,116,32,101,97,115,105,101,114,32,116,111,32,114,101,97,100,46>>]},{pre,[],[{code,[],[<<40,42,70,65,73,76,41,32,111,114,32,40,42,70,41>>]}]},{p,[],[<<84,104,101,32,80,101,114,108,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,115,116,97,116,101,115,32,116,104,97,116,32,105,116,32,105,115,32,112,114,111,98,97,98,108,121,32,117,115,101,102,117,108,32,111,110,108,121,32,119,104,101,110,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,40,63,123,125,41,32,111,114,32,40,63,63,123,125,41,46,32,84,104,111,115,101,32,97,114,101,32,80,101,114,108,32,102,101,97,116,117,114,101,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,80,67,82,69,46>>]},{p,[],[<<65,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,115,116,114,105,110,103,32,34,97,97,97,97,34,32,97,108,119,97,121,115,32,102,97,105,108,115,44,32,98,117,116,32,116,104,101,32,99,97,108,108,111,117,116,32,105,115,32,116,97,107,101,110,32,98,101,102,111,114,101,32,101,97,99,104,32,98,97,99,107,116,114,97,99,107,32,111,99,99,117,114,115,32,40,105,110,32,116,104,105,115,32,101,120,97,109,112,108,101,44,32,49,48,32,116,105,109,101,115,41,46>>]},{p,[],[{em,[],[<<82,101,99,111,114,100,105,110,103,32,87,104,105,99,104,32,80,97,116,104,32,87,97,115,32,84,97,107,101,110>>]}]},{p,[],[<<84,104,101,32,109,97,105,110,32,112,117,114,112,111,115,101,32,111,102,32,116,104,105,115,32,118,101,114,98,32,105,115,32,116,111,32,116,114,97,99,107,32,104,111,119,32,97,32,109,97,116,99,104,32,119,97,115,32,97,114,114,105,118,101,100,32,97,116,44,32,97,108,116,104,111,117,103,104,32,105,116,32,97,108,115,111,32,104,97,115,32,97,32,115,101,99,111,110,100,97,114,121,32,117,115,101,32,105,110,32,119,105,116,104,32,97,100,118,97,110,99,105,110,103,32,116,104,101,32,109,97,116,99,104,32,115,116,97,114,116,105,110,103,32,112,111,105,110,116,32,40,115,101,101,32,40,42,83,75,73,80,41,32,98,101,108,111,119,41,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<73,110,32,69,114,108,97,110,103,44,32,116,104,101,114,101,32,105,115,32,110,111,32,105,110,116,101,114,102,97,99,101,32,116,111,32,114,101,116,114,105,101,118,101,32,97,32,109,97,114,107,32,119,105,116,104,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,50,44,51>>]}]},<<44,32,115,111,32,111,110,108,121,32,116,104,101,32,115,101,99,111,110,100,97,114,121,32,112,117,114,112,111,115,101,32,105,115,32,114,101,108,101,118,97,110,116,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,103,114,97,109,109,101,114,46>>]},{p,[],[<<84,104,101,32,114,101,115,116,32,111,102,32,116,104,105,115,32,115,101,99,116,105,111,110,32,105,115,32,116,104,101,114,101,102,111,114,101,32,100,101,108,105,98,101,114,97,116,101,108,121,32,110,111,116,32,97,100,97,112,116,101,100,32,102,111,114,32,114,101,97,100,105,110,103,32,98,121,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,103,114,97,109,109,101,114,44,32,98,117,116,32,116,104,101,32,101,120,97,109,112,108,101,115,32,99,97,110,32,104,101,108,112,32,105,110,32,117,110,100,101,114,115,116,97,110,100,105,110,103,32,78,65,77,69,83,32,97,115,32,116,104,101,121,32,99,97,110,32,98,101,32,117,115,101,100,32,98,121,32,40,42,83,75,73,80,41,46>>]}]},{pre,[],[{code,[],[<<40,42,77,65,82,75,58,78,65,77,69,41,32,111,114,32,40,42,58,78,65,77,69,41>>]}]},{p,[],[<<65,32,110,97,109,101,32,105,115,32,97,108,119,97,121,115,32,114,101,113,117,105,114,101,100,32,119,105,116,104,32,116,104,105,115,32,118,101,114,98,46,32,84,104,101,114,101,32,99,97,110,32,98,101,32,97,115,32,109,97,110,121,32,105,110,115,116,97,110,99,101,115,32,111,102,32,40,42,77,65,82,75,41,32,97,115,32,121,111,117,32,108,105,107,101,32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,97,110,100,32,116,104,101,105,114,32,110,97,109,101,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,111,32,98,101,32,117,110,105,113,117,101,46>>]},{p,[],[<<87,104,101,110,32,97,32,109,97,116,99,104,32,115,117,99,99,101,101,100,115,44,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,108,97,115,116,32,101,110,99,111,117,110,116,101,114,101,100,32,40,42,77,65,82,75,58,78,65,77,69,41,44,32,40,42,80,82,85,78,69,58,78,65,77,69,41,44,32,111,114,32,40,42,84,72,69,78,58,78,65,77,69,41,32,111,110,32,116,104,101,32,109,97,116,99,104,105,110,103,32,112,97,116,104,32,105,115,32,112,97,115,115,101,100,32,98,97,99,107,32,116,111,32,116,104,101,32,99,97,108,108,101,114,32,97,115,32,100,101,115,99,114,105,98,101,100,32,105,110,32,115,101,99,116,105,111,110,32,34,69,120,116,114,97,32,100,97,116,97,32,102,111,114,32>>,{code,[],[<<112,99,114,101,95,101,120,101,99,40,41>>]},<<34,32,105,110,32,116,104,101,32>>,{code,[],[<<112,99,114,101,97,112,105>>]},<<32,100,111,99,117,109,101,110,116,97,116,105,111,110,46,32,73,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,32,111,102,32>>,{code,[],[<<112,99,114,101,116,101,115,116>>]},<<32,111,117,116,112,117,116,44,32,116,104,101,32,47,75,32,109,111,100,105,102,105,101,114,32,114,101,113,117,101,115,116,115,32,116,104,101,32,114,101,116,114,105,101,118,97,108,32,97,110,100,32,111,117,116,112,117,116,116,105,110,103,32,111,102,32,40,42,77,65,82,75,41,32,100,97,116,97,58>>]},{pre,[],[{code,[],[<<32,32,114,101,62,32,47,88,40,42,77,65,82,75,58,65,41,89,124,88,40,42,77,65,82,75,58,66,41,90,47,75,10,100,97,116,97,62,32,88,89,10,32,48,58,32,88,89,10,77,75,58,32,65,10,88,90,10,32,48,58,32,88,90,10,77,75,58,32,66>>]}]},{p,[],[<<84,104,101,32,40,42,77,65,82,75,41,32,110,97,109,101,32,105,115,32,116,97,103,103,101,100,32,119,105,116,104,32,34,77,75,58,34,32,105,110,32,116,104,105,115,32,111,117,116,112,117,116,44,32,97,110,100,32,105,110,32,116,104,105,115,32,101,120,97,109,112,108,101,32,105,116,32,105,110,100,105,99,97,116,101,115,32,119,104,105,99,104,32,111,102,32,116,104,101,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,115,32,109,97,116,99,104,101,100,46,32,84,104,105,115,32,105,115,32,97,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,119,97,121,32,111,102,32,111,98,116,97,105,110,105,110,103,32,116,104,105,115,32,105,110,102,111,114,109,97,116,105,111,110,32,116,104,97,110,32,112,117,116,116,105,110,103,32,101,97,99,104,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,105,116,115,32,111,119,110,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,46>>]},{p,[],[<<73,102,32,97,32,118,101,114,98,32,119,105,116,104,32,97,32,110,97,109,101,32,105,115,32,101,110,99,111,117,110,116,101,114,101,100,32,105,110,32,97,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,32,116,104,97,116,32,105,115,32,116,114,117,101,44,32,116,104,101,32,110,97,109,101,32,105,115,32,114,101,99,111,114,100,101,100,32,97,110,100,32,112,97,115,115,101,100,32,98,97,99,107,32,105,102,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,101,110,99,111,117,110,116,101,114,101,100,46,32,84,104,105,115,32,100,111,101,115,32,110,111,116,32,111,99,99,117,114,32,102,111,114,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,32,111,114,32,102,97,105,108,105,110,103,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,46>>]},{p,[],[<<65,102,116,101,114,32,97,32,112,97,114,116,105,97,108,32,109,97,116,99,104,32,111,114,32,97,32,102,97,105,108,101,100,32,109,97,116,99,104,44,32,116,104,101,32,108,97,115,116,32,101,110,99,111,117,110,116,101,114,101,100,32,110,97,109,101,32,105,110,32,116,104,101,32,101,110,116,105,114,101,32,109,97,116,99,104,32,112,114,111,99,101,115,115,32,105,115,32,114,101,116,117,114,110,101,100,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<32,32,114,101,62,32,47,88,40,42,77,65,82,75,58,65,41,89,124,88,40,42,77,65,82,75,58,66,41,90,47,75,10,100,97,116,97,62,32,88,80,10,78,111,32,109,97,116,99,104,44,32,109,97,114,107,32,61,32,66>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,105,110,32,116,104,105,115,32,117,110,97,110,99,104,111,114,101,100,32,101,120,97,109,112,108,101,44,32,116,104,101,32,109,97,114,107,32,105,115,32,114,101,116,97,105,110,101,100,32,102,114,111,109,32,116,104,101,32,109,97,116,99,104,32,97,116,116,101,109,112,116,32,116,104,97,116,32,115,116,97,114,116,101,100,32,97,116,32,108,101,116,116,101,114,32,34,88,34,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,46,32,83,117,98,115,101,113,117,101,110,116,32,109,97,116,99,104,32,97,116,116,101,109,112,116,115,32,115,116,97,114,116,105,110,103,32,97,116,32,34,80,34,32,97,110,100,32,116,104,101,110,32,119,105,116,104,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,32,100,111,32,110,111,116,32,103,101,116,32,97,115,32,102,97,114,32,97,115,32,116,104,101,32,40,42,77,65,82,75,41,32,105,116,101,109,44,32,110,101,118,101,114,116,104,101,108,101,115,115,32,100,111,32,110,111,116,32,114,101,115,101,116,32,105,116,46>>]},{p,[],[{em,[],[<<86,101,114,98,115,32,84,104,97,116,32,65,99,116,32,97,102,116,101,114,32,66,97,99,107,116,114,97,99,107,105,110,103>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,118,101,114,98,115,32,100,111,32,110,111,116,104,105,110,103,32,119,104,101,110,32,116,104,101,121,32,97,114,101,32,101,110,99,111,117,110,116,101,114,101,100,46,32,77,97,116,99,104,105,110,103,32,99,111,110,116,105,110,117,101,115,32,119,105,116,104,32,119,104,97,116,32,102,111,108,108,111,119,115,44,32,98,117,116,32,105,102,32,116,104,101,114,101,32,105,115,32,110,111,32,115,117,98,115,101,113,117,101,110,116,32,109,97,116,99,104,44,32,99,97,117,115,105,110,103,32,97,32,98,97,99,107,116,114,97,99,107,32,116,111,32,116,104,101,32,118,101,114,98,44,32,97,32,102,97,105,108,117,114,101,32,105,115,32,102,111,114,99,101,100,46,32,84,104,97,116,32,105,115,44,32,98,97,99,107,116,114,97,99,107,105,110,103,32,99,97,110,110,111,116,32,112,97,115,115,32,116,111,32,116,104,101,32,108,101,102,116,32,111,102,32,116,104,101,32,118,101,114,98,46,32,72,111,119,101,118,101,114,44,32,119,104,101,110,32,111,110,101,32,111,102,32,116,104,101,115,101,32,118,101,114,98,115,32,97,112,112,101,97,114,115,32,105,110,115,105,100,101,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,32,111,114,32,97,110,32,97,115,115,101,114,116,105,111,110,32,116,104,97,116,32,105,115,32,116,114,117,101,44,32,105,116,115,32,101,102,102,101,99,116,32,105,115,32,99,111,110,102,105,110,101,100,32,116,111,32,116,104,97,116,32,103,114,111,117,112,44,32,97,115,32,111,110,99,101,32,116,104,101,32,103,114,111,117,112,32,104,97,115,32,98,101,101,110,32,109,97,116,99,104,101,100,44,32,116,104,101,114,101,32,105,115,32,110,101,118,101,114,32,97,110,121,32,98,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,105,116,46,32,73,110,32,116,104,105,115,32,115,105,116,117,97,116,105,111,110,44,32,98,97,99,107,116,114,97,99,107,105,110,103,32,99,97,110,32,34,106,117,109,112,32,98,97,99,107,34,32,116,111,32,116,104,101,32,108,101,102,116,32,111,102,32,116,104,101,32,101,110,116,105,114,101,32,97,116,111,109,105,99,32,103,114,111,117,112,32,111,114,32,97,115,115,101,114,116,105,111,110,46,32,40,82,101,109,101,109,98,101,114,32,97,108,115,111,44,32,97,115,32,115,116,97,116,101,100,32,97,98,111,118,101,44,32,116,104,97,116,32,116,104,105,115,32,108,111,99,97,108,105,122,97,116,105,111,110,32,97,108,115,111,32,97,112,112,108,105,101,115,32,105,110,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,115,46,41>>]},{p,[],[<<84,104,101,115,101,32,118,101,114,98,115,32,100,105,102,102,101,114,32,105,110,32,101,120,97,99,116,108,121,32,119,104,97,116,32,107,105,110,100,32,111,102,32,102,97,105,108,117,114,101,32,111,99,99,117,114,115,32,119,104,101,110,32,98,97,99,107,116,114,97,99,107,105,110,103,32,114,101,97,99,104,101,115,32,116,104,101,109,46,32,84,104,101,32,98,101,104,97,118,105,111,114,32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,32,105,115,32,119,104,97,116,32,111,99,99,117,114,115,32,119,104,101,110,32,116,104,101,32,118,101,114,98,32,105,115,32,110,111,116,32,105,110,32,97,32,115,117,98,114,111,117,116,105,110,101,32,111,114,32,97,110,32,97,115,115,101,114,116,105,111,110,46,32,83,117,98,115,101,113,117,101,110,116,32,115,101,99,116,105,111,110,115,32,99,111,118,101,114,32,116,104,101,115,101,32,115,112,101,99,105,97,108,32,99,97,115,101,115,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,118,101,114,98,44,32,119,104,105,99,104,32,109,117,115,116,32,110,111,116,32,98,101,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,110,97,109,101,44,32,99,97,117,115,101,115,32,116,104,101,32,119,104,111,108,101,32,109,97,116,99,104,32,116,111,32,102,97,105,108,32,111,117,116,114,105,103,104,116,32,105,102,32,116,104,101,114,101,32,105,115,32,97,32,108,97,116,101,114,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,32,116,104,97,116,32,99,97,117,115,101,115,32,98,97,99,107,116,114,97,99,107,105,110,103,32,116,111,32,114,101,97,99,104,32,105,116,46,32,69,118,101,110,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,117,110,97,110,99,104,111,114,101,100,44,32,110,111,32,102,117,114,116,104,101,114,32,97,116,116,101,109,112,116,115,32,116,111,32,102,105,110,100,32,97,32,109,97,116,99,104,32,98,121,32,97,100,118,97,110,99,105,110,103,32,116,104,101,32,115,116,97,114,116,105,110,103,32,112,111,105,110,116,32,116,97,107,101,32,112,108,97,99,101,46>>]},{pre,[],[{code,[],[<<40,42,67,79,77,77,73,84,41>>]}]},{p,[],[<<73,102,32,40,42,67,79,77,77,73,84,41,32,105,115,32,116,104,101,32,111,110,108,121,32,98,97,99,107,116,114,97,99,107,105,110,103,32,118,101,114,98,32,116,104,97,116,32,105,115,32,101,110,99,111,117,110,116,101,114,101,100,44,32,111,110,99,101,32,105,116,32,104,97,115,32,98,101,101,110,32,112,97,115,115,101,100,44,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,50,44,51>>]}]},<<32,105,115,32,99,111,109,109,105,116,116,101,100,32,116,111,32,102,105,110,100,32,97,32,109,97,116,99,104,32,97,116,32,116,104,101,32,99,117,114,114,101,110,116,32,115,116,97,114,116,105,110,103,32,112,111,105,110,116,44,32,111,114,32,110,111,116,32,97,116,32,97,108,108,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<97,43,40,42,67,79,77,77,73,84,41,98>>]}]},{p,[],[<<84,104,105,115,32,109,97,116,99,104,101,115,32,34,120,120,97,97,98,34,32,98,117,116,32,110,111,116,32,34,97,97,99,97,97,98,34,46,32,73,116,32,99,97,110,32,98,101,32,116,104,111,117,103,104,116,32,111,102,32,97,115,32,97,32,107,105,110,100,32,111,102,32,100,121,110,97,109,105,99,32,97,110,99,104,111,114,44,32,111,114,32,34,73,39,118,101,32,115,116,97,114,116,101,100,44,32,115,111,32,73,32,109,117,115,116,32,102,105,110,105,115,104,34,46,32,84,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,109,111,115,116,32,114,101,99,101,110,116,108,121,32,112,97,115,115,101,100,32,40,42,77,65,82,75,41,32,105,110,32,116,104,101,32,112,97,116,104,32,105,115,32,112,97,115,115,101,100,32,98,97,99,107,32,119,104,101,110,32,40,42,67,79,77,77,73,84,41,32,102,111,114,99,101,115,32,97,32,109,97,116,99,104,32,102,97,105,108,117,114,101,46>>]},{p,[],[<<73,102,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,98,97,99,107,116,114,97,99,107,105,110,103,32,118,101,114,98,32,101,120,105,115,116,115,32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,97,32,100,105,102,102,101,114,101,110,116,32,111,110,101,32,116,104,97,116,32,102,111,108,108,111,119,115,32,40,42,67,79,77,77,73,84,41,32,99,97,110,32,98,101,32,116,114,105,103,103,101,114,101,100,32,102,105,114,115,116,44,32,115,111,32,109,101,114,101,108,121,32,112,97,115,115,105,110,103,32,40,42,67,79,77,77,73,84,41,32,100,117,114,105,110,103,32,97,32,109,97,116,99,104,32,100,111,101,115,32,110,111,116,32,97,108,119,97,121,115,32,103,117,97,114,97,110,116,101,101,32,116,104,97,116,32,97,32,109,97,116,99,104,32,109,117,115,116,32,98,101,32,97,116,32,116,104,105,115,32,115,116,97,114,116,105,110,103,32,112,111,105,110,116,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,40,42,67,79,77,77,73,84,41,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,97,32,112,97,116,116,101,114,110,32,105,115,32,110,111,116,32,116,104,101,32,115,97,109,101,32,97,115,32,97,110,32,97,110,99,104,111,114,44,32,117,110,108,101,115,115,32,116,104,101,32,80,67,82,69,32,115,116,97,114,116,45,111,102,45,109,97,116,99,104,32,111,112,116,105,109,105,122,97,116,105,111,110,115,32,97,114,101,32,116,117,114,110,101,100,32,111,102,102,44,32,97,115,32,115,104,111,119,110,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<49,62,32,114,101,58,114,117,110,40,34,120,121,122,97,98,99,34,44,34,40,42,67,79,77,77,73,84,41,97,98,99,34,44,91,123,99,97,112,116,117,114,101,44,97,108,108,44,108,105,115,116,125,93,41,46,10,123,109,97,116,99,104,44,91,34,97,98,99,34,93,125,10,50,62,32,114,101,58,114,117,110,40,34,120,121,122,97,98,99,34,44,34,40,42,67,79,77,77,73,84,41,97,98,99,34,44,91,123,99,97,112,116,117,114,101,44,97,108,108,44,108,105,115,116,125,44,110,111,95,115,116,97,114,116,95,111,112,116,105,109,105,122,101,93,41,46,10,110,111,109,97,116,99,104>>]}]},{p,[],[<<70,111,114,32,116,104,105,115,32,112,97,116,116,101,114,110,44,32,80,67,82,69,32,107,110,111,119,115,32,116,104,97,116,32,97,110,121,32,109,97,116,99,104,32,109,117,115,116,32,115,116,97,114,116,32,119,105,116,104,32,34,97,34,44,32,115,111,32,116,104,101,32,111,112,116,105,109,105,122,97,116,105,111,110,32,115,107,105,112,115,32,97,108,111,110,103,32,116,104,101,32,115,117,98,106,101,99,116,32,116,111,32,34,97,34,32,98,101,102,111,114,101,32,97,112,112,108,121,105,110,103,32,116,104,101,32,112,97,116,116,101,114,110,32,116,111,32,116,104,101,32,102,105,114,115,116,32,115,101,116,32,111,102,32,100,97,116,97,46,32,84,104,101,32,109,97,116,99,104,32,97,116,116,101,109,112,116,32,116,104,101,110,32,115,117,99,99,101,101,100,115,46,32,73,110,32,116,104,101,32,115,101,99,111,110,100,32,99,97,108,108,32,116,104,101,32>>,{code,[],[<<110,111,95,115,116,97,114,116,95,111,112,116,105,109,105,122,101>>]},<<32,100,105,115,97,98,108,101,115,32,116,104,101,32,111,112,116,105,109,105,122,97,116,105,111,110,32,116,104,97,116,32,115,107,105,112,115,32,97,108,111,110,103,32,116,111,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,46,32,84,104,101,32,112,97,116,116,101,114,110,32,105,115,32,110,111,119,32,97,112,112,108,105,101,100,32,115,116,97,114,116,105,110,103,32,97,116,32,34,120,34,44,32,97,110,100,32,115,111,32,116,104,101,32,40,42,67,79,77,77,73,84,41,32,99,97,117,115,101,115,32,116,104,101,32,109,97,116,99,104,32,116,111,32,102,97,105,108,32,119,105,116,104,111,117,116,32,116,114,121,105,110,103,32,97,110,121,32,111,116,104,101,114,32,115,116,97,114,116,105,110,103,32,112,111,105,110,116,115,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,118,101,114,98,32,99,97,117,115,101,115,32,116,104,101,32,109,97,116,99,104,32,116,111,32,102,97,105,108,32,97,116,32,116,104,101,32,99,117,114,114,101,110,116,32,115,116,97,114,116,105,110,103,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,105,102,32,116,104,101,114,101,32,105,115,32,97,32,108,97,116,101,114,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,32,116,104,97,116,32,99,97,117,115,101,115,32,98,97,99,107,116,114,97,99,107,105,110,103,32,116,111,32,114,101,97,99,104,32,105,116,58>>]},{pre,[],[{code,[],[<<40,42,80,82,85,78,69,41,32,111,114,32,40,42,80,82,85,78,69,58,78,65,77,69,41>>]}]},{p,[],[<<73,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,117,110,97,110,99,104,111,114,101,100,44,32,116,104,101,32,110,111,114,109,97,108,32,34,98,117,109,112,97,108,111,110,103,34,32,97,100,118,97,110,99,101,32,116,111,32,116,104,101,32,110,101,120,116,32,115,116,97,114,116,105,110,103,32,99,104,97,114,97,99,116,101,114,32,116,104,101,110,32,111,99,99,117,114,115,46,32,66,97,99,107,116,114,97,99,107,105,110,103,32,99,97,110,32,111,99,99,117,114,32,97,115,32,117,115,117,97,108,32,116,111,32,116,104,101,32,108,101,102,116,32,111,102,32,40,42,80,82,85,78,69,41,44,32,98,101,102,111,114,101,32,105,116,32,105,115,32,114,101,97,99,104,101,100,44,32,111,114,32,119,104,101,110,32,109,97,116,99,104,105,110,103,32,116,111,32,116,104,101,32,114,105,103,104,116,32,111,102,32,40,42,80,82,85,78,69,41,44,32,98,117,116,32,105,102,32,116,104,101,114,101,32,105,115,32,110,111,32,109,97,116,99,104,32,116,111,32,116,104,101,32,114,105,103,104,116,44,32,98,97,99,107,116,114,97,99,107,105,110,103,32,99,97,110,110,111,116,32,99,114,111,115,115,32,40,42,80,82,85,78,69,41,46,32,73,110,32,115,105,109,112,108,101,32,99,97,115,101,115,44,32,116,104,101,32,117,115,101,32,111,102,32,40,42,80,82,85,78,69,41,32,105,115,32,106,117,115,116,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,32,116,111,32,97,110,32,97,116,111,109,105,99,32,103,114,111,117,112,32,111,114,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,44,32,98,117,116,32,116,104,101,114,101,32,97,114,101,32,115,111,109,101,32,117,115,101,115,32,111,102,32,40,42,80,82,85,78,69,41,32,116,104,97,116,32,99,97,110,110,111,116,32,98,101,32,101,120,112,114,101,115,115,101,100,32,105,110,32,97,110,121,32,111,116,104,101,114,32,119,97,121,46,32,73,110,32,97,110,32,97,110,99,104,111,114,101,100,32,112,97,116,116,101,114,110,44,32,40,42,80,82,85,78,69,41,32,104,97,115,32,116,104,101,32,115,97,109,101,32,101,102,102,101,99,116,32,97,115,32,40,42,67,79,77,77,73,84,41,46>>]},{p,[],[<<84,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,40,42,80,82,85,78,69,58,78,65,77,69,41,32,105,115,32,116,104,101,32,110,111,116,32,116,104,101,32,115,97,109,101,32,97,115,32,40,42,77,65,82,75,58,78,65,77,69,41,40,42,80,82,85,78,69,41,46,32,73,116,32,105,115,32,108,105,107,101,32,40,42,77,65,82,75,58,78,65,77,69,41,32,105,110,32,116,104,97,116,32,116,104,101,32,110,97,109,101,32,105,115,32,114,101,109,101,109,98,101,114,101,100,32,102,111,114,32,112,97,115,115,105,110,103,32,98,97,99,107,32,116,111,32,116,104,101,32,99,97,108,108,101,114,46,32,72,111,119,101,118,101,114,44,32,40,42,83,75,73,80,58,78,65,77,69,41,32,115,101,97,114,99,104,101,115,32,111,110,108,121,32,102,111,114,32,110,97,109,101,115,32,115,101,116,32,119,105,116,104,32,40,42,77,65,82,75,41,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,102,97,99,116,32,116,104,97,116,32,40,42,80,82,85,78,69,58,78,65,77,69,41,32,114,101,109,101,109,98,101,114,115,32,116,104,101,32,110,97,109,101,32,105,115,32,117,115,101,108,101,115,115,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,103,114,97,109,109,101,114,44,32,97,115,32,110,97,109,101,115,32,99,97,110,110,111,116,32,98,101,32,114,101,116,114,105,101,118,101,100,46>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,118,101,114,98,44,32,119,104,101,110,32,115,112,101,99,105,102,105,101,100,32,119,105,116,104,111,117,116,32,97,32,110,97,109,101,44,32,105,115,32,108,105,107,101,32,40,42,80,82,85,78,69,41,44,32,101,120,99,101,112,116,32,116,104,97,116,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,117,110,97,110,99,104,111,114,101,100,44,32,116,104,101,32,34,98,117,109,112,97,108,111,110,103,34,32,97,100,118,97,110,99,101,32,105,115,32,110,111,116,32,116,111,32,116,104,101,32,110,101,120,116,32,99,104,97,114,97,99,116,101,114,44,32,98,117,116,32,116,111,32,116,104,101,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,119,104,101,114,101,32,40,42,83,75,73,80,41,32,119,97,115,32,101,110,99,111,117,110,116,101,114,101,100,46>>]},{pre,[],[{code,[],[<<40,42,83,75,73,80,41>>]}]},{p,[],[<<40,42,83,75,73,80,41,32,115,105,103,110,105,102,105,101,115,32,116,104,97,116,32,119,104,97,116,101,118,101,114,32,116,101,120,116,32,119,97,115,32,109,97,116,99,104,101,100,32,108,101,97,100,105,110,103,32,117,112,32,116,111,32,105,116,32,99,97,110,110,111,116,32,98,101,32,112,97,114,116,32,111,102,32,97,32,115,117,99,99,101,115,115,102,117,108,32,109,97,116,99,104,46,32,67,111,110,115,105,100,101,114,58>>]},{pre,[],[{code,[],[<<97,43,40,42,83,75,73,80,41,98>>]}]},{p,[],[<<73,102,32,116,104,101,32,115,117,98,106,101,99,116,32,105,115,32,34,97,97,97,97,99,46,46,46,34,44,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,32,109,97,116,99,104,32,97,116,116,101,109,112,116,32,102,97,105,108,115,32,40,115,116,97,114,116,105,110,103,32,97,116,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,115,116,114,105,110,103,41,44,32,116,104,101,32,115,116,97,114,116,105,110,103,32,112,111,105,110,116,32,115,107,105,112,115,32,111,110,32,116,111,32,115,116,97,114,116,32,116,104,101,32,110,101,120,116,32,97,116,116,101,109,112,116,32,97,116,32,34,99,34,46,32,78,111,116,105,99,101,32,116,104,97,116,32,97,32,112,111,115,115,101,115,115,105,118,101,32,113,117,97,110,116,105,102,105,101,114,32,100,111,101,115,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,101,102,102,101,99,116,32,97,115,32,116,104,105,115,32,101,120,97,109,112,108,101,59,32,97,108,116,104,111,117,103,104,32,105,116,32,119,111,117,108,100,32,115,117,112,112,114,101,115,115,32,98,97,99,107,116,114,97,99,107,105,110,103,32,100,117,114,105,110,103,32,116,104,101,32,102,105,114,115,116,32,109,97,116,99,104,32,97,116,116,101,109,112,116,44,32,116,104,101,32,115,101,99,111,110,100,32,97,116,116,101,109,112,116,32,119,111,117,108,100,32,115,116,97,114,116,32,97,116,32,116,104,101,32,115,101,99,111,110,100,32,99,104,97,114,97,99,116,101,114,32,105,110,115,116,101,97,100,32,111,102,32,115,107,105,112,112,105,110,103,32,111,110,32,116,111,32,34,99,34,46>>]},{p,[],[<<87,104,101,110,32,40,42,83,75,73,80,41,32,104,97,115,32,97,110,32,97,115,115,111,99,105,97,116,101,100,32,110,97,109,101,44,32,105,116,115,32,98,101,104,97,118,105,111,114,32,105,115,32,109,111,100,105,102,105,101,100,58>>]},{pre,[],[{code,[],[<<40,42,83,75,73,80,58,78,65,77,69,41>>]}]},{p,[],[<<87,104,101,110,32,116,104,105,115,32,105,115,32,116,114,105,103,103,101,114,101,100,44,32,116,104,101,32,112,114,101,118,105,111,117,115,32,112,97,116,104,32,116,104,114,111,117,103,104,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,115,101,97,114,99,104,101,100,32,102,111,114,32,116,104,101,32,109,111,115,116,32,114,101,99,101,110,116,32,40,42,77,65,82,75,41,32,116,104,97,116,32,104,97,115,32,116,104,101,32,115,97,109,101,32,110,97,109,101,46,32,73,102,32,111,110,101,32,105,115,32,102,111,117,110,100,44,32,116,104,101,32,34,98,117,109,112,97,108,111,110,103,34,32,97,100,118,97,110,99,101,32,105,115,32,116,111,32,116,104,101,32,115,117,98,106,101,99,116,32,112,111,115,105,116,105,111,110,32,116,104,97,116,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,97,116,32,40,42,77,65,82,75,41,32,105,110,115,116,101,97,100,32,111,102,32,116,111,32,119,104,101,114,101,32,40,42,83,75,73,80,41,32,119,97,115,32,101,110,99,111,117,110,116,101,114,101,100,46,32,73,102,32,110,111,32,40,42,77,65,82,75,41,32,119,105,116,104,32,97,32,109,97,116,99,104,105,110,103,32,110,97,109,101,32,105,115,32,102,111,117,110,100,44,32,40,42,83,75,73,80,41,32,105,115,32,105,103,110,111,114,101,100,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,40,42,83,75,73,80,58,78,65,77,69,41,32,115,101,97,114,99,104,101,115,32,111,110,108,121,32,102,111,114,32,110,97,109,101,115,32,115,101,116,32,98,121,32,40,42,77,65,82,75,58,78,65,77,69,41,46,32,73,116,32,105,103,110,111,114,101,115,32,110,97,109,101,115,32,116,104,97,116,32,97,114,101,32,115,101,116,32,98,121,32,40,42,80,82,85,78,69,58,78,65,77,69,41,32,111,114,32,40,42,84,72,69,78,58,78,65,77,69,41,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,118,101,114,98,32,99,97,117,115,101,115,32,97,32,115,107,105,112,32,116,111,32,116,104,101,32,110,101,120,116,32,105,110,110,101,114,109,111,115,116,32,97,108,116,101,114,110,97,116,105,118,101,32,119,104,101,110,32,98,97,99,107,116,114,97,99,107,105,110,103,32,114,101,97,99,104,101,115,32,105,116,46,32,84,104,97,116,32,105,115,44,32,105,116,32,99,97,110,99,101,108,115,32,97,110,121,32,102,117,114,116,104,101,114,32,98,97,99,107,116,114,97,99,107,105,110,103,32,119,105,116,104,105,110,32,116,104,101,32,99,117,114,114,101,110,116,32,97,108,116,101,114,110,97,116,105,118,101,46>>]},{pre,[],[{code,[],[<<40,42,84,72,69,78,41,32,111,114,32,40,42,84,72,69,78,58,78,65,77,69,41>>]}]},{p,[],[<<84,104,101,32,118,101,114,98,32,110,97,109,101,32,99,111,109,101,115,32,102,114,111,109,32,116,104,101,32,111,98,115,101,114,118,97,116,105,111,110,32,116,104,97,116,32,105,116,32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,32,97,32,112,97,116,116,101,114,110,45,98,97,115,101,100,32,105,102,45,116,104,101,110,45,101,108,115,101,32,98,108,111,99,107,58>>]},{pre,[],[{code,[],[<<40,32,67,79,78,68,49,32,40,42,84,72,69,78,41,32,70,79,79,32,124,32,67,79,78,68,50,32,40,42,84,72,69,78,41,32,66,65,82,32,124,32,67,79,78,68,51,32,40,42,84,72,69,78,41,32,66,65,90,32,41,32,46,46,46>>]}]},{p,[],[<<73,102,32,116,104,101,32,67,79,78,68,49,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,44,32,70,79,79,32,105,115,32,116,114,105,101,100,32,40,97,110,100,32,112,111,115,115,105,98,108,121,32,102,117,114,116,104,101,114,32,105,116,101,109,115,32,97,102,116,101,114,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,103,114,111,117,112,32,105,102,32,70,79,79,32,115,117,99,99,101,101,100,115,41,46,32,79,110,32,102,97,105,108,117,114,101,44,32,116,104,101,32,109,97,116,99,104,101,114,32,115,107,105,112,115,32,116,111,32,116,104,101,32,115,101,99,111,110,100,32,97,108,116,101,114,110,97,116,105,118,101,32,97,110,100,32,116,114,105,101,115,32,67,79,78,68,50,44,32,119,105,116,104,111,117,116,32,98,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,67,79,78,68,49,46,32,73,102,32,116,104,97,116,32,115,117,99,99,101,101,100,115,32,97,110,100,32,66,65,82,32,102,97,105,108,115,44,32,67,79,78,68,51,32,105,115,32,116,114,105,101,100,46,32,73,102,32,66,65,90,32,116,104,101,110,32,102,97,105,108,115,44,32,116,104,101,114,101,32,97,114,101,32,110,111,32,109,111,114,101,32,97,108,116,101,114,110,97,116,105,118,101,115,44,32,115,111,32,116,104,101,114,101,32,105,115,32,97,32,98,97,99,107,116,114,97,99,107,32,116,111,32,119,104,97,116,101,118,101,114,32,99,97,109,101,32,98,101,102,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,103,114,111,117,112,46,32,73,102,32,40,42,84,72,69,78,41,32,105,115,32,110,111,116,32,105,110,115,105,100,101,32,97,110,32,97,108,116,101,114,110,97,116,105,111,110,44,32,105,116,32,97,99,116,115,32,108,105,107,101,32,40,42,80,82,85,78,69,41,46>>]},{p,[],[<<84,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,40,42,84,72,69,78,58,78,65,77,69,41,32,105,115,32,116,104,101,32,110,111,116,32,116,104,101,32,115,97,109,101,32,97,115,32,40,42,77,65,82,75,58,78,65,77,69,41,40,42,84,72,69,78,41,46,32,73,116,32,105,115,32,108,105,107,101,32,40,42,77,65,82,75,58,78,65,77,69,41,32,105,110,32,116,104,97,116,32,116,104,101,32,110,97,109,101,32,105,115,32,114,101,109,101,109,98,101,114,101,100,32,102,111,114,32,112,97,115,115,105,110,103,32,98,97,99,107,32,116,111,32,116,104,101,32,99,97,108,108,101,114,46,32,72,111,119,101,118,101,114,44,32,40,42,83,75,73,80,58,78,65,77,69,41,32,115,101,97,114,99,104,101,115,32,111,110,108,121,32,102,111,114,32,110,97,109,101,115,32,115,101,116,32,119,105,116,104,32,40,42,77,65,82,75,41,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,101,32,102,97,99,116,32,116,104,97,116,32,40,42,84,72,69,78,58,78,65,77,69,41,32,114,101,109,101,109,98,101,114,115,32,116,104,101,32,110,97,109,101,32,105,115,32,117,115,101,108,101,115,115,32,116,111,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,103,114,97,109,109,101,114,44,32,97,115,32,110,97,109,101,115,32,99,97,110,110,111,116,32,98,101,32,114,101,116,114,105,101,118,101,100,46>>]}]},{p,[],[<<65,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,97,32,124,32,99,104,97,114,97,99,116,101,114,32,105,115,32,106,117,115,116,32,97,32,112,97,114,116,32,111,102,32,116,104,101,32,101,110,99,108,111,115,105,110,103,32,97,108,116,101,114,110,97,116,105,118,101,59,32,105,116,32,105,115,32,110,111,116,32,97,32,110,101,115,116,101,100,32,97,108,116,101,114,110,97,116,105,111,110,32,119,105,116,104,32,111,110,108,121,32,111,110,101,32,97,108,116,101,114,110,97,116,105,118,101,46,32,84,104,101,32,101,102,102,101,99,116,32,111,102,32,40,42,84,72,69,78,41,32,101,120,116,101,110,100,115,32,98,101,121,111,110,100,32,115,117,99,104,32,97,32,115,117,98,112,97,116,116,101,114,110,32,116,111,32,116,104,101,32,101,110,99,108,111,115,105,110,103,32,97,108,116,101,114,110,97,116,105,118,101,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,119,104,101,114,101,32,65,44,32,66,44,32,97,110,100,32,115,111,32,111,110,44,32,97,114,101,32,99,111,109,112,108,101,120,32,112,97,116,116,101,114,110,32,102,114,97,103,109,101,110,116,115,32,116,104,97,116,32,100,111,32,110,111,116,32,99,111,110,116,97,105,110,32,97,110,121,32,124,32,99,104,97,114,97,99,116,101,114,115,32,97,116,32,116,104,105,115,32,108,101,118,101,108,58>>]},{pre,[],[{code,[],[<<65,32,40,66,40,42,84,72,69,78,41,67,41,32,124,32,68>>]}]},{p,[],[<<73,102,32,65,32,97,110,100,32,66,32,97,114,101,32,109,97,116,99,104,101,100,44,32,98,117,116,32,116,104,101,114,101,32,105,115,32,97,32,102,97,105,108,117,114,101,32,105,110,32,67,44,32,109,97,116,99,104,105,110,103,32,100,111,101,115,32,110,111,116,32,98,97,99,107,116,114,97,99,107,32,105,110,116,111,32,65,59,32,105,110,115,116,101,97,100,32,105,116,32,109,111,118,101,115,32,116,111,32,116,104,101,32,110,101,120,116,32,97,108,116,101,114,110,97,116,105,118,101,44,32,116,104,97,116,32,105,115,44,32,68,46,32,72,111,119,101,118,101,114,44,32,105,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,99,111,110,116,97,105,110,105,110,103,32,40,42,84,72,69,78,41,32,105,115,32,103,105,118,101,110,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,44,32,105,116,32,98,101,104,97,118,101,115,32,100,105,102,102,101,114,101,110,116,108,121,58>>]},{pre,[],[{code,[],[<<65,32,40,66,40,42,84,72,69,78,41,67,32,124,32,40,42,70,65,73,76,41,41,32,124,32,68>>]}]},{p,[],[<<84,104,101,32,101,102,102,101,99,116,32,111,102,32,40,42,84,72,69,78,41,32,105,115,32,110,111,119,32,99,111,110,102,105,110,101,100,32,116,111,32,116,104,101,32,105,110,110,101,114,32,115,117,98,112,97,116,116,101,114,110,46,32,65,102,116,101,114,32,97,32,102,97,105,108,117,114,101,32,105,110,32,67,44,32,109,97,116,99,104,105,110,103,32,109,111,118,101,115,32,116,111,32,40,42,70,65,73,76,41,44,32,119,104,105,99,104,32,99,97,117,115,101,115,32,116,104,101,32,119,104,111,108,101,32,115,117,98,112,97,116,116,101,114,110,32,116,111,32,102,97,105,108,44,32,97,115,32,116,104,101,114,101,32,97,114,101,32,110,111,32,109,111,114,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,116,111,32,116,114,121,46,32,73,110,32,116,104,105,115,32,99,97,115,101,44,32,109,97,116,99,104,105,110,103,32,100,111,101,115,32,110,111,119,32,98,97,99,107,116,114,97,99,107,32,105,110,116,111,32,65,46>>]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,97,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,110,111,116,32,99,111,110,115,105,100,101,114,101,100,32,97,115,32,104,97,118,105,110,103,32,116,119,111,32,97,108,116,101,114,110,97,116,105,118,101,115,44,32,97,115,32,111,110,108,121,32,111,110,101,32,105,115,32,101,118,101,114,32,117,115,101,100,46,32,84,104,97,116,32,105,115,44,32,116,104,101,32,124,32,99,104,97,114,97,99,116,101,114,32,105,110,32,97,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,32,104,97,115,32,97,32,100,105,102,102,101,114,101,110,116,32,109,101,97,110,105,110,103,46,32,73,103,110,111,114,105,110,103,32,119,104,105,116,101,115,112,97,99,101,44,32,99,111,110,115,105,100,101,114,58>>]},{pre,[],[{code,[],[<<94,46,42,63,32,40,63,40,63,61,97,41,32,97,32,124,32,98,40,42,84,72,69,78,41,99,32,41>>]}]},{p,[],[<<73,102,32,116,104,101,32,115,117,98,106,101,99,116,32,105,115,32,34,98,97,34,44,32,116,104,105,115,32,112,97,116,116,101,114,110,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,32,65,115,32,46,42,63,32,105,115,32,117,110,103,114,101,101,100,121,44,32,105,116,32,105,110,105,116,105,97,108,108,121,32,109,97,116,99,104,101,115,32,122,101,114,111,32,99,104,97,114,97,99,116,101,114,115,46,32,84,104,101,32,99,111,110,100,105,116,105,111,110,32,40,63,61,97,41,32,116,104,101,110,32,102,97,105,108,115,44,32,116,104,101,32,99,104,97,114,97,99,116,101,114,32,34,98,34,32,105,115,32,109,97,116,99,104,101,100,44,32,98,117,116,32,34,99,34,32,105,115,32,110,111,116,46,32,65,116,32,116,104,105,115,32,112,111,105,110,116,44,32,109,97,116,99,104,105,110,103,32,100,111,101,115,32,110,111,116,32,98,97,99,107,116,114,97,99,107,32,116,111,32,46,42,63,32,97,115,32,99,97,110,32,112,101,114,104,97,112,115,32,98,101,32,101,120,112,101,99,116,101,100,32,102,114,111,109,32,116,104,101,32,112,114,101,115,101,110,99,101,32,111,102,32,116,104,101,32,124,32,99,104,97,114,97,99,116,101,114,46,32,84,104,101,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,115,105,110,103,108,101,32,97,108,116,101,114,110,97,116,105,118,101,32,116,104,97,116,32,99,111,109,112,114,105,115,101,115,32,116,104,101,32,119,104,111,108,101,32,112,97,116,116,101,114,110,44,32,97,110,100,32,115,111,32,116,104,101,32,109,97,116,99,104,32,102,97,105,108,115,46,32,40,73,102,32,116,104,101,114,101,32,119,97,115,32,97,32,98,97,99,107,116,114,97,99,107,32,105,110,116,111,32,46,42,63,44,32,97,108,108,111,119,105,110,103,32,105,116,32,116,111,32,109,97,116,99,104,32,34,98,34,44,32,116,104,101,32,109,97,116,99,104,32,119,111,117,108,100,32,115,117,99,99,101,101,100,46,41>>]},{p,[],[<<84,104,101,32,118,101,114,98,115,32,100,101,115,99,114,105,98,101,100,32,97,98,111,118,101,32,112,114,111,118,105,100,101,32,102,111,117,114,32,100,105,102,102,101,114,101,110,116,32,34,115,116,114,101,110,103,116,104,115,34,32,111,102,32,99,111,110,116,114,111,108,32,119,104,101,110,32,115,117,98,115,101,113,117,101,110,116,32,109,97,116,99,104,105,110,103,32,102,97,105,108,115,58>>]},{ul,[],[{li,[],[{p,[],[<<40,42,84,72,69,78,41,32,105,115,32,116,104,101,32,119,101,97,107,101,115,116,44,32,99,97,114,114,121,105,110,103,32,111,110,32,116,104,101,32,109,97,116,99,104,32,97,116,32,116,104,101,32,110,101,120,116,32,97,108,116,101,114,110,97,116,105,118,101,46>>]}]},{li,[],[{p,[],[<<40,42,80,82,85,78,69,41,32,99,111,109,101,115,32,110,101,120,116,44,32,102,97,105,108,115,32,116,104,101,32,109,97,116,99,104,32,97,116,32,116,104,101,32,99,117,114,114,101,110,116,32,115,116,97,114,116,105,110,103,32,112,111,115,105,116,105,111,110,44,32,98,117,116,32,97,108,108,111,119,115,32,97,110,32,97,100,118,97,110,99,101,32,116,111,32,116,104,101,32,110,101,120,116,32,99,104,97,114,97,99,116,101,114,32,40,102,111,114,32,97,110,32,117,110,97,110,99,104,111,114,101,100,32,112,97,116,116,101,114,110,41,46>>]}]},{li,[],[{p,[],[<<40,42,83,75,73,80,41,32,105,115,32,115,105,109,105,108,97,114,44,32,101,120,99,101,112,116,32,116,104,97,116,32,116,104,101,32,97,100,118,97,110,99,101,32,99,97,110,32,98,101,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,99,104,97,114,97,99,116,101,114,46>>]}]},{li,[],[{p,[],[<<40,42,67,79,77,77,73,84,41,32,105,115,32,116,104,101,32,115,116,114,111,110,103,101,115,116,44,32,99,97,117,115,105,110,103,32,116,104,101,32,101,110,116,105,114,101,32,109,97,116,99,104,32,116,111,32,102,97,105,108,46>>]}]}]},{p,[],[{em,[],[<<77,111,114,101,32,116,104,97,110,32,79,110,101,32,66,97,99,107,116,114,97,99,107,105,110,103,32,86,101,114,98>>]}]},{p,[],[<<73,102,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,98,97,99,107,116,114,97,99,107,105,110,103,32,118,101,114,98,32,105,115,32,112,114,101,115,101,110,116,32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,116,104,101,32,111,110,101,32,116,104,97,116,32,105,115,32,98,97,99,107,116,114,97,99,107,101,100,32,111,110,116,111,32,102,105,114,115,116,32,97,99,116,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,99,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,44,32,119,104,101,114,101,32,65,44,32,66,44,32,97,110,100,32,115,111,32,111,110,44,32,97,114,101,32,99,111,109,112,108,101,120,32,112,97,116,116,101,114,110,32,102,114,97,103,109,101,110,116,115,58>>]},{pre,[],[{code,[],[<<40,65,40,42,67,79,77,77,73,84,41,66,40,42,84,72,69,78,41,67,124,65,66,68,41>>]}]},{p,[],[<<73,102,32,65,32,109,97,116,99,104,101,115,32,98,117,116,32,66,32,102,97,105,108,115,44,32,116,104,101,32,98,97,99,107,116,114,97,99,107,32,116,111,32,40,42,67,79,77,77,73,84,41,32,99,97,117,115,101,115,32,116,104,101,32,101,110,116,105,114,101,32,109,97,116,99,104,32,116,111,32,102,97,105,108,46,32,72,111,119,101,118,101,114,44,32,105,102,32,65,32,97,110,100,32,66,32,109,97,116,99,104,44,32,98,117,116,32,67,32,102,97,105,108,115,44,32,116,104,101,32,98,97,99,107,116,114,97,99,107,32,116,111,32,40,42,84,72,69,78,41,32,99,97,117,115,101,115,32,116,104,101,32,110,101,120,116,32,97,108,116,101,114,110,97,116,105,118,101,32,40,65,66,68,41,32,116,111,32,98,101,32,116,114,105,101,100,46,32,84,104,105,115,32,98,101,104,97,118,105,111,114,32,105,115,32,99,111,110,115,105,115,116,101,110,116,44,32,98,117,116,32,105,115,32,110,111,116,32,97,108,119,97,121,115,32,116,104,101,32,115,97,109,101,32,97,115,32,105,110,32,80,101,114,108,46,32,73,116,32,109,101,97,110,115,32,116,104,97,116,32,105,102,32,116,119,111,32,111,114,32,109,111,114,101,32,98,97,99,107,116,114,97,99,107,105,110,103,32,118,101,114,98,115,32,97,112,112,101,97,114,32,105,110,32,115,117,99,99,101,115,115,105,111,110,44,32,116,104,101,32,108,97,115,116,32,111,102,32,116,104,101,109,32,104,97,115,32,110,111,32,101,102,102,101,99,116,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<46,46,46,40,42,67,79,77,77,73,84,41,40,42,80,82,85,78,69,41,46,46,46>>]}]},{p,[],[<<73,102,32,116,104,101,114,101,32,105,115,32,97,32,109,97,116,99,104,105,110,103,32,102,97,105,108,117,114,101,32,116,111,32,116,104,101,32,114,105,103,104,116,44,32,98,97,99,107,116,114,97,99,107,105,110,103,32,111,110,116,111,32,40,42,80,82,85,78,69,41,32,99,97,117,115,101,115,32,105,116,32,116,111,32,98,101,32,116,114,105,103,103,101,114,101,100,44,32,97,110,100,32,105,116,115,32,97,99,116,105,111,110,32,105,115,32,116,97,107,101,110,46,32,84,104,101,114,101,32,99,97,110,32,110,101,118,101,114,32,98,101,32,97,32,98,97,99,107,116,114,97,99,107,32,111,110,116,111,32,40,42,67,79,77,77,73,84,41,46>>]},{p,[],[{em,[],[<<66,97,99,107,116,114,97,99,107,105,110,103,32,86,101,114,98,115,32,105,110,32,82,101,112,101,97,116,101,100,32,71,114,111,117,112,115>>]}]},{p,[],[<<80,67,82,69,32,100,105,102,102,101,114,115,32,102,114,111,109,32,80,101,114,108,32,105,110,32,105,116,115,32,104,97,110,100,108,105,110,103,32,111,102,32,98,97,99,107,116,114,97,99,107,105,110,103,32,118,101,114,98,115,32,105,110,32,114,101,112,101,97,116,101,100,32,103,114,111,117,112,115,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,99,111,110,115,105,100,101,114,58>>]},{pre,[],[{code,[],[<<47,40,97,40,42,67,79,77,77,73,84,41,98,41,43,97,99,47>>]}]},{p,[],[<<73,102,32,116,104,101,32,115,117,98,106,101,99,116,32,105,115,32,34,97,98,97,99,34,44,32,80,101,114,108,32,109,97,116,99,104,101,115,44,32,98,117,116,32,80,67,82,69,32,102,97,105,108,115,32,98,101,99,97,117,115,101,32,116,104,101,32,40,42,67,79,77,77,73,84,41,32,105,110,32,116,104,101,32,115,101,99,111,110,100,32,114,101,112,101,97,116,32,111,102,32,116,104,101,32,103,114,111,117,112,32,97,99,116,115,46>>]},{p,[],[{em,[],[<<66,97,99,107,116,114,97,99,107,105,110,103,32,86,101,114,98,115,32,105,110,32,65,115,115,101,114,116,105,111,110,115>>]}]},{p,[],[<<40,42,70,65,73,76,41,32,105,110,32,97,110,32,97,115,115,101,114,116,105,111,110,32,104,97,115,32,105,116,115,32,110,111,114,109,97,108,32,101,102,102,101,99,116,58,32,105,116,32,102,111,114,99,101,115,32,97,110,32,105,109,109,101,100,105,97,116,101,32,98,97,99,107,116,114,97,99,107,46>>]},{p,[],[<<40,42,65,67,67,69,80,84,41,32,105,110,32,97,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,32,99,97,117,115,101,115,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,116,111,32,115,117,99,99,101,101,100,32,119,105,116,104,111,117,116,32,97,110,121,32,102,117,114,116,104,101,114,32,112,114,111,99,101,115,115,105,110,103,46,32,73,110,32,97,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,44,32,40,42,65,67,67,69,80,84,41,32,99,97,117,115,101,115,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,116,111,32,102,97,105,108,32,119,105,116,104,111,117,116,32,97,110,121,32,102,117,114,116,104,101,114,32,112,114,111,99,101,115,115,105,110,103,46>>]},{p,[],[<<84,104,101,32,111,116,104,101,114,32,98,97,99,107,116,114,97,99,107,105,110,103,32,118,101,114,98,115,32,97,114,101,32,110,111,116,32,116,114,101,97,116,101,100,32,115,112,101,99,105,97,108,108,121,32,105,102,32,116,104,101,121,32,97,112,112,101,97,114,32,105,110,32,97,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,46,32,73,110,32,112,97,114,116,105,99,117,108,97,114,44,32,40,42,84,72,69,78,41,32,115,107,105,112,115,32,116,111,32,116,104,101,32,110,101,120,116,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,116,104,101,32,105,110,110,101,114,109,111,115,116,32,101,110,99,108,111,115,105,110,103,32,103,114,111,117,112,32,116,104,97,116,32,104,97,115,32,97,108,116,101,114,110,97,116,105,111,110,115,44,32,114,101,103,97,114,100,108,101,115,115,32,105,102,32,116,104,105,115,32,105,115,32,119,105,116,104,105,110,32,116,104,101,32,97,115,115,101,114,116,105,111,110,46>>]},{p,[],[<<78,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,115,32,97,114,101,44,32,104,111,119,101,118,101,114,44,32,100,105,102,102,101,114,101,110,116,44,32,116,111,32,101,110,115,117,114,101,32,116,104,97,116,32,99,104,97,110,103,105,110,103,32,97,32,112,111,115,105,116,105,118,101,32,97,115,115,101,114,116,105,111,110,32,105,110,116,111,32,97,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,32,99,104,97,110,103,101,115,32,105,116,115,32,114,101,115,117,108,116,46,32,66,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,40,42,67,79,77,77,73,84,41,44,32,40,42,83,75,73,80,41,44,32,111,114,32,40,42,80,82,85,78,69,41,32,99,97,117,115,101,115,32,97,32,110,101,103,97,116,105,118,101,32,97,115,115,101,114,116,105,111,110,32,116,111,32,98,101,32,116,114,117,101,44,32,119,105,116,104,111,117,116,32,99,111,110,115,105,100,101,114,105,110,103,32,97,110,121,32,102,117,114,116,104,101,114,32,97,108,116,101,114,110,97,116,105,118,101,32,98,114,97,110,99,104,101,115,32,105,110,32,116,104,101,32,97,115,115,101,114,116,105,111,110,46,32,66,97,99,107,116,114,97,99,107,105,110,103,32,105,110,116,111,32,40,42,84,72,69,78,41,32,99,97,117,115,101,115,32,105,116,32,116,111,32,115,107,105,112,32,116,111,32,116,104,101,32,110,101,120,116,32,101,110,99,108,111,115,105,110,103,32,97,108,116,101,114,110,97,116,105,118,101,32,119,105,116,104,105,110,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,40,116,104,101,32,110,111,114,109,97,108,32,98,101,104,97,118,105,111,114,41,44,32,98,117,116,32,105,102,32,116,104,101,32,97,115,115,101,114,116,105,111,110,32,100,111,101,115,32,110,111,116,32,104,97,118,101,32,115,117,99,104,32,97,110,32,97,108,116,101,114,110,97,116,105,118,101,44,32,40,42,84,72,69,78,41,32,98,101,104,97,118,101,115,32,108,105,107,101,32,40,42,80,82,85,78,69,41,46>>]},{p,[],[{em,[],[<<66,97,99,107,116,114,97,99,107,105,110,103,32,86,101,114,98,115,32,105,110,32,83,117,98,114,111,117,116,105,110,101,115>>]}]},{p,[],[<<84,104,101,115,101,32,98,101,104,97,118,105,111,114,115,32,111,99,99,117,114,32,114,101,103,97,114,100,108,101,115,115,32,105,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,46,32,84,104,101,32,116,114,101,97,116,109,101,110,116,32,111,102,32,115,117,98,114,111,117,116,105,110,101,115,32,105,110,32,80,101,114,108,32,105,115,32,100,105,102,102,101,114,101,110,116,32,105,110,32,115,111,109,101,32,99,97,115,101,115,46>>]},{ul,[],[{li,[],[{p,[],[<<40,42,70,65,73,76,41,32,105,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,99,97,108,108,101,100,32,97,115,32,97,32,115,117,98,114,111,117,116,105,110,101,32,104,97,115,32,105,116,115,32,110,111,114,109,97,108,32,101,102,102,101,99,116,58,32,105,116,32,102,111,114,99,101,115,32,97,110,32,105,109,109,101,100,105,97,116,101,32,98,97,99,107,116,114,97,99,107,46>>]}]},{li,[],[{p,[],[<<40,42,65,67,67,69,80,84,41,32,105,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,99,97,108,108,101,100,32,97,115,32,97,32,115,117,98,114,111,117,116,105,110,101,32,99,97,117,115,101,115,32,116,104,101,32,115,117,98,114,111,117,116,105,110,101,32,109,97,116,99,104,32,116,111,32,115,117,99,99,101,101,100,32,119,105,116,104,111,117,116,32,97,110,121,32,102,117,114,116,104,101,114,32,112,114,111,99,101,115,115,105,110,103,46,32,77,97,116,99,104,105,110,103,32,116,104,101,110,32,99,111,110,116,105,110,117,101,115,32,97,102,116,101,114,32,116,104,101,32,115,117,98,114,111,117,116,105,110,101,32,99,97,108,108,46>>]}]},{li,[],[{p,[],[<<40,42,67,79,77,77,73,84,41,44,32,40,42,83,75,73,80,41,44,32,97,110,100,32,40,42,80,82,85,78,69,41,32,105,110,32,97,32,115,117,98,112,97,116,116,101,114,110,32,99,97,108,108,101,100,32,97,115,32,97,32,115,117,98,114,111,117,116,105,110,101,32,99,97,117,115,101,32,116,104,101,32,115,117,98,114,111,117,116,105,110,101,32,109,97,116,99,104,32,116,111,32,102,97,105,108,46>>]}]},{li,[],[{p,[],[<<40,42,84,72,69,78,41,32,115,107,105,112,115,32,116,111,32,116,104,101,32,110,101,120,116,32,97,108,116,101,114,110,97,116,105,118,101,32,105,110,32,116,104,101,32,105,110,110,101,114,109,111,115,116,32,101,110,99,108,111,115,105,110,103,32,103,114,111,117,112,32,119,105,116,104,105,110,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,116,104,97,116,32,104,97,115,32,97,108,116,101,114,110,97,116,105,118,101,115,46,32,73,102,32,116,104,101,114,101,32,105,115,32,110,111,32,115,117,99,104,32,103,114,111,117,112,32,119,105,116,104,105,110,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,44,32,40,42,84,72,69,78,41,32,99,97,117,115,101,115,32,116,104,101,32,115,117,98,114,111,117,116,105,110,101,32,109,97,116,99,104,32,116,111,32,102,97,105,108,46>>]}]}]}]},#{name => <<114,101>>,otp_doc_vsn => {1,0,0},source => [46,46,47,120,109,108,47,114,101,46,120,109,108],types => #{{compile_option,0} => {attribute,{27,2},type,{compile_option,{type,{27,27},union,[{atom,{27,27},unicode},{atom,{27,37},anchored},{atom,{27,48},caseless},{atom,{27,59},dollar_endonly},{atom,{28,27},dotall},{atom,{28,36},extended},{atom,{28,47},firstline},{atom,{28,59},multiline},{atom,{29,27},no_auto_capture},{atom,{29,45},dupnames},{atom,{29,56},ungreedy},{type,{30,27},tuple,[{atom,{30,28},newline},{user_type,{30,37},nl_spec,[]}]},{atom,{31,27},bsr_anycrlf},{atom,{31,41},bsr_unicode},{atom,{32,27},no_start_optimize},{atom,{32,47},ucp},{atom,{32,53},never_utf}]},[]}},{mp,0} => {attribute,{23,2},type,{mp,{type,{23,15},tuple,[{atom,{23,16},re_pattern},{var,{23,28},'_'},{var,{23,31},'_'},{var,{23,34},'_'},{var,{23,37},'_'}]},[]}},{nl_spec,0} => {attribute,{25,2},type,{nl_spec,{type,{25,20},union,[{atom,{25,20},cr},{atom,{25,25},crlf},{atom,{25,32},lf},{atom,{25,37},anycrlf},{atom,{25,47},any}]},[]}},{replace_fun,0} => {attribute,{34,2},type,{replace_fun,{type,{34,28},'fun',[{type,{34,28},product,[{type,{34,29},binary,[]},{type,{34,39},list,[{type,{34,40},binary,[]}]}]},{type,{34,54},union,[{type,{34,54},iodata,[]},{remote_type,{34,65},[{atom,{34,65},unicode},{atom,{34,73},charlist},[]]}]}]},[]}}}},[{{function,grun,3},[{file,[114,101,46,101,114,108]},{location,0}],[<<103,114,117,110,47,51>>],hidden,#{}},{{function,internal_run,4},[{file,[114,101,46,101,114,108]},{location,0}],[<<105,110,116,101,114,110,97,108,95,114,117,110,47,52>>],hidden,#{}},{{function,ucompile,2},[{file,[114,101,46,101,114,108]},{location,0}],[<<117,99,111,109,112,105,108,101,47,50>>],hidden,#{}},{{function,urun,3},[{file,[114,101,46,101,114,108]},{location,0}],[<<117,114,117,110,47,51>>],hidden,#{}},{{function,version,0},[{file,[114,101,46,101,114,108]},{location,42}],[<<118,101,114,115,105,111,110,47,48>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,114,101,116,117,114,110,32,111,102,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,97,32,115,116,114,105,110,103,32,119,105,116,104,32,116,104,101,32,80,67,82,69,32,118,101,114,115,105,111,110,32,111,102,32,116,104,101,32,115,121,115,116,101,109,32,116,104,97,116,32,119,97,115,32,117,115,101,100,32,105,110,32,116,104,101,32,69,114,108,97,110,103,47,79,84,80,32,99,111,109,112,105,108,97,116,105,111,110,46>>]}]},#{signature => [{attribute,{42,2},spec,{{version,0},[{type,{42,14},'fun',[{type,{42,14},product,[]},{type,{42,20},binary,[]}]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,56,52>>,since => <<79,84,80,32,50,48,46,48>>}},{{function,compile,1},[{file,[114,101,46,101,114,108]},{location,51}],[<<99,111,109,112,105,108,101,47,49>>],#{<<101,110>> => [{p,[],[<<84,104,101,32,115,97,109,101,32,97,115,32>>,{code,[],[<<99,111,109,112,105,108,101,40,82,101,103,101,120,112,44,91,93,41>>]}]}]},#{signature => [{attribute,{51,2},spec,{{compile,1},[{type,{51,14},bounded_fun,[{type,{51,14},'fun',[{type,{51,14},product,[{var,{51,15},'Regexp'}]},{type,{51,26},union,[{type,{51,26},tuple,[{atom,{51,27},ok},{var,{51,31},'MP'}]},{type,{51,37},tuple,[{atom,{51,38},error},{var,{51,45},'ErrSpec'}]}]}]},[{type,{52,7},constraint,[{atom,{52,7},is_subtype},[{var,{52,7},'Regexp'},{type,{52,17},iodata,[]}]]},{type,{53,7},constraint,[{atom,{53,7},is_subtype},[{var,{53,7},'MP'},{user_type,{53,13},mp,[]}]]},{type,{54,7},constraint,[{atom,{54,7},is_subtype},[{var,{54,7},'ErrSpec'},{type,{54,18},tuple,[{ann_type,{54,19},[{var,{54,19},'ErrString'},{type,{54,32},string,[]}]},{ann_type,{54,42},[{var,{54,42},'Position'},{type,{54,54},non_neg_integer,[]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,57,50>>}},{{function,compile,2},[{file,[114,101,46,101,114,108]},{location,59}],[<<99,111,109,112,105,108,101,47,50>>],#{<<101,110>> => [{p,[],[<<67,111,109,112,105,108,101,115,32,97,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,119,105,116,104,32,116,104,101,32,115,121,110,116,97,120,32,100,101,115,99,114,105,98,101,100,32,98,101,108,111,119,44,32,105,110,116,111,32,97,110,32,105,110,116,101,114,110,97,108,32,102,111,114,109,97,116,32,116,111,32,98,101,32,117,115,101,100,32,108,97,116,101,114,32,97,115,32,97,32,112,97,114,97,109,101,116,101,114,32,116,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,50>>]}]},<<32,97,110,100,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<46>>]},{p,[],[<<67,111,109,112,105,108,105,110,103,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,98,101,102,111,114,101,32,109,97,116,99,104,105,110,103,32,105,115,32,117,115,101,102,117,108,32,105,102,32,116,104,101,32,115,97,109,101,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,109,97,116,99,104,105,110,103,32,97,103,97,105,110,115,116,32,109,117,108,116,105,112,108,101,32,115,117,98,106,101,99,116,115,32,100,117,114,105,110,103,32,116,104,101,32,108,105,102,101,116,105,109,101,32,111,102,32,116,104,101,32,112,114,111,103,114,97,109,46,32,67,111,109,112,105,108,105,110,103,32,111,110,99,101,32,97,110,100,32,101,120,101,99,117,116,105,110,103,32,109,97,110,121,32,116,105,109,101,115,32,105,115,32,102,97,114,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,104,97,110,32,99,111,109,112,105,108,105,110,103,32,101,97,99,104,32,116,105,109,101,32,111,110,101,32,119,97,110,116,115,32,116,111,32,109,97,116,99,104,46>>]},{p,[],[<<87,104,101,110,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,116,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,118,97,108,105,100,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<44,32,111,116,104,101,114,119,105,115,101,32,97,115,32,97,110,121,32,118,97,108,105,100,32>>,{code,[],[<<105,111,100,97,116,97,40,41>>]},<<46>>]},{a,[{id,<<99,111,109,112,105,108,101,95,111,112,116,105,111,110,115>>}],[]},{p,[],[<<79,112,116,105,111,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<117,110,105,99,111,100,101>>]}]},{dd,[],[{p,[],[<<84,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<32,97,110,100,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,99,111,100,101,32,105,115,32,116,111,32,98,101,32,114,117,110,32,97,103,97,105,110,115,116,32,97,32,118,97,108,105,100,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<32,115,117,98,106,101,99,116,46,32,65,108,115,111,32,99,111,110,115,105,100,101,114,32,111,112,116,105,111,110,32>>,{code,[],[<<117,99,112>>]},<<32,119,104,101,110,32,117,115,105,110,103,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,46>>]}]},{dt,[],[{code,[],[<<97,110,99,104,111,114,101,100>>]}]},{dd,[],[{p,[],[<<84,104,101,32,112,97,116,116,101,114,110,32,105,115,32,102,111,114,99,101,100,32,116,111,32,98,101,32,34,97,110,99,104,111,114,101,100,34,44,32,116,104,97,116,32,105,115,44,32,105,116,32,105,115,32,99,111,110,115,116,114,97,105,110,101,100,32,116,111,32,109,97,116,99,104,32,111,110,108,121,32,97,116,32,116,104,101,32,102,105,114,115,116,32,109,97,116,99,104,105,110,103,32,112,111,105,110,116,32,105,110,32,116,104,101,32,115,116,114,105,110,103,32,116,104,97,116,32,105,115,32,115,101,97,114,99,104,101,100,32,40,116,104,101,32,34,115,117,98,106,101,99,116,32,115,116,114,105,110,103,34,41,46,32,84,104,105,115,32,101,102,102,101,99,116,32,99,97,110,32,97,108,115,111,32,98,101,32,97,99,104,105,101,118,101,100,32,98,121,32,97,112,112,114,111,112,114,105,97,116,101,32,99,111,110,115,116,114,117,99,116,115,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,105,116,115,101,108,102,46>>]}]},{dt,[],[{code,[],[<<99,97,115,101,108,101,115,115>>]}]},{dd,[],[{p,[],[<<76,101,116,116,101,114,115,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,32,98,111,116,104,32,117,112,112,101,114,99,97,115,101,32,97,110,100,32,108,111,119,101,114,99,97,115,101,32,108,101,116,116,101,114,115,46,32,73,116,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,80,101,114,108,32,111,112,116,105,111,110,32>>,{code,[],[<<47,105>>]},<<32,97,110,100,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,119,105,116,104,105,110,32,97,32,112,97,116,116,101,114,110,32,98,121,32,97,32>>,{code,[],[<<40,63,105,41>>]},<<32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,46,32,85,112,112,101,114,99,97,115,101,32,97,110,100,32,108,111,119,101,114,99,97,115,101,32,108,101,116,116,101,114,115,32,97,114,101,32,100,101,102,105,110,101,100,32,97,115,32,105,110,32,116,104,101,32,73,83,79,32,56,56,53,57,45,49,32,99,104,97,114,97,99,116,101,114,32,115,101,116,46>>]}]},{dt,[],[{code,[],[<<100,111,108,108,97,114,95,101,110,100,111,110,108,121>>]}]},{dd,[],[{p,[],[<<65,32,100,111,108,108,97,114,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,111,110,108,121,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,87,105,116,104,111,117,116,32,116,104,105,115,32,111,112,116,105,111,110,44,32,97,32,100,111,108,108,97,114,32,97,108,115,111,32,109,97,116,99,104,101,115,32,105,109,109,101,100,105,97,116,101,108,121,32,98,101,102,111,114,101,32,97,32,110,101,119,108,105,110,101,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,40,98,117,116,32,110,111,116,32,98,101,102,111,114,101,32,97,110,121,32,111,116,104,101,114,32,110,101,119,108,105,110,101,115,41,46,32,84,104,105,115,32,111,112,116,105,111,110,32,105,115,32,105,103,110,111,114,101,100,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,46,32,84,104,101,114,101,32,105,115,32,110,111,32,101,113,117,105,118,97,108,101,110,116,32,111,112,116,105,111,110,32,105,110,32,80,101,114,108,44,32,97,110,100,32,105,116,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,119,105,116,104,105,110,32,97,32,112,97,116,116,101,114,110,46>>]}]},{dt,[],[{code,[],[<<100,111,116,97,108,108>>]}]},{dd,[],[{p,[],[<<65,32,100,111,116,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,97,108,108,32,99,104,97,114,97,99,116,101,114,115,44,32,105,110,99,108,117,100,105,110,103,32,116,104,111,115,101,32,105,110,100,105,99,97,116,105,110,103,32,110,101,119,108,105,110,101,46,32,87,105,116,104,111,117,116,32,105,116,44,32,97,32,100,111,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,104,101,110,32,116,104,101,32,99,117,114,114,101,110,116,32,112,111,115,105,116,105,111,110,32,105,115,32,97,116,32,97,32,110,101,119,108,105,110,101,46,32,84,104,105,115,32,111,112,116,105,111,110,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,80,101,114,108,32,111,112,116,105,111,110,32>>,{code,[],[<<47,115>>]},<<32,97,110,100,32,105,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,119,105,116,104,105,110,32,97,32,112,97,116,116,101,114,110,32,98,121,32,97,32>>,{code,[],[<<40,63,115,41>>]},<<32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,46,32,65,32,110,101,103,97,116,105,118,101,32,99,108,97,115,115,44,32,115,117,99,104,32,97,115,32>>,{code,[],[<<91,94,97,93>>]},<<44,32,97,108,119,97,121,115,32,109,97,116,99,104,101,115,32,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,115,44,32,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,116,104,101,32,115,101,116,116,105,110,103,32,111,102,32,116,104,105,115,32,111,112,116,105,111,110,46>>]}]},{dt,[],[{code,[],[<<101,120,116,101,110,100,101,100>>]}]},{dd,[],[{p,[],[<<73,102,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,115,101,116,44,32,109,111,115,116,32,119,104,105,116,101,32,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,115,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,97,114,101,32,116,111,116,97,108,108,121,32,105,103,110,111,114,101,100,32,101,120,99,101,112,116,32,119,104,101,110,32,101,115,99,97,112,101,100,32,111,114,32,105,110,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,46,32,72,111,119,101,118,101,114,44,32,119,104,105,116,101,32,115,112,97,99,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,119,105,116,104,105,110,32,115,101,113,117,101,110,99,101,115,32,115,117,99,104,32,97,115,32>>,{code,[],[<<40,63,62>>]},<<32,116,104,97,116,32,105,110,116,114,111,100,117,99,101,32,118,97,114,105,111,117,115,32,112,97,114,101,110,116,104,101,115,105,122,101,100,32,115,117,98,112,97,116,116,101,114,110,115,44,32,110,111,114,32,119,105,116,104,105,110,32,97,32,110,117,109,101,114,105,99,97,108,32,113,117,97,110,116,105,102,105,101,114,32,115,117,99,104,32,97,115,32>>,{code,[],[<<123,49,44,51,125>>]},<<46,32,72,111,119,101,118,101,114,44,32,105,103,110,111,114,97,98,108,101,32,119,104,105,116,101,32,115,112,97,99,101,32,105,115,32,112,101,114,109,105,116,116,101,100,32,98,101,116,119,101,101,110,32,97,110,32,105,116,101,109,32,97,110,100,32,97,32,102,111,108,108,111,119,105,110,103,32,113,117,97,110,116,105,102,105,101,114,32,97,110,100,32,98,101,116,119,101,101,110,32,97,32,113,117,97,110,116,105,102,105,101,114,32,97,110,100,32,97,32,102,111,108,108,111,119,105,110,103,32,43,32,116,104,97,116,32,105,110,100,105,99,97,116,101,115,32,112,111,115,115,101,115,115,105,118,101,110,101,115,115,46>>]},{p,[],[<<87,104,105,116,101,32,115,112,97,99,101,32,100,105,100,32,110,111,116,32,117,115,101,100,32,116,111,32,105,110,99,108,117,100,101,32,116,104,101,32,86,84,32,99,104,97,114,97,99,116,101,114,32,40,99,111,100,101,32,49,49,41,44,32,98,101,99,97,117,115,101,32,80,101,114,108,32,100,105,100,32,110,111,116,32,116,114,101,97,116,32,116,104,105,115,32,99,104,97,114,97,99,116,101,114,32,97,115,32,119,104,105,116,101,32,115,112,97,99,101,46,32,72,111,119,101,118,101,114,44,32,80,101,114,108,32,99,104,97,110,103,101,100,32,97,116,32,114,101,108,101,97,115,101,32,53,46,49,56,44,32,115,111,32,80,67,82,69,32,102,111,108,108,111,119,101,100,32,97,116,32,114,101,108,101,97,115,101,32,56,46,51,52,44,32,97,110,100,32,86,84,32,105,115,32,110,111,119,32,116,114,101,97,116,101,100,32,97,115,32,119,104,105,116,101,32,115,112,97,99,101,46>>]},{p,[],[<<84,104,105,115,32,97,108,115,111,32,99,97,117,115,101,115,32,99,104,97,114,97,99,116,101,114,115,32,98,101,116,119,101,101,110,32,97,110,32,117,110,101,115,99,97,112,101,100,32,35,32,111,117,116,115,105,100,101,32,97,32,99,104,97,114,97,99,116,101,114,32,99,108,97,115,115,32,97,110,100,32,116,104,101,32,110,101,120,116,32,110,101,119,108,105,110,101,44,32,105,110,99,108,117,115,105,118,101,44,32,116,111,32,98,101,32,105,103,110,111,114,101,100,46,32,84,104,105,115,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,80,101,114,108,39,115,32>>,{code,[],[<<47,120>>]},<<32,111,112,116,105,111,110,44,32,97,110,100,32,105,116,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,119,105,116,104,105,110,32,97,32,112,97,116,116,101,114,110,32,98,121,32,97,32>>,{code,[],[<<40,63,120,41>>]},<<32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,46>>]},{p,[],[<<87,105,116,104,32,116,104,105,115,32,111,112,116,105,111,110,44,32,99,111,109,109,101,110,116,115,32,105,110,115,105,100,101,32,99,111,109,112,108,105,99,97,116,101,100,32,112,97,116,116,101,114,110,115,32,99,97,110,32,98,101,32,105,110,99,108,117,100,101,100,46,32,72,111,119,101,118,101,114,44,32,110,111,116,105,99,101,32,116,104,97,116,32,116,104,105,115,32,97,112,112,108,105,101,115,32,111,110,108,121,32,116,111,32,100,97,116,97,32,99,104,97,114,97,99,116,101,114,115,46,32,87,104,105,116,101,115,112,97,99,101,32,99,104,97,114,97,99,116,101,114,115,32,99,97,110,32,110,101,118,101,114,32,97,112,112,101,97,114,32,119,105,116,104,105,110,32,115,112,101,99,105,97,108,32,99,104,97,114,97,99,116,101,114,32,115,101,113,117,101,110,99,101,115,32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,102,111,114,32,101,120,97,109,112,108,101,32,119,105,116,104,105,110,32,115,101,113,117,101,110,99,101,32>>,{code,[],[<<40,63,40>>]},<<32,116,104,97,116,32,105,110,116,114,111,100,117,99,101,115,32,97,32,99,111,110,100,105,116,105,111,110,97,108,32,115,117,98,112,97,116,116,101,114,110,46>>]}]},{dt,[],[{code,[],[<<102,105,114,115,116,108,105,110,101>>]}]},{dd,[],[{p,[],[<<65,110,32,117,110,97,110,99,104,111,114,101,100,32,112,97,116,116,101,114,110,32,105,115,32,114,101,113,117,105,114,101,100,32,116,111,32,109,97,116,99,104,32,98,101,102,111,114,101,32,111,114,32,97,116,32,116,104,101,32,102,105,114,115,116,32,110,101,119,108,105,110,101,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,97,108,116,104,111,117,103,104,32,116,104,101,32,109,97,116,99,104,101,100,32,116,101,120,116,32,99,97,110,32,99,111,110,116,105,110,117,101,32,111,118,101,114,32,116,104,101,32,110,101,119,108,105,110,101,46>>]}]},{dt,[],[{code,[],[<<109,117,108,116,105,108,105,110,101>>]}]},{dd,[],[{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,80,67,82,69,32,116,114,101,97,116,115,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,97,115,32,99,111,110,115,105,115,116,105,110,103,32,111,102,32,97,32,115,105,110,103,108,101,32,108,105,110,101,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,40,101,118,101,110,32,105,102,32,105,116,32,99,111,110,116,97,105,110,115,32,110,101,119,108,105,110,101,115,41,46,32,84,104,101,32,34,115,116,97,114,116,32,111,102,32,108,105,110,101,34,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,40>>,{code,[],[<<94>>]},<<41,32,109,97,116,99,104,101,115,32,111,110,108,121,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,119,104,105,108,101,32,116,104,101,32,34,101,110,100,32,111,102,32,108,105,110,101,34,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,40>>,{code,[],[<<36>>]},<<41,32,109,97,116,99,104,101,115,32,111,110,108,121,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,111,114,32,98,101,102,111,114,101,32,97,32,116,101,114,109,105,110,97,116,105,110,103,32,110,101,119,108,105,110,101,32,40,117,110,108,101,115,115,32,111,112,116,105,111,110,32>>,{code,[],[<<100,111,108,108,97,114,95,101,110,100,111,110,108,121>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,41,46,32,84,104,105,115,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,105,110,32,80,101,114,108,46>>]},{p,[],[<<87,104,101,110,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,34,115,116,97,114,116,32,111,102,32,108,105,110,101,34,32,97,110,100,32,34,101,110,100,32,111,102,32,108,105,110,101,34,32,99,111,110,115,116,114,117,99,116,115,32,109,97,116,99,104,32,105,109,109,101,100,105,97,116,101,108,121,32,102,111,108,108,111,119,105,110,103,32,111,114,32,105,109,109,101,100,105,97,116,101,108,121,32,98,101,102,111,114,101,32,105,110,116,101,114,110,97,108,32,110,101,119,108,105,110,101,115,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,114,101,115,112,101,99,116,105,118,101,108,121,44,32,97,115,32,119,101,108,108,32,97,115,32,97,116,32,116,104,101,32,118,101,114,121,32,115,116,97,114,116,32,97,110,100,32,101,110,100,46,32,84,104,105,115,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,80,101,114,108,32,111,112,116,105,111,110,32>>,{code,[],[<<47,109>>]},<<32,97,110,100,32,99,97,110,32,98,101,32,99,104,97,110,103,101,100,32,119,105,116,104,105,110,32,97,32,112,97,116,116,101,114,110,32,98,121,32,97,32>>,{code,[],[<<40,63,109,41>>]},<<32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,46,32,73,102,32,116,104,101,114,101,32,97,114,101,32,110,111,32,110,101,119,108,105,110,101,115,32,105,110,32,97,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,111,114,32,110,111,32,111,99,99,117,114,114,101,110,99,101,115,32,111,102,32>>,{code,[],[<<94>>]},<<32,111,114,32>>,{code,[],[<<36>>]},<<32,105,110,32,97,32,112,97,116,116,101,114,110,44,32,115,101,116,116,105,110,103,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,104,97,115,32,110,111,32,101,102,102,101,99,116,46>>]}]},{dt,[],[{code,[],[<<110,111,95,97,117,116,111,95,99,97,112,116,117,114,101>>]}]},{dd,[],[{p,[],[<<68,105,115,97,98,108,101,115,32,116,104,101,32,117,115,101,32,111,102,32,110,117,109,98,101,114,101,100,32,99,97,112,116,117,114,105,110,103,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46,32,65,110,121,32,111,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,32,116,104,97,116,32,105,115,32,110,111,116,32,102,111,108,108,111,119,101,100,32,98,121,32>>,{code,[],[<<63>>]},<<32,98,101,104,97,118,101,115,32,97,115,32,105,102,32,105,116,32,105,115,32,102,111,108,108,111,119,101,100,32,98,121,32>>,{code,[],[<<63,58>>]},<<46,32,78,97,109,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,99,97,110,32,115,116,105,108,108,32,98,101,32,117,115,101,100,32,102,111,114,32,99,97,112,116,117,114,105,110,103,32,40,97,110,100,32,116,104,101,121,32,97,99,113,117,105,114,101,32,110,117,109,98,101,114,115,32,105,110,32,116,104,101,32,117,115,117,97,108,32,119,97,121,41,46,32,84,104,101,114,101,32,105,115,32,110,111,32,101,113,117,105,118,97,108,101,110,116,32,111,112,116,105,111,110,32,105,110,32,80,101,114,108,46>>]}]},{dt,[],[{code,[],[<<100,117,112,110,97,109,101,115>>]}]},{dd,[],[{p,[],[<<78,97,109,101,115,32,117,115,101,100,32,116,111,32,105,100,101,110,116,105,102,121,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,110,101,101,100,32,110,111,116,32,98,101,32,117,110,105,113,117,101,46,32,84,104,105,115,32,99,97,110,32,98,101,32,104,101,108,112,102,117,108,32,102,111,114,32,99,101,114,116,97,105,110,32,116,121,112,101,115,32,111,102,32,112,97,116,116,101,114,110,32,119,104,101,110,32,105,116,32,105,115,32,107,110,111,119,110,32,116,104,97,116,32,111,110,108,121,32,111,110,101,32,105,110,115,116,97,110,99,101,32,111,102,32,116,104,101,32,110,97,109,101,100,32,115,117,98,112,97,116,116,101,114,110,32,99,97,110,32,101,118,101,114,32,98,101,32,109,97,116,99,104,101,100,46,32,77,111,114,101,32,100,101,116,97,105,108,115,32,111,102,32,110,97,109,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,97,114,101,32,112,114,111,118,105,100,101,100,32,98,101,108,111,119,46>>]}]},{dt,[],[{code,[],[<<117,110,103,114,101,101,100,121>>]}]},{dd,[],[{p,[],[<<73,110,118,101,114,116,115,32,116,104,101,32,34,103,114,101,101,100,105,110,101,115,115,34,32,111,102,32,116,104,101,32,113,117,97,110,116,105,102,105,101,114,115,32,115,111,32,116,104,97,116,32,116,104,101,121,32,97,114,101,32,110,111,116,32,103,114,101,101,100,121,32,98,121,32,100,101,102,97,117,108,116,44,32,98,117,116,32,98,101,99,111,109,101,32,103,114,101,101,100,121,32,105,102,32,102,111,108,108,111,119,101,100,32,98,121,32,34,63,34,46,32,73,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,80,101,114,108,46,32,73,116,32,99,97,110,32,97,108,115,111,32,98,101,32,115,101,116,32,98,121,32,97,32>>,{code,[],[<<40,63,85,41>>]},<<32,111,112,116,105,111,110,32,115,101,116,116,105,110,103,32,119,105,116,104,105,110,32,116,104,101,32,112,97,116,116,101,114,110,46>>]}]},{dt,[],[{code,[],[<<123,110,101,119,108,105,110,101,44,32,78,76,83,112,101,99,125>>]}]},{dd,[],[{p,[],[<<79,118,101,114,114,105,100,101,115,32,116,104,101,32,100,101,102,97,117,108,116,32,100,101,102,105,110,105,116,105,111,110,32,111,102,32,97,32,110,101,119,108,105,110,101,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,119,104,105,99,104,32,105,115,32,76,70,32,40,65,83,67,73,73,32,49,48,41,32,105,110,32,69,114,108,97,110,103,46>>]},{dl,[],[{dt,[],[{code,[],[<<99,114>>]}]},{dd,[],[{p,[],[<<78,101,119,108,105,110,101,32,105,115,32,105,110,100,105,99,97,116,101,100,32,98,121,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32>>,{code,[],[<<99,114>>]},<<32,40,65,83,67,73,73,32,49,51,41,46>>]}]},{dt,[],[{code,[],[<<108,102>>]}]},{dd,[],[{p,[],[<<78,101,119,108,105,110,101,32,105,115,32,105,110,100,105,99,97,116,101,100,32,98,121,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,76,70,32,40,65,83,67,73,73,32,49,48,41,44,32,116,104,101,32,100,101,102,97,117,108,116,46>>]}]},{dt,[],[{code,[],[<<99,114,108,102>>]}]},{dd,[],[{p,[],[<<78,101,119,108,105,110,101,32,105,115,32,105,110,100,105,99,97,116,101,100,32,98,121,32,116,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,67,82,76,70,32,40,65,83,67,73,73,32,49,51,32,102,111,108,108,111,119,101,100,32,98,121,32,65,83,67,73,73,32,49,48,41,32,115,101,113,117,101,110,99,101,46>>]}]},{dt,[],[{code,[],[<<97,110,121,99,114,108,102>>]}]},{dd,[],[{p,[],[<<65,110,121,32,111,102,32,116,104,101,32,116,104,114,101,101,32,112,114,101,99,101,100,105,110,103,32,115,101,113,117,101,110,99,101,115,32,105,115,32,116,111,32,98,101,32,114,101,99,111,103,110,105,122,101,100,46>>]}]},{dt,[],[{code,[],[<<97,110,121>>]}]},{dd,[],[{p,[],[<<65,110,121,32,111,102,32,116,104,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,115,32,97,98,111,118,101,44,32,97,110,100,32,116,104,101,32,85,110,105,99,111,100,101,32,115,101,113,117,101,110,99,101,115,32,86,84,32,40,118,101,114,116,105,99,97,108,32,116,97,98,44,32,85,43,48,48,48,66,41,44,32,70,70,32,40,102,111,114,109,102,101,101,100,44,32,85,43,48,48,48,67,41,44,32,78,69,76,32,40,110,101,120,116,32,108,105,110,101,44,32,85,43,48,48,56,53,41,44,32,76,83,32,40,108,105,110,101,32,115,101,112,97,114,97,116,111,114,44,32,85,43,50,48,50,56,41,44,32,97,110,100,32,80,83,32,40,112,97,114,97,103,114,97,112,104,32,115,101,112,97,114,97,116,111,114,44,32,85,43,50,48,50,57,41,46>>]}]}]}]},{dt,[],[{code,[],[<<98,115,114,95,97,110,121,99,114,108,102>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,115,112,101,99,105,102,105,99,97,108,108,121,32,116,104,97,116,32,92,82,32,105,115,32,116,111,32,109,97,116,99,104,32,111,110,108,121,32,116,104,101,32,67,82,44,32,76,70,44,32,111,114,32,67,82,76,70,32,115,101,113,117,101,110,99,101,115,44,32,110,111,116,32,116,104,101,32,85,110,105,99,111,100,101,45,115,112,101,99,105,102,105,99,32,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,115,46>>]}]},{dt,[],[{code,[],[<<98,115,114,95,117,110,105,99,111,100,101>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,115,112,101,99,105,102,105,99,97,108,108,121,32,116,104,97,116,32,92,82,32,105,115,32,116,111,32,109,97,116,99,104,32,97,108,108,32,116,104,101,32,85,110,105,99,111,100,101,32,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,115,32,40,105,110,99,108,117,100,105,110,103,32,67,82,76,70,44,32,97,110,100,32,115,111,32,111,110,44,32,116,104,101,32,100,101,102,97,117,108,116,41,46>>]}]},{dt,[],[{code,[],[<<110,111,95,115,116,97,114,116,95,111,112,116,105,109,105,122,101>>]}]},{dd,[],[{p,[],[<<68,105,115,97,98,108,101,115,32,111,112,116,105,109,105,122,97,116,105,111,110,32,116,104,97,116,32,99,97,110,32,109,97,108,102,117,110,99,116,105,111,110,32,105,102,32,34,83,112,101,99,105,97,108,32,115,116,97,114,116,45,111,102,45,112,97,116,116,101,114,110,32,105,116,101,109,115,34,32,97,114,101,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46,32,65,32,116,121,112,105,99,97,108,32,101,120,97,109,112,108,101,32,119,111,117,108,100,32,98,101,32,119,104,101,110,32,109,97,116,99,104,105,110,103,32,34,68,69,70,65,66,67,34,32,97,103,97,105,110,115,116,32,34,40,42,67,79,77,77,73,84,41,65,66,67,34,44,32,119,104,101,114,101,32,116,104,101,32,115,116,97,114,116,32,111,112,116,105,109,105,122,97,116,105,111,110,32,111,102,32,80,67,82,69,32,119,111,117,108,100,32,115,107,105,112,32,116,104,101,32,115,117,98,106,101,99,116,32,117,112,32,116,111,32,34,65,34,32,97,110,100,32,110,101,118,101,114,32,114,101,97,108,105,122,101,32,116,104,97,116,32,116,104,101,32,40,42,67,79,77,77,73,84,41,32,105,110,115,116,114,117,99,116,105,111,110,32,105,115,32,116,111,32,104,97,118,101,32,109,97,100,101,32,116,104,101,32,109,97,116,99,104,105,110,103,32,102,97,105,108,46,32,84,104,105,115,32,111,112,116,105,111,110,32,105,115,32,111,110,108,121,32,114,101,108,101,118,97,110,116,32,105,102,32,121,111,117,32,117,115,101,32,34,115,116,97,114,116,45,111,102,45,112,97,116,116,101,114,110,32,105,116,101,109,115,34,44,32,97,115,32,100,105,115,99,117,115,115,101,100,32,105,110,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,101,103,101,120,112,95,115,121,110,116,97,120,95,100,101,116,97,105,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<80,67,82,69,32,82,101,103,117,108,97,114,32,69,120,112,114,101,115,115,105,111,110,32,68,101,116,97,105,108,115>>]},<<46>>]}]},{dt,[],[{code,[],[<<117,99,112>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,116,104,97,116,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,32,112,114,111,112,101,114,116,105,101,115,32,97,114,101,32,116,111,32,98,101,32,117,115,101,100,32,119,104,101,110,32,114,101,115,111,108,118,105,110,103,32,92,66,44,32,92,98,44,32,92,68,44,32,92,100,44,32,92,83,44,32,92,115,44,32,92,87,32,97,110,100,32,92,119,46,32,87,105,116,104,111,117,116,32,116,104,105,115,32,102,108,97,103,44,32,111,110,108,121,32,73,83,79,32,76,97,116,105,110,45,49,32,112,114,111,112,101,114,116,105,101,115,32,97,114,101,32,117,115,101,100,46,32,85,115,105,110,103,32,85,110,105,99,111,100,101,32,112,114,111,112,101,114,116,105,101,115,32,104,117,114,116,115,32,112,101,114,102,111,114,109,97,110,99,101,44,32,98,117,116,32,105,115,32,115,101,109,97,110,116,105,99,97,108,108,121,32,99,111,114,114,101,99,116,32,119,104,101,110,32,119,111,114,107,105,110,103,32,119,105,116,104,32,85,110,105,99,111,100,101,32,99,104,97,114,97,99,116,101,114,115,32,98,101,121,111,110,100,32,116,104,101,32,73,83,79,32,76,97,116,105,110,45,49,32,114,97,110,103,101,46>>]}]},{dt,[],[{code,[],[<<110,101,118,101,114,95,117,116,102>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,116,104,97,116,32,116,104,101,32,40,42,85,84,70,41,32,97,110,100,47,111,114,32,40,42,85,84,70,56,41,32,34,115,116,97,114,116,45,111,102,45,112,97,116,116,101,114,110,32,105,116,101,109,115,34,32,97,114,101,32,102,111,114,98,105,100,100,101,110,46,32,84,104,105,115,32,102,108,97,103,32,99,97,110,110,111,116,32,98,101,32,99,111,109,98,105,110,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<46,32,85,115,101,102,117,108,32,105,102,32,73,83,79,32,76,97,116,105,110,45,49,32,112,97,116,116,101,114,110,115,32,102,114,111,109,32,97,110,32,101,120,116,101,114,110,97,108,32,115,111,117,114,99,101,32,97,114,101,32,116,111,32,98,101,32,99,111,109,112,105,108,101,100,46>>]}]}]}]},#{signature => [{attribute,{59,2},spec,{{compile,2},[{type,{59,14},bounded_fun,[{type,{59,14},'fun',[{type,{59,14},product,[{var,{59,15},'Regexp'},{var,{59,23},'Options'}]},{type,{59,35},union,[{type,{59,35},tuple,[{atom,{59,36},ok},{var,{59,40},'MP'}]},{type,{59,46},tuple,[{atom,{59,47},error},{var,{59,54},'ErrSpec'}]}]}]},[{type,{60,7},constraint,[{atom,{60,7},is_subtype},[{var,{60,7},'Regexp'},{type,{60,17},union,[{type,{60,17},iodata,[]},{remote_type,{60,28},[{atom,{60,28},unicode},{atom,{60,36},charlist},[]]}]}]]},{type,{61,7},constraint,[{atom,{61,7},is_subtype},[{var,{61,7},'Options'},{type,{61,18},list,[{var,{61,19},'Option'}]}]]},{type,{62,7},constraint,[{atom,{62,7},is_subtype},[{var,{62,7},'Option'},{user_type,{62,17},compile_option,[]}]]},{type,{63,7},constraint,[{atom,{63,7},is_subtype},[{var,{63,7},'MP'},{user_type,{63,13},mp,[]}]]},{type,{64,7},constraint,[{atom,{64,7},is_subtype},[{var,{64,7},'ErrSpec'},{type,{64,18},tuple,[{ann_type,{64,19},[{var,{64,19},'ErrString'},{type,{64,32},string,[]}]},{ann_type,{64,42},[{var,{64,42},'Position'},{type,{64,54},non_neg_integer,[]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,49,48,48>>}},{{function,inspect,2},[{file,[114,101,46,101,114,108]},{location,145}],[<<105,110,115,112,101,99,116,47,50>>],#{<<101,110>> => [{p,[],[<<84,97,107,101,115,32,97,32,99,111,109,112,105,108,101,100,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,97,110,100,32,97,110,32,105,116,101,109,44,32,97,110,100,32,114,101,116,117,114,110,115,32,116,104,101,32,114,101,108,101,118,97,110,116,32,100,97,116,97,32,102,114,111,109,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46,32,84,104,101,32,111,110,108,121,32,115,117,112,112,111,114,116,101,100,32,105,116,101,109,32,105,115,32>>,{code,[],[<<110,97,109,101,108,105,115,116>>]},<<44,32,119,104,105,99,104,32,114,101,116,117,114,110,115,32,116,104,101,32,116,117,112,108,101,32>>,{code,[],[<<123,110,97,109,101,108,105,115,116,44,32,91,98,105,110,97,114,121,40,41,93,125>>]},<<44,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,110,97,109,101,115,32,111,102,32,97,108,108,32,40,117,110,105,113,117,101,41,32,110,97,109,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46,32,70,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<49,62,32,123,111,107,44,77,80,125,32,61,32,114,101,58,99,111,109,112,105,108,101,40,34,40,63,60,65,62,65,41,124,40,63,60,66,62,66,41,124,40,63,60,67,62,67,41,34,41,46,10,123,111,107,44,123,114,101,95,112,97,116,116,101,114,110,44,51,44,48,44,48,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,60,54,57,44,56,50,44,54,55,44,56,48,44,49,49,57,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,49,44,48,44,48,44,48,44,50,53,53,44,50,53,53,44,50,53,53,44,50,53,53,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,50,53,53,44,50,53,53,44,46,46,46,62,62,125,125,10,50,62,32,114,101,58,105,110,115,112,101,99,116,40,77,80,44,110,97,109,101,108,105,115,116,41,46,10,123,110,97,109,101,108,105,115,116,44,91,60,60,34,65,34,62,62,44,60,60,34,66,34,62,62,44,60,60,34,67,34,62,62,93,125,10,51,62,32,123,111,107,44,77,80,68,125,32,61,32,114,101,58,99,111,109,112,105,108,101,40,34,40,63,60,67,62,65,41,124,40,63,60,66,62,66,41,124,40,63,60,67,62,67,41,34,44,91,100,117,112,110,97,109,101,115,93,41,46,10,123,111,107,44,123,114,101,95,112,97,116,116,101,114,110,44,51,44,48,44,48,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,60,54,57,44,56,50,44,54,55,44,56,48,44,49,49,57,44,48,44,48,44,48,44,48,44,48,44,56,44,48,44,49,44,48,44,48,44,48,44,50,53,53,44,50,53,53,44,50,53,53,44,50,53,53,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,50,53,53,44,50,53,53,44,46,46,46,62,62,125,125,10,52,62,32,114,101,58,105,110,115,112,101,99,116,40,77,80,68,44,110,97,109,101,108,105,115,116,41,46,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,110,97,109,101,108,105,115,116,44,91,60,60,34,66,34,62,62,44,60,60,34,67,34,62,62,93,125>>]}]},{p,[],[<<78,111,116,105,99,101,32,105,110,32,116,104,101,32,115,101,99,111,110,100,32,101,120,97,109,112,108,101,32,116,104,97,116,32,116,104,101,32,100,117,112,108,105,99,97,116,101,32,110,97,109,101,32,111,110,108,121,32,111,99,99,117,114,115,32,111,110,99,101,32,105,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,108,105,115,116,44,32,97,110,100,32,116,104,97,116,32,116,104,101,32,108,105,115,116,32,105,115,32,105,110,32,97,108,112,104,97,98,101,116,105,99,97,108,32,111,114,100,101,114,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,119,104,101,114,101,32,116,104,101,32,110,97,109,101,115,32,97,114,101,32,112,111,115,105,116,105,111,110,101,100,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46,32,84,104,101,32,111,114,100,101,114,32,111,102,32,116,104,101,32,110,97,109,101,115,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,111,114,100,101,114,32,111,102,32,99,97,112,116,117,114,101,100,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,105,102,32>>,{code,[],[<<123,99,97,112,116,117,114,101,44,32,97,108,108,95,110,97,109,101,115,125>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,110,32,111,112,116,105,111,110,32,116,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<46,32,89,111,117,32,99,97,110,32,116,104,101,114,101,102,111,114,101,32,99,114,101,97,116,101,32,97,32,110,97,109,101,45,116,111,45,118,97,108,117,101,32,109,97,112,112,105,110,103,32,102,114,111,109,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,108,105,107,101,32,116,104,105,115,58>>]},{pre,[],[{code,[],[<<49,62,32,123,111,107,44,77,80,125,32,61,32,114,101,58,99,111,109,112,105,108,101,40,34,40,63,60,65,62,65,41,124,40,63,60,66,62,66,41,124,40,63,60,67,62,67,41,34,41,46,10,123,111,107,44,123,114,101,95,112,97,116,116,101,114,110,44,51,44,48,44,48,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,60,54,57,44,56,50,44,54,55,44,56,48,44,49,49,57,44,48,44,48,44,48,44,48,44,48,44,48,44,48,44,49,44,48,44,48,44,48,44,50,53,53,44,50,53,53,44,50,53,53,44,50,53,53,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,50,53,53,44,50,53,53,44,46,46,46,62,62,125,125,10,50,62,32,123,110,97,109,101,108,105,115,116,44,32,78,125,32,61,32,114,101,58,105,110,115,112,101,99,116,40,77,80,44,110,97,109,101,108,105,115,116,41,46,10,123,110,97,109,101,108,105,115,116,44,91,60,60,34,65,34,62,62,44,60,60,34,66,34,62,62,44,60,60,34,67,34,62,62,93,125,10,51,62,32,123,109,97,116,99,104,44,76,125,32,61,32,114,101,58,114,117,110,40,34,65,65,34,44,77,80,44,91,123,99,97,112,116,117,114,101,44,97,108,108,95,110,97,109,101,115,44,98,105,110,97,114,121,125,93,41,46,10,123,109,97,116,99,104,44,91,60,60,34,65,34,62,62,44,60,60,62,62,44,60,60,62,62,93,125,10,52,62,32,78,97,109,101,77,97,112,32,61,32,108,105,115,116,115,58,122,105,112,40,78,44,76,41,46,10,91,123,60,60,34,65,34,62,62,44,60,60,34,65,34,62,62,125,44,123,60,60,34,66,34,62,62,44,60,60,62,62,125,44,123,60,60,34,67,34,62,62,44,60,60,62,62,125,93>>]}]}]},#{signature => [{attribute,{145,2},spec,{{inspect,2},[{type,{145,14},bounded_fun,[{type,{145,14},'fun',[{type,{145,14},product,[{var,{145,15},'MP'},{var,{145,18},'Item'}]},{type,{145,27},tuple,[{atom,{145,28},namelist},{type,{145,38},list,[{type,{145,40},binary,[]}]}]}]},[{type,{146,7},constraint,[{atom,{146,7},is_subtype},[{var,{146,7},'MP'},{user_type,{146,13},mp,[]}]]},{type,{147,7},constraint,[{atom,{147,7},is_subtype},[{var,{147,7},'Item'},{atom,{147,15},namelist}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,51,48,57>>,since => <<79,84,80,32,49,55,46,48>>}},{{function,replace,3},[{file,[114,101,46,101,114,108]},{location,355}],[<<114,101,112,108,97,99,101,47,51>>],#{<<101,110>> => [{p,[],[<<83,97,109,101,32,97,115,32>>,{code,[],[<<114,101,112,108,97,99,101,40,83,117,98,106,101,99,116,44,32,82,69,44,32,82,101,112,108,97,99,101,109,101,110,116,44,32,91,93,41>>]},<<46>>]}]},#{signature => [{attribute,{355,2},spec,{{replace,3},[{type,{355,14},bounded_fun,[{type,{355,14},'fun',[{type,{355,14},product,[{var,{355,15},'Subject'},{var,{355,24},'RE'},{var,{355,28},'Replacement'}]},{type,{355,44},union,[{type,{355,44},iodata,[]},{remote_type,{355,55},[{atom,{355,55},unicode},{atom,{355,63},charlist},[]]}]}]},[{type,{356,7},constraint,[{atom,{356,7},is_subtype},[{var,{356,7},'Subject'},{type,{356,18},union,[{type,{356,18},iodata,[]},{remote_type,{356,29},[{atom,{356,29},unicode},{atom,{356,37},charlist},[]]}]}]]},{type,{357,7},constraint,[{atom,{357,7},is_subtype},[{var,{357,7},'RE'},{type,{357,13},union,[{user_type,{357,13},mp,[]},{type,{357,20},iodata,[]}]}]]},{type,{358,7},constraint,[{atom,{358,7},is_subtype},[{var,{358,7},'Replacement'},{type,{358,22},union,[{type,{358,22},iodata,[]},{remote_type,{358,33},[{atom,{358,33},unicode},{atom,{358,41},charlist},[]]},{user_type,{358,54},replace_fun,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,51,53,51>>}},{{function,replace,4},[{file,[114,101,46,101,114,108]},{location,368}],[<<114,101,112,108,97,99,101,47,52>>],#{<<101,110>> => [{p,[],[<<82,101,112,108,97,99,101,115,32,116,104,101,32,109,97,116,99,104,101,100,32,112,97,114,116,32,111,102,32,116,104,101,32>>,{code,[],[<<83,117,98,106,101,99,116>>]},<<32,115,116,114,105,110,103,32,119,105,116,104,32>>,{code,[],[<<82,101,112,108,97,99,101,109,101,110,116>>]},<<46>>]},{p,[],[<<84,104,101,32,112,101,114,109,105,115,115,105,98,108,101,32,111,112,116,105,111,110,115,32,97,114,101,32,116,104,101,32,115,97,109,101,32,97,115,32,102,111,114,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<44,32,101,120,99,101,112,116,32,116,104,97,116,32,111,112,116,105,111,110>>,{code,[],[<<32,99,97,112,116,117,114,101>>]},<<32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,46,32,73,110,115,116,101,97,100,32,97,32>>,{code,[],[<<123,114,101,116,117,114,110,44,32,82,101,116,117,114,110,84,121,112,101,125>>]},<<32,105,115,32,112,114,101,115,101,110,116,46,32,84,104,101,32,100,101,102,97,117,108,116,32,114,101,116,117,114,110,32,116,121,112,101,32,105,115,32>>,{code,[],[<<105,111,100,97,116,97>>]},<<44,32,99,111,110,115,116,114,117,99,116,101,100,32,105,110,32,97,32,119,97,121,32,116,111,32,109,105,110,105,109,105,122,101,32,99,111,112,121,105,110,103,46,32,84,104,101,32>>,{code,[],[<<105,111,100,97,116,97>>]},<<32,114,101,115,117,108,116,32,99,97,110,32,98,101,32,117,115,101,100,32,100,105,114,101,99,116,108,121,32,105,110,32,109,97,110,121,32,73,47,79,32,111,112,101,114,97,116,105,111,110,115,46,32,73,102,32,97,32,102,108,97,116,32>>,{code,[],[<<108,105,115,116,40,41>>]},<<32,105,115,32,100,101,115,105,114,101,100,44,32,115,112,101,99,105,102,121,32>>,{code,[],[<<123,114,101,116,117,114,110,44,32,108,105,115,116,125>>]},<<46,32,73,102,32,97,32,98,105,110,97,114,121,32,105,115,32,100,101,115,105,114,101,100,44,32,115,112,101,99,105,102,121,32>>,{code,[],[<<123,114,101,116,117,114,110,44,32,98,105,110,97,114,121,125>>]},<<46>>]},{p,[],[<<65,115,32,105,110,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<114,117,110,47,51>>]},<<44,32,97,110,32>>,{code,[],[<<109,112,40,41>>]},<<32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,114,101,113,117,105,114,101,115,32>>,{code,[],[<<83,117,98,106,101,99,116>>]},<<32,116,111,32,98,101,32,97,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<46,32,73,102,32,99,111,109,112,105,108,97,116,105,111,110,32,105,115,32,100,111,110,101,32,105,109,112,108,105,99,105,116,108,121,32,97,110,100,32,116,104,101,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,99,111,109,112,105,108,97,116,105,111,110,32,111,112,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,116,111,32,116,104,105,115,32,102,117,110,99,116,105,111,110,44,32,98,111,116,104,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,97,110,100,32>>,{code,[],[<<83,117,98,106,101,99,116>>]},<<32,97,114,101,32,116,111,32,115,112,101,99,105,102,105,101,100,32,97,115,32,118,97,108,105,100,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<115,46>>]},{p,[],[<<73,102,32,116,104,101,32,114,101,112,108,97,99,101,109,101,110,116,32,105,115,32,103,105,118,101,110,32,97,115,32,97,32,115,116,114,105,110,103,44,32,105,116,32,99,97,110,32,99,111,110,116,97,105,110,32,116,104,101,32,115,112,101,99,105,97,108,32,99,104,97,114,97,99,116,101,114,32>>,{code,[],[<<38>>]},<<44,32,119,104,105,99,104,32,105,110,115,101,114,116,115,32,116,104,101,32,119,104,111,108,101,32,109,97,116,99,104,105,110,103,32,101,120,112,114,101,115,115,105,111,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,44,32,97,110,100,32,116,104,101,32,115,112,101,99,105,97,108,32,115,101,113,117,101,110,99,101,32>>,{code,[],[<<92>>]},<<78,32,40,119,104,101,114,101,32,78,32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,62,32,48,41,44,32>>,{code,[],[<<92,103>>]},<<78,44,32,111,114,32>>,{code,[],[<<92,103,123>>]},<<78>>,{code,[],[<<125>>]},<<44,32,114,101,115,117,108,116,105,110,103,32,105,110,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,110,117,109,98,101,114,32,78,44,32,105,115,32,105,110,115,101,114,116,101,100,32,105,110,32,116,104,101,32,114,101,115,117,108,116,46,32,73,102,32,110,111,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,119,105,116,104,32,116,104,97,116,32,110,117,109,98,101,114,32,105,115,32,103,101,110,101,114,97,116,101,100,32,98,121,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,110,111,116,104,105,110,103,32,105,115,32,105,110,115,101,114,116,101,100,46>>]},{p,[],[<<84,111,32,105,110,115,101,114,116,32,97,110,32,38,32,111,114,32,97,32,92,32,105,110,32,116,104,101,32,114,101,115,117,108,116,44,32,112,114,101,99,101,100,101,32,105,116,32,119,105,116,104,32,97,32,92,46,32,78,111,116,105,99,101,32,116,104,97,116,32,69,114,108,97,110,103,32,97,108,114,101,97,100,121,32,103,105,118,101,115,32,97,32,115,112,101,99,105,97,108,32,109,101,97,110,105,110,103,32,116,111,32,92,32,105,110,32,108,105,116,101,114,97,108,32,115,116,114,105,110,103,115,44,32,115,111,32,97,32,115,105,110,103,108,101,32,92,32,109,117,115,116,32,98,101,32,119,114,105,116,116,101,110,32,97,115,32>>,{code,[],[<<34,92,92,34>>]},<<32,97,110,100,32,116,104,101,114,101,102,111,114,101,32,97,32,100,111,117,98,108,101,32,92,32,97,115,32>>,{code,[],[<<34,92,92,92,92,34>>]},<<46>>]},{p,[],[{em,[],[<<69,120,97,109,112,108,101,58>>]}]},{pre,[],[{code,[],[<<114,101,58,114,101,112,108,97,99,101,40,34,97,98,99,100,34,44,34,99,34,44,34,91,38,93,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<34,97,98,91,99,93,100,34>>]}]},{p,[],[<<119,104,105,108,101>>]},{pre,[],[{code,[],[<<114,101,58,114,101,112,108,97,99,101,40,34,97,98,99,100,34,44,34,99,34,44,34,91,92,92,38,93,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<34,97,98,91,38,93,100,34>>]}]},{p,[],[<<73,102,32,116,104,101,32,114,101,112,108,97,99,101,109,101,110,116,32,105,115,32,103,105,118,101,110,32,97,115,32,97,32,102,117,110,44,32,105,116,32,119,105,108,108,32,98,101,32,99,97,108,108,101,100,32,119,105,116,104,32,116,104,101,32,119,104,111,108,101,32,109,97,116,99,104,105,110,103,32,101,120,112,114,101,115,115,105,111,110,32,97,115,32,116,104,101,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,97,110,100,32,97,32,108,105,115,116,32,111,102,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,101,115,32,105,110,32,116,104,101,32,111,114,100,101,114,32,105,110,32,119,104,105,99,104,32,116,104,101,121,32,97,112,112,101,97,114,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46,32,84,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,32,119,105,108,108,32,98,101,32,105,110,115,101,114,116,101,100,32,105,110,32,116,104,101,32,114,101,115,117,108,116,46>>]},{p,[],[{em,[],[<<69,120,97,109,112,108,101,58>>]}]},{pre,[],[{code,[],[<<114,101,58,114,101,112,108,97,99,101,40,34,97,98,99,100,34,44,32,34,46,40,46,41,34,44,32,102,117,110,40,87,104,111,108,101,44,32,91,60,60,67,62,62,93,41,32,45,62,32,60,60,36,35,44,32,87,104,111,108,101,47,98,105,110,97,114,121,44,32,36,45,44,32,40,67,32,45,32,36,97,32,43,32,36,65,41,44,32,36,35,62,62,32,101,110,100,44,32,91,123,114,101,116,117,114,110,44,32,108,105,115,116,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<34,35,97,98,45,66,35,99,100,34>>]}]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<78,111,110,45,109,97,116,99,104,105,110,103,32,111,112,116,105,111,110,97,108,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,119,105,108,108,32,110,111,116,32,98,101,32,105,110,99,108,117,100,101,100,32,105,110,32,116,104,101,32,108,105,115,116,32,111,102,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,101,115,32,105,102,32,116,104,101,121,32,97,114,101,32,116,104,101,32,108,97,115,116,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{p,[],[{em,[],[<<69,120,97,109,112,108,101,58>>]}]},{p,[],[<<84,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32>>,{code,[],[<<34,40,97,41,40,98,41,63,40,99,41,63,34>>]},<<32,40,34,97,34,44,32,111,112,116,105,111,110,97,108,108,121,32,102,111,108,108,111,119,101,100,32,98,121,32,34,98,34,44,32,111,112,116,105,111,110,97,108,108,121,32,102,111,108,108,111,119,101,100,32,98,121,32,34,99,34,41,32,119,105,108,108,32,99,114,101,97,116,101,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,108,105,115,116,115,58>>]},{ul,[],[{li,[],[{code,[],[<<91,60,60,34,97,34,62,62,44,32,60,60,34,98,34,62,62,44,32,60,60,34,99,34,62,62,93>>]},<<32,119,104,101,110,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,32,115,116,114,105,110,103,32>>,{code,[],[<<34,97,98,99,34>>]}]},{li,[],[{code,[],[<<91,60,60,34,97,34,62,62,44,32,60,60,62,62,44,32,60,60,34,99,34,62,62,93>>]},<<32,119,104,101,110,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,32,115,116,114,105,110,103,32>>,{code,[],[<<34,97,99,120,34>>]}]},{li,[],[{code,[],[<<91,60,60,34,97,34,62,62,44,32,60,60,34,98,34,62,62,93>>]},<<32,119,104,101,110,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,32,115,116,114,105,110,103,32>>,{code,[],[<<34,97,98,120,34>>]}]},{li,[],[{code,[],[<<91,60,60,34,97,34,62,62,93>>]},<<32,119,104,101,110,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,32,115,116,114,105,110,103,32>>,{code,[],[<<34,97,120,120,34>>]}]}]}]},{p,[],[<<65,115,32,119,105,116,104,32>>,{code,[],[<<114,117,110,47,51>>]},<<44,32,99,111,109,112,105,108,97,116,105,111,110,32,101,114,114,111,114,115,32,114,97,105,115,101,32,116,104,101,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,46,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,99,111,109,112,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,111,109,112,105,108,101,47,50>>]}]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,103,101,116,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,101,114,114,111,114,46>>]}]},#{signature => [{attribute,{368,2},spec,{{replace,4},[{type,{368,14},bounded_fun,[{type,{368,14},'fun',[{type,{368,14},product,[{var,{368,15},'Subject'},{var,{368,24},'RE'},{var,{368,28},'Replacement'},{var,{368,41},'Options'}]},{type,{368,53},union,[{type,{368,53},iodata,[]},{remote_type,{368,64},[{atom,{368,64},unicode},{atom,{368,72},charlist},[]]}]}]},[{type,{369,7},constraint,[{atom,{369,7},is_subtype},[{var,{369,7},'Subject'},{type,{369,18},union,[{type,{369,18},iodata,[]},{remote_type,{369,29},[{atom,{369,29},unicode},{atom,{369,37},charlist},[]]}]}]]},{type,{370,7},constraint,[{atom,{370,7},is_subtype},[{var,{370,7},'RE'},{type,{370,13},union,[{user_type,{370,13},mp,[]},{type,{370,20},iodata,[]},{remote_type,{370,31},[{atom,{370,31},unicode},{atom,{370,39},charlist},[]]}]}]]},{type,{371,7},constraint,[{atom,{371,7},is_subtype},[{var,{371,7},'Replacement'},{type,{371,22},union,[{type,{371,22},iodata,[]},{remote_type,{371,33},[{atom,{371,33},unicode},{atom,{371,41},charlist},[]]},{user_type,{371,54},replace_fun,[]}]}]]},{type,{372,7},constraint,[{atom,{372,7},is_subtype},[{var,{372,7},'Options'},{type,{372,18},list,[{var,{372,19},'Option'}]}]]},{type,{373,7},constraint,[{atom,{373,7},is_subtype},[{var,{373,7},'Option'},{type,{373,17},union,[{atom,{373,17},anchored},{atom,{373,28},global},{atom,{373,37},notbol},{atom,{373,46},noteol},{atom,{373,55},notempty},{atom,{374,10},notempty_atstart},{type,{375,17},tuple,[{atom,{375,18},offset},{type,{375,26},non_neg_integer,[]}]},{type,{375,47},tuple,[{atom,{375,48},newline},{var,{375,57},'NLSpec'}]},{atom,{375,67},bsr_anycrlf},{type,{376,17},tuple,[{atom,{376,18},match_limit},{type,{376,31},non_neg_integer,[]}]},{type,{377,17},tuple,[{atom,{377,18},match_limit_recursion},{type,{377,41},non_neg_integer,[]}]},{atom,{378,17},bsr_unicode},{type,{378,31},tuple,[{atom,{378,32},return},{var,{378,40},'ReturnType'}]},{var,{378,54},'CompileOpt'}]}]]},{type,{379,7},constraint,[{atom,{379,7},is_subtype},[{var,{379,7},'ReturnType'},{type,{379,21},union,[{atom,{379,21},iodata},{atom,{379,30},list},{atom,{379,37},binary}]}]]},{type,{380,7},constraint,[{atom,{380,7},is_subtype},[{var,{380,7},'CompileOpt'},{user_type,{380,21},compile_option,[]}]]},{type,{381,7},constraint,[{atom,{381,7},is_subtype},[{var,{381,7},'NLSpec'},{type,{381,17},union,[{atom,{381,17},cr},{atom,{381,22},crlf},{atom,{381,29},lf},{atom,{381,34},anycrlf},{atom,{381,44},any}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,51,54,51>>}},{{function,run,2},[{file,[114,101,46,101,114,108]},{location,69}],[<<114,117,110,47,50>>],#{<<101,110>> => [{p,[],[<<83,97,109,101,32,97,115,32>>,{code,[],[<<114,117,110,40,83,117,98,106,101,99,116,44,82,69,44,91,93,41>>]},<<46>>]}]},#{signature => [{attribute,{69,2},spec,{{run,2},[{type,{69,10},bounded_fun,[{type,{69,10},'fun',[{type,{69,10},product,[{var,{69,11},'Subject'},{var,{69,20},'RE'}]},{type,{69,27},union,[{type,{69,27},tuple,[{atom,{69,28},match},{var,{69,35},'Captured'}]},{atom,{69,47},nomatch}]}]},[{type,{70,7},constraint,[{atom,{70,7},is_subtype},[{var,{70,7},'Subject'},{type,{70,18},union,[{type,{70,18},iodata,[]},{remote_type,{70,29},[{atom,{70,29},unicode},{atom,{70,37},charlist},[]]}]}]]},{type,{71,7},constraint,[{atom,{71,7},is_subtype},[{var,{71,7},'RE'},{type,{71,13},union,[{user_type,{71,13},mp,[]},{type,{71,20},iodata,[]}]}]]},{type,{72,7},constraint,[{atom,{72,7},is_subtype},[{var,{72,7},'Captured'},{type,{72,19},list,[{var,{72,20},'CaptureData'}]}]]},{type,{73,7},constraint,[{atom,{73,7},is_subtype},[{var,{73,7},'CaptureData'},{type,{73,22},tuple,[{type,{73,23},integer,[]},{type,{73,34},integer,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,52,52,50>>}},{{function,run,3},[{file,[114,101,46,101,114,108]},{location,78}],[<<114,117,110,47,51>>],#{<<101,110>> => [{p,[],[<<69,120,101,99,117,116,101,115,32,97,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,105,110,103,44,32,97,110,100,32,114,101,116,117,114,110,115,32>>,{code,[],[<<109,97,116,99,104,47,123,109,97,116,99,104,44,32,67,97,112,116,117,114,101,100,125>>]},<<32,111,114,32>>,{code,[],[<<110,111,109,97,116,99,104>>]},<<46,32,84,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,99,97,110,32,98,101,32,115,112,101,99,105,102,105,101,100,32,101,105,116,104,101,114,32,97,115,32>>,{code,[],[<<105,111,100,97,116,97,40,41>>]},<<32,105,110,32,119,104,105,99,104,32,99,97,115,101,32,105,116,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,99,111,109,112,105,108,101,100,32,40,97,115,32,98,121,32>>,{code,[],[<<99,111,109,112,105,108,101,47,50>>]},<<41,32,97,110,100,32,101,120,101,99,117,116,101,100,44,32,111,114,32,97,115,32,97,32,112,114,101,99,111,109,112,105,108,101,100,32>>,{code,[],[<<109,112,40,41>>]},<<32,105,110,32,119,104,105,99,104,32,99,97,115,101,32,105,116,32,105,115,32,101,120,101,99,117,116,101,100,32,97,103,97,105,110,115,116,32,116,104,101,32,115,117,98,106,101,99,116,32,100,105,114,101,99,116,108,121,46>>]},{p,[],[<<87,104,101,110,32,99,111,109,112,105,108,97,116,105,111,110,32,105,115,32,105,110,118,111,108,118,101,100,44,32,101,120,99,101,112,116,105,111,110,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,105,115,32,116,104,114,111,119,110,32,105,102,32,97,32,99,111,109,112,105,108,97,116,105,111,110,32,101,114,114,111,114,32,111,99,99,117,114,115,46,32,67,97,108,108,32>>,{code,[],[<<99,111,109,112,105,108,101,47,50>>]},<<32,116,111,32,103,101,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,108,111,99,97,116,105,111,110,32,111,102,32,116,104,101,32,101,114,114,111,114,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{p,[],[<<73,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,112,114,101,118,105,111,117,115,108,121,32,99,111,109,112,105,108,101,100,44,32,116,104,101,32,111,112,116,105,111,110,32,108,105,115,116,32,99,97,110,32,111,110,108,121,32,99,111,110,116,97,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,111,112,116,105,111,110,115,58>>]},{ul,[],[{li,[],[{code,[],[<<97,110,99,104,111,114,101,100>>]}]},{li,[],[{code,[],[<<123,99,97,112,116,117,114,101,44,32,86,97,108,117,101,83,112,101,99,125,47,123,99,97,112,116,117,114,101,44,32,86,97,108,117,101,83,112,101,99,44,32,84,121,112,101,125>>]}]},{li,[],[{code,[],[<<103,108,111,98,97,108>>]}]},{li,[],[{code,[],[<<123,109,97,116,99,104,95,108,105,109,105,116,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{li,[],[{code,[],[<<123,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{li,[],[{code,[],[<<123,110,101,119,108,105,110,101,44,32,78,76,83,112,101,99,125>>]}]},{li,[],[{code,[],[<<110,111,116,98,111,108>>]}]},{li,[],[{code,[],[<<110,111,116,101,109,112,116,121>>]}]},{li,[],[{code,[],[<<110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116>>]}]},{li,[],[{code,[],[<<110,111,116,101,111,108>>]}]},{li,[],[{code,[],[<<123,111,102,102,115,101,116,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{li,[],[{code,[],[<<114,101,112,111,114,116,95,101,114,114,111,114,115>>]}]}]},{p,[],[<<79,116,104,101,114,119,105,115,101,32,97,108,108,32,111,112,116,105,111,110,115,32,118,97,108,105,100,32,102,111,114,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<99,111,109,112,105,108,101,47,50>>]},<<32,97,114,101,32,97,108,115,111,32,97,108,108,111,119,101,100,46,32,79,112,116,105,111,110,115,32,97,108,108,111,119,101,100,32,98,111,116,104,32,102,111,114,32,99,111,109,112,105,108,97,116,105,111,110,32,97,110,100,32,101,120,101,99,117,116,105,111,110,32,111,102,32,97,32,109,97,116,99,104,44,32,110,97,109,101,108,121,32>>,{code,[],[<<97,110,99,104,111,114,101,100>>]},<<32,97,110,100,32>>,{code,[],[<<123,110,101,119,108,105,110,101,44,32,78,76,83,112,101,99,125>>]},<<44,32,97,102,102,101,99,116,32,98,111,116,104,32,116,104,101,32,99,111,109,112,105,108,97,116,105,111,110,32,97,110,100,32,101,120,101,99,117,116,105,111,110,32,105,102,32,112,114,101,115,101,110,116,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32,97,32,110,111,110,45,112,114,101,99,111,109,112,105,108,101,100,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{p,[],[<<73,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,119,97,115,32,112,114,101,118,105,111,117,115,108,121,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32>>,{code,[],[<<83,117,98,106,101,99,116>>]},<<32,105,115,32,116,111,32,98,101,32,112,114,111,118,105,100,101,100,32,97,115,32,97,32,118,97,108,105,100,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<44,32,111,116,104,101,114,119,105,115,101,32,97,110,121,32>>,{code,[],[<<105,111,100,97,116,97,40,41>>]},<<32,119,105,108,108,32,100,111,46,32,73,102,32,99,111,109,112,105,108,97,116,105,111,110,32,105,115,32,105,110,118,111,108,118,101,100,32,97,110,100,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32,98,111,116,104,32>>,{code,[],[<<83,117,98,106,101,99,116>>]},<<32,97,110,100,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,97,114,101,32,116,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,118,97,108,105,100,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,115,40,41>>]},<<46>>]},{p,[],[{code,[],[<<123,99,97,112,116,117,114,101,44,32,86,97,108,117,101,83,112,101,99,125,47,123,99,97,112,116,117,114,101,44,32,86,97,108,117,101,83,112,101,99,44,32,84,121,112,101,125>>]},<<32,100,101,102,105,110,101,115,32,119,104,97,116,32,116,111,32,114,101,116,117,114,110,32,102,114,111,109,32,116,104,101,32,102,117,110,99,116,105,111,110,32,117,112,111,110,32,115,117,99,99,101,115,115,102,117,108,32,109,97,116,99,104,105,110,103,46,32,84,104,101,32>>,{code,[],[<<99,97,112,116,117,114,101>>]},<<32,116,117,112,108,101,32,99,97,110,32,99,111,110,116,97,105,110,32,98,111,116,104,32,97,32,118,97,108,117,101,32,115,112,101,99,105,102,105,99,97,116,105,111,110,44,32,116,101,108,108,105,110,103,32,119,104,105,99,104,32,111,102,32,116,104,101,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,32,97,114,101,32,116,111,32,98,101,32,114,101,116,117,114,110,101,100,44,32,97,110,100,32,97,32,116,121,112,101,32,115,112,101,99,105,102,105,99,97,116,105,111,110,44,32,116,101,108,108,105,110,103,32,104,111,119,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,32,97,114,101,32,116,111,32,98,101,32,114,101,116,117,114,110,101,100,32,40,97,115,32,105,110,100,101,120,32,116,117,112,108,101,115,44,32,108,105,115,116,115,44,32,111,114,32,98,105,110,97,114,105,101,115,41,46,32,84,104,101,32,111,112,116,105,111,110,115,32,97,114,101,32,100,101,115,99,114,105,98,101,100,32,105,110,32,100,101,116,97,105,108,32,98,101,108,111,119,46>>]},{p,[],[<<73,102,32,116,104,101,32,99,97,112,116,117,114,101,32,111,112,116,105,111,110,115,32,100,101,115,99,114,105,98,101,32,116,104,97,116,32,110,111,32,115,117,98,115,116,114,105,110,103,32,99,97,112,116,117,114,105,110,103,32,105,115,32,116,111,32,98,101,32,100,111,110,101,32,40>>,{code,[],[<<123,99,97,112,116,117,114,101,44,32,110,111,110,101,125>>]},<<41,44,32,116,104,101,32,102,117,110,99,116,105,111,110,32,114,101,116,117,114,110,115,32,116,104,101,32,115,105,110,103,108,101,32,97,116,111,109,32>>,{code,[],[<<109,97,116,99,104>>]},<<32,117,112,111,110,32,115,117,99,99,101,115,115,102,117,108,32,109,97,116,99,104,105,110,103,44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,116,117,112,108,101,32>>,{code,[],[<<123,109,97,116,99,104,44,32,86,97,108,117,101,76,105,115,116,125>>]},<<46,32,68,105,115,97,98,108,105,110,103,32,99,97,112,116,117,114,105,110,103,32,99,97,110,32,98,101,32,100,111,110,101,32,101,105,116,104,101,114,32,98,121,32,115,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<110,111,110,101>>]},<<32,111,114,32,97,110,32,101,109,112,116,121,32,108,105,115,116,32,97,115,32>>,{code,[],[<<86,97,108,117,101,83,112,101,99>>]},<<46>>]},{p,[],[<<79,112,116,105,111,110,32>>,{code,[],[<<114,101,112,111,114,116,95,101,114,114,111,114,115>>]},<<32,97,100,100,115,32,116,104,101,32,112,111,115,115,105,98,105,108,105,116,121,32,116,104,97,116,32,97,110,32,101,114,114,111,114,32,116,117,112,108,101,32,105,115,32,114,101,116,117,114,110,101,100,46,32,84,104,101,32,116,117,112,108,101,32,101,105,116,104,101,114,32,105,110,100,105,99,97,116,101,115,32,97,32,109,97,116,99,104,105,110,103,32,101,114,114,111,114,32,40>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116>>]},<<32,111,114,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110>>]},<<41,44,32,111,114,32,97,32,99,111,109,112,105,108,97,116,105,111,110,32,101,114,114,111,114,44,32,119,104,101,114,101,32,116,104,101,32,101,114,114,111,114,32,116,117,112,108,101,32,104,97,115,32,116,104,101,32,102,111,114,109,97,116,32>>,{code,[],[<<123,101,114,114,111,114,44,32,123,99,111,109,112,105,108,101,44,32,67,111,109,112,105,108,101,69,114,114,125,125>>]},<<46,32,78,111,116,105,99,101,32,116,104,97,116,32,105,102,32,111,112,116,105,111,110,32>>,{code,[],[<<114,101,112,111,114,116,95,101,114,114,111,114,115>>]},<<32,105,115,32,110,111,116,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,102,117,110,99,116,105,111,110,32,110,101,118,101,114,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,116,117,112,108,101,115,44,32,98,117,116,32,114,101,112,111,114,116,115,32,99,111,109,112,105,108,97,116,105,111,110,32,101,114,114,111,114,115,32,97,115,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,101,120,99,101,112,116,105,111,110,32,97,110,100,32,102,97,105,108,101,100,32,109,97,116,99,104,101,115,32,98,101,99,97,117,115,101,32,111,102,32,101,120,99,101,101,100,101,100,32,109,97,116,99,104,32,108,105,109,105,116,115,32,115,105,109,112,108,121,32,97,115,32>>,{code,[],[<<110,111,109,97,116,99,104>>]},<<46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,111,112,116,105,111,110,115,32,97,114,101,32,114,101,108,101,118,97,110,116,32,102,111,114,32,101,120,101,99,117,116,105,111,110,58>>]},{dl,[],[{dt,[],[{code,[],[<<97,110,99,104,111,114,101,100>>]}]},{dd,[],[{p,[],[<<76,105,109,105,116,115,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,116,111,32,109,97,116,99,104,105,110,103,32,97,116,32,116,104,101,32,102,105,114,115,116,32,109,97,116,99,104,105,110,103,32,112,111,115,105,116,105,111,110,46,32,73,102,32,97,32,112,97,116,116,101,114,110,32,119,97,115,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32>>,{code,[],[<<97,110,99,104,111,114,101,100>>]},<<44,32,111,114,32,116,117,114,110,101,100,32,111,117,116,32,116,111,32,98,101,32,97,110,99,104,111,114,101,100,32,98,121,32,118,105,114,116,117,101,32,111,102,32,105,116,115,32,99,111,110,116,101,110,116,115,44,32,105,116,32,99,97,110,110,111,116,32,98,101,32,109,97,100,101,32,117,110,97,110,99,104,111,114,101,100,32,97,116,32,109,97,116,99,104,105,110,103,32,116,105,109,101,44,32,104,101,110,99,101,32,116,104,101,114,101,32,105,115,32,110,111,32>>,{code,[],[<<117,110,97,110,99,104,111,114,101,100>>]},<<32,111,112,116,105,111,110,46>>]}]},{dt,[],[{code,[],[<<103,108,111,98,97,108>>]}]},{dd,[],[{p,[],[<<73,109,112,108,101,109,101,110,116,115,32,103,108,111,98,97,108,32,40,114,101,112,101,116,105,116,105,118,101,41,32,115,101,97,114,99,104,32,40,102,108,97,103,32>>,{code,[],[<<103>>]},<<32,105,110,32,80,101,114,108,41,46,32,69,97,99,104,32,109,97,116,99,104,32,105,115,32,114,101,116,117,114,110,101,100,32,97,115,32,97,32,115,101,112,97,114,97,116,101,32>>,{code,[],[<<108,105,115,116,40,41>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,115,112,101,99,105,102,105,99,32,109,97,116,99,104,32,97,110,100,32,97,110,121,32,109,97,116,99,104,105,110,103,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,40,111,114,32,97,115,32,115,112,101,99,105,102,105,101,100,32,98,121,32,111,112,116,105,111,110,32>>,{code,[],[<<99,97,112,116,117,114,101>>]},<<46,32,84,104,101,32>>,{code,[],[<<67,97,112,116,117,114,101,100>>]},<<32,112,97,114,116,32,111,102,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,104,101,110,99,101,32,97,32>>,{code,[],[<<108,105,115,116,40,41>>]},<<32,111,102,32>>,{code,[],[<<108,105,115,116,40,41>>]},<<115,32,119,104,101,110,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,46>>]},{p,[],[<<84,104,101,32,105,110,116,101,114,97,99,116,105,111,110,32,111,102,32,111,112,116,105,111,110,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<32,119,105,116,104,32,97,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,116,104,97,116,32,109,97,116,99,104,101,115,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,32,115,117,114,112,114,105,115,101,115,32,115,111,109,101,32,117,115,101,114,115,46,32,87,104,101,110,32,111,112,116,105,111,110,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,44,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,104,97,110,100,108,101,115,32,101,109,112,116,121,32,109,97,116,99,104,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,119,97,121,32,97,115,32,80,101,114,108,58,32,97,32,122,101,114,111,45,108,101,110,103,116,104,32,109,97,116,99,104,32,97,116,32,97,110,121,32,112,111,105,110,116,32,105,115,32,97,108,115,111,32,114,101,116,114,105,101,100,32,119,105,116,104,32,111,112,116,105,111,110,115,32>>,{code,[],[<<91,97,110,99,104,111,114,101,100,44,32,110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116,93>>]},<<46,32,73,102,32,116,104,97,116,32,115,101,97,114,99,104,32,103,105,118,101,115,32,97,32,114,101,115,117,108,116,32,111,102,32,108,101,110,103,116,104,32,62,32,48,44,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,105,110,99,108,117,100,101,100,46,32,69,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,99,97,116,34,44,34,40,124,97,116,41,34,44,91,103,108,111,98,97,108,93,41,46>>]}]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,109,97,116,99,104,105,110,103,115,32,97,114,101,32,112,101,114,102,111,114,109,101,100,58>>]},{dl,[],[{dt,[],[<<65,116,32,111,102,102,115,101,116,32>>,{code,[],[<<48>>]}]},{dd,[],[{p,[],[<<84,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32>>,{code,[],[<<40,124,97,116,41>>]},<<32,102,105,114,115,116,32,109,97,116,99,104,32,97,116,32,116,104,101,32,105,110,105,116,105,97,108,32,112,111,115,105,116,105,111,110,32,111,102,32,115,116,114,105,110,103,32>>,{code,[],[<<99,97,116>>]},<<44,32,103,105,118,105,110,103,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,32>>,{code,[],[<<91,123,48,44,48,125,44,123,48,44,48,125,93>>]},<<32,40,116,104,101,32,115,101,99,111,110,100,32>>,{code,[],[<<123,48,44,48,125>>]},<<32,105,115,32,98,101,99,97,117,115,101,32,111,102,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,109,97,114,107,101,100,32,98,121,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,41,46,32,65,115,32,116,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,109,97,116,99,104,32,105,115,32,48,44,32,119,101,32,100,111,32,110,111,116,32,97,100,118,97,110,99,101,32,116,111,32,116,104,101,32,110,101,120,116,32,112,111,115,105,116,105,111,110,32,121,101,116,46>>]}]},{dt,[],[<<65,116,32,111,102,102,115,101,116,32>>,{code,[],[<<48>>]},<<32,119,105,116,104,32>>,{code,[],[<<91,97,110,99,104,111,114,101,100,44,32,110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116,93>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,101,97,114,99,104,32,105,115,32,114,101,116,114,105,101,100,32,119,105,116,104,32,111,112,116,105,111,110,115,32>>,{code,[],[<<91,97,110,99,104,111,114,101,100,44,32,110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116,93>>]},<<32,97,116,32,116,104,101,32,115,97,109,101,32,112,111,115,105,116,105,111,110,44,32,119,104,105,99,104,32,100,111,101,115,32,110,111,116,32,103,105,118,101,32,97,110,121,32,105,110,116,101,114,101,115,116,105,110,103,32,114,101,115,117,108,116,32,111,102,32,108,111,110,103,101,114,32,108,101,110,103,116,104,44,32,115,111,32,116,104,101,32,115,101,97,114,99,104,32,112,111,115,105,116,105,111,110,32,105,115,32,97,100,118,97,110,99,101,100,32,116,111,32,116,104,101,32,110,101,120,116,32,99,104,97,114,97,99,116,101,114,32,40>>,{code,[],[<<97>>]},<<41,46>>]}]},{dt,[],[<<65,116,32,111,102,102,115,101,116,32>>,{code,[],[<<49>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,101,97,114,99,104,32,114,101,115,117,108,116,115,32,105,110,32>>,{code,[],[<<91,123,49,44,48,125,44,123,49,44,48,125,93>>]},<<44,32,115,111,32,116,104,105,115,32,115,101,97,114,99,104,32,105,115,32,97,108,115,111,32,114,101,112,101,97,116,101,100,32,119,105,116,104,32,116,104,101,32,101,120,116,114,97,32,111,112,116,105,111,110,115,46>>]}]},{dt,[],[<<65,116,32,111,102,102,115,101,116,32>>,{code,[],[<<49>>]},<<32,119,105,116,104,32>>,{code,[],[<<91,97,110,99,104,111,114,101,100,44,32,110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116,93>>]}]},{dd,[],[{p,[],[<<65,108,116,101,114,110,97,116,105,118,101,32>>,{code,[],[<<97,98>>]},<<32,105,115,32,102,111,117,110,100,32,97,110,100,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,91,123,49,44,50,125,44,123,49,44,50,125,93,46,32,84,104,101,32,114,101,115,117,108,116,32,105,115,32,97,100,100,101,100,32,116,111,32,116,104,101,32,108,105,115,116,32,111,102,32,114,101,115,117,108,116,115,32,97,110,100,32,116,104,101,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,101,97,114,99,104,32,115,116,114,105,110,103,32,105,115,32,97,100,118,97,110,99,101,100,32,116,119,111,32,115,116,101,112,115,46>>]}]},{dt,[],[<<65,116,32,111,102,102,115,101,116,32>>,{code,[],[<<51>>]}]},{dd,[],[{p,[],[<<84,104,101,32,115,101,97,114,99,104,32,111,110,99,101,32,97,103,97,105,110,32,109,97,116,99,104,101,115,32,116,104,101,32,101,109,112,116,121,32,115,116,114,105,110,103,44,32,103,105,118,105,110,103,32>>,{code,[],[<<91,123,51,44,48,125,44,123,51,44,48,125,93>>]},<<46>>]}]},{dt,[],[<<65,116,32,111,102,102,115,101,116,32>>,{code,[],[<<49>>]},<<32,119,105,116,104,32>>,{code,[],[<<91,97,110,99,104,111,114,101,100,44,32,110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116,93>>]}]},{dd,[],[{p,[],[<<84,104,105,115,32,103,105,118,101,115,32,110,111,32,114,101,115,117,108,116,32,111,102,32,108,101,110,103,116,104,32,62,32,48,32,97,110,100,32,119,101,32,97,114,101,32,97,116,32,116,104,101,32,108,97,115,116,32,112,111,115,105,116,105,111,110,44,32,115,111,32,116,104,101,32,103,108,111,98,97,108,32,115,101,97,114,99,104,32,105,115,32,99,111,109,112,108,101,116,101,46>>]}]}]},{p,[],[<<84,104,101,32,114,101,115,117,108,116,32,111,102,32,116,104,101,32,99,97,108,108,32,105,115,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,91,123,48,44,48,125,44,123,48,44,48,125,93,44,91,123,49,44,48,125,44,123,49,44,48,125,93,44,91,123,49,44,50,125,44,123,49,44,50,125,93,44,91,123,51,44,48,125,44,123,51,44,48,125,93,93,125>>]}]}]},{dt,[],[{code,[],[<<110,111,116,101,109,112,116,121>>]}]},{dd,[],[{p,[],[<<65,110,32,101,109,112,116,121,32,115,116,114,105,110,103,32,105,115,32,110,111,116,32,99,111,110,115,105,100,101,114,101,100,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,109,97,116,99,104,32,105,102,32,116,104,105,115,32,111,112,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,46,32,73,102,32,97,108,116,101,114,110,97,116,105,118,101,115,32,105,110,32,116,104,101,32,112,97,116,116,101,114,110,32,101,120,105,115,116,44,32,116,104,101,121,32,97,114,101,32,116,114,105,101,100,46,32,73,102,32,97,108,108,32,116,104,101,32,97,108,116,101,114,110,97,116,105,118,101,115,32,109,97,116,99,104,32,116,104,101,32,101,109,112,116,121,32,115,116,114,105,110,103,44,32,116,104,101,32,101,110,116,105,114,101,32,109,97,116,99,104,32,102,97,105,108,115,46>>]},{p,[],[{em,[],[<<69,120,97,109,112,108,101,58>>]}]},{p,[],[<<73,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,112,97,116,116,101,114,110,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,97,32,115,116,114,105,110,103,32,110,111,116,32,98,101,103,105,110,110,105,110,103,32,119,105,116,104,32,34,97,34,32,111,114,32,34,98,34,44,32,105,116,32,119,111,117,108,100,32,110,111,114,109,97,108,108,121,32,109,97,116,99,104,32,116,104,101,32,101,109,112,116,121,32,115,116,114,105,110,103,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,58>>]},{pre,[],[{code,[],[<<97,63,98,63>>]}]},{p,[],[<<87,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<110,111,116,101,109,112,116,121>>]},<<44,32,116,104,105,115,32,109,97,116,99,104,32,105,115,32,105,110,118,97,108,105,100,44,32,115,111,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,115,101,97,114,99,104,101,115,32,102,117,114,116,104,101,114,32,105,110,116,111,32,116,104,101,32,115,116,114,105,110,103,32,102,111,114,32,111,99,99,117,114,114,101,110,99,101,115,32,111,102,32,34,97,34,32,111,114,32,34,98,34,46>>]}]},{dt,[],[{code,[],[<<110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116>>]}]},{dd,[],[{p,[],[<<76,105,107,101,32>>,{code,[],[<<110,111,116,101,109,112,116,121>>]},<<44,32,101,120,99,101,112,116,32,116,104,97,116,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,32,109,97,116,99,104,32,116,104,97,116,32,105,115,32,110,111,116,32,97,116,32,116,104,101,32,115,116,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,105,115,32,112,101,114,109,105,116,116,101,100,46,32,73,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,97,110,99,104,111,114,101,100,44,32,115,117,99,104,32,97,32,109,97,116,99,104,32,99,97,110,32,111,99,99,117,114,32,111,110,108,121,32,105,102,32,116,104,101,32,112,97,116,116,101,114,110,32,99,111,110,116,97,105,110,115,32,92,75,46>>]},{p,[],[<<80,101,114,108,32,104,97,115,32,110,111,32,100,105,114,101,99,116,32,101,113,117,105,118,97,108,101,110,116,32,111,102,32>>,{code,[],[<<110,111,116,101,109,112,116,121>>]},<<32,111,114,32>>,{code,[],[<<110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116>>]},<<44,32,98,117,116,32,105,116,32,100,111,101,115,32,109,97,107,101,32,97,32,115,112,101,99,105,97,108,32,99,97,115,101,32,111,102,32,97,32,112,97,116,116,101,114,110,32,109,97,116,99,104,32,111,102,32,116,104,101,32,101,109,112,116,121,32,115,116,114,105,110,103,32,119,105,116,104,105,110,32,105,116,115,32,115,112,108,105,116,40,41,32,102,117,110,99,116,105,111,110,44,32,97,110,100,32,119,104,101,110,32,117,115,105,110,103,32,109,111,100,105,102,105,101,114,32>>,{code,[],[<<47,103>>]},<<46,32,84,104,101,32,80,101,114,108,32,98,101,104,97,118,105,111,114,32,99,97,110,32,98,101,32,101,109,117,108,97,116,101,100,32,97,102,116,101,114,32,109,97,116,99,104,105,110,103,32,97,32,110,117,108,108,32,115,116,114,105,110,103,32,98,121,32,102,105,114,115,116,32,116,114,121,105,110,103,32,116,104,101,32,109,97,116,99,104,32,97,103,97,105,110,32,97,116,32,116,104,101,32,115,97,109,101,32,111,102,102,115,101,116,32,119,105,116,104,32>>,{code,[],[<<110,111,116,101,109,112,116,121,95,97,116,115,116,97,114,116>>]},<<32,97,110,100,32>>,{code,[],[<<97,110,99,104,111,114,101,100>>]},<<44,32,97,110,100,32,116,104,101,110,44,32,105,102,32,116,104,97,116,32,102,97,105,108,115,44,32,98,121,32,97,100,118,97,110,99,105,110,103,32,116,104,101,32,115,116,97,114,116,105,110,103,32,111,102,102,115,101,116,32,40,115,101,101,32,98,101,108,111,119,41,32,97,110,100,32,116,114,121,105,110,103,32,97,110,32,111,114,100,105,110,97,114,121,32,109,97,116,99,104,32,97,103,97,105,110,46>>]}]},{dt,[],[{code,[],[<<110,111,116,98,111,108>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,116,104,97,116,32,116,104,101,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,105,115,32,110,111,116,32,116,104,101,32,98,101,103,105,110,110,105,110,103,32,111,102,32,97,32,108,105,110,101,44,32,115,111,32,116,104,101,32,99,105,114,99,117,109,102,108,101,120,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,116,111,32,109,97,116,99,104,32,98,101,102,111,114,101,32,105,116,46,32,83,101,116,116,105,110,103,32,116,104,105,115,32,119,105,116,104,111,117,116,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,40,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,41,32,99,97,117,115,101,115,32,99,105,114,99,117,109,102,108,101,120,32,110,101,118,101,114,32,116,111,32,109,97,116,99,104,46,32,84,104,105,115,32,111,112,116,105,111,110,32,111,110,108,121,32,97,102,102,101,99,116,115,32,116,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,116,104,101,32,99,105,114,99,117,109,102,108,101,120,32,109,101,116,97,99,104,97,114,97,99,116,101,114,46,32,73,116,32,100,111,101,115,32,110,111,116,32,97,102,102,101,99,116,32,92,65,46>>]}]},{dt,[],[{code,[],[<<110,111,116,101,111,108>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,116,104,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,105,115,32,110,111,116,32,116,104,101,32,101,110,100,32,111,102,32,97,32,108,105,110,101,44,32,115,111,32,116,104,101,32,100,111,108,108,97,114,32,109,101,116,97,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,116,111,32,109,97,116,99,104,32,105,116,32,110,111,114,32,40,101,120,99,101,112,116,32,105,110,32,109,117,108,116,105,108,105,110,101,32,109,111,100,101,41,32,97,32,110,101,119,108,105,110,101,32,105,109,109,101,100,105,97,116,101,108,121,32,98,101,102,111,114,101,32,105,116,46,32,83,101,116,116,105,110,103,32,116,104,105,115,32,119,105,116,104,111,117,116,32>>,{code,[],[<<109,117,108,116,105,108,105,110,101>>]},<<32,40,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,41,32,99,97,117,115,101,115,32,100,111,108,108,97,114,32,110,101,118,101,114,32,116,111,32,109,97,116,99,104,46,32,84,104,105,115,32,111,112,116,105,111,110,32,97,102,102,101,99,116,115,32,111,110,108,121,32,116,104,101,32,98,101,104,97,118,105,111,114,32,111,102,32,116,104,101,32,100,111,108,108,97,114,32,109,101,116,97,99,104,97,114,97,99,116,101,114,46,32,73,116,32,100,111,101,115,32,110,111,116,32,97,102,102,101,99,116,32,92,90,32,111,114,32,92,122,46>>]}]},{dt,[],[{code,[],[<<114,101,112,111,114,116,95,101,114,114,111,114,115>>]}]},{dd,[],[{p,[],[<<71,105,118,101,115,32,98,101,116,116,101,114,32,99,111,110,116,114,111,108,32,111,102,32,116,104,101,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103,32,105,110,32>>,{code,[],[<<114,117,110,47,51>>]},<<46,32,87,104,101,110,32,115,112,101,99,105,102,105,101,100,44,32,99,111,109,112,105,108,97,116,105,111,110,32,101,114,114,111,114,115,32,40,105,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,110,111,116,32,97,108,114,101,97,100,121,32,99,111,109,112,105,108,101,100,41,32,97,110,100,32,114,117,110,116,105,109,101,32,101,114,114,111,114,115,32,97,114,101,32,101,120,112,108,105,99,105,116,108,121,32,114,101,116,117,114,110,101,100,32,97,115,32,97,110,32,101,114,114,111,114,32,116,117,112,108,101,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,112,111,115,115,105,98,108,101,32,114,117,110,116,105,109,101,32,101,114,114,111,114,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<109,97,116,99,104,95,108,105,109,105,116>>]}]},{dd,[],[{p,[],[<<84,104,101,32,80,67,82,69,32,108,105,98,114,97,114,121,32,115,101,116,115,32,97,32,108,105,109,105,116,32,111,110,32,104,111,119,32,109,97,110,121,32,116,105,109,101,115,32,116,104,101,32,105,110,116,101,114,110,97,108,32,109,97,116,99,104,32,102,117,110,99,116,105,111,110,32,99,97,110,32,98,101,32,99,97,108,108,101,100,46,32,68,101,102,97,117,108,116,115,32,116,111,32,49,48,44,48,48,48,44,48,48,48,32,105,110,32,116,104,101,32,108,105,98,114,97,114,121,32,99,111,109,112,105,108,101,100,32,102,111,114,32,69,114,108,97,110,103,46,32,73,102,32>>,{code,[],[<<123,101,114,114,111,114,44,32,109,97,116,99,104,95,108,105,109,105,116,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,44,32,116,104,101,32,101,120,101,99,117,116,105,111,110,32,111,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,104,97,115,32,114,101,97,99,104,101,100,32,116,104,105,115,32,108,105,109,105,116,46,32,84,104,105,115,32,105,115,32,110,111,114,109,97,108,108,121,32,116,111,32,98,101,32,114,101,103,97,114,100,101,100,32,97,115,32,97,32>>,{code,[],[<<110,111,109,97,116,99,104>>]},<<44,32,119,104,105,99,104,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,32,114,101,116,117,114,110,32,118,97,108,117,101,32,119,104,101,110,32,116,104,105,115,32,111,99,99,117,114,115,44,32,98,117,116,32,98,121,32,115,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<114,101,112,111,114,116,95,101,114,114,111,114,115>>]},<<44,32,121,111,117,32,97,114,101,32,105,110,102,111,114,109,101,100,32,119,104,101,110,32,116,104,101,32,109,97,116,99,104,32,102,97,105,108,115,32,98,101,99,97,117,115,101,32,111,102,32,116,111,111,32,109,97,110,121,32,105,110,116,101,114,110,97,108,32,99,97,108,108,115,46>>]}]},{dt,[],[{code,[],[<<109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110>>]}]},{dd,[],[{p,[],[<<84,104,105,115,32,101,114,114,111,114,32,105,115,32,118,101,114,121,32,115,105,109,105,108,97,114,32,116,111,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116>>]},<<44,32,98,117,116,32,111,99,99,117,114,115,32,119,104,101,110,32,116,104,101,32,105,110,116,101,114,110,97,108,32,109,97,116,99,104,32,102,117,110,99,116,105,111,110,32,111,102,32,80,67,82,69,32,105,115,32,34,114,101,99,117,114,115,105,118,101,108,121,34,32,99,97,108,108,101,100,32,109,111,114,101,32,116,105,109,101,115,32,116,104,97,110,32,116,104,101,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110>>]},<<32,108,105,109,105,116,44,32,119,104,105,99,104,32,100,101,102,97,117,108,116,115,32,116,111,32,49,48,44,48,48,48,44,48,48,48,32,97,115,32,119,101,108,108,46,32,78,111,116,105,99,101,32,116,104,97,116,32,97,115,32,108,111,110,103,32,97,115,32,116,104,101,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116>>]},<<32,97,110,100,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116,95,100,101,102,97,117,108,116>>]},<<32,118,97,108,117,101,115,32,97,114,101,32,107,101,112,116,32,97,116,32,116,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,115,44,32,116,104,101,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110>>]},<<32,101,114,114,111,114,32,99,97,110,110,111,116,32,111,99,99,117,114,44,32,97,115,32,116,104,101,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116>>]},<<32,101,114,114,111,114,32,111,99,99,117,114,115,32,98,101,102,111,114,101,32,116,104,97,116,32,40,101,97,99,104,32,114,101,99,117,114,115,105,118,101,32,99,97,108,108,32,105,115,32,97,108,115,111,32,97,32,99,97,108,108,44,32,98,117,116,32,110,111,116,32,99,111,110,118,101,114,115,101,108,121,41,46,32,66,111,116,104,32,108,105,109,105,116,115,32,99,97,110,32,104,111,119,101,118,101,114,32,98,101,32,99,104,97,110,103,101,100,44,32,101,105,116,104,101,114,32,98,121,32,115,101,116,116,105,110,103,32,108,105,109,105,116,115,32,100,105,114,101,99,116,108,121,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,115,116,114,105,110,103,32,40,115,101,101,32,115,101,99,116,105,111,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,101,103,101,120,112,95,115,121,110,116,97,120,95,100,101,116,97,105,108,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<80,67,82,69,32,82,101,103,117,108,97,114,32,69,101,120,112,114,101,115,115,105,111,110,32,68,101,116,97,105,108,115>>]},<<41,32,111,114,32,98,121,32,115,112,101,99,105,102,121,105,110,103,32,111,112,116,105,111,110,115,32,116,111,32>>,{code,[],[<<114,117,110,47,51>>]},<<46>>]}]}]},{p,[],[<<73,116,32,105,115,32,105,109,112,111,114,116,97,110,116,32,116,111,32,117,110,100,101,114,115,116,97,110,100,32,116,104,97,116,32,119,104,97,116,32,105,115,32,114,101,102,101,114,114,101,100,32,116,111,32,97,115,32,34,114,101,99,117,114,115,105,111,110,34,32,119,104,101,110,32,108,105,109,105,116,105,110,103,32,109,97,116,99,104,101,115,32,105,115,32,110,111,116,32,114,101,99,117,114,115,105,111,110,32,111,110,32,116,104,101,32,67,32,115,116,97,99,107,32,111,102,32,116,104,101,32,69,114,108,97,110,103,32,109,97,99,104,105,110,101,32,111,114,32,111,110,32,116,104,101,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,32,115,116,97,99,107,46,32,84,104,101,32,80,67,82,69,32,118,101,114,115,105,111,110,32,99,111,109,112,105,108,101,100,32,105,110,116,111,32,116,104,101,32,69,114,108,97,110,103,32,86,77,32,117,115,101,115,32,109,97,99,104,105,110,101,32,34,104,101,97,112,34,32,109,101,109,111,114,121,32,116,111,32,115,116,111,114,101,32,118,97,108,117,101,115,32,116,104,97,116,32,109,117,115,116,32,98,101,32,107,101,112,116,32,111,118,101,114,32,114,101,99,117,114,115,105,111,110,32,105,110,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,101,115,46>>]}]},{dt,[],[{code,[],[<<123,109,97,116,99,104,95,108,105,109,105,116,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{dd,[],[{p,[],[<<76,105,109,105,116,115,32,116,104,101,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,32,111,102,32,97,32,109,97,116,99,104,32,105,110,32,97,110,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,45,115,112,101,99,105,102,105,99,32,119,97,121,46,32,73,116,32,105,115,32,100,101,115,99,114,105,98,101,100,32,97,115,32,102,111,108,108,111,119,115,32,98,121,32,116,104,101,32,80,67,82,69,32,100,111,99,117,109,101,110,116,97,116,105,111,110,58>>]},{pre,[],[{code,[],[<<84,104,101,32,109,97,116,99,104,95,108,105,109,105,116,32,102,105,101,108,100,32,112,114,111,118,105,100,101,115,32,97,32,109,101,97,110,115,32,111,102,32,112,114,101,118,101,110,116,105,110,103,32,80,67,82,69,32,102,114,111,109,32,117,115,105,110,103,10,117,112,32,97,32,118,97,115,116,32,97,109,111,117,110,116,32,111,102,32,114,101,115,111,117,114,99,101,115,32,119,104,101,110,32,114,117,110,110,105,110,103,32,112,97,116,116,101,114,110,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,103,111,105,110,103,10,116,111,32,109,97,116,99,104,44,32,98,117,116,32,119,104,105,99,104,32,104,97,118,101,32,97,32,118,101,114,121,32,108,97,114,103,101,32,110,117,109,98,101,114,32,111,102,32,112,111,115,115,105,98,105,108,105,116,105,101,115,32,105,110,32,116,104,101,105,114,10,115,101,97,114,99,104,32,116,114,101,101,115,46,32,84,104,101,32,99,108,97,115,115,105,99,32,101,120,97,109,112,108,101,32,105,115,32,97,32,112,97,116,116,101,114,110,32,116,104,97,116,32,117,115,101,115,32,110,101,115,116,101,100,10,117,110,108,105,109,105,116,101,100,32,114,101,112,101,97,116,115,46,10,10,73,110,116,101,114,110,97,108,108,121,44,32,112,99,114,101,95,101,120,101,99,40,41,32,117,115,101,115,32,97,32,102,117,110,99,116,105,111,110,32,99,97,108,108,101,100,32,109,97,116,99,104,40,41,44,32,119,104,105,99,104,32,105,116,32,99,97,108,108,115,10,114,101,112,101,97,116,101,100,108,121,32,40,115,111,109,101,116,105,109,101,115,32,114,101,99,117,114,115,105,118,101,108,121,41,46,32,84,104,101,32,108,105,109,105,116,32,115,101,116,32,98,121,32,109,97,116,99,104,95,108,105,109,105,116,32,105,115,10,105,109,112,111,115,101,100,32,111,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,116,105,109,101,115,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,32,100,117,114,105,110,103,32,97,32,109,97,116,99,104,44,10,119,104,105,99,104,32,104,97,115,32,116,104,101,32,101,102,102,101,99,116,32,111,102,32,108,105,109,105,116,105,110,103,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,98,97,99,107,116,114,97,99,107,105,110,103,32,116,104,97,116,32,99,97,110,10,116,97,107,101,32,112,108,97,99,101,46,32,70,111,114,32,112,97,116,116,101,114,110,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,97,110,99,104,111,114,101,100,44,32,116,104,101,32,99,111,117,110,116,32,114,101,115,116,97,114,116,115,10,102,114,111,109,32,122,101,114,111,32,102,111,114,32,101,97,99,104,32,112,111,115,105,116,105,111,110,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46>>]}]},{p,[],[<<84,104,105,115,32,109,101,97,110,115,32,116,104,97,116,32,114,117,110,97,119,97,121,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,101,115,32,99,97,110,32,102,97,105,108,32,102,97,115,116,101,114,32,105,102,32,116,104,101,32,108,105,109,105,116,32,105,115,32,108,111,119,101,114,101,100,32,117,115,105,110,103,32,116,104,105,115,32,111,112,116,105,111,110,46,32,84,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,49,48,44,48,48,48,44,48,48,48,32,105,115,32,99,111,109,112,105,108,101,100,32,105,110,116,111,32,116,104,101,32,69,114,108,97,110,103,32,86,77,46>>]},{'div',[{class,<<110,111,116,101>>}],[{p,[],[<<84,104,105,115,32,111,112,116,105,111,110,32,100,111,101,115,32,105,110,32,110,111,32,119,97,121,32,97,102,102,101,99,116,32,116,104,101,32,101,120,101,99,117,116,105,111,110,32,111,102,32,116,104,101,32,69,114,108,97,110,103,32,86,77,32,105,110,32,116,101,114,109,115,32,111,102,32,34,108,111,110,103,32,114,117,110,110,105,110,103,32,66,73,70,115,34,46,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,97,108,119,97,121,115,32,103,105,118,101,115,32,99,111,110,116,114,111,108,32,98,97,99,107,32,116,111,32,116,104,101,32,115,99,104,101,100,117,108,101,114,32,111,102,32,69,114,108,97,110,103,32,112,114,111,99,101,115,115,101,115,32,97,116,32,105,110,116,101,114,118,97,108,115,32,116,104,97,116,32,101,110,115,117,114,101,115,32,116,104,101,32,114,101,97,108,45,116,105,109,101,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,116,104,101,32,69,114,108,97,110,103,32,115,121,115,116,101,109,46>>]}]}]},{dt,[],[{code,[],[<<123,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{dd,[],[{p,[],[<<76,105,109,105,116,115,32,116,104,101,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,32,97,110,100,32,109,101,109,111,114,121,32,99,111,110,115,117,109,112,116,105,111,110,32,111,102,32,97,32,109,97,116,99,104,32,105,110,32,97,110,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,45,115,112,101,99,105,102,105,99,32,119,97,121,44,32,118,101,114,121,32,115,105,109,105,108,97,114,32,116,111,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116>>]},<<46,32,73,116,32,105,115,32,100,101,115,99,114,105,98,101,100,32,97,115,32,102,111,108,108,111,119,115,32,98,121,32,116,104,101,32,80,67,82,69,32,100,111,99,117,109,101,110,116,97,116,105,111,110,58>>]},{pre,[],[{code,[],[<<84,104,101,32,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,32,102,105,101,108,100,32,105,115,32,115,105,109,105,108,97,114,32,116,111,32,109,97,116,99,104,95,108,105,109,105,116,44,32,98,117,116,32,105,110,115,116,101,97,100,10,111,102,32,108,105,109,105,116,105,110,103,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,116,105,109,101,115,32,116,104,97,116,32,109,97,116,99,104,40,41,32,105,115,32,99,97,108,108,101,100,44,32,105,116,10,108,105,109,105,116,115,32,116,104,101,32,100,101,112,116,104,32,111,102,32,114,101,99,117,114,115,105,111,110,46,32,84,104,101,32,114,101,99,117,114,115,105,111,110,32,100,101,112,116,104,32,105,115,32,97,32,115,109,97,108,108,101,114,32,110,117,109,98,101,114,10,116,104,97,110,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,99,97,108,108,115,44,32,98,101,99,97,117,115,101,32,110,111,116,32,97,108,108,32,99,97,108,108,115,32,116,111,32,109,97,116,99,104,40,41,32,97,114,101,10,114,101,99,117,114,115,105,118,101,46,32,84,104,105,115,32,108,105,109,105,116,32,105,115,32,111,102,32,117,115,101,32,111,110,108,121,32,105,102,32,105,116,32,105,115,32,115,101,116,32,115,109,97,108,108,101,114,32,116,104,97,110,10,109,97,116,99,104,95,108,105,109,105,116,46,10,10,76,105,109,105,116,105,110,103,32,116,104,101,32,114,101,99,117,114,115,105,111,110,32,100,101,112,116,104,32,108,105,109,105,116,115,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,109,97,99,104,105,110,101,32,115,116,97,99,107,32,116,104,97,116,10,99,97,110,32,98,101,32,117,115,101,100,44,32,111,114,44,32,119,104,101,110,32,80,67,82,69,32,104,97,115,32,98,101,101,110,32,99,111,109,112,105,108,101,100,32,116,111,32,117,115,101,32,109,101,109,111,114,121,32,111,110,32,116,104,101,32,104,101,97,112,10,105,110,115,116,101,97,100,32,111,102,32,116,104,101,32,115,116,97,99,107,44,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,104,101,97,112,32,109,101,109,111,114,121,32,116,104,97,116,32,99,97,110,32,98,101,32,117,115,101,100,46>>]}]},{p,[],[<<84,104,101,32,69,114,108,97,110,103,32,86,77,32,117,115,101,115,32,97,32,80,67,82,69,32,108,105,98,114,97,114,121,32,119,104,101,114,101,32,104,101,97,112,32,109,101,109,111,114,121,32,105,115,32,117,115,101,100,32,119,104,101,110,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,32,114,101,99,117,114,115,105,111,110,32,111,99,99,117,114,115,46,32,84,104,105,115,32,116,104,101,114,101,102,111,114,101,32,108,105,109,105,116,115,32,116,104,101,32,117,115,101,32,111,102,32,109,97,99,104,105,110,101,32,104,101,97,112,44,32,110,111,116,32,67,32,115,116,97,99,107,46>>]},{p,[],[<<83,112,101,99,105,102,121,105,110,103,32,97,32,108,111,119,101,114,32,118,97,108,117,101,32,99,97,110,32,114,101,115,117,108,116,32,105,110,32,109,97,116,99,104,101,115,32,119,105,116,104,32,100,101,101,112,32,114,101,99,117,114,115,105,111,110,32,102,97,105,108,105,110,103,44,32,119,104,101,110,32,116,104,101,121,32,115,104,111,117,108,100,32,104,97,118,101,32,109,97,116,99,104,101,100,58>>]},{pre,[],[{code,[{type,<<110,111,110,101>>}],[<<49,62,32,114,101,58,114,117,110,40,34,97,97,97,97,97,97,97,97,97,97,97,97,97,122,34,44,34,40,97,43,41,42,122,34,41,46,10,123,109,97,116,99,104,44,91,123,48,44,49,52,125,44,123,48,44,49,51,125,93,125,10,50,62,32,114,101,58,114,117,110,40,34,97,97,97,97,97,97,97,97,97,97,97,97,97,122,34,44,34,40,97,43,41,42,122,34,44,91,123,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,44,53,125,93,41,46,10,110,111,109,97,116,99,104,10,51,62,32,114,101,58,114,117,110,40,34,97,97,97,97,97,97,97,97,97,97,97,97,97,122,34,44,34,40,97,43,41,42,122,34,44,91,123,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,44,53,125,44,114,101,112,111,114,116,95,101,114,114,111,114,115,93,41,46,10,123,101,114,114,111,114,44,109,97,116,99,104,95,108,105,109,105,116,95,114,101,99,117,114,115,105,111,110,125>>]}]},{p,[],[<<84,104,105,115,32,111,112,116,105,111,110,32,97,110,100,32,111,112,116,105,111,110,32>>,{code,[],[<<109,97,116,99,104,95,108,105,109,105,116>>]},<<32,97,114,101,32,111,110,108,121,32,116,111,32,98,101,32,117,115,101,100,32,105,110,32,114,97,114,101,32,99,97,115,101,115,46,32,85,110,100,101,114,115,116,97,110,100,105,110,103,32,111,102,32,116,104,101,32,80,67,82,69,32,108,105,98,114,97,114,121,32,105,110,116,101,114,110,97,108,115,32,105,115,32,114,101,99,111,109,109,101,110,100,101,100,32,98,101,102,111,114,101,32,116,97,109,112,101,114,105,110,103,32,119,105,116,104,32,116,104,101,115,101,32,108,105,109,105,116,115,46>>]}]},{dt,[],[{code,[],[<<123,111,102,102,115,101,116,44,32,105,110,116,101,103,101,114,40,41,32,62,61,32,48,125>>]}]},{dd,[],[{p,[],[<<83,116,97,114,116,32,109,97,116,99,104,105,110,103,32,97,116,32,116,104,101,32,111,102,102,115,101,116,32,40,112,111,115,105,116,105,111,110,41,32,115,112,101,99,105,102,105,101,100,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,84,104,101,32,111,102,102,115,101,116,32,105,115,32,122,101,114,111,45,98,97,115,101,100,44,32,115,111,32,116,104,97,116,32,116,104,101,32,100,101,102,97,117,108,116,32,105,115,32>>,{code,[],[<<123,111,102,102,115,101,116,44,48,125>>]},<<32,40,97,108,108,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,41,46>>]}]},{dt,[],[{code,[],[<<123,110,101,119,108,105,110,101,44,32,78,76,83,112,101,99,125>>]}]},{dd,[],[{p,[],[<<79,118,101,114,114,105,100,101,115,32,116,104,101,32,100,101,102,97,117,108,116,32,100,101,102,105,110,105,116,105,111,110,32,111,102,32,97,32,110,101,119,108,105,110,101,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,119,104,105,99,104,32,105,115,32,76,70,32,40,65,83,67,73,73,32,49,48,41,32,105,110,32,69,114,108,97,110,103,46>>]},{dl,[],[{dt,[],[{code,[],[<<99,114>>]}]},{dd,[],[{p,[],[<<78,101,119,108,105,110,101,32,105,115,32,105,110,100,105,99,97,116,101,100,32,98,121,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,67,82,32,40,65,83,67,73,73,32,49,51,41,46>>]}]},{dt,[],[{code,[],[<<108,102>>]}]},{dd,[],[{p,[],[<<78,101,119,108,105,110,101,32,105,115,32,105,110,100,105,99,97,116,101,100,32,98,121,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,32,76,70,32,40,65,83,67,73,73,32,49,48,41,44,32,116,104,101,32,100,101,102,97,117,108,116,46>>]}]},{dt,[],[{code,[],[<<99,114,108,102>>]}]},{dd,[],[{p,[],[<<78,101,119,108,105,110,101,32,105,115,32,105,110,100,105,99,97,116,101,100,32,98,121,32,116,104,101,32,116,119,111,45,99,104,97,114,97,99,116,101,114,32,67,82,76,70,32,40,65,83,67,73,73,32,49,51,32,102,111,108,108,111,119,101,100,32,98,121,32,65,83,67,73,73,32,49,48,41,32,115,101,113,117,101,110,99,101,46>>]}]},{dt,[],[{code,[],[<<97,110,121,99,114,108,102>>]}]},{dd,[],[{p,[],[<<65,110,121,32,111,102,32,116,104,101,32,116,104,114,101,101,32,112,114,101,99,101,100,105,110,103,32,115,101,113,117,101,110,99,101,115,32,105,115,32,98,101,32,114,101,99,111,103,110,105,122,101,100,46>>]}]},{dt,[],[{code,[],[<<97,110,121>>]}]},{dd,[],[{p,[],[<<65,110,121,32,111,102,32,116,104,101,32,110,101,119,108,105,110,101,32,115,101,113,117,101,110,99,101,115,32,97,98,111,118,101,44,32,97,110,100,32,116,104,101,32,85,110,105,99,111,100,101,32,115,101,113,117,101,110,99,101,115,32,86,84,32,40,118,101,114,116,105,99,97,108,32,116,97,98,44,32,85,43,48,48,48,66,41,44,32,70,70,32,40,102,111,114,109,102,101,101,100,44,32,85,43,48,48,48,67,41,44,32,78,69,76,32,40,110,101,120,116,32,108,105,110,101,44,32,85,43,48,48,56,53,41,44,32,76,83,32,40,108,105,110,101,32,115,101,112,97,114,97,116,111,114,44,32,85,43,50,48,50,56,41,44,32,97,110,100,32,80,83,32,40,112,97,114,97,103,114,97,112,104,32,115,101,112,97,114,97,116,111,114,44,32,85,43,50,48,50,57,41,46>>]}]}]}]},{dt,[],[{code,[],[<<98,115,114,95,97,110,121,99,114,108,102>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,115,112,101,99,105,102,105,99,97,108,108,121,32,116,104,97,116,32,92,82,32,105,115,32,116,111,32,109,97,116,99,104,32,111,110,108,121,32,116,104,101,32,67,82,32,76,70,44,32,111,114,32,67,82,76,70,32,115,101,113,117,101,110,99,101,115,44,32,110,111,116,32,116,104,101,32,85,110,105,99,111,100,101,45,115,112,101,99,105,102,105,99,32,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,115,46,32,40,79,118,101,114,114,105,100,101,115,32,116,104,101,32,99,111,109,112,105,108,97,116,105,111,110,32,111,112,116,105,111,110,46,41>>]}]},{dt,[],[{code,[],[<<98,115,114,95,117,110,105,99,111,100,101>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,115,112,101,99,105,102,105,99,97,108,108,121,32,116,104,97,116,32,92,82,32,105,115,32,116,111,32,109,97,116,99,104,32,97,108,108,32,116,104,101,32,85,110,105,99,111,100,101,32,110,101,119,108,105,110,101,32,99,104,97,114,97,99,116,101,114,115,32,40,105,110,99,108,117,100,105,110,103,32,67,82,76,70,44,32,97,110,100,32,115,111,32,111,110,44,32,116,104,101,32,100,101,102,97,117,108,116,41,46,32,40,79,118,101,114,114,105,100,101,115,32,116,104,101,32,99,111,109,112,105,108,97,116,105,111,110,32,111,112,116,105,111,110,46,41>>]}]},{dt,[],[{code,[],[<<123,99,97,112,116,117,114,101,44,32,86,97,108,117,101,83,112,101,99,125>>]},<<47>>,{code,[],[<<123,99,97,112,116,117,114,101,44,32,86,97,108,117,101,83,112,101,99,44,32,84,121,112,101,125>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,119,104,105,99,104,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,97,110,100,32,105,110,32,119,104,97,116,32,102,111,114,109,97,116,46,32,66,121,32,100,101,102,97,117,108,116,44,32>>,{code,[],[<<114,117,110,47,51>>]},<<32,99,97,112,116,117,114,101,115,32,97,108,108,32,111,102,32,116,104,101,32,109,97,116,99,104,105,110,103,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,115,116,114,105,110,103,32,97,110,100,32,97,108,108,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,40,97,108,108,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,32,105,115,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,99,97,112,116,117,114,101,100,41,46,32,84,104,101,32,100,101,102,97,117,108,116,32,114,101,116,117,114,110,32,116,121,112,101,32,105,115,32,40,122,101,114,111,45,98,97,115,101,100,41,32,105,110,100,101,120,101,115,32,111,102,32,116,104,101,32,99,97,112,116,117,114,101,100,32,112,97,114,116,115,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,115,112,101,99,105,102,105,101,100,32,97,115,32>>,{code,[],[<<123,79,102,102,115,101,116,44,76,101,110,103,116,104,125>>]},<<32,112,97,105,114,115,32,40,116,104,101,32>>,{code,[],[<<105,110,100,101,120>>]},<<32>>,{code,[],[<<84,121,112,101>>]},<<32,111,102,32,99,97,112,116,117,114,105,110,103,41,46>>]},{p,[],[<<65,115,32,97,110,32,101,120,97,109,112,108,101,32,111,102,32,116,104,101,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,44,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,99,97,108,108,32,114,101,116,117,114,110,115,44,32,97,115,32,102,105,114,115,116,32,97,110,100,32,111,110,108,121,32,99,97,112,116,117,114,101,100,32,115,116,114,105,110,103,44,32,116,104,101,32,109,97,116,99,104,105,110,103,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,40,34,97,98,99,100,34,32,105,110,32,116,104,101,32,109,105,100,100,108,101,41,32,97,115,32,97,110,32,105,110,100,101,120,32,112,97,105,114,32>>,{code,[],[<<123,51,44,52,125>>]},<<44,32,119,104,101,114,101,32,99,104,97,114,97,99,116,101,114,32,112,111,115,105,116,105,111,110,115,32,97,114,101,32,122,101,114,111,45,98,97,115,101,100,44,32,106,117,115,116,32,97,115,32,105,110,32,111,102,102,115,101,116,115,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,65,66,67,97,98,99,100,65,66,67,34,44,34,97,98,99,100,34,44,91,93,41,46>>]}]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,111,102,32,116,104,105,115,32,99,97,108,108,32,105,115,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,123,51,44,52,125,93,125>>]}]},{p,[],[<<65,110,111,116,104,101,114,32,40,97,110,100,32,113,117,105,116,101,32,99,111,109,109,111,110,41,32,99,97,115,101,32,105,115,32,119,104,101,114,101,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,101,115,32,97,108,108,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,65,66,67,97,98,99,100,65,66,67,34,44,34,46,42,97,98,99,100,46,42,34,44,91,93,41,46>>]}]},{p,[],[<<72,101,114,101,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,108,121,32,112,111,105,110,116,115,32,111,117,116,32,97,108,108,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,98,101,103,105,110,110,105,110,103,32,97,116,32,105,110,100,101,120,32,48,44,32,97,110,100,32,105,116,32,105,115,32,49,48,32,99,104,97,114,97,99,116,101,114,115,32,108,111,110,103,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,123,48,44,49,48,125,93,125>>]}]},{p,[],[<<73,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,99,111,110,116,97,105,110,115,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,44,32,108,105,107,101,32,105,110,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,65,66,67,97,98,99,100,65,66,67,34,44,34,46,42,40,97,98,99,100,41,46,42,34,44,91,93,41,46>>]}]},{p,[],[<<97,108,108,32,111,102,32,116,104,101,32,109,97,116,99,104,101,100,32,115,117,98,106,101,99,116,32,105,115,32,99,97,112,116,117,114,101,100,44,32,97,115,32,119,101,108,108,32,97,115,32,116,104,101,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,123,48,44,49,48,125,44,123,51,44,52,125,93,125>>]}]},{p,[],[<<84,104,101,32,99,111,109,112,108,101,116,101,32,109,97,116,99,104,105,110,103,32,112,97,116,116,101,114,110,32,97,108,119,97,121,115,32,103,105,118,101,115,32,116,104,101,32,102,105,114,115,116,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,110,32,116,104,101,32,108,105,115,116,32,97,110,100,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,97,114,101,32,97,100,100,101,100,32,105,110,32,116,104,101,32,111,114,100,101,114,32,116,104,101,121,32,111,99,99,117,114,114,101,100,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{p,[],[<<84,104,101,32,99,97,112,116,117,114,101,32,116,117,112,108,101,32,105,115,32,98,117,105,108,116,32,117,112,32,97,115,32,102,111,108,108,111,119,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<86,97,108,117,101,83,112,101,99>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,119,104,105,99,104,32,99,97,112,116,117,114,101,100,32,40,115,117,98,41,112,97,116,116,101,114,110,115,32,97,114,101,32,116,111,32,98,101,32,114,101,116,117,114,110,101,100,46,32>>,{code,[],[<<86,97,108,117,101,83,112,101,99>>]},<<32,99,97,110,32,101,105,116,104,101,114,32,98,101,32,97,110,32,97,116,111,109,32,100,101,115,99,114,105,98,105,110,103,32,97,32,112,114,101,100,101,102,105,110,101,100,32,115,101,116,32,111,102,32,114,101,116,117,114,110,32,118,97,108,117,101,115,44,32,111,114,32,97,32,108,105,115,116,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,105,110,100,101,120,101,115,32,111,114,32,116,104,101,32,110,97,109,101,115,32,111,102,32,115,112,101,99,105,102,105,99,32,115,117,98,112,97,116,116,101,114,110,115,32,116,111,32,114,101,116,117,114,110,46>>]},{p,[],[<<84,104,101,32,102,111,108,108,111,119,105,110,103,32,97,114,101,32,116,104,101,32,112,114,101,100,101,102,105,110,101,100,32,115,101,116,115,32,111,102,32,115,117,98,112,97,116,116,101,114,110,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<97,108,108>>]}]},{dd,[],[{p,[],[<<65,108,108,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,105,110,99,108,117,100,105,110,103,32,116,104,101,32,99,111,109,112,108,101,116,101,32,109,97,116,99,104,105,110,103,32,115,116,114,105,110,103,46,32,84,104,105,115,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,46>>]}]},{dt,[],[{code,[],[<<97,108,108,95,110,97,109,101,115>>]}]},{dd,[],[{p,[],[<<65,108,108,32>>,{em,[],[<<110,97,109,101,100>>]},<<32,115,117,98,112,97,116,116,101,114,110,115,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,97,115,32,105,102,32,97,32>>,{code,[],[<<108,105,115,116,40,41>>]},<<32,111,102,32,97,108,108,32,116,104,101,32,110,97,109,101,115,32>>,{em,[],[<<105,110,32,97,108,112,104,97,98,101,116,105,99,97,108,32,111,114,100,101,114>>]},<<32,119,97,115,32,115,112,101,99,105,102,105,101,100,46,32,84,104,101,32,108,105,115,116,32,111,102,32,97,108,108,32,110,97,109,101,115,32,99,97,110,32,97,108,115,111,32,98,101,32,114,101,116,114,105,101,118,101,100,32,119,105,116,104,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,105,110,115,112,101,99,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,110,115,112,101,99,116,47,50>>]}]},<<46>>]}]},{dt,[],[{code,[],[<<102,105,114,115,116>>]}]},{dd,[],[{p,[],[<<79,110,108,121,32,116,104,101,32,102,105,114,115,116,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,44,32,119,104,105,99,104,32,105,115,32,97,108,119,97,121,115,32,116,104,101,32,99,111,109,112,108,101,116,101,32,109,97,116,99,104,105,110,103,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,46,32,65,108,108,32,101,120,112,108,105,99,105,116,108,121,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,97,114,101,32,100,105,115,99,97,114,100,101,100,46>>]}]},{dt,[],[{code,[],[<<97,108,108,95,98,117,116,95,102,105,114,115,116>>]}]},{dd,[],[{p,[],[<<65,108,108,32,98,117,116,32,116,104,101,32,102,105,114,115,116,32,109,97,116,99,104,105,110,103,32,115,117,98,112,97,116,116,101,114,110,44,32,116,104,97,116,32,105,115,44,32,97,108,108,32,101,120,112,108,105,99,105,116,108,121,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,115,44,32,98,117,116,32,110,111,116,32,116,104,101,32,99,111,109,112,108,101,116,101,32,109,97,116,99,104,105,110,103,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,46,32,84,104,105,115,32,105,115,32,117,115,101,102,117,108,32,105,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,97,115,32,97,32,119,104,111,108,101,32,109,97,116,99,104,101,115,32,97,32,108,97,114,103,101,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,44,32,98,117,116,32,116,104,101,32,112,97,114,116,32,121,111,117,32,97,114,101,32,105,110,116,101,114,101,115,116,101,100,32,105,110,32,105,115,32,105,110,32,97,110,32,101,120,112,108,105,99,105,116,108,121,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,46,32,73,102,32,116,104,101,32,114,101,116,117,114,110,32,116,121,112,101,32,105,115,32>>,{code,[],[<<108,105,115,116>>]},<<32,111,114,32>>,{code,[],[<<98,105,110,97,114,121>>]},<<44,32,110,111,116,32,114,101,116,117,114,110,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,121,111,117,32,97,114,101,32,110,111,116,32,105,110,116,101,114,101,115,116,101,100,32,105,110,32,105,115,32,97,32,103,111,111,100,32,119,97,121,32,116,111,32,111,112,116,105,109,105,122,101,46>>]}]},{dt,[],[{code,[],[<<110,111,110,101>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,110,111,32,109,97,116,99,104,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,44,32,103,105,118,101,115,32,116,104,101,32,115,105,110,103,108,101,32,97,116,111,109,32>>,{code,[],[<<109,97,116,99,104>>]},<<32,97,115,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,119,104,101,110,32,109,97,116,99,104,105,110,103,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,115,116,101,97,100,32,111,102,32,116,104,101,32>>,{code,[],[<<123,109,97,116,99,104,44,32,108,105,115,116,40,41,125>>]},<<32,114,101,116,117,114,110,46,32,83,112,101,99,105,102,121,105,110,103,32,97,110,32,101,109,112,116,121,32,108,105,115,116,32,103,105,118,101,115,32,116,104,101,32,115,97,109,101,32,98,101,104,97,118,105,111,114,46>>]}]}]},{p,[],[<<84,104,101,32,118,97,108,117,101,32,108,105,115,116,32,105,115,32,97,32,108,105,115,116,32,111,102,32,105,110,100,101,120,101,115,32,102,111,114,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,115,32,116,111,32,114,101,116,117,114,110,44,32,119,104,101,114,101,32,105,110,100,101,120,32,48,32,105,115,32,102,111,114,32,97,108,108,32,111,102,32,116,104,101,32,112,97,116,116,101,114,110,44,32,97,110,100,32,49,32,105,115,32,102,111,114,32,116,104,101,32,102,105,114,115,116,32,101,120,112,108,105,99,105,116,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,97,110,100,32,115,111,32,111,110,46,32,87,104,101,110,32,117,115,105,110,103,32,110,97,109,101,100,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,40,115,101,101,32,98,101,108,111,119,41,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,111,110,101,32,99,97,110,32,117,115,101,32>>,{code,[],[<<97,116,111,109,40,41>>]},<<115,32,111,114,32>>,{code,[],[<<115,116,114,105,110,103,40,41>>]},<<115,32,116,111,32,115,112,101,99,105,102,121,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,115,32,116,111,32,98,101,32,114,101,116,117,114,110,101,100,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,99,111,110,115,105,100,101,114,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,58>>]},{pre,[],[{code,[],[<<34,46,42,40,97,98,99,100,41,46,42,34>>]}]},{p,[],[<<109,97,116,99,104,101,100,32,97,103,97,105,110,115,116,32,115,116,114,105,110,103,32,34,65,66,67,97,98,99,100,65,66,67,34,44,32,99,97,112,116,117,114,105,110,103,32,111,110,108,121,32,116,104,101,32,34,97,98,99,100,34,32,112,97,114,116,32,40,116,104,101,32,102,105,114,115,116,32,101,120,112,108,105,99,105,116,32,115,117,98,112,97,116,116,101,114,110,41,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,65,66,67,97,98,99,100,65,66,67,34,44,34,46,42,40,97,98,99,100,41,46,42,34,44,91,123,99,97,112,116,117,114,101,44,91,49,93,125,93,41,46>>]}]},{p,[],[<<84,104,101,32,99,97,108,108,32,103,105,118,101,115,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,114,101,115,117,108,116,44,32,97,115,32,116,104,101,32,102,105,114,115,116,32,101,120,112,108,105,99,105,116,108,121,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,34,40,97,98,99,100,41,34,44,32,109,97,116,99,104,105,110,103,32,34,97,98,99,100,34,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,44,32,97,116,32,40,122,101,114,111,45,98,97,115,101,100,41,32,112,111,115,105,116,105,111,110,32,51,44,32,111,102,32,108,101,110,103,116,104,32,52,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,123,51,44,52,125,93,125>>]}]},{p,[],[<<67,111,110,115,105,100,101,114,32,116,104,101,32,115,97,109,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,98,117,116,32,119,105,116,104,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,101,120,112,108,105,99,105,116,108,121,32,110,97,109,101,100,32,39,70,79,79,39,58>>]},{pre,[],[{code,[],[<<34,46,42,40,63,60,70,79,79,62,97,98,99,100,41,46,42,34>>]}]},{p,[],[<<87,105,116,104,32,116,104,105,115,32,101,120,112,114,101,115,115,105,111,110,44,32,119,101,32,99,111,117,108,100,32,115,116,105,108,108,32,103,105,118,101,32,116,104,101,32,105,110,100,101,120,32,111,102,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,119,105,116,104,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,99,97,108,108,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,65,66,67,97,98,99,100,65,66,67,34,44,34,46,42,40,63,60,70,79,79,62,97,98,99,100,41,46,42,34,44,91,123,99,97,112,116,117,114,101,44,91,49,93,125,93,41,46>>]}]},{p,[],[<<103,105,118,105,110,103,32,116,104,101,32,115,97,109,101,32,114,101,115,117,108,116,32,97,115,32,98,101,102,111,114,101,46,32,66,117,116,44,32,97,115,32,116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,105,115,32,110,97,109,101,100,44,32,119,101,32,99,97,110,32,97,108,115,111,32,115,112,101,99,105,102,121,32,105,116,115,32,110,97,109,101,32,105,110,32,116,104,101,32,118,97,108,117,101,32,108,105,115,116,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,65,66,67,97,98,99,100,65,66,67,34,44,34,46,42,40,63,60,70,79,79,62,97,98,99,100,41,46,42,34,44,91,123,99,97,112,116,117,114,101,44,91,39,70,79,79,39,93,125,93,41,46>>]}]},{p,[],[<<84,104,105,115,32,119,111,117,108,100,32,103,105,118,101,32,116,104,101,32,115,97,109,101,32,114,101,115,117,108,116,32,97,115,32,116,104,101,32,101,97,114,108,105,101,114,32,101,120,97,109,112,108,101,115,44,32,110,97,109,101,108,121,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,123,51,44,52,125,93,125>>]}]},{p,[],[<<84,104,101,32,118,97,108,117,101,115,32,108,105,115,116,32,99,97,110,32,115,112,101,99,105,102,121,32,105,110,100,101,120,101,115,32,111,114,32,110,97,109,101,115,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,105,110,32,119,104,105,99,104,32,99,97,115,101,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,115,32,118,97,114,121,32,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,116,121,112,101,46,32,73,102,32,116,104,101,32,116,121,112,101,32,105,115,32>>,{code,[],[<<105,110,100,101,120>>]},<<44,32,116,104,101,32,116,117,112,108,101,32>>,{code,[],[<<123,45,49,44,48,125>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,102,111,114,32,118,97,108,117,101,115,32,119,105,116,104,32,110,111,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,115,117,98,112,97,116,116,101,114,110,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,98,117,116,32,102,111,114,32,116,104,101,32,111,116,104,101,114,32,116,121,112,101,115,32,40>>,{code,[],[<<98,105,110,97,114,121>>]},<<32,97,110,100,32>>,{code,[],[<<108,105,115,116>>]},<<41,44,32,116,104,101,32,118,97,108,117,101,115,32,97,114,101,32,116,104,101,32,101,109,112,116,121,32,98,105,110,97,114,121,32,111,114,32,108,105,115,116,44,32,114,101,115,112,101,99,116,105,118,101,108,121,46>>]}]},{dt,[],[{code,[],[<<84,121,112,101>>]}]},{dd,[],[{p,[],[<<79,112,116,105,111,110,97,108,108,121,32,115,112,101,99,105,102,105,101,115,32,104,111,119,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,32,97,114,101,32,116,111,32,98,101,32,114,101,116,117,114,110,101,100,46,32,73,102,32,111,109,105,116,116,101,100,44,32,116,104,101,32,100,101,102,97,117,108,116,32,111,102,32>>,{code,[],[<<105,110,100,101,120>>]},<<32,105,115,32,117,115,101,100,46>>]},{p,[],[{code,[],[<<84,121,112,101>>]},<<32,99,97,110,32,98,101,32,111,110,101,32,111,102,32,116,104,101,32,102,111,108,108,111,119,105,110,103,58>>]},{dl,[],[{dt,[],[{code,[],[<<105,110,100,101,120>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,99,97,112,116,117,114,101,100,32,115,117,98,115,116,114,105,110,103,115,32,97,115,32,112,97,105,114,115,32,111,102,32,98,121,116,101,32,105,110,100,101,120,101,115,32,105,110,116,111,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,97,110,100,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,109,97,116,99,104,105,110,103,32,115,116,114,105,110,103,32,105,110,32,116,104,101,32,115,117,98,106,101,99,116,32,40,97,115,32,105,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,119,97,115,32,102,108,97,116,116,101,110,101,100,32,119,105,116,104,32>>,{a,[{href,<<101,114,116,115,58,101,114,108,97,110,103,35,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,114,108,97,110,103,58,105,111,108,105,115,116,95,116,111,95,98,105,110,97,114,121,47,49>>]}]},<<32,111,114,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101,35,99,104,97,114,97,99,116,101,114,115,95,116,111,95,98,105,110,97,114,121,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<117,110,105,99,111,100,101,58,99,104,97,114,97,99,116,101,114,115,95,116,111,95,98,105,110,97,114,121,47,50>>]}]},<<32,98,101,102,111,114,101,32,109,97,116,99,104,105,110,103,41,46,32,78,111,116,105,99,101,32,116,104,97,116,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,114,101,115,117,108,116,115,32,105,110,32>>,{em,[],[<<98,121,116,101,45,111,114,105,101,110,116,101,100>>]},<<32,105,110,100,101,120,101,115,32,105,110,32,97,32,40,112,111,115,115,105,98,108,121,32,118,105,114,116,117,97,108,41,32>>,{em,[],[<<85,84,70,45,56,32,101,110,99,111,100,101,100>>]},<<32,98,105,110,97,114,121,46,32,65,32,98,121,116,101,32,105,110,100,101,120,32,116,117,112,108,101,32>>,{code,[],[<<123,48,44,50,125>>]},<<32,99,97,110,32,116,104,101,114,101,102,111,114,101,32,114,101,112,114,101,115,101,110,116,32,111,110,101,32,111,114,32,116,119,111,32,99,104,97,114,97,99,116,101,114,115,32,119,104,101,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,105,115,32,105,110,32,101,102,102,101,99,116,46,32,84,104,105,115,32,99,97,110,32,115,101,101,109,32,99,111,117,110,116,101,114,45,105,110,116,117,105,116,105,118,101,44,32,98,117,116,32,104,97,115,32,98,101,101,110,32,100,101,101,109,101,100,32,116,104,101,32,109,111,115,116,32,101,102,102,101,99,116,105,118,101,32,97,110,100,32,117,115,101,102,117,108,32,119,97,121,32,116,111,32,100,111,32,105,116,46,32,84,111,32,114,101,116,117,114,110,32,108,105,115,116,115,32,105,110,115,116,101,97,100,32,99,97,110,32,114,101,115,117,108,116,32,105,110,32,115,105,109,112,108,101,114,32,99,111,100,101,32,105,102,32,116,104,97,116,32,105,115,32,100,101,115,105,114,101,100,46,32,84,104,105,115,32,114,101,116,117,114,110,32,116,121,112,101,32,105,115,32,116,104,101,32,100,101,102,97,117,108,116,46>>]}]},{dt,[],[{code,[],[<<108,105,115,116>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,109,97,116,99,104,105,110,103,32,115,117,98,115,116,114,105,110,103,115,32,97,115,32,108,105,115,116,115,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,40,69,114,108,97,110,103,32>>,{code,[],[<<115,116,114,105,110,103,40,41>>]},<<115,41,46,32,73,116,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,105,115,32,117,115,101,100,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,116,104,101,32,92,67,32,115,101,113,117,101,110,99,101,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,97,32,99,97,112,116,117,114,101,100,32,115,117,98,112,97,116,116,101,114,110,32,99,97,110,32,99,111,110,116,97,105,110,32,98,121,116,101,115,32,116,104,97,116,32,97,114,101,32,110,111,116,32,118,97,108,105,100,32,85,84,70,45,56,32,40,92,67,32,109,97,116,99,104,101,115,32,98,121,116,101,115,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32,99,104,97,114,97,99,116,101,114,32,101,110,99,111,100,105,110,103,41,46,32,73,110,32,116,104,97,116,32,99,97,115,101,32,116,104,101,32>>,{code,[],[<<108,105,115,116>>]},<<32,99,97,112,116,117,114,105,110,103,32,99,97,110,32,114,101,115,117,108,116,32,105,110,32,116,104,101,32,115,97,109,101,32,116,121,112,101,115,32,111,102,32,116,117,112,108,101,115,32,116,104,97,116,32>>,{a,[{href,<<115,116,100,108,105,98,58,117,110,105,99,111,100,101,35,99,104,97,114,97,99,116,101,114,115,95,116,111,95,108,105,115,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<117,110,105,99,111,100,101,58,99,104,97,114,97,99,116,101,114,115,95,116,111,95,108,105,115,116,47,50>>]}]},<<32,99,97,110,32,114,101,116,117,114,110,44,32,110,97,109,101,108,121,32,116,104,114,101,101,45,116,117,112,108,101,115,32,119,105,116,104,32,116,97,103,32>>,{code,[],[<<105,110,99,111,109,112,108,101,116,101>>]},<<32,111,114,32>>,{code,[],[<<101,114,114,111,114>>]},<<44,32,116,104,101,32,115,117,99,99,101,115,115,102,117,108,108,121,32,99,111,110,118,101,114,116,101,100,32,99,104,97,114,97,99,116,101,114,115,32,97,110,100,32,116,104,101,32,105,110,118,97,108,105,100,32,85,84,70,45,56,32,116,97,105,108,32,111,102,32,116,104,101,32,99,111,110,118,101,114,115,105,111,110,32,97,115,32,97,32,98,105,110,97,114,121,46,32,84,104,101,32,98,101,115,116,32,115,116,114,97,116,101,103,121,32,105,115,32,116,111,32,97,118,111,105,100,32,117,115,105,110,103,32,116,104,101,32,92,67,32,115,101,113,117,101,110,99,101,32,119,104,101,110,32,99,97,112,116,117,114,105,110,103,32,108,105,115,116,115,46>>]}]},{dt,[],[{code,[],[<<98,105,110,97,114,121>>]}]},{dd,[],[{p,[],[<<82,101,116,117,114,110,115,32,109,97,116,99,104,105,110,103,32,115,117,98,115,116,114,105,110,103,115,32,97,115,32,98,105,110,97,114,105,101,115,46,32,73,102,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,105,115,32,117,115,101,100,44,32,116,104,101,115,101,32,98,105,110,97,114,105,101,115,32,97,114,101,32,105,110,32,85,84,70,45,56,46,32,73,102,32,116,104,101,32,92,67,32,115,101,113,117,101,110,99,101,32,105,115,32,117,115,101,100,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<44,32,116,104,101,32,98,105,110,97,114,105,101,115,32,99,97,110,32,98,101,32,105,110,118,97,108,105,100,32,85,84,70,45,56,46>>]}]}]}]}]},{p,[],[<<73,110,32,103,101,110,101,114,97,108,44,32,115,117,98,112,97,116,116,101,114,110,115,32,116,104,97,116,32,119,101,114,101,32,110,111,116,32,97,115,115,105,103,110,101,100,32,97,32,118,97,108,117,101,32,105,110,32,116,104,101,32,109,97,116,99,104,32,97,114,101,32,114,101,116,117,114,110,101,100,32,97,115,32,116,104,101,32,116,117,112,108,101,32>>,{code,[],[<<123,45,49,44,48,125>>]},<<32,119,104,101,110,32>>,{code,[],[<<116,121,112,101>>]},<<32,105,115,32>>,{code,[],[<<105,110,100,101,120>>]},<<46,32,85,110,97,115,115,105,103,110,101,100,32,115,117,98,112,97,116,116,101,114,110,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,97,115,32,116,104,101,32,101,109,112,116,121,32,98,105,110,97,114,121,32,111,114,32,108,105,115,116,44,32,114,101,115,112,101,99,116,105,118,101,108,121,44,32,102,111,114,32,111,116,104,101,114,32,114,101,116,117,114,110,32,116,121,112,101,115,46,32,67,111,110,115,105,100,101,114,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,58>>]},{pre,[],[{code,[],[<<34,46,42,40,40,63,60,70,79,79,62,97,98,100,100,41,124,97,40,46,46,100,41,41,46,42,34>>]}]},{p,[],[<<84,104,101,114,101,32,97,114,101,32,116,104,114,101,101,32,101,120,112,108,105,99,105,116,108,121,32,99,97,112,116,117,114,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,44,32,119,104,101,114,101,32,116,104,101,32,111,112,101,110,105,110,103,32,112,97,114,101,110,116,104,101,115,105,115,32,112,111,115,105,116,105,111,110,32,100,101,116,101,114,109,105,110,101,115,32,116,104,101,32,111,114,100,101,114,32,105,110,32,116,104,101,32,114,101,115,117,108,116,44,32,104,101,110,99,101,32>>,{code,[],[<<40,40,63,60,70,79,79,62,97,98,100,100,41,124,97,40,46,46,100,41,41>>]},<<32,105,115,32,115,117,98,112,97,116,116,101,114,110,32,105,110,100,101,120,32,49,44,32>>,{code,[],[<<40,63,60,70,79,79,62,97,98,100,100,41>>]},<<32,105,115,32,115,117,98,112,97,116,116,101,114,110,32,105,110,100,101,120,32,50,44,32,97,110,100,32>>,{code,[],[<<40,46,46,100,41>>]},<<32,105,115,32,115,117,98,112,97,116,116,101,114,110,32,105,110,100,101,120,32,51,46,32,87,104,101,110,32,109,97,116,99,104,101,100,32,97,103,97,105,110,115,116,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,115,116,114,105,110,103,58>>]},{pre,[],[{code,[],[<<34,65,66,67,97,98,99,100,65,66,67,34>>]}]},{p,[],[<<116,104,101,32,115,117,98,112,97,116,116,101,114,110,32,97,116,32,105,110,100,101,120,32,50,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,44,32,97,115,32,34,97,98,100,100,34,32,105,115,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,116,104,101,32,115,116,114,105,110,103,44,32,98,117,116,32,116,104,101,32,99,111,109,112,108,101,116,101,32,112,97,116,116,101,114,110,32,109,97,116,99,104,101,115,32,40,98,101,99,97,117,115,101,32,111,102,32,116,104,101,32,97,108,116,101,114,110,97,116,105,118,101,32>>,{code,[],[<<97,40,46,46,100,41>>]},<<41,46,32,84,104,101,32,115,117,98,112,97,116,116,101,114,110,32,97,116,32,105,110,100,101,120,32,50,32,105,115,32,116,104,101,114,101,102,111,114,101,32,117,110,97,115,115,105,103,110,101,100,32,97,110,100,32,116,104,101,32,100,101,102,97,117,108,116,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,123,48,44,49,48,125,44,123,51,44,52,125,44,123,45,49,44,48,125,44,123,52,44,51,125,93,125>>]}]},{p,[],[<<83,101,116,116,105,110,103,32,116,104,101,32,99,97,112,116,117,114,101,32>>,{code,[],[<<84,121,112,101>>]},<<32,116,111,32>>,{code,[],[<<98,105,110,97,114,121>>]},<<32,103,105,118,101,115,58>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,60,60,34,65,66,67,97,98,99,100,65,66,67,34,62,62,44,60,60,34,97,98,99,100,34,62,62,44,60,60,62,62,44,60,60,34,98,99,100,34,62,62,93,125>>]}]},{p,[],[<<72,101,114,101,32,116,104,101,32,101,109,112,116,121,32,98,105,110,97,114,121,32,40>>,{code,[],[<<60,60,62,62>>]},<<41,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,117,110,97,115,115,105,103,110,101,100,32,115,117,98,112,97,116,116,101,114,110,46,32,73,110,32,116,104,101,32>>,{code,[],[<<98,105,110,97,114,121>>]},<<32,99,97,115,101,44,32,115,111,109,101,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32,109,97,116,99,104,105,110,103,32,105,115,32,116,104,101,114,101,102,111,114,101,32,108,111,115,116,44,32,97,115,32>>,{code,[],[<<60,60,62,62>>]},<<32,99,97,110,32,97,108,115,111,32,98,101,32,97,110,32,101,109,112,116,121,32,115,116,114,105,110,103,32,99,97,112,116,117,114,101,100,46>>]},{p,[],[<<73,102,32,100,105,102,102,101,114,101,110,116,105,97,116,105,111,110,32,98,101,116,119,101,101,110,32,101,109,112,116,121,32,109,97,116,99,104,101,115,32,97,110,100,32,110,111,110,45,101,120,105,115,116,105,110,103,32,115,117,98,112,97,116,116,101,114,110,115,32,105,115,32,110,101,99,101,115,115,97,114,121,44,32,117,115,101,32,116,104,101,32>>,{code,[],[<<116,121,112,101>>]},<<32>>,{code,[],[<<105,110,100,101,120>>]},<<32,97,110,100,32,100,111,32,116,104,101,32,99,111,110,118,101,114,115,105,111,110,32,116,111,32,116,104,101,32,102,105,110,97,108,32,116,121,112,101,32,105,110,32,69,114,108,97,110,103,32,99,111,100,101,46>>]},{p,[],[<<87,104,101,110,32,111,112,116,105,111,110,32>>,{code,[],[<<103,108,111,98,97,108>>]},<<32,105,115,32,115,112,101,99,105,105,102,105,101,100,44,32,116,104,101,32>>,{code,[],[<<99,97,112,116,117,114,101>>]},<<32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,97,102,102,101,99,116,115,32,101,97,99,104,32,109,97,116,99,104,32,115,101,112,97,114,97,116,101,108,121,44,32,115,111,32,116,104,97,116,58>>]},{pre,[],[{code,[],[<<114,101,58,114,117,110,40,34,99,97,99,98,34,44,34,99,40,97,124,98,41,34,44,91,103,108,111,98,97,108,44,123,99,97,112,116,117,114,101,44,91,49,93,44,108,105,115,116,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<123,109,97,116,99,104,44,91,91,34,97,34,93,44,91,34,98,34,93,93,125>>]}]}]}]},{p,[],[<<70,111,114,32,97,32,100,101,115,99,114,105,112,116,105,111,110,115,32,111,102,32,111,112,116,105,111,110,115,32,111,110,108,121,32,97,102,102,101,99,116,105,110,103,32,116,104,101,32,99,111,109,112,105,108,97,116,105,111,110,32,115,116,101,112,44,32,115,101,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,99,111,109,112,105,108,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<99,111,109,112,105,108,101,47,50>>]}]},<<46>>]}]},#{signature => [{attribute,{78,2},spec,{{run,3},[{type,{78,10},bounded_fun,[{type,{78,10},'fun',[{type,{78,10},product,[{var,{78,11},'Subject'},{var,{78,20},'RE'},{var,{78,24},'Options'}]},{type,{78,36},union,[{type,{78,36},tuple,[{atom,{78,37},match},{var,{78,44},'Captured'}]},{atom,{79,36},match},{atom,{80,36},nomatch},{type,{81,8},tuple,[{atom,{81,9},error},{var,{81,16},'ErrType'}]}]}]},[{type,{82,7},constraint,[{atom,{82,7},is_subtype},[{var,{82,7},'Subject'},{type,{82,18},union,[{type,{82,18},iodata,[]},{remote_type,{82,29},[{atom,{82,29},unicode},{atom,{82,37},charlist},[]]}]}]]},{type,{83,7},constraint,[{atom,{83,7},is_subtype},[{var,{83,7},'RE'},{type,{83,13},union,[{user_type,{83,13},mp,[]},{type,{83,20},iodata,[]},{remote_type,{83,31},[{atom,{83,31},unicode},{atom,{83,39},charlist},[]]}]}]]},{type,{84,7},constraint,[{atom,{84,7},is_subtype},[{var,{84,7},'Options'},{type,{84,18},list,[{var,{84,19},'Option'}]}]]},{type,{85,7},constraint,[{atom,{85,7},is_subtype},[{var,{85,7},'Option'},{type,{85,17},union,[{atom,{85,17},anchored},{atom,{85,28},global},{atom,{85,37},notbol},{atom,{85,46},noteol},{atom,{85,55},notempty},{atom,{86,10},notempty_atstart},{atom,{86,29},report_errors},{type,{87,17},tuple,[{atom,{87,18},offset},{type,{87,26},non_neg_integer,[]}]},{type,{88,3},tuple,[{atom,{88,4},match_limit},{type,{88,17},non_neg_integer,[]}]},{type,{89,3},tuple,[{atom,{89,4},match_limit_recursion},{type,{89,27},non_neg_integer,[]}]},{type,{90,17},tuple,[{atom,{90,18},newline},{ann_type,{90,27},[{var,{90,27},'NLSpec'},{user_type,{90,37},nl_spec,[]}]}]},{atom,{91,17},bsr_anycrlf},{atom,{91,31},bsr_unicode},{type,{91,45},tuple,[{atom,{91,46},capture},{var,{91,55},'ValueSpec'}]},{type,{92,17},tuple,[{atom,{92,18},capture},{var,{92,27},'ValueSpec'},{var,{92,38},'Type'}]},{var,{92,46},'CompileOpt'}]}]]},{type,{93,7},constraint,[{atom,{93,7},is_subtype},[{var,{93,7},'Type'},{type,{93,15},union,[{atom,{93,15},index},{atom,{93,23},list},{atom,{93,30},binary}]}]]},{type,{94,7},constraint,[{atom,{94,7},is_subtype},[{var,{94,7},'ValueSpec'},{type,{94,20},union,[{atom,{94,20},all},{atom,{94,26},all_but_first},{atom,{94,42},all_names},{atom,{94,54},first},{atom,{94,62},none},{var,{94,69},'ValueList'}]}]]},{type,{95,7},constraint,[{atom,{95,7},is_subtype},[{var,{95,7},'ValueList'},{type,{95,20},list,[{var,{95,21},'ValueID'}]}]]},{type,{96,7},constraint,[{atom,{96,7},is_subtype},[{var,{96,7},'ValueID'},{type,{96,18},union,[{type,{96,18},integer,[]},{type,{96,30},string,[]},{type,{96,41},atom,[]}]}]]},{type,{97,7},constraint,[{atom,{97,7},is_subtype},[{var,{97,7},'CompileOpt'},{user_type,{97,21},compile_option,[]}]]},{type,{98,7},constraint,[{atom,{98,7},is_subtype},[{var,{98,7},'Captured'},{type,{98,19},union,[{type,{98,19},list,[{var,{98,20},'CaptureData'}]},{type,{98,35},list,[{type,{98,36},list,[{var,{98,37},'CaptureData'}]}]}]}]]},{type,{99,7},constraint,[{atom,{99,7},is_subtype},[{var,{99,7},'CaptureData'},{type,{99,22},union,[{type,{99,22},tuple,[{type,{99,23},integer,[]},{type,{99,34},integer,[]}]},{var,{100,22},'ListConversionData'},{type,{101,22},binary,[]}]}]]},{type,{102,7},constraint,[{atom,{102,7},is_subtype},[{var,{102,7},'ListConversionData'},{type,{102,29},union,[{type,{102,29},string,[]},{type,{103,29},tuple,[{atom,{103,30},error},{type,{103,37},string,[]},{type,{103,47},binary,[]}]},{type,{104,29},tuple,[{atom,{104,30},incomplete},{type,{104,42},string,[]},{type,{104,52},binary,[]}]}]}]]},{type,{105,7},constraint,[{atom,{105,7},is_subtype},[{var,{105,7},'ErrType'},{type,{105,18},union,[{atom,{105,18},match_limit},{atom,{105,32},match_limit_recursion},{type,{105,56},tuple,[{atom,{105,57},compile},{var,{105,67},'CompileErr'}]}]}]]},{type,{106,7},constraint,[{atom,{106,7},is_subtype},[{var,{106,7},'CompileErr'},{type,{106,21},tuple,[{ann_type,{106,22},[{var,{106,22},'ErrString'},{type,{106,35},string,[]}]},{ann_type,{106,45},[{var,{106,45},'Position'},{type,{106,57},non_neg_integer,[]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,52,53,49>>}},{{function,split,2},[{file,[114,101,46,101,114,108]},{location,155}],[<<115,112,108,105,116,47,50>>],#{<<101,110>> => [{p,[],[<<83,97,109,101,32,97,115,32>>,{code,[],[<<115,112,108,105,116,40,83,117,98,106,101,99,116,44,32,82,69,44,32,91,93,41>>]},<<46>>]}]},#{signature => [{attribute,{155,2},spec,{{split,2},[{type,{155,12},bounded_fun,[{type,{155,12},'fun',[{type,{155,12},product,[{var,{155,13},'Subject'},{var,{155,22},'RE'}]},{var,{155,29},'SplitList'}]},[{type,{156,7},constraint,[{atom,{156,7},is_subtype},[{var,{156,7},'Subject'},{type,{156,18},union,[{type,{156,18},iodata,[]},{remote_type,{156,29},[{atom,{156,29},unicode},{atom,{156,37},charlist},[]]}]}]]},{type,{157,7},constraint,[{atom,{157,7},is_subtype},[{var,{157,7},'RE'},{type,{157,13},union,[{user_type,{157,13},mp,[]},{type,{157,20},iodata,[]}]}]]},{type,{158,7},constraint,[{atom,{158,7},is_subtype},[{var,{158,7},'SplitList'},{type,{158,20},list,[{type,{158,21},union,[{type,{158,21},iodata,[]},{remote_type,{158,32},[{atom,{158,32},unicode},{atom,{158,40},charlist},[]]}]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,49,48,50,54>>}},{{function,split,3},[{file,[114,101,46,101,114,108]},{location,168}],[<<115,112,108,105,116,47,51>>],#{<<101,110>> => [{p,[],[<<83,112,108,105,116,115,32,116,104,101,32,105,110,112,117,116,32,105,110,116,111,32,112,97,114,116,115,32,98,121,32,102,105,110,100,105,110,103,32,116,111,107,101,110,115,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,115,117,112,112,108,105,101,100,46,32,84,104,101,32,115,112,108,105,116,116,105,110,103,32,105,115,32,98,97,115,105,99,97,108,108,121,32,100,111,110,101,32,98,121,32,114,117,110,110,105,110,103,32,97,32,103,108,111,98,97,108,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,32,97,110,100,32,100,105,118,105,100,105,110,103,32,116,104,101,32,105,110,105,116,105,97,108,32,115,116,114,105,110,103,32,119,104,101,114,101,118,101,114,32,97,32,109,97,116,99,104,32,111,99,99,117,114,115,46,32,84,104,101,32,109,97,116,99,104,105,110,103,32,112,97,114,116,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,105,115,32,114,101,109,111,118,101,100,32,102,114,111,109,32,116,104,101,32,111,117,116,112,117,116,46>>]},{p,[],[<<65,115,32,105,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,114,101,35,114,117,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,117,110,47,51>>]}]},<<44,32,97,110,32>>,{code,[],[<<109,112,40,41>>]},<<32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,111,112,116,105,111,110,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,114,101,113,117,105,114,101,115,32>>,{code,[],[<<83,117,98,106,101,99,116>>]},<<32,116,111,32,98,101,32,97,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<46,32,73,102,32,99,111,109,112,105,108,97,116,105,111,110,32,105,115,32,100,111,110,101,32,105,109,112,108,105,99,105,116,108,121,32,97,110,100,32,116,104,101,32>>,{code,[],[<<117,110,105,99,111,100,101>>]},<<32,99,111,109,112,105,108,97,116,105,111,110,32,111,112,116,105,111,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,116,111,32,116,104,105,115,32,102,117,110,99,116,105,111,110,44,32,98,111,116,104,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,97,110,100,32>>,{code,[],[<<83,117,98,106,101,99,116>>]},<<32,97,114,101,32,116,111,32,98,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,118,97,108,105,100,32,85,110,105,99,111,100,101,32>>,{code,[],[<<99,104,97,114,108,105,115,116,40,41>>]},<<115,46>>]},{p,[],[<<84,104,101,32,114,101,115,117,108,116,32,105,115,32,103,105,118,101,110,32,97,115,32,97,32,108,105,115,116,32,111,102,32,34,115,116,114,105,110,103,115,34,44,32,116,104,101,32,112,114,101,102,101,114,114,101,100,32,100,97,116,97,32,116,121,112,101,32,115,112,101,99,105,102,105,101,100,32,105,110,32,111,112,116,105,111,110,32>>,{code,[],[<<114,101,116,117,114,110>>]},<<32,40,100,101,102,97,117,108,116,32>>,{code,[],[<<105,111,100,97,116,97>>]},<<41,46>>]},{p,[],[<<73,102,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,97,114,101,32,115,112,101,99,105,102,105,101,100,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,44,32,116,104,101,32,109,97,116,99,104,105,110,103,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,97,114,101,32,114,101,116,117,114,110,101,100,32,105,110,32,116,104,101,32,114,101,115,117,108,116,105,110,103,32,108,105,115,116,32,97,115,32,119,101,108,108,46,32,70,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<114,101,58,115,112,108,105,116,40,34,69,114,108,97,110,103,34,44,34,91,108,110,93,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<91,34,69,114,34,44,34,97,34,44,34,103,34,93>>]}]},{p,[],[<<119,104,105,108,101>>]},{pre,[],[{code,[],[<<114,101,58,115,112,108,105,116,40,34,69,114,108,97,110,103,34,44,34,40,91,108,110,93,41,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<91,34,69,114,34,44,34,108,34,44,34,97,34,44,34,110,34,44,34,103,34,93>>]}]},{p,[],[<<84,104,101,32,116,101,120,116,32,109,97,116,99,104,105,110,103,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,40,109,97,114,107,101,100,32,98,121,32,116,104,101,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,41,32,105,115,32,105,110,115,101,114,116,101,100,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,108,105,115,116,32,119,104,101,114,101,32,105,116,32,119,97,115,32,102,111,117,110,100,46,32,84,104,105,115,32,109,101,97,110,115,32,116,104,97,116,32,99,111,110,99,97,116,101,110,97,116,105,110,103,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,32,115,112,108,105,116,32,119,104,101,114,101,32,116,104,101,32,119,104,111,108,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,105,115,32,97,32,115,105,110,103,108,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,40,97,115,32,105,110,32,116,104,101,32,108,97,115,116,32,101,120,97,109,112,108,101,41,32,97,108,119,97,121,115,32,114,101,115,117,108,116,115,32,105,110,32,116,104,101,32,111,114,105,103,105,110,97,108,32,115,116,114,105,110,103,46>>]},{p,[],[<<65,115,32,116,104,101,114,101,32,105,115,32,110,111,32,109,97,116,99,104,105,110,103,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,102,111,114,32,116,104,101,32,108,97,115,116,32,112,97,114,116,32,105,110,32,116,104,101,32,101,120,97,109,112,108,101,32,40,116,104,101,32,34,103,34,41,44,32,110,111,116,104,105,110,103,32,105,115,32,105,110,115,101,114,116,101,100,32,97,102,116,101,114,32,116,104,97,116,46,32,84,111,32,109,97,107,101,32,116,104,101,32,103,114,111,117,112,32,111,102,32,115,116,114,105,110,103,115,32,97,110,100,32,116,104,101,32,112,97,114,116,115,32,109,97,116,99,104,105,110,103,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,109,111,114,101,32,111,98,118,105,111,117,115,44,32,111,110,101,32,99,97,110,32,117,115,101,32,111,112,116,105,111,110,32>>,{code,[],[<<103,114,111,117,112>>]},<<44,32,119,104,105,99,104,32,103,114,111,117,112,115,32,116,111,103,101,116,104,101,114,32,116,104,101,32,112,97,114,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,119,105,116,104,32,116,104,101,32,112,97,114,116,115,32,109,97,116,99,104,105,110,103,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,119,104,101,110,32,116,104,101,32,115,116,114,105,110,103,32,119,97,115,32,115,112,108,105,116,58>>]},{pre,[],[{code,[],[<<114,101,58,115,112,108,105,116,40,34,69,114,108,97,110,103,34,44,34,40,91,108,110,93,41,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,44,103,114,111,117,112,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<91,91,34,69,114,34,44,34,108,34,93,44,91,34,97,34,44,34,110,34,93,44,91,34,103,34,93,93>>]}]},{p,[],[<<72,101,114,101,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,102,105,114,115,116,32,109,97,116,99,104,101,100,32,116,104,101,32,34,108,34,44,32,99,97,117,115,105,110,103,32,34,69,114,34,32,116,111,32,98,101,32,116,104,101,32,102,105,114,115,116,32,112,97,114,116,32,105,110,32,116,104,101,32,114,101,115,117,108,116,46,32,87,104,101,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,109,97,116,99,104,101,100,44,32,116,104,101,32,40,111,110,108,121,41,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,119,97,115,32,98,111,117,110,100,32,116,111,32,116,104,101,32,34,108,34,44,32,115,111,32,116,104,101,32,34,108,34,32,105,115,32,105,110,115,101,114,116,101,100,32,105,110,32,116,104,101,32,103,114,111,117,112,32,116,111,103,101,116,104,101,114,32,119,105,116,104,32,34,69,114,34,46,32,84,104,101,32,110,101,120,116,32,109,97,116,99,104,32,105,115,32,111,102,32,116,104,101,32,34,110,34,44,32,109,97,107,105,110,103,32,34,97,34,32,116,104,101,32,110,101,120,116,32,112,97,114,116,32,116,111,32,98,101,32,114,101,116,117,114,110,101,100,46,32,65,115,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,32,105,115,32,98,111,117,110,100,32,116,111,32,115,117,98,115,116,114,105,110,103,32,34,110,34,32,105,110,32,116,104,105,115,32,99,97,115,101,44,32,116,104,101,32,34,110,34,32,105,115,32,105,110,115,101,114,116,101,100,32,105,110,116,111,32,116,104,105,115,32,103,114,111,117,112,46,32,84,104,101,32,108,97,115,116,32,103,114,111,117,112,32,99,111,110,115,105,115,116,115,32,111,102,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,115,116,114,105,110,103,44,32,97,115,32,110,111,32,109,111,114,101,32,109,97,116,99,104,101,115,32,97,114,101,32,102,111,117,110,100,46>>]},{p,[],[<<66,121,32,100,101,102,97,117,108,116,44,32,97,108,108,32,112,97,114,116,115,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,105,110,99,108,117,100,105,110,103,32,116,104,101,32,101,109,112,116,121,32,115,116,114,105,110,103,115,44,32,97,114,101,32,114,101,116,117,114,110,101,100,32,102,114,111,109,32,116,104,101,32,102,117,110,99,116,105,111,110,44,32,102,111,114,32,101,120,97,109,112,108,101,58>>]},{pre,[],[{code,[],[<<114,101,58,115,112,108,105,116,40,34,69,114,108,97,110,103,34,44,34,91,108,103,93,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<91,34,69,114,34,44,34,97,110,34,44,91,93,93>>]}]},{p,[],[<<97,115,32,116,104,101,32,109,97,116,99,104,105,110,103,32,111,102,32,116,104,101,32,34,103,34,32,105,110,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,108,101,97,118,101,115,32,97,110,32,101,109,112,116,121,32,114,101,115,116,44,32,119,104,105,99,104,32,105,115,32,97,108,115,111,32,114,101,116,117,114,110,101,100,46,32,84,104,105,115,32,98,101,104,97,118,105,111,114,32,100,105,102,102,101,114,115,32,102,114,111,109,32,116,104,101,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,32,111,102,32,116,104,101,32,115,112,108,105,116,32,102,117,110,99,116,105,111,110,32,105,110,32,80,101,114,108,44,32,119,104,101,114,101,32,101,109,112,116,121,32,115,116,114,105,110,103,115,32,97,116,32,116,104,101,32,101,110,100,32,97,114,101,32,98,121,32,100,101,102,97,117,108,116,32,114,101,109,111,118,101,100,46,32,84,111,32,103,101,116,32,116,104,101,32,34,116,114,105,109,109,105,110,103,34,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,32,111,102,32,80,101,114,108,44,32,115,112,101,99,105,102,121,32>>,{code,[],[<<116,114,105,109>>]},<<32,97,115,32,97,110,32,111,112,116,105,111,110,58>>]},{pre,[],[{code,[],[<<114,101,58,115,112,108,105,116,40,34,69,114,108,97,110,103,34,44,34,91,108,103,93,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,44,116,114,105,109,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<91,34,69,114,34,44,34,97,110,34,93>>]}]},{p,[],[<<84,104,101,32,34,116,114,105,109,34,32,111,112,116,105,111,110,32,115,97,121,115,59,32,34,103,105,118,101,32,109,101,32,97,115,32,109,97,110,121,32,112,97,114,116,115,32,97,115,32,112,111,115,115,105,98,108,101,32,101,120,99,101,112,116,32,116,104,101,32,101,109,112,116,121,32,111,110,101,115,34,44,32,119,104,105,99,104,32,115,111,109,101,116,105,109,101,115,32,99,97,110,32,98,101,32,117,115,101,102,117,108,46,32,89,111,117,32,99,97,110,32,97,108,115,111,32,115,112,101,99,105,102,121,32,104,111,119,32,109,97,110,121,32,112,97,114,116,115,32,121,111,117,32,119,97,110,116,44,32,98,121,32,115,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<123,112,97,114,116,115,44>>]},<<78>>,{code,[],[<<125>>]},<<58>>]},{pre,[],[{code,[],[<<114,101,58,115,112,108,105,116,40,34,69,114,108,97,110,103,34,44,34,91,108,103,93,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,44,123,112,97,114,116,115,44,50,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115>>]},{pre,[],[{code,[],[<<91,34,69,114,34,44,34,97,110,103,34,93>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32,116,104,101,32,108,97,115,116,32,112,97,114,116,32,105,115,32,34,97,110,103,34,44,32,110,111,116,32,34,97,110,34,44,32,97,115,32,115,112,108,105,116,116,105,110,103,32,119,97,115,32,115,112,101,99,105,102,105,101,100,32,105,110,116,111,32,116,119,111,32,112,97,114,116,115,44,32,97,110,100,32,116,104,101,32,115,112,108,105,116,116,105,110,103,32,115,116,111,112,115,32,119,104,101,110,32,101,110,111,117,103,104,32,112,97,114,116,115,32,97,114,101,32,103,105,118,101,110,44,32,119,104,105,99,104,32,105,115,32,119,104,121,32,116,104,101,32,114,101,115,117,108,116,32,100,105,102,102,101,114,115,32,102,114,111,109,32,116,104,97,116,32,111,102,32>>,{code,[],[<<116,114,105,109>>]},<<46>>]},{p,[],[<<77,111,114,101,32,116,104,97,110,32,116,104,114,101,101,32,112,97,114,116,115,32,97,114,101,32,110,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,32,116,104,105,115,32,105,110,100,97,116,97,44,32,115,111>>]},{pre,[],[{code,[],[<<114,101,58,115,112,108,105,116,40,34,69,114,108,97,110,103,34,44,34,91,108,103,93,34,44,91,123,114,101,116,117,114,110,44,108,105,115,116,125,44,123,112,97,114,116,115,44,52,125,93,41,46>>]}]},{p,[],[<<103,105,118,101,115,32,116,104,101,32,115,97,109,101,32,114,101,115,117,108,116,32,97,115,32,116,104,101,32,100,101,102,97,117,108,116,44,32,119,104,105,99,104,32,105,115,32,116,111,32,98,101,32,118,105,101,119,101,100,32,97,115,32,34,97,110,32,105,110,102,105,110,105,116,101,32,110,117,109,98,101,114,32,111,102,32,112,97,114,116,115,34,46>>]},{p,[],[<<83,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<48>>]},<<32,97,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,112,97,114,116,115,32,103,105,118,101,115,32,116,104,101,32,115,97,109,101,32,101,102,102,101,99,116,32,97,115,32,111,112,116,105,111,110,32>>,{code,[],[<<116,114,105,109>>]},<<46,32,73,102,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,97,114,101,32,99,97,112,116,117,114,101,100,44,32,101,109,112,116,121,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,109,97,116,99,104,101,100,32,97,116,32,116,104,101,32,101,110,100,32,97,114,101,32,97,108,115,111,32,115,116,114,105,112,112,101,100,32,102,114,111,109,32,116,104,101,32,114,101,115,117,108,116,32,105,102,32>>,{code,[],[<<116,114,105,109>>]},<<32,111,114,32>>,{code,[],[<<123,112,97,114,116,115,44,48,125>>]},<<32,105,115,32,115,112,101,99,105,102,105,101,100,46>>]},{p,[],[<<84,104,101,32>>,{code,[],[<<116,114,105,109>>]},<<32,98,101,104,97,118,105,111,114,32,99,111,114,114,101,115,112,111,110,100,115,32,101,120,97,99,116,108,121,32,116,111,32,116,104,101,32,80,101,114,108,32,100,101,102,97,117,108,116,46,32>>,{code,[],[<<123,112,97,114,116,115,44,78,125>>]},<<44,32,119,104,101,114,101,32,78,32,105,115,32,97,32,112,111,115,105,116,105,118,101,32,105,110,116,101,103,101,114,44,32,99,111,114,114,101,115,112,111,110,100,115,32,101,120,97,99,116,108,121,32,116,111,32,116,104,101,32,80,101,114,108,32,98,101,104,97,118,105,111,114,32,119,105,116,104,32,97,32,112,111,115,105,116,105,118,101,32,110,117,109,101,114,105,99,97,108,32,116,104,105,114,100,32,112,97,114,97,109,101,116,101,114,46,32,84,104,101,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,32,111,102,32>>,{code,[],[<<115,112,108,105,116,47,51>>]},<<32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,80,101,114,108,32,98,101,104,97,118,105,111,114,32,119,104,101,110,32,97,32,110,101,103,97,116,105,118,101,32,105,110,116,101,103,101,114,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,116,104,101,32,116,104,105,114,100,32,112,97,114,97,109,101,116,101,114,32,102,111,114,32,116,104,101,32,80,101,114,108,32,114,111,117,116,105,110,101,46>>]},{p,[],[<<83,117,109,109,97,114,121,32,111,102,32,111,112,116,105,111,110,115,32,110,111,116,32,112,114,101,118,105,111,117,115,108,121,32,100,101,115,99,114,105,98,101,100,32,102,111,114,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<114,117,110,47,51>>]},<<58>>]},{dl,[],[{dt,[],[{code,[],[<<123,114,101,116,117,114,110,44,82,101,116,117,114,110,84,121,112,101,125>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,104,111,119,32,116,104,101,32,112,97,114,116,115,32,111,102,32,116,104,101,32,111,114,105,103,105,110,97,108,32,115,116,114,105,110,103,32,97,114,101,32,112,114,101,115,101,110,116,101,100,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,108,105,115,116,46,32,86,97,108,105,100,32,116,121,112,101,115,58>>]},{dl,[],[{dt,[],[{code,[],[<<105,111,100,97,116,97>>]}]},{dd,[],[{p,[],[<<84,104,101,32,118,97,114,105,97,110,116,32,111,102,32>>,{code,[],[<<105,111,100,97,116,97,40,41>>]},<<32,116,104,97,116,32,103,105,118,101,115,32,116,104,101,32,108,101,97,115,116,32,99,111,112,121,105,110,103,32,111,102,32,100,97,116,97,32,119,105,116,104,32,116,104,101,32,99,117,114,114,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,40,111,102,116,101,110,32,97,32,98,105,110,97,114,121,44,32,98,117,116,32,100,111,32,110,111,116,32,100,101,112,101,110,100,32,111,110,32,105,116,41,46>>]}]},{dt,[],[{code,[],[<<98,105,110,97,114,121>>]}]},{dd,[],[{p,[],[<<65,108,108,32,112,97,114,116,115,32,114,101,116,117,114,110,101,100,32,97,115,32,98,105,110,97,114,105,101,115,46>>]}]},{dt,[],[{code,[],[<<108,105,115,116>>]}]},{dd,[],[{p,[],[<<65,108,108,32,112,97,114,116,115,32,114,101,116,117,114,110,101,100,32,97,115,32,108,105,115,116,115,32,111,102,32,99,104,97,114,97,99,116,101,114,115,32,40,34,115,116,114,105,110,103,115,34,41,46>>]}]}]}]},{dt,[],[{code,[],[<<103,114,111,117,112>>]}]},{dd,[],[{p,[],[<<71,114,111,117,112,115,32,116,111,103,101,116,104,101,114,32,116,104,101,32,112,97,114,116,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,119,105,116,104,32,116,104,101,32,112,97,114,116,115,32,111,102,32,116,104,101,32,115,116,114,105,110,103,32,109,97,116,99,104,105,110,103,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,111,102,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]},{p,[],[<<84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,102,114,111,109,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,105,110,32,116,104,105,115,32,99,97,115,101,32,97,32>>,{code,[],[<<108,105,115,116,40,41>>]},<<32,111,102,32>>,{code,[],[<<108,105,115,116,40,41>>]},<<115,46,32,69,97,99,104,32,115,117,98,108,105,115,116,32,98,101,103,105,110,115,32,119,105,116,104,32,116,104,101,32,115,116,114,105,110,103,32,112,105,99,107,101,100,32,111,117,116,32,111,102,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,44,32,102,111,108,108,111,119,101,100,32,98,121,32,116,104,101,32,112,97,114,116,115,32,109,97,116,99,104,105,110,103,32,101,97,99,104,32,111,102,32,116,104,101,32,115,117,98,101,120,112,114,101,115,115,105,111,110,115,32,105,110,32,111,114,100,101,114,32,111,102,32,111,99,99,117,114,114,101,110,99,101,32,105,110,32,116,104,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46>>]}]},{dt,[],[{code,[],[<<123,112,97,114,116,115,44,78,125>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,112,97,114,116,115,32,116,104,101,32,115,117,98,106,101,99,116,32,115,116,114,105,110,103,32,105,115,32,116,111,32,98,101,32,115,112,108,105,116,32,105,110,116,111,46>>]},{p,[],[<<84,104,101,32,110,117,109,98,101,114,32,111,102,32,112,97,114,116,115,32,105,115,32,116,111,32,98,101,32,97,32,112,111,115,105,116,105,118,101,32,105,110,116,101,103,101,114,32,102,111,114,32,97,32,115,112,101,99,105,102,105,99,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,112,97,114,116,115,44,32,97,110,100,32>>,{code,[],[<<105,110,102,105,110,105,116,121>>]},<<32,102,111,114,32,116,104,101,32,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,112,97,114,116,115,32,112,111,115,115,105,98,108,101,32,40,116,104,101,32,100,101,102,97,117,108,116,41,46,32,83,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<123,112,97,114,116,115,44,48,125>>]},<<32,103,105,118,101,115,32,97,115,32,109,97,110,121,32,112,97,114,116,115,32,97,115,32,112,111,115,115,105,98,108,101,32,100,105,115,114,101,103,97,114,100,105,110,103,32,101,109,112,116,121,32,112,97,114,116,115,32,97,116,32,116,104,101,32,101,110,100,44,32,116,104,101,32,115,97,109,101,32,97,115,32,115,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<116,114,105,109>>]},<<46>>]}]},{dt,[],[{code,[],[<<116,114,105,109>>]}]},{dd,[],[{p,[],[<<83,112,101,99,105,102,105,101,115,32,116,104,97,116,32,101,109,112,116,121,32,112,97,114,116,115,32,97,116,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,114,101,115,117,108,116,32,108,105,115,116,32,97,114,101,32,116,111,32,98,101,32,100,105,115,114,101,103,97,114,100,101,100,46,32,84,104,101,32,115,97,109,101,32,97,115,32,115,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<123,112,97,114,116,115,44,48,125>>]},<<46,32,84,104,105,115,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111,32,116,104,101,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,32,111,102,32,116,104,101,32>>,{code,[],[<<115,112,108,105,116>>]},<<32,98,117,105,108,116,45,105,110,32,102,117,110,99,116,105,111,110,32,105,110,32,80,101,114,108,46>>]}]}]}]},#{signature => [{attribute,{168,2},spec,{{split,3},[{type,{168,12},bounded_fun,[{type,{168,12},'fun',[{type,{168,12},product,[{var,{168,13},'Subject'},{var,{168,22},'RE'},{var,{168,26},'Options'}]},{var,{168,38},'SplitList'}]},[{type,{169,7},constraint,[{atom,{169,7},is_subtype},[{var,{169,7},'Subject'},{type,{169,18},union,[{type,{169,18},iodata,[]},{remote_type,{169,29},[{atom,{169,29},unicode},{atom,{169,37},charlist},[]]}]}]]},{type,{170,7},constraint,[{atom,{170,7},is_subtype},[{var,{170,7},'RE'},{type,{170,13},union,[{user_type,{170,13},mp,[]},{type,{170,20},iodata,[]},{remote_type,{170,31},[{atom,{170,31},unicode},{atom,{170,39},charlist},[]]}]}]]},{type,{171,7},constraint,[{atom,{171,7},is_subtype},[{var,{171,7},'Options'},{type,{171,18},list,[{var,{171,20},'Option'}]}]]},{type,{172,7},constraint,[{atom,{172,7},is_subtype},[{var,{172,7},'Option'},{type,{172,17},union,[{atom,{172,17},anchored},{atom,{172,28},notbol},{atom,{172,37},noteol},{atom,{172,46},notempty},{atom,{172,57},notempty_atstart},{type,{173,17},tuple,[{atom,{173,18},offset},{type,{173,26},non_neg_integer,[]}]},{type,{173,47},tuple,[{atom,{173,48},newline},{user_type,{173,57},nl_spec,[]}]},{type,{174,17},tuple,[{atom,{174,18},match_limit},{type,{174,31},non_neg_integer,[]}]},{type,{175,17},tuple,[{atom,{175,18},match_limit_recursion},{type,{175,41},non_neg_integer,[]}]},{atom,{176,17},bsr_anycrlf},{atom,{176,31},bsr_unicode},{type,{176,45},tuple,[{atom,{176,46},return},{var,{176,54},'ReturnType'}]},{type,{177,17},tuple,[{atom,{177,18},parts},{var,{177,25},'NumParts'}]},{atom,{177,37},group},{atom,{177,45},trim},{var,{177,52},'CompileOpt'}]}]]},{type,{178,7},constraint,[{atom,{178,7},is_subtype},[{var,{178,7},'NumParts'},{type,{178,19},union,[{type,{178,19},non_neg_integer,[]},{atom,{178,39},infinity}]}]]},{type,{179,7},constraint,[{atom,{179,7},is_subtype},[{var,{179,7},'ReturnType'},{type,{179,21},union,[{atom,{179,21},iodata},{atom,{179,30},list},{atom,{179,37},binary}]}]]},{type,{180,7},constraint,[{atom,{180,7},is_subtype},[{var,{180,7},'CompileOpt'},{user_type,{180,21},compile_option,[]}]]},{type,{181,7},constraint,[{atom,{181,7},is_subtype},[{var,{181,7},'SplitList'},{type,{181,20},union,[{type,{181,20},list,[{var,{181,21},'RetData'}]},{type,{181,32},list,[{var,{181,33},'GroupedRetData'}]}]}]]},{type,{182,7},constraint,[{atom,{182,7},is_subtype},[{var,{182,7},'GroupedRetData'},{type,{182,25},list,[{var,{182,26},'RetData'}]}]]},{type,{183,7},constraint,[{atom,{183,7},is_subtype},[{var,{183,7},'RetData'},{type,{183,18},union,[{type,{183,18},iodata,[]},{remote_type,{183,29},[{atom,{183,29},unicode},{atom,{183,37},charlist},[]]},{type,{183,50},binary,[]},{type,{183,61},list,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,114,101,46,120,109,108,35,76,49,48,51,53>>}},{{type,mp,0},[{file,[114,101,46,101,114,108]},{location,23}],[<<45,116,121,112,101,32,109,112,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<79,112,97,113,117,101,32,100,97,116,97,32,116,121,112,101,32,99,111,110,116,97,105,110,105,110,103,32,97,32,99,111,109,112,105,108,101,100,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,46,32>>,{code,[],[<<109,112,40,41>>]},<<32,105,115,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,97,32,116,117,112,108,101,40,41,32,104,97,118,105,110,103,32,116,104,101,32,97,116,111,109,32>>,{code,[],[<<114,101,95,112,97,116,116,101,114,110>>]},<<32,97,115,32,105,116,115,32,102,105,114,115,116,32,101,108,101,109,101,110,116,44,32,116,111,32,97,108,108,111,119,32,102,111,114,32,109,97,116,99,104,105,110,103,32,105,110,32,103,117,97,114,100,115,46,32,84,104,101,32,97,114,105,116,121,32,111,102,32,116,104,101,32,116,117,112,108,101,32,111,114,32,116,104,101,32,99,111,110,116,101,110,116,32,111,102,32,116,104,101,32,111,116,104,101,114,32,102,105,101,108,100,115,32,99,97,110,32,99,104,97,110,103,101,32,105,110,32,102,117,116,117,114,101,32,69,114,108,97,110,103,47,79,84,80,32,114,101,108,101,97,115,101,115,46>>]}]},#{signature => [{attribute,{23,2},type,{mp,{type,{23,15},tuple,[{atom,{23,16},re_pattern},{var,{23,28},'_'},{var,{23,31},'_'},{var,{23,34},'_'},{var,{23,37},'_'}]},[]}}]}},{{type,nl_spec,0},[{file,[114,101,46,101,114,108]},{location,25}],[<<45,116,121,112,101,32,110,108,95,115,112,101,99,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{25,2},type,{nl_spec,{type,{25,20},union,[{atom,{25,20},cr},{atom,{25,25},crlf},{atom,{25,32},lf},{atom,{25,37},anycrlf},{atom,{25,47},any}]},[]}}]}},{{type,compile_option,0},[{file,[114,101,46,101,114,108]},{location,27}],[<<45,116,121,112,101,32,99,111,109,112,105,108,101,95,111,112,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{27,2},type,{compile_option,{type,{27,27},union,[{atom,{27,27},unicode},{atom,{27,37},anchored},{atom,{27,48},caseless},{atom,{27,59},dollar_endonly},{atom,{28,27},dotall},{atom,{28,36},extended},{atom,{28,47},firstline},{atom,{28,59},multiline},{atom,{29,27},no_auto_capture},{atom,{29,45},dupnames},{atom,{29,56},ungreedy},{type,{30,27},tuple,[{atom,{30,28},newline},{user_type,{30,37},nl_spec,[]}]},{atom,{31,27},bsr_anycrlf},{atom,{31,41},bsr_unicode},{atom,{32,27},no_start_optimize},{atom,{32,47},ucp},{atom,{32,53},never_utf}]},[]}}]}},{{type,replace_fun,0},[{file,[114,101,46,101,114,108]},{location,34}],[<<45,116,121,112,101,32,114,101,112,108,97,99,101,95,102,117,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{34,2},type,{replace_fun,{type,{34,28},'fun',[{type,{34,28},product,[{type,{34,29},binary,[]},{type,{34,39},list,[{type,{34,40},binary,[]}]}]},{type,{34,54},union,[{type,{34,54},iodata,[]},{remote_type,{34,65},[{atom,{34,65},unicode},{atom,{34,73},charlist},[]]}]}]},[]}}]}}]}. \ No newline at end of file diff --git a/lib/stdlib/test/shell_docs_SUITE_data/sofs.docs_v1 b/lib/stdlib/test/shell_docs_SUITE_data/sofs.docs_v1 index f1aecb28308c..28a344709025 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/sofs.docs_v1 +++ b/lib/stdlib/test/shell_docs_SUITE_data/sofs.docs_v1 @@ -1 +1 @@ -{docs_v1,[{file,[115,111,102,115,46,101,114,108]},{location,0}],erlang,<<97,112,112,108,105,99,97,116,105,111,110,47,101,114,108,97,110,103,43,104,116,109,108>>,#{<<101,110>> => [{p,[],[<<84,104,105,115,32,109,111,100,117,108,101,32,112,114,111,118,105,100,101,115,32,111,112,101,114,97,116,105,111,110,115,32,111,110,32,102,105,110,105,116,101,32,115,101,116,115,32,97,110,100,32,114,101,108,97,116,105,111,110,115,32,114,101,112,114,101,115,101,110,116,101,100,32,97,115,32,115,101,116,115,46,32,73,110,116,117,105,116,105,118,101,108,121,44,32,97,32,115,101,116,32,105,115,32,97,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,101,108,101,109,101,110,116,115,59,32,101,118,101,114,121,32,101,108,101,109,101,110,116,32,98,101,108,111,110,103,115,32,116,111,32,116,104,101,32,115,101,116,44,32,97,110,100,32,116,104,101,32,115,101,116,32,99,111,110,116,97,105,110,115,32,101,118,101,114,121,32,101,108,101,109,101,110,116,46>>]},{p,[],[<<71,105,118,101,110,32,97,32,115,101,116,32,65,32,97,110,100,32,97,32,115,101,110,116,101,110,99,101,32,83,40,120,41,44,32,119,104,101,114,101,32,120,32,105,115,32,97,32,102,114,101,101,32,118,97,114,105,97,98,108,101,44,32,97,32,110,101,119,32,115,101,116,32,66,32,119,104,111,115,101,32,101,108,101,109,101,110,116,115,32,97,114,101,32,101,120,97,99,116,108,121,32,116,104,111,115,101,32,101,108,101,109,101,110,116,115,32,111,102,32,65,32,102,111,114,32,119,104,105,99,104,32,83,40,120,41,32,104,111,108,100,115,32,99,97,110,32,98,101,32,102,111,114,109,101,100,44,32,116,104,105,115,32,105,115,32,100,101,110,111,116,101,100,32,66,194,160,61,32,123,120,194,160,105,110,194,160,65,194,160,58,32,83,40,120,41,125,46,32,83,101,110,116,101,110,99,101,115,32,97,114,101,32,101,120,112,114,101,115,115,101,100,32,117,115,105,110,103,32,116,104,101,32,108,111,103,105,99,97,108,32,111,112,101,114,97,116,111,114,115,32,34,102,111,114,32,115,111,109,101,34,32,40,111,114,32,34,116,104,101,114,101,32,101,120,105,115,116,115,34,41,44,32,34,102,111,114,32,97,108,108,34,44,32,34,97,110,100,34,44,32,34,111,114,34,44,32,34,110,111,116,34,46,32,73,102,32,116,104,101,32,101,120,105,115,116,101,110,99,101,32,111,102,32,97,32,115,101,116,32,99,111,110,116,97,105,110,105,110,103,32,97,108,108,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,101,108,101,109,101,110,116,115,32,105,115,32,107,110,111,119,110,32,40,97,115,32,105,115,32,97,108,119,97,121,115,32,116,104,101,32,99,97,115,101,32,105,110,32,116,104,105,115,32,109,111,100,117,108,101,41,44,32,116,104,105,115,32,105,115,32,100,101,110,111,116,101,100,32,66,194,160,61,32,123,120,194,160,58,32,83,40,120,41,125,46>>]},{ul,[],[{li,[],[{p,[],[<<84,104,101,32>>,{em,[],[<<117,110,111,114,100,101,114,101,100,32,115,101,116>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,101,108,101,109,101,110,116,115,32,97,44,32,98,44,32,97,110,100,32,99,32,105,115,32,100,101,110,111,116,101,100,32,123,97,44,194,160,98,44,194,160,99,125,46,32,84,104,105,115,32,110,111,116,97,116,105,111,110,32,105,115,32,110,111,116,32,116,111,32,98,101,32,99,111,110,102,117,115,101,100,32,119,105,116,104,32,116,117,112,108,101,115,46>>]},{p,[],[<<84,104,101,32>>,{em,[],[<<111,114,100,101,114,101,100,32,112,97,105,114>>]},<<32,111,102,32,97,32,97,110,100,32,98,44,32,119,105,116,104,32,102,105,114,115,116,32>>,{em,[],[<<99,111,111,114,100,105,110,97,116,101>>]},<<32,97,32,97,110,100,32,115,101,99,111,110,100,32,99,111,111,114,100,105,110,97,116,101,32,98,44,32,105,115,32,100,101,110,111,116,101,100,32,40,97,44,194,160,98,41,46,32,65,110,32,111,114,100,101,114,101,100,32,112,97,105,114,32,105,115,32,97,110,32>>,{em,[],[<<111,114,100,101,114,101,100,32,115,101,116>>]},<<32,111,102,32,116,119,111,32,101,108,101,109,101,110,116,115,46,32,73,110,32,116,104,105,115,32,109,111,100,117,108,101,44,32,111,114,100,101,114,101,100,32,115,101,116,115,32,99,97,110,32,99,111,110,116,97,105,110,32,111,110,101,44,32,116,119,111,44,32,111,114,32,109,111,114,101,32,101,108,101,109,101,110,116,115,44,32,97,110,100,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,117,115,101,100,32,116,111,32,101,110,99,108,111,115,101,32,116,104,101,32,101,108,101,109,101,110,116,115,46>>]},{p,[],[<<85,110,111,114,100,101,114,101,100,32,115,101,116,115,32,97,110,100,32,111,114,100,101,114,101,100,32,115,101,116,115,32,97,114,101,32,111,114,116,104,111,103,111,110,97,108,44,32,97,103,97,105,110,32,105,110,32,116,104,105,115,32,109,111,100,117,108,101,59,32,116,104,101,114,101,32,105,115,32,110,111,32,117,110,111,114,100,101,114,101,100,32,115,101,116,32,101,113,117,97,108,32,116,111,32,97,110,121,32,111,114,100,101,114,101,100,32,115,101,116,46>>]}]},{li,[],[{p,[],[<<84,104,101,32>>,{em,[],[<<101,109,112,116,121,32,115,101,116>>]},<<32,99,111,110,116,97,105,110,115,32,110,111,32,101,108,101,109,101,110,116,115,46>>]},{p,[],[<<83,101,116,32,65,32,105,115,32>>,{a,[{id,<<101,113,117,97,108>>}],[]},{em,[],[<<101,113,117,97,108>>]},<<32,116,111,32,115,101,116,32,66,32,105,102,32,116,104,101,121,32,99,111,110,116,97,105,110,32,116,104,101,32,115,97,109,101,32,101,108,101,109,101,110,116,115,44,32,119,104,105,99,104,32,105,115,32,100,101,110,111,116,101,100,32,65,194,160,61,194,160,66,46,32,84,119,111,32,111,114,100,101,114,101,100,32,115,101,116,115,32,97,114,101,32,101,113,117,97,108,32,105,102,32,116,104,101,121,32,99,111,110,116,97,105,110,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,97,110,100,32,104,97,118,101,32,101,113,117,97,108,32,101,108,101,109,101,110,116,115,32,97,116,32,101,97,99,104,32,99,111,111,114,100,105,110,97,116,101,46>>]},{p,[],[<<83,101,116,32,66,32,105,115,32,97,32>>,{a,[{id,<<115,117,98,115,101,116>>}],[]},{em,[],[<<115,117,98,115,101,116>>]},<<32,111,102,32,115,101,116,32,65,32,105,102,32,65,32,99,111,110,116,97,105,110,115,32,97,108,108,32,101,108,101,109,101,110,116,115,32,116,104,97,116,32,66,32,99,111,110,116,97,105,110,115,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<117,110,105,111,110>>}],[]},{em,[],[<<117,110,105,111,110>>]},<<32,111,102,32,116,119,111,32,115,101,116,115,32,65,32,97,110,100,32,66,32,105,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,115,101,116,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,97,108,108,32,101,108,101,109,101,110,116,115,32,111,102,32,65,32,97,110,100,32,97,108,108,32,101,108,101,109,101,110,116,115,32,111,102,32,66,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<105,110,116,101,114,115,101,99,116,105,111,110>>}],[]},{em,[],[<<105,110,116,101,114,115,101,99,116,105,111,110>>]},<<32,111,102,32,116,119,111,32,115,101,116,115,32,65,32,97,110,100,32,66,32,105,115,32,116,104,101,32,115,101,116,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,97,108,108,32,101,108,101,109,101,110,116,115,32,111,102,32,65,32,116,104,97,116,32,98,101,108,111,110,103,32,116,111,32,66,46>>]},{p,[],[<<84,119,111,32,115,101,116,115,32,97,114,101,32>>,{a,[{id,<<100,105,115,106,111,105,110,116>>}],[]},{em,[],[<<100,105,115,106,111,105,110,116>>]},<<32,105,102,32,116,104,101,105,114,32,105,110,116,101,114,115,101,99,116,105,111,110,32,105,115,32,116,104,101,32,101,109,112,116,121,32,115,101,116,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<100,105,102,102,101,114,101,110,99,101>>}],[]},{em,[],[<<100,105,102,102,101,114,101,110,99,101>>]},<<32,111,102,32,116,119,111,32,115,101,116,115,32,65,32,97,110,100,32,66,32,105,115,32,116,104,101,32,115,101,116,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,97,108,108,32,101,108,101,109,101,110,116,115,32,111,102,32,65,32,116,104,97,116,32,100,111,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32,66,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<115,121,109,109,101,116,114,105,99,95,100,105,102,102,101,114,101,110,99,101>>}],[]},{em,[],[<<115,121,109,109,101,116,114,105,99,32,100,105,102,102,101,114,101,110,99,101>>]},<<32,111,102,32,116,119,111,32,115,101,116,115,32,105,115,32,116,104,101,32,115,101,116,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,116,104,111,115,101,32,101,108,101,109,101,110,116,32,116,104,97,116,32,98,101,108,111,110,103,32,116,111,32,101,105,116,104,101,114,32,111,102,32,116,104,101,32,116,119,111,32,115,101,116,115,44,32,98,117,116,32,110,111,116,32,98,111,116,104,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<117,110,105,111,110,95,110>>}],[]},{em,[],[<<117,110,105,111,110>>]},<<32,111,102,32,97,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,115,101,116,115,32,105,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,115,101,116,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,97,108,108,32,116,104,101,32,101,108,101,109,101,110,116,115,32,116,104,97,116,32,98,101,108,111,110,103,32,116,111,32,97,116,32,108,101,97,115,116,32,111,110,101,32,115,101,116,32,111,102,32,116,104,101,32,99,111,108,108,101,99,116,105,111,110,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<105,110,116,101,114,115,101,99,116,105,111,110,95,110>>}],[]},{em,[],[<<105,110,116,101,114,115,101,99,116,105,111,110>>]},<<32,111,102,32,97,32,110,111,110,45,101,109,112,116,121,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,115,101,116,115,32,105,115,32,116,104,101,32,115,101,116,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,97,108,108,32,101,108,101,109,101,110,116,115,32,116,104,97,116,32,98,101,108,111,110,103,32,116,111,32,101,118,101,114,121,32,115,101,116,32,111,102,32,116,104,101,32,99,111,108,108,101,99,116,105,111,110,46>>]}]},{li,[],[{p,[],[<<84,104,101,32>>,{a,[{id,<<67,97,114,116,101,115,105,97,110,95,112,114,111,100,117,99,116>>}],[]},{em,[],[<<67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,116,119,111,32,115,101,116,115,32,88,32,97,110,100,32,89,44,32,100,101,110,111,116,101,100,32,88,194,160,195,151,194,160,89,44,32,105,115,32,116,104,101,32,115,101,116,32,123,97,194,160,58,32,97,194,160,61,32,40,120,44,194,160,121,41,32,102,111,114,32,115,111,109,101,32,120,194,160,105,110,194,160,88,32,97,110,100,32,102,111,114,32,115,111,109,101,32,121,194,160,105,110,194,160,89,125,46>>]},{p,[],[<<65,32>>,{a,[{id,<<114,101,108,97,116,105,111,110>>}],[]},{em,[],[<<114,101,108,97,116,105,111,110>>]},<<32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32,88,194,160,195,151,194,160,89,46,32,76,101,116,32,82,32,98,101,32,97,32,114,101,108,97,116,105,111,110,46,32,84,104,101,32,102,97,99,116,32,116,104,97,116,32,40,120,44,194,160,121,41,32,98,101,108,111,110,103,115,32,116,111,32,82,32,105,115,32,119,114,105,116,116,101,110,32,97,115,32,120,194,160,82,194,160,121,46,32,65,115,32,114,101,108,97,116,105,111,110,115,32,97,114,101,32,115,101,116,115,44,32,116,104,101,32,100,101,102,105,110,105,116,105,111,110,115,32,111,102,32,116,104,101,32,108,97,115,116,32,105,116,101,109,32,40,115,117,98,115,101,116,44,32,117,110,105,111,110,44,32,97,110,100,32,115,111,32,111,110,41,32,97,112,112,108,121,32,116,111,32,114,101,108,97,116,105,111,110,115,32,97,115,32,119,101,108,108,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<100,111,109,97,105,110>>}],[]},{em,[],[<<100,111,109,97,105,110>>]},<<32,111,102,32,82,32,105,115,32,116,104,101,32,115,101,116,32,123,120,194,160,58,32,120,194,160,82,194,160,121,32,102,111,114,32,115,111,109,101,32,121,194,160,105,110,194,160,89,125,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<114,97,110,103,101>>}],[]},{em,[],[<<114,97,110,103,101>>]},<<32,111,102,32,82,32,105,115,32,116,104,101,32,115,101,116,32,123,121,194,160,58,32,120,194,160,82,194,160,121,32,102,111,114,32,115,111,109,101,32,120,194,160,105,110,194,160,88,125,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<99,111,110,118,101,114,115,101>>}],[]},{em,[],[<<99,111,110,118,101,114,115,101>>]},<<32,111,102,32,82,32,105,115,32,116,104,101,32,115,101,116,32,123,97,194,160,58,32,97,194,160,61,32,40,121,44,194,160,120,41,32,102,111,114,32,115,111,109,101,32,40,120,44,194,160,121,41,194,160,105,110,194,160,82,125,46>>]},{p,[],[<<73,102,32,65,32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32,88,44,32,116,104,101,32>>,{a,[{id,<<105,109,97,103,101>>}],[]},{em,[],[<<105,109,97,103,101>>]},<<32,111,102,32,65,32,117,110,100,101,114,32,82,32,105,115,32,116,104,101,32,115,101,116,32,123,121,194,160,58,32,120,194,160,82,194,160,121,32,102,111,114,32,115,111,109,101,32,120,194,160,105,110,194,160,65,125,46,32,73,102,32,66,32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32,89,44,32,116,104,101,32>>,{a,[{id,<<105,110,118,101,114,115,101,95,105,109,97,103,101>>}],[]},{em,[],[<<105,110,118,101,114,115,101,32,105,109,97,103,101>>]},<<32,111,102,32,66,32,105,115,32,116,104,101,32,115,101,116,32,123,120,194,160,58,32,120,194,160,82,194,160,121,32,102,111,114,32,115,111,109,101,32,121,194,160,105,110,194,160,66,125,46>>]},{p,[],[<<73,102,32,82,32,105,115,32,97,32,114,101,108,97,116,105,111,110,32,102,114,111,109,32,88,32,116,111,32,89,44,32,97,110,100,32,83,32,105,115,32,97,32,114,101,108,97,116,105,111,110,32,102,114,111,109,32,89,32,116,111,32,90,44,32,116,104,101,32>>,{a,[{id,<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116>>}],[]},{em,[],[<<114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,82,32,97,110,100,32,83,32,105,115,32,116,104,101,32,114,101,108,97,116,105,111,110,32,84,32,102,114,111,109,32,88,32,116,111,32,90,32,100,101,102,105,110,101,100,32,115,111,32,116,104,97,116,32,120,194,160,84,194,160,122,32,105,102,32,97,110,100,32,111,110,108,121,32,105,102,32,116,104,101,114,101,32,101,120,105,115,116,115,32,97,110,32,101,108,101,109,101,110,116,32,121,32,105,110,32,89,32,115,117,99,104,32,116,104,97,116,32,120,194,160,82,194,160,121,32,97,110,100,32,121,194,160,83,194,160,122,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<114,101,115,116,114,105,99,116,105,111,110>>}],[]},{em,[],[<<114,101,115,116,114,105,99,116,105,111,110>>]},<<32,111,102,32,82,32,116,111,32,65,32,105,115,32,116,104,101,32,115,101,116,32,83,32,100,101,102,105,110,101,100,32,115,111,32,116,104,97,116,32,120,194,160,83,194,160,121,32,105,102,32,97,110,100,32,111,110,108,121,32,105,102,32,116,104,101,114,101,32,101,120,105,115,116,115,32,97,110,32,101,108,101,109,101,110,116,32,120,32,105,110,32,65,32,115,117,99,104,32,116,104,97,116,32,120,194,160,82,194,160,121,46>>]},{p,[],[<<73,102,32,83,32,105,115,32,97,32,114,101,115,116,114,105,99,116,105,111,110,32,111,102,32,82,32,116,111,32,65,44,32,116,104,101,110,32,82,32,105,115,32,97,110,32>>,{a,[{id,<<101,120,116,101,110,115,105,111,110>>}],[]},{em,[],[<<101,120,116,101,110,115,105,111,110>>]},<<32,111,102,32,83,32,116,111,32,88,46>>]},{p,[],[<<73,102,32,88,194,160,61,194,160,89,44,32,116,104,101,110,32,82,32,105,115,32,99,97,108,108,101,100,32,97,32,114,101,108,97,116,105,111,110,32>>,{em,[],[<<105,110>>]},<<32,88,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<102,105,101,108,100>>}],[]},{em,[],[<<102,105,101,108,100>>]},<<32,111,102,32,97,32,114,101,108,97,116,105,111,110,32,82,32,105,110,32,88,32,105,115,32,116,104,101,32,117,110,105,111,110,32,111,102,32,116,104,101,32,100,111,109,97,105,110,32,111,102,32,82,32,97,110,100,32,116,104,101,32,114,97,110,103,101,32,111,102,32,82,46>>]},{p,[],[<<73,102,32,82,32,105,115,32,97,32,114,101,108,97,116,105,111,110,32,105,110,32,88,44,32,97,110,100,32,105,102,32,83,32,105,115,32,100,101,102,105,110,101,100,32,115,111,32,116,104,97,116,32,120,194,160,83,194,160,121,32,105,102,32,120,194,160,82,194,160,121,32,97,110,100,32,110,111,116,32,120,194,160,61,194,160,121,44,32,116,104,101,110,32,83,32,105,115,32,116,104,101,32>>,{a,[{id,<<115,116,114,105,99,116,95,114,101,108,97,116,105,111,110>>}],[]},{em,[],[<<115,116,114,105,99,116>>]},<<32,114,101,108,97,116,105,111,110,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,82,46,32,67,111,110,118,101,114,115,101,108,121,44,32,105,102,32,83,32,105,115,32,97,32,114,101,108,97,116,105,111,110,32,105,110,32,88,44,32,97,110,100,32,105,102,32,82,32,105,115,32,100,101,102,105,110,101,100,32,115,111,32,116,104,97,116,32,120,194,160,82,194,160,121,32,105,102,32,120,194,160,83,194,160,121,32,111,114,32,120,194,160,61,194,160,121,44,32,116,104,101,110,32,82,32,105,115,32,116,104,101,32>>,{a,[{id,<<119,101,97,107,95,114,101,108,97,116,105,111,110>>}],[]},{em,[],[<<119,101,97,107>>]},<<32,114,101,108,97,116,105,111,110,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,83,46>>]},{p,[],[<<65,32,114,101,108,97,116,105,111,110,32,82,32,105,110,32,88,32,105,115,32>>,{em,[],[<<114,101,102,108,101,120,105,118,101>>]},<<32,105,102,32,120,194,160,82,194,160,120,32,102,111,114,32,101,118,101,114,121,32,101,108,101,109,101,110,116,32,120,32,111,102,32,88,44,32,105,116,32,105,115,32>>,{em,[],[<<115,121,109,109,101,116,114,105,99>>]},<<32,105,102,32,120,194,160,82,194,160,121,32,105,109,112,108,105,101,115,32,116,104,97,116,32,121,194,160,82,194,160,120,44,32,97,110,100,32,105,116,32,105,115,32>>,{em,[],[<<116,114,97,110,115,105,116,105,118,101>>]},<<32,105,102,32,120,194,160,82,194,160,121,32,97,110,100,32,121,194,160,82,194,160,122,32,105,109,112,108,121,32,116,104,97,116,32,120,194,160,82,194,160,122,46>>]}]},{li,[],[{p,[],[<<65,32>>,{a,[{id,<<102,117,110,99,116,105,111,110>>}],[]},{em,[],[<<102,117,110,99,116,105,111,110>>]},<<32,70,32,105,115,32,97,32,114,101,108,97,116,105,111,110,44,32,97,32,115,117,98,115,101,116,32,111,102,32,88,194,160,195,151,194,160,89,44,32,115,117,99,104,32,116,104,97,116,32,116,104,101,32,100,111,109,97,105,110,32,111,102,32,70,32,105,115,32,101,113,117,97,108,32,116,111,32,88,32,97,110,100,32,115,117,99,104,32,116,104,97,116,32,102,111,114,32,101,118,101,114,121,32,120,32,105,110,32,88,32,116,104,101,114,101,32,105,115,32,97,32,117,110,105,113,117,101,32,101,108,101,109,101,110,116,32,121,32,105,110,32,89,32,119,105,116,104,32,40,120,44,194,160,121,41,32,105,110,32,70,46,32,84,104,101,32,108,97,116,116,101,114,32,99,111,110,100,105,116,105,111,110,32,99,97,110,32,98,101,32,102,111,114,109,117,108,97,116,101,100,32,97,115,32,102,111,108,108,111,119,115,58,32,105,102,32,120,194,160,70,194,160,121,32,97,110,100,32,120,194,160,70,194,160,122,44,32,116,104,101,110,32,121,194,160,61,194,160,122,46,32,73,110,32,116,104,105,115,32,109,111,100,117,108,101,44,32,105,116,32,105,115,32,110,111,116,32,114,101,113,117,105,114,101,100,32,116,104,97,116,32,116,104,101,32,100,111,109,97,105,110,32,111,102,32,70,32,105,115,32,101,113,117,97,108,32,116,111,32,88,32,102,111,114,32,97,32,114,101,108,97,116,105,111,110,32,116,111,32,98,101,32,99,111,110,115,105,100,101,114,101,100,32,97,32,102,117,110,99,116,105,111,110,46>>]},{p,[],[<<73,110,115,116,101,97,100,32,111,102,32,119,114,105,116,105,110,103,32,40,120,44,194,160,121,41,194,160,105,110,194,160,70,32,111,114,32,120,194,160,70,194,160,121,44,32,119,101,32,119,114,105,116,101,32,70,40,120,41,194,160,61,194,160,121,32,119,104,101,110,32,70,32,105,115,32,97,32,102,117,110,99,116,105,111,110,44,32,97,110,100,32,115,97,121,32,116,104,97,116,32,70,32,109,97,112,115,32,120,32,111,110,116,111,32,121,44,32,111,114,32,116,104,97,116,32,116,104,101,32,118,97,108,117,101,32,111,102,32,70,32,97,116,32,120,32,105,115,32,121,46>>]},{p,[],[<<65,115,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,114,101,108,97,116,105,111,110,115,44,32,116,104,101,32,100,101,102,105,110,105,116,105,111,110,115,32,111,102,32,116,104,101,32,108,97,115,116,32,105,116,101,109,32,40,100,111,109,97,105,110,44,32,114,97,110,103,101,44,32,97,110,100,32,115,111,32,111,110,41,32,97,112,112,108,121,32,116,111,32,102,117,110,99,116,105,111,110,115,32,97,115,32,119,101,108,108,46>>]},{p,[],[<<73,102,32,116,104,101,32,99,111,110,118,101,114,115,101,32,111,102,32,97,32,102,117,110,99,116,105,111,110,32,70,32,105,115,32,97,32,102,117,110,99,116,105,111,110,32,70,39,44,32,116,104,101,110,32,70,39,32,105,115,32,99,97,108,108,101,100,32,116,104,101,32>>,{a,[{id,<<105,110,118,101,114,115,101>>}],[]},{em,[],[<<105,110,118,101,114,115,101>>]},<<32,111,102,32,70,46>>]},{p,[],[<<84,104,101,32,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116,32,111,102,32,116,119,111,32,102,117,110,99,116,105,111,110,115,32,70,49,32,97,110,100,32,70,50,32,105,115,32,99,97,108,108,101,100,32,116,104,101,32>>,{a,[{id,<<99,111,109,112,111,115,105,116,101>>}],[]},{em,[],[<<99,111,109,112,111,115,105,116,101>>]},<<32,111,102,32,70,49,32,97,110,100,32,70,50,32,105,102,32,116,104,101,32,114,97,110,103,101,32,111,102,32,70,49,32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32,116,104,101,32,100,111,109,97,105,110,32,111,102,32,70,50,46>>]}]},{li,[],[{p,[],[<<83,111,109,101,116,105,109,101,115,44,32,119,104,101,110,32,116,104,101,32,114,97,110,103,101,32,111,102,32,97,32,102,117,110,99,116,105,111,110,32,105,115,32,109,111,114,101,32,105,109,112,111,114,116,97,110,116,32,116,104,97,110,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,116,115,101,108,102,44,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,32,97,32>>,{em,[],[<<102,97,109,105,108,121>>]},<<46>>]},{p,[],[<<84,104,101,32,100,111,109,97,105,110,32,111,102,32,97,32,102,97,109,105,108,121,32,105,115,32,99,97,108,108,101,100,32,116,104,101,32>>,{em,[],[<<105,110,100,101,120,32,115,101,116>>]},<<44,32,97,110,100,32,116,104,101,32,114,97,110,103,101,32,105,115,32,99,97,108,108,101,100,32,116,104,101,32>>,{em,[],[<<105,110,100,101,120,101,100,32,115,101,116>>]},<<46>>]},{p,[],[<<73,102,32,120,32,105,115,32,97,32,102,97,109,105,108,121,32,102,114,111,109,32,73,32,116,111,32,88,44,32,116,104,101,110,32,120,91,105,93,32,100,101,110,111,116,101,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,97,116,32,105,110,100,101,120,32,105,46,32,84,104,101,32,110,111,116,97,116,105,111,110,32,34,97,32,102,97,109,105,108,121,32,105,110,32,88,34,32,105,115,32,117,115,101,100,32,102,111,114,32,115,117,99,104,32,97,32,102,97,109,105,108,121,46>>]},{p,[],[<<87,104,101,110,32,116,104,101,32,105,110,100,101,120,101,100,32,115,101,116,32,105,115,32,97,32,115,101,116,32,111,102,32,115,117,98,115,101,116,115,32,111,102,32,97,32,115,101,116,32,88,44,32,119,101,32,99,97,108,108,32,120,32,97,32>>,{a,[{id,<<102,97,109,105,108,121>>}],[]},{em,[],[<<102,97,109,105,108,121,32,111,102,32,115,117,98,115,101,116,115>>]},<<32,111,102,32,88,46>>]},{p,[],[<<73,102,32,120,32,105,115,32,97,32,102,97,109,105,108,121,32,111,102,32,115,117,98,115,101,116,115,32,111,102,32,88,44,32,116,104,101,32,117,110,105,111,110,32,111,102,32,116,104,101,32,114,97,110,103,101,32,111,102,32,120,32,105,115,32,99,97,108,108,101,100,32,116,104,101,32>>,{em,[],[<<117,110,105,111,110,32,111,102,32,116,104,101,32,102,97,109,105,108,121>>]},<<32,120,46>>]},{p,[],[<<73,102,32,120,32,105,115,32,110,111,110,45,101,109,112,116,121,32,40,116,104,101,32,105,110,100,101,120,32,115,101,116,32,105,115,32,110,111,110,45,101,109,112,116,121,41,44,32,116,104,101,32>>,{em,[],[<<105,110,116,101,114,115,101,99,116,105,111,110,32,111,102,32,116,104,101,32,102,97,109,105,108,121>>]},<<32,120,32,105,115,32,116,104,101,32,105,110,116,101,114,115,101,99,116,105,111,110,32,111,102,32,116,104,101,32,114,97,110,103,101,32,111,102,32,120,46>>]},{p,[],[<<73,110,32,116,104,105,115,32,109,111,100,117,108,101,44,32,116,104,101,32,111,110,108,121,32,102,97,109,105,108,105,101,115,32,116,104,97,116,32,97,114,101,32,99,111,110,115,105,100,101,114,101,100,32,97,114,101,32,102,97,109,105,108,105,101,115,32,111,102,32,115,117,98,115,101,116,115,32,111,102,32,115,111,109,101,32,115,101,116,32,88,59,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,44,32,116,104,101,32,119,111,114,100,32,34,102,97,109,105,108,121,34,32,105,115,32,117,115,101,100,32,102,111,114,32,115,117,99,104,32,102,97,109,105,108,105,101,115,32,111,102,32,115,117,98,115,101,116,115,46>>]}]},{li,[],[{p,[],[<<65,32>>,{a,[{id,<<112,97,114,116,105,116,105,111,110>>}],[]},{em,[],[<<112,97,114,116,105,116,105,111,110>>]},<<32,111,102,32,97,32,115,101,116,32,88,32,105,115,32,97,32,99,111,108,108,101,99,116,105,111,110,32,83,32,111,102,32,110,111,110,45,101,109,112,116,121,32,115,117,98,115,101,116,115,32,111,102,32,88,32,119,104,111,115,101,32,117,110,105,111,110,32,105,115,32,88,32,97,110,100,32,119,104,111,115,101,32,101,108,101,109,101,110,116,115,32,97,114,101,32,112,97,105,114,119,105,115,101,32,100,105,115,106,111,105,110,116,46>>]},{p,[],[<<65,32,114,101,108,97,116,105,111,110,32,105,110,32,97,32,115,101,116,32,105,115,32,97,110,32>>,{em,[],[<<101,113,117,105,118,97,108,101,110,99,101,32,114,101,108,97,116,105,111,110>>]},<<32,105,102,32,105,116,32,105,115,32,114,101,102,108,101,120,105,118,101,44,32,115,121,109,109,101,116,114,105,99,44,32,97,110,100,32,116,114,97,110,115,105,116,105,118,101,46>>]},{p,[],[<<73,102,32,82,32,105,115,32,97,110,32,101,113,117,105,118,97,108,101,110,99,101,32,114,101,108,97,116,105,111,110,32,105,110,32,88,44,32,97,110,100,32,120,32,105,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32,88,44,32,116,104,101,32>>,{a,[{id,<<101,113,117,105,118,97,108,101,110,99,101,95,99,108,97,115,115>>}],[]},{em,[],[<<101,113,117,105,118,97,108,101,110,99,101,32,99,108,97,115,115>>]},<<32,111,102,32,120,32,119,105,116,104,32,114,101,115,112,101,99,116,32,116,111,32,82,32,105,115,32,116,104,101,32,115,101,116,32,111,102,32,97,108,108,32,116,104,111,115,101,32,101,108,101,109,101,110,116,115,32,121,32,111,102,32,88,32,102,111,114,32,119,104,105,99,104,32,120,194,160,82,194,160,121,32,104,111,108,100,115,46,32,84,104,101,32,101,113,117,105,118,97,108,101,110,99,101,32,99,108,97,115,115,101,115,32,99,111,110,115,116,105,116,117,116,101,32,97,32,112,97,114,116,105,116,105,111,110,105,110,103,32,111,102,32,88,46,32,67,111,110,118,101,114,115,101,108,121,44,32,105,102,32,67,32,105,115,32,97,32,112,97,114,116,105,116,105,111,110,32,111,102,32,88,44,32,116,104,101,32,114,101,108,97,116,105,111,110,32,116,104,97,116,32,104,111,108,100,115,32,102,111,114,32,97,110,121,32,116,119,111,32,101,108,101,109,101,110,116,115,32,111,102,32,88,32,105,102,32,116,104,101,121,32,98,101,108,111,110,103,32,116,111,32,116,104,101,32,115,97,109,101,32,101,113,117,105,118,97,108,101,110,99,101,32,99,108,97,115,115,44,32,105,115,32,97,110,32,101,113,117,105,118,97,108,101,110,99,101,32,114,101,108,97,116,105,111,110,32,105,110,100,117,99,101,100,32,98,121,32,116,104,101,32,112,97,114,116,105,116,105,111,110,32,67,46>>]},{p,[],[<<73,102,32,82,32,105,115,32,97,110,32,101,113,117,105,118,97,108,101,110,99,101,32,114,101,108,97,116,105,111,110,32,105,110,32,88,44,32,116,104,101,32>>,{a,[{id,<<99,97,110,111,110,105,99,97,108,95,109,97,112>>}],[]},{em,[],[<<99,97,110,111,110,105,99,97,108,32,109,97,112>>]},<<32,105,115,32,116,104,101,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,109,97,112,115,32,101,118,101,114,121,32,101,108,101,109,101,110,116,32,111,102,32,88,32,111,110,116,111,32,105,116,115,32,101,113,117,105,118,97,108,101,110,99,101,32,99,108,97,115,115,46>>]}]},{li,[],[{p,[],[{a,[{id,<<98,105,110,97,114,121,95,114,101,108,97,116,105,111,110>>}],[]},<<82,101,108,97,116,105,111,110,115,32,97,115,32,100,101,102,105,110,101,100,32,97,98,111,118,101,32,40,97,115,32,115,101,116,115,32,111,102,32,111,114,100,101,114,101,100,32,112,97,105,114,115,41,32,97,114,101,32,102,114,111,109,32,110,111,119,32,111,110,32,114,101,102,101,114,114,101,100,32,116,111,32,97,115,32>>,{em,[],[<<98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115>>]},<<46>>]},{p,[],[<<87,101,32,99,97,108,108,32,97,32,115,101,116,32,111,102,32,111,114,100,101,114,101,100,32,115,101,116,115,32,40,120,91,49,93,44,194,160,46,46,46,44,194,160,120,91,110,93,41,32,97,110,32>>,{a,[{id,<<110,95,97,114,121,95,114,101,108,97,116,105,111,110>>}],[]},{em,[],[<<40,110,45,97,114,121,41,32,114,101,108,97,116,105,111,110>>]},<<44,32,97,110,100,32,115,97,121,32,116,104,97,116,32,116,104,101,32,114,101,108,97,116,105,111,110,32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32,116,104,101,32>>,{a,[{id,<<67,97,114,116,101,115,105,97,110,95,112,114,111,100,117,99,116,95,116,117,112,108,101>>}],[]},<<67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116,32,88,91,49,93,194,160,195,151,194,160,46,46,46,194,160,195,151,194,160,88,91,110,93,44,32,119,104,101,114,101,32,120,91,105,93,32,105,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32,88,91,105,93,44,32,49,194,160,60,61,194,160,105,194,160,60,61,194,160,110,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<112,114,111,106,101,99,116,105,111,110>>}],[]},{em,[],[<<112,114,111,106,101,99,116,105,111,110>>]},<<32,111,102,32,97,110,32,110,45,97,114,121,32,114,101,108,97,116,105,111,110,32,82,32,111,110,116,111,32,99,111,111,114,100,105,110,97,116,101,32,105,32,105,115,32,116,104,101,32,115,101,116,32,123,120,91,105,93,194,160,58,32,40,120,91,49,93,44,194,160,46,46,46,44,194,160,120,91,105,93,44,194,160,46,46,46,44,194,160,120,91,110,93,41,32,105,110,32,82,32,102,111,114,32,115,111,109,101,32,120,91,106,93,194,160,105,110,194,160,88,91,106,93,44,32,49,194,160,60,61,194,160,106,194,160,60,61,194,160,110,32,97,110,100,32,110,111,116,32,105,194,160,61,194,160,106,125,46,32,84,104,101,32,112,114,111,106,101,99,116,105,111,110,115,32,111,102,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,82,32,111,110,116,111,32,116,104,101,32,102,105,114,115,116,32,97,110,100,32,115,101,99,111,110,100,32,99,111,111,114,100,105,110,97,116,101,115,32,97,114,101,32,116,104,101,32,100,111,109,97,105,110,32,97,110,100,32,116,104,101,32,114,97,110,103,101,32,111,102,32,82,44,32,114,101,115,112,101,99,116,105,118,101,108,121,46>>]},{p,[],[<<84,104,101,32,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116,32,111,102,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32,99,97,110,32,98,101,32,103,101,110,101,114,97,108,105,122,101,100,32,116,111,32,110,45,97,114,121,32,114,101,108,97,116,105,111,110,115,32,97,115,32,102,111,108,108,111,119,115,46,32,76,101,116,32,84,82,32,98,101,32,97,110,32,111,114,100,101,114,101,100,32,115,101,116,32,40,82,91,49,93,44,194,160,46,46,46,44,194,160,82,91,110,93,41,32,111,102,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32,102,114,111,109,32,88,32,116,111,32,89,91,105,93,32,97,110,100,32,83,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,102,114,111,109,32,40,89,91,49,93,194,160,195,151,194,160,46,46,46,194,160,195,151,194,160,89,91,110,93,41,32,116,111,32,90,46,32,84,104,101,32>>,{a,[{id,<<116,117,112,108,101,95,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116>>}],[]},{em,[],[<<114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,84,82,32,97,110,100,32,83,32,105,115,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,84,32,102,114,111,109,32,88,32,116,111,32,90,32,100,101,102,105,110,101,100,32,115,111,32,116,104,97,116,32,120,194,160,84,194,160,122,32,105,102,32,97,110,100,32,111,110,108,121,32,105,102,32,116,104,101,114,101,32,101,120,105,115,116,115,32,97,110,32,101,108,101,109,101,110,116,32,121,91,105,93,32,105,110,32,89,91,105,93,32,102,111,114,32,101,97,99,104,32,49,194,160,60,61,194,160,105,194,160,60,61,194,160,110,32,115,117,99,104,32,116,104,97,116,32,120,194,160,82,91,105,93,194,160,121,91,105,93,32,97,110,100,32,40,121,91,49,93,44,194,160,46,46,46,44,194,160,121,91,110,93,41,194,160,83,194,160,122,46,32,78,111,119,32,108,101,116,32,84,82,32,98,101,32,97,32,97,110,32,111,114,100,101,114,101,100,32,115,101,116,32,40,82,91,49,93,44,194,160,46,46,46,44,194,160,82,91,110,93,41,32,111,102,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32,102,114,111,109,32,88,91,105,93,32,116,111,32,89,91,105,93,32,97,110,100,32,83,32,97,32,115,117,98,115,101,116,32,111,102,32,88,91,49,93,194,160,195,151,194,160,46,46,46,194,160,195,151,194,160,88,91,110,93,46,32,84,104,101,32>>,{a,[{id,<<109,117,108,116,105,112,108,101,95,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116>>}],[]},{em,[],[<<109,117,108,116,105,112,108,101,32,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,84,82,32,97,110,100,32,83,32,105,115,32,100,101,102,105,110,101,100,32,116,111,32,98,101,32,116,104,101,32,115,101,116,32,123,122,194,160,58,32,122,194,160,61,32,40,40,120,91,49,93,44,194,160,46,46,46,44,194,160,120,91,110,93,41,44,32,40,121,91,49,93,44,46,46,46,44,121,91,110,93,41,41,32,102,111,114,32,115,111,109,101,32,40,120,91,49,93,44,194,160,46,46,46,44,194,160,120,91,110,93,41,194,160,105,110,194,160,83,32,97,110,100,32,102,111,114,32,115,111,109,101,32,40,120,91,105,93,44,194,160,121,91,105,93,41,32,105,110,32,82,91,105,93,44,32,49,194,160,60,61,194,160,105,194,160,60,61,194,160,110,125,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<110,97,116,117,114,97,108,95,106,111,105,110>>}],[]},{em,[],[<<110,97,116,117,114,97,108,32,106,111,105,110>>]},<<32,111,102,32,97,110,32,110,45,97,114,121,32,114,101,108,97,116,105,111,110,32,82,32,97,110,100,32,97,110,32,109,45,97,114,121,32,114,101,108,97,116,105,111,110,32,83,32,111,110,32,99,111,111,114,100,105,110,97,116,101,32,105,32,97,110,100,32,106,32,105,115,32,100,101,102,105,110,101,100,32,116,111,32,98,101,32,116,104,101,32,115,101,116,32,123,122,194,160,58,32,122,194,160,61,32,40,120,91,49,93,44,194,160,46,46,46,44,194,160,120,91,110,93,44,194,160,32,121,91,49,93,44,194,160,46,46,46,44,194,160,121,91,106,45,49,93,44,194,160,121,91,106,43,49,93,44,194,160,46,46,46,44,194,160,121,91,109,93,41,32,102,111,114,32,115,111,109,101,32,40,120,91,49,93,44,194,160,46,46,46,44,194,160,120,91,110,93,41,194,160,105,110,194,160,82,32,97,110,100,32,102,111,114,32,115,111,109,101,32,40,121,91,49,93,44,194,160,46,46,46,44,194,160,121,91,109,93,41,194,160,105,110,194,160,83,32,115,117,99,104,32,116,104,97,116,32,120,91,105,93,194,160,61,194,160,121,91,106,93,125,46>>]}]},{li,[],[{p,[],[{a,[{id,<<115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>}],[]},<<84,104,101,32,115,101,116,115,32,114,101,99,111,103,110,105,122,101,100,32,98,121,32,116,104,105,115,32,109,111,100,117,108,101,32,97,114,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32,114,101,108,97,116,105,111,110,32,83,101,116,115,44,32,119,104,105,99,104,32,105,115,32,100,101,102,105,110,101,100,32,97,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,115,101,116,32,115,117,99,104,32,116,104,97,116,58>>]},{ul,[],[{li,[],[{p,[],[<<70,111,114,32,101,118,101,114,121,32,97,116,111,109,32,84,44,32,101,120,99,101,112,116,32,39,95,39,44,32,97,110,100,32,102,111,114,32,101,118,101,114,121,32,116,101,114,109,32,88,44,32,40,84,44,194,160,88,41,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,115,32,40>>,{em,[],[<<97,116,111,109,105,99,32,115,101,116,115>>]},<<41,46>>]}]},{li,[],[{p,[],[<<40,91,39,95,39,93,44,194,160,91,93,41,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,115,32,40,116,104,101,32>>,{em,[],[<<117,110,116,121,112,101,100,32,101,109,112,116,121,32,115,101,116>>]},<<41,46>>]}]},{li,[],[{p,[],[<<70,111,114,32,101,118,101,114,121,32,116,117,112,108,101,32,84,194,160,61,32,123,84,91,49,93,44,194,160,46,46,46,44,194,160,84,91,110,93,125,32,97,110,100,32,102,111,114,32,101,118,101,114,121,32,116,117,112,108,101,32,88,194,160,61,32,123,88,91,49,93,44,194,160,46,46,46,44,194,160,88,91,110,93,125,44,32,105,102,32,40,84,91,105,93,44,194,160,88,91,105,93,41,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,115,32,102,111,114,32,101,118,101,114,121,32,49,194,160,60,61,194,160,105,194,160,60,61,194,160,110,44,32,116,104,101,110,32,40,84,44,194,160,88,41,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,115,32,40>>,{em,[],[<<111,114,100,101,114,101,100,32,115,101,116,115>>]},<<41,46>>]}]},{li,[],[{p,[],[<<70,111,114,32,101,118,101,114,121,32,116,101,114,109,32,84,44,32,105,102,32,88,32,105,115,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32,111,114,32,97,32,110,111,110,45,101,109,112,116,121,32,115,111,114,116,101,100,32,108,105,115,116,32,91,88,91,49,93,44,194,160,46,46,46,44,194,160,88,91,110,93,93,32,119,105,116,104,111,117,116,32,100,117,112,108,105,99,97,116,101,115,32,115,117,99,104,32,116,104,97,116,32,40,84,44,194,160,88,91,105,93,41,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,115,32,102,111,114,32,101,118,101,114,121,32,49,194,160,60,61,194,160,105,194,160,60,61,194,160,110,44,32,116,104,101,110,32,40,91,84,93,44,194,160,88,41,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,115,32,40>>,{em,[],[<<116,121,112,101,100,32,117,110,111,114,100,101,114,101,100,32,115,101,116,115>>]},<<41,46>>]}]}]},{p,[],[<<65,110,32>>,{a,[{id,<<101,120,116,101,114,110,97,108,95,115,101,116>>}],[]},{em,[],[<<101,120,116,101,114,110,97,108,32,115,101,116>>]},<<32,105,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,114,97,110,103,101,32,111,102,32,83,101,116,115,46>>]},{p,[],[<<65,32>>,{a,[{id,<<116,121,112,101>>}],[]},{em,[],[<<116,121,112,101>>]},<<32,105,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,100,111,109,97,105,110,32,111,102,32,83,101,116,115,46>>]},{p,[],[<<73,102,32,83,32,105,115,32,97,110,32,101,108,101,109,101,110,116,32,40,84,44,194,160,88,41,32,111,102,32,83,101,116,115,44,32,116,104,101,110,32,84,32,105,115,32,97,32>>,{a,[{id,<<118,97,108,105,100,95,116,121,112,101>>}],[]},{em,[],[<<118,97,108,105,100,32,116,121,112,101>>]},<<32,111,102,32,88,44,32,84,32,105,115,32,116,104,101,32,116,121,112,101,32,111,102,32,83,44,32,97,110,100,32,88,32,105,115,32,116,104,101,32,101,120,116,101,114,110,97,108,32,115,101,116,32,111,102,32,83,46,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,114,111,109,95,116,101,114,109,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,114,111,109,95,116,101,114,109,47,50>>]}]},<<32,99,114,101,97,116,101,115,32,97,32,115,101,116,32,102,114,111,109,32,97,32,116,121,112,101,32,97,110,100,32,97,110,32,69,114,108,97,110,103,32,116,101,114,109,32,116,117,114,110,101,100,32,105,110,116,111,32,97,110,32,101,120,116,101,114,110,97,108,32,115,101,116,46>>]},{p,[],[<<84,104,101,32,115,101,116,115,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,83,101,116,115,32,97,114,101,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32,114,97,110,103,101,32,111,102,32,102,117,110,99,116,105,111,110,32,83,101,116,32,102,114,111,109,32,83,101,116,115,32,116,111,32,69,114,108,97,110,103,32,116,101,114,109,115,32,97,110,100,32,115,101,116,115,32,111,102,32,69,114,108,97,110,103,32,116,101,114,109,115,58>>]},{ul,[],[{li,[],[<<83,101,116,40,84,44,84,101,114,109,41,194,160,61,32,84,101,114,109,44,32,119,104,101,114,101,32,84,32,105,115,32,97,110,32,97,116,111,109>>]},{li,[],[<<83,101,116,40,123,84,91,49,93,44,194,160,46,46,46,44,194,160,84,91,110,93,125,44,194,160,123,88,91,49,93,44,194,160,46,46,46,44,32,194,160,88,91,110,93,125,41,194,160,61,32,40,83,101,116,40,84,91,49,93,44,194,160,88,91,49,93,41,44,194,160,46,46,46,44,194,160,32,83,101,116,40,84,91,110,93,44,194,160,88,91,110,93,41,41>>]},{li,[],[<<83,101,116,40,91,84,93,44,194,160,91,88,91,49,93,44,194,160,46,46,46,44,194,160,88,91,110,93,93,41,194,160,61,32,123,83,101,116,40,84,44,194,160,88,91,49,93,41,44,194,160,46,46,46,44,194,160,83,101,116,40,84,44,194,160,88,91,110,93,41,125>>]},{li,[],[<<83,101,116,40,91,84,93,44,194,160,91,93,41,194,160,61,32,123,125>>]}]},{p,[],[<<87,104,101,110,32,116,104,101,114,101,32,105,115,32,110,111,32,114,105,115,107,32,111,102,32,99,111,110,102,117,115,105,111,110,44,32,101,108,101,109,101,110,116,115,32,111,102,32,83,101,116,115,32,97,114,101,32,105,100,101,110,116,105,102,105,101,100,32,119,105,116,104,32,116,104,101,32,115,101,116,115,32,116,104,101,121,32,114,101,112,114,101,115,101,110,116,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32,85,32,105,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,117,110,105,111,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<117,110,105,111,110,47,50>>]}]},<<32,119,105,116,104,32,83,49,32,97,110,100,32,83,50,32,97,115,32,97,114,103,117,109,101,110,116,115,44,32,116,104,101,110,32,85,32,105,115,32,115,97,105,100,32,116,111,32,98,101,32,116,104,101,32,117,110,105,111,110,32,111,102,32,83,49,32,97,110,100,32,83,50,46,32,65,32,109,111,114,101,32,112,114,101,99,105,115,101,32,102,111,114,109,117,108,97,116,105,111,110,32,105,115,32,116,104,97,116,32,83,101,116,40,85,41,32,105,115,32,116,104,101,32,117,110,105,111,110,32,111,102,32,83,101,116,40,83,49,41,32,97,110,100,32,83,101,116,40,83,50,41,46>>]}]}]},{p,[],[<<84,104,101,32,116,121,112,101,115,32,97,114,101,32,117,115,101,100,32,116,111,32,105,109,112,108,101,109,101,110,116,32,116,104,101,32,118,97,114,105,111,117,115,32,99,111,110,100,105,116,105,111,110,115,32,116,104,97,116,32,115,101,116,115,32,109,117,115,116,32,102,117,108,102,105,108,108,46,32,65,115,32,97,110,32,101,120,97,109,112,108,101,44,32,99,111,110,115,105,100,101,114,32,116,104,101,32,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116,32,111,102,32,116,119,111,32,115,101,116,115,32,82,32,97,110,100,32,83,44,32,97,110,100,32,114,101,99,97,108,108,32,116,104,97,116,32,116,104,101,32,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116,32,111,102,32,82,32,97,110,100,32,83,32,105,115,32,100,101,102,105,110,101,100,32,105,102,32,82,32,105,115,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,116,111,32,89,32,97,110,100,32,83,32,105,115,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,102,114,111,109,32,89,46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,105,109,112,108,101,109,101,110,116,115,32,116,104,101,32,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116,44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50>>]}]},<<44,32,99,104,101,99,107,115,32,116,104,97,116,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,114,101,112,114,101,115,101,110,116,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32,98,121,32,109,97,116,99,104,105,110,103,32,91,123,65,44,66,125,93,32,97,103,97,105,110,115,116,32,116,104,101,32,116,121,112,101,32,111,102,32,116,104,101,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,40,65,114,103,49,32,115,97,121,41,44,32,97,110,100,32,91,123,67,44,68,125,93,32,97,103,97,105,110,115,116,32,116,104,101,32,116,121,112,101,32,111,102,32,116,104,101,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,40,65,114,103,50,32,115,97,121,41,46,32,84,104,101,32,102,97,99,116,32,116,104,97,116,32,91,123,65,44,66,125,93,32,109,97,116,99,104,101,115,32,116,104,101,32,116,121,112,101,32,111,102,32,65,114,103,49,32,105,115,32,116,111,32,98,101,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,65,114,103,49,32,114,101,112,114,101,115,101,110,116,105,110,103,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,102,114,111,109,32,88,32,116,111,32,89,44,32,119,104,101,114,101,32,88,32,105,115,32,100,101,102,105,110,101,100,32,97,115,32,97,108,108,32,115,101,116,115,32,83,101,116,40,120,41,32,102,111,114,32,115,111,109,101,32,101,108,101,109,101,110,116,32,120,32,105,110,32,83,101,116,115,32,116,104,101,32,116,121,112,101,32,111,102,32,119,104,105,99,104,32,105,115,32,65,44,32,97,110,100,32,115,105,109,105,108,97,114,108,121,32,102,111,114,32,89,46,32,73,110,32,116,104,101,32,115,97,109,101,32,119,97,121,32,65,114,103,50,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,114,101,112,114,101,115,101,110,116,105,110,103,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,102,114,111,109,32,87,32,116,111,32,90,46,32,70,105,110,97,108,108,121,32,105,116,32,105,115,32,99,104,101,99,107,101,100,32,116,104,97,116,32,66,32,109,97,116,99,104,101,115,32,67,44,32,119,104,105,99,104,32,105,115,32,115,117,102,102,105,99,105,101,110,116,32,116,111,32,101,110,115,117,114,101,32,116,104,97,116,32,87,32,105,115,32,101,113,117,97,108,32,116,111,32,89,46,32,84,104,101,32,117,110,116,121,112,101,100,32,101,109,112,116,121,32,115,101,116,32,105,115,32,104,97,110,100,108,101,100,32,115,101,112,97,114,97,116,101,108,121,58,32,105,116,115,32,116,121,112,101,44,32,91,39,95,39,93,44,32,109,97,116,99,104,101,115,32,116,104,101,32,116,121,112,101,32,111,102,32,97,110,121,32,117,110,111,114,100,101,114,101,100,32,115,101,116,46>>]},{p,[],[<<65,32,102,101,119,32,102,117,110,99,116,105,111,110,115,32,111,102,32,116,104,105,115,32,109,111,100,117,108,101,32,40>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,100,114,101,115,116,114,105,99,116,105,111,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<100,114,101,115,116,114,105,99,116,105,111,110,47,51>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121,95,112,114,111,106,101,99,116,105,111,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,97,109,105,108,121,95,112,114,111,106,101,99,116,105,111,110,47,50>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,97,114,116,105,116,105,111,110,47,50>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110,95,102,97,109,105,108,121,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,97,114,116,105,116,105,111,110,95,102,97,109,105,108,121,47,50>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,114,111,106,101,99,116,105,111,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,106,101,99,116,105,111,110,47,50>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,115,116,114,105,99,116,105,111,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,115,116,114,105,99,116,105,111,110,47,51>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,117,98,115,116,105,116,117,116,105,111,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,117,98,115,116,105,116,117,116,105,111,110,47,50>>]}]},<<41,32,97,99,99,101,112,116,32,97,110,32,69,114,108,97,110,103,32,102,117,110,99,116,105,111,110,32,97,115,32,97,32,109,101,97,110,115,32,116,111,32,109,111,100,105,102,121,32,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32,97,32,103,105,118,101,110,32,117,110,111,114,100,101,114,101,100,32,115,101,116,46,32>>,{a,[{id,<<115,101,116,95,102,117,110>>}],[]},<<83,117,99,104,32,97,32,102,117,110,99,116,105,111,110,44,32,99,97,108,108,101,100,32,83,101,116,70,117,110,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,44,32,99,97,110,32,98,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,102,117,110,99,116,105,111,110,97,108,32,111,98,106,101,99,116,32,40,102,117,110,41,44,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,101,120,116,101,114,110,97,108,44,194,160,70,117,110,125>>]},<<44,32,111,114,32,97,110,32,105,110,116,101,103,101,114,58>>]},{ul,[],[{li,[],[{p,[],[<<73,102,32,83,101,116,70,117,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,102,117,110,44,32,116,104,101,32,102,117,110,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,103,105,118,101,110,32,115,101,116,32,97,110,100,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,97,115,115,117,109,101,100,32,116,111,32,98,101,32,97,32,115,101,116,46>>]}]},{li,[],[{p,[],[<<73,102,32,83,101,116,70,117,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,101,120,116,101,114,110,97,108,44,32,70,117,110,125>>]},<<44,32,70,117,110,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,32,101,120,116,101,114,110,97,108,32,115,101,116,32,111,102,32,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,103,105,118,101,110,32,115,101,116,32,97,110,100,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,97,115,115,117,109,101,100,32,116,111,32,98,101,32,97,110,32,101,120,116,101,114,110,97,108,32,115,101,116,46,32,83,101,108,101,99,116,105,110,103,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,97,110,32,117,110,111,114,100,101,114,101,100,32,115,101,116,32,97,115,32,101,120,116,101,114,110,97,108,32,115,101,116,115,32,97,110,100,32,97,115,115,101,109,98,108,105,110,103,32,97,32,110,101,119,32,117,110,111,114,100,101,114,101,100,32,115,101,116,32,102,114,111,109,32,97,32,108,105,115,116,32,111,102,32,101,120,116,101,114,110,97,108,32,115,101,116,115,32,105,115,32,105,110,32,116,104,101,32,112,114,101,115,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,104,97,110,32,109,111,100,105,102,121,105,110,103,32,101,97,99,104,32,101,108,101,109,101,110,116,32,97,115,32,97,32,115,101,116,46,32,72,111,119,101,118,101,114,44,32,116,104,105,115,32,111,112,116,105,109,105,122,97,116,105,111,110,32,99,97,110,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,104,101,110,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32,117,110,111,114,100,101,114,101,100,32,115,101,116,32,97,114,101,32,97,116,111,109,105,99,32,111,114,32,111,114,100,101,114,101,100,32,115,101,116,115,46,32,73,116,32,109,117,115,116,32,97,108,115,111,32,98,101,32,116,104,101,32,99,97,115,101,32,116,104,97,116,32,116,104,101,32,116,121,112,101,32,111,102,32,116,104,101,32,101,108,101,109,101,110,116,115,32,109,97,116,99,104,101,115,32,115,111,109,101,32,99,108,97,117,115,101,32,111,102,32,70,117,110,32,40,116,104,101,32,116,121,112,101,32,111,102,32,116,104,101,32,99,114,101,97,116,101,100,32,115,101,116,32,105,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,112,112,108,121,105,110,103,32,70,117,110,32,116,111,32,116,104,101,32,116,121,112,101,32,111,102,32,116,104,101,32,103,105,118,101,110,32,115,101,116,41,44,32,97,110,100,32,116,104,97,116,32,70,117,110,32,100,111,101,115,32,110,111,116,104,105,110,103,32,98,117,116,32,115,101,108,101,99,116,105,110,103,44,32,100,117,112,108,105,99,97,116,105,110,103,44,32,111,114,32,114,101,97,114,114,97,110,103,105,110,103,32,112,97,114,116,115,32,111,102,32,116,104,101,32,101,108,101,109,101,110,116,115,46>>]}]},{li,[],[{p,[],[<<83,112,101,99,105,102,121,105,110,103,32,97,32,83,101,116,70,117,110,32,97,115,32,97,110,32,105,110,116,101,103,101,114,32,73,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,115,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,88,41,194,160,45,62,32,101,108,101,109,101,110,116,40,73,44,194,160,88,41,194,160,101,110,100,125>>]},<<44,32,98,117,116,32,105,115,32,116,111,32,98,101,32,112,114,101,102,101,114,114,101,100,44,32,97,115,32,105,116,32,109,97,107,101,115,32,105,116,32,112,111,115,115,105,98,108,101,32,116,111,32,104,97,110,100,108,101,32,116,104,105,115,32,99,97,115,101,32,101,118,101,110,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,108,121,46>>]}]}]},{p,[],[<<69,120,97,109,112,108,101,115,32,111,102,32,83,101,116,70,117,110,115,58>>]},{pre,[],[{code,[],[<<102,117,110,32,115,111,102,115,58,117,110,105,111,110,47,49,10,102,117,110,40,83,41,32,45,62,32,115,111,102,115,58,112,97,114,116,105,116,105,111,110,40,49,44,32,83,41,32,101,110,100,10,123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,65,41,32,45,62,32,65,32,101,110,100,125,10,123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,123,65,44,95,44,67,125,41,32,45,62,32,123,67,44,65,125,32,101,110,100,125,10,123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,123,95,44,123,95,44,67,125,125,41,32,45,62,32,67,32,101,110,100,125,10,123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,123,95,44,123,95,44,123,95,44,69,125,61,67,125,125,41,32,45,62,32,123,69,44,123,69,44,67,125,125,32,101,110,100,125,10,50>>]}]},{p,[],[<<84,104,101,32,111,114,100,101,114,32,105,110,32,119,104,105,99,104,32,97,32,83,101,116,70,117,110,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,97,110,32,117,110,111,114,100,101,114,101,100,32,115,101,116,32,105,115,32,110,111,116,32,115,112,101,99,105,102,105,101,100,44,32,97,110,100,32,99,97,110,32,99,104,97,110,103,101,32,105,110,32,102,117,116,117,114,101,32,118,101,114,115,105,111,110,115,32,111,102,32,116,104,105,115,32,109,111,100,117,108,101,46>>]},{p,[],[<<84,104,101,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,115,32,111,102,32,116,104,105,115,32,109,111,100,117,108,101,32,105,115,32,100,111,109,105,110,97,116,101,100,32,98,121,32,116,104,101,32,116,105,109,101,32,105,116,32,116,97,107,101,115,32,116,111,32,115,111,114,116,32,108,105,115,116,115,46,32,87,104,101,110,32,110,111,32,115,111,114,116,105,110,103,32,105,115,32,110,101,101,100,101,100,44,32,116,104,101,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,32,105,115,32,105,110,32,116,104,101,32,119,111,114,115,116,32,99,97,115,101,32,112,114,111,112,111,114,116,105,111,110,97,108,32,116,111,32,116,104,101,32,115,117,109,32,111,102,32,116,104,101,32,115,105,122,101,115,32,111,102,32,116,104,101,32,105,110,112,117,116,32,97,114,103,117,109,101,110,116,115,32,97,110,100,32,116,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,46,32,65,32,102,101,119,32,102,117,110,99,116,105,111,110,115,32,101,120,101,99,117,116,101,32,105,110,32,99,111,110,115,116,97,110,116,32,116,105,109,101,58,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,114,111,109,95,101,120,116,101,114,110,97,108,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,114,111,109,95,101,120,116,101,114,110,97,108,47,50>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,115,95,101,109,112,116,121,95,115,101,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,115,95,101,109,112,116,121,95,115,101,116,47,49>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,115,95,115,101,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,115,95,115,101,116,47,49>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,115,95,115,111,102,115,95,115,101,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,115,95,115,111,102,115,95,115,101,116,47,49>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,111,95,101,120,116,101,114,110,97,108,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,111,95,101,120,116,101,114,110,97,108,47,49>>]}]},<<32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,121,112,101,47,49>>]}]},<<46>>]},{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,115,32,111,102,32,116,104,105,115,32,109,111,100,117,108,101,32,101,120,105,116,32,116,104,101,32,112,114,111,99,101,115,115,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<44,32>>,{code,[],[<<98,97,100,95,102,117,110,99,116,105,111,110>>]},<<44,32,111,114,32>>,{code,[],[<<116,121,112,101,95,109,105,115,109,97,116,99,104>>]},<<32,109,101,115,115,97,103,101,32,119,104,101,110,32,103,105,118,101,110,32,98,97,100,108,121,32,102,111,114,109,101,100,32,97,114,103,117,109,101,110,116,115,32,111,114,32,115,101,116,115,32,116,104,101,32,116,121,112,101,115,32,111,102,32,119,104,105,99,104,32,97,114,101,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,46>>]},{p,[],[<<87,104,101,110,32,99,111,109,112,97,114,105,110,103,32,101,120,116,101,114,110,97,108,32,115,101,116,115,44,32,111,112,101,114,97,116,111,114,32>>,{code,[],[<<61,61,47,50>>]},<<32,105,115,32,117,115,101,100,46>>]},{h2,[],[<<83,101,101,32,65,108,115,111>>]},{p,[],[{a,[{href,<<115,116,100,108,105,98,58,100,105,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,99,116,40,51,41>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,100,105,103,114,97,112,104>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,103,114,97,112,104,40,51,41>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,111,114,100,100,105,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,114,100,100,105,99,116,40,51,41>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,111,114,100,115,101,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,114,100,115,101,116,115,40,51,41>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,101,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,101,116,115,40,51,41>>]}]}]}]},#{name => <<115,111,102,115>>,otp_doc_vsn => {1,0,0},source => [46,46,47,120,109,108,47,115,111,102,115,46,120,109,108],types => #{{a_function,0} => {attribute,{120,2},type,{a_function,{user_type,{120,23},relation,[]},[]}},{a_set,0} => {attribute,{124,2},opaque,{a_set,{type,{124,20},record,[{atom,{124,22},'Set'}]},[]}},{anyset,0} => {attribute,{117,2},type,{anyset,{type,{117,19},union,[{user_type,{117,19},ordset,[]},{user_type,{117,30},a_set,[]}]},[]}},{binary_relation,0} => {attribute,{118,2},type,{binary_relation,{user_type,{118,28},relation,[]},[]}},{external_set,0} => {attribute,{119,2},type,{external_set,{type,{119,25},term,[]},[]}},{family,0} => {attribute,{121,2},type,{family,{user_type,{121,19},a_function,[]},[]}},{ordset,0} => {attribute,{122,2},opaque,{ordset,{type,{122,21},record,[{atom,{122,23},'OrdSet'}]},[]}},{relation,0} => {attribute,{123,2},type,{relation,{user_type,{123,21},a_set,[]},[]}},{set_fun,0} => {attribute,{126,2},type,{set_fun,{type,{126,20},union,[{type,{126,20},pos_integer,[]},{type,{127,20},tuple,[{atom,{127,21},external},{type,{127,35},'fun',[{type,{127,35},product,[{user_type,{127,36},external_set,[]}]},{user_type,{127,55},external_set,[]}]}]},{type,{128,24},'fun',[{type,{128,24},product,[{user_type,{128,25},anyset,[]}]},{user_type,{128,38},anyset,[]}]}]},[]}},{set_of_sets,0} => {attribute,{125,2},type,{set_of_sets,{user_type,{125,24},a_set,[]},[]}},{spec_fun,0} => {attribute,{129,2},type,{spec_fun,{type,{129,21},union,[{type,{129,21},tuple,[{atom,{129,22},external},{type,{129,36},'fun',[{type,{129,36},product,[{user_type,{129,37},external_set,[]}]},{type,{129,56},boolean,[]}]}]},{type,{130,25},'fun',[{type,{130,25},product,[{user_type,{130,26},anyset,[]}]},{type,{130,39},boolean,[]}]}]},[]}},{tuple_of,1} => {attribute,{133,2},type,{tuple_of,{type,{133,23},tuple,any},[{var,{133,16},'_T'}]}},{type,0} => {attribute,{131,2},type,{type,{type,{131,17},term,[]},[]}}}},[{{function,fam2rel,1},[{file,[115,111,102,115,46,101,114,108]},{location,0}],[<<102,97,109,50,114,101,108,47,49>>],hidden,#{}},{{function,rel2fam,1},[{file,[115,111,102,115,46,101,114,108]},{location,0}],[<<114,101,108,50,102,97,109,47,49>>],hidden,#{}},{{function,a_function,2},[{file,[115,111,102,115,46,101,114,108]},{location,277}],[<<97,95,102,117,110,99,116,105,111,110,47,50>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,52,53,56>>,equiv => {function,a_function,1},signature => [{attribute,{277,2},spec,{{a_function,2},[{type,{277,17},bounded_fun,[{type,{277,17},'fun',[{type,{277,17},product,[{var,{277,18},'Tuples'},{var,{277,26},'Type'}]},{var,{277,35},'Function'}]},[{type,{278,7},constraint,[{atom,{278,7},is_subtype},[{var,{278,7},'Function'},{user_type,{278,19},a_function,[]}]]},{type,{279,7},constraint,[{atom,{279,7},is_subtype},[{var,{279,7},'Tuples'},{type,{279,17},list,[{type,{279,18},tuple,any}]}]]},{type,{280,7},constraint,[{atom,{280,7},is_subtype},[{var,{280,7},'Type'},{user_type,{280,15},type,[]}]]}]]}]}}]}},{{function,a_function,1},[{file,[115,111,102,115,46,101,114,108]},{location,265}],[<<97,95,102,117,110,99,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,117,110,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,117,110,99,116,105,111,110>>]},<<46,32>>,{code,[],[<<97,95,102,117,110,99,116,105,111,110,40,70,44,194,160,84,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<102,114,111,109,95,116,101,114,109,40,70,44,194,160,84,41>>]},<<32,105,102,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,97,32,102,117,110,99,116,105,111,110,46,32,73,102,32,110,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<32,105,115,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,100,44,32>>,{code,[],[<<91,123,97,116,111,109,44,194,160,97,116,111,109,125,93>>]},<<32,105,115,32,117,115,101,100,32,97,115,32,116,104,101,32,102,117,110,99,116,105,111,110,32,116,121,112,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,52,53,56>>,signature => [{attribute,{265,2},spec,{{a_function,1},[{type,{265,17},bounded_fun,[{type,{265,17},'fun',[{type,{265,17},product,[{var,{265,18},'Tuples'}]},{var,{265,29},'Function'}]},[{type,{266,7},constraint,[{atom,{266,7},is_subtype},[{var,{266,7},'Function'},{user_type,{266,19},a_function,[]}]]},{type,{267,7},constraint,[{atom,{267,7},is_subtype},[{var,{267,7},'Tuples'},{type,{267,17},list,[{type,{267,18},tuple,any}]}]]}]]}]}}]}},{{function,canonical_relation,1},[{file,[115,111,102,115,46,101,114,108]},{location,577}],[<<99,97,110,111,110,105,99,97,108,95,114,101,108,97,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,101,108,101,109,101,110,116,115,32,40,69,44,194,160,83,101,116,41,32,115,117,99,104,32,116,104,97,116,32,83,101,116,32,98,101,108,111,110,103,115,32,116,111,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<32,97,110,100,32,69,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,46,32,73,102,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<112,97,114,116,105,116,105,111,110>>]},<<32,111,102,32,97,32,115,101,116,32,88,32,97,110,100,32,82,32,105,115,32,116,104,101,32,101,113,117,105,118,97,108,101,110,99,101,32,114,101,108,97,116,105,111,110,32,105,110,32,88,32,105,110,100,117,99,101,100,32,98,121,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<44,32,116,104,101,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,114,101,108,97,116,105,111,110,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,99,97,110,111,110,105,99,97,108,95,109,97,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<99,97,110,111,110,105,99,97,108,32,109,97,112>>]},<<32,102,114,111,109,32,88,32,111,110,116,111,32,116,104,101,32,101,113,117,105,118,97,108,101,110,99,101,32,99,108,97,115,115,101,115,32,119,105,116,104,32,114,101,115,112,101,99,116,32,116,111,32,82,46>>]},{pre,[],[{code,[],[<<49,62,32,83,115,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,91,97,44,98,93,44,91,98,44,99,93,93,41,44,10,67,82,32,61,32,115,111,102,115,58,99,97,110,111,110,105,99,97,108,95,114,101,108,97,116,105,111,110,40,83,115,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,67,82,41,46,10,91,123,97,44,91,97,44,98,93,125,44,123,98,44,91,97,44,98,93,125,44,123,98,44,91,98,44,99,93,125,44,123,99,44,91,98,44,99,93,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,52,55,50>>,signature => [{attribute,{577,2},spec,{{canonical_relation,1},[{type,{577,25},bounded_fun,[{type,{577,25},'fun',[{type,{577,25},product,[{var,{577,26},'SetOfSets'}]},{var,{577,40},'BinRel'}]},[{type,{578,7},constraint,[{atom,{578,7},is_subtype},[{var,{578,7},'BinRel'},{user_type,{578,17},binary_relation,[]}]]},{type,{579,7},constraint,[{atom,{579,7},is_subtype},[{var,{579,7},'SetOfSets'},{user_type,{579,20},set_of_sets,[]}]]}]]}]}}]}},{{function,composite,2},[{file,[115,111,102,115,46,101,114,108]},{location,844}],[<<99,111,109,112,111,115,105,116,101,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,99,111,109,112,111,115,105,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<99,111,109,112,111,115,105,116,101>>]},<<32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,115,32>>,{code,[],[<<70,117,110,99,116,105,111,110,49>>]},<<32,97,110,100,32>>,{code,[],[<<70,117,110,99,116,105,111,110,50>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,97,95,102,117,110,99,116,105,111,110,40,91,123,97,44,49,125,44,123,98,44,50,125,44,123,99,44,50,125,93,41,44,10,70,50,32,61,32,115,111,102,115,58,97,95,102,117,110,99,116,105,111,110,40,91,123,49,44,120,125,44,123,50,44,121,125,44,123,51,44,122,125,93,41,44,10,70,32,61,32,115,111,102,115,58,99,111,109,112,111,115,105,116,101,40,70,49,44,32,70,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,41,46,10,91,123,97,44,120,125,44,123,98,44,121,125,44,123,99,44,121,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,52,57,50>>,signature => [{attribute,{844,2},spec,{{composite,2},[{type,{844,16},bounded_fun,[{type,{844,16},'fun',[{type,{844,16},product,[{var,{844,17},'Function1'},{var,{844,28},'Function2'}]},{var,{844,42},'Function3'}]},[{type,{845,7},constraint,[{atom,{845,7},is_subtype},[{var,{845,7},'Function1'},{user_type,{845,20},a_function,[]}]]},{type,{846,7},constraint,[{atom,{846,7},is_subtype},[{var,{846,7},'Function2'},{user_type,{846,20},a_function,[]}]]},{type,{847,7},constraint,[{atom,{847,7},is_subtype},[{var,{847,7},'Function3'},{user_type,{847,20},a_function,[]}]]}]]}]}}]}},{{function,constant_function,2},[{file,[115,111,102,115,46,101,114,108]},{location,465}],[<<99,111,110,115,116,97,110,116,95,102,117,110,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,117,110,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,117,110,99,116,105,111,110>>]},<<32,116,104,97,116,32,109,97,112,115,32,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32,115,101,116,32>>,{code,[],[<<83,101,116>>]},<<32,111,110,116,111,32>>,{code,[],[<<65,110,121,83,101,116>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,32,61,32,115,111,102,115,58,115,101,116,40,91,97,44,98,93,41,44,10,69,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,49,41,44,10,82,32,61,32,115,111,102,115,58,99,111,110,115,116,97,110,116,95,102,117,110,99,116,105,111,110,40,83,44,32,69,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,41,46,10,91,123,97,44,49,125,44,123,98,44,49,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,48,56>>,signature => [{attribute,{465,2},spec,{{constant_function,2},[{type,{465,24},bounded_fun,[{type,{465,24},'fun',[{type,{465,24},product,[{var,{465,25},'Set'},{var,{465,30},'AnySet'}]},{var,{465,41},'Function'}]},[{type,{466,7},constraint,[{atom,{466,7},is_subtype},[{var,{466,7},'AnySet'},{user_type,{466,17},anyset,[]}]]},{type,{467,7},constraint,[{atom,{467,7},is_subtype},[{var,{467,7},'Function'},{user_type,{467,19},a_function,[]}]]},{type,{468,7},constraint,[{atom,{468,7},is_subtype},[{var,{468,7},'Set'},{user_type,{468,14},a_set,[]}]]}]]}]}}]}},{{function,converse,1},[{file,[115,111,102,115,46,101,114,108]},{location,707}],[<<99,111,110,118,101,114,115,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,99,111,110,118,101,114,115,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<99,111,110,118,101,114,115,101>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,97,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,99,111,110,118,101,114,115,101,40,82,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,46,10,91,123,97,44,49,125,44,123,97,44,51,125,44,123,98,44,50,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,50,52>>,signature => [{attribute,{707,2},spec,{{converse,1},[{type,{707,15},bounded_fun,[{type,{707,15},'fun',[{type,{707,15},product,[{var,{707,16},'BinRel1'}]},{var,{707,28},'BinRel2'}]},[{type,{708,7},constraint,[{atom,{708,7},is_subtype},[{var,{708,7},'BinRel1'},{user_type,{708,18},binary_relation,[]}]]},{type,{709,7},constraint,[{atom,{709,7},is_subtype},[{var,{709,7},'BinRel2'},{user_type,{709,18},binary_relation,[]}]]}]]}]}}]}},{{function,difference,2},[{file,[115,111,102,115,46,101,114,108]},{location,398}],[<<100,105,102,102,101,114,101,110,99,101,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,100,105,102,102,101,114,101,110,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,105,102,102,101,114,101,110,99,101>>]},<<32,111,102,32,116,104,101,32,115,101,116,115,32>>,{code,[],[<<83,101,116,49>>]},<<32,97,110,100,32>>,{code,[],[<<83,101,116,50>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,51,56>>,signature => [{attribute,{398,2},spec,{{difference,2},[{type,{398,17},bounded_fun,[{type,{398,17},'fun',[{type,{398,17},product,[{var,{398,18},'Set1'},{var,{398,24},'Set2'}]},{var,{398,33},'Set3'}]},[{type,{399,7},constraint,[{atom,{399,7},is_subtype},[{var,{399,7},'Set1'},{user_type,{399,15},a_set,[]}]]},{type,{400,7},constraint,[{atom,{400,7},is_subtype},[{var,{400,7},'Set2'},{user_type,{400,15},a_set,[]}]]},{type,{401,7},constraint,[{atom,{401,7},is_subtype},[{var,{401,7},'Set3'},{user_type,{401,15},a_set,[]}]]}]]}]}}]}},{{function,digraph_to_family,2},[{file,[115,111,102,115,46,101,114,108]},{location,1520}],[<<100,105,103,114,97,112,104,95,116,111,95,102,97,109,105,108,121,47,50>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,52,55>>,equiv => {function,digraph_to_family,1},signature => [{attribute,{1520,2},spec,{{digraph_to_family,2},[{type,{1520,24},bounded_fun,[{type,{1520,24},'fun',[{type,{1520,24},product,[{var,{1520,25},'Graph'},{var,{1520,32},'Type'}]},{var,{1520,41},'Family'}]},[{type,{1521,7},constraint,[{atom,{1521,7},is_subtype},[{var,{1521,7},'Graph'},{remote_type,{1521,16},[{atom,{1521,16},digraph},{atom,{1521,24},graph},[]]}]]},{type,{1522,7},constraint,[{atom,{1522,7},is_subtype},[{var,{1522,7},'Family'},{user_type,{1522,17},family,[]}]]},{type,{1523,7},constraint,[{atom,{1523,7},is_subtype},[{var,{1523,7},'Type'},{user_type,{1523,15},type,[]}]]}]]}]}}]}},{{function,digraph_to_family,1},[{file,[115,111,102,115,46,101,114,108]},{location,1511}],[<<100,105,103,114,97,112,104,95,116,111,95,102,97,109,105,108,121,47,49>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32,102,114,111,109,32,116,104,101,32,100,105,114,101,99,116,101,100,32,103,114,97,112,104,32>>,{code,[],[<<71,114,97,112,104>>]},<<46,32,69,97,99,104,32,118,101,114,116,101,120,32,97,32,111,102,32>>,{code,[],[<<71,114,97,112,104>>]},<<32,105,115,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,32,112,97,105,114,32,40,97,44,194,160,123,98,91,49,93,44,194,160,46,46,46,44,194,160,98,91,110,93,125,41,44,32,119,104,101,114,101,32,116,104,101,32,98,91,105,93,58,115,32,97,114,101,32,116,104,101,32,111,117,116,45,110,101,105,103,104,98,111,114,115,32,111,102,32,97,46,32,73,102,32,110,111,32,116,121,112,101,32,105,115,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,100,44,32,91,123,97,116,111,109,44,194,160,91,97,116,111,109,93,125,93,32,105,115,32,117,115,101,100,32,97,115,32,116,121,112,101,32,111,102,32,116,104,101,32,102,97,109,105,108,121,46,32,73,116,32,105,115,32,97,115,115,117,109,101,100,32,116,104,97,116,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,118,97,108,105,100,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<118,97,108,105,100,32,116,121,112,101>>]},<<32,111,102,32,116,104,101,32,101,120,116,101,114,110,97,108,32,115,101,116,32,111,102,32,116,104,101,32,102,97,109,105,108,121,46>>]},{p,[],[<<73,102,32,71,32,105,115,32,97,32,100,105,114,101,99,116,101,100,32,103,114,97,112,104,44,32,105,116,32,104,111,108,100,115,32,116,104,97,116,32,116,104,101,32,118,101,114,116,105,99,101,115,32,97,110,100,32,101,100,103,101,115,32,111,102,32,71,32,97,114,101,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,118,101,114,116,105,99,101,115,32,97,110,100,32,101,100,103,101,115,32,111,102,32>>,{code,[],[<<102,97,109,105,108,121,95,116,111,95,100,105,103,114,97,112,104,40,100,105,103,114,97,112,104,95,116,111,95,102,97,109,105,108,121,40,71,41,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,52,55>>,signature => [{attribute,{1511,2},spec,{{digraph_to_family,1},[{type,{1511,24},bounded_fun,[{type,{1511,24},'fun',[{type,{1511,24},product,[{var,{1511,25},'Graph'}]},{var,{1511,35},'Family'}]},[{type,{1512,7},constraint,[{atom,{1512,7},is_subtype},[{var,{1512,7},'Graph'},{remote_type,{1512,16},[{atom,{1512,16},digraph},{atom,{1512,24},graph},[]]}]]},{type,{1513,7},constraint,[{atom,{1513,7},is_subtype},[{var,{1513,7},'Family'},{user_type,{1513,17},family,[]}]]}]]}]}}]}},{{function,domain,1},[{file,[115,111,102,115,46,101,114,108]},{location,612}],[<<100,111,109,97,105,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,100,111,109,97,105,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,111,109,97,105,110>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,49,44,98,125,44,123,50,44,98,125,44,123,50,44,99,125,93,41,44,10,83,32,61,32,115,111,102,115,58,100,111,109,97,105,110,40,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,41,46,10,91,49,44,50,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,54,55>>,signature => [{attribute,{612,2},spec,{{domain,1},[{type,{612,13},bounded_fun,[{type,{612,13},'fun',[{type,{612,13},product,[{var,{612,14},'BinRel'}]},{var,{612,25},'Set'}]},[{type,{613,7},constraint,[{atom,{613,7},is_subtype},[{var,{613,7},'BinRel'},{user_type,{613,17},binary_relation,[]}]]},{type,{614,7},constraint,[{atom,{614,7},is_subtype},[{var,{614,7},'Set'},{user_type,{614,14},a_set,[]}]]}]]}]}}]}},{{function,drestriction,2},[{file,[115,111,102,115,46,101,114,108]},{location,833}],[<<100,114,101,115,116,114,105,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,100,105,102,102,101,114,101,110,99,101,32,98,101,116,119,101,101,110,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,97,110,100,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,115,116,114,105,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,115,116,114,105,99,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,116,111,32>>,{code,[],[<<83,101,116>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,41,44,10,83,32,61,32,115,111,102,115,58,115,101,116,40,91,50,44,52,44,54,93,41,44,10,82,50,32,61,32,115,111,102,115,58,100,114,101,115,116,114,105,99,116,105,111,110,40,82,49,44,32,83,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,46,10,91,123,49,44,97,125,44,123,51,44,99,125,93>>]}]},{p,[],[{code,[],[<<100,114,101,115,116,114,105,99,116,105,111,110,40,82,44,194,160,83,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<100,105,102,102,101,114,101,110,99,101,40,82,44,194,160,114,101,115,116,114,105,99,116,105,111,110,40,82,44,194,160,83,41,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,56,49>>,signature => [{attribute,{833,2},spec,{{drestriction,2},[{type,{833,19},bounded_fun,[{type,{833,19},'fun',[{type,{833,19},product,[{var,{833,20},'BinRel1'},{var,{833,29},'Set'}]},{var,{833,37},'BinRel2'}]},[{type,{834,7},constraint,[{atom,{834,7},is_subtype},[{var,{834,7},'BinRel1'},{user_type,{834,18},binary_relation,[]}]]},{type,{835,7},constraint,[{atom,{835,7},is_subtype},[{var,{835,7},'BinRel2'},{user_type,{835,18},binary_relation,[]}]]},{type,{836,7},constraint,[{atom,{836,7},is_subtype},[{var,{836,7},'Set'},{user_type,{836,14},a_set,[]}]]}]]}]}}]}},{{function,drestriction,3},[{file,[115,111,102,115,46,101,114,108]},{location,960}],[<<100,114,101,115,116,114,105,99,116,105,111,110,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,117,98,115,101,116,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,104,111,115,101,32,101,108,101,109,101,110,116,115,32,116,104,97,116,32,100,111,32,110,111,116,32,103,105,118,101,32,97,110,32,101,108,101,109,101,110,116,32,105,110,32>>,{code,[],[<<83,101,116,50>>]},<<32,97,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,101,116,70,117,110,32,61,32,123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,123,95,65,44,66,44,67,125,41,32,45,62,32,123,66,44,67,125,32,101,110,100,125,44,10,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,97,44,97,97,44,49,125,44,123,98,44,98,98,44,50,125,44,123,99,44,99,99,44,51,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,98,98,44,50,125,44,123,99,99,44,51,125,44,123,100,100,44,52,125,93,41,44,10,82,51,32,61,32,115,111,102,115,58,100,114,101,115,116,114,105,99,116,105,111,110,40,83,101,116,70,117,110,44,32,82,49,44,32,82,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,51,41,46,10,91,123,97,44,97,97,44,49,125,93>>]}]},{p,[],[{code,[],[<<100,114,101,115,116,114,105,99,116,105,111,110,40,70,44,194,160,83,49,44,194,160,83,50,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<100,105,102,102,101,114,101,110,99,101,40,83,49,44,194,160,114,101,115,116,114,105,99,116,105,111,110,40,70,44,194,160,83,49,44,194,160,83,50,41,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,54,48,48>>,signature => [{attribute,{960,2},spec,{{drestriction,3},[{type,{960,19},bounded_fun,[{type,{960,19},'fun',[{type,{960,19},product,[{var,{960,20},'SetFun'},{var,{960,28},'Set1'},{var,{960,34},'Set2'}]},{var,{960,43},'Set3'}]},[{type,{961,7},constraint,[{atom,{961,7},is_subtype},[{var,{961,7},'SetFun'},{user_type,{961,17},set_fun,[]}]]},{type,{962,7},constraint,[{atom,{962,7},is_subtype},[{var,{962,7},'Set1'},{user_type,{962,15},a_set,[]}]]},{type,{963,7},constraint,[{atom,{963,7},is_subtype},[{var,{963,7},'Set2'},{user_type,{963,15},a_set,[]}]]},{type,{964,7},constraint,[{atom,{964,7},is_subtype},[{var,{964,7},'Set3'},{user_type,{964,15},a_set,[]}]]}]]}]}}]}},{{function,empty_set,0},[{file,[115,111,102,115,46,101,114,108]},{location,178}],[<<101,109,112,116,121,95,115,101,116,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,116,121,112,101,100,32,101,109,112,116,121,32,115,101,116>>]},<<46,32>>,{code,[],[<<101,109,112,116,121,95,115,101,116,40,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<102,114,111,109,95,116,101,114,109,40,91,93,44,194,160,91,39,95,39,93,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,54,50,48>>,signature => [{attribute,{178,2},spec,{{empty_set,0},[{type,{178,16},bounded_fun,[{type,{178,16},'fun',[{type,{178,16},product,[]},{var,{178,22},'Set'}]},[{type,{179,7},constraint,[{atom,{179,7},is_subtype},[{var,{179,7},'Set'},{user_type,{179,14},a_set,[]}]]}]]}]}}]}},{{function,extension,3},[{file,[115,111,102,115,46,101,114,108]},{location,779}],[<<101,120,116,101,110,115,105,111,110,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,120,116,101,110,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,120,116,101,110,115,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,115,117,99,104,32,116,104,97,116,32,102,111,114,32,101,97,99,104,32,101,108,101,109,101,110,116,32,69,32,105,110,32>>,{code,[],[<<83,101,116>>]},<<32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,100,111,109,97,105,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,111,109,97,105,110>>]},<<32,111,102,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<44,32>>,{code,[],[<<66,105,110,82,101,108,50>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,112,97,105,114,32,40,69,44,194,160>>,{code,[],[<<65,110,121,83,101,116>>]},<<41,46>>]},{pre,[],[{code,[],[<<49,62,32,83,32,61,32,115,111,102,115,58,115,101,116,40,91,98,44,99,93,41,44,10,65,32,61,32,115,111,102,115,58,101,109,112,116,121,95,115,101,116,40,41,44,10,82,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,49,44,50,93,125,44,123,98,44,91,51,93,125,93,41,44,10,88,32,61,32,115,111,102,115,58,101,120,116,101,110,115,105,111,110,40,82,44,32,83,44,32,65,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,88,41,46,10,91,123,97,44,91,49,44,50,93,125,44,123,98,44,91,51,93,125,44,123,99,44,91,93,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,54,51,48>>,signature => [{attribute,{779,2},spec,{{extension,3},[{type,{779,16},bounded_fun,[{type,{779,16},'fun',[{type,{779,16},product,[{var,{779,17},'BinRel1'},{var,{779,26},'Set'},{var,{779,31},'AnySet'}]},{var,{779,42},'BinRel2'}]},[{type,{780,7},constraint,[{atom,{780,7},is_subtype},[{var,{780,7},'AnySet'},{user_type,{780,17},anyset,[]}]]},{type,{781,7},constraint,[{atom,{781,7},is_subtype},[{var,{781,7},'BinRel1'},{user_type,{781,18},binary_relation,[]}]]},{type,{782,7},constraint,[{atom,{782,7},is_subtype},[{var,{782,7},'BinRel2'},{user_type,{782,18},binary_relation,[]}]]},{type,{783,7},constraint,[{atom,{783,7},is_subtype},[{var,{783,7},'Set'},{user_type,{783,14},a_set,[]}]]}]]}]}}]}},{{function,family,2},[{file,[115,111,102,115,46,101,114,108]},{location,302}],[<<102,97,109,105,108,121,47,50>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,54,53,48>>,equiv => {function,family,1},signature => [{attribute,{302,2},spec,{{family,2},[{type,{302,13},bounded_fun,[{type,{302,13},'fun',[{type,{302,13},product,[{var,{302,14},'Tuples'},{var,{302,22},'Type'}]},{var,{302,31},'Family'}]},[{type,{303,7},constraint,[{atom,{303,7},is_subtype},[{var,{303,7},'Family'},{user_type,{303,17},family,[]}]]},{type,{304,7},constraint,[{atom,{304,7},is_subtype},[{var,{304,7},'Tuples'},{type,{304,17},list,[{type,{304,18},tuple,any}]}]]},{type,{305,7},constraint,[{atom,{305,7},is_subtype},[{var,{305,7},'Type'},{user_type,{305,15},type,[]}]]}]]}]}}]}},{{function,family,1},[{file,[115,111,102,115,46,101,114,108]},{location,290}],[<<102,97,109,105,108,121,47,49>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121,32,111,102,32,115,117,98,115,101,116,115>>]},<<46,32>>,{code,[],[<<102,97,109,105,108,121,40,70,44,194,160,84,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<102,114,111,109,95,116,101,114,109,40,70,44,194,160,84,41>>]},<<32,105,102,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,97,32,102,97,109,105,108,121,46,32,73,102,32,110,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<32,105,115,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,100,44,32>>,{code,[],[<<91,123,97,116,111,109,44,194,160,91,97,116,111,109,93,125,93>>]},<<32,105,115,32,117,115,101,100,32,97,115,32,116,104,101,32,102,97,109,105,108,121,32,116,121,112,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,54,53,48>>,signature => [{attribute,{290,2},spec,{{family,1},[{type,{290,13},bounded_fun,[{type,{290,13},'fun',[{type,{290,13},product,[{var,{290,14},'Tuples'}]},{var,{290,25},'Family'}]},[{type,{291,7},constraint,[{atom,{291,7},is_subtype},[{var,{291,7},'Family'},{user_type,{291,17},family,[]}]]},{type,{292,7},constraint,[{atom,{292,7},is_subtype},[{var,{292,7},'Tuples'},{type,{292,17},list,[{type,{292,18},tuple,any}]}]]}]]}]}}]}},{{function,family_difference,2},[{file,[115,111,102,115,46,101,114,108]},{location,1385}],[<<102,97,109,105,108,121,95,100,105,102,102,101,114,101,110,99,101,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,97,114,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,105,101,115>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,51>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,115,117,99,104,32,116,104,97,116,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,105,115,32,101,113,117,97,108,32,116,111,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<44,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,51>>]},<<91,105,93,32,105,115,32,116,104,101,32,100,105,102,102,101,114,101,110,99,101,32,98,101,116,119,101,101,110,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,102,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,109,97,112,115,32,105,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<70,97,109,105,108,121,49,91,105,93>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,49,44,50,93,125,44,123,98,44,91,51,44,52,93,125,93,41,44,10,70,50,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,98,44,91,52,44,53,93,125,44,123,99,44,91,54,44,55,93,125,93,41,44,10,70,51,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,100,105,102,102,101,114,101,110,99,101,40,70,49,44,32,70,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,51,41,46,10,91,123,97,44,91,49,44,50,93,125,44,123,98,44,91,51,93,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,54,54,52>>,signature => [{attribute,{1385,2},spec,{{family_difference,2},[{type,{1385,24},bounded_fun,[{type,{1385,24},'fun',[{type,{1385,24},product,[{var,{1385,25},'Family1'},{var,{1385,34},'Family2'}]},{var,{1385,46},'Family3'}]},[{type,{1386,7},constraint,[{atom,{1386,7},is_subtype},[{var,{1386,7},'Family1'},{user_type,{1386,18},family,[]}]]},{type,{1387,7},constraint,[{atom,{1387,7},is_subtype},[{var,{1387,7},'Family2'},{user_type,{1387,18},family,[]}]]},{type,{1388,7},constraint,[{atom,{1388,7},is_subtype},[{var,{1388,7},'Family3'},{user_type,{1388,18},family,[]}]]}]]}]}}]}},{{function,family_domain,1},[{file,[115,111,102,115,46,101,114,108]},{location,1341}],[<<102,97,109,105,108,121,95,100,111,109,97,105,110,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,105,115,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,102,111,114,32,101,118,101,114,121,32,105,32,105,110,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,115,117,99,104,32,116,104,97,116,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,100,111,109,97,105,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,111,109,97,105,110>>]},<<32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49,91,105,93>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,70,82,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,97,44,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,125,44,123,98,44,91,93,125,44,123,99,44,91,123,52,44,100,125,44,123,53,44,101,125,93,125,93,41,44,10,70,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,100,111,109,97,105,110,40,70,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,41,46,10,91,123,97,44,91,49,44,50,44,51,93,125,44,123,98,44,91,93,125,44,123,99,44,91,52,44,53,93,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,54,56,53>>,signature => [{attribute,{1341,2},spec,{{family_domain,1},[{type,{1341,20},bounded_fun,[{type,{1341,20},'fun',[{type,{1341,20},product,[{var,{1341,21},'Family1'}]},{var,{1341,33},'Family2'}]},[{type,{1342,7},constraint,[{atom,{1342,7},is_subtype},[{var,{1342,7},'Family1'},{user_type,{1342,18},family,[]}]]},{type,{1343,7},constraint,[{atom,{1343,7},is_subtype},[{var,{1343,7},'Family2'},{user_type,{1343,18},family,[]}]]}]]}]}}]}},{{function,family_field,1},[{file,[115,111,102,115,46,101,114,108]},{location,1365}],[<<102,97,109,105,108,121,95,102,105,101,108,100,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,105,115,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,102,111,114,32,101,118,101,114,121,32,105,32,105,110,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,115,117,99,104,32,116,104,97,116,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,105,101,108,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,105,101,108,100>>]},<<32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,46>>]},{pre,[],[{code,[],[<<49,62,32,70,82,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,97,44,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,125,44,123,98,44,91,93,125,44,123,99,44,91,123,52,44,100,125,44,123,53,44,101,125,93,125,93,41,44,10,70,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,102,105,101,108,100,40,70,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,41,46,10,91,123,97,44,91,49,44,50,44,51,44,97,44,98,44,99,93,125,44,123,98,44,91,93,125,44,123,99,44,91,52,44,53,44,100,44,101,93,125,93>>]}]},{p,[],[{code,[],[<<102,97,109,105,108,121,95,102,105,101,108,100,40,70,97,109,105,108,121,49,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<102,97,109,105,108,121,95,117,110,105,111,110,40,102,97,109,105,108,121,95,100,111,109,97,105,110,40,70,97,109,105,108,121,49,41,44,32,102,97,109,105,108,121,95,114,97,110,103,101,40,70,97,109,105,108,121,49,41,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,55,48,54>>,signature => [{attribute,{1365,2},spec,{{family_field,1},[{type,{1365,19},bounded_fun,[{type,{1365,19},'fun',[{type,{1365,19},product,[{var,{1365,20},'Family1'}]},{var,{1365,32},'Family2'}]},[{type,{1366,7},constraint,[{atom,{1366,7},is_subtype},[{var,{1366,7},'Family1'},{user_type,{1366,18},family,[]}]]},{type,{1367,7},constraint,[{atom,{1367,7},is_subtype},[{var,{1367,7},'Family2'},{user_type,{1367,18},family,[]}]]}]]}]}}]}},{{function,family_intersection,1},[{file,[115,111,102,115,46,101,114,108]},{location,1325}],[<<102,97,109,105,108,121,95,105,110,116,101,114,115,101,99,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,105,115,32,97,32,115,101,116,32,111,102,32,115,101,116,115,32,102,111,114,32,101,118,101,114,121,32,105,32,105,110,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,115,117,99,104,32,116,104,97,116,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,110,116,101,114,115,101,99,116,105,111,110,95,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,110,116,101,114,115,101,99,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,105,115,32,97,110,32,101,109,112,116,121,32,115,101,116,32,102,111,114,32,115,111,109,101,32,105,44,32,116,104,101,32,112,114,111,99,101,115,115,32,101,120,105,116,115,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,109,101,115,115,97,103,101,46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,97,44,91,91,49,44,50,44,51,93,44,91,50,44,51,44,52,93,93,125,44,123,98,44,91,91,120,44,121,44,122,93,44,91,120,44,121,93,93,125,93,41,44,10,70,50,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,105,110,116,101,114,115,101,99,116,105,111,110,40,70,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,50,41,46,10,91,123,97,44,91,50,44,51,93,125,44,123,98,44,91,120,44,121,93,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,55,51,48>>,signature => [{attribute,{1325,2},spec,{{family_intersection,1},[{type,{1325,26},bounded_fun,[{type,{1325,26},'fun',[{type,{1325,26},product,[{var,{1325,27},'Family1'}]},{var,{1325,39},'Family2'}]},[{type,{1326,7},constraint,[{atom,{1326,7},is_subtype},[{var,{1326,7},'Family1'},{user_type,{1326,18},family,[]}]]},{type,{1327,7},constraint,[{atom,{1327,7},is_subtype},[{var,{1327,7},'Family2'},{user_type,{1327,18},family,[]}]]}]]}]}}]}},{{function,family_intersection,2},[{file,[115,111,102,115,46,101,114,108]},{location,1378}],[<<102,97,109,105,108,121,95,105,110,116,101,114,115,101,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,97,114,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,105,101,115>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,51>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,115,117,99,104,32,116,104,97,116,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,105,115,32,116,104,101,32,105,110,116,101,114,115,101,99,116,105,111,110,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<58,115,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<58,115,32,105,110,100,101,120,32,115,101,116,115,44,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,51>>]},<<91,105,93,32,105,115,32,116,104,101,32,105,110,116,101,114,115,101,99,116,105,111,110,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,49,44,50,93,125,44,123,98,44,91,51,44,52,93,125,44,123,99,44,91,53,44,54,93,125,93,41,44,10,70,50,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,98,44,91,52,44,53,93,125,44,123,99,44,91,55,44,56,93,125,44,123,100,44,91,57,44,49,48,93,125,93,41,44,10,70,51,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,105,110,116,101,114,115,101,99,116,105,111,110,40,70,49,44,32,70,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,51,41,46,10,91,123,98,44,91,52,93,125,44,123,99,44,91,93,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,55,53,52>>,signature => [{attribute,{1378,2},spec,{{family_intersection,2},[{type,{1378,26},bounded_fun,[{type,{1378,26},'fun',[{type,{1378,26},product,[{var,{1378,27},'Family1'},{var,{1378,36},'Family2'}]},{var,{1378,48},'Family3'}]},[{type,{1379,7},constraint,[{atom,{1379,7},is_subtype},[{var,{1379,7},'Family1'},{user_type,{1379,18},family,[]}]]},{type,{1380,7},constraint,[{atom,{1380,7},is_subtype},[{var,{1380,7},'Family2'},{user_type,{1380,18},family,[]}]]},{type,{1381,7},constraint,[{atom,{1381,7},is_subtype},[{var,{1381,7},'Family3'},{user_type,{1381,18},family,[]}]]}]]}]}}]}},{{function,family_projection,2},[{file,[115,111,102,115,46,101,114,108]},{location,1451}],[<<102,97,109,105,108,121,95,112,114,111,106,101,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,115,117,99,104,32,116,104,97,116,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,99,97,108,108,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<32,119,105,116,104,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,97,115,32,97,114,103,117,109,101,110,116,46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,97,44,91,91,49,44,50,93,44,91,50,44,51,93,93,125,44,123,98,44,91,91,93,93,125,93,41,44,10,70,50,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,112,114,111,106,101,99,116,105,111,110,40,102,117,110,32,115,111,102,115,58,117,110,105,111,110,47,49,44,32,70,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,50,41,46,10,91,123,97,44,91,49,44,50,44,51,93,125,44,123,98,44,91,93,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,55,55,52>>,signature => [{attribute,{1451,2},spec,{{family_projection,2},[{type,{1451,24},bounded_fun,[{type,{1451,24},'fun',[{type,{1451,24},product,[{var,{1451,25},'SetFun'},{var,{1451,33},'Family1'}]},{var,{1451,45},'Family2'}]},[{type,{1452,7},constraint,[{atom,{1452,7},is_subtype},[{var,{1452,7},'SetFun'},{user_type,{1452,17},set_fun,[]}]]},{type,{1453,7},constraint,[{atom,{1453,7},is_subtype},[{var,{1453,7},'Family1'},{user_type,{1453,18},family,[]}]]},{type,{1454,7},constraint,[{atom,{1454,7},is_subtype},[{var,{1454,7},'Family2'},{user_type,{1454,18},family,[]}]]}]]}]}}]}},{{function,family_range,1},[{file,[115,111,102,115,46,101,114,108]},{location,1353}],[<<102,97,109,105,108,121,95,114,97,110,103,101,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,105,115,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,102,111,114,32,101,118,101,114,121,32,105,32,105,110,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,115,117,99,104,32,116,104,97,116,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,97,110,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,97,110,103,101>>]},<<32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,46>>]},{pre,[],[{code,[],[<<49,62,32,70,82,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,97,44,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,125,44,123,98,44,91,93,125,44,123,99,44,91,123,52,44,100,125,44,123,53,44,101,125,93,125,93,41,44,10,70,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,114,97,110,103,101,40,70,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,41,46,10,91,123,97,44,91,97,44,98,44,99,93,125,44,123,98,44,91,93,125,44,123,99,44,91,100,44,101,93,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,55,57,51>>,signature => [{attribute,{1353,2},spec,{{family_range,1},[{type,{1353,19},bounded_fun,[{type,{1353,19},'fun',[{type,{1353,19},product,[{var,{1353,20},'Family1'}]},{var,{1353,32},'Family2'}]},[{type,{1354,7},constraint,[{atom,{1354,7},is_subtype},[{var,{1354,7},'Family1'},{user_type,{1354,18},family,[]}]]},{type,{1355,7},constraint,[{atom,{1355,7},is_subtype},[{var,{1355,7},'Family2'},{user_type,{1355,18},family,[]}]]}]]}]}}]}},{{function,family_specification,2},[{file,[115,111,102,115,46,101,114,108]},{location,1265}],[<<102,97,109,105,108,121,95,115,112,101,99,105,102,105,99,97,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,115,116,114,105,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,115,116,114,105,99,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,116,111,32,116,104,111,115,101,32,101,108,101,109,101,110,116,115,32,105,32,111,102,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,102,111,114,32,119,104,105,99,104,32>>,{code,[],[<<70,117,110>>]},<<32,97,112,112,108,105,101,100,32,116,111,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,114,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<46,32,73,102,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,101,120,116,101,114,110,97,108,44,194,160,70,117,110,50,125>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,117,110,50>>]},<<32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,120,116,101,114,110,97,108,32,115,101,116>>]},<<32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,112,112,108,105,101,100,32,116,111,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,49,44,50,44,51,93,125,44,123,98,44,91,49,44,50,93,125,44,123,99,44,91,49,93,125,93,41,44,10,83,112,101,99,70,117,110,32,61,32,102,117,110,40,83,41,32,45,62,32,115,111,102,115,58,110,111,95,101,108,101,109,101,110,116,115,40,83,41,32,61,58,61,32,50,32,101,110,100,44,10,70,50,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,115,112,101,99,105,102,105,99,97,116,105,111,110,40,83,112,101,99,70,117,110,44,32,70,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,50,41,46,10,91,123,98,44,91,49,44,50,93,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,56,49,52>>,signature => [{attribute,{1265,2},spec,{{family_specification,2},[{type,{1265,27},bounded_fun,[{type,{1265,27},'fun',[{type,{1265,27},product,[{var,{1265,28},'Fun'},{var,{1265,33},'Family1'}]},{var,{1265,45},'Family2'}]},[{type,{1266,7},constraint,[{atom,{1266,7},is_subtype},[{var,{1266,7},'Fun'},{user_type,{1266,14},spec_fun,[]}]]},{type,{1267,7},constraint,[{atom,{1267,7},is_subtype},[{var,{1267,7},'Family1'},{user_type,{1267,18},family,[]}]]},{type,{1268,7},constraint,[{atom,{1268,7},is_subtype},[{var,{1268,7},'Family2'},{user_type,{1268,18},family,[]}]]}]]}]}}]}},{{function,family_to_digraph,2},[{file,[115,111,102,115,46,101,114,108]},{location,1489}],[<<102,97,109,105,108,121,95,116,111,95,100,105,103,114,97,112,104,47,50>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,56,51,57>>,equiv => {function,family_to_digraph,1},signature => [{attribute,{1489,2},spec,{{family_to_digraph,2},[{type,{1489,24},bounded_fun,[{type,{1489,24},'fun',[{type,{1489,24},product,[{var,{1489,25},'Family'},{var,{1489,33},'GraphType'}]},{var,{1489,47},'Graph'}]},[{type,{1490,7},constraint,[{atom,{1490,7},is_subtype},[{var,{1490,7},'Graph'},{remote_type,{1490,16},[{atom,{1490,16},digraph},{atom,{1490,24},graph},[]]}]]},{type,{1491,7},constraint,[{atom,{1491,7},is_subtype},[{var,{1491,7},'Family'},{user_type,{1491,17},family,[]}]]},{type,{1492,7},constraint,[{atom,{1492,7},is_subtype},[{var,{1492,7},'GraphType'},{type,{1492,20},list,[{remote_type,{1492,21},[{atom,{1492,21},digraph},{atom,{1492,29},d_type},[]]}]}]]}]]}]}}]}},{{function,family_to_digraph,1},[{file,[115,111,102,115,46,101,114,108]},{location,1479}],[<<102,97,109,105,108,121,95,116,111,95,100,105,103,114,97,112,104,47,49>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32,100,105,114,101,99,116,101,100,32,103,114,97,112,104,32,102,114,111,109,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32>>,{code,[],[<<70,97,109,105,108,121>>]},<<46,32,70,111,114,32,101,97,99,104,32,112,97,105,114,32,40,97,44,194,160,123,98,91,49,93,44,194,160,46,46,46,44,194,160,98,91,110,93,125,41,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121>>]},<<44,32,118,101,114,116,101,120,32,97,32,97,110,100,32,116,104,101,32,101,100,103,101,115,32,40,97,44,194,160,98,91,105,93,41,32,102,111,114,32,49,194,160,60,61,194,160,105,194,160,60,61,194,160,110,32,97,114,101,32,97,100,100,101,100,32,116,111,32,97,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,100,105,114,101,99,116,101,100,32,103,114,97,112,104,46>>]},{p,[],[<<73,102,32,110,111,32,103,114,97,112,104,32,116,121,112,101,32,105,115,32,115,112,101,99,105,102,105,101,100,44,32>>,{a,[{href,<<115,116,100,108,105,98,58,100,105,103,114,97,112,104,35,110,101,119,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<100,105,103,114,97,112,104,58,110,101,119,47,48>>]}]},<<32,105,115,32,117,115,101,100,32,102,111,114,32,99,114,101,97,116,105,110,103,32,116,104,101,32,100,105,114,101,99,116,101,100,32,103,114,97,112,104,44,32,111,116,104,101,114,119,105,115,101,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<71,114,97,112,104,84,121,112,101>>]},<<32,105,115,32,112,97,115,115,101,100,32,111,110,32,97,115,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,100,105,103,114,97,112,104,35,110,101,119,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<100,105,103,114,97,112,104,58,110,101,119,47,49>>]}]},<<46>>]},{p,[],[<<73,116,32,70,32,105,115,32,97,32,102,97,109,105,108,121,44,32,105,116,32,104,111,108,100,115,32,116,104,97,116,32,70,32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32>>,{code,[],[<<100,105,103,114,97,112,104,95,116,111,95,102,97,109,105,108,121,40,102,97,109,105,108,121,95,116,111,95,100,105,103,114,97,112,104,40,70,41,44,194,160,116,121,112,101,40,70,41,41>>]},<<46,32,69,113,117,97,108,105,116,121,32,104,111,108,100,115,32,105,102,32>>,{code,[],[<<117,110,105,111,110,95,111,102,95,102,97,109,105,108,121,40,70,41>>]},<<32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32>>,{code,[],[<<100,111,109,97,105,110,40,70,41>>]},<<46>>]},{p,[],[<<67,114,101,97,116,105,110,103,32,97,32,99,121,99,108,101,32,105,110,32,97,110,32,97,99,121,99,108,105,99,32,103,114,97,112,104,32,101,120,105,116,115,32,116,104,101,32,112,114,111,99,101,115,115,32,119,105,116,104,32,97,32>>,{code,[],[<<99,121,99,108,105,99>>]},<<32,109,101,115,115,97,103,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,56,51,57>>,signature => [{attribute,{1479,2},spec,{{family_to_digraph,1},[{type,{1479,24},bounded_fun,[{type,{1479,24},'fun',[{type,{1479,24},product,[{var,{1479,25},'Family'}]},{var,{1479,36},'Graph'}]},[{type,{1480,7},constraint,[{atom,{1480,7},is_subtype},[{var,{1480,7},'Graph'},{remote_type,{1480,16},[{atom,{1480,16},digraph},{atom,{1480,24},graph},[]]}]]},{type,{1481,7},constraint,[{atom,{1481,7},is_subtype},[{var,{1481,7},'Family'},{user_type,{1481,17},family,[]}]]}]]}]}}]}},{{function,family_to_relation,1},[{file,[115,111,102,115,46,101,114,108]},{location,1253}],[<<102,97,109,105,108,121,95,116,111,95,114,101,108,97,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<32,105,115,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,99,111,110,116,97,105,110,105,110,103,32,97,108,108,32,112,97,105,114,115,32,40,105,44,194,160,120,41,32,115,117,99,104,32,116,104,97,116,32,105,32,98,101,108,111,110,103,115,32,116,111,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121>>]},<<32,97,110,100,32,120,32,98,101,108,111,110,103,115,32,116,111,32>>,{code,[],[<<70,97,109,105,108,121>>]},<<91,105,93,46>>]},{pre,[],[{code,[],[<<49,62,32,70,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,93,125,44,32,123,98,44,91,49,93,125,44,32,123,99,44,91,50,44,51,93,125,93,41,44,10,82,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,116,111,95,114,101,108,97,116,105,111,110,40,70,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,41,46,10,91,123,98,44,49,125,44,123,99,44,50,125,44,123,99,44,51,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,56,54,53>>,signature => [{attribute,{1253,2},spec,{{family_to_relation,1},[{type,{1253,25},bounded_fun,[{type,{1253,25},'fun',[{type,{1253,25},product,[{var,{1253,26},'Family'}]},{var,{1253,37},'BinRel'}]},[{type,{1254,7},constraint,[{atom,{1254,7},is_subtype},[{var,{1254,7},'Family'},{user_type,{1254,17},family,[]}]]},{type,{1255,7},constraint,[{atom,{1255,7},is_subtype},[{var,{1255,7},'BinRel'},{user_type,{1255,17},binary_relation,[]}]]}]]}]}}]}},{{function,family_union,1},[{file,[115,111,102,115,46,101,114,108]},{location,1314}],[<<102,97,109,105,108,121,95,117,110,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,105,115,32,97,32,115,101,116,32,111,102,32,115,101,116,115,32,102,111,114,32,101,97,99,104,32,105,32,105,110,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,115,117,99,104,32,116,104,97,116,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,117,110,105,111,110,95,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,97,44,91,91,49,44,50,93,44,91,50,44,51,93,93,125,44,123,98,44,91,91,93,93,125,93,41,44,10,70,50,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,117,110,105,111,110,40,70,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,50,41,46,10,91,123,97,44,91,49,44,50,44,51,93,125,44,123,98,44,91,93,125,93>>]}]},{p,[],[{code,[],[<<102,97,109,105,108,121,95,117,110,105,111,110,40,70,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<102,97,109,105,108,121,95,112,114,111,106,101,99,116,105,111,110,40,102,117,110,32,115,111,102,115,58,117,110,105,111,110,47,49,44,194,160,70,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,56,56,51>>,signature => [{attribute,{1314,2},spec,{{family_union,1},[{type,{1314,19},bounded_fun,[{type,{1314,19},'fun',[{type,{1314,19},product,[{var,{1314,20},'Family1'}]},{var,{1314,32},'Family2'}]},[{type,{1315,7},constraint,[{atom,{1315,7},is_subtype},[{var,{1315,7},'Family1'},{user_type,{1315,18},family,[]}]]},{type,{1316,7},constraint,[{atom,{1316,7},is_subtype},[{var,{1316,7},'Family2'},{user_type,{1316,18},family,[]}]]}]]}]}}]}},{{function,family_union,2},[{file,[115,111,102,115,46,101,114,108]},{location,1371}],[<<102,97,109,105,108,121,95,117,110,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,97,114,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,105,101,115>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,51>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,115,117,99,104,32,116,104,97,116,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,105,115,32,116,104,101,32,117,110,105,111,110,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<58,115,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<58,115,32,105,110,100,101,120,32,115,101,116,115,44,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,51>>]},<<91,105,93,32,105,115,32,116,104,101,32,117,110,105,111,110,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,102,32,98,111,116,104,32,109,97,112,32,105,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,111,114,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,49,44,50,93,125,44,123,98,44,91,51,44,52,93,125,44,123,99,44,91,53,44,54,93,125,93,41,44,10,70,50,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,98,44,91,52,44,53,93,125,44,123,99,44,91,55,44,56,93,125,44,123,100,44,91,57,44,49,48,93,125,93,41,44,10,70,51,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,117,110,105,111,110,40,70,49,44,32,70,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,51,41,46,10,91,123,97,44,91,49,44,50,93,125,44,123,98,44,91,51,44,52,44,53,93,125,44,123,99,44,91,53,44,54,44,55,44,56,93,125,44,123,100,44,91,57,44,49,48,93,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,57,48,54>>,signature => [{attribute,{1371,2},spec,{{family_union,2},[{type,{1371,19},bounded_fun,[{type,{1371,19},'fun',[{type,{1371,19},product,[{var,{1371,20},'Family1'},{var,{1371,29},'Family2'}]},{var,{1371,41},'Family3'}]},[{type,{1372,7},constraint,[{atom,{1372,7},is_subtype},[{var,{1372,7},'Family1'},{user_type,{1372,18},family,[]}]]},{type,{1373,7},constraint,[{atom,{1373,7},is_subtype},[{var,{1373,7},'Family2'},{user_type,{1373,18},family,[]}]]},{type,{1374,7},constraint,[{atom,{1374,7},is_subtype},[{var,{1374,7},'Family3'},{user_type,{1374,18},family,[]}]]}]]}]}}]}},{{function,field,1},[{file,[115,111,102,115,46,101,114,108]},{location,632}],[<<102,105,101,108,100,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,105,101,108,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,105,101,108,100>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,49,44,98,125,44,123,50,44,98,125,44,123,50,44,99,125,93,41,44,10,83,32,61,32,115,111,102,115,58,102,105,101,108,100,40,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,41,46,10,91,49,44,50,44,97,44,98,44,99,93>>]}]},{p,[],[{code,[],[<<102,105,101,108,100,40,82,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<117,110,105,111,110,40,100,111,109,97,105,110,40,82,41,44,32,114,97,110,103,101,40,82,41,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,57,50,56>>,signature => [{attribute,{632,2},spec,{{field,1},[{type,{632,12},bounded_fun,[{type,{632,12},'fun',[{type,{632,12},product,[{var,{632,13},'BinRel'}]},{var,{632,24},'Set'}]},[{type,{633,7},constraint,[{atom,{633,7},is_subtype},[{var,{633,7},'BinRel'},{user_type,{633,17},binary_relation,[]}]]},{type,{634,7},constraint,[{atom,{634,7},is_subtype},[{var,{634,7},'Set'},{user_type,{634,14},a_set,[]}]]}]]}]}}]}},{{function,from_external,2},[{file,[115,111,102,115,46,101,114,108]},{location,169}],[<<102,114,111,109,95,101,120,116,101,114,110,97,108,47,50>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32,115,101,116,32,102,114,111,109,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,120,116,101,114,110,97,108,32,115,101,116>>]},<<32>>,{code,[],[<<69,120,116,101,114,110,97,108,83,101,116>>]},<<32,97,110,100,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<32>>,{code,[],[<<84,121,112,101>>]},<<46,32,73,116,32,105,115,32,97,115,115,117,109,101,100,32,116,104,97,116,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,118,97,108,105,100,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<118,97,108,105,100,32,116,121,112,101>>]},<<32,111,102,32>>,{code,[],[<<69,120,116,101,114,110,97,108,83,101,116>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,57,52,52>>,signature => [{attribute,{169,2},spec,{{from_external,2},[{type,{169,20},bounded_fun,[{type,{169,20},'fun',[{type,{169,20},product,[{var,{169,21},'ExternalSet'},{var,{169,34},'Type'}]},{var,{169,43},'AnySet'}]},[{type,{170,7},constraint,[{atom,{170,7},is_subtype},[{var,{170,7},'ExternalSet'},{user_type,{170,22},external_set,[]}]]},{type,{171,7},constraint,[{atom,{171,7},is_subtype},[{var,{171,7},'AnySet'},{user_type,{171,17},anyset,[]}]]},{type,{172,7},constraint,[{atom,{172,7},is_subtype},[{var,{172,7},'Type'},{user_type,{172,15},type,[]}]]}]]}]}}]}},{{function,from_sets,1},[{file,[115,111,102,115,46,101,114,108]},{location,220}],[<<102,114,111,109,95,115,101,116,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,111,114,100,101,114,101,100,32,115,101,116>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,115,101,116,115,32,111,102,32,108,105,115,116,32>>,{code,[],[<<76,105,115,116,79,102,83,101,116,115>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,97,44,49,125,44,123,98,44,50,125,93,41,44,10,83,50,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,120,44,51,125,44,123,121,44,52,125,93,41,44,10,83,32,61,32,115,111,102,115,58,102,114,111,109,95,115,101,116,115,40,91,83,49,44,83,50,93,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,41,46,10,91,91,123,97,44,49,125,44,123,98,44,50,125,93,44,91,123,120,44,51,125,44,123,121,44,52,125,93,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,57,53,55>>,signature => [{attribute,{220,2},spec,{{from_sets,1},[{type,{220,16},bounded_fun,[{type,{220,16},'fun',[{type,{220,16},product,[{var,{220,17},'ListOfSets'}]},{var,{220,32},'Set'}]},[{type,{221,7},constraint,[{atom,{221,7},is_subtype},[{var,{221,7},'Set'},{user_type,{221,14},a_set,[]}]]},{type,{222,7},constraint,[{atom,{222,7},is_subtype},[{var,{222,7},'ListOfSets'},{type,{222,21},list,[{user_type,{222,22},anyset,[]}]}]]}]]}]}}]}},{{function,from_sets,1},[{file,[115,111,102,115,46,101,114,108]},{location,220}],[<<102,114,111,109,95,115,101,116,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<111,114,100,101,114,101,100,32,115,101,116>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,115,101,116,115,32,111,102,32,116,104,101,32,110,111,110,45,101,109,112,116,121,32,116,117,112,108,101,32>>,{code,[],[<<84,117,112,108,101,79,102,83,101,116,115>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,57,55,51>>,signature => [{attribute,{220,2},spec,{{from_sets,1},[{type,{223,16},bounded_fun,[{type,{223,16},'fun',[{type,{223,16},product,[{var,{223,17},'TupleOfSets'}]},{var,{223,33},'Ordset'}]},[{type,{224,7},constraint,[{atom,{224,7},is_subtype},[{var,{224,7},'Ordset'},{user_type,{224,17},ordset,[]}]]},{type,{225,7},constraint,[{atom,{225,7},is_subtype},[{var,{225,7},'TupleOfSets'},{user_type,{225,22},tuple_of,[{user_type,{225,31},anyset,[]}]}]]}]]}]}}]}},{{function,from_term,2},[{file,[115,111,102,115,46,101,114,108]},{location,155}],[<<102,114,111,109,95,116,101,114,109,47,50>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,57,56,51>>,equiv => {function,from_term,1},signature => [{attribute,{155,2},spec,{{from_term,2},[{type,{155,16},bounded_fun,[{type,{155,16},'fun',[{type,{155,16},product,[{var,{155,17},'Term'},{var,{155,23},'Type'}]},{var,{155,32},'AnySet'}]},[{type,{156,7},constraint,[{atom,{156,7},is_subtype},[{var,{156,7},'AnySet'},{user_type,{156,17},anyset,[]}]]},{type,{157,7},constraint,[{atom,{157,7},is_subtype},[{var,{157,7},'Term'},{type,{157,15},term,[]}]]},{type,{158,7},constraint,[{atom,{158,7},is_subtype},[{var,{158,7},'Type'},{user_type,{158,15},type,[]}]]}]]}]}}]}},{{function,from_term,1},[{file,[115,111,102,115,46,101,114,108]},{location,143}],[<<102,114,111,109,95,116,101,114,109,47,49>>],#{<<101,110>> => [{p,[],[{a,[{id,<<102,114,111,109,95,116,101,114,109>>}],[]},<<67,114,101,97,116,101,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,101,116,115>>]},<<32,98,121,32,116,114,97,118,101,114,115,105,110,103,32,116,101,114,109,32>>,{code,[],[<<84,101,114,109>>]},<<44,32,115,111,114,116,105,110,103,32,108,105,115,116,115,44,32,114,101,109,111,118,105,110,103,32,100,117,112,108,105,99,97,116,101,115,44,32,97,110,100,32,100,101,114,105,118,105,110,103,32,111,114,32,118,101,114,105,102,121,105,110,103,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,118,97,108,105,100,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<118,97,108,105,100,32,116,121,112,101>>]},<<32,102,111,114,32,116,104,101,32,115,111,32,111,98,116,97,105,110,101,100,32,101,120,116,101,114,110,97,108,32,115,101,116,46,32,65,110,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,100,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<32>>,{code,[],[<<84,121,112,101>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,108,105,109,105,116,32,116,104,101,32,100,101,112,116,104,32,111,102,32,116,104,101,32,116,114,97,118,101,114,115,97,108,59,32,97,110,32,97,116,111,109,105,99,32,116,121,112,101,32,115,116,111,112,115,32,116,104,101,32,116,114,97,118,101,114,115,97,108,44,32,97,115,32,115,104,111,119,110,32,98,121,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,32,119,104,101,114,101,32>>,{code,[],[<<34,102,111,111,34>>]},<<32,97,110,100,32>>,{code,[],[<<123,34,102,111,111,34,125>>]},<<32,97,114,101,32,108,101,102,116,32,117,110,109,111,100,105,102,105,101,100,58>>]},{pre,[],[{code,[],[<<49,62,32,83,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,123,34,102,111,111,34,125,44,91,49,44,49,93,125,44,123,34,102,111,111,34,44,91,50,44,50,93,125,93,44,10,91,123,97,116,111,109,44,91,97,116,111,109,93,125,93,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,41,46,10,91,123,123,34,102,111,111,34,125,44,91,49,93,125,44,123,34,102,111,111,34,44,91,50,93,125,93>>]}]},{p,[],[{code,[],[<<102,114,111,109,95,116,101,114,109>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,32,99,114,101,97,116,105,110,103,32,97,116,111,109,105,99,32,111,114,32,111,114,100,101,114,101,100,32,115,101,116,115,46,32,84,104,101,32,111,110,108,121,32,112,117,114,112,111,115,101,32,111,102,32,115,117,99,104,32,97,32,115,101,116,32,105,115,32,116,104,97,116,32,111,102,32,108,97,116,101,114,32,98,117,105,108,100,105,110,103,32,117,110,111,114,100,101,114,101,100,32,115,101,116,115,44,32,97,115,32,97,108,108,32,102,117,110,99,116,105,111,110,115,32,105,110,32,116,104,105,115,32,109,111,100,117,108,101,32,116,104,97,116,32>>,{em,[],[<<100,111>>]},<<32,97,110,121,116,104,105,110,103,32,111,112,101,114,97,116,101,32,111,110,32,117,110,111,114,100,101,114,101,100,32,115,101,116,115,46,32,67,114,101,97,116,105,110,103,32,117,110,111,114,100,101,114,101,100,32,115,101,116,115,32,102,114,111,109,32,97,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,111,114,100,101,114,101,100,32,115,101,116,115,32,99,97,110,32,98,101,32,116,104,101,32,119,97,121,32,116,111,32,103,111,32,105,102,32,116,104,101,32,111,114,100,101,114,101,100,32,115,101,116,115,32,97,114,101,32,98,105,103,32,97,110,100,32,111,110,101,32,100,111,101,115,32,110,111,116,32,119,97,110,116,32,116,111,32,119,97,115,116,101,32,104,101,97,112,32,98,121,32,114,101,98,117,105,108,100,105,110,103,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32,117,110,111,114,100,101,114,101,100,32,115,101,116,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,32,115,104,111,119,115,32,116,104,97,116,32,97,32,115,101,116,32,99,97,110,32,98,101,32,98,117,105,108,116,32,34,108,97,121,101,114,32,98,121,32,108,97,121,101,114,34,58>>]},{pre,[],[{code,[],[<<49,62,32,65,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,97,41,44,10,83,32,61,32,115,111,102,115,58,115,101,116,40,91,49,44,50,44,51,93,41,44,10,80,49,32,61,32,115,111,102,115,58,102,114,111,109,95,115,101,116,115,40,123,65,44,83,125,41,44,10,80,50,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,123,98,44,91,54,44,53,44,52,93,125,41,44,10,83,115,32,61,32,115,111,102,115,58,102,114,111,109,95,115,101,116,115,40,91,80,49,44,80,50,93,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,115,41,46,10,91,123,97,44,91,49,44,50,44,51,93,125,44,123,98,44,91,52,44,53,44,54,93,125,93>>]}]},{p,[],[<<79,116,104,101,114,32,102,117,110,99,116,105,111,110,115,32,116,104,97,116,32,99,114,101,97,116,101,32,115,101,116,115,32,97,114,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,114,111,109,95,101,120,116,101,114,110,97,108,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,114,111,109,95,101,120,116,101,114,110,97,108,47,50>>]}]},<<32,97,110,100,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,114,111,109,95,115,101,116,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,114,111,109,95,115,101,116,115,47,49>>]}]},<<46,32,83,112,101,99,105,97,108,32,99,97,115,101,115,32,111,102,32>>,{code,[],[<<102,114,111,109,95,116,101,114,109,47,50>>]},<<32,97,114,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,97,95,102,117,110,99,116,105,111,110,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<97,95,102,117,110,99,116,105,111,110,47,49,44,50>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,109,112,116,121,95,115,101,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,109,112,116,121,95,115,101,116,47,48>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,97,109,105,108,121,47,49,44,50>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,108,97,116,105,111,110,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,108,97,116,105,111,110,47,49,44,50>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,101,116,47,49,44,50>>]}]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,57,56,51>>,signature => [{attribute,{143,2},spec,{{from_term,1},[{type,{143,16},bounded_fun,[{type,{143,16},'fun',[{type,{143,16},product,[{var,{143,17},'Term'}]},{var,{143,26},'AnySet'}]},[{type,{144,7},constraint,[{atom,{144,7},is_subtype},[{var,{144,7},'AnySet'},{user_type,{144,17},anyset,[]}]]},{type,{145,7},constraint,[{atom,{145,7},is_subtype},[{var,{145,7},'Term'},{type,{145,15},term,[]}]]}]]}]}}]}},{{function,image,2},[{file,[115,111,102,115,46,101,114,108]},{location,717}],[<<105,109,97,103,101,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,109,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,109,97,103,101>>]},<<32,111,102,32,115,101,116,32>>,{code,[],[<<83,101,116,49>>]},<<32,117,110,100,101,114,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,50,44,99,125,44,123,51,44,100,125,93,41,44,10,83,49,32,61,32,115,111,102,115,58,115,101,116,40,91,49,44,50,93,41,44,10,83,50,32,61,32,115,111,102,115,58,105,109,97,103,101,40,82,44,32,83,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,50,41,46,10,91,97,44,98,44,99,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,48,51,51>>,signature => [{attribute,{717,2},spec,{{image,2},[{type,{717,12},bounded_fun,[{type,{717,12},'fun',[{type,{717,12},product,[{var,{717,13},'BinRel'},{var,{717,21},'Set1'}]},{var,{717,30},'Set2'}]},[{type,{718,7},constraint,[{atom,{718,7},is_subtype},[{var,{718,7},'BinRel'},{user_type,{718,17},binary_relation,[]}]]},{type,{719,7},constraint,[{atom,{719,7},is_subtype},[{var,{719,7},'Set1'},{user_type,{719,15},a_set,[]}]]},{type,{720,7},constraint,[{atom,{720,7},is_subtype},[{var,{720,7},'Set2'},{user_type,{720,15},a_set,[]}]]}]]}]}}]}},{{function,intersection,1},[{file,[115,111,102,115,46,101,114,108]},{location,563}],[<<105,110,116,101,114,115,101,99,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,110,116,101,114,115,101,99,116,105,111,110,95,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,110,116,101,114,115,101,99,116,105,111,110>>]},<<32,111,102,32,116,104,101,32,115,101,116,32,111,102,32,115,101,116,115,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<46>>]},{p,[],[<<73,110,116,101,114,115,101,99,116,105,110,103,32,97,110,32,101,109,112,116,121,32,115,101,116,32,111,102,32,115,101,116,115,32,101,120,105,116,115,32,116,104,101,32,112,114,111,99,101,115,115,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,109,101,115,115,97,103,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,48,52,57>>,signature => [{attribute,{563,2},spec,{{intersection,1},[{type,{563,19},bounded_fun,[{type,{563,19},'fun',[{type,{563,19},product,[{var,{563,20},'SetOfSets'}]},{var,{563,34},'Set'}]},[{type,{564,7},constraint,[{atom,{564,7},is_subtype},[{var,{564,7},'Set'},{user_type,{564,14},a_set,[]}]]},{type,{565,7},constraint,[{atom,{565,7},is_subtype},[{var,{565,7},'SetOfSets'},{user_type,{565,20},set_of_sets,[]}]]}]]}]}}]}},{{function,intersection,2},[{file,[115,111,102,115,46,101,114,108]},{location,388}],[<<105,110,116,101,114,115,101,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,110,116,101,114,115,101,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,110,116,101,114,115,101,99,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,97,110,100,32>>,{code,[],[<<83,101,116,50>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,48,54,49>>,signature => [{attribute,{388,2},spec,{{intersection,2},[{type,{388,19},bounded_fun,[{type,{388,19},'fun',[{type,{388,19},product,[{var,{388,20},'Set1'},{var,{388,26},'Set2'}]},{var,{388,35},'Set3'}]},[{type,{389,7},constraint,[{atom,{389,7},is_subtype},[{var,{389,7},'Set1'},{user_type,{389,15},a_set,[]}]]},{type,{390,7},constraint,[{atom,{390,7},is_subtype},[{var,{390,7},'Set2'},{user_type,{390,15},a_set,[]}]]},{type,{391,7},constraint,[{atom,{391,7},is_subtype},[{var,{391,7},'Set3'},{user_type,{391,15},a_set,[]}]]}]]}]}}]}},{{function,intersection_of_family,1},[{file,[115,111,102,115,46,101,114,108]},{location,1299}],[<<105,110,116,101,114,115,101,99,116,105,111,110,95,111,102,95,102,97,109,105,108,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,105,110,116,101,114,115,101,99,116,105,111,110,32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32>>,{code,[],[<<70,97,109,105,108,121>>]},<<46>>]},{p,[],[<<73,110,116,101,114,115,101,99,116,105,110,103,32,97,110,32,101,109,112,116,121,32,102,97,109,105,108,121,32,101,120,105,116,115,32,116,104,101,32,112,114,111,99,101,115,115,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,109,101,115,115,97,103,101,46>>]},{pre,[],[{code,[],[<<49,62,32,70,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,48,44,50,44,52,93,125,44,123,98,44,91,48,44,49,44,50,93,125,44,123,99,44,91,50,44,51,93,125,93,41,44,10,83,32,61,32,115,111,102,115,58,105,110,116,101,114,115,101,99,116,105,111,110,95,111,102,95,102,97,109,105,108,121,40,70,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,41,46,10,91,50,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,48,55,49>>,signature => [{attribute,{1299,2},spec,{{intersection_of_family,1},[{type,{1299,29},bounded_fun,[{type,{1299,29},'fun',[{type,{1299,29},product,[{var,{1299,30},'Family'}]},{var,{1299,41},'Set'}]},[{type,{1300,7},constraint,[{atom,{1300,7},is_subtype},[{var,{1300,7},'Family'},{user_type,{1300,17},family,[]}]]},{type,{1301,7},constraint,[{atom,{1301,7},is_subtype},[{var,{1301,7},'Set'},{user_type,{1301,14},a_set,[]}]]}]]}]}}]}},{{function,inverse,1},[{file,[115,111,102,115,46,101,114,108]},{location,872}],[<<105,110,118,101,114,115,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,110,118,101,114,115,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,110,118,101,114,115,101>>]},<<32,111,102,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<70,117,110,99,116,105,111,110,49>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,105,110,118,101,114,115,101,40,82,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,46,10,91,123,97,44,49,125,44,123,98,44,50,125,44,123,99,44,51,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,48,56,56>>,signature => [{attribute,{872,2},spec,{{inverse,1},[{type,{872,14},bounded_fun,[{type,{872,14},'fun',[{type,{872,14},product,[{var,{872,15},'Function1'}]},{var,{872,29},'Function2'}]},[{type,{873,7},constraint,[{atom,{873,7},is_subtype},[{var,{873,7},'Function1'},{user_type,{873,20},a_function,[]}]]},{type,{874,7},constraint,[{atom,{874,7},is_subtype},[{var,{874,7},'Function2'},{user_type,{874,20},a_function,[]}]]}]]}]}}]}},{{function,inverse_image,2},[{file,[115,111,102,115,46,101,114,108]},{location,734}],[<<105,110,118,101,114,115,101,95,105,109,97,103,101,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,110,118,101,114,115,101,95,105,109,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,110,118,101,114,115,101,32,105,109,97,103,101>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,117,110,100,101,114,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,50,44,99,125,44,123,51,44,100,125,93,41,44,10,83,49,32,61,32,115,111,102,115,58,115,101,116,40,91,99,44,100,44,101,93,41,44,10,83,50,32,61,32,115,111,102,115,58,105,110,118,101,114,115,101,95,105,109,97,103,101,40,82,44,32,83,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,50,41,46,10,91,50,44,51,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,48,50>>,signature => [{attribute,{734,2},spec,{{inverse_image,2},[{type,{734,20},bounded_fun,[{type,{734,20},'fun',[{type,{734,20},product,[{var,{734,21},'BinRel'},{var,{734,29},'Set1'}]},{var,{734,38},'Set2'}]},[{type,{735,7},constraint,[{atom,{735,7},is_subtype},[{var,{735,7},'BinRel'},{user_type,{735,17},binary_relation,[]}]]},{type,{736,7},constraint,[{atom,{736,7},is_subtype},[{var,{736,7},'Set1'},{user_type,{736,15},a_set,[]}]]},{type,{737,7},constraint,[{atom,{737,7},is_subtype},[{var,{737,7},'Set2'},{user_type,{737,15},a_set,[]}]]}]]}]}}]}},{{function,is_a_function,1},[{file,[115,111,102,115,46,101,114,108]},{location,812}],[<<105,115,95,97,95,102,117,110,99,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,117,110,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,117,110,99,116,105,111,110>>]},<<32,111,114,32,116,104,101,32,117,110,116,121,112,101,100,32,101,109,112,116,121,32,115,101,116,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,49,57>>,signature => [{attribute,{812,2},spec,{{is_a_function,1},[{type,{812,20},bounded_fun,[{type,{812,20},'fun',[{type,{812,20},product,[{var,{812,21},'BinRel'}]},{var,{812,32},'Bool'}]},[{type,{813,7},constraint,[{atom,{813,7},is_subtype},[{var,{813,7},'Bool'},{type,{813,15},boolean,[]}]]},{type,{814,7},constraint,[{atom,{814,7},is_subtype},[{var,{814,7},'BinRel'},{user_type,{814,17},binary_relation,[]}]]}]]}]}}]}},{{function,is_disjoint,2},[{file,[115,111,102,115,46,101,114,108]},{location,535}],[<<105,115,95,100,105,115,106,111,105,110,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,97,110,100,32>>,{code,[],[<<83,101,116,50>>]},<<32,97,114,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,100,105,115,106,111,105,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,105,115,106,111,105,110,116>>]},<<44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,50,57>>,signature => [{attribute,{535,2},spec,{{is_disjoint,2},[{type,{535,18},bounded_fun,[{type,{535,18},'fun',[{type,{535,18},product,[{var,{535,19},'Set1'},{var,{535,25},'Set2'}]},{var,{535,34},'Bool'}]},[{type,{536,7},constraint,[{atom,{536,7},is_subtype},[{var,{536,7},'Bool'},{type,{536,15},boolean,[]}]]},{type,{537,7},constraint,[{atom,{537,7},is_subtype},[{var,{537,7},'Set1'},{user_type,{537,15},a_set,[]}]]},{type,{538,7},constraint,[{atom,{538,7},is_subtype},[{var,{538,7},'Set2'},{user_type,{538,15},a_set,[]}]]}]]}]}}]}},{{function,is_empty_set,1},[{file,[115,111,102,115,46,101,114,108]},{location,527}],[<<105,115,95,101,109,112,116,121,95,115,101,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<65,110,121,83,101,116>>]},<<32,105,115,32,97,110,32,101,109,112,116,121,32,117,110,111,114,100,101,114,101,100,32,115,101,116,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,52,48>>,signature => [{attribute,{527,2},spec,{{is_empty_set,1},[{type,{527,19},bounded_fun,[{type,{527,19},'fun',[{type,{527,19},product,[{var,{527,20},'AnySet'}]},{var,{527,31},'Bool'}]},[{type,{528,7},constraint,[{atom,{528,7},is_subtype},[{var,{528,7},'AnySet'},{user_type,{528,17},anyset,[]}]]},{type,{529,7},constraint,[{atom,{529,7},is_subtype},[{var,{529,7},'Bool'},{type,{529,15},boolean,[]}]]}]]}]}}]}},{{function,is_equal,2},[{file,[115,111,102,115,46,101,114,108]},{location,480}],[<<105,115,95,101,113,117,97,108,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<65,110,121,83,101,116,49>>]},<<32,97,110,100,32>>,{code,[],[<<65,110,121,83,101,116,50>>]},<<32,97,114,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,113,117,97,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,113,117,97,108>>]},<<44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,32,115,104,111,119,115,32,116,104,97,116,32>>,{code,[],[<<61,61,47,50>>]},<<32,105,115,32,117,115,101,100,32,119,104,101,110,32,99,111,109,112,97,114,105,110,103,32,115,101,116,115,32,102,111,114,32,101,113,117,97,108,105,116,121,58>>]},{pre,[],[{code,[],[<<49,62,32,83,49,32,61,32,115,111,102,115,58,115,101,116,40,91,49,46,48,93,41,44,10,83,50,32,61,32,115,111,102,115,58,115,101,116,40,91,49,93,41,44,10,115,111,102,115,58,105,115,95,101,113,117,97,108,40,83,49,44,32,83,50,41,46,10,116,114,117,101>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,52,57>>,signature => [{attribute,{480,2},spec,{{is_equal,2},[{type,{480,15},bounded_fun,[{type,{480,15},'fun',[{type,{480,15},product,[{var,{480,16},'AnySet1'},{var,{480,25},'AnySet2'}]},{var,{480,37},'Bool'}]},[{type,{481,7},constraint,[{atom,{481,7},is_subtype},[{var,{481,7},'AnySet1'},{user_type,{481,18},anyset,[]}]]},{type,{482,7},constraint,[{atom,{482,7},is_subtype},[{var,{482,7},'AnySet2'},{user_type,{482,18},anyset,[]}]]},{type,{483,7},constraint,[{atom,{483,7},is_subtype},[{var,{483,7},'Bool'},{type,{483,15},boolean,[]}]]}]]}]}}]}},{{function,is_set,1},[{file,[115,111,102,115,46,101,114,108]},{location,519}],[<<105,115,95,115,101,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<65,110,121,83,101,116>>]},<<32,105,115,32,97,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,111,114,100,101,114,101,100,32,115,101,116>>]},<<44,32,97,110,100,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32>>,{code,[],[<<65,110,121,83,101,116>>]},<<32,105,115,32,97,110,32,111,114,100,101,114,101,100,32,115,101,116,32,111,114,32,97,110,32,97,116,111,109,105,99,32,115,101,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,54,54>>,signature => [{attribute,{519,2},spec,{{is_set,1},[{type,{519,13},bounded_fun,[{type,{519,13},'fun',[{type,{519,13},product,[{var,{519,14},'AnySet'}]},{var,{519,25},'Bool'}]},[{type,{520,7},constraint,[{atom,{520,7},is_subtype},[{var,{520,7},'AnySet'},{user_type,{520,17},anyset,[]}]]},{type,{521,7},constraint,[{atom,{521,7},is_subtype},[{var,{521,7},'Bool'},{type,{521,15},boolean,[]}]]}]]}]}}]}},{{function,is_sofs_set,1},[{file,[115,111,102,115,46,101,114,108]},{location,509}],[<<105,115,95,115,111,102,115,95,115,101,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,111,114,100,101,114,101,100,32,115,101,116>>]},<<44,32,97,110,32,111,114,100,101,114,101,100,32,115,101,116,44,32,111,114,32,97,110,32,97,116,111,109,105,99,32,115,101,116,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,55,55>>,signature => [{attribute,{509,2},spec,{{is_sofs_set,1},[{type,{509,18},bounded_fun,[{type,{509,18},'fun',[{type,{509,18},product,[{var,{509,19},'Term'}]},{var,{509,28},'Bool'}]},[{type,{510,7},constraint,[{atom,{510,7},is_subtype},[{var,{510,7},'Bool'},{type,{510,15},boolean,[]}]]},{type,{511,7},constraint,[{atom,{511,7},is_subtype},[{var,{511,7},'Term'},{type,{511,15},term,[]}]]}]]}]}}]}},{{function,is_subset,2},[{file,[115,111,102,115,46,101,114,108]},{location,499}],[<<105,115,95,115,117,98,115,101,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,117,98,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<115,117,98,115,101,116>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,50>>]},<<44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,56,55>>,signature => [{attribute,{499,2},spec,{{is_subset,2},[{type,{499,16},bounded_fun,[{type,{499,16},'fun',[{type,{499,16},product,[{var,{499,17},'Set1'},{var,{499,23},'Set2'}]},{var,{499,32},'Bool'}]},[{type,{500,7},constraint,[{atom,{500,7},is_subtype},[{var,{500,7},'Bool'},{type,{500,15},boolean,[]}]]},{type,{501,7},constraint,[{atom,{501,7},is_subtype},[{var,{501,7},'Set1'},{user_type,{501,15},a_set,[]}]]},{type,{502,7},constraint,[{atom,{502,7},is_subtype},[{var,{502,7},'Set2'},{user_type,{502,15},a_set,[]}]]}]]}]}}]}},{{function,is_type,1},[{file,[115,111,102,115,46,101,114,108]},{location,183}],[<<105,115,95,116,121,112,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,101,114,109,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,57,55>>,signature => [{attribute,{183,2},spec,{{is_type,1},[{type,{183,14},bounded_fun,[{type,{183,14},'fun',[{type,{183,14},product,[{var,{183,15},'Term'}]},{var,{183,24},'Bool'}]},[{type,{184,7},constraint,[{atom,{184,7},is_subtype},[{var,{184,7},'Bool'},{type,{184,15},boolean,[]}]]},{type,{185,7},constraint,[{atom,{185,7},is_subtype},[{var,{185,7},'Term'},{type,{185,15},term,[]}]]}]]}]}}]}},{{function,join,4},[{file,[115,111,102,115,46,101,114,108]},{location,1206}],[<<106,111,105,110,47,52>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,110,97,116,117,114,97,108,95,106,111,105,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<110,97,116,117,114,97,108,32,106,111,105,110>>]},<<32,111,102,32,116,104,101,32,114,101,108,97,116,105,111,110,115,32>>,{code,[],[<<82,101,108,97,116,105,111,110,49>>]},<<32,97,110,100,32>>,{code,[],[<<82,101,108,97,116,105,111,110,50>>]},<<32,111,110,32,99,111,111,114,100,105,110,97,116,101,115,32>>,{code,[],[<<73>>]},<<32,97,110,100,32>>,{code,[],[<<74>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,97,44,120,44,49,125,44,123,98,44,121,44,50,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,102,44,103,125,44,123,49,44,104,44,105,125,44,123,50,44,51,44,52,125,93,41,44,10,74,32,61,32,115,111,102,115,58,106,111,105,110,40,82,49,44,32,51,44,32,82,50,44,32,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,74,41,46,10,91,123,97,44,120,44,49,44,102,44,103,125,44,123,97,44,120,44,49,44,104,44,105,125,44,123,98,44,121,44,50,44,51,44,52,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,50,48,54>>,signature => [{attribute,{1206,2},spec,{{join,4},[{type,{1206,11},bounded_fun,[{type,{1206,11},'fun',[{type,{1206,11},product,[{var,{1206,12},'Relation1'},{var,{1206,23},'I'},{var,{1206,26},'Relation2'},{var,{1206,37},'J'}]},{var,{1206,43},'Relation3'}]},[{type,{1207,7},constraint,[{atom,{1207,7},is_subtype},[{var,{1207,7},'Relation1'},{user_type,{1207,20},relation,[]}]]},{type,{1208,7},constraint,[{atom,{1208,7},is_subtype},[{var,{1208,7},'Relation2'},{user_type,{1208,20},relation,[]}]]},{type,{1209,7},constraint,[{atom,{1209,7},is_subtype},[{var,{1209,7},'Relation3'},{user_type,{1209,20},relation,[]}]]},{type,{1210,7},constraint,[{atom,{1210,7},is_subtype},[{var,{1210,7},'I'},{type,{1210,12},pos_integer,[]}]]},{type,{1211,7},constraint,[{atom,{1211,7},is_subtype},[{var,{1211,7},'J'},{type,{1211,12},pos_integer,[]}]]}]]}]}}]}},{{function,multiple_relative_product,2},[{file,[115,111,102,115,46,101,114,108]},{location,1190}],[<<109,117,108,116,105,112,108,101,95,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<84,117,112,108,101,79,102,66,105,110,82,101,108,115>>]},<<32,105,115,32,97,32,110,111,110,45,101,109,112,116,121,32,116,117,112,108,101,32,123,82,91,49,93,44,194,160,46,46,46,44,194,160,82,91,110,93,125,32,111,102,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32,97,110,100,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,105,115,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,44,32,116,104,101,110,32>>,{code,[],[<<66,105,110,82,101,108,50>>]},<<32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,109,117,108,116,105,112,108,101,95,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<109,117,108,116,105,112,108,101,32,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,116,104,101,32,111,114,100,101,114,101,100,32,115,101,116,32,40,82,91,105,93,44,194,160,46,46,46,44,194,160,82,91,110,93,41,32,97,110,100,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,105,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,97,44,49,125,44,123,98,44,50,125,44,123,99,44,51,125,93,41,44,10,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,97,44,98,125,44,123,98,44,99,125,44,123,99,44,97,125,93,41,44,10,77,80,32,61,32,115,111,102,115,58,109,117,108,116,105,112,108,101,95,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,40,123,82,105,44,32,82,105,125,44,32,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,115,111,102,115,58,114,97,110,103,101,40,77,80,41,41,46,10,91,123,49,44,50,125,44,123,50,44,51,125,44,123,51,44,49,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,50,50,51>>,signature => [{attribute,{1190,2},spec,{{multiple_relative_product,2},[{type,{1190,32},bounded_fun,[{type,{1190,32},'fun',[{type,{1190,32},product,[{var,{1190,33},'TupleOfBinRels'},{var,{1190,49},'BinRel1'}]},{var,{1190,61},'BinRel2'}]},[{type,{1191,7},constraint,[{atom,{1191,7},is_subtype},[{var,{1191,7},'TupleOfBinRels'},{user_type,{1191,25},tuple_of,[{var,{1191,34},'BinRel'}]}]]},{type,{1192,7},constraint,[{atom,{1192,7},is_subtype},[{var,{1192,7},'BinRel'},{user_type,{1192,17},binary_relation,[]}]]},{type,{1193,7},constraint,[{atom,{1193,7},is_subtype},[{var,{1193,7},'BinRel1'},{user_type,{1193,18},binary_relation,[]}]]},{type,{1194,7},constraint,[{atom,{1194,7},is_subtype},[{var,{1194,7},'BinRel2'},{user_type,{1194,18},binary_relation,[]}]]}]]}]}}]}},{{function,no_elements,1},[{file,[115,111,102,115,46,101,114,108]},{location,349}],[<<110,111,95,101,108,101,109,101,110,116,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32,111,114,100,101,114,101,100,32,111,114,32,117,110,111,114,100,101,114,101,100,32,115,101,116,32>>,{code,[],[<<65,83,101,116>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,50,52,52>>,signature => [{attribute,{349,2},spec,{{no_elements,1},[{type,{349,18},bounded_fun,[{type,{349,18},'fun',[{type,{349,18},product,[{var,{349,19},'ASet'}]},{var,{349,28},'NoElements'}]},[{type,{350,7},constraint,[{atom,{350,7},is_subtype},[{var,{350,7},'ASet'},{type,{350,15},union,[{user_type,{350,15},a_set,[]},{user_type,{350,25},ordset,[]}]}]]},{type,{351,7},constraint,[{atom,{351,7},is_subtype},[{var,{351,7},'NoElements'},{type,{351,21},non_neg_integer,[]}]]}]]}]}}]}},{{function,partition,1},[{file,[115,111,102,115,46,101,114,108]},{location,1091}],[<<112,97,114,116,105,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<112,97,114,116,105,116,105,111,110>>]},<<32,111,102,32,116,104,101,32,117,110,105,111,110,32,111,102,32,116,104,101,32,115,101,116,32,111,102,32,115,101,116,115,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<32,115,117,99,104,32,116,104,97,116,32,116,119,111,32,101,108,101,109,101,110,116,115,32,97,114,101,32,99,111,110,115,105,100,101,114,101,100,32,101,113,117,97,108,32,105,102,32,116,104,101,121,32,98,101,108,111,110,103,32,116,111,32,116,104,101,32,115,97,109,101,32,101,108,101,109,101,110,116,115,32,111,102,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,101,116,115,49,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,91,97,44,98,44,99,93,44,91,100,44,101,44,102,93,44,91,103,44,104,44,105,93,93,41,44,10,83,101,116,115,50,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,91,98,44,99,44,100,93,44,91,101,44,102,44,103,93,44,91,104,44,105,44,106,93,93,41,44,10,80,32,61,32,115,111,102,115,58,112,97,114,116,105,116,105,111,110,40,115,111,102,115,58,117,110,105,111,110,40,83,101,116,115,49,44,32,83,101,116,115,50,41,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,80,41,46,10,91,91,97,93,44,91,98,44,99,93,44,91,100,93,44,91,101,44,102,93,44,91,103,93,44,91,104,44,105,93,44,91,106,93,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,50,53,51>>,signature => [{attribute,{1091,2},spec,{{partition,1},[{type,{1091,16},bounded_fun,[{type,{1091,16},'fun',[{type,{1091,16},product,[{var,{1091,17},'SetOfSets'}]},{var,{1091,31},'Partition'}]},[{type,{1092,7},constraint,[{atom,{1092,7},is_subtype},[{var,{1092,7},'SetOfSets'},{user_type,{1092,20},set_of_sets,[]}]]},{type,{1093,7},constraint,[{atom,{1093,7},is_subtype},[{var,{1093,7},'Partition'},{user_type,{1093,20},a_set,[]}]]}]]}]}}]}},{{function,partition,2},[{file,[115,111,102,115,46,101,114,108]},{location,1099}],[<<112,97,114,116,105,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<112,97,114,116,105,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<83,101,116>>]},<<32,115,117,99,104,32,116,104,97,116,32,116,119,111,32,101,108,101,109,101,110,116,115,32,97,114,101,32,99,111,110,115,105,100,101,114,101,100,32,101,113,117,97,108,32,105,102,32,116,104,101,32,114,101,115,117,108,116,115,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<32,97,114,101,32,101,113,117,97,108,46>>]},{pre,[],[{code,[],[<<49,62,32,83,115,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,91,97,93,44,91,98,93,44,91,99,44,100,93,44,91,101,44,102,93,93,41,44,10,83,101,116,70,117,110,32,61,32,102,117,110,40,83,41,32,45,62,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,115,111,102,115,58,110,111,95,101,108,101,109,101,110,116,115,40,83,41,41,32,101,110,100,44,10,80,32,61,32,115,111,102,115,58,112,97,114,116,105,116,105,111,110,40,83,101,116,70,117,110,44,32,83,115,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,80,41,46,10,91,91,91,97,93,44,91,98,93,93,44,91,91,99,44,100,93,44,91,101,44,102,93,93,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,50,55,48>>,signature => [{attribute,{1099,2},spec,{{partition,2},[{type,{1099,16},bounded_fun,[{type,{1099,16},'fun',[{type,{1099,16},product,[{var,{1099,17},'SetFun'},{var,{1099,25},'Set'}]},{var,{1099,33},'Partition'}]},[{type,{1100,7},constraint,[{atom,{1100,7},is_subtype},[{var,{1100,7},'SetFun'},{user_type,{1100,17},set_fun,[]}]]},{type,{1101,7},constraint,[{atom,{1101,7},is_subtype},[{var,{1101,7},'Partition'},{user_type,{1101,20},a_set,[]}]]},{type,{1102,7},constraint,[{atom,{1102,7},is_subtype},[{var,{1102,7},'Set'},{user_type,{1102,14},a_set,[]}]]}]]}]}}]}},{{function,partition,3},[{file,[115,111,102,115,46,101,114,108]},{location,1118}],[<<112,97,114,116,105,116,105,111,110,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,112,97,105,114,32,111,102,32,115,101,116,115,32,116,104,97,116,44,32,114,101,103,97,114,100,101,100,32,97,115,32,99,111,110,115,116,105,116,117,116,105,110,103,32,97,32,115,101,116,44,32,102,111,114,109,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<112,97,114,116,105,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<46,32,73,102,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<32,116,111,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,103,105,118,101,115,32,97,110,32,101,108,101,109,101,110,116,32,105,110,32>>,{code,[],[<<83,101,116,50>>]},<<44,32,116,104,101,32,101,108,101,109,101,110,116,32,98,101,108,111,110,103,115,32,116,111,32>>,{code,[],[<<83,101,116,51>>]},<<44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,101,108,101,109,101,110,116,32,98,101,108,111,110,103,115,32,116,111,32>>,{code,[],[<<83,101,116,52>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,41,44,10,83,32,61,32,115,111,102,115,58,115,101,116,40,91,50,44,52,44,54,93,41,44,10,123,82,50,44,82,51,125,32,61,32,115,111,102,115,58,112,97,114,116,105,116,105,111,110,40,49,44,32,82,49,44,32,83,41,44,10,123,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,44,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,51,41,125,46,10,123,91,123,50,44,98,125,93,44,91,123,49,44,97,125,44,123,51,44,99,125,93,125>>]}]},{p,[],[{code,[],[<<112,97,114,116,105,116,105,111,110,40,70,44,194,160,83,49,44,194,160,83,50,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<123,114,101,115,116,114,105,99,116,105,111,110,40,70,44,194,160,83,49,44,194,160,83,50,41,44,32,100,114,101,115,116,114,105,99,116,105,111,110,40,70,44,194,160,83,49,44,194,160,83,50,41,125>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,50,56,54>>,signature => [{attribute,{1118,2},spec,{{partition,3},[{type,{1118,16},bounded_fun,[{type,{1118,16},'fun',[{type,{1118,16},product,[{var,{1118,17},'SetFun'},{var,{1118,25},'Set1'},{var,{1118,31},'Set2'}]},{type,{1118,40},tuple,[{var,{1118,41},'Set3'},{var,{1118,47},'Set4'}]}]},[{type,{1119,7},constraint,[{atom,{1119,7},is_subtype},[{var,{1119,7},'SetFun'},{user_type,{1119,17},set_fun,[]}]]},{type,{1120,7},constraint,[{atom,{1120,7},is_subtype},[{var,{1120,7},'Set1'},{user_type,{1120,15},a_set,[]}]]},{type,{1121,7},constraint,[{atom,{1121,7},is_subtype},[{var,{1121,7},'Set2'},{user_type,{1121,15},a_set,[]}]]},{type,{1122,7},constraint,[{atom,{1122,7},is_subtype},[{var,{1122,7},'Set3'},{user_type,{1122,15},a_set,[]}]]},{type,{1123,7},constraint,[{atom,{1123,7},is_subtype},[{var,{1123,7},'Set4'},{user_type,{1123,15},a_set,[]}]]}]]}]}}]}},{{function,partition_family,2},[{file,[115,111,102,115,46,101,114,108]},{location,1404}],[<<112,97,114,116,105,116,105,111,110,95,102,97,109,105,108,121,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32>>,{code,[],[<<70,97,109,105,108,121>>]},<<32,119,104,101,114,101,32,116,104,101,32,105,110,100,101,120,101,100,32,115,101,116,32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<112,97,114,116,105,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<83,101,116>>]},<<32,115,117,99,104,32,116,104,97,116,32,116,119,111,32,101,108,101,109,101,110,116,115,32,97,114,101,32,99,111,110,115,105,100,101,114,101,100,32,101,113,117,97,108,32,105,102,32,116,104,101,32,114,101,115,117,108,116,115,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<32,97,114,101,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,105,46,32,84,104,105,115,32,105,32,105,115,32,116,104,101,32,105,110,100,101,120,32,116,104,97,116,32>>,{code,[],[<<70,97,109,105,108,121>>]},<<32,109,97,112,115,32,111,110,116,111,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,113,117,105,118,97,108,101,110,99,101,95,99,108,97,115,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,113,117,105,118,97,108,101,110,99,101,32,99,108,97,115,115>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,97,44,97,44,97,44,97,125,44,123,97,44,97,44,98,44,98,125,44,123,97,44,98,44,98,44,98,125,93,41,44,10,83,101,116,70,117,110,32,61,32,123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,123,65,44,95,44,67,44,95,125,41,32,45,62,32,123,65,44,67,125,32,101,110,100,125,44,10,70,32,61,32,115,111,102,115,58,112,97,114,116,105,116,105,111,110,95,102,97,109,105,108,121,40,83,101,116,70,117,110,44,32,83,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,41,46,10,91,123,123,97,44,97,125,44,91,123,97,44,97,44,97,44,97,125,93,125,44,123,123,97,44,98,125,44,91,123,97,44,97,44,98,44,98,125,44,123,97,44,98,44,98,44,98,125,93,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,51,48,57>>,signature => [{attribute,{1404,2},spec,{{partition_family,2},[{type,{1404,23},bounded_fun,[{type,{1404,23},'fun',[{type,{1404,23},product,[{var,{1404,24},'SetFun'},{var,{1404,32},'Set'}]},{var,{1404,40},'Family'}]},[{type,{1405,7},constraint,[{atom,{1405,7},is_subtype},[{var,{1405,7},'Family'},{user_type,{1405,17},family,[]}]]},{type,{1406,7},constraint,[{atom,{1406,7},is_subtype},[{var,{1406,7},'SetFun'},{user_type,{1406,17},set_fun,[]}]]},{type,{1407,7},constraint,[{atom,{1407,7},is_subtype},[{var,{1407,7},'Set'},{user_type,{1407,14},a_set,[]}]]}]]}]}}]}},{{function,product,1},[{file,[115,111,102,115,46,101,114,108]},{location,444}],[<<112,114,111,100,117,99,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,67,97,114,116,101,115,105,97,110,95,112,114,111,100,117,99,116,95,116,117,112,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,116,104,101,32,110,111,110,45,101,109,112,116,121,32,116,117,112,108,101,32,111,102,32,115,101,116,115,32>>,{code,[],[<<84,117,112,108,101,79,102,83,101,116,115>>]},<<46,32,73,102,32,40,120,91,49,93,44,194,160,46,46,46,44,194,160,120,91,110,93,41,32,105,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,110,45,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<82,101,108,97,116,105,111,110>>]},<<44,32,116,104,101,110,32,120,91,105,93,32,105,115,32,100,114,97,119,110,32,102,114,111,109,32,101,108,101,109,101,110,116,32,105,32,111,102,32>>,{code,[],[<<84,117,112,108,101,79,102,83,101,116,115>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,49,32,61,32,115,111,102,115,58,115,101,116,40,91,97,44,98,93,41,44,10,83,50,32,61,32,115,111,102,115,58,115,101,116,40,91,49,44,50,93,41,44,10,83,51,32,61,32,115,111,102,115,58,115,101,116,40,91,120,44,121,93,41,44,10,80,51,32,61,32,115,111,102,115,58,112,114,111,100,117,99,116,40,123,83,49,44,83,50,44,83,51,125,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,80,51,41,46,10,91,123,97,44,49,44,120,125,44,123,97,44,49,44,121,125,44,123,97,44,50,44,120,125,44,123,97,44,50,44,121,125,44,123,98,44,49,44,120,125,44,123,98,44,49,44,121,125,44,123,98,44,50,44,120,125,44,123,98,44,50,44,121,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,51,51,48>>,signature => [{attribute,{444,2},spec,{{product,1},[{type,{444,14},bounded_fun,[{type,{444,14},'fun',[{type,{444,14},product,[{var,{444,15},'TupleOfSets'}]},{var,{444,31},'Relation'}]},[{type,{445,7},constraint,[{atom,{445,7},is_subtype},[{var,{445,7},'Relation'},{user_type,{445,19},relation,[]}]]},{type,{446,7},constraint,[{atom,{446,7},is_subtype},[{var,{446,7},'TupleOfSets'},{user_type,{446,22},tuple_of,[{user_type,{446,31},a_set,[]}]}]]}]]}]}}]}},{{function,product,2},[{file,[115,111,102,115,46,101,114,108]},{location,430}],[<<112,114,111,100,117,99,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,67,97,114,116,101,115,105,97,110,95,112,114,111,100,117,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,97,110,100,32>>,{code,[],[<<83,101,116,50>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,49,32,61,32,115,111,102,115,58,115,101,116,40,91,49,44,50,93,41,44,10,83,50,32,61,32,115,111,102,115,58,115,101,116,40,91,97,44,98,93,41,44,10,82,32,61,32,115,111,102,115,58,112,114,111,100,117,99,116,40,83,49,44,32,83,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,41,46,10,91,123,49,44,97,125,44,123,49,44,98,125,44,123,50,44,97,125,44,123,50,44,98,125,93>>]}]},{p,[],[{code,[],[<<112,114,111,100,117,99,116,40,83,49,44,194,160,83,50,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<112,114,111,100,117,99,116,40,123,83,49,44,194,160,83,50,125,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,51,52,57>>,signature => [{attribute,{430,2},spec,{{product,2},[{type,{430,14},bounded_fun,[{type,{430,14},'fun',[{type,{430,14},product,[{var,{430,15},'Set1'},{var,{430,21},'Set2'}]},{var,{430,30},'BinRel'}]},[{type,{431,7},constraint,[{atom,{431,7},is_subtype},[{var,{431,7},'BinRel'},{user_type,{431,17},binary_relation,[]}]]},{type,{432,7},constraint,[{atom,{432,7},is_subtype},[{var,{432,7},'Set1'},{user_type,{432,15},a_set,[]}]]},{type,{433,7},constraint,[{atom,{433,7},is_subtype},[{var,{433,7},'Set2'},{user_type,{433,15},a_set,[]}]]}]]}]}}]}},{{function,projection,2},[{file,[115,111,102,115,46,101,114,108]},{location,1029}],[<<112,114,111,106,101,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,101,116,32,99,114,101,97,116,101,100,32,98,121,32,115,117,98,115,116,105,116,117,116,105,110,103,32,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,98,121,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<32,116,111,32,116,104,101,32,101,108,101,109,101,110,116,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<32,105,115,32,97,32,110,117,109,98,101,114,32,105,194,160,62,61,194,160,49,32,97,110,100,32>>,{code,[],[<<83,101,116,49>>]},<<32,105,115,32,97,32,114,101,108,97,116,105,111,110,44,32,116,104,101,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,115,101,116,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,114,111,106,101,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<112,114,111,106,101,99,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,111,110,116,111,32,99,111,111,114,100,105,110,97,116,101,32,105,46>>]},{pre,[],[{code,[],[<<49,62,32,83,49,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,97,125,93,41,44,10,83,50,32,61,32,115,111,102,115,58,112,114,111,106,101,99,116,105,111,110,40,50,44,32,83,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,50,41,46,10,91,97,44,98,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,51,54,55>>,signature => [{attribute,{1029,2},spec,{{projection,2},[{type,{1029,17},bounded_fun,[{type,{1029,17},'fun',[{type,{1029,17},product,[{var,{1029,18},'SetFun'},{var,{1029,26},'Set1'}]},{var,{1029,35},'Set2'}]},[{type,{1030,7},constraint,[{atom,{1030,7},is_subtype},[{var,{1030,7},'SetFun'},{user_type,{1030,17},set_fun,[]}]]},{type,{1031,7},constraint,[{atom,{1031,7},is_subtype},[{var,{1031,7},'Set1'},{user_type,{1031,15},a_set,[]}]]},{type,{1032,7},constraint,[{atom,{1032,7},is_subtype},[{var,{1032,7},'Set2'},{user_type,{1032,15},a_set,[]}]]}]]}]}}]}},{{function,range,1},[{file,[115,111,102,115,46,101,114,108]},{location,622}],[<<114,97,110,103,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,97,110,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,97,110,103,101>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,49,44,98,125,44,123,50,44,98,125,44,123,50,44,99,125,93,41,44,10,83,32,61,32,115,111,102,115,58,114,97,110,103,101,40,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,41,46,10,91,97,44,98,44,99,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,51,56,54>>,signature => [{attribute,{622,2},spec,{{range,1},[{type,{622,12},bounded_fun,[{type,{622,12},'fun',[{type,{622,12},product,[{var,{622,13},'BinRel'}]},{var,{622,24},'Set'}]},[{type,{623,7},constraint,[{atom,{623,7},is_subtype},[{var,{623,7},'BinRel'},{user_type,{623,17},binary_relation,[]}]]},{type,{624,7},constraint,[{atom,{624,7},is_subtype},[{var,{624,7},'Set'},{user_type,{624,14},a_set,[]}]]}]]}]}}]}},{{function,relation,2},[{file,[115,111,102,115,46,101,114,108]},{location,255}],[<<114,101,108,97,116,105,111,110,47,50>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,48,48>>,equiv => {function,relation,1},signature => [{attribute,{255,2},spec,{{relation,2},[{type,{255,15},bounded_fun,[{type,{255,15},'fun',[{type,{255,15},product,[{var,{255,16},'Tuples'},{var,{255,24},'Type'}]},{var,{255,33},'Relation'}]},[{type,{256,7},constraint,[{atom,{256,7},is_subtype},[{var,{256,7},'N'},{type,{256,12},integer,[]}]]},{type,{257,7},constraint,[{atom,{257,7},is_subtype},[{var,{257,7},'Type'},{type,{257,15},union,[{var,{257,15},'N'},{user_type,{257,19},type,[]}]}]]},{type,{258,7},constraint,[{atom,{258,7},is_subtype},[{var,{258,7},'Relation'},{user_type,{258,19},relation,[]}]]},{type,{259,7},constraint,[{atom,{259,7},is_subtype},[{var,{259,7},'Tuples'},{type,{259,17},list,[{type,{259,18},tuple,any}]}]]}]]}]}}]}},{{function,relation,1},[{file,[115,111,102,115,46,101,114,108]},{location,243}],[<<114,101,108,97,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,108,97,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,108,97,116,105,111,110>>]},<<46,32>>,{code,[],[<<114,101,108,97,116,105,111,110,40,82,44,194,160,84,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<102,114,111,109,95,116,101,114,109,40,82,44,194,160,84,41>>]},<<44,32,105,102,32,84,32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<32,97,110,100,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,97,32,114,101,108,97,116,105,111,110,46,32,73,102,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,78,44,32,116,104,101,110,32>>,{code,[],[<<91,123,97,116,111,109,44,194,160,46,46,46,44,194,160,97,116,111,109,125,93,41>>]},<<44,32,119,104,101,114,101,32,116,104,101,32,116,117,112,108,101,32,115,105,122,101,32,105,115,32,78,44,32,105,115,32,117,115,101,100,32,97,115,32,116,121,112,101,32,111,102,32,116,104,101,32,114,101,108,97,116,105,111,110,46,32,73,102,32,110,111,32,116,121,112,101,32,105,115,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,102,105,114,115,116,32,116,117,112,108,101,32,111,102,32>>,{code,[],[<<84,117,112,108,101,115>>]},<<32,105,115,32,117,115,101,100,32,105,102,32,116,104,101,114,101,32,105,115,32,115,117,99,104,32,97,32,116,117,112,108,101,46,32>>,{code,[],[<<114,101,108,97,116,105,111,110,40,91,93,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<114,101,108,97,116,105,111,110,40,91,93,44,194,160,50,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,48,48>>,signature => [{attribute,{243,2},spec,{{relation,1},[{type,{243,15},bounded_fun,[{type,{243,15},'fun',[{type,{243,15},product,[{var,{243,16},'Tuples'}]},{var,{243,27},'Relation'}]},[{type,{244,7},constraint,[{atom,{244,7},is_subtype},[{var,{244,7},'Relation'},{user_type,{244,19},relation,[]}]]},{type,{245,7},constraint,[{atom,{245,7},is_subtype},[{var,{245,7},'Tuples'},{type,{245,17},list,[{type,{245,18},tuple,any}]}]]}]]}]}}]}},{{function,relation_to_family,1},[{file,[115,111,102,115,46,101,114,108]},{location,600}],[<<114,101,108,97,116,105,111,110,95,116,111,95,102,97,109,105,108,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32>>,{code,[],[<<70,97,109,105,108,121>>]},<<32,115,117,99,104,32,116,104,97,116,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,105,115,32,101,113,117,97,108,32,116,111,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,100,111,109,97,105,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,111,109,97,105,110>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<44,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121>>]},<<91,105,93,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,109,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,109,97,103,101>>]},<<32,111,102,32,116,104,101,32,115,101,116,32,111,102,32,105,32,117,110,100,101,114,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,98,44,49,125,44,123,99,44,50,125,44,123,99,44,51,125,93,41,44,10,70,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,95,116,111,95,102,97,109,105,108,121,40,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,41,46,10,91,123,98,44,91,49,93,125,44,123,99,44,91,50,44,51,93,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,49,57>>,signature => [{attribute,{600,2},spec,{{relation_to_family,1},[{type,{600,25},bounded_fun,[{type,{600,25},'fun',[{type,{600,25},product,[{var,{600,26},'BinRel'}]},{var,{600,37},'Family'}]},[{type,{601,7},constraint,[{atom,{601,7},is_subtype},[{var,{601,7},'Family'},{user_type,{601,17},family,[]}]]},{type,{602,7},constraint,[{atom,{602,7},is_subtype},[{var,{602,7},'BinRel'},{user_type,{602,17},binary_relation,[]}]]}]]}]}}]}},{{function,relative_product,2},[{file,[115,111,102,115,46,101,114,108]},{location,657}],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,51,55>>,equiv => {function,relative_product,1},signature => [{attribute,{657,2},spec,{{relative_product,2},[{type,{657,23},bounded_fun,[{type,{657,23},'fun',[{type,{657,23},product,[{var,{657,24},'ListOfBinRels'},{var,{657,39},'BinRel1'}]},{var,{657,51},'BinRel2'}]},[{type,{658,7},constraint,[{atom,{658,7},is_subtype},[{var,{658,7},'ListOfBinRels'},{type,{658,24},nonempty_list,[{var,{658,25},'BinRel'}]}]]},{type,{659,7},constraint,[{atom,{659,7},is_subtype},[{var,{659,7},'BinRel'},{user_type,{659,17},binary_relation,[]}]]},{type,{660,7},constraint,[{atom,{660,7},is_subtype},[{var,{660,7},'BinRel1'},{user_type,{660,18},binary_relation,[]}]]},{type,{661,7},constraint,[{atom,{661,7},is_subtype},[{var,{661,7},'BinRel2'},{user_type,{661,18},binary_relation,[]}]]}]]}]}}]}},{{function,relative_product,1},[{file,[115,111,102,115,46,101,114,108]},{location,641}],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<76,105,115,116,79,102,66,105,110,82,101,108,115>>]},<<32,105,115,32,97,32,110,111,110,45,101,109,112,116,121,32,108,105,115,116,32,91,82,91,49,93,44,194,160,46,46,46,44,194,160,82,91,110,93,93,32,111,102,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32,97,110,100,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,105,115,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,44,32,116,104,101,110,32>>,{code,[],[<<66,105,110,82,101,108,50>>]},<<32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,117,112,108,101,95,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,116,104,101,32,111,114,100,101,114,101,100,32,115,101,116,32,40,82,91,105,93,44,194,160,46,46,46,44,194,160,82,91,110,93,41,32,97,110,100,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<46>>]},{p,[],[<<73,102,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,105,115,32,111,109,105,116,116,101,100,44,32,116,104,101,32,114,101,108,97,116,105,111,110,32,111,102,32,101,113,117,97,108,105,116,121,32,98,101,116,119,101,101,110,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,67,97,114,116,101,115,105,97,110,95,112,114,111,100,117,99,116,95,116,117,112,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,116,104,101,32,114,97,110,103,101,115,32,111,102,32,82,91,105,93,44,32,114,97,110,103,101,194,160,82,91,49,93,194,160,195,151,194,160,46,46,46,194,160,195,151,194,160,114,97,110,103,101,194,160,82,91,110,93,44,32,105,115,32,117,115,101,100,32,105,110,115,116,101,97,100,32,40,105,110,116,117,105,116,105,118,101,108,121,44,32,110,111,116,104,105,110,103,32,105,115,32,34,108,111,115,116,34,41,46>>]},{pre,[],[{code,[],[<<49,62,32,84,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,49,44,97,97,125,44,123,50,44,98,125,93,41,44,10,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,117,125,44,123,50,44,118,125,44,123,51,44,99,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,40,91,84,82,44,32,82,49,93,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,46,10,91,123,49,44,123,97,44,117,125,125,44,123,49,44,123,97,97,44,117,125,125,44,123,50,44,123,98,44,118,125,125,93>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32>>,{code,[],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,40,91,82,49,93,44,194,160,82,50,41>>]},<<32,105,115,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32>>,{code,[],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,40,82,49,44,194,160,82,50,41>>]},<<59,32,116,104,101,32,108,105,115,116,32,111,102,32,111,110,101,32,101,108,101,109,101,110,116,32,105,115,32,110,111,116,32,105,100,101,110,116,105,102,105,101,100,32,119,105,116,104,32,116,104,101,32,101,108,101,109,101,110,116,32,105,116,115,101,108,102,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,51,55>>,signature => [{attribute,{641,2},spec,{{relative_product,1},[{type,{641,23},bounded_fun,[{type,{641,23},'fun',[{type,{641,23},product,[{var,{641,24},'ListOfBinRels'}]},{var,{641,42},'BinRel2'}]},[{type,{642,7},constraint,[{atom,{642,7},is_subtype},[{var,{642,7},'ListOfBinRels'},{type,{642,24},nonempty_list,[{var,{642,25},'BinRel'}]}]]},{type,{643,7},constraint,[{atom,{643,7},is_subtype},[{var,{643,7},'BinRel'},{user_type,{643,17},binary_relation,[]}]]},{type,{644,7},constraint,[{atom,{644,7},is_subtype},[{var,{644,7},'BinRel2'},{user_type,{644,18},binary_relation,[]}]]}]]}]}}]}},{{function,relative_product,2},[{file,[115,111,102,115,46,101,114,108]},{location,657}],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,97,110,100,32>>,{code,[],[<<66,105,110,82,101,108,50>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,54,56>>,signature => [{attribute,{657,2},spec,{{relative_product,2},[{type,{662,23},bounded_fun,[{type,{662,23},'fun',[{type,{662,23},product,[{var,{662,24},'BinRel1'},{var,{662,33},'BinRel2'}]},{var,{662,45},'BinRel3'}]},[{type,{663,7},constraint,[{atom,{663,7},is_subtype},[{var,{663,7},'BinRel1'},{user_type,{663,18},binary_relation,[]}]]},{type,{664,7},constraint,[{atom,{664,7},is_subtype},[{var,{664,7},'BinRel2'},{user_type,{664,18},binary_relation,[]}]]},{type,{665,7},constraint,[{atom,{665,7},is_subtype},[{var,{665,7},'BinRel3'},{user_type,{665,18},binary_relation,[]}]]}]]}]}}]}},{{function,relative_product1,2},[{file,[115,111,102,115,46,101,114,108]},{location,685}],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,49,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,99,111,110,118,101,114,115,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<99,111,110,118,101,114,115,101>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,97,110,100,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108,50>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,49,44,97,97,125,44,123,50,44,98,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,117,125,44,123,50,44,118,125,44,123,51,44,99,125,93,41,44,10,82,51,32,61,32,115,111,102,115,58,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,49,40,82,49,44,32,82,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,51,41,46,10,91,123,97,44,117,125,44,123,97,97,44,117,125,44,123,98,44,118,125,93>>]}]},{p,[],[{code,[],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,49,40,82,49,44,194,160,82,50,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,40,99,111,110,118,101,114,115,101,40,82,49,41,44,194,160,82,50,41>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,55,57>>,signature => [{attribute,{685,2},spec,{{relative_product1,2},[{type,{685,24},bounded_fun,[{type,{685,24},'fun',[{type,{685,24},product,[{var,{685,25},'BinRel1'},{var,{685,34},'BinRel2'}]},{var,{685,46},'BinRel3'}]},[{type,{686,7},constraint,[{atom,{686,7},is_subtype},[{var,{686,7},'BinRel1'},{user_type,{686,18},binary_relation,[]}]]},{type,{687,7},constraint,[{atom,{687,7},is_subtype},[{var,{687,7},'BinRel2'},{user_type,{687,18},binary_relation,[]}]]},{type,{688,7},constraint,[{atom,{688,7},is_subtype},[{var,{688,7},'BinRel3'},{user_type,{688,18},binary_relation,[]}]]}]]}]}}]}},{{function,restriction,2},[{file,[115,111,102,115,46,101,114,108]},{location,826}],[<<114,101,115,116,114,105,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,115,116,114,105,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,115,116,114,105,99,116,105,111,110>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,116,111,32>>,{code,[],[<<83,101,116>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,41,44,10,83,32,61,32,115,111,102,115,58,115,101,116,40,91,49,44,50,44,52,93,41,44,10,82,50,32,61,32,115,111,102,115,58,114,101,115,116,114,105,99,116,105,111,110,40,82,49,44,32,83,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,46,10,91,123,49,44,97,125,44,123,50,44,98,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,53,48,48>>,signature => [{attribute,{826,2},spec,{{restriction,2},[{type,{826,18},bounded_fun,[{type,{826,18},'fun',[{type,{826,18},product,[{var,{826,19},'BinRel1'},{var,{826,28},'Set'}]},{var,{826,36},'BinRel2'}]},[{type,{827,7},constraint,[{atom,{827,7},is_subtype},[{var,{827,7},'BinRel1'},{user_type,{827,18},binary_relation,[]}]]},{type,{828,7},constraint,[{atom,{828,7},is_subtype},[{var,{828,7},'BinRel2'},{user_type,{828,18},binary_relation,[]}]]},{type,{829,7},constraint,[{atom,{829,7},is_subtype},[{var,{829,7},'Set'},{user_type,{829,14},a_set,[]}]]}]]}]}}]}},{{function,restriction,3},[{file,[115,111,102,115,46,101,114,108]},{location,892}],[<<114,101,115,116,114,105,99,116,105,111,110,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,117,98,115,101,116,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,104,111,115,101,32,101,108,101,109,101,110,116,115,32,116,104,97,116,32,103,105,118,101,115,32,97,110,32,101,108,101,109,101,110,116,32,105,110,32>>,{code,[],[<<83,101,116,50>>]},<<32,97,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,41,44,10,83,50,32,61,32,115,111,102,115,58,115,101,116,40,91,98,44,99,44,100,93,41,44,10,83,51,32,61,32,115,111,102,115,58,114,101,115,116,114,105,99,116,105,111,110,40,50,44,32,83,49,44,32,83,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,51,41,46,10,91,123,50,44,98,125,44,123,51,44,99,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,53,49,54>>,signature => [{attribute,{892,2},spec,{{restriction,3},[{type,{892,18},bounded_fun,[{type,{892,18},'fun',[{type,{892,18},product,[{var,{892,19},'SetFun'},{var,{892,27},'Set1'},{var,{892,33},'Set2'}]},{var,{892,42},'Set3'}]},[{type,{893,7},constraint,[{atom,{893,7},is_subtype},[{var,{893,7},'SetFun'},{user_type,{893,17},set_fun,[]}]]},{type,{894,7},constraint,[{atom,{894,7},is_subtype},[{var,{894,7},'Set1'},{user_type,{894,15},a_set,[]}]]},{type,{895,7},constraint,[{atom,{895,7},is_subtype},[{var,{895,7},'Set2'},{user_type,{895,15},a_set,[]}]]},{type,{896,7},constraint,[{atom,{896,7},is_subtype},[{var,{896,7},'Set3'},{user_type,{896,15},a_set,[]}]]}]]}]}}]}},{{function,set,2},[{file,[115,111,102,115,46,101,114,108]},{location,204}],[<<115,101,116,47,50>>],#{},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,53,51,50>>,equiv => {function,set,1},signature => [{attribute,{204,2},spec,{{set,2},[{type,{204,10},bounded_fun,[{type,{204,10},'fun',[{type,{204,10},product,[{var,{204,11},'Terms'},{var,{204,18},'Type'}]},{var,{204,27},'Set'}]},[{type,{205,7},constraint,[{atom,{205,7},is_subtype},[{var,{205,7},'Set'},{user_type,{205,14},a_set,[]}]]},{type,{206,7},constraint,[{atom,{206,7},is_subtype},[{var,{206,7},'Terms'},{type,{206,16},list,[{type,{206,17},term,[]}]}]]},{type,{207,7},constraint,[{atom,{207,7},is_subtype},[{var,{207,7},'Type'},{user_type,{207,15},type,[]}]]}]]}]}}]}},{{function,set,1},[{file,[115,111,102,115,46,101,114,108]},{location,195}],[<<115,101,116,47,49>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,111,114,100,101,114,101,100,32,115,101,116>>]},<<46,32>>,{code,[],[<<115,101,116,40,76,44,194,160,84,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<102,114,111,109,95,116,101,114,109,40,76,44,194,160,84,41>>]},<<44,32,105,102,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,97,110,32,117,110,111,114,100,101,114,101,100,32,115,101,116,46,32,73,102,32,110,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<32,105,115,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,100,44,32>>,{code,[],[<<91,97,116,111,109,93>>]},<<32,105,115,32,117,115,101,100,32,97,115,32,116,104,101,32,115,101,116,32,116,121,112,101,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,53,51,50>>,signature => [{attribute,{195,2},spec,{{set,1},[{type,{195,10},bounded_fun,[{type,{195,10},'fun',[{type,{195,10},product,[{var,{195,11},'Terms'}]},{var,{195,21},'Set'}]},[{type,{196,7},constraint,[{atom,{196,7},is_subtype},[{var,{196,7},'Set'},{user_type,{196,14},a_set,[]}]]},{type,{197,7},constraint,[{atom,{197,7},is_subtype},[{var,{197,7},'Terms'},{type,{197,16},list,[{type,{197,17},term,[]}]}]]}]]}]}}]}},{{function,specification,2},[{file,[115,111,102,115,46,101,114,108]},{location,359}],[<<115,112,101,99,105,102,105,99,97,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,101,116,32,99,111,110,116,97,105,110,105,110,103,32,101,118,101,114,121,32,101,108,101,109,101,110,116,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,102,111,114,32,119,104,105,99,104,32>>,{code,[],[<<70,117,110>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<46,32,73,102,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,101,120,116,101,114,110,97,108,44,194,160,70,117,110,50,125>>]},<<44,32>>,{code,[],[<<70,117,110,50>>]},<<32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,120,116,101,114,110,97,108,32,115,101,116>>]},<<32,111,102,32,101,97,99,104,32,101,108,101,109,101,110,116,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,101,97,99,104,32,101,108,101,109,101,110,116,46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,97,44,49,125,44,123,98,44,50,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,120,44,49,125,44,123,120,44,50,125,44,123,121,44,51,125,93,41,44,10,83,49,32,61,32,115,111,102,115,58,102,114,111,109,95,115,101,116,115,40,91,82,49,44,82,50,93,41,44,10,83,50,32,61,32,115,111,102,115,58,115,112,101,99,105,102,105,99,97,116,105,111,110,40,102,117,110,32,115,111,102,115,58,105,115,95,97,95,102,117,110,99,116,105,111,110,47,49,44,32,83,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,50,41,46,10,91,91,123,97,44,49,125,44,123,98,44,50,125,93,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,53,52,53>>,signature => [{attribute,{359,2},spec,{{specification,2},[{type,{359,20},bounded_fun,[{type,{359,20},'fun',[{type,{359,20},product,[{var,{359,21},'Fun'},{var,{359,26},'Set1'}]},{var,{359,35},'Set2'}]},[{type,{360,7},constraint,[{atom,{360,7},is_subtype},[{var,{360,7},'Fun'},{user_type,{360,14},spec_fun,[]}]]},{type,{361,7},constraint,[{atom,{361,7},is_subtype},[{var,{361,7},'Set1'},{user_type,{361,15},a_set,[]}]]},{type,{362,7},constraint,[{atom,{362,7},is_subtype},[{var,{362,7},'Set2'},{user_type,{362,15},a_set,[]}]]}]]}]}}]}},{{function,strict_relation,1},[{file,[115,111,102,115,46,101,114,108]},{location,752}],[<<115,116,114,105,99,116,95,114,101,108,97,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,116,114,105,99,116,95,114,101,108,97,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<115,116,114,105,99,116,32,114,101,108,97,116,105,111,110>>]},<<32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,49,125,44,123,49,44,50,125,44,123,50,44,49,125,44,123,50,44,50,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,115,116,114,105,99,116,95,114,101,108,97,116,105,111,110,40,82,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,46,10,91,123,49,44,50,125,44,123,50,44,49,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,53,54,54>>,signature => [{attribute,{752,2},spec,{{strict_relation,1},[{type,{752,22},bounded_fun,[{type,{752,22},'fun',[{type,{752,22},product,[{var,{752,23},'BinRel1'}]},{var,{752,35},'BinRel2'}]},[{type,{753,7},constraint,[{atom,{753,7},is_subtype},[{var,{753,7},'BinRel1'},{user_type,{753,18},binary_relation,[]}]]},{type,{754,7},constraint,[{atom,{754,7},is_subtype},[{var,{754,7},'BinRel2'},{user_type,{754,18},binary_relation,[]}]]}]]}]}}]}},{{function,substitution,2},[{file,[115,111,102,115,46,101,114,108]},{location,1048}],[<<115,117,98,115,116,105,116,117,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,102,117,110,99,116,105,111,110,44,32,116,104,101,32,100,111,109,97,105,110,32,111,102,32,119,104,105,99,104,32,105,115,32>>,{code,[],[<<83,101,116,49>>]},<<46,32,84,104,101,32,118,97,108,117,101,32,111,102,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,100,111,109,97,105,110,32,105,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<32,116,111,32,116,104,101,32,101,108,101,109,101,110,116,46>>]},{pre,[],[{code,[],[<<49,62,32,76,32,61,32,91,123,97,44,49,125,44,123,98,44,50,125,93,46,10,91,123,97,44,49,125,44,123,98,44,50,125,93,10,50,62,32,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,115,111,102,115,58,112,114,111,106,101,99,116,105,111,110,40,49,44,115,111,102,115,58,114,101,108,97,116,105,111,110,40,76,41,41,41,46,10,91,97,44,98,93,10,51,62,32,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,115,111,102,115,58,115,117,98,115,116,105,116,117,116,105,111,110,40,49,44,115,111,102,115,58,114,101,108,97,116,105,111,110,40,76,41,41,41,46,10,91,123,123,97,44,49,125,44,97,125,44,123,123,98,44,50,125,44,98,125,93,10,52,62,32,83,101,116,70,117,110,32,61,32,123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,123,65,44,95,125,61,69,41,32,45,62,32,123,69,44,65,125,32,101,110,100,125,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,115,111,102,115,58,112,114,111,106,101,99,116,105,111,110,40,83,101,116,70,117,110,44,115,111,102,115,58,114,101,108,97,116,105,111,110,40,76,41,41,41,46,10,91,123,123,97,44,49,125,44,97,125,44,123,123,98,44,50,125,44,98,125,93>>]}]},{p,[],[<<84,104,101,32,114,101,108,97,116,105,111,110,32,111,102,32,101,113,117,97,108,105,116,121,32,98,101,116,119,101,101,110,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,123,97,44,98,44,99,125,58>>]},{pre,[],[{code,[],[<<49,62,32,73,32,61,32,115,111,102,115,58,115,117,98,115,116,105,116,117,116,105,111,110,40,102,117,110,40,65,41,32,45,62,32,65,32,101,110,100,44,32,115,111,102,115,58,115,101,116,40,91,97,44,98,44,99,93,41,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,73,41,46,10,91,123,97,44,97,125,44,123,98,44,98,125,44,123,99,44,99,125,93>>]}]},{p,[],[<<76,101,116,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<32,98,101,32,97,32,115,101,116,32,111,102,32,115,101,116,115,32,97,110,100,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,109,97,112,115,32,101,97,99,104,32,101,108,101,109,101,110,116,32>>,{code,[],[<<83,101,116>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<32,111,110,116,111,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,109,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,109,97,103,101>>]},<<32,111,102,32>>,{code,[],[<<83,101,116>>]},<<32,117,110,100,101,114,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,98,121,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,117,110,99,116,105,111,110,58>>]},{pre,[],[{code,[],[<<105,109,97,103,101,115,40,83,101,116,79,102,83,101,116,115,44,32,66,105,110,82,101,108,41,32,45,62,10,32,32,32,70,117,110,32,61,32,102,117,110,40,83,101,116,41,32,45,62,32,115,111,102,115,58,105,109,97,103,101,40,66,105,110,82,101,108,44,32,83,101,116,41,32,101,110,100,44,10,32,32,32,115,111,102,115,58,115,117,98,115,116,105,116,117,116,105,111,110,40,70,117,110,44,32,83,101,116,79,102,83,101,116,115,41,46>>]}]},{p,[],[<<69,120,116,101,114,110,97,108,32,117,110,111,114,100,101,114,101,100,32,115,101,116,115,32,97,114,101,32,114,101,112,114,101,115,101,110,116,101,100,32,97,115,32,115,111,114,116,101,100,32,108,105,115,116,115,46,32,83,111,44,32,99,114,101,97,116,105,110,103,32,116,104,101,32,105,109,97,103,101,32,111,102,32,97,32,115,101,116,32,117,110,100,101,114,32,97,32,114,101,108,97,116,105,111,110,32,82,32,99,97,110,32,116,114,97,118,101,114,115,101,32,97,108,108,32,101,108,101,109,101,110,116,115,32,111,102,32,82,32,40,116,111,32,116,104,97,116,32,99,111,109,101,115,32,116,104,101,32,115,111,114,116,105,110,103,32,111,102,32,114,101,115,117,108,116,115,44,32,116,104,101,32,105,109,97,103,101,41,46,32,73,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,109,97,103,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,109,97,103,101,47,50>>]}]},<<44,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<32,105,115,32,116,114,97,118,101,114,115,101,100,32,111,110,99,101,32,102,111,114,32,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<44,32,119,104,105,99,104,32,99,97,110,32,116,97,107,101,32,116,111,111,32,108,111,110,103,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,101,102,102,105,99,105,101,110,116,32,102,117,110,99,116,105,111,110,32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,115,116,101,97,100,32,117,110,100,101,114,32,116,104,101,32,97,115,115,117,109,112,116,105,111,110,32,116,104,97,116,32,116,104,101,32,105,109,97,103,101,32,111,102,32,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<32,117,110,100,101,114,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<32,105,115,32,110,111,110,45,101,109,112,116,121,58>>]},{pre,[],[{code,[],[<<105,109,97,103,101,115,50,40,83,101,116,79,102,83,101,116,115,44,32,66,105,110,82,101,108,41,32,45,62,10,32,32,32,67,82,32,61,32,115,111,102,115,58,99,97,110,111,110,105,99,97,108,95,114,101,108,97,116,105,111,110,40,83,101,116,79,102,83,101,116,115,41,44,10,32,32,32,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,49,40,67,82,44,32,66,105,110,82,101,108,41,44,10,32,32,32,115,111,102,115,58,114,101,108,97,116,105,111,110,95,116,111,95,102,97,109,105,108,121,40,82,41,46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,53,56,50>>,signature => [{attribute,{1048,2},spec,{{substitution,2},[{type,{1048,19},bounded_fun,[{type,{1048,19},'fun',[{type,{1048,19},product,[{var,{1048,20},'SetFun'},{var,{1048,28},'Set1'}]},{var,{1048,37},'Set2'}]},[{type,{1049,7},constraint,[{atom,{1049,7},is_subtype},[{var,{1049,7},'SetFun'},{user_type,{1049,17},set_fun,[]}]]},{type,{1050,7},constraint,[{atom,{1050,7},is_subtype},[{var,{1050,7},'Set1'},{user_type,{1050,15},a_set,[]}]]},{type,{1051,7},constraint,[{atom,{1051,7},is_subtype},[{var,{1051,7},'Set2'},{user_type,{1051,15},a_set,[]}]]}]]}]}}]}},{{function,symdiff,2},[{file,[115,111,102,115,46,101,114,108]},{location,408}],[<<115,121,109,100,105,102,102,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,121,109,109,101,116,114,105,99,95,100,105,102,102,101,114,101,110,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<115,121,109,109,101,116,114,105,99,32,100,105,102,102,101,114,101,110,99,101>>]},<<32,40,111,114,32,116,104,101,32,66,111,111,108,101,97,110,32,115,117,109,41,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,97,110,100,32>>,{code,[],[<<83,101,116,50>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,49,32,61,32,115,111,102,115,58,115,101,116,40,91,49,44,50,44,51,93,41,44,10,83,50,32,61,32,115,111,102,115,58,115,101,116,40,91,50,44,51,44,52,93,41,44,10,80,32,61,32,115,111,102,115,58,115,121,109,100,105,102,102,40,83,49,44,32,83,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,80,41,46,10,91,49,44,52,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,54,51,49>>,signature => [{attribute,{408,2},spec,{{symdiff,2},[{type,{408,14},bounded_fun,[{type,{408,14},'fun',[{type,{408,14},product,[{var,{408,15},'Set1'},{var,{408,21},'Set2'}]},{var,{408,30},'Set3'}]},[{type,{409,7},constraint,[{atom,{409,7},is_subtype},[{var,{409,7},'Set1'},{user_type,{409,15},a_set,[]}]]},{type,{410,7},constraint,[{atom,{410,7},is_subtype},[{var,{410,7},'Set2'},{user_type,{410,15},a_set,[]}]]},{type,{411,7},constraint,[{atom,{411,7},is_subtype},[{var,{411,7},'Set3'},{user_type,{411,15},a_set,[]}]]}]]}]}}]}},{{function,symmetric_partition,2},[{file,[115,111,102,115,46,101,114,108]},{location,418}],[<<115,121,109,109,101,116,114,105,99,95,112,97,114,116,105,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,116,114,105,112,108,101,32,111,102,32,115,101,116,115,58>>]},{ul,[],[{li,[],[{code,[],[<<83,101,116,51>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,116,104,97,116,32,100,111,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32>>,{code,[],[<<83,101,116,50>>]},<<46>>]},{li,[],[{code,[],[<<83,101,116,52>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,116,104,97,116,32,98,101,108,111,110,103,32,116,111,32>>,{code,[],[<<83,101,116,50>>]},<<46>>]},{li,[],[{code,[],[<<83,101,116,53>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32>>,{code,[],[<<83,101,116,50>>]},<<32,116,104,97,116,32,100,111,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32>>,{code,[],[<<83,101,116,49>>]},<<46>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,54,52,55>>,signature => [{attribute,{418,2},spec,{{symmetric_partition,2},[{type,{418,26},bounded_fun,[{type,{418,26},'fun',[{type,{418,26},product,[{var,{418,27},'Set1'},{var,{418,33},'Set2'}]},{type,{418,42},tuple,[{var,{418,43},'Set3'},{var,{418,49},'Set4'},{var,{418,55},'Set5'}]}]},[{type,{419,7},constraint,[{atom,{419,7},is_subtype},[{var,{419,7},'Set1'},{user_type,{419,15},a_set,[]}]]},{type,{420,7},constraint,[{atom,{420,7},is_subtype},[{var,{420,7},'Set2'},{user_type,{420,15},a_set,[]}]]},{type,{421,7},constraint,[{atom,{421,7},is_subtype},[{var,{421,7},'Set3'},{user_type,{421,15},a_set,[]}]]},{type,{422,7},constraint,[{atom,{422,7},is_subtype},[{var,{422,7},'Set4'},{user_type,{422,15},a_set,[]}]]},{type,{423,7},constraint,[{atom,{423,7},is_subtype},[{var,{423,7},'Set5'},{user_type,{423,15},a_set,[]}]]}]]}]}}]}},{{function,to_external,1},[{file,[115,111,102,115,46,101,114,108]},{location,319}],[<<116,111,95,101,120,116,101,114,110,97,108,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,120,116,101,114,110,97,108,32,115,101,116>>]},<<32,111,102,32,97,110,32,97,116,111,109,105,99,44,32,111,114,100,101,114,101,100,44,32,111,114,32,117,110,111,114,100,101,114,101,100,32,115,101,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,54,54,56>>,signature => [{attribute,{319,2},spec,{{to_external,1},[{type,{319,18},bounded_fun,[{type,{319,18},'fun',[{type,{319,18},product,[{var,{319,19},'AnySet'}]},{var,{319,30},'ExternalSet'}]},[{type,{320,7},constraint,[{atom,{320,7},is_subtype},[{var,{320,7},'ExternalSet'},{user_type,{320,22},external_set,[]}]]},{type,{321,7},constraint,[{atom,{321,7},is_subtype},[{var,{321,7},'AnySet'},{user_type,{321,17},anyset,[]}]]}]]}]}}]}},{{function,to_sets,1},[{file,[115,111,102,115,46,101,114,108]},{location,335}],[<<116,111,95,115,101,116,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32,111,114,100,101,114,101,100,32,115,101,116,32>>,{code,[],[<<65,83,101,116>>]},<<32,97,115,32,97,32,116,117,112,108,101,32,111,102,32,115,101,116,115,44,32,97,110,100,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32,117,110,111,114,100,101,114,101,100,32,115,101,116,32>>,{code,[],[<<65,83,101,116>>]},<<32,97,115,32,97,32,115,111,114,116,101,100,32,108,105,115,116,32,111,102,32,115,101,116,115,32,119,105,116,104,111,117,116,32,100,117,112,108,105,99,97,116,101,115,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,54,55,55>>,signature => [{attribute,{335,2},spec,{{to_sets,1},[{type,{335,14},bounded_fun,[{type,{335,14},'fun',[{type,{335,14},product,[{var,{335,15},'ASet'}]},{var,{335,24},'Sets'}]},[{type,{336,7},constraint,[{atom,{336,7},is_subtype},[{var,{336,7},'ASet'},{type,{336,15},union,[{user_type,{336,15},a_set,[]},{user_type,{336,25},ordset,[]}]}]]},{type,{337,7},constraint,[{atom,{337,7},is_subtype},[{var,{337,7},'Sets'},{type,{337,15},union,[{user_type,{337,15},tuple_of,[{var,{337,24},'AnySet'}]},{type,{337,34},list,[{var,{337,35},'AnySet'}]}]}]]},{type,{338,7},constraint,[{atom,{338,7},is_subtype},[{var,{338,7},'AnySet'},{user_type,{338,17},anyset,[]}]]}]]}]}}]}},{{function,type,1},[{file,[115,111,102,115,46,101,114,108]},{location,327}],[<<116,121,112,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<32,111,102,32,97,110,32,97,116,111,109,105,99,44,32,111,114,100,101,114,101,100,44,32,111,114,32,117,110,111,114,100,101,114,101,100,32,115,101,116,46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,54,56,56>>,signature => [{attribute,{327,2},spec,{{type,1},[{type,{327,11},bounded_fun,[{type,{327,11},'fun',[{type,{327,11},product,[{var,{327,12},'AnySet'}]},{var,{327,23},'Type'}]},[{type,{328,7},constraint,[{atom,{328,7},is_subtype},[{var,{328,7},'AnySet'},{user_type,{328,17},anyset,[]}]]},{type,{329,7},constraint,[{atom,{329,7},is_subtype},[{var,{329,7},'Type'},{user_type,{329,15},type,[]}]]}]]}]}}]}},{{function,union,1},[{file,[115,111,102,115,46,101,114,108]},{location,553}],[<<117,110,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,117,110,105,111,110,95,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,105,111,110>>]},<<32,111,102,32,116,104,101,32,115,101,116,32,111,102,32,115,101,116,115,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,54,57,55>>,signature => [{attribute,{553,2},spec,{{union,1},[{type,{553,12},bounded_fun,[{type,{553,12},'fun',[{type,{553,12},product,[{var,{553,13},'SetOfSets'}]},{var,{553,27},'Set'}]},[{type,{554,7},constraint,[{atom,{554,7},is_subtype},[{var,{554,7},'Set'},{user_type,{554,14},a_set,[]}]]},{type,{555,7},constraint,[{atom,{555,7},is_subtype},[{var,{555,7},'SetOfSets'},{user_type,{555,20},set_of_sets,[]}]]}]]}]}}]}},{{function,union,2},[{file,[115,111,102,115,46,101,114,108]},{location,378}],[<<117,110,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,117,110,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,97,110,100,32>>,{code,[],[<<83,101,116,50>>]},<<46>>]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,55,48,54>>,signature => [{attribute,{378,2},spec,{{union,2},[{type,{378,12},bounded_fun,[{type,{378,12},'fun',[{type,{378,12},product,[{var,{378,13},'Set1'},{var,{378,19},'Set2'}]},{var,{378,28},'Set3'}]},[{type,{379,7},constraint,[{atom,{379,7},is_subtype},[{var,{379,7},'Set1'},{user_type,{379,15},a_set,[]}]]},{type,{380,7},constraint,[{atom,{380,7},is_subtype},[{var,{380,7},'Set2'},{user_type,{380,15},a_set,[]}]]},{type,{381,7},constraint,[{atom,{381,7},is_subtype},[{var,{381,7},'Set3'},{user_type,{381,15},a_set,[]}]]}]]}]}}]}},{{function,union_of_family,1},[{file,[115,111,102,115,46,101,114,108]},{location,1288}],[<<117,110,105,111,110,95,111,102,95,102,97,109,105,108,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,117,110,105,111,110,32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32>>,{code,[],[<<70,97,109,105,108,121>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,70,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,48,44,50,44,52,93,125,44,123,98,44,91,48,44,49,44,50,93,125,44,123,99,44,91,50,44,51,93,125,93,41,44,10,83,32,61,32,115,111,102,115,58,117,110,105,111,110,95,111,102,95,102,97,109,105,108,121,40,70,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,41,46,10,91,48,44,49,44,50,44,51,44,52,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,55,49,53>>,signature => [{attribute,{1288,2},spec,{{union_of_family,1},[{type,{1288,22},bounded_fun,[{type,{1288,22},'fun',[{type,{1288,22},product,[{var,{1288,23},'Family'}]},{var,{1288,34},'Set'}]},[{type,{1289,7},constraint,[{atom,{1289,7},is_subtype},[{var,{1289,7},'Family'},{user_type,{1289,17},family,[]}]]},{type,{1290,7},constraint,[{atom,{1290,7},is_subtype},[{var,{1290,7},'Set'},{user_type,{1290,14},a_set,[]}]]}]]}]}}]}},{{function,weak_relation,1},[{file,[115,111,102,115,46,101,114,108]},{location,763}],[<<119,101,97,107,95,114,101,108,97,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,117,98,115,101,116,32,83,32,111,102,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,119,101,97,107,95,114,101,108,97,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<119,101,97,107,32,114,101,108,97,116,105,111,110>>]},<<32,87,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<46,32,76,101,116,32,70,32,98,101,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,105,101,108,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,105,101,108,100>>]},<<32,111,102,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<46,32,84,104,101,32,115,117,98,115,101,116,32,83,32,105,115,32,100,101,102,105,110,101,100,32,115,111,32,116,104,97,116,32,120,32,83,32,121,32,105,102,32,120,32,87,32,121,32,102,111,114,32,115,111,109,101,32,120,32,105,110,32,70,32,97,110,100,32,102,111,114,32,115,111,109,101,32,121,32,105,110,32,70,46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,49,125,44,123,49,44,50,125,44,123,51,44,49,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,119,101,97,107,95,114,101,108,97,116,105,111,110,40,82,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,46,10,91,123,49,44,49,125,44,123,49,44,50,125,44,123,50,44,50,125,44,123,51,44,49,125,44,123,51,44,51,125,93>>]}]}]},#{edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,55,50,57>>,signature => [{attribute,{763,2},spec,{{weak_relation,1},[{type,{763,20},bounded_fun,[{type,{763,20},'fun',[{type,{763,20},product,[{var,{763,21},'BinRel1'}]},{var,{763,33},'BinRel2'}]},[{type,{764,7},constraint,[{atom,{764,7},is_subtype},[{var,{764,7},'BinRel1'},{user_type,{764,18},binary_relation,[]}]]},{type,{765,7},constraint,[{atom,{765,7},is_subtype},[{var,{765,7},'BinRel2'},{user_type,{765,18},binary_relation,[]}]]}]]}]}}]}},{{type,anyset,0},[{file,[115,111,102,115,46,101,114,108]},{location,117}],[<<45,116,121,112,101,32,97,110,121,115,101,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,121,32,107,105,110,100,32,111,102,32,115,101,116,32,40,97,108,115,111,32,105,110,99,108,117,100,101,100,32,97,114,101,32,116,104,101,32,97,116,111,109,105,99,32,115,101,116,115,41,46>>]}]},#{signature => [{attribute,{117,2},type,{anyset,{type,{117,19},union,[{user_type,{117,19},ordset,[]},{user_type,{117,30},a_set,[]}]},[]}}]}},{{type,binary_relation,0},[{file,[115,111,102,115,46,101,114,108]},{location,118}],[<<45,116,121,112,101,32,98,105,110,97,114,121,95,114,101,108,97,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,98,105,110,97,114,121,95,114,101,108,97,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<98,105,110,97,114,121,32,114,101,108,97,116,105,111,110>>]},<<46>>]}]},#{signature => [{attribute,{118,2},type,{binary_relation,{user_type,{118,28},relation,[]},[]}}]}},{{type,external_set,0},[{file,[115,111,102,115,46,101,114,108]},{location,119}],[<<45,116,121,112,101,32,101,120,116,101,114,110,97,108,95,115,101,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,120,116,101,114,110,97,108,32,115,101,116>>]},<<46>>]}]},#{signature => [{attribute,{119,2},type,{external_set,{type,{119,25},term,[]},[]}}]}},{{type,family,0},[{file,[115,111,102,115,46,101,114,108]},{location,121}],[<<45,116,121,112,101,32,102,97,109,105,108,121,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32,40,111,102,32,115,117,98,115,101,116,115,41,46>>]}]},#{signature => [{attribute,{121,2},type,{family,{user_type,{121,19},a_function,[]},[]}}]}},{{type,a_function,0},[{file,[115,111,102,115,46,101,114,108]},{location,120}],[<<45,116,121,112,101,32,97,95,102,117,110,99,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,117,110,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,117,110,99,116,105,111,110>>]},<<46>>]}]},#{signature => [{attribute,{120,2},type,{a_function,{user_type,{120,23},relation,[]},[]}}]}},{{type,ordset,0},[{file,[115,111,102,115,46,101,114,108]},{location,122}],[<<45,116,121,112,101,32,111,114,100,115,101,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<111,114,100,101,114,101,100,32,115,101,116>>]},<<46>>]}]},#{signature => [{attribute,{122,2},opaque,{ordset,{type,{122,21},record,[{atom,{122,23},'OrdSet'}]},[]}}]}},{{type,relation,0},[{file,[115,111,102,115,46,101,114,108]},{location,123}],[<<45,116,121,112,101,32,114,101,108,97,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,110,95,97,114,121,95,114,101,108,97,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<110,45,97,114,121,32,114,101,108,97,116,105,111,110>>]},<<46>>]}]},#{signature => [{attribute,{123,2},type,{relation,{user_type,{123,21},a_set,[]},[]}}]}},{{type,a_set,0},[{file,[115,111,102,115,46,101,114,108]},{location,124}],[<<45,116,121,112,101,32,97,95,115,101,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,111,114,100,101,114,101,100,32,115,101,116>>]},<<46>>]}]},#{signature => [{attribute,{124,2},opaque,{a_set,{type,{124,20},record,[{atom,{124,22},'Set'}]},[]}}]}},{{type,set_of_sets,0},[{file,[115,111,102,115,46,101,114,108]},{location,125}],[<<45,116,121,112,101,32,115,101,116,95,111,102,95,115,101,116,115,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,111,114,100,101,114,101,100,32,115,101,116>>]},<<32,111,102,32,117,110,111,114,100,101,114,101,100,32,115,101,116,115,46>>]}]},#{signature => [{attribute,{125,2},type,{set_of_sets,{user_type,{125,24},a_set,[]},[]}}]}},{{type,set_fun,0},[{file,[115,111,102,115,46,101,114,108]},{location,126}],[<<45,116,121,112,101,32,115,101,116,95,102,117,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,95,102,117,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,101,116,70,117,110>>]},<<46>>]}]},#{signature => [{attribute,{126,2},type,{set_fun,{type,{126,20},union,[{type,{126,20},pos_integer,[]},{type,{127,20},tuple,[{atom,{127,21},external},{type,{127,35},'fun',[{type,{127,35},product,[{user_type,{127,36},external_set,[]}]},{user_type,{127,55},external_set,[]}]}]},{type,{128,24},'fun',[{type,{128,24},product,[{user_type,{128,25},anyset,[]}]},{user_type,{128,38},anyset,[]}]}]},[]}}]}},{{type,spec_fun,0},[{file,[115,111,102,115,46,101,114,108]},{location,129}],[<<45,116,121,112,101,32,115,112,101,99,95,102,117,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{129,2},type,{spec_fun,{type,{129,21},union,[{type,{129,21},tuple,[{atom,{129,22},external},{type,{129,36},'fun',[{type,{129,36},product,[{user_type,{129,37},external_set,[]}]},{type,{129,56},boolean,[]}]}]},{type,{130,25},'fun',[{type,{130,25},product,[{user_type,{130,26},anyset,[]}]},{type,{130,39},boolean,[]}]}]},[]}}]}},{{type,type,0},[{file,[115,111,102,115,46,101,114,108]},{location,131}],[<<45,116,121,112,101,32,116,121,112,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<46>>]}]},#{signature => [{attribute,{131,2},type,{type,{type,{131,17},term,[]},[]}}]}},{{type,tuple_of,1},[{file,[115,111,102,115,46,101,114,108]},{location,133}],[<<116,117,112,108,101,95,111,102,40,84,41>>],#{<<101,110>> => [{p,[],[<<65,32,116,117,112,108,101,32,119,104,101,114,101,32,116,104,101,32,101,108,101,109,101,110,116,115,32,97,114,101,32,111,102,32,116,121,112,101,32>>,{code,[],[<<84>>]},<<46>>]}]},#{signature => [{attribute,{133,2},type,{tuple_of,{type,{133,23},tuple,any},[{var,{133,16},'_T'}]}}]}}]}. \ No newline at end of file +{docs_v1,[{file,[115,111,102,115,46,101,114,108]},{location,0}],erlang,<<97,112,112,108,105,99,97,116,105,111,110,47,101,114,108,97,110,103,43,104,116,109,108>>,#{<<101,110>> => [{p,[],[<<84,104,105,115,32,109,111,100,117,108,101,32,112,114,111,118,105,100,101,115,32,111,112,101,114,97,116,105,111,110,115,32,111,110,32,102,105,110,105,116,101,32,115,101,116,115,32,97,110,100,32,114,101,108,97,116,105,111,110,115,32,114,101,112,114,101,115,101,110,116,101,100,32,97,115,32,115,101,116,115,46,32,73,110,116,117,105,116,105,118,101,108,121,44,32,97,32,115,101,116,32,105,115,32,97,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,101,108,101,109,101,110,116,115,59,32,101,118,101,114,121,32,101,108,101,109,101,110,116,32,98,101,108,111,110,103,115,32,116,111,32,116,104,101,32,115,101,116,44,32,97,110,100,32,116,104,101,32,115,101,116,32,99,111,110,116,97,105,110,115,32,101,118,101,114,121,32,101,108,101,109,101,110,116,46>>]},{p,[],[<<84,104,101,32,100,97,116,97,32,114,101,112,114,101,115,101,110,116,105,110,103,32>>,{code,[],[<<115,111,102,115>>]},<<32,97,115,32,117,115,101,100,32,98,121,32,116,104,105,115,32,109,111,100,117,108,101,32,105,115,32,116,111,32,98,101,32,114,101,103,97,114,100,101,100,32,97,115,32,111,112,97,113,117,101,32,98,121,32,111,116,104,101,114,32,109,111,100,117,108,101,115,46,32,73,110,32,97,98,115,116,114,97,99,116,32,116,101,114,109,115,44,32,116,104,101,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,105,115,32,97,32,99,111,109,112,111,115,105,116,101,32,116,121,112,101,32,111,102,32,101,120,105,115,116,105,110,103,32,69,114,108,97,110,103,32,116,101,114,109,115,46,32,83,101,101,32,110,111,116,101,32,111,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,110,111,95,117,115,101,114,95,116,121,112,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<100,97,116,97,32,116,121,112,101,115>>]},<<46,32,65,110,121,32,99,111,100,101,32,97,115,115,117,109,105,110,103,32,107,110,111,119,108,101,100,103,101,32,111,102,32,116,104,101,32,102,111,114,109,97,116,32,105,115,32,114,117,110,110,105,110,103,32,111,110,32,116,104,105,110,32,105,99,101,46>>]},{p,[],[<<71,105,118,101,110,32,97,32,115,101,116,32,65,32,97,110,100,32,97,32,115,101,110,116,101,110,99,101,32,83,40,120,41,44,32,119,104,101,114,101,32,120,32,105,115,32,97,32,102,114,101,101,32,118,97,114,105,97,98,108,101,44,32,97,32,110,101,119,32,115,101,116,32,66,32,119,104,111,115,101,32,101,108,101,109,101,110,116,115,32,97,114,101,32,101,120,97,99,116,108,121,32,116,104,111,115,101,32,101,108,101,109,101,110,116,115,32,111,102,32,65,32,102,111,114,32,119,104,105,99,104,32,83,40,120,41,32,104,111,108,100,115,32,99,97,110,32,98,101,32,102,111,114,109,101,100,44,32,116,104,105,115,32,105,115,32,100,101,110,111,116,101,100,32,66,194,160,61,32,123,120,194,160,105,110,194,160,65,194,160,58,32,83,40,120,41,125,46,32,83,101,110,116,101,110,99,101,115,32,97,114,101,32,101,120,112,114,101,115,115,101,100,32,117,115,105,110,103,32,116,104,101,32,108,111,103,105,99,97,108,32,111,112,101,114,97,116,111,114,115,32,34,102,111,114,32,115,111,109,101,34,32,40,111,114,32,34,116,104,101,114,101,32,101,120,105,115,116,115,34,41,44,32,34,102,111,114,32,97,108,108,34,44,32,34,97,110,100,34,44,32,34,111,114,34,44,32,34,110,111,116,34,46,32,73,102,32,116,104,101,32,101,120,105,115,116,101,110,99,101,32,111,102,32,97,32,115,101,116,32,99,111,110,116,97,105,110,105,110,103,32,97,108,108,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,101,108,101,109,101,110,116,115,32,105,115,32,107,110,111,119,110,32,40,97,115,32,105,115,32,97,108,119,97,121,115,32,116,104,101,32,99,97,115,101,32,105,110,32,116,104,105,115,32,109,111,100,117,108,101,41,44,32,116,104,105,115,32,105,115,32,100,101,110,111,116,101,100,32,66,194,160,61,32,123,120,194,160,58,32,83,40,120,41,125,46>>]},{ul,[],[{li,[],[{p,[],[<<84,104,101,32>>,{em,[],[<<117,110,111,114,100,101,114,101,100,32,115,101,116>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,101,108,101,109,101,110,116,115,32,97,44,32,98,44,32,97,110,100,32,99,32,105,115,32,100,101,110,111,116,101,100,32,123,97,44,194,160,98,44,194,160,99,125,46,32,84,104,105,115,32,110,111,116,97,116,105,111,110,32,105,115,32,110,111,116,32,116,111,32,98,101,32,99,111,110,102,117,115,101,100,32,119,105,116,104,32,116,117,112,108,101,115,46>>]},{p,[],[<<84,104,101,32>>,{em,[],[<<111,114,100,101,114,101,100,32,112,97,105,114>>]},<<32,111,102,32,97,32,97,110,100,32,98,44,32,119,105,116,104,32,102,105,114,115,116,32>>,{em,[],[<<99,111,111,114,100,105,110,97,116,101>>]},<<32,97,32,97,110,100,32,115,101,99,111,110,100,32,99,111,111,114,100,105,110,97,116,101,32,98,44,32,105,115,32,100,101,110,111,116,101,100,32,40,97,44,194,160,98,41,46,32,65,110,32,111,114,100,101,114,101,100,32,112,97,105,114,32,105,115,32,97,110,32>>,{em,[],[<<111,114,100,101,114,101,100,32,115,101,116>>]},<<32,111,102,32,116,119,111,32,101,108,101,109,101,110,116,115,46,32,73,110,32,116,104,105,115,32,109,111,100,117,108,101,44,32,111,114,100,101,114,101,100,32,115,101,116,115,32,99,97,110,32,99,111,110,116,97,105,110,32,111,110,101,44,32,116,119,111,44,32,111,114,32,109,111,114,101,32,101,108,101,109,101,110,116,115,44,32,97,110,100,32,112,97,114,101,110,116,104,101,115,101,115,32,97,114,101,32,117,115,101,100,32,116,111,32,101,110,99,108,111,115,101,32,116,104,101,32,101,108,101,109,101,110,116,115,46>>]},{p,[],[<<85,110,111,114,100,101,114,101,100,32,115,101,116,115,32,97,110,100,32,111,114,100,101,114,101,100,32,115,101,116,115,32,97,114,101,32,111,114,116,104,111,103,111,110,97,108,44,32,97,103,97,105,110,32,105,110,32,116,104,105,115,32,109,111,100,117,108,101,59,32,116,104,101,114,101,32,105,115,32,110,111,32,117,110,111,114,100,101,114,101,100,32,115,101,116,32,101,113,117,97,108,32,116,111,32,97,110,121,32,111,114,100,101,114,101,100,32,115,101,116,46>>]}]},{li,[],[{p,[],[<<84,104,101,32>>,{em,[],[<<101,109,112,116,121,32,115,101,116>>]},<<32,99,111,110,116,97,105,110,115,32,110,111,32,101,108,101,109,101,110,116,115,46>>]},{p,[],[<<83,101,116,32,65,32,105,115,32>>,{a,[{id,<<101,113,117,97,108>>}],[]},{em,[],[<<101,113,117,97,108>>]},<<32,116,111,32,115,101,116,32,66,32,105,102,32,116,104,101,121,32,99,111,110,116,97,105,110,32,116,104,101,32,115,97,109,101,32,101,108,101,109,101,110,116,115,44,32,119,104,105,99,104,32,105,115,32,100,101,110,111,116,101,100,32,65,194,160,61,194,160,66,46,32,84,119,111,32,111,114,100,101,114,101,100,32,115,101,116,115,32,97,114,101,32,101,113,117,97,108,32,105,102,32,116,104,101,121,32,99,111,110,116,97,105,110,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,97,110,100,32,104,97,118,101,32,101,113,117,97,108,32,101,108,101,109,101,110,116,115,32,97,116,32,101,97,99,104,32,99,111,111,114,100,105,110,97,116,101,46>>]},{p,[],[<<83,101,116,32,66,32,105,115,32,97,32>>,{a,[{id,<<115,117,98,115,101,116>>}],[]},{em,[],[<<115,117,98,115,101,116>>]},<<32,111,102,32,115,101,116,32,65,32,105,102,32,65,32,99,111,110,116,97,105,110,115,32,97,108,108,32,101,108,101,109,101,110,116,115,32,116,104,97,116,32,66,32,99,111,110,116,97,105,110,115,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<117,110,105,111,110>>}],[]},{em,[],[<<117,110,105,111,110>>]},<<32,111,102,32,116,119,111,32,115,101,116,115,32,65,32,97,110,100,32,66,32,105,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,115,101,116,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,97,108,108,32,101,108,101,109,101,110,116,115,32,111,102,32,65,32,97,110,100,32,97,108,108,32,101,108,101,109,101,110,116,115,32,111,102,32,66,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<105,110,116,101,114,115,101,99,116,105,111,110>>}],[]},{em,[],[<<105,110,116,101,114,115,101,99,116,105,111,110>>]},<<32,111,102,32,116,119,111,32,115,101,116,115,32,65,32,97,110,100,32,66,32,105,115,32,116,104,101,32,115,101,116,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,97,108,108,32,101,108,101,109,101,110,116,115,32,111,102,32,65,32,116,104,97,116,32,98,101,108,111,110,103,32,116,111,32,66,46>>]},{p,[],[<<84,119,111,32,115,101,116,115,32,97,114,101,32>>,{a,[{id,<<100,105,115,106,111,105,110,116>>}],[]},{em,[],[<<100,105,115,106,111,105,110,116>>]},<<32,105,102,32,116,104,101,105,114,32,105,110,116,101,114,115,101,99,116,105,111,110,32,105,115,32,116,104,101,32,101,109,112,116,121,32,115,101,116,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<100,105,102,102,101,114,101,110,99,101>>}],[]},{em,[],[<<100,105,102,102,101,114,101,110,99,101>>]},<<32,111,102,32,116,119,111,32,115,101,116,115,32,65,32,97,110,100,32,66,32,105,115,32,116,104,101,32,115,101,116,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,97,108,108,32,101,108,101,109,101,110,116,115,32,111,102,32,65,32,116,104,97,116,32,100,111,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32,66,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<115,121,109,109,101,116,114,105,99,95,100,105,102,102,101,114,101,110,99,101>>}],[]},{em,[],[<<115,121,109,109,101,116,114,105,99,32,100,105,102,102,101,114,101,110,99,101>>]},<<32,111,102,32,116,119,111,32,115,101,116,115,32,105,115,32,116,104,101,32,115,101,116,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,116,104,111,115,101,32,101,108,101,109,101,110,116,32,116,104,97,116,32,98,101,108,111,110,103,32,116,111,32,101,105,116,104,101,114,32,111,102,32,116,104,101,32,116,119,111,32,115,101,116,115,44,32,98,117,116,32,110,111,116,32,98,111,116,104,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<117,110,105,111,110,95,110>>}],[]},{em,[],[<<117,110,105,111,110>>]},<<32,111,102,32,97,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,115,101,116,115,32,105,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,115,101,116,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,97,108,108,32,116,104,101,32,101,108,101,109,101,110,116,115,32,116,104,97,116,32,98,101,108,111,110,103,32,116,111,32,97,116,32,108,101,97,115,116,32,111,110,101,32,115,101,116,32,111,102,32,116,104,101,32,99,111,108,108,101,99,116,105,111,110,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<105,110,116,101,114,115,101,99,116,105,111,110,95,110>>}],[]},{em,[],[<<105,110,116,101,114,115,101,99,116,105,111,110>>]},<<32,111,102,32,97,32,110,111,110,45,101,109,112,116,121,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,115,101,116,115,32,105,115,32,116,104,101,32,115,101,116,32,116,104,97,116,32,99,111,110,116,97,105,110,115,32,97,108,108,32,101,108,101,109,101,110,116,115,32,116,104,97,116,32,98,101,108,111,110,103,32,116,111,32,101,118,101,114,121,32,115,101,116,32,111,102,32,116,104,101,32,99,111,108,108,101,99,116,105,111,110,46>>]}]},{li,[],[{p,[],[<<84,104,101,32>>,{a,[{id,<<67,97,114,116,101,115,105,97,110,95,112,114,111,100,117,99,116>>}],[]},{em,[],[<<67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,116,119,111,32,115,101,116,115,32,88,32,97,110,100,32,89,44,32,100,101,110,111,116,101,100,32,88,194,160,195,151,194,160,89,44,32,105,115,32,116,104,101,32,115,101,116,32,123,97,194,160,58,32,97,194,160,61,32,40,120,44,194,160,121,41,32,102,111,114,32,115,111,109,101,32,120,194,160,105,110,194,160,88,32,97,110,100,32,102,111,114,32,115,111,109,101,32,121,194,160,105,110,194,160,89,125,46>>]},{p,[],[<<65,32>>,{a,[{id,<<114,101,108,97,116,105,111,110>>}],[]},{em,[],[<<114,101,108,97,116,105,111,110>>]},<<32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32,88,194,160,195,151,194,160,89,46,32,76,101,116,32,82,32,98,101,32,97,32,114,101,108,97,116,105,111,110,46,32,84,104,101,32,102,97,99,116,32,116,104,97,116,32,40,120,44,194,160,121,41,32,98,101,108,111,110,103,115,32,116,111,32,82,32,105,115,32,119,114,105,116,116,101,110,32,97,115,32,120,194,160,82,194,160,121,46,32,65,115,32,114,101,108,97,116,105,111,110,115,32,97,114,101,32,115,101,116,115,44,32,116,104,101,32,100,101,102,105,110,105,116,105,111,110,115,32,111,102,32,116,104,101,32,108,97,115,116,32,105,116,101,109,32,40,115,117,98,115,101,116,44,32,117,110,105,111,110,44,32,97,110,100,32,115,111,32,111,110,41,32,97,112,112,108,121,32,116,111,32,114,101,108,97,116,105,111,110,115,32,97,115,32,119,101,108,108,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<100,111,109,97,105,110>>}],[]},{em,[],[<<100,111,109,97,105,110>>]},<<32,111,102,32,82,32,105,115,32,116,104,101,32,115,101,116,32,123,120,194,160,58,32,120,194,160,82,194,160,121,32,102,111,114,32,115,111,109,101,32,121,194,160,105,110,194,160,89,125,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<114,97,110,103,101>>}],[]},{em,[],[<<114,97,110,103,101>>]},<<32,111,102,32,82,32,105,115,32,116,104,101,32,115,101,116,32,123,121,194,160,58,32,120,194,160,82,194,160,121,32,102,111,114,32,115,111,109,101,32,120,194,160,105,110,194,160,88,125,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<99,111,110,118,101,114,115,101>>}],[]},{em,[],[<<99,111,110,118,101,114,115,101>>]},<<32,111,102,32,82,32,105,115,32,116,104,101,32,115,101,116,32,123,97,194,160,58,32,97,194,160,61,32,40,121,44,194,160,120,41,32,102,111,114,32,115,111,109,101,32,40,120,44,194,160,121,41,194,160,105,110,194,160,82,125,46>>]},{p,[],[<<73,102,32,65,32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32,88,44,32,116,104,101,32>>,{a,[{id,<<105,109,97,103,101>>}],[]},{em,[],[<<105,109,97,103,101>>]},<<32,111,102,32,65,32,117,110,100,101,114,32,82,32,105,115,32,116,104,101,32,115,101,116,32,123,121,194,160,58,32,120,194,160,82,194,160,121,32,102,111,114,32,115,111,109,101,32,120,194,160,105,110,194,160,65,125,46,32,73,102,32,66,32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32,89,44,32,116,104,101,32>>,{a,[{id,<<105,110,118,101,114,115,101,95,105,109,97,103,101>>}],[]},{em,[],[<<105,110,118,101,114,115,101,32,105,109,97,103,101>>]},<<32,111,102,32,66,32,105,115,32,116,104,101,32,115,101,116,32,123,120,194,160,58,32,120,194,160,82,194,160,121,32,102,111,114,32,115,111,109,101,32,121,194,160,105,110,194,160,66,125,46>>]},{p,[],[<<73,102,32,82,32,105,115,32,97,32,114,101,108,97,116,105,111,110,32,102,114,111,109,32,88,32,116,111,32,89,44,32,97,110,100,32,83,32,105,115,32,97,32,114,101,108,97,116,105,111,110,32,102,114,111,109,32,89,32,116,111,32,90,44,32,116,104,101,32>>,{a,[{id,<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116>>}],[]},{em,[],[<<114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,82,32,97,110,100,32,83,32,105,115,32,116,104,101,32,114,101,108,97,116,105,111,110,32,84,32,102,114,111,109,32,88,32,116,111,32,90,32,100,101,102,105,110,101,100,32,115,111,32,116,104,97,116,32,120,194,160,84,194,160,122,32,105,102,32,97,110,100,32,111,110,108,121,32,105,102,32,116,104,101,114,101,32,101,120,105,115,116,115,32,97,110,32,101,108,101,109,101,110,116,32,121,32,105,110,32,89,32,115,117,99,104,32,116,104,97,116,32,120,194,160,82,194,160,121,32,97,110,100,32,121,194,160,83,194,160,122,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<114,101,115,116,114,105,99,116,105,111,110>>}],[]},{em,[],[<<114,101,115,116,114,105,99,116,105,111,110>>]},<<32,111,102,32,82,32,116,111,32,65,32,105,115,32,116,104,101,32,115,101,116,32,83,32,100,101,102,105,110,101,100,32,115,111,32,116,104,97,116,32,120,194,160,83,194,160,121,32,105,102,32,97,110,100,32,111,110,108,121,32,105,102,32,116,104,101,114,101,32,101,120,105,115,116,115,32,97,110,32,101,108,101,109,101,110,116,32,120,32,105,110,32,65,32,115,117,99,104,32,116,104,97,116,32,120,194,160,82,194,160,121,46>>]},{p,[],[<<73,102,32,83,32,105,115,32,97,32,114,101,115,116,114,105,99,116,105,111,110,32,111,102,32,82,32,116,111,32,65,44,32,116,104,101,110,32,82,32,105,115,32,97,110,32>>,{a,[{id,<<101,120,116,101,110,115,105,111,110>>}],[]},{em,[],[<<101,120,116,101,110,115,105,111,110>>]},<<32,111,102,32,83,32,116,111,32,88,46>>]},{p,[],[<<73,102,32,88,194,160,61,194,160,89,44,32,116,104,101,110,32,82,32,105,115,32,99,97,108,108,101,100,32,97,32,114,101,108,97,116,105,111,110,32>>,{em,[],[<<105,110>>]},<<32,88,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<102,105,101,108,100>>}],[]},{em,[],[<<102,105,101,108,100>>]},<<32,111,102,32,97,32,114,101,108,97,116,105,111,110,32,82,32,105,110,32,88,32,105,115,32,116,104,101,32,117,110,105,111,110,32,111,102,32,116,104,101,32,100,111,109,97,105,110,32,111,102,32,82,32,97,110,100,32,116,104,101,32,114,97,110,103,101,32,111,102,32,82,46>>]},{p,[],[<<73,102,32,82,32,105,115,32,97,32,114,101,108,97,116,105,111,110,32,105,110,32,88,44,32,97,110,100,32,105,102,32,83,32,105,115,32,100,101,102,105,110,101,100,32,115,111,32,116,104,97,116,32,120,194,160,83,194,160,121,32,105,102,32,120,194,160,82,194,160,121,32,97,110,100,32,110,111,116,32,120,194,160,61,194,160,121,44,32,116,104,101,110,32,83,32,105,115,32,116,104,101,32>>,{a,[{id,<<115,116,114,105,99,116,95,114,101,108,97,116,105,111,110>>}],[]},{em,[],[<<115,116,114,105,99,116>>]},<<32,114,101,108,97,116,105,111,110,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,82,46,32,67,111,110,118,101,114,115,101,108,121,44,32,105,102,32,83,32,105,115,32,97,32,114,101,108,97,116,105,111,110,32,105,110,32,88,44,32,97,110,100,32,105,102,32,82,32,105,115,32,100,101,102,105,110,101,100,32,115,111,32,116,104,97,116,32,120,194,160,82,194,160,121,32,105,102,32,120,194,160,83,194,160,121,32,111,114,32,120,194,160,61,194,160,121,44,32,116,104,101,110,32,82,32,105,115,32,116,104,101,32>>,{a,[{id,<<119,101,97,107,95,114,101,108,97,116,105,111,110>>}],[]},{em,[],[<<119,101,97,107>>]},<<32,114,101,108,97,116,105,111,110,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,83,46>>]},{p,[],[<<65,32,114,101,108,97,116,105,111,110,32,82,32,105,110,32,88,32,105,115,32>>,{em,[],[<<114,101,102,108,101,120,105,118,101>>]},<<32,105,102,32,120,194,160,82,194,160,120,32,102,111,114,32,101,118,101,114,121,32,101,108,101,109,101,110,116,32,120,32,111,102,32,88,44,32,105,116,32,105,115,32>>,{em,[],[<<115,121,109,109,101,116,114,105,99>>]},<<32,105,102,32,120,194,160,82,194,160,121,32,105,109,112,108,105,101,115,32,116,104,97,116,32,121,194,160,82,194,160,120,44,32,97,110,100,32,105,116,32,105,115,32>>,{em,[],[<<116,114,97,110,115,105,116,105,118,101>>]},<<32,105,102,32,120,194,160,82,194,160,121,32,97,110,100,32,121,194,160,82,194,160,122,32,105,109,112,108,121,32,116,104,97,116,32,120,194,160,82,194,160,122,46>>]}]},{li,[],[{p,[],[<<65,32>>,{a,[{id,<<102,117,110,99,116,105,111,110>>}],[]},{em,[],[<<102,117,110,99,116,105,111,110>>]},<<32,70,32,105,115,32,97,32,114,101,108,97,116,105,111,110,44,32,97,32,115,117,98,115,101,116,32,111,102,32,88,194,160,195,151,194,160,89,44,32,115,117,99,104,32,116,104,97,116,32,116,104,101,32,100,111,109,97,105,110,32,111,102,32,70,32,105,115,32,101,113,117,97,108,32,116,111,32,88,32,97,110,100,32,115,117,99,104,32,116,104,97,116,32,102,111,114,32,101,118,101,114,121,32,120,32,105,110,32,88,32,116,104,101,114,101,32,105,115,32,97,32,117,110,105,113,117,101,32,101,108,101,109,101,110,116,32,121,32,105,110,32,89,32,119,105,116,104,32,40,120,44,194,160,121,41,32,105,110,32,70,46,32,84,104,101,32,108,97,116,116,101,114,32,99,111,110,100,105,116,105,111,110,32,99,97,110,32,98,101,32,102,111,114,109,117,108,97,116,101,100,32,97,115,32,102,111,108,108,111,119,115,58,32,105,102,32,120,194,160,70,194,160,121,32,97,110,100,32,120,194,160,70,194,160,122,44,32,116,104,101,110,32,121,194,160,61,194,160,122,46,32,73,110,32,116,104,105,115,32,109,111,100,117,108,101,44,32,105,116,32,105,115,32,110,111,116,32,114,101,113,117,105,114,101,100,32,116,104,97,116,32,116,104,101,32,100,111,109,97,105,110,32,111,102,32,70,32,105,115,32,101,113,117,97,108,32,116,111,32,88,32,102,111,114,32,97,32,114,101,108,97,116,105,111,110,32,116,111,32,98,101,32,99,111,110,115,105,100,101,114,101,100,32,97,32,102,117,110,99,116,105,111,110,46>>]},{p,[],[<<73,110,115,116,101,97,100,32,111,102,32,119,114,105,116,105,110,103,32,40,120,44,194,160,121,41,194,160,105,110,194,160,70,32,111,114,32,120,194,160,70,194,160,121,44,32,119,101,32,119,114,105,116,101,32,70,40,120,41,194,160,61,194,160,121,32,119,104,101,110,32,70,32,105,115,32,97,32,102,117,110,99,116,105,111,110,44,32,97,110,100,32,115,97,121,32,116,104,97,116,32,70,32,109,97,112,115,32,120,32,111,110,116,111,32,121,44,32,111,114,32,116,104,97,116,32,116,104,101,32,118,97,108,117,101,32,111,102,32,70,32,97,116,32,120,32,105,115,32,121,46>>]},{p,[],[<<65,115,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,114,101,108,97,116,105,111,110,115,44,32,116,104,101,32,100,101,102,105,110,105,116,105,111,110,115,32,111,102,32,116,104,101,32,108,97,115,116,32,105,116,101,109,32,40,100,111,109,97,105,110,44,32,114,97,110,103,101,44,32,97,110,100,32,115,111,32,111,110,41,32,97,112,112,108,121,32,116,111,32,102,117,110,99,116,105,111,110,115,32,97,115,32,119,101,108,108,46>>]},{p,[],[<<73,102,32,116,104,101,32,99,111,110,118,101,114,115,101,32,111,102,32,97,32,102,117,110,99,116,105,111,110,32,70,32,105,115,32,97,32,102,117,110,99,116,105,111,110,32,70,39,44,32,116,104,101,110,32,70,39,32,105,115,32,99,97,108,108,101,100,32,116,104,101,32>>,{a,[{id,<<105,110,118,101,114,115,101>>}],[]},{em,[],[<<105,110,118,101,114,115,101>>]},<<32,111,102,32,70,46>>]},{p,[],[<<84,104,101,32,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116,32,111,102,32,116,119,111,32,102,117,110,99,116,105,111,110,115,32,70,49,32,97,110,100,32,70,50,32,105,115,32,99,97,108,108,101,100,32,116,104,101,32>>,{a,[{id,<<99,111,109,112,111,115,105,116,101>>}],[]},{em,[],[<<99,111,109,112,111,115,105,116,101>>]},<<32,111,102,32,70,49,32,97,110,100,32,70,50,32,105,102,32,116,104,101,32,114,97,110,103,101,32,111,102,32,70,49,32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32,116,104,101,32,100,111,109,97,105,110,32,111,102,32,70,50,46>>]}]},{li,[],[{p,[],[<<83,111,109,101,116,105,109,101,115,44,32,119,104,101,110,32,116,104,101,32,114,97,110,103,101,32,111,102,32,97,32,102,117,110,99,116,105,111,110,32,105,115,32,109,111,114,101,32,105,109,112,111,114,116,97,110,116,32,116,104,97,110,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,116,115,101,108,102,44,32,116,104,101,32,102,117,110,99,116,105,111,110,32,105,115,32,99,97,108,108,101,100,32,97,32>>,{em,[],[<<102,97,109,105,108,121>>]},<<46>>]},{p,[],[<<84,104,101,32,100,111,109,97,105,110,32,111,102,32,97,32,102,97,109,105,108,121,32,105,115,32,99,97,108,108,101,100,32,116,104,101,32>>,{em,[],[<<105,110,100,101,120,32,115,101,116>>]},<<44,32,97,110,100,32,116,104,101,32,114,97,110,103,101,32,105,115,32,99,97,108,108,101,100,32,116,104,101,32>>,{em,[],[<<105,110,100,101,120,101,100,32,115,101,116>>]},<<46>>]},{p,[],[<<73,102,32,120,32,105,115,32,97,32,102,97,109,105,108,121,32,102,114,111,109,32,73,32,116,111,32,88,44,32,116,104,101,110,32,120,91,105,93,32,100,101,110,111,116,101,115,32,116,104,101,32,118,97,108,117,101,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,32,97,116,32,105,110,100,101,120,32,105,46,32,84,104,101,32,110,111,116,97,116,105,111,110,32,34,97,32,102,97,109,105,108,121,32,105,110,32,88,34,32,105,115,32,117,115,101,100,32,102,111,114,32,115,117,99,104,32,97,32,102,97,109,105,108,121,46>>]},{p,[],[<<87,104,101,110,32,116,104,101,32,105,110,100,101,120,101,100,32,115,101,116,32,105,115,32,97,32,115,101,116,32,111,102,32,115,117,98,115,101,116,115,32,111,102,32,97,32,115,101,116,32,88,44,32,119,101,32,99,97,108,108,32,120,32,97,32>>,{a,[{id,<<102,97,109,105,108,121>>}],[]},{em,[],[<<102,97,109,105,108,121,32,111,102,32,115,117,98,115,101,116,115>>]},<<32,111,102,32,88,46>>]},{p,[],[<<73,102,32,120,32,105,115,32,97,32,102,97,109,105,108,121,32,111,102,32,115,117,98,115,101,116,115,32,111,102,32,88,44,32,116,104,101,32,117,110,105,111,110,32,111,102,32,116,104,101,32,114,97,110,103,101,32,111,102,32,120,32,105,115,32,99,97,108,108,101,100,32,116,104,101,32>>,{em,[],[<<117,110,105,111,110,32,111,102,32,116,104,101,32,102,97,109,105,108,121>>]},<<32,120,46>>]},{p,[],[<<73,102,32,120,32,105,115,32,110,111,110,45,101,109,112,116,121,32,40,116,104,101,32,105,110,100,101,120,32,115,101,116,32,105,115,32,110,111,110,45,101,109,112,116,121,41,44,32,116,104,101,32>>,{em,[],[<<105,110,116,101,114,115,101,99,116,105,111,110,32,111,102,32,116,104,101,32,102,97,109,105,108,121>>]},<<32,120,32,105,115,32,116,104,101,32,105,110,116,101,114,115,101,99,116,105,111,110,32,111,102,32,116,104,101,32,114,97,110,103,101,32,111,102,32,120,46>>]},{p,[],[<<73,110,32,116,104,105,115,32,109,111,100,117,108,101,44,32,116,104,101,32,111,110,108,121,32,102,97,109,105,108,105,101,115,32,116,104,97,116,32,97,114,101,32,99,111,110,115,105,100,101,114,101,100,32,97,114,101,32,102,97,109,105,108,105,101,115,32,111,102,32,115,117,98,115,101,116,115,32,111,102,32,115,111,109,101,32,115,101,116,32,88,59,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,44,32,116,104,101,32,119,111,114,100,32,34,102,97,109,105,108,121,34,32,105,115,32,117,115,101,100,32,102,111,114,32,115,117,99,104,32,102,97,109,105,108,105,101,115,32,111,102,32,115,117,98,115,101,116,115,46>>]}]},{li,[],[{p,[],[<<65,32>>,{a,[{id,<<112,97,114,116,105,116,105,111,110>>}],[]},{em,[],[<<112,97,114,116,105,116,105,111,110>>]},<<32,111,102,32,97,32,115,101,116,32,88,32,105,115,32,97,32,99,111,108,108,101,99,116,105,111,110,32,83,32,111,102,32,110,111,110,45,101,109,112,116,121,32,115,117,98,115,101,116,115,32,111,102,32,88,32,119,104,111,115,101,32,117,110,105,111,110,32,105,115,32,88,32,97,110,100,32,119,104,111,115,101,32,101,108,101,109,101,110,116,115,32,97,114,101,32,112,97,105,114,119,105,115,101,32,100,105,115,106,111,105,110,116,46>>]},{p,[],[<<65,32,114,101,108,97,116,105,111,110,32,105,110,32,97,32,115,101,116,32,105,115,32,97,110,32>>,{em,[],[<<101,113,117,105,118,97,108,101,110,99,101,32,114,101,108,97,116,105,111,110>>]},<<32,105,102,32,105,116,32,105,115,32,114,101,102,108,101,120,105,118,101,44,32,115,121,109,109,101,116,114,105,99,44,32,97,110,100,32,116,114,97,110,115,105,116,105,118,101,46>>]},{p,[],[<<73,102,32,82,32,105,115,32,97,110,32,101,113,117,105,118,97,108,101,110,99,101,32,114,101,108,97,116,105,111,110,32,105,110,32,88,44,32,97,110,100,32,120,32,105,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32,88,44,32,116,104,101,32>>,{a,[{id,<<101,113,117,105,118,97,108,101,110,99,101,95,99,108,97,115,115>>}],[]},{em,[],[<<101,113,117,105,118,97,108,101,110,99,101,32,99,108,97,115,115>>]},<<32,111,102,32,120,32,119,105,116,104,32,114,101,115,112,101,99,116,32,116,111,32,82,32,105,115,32,116,104,101,32,115,101,116,32,111,102,32,97,108,108,32,116,104,111,115,101,32,101,108,101,109,101,110,116,115,32,121,32,111,102,32,88,32,102,111,114,32,119,104,105,99,104,32,120,194,160,82,194,160,121,32,104,111,108,100,115,46,32,84,104,101,32,101,113,117,105,118,97,108,101,110,99,101,32,99,108,97,115,115,101,115,32,99,111,110,115,116,105,116,117,116,101,32,97,32,112,97,114,116,105,116,105,111,110,105,110,103,32,111,102,32,88,46,32,67,111,110,118,101,114,115,101,108,121,44,32,105,102,32,67,32,105,115,32,97,32,112,97,114,116,105,116,105,111,110,32,111,102,32,88,44,32,116,104,101,32,114,101,108,97,116,105,111,110,32,116,104,97,116,32,104,111,108,100,115,32,102,111,114,32,97,110,121,32,116,119,111,32,101,108,101,109,101,110,116,115,32,111,102,32,88,32,105,102,32,116,104,101,121,32,98,101,108,111,110,103,32,116,111,32,116,104,101,32,115,97,109,101,32,101,113,117,105,118,97,108,101,110,99,101,32,99,108,97,115,115,44,32,105,115,32,97,110,32,101,113,117,105,118,97,108,101,110,99,101,32,114,101,108,97,116,105,111,110,32,105,110,100,117,99,101,100,32,98,121,32,116,104,101,32,112,97,114,116,105,116,105,111,110,32,67,46>>]},{p,[],[<<73,102,32,82,32,105,115,32,97,110,32,101,113,117,105,118,97,108,101,110,99,101,32,114,101,108,97,116,105,111,110,32,105,110,32,88,44,32,116,104,101,32>>,{a,[{id,<<99,97,110,111,110,105,99,97,108,95,109,97,112>>}],[]},{em,[],[<<99,97,110,111,110,105,99,97,108,32,109,97,112>>]},<<32,105,115,32,116,104,101,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,109,97,112,115,32,101,118,101,114,121,32,101,108,101,109,101,110,116,32,111,102,32,88,32,111,110,116,111,32,105,116,115,32,101,113,117,105,118,97,108,101,110,99,101,32,99,108,97,115,115,46>>]}]},{li,[],[{p,[],[{a,[{id,<<98,105,110,97,114,121,95,114,101,108,97,116,105,111,110>>}],[]},<<82,101,108,97,116,105,111,110,115,32,97,115,32,100,101,102,105,110,101,100,32,97,98,111,118,101,32,40,97,115,32,115,101,116,115,32,111,102,32,111,114,100,101,114,101,100,32,112,97,105,114,115,41,32,97,114,101,32,102,114,111,109,32,110,111,119,32,111,110,32,114,101,102,101,114,114,101,100,32,116,111,32,97,115,32>>,{em,[],[<<98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115>>]},<<46>>]},{p,[],[<<87,101,32,99,97,108,108,32,97,32,115,101,116,32,111,102,32,111,114,100,101,114,101,100,32,115,101,116,115,32,40,120,91,49,93,44,194,160,46,46,46,44,194,160,120,91,110,93,41,32,97,110,32>>,{a,[{id,<<110,95,97,114,121,95,114,101,108,97,116,105,111,110>>}],[]},{em,[],[<<40,110,45,97,114,121,41,32,114,101,108,97,116,105,111,110>>]},<<44,32,97,110,100,32,115,97,121,32,116,104,97,116,32,116,104,101,32,114,101,108,97,116,105,111,110,32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32,116,104,101,32>>,{a,[{id,<<67,97,114,116,101,115,105,97,110,95,112,114,111,100,117,99,116,95,116,117,112,108,101>>}],[]},<<67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116,32,88,91,49,93,194,160,195,151,194,160,46,46,46,194,160,195,151,194,160,88,91,110,93,44,32,119,104,101,114,101,32,120,91,105,93,32,105,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32,88,91,105,93,44,32,49,194,160,60,61,194,160,105,194,160,60,61,194,160,110,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<112,114,111,106,101,99,116,105,111,110>>}],[]},{em,[],[<<112,114,111,106,101,99,116,105,111,110>>]},<<32,111,102,32,97,110,32,110,45,97,114,121,32,114,101,108,97,116,105,111,110,32,82,32,111,110,116,111,32,99,111,111,114,100,105,110,97,116,101,32,105,32,105,115,32,116,104,101,32,115,101,116,32,123,120,91,105,93,194,160,58,32,40,120,91,49,93,44,194,160,46,46,46,44,194,160,120,91,105,93,44,194,160,46,46,46,44,194,160,120,91,110,93,41,32,105,110,32,82,32,102,111,114,32,115,111,109,101,32,120,91,106,93,194,160,105,110,194,160,88,91,106,93,44,32,49,194,160,60,61,194,160,106,194,160,60,61,194,160,110,32,97,110,100,32,110,111,116,32,105,194,160,61,194,160,106,125,46,32,84,104,101,32,112,114,111,106,101,99,116,105,111,110,115,32,111,102,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,82,32,111,110,116,111,32,116,104,101,32,102,105,114,115,116,32,97,110,100,32,115,101,99,111,110,100,32,99,111,111,114,100,105,110,97,116,101,115,32,97,114,101,32,116,104,101,32,100,111,109,97,105,110,32,97,110,100,32,116,104,101,32,114,97,110,103,101,32,111,102,32,82,44,32,114,101,115,112,101,99,116,105,118,101,108,121,46>>]},{p,[],[<<84,104,101,32,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116,32,111,102,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32,99,97,110,32,98,101,32,103,101,110,101,114,97,108,105,122,101,100,32,116,111,32,110,45,97,114,121,32,114,101,108,97,116,105,111,110,115,32,97,115,32,102,111,108,108,111,119,115,46,32,76,101,116,32,84,82,32,98,101,32,97,110,32,111,114,100,101,114,101,100,32,115,101,116,32,40,82,91,49,93,44,194,160,46,46,46,44,194,160,82,91,110,93,41,32,111,102,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32,102,114,111,109,32,88,32,116,111,32,89,91,105,93,32,97,110,100,32,83,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,102,114,111,109,32,40,89,91,49,93,194,160,195,151,194,160,46,46,46,194,160,195,151,194,160,89,91,110,93,41,32,116,111,32,90,46,32,84,104,101,32>>,{a,[{id,<<116,117,112,108,101,95,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116>>}],[]},{em,[],[<<114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,84,82,32,97,110,100,32,83,32,105,115,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,84,32,102,114,111,109,32,88,32,116,111,32,90,32,100,101,102,105,110,101,100,32,115,111,32,116,104,97,116,32,120,194,160,84,194,160,122,32,105,102,32,97,110,100,32,111,110,108,121,32,105,102,32,116,104,101,114,101,32,101,120,105,115,116,115,32,97,110,32,101,108,101,109,101,110,116,32,121,91,105,93,32,105,110,32,89,91,105,93,32,102,111,114,32,101,97,99,104,32,49,194,160,60,61,194,160,105,194,160,60,61,194,160,110,32,115,117,99,104,32,116,104,97,116,32,120,194,160,82,91,105,93,194,160,121,91,105,93,32,97,110,100,32,40,121,91,49,93,44,194,160,46,46,46,44,194,160,121,91,110,93,41,194,160,83,194,160,122,46,32,78,111,119,32,108,101,116,32,84,82,32,98,101,32,97,32,97,110,32,111,114,100,101,114,101,100,32,115,101,116,32,40,82,91,49,93,44,194,160,46,46,46,44,194,160,82,91,110,93,41,32,111,102,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32,102,114,111,109,32,88,91,105,93,32,116,111,32,89,91,105,93,32,97,110,100,32,83,32,97,32,115,117,98,115,101,116,32,111,102,32,88,91,49,93,194,160,195,151,194,160,46,46,46,194,160,195,151,194,160,88,91,110,93,46,32,84,104,101,32>>,{a,[{id,<<109,117,108,116,105,112,108,101,95,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116>>}],[]},{em,[],[<<109,117,108,116,105,112,108,101,32,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,84,82,32,97,110,100,32,83,32,105,115,32,100,101,102,105,110,101,100,32,116,111,32,98,101,32,116,104,101,32,115,101,116,32,123,122,194,160,58,32,122,194,160,61,32,40,40,120,91,49,93,44,194,160,46,46,46,44,194,160,120,91,110,93,41,44,32,40,121,91,49,93,44,46,46,46,44,121,91,110,93,41,41,32,102,111,114,32,115,111,109,101,32,40,120,91,49,93,44,194,160,46,46,46,44,194,160,120,91,110,93,41,194,160,105,110,194,160,83,32,97,110,100,32,102,111,114,32,115,111,109,101,32,40,120,91,105,93,44,194,160,121,91,105,93,41,32,105,110,32,82,91,105,93,44,32,49,194,160,60,61,194,160,105,194,160,60,61,194,160,110,125,46>>]},{p,[],[<<84,104,101,32>>,{a,[{id,<<110,97,116,117,114,97,108,95,106,111,105,110>>}],[]},{em,[],[<<110,97,116,117,114,97,108,32,106,111,105,110>>]},<<32,111,102,32,97,110,32,110,45,97,114,121,32,114,101,108,97,116,105,111,110,32,82,32,97,110,100,32,97,110,32,109,45,97,114,121,32,114,101,108,97,116,105,111,110,32,83,32,111,110,32,99,111,111,114,100,105,110,97,116,101,32,105,32,97,110,100,32,106,32,105,115,32,100,101,102,105,110,101,100,32,116,111,32,98,101,32,116,104,101,32,115,101,116,32,123,122,194,160,58,32,122,194,160,61,32,40,120,91,49,93,44,194,160,46,46,46,44,194,160,120,91,110,93,44,194,160,32,121,91,49,93,44,194,160,46,46,46,44,194,160,121,91,106,45,49,93,44,194,160,121,91,106,43,49,93,44,194,160,46,46,46,44,194,160,121,91,109,93,41,32,102,111,114,32,115,111,109,101,32,40,120,91,49,93,44,194,160,46,46,46,44,194,160,120,91,110,93,41,194,160,105,110,194,160,82,32,97,110,100,32,102,111,114,32,115,111,109,101,32,40,121,91,49,93,44,194,160,46,46,46,44,194,160,121,91,109,93,41,194,160,105,110,194,160,83,32,115,117,99,104,32,116,104,97,116,32,120,91,105,93,194,160,61,194,160,121,91,106,93,125,46>>]}]},{li,[],[{p,[],[{a,[{id,<<115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>}],[]},<<84,104,101,32,115,101,116,115,32,114,101,99,111,103,110,105,122,101,100,32,98,121,32,116,104,105,115,32,109,111,100,117,108,101,32,97,114,101,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32,114,101,108,97,116,105,111,110,32,83,101,116,115,44,32,119,104,105,99,104,32,105,115,32,100,101,102,105,110,101,100,32,97,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,115,101,116,32,115,117,99,104,32,116,104,97,116,58>>]},{ul,[],[{li,[],[{p,[],[<<70,111,114,32,101,118,101,114,121,32,97,116,111,109,32,84,44,32,101,120,99,101,112,116,32,39,95,39,44,32,97,110,100,32,102,111,114,32,101,118,101,114,121,32,116,101,114,109,32,88,44,32,40,84,44,194,160,88,41,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,115,32,40>>,{em,[],[<<97,116,111,109,105,99,32,115,101,116,115>>]},<<41,46>>]}]},{li,[],[{p,[],[<<40,91,39,95,39,93,44,194,160,91,93,41,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,115,32,40,116,104,101,32>>,{em,[],[<<117,110,116,121,112,101,100,32,101,109,112,116,121,32,115,101,116>>]},<<41,46>>]}]},{li,[],[{p,[],[<<70,111,114,32,101,118,101,114,121,32,116,117,112,108,101,32,84,194,160,61,32,123,84,91,49,93,44,194,160,46,46,46,44,194,160,84,91,110,93,125,32,97,110,100,32,102,111,114,32,101,118,101,114,121,32,116,117,112,108,101,32,88,194,160,61,32,123,88,91,49,93,44,194,160,46,46,46,44,194,160,88,91,110,93,125,44,32,105,102,32,40,84,91,105,93,44,194,160,88,91,105,93,41,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,115,32,102,111,114,32,101,118,101,114,121,32,49,194,160,60,61,194,160,105,194,160,60,61,194,160,110,44,32,116,104,101,110,32,40,84,44,194,160,88,41,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,115,32,40>>,{em,[],[<<111,114,100,101,114,101,100,32,115,101,116,115>>]},<<41,46>>]}]},{li,[],[{p,[],[<<70,111,114,32,101,118,101,114,121,32,116,101,114,109,32,84,44,32,105,102,32,88,32,105,115,32,116,104,101,32,101,109,112,116,121,32,108,105,115,116,32,111,114,32,97,32,110,111,110,45,101,109,112,116,121,32,115,111,114,116,101,100,32,108,105,115,116,32,91,88,91,49,93,44,194,160,46,46,46,44,194,160,88,91,110,93,93,32,119,105,116,104,111,117,116,32,100,117,112,108,105,99,97,116,101,115,32,115,117,99,104,32,116,104,97,116,32,40,84,44,194,160,88,91,105,93,41,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,115,32,102,111,114,32,101,118,101,114,121,32,49,194,160,60,61,194,160,105,194,160,60,61,194,160,110,44,32,116,104,101,110,32,40,91,84,93,44,194,160,88,41,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,115,32,40>>,{em,[],[<<116,121,112,101,100,32,117,110,111,114,100,101,114,101,100,32,115,101,116,115>>]},<<41,46>>]}]}]},{p,[],[<<65,110,32>>,{a,[{id,<<101,120,116,101,114,110,97,108,95,115,101,116>>}],[]},{em,[],[<<101,120,116,101,114,110,97,108,32,115,101,116>>]},<<32,105,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,114,97,110,103,101,32,111,102,32,83,101,116,115,46>>]},{p,[],[<<65,32>>,{a,[{id,<<116,121,112,101>>}],[]},{em,[],[<<116,121,112,101>>]},<<32,105,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,100,111,109,97,105,110,32,111,102,32,83,101,116,115,46>>]},{p,[],[<<73,102,32,83,32,105,115,32,97,110,32,101,108,101,109,101,110,116,32,40,84,44,194,160,88,41,32,111,102,32,83,101,116,115,44,32,116,104,101,110,32,84,32,105,115,32,97,32>>,{a,[{id,<<118,97,108,105,100,95,116,121,112,101>>}],[]},{em,[],[<<118,97,108,105,100,32,116,121,112,101>>]},<<32,111,102,32,88,44,32,84,32,105,115,32,116,104,101,32,116,121,112,101,32,111,102,32,83,44,32,97,110,100,32,88,32,105,115,32,116,104,101,32,101,120,116,101,114,110,97,108,32,115,101,116,32,111,102,32,83,46,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,114,111,109,95,116,101,114,109,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,114,111,109,95,116,101,114,109,47,50>>]}]},<<32,99,114,101,97,116,101,115,32,97,32,115,101,116,32,102,114,111,109,32,97,32,116,121,112,101,32,97,110,100,32,97,110,32,69,114,108,97,110,103,32,116,101,114,109,32,116,117,114,110,101,100,32,105,110,116,111,32,97,110,32,101,120,116,101,114,110,97,108,32,115,101,116,46>>]},{p,[],[<<84,104,101,32,115,101,116,115,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,83,101,116,115,32,97,114,101,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32,114,97,110,103,101,32,111,102,32,102,117,110,99,116,105,111,110,32,83,101,116,32,102,114,111,109,32,83,101,116,115,32,116,111,32,69,114,108,97,110,103,32,116,101,114,109,115,32,97,110,100,32,115,101,116,115,32,111,102,32,69,114,108,97,110,103,32,116,101,114,109,115,58>>]},{ul,[],[{li,[],[<<83,101,116,40,84,44,84,101,114,109,41,194,160,61,32,84,101,114,109,44,32,119,104,101,114,101,32,84,32,105,115,32,97,110,32,97,116,111,109>>]},{li,[],[<<83,101,116,40,123,84,91,49,93,44,194,160,46,46,46,44,194,160,84,91,110,93,125,44,194,160,123,88,91,49,93,44,194,160,46,46,46,44,32,194,160,88,91,110,93,125,41,194,160,61,32,40,83,101,116,40,84,91,49,93,44,194,160,88,91,49,93,41,44,194,160,46,46,46,44,194,160,32,83,101,116,40,84,91,110,93,44,194,160,88,91,110,93,41,41>>]},{li,[],[<<83,101,116,40,91,84,93,44,194,160,91,88,91,49,93,44,194,160,46,46,46,44,194,160,88,91,110,93,93,41,194,160,61,32,123,83,101,116,40,84,44,194,160,88,91,49,93,41,44,194,160,46,46,46,44,194,160,83,101,116,40,84,44,194,160,88,91,110,93,41,125>>]},{li,[],[<<83,101,116,40,91,84,93,44,194,160,91,93,41,194,160,61,32,123,125>>]}]},{p,[],[<<87,104,101,110,32,116,104,101,114,101,32,105,115,32,110,111,32,114,105,115,107,32,111,102,32,99,111,110,102,117,115,105,111,110,44,32,101,108,101,109,101,110,116,115,32,111,102,32,83,101,116,115,32,97,114,101,32,105,100,101,110,116,105,102,105,101,100,32,119,105,116,104,32,116,104,101,32,115,101,116,115,32,116,104,101,121,32,114,101,112,114,101,115,101,110,116,46,32,70,111,114,32,101,120,97,109,112,108,101,44,32,105,102,32,85,32,105,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,99,97,108,108,105,110,103,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,117,110,105,111,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<117,110,105,111,110,47,50>>]}]},<<32,119,105,116,104,32,83,49,32,97,110,100,32,83,50,32,97,115,32,97,114,103,117,109,101,110,116,115,44,32,116,104,101,110,32,85,32,105,115,32,115,97,105,100,32,116,111,32,98,101,32,116,104,101,32,117,110,105,111,110,32,111,102,32,83,49,32,97,110,100,32,83,50,46,32,65,32,109,111,114,101,32,112,114,101,99,105,115,101,32,102,111,114,109,117,108,97,116,105,111,110,32,105,115,32,116,104,97,116,32,83,101,116,40,85,41,32,105,115,32,116,104,101,32,117,110,105,111,110,32,111,102,32,83,101,116,40,83,49,41,32,97,110,100,32,83,101,116,40,83,50,41,46>>]}]}]},{p,[],[<<84,104,101,32,116,121,112,101,115,32,97,114,101,32,117,115,101,100,32,116,111,32,105,109,112,108,101,109,101,110,116,32,116,104,101,32,118,97,114,105,111,117,115,32,99,111,110,100,105,116,105,111,110,115,32,116,104,97,116,32,115,101,116,115,32,109,117,115,116,32,102,117,108,102,105,108,108,46,32,65,115,32,97,110,32,101,120,97,109,112,108,101,44,32,99,111,110,115,105,100,101,114,32,116,104,101,32,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116,32,111,102,32,116,119,111,32,115,101,116,115,32,82,32,97,110,100,32,83,44,32,97,110,100,32,114,101,99,97,108,108,32,116,104,97,116,32,116,104,101,32,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116,32,111,102,32,82,32,97,110,100,32,83,32,105,115,32,100,101,102,105,110,101,100,32,105,102,32,82,32,105,115,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,116,111,32,89,32,97,110,100,32,83,32,105,115,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,102,114,111,109,32,89,46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,105,109,112,108,101,109,101,110,116,115,32,116,104,101,32,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116,44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50>>]}]},<<44,32,99,104,101,99,107,115,32,116,104,97,116,32,116,104,101,32,97,114,103,117,109,101,110,116,115,32,114,101,112,114,101,115,101,110,116,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32,98,121,32,109,97,116,99,104,105,110,103,32,91,123,65,44,66,125,93,32,97,103,97,105,110,115,116,32,116,104,101,32,116,121,112,101,32,111,102,32,116,104,101,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,40,65,114,103,49,32,115,97,121,41,44,32,97,110,100,32,91,123,67,44,68,125,93,32,97,103,97,105,110,115,116,32,116,104,101,32,116,121,112,101,32,111,102,32,116,104,101,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,40,65,114,103,50,32,115,97,121,41,46,32,84,104,101,32,102,97,99,116,32,116,104,97,116,32,91,123,65,44,66,125,93,32,109,97,116,99,104,101,115,32,116,104,101,32,116,121,112,101,32,111,102,32,65,114,103,49,32,105,115,32,116,111,32,98,101,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,65,114,103,49,32,114,101,112,114,101,115,101,110,116,105,110,103,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,102,114,111,109,32,88,32,116,111,32,89,44,32,119,104,101,114,101,32,88,32,105,115,32,100,101,102,105,110,101,100,32,97,115,32,97,108,108,32,115,101,116,115,32,83,101,116,40,120,41,32,102,111,114,32,115,111,109,101,32,101,108,101,109,101,110,116,32,120,32,105,110,32,83,101,116,115,32,116,104,101,32,116,121,112,101,32,111,102,32,119,104,105,99,104,32,105,115,32,65,44,32,97,110,100,32,115,105,109,105,108,97,114,108,121,32,102,111,114,32,89,46,32,73,110,32,116,104,101,32,115,97,109,101,32,119,97,121,32,65,114,103,50,32,105,115,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,114,101,112,114,101,115,101,110,116,105,110,103,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,102,114,111,109,32,87,32,116,111,32,90,46,32,70,105,110,97,108,108,121,32,105,116,32,105,115,32,99,104,101,99,107,101,100,32,116,104,97,116,32,66,32,109,97,116,99,104,101,115,32,67,44,32,119,104,105,99,104,32,105,115,32,115,117,102,102,105,99,105,101,110,116,32,116,111,32,101,110,115,117,114,101,32,116,104,97,116,32,87,32,105,115,32,101,113,117,97,108,32,116,111,32,89,46,32,84,104,101,32,117,110,116,121,112,101,100,32,101,109,112,116,121,32,115,101,116,32,105,115,32,104,97,110,100,108,101,100,32,115,101,112,97,114,97,116,101,108,121,58,32,105,116,115,32,116,121,112,101,44,32,91,39,95,39,93,44,32,109,97,116,99,104,101,115,32,116,104,101,32,116,121,112,101,32,111,102,32,97,110,121,32,117,110,111,114,100,101,114,101,100,32,115,101,116,46>>]},{p,[],[<<65,32,102,101,119,32,102,117,110,99,116,105,111,110,115,32,111,102,32,116,104,105,115,32,109,111,100,117,108,101,32,40>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,100,114,101,115,116,114,105,99,116,105,111,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<100,114,101,115,116,114,105,99,116,105,111,110,47,51>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121,95,112,114,111,106,101,99,116,105,111,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,97,109,105,108,121,95,112,114,111,106,101,99,116,105,111,110,47,50>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,97,114,116,105,116,105,111,110,47,50>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110,95,102,97,109,105,108,121,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,97,114,116,105,116,105,111,110,95,102,97,109,105,108,121,47,50>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,114,111,106,101,99,116,105,111,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<112,114,111,106,101,99,116,105,111,110,47,50>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,115,116,114,105,99,116,105,111,110,47,51>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,115,116,114,105,99,116,105,111,110,47,51>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,117,98,115,116,105,116,117,116,105,111,110,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,117,98,115,116,105,116,117,116,105,111,110,47,50>>]}]},<<41,32,97,99,99,101,112,116,32,97,110,32,69,114,108,97,110,103,32,102,117,110,99,116,105,111,110,32,97,115,32,97,32,109,101,97,110,115,32,116,111,32,109,111,100,105,102,121,32,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32,97,32,103,105,118,101,110,32,117,110,111,114,100,101,114,101,100,32,115,101,116,46,32>>,{a,[{id,<<115,101,116,95,102,117,110>>}],[]},<<83,117,99,104,32,97,32,102,117,110,99,116,105,111,110,44,32,99,97,108,108,101,100,32,83,101,116,70,117,110,32,105,110,32,116,104,101,32,102,111,108,108,111,119,105,110,103,44,32,99,97,110,32,98,101,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,102,117,110,99,116,105,111,110,97,108,32,111,98,106,101,99,116,32,40,102,117,110,41,44,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,101,120,116,101,114,110,97,108,44,194,160,70,117,110,125>>]},<<44,32,111,114,32,97,110,32,105,110,116,101,103,101,114,58>>]},{ul,[],[{li,[],[{p,[],[<<73,102,32,83,101,116,70,117,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,102,117,110,44,32,116,104,101,32,102,117,110,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,103,105,118,101,110,32,115,101,116,32,97,110,100,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,97,115,115,117,109,101,100,32,116,111,32,98,101,32,97,32,115,101,116,46>>]}]},{li,[],[{p,[],[<<73,102,32,83,101,116,70,117,110,32,105,115,32,115,112,101,99,105,102,105,101,100,32,97,115,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,101,120,116,101,114,110,97,108,44,32,70,117,110,125>>]},<<44,32,70,117,110,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,32,101,120,116,101,114,110,97,108,32,115,101,116,32,111,102,32,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,103,105,118,101,110,32,115,101,116,32,97,110,100,32,116,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,115,32,97,115,115,117,109,101,100,32,116,111,32,98,101,32,97,110,32,101,120,116,101,114,110,97,108,32,115,101,116,46,32,83,101,108,101,99,116,105,110,103,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,97,110,32,117,110,111,114,100,101,114,101,100,32,115,101,116,32,97,115,32,101,120,116,101,114,110,97,108,32,115,101,116,115,32,97,110,100,32,97,115,115,101,109,98,108,105,110,103,32,97,32,110,101,119,32,117,110,111,114,100,101,114,101,100,32,115,101,116,32,102,114,111,109,32,97,32,108,105,115,116,32,111,102,32,101,120,116,101,114,110,97,108,32,115,101,116,115,32,105,115,32,105,110,32,116,104,101,32,112,114,101,115,101,110,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,104,97,110,32,109,111,100,105,102,121,105,110,103,32,101,97,99,104,32,101,108,101,109,101,110,116,32,97,115,32,97,32,115,101,116,46,32,72,111,119,101,118,101,114,44,32,116,104,105,115,32,111,112,116,105,109,105,122,97,116,105,111,110,32,99,97,110,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,104,101,110,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32,117,110,111,114,100,101,114,101,100,32,115,101,116,32,97,114,101,32,97,116,111,109,105,99,32,111,114,32,111,114,100,101,114,101,100,32,115,101,116,115,46,32,73,116,32,109,117,115,116,32,97,108,115,111,32,98,101,32,116,104,101,32,99,97,115,101,32,116,104,97,116,32,116,104,101,32,116,121,112,101,32,111,102,32,116,104,101,32,101,108,101,109,101,110,116,115,32,109,97,116,99,104,101,115,32,115,111,109,101,32,99,108,97,117,115,101,32,111,102,32,70,117,110,32,40,116,104,101,32,116,121,112,101,32,111,102,32,116,104,101,32,99,114,101,97,116,101,100,32,115,101,116,32,105,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,112,112,108,121,105,110,103,32,70,117,110,32,116,111,32,116,104,101,32,116,121,112,101,32,111,102,32,116,104,101,32,103,105,118,101,110,32,115,101,116,41,44,32,97,110,100,32,116,104,97,116,32,70,117,110,32,100,111,101,115,32,110,111,116,104,105,110,103,32,98,117,116,32,115,101,108,101,99,116,105,110,103,44,32,100,117,112,108,105,99,97,116,105,110,103,44,32,111,114,32,114,101,97,114,114,97,110,103,105,110,103,32,112,97,114,116,115,32,111,102,32,116,104,101,32,101,108,101,109,101,110,116,115,46>>]}]},{li,[],[{p,[],[<<83,112,101,99,105,102,121,105,110,103,32,97,32,83,101,116,70,117,110,32,97,115,32,97,110,32,105,110,116,101,103,101,114,32,73,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,115,112,101,99,105,102,121,105,110,103,32>>,{code,[],[<<123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,88,41,194,160,45,62,32,101,108,101,109,101,110,116,40,73,44,194,160,88,41,194,160,101,110,100,125>>]},<<44,32,98,117,116,32,105,115,32,116,111,32,98,101,32,112,114,101,102,101,114,114,101,100,44,32,97,115,32,105,116,32,109,97,107,101,115,32,105,116,32,112,111,115,115,105,98,108,101,32,116,111,32,104,97,110,100,108,101,32,116,104,105,115,32,99,97,115,101,32,101,118,101,110,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,108,121,46>>]}]}]},{p,[],[<<69,120,97,109,112,108,101,115,32,111,102,32,83,101,116,70,117,110,115,58>>]},{pre,[],[{code,[],[<<102,117,110,32,115,111,102,115,58,117,110,105,111,110,47,49,10,102,117,110,40,83,41,32,45,62,32,115,111,102,115,58,112,97,114,116,105,116,105,111,110,40,49,44,32,83,41,32,101,110,100,10,123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,65,41,32,45,62,32,65,32,101,110,100,125,10,123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,123,65,44,95,44,67,125,41,32,45,62,32,123,67,44,65,125,32,101,110,100,125,10,123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,123,95,44,123,95,44,67,125,125,41,32,45,62,32,67,32,101,110,100,125,10,123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,123,95,44,123,95,44,123,95,44,69,125,61,67,125,125,41,32,45,62,32,123,69,44,123,69,44,67,125,125,32,101,110,100,125,10,50>>]}]},{p,[],[<<84,104,101,32,111,114,100,101,114,32,105,110,32,119,104,105,99,104,32,97,32,83,101,116,70,117,110,32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,97,110,32,117,110,111,114,100,101,114,101,100,32,115,101,116,32,105,115,32,110,111,116,32,115,112,101,99,105,102,105,101,100,44,32,97,110,100,32,99,97,110,32,99,104,97,110,103,101,32,105,110,32,102,117,116,117,114,101,32,118,101,114,115,105,111,110,115,32,111,102,32,116,104,105,115,32,109,111,100,117,108,101,46>>]},{p,[],[<<84,104,101,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,115,32,111,102,32,116,104,105,115,32,109,111,100,117,108,101,32,105,115,32,100,111,109,105,110,97,116,101,100,32,98,121,32,116,104,101,32,116,105,109,101,32,105,116,32,116,97,107,101,115,32,116,111,32,115,111,114,116,32,108,105,115,116,115,46,32,87,104,101,110,32,110,111,32,115,111,114,116,105,110,103,32,105,115,32,110,101,101,100,101,100,44,32,116,104,101,32,101,120,101,99,117,116,105,111,110,32,116,105,109,101,32,105,115,32,105,110,32,116,104,101,32,119,111,114,115,116,32,99,97,115,101,32,112,114,111,112,111,114,116,105,111,110,97,108,32,116,111,32,116,104,101,32,115,117,109,32,111,102,32,116,104,101,32,115,105,122,101,115,32,111,102,32,116,104,101,32,105,110,112,117,116,32,97,114,103,117,109,101,110,116,115,32,97,110,100,32,116,104,101,32,114,101,116,117,114,110,101,100,32,118,97,108,117,101,46,32,65,32,102,101,119,32,102,117,110,99,116,105,111,110,115,32,101,120,101,99,117,116,101,32,105,110,32,99,111,110,115,116,97,110,116,32,116,105,109,101,58,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,114,111,109,95,101,120,116,101,114,110,97,108,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,114,111,109,95,101,120,116,101,114,110,97,108,47,50>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,115,95,101,109,112,116,121,95,115,101,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,115,95,101,109,112,116,121,95,115,101,116,47,49>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,115,95,115,101,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,115,95,115,101,116,47,49>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,115,95,115,111,102,115,95,115,101,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,115,95,115,111,102,115,95,115,101,116,47,49>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,111,95,101,120,116,101,114,110,97,108,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,111,95,101,120,116,101,114,110,97,108,47,49>>]}]},<<32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<116,121,112,101,47,49>>]}]},<<46>>]},{p,[],[<<84,104,101,32,102,117,110,99,116,105,111,110,115,32,111,102,32,116,104,105,115,32,109,111,100,117,108,101,32,101,120,105,116,32,116,104,101,32,112,114,111,99,101,115,115,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<44,32>>,{code,[],[<<98,97,100,95,102,117,110,99,116,105,111,110>>]},<<44,32,111,114,32>>,{code,[],[<<116,121,112,101,95,109,105,115,109,97,116,99,104>>]},<<32,109,101,115,115,97,103,101,32,119,104,101,110,32,103,105,118,101,110,32,98,97,100,108,121,32,102,111,114,109,101,100,32,97,114,103,117,109,101,110,116,115,32,111,114,32,115,101,116,115,32,116,104,101,32,116,121,112,101,115,32,111,102,32,119,104,105,99,104,32,97,114,101,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,46>>]},{p,[],[<<87,104,101,110,32,99,111,109,112,97,114,105,110,103,32,101,120,116,101,114,110,97,108,32,115,101,116,115,44,32,111,112,101,114,97,116,111,114,32>>,{code,[],[<<61,61,47,50>>]},<<32,105,115,32,117,115,101,100,46>>]},{h2,[],[<<83,101,101,32,65,108,115,111>>]},{p,[],[{a,[{href,<<115,116,100,108,105,98,58,100,105,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,99,116,40,51,41>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,100,105,103,114,97,112,104>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<100,105,103,114,97,112,104,40,51,41>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,111,114,100,100,105,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,114,100,100,105,99,116,40,51,41>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,111,114,100,115,101,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<111,114,100,115,101,116,115,40,51,41>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,101,116,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[{code,[],[<<115,101,116,115,40,51,41>>]}]}]}]},#{name => <<115,111,102,115>>,otp_doc_vsn => {1,0,0},source => [46,46,47,120,109,108,47,115,111,102,115,46,120,109,108],types => #{{a_function,0} => {attribute,{120,2},type,{a_function,{user_type,{120,23},relation,[]},[]}},{a_set,0} => {attribute,{124,2},opaque,{a_set,{type,{124,20},record,[{atom,{124,22},'Set'}]},[]}},{anyset,0} => {attribute,{117,2},type,{anyset,{type,{117,19},union,[{user_type,{117,19},ordset,[]},{user_type,{117,30},a_set,[]}]},[]}},{binary_relation,0} => {attribute,{118,2},type,{binary_relation,{user_type,{118,28},relation,[]},[]}},{external_set,0} => {attribute,{119,2},type,{external_set,{type,{119,25},term,[]},[]}},{family,0} => {attribute,{121,2},type,{family,{user_type,{121,19},a_function,[]},[]}},{ordset,0} => {attribute,{122,2},opaque,{ordset,{type,{122,21},record,[{atom,{122,23},'OrdSet'}]},[]}},{relation,0} => {attribute,{123,2},type,{relation,{user_type,{123,21},a_set,[]},[]}},{set_fun,0} => {attribute,{126,2},type,{set_fun,{type,{126,20},union,[{type,{126,20},pos_integer,[]},{type,{127,20},tuple,[{atom,{127,21},external},{type,{127,35},'fun',[{type,{127,35},product,[{user_type,{127,36},external_set,[]}]},{user_type,{127,55},external_set,[]}]}]},{type,{128,24},'fun',[{type,{128,24},product,[{user_type,{128,25},anyset,[]}]},{user_type,{128,38},anyset,[]}]}]},[]}},{set_of_sets,0} => {attribute,{125,2},type,{set_of_sets,{user_type,{125,24},a_set,[]},[]}},{spec_fun,0} => {attribute,{129,2},type,{spec_fun,{type,{129,21},union,[{type,{129,21},tuple,[{atom,{129,22},external},{type,{129,36},'fun',[{type,{129,36},product,[{user_type,{129,37},external_set,[]}]},{type,{129,56},boolean,[]}]}]},{type,{130,25},'fun',[{type,{130,25},product,[{user_type,{130,26},anyset,[]}]},{type,{130,39},boolean,[]}]}]},[]}},{tuple_of,1} => {attribute,{133,2},type,{tuple_of,{type,{133,23},tuple,any},[{var,{133,16},'_T'}]}},{type,0} => {attribute,{131,2},type,{type,{type,{131,17},term,[]},[]}}}},[{{function,fam2rel,1},[{file,[115,111,102,115,46,101,114,108]},{location,0}],[<<102,97,109,50,114,101,108,47,49>>],hidden,#{}},{{function,rel2fam,1},[{file,[115,111,102,115,46,101,114,108]},{location,0}],[<<114,101,108,50,102,97,109,47,49>>],hidden,#{}},{{function,a_function,2},[{file,[115,111,102,115,46,101,114,108]},{location,277}],[<<97,95,102,117,110,99,116,105,111,110,47,50>>],#{},#{signature => [{attribute,{277,2},spec,{{a_function,2},[{type,{277,17},bounded_fun,[{type,{277,17},'fun',[{type,{277,17},product,[{var,{277,18},'Tuples'},{var,{277,26},'Type'}]},{var,{277,35},'Function'}]},[{type,{278,7},constraint,[{atom,{278,7},is_subtype},[{var,{278,7},'Function'},{user_type,{278,19},a_function,[]}]]},{type,{279,7},constraint,[{atom,{279,7},is_subtype},[{var,{279,7},'Tuples'},{type,{279,17},list,[{type,{279,18},tuple,any}]}]]},{type,{280,7},constraint,[{atom,{280,7},is_subtype},[{var,{280,7},'Type'},{user_type,{280,15},type,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,52,54,54>>,equiv => {function,a_function,1}}},{{function,a_function,1},[{file,[115,111,102,115,46,101,114,108]},{location,265}],[<<97,95,102,117,110,99,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,117,110,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,117,110,99,116,105,111,110>>]},<<46,32>>,{code,[],[<<97,95,102,117,110,99,116,105,111,110,40,70,44,194,160,84,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<102,114,111,109,95,116,101,114,109,40,70,44,194,160,84,41>>]},<<32,105,102,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,97,32,102,117,110,99,116,105,111,110,46,32,73,102,32,110,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<32,105,115,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,100,44,32>>,{code,[],[<<91,123,97,116,111,109,44,194,160,97,116,111,109,125,93>>]},<<32,105,115,32,117,115,101,100,32,97,115,32,116,104,101,32,102,117,110,99,116,105,111,110,32,116,121,112,101,46>>]}]},#{signature => [{attribute,{265,2},spec,{{a_function,1},[{type,{265,17},bounded_fun,[{type,{265,17},'fun',[{type,{265,17},product,[{var,{265,18},'Tuples'}]},{var,{265,29},'Function'}]},[{type,{266,7},constraint,[{atom,{266,7},is_subtype},[{var,{266,7},'Function'},{user_type,{266,19},a_function,[]}]]},{type,{267,7},constraint,[{atom,{267,7},is_subtype},[{var,{267,7},'Tuples'},{type,{267,17},list,[{type,{267,18},tuple,any}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,52,54,54>>}},{{function,canonical_relation,1},[{file,[115,111,102,115,46,101,114,108]},{location,577}],[<<99,97,110,111,110,105,99,97,108,95,114,101,108,97,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,101,108,101,109,101,110,116,115,32,40,69,44,194,160,83,101,116,41,32,115,117,99,104,32,116,104,97,116,32,83,101,116,32,98,101,108,111,110,103,115,32,116,111,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<32,97,110,100,32,69,32,98,101,108,111,110,103,115,32,116,111,32,83,101,116,46,32,73,102,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<112,97,114,116,105,116,105,111,110>>]},<<32,111,102,32,97,32,115,101,116,32,88,32,97,110,100,32,82,32,105,115,32,116,104,101,32,101,113,117,105,118,97,108,101,110,99,101,32,114,101,108,97,116,105,111,110,32,105,110,32,88,32,105,110,100,117,99,101,100,32,98,121,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<44,32,116,104,101,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,114,101,108,97,116,105,111,110,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,99,97,110,111,110,105,99,97,108,95,109,97,112>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<99,97,110,111,110,105,99,97,108,32,109,97,112>>]},<<32,102,114,111,109,32,88,32,111,110,116,111,32,116,104,101,32,101,113,117,105,118,97,108,101,110,99,101,32,99,108,97,115,115,101,115,32,119,105,116,104,32,114,101,115,112,101,99,116,32,116,111,32,82,46>>]},{pre,[],[{code,[],[<<49,62,32,83,115,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,91,97,44,98,93,44,91,98,44,99,93,93,41,44,10,67,82,32,61,32,115,111,102,115,58,99,97,110,111,110,105,99,97,108,95,114,101,108,97,116,105,111,110,40,83,115,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,67,82,41,46,10,91,123,97,44,91,97,44,98,93,125,44,123,98,44,91,97,44,98,93,125,44,123,98,44,91,98,44,99,93,125,44,123,99,44,91,98,44,99,93,125,93>>]}]}]},#{signature => [{attribute,{577,2},spec,{{canonical_relation,1},[{type,{577,25},bounded_fun,[{type,{577,25},'fun',[{type,{577,25},product,[{var,{577,26},'SetOfSets'}]},{var,{577,40},'BinRel'}]},[{type,{578,7},constraint,[{atom,{578,7},is_subtype},[{var,{578,7},'BinRel'},{user_type,{578,17},binary_relation,[]}]]},{type,{579,7},constraint,[{atom,{579,7},is_subtype},[{var,{579,7},'SetOfSets'},{user_type,{579,20},set_of_sets,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,52,56,48>>}},{{function,composite,2},[{file,[115,111,102,115,46,101,114,108]},{location,844}],[<<99,111,109,112,111,115,105,116,101,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,99,111,109,112,111,115,105,116,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<99,111,109,112,111,115,105,116,101>>]},<<32,111,102,32,116,104,101,32,102,117,110,99,116,105,111,110,115,32>>,{code,[],[<<70,117,110,99,116,105,111,110,49>>]},<<32,97,110,100,32>>,{code,[],[<<70,117,110,99,116,105,111,110,50>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,97,95,102,117,110,99,116,105,111,110,40,91,123,97,44,49,125,44,123,98,44,50,125,44,123,99,44,50,125,93,41,44,10,70,50,32,61,32,115,111,102,115,58,97,95,102,117,110,99,116,105,111,110,40,91,123,49,44,120,125,44,123,50,44,121,125,44,123,51,44,122,125,93,41,44,10,70,32,61,32,115,111,102,115,58,99,111,109,112,111,115,105,116,101,40,70,49,44,32,70,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,41,46,10,91,123,97,44,120,125,44,123,98,44,121,125,44,123,99,44,121,125,93>>]}]}]},#{signature => [{attribute,{844,2},spec,{{composite,2},[{type,{844,16},bounded_fun,[{type,{844,16},'fun',[{type,{844,16},product,[{var,{844,17},'Function1'},{var,{844,28},'Function2'}]},{var,{844,42},'Function3'}]},[{type,{845,7},constraint,[{atom,{845,7},is_subtype},[{var,{845,7},'Function1'},{user_type,{845,20},a_function,[]}]]},{type,{846,7},constraint,[{atom,{846,7},is_subtype},[{var,{846,7},'Function2'},{user_type,{846,20},a_function,[]}]]},{type,{847,7},constraint,[{atom,{847,7},is_subtype},[{var,{847,7},'Function3'},{user_type,{847,20},a_function,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,48,48>>}},{{function,constant_function,2},[{file,[115,111,102,115,46,101,114,108]},{location,465}],[<<99,111,110,115,116,97,110,116,95,102,117,110,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,117,110,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,117,110,99,116,105,111,110>>]},<<32,116,104,97,116,32,109,97,112,115,32,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32,115,101,116,32>>,{code,[],[<<83,101,116>>]},<<32,111,110,116,111,32>>,{code,[],[<<65,110,121,83,101,116>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,32,61,32,115,111,102,115,58,115,101,116,40,91,97,44,98,93,41,44,10,69,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,49,41,44,10,82,32,61,32,115,111,102,115,58,99,111,110,115,116,97,110,116,95,102,117,110,99,116,105,111,110,40,83,44,32,69,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,41,46,10,91,123,97,44,49,125,44,123,98,44,49,125,93>>]}]}]},#{signature => [{attribute,{465,2},spec,{{constant_function,2},[{type,{465,24},bounded_fun,[{type,{465,24},'fun',[{type,{465,24},product,[{var,{465,25},'Set'},{var,{465,30},'AnySet'}]},{var,{465,41},'Function'}]},[{type,{466,7},constraint,[{atom,{466,7},is_subtype},[{var,{466,7},'AnySet'},{user_type,{466,17},anyset,[]}]]},{type,{467,7},constraint,[{atom,{467,7},is_subtype},[{var,{467,7},'Function'},{user_type,{467,19},a_function,[]}]]},{type,{468,7},constraint,[{atom,{468,7},is_subtype},[{var,{468,7},'Set'},{user_type,{468,14},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,49,54>>}},{{function,converse,1},[{file,[115,111,102,115,46,101,114,108]},{location,707}],[<<99,111,110,118,101,114,115,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,99,111,110,118,101,114,115,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<99,111,110,118,101,114,115,101>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,97,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,99,111,110,118,101,114,115,101,40,82,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,46,10,91,123,97,44,49,125,44,123,97,44,51,125,44,123,98,44,50,125,93>>]}]}]},#{signature => [{attribute,{707,2},spec,{{converse,1},[{type,{707,15},bounded_fun,[{type,{707,15},'fun',[{type,{707,15},product,[{var,{707,16},'BinRel1'}]},{var,{707,28},'BinRel2'}]},[{type,{708,7},constraint,[{atom,{708,7},is_subtype},[{var,{708,7},'BinRel1'},{user_type,{708,18},binary_relation,[]}]]},{type,{709,7},constraint,[{atom,{709,7},is_subtype},[{var,{709,7},'BinRel2'},{user_type,{709,18},binary_relation,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,51,50>>}},{{function,difference,2},[{file,[115,111,102,115,46,101,114,108]},{location,398}],[<<100,105,102,102,101,114,101,110,99,101,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,100,105,102,102,101,114,101,110,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,105,102,102,101,114,101,110,99,101>>]},<<32,111,102,32,116,104,101,32,115,101,116,115,32>>,{code,[],[<<83,101,116,49>>]},<<32,97,110,100,32>>,{code,[],[<<83,101,116,50>>]},<<46>>]}]},#{signature => [{attribute,{398,2},spec,{{difference,2},[{type,{398,17},bounded_fun,[{type,{398,17},'fun',[{type,{398,17},product,[{var,{398,18},'Set1'},{var,{398,24},'Set2'}]},{var,{398,33},'Set3'}]},[{type,{399,7},constraint,[{atom,{399,7},is_subtype},[{var,{399,7},'Set1'},{user_type,{399,15},a_set,[]}]]},{type,{400,7},constraint,[{atom,{400,7},is_subtype},[{var,{400,7},'Set2'},{user_type,{400,15},a_set,[]}]]},{type,{401,7},constraint,[{atom,{401,7},is_subtype},[{var,{401,7},'Set3'},{user_type,{401,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,52,54>>}},{{function,digraph_to_family,2},[{file,[115,111,102,115,46,101,114,108]},{location,1520}],[<<100,105,103,114,97,112,104,95,116,111,95,102,97,109,105,108,121,47,50>>],#{},#{signature => [{attribute,{1520,2},spec,{{digraph_to_family,2},[{type,{1520,24},bounded_fun,[{type,{1520,24},'fun',[{type,{1520,24},product,[{var,{1520,25},'Graph'},{var,{1520,32},'Type'}]},{var,{1520,41},'Family'}]},[{type,{1521,7},constraint,[{atom,{1521,7},is_subtype},[{var,{1521,7},'Graph'},{remote_type,{1521,16},[{atom,{1521,16},digraph},{atom,{1521,24},graph},[]]}]]},{type,{1522,7},constraint,[{atom,{1522,7},is_subtype},[{var,{1522,7},'Family'},{user_type,{1522,17},family,[]}]]},{type,{1523,7},constraint,[{atom,{1523,7},is_subtype},[{var,{1523,7},'Type'},{user_type,{1523,15},type,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,53,53>>,equiv => {function,digraph_to_family,1}}},{{function,digraph_to_family,1},[{file,[115,111,102,115,46,101,114,108]},{location,1511}],[<<100,105,103,114,97,112,104,95,116,111,95,102,97,109,105,108,121,47,49>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32,102,114,111,109,32,116,104,101,32,100,105,114,101,99,116,101,100,32,103,114,97,112,104,32>>,{code,[],[<<71,114,97,112,104>>]},<<46,32,69,97,99,104,32,118,101,114,116,101,120,32,97,32,111,102,32>>,{code,[],[<<71,114,97,112,104>>]},<<32,105,115,32,114,101,112,114,101,115,101,110,116,101,100,32,98,121,32,97,32,112,97,105,114,32,40,97,44,194,160,123,98,91,49,93,44,194,160,46,46,46,44,194,160,98,91,110,93,125,41,44,32,119,104,101,114,101,32,116,104,101,32,98,91,105,93,58,115,32,97,114,101,32,116,104,101,32,111,117,116,45,110,101,105,103,104,98,111,114,115,32,111,102,32,97,46,32,73,102,32,110,111,32,116,121,112,101,32,105,115,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,100,44,32,91,123,97,116,111,109,44,194,160,91,97,116,111,109,93,125,93,32,105,115,32,117,115,101,100,32,97,115,32,116,121,112,101,32,111,102,32,116,104,101,32,102,97,109,105,108,121,46,32,73,116,32,105,115,32,97,115,115,117,109,101,100,32,116,104,97,116,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,118,97,108,105,100,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<118,97,108,105,100,32,116,121,112,101>>]},<<32,111,102,32,116,104,101,32,101,120,116,101,114,110,97,108,32,115,101,116,32,111,102,32,116,104,101,32,102,97,109,105,108,121,46>>]},{p,[],[<<73,102,32,71,32,105,115,32,97,32,100,105,114,101,99,116,101,100,32,103,114,97,112,104,44,32,105,116,32,104,111,108,100,115,32,116,104,97,116,32,116,104,101,32,118,101,114,116,105,99,101,115,32,97,110,100,32,101,100,103,101,115,32,111,102,32,71,32,97,114,101,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,118,101,114,116,105,99,101,115,32,97,110,100,32,101,100,103,101,115,32,111,102,32>>,{code,[],[<<102,97,109,105,108,121,95,116,111,95,100,105,103,114,97,112,104,40,100,105,103,114,97,112,104,95,116,111,95,102,97,109,105,108,121,40,71,41,41>>]},<<46>>]}]},#{signature => [{attribute,{1511,2},spec,{{digraph_to_family,1},[{type,{1511,24},bounded_fun,[{type,{1511,24},'fun',[{type,{1511,24},product,[{var,{1511,25},'Graph'}]},{var,{1511,35},'Family'}]},[{type,{1512,7},constraint,[{atom,{1512,7},is_subtype},[{var,{1512,7},'Graph'},{remote_type,{1512,16},[{atom,{1512,16},digraph},{atom,{1512,24},graph},[]]}]]},{type,{1513,7},constraint,[{atom,{1513,7},is_subtype},[{var,{1513,7},'Family'},{user_type,{1513,17},family,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,53,53>>}},{{function,domain,1},[{file,[115,111,102,115,46,101,114,108]},{location,612}],[<<100,111,109,97,105,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,100,111,109,97,105,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,111,109,97,105,110>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,49,44,98,125,44,123,50,44,98,125,44,123,50,44,99,125,93,41,44,10,83,32,61,32,115,111,102,115,58,100,111,109,97,105,110,40,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,41,46,10,91,49,44,50,93>>]}]}]},#{signature => [{attribute,{612,2},spec,{{domain,1},[{type,{612,13},bounded_fun,[{type,{612,13},'fun',[{type,{612,13},product,[{var,{612,14},'BinRel'}]},{var,{612,25},'Set'}]},[{type,{613,7},constraint,[{atom,{613,7},is_subtype},[{var,{613,7},'BinRel'},{user_type,{613,17},binary_relation,[]}]]},{type,{614,7},constraint,[{atom,{614,7},is_subtype},[{var,{614,7},'Set'},{user_type,{614,14},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,55,53>>}},{{function,drestriction,2},[{file,[115,111,102,115,46,101,114,108]},{location,833}],[<<100,114,101,115,116,114,105,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,100,105,102,102,101,114,101,110,99,101,32,98,101,116,119,101,101,110,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,97,110,100,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,115,116,114,105,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,115,116,114,105,99,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,116,111,32>>,{code,[],[<<83,101,116>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,41,44,10,83,32,61,32,115,111,102,115,58,115,101,116,40,91,50,44,52,44,54,93,41,44,10,82,50,32,61,32,115,111,102,115,58,100,114,101,115,116,114,105,99,116,105,111,110,40,82,49,44,32,83,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,46,10,91,123,49,44,97,125,44,123,51,44,99,125,93>>]}]},{p,[],[{code,[],[<<100,114,101,115,116,114,105,99,116,105,111,110,40,82,44,194,160,83,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<100,105,102,102,101,114,101,110,99,101,40,82,44,194,160,114,101,115,116,114,105,99,116,105,111,110,40,82,44,194,160,83,41,41>>]},<<46>>]}]},#{signature => [{attribute,{833,2},spec,{{drestriction,2},[{type,{833,19},bounded_fun,[{type,{833,19},'fun',[{type,{833,19},product,[{var,{833,20},'BinRel1'},{var,{833,29},'Set'}]},{var,{833,37},'BinRel2'}]},[{type,{834,7},constraint,[{atom,{834,7},is_subtype},[{var,{834,7},'BinRel1'},{user_type,{834,18},binary_relation,[]}]]},{type,{835,7},constraint,[{atom,{835,7},is_subtype},[{var,{835,7},'BinRel2'},{user_type,{835,18},binary_relation,[]}]]},{type,{836,7},constraint,[{atom,{836,7},is_subtype},[{var,{836,7},'Set'},{user_type,{836,14},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,53,56,57>>}},{{function,drestriction,3},[{file,[115,111,102,115,46,101,114,108]},{location,960}],[<<100,114,101,115,116,114,105,99,116,105,111,110,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,117,98,115,101,116,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,104,111,115,101,32,101,108,101,109,101,110,116,115,32,116,104,97,116,32,100,111,32,110,111,116,32,103,105,118,101,32,97,110,32,101,108,101,109,101,110,116,32,105,110,32>>,{code,[],[<<83,101,116,50>>]},<<32,97,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,101,116,70,117,110,32,61,32,123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,123,95,65,44,66,44,67,125,41,32,45,62,32,123,66,44,67,125,32,101,110,100,125,44,10,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,97,44,97,97,44,49,125,44,123,98,44,98,98,44,50,125,44,123,99,44,99,99,44,51,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,98,98,44,50,125,44,123,99,99,44,51,125,44,123,100,100,44,52,125,93,41,44,10,82,51,32,61,32,115,111,102,115,58,100,114,101,115,116,114,105,99,116,105,111,110,40,83,101,116,70,117,110,44,32,82,49,44,32,82,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,51,41,46,10,91,123,97,44,97,97,44,49,125,93>>]}]},{p,[],[{code,[],[<<100,114,101,115,116,114,105,99,116,105,111,110,40,70,44,194,160,83,49,44,194,160,83,50,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<100,105,102,102,101,114,101,110,99,101,40,83,49,44,194,160,114,101,115,116,114,105,99,116,105,111,110,40,70,44,194,160,83,49,44,194,160,83,50,41,41>>]},<<46>>]}]},#{signature => [{attribute,{960,2},spec,{{drestriction,3},[{type,{960,19},bounded_fun,[{type,{960,19},'fun',[{type,{960,19},product,[{var,{960,20},'SetFun'},{var,{960,28},'Set1'},{var,{960,34},'Set2'}]},{var,{960,43},'Set3'}]},[{type,{961,7},constraint,[{atom,{961,7},is_subtype},[{var,{961,7},'SetFun'},{user_type,{961,17},set_fun,[]}]]},{type,{962,7},constraint,[{atom,{962,7},is_subtype},[{var,{962,7},'Set1'},{user_type,{962,15},a_set,[]}]]},{type,{963,7},constraint,[{atom,{963,7},is_subtype},[{var,{963,7},'Set2'},{user_type,{963,15},a_set,[]}]]},{type,{964,7},constraint,[{atom,{964,7},is_subtype},[{var,{964,7},'Set3'},{user_type,{964,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,54,48,56>>}},{{function,empty_set,0},[{file,[115,111,102,115,46,101,114,108]},{location,178}],[<<101,109,112,116,121,95,115,101,116,47,48>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,116,121,112,101,100,32,101,109,112,116,121,32,115,101,116>>]},<<46,32>>,{code,[],[<<101,109,112,116,121,95,115,101,116,40,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<102,114,111,109,95,116,101,114,109,40,91,93,44,194,160,91,39,95,39,93,41>>]},<<46>>]}]},#{signature => [{attribute,{178,2},spec,{{empty_set,0},[{type,{178,16},bounded_fun,[{type,{178,16},'fun',[{type,{178,16},product,[]},{var,{178,22},'Set'}]},[{type,{179,7},constraint,[{atom,{179,7},is_subtype},[{var,{179,7},'Set'},{user_type,{179,14},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,54,50,56>>}},{{function,extension,3},[{file,[115,111,102,115,46,101,114,108]},{location,779}],[<<101,120,116,101,110,115,105,111,110,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,120,116,101,110,115,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,120,116,101,110,115,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,115,117,99,104,32,116,104,97,116,32,102,111,114,32,101,97,99,104,32,101,108,101,109,101,110,116,32,69,32,105,110,32>>,{code,[],[<<83,101,116>>]},<<32,116,104,97,116,32,100,111,101,115,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,100,111,109,97,105,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,111,109,97,105,110>>]},<<32,111,102,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<44,32>>,{code,[],[<<66,105,110,82,101,108,50>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,112,97,105,114,32,40,69,44,194,160>>,{code,[],[<<65,110,121,83,101,116>>]},<<41,46>>]},{pre,[],[{code,[],[<<49,62,32,83,32,61,32,115,111,102,115,58,115,101,116,40,91,98,44,99,93,41,44,10,65,32,61,32,115,111,102,115,58,101,109,112,116,121,95,115,101,116,40,41,44,10,82,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,49,44,50,93,125,44,123,98,44,91,51,93,125,93,41,44,10,88,32,61,32,115,111,102,115,58,101,120,116,101,110,115,105,111,110,40,82,44,32,83,44,32,65,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,88,41,46,10,91,123,97,44,91,49,44,50,93,125,44,123,98,44,91,51,93,125,44,123,99,44,91,93,125,93>>]}]}]},#{signature => [{attribute,{779,2},spec,{{extension,3},[{type,{779,16},bounded_fun,[{type,{779,16},'fun',[{type,{779,16},product,[{var,{779,17},'BinRel1'},{var,{779,26},'Set'},{var,{779,31},'AnySet'}]},{var,{779,42},'BinRel2'}]},[{type,{780,7},constraint,[{atom,{780,7},is_subtype},[{var,{780,7},'AnySet'},{user_type,{780,17},anyset,[]}]]},{type,{781,7},constraint,[{atom,{781,7},is_subtype},[{var,{781,7},'BinRel1'},{user_type,{781,18},binary_relation,[]}]]},{type,{782,7},constraint,[{atom,{782,7},is_subtype},[{var,{782,7},'BinRel2'},{user_type,{782,18},binary_relation,[]}]]},{type,{783,7},constraint,[{atom,{783,7},is_subtype},[{var,{783,7},'Set'},{user_type,{783,14},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,54,51,56>>}},{{function,family,2},[{file,[115,111,102,115,46,101,114,108]},{location,302}],[<<102,97,109,105,108,121,47,50>>],#{},#{signature => [{attribute,{302,2},spec,{{family,2},[{type,{302,13},bounded_fun,[{type,{302,13},'fun',[{type,{302,13},product,[{var,{302,14},'Tuples'},{var,{302,22},'Type'}]},{var,{302,31},'Family'}]},[{type,{303,7},constraint,[{atom,{303,7},is_subtype},[{var,{303,7},'Family'},{user_type,{303,17},family,[]}]]},{type,{304,7},constraint,[{atom,{304,7},is_subtype},[{var,{304,7},'Tuples'},{type,{304,17},list,[{type,{304,18},tuple,any}]}]]},{type,{305,7},constraint,[{atom,{305,7},is_subtype},[{var,{305,7},'Type'},{user_type,{305,15},type,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,54,53,56>>,equiv => {function,family,1}}},{{function,family,1},[{file,[115,111,102,115,46,101,114,108]},{location,290}],[<<102,97,109,105,108,121,47,49>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121,32,111,102,32,115,117,98,115,101,116,115>>]},<<46,32>>,{code,[],[<<102,97,109,105,108,121,40,70,44,194,160,84,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<102,114,111,109,95,116,101,114,109,40,70,44,194,160,84,41>>]},<<32,105,102,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,97,32,102,97,109,105,108,121,46,32,73,102,32,110,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<32,105,115,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,100,44,32>>,{code,[],[<<91,123,97,116,111,109,44,194,160,91,97,116,111,109,93,125,93>>]},<<32,105,115,32,117,115,101,100,32,97,115,32,116,104,101,32,102,97,109,105,108,121,32,116,121,112,101,46>>]}]},#{signature => [{attribute,{290,2},spec,{{family,1},[{type,{290,13},bounded_fun,[{type,{290,13},'fun',[{type,{290,13},product,[{var,{290,14},'Tuples'}]},{var,{290,25},'Family'}]},[{type,{291,7},constraint,[{atom,{291,7},is_subtype},[{var,{291,7},'Family'},{user_type,{291,17},family,[]}]]},{type,{292,7},constraint,[{atom,{292,7},is_subtype},[{var,{292,7},'Tuples'},{type,{292,17},list,[{type,{292,18},tuple,any}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,54,53,56>>}},{{function,family_difference,2},[{file,[115,111,102,115,46,101,114,108]},{location,1385}],[<<102,97,109,105,108,121,95,100,105,102,102,101,114,101,110,99,101,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,97,114,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,105,101,115>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,51>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,115,117,99,104,32,116,104,97,116,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,105,115,32,101,113,117,97,108,32,116,111,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<44,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,51>>]},<<91,105,93,32,105,115,32,116,104,101,32,100,105,102,102,101,114,101,110,99,101,32,98,101,116,119,101,101,110,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,102,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,109,97,112,115,32,105,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<70,97,109,105,108,121,49,91,105,93>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,49,44,50,93,125,44,123,98,44,91,51,44,52,93,125,93,41,44,10,70,50,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,98,44,91,52,44,53,93,125,44,123,99,44,91,54,44,55,93,125,93,41,44,10,70,51,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,100,105,102,102,101,114,101,110,99,101,40,70,49,44,32,70,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,51,41,46,10,91,123,97,44,91,49,44,50,93,125,44,123,98,44,91,51,93,125,93>>]}]}]},#{signature => [{attribute,{1385,2},spec,{{family_difference,2},[{type,{1385,24},bounded_fun,[{type,{1385,24},'fun',[{type,{1385,24},product,[{var,{1385,25},'Family1'},{var,{1385,34},'Family2'}]},{var,{1385,46},'Family3'}]},[{type,{1386,7},constraint,[{atom,{1386,7},is_subtype},[{var,{1386,7},'Family1'},{user_type,{1386,18},family,[]}]]},{type,{1387,7},constraint,[{atom,{1387,7},is_subtype},[{var,{1387,7},'Family2'},{user_type,{1387,18},family,[]}]]},{type,{1388,7},constraint,[{atom,{1388,7},is_subtype},[{var,{1388,7},'Family3'},{user_type,{1388,18},family,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,54,55,50>>}},{{function,family_domain,1},[{file,[115,111,102,115,46,101,114,108]},{location,1341}],[<<102,97,109,105,108,121,95,100,111,109,97,105,110,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,105,115,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,102,111,114,32,101,118,101,114,121,32,105,32,105,110,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,115,117,99,104,32,116,104,97,116,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,100,111,109,97,105,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,111,109,97,105,110>>]},<<32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49,91,105,93>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,70,82,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,97,44,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,125,44,123,98,44,91,93,125,44,123,99,44,91,123,52,44,100,125,44,123,53,44,101,125,93,125,93,41,44,10,70,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,100,111,109,97,105,110,40,70,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,41,46,10,91,123,97,44,91,49,44,50,44,51,93,125,44,123,98,44,91,93,125,44,123,99,44,91,52,44,53,93,125,93>>]}]}]},#{signature => [{attribute,{1341,2},spec,{{family_domain,1},[{type,{1341,20},bounded_fun,[{type,{1341,20},'fun',[{type,{1341,20},product,[{var,{1341,21},'Family1'}]},{var,{1341,33},'Family2'}]},[{type,{1342,7},constraint,[{atom,{1342,7},is_subtype},[{var,{1342,7},'Family1'},{user_type,{1342,18},family,[]}]]},{type,{1343,7},constraint,[{atom,{1343,7},is_subtype},[{var,{1343,7},'Family2'},{user_type,{1343,18},family,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,54,57,51>>}},{{function,family_field,1},[{file,[115,111,102,115,46,101,114,108]},{location,1365}],[<<102,97,109,105,108,121,95,102,105,101,108,100,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,105,115,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,102,111,114,32,101,118,101,114,121,32,105,32,105,110,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,115,117,99,104,32,116,104,97,116,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,105,101,108,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,105,101,108,100>>]},<<32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,46>>]},{pre,[],[{code,[],[<<49,62,32,70,82,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,97,44,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,125,44,123,98,44,91,93,125,44,123,99,44,91,123,52,44,100,125,44,123,53,44,101,125,93,125,93,41,44,10,70,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,102,105,101,108,100,40,70,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,41,46,10,91,123,97,44,91,49,44,50,44,51,44,97,44,98,44,99,93,125,44,123,98,44,91,93,125,44,123,99,44,91,52,44,53,44,100,44,101,93,125,93>>]}]},{p,[],[{code,[],[<<102,97,109,105,108,121,95,102,105,101,108,100,40,70,97,109,105,108,121,49,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<102,97,109,105,108,121,95,117,110,105,111,110,40,102,97,109,105,108,121,95,100,111,109,97,105,110,40,70,97,109,105,108,121,49,41,44,32,102,97,109,105,108,121,95,114,97,110,103,101,40,70,97,109,105,108,121,49,41,41>>]},<<46>>]}]},#{signature => [{attribute,{1365,2},spec,{{family_field,1},[{type,{1365,19},bounded_fun,[{type,{1365,19},'fun',[{type,{1365,19},product,[{var,{1365,20},'Family1'}]},{var,{1365,32},'Family2'}]},[{type,{1366,7},constraint,[{atom,{1366,7},is_subtype},[{var,{1366,7},'Family1'},{user_type,{1366,18},family,[]}]]},{type,{1367,7},constraint,[{atom,{1367,7},is_subtype},[{var,{1367,7},'Family2'},{user_type,{1367,18},family,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,55,49,52>>}},{{function,family_intersection,1},[{file,[115,111,102,115,46,101,114,108]},{location,1325}],[<<102,97,109,105,108,121,95,105,110,116,101,114,115,101,99,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,105,115,32,97,32,115,101,116,32,111,102,32,115,101,116,115,32,102,111,114,32,101,118,101,114,121,32,105,32,105,110,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,115,117,99,104,32,116,104,97,116,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,110,116,101,114,115,101,99,116,105,111,110,95,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,110,116,101,114,115,101,99,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,105,115,32,97,110,32,101,109,112,116,121,32,115,101,116,32,102,111,114,32,115,111,109,101,32,105,44,32,116,104,101,32,112,114,111,99,101,115,115,32,101,120,105,116,115,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,109,101,115,115,97,103,101,46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,97,44,91,91,49,44,50,44,51,93,44,91,50,44,51,44,52,93,93,125,44,123,98,44,91,91,120,44,121,44,122,93,44,91,120,44,121,93,93,125,93,41,44,10,70,50,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,105,110,116,101,114,115,101,99,116,105,111,110,40,70,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,50,41,46,10,91,123,97,44,91,50,44,51,93,125,44,123,98,44,91,120,44,121,93,125,93>>]}]}]},#{signature => [{attribute,{1325,2},spec,{{family_intersection,1},[{type,{1325,26},bounded_fun,[{type,{1325,26},'fun',[{type,{1325,26},product,[{var,{1325,27},'Family1'}]},{var,{1325,39},'Family2'}]},[{type,{1326,7},constraint,[{atom,{1326,7},is_subtype},[{var,{1326,7},'Family1'},{user_type,{1326,18},family,[]}]]},{type,{1327,7},constraint,[{atom,{1327,7},is_subtype},[{var,{1327,7},'Family2'},{user_type,{1327,18},family,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,55,51,56>>}},{{function,family_intersection,2},[{file,[115,111,102,115,46,101,114,108]},{location,1378}],[<<102,97,109,105,108,121,95,105,110,116,101,114,115,101,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,97,114,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,105,101,115>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,51>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,115,117,99,104,32,116,104,97,116,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,105,115,32,116,104,101,32,105,110,116,101,114,115,101,99,116,105,111,110,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<58,115,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<58,115,32,105,110,100,101,120,32,115,101,116,115,44,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,51>>]},<<91,105,93,32,105,115,32,116,104,101,32,105,110,116,101,114,115,101,99,116,105,111,110,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,49,44,50,93,125,44,123,98,44,91,51,44,52,93,125,44,123,99,44,91,53,44,54,93,125,93,41,44,10,70,50,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,98,44,91,52,44,53,93,125,44,123,99,44,91,55,44,56,93,125,44,123,100,44,91,57,44,49,48,93,125,93,41,44,10,70,51,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,105,110,116,101,114,115,101,99,116,105,111,110,40,70,49,44,32,70,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,51,41,46,10,91,123,98,44,91,52,93,125,44,123,99,44,91,93,125,93>>]}]}]},#{signature => [{attribute,{1378,2},spec,{{family_intersection,2},[{type,{1378,26},bounded_fun,[{type,{1378,26},'fun',[{type,{1378,26},product,[{var,{1378,27},'Family1'},{var,{1378,36},'Family2'}]},{var,{1378,48},'Family3'}]},[{type,{1379,7},constraint,[{atom,{1379,7},is_subtype},[{var,{1379,7},'Family1'},{user_type,{1379,18},family,[]}]]},{type,{1380,7},constraint,[{atom,{1380,7},is_subtype},[{var,{1380,7},'Family2'},{user_type,{1380,18},family,[]}]]},{type,{1381,7},constraint,[{atom,{1381,7},is_subtype},[{var,{1381,7},'Family3'},{user_type,{1381,18},family,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,55,54,50>>}},{{function,family_projection,2},[{file,[115,111,102,115,46,101,114,108]},{location,1451}],[<<102,97,109,105,108,121,95,112,114,111,106,101,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,115,117,99,104,32,116,104,97,116,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,99,97,108,108,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<32,119,105,116,104,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,97,115,32,97,114,103,117,109,101,110,116,46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,97,44,91,91,49,44,50,93,44,91,50,44,51,93,93,125,44,123,98,44,91,91,93,93,125,93,41,44,10,70,50,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,112,114,111,106,101,99,116,105,111,110,40,102,117,110,32,115,111,102,115,58,117,110,105,111,110,47,49,44,32,70,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,50,41,46,10,91,123,97,44,91,49,44,50,44,51,93,125,44,123,98,44,91,93,125,93>>]}]}]},#{signature => [{attribute,{1451,2},spec,{{family_projection,2},[{type,{1451,24},bounded_fun,[{type,{1451,24},'fun',[{type,{1451,24},product,[{var,{1451,25},'SetFun'},{var,{1451,33},'Family1'}]},{var,{1451,45},'Family2'}]},[{type,{1452,7},constraint,[{atom,{1452,7},is_subtype},[{var,{1452,7},'SetFun'},{user_type,{1452,17},set_fun,[]}]]},{type,{1453,7},constraint,[{atom,{1453,7},is_subtype},[{var,{1453,7},'Family1'},{user_type,{1453,18},family,[]}]]},{type,{1454,7},constraint,[{atom,{1454,7},is_subtype},[{var,{1454,7},'Family2'},{user_type,{1454,18},family,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,55,56,50>>}},{{function,family_range,1},[{file,[115,111,102,115,46,101,114,108]},{location,1353}],[<<102,97,109,105,108,121,95,114,97,110,103,101,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,105,115,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,102,111,114,32,101,118,101,114,121,32,105,32,105,110,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,115,117,99,104,32,116,104,97,116,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,97,110,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,97,110,103,101>>]},<<32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,46>>]},{pre,[],[{code,[],[<<49,62,32,70,82,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,97,44,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,125,44,123,98,44,91,93,125,44,123,99,44,91,123,52,44,100,125,44,123,53,44,101,125,93,125,93,41,44,10,70,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,114,97,110,103,101,40,70,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,41,46,10,91,123,97,44,91,97,44,98,44,99,93,125,44,123,98,44,91,93,125,44,123,99,44,91,100,44,101,93,125,93>>]}]}]},#{signature => [{attribute,{1353,2},spec,{{family_range,1},[{type,{1353,19},bounded_fun,[{type,{1353,19},'fun',[{type,{1353,19},product,[{var,{1353,20},'Family1'}]},{var,{1353,32},'Family2'}]},[{type,{1354,7},constraint,[{atom,{1354,7},is_subtype},[{var,{1354,7},'Family1'},{user_type,{1354,18},family,[]}]]},{type,{1355,7},constraint,[{atom,{1355,7},is_subtype},[{var,{1355,7},'Family2'},{user_type,{1355,18},family,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,56,48,49>>}},{{function,family_specification,2},[{file,[115,111,102,115,46,101,114,108]},{location,1265}],[<<102,97,109,105,108,121,95,115,112,101,99,105,102,105,99,97,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,115,116,114,105,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,115,116,114,105,99,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,116,111,32,116,104,111,115,101,32,101,108,101,109,101,110,116,115,32,105,32,111,102,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,102,111,114,32,119,104,105,99,104,32>>,{code,[],[<<70,117,110>>]},<<32,97,112,112,108,105,101,100,32,116,111,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,114,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<46,32,73,102,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,101,120,116,101,114,110,97,108,44,194,160,70,117,110,50,125>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,117,110,50>>]},<<32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,120,116,101,114,110,97,108,32,115,101,116>>]},<<32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,112,112,108,105,101,100,32,116,111,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,49,44,50,44,51,93,125,44,123,98,44,91,49,44,50,93,125,44,123,99,44,91,49,93,125,93,41,44,10,83,112,101,99,70,117,110,32,61,32,102,117,110,40,83,41,32,45,62,32,115,111,102,115,58,110,111,95,101,108,101,109,101,110,116,115,40,83,41,32,61,58,61,32,50,32,101,110,100,44,10,70,50,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,115,112,101,99,105,102,105,99,97,116,105,111,110,40,83,112,101,99,70,117,110,44,32,70,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,50,41,46,10,91,123,98,44,91,49,44,50,93,125,93>>]}]}]},#{signature => [{attribute,{1265,2},spec,{{family_specification,2},[{type,{1265,27},bounded_fun,[{type,{1265,27},'fun',[{type,{1265,27},product,[{var,{1265,28},'Fun'},{var,{1265,33},'Family1'}]},{var,{1265,45},'Family2'}]},[{type,{1266,7},constraint,[{atom,{1266,7},is_subtype},[{var,{1266,7},'Fun'},{user_type,{1266,14},spec_fun,[]}]]},{type,{1267,7},constraint,[{atom,{1267,7},is_subtype},[{var,{1267,7},'Family1'},{user_type,{1267,18},family,[]}]]},{type,{1268,7},constraint,[{atom,{1268,7},is_subtype},[{var,{1268,7},'Family2'},{user_type,{1268,18},family,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,56,50,50>>}},{{function,family_to_digraph,2},[{file,[115,111,102,115,46,101,114,108]},{location,1489}],[<<102,97,109,105,108,121,95,116,111,95,100,105,103,114,97,112,104,47,50>>],#{},#{signature => [{attribute,{1489,2},spec,{{family_to_digraph,2},[{type,{1489,24},bounded_fun,[{type,{1489,24},'fun',[{type,{1489,24},product,[{var,{1489,25},'Family'},{var,{1489,33},'GraphType'}]},{var,{1489,47},'Graph'}]},[{type,{1490,7},constraint,[{atom,{1490,7},is_subtype},[{var,{1490,7},'Graph'},{remote_type,{1490,16},[{atom,{1490,16},digraph},{atom,{1490,24},graph},[]]}]]},{type,{1491,7},constraint,[{atom,{1491,7},is_subtype},[{var,{1491,7},'Family'},{user_type,{1491,17},family,[]}]]},{type,{1492,7},constraint,[{atom,{1492,7},is_subtype},[{var,{1492,7},'GraphType'},{type,{1492,20},list,[{remote_type,{1492,21},[{atom,{1492,21},digraph},{atom,{1492,29},d_type},[]]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,56,52,55>>,equiv => {function,family_to_digraph,1}}},{{function,family_to_digraph,1},[{file,[115,111,102,115,46,101,114,108]},{location,1479}],[<<102,97,109,105,108,121,95,116,111,95,100,105,103,114,97,112,104,47,49>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32,100,105,114,101,99,116,101,100,32,103,114,97,112,104,32,102,114,111,109,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32>>,{code,[],[<<70,97,109,105,108,121>>]},<<46,32,70,111,114,32,101,97,99,104,32,112,97,105,114,32,40,97,44,194,160,123,98,91,49,93,44,194,160,46,46,46,44,194,160,98,91,110,93,125,41,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121>>]},<<44,32,118,101,114,116,101,120,32,97,32,97,110,100,32,116,104,101,32,101,100,103,101,115,32,40,97,44,194,160,98,91,105,93,41,32,102,111,114,32,49,194,160,60,61,194,160,105,194,160,60,61,194,160,110,32,97,114,101,32,97,100,100,101,100,32,116,111,32,97,32,110,101,119,108,121,32,99,114,101,97,116,101,100,32,100,105,114,101,99,116,101,100,32,103,114,97,112,104,46>>]},{p,[],[<<73,102,32,110,111,32,103,114,97,112,104,32,116,121,112,101,32,105,115,32,115,112,101,99,105,102,105,101,100,44,32>>,{a,[{href,<<115,116,100,108,105,98,58,100,105,103,114,97,112,104,35,110,101,119,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<100,105,103,114,97,112,104,58,110,101,119,47,48>>]}]},<<32,105,115,32,117,115,101,100,32,102,111,114,32,99,114,101,97,116,105,110,103,32,116,104,101,32,100,105,114,101,99,116,101,100,32,103,114,97,112,104,44,32,111,116,104,101,114,119,105,115,101,32,97,114,103,117,109,101,110,116,32>>,{code,[],[<<71,114,97,112,104,84,121,112,101>>]},<<32,105,115,32,112,97,115,115,101,100,32,111,110,32,97,115,32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,100,105,103,114,97,112,104,35,110,101,119,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<100,105,103,114,97,112,104,58,110,101,119,47,49>>]}]},<<46>>]},{p,[],[<<73,116,32,70,32,105,115,32,97,32,102,97,109,105,108,121,44,32,105,116,32,104,111,108,100,115,32,116,104,97,116,32,70,32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32>>,{code,[],[<<100,105,103,114,97,112,104,95,116,111,95,102,97,109,105,108,121,40,102,97,109,105,108,121,95,116,111,95,100,105,103,114,97,112,104,40,70,41,44,194,160,116,121,112,101,40,70,41,41>>]},<<46,32,69,113,117,97,108,105,116,121,32,104,111,108,100,115,32,105,102,32>>,{code,[],[<<117,110,105,111,110,95,111,102,95,102,97,109,105,108,121,40,70,41>>]},<<32,105,115,32,97,32,115,117,98,115,101,116,32,111,102,32>>,{code,[],[<<100,111,109,97,105,110,40,70,41>>]},<<46>>]},{p,[],[<<67,114,101,97,116,105,110,103,32,97,32,99,121,99,108,101,32,105,110,32,97,110,32,97,99,121,99,108,105,99,32,103,114,97,112,104,32,101,120,105,116,115,32,116,104,101,32,112,114,111,99,101,115,115,32,119,105,116,104,32,97,32>>,{code,[],[<<99,121,99,108,105,99>>]},<<32,109,101,115,115,97,103,101,46>>]}]},#{signature => [{attribute,{1479,2},spec,{{family_to_digraph,1},[{type,{1479,24},bounded_fun,[{type,{1479,24},'fun',[{type,{1479,24},product,[{var,{1479,25},'Family'}]},{var,{1479,36},'Graph'}]},[{type,{1480,7},constraint,[{atom,{1480,7},is_subtype},[{var,{1480,7},'Graph'},{remote_type,{1480,16},[{atom,{1480,16},digraph},{atom,{1480,24},graph},[]]}]]},{type,{1481,7},constraint,[{atom,{1481,7},is_subtype},[{var,{1481,7},'Family'},{user_type,{1481,17},family,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,56,52,55>>}},{{function,family_to_relation,1},[{file,[115,111,102,115,46,101,114,108]},{location,1253}],[<<102,97,109,105,108,121,95,116,111,95,114,101,108,97,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<32,105,115,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32,99,111,110,116,97,105,110,105,110,103,32,97,108,108,32,112,97,105,114,115,32,40,105,44,194,160,120,41,32,115,117,99,104,32,116,104,97,116,32,105,32,98,101,108,111,110,103,115,32,116,111,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121>>]},<<32,97,110,100,32,120,32,98,101,108,111,110,103,115,32,116,111,32>>,{code,[],[<<70,97,109,105,108,121>>]},<<91,105,93,46>>]},{pre,[],[{code,[],[<<49,62,32,70,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,93,125,44,32,123,98,44,91,49,93,125,44,32,123,99,44,91,50,44,51,93,125,93,41,44,10,82,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,116,111,95,114,101,108,97,116,105,111,110,40,70,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,41,46,10,91,123,98,44,49,125,44,123,99,44,50,125,44,123,99,44,51,125,93>>]}]}]},#{signature => [{attribute,{1253,2},spec,{{family_to_relation,1},[{type,{1253,25},bounded_fun,[{type,{1253,25},'fun',[{type,{1253,25},product,[{var,{1253,26},'Family'}]},{var,{1253,37},'BinRel'}]},[{type,{1254,7},constraint,[{atom,{1254,7},is_subtype},[{var,{1254,7},'Family'},{user_type,{1254,17},family,[]}]]},{type,{1255,7},constraint,[{atom,{1255,7},is_subtype},[{var,{1255,7},'BinRel'},{user_type,{1255,17},binary_relation,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,56,55,51>>}},{{function,family_union,1},[{file,[115,111,102,115,46,101,114,108]},{location,1314}],[<<102,97,109,105,108,121,95,117,110,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,105,115,32,97,32,115,101,116,32,111,102,32,115,101,116,115,32,102,111,114,32,101,97,99,104,32,105,32,105,110,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,119,105,116,104,32,116,104,101,32,115,97,109,101,32,105,110,100,101,120,32,115,101,116,32,97,115,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,115,117,99,104,32,116,104,97,116,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,117,110,105,111,110,95,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,97,44,91,91,49,44,50,93,44,91,50,44,51,93,93,125,44,123,98,44,91,91,93,93,125,93,41,44,10,70,50,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,117,110,105,111,110,40,70,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,50,41,46,10,91,123,97,44,91,49,44,50,44,51,93,125,44,123,98,44,91,93,125,93>>]}]},{p,[],[{code,[],[<<102,97,109,105,108,121,95,117,110,105,111,110,40,70,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<102,97,109,105,108,121,95,112,114,111,106,101,99,116,105,111,110,40,102,117,110,32,115,111,102,115,58,117,110,105,111,110,47,49,44,194,160,70,41>>]},<<46>>]}]},#{signature => [{attribute,{1314,2},spec,{{family_union,1},[{type,{1314,19},bounded_fun,[{type,{1314,19},'fun',[{type,{1314,19},product,[{var,{1314,20},'Family1'}]},{var,{1314,32},'Family2'}]},[{type,{1315,7},constraint,[{atom,{1315,7},is_subtype},[{var,{1315,7},'Family1'},{user_type,{1315,18},family,[]}]]},{type,{1316,7},constraint,[{atom,{1316,7},is_subtype},[{var,{1316,7},'Family2'},{user_type,{1316,18},family,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,56,57,49>>}},{{function,family_union,2},[{file,[115,111,102,115,46,101,114,108]},{location,1371}],[<<102,97,109,105,108,121,95,117,110,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<32,97,114,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,105,101,115>>]},<<44,32,116,104,101,110,32>>,{code,[],[<<70,97,109,105,108,121,51>>]},<<32,105,115,32,116,104,101,32,102,97,109,105,108,121,32,115,117,99,104,32,116,104,97,116,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,105,115,32,116,104,101,32,117,110,105,111,110,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<58,115,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<58,115,32,105,110,100,101,120,32,115,101,116,115,44,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,51>>]},<<91,105,93,32,105,115,32,116,104,101,32,117,110,105,111,110,32,111,102,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,32,105,102,32,98,111,116,104,32,109,97,112,32,105,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<70,97,109,105,108,121,49>>]},<<91,105,93,32,111,114,32>>,{code,[],[<<70,97,109,105,108,121,50>>]},<<91,105,93,46>>]},{pre,[],[{code,[],[<<49,62,32,70,49,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,49,44,50,93,125,44,123,98,44,91,51,44,52,93,125,44,123,99,44,91,53,44,54,93,125,93,41,44,10,70,50,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,98,44,91,52,44,53,93,125,44,123,99,44,91,55,44,56,93,125,44,123,100,44,91,57,44,49,48,93,125,93,41,44,10,70,51,32,61,32,115,111,102,115,58,102,97,109,105,108,121,95,117,110,105,111,110,40,70,49,44,32,70,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,51,41,46,10,91,123,97,44,91,49,44,50,93,125,44,123,98,44,91,51,44,52,44,53,93,125,44,123,99,44,91,53,44,54,44,55,44,56,93,125,44,123,100,44,91,57,44,49,48,93,125,93>>]}]}]},#{signature => [{attribute,{1371,2},spec,{{family_union,2},[{type,{1371,19},bounded_fun,[{type,{1371,19},'fun',[{type,{1371,19},product,[{var,{1371,20},'Family1'},{var,{1371,29},'Family2'}]},{var,{1371,41},'Family3'}]},[{type,{1372,7},constraint,[{atom,{1372,7},is_subtype},[{var,{1372,7},'Family1'},{user_type,{1372,18},family,[]}]]},{type,{1373,7},constraint,[{atom,{1373,7},is_subtype},[{var,{1373,7},'Family2'},{user_type,{1373,18},family,[]}]]},{type,{1374,7},constraint,[{atom,{1374,7},is_subtype},[{var,{1374,7},'Family3'},{user_type,{1374,18},family,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,57,49,52>>}},{{function,field,1},[{file,[115,111,102,115,46,101,114,108]},{location,632}],[<<102,105,101,108,100,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,105,101,108,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,105,101,108,100>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,49,44,98,125,44,123,50,44,98,125,44,123,50,44,99,125,93,41,44,10,83,32,61,32,115,111,102,115,58,102,105,101,108,100,40,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,41,46,10,91,49,44,50,44,97,44,98,44,99,93>>]}]},{p,[],[{code,[],[<<102,105,101,108,100,40,82,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<117,110,105,111,110,40,100,111,109,97,105,110,40,82,41,44,32,114,97,110,103,101,40,82,41,41>>]},<<46>>]}]},#{signature => [{attribute,{632,2},spec,{{field,1},[{type,{632,12},bounded_fun,[{type,{632,12},'fun',[{type,{632,12},product,[{var,{632,13},'BinRel'}]},{var,{632,24},'Set'}]},[{type,{633,7},constraint,[{atom,{633,7},is_subtype},[{var,{633,7},'BinRel'},{user_type,{633,17},binary_relation,[]}]]},{type,{634,7},constraint,[{atom,{634,7},is_subtype},[{var,{634,7},'Set'},{user_type,{634,14},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,57,51,54>>}},{{function,from_external,2},[{file,[115,111,102,115,46,101,114,108]},{location,169}],[<<102,114,111,109,95,101,120,116,101,114,110,97,108,47,50>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32,115,101,116,32,102,114,111,109,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,120,116,101,114,110,97,108,32,115,101,116>>]},<<32>>,{code,[],[<<69,120,116,101,114,110,97,108,83,101,116>>]},<<32,97,110,100,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<32>>,{code,[],[<<84,121,112,101>>]},<<46,32,73,116,32,105,115,32,97,115,115,117,109,101,100,32,116,104,97,116,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,118,97,108,105,100,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<118,97,108,105,100,32,116,121,112,101>>]},<<32,111,102,32>>,{code,[],[<<69,120,116,101,114,110,97,108,83,101,116>>]},<<46>>]}]},#{signature => [{attribute,{169,2},spec,{{from_external,2},[{type,{169,20},bounded_fun,[{type,{169,20},'fun',[{type,{169,20},product,[{var,{169,21},'ExternalSet'},{var,{169,34},'Type'}]},{var,{169,43},'AnySet'}]},[{type,{170,7},constraint,[{atom,{170,7},is_subtype},[{var,{170,7},'ExternalSet'},{user_type,{170,22},external_set,[]}]]},{type,{171,7},constraint,[{atom,{171,7},is_subtype},[{var,{171,7},'AnySet'},{user_type,{171,17},anyset,[]}]]},{type,{172,7},constraint,[{atom,{172,7},is_subtype},[{var,{172,7},'Type'},{user_type,{172,15},type,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,57,53,50>>}},{{function,from_sets,1},[{file,[115,111,102,115,46,101,114,108]},{location,220}],[<<102,114,111,109,95,115,101,116,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,111,114,100,101,114,101,100,32,115,101,116>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,115,101,116,115,32,111,102,32,108,105,115,116,32>>,{code,[],[<<76,105,115,116,79,102,83,101,116,115>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,97,44,49,125,44,123,98,44,50,125,93,41,44,10,83,50,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,120,44,51,125,44,123,121,44,52,125,93,41,44,10,83,32,61,32,115,111,102,115,58,102,114,111,109,95,115,101,116,115,40,91,83,49,44,83,50,93,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,41,46,10,91,91,123,97,44,49,125,44,123,98,44,50,125,93,44,91,123,120,44,51,125,44,123,121,44,52,125,93,93>>]}]}]},#{signature => [{attribute,{220,2},spec,{{from_sets,1},[{type,{220,16},bounded_fun,[{type,{220,16},'fun',[{type,{220,16},product,[{var,{220,17},'ListOfSets'}]},{var,{220,32},'Set'}]},[{type,{221,7},constraint,[{atom,{221,7},is_subtype},[{var,{221,7},'Set'},{user_type,{221,14},a_set,[]}]]},{type,{222,7},constraint,[{atom,{222,7},is_subtype},[{var,{222,7},'ListOfSets'},{type,{222,21},list,[{user_type,{222,22},anyset,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,57,54,53>>}},{{function,from_sets,1},[{file,[115,111,102,115,46,101,114,108]},{location,220}],[<<102,114,111,109,95,115,101,116,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<111,114,100,101,114,101,100,32,115,101,116>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,115,101,116,115,32,111,102,32,116,104,101,32,110,111,110,45,101,109,112,116,121,32,116,117,112,108,101,32>>,{code,[],[<<84,117,112,108,101,79,102,83,101,116,115>>]},<<46>>]}]},#{signature => [{attribute,{220,2},spec,{{from_sets,1},[{type,{223,16},bounded_fun,[{type,{223,16},'fun',[{type,{223,16},product,[{var,{223,17},'TupleOfSets'}]},{var,{223,33},'Ordset'}]},[{type,{224,7},constraint,[{atom,{224,7},is_subtype},[{var,{224,7},'Ordset'},{user_type,{224,17},ordset,[]}]]},{type,{225,7},constraint,[{atom,{225,7},is_subtype},[{var,{225,7},'TupleOfSets'},{user_type,{225,22},tuple_of,[{user_type,{225,31},anyset,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,57,56,49>>}},{{function,from_term,2},[{file,[115,111,102,115,46,101,114,108]},{location,155}],[<<102,114,111,109,95,116,101,114,109,47,50>>],#{},#{signature => [{attribute,{155,2},spec,{{from_term,2},[{type,{155,16},bounded_fun,[{type,{155,16},'fun',[{type,{155,16},product,[{var,{155,17},'Term'},{var,{155,23},'Type'}]},{var,{155,32},'AnySet'}]},[{type,{156,7},constraint,[{atom,{156,7},is_subtype},[{var,{156,7},'AnySet'},{user_type,{156,17},anyset,[]}]]},{type,{157,7},constraint,[{atom,{157,7},is_subtype},[{var,{157,7},'Term'},{type,{157,15},term,[]}]]},{type,{158,7},constraint,[{atom,{158,7},is_subtype},[{var,{158,7},'Type'},{user_type,{158,15},type,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,57,57,49>>,equiv => {function,from_term,1}}},{{function,from_term,1},[{file,[115,111,102,115,46,101,114,108]},{location,143}],[<<102,114,111,109,95,116,101,114,109,47,49>>],#{<<101,110>> => [{p,[],[{a,[{id,<<102,114,111,109,95,116,101,114,109>>}],[]},<<67,114,101,97,116,101,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,101,116,115>>]},<<32,98,121,32,116,114,97,118,101,114,115,105,110,103,32,116,101,114,109,32>>,{code,[],[<<84,101,114,109>>]},<<44,32,115,111,114,116,105,110,103,32,108,105,115,116,115,44,32,114,101,109,111,118,105,110,103,32,100,117,112,108,105,99,97,116,101,115,44,32,97,110,100,32,100,101,114,105,118,105,110,103,32,111,114,32,118,101,114,105,102,121,105,110,103,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,118,97,108,105,100,95,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<118,97,108,105,100,32,116,121,112,101>>]},<<32,102,111,114,32,116,104,101,32,115,111,32,111,98,116,97,105,110,101,100,32,101,120,116,101,114,110,97,108,32,115,101,116,46,32,65,110,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,100,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<32>>,{code,[],[<<84,121,112,101>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,108,105,109,105,116,32,116,104,101,32,100,101,112,116,104,32,111,102,32,116,104,101,32,116,114,97,118,101,114,115,97,108,59,32,97,110,32,97,116,111,109,105,99,32,116,121,112,101,32,115,116,111,112,115,32,116,104,101,32,116,114,97,118,101,114,115,97,108,44,32,97,115,32,115,104,111,119,110,32,98,121,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,32,119,104,101,114,101,32>>,{code,[],[<<34,102,111,111,34>>]},<<32,97,110,100,32>>,{code,[],[<<123,34,102,111,111,34,125>>]},<<32,97,114,101,32,108,101,102,116,32,117,110,109,111,100,105,102,105,101,100,58>>]},{pre,[],[{code,[],[<<49,62,32,83,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,123,34,102,111,111,34,125,44,91,49,44,49,93,125,44,123,34,102,111,111,34,44,91,50,44,50,93,125,93,44,10,91,123,97,116,111,109,44,91,97,116,111,109,93,125,93,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,41,46,10,91,123,123,34,102,111,111,34,125,44,91,49,93,125,44,123,34,102,111,111,34,44,91,50,93,125,93>>]}]},{p,[],[{code,[],[<<102,114,111,109,95,116,101,114,109>>]},<<32,99,97,110,32,98,101,32,117,115,101,100,32,102,111,114,32,99,114,101,97,116,105,110,103,32,97,116,111,109,105,99,32,111,114,32,111,114,100,101,114,101,100,32,115,101,116,115,46,32,84,104,101,32,111,110,108,121,32,112,117,114,112,111,115,101,32,111,102,32,115,117,99,104,32,97,32,115,101,116,32,105,115,32,116,104,97,116,32,111,102,32,108,97,116,101,114,32,98,117,105,108,100,105,110,103,32,117,110,111,114,100,101,114,101,100,32,115,101,116,115,44,32,97,115,32,97,108,108,32,102,117,110,99,116,105,111,110,115,32,105,110,32,116,104,105,115,32,109,111,100,117,108,101,32,116,104,97,116,32>>,{em,[],[<<100,111>>]},<<32,97,110,121,116,104,105,110,103,32,111,112,101,114,97,116,101,32,111,110,32,117,110,111,114,100,101,114,101,100,32,115,101,116,115,46,32,67,114,101,97,116,105,110,103,32,117,110,111,114,100,101,114,101,100,32,115,101,116,115,32,102,114,111,109,32,97,32,99,111,108,108,101,99,116,105,111,110,32,111,102,32,111,114,100,101,114,101,100,32,115,101,116,115,32,99,97,110,32,98,101,32,116,104,101,32,119,97,121,32,116,111,32,103,111,32,105,102,32,116,104,101,32,111,114,100,101,114,101,100,32,115,101,116,115,32,97,114,101,32,98,105,103,32,97,110,100,32,111,110,101,32,100,111,101,115,32,110,111,116,32,119,97,110,116,32,116,111,32,119,97,115,116,101,32,104,101,97,112,32,98,121,32,114,101,98,117,105,108,100,105,110,103,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32,117,110,111,114,100,101,114,101,100,32,115,101,116,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,32,115,104,111,119,115,32,116,104,97,116,32,97,32,115,101,116,32,99,97,110,32,98,101,32,98,117,105,108,116,32,34,108,97,121,101,114,32,98,121,32,108,97,121,101,114,34,58>>]},{pre,[],[{code,[],[<<49,62,32,65,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,97,41,44,10,83,32,61,32,115,111,102,115,58,115,101,116,40,91,49,44,50,44,51,93,41,44,10,80,49,32,61,32,115,111,102,115,58,102,114,111,109,95,115,101,116,115,40,123,65,44,83,125,41,44,10,80,50,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,123,98,44,91,54,44,53,44,52,93,125,41,44,10,83,115,32,61,32,115,111,102,115,58,102,114,111,109,95,115,101,116,115,40,91,80,49,44,80,50,93,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,115,41,46,10,91,123,97,44,91,49,44,50,44,51,93,125,44,123,98,44,91,52,44,53,44,54,93,125,93>>]}]},{p,[],[<<79,116,104,101,114,32,102,117,110,99,116,105,111,110,115,32,116,104,97,116,32,99,114,101,97,116,101,32,115,101,116,115,32,97,114,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,114,111,109,95,101,120,116,101,114,110,97,108,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,114,111,109,95,101,120,116,101,114,110,97,108,47,50>>]}]},<<32,97,110,100,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,114,111,109,95,115,101,116,115,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,114,111,109,95,115,101,116,115,47,49>>]}]},<<46,32,83,112,101,99,105,97,108,32,99,97,115,101,115,32,111,102,32>>,{code,[],[<<102,114,111,109,95,116,101,114,109,47,50>>]},<<32,97,114,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,97,95,102,117,110,99,116,105,111,110,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<97,95,102,117,110,99,116,105,111,110,47,49,44,50>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,109,112,116,121,95,115,101,116,47,48>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<101,109,112,116,121,95,115,101,116,47,48>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<102,97,109,105,108,121,47,49,44,50>>]}]},<<44,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,108,97,116,105,111,110,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<114,101,108,97,116,105,111,110,47,49,44,50>>]}]},<<44,32,97,110,100,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,47,49>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<115,101,116,47,49,44,50>>]}]},<<46>>]}]},#{signature => [{attribute,{143,2},spec,{{from_term,1},[{type,{143,16},bounded_fun,[{type,{143,16},'fun',[{type,{143,16},product,[{var,{143,17},'Term'}]},{var,{143,26},'AnySet'}]},[{type,{144,7},constraint,[{atom,{144,7},is_subtype},[{var,{144,7},'AnySet'},{user_type,{144,17},anyset,[]}]]},{type,{145,7},constraint,[{atom,{145,7},is_subtype},[{var,{145,7},'Term'},{type,{145,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,57,57,49>>}},{{function,image,2},[{file,[115,111,102,115,46,101,114,108]},{location,717}],[<<105,109,97,103,101,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,109,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,109,97,103,101>>]},<<32,111,102,32,115,101,116,32>>,{code,[],[<<83,101,116,49>>]},<<32,117,110,100,101,114,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,50,44,99,125,44,123,51,44,100,125,93,41,44,10,83,49,32,61,32,115,111,102,115,58,115,101,116,40,91,49,44,50,93,41,44,10,83,50,32,61,32,115,111,102,115,58,105,109,97,103,101,40,82,44,32,83,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,50,41,46,10,91,97,44,98,44,99,93>>]}]}]},#{signature => [{attribute,{717,2},spec,{{image,2},[{type,{717,12},bounded_fun,[{type,{717,12},'fun',[{type,{717,12},product,[{var,{717,13},'BinRel'},{var,{717,21},'Set1'}]},{var,{717,30},'Set2'}]},[{type,{718,7},constraint,[{atom,{718,7},is_subtype},[{var,{718,7},'BinRel'},{user_type,{718,17},binary_relation,[]}]]},{type,{719,7},constraint,[{atom,{719,7},is_subtype},[{var,{719,7},'Set1'},{user_type,{719,15},a_set,[]}]]},{type,{720,7},constraint,[{atom,{720,7},is_subtype},[{var,{720,7},'Set2'},{user_type,{720,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,48,52,49>>}},{{function,intersection,1},[{file,[115,111,102,115,46,101,114,108]},{location,563}],[<<105,110,116,101,114,115,101,99,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,110,116,101,114,115,101,99,116,105,111,110,95,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,110,116,101,114,115,101,99,116,105,111,110>>]},<<32,111,102,32,116,104,101,32,115,101,116,32,111,102,32,115,101,116,115,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<46>>]},{p,[],[<<73,110,116,101,114,115,101,99,116,105,110,103,32,97,110,32,101,109,112,116,121,32,115,101,116,32,111,102,32,115,101,116,115,32,101,120,105,116,115,32,116,104,101,32,112,114,111,99,101,115,115,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,109,101,115,115,97,103,101,46>>]}]},#{signature => [{attribute,{563,2},spec,{{intersection,1},[{type,{563,19},bounded_fun,[{type,{563,19},'fun',[{type,{563,19},product,[{var,{563,20},'SetOfSets'}]},{var,{563,34},'Set'}]},[{type,{564,7},constraint,[{atom,{564,7},is_subtype},[{var,{564,7},'Set'},{user_type,{564,14},a_set,[]}]]},{type,{565,7},constraint,[{atom,{565,7},is_subtype},[{var,{565,7},'SetOfSets'},{user_type,{565,20},set_of_sets,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,48,53,55>>}},{{function,intersection,2},[{file,[115,111,102,115,46,101,114,108]},{location,388}],[<<105,110,116,101,114,115,101,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,110,116,101,114,115,101,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,110,116,101,114,115,101,99,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,97,110,100,32>>,{code,[],[<<83,101,116,50>>]},<<46>>]}]},#{signature => [{attribute,{388,2},spec,{{intersection,2},[{type,{388,19},bounded_fun,[{type,{388,19},'fun',[{type,{388,19},product,[{var,{388,20},'Set1'},{var,{388,26},'Set2'}]},{var,{388,35},'Set3'}]},[{type,{389,7},constraint,[{atom,{389,7},is_subtype},[{var,{389,7},'Set1'},{user_type,{389,15},a_set,[]}]]},{type,{390,7},constraint,[{atom,{390,7},is_subtype},[{var,{390,7},'Set2'},{user_type,{390,15},a_set,[]}]]},{type,{391,7},constraint,[{atom,{391,7},is_subtype},[{var,{391,7},'Set3'},{user_type,{391,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,48,54,57>>}},{{function,intersection_of_family,1},[{file,[115,111,102,115,46,101,114,108]},{location,1299}],[<<105,110,116,101,114,115,101,99,116,105,111,110,95,111,102,95,102,97,109,105,108,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,105,110,116,101,114,115,101,99,116,105,111,110,32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32>>,{code,[],[<<70,97,109,105,108,121>>]},<<46>>]},{p,[],[<<73,110,116,101,114,115,101,99,116,105,110,103,32,97,110,32,101,109,112,116,121,32,102,97,109,105,108,121,32,101,120,105,116,115,32,116,104,101,32,112,114,111,99,101,115,115,32,119,105,116,104,32,97,32>>,{code,[],[<<98,97,100,97,114,103>>]},<<32,109,101,115,115,97,103,101,46>>]},{pre,[],[{code,[],[<<49,62,32,70,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,48,44,50,44,52,93,125,44,123,98,44,91,48,44,49,44,50,93,125,44,123,99,44,91,50,44,51,93,125,93,41,44,10,83,32,61,32,115,111,102,115,58,105,110,116,101,114,115,101,99,116,105,111,110,95,111,102,95,102,97,109,105,108,121,40,70,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,41,46,10,91,50,93>>]}]}]},#{signature => [{attribute,{1299,2},spec,{{intersection_of_family,1},[{type,{1299,29},bounded_fun,[{type,{1299,29},'fun',[{type,{1299,29},product,[{var,{1299,30},'Family'}]},{var,{1299,41},'Set'}]},[{type,{1300,7},constraint,[{atom,{1300,7},is_subtype},[{var,{1300,7},'Family'},{user_type,{1300,17},family,[]}]]},{type,{1301,7},constraint,[{atom,{1301,7},is_subtype},[{var,{1301,7},'Set'},{user_type,{1301,14},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,48,55,57>>}},{{function,inverse,1},[{file,[115,111,102,115,46,101,114,108]},{location,872}],[<<105,110,118,101,114,115,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,110,118,101,114,115,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,110,118,101,114,115,101>>]},<<32,111,102,32,102,117,110,99,116,105,111,110,32>>,{code,[],[<<70,117,110,99,116,105,111,110,49>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,105,110,118,101,114,115,101,40,82,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,46,10,91,123,97,44,49,125,44,123,98,44,50,125,44,123,99,44,51,125,93>>]}]}]},#{signature => [{attribute,{872,2},spec,{{inverse,1},[{type,{872,14},bounded_fun,[{type,{872,14},'fun',[{type,{872,14},product,[{var,{872,15},'Function1'}]},{var,{872,29},'Function2'}]},[{type,{873,7},constraint,[{atom,{873,7},is_subtype},[{var,{873,7},'Function1'},{user_type,{873,20},a_function,[]}]]},{type,{874,7},constraint,[{atom,{874,7},is_subtype},[{var,{874,7},'Function2'},{user_type,{874,20},a_function,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,48,57,54>>}},{{function,inverse_image,2},[{file,[115,111,102,115,46,101,114,108]},{location,734}],[<<105,110,118,101,114,115,101,95,105,109,97,103,101,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,110,118,101,114,115,101,95,105,109,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,110,118,101,114,115,101,32,105,109,97,103,101>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,117,110,100,101,114,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,50,44,99,125,44,123,51,44,100,125,93,41,44,10,83,49,32,61,32,115,111,102,115,58,115,101,116,40,91,99,44,100,44,101,93,41,44,10,83,50,32,61,32,115,111,102,115,58,105,110,118,101,114,115,101,95,105,109,97,103,101,40,82,44,32,83,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,50,41,46,10,91,50,44,51,93>>]}]}]},#{signature => [{attribute,{734,2},spec,{{inverse_image,2},[{type,{734,20},bounded_fun,[{type,{734,20},'fun',[{type,{734,20},product,[{var,{734,21},'BinRel'},{var,{734,29},'Set1'}]},{var,{734,38},'Set2'}]},[{type,{735,7},constraint,[{atom,{735,7},is_subtype},[{var,{735,7},'BinRel'},{user_type,{735,17},binary_relation,[]}]]},{type,{736,7},constraint,[{atom,{736,7},is_subtype},[{var,{736,7},'Set1'},{user_type,{736,15},a_set,[]}]]},{type,{737,7},constraint,[{atom,{737,7},is_subtype},[{var,{737,7},'Set2'},{user_type,{737,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,49,48>>}},{{function,is_a_function,1},[{file,[115,111,102,115,46,101,114,108]},{location,812}],[<<105,115,95,97,95,102,117,110,99,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,117,110,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,117,110,99,116,105,111,110>>]},<<32,111,114,32,116,104,101,32,117,110,116,121,112,101,100,32,101,109,112,116,121,32,115,101,116,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},#{signature => [{attribute,{812,2},spec,{{is_a_function,1},[{type,{812,20},bounded_fun,[{type,{812,20},'fun',[{type,{812,20},product,[{var,{812,21},'BinRel'}]},{var,{812,32},'Bool'}]},[{type,{813,7},constraint,[{atom,{813,7},is_subtype},[{var,{813,7},'Bool'},{type,{813,15},boolean,[]}]]},{type,{814,7},constraint,[{atom,{814,7},is_subtype},[{var,{814,7},'BinRel'},{user_type,{814,17},binary_relation,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,50,55>>}},{{function,is_disjoint,2},[{file,[115,111,102,115,46,101,114,108]},{location,535}],[<<105,115,95,100,105,115,106,111,105,110,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,97,110,100,32>>,{code,[],[<<83,101,116,50>>]},<<32,97,114,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,100,105,115,106,111,105,110,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,105,115,106,111,105,110,116>>]},<<44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},#{signature => [{attribute,{535,2},spec,{{is_disjoint,2},[{type,{535,18},bounded_fun,[{type,{535,18},'fun',[{type,{535,18},product,[{var,{535,19},'Set1'},{var,{535,25},'Set2'}]},{var,{535,34},'Bool'}]},[{type,{536,7},constraint,[{atom,{536,7},is_subtype},[{var,{536,7},'Bool'},{type,{536,15},boolean,[]}]]},{type,{537,7},constraint,[{atom,{537,7},is_subtype},[{var,{537,7},'Set1'},{user_type,{537,15},a_set,[]}]]},{type,{538,7},constraint,[{atom,{538,7},is_subtype},[{var,{538,7},'Set2'},{user_type,{538,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,51,55>>}},{{function,is_empty_set,1},[{file,[115,111,102,115,46,101,114,108]},{location,527}],[<<105,115,95,101,109,112,116,121,95,115,101,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<65,110,121,83,101,116>>]},<<32,105,115,32,97,110,32,101,109,112,116,121,32,117,110,111,114,100,101,114,101,100,32,115,101,116,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},#{signature => [{attribute,{527,2},spec,{{is_empty_set,1},[{type,{527,19},bounded_fun,[{type,{527,19},'fun',[{type,{527,19},product,[{var,{527,20},'AnySet'}]},{var,{527,31},'Bool'}]},[{type,{528,7},constraint,[{atom,{528,7},is_subtype},[{var,{528,7},'AnySet'},{user_type,{528,17},anyset,[]}]]},{type,{529,7},constraint,[{atom,{529,7},is_subtype},[{var,{529,7},'Bool'},{type,{529,15},boolean,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,52,56>>}},{{function,is_equal,2},[{file,[115,111,102,115,46,101,114,108]},{location,480}],[<<105,115,95,101,113,117,97,108,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<65,110,121,83,101,116,49>>]},<<32,97,110,100,32>>,{code,[],[<<65,110,121,83,101,116,50>>]},<<32,97,114,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,113,117,97,108>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,113,117,97,108>>]},<<44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,101,120,97,109,112,108,101,32,115,104,111,119,115,32,116,104,97,116,32>>,{code,[],[<<61,61,47,50>>]},<<32,105,115,32,117,115,101,100,32,119,104,101,110,32,99,111,109,112,97,114,105,110,103,32,115,101,116,115,32,102,111,114,32,101,113,117,97,108,105,116,121,58>>]},{pre,[],[{code,[],[<<49,62,32,83,49,32,61,32,115,111,102,115,58,115,101,116,40,91,49,46,48,93,41,44,10,83,50,32,61,32,115,111,102,115,58,115,101,116,40,91,49,93,41,44,10,115,111,102,115,58,105,115,95,101,113,117,97,108,40,83,49,44,32,83,50,41,46,10,116,114,117,101>>]}]}]},#{signature => [{attribute,{480,2},spec,{{is_equal,2},[{type,{480,15},bounded_fun,[{type,{480,15},'fun',[{type,{480,15},product,[{var,{480,16},'AnySet1'},{var,{480,25},'AnySet2'}]},{var,{480,37},'Bool'}]},[{type,{481,7},constraint,[{atom,{481,7},is_subtype},[{var,{481,7},'AnySet1'},{user_type,{481,18},anyset,[]}]]},{type,{482,7},constraint,[{atom,{482,7},is_subtype},[{var,{482,7},'AnySet2'},{user_type,{482,18},anyset,[]}]]},{type,{483,7},constraint,[{atom,{483,7},is_subtype},[{var,{483,7},'Bool'},{type,{483,15},boolean,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,53,55>>}},{{function,is_set,1},[{file,[115,111,102,115,46,101,114,108]},{location,519}],[<<105,115,95,115,101,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<65,110,121,83,101,116>>]},<<32,97,112,112,101,97,114,115,32,116,111,32,98,101,32,97,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,111,114,100,101,114,101,100,32,115,101,116>>]},<<44,32,97,110,100,32>>,{code,[],[<<102,97,108,115,101>>]},<<32,105,102,32>>,{code,[],[<<65,110,121,83,101,116>>]},<<32,105,115,32,97,110,32,111,114,100,101,114,101,100,32,115,101,116,32,111,114,32,97,110,32,97,116,111,109,105,99,32,115,101,116,32,111,114,32,97,110,121,32,111,116,104,101,114,32,116,101,114,109,46,32,78,111,116,101,32,116,104,97,116,32,116,104,101,32,116,101,115,116,32,105,115,32,115,104,97,108,108,111,119,32,97,110,100,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,119,105,108,108,32,114,101,116,117,114,110,32>>,{code,[],[<<116,114,117,101>>]},<<32,102,111,114,32,97,110,121,32,116,101,114,109,32,116,104,97,116,32,99,111,105,110,99,105,100,101,115,32,119,105,116,104,32,116,104,101,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,110,32,117,110,111,114,100,101,114,101,100,32,115,101,116,46,32,83,101,101,32,97,108,115,111,32,110,111,116,101,32,111,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,110,111,95,117,115,101,114,95,116,121,112,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<100,97,116,97,32,116,121,112,101,115>>]},<<46>>]}]},#{signature => [{attribute,{519,2},spec,{{is_set,1},[{type,{519,13},bounded_fun,[{type,{519,13},'fun',[{type,{519,13},product,[{var,{519,14},'AnySet'}]},{var,{519,25},'Bool'}]},[{type,{520,7},constraint,[{atom,{520,7},is_subtype},[{var,{520,7},'AnySet'},{user_type,{520,17},anyset,[]}]]},{type,{521,7},constraint,[{atom,{521,7},is_subtype},[{var,{521,7},'Bool'},{type,{521,15},boolean,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,55,52>>}},{{function,is_sofs_set,1},[{file,[115,111,102,115,46,101,114,108]},{location,509}],[<<105,115,95,115,111,102,115,95,115,101,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<84,101,114,109>>]},<<32,97,112,112,101,97,114,115,32,116,111,32,98,101,32,97,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,111,114,100,101,114,101,100,32,115,101,116>>]},<<44,32,97,110,32,111,114,100,101,114,101,100,32,115,101,116,44,32,111,114,32,97,110,32,97,116,111,109,105,99,32,115,101,116,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46,32,78,111,116,101,32,116,104,97,116,32,116,104,105,115,32,102,117,110,99,116,105,111,110,32,119,105,108,108,32,114,101,116,117,114,110,32>>,{code,[],[<<116,114,117,101>>]},<<32,102,111,114,32,97,110,121,32,116,101,114,109,32,116,104,97,116,32,99,111,105,110,99,105,100,101,115,32,119,105,116,104,32,116,104,101,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,32,97,32>>,{code,[],[<<115,111,102,115>>]},<<32,115,101,116,46,32,83,101,101,32,97,108,115,111,32,110,111,116,101,32,111,110,32>>,{a,[{href,<<115,121,115,116,101,109,47,114,101,102,101,114,101,110,99,101,95,109,97,110,117,97,108,58,100,97,116,97,95,116,121,112,101,115,35,110,111,95,117,115,101,114,95,116,121,112,101,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,103,117,105,100,101>>}],[<<100,97,116,97,32,116,121,112,101,115>>]},<<46>>]}]},#{signature => [{attribute,{509,2},spec,{{is_sofs_set,1},[{type,{509,18},bounded_fun,[{type,{509,18},'fun',[{type,{509,18},product,[{var,{509,19},'Term'}]},{var,{509,28},'Bool'}]},[{type,{510,7},constraint,[{atom,{510,7},is_subtype},[{var,{510,7},'Bool'},{type,{510,15},boolean,[]}]]},{type,{511,7},constraint,[{atom,{511,7},is_subtype},[{var,{511,7},'Term'},{type,{511,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,49,57,49>>}},{{function,is_subset,2},[{file,[115,111,102,115,46,101,114,108]},{location,499}],[<<105,115,95,115,117,98,115,101,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,117,98,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<115,117,98,115,101,116>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,50>>]},<<44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<102,97,108,115,101>>]},<<46>>]}]},#{signature => [{attribute,{499,2},spec,{{is_subset,2},[{type,{499,16},bounded_fun,[{type,{499,16},'fun',[{type,{499,16},product,[{var,{499,17},'Set1'},{var,{499,23},'Set2'}]},{var,{499,32},'Bool'}]},[{type,{500,7},constraint,[{atom,{500,7},is_subtype},[{var,{500,7},'Bool'},{type,{500,15},boolean,[]}]]},{type,{501,7},constraint,[{atom,{501,7},is_subtype},[{var,{501,7},'Set1'},{user_type,{501,15},a_set,[]}]]},{type,{502,7},constraint,[{atom,{502,7},is_subtype},[{var,{502,7},'Set2'},{user_type,{502,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,50,48,54>>}},{{function,is_type,1},[{file,[115,111,102,115,46,101,114,108]},{location,183}],[<<105,115,95,116,121,112,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<32,105,102,32,116,101,114,109,32>>,{code,[],[<<84,101,114,109>>]},<<32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<46>>]}]},#{signature => [{attribute,{183,2},spec,{{is_type,1},[{type,{183,14},bounded_fun,[{type,{183,14},'fun',[{type,{183,14},product,[{var,{183,15},'Term'}]},{var,{183,24},'Bool'}]},[{type,{184,7},constraint,[{atom,{184,7},is_subtype},[{var,{184,7},'Bool'},{type,{184,15},boolean,[]}]]},{type,{185,7},constraint,[{atom,{185,7},is_subtype},[{var,{185,7},'Term'},{type,{185,15},term,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,50,49,54>>}},{{function,join,4},[{file,[115,111,102,115,46,101,114,108]},{location,1206}],[<<106,111,105,110,47,52>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,110,97,116,117,114,97,108,95,106,111,105,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<110,97,116,117,114,97,108,32,106,111,105,110>>]},<<32,111,102,32,116,104,101,32,114,101,108,97,116,105,111,110,115,32>>,{code,[],[<<82,101,108,97,116,105,111,110,49>>]},<<32,97,110,100,32>>,{code,[],[<<82,101,108,97,116,105,111,110,50>>]},<<32,111,110,32,99,111,111,114,100,105,110,97,116,101,115,32>>,{code,[],[<<73>>]},<<32,97,110,100,32>>,{code,[],[<<74>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,97,44,120,44,49,125,44,123,98,44,121,44,50,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,102,44,103,125,44,123,49,44,104,44,105,125,44,123,50,44,51,44,52,125,93,41,44,10,74,32,61,32,115,111,102,115,58,106,111,105,110,40,82,49,44,32,51,44,32,82,50,44,32,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,74,41,46,10,91,123,97,44,120,44,49,44,102,44,103,125,44,123,97,44,120,44,49,44,104,44,105,125,44,123,98,44,121,44,50,44,51,44,52,125,93>>]}]}]},#{signature => [{attribute,{1206,2},spec,{{join,4},[{type,{1206,11},bounded_fun,[{type,{1206,11},'fun',[{type,{1206,11},product,[{var,{1206,12},'Relation1'},{var,{1206,23},'I'},{var,{1206,26},'Relation2'},{var,{1206,37},'J'}]},{var,{1206,43},'Relation3'}]},[{type,{1207,7},constraint,[{atom,{1207,7},is_subtype},[{var,{1207,7},'Relation1'},{user_type,{1207,20},relation,[]}]]},{type,{1208,7},constraint,[{atom,{1208,7},is_subtype},[{var,{1208,7},'Relation2'},{user_type,{1208,20},relation,[]}]]},{type,{1209,7},constraint,[{atom,{1209,7},is_subtype},[{var,{1209,7},'Relation3'},{user_type,{1209,20},relation,[]}]]},{type,{1210,7},constraint,[{atom,{1210,7},is_subtype},[{var,{1210,7},'I'},{type,{1210,12},pos_integer,[]}]]},{type,{1211,7},constraint,[{atom,{1211,7},is_subtype},[{var,{1211,7},'J'},{type,{1211,12},pos_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,50,50,53>>}},{{function,multiple_relative_product,2},[{file,[115,111,102,115,46,101,114,108]},{location,1190}],[<<109,117,108,116,105,112,108,101,95,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<84,117,112,108,101,79,102,66,105,110,82,101,108,115>>]},<<32,105,115,32,97,32,110,111,110,45,101,109,112,116,121,32,116,117,112,108,101,32,123,82,91,49,93,44,194,160,46,46,46,44,194,160,82,91,110,93,125,32,111,102,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32,97,110,100,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,105,115,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,44,32,116,104,101,110,32>>,{code,[],[<<66,105,110,82,101,108,50>>]},<<32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,109,117,108,116,105,112,108,101,95,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<109,117,108,116,105,112,108,101,32,114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,116,104,101,32,111,114,100,101,114,101,100,32,115,101,116,32,40,82,91,105,93,44,194,160,46,46,46,44,194,160,82,91,110,93,41,32,97,110,100,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,105,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,97,44,49,125,44,123,98,44,50,125,44,123,99,44,51,125,93,41,44,10,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,97,44,98,125,44,123,98,44,99,125,44,123,99,44,97,125,93,41,44,10,77,80,32,61,32,115,111,102,115,58,109,117,108,116,105,112,108,101,95,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,40,123,82,105,44,32,82,105,125,44,32,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,115,111,102,115,58,114,97,110,103,101,40,77,80,41,41,46,10,91,123,49,44,50,125,44,123,50,44,51,125,44,123,51,44,49,125,93>>]}]}]},#{signature => [{attribute,{1190,2},spec,{{multiple_relative_product,2},[{type,{1190,32},bounded_fun,[{type,{1190,32},'fun',[{type,{1190,32},product,[{var,{1190,33},'TupleOfBinRels'},{var,{1190,49},'BinRel1'}]},{var,{1190,61},'BinRel2'}]},[{type,{1191,7},constraint,[{atom,{1191,7},is_subtype},[{var,{1191,7},'TupleOfBinRels'},{user_type,{1191,25},tuple_of,[{var,{1191,34},'BinRel'}]}]]},{type,{1192,7},constraint,[{atom,{1192,7},is_subtype},[{var,{1192,7},'BinRel'},{user_type,{1192,17},binary_relation,[]}]]},{type,{1193,7},constraint,[{atom,{1193,7},is_subtype},[{var,{1193,7},'BinRel1'},{user_type,{1193,18},binary_relation,[]}]]},{type,{1194,7},constraint,[{atom,{1194,7},is_subtype},[{var,{1194,7},'BinRel2'},{user_type,{1194,18},binary_relation,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,50,52,50>>}},{{function,no_elements,1},[{file,[115,111,102,115,46,101,114,108]},{location,349}],[<<110,111,95,101,108,101,109,101,110,116,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32,111,114,100,101,114,101,100,32,111,114,32,117,110,111,114,100,101,114,101,100,32,115,101,116,32>>,{code,[],[<<65,83,101,116>>]},<<46>>]}]},#{signature => [{attribute,{349,2},spec,{{no_elements,1},[{type,{349,18},bounded_fun,[{type,{349,18},'fun',[{type,{349,18},product,[{var,{349,19},'ASet'}]},{var,{349,28},'NoElements'}]},[{type,{350,7},constraint,[{atom,{350,7},is_subtype},[{var,{350,7},'ASet'},{type,{350,15},union,[{user_type,{350,15},a_set,[]},{user_type,{350,25},ordset,[]}]}]]},{type,{351,7},constraint,[{atom,{351,7},is_subtype},[{var,{351,7},'NoElements'},{type,{351,21},non_neg_integer,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,50,54,51>>}},{{function,partition,1},[{file,[115,111,102,115,46,101,114,108]},{location,1091}],[<<112,97,114,116,105,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<112,97,114,116,105,116,105,111,110>>]},<<32,111,102,32,116,104,101,32,117,110,105,111,110,32,111,102,32,116,104,101,32,115,101,116,32,111,102,32,115,101,116,115,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<32,115,117,99,104,32,116,104,97,116,32,116,119,111,32,101,108,101,109,101,110,116,115,32,97,114,101,32,99,111,110,115,105,100,101,114,101,100,32,101,113,117,97,108,32,105,102,32,116,104,101,121,32,98,101,108,111,110,103,32,116,111,32,116,104,101,32,115,97,109,101,32,101,108,101,109,101,110,116,115,32,111,102,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,101,116,115,49,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,91,97,44,98,44,99,93,44,91,100,44,101,44,102,93,44,91,103,44,104,44,105,93,93,41,44,10,83,101,116,115,50,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,91,98,44,99,44,100,93,44,91,101,44,102,44,103,93,44,91,104,44,105,44,106,93,93,41,44,10,80,32,61,32,115,111,102,115,58,112,97,114,116,105,116,105,111,110,40,115,111,102,115,58,117,110,105,111,110,40,83,101,116,115,49,44,32,83,101,116,115,50,41,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,80,41,46,10,91,91,97,93,44,91,98,44,99,93,44,91,100,93,44,91,101,44,102,93,44,91,103,93,44,91,104,44,105,93,44,91,106,93,93>>]}]}]},#{signature => [{attribute,{1091,2},spec,{{partition,1},[{type,{1091,16},bounded_fun,[{type,{1091,16},'fun',[{type,{1091,16},product,[{var,{1091,17},'SetOfSets'}]},{var,{1091,31},'Partition'}]},[{type,{1092,7},constraint,[{atom,{1092,7},is_subtype},[{var,{1092,7},'SetOfSets'},{user_type,{1092,20},set_of_sets,[]}]]},{type,{1093,7},constraint,[{atom,{1093,7},is_subtype},[{var,{1093,7},'Partition'},{user_type,{1093,20},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,50,55,50>>}},{{function,partition,2},[{file,[115,111,102,115,46,101,114,108]},{location,1099}],[<<112,97,114,116,105,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<112,97,114,116,105,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<83,101,116>>]},<<32,115,117,99,104,32,116,104,97,116,32,116,119,111,32,101,108,101,109,101,110,116,115,32,97,114,101,32,99,111,110,115,105,100,101,114,101,100,32,101,113,117,97,108,32,105,102,32,116,104,101,32,114,101,115,117,108,116,115,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<32,97,114,101,32,101,113,117,97,108,46>>]},{pre,[],[{code,[],[<<49,62,32,83,115,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,91,97,93,44,91,98,93,44,91,99,44,100,93,44,91,101,44,102,93,93,41,44,10,83,101,116,70,117,110,32,61,32,102,117,110,40,83,41,32,45,62,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,115,111,102,115,58,110,111,95,101,108,101,109,101,110,116,115,40,83,41,41,32,101,110,100,44,10,80,32,61,32,115,111,102,115,58,112,97,114,116,105,116,105,111,110,40,83,101,116,70,117,110,44,32,83,115,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,80,41,46,10,91,91,91,97,93,44,91,98,93,93,44,91,91,99,44,100,93,44,91,101,44,102,93,93,93>>]}]}]},#{signature => [{attribute,{1099,2},spec,{{partition,2},[{type,{1099,16},bounded_fun,[{type,{1099,16},'fun',[{type,{1099,16},product,[{var,{1099,17},'SetFun'},{var,{1099,25},'Set'}]},{var,{1099,33},'Partition'}]},[{type,{1100,7},constraint,[{atom,{1100,7},is_subtype},[{var,{1100,7},'SetFun'},{user_type,{1100,17},set_fun,[]}]]},{type,{1101,7},constraint,[{atom,{1101,7},is_subtype},[{var,{1101,7},'Partition'},{user_type,{1101,20},a_set,[]}]]},{type,{1102,7},constraint,[{atom,{1102,7},is_subtype},[{var,{1102,7},'Set'},{user_type,{1102,14},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,50,56,57>>}},{{function,partition,3},[{file,[115,111,102,115,46,101,114,108]},{location,1118}],[<<112,97,114,116,105,116,105,111,110,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,112,97,105,114,32,111,102,32,115,101,116,115,32,116,104,97,116,44,32,114,101,103,97,114,100,101,100,32,97,115,32,99,111,110,115,116,105,116,117,116,105,110,103,32,97,32,115,101,116,44,32,102,111,114,109,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<112,97,114,116,105,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<46,32,73,102,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<32,116,111,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,103,105,118,101,115,32,97,110,32,101,108,101,109,101,110,116,32,105,110,32>>,{code,[],[<<83,101,116,50>>]},<<44,32,116,104,101,32,101,108,101,109,101,110,116,32,98,101,108,111,110,103,115,32,116,111,32>>,{code,[],[<<83,101,116,51>>]},<<44,32,111,116,104,101,114,119,105,115,101,32,116,104,101,32,101,108,101,109,101,110,116,32,98,101,108,111,110,103,115,32,116,111,32>>,{code,[],[<<83,101,116,52>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,41,44,10,83,32,61,32,115,111,102,115,58,115,101,116,40,91,50,44,52,44,54,93,41,44,10,123,82,50,44,82,51,125,32,61,32,115,111,102,115,58,112,97,114,116,105,116,105,111,110,40,49,44,32,82,49,44,32,83,41,44,10,123,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,44,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,51,41,125,46,10,123,91,123,50,44,98,125,93,44,91,123,49,44,97,125,44,123,51,44,99,125,93,125>>]}]},{p,[],[{code,[],[<<112,97,114,116,105,116,105,111,110,40,70,44,194,160,83,49,44,194,160,83,50,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<123,114,101,115,116,114,105,99,116,105,111,110,40,70,44,194,160,83,49,44,194,160,83,50,41,44,32,100,114,101,115,116,114,105,99,116,105,111,110,40,70,44,194,160,83,49,44,194,160,83,50,41,125>>]},<<46>>]}]},#{signature => [{attribute,{1118,2},spec,{{partition,3},[{type,{1118,16},bounded_fun,[{type,{1118,16},'fun',[{type,{1118,16},product,[{var,{1118,17},'SetFun'},{var,{1118,25},'Set1'},{var,{1118,31},'Set2'}]},{type,{1118,40},tuple,[{var,{1118,41},'Set3'},{var,{1118,47},'Set4'}]}]},[{type,{1119,7},constraint,[{atom,{1119,7},is_subtype},[{var,{1119,7},'SetFun'},{user_type,{1119,17},set_fun,[]}]]},{type,{1120,7},constraint,[{atom,{1120,7},is_subtype},[{var,{1120,7},'Set1'},{user_type,{1120,15},a_set,[]}]]},{type,{1121,7},constraint,[{atom,{1121,7},is_subtype},[{var,{1121,7},'Set2'},{user_type,{1121,15},a_set,[]}]]},{type,{1122,7},constraint,[{atom,{1122,7},is_subtype},[{var,{1122,7},'Set3'},{user_type,{1122,15},a_set,[]}]]},{type,{1123,7},constraint,[{atom,{1123,7},is_subtype},[{var,{1123,7},'Set4'},{user_type,{1123,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,51,48,53>>}},{{function,partition_family,2},[{file,[115,111,102,115,46,101,114,108]},{location,1404}],[<<112,97,114,116,105,116,105,111,110,95,102,97,109,105,108,121,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32>>,{code,[],[<<70,97,109,105,108,121>>]},<<32,119,104,101,114,101,32,116,104,101,32,105,110,100,101,120,101,100,32,115,101,116,32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,97,114,116,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<112,97,114,116,105,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<83,101,116>>]},<<32,115,117,99,104,32,116,104,97,116,32,116,119,111,32,101,108,101,109,101,110,116,115,32,97,114,101,32,99,111,110,115,105,100,101,114,101,100,32,101,113,117,97,108,32,105,102,32,116,104,101,32,114,101,115,117,108,116,115,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<32,97,114,101,32,116,104,101,32,115,97,109,101,32,118,97,108,117,101,32,105,46,32,84,104,105,115,32,105,32,105,115,32,116,104,101,32,105,110,100,101,120,32,116,104,97,116,32>>,{code,[],[<<70,97,109,105,108,121>>]},<<32,109,97,112,115,32,111,110,116,111,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,113,117,105,118,97,108,101,110,99,101,95,99,108,97,115,115>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,113,117,105,118,97,108,101,110,99,101,32,99,108,97,115,115>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,97,44,97,44,97,44,97,125,44,123,97,44,97,44,98,44,98,125,44,123,97,44,98,44,98,44,98,125,93,41,44,10,83,101,116,70,117,110,32,61,32,123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,123,65,44,95,44,67,44,95,125,41,32,45,62,32,123,65,44,67,125,32,101,110,100,125,44,10,70,32,61,32,115,111,102,115,58,112,97,114,116,105,116,105,111,110,95,102,97,109,105,108,121,40,83,101,116,70,117,110,44,32,83,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,41,46,10,91,123,123,97,44,97,125,44,91,123,97,44,97,44,97,44,97,125,93,125,44,123,123,97,44,98,125,44,91,123,97,44,97,44,98,44,98,125,44,123,97,44,98,44,98,44,98,125,93,125,93>>]}]}]},#{signature => [{attribute,{1404,2},spec,{{partition_family,2},[{type,{1404,23},bounded_fun,[{type,{1404,23},'fun',[{type,{1404,23},product,[{var,{1404,24},'SetFun'},{var,{1404,32},'Set'}]},{var,{1404,40},'Family'}]},[{type,{1405,7},constraint,[{atom,{1405,7},is_subtype},[{var,{1405,7},'Family'},{user_type,{1405,17},family,[]}]]},{type,{1406,7},constraint,[{atom,{1406,7},is_subtype},[{var,{1406,7},'SetFun'},{user_type,{1406,17},set_fun,[]}]]},{type,{1407,7},constraint,[{atom,{1407,7},is_subtype},[{var,{1407,7},'Set'},{user_type,{1407,14},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,51,50,56>>}},{{function,product,1},[{file,[115,111,102,115,46,101,114,108]},{location,444}],[<<112,114,111,100,117,99,116,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,67,97,114,116,101,115,105,97,110,95,112,114,111,100,117,99,116,95,116,117,112,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,116,104,101,32,110,111,110,45,101,109,112,116,121,32,116,117,112,108,101,32,111,102,32,115,101,116,115,32>>,{code,[],[<<84,117,112,108,101,79,102,83,101,116,115>>]},<<46,32,73,102,32,40,120,91,49,93,44,194,160,46,46,46,44,194,160,120,91,110,93,41,32,105,115,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,110,45,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<82,101,108,97,116,105,111,110>>]},<<44,32,116,104,101,110,32,120,91,105,93,32,105,115,32,100,114,97,119,110,32,102,114,111,109,32,101,108,101,109,101,110,116,32,105,32,111,102,32>>,{code,[],[<<84,117,112,108,101,79,102,83,101,116,115>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,49,32,61,32,115,111,102,115,58,115,101,116,40,91,97,44,98,93,41,44,10,83,50,32,61,32,115,111,102,115,58,115,101,116,40,91,49,44,50,93,41,44,10,83,51,32,61,32,115,111,102,115,58,115,101,116,40,91,120,44,121,93,41,44,10,80,51,32,61,32,115,111,102,115,58,112,114,111,100,117,99,116,40,123,83,49,44,83,50,44,83,51,125,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,80,51,41,46,10,91,123,97,44,49,44,120,125,44,123,97,44,49,44,121,125,44,123,97,44,50,44,120,125,44,123,97,44,50,44,121,125,44,123,98,44,49,44,120,125,44,123,98,44,49,44,121,125,44,123,98,44,50,44,120,125,44,123,98,44,50,44,121,125,93>>]}]}]},#{signature => [{attribute,{444,2},spec,{{product,1},[{type,{444,14},bounded_fun,[{type,{444,14},'fun',[{type,{444,14},product,[{var,{444,15},'TupleOfSets'}]},{var,{444,31},'Relation'}]},[{type,{445,7},constraint,[{atom,{445,7},is_subtype},[{var,{445,7},'Relation'},{user_type,{445,19},relation,[]}]]},{type,{446,7},constraint,[{atom,{446,7},is_subtype},[{var,{446,7},'TupleOfSets'},{user_type,{446,22},tuple_of,[{user_type,{446,31},a_set,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,51,52,57>>}},{{function,product,2},[{file,[115,111,102,115,46,101,114,108]},{location,430}],[<<112,114,111,100,117,99,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,67,97,114,116,101,115,105,97,110,95,112,114,111,100,117,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,97,110,100,32>>,{code,[],[<<83,101,116,50>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,49,32,61,32,115,111,102,115,58,115,101,116,40,91,49,44,50,93,41,44,10,83,50,32,61,32,115,111,102,115,58,115,101,116,40,91,97,44,98,93,41,44,10,82,32,61,32,115,111,102,115,58,112,114,111,100,117,99,116,40,83,49,44,32,83,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,41,46,10,91,123,49,44,97,125,44,123,49,44,98,125,44,123,50,44,97,125,44,123,50,44,98,125,93>>]}]},{p,[],[{code,[],[<<112,114,111,100,117,99,116,40,83,49,44,194,160,83,50,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<112,114,111,100,117,99,116,40,123,83,49,44,194,160,83,50,125,41>>]},<<46>>]}]},#{signature => [{attribute,{430,2},spec,{{product,2},[{type,{430,14},bounded_fun,[{type,{430,14},'fun',[{type,{430,14},product,[{var,{430,15},'Set1'},{var,{430,21},'Set2'}]},{var,{430,30},'BinRel'}]},[{type,{431,7},constraint,[{atom,{431,7},is_subtype},[{var,{431,7},'BinRel'},{user_type,{431,17},binary_relation,[]}]]},{type,{432,7},constraint,[{atom,{432,7},is_subtype},[{var,{432,7},'Set1'},{user_type,{432,15},a_set,[]}]]},{type,{433,7},constraint,[{atom,{433,7},is_subtype},[{var,{433,7},'Set2'},{user_type,{433,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,51,54,56>>}},{{function,projection,2},[{file,[115,111,102,115,46,101,114,108]},{location,1029}],[<<112,114,111,106,101,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,101,116,32,99,114,101,97,116,101,100,32,98,121,32,115,117,98,115,116,105,116,117,116,105,110,103,32,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,98,121,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<32,116,111,32,116,104,101,32,101,108,101,109,101,110,116,46>>]},{p,[],[<<73,102,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<32,105,115,32,97,32,110,117,109,98,101,114,32,105,194,160,62,61,194,160,49,32,97,110,100,32>>,{code,[],[<<83,101,116,49>>]},<<32,105,115,32,97,32,114,101,108,97,116,105,111,110,44,32,116,104,101,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32,115,101,116,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,112,114,111,106,101,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<112,114,111,106,101,99,116,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,111,110,116,111,32,99,111,111,114,100,105,110,97,116,101,32,105,46>>]},{pre,[],[{code,[],[<<49,62,32,83,49,32,61,32,115,111,102,115,58,102,114,111,109,95,116,101,114,109,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,97,125,93,41,44,10,83,50,32,61,32,115,111,102,115,58,112,114,111,106,101,99,116,105,111,110,40,50,44,32,83,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,50,41,46,10,91,97,44,98,93>>]}]}]},#{signature => [{attribute,{1029,2},spec,{{projection,2},[{type,{1029,17},bounded_fun,[{type,{1029,17},'fun',[{type,{1029,17},product,[{var,{1029,18},'SetFun'},{var,{1029,26},'Set1'}]},{var,{1029,35},'Set2'}]},[{type,{1030,7},constraint,[{atom,{1030,7},is_subtype},[{var,{1030,7},'SetFun'},{user_type,{1030,17},set_fun,[]}]]},{type,{1031,7},constraint,[{atom,{1031,7},is_subtype},[{var,{1031,7},'Set1'},{user_type,{1031,15},a_set,[]}]]},{type,{1032,7},constraint,[{atom,{1032,7},is_subtype},[{var,{1032,7},'Set2'},{user_type,{1032,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,51,56,54>>}},{{function,range,1},[{file,[115,111,102,115,46,101,114,108]},{location,622}],[<<114,97,110,103,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,97,110,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,97,110,103,101>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,49,44,98,125,44,123,50,44,98,125,44,123,50,44,99,125,93,41,44,10,83,32,61,32,115,111,102,115,58,114,97,110,103,101,40,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,41,46,10,91,97,44,98,44,99,93>>]}]}]},#{signature => [{attribute,{622,2},spec,{{range,1},[{type,{622,12},bounded_fun,[{type,{622,12},'fun',[{type,{622,12},product,[{var,{622,13},'BinRel'}]},{var,{622,24},'Set'}]},[{type,{623,7},constraint,[{atom,{623,7},is_subtype},[{var,{623,7},'BinRel'},{user_type,{623,17},binary_relation,[]}]]},{type,{624,7},constraint,[{atom,{624,7},is_subtype},[{var,{624,7},'Set'},{user_type,{624,14},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,48,53>>}},{{function,relation,2},[{file,[115,111,102,115,46,101,114,108]},{location,255}],[<<114,101,108,97,116,105,111,110,47,50>>],#{},#{signature => [{attribute,{255,2},spec,{{relation,2},[{type,{255,15},bounded_fun,[{type,{255,15},'fun',[{type,{255,15},product,[{var,{255,16},'Tuples'},{var,{255,24},'Type'}]},{var,{255,33},'Relation'}]},[{type,{256,7},constraint,[{atom,{256,7},is_subtype},[{var,{256,7},'N'},{type,{256,12},integer,[]}]]},{type,{257,7},constraint,[{atom,{257,7},is_subtype},[{var,{257,7},'Type'},{type,{257,15},union,[{var,{257,15},'N'},{user_type,{257,19},type,[]}]}]]},{type,{258,7},constraint,[{atom,{258,7},is_subtype},[{var,{258,7},'Relation'},{user_type,{258,19},relation,[]}]]},{type,{259,7},constraint,[{atom,{259,7},is_subtype},[{var,{259,7},'Tuples'},{type,{259,17},list,[{type,{259,18},tuple,any}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,49,57>>,equiv => {function,relation,1}}},{{function,relation,1},[{file,[115,111,102,115,46,101,114,108]},{location,243}],[<<114,101,108,97,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,108,97,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,108,97,116,105,111,110>>]},<<46,32>>,{code,[],[<<114,101,108,97,116,105,111,110,40,82,44,194,160,84,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<102,114,111,109,95,116,101,114,109,40,82,44,194,160,84,41>>]},<<44,32,105,102,32,84,32,105,115,32,97,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<32,97,110,100,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,97,32,114,101,108,97,116,105,111,110,46,32,73,102,32>>,{code,[],[<<84,121,112,101>>]},<<32,105,115,32,97,110,32,105,110,116,101,103,101,114,32,78,44,32,116,104,101,110,32>>,{code,[],[<<91,123,97,116,111,109,44,194,160,46,46,46,44,194,160,97,116,111,109,125,93,41>>]},<<44,32,119,104,101,114,101,32,116,104,101,32,116,117,112,108,101,32,115,105,122,101,32,105,115,32,78,44,32,105,115,32,117,115,101,100,32,97,115,32,116,121,112,101,32,111,102,32,116,104,101,32,114,101,108,97,116,105,111,110,46,32,73,102,32,110,111,32,116,121,112,101,32,105,115,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,100,44,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,102,105,114,115,116,32,116,117,112,108,101,32,111,102,32>>,{code,[],[<<84,117,112,108,101,115>>]},<<32,105,115,32,117,115,101,100,32,105,102,32,116,104,101,114,101,32,105,115,32,115,117,99,104,32,97,32,116,117,112,108,101,46,32>>,{code,[],[<<114,101,108,97,116,105,111,110,40,91,93,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<114,101,108,97,116,105,111,110,40,91,93,44,194,160,50,41>>]},<<46>>]}]},#{signature => [{attribute,{243,2},spec,{{relation,1},[{type,{243,15},bounded_fun,[{type,{243,15},'fun',[{type,{243,15},product,[{var,{243,16},'Tuples'}]},{var,{243,27},'Relation'}]},[{type,{244,7},constraint,[{atom,{244,7},is_subtype},[{var,{244,7},'Relation'},{user_type,{244,19},relation,[]}]]},{type,{245,7},constraint,[{atom,{245,7},is_subtype},[{var,{245,7},'Tuples'},{type,{245,17},list,[{type,{245,18},tuple,any}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,49,57>>}},{{function,relation_to_family,1},[{file,[115,111,102,115,46,101,114,108]},{location,600}],[<<114,101,108,97,116,105,111,110,95,116,111,95,102,97,109,105,108,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32>>,{code,[],[<<70,97,109,105,108,121>>]},<<32,115,117,99,104,32,116,104,97,116,32,116,104,101,32,105,110,100,101,120,32,115,101,116,32,105,115,32,101,113,117,97,108,32,116,111,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,100,111,109,97,105,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<100,111,109,97,105,110>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<44,32,97,110,100,32>>,{code,[],[<<70,97,109,105,108,121>>]},<<91,105,93,32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,109,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,109,97,103,101>>]},<<32,111,102,32,116,104,101,32,115,101,116,32,111,102,32,105,32,117,110,100,101,114,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,98,44,49,125,44,123,99,44,50,125,44,123,99,44,51,125,93,41,44,10,70,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,95,116,111,95,102,97,109,105,108,121,40,82,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,70,41,46,10,91,123,98,44,91,49,93,125,44,123,99,44,91,50,44,51,93,125,93>>]}]}]},#{signature => [{attribute,{600,2},spec,{{relation_to_family,1},[{type,{600,25},bounded_fun,[{type,{600,25},'fun',[{type,{600,25},product,[{var,{600,26},'BinRel'}]},{var,{600,37},'Family'}]},[{type,{601,7},constraint,[{atom,{601,7},is_subtype},[{var,{601,7},'Family'},{user_type,{601,17},family,[]}]]},{type,{602,7},constraint,[{atom,{602,7},is_subtype},[{var,{602,7},'BinRel'},{user_type,{602,17},binary_relation,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,51,56>>}},{{function,relative_product,2},[{file,[115,111,102,115,46,101,114,108]},{location,657}],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50>>],#{},#{signature => [{attribute,{657,2},spec,{{relative_product,2},[{type,{657,23},bounded_fun,[{type,{657,23},'fun',[{type,{657,23},product,[{var,{657,24},'ListOfBinRels'},{var,{657,39},'BinRel1'}]},{var,{657,51},'BinRel2'}]},[{type,{658,7},constraint,[{atom,{658,7},is_subtype},[{var,{658,7},'ListOfBinRels'},{type,{658,24},nonempty_list,[{var,{658,25},'BinRel'}]}]]},{type,{659,7},constraint,[{atom,{659,7},is_subtype},[{var,{659,7},'BinRel'},{user_type,{659,17},binary_relation,[]}]]},{type,{660,7},constraint,[{atom,{660,7},is_subtype},[{var,{660,7},'BinRel1'},{user_type,{660,18},binary_relation,[]}]]},{type,{661,7},constraint,[{atom,{661,7},is_subtype},[{var,{661,7},'BinRel2'},{user_type,{661,18},binary_relation,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,53,54>>,equiv => {function,relative_product,1}}},{{function,relative_product,1},[{file,[115,111,102,115,46,101,114,108]},{location,641}],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,49>>],#{<<101,110>> => [{p,[],[<<73,102,32>>,{code,[],[<<76,105,115,116,79,102,66,105,110,82,101,108,115>>]},<<32,105,115,32,97,32,110,111,110,45,101,109,112,116,121,32,108,105,115,116,32,91,82,91,49,93,44,194,160,46,46,46,44,194,160,82,91,110,93,93,32,111,102,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32,97,110,100,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,105,115,32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,44,32,116,104,101,110,32>>,{code,[],[<<66,105,110,82,101,108,50>>]},<<32,105,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,117,112,108,101,95,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,116,104,101,32,111,114,100,101,114,101,100,32,115,101,116,32,40,82,91,105,93,44,194,160,46,46,46,44,194,160,82,91,110,93,41,32,97,110,100,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<46>>]},{p,[],[<<73,102,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,105,115,32,111,109,105,116,116,101,100,44,32,116,104,101,32,114,101,108,97,116,105,111,110,32,111,102,32,101,113,117,97,108,105,116,121,32,98,101,116,119,101,101,110,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,67,97,114,116,101,115,105,97,110,95,112,114,111,100,117,99,116,95,116,117,112,108,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<67,97,114,116,101,115,105,97,110,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,116,104,101,32,114,97,110,103,101,115,32,111,102,32,82,91,105,93,44,32,114,97,110,103,101,194,160,82,91,49,93,194,160,195,151,194,160,46,46,46,194,160,195,151,194,160,114,97,110,103,101,194,160,82,91,110,93,44,32,105,115,32,117,115,101,100,32,105,110,115,116,101,97,100,32,40,105,110,116,117,105,116,105,118,101,108,121,44,32,110,111,116,104,105,110,103,32,105,115,32,34,108,111,115,116,34,41,46>>]},{pre,[],[{code,[],[<<49,62,32,84,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,49,44,97,97,125,44,123,50,44,98,125,93,41,44,10,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,117,125,44,123,50,44,118,125,44,123,51,44,99,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,40,91,84,82,44,32,82,49,93,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,46,10,91,123,49,44,123,97,44,117,125,125,44,123,49,44,123,97,97,44,117,125,125,44,123,50,44,123,98,44,118,125,125,93>>]}]},{p,[],[<<78,111,116,105,99,101,32,116,104,97,116,32>>,{code,[],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,40,91,82,49,93,44,194,160,82,50,41>>]},<<32,105,115,32,100,105,102,102,101,114,101,110,116,32,102,114,111,109,32>>,{code,[],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,40,82,49,44,194,160,82,50,41>>]},<<59,32,116,104,101,32,108,105,115,116,32,111,102,32,111,110,101,32,101,108,101,109,101,110,116,32,105,115,32,110,111,116,32,105,100,101,110,116,105,102,105,101,100,32,119,105,116,104,32,116,104,101,32,101,108,101,109,101,110,116,32,105,116,115,101,108,102,46>>]}]},#{signature => [{attribute,{641,2},spec,{{relative_product,1},[{type,{641,23},bounded_fun,[{type,{641,23},'fun',[{type,{641,23},product,[{var,{641,24},'ListOfBinRels'}]},{var,{641,42},'BinRel2'}]},[{type,{642,7},constraint,[{atom,{642,7},is_subtype},[{var,{642,7},'ListOfBinRels'},{type,{642,24},nonempty_list,[{var,{642,25},'BinRel'}]}]]},{type,{643,7},constraint,[{atom,{643,7},is_subtype},[{var,{643,7},'BinRel'},{user_type,{643,17},binary_relation,[]}]]},{type,{644,7},constraint,[{atom,{644,7},is_subtype},[{var,{644,7},'BinRel2'},{user_type,{644,18},binary_relation,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,53,54>>}},{{function,relative_product,2},[{file,[115,111,102,115,46,101,114,108]},{location,657}],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,115,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,97,110,100,32>>,{code,[],[<<66,105,110,82,101,108,50>>]},<<46>>]}]},#{signature => [{attribute,{657,2},spec,{{relative_product,2},[{type,{662,23},bounded_fun,[{type,{662,23},'fun',[{type,{662,23},product,[{var,{662,24},'BinRel1'},{var,{662,33},'BinRel2'}]},{var,{662,45},'BinRel3'}]},[{type,{663,7},constraint,[{atom,{663,7},is_subtype},[{var,{663,7},'BinRel1'},{user_type,{663,18},binary_relation,[]}]]},{type,{664,7},constraint,[{atom,{664,7},is_subtype},[{var,{664,7},'BinRel2'},{user_type,{664,18},binary_relation,[]}]]},{type,{665,7},constraint,[{atom,{665,7},is_subtype},[{var,{665,7},'BinRel3'},{user_type,{665,18},binary_relation,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,56,55>>}},{{function,relative_product1,2},[{file,[115,111,102,115,46,101,114,108]},{location,685}],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,49,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,108,97,116,105,118,101,32,112,114,111,100,117,99,116>>]},<<32,111,102,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,99,111,110,118,101,114,115,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<99,111,110,118,101,114,115,101>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,97,110,100,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108,50>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,49,44,97,97,125,44,123,50,44,98,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,117,125,44,123,50,44,118,125,44,123,51,44,99,125,93,41,44,10,82,51,32,61,32,115,111,102,115,58,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,49,40,82,49,44,32,82,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,51,41,46,10,91,123,97,44,117,125,44,123,97,97,44,117,125,44,123,98,44,118,125,93>>]}]},{p,[],[{code,[],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,49,40,82,49,44,194,160,82,50,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,40,99,111,110,118,101,114,115,101,40,82,49,41,44,194,160,82,50,41>>]},<<46>>]}]},#{signature => [{attribute,{685,2},spec,{{relative_product1,2},[{type,{685,24},bounded_fun,[{type,{685,24},'fun',[{type,{685,24},product,[{var,{685,25},'BinRel1'},{var,{685,34},'BinRel2'}]},{var,{685,46},'BinRel3'}]},[{type,{686,7},constraint,[{atom,{686,7},is_subtype},[{var,{686,7},'BinRel1'},{user_type,{686,18},binary_relation,[]}]]},{type,{687,7},constraint,[{atom,{687,7},is_subtype},[{var,{687,7},'BinRel2'},{user_type,{687,18},binary_relation,[]}]]},{type,{688,7},constraint,[{atom,{688,7},is_subtype},[{var,{688,7},'BinRel3'},{user_type,{688,18},binary_relation,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,52,57,56>>}},{{function,restriction,2},[{file,[115,111,102,115,46,101,114,108]},{location,826}],[<<114,101,115,116,114,105,99,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,114,101,115,116,114,105,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<114,101,115,116,114,105,99,116,105,111,110>>]},<<32,111,102,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<32,116,111,32>>,{code,[],[<<83,101,116>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,41,44,10,83,32,61,32,115,111,102,115,58,115,101,116,40,91,49,44,50,44,52,93,41,44,10,82,50,32,61,32,115,111,102,115,58,114,101,115,116,114,105,99,116,105,111,110,40,82,49,44,32,83,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,46,10,91,123,49,44,97,125,44,123,50,44,98,125,93>>]}]}]},#{signature => [{attribute,{826,2},spec,{{restriction,2},[{type,{826,18},bounded_fun,[{type,{826,18},'fun',[{type,{826,18},product,[{var,{826,19},'BinRel1'},{var,{826,28},'Set'}]},{var,{826,36},'BinRel2'}]},[{type,{827,7},constraint,[{atom,{827,7},is_subtype},[{var,{827,7},'BinRel1'},{user_type,{827,18},binary_relation,[]}]]},{type,{828,7},constraint,[{atom,{828,7},is_subtype},[{var,{828,7},'BinRel2'},{user_type,{828,18},binary_relation,[]}]]},{type,{829,7},constraint,[{atom,{829,7},is_subtype},[{var,{829,7},'Set'},{user_type,{829,14},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,53,49,57>>}},{{function,restriction,3},[{file,[115,111,102,115,46,101,114,108]},{location,892}],[<<114,101,115,116,114,105,99,116,105,111,110,47,51>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,117,98,115,101,116,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,99,111,110,116,97,105,110,105,110,103,32,116,104,111,115,101,32,101,108,101,109,101,110,116,115,32,116,104,97,116,32,103,105,118,101,115,32,97,110,32,101,108,101,109,101,110,116,32,105,110,32>>,{code,[],[<<83,101,116,50>>]},<<32,97,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,97,125,44,123,50,44,98,125,44,123,51,44,99,125,93,41,44,10,83,50,32,61,32,115,111,102,115,58,115,101,116,40,91,98,44,99,44,100,93,41,44,10,83,51,32,61,32,115,111,102,115,58,114,101,115,116,114,105,99,116,105,111,110,40,50,44,32,83,49,44,32,83,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,51,41,46,10,91,123,50,44,98,125,44,123,51,44,99,125,93>>]}]}]},#{signature => [{attribute,{892,2},spec,{{restriction,3},[{type,{892,18},bounded_fun,[{type,{892,18},'fun',[{type,{892,18},product,[{var,{892,19},'SetFun'},{var,{892,27},'Set1'},{var,{892,33},'Set2'}]},{var,{892,42},'Set3'}]},[{type,{893,7},constraint,[{atom,{893,7},is_subtype},[{var,{893,7},'SetFun'},{user_type,{893,17},set_fun,[]}]]},{type,{894,7},constraint,[{atom,{894,7},is_subtype},[{var,{894,7},'Set1'},{user_type,{894,15},a_set,[]}]]},{type,{895,7},constraint,[{atom,{895,7},is_subtype},[{var,{895,7},'Set2'},{user_type,{895,15},a_set,[]}]]},{type,{896,7},constraint,[{atom,{896,7},is_subtype},[{var,{896,7},'Set3'},{user_type,{896,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,53,51,53>>}},{{function,set,2},[{file,[115,111,102,115,46,101,114,108]},{location,204}],[<<115,101,116,47,50>>],#{},#{signature => [{attribute,{204,2},spec,{{set,2},[{type,{204,10},bounded_fun,[{type,{204,10},'fun',[{type,{204,10},product,[{var,{204,11},'Terms'},{var,{204,18},'Type'}]},{var,{204,27},'Set'}]},[{type,{205,7},constraint,[{atom,{205,7},is_subtype},[{var,{205,7},'Set'},{user_type,{205,14},a_set,[]}]]},{type,{206,7},constraint,[{atom,{206,7},is_subtype},[{var,{206,7},'Terms'},{type,{206,16},list,[{type,{206,17},term,[]}]}]]},{type,{207,7},constraint,[{atom,{207,7},is_subtype},[{var,{207,7},'Type'},{user_type,{207,15},type,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,53,53,49>>,equiv => {function,set,1}}},{{function,set,1},[{file,[115,111,102,115,46,101,114,108]},{location,195}],[<<115,101,116,47,49>>],#{<<101,110>> => [{p,[],[<<67,114,101,97,116,101,115,32,97,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,111,114,100,101,114,101,100,32,115,101,116>>]},<<46,32>>,{code,[],[<<115,101,116,40,76,44,194,160,84,41>>]},<<32,105,115,32,101,113,117,105,118,97,108,101,110,116,32,116,111,32>>,{code,[],[<<102,114,111,109,95,116,101,114,109,40,76,44,194,160,84,41>>]},<<44,32,105,102,32,116,104,101,32,114,101,115,117,108,116,32,105,115,32,97,110,32,117,110,111,114,100,101,114,101,100,32,115,101,116,46,32,73,102,32,110,111,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<32,105,115,32,101,120,112,108,105,99,105,116,108,121,32,115,112,101,99,105,102,105,101,100,44,32>>,{code,[],[<<91,97,116,111,109,93>>]},<<32,105,115,32,117,115,101,100,32,97,115,32,116,104,101,32,115,101,116,32,116,121,112,101,46>>]}]},#{signature => [{attribute,{195,2},spec,{{set,1},[{type,{195,10},bounded_fun,[{type,{195,10},'fun',[{type,{195,10},product,[{var,{195,11},'Terms'}]},{var,{195,21},'Set'}]},[{type,{196,7},constraint,[{atom,{196,7},is_subtype},[{var,{196,7},'Set'},{user_type,{196,14},a_set,[]}]]},{type,{197,7},constraint,[{atom,{197,7},is_subtype},[{var,{197,7},'Terms'},{type,{197,16},list,[{type,{197,17},term,[]}]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,53,53,49>>}},{{function,specification,2},[{file,[115,111,102,115,46,101,114,108]},{location,359}],[<<115,112,101,99,105,102,105,99,97,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,115,101,116,32,99,111,110,116,97,105,110,105,110,103,32,101,118,101,114,121,32,101,108,101,109,101,110,116,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,102,111,114,32,119,104,105,99,104,32>>,{code,[],[<<70,117,110>>]},<<32,114,101,116,117,114,110,115,32>>,{code,[],[<<116,114,117,101>>]},<<46,32,73,102,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,32,116,117,112,108,101,32>>,{code,[],[<<123,101,120,116,101,114,110,97,108,44,194,160,70,117,110,50,125>>]},<<44,32>>,{code,[],[<<70,117,110,50>>]},<<32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,120,116,101,114,110,97,108,32,115,101,116>>]},<<32,111,102,32,101,97,99,104,32,101,108,101,109,101,110,116,44,32,111,116,104,101,114,119,105,115,101,32>>,{code,[],[<<70,117,110>>]},<<32,105,115,32,97,112,112,108,105,101,100,32,116,111,32,101,97,99,104,32,101,108,101,109,101,110,116,46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,97,44,49,125,44,123,98,44,50,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,120,44,49,125,44,123,120,44,50,125,44,123,121,44,51,125,93,41,44,10,83,49,32,61,32,115,111,102,115,58,102,114,111,109,95,115,101,116,115,40,91,82,49,44,82,50,93,41,44,10,83,50,32,61,32,115,111,102,115,58,115,112,101,99,105,102,105,99,97,116,105,111,110,40,102,117,110,32,115,111,102,115,58,105,115,95,97,95,102,117,110,99,116,105,111,110,47,49,44,32,83,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,50,41,46,10,91,91,123,97,44,49,125,44,123,98,44,50,125,93,93>>]}]}]},#{signature => [{attribute,{359,2},spec,{{specification,2},[{type,{359,20},bounded_fun,[{type,{359,20},'fun',[{type,{359,20},product,[{var,{359,21},'Fun'},{var,{359,26},'Set1'}]},{var,{359,35},'Set2'}]},[{type,{360,7},constraint,[{atom,{360,7},is_subtype},[{var,{360,7},'Fun'},{user_type,{360,14},spec_fun,[]}]]},{type,{361,7},constraint,[{atom,{361,7},is_subtype},[{var,{361,7},'Set1'},{user_type,{361,15},a_set,[]}]]},{type,{362,7},constraint,[{atom,{362,7},is_subtype},[{var,{362,7},'Set2'},{user_type,{362,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,53,54,52>>}},{{function,strict_relation,1},[{file,[115,111,102,115,46,101,114,108]},{location,752}],[<<115,116,114,105,99,116,95,114,101,108,97,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,116,114,105,99,116,95,114,101,108,97,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<115,116,114,105,99,116,32,114,101,108,97,116,105,111,110>>]},<<32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,49,125,44,123,49,44,50,125,44,123,50,44,49,125,44,123,50,44,50,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,115,116,114,105,99,116,95,114,101,108,97,116,105,111,110,40,82,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,46,10,91,123,49,44,50,125,44,123,50,44,49,125,93>>]}]}]},#{signature => [{attribute,{752,2},spec,{{strict_relation,1},[{type,{752,22},bounded_fun,[{type,{752,22},'fun',[{type,{752,22},product,[{var,{752,23},'BinRel1'}]},{var,{752,35},'BinRel2'}]},[{type,{753,7},constraint,[{atom,{753,7},is_subtype},[{var,{753,7},'BinRel1'},{user_type,{753,18},binary_relation,[]}]]},{type,{754,7},constraint,[{atom,{754,7},is_subtype},[{var,{754,7},'BinRel2'},{user_type,{754,18},binary_relation,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,53,56,53>>}},{{function,substitution,2},[{file,[115,111,102,115,46,101,114,108]},{location,1048}],[<<115,117,98,115,116,105,116,117,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,102,117,110,99,116,105,111,110,44,32,116,104,101,32,100,111,109,97,105,110,32,111,102,32,119,104,105,99,104,32,105,115,32>>,{code,[],[<<83,101,116,49>>]},<<46,32,84,104,101,32,118,97,108,117,101,32,111,102,32,97,110,32,101,108,101,109,101,110,116,32,111,102,32,116,104,101,32,100,111,109,97,105,110,32,105,115,32,116,104,101,32,114,101,115,117,108,116,32,111,102,32,97,112,112,108,121,105,110,103,32>>,{code,[],[<<83,101,116,70,117,110>>]},<<32,116,111,32,116,104,101,32,101,108,101,109,101,110,116,46>>]},{pre,[],[{code,[],[<<49,62,32,76,32,61,32,91,123,97,44,49,125,44,123,98,44,50,125,93,46,10,91,123,97,44,49,125,44,123,98,44,50,125,93,10,50,62,32,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,115,111,102,115,58,112,114,111,106,101,99,116,105,111,110,40,49,44,115,111,102,115,58,114,101,108,97,116,105,111,110,40,76,41,41,41,46,10,91,97,44,98,93,10,51,62,32,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,115,111,102,115,58,115,117,98,115,116,105,116,117,116,105,111,110,40,49,44,115,111,102,115,58,114,101,108,97,116,105,111,110,40,76,41,41,41,46,10,91,123,123,97,44,49,125,44,97,125,44,123,123,98,44,50,125,44,98,125,93,10,52,62,32,83,101,116,70,117,110,32,61,32,123,101,120,116,101,114,110,97,108,44,32,102,117,110,40,123,65,44,95,125,61,69,41,32,45,62,32,123,69,44,65,125,32,101,110,100,125,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,115,111,102,115,58,112,114,111,106,101,99,116,105,111,110,40,83,101,116,70,117,110,44,115,111,102,115,58,114,101,108,97,116,105,111,110,40,76,41,41,41,46,10,91,123,123,97,44,49,125,44,97,125,44,123,123,98,44,50,125,44,98,125,93>>]}]},{p,[],[<<84,104,101,32,114,101,108,97,116,105,111,110,32,111,102,32,101,113,117,97,108,105,116,121,32,98,101,116,119,101,101,110,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,123,97,44,98,44,99,125,58>>]},{pre,[],[{code,[],[<<49,62,32,73,32,61,32,115,111,102,115,58,115,117,98,115,116,105,116,117,116,105,111,110,40,102,117,110,40,65,41,32,45,62,32,65,32,101,110,100,44,32,115,111,102,115,58,115,101,116,40,91,97,44,98,44,99,93,41,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,73,41,46,10,91,123,97,44,97,125,44,123,98,44,98,125,44,123,99,44,99,125,93>>]}]},{p,[],[<<76,101,116,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<32,98,101,32,97,32,115,101,116,32,111,102,32,115,101,116,115,32,97,110,100,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<32,97,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,46,32,84,104,101,32,102,117,110,99,116,105,111,110,32,116,104,97,116,32,109,97,112,115,32,101,97,99,104,32,101,108,101,109,101,110,116,32>>,{code,[],[<<83,101,116>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<32,111,110,116,111,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,109,97,103,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<105,109,97,103,101>>]},<<32,111,102,32>>,{code,[],[<<83,101,116>>]},<<32,117,110,100,101,114,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<32,105,115,32,114,101,116,117,114,110,101,100,32,98,121,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,102,117,110,99,116,105,111,110,58>>]},{pre,[],[{code,[],[<<105,109,97,103,101,115,40,83,101,116,79,102,83,101,116,115,44,32,66,105,110,82,101,108,41,32,45,62,10,32,32,32,70,117,110,32,61,32,102,117,110,40,83,101,116,41,32,45,62,32,115,111,102,115,58,105,109,97,103,101,40,66,105,110,82,101,108,44,32,83,101,116,41,32,101,110,100,44,10,32,32,32,115,111,102,115,58,115,117,98,115,116,105,116,117,116,105,111,110,40,70,117,110,44,32,83,101,116,79,102,83,101,116,115,41,46>>]}]},{p,[],[<<69,120,116,101,114,110,97,108,32,117,110,111,114,100,101,114,101,100,32,115,101,116,115,32,97,114,101,32,114,101,112,114,101,115,101,110,116,101,100,32,97,115,32,115,111,114,116,101,100,32,108,105,115,116,115,46,32,83,111,44,32,99,114,101,97,116,105,110,103,32,116,104,101,32,105,109,97,103,101,32,111,102,32,97,32,115,101,116,32,117,110,100,101,114,32,97,32,114,101,108,97,116,105,111,110,32,82,32,99,97,110,32,116,114,97,118,101,114,115,101,32,97,108,108,32,101,108,101,109,101,110,116,115,32,111,102,32,82,32,40,116,111,32,116,104,97,116,32,99,111,109,101,115,32,116,104,101,32,115,111,114,116,105,110,103,32,111,102,32,114,101,115,117,108,116,115,44,32,116,104,101,32,105,109,97,103,101,41,46,32,73,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,105,109,97,103,101,47,50>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,109,102,97>>}],[{code,[],[<<105,109,97,103,101,47,50>>]}]},<<44,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<32,105,115,32,116,114,97,118,101,114,115,101,100,32,111,110,99,101,32,102,111,114,32,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<44,32,119,104,105,99,104,32,99,97,110,32,116,97,107,101,32,116,111,111,32,108,111,110,103,46,32,84,104,101,32,102,111,108,108,111,119,105,110,103,32,101,102,102,105,99,105,101,110,116,32,102,117,110,99,116,105,111,110,32,99,97,110,32,98,101,32,117,115,101,100,32,105,110,115,116,101,97,100,32,117,110,100,101,114,32,116,104,101,32,97,115,115,117,109,112,116,105,111,110,32,116,104,97,116,32,116,104,101,32,105,109,97,103,101,32,111,102,32,101,97,99,104,32,101,108,101,109,101,110,116,32,111,102,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<32,117,110,100,101,114,32>>,{code,[],[<<66,105,110,82,101,108>>]},<<32,105,115,32,110,111,110,45,101,109,112,116,121,58>>]},{pre,[],[{code,[],[<<105,109,97,103,101,115,50,40,83,101,116,79,102,83,101,116,115,44,32,66,105,110,82,101,108,41,32,45,62,10,32,32,32,67,82,32,61,32,115,111,102,115,58,99,97,110,111,110,105,99,97,108,95,114,101,108,97,116,105,111,110,40,83,101,116,79,102,83,101,116,115,41,44,10,32,32,32,82,32,61,32,115,111,102,115,58,114,101,108,97,116,105,118,101,95,112,114,111,100,117,99,116,49,40,67,82,44,32,66,105,110,82,101,108,41,44,10,32,32,32,115,111,102,115,58,114,101,108,97,116,105,111,110,95,116,111,95,102,97,109,105,108,121,40,82,41,46>>]}]}]},#{signature => [{attribute,{1048,2},spec,{{substitution,2},[{type,{1048,19},bounded_fun,[{type,{1048,19},'fun',[{type,{1048,19},product,[{var,{1048,20},'SetFun'},{var,{1048,28},'Set1'}]},{var,{1048,37},'Set2'}]},[{type,{1049,7},constraint,[{atom,{1049,7},is_subtype},[{var,{1049,7},'SetFun'},{user_type,{1049,17},set_fun,[]}]]},{type,{1050,7},constraint,[{atom,{1050,7},is_subtype},[{var,{1050,7},'Set1'},{user_type,{1050,15},a_set,[]}]]},{type,{1051,7},constraint,[{atom,{1051,7},is_subtype},[{var,{1051,7},'Set2'},{user_type,{1051,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,54,48,49>>}},{{function,symdiff,2},[{file,[115,111,102,115,46,101,114,108]},{location,408}],[<<115,121,109,100,105,102,102,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,121,109,109,101,116,114,105,99,95,100,105,102,102,101,114,101,110,99,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<115,121,109,109,101,116,114,105,99,32,100,105,102,102,101,114,101,110,99,101>>]},<<32,40,111,114,32,116,104,101,32,66,111,111,108,101,97,110,32,115,117,109,41,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,97,110,100,32>>,{code,[],[<<83,101,116,50>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,83,49,32,61,32,115,111,102,115,58,115,101,116,40,91,49,44,50,44,51,93,41,44,10,83,50,32,61,32,115,111,102,115,58,115,101,116,40,91,50,44,51,44,52,93,41,44,10,80,32,61,32,115,111,102,115,58,115,121,109,100,105,102,102,40,83,49,44,32,83,50,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,80,41,46,10,91,49,44,52,93>>]}]}]},#{signature => [{attribute,{408,2},spec,{{symdiff,2},[{type,{408,14},bounded_fun,[{type,{408,14},'fun',[{type,{408,14},product,[{var,{408,15},'Set1'},{var,{408,21},'Set2'}]},{var,{408,30},'Set3'}]},[{type,{409,7},constraint,[{atom,{409,7},is_subtype},[{var,{409,7},'Set1'},{user_type,{409,15},a_set,[]}]]},{type,{410,7},constraint,[{atom,{410,7},is_subtype},[{var,{410,7},'Set2'},{user_type,{410,15},a_set,[]}]]},{type,{411,7},constraint,[{atom,{411,7},is_subtype},[{var,{411,7},'Set3'},{user_type,{411,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,54,53,48>>}},{{function,symmetric_partition,2},[{file,[115,111,102,115,46,101,114,108]},{location,418}],[<<115,121,109,109,101,116,114,105,99,95,112,97,114,116,105,116,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,116,114,105,112,108,101,32,111,102,32,115,101,116,115,58>>]},{ul,[],[{li,[],[{code,[],[<<83,101,116,51>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,116,104,97,116,32,100,111,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32>>,{code,[],[<<83,101,116,50>>]},<<46>>]},{li,[],[{code,[],[<<83,101,116,52>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,116,104,97,116,32,98,101,108,111,110,103,32,116,111,32>>,{code,[],[<<83,101,116,50>>]},<<46>>]},{li,[],[{code,[],[<<83,101,116,53>>]},<<32,99,111,110,116,97,105,110,115,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32>>,{code,[],[<<83,101,116,50>>]},<<32,116,104,97,116,32,100,111,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32>>,{code,[],[<<83,101,116,49>>]},<<46>>]}]}]},#{signature => [{attribute,{418,2},spec,{{symmetric_partition,2},[{type,{418,26},bounded_fun,[{type,{418,26},'fun',[{type,{418,26},product,[{var,{418,27},'Set1'},{var,{418,33},'Set2'}]},{type,{418,42},tuple,[{var,{418,43},'Set3'},{var,{418,49},'Set4'},{var,{418,55},'Set5'}]}]},[{type,{419,7},constraint,[{atom,{419,7},is_subtype},[{var,{419,7},'Set1'},{user_type,{419,15},a_set,[]}]]},{type,{420,7},constraint,[{atom,{420,7},is_subtype},[{var,{420,7},'Set2'},{user_type,{420,15},a_set,[]}]]},{type,{421,7},constraint,[{atom,{421,7},is_subtype},[{var,{421,7},'Set3'},{user_type,{421,15},a_set,[]}]]},{type,{422,7},constraint,[{atom,{422,7},is_subtype},[{var,{422,7},'Set4'},{user_type,{422,15},a_set,[]}]]},{type,{423,7},constraint,[{atom,{423,7},is_subtype},[{var,{423,7},'Set5'},{user_type,{423,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,54,54,54>>}},{{function,to_external,1},[{file,[115,111,102,115,46,101,114,108]},{location,319}],[<<116,111,95,101,120,116,101,114,110,97,108,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,120,116,101,114,110,97,108,32,115,101,116>>]},<<32,111,102,32,97,110,32,97,116,111,109,105,99,44,32,111,114,100,101,114,101,100,44,32,111,114,32,117,110,111,114,100,101,114,101,100,32,115,101,116,46>>]}]},#{signature => [{attribute,{319,2},spec,{{to_external,1},[{type,{319,18},bounded_fun,[{type,{319,18},'fun',[{type,{319,18},product,[{var,{319,19},'AnySet'}]},{var,{319,30},'ExternalSet'}]},[{type,{320,7},constraint,[{atom,{320,7},is_subtype},[{var,{320,7},'ExternalSet'},{user_type,{320,22},external_set,[]}]]},{type,{321,7},constraint,[{atom,{321,7},is_subtype},[{var,{321,7},'AnySet'},{user_type,{321,17},anyset,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,54,56,55>>}},{{function,to_sets,1},[{file,[115,111,102,115,46,101,114,108]},{location,335}],[<<116,111,95,115,101,116,115,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32,111,114,100,101,114,101,100,32,115,101,116,32>>,{code,[],[<<65,83,101,116>>]},<<32,97,115,32,97,32,116,117,112,108,101,32,111,102,32,115,101,116,115,44,32,97,110,100,32,116,104,101,32,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,32,117,110,111,114,100,101,114,101,100,32,115,101,116,32>>,{code,[],[<<65,83,101,116>>]},<<32,97,115,32,97,32,115,111,114,116,101,100,32,108,105,115,116,32,111,102,32,115,101,116,115,32,119,105,116,104,111,117,116,32,100,117,112,108,105,99,97,116,101,115,46>>]}]},#{signature => [{attribute,{335,2},spec,{{to_sets,1},[{type,{335,14},bounded_fun,[{type,{335,14},'fun',[{type,{335,14},product,[{var,{335,15},'ASet'}]},{var,{335,24},'Sets'}]},[{type,{336,7},constraint,[{atom,{336,7},is_subtype},[{var,{336,7},'ASet'},{type,{336,15},union,[{user_type,{336,15},a_set,[]},{user_type,{336,25},ordset,[]}]}]]},{type,{337,7},constraint,[{atom,{337,7},is_subtype},[{var,{337,7},'Sets'},{type,{337,15},union,[{user_type,{337,15},tuple_of,[{var,{337,24},'AnySet'}]},{type,{337,34},list,[{var,{337,35},'AnySet'}]}]}]]},{type,{338,7},constraint,[{atom,{338,7},is_subtype},[{var,{338,7},'AnySet'},{user_type,{338,17},anyset,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,54,57,54>>}},{{function,type,1},[{file,[115,111,102,115,46,101,114,108]},{location,327}],[<<116,121,112,101,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<32,111,102,32,97,110,32,97,116,111,109,105,99,44,32,111,114,100,101,114,101,100,44,32,111,114,32,117,110,111,114,100,101,114,101,100,32,115,101,116,46>>]}]},#{signature => [{attribute,{327,2},spec,{{type,1},[{type,{327,11},bounded_fun,[{type,{327,11},'fun',[{type,{327,11},product,[{var,{327,12},'AnySet'}]},{var,{327,23},'Type'}]},[{type,{328,7},constraint,[{atom,{328,7},is_subtype},[{var,{328,7},'AnySet'},{user_type,{328,17},anyset,[]}]]},{type,{329,7},constraint,[{atom,{329,7},is_subtype},[{var,{329,7},'Type'},{user_type,{329,15},type,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,55,48,55>>}},{{function,union,1},[{file,[115,111,102,115,46,101,114,108]},{location,553}],[<<117,110,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,117,110,105,111,110,95,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,105,111,110>>]},<<32,111,102,32,116,104,101,32,115,101,116,32,111,102,32,115,101,116,115,32>>,{code,[],[<<83,101,116,79,102,83,101,116,115>>]},<<46>>]}]},#{signature => [{attribute,{553,2},spec,{{union,1},[{type,{553,12},bounded_fun,[{type,{553,12},'fun',[{type,{553,12},product,[{var,{553,13},'SetOfSets'}]},{var,{553,27},'Set'}]},[{type,{554,7},constraint,[{atom,{554,7},is_subtype},[{var,{554,7},'Set'},{user_type,{554,14},a_set,[]}]]},{type,{555,7},constraint,[{atom,{555,7},is_subtype},[{var,{555,7},'SetOfSets'},{user_type,{555,20},set_of_sets,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,55,49,54>>}},{{function,union,2},[{file,[115,111,102,115,46,101,114,108]},{location,378}],[<<117,110,105,111,110,47,50>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,117,110,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,105,111,110>>]},<<32,111,102,32>>,{code,[],[<<83,101,116,49>>]},<<32,97,110,100,32>>,{code,[],[<<83,101,116,50>>]},<<46>>]}]},#{signature => [{attribute,{378,2},spec,{{union,2},[{type,{378,12},bounded_fun,[{type,{378,12},'fun',[{type,{378,12},product,[{var,{378,13},'Set1'},{var,{378,19},'Set2'}]},{var,{378,28},'Set3'}]},[{type,{379,7},constraint,[{atom,{379,7},is_subtype},[{var,{379,7},'Set1'},{user_type,{379,15},a_set,[]}]]},{type,{380,7},constraint,[{atom,{380,7},is_subtype},[{var,{380,7},'Set2'},{user_type,{380,15},a_set,[]}]]},{type,{381,7},constraint,[{atom,{381,7},is_subtype},[{var,{381,7},'Set3'},{user_type,{381,15},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,55,50,53>>}},{{function,union_of_family,1},[{file,[115,111,102,115,46,101,114,108]},{location,1288}],[<<117,110,105,111,110,95,111,102,95,102,97,109,105,108,121,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,116,104,101,32,117,110,105,111,110,32,111,102,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32>>,{code,[],[<<70,97,109,105,108,121>>]},<<46>>]},{pre,[],[{code,[],[<<49,62,32,70,32,61,32,115,111,102,115,58,102,97,109,105,108,121,40,91,123,97,44,91,48,44,50,44,52,93,125,44,123,98,44,91,48,44,49,44,50,93,125,44,123,99,44,91,50,44,51,93,125,93,41,44,10,83,32,61,32,115,111,102,115,58,117,110,105,111,110,95,111,102,95,102,97,109,105,108,121,40,70,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,83,41,46,10,91,48,44,49,44,50,44,51,44,52,93>>]}]}]},#{signature => [{attribute,{1288,2},spec,{{union_of_family,1},[{type,{1288,22},bounded_fun,[{type,{1288,22},'fun',[{type,{1288,22},product,[{var,{1288,23},'Family'}]},{var,{1288,34},'Set'}]},[{type,{1289,7},constraint,[{atom,{1289,7},is_subtype},[{var,{1289,7},'Family'},{user_type,{1289,17},family,[]}]]},{type,{1290,7},constraint,[{atom,{1290,7},is_subtype},[{var,{1290,7},'Set'},{user_type,{1290,14},a_set,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,55,51,52>>}},{{function,weak_relation,1},[{file,[115,111,102,115,46,101,114,108]},{location,763}],[<<119,101,97,107,95,114,101,108,97,116,105,111,110,47,49>>],#{<<101,110>> => [{p,[],[<<82,101,116,117,114,110,115,32,97,32,115,117,98,115,101,116,32,83,32,111,102,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,119,101,97,107,95,114,101,108,97,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<119,101,97,107,32,114,101,108,97,116,105,111,110>>]},<<32,87,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,116,111,32,116,104,101,32,98,105,110,97,114,121,32,114,101,108,97,116,105,111,110,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<46,32,76,101,116,32,70,32,98,101,32,116,104,101,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,105,101,108,100>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,105,101,108,100>>]},<<32,111,102,32>>,{code,[],[<<66,105,110,82,101,108,49>>]},<<46,32,84,104,101,32,115,117,98,115,101,116,32,83,32,105,115,32,100,101,102,105,110,101,100,32,115,111,32,116,104,97,116,32,120,32,83,32,121,32,105,102,32,120,32,87,32,121,32,102,111,114,32,115,111,109,101,32,120,32,105,110,32,70,32,97,110,100,32,102,111,114,32,115,111,109,101,32,121,32,105,110,32,70,46>>]},{pre,[],[{code,[],[<<49,62,32,82,49,32,61,32,115,111,102,115,58,114,101,108,97,116,105,111,110,40,91,123,49,44,49,125,44,123,49,44,50,125,44,123,51,44,49,125,93,41,44,10,82,50,32,61,32,115,111,102,115,58,119,101,97,107,95,114,101,108,97,116,105,111,110,40,82,49,41,44,10,115,111,102,115,58,116,111,95,101,120,116,101,114,110,97,108,40,82,50,41,46,10,91,123,49,44,49,125,44,123,49,44,50,125,44,123,50,44,50,125,44,123,51,44,49,125,44,123,51,44,51,125,93>>]}]}]},#{signature => [{attribute,{763,2},spec,{{weak_relation,1},[{type,{763,20},bounded_fun,[{type,{763,20},'fun',[{type,{763,20},product,[{var,{763,21},'BinRel1'}]},{var,{763,33},'BinRel2'}]},[{type,{764,7},constraint,[{atom,{764,7},is_subtype},[{var,{764,7},'BinRel1'},{user_type,{764,18},binary_relation,[]}]]},{type,{765,7},constraint,[{atom,{765,7},is_subtype},[{var,{765,7},'BinRel2'},{user_type,{765,18},binary_relation,[]}]]}]]}]}}],edit_url => <<104,116,116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,101,114,108,97,110,103,47,111,116,112,47,101,100,105,116,47,109,97,105,110,116,47,108,105,98,47,115,116,100,108,105,98,47,100,111,99,47,115,114,99,47,115,111,102,115,46,120,109,108,35,76,49,55,52,56>>}},{{type,anyset,0},[{file,[115,111,102,115,46,101,114,108]},{location,117}],[<<45,116,121,112,101,32,97,110,121,115,101,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,121,32,107,105,110,100,32,111,102,32,115,101,116,32,40,97,108,115,111,32,105,110,99,108,117,100,101,100,32,97,114,101,32,116,104,101,32,97,116,111,109,105,99,32,115,101,116,115,41,46>>]}]},#{signature => [{attribute,{117,2},type,{anyset,{type,{117,19},union,[{user_type,{117,19},ordset,[]},{user_type,{117,30},a_set,[]}]},[]}}]}},{{type,binary_relation,0},[{file,[115,111,102,115,46,101,114,108]},{location,118}],[<<45,116,121,112,101,32,98,105,110,97,114,121,95,114,101,108,97,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,98,105,110,97,114,121,95,114,101,108,97,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<98,105,110,97,114,121,32,114,101,108,97,116,105,111,110>>]},<<46>>]}]},#{signature => [{attribute,{118,2},type,{binary_relation,{user_type,{118,28},relation,[]},[]}}]}},{{type,external_set,0},[{file,[115,111,102,115,46,101,114,108]},{location,119}],[<<45,116,121,112,101,32,101,120,116,101,114,110,97,108,95,115,101,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,101,120,116,101,114,110,97,108,95,115,101,116>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<101,120,116,101,114,110,97,108,32,115,101,116>>]},<<46>>]}]},#{signature => [{attribute,{119,2},type,{external_set,{type,{119,25},term,[]},[]}}]}},{{type,family,0},[{file,[115,111,102,115,46,101,114,108]},{location,121}],[<<45,116,121,112,101,32,102,97,109,105,108,121,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,97,109,105,108,121>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,97,109,105,108,121>>]},<<32,40,111,102,32,115,117,98,115,101,116,115,41,46>>]}]},#{signature => [{attribute,{121,2},type,{family,{user_type,{121,19},a_function,[]},[]}}]}},{{type,a_function,0},[{file,[115,111,102,115,46,101,114,108]},{location,120}],[<<45,116,121,112,101,32,97,95,102,117,110,99,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,102,117,110,99,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<102,117,110,99,116,105,111,110>>]},<<46>>]}]},#{signature => [{attribute,{120,2},type,{a_function,{user_type,{120,23},relation,[]},[]}}]}},{{type,ordset,0},[{file,[115,111,102,115,46,101,114,108]},{location,122}],[<<45,116,121,112,101,32,111,114,100,115,101,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<111,114,100,101,114,101,100,32,115,101,116>>]},<<46>>]}]},#{signature => [{attribute,{122,2},opaque,{ordset,{type,{122,21},record,[{atom,{122,23},'OrdSet'}]},[]}}]}},{{type,relation,0},[{file,[115,111,102,115,46,101,114,108]},{location,123}],[<<45,116,121,112,101,32,114,101,108,97,116,105,111,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,110,95,97,114,121,95,114,101,108,97,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<110,45,97,114,121,32,114,101,108,97,116,105,111,110>>]},<<46>>]}]},#{signature => [{attribute,{123,2},type,{relation,{user_type,{123,21},a_set,[]},[]}}]}},{{type,a_set,0},[{file,[115,111,102,115,46,101,114,108]},{location,124}],[<<45,116,121,112,101,32,97,95,115,101,116,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,111,114,100,101,114,101,100,32,115,101,116>>]},<<46>>]}]},#{signature => [{attribute,{124,2},opaque,{a_set,{type,{124,20},record,[{atom,{124,22},'Set'}]},[]}}]}},{{type,set_of_sets,0},[{file,[115,111,102,115,46,101,114,108]},{location,125}],[<<45,116,121,112,101,32,115,101,116,95,111,102,95,115,101,116,115,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,110,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,115,95,100,101,102,105,110,105,116,105,111,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<117,110,111,114,100,101,114,101,100,32,115,101,116>>]},<<32,111,102,32,117,110,111,114,100,101,114,101,100,32,115,101,116,115,46>>]}]},#{signature => [{attribute,{125,2},type,{set_of_sets,{user_type,{125,24},a_set,[]},[]}}]}},{{type,set_fun,0},[{file,[115,111,102,115,46,101,114,108]},{location,126}],[<<45,116,121,112,101,32,115,101,116,95,102,117,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,115,101,116,95,102,117,110>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<83,101,116,70,117,110>>]},<<46>>]}]},#{signature => [{attribute,{126,2},type,{set_fun,{type,{126,20},union,[{type,{126,20},pos_integer,[]},{type,{127,20},tuple,[{atom,{127,21},external},{type,{127,35},'fun',[{type,{127,35},product,[{user_type,{127,36},external_set,[]}]},{user_type,{127,55},external_set,[]}]}]},{type,{128,24},'fun',[{type,{128,24},product,[{user_type,{128,25},anyset,[]}]},{user_type,{128,38},anyset,[]}]}]},[]}}]}},{{type,spec_fun,0},[{file,[115,111,102,115,46,101,114,108]},{location,129}],[<<45,116,121,112,101,32,115,112,101,99,95,102,117,110,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{},#{signature => [{attribute,{129,2},type,{spec_fun,{type,{129,21},union,[{type,{129,21},tuple,[{atom,{129,22},external},{type,{129,36},'fun',[{type,{129,36},product,[{user_type,{129,37},external_set,[]}]},{type,{129,56},boolean,[]}]}]},{type,{130,25},'fun',[{type,{130,25},product,[{user_type,{130,26},anyset,[]}]},{type,{130,39},boolean,[]}]}]},[]}}]}},{{type,type,0},[{file,[115,111,102,115,46,101,114,108]},{location,131}],[<<45,116,121,112,101,32,116,121,112,101,40,41,32,58,58,32,116,101,114,109,40,41,46>>],#{<<101,110>> => [{p,[],[<<65,32>>,{a,[{href,<<115,116,100,108,105,98,58,115,111,102,115,35,116,121,112,101>>},{rel,<<104,116,116,112,115,58,47,47,101,114,108,97,110,103,46,111,114,103,47,100,111,99,47,108,105,110,107,47,115,101,101,101,114,108>>}],[<<116,121,112,101>>]},<<46>>]}]},#{signature => [{attribute,{131,2},type,{type,{type,{131,17},term,[]},[]}}]}},{{type,tuple_of,1},[{file,[115,111,102,115,46,101,114,108]},{location,0}],[<<116,117,112,108,101,95,111,102,40,84,41>>],#{<<101,110>> => [{p,[],[<<65,32,116,117,112,108,101,32,119,104,101,114,101,32,116,104,101,32,101,108,101,109,101,110,116,115,32,97,114,101,32,111,102,32,116,121,112,101,32>>,{code,[],[<<84>>]},<<46>>]}]},#{}}]}. \ No newline at end of file diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_3_func.txt index 5f472a27c099..6bbe4b2eaedb 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_3_func.txt @@ -3,6 +3,7 @@  when  Subject :: iodata() | unicode:charlist(),  RE :: mp() | iodata(), -  Replacement :: iodata() | unicode:charlist(). +  Replacement :: +  iodata() | unicode:charlist() | replace_fun(). Same as replace(Subject, RE, Replacement, []). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_4_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_4_func.txt index 4795d589e704..b6b326c1d55d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_4_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_4_func.txt @@ -4,7 +4,8 @@  when  Subject :: iodata() | unicode:charlist(),  RE :: mp() | iodata() | unicode:charlist(), -  Replacement :: iodata() | unicode:charlist(), +  Replacement :: +  iodata() | unicode:charlist() | replace_fun(),  Options :: [Option],  Option ::  anchored | global | notbol | noteol | @@ -21,8 +22,8 @@  CompileOpt :: compile_option(),  NLSpec :: cr | crlf | lf | anycrlf | any. - Replaces the matched part of the Subject string with the - contents of Replacement. + Replaces the matched part of the Subject string with  + Replacement. The permissible options are the same as for run/3, except that option capture is not allowed. Instead a {return, ReturnType} @@ -37,12 +38,13 @@ to this function, both the regular expression and Subject are to specified as valid Unicode charlist()s. - The replacement string can contain the special character &, - which inserts the whole matching expression in the result, and the - special sequence \N (where N is an integer > 0), \gN, or \g{ - N}, resulting in the subexpression number N, is inserted in the - result. If no subexpression with that number is generated by the - regular expression, nothing is inserted. + If the replacement is given as a string, it can contain the + special character &, which inserts the whole matching expression + in the result, and the special sequence \N (where N is an + integer > 0), \gN, or \g{N}, resulting in the subexpression + number N, is inserted in the result. If no subexpression with that + number is generated by the regular expression, nothing is + inserted. To insert an & or a \ in the result, precede it with a \. Notice that Erlang already gives a special meaning to \ in literal @@ -65,5 +67,40 @@ "ab[&]d" + If the replacement is given as a fun, it will be called with the + whole matching expression as the first argument and a list of + subexpression matches in the order in which they appear in the + regular expression. The returned value will be inserted in the + result. + + Example: + + re:replace("abcd", ".(.)", fun(Whole, [<>]) -> <<$#, Whole/binary, $-, (C - $a + $A), $#>> end, [{return, list}]). + + gives + + "#ab-B#cd" + + Note: + Non-matching optional subexpressions will not be included in + the list of subexpression matches if they are the last + subexpressions in the regular expression. + + Example: + + The regular expression "(a)(b)?(c)?" ("a", optionally + followed by "b", optionally followed by "c") will create the + following subexpression lists: + + • [<<"a">>, <<"b">>, <<"c">>] when applied to the string  + "abc" + + • [<<"a">>, <<>>, <<"c">>] when applied to the string  + "acx" + + • [<<"a">>, <<"b">>] when applied to the string "abx" + + • [<<"a">>] when applied to the string "axx" + As with run/3, compilation errors raise the badarg exception.  compile/2 can be used to get more information about the error. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_fun_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_fun_0_type.txt new file mode 100644 index 000000000000..9d139cac6af4 --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_replace_fun_0_type.txt @@ -0,0 +1,5 @@ + + -type replace_fun() :: +  fun((binary(), [binary()]) -> iodata() | unicode:charlist()). + + There is no documentation for replace_fun/0 diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_type.txt index 2da7c993a8e0..ee7b48eb2bea 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_re_type.txt @@ -13,3 +13,6 @@ These types are documented in this module:  {newline, nl_spec()} |  bsr_anycrlf | bsr_unicode | no_start_optimize | ucp |  never_utf. + + -type replace_fun() :: +  fun((binary(), [binary()]) -> iodata() | unicode:charlist()). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs.txt index 6a15acf04564..692e4b4ff608 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs.txt @@ -6,6 +6,12 @@ elements; every element belongs to the set, and the set contains every element. + The data representing sofs as used by this module is to be + regarded as opaque by other modules. In abstract terms, the + representation is a composite type of existing Erlang terms. See + note on data types. Any code assuming knowledge of the format is + running on thin ice. + Given a set A and a sentence S(x), where x is a free variable, a new set B whose elements are exactly those elements of A for which S(x) holds can be formed, this is denoted B = {x in A : S(x)}. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_from_sets_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_from_sets_1_func.txt index 365a3d53849a..c3b7d802cc62 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_from_sets_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_from_sets_1_func.txt @@ -1,9 +1,4 @@ - -spec from_sets(TupleOfSets) -> Ordset -  when -  Ordset :: ordset(), -  TupleOfSets :: tuple_of(anyset()). - -spec from_sets(ListOfSets) -> Set  when Set :: a_set(), ListOfSets :: [anyset()]. @@ -15,3 +10,11 @@ S = sofs:from_sets([S1,S2]), sofs:to_external(S). [[{a,1},{b,2}],[{x,3},{y,4}]] + + -spec from_sets(TupleOfSets) -> Ordset +  when +  Ordset :: ordset(), +  TupleOfSets :: tuple_of(anyset()). + + Returns the ordered set containing the sets of the non-empty + tuple TupleOfSets. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_is_set_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_is_set_1_func.txt index fdbfefd286a9..9d8a8ee7757a 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_is_set_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_is_set_1_func.txt @@ -1,5 +1,8 @@ -spec is_set(AnySet) -> Bool when AnySet :: anyset(), Bool :: boolean(). - Returns true if AnySet is an unordered set, and false if  - AnySet is an ordered set or an atomic set. + Returns true if AnySet appears to be an unordered set, and  + false if AnySet is an ordered set or an atomic set or any other + term. Note that the test is shallow and this function will return  + true for any term that coincides with the representation of an + unordered set. See also note on data types. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_is_sofs_set_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_is_sofs_set_1_func.txt index 351cd92e0e1a..c510929f9d0c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_is_sofs_set_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_is_sofs_set_1_func.txt @@ -1,5 +1,7 @@ -spec is_sofs_set(Term) -> Bool when Bool :: boolean(), Term :: term(). - Returns true if Term is an unordered set, an ordered set, or - an atomic set, otherwise false. + Returns true if Term appears to be an unordered set, an + ordered set, or an atomic set, otherwise false. Note that this + function will return true for any term that coincides with the + representation of a sofs set. See also note on data types. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_tuple_of_1_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_tuple_of_1_type.txt index 7d953de0e7dc..38069a070720 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_tuple_of_1_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_tuple_of_1_type.txt @@ -1,4 +1,4 @@ - -type tuple_of(_T) :: tuple(). +  tuple_of(T) A tuple where the elements are of type T. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_type.txt index c3f31f2fd853..bed79d0171af 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/stdlib_sofs_type.txt @@ -31,4 +31,4 @@ These types are documented in this module: -type type() :: term(). - -type tuple_of(_T) :: tuple(). +  tuple_of(T) diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_atom_to_binary_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_atom_to_binary_2_func.txt index 28c97262c1cc..71413f11a8a5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_atom_to_binary_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_atom_to_binary_2_func.txt @@ -10,7 +10,7 @@ characters are encoded using UTF-8 where characters may require multiple bytes. - Note: + Change: As from Erlang/OTP 20, atoms can contain any Unicode character and atom_to_binary(Atom, latin1) may fail if the text representation for Atom contains a Unicode character > 255. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_atom_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_atom_2_func.txt index cf0eb33859ea..1c6454304b77 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_atom_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_binary_to_atom_2_func.txt @@ -8,7 +8,7 @@ Encoding is utf8 or unicode, the binary must contain valid UTF-8 sequences. - Note: + Change: As from Erlang/OTP 20, binary_to_atom(Binary, utf8) is capable of decoding any Unicode character. Earlier versions would fail if the binary contained Unicode characters > 255. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_check_process_code_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_check_process_code_3_func.txt index 42497e39ce56..c0e6da2c317f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_check_process_code_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_check_process_code_3_func.txt @@ -58,7 +58,7 @@ collected to determine the operation result, and the operation was requested by passing option {allow_gc, false}. - Note: + Change: Up until ERTS version 8.*, the check process code operation checks for all types of references to the old code. That is, direct references (e.g. return addresses on the process diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_decode_packet_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_decode_packet_3_func.txt index 702ef8125e4f..ce97517bf3b9 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_decode_packet_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_decode_packet_3_func.txt @@ -169,6 +169,9 @@ The variants http_bin and httph_bin return strings ( HttpString) as binaries instead of lists. + Since OTP 26.0, Host may be an IPv6 address enclosed in [], + as defined in RFC2732 . + Options: {packet_size, integer() >= 0}: diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_demonitor_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_demonitor_1_func.txt index c67ac6c999f5..35cff119e6d6 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_demonitor_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_demonitor_1_func.txt @@ -16,6 +16,11 @@ demonitor(MonitorRef) if this cleanup is wanted. Note: + For some important information about distributed signals, see + the Blocking Signaling Over Distribution section in the + Processes chapter of the Erlang Reference Manual. + + Change: Before Erlang/OTP R11B (ERTS 5.5) demonitor/1 behaved completely asynchronously, that is, the monitor was active until the "demonitor signal" reached the monitored entity. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_demonitor_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_demonitor_2_func.txt index 3f2de9014fde..c6e1bd00c7aa 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_demonitor_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_demonitor_2_func.txt @@ -44,7 +44,7 @@ If option info is combined with option flush, false is returned if a flush was needed, otherwise true. - Note: + Change: More options can be added in a future release. Failures: diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_display_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_display_1_func.txt index 77ef6f1321cc..eb8a662906d4 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_display_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_display_1_func.txt @@ -4,4 +4,6 @@ Prints a text representation of Term on the standard output. Warning: - This BIF is intended for debugging only. + This BIF is intended for debugging only. The printed + representation may contain internal details that do not match + the high-level representation of the term in Erlang. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_display_string_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_display_string_2_func.txt new file mode 100644 index 000000000000..e4777a8b4082 --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_display_string_2_func.txt @@ -0,0 +1,6 @@ + +  display_string/2 + + The documentation for display_string/2 is hidden. This probably + means that it is internal and not to be used by other + applications. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_exit_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_exit_2_func.txt index 126f2488787a..b02fdf3ad373 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_exit_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_exit_2_func.txt @@ -65,3 +65,8 @@ a process sends an exit signal with reason normal to another process. This is arguably strange but this behavior is kept for backward compatibility reasons. + + Note: + For some important information about distributed signals, see + the Blocking Signaling Over Distribution section in the + Processes chapter of the Erlang Reference Manual. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_external_size_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_external_size_2_func.txt index 1ec8b02b073a..30292e157092 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_external_size_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_external_size_2_func.txt @@ -3,8 +3,11 @@  when  Term :: term(),  Options :: -  [{minor_version, -  Version :: non_neg_integer()}]. +  [compressed | +  {compressed, Level :: 0..9} | +  deterministic | +  {minor_version, Version :: 0..2} | +  local]. Since: OTP R14B04 diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_1_func.txt index 36533bd69b58..afb6073b844c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_info_1_func.txt @@ -78,6 +78,12 @@ is performed for local functions that do not capture the environment). + Change: + In Erlang/OTP 27, we plan to change the return value so + that it always points to the local init process, + regardless of which process or node the fun was originally + created on. See Upcoming Potential Incompatibilities . + {index, Index}: Index (an integer) is an index into the module fun table. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_to_list_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_to_list_1_func.txt index ecd103b4964d..f50ff7ad5de9 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_to_list_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_fun_to_list_1_func.txt @@ -30,7 +30,7 @@ environment into account. See erlang:fun_info/1 for how to get the environment of a fun. - Note: + Change: The output of fun_to_list/1 can differ between Erlang implementations and may change in future versions. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_cookie_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_cookie_0_func.txt index 3714bf35f37a..db71ca98117e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_cookie_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_cookie_0_func.txt @@ -2,4 +2,4 @@ -spec erlang:get_cookie() -> Cookie | nocookie when Cookie :: atom(). Returns the magic cookie of the local node if the node is alive, - otherwise the atom nocookie. + otherwise the atom nocookie. This value is set by set_cookie/1. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_cookie_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_cookie_1_func.txt index 7e85ffdbc669..b9e041c61df7 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_cookie_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_get_cookie_1_func.txt @@ -6,4 +6,5 @@ OTP 24.1 Returns the magic cookie for node Node if the local node is - alive, otherwise the atom nocookie. + alive, otherwise the atom nocookie. This value is set by  + set_cookie/2. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_group_leader_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_group_leader_2_func.txt index e5268acd80a9..0c58ffcfb8fe 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_group_leader_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_group_leader_2_func.txt @@ -16,3 +16,8 @@ See also group_leader/0 and OTP design principles related to starting and stopping applications. + + Note: + For some important information about distributed signals, see + the Blocking Signaling Over Distribution section in the + Processes chapter of the Erlang Reference Manual. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_0_func.txt index 7b39cf8471c0..5fed60591dff 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_0_func.txt @@ -1,7 +1,7 @@ -spec halt() -> no_return(). - The same as halt(0, []). Example: + The same as calling halt(0, []). Example: > halt(). os_prompt% diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_1_func.txt index a6ed42864c66..d503e7f1a6b9 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_1_func.txt @@ -1,10 +1,20 @@ - -spec halt(Status) -> no_return() -  when Status :: non_neg_integer() | abort | string(). + -spec halt(Status :: non_neg_integer()) -> no_return(). - The same as halt(Status, []). Example: + The same as calling halt(Status, []). Example: > halt(17). os_prompt% echo $? 17 os_prompt% + + -spec halt(Abort :: abort) -> no_return(). + +Since: + OTP R15B01 + + The same as calling halt(abort, []). + + -spec halt(CrashDumpSlogan :: string()) -> no_return(). + + The same as calling halt(CrashDumpSlogan, []). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_2_func.txt index 7ba5d3ececcd..7eae2e5323d9 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_halt_2_func.txt @@ -1,42 +1,89 @@ - -spec halt(Status, Options) -> no_return() -  when -  Status :: non_neg_integer() | abort | string(), -  Options :: [Option], -  Option :: {flush, boolean()}. + -spec halt(Status :: non_neg_integer(), Options :: halt_options()) -> +  no_return(). Since: OTP R15B01 - Status must be a non-negative integer, a string, or the atom  - abort. Halts the Erlang runtime system. Has no return value. - Depending on Status, the following occurs: - - integer(): - The runtime system exits with integer value Status as status - code to the calling environment (OS). - Note: - On many platforms, the OS supports only status codes - 0-255. A too large status code is truncated by clearing - the high bits. - - string(): - An Erlang crash dump is produced with Status as slogan. Then - the runtime system exits with status code 1. The string will - be truncated if longer than 200 characters. - Note: - Before ERTS 9.1 (OTP-20.1) only code points in the range - 0-255 was accepted in the string. Now any unicode string - is valid. - - abort: - The runtime system aborts producing a core dump, if that is - enabled in the OS. - - For integer Status, the Erlang runtime system closes all ports - and allows async threads to finish their operations before - exiting. To exit without such flushing, use Option as  - {flush,false}. - - For statuses string() and abort, option flush is ignored and - flushing is not done. + Types: + -type halt_options() :: [{flush, boolean()}]. + + Halt the runtime system with status code Status. + + Note: + On many platforms, the OS supports only status codes 0-255. A + too large status code is truncated by clearing the high bits. + + Currently the following options are valid: + + {flush, EnableFlushing}: + If EnableFlushing equals true, which also is the default + behavior, the runtime system will perform the following + operations before terminating: + + • Flush all outstanding output. + + • Send all Erlang ports exit signals and wait for them to + exit. + + • Wait for all async threads to complete all outstanding + async jobs. + + • Call all installed NIF on halt callbacks. + + • Wait for all ongoing NIF calls with the delay halt + setting enabled to return. + + • Call all installed atexit/on_exit callbacks. + + If EnableFlushing equals false, the runtime system will + terminate immediately without performing any of the above + listed operations. + + Change: + Runtime systems prior to OTP 26.0 called all installed  + atexit/on_exit callbacks also when flush was + disabled, but as of OTP 26.0 this is no longer the case. + + -spec halt(Abort :: abort, Options :: halt_options()) -> no_return(). + +Since: + OTP R15B01 + + Types: + -type halt_options() :: [{flush, boolean()}]. + + Halt the Erlang runtime system by aborting and produce a core dump + if core dumping has been enabled in the environment that the + runtime system is executing in. + + Note: + The {flush, boolean()} option will be ignored, and flushing + will be disabled. + + -spec halt(CrashDumpSlogan :: string(), Options :: halt_options()) -> +  no_return(). + +Since: + OTP R15B01 + + Types: + -type halt_options() :: [{flush, boolean()}]. + + Halt the Erlang runtime system and generate an Erlang crash dump. + The string CrashDumpSlogan will be used as slogan in the Erlang + crash dump created. The slogan will be trunkated if  + CrashDumpSlogan is longer than 1023 characters. + + Note: + The {flush, boolean()} option will be ignored, and flushing + will be disabled. + + Behavior changes compared to earlier versions: + + • Before OTP 24.2, the slogan was truncated if  + CrashDumpSlogan was longer than 200 characters. Now it will + be truncated if longer than 1023 characters. + + • Before OTP 20.1, only code points in the range 0-255 were + accepted in the slogan. Now any Unicode string is valid. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_hd_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_hd_1_func.txt index a653367801f9..cae15018876e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_hd_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_hd_1_func.txt @@ -1,12 +1,19 @@ - -spec hd(List) -> term() when List :: [term(), ...]. + -spec hd(List) -> Head +  when List :: nonempty_maybe_improper_list(), Head :: term(). - Returns the head of List, that is, the first element, for - example: + Returns the head of List, that is, the first element. + + It works with improper lists. + + Examples: > hd([1,2,3,4,5]). 1 + > hd([first, second, third, so_on | improper_end]). + first + Allowed in guard tests. - Failure: badarg if List is the empty list []. + Failure: badarg if List is an empty list []. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_alive_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_alive_0_func.txt index da183ed5767d..3b6efe0c9150 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_alive_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_is_alive_0_func.txt @@ -10,5 +10,5 @@ • "erl -sname SHORTNAME". A node can also be alive if it has got a name from a call to  - net_kernel:start/1 and has not been stopped by a call to  + net_kernel:start/2 and has not been stopped by a call to  net_kernel:stop/0. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_link_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_link_1_func.txt index 407d8c7fa797..3210677f6075 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_link_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_link_1_func.txt @@ -42,6 +42,11 @@ protocol can be found in the Distribution Protocol chapter of the ERTS User's Guide. + Note: + For some important information about distributed signals, see + the Blocking Signaling Over Distribution section in the + Processes chapter of the Erlang Reference Manual. + Failure: • badarg if PidOrPort does not identify a process or a node diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_0_type.txt index dccc26b30f7a..54807c427c5f 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_list_0_type.txt @@ -1,4 +1,4 @@ - -type list() :: list(). + -type list() :: [any()]. An Erlang list containing terms of any type. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_load_module_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_load_module_2_func.txt index b9368aba5969..bc192d5502eb 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_load_module_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_load_module_2_func.txt @@ -3,7 +3,9 @@  when  Module :: module(),  Binary :: binary(), -  Reason :: badfile | not_purged | on_load. +  Reason :: +  badfile | not_purged | on_load | +  {features_not_allowed, [atom()]}. If Binary contains the object code for module Module, this BIF loads that object code. If the code for module Module already @@ -29,6 +31,10 @@ Any previous current code for Module will remain until the  on_load call has finished. + not_allowed: + The code in Binary has been compiled with features that are + currently not enabled in the runtime system. + Warning: This BIF is intended for the code server (see code(3)) and is not to be used elsewhere. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_load_nif_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_load_nif_2_func.txt index 1b98c6c1784e..50b8bf45d14b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_load_nif_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_load_nif_2_func.txt @@ -45,3 +45,11 @@ old_code: The call to load_nif/2 was made from the old code of a module that has been upgraded; this is not allowed. + + If the -nifs() attribute is used (which is recommended), all + NIFs in the dynamic library much be declared as such for  + load_nif/2 to succeed. On the other hand, all functions declared + with the -nifs() attribute do not have to be implemented by the + dynamic library. This allows a target independent Erlang file to + contain fallback implementations for functions that may lack NIF + support depending on target OS/hardware platform. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_max_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_max_2_func.txt index e0a94dec4717..0dbd5d01f09e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_max_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_max_2_func.txt @@ -21,3 +21,8 @@ > max("abc", "b"). "b" + + Allowed in guard tests. + + Change: + Allowed in guards tests from Erlang/OTP 26. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_max_heap_size_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_max_heap_size_0_type.txt index f928dc17633c..8fc66541fdd8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_max_heap_size_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_max_heap_size_0_type.txt @@ -4,7 +4,8 @@  non_neg_integer() |  #{size => non_neg_integer(),  kill => boolean(), -  error_logger => boolean()}. +  error_logger => boolean(), +  include_shared_binaries => boolean()}. Process max heap size configuration. For more info see  process_flag(max_heap_size, MaxHeapSize) diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_memory_0_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_memory_0_func.txt index d87777c8deef..d9fcd3099bfd 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_memory_0_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_memory_0_func.txt @@ -111,7 +111,7 @@ dynamically allocated memory blocks can be much larger than the total size of the dynamically allocated memory blocks. - Note: + Change: As from ERTS 5.6.4, erlang:memory/0 requires that all  erts_alloc(3) allocators are enabled (default behavior). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_memory_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_memory_1_func.txt index b62ac1f4a1f4..537d838a8288 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_memory_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_memory_1_func.txt @@ -13,7 +13,7 @@ memory_type() atoms, in which case a corresponding list of  {memory_type(), Size :: integer >= 0} tuples is returned. - Note: + Change: As from ERTS 5.6.4, erlang:memory/1 requires that all  erts_alloc(3) allocators are enabled (default behavior). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_min_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_min_2_func.txt index aa936913213d..906f783f2984 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_min_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_min_2_func.txt @@ -21,3 +21,8 @@ > min("abc", "b"). "abc" + + Allowed in guard tests. + + Change: + Allowed in guards tests from Erlang/OTP 26. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_module_loaded_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_module_loaded_1_func.txt index c2907f5d2949..72721b620388 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_module_loaded_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_module_loaded_1_func.txt @@ -1,9 +1,5 @@ -spec module_loaded(Module) -> boolean() when Module :: module(). - Returns true if the module Module is loaded, otherwise false. - It does not attempt to load the module. - - Warning: - This BIF is intended for the code server (see code(3)) and - is not to be used elsewhere. + Returns true if the module Module is loaded as current code; + otherwise, false. It does not attempt to load the module. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_2_func.txt index f5697179454f..6837141c8802 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_monitor_2_func.txt @@ -74,7 +74,7 @@ remote), an atom RegisteredName or a tuple {RegisteredName, Node} for a registered process, located elsewhere. - Note: + Change: Before ERTS 10.0 (OTP 21.0), monitoring a process could fail with badarg if the monitored process resided on a primitive node (such as erl_interface or jinterface), @@ -151,3 +151,8 @@ If or when monitor/2 is extended, other possible values for  Tag, Object, and Info in the monitor message will be introduced. + + Note: + For some important information about distributed signals, see + the Blocking Signaling Over Distribution section in the + Processes chapter of the Erlang Reference Manual. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_2_func.txt new file mode 100644 index 000000000000..fb55ad6686d1 --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_nodes_2_func.txt @@ -0,0 +1,81 @@ + + -spec nodes(Arg, InfoOpts) -> [NodeInfo] +  when +  NodeType :: +  visible | hidden | connected | this | known, +  Arg :: NodeType | [NodeType], +  InfoOpts :: +  #{connection_id => boolean(), +  node_type => boolean()}, +  NodeTypeInfo :: visible | hidden | this | known, +  ConnectionId :: undefined | integer(), +  Info :: +  #{connection_id => ConnectionId, +  node_type => NodeTypeInfo}, +  NodeInfo :: {node(), Info}. + +Since: + OTP 25.1 + + Returns a list of NodeInfo tuples. The first element is the node + name. Nodes to be included in the list are determined by the first + argument Arg in the same way as for nodes(Arg). The second + element of NodeInfo tuples is a map containing further + information about the node identified by the first element. The + information present in this map is determined by the InfoOpts + map passed as the second argument. Currently the following + associations are allowed in the InfoOpts map: + + connection_id => boolean(): + If the value of the association equals true, the Info map + in the returned result will contain the key connection_id + associated with the value ConnectionId. If ConnectionId + equals undefined, the node is not connected to the node + which the caller is executing on, or is the node which the + caller is executing on. If ConnectionId is an integer, the + node is currently connected to the node which the caller is + executing on. + + The integer connection identifier value together with a node + name identifies a specific connection instance to the node + with that node name. The connection identifier value is node + local. That is, on the other node the connection identifier + will not be the same value. If a connection is taken down + and then taken up again, the connection identifier value will + change for the connection to that node. The amount of values + for connection identifiers are limited, so it is possible to + see the same value for different instances, but quite + unlikely. It is undefined how the value change between two + consecutive connection instances. + + node_type => boolean(): + If the value of the association equals true, the Info map + in the returned result will contain the key node_type + associated with the value NodeTypeInfo. Currently the + following node types exist: + + visible: + The node is connected to the node of the calling process + through an ordinary visible connection. That is, the node + name would appear in the result returned by nodes/0. + + hidden: + The node is connected to the node of the calling process + through a hidden connection. That is, the node name would + not appear in the result returned by nodes/0. + + this: + This is the node of the calling process. + + known: + The node is not connected but known to the node of the + calling process. + + Example: + + (a@localhost)1> nodes([this, connected], #{connection_id=>true, node_type=>true}). + [{c@localhost,#{connection_id => 13892108,node_type => hidden}}, + {b@localhost,#{connection_id => 3067553,node_type => visible}}, + {a@localhost,#{connection_id => undefined,node_type => this}}] + (a@localhost)2> + diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_open_port_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_open_port_2_func.txt index 1c8a625bb5c5..27e1b9f204d5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_open_port_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_open_port_2_func.txt @@ -154,7 +154,7 @@ the name of an environment variable, and Val is the value it is to have in the spawned port process. Both Name and Val must be strings. The one exception is Val being the atom  - false (in analogy with os:getenv/1, which removes the + false (in analogy with os:getenv/1), which removes the environment variable. For information about encoding requirements, see documentation diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_command_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_command_3_func.txt index 0387c7e68018..21f4a6e49334 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_command_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_command_3_func.txt @@ -28,7 +28,7 @@ The calling process is not suspended if the port is busy, instead the port command is aborted and false is returned. - Note: + Change: More options can be added in a future release. Failures: diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_info_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_info_2_func.txt index af2f9e10fe53..12f396fb46df 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_info_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_port_info_2_func.txt @@ -1,44 +1,62 @@ - -spec erlang:port_info(Port, memory) -> {memory, Bytes} | undefined -  when -  Port :: port() | atom(), -  Bytes :: non_neg_integer(). + -spec erlang:port_info(Port, connected) -> {connected, Pid} | undefined +  when Port :: port() | atom(), Pid :: pid(). -Since: - OTP R16B + Pid is the process identifier of the process connected to the + port. - -spec erlang:port_info(Port, parallelism) -> -  {parallelism, Boolean} | undefined -  when -  Port :: port() | atom(), -  Boolean :: boolean(). + If the port identified by Port is not open, undefined is + returned. If the port is closed and the calling process was + previously linked to the port, the exit signal from the port is + guaranteed to be delivered before port_info/2 returns undefined. -Since: - OTP R16B + Failure: badarg if Port is not a local port identifier, or an + atom. - -spec erlang:port_info(Port, queue_size) -> -  {queue_size, Bytes} | undefined + -spec erlang:port_info(Port, id) -> {id, Index} | undefined  when  Port :: port() | atom(), -  Bytes :: non_neg_integer(). +  Index :: non_neg_integer(). -Since: - OTP R16B + Index is the internal index of the port. This index can be used + to separate ports. + + If the port identified by Port is not open, undefined is + returned. If the port is closed and the calling process was + previously linked to the port, the exit signal from the port is + guaranteed to be delivered before port_info/2 returns undefined. + + Failure: badarg if Port is not a local port identifier, or an + atom. -spec erlang:port_info(Port, input) -> {input, Bytes} | undefined  when  Port :: port() | atom(),  Bytes :: non_neg_integer(). - -spec erlang:port_info(Port, output) -> {output, Bytes} | undefined -  when -  Port :: port() | atom(), -  Bytes :: non_neg_integer(). + Bytes is the total number of bytes read from the port. - -spec erlang:port_info(Port, id) -> {id, Index} | undefined -  when -  Port :: port() | atom(), -  Index :: non_neg_integer(). + If the port identified by Port is not open, undefined is + returned. If the port is closed and the calling process was + previously linked to the port, the exit signal from the port is + guaranteed to be delivered before port_info/2 returns undefined. + + Failure: badarg if Port is not a local port identifier, or an + atom. + + -spec erlang:port_info(Port, links) -> {links, Pids} | undefined +  when Port :: port() | atom(), Pids :: [pid()]. + + Pids is a list of the process identifiers of the processes that + the port is linked to. + + If the port identified by Port is not open, undefined is + returned. If the port is closed and the calling process was + previously linked to the port, the exit signal from the port is + guaranteed to be delivered before port_info/2 returns undefined. + + Failure: badarg if Port is not a local port identifier, or an + atom. -spec erlang:port_info(Port, locking) -> {locking, Locking} | undefined  when @@ -49,6 +67,43 @@ Since: OTP R16B + Locking is one of the following: + + • port_level (port-specific locking) + + • driver_level (driver-specific locking) + + Notice that these results are highly implementation-specific and + can change in a future release. + + If the port identified by Port is not open, undefined is + returned. If the port is closed and the calling process was + previously linked to the port, the exit signal from the port is + guaranteed to be delivered before port_info/2 returns undefined. + + Failure: badarg if Port is not a local port identifier, or an + atom. + + -spec erlang:port_info(Port, memory) -> {memory, Bytes} | undefined +  when +  Port :: port() | atom(), +  Bytes :: non_neg_integer(). + +Since: + OTP R16B + + Bytes is the total number of bytes allocated for this port by the + runtime system. The port itself can have allocated memory that is + not included in Bytes. + + If the port identified by Port is not open, undefined is + returned. If the port is closed and the calling process was + previously linked to the port, the exit signal from the port is + guaranteed to be delivered before port_info/2 returns undefined. + + Failure: badarg if Port is not a local port identifier, or an + atom. + -spec erlang:port_info(Port, monitors) ->  {monitors, Monitors} | undefined  when @@ -58,9 +113,48 @@ Since: OTP R16B + Monitors represent processes monitored by this port. + + If the port identified by Port is not open, undefined is + returned. If the port is closed and the calling process was + previously linked to the port, the exit signal from the port is + guaranteed to be delivered before port_info/2 returns undefined. + + Failure: badarg if Port is not a local port identifier, or an + atom. + + -spec erlang:port_info(Port, monitored_by) -> +  {monitored_by, MonitoredBy} | undefined +  when +  Port :: port() | atom(), +  MonitoredBy :: [pid()]. + +Since: + OTP 19.0 + + Returns list of pids that are monitoring given port at the moment. + + If the port identified by Port is not open, undefined is + returned. If the port is closed and the calling process was + previously linked to the port, the exit signal from the port is + guaranteed to be delivered before port_info/2 returns undefined. + + Failure: badarg if Port is not a local port identifier, or an + atom. + -spec erlang:port_info(Port, name) -> {name, Name} | undefined  when Port :: port() | atom(), Name :: string(). + Name is the command name set by open_port/2. + + If the port identified by Port is not open, undefined is + returned. If the port is closed and the calling process was + previously linked to the port, the exit signal from the port is + guaranteed to be delivered before port_info/2 returns undefined. + + Failure: badarg if Port is not a local port identifier, or an + atom. + -spec erlang:port_info(Port, os_pid) -> {os_pid, OsPid} | undefined  when  Port :: port() | atom(), @@ -69,29 +163,78 @@ Since: OTP R16B - -spec erlang:port_info(Port, connected) -> {connected, Pid} | undefined -  when Port :: port() | atom(), Pid :: pid(). + OsPid is the process identifier (or equivalent) of an OS process + created with open_port({spawn | spawn_executable, Command}, + Options). If the port is not the result of spawning an OS + process, the value is undefined. - -spec erlang:port_info(Port, links) -> {links, Pids} | undefined -  when Port :: port() | atom(), Pids :: [pid()]. + If the port identified by Port is not open, undefined is + returned. If the port is closed and the calling process was + previously linked to the port, the exit signal from the port is + guaranteed to be delivered before port_info/2 returns undefined. - -spec erlang:port_info(Port, registered_name) -> -  {registered_name, RegisteredName} | -  [] | undefined + Failure: badarg if Port is not a local port identifier, or an + atom. + + -spec erlang:port_info(Port, output) -> {output, Bytes} | undefined  when  Port :: port() | atom(), -  RegisteredName :: atom(). +  Bytes :: non_neg_integer(). - -spec erlang:port_info(Port, monitored_by) -> -  {monitored_by, MonitoredBy} | undefined + Bytes is the total number of bytes written to the port from + Erlang processes using port_command/2, port_command/3, or  + Port ! {Owner, {command, Data}. + + If the port identified by Port is not open, undefined is + returned. If the port is closed and the calling process was + previously linked to the port, the exit signal from the port is + guaranteed to be delivered before port_info/2 returns undefined. + + Failure: badarg if Port is not a local port identifier, or an + atom. + + -spec erlang:port_info(Port, parallelism) -> +  {parallelism, Boolean} | undefined  when  Port :: port() | atom(), -  MonitoredBy :: [pid()]. +  Boolean :: boolean(). Since: - OTP 19.0 + OTP R16B - Returns list of pids that are monitoring given port at the moment. + Boolean corresponds to the port parallelism hint used by this + port. For more information, see option parallelism of  + open_port/2. + + -spec erlang:port_info(Port, queue_size) -> +  {queue_size, Bytes} | undefined +  when +  Port :: port() | atom(), +  Bytes :: non_neg_integer(). + +Since: + OTP R16B + + Bytes is the total number of bytes queued by the port using the + ERTS driver queue implementation. + + If the port identified by Port is not open, undefined is + returned. If the port is closed and the calling process was + previously linked to the port, the exit signal from the port is + guaranteed to be delivered before port_info/2 returns undefined. + + Failure: badarg if Port is not a local port identifier, or an + atom. + + -spec erlang:port_info(Port, registered_name) -> +  {registered_name, RegisteredName} | +  [] | undefined +  when +  Port :: port() | atom(), +  RegisteredName :: atom(). + + RegisteredName is the registered name of the port. If the port + has no registered name, [] is returned. If the port identified by Port is not open, undefined is returned. If the port is closed and the calling process was diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_flag_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_flag_2_func.txt index 8c7b6640dd8d..5019146c4498 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_flag_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_flag_2_func.txt @@ -1,6 +1,73 @@ - -spec process_flag(save_calls, N) -> OldN -  when N :: 0..10000, OldN :: 0..10000. + -spec process_flag(async_dist, Boolean) -> OldBoolean +  when Boolean :: boolean(), OldBoolean :: boolean(). + +Since: + OTP 25.3 + + Enable or disable fully asynchronous distributed signaling for + the calling process. When disabled, which is the default, the + process sending a distributed signal will block in the send + operation if the buffer for the distribution channel reach the + distribution buffer busy limit. The process will remain blocked + until the buffer shrinks enough. This might in some cases take a + substantial amount of time. When async_dist is enabled, send + operations of distributed signals will always buffer the signal on + the outgoing distribution channel and then immediately return. + That is, these send operations will never block the sending + process. + + Note: + Since no flow control is enforced by the runtime system when  + async_dist process flag is enabled, you need to make sure + that flow control for such data is implemented, or that the + amount of such data is known to always be limited. Unlimited + signaling with async_dist enabled in the absence of flow + control will typically cause the sending runtime system to + crash on an out of memory condition. + + Blocking due to disabled async_dist can be monitored by  + erlang:system_monitor() using the busy_dist_port option. Only + data buffered by processes which (at the time of sending a signal) + have disabled async_dist will be counted when determining + whether or not an operation should block the caller. + + The async_dist flag can also be set on a new process when + spawning it using the spawn_opt() BIF with the option  + {async_dist, Enable}. The default async_dist flag to use on + newly spawned processes can be set by passing the command line + argument +pad  when starting the runtime system. If the  + +pad  command line argument is not passed, the default + value of the async_dist flag will be false. + + You can inspect the state of the async_dist process flag of a + process by calling process_info(Pid, async_dist). + + Returns the old value of the async_dist flag. + + -spec process_flag(trap_exit, Boolean) -> OldBoolean +  when Boolean :: boolean(), OldBoolean :: boolean(). + + When trap_exit is set to true, exit signals arriving to a + process are converted to {'EXIT', From, Reason} messages, which + can be received as ordinary messages. If trap_exit is set to  + false, the process exits if it receives an exit signal other than  + normal and the exit signal is propagated to its linked processes. + Application processes are normally not to trap exits. + + Returns the old value of the flag. + + See also exit/2. + + -spec process_flag(error_handler, Module) -> OldModule +  when Module :: atom(), OldModule :: atom(). + + Used by a process to redefine the error handler for undefined + function calls and undefined registered processes. Inexperienced + users are not to use this flag, as code auto-loading depends on + the correct operation of the error handling module. + + Returns the old value of the flag. -spec process_flag(fullsweep_after, FullsweepAfter) -> OldFullsweepAfter  when @@ -10,6 +77,20 @@ Since: OTP 24.0 + Changes the maximum number of generational collections before + forcing a fullsweep for the calling process. + + Returns the old value of the flag. + + -spec process_flag(min_heap_size, MinHeapSize) -> OldMinHeapSize +  when +  MinHeapSize :: non_neg_integer(), +  OldMinHeapSize :: non_neg_integer(). + + Changes the minimum heap size for the calling process. + + Returns the old value of the flag. + -spec process_flag(min_bin_vheap_size, MinBinVHeapSize) ->  OldMinBinVHeapSize  when @@ -19,19 +100,10 @@ Since: OTP R13B04 - -spec process_flag(min_heap_size, MinHeapSize) -> OldMinHeapSize -  when -  MinHeapSize :: non_neg_integer(), -  OldMinHeapSize :: non_neg_integer(). - - -spec process_flag(sensitive, Boolean) -> OldBoolean -  when Boolean :: boolean(), OldBoolean :: boolean(). - - -spec process_flag(error_handler, Module) -> OldModule -  when Module :: atom(), OldModule :: atom(). + Changes the minimum binary virtual heap size for the calling + process. - -spec process_flag(trap_exit, Boolean) -> OldBoolean -  when Boolean :: boolean(), OldBoolean :: boolean(). + Returns the old value of the flag. -spec process_flag(max_heap_size, MaxHeapSize) -> OldMaxHeapSize  when @@ -41,6 +113,84 @@ Since: OTP 19.0 + Types: + -type max_heap_size() :: + Size :: + non_neg_integer() | + #{size => non_neg_integer(), + kill => boolean(), + error_logger => boolean(), + include_shared_binaries => boolean()}. + + This flag sets the maximum heap size for the calling process. If  + MaxHeapSize is an integer, the system default values for kill + and error_logger are used. + + For details on how the heap grows, see Sizing the heap in the + ERTS internal documentation. + + size: + The maximum size in words of the process. If set to zero, the + heap size limit is disabled. badarg is be thrown if the + value is smaller than min_heap_size. The size check is only + done when a garbage collection is triggered. + + size is the entire heap of the process when garbage + collection is triggered. This includes all generational heaps, + the process stack, any messages that are considered to be + part of the heap, and any extra memory that the garbage + collector needs during collection. + + size is the same as can be retrieved using  + erlang:process_info(Pid, total_heap_size), or by adding  + heap_block_size, old_heap_block_size and mbuf_size from  + erlang:process_info(Pid, garbage_collection_info). + + kill: + When set to true, the runtime system sends an untrappable + exit signal with reason kill to the process if the maximum + heap size is reached. The garbage collection that triggered + the kill is not completed, instead the process exits as soon + as possible. When set to false, no exit signal is sent to + the process, instead it continues executing. + + If kill is not defined in the map, the system default will + be used. The default system default is true. It can be + changed by either option +hmaxk in erl(1), or  + erlang:system_flag(max_heap_size, MaxHeapSize). + + error_logger: + When set to true, the runtime system logs an error event via  + logger, containing details about the process when the maximum + heap size is reached. One log event is sent each time the + limit is reached. + + If error_logger is not defined in the map, the system + default is used. The default system default is true. It can + be changed by either the option +hmaxel int erl(1), or  + erlang:system_flag(max_heap_size, MaxHeapSize). + + include_shared_binaries: + When set to true, off-heap binaries are included in the + total sum compared against the size limit. Off-heap binaries + are typically larger binaries that may be shared between + processes. The size of a shared binary is included by all + processes that are referring it. Also, the entire size of a + large binary may be included even if only a smaller part of it + is referred by the process. + + If include_shared_binaries is not defined in the map, the + system default is used. The default system default is false. + It can be changed by either the option +hmaxib in erl(1), + or erlang:system_flag(max_heap_size, MaxHeapSize). + + The heap size of a process is quite hard to predict, especially + the amount of memory that is used during the garbage collection. + When contemplating using this option, it is recommended to first + run it in production with kill set to false and inspect the + log events to see what the normal peak sizes of the processes in + the system is and then tune the value accordingly. + -spec process_flag(message_queue_data, MQD) -> OldMQD  when  MQD :: message_queue_data(), @@ -49,6 +199,40 @@ Since: OTP 19.0 + Types: + -type message_queue_data() :: off_heap | on_heap. + + Determines how messages in the message queue are stored, as + follows: + + off_heap: + All messages in the message queue will be stored outside the + process heap. This implies that no messages in the message + queue will be part of a garbage collection of the process. + + on_heap: + All messages in the message queue will eventually be placed on + the process heap. They can, however, be temporarily stored off + the heap. This is how messages have always been stored up + until ERTS 8.0. + + The default value of the message_queue_data process flag is + determined by the command-line argument +hmqd in erl(1). + + If the process may potentially accumulate a large number of + messages in its queue it is recommended to set the flag value to  + off_heap. This is due to the fact that the garbage collection of + a process that has a large number of messages stored on the heap + can become extremely expensive and the process can consume large + amounts of memory. The performance of the actual message passing + is, however, generally better when the flag value is on_heap. + + Changing the flag value causes any existing messages to be moved. + The move operation is initiated, but not necessarily completed, by + the time the function returns. + + Returns the old value of the flag. + -spec process_flag(priority, Level) -> OldLevel  when  Level :: priority_level(), @@ -116,3 +300,62 @@ on priority normal. Returns the old value of the flag. + + -spec process_flag(save_calls, N) -> OldN +  when N :: 0..10000, OldN :: 0..10000. + + N must be an integer in the interval 0..10000. If N > 0, call + saving is made active for the process. This means that information + about the N most recent global function calls, BIF calls, sends, + and receives made by the process are saved in a list, which can be + retrieved with process_info(Pid, last_calls). A global function + call is one in which the module of the function is explicitly + mentioned. Only a fixed amount of information is saved, as + follows: + + • A tuple {Module, Function, Arity} for function calls + + • The atoms send, 'receive', and timeout for sends and + receives ('receive' when a message is received and  + timeout when a receive times out) + + If N = 0, call saving is disabled for the process, which is the + default. Whenever the size of the call saving list is set, its + contents are reset. + + Returns the old value of the flag. + + -spec process_flag(sensitive, Boolean) -> OldBoolean +  when Boolean :: boolean(), OldBoolean :: boolean(). + + Sets or clears flag sensitive for the current process. When a + process has been marked as sensitive by calling  + process_flag(sensitive, true), features in the runtime system + that can be used for examining the data or inner working of the + process are silently disabled. + + Features that are disabled include (but are not limited to) the + following: + + • Tracing. Trace flags can still be set for the process, but + no trace messages of any kind are generated. (If flag  + sensitive is turned off, trace messages are again generated + if any trace flags are set.) + + • Sequential tracing. The sequential trace token is propagated + as usual, but no sequential trace messages are generated. + + process_info/1,2 cannot be used to read out the message queue or + the process dictionary (both are returned as empty lists). + + Stack back-traces cannot be displayed for the process. + + In crash dumps, the stack, messages, and the process dictionary + are omitted. + + If {save_calls,N} has been set for the process, no function + calls are saved to the call saving list. (The call saving list is + not cleared. Also, send, receive, and time-out events are still + added to the list.) + + Returns the old value of the flag. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_info_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_info_1_func.txt index d9b372dd6507..283d5b120e63 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_info_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_info_1_func.txt @@ -11,10 +11,12 @@ non_neg_integer() | #{size => non_neg_integer(), kill => boolean(), - error_logger => boolean()}. + error_logger => boolean(), + include_shared_binaries => boolean()}. -type message_queue_data() :: off_heap | on_heap. -type priority_level() :: low | normal | high | max. -type process_info_result_item() :: + {async_dist, Enabled :: boolean()} | {backtrace, Bin :: binary()} | {binary, BinInfo :: @@ -59,6 +61,7 @@ port() | {RegName :: atom(), Node :: node()}}]} | {message_queue_data, MQD :: message_queue_data()} | + {parent, pid() | undefined} | {priority, Level :: priority_level()} | {reductions, Number :: non_neg_integer()} | {registered_name, [] | (Atom :: atom())} | diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_info_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_info_2_func.txt index 7df3d29d68f1..7abc2b28c9f2 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_info_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_process_info_2_func.txt @@ -18,20 +18,23 @@ non_neg_integer() | #{size => non_neg_integer(), kill => boolean(), - error_logger => boolean()}. + error_logger => boolean(), + include_shared_binaries => boolean()}. -type message_queue_data() :: off_heap | on_heap. -type priority_level() :: low | normal | high | max. -type process_info_item() :: - backtrace | binary | catchlevel | current_function | - current_location | current_stacktrace | dictionary | - error_handler | garbage_collection | garbage_collection_info | - group_leader | heap_size | initial_call | links | last_calls | - memory | message_queue_len | messages | min_heap_size | + async_dist | backtrace | binary | catchlevel | + current_function | current_location | current_stacktrace | + dictionary | error_handler | garbage_collection | + garbage_collection_info | group_leader | heap_size | + initial_call | links | last_calls | memory | + message_queue_len | messages | min_heap_size | min_bin_vheap_size | monitored_by | monitors | - message_queue_data | priority | reductions | registered_name | - sequential_trace_token | stack_size | status | suspending | - total_heap_size | trace | trap_exit. + message_queue_data | parent | priority | reductions | + registered_name | sequential_trace_token | stack_size | + status | suspending | total_heap_size | trace | trap_exit. -type process_info_result_item() :: + {async_dist, Enabled :: boolean()} | {backtrace, Bin :: binary()} | {binary, BinInfo :: @@ -76,6 +79,7 @@ port() | {RegName :: atom(), Node :: node()}}]} | {message_queue_data, MQD :: message_queue_data()} | + {parent, pid() | undefined} | {priority, Level :: priority_level()} | {reductions, Number :: non_neg_integer()} | {registered_name, [] | (Atom :: atom())} | @@ -130,6 +134,11 @@ Valid InfoTuples with corresponding Items: + {async_dist, Enabled}: + Since: OTP 25.3 + + Current value of the async_dist process flag. + {backtrace, Bin}: Binary Bin contains the same information as the output from  erlang:process_display(Pid, backtrace). Use binary_to_list/1 @@ -260,6 +269,12 @@ information, see the documentation of  process_flag(message_queue_data, MQD). + {parent, Pid}: + Pid is the identifier of the parent process, the one that + spawned current process. When the process does not have a + parent undefined is returned. Only the initial process ( + init) on a node lacks a parent, though. + {priority, Level}: Level is the current priority level for the process. For more information on priorities, see process_flag(priority, Level). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_purge_module_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_purge_module_1_func.txt index d335c7edec75..64137ede3a39 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_purge_module_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_purge_module_1_func.txt @@ -9,7 +9,7 @@ This BIF is intended for the code server (see code(3)) and is not to be used elsewhere. - Note: + Change: As from ERTS 8.0 (Erlang/OTP 19), any lingering processes that still execute the old code is killed by this function. In earlier versions, such incorrect use could cause much more diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_2_func.txt index 08871de4ea6d..bd75d4131d3d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_2_func.txt @@ -1,13 +1,6 @@ - -spec erlang:send(Dest, Msg) -> Msg when Dest :: dst(), Msg :: term(). - - Types: - -type dst() :: - pid() | - reference() | - port() | - (RegName :: atom()) | - {RegName :: atom(), Node :: node()}. + -spec erlang:send(Dest, Msg) -> Msg +  when Dest :: send_destination(), Msg :: term(). Sends a message and returns Msg. This is the same as using the send operator: Dest ! Msg. @@ -20,3 +13,8 @@ atom name, but this name is not registered. This is the only case when send fails for an unreachable destination Dest (of correct type). + + Note: + For some important information about distributed signals, see + the Blocking Signaling Over Distribution section in the + Processes chapter of the Erlang Reference Manual. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_3_func.txt index 670a7ca72090..b8356593099b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_3_func.txt @@ -1,19 +1,11 @@ -spec erlang:send(Dest, Msg, Options) -> Res  when -  Dest :: dst(), +  Dest :: send_destination(),  Msg :: term(),  Options :: [nosuspend | noconnect],  Res :: ok | nosuspend | noconnect. - Types: - -type dst() :: - pid() | - reference() | - port() | - (RegName :: atom()) | - {RegName :: atom(), Node :: node()}. - Either sends a message and returns ok, or does not send the message but returns something else (see below). Otherwise the same as erlang:send/2. For more detailed explanation and warnings, @@ -29,5 +21,10 @@ If the destination node would have to be auto-connected to do the send, noconnect is returned instead. + Note: + For some important information about distributed signals, see + the Blocking Signaling Over Distribution section in the + Processes chapter of the Erlang Reference Manual. + Warning: As with erlang:send_nosuspend/2,3: use with extreme care. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_destination_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_destination_0_type.txt new file mode 100644 index 000000000000..8d93b48399d2 --- /dev/null +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_destination_0_type.txt @@ -0,0 +1,12 @@ + + -type send_destination() :: +  pid() | +  reference() | +  port() | +  (RegName :: atom()) | +  {RegName :: atom(), Node :: node()}. + + The destination for a send operation, can be a remote or local + process identifier, a (local) port, a reference denoting a process + alias, a locally registered name, or a tuple {RegName, Node} for + a registered name at another node. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_nosuspend_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_nosuspend_2_func.txt index 53d26831ab47..2c23e175209e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_nosuspend_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_nosuspend_2_func.txt @@ -1,14 +1,8 @@ -spec erlang:send_nosuspend(Dest, Msg) -> boolean() -  when Dest :: dst(), Msg :: term(). - - Types: - -type dst() :: - pid() | - reference() | - port() | - (RegName :: atom()) | - {RegName :: atom(), Node :: node()}. +  when +  Dest :: send_destination(), +  Msg :: term(). The same as erlang:send(Dest, Msg, [nosuspend]), but returns  true if the message was sent and false if the message was not diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_nosuspend_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_nosuspend_3_func.txt index fad064a8f284..28b45e10439b 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_nosuspend_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_send_nosuspend_3_func.txt @@ -1,18 +1,10 @@ -spec erlang:send_nosuspend(Dest, Msg, Options) -> boolean()  when -  Dest :: dst(), +  Dest :: send_destination(),  Msg :: term(),  Options :: [noconnect]. - Types: - -type dst() :: - pid() | - reference() | - port() | - (RegName :: atom()) | - {RegName :: atom(), Node :: node()}. - The same as erlang:send(Dest, Msg, [nosuspend | Options]), but with a Boolean return value. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cookie_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cookie_1_func.txt index d775c2ca6f2c..322f3a22144e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cookie_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cookie_1_func.txt @@ -9,4 +9,6 @@ cookie set with set_cookie/2 Cookie (see section Distributed Erlang in the Erlang Reference Manual in System Documentation). + You can get this value using get_cookie/0. + Failure: function_clause if the local node is not alive. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cookie_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cookie_2_func.txt index 571d771ae8db..4e4cec45dc31 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cookie_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_set_cookie_2_func.txt @@ -8,4 +8,6 @@ (see section Distributed Erlang in the Erlang Reference Manual in System Documentation). + You can get this value using get_cookie/1. + Failure: function_clause if the local node is not alive. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_2_func.txt index 95095e59dd89..60dd47981ac4 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_2_func.txt @@ -10,7 +10,8 @@ non_neg_integer() | #{size => non_neg_integer(), kill => boolean(), - error_logger => boolean()}. + error_logger => boolean(), + include_shared_binaries => boolean()}. -type message_queue_data() :: off_heap | on_heap. -type priority_level() :: low | normal | high | max. -type spawn_opt_option() :: @@ -21,7 +22,8 @@ {min_heap_size, Size :: non_neg_integer()} | {min_bin_vheap_size, VSize :: non_neg_integer()} | {max_heap_size, Size :: max_heap_size()} | - {message_queue_data, MQD :: message_queue_data()}. + {message_queue_data, MQD :: message_queue_data()} | + {async_dist, Enabled :: boolean()}. Returns the process identifier (pid) of a new process started by the application of Fun to the empty list []. Otherwise works diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_4_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_4_func.txt index 22956f6ce936..e734f66f23ce 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_4_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_4_func.txt @@ -15,7 +15,8 @@ non_neg_integer() | #{size => non_neg_integer(), kill => boolean(), - error_logger => boolean()}. + error_logger => boolean(), + include_shared_binaries => boolean()}. -type message_queue_data() :: off_heap | on_heap. -type priority_level() :: low | normal | high | max. -type spawn_opt_option() :: @@ -26,7 +27,8 @@ {min_heap_size, Size :: non_neg_integer()} | {min_bin_vheap_size, VSize :: non_neg_integer()} | {max_heap_size, Size :: max_heap_size()} | - {message_queue_data, MQD :: message_queue_data()}. + {message_queue_data, MQD :: message_queue_data()} | + {async_dist, Enabled :: boolean()}. Works as spawn/3, except that an extra option list is specified when creating the process. @@ -131,3 +133,10 @@ command-line argument +hmqd in erl(1). For more information, see the documentation of  process_flag(message_queue_data, MQD). + + {async_dist, Enabled}: + Since: OTP 25.3 + + Set the async_dist process flag of the spawned process. This + option will override the default value set by the command line + argument +pad . diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_option_0_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_option_0_type.txt index 3767db3c6b1f..bad83f1f6f75 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_option_0_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_opt_option_0_type.txt @@ -7,6 +7,7 @@  {min_heap_size, Size :: non_neg_integer()} |  {min_bin_vheap_size, VSize :: non_neg_integer()} |  {max_heap_size, Size :: max_heap_size()} | -  {message_queue_data, MQD :: message_queue_data()}. +  {message_queue_data, MQD :: message_queue_data()} | +  {async_dist, Enabled :: boolean()}. Options for spawn_opt(). diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_2_func.txt index 828bb5e02949..afd4cfc4114c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_2_func.txt @@ -1,13 +1,4 @@ - -spec spawn_request(Node, Fun) -> ReqId -  when -  Node :: node(), -  Fun :: function(), -  ReqId :: reference(). - -Since: - OTP 23.0 - -spec spawn_request(Fun, Options) -> ReqId  when  Fun :: function(), @@ -25,3 +16,15 @@ The same as the call spawn_request(node(),Fun,Options). That is, a spawn request on the local node. + + -spec spawn_request(Node, Fun) -> ReqId +  when +  Node :: node(), +  Fun :: function(), +  ReqId :: reference(). + +Since: + OTP 23.0 + + The same as the call spawn_request(Node,Fun,[]). That is, a + spawn request with no options. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_3_func.txt index 33ccccd7ee4e..08a636a80871 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_3_func.txt @@ -19,6 +19,18 @@ Since: OTP 23.0 + The same as spawn_request(Node,erlang,apply,[Fun,[]],Options). + That is, a spawn request using the fun Fun of arity zero as + entry point. + + This function will fail with a badarg exception if: + + • Node is not an atom. + + • Fun is not a fun of arity zero. + + • Options is not a proper list of terms. + -spec spawn_request(Module, Function, Args) -> ReqId  when  Module :: module(), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_4_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_4_func.txt index 484449ed3621..ba1a502ad699 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_4_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_4_func.txt @@ -10,6 +10,9 @@ Since: OTP 23.0 + The same as the call spawn_request(Node,Module,Function,Args,[]). + That is, a spawn request with no options. + -spec spawn_request(Module, Function, Args, Options) -> ReqId  when  Module :: module(), diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_5_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_5_func.txt index 3ebc26ed5a19..905a5cf441e1 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_5_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_spawn_request_5_func.txt @@ -157,6 +157,10 @@ Options for the local node of current OTP version can be found in the documentation of spawn_opt/4. + If a spawn reply message is delivered, it is guaranteed to be + delivered before any other signals from the newly spawned process + are delivered to the process issuing the spawn request. + This function will fail with a badarg exception if: • Node is not an atom. @@ -177,3 +181,8 @@ A spawn request can be abandoned by calling  spawn_request_abandon/1. + + Note: + For some important information about distributed signals, see + the Blocking Signaling Over Distribution section in the + Processes chapter of the Erlang Reference Manual. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_statistics_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_statistics_1_func.txt index f9bb276f72ff..e574f906784e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_statistics_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_statistics_1_func.txt @@ -1,4 +1,93 @@ + -spec statistics(active_tasks) -> [ActiveTasks] +  when ActiveTasks :: non_neg_integer(). + +Since: + OTP 18.3 + + Returns the same as statistics(active_tasks_all) with the + exception that no information about the dirty IO run queue and its + associated schedulers is part of the result. That is, only tasks + that are expected to be CPU bound are part of the result. + + -spec statistics(active_tasks_all) -> [ActiveTasks] +  when ActiveTasks :: non_neg_integer(). + +Since: + OTP 20.0 + + Returns a list where each element represents the amount of active + processes and ports on each run queue and its associated + schedulers. That is, the number of processes and ports that are + ready to run, or are currently running. Values for normal run + queues and their associated schedulers are located first in the + resulting list. The first element corresponds to scheduler number + 1 and so on. If support for dirty schedulers exist, an element + with the value for the dirty CPU run queue and its associated + dirty CPU schedulers follow and then as last element the value for + the the dirty IO run queue and its associated dirty IO schedulers + follow. The information is not gathered atomically. That is, the + result is not necessarily a consistent snapshot of the state, but + instead quite efficiently gathered. + + Note: + Each normal scheduler has one run queue that it manages. If + dirty schedulers schedulers are supported, all dirty CPU + schedulers share one run queue, and all dirty IO schedulers + share one run queue. That is, we have multiple normal run + queues, one dirty CPU run queue and one dirty IO run queue. + Work can not migrate between the different types of run + queues. Only work in normal run queues can migrate to other + normal run queues. This has to be taken into account when + evaluating the result. + + See also statistics(total_active_tasks),  + statistics(run_queue_lengths), statistics(run_queue_lengths_all),  + statistics(total_run_queue_lengths), and  + statistics(total_run_queue_lengths_all). + + -spec statistics(context_switches) -> {ContextSwitches, 0} +  when ContextSwitches :: non_neg_integer(). + + Returns the total number of context switches since the system + started. + + -spec statistics(exact_reductions) -> +  {Total_Exact_Reductions, +  Exact_Reductions_Since_Last_Call} +  when +  Total_Exact_Reductions :: non_neg_integer(), +  Exact_Reductions_Since_Last_Call :: +  non_neg_integer(). + + Returns the number of exact reductions. + + Note: + statistics(exact_reductions) is a more expensive operation + than statistics(reductions). + + -spec statistics(garbage_collection) -> +  {Number_of_GCs, Words_Reclaimed, 0} +  when +  Number_of_GCs :: non_neg_integer(), +  Words_Reclaimed :: non_neg_integer(). + + Returns information about garbage collection, for example: + + > statistics(garbage_collection). + {85,23961,0} + + This information can be invalid for some implementations. + + -spec statistics(io) -> {{input, Input}, {output, Output}} +  when +  Input :: non_neg_integer(), +  Output :: non_neg_integer(). + + Returns Input, which is the total number of bytes received + through ports, and Output, which is the total number of bytes + output to ports. + -spec statistics(microstate_accounting) -> [MSAcc_Thread] | undefined  when  MSAcc_Thread :: @@ -19,16 +108,195 @@ Since: OTP 19.0 - -spec statistics(io) -> {{input, Input}, {output, Output}} + Microstate accounting can be used to measure how much time the + Erlang runtime system spends doing various tasks. It is designed + to be as lightweight as possible, but some overhead exists when + this is enabled. Microstate accounting is meant to be a profiling + tool to help finding performance bottlenecks. To start/stop/ + reset microstate accounting, use system flag  + microstate_accounting. + + statistics(microstate_accounting) returns a list of maps + representing some of the OS threads within ERTS. Each map contains  + type and id fields that can be used to identify what thread it + is, and also a counters field that contains data about how much + time has been spent in the various states. + + Example: + + > erlang:statistics(microstate_accounting). + [#{counters => #{aux => 1899182914, + check_io => 2605863602, + emulator => 45731880463, + gc => 1512206910, + other => 5421338456, + port => 221631, + sleep => 5150294100}, + id => 1, + type => scheduler}|...] + + The time unit is the same as returned by os:perf_counter/0. So, + to convert it to milliseconds, you can do something like this: + + lists:map( + fun(#{ counters := Cnt } = M) -> + MsCnt = maps:map(fun(_K, PerfCount) -> + erlang:convert_time_unit(PerfCount, perf_counter, 1000) + end, Cnt), + M#{ counters := MsCnt } + end, erlang:statistics(microstate_accounting)). + + Notice that these values are not guaranteed to be the exact time + spent in each state. This is because of various optimisation done + to keep the overhead as small as possible. + + MSAcc_Thread_Types: + + scheduler: + The main execution threads that do most of the work. See erl + +S for more details. + + dirty_cpu_scheduler: + The threads for long running cpu intensive work. See erl + +SDcpu for more details. + + dirty_io_scheduler: + The threads for long running I/O work. See erl +SDio for + more details. + + async: + Async threads are used by various linked-in drivers (mainly + the file drivers) do offload non-CPU intensive work. See erl + +A for more details. + + aux: + Takes care of any work that is not specifically assigned to a + scheduler. + + poll: + Does the IO polling for the emulator. See erl +IOt for more + details. + + The following MSAcc_Thread_States are available. All states are + exclusive, meaning that a thread cannot be in two states at once. + So, if you add the numbers of all counters in a thread, you get + the total runtime for that thread. + + aux: + Time spent handling auxiliary jobs. + + check_io: + Time spent checking for new I/O events. + + emulator: + Time spent executing Erlang processes. + + gc: + Time spent doing garbage collection. When extra states are + enabled this is the time spent doing non-fullsweep garbage + collections. + + other: + Time spent doing unaccounted things. + + port: + Time spent executing ports. + + sleep: + Time spent sleeping. + + More fine-grained MSAcc_Thread_States can be added through + configure (such as ./configure --with-microstate-accounting=extra + ). Enabling these states causes performance degradation when + microstate accounting is turned off and increases the overhead + when it is turned on. + + alloc: + Time spent managing memory. Without extra states this time is + spread out over all other states. + + bif: + Time spent in BIFs. Without extra states this time is part of + the emulator state. + + busy_wait: + Time spent busy waiting. This is also the state where a + scheduler no longer reports that it is active when using  + statistics(scheduler_wall_time). So, if you add all other + states but this and sleep, and then divide that by all time in + the thread, you should get something very similar to the  + scheduler_wall_time fraction. Without extra states this time + is part of the other state. + + ets: + Time spent executing ETS BIFs. Without extra states this time + is part of the emulator state. + + gc_full: + Time spent doing fullsweep garbage collection. Without extra + states this time is part of the gc state. + + nif: + Time spent in NIFs. Without extra states this time is part of + the emulator state. + + send: + Time spent sending messages (processes only). Without extra + states this time is part of the emulator state. + + timers: + Time spent managing timers. Without extra states this time is + part of the other state. + + The utility module msacc(3) can be used to more easily analyse + these statistics. + + Returns undefined if system flag microstate_accounting is + turned off. + + The list of thread information is unsorted and can appear in + different order between calls. + + Note: + The threads and states are subject to change without any prior + notice. + + -spec statistics(reductions) -> +  {Total_Reductions, Reductions_Since_Last_Call}  when -  Input :: non_neg_integer(), -  Output :: non_neg_integer(). +  Total_Reductions :: non_neg_integer(), +  Reductions_Since_Last_Call :: non_neg_integer(). - -spec statistics(active_tasks_all) -> [ActiveTasks] -  when ActiveTasks :: non_neg_integer(). + Returns information about reductions, for example: + + > statistics(reductions). + {2046,11} + + Change: + As from ERTS 5.5 (Erlang/OTP R11B), this value does not + include reductions performed in current time slices of + currently scheduled processes. If an exact value is wanted, + use statistics(exact_reductions). + + -spec statistics(run_queue) -> non_neg_integer(). + + Returns the total length of all normal and dirty CPU run queues. + That is, queued work that is expected to be CPU bound. The + information is gathered atomically. That is, the result is a + consistent snapshot of the state, but this operation is much more + expensive compared to statistics(total_run_queue_lengths), + especially when a large amount of schedulers is used. + + -spec statistics(run_queue_lengths) -> [RunQueueLength] +  when RunQueueLength :: non_neg_integer(). Since: - OTP 20.0 + OTP 18.3 + + Returns the same as statistics(run_queue_lengths_all) with the + exception that no information about the dirty IO run queue is part + of the result. That is, only run queues with work that is expected + to be CPU bound is part of the result. -spec statistics(run_queue_lengths_all) -> [RunQueueLength]  when RunQueueLength :: non_neg_integer(). @@ -36,30 +304,52 @@ Since: OTP 20.0 - -spec statistics(garbage_collection) -> -  {Number_of_GCs, Words_Reclaimed, 0} -  when -  Number_of_GCs :: non_neg_integer(), -  Words_Reclaimed :: non_neg_integer(). + Returns a list where each element represents the amount of + processes and ports ready to run for each run queue. Values for + normal run queues are located first in the resulting list. The + first element corresponds to the normal run queue of scheduler + number 1 and so on. If support for dirty schedulers exist, values + for the dirty CPU run queue and the dirty IO run queue follow (in + that order) at the end. The information is not gathered + atomically. That is, the result is not necessarily a consistent + snapshot of the state, but instead quite efficiently gathered. - -spec statistics(reductions) -> -  {Total_Reductions, Reductions_Since_Last_Call} -  when -  Total_Reductions :: non_neg_integer(), -  Reductions_Since_Last_Call :: non_neg_integer(). + Note: + Each normal scheduler has one run queue that it manages. If + dirty schedulers schedulers are supported, all dirty CPU + schedulers share one run queue, and all dirty IO schedulers + share one run queue. That is, we have multiple normal run + queues, one dirty CPU run queue and one dirty IO run queue. + Work can not migrate between the different types of run + queues. Only work in normal run queues can migrate to other + normal run queues. This has to be taken into account when + evaluating the result. + + See also statistics(run_queue_lengths),  + statistics(total_run_queue_lengths_all),  + statistics(total_run_queue_lengths), statistics(active_tasks),  + statistics(active_tasks_all), and statistics(total_active_tasks),  + statistics(total_active_tasks_all). -spec statistics(runtime) -> {Total_Run_Time, Time_Since_Last_Call}  when  Total_Run_Time :: non_neg_integer(),  Time_Since_Last_Call :: non_neg_integer(). - -spec statistics(wall_clock) -> -  {Total_Wallclock_Time, -  Wallclock_Time_Since_Last_Call} -  when -  Total_Wallclock_Time :: non_neg_integer(), -  Wallclock_Time_Since_Last_Call :: -  non_neg_integer(). + Returns information about runtime, in milliseconds. + + This is the sum of the runtime for all threads in the Erlang + runtime system and can therefore be greater than the wall clock + time. + + Warning: + This value might wrap due to limitations in the underlying + functionality provided by the operating system that is used. + + Example: + + > statistics(runtime). + {1690,1620} -spec statistics(scheduler_wall_time) ->  [{SchedulerId, ActiveTime, TotalTime}] | undefined @@ -71,30 +361,134 @@ Since: OTP R15B01 - -spec statistics(exact_reductions) -> -  {Total_Exact_Reductions, -  Exact_Reductions_Since_Last_Call} -  when -  Total_Exact_Reductions :: non_neg_integer(), -  Exact_Reductions_Since_Last_Call :: -  non_neg_integer(). + Returns information describing how much time normal and dirty + CPU schedulers in the system have been busy. This value is + normally a better indicator of how much load an Erlang node is + under instead of looking at the CPU utilization provided by tools + such as top or sysstat. This is because scheduler_wall_time + also includes time where the scheduler is waiting for some other + reasource (such as an internal mutex) to be available but does not + use the CPU. In order to better understand what a scheduler is + busy doing you can use microstate accounting. - -spec statistics(active_tasks) -> [ActiveTasks] -  when ActiveTasks :: non_neg_integer(). + The definition of a busy scheduler is when it is not idle and not + busy waiting for new work, that is: -Since: - OTP 18.3 + • Executing process code - -spec statistics(run_queue_lengths) -> [RunQueueLength] -  when RunQueueLength :: non_neg_integer(). + • Executing linked-in driver or NIF code -Since: - OTP 18.3 + • Executing BIFs, or any other runtime handling - -spec statistics(run_queue) -> non_neg_integer(). + • Garbage collecting - -spec statistics(context_switches) -> {ContextSwitches, 0} -  when ContextSwitches :: non_neg_integer(). + • Handling any other memory management + + Notice that a scheduler can also be busy even if the OS has + scheduled out the scheduler thread. + + Note: + It is recommended to use the module scheduler instead of + this function directly as it provides an easier way to get the + information that you usually want. + + If enabled this function returns a list of tuples with  + {SchedulerId, ActiveTime, TotalTime}, where SchedulerId is an + integer ID of the scheduler, ActiveTime is the duration the + scheduler has been busy, and TotalTime is the total time + duration since scheduler_wall_time activation for the specific + scheduler. The time unit returned is undefined and can be subject + to change between releases, OSs, and system restarts.  + scheduler_wall_time is only to be used to calculate relative + values for scheduler utilization. The ActiveTime can never + exceed TotalTime. The list of scheduler information is unsorted + and can appear in different order between calls. + + The disabled this function returns undefined. + + The activation time can differ significantly between schedulers. + Currently dirty schedulers are activated at system start while + normal schedulers are activated some time after the  + scheduler_wall_time functionality is enabled. + + Only information about schedulers that are expected to handle CPU + bound work is included in the return values from this function. If + you also want information about dirty I/O schedulers, use  + statistics(scheduler_wall_time_all) instead. + + Normal schedulers will have scheduler identifiers in the range 1 + =< SchedulerId =< erlang:system_info(schedulers). Dirty CPU + schedulers will have scheduler identifiers in the range  + erlang:system_info(schedulers) < SchedulerId =< + erlang:system_info(schedulers) +  + erlang:system_info(dirty_cpu_schedulers). + + Note: + The different types of schedulers handle specific types of + jobs. Every job is assigned to a specific scheduler type. Jobs + can migrate between different schedulers of the same type, but + never between schedulers of different types. This fact has to + be taken under consideration when evaluating the result + returned. + + You can use scheduler_wall_time to calculate scheduler + utilization. First you take a sample of the values returned by  + erlang:statistics(scheduler_wall_time). + + > erlang:system_flag(scheduler_wall_time, true). + false + > Ts0 = lists:sort(erlang:statistics(scheduler_wall_time)), ok. + ok + + Some time later the user takes another snapshot and calculates + scheduler utilization per scheduler, for example: + + > Ts1 = lists:sort(erlang:statistics(scheduler_wall_time)), ok. + ok + > lists:map(fun({{I, A0, T0}, {I, A1, T1}}) -> + {I, (A1 - A0)/(T1 - T0)} end, lists:zip(Ts0,Ts1)). + [{1,0.9743474730177548}, + {2,0.9744843782751444}, + {3,0.9995902361669045}, + {4,0.9738012596572161}, + {5,0.9717956667018103}, + {6,0.9739235846420741}, + {7,0.973237033077876}, + {8,0.9741297293248656}] + + Using the same snapshots to calculate a total scheduler + utilization: + + > {A, T} = lists:foldl(fun({{_, A0, T0}, {_, A1, T1}}, {Ai,Ti}) -> + {Ai + (A1 - A0), Ti + (T1 - T0)} end, {0, 0}, lists:zip(Ts0,Ts1)), + TotalSchedulerUtilization = A/T. + 0.9769136803764825 + + Total scheduler utilization will equal 1.0 when all schedulers + have been active all the time between the two measurements. + + Another (probably more) useful value is to calculate total + scheduler utilization weighted against maximum amount of available + CPU time: + + > WeightedSchedulerUtilization = (TotalSchedulerUtilization + * (erlang:system_info(schedulers) + + erlang:system_info(dirty_cpu_schedulers))) + / erlang:system_info(logical_processors_available). + 0.9769136803764825 + + This weighted scheduler utilization will reach 1.0 when + schedulers are active the same amount of time as maximum available + CPU time. If more schedulers exist than available logical + processors, this value may be greater than 1.0. + + As of ERTS version 9.0, the Erlang runtime system will as default + have more schedulers than logical processors. This due to the + dirty schedulers. + + Note: + scheduler_wall_time is by default disabled. To enable it, use  + erlang:system_flag(scheduler_wall_time, true). -spec statistics(scheduler_wall_time_all) ->  [{SchedulerId, ActiveTime, TotalTime}] | undefined @@ -106,24 +500,49 @@ Since: OTP 20.0 + The same as statistics(scheduler_wall_time), except that it also + include information about all dirty I/O schedulers. + + Dirty IO schedulers will have scheduler identifiers in the range  + erlang:system_info(schedulers) +  + erlang:system_info(dirty_cpu_schedulers) < SchedulerId =< + erlang:system_info(schedulers) + + erlang:system_info(dirty_cpu_schedulers) +  + erlang:system_info(dirty_io_schedulers). + + Note: + Note that work executing on dirty I/O schedulers are expected + to mainly wait for I/O. That is, when you get high scheduler + utilization on dirty I/O schedulers, CPU utilization is not + expected to be high due to this work. + -spec statistics(total_active_tasks) -> ActiveTasks  when ActiveTasks :: non_neg_integer(). Since: OTP 18.3 + The same as calling lists:sum(statistics(active_tasks)), but + more efficient. + -spec statistics(total_active_tasks_all) -> ActiveTasks  when ActiveTasks :: non_neg_integer(). Since: OTP 20.0 + The same as calling lists:sum(statistics(active_tasks_all)), + but more efficient. + -spec statistics(total_run_queue_lengths) -> TotalRunQueueLengths  when TotalRunQueueLengths :: non_neg_integer(). Since: OTP 18.3 + The same as calling lists:sum(statistics(run_queue_lengths)), + but more efficient. + -spec statistics(total_run_queue_lengths_all) -> TotalRunQueueLengths  when TotalRunQueueLengths :: non_neg_integer(). @@ -132,3 +551,15 @@ The same as calling lists:sum(statistics(run_queue_lengths_all)), but more efficient. + + -spec statistics(wall_clock) -> +  {Total_Wallclock_Time, +  Wallclock_Time_Since_Last_Call} +  when +  Total_Wallclock_Time :: non_neg_integer(), +  Wallclock_Time_Since_Last_Call :: +  non_neg_integer(). + + Returns information about wall clock. wall_clock can be used in + the same manner as runtime, except that real time is measured as + opposed to runtime or CPU time. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_flag_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_flag_2_func.txt index ed9417d79ecf..b46fb4474c51 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_flag_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_flag_2_func.txt @@ -1,52 +1,61 @@ - -spec erlang:system_flag(time_offset, finalize) -> OldState + -spec erlang:system_flag(backtrace_depth, Depth) -> OldDepth  when -  OldState :: -  preliminary | final | volatile. +  Depth :: non_neg_integer(), +  OldDepth :: non_neg_integer(). -Since: - OTP 18.0 + Sets the maximum depth of call stack back-traces in the exit + reason element of 'EXIT' tuples. The flag also limits the + stacktrace depth returned by process_info item  + current_stacktrace. - -spec erlang:system_flag(multi_scheduling, BlockState) -> OldBlockState -  when -  BlockState :: -  block | unblock | block_normal | -  unblock_normal, -  OldBlockState :: -  blocked | disabled | enabled. + Returns the old value of the flag. - -spec erlang:system_flag(fullsweep_after, Number) -> OldNumber + -spec erlang:system_flag(cpu_topology, CpuTopology) -> OldCpuTopology  when -  Number :: non_neg_integer(), -  OldNumber :: non_neg_integer(). +  CpuTopology :: cpu_topology(), +  OldCpuTopology :: cpu_topology(). - -spec erlang:system_flag(erts_alloc, {Alloc, F, V}) -> ok | notsup -  when -  Alloc :: atom(), -  F :: atom(), -  V :: integer(). + Types: + -type cpu_topology() :: [LevelEntry :: level_entry()] | undefined. + -type info_list() :: []. + -type level_entry() :: + {LevelTag :: level_tag(), SubLevel :: sub_level()} | + {LevelTag :: level_tag(), + InfoList :: info_list(), + SubLevel :: sub_level()}. + -type level_tag() :: core | node | processor | thread. + -type sub_level() :: + [LevelEntry :: level_entry()] | + (LogicalCpuId :: {logical, non_neg_integer()}). -Since: - OTP 20.2.3 + Warning: + This argument is deprecated. Instead of using this argument, + use command-line argument +sct in erl(1). - -spec erlang:system_flag(min_bin_vheap_size, MinBinVHeapSize) -> -  OldMinBinVHeapSize -  when -  MinBinVHeapSize :: non_neg_integer(), -  OldMinBinVHeapSize :: non_neg_integer(). + When this argument is removed, a final CPU topology to use is + determined at emulator boot time. -Since: - OTP R13B04 + Sets the user-defined CpuTopology. The user-defined CPU topology + overrides any automatically detected CPU topology. By passing  + undefined as CpuTopology, the system reverts to the CPU + topology automatically detected. The returned value equals the + value returned from erlang:system_info(cpu_topology) before the + change was made. - -spec erlang:system_flag(min_heap_size, MinHeapSize) -> OldMinHeapSize -  when -  MinHeapSize :: non_neg_integer(), -  OldMinHeapSize :: non_neg_integer(). + Returns the old value of the flag. - -spec erlang:system_flag(backtrace_depth, Depth) -> OldDepth -  when -  Depth :: non_neg_integer(), -  OldDepth :: non_neg_integer(). + The CPU topology is used when binding schedulers to logical + processors. If schedulers are already bound when the CPU topology + is changed, the schedulers are sent a request to rebind according + to the new CPU topology. + + The user-defined CPU topology can also be set by passing + command-line argument +sct to erl(1). + + For information on type CpuTopology and more, see  + erlang:system_info(cpu_topology) as well as command-line flags  + +sct and +sbt in erl(1). -spec erlang:system_flag(dirty_cpu_schedulers_online,  DirtyCPUSchedulersOnline) -> @@ -60,32 +69,63 @@ Since: OTP 17.0 - -spec erlang:system_flag(schedulers_online, SchedulersOnline) -> -  OldSchedulersOnline -  when -  SchedulersOnline :: pos_integer(), -  OldSchedulersOnline :: pos_integer(). + Sets the number of dirty CPU schedulers online. Range is 1 <= + DirtyCPUSchedulersOnline <= N, where N is the smallest of the + return values of erlang:system_info(dirty_cpu_schedulers) and  + erlang:system_info(schedulers_online). - -spec erlang:system_flag(system_logger, Logger) -> PrevLogger + Returns the old value of the flag. + + The number of dirty CPU schedulers online can change if the number + of schedulers online changes. For example, if 12 schedulers and 6 + dirty CPU schedulers are online, and system_flag/2 is used to + set the number of schedulers online to 6, then the number of dirty + CPU schedulers online is automatically decreased by half as well, + down to 3. Similarly, the number of dirty CPU schedulers online + increases proportionally to increases in the number of schedulers + online. + + For more information, see  + erlang:system_info(dirty_cpu_schedulers) and  + erlang:system_info(dirty_cpu_schedulers_online). + + -spec erlang:system_flag(erts_alloc, {Alloc, F, V}) -> ok | notsup  when -  Logger :: logger | undefined | pid(), -  PrevLogger :: logger | undefined | pid(). +  Alloc :: atom(), +  F :: atom(), +  V :: integer(). Since: - OTP 21.3 + OTP 20.2.3 - -spec erlang:system_flag(trace_control_word, TCW) -> OldTCW -  when -  TCW :: non_neg_integer(), -  OldTCW :: non_neg_integer(). + Sets system flags for erts_alloc(3). Alloc is the allocator to + affect, for example binary_alloc. F is the flag to change and  + V is the new value. - -spec erlang:system_flag(scheduler_wall_time, Boolean) -> OldBoolean + Only a subset of all erts_alloc flags can be changed at run + time. This subset is currently only the flag sbct. + + Returns ok if the flag was set or notsup if not supported by  + erts_alloc. + + -spec erlang:system_flag(fullsweep_after, Number) -> OldNumber  when -  Boolean :: boolean(), -  OldBoolean :: boolean(). +  Number :: non_neg_integer(), +  OldNumber :: non_neg_integer(). -Since: - OTP R15B01 + Sets system flag fullsweep_after. Number is a non-negative + integer indicating how many times generational garbage collections + can be done without forcing a fullsweep collection. The value + applies to new processes, while processes already running are not + affected. + + Returns the old value of the flag. + + In low-memory systems (especially without virtual memory), setting + the value to 0 can help to conserve memory. + + This value can also be set through (OS) environment variable  + ERL_FULLSWEEP_AFTER. -spec erlang:system_flag(microstate_accounting, Action) -> OldState  when @@ -95,10 +135,41 @@ Since: OTP 19.0 - -spec erlang:system_flag(cpu_topology, CpuTopology) -> OldCpuTopology + Turns on/off microstate accounting measurements. When passing + reset, all counters are reset to 0. + + For more information see statistics(microstate_accounting). + + -spec erlang:system_flag(min_heap_size, MinHeapSize) -> OldMinHeapSize  when -  CpuTopology :: cpu_topology(), -  OldCpuTopology :: cpu_topology(). +  MinHeapSize :: non_neg_integer(), +  OldMinHeapSize :: non_neg_integer(). + + Sets the default minimum heap size for processes. The size is + specified in words. The new min_heap_size effects only processes + spawned after the change of min_heap_size has been made.  + min_heap_size can be set for individual processes by using  + spawn_opt/4 or process_flag/2. + + Returns the old value of the flag. + + -spec erlang:system_flag(min_bin_vheap_size, MinBinVHeapSize) -> +  OldMinBinVHeapSize +  when +  MinBinVHeapSize :: non_neg_integer(), +  OldMinBinVHeapSize :: non_neg_integer(). + +Since: + OTP R13B04 + + Sets the default minimum binary virtual heap size for processes. + The size is specified in words. The new min_bin_vhheap_size + effects only processes spawned after the change of  + min_bin_vheap_size has been made. min_bin_vheap_size can be set + for individual processes by using spawn_opt/2,3,4 or  + process_flag/2. + + Returns the old value of the flag. -spec erlang:system_flag(max_heap_size, MaxHeapSize) -> OldMaxHeapSize  when @@ -108,6 +179,113 @@ Since: OTP 19.0 + Types: + -type max_heap_size() :: + Size :: + non_neg_integer() | + #{size => non_neg_integer(), + kill => boolean(), + error_logger => boolean(), + include_shared_binaries => boolean()}. + + Sets the default maximum heap size settings for processes. The + size is specified in words. The new max_heap_size effects only + processes spawned after the change has been made. max_heap_size + can be set for individual processes using spawn_opt/2,3,4 or  + process_flag/2. + + Returns the old value of the flag. + + For details on how the heap grows, see Sizing the heap in the + ERTS internal documentation. + + -spec erlang:system_flag(multi_scheduling, BlockState) -> OldBlockState +  when +  BlockState :: +  block | unblock | block_normal | +  unblock_normal, +  OldBlockState :: +  blocked | disabled | enabled. + + If multi-scheduling is enabled, more than one scheduler thread is + used by the emulator. Multi-scheduling can be blocked in two + different ways. Either all schedulers but one is blocked, or all + normal schedulers but one is blocked. When only normal schedulers + are blocked, dirty schedulers are free to continue to schedule + processes. + + If BlockState =:= block, multi-scheduling is blocked. That is, + one and only one scheduler thread will execute. If BlockState =:= + unblock and no one else blocks multi-scheduling, and this process + has blocked only once, multi-scheduling is unblocked. + + If BlockState =:= block_normal, normal multi-scheduling is + blocked. That is, only one normal scheduler thread will execute, + but multiple dirty schedulers can execute. If BlockState =:= + unblock_normal and no one else blocks normal multi-scheduling, + and this process has blocked only once, normal multi-scheduling is + unblocked. + + One process can block multi-scheduling and normal multi-scheduling + multiple times. If a process has blocked multiple times, it must + unblock exactly as many times as it has blocked before it has + released its multi-scheduling block. If a process that has blocked + multi-scheduling or normal multi-scheduling exits, it + automatically releases its blocking of multi-scheduling and normal + multi-scheduling. + + The return values are disabled, blocked, blocked_normal, or  + enabled. The returned value describes the state just after the + call to erlang:system_flag(multi_scheduling, BlockState) has + been made. For information about the return values, see  + erlang:system_info(multi_scheduling). + + Note: + Blocking of multi-scheduling and normal multi-scheduling is + normally not needed. If you feel that you need to use these + features, consider it a few more times again. Blocking + multi-scheduling is only to be used as a last resort, as it is + most likely a very inefficient way to solve the problem. + + See also erlang:system_info(multi_scheduling),  + erlang:system_info(normal_multi_scheduling_blockers),  + erlang:system_info(multi_scheduling_blockers), and  + erlang:system_info(schedulers). + + -spec erlang:system_flag(outstanding_system_requests_limit, NewLimit) -> +  OldLimit +  when +  NewLimit :: 1..134217727, +  OldLimit :: 1..134217727. + +Since: + OTP 24.2 + + Sets a limit on the amount of outstanding requests made by a + system process orchestrating system wide changes. Currently there + are two such processes: + + The Code Purger: + The code purger orchestrates checking of references to old + code before old code is removed from the system. + + The Literal Area Collector: + The literal area collector orchestrates copying of references + from old literal areas before removal of such areas from the + system. + + Each of these processes are allowed to have as many outstanding + requests as this limit is set to. By default this limit is set to + twice the amount of schedulers on the system. This will ensure + that schedulers will have enough work scheduled to perform these + operations as quickly as possible at the same time as other work + will be interleaved with this work. Currently used limit can be + checked by calling  + erlang:system_info(outstanding_system_requests_limit). + + This limit can also be set by passing the command line argument  + +zosrl  to erl. + -spec erlang:system_flag(scheduler_bind_type, How) -> OldBindType  when  How :: @@ -212,3 +390,133 @@ For more information, see erlang:system_info(scheduler_bind_type),  erlang:system_info(scheduler_bindings), as well as command-line flags +sbt and +sct in erl(1). + + -spec erlang:system_flag(scheduler_wall_time, Boolean) -> OldBoolean +  when +  Boolean :: boolean(), +  OldBoolean :: boolean(). + +Since: + OTP R15B01 + + Try enable or disable scheduler wall time measurements by passing  + Boolean as either true or false. + + For more information about how to use scheduler wall time + measurements, see statistics(scheduler_wall_time). + + Scheduler wall time measurements has a node global state. It is + either enabled for all processes on the node or disabled for all + processes. Each process has a logical counter initialized as zero. + A call with Boolean as true will increase that counter one + step for the calling process. A call with false will decrease it + one step unless it already is zero. The node global state for  + scheduler_wall_time will be enabled as long as there is at least + one process alive with a counter value larger than zero. When a + process terminates, its counter will also disappear. To ensure  + scheduler_wall_time is kept enabled, the process that enabled it + must therefore be kept alive. + + Returns the old value of the node global state, true if + scheduler wall time measurements were enabled, false if it were + disabled. + + Scheduler wall time measurements do consume some cpu overhead and + should not be left turned on unless used. + + -spec erlang:system_flag(schedulers_online, SchedulersOnline) -> +  OldSchedulersOnline +  when +  SchedulersOnline :: pos_integer(), +  OldSchedulersOnline :: pos_integer(). + + Sets the number of schedulers online. Range is 1 <= + SchedulersOnline <= erlang:system_info(schedulers). + + Returns the old value of the flag. + + If the emulator was built with support for dirty schedulers, + changing the number of schedulers online can also change the + number of dirty CPU schedulers online. For example, if 12 + schedulers and 6 dirty CPU schedulers are online, and  + system_flag/2 is used to set the number of schedulers online to + 6, then the number of dirty CPU schedulers online is automatically + decreased by half as well, down to 3. Similarly, the number of + dirty CPU schedulers online increases proportionally to increases + in the number of schedulers online. + + For more information, see erlang:system_info(schedulers) and  + erlang:system_info(schedulers_online). + + -spec erlang:system_flag(system_logger, Logger) -> PrevLogger +  when +  Logger :: logger | undefined | pid(), +  PrevLogger :: logger | undefined | pid(). + +Since: + OTP 21.3 + + Sets the process that will receive the logging messages generated + by ERTS. If set to undefined, all logging messages generated by + ERTS will be dropped. The messages will be in the format: + + {log,Level,Format,ArgList,Metadata} where + + Level = atom(), + Format = string(), + ArgList = list(term()), + Metadata = #{ pid => pid(), + group_leader => pid(), + time := logger:timestamp(), + error_logger := #{ emulator := true, tag := atom() } + + + If the system_logger process dies, this flag will be reset to  + logger. + + The default is the process named logger. + + Returns the old value of the flag. + + Note: + This function is designed to be used by the KERNEL logger. + Be careful if you change it to something else as log messages + may be lost. If you want to intercept emulator log messages, + do it by adding a specialized handler to the KERNEL logger. + + -spec erlang:system_flag(trace_control_word, TCW) -> OldTCW +  when +  TCW :: non_neg_integer(), +  OldTCW :: non_neg_integer(). + + Sets the value of the node trace control word to TCW, which is + to be an unsigned integer. For more information, see function  + set_tcw in section "Match Specifications in Erlang" in the User's + Guide. + + Returns the old value of the flag. + + -spec erlang:system_flag(time_offset, finalize) -> OldState +  when +  OldState :: +  preliminary | final | volatile. + +Since: + OTP 18.0 + + Finalizes the time offset when single time warp mode is used. + If another time warp mode is used, the time offset state is left + unchanged. + + Returns the old state identifier, that is: + + • If preliminary is returned, finalization was performed and + the time offset is now final. + + • If final is returned, the time offset was already in the + final state. This either because another  + erlang:system_flag(time_offset, finalize) call or because + no time warp mode is used. + + • If volatile is returned, the time offset cannot be + finalized because multi-time warp mode is used. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_info_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_info_1_func.txt index 1015fbac90e0..9ecf3bad8ff8 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_info_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_system_info_1_func.txt @@ -1,4 +1,54 @@ + -spec erlang:system_info(sequential_tracer) -> +  {sequential_tracer, +  pid() | port() | {module(), term()} | false}. + + Returns information about the current system. The documentation of + this function is broken into the following sections in order to + make it easier to navigate. + + Memory Allocation: + allocated_areas, allocator, alloc_util_allocators,  + allocator_sizes + + CPU Topology: + cpu_topology, logical_processors, cpu_quota,  + update_cpu_info + + Process Information: + fullsweep_after, garbage_collection, heap_sizes,  + heap_type, max_heap_size, message_queue_data,  + min_heap_size, min_bin_vheap_size, procs + + System Limits: + atom_count, atom_limit, ets_count, ets_limit,  + port_count, port_limit, process_count, process_limit + + System Time: + end_time, os_monotonic_time_source, os_system_time_source,  + start_time, time_correction, time_offset, time_warp_mode,  + tolerant_timeofday + + Scheduler Information: + dirty_cpu_schedulers, dirty_cpu_schedulers_online,  + dirty_io_schedulers, multi_scheduling,  + multi_scheduling_blockers, normal_multi_scheduling_blockers,  + scheduler_bind_type, scheduler_bindings, scheduler_id,  + schedulers, smp_support, threads, thread_pool_size + + Distribution Information: + async_dist, creation, delayed_node_table_gc, dist,  + dist_buf_busy_limit, dist_ctrl + + System Information: + c_compiler_used, check_io, compat_rel, debug_compiled,  + driver_version, dynamic_trace, dynamic_trace_probes,  + emu_flavor, emu_type, info, kernel_poll, loaded,  + machine, modified_timing_level, nif_version, otp_release,  + outstanding_system_requests_limit, port_parallelism,  + system_architecture, system_logger, system_version,  + trace_control_word, version, wordsize + -spec erlang:system_info(allocated_areas) -> [tuple()];  (allocator) ->  {Allocator, Version, Features, Settings} @@ -16,126 +66,231 @@  ({allocator_sizes, Alloc}) -> [_]  when Alloc :: atom(). - -spec erlang:system_info(creation) -> integer(); -  (delayed_node_table_gc) -> -  infinity | non_neg_integer(); -  (dist) -> binary(); -  (dist_buf_busy_limit) -> non_neg_integer(); -  (dist_ctrl) -> -  {Node :: node(), -  ControllingEntity :: port() | pid()}. + Returns various information about the memory allocators of the + current system (emulator) as specified by Item: -Since: - OTP 18.0,OTP R14B01 + allocated_areas: + Returns a list of tuples with information about miscellaneous + allocated memory areas. - -spec erlang:system_info(atom_count) -> pos_integer(); -  (atom_limit) -> pos_integer(); -  (ets_count) -> pos_integer(); -  (ets_limit) -> pos_integer(); -  (port_count) -> non_neg_integer(); -  (port_limit) -> pos_integer(); -  (process_count) -> pos_integer(); -  (process_limit) -> pos_integer(). + Each tuple contains an atom describing the type of memory as + first element and the amount of allocated memory in bytes as + second element. When information about allocated and used + memory is present, also a third element is present, containing + the amount of used memory in bytes. -Since: - OTP 20.0,OTP 21.1,OTP R16B,OTP R16B03 + erlang:system_info(allocated_areas) is intended for + debugging, and the content is highly implementation-dependent. + The content of the results therefore changes when needed + without prior notice. - -spec erlang:system_info(c_compiler_used) -> {atom(), term()}; -  (check_io) -> [_]; -  (compat_rel) -> integer(); -  (debug_compiled) -> boolean(); -  (driver_version) -> string(); -  (dynamic_trace) -> none | dtrace | systemtap; -  (dynamic_trace_probes) -> boolean(); -  (emu_flavor) -> emu | jit; -  (emu_type) -> -  opt | debug | gcov | valgrind | gprof | -  lcnt | frmptr; -  (info) -> binary(); -  (kernel_poll) -> boolean(); -  (loaded) -> binary(); -  (machine) -> string(); -  (modified_timing_level) -> integer() | undefined; -  (nif_version) -> string(); -  (otp_release) -> string(); -  (port_parallelism) -> boolean(); -  (system_architecture) -> string(); -  (system_logger) -> logger | undefined | pid(); -  (system_version) -> string(); -  (trace_control_word) -> non_neg_integer(); -  (version) -> string(); -  (wordsize | -  {wordsize, internal} | -  {wordsize, external}) -> -  4 | 8. + Notice that the sum of these values is not the total amount + of memory allocated by the emulator. Some values are part of + other values, and some memory areas are not part of the + result. For information about the total amount of memory + allocated by the emulator, see erlang:memory/0,1. -Since: - OTP 17.4,OTP 21.3,OTP 24.0,OTP R15B01,OTP R16B + allocator: + Returns {Allocator, Version, Features, Settings, where: - -spec erlang:system_info(dirty_cpu_schedulers) -> non_neg_integer(); -  (dirty_cpu_schedulers_online) -> -  non_neg_integer(); -  (dirty_io_schedulers) -> non_neg_integer(); -  (multi_scheduling) -> -  disabled | blocked | blocked_normal | -  enabled; -  (multi_scheduling_blockers) -> [Pid :: pid()]; -  (normal_multi_scheduling_blockers) -> -  [Pid :: pid()]; -  (scheduler_bind_type) -> -  spread | processor_spread | thread_spread | -  thread_no_node_processor_spread | -  no_node_processor_spread | -  no_node_thread_spread | no_spread | unbound; -  (scheduler_bindings) -> tuple(); -  (scheduler_id) -> SchedulerId :: pos_integer(); -  (schedulers | schedulers_online) -> -  pos_integer(); -  (smp_support) -> boolean(); -  (threads) -> boolean(); -  (thread_pool_size) -> non_neg_integer(). + • Allocator corresponds to the malloc() implementation + used. If Allocator equals undefined, the malloc() + implementation used cannot be identified. glibc can be + identified. -Since: - OTP 17.0,OTP 19.0 + • Version is a list of integers (but not a string) + representing the version of the malloc() + implementation used. - -spec erlang:system_info(end_time) -> non_neg_integer(); -  (os_monotonic_time_source) -> [{atom(), term()}]; -  (os_system_time_source) -> [{atom(), term()}]; -  (start_time) -> integer(); -  (time_correction) -> true | false; -  (time_offset) -> preliminary | final | volatile; -  (time_warp_mode) -> -  no_time_warp | single_time_warp | -  multi_time_warp; -  (tolerant_timeofday) -> enabled | disabled. + • Features is a list of atoms representing the allocation + features used. -Since: - OTP 17.1,OTP 18.0 + • Settings is a list of subsystems, their configurable + parameters, and used values. Settings can differ between + different combinations of platforms, allocators, and + allocation features. Memory sizes are given in bytes. + + See also "System Flags Effecting erts_alloc" in erts_alloc(3). + + {allocator, Alloc}: + Returns information about the specified allocator. As from + ERTS 5.6.1, the return value is a list of {instance, + InstanceNo, InstanceInfo} tuples, where InstanceInfo + contains information about a specific instance of the + allocator. If Alloc is not a recognized allocator,  + undefined is returned. If Alloc is disabled, false is + returned. + + Notice that the information returned is highly + implementation-dependent and can be changed or removed at any + time without prior notice. It was initially intended as a tool + when developing new allocators, but as it can be of interest + for others it has been briefly documented. - -spec erlang:system_info(version) -> string(). + The recognized allocators are listed in erts_alloc(3). + Information about super carriers can be obtained from ERTS 8.0 + with {allocator, erts_mmap} or from ERTS 5.10.4; the + returned list when calling with {allocator, mseg_alloc} also + includes an {erts_mmap, _} tuple as one element in the list. + + After reading the erts_alloc(3) documentation, the returned + information more or less speaks for itself, but it can be + worth explaining some things. Call counts are presented by two + values, the first value is giga calls, and the second value is + calls. mbcs and sbcs denote multi-block carriers, and + single-block carriers, respectively. Sizes are presented in + bytes. When a size is not presented, it is the amount of + something. Sizes and amounts are often presented by three + values: + + • The first is the current value. + + • The second is the maximum value since the last call to  + erlang:system_info({allocator, Alloc}). + + • The third is the maximum value since the emulator was + started. + + If only one value is present, it is the current value.  + fix_alloc memory block types are presented by two values. The + first value is the memory pool size and the second value is + the used memory size. + + alloc_util_allocators: + Returns a list of the names of all allocators using the ERTS + internal alloc_util framework as atoms. For more + information, see section The alloc_util framework in  + erts_alloc(3). + + {allocator_sizes, Alloc}: + Returns various size information for the specified allocator. + The information returned is a subset of the information + returned by erlang:system_info({allocator, Alloc}). -spec erlang:system_info(cpu_topology) -> CpuTopology  when CpuTopology :: cpu_topology();  ({cpu_topology, defined | detected | used}) ->  CpuTopology  when CpuTopology :: cpu_topology(); -  (logical_processors | -  logical_processors_available | -  logical_processors_online) -> -  unknown | pos_integer(); -  (update_cpu_info) -> changed | unchanged. +  (creation) -> integer(); +  (machine) -> string(); +  (version) -> string(). Since: OTP R14B - -spec erlang:system_info(fullsweep_after) -> -  {fullsweep_after, non_neg_integer()}; -  (garbage_collection) -> [{atom(), integer()}]; + Types: + -type cpu_topology() :: [LevelEntry :: level_entry()] | undefined. + All LevelEntrys of a list must contain the same  + LevelTag, except on the top level where both node and  + processorLevelTags can coexist. + -type info_list() :: []. + The info_list() can be extended in a future release. + -type level_entry() :: + {LevelTag :: level_tag(), SubLevel :: sub_level()} | + {LevelTag :: level_tag(), + InfoList :: info_list(), + SubLevel :: sub_level()}. + {LevelTag, SubLevel} == {LevelTag, [], SubLevel} + -type level_tag() :: core | node | processor | thread. + More LevelTags can be introduced in a future release. + -type sub_level() :: + [LevelEntry :: level_entry()] | + (LogicalCpuId :: {logical, non_neg_integer()}). + + Returns various information about the CPU topology of the current + system (emulator) as specified by Item: + + cpu_topology: + Returns the CpuTopology currently used by the emulator. The + CPU topology is used when binding schedulers to logical + processors. The CPU topology used is the user-defined CPU + topology, if such exists, otherwise the automatically + detected CPU topology, if such exists. If no CPU topology + exists, undefined is returned. + + node refers to Non-Uniform Memory Access (NUMA) nodes.  + thread refers to hardware threads (for example, Intel + hyper-threads). + + A level in term CpuTopology can be omitted if only one entry + exists and InfoList is empty. + + thread can only be a sublevel to core. core can be a + sublevel to processor or node. processor can be on the + top level or a sublevel to node. node can be on the top + level or a sublevel to processor. That is, NUMA nodes can be + processor internal or processor external. A CPU topology can + consist of a mix of processor internal and external NUMA + nodes, as long as each logical CPU belongs to one NUMA node. + Cache hierarchy is not part of the CpuTopology type, but + will be in a future release. Other things can also make it + into the CPU topology in a future release. So, expect the  + CpuTopology type to change. + + {cpu_topology, defined}: + Returns the user-defined CpuTopology. For more information, + see command-line flag +sct in erl(1) and argument  + cpu_topology. + + {cpu_topology, detected}: + Returns the automatically detected CpuTopologyy. The + emulator detects the CPU topology on some newer Linux, + Solaris, FreeBSD, and Windows systems. On Windows system with + more than 32 logical processors, the CPU topology is not + detected. + + For more information, see argument cpu_topology. + + {cpu_topology, used}: + Returns CpuTopology used by the emulator. For more + information, see argument cpu_topology. + + logical_processors: + Returns the detected number of logical processors configured + in the system. The return value is either an integer, or the + atom unknown if the emulator cannot detect the configured + logical processors. + + logical_processors_available: + Returns the detected number of logical processors available to + the Erlang runtime system. The return value is either an + integer, or the atom unknown if the emulator cannot detect + the available logical processors. The number of available + logical processors is less than or equal to the number of + logical processors online. + + logical_processors_online: + Returns the detected number of logical processors online on + the system. The return value is either an integer, or the atom  + unknown if the emulator cannot detect logical processors + online. The number of logical processors online is less than + or equal to the number of logical processors configured. + + cpu_quota: + Returns the detected CPU quota the emulator is limited by. The + return value is an integer saying how many processors' worth + of runtime we get (between 1 and the number of logical + processors), or the atom unknown if the emulator cannot + detect a quota. + + update_cpu_info: + The runtime system rereads the CPU information available and + updates its internally stored information about the detected + CPU topology and the number of logical processors configured, + online, available, and cpu quota. + + If the CPU information has changed since the last time it was + read, the atom changed is returned, otherwise the atom  + unchanged. If the CPU information has changed, you probably + want to adjust the number of schedulers online. You + typically want to have as many schedulers online as logical + processors available. + + -spec erlang:system_info(garbage_collection) -> [{atom(), integer()}];  (heap_sizes) -> [non_neg_integer()];  (heap_type) -> private; -  (max_heap_size) -> -  {max_heap_size, -  MaxHeapSize :: max_heap_size()}; +  (info) -> binary();  (message_queue_data) -> message_queue_data();  (min_heap_size) ->  {min_heap_size, @@ -143,7 +298,12 @@  (min_bin_vheap_size) ->  {min_bin_vheap_size,  MinBinVHeapSize :: pos_integer()}; -  (procs) -> binary(). +  (modified_timing_level) -> integer() | undefined; +  (scheduler_bind_type) -> +  spread | processor_spread | thread_spread | +  thread_no_node_processor_spread | +  no_node_processor_spread | +  no_node_thread_spread | no_spread | unbound. Since: OTP 19.0,OTP R13B04 @@ -154,7 +314,8 @@ non_neg_integer() | #{size => non_neg_integer(), kill => boolean(), - error_logger => boolean()}. + error_logger => boolean(), + include_shared_binaries => boolean()}. -type message_queue_data() :: off_heap | on_heap. Returns information about the default process heap settings: @@ -191,10 +352,11 @@ Returns {max_heap_size, MaxHeapSize}, where MaxHeapSize is the current system-wide maximum heap size settings for spawned processes. This setting can be set using the command-line - flags +hmax, +hmaxk and +hmaxel in erl(1). It can also - be changed at runtime using erlang:system_flag(max_heap_size, - MaxHeapSize). For more details about the max_heap_size - process flag, see process_flag(max_heap_size, MaxHeapSize). + flags +hmax, +hmaxk, +hmaxel and +hmaxibl in erl(1). + It can also be changed at runtime using  + erlang:system_flag(max_heap_size, MaxHeapSize). For more + details about the max_heap_size process flag, see  + process_flag(max_heap_size, MaxHeapSize). message_queue_data: Returns the default value of the message_queue_data process @@ -218,3 +380,674 @@ information formatted as in Erlang crash dumps. For more information, see section How to interpret the Erlang crash dumps in the User's Guide. + + -spec erlang:system_info(atom_count) -> pos_integer(); +  (atom_limit) -> pos_integer(); +  (ets_limit) -> pos_integer(); +  (fullsweep_after) -> +  {fullsweep_after, non_neg_integer()}; +  (port_count) -> non_neg_integer(); +  (port_limit) -> pos_integer(); +  (process_count) -> pos_integer(); +  (process_limit) -> pos_integer(). + +Since: + OTP 20.0,OTP 21.1,OTP R16B,OTP R16B03 + + Returns information about the current system (emulator) limits as + specified by Item: + + atom_count: + Returns the number of atoms currently existing at the local + node. The value is given as an integer. + + atom_limit: + Returns the maximum number of atoms allowed. This limit can be + increased at startup by passing command-line flag +t to  + erl(1). + + ets_count: + Returns the number of ETS tables currently existing at the + local node. + + ets_limit: + Returns the limit for number of ETS tables. This limit is + partially obsolete and number of tables are only limited by + available memory. + + port_count: + Returns the number of ports currently existing at the local + node. The value is given as an integer. This is the same value + as returned by length(erlang:ports()), but more efficient. + + port_limit: + Returns the maximum number of simultaneously existing ports at + the local node as an integer. This limit can be configured at + startup by using command-line flag +Q in erl(1). + + process_count: + Returns the number of processes currently existing at the + local node. The value is given as an integer. This is the same + value as returned by length(processes()), but more + efficient. + + process_limit: + Returns the maximum number of simultaneously existing + processes at the local node. The value is given as an integer. + This limit can be configured at startup by using command-line + flag +P in erl(1). + + -spec erlang:system_info(ets_count) -> pos_integer(); +  (os_system_time_source) -> [{atom(), term()}]; +  (outstanding_system_requests_limit) -> +  1..134217727; +  (system_architecture) -> string(); +  (time_offset) -> preliminary | final | volatile; +  (time_warp_mode) -> +  no_time_warp | single_time_warp | +  multi_time_warp; +  (tolerant_timeofday) -> enabled | disabled; +  (trace_control_word) -> non_neg_integer(). + +Since: + OTP 17.1,OTP 18.0 + + Returns information about the current system (emulator) time as + specified by Item: + + end_time: + The last Erlang monotonic time in native time unit that + can be represented internally in the current Erlang runtime + system instance. The time between the start time and the end + time is at least a quarter of a millennium. + + os_monotonic_time_source: + Returns a list containing information about the source of OS + monotonic time that is used by the runtime system. + + If [] is returned, no OS monotonic time is available. The + list contains two-tuples with Keys as first element, and  + Values as second element. The order of these tuples is + undefined. The following tuples can be part of the list, but + more tuples can be introduced in the future: + + {function, Function}: + Function is the name of the function used. This tuple + always exists if OS monotonic time is available to the + runtime system. + + {clock_id, ClockId}: + This tuple only exists if Function can be used with + different clocks. ClockId corresponds to the clock + identifier used when calling Function. + + {resolution, OsMonotonicTimeResolution}: + Highest possible resolution of current OS monotonic time + source as parts per second. If no resolution information + can be retrieved from the OS, OsMonotonicTimeResolution + is set to the resolution of the time unit of Functions + return value. That is, the actual resolution can be lower + than OsMonotonicTimeResolution. Notice that the + resolution does not say anything about the accuracy or + whether the precision aligns with the resolution. You + do, however, know that the precision is not better than  + OsMonotonicTimeResolution. + + {extended, Extended}: + Extended equals yes if the range of time values has + been extended; otherwise Extended equals no. The range + must be extended if Function returns values that wrap + fast. This typically is the case when the return value is + a 32-bit value. + + {parallel, Parallel}: + Parallel equals yes if Function is called in parallel + from multiple threads. If it is not called in parallel, + because calls must be serialized, Parallel equals no. + + {time, OsMonotonicTime}: + OsMonotonicTime equals current OS monotonic time in  + native time unit. + + os_system_time_source: + Returns a list containing information about the source of OS + system time that is used by the runtime system. + + The list contains two-tuples with Keys as first element, and  + Values as second element. The order of these tuples is + undefined. The following tuples can be part of the list, but + more tuples can be introduced in the future: + + {function, Function}: + Function is the name of the function used. + + {clock_id, ClockId}: + Exists only if Function can be used with different + clocks. ClockId corresponds to the clock identifier used + when calling Function. + + {resolution, OsSystemTimeResolution}: + Highest possible resolution of current OS system time + source as parts per second. If no resolution information + can be retrieved from the OS, OsSystemTimeResolution is + set to the resolution of the time unit of Functions + return value. That is, the actual resolution can be lower + than OsSystemTimeResolution. Notice that the resolution + does not say anything about the accuracy or whether the + precision do align with the resolution. You do, however, + know that the precision is not better than  + OsSystemTimeResolution. + + {parallel, Parallel}: + Parallel equals yes if Function is called in parallel + from multiple threads. If it is not called in parallel, + because calls needs to be serialized, Parallel equals  + no. + + {time, OsSystemTime}: + OsSystemTime equals current OS system time in native + time unit. + + start_time: + The Erlang monotonic time in native time unit at the + time when current Erlang runtime system instance started. + + See also erlang:system_info(end_time). + + time_correction: + Returns a boolean value indicating whether time correction + is enabled or not. + + time_offset: + Returns the state of the time offset: + + preliminary: + The time offset is preliminary, and will be changed and + finalized later. The preliminary time offset is used + during the preliminary phase of the single time warp mode. + + final: + The time offset is final. This either because no time + warp mode is used, or because the time offset have been + finalized when single time warp mode is used. + + volatile: + The time offset is volatile. That is, it can change at any + time. This is because multi-time warp mode is used. + + time_warp_mode: + Returns a value identifying the time warp mode that is used: + + no_time_warp: + The no time warp mode is used. + + single_time_warp: + The single time warp mode is used. + + multi_time_warp: + The multi-time warp mode is used. + + tolerant_timeofday: + Returns whether a pre ERTS 7.0 backwards compatible + compensation for sudden changes of system time is enabled or  + disabled. Such compensation is enabled when the time + offset is final, and time correction is enabled. + + -spec erlang:system_info(dirty_cpu_schedulers_online) -> +  non_neg_integer(); +  (dirty_io_schedulers) -> non_neg_integer(); +  (dist) -> binary(); +  (multi_scheduling_blockers) -> [Pid :: pid()]; +  (nif_version) -> string(); +  (otp_release) -> string(); +  (scheduler_bindings) -> tuple(); +  (scheduler_id) -> SchedulerId :: pos_integer(); +  (schedulers | schedulers_online) -> +  pos_integer(); +  (smp_support) -> boolean(); +  (start_time) -> integer(); +  (thread_pool_size) -> non_neg_integer(); +  (time_correction) -> true | false. + +Since: + OTP 17.0,OTP 19.0 + + Returns information about schedulers, scheduling and threads in + the current system as specified by Item: + + dirty_cpu_schedulers: + Returns the number of dirty CPU scheduler threads used by the + emulator. Dirty CPU schedulers execute CPU-bound native + functions, such as NIFs, linked-in driver code, and BIFs that + cannot be managed cleanly by the normal emulator schedulers. + + The number of dirty CPU scheduler threads is determined at + emulator boot time and cannot be changed after that. However, + the number of dirty CPU scheduler threads online can be + changed at any time. The number of dirty CPU schedulers can be + set at startup by passing command-line flag +SDcpu or  + +SDPcpu in erl(1). + + See also erlang:system_flag(dirty_cpu_schedulers_online, + DirtyCPUSchedulersOnline),  + erlang:system_info(dirty_cpu_schedulers_online),  + erlang:system_info(dirty_io_schedulers),  + erlang:system_info(schedulers),  + erlang:system_info(schedulers_online), and  + erlang:system_flag(schedulers_online, SchedulersOnline). + + dirty_cpu_schedulers_online: + Returns the number of dirty CPU schedulers online. The return + value satisfies 1 <= DirtyCPUSchedulersOnline <= N, where N + is the smallest of the return values of  + erlang:system_info(dirty_cpu_schedulers) and  + erlang:system_info(schedulers_online). + + The number of dirty CPU schedulers online can be set at + startup by passing command-line flag +SDcpu in erl(1). + + For more information, see  + erlang:system_info(dirty_cpu_schedulers),  + erlang:system_info(dirty_io_schedulers),  + erlang:system_info(schedulers_online), and  + erlang:system_flag(dirty_cpu_schedulers_online, + DirtyCPUSchedulersOnline). + + dirty_io_schedulers: + Returns the number of dirty I/O schedulers as an integer. + Dirty I/O schedulers execute I/O-bound native functions, such + as NIFs and linked-in driver code, which cannot be managed + cleanly by the normal emulator schedulers. + + This value can be set at startup by passing command-line + argument +SDio in erl(1). + + For more information, see  + erlang:system_info(dirty_cpu_schedulers),  + erlang:system_info(dirty_cpu_schedulers_online), and  + erlang:system_flag(dirty_cpu_schedulers_online, + DirtyCPUSchedulersOnline). + + multi_scheduling: + Returns one of the following: + + disabled: + The emulator has been started with only one scheduler + thread. + + blocked: + The emulator has more than one scheduler thread, but all + scheduler threads except one are blocked. That is, only + one scheduler thread schedules Erlang processes and + executes Erlang code. + + blocked_normal: + The emulator has more than one scheduler thread, but all + normal scheduler threads except one are blocked. Notice + that dirty schedulers are not blocked, and can schedule + Erlang processes and execute native code. + + enabled: + The emulator has more than one scheduler thread, and no + scheduler threads are blocked. That is, all available + scheduler threads schedule Erlang processes and execute + Erlang code. + + See also erlang:system_flag(multi_scheduling, BlockState),  + erlang:system_info(multi_scheduling_blockers),  + erlang:system_info(normal_multi_scheduling_blockers), and  + erlang:system_info(schedulers). + + multi_scheduling_blockers: + Returns a list of Pids when multi-scheduling is blocked, + otherwise the empty list is returned. The Pids in the list + represent all the processes currently blocking + multi-scheduling. A Pid occurs only once in the list, even + if the corresponding process has blocked multiple times. + + See also erlang:system_flag(multi_scheduling, BlockState),  + erlang:system_info(multi_scheduling),  + erlang:system_info(normal_multi_scheduling_blockers), and  + erlang:system_info(schedulers). + + normal_multi_scheduling_blockers: + Returns a list of Pids when normal multi-scheduling is + blocked (that is, all normal schedulers but one is blocked), + otherwise the empty list is returned. The Pids in the list + represent all the processes currently blocking normal + multi-scheduling. A Pid occurs only once in the list, even + if the corresponding process has blocked multiple times. + + See also erlang:system_flag(multi_scheduling, BlockState),  + erlang:system_info(multi_scheduling),  + erlang:system_info(multi_scheduling_blockers), and  + erlang:system_info(schedulers). + + scheduler_bind_type: + Returns information about how the user has requested + schedulers to be bound or not bound. + + Notice that although a user has requested schedulers to be + bound, they can silently have failed to bind. To inspect the + scheduler bindings, call  + erlang:system_info(scheduler_bindings). + + For more information, see command-line argument +sbt in  + erl(1) and erlang:system_info(scheduler_bindings). + + scheduler_bindings: + Returns information about the currently used scheduler + bindings. + + A tuple of a size equal to erlang:system_info(schedulers) is + returned. The tuple elements are integers or the atom unbound. + Logical processor identifiers are represented as integers. The  + Nth element of the tuple equals the current binding for the + scheduler with the scheduler identifier equal to N. For + example, if the schedulers are bound,  + element(erlang:system_info(scheduler_id), + erlang:system_info(scheduler_bindings)) returns the + identifier of the logical processor that the calling process + is executing on. + + Notice that only schedulers online can be bound to logical + processors. + + For more information, see command-line argument +sbt in  + erl(1) and erlang:system_info(schedulers_online). + + scheduler_id: + Returns the scheduler ID (SchedulerId) of the scheduler + thread that the calling process is executing on. SchedulerId + is a positive integer, where 1 <= SchedulerId <= + erlang:system_info(schedulers). + + See also erlang:system_info(schedulers). + + schedulers: + Returns the number of scheduler threads used by the emulator. + Scheduler threads online schedules Erlang processes and Erlang + ports, and execute Erlang code and Erlang linked-in driver + code. + + The number of scheduler threads is determined at emulator boot + time and cannot be changed later. However, the number of + schedulers online can be changed at any time. + + See also erlang:system_flag(schedulers_online, + SchedulersOnline), erlang:system_info(schedulers_online),  + erlang:system_info(scheduler_id),  + erlang:system_flag(multi_scheduling, BlockState),  + erlang:system_info(multi_scheduling),  + erlang:system_info(normal_multi_scheduling_blockers) and  + erlang:system_info(multi_scheduling_blockers). + + schedulers_online: + Returns the number of schedulers online. The scheduler + identifiers of schedulers online satisfy the relationship 1 + <= SchedulerId <= erlang:system_info(schedulers_online). + + For more information, see erlang:system_info(schedulers) and  + erlang:system_flag(schedulers_online, SchedulersOnline). + + smp_support: + Returns true. + + threads: + Returns true. + + thread_pool_size: + Returns the number of async threads in the async thread pool + used for asynchronous driver calls (  + erl_driver:driver_async()). The value is given as an integer. + + -spec erlang:system_info(debug_compiled) -> boolean(); +  (dirty_cpu_schedulers) -> non_neg_integer(); +  (dist_buf_busy_limit) -> non_neg_integer(); +  (dist_ctrl) -> +  [{Node :: node(), +  ControllingEntity :: port() | pid()}]; +  (driver_version) -> string(); +  (overview) -> boolean(). + +Since: + OTP 18.0,OTP 25.3,OTP R14B01 + + Returns information about Erlang Distribution in the current + system as specified by Item: + + async_dist: + Since: OTP 25.3 + + Returns the value of the command line argument +pad + which the runtime system use. This value determines the + default async_dist value for newly spawned processes. + + creation: + Returns the "creation" value of the local node as an integer. + The creation is changed when a node is restarted. The creation + of a node is stored in process identifiers, port identifiers, + and references. This makes it possible to distinguish between + identifiers from different incarnations of a node. Creation + values are currently 32-bit positive integers, but this may + change in future releases. If the node is not alive, 0 is + returned. + + delayed_node_table_gc: + Returns the amount of time in seconds garbage collection of an + entry in a node table is delayed. This limit can be set on + startup by passing command-line flag +zdntgc to erl(1). + For more information, see the documentation of the + command-line flag. + + dist: + Returns a binary containing a string of distribution + information formatted as in Erlang crash dumps. For more + information, see section How to interpret the Erlang crash + dumps in the User's Guide. + + dist_buf_busy_limit: + Returns the value of the distribution buffer busy limit in + bytes. This limit can be set at startup by passing + command-line flag +zdbbl to erl(1). + + dist_ctrl: + Returns a list of tuples {Node, ControllingEntity}, one + entry for each connected remote node. Node is the node name + and ControllingEntity is the port or process identifier + responsible for the communication to that node. More + specifically, ControllingEntity for nodes connected through + TCP/IP (the normal case) is the socket used in communication + with the specific node. + + -spec erlang:system_info(c_compiler_used) -> {atom(), term()}; +  (check_io) -> [_]; +  (compat_rel) -> integer(); +  (delayed_node_table_gc) -> +  infinity | non_neg_integer(); +  (dynamic_trace) -> none | dtrace | systemtap; +  (dynamic_trace_probes) -> boolean(); +  (eager_check_io) -> boolean(); +  (emu_type) -> +  opt | debug | gcov | valgrind | gprof | +  lcnt | frmptr; +  (end_time) -> non_neg_integer(); +  (kernel_poll) -> boolean(); +  (loaded) -> binary(); +  (logical_processors | +  logical_processors_available | +  logical_processors_online) -> +  unknown | pos_integer(); +  (max_heap_size) -> +  {max_heap_size, +  MaxHeapSize :: max_heap_size()}; +  (multi_scheduling) -> +  disabled | blocked | blocked_normal | +  enabled; +  (normal_multi_scheduling_blockers) -> +  [Pid :: pid()]; +  (os_monotonic_time_source) -> [{atom(), term()}]; +  (port_parallelism) -> boolean(); +  (port_count) -> non_neg_integer(); +  (system_logger) -> logger | undefined | pid(); +  (system_version) -> string(); +  (threads) -> boolean(); +  (update_cpu_info) -> changed | unchanged; +  (wordsize | +  {wordsize, internal} | +  {wordsize, external}) -> +  4 | 8; +  (async_dist) -> boolean(). + +Since: + OTP 17.4,OTP 21.3,OTP 24.0,OTP 24.2,OTP R15B01,OTP R16B + + Returns various information about the current system (emulator) as + specified by Item: + + build_type: + Deprecated, use emu_type instead + + c_compiler_used: + Returns a two-tuple describing the C compiler used when + compiling the runtime system. The first element is an atom + describing the name of the compiler, or undefined if + unknown. The second element is a term describing the version + of the compiler, or undefined if unknown. + + check_io: + Returns a list containing miscellaneous information about the + emulators internal I/O checking. Notice that the content of + the returned list can vary between platforms and over time. It + is only guaranteed that a list is returned. + + compat_rel: + Returns the compatibility mode of the local node as an + integer. The integer returned represents the Erlang/OTP + release that the current emulator has been set to be backward + compatible with. The compatibility mode can be configured at + startup by using command-line flag +R in erl(1). + + debug_compiled: + Returns true if the emulator has been debug-compiled, + otherwise false. + + driver_version: + Returns a string containing the Erlang driver version used by + the runtime system. It has the form ".". + + dynamic_trace: + Returns an atom describing the dynamic trace framework + compiled into the virtual machine. It can be dtrace,  + systemtap, or none. For a commercial or standard build, it + is always none. The other return values indicate a custom + configuration (for example, ./configure + --with-dynamic-trace=dtrace). For more information about + dynamic tracing, see dyntrace(3) manual page and the  + README.dtrace/README.systemtap files in the Erlang source + code top directory. + + dynamic_trace_probes: + Returns a boolean() indicating if dynamic trace probes ( + dtrace or systemtap) are built into the emulator. This can + only be true if the virtual machine was built for dynamic + tracing (that is, system_info(dynamic_trace) returns dtrace + or systemtap). + + emu_flavor: + Returns an atom describing the flavor of the runtime system. + This will be either emu or jit. Possible return values can + be added or removed at any time without prior notice. + + emu_type: + Returns an atom describing the build type of the runtime + system. This is normally the atom opt for optimized. Other + possible return values are debug, gcov, valgrind, gprof, + and lcnt. Possible return values can be added or removed at + any time without prior notice. + + info: + Returns a binary containing a string of miscellaneous system + information formatted as in Erlang crash dumps. For more + information, see section How to interpret the Erlang crash + dumps in the User's Guide. + + kernel_poll: + Returns true if the emulator uses some kind of kernel-poll + implementation, otherwise false. + + loaded: + Returns a binary containing a string of loaded module + information formatted as in Erlang crash dumps. For more + information, see section How to interpret the Erlang crash + dumps in the User's Guide. + + machine: + Returns a string containing the Erlang machine name. + + modified_timing_level: + Returns the modified timing-level (an integer) if modified + timing is enabled, otherwise undefined. For more information + about modified timing, see command-line flag +T in erl(1) + + nif_version: + Returns a string containing the version of the Erlang NIF + interface used by the runtime system. It is on the form + ".". + + otp_release: + Returns a string containing the OTP release number of the OTP + release that the currently executing ERTS application is part + of. + + As from Erlang/OTP 17, the OTP release number corresponds to + the major OTP version number. No erlang:system_info() + argument gives the exact OTP version. This is because the + exact OTP version in the general case is difficult to + determine. For more information, see the description of + versions in System principles in System Documentation. + + outstanding_system_requests_limit: + Returns the limit on the amount of outstanding requests made + by a system process orchestrating system wide changes. See  + erlang:system_flag(outstanding_system_requests_limit, Limit) + for more information. + + port_parallelism: + Returns the default port parallelism scheduling hint used. For + more information, see command-line argument +spp in erl(1). + + system_architecture: + Returns a string containing the processor and OS architecture + the emulator is built for. + + system_logger: + Returns the current system_logger as set by  + erlang:system_flag(system_logger, _). + + system_version: + Returns a string containing version number and some important + properties, such as the number of schedulers. + + trace_control_word: + Returns the value of the node trace control word. For more + information, see function get_tcw in section Match + Specifications in Erlang in the User's Guide. + + version: + Returns a string containing the version number of the + emulator. + + wordsize: + Same as {wordsize, internal}. + + {wordsize, internal}: + Returns the size of Erlang term words in bytes as an integer, + that is, 4 is returned on a 32-bit architecture, and 8 is + returned on a 64-bit architecture. + + {wordsize, external}: + Returns the true word size of the emulator, that is, the size + of a pointer. The value is given in bytes as an integer. On a + pure 32-bit architecture, 4 is returned. On a 64-bit + architecture, 8 is returned. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_binary_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_binary_2_func.txt index f72b5be32c06..4730f4ebe24c 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_binary_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_binary_2_func.txt @@ -6,70 +6,145 @@  [compressed |  {compressed, Level :: 0..9} |  deterministic | -  {minor_version, Version :: 0..2}]. +  {minor_version, Version :: 0..2} | +  local]. Returns a binary data object that is the result of encoding Term according to the Erlang external term format. - If option compressed is provided, the external term format is - compressed. The compressed format is automatically recognized by  - binary_to_term/1 as from Erlang/OTP R7B. - - A compression level can be specified by giving option  - {compressed, Level}. Level is an integer with range 0..9, - where: - - • 0 - No compression is done (it is the same as giving no  - compressed option). - - • 1 - Takes least time but may not compress as well as the - higher levels. - - • 6 - Default level when option compressed is provided. - - • 9 - Takes most time and tries to produce a smaller result. - Notice "tries" in the preceding sentence; depending on the - input term, level 9 compression either does or does not - produce a smaller result than level 1 compression. - - Option {minor_version, Version} can be used to control some - encoding details. This option was introduced in Erlang/OTP R11B-4. - The valid values for Version are: - - 0: - Floats are encoded using a textual representation. This option - is useful to ensure that releases before Erlang/OTP R11B-4 can - decode resulting binary. - - This version encode atoms that can be represented by a latin1 - string using latin1 encoding while only atoms that cannot be - represented by latin1 are encoded using utf8. - - 1: - This is as of Erlang/OTP 17.0 the default. It forces any - floats in the term to be encoded in a more space-efficient and - exact way (namely in the 64-bit IEEE format, rather than - converted to a textual representation). As from Erlang/OTP - R11B-4, binary_to_term/1 can decode this representation. - - This version encode atoms that can be represented by a latin1 - string using latin1 encoding while only atoms that cannot be - represented by latin1 are encoded using utf8. - - 2: - Drops usage of the latin1 atom encoding and unconditionally - use utf8 encoding for all atoms. Erlang/OTP systems as of R16B - can decode this representation. - - Note: - In Erlang/OTP 26, the default minor_version is planned - to change from 1 to 2. See Upcoming Potential - Incompatibilities . - - Option deterministic (introduced in OTP 24.1) can be used to - ensure that within the same major release of Erlang/OTP, the same - encoded representation is returned for the same term. There is - still no guarantee that the encoded representation remains the - same between major releases of Erlang/OTP. + Currently supported options: + + compressed: + Compress the external term format. The compressed format is + automatically recognized by binary_to_term/1 as from + Erlang/OTP R7B. + + {compressed, Level}: + Compress the external term format to a given level. The + compression level is specified by Level which is an integer + in the range 0..9, where: + + 0: + No compression is done (it is the same as giving no  + compressed option). + + 1: + Takes least time but may not compress as well as the + higher levels. + + 6: + Default level when option compressed is provided. + + 9: + Takes most time and tries to produce a smaller result. + Notice "tries" in the preceding sentence; depending on the + input term, level 9 compression either does or does not + produce a smaller result than level 1 compression. + + {minor_version, Version}: (since R11B-4) + The option can be used to control some encoding details. Valid + values for Version are: + + 0: + Floats are encoded using a textual representation. + + Atoms that can be represented by a latin1 string are + encoded using latin1 while only atoms that cannot be + represented by latin1 are encoded using utf8. + + 1: + Floats are encoded in a more space-efficient and exact way + (namely in the 64-bit IEEE format, rather than converted + to a textual representation). As from Erlang/OTP R11B-4,  + binary_to_term/1 can decode this representation. + + Atoms that can be represented by a latin1 string are + encoded using latin1 while only atoms that cannot be + represented by latin1 are encoded using utf8. + + 2: + This is as of Erlang/OTP 26.0 the default. Atoms are + unconditionally encoded using utf8. Erlang/OTP systems as + of R16B can decode this representation. + + deterministic: (since OTP 24.1) + This option can be used to ensure that, within the same major + release of Erlang/OTP, the same encoded representation is + returned for the same term. There is still no guarantee that + the encoded representation remains the same between major + releases of Erlang/OTP. + + This option cannot be combined with the local option. + + local: (since OTP 26.0) + This option will cause encoding of Term to an alternative + local version of the external term format which when decoded + by the same runtime system instance will produce a term + identical to the encoded term even when the node name and/or + creation of the current runtime system instance have changed + between encoding and decoding. When encoding without the  + local option, local identifiers such as pids, ports and + references will not be the same if node name and/or creation + of the current runtime system instance changed between + encoding and decoding. This since such identifiers refer to a + specific node by node name and creation. + + Node name and creation of a runtime system instance change + when the distribution is started or stopped. The distribution + is started when the runtime system is started using the -name + or -sname command line arguments. Note that the actual start + of the distribution happens after other code in the startup + phase has begun executing. The distribution can also be + started by calling net_kernel:start/2 and stopped by calling  + net_kernel:stop/1 if it has not been started via the command + line. + + The decoding of a term encoded with the local option, using + for example binary_to_term(), will try to verify that the + term actually was encoded by the same runtime system instance, + and will in the vast majority of cases fail if the encoding + was performed by another runtime system instance. You should + however not trust that this verification will work in all + cases. You should make sure to only decode terms encoded + with the local option on the same Erlang runtime system + instance as the one that encoded the terms. + + Since it is only the runtime system that encoded a term using + the local option that can decode it, the local encoding is + typically pieced together with something else to produce a + reply to where the local encoding originates from. If a term + encoded using the local option is stripped of its leading + version number, it can be added as part of a larger term (for + example as an element in a tuple) when encoding on the + external term format using, for example, ei. In the ei + case, you would strip it of the version number using  + ei_decode_version() and then add the remaining local encoding + to what you are encoding using for example ei_x_append_buf(). + + A good example of when you want to use the local option, is + when you want to make a request from a process to a port + driver and utilize the selective receive optimization when + receiving the reply. In this scenario you want to create a + reference, serialize the reference on the external term format + using the local option, pass this to the driver in the + request, and then wait for the reply message in a selective + receive matching on the reference. The driver should send the + reply using either erl_drv_output_term() or  + erl_drv_send_term() using the term type ERL_DRV_EXT2TERM + for the, in the request, previously received reference on the + external term format. Note that you should not strip the + leading version number from the local encoding when using the + term type ERL_DRV_EXT2TERM of this functionality. If you in + this example do not encode the reference using the local + option, and the distribution is started or stopped while the + request is ongoing, the process that made the request will + hang indefinitely since the reference in the reply message + will never match. + + This option cannot be combined with the deterministic + option. + + For more information see the LOCAL_EXT tag in the + documentation of the external term format. See also binary_to_term/1. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_iovec_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_iovec_2_func.txt index 1379c95c362e..f10eda5c1e7d 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_iovec_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_term_to_iovec_2_func.txt @@ -6,7 +6,8 @@  [compressed |  {compressed, Level :: 0..9} |  deterministic | -  {minor_version, Version :: 0..2}]. +  {minor_version, Version :: 0..2} | +  local]. Since: OTP 23.0 diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_tl_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_tl_1_func.txt index 703e6e9578f6..f18c28c9c8e5 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_tl_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_tl_1_func.txt @@ -1,8 +1,13 @@ - -spec tl(List) -> term() when List :: nonempty_maybe_improper_list(). + -spec tl(List) -> Tail +  when List :: nonempty_maybe_improper_list(), Tail :: term(). Returns the tail of List, that is, the list minus the first - element, for example: + element + + It works with improper lists. + + Examples: > tl([geesties, guilies, beasties]). [guilies, beasties] @@ -18,4 +23,4 @@ Allowed in guard tests. - Failure: badarg if List is the empty list []. + Failure: badarg if List is an empty list []. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_info_2_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_info_2_func.txt index 978e3bb1c7cd..0cc4bcadf483 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_info_2_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_info_2_func.txt @@ -13,7 +13,8 @@  Item ::  flags | tracer | traced |  match_spec | meta | meta_match_spec | -  call_count | call_time | all, +  call_count | call_time | +  call_memory | all,  Res :: trace_info_return(). Types: @@ -31,7 +32,7 @@ {meta, module(), term()} | {meta_match_spec, trace_match_spec() | false | undefined} | {call_count, non_neg_integer() | boolean() | undefined} | - {call_time, + {call_time | call_memory, [{pid(), non_neg_integer(), non_neg_integer(), @@ -125,6 +126,19 @@ See also erlang:trace_pattern/3. + call_memory: + Returns the accumulated number of words allocated by this + function. Accumulation stops at the next memory traced + function: if there are outer, middle and inner functions + each allocating 3 words, but only outer is traced, it will + report 9 allocated words. If outer and inner are traced, 6 + words are reported for outer and 3 for inner. When + function is not traced, false is returned. Returned tuple is  + [{Pid, Count, Words}], for each process that executed the + function. + + See also erlang:trace_pattern/3. + all: Returns a list containing the {Item, Value} tuples for all other items, or returns false if no tracing is active for diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_pattern_3_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_pattern_3_func.txt index 058a61129d90..ad3ce0273d47 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_pattern_3_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_trace_pattern_3_func.txt @@ -1,6 +1,5 @@ - -spec erlang:trace_pattern('receive', MatchSpec, []) -> -  non_neg_integer() + -spec erlang:trace_pattern(send, MatchSpec, []) -> non_neg_integer()  when  MatchSpec ::  (MatchSpecList :: @@ -10,7 +9,83 @@ Since: OTP 19.0 - -spec erlang:trace_pattern(send, MatchSpec, []) -> non_neg_integer() + Types: + -type match_variable() :: atom(). + Approximation of '$1' | '$2' | '$3' | ... + -type trace_match_spec() :: + [{[term()] | '_' | match_variable(), [term()], [term()]}]. + + Sets trace pattern for message sending. Must be combined with  + erlang:trace/3 to set the send trace flag for one or more + processes. By default all messages sent from send traced + processes are traced. To limit traced send events based on the + message content, the sender and/or the receiver, use  + erlang:trace_pattern/3. + + Argument MatchSpec can take the following forms: + + MatchSpecList: + A list of match specifications. The matching is done on the + list [Receiver, Msg]. Receiver is the process or port + identity of the receiver and Msg is the message term. The + pid of the sending process can be accessed with the guard + function self/0. An empty list is the same as true. For + more information, see section Match Specifications in Erlang + in the User's Guide. + + true: + Enables tracing for all sent messages (from send traced + processes). Any match specification is removed. This is the + default. + + false: + Disables tracing for all sent messages. Any match + specification is removed. + + Argument FlagList must be [] for send tracing. + + The return value is always 1. + + Examples: + + Only trace messages to a specific process Pid: + + > erlang:trace_pattern(send, [{[Pid, '_'],[],[]}], []). + 1 + + Only trace messages matching {reply, _}: + + > erlang:trace_pattern(send, [{['_', {reply,'_'}],[],[]}], []). + 1 + + Only trace messages sent to the sender itself: + + > erlang:trace_pattern(send, [{['$1', '_'],[{'=:=','$1',{self}}],[]}], []). + 1 + + Only trace messages sent to other nodes: + + > erlang:trace_pattern(send, [{['$1', '_'],[{'=/=',{node,'$1'},{node}}],[]}], []). + 1 + + Note: + A match specification for send trace can use all guard and + body functions except caller. + + Fails by raising an error exception with an error reason of: + + badarg: + If an argument is invalid. + + system_limit: + If a match specification passed as argument has excessive + nesting which causes scheduler stack exhaustion for the + scheduler that the calling process is executing on. Scheduler + stack size can be configured when starting the runtime + system. + + -spec erlang:trace_pattern('receive', MatchSpec, []) -> +  non_neg_integer()  when  MatchSpec ::  (MatchSpecList :: @@ -20,6 +95,80 @@ Since: OTP 19.0 + Types: + -type match_variable() :: atom(). + Approximation of '$1' | '$2' | '$3' | ... + -type trace_match_spec() :: + [{[term()] | '_' | match_variable(), [term()], [term()]}]. + + Sets trace pattern for message receiving. Must be combined with  + erlang:trace/3 to set the 'receive' trace flag for one or more + processes. By default all messages received by 'receive' traced + processes are traced. To limit traced receive events based on the + message content, the sender and/or the receiver, use  + erlang:trace_pattern/3. + + Argument MatchSpec can take the following forms: + + MatchSpecList: + A list of match specifications. The matching is done on the + list [Node, Sender, Msg]. Node is the node name of the + sender. Sender is the process or port identity of the + sender, or the atom undefined if the sender is not known + (which can be the case for remote senders). Msg is the + message term. The pid of the receiving process can be accessed + with the guard function self/0. An empty list is the same as  + true. For more information, see section Match Specifications + in Erlang in the User's Guide. + + true: + Enables tracing for all received messages (to 'receive' + traced processes). Any match specification is removed. This + is the default. + + false: + Disables tracing for all received messages. Any match + specification is removed. + + Argument FlagList must be [] for receive tracing. + + The return value is always 1. + + Examples: + + Only trace messages from a specific process Pid: + + > erlang:trace_pattern('receive', [{['_',Pid, '_'],[],[]}], []). + 1 + + Only trace messages matching {reply, _}: + + > erlang:trace_pattern('receive', [{['_','_', {reply,'_'}],[],[]}], []). + 1 + + Only trace messages from other nodes: + + > erlang:trace_pattern('receive', [{['$1', '_', '_'],[{'=/=','$1',{node}}],[]}], []). + 1 + + Note: + A match specification for 'receive' trace can use all guard + and body functions except caller, is_seq_trace,  + get_seq_token, set_seq_token, enable_trace,  + disable_trace, trace, silent, and process_dump. + + Fails by raising an error exception with an error reason of: + + badarg: + If an argument is invalid. + + system_limit: + If a match specification passed as argument has excessive + nesting which causes scheduler stack exhaustion for the + scheduler that the calling process is executing on. Scheduler + stack size can be configured when starting the runtime + system. + -spec erlang:trace_pattern(MFA, MatchSpec, FlagList) ->  non_neg_integer()  when @@ -40,7 +189,7 @@ global | local | meta | {meta, Pid :: pid()} | {meta, TracerModule :: module(), TracerState :: term()} | - call_count | call_time. + call_count | call_time | call_memory. -type trace_pattern_mfa() :: {atom(), atom(), arity() | '_'} | on_load. Enables or disables call tracing for one or more functions. Must @@ -103,14 +252,14 @@ Match Specifications in Erlang in the User's Guide. restart: - For the FlagList options call_count and call_time: - restarts the existing counters. The behavior is undefined for - other FlagList options. + For the FlagList options call_count, call_time and  + call_memory: restarts the existing counters. The behavior is + undefined for other FlagList options. pause: - For the FlagList options call_count and call_time: - pauses the existing counters. The behavior is undefined for - other FlagList options. + For the FlagList options call_count, call_time and  + call_memory: pauses the existing counters. The behavior is + undefined for other FlagList options. Parameter FlagList is a list of options. The following are the valid options: @@ -170,6 +319,17 @@ To read the counter value, use erlang:trace_info/2. + call_memory: + Starts (MatchSpec == true) or stops (MatchSpec == false) + call memory tracing for all types of function calls. + + If call memory tracing is started while already running, + counters and allocations restart from zero. To pause running + counters, use MatchSpec == pause. Paused and running + counters can be restarted from zero with MatchSpec == restart. + + To read the counter value, use erlang:trace_info/2. + The options global and local are mutually exclusive, and  global is the default (if no options are specified). The options  call_count and meta perform a kind of local tracing, and cannot diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_type.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_type.txt index e18a340c2b2f..59132eb9259e 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_type.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_type.txt @@ -32,7 +32,7 @@ These types are documented in this module:  maybe_improper_list(byte() | binary() | iolist(),  binary() | []). - -type list() :: list(). + -type list() :: [any()]. -type list(ContentType) :: [ContentType]. @@ -134,7 +134,8 @@ These types are documented in this module:  {min_heap_size, Size :: non_neg_integer()} |  {min_bin_vheap_size, VSize :: non_neg_integer()} |  {max_heap_size, Size :: max_heap_size()} | -  {message_queue_data, MQD :: message_queue_data()}. +  {message_queue_data, MQD :: message_queue_data()} | +  {async_dist, Enabled :: boolean()}. -type priority_level() :: low | normal | high | max. @@ -143,7 +144,8 @@ These types are documented in this module:  non_neg_integer() |  #{size => non_neg_integer(),  kill => boolean(), -  error_logger => boolean()}. +  error_logger => boolean(), +  include_shared_binaries => boolean()}. -type message_queue_data() :: off_heap | on_heap. @@ -160,3 +162,10 @@ These types are documented in this module:  arity() | [term()],  [stacktrace_extrainfo()]} |  {function(), arity() | [term()], [stacktrace_extrainfo()]}]. + + -type send_destination() :: +  pid() | +  reference() | +  port() | +  (RegName :: atom()) | +  {RegName :: atom(), Node :: node()}. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unlink_1_func.txt b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unlink_1_func.txt index 9668d64fe327..0e9b8253e033 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unlink_1_func.txt +++ b/lib/stdlib/test/shell_docs_SUITE_data/unknown_erlang_unlink_1_func.txt @@ -40,5 +40,10 @@ protocol can be found in the Distribution Protocol chapter of the ERTS User's Guide. + Note: + For some important information about distributed signals, see + the Blocking Signaling Over Distribution section in the + Processes chapter of the Erlang Reference Manual. + Failure: badarg if Id does not identify a process or a node local port. diff --git a/lib/stdlib/test/shell_docs_SUITE_data/user_drv.docs_v1 b/lib/stdlib/test/shell_docs_SUITE_data/user_drv.docs_v1 index 43ca532712c5..d14fa35185c9 100644 --- a/lib/stdlib/test/shell_docs_SUITE_data/user_drv.docs_v1 +++ b/lib/stdlib/test/shell_docs_SUITE_data/user_drv.docs_v1 @@ -1 +1 @@ -{docs_v1,[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],erlang,<<97,112,112,108,105,99,97,116,105,111,110,47,101,114,108,97,110,103,43,104,116,109,108>>,hidden,#{otp_doc_vsn => {1,0,0}},[{{function,interfaces,1},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<105,110,116,101,114,102,97,99,101,115,47,49>>],hidden,#{}},{{function,server,2},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<115,101,114,118,101,114,47,50>>],hidden,#{}},{{function,server,3},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<115,101,114,118,101,114,47,51>>],hidden,#{}},{{function,start,0},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<115,116,97,114,116,47,48>>],hidden,#{}},{{function,start,1},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<115,116,97,114,116,47,49>>],hidden,#{}},{{function,start,2},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<115,116,97,114,116,47,50>>],hidden,#{}},{{function,start,3},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<115,116,97,114,116,47,51>>],hidden,#{}}]}. \ No newline at end of file +{docs_v1,[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],erlang,<<97,112,112,108,105,99,97,116,105,111,110,47,101,114,108,97,110,103,43,104,116,109,108>>,hidden,#{otp_doc_vsn => {1,0,0}},[{{function,callback_mode,0},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<99,97,108,108,98,97,99,107,95,109,111,100,101,47,48>>],hidden,#{}},{{function,init,1},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<105,110,105,116,47,49>>],hidden,#{}},{{function,init,3},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<105,110,105,116,47,51>>],hidden,#{}},{{function,server,3},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<115,101,114,118,101,114,47,51>>],hidden,#{}},{{function,start,0},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<115,116,97,114,116,47,48>>],hidden,#{}},{{function,start,1},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<115,116,97,114,116,47,49>>],hidden,#{}},{{function,start_shell,0},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<115,116,97,114,116,95,115,104,101,108,108,47,48>>],hidden,#{}},{{function,start_shell,1},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<115,116,97,114,116,95,115,104,101,108,108,47,49>>],hidden,#{}},{{function,switch_loop,3},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<115,119,105,116,99,104,95,108,111,111,112,47,51>>],hidden,#{}},{{function,whereis_group,0},[{file,[117,115,101,114,95,100,114,118,46,101,114,108]},{location,0}],[<<119,104,101,114,101,105,115,95,103,114,111,117,112,47,48>>],hidden,#{}}]}. \ No newline at end of file diff --git a/lib/stdlib/test/stdlib_SUITE.erl b/lib/stdlib/test/stdlib_SUITE.erl index 938b6ba3e3bb..19d9d92b685f 100644 --- a/lib/stdlib/test/stdlib_SUITE.erl +++ b/lib/stdlib/test/stdlib_SUITE.erl @@ -27,7 +27,7 @@ init_per_testcase/2, end_per_testcase/2, app_test/1, appup_test/1, assert_test/1]). --compile(r22). +-compile(r24). suite() -> [{ct_hooks,[ts_install_cth]}]. diff --git a/lib/stdlib/test/stdlib_gh.spec b/lib/stdlib/test/stdlib_gh.spec new file mode 100644 index 000000000000..147c9209bd39 --- /dev/null +++ b/lib/stdlib/test/stdlib_gh.spec @@ -0,0 +1,9 @@ +{suites,"../stdlib_test",all}. +{skip_groups,"../stdlib_test",stdlib_bench_SUITE, + [binary,base64,gen_server,gen_statem,unicode], + "Benchmark only"}. +{skip_groups,"../stdlib_test",ets_SUITE, + [benchmark], + "Benchmark only"}. +{skip_cases, "../stdlib_test", gen_server_SUITE, + [multicall_remote_old1],"Broken in docker"}. diff --git a/lib/stdlib/test/string_SUITE.erl b/lib/stdlib/test/string_SUITE.erl index c6bba4be8be0..5a75c930dd68 100644 --- a/lib/stdlib/test/string_SUITE.erl +++ b/lib/stdlib/test/string_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2004-2022. All Rights Reserved. +%% Copyright Ericsson AB 2004-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -1451,8 +1451,11 @@ centre(Config) when is_list(Config) -> ok. old_to_integer(Config) when is_list(Config) -> + {0,""} = test_to_integer("0"), + {0,""} = test_to_integer(lists:duplicate(200, $0)), {1,""} = test_to_integer("1"), {1,""} = test_to_integer("+1"), + {1,""} = test_to_integer("0001"), {-1,""} = test_to_integer("-1"), {1,"="} = test_to_integer("1="), {7,"F"} = test_to_integer("7F"), @@ -1460,6 +1463,16 @@ old_to_integer(Config) when is_list(Config) -> {709,"*2"} = test_to_integer("709*2"), {0,"xAB"} = test_to_integer("0xAB"), {16,"#FF"} = test_to_integer("16#FF"), + + %% Test a bignum. + Big = 12385792987438978973984398348974398593, + NegBig = -Big, + BigString = integer_to_list(Big), + {Big,"tail"} = string:to_integer(BigString ++ "tail"), + {Big,"tail"} = string:to_integer("+" ++ BigString ++ "tail"), + {NegBig,"tail"} = string:to_integer("-" ++ BigString ++ "tail"), + + %% Test errors. {error,no_integer} = test_to_integer(""), {error,no_integer} = test_to_integer("!1"), {error,no_integer} = test_to_integer("F1"), @@ -1467,6 +1480,12 @@ old_to_integer(Config) when is_list(Config) -> %% {3,[[]]} = test_to_integer([$3,[]]), %% {3,[hello]} = test_to_integer([$3,hello]), {error,badarg} = test_to_integer([$3,hello]), + + %% Test the internal string:list_to_integer/1 BIF directly. + {error,not_a_list} = string:list_to_integer(abc), + {error,no_integer} = string:list_to_integer(""), + {error,no_integer} = string:list_to_integer("+"), + ok. test_to_integer(Str) -> diff --git a/lib/stdlib/test/supervisor_SUITE.erl b/lib/stdlib/test/supervisor_SUITE.erl index a9cf48e99700..f7f3aa0ba352 100644 --- a/lib/stdlib/test/supervisor_SUITE.erl +++ b/lib/stdlib/test/supervisor_SUITE.erl @@ -30,7 +30,7 @@ %% Internal export -export([init/1, terminate_all_children/1, - middle9212/0, gen_server9212/0, handle_info/2]). + middle9212/0, gen_server9212/0, handle_info/2, start_registered_name/1]). %% API tests -export([ sup_start_normal/1, sup_start_ignore_init/1, @@ -90,7 +90,7 @@ hanging_restart_loop_simple/1, code_change/1, code_change_map/1, code_change_simple/1, code_change_simple_map/1, order_of_children/1, scale_start_stop_many_children/1, - format_log_1/1, format_log_2/1]). + format_log_1/1, format_log_2/1, already_started_outside_supervisor/1]). %%------------------------------------------------------------------------- @@ -119,7 +119,7 @@ all() -> hanging_restart_loop_rest_for_one, hanging_restart_loop_simple, code_change, code_change_map, code_change_simple, code_change_simple_map, order_of_children, scale_start_stop_many_children, - format_log_1, format_log_2]. + format_log_1, format_log_2, already_started_outside_supervisor]. groups() -> [{sup_start, [], @@ -3677,6 +3677,31 @@ significant_upgrade_child(_Config) -> ok. +%% Test trying to start a child that uses an already registered name. +already_started_outside_supervisor(_Config) -> + %% Avoid inter-testcase flakiness + ensure_supervisor_is_stopped(), + process_flag(trap_exit, true), + {ok, SupPid} = start_link({ok, {#{}, []}}), + RegName = registered_name, + Child = #{id => child, + start => {?MODULE, start_registered_name, [RegName]}, + restart => transient, + significant => false}, + %% We start another process and register the name. + Pid = spawn_link(fun() -> + true = register(RegName, self()), + receive + die -> ok + end + end), + {error, {already_started, P}} = supervisor:start_child(SupPid, Child), + Pid = P, + terminate(SupPid, shutdown), + Pid ! die, + ok = check_exit([SupPid]), + ok. + %%------------------------------------------------------------------------- terminate(Pid, Reason) when Reason =/= supervisor -> terminate(dummy, Pid, dummy, Reason). @@ -3769,3 +3794,14 @@ check_no_exit(Timeout) -> after Timeout -> ok end. + +start_registered_name(Name) -> + supervisor:start_link({local, Name}, ?MODULE, []). + +ensure_supervisor_is_stopped() -> + case whereis(sup_test) of + undefined -> + ok; + Pid -> + terminate(Pid, shutdown) + end. diff --git a/lib/stdlib/test/tty.cover b/lib/stdlib/test/tty.cover new file mode 120000 index 000000000000..841833897bae --- /dev/null +++ b/lib/stdlib/test/tty.cover @@ -0,0 +1 @@ +../../../lib/kernel/test/tty.cover \ No newline at end of file diff --git a/lib/stdlib/test/zip_SUITE.erl b/lib/stdlib/test/zip_SUITE.erl index 97e5c660dd96..3810c0362c04 100644 --- a/lib/stdlib/test/zip_SUITE.erl +++ b/lib/stdlib/test/zip_SUITE.erl @@ -27,7 +27,8 @@ openzip_api/1, zip_api/1, open_leak/1, unzip_jar/1, unzip_traversal_exploit/1, compress_control/1, - foldl/1,fd_leak/1,unicode/1,test_zip_dir/1]). + foldl/1,fd_leak/1,unicode/1,test_zip_dir/1, + explicit_file_info/1]). -include_lib("common_test/include/ct.hrl"). -include_lib("kernel/include/file.hrl"). @@ -40,7 +41,8 @@ all() -> unzip_to_binary, zip_to_binary, unzip_options, zip_options, list_dir_options, aliases, openzip_api, zip_api, open_leak, unzip_jar, compress_control, foldl, - unzip_traversal_exploit,fd_leak,unicode,test_zip_dir]. + unzip_traversal_exploit,fd_leak,unicode,test_zip_dir, + explicit_file_info]. groups() -> []. @@ -1054,3 +1056,10 @@ run_command(Command, Args) -> end end)(). +explicit_file_info(_Config) -> + Epoch = {{1980,1,1},{0,0,0}}, + FileInfo = #file_info{type=regular, size=0, mtime=Epoch}, + Files = [{"datetime", <<>>, FileInfo}, + {"seconds", <<>>, FileInfo#file_info{mtime=315532800}}], + {ok, _} = zip:zip("", Files, [memory]), + ok. diff --git a/lib/stdlib/vsn.mk b/lib/stdlib/vsn.mk index a114206c2981..eefc6df71929 100644 --- a/lib/stdlib/vsn.mk +++ b/lib/stdlib/vsn.mk @@ -1 +1 @@ -STDLIB_VSN = 5.0 +STDLIB_VSN = 5.0.2 diff --git a/lib/syntax_tools/src/epp_dodger.erl b/lib/syntax_tools/src/epp_dodger.erl index 40f67b56608b..a5f579705a1e 100644 --- a/lib/syntax_tools/src/epp_dodger.erl +++ b/lib/syntax_tools/src/epp_dodger.erl @@ -434,8 +434,7 @@ parse_form(Dev, L0, Parser, Options) -> %% This as the *potential* to read options for enabling/disabling %% features for the parsing of the file. {ok, {_Ftrs, ResWordFun}} = - erl_features:keyword_fun(Options, - fun erl_scan:f_reserved_word/1), + erl_features:keyword_fun(Options, fun reserved_word/1), case io:scan_erl_form(Dev, "", L0, [{reserved_word_fun,ResWordFun}]) of {ok, Ts, L1} -> @@ -932,3 +931,11 @@ errormsg(String) -> %% ===================================================================== + +%% See #7266: The dodger currently does not process feature attributes +%% correctly, so temporarily consider the `else` and `maybe` atoms +%% always as keywords +-spec reserved_word(Atom :: atom()) -> boolean(). +reserved_word('else') -> true; +reserved_word('maybe') -> true; +reserved_word(Atom) -> erl_scan:f_reserved_word(Atom). diff --git a/lib/syntax_tools/src/erl_syntax.erl b/lib/syntax_tools/src/erl_syntax.erl index 1958865b3b38..74a73832dfa7 100644 --- a/lib/syntax_tools/src/erl_syntax.erl +++ b/lib/syntax_tools/src/erl_syntax.erl @@ -377,7 +377,7 @@ data/1, is_tree/1]). --export_type([forms/0, syntaxTree/0, syntaxTreeAttributes/0, padding/0]). +-export_type([forms/0, syntaxTree/0, syntaxTreeAttributes/0, padding/0, annotation_or_location/0]). %% ===================================================================== %% IMPLEMENTATION NOTES: diff --git a/lib/tools/doc/src/erlang_mode.xml b/lib/tools/doc/src/erlang_mode.xml index c145b0bcba3a..5746bd0932ef 100644 --- a/lib/tools/doc/src/erlang_mode.xml +++ b/lib/tools/doc/src/erlang_mode.xml @@ -107,25 +107,25 @@

- Edit - Moving the marker + Edit - Moving the point - C-a M-a + M-C-a (erlang-beginning-of-function) - Move the point to the beginning of the current or preceding Erlang function. With an - numeric argument (ex C-u 2 C-a M-a) the function + numeric argument (ex C-u 2 M-C-a) the function skips backwards over this many Erlang functions. Should the argument be negative the point is moved to the beginning of a function below the current function. - M-C-a (erlang-beginning-of-clause) - As + C-c M-a (erlang-beginning-of-clause) - As above but move point to the beginning of the current or preceding Erlang clause. - C-a M-e (erlang-end-of-function) + M-C-e (erlang-end-of-function) - Move to the end of the current or following Erlang function. With - an numeric argument (ex C-u 2 C-a M-e) the function + an numeric argument (ex C-u 2 M-C-e) the function skips backwards over this many Erlang functions. Should the argument be negative the point is moved to the end of a function below the current function. - M-C-e (erlang-end-of-clause) - As above + C-c M-e (erlang-end-of-clause) - As above but move point to the end of the current or following Erlang clause. @@ -134,11 +134,11 @@
Edit - Marking - C-c M-h (erlang-mark-function) - Put the + M-C-h (erlang-mark-function) - Put the region around the current Erlang function. The point is placed in the beginning and the mark at the end of the function. - M-C-h (erlang-mark-clause) Put the region + C-c M-h (erlang-mark-clause) Put the region around the current Erlang clause. The point is placed in the beginning and the mark at the end of the function. diff --git a/lib/tools/emacs/internal_doc/emacs.sgml b/lib/tools/emacs/internal_doc/emacs.sgml index 802f70fbea58..3fdb05b70101 100644 --- a/lib/tools/emacs/internal_doc/emacs.sgml +++ b/lib/tools/emacs/internal_doc/emacs.sgml @@ -2729,8 +2729,8 @@ individual user configures their Emacs Init files to use it.

If we assume that OTP has been installed in -OTP_ROOT, the editing mode can be found in -OTP_ROOT/misc/emacs. +$OTPROOT, the editing mode can be found in +$OTPROOT/misc/emacs.

The erlang.el file found in the installation directory is already @@ -2777,15 +2777,15 @@ Emacs will look for the .emacs file in C:\. Extending the load path

The directory with the editing mode, -OTP_ROOT/misc/emacs, must be in the load path for Emacs. +$OTPROOT/misc/emacs, must be in the load path for Emacs.

Add the following line to the selected initialization file (replace - OTP_ROOT with the name of the installation + OTPROOT with the name of the installation directory for OTP, keep the quote characters):

- (setq load-path (cons "OTP_ROOT/misc/emacs" load-path)) + (setq load-path (cons "OTPROOT/misc/emacs" load-path)) @@ -2805,12 +2805,12 @@ an escape character.

Some functions in the Erlang editing mode require that the OTP installation directory is known. The following is an example where we -assume that they are installed in the directory OTP_ROOT, +assume that they are installed in the directory $OTPROOT, change this to reflect the location on your system.

- (setq erlang-root-dir "OTP_ROOT") + (setq erlang-root-dir "OTPROOT")
@@ -2832,11 +2832,11 @@ platform for details.

You can also extend the execution path for Emacs as described -below. If the executable is located in OTP_ROOT/bin then you +below. If the executable is located in $OTPROOT/bin then you add the following line to you Emacs Init file: - (setq exec-path (cons "OTP_ROOT/bin" exec-path)) + (setq exec-path (cons "OTPROOT/bin" exec-path))

@@ -2923,7 +2923,7 @@ Restart the Emacs and load or create an Erlang file (with the .erl extension). If the installation was performed correctly the mode line should contain the word "Erlang". Select the "Version" menu item in the "Erlang" menu, check that the version number matches the version in -found in the files in OTP_ROOT/misc/emacs. +found in the files in $OTPROOT/misc/emacs.

diff --git a/lib/tools/test/cover_SUITE.erl b/lib/tools/test/cover_SUITE.erl index ac792380a9d6..04fe3d5b9282 100644 --- a/lib/tools/test/cover_SUITE.erl +++ b/lib/tools/test/cover_SUITE.erl @@ -864,7 +864,6 @@ export_import(Config) when is_list(Config) -> %% warning is written when data is deleted for imported module. test_server:capture_start(), {ok,f} = cover:compile(f), - timer:sleep(10), % capture needs some time [Text3] = test_server:capture_get(), "WARNING: Deleting data for module f imported from" ++ _ = lists:flatten(Text3), test_server:capture_stop(), diff --git a/lib/wx/doc/overview.edoc b/lib/wx/doc/overview.edoc index 843a9c13200e..dd12ed1c9fd7 100644 --- a/lib/wx/doc/overview.edoc +++ b/lib/wx/doc/overview.edoc @@ -84,7 +84,6 @@ they are directly mapped to corresponding erlang terms:
wxSize is represented by {Width,Height}
wxRect is represented by {Xcoord,Ycoord,Width,Height}
wxColour is represented by {Red,Green,Blue[,Alpha]}
-
wxPoint is represented by {Xcoord,Ycoord}
wxString is represented by {@link //stdlib/unicode:charlist()}
wxGBPosition is represented by {Row,Column}
wxGBSpan is represented by {RowSpan,ColumnSPan}
diff --git a/lib/wx/doc/src/chapter.xml b/lib/wx/doc/src/chapter.xml index 477a4f1fb78c..801720ceda09 100644 --- a/lib/wx/doc/src/chapter.xml +++ b/lib/wx/doc/src/chapter.xml @@ -84,7 +84,6 @@ they are directly mapped to corresponding erlang terms:

wxSize is represented by {Width,Height} wxRect is represented by {Xcoord,Ycoord,Width,Height} wxColour is represented by {Red,Green,Blue[,Alpha]} - wxPoint is represented by {Xcoord,Ycoord} wxString is represented by unicode:charlist() wxGBPosition is represented by {Row,Column} wxGBSpan is represented by {RowSpan,ColumnSPan} @@ -232,4 +231,4 @@ the limited requirements he had been given by us.

Also thanks to the wxWidgets team that develops and supports it so we have something to use.

-
\ No newline at end of file +
diff --git a/lib/xmerl/doc/src/notes.xml b/lib/xmerl/doc/src/notes.xml index 6f73749ecc47..d15cbbda533d 100644 --- a/lib/xmerl/doc/src/notes.xml +++ b/lib/xmerl/doc/src/notes.xml @@ -32,6 +32,81 @@

This document describes the changes made to the Xmerl application.

+
Xmerl 1.3.31.1 + +
Fixed Bugs and Malfunctions + + +

New options to xmerl_scan and + xmerl_sax_parser so one can limit the behaviour of + the parsers to avoid some XML security issues.

+ xmerl_scan gets one new option:

+ {allow_entities, Boolean} Gives the + possibility to disallow entities by setting this option + to false (true is default)

+ xmerl_sax_parser gets the following options:

+ disallow_entities Don't + allow entities in document + {entity_recurse_limit, N} Set a + limit on entity recursion depth (default is 3) + {external_entities, AllowedType} + Specify which types of external entities that are + allowed, this also affect external DTD's. The types are + all(default), file and none + {fail_undeclared_ref, Boolean} + Sets the behavior for undeclared references due to + an external file is not parsed (true is + default)

The old option + skip_external_dtd is still valid and the same as + {external_entities, none} and + {fail_undeclared_ref, false} but just affects + DTD's and not other external references.

+

+ Own Id: OTP-18595 Aux Id: ERIERL-944

+
+
+
+ +
+ +
Xmerl 1.3.32 + +
Fixed Bugs and Malfunctions + + +

New options to xmerl_scan and + xmerl_sax_parser so one can limit the behaviour of + the parsers to avoid some XML security issues.

+ xmerl_scan gets one new option:

+ {allow_entities, Boolean} Gives + the possibility to disallow entities by setting this + option to false (true is default) +

xmerl_sax_parser gets the following + options:

+ disallow_entities Don't allow + entities in document + {entity_recurse_limit, N} Set a + limit on entity recursion depth (default is 3) + {external_entities, AllowedType} + Specify which types of external entities that are + allowed, this also affect external DTD's. The types are + all(default), file and none + {fail_undeclared_ref, Boolean} + Sets the behavior for undeclared references due to + an external file is not parsed (true is + default)

The old option + skip_external_dtd is still valid and the same as + {external_entities, none} and + {fail_undeclared_ref, false} but just affects + DTD's and not other external references.

+

+ Own Id: OTP-18595 Aux Id: ERIERL-944

+
+
+
+ +
+
Xmerl 1.3.31
Improvements and New Features @@ -101,6 +176,43 @@
+
Xmerl 1.3.28.1 + +
Fixed Bugs and Malfunctions + + +

New options to xmerl_scan and + xmerl_sax_parser so one can limit the behaviour of + the parsers to avoid some XML security issues.

+ xmerl_scan gets one new option:

+ {allow_entities, Boolean} Gives the + possibility to disallow entities by setting this option + to false (true is default)

+ xmerl_sax_parser gets the following options:

+ disallow_entities Don't + allow entities in document + {entity_recurse_limit, N} Set a + limit on entity recursion depth (default is 3) + {external_entities, AllowedType} + Specify which types of external entities that are + allowed, this also affect external DTD's. The types are + all(default), file and none + {fail_undeclared_ref, Boolean} + Sets the behavior for undeclared references due to + an external file is not parsed (true is + default)

The old option + skip_external_dtd is still valid and the same as + {external_entities, none} and + {fail_undeclared_ref, false} but just affects + DTD's and not other external references.

+

+ Own Id: OTP-18595 Aux Id: ERIERL-944

+
+
+
+ +
+
Xmerl 1.3.28
Fixed Bugs and Malfunctions @@ -116,6 +228,44 @@
+
Xmerl 1.3.27.1 + +
Fixed Bugs and Malfunctions + + +

New options to xmerl_scan and + xmerl_sax_parser so one can limit the behaviour of + the parsers to avoid some XML security issues.

+ xmerl_scan gets one new option:

+ {allow_entities, Boolean} Gives + the possibility to disallow entities by setting this + option to false (true is default) +

xmerl_sax_parser gets the following + options:

+ disallow_entities Don't allow + entities in document + {entity_recurse_limit, N} Set a + limit on entity recursion depth (default is 3) + {external_entities, AllowedType} + Specify which types of external entities that are + allowed, this also affect external DTD's. The types are + all(default), file and none + {fail_undeclared_ref, Boolean} + Sets the behavior for undeclared references due to + an external file is not parsed (true is + default)

The old option + skip_external_dtd is still valid and the same as + {external_entities, none} and + {fail_undeclared_ref, false} but just affects + DTD's and not other external references.

+

+ Own Id: OTP-18595 Aux Id: ERIERL-944

+
+
+
+ +
+
Xmerl 1.3.27
Fixed Bugs and Malfunctions diff --git a/lib/xmerl/doc/src/xmerl_sax_parser.xml b/lib/xmerl/doc/src/xmerl_sax_parser.xml index fbaf54bd5f67..440564d28028 100644 --- a/lib/xmerl/doc/src/xmerl_sax_parser.xml +++ b/lib/xmerl/doc/src/xmerl_sax_parser.xml @@ -5,7 +5,7 @@
2008 - 2021 + 2023 Ericsson AB, All Rights Reserved @@ -89,12 +89,38 @@ skip_external_dtd Skips the external DTD during parsing. + This option is the same as {external_entities, none} and + {fail_undeclared_ref, false} but just for the DTD. + disallow_entities + + Implies that parsing fails if an ENTITY declaration is found. + + {entity_recurse_limit, N} + + Sets how many levels of recursion that is allowed for entities. + Default is 3 levels. + + {external_entities, AllowedType} + + Sets which types of external entities that should be allowed, + if not allowed it's just skipped. + + AllowedType = all | file | none + + + {fail_undeclared_ref, Boolean} + + Decides how the parser should behave when an undeclared reference + is found. Can be useful if one has turned of external entities + so that an external DTD is not parsed. + Default is true. + - - -

+ + +

event() diff --git a/lib/xmerl/include/xmerl.hrl b/lib/xmerl/include/xmerl.hrl index 7c032df379af..42a7779f089d 100644 --- a/lib/xmerl/include/xmerl.hrl +++ b/lib/xmerl/include/xmerl.hrl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2004-2022. All Rights Reserved. +%% Copyright Ericsson AB 2004-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -187,7 +187,8 @@ quiet=false, % bool() Set to true will print no error messages col = 1, line = 1, - common_data = [] + common_data = [], + allow_entities = true % If true entities are allowed in the document }). diff --git a/lib/xmerl/src/xmerl_sax_parser.erl b/lib/xmerl/src/xmerl_sax_parser.erl index c119223470ad..ce338d734336 100644 --- a/lib/xmerl/src/xmerl_sax_parser.erl +++ b/lib/xmerl/src/xmerl_sax_parser.erl @@ -1,7 +1,7 @@ %%-------------------------------------------------------------------- %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2022. All Rights Reserved. +%% Copyright Ericsson AB 2008-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -210,7 +210,19 @@ parse_options([{current_location, CL} |Options], State) -> parse_options([{entity, Entity} |Options], State) -> parse_options(Options, State#xmerl_sax_parser_state{entity = Entity}); parse_options([skip_external_dtd |Options], State) -> - parse_options(Options, State#xmerl_sax_parser_state{skip_external_dtd = true}); + %% Skip external DTD also sets fail_undeclared_ref to false to be compatible + parse_options(Options, State#xmerl_sax_parser_state{skip_external_dtd = true, + fail_undeclared_ref = false}); +parse_options([disallow_entities |Options], State) -> + parse_options(Options, State#xmerl_sax_parser_state{allow_entities = false}); +parse_options([{entity_recurse_limit, N} |Options], State) when is_integer(N) -> + parse_options(Options, State#xmerl_sax_parser_state{entity_recurse_limit = N}); +parse_options([{external_entities, Type} |Options], State) when Type =:= all; + Type =:= file; + Type =:= none -> + parse_options(Options, State#xmerl_sax_parser_state{external_entities = Type}); +parse_options([{fail_undeclared_ref, Bool} |Options], State) when is_boolean(Bool) -> + parse_options(Options, State#xmerl_sax_parser_state{fail_undeclared_ref = Bool}); parse_options([O |_], _State) -> {error, lists:flatten(io_lib:format("Option: ~p not supported", [O]))}. diff --git a/lib/xmerl/src/xmerl_sax_parser.hrl b/lib/xmerl/src/xmerl_sax_parser.hrl index a34bc7a6abb2..4d1ff5e05cb9 100644 --- a/lib/xmerl/src/xmerl_sax_parser.hrl +++ b/lib/xmerl/src/xmerl_sax_parser.hrl @@ -1,7 +1,7 @@ %%-------------------------------------------------------------------- %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2022. All Rights Reserved. +%% Copyright Ericsson AB 2008-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -71,26 +71,31 @@ %%---------------------------------------------------------------------- %% State record for the SAX parser %%---------------------------------------------------------------------- --record(xmerl_sax_parser_state, { - event_state, % User state for events - event_fun, % Fun used for each event - continuation_state, % User state for continuation calls - continuation_fun, % Fun used to fetch more input - encoding=utf8, % Which encoding is used - line_no = 1, % Current line number - ns = [], % List of current namespaces - current_tag = [], % Current tag - end_tags = [], % Stack of tags used for end tag matching - match_end_tags = true, % Flag which defines if the parser should match on end tags - ref_table, % Table containing entity definitions - standalone = no, % yes if the document is standalone and don't need an external DTD. - file_type = normal, % Can be normal, dtd and entity - current_location, % Location of the currently parsed XML entity - entity, % Parsed XML entity - skip_external_dtd = false,% If true the external DTD is skipped during parsing - input_type, % Source type: file | stream - attribute_values = [] % default attribute values - }). +-record(xmerl_sax_parser_state, + { + event_state, % User state for events + event_fun, % Fun used for each event + continuation_state, % User state for continuation calls + continuation_fun, % Fun used to fetch more input + encoding=utf8, % Which encoding is used + line_no = 1, % Current line number + ns = [], % List of current namespaces + current_tag = [], % Current tag + end_tags = [], % Stack of tags used for end tag matching + match_end_tags = true, % Flag which defines if the parser should match on end tags + ref_table, % Table containing entitity definitions + standalone = no, % yes if the document is standalone and don't need an external DTD. + file_type = normal, % Can be normal, dtd and entity + current_location, % Location of the currently parsed XML entity + entity, % Parsed XML entity + skip_external_dtd = false, % If true the external DTD is skipped during parsing + input_type, % Source type: file | stream + attribute_values = [], % default attribute values + allow_entities = true, % If true entities are allowed in the document + entity_recurse_limit = 3, % How many levels of recursion is allowed for entities + external_entities = all, % Which types of external entities are allowed: all(default), file or none + fail_undeclared_ref = true % If false the reference will be left unresolved in the document, true is default + }). diff --git a/lib/xmerl/src/xmerl_sax_parser_base.erlsrc b/lib/xmerl/src/xmerl_sax_parser_base.erlsrc index 67fdec560ecd..766f3fb1e252 100644 --- a/lib/xmerl/src/xmerl_sax_parser_base.erlsrc +++ b/lib/xmerl/src/xmerl_sax_parser_base.erlsrc @@ -1,7 +1,7 @@ %%-*-erlang-*- %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2022. All Rights Reserved. +%% Copyright Ericsson AB 2008-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -1209,10 +1209,10 @@ parse_att_value(?STRING_REST("&", Rest), State, Stop, Acc) -> {external_general, Name, _} -> ?fatal_error(State1, "External parsed entity reference in attribute value: " ++ Name); {not_found, Name} when State#xmerl_sax_parser_state.file_type =:= normal -> - case State1#xmerl_sax_parser_state.skip_external_dtd of - false -> - ?fatal_error(State1, "Undeclared reference: " ++ Name); + case State1#xmerl_sax_parser_state.fail_undeclared_ref of true -> + ?fatal_error(State1, "Undeclared reference: " ++ Name); + false -> parse_att_value(Rest1, State1, Stop, ";" ++ lists:reverse(Name) ++ "&" ++ Acc) end; {not_found, Name} -> @@ -1439,10 +1439,10 @@ parse_content(?STRING_REST("&", Rest), #xmerl_sax_parser_state{file_type = Type} {Acc1, State2} = parse_external_entity(State1#xmerl_sax_parser_state{file_type = entity}, PubId, SysId, Acc), parse_content(Rest1, State2#xmerl_sax_parser_state{file_type = Type}, Acc1, false); {not_found, Name} -> - case State#xmerl_sax_parser_state.skip_external_dtd of - false -> - ?fatal_error(State1, "Entity not declared: " ++ Name); %%VC: Entity Declared + case State#xmerl_sax_parser_state.fail_undeclared_ref of true -> + ?fatal_error(State1, "Entity not declared: " ++ Name); %%VC: Entity Declared + false -> parse_content(Rest1, State1, ";" ++ lists:reverse(Name) ++ "&" ++ Acc, false) end; {unparsed, Name, _} -> @@ -2146,6 +2146,11 @@ parse_external_entity(State, _PubId, SysId, Acc) -> %% Description: Returns working directory, entity and the opened %% filedescriptor. %%---------------------------------------------------------------------- +handle_external_entity({file, _FileToOpen}, #xmerl_sax_parser_state{external_entities = none} = State, Acc) -> + {Acc, + State#xmerl_sax_parser_state.event_state, + State#xmerl_sax_parser_state.ref_table, + State#xmerl_sax_parser_state.attribute_values}; handle_external_entity({file, FileToOpen}, #xmerl_sax_parser_state{encoding = Enc} = State, Acc) -> case file:open(FileToOpen, [raw, read, binary]) of @@ -2170,7 +2175,7 @@ handle_external_entity({file, FileToOpen}, #xmerl_sax_parser_state{encoding = En EntityState#xmerl_sax_parser_state.ref_table, EntityState#xmerl_sax_parser_state.attribute_values} end; -handle_external_entity({http, Url}, #xmerl_sax_parser_state{encoding = Enc} = State, Acc) -> +handle_external_entity({http, Url}, #xmerl_sax_parser_state{encoding = Enc, external_entities = all} = State, Acc) -> try {Host, Port, Key} = http(Url), @@ -2200,6 +2205,11 @@ handle_external_entity({http, Url}, #xmerl_sax_parser_state{encoding = Enc} = St throw:{error, Error} -> ?fatal_error(State, Error) end; +handle_external_entity({http, _Url}, State, Acc) -> + {Acc, + State#xmerl_sax_parser_state.event_state, + State#xmerl_sax_parser_state.ref_table, + State#xmerl_sax_parser_state.attribute_values}; handle_external_entity({Tag, _Url}, State, _Acc) -> ?fatal_error(State, "Unsupported URI type: " ++ atom_to_list(Tag)). @@ -2455,13 +2465,14 @@ parse_doctype_decl(?STRING_REST("%", Rest), #xmerl_sax_parser_state{file_type = {_, State2} = parse_external_entity(State1#xmerl_sax_parser_state{file_type = dtd}, PubId, SysId, []), parse_doctype_decl(Rest1, State2#xmerl_sax_parser_state{file_type = Type}); {not_found, _Name} -> - case State#xmerl_sax_parser_state.skip_external_dtd of - false -> - parse_doctype_decl(Rest1, State1); - %?fatal_error(State1, "Entity not declared: " ++ Name); %%P69 VC: Entity Declared - true -> - parse_doctype_decl(Rest1, State1) - end + parse_doctype_decl(Rest1, State1) + %% case State#xmerl_sax_parser_state.fail_undeclared_ref of + %% false -> + %% parse_doctype_decl(Rest1, State1); + %% %?fatal_error(State1, "Entity not declared: " ++ Name); %%P69 VC: Entity Declared + %% true -> + %% parse_doctype_decl(Rest1, State1) + %% end end; parse_doctype_decl(?STRING_REST(" {Rest1, State1} = parse_doctype_decl_2(Rest, State), @@ -2531,9 +2542,13 @@ parse_doctype_decl_1(?STRING("ENTI") = Bytes, State) -> parse_doctype_decl_1(?STRING("ENTIT") = Bytes, State) -> cf(Bytes, State, fun parse_doctype_decl_1/2); parse_doctype_decl_1(?STRING_REST("ENTITY", Rest), State) -> - {Rest1, State1} = parse_entity_decl(Rest, State), - parse_doctype_decl(Rest1, State1); - + case State#xmerl_sax_parser_state.allow_entities of + true -> + {Rest1, State1} = parse_entity_decl(Rest, State), + parse_doctype_decl(Rest1, State1); + false -> + ?fatal_error(State, "Entities not allowed in document") + end; parse_doctype_decl_1(?STRING("N") = Bytes, State) -> cf(Bytes, State, fun parse_doctype_decl_1/2); parse_doctype_decl_1(?STRING("NO") = Bytes, State) -> @@ -2610,19 +2625,17 @@ parse_doctype_decl_2(?STRING_REST("%", Rest), State) -> {_, State2} = parse_external_entity(State1#xmerl_sax_parser_state{file_type = dtd}, PubId, SysId, []), parse_doctype_decl_2(Rest1, State2); {not_found, Name} -> - case State#xmerl_sax_parser_state.skip_external_dtd of - false -> - ?fatal_error(State1, "Entity not declared: " ++ Name); %%WFC: Entity Declared + case State#xmerl_sax_parser_state.fail_undeclared_ref of true -> + ?fatal_error(State1, "Entity not declared: " ++ Name); %%WFC: Entity Declared + false -> parse_doctype_decl_2(Rest1, State1) end end; - parse_doctype_decl_2(Bytes, State) -> unicode_incomplete_check([Bytes, State, fun parse_doctype_decl_2/2], "expecting INCLUDE or IGNORE"). - %%---------------------------------------------------------------------- %% Function : parse_element_decl(Rest, State) -> Result %% Parameters: Rest = string() | binary() @@ -2722,10 +2735,10 @@ parse_element_content_1(?STRING_REST("%", Rest), State, Acc) -> {Acc1, State2} = parse_external_entity(State1#xmerl_sax_parser_state{file_type = dtd}, PubId, SysId, Acc), parse_element_content_1(Rest1, State2, Acc1); {not_found, Name} -> - case State#xmerl_sax_parser_state.skip_external_dtd of - false -> - ?fatal_error(State1, "Entity not declared: " ++ Name); %%WFC: Entity Declared + case State#xmerl_sax_parser_state.fail_undeclared_ref of true -> + ?fatal_error(State1, "Entity not declared: " ++ Name); %%WFC: Entity Declared + false -> parse_element_content_1(Rest1, State1, Acc) end end; @@ -2780,10 +2793,10 @@ parse_element_content_2(?STRING_REST("%", Rest), State, Acc, Depth) -> {Acc1, State2} = parse_external_entity(State1#xmerl_sax_parser_state{file_type = entity}, PubId, SysId, Acc), parse_element_content_2(Rest1, State2, Acc1, Depth); {not_found, Name} -> - case State#xmerl_sax_parser_state.skip_external_dtd of - false -> - ?fatal_error(State1, "Entity not declared: " ++ Name); %%WFC: Entity Declared + case State#xmerl_sax_parser_state.fail_undeclared_ref of true -> + ?fatal_error(State1, "Entity not declared: " ++ Name); %%WFC: Entity Declared + false -> parse_element_content_2(Rest1, State1, Acc, Depth) end end @@ -2973,10 +2986,10 @@ parse_att_list_decl(?STRING_REST("%", Rest), State) -> {_, State2} = parse_external_entity(State1#xmerl_sax_parser_state{file_type = dtd}, PubId, SysId, []), parse_att_list_decl(Rest1, State2); {not_found, Name} -> - case State#xmerl_sax_parser_state.skip_external_dtd of - false -> - ?fatal_error(State1, "Entity not declared: " ++ Name); %%WFC: Entity Declared + case State#xmerl_sax_parser_state.fail_undeclared_ref of true -> + ?fatal_error(State1, "Entity not declared: " ++ Name); %%WFC: Entity Declared + false -> parse_att_list_decl(Rest1, State1) end end; @@ -3000,10 +3013,10 @@ parse_att_list_decl_1(?STRING_REST("%", Rest), State) -> {_, State2} = parse_external_entity(State1#xmerl_sax_parser_state{file_type = entity}, PubId, SysId, []), parse_att_list_decl(Rest1, State2); {not_found, Name} -> - case State#xmerl_sax_parser_state.skip_external_dtd of - false -> - ?fatal_error(State1, "Entity not declared: " ++ Name); %%WFC: Entity Declared + case State#xmerl_sax_parser_state.fail_undeclared_ref of true -> + ?fatal_error(State1, "Entity not declared: " ++ Name); %%WFC: Entity Declared + false -> parse_att_list_decl(Rest1, State1) end end @@ -3051,10 +3064,10 @@ parse_att_defs(?STRING_REST("%", Rest), #xmerl_sax_parser_state{file_type = Type {_, State2} = parse_external_entity(State1#xmerl_sax_parser_state{file_type = entity}, PubId, SysId, []), parse_att_defs(Rest1, State2#xmerl_sax_parser_state{file_type = Type}, ElementName); {not_found, Name} -> - case State#xmerl_sax_parser_state.skip_external_dtd of - false -> - ?fatal_error(State1, "Entity not declared: " ++ Name); %%WFC: Entity Declared + case State#xmerl_sax_parser_state.fail_undeclared_ref of true -> + ?fatal_error(State1, "Entity not declared: " ++ Name); %%WFC: Entity Declared + false -> parse_att_defs(Rest1, State1, ElementName) end end @@ -3119,7 +3132,7 @@ add_default_attribute({ElementName, AttrName, Value}, parse_att_type(?STRING_EMPTY, State) -> cf(?STRING_EMPTY, State, fun parse_att_type/2); parse_att_type(?STRING_UNBOUND_REST(C, _) = Bytes, State) when ?is_whitespace(C) -> - {_, Rest, State1} = whitespace(Bytes, State, []), + {_WS1, Rest, State1} = whitespace(Bytes, State, []), case parse_att_type_1(Rest, State1, []) of {"(", Rest1, State2} -> {T, Rest2, State3} = parse_until_right_paren(Rest1, State2, []), @@ -3130,7 +3143,7 @@ parse_att_type(?STRING_UNBOUND_REST(C, _) = Bytes, State) when ?is_whitespace(C) {"(" ++ T, Rest2, State3} end; {"NOTATION", Rest1, State2} -> - {_, Rest2, State3} = whitespace(Rest1, State2, []), + {_WS2, Rest2, State3} = whitespace(Rest1, State2, []), case parse_att_type_1(Rest2, State3, []) of {"(", Rest3, State4} -> {T, Rest4, State5} = parse_until_right_paren(Rest3, State4, []), @@ -3179,10 +3192,10 @@ parse_att_type_1(?STRING_REST("%", Rest), State, Acc) -> {Acc1, State2} = parse_external_entity(State1#xmerl_sax_parser_state{file_type = entity}, PubId, SysId, Acc), parse_att_type_1(Rest1, State2, Acc1); {not_found, Name} -> - case State#xmerl_sax_parser_state.skip_external_dtd of - false -> - ?fatal_error(State1, "Entity not declared: " ++ Name); %%WFC: Entity Declared + case State#xmerl_sax_parser_state.fail_undeclared_ref of true -> + ?fatal_error(State1, "Entity not declared: " ++ Name); %%WFC: Entity Declared + false -> parse_att_type_1(Rest1, State1, Acc) end end; @@ -3567,10 +3580,10 @@ parse_entity_value(?STRING_REST("%", Rest), #xmerl_sax_parser_state{file_type=Ty {Acc1, State2} = parse_external_entity(State1#xmerl_sax_parser_state{file_type = text}, PubId, SysId, Acc), parse_entity_value(Rest1, State2#xmerl_sax_parser_state{file_type = Type}, Stop, Acc1); {not_found, Name} -> - case State#xmerl_sax_parser_state.skip_external_dtd of - false -> - ?fatal_error(State1, "Entity not declared: " ++ Name); %%VC: Entity Declared + case State#xmerl_sax_parser_state.fail_undeclared_ref of true -> + ?fatal_error(State1, "Entity not declared: " ++ Name); %%VC: Entity Declared + false -> parse_entity_value(Rest1, State1, Stop, ";" ++ lists:reverse(Name) ++ "&" ++ Acc) end @@ -4853,7 +4866,7 @@ check_ref_cycle(#xmerl_sax_parser_state{ref_table = RefTable} = State) -> end, Mapped = lists:map(F, List), IsCycle = lists:any(fun({K, V}) -> - check_ref_cycle(K, V, Mapped) + check_ref_cycle(K, V, Mapped, 1, State) end, Mapped), if IsCycle -> @@ -4862,8 +4875,10 @@ check_ref_cycle(#xmerl_sax_parser_state{ref_table = RefTable} = State) -> ok end. -check_ref_cycle(_, [], _) -> false; -check_ref_cycle(Key, Vals, List) -> +check_ref_cycle(_, [], _, _, _) -> false; +check_ref_cycle(_, _, _, N, State) when N > State#xmerl_sax_parser_state.entity_recurse_limit -> + ?fatal_error(State, "Too deep"); +check_ref_cycle(Key, Vals, List, N, State) -> F = fun(V) -> case lists:keyfind(V, 1, List) of false -> @@ -4880,7 +4895,7 @@ check_ref_cycle(Key, Vals, List) -> true -> true; false -> - check_ref_cycle(Key, Refs, List) + check_ref_cycle(Key, Refs, List, N+1, State) end end. diff --git a/lib/xmerl/src/xmerl_scan.erl b/lib/xmerl/src/xmerl_scan.erl index 2285ce0d0669..62b5dd87c717 100644 --- a/lib/xmerl/src/xmerl_scan.erl +++ b/lib/xmerl/src/xmerl_scan.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2003-2022. All Rights Reserved. +%% Copyright Ericsson AB 2003-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -110,6 +110,9 @@ %%
{default_attrs, Flag}
%%
Set to 'true' if xmerl should add to elements missing attributes %% with a defined default value (default 'false').
+%%
{allow_entities, Flag}
+%%
Set to 'false' if xmerl_scan should fail when there is an ENTITY declaration +%% in the XML document (default 'true').
%% %% @type xmlElement() = #xmlElement{}. %% The record definition is found in xmerl.hrl. @@ -417,6 +420,8 @@ initial_state([{xmlbase, D}|T], S) -> initial_state(T, S#xmerl_scanner{xmlbase = D}); initial_state([{encoding, Enc}|T], S) -> initial_state(T, S#xmerl_scanner{encoding = Enc}); +initial_state([{allow_entities, F} |T], S) when F==true; F==false -> + initial_state(T, S#xmerl_scanner{allow_entities = F}); initial_state([], S=#xmerl_scanner{rules = undefined}) -> Tab = ets:new(rules, [set, public]), S#xmerl_scanner{rules = Tab}; @@ -1688,10 +1693,15 @@ scan_markup_decl(" %% %% %% - ?bump_col(8), - {_,T1,S1} = mandatory_strip(T,S), - {T2, S2} = scan_entity(T1, S1), - strip(T2,S2); + case S0#xmerl_scanner.allow_entities of + false -> + ?fatal( {error, entities_not_allowed}, S0); + true -> + ?bump_col(8), + {_,T1,S1} = mandatory_strip(T,S), + {T2, S2} = scan_entity(T1, S1), + strip(T2,S2) + end; scan_markup_decl(" %% ?bump_col(10), diff --git a/lib/xmerl/test/xmerl_SUITE.erl b/lib/xmerl/test/xmerl_SUITE.erl index 360c675d26d0..cf1728bf2ad4 100644 --- a/lib/xmerl/test/xmerl_SUITE.erl +++ b/lib/xmerl/test/xmerl_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2022. All Rights Reserved. +%% Copyright Ericsson AB 2008-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -55,7 +55,8 @@ groups() -> {misc, [], [latin1_alias, syntax_bug1, syntax_bug2, syntax_bug3, pe_ref1, copyright, testXSEIF, export_simple1, export, - default_attrs_bug, xml_ns, scan_splits_string_bug]}, + default_attrs_bug, xml_ns, scan_splits_string_bug, + allow_entities_test]}, {eventp_tests, [], [sax_parse_and_export]}, {ticket_tests, [], [ticket_5998, ticket_7211, ticket_7214, ticket_7430, @@ -77,10 +78,9 @@ init_per_suite(Config) -> ok=erl_tar:extract("misc.tar.gz",[compressed]), ok = change_mode(["cpd", "misc"]), file:set_cwd(filename:join(datadir(Config),xpath)), - TestServerIncludeDir=filename:join(filename:dirname(code:priv_dir(test_server)), "include"), - {ok, xpath_lib} = compile:file(xpath_lib, [{i, TestServerIncludeDir}]), - {ok, xpath_text} = compile:file(xpath_text, [{i, TestServerIncludeDir}]), - {ok, xpath_abbrev} = compile:file(xpath_abbrev, [{i, TestServerIncludeDir}]), + {ok, xpath_lib} = compile:file(xpath_lib, []), + {ok, xpath_text} = compile:file(xpath_text, []), + {ok, xpath_abbrev} = compile:file(xpath_abbrev, []), Config. @@ -627,6 +627,15 @@ ticket_9664_dtd(Config) -> ok. +allow_entities_test(Config) -> + DataDir = proplists:get_value(data_dir, Config), + File = filename:join(DataDir, "lol_1_test.xml"), %% Depth 9 + %% Disallow entities + {'EXIT',{fatal, {{error,entities_not_allowed}, _, _, _}}} = + (catch xmerl_scan:file(File, [{allow_entities, false}])), + ok. + + %%====================================================================== %% Support Functions %%====================================================================== diff --git a/lib/xmerl/test/xmerl_SUITE_data/lol_1_test.xml b/lib/xmerl/test/xmerl_SUITE_data/lol_1_test.xml new file mode 100644 index 000000000000..75fb24cae385 --- /dev/null +++ b/lib/xmerl/test/xmerl_SUITE_data/lol_1_test.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + +]> +&lol9; diff --git a/lib/xmerl/test/xmerl_sax_SUITE.erl b/lib/xmerl/test/xmerl_sax_SUITE.erl index 68b9bcc4a2fd..0a3626804d17 100644 --- a/lib/xmerl/test/xmerl_sax_SUITE.erl +++ b/lib/xmerl/test/xmerl_sax_SUITE.erl @@ -2,7 +2,7 @@ %%---------------------------------------------------------------------- %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2010-2017. All Rights Reserved. +%% Copyright Ericsson AB 2010-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -45,7 +45,10 @@ groups() -> fragmented_xml_directive, old_dom_event_fun_endDocument_bug, event_fun_endDocument_error_test, - event_fun_startDocument_error_test]}]. + event_fun_startDocument_error_test, + allow_entities_test, entity_recurse_limit_test, + external_entities_test, fail_undeclared_ref_test + ]}]. %%====================================================================== %% Tests @@ -153,6 +156,61 @@ event_fun_startDocument_error_test(_Config) -> {event_error, _, _, _, _} = xmerl_sax_parser:stream(Stream, [{event_fun, Ef}]), ok. +%%---------------------------------------------------------------------- +%% Test Case +%% ID: allow_entities_test +allow_entities_test(Config) -> + DataDir = proplists:get_value(data_dir, Config), + File = filename:join(DataDir, "lol_1_test.xml"), %% Depth 9 + %% Disallow entities + {fatal_error, _, _, _, _} = xmerl_sax_parser:file(File, [disallow_entities]), + ok. + +%%---------------------------------------------------------------------- +%% Test Case +%% ID: entity_recurse_limit_test +entity_recurse_limit_test(Config) -> + DataDir = proplists:get_value(data_dir, Config), + File1 = filename:join(DataDir, "lol_1_test.xml"), %% Depth 9 + File2 = filename:join(DataDir, "lol_2_test.xml"), %% Depth 2 + %% Default recurse limit is 3 + {fatal_error, _, _, _, _} = xmerl_sax_parser:file(File1, []), + %% Change recurse limit + {ok, undefined, <<>>} = xmerl_sax_parser:file(File2, []), + {fatal_error, _, _, _, _} = xmerl_sax_parser:file(File2, [{entity_recurse_limit, 1}]), + ok. + +%%---------------------------------------------------------------------- +%% Test Case +%% ID: external_entities_test +external_entities_test(Config) -> + DataDir = proplists:get_value(data_dir, Config), + File1 = filename:join(DataDir, "entity_test_1.xml"), + File2 = filename:join(DataDir, "entity_test_2.xml"), + %% Allow all (default) + {ok, undefined, <<>>} = xmerl_sax_parser:file(File1, []), + {ok, undefined, <<>>} = xmerl_sax_parser:file(File2, []), + %% Allow file + {ok, undefined, <<>>} = xmerl_sax_parser:file(File1, [{external_entities, file}]), + {ok, undefined, <<>>} = xmerl_sax_parser:file(File2, [{external_entities, file}]), + %% Allow none + {fatal_error, _, _, _, _} = xmerl_sax_parser:file(File1, [{external_entities, none}]), + {ok, undefined, <<>>} = xmerl_sax_parser:file(File2, [{external_entities, none}]), %% Not included but parsed, See if it can be fixed + ok. + +%%---------------------------------------------------------------------- +%% Test Case +%% ID: fail_undeclared_ref_test +fail_undeclared_ref_test(Config) -> + DataDir = proplists:get_value(data_dir, Config), + File = filename:join(DataDir, "entity_test_1.xml"), + %% Allow none + %% fail_undeclared_ref == true (default) + {fatal_error, _, _, _, _} = xmerl_sax_parser:file(File, [{external_entities, none}]), + %% fail_undeclared_ref == false + {ok, undefined, <<>>} = xmerl_sax_parser:file(File, [{external_entities, none}, {fail_undeclared_ref, false}]), + ok. + %%====================================================================== %% Internal functions %%====================================================================== diff --git a/lib/xmerl/test/xmerl_sax_SUITE_data/entity_test.dtd b/lib/xmerl/test/xmerl_sax_SUITE_data/entity_test.dtd new file mode 100644 index 000000000000..16c983aa6f02 --- /dev/null +++ b/lib/xmerl/test/xmerl_sax_SUITE_data/entity_test.dtd @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/lib/xmerl/test/xmerl_sax_SUITE_data/entity_test_1.xml b/lib/xmerl/test/xmerl_sax_SUITE_data/entity_test_1.xml new file mode 100644 index 000000000000..066c34b4b1ef --- /dev/null +++ b/lib/xmerl/test/xmerl_sax_SUITE_data/entity_test_1.xml @@ -0,0 +1,13 @@ + + + + + + &mindefault; + &maxdefault; + + + 15 + 20 + + diff --git a/lib/xmerl/test/xmerl_sax_SUITE_data/entity_test_2.xml b/lib/xmerl/test/xmerl_sax_SUITE_data/entity_test_2.xml new file mode 100644 index 000000000000..e4a5b866d70f --- /dev/null +++ b/lib/xmerl/test/xmerl_sax_SUITE_data/entity_test_2.xml @@ -0,0 +1,10 @@ + +]> + + + &xxe; + + 15 + 20 + + diff --git a/lib/xmerl/test/xmerl_sax_SUITE_data/lol_1_test.xml b/lib/xmerl/test/xmerl_sax_SUITE_data/lol_1_test.xml new file mode 100644 index 000000000000..75fb24cae385 --- /dev/null +++ b/lib/xmerl/test/xmerl_sax_SUITE_data/lol_1_test.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + +]> +&lol9; diff --git a/lib/xmerl/test/xmerl_sax_SUITE_data/lol_2_test.xml b/lib/xmerl/test/xmerl_sax_SUITE_data/lol_2_test.xml new file mode 100644 index 000000000000..f8846231b24f --- /dev/null +++ b/lib/xmerl/test/xmerl_sax_SUITE_data/lol_2_test.xml @@ -0,0 +1,8 @@ + + + + + +]> +&lol2; diff --git a/lib/xmerl/test/xmerl_sax_SUITE_data/test_entities_file.xml b/lib/xmerl/test/xmerl_sax_SUITE_data/test_entities_file.xml new file mode 100644 index 000000000000..c5e9e33f59e2 --- /dev/null +++ b/lib/xmerl/test/xmerl_sax_SUITE_data/test_entities_file.xml @@ -0,0 +1,4 @@ + + 1 + 3 + diff --git a/lib/xmerl/vsn.mk b/lib/xmerl/vsn.mk index e3edce14f52b..3f780125a9a9 100644 --- a/lib/xmerl/vsn.mk +++ b/lib/xmerl/vsn.mk @@ -1 +1 @@ -XMERL_VSN = 1.3.31 +XMERL_VSN = 1.3.31.1 diff --git a/make/test_target_script.sh b/make/test_target_script.sh index 6f854a55d437..aae2c78b6c50 100755 --- a/make/test_target_script.sh +++ b/make/test_target_script.sh @@ -172,7 +172,7 @@ then echo "The tests will start in a few seconds..." sleep 45 cd "$ERL_TOP/release/tests/test_server" - erl -eval "ts:install(),erlang:halt()" + erl -noinput -eval "ts:install(),erlang:halt()" erl -noinput -eval "ts:run([all_tests,batch]),erlang:halt()" exit $? fi diff --git a/otp_versions.table b/otp_versions.table index 2f621902823d..435d410db45a 100644 --- a/otp_versions.table +++ b/otp_versions.table @@ -1,4 +1,11 @@ +OTP-26.0.2 : compiler-8.3.2 erts-14.0.2 kernel-9.0.2 ssh-5.0.1 ssl-11.0.2 stdlib-5.0.2 # asn1-5.1 common_test-1.25 crypto-5.2 debugger-5.3.1 dialyzer-5.1 diameter-2.3 edoc-1.2 eldap-1.2.11 erl_docgen-1.5 erl_interface-5.4 et-1.7 eunit-2.8.2 ftp-1.2 inets-9.0.1 jinterface-1.14 megaco-4.4.4 mnesia-4.22 observer-2.15 odbc-2.14.1 os_mon-2.9 parsetools-2.5 public_key-1.14 reltool-1.0 runtime_tools-2.0 sasl-4.2.1 snmp-5.14 syntax_tools-3.1 tftp-1.1 tools-3.6 wx-2.3 xmerl-1.3.32 : +OTP-26.0.1 : compiler-8.3.1 erts-14.0.1 inets-9.0.1 kernel-9.0.1 ssl-11.0.1 stdlib-5.0.1 xmerl-1.3.32 # asn1-5.1 common_test-1.25 crypto-5.2 debugger-5.3.1 dialyzer-5.1 diameter-2.3 edoc-1.2 eldap-1.2.11 erl_docgen-1.5 erl_interface-5.4 et-1.7 eunit-2.8.2 ftp-1.2 jinterface-1.14 megaco-4.4.4 mnesia-4.22 observer-2.15 odbc-2.14.1 os_mon-2.9 parsetools-2.5 public_key-1.14 reltool-1.0 runtime_tools-2.0 sasl-4.2.1 snmp-5.14 ssh-5.0 syntax_tools-3.1 tftp-1.1 tools-3.6 wx-2.3 : OTP-26.0 : asn1-5.1 common_test-1.25 compiler-8.3 crypto-5.2 dialyzer-5.1 diameter-2.3 erl_docgen-1.5 erl_interface-5.4 erts-14.0 et-1.7 ftp-1.2 inets-9.0 jinterface-1.14 kernel-9.0 megaco-4.4.4 mnesia-4.22 observer-2.15 odbc-2.14.1 os_mon-2.9 parsetools-2.5 public_key-1.14 reltool-1.0 runtime_tools-2.0 sasl-4.2.1 snmp-5.14 ssh-5.0 ssl-11.0 stdlib-5.0 syntax_tools-3.1 tftp-1.1 tools-3.6 wx-2.3 # debugger-5.3.1 edoc-1.2 eldap-1.2.11 eunit-2.8.2 xmerl-1.3.31 : +OTP-25.3.2.5 : inets-8.3.1.1 # asn1-5.0.21 common_test-1.24.0.1 compiler-8.2.6.3 crypto-5.1.4 debugger-5.3.1.1 dialyzer-5.0.5 diameter-2.2.7 edoc-1.2 eldap-1.2.11 erl_docgen-1.4 erl_interface-5.3.2 erts-13.2.2.2 et-1.6.5 eunit-2.8.2 ftp-1.1.4 jinterface-1.13.2 kernel-8.5.4.1 megaco-4.4.3 mnesia-4.21.4 observer-2.14 odbc-2.14 os_mon-2.8.2 parsetools-2.4.1 public_key-1.13.3 reltool-0.9.1 runtime_tools-1.19 sasl-4.2 snmp-5.13.5 ssh-4.15.3 ssl-10.9.1.1 stdlib-4.3.1.2 syntax_tools-3.0.1 tftp-1.0.4 tools-3.5.3 wx-2.2.2 xmerl-1.3.31.1 : +OTP-25.3.2.4 : common_test-1.24.0.1 # asn1-5.0.21 compiler-8.2.6.3 crypto-5.1.4 debugger-5.3.1.1 dialyzer-5.0.5 diameter-2.2.7 edoc-1.2 eldap-1.2.11 erl_docgen-1.4 erl_interface-5.3.2 erts-13.2.2.2 et-1.6.5 eunit-2.8.2 ftp-1.1.4 inets-8.3.1 jinterface-1.13.2 kernel-8.5.4.1 megaco-4.4.3 mnesia-4.21.4 observer-2.14 odbc-2.14 os_mon-2.8.2 parsetools-2.4.1 public_key-1.13.3 reltool-0.9.1 runtime_tools-1.19 sasl-4.2 snmp-5.13.5 ssh-4.15.3 ssl-10.9.1.1 stdlib-4.3.1.2 syntax_tools-3.0.1 tftp-1.0.4 tools-3.5.3 wx-2.2.2 xmerl-1.3.31.1 : +OTP-25.3.2.3 : compiler-8.2.6.3 debugger-5.3.1.1 erts-13.2.2.2 kernel-8.5.4.1 ssl-10.9.1.1 stdlib-4.3.1.2 # asn1-5.0.21 common_test-1.24 crypto-5.1.4 dialyzer-5.0.5 diameter-2.2.7 edoc-1.2 eldap-1.2.11 erl_docgen-1.4 erl_interface-5.3.2 et-1.6.5 eunit-2.8.2 ftp-1.1.4 inets-8.3.1 jinterface-1.13.2 megaco-4.4.3 mnesia-4.21.4 observer-2.14 odbc-2.14 os_mon-2.8.2 parsetools-2.4.1 public_key-1.13.3 reltool-0.9.1 runtime_tools-1.19 sasl-4.2 snmp-5.13.5 ssh-4.15.3 syntax_tools-3.0.1 tftp-1.0.4 tools-3.5.3 wx-2.2.2 xmerl-1.3.31.1 : +OTP-25.3.2.2 : compiler-8.2.6.2 # asn1-5.0.21 common_test-1.24 crypto-5.1.4 debugger-5.3.1 dialyzer-5.0.5 diameter-2.2.7 edoc-1.2 eldap-1.2.11 erl_docgen-1.4 erl_interface-5.3.2 erts-13.2.2.1 et-1.6.5 eunit-2.8.2 ftp-1.1.4 inets-8.3.1 jinterface-1.13.2 kernel-8.5.4 megaco-4.4.3 mnesia-4.21.4 observer-2.14 odbc-2.14 os_mon-2.8.2 parsetools-2.4.1 public_key-1.13.3 reltool-0.9.1 runtime_tools-1.19 sasl-4.2 snmp-5.13.5 ssh-4.15.3 ssl-10.9.1 stdlib-4.3.1.1 syntax_tools-3.0.1 tftp-1.0.4 tools-3.5.3 wx-2.2.2 xmerl-1.3.31.1 : +OTP-25.3.2.1 : compiler-8.2.6.1 erts-13.2.2.1 stdlib-4.3.1.1 xmerl-1.3.31.1 # asn1-5.0.21 common_test-1.24 crypto-5.1.4 debugger-5.3.1 dialyzer-5.0.5 diameter-2.2.7 edoc-1.2 eldap-1.2.11 erl_docgen-1.4 erl_interface-5.3.2 et-1.6.5 eunit-2.8.2 ftp-1.1.4 inets-8.3.1 jinterface-1.13.2 kernel-8.5.4 megaco-4.4.3 mnesia-4.21.4 observer-2.14 odbc-2.14 os_mon-2.8.2 parsetools-2.4.1 public_key-1.13.3 reltool-0.9.1 runtime_tools-1.19 sasl-4.2 snmp-5.13.5 ssh-4.15.3 ssl-10.9.1 syntax_tools-3.0.1 tftp-1.0.4 tools-3.5.3 wx-2.2.2 : OTP-25.3.2 : compiler-8.2.6 erts-13.2.2 os_mon-2.8.2 # asn1-5.0.21 common_test-1.24 crypto-5.1.4 debugger-5.3.1 dialyzer-5.0.5 diameter-2.2.7 edoc-1.2 eldap-1.2.11 erl_docgen-1.4 erl_interface-5.3.2 et-1.6.5 eunit-2.8.2 ftp-1.1.4 inets-8.3.1 jinterface-1.13.2 kernel-8.5.4 megaco-4.4.3 mnesia-4.21.4 observer-2.14 odbc-2.14 parsetools-2.4.1 public_key-1.13.3 reltool-0.9.1 runtime_tools-1.19 sasl-4.2 snmp-5.13.5 ssh-4.15.3 ssl-10.9.1 stdlib-4.3.1 syntax_tools-3.0.1 tftp-1.0.4 tools-3.5.3 wx-2.2.2 xmerl-1.3.31 : OTP-25.3.1 : compiler-8.2.5 crypto-5.1.4 eldap-1.2.11 erl_interface-5.3.2 erts-13.2.1 inets-8.3.1 snmp-5.13.5 ssl-10.9.1 stdlib-4.3.1 wx-2.2.2 # asn1-5.0.21 common_test-1.24 debugger-5.3.1 dialyzer-5.0.5 diameter-2.2.7 edoc-1.2 erl_docgen-1.4 et-1.6.5 eunit-2.8.2 ftp-1.1.4 jinterface-1.13.2 kernel-8.5.4 megaco-4.4.3 mnesia-4.21.4 observer-2.14 odbc-2.14 os_mon-2.8.1 parsetools-2.4.1 public_key-1.13.3 reltool-0.9.1 runtime_tools-1.19 sasl-4.2 ssh-4.15.3 syntax_tools-3.0.1 tftp-1.0.4 tools-3.5.3 xmerl-1.3.31 : OTP-25.3 : common_test-1.24 compiler-8.2.4 crypto-5.1.3 debugger-5.3.1 dialyzer-5.0.5 erl_interface-5.3.1 erts-13.2 eunit-2.8.2 ftp-1.1.4 inets-8.3 jinterface-1.13.2 kernel-8.5.4 megaco-4.4.3 mnesia-4.21.4 os_mon-2.8.1 public_key-1.13.3 reltool-0.9.1 snmp-5.13.4 ssh-4.15.3 ssl-10.9 stdlib-4.3 syntax_tools-3.0.1 tftp-1.0.4 xmerl-1.3.31 # asn1-5.0.21 diameter-2.2.7 edoc-1.2 eldap-1.2.10 erl_docgen-1.4 et-1.6.5 observer-2.14 odbc-2.14 parsetools-2.4.1 runtime_tools-1.19 sasl-4.2 tools-3.5.3 wx-2.2.1 : @@ -15,6 +22,8 @@ OTP-25.0.3 : erts-13.0.3 ssl-10.8.3 # asn1-5.0.19 common_test-1.23 compiler-8.2 OTP-25.0.2 : erts-13.0.2 ssl-10.8.2 # asn1-5.0.19 common_test-1.23 compiler-8.2 crypto-5.1.1 debugger-5.3 dialyzer-5.0.1 diameter-2.2.6 edoc-1.2 eldap-1.2.10 erl_docgen-1.3 erl_interface-5.3 et-1.6.5 eunit-2.7.1 ftp-1.1.1 inets-8.0 jinterface-1.13 kernel-8.4.1 megaco-4.4 mnesia-4.21.1 observer-2.12 odbc-2.14 os_mon-2.7.1 parsetools-2.4 public_key-1.13 reltool-0.9 runtime_tools-1.19 sasl-4.2 snmp-5.13 ssh-4.14.1 stdlib-4.0.1 syntax_tools-3.0 tftp-1.0.3 tools-3.5.3 wx-2.2 xmerl-1.3.29 : OTP-25.0.1 : crypto-5.1.1 dialyzer-5.0.1 erts-13.0.1 kernel-8.4.1 mnesia-4.21.1 ssh-4.14.1 ssl-10.8.1 stdlib-4.0.1 # asn1-5.0.19 common_test-1.23 compiler-8.2 debugger-5.3 diameter-2.2.6 edoc-1.2 eldap-1.2.10 erl_docgen-1.3 erl_interface-5.3 et-1.6.5 eunit-2.7.1 ftp-1.1.1 inets-8.0 jinterface-1.13 megaco-4.4 observer-2.12 odbc-2.14 os_mon-2.7.1 parsetools-2.4 public_key-1.13 reltool-0.9 runtime_tools-1.19 sasl-4.2 snmp-5.13 syntax_tools-3.0 tftp-1.0.3 tools-3.5.3 wx-2.2 xmerl-1.3.29 : OTP-25.0 : asn1-5.0.19 common_test-1.23 compiler-8.2 crypto-5.1 debugger-5.3 dialyzer-5.0 diameter-2.2.6 edoc-1.2 erl_docgen-1.3 erl_interface-5.3 erts-13.0 eunit-2.7.1 inets-8.0 jinterface-1.13 kernel-8.4 megaco-4.4 mnesia-4.21 observer-2.12 odbc-2.14 parsetools-2.4 public_key-1.13 runtime_tools-1.19 sasl-4.2 snmp-5.13 ssh-4.14 ssl-10.8 stdlib-4.0 syntax_tools-3.0 tools-3.5.3 wx-2.2 xmerl-1.3.29 # eldap-1.2.10 et-1.6.5 ftp-1.1.1 os_mon-2.7.1 reltool-0.9 tftp-1.0.3 : +OTP-24.3.4.13 : compiler-8.1.1.5 debugger-5.2.1.1 erts-12.3.2.13 ssh-4.13.2.3 ssl-10.7.3.8 stdlib-3.17.2.4 # asn1-5.0.18.1 common_test-1.22.1.1 crypto-5.0.6.3 dialyzer-4.4.4.1 diameter-2.2.5 edoc-1.1 eldap-1.2.10 erl_docgen-1.2.1 erl_interface-5.2.2 et-1.6.5 eunit-2.7 ftp-1.1.1 inets-7.5.3.4 jinterface-1.12.2 kernel-8.3.2.3 megaco-4.3 mnesia-4.20.4.2 observer-2.11.1 odbc-2.13.5 os_mon-2.7.1 parsetools-2.3.2 public_key-1.12.0.1 reltool-0.9 runtime_tools-1.18 sasl-4.1.2 snmp-5.12.0.3 syntax_tools-2.6 tftp-1.0.3 tools-3.5.2 wx-2.1.4 xmerl-1.3.28.1 : +OTP-24.3.4.12 : compiler-8.1.1.4 erts-12.3.2.12 stdlib-3.17.2.3 xmerl-1.3.28.1 # asn1-5.0.18.1 common_test-1.22.1.1 crypto-5.0.6.3 debugger-5.2.1 dialyzer-4.4.4.1 diameter-2.2.5 edoc-1.1 eldap-1.2.10 erl_docgen-1.2.1 erl_interface-5.2.2 et-1.6.5 eunit-2.7 ftp-1.1.1 inets-7.5.3.4 jinterface-1.12.2 kernel-8.3.2.3 megaco-4.3 mnesia-4.20.4.2 observer-2.11.1 odbc-2.13.5 os_mon-2.7.1 parsetools-2.3.2 public_key-1.12.0.1 reltool-0.9 runtime_tools-1.18 sasl-4.1.2 snmp-5.12.0.3 ssh-4.13.2.2 ssl-10.7.3.7 syntax_tools-2.6 tftp-1.0.3 tools-3.5.2 wx-2.1.4 : OTP-24.3.4.11 : erts-12.3.2.11 inets-7.5.3.4 ssl-10.7.3.7 # asn1-5.0.18.1 common_test-1.22.1.1 compiler-8.1.1.3 crypto-5.0.6.3 debugger-5.2.1 dialyzer-4.4.4.1 diameter-2.2.5 edoc-1.1 eldap-1.2.10 erl_docgen-1.2.1 erl_interface-5.2.2 et-1.6.5 eunit-2.7 ftp-1.1.1 jinterface-1.12.2 kernel-8.3.2.3 megaco-4.3 mnesia-4.20.4.2 observer-2.11.1 odbc-2.13.5 os_mon-2.7.1 parsetools-2.3.2 public_key-1.12.0.1 reltool-0.9 runtime_tools-1.18 sasl-4.1.2 snmp-5.12.0.3 ssh-4.13.2.2 stdlib-3.17.2.2 syntax_tools-2.6 tftp-1.0.3 tools-3.5.2 wx-2.1.4 xmerl-1.3.28 : OTP-24.3.4.10 : erts-12.3.2.10 inets-7.5.3.3 snmp-5.12.0.3 # asn1-5.0.18.1 common_test-1.22.1.1 compiler-8.1.1.3 crypto-5.0.6.3 debugger-5.2.1 dialyzer-4.4.4.1 diameter-2.2.5 edoc-1.1 eldap-1.2.10 erl_docgen-1.2.1 erl_interface-5.2.2 et-1.6.5 eunit-2.7 ftp-1.1.1 jinterface-1.12.2 kernel-8.3.2.3 megaco-4.3 mnesia-4.20.4.2 observer-2.11.1 odbc-2.13.5 os_mon-2.7.1 parsetools-2.3.2 public_key-1.12.0.1 reltool-0.9 runtime_tools-1.18 sasl-4.1.2 ssh-4.13.2.2 ssl-10.7.3.6 stdlib-3.17.2.2 syntax_tools-2.6 tftp-1.0.3 tools-3.5.2 wx-2.1.4 xmerl-1.3.28 : OTP-24.3.4.9 : compiler-8.1.1.3 erts-12.3.2.9 inets-7.5.3.2 ssh-4.13.2.2 ssl-10.7.3.6 # asn1-5.0.18.1 common_test-1.22.1.1 crypto-5.0.6.3 debugger-5.2.1 dialyzer-4.4.4.1 diameter-2.2.5 edoc-1.1 eldap-1.2.10 erl_docgen-1.2.1 erl_interface-5.2.2 et-1.6.5 eunit-2.7 ftp-1.1.1 jinterface-1.12.2 kernel-8.3.2.3 megaco-4.3 mnesia-4.20.4.2 observer-2.11.1 odbc-2.13.5 os_mon-2.7.1 parsetools-2.3.2 public_key-1.12.0.1 reltool-0.9 runtime_tools-1.18 sasl-4.1.2 snmp-5.12.0.2 stdlib-3.17.2.2 syntax_tools-2.6 tftp-1.0.3 tools-3.5.2 wx-2.1.4 xmerl-1.3.28 : @@ -49,6 +58,7 @@ OTP-24.0.3 : compiler-8.0.2 dialyzer-4.4.1 erts-12.0.3 inets-7.4.1 ssh-4.12.3 # OTP-24.0.2 : compiler-8.0.1 crypto-5.0.2 erl_docgen-1.1.1 erts-12.0.2 kernel-8.0.1 ssh-4.12.2 ssl-10.4.1 stdlib-3.15.1 # asn1-5.0.16 common_test-1.20.4 debugger-5.1 dialyzer-4.4 diameter-2.2.4 edoc-1.0 eldap-1.2.9 erl_interface-5.0.1 et-1.6.5 eunit-2.6.1 ftp-1.1 inets-7.4 jinterface-1.12 megaco-4.0.1 mnesia-4.19.1 observer-2.9.6 odbc-2.13.5 os_mon-2.7 parsetools-2.3 public_key-1.11 reltool-0.9 runtime_tools-1.16.2 sasl-4.1 snmp-5.9.1 syntax_tools-2.6 tftp-1.0.3 tools-3.5 wx-2.0.1 xmerl-1.3.28 : OTP-24.0.1 : common_test-1.20.4 crypto-5.0.1 erl_interface-5.0.1 erts-12.0.1 megaco-4.0.1 odbc-2.13.5 snmp-5.9.1 ssh-4.12.1 wx-2.0.1 # asn1-5.0.16 compiler-8.0 debugger-5.1 dialyzer-4.4 diameter-2.2.4 edoc-1.0 eldap-1.2.9 erl_docgen-1.1 et-1.6.5 eunit-2.6.1 ftp-1.1 inets-7.4 jinterface-1.12 kernel-8.0 mnesia-4.19.1 observer-2.9.6 os_mon-2.7 parsetools-2.3 public_key-1.11 reltool-0.9 runtime_tools-1.16.2 sasl-4.1 ssl-10.4 stdlib-3.15 syntax_tools-2.6 tftp-1.0.3 tools-3.5 xmerl-1.3.28 : OTP-24.0 : asn1-5.0.16 common_test-1.20.3 compiler-8.0 crypto-5.0 debugger-5.1 dialyzer-4.4 edoc-1.0 erl_docgen-1.1 erl_interface-5.0 erts-12.0 et-1.6.5 eunit-2.6.1 ftp-1.1 inets-7.4 jinterface-1.12 kernel-8.0 megaco-4.0 mnesia-4.19.1 observer-2.9.6 odbc-2.13.4 os_mon-2.7 parsetools-2.3 public_key-1.11 reltool-0.9 runtime_tools-1.16.2 sasl-4.1 snmp-5.9 ssh-4.12 ssl-10.4 stdlib-3.15 syntax_tools-2.6 tftp-1.0.3 tools-3.5 wx-2.0 xmerl-1.3.28 # diameter-2.2.4 eldap-1.2.9 : +OTP-23.3.4.19 : compiler-7.6.9.3 erts-11.2.2.18 stdlib-3.14.2.3 xmerl-1.3.27.1 # asn1-5.0.15.1 common_test-1.20.2.3 crypto-4.9.0.4 debugger-5.0 dialyzer-4.3.1.2 diameter-2.2.4 edoc-0.12 eldap-1.2.9 erl_docgen-1.0.2 erl_interface-4.0.3.1 et-1.6.4 eunit-2.6 ftp-1.0.5 hipe-4.0.1 inets-7.3.2.3 jinterface-1.11.1.1 kernel-7.3.1.7 megaco-3.19.5.1 mnesia-4.19 observer-2.9.5 odbc-2.13.3.1 os_mon-2.6.1 parsetools-2.2 public_key-1.10.0.1 reltool-0.8 runtime_tools-1.16.1 sasl-4.0.2 snmp-5.8.0.1 ssh-4.11.1.6 ssl-10.3.1.5 syntax_tools-2.5 tftp-1.0.2 tools-3.4.4 wx-1.9.3.1 : OTP-23.3.4.18 : dialyzer-4.3.1.2 erts-11.2.2.17 kernel-7.3.1.7 # asn1-5.0.15.1 common_test-1.20.2.3 compiler-7.6.9.2 crypto-4.9.0.4 debugger-5.0 diameter-2.2.4 edoc-0.12 eldap-1.2.9 erl_docgen-1.0.2 erl_interface-4.0.3.1 et-1.6.4 eunit-2.6 ftp-1.0.5 hipe-4.0.1 inets-7.3.2.3 jinterface-1.11.1.1 megaco-3.19.5.1 mnesia-4.19 observer-2.9.5 odbc-2.13.3.1 os_mon-2.6.1 parsetools-2.2 public_key-1.10.0.1 reltool-0.8 runtime_tools-1.16.1 sasl-4.0.2 snmp-5.8.0.1 ssh-4.11.1.6 ssl-10.3.1.5 stdlib-3.14.2.2 syntax_tools-2.5 tftp-1.0.2 tools-3.4.4 wx-1.9.3.1 xmerl-1.3.27 : OTP-23.3.4.17 : erts-11.2.2.16 inets-7.3.2.3 kernel-7.3.1.6 ssl-10.3.1.5 # asn1-5.0.15.1 common_test-1.20.2.3 compiler-7.6.9.2 crypto-4.9.0.4 debugger-5.0 dialyzer-4.3.1.1 diameter-2.2.4 edoc-0.12 eldap-1.2.9 erl_docgen-1.0.2 erl_interface-4.0.3.1 et-1.6.4 eunit-2.6 ftp-1.0.5 hipe-4.0.1 jinterface-1.11.1.1 megaco-3.19.5.1 mnesia-4.19 observer-2.9.5 odbc-2.13.3.1 os_mon-2.6.1 parsetools-2.2 public_key-1.10.0.1 reltool-0.8 runtime_tools-1.16.1 sasl-4.0.2 snmp-5.8.0.1 ssh-4.11.1.6 stdlib-3.14.2.2 syntax_tools-2.5 tftp-1.0.2 tools-3.4.4 wx-1.9.3.1 xmerl-1.3.27 : OTP-23.3.4.16 : crypto-4.9.0.4 erts-11.2.2.15 ssl-10.3.1.4 # asn1-5.0.15.1 common_test-1.20.2.3 compiler-7.6.9.2 debugger-5.0 dialyzer-4.3.1.1 diameter-2.2.4 edoc-0.12 eldap-1.2.9 erl_docgen-1.0.2 erl_interface-4.0.3.1 et-1.6.4 eunit-2.6 ftp-1.0.5 hipe-4.0.1 inets-7.3.2.2 jinterface-1.11.1.1 kernel-7.3.1.5 megaco-3.19.5.1 mnesia-4.19 observer-2.9.5 odbc-2.13.3.1 os_mon-2.6.1 parsetools-2.2 public_key-1.10.0.1 reltool-0.8 runtime_tools-1.16.1 sasl-4.0.2 snmp-5.8.0.1 ssh-4.11.1.6 stdlib-3.14.2.2 syntax_tools-2.5 tftp-1.0.2 tools-3.4.4 wx-1.9.3.1 xmerl-1.3.27 : diff --git a/scripts/otp_html_check b/scripts/otp_html_check index 3b9df7f8c646..7adb94dcd439 100755 --- a/scripts/otp_html_check +++ b/scripts/otp_html_check @@ -38,6 +38,7 @@ my @indexes = # The order to try URL expansion my $html_ext = 'shtml|html|htm'; # HTML pages ends in these my @links; # Set of [page,link] we want to check +my @external_links; # Set of [page,link] for external links my @exclude; # Pages/dir/prefix to exclude my %pages; # Set of all files found in the file system # limited by the script arguments. @@ -59,6 +60,11 @@ my %anchor_defs; # in the form "$page#$anchor" @ARGV or usage("No base directory given"); my $base = shift @ARGV; +my $print_external_links = 0; +if ($base eq "--print-external-links") { + $print_external_links = 1; + $base = shift @ARGV; +} -d $base or usage("Not a directory: $base"); $base =~ m&^/& or usage("Has to be absolute path: $base"); $base =~ s&/+$&&; # Remove ending slash if any @@ -276,7 +282,18 @@ sub normalize_link { $link = "$dir/$mod"; } - return $link if $link =~ /^\w{3,10}:/i; # mailto: http: ..... + # mailto: http: ..... + if ($link =~ /^\w{3,10}:/i) { + # Exclude "Edit on GitHub" links. These would make up + # the majority of the output and there's likely little + # value in checking them. + if (($print_external_links) + && ($link !~ /github\.com\/erlang\/otp/) + && ($link =~ /^http/)) { + push(@external_links, [$page, $link]); + } + return $link; + } $link =~ s/%([\da-fA-F]{2})/chr(hex($1))/eg; # Translate hex to char @@ -407,6 +424,18 @@ if (keys %anchor_refs) { } } +if ($print_external_links) { + print "\n**** External links (excluding github.com/erlang/otp)\n\n"; + + while (@external_links) { + my $page_and_link = shift @external_links; + my ($page, $link) = @$page_and_link; + if ($link =~ /^\w{3,10}:/i) { + print "$page -> $link\n"; + } + } +} + if (keys %missing || keys %anchor_refs) { exit 1; } @@ -417,7 +446,7 @@ if (keys %missing || keys %anchor_refs) { sub usage { print STDERR "ERROR: ",join("\n",@_),"\n" if @_; print < /dev/null 2>&1 then - red_on + error_color echo "$0 says:" echo "***" echo "*** The top of '$branch' at '$remote' ($remote_sha)" echo "*** does not exist locally!!!" echo "*** You probably need to refresh local '$branch' and redo merge." echo "***" - red_off + reset_color exit 1 fi if ! git merge-base --is-ancestor $remote_sha $local_sha then - red_on + error_color echo "$0 says:" echo "***" echo "*** FORCE push branch to '$remote' NOT ALLOWED!!!" echo "***" - red_off + reset_color exit 1 fi if [ $remote_ref != refs/heads/master -a "$MASTER_ONLY" ] && git merge-base --is-ancestor $MASTER_ONLY $local_sha @@ -145,16 +151,16 @@ then THIS_SCRIPT=`realpath $THIS_SCRIPT` if git show refs/remotes/$remote/master:scripts/pre-push | diff -q --context=0 $THIS_SCRIPT - > /dev/null 2>&1 then - red_on + error_color echo "$0 says:" echo "***" echo "*** INVALID MERGE: Commit $MASTER_ONLY should not be reachable from '$branch'!!!!" echo "*** You have probably merged master into '$branch' by mistake" echo "***" - red_off + reset_color exit 1 else - red_on + error_color echo "$0 says:" echo "***" echo "*** The pre-push hook of this OTP repo needs updating." @@ -164,19 +170,19 @@ then echo "***" echo "*** And then retry the push." echo "***" - red_off + reset_color exit 1 fi fi if [ ${remote_ref#refs/heads/maint-} != $remote_ref ] && git merge-base --is-ancestor refs/remotes/$remote/maint $local_sha then - red_on + error_color echo "$0 says:" echo "***" echo "*** INVALID MERGE: Branch maint should not be reachable from '$branch'!!!!" echo "*** You have probably merged maint into '$branch' by mistake." echo "***" - red_off + reset_color exit 1 fi if [ $remote_ref = refs/heads/maint -o $remote_ref = refs/heads/master ]; then @@ -192,37 +198,56 @@ then fi if [ $remote_ref = refs/heads/master ] && ! git merge-base --is-ancestor refs/remotes/$remote/maint $local_sha then - red_on + error_color echo "$0 says:" echo "***" echo "*** INVALID PUSH: Branch '$remote/maint' is not reachable from master!!!!" echo "*** Someone needs to merge maint forward to master and push." echo "***" - red_off + reset_color exit 1 fi NCOMMITS=`git rev-list --count $remote_sha..$local_sha` if [ $NCOMMITS -gt $NCOMMITS_MAX ] then - red_on + error_color echo "$0 says:" echo "***" echo "*** HUGE push: $NCOMMITS commits (> $NCOMMITS_MAX) to '$branch' at '$remote' NOT ALLOWED!!!!" echo "***" - red_off + reset_color exit 1 fi - NFILES=`git diff --name-only $remote_sha $local_sha | wc --lines` + NFILES=`git diff --name-only $remote_sha $local_sha | wc -l` if [ $NFILES -gt $NFILES_MAX ] then - red_on + error_color echo "$0 says:" echo "***" echo "*** HUGE push: $NFILES changed files (> $NFILES_MAX) to '$branch' at '$remote' NOT ALLOWED!!!!" echo "***" - red_off + reset_color exit 1 fi + + # Check for fixup! commits + FIXUPS=`git log --format='format:%h: %s' $remote_sha..$local_sha | grep -E '^\w+: fixup!'` + if [ -n "$FIXUPS" ] + then + error_color + echo "$0 says:" + echo "***" + echo "*** \"fixup!\" commit found: NOT ALLOWED!!!!" + echo "***" + notice_color + cat <Each Instructions is a list of release handling instructions.
-

For information about the syntax and contents of the .appup - file, see the appup(4) manual page in SASL.

+

UpFromVsn and DownToVsn can also be specified as regular + expressions. For more information about the syntax and contents of the + .appup file, see the appup(4) + manual page in SASL.

Appup Cookbook includes examples of .appup files for typical upgrade/downgrade cases.

diff --git a/system/doc/efficiency_guide/advanced.xml b/system/doc/efficiency_guide/advanced.xml index 7fdb15441278..33d66b195e59 100644 --- a/system/doc/efficiency_guide/advanced.xml +++ b/system/doc/efficiency_guide/advanced.xml @@ -155,7 +155,7 @@ Processes The maximum number of simultaneously alive Erlang processes - is by default 262,144. This limit can be configured at startup. + is by default 1,048,576. This limit can be configured at startup. For more information, see the +P command-line flag in the diff --git a/system/doc/efficiency_guide/profiling.xml b/system/doc/efficiency_guide/profiling.xml index 68f5ce1f71d9..716614464ada 100644 --- a/system/doc/efficiency_guide/profiling.xml +++ b/system/doc/efficiency_guide/profiling.xml @@ -85,6 +85,19 @@ is a collection of Erlang profiling and debugging tools. This tool comes with an accompanying E-book called Erlang in Anger.
+ +

perf + is a sampling profiler for Linux that provides functionality similar + to fprof but with much lower overhead. Profiling Erlang code + is possible when the emulator has been started with the + +JPperf true emulator flag, and is only available when the JIT + is enabled. +

+

For more details about how to run perf see the + perf support + section in the BeamAsm internal documentation. +

+
diff --git a/system/doc/embedded/embedded_solaris.xml b/system/doc/embedded/embedded_solaris.xml index eaa334fb39a3..2c34a8f6570f 100644 --- a/system/doc/embedded/embedded_solaris.xml +++ b/system/doc/embedded/embedded_solaris.xml @@ -163,7 +163,7 @@ esac

File /export/home/otpuser/otp/bin/start referred to in the above script is precisely the start script described in Starting Erlang. The - script variable OTP_ROOT in that start script + script variable $OTPROOT in that start script corresponds to the following example path used in this section:

@@ -313,7 +313,7 @@ chmod 644 /etc/syslog.conf.OTP
 	      /priv/bin/mod_syslog. The generic full name
 	      of the binary executable file is thus:

/lib/os_mon-/priv/bin/mod_syslog]]> +<$OTPROOT>/lib/os_mon-/priv/bin/mod_syslog]]>

Example: If the path to otp-root is /usr/otp, then the path to the os_mon application is /usr/otp/lib/os_mon-1.0 @@ -327,7 +327,7 @@ chmod 644 /etc/syslog.conf.OTP

A simple way to do this is to issue the following commands:

/lib/os_mon-/priv/bin/mod_syslog +cd <$OTPROOT>/lib/os_mon-/priv/bin/mod_syslog chmod 4755 mod_syslog chown root mod_syslog]]> @@ -350,7 +350,7 @@ chown root mod_syslog]]> /ebin/os_mon.app.

The generic full name of the file is thus:

/lib/os_mon-/ebin/os_mon.app.]]> +<$OTPROOT>/lib/os_mon-/ebin/os_mon.app.]]>

Example: If the path to otp-root is /usr/otp, then the path to the os_mon application is /usr/otp/lib/os_mon-1.0 (assuming revision 1.0) and diff --git a/system/doc/embedded/target.xml b/system/doc/embedded/target.xml index 754269aa2fdb..9728f6d59f49 100644 --- a/system/doc/embedded/target.xml +++ b/system/doc/embedded/target.xml @@ -149,7 +149,7 @@ esac

The file /export/home/otpuser/otp/bin/start referred to in the above script, is precisely the script start described in the next chapter of this guide, Starting an Embedded System. The script - variable OTP_ROOT in that start script corresponds to + variable $OTPROOT in that start script corresponds to the example path

 /export/home/otpuser/otp    
@@ -316,7 +316,7 @@ TERM=sun /priv/bin/mod_syslog. The generic full name of the binary executable file is thus

/lib/os_mon-/priv/bin/mod_syslog ]]> + <$OTPROOT>/lib/os_mon-/priv/bin/mod_syslog ]]>

Example: If the path to the otp-root is /usr/otp, thus the path to the os_mon application is /usr/otp/lib/os_mon-1.0 (assuming revision 1.0) and the full name @@ -331,7 +331,7 @@ TERM=sun

A simple way to do this is to issue the commands

/lib/os_mon-/priv/bin/mod_syslog + cd <$OTPROOT>/lib/os_mon-/priv/bin/mod_syslog chmod 4755 mod_syslog chown root mod_syslog ]]> @@ -355,7 +355,7 @@ TERM=sun /ebin/os_mon.app.

The generic full name of the file is thus

/lib/os_mon-/ebin/os_mon.app. ]]> + <$OTPROOT>/lib/os_mon-/ebin/os_mon.app. ]]>

Example: If the path to the otp-root is /usr/otp, thus the path to the os_mon application is /usr/otp/lib/os_mon-1.0 (assuming revision 1.0) and the full name of the binary executable file is /usr/otp/lib/os_mon-1.0/ebin/os_mon.app.

diff --git a/system/doc/general_info/upcoming_incompatibilities.xml b/system/doc/general_info/upcoming_incompatibilities.xml index 8538067b577d..0bf9baa16f57 100644 --- a/system/doc/general_info/upcoming_incompatibilities.xml +++ b/system/doc/general_info/upcoming_incompatibilities.xml @@ -179,6 +179,47 @@ t.erl:6:18: Warning: type variable 'Unknown' is only used once (is unbound)

In OTP 27, that warning will become an error.

+
+ + Escripts will be compiled by default + +

Escripts will be compiled by default instead of interpreted. + That means that the compiler application must be available.

+ +

The old behavior of interpreting escripts can be restored by adding + the following line to the script file:

+
+-mode(interpret).
+ +

In OTP 28, support for interpreting an escript will be removed.

+
+ +
+ -code_path_choice will default to strict +

+ This command line option controls if paths given in the command + line, boot scripts, and the code server should be interpreted as + is strict or relaxed. +

+

+ OTP 26 and earlier defaults to relaxed, which means + -pa myapp/ebin would attempt to load -pa myapp/ebin + and -pa myapp/myapp/ebin. The option will default to + strict in OTP 27. +

+
+ +
+ Archive fallbacks will be removed +

+ OTP 26 and earlier allows an application to have part of its + directories as regular folders and others as archives. + This functionality was previously used by reltool but it is + no longer the case from OTP 26. Support for archive fallbacks + will be removed from the code server in OTP 27. +

+
+
@@ -194,6 +235,15 @@ t.erl:6:18: Warning: type variable 'Unknown' is only used once (is unbound) erlang:fun_info/2 will no longer accept pid as the second argument.

+ +
+ + Support for interpreting escripts will be removed + +

Escripts will be compiled, and it will no longer be possible + to force an escript to be interpreted by using the directive + -mode(interpret).

+
diff --git a/system/doc/installation_guide/install-binary.xml b/system/doc/installation_guide/install-binary.xml index b070c0263363..0812740f18bd 100644 --- a/system/doc/installation_guide/install-binary.xml +++ b/system/doc/installation_guide/install-binary.xml @@ -35,7 +35,8 @@
Windows

The system is delivered as a Windows Installer executable. - Get it from http://www.erlang.org/download.html

+ Get it from + https://erlang.org/downloads.

Installing diff --git a/system/doc/reference_manual/data_types.xml b/system/doc/reference_manual/data_types.xml index 6cbf864a799a..4b58c6a5ca81 100644 --- a/system/doc/reference_manual/data_types.xml +++ b/system/doc/reference_manual/data_types.xml @@ -132,6 +132,9 @@ exactly as floats.

then you should use a library that handles that or work in cents instead of euros so that you do not need decimal fractions.

+

Please also note that Erlang's floats do not exactly match IEEE 754 floats, in that neither Inf nor NaN are supported in Erlang. + Any operation that would result in NaN, +Inf, or -Inf, will instead raise a badarith exception. +

@@ -568,4 +571,3 @@ hello 7.0
- diff --git a/system/doc/reference_manual/distributed.xml b/system/doc/reference_manual/distributed.xml index d4cb47dd0d7e..ceb6e4c6a114 100644 --- a/system/doc/reference_manual/distributed.xml +++ b/system/doc/reference_manual/distributed.xml @@ -235,7 +235,7 @@ dilbert@uab user's home directory and then in filename:basedir(user_config, "erlang"). - If none of the files exist, a .erlang.cooke file is created + If none of the files exist, a .erlang.cookie file is created in the user's home directory. The UNIX permissions mode of the file is set to octal 400 (read-only by user) and its content is a random string. An diff --git a/system/doc/reference_manual/expressions.xml b/system/doc/reference_manual/expressions.xml index 6b3ba96b6b13..0d1fb61d17a3 100644 --- a/system/doc/reference_manual/expressions.xml +++ b/system/doc/reference_manual/expressions.xml @@ -566,7 +566,7 @@ end]]>

Finally, let us assume that a() returns -1. Because true = A >= 0 uses the match operator - `=`, a {badmatch,false} run-time error occurs when the + =, a {badmatch,false} run-time error occurs when the expression fails to match the pattern.

The example can be written in a less succient way using nested diff --git a/system/doc/reference_manual/typespec.xml b/system/doc/reference_manual/typespec.xml index 8f3ba3b25a22..9116f9282825 100644 --- a/system/doc/reference_manual/typespec.xml +++ b/system/doc/reference_manual/typespec.xml @@ -91,14 +91,14 @@

To facilitate - gradual typing of Erlang, the type `dynamic()` is provided. + gradual typing of Erlang, the type dynamic() is provided. It is similar to Any in Python, any in TypeScript and dynamic - in Hack. `any()` and `dynamic()` interact with + in Hack. any() and dynamic() interact with success typing the same way, so Dialyzer doesn't distinguish between them.

diff --git a/system/doc/system_principles/upgrade.xml b/system/doc/system_principles/upgrade.xml index 67b58f45ba57..0af934221fde 100644 --- a/system/doc/system_principles/upgrade.xml +++ b/system/doc/system_principles/upgrade.xml @@ -92,7 +92,7 @@
Applications that Still do Not Allow Code Upgrade -

A few applications, such as HiPE, do not support upgrade. +

A few applications, such as erl_interface, do not support upgrade. This is indicated by an application upgrade file containing only {Vsn,[],[]}. Any attempt at creating a release upgrade file with such input fails. The only way to force an upgrade involving diff --git a/system/doc/tutorial/cnode.xmlsrc b/system/doc/tutorial/cnode.xmlsrc index 0db4b791b5bc..aa11390ae772 100644 --- a/system/doc/tutorial/cnode.xmlsrc +++ b/system/doc/tutorial/cnode.xmlsrc @@ -236,13 +236,13 @@ unix> gcc -o cclient \\ -lerl_interface -lei -lsocket -lnsl

In Erlang/OTP R5B and later versions of OTP, the include and lib directories are situated under - OTPROOT/lib/erl_interface-VSN, where OTPROOT is + $OTPROOT/lib/erl_interface-VSN, where $OTPROOT is the root directory of the OTP installation (/usr/local/otp in the recent example) and VSN is the version of the Erl_Interface application (3.2.1 in the recent example).

In R4B and earlier versions of OTP, include and - lib are situated under OTPROOT/usr.

+ lib are situated under $OTPROOT/usr.

Step 2. Compile the Erlang code:

 unix> erl -compile complex3 complex4
diff --git a/system/doc/tutorial/complex6.erl b/system/doc/tutorial/complex6.erl index 05aa8e68f1b6..19e10dc01e47 100644 --- a/system/doc/tutorial/complex6.erl +++ b/system/doc/tutorial/complex6.erl @@ -7,6 +7,6 @@ init() -> ok = erlang:load_nif("./complex6_nif", 0). foo(_X) -> - exit(nif_library_not_loaded). + erlang:nif_error(nif_library_not_loaded). bar(_Y) -> - exit(nif_library_not_loaded). + erlang:nif_error(nif_library_not_loaded). diff --git a/system/doc/tutorial/debugging.xml b/system/doc/tutorial/debugging.xml index 4439bc6d193e..27248504a2ea 100644 --- a/system/doc/tutorial/debugging.xml +++ b/system/doc/tutorial/debugging.xml @@ -49,9 +49,27 @@ have indicated which specific buggy NIF/driver that caused the corruption may be long gone.

+

+ Another kind of bugs that are hard to find are memory leaks. They + may go unnoticed and not cause problem until a deployed system has been + running for a long time. +

+

+ The following sections describe tools that make it easier to both detect + and find the root cause of bugs like this. These tools are actively + used during development, testing and troubleshooting of the Erlang runtime + system itself. +

+ + Debug emulator + Address Sanitizer + Valgrind + rr - Record and Replay +
- The debug emulator + + Debug emulator

One way to make debugging easier is to run an emulator built with target debug. It will @@ -143,6 +161,7 @@ or

+ Address Sanitizer

@@ -218,6 +237,7 @@ Eshell V13.0.2 (abort with ^G)

+ Valgrind

An even more heavy weight debugging tool is

+ rr - Record and Replay

Last but not least, the fantastic interactive debugging tool gcc -o extprg -I/usr/local/otp/lib/erl_interface-3.9.2/include \ complex.c erl_comm.c ei.c -lei -lpthread

In Erlang/OTP R5B and later versions of OTP, the include and lib directories are situated under - OTPROOT/lib/erl_interface-VSN, where OTPROOT is + $OTPROOT/lib/erl_interface-VSN, where $OTPROOT is the root directory of the OTP installation (/usr/local/otp in the recent example) and VSN is the version of the Erl_interface application (3.2.1 in the recent example).

In R4B and earlier versions of OTP, include and lib - are situated under OTPROOT/usr.

+ are situated under $OTPROOT/usr.

Step 2. Start Erlang and compile the Erlang code:

 unix> erl